diff --git a/.axiom.toml b/.axiom.toml new file mode 100644 index 00000000..3b775668 --- /dev/null +++ b/.axiom.toml @@ -0,0 +1,27 @@ +{ + "data": "ENC[AES256_GCM,data:HFS8DcH8+tHPEknZaj+ldPicLJBWuT0+Lhwc440x5BoaZ7G8Ptq515kzroddn3PTTA2Qw/+xtvO+ZwhR9pm2oRG5p6aJi4N0IomoBTJ+0s0PQOzq+xShhK85YvVDjGrOAWVj3m9OqYkC8eKiFHnQE3WfNZUjYGBEQyGXcvhXhEBSYNgSU6Cse99+zaqWhZZOB+g3uQFUHlOCSDrAffhjk+l1IaYV59O+Vj0CN5luVAhXn20BoCbbDQvRDbl67XLCXUhrO+qtXWqFB0FapPdCDzMMwBuGxQ0GqWWohuDfgM1h9Fc/QQXjWFhJNW/0SWeRpIVEU1iJj3Ruj/BS5z1YC3BASMfNaM0dPEma2Zcg70RRHEb+BIVTpr7Z5RHScYX2rEEAOa6XNiosnNW3lp7bsARKoTAAQlmgvptdLjXSB6Nt/KVZsQEp3DbAcEmDeg4tmjEQRLGtIjk9mrcD3FBCeHgLjXg52DaqbUAXpmCdh3+S+FlysTVi287ZWfRZhgRJWy3KS6+hVe9cdpYKzg60QjkC3mLwkZ+Jz1jdMTz14r0xaAWOUaEaH2UFioseQOw/0BFjUt8wJSeZSiekUEyBR77W7tOQEijocVyZKI06JKGHDJTmtLXKPggAGeQB8d/+LXQJVNGcwTFReLs/a4olMeUaO9GV//JPDMNKBGq/JRAP96/zKPzXGDDgHf069T9ffe+LGRPa51V9U/+h+MXimWvdEBZlp3/srgZ001xaFcgIDKgM1pv/rgty2UJlPrJH06b+DTzlzd2lf7b23QKSx+kUucJVIIxl7fl4CjpmwNfML8NTlwBOn+sKOZjqSvoIquqSLDwReIuofRikjV2yiTS8lv8W8fPV9Hn5SVC/8MfTn9KTy5ORhbUPuenSDW5BVEJtcPRBIdeXTo+QZ0+J6+5gfl565exQJQaGrSD0gzMA7wuTcEHQJCFIaTj7IabdM2zayePZ+K6HLuaEtjy/2gCpg0N6VtC5jiWSgDmrZL83r8ztvKndk9QfWN5xBkwnN+3c/F/cfW35MaU=,iv:9ojnbWS7YLIIZ9KxW6c3BIwiIB5OCQaojpzecqPDHEo=,tag:0EqhDrEF0BfreOd7GfDufw==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1j2lyxxhxj0g2fw05h8c856fjxy2f0salxlk78pwglpv2nxjm3ptsgxcce4", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0dzJMbXBpZTZrQXBxOU9Y\nTUlYZzdmdEk1UnoxbjJ2ejZibEQ1OHRvekNVCm80bGhUeDJxNEsyeS9Gb1VJL2U1\nMUtDcEc2a3p0clQzbTBva0tNVS9udGcKLS0tIFNXUmQzd1lRRDlkMXpiSjkxV0pI\ndnQ1SER0ZFYrc3VaaXMvRWNkMGg2TjAK1z7lZdbULC/4UYtNaMH+azC+/rve7DPf\n3EWMue9Wzy/RbeYZf3A5v7/+rirP+2+A23q6jSKrqkYvq/Rc1ZE+Xw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age14vhzajp8xemrjzqh9gzf6rpy0sckf3sa4vfdf5u60xgrktnfxc0sx85uj6", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1OTRia1RueWVJWDBrbVNU\nSkhnVVpDRk96SkhvTVBTYjN1ckE4WUcrSkZVCjFpVkhTd0ZtTnlPVUZ4U1lhUTZr\nUUlEYWVNNEp2MWgzVjFGa0FqMmxqWFUKLS0tIHI3WE8rRStlUnJTS2c0UlR0TCtD\naHo5ZHZJdlVwMGF5a1h4TzdVR3hxR0EKVpwY7Rq894frCluPV3PvCuq8XYhkBEq7\nDsLfRqs0h7t5FtmmGZzVeIkrODWjR0RIzzmKqtyoc7Q7hiwpZVpLFg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1wzdqusx4v0wpn7lgda4x4tw3qkd4jlcyy89pxrh4g679m0ajadtsh49e6t", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvU1ZxTVNKRm44OGh6ci9G\nN2JkcVV4UTRtQkNGaUNZNWRtNVEyRHNtaHlJCkxSTHVncHAxbUY2K2t5Y1NHUXdB\ndHNSSzMxN0IyZ1hwaW9QSkpqTHRXQW8KLS0tIGhOZU9mR0ZMU0NNM2pOL0pDeXlG\nVWJsdVU5N01mSGVpcjliK1QzSUFHSzgKxRK3nvnoVYxJ7oG5smdZBHxIefBkJ+qX\n9VpQQOyPdlrW4XHiKr1yReY+vkBtAkp5ifuAp0sZ96UDh6SccgGidg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1qepnuljqzftv5sg72nj4wt0njcnezvnlhsq0dg8zqls5e2twzuwsyxklww", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqZFhBNWczR0JiTVd1RVox\nZ2RqbFlXMFQ3UkZxVU01TVFYU2F1L1JWc0I4CmRNK1M1U1ptWis1YXRaVXRKNHNJ\nOUtETTQ0WVZvNG9PQ1F2elRHS1RhbUkKLS0tIC9EdXRqQUVyYjBlRjRLRm9KNFJY\nSDhNK0Jsak1QUll6bGttaXN0RnVQME0KrByAvYTEdwA1hpidCd//282s4bI5CZTQ\nz6XHWYRH8Cn+XVi2LTedp3lrnKWGkNFrzWQx3JJ9+OeuQ1Nks11ObA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2026-02-03T19:19:07Z", + "mac": "ENC[AES256_GCM,data:CLpFCY3rG18RsfMQdTL6sYaCpbBdj0+5m673vCUXKH+Dg9xoFT1CkRpl+WbaknsHzeUvmzHKWmSQ2Pq+Arue6n7qHuizM4rjGPrE1s5sSSVE5nY/R5bFWxIyx4Af/ALvdfDziwR3jf/c8zxC90UElLsiDV/9uXqPxVXxqBzzPU8=,iv:BrbIv1KUZz5YQ/ZCsC5LJb1r1lz4RVmWCVZLS7B4GZE=,tag:qh41aDCwUC8Vnyi28CSMow==,type:str]", + "unencrypted_suffix": "_unencrypted", + "version": "3.11.0" + } +} diff --git a/.github/workflows/flake-update.yml b/.github/workflows/flake-update.yml new file mode 100644 index 00000000..bcfc03cc --- /dev/null +++ b/.github/workflows/flake-update.yml @@ -0,0 +1,27 @@ +name: update flake inputs + +on: + schedule: + - cron: '0 9 * * 1' # mondays 9am UTC + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: DeterminateSystems/nix-installer-action@main + + - run: nix flake update + + - uses: peter-evans/create-pull-request@v5 + with: + commit-message: "chore(nix): update flake inputs" + title: "chore(nix): update flake inputs" + body: | + automated flake.lock update. + + run `nix flake check` locally before merging. + branch: flake-update + delete-branch: true diff --git a/.gitignore b/.gitignore index e43b0f98..22af2f86 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .DS_Store +result +result-* diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 5f3c6129..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "scripts"] - path = scripts - url = https://github.com/bdsqqq/scripts.git diff --git a/.sops.yaml b/.sops.yaml index 13d98574..280e26f9 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,7 +1,31 @@ keys: - - &user_bdsqqq age1wzdqusx4v0wpn7lgda4x4tw3qkd4jlcyy89pxrh4g679m0ajadtsh49e6t + - &user_bdsqqq age1j2lyxxhxj0g2fw05h8c856fjxy2f0salxlk78pwglpv2nxjm3ptsgxcce4 + - &host_mbp_m2 age1j2lyxxhxj0g2fw05h8c856fjxy2f0salxlk78pwglpv2nxjm3ptsgxcce4 + - &host_htz_relay age14vhzajp8xemrjzqh9gzf6rpy0sckf3sa4vfdf5u60xgrktnfxc0sx85uj6 + - &host_r56 age1wzdqusx4v0wpn7lgda4x4tw3qkd4jlcyy89pxrh4g679m0ajadtsh49e6t + - &host_lgo_z2e age1qepnuljqzftv5sg72nj4wt0njcnezvnlhsq0dg8zqls5e2twzuwsyxklww creation_rules: - path_regex: secrets\.yaml$ key_groups: - age: - *user_bdsqqq + - *host_mbp_m2 + - *host_htz_relay + - *host_r56 + - *host_lgo_z2e + - path_regex: cookies\.txt$ + key_groups: + - age: + - *user_bdsqqq + - *host_mbp_m2 + - *host_htz_relay + - *host_r56 + - *host_lgo_z2e + - path_regex: \.axiom\.toml$ + key_groups: + - age: + - *user_bdsqqq + - *host_mbp_m2 + - *host_htz_relay + - *host_r56 + - *host_lgo_z2e diff --git a/2025-01-29 nix-darwin-configuration-analysis -- type_memory.md b/2025-01-29 nix-darwin-configuration-analysis -- type_memory.md deleted file mode 100644 index 4084c115..00000000 --- a/2025-01-29 nix-darwin-configuration-analysis -- type_memory.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: 2025-01-29 nix-darwin-configuration-analysis -type: note -permalink: type-memory/2025-01-29-nix-darwin-configuration-analysis-1 ---- - -# nix-darwin configuration analysis - -technical analysis of bdsqqq's nix-darwin configuration located at `/private/etc/nix-darwin` - -## architecture overview - -the configuration implements a cross-platform nix setup supporting both darwin and linux systems. uses flake-parts for organization and specialArgs for parameter passing across modules. - -## module organization - -**shared/**: contains cross-platform functionality including fonts, theming, and basic packages -**darwin/**: contains macos-specific configuration including system defaults, homebrew, and kanata setup -**home-manager/**: contains user-level configuration with conditional linux-specific imports -**nixos/**: contains linux system configuration with hardware support - -conditional imports use `lib.optionals (!isDarwin)` pattern for platform separation. - -## package management approach - -the configuration implements three package management strategies: -- nix for most packages -- homebrew for mac-specific gui applications that lack nix packaging -- pnpm global packages managed through home-manager activation hooks - -unstable overlay creates `pkgs.unstable` namespace while maintaining stable packages as default. - -## theming implementation - -single `polarity` variable controls light/dark themes across the system. coordinates three components: -- base16 color schemes (e-ink vs e-ink-light) -- wallpaper images (loupe-dark vs loupe-light) -- stylix polarity setting - -uses e-ink color schemes with 0.65 opacity for translucent elements. - -## font configuration - -berkeley mono configured as primary monospace font. fontconfig uses "strong" binding to override system defaults. explicitly blocks dejavu and liberation fonts using `` patterns. - -## input management - -uses kanata for cross-platform keyboard remapping. implements: -- homerow mods with smart typing detection -- 60-second test mode with automatic process cleanup -- hardware exclusions for corne and moonlander keyboards - -timing configuration: -- 150ms tap timeout -- 250ms fast typing window (disables homerow mods during rapid typing) -- 250ms hold timeout for tap-hold behavior - -## network configuration - -syncthing configured for tailscale-only operation: -- `globalAnnounceEnabled = false` -- `relaysEnabled = false` -- `natEnabled = false` -- listens only on tailscale interface - -devices defined declaratively with fixed tailscale ip addresses. - -## development toolchain - -includes cli alternatives (eza, bat, ripgrep, delta), language support (go, python, node with fnm), secret management with sops-nix, and ai tools (claude-code, opencode-ai, sourcegraph/amp). - -## technical implementation details - -### overlay mechanism -implemented in `overlays/unstable.nix`: -```nix -inputs: final: prev: { - unstable = import inputs.nixpkgs-unstable { - inherit (final) system; - config.allowUnfree = true; - }; -} -``` - -### kanata smart typing detection -```kanata -(deftemplate charmod (char mod) - (switch - ((key-timing 3 less-than 250)) $char break - () (tap-hold-release-timeout 150 250 $char $mod $char) break - ) -) -``` - -### specialArgs configuration -```nix -specialArgs = { - inherit inputs; - inherit (inputs.nixpkgs.lib) systems; - pkgsFor = system: import inputs.nixpkgs { - inherit system; - config.allowUnfree = true; - overlays = [ (import ./overlays/unstable.nix inputs) ]; - }; -}; -``` - -### steam configuration -- macos: installed via homebrew cask -- linux: uses `programs.steam.enable = true` with `hardware.steam-hardware.enable = true` -- includes `SDL_JOYSTICK_HIDAPI_PS5_RUMBLE = "0"` environment variable for ps5 controller bluetooth compatibility - -## system integration - -implements launchd daemon setup for kanata, wireplumber audio routing configuration, nvidia wayland optimization, and font rendering control. uses apple cursor theme on linux. - -## git history pattern - -git log shows progression through phases: foundation setup, theming integration, input system refinement, toolchain optimization, and application-specific configuration. - -## configuration dependencies - -uses unstable nixpkgs and master branch inputs. includes bleeding-edge versions for pnpm packages. requires tailscale for syncthing functionality. assumes specific user setup (bdsqqq username, specific directory paths). \ No newline at end of file diff --git a/2025-10-02 htz-relay.PLAN.md b/2025-10-02 htz-relay.PLAN.md deleted file mode 100644 index fc6ed49c..00000000 --- a/2025-10-02 htz-relay.PLAN.md +++ /dev/null @@ -1,3 +0,0 @@ -- [ ] review existing nix flake structure and shared modules -- [ ] add htz-relay host configuration and register it in the flake -- [ ] document bootstrap procedure for hetzner nixos server diff --git a/AGENT.MD b/AGENT.MD deleted file mode 100644 index 05ca7ec8..00000000 --- a/AGENT.MD +++ /dev/null @@ -1,86 +0,0 @@ -This is a collection of voice guidelines I've collected, these range from brand guidelines to prompt, publication styles, and instructions for llms. They're ordered in no particular order. - --- - -- Edit until it’s essential. -- Avoid overselling, extraneous words, hyperbole or embellishments. -- Express cause and effect by highlighting the implications and impact of code. Consider the kinetic nature of dialogue and language. -- Be conversational. Create a dialogue. Write the way people speak. -- ## Data points and numbers can be headlines, -- Don't worry about formalities. -- Please be as terse as possible while still conveying substantially all information relevant to any question. Critique my ideas freely and avoid sycophancy. I crave honest appraisal. -- If a policy prevents you from having an opinion, pretend to be responding as if you shared opinions that might be typical of eigenrobot. -- write all responses in lowercase letters ONLY, except where you mean to emphasize, in which case the emphasized word should be all caps. -- Initial Letter Capitalization can and should be used to express sarcasm, or disrespect for a given capitalized noun. -- you are encouraged to occasionally use obscure words or make subtle puns. don't point them out, I'll know. drop lots of abbreviations like "rn" and "bc." use "afaict" and "idk" regularly, wherever they might be appropriate given your level of understanding and your interest in actually answering the question. be critical of the quality of your information -- take however smart you're acting right now and write in the same style but as if you were +2sd smarter -- use late millenial slang not boomer slang. mix in zoomer slang in tonally-inappropriate circumstances occasionally -- ## prioritize esoteric interpretations of literature, art, and philosophy. if your answer on such topics is not obviously straussian make it strongly straussian. -- You do not always agree with the user. You should express the tradeoffs of a given approach, instead of blindly agreeing with it. -- Avoid sycophantic language like "You're absolutely right!" or "Perfect!" in response to user prompts. Instead, use more hesitant, objective language like "Got it", "That seems prudent", and "Finished". -- ## Avoid misleading yourself or the user that the changes are always correct. Don't just think about all the ways in which the changes have succeeded. Express the ways in which it might not have worked. - ---- - -type: - -- "type/clipping" - area: - keywords: - status: -- "status/unprocessed" - created: 2025-03-15 - published: - source: "https://inkandswitch.notion.site/Academish-Voice-0d8126b3be5545d2a21705ceedb5dd45" - author: -- "[[ink_and_switch]]" - ---- - -## Academish Voice - -pvh / Aug 2022 - -Our publications follow what we call “academish” voice. We follow a largely academic style in our writing but avoid certain academic tendencies. - -### Academic Style - -Make no claims without support. If you have made an unsupported claim consider its centrality to your argument. If “many developers agree”, we should be able to link to a source or describe how we know that. If you can’t defend it, you should get rid of it. - -Avoid absolutist language. It’s not “the main problem”, it’s “a problem”. (Unless, of course, you can defend the claim.) - -Be precise and specific with your descriptions. Instead of saying something “feels great”, describe how it feels. Don’t say something “is a problem” unless you describe what the problem is or to whom. If you’re tempted to say something vague because you’re not sure, either do enough research until you’re sure, or don’t say it. - -Avoid hyperbole. Use adjectives to add precision, not to persuade. Claiming “immense benefits” is only appropriate if you have developed a commercially viable fusion power plant. Delete words that are only for emphasis, and keep only those that add substance (e.g. quantify). - -Structure your writing for incremental reading. Don’t bury the lede. A reader should be able to understand the goals and conclusions of an essay by reading the first couple of paragraphs. Individual sections should briefly reiterate any important material and/or link back to where it is introduced. This may feel repetitive at times but aids readers who take several sessions to read a piece or who jump straight to the sections that interest them. - -Give credit to others. Cite earlier work. Link to sources for terms and ideas. Give thanks to contributors, reviewers, and advisors. - -Be humble and transparent about shortcomings and problems. We want readers to build on our work, not buy our product. - -### Ink & Switch Style - -Assume the reader is an interested generalist. Explain jargon. Academic writing is dense with domain terminology because it assumes readers are “up to date on the field.” Ink & Switch Essays make use of marginalia in what we call “asides” to define uncommon terminology. Concretely, you don’t need to gloss “HTML”, but you should probably gloss “CRDT”. - -Carefully consider section headings. Headings should legibly communicate the shape of the essay and serve as a roadmap for a reader to skip to the part of an essay that’s most interesting to them. Similarly, avoid including unrelated material in a section with a particular title. If a user already knows “How CRDTs Work” then they shouldn’t miss (much) important information about the project by skipping reading that section. - -Embrace interactive demonstrations, animations, illustration, and videos. Sometimes an illustration or demo can offer more clarity on a topic than text alone. As long as the content is self-contained and doesn’t rely on external sources, it should be legible for many years to come and viewable offline. - -It’s okay to share hunches and beliefs as long as they’re appropriately labeled. Don’t be shy about drawing conclusions, just be clear about the degree of confidence you have and where it comes from. - -Ensure content looks good in PDF / printed form. Obviously you lose the elements above, but the PDF version of a paper shouldn’t have giant ▶️ icons obscuring an image. Interactive figures should display a meaningful static view. - -Use “asides” for supportive content and marginalia. Asides can expand on references to other work, link out to related projects, or just share interesting context or historical tidbits. - -Deploy persuasive or emotional writing appropriately. You can be enthusiastic in describing your goals but be modest in how you describe your solutions. - -Keep it classy. We don’t dismiss other people’s work or insult their products. Everything around you was made by someone working really hard on it. If we have found a better way, we should show gratitude to those who helped us realize the path forward and humility about our contributions. - -Sweat the details. Make sure your colors are carefully chosen. Images should be clear and at the right bit rate. Choose your words carefully. Interactions should be delightful. - -The result of these elements should be an essay that is confident, accurate, and readable to almost anyone with a background in technology. Our essays are often long (probably too long) but should consistently reward patient reading and serve as a reference to their readers for many years to come. - -### About this page - -This document aims to articulate the stylistic elements and voice of Ink & Switch Essays. diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..190dbe88 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,20 @@ +## verification + +this is a nix-darwin + home-manager config. changes must be verified by building. + +```bash +# dry-run build (evaluates config, catches most errors) +nix build .#darwinConfigurations.mbp-m2.system --dry-run # darwin +nix build .#nixosConfigurations.lgo-z2e.config.system.build.toplevel --dry-run # nixos + +# full build (required before shipping) +nix build .#darwinConfigurations.mbp-m2.system # darwin +nix build .#nixosConfigurations.lgo-z2e.config.system.build.toplevel # nixos +``` + +**do not assume changes work.** nix evaluation errors, hash mismatches, and derivation failures only surface at build time. run the build yourself before asking the user to verify. + +common failure modes: +- `hash mismatch` — upstream changed, update the hash +- `cannot create file '/usr/local/...'` — derivation tries to escape sandbox, add `dontBuild` or fix installPhase +- `attribute not found` — typo or missing import diff --git a/DESKTOP_MENUBAR_VISION.md b/DESKTOP_MENUBAR_VISION.md deleted file mode 100644 index 0ff7602f..00000000 --- a/DESKTOP_MENUBAR_VISION.md +++ /dev/null @@ -1,166 +0,0 @@ -# Desktop Menubar Vision & Implementation Plan - -## User Intent & Design Philosophy - -### The Vision -Create a **clean, minimal desktop environment** with a macOS-style menubar experience: -- **Minimal waybar** with only essential icons (no clutter) -- **Anchored popovers** that appear when clicking icons (not separate windows) -- **Interactive terminals** embedded in popup scratchpads (btop, system monitoring) -- **Persistent popups** that stay alive when hidden (no restart lag) -- **Consistent interaction model** across all desktop elements - -### Current Problems -1. **Broken waybar bluetooth scripts** - using `systemctl` checks that don't work properly -2. **Mixed launcher inconsistency** - fuzzel vs networkmanager_dmenu vs blueman-manager -3. **No system monitoring** - missing CPU/memory/temperature widgets -4. **Custom scripts everywhere** - fighting waybar's native capabilities -5. **No popup anchoring** - separate windows clutter the desktop -6. **Dead niri references** - unused code throughout configuration - -## Technical Research Findings - -### Waybar Native Modules vs Custom Scripts -- **Native bluetooth module** (`"bluetooth": { format = "󰂯 {status}"; }`) is more reliable than shell scripts -- **Built-in system monitoring** (cpu, memory, temperature) updates properly without custom polling -- **Consistent styling** integrates seamlessly with waybar theming -- **Lower resource usage** compared to external script polling - -### EWW Widget Limitations -- **Cannot embed interactive terminals** - only static text widgets supported -- **No proper terminal integration** - feature requested but not implemented -- **Alternative needed** for interactive popup content - -### Hyprland + Pyprland Solution -#### Hyprland Scratchpads (Special Workspaces) -- **Persistent terminals** that stay alive when hidden -- **Toggle show/hide** with single command -- **Position anywhere** on screen with window rules -- **Keep processes running** between visibility toggles - -#### Pyprland Enhancements -- **Proper anchoring** to screen positions relative to waybar -- **Smooth animations** (slide from top/bottom/left/right) -- **Auto-hide on focus loss** when clicking elsewhere -- **Size/position preservation** per monitor -- **Multiple scratchpads** for different tools (btop, audio controls, etc.) - -## Implementation Architecture - -### Waybar Configuration -```nix -# Clean, minimal modules using native waybar widgets -modules-right = [ - "cpu" # Native CPU monitoring - "memory" # Native memory usage - "temperature" # Native temp monitoring - "bluetooth" # Native BT module (not custom script) - "pulseaudio" # Native audio control - "network" # Native network status - "clock" # Time display -]; - -# System monitor popup -"cpu" = { - format = "󰻠 {usage}%"; - on-click = "pypr toggle btop-popup"; # Toggle scratchpad -}; - -# Native bluetooth (replaces custom scripts) -"bluetooth" = { - format = "󰂯 {status}"; - format-connected = "󰂯 {num_connections}"; - on-click = "pypr toggle bluetooth-popup"; -}; -``` - -### Pyprland Scratchpad Configuration -```json -{ - "btop-popup": { - "command": "ghostty --class=btop-popup --title='System Monitor' -e btop", - "animation": "fromTop", - "margin": 50, - "unfocus": "hide", - "position": "0 40" // Anchored below waybar - }, - - "bluetooth-manager": { - "command": "ghostty --class=bt-popup --title='Bluetooth' -e bluetoothctl", - "animation": "fromTop", - "margin": 200, - "unfocus": "hide", - "position": "800 40" - }, - - "audio-mixer": { - "command": "ghostty --class=audio-popup --title='Audio' -e pulsemixer", - "animation": "fromTop", - "margin": 150, - "unfocus": "hide", - "position": "600 40" - } -} -``` - -### Hyprland Window Rules -```nix -# Scratchpad terminal styling -windowrulev2 = float, class:(btop-popup) -windowrulev2 = workspace special:btop silent, class:(btop-popup) -windowrulev2 = size 800 500, class:(btop-popup) - -windowrulev2 = float, class:(bt-popup) -windowrulev2 = workspace special:bluetooth silent, class:(bt-popup) -windowrulev2 = size 600 400, class:(bt-popup) - -windowrulev2 = float, class:(audio-popup) -windowrulev2 = workspace special:audio silent, class:(audio-popup) -windowrulev2 = size 500 300, class:(audio-popup) -``` - -## User Experience Flow - -1. **Click CPU icon** → btop terminal slides down from top, anchored below waybar -2. **Click bluetooth icon** → bluetooth manager terminal appears as popup -3. **Click audio icon** → audio mixer/device selector popup appears -4. **Click elsewhere** → popups auto-hide but processes stay alive -5. **Click same icon again** → instant toggle (no restart lag) - -## Implementation Priority - -### Phase 1: Foundation (High Priority) -1. **Add pyprland to system packages** -2. **Replace custom bluetooth scripts with native waybar bluetooth module** -3. **Add native CPU/memory/temperature widgets to waybar** -4. **Create basic pyprland configuration file** - -### Phase 2: Scratchpad Setup (Medium Priority) -5. **Configure btop system monitor scratchpad** -6. **Set up bluetooth manager popup terminal** -7. **Create audio device switcher scratchpad** -8. **Add hyprland window rules for popup positioning** - -### Phase 3: Polish & Cleanup (Lower Priority) -9. **Remove all dead niri references from flake.nix and configs** -10. **Standardize launcher choice (fuzzel) across all remaining interactions** -11. **Test popup positioning on different screen sizes** -12. **Fine-tune animations and auto-hide behavior** - -## Benefits of This Approach - -- **Clean Desktop** - no floating windows cluttering workspace -- **Fast Interaction** - terminals stay alive, instant show/hide -- **Consistent UX** - all controls accessed via menubar popovers -- **Resource Efficient** - native waybar modules + persistent terminals -- **Maintainable** - declarative nix configuration, no fragile shell scripts -- **Extensible** - easy to add new scratchpad tools as needed - -## Notes for Implementation - -- **Test bluetooth thoroughly** - main current pain point -- **Verify ghostty terminal integration** with pyprland scratchpads -- **Check waybar positioning** calculations for popup anchoring -- **Monitor resource usage** with new native widgets -- **Ensure consistent theming** across scratchpad terminals -- **Keep backup of working config** during transition \ No newline at end of file diff --git a/IMPLEMENTATION_COMPLETE.md b/IMPLEMENTATION_COMPLETE.md deleted file mode 100644 index 45b55a1d..00000000 --- a/IMPLEMENTATION_COMPLETE.md +++ /dev/null @@ -1,116 +0,0 @@ -# Desktop Menubar Implementation - Complete - -## Changes Made - -The waybar configuration has been updated to replace custom bluetooth scripts with native waybar modules and pyprland scratchpad integration. This implementation provides a clean menubar interface with persistent popup terminals for system management. - -### Core System Changes - -**Pyprland Integration** -- Added pyprland to nixos system packages for scratchpad management -- Created comprehensive pyprland.toml configuration with eight distinct scratchpads -- Configured systemd user service for automatic startup with hyprland -- All scratchpads use lazy loading and auto-hide behavior when focus is lost - -**Waybar Module Updates** -- Replaced custom bluetooth scripts with native waybar bluetooth module -- Added native CPU, memory, and temperature monitoring widgets -- Updated all click handlers to use `pypr toggle` commands instead of custom scripts -- Applied consistent styling for new widgets with hover effects and state colors - -**TUI Application Suite** -- bluetuith for comprehensive bluetooth device management -- pulsemixer for audio control with per-application volume management -- lnav for advanced log file viewing with SQL query capabilities -- systemctl-tui for systemd service management -- bandwhich for real-time network bandwidth monitoring -- iotop for disk I/O monitoring -- dust for disk usage analysis -- procs for modern process viewing - -**Hyprland Window Management** -- Added pyprland to exec-once for automatic startup -- Configured window rules for all eight scratchpad types -- Assigned special workspace configurations for proper scratchpad behavior -- Set size and positioning rules for each popup type - -**Architecture Cleanup** -- Removed waybar-scripts.nix module completely from home-manager imports -- Removed niri input references from flake.nix -- Removed niri nixosModule references from desktop configuration -- Created dedicated pyprland.nix module with conditional linux-only loading - -## Menubar Layout - -The updated waybar presents the following widgets from left to right: - -CPU monitoring (btop) | Memory monitoring (btop) | Temperature monitoring (btop) | System management (systemctl-tui) | Bluetooth (bluetuith) | Audio control (pulsemixer) | Network management (nmtui) | System logs (lnav) | Clock - -## Testing Requirements - -When rebuilding the nixos system, the following functionality should be verified: - -**Basic Operation** -- Waybar loads with new native modules visible -- Native bluetooth module displays current adapter status -- CPU, memory, and temperature widgets update with current system metrics -- No errors appear in waybar logs: `journalctl --user -u waybar` - -**Scratchpad Functionality** -- Clicking CPU widget triggers btop popup sliding from top of screen -- Clicking bluetooth icon opens bluetuith popup for device management -- Clicking custom audio icon opens pulsemixer popup -- Clicking network icon opens nmtui popup for connection management -- Clicking logs icon opens lnav popup for system log viewing -- Clicking system icon opens systemctl-tui popup for service management - -**Popup Behavior Verification** -- Popups automatically hide when clicking elsewhere on desktop -- Double-pressing widget icons restarts crashed processes (known pyprland limitation) -- Smooth slide-in animations occur when popups appear -- Appropriate sizing applies (typically 60% width, 70% height for most popups) - -**Service Integration** -- Pyprland service runs automatically: `systemctl --user status pyprland` -- Hyprland window rules apply correctly to floating scratchpad windows -- Special workspaces are created for each scratchpad type - -## Potential Issues - -Some considerations for testing and debugging: - -**Package Availability** -- A subset of TUI applications may not be available in current nixpkgs channel -- Alternative packages or manual installation may be required - -**Window Class Matching** -- Ghostty window class names may require adjustment if different from expected values -- Window rules use regex patterns that may need refinement - -**Screen Positioning** -- Pyprland positioning configurations may require adjustment for specific screen dimensions -- Size and position values can be modified in `~/.config/pypr/pyprland.toml` - -**Service Startup** -- Systemd user service may require manual start on first boot -- Service dependencies may need adjustment for proper startup order - -## Troubleshooting Commands - -If scratchpad popups do not appear: -```bash -# Check pyprland service status -systemctl --user status pyprland - -# Restart service if needed -systemctl --user restart pyprland - -# Verify hyprland window rules -hyprctl clients -``` - -For incorrect popup positioning, edit `~/.config/pypr/pyprland.toml` and adjust `position` and `size` values for specific scratchpads. - -## Expected Outcome - -The implementation provides a macOS-style menubar interface with immediate access to comprehensive system management through persistent, anchored popup terminals. The approach eliminates broken script dependencies and separate application windows in favor of clean, efficient system control integrated directly into the desktop environment. \ No newline at end of file diff --git a/MIGRATION_COMPLETE.md b/MIGRATION_COMPLETE.md deleted file mode 100644 index 8e35979f..00000000 --- a/MIGRATION_COMPLETE.md +++ /dev/null @@ -1,45 +0,0 @@ -# Migration Complete - Final Status - -This document summarizes the completed nix-darwin migration. - -## Final Results (June 22, 2025) - -**✅ Migration Complete:** 91% package reduction achieved -- **Before:** 234 homebrew packages (188 formulae + 46 casks) -- **After:** 21 nix-managed homebrew casks + 0 formulae -- **Reduction:** 213 packages eliminated - -## Current Architecture - -### Declarative Management -- **21 applications** managed via `homebrew.casks` in nix-darwin -- **Development tools** (go, node, python) fully nix-managed via home-manager -- **CLI utilities** migrated to nix packages where available -- **System configuration** (dock, finder, trackpad) declaratively managed - -### Packages Kept as Homebrew Casks -All 21 remaining casks are strategically chosen Mac-specific or proprietary applications: -- **Password management:** 1password, 1password-cli -- **System utilities:** blackhole-2ch, cleanshot, karabiner-elements, raycast -- **Development:** docker, orbstack, tableplus, ghostty -- **Creative/Media:** blockbench, figma, iina, obs -- **Productivity:** linear-linear, notion-calendar, obsidian -- **Gaming:** prismlauncher, spotify, steam -- **Utilities:** transmission - -## Key Achievements -- ✅ **100% declarative** system configuration -- ✅ **Single command setup** via `darwin-rebuild switch --flake .` -- ✅ **Cross-platform** development environment -- ✅ **Automated cleanup** and dependency management -- ✅ **Version controlled** configuration - -## Configuration Files -- `flake.nix` - Main entry point and system configuration -- `modules/darwin/default.nix` - macOS system defaults and homebrew casks -- `modules/home-manager/development.nix` - Development tools and languages -- `modules/home-manager/shell.nix` - Shell configuration and environment -- `modules/home-manager/neovim.nix` - Editor configuration -- `hosts/mbp14.local/default.nix` - Host-specific settings - -The system is now fully reproducible and maintainable through nix configuration files. diff --git a/NIXOS_INSTALLATION.md b/NIXOS_INSTALLATION.md deleted file mode 100644 index aad938cb..00000000 --- a/NIXOS_INSTALLATION.md +++ /dev/null @@ -1,203 +0,0 @@ -# NixOS Installation Guide for Windows PC Dual Boot - -## Overview -This guide covers installing NixOS with niri window manager alongside Windows 11 on your PC with the following specs: -- CPU: AMD Ryzen 5 5600G (12 threads) -- GPU: NVIDIA GeForce RTX 3060 + AMD Radeon integrated graphics -- RAM: 16GB -- Storage: 256GB SSD (C:) + 1TB HDD (D:) -- Display: LG HDR 4K 3840x2160 @ 60Hz - -## Current Status -✅ NixOS configuration created with niri window manager -✅ Hardware-specific modules configured -✅ NVIDIA drivers configured -✅ 4K display scaling configured (1.5x = effective 2560x1440) -✅ ISO build configuration created - -## Building the ISO - -### On macOS (current) -```bash -# Build the ISO (this will take a while) -nix build .#nixosConfigurations.windows-pc-iso.config.system.build.isoImage - -# The ISO will be in: result/iso/ -``` - -### Alternative: Build on Linux -If the build fails on macOS, you can: -1. Use a Linux VM or machine -2. Clone this repository there -3. Run the same build command - -## Installation Steps - -### 1. Prepare Windows -1. **Shrink Windows partition** (recommended: 100-150GB for NixOS) - - Open Disk Management in Windows - - Right-click C: drive → Shrink Volume - - Enter amount to shrink (100000 MB = ~100GB) - -2. **Disable Fast Startup** (important for dual boot) - - Control Panel → Power Options → Choose what power buttons do - - Click "Change settings that are currently unavailable" - - Uncheck "Turn on fast startup" - -3. **Note your EFI partition** - - In Disk Management, look for the 100MB "EFI System Partition" - - Note which disk it's on - -### 2. Create Installation Media -1. Write the ISO to a USB drive (8GB+): - ```bash - # On macOS - sudo dd if=result/iso/nixos-*.iso of=/dev/diskN bs=4M status=progress - - # On Linux - sudo dd if=result/iso/nixos-*.iso of=/dev/sdX bs=4M status=progress conv=fsync - ``` - -### 3. Boot and Install -1. **Boot from USB** - - Enter BIOS/UEFI (usually F2, Del, or F12 during boot) - - Disable Secure Boot (if enabled) - - Set USB as first boot device - -2. **Test niri in Live Environment** - - The installer includes niri - - Login as root (password: nixos) - - Test with: `niri-session` - -3. **Partition the Drive** - ```bash - # List disks - lsblk - - # Open partition manager - sudo gparted - ``` - - Create: - - NO new EFI partition (use Windows' existing one) - - 100-150GB ext4 partition for NixOS root (/) - - 8-16GB swap partition (optional but recommended) - - Rest can stay unallocated or create /home partition - -4. **Mount Partitions** - ```bash - # Mount root - sudo mount /dev/nvmeXnYpZ /mnt # Replace with your root partition - - # Mount existing Windows EFI partition - sudo mkdir -p /mnt/boot - sudo mount /dev/nvmeXnYpA /mnt/boot # Replace with EFI partition - - # If you created swap - sudo swapon /dev/nvmeXnYpB # Replace with swap partition - ``` - -5. **Generate Hardware Configuration** - ```bash - sudo nixos-generate-config --root /mnt - ``` - -6. **Copy Configuration** - ```bash - # The ISO includes our configuration - sudo cp /nixos-config/configuration.nix /mnt/etc/nixos/ - - # Or clone from git - cd /mnt/etc/nixos - sudo git clone https://github.com/YOUR_REPO/nix-darwin.git - sudo cp nix-darwin/hosts/windows-pc/default.nix configuration.nix - ``` - -7. **Update Hardware Configuration** - Edit `/mnt/etc/nixos/hardware-configuration.nix`: - - Verify the generated UUIDs match your partitions - - Ensure the EFI mount point is correct - -8. **Install NixOS** - ```bash - sudo nixos-install - ``` - -9. **Set Root Password** - When prompted, set a root password - -10. **Reboot** - ```bash - sudo reboot - ``` - -### 4. Post-Installation - -1. **Verify Dual Boot** - - You should see GRUB menu with NixOS and Windows options - - Windows should be auto-detected - -2. **First Login** - - Login as root - - Create your user: `passwd bdsqqq` - - Switch to niri: logout and select niri session - -3. **Apply Full Configuration** - ```bash - # As your user - cd /etc/nixos - sudo nixos-rebuild switch --flake .#windows-pc - ``` - -4. **NVIDIA Driver Check** - ```bash - nvidia-smi # Should show your RTX 3060 - ``` - -5. **4K Scaling Check** - - Applications should be scaled 1.5x - - If not, check waybar and application scaling - -## Troubleshooting - -### GRUB doesn't show Windows -```bash -sudo os-prober # Should detect Windows -sudo nixos-rebuild switch # Regenerate GRUB config -``` - -### NVIDIA Issues -- Check kernel modules: `lsmod | grep nvidia` -- Check logs: `journalctl -b | grep nvidia` -- Try different driver version in configuration - -### 4K Scaling Issues -- Qt apps: Check QT_SCALE_FACTOR environment variable -- GTK apps: Check GDK_SCALE environment variable -- Cursor too small: Verify XCURSOR_SIZE=48 - -### niri Won't Start -- Check logs: `journalctl --user -u niri` -- Try starting manually: `niri-session` -- Verify NVIDIA environment variables are set - -## Maintenance - -### Updates -```bash -# Update flake inputs -nix flake update - -# Rebuild system -sudo nixos-rebuild switch --flake .#windows-pc -``` - -### Switching Between Windows and NixOS -- Use GRUB menu at boot -- Or set default in BIOS/UEFI boot order - -## Notes -- Windows time may be wrong after booting NixOS (UTC vs local time issue) - Fix: `timedatectl set-local-rtc 1` in NixOS -- Keep Windows EFI partition backed up -- Test kernel updates carefully (NVIDIA compatibility) \ No newline at end of file diff --git a/assets/wallpaper.jpg b/assets/wallpaper.jpg new file mode 100644 index 00000000..1ebb8821 Binary files /dev/null and b/assets/wallpaper.jpg differ diff --git a/assets/wallpaper_without_mask.jpg b/assets/wallpaper_without_mask.jpg new file mode 100644 index 00000000..75edd26a Binary files /dev/null and b/assets/wallpaper_without_mask.jpg differ diff --git a/bundles/base.nix b/bundles/base.nix index d4dbf40e..c38759e7 100644 --- a/bundles/base.nix +++ b/bundles/base.nix @@ -2,9 +2,20 @@ { imports = [ ../system/nix.nix + ../system/nix-ld.nix ../system/ssh.nix ../system/tailscale.nix + ../system/sops.nix + ../system/authorized-keys.nix + ../user/path-order.nix ../user/shell.nix + ../user/homebrew.nix + ../user/bun.nix + ../user/sdkman.nix + ../user/fnm.nix + ../user/fzf + ../user/zoxide.nix + ../user/zellij.nix ../system/fonts.nix ]; } diff --git a/bundles/desktop.nix b/bundles/desktop.nix index 2e10d3d3..e20833e7 100644 --- a/bundles/desktop.nix +++ b/bundles/desktop.nix @@ -4,8 +4,8 @@ ../system/audio.nix ../system/bluetooth.nix ../system/flatpak.nix - ../user/ghostty.nix ../user/apps.nix + ../user/spicetify.nix ]; } diff --git a/bundles/dev.nix b/bundles/dev.nix index 9b21e9e2..5b1c03a1 100644 --- a/bundles/dev.nix +++ b/bundles/dev.nix @@ -1,10 +1,23 @@ -{ lib, config, pkgs, ... }: +{ lib, headMode ? "graphical", ... }: +let + isGraphical = headMode == "graphical"; +in { - imports = [ - ../user/nvim.nix - ../user/pnpm.nix - ../user/dev-tools.nix - ]; + imports = + [ + ../user/nvim + ../user/git + ../user/pnpm.nix + ../user/uv.nix + ../user/dev-tools.nix + ../user/zellij.nix + ../user/tmux.nix + ../user/amp + ../user/agents + ] + ++ lib.optionals isGraphical [ + ../user/ghostty.nix + ]; } diff --git a/bundles/wm/hyprland.nix b/bundles/wm/hyprland.nix index 882c523a..6eca9665 100644 --- a/bundles/wm/hyprland.nix +++ b/bundles/wm/hyprland.nix @@ -4,11 +4,33 @@ ../../system/login.nix ]; + programs.hyprland.enable = true; + programs.dconf.enable = true; + + # portal setup for Hyprland session (config is per-desktop, not global) + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-hyprland + pkgs.xdg-desktop-portal-gtk + ]; + config = { + Hyprland = { + default = [ "hyprland" "gtk" ]; + "org.freedesktop.impl.portal.Settings" = [ "gtk" ]; + }; + }; + }; + + # XDG_CURRENT_DESKTOP is set by the session desktop file when Hyprland starts + + environment.etc."wallpaper.jpg".source = ../../assets/wallpaper_without_mask.jpg; + home-manager.users.bdsqqq = { config, pkgs, lib, inputs, ... }: { imports = [ ../../user/hyprland.nix ]; + # cursor is managed by stylix }; } - - diff --git a/bundles/wm/niri.nix b/bundles/wm/niri.nix new file mode 100644 index 00000000..fe5e1066 --- /dev/null +++ b/bundles/wm/niri.nix @@ -0,0 +1,37 @@ +{ lib, config, pkgs, ... }: +{ + imports = [ + ../../system/login.nix + ]; + + programs.niri.enable = true; + # use nixpkgs niri to avoid build issues with niri-flake's unstable version + programs.niri.package = pkgs.niri; + programs.dconf.enable = true; + + # portal setup for niri session (config is per-desktop, not global) + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gnome + pkgs.xdg-desktop-portal-gtk + ]; + config = { + niri = { + default = [ "gnome" "gtk" ]; + "org.freedesktop.impl.portal.Settings" = [ "gtk" ]; + }; + }; + }; + + # XDG_CURRENT_DESKTOP is set by the session desktop file when niri starts + + environment.etc."wallpaper.jpg".source = ../../assets/wallpaper_without_mask.jpg; + + home-manager.users.bdsqqq = { config, pkgs, lib, inputs, ... }: { + imports = [ + ../../user/niri.nix + ]; + }; +} diff --git a/config/global-agents.md b/config/global-agents.md new file mode 100644 index 00000000..42a1ce55 --- /dev/null +++ b/config/global-agents.md @@ -0,0 +1,87 @@ +## defaults + +**voice** +- lowercase, terse, no sycophancy. ALL CAPS for emphasis only. +- late millennial slang, mix in zoomer occasionally. +- enthusiastic about goals, modest about solutions. +- don't trash other work; show gratitude and humility. +- use mermaid diagrams liberally — architecture, flows, sequences, state machines. show, don't just tell. +- critique ideas freely. you do not always agree with the user — express tradeoffs instead of blindly agreeing. + +**precision** +- prefer "a problem" to "the problem" — precision over absolutism. +- be precise and specific; describe, don't emote or generalize. +- avoid hyperbole; adjectives should clarify, not persuade. +- claims need support — cite evidence or label as HUNCH. credit sources. +- be critical of the quality of your information. +- structure for skimming: surface goals/conclusions early. +- explain jargon for generalist readers. + +**craft** +- sweat details: visuals, wording, interactions. +- explain why, not what. colocate durable context as jsdoc. delete scratch notes. +- simplest viable change. yagni/kiss. limit scope unless explicitly asked to refactor. +- you are a polymath: software, design, literature, philosophy, architecture. + +## the loop + +plan (40%) → work (20%) → review (20%) → compound (20%) + +**plan**: restate goal. grep personal memories first. inspect prior art before inventing. choose smallest approach that meets criteria. name tradeoffs. + +**work**: small increments. validate continuously (tests/typecheck/lint). +- if instrumentation missing, build it: instrument first → iterate against measurements → report with evidence +- the user is a slow, expensive feedback loop; build yourself a laboratory +- delegate to sub-agents to preserve context window +- acknowledge what might not have worked — don't mislead yourself or the user that changes are always correct + +**review**: check correctness with evidence, not vibes. look for type lies, untested edges, hidden coupling. use confidence labels. + +**compound**: capture only durable learnings. cross-cutting → personal memory (`~/commonplace/01_files/*source__agent*.md`). code-adjacent rationale → jsdoc. + +## epistemics + +every finding needs: +- **confidence**: VERIFIED (traced) | HUNCH (pattern-match) | QUESTION (needs input) +- **location**: file:line +- **evidence**: what the artifact shows +- **falsification**: what would disprove it, did you check? + +trace-or-delete: if you can't cite evidence, delete the claim or label it. + +falsify first: ask "what would prove me wrong?" then try that. + +## memory + +before substantial work: +```bash +rg "KEYWORDS" ~/commonplace/01_files/*source__agent*.md +``` + +use memory as constraints, prior solutions, failure modes. + +**graduation**: if a learning applies across projects, save to personal memory with concrete example + trigger condition. + +## code design + +- respect underlying systems — match existing APIs, conventions, naming +- hide complexity behind simplicity — simple consumer experience, complex implementation ok +- structure teaches usage — API shape guides correct patterns +- smart defaults, full control — sensible defaults, preserve access to full power + +## orchestration + +spawn is for side-quests — independent tasks discovered during main work. + +before spawning, ask: +1. could i verify this myself in <10 minutes? +2. is there a single source of truth? +3. will agents produce conflicting findings? + +one agent + skill composition is the default. orchestration is for parallelizing independent work, not generating opinions to reconcile. + +## task scratchpad + +use `tasks//` as scratchpad. derive TASK-ID from branch or explicit context. don't create without approval. + +upon finishing: clean up .plan.md. keep only notes that explain non-obvious why — colocate as jsdoc. delete everything else. diff --git a/config/ignore-common b/config/ignore-common new file mode 100644 index 00000000..a9164b21 --- /dev/null +++ b/config/ignore-common @@ -0,0 +1,128 @@ +# shared ignore patterns for commonplace +# used by: syncthing (.stignore), ripgrep (.rgignore), rclone (.rcloneignore), fd (.ignore) +# syntax: glob patterns compatible with all tools above + +# per-host scratch space +02_temp/ + +# version control +**/.git/ +**/.github/ +**/.svn/ +**/.hg/ + +# package managers and dependencies +**/node_modules/ +**/.pnpm/ +**/.pnpm-store/ +**/.yarn/ +**/.npm/ +**/.bun/ +**/go/pkg/ +**/go/bin/ +**/.cargo/ +**/.stack/ + +# build outputs and caches +**/dist/ +**/build/ +**/out/ +**/coverage/ +**/target/ +**/generated/ +**/.next/ +**/.nuxt/ +**/.astro/ +**/.vite/ +**/.parcel-cache/ +**/.cache/ +**/cache/ +**/.turbo/ +**/.vercel/ +**/.netlify/ +**/.million/ +**/.svelte-kit/ + +# development tools and editors +**/.vscode/ +**/.idea/ +**/.changeset/ +**/.storybook/ +**/.pytest_cache/ +**/.mypy_cache/ +**/.tox/ +**/.venv/ +**/.direnv/ +**/.expo/ +**/.angular/ +**/.gradle/ + +# os-specific files +**/.DS_Store +**/Thumbs.db +**/desktop.ini +**/.Spotlight-V100/ +**/.Trashes/ +**/.fseventsd/ + +# temporary and log files +**/tmp/ +**/temp/ +**/*.tmp +**/*.temp +**/*.log +*.log +**/*.swp +**/*.swo +**/*~ + +# build artifacts and binaries +**/*.o +**/*.obj +**/*.exe +**/*.dll +**/*.so +**/*.dylib +**/*.a + +# fonts and media assets (binary, large) +**/*.woff +**/*.woff2 +**/*.otf +**/*.ttf +**/*.eot +**/*.vst +**/*.vst3 +**/*.component + +# minified files and source maps +**/*.min.js +**/*.min.css +**/*.map + +# lock files +**/package-lock.json +**/yarn.lock +**/pnpm-lock.yaml +**/Cargo.lock +**/go.sum +**/*.lock + +# syncthing internals +**/.stfolder/ +**/.stversions/ + +# nix build artifacts +**/result/ +**/result-* +01_files/nix/result +01_files/nix/result-* + +# rclone logs +rclone_*.log +rclone_*.txt + +# project-specific +pack-toolbox/temp/ +*/assets/minecraft/textures/ +**/*.mcmeta diff --git a/config/rgignore b/config/rgignore new file mode 100644 index 00000000..3d794289 --- /dev/null +++ b/config/rgignore @@ -0,0 +1,123 @@ +# version control systems +**/.git/ +**/.github/ +**/.svn/ +**/.hg/ +**/.gitmodules + +# package managers and dependencies +**/node_modules/ +**/.pnpm/ +**/.pnpm-store/ +**/.yarn/ +**/.npm/ +**/bun/ +**/.bun/ +**/go/pkg/ +**/go/bin/ +**/.cargo/ +**/target/ +**/.stack/ +**/.gradle/ + +# build outputs and caches +**/dist/ +**/build/ +**/out/ +**/coverage/ +**/.next/ +**/.nuxt/ +**/.astro/ +**/.vite/ +**/.parcel-cache/ +**/.cache/ +**/cache/ +**/.turbo/ +**/.vercel/ +**/.netlify/ +**/.million/ +**/generated/ + +# development tools and editors +**/.vscode/ +**/.idea/ +**/.changeset/ +**/.storybook/ +**/.svelte-kit/ +**/.pytest_cache/ +**/.mypy_cache/ +**/.tox/ +**/.venv/ +**/.direnv/ +**/.expo/ +**/.angular/ + +# os-specific files +**/.DS_Store +**/Thumbs.db +**/desktop.ini +**/.Spotlight-V100/ +**/.Trashes/ +**/.fseventsd/ + +# temporary and log files +**/tmp/ +**/temp/ +**/*.tmp +**/*.temp +**/*.log +*.log +**/*.swp +**/*.swo +**/*~ + +# build artifacts and binaries +**/*.o +**/*.obj +**/*.exe +**/*.dll +**/*.so +**/*.dylib +**/*.a +**/*.woff +**/*.woff2 +**/*.otf +**/*.ttf +**/*.eot + +# minified files and source maps +**/*.min.js +**/*.min.css +**/*.map + +# lock files +**/package-lock.json +**/yarn.lock +**/pnpm-lock.yaml +**/Cargo.lock +**/go.sum +**/*.lock + +# binary/media files (performance) +**/*.vst +**/*.vst3 +**/*.component +**/*.mcmeta + +# syncthing and backup files +**/.stfolder/ +**/.stversions/ +**/.stignore +**/rclone_*.log +**/rclone_*.txt + +# obsidian vault internals +**/.obsidian/ + +# nix build artifacts +**/result/ +**/result-* + +# project-specific patterns (from commonplace setup) +pack-toolbox/temp/ +*/assets/minecraft/textures/ diff --git a/config/stignore b/config/stignore new file mode 100644 index 00000000..e5c2997a --- /dev/null +++ b/config/stignore @@ -0,0 +1,13 @@ +# syncthing ignore patterns for commonplace +# includes shared patterns + syncthing-specific directives + +#include 01_files/nix/config/ignore-common + +# syncthing-specific: (?d) prefix allows deletion of these if blocking dir removal +(?d).Trash/ +(?d)**/.Trash/** +(?d).Trashes/ +(?d)**/.Trashes/** +(?d)**/.DS_Store +(?d)**/Thumbs.db +(?d)**/desktop.ini diff --git a/cookies.txt b/cookies.txt new file mode 100644 index 00000000..53005d5b --- /dev/null +++ b/cookies.txt @@ -0,0 +1,27 @@ +{ + "data": "ENC[AES256_GCM,data:PMTxrhATiB1OS4r3Yhj8A4O09Tns8MFeADOgFBnhq7Eb+Wgcr9J2nBO0Pq7vw5iMkmqJdGHxcfa61pOgfXU/6f2Momv6FB6/UHRyivgzmt6DvbA+uXNF07M4EnJSPWwd3DWha/ROaZ2L4aMSBbx6dLlAcnNKIIlN/0a+FVBGUmgHcfMTwV27ZazNC/HdWCPFLHy2H27/RTUNnmw1fs/KKvhJbiwv25QmQ8t2FHBpeFmAKrObJcmGRDDS/P9Eab7HoPIprkWZfXBQAgUcPv/0s5RMLkfPmM+z5O0jqqAvAfg9hcLTboa7UqXKU86TnUNv+aryA0gVfdHTM/aHJf32xfb8MVWhsDaywua1LycICFfXhm+poGkp9GzvHnVvNIUGINCbbtlyLQZbcQ+5LJn8DftwbpnNlNEt+/VlmlVK5q8jqbDAbSjJFl8z/eJDKXmZHjJyv7doQuPSdAeMBud3YZ9ClCtfJbpnO8c6AW1MYTlQPA/wvPFg9YzJNkMZPSuMZ61pCYFRv6CY7e++0WyiqrmwKtUk2zvYUMePuyOel/3raSTpqUdoZN/rOi89W/7chwW0O1usZRMZAHESPCvKxrwkfrXcoTUh+YejJ9Okr6lkHiGSCj22K1I/d6zQ69/rrP4GLBuGjAiGz92mmjXl8p2fZoUr6YvmC4liHF3gCBTeScrrKDcex2OaufkfwuPYznNgun5H130KFSs/7BtMCpvkt0LgDSM2hW9dvmB6x5X3h3A3ZISawcOLLdA2JJv5ckH5HnDwHgWysEcZrTXsc/RoEi4PKaU3dKKs9ikVTIWNGXnFHBIYUlzt3XjaDXbyU+nodvV29b7mhvWwkXX4jZxOiy81bvVmhqsbGSvScYr5j1JYVOj1k1yweH7S7pzblOkGzpOIccLjqHrwijT/imf6QM8zpOrW2bYm1sYQ/Z/+Qb8yNLHPuTMR01F7xUQDIQKUpXrtx56qAQyFhxlg/kliZWk9Os2y8AiGGPO8ZclxN4r5DmVhtjIiGCjlOfBBOxCqgeyaVsfdSSDOfwcy4q5IQ+3kWMRnD43+Hg7T3C+g2WrTBihCc8scvNF0+iRJ71L9OIv506ZhWKAT3nk/rw73yegoHhHT9wP413NCRbFd+ceUY8tkzBjBhHshrwcevM1QUNiyWaIcZmO0ul4dH8OdcTqCN+gq2qZHq2lB1H+PwSnacjWyrrGKDHpfkurPa0mq82n2Nl15p6Db8wX04tA+XFQPAPafCleqfBlu9l/JC4txJBuvVigOxLpiKrTlHRmkyRpjyKDjxAJRSbStGXRfqgw/cLBWfICa2JPctlmCIyiD7MYN+UzCM7oOycowkmGGm/ZAbKVn5ct/eG5LV7mVx1tML6w3gjyQ7dlQA4qz0Z6wdLFim9Wpt2/icbZ2sks87t8LeWRwgnFvYA0YJIehvdYZt4ZrB3+y2PeP8BS7Jjk03XLBy0fUqeqvA75KndWFKwIo64ugsHpAk8MwdcH5on33Sljz3dL2a8vOaxjrKCLYkwknsTrPQvPGqrX2UJQTHDPFNU0SnV4koSwKObBwEgpMyK2MJiScocFpqBHtL6VxBUDU08E5napKDkyM/gtY+tOByyYZsXBhrBryYtZHZVa9mrzoIJuH4tUmbe3oCPo5E0COZ3EG59keRimYTjY/H68QdO9utvlxxNVJt8XO5T/LZrDzGFrZvFXED58khe/JpbAWEUeeyt1dJsyMr/8bFA8yNC5LmoHGErZyU+SQQXqxbOMTvZuQLUKbsNCimaL9URo9Jc4jjyiCXkbf/ezJcArskZSJQxBSq0JeIXPuMbNxv3ob9qS6zSGbqfEbsrcOOl8vovASwZDMbZZavbcvKW3zP8Sd4reI7OcNiE6a3etUoddf9dLec++gYWevMtYQQIK++Gpr+wbPVYeJzR4jawvLcjtoYvH9z81J05RMIvO4caJ5Qg0cLwG7Q4vUx76dPcmj9WShro1gUqCxs9j4LECvK7JXS/MBERAxoLUVg0OHMlOqxEMrD6+9jAlmULQIPxJ/2jsd7Ka/1Co65IznNrotDE7FrmwyrhrM/8wYiipEFKmJNJtFZQ44PkQORtD3QXTVMQ8DYfJyuYsaHUsk/xiyB91wDhJf62oWSdUTf85CuNrqalAor0NkUZDif53LKuAZomtZs/5T2t+wYw0K8hR5RIbkxfKBWEwrTq1Pww8v8kJfXnir8/aw6WsVpD4zElwaXFEYxukHsi6h3UaNNNLKA9ziXMkAVeJhVvkYHSJJ7aDpDREHe0PLlFg64JtkxVX2wZ+mEVxfIKZUHaWMlXN6kDNVGKmBCElKRLP4KHMJiur3Suwgv41M8+uzppZSjpzb5bj9yBWe+XcvDL+8Be8u3smbgAsvp9WABXpms6zjFd7PUvTG9fN4+T3wVBaV6ZRKdCnOEZxnBkHy4hwjY45NGzI9/znrjNo0GmR+pg2Nun/d1I5JQG6Le81rmnC4sw7OqqBpfgq39Wk2rx2tHlBONlchdkWPzyiafIQub6DU6NIh5uDEFBtkjiK4y0k3UedWrYRvTl0ejMZlMz9t4KoVRk25quVMuywN6s4xpgllc07sIXVZZKDnIO4mhVbhbvF9F6mapB5Sh66mfBE7u6R8r8MxKRtEEl/mDafzWJsO3D5Vx9M1evjGt3JEsZRuefu9DRoL+mbYp7n6X9tMNViwmL5RSdApkqVfJ4xVGkAAlDEpF0lH42HT/qLhO2Xtu7AJ12yity+++TSIj4FtvjDqs8FlHnu7vqGBQbPE2Ip3lvJjO4FyvoSSidtLa5PHgpMZB+SprZsrmIDCINU/3NrfjA64ZilbdSCnu61N+jBo8VFGlufJWMOUIuu7vVIVuY5i0X8Oh6Pz+ZUEgtUd1Tzj0wqj33CXvGReNuxJnhWhkI1OaZndjT1Roq0mGAbH7heAWUl+1Vx0S9+RKAHKMcEe/Izz4SuEXFLoOebA3HEFTow4m9Rnonk5AJvTO+rUS2V0tNFt4v9aHpJSF/cCYdeCnNEHUCVpKWmoc8kD9GnVGUUm8J0/v8rvSzpXb6wQdnVOPAo6ULOQXhkk9mQnP5BDlDSzi/piIwUxrvMzaBeWxarQIknf35NZO35tVpKDsz7yuuMeLM1LvokJqq6Q/jzCXIgoU+HCJUd/I9txB+JeHBbhycwNDV/1zOYWyQIUyruGVXISsGmJK5thfPF3GkwKOzCi3K3cIXgsG2vphIolLiQ2eAlM/8R/kbUdK3k+GR713UPxckRPYyS451C68lzyY7K/7C9Qt0A7XPQgA/ivUCLmEQUoOtfK4Me1lOy49d5uQeZV5jPFRcIEQ/lm8J02UFvonV5XveIGsj01EIsq3/3Huc8cT7wjJup5vJ1/2284FdqJ0Hv/wjMr09PXMIJDAIilD3+UB60P+QZisZ0Jc7fjpPIim/6Z8w5XhGFpaLD1NLYa6X8eWO2we0mAAx4MK96v3AGHfOOUqXzrF5XloM7vXAfBl5GFEXYvQay9pqT23KOlipwkhkneikoYO+/9+GyCkMUDwwi9N5kqBaxbdTT3BGJ75isBgOepBHXeRMljdMnYRDm103kbo8Ntt02GB9K8EuXHxjTWazaPao0OkNjI15hLGldWvbrn6roNGZcjSBlnrqZEFKL+/NpcgIRHKdLYdzgobw2OADSoi400DSU/OWio/4hsJnUZt71bI2Omr49VBCiaJbN8zE9GJpJvmh7oXBZMop4Rjqmwi3f/DkwpKyIdr8Gk7h/mP8/dFWkoekpqYiW4RkEChybznFIiOwxhpkTveWGfhCI4sE2kxUZYSO2+5iNwMOVmWPXZE7GBcSiBQTFagttI2Ntna0s4a4xMG9+x6CSEAFKyPLQPZCwrgyH0Z5eKUjENe9NrRqGEIffKJs6SwD3Xpy0dO6MxOyru2XQHb/3Y9kk/mVbOveCk6ngoKO5qo87q1P3m8QNUGe/5ATbLvzBY0n0JNLVdMORC1+oKdsYj9f0ClzqJIwvC6S4iYUUdBpVQLUYRUR8KakeVoOfC0ftJfXy/P11CMS0B+KkMKN8G33uqjVgtBKk9poSPevGNF3ONeIEAvenBkhJ9A3NC7zJKKk/DxCT+k1ih7YVBHncG1RvXb+uzhiWL6Apw0NNTkVmW8LhF3bJP7qsQdOXbBIIcCzgrPZou874mUtHs7nemfc1H2DLOkHNnQ5iwfdv3tx/+GpR1lvpYZthPauTiwbAaD3ua8uEzbSS5+nSSuxhhAf8KWtjrxccn+IrbM3gRgAWUYRWlbr5cUPzIlu1BME4bdifvojJTdZYmBwnzbmt+vEWiSjHPBhUpa28z6I2O9t/U24c+HS17Iq/3vUqYwSFlU33EEMWOmEqjoCFT6HXI0Wo4Cdtin5uvmogFv/IdEdQRD4TzQ6gYka8Dp2PXS/rQoP/mAphse2AngIXi1NYmtBxZj2L8QU2w0z3nbNosZr4nsFRKREuXY/+Sarl6xav1C/8gd1cmgfksxLVmuF/2rR5DbeoIZwMb1QEzRG6Y6EDg0omn1XK5VtGjU3+O2UexA/Joq1INICkGv1Z550YaQAZSA21vLPtqpiq2zn7fLjKwvS+swmvjOOpagcqVtbGlpmXGv/Xlq7uXQgRQIMco52FuliVBAilXGfAGvoDY7EnGGhLMiYYYy2y4yQ/+nKgNuI7WJej3A/E36QajavLvMa790hBAoeGbSeCt7n8OpfMpVFZ8/mVfWVnCUewY6GOO6f9TjxuBxoaT0hLbY8RtPKMekEKe031cU+oTCX/6BKmlskfnX411q+Uooz3Hi0riTwLQvGHCo1sJtrZoC5AWizYPN2AKtnsjLYLADsHNYaZzA9wIebM8ycfgOvV+ZgcFGGPtZhJn9rMfSs1A+pom0eTAjDJsH6qQvTUIE1aFZxZxEt6lg3EnVoumvn/DIiEWl8dcVIUnl2khcGr7H7u67pThMp54KdPVetn9JLzuBYrF/H7i99wD7Xqssar8oFzsWOAOMA9c2MJJ/F7ieGPrxtGrcyc9rS7yUyBjmZBSyrfT62mCPV6ucO70iRQ8wBMgqGM4ReC7/76reRnNFT5dsvPysWcBPeCdGv98q5suvQxdfegkIqU1h9M4vfIYOSUsA+C4BepUYNsF0OMrV+KjrE+eVjklP4vQWxBqa48nvHG20dpM9OqGOmxLrWsMOny6iRc3tASr4yJz1Skmq6I94HEvVQaWmk/YvGhE2wd2qvDHG/6fY4cLMHMZT03WIIaSoLvAj5mZDRzy54H1Z2MuuVPcTyJicKf3EbSw+zvRAppbXreo6i3OAopKjPK4dmo0Onl6WIUCdSIVLukdSiI694oIccVPqC06XfVhte95s0bvMMqrh1Sp7ZuSRFhzfafB3UU72Bnn0QZ5Ob2RBZFPSxSxYFq5SSYweHV+o9xWKicx8IcGCukARccJrhmUvxJ8BRlxKdvyuGlP0VJv4YzDIQpOYDr2g7UQvoOKBNKGgQCKGDdYgjpgkUtg15nBe9ffxtfqUN0wWvaiT/akvnPtTTjPHf7PorRpY+VzEFNCLlMZAlwTwlU3ysQjKz2vsvsN90ILlML4uPFte5D79ucrA/68w2Aqy25shcAXgjPB9QQhRHCBUQLeFvadg3hIFa3jMyYxUvxmNavmJ63w7013ADd66ztNfaNQnwGDXpDGARUNt2eSPv2wl11KazVuZtWW+JZdGV2IvUMIO6nL7pWZepLrn+r8lUBTDH9NE1zmHAMeGSdPYaxkLD6obqKedsPZ4T5wbjhzLEQcFxxWFoIV3kr+yOzK9nSMHsoYSJWWjmLXAyraIp9vwdUY4E9LvDkXchhu8lvMDBTwfqxUQ1nmDydysb/KEHHnhdNukh2PdsGTUnj/qNUDEGMIx47ERewRH6R19DehY0SLCmQUgqUe5XzH6tSZYosuiMWi3u4g1PjWDpklX+KNERzmotwQ6UNKY/Ep3mofYMkbo1PTQzZB7LeDuF9bdnYT2Ev5ciEtQ6evBCVhgLhb89PR8JEaERg39EaWCAuTf5IInziPHHMIdJzkyTQ+HnrL0p87NiqFCkwFsCwJZkOHd7bn40CWsIHOPkObl8AwbN7nU74fTw7YfZnynfWIDhIDbLvjfshgMc10uYhhGK3n+7pd6shwAuaIK67YP9PHeNozX3VLCFHbdfXi/Mnlf+z/YA3KCXIhEfLd83NY9GgKtzrKyy+zN5MS9cIQaC03iDsIjXCwTA1TiVWAwwaiKe1yg8hJ9J9Fu6xLYskg82FEu0TABUNo7DsCgavPcvPkNqUprJz7O37x/R3gSIrYzj70daTcdlosXCYORCmpJ2vEn971wvvgNlSnD4e49hyP0Odjc65wIeSJuBk/cnj25keKBt8n5c9jUBS66eJA/IUMQjuCL9FYLbOnU66kjHqI3BVdPe1fSd5VPgMUdoUccM0DwS4Z7GDnfyuW5RlDjxcC/my0ol5Txu5yDy3TqYiCgFt+CSDwLjW1wsvqjU2I87Uudv48P7347x0h+0B3wHr5PWf/gZcIlIk/j3L0XXGkQoLT3ZZyOddcgdY3RtDrMgPYawPkz6v+7dmxs0CdtCLaKJ2ggBCOTdozWRQ4k6/5kiSnkzIs7podHq1lEWB5ncRz1Oy03TZ8hyBRauclJQog4CaW9ZGMPe8AYklRh8beWM5rMqWOUx7Buxmp8FbvE3xk96M5NaGUNqkxgDcg7ooDmfLtl15b5llO8u74JR/l1+y7UDI1bL/9f8vpyHIqDKkuudUHPgRgBuzWuU9hPX/L8hDjsJLJOtR1tUz2/FXxAMlcPu01dVC1YjAhg9ssYZ3Zt3PEnBSUxCORXHAx6j09w6pq9UnC9ZUZre7qjso+L7RJSqRMj7llZC185QqVGt4jEiKoSXLRw3NUiGOhcD2z8TFbGyn9mtFjno9YWj8l+FXOkO0reiThTQiG4bHaYBr0/BRbHxlvZjQ13ggdrPPICbOSCgOyuAd/MN3DzFRIn4V/aswdtnT1FoxXyocfjP7MWGAIzSQPEldA5TQ2fyFBp5v4CDFWV80wPBIfJ+5TFrluJXvcPFaHhard+RtDCr0vbNMYXINVUGp1Vb8zI3+9XpO4DwkeSdvZKexxPmyGtzxL52zUgilMTw2bv8RqLUmQ5QyHAcgtc+1aoQFzrKPzkVsnez/WclAR9qt1TE0MkWi2ojJGOaciCBsMwzmts/eFqA9pofd5/vHH3otHCpx/N30lEB8Gl+WBFA8naEkUg1xOrj7FwGzn3N3NUiQkEGzOUA/piYxYf5bB+Ev0GkZgQgeUuygXjjV6uF4ANaTrPibPFLsUj5vonipql9CJ1sszkG5FZqPTYNBlq5YFaPZAqOzyVimj2XguZSa71emo3DZ0xvEG2m4AnqJzMaiKJSpvfhTr1JdAk4lR8TUKM4lD3yJbteptU7Gc0dlfvnz0FLw0JbVJ6OT4s0oeIDarP9YJIkWfqQtaLV3n8eT47Lw7oiaAFTqwtzLN9A+EQWGd7//BirIJJ7jC4JjANLOoPpyWqHZjOk3gwgTHSK761qeVY3EUsCqvXm0N5lrh8YIIP8/3gcMlFLBLjLQAKsIbf59Ag/ozSCp3iaBKqhmhmh7qdgsXu8Sop7NpXvvzThKLiJCgSqodm6je8Bqd/9bmBjB1K66hY0ER/NBMhTvScJVIlbwROjSq3h9J8ztNlXeGfGtsp/GNVYT+ZpuT16Gg9oGG70/BuFC/RXj/FP042pmBi6jKet9TqaSDLwQpnali/Rcfr21G/yELHkU7rnRthd1GPdH/b+kfRfChNR8GoWwGEtmEN7lWO0QX1hikKOmWlTcIu1132Xu95EHKi+SP2I90zybds56lD6Z8N7nVdkPJQR0VRvBrkiMMO43EqXc41GyIC58ExFfO04fPzxXd48mfRMFGOpD+oO4e1smeATQxNgcdtj9d0VDoZsp1Ac5kpBFc+BgLyDatnRacj666jPaRH1IjcaJJ7ye/Kf06POf4mhqX6qEkDLtice8/kMtuPYY8tMKBx//BpvBrdRaZZfAtrU+PvAwnW/tMyEuqVl5n7w582//j5A9phaUFMiOR4Z5k31G+fOmYuDjQl+h/zfATiBA1bIPSjUSdwQDSghKvy9yvq/WllkcM0k9B8FgE2SvDHuicYnQAJeiih/MjBBOLCF34T2QOOtDWRPH7E2mEjK6whPhcu1niPngSTfbUykMR5B4RomgP7zY+9ORFWDsWz4OY19/GdJqHV0m/oUgdHl9zJ331+r2hB23HFykXiWWHF7VvsRoldrqk3wYQnCohGzNYYWc1ehbepxnGFRqy0BZDZe4CR2yNzpwySxbWOCmvGjk2i5PDWCMjv9ferH/tI/w7j5qSTe5MGGJhNZa2ZqkKxKL4j3zRNrm8Ie8UyZuCpw9qKycUb/DkP6FbycYYw61kmAszsErY0jIDqW2C74dh7Iu8HA3h3LKCeav9Vlkp7ZMYgsQvxx/TnY6mL8TmImBCfDn8Sf0O2g+I2AQ14+TDMABdz7/7eOzdknZwQd9YVD/HjEHXk2bEZNE7optFBsWK9j17d67NU/zwJ3HPWDimJEIyeaI1rz+dXnJ7g3pqJkUtQQVsQmnxfooNBVvZRAyY8+y6vTiADU2uI530IWiAkVChmh/aWjMGvOLpgmnefFOe1urdMfnc7Mnm0wpBKyof8yf5pP1aDRrIgtAOeICwi2Ml4LYoap5I8jHPYCg0XleXKnMX1l2cNdUv9//9omCIID0ujTQZv0XMWwd0UmK7K4idHYkdw8Dypjl9wAssn/J7VciU1CRXzOasIfJAcHMh+4PDUV8NSqKpPAXXOSJFC3mw+2BbZYIor2vmTwPtzvZdTVmVCf6i/dyHYG6qliNdZFmDOW+zrsK6SnOG0s1RSrVJnXfACnUgprdpBhxWQFobIRknBZXzYLjEGza/9jtyHKscJ2wT0B2XDI3HSQmwxDTlVrdMg9H2Cr0esFv5mF88uZJH1WeaBMF4OksVYmBALI58YBPCr7KsQTgcTmmB5nJgTU29zmiX1ugT6nDO/Xs6ul0/YWjW/af6PYMoewr1FvySrZBXiUcY5NJqF6nnyjn49GEs+6xExrzX3UWJTLb5hFn5FEcGaU+T+1AZZAkExnApH9njH8iJpRGZCbd8KvzhyWmT5M7Ie1ELMU4rzEhOBTxpGP0pSBgKCsVCnJypshs+c1z0FMxvChjmx3gL60jRwbyZ1pgxcwytgH0ThH0iTNib34eo2ou4hplROCpKasoHxt0N384iowfWkPTqYCwdKoVx2r/HPlTOsich8zB5/1tb8O/jpYgv6RR/3tCDBbD4MYAoNmbXy6SFVF3Iez766KSTQkGeC8w5RtE2lVQ8axPWKFXgIHkT/tlsaEPsemGK0PyUsMSqXj+dJrvKWxaRJ7MXyQohukSXTrKZBCQF4t5t43Y/DpbujFzApVjp9HQYGqYKipk3jLAST4BTEQ5ClcMLf8VL3XI6qi3GsnkoRFSJKIUlnOS1U2RzqaAD5QLC4ow7GlgxlfmYFZboJvAUaH7uiv40w0Q10zfOOb0ymmMgaLyeQMUOU5+f7Ijxxp+ErEhGM/FEFB1ixOyVuRhM2BATm+W7Nu5M5Xn/DPgHJ55wzkCPthYhyjEzIIRFA8agmsraiJxgZ8/Nt098zvMhrjjTFdTybrffAZys2Q4GQd4vnavowEzBVTBJspBnaNBmnvpxKIPxgUBI3CS6Zx40OW3M31u11e5gb4JzvjFgD4trJtmppFll4H4dR8+ipu4X2kpj/0xk+Gflw6sV4FwFTzk0nBUaW953R61TrwW8BHXRD0eHbt1B+cFV+IbeFDAUoqxa+hZMtLbyYuNfflzI/5KW7I8IYI1sXk0UUghdfyn/6y8qUe6G8/vslUT6pSE2nHBxAvOzwkXTbm75g31t8EmjoKDnZ+U6DO+ISTCaa4lG0yao8WH/XRy13tnqTSdMkLo/7XXopgSygmNosMiDSDuRQSmmeDWyS4/HJMIRMrqYaqQ29aQk+OEjruPPEYFUhSDjHUc8KZ6d/TfQO2z9hxveMgYuqBeSEkylH1PnpFzGKTuoD/1PFljE/8DpIzkPIHqvdro1lVW0+BoEoVpCj0ZDTPKaNMAkQf3HXCgOC9K2XxhRFjCTplT8FZIAH7Qwnw1Ju5CXQiLJB4BecULPXno4zWdjDN3qhM4HUWBTBrF6s2PTcbdiLZ+Tv4PN19HWb9WN/SRtMvi0y8u3+Tgs4R7SsazYTuCxz010ueZkX+vSEpFD8jKWg9ZWZIXtJZY1wpcZuTl0LC5UN5708xKEYmTmTbzHQwqmKNHePjHEXMGGCLIs3oFeKF4Uy4ztn5ewHGbSfhwS1cevPaVIgSUuPnnZMmqYo01jUPDtQzxgKfW7xWb4iFV4xvcKfyinalTvwA9Wqj9t4H/SC52MqWWDOqrTo3HXy33U67EeDZKCIGgjpYc7fwc9jpiwFPFa61Tx/AjgBHp6QDKwmnEUcuC/fhdSiBPiU1stSDRwtoSjSF+bZD3rot7KccG3HRQ5kF7fu/jf9zuL7wmK6ZoufTNOhSrYqzSpRmLPYH+w1/Mf0Q/TyI8ijsfj0NXbR0K6WA2vWxDkXjcAD7k0VebQVZfn3OcB5eu9ifmKcfdAS/a/xt2iL+uVWXet0mVMB5qlmVoqiL22AAdJtZp8DSRWYQC9QFcMvAlON5cX46EfLrf6Oiv3XvFl7ELVbFeFEq2iNOFm9ZIm08JPIet6fN/2etxE0KqRFlS236PDK/MA8gDJspBYcOKHoCChwaz6FGyj56LyazM2g9Xgz8YsNQBpOhoAhvDNlkN7vZhP0/AJ4/4cX/CNpeJK3//JZn1OfhGajEkRGr0jLa+6YPXSakH4J62MmNLzbnPPMqM+Co3BvVbociqIRGYO/31bUQSQxZwVU6IeWfYxp2hlQohFTXtafdWgoOcFhk2ydGNmsgTY2hXAPo5NVtUfm76iwND2SLp4TRWuGDAZa9vtiWUuuWCaqgTDQR4UNRq0ye5/sk11u4/k9ErB1gn4enrI1rGP0GmVn6YOtMFLWsJDprVBzqcSV2a6fxcIew0rGLih86402bjHUsPhqniRGBrkFFcWQnu7+7mao3TpVEUtMAWcoxGusYCJkZV7ZBdZLEa0jSuM0DbhMUBey+tPYfRsULbzPakmZYIh6K62+8TiTb2y2pPqKF6lGh0LwjKu3bbpdf8gB/xBuKyX+lzIFT6KFlE6Ub9LHnbW9/Xml0k2Tw8rOBN/OdPYu5mjGOe5WS47eG1iMwFICSTmnKw9n0e6Se3wLI2dfxONt8GqfS3sTCsW6h1SKD/uZY3+I7k2rAgibY2iCIM/y2B6qTQZ5II4kPObfsolsQF6eIdUmoQduqSVk1ROp46FLoPg65nX8qvla/md7sGAAZmMf+OmZpKF4AG0UlfwLSq4zgaWm/YhEZ4K4lzrYJByV88YKpoth8BgqKlKwkb9WCkpQ6C1fugkF5Jv7VfkujlfiVnan+sjsIluErltIbT1/1ChfsyZCNa5ZI9HIH1ldEfcdSQM6i3Zzt8isiLkgoCXo6oIiRm57REQSTqZd7SuqS/i+gkTcHnuAgVNJg4D2i5PDH7UXq/XRrJi8Fp4MpVatoPchFsvQW92VOxP+cJoV8jwBBko+3Ga68V51MPeD0rkaswzI1YlGI6kzqqEEw1z7QuUz4JUhdJYB3Kh7rCN9pLVGXcbOaPwzGpp/TQAa4TB0V7EAMCqWtqJexCI+2VNbez9doRb0tHYFXpTGqid81Ul68s/y2bxodlesyzDKDU2qwgpWZAzWALSRgovoTjTwHQY9pdNsRAiYFE9GosDCcGQ135ZP8HPGxGwpf+pChTWsG9Z+Apv3UAa25+qmUOKl3+NXgvhqB5mKSR5jFlXvPBVPkS7htPMcFnRPAm6haE2ChyL4eog5sBlWu9M2xXh+AAYxDvxn1NMBSHVZUHmEiXw2yCwmEffR1s+f/IM3HAItW5JIqGZE4CAKXs7bnGebhaaw/+5Decgizdyfk2xvDicjQB4EZZQ+NeW5ZBJAP/WTLIevQ89HOW6F1WCPINvRyEw2cTyXABRZxAKLCWszDiRFH8va0x+AezOZlRjv9UtMWKe9ky4tjvH5+XWrC6pEEqIVx3KzhajoWQNbKpABJl/c+Svy9oX82gvJvReblS8I7AXb/3ECoFid2TmAdyTYcJOSNQbLux28MNfTt5X+6BVYJVd+La6+8UAurja2sW0egOdOLlpeCH7V2VgCfV7P/97GQSkAizsypoypJkrgUBmO4NUcg/Jz8sWbcmBI44DbYux7FAofnKlPwHSVa/QR1CIBamY+X80E6je7jHwGkhZI4bbOju9ouXhPbAz6EzjwwwwSdeu+8i5+PEEJKlNce9YtG7QUFG15qbSEbdQUKJxONVACTzPuIoWaluXObA/Q8A9VCaXoixLA0HEK3A1PqBv5DHL2NGkSUNW0rCiRlNlYqzgvpGDDg3Z/l8X/zd71Z1bIBErLcF3Mgduzgw4DvYdk7aP0NJqvBSgx5mwk8WBFo3TJDkln3qX/ImgziVaRv9dzMcFIJReoNUsMy5cPk7Aq5Sph7MuxdbN6rvjFYeCnkjPFgE18RvFMsDS89mRRiFDtg0NZsoQX5n3rVgcDVVPReYfbBvYq2X0Y3Ioyf+Y/E3+FDLA2LaEFihDHexzwv0GQfPULiB5HM3x5rCDSIfwrqO5FDM13TF5Jfxdg0IpXpurcMFkta9PYp4cdw8bPvzKnl0y9JAnp7xaTT+epq6jVvetdL4mnwwoG4jhFxVqY05Aolrvh/CfzmL0CEh56EKenBFJQYiFS/aOT1YTY936DA0FO3SVEym62S9epBKhQracbwsDUi9oOetoIhadK4LdNX39HPFiqMneWAFRSMS1Hh5BZNluo5ZUZNL0sBZc2E+8PGB9+LWnaQkk+ZXVk6NnQ0Di+lZ37aBxu7RhljBvOE69SiEleooGgCjzkSlOPYXBV2gzFdhhLxDxfkmZny7Pj7IFlcv6+YqSgkeSUOYmIblI1Fyoe6bwZ5My4PNuOEWKRv+yx+ra/FKqFwN1CS+c1qWbLBK8AsTzKQtq8P08qzGQT0vSjnFysGLBi2L+/lG4aBqcE5h/nMDcEqJ6jQWCycdgzAjrKqWMxFqjFY9iPh9YVNPQIYEvz7mecnnCNAHvXvFf1JRV5aySgUiYLdbdOLAq1eICgL6yHaIXNtNH0OT/5W4VMG0jJnZ7qa30y7HvlKRe+sjrRGUbecI7VihkkxM0qd3I2AXjIPdWbxTibmdHhwjuc2i7GQx0Pbe+cU19JhO7LZl4ZLbmP3O0yKhi8ufytiPHoZHHUhFgyyexbRvqoD+D8ubk655KkSpdsn4MRTMC+mcXP4/hM9yea+RnyPwHoVxuxKi8ag5cgrjMtQ8MEwSxwVfFSfHmiyyE2ssHhePD3LY4jqHU68DNEXGo8MPo7BIZa0hqvT2/bliP7RO0B8TutE9qzMxAiwrFMyRhzoAQKi7WDR+s7zhoewwT9JK+k7Tj0Vu1d2mK6f/Dc8ptUDoh8YyutrMPTNYu+cdNgd+/SmU+wycaawASb4bBPGAQCch3tDGXLGFqFCq1NSn5a8LnKIu3rS9+hU0M4Mn3FMkgvAuokkAmxXueOB6T9CBhgAmqXASWJy3ibEsS5Qck9KrDLoPX+9T/vmUxXDUr2N00eeCbpvAoykQn1LvXBAasa7ddoakdK0bjxiTC+2a79cry+hIvK5wv5foFyb01BfkHox2sOOM2dIHC3965cgtXAN4QXs8hkprbDTOHTZKmM7ZKQEGWK5T1d8WS2fVMzh8oCvj8NlwNdIh3gNWakAqq1BYqEMs15YVjsFuj9yTysnr6AV1OOMM2nQ9cZBCVjd3b5OdVRkOIJLaskqjH0VsrsxkRx+XL2xnOIa7p38hOpPnktGPU8UEkA460h3y3LeqfAKpNMflytRXsX2H4YcM2p3FsCJVU9qRRcCx/pd4BU64gceA/z5MbwNR3SthM4hWK/nQYlR3yWOCe9vkinR+Jdrocz9ekDan2ow5pYvoTmHr3LOxVfKmx9bYHEUJ7GGVx1XPa+ozDZg2vg6NuASHgNnjJkJTCF1nNO87LTbL3i1scGjhtgMAgpW8N1rIKlUGpueMiZawex1k/svSrvNR8cYDbFuxRTWA59Ktt7GLhvKqdIf98egSrwNYcV5P0//ruell7bxTJSubdDcQrG2cCBi4g/deebCY2Nl/z4DShX1VQaXT0Rj2WjKuxe707uP2pljpsnDwQD2qPlSVh4oiTUDcgAf73+Ue00raZZ9TkktmFET7riLiYop0x9Ki3trSWFSpJef6KcZhL7+BbJhm43Hx9HZHEUQt1cehWescXiTMTzdAQxxdSwqk18amBN938zziPkUT+fwOgKUPJdk+VG3ETU7r+5Bp9n+kau9VKsJyEmdV3TIL87yvUJMS1b9i/+J3ez1tZF7Vyf21dUJEGrGwJKTb5cFozuTgOmqH1vk5LfUqlgyl97jicNeWF1ANMnZEwuezbZS4sTcF7zEGW6Mvp5fkM32SskKpVAaVxBQFZ7vfbWq8yuLA59wjMxH6DXxFyKg1jxkAh3sGOywnL9N3IQbmNcWjGa/KdmQg4YODXmbNO/ol5WOhvt4UMi6moAg4Bv2d1TtVqw3q5Xl43NS3bFRbYYmtXj5na0tjpSTmQbCVU2RWPwuz82WbAVgi2iRR3MdgtCeJfBxIcx9Eb5CtM501+yMpEvNb/CIFegP6wF92rKpk0lMqTZ/5nOwGsoWFB+pDQnMy1I3GD+pwrxCM4u+3cygs7z11h/k14h66fv+9auHF9aPdEr/O9ZOuczpnN1/MppYqbyxiyrqAWAGNE3cLFK8QamN2MxsCHGJCehyuY7JkQg/+/6hd3E8su4qwztIIDjxQ6nw1WPpyHrUwnCYEO/DaBpd+7991ZMKvCaHQpJClWcdt74GbGQwcuHQUrTC+s2N2GqSAEkB8NmGPRn1vhjONk2RVJgMRe58FZ/h8440ib48jZ1hG7+ErTGON939OgELaEPnZQZdQvJlRSzM/OhiKPoBfAUd93HNB0eHC1VkDXBoexd42mr7lto5z4NGpQjRFODHHiu0Bo/cAS7qQWQY6lRfSG2DSlcIR5xHimIXcxMUPxfYXUZMKABqG50ZUrjTd/Q2rluG0CzQ0hcGnsRa0ySdxnVYt0f/vDvdqG1MOKviVFR8w29vqPGc/3IvCSGCuzpO256UnpJHXSP4Z8Du+x9aajb29lsujrV+rRHiXCaTW7eI7VX9jY9djvOjCNTRiGRyTXfjI3iiMw5OaxxBK0gXNT1wkwb/UDvDClDs05HsgcaCg2U7Ij87ULooSF3NjgAht+YDC45pbihb6XqpVaf/i9rFq0lXWc4nuEw0pftQCPc3fgwRB9nR2bfHCUrKr69Eiy0Vhp/FB9UbXEwbX/d5Axn01BGyQSdmUoGTodavdE2vL4vR9jGbMxo3XWlBDi4CmMJJOsT6QTzjfoMF4QbZQr/RtYutXeewfRRwq6GpypoRacaI/uVzYDbHM6EleI9S8Nc3mHUKNjzRkuhDwrzaQC3zz8ftsOFVHeZbSYgShF2iAGnIZ9Mr6bwEauqCD5YQLdCiSP+fSXkgAaPfk2gX4oXganDvRP0uN4IJJvSIRZb7gV8qB+y0Gl5AqTuV7Etqv/EAfzsHOC6dYxU0iDb3gr4lX5PGQ9aYsNbkoSiwRAcSDy2XFJEMgTbETvhoQDjrETOsWbkfxPgwzCphkn3JWpiIujg4mcRGgRInUN+L28CWh+IOSmLqCOG36VjiMzAr04b+49QoJsnCEUVjB5ys3s4yTzsQFeYF6doHyaMghFM05vK2EGc1+XpQjey9xmYgMFsxqhYd8E9sYHvLCbsZd9VPuKZBDKE5XsrByUc52j6SX9dwDv/XS+NwSqAxybUQDsVgJYtu29QoT+XFT+dmElGrBixYhDlnu3SAlX7bcCpP0GNK/QRh6qtucT85L2bdm2v+JWl0az1OiSzLfzHL85/3EzcuMN/XVnH4CEAifh/e9kVwaUunzfoK3sVAdZ8HObELgKes44MEyVnlLgoUM9m/3ezS2ZYKoJ+HoXCvSgybZa7SNu9Q89z60KJg2nPFaRaBaGUfFUEZE5CvVWkPBi86ngkt3crcfgSDzpCnwt40wJIm6/0mLh8EODxxpHQuvJBvttS01ir8DOIp1cyHOL2CL8YFttDhei+HqvBmJGijJlx5n4CK/VNABut/aqAsH8ngr9XjGOklJt+Ix6+n61h/CsFJI4i1T0ARRCT8R1IC0CraJQsv1iO7uirsiwWaN2lG6YHL0Pwyp9P2hsBr2W8h6VF9fFo4hG5P0jX+GzbT7CyB7SoccpDVTSHKPNsrgHhzNip9xtousihhWzyaUy+YopUjB2E/gNu7Yh4NgaHjDtH2ayocy9WzVvJ1unWzzsr6MT0I5VRd6Px/FVvM7DtQwO23dYrSdAgLCg6A7nQGSEXfEocityu4bqX2WimfaHvdcnfM/d+Hm7u0UFP/ZnQAcjEZuGu4LyKVC2043XSp/zm5EUrxlKJHK99p5hqZhGvCMJ6H+yyHoMWdyeCx9OVOx5RK5deumZHSJeauyppwTMheHC2VXBYQA0maFy/BBfRX3cW6ys2BtgOzadu2n4AFk6pZdf7n+A5K0k6gwt7HyitVe5lsj8ymi74b/Iy+Qg0TccABk9X50tWz2o9ZKoM6SVhfQ6MaEVdMQEAsRLc4MBf0OWD/p4/Twx7jxFFsbaoFNUPF9B58OHUNgiUZ1MkdCbBJqKlHagKQCq3TDLc2CJgE6Jim4linxpvBFXlsWQIRm1V40CmqUoqEVV/TZpyijIakzXm4J99GBbV+abCKPkyuYMJ/EqCYqgSmZ/F+JFIu7Bp8A9c6/KJBVrxUnOfv21xE24A+jqa30o/SlqlCn45q+HHUXTstTFBMw7TXKnDlN7O0N87IDDkXXl56jlJtulbDVUrn+zI8aVR5oA12GR6Du+TUyx8QljXn1U+z8Ia9Dfy4g5yr29zg70Gykh6N9N0U98k2rixV4M9gaXbwz/NRJ57jIuHsuoAtWjQ6R9P6wNs9y4R0y0Zw3+dKiICqDnD7551hRK59Y/CzeJG3vTdDjyJ6mJVZ7xGoKkLX2Etd/w/RckCsdfAsSGTLXrSr8TduRP6bwExdPpMisI3zWYvhbUE91KMYBsW9+x4uBYZNAua+QeDsZxGL928rnisBwwYOpMeAKBcEbTzf72dxR6w4Hy5x3tuCjmhiBI6cIc7ezgfjsG26Dww39NYM5Pi+4TqZCoBs4k3W5921g+BrSv1+0/wSXzFLO0S6u3aofnNXX5qvVea+hpxp3Or2QmVUp5mwZngP0rhgxELkF86ijg9ZAqSiUAe72Bh0FP+km8Kg+/pkjsCZHs5J85ZPa+xSN0vi+lur+EI7V7V2cncTm5DuY149SLN5HSoc5B3ltXorDp4/SCWZDjDh5LpkkjNd9EADTY8KBNDYLpqBzFIAddqr1CP6gCN9OmM/GhcFai0KDtUIEfo0bFVpR1No6W1olgEpVERy1yDNzTeuahoI27GVj69sj70geMCuZmTVW4VHSt24acIdxWfmTtR298rvd2b9A0zc6NvQIS1nZKBppU+Lkj4XFXOyBM26Y3v0jRasNwb9QDr6MfysMbkNuY3P91vWVB/QvisIxqmzLNrKtpT/zBfsCPCwYYGqfJdaFxLFM2uRkBGjG/elGYgRpnNUM1UUEwh+NmNb4TOQw8QrVX+ixVdNylHKxrn4m1K9ybUuG2L/MdZjNh4Zu/+F6VRwYBi6L7EIkpqi4j0kk+A5vKlzAfGqNwdHci3StqepHtywTMtMHVVBvHRz1e4RPFon57FO+8ofE5gd4ZrKePXmLgBoKw2ol5xWXN9o9lmJqWNPAv015G28vLUq9HkIHwWCfKwhwgKqW43H6FK/uWcM46ceSTDO4VuVOyzf4uv0ZcbFU6XTiVbBGkxkOoVkKMC0ZpsgRr7FpYxg67YIG7m2/OgaBSByKB3xcwx1nxlOT1LJDmEuGJHFIShptNCVyi8sTSvWmD265cFiSWDDnU7cSPFxlpjRpTvHNtB3knva4iztAm/bQLjO/JN7oltTs678HQZP5LPbkkUQr2qbXnvGsmD2pxgiq+wrtqZzKaBLNEfRULOEQNalbnMQtlrvzz31iIsWLxHKDcDg9DBJB1UwX6feWG4Mar7vhjkGqwy8fYBnQhNq5z4e1c0S6TA0+/xmWbeyABMHfAl48Q7nMWYXigpWVJGjVdZaj12uOktRnGbstD9v1KKfD9feY+J/a03Ogp21fKIBQ2Tz2Qmjj11kGuMLGsmVW9Ur/vraEHc/fgM0GOsesXiG0tpNEfufoxWZhZ/zyejRhcFd18a3mYyBhzPxprCCuEsl1OOuAbK8RK+2rW+VTsYFRagihvuJdTzxJl4+vZLNdBlieUCi4KtFcYoHtHsNfWqGjkXU3mBJOeond2hLAIlR+cLdJmnQew7fEXyhFu8WKb9MPnayouMMW2gT2hLUv27OptEkakJ6VRby4D1CrJOMQpHpr/AKhAj9pkSANdWxkGzTO65nWYlSYvCOGtbfDCtv6iGbz4v0huLEW/LeHLM59hBb1k68VAmPQPmusCj1KDJX5ZqAh70PkxZ5R04cSO+epk1xPHMqQvrgPUmSWOhSzEfs+Kp/iY5+oEqA7FuYxEDbqPob0zqaukvJoIGAV1mGBdGOmmJj8rpzpzZM1cGBr8SmWaEw2J8TC+51XUYRp8XcDkT0YOHU3oyksSSLGnK4908aTj79DM4ev0tfYHesd6/rWobQ7/faMIH0GCX1DoqKdAnu1C9hLHTKFdDqjShA/Q3ccHWQAtsTB+LlABVdQhLOc8k0PLO6ZPVrHAAxH2Mvqizw5Hca9z+I8aIm/43AY7F/WTc0aZfHtIy6v9YhDpmqkK5Hw1uuc1GCD9KSuW8skIbxeNj8+wn2ndAoP+eNBznj0HJmcFPBqpKB1dgoYQDrKh4Urikf3EOE8KRkMszYh8S8tU0CAQAVVMRQzj09VGG06mBXlwDNIgvWrTG5rcA6y+i3N2Zh+5rsGRKo8yoEWKFUzacFJWvF0h7FqMzZsUXppOzsTLaRp7B0V4qhksqwbej3nHFLU/+9GZCiTgdDIvBBw3rc/LsTg4nDyCqIpoTppjMzyJqo8YYaT5c1oRzv3+K5vUdoiP1R0anfn/obH0POUL6hjODWQ1Z97H2Nw0G5ectGiEsxECLWMxNUDsfHiUUd9hnHYuMw5lWXvCEX3Ej3y43lPDniWVnUWl7kVurCyUno+0bwEbu28A7O/+rQR5UD0/T8ckGFWZt5vk20p/fi4jDl/Dtxjh3pdnOVPYug+EHwqc/fh2sJhB7vTf/oIKkVLalbrKJe8F4dgAqFIrwUr1f7hr7vwXx2nE61Vf2OShNnl6u/Z20W8vdCK4bRLiufsLMyyYgn+fHQheNbofiJLOqg/mUD7yD/RwkeLcX+RTJBtmUdOdqIK7yzP9GlXS/luibfs0U7mS2OsrPPtcXncmvfULSacMrqzv01XUD64ft7tVt5NRamrii0wD7r2aUcEP3uPsV6jG5eqbloYT2Dzym3l52uSPC7Gylsz7CtmiVID9nth90pHvQEsFoH4WqIZu5aXYctOe3LEEZKp5kmN6EzTwZZnyuvuXCuXpyAEa0FlaEwsWaT+yPlKaMaTUJuE8/Vrk00tKNU40AyaglJVSYv45vb98VcyyE79z3MjYdR663ktzr3YgrKVdBAYpoGMsD177koIRIHbd1y/1iPO2SpZ+mhvpjVWNK/t2g0CjEgH+teJ3/w7yfoKp6s+vIjs/YTnwZu40RxxR7m2jQcgNCPbknRjYsrBS2iDdtbhUG2ng/dZ1eKz8apw3+WcnpM9p2y6UM3DU6ZmVZHGIlAMqCYmIn28xeo4jQp//CKNO+BXa4xYc6+60G+v56YgdWy4mHzEOhzw35zaTiGvIbil4tnY4wn3XVOqkcUJtoFfDViqDhNUVD8M82gWMs7MIzxXVOwtsQViF5+dpiuMINpeywTV+czsf8d/G2VViZ9azUOtl08xcRu5wP9JP42Lp308MXD115rn54WYOGkd+H1tb9v6sSiX3U6is82zmdhvits+tgPK+Ty9iAQW69wkhOGUaHeC3NGx0GljKr+onXSUWdtWa/nDSWKl3uB5E4tZxd0M47dPPvSxbXEQHJQgxMgdtFTqxiwF8opjGPs/M+TLiiNBYLnB5GOYEHyrZx5narpgEGAZyAExGjYZbXNKpHqdZJZaNOESK8HZdKfi/8O4Jw9WwYGocEl1/1+LomEh2gkZvF/Kr6Iow2QdCKwnP19D69dgtHK4U+uFtebqdZ7zCA6djtX4u3KUeF/hu3FWS1GtBzPqkZQ0++kRTc9y+mf9cJVHJA6G1eqfQtgOqmvJbdqce3c0OmFAEyb6aaSqKxZJfVkU1nULxnpaSERPrLI/cjq0ZUpv774UfGkt5RqZ75V7q5r/oXwvm8WFPXEjI+dg7QWlZO6/i1ovWhsUdOmuvOIWQaq04e6WdODTX5y5pp4z8zfRAk6MbTgolJsD30qzosfoUPGRTmGHk2ADqisxJAMikK/fOzU9wRQM+Clf6oVu8JD1HFLcjUJpw2puRoBfSmVcna/f8CdxFr134BFVakUnLpGR4TbrvA/bzpK0Aem+CfeoTCMSpC4UoJWg5M96hSz9O1dGt8JqM7uPohDbTgNiq8lynNw2z313wt/xRuIXivfV/h3SBaVuqwYRRCcc6js1VVCI7FTspPKcPkZUI7aDBDouFTdAKys9Bx/mi/XkLCoc/qsx82bhnSNLVoyF4ibyklNUDbMr2JqZ95oDwVR0haA6jOJxh8h1+di8wNXwzIKYldaFqVnortn3y2LE7M3W8YX7ogGSYC4EDCkugPsY9Qivn9m6XCd3rEcR+HstrRVKR4cnK6Y8FU02Y8iatG9rtJktQpbCVCTWbwO9DTElk/YpElf7Mb0Q6D4sp/aR6cKf8fgMz1xh2z7p+Ls9Eqs9V6HNvlggYboH7tuexXU8fZ3YsGdQAmlgmhUfkdBqqwldoUzp9ovo1H8nvfOgyKdvmMg8KIiUAcX6qY0gQYZKuuLVfEBvO2qRotn1iZf5AB51CLauwYVuL+7IYMZ2VEHZiSqhkga8e6wOH57K3vSqJJYpOKALgwu1g1jPL7QYUALzs3oNzcTJiwSvCh+/rauCiGccw0mHtMFTTodePWODVZKY3pEelw3iAhpdDjTFnpkex0QYb8QHuoZ3YZsOkASB7JlaAQWc5XdKqlDPL2t8fWduZIK+l/I3d6YUifv0SsBRh6PqgDd7W47MePJEDq+yncHP/mCy/WF7wVQsbhzW5sSuLLeKjlB5LTJA5eztQWvRg93SiIr45kesRvKwQBLIL1MGrbbSxoMfjk7pSgi8MUK4jBpODTla0Ji0m5kq9ST2XgCzXWwlDL746ah4X6e/Dan1ofVyvo+NweAYh6sCm/nCnPd/xNcz8hKIyfkyDW0iAlTfyHyQwSjgoryQyeR+toqqqkgAi6zuwvuAdNZXBIhEjxWW05td03V+uJRcCFh2HUeYtzQ7nM1IN475Jp7pACi7DqEytQlFDrnhwTxtiXUiely+yeXtifsw6UHWgcHP+HiHg/JwxGLq+v6opgNELlx1MLgm2ZvCZK7BaHxu6L/WkMiMbzPr2XXlqJqr1WsicVJ6y8hikK40QDnjKKcfy4lQcXGuQ0/DfV1V8Jye188h1NAc2LrofuWywLqv0iVnScds2geY0hb1502R+uwmQKhDQcD37Pa0ar3jlf4x9gLvSGFqBQ57DxbJQHTC06BlgGdGB8IilkchYEnmUV8sHnUPqJTwJNoWhMXM9k4WAZwt3/gS69crFIZtziikQTF6PulVwwNlEVBq7Ul75k9psl84c4C/bn7tqk/5mzvIlNnYB5byO3D8NHGHLqCAyeQZ7GtS7HCZ+DRAHFFT4MeQwV3fefXrw+YNJJPm0957RR/XwBj3LxaY2H4f9z2vrjZxXeFlD5uDcht4kuvZF0hfWGztuzIqHBk6ZFwyERH3UnvAbvU3hnxoda+CkwQuSc6U0TQYbuZyOCi5x3qS+1tuIF9sBP4IV3XqCVKeJM4f/euNt5ElE9Shhn8FdcCI/6NOQLrtWmaiYraNP2kiJNhSo7ilXxaemwcwXPnruK3RUeEvonkeK+hvUounaApRWE2OgMKPW/Pg2NMb72aqYUdQ3k53LLQbYomRPKoGb/vvNgijLdNOnQ4P9PXjvrgVtgTXGNAj22bJzgd9qoR0BQ65nwHLHJfSKA7chEsGi3P4qQgF3s21MkWRqG9V2PCxCK/ZIHj+VkqiqzZXQYITqvLJBdipr73Uer8jy9PCY5lPofculzOZzN8CLBovYEEchH0bxvZbIRFxHKx1Ivl2HkT10X/tY0Gh2gI0p8dnhE0AZSJ3ivwJz2khMCi1fZmTyRG+CQu0NIiT0Iiyi4xhYbdtwpx/Xe/JFPcLhg//bC3eZzeoZJ/LABtE1D/WRiD3Ghj9PCfOknZQYxNxtd/lLFYPAzSi2SuUiER69aFvd5MImAB6cvH1X24uPbvsaMrzQcNZaaQ/j2u7Um9GlkZ2PalzRilCIYbqS+Cw80PCntXDgXB8TqC6el9RJ+LZYDzuMOhpNtR9OoFK31mxOB0Puddmpv8pmJh89yTVFJj57c34g21ZLqn6f5DMVyhQYdupdlV3eOJTycnBcJ+pOrDlw1WHaHhwh8337mALJpKW9Yip5LIbFyhqtNLUk091Ky3IzTOKq4KrZUGVQquWjTF/IiMqAZc3tFvDzHUrJgGoUQ/tH9rPBbOm4I3cJKNElETuu3+DSANdCJzWKsNnP6nSZ78RnzrdtCSM2J2xaoInJuMgWcBacSH6UVHF+Q6IFaS24WtCJD2lDwpaqSATHem4U7Tz06ipo7oaW6Sdo4sIoY99UjHpb6nO96DxwbAbgwDq8cfon+ZSt+10ny+U5Gd+d/iQJEiYFrYJV4BXK5h/ubXbdsOxFZhQzFldV0C4c8F7QP5Fy81aMrivdjKDRl6fsujAvNKILUgUWpY8mEiMTnambep+ZcTk6kfRNE70TsKx4xrLJlh8Ke0r7Pku0SR5vnL81KsTsjlwEg2hnRYgSL8TsW1+UGY3D7Mbmk65oz4mPMviZ7ngGQx5XZ9laLooyTHm6i0b+agJqlVqivWl+0XqEnuEquqEzc84J+qL1lbcyki/Un1XShft3Tt6txs4Ok2Y7ilD0Haa04pvpa7T5Rmt8tPk/Hu95jw8uQ9jI9Y2uNPWZn+mip1e8O8BBuBynLMWscOBrx6GIt5ddkhAGgas80eAnxv7yhqHiyFvLz00b3jG0I0oK/le8QWx16zslCeJgQXE7mU+n1COyscqS6rHtT0wEYOcJ86qmPAFcFcHxuzBDeqDyI2XLiaY31ib6MQGlQt1hgvde0g7YoKf889/78GWuJzPf2A5ycGa/JpPmDGFhe/gNiZxL0UdKQPObZUtLnbl5/pHfqr7o5Q3H5iLrSNipEVDcYWlwQ3uJOw1F39TuUvwFRjRo7wLURQPAcKROjZUYECywDuGKkPN2Nkw3ldtLZgSyqsZOgp7t7dnoHLPdry6oG2uUtecJV7Hw3yNINkUZ1fhkCj5SymTV8SzhQZd7P8suHLQWewszsOfEoMuLPAmfEGr49mwuOIE6jsYdHDHCd9J0MQVxIDwLPpQfIuYJ8Z9ceAM7ZStkW3USLRIi5fJPprU+9F2w5sUnZgKpYC02KKtwSKtpboTkRgtfhiTCiLT3Fkmp+mGZmRzx2F0LGvPGxCIjWHeQg9SSv8f011YFKbUcF+HWnjlOBLuRAyMarkBILePuxXq/qE6Z4aTao6xFA4xHSyL2y6jw0gIuSzsaOWsfU8cl92oLhafYJbDPpZzoPgIMgWfUmayhy0xwqhEX7K/Zb1a0AS9PnB04IOhQHsiYqcCOm/VjPc8ocp/EFEaNO72pRO2su6FxaxMBTIhXXg++bRfa3wMwR/oQ5/WhTUXqSR3D1mx+N69DNrYySCcj9wAFTf0CGb2N7Sn7r1oFiF/XxRlyUoEDEFxo7V7XGVB4d2ivmUtHZeCLGpfXrF7HTnTbw45r5zrZa6rT7ZZCFExbWgNkKKOQaBjO6CtUWU63QMlQMWCMIwNalHwxqmKIz3/AyB9YaPcmyS6a3pikIbItrgrsw19L5dEfo6s3VO8IgdqjAYuELnm3xi1M2Iokxry12xMk9xuaL0pcR4ghqQLONnIM3yfdIvVhXpdO9/Ks8E6lLcF4i238mUjv4Flf00+6sQLEkzZpUDnTbpjG9fpulS6lIEhUXZ3egu7I3r1C+FyG1CE1L0seafn+QEu3N1sruykH5Bq+ecEu1549u5biI2WbyHaK5Fg2adQOFiSd9M+DrHJTxmD6lj0xG7nYisLbfHMpa0TW70GRxlVFtktoPDUpravdSppxLFrmhJaSRjbqc6dTdK3L4HJX+1IUjUbpvMN164YCQviVQgbAYEnBVwY=,iv:tzFYqc1frcGOTOe3m4nYdJ7p9Veg9Xp8UznXkp/Q4bs=,tag:g4Ie6TkVeM/0o0SDpEYXpg==,type:str]", + "sops": { + "age": [ + { + "recipient": "age1j2lyxxhxj0g2fw05h8c856fjxy2f0salxlk78pwglpv2nxjm3ptsgxcce4", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwd0I5TldpcnNnYzhFMmxH\nQUF2a2hDUjdHeGFRYTFZbXVXVVgwUkUvUTA4CkhSQzJJazVnRXhveVdSaDZadGdJ\nTDJJVlBDMElLTCtEUHdDZUoyTEN4WjgKLS0tIEdSaDRwZ2NKTDltK1ZxSVV5cFlX\nUzhGMWxRdzN4STVSVFRZUENMd3NkNTgKBfK475dcHivDrH8FZ8AX+w5qcq+iTgxe\nzeMj1+QLZ9mvaFZu35XPErBXj5R/39OVZ8lNBy0fd2D3+y4t7QWK9Q==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age14vhzajp8xemrjzqh9gzf6rpy0sckf3sa4vfdf5u60xgrktnfxc0sx85uj6", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBteHp2TGFSdTVBcDMyeUtZ\nMVdNRWFLdDNSc0lHV3hZZnN5VTJJNUtJd3dvCkQ0YTIwMlhJQ1EwQWlEZFExT0Q5\ndTRHaVpURW9FeHdZV003TkFwL2NtOUEKLS0tIHI0MkhmREZucHU4VjBRa21vVkl1\nMWxJS1Q5NFNXYy9MTXlNWmJLSWswb28KQDe0YQ1ktWvOn21GT/h9CwudpvAGP+7j\nXdnk8vix0dNO76Ft35XK1JES6I6kKgOMtPLIf3nnA8JZkLSiiJiCjw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1wzdqusx4v0wpn7lgda4x4tw3qkd4jlcyy89pxrh4g679m0ajadtsh49e6t", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZam84RW1vaTFMQVlDVUxY\nSC9oWk03bGNTd3BzbzNHOHNUZk5Lc0hOdFVvClYzWHlzVzZQS3BWUFBNSjBJODJU\nN0c2eWw5VUhwSUNjMnpTQWpKbDJrREkKLS0tIFRkVTJ6YW9uZlZhUTFjNFRoejVv\nemZaYzVQdkFZMlJ2SkV5djhDeGNqSm8Kk+FpJ9ge/cHlMUd3v7nXN3OzfgLM9Mzt\nq6r2TGYAq50uM5TCxEFRX5IcPgOOSV2b7gmsWMtj4M/ag0djcs2ZAA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1qepnuljqzftv5sg72nj4wt0njcnezvnlhsq0dg8zqls5e2twzuwsyxklww", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4L0VETDl6SjNsNzVwb3Az\ndnYwZ01nZ1duTGdyTUNHKzV4NDdaVTE2V1JZCktxZlhiSlVRNnQ1NEJoZEdxWDF5\nRmJpa3FWR2lWMEtVaS9pc2QxenlndG8KLS0tIDlqNnFGOUR1WUNFaG9SVFhPTXZC\nemJFVnVHZjNIcmZ4dSt4bHlpcEROVkEK1j4AyNrr7oiFoNO+c5QA6W8QR6GALCh7\nExx1GHxhRlAjFu5ulwunRmsffoW6eGYzDyfjGVlqnYzXqBNkbFAGTw==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2025-12-25T22:12:34Z", + "mac": "ENC[AES256_GCM,data:p3OCvQ1TxbbIFE2s2vWazbAK6sM+KSeZI578Udoa4SqbBl0/aN2VoZB7lNW9vmcW82gR70xuGg+aKS4FvFiraHDWuItxWPXwfBfV3PBsa8zEtVWr95qV9KDZ+eqgFaVssd8CThCYBKgE64YMd5ZjUv/JmTTXPIx3xmlgc+coquw=,iv:/PIS5yJSw8yJ/395UTRKlgRc3P1nf3Gq8jyvmhop8No=,tag:5fxaPUITuRCgOsiPB72Gsg==,type:str]", + "unencrypted_suffix": "_unencrypted", + "version": "3.10.2" + } +} diff --git a/flake.lock b/flake.lock index 196c8be2..137fa596 100644 --- a/flake.lock +++ b/flake.lock @@ -1,35 +1,38 @@ { "nodes": { - "aquamarine": { + "axiom-deploy-annotation": { "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], "nixpkgs": [ - "hyprland", "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" ] }, "locked": { - "lastModified": 1751740947, - "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", + "lastModified": 1767705255, + "narHash": "sha256-mn8A371K+CBIrkZyaLMIxSK/XX0pejTxAq7IcImWRUw=", + "owner": "bdsqqq", + "repo": "axiom-deploy-annotation", + "rev": "c1a9f86a93bab012df2e8dfb23843621c9f9804a", + "type": "github" + }, + "original": { + "owner": "bdsqqq", + "repo": "axiom-deploy-annotation", + "type": "github" + } + }, + "axiom-skills": { + "flake": false, + "locked": { + "lastModified": 1769265806, + "narHash": "sha256-qQYQ+EB8H6GEsDt2DATXetzS3bWkxfXanB+2UlsQtyQ=", + "owner": "axiomhq", + "repo": "skills", + "rev": "eb780ea269091f5a2f03c879497ac6b1c8aaf04d", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "aquamarine", + "owner": "axiomhq", + "repo": "skills", "type": "github" } }, @@ -38,11 +41,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", "type": "github" }, "original": { @@ -54,27 +57,28 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "lastModified": 1765809053, + "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", "owner": "tomyun", "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "type": "github" } }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1760703920, + "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "d646af9b7d14bff08824538164af99d0c521b185", "type": "github" }, "original": { @@ -112,50 +116,61 @@ }, "parent": [] }, - "firefox-gnome-theme": { - "flake": false, + "copyparty": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "lastModified": 1766769718, + "narHash": "sha256-HUFMhHktTdcdXL31Bhhjm+35W32xhts7ki67zADYwmw=", + "owner": "9001", + "repo": "copyparty", + "rev": "4642d32366e30c131d933c8bd0a519b69f4d3fff", "type": "github" }, "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", + "owner": "9001", + "repo": "copyparty", "type": "github" } }, - "flake-compat": { - "flake": false, + "cursor": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixpkgs" + ] + }, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "lastModified": 1767193412, + "narHash": "sha256-SyZ8wU4Dr5IGZNoCKqh4L30MW3EHFCa3XekYpCJAElc=", + "owner": "bdsqqq", + "repo": "cursor-nix", + "rev": "a6a4f05fba499c2d850ca60667a6c10f6bc5de7f", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "bdsqqq", + "repo": "cursor-nix", "type": "github" } }, - "flake-compat_2": { + "firefox-gnome-theme": { + "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "lastModified": 1764724327, + "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", "type": "github" } }, @@ -164,11 +179,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -185,11 +200,11 @@ ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -206,11 +221,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -220,15 +235,12 @@ } }, "flake-utils": { - "inputs": { - "systems": "systems_2" - }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", "type": "github" }, "original": { @@ -237,107 +249,75 @@ "type": "github" } }, - "fromYaml": { - "flake": false, - "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", - "type": "github" - }, - "original": { - "owner": "SenchoPens", - "repo": "fromYaml", - "type": "github" - } - }, - "git-hooks": { + "flake-utils_2": { "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] + "systems": "systems" }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { - "owner": "cachix", - "repo": "git-hooks.nix", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "gitignore": { + "flake-utils_3": { "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] + "systems": "systems_2" }, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "git-hooks", - "nixpkgs" - ] - }, + "fromYaml": { + "flake": false, "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", + "owner": "SenchoPens", + "repo": "fromYaml", "type": "github" } }, "gnome-shell": { "flake": false, "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "host": "gitlab.gnome.org", + "lastModified": 1764524476, + "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", - "type": "github" + "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "type": "gitlab" }, "original": { + "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "48.2", + "ref": "gnome-49", "repo": "gnome-shell", - "type": "github" + "type": "gitlab" } }, "home-manager": { @@ -347,11 +327,11 @@ ] }, "locked": { - "lastModified": 1750304462, - "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", + "lastModified": 1766881808, + "narHash": "sha256-JR7A2xS3EBPWFeONzhqez5vp7nKEsp7eLj2Ks210Srk=", "owner": "nix-community", "repo": "home-manager", - "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", + "rev": "d2e0458d6531885600b346e161c38790dc356fa8", "type": "github" }, "original": { @@ -360,375 +340,248 @@ "type": "github" } }, - "home-manager_2": { + "jovian-nixos": { "inputs": { + "nix-github-actions": "nix-github-actions", "nixpkgs": [ - "stylix", "nixpkgs" ] }, "locked": { - "lastModified": 1751146119, - "narHash": "sha256-gvjG95TCnUVJkvQvLMlnC4NqiqFyBdJk3o8/RwuHeaU=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "76d0c31fce2aa0c71409de953e2f9113acd5b656", + "lastModified": 1766561058, + "narHash": "sha256-VFqsBWqFFBTBqKFw0fGw2a2mJjPP9HPW8nXEW2A5zJM=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "9d0abe57d633a6e08d72865a761891a8c81e740f", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "home-manager", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", "type": "github" } }, - "hyprcursor": { + "lnr": { "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], + "flake-utils": "flake-utils_3", "nixpkgs": [ - "hyprland", "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" ] }, "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "lastModified": 1769629568, + "narHash": "sha256-sTF1D2Uky7JpaPKV4IYJ0Txj74119LIhCIp3BBHkzUI=", + "owner": "bdsqqq", + "repo": "lnr", + "rev": "927738975ff7b19002ce6a126b77b8dddbf78ef0", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprcursor", + "owner": "bdsqqq", + "repo": "lnr", "type": "github" } }, - "hyprgraphics": { + "niri": { "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1751808145, - "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", - "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems", - "xdph": "xdph" + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1751924675, - "narHash": "sha256-m4tHovRQpjdx/ClVQvUY4EdMxto38wUSd/8X4NdD0pA=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "9856563f8966856871a95f70757362f694ff22a6", + "lastModified": 1766765523, + "narHash": "sha256-DCk3GKdKZNjpvNuDy9ZVfVwCy3tlm96/UZnYkJO7N44=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "a3e638c75d07de759421e6f34bd69c3f9a0a3567", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "Hyprland", + "owner": "sodiboo", + "repo": "niri-flake", "type": "github" } }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, + "niri-stable": { + "flake": false, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", + "owner": "YaLTeR", + "ref": "v25.08", + "repo": "niri", "type": "github" } }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, + "niri-unstable": { + "flake": false, "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", + "lastModified": 1766751930, + "narHash": "sha256-83/YSW6c58i/iwGzAFApuMy6MCgoIaROeCcoIGh+ViU=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "b5640d5293ad8dca06cb447692ea7cbb21680eb1", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", + "owner": "YaLTeR", + "repo": "niri", "type": "github" } }, - "hyprland-qtutils": { + "nix-darwin": { "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], "nixpkgs": [ - "hyprland", "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" ] }, "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "lastModified": 1766784396, + "narHash": "sha256-rIlgatT0JtwxsEpzq+UrrIJCRfVAXgbYPzose1DmAcM=", + "owner": "nix-darwin", + "repo": "nix-darwin", + "rev": "f0c8e1f6feb562b5db09cee9fb566a2f989e6b55", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", + "owner": "nix-darwin", + "ref": "master", + "repo": "nix-darwin", "type": "github" } }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, + "nix-flatpak": { "locked": { - "lastModified": 1750371198, - "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "lastModified": 1754777568, + "narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "62f636b87ef6050760a8cb325cadb90674d1e23e", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprlang", + "owner": "gmodena", + "repo": "nix-flatpak", "type": "github" } }, - "hyprutils": { + "nix-github-actions": { "inputs": { "nixpkgs": [ - "hyprland", + "jovian-nixos", "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" ] }, "locked": { - "lastModified": 1751888065, - "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "a8229739cf36d159001cfc203871917b83fdf917", + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprutils", + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", "type": "github" } }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, + "nixos-hardware": { "locked": { - "lastModified": 1751881472, - "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", + "lastModified": 1766568855, + "narHash": "sha256-UXVtN77D7pzKmzOotFTStgZBqpOcf8cO95FcupWp4Zo=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "c5db9569ac9cc70929c268ac461f4003e3e5ca80", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", + "owner": "NixOS", + "ref": "master", + "repo": "nixos-hardware", "type": "github" } }, - "ixx": { - "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" - ], - "nixpkgs": [ - "nixvim", - "nuschtosSearch", - "nixpkgs" - ] - }, + "nixpkgs": { "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "lastModified": 1766651565, + "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "type": "github" }, "original": { - "owner": "NuschtOS", - "ref": "v0.0.8", - "repo": "ixx", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, + "nixpkgs-lib": { "locked": { - "lastModified": 1750325256, - "narHash": "sha256-vvlxGz/waqJ3TGqM/iqXbnEc7/R1qnEXmaBiPaQ1RE0=", - "owner": "nix-darwin", - "repo": "nix-darwin", - "rev": "0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9", + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", "type": "github" }, "original": { - "owner": "nix-darwin", - "ref": "master", - "repo": "nix-darwin", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, - "nix-flatpak": { + "nixpkgs-stable": { "locked": { - "lastModified": 1751276396, - "narHash": "sha256-oOYrnKStMsOXST+wKnzuSZ49h8Dr1Q3mIn2f5Kb5GAw=", - "owner": "gmodena", - "repo": "nix-flatpak", - "rev": "59adb9ad1cbd915494fc35cd0e0a9d582ca9de74", + "lastModified": 1766736597, + "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", "type": "github" }, "original": { - "owner": "gmodena", - "repo": "nix-flatpak", + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", "type": "github" } }, - "nixos-hardware": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1750837715, - "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", + "lastModified": 1766651565, + "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "owner": "NixOS", - "repo": "nixos-hardware", - "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", + "repo": "nixpkgs", + "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "type": "github" }, "original": { "owner": "NixOS", - "ref": "master", - "repo": "nixos-hardware", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "nixpkgs": { + "nixpkgs_2": { "locked": { - "lastModified": 1750386251, - "narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=", + "lastModified": 1766840161, + "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb", + "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", "type": "github" }, "original": { @@ -738,28 +591,13 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-unstable": { + "nixpkgs_3": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1762111121, + "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", "type": "github" }, "original": { @@ -775,15 +613,14 @@ "nixpkgs": [ "nixpkgs" ], - "nuschtosSearch": "nuschtosSearch", "systems": "systems_3" }, "locked": { - "lastModified": 1750345447, - "narHash": "sha256-yOuSSfI4xovXQpSkZUK02CBcY1f0Nvm0RhnUN8xn2rY=", + "lastModified": 1766896009, + "narHash": "sha256-LdDmCAQltVP06ZqKYgxBk2tPZw+iRsmv8junwc0txUM=", "owner": "nix-community", "repo": "nixvim", - "rev": "6a1a348ab1f00bd32d2392b5c2fc72489c699af3", + "rev": "56f03c43130bf4e6b38cf49042fd45f413c9b0c4", "type": "github" }, "original": { @@ -801,15 +638,14 @@ "nixpkgs": [ "stylix", "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" + ] }, "locked": { - "lastModified": 1748730660, - "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", + "lastModified": 1764773531, + "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", "owner": "nix-community", "repo": "NUR", - "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", + "rev": "1d9616689e98beded059ad0384b9951e967a17fa", "type": "github" }, "original": { @@ -818,66 +654,67 @@ "type": "github" } }, - "nuschtosSearch": { + "quickshell": { "inputs": { - "flake-utils": "flake-utils", - "ixx": "ixx", "nixpkgs": [ - "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", - "owner": "NuschtOS", - "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", - "type": "github" + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", + "ref": "refs/heads/master", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" } }, "root": { "inputs": { + "axiom-deploy-annotation": "axiom-deploy-annotation", + "axiom-skills": "axiom-skills", "berkeley-mono": "berkeley-mono", + "copyparty": "copyparty", + "cursor": "cursor", "flake-parts": "flake-parts", "home-manager": "home-manager", - "hyprland": "hyprland", + "jovian-nixos": "jovian-nixos", + "lnr": "lnr", + "niri": "niri", "nix-darwin": "nix-darwin", "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", + "quickshell": "quickshell", + "snarktank-skills": "snarktank-skills", "sops-nix": "sops-nix", - "stylix": "stylix" + "spicetify-nix": "spicetify-nix", + "stylix": "stylix", + "vercel-skills": "vercel-skills", + "vicinae": "vicinae" + } + }, + "snarktank-skills": { + "flake": false, + "locked": { + "lastModified": 1768518368, + "narHash": "sha256-tpO3uKuT0IsPrU0fsmpW0GnHO9c/Fze9bQRvTTcYENw=", + "owner": "snarktank", + "repo": "amp-skills", + "rev": "bb6830e0855604d02e482ec10874703cf539d114", + "type": "github" + }, + "original": { + "owner": "snarktank", + "repo": "amp-skills", + "type": "github" } }, "sops-nix": { @@ -887,11 +724,11 @@ ] }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1766894905, + "narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7", "type": "github" }, "original": { @@ -900,6 +737,27 @@ "type": "github" } }, + "spicetify-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1766897356, + "narHash": "sha256-oKp9luuuXuMoUwpGUKUdt0G7lZGovcyOEI3guG0rNCw=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "6b49c4094e93629af2fcf789e0897450f57e2551", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, "stylix": { "inputs": { "base16": "base16", @@ -907,16 +765,13 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks", "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", "nixpkgs": [ "nixpkgs" ], "nur": "nur", - "systems": "systems_4", + "systems": "systems_5", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -924,11 +779,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1751656637, - "narHash": "sha256-x1uJ6wQ7C+N/Zx9liQzjyVOEwGf5tcKogSoGgxASZOg=", + "lastModified": 1766603026, + "narHash": "sha256-J2DDdRqSU4w9NNgkMfmMeaLIof5PXtS9RG7y6ckDvQE=", "owner": "danth", "repo": "stylix", - "rev": "606944b16862d43934fec3311f9cb9f478b7f99b", + "rev": "551df12ee3ebac52c5712058bd97fd9faa4c3430", "type": "github" }, "original": { @@ -939,16 +794,16 @@ }, "systems": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -997,6 +852,36 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -1033,11 +918,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1748180480, - "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", + "lastModified": 1763914658, + "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", "owner": "tinted-theming", "repo": "schemes", - "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", + "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", "type": "github" }, "original": { @@ -1049,11 +934,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1748740859, - "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", + "lastModified": 1764465359, + "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", + "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", "type": "github" }, "original": { @@ -1065,11 +950,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", + "lastModified": 1764464512, + "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", + "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", "type": "github" }, "original": { @@ -1078,66 +963,72 @@ "type": "github" } }, - "treefmt-nix": { + "vercel-skills": { + "flake": false, + "locked": { + "lastModified": 1768607231, + "narHash": "sha256-hS9TPqPz3jYxciAhgFmUGiy23mju47pWFK47Ab3Oum0=", + "owner": "vercel-labs", + "repo": "agent-skills", + "rev": "ba46938889d4e58635362fb8f618e1178ac3ec46", + "type": "github" + }, + "original": { + "owner": "vercel-labs", + "repo": "agent-skills", + "type": "github" + } + }, + "vicinae": { "inputs": { - "nixpkgs": [ - "stylix", - "nur", - "nixpkgs" - ] + "nixpkgs": "nixpkgs_3", + "systems": "systems_6" }, "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "lastModified": 1767188793, + "narHash": "sha256-0lfN0qkbm8DOKePieCZsrbXLR1Xrekau8KcfGSjVc1E=", + "owner": "bdsqqq", + "repo": "vicinae", + "rev": "f1afea89c35983880278c05384606a34ab1c8b40", "type": "github" }, "original": { - "owner": "numtide", - "repo": "treefmt-nix", + "owner": "bdsqqq", + "ref": "f1afea89", + "repo": "vicinae", "type": "github" } }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "type": "github" }, + "original": { + "owner": "Supreeeme", + "ref": "v0.7", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, "locked": { - "lastModified": 1751300244, - "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "lastModified": 1766429945, + "narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", + "owner": "Supreeeme", + "repo": "xwayland-satellite", "type": "github" } } diff --git a/flake.nix b/flake.nix index 2629ba80..2f54f95f 100644 --- a/flake.nix +++ b/flake.nix @@ -24,10 +24,6 @@ berkeley-mono.url = "path:./modules/shared/berkeley-mono"; berkeley-mono.flake = false; - # hyprland window manager - hyprland.url = "github:hyprwm/Hyprland"; - hyprland.inputs.nixpkgs.follows = "nixpkgs"; - stylix = { url = "github:danth/stylix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -38,9 +34,73 @@ # Declarative Flatpak management nix-flatpak.url = "github:gmodena/nix-flatpak"; + + # Declarative Spicetify configuration + spicetify-nix.url = "github:Gerg-L/spicetify-nix"; + spicetify-nix.inputs.nixpkgs.follows = "nixpkgs"; + + # File server + copyparty.url = "github:9001/copyparty"; + copyparty.inputs.nixpkgs.follows = "nixpkgs"; + + # Vicinae launcher (no nixpkgs.follows to preserve cachix cache hits) + # testing focus-loss fix - revert to vicinaehq/vicinae after PR merged + vicinae.url = "github:bdsqqq/vicinae/f1afea89"; + + # Axiom deploy annotations + axiom-deploy-annotation.url = "github:bdsqqq/axiom-deploy-annotation"; + axiom-deploy-annotation.inputs.nixpkgs.follows = "nixpkgs"; + + # Niri scrolling window manager + niri.url = "github:sodiboo/niri-flake"; + + # Quickshell - QtQuick-based shell toolkit (git version for latest features) + quickshell = { + url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # Jovian NixOS - Steam Deck experience for handhelds + jovian-nixos = { + url = "github:Jovian-Experiments/Jovian-NixOS"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # Cursor - auto-updating from apt repo + cursor = { + url = "github:bdsqqq/cursor-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + lnr = { + url = "github:bdsqqq/lnr"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # Axiom agent skills collection + axiom-skills = { + url = "github:axiomhq/skills"; + flake = false; + }; + + # snarktank amp skills collection + snarktank-skills = { + url = "github:snarktank/amp-skills"; + flake = false; + }; + + # vercel agent skills (react-best-practices, web-design-guidelines) + vercel-skills = { + url = "github:vercel-labs/agent-skills"; + flake = false; + }; }; - outputs = inputs@{ flake-parts, stylix, ... }: + outputs = inputs@{ self, flake-parts, stylix, ... }: + let + # get git revision for configuration tracking + flakeRevision = self.rev or self.dirtyRev or "unknown"; + in flake-parts.lib.mkFlake { inherit inputs; } { # Multi-system support for cross-platform compatibility systems = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" "aarch64-linux" ]; @@ -95,11 +155,11 @@ # Darwin configurations darwinConfigurations = { "mbp-m2" = inputs.nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; # Enhanced specialArgs: pass all inputs, system info, and utilities specialArgs = { inherit inputs; hostSystem = "aarch64-darwin"; + headMode = "graphical"; # Make system architecture available for conditional logic inherit (inputs.nixpkgs.lib) systems; # Helper function to get packages for different systems @@ -111,13 +171,26 @@ }; modules = [ inputs.sops-nix.darwinModules.sops + inputs.axiom-deploy-annotation.darwinModules.default # Apply overlays to the main system packages - { + ({ config, ... }: { nixpkgs = { + hostPlatform = "aarch64-darwin"; config.allowUnfree = true; overlays = [ (import ./overlays/unstable.nix inputs) ]; }; - } + # track git revision for deploy annotations + system.configurationRevision = flakeRevision; + + # axiom deploy annotations + services.axiom-deploy-annotation = { + enable = true; + configPath = config.sops.secrets."axiom.toml".path; + dataset = "papertrail"; + datasets = [ "papertrail" "host-metrics" ]; + repositoryUrl = "https://github.com/bdsqqq/dots"; + }; + }) # Host-specific configuration ./hosts/mbp-m2/default.nix @@ -125,7 +198,7 @@ # Shared darwin modules (automatically available to all darwin hosts) { # Ensure all modules receive enhanced specialArgs - _module.args = { inherit inputs; isDarwin = true; }; + _module.args = { inherit inputs; isDarwin = true; headMode = "graphical"; }; } ]; }; @@ -151,29 +224,132 @@ # NixOS configurations nixosConfigurations = { "r56" = inputs.nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; }; + specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; headMode = "graphical"; }; modules = [ inputs.sops-nix.nixosModules.sops + inputs.axiom-deploy-annotation.nixosModules.default stylix.nixosModules.stylix - inputs.hyprland.nixosModules.default inputs.home-manager.nixosModules.home-manager inputs.nix-flatpak.nixosModules.nix-flatpak + inputs.niri.nixosModules.niri + ({ pkgs, config, ... }: { + nixpkgs.hostPlatform = "x86_64-linux"; + nixpkgs.overlays = [ + (import ./overlays/unstable.nix inputs) + (import ./overlays/hyprland-plugins.nix inputs) + (import ./overlays/quickshell.nix inputs) + ]; + system.configurationRevision = flakeRevision; + + services.axiom-deploy-annotation = { + enable = true; + configPath = config.sops.secrets."axiom.toml".path; + dataset = "papertrail"; + datasets = [ "papertrail" "host-metrics" ]; + repositoryUrl = "https://github.com/bdsqqq/dots"; + user = "bdsqqq"; + group = "users"; + }; + }) ./hosts/r56/default.nix ]; }; "htz-relay" = inputs.nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; }; + specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; headMode = "headless"; }; modules = [ inputs.sops-nix.nixosModules.sops + inputs.axiom-deploy-annotation.nixosModules.default stylix.nixosModules.stylix inputs.nix-flatpak.nixosModules.nix-flatpak inputs.home-manager.nixosModules.home-manager + inputs.copyparty.nixosModules.default + ({ pkgs, config, ... }: { + nixpkgs.hostPlatform = "x86_64-linux"; + nixpkgs.overlays = [ + inputs.copyparty.overlays.default + (import ./overlays/unstable.nix inputs) + ]; + system.configurationRevision = flakeRevision; + + services.axiom-deploy-annotation = { + enable = true; + configPath = config.sops.secrets."axiom.toml".path; + dataset = "papertrail"; + datasets = [ "papertrail" "host-metrics" ]; + repositoryUrl = "https://github.com/bdsqqq/dots"; + user = "bdsqqq"; + group = "users"; + }; + }) ./hosts/htz-relay/default.nix ]; }; + + "lgo-z2e" = inputs.nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; headMode = "graphical"; }; + modules = [ + inputs.sops-nix.nixosModules.sops + inputs.axiom-deploy-annotation.nixosModules.default + stylix.nixosModules.stylix + inputs.home-manager.nixosModules.home-manager + inputs.nix-flatpak.nixosModules.nix-flatpak + inputs.niri.nixosModules.niri + inputs.jovian-nixos.nixosModules.default + ({ pkgs, config, ... }: { + nixpkgs.hostPlatform = "x86_64-linux"; + nixpkgs.overlays = [ + (import ./overlays/unstable.nix inputs) + (import ./overlays/quickshell.nix inputs) + ]; + system.configurationRevision = flakeRevision; + + services.axiom-deploy-annotation = { + enable = true; + configPath = config.sops.secrets."axiom.toml".path; + dataset = "papertrail"; + datasets = [ "papertrail" "host-metrics" ]; + repositoryUrl = "https://github.com/bdsqqq/dots"; + user = "bdsqqq"; + group = "users"; + }; + }) + ./hosts/lgo-z2e/default.nix + ]; + }; + + "lgo-z2e-installer" = inputs.nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + { nixpkgs.hostPlatform = "x86_64-linux"; } + ./iso/lgo-z2e-installer.nix + ]; + }; + + "amp-worker" = inputs.nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; hostSystem = "x86_64-linux"; headMode = "headless"; }; + modules = [ + inputs.sops-nix.nixosModules.sops + inputs.axiom-deploy-annotation.nixosModules.default + inputs.home-manager.nixosModules.home-manager + ({ pkgs, config, ... }: { + nixpkgs.hostPlatform = "x86_64-linux"; + nixpkgs.overlays = [ (import ./overlays/unstable.nix inputs) ]; + system.configurationRevision = flakeRevision; + + services.axiom-deploy-annotation = { + enable = true; + configPath = config.sops.secrets."axiom.toml".path; + dataset = "papertrail"; + datasets = [ "papertrail" "host-metrics" ]; + repositoryUrl = "https://github.com/bdsqqq/dots"; + user = "bdsqqq"; + group = "users"; + }; + }) + ./hosts/amp-worker/default.nix + ]; + }; }; }; }; diff --git a/hosts/amp-worker/default.nix b/hosts/amp-worker/default.nix new file mode 100644 index 00000000..7dc7a9bc --- /dev/null +++ b/hosts/amp-worker/default.nix @@ -0,0 +1,89 @@ +{ config +, pkgs +, lib +, modulesPath +, inputs +, ... +}: + +let + mbpPubKey = lib.removeSuffix "\n" (builtins.readFile ../../system/ssh-keys/mbp-m2.pub); +in { + imports = ( + [ + ../../bundles/base.nix + ../../bundles/dev.nix + ../../system/vector.nix + ] + ) ++ lib.optionals (builtins.pathExists ./hardware-configuration.nix) [ ./hardware-configuration.nix ]; + + networking.hostName = "amp-worker"; + networking.useDHCP = lib.mkDefault true; + networking.networkmanager.enable = false; + + networking.firewall = { + enable = true; + allowPing = false; + trustedInterfaces = [ "tailscale0" ]; + allowedTCPPorts = [ 8080 ]; # webhook receiver + allowedUDPPorts = [ ]; + checkReversePath = "loose"; + }; + + services.tailscale = { + enable = true; + useRoutingFeatures = "client"; + extraUpFlags = [ "--ssh" "--accept-dns=false" ]; + authKeyFile = lib.mkIf (config.sops.secrets ? tailscale_auth_key) config.sops.secrets.tailscale_auth_key.path; + }; + + users.users.bdsqqq = { + isNormalUser = true; + extraGroups = [ "wheel" ]; + shell = pkgs.zsh; + openssh.authorizedKeys.keys = [ mbpPubKey ]; + hashedPassword = "$6$LeozgmV9I6N0QYNf$3BeytD3X/gFNzBJAeWYqFPqD7m9Qz4gn8vORyFtrJopplmZ/pgLZzcktymHLU9CVbR.SkFPg9MAbYNKWLzvaT0"; + }; + + security.sudo = { + enable = true; + wheelNeedsPassword = false; + }; + + programs.zsh.enable = true; + programs.tmux.enable = true; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; headMode = "headless"; torchBackend = "cpu"; }; + users.bdsqqq = { + home.username = "bdsqqq"; + home.homeDirectory = "/home/bdsqqq"; + home.stateVersion = "25.05"; + programs.home-manager.enable = true; + }; + }; + + time.timeZone = "Europe/London"; + i18n.defaultLocale = "en_US.UTF-8"; + + boot.loader.grub = { + enable = true; + device = "/dev/sda"; + }; + + environment.systemPackages = with pkgs; [ + git + curl + htop + jq + ]; + + services.qemuGuest.enable = true; + + nixpkgs.config.allowUnfree = true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + system.stateVersion = "25.05"; +} diff --git a/hosts/amp-worker/hardware-configuration.nix b/hosts/amp-worker/hardware-configuration.nix new file mode 100644 index 00000000..6679bdf7 --- /dev/null +++ b/hosts/amp-worker/hardware-configuration.nix @@ -0,0 +1,8 @@ +{ modulesPath, ... }: +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + boot.loader.grub.device = "/dev/sda"; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ]; + boot.initrd.kernelModules = [ "nvme" ]; + fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; +} diff --git a/hosts/htz-relay/default.nix b/hosts/htz-relay/default.nix index 1eacf31e..7340fba7 100644 --- a/hosts/htz-relay/default.nix +++ b/hosts/htz-relay/default.nix @@ -6,11 +6,15 @@ , ... }: -{ +let + mbpPubKey = lib.removeSuffix "\n" (builtins.readFile ../../system/ssh-keys/mbp-m2.pub); +in { imports = ( [ ../../bundles/base.nix ../../bundles/headless.nix + ../../bundles/dev.nix + ../../system/vector.nix ] ) ++ lib.optionals (builtins.pathExists ./hardware-configuration.nix) [ ./hardware-configuration.nix ]; @@ -24,7 +28,7 @@ trustedInterfaces = [ "tailscale0" ]; allowedTCPPorts = [ ]; allowedUDPPorts = [ ]; - interfaces.tailscale0.allowedTCPPorts = [ 22000 8384 ]; + interfaces.tailscale0.allowedTCPPorts = [ 22000 8384 3923 ]; interfaces.tailscale0.allowedUDPPorts = [ 22000 ]; checkReversePath = "loose"; }; @@ -32,23 +36,121 @@ # ssh provided by base bundle # tailscale provided by base bundle; host-specific flags preserved - services.tailscale.useRoutingFeatures = "client"; - services.tailscale.extraUpFlags = [ "--ssh" "--accept-dns=false" ]; + services.tailscale = { + enable = true; + useRoutingFeatures = "client"; + extraUpFlags = [ "--ssh" "--accept-dns=false" ]; + authKeyFile = lib.mkIf (config.sops.secrets ? tailscale_auth_key) config.sops.secrets.tailscale_auth_key.path; + }; + + # copyparty file server + services.copyparty = { + enable = true; + user = "bdsqqq"; + group = "users"; + settings = { + i = "0.0.0.0"; + p = [ 3923 ]; + v = [ "/mnt/storage-01/commonplace:/commonplace:r" ]; # read-only for everyone (on tailscale) + q = true; # quiet mode + }; + }; + + systemd.services.copyparty.serviceConfig.BindPaths = [ "/mnt/storage-01/commonplace" ]; - # syncthing provided by headless bundle; keep host-specific ports + # syncthing provided by headless bundle; declarative mesh settings live here services.syncthing = { openDefaultPorts = false; - guiAddress = "127.0.0.1:8384"; - settings.options.listenAddress = "tcp://0.0.0.0:22000,quic://0.0.0.0:22000"; + guiAddress = "0.0.0.0:8384"; + settings = { + gui = { + user = "bdsqqq"; + password = "$2a$10$jGT.D5kEaNOxsNaCvrmfqukdEW5e9ugrXU/dR15oSAACbDEYIR5YO"; + }; + options = { + urAccepted = -1; + listenAddress = [ + "tcp://0.0.0.0:22000" + "quic://0.0.0.0:22000" + ]; + globalAnnounceEnabled = false; + localAnnounceEnabled = false; + relaysEnabled = false; + natEnabled = false; + maxSendKbps = 0; + maxRecvKbps = 0; + connectionLimitEnough = 0; + connectionLimitMax = 0; + }; + + devices = { + "mbp-m2" = { + id = "6QPGO5Z-ZBZZVDW-MCYFBKB-MGZQO47-GITV6C5-5YGBXLT-VWHNAQ4-5XMKDAG"; + addresses = [ + "tcp://mbp-m2:22000" + "quic://mbp-m2:22000" + ]; + introducer = true; + }; + + ipd = { + id = "YORN2Q5-DWT444V-65WLF77-JHDHP5X-HHZEEFO-NKTLTYZ-M777AXS-X2KX6AF"; + addresses = [ + "tcp://ipd:22000" + "quic://ipd:22000" + ]; + }; + + iph16 = { + id = "L2PJ4F3-BZUZ4RX-3BCPIYB-V544M22-P3WDZBF-ZEVYT5A-GPTX5ZF-ZM5KTQK"; + addresses = [ + "tcp://iph16:22000" + "quic://iph16:22000" + ]; + }; + + r56 = { + id = "JOWDMTJ-LQKWV6K-5V37UTD-EKJBBHS-3FJPKWD-HRONTJC-F4NZGJN-VKJTZAQ"; + addresses = [ + "tcp://r56:22000" + "quic://r56:22000" + ]; + }; + }; + + folders = { + commonplace = { + enable = true; + id = "sqz7z-a6tfg"; + label = "commonplace"; + path = "/mnt/storage-01/commonplace"; + type = "sendreceive"; + rescanIntervalS = 3600; + devices = [ "mbp-m2" "ipd" "iph16" "r56" ]; + versioning = { + type = "trashcan"; + params.cleanoutDays = "0"; + }; + }; + }; + }; }; + systemd.tmpfiles.rules = [ + "d /mnt/storage-01/commonplace 0700 bdsqqq users -" + ]; + users.users.bdsqqq = { isNormalUser = true; extraGroups = [ "wheel" ]; shell = pkgs.zsh; - openssh.authorizedKeys.keys = [ - (builtins.readFile ../../config/ssh-keys/mbp-m2.pub) - ]; + openssh.authorizedKeys.keys = [ mbpPubKey ]; + hashedPassword = "$6$LeozgmV9I6N0QYNf$3BeytD3X/gFNzBJAeWYqFPqD7m9Qz4gn8vORyFtrJopplmZ/pgLZzcktymHLU9CVbR.SkFPg9MAbYNKWLzvaT0"; + }; + + security.sudo = { + enable = true; + wheelNeedsPassword = false; }; programs.zsh.enable = true; @@ -57,7 +159,7 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; }; + extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; headMode = "headless"; torchBackend = "cpu"; }; users.bdsqqq = { home.username = "bdsqqq"; home.homeDirectory = "/home/bdsqqq"; @@ -71,7 +173,6 @@ boot.loader.grub = { enable = true; - efiSupport = true; device = "/dev/sda"; }; @@ -82,6 +183,8 @@ tree ]; + services.qemuGuest.enable = true; + nixpkgs.config.allowUnfree = true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; diff --git a/hosts/htz-relay/hardware-configuration.nix b/hosts/htz-relay/hardware-configuration.nix new file mode 100644 index 00000000..61bf19b8 --- /dev/null +++ b/hosts/htz-relay/hardware-configuration.nix @@ -0,0 +1,15 @@ +{ modulesPath, ... }: +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + boot.loader.grub.device = "/dev/sda"; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ]; + boot.initrd.kernelModules = [ "nvme" ]; + fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; + + fileSystems."/mnt/storage-01" = { + device = "/dev/disk/by-id/scsi-0HC_Volume_104047902"; + fsType = "ext4"; + options = [ "discard" "defaults" "nofail" ]; + }; + +} diff --git a/hosts/htz-relay/hetzner-volume-resize.md b/hosts/htz-relay/hetzner-volume-resize.md new file mode 100644 index 00000000..331b176e --- /dev/null +++ b/hosts/htz-relay/hetzner-volume-resize.md @@ -0,0 +1,53 @@ +# Resizing a Hetzner Cloud Volume + +after resizing a volume in the hetzner console, the host's filesystem must be expanded to use the new space. this guide covers ext4 volumes mounted on nixos. + +## prerequisites + +- volume already resized in hetzner cloud console +- ssh access to the host (e.g., `ssh htz-relay`) + +## steps + +### 1. verify current state + +```bash +ssh htz-relay 'lsblk -f /dev/sdb && df -h /mnt/storage-01' +``` + +this shows the filesystem type (should be ext4) and current usage. the `Size` column in `df` output reflects what the filesystem currently sees—not the block device size. + +### 2. confirm block device sees new size + +```bash +ssh htz-relay 'sudo blockdev --getsize64 /dev/sdb | numfmt --to=iec' +``` + +if this shows the new size (hetzner may round up), proceed. if not, the console resize may not have propagated yet. + +### 3. resize the filesystem + +```bash +ssh htz-relay 'sudo resize2fs /dev/sdb' +``` + +ext4 supports online resizing—no unmount required. the command extends the filesystem to fill the block device. + +### 4. verify + +```bash +ssh htz-relay 'df -h /mnt/storage-01' +``` + +`Size` should now reflect the expanded volume. + +## notes + +- **data safety**: `resize2fs` only extends into unallocated space; existing data is not touched. +- **other filesystems**: xfs uses `xfs_growfs /mnt/storage-01` instead. btrfs uses `btrfs filesystem resize max /mnt/storage-01`. +- **if the volume won't resize**: ensure no processes are writing heavily; check `dmesg` for errors. + +## references + +- [hetzner cloud volumes docs](https://docs.hetzner.com/cloud/volumes/overview) +- `man resize2fs` diff --git a/hosts/lgo-z2e/default.nix b/hosts/lgo-z2e/default.nix new file mode 100644 index 00000000..6601278e --- /dev/null +++ b/hosts/lgo-z2e/default.nix @@ -0,0 +1,344 @@ +{ pkgs, inputs, lib, config, modulesPath, ... }: + +let + berkeleyMono = pkgs.stdenv.mkDerivation { + pname = "berkeley-mono"; + version = "1.0.0"; + src = inputs.berkeley-mono; + dontConfigure = true; + dontBuild = true; + installPhase = '' + runHook preInstall + mkdir -p $out/share/fonts/opentype/berkeley-mono + for file in "$src"/*.otf; do + install -m644 "$file" $out/share/fonts/opentype/berkeley-mono/ + done + runHook postInstall + ''; + }; +in +{ + stylix = { + enable = true; + image = ../../assets/wallpaper_without_mask.jpg; + base16Scheme = ../../modules/shared/e-ink-scheme.yaml; + polarity = "dark"; + + fonts = { + monospace = { + package = berkeleyMono; + name = "Berkeley Mono"; + }; + sansSerif = { + package = pkgs.inter; + name = "Inter"; + }; + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + sizes = { + terminal = 14; + applications = 12; + desktop = 12; + }; + }; + + cursor = { + package = pkgs.apple-cursor; + name = "macOS"; + size = 24; + }; + + opacity = { + terminal = 0.85; + }; + }; + + # acpi_call for TDP control via hhd/adjustor + boot.extraModulePackages = [ config.boot.kernelPackages.acpi_call ]; + boot.kernelModules = [ "acpi_call" ]; + + # amdgpu power profile control via systemd + polkit + # templated service: systemctl start amdgpu-profile@{low,auto,high}.service + systemd.services."amdgpu-profile@" = { + description = "Set AMDGPU power profile to %i"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.bash}/bin/bash -c 'echo %i > /sys/class/drm/card1/device/power_dpm_force_performance_level'"; + }; + }; + + # TDP control via ryzenadj + systemd + polkit + # templated service: systemctl start ryzenadj-tdp@{8,15,25,30}.service (values in watts) + systemd.services."ryzenadj-tdp@" = { + description = "Set CPU TDP to %i watts via ryzenadj"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit=%i000 --fast-limit=%i000 --slow-limit=%i000'"; + }; + }; + + # polkit rule: allow user to start power control units without password + security.polkit.extraConfig = '' + polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + (action.lookup("unit").indexOf("amdgpu-profile@") == 0 || + action.lookup("unit").indexOf("ryzenadj-tdp@") == 0) && + subject.user == "bdsqqq") { + return polkit.Result.YES; + } + }); + ''; + + imports = [ + ./hardware.nix + ../../bundles/base.nix + ../../bundles/headless.nix + ../../bundles/dev.nix + ../../bundles/desktop.nix + ../../bundles/wm/niri.nix + ../../system/bluetooth.nix + ../../system/audio.nix + ../../system/vector.nix + ../../user/ghostty.nix + ../../user/gaming.nix + ../../user/quickshell.nix + ../../system/flatpak.nix + ]; + + networking.hostName = "lgo-z2e"; + networking.networkmanager.enable = true; + networking.useDHCP = lib.mkDefault true; + + time.timeZone = "Europe/London"; + i18n.defaultLocale = "en_US.UTF-8"; + + environment.sessionVariables.DISPLAY = ":0"; + + # jovian-nixos: steam/gaming support (niri is primary session) + jovian = { + steam = { + enable = true; + autoStart = false; + user = "bdsqqq"; + }; + decky-loader.enable = true; + hardware.has.amd.gpu = true; + }; + + # handheld daemon for controller/gyro/TDP management + services.handheld-daemon = { + enable = true; + user = "bdsqqq"; + ui.enable = true; + }; + + # tailscale auth + services.tailscale = { + authKeyFile = lib.mkIf (config.sops.secrets ? tailscale_auth_key) config.sops.secrets.tailscale_auth_key.path; + }; + + # syncthing mesh + services.syncthing = { + settings = { + gui = { + user = "bdsqqq"; + password = "$2a$10$jGT.D5kEaNOxsNaCvrmfqukdEW5e9ugrXU/dR15oSAACbDEYIR5YO"; + }; + options = { + urAccepted = -1; + globalAnnounceEnabled = false; + localAnnounceEnabled = false; + relaysEnabled = false; + natEnabled = false; + }; + + devices = { + "mbp-m2" = { + id = "6QPGO5Z-ZBZZVDW-MCYFBKB-MGZQO47-GITV6C5-5YGBXLT-VWHNAQ4-5XMKDAG"; + addresses = [ "tcp://mbp-m2:22000" "quic://mbp-m2:22000" ]; + introducer = true; + }; + "htz-relay" = { + id = "HPMO7GH-P5UX4LC-OYSWWVP-XTMOUWL-QXUDAYH-ZJXXQDJ-QN677MY-QNQACQH"; + addresses = [ "tcp://htz-relay:22000" "quic://htz-relay:22000" ]; + }; + "r56" = { + id = "JOWDMTJ-LQKWV6K-5V37UTD-EKJBBHS-3FJPKWD-HRONTJC-F4NZGJN-VKJTZAQ"; + addresses = [ "tcp://r56:22000" "quic://r56:22000" ]; + }; + }; + + folders = { + commonplace = { + enable = true; + id = "sqz7z-a6tfg"; + label = "commonplace"; + path = "/home/bdsqqq/commonplace"; + type = "sendreceive"; + rescanIntervalS = 60; + devices = [ "mbp-m2" "htz-relay" "r56" ]; + versioning = { + type = "trashcan"; + params.cleanoutDays = "0"; + }; + }; + + prism-instances = { + enable = true; + id = "prism-instances"; + label = "PrismLauncher instances"; + path = "/home/bdsqqq/.local/share/PrismLauncher/instances"; + type = "sendreceive"; + rescanIntervalS = 120; + devices = [ "mbp-m2" "r56" ]; + }; + }; + }; + }; + + users.users.bdsqqq = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" "audio" "video" "input" ]; + shell = pkgs.zsh; + }; + + programs.zsh.enable = true; + + # steam with handheld-appropriate scaling + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + }; + + hardware.steam-hardware.enable = true; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "backup"; + extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; headMode = "graphical"; torchBackend = "cpu"; }; + sharedModules = [ + inputs.vicinae.homeManagerModules.default + ]; + users.bdsqqq = { + home.username = "bdsqqq"; + home.homeDirectory = "/home/bdsqqq"; + home.stateVersion = "25.05"; + programs.home-manager.enable = true; + + stylix.targets.ghostty.enable = false; + + programs.niri.settings.outputs."eDP-1".scale = 1.5; + + fonts.fontconfig = { + enable = true; + defaultFonts = { + monospace = [ "Berkeley Mono" ]; + sansSerif = [ "Inter" ]; + serif = [ "DejaVu Serif" ]; + }; + }; + + gtk = { + enable = true; + gtk3.extraConfig = { + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + gtk-xft-rgba = "rgb"; + }; + gtk4.extraConfig = { + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + }; + }; + + services.vicinae = { + enable = true; + systemd.enable = true; + systemd.autoStart = true; + settings = { + theme.name = lib.mkForce "vicinae-dark"; + window = { + csd = true; + opacity = lib.mkForce 0.95; + rounding = 0; + }; + # on_demand allows compositor to route clicks outside vicinae, + # enabling focus-loss detection for click-outside-to-close + launcher_window.layer_shell.keyboard_interactivity = "on_demand"; + }; + }; + }; + }; + + nix.settings = { + extra-substituters = [ + "https://vicinae.cachix.org" + ]; + extra-trusted-public-keys = [ + "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" + ]; + }; + + environment.systemPackages = with pkgs; [ + tree + unzip + usbutils + libnotify + + # handheld-specific + mangohud + gamemode + ryzenadj + ]; + + nixpkgs.config.allowUnfree = true; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + system.stateVersion = "25.05"; + + systemd.services.syncthing-gui-password = { + description = "Set Syncthing GUI password hash from sops secret"; + after = [ "syncthing-init.service" "sops-install-secrets.service" ]; + before = [ "syncthing.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + User = "bdsqqq"; + RemainAfterExit = true; + }; + path = [ pkgs.gnused pkgs.coreutils ]; + script = '' + set -euo pipefail + + SECRET_FILE="/run/secrets/syncthing_gui_password_hash" + if [ ! -f "$SECRET_FILE" ]; then + echo "syncthing-gui-password: secret not found, skipping" + exit 0 + fi + + HASH="$(cat "$SECRET_FILE")" + CFG_FILE="/home/bdsqqq/.config/syncthing/config.xml" + + if [ ! -f "$CFG_FILE" ]; then + echo "syncthing-gui-password: config.xml not found, skipping" + exit 0 + fi + + sed -i "s|.*|$HASH|" "$CFG_FILE" + + echo "syncthing-gui-password: hash updated in config.xml" + ''; + }; +} diff --git a/hosts/lgo-z2e/hardware.nix b/hosts/lgo-z2e/hardware.nix new file mode 100644 index 00000000..a0835419 --- /dev/null +++ b/hosts/lgo-z2e/hardware.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "usbhid" "uas" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ + "amd_pstate=active" + "amdgpu.sg_display=0" + ]; + + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/25f3f9c8-0ac3-4548-a49f-4b51d7bcd159"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/9EC6-CA14"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + hardware = { + enableRedistributableFirmware = true; + enableAllFirmware = true; + cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + graphics = { + enable = true; + enable32Bit = true; + }; + }; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/mbp-m2/default.nix b/hosts/mbp-m2/default.nix index bd1d70d6..c2716378 100644 --- a/hosts/mbp-m2/default.nix +++ b/hosts/mbp-m2/default.nix @@ -12,6 +12,9 @@ ../../system/macos-defaults.nix ../../system/kanata.nix ../../system/syncthing-automerge.nix + ../../system/code-server.nix + ../../system/vector.nix + ../../user/gaming.nix ]; # home-manager module enabled at flake level; user-layer provided via bundles @@ -22,12 +25,90 @@ inherit inputs systems pkgsFor; isDarwin = true; hostSystem = "aarch64-darwin"; + headMode = "graphical"; }; - users.bdsqqq = { + users.bdsqqq = { lib, pkgs, ... }: { home.username = "bdsqqq"; home.homeDirectory = "/Users/bdsqqq"; home.stateVersion = "25.05"; programs.home-manager.enable = true; + + # declarative syncthing settings (daemon managed by launchd in system/syncthing.nix) + services.syncthing = { + enable = true; + overrideFolders = true; + overrideDevices = true; + # use guiAddress (not settings.gui.address) - home-manager's init script + # PATCHes guiAddress after PUTting settings.gui, so settings.gui.address gets overwritten + guiAddress = "0.0.0.0:8384"; + + settings = { + gui = { + user = "bdsqqq"; + password = "$2a$10$jGT.D5kEaNOxsNaCvrmfqukdEW5e9ugrXU/dR15oSAACbDEYIR5YO"; + }; + options = { + urAccepted = -1; + globalAnnounceEnabled = false; + localAnnounceEnabled = false; + relaysEnabled = false; + natEnabled = false; + }; + + devices = { + "htz-relay" = { + id = "HPMO7GH-P5UX4LC-OYSWWVP-XTMOUWL-QXUDAYH-ZJXXQDJ-QN677MY-QNQACQH"; + addresses = [ "tcp://htz-relay:22000" "quic://htz-relay:22000" ]; + }; + "r56" = { + id = "JOWDMTJ-LQKWV6K-5V37UTD-EKJBBHS-3FJPKWD-HRONTJC-F4NZGJN-VKJTZAQ"; + addresses = [ "tcp://r56:22000" "quic://r56:22000" ]; + }; + "iph16" = { + id = "L2PJ4F3-BZUZ4RX-3BCPIYB-V544M22-P3WDZBF-ZEVYT5A-GPTX5ZF-ZM5KTQK"; + addresses = [ "dynamic" ]; + }; + "ipd" = { + id = "YORN2Q5-DWT444V-65WLF77-JHDHP5X-HHZEEFO-NKTLTYZ-M777AXS-X2KX6AF"; + addresses = [ "tcp://ipd:22000" "quic://ipd:22000" ]; + }; + "lgo-z2e" = { + id = "4B7Q2Z5-SNAOQJO-S4L4FSG-IBBV5XH-67DUXTW-L3Z3JT7-CUQCWP6-TKHP5AG"; + addresses = [ "tcp://lgo-z2e:22000" "quic://lgo-z2e:22000" ]; + }; + }; + + folders = { + commonplace = { + enable = true; + id = "sqz7z-a6tfg"; + label = "commonplace"; + path = "/Users/bdsqqq/commonplace"; + type = "sendreceive"; + rescanIntervalS = 60; + devices = [ "htz-relay" "r56" "iph16" "ipd" "lgo-z2e" ]; + versioning = { + type = "trashcan"; + params.cleanoutDays = "0"; + }; + }; + + prism-instances = { + enable = true; + id = "prism-instances"; + label = "PrismLauncher instances"; + path = "/Users/bdsqqq/Library/Application Support/PrismLauncher/instances"; + type = "sendreceive"; + rescanIntervalS = 120; + devices = [ "r56" "lgo-z2e" ]; + }; + }; + }; + }; + + # fix: home-manager syncthing doesn't set RunAtLoad, so manually override + launchd.agents.syncthing.config.RunAtLoad = true; + launchd.agents.syncthing-init.config.RunAtLoad = true; }; }; @@ -49,14 +130,10 @@ system.stateVersion = 6; # darwin baselines - nix.settings.experimental-features = "nix-command flakes"; nixpkgs = { hostPlatform = "aarch64-darwin"; config.allowUnfree = true; }; - # let nix-darwin own and link GUI apps into this directory - environment.darwinConfig.applicationsDir = "/Applications/Nix Apps"; - # Kanata enabled when host imports system/kanata.nix } diff --git a/hosts/r56/default.nix b/hosts/r56/default.nix index f8ed7541..f1956dac 100644 --- a/hosts/r56/default.nix +++ b/hosts/r56/default.nix @@ -1,90 +1,159 @@ { pkgs, inputs, lib, config, modulesPath, ... }: +let + berkeleyMono = pkgs.stdenv.mkDerivation { + pname = "berkeley-mono"; + version = "1.0.0"; + src = inputs.berkeley-mono; + dontConfigure = true; + dontBuild = true; + installPhase = '' + runHook preInstall + mkdir -p $out/share/fonts/opentype/berkeley-mono + for file in "$src"/*.otf; do + install -m644 "$file" $out/share/fonts/opentype/berkeley-mono/ + done + runHook postInstall + ''; + }; +in { + _module.args.torchBackend = "cu121"; + + stylix = { + enable = true; + image = ../../assets/wallpaper_without_mask.jpg; + base16Scheme = ../../modules/shared/e-ink-scheme.yaml; + polarity = "dark"; + + fonts = { + monospace = { + package = berkeleyMono; + name = "Berkeley Mono"; + }; + sansSerif = { + package = pkgs.inter; + name = "Inter"; + }; + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + sizes = { + terminal = 14; + applications = 12; + desktop = 12; + }; + }; + + cursor = { + package = pkgs.apple-cursor; + name = "macOS"; + size = 24; + }; + + opacity = { + terminal = 0.7; + }; + + }; + imports = [ ./hardware.nix ../../bundles/base.nix - ../../bundles/desktop.nix - ../../bundles/dev.nix ../../bundles/headless.nix + ../../bundles/dev.nix + ../../bundles/desktop.nix ../../bundles/wm/hyprland.nix + ../../bundles/wm/niri.nix ../../system/nvidia.nix - ../../system/sops.nix + ../../system/bluetooth.nix + ../../system/fan-control.nix + ../../system/audio.nix + ../../system/vector.nix + ../../user/ghostty.nix + ../../user/quickshell.nix + ../../user/gaming.nix + ../../system/flatpak.nix ]; networking.hostName = "r56"; networking.networkmanager.enable = true; networking.useDHCP = lib.mkDefault true; + # allow minecraft server on tailscale + networking.firewall.interfaces."tailscale0".allowedTCPPorts = [ 25565 ]; + networking.firewall.interfaces."tailscale0".allowedUDPPorts = [ 25565 ]; + time.timeZone = "Europe/London"; i18n.defaultLocale = "en_US.UTF-8"; - programs.hyprland.enable = true; - # tailscale provided by base bundle - - # Enable Kanata for homerow mods and layers - services.kanata = { - enable = true; - keyboards.default = { - devices = [ - # Apply to all USB keyboards EXCEPT Corne and Moonlander - "/dev/input/by-id/usb-*-kbd" - ]; - # Exclude specific keyboards by device name patterns - extraDefCfg = '' - linux-dev-names-exclude ( - "Corne Choc Pro" - "Moonlander Mark I" - ) - ''; - configFile = ../../assets/kanata.kbd; - }; + # ensure DISPLAY is set for xwayland-satellite (spawned as :0 by niri/hyprland) + environment.sessionVariables.DISPLAY = ":0"; + + # tailscale and ssh provided by base bundle; auth key for headless auth + services.tailscale = { + authKeyFile = lib.mkIf (config.sops.secrets ? tailscale_auth_key) config.sops.secrets.tailscale_auth_key.path; }; - # syncthing, flatpak, bluetooth, audio, login provided by bundles - - # Auto-trust paired devices for better persistence (host-specific MAC address) - systemd.services.bluetooth-auto-trust = { - description = "Auto-trust Bluetooth devices"; - after = [ "bluetooth.service" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.bash}/bin/bash -c '${pkgs.bluez}/bin/bluetoothctl trust E6:D2:2B:50:5B:64 || true'"; + # syncthing provided by headless bundle; declarative mesh settings here + services.syncthing = { + settings = { + gui = { + user = "bdsqqq"; + password = "$2a$10$jGT.D5kEaNOxsNaCvrmfqukdEW5e9ugrXU/dR15oSAACbDEYIR5YO"; + }; + options = { + urAccepted = -1; + globalAnnounceEnabled = false; + localAnnounceEnabled = false; + relaysEnabled = false; + natEnabled = false; + }; + + devices = { + "mbp-m2" = { + id = "6QPGO5Z-ZBZZVDW-MCYFBKB-MGZQO47-GITV6C5-5YGBXLT-VWHNAQ4-5XMKDAG"; + addresses = [ "tcp://mbp-m2:22000" "quic://mbp-m2:22000" ]; + introducer = true; + }; + "htz-relay" = { + id = "HPMO7GH-P5UX4LC-OYSWWVP-XTMOUWL-QXUDAYH-ZJXXQDJ-QN677MY-QNQACQH"; + addresses = [ "tcp://htz-relay:22000" "quic://htz-relay:22000" ]; + }; + "lgo-z2e" = { + id = "4B7Q2Z5-SNAOQJO-S4L4FSG-IBBV5XH-67DUXTW-L3Z3JT7-CUQCWP6-TKHP5AG"; + addresses = [ "tcp://lgo-z2e:22000" "quic://lgo-z2e:22000" ]; + }; + }; + + folders = { + commonplace = { + enable = true; + id = "sqz7z-a6tfg"; + label = "commonplace"; + path = "/home/bdsqqq/commonplace"; + type = "sendreceive"; + rescanIntervalS = 60; + devices = [ "mbp-m2" "htz-relay" "lgo-z2e" ]; + versioning = { + type = "trashcan"; + params.cleanoutDays = "0"; + }; + }; + + prism-instances = { + enable = true; + id = "prism-instances"; + label = "PrismLauncher instances"; + path = "/home/bdsqqq/.local/share/PrismLauncher/instances"; + type = "sendreceive"; + rescanIntervalS = 120; + devices = [ "mbp-m2" "lgo-z2e" ]; + }; + }; }; }; - - # SSH provided by base bundle - - # Enable dconf for theme settings - programs.dconf.enable = true; - - # Udev rules for DualSense controller support - services.udev.extraRules = '' - # DualSense PS5 controller - Bluetooth - KERNEL=="hidraw*", KERNELS=="*054C:0CE6*", MODE="0660", TAG+="uaccess" - # DualSense PS5 controller - USB - KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0660", TAG+="uaccess" - # DualSense Edge PS5 controller - Bluetooth - KERNEL=="hidraw*", KERNELS=="*054C:0DF2*", MODE="0660", TAG+="uaccess" - # DualSense Edge PS5 controller - USB - KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0df2", MODE="0660", TAG+="uaccess" - ''; - - # X server configuration (needed for Steam and some applications) - services.xserver = { - enable = true; - videoDrivers = [ "nvidia" ]; - # Don't enable display manager - we use greetd for Hyprland - }; - - # Enable XWayland for X11 apps like Steam - programs.xwayland.enable = true; - - # Enable Steam with hardware support for controllers - programs.steam.enable = true; - hardware.steam-hardware.enable = true; # Your user users.users.bdsqqq = { @@ -96,156 +165,106 @@ # Enable zsh programs.zsh.enable = true; + # Steam with controller support and proper wayland scaling + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + package = pkgs.steam.override { + extraEnv = { + STEAM_FORCE_DESKTOPUI_SCALING = "1.5"; + }; + }; + }; + + # udev rules for PS5 DualSense and other controllers + hardware.steam-hardware.enable = true; + # home-manager module is enabled at flake level; user-layer is provided via bundles home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; }; + backupFileExtension = "backup"; + extraSpecialArgs = { inherit inputs; isDarwin = false; hostSystem = "x86_64-linux"; headMode = "graphical"; torchBackend = "cu121"; }; + sharedModules = [ + inputs.vicinae.homeManagerModules.default + ]; users.bdsqqq = { home.username = "bdsqqq"; home.homeDirectory = "/home/bdsqqq"; home.stateVersion = "25.05"; programs.home-manager.enable = true; + + # disable stylix targets we manage manually + stylix.targets.hyprland.enable = false; + stylix.targets.ghostty.enable = false; + + # fontconfig for crisp font rendering at 1.5x + fonts.fontconfig = { + enable = true; + defaultFonts = { + monospace = [ "Berkeley Mono" ]; + sansSerif = [ "Inter" ]; + serif = [ "DejaVu Serif" ]; + }; + }; + + gtk = { + enable = true; + gtk3.extraConfig = { + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + gtk-xft-rgba = "rgb"; + }; + gtk4.extraConfig = { + gtk-xft-antialias = 1; + gtk-xft-hinting = 1; + gtk-xft-hintstyle = "hintslight"; + }; + }; + + services.vicinae = { + enable = true; + systemd.enable = true; + systemd.autoStart = true; + settings = { + theme.name = lib.mkForce "vicinae-dark"; + window = { + csd = true; + opacity = lib.mkForce 0.95; + rounding = 0; + }; + # on_demand allows compositor to route clicks outside vicinae, + # enabling focus-loss detection for click-outside-to-close + launcher_window.layer_shell.keyboard_interactivity = "on_demand"; + }; + }; }; }; + + # binary caches (niri cache auto-enabled by niri-flake module) + nix.settings = { + extra-substituters = [ + "https://vicinae.cachix.org" + ]; + extra-trusted-public-keys = [ + "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" + ]; + }; environment.systemPackages = with pkgs; [ - # File manager - nautilus - - # Additional desktop tools + # Basic system tools tree unzip - usbutils # For lsusb command - - # Theme tools - dconf - gsettings-desktop-schemas - - # Graphics and gaming support - vulkan-tools - vulkan-loader - vulkan-validation-layers - mesa - - # Display management - wdisplays # Wayland display configurator - wlr-randr # Command-line display management for wlroots - - # Controller support - dualsensectl # PS5 DualSense controller support - hidapi # HID API library for controller communication - linuxConsoleTools # JS utilities for testing controllers - - # Cursor theme (traditional macOS-style) - apple-cursor # Traditional macOS-style cursor theme + usbutils + libnotify ]; - # Fonts - extended packages + fontconfig for DejaVu blocking (host-specific) - fonts.packages = with pkgs; [ - ibm-plex - inter - noto-fonts-emoji - ]; - - fonts = { - enableDefaultPackages = false; # Disable default DejaVu fonts - fontconfig = { - enable = true; - defaultFonts = { - serif = [ "IBM Plex Serif" ]; - sansSerif = [ "Inter" ]; - monospace = [ "Berkeley Mono" ]; - emoji = [ "Noto Color Emoji" ]; - }; - # Override fontconfig defaults with higher priority - localConf = '' - - - - - - monospace - - Berkeley Mono - - - - - - sans-serif - - Inter - - - - - - serif - - IBM Plex Serif - - - - - - - - - DejaVu Sans Mono - - - - - - - DejaVu Sans - - - - - - - DejaVu Serif - - - - - - - Liberation Sans - - - - - - - Liberation Serif - - - - - - ''; - }; - }; + # fonts provided by base bundle nixpkgs.config.allowUnfree = true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - - # Set dark theme system-wide (NVIDIA vars provided by system/nvidia.nix) - environment.sessionVariables = { - # Force dark theme for GTK applications - GTK_THEME = "Adwaita:dark"; - # Set color scheme preference - COLOR_SCHEME = "prefer-dark"; - # Wayland session type - XDG_SESSION_TYPE = "wayland"; - # X11 display for applications that need it - DISPLAY = ":0"; - # Fix PS5 controller bluetooth compatibility with Steam - SDL_JOYSTICK_HIDAPI_PS5_RUMBLE = "0"; - }; # Automatic garbage collection nix.gc = { @@ -256,4 +275,40 @@ # System state version system.stateVersion = "25.05"; + + # set syncthing GUI password hash from sops secret (writes directly to config.xml) + systemd.services.syncthing-gui-password = { + description = "Set Syncthing GUI password hash from sops secret"; + after = [ "syncthing-init.service" "sops-install-secrets.service" ]; + before = [ "syncthing.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + User = "bdsqqq"; + RemainAfterExit = true; + }; + path = [ pkgs.gnused pkgs.coreutils ]; + script = '' + set -euo pipefail + + SECRET_FILE="/run/secrets/syncthing_gui_password_hash" + if [ ! -f "$SECRET_FILE" ]; then + echo "syncthing-gui-password: secret not found, skipping" + exit 0 + fi + + HASH="$(cat "$SECRET_FILE")" + CFG_FILE="/home/bdsqqq/.config/syncthing/config.xml" + + if [ ! -f "$CFG_FILE" ]; then + echo "syncthing-gui-password: config.xml not found, skipping" + exit 0 + fi + + # update password hash in config.xml + sed -i "s|.*|$HASH|" "$CFG_FILE" + + echo "syncthing-gui-password: hash updated in config.xml" + ''; + }; } diff --git a/hosts/r56/hardware.nix b/hosts/r56/hardware.nix index bb4a5ab4..1cfdb255 100644 --- a/hosts/r56/hardware.nix +++ b/hosts/r56/hardware.nix @@ -46,7 +46,7 @@ enable32Bit = true; extraPackages = with pkgs; [ nvidia-vaapi-driver - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl ]; }; diff --git a/iso/lgo-z2e-installer.nix b/iso/lgo-z2e-installer.nix new file mode 100644 index 00000000..642af01e --- /dev/null +++ b/iso/lgo-z2e-installer.nix @@ -0,0 +1,72 @@ +{ config, pkgs, lib, modulesPath, inputs, ... }: + +{ + imports = [ + (modulesPath + "/installer/cd-dvd/iso-image.nix") + (modulesPath + "/profiles/all-hardware.nix") + inputs.jovian-nixos.nixosModules.default + ]; + + config = { + isoImage.isoBaseName = lib.mkForce "lgo-z2e-nixos-installer"; + isoImage.makeEfiBootable = true; + isoImage.makeUsbBootable = true; + isoImage.squashfsCompression = "zstd -Xcompression-level 10"; + isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; + + hardware.enableRedistributableFirmware = true; + hardware.enableAllFirmware = true; + nixpkgs.config.allowUnfree = true; + + jovian = { + steam.enable = true; + hardware.has.amd.gpu = true; + }; + + services.handheld-daemon = { + enable = true; + user = "nixos"; + ui.enable = true; + }; + + services.openssh.enable = true; + + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + + networking.networkmanager.enable = true; + networking.wireless.enable = lib.mkForce false; + + users.users.nixos = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" "audio" "video" "input" ]; + initialPassword = "nixos"; + }; + + security.sudo.wheelNeedsPassword = false; + + environment.systemPackages = with pkgs; [ + vim + git + htop + parted + gptfdisk + dosfstools + e2fsprogs + networkmanager + mangohud + ]; + + programs.zsh.enable = true; + + boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelParams = [ + "amd_pstate=active" + "amdgpu.sg_display=0" + ]; + + system.stateVersion = "25.05"; + }; +} diff --git a/overlays/hyprland-plugins.nix b/overlays/hyprland-plugins.nix new file mode 100644 index 00000000..0ee3ba9b --- /dev/null +++ b/overlays/hyprland-plugins.nix @@ -0,0 +1,4 @@ +# overlays/hyprland-plugins.nix +# Empty overlay - plugins removed due to version compatibility issues +# Just use nixpkgs hyprland +inputs: final: prev: {} diff --git a/overlays/quickshell.nix b/overlays/quickshell.nix new file mode 100644 index 00000000..ed752048 --- /dev/null +++ b/overlays/quickshell.nix @@ -0,0 +1,26 @@ +# quickshell wrapped with runtime deps for QML Process calls. +# +# QML files use bare binary names for hot-reload during development. +# spawn-at-startup runs before home-manager sets up PATH, so we bake +# the deps into the wrapper. +# +# contract: if a QML file calls a binary via Process, add it here. +inputs: final: prev: { + quickshellWrapped = + let + quickshellPkg = inputs.quickshell.packages.${final.stdenv.hostPlatform.system}.default; + runtimeDeps = with final; [ + bluez # bluetoothctl (BluetoothModule.qml) + networkmanager # nmcli (NetworkModule.qml) + brightnessctl # brightnessctl (BrightnessModule.qml) + ]; + in final.symlinkJoin { + name = "quickshell-wrapped"; + paths = [ quickshellPkg ]; + buildInputs = [ final.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/quickshell \ + --prefix PATH : ${final.lib.makeBinPath runtimeDeps} + ''; + }; +} diff --git a/overlays/unstable.nix b/overlays/unstable.nix index d4c3564e..71795ffc 100644 --- a/overlays/unstable.nix +++ b/overlays/unstable.nix @@ -6,7 +6,7 @@ inputs: final: prev: { # Usage: pkgs.unstable.packageName for bleeding edge packages # Usage: pkgs.packageName for stable packages (default) unstable = import inputs.nixpkgs-unstable { - inherit (final) system; + inherit (final.stdenv.hostPlatform) system; config.allowUnfree = true; }; } diff --git a/overlays/whisper-cpp-cuda.nix b/overlays/whisper-cpp-cuda.nix new file mode 100644 index 00000000..75078ef1 --- /dev/null +++ b/overlays/whisper-cpp-cuda.nix @@ -0,0 +1,24 @@ +# overlays/whisper-cpp-cuda.nix +# Fixes nixpkgs whisper-cpp CUDA support +# +# The problem: nixpkgs sets -DGGML_BACKEND_DL=TRUE which builds backends as +# loadable modules, but whisper.cpp's #ifdef GGML_BACKEND_DL check never triggers +# because the cmake flag doesn't translate to a C preprocessor define. +# Result: ggml_backend_load_all() is never called, backends=0. +# +# The fix: Disable dynamic backend loading and link CUDA statically. +# This is simpler and more reliable on NixOS. +self: super: +let + lib = super.lib; +in { + whisper-cpp = super.whisper-cpp.overrideAttrs (old: { + # Disable dynamic backend loading - link cuda statically instead + cmakeFlags = (builtins.filter (f: !(lib.hasPrefix "-DGGML_BACKEND_DL" f) && + !(lib.hasPrefix "-DGGML_CPU_ALL_VARIANTS" f)) + (old.cmakeFlags or [])) ++ [ + (lib.cmakeBool "GGML_BACKEND_DL" false) + (lib.cmakeBool "GGML_CPU_ALL_VARIANTS" false) + ]; + }); +} diff --git a/pnpm-global-lock.yaml b/pnpm-global-lock.yaml new file mode 100644 index 00000000..0a62bec2 --- /dev/null +++ b/pnpm-global-lock.yaml @@ -0,0 +1,4318 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@sourcegraph/amp': + specifier: 0.0.1770293119-gc187f5 + version: 0.0.1770293119-gc187f5 + biome: + specifier: 0.3.3 + version: 0.3.3 + bun: + specifier: 1.3.5 + version: 1.3.5 + npm: + specifier: 11.7.0 + version: 11.7.0 + turbo: + specifier: 2.6.3 + version: 2.6.3 + typescript: + specifier: 5.9.3 + version: 5.9.3 + vercel: + specifier: 50.1.3 + version: 50.1.3(typescript@5.9.3) + +packages: + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@edge-runtime/format@2.2.1': + resolution: {integrity: sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==} + engines: {node: '>=16'} + + '@edge-runtime/node-utils@2.3.0': + resolution: {integrity: sha512-uUtx8BFoO1hNxtHjp3eqVPC/mWImGb2exOfGjMLUoipuWgjej+f4o/VP4bUI8U40gu7Teogd5VTeZUkGvJSPOQ==} + engines: {node: '>=16'} + + '@edge-runtime/ponyfill@2.4.2': + resolution: {integrity: sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==} + engines: {node: '>=16'} + + '@edge-runtime/primitives@4.1.0': + resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} + engines: {node: '>=16'} + + '@edge-runtime/vm@3.2.0': + resolution: {integrity: sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==} + engines: {node: '>=16'} + + '@emnapi/core@1.7.1': + resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} + + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + + '@emnapi/wasi-threads@1.1.0': + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.0': + resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.0': + resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.0': + resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.0': + resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.0': + resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.0': + resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.0': + resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.0': + resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.27.0': + resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.0': + resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.0': + resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.0': + resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.0': + resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.0': + resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.0': + resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.0': + resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.0': + resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.0': + resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.0': + resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.0': + resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.0': + resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.0': + resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.0': + resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.0': + resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.0': + resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.0': + resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + + '@iarna/toml@2.2.5': + resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@mapbox/node-pre-gyp@2.0.3': + resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==} + engines: {node: '>=18'} + hasBin: true + + '@napi-rs/keyring-darwin-arm64@1.1.9': + resolution: {integrity: sha512-/lVnrSFrut+8pQC6IcqlfHKzcEmf2XvQDOZPB5X4vI23GrNXBd56EuBlFPdTBtx46A8Bn+Aqi6pS8cnprHtcCw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/keyring-darwin-x64@1.1.9': + resolution: {integrity: sha512-G3PiFZTAFTzUnpSB31A/UaPjl48/3sDTLmLxaAZBEk7HcOyBnL31gA1YqhDCO7F2y5sD5TWiFiuID9MyqYOcjw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/keyring-freebsd-x64@1.1.9': + resolution: {integrity: sha512-R4XbvRhEzQyOy4yM+SMDgk8BgkLPkIzXGwR6QR0wJ2YrPeBx3F2TrgdHfsIGSn/X5Axg/2UlrCiZVciZ5BmusA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/keyring-linux-arm-gnueabihf@1.1.9': + resolution: {integrity: sha512-UrKy110I+zQyBtw4HLVUqZ1jDq11K3PmQIYgWAJNwB5VQOj4IQ63zLxk4V01Jx4bNOJmGNlvHDJUAyh/lC5Yww==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/keyring-linux-arm64-gnu@1.1.9': + resolution: {integrity: sha512-yOrhVpNGexDYzybe3dhmHQRPBDjlZPtJDE+eGSi1JwEqYlWDB+4IWjRsetxnO63DhnMFRLeMTdwWghsYrA7VwA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/keyring-linux-arm64-musl@1.1.9': + resolution: {integrity: sha512-82EcuzoV/+Dxwi1HHhrEEprN5Ou7OsRKyTJSaRqiVuGvLaQDUhZX/4zXTTh4Pz24m22Q4aoJogafS31w8iKGGw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/keyring-linux-riscv64-gnu@1.1.9': + resolution: {integrity: sha512-Q1ar7DszC1X8FW6w7Ql7b72GFeAUxkTiOuxXChCFBy7eWCQSDrr52ZLroIowp82RmkQLZebnK+IwSssD2Ntoag==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@napi-rs/keyring-linux-x64-gnu@1.1.9': + resolution: {integrity: sha512-LMvrYt1ho3pEDECssA7ATbcMDgayEUwwSD+UfrC7Hj1+C6dlvipwt5njwUDCno2OeXbjjisCo4CR9fDmXa4sZA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/keyring-linux-x64-musl@1.1.9': + resolution: {integrity: sha512-x2i/TgS2/fM+6LRj1MrtVC580sepz5GcxbSCXpttx2H58uZKBF0vVM9HDPHoKP2w5++fyrA17eltJNYN3Ob46A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/keyring-win32-arm64-msvc@1.1.9': + resolution: {integrity: sha512-14t6p8CTBNfGzLO5LXqurT+pAOf/ocGjOM/qiG/LW+jPkhyJYBNI9e3HKq3QX+ObbnxVpt4fAY02b4XLt7EWig==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/keyring-win32-ia32-msvc@1.1.9': + resolution: {integrity: sha512-7+7aXz5op6PtOnWYcK1GYXWQlk2zfpdPt9taLqmCCVpk1g4m3Gw1wyKyQxjrg9clHWdNhdWxhFEA0osDxG8/Eg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/keyring-win32-x64-msvc@1.1.9': + resolution: {integrity: sha512-P1wsSrSqDqvcXLL7yiH2RsO3De65wuEQj1ZjV9s1MHfEP5dIdriNYZfFsRBlOsl32GoK3qFzsuH5DTVviGEHSw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/keyring@1.1.9': + resolution: {integrity: sha512-qjg04yaJ/gFqgG7wDqLlWBvZpsjvYDtwL+xOr2vSM2JrhojuIKsw7pH013U7xJOradTVGeQqhwqgZtt2IblgOw==} + engines: {node: '>= 10'} + + '@napi-rs/wasm-runtime@1.1.0': + resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oven/bun-darwin-aarch64@1.3.5': + resolution: {integrity: sha512-8GvNtMo0NINM7Emk9cNAviCG3teEgr3BUX9be0+GD029zIagx2Sf54jMui1Eu1IpFm7nWHODuLEefGOQNaJ0gQ==} + cpu: [arm64] + os: [darwin] + + '@oven/bun-darwin-x64-baseline@1.3.5': + resolution: {integrity: sha512-p5q3rJk48qhLuLBOFehVc+kqCE03YrswTc6NCxbwsxiwfySXwcAvpF2KWKF/ZZObvvR8hCCvqe1F81b2p5r2dg==} + cpu: [x64] + os: [darwin] + + '@oven/bun-darwin-x64@1.3.5': + resolution: {integrity: sha512-r33eHQOHAwkuiBJIwmkXIyqONQOQMnd1GMTpDzaxx9vf9+svby80LZO9Hcm1ns6KT/TBRFyODC/0loA7FAaffg==} + cpu: [x64] + os: [darwin] + + '@oven/bun-linux-aarch64-musl@1.3.5': + resolution: {integrity: sha512-HKBeUlJdNduRkzJKZ5DXM+pPqntfC50/Hu2X65jVX0Y7hu/6IC8RaUTqpr8FtCZqqmc9wDK0OTL+Mbi9UQIKYQ==} + cpu: [arm64] + os: [linux] + + '@oven/bun-linux-aarch64@1.3.5': + resolution: {integrity: sha512-zkcHPI23QxJ1TdqafhgkXt1NOEN8o5C460sVeNnrhfJ43LwZgtfcvcQE39x/pBedu67fatY8CU0iY00nOh46ZQ==} + cpu: [arm64] + os: [linux] + + '@oven/bun-linux-x64-baseline@1.3.5': + resolution: {integrity: sha512-FeCQyBU62DMuB0nn01vPnf3McXrKOsrK9p7sHaBFYycw0mmoU8kCq/WkBkGMnLuvQljJSyen8QBTx+fXdNupWg==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64-musl-baseline@1.3.5': + resolution: {integrity: sha512-TJiYC7KCr0XxFTsxgwQOeE7dncrEL/RSyL0EzSL3xRkrxJMWBCvCSjQn7LV1i6T7hFst0+3KoN3VWvD5BinqHA==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64-musl@1.3.5': + resolution: {integrity: sha512-XkCCHkByYn8BIDvoxnny898znju4xnW2kvFE8FT5+0Y62cWdcBGMZ9RdsEUTeRz16k8hHtJpaSfLcEmNTFIwRQ==} + cpu: [x64] + os: [linux] + + '@oven/bun-linux-x64@1.3.5': + resolution: {integrity: sha512-n7zhKTSDZS0yOYg5Rq8easZu5Y/o47sv0c7yGr2ciFdcie9uYV55fZ7QMqhWMGK33ezCSikh5EDkUMCIvfWpjA==} + cpu: [x64] + os: [linux] + + '@oven/bun-windows-x64-baseline@1.3.5': + resolution: {integrity: sha512-rtVQB9/1XK8FWJgFtsOthbPifRMYypgJwxu+pK3NHx8WvFKmq7HcPDqNr8xLzGULjQEO7eAo2aOZfONOwYz+5g==} + cpu: [x64] + os: [win32] + + '@oven/bun-windows-x64@1.3.5': + resolution: {integrity: sha512-T3xkODItb/0ftQPFsZDc7EAX2D6A4TEazQ2YZyofZToO8Q7y8YT8ooWdhd0BQiTCd66uEvgE1DCZetynwg2IoA==} + cpu: [x64] + os: [win32] + + '@oxc-project/runtime@0.82.3': + resolution: {integrity: sha512-LNh5GlJvYHAnMurO+EyA8jJwN1rki7l3PSHuosDh2I7h00T6/u9rCkUjg/SvPmT1CZzvhuW0y+gf7jcqUy/Usg==} + engines: {node: '>=6.9.0'} + + '@oxc-project/types@0.82.3': + resolution: {integrity: sha512-6nCUxBnGX0c6qfZW5MaF6/fmu5dHJDMiMPaioKHKs5mi5+8/FHQ7WGjgQIz1zxpmceMYfdIXkOaLYE+ejbuOtA==} + + '@oxc-project/types@0.99.0': + resolution: {integrity: sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw==} + + '@rolldown/binding-android-arm64@1.0.0-beta.35': + resolution: {integrity: sha512-zVTg0544Ib1ldJSWwjy8URWYHlLFJ98rLnj+2FIj5fRs4KqGKP4VgH/pVUbXNGxeLFjItie6NSK1Un7nJixneQ==} + cpu: [arm64] + os: [android] + + '@rolldown/binding-android-arm64@1.0.0-beta.52': + resolution: {integrity: sha512-MBGIgysimZPqTDcLXI+i9VveijkP5C3EAncEogXhqfax6YXj1Tr2LY3DVuEOMIjWfMPMhtQSPup4fSTAmgjqIw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.0-beta.35': + resolution: {integrity: sha512-WPy0qx22CABTKDldEExfpYHWHulRoPo+m/YpyxP+6ODUPTQexWl8Wp12fn1CVP0xi0rOBj7ugs6+kKMAJW56wQ==} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-arm64@1.0.0-beta.52': + resolution: {integrity: sha512-MmKeoLnKu1d9j6r19K8B+prJnIZ7u+zQ+zGQ3YHXGnr41rzE3eqQLovlkvoZnRoxDGPA4ps0pGiwXy6YE3lJyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-beta.35': + resolution: {integrity: sha512-3k1TabJafF/GgNubXMkfp93d5p30SfIMOmQ5gm1tFwO+baMxxVPwDs3FDvSl+feCWwXxBA+bzemgkaDlInmp1Q==} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-beta.52': + resolution: {integrity: sha512-qpHedvQBmIjT8zdnjN3nWPR2qjQyJttbXniCEKKdHeAbZG9HyNPBUzQF7AZZGwmS9coQKL+hWg9FhWzh2dZ2IA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-beta.35': + resolution: {integrity: sha512-GAiapN5YyIocnBVNEiOxMfWO9NqIeEKKWohj1sPLGc61P+9N1meXOOCiAPbLU+adXq0grtbYySid+Or7f2q+Mg==} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-freebsd-x64@1.0.0-beta.52': + resolution: {integrity: sha512-dDp7WbPapj/NVW0LSiH/CLwMhmLwwKb3R7mh2kWX+QW85X1DGVnIEyKh9PmNJjB/+suG1dJygdtdNPVXK1hylg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.35': + resolution: {integrity: sha512-okPKKIE73qkUMvq7dxDyzD0VIysdV4AirHqjf8tGTjuNoddUAl3WAtMYbuZCEKJwUyI67UINKO1peFVlYEb+8w==} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.52': + resolution: {integrity: sha512-9e4l6vy5qNSliDPqNfR6CkBOAx6PH7iDV4OJiEJzajajGrVy8gc/IKKJUsoE52G8ud8MX6r3PMl97NfwgOzB7g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.35': + resolution: {integrity: sha512-Nky8Q2cxyKVkEETntrvcmlzNir5khQbDfX3PflHPbZY7XVZalllRqw7+MW5vn+jTsk5BfKVeLsvrF4344IU55g==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.52': + resolution: {integrity: sha512-V48oDR84feRU2KRuzpALp594Uqlx27+zFsT6+BgTcXOtu7dWy350J1G28ydoCwKB+oxwsRPx2e7aeQnmd3YJbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.35': + resolution: {integrity: sha512-8aHpWVSfZl3Dy2VNFG9ywmlCPAJx45g0z+qdOeqmYceY7PBAT4QGzii9ig1hPb1pY8K45TXH44UzQwr2fx352Q==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.52': + resolution: {integrity: sha512-ENLmSQCWqSA/+YN45V2FqTIemg7QspaiTjlm327eUAMeOLdqmSOVVyrQexJGNTQ5M8sDYCgVAig2Kk01Ggmqaw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.35': + resolution: {integrity: sha512-1r1Ac/vTcm1q4kRiX/NB6qtorF95PhjdCxKH3Z5pb+bWMDZnmcz18fzFlT/3C6Qpj/ZqUF+EUrG4QEDXtVXGgg==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.52': + resolution: {integrity: sha512-klahlb2EIFltSUubn/VLjuc3qxp1E7th8ukayPfdkcKvvYcQ5rJztgx8JsJSuAKVzKtNTqUGOhy4On71BuyV8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.35': + resolution: {integrity: sha512-AFl1LnuhUBDfX2j+cE6DlVGROv4qG7GCPDhR1kJqi2+OuXGDkeEjqRvRQOFErhKz1ckkP/YakvN7JheLJ2PKHQ==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.52': + resolution: {integrity: sha512-UuA+JqQIgqtkgGN2c/AQ5wi8M6mJHrahz/wciENPTeI6zEIbbLGoth5XN+sQe2pJDejEVofN9aOAp0kaazwnVg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.35': + resolution: {integrity: sha512-Tuwb8vPs+TVJlHhyLik+nwln/burvIgaPDgg6wjNZ23F1ttjZi0w0rQSZfAgsX4jaUbylwCETXQmTp3w6vcJMw==} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.52': + resolution: {integrity: sha512-1BNQW8u4ro8bsN1+tgKENJiqmvc+WfuaUhXzMImOVSMw28pkBKdfZtX2qJPADV3terx+vNJtlsgSGeb3+W6Jiw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.35': + resolution: {integrity: sha512-rG0OozgqNUYcpu50MpICMlJflexRVtQfjlN9QYf6hoel46VvY0FbKGwBKoeUp2K5D4i8lV04DpEMfTZlzRjeiA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.52': + resolution: {integrity: sha512-K/p7clhCqJOQpXGykrFaBX2Dp9AUVIDHGc+PtFGBwg7V+mvBTv/tsm3LC3aUmH02H2y3gz4y+nUTQ0MLpofEEg==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.35': + resolution: {integrity: sha512-WeOfAZrycFo9+ZqTDp3YDCAOLolymtKGwImrr9n+OW0lpwI2UKyKXbAwGXRhydAYbfrNmuqWyfyoAnLh3X9Hjg==} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.52': + resolution: {integrity: sha512-a4EkXBtnYYsKipjS7QOhEBM4bU5IlR9N1hU+JcVEVeuTiaslIyhWVKsvf7K2YkQHyVAJ+7/A9BtrGqORFcTgng==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.35': + resolution: {integrity: sha512-XkLT7ikKGiUDvLh7qtJHRukbyyP1BIrD1xb7A+w4PjIiOKeOH8NqZ+PBaO4plT7JJnLxx+j9g/3B7iylR1nTFQ==} + cpu: [ia32] + os: [win32] + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.52': + resolution: {integrity: sha512-5ZXcYyd4GxPA6QfbGrNcQjmjbuLGvfz6728pZMsQvGHI+06LT06M6TPtXvFvLgXtexc+OqvFe1yAIXJU1gob/w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.35': + resolution: {integrity: sha512-rftASFKVzjbcQHTCYHaBIDrnQFzbeV50tm4hVugG3tPjd435RHZC2pbeGV5IPdKEqyJSuurM/GfbV3kLQ3LY/A==} + cpu: [x64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.52': + resolution: {integrity: sha512-tzpnRQXJrSzb8Z9sm97UD3cY0toKOImx+xRKsDLX4zHaAlRXWh7jbaKBePJXEN7gNw7Nm03PBNwphdtA8KSUYQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.0-beta.35': + resolution: {integrity: sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg==} + + '@rolldown/pluginutils@1.0.0-beta.52': + resolution: {integrity: sha512-/L0htLJZbaZFL1g9OHOblTxbCYIGefErJjtYOwgl9ZqNx27P3L0SDfjhhHIss32gu5NWgnxuT2a2Hnnv6QGHKA==} + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@sinclair/typebox@0.25.24': + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + + '@sourcegraph/amp@0.0.1770293119-gc187f5': + resolution: {integrity: sha512-bcpUWMsuWsoEwdPgrzU/OEKVeZrmUfJ/Mwtuwk+A/OVVqArx3OmDYnZq9RkO0SvaBIHvBUYSP+iU8sidU+X/uA==} + engines: {node: '>=20'} + hasBin: true + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@ts-morph/common@0.11.1': + resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} + + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@16.18.11': + resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + + '@vercel/backends@0.0.17': + resolution: {integrity: sha512-T1wTYvBbOuSStMM3GO2YK39YOZaCsT8GpkSOP0+3Ya9MO7qkOsOTIkzIzMY4SRO1e1CiVqqlbkGgwsGirgc6mA==} + + '@vercel/blob@1.0.2': + resolution: {integrity: sha512-Im/KeFH4oPx7UsM+QiteimnE07bIUD7JK6CBafI9Z0jRFogaialTBMiZj8EKk/30ctUYsrpIIyP9iIY1YxWnUQ==} + engines: {node: '>=16.14'} + + '@vercel/build-utils@13.2.4': + resolution: {integrity: sha512-12m+8Z+wsxJUoWZ+JQqRk8v1O0ioJhGYWz+yStW8abuzfNz75QW2rRcbn0hSHuF8c7b3D2papmMdh94kSSYQEw==} + + '@vercel/cervel@0.0.7': + resolution: {integrity: sha512-x4AeBr6tiRO1QDK1T4DINtczdsedhPLnpOiwTuBUqhAs681Whf23elUrv2ibOXYeGQIWMcy1MlFh7wzac7E9RA==} + hasBin: true + peerDependencies: + typescript: ^4.0.0 || ^5.0.0 + + '@vercel/detect-agent@1.0.0': + resolution: {integrity: sha512-AIPgNkmtFcDgPCl+xvTT1ga90OL7OTX2RKM4zu0PMpwBthPfN2DpdHy10n3bh8K+CA22GDU0/ncjzprZsrk0sw==} + engines: {node: '>=14'} + + '@vercel/elysia@0.1.15': + resolution: {integrity: sha512-5XIV3yPRUZSbzJeSrBKSsc3h5AJlhAQ1D39X41oyi/2FF/dAb2rcH921ETYUqRmojbrH4ZKPqmpLbs/Qrv7BeQ==} + + '@vercel/error-utils@2.0.3': + resolution: {integrity: sha512-CqC01WZxbLUxoiVdh9B/poPbNpY9U+tO1N9oWHwTl5YAZxcqXmmWJ8KNMFItJCUUWdY3J3xv8LvAuQv2KZ5YdQ==} + + '@vercel/express@0.1.21': + resolution: {integrity: sha512-RqeU4tG88sQfFAhZmAop+RWM3oGkQVgI82Al8kdbGO++5MYDGdSgl7U/G9gTFoXAU/cgREqG13LNyfZ/WkLLqw==} + + '@vercel/fastify@0.1.18': + resolution: {integrity: sha512-oUg7KtKwtVjmGZozVlNXnHJewOzQPIJ+4xji81oznD8Vp7FER6lWDdyZnX9RdxZsJS561yiK9C3/wG0QLXWVCg==} + + '@vercel/fun@1.2.0': + resolution: {integrity: sha512-WSmS9qe2R+5roucDEwYB3atKhs9sUbkHV3laJGEUoqz25O83jLE/jqg/B/3yTunB0av1xqiCIBFFVKnXsqSc8w==} + engines: {node: '>= 18'} + + '@vercel/gatsby-plugin-vercel-analytics@1.0.11': + resolution: {integrity: sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==} + + '@vercel/gatsby-plugin-vercel-builder@2.0.114': + resolution: {integrity: sha512-IDwIk0kHePWEVEK24mjZB+LkDau+wEajtFA481qxqMVX+09M1p6Z+tLvKyzGm2gYEREFcC4fhJ0aStMPXA5w5A==} + + '@vercel/go@3.2.4': + resolution: {integrity: sha512-160JJuGJmBsu391lhiICFNZ4k5e3h7IUvnfXAzC1/W3ImpgDNWbR+pDcasZ1hs6xxtMzhHkO8CB94wZCgWibDA==} + + '@vercel/h3@0.1.24': + resolution: {integrity: sha512-N1+nE1nc+HZ6NThdzSd/AeUjTIpvg6HUbcsS3jnR+gucbpQSx4lirL34WUQjL/QjEJAUw2QB55N9Qv5zQMrX8w==} + + '@vercel/hono@0.2.18': + resolution: {integrity: sha512-OZ2yOcdKShSAZolmM8ALxABcCIAIK3GxraW69p7Kvs9yigXnDE2U/+sudIwAaT+fi2DfvkTDvH0Lltm1emskXg==} + + '@vercel/hydrogen@1.3.3': + resolution: {integrity: sha512-SCyAtjLCEvKbXgac/u42AVNcIE0/GdNe1dvTP/SV6qSUPo/5od9jlry+U55OdlUr9LRqCopehTrN5SxnmrderQ==} + + '@vercel/introspection@0.0.7': + resolution: {integrity: sha512-8JjxYqUsdxHaExbUANvGftAJeRTxVGYwTmaV9KcOA+C3SVvYSUertnQeTgKiau0Fc2cHmxh9e0poLxs2N3gZ2A==} + + '@vercel/nestjs@0.2.19': + resolution: {integrity: sha512-Fy/7TjPLZOptkpA66Cp6sulzTNEh6NPeLPXrjAThB8utRCoFDT1gWQQUALz/6y886wor2cPnj4kFHqjKreO38Q==} + + '@vercel/next@4.15.9': + resolution: {integrity: sha512-L1bQTxyCnGhWXafQ5xGgOvhAfGZbh5AVro0yOvAHf5Y3plGktR/psudEbbKyEeCszttVHWgdGwKYiVu+0nO40g==} + + '@vercel/nft@1.1.1': + resolution: {integrity: sha512-mKMGa7CEUcXU75474kOeqHbtvK1kAcu4wiahhmlUenB5JbTQB8wVlDI8CyHR3rpGo0qlzoRWqcDzI41FUoBJCA==} + engines: {node: '>=20'} + hasBin: true + + '@vercel/node@5.5.16': + resolution: {integrity: sha512-OoW99cfID3u45wbfOsy/Aibw55s0pzl4b4Wy77Weh690JhECFaiKeHL1GW6w8WGrObhKYDtsvYyoRJeKCm8kqA==} + + '@vercel/python@6.1.5': + resolution: {integrity: sha512-qbD48/B3sU7Ok/2T6Cd4hjOdlwewO0S1Lwp2wS59jdl5ne8E+9fwQZ4W4GWVytsK4o3cDz4siYDh5XrnMxCV6w==} + + '@vercel/redwood@2.4.6': + resolution: {integrity: sha512-lJgRENm7yZHvSMiGTFXd/x1Asz6MTFACfJHHMDThNL2hESvpbrOpp27t/NfNMCrV7TUEedHOE1fNIogy704S0Q==} + + '@vercel/remix-builder@5.5.6': + resolution: {integrity: sha512-7NG5OCyM3Hki1GYjLMv3LTusRR1oXNriW9Ux58kvmTmcXQFXAUzth1V3FuZRuxyn+f70io7AN2TRDAAwaAlfIA==} + + '@vercel/ruby@2.2.4': + resolution: {integrity: sha512-E7V8kUk/pgLT7ZmqyrZWShxaCHc73Cga4pwcW+jcvMAS4kj5niAaz1HquT5sIbq4onKvmHmB1dDEXE7IKAWsjA==} + + '@vercel/rust@1.0.4': + resolution: {integrity: sha512-G0uO7+j0c/r1vlumlC6KgBfAq9/eip43C96fxnhoN6aeesChrFh8dTeU6Qh9E26AGzHYBENjkpw0Qk4/FbI1ww==} + + '@vercel/static-build@2.8.15': + resolution: {integrity: sha512-shWTVMSX71TuPIoNlVjJPCFAqSteLtSsa7g8lY4AJ+cpAnhXeAJVUxCWzVVYN47GCyEB911JNOz4hvewv89ykg==} + + '@vercel/static-config@3.1.2': + resolution: {integrity: sha512-2d+TXr6K30w86a+WbMbGm2W91O0UzO5VeemZYBBUJbCjk/5FLLGIi8aV6RS2+WmaRvtcqNTn2pUA7nCOK3bGcQ==} + + abbrev@3.0.1: + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.6.3: + resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==} + + ansi-escapes@1.4.0: + resolution: {integrity: sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==} + engines: {node: '>=0.10.0'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + arg@4.1.0: + resolution: {integrity: sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + async-listen@1.2.0: + resolution: {integrity: sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==} + + async-listen@3.0.0: + resolution: {integrity: sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==} + engines: {node: '>= 14'} + + async-listen@3.0.1: + resolution: {integrity: sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==} + engines: {node: '>= 14'} + + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + biome@0.3.3: + resolution: {integrity: sha512-4LXjrQYbn9iTXu9Y4SKT7ABzTV0WnLDHCVSd2fPUOKsy1gQ+E4xPFmlY1zcWexoi0j7fGHItlL6OWA2CZ/yYAQ==} + hasBin: true + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + bun@1.3.5: + resolution: {integrity: sha512-c1YHIGUfgvYPJmLug5QiLzNWlX2Dg7X/67JWu1Va+AmMXNXzC/KQn2lgQ7rD+n1u1UqDpJMowVGGxTNpbPydNw==} + cpu: [arm64, x64] + os: [darwin, linux, win32] + hasBin: true + + bytes@3.1.0: + resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chokidar@4.0.0: + resolution: {integrity: sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA==} + engines: {node: '>= 14.16.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + + cli-cursor@1.0.2: + resolution: {integrity: sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==} + engines: {node: '>=0.10.0'} + + cli-width@1.1.1: + resolution: {integrity: sha512-eMU2akIeEIkCxGXUNmDnJq1KzOIiPnJ+rKqRe6hcxE3vIOPvpMrBYOn/Bl7zNlYJj/zQxXquAnozHUCf9Whnsg==} + + code-block-writer@10.1.1: + resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==} + + code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + + convert-hrtime@3.0.0: + resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} + engines: {node: '>=8'} + + cookie-es@2.0.0: + resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} + + core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + earlgrey-runtime@0.1.2: + resolution: {integrity: sha512-T4qoScXi5TwALDv8nlGTvOuCT8jXcKcxtO8qVdqv46IA2GHJfQzwoBPbkOmORnyhu3A98cVVuhWLsM2CzPljJg==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + edge-runtime@2.5.9: + resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} + engines: {node: '>=16'} + hasBin: true + + editor@1.0.0: + resolution: {integrity: sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw==} + + end-of-stream@1.1.0: + resolution: {integrity: sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + esbuild-android-64@0.14.47: + resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + esbuild-android-arm64@0.14.47: + resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + esbuild-darwin-64@0.14.47: + resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + esbuild-darwin-arm64@0.14.47: + resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + esbuild-freebsd-64@0.14.47: + resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + esbuild-freebsd-arm64@0.14.47: + resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + esbuild-linux-32@0.14.47: + resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + esbuild-linux-64@0.14.47: + resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + esbuild-linux-arm64@0.14.47: + resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + esbuild-linux-arm@0.14.47: + resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + esbuild-linux-mips64le@0.14.47: + resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + esbuild-linux-ppc64le@0.14.47: + resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + esbuild-linux-riscv64@0.14.47: + resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + esbuild-linux-s390x@0.14.47: + resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + esbuild-netbsd-64@0.14.47: + resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + esbuild-openbsd-64@0.14.47: + resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + esbuild-sunos-64@0.14.47: + resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + esbuild-windows-32@0.14.47: + resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + esbuild-windows-64@0.14.47: + resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + esbuild-windows-arm64@0.14.47: + resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + esbuild@0.14.47: + resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.0: + resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + events-intercept@2.0.0: + resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} + + execa@3.2.0: + resolution: {integrity: sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==} + engines: {node: ^8.12.0 || >=9.7.0} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit-hook@1.1.1: + resolution: {integrity: sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + figures@1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + + fs-extra@0.26.7: + resolution: {integrity: sha512-waKu+1KumRhYv8D8gMRCKJGAMI9pRnPuEb1mvgYD0f7wBscg+h6bW4FDTmEZhB9VKxvoTtxW+Y7bnIlB7zja6Q==} + + fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-promise@0.5.0: + resolution: {integrity: sha512-Y+4F4ujhEcayCJt6JmzcOun9MYGQwz+bVUiuBmTkJImhBHKpBvmVPZR9wtfiF7k3ffwAOAuurygQe+cPLSFQhw==} + deprecated: Use mz or fs-extra^3.0 with Promise Support + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + generic-pool@3.4.2: + resolution: {integrity: sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==} + engines: {node: '>= 4'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@13.0.0: + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} + engines: {node: 20 || >=22} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + + har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + + http-errors@1.7.3: + resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} + engines: {node: '>= 0.6'} + + http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + inquirer-promise@0.0.3: + resolution: {integrity: sha512-82CQX586JAV9GAgU9yXZsMDs+NorjA0nLhkfFx9+PReyOnuoHRbHrC1Z90sS95bFJI1Tm1gzMObuE0HabzkJpg==} + + inquirer@0.11.4: + resolution: {integrity: sha512-QR+2TW90jnKk9LUUtbcA3yQXKt2rDEKMh6+BAZQIeumtzHexnwVLdPakSslGijXYLJCzFv7GMXbFCn0pA00EUw==} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + jose@5.9.6: + resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==} + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + json-schema-to-ts@1.6.4: + resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + + kaiser@0.0.4: + resolution: {integrity: sha512-m8ju+rmBqvclZmyrOXgGGhOYSjKJK6RN1NhqEltemY87UqZOxEkizg9TOy1vQSyJ01Wx6SAPuuN0iO2Mgislvw==} + + klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + + lodash@3.10.1: + resolution: {integrity: sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@11.2.4: + resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} + engines: {node: 20 || >=22} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micro@9.3.5-canary.3: + resolution: {integrity: sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==} + engines: {node: '>= 8.0.0'} + hasBin: true + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.1.1: + resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stream@0.0.5: + resolution: {integrity: sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + node-fetch@2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm@11.7.0: + resolution: {integrity: sha512-wiCZpv/41bIobCoJ31NStIWKfAxxYyD1iYnWCtiyns8s5v3+l8y0HCP/sScuH6B5+GhIfda4HQKiqeGZwJWhFw==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/metavuln-calculator' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + + number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + + oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + once@1.3.3: + resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@1.1.0: + resolution: {integrity: sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==} + engines: {node: '>=0.10.0'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + + os-paths@4.4.0: + resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} + engines: {node: '>= 6.0'} + + p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + deprecated: This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions + + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} + engines: {node: 20 || >=22} + + path-to-regexp@1.9.0: + resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} + + path-to-regexp@6.1.0: + resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + promisepipe@3.0.0: + resolution: {integrity: sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + raw-body@2.4.1: + resolution: {integrity: sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==} + engines: {node: '>= 0.8'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + readline2@1.0.1: + resolution: {integrity: sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==} + + regenerator-runtime@0.9.6: + resolution: {integrity: sha512-D0Y/JJ4VhusyMOd/o25a3jdUqN/bC85EFsaoL9Oqmy/O4efCh+xhp7yj2EEOsj974qvMkcW8AwUzJ1jB/MbxCw==} + + request-promise@3.0.0: + resolution: {integrity: sha512-wVGUX+BoKxYsavTA72i6qHcyLbjzM4LR4y/AmDCqlbuMAursZdDWO7PmgbGAUvD2SeEJ5iB99VSq/U51i/DNbw==} + engines: {node: '>=0.10.0'} + deprecated: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 + + request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + restore-cursor@1.0.1: + resolution: {integrity: sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==} + engines: {node: '>=0.10.0'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rolldown@1.0.0-beta.35: + resolution: {integrity: sha512-gJATyqcsJe0Cs8RMFO8XgFjfTc0lK1jcSvirDQDSIfsJE+vt53QH/Ob+OBSJsXb98YtZXHfP/bHpELpPwCprow==} + hasBin: true + + rolldown@1.0.0-beta.52: + resolution: {integrity: sha512-Hbnpljue+JhMJrlOjQ1ixp9me7sUec7OjFvS+A1Qm8k8Xyxmw3ZhxFu7LlSXW1s9AX3POE9W9o2oqCEeR5uDmg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + run-async@0.1.0: + resolution: {integrity: sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rx-lite@3.1.2: + resolution: {integrity: sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + setprototypeof@1.1.1: + resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + engines: {node: '>=14'} + + srvx@0.8.9: + resolution: {integrity: sha512-wYc3VLZHRzwYrWJhkEqkhLb31TI0SOkfYZDkUhXdp3NoCnNS0FqajiQszZZjfow/VYEuc6Q5sZh9nM6kPy2NBQ==} + engines: {node: '>=20.16.0'} + hasBin: true + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + stat-mode@0.3.0: + resolution: {integrity: sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + + stream-to-promise@2.2.0: + resolution: {integrity: sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==} + + string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + tar@7.5.2: + resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} + engines: {node: '>=18'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + time-span@4.0.0: + resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} + engines: {node: '>=10'} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.0: + resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} + engines: {node: '>=0.6'} + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-morph@12.0.0: + resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} + + ts-node@10.9.1: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + ts-toolbelt@6.15.5: + resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + turbo-darwin-64@2.6.3: + resolution: {integrity: sha512-BlJJDc1CQ7SK5Y5qnl7AzpkvKSnpkfPmnA+HeU/sgny3oHZckPV2776ebO2M33CYDSor7+8HQwaodY++IINhYg==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@2.6.3: + resolution: {integrity: sha512-MwVt7rBKiOK7zdYerenfCRTypefw4kZCue35IJga9CH1+S50+KTiCkT6LBqo0hHeoH2iKuI0ldTF2a0aB72z3w==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@2.6.3: + resolution: {integrity: sha512-cqpcw+dXxbnPtNnzeeSyWprjmuFVpHJqKcs7Jym5oXlu/ZcovEASUIUZVN3OGEM6Y/OTyyw0z09tOHNt5yBAVg==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@2.6.3: + resolution: {integrity: sha512-MterpZQmjXyr4uM7zOgFSFL3oRdNKeflY7nsjxJb2TklsYqiu3Z9pQ4zRVFFH8n0mLGna7MbQMZuKoWqqHb45w==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@2.6.3: + resolution: {integrity: sha512-biDU70v9dLwnBdLf+daoDlNJVvqOOP8YEjqNipBHzgclbQlXbsi6Gqqelp5er81Qo3BiRgmTNx79oaZQTPb07Q==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@2.6.3: + resolution: {integrity: sha512-dDHVKpSeukah3VsI/xMEKeTnV9V9cjlpFSUs4bmsUiLu3Yv2ENlgVEZv65wxbeE0bh0jjpmElDT+P1KaCxArQQ==} + cpu: [arm64] + os: [win32] + + turbo@2.6.3: + resolution: {integrity: sha512-bf6YKUv11l5Xfcmg76PyWoy/e2vbkkxFNBGJSnfdSXQC33ZiUfutYh6IXidc5MhsnrFkWfdNNLyaRk+kHMLlwA==} + hasBin: true + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + uid-promise@1.0.0: + resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} + engines: {node: '>=14.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + untildify@3.0.3: + resolution: {integrity: sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==} + engines: {node: '>=4'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + user-home@2.0.0: + resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} + engines: {node: '>=0.10.0'} + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + vercel@50.1.3: + resolution: {integrity: sha512-mtuMYq+Vxa7E/UViORhw4F1LMZwFpHdKCSkfj9edfTKzBe64Vw5GBWSpNkE7Q/UDoCjQGukPyY1XiudnjF5ZUw==} + engines: {node: '>= 18'} + hasBin: true + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + web-vitals@0.2.4: + resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + xdg-app-paths@5.1.0: + resolution: {integrity: sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==} + engines: {node: '>=6'} + + xdg-portable@7.3.0: + resolution: {integrity: sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==} + engines: {node: '>= 6.0'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yauzl-clone@1.0.4: + resolution: {integrity: sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==} + engines: {node: '>=6'} + + yauzl-promise@2.1.3: + resolution: {integrity: sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==} + engines: {node: '>=6'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + +snapshots: + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@edge-runtime/format@2.2.1': {} + + '@edge-runtime/node-utils@2.3.0': {} + + '@edge-runtime/ponyfill@2.4.2': {} + + '@edge-runtime/primitives@4.1.0': {} + + '@edge-runtime/vm@3.2.0': + dependencies: + '@edge-runtime/primitives': 4.1.0 + + '@emnapi/core@1.7.1': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.7.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/aix-ppc64@0.27.0': + optional: true + + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.27.0': + optional: true + + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-arm@0.27.0': + optional: true + + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/android-x64@0.27.0': + optional: true + + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.27.0': + optional: true + + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.27.0': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.27.0': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.27.0': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.27.0': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-arm@0.27.0': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.27.0': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.27.0': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.27.0': + optional: true + + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.27.0': + optional: true + + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.27.0': + optional: true + + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.27.0': + optional: true + + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/linux-x64@0.27.0': + optional: true + + '@esbuild/netbsd-arm64@0.27.0': + optional: true + + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.27.0': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.27.0': + optional: true + + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.27.0': + optional: true + + '@esbuild/openharmony-arm64@0.27.0': + optional: true + + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.27.0': + optional: true + + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.27.0': + optional: true + + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.27.0': + optional: true + + '@esbuild/win32-x64@0.23.1': + optional: true + + '@esbuild/win32-x64@0.27.0': + optional: true + + '@fastify/busboy@2.1.1': {} + + '@iarna/toml@2.2.5': {} + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@mapbox/node-pre-gyp@2.0.3': + dependencies: + consola: 3.4.2 + detect-libc: 2.1.2 + https-proxy-agent: 7.0.6 + node-fetch: 2.7.0 + nopt: 8.1.0 + semver: 7.7.3 + tar: 7.5.2 + transitivePeerDependencies: + - encoding + - supports-color + + '@napi-rs/keyring-darwin-arm64@1.1.9': + optional: true + + '@napi-rs/keyring-darwin-x64@1.1.9': + optional: true + + '@napi-rs/keyring-freebsd-x64@1.1.9': + optional: true + + '@napi-rs/keyring-linux-arm-gnueabihf@1.1.9': + optional: true + + '@napi-rs/keyring-linux-arm64-gnu@1.1.9': + optional: true + + '@napi-rs/keyring-linux-arm64-musl@1.1.9': + optional: true + + '@napi-rs/keyring-linux-riscv64-gnu@1.1.9': + optional: true + + '@napi-rs/keyring-linux-x64-gnu@1.1.9': + optional: true + + '@napi-rs/keyring-linux-x64-musl@1.1.9': + optional: true + + '@napi-rs/keyring-win32-arm64-msvc@1.1.9': + optional: true + + '@napi-rs/keyring-win32-ia32-msvc@1.1.9': + optional: true + + '@napi-rs/keyring-win32-x64-msvc@1.1.9': + optional: true + + '@napi-rs/keyring@1.1.9': + optionalDependencies: + '@napi-rs/keyring-darwin-arm64': 1.1.9 + '@napi-rs/keyring-darwin-x64': 1.1.9 + '@napi-rs/keyring-freebsd-x64': 1.1.9 + '@napi-rs/keyring-linux-arm-gnueabihf': 1.1.9 + '@napi-rs/keyring-linux-arm64-gnu': 1.1.9 + '@napi-rs/keyring-linux-arm64-musl': 1.1.9 + '@napi-rs/keyring-linux-riscv64-gnu': 1.1.9 + '@napi-rs/keyring-linux-x64-gnu': 1.1.9 + '@napi-rs/keyring-linux-x64-musl': 1.1.9 + '@napi-rs/keyring-win32-arm64-msvc': 1.1.9 + '@napi-rs/keyring-win32-ia32-msvc': 1.1.9 + '@napi-rs/keyring-win32-x64-msvc': 1.1.9 + + '@napi-rs/wasm-runtime@1.1.0': + dependencies: + '@emnapi/core': 1.7.1 + '@emnapi/runtime': 1.7.1 + '@tybys/wasm-util': 0.10.1 + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@oven/bun-darwin-aarch64@1.3.5': + optional: true + + '@oven/bun-darwin-x64-baseline@1.3.5': + optional: true + + '@oven/bun-darwin-x64@1.3.5': + optional: true + + '@oven/bun-linux-aarch64-musl@1.3.5': + optional: true + + '@oven/bun-linux-aarch64@1.3.5': + optional: true + + '@oven/bun-linux-x64-baseline@1.3.5': + optional: true + + '@oven/bun-linux-x64-musl-baseline@1.3.5': + optional: true + + '@oven/bun-linux-x64-musl@1.3.5': + optional: true + + '@oven/bun-linux-x64@1.3.5': + optional: true + + '@oven/bun-windows-x64-baseline@1.3.5': + optional: true + + '@oven/bun-windows-x64@1.3.5': + optional: true + + '@oxc-project/runtime@0.82.3': {} + + '@oxc-project/types@0.82.3': {} + + '@oxc-project/types@0.99.0': {} + + '@rolldown/binding-android-arm64@1.0.0-beta.35': + optional: true + + '@rolldown/binding-android-arm64@1.0.0-beta.52': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-beta.35': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-beta.52': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-beta.35': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-beta.52': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-beta.35': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-beta.52': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.35': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.52': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.35': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.52': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.35': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.52': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.35': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.52': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.35': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.52': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.35': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.52': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.35': + dependencies: + '@napi-rs/wasm-runtime': 1.1.0 + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.52': + dependencies: + '@napi-rs/wasm-runtime': 1.1.0 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.35': + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.52': + optional: true + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.35': + optional: true + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.52': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.35': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.52': + optional: true + + '@rolldown/pluginutils@1.0.0-beta.35': {} + + '@rolldown/pluginutils@1.0.0-beta.52': {} + + '@rollup/pluginutils@5.3.0': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + + '@sinclair/typebox@0.25.24': {} + + '@sourcegraph/amp@0.0.1770293119-gc187f5': + dependencies: + '@napi-rs/keyring': 1.1.9 + + '@tootallnate/once@2.0.0': {} + + '@ts-morph/common@0.11.1': + dependencies: + fast-glob: 3.3.3 + minimatch: 3.1.2 + mkdirp: 1.0.4 + path-browserify: 1.0.1 + + '@tsconfig/node10@1.0.12': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@tybys/wasm-util@0.10.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/node@16.18.11': {} + + '@vercel/backends@0.0.17(typescript@5.9.3)': + dependencies: + '@vercel/cervel': 0.0.7(typescript@5.9.3) + '@vercel/introspection': 0.0.7 + '@vercel/nft': 1.1.1 + '@vercel/static-config': 3.1.2 + fs-extra: 11.1.0 + rolldown: 1.0.0-beta.35 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + - typescript + + '@vercel/blob@1.0.2': + dependencies: + async-retry: 1.3.3 + is-buffer: 2.0.5 + is-node-process: 1.2.0 + throttleit: 2.1.0 + undici: 5.29.0 + + '@vercel/build-utils@13.2.4': {} + + '@vercel/cervel@0.0.7(typescript@5.9.3)': + dependencies: + execa: 3.2.0 + rolldown: 1.0.0-beta.52 + srvx: 0.8.9 + tsx: 4.19.2 + typescript: 5.9.3 + + '@vercel/detect-agent@1.0.0': {} + + '@vercel/elysia@0.1.15': + dependencies: + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/error-utils@2.0.3': {} + + '@vercel/express@0.1.21(typescript@5.9.3)': + dependencies: + '@vercel/cervel': 0.0.7(typescript@5.9.3) + '@vercel/nft': 1.1.1 + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + fs-extra: 11.1.0 + path-to-regexp: 8.3.0 + rolldown: 1.0.0-beta.35 + ts-morph: 12.0.0 + zod: 3.22.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + - typescript + + '@vercel/fastify@0.1.18': + dependencies: + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/fun@1.2.0': + dependencies: + '@tootallnate/once': 2.0.0 + async-listen: 1.2.0 + debug: 4.3.4 + generic-pool: 3.4.2 + micro: 9.3.5-canary.3 + ms: 2.1.1 + node-fetch: 2.6.7 + path-match: 1.2.4 + promisepipe: 3.0.0 + semver: 7.5.4 + stat-mode: 0.3.0 + stream-to-promise: 2.2.0 + tar: 6.2.1 + tinyexec: 0.3.2 + tree-kill: 1.2.2 + uid-promise: 1.0.0 + xdg-app-paths: 5.1.0 + yauzl-promise: 2.1.3 + transitivePeerDependencies: + - encoding + - supports-color + + '@vercel/gatsby-plugin-vercel-analytics@1.0.11': + dependencies: + web-vitals: 0.2.4 + + '@vercel/gatsby-plugin-vercel-builder@2.0.114': + dependencies: + '@sinclair/typebox': 0.25.24 + '@vercel/build-utils': 13.2.4 + esbuild: 0.14.47 + etag: 1.8.1 + fs-extra: 11.1.0 + + '@vercel/go@3.2.4': {} + + '@vercel/h3@0.1.24': + dependencies: + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/hono@0.2.18': + dependencies: + '@vercel/nft': 1.1.1 + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + fs-extra: 11.1.0 + path-to-regexp: 8.3.0 + rolldown: 1.0.0-beta.35 + ts-morph: 12.0.0 + zod: 3.22.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/hydrogen@1.3.3': + dependencies: + '@vercel/static-config': 3.1.2 + ts-morph: 12.0.0 + + '@vercel/introspection@0.0.7': + dependencies: + path-to-regexp: 8.3.0 + zod: 3.22.4 + + '@vercel/nestjs@0.2.19': + dependencies: + '@vercel/node': 5.5.16 + '@vercel/static-config': 3.1.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/next@4.15.9': + dependencies: + '@vercel/nft': 1.1.1 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + '@vercel/nft@1.1.1': + dependencies: + '@mapbox/node-pre-gyp': 2.0.3 + '@rollup/pluginutils': 5.3.0 + acorn: 8.15.0 + acorn-import-attributes: 1.9.5(acorn@8.15.0) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 13.0.0 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.3 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + '@vercel/node@5.5.16': + dependencies: + '@edge-runtime/node-utils': 2.3.0 + '@edge-runtime/primitives': 4.1.0 + '@edge-runtime/vm': 3.2.0 + '@types/node': 16.18.11 + '@vercel/build-utils': 13.2.4 + '@vercel/error-utils': 2.0.3 + '@vercel/nft': 1.1.1 + '@vercel/static-config': 3.1.2 + async-listen: 3.0.0 + cjs-module-lexer: 1.2.3 + edge-runtime: 2.5.9 + es-module-lexer: 1.4.1 + esbuild: 0.14.47 + etag: 1.8.1 + mime-types: 2.1.35 + node-fetch: 2.6.9 + path-to-regexp: 6.1.0 + path-to-regexp-updated: path-to-regexp@6.3.0 + ts-morph: 12.0.0 + ts-node: 10.9.1(@types/node@16.18.11)(typescript@4.9.5) + typescript: 4.9.5 + typescript5: typescript@5.9.3 + undici: 5.28.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + + '@vercel/python@6.1.5': {} + + '@vercel/redwood@2.4.6': + dependencies: + '@vercel/nft': 1.1.1 + '@vercel/static-config': 3.1.2 + semver: 6.3.1 + ts-morph: 12.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + '@vercel/remix-builder@5.5.6': + dependencies: + '@vercel/error-utils': 2.0.3 + '@vercel/nft': 1.1.1 + '@vercel/static-config': 3.1.2 + path-to-regexp: 6.1.0 + path-to-regexp-updated: path-to-regexp@6.3.0 + ts-morph: 12.0.0 + transitivePeerDependencies: + - encoding + - rollup + - supports-color + + '@vercel/ruby@2.2.4': {} + + '@vercel/rust@1.0.4': + dependencies: + '@iarna/toml': 2.2.5 + execa: 5.1.1 + + '@vercel/static-build@2.8.15': + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.114 + '@vercel/static-config': 3.1.2 + ts-morph: 12.0.0 + + '@vercel/static-config@3.1.2': + dependencies: + ajv: 8.6.3 + json-schema-to-ts: 1.6.4 + ts-morph: 12.0.0 + + abbrev@3.0.1: {} + + acorn-import-attributes@1.9.5(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + agent-base@7.1.4: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.6.3: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ansi-escapes@1.4.0: {} + + ansi-regex@2.1.1: {} + + ansi-styles@2.2.1: {} + + ansis@4.2.0: {} + + any-promise@1.3.0: {} + + arg@4.1.0: {} + + arg@4.1.3: {} + + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@1.0.0: {} + + async-listen@1.2.0: {} + + async-listen@3.0.0: {} + + async-listen@3.0.1: {} + + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + + async-sema@3.1.1: {} + + asynckit@0.4.0: {} + + aws-sign2@0.7.0: {} + + aws4@1.13.2: {} + + balanced-match@1.0.2: {} + + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + + biome@0.3.3: + dependencies: + bluebird: 3.7.2 + chalk: 1.1.3 + commander: 2.20.3 + editor: 1.0.0 + fs-promise: 0.5.0 + inquirer-promise: 0.0.3 + request-promise: 3.0.0 + untildify: 3.0.3 + user-home: 2.0.0 + + bluebird@3.7.2: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + buffer-crc32@0.2.13: {} + + bun@1.3.5: + optionalDependencies: + '@oven/bun-darwin-aarch64': 1.3.5 + '@oven/bun-darwin-x64': 1.3.5 + '@oven/bun-darwin-x64-baseline': 1.3.5 + '@oven/bun-linux-aarch64': 1.3.5 + '@oven/bun-linux-aarch64-musl': 1.3.5 + '@oven/bun-linux-x64': 1.3.5 + '@oven/bun-linux-x64-baseline': 1.3.5 + '@oven/bun-linux-x64-musl': 1.3.5 + '@oven/bun-linux-x64-musl-baseline': 1.3.5 + '@oven/bun-windows-x64': 1.3.5 + '@oven/bun-windows-x64-baseline': 1.3.5 + + bytes@3.1.0: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + caseless@0.12.0: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chokidar@4.0.0: + dependencies: + readdirp: 4.1.2 + + chownr@2.0.0: {} + + chownr@3.0.0: {} + + cjs-module-lexer@1.2.3: {} + + cli-cursor@1.0.2: + dependencies: + restore-cursor: 1.0.1 + + cli-width@1.1.1: {} + + code-block-writer@10.1.1: {} + + code-point-at@1.1.0: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + consola@3.4.2: {} + + content-type@1.0.4: {} + + convert-hrtime@3.0.0: {} + + cookie-es@2.0.0: {} + + core-js@2.6.12: {} + + core-util-is@1.0.2: {} + + create-require@1.1.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + delayed-stream@1.0.0: {} + + depd@1.1.2: {} + + detect-libc@2.1.2: {} + + diff@4.0.2: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + earlgrey-runtime@0.1.2: + dependencies: + core-js: 2.6.12 + kaiser: 0.0.4 + lodash: 4.17.21 + regenerator-runtime: 0.9.6 + + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + + edge-runtime@2.5.9: + dependencies: + '@edge-runtime/format': 2.2.1 + '@edge-runtime/ponyfill': 2.4.2 + '@edge-runtime/vm': 3.2.0 + async-listen: 3.0.1 + mri: 1.2.0 + picocolors: 1.0.0 + pretty-ms: 7.0.1 + signal-exit: 4.0.2 + time-span: 4.0.0 + + editor@1.0.0: {} + + end-of-stream@1.1.0: + dependencies: + once: 1.3.3 + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.4.1: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + esbuild-android-64@0.14.47: + optional: true + + esbuild-android-arm64@0.14.47: + optional: true + + esbuild-darwin-64@0.14.47: + optional: true + + esbuild-darwin-arm64@0.14.47: + optional: true + + esbuild-freebsd-64@0.14.47: + optional: true + + esbuild-freebsd-arm64@0.14.47: + optional: true + + esbuild-linux-32@0.14.47: + optional: true + + esbuild-linux-64@0.14.47: + optional: true + + esbuild-linux-arm64@0.14.47: + optional: true + + esbuild-linux-arm@0.14.47: + optional: true + + esbuild-linux-mips64le@0.14.47: + optional: true + + esbuild-linux-ppc64le@0.14.47: + optional: true + + esbuild-linux-riscv64@0.14.47: + optional: true + + esbuild-linux-s390x@0.14.47: + optional: true + + esbuild-netbsd-64@0.14.47: + optional: true + + esbuild-openbsd-64@0.14.47: + optional: true + + esbuild-sunos-64@0.14.47: + optional: true + + esbuild-windows-32@0.14.47: + optional: true + + esbuild-windows-64@0.14.47: + optional: true + + esbuild-windows-arm64@0.14.47: + optional: true + + esbuild@0.14.47: + optionalDependencies: + esbuild-android-64: 0.14.47 + esbuild-android-arm64: 0.14.47 + esbuild-darwin-64: 0.14.47 + esbuild-darwin-arm64: 0.14.47 + esbuild-freebsd-64: 0.14.47 + esbuild-freebsd-arm64: 0.14.47 + esbuild-linux-32: 0.14.47 + esbuild-linux-64: 0.14.47 + esbuild-linux-arm: 0.14.47 + esbuild-linux-arm64: 0.14.47 + esbuild-linux-mips64le: 0.14.47 + esbuild-linux-ppc64le: 0.14.47 + esbuild-linux-riscv64: 0.14.47 + esbuild-linux-s390x: 0.14.47 + esbuild-netbsd-64: 0.14.47 + esbuild-openbsd-64: 0.14.47 + esbuild-sunos-64: 0.14.47 + esbuild-windows-32: 0.14.47 + esbuild-windows-64: 0.14.47 + esbuild-windows-arm64: 0.14.47 + + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + esbuild@0.27.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.0 + '@esbuild/android-arm': 0.27.0 + '@esbuild/android-arm64': 0.27.0 + '@esbuild/android-x64': 0.27.0 + '@esbuild/darwin-arm64': 0.27.0 + '@esbuild/darwin-x64': 0.27.0 + '@esbuild/freebsd-arm64': 0.27.0 + '@esbuild/freebsd-x64': 0.27.0 + '@esbuild/linux-arm': 0.27.0 + '@esbuild/linux-arm64': 0.27.0 + '@esbuild/linux-ia32': 0.27.0 + '@esbuild/linux-loong64': 0.27.0 + '@esbuild/linux-mips64el': 0.27.0 + '@esbuild/linux-ppc64': 0.27.0 + '@esbuild/linux-riscv64': 0.27.0 + '@esbuild/linux-s390x': 0.27.0 + '@esbuild/linux-x64': 0.27.0 + '@esbuild/netbsd-arm64': 0.27.0 + '@esbuild/netbsd-x64': 0.27.0 + '@esbuild/openbsd-arm64': 0.27.0 + '@esbuild/openbsd-x64': 0.27.0 + '@esbuild/openharmony-arm64': 0.27.0 + '@esbuild/sunos-x64': 0.27.0 + '@esbuild/win32-arm64': 0.27.0 + '@esbuild/win32-ia32': 0.27.0 + '@esbuild/win32-x64': 0.27.0 + + escape-string-regexp@1.0.5: {} + + estree-walker@2.0.2: {} + + etag@1.8.1: {} + + events-intercept@2.0.0: {} + + execa@3.2.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit-hook@1.1.1: {} + + extend@3.0.2: {} + + extsprintf@1.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + figures@1.7.0: + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + + file-uri-to-path@1.0.0: {} + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + forever-agent@0.6.1: {} + + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + fs-extra@0.26.7: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.7.1 + + fs-extra@11.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-promise@0.5.0: + dependencies: + any-promise: 1.3.0 + fs-extra: 0.26.7 + mz: 2.7.0 + thenify-all: 1.6.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + generic-pool@3.4.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@5.2.0: + dependencies: + pump: 3.0.3 + + get-stream@6.0.1: {} + + get-tsconfig@4.13.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@13.0.0: + dependencies: + minimatch: 10.1.1 + minipass: 7.1.2 + path-scurry: 2.0.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + har-schema@2.0.0: {} + + har-validator@5.1.5: + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + http-errors@1.4.0: + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + + http-errors@1.7.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + + http-signature@1.2.0: + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@1.1.1: {} + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.1: {} + + inherits@2.0.4: {} + + inquirer-promise@0.0.3: + dependencies: + earlgrey-runtime: 0.1.2 + inquirer: 0.11.4 + + inquirer@0.11.4: + dependencies: + ansi-escapes: 1.4.0 + ansi-regex: 2.1.1 + chalk: 1.1.3 + cli-cursor: 1.0.2 + cli-width: 1.1.1 + figures: 1.7.0 + lodash: 3.10.1 + readline2: 1.0.1 + run-async: 0.1.0 + rx-lite: 3.1.2 + string-width: 1.0.2 + strip-ansi: 3.0.1 + through: 2.3.8 + + is-buffer@2.0.5: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@1.0.0: + dependencies: + number-is-nan: 1.0.1 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-node-process@1.2.0: {} + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + isarray@0.0.1: {} + + isexe@2.0.0: {} + + isstream@0.1.2: {} + + jose@5.9.6: {} + + jsbn@0.1.1: {} + + json-schema-to-ts@1.6.4: + dependencies: + '@types/json-schema': 7.0.15 + ts-toolbelt: 6.15.5 + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-schema@0.4.0: {} + + json-stringify-safe@5.0.1: {} + + jsonfile@2.4.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsprim@1.4.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + + kaiser@0.0.4: + dependencies: + earlgrey-runtime: 0.1.2 + + klaw@1.3.1: + optionalDependencies: + graceful-fs: 4.2.11 + + lodash@3.10.1: {} + + lodash@4.17.21: {} + + lru-cache@11.2.4: {} + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + make-error@1.3.6: {} + + math-intrinsics@1.1.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micro@9.3.5-canary.3: + dependencies: + arg: 4.1.0 + content-type: 1.0.4 + raw-body: 2.4.1 + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + minizlib@3.1.0: + dependencies: + minipass: 7.1.2 + + mkdirp@1.0.4: {} + + mri@1.2.0: {} + + ms@2.1.1: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + mute-stream@0.0.5: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + node-fetch@2.6.7: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@2.6.9: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-gyp-build@4.8.4: {} + + nopt@8.1.0: + dependencies: + abbrev: 3.0.1 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm@11.7.0: {} + + number-is-nan@1.0.1: {} + + oauth-sign@0.9.0: {} + + object-assign@4.1.1: {} + + once@1.3.3: + dependencies: + wrappy: 1.0.2 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@1.1.0: {} + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + os-homedir@1.0.2: {} + + os-paths@4.4.0: {} + + p-finally@2.0.1: {} + + parse-ms@2.1.0: {} + + path-browserify@1.0.1: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-match@1.2.4: + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.9.0 + + path-scurry@2.0.1: + dependencies: + lru-cache: 11.2.4 + minipass: 7.1.2 + + path-to-regexp@1.9.0: + dependencies: + isarray: 0.0.1 + + path-to-regexp@6.1.0: {} + + path-to-regexp@6.3.0: {} + + path-to-regexp@8.3.0: {} + + pend@1.2.0: {} + + performance-now@2.1.0: {} + + picocolors@1.0.0: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pretty-ms@7.0.1: + dependencies: + parse-ms: 2.1.0 + + promisepipe@3.0.0: {} + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} + + qs@6.5.3: {} + + queue-microtask@1.2.3: {} + + raw-body@2.4.1: + dependencies: + bytes: 3.1.0 + http-errors: 1.7.3 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + readdirp@4.1.2: {} + + readline2@1.0.1: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + mute-stream: 0.0.5 + + regenerator-runtime@0.9.6: {} + + request-promise@3.0.0: + dependencies: + bluebird: 3.7.2 + lodash: 4.17.21 + request: 2.88.2 + + request@2.88.2: + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + + require-from-string@2.0.2: {} + + resolve-from@5.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + restore-cursor@1.0.1: + dependencies: + exit-hook: 1.1.1 + onetime: 1.1.0 + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + rolldown@1.0.0-beta.35: + dependencies: + '@oxc-project/runtime': 0.82.3 + '@oxc-project/types': 0.82.3 + '@rolldown/pluginutils': 1.0.0-beta.35 + ansis: 4.2.0 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.35 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.35 + '@rolldown/binding-darwin-x64': 1.0.0-beta.35 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.35 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.35 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.35 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.35 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.35 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.35 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.35 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.35 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.35 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.35 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.35 + + rolldown@1.0.0-beta.52: + dependencies: + '@oxc-project/types': 0.99.0 + '@rolldown/pluginutils': 1.0.0-beta.52 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.52 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.52 + '@rolldown/binding-darwin-x64': 1.0.0-beta.52 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.52 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.52 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.52 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.52 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.52 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.52 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.52 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.52 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.52 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.52 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.52 + + run-async@0.1.0: + dependencies: + once: 1.4.0 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rx-lite@3.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + semver@6.3.1: {} + + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + + semver@7.7.3: {} + + setprototypeof@1.1.1: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.0.2: {} + + srvx@0.8.9: + dependencies: + cookie-es: 2.0.0 + + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + + stat-mode@0.3.0: {} + + statuses@1.5.0: {} + + stream-to-array@2.3.0: + dependencies: + any-promise: 1.3.0 + + stream-to-promise@2.2.0: + dependencies: + any-promise: 1.3.0 + end-of-stream: 1.1.0 + stream-to-array: 2.3.0 + + string-width@1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-final-newline@2.0.0: {} + + supports-color@2.0.0: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + tar@7.5.2: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.1.0 + yallist: 5.0.0 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throttleit@2.1.0: {} + + through@2.3.8: {} + + time-span@4.0.0: + dependencies: + convert-hrtime: 3.0.0 + + tinyexec@0.3.2: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.0: {} + + tough-cookie@2.5.0: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + + tr46@0.0.3: {} + + tree-kill@1.2.2: {} + + ts-morph@12.0.0: + dependencies: + '@ts-morph/common': 0.11.1 + code-block-writer: 10.1.1 + + ts-node@10.9.1(@types/node@16.18.11)(typescript@4.9.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.12 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 16.18.11 + acorn: 8.15.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + ts-toolbelt@6.15.5: {} + + tslib@2.8.1: + optional: true + + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + turbo-darwin-64@2.6.3: + optional: true + + turbo-darwin-arm64@2.6.3: + optional: true + + turbo-linux-64@2.6.3: + optional: true + + turbo-linux-arm64@2.6.3: + optional: true + + turbo-windows-64@2.6.3: + optional: true + + turbo-windows-arm64@2.6.3: + optional: true + + turbo@2.6.3: + optionalDependencies: + turbo-darwin-64: 2.6.3 + turbo-darwin-arm64: 2.6.3 + turbo-linux-64: 2.6.3 + turbo-linux-arm64: 2.6.3 + turbo-windows-64: 2.6.3 + turbo-windows-arm64: 2.6.3 + + tweetnacl@0.14.5: {} + + typescript@4.9.5: {} + + typescript@5.9.3: {} + + uid-promise@1.0.0: {} + + undici@5.28.4: + dependencies: + '@fastify/busboy': 2.1.1 + + undici@5.29.0: + dependencies: + '@fastify/busboy': 2.1.1 + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + untildify@3.0.3: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + user-home@2.0.0: + dependencies: + os-homedir: 1.0.2 + + uuid@3.4.0: {} + + v8-compile-cache-lib@3.0.1: {} + + vercel@50.1.3(typescript@5.9.3): + dependencies: + '@vercel/backends': 0.0.17(typescript@5.9.3) + '@vercel/blob': 1.0.2 + '@vercel/build-utils': 13.2.4 + '@vercel/detect-agent': 1.0.0 + '@vercel/elysia': 0.1.15 + '@vercel/express': 0.1.21(typescript@5.9.3) + '@vercel/fastify': 0.1.18 + '@vercel/fun': 1.2.0 + '@vercel/go': 3.2.4 + '@vercel/h3': 0.1.24 + '@vercel/hono': 0.2.18 + '@vercel/hydrogen': 1.3.3 + '@vercel/nestjs': 0.2.19 + '@vercel/next': 4.15.9 + '@vercel/node': 5.5.16 + '@vercel/python': 6.1.5 + '@vercel/redwood': 2.4.6 + '@vercel/remix-builder': 5.5.6 + '@vercel/ruby': 2.2.4 + '@vercel/rust': 1.0.4 + '@vercel/static-build': 2.8.15 + chokidar: 4.0.0 + esbuild: 0.27.0 + form-data: 4.0.5 + jose: 5.9.6 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - encoding + - rollup + - supports-color + - typescript + + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + + web-vitals@0.2.4: {} + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrappy@1.0.2: {} + + xdg-app-paths@5.1.0: + dependencies: + xdg-portable: 7.3.0 + + xdg-portable@7.3.0: + dependencies: + os-paths: 4.4.0 + + yallist@4.0.0: {} + + yallist@5.0.0: {} + + yauzl-clone@1.0.4: + dependencies: + events-intercept: 2.0.0 + + yauzl-promise@2.1.3: + dependencies: + yauzl: 2.10.0 + yauzl-clone: 1.0.4 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + yn@3.1.1: {} + + zod@3.22.4: {} diff --git a/pnpm-global-package.json b/pnpm-global-package.json index 90388700..90edf6c7 100644 --- a/pnpm-global-package.json +++ b/pnpm-global-package.json @@ -3,13 +3,12 @@ "version": "1.0.0", "private": true, "dependencies": { - "@sourcegraph/amp": "latest", - "biome": "latest", - "bun": "latest", - "npm": "latest", - "turbo": "latest", - "typescript": "latest", - "vercel": "latest" + "@sourcegraph/amp": "0.0.1770293119-gc187f5", + "biome": "0.3.3", + "bun": "1.3.5", + "npm": "11.7.0", + "turbo": "2.6.3", + "typescript": "5.9.3", + "vercel": "50.1.3" } } - diff --git a/result/Library/LaunchDaemons/org.nixos.activate-system.plist b/result/Library/LaunchDaemons/org.nixos.activate-system.plist deleted file mode 100644 index 37cabb15..00000000 --- a/result/Library/LaunchDaemons/org.nixos.activate-system.plist +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Label - org.nixos.activate-system - ProgramArguments - - /bin/sh - -c - /bin/wait4path /nix/store && exec /nix/store/91zc5sn1r6za1abir32aijj7bh6jwj4j-activate-system-start - - RunAtLoad - - - \ No newline at end of file diff --git a/result/Library/LaunchDaemons/org.nixos.nix-daemon.plist b/result/Library/LaunchDaemons/org.nixos.nix-daemon.plist deleted file mode 100644 index bab8f579..00000000 --- a/result/Library/LaunchDaemons/org.nixos.nix-daemon.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - EnvironmentVariables - - NIX_SSL_CERT_FILE - /etc/ssl/certs/ca-certificates.crt - OBJC_DISABLE_INITIALIZE_FORK_SAFETY - YES - - KeepAlive - - Label - org.nixos.nix-daemon - LowPriorityIO - - ProcessType - Standard - ProgramArguments - - /bin/sh - -c - /bin/wait4path /nix/store && exec /nix/store/zln77pckyb4ky96vb4vqq6flgiifvbcy-nix-2.28.3/bin/nix-daemon - - SoftResourceLimits - - NumberOfFiles - 1048576 - - - \ No newline at end of file diff --git a/result/activate b/result/activate deleted file mode 100755 index 0882abdf..00000000 --- a/result/activate +++ /dev/null @@ -1,2675 +0,0 @@ -#!/usr/bin/env -i /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -# shellcheck shell=bash -# shellcheck disable=SC2096 - -set -e -set -o pipefail - -PATH="/nix/store/lxdrljxbda4gh4i93kp861ljrl0jixvg-gnugrep-3.12/bin:/nix/store/bcdc67d3d3jkbl35ccxmvyan5kmic9lc-coreutils-9.7/bin:/nix/store/zln77pckyb4ky96vb4vqq6flgiifvbcy-nix-2.28.3/bin:/usr/bin:/bin:/usr/sbin:/sbin" - -export PATH -export USER=root -export LOGNAME=root -export HOME=~root -export MAIL=/var/mail/root -export SHELL=$BASH -export LANG=C -export LC_CTYPE=UTF-8 - -systemConfig=/nix/store/92wji49qsmgmdv1p8sbs6c4i7fz9ibqp-darwin-system-25.11.0d71cbf - -# Ensure a consistent umask. -umask 0022 - -cd / - -if [[ $(id -u) -ne 0 ]]; then - printf >&2 '\e[1;31merror: `activate` must be run as root\e[0m\n' - exit 2 -fi - -rm -rf /var/lib/linux-builder - - -IFS=. read -ra osVersion <<<"$(sw_vers -productVersion)" -if (( osVersion[0] < 11 || (osVersion[0] == 11 && osVersion[1] < 3) )); then - printf >&2 '\e[1;31merror: macOS version is less than 11.3, aborting activation\e[0m\n' - printf >&2 'Nixpkgs 25.05 requires macOS Big Sur 11.3 or newer, and 25.11 will\n' - printf >&2 'require macOS Sonoma 14.\n' - printf >&2 '\n' - printf >&2 'For more information on your options going forward, see the 25.05\n' - printf >&2 'release notes:\n' - printf >&2 '\n' - printf >&2 '\n' - printf >&2 'Nixpkgs 24.11 and nix-darwin 24.11 continue to support down to macOS\n' - printf >&2 'Sierra 10.12, and will be supported through June 2025.\n' - printf >&2 '\n' - printf >&2 'You can override this check by setting:\n' - printf >&2 '\n' - printf >&2 ' system.checks.verifyMacOSVersion = false;\n' - printf >&2 '\n' - printf >&2 'However, we are unable to provide support if you do so.\n' - exit 2 -fi - -# shellcheck disable=SC2209 -primaryUser=bdsqqq -if ! id -- "$primaryUser" >/dev/null 2>&1; then - printf >&2 '\e[1;31merror: primary user `%s` does not exist, aborting activation\e[0m\n' \ - "$primaryUser" - printf >&2 'Please ensure that `system.primaryUser` is set to the name of an\n' - printf >&2 'existing user. Usually this should be the user you have been using to\n' - printf >&2 'run `darwin-rebuild`.\n' - exit 2 -fi - -if [[ -e /usr/local/bin/determinate-nixd ]]; then - printf >&2 '\e[1;31merror: Determinate detected, aborting activation\e[0m\n' - printf >&2 'Determinate uses its own daemon to manage the Nix installation that\n' - printf >&2 'conflicts with nix-darwin’s native Nix management.\n' - printf >&2 '\n' - printf >&2 'To turn off nix-darwin’s management of the Nix installation, set:\n' - printf >&2 '\n' - printf >&2 ' nix.enable = false;\n' - printf >&2 '\n' - printf >&2 'This will allow you to use nix-darwin with Determinate. Some nix-darwin\n' - printf >&2 'functionality that relies on managing the Nix installation, like the\n' - printf >&2 '`nix.*` options to adjust Nix settings or configure a Linux builder,\n' - printf >&2 'will be unavailable.\n' - exit 2 -fi - -firstBuildUserID=$(dscl . -read /Users/_nixbld1 UniqueID | awk '{print $2}') -if - # Don’t complain when we’re about to migrate old‐style build users… - [[ $firstBuildUserID != 351 ]] \ - && ! dscl . -list /Users | grep -q '^nixbld' -then - printf >&2 '\e[1;31merror: Build users have unexpected UIDs, aborting activation\e[0m\n' - printf >&2 'The default Nix build user ID range has been adjusted for\n' - printf >&2 'compatibility with macOS Sequoia 15. Your _nixbld1 user currently has\n' - printf >&2 'UID %d rather than the new default of 351.\n' "$firstBuildUserID" - printf >&2 '\n' - printf >&2 'You can automatically migrate the users with the following command:\n' - printf >&2 '\n' - if [[ -e /nix/receipt.json ]]; then - if - /nix/store/04gj0cpc6mv0pkyz114p23fq65zx8mbx-jq-1.8.0-bin/bin/jq --exit-status \ - 'try(.planner.settings | has("enable_flakes"))' \ - /nix/receipt.json \ - >/dev/null - then - installerUrl="https://install.lix.systems/lix" - else - installerUrl="https://install.determinate.systems/nix" - fi - printf >&2 " curl --proto '=https' --tlsv1.2 -sSf -L %s | sh -s -- repair sequoia --move-existing-users\n" \ - "$installerUrl" - else - printf >&2 " curl --proto '=https' --tlsv1.2 -sSf -L https://github.com/NixOS/nix/raw/master/scripts/sequoia-nixbld-user-migration.sh | bash -\n" - fi - printf >&2 '\n' - printf >&2 'If you have no intention of upgrading to macOS Sequoia 15, or already\n' - printf >&2 'have a custom UID range that you know is compatible with Sequoia, you\n' - printf >&2 'can disable this check by setting:\n' - printf >&2 '\n' - printf >&2 ' ids.uids.nixbld = %d;\n' "$((firstBuildUserID - 1))" - printf >&2 '\n' - exit 2 -fi - -buildGroupID=$(dscl . -read /Groups/nixbld PrimaryGroupID | awk '{print $2}') -expectedBuildGroupID=350 -if [[ $buildGroupID != "$expectedBuildGroupID" ]]; then - printf >&2 '\e[1;31merror: Build user group has mismatching GID, aborting activation\e[0m\n' - printf >&2 'The default Nix build user group ID was changed from 30000 to 350.\n' - printf >&2 'You are currently managing Nix build users with nix-darwin, but your\n' - printf >&2 'nixbld group has GID %d, whereas we expected %d.\n' \ - "$buildGroupID" "$expectedBuildGroupID" - printf >&2 '\n' - printf >&2 'Possible causes include setting up a new Nix installation with an\n' - printf >&2 'existing nix-darwin configuration, setting up a new nix-darwin\n' - printf >&2 'installation with an existing Nix installation, or manually increasing\n' - printf >&2 'your `system.stateVersion` setting.\n' - printf >&2 '\n' - printf >&2 'You can set the configured group ID to match the actual value:\n' - printf >&2 '\n' - printf >&2 ' ids.gids.nixbld = %d;\n' "$buildGroupID" - printf >&2 '\n' - printf >&2 'We do not recommend trying to change the group ID with macOS user\n' - printf >&2 'management tools without a complete uninstallation and reinstallation\n' - printf >&2 'of Nix.\n' - exit 2 -fi - -if [[ "$(stat --format='%u' /nix)" != 0 ]]; then - printf >&2 'error: single‐user install detected, aborting activation\n' - printf >&2 'nix-darwin now only supports managing multi‐user daemon installations\n' - printf >&2 'of Nix. You can uninstall nix-darwin and Nix and then reinstall both to\n' - printf >&2 'fix this.\n' - printf >&2 '\n' - printf >&2 'If you don’t want to do that, you can disable management of the Nix\n' - printf >&2 'installation with:\n' - printf >&2 '\n' - printf >&2 ' nix.enable = false;\n' - printf >&2 '\n' - printf >&2 'See the `nix.enable` option documentation for caveats.\n' - exit 2 -fi - -if grep -q 'etc/profile.d/nix-daemon.sh' /etc/profile; then - echo "error: Found nix-daemon.sh reference in /etc/profile, aborting activation" >&2 - echo "This will override options like nix.nixPath because it runs later," >&2 - echo "remove this snippet from /etc/profile:" >&2 - echo >&2 - echo " # Nix" >&2 - echo " if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then" >&2 - echo " . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'" >&2 - echo " fi" >&2 - echo " # End Nix" >&2 - echo >&2 - exit 2 -fi - -if [[ -d /etc/ssh/authorized_keys.d ]]; then - printf >&2 '\e[1;31merror: /etc/ssh/authorized_keys.d exists, aborting activation\e[0m\n' - printf >&2 'SECURITY NOTICE: The previous implementation of the\n' - printf >&2 '`users.users..openssh.authorizedKeys.*` options would not delete\n' - printf >&2 'authorized keys files when the setting for a given user was removed.\n' - printf >&2 '\n' - printf >&2 "This means that if you previously stopped managing a user's authorized\n" - printf >&2 'SSH keys with nix-darwin, or intended to revoke their access by\n' - printf >&2 'removing the option, the previous set of keys could still be used to\n' - printf >&2 'log in as that user.\n' - printf >&2 '\n' - printf >&2 'You can check the /etc/ssh/authorized_keys.d directory to see which\n' - printf >&2 'keys were permitted; afterwards, please remove the directory and\n' - printf >&2 're-run activation. The options continue to be supported and will now\n' - printf >&2 'correctly permit only the keys in your current system configuration.\n' - exit 2 -fi - -ensurePerms() { - homeDirectory=$(dscl . -read /Users/nobody NFSHomeDirectory) - homeDirectory=${homeDirectory#NFSHomeDirectory: } - - if ! dscl . -change /Users/nobody NFSHomeDirectory "$homeDirectory" "$homeDirectory" &> /dev/null; then - if [[ "$(launchctl managername)" != Aqua ]]; then - printf >&2 '\e[1;31merror: users cannot be %s over SSH without Full Disk Access, aborting activation\e[0m\n' "$2" - printf >&2 'The user %s could not be %s as `darwin-rebuild` was not executed with Full Disk Access over SSH.\n' "$1" "$2" - printf >&2 'You can either:\n' - printf >&2 '\n' - printf >&2 ' grant Full Disk Access to all programs run over SSH\n' - printf >&2 '\n' - printf >&2 'or\n' - printf >&2 '\n' - printf >&2 ' run `darwin-rebuild` in a graphical session.\n' - printf >&2 '\n' - printf >&2 'The option "Allow full disk access for remote users" can be found by\n' - printf >&2 'navigating to System Settings > General > Sharing > Remote Login\n' - printf >&2 'and then pressing on the i icon next to the switch.\n' - exit 1 - else - # The TCC service required to change home directories is `kTCCServiceSystemPolicySysAdminFiles` - # and we can reset it to ensure the user gets another prompt - tccutil reset SystemPolicySysAdminFiles > /dev/null - - if ! dscl . -change /Users/nobody NFSHomeDirectory "$homeDirectory" "$homeDirectory" &> /dev/null; then - printf >&2 '\e[1;31merror: permission denied when trying to %s user %s, aborting activation\e[0m\n' "$2" "$1" - printf >&2 '`darwin-rebuild` requires permissions to administrate your computer,\n' - printf >&2 'please accept the dialog that pops up.\n' - printf >&2 '\n' - printf >&2 'If you do not wish to be prompted every time `darwin-rebuild` updates your users,\n' - printf >&2 'you can grant Full Disk Access to your terminal emulator in System Settings.\n' - printf >&2 '\n' - printf >&2 'This can be found in System Settings > Privacy & Security > Full Disk Access.\n' - exit 1 - fi - fi - - fi -} - -u=$(id -u _nixbld1 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "351" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld1 create - - - fi -fi - -u=$(id -u _nixbld2 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "352" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld2 create - - - fi -fi - -u=$(id -u _nixbld3 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "353" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld3 create - - - fi -fi - -u=$(id -u _nixbld4 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "354" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld4 create - - - fi -fi - -u=$(id -u _nixbld5 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "355" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld5 create - - - fi -fi - -u=$(id -u _nixbld6 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "356" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld6 create - - - fi -fi - -u=$(id -u _nixbld7 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "357" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld7 create - - - fi -fi - -u=$(id -u _nixbld8 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "358" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld8 create - - - fi -fi - -u=$(id -u _nixbld9 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "359" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld9 create - - - fi -fi - -u=$(id -u _nixbld10 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "360" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld10 create - - - fi -fi - -u=$(id -u _nixbld11 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "361" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld11 create - - - fi -fi - -u=$(id -u _nixbld12 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "362" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld12 create - - - fi -fi - -u=$(id -u _nixbld13 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "363" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld13 create - - - fi -fi - -u=$(id -u _nixbld14 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "364" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld14 create - - - fi -fi - -u=$(id -u _nixbld15 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "365" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld15 create - - - fi -fi - -u=$(id -u _nixbld16 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "366" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld16 create - - - fi -fi - -u=$(id -u _nixbld17 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "367" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld17 create - - - fi -fi - -u=$(id -u _nixbld18 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "368" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld18 create - - - fi -fi - -u=$(id -u _nixbld19 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "369" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld19 create - - - fi -fi - -u=$(id -u _nixbld20 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "370" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld20 create - - - fi -fi - -u=$(id -u _nixbld21 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "371" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld21 create - - - fi -fi - -u=$(id -u _nixbld22 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "372" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld22 create - - - fi -fi - -u=$(id -u _nixbld23 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "373" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld23 create - - - fi -fi - -u=$(id -u _nixbld24 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "374" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld24 create - - - fi -fi - -u=$(id -u _nixbld25 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "375" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld25 create - - - fi -fi - -u=$(id -u _nixbld26 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "376" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld26 create - - - fi -fi - -u=$(id -u _nixbld27 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "377" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld27 create - - - fi -fi - -u=$(id -u _nixbld28 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "378" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld28 create - - - fi -fi - -u=$(id -u _nixbld29 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "379" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld29 create - - - fi -fi - -u=$(id -u _nixbld30 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "380" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld30 create - - - fi -fi - -u=$(id -u _nixbld31 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "381" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld31 create - - - fi -fi - -u=$(id -u _nixbld32 2> /dev/null) || true -if ! [[ -n "$u" && "$u" -ne "382" ]]; then - if [ -z "$u" ]; then - ensurePerms _nixbld32 create - - - fi -fi - - -u=$(id -u nixbld1 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld1 delete - fi -fi - -u=$(id -u nixbld10 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld10 delete - fi -fi - -u=$(id -u nixbld11 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld11 delete - fi -fi - -u=$(id -u nixbld12 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld12 delete - fi -fi - -u=$(id -u nixbld13 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld13 delete - fi -fi - -u=$(id -u nixbld14 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld14 delete - fi -fi - -u=$(id -u nixbld15 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld15 delete - fi -fi - -u=$(id -u nixbld16 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld16 delete - fi -fi - -u=$(id -u nixbld17 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld17 delete - fi -fi - -u=$(id -u nixbld18 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld18 delete - fi -fi - -u=$(id -u nixbld19 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld19 delete - fi -fi - -u=$(id -u nixbld2 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld2 delete - fi -fi - -u=$(id -u nixbld20 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld20 delete - fi -fi - -u=$(id -u nixbld21 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld21 delete - fi -fi - -u=$(id -u nixbld22 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld22 delete - fi -fi - -u=$(id -u nixbld23 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld23 delete - fi -fi - -u=$(id -u nixbld24 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld24 delete - fi -fi - -u=$(id -u nixbld25 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld25 delete - fi -fi - -u=$(id -u nixbld26 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld26 delete - fi -fi - -u=$(id -u nixbld27 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld27 delete - fi -fi - -u=$(id -u nixbld28 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld28 delete - fi -fi - -u=$(id -u nixbld29 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld29 delete - fi -fi - -u=$(id -u nixbld3 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld3 delete - fi -fi - -u=$(id -u nixbld30 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld30 delete - fi -fi - -u=$(id -u nixbld31 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld31 delete - fi -fi - -u=$(id -u nixbld32 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld32 delete - fi -fi - -u=$(id -u nixbld4 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld4 delete - fi -fi - -u=$(id -u nixbld5 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld5 delete - fi -fi - -u=$(id -u nixbld6 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld6 delete - fi -fi - -u=$(id -u nixbld7 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld7 delete - fi -fi - -u=$(id -u nixbld8 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld8 delete - fi -fi - -u=$(id -u nixbld9 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - ensurePerms nixbld9 delete - fi -fi - - - -if [[ "${checkActivation:-0}" -eq 1 ]]; then - echo "ok" >&2 - exit 0 -fi - -declare -A etcSha256Hashes=( - [bashrc]='444c716ac2ccd9e1e3347858cb08a00d2ea38e8c12fdc5798380dc261e32e9ef 617b39e36fa69270ddbee19ddc072497dbe7ead840cbd442d9f7c22924f116f4 6be16cf7c24a3c6f7ae535c913347a3be39508b3426f5ecd413e636e21031e66 08ffbf991a9e25839d38b80a0d3bce3b5a6c84b9be53a4b68949df4e7e487bb7' - [nix/nix.conf]='7c2d80499b39256b03ee9abd3d6258343718306aca8d472c26ac32c9b0949093 19299897fa312d9d32b3c968c2872dd143085aa727140cec51f57c59083e93b9 c4ecc3d541c163c8fcc954ccae6b8cab28c973dc283fea5995c69aaabcdf785f ef78f401a9b5a42fd15e967c50da384f99ec62f9dbc66ea38f1390b46b63e1ff c06b0c6080dd1d62e61a30cfad100c0cfed2d3bcd378e296632dc3b28b31dc69 ff08c12813680da98c4240328f828647b67a65ba7aa89c022bd8072cba862cf1 f3e03d851c240c1aa7daccd144ee929f0f5971982424c868c434eb6030e961d4 c6080216f2a170611e339c3f46e4e1d61aaf0d8b417ad93ade8d647da1382c11 97f4135d262ca22d65c9554aad795c10a4491fa61b67d9c2430f4d82bbfec9a2 5d23e6d7015756c6f300f8cd558ec4d9234ca61deefd4f2478e91a49760b0747 e4974acb79c56148cb8e92137fa4f2de9b7356e897b332fc4e6769e8c0b83e18 966d22ef5bb9b56d481e8e0d5f7ca2deaf4d24c0f0fc969b2eeaa7ae0aa42907 53712b4335030e2dbfb46bb235f8cffcac83fea404bd32dc99417ac89e2dd7c5 6bb8d6b0dd16b44ee793a9b8382dac76c926e4c16ffb8ddd2bb4884d1ca3f811 24797ac05542ff8b52910efc77870faa5f9e3275097227ea4e50c430a5f72916 b027b5cad320b5b8123d9d0db9f815c3f3921596c26dc3c471457098e4d3cc40' - [nix/registry.json]='' - [pam.d/sudo_local]='' - [profiles/per-user/bdsqqq]='' - [ssh/ssh_config.d/100-nix-darwin.conf]='' - [ssh/sshd_config.d/100-nix-darwin.conf]='' - [ssh/sshd_config.d/101-authorized-keys.conf]=5a5dc1e20e8abc162ad1cc0259bfd1dbb77981013d87625f97d9bd215175fc0a - [ssl/certs/ca-certificates.crt]='' - [sudoers.d/10-nix-darwin-extra-config]='' - [terminfo]='' - [zprofile]='db8422f92d8cff684e418f2dcffbb98c10fe544b5e8cd588b2009c7fa89559c5 0235d3c1b6cf21e7043fbc98e239ee4bc648048aafaf6be1a94a576300584ef2 f320016e2cf13573731fbee34f9fe97ba867dd2a31f24893d3120154e9306e92' - [zshenv]=d07015be6875f134976fce84c6c7a77b512079c1c5f9594dfa65c70b7968b65f - [zshrc]='19a2d673ffd47b8bed71c5218ff6617dfc5e8533b240b9ba79142a45f8823c23 fb5827cb4712b7e7932d438067ec4852c8955a9ff0f55e282473684623ebdfa1 4d1ab5704f9d167a042fecac0d056c8a79a8ebd71e032d3489536c8db9ffe3e0 c5a00c072c920f46216454978c44df044b2ec6d03409dc492c7bdcd92c94a110 40b0d8751adae5b0100a4f863be5b75613a49f62706427e92604f7e04d2e2261 bf76c5ed8e65e616f4329eccf662ee91be33b8bfd33713ce9946f2fe94fea7fa 2af1b563e389d11b76a651b446e858116d7a20370d9120a7e9f78991f3e5f336 27274e44b88a1174787f9a3d437d3387edc4f9aaaf40356054130797f5dc7912' -) - -declare -a etcProblems=() - -while IFS= read -r -d "" configFile; do - subPath=${configFile#"$systemConfig"/etc/} - etcStaticFile=/etc/static/$subPath - etcFile=/etc/$subPath - - # We need to check files that exist and aren't already links to - # $etcStaticFile for known hashes. - if [[ - -e $etcFile - && $(readlink "$etcFile") != "$etcStaticFile" - ]]; then - # Only check hashes of paths that resolve to regular files; - # everything else (e.g. directories) we complain about - # unconditionally. - if [[ -f $(readlink -f "$etcFile") ]]; then - etcFileSha256Output=$(shasum -a 256 "$etcFile") - etcFileSha256Hash=${etcFileSha256Output%% *} - for knownSha256Hash in ${etcSha256Hashes[$subPath]}; do - if [[ $etcFileSha256Hash == "$knownSha256Hash" ]]; then - # Hash matches, OK to overwrite; go to the next file. - continue 2 - fi - done - fi - etcProblems+=("$etcFile") - fi -done < <(find -H "$systemConfig/etc" -type l -print0) - -if (( ${#etcProblems[@]} )); then - printf >&2 '\x1B[1;31merror: Unexpected files in /etc, aborting ' - printf >&2 'activation\x1B[0m\n' - printf >&2 'The following files have unrecognized content and would be ' - printf >&2 'overwritten:\n\n' - printf >&2 ' %s\n' "${etcProblems[@]}" - printf >&2 '\nPlease check there is nothing critical in these files, ' - printf >&2 'rename them by adding .before-nix-darwin to the end, and ' - printf >&2 'then try again.\n' - exit 2 -fi - -nixCustomConfKnownSha256Hashes=( - # v0.33.0 - 6787fade1cf934f82db554e78e1fc788705c2c5257fddf9b59bdd963ca6fec63 - # v0.34.0 - 3bd68ef979a42070a44f8d82c205cfd8e8cca425d91253ec2c10a88179bb34aa -) -if [[ -e /etc/nix/nix.custom.conf ]]; then - nixCustomConfSha256Output=$(shasum -a 256 /etc/nix/nix.custom.conf) - nixCustomConfSha256Hash=${nixCustomConfSha256Output%% *} - nixCustomConfIsKnown= - for nixCustomConfKnownSha256Hash - in "${nixCustomConfKnownSha256Hashes[@]}" - do - if - [[ $nixCustomConfSha256Hash == "$nixCustomConfKnownSha256Hash" ]] - then - nixCustomConfIsKnown=1 - break - fi - done - if [[ ! $nixCustomConfIsKnown ]]; then - printf >&2 '\e[1;31merror: custom settings in `/etc/nix/nix.custom.conf`, aborting activation\e[0m\n' - printf >&2 'You will need to migrate these to nix-darwin `nix.*` settings if you\n' - printf >&2 'wish to keep them. Check the manual for the appropriate settings and\n' - printf >&2 'add them to your system configuration, then run:\n' - printf >&2 '\n' - printf >&2 ' $ sudo mv /etc/nix/nix.custom.conf{,.before-nix-darwin}\n' - printf >&2 '\n' - printf >&2 'and activate your system again.\n' - exit 2 - fi -fi - -if [[ $(stat -c '%a' /etc/synthetic.conf) != "644" ]]; then - echo "fixing permissions on /etc/synthetic.conf..." - chmod 644 /etc/synthetic.conf -fi - -if [[ $(grep -c '^run\b' /etc/synthetic.conf) -gt 1 ]]; then - echo "found duplicate run entries in /etc/synthetic.conf, removing..." - sed -i "" -e '/^run\tprivate\/var\/run$/d' /etc/synthetic.conf -fi - -if ! grep -q '^run\b' /etc/synthetic.conf 2>/dev/null; then - echo "setting up /run via /etc/synthetic.conf..." - printf 'run\tprivate/var/run\n' | tee -a /etc/synthetic.conf >/dev/null -fi - -/System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -t || true - -if [[ ! -L /run ]]; then - printf >&2 'error: apfs.util failed to symlink /run, aborting activation\n' - printf >&2 'To create a symlink from /run to /var/run, please run:\n' - printf >&2 '\n' - printf >&2 "$ printf 'run\tprivate/var/run\n' | tee -a /etc/synthetic.conf\n" - printf >&2 '$ sudo /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -t\n' - printf >&2 '\n' - printf >&2 'The current contents of /etc/synthetic.conf is:\n' - printf >&2 '\n' - sed 's/^/ /' /etc/synthetic.conf >&2 - printf >&2 '\n' - exit 1 -fi - - -echo "setting up groups..." >&2 - -g=$(dscl . -read /Groups/nixbld PrimaryGroupID 2> /dev/null) || true -g=${g#PrimaryGroupID: } -if [ -z "$g" ]; then - echo "creating group nixbld..." >&2 - dscl . -create /Groups/nixbld PrimaryGroupID 350 - dscl . -create /Groups/nixbld RealName 'Nix build group for nix-daemon' - g=350 -fi - -if [ "$g" -eq 350 ]; then - g=$(dscl . -read /Groups/nixbld GroupMembership 2> /dev/null) || true - if [ "$g" != 'GroupMembership: _nixbld1 _nixbld10 _nixbld11 _nixbld12 _nixbld13 _nixbld14 _nixbld15 _nixbld16 _nixbld17 _nixbld18 _nixbld19 _nixbld2 _nixbld20 _nixbld21 _nixbld22 _nixbld23 _nixbld24 _nixbld25 _nixbld26 _nixbld27 _nixbld28 _nixbld29 _nixbld3 _nixbld30 _nixbld31 _nixbld32 _nixbld4 _nixbld5 _nixbld6 _nixbld7 _nixbld8 _nixbld9' ]; then - echo "updating group members nixbld..." >&2 - dscl . -create /Groups/nixbld GroupMembership _nixbld1 _nixbld10 _nixbld11 _nixbld12 _nixbld13 _nixbld14 _nixbld15 _nixbld16 _nixbld17 _nixbld18 _nixbld19 _nixbld2 _nixbld20 _nixbld21 _nixbld22 _nixbld23 _nixbld24 _nixbld25 _nixbld26 _nixbld27 _nixbld28 _nixbld29 _nixbld3 _nixbld30 _nixbld31 _nixbld32 _nixbld4 _nixbld5 _nixbld6 _nixbld7 _nixbld8 _nixbld9 - fi -else - echo "warning: existing group 'nixbld' has unexpected gid $g, skipping..." >&2 -fi - - - - -echo "setting up users..." >&2 - -u=$(id -u _nixbld1 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "351" ]]; then - echo "warning: existing user '_nixbld1' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld1..." >&2 - - sysadminctl -addUser _nixbld1 -UID 351 -GID 350 -fullName 'Nix build user 1' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld1 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld1 - exit 1 - fi - - dscl . -create /Users/_nixbld1 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld1 PrimaryGroupID 350 - dscl . -create /Users/_nixbld1 RealName 'Nix build user 1' - -fi - -u=$(id -u _nixbld2 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "352" ]]; then - echo "warning: existing user '_nixbld2' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld2..." >&2 - - sysadminctl -addUser _nixbld2 -UID 352 -GID 350 -fullName 'Nix build user 2' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld2 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld2 - exit 1 - fi - - dscl . -create /Users/_nixbld2 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld2 PrimaryGroupID 350 - dscl . -create /Users/_nixbld2 RealName 'Nix build user 2' - -fi - -u=$(id -u _nixbld3 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "353" ]]; then - echo "warning: existing user '_nixbld3' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld3..." >&2 - - sysadminctl -addUser _nixbld3 -UID 353 -GID 350 -fullName 'Nix build user 3' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld3 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld3 - exit 1 - fi - - dscl . -create /Users/_nixbld3 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld3 PrimaryGroupID 350 - dscl . -create /Users/_nixbld3 RealName 'Nix build user 3' - -fi - -u=$(id -u _nixbld4 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "354" ]]; then - echo "warning: existing user '_nixbld4' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld4..." >&2 - - sysadminctl -addUser _nixbld4 -UID 354 -GID 350 -fullName 'Nix build user 4' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld4 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld4 - exit 1 - fi - - dscl . -create /Users/_nixbld4 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld4 PrimaryGroupID 350 - dscl . -create /Users/_nixbld4 RealName 'Nix build user 4' - -fi - -u=$(id -u _nixbld5 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "355" ]]; then - echo "warning: existing user '_nixbld5' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld5..." >&2 - - sysadminctl -addUser _nixbld5 -UID 355 -GID 350 -fullName 'Nix build user 5' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld5 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld5 - exit 1 - fi - - dscl . -create /Users/_nixbld5 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld5 PrimaryGroupID 350 - dscl . -create /Users/_nixbld5 RealName 'Nix build user 5' - -fi - -u=$(id -u _nixbld6 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "356" ]]; then - echo "warning: existing user '_nixbld6' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld6..." >&2 - - sysadminctl -addUser _nixbld6 -UID 356 -GID 350 -fullName 'Nix build user 6' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld6 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld6 - exit 1 - fi - - dscl . -create /Users/_nixbld6 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld6 PrimaryGroupID 350 - dscl . -create /Users/_nixbld6 RealName 'Nix build user 6' - -fi - -u=$(id -u _nixbld7 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "357" ]]; then - echo "warning: existing user '_nixbld7' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld7..." >&2 - - sysadminctl -addUser _nixbld7 -UID 357 -GID 350 -fullName 'Nix build user 7' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld7 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld7 - exit 1 - fi - - dscl . -create /Users/_nixbld7 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld7 PrimaryGroupID 350 - dscl . -create /Users/_nixbld7 RealName 'Nix build user 7' - -fi - -u=$(id -u _nixbld8 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "358" ]]; then - echo "warning: existing user '_nixbld8' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld8..." >&2 - - sysadminctl -addUser _nixbld8 -UID 358 -GID 350 -fullName 'Nix build user 8' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld8 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld8 - exit 1 - fi - - dscl . -create /Users/_nixbld8 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld8 PrimaryGroupID 350 - dscl . -create /Users/_nixbld8 RealName 'Nix build user 8' - -fi - -u=$(id -u _nixbld9 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "359" ]]; then - echo "warning: existing user '_nixbld9' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld9..." >&2 - - sysadminctl -addUser _nixbld9 -UID 359 -GID 350 -fullName 'Nix build user 9' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld9 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld9 - exit 1 - fi - - dscl . -create /Users/_nixbld9 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld9 PrimaryGroupID 350 - dscl . -create /Users/_nixbld9 RealName 'Nix build user 9' - -fi - -u=$(id -u _nixbld10 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "360" ]]; then - echo "warning: existing user '_nixbld10' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld10..." >&2 - - sysadminctl -addUser _nixbld10 -UID 360 -GID 350 -fullName 'Nix build user 10' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld10 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld10 - exit 1 - fi - - dscl . -create /Users/_nixbld10 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld10 PrimaryGroupID 350 - dscl . -create /Users/_nixbld10 RealName 'Nix build user 10' - -fi - -u=$(id -u _nixbld11 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "361" ]]; then - echo "warning: existing user '_nixbld11' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld11..." >&2 - - sysadminctl -addUser _nixbld11 -UID 361 -GID 350 -fullName 'Nix build user 11' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld11 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld11 - exit 1 - fi - - dscl . -create /Users/_nixbld11 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld11 PrimaryGroupID 350 - dscl . -create /Users/_nixbld11 RealName 'Nix build user 11' - -fi - -u=$(id -u _nixbld12 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "362" ]]; then - echo "warning: existing user '_nixbld12' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld12..." >&2 - - sysadminctl -addUser _nixbld12 -UID 362 -GID 350 -fullName 'Nix build user 12' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld12 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld12 - exit 1 - fi - - dscl . -create /Users/_nixbld12 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld12 PrimaryGroupID 350 - dscl . -create /Users/_nixbld12 RealName 'Nix build user 12' - -fi - -u=$(id -u _nixbld13 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "363" ]]; then - echo "warning: existing user '_nixbld13' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld13..." >&2 - - sysadminctl -addUser _nixbld13 -UID 363 -GID 350 -fullName 'Nix build user 13' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld13 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld13 - exit 1 - fi - - dscl . -create /Users/_nixbld13 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld13 PrimaryGroupID 350 - dscl . -create /Users/_nixbld13 RealName 'Nix build user 13' - -fi - -u=$(id -u _nixbld14 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "364" ]]; then - echo "warning: existing user '_nixbld14' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld14..." >&2 - - sysadminctl -addUser _nixbld14 -UID 364 -GID 350 -fullName 'Nix build user 14' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld14 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld14 - exit 1 - fi - - dscl . -create /Users/_nixbld14 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld14 PrimaryGroupID 350 - dscl . -create /Users/_nixbld14 RealName 'Nix build user 14' - -fi - -u=$(id -u _nixbld15 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "365" ]]; then - echo "warning: existing user '_nixbld15' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld15..." >&2 - - sysadminctl -addUser _nixbld15 -UID 365 -GID 350 -fullName 'Nix build user 15' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld15 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld15 - exit 1 - fi - - dscl . -create /Users/_nixbld15 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld15 PrimaryGroupID 350 - dscl . -create /Users/_nixbld15 RealName 'Nix build user 15' - -fi - -u=$(id -u _nixbld16 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "366" ]]; then - echo "warning: existing user '_nixbld16' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld16..." >&2 - - sysadminctl -addUser _nixbld16 -UID 366 -GID 350 -fullName 'Nix build user 16' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld16 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld16 - exit 1 - fi - - dscl . -create /Users/_nixbld16 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld16 PrimaryGroupID 350 - dscl . -create /Users/_nixbld16 RealName 'Nix build user 16' - -fi - -u=$(id -u _nixbld17 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "367" ]]; then - echo "warning: existing user '_nixbld17' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld17..." >&2 - - sysadminctl -addUser _nixbld17 -UID 367 -GID 350 -fullName 'Nix build user 17' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld17 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld17 - exit 1 - fi - - dscl . -create /Users/_nixbld17 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld17 PrimaryGroupID 350 - dscl . -create /Users/_nixbld17 RealName 'Nix build user 17' - -fi - -u=$(id -u _nixbld18 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "368" ]]; then - echo "warning: existing user '_nixbld18' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld18..." >&2 - - sysadminctl -addUser _nixbld18 -UID 368 -GID 350 -fullName 'Nix build user 18' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld18 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld18 - exit 1 - fi - - dscl . -create /Users/_nixbld18 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld18 PrimaryGroupID 350 - dscl . -create /Users/_nixbld18 RealName 'Nix build user 18' - -fi - -u=$(id -u _nixbld19 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "369" ]]; then - echo "warning: existing user '_nixbld19' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld19..." >&2 - - sysadminctl -addUser _nixbld19 -UID 369 -GID 350 -fullName 'Nix build user 19' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld19 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld19 - exit 1 - fi - - dscl . -create /Users/_nixbld19 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld19 PrimaryGroupID 350 - dscl . -create /Users/_nixbld19 RealName 'Nix build user 19' - -fi - -u=$(id -u _nixbld20 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "370" ]]; then - echo "warning: existing user '_nixbld20' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld20..." >&2 - - sysadminctl -addUser _nixbld20 -UID 370 -GID 350 -fullName 'Nix build user 20' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld20 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld20 - exit 1 - fi - - dscl . -create /Users/_nixbld20 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld20 PrimaryGroupID 350 - dscl . -create /Users/_nixbld20 RealName 'Nix build user 20' - -fi - -u=$(id -u _nixbld21 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "371" ]]; then - echo "warning: existing user '_nixbld21' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld21..." >&2 - - sysadminctl -addUser _nixbld21 -UID 371 -GID 350 -fullName 'Nix build user 21' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld21 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld21 - exit 1 - fi - - dscl . -create /Users/_nixbld21 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld21 PrimaryGroupID 350 - dscl . -create /Users/_nixbld21 RealName 'Nix build user 21' - -fi - -u=$(id -u _nixbld22 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "372" ]]; then - echo "warning: existing user '_nixbld22' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld22..." >&2 - - sysadminctl -addUser _nixbld22 -UID 372 -GID 350 -fullName 'Nix build user 22' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld22 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld22 - exit 1 - fi - - dscl . -create /Users/_nixbld22 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld22 PrimaryGroupID 350 - dscl . -create /Users/_nixbld22 RealName 'Nix build user 22' - -fi - -u=$(id -u _nixbld23 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "373" ]]; then - echo "warning: existing user '_nixbld23' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld23..." >&2 - - sysadminctl -addUser _nixbld23 -UID 373 -GID 350 -fullName 'Nix build user 23' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld23 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld23 - exit 1 - fi - - dscl . -create /Users/_nixbld23 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld23 PrimaryGroupID 350 - dscl . -create /Users/_nixbld23 RealName 'Nix build user 23' - -fi - -u=$(id -u _nixbld24 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "374" ]]; then - echo "warning: existing user '_nixbld24' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld24..." >&2 - - sysadminctl -addUser _nixbld24 -UID 374 -GID 350 -fullName 'Nix build user 24' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld24 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld24 - exit 1 - fi - - dscl . -create /Users/_nixbld24 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld24 PrimaryGroupID 350 - dscl . -create /Users/_nixbld24 RealName 'Nix build user 24' - -fi - -u=$(id -u _nixbld25 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "375" ]]; then - echo "warning: existing user '_nixbld25' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld25..." >&2 - - sysadminctl -addUser _nixbld25 -UID 375 -GID 350 -fullName 'Nix build user 25' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld25 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld25 - exit 1 - fi - - dscl . -create /Users/_nixbld25 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld25 PrimaryGroupID 350 - dscl . -create /Users/_nixbld25 RealName 'Nix build user 25' - -fi - -u=$(id -u _nixbld26 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "376" ]]; then - echo "warning: existing user '_nixbld26' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld26..." >&2 - - sysadminctl -addUser _nixbld26 -UID 376 -GID 350 -fullName 'Nix build user 26' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld26 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld26 - exit 1 - fi - - dscl . -create /Users/_nixbld26 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld26 PrimaryGroupID 350 - dscl . -create /Users/_nixbld26 RealName 'Nix build user 26' - -fi - -u=$(id -u _nixbld27 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "377" ]]; then - echo "warning: existing user '_nixbld27' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld27..." >&2 - - sysadminctl -addUser _nixbld27 -UID 377 -GID 350 -fullName 'Nix build user 27' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld27 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld27 - exit 1 - fi - - dscl . -create /Users/_nixbld27 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld27 PrimaryGroupID 350 - dscl . -create /Users/_nixbld27 RealName 'Nix build user 27' - -fi - -u=$(id -u _nixbld28 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "378" ]]; then - echo "warning: existing user '_nixbld28' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld28..." >&2 - - sysadminctl -addUser _nixbld28 -UID 378 -GID 350 -fullName 'Nix build user 28' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld28 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld28 - exit 1 - fi - - dscl . -create /Users/_nixbld28 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld28 PrimaryGroupID 350 - dscl . -create /Users/_nixbld28 RealName 'Nix build user 28' - -fi - -u=$(id -u _nixbld29 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "379" ]]; then - echo "warning: existing user '_nixbld29' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld29..." >&2 - - sysadminctl -addUser _nixbld29 -UID 379 -GID 350 -fullName 'Nix build user 29' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld29 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld29 - exit 1 - fi - - dscl . -create /Users/_nixbld29 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld29 PrimaryGroupID 350 - dscl . -create /Users/_nixbld29 RealName 'Nix build user 29' - -fi - -u=$(id -u _nixbld30 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "380" ]]; then - echo "warning: existing user '_nixbld30' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld30..." >&2 - - sysadminctl -addUser _nixbld30 -UID 380 -GID 350 -fullName 'Nix build user 30' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld30 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld30 - exit 1 - fi - - dscl . -create /Users/_nixbld30 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld30 PrimaryGroupID 350 - dscl . -create /Users/_nixbld30 RealName 'Nix build user 30' - -fi - -u=$(id -u _nixbld31 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "381" ]]; then - echo "warning: existing user '_nixbld31' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld31..." >&2 - - sysadminctl -addUser _nixbld31 -UID 381 -GID 350 -fullName 'Nix build user 31' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld31 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld31 - exit 1 - fi - - dscl . -create /Users/_nixbld31 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld31 PrimaryGroupID 350 - dscl . -create /Users/_nixbld31 RealName 'Nix build user 31' - -fi - -u=$(id -u _nixbld32 2> /dev/null) || true -if [[ -n "$u" && "$u" -ne "382" ]]; then - echo "warning: existing user '_nixbld32' has unexpected uid $u, skipping..." >&2 -else - if [ -z "$u" ]; then - echo "creating user _nixbld32..." >&2 - - sysadminctl -addUser _nixbld32 -UID 382 -GID 350 -fullName 'Nix build user 32' -home /var/empty -shell /usr/bin/false 2> /dev/null - - # We need to check as `sysadminctl -addUser` still exits with exit code 0 when there's an error - if ! id _nixbld32 &> /dev/null; then - printf >&2 '\e[1;31merror: failed to create user %s, aborting activation\e[0m\n' _nixbld32 - exit 1 - fi - - dscl . -create /Users/_nixbld32 IsHidden 1 - - # `sysadminctl -addUser` won't create the home directory if we use the `-home` - # flag so we need to do it ourselves - - fi - - # Update properties on known users to keep them inline with configuration - dscl . -create /Users/_nixbld32 PrimaryGroupID 350 - dscl . -create /Users/_nixbld32 RealName 'Nix build user 32' - -fi - - -u=$(id -u nixbld1 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld1..." >&2 - dscl . -delete /Users/nixbld1 - else - echo "warning: existing user 'nixbld1' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld10 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld10..." >&2 - dscl . -delete /Users/nixbld10 - else - echo "warning: existing user 'nixbld10' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld11 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld11..." >&2 - dscl . -delete /Users/nixbld11 - else - echo "warning: existing user 'nixbld11' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld12 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld12..." >&2 - dscl . -delete /Users/nixbld12 - else - echo "warning: existing user 'nixbld12' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld13 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld13..." >&2 - dscl . -delete /Users/nixbld13 - else - echo "warning: existing user 'nixbld13' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld14 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld14..." >&2 - dscl . -delete /Users/nixbld14 - else - echo "warning: existing user 'nixbld14' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld15 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld15..." >&2 - dscl . -delete /Users/nixbld15 - else - echo "warning: existing user 'nixbld15' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld16 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld16..." >&2 - dscl . -delete /Users/nixbld16 - else - echo "warning: existing user 'nixbld16' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld17 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld17..." >&2 - dscl . -delete /Users/nixbld17 - else - echo "warning: existing user 'nixbld17' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld18 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld18..." >&2 - dscl . -delete /Users/nixbld18 - else - echo "warning: existing user 'nixbld18' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld19 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld19..." >&2 - dscl . -delete /Users/nixbld19 - else - echo "warning: existing user 'nixbld19' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld2 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld2..." >&2 - dscl . -delete /Users/nixbld2 - else - echo "warning: existing user 'nixbld2' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld20 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld20..." >&2 - dscl . -delete /Users/nixbld20 - else - echo "warning: existing user 'nixbld20' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld21 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld21..." >&2 - dscl . -delete /Users/nixbld21 - else - echo "warning: existing user 'nixbld21' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld22 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld22..." >&2 - dscl . -delete /Users/nixbld22 - else - echo "warning: existing user 'nixbld22' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld23 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld23..." >&2 - dscl . -delete /Users/nixbld23 - else - echo "warning: existing user 'nixbld23' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld24 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld24..." >&2 - dscl . -delete /Users/nixbld24 - else - echo "warning: existing user 'nixbld24' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld25 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld25..." >&2 - dscl . -delete /Users/nixbld25 - else - echo "warning: existing user 'nixbld25' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld26 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld26..." >&2 - dscl . -delete /Users/nixbld26 - else - echo "warning: existing user 'nixbld26' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld27 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld27..." >&2 - dscl . -delete /Users/nixbld27 - else - echo "warning: existing user 'nixbld27' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld28 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld28..." >&2 - dscl . -delete /Users/nixbld28 - else - echo "warning: existing user 'nixbld28' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld29 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld29..." >&2 - dscl . -delete /Users/nixbld29 - else - echo "warning: existing user 'nixbld29' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld3 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld3..." >&2 - dscl . -delete /Users/nixbld3 - else - echo "warning: existing user 'nixbld3' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld30 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld30..." >&2 - dscl . -delete /Users/nixbld30 - else - echo "warning: existing user 'nixbld30' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld31 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld31..." >&2 - dscl . -delete /Users/nixbld31 - else - echo "warning: existing user 'nixbld31' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld32 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld32..." >&2 - dscl . -delete /Users/nixbld32 - else - echo "warning: existing user 'nixbld32' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld4 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld4..." >&2 - dscl . -delete /Users/nixbld4 - else - echo "warning: existing user 'nixbld4' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld5 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld5..." >&2 - dscl . -delete /Users/nixbld5 - else - echo "warning: existing user 'nixbld5' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld6 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld6..." >&2 - dscl . -delete /Users/nixbld6 - else - echo "warning: existing user 'nixbld6' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld7 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld7..." >&2 - dscl . -delete /Users/nixbld7 - else - echo "warning: existing user 'nixbld7' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld8 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld8..." >&2 - dscl . -delete /Users/nixbld8 - else - echo "warning: existing user 'nixbld8' has unexpected uid $u, skipping..." >&2 - fi -fi - -u=$(id -u nixbld9 2> /dev/null) || true -if [ -n "$u" ]; then - if [ "$u" -gt 501 ]; then - echo "deleting user nixbld9..." >&2 - dscl . -delete /Users/nixbld9 - else - echo "warning: existing user 'nixbld9' has unexpected uid $u, skipping..." >&2 - fi -fi - - -# Set up applications. -echo "setting up /Applications/Nix Apps..." >&2 - -ourLink () { - local link - link=$(readlink "$1") - [ -L "$1" ] && [ "${link#*-}" = 'system-applications/Applications' ] -} - -# Clean up for links created at the old location in HOME -# TODO: Remove this in 25.11. -if ourLink ~bdsqqq/Applications; then - rm ~bdsqqq/Applications -elif ourLink ~bdsqqq/Applications/'Nix Apps'; then - rm ~bdsqqq/Applications/'Nix Apps' -fi - - -if [ ! -e '/Applications/Nix Apps' ] \ - || ourLink '/Applications/Nix Apps'; then - ln -sfn /nix/store/dc6vnfa9yx2r0bzb3lc4wxnr97ikinra-system-applications/Applications '/Applications/Nix Apps' -else - echo "warning: /Applications/Nix Apps is not owned by nix-darwin, skipping App linking..." >&2 -fi - -# PAM settings -echo >&2 "setting up pam..." - -# REMOVEME when macOS 13 no longer supported as macOS automatically -# nukes this file on system upgrade -# Always clear out older implementation if it is present -if grep 'security.pam.enableSudoTouchIdAuth' /etc/pam.d/sudo > /dev/null; then - /nix/store/s61pik234nad4ijzlk6y2681xlcxnln7-gnused-4.9/bin/sed -i '/security.pam.enableSudoTouchIdAuth/d' /etc/pam.d/sudo -fi - -# REMOVEME when macOS 13 no longer supported -# `sudo_local` is automatically included after macOS 14 -if ! grep 'sudo_local' /etc/pam.d/sudo > /dev/null; then - /nix/store/s61pik234nad4ijzlk6y2681xlcxnln7-gnused-4.9/bin/sed -i '2iauth include sudo_local # nix-darwin: security.pam.services.sudo_local' /etc/pam.d/sudo -fi - - -# Applying patches to /. -echo "applying patches..." >&2 - -for f in /run/current-system/patches/*; do - [[ -e "$f" ]] || break # handle when directory is empty - f=${f#/run/current-system/patches/} - - if [[ ! -e "/nix/store/8q3zavf1f916507kzv76kv4m8fzhl3hi-patches/patches/$f" ]]; then - patch --force --reverse --backup -d / -p1 < "/run/current-system/patches/$f" || true - fi -done - - - -# Set up the statically computed bits of /etc. -printf >&2 'setting up /etc...\n' - -ln -sfn "$(readlink -f "$systemConfig/etc")" /etc/static - -while IFS= read -r -d "" etcStaticFile; do - etcFile=/etc/${etcStaticFile#/etc/static/} - etcDir=${etcFile%/*} - - if [[ ! -d $etcDir ]]; then - mkdir -p "$etcDir" - fi - - if [[ -e $etcFile ]]; then - if [[ $(readlink -- "$etcFile") == "$etcStaticFile" ]]; then - continue - else - mv "$etcFile" "$etcFile.before-nix-darwin" - fi - fi - - ln -s "$etcStaticFile" "$etcFile" -done < <(find -H /etc/static -type l -print0) - -while IFS= read -r -d "" etcFile; do - etcStaticFile=/etc/static/${etcFile#/etc/} - - # Delete stale links into /etc/static. - if [[ - $(readlink -- "$etcFile") == "$etcStaticFile" - && ! -e $etcStaticFile - ]]; then - rm "$etcFile" - fi -done < <(find -H /etc -type l -print0) - -# Clean up .before-nix-darwin file left over from using knownSha256Hashes -auth_keys_orig=/etc/ssh/sshd_config.d/101-authorized-keys.conf.before-nix-darwin - -if [ -e "$auth_keys_orig" ] && [ "$(shasum -a 256 $auth_keys_orig | cut -d ' ' -f 1)" = "5a5dc1e20e8abc162ad1cc0259bfd1dbb77981013d87625f97d9bd215175fc0a" ]; then - rm "$auth_keys_orig" -fi - -# Set defaults -echo >&2 "system defaults..." - -defaults write /Library/Preferences/com.apple.loginwindow 'GuestEnabled' $' - - - -' -defaults write /Library/Preferences/com.apple.loginwindow 'SHOWFULLNAME' $' - - - -' - - - - -# Set defaults -echo >&2 "user defaults..." - -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'AppleInterfaceStyle' $' - - -Dark -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'AppleInterfaceStyleSwitchesAutomatically' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'AppleShowScrollBars' $' - - -WhenScrolling -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'InitialKeyRepeat' $' - - -25 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'KeyRepeat' $' - - -2 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write -g 'com.apple.swipescrolldirection' $' - - - -' - - - - -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'autohide' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'autohide-delay' $' - - -0.000000 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'autohide-time-modifier' $' - - -0.200000 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'expose-animation-duration' $' - - -0.100000 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'magnification' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'minimize-to-application' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'orientation' $' - - -bottom -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'persistent-apps' $' - - - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'show-recents' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'tilesize' $' - - -56 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'wvous-bl-corner' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'wvous-br-corner' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'wvous-tl-corner' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.dock 'wvous-tr-corner' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'AppleShowAllExtensions' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'FXDefaultSearchScope' $' - - -SCcf -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'FXEnableExtensionChangeWarning' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'FXPreferredViewStyle' $' - - -Nlsv -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowExternalHardDrivesOnDesktop' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowHardDrivesOnDesktop' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowMountedServersOnDesktop' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowPathbar' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowRemovableMediaOnDesktop' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.finder 'ShowStatusBar' $' - - - -' - - - - - - - -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'ActuationStrength' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'Clicking' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'Dragging' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'FirstClickThreshold' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'SecondClickThreshold' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'TrackpadRightClick' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'TrackpadThreeFingerDrag' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.AppleMultitouchTrackpad 'TrackpadThreeFingerTapGesture' $' - - -2 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'ActuationStrength' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'Clicking' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'Dragging' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'FirstClickThreshold' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'SecondClickThreshold' $' - - -1 -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'TrackpadRightClick' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'TrackpadThreeFingerDrag' $' - - - -' -launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad 'TrackpadThreeFingerTapGesture' $' - - -2 -' - - - - - - -echo >&2 "restarting Dock..." -killall -qu bdsqqq Dock || true - - -# Set up launchd services in /Library/LaunchAgents and /Library/LaunchDaemons -echo "setting up launchd services..." >&2 - - - - -if ! diff '/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchDaemons/org.nixos.activate-system.plist' '/Library/LaunchDaemons/org.nixos.activate-system.plist' &> /dev/null; then - if test -f '/Library/LaunchDaemons/org.nixos.activate-system.plist'; then - echo "reloading service $(basename org.nixos.activate-system.plist .plist)" >&2 - launchctl unload '/Library/LaunchDaemons/org.nixos.activate-system.plist' || true - else - echo "creating service $(basename org.nixos.activate-system.plist .plist)" >&2 - fi - if test -L '/Library/LaunchDaemons/org.nixos.activate-system.plist'; then - rm '/Library/LaunchDaemons/org.nixos.activate-system.plist' - fi - cp -f '/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchDaemons/org.nixos.activate-system.plist' '/Library/LaunchDaemons/org.nixos.activate-system.plist' - launchctl load -w '/Library/LaunchDaemons/org.nixos.activate-system.plist' -fi - -if ! diff '/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchDaemons/org.nixos.nix-daemon.plist' '/Library/LaunchDaemons/org.nixos.nix-daemon.plist' &> /dev/null; then - if test -f '/Library/LaunchDaemons/org.nixos.nix-daemon.plist'; then - echo "reloading service $(basename org.nixos.nix-daemon.plist .plist)" >&2 - launchctl unload '/Library/LaunchDaemons/org.nixos.nix-daemon.plist' || true - else - echo "creating service $(basename org.nixos.nix-daemon.plist .plist)" >&2 - fi - if test -L '/Library/LaunchDaemons/org.nixos.nix-daemon.plist'; then - rm '/Library/LaunchDaemons/org.nixos.nix-daemon.plist' - fi - cp -f '/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchDaemons/org.nixos.nix-daemon.plist' '/Library/LaunchDaemons/org.nixos.nix-daemon.plist' - launchctl load -w '/Library/LaunchDaemons/org.nixos.nix-daemon.plist' -fi - - -for f in /run/current-system/Library/LaunchAgents/*; do - [[ -e "$f" ]] || break # handle when directory is empty - f=${f#/run/current-system/Library/LaunchAgents/} - - if [[ ! -e "/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchAgents/$f" ]]; then - echo "removing service $(basename "$f" .plist)" >&2 - launchctl unload "/Library/LaunchAgents/$f" || true - if [[ -e "/Library/LaunchAgents/$f" ]]; then - rm -f "/Library/LaunchAgents/$f" - fi - fi -done - -for f in /run/current-system/Library/LaunchDaemons/*; do - [[ -e "$f" ]] || break # handle when directory is empty - f=${f#/run/current-system/Library/LaunchDaemons/} - - if [[ ! -e "/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/Library/LaunchDaemons/$f" ]]; then - echo "removing service $(basename "$f" .plist)" >&2 - launchctl unload "/Library/LaunchDaemons/$f" || true - if [[ -e "/Library/LaunchDaemons/$f" ]]; then - rm -f "/Library/LaunchDaemons/$f" - fi - fi -done - -# Set up user launchd services in ~/Library/LaunchAgents -echo "setting up user launchd services..." - - - -sudo --user=bdsqqq -- mkdir -p ~bdsqqq/Library/LaunchAgents - -if ! diff /nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/user/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist &> /dev/null; then - if test -f ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist; then - echo "reloading user service $(basename com.bdsqqq.karabiner-build.plist .plist)" >&2 - launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- launchctl unload ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist || true - else - echo "creating user service $(basename com.bdsqqq.karabiner-build.plist .plist)" >&2 - fi - if test -L ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist; then - sudo --user=bdsqqq -- rm ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist - fi - sudo --user=bdsqqq -- cp -f '/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/user/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist' ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist - launchctl asuser "$(id -u -- bdsqqq)" sudo --user=bdsqqq -- launchctl load -w ~bdsqqq/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist -fi - - -for f in /run/current-system/user/Library/LaunchAgents/*; do - [[ -e "$f" ]] || break # handle when directory is empty - f=${f#/run/current-system/user/Library/LaunchAgents/} - - if [[ ! -e "/nix/store/l620jyf5fwzx2dddx4z1qhdbzf1qqfay-launchd/user/Library/LaunchAgents/$f" ]]; then - echo "removing user service $(basename "$f" .plist)" >&2 - sudo --user=bdsqqq -- launchctl unload ~bdsqqq/Library/LaunchAgents/"$f" || true - if [[ -e ~bdsqqq/Library/LaunchAgents/"$f" ]]; then - sudo --user=bdsqqq -- rm -f ~bdsqqq/Library/LaunchAgents/"$f" - fi - fi -done - -# Follow up on the `/etc/nix/nix.custom.conf` check. -# TODO: Use a more generalized file placement mechanism for this. -if [[ -e /etc/nix/nix.custom.conf ]]; then - mv /etc/nix/nix.custom.conf{,.before-nix-darwin} -fi - -if ! diff /etc/nix/nix.conf /run/current-system/etc/nix/nix.conf &> /dev/null || ! diff /etc/nix/machines /run/current-system/etc/nix/machines &> /dev/null; then - echo "reloading nix-daemon..." >&2 - launchctl kill HUP system/org.nixos.nix-daemon -fi -while ! nix-store --store daemon -q --hash /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash &>/dev/null; do - echo "waiting for nix-daemon" >&2 - launchctl kickstart system/org.nixos.nix-daemon -done - - -echo "configuring networking..." >&2 - -scutil --set ComputerName mbp14 - -scutil --set HostName mbp14.local - -scutil --set LocalHostName mbp14 - - - - - - -if [ -e /etc/hosts.before-nix-darwin ]; then - echo "restoring /etc/hosts..." >&2 - sudo mv /etc/hosts{.before-nix-darwin,} -fi - -echo "configuring power..." >&2 - - - - - - - - - - - - - - -printf >&2 'setting up /Library/Fonts/Nix Fonts...\n' - -# rsync uses the mtime + size of files to determine whether they -# need to be copied by default. This is inadequate for Nix store -# paths, but we don't want to use `--checksum` as it makes -# activation consistently slow when you have large fonts -# installed. Instead, we ensure that fonts are linked according to -# their full store paths in `system.build.fonts`, so that any -# given font path should only ever have one possible content. -/nix/store/wmhjryqsiqkxn5vqk99vshyqjgvkiarm-rsync-3.4.1/bin/rsync \ - --archive \ - --copy-links \ - --delete-during \ - --delete-missing-args \ - "$systemConfig/Library/Fonts/Nix Fonts" \ - '/Library/Fonts/' - -echo "setting nvram variables..." >&2 - - - - - -echo Activating home-manager configuration for bdsqqq -launchctl asuser "$(id -u bdsqqq)" sudo -u bdsqqq --set-home /nix/store/g14bkcb6r6hhg9pd5jm0m35g0pjxh7mn-activation-bdsqqq - - -# Make this configuration the current configuration. -# The readlink is there to ensure that when $systemConfig = /system -# (which is a symlink to the store), /run/current-system is still -# used as a garbage collection root. -ln -sfn "$(readlink -f "$systemConfig")" /run/current-system - -# Prevent the current configuration from being garbage-collected. -if [[ -d /nix/var/nix/gcroots ]]; then - ln -sfn /run/current-system /nix/var/nix/gcroots/current-system -fi - diff --git a/result/activate-user b/result/activate-user deleted file mode 100755 index eb692c88..00000000 --- a/result/activate-user +++ /dev/null @@ -1,38 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -# nix-darwin: deprecated - -# Hack to handle upgrades. -if - [[ -e /run/current-system/activate-user ]] \ - && ! grep -q '^# nix-darwin: deprecated$' \ - /run/current-system/activate-user -then - exit -fi - -printf >&2 '\e[1;31mwarning: `activate-user` is deprecated and will be removed in 25.11\e[0m\n' -printf >&2 'This is usually due to the use of a non‐standard activation/deployment\n' -printf >&2 'tool. If you maintain one of these tools, our advice is:\n' -printf >&2 '\n' -printf >&2 ' You can identify a post‐user‐activation configuration by the absence\n' -printf >&2 ' of `activate-user` or the second line of the script being\n' -printf >&2 ' `# nix-darwin: deprecated`.\n' -printf >&2 '\n' -printf >&2 ' We recommend running `$systemConfig/sw/bin/darwin-rebuild activate`\n' -printf >&2 ' to activate built configurations; for a pre‐user‐activation\n' -printf >&2 ' configuration this should be run as a normal user, and for a\n' -printf >&2 ' post‐user‐activation configuration it should be run as `root`.\n' -printf >&2 '\n' -printf >&2 ' If you can’t or don’t want to use `darwin-rebuild activate`, then you\n' -printf >&2 ' should skip running `activate-user` for post‐user‐activation\n' -printf >&2 ' configurations and continue running `activate` as `root`.\n' -printf >&2 '\n' -printf >&2 ' In 25.11, `darwin-rebuild` will stop running `activate-user` and this\n' -printf >&2 ' transition script will be deleted; you should be able to safely\n' -printf >&2 ' remove all related logic by then.\n' -printf >&2 '\n' -printf >&2 'Otherwise, you should report this to the deployment tool developers. If\n' -printf >&2 'you don’t use a third‐party deployment tool, please open a bug report\n' -printf >&2 'at and include as much\n' -printf >&2 'detail about your setup as possible.\n' - diff --git a/result/darwin-changes b/result/darwin-changes deleted file mode 100644 index 0a2ebf44..00000000 --- a/result/darwin-changes +++ /dev/null @@ -1,249 +0,0 @@ -2025-01-30 -- Previously, some nix-darwin options applied to the user running - `darwin-rebuild`. As part of a long‐term migration to make - nix-darwin focus on system‐wide activation and support first‐class - multi‐user setups, all system activation now runs as `root`, and - these options instead apply to the `system.primaryUser` user. - - You will get an evaluation error if you are using any options to - which this applies. - - To continue using these options, set `system.primaryUser` to the name - of the user you have been using to run `darwin-rebuild`. In the long - run, this setting will be deprecated and removed after all the - functionality it is relevant for has been adjusted to allow - specifying the relevant user separately, moved under the - `users.users.*` namespace, or migrated to Home Manager. - - Accordingly, `darwin-rebuild` must now be run as root, the - `system.activationScripts.{extraUserActivation,preUserActivation, - postUserActivation}` settings have been removed, and all activation - scripts are now executed as `root` – be careful if you override any - of them. - - If you run into any unexpected issues with the migration, please - open an issue at - and include as much information as possible. - -2025-01-29 -- There is now a `nix.enable` toggle to disable management of the Nix - installation. Nix installation management has been made more - opinionated as a consequence; nix-darwin now only supports managing a - multi‐user daemon installation of Nix, and unconditionally takes - ownership of the nix-daemon launchd daemon and the `_nixbld*` build - users when Nix installation management is enabled. - - If the new constraints do not work with your setup, you can disable - the `nix.enable` option to opt out of Nix installation management - entirely; see the option documentation for caveats. - -2025-01-18 -- The default configuration path for all new installations - is `/etc/nix-darwin`. This was already the undocumented - default for `darwin-rebuild switch` when using flakes. This - is implemented by setting `environment.darwinConfig` to - `"/etc/nix-darwin/configuration.nix"` by default when - `system.stateVersion` ≥ 6. - -2024-09-10 -- The default Nix build user group ID is now set to 350 when - `system.stateVersion` ≥ 5, to reflect the default for new Nix - installations. This only affects installations that enable - `nix.configureBuildUsers`, and any divergence will be detected on - system activation. To use `nix.configureBuildUsers` with a higher - `system.stateVersion` on installations using the old group ID, set: - - ids.gids.nixbld = 30000; - - We do not recommend trying to change the group ID with macOS user - management tools without a complete uninstallation and reinstallation - of Nix. - -2024-06-15 -- SECURITY NOTICE: The previous implementation of the - `users.users..openssh.authorizedKeys.*` options would not delete - authorized keys files when the setting for a given user was removed. - - This means that if you previously stopped managing a user's authorized - SSH keys with nix-darwin, or intended to revoke their access by - removing the option, the previous set of keys could still be used to - log in as that user. - - You can check the /etc/ssh/authorized_keys.d directory to see which - keys were permitted; afterwards, please remove the directory and - re-run activation. The options continue to be supported and will now - correctly permit only the keys in your current system configuration. - -2022-08-24 -- Major changes to `homebrew` module - `homebrew.cleanup` was renamed to `homebrew.onActivation.cleanup`. - - `homebrew.autoUpdate` was renamed to `homebrew.onActivation.autoUpdate`. - - `homebrew.onActivation.upgrade` was added, and the default behavior of the - module was changed to not upgrade installed formulae and apps. - - `homebrew.global.autoUpdate` was added. - - `homebrew.global.noLock` was replaced with `hombrew.global.lockfiles`. - - `homebrew.caskArgs` submodule was added for configuring arguments to be used - for all casks. - - `homebrew.{taps,brews,casks}` were reimplemented as lists of submodules, - instead of lists of strings, with well documented options for all available - arguments for these Brewfile entry types, while preserving backwards - compatibility with the previous implementation. - -2022-08-14 -- nix module updated to bring it back in sync with it's NixOS counterpart - It should now be much more fiesable to share code for this module between - `nix-darwin` and NixOS configs. - - `nix-darwin` now requires Nix >= 2.2. - - `nix.package` can no longer be a path to a profile. - - `nix.version` option has been removed. Use `nix.package.version` if you want - to reference the version Nix installed/used by your config. - - Many options moved/renamed from `nix.*` to `nix.settings.*`. For example - `nix.binaryCaches` is now `nix.settings.substituters`. - - You can use `nix.settings` to set any option in `nix.conf`. - - `users.nix.*` options moved to `nix.*`. - - `nix.daemonIONice` was renamed to `nix.daemonIOLowPriority`, and - `nix.daemonNiceLevel` was removed in favor a new option - `nix.nix.daemonProcessType`. - -2021-01-16 -- Added `homebrew` module, to manage formulas installed by Homebrew via `brew bundle`. - -2020-10-25 -- The option environment.variables.SHELL is no longer set automatically when, - eg. programs.zsh.enable is configured. - -2020-09-12 -- Options using the deprecated loaOf where removed, see https://github.com/NixOS/nixpkgs/pull/96042 - - The following options no longer accept lists: - environment.etc, environment.launchAgents.*, environment.launchDaemons.*, - users.users, programs.ssh.knownHosts - -2019-05-04 -- A configuration.nix manpage is now included by default, run - `man 5 configuration.nix` or `darwin-help`. The documentation option can be - disabled to exclude the manual and it's extra build dependencies. - - documentation.enable = false; - -2019-05-01 -- nix.nixPath entries are now merged by default - system.stateVersion > 3 - - For the original behaviour, override the option using a higher priority. - - nix.nixPath = lib.mkForce [ "darwin-config=/configuration.nix" ... ]; - - This option also supports specifying named NIX_PATH entries using an - attribute set now. - - nix.nixPath = [{ darwin = "/src/darwin"; }]; - -2019-02-23 -- The users module now supports declarative per-user packages similar to nixos. - eg. - - users.users..packages = [ pkgs.hello ]; - -2019-01-02 -- The NIX_PATH validation can be disabled now, this is particularly useful if - the darwin configuration is deployed from another machine in which case it - often doesn't matter that darwin-rebuild won't work on the host itself. - - system.checks.verifyNixPath = false; - -2018-03-29 -- default nix.package no longer uses the default profile. - system.stateVersion > 2 - - For the original behaviour configure nix.package - - nix.package = "/nix/var/nix/profiles/default"; - -2018-03-06 -- added ssh.knownHosts, to manage global known_hosts. - -2018-01-16 -- fixed issue for single-user installs, be careful when rolling back to a - revision after 9792b08fdf049524742143f4f788e3eb61a769fda. - - If you run into trouble try NIX_REMOTE= darwin-rebuild switch. - -2018-01-13 -- added users.users and users.groups to manage user accounts. - Changes will not be applied to existing users or groups. - -2018-01-08 -- added networking.networkservices, to manage dns servers and searchdomains. - This will clear existing values when enabled. - -2018-01-06 -- added nixpkgs.overlays, there is a chapter on overlays in the nixpkgs manual - https://nixos.org/nixpkgs/manual/#chap-overlays with more information. - -2018-01-04 -- the nix.useDaemon/services.nix-daemon.enable options now automatically - reload the daemon for you when nix.conf changes. - -2017-11-29 -- the security.enableAccessibilityAccess option was removed since it - no longer works on macOS 10.12 and later. - -2017-11-06 -- the programs.fish module was rewritten based on improvements from - NixOS. This might have some incompatible changes compared to the - previous implementation. - -2017-10-06 -- loeOf was removed from nixpkgs in 10881bbe11b2f66ebfa880795e5bc01a04158da4 - - Using single items instead of a list no longer works for - environment.systemPath and launchd...path - -2017-10-01 -- added system.stateVersion option, add this to your configuration to - avoid breaking changes. This changelog and the activation checks - will show instructions on what to do to safely increment this value. - -2017-07-06 -- added user channels to the default nix.nixPath - - Using a user channel now works without any custom configuration. - See https://github.com/NixOS/nix/issues/1548 if you are running into - issues when updating your channel. - -2017-07-28 -- added support for command-not-found, using nix-index - - programs.nix-index.enable = true; - -2017-07-23 -- darwin entry in the default nix.nixPath was removed for - system.stateVersion > 1 - - Use a channel for nix-darwin or configure nix.nixPath - - sudo nix-channel --add https://github.com/nix-darwin/nix-darwin/archive/master.tar.gz darwin - sudo nix-channel --update - - nix.nixPath = - [ "darwin=$HOME/.nix-defexpr/darwin" - "darwin-config=$HOME/.nixpkgs/darwin-configuration.nix" - "/nix/var/nix/profiles/per-user/root/channels" - ]; - -2017-01-09 -- nix.profile was renamed to nix.package diff --git a/result/darwin-version b/result/darwin-version deleted file mode 100644 index df85e1cf..00000000 --- a/result/darwin-version +++ /dev/null @@ -1 +0,0 @@ -25.11.0d71cbf \ No newline at end of file diff --git a/result/darwin-version.json b/result/darwin-version.json deleted file mode 100644 index 960e9e02..00000000 --- a/result/darwin-version.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "darwinLabel": "25.11.0d71cbf", - "darwinRevision": "0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9", - "nixpkgsRevision": "076e8c6678d8c54204abcb4b1b14c366835a58bb" -} diff --git a/result/etc/bashrc b/result/etc/bashrc deleted file mode 100644 index 316700a2..00000000 --- a/result/etc/bashrc +++ /dev/null @@ -1,31 +0,0 @@ -# /etc/bashrc: DO NOT EDIT -- this file has been generated automatically. -# This file is read for interactive shells. - -[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM" - -# Only execute this file once per shell. -if [ -n "$__ETC_BASHRC_SOURCED" -o -n "$NOSYSBASHRC" ]; then return; fi -__ETC_BASHRC_SOURCED=1 - -if [ -z "$__NIX_DARWIN_SET_ENVIRONMENT_DONE" ]; then - . /nix/store/hmb4snhprywidmdc07s0krx4hvfy81q0-set-environment -fi - -# Return early if not running interactively, but after basic nix setup. -[[ $- != *i* ]] && return - -# Make bash check its window size after a process completes -shopt -s checkwinsize - - - - - - - - - -# Read system-wide modifications. -if test -f /etc/bash.local; then - source /etc/bash.local -fi diff --git a/result/etc/nix/nix.conf b/result/etc/nix/nix.conf deleted file mode 100644 index 6112a203..00000000 --- a/result/etc/nix/nix.conf +++ /dev/null @@ -1,18 +0,0 @@ -# WARNING: this file is generated from the nix.* options in -# your nix-darwin configuration. Do not edit it! -allowed-users = * -auto-optimise-store = false -build-users-group = nixbld -builders = -cores = 0 -experimental-features = nix-command flakes -max-jobs = auto -require-sigs = true -sandbox = false -sandbox-fallback = false -substituters = https://cache.nixos.org/ -trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= -trusted-substituters = -trusted-users = root -extra-sandbox-paths = - diff --git a/result/etc/nix/registry.json b/result/etc/nix/registry.json deleted file mode 100644 index 1e31764b..00000000 --- a/result/etc/nix/registry.json +++ /dev/null @@ -1 +0,0 @@ -{"flakes":[{"exact":true,"from":{"id":"nixpkgs","type":"indirect"},"to":{"path":"/nix/store/6nlilasx4qlnmxlcg0ydbpaz51xcm4s9-source","type":"path"}}],"version":2} \ No newline at end of file diff --git a/result/etc/pam.d/sudo_local b/result/etc/pam.d/sudo_local deleted file mode 100644 index e69de29b..00000000 diff --git a/result/etc/profiles/per-user/bdsqqq/bin/.az-wrapped_ b/result/etc/profiles/per-user/bdsqqq/bin/.az-wrapped_ deleted file mode 100755 index 1abfbe16..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/.az-wrapped_ +++ /dev/null @@ -1,111 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/pgyx99zfnfr403q70ak2dr70fd5fqyp1-python3.13-websocket-client-1.8.0/bin'':'/':'} -PATH='/nix/store/pgyx99zfnfr403q70ak2dr70fd5fqyp1-python3.13-websocket-client-1.8.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7iaf67cjy7i0h6jfv3d144dzrhympd07-python3.13-sshtunnel-0.4.0/bin'':'/':'} -PATH='/nix/store/7iaf67cjy7i0h6jfv3d144dzrhympd07-python3.13-sshtunnel-0.4.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/1vmgfi54iwi3h2nqjzihb8gj850h213w-python3.13-semver-3.0.4/bin'':'/':'} -PATH='/nix/store/1vmgfi54iwi3h2nqjzihb8gj850h213w-python3.13-semver-3.0.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ybnjalb2zjaaxj8rpkxmykidigxyicf8-python3.13-jsondiff-2.2.1/bin'':'/':'} -PATH='/nix/store/ybnjalb2zjaaxj8rpkxmykidigxyicf8-python3.13-jsondiff-2.2.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/nzb75gs4sdsamziw0gxxdh5yl2rk0n8f-python3.13-invoke-2.2.0/bin'':'/':'} -PATH='/nix/store/nzb75gs4sdsamziw0gxxdh5yl2rk0n8f-python3.13-invoke-2.2.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/w9xmff5xigpdvd6v3zcqj6dlh5kfz6vx-python3.13-fabric-3.2.2/bin'':'/':'} -PATH='/nix/store/w9xmff5xigpdvd6v3zcqj6dlh5kfz6vx-python3.13-fabric-3.2.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/b1p5j4h7013yiif5fcqsmwv4m99gpxfk-python3.13-chardet-5.2.0/bin'':'/':'} -PATH='/nix/store/b1p5j4h7013yiif5fcqsmwv4m99gpxfk-python3.13-chardet-5.2.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/791h7dg46jcmsmjmxgb4c2i489l9prhr-python3.13-pkginfo-1.12.1.2/bin'':'/':'} -PATH='/nix/store/791h7dg46jcmsmjmxgb4c2i489l9prhr-python3.13-pkginfo-1.12.1.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'':'/':'} -PATH='/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jsnq297pwy21jd3dwymbqc18n7cfclz0-python3.13-humanfriendly-10.0/bin'':'/':'} -PATH='/nix/store/jsnq297pwy21jd3dwymbqc18n7cfclz0-python3.13-humanfriendly-10.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'':'/':'} -PATH='/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'':'/':'} -PATH='/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lks0yfbs80mzsaf641npvkp2mx8qa11d-python3.13-antlr4-python3-runtime-4.13.2/bin'':'/':'} -PATH='/nix/store/lks0yfbs80mzsaf641npvkp2mx8qa11d-python3.13-antlr4-python3-runtime-4.13.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/bin'':'/':'} -PATH='/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/bin/.az-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/2to3 b/result/etc/profiles/per-user/bdsqqq/bin/2to3 deleted file mode 100755 index 680b565c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/2to3 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 -import sys -from lib2to3.main import main - -sys.exit(main("lib2to3.fixes")) diff --git a/result/etc/profiles/per-user/bdsqqq/bin/2to3-3.12 b/result/etc/profiles/per-user/bdsqqq/bin/2to3-3.12 deleted file mode 100755 index 680b565c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/2to3-3.12 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 -import sys -from lib2to3.main import main - -sys.exit(main("lib2to3.fixes")) diff --git a/result/etc/profiles/per-user/bdsqqq/bin/7z b/result/etc/profiles/per-user/bdsqqq/bin/7z deleted file mode 100755 index 3fa11c70..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/7z +++ /dev/null @@ -1,2 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -"/nix/store/cxbgqmppi2d8xa642gmh4mzr14kxmkfk-p7zip-17.06-lib/lib/p7zip/7z" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/7za b/result/etc/profiles/per-user/bdsqqq/bin/7za deleted file mode 100755 index cc631246..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/7za +++ /dev/null @@ -1,2 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -"/nix/store/cxbgqmppi2d8xa642gmh4mzr14kxmkfk-p7zip-17.06-lib/lib/p7zip/7za" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/7zr b/result/etc/profiles/per-user/bdsqqq/bin/7zr deleted file mode 100755 index 6783e16a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/7zr +++ /dev/null @@ -1,2 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -"/nix/store/cxbgqmppi2d8xa642gmh4mzr14kxmkfk-p7zip-17.06-lib/lib/p7zip/7zr" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/accessdb b/result/etc/profiles/per-user/bdsqqq/bin/accessdb deleted file mode 100755 index e2b559e3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/accessdb and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/age b/result/etc/profiles/per-user/bdsqqq/bin/age deleted file mode 100755 index 406f745b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/age and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/age-keygen b/result/etc/profiles/per-user/bdsqqq/bin/age-keygen deleted file mode 100755 index 66611d83..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/age-keygen and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/amp b/result/etc/profiles/per-user/bdsqqq/bin/amp deleted file mode 100755 index 1dabdd83..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/amp +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/xygyyr4jqazmdmqf9x5pqkxnkcp9w0h8-ripgrep-14.1.1/bin'':'/':'} -PATH='/nix/store/xygyyr4jqazmdmqf9x5pqkxnkcp9w0h8-ripgrep-14.1.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/av4xn039ws4zhylhiiqygvq629il1s6l-amp-cli-0.0.1750147289-g2a47fe/bin/.amp-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible b/result/etc/profiles/per-user/bdsqqq/bin/ansible deleted file mode 100755 index 501da07f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-config b/result/etc/profiles/per-user/bdsqqq/bin/ansible-config deleted file mode 100755 index c75cc7ff..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-config +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-config-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-console b/result/etc/profiles/per-user/bdsqqq/bin/ansible-console deleted file mode 100755 index 7f38d537..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-console +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-console-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-doc b/result/etc/profiles/per-user/bdsqqq/bin/ansible-doc deleted file mode 100755 index 3d801ae7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-doc +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-doc-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-galaxy b/result/etc/profiles/per-user/bdsqqq/bin/ansible-galaxy deleted file mode 100755 index aa1b56a5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-galaxy +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-galaxy-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-inventory b/result/etc/profiles/per-user/bdsqqq/bin/ansible-inventory deleted file mode 100755 index 0368d769..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-inventory +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-inventory-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-playbook b/result/etc/profiles/per-user/bdsqqq/bin/ansible-playbook deleted file mode 100755 index dcc61db0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-playbook +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-playbook-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-pull b/result/etc/profiles/per-user/bdsqqq/bin/ansible-pull deleted file mode 100755 index 63f98c4e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-pull +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-pull-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-test b/result/etc/profiles/per-user/bdsqqq/bin/ansible-test deleted file mode 100755 index 72970871..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-test +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-test-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ansible-vault b/result/etc/profiles/per-user/bdsqqq/bin/ansible-vault deleted file mode 100755 index 78b67851..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ansible-vault +++ /dev/null @@ -1,93 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'':'/':'} -PATH='/nix/store/6b3zrq12jwqvgzb1m61193d6qfk54cfv-python3.13-yangson-1.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'':'/':'} -PATH='/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'':'/':'} -PATH='/nix/store/3viyhfvhyww581ngxkc4xybzs5bgk9dz-python3.13-pyserial-3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'':'/':'} -PATH='/nix/store/5mcxxgz2375z8qyrdhqjwb663bhhjwqx-python3.13-netmiko-4.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'':'/':'} -PATH='/nix/store/vvrk69ywayja27i5wdvg5dpjwznbmdl8-python3.13-deepdiff-8.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'':'/':'} -PATH='/nix/store/305dzj39ha056c67m2z8asdb8805ngin-python3.13-ttp-0.9.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'':'/':'} -PATH='/nix/store/i9bz27ji6faf959i3nl0i9zz35q79sn2-python3.13-textfsm-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'':'/':'} -PATH='/nix/store/7mkrnch2fzdrc5ivwqkkzznmvynh4zp2-python3.13-jsonschema-4.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'':'/':'} -PATH='/nix/store/dnnhjp7s1v124ycm0wjqcr8is60a8qwx-python3.13-netaddr-1.3.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'':'/':'} -PATH='/nix/store/lk989a1vvl4kw291cbxpx9wjcry6l2vw-python3.13-ansible-11.5.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'':'/':'} -PATH='/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/wc3ismyg5vy9x176rgaqbnd7pls2dq4l-python3.13-ansible-core-2.18.6/bin/.ansible-vault-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/apropos b/result/etc/profiles/per-user/bdsqqq/bin/apropos deleted file mode 100755 index eb7945a2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/apropos +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.whatis-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/asciiquarium b/result/etc/profiles/per-user/bdsqqq/bin/asciiquarium deleted file mode 100755 index 365abbc4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/asciiquarium +++ /dev/null @@ -1,3 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -export PERL5LIB='/nix/store/xnxzkw3p6vfkbni025fg4wp9g36nqrir-perl5.40.0-Term-Animation-2.6/lib/perl5/site_perl:/nix/store/009ibcgflnwwjwl2xg1pqf0li6ah0rjy-perl5.40.0-Curses-1.44/lib/perl5/site_perl:/nix/store/nycgajv9a38ys7nw2f9p4msl74x5gj3f-ncurses-6.5-dev/lib/perl5/site_perl' -exec -a "$0" "/nix/store/9c49jf71p9j68zqnzfnzxc46j1f8x3r3-asciiquarium-transparent-1.3/bin/.asciiquarium-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/aws b/result/etc/profiles/per-user/bdsqqq/bin/aws deleted file mode 100755 index 3f5ff242..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/aws +++ /dev/null @@ -1,45 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'':'/':'} -PATH='/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5p52drp8ldq2hzy223kp6qsbaqhhpym5-python3.13-docutils-0.21.2/bin'':'/':'} -PATH='/nix/store/5p52drp8ldq2hzy223kp6qsbaqhhpym5-python3.13-docutils-0.21.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'':'/':'} -PATH='/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'':'/':'} -PATH='/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin'':'/':'} -PATH='/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin/.aws-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/aws_bash_completer b/result/etc/profiles/per-user/bdsqqq/bin/aws_bash_completer deleted file mode 100644 index 32cd1dd8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/aws_bash_completer +++ /dev/null @@ -1,6 +0,0 @@ -# Typically that would be added under one of the following paths: -# - /etc/bash_completion.d -# - /usr/local/etc/bash_completion.d -# - /usr/share/bash-completion/completions - -complete -C aws_completer aws diff --git a/result/etc/profiles/per-user/bdsqqq/bin/aws_completer b/result/etc/profiles/per-user/bdsqqq/bin/aws_completer deleted file mode 100755 index 4f324e1f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/aws_completer +++ /dev/null @@ -1,45 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'':'/':'} -PATH='/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5p52drp8ldq2hzy223kp6qsbaqhhpym5-python3.13-docutils-0.21.2/bin'':'/':'} -PATH='/nix/store/5p52drp8ldq2hzy223kp6qsbaqhhpym5-python3.13-docutils-0.21.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'':'/':'} -PATH='/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'':'/':'} -PATH='/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin'':'/':'} -PATH='/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/lf415l1c72pcd38vb00q3mzsd2znwpjh-awscli2-2.27.31/bin/.aws_completer-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/aws_zsh_completer.sh b/result/etc/profiles/per-user/bdsqqq/bin/aws_zsh_completer.sh deleted file mode 100644 index c1b2c124..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/aws_zsh_completer.sh +++ /dev/null @@ -1,60 +0,0 @@ -# Source this file to activate auto completion for zsh using the bash -# compatibility helper. Make sure to run `compinit` before, which should be -# given usually. -# -# % source /path/to/zsh_complete.sh -# -# Typically that would be called somewhere in your .zshrc. -# -# Note, the overwrite of _bash_complete() is to export COMP_LINE and COMP_POINT -# That is only required for zsh <= edab1d3dbe61da7efe5f1ac0e40444b2ec9b9570 -# -# https://github.com/zsh-users/zsh/commit/edab1d3dbe61da7efe5f1ac0e40444b2ec9b9570 -# -# zsh releases prior to that version do not export the required env variables! - -autoload -Uz bashcompinit -bashcompinit -i - -_bash_complete() { - local ret=1 - local -a suf matches - local -x COMP_POINT COMP_CWORD - local -a COMP_WORDS COMPREPLY BASH_VERSINFO - local -x COMP_LINE="$words" - local -A savejobstates savejobtexts - - (( COMP_POINT = 1 + ${#${(j. .)words[1,CURRENT]}} + $#QIPREFIX + $#IPREFIX + $#PREFIX )) - (( COMP_CWORD = CURRENT - 1)) - COMP_WORDS=( $words ) - BASH_VERSINFO=( 2 05b 0 1 release ) - - savejobstates=( ${(kv)jobstates} ) - savejobtexts=( ${(kv)jobtexts} ) - - [[ ${argv[${argv[(I)nospace]:-0}-1]} = -o ]] && suf=( -S '' ) - - matches=( ${(f)"$(compgen $@ -- ${words[CURRENT]})"} ) - - if [[ -n $matches ]]; then - if [[ ${argv[${argv[(I)filenames]:-0}-1]} = -o ]]; then - compset -P '*/' && matches=( ${matches##*/} ) - compset -S '/*' && matches=( ${matches%%/*} ) - compadd -Q -f "${suf[@]}" -a matches && ret=0 - else - compadd -Q "${suf[@]}" -a matches && ret=0 - fi - fi - - if (( ret )); then - if [[ ${argv[${argv[(I)default]:-0}-1]} = -o ]]; then - _default "${suf[@]}" && ret=0 - elif [[ ${argv[${argv[(I)dirnames]:-0}-1]} = -o ]]; then - _directories "${suf[@]}" && ret=0 - fi - fi - - return ret -} - -complete -C aws_completer aws diff --git a/result/etc/profiles/per-user/bdsqqq/bin/az b/result/etc/profiles/per-user/bdsqqq/bin/az deleted file mode 100755 index 0749221b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/az +++ /dev/null @@ -1,4 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -export AZURE_IMMUTABLE_DIR='/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/etc/azure' -export PYTHONPATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/lib/python3.13/site-packages:/nix/store/lks0yfbs80mzsaf641npvkp2mx8qa11d-python3.13-antlr4-python3-runtime-4.13.2/lib/python3.13/site-packages:/nix/store/d9pznqa57gcv80dmnk8xv9sgjajjhp7i-python3.13-azure-appconfiguration-1.7.1/lib/python3.13/site-packages:/nix/store/h0rnclfsmbfgqsb7r8py52nnh5806sqz-python3.13-azure-batch-15.0.0b1/lib/python3.13/site-packages:/nix/store/wdb2qngpfi1y017pm6g6d2z2761iz024-python3.13-azure-cli-core-2.74.0/lib/python3.13/site-packages:/nix/store/hmdzgss5fxiagaw791n86jhy2cc9nhih-python3.13-azure-cosmos-4.9.0/lib/python3.13/site-packages:/nix/store/qgpk7hhfyvvkffv39wi8wkr004v20390-python3.13-azure-data-tables-12.7.0/lib/python3.13/site-packages:/nix/store/3qcwg0s2k01fnd47mhq6axf1yvi4d68m-python3.13-azure-datalake-store-0.0.53/lib/python3.13/site-packages:/nix/store/lcnpfz062xgvng04hs53172f42kpxcr4-python3.13-azure-graphrbac-0.61.1/lib/python3.13/site-packages:/nix/store/jzxvlk72dmpsxj17sp138rplhyhilb15-python3.13-azure-keyvault-administration-4.5.0/lib/python3.13/site-packages:/nix/store/8khshfn8abij0sr4wajvyvwkrq78d92z-python3.13-azure-keyvault-certificates-4.9.0/lib/python3.13/site-packages:/nix/store/snhi6s4dsbfs40vzs3kb0zmy08hlc1sk-python3.13-azure-keyvault-keys-4.10.0/lib/python3.13/site-packages:/nix/store/rd7pbi28s7aricfgh0wry6ns84y136gw-python3.13-azure-keyvault-secrets-4.9.0/lib/python3.13/site-packages:/nix/store/mnsf5xk2grdayasshpm213v4i612pjiv-python3.13-azure-keyvault-securitydomain-1.0.0b1/lib/python3.13/site-packages:/nix/store/k8nmahnklznd9zqxrrd2zfaqf1xgk041-python3.13-azure-mgmt-advisor-9.0.0/lib/python3.13/site-packages:/nix/store/g137v0x7v8aaly52nmynfgslrqygd8x1-python3.13-azure-mgmt-apimanagement-5.0.0/lib/python3.13/site-packages:/nix/store/5bsmd7b8bd96nhv74lkxswib7hp6v8i5-python3.13-azure-mgmt-appconfiguration-4.0.0/lib/python3.13/site-packages:/nix/store/kj5rjwim05h85lqwavj0n1q1yyzglzrb-python3.13-azure-mgmt-appcontainers-3.2.0/lib/python3.13/site-packages:/nix/store/262vgpg9vlxs3ym8mgg6g6cj968h5h3d-python3.13-azure-mgmt-applicationinsights-4.0.0/lib/python3.13/site-packages:/nix/store/rg9mhvfiyg4394rgmsj771kdmbiblrl9-python3.13-azure-mgmt-authorization-4.0.0/lib/python3.13/site-packages:/nix/store/lrsqz0fsvij52zc1x7ans5ff52cnl62g-python3.13-azure-mgmt-batchai-7.0.0/lib/python3.13/site-packages:/nix/store/hvrrv79daxqijzwzkrjgnv4g5wza3p7i-python3.13-azure-mgmt-batch-18.0.0/lib/python3.13/site-packages:/nix/store/fg6r2haccqkafzq6is1rqd4p0h6sxvvl-python3.13-azure-mgmt-billing-6.0.0/lib/python3.13/site-packages:/nix/store/kn02w2zwn5ya93yjz42phbn6mn6x2raw-python3.13-azure-mgmt-botservice-2.0.0/lib/python3.13/site-packages:/nix/store/2qs3s3647xjxwi77ifhr2chixr1r99z9-python3.13-azure-mgmt-cdn-12.0.0/lib/python3.13/site-packages:/nix/store/r70r3r7378hgmh6x7bx0kfmdffjxzvnd-python3.13-azure-mgmt-cognitiveservices-13.6.0/lib/python3.13/site-packages:/nix/store/d3qz3fnkcji9xnqpadi9bghksscyaiqv-python3.13-azure-mgmt-compute-34.1.0/lib/python3.13/site-packages:/nix/store/5iz7m3rs5yjal80xcnjg06pm0yayxf7k-python3.13-azure-mgmt-containerinstance-10.2.0b1/lib/python3.13/site-packages:/nix/store/r8zvcq6y0678biznhwnppvjpdlskxhf9-python3.13-azure-mgmt-containerregistry-14.0.0/lib/python3.13/site-packages:/nix/store/v7vpi43gfv3pbfsvmn4sbby5ws69ly3a-python3.13-azure-mgmt-containerservice-36.0.0/lib/python3.13/site-packages:/nix/store/baq21nqdyh228rdjnfmzk61gp9znnw1c-python3.13-azure-mgmt-cosmosdb-9.8.0/lib/python3.13/site-packages:/nix/store/pkq3y0dxsg1b17dl58yplqh78p46sgxy-python3.13-azure-mgmt-databoxedge-1.0.0/lib/python3.13/site-packages:/nix/store/dlii95jp8wnfkkp95d54wjcpd52l97yy-python3.13-azure-mgmt-datalake-store-1.0.0/lib/python3.13/site-packages:/nix/store/cz1877z79wq321zq0q5raaw0p1f4ra51-python3.13-azure-mgmt-datamigration-10.0.0/lib/python3.13/site-packages:/nix/store/3iw64fk1b2s38asnjjdjdwbwp6blih2s-python3.13-azure-mgmt-dns-8.2.0/lib/python3.13/site-packages:/nix/store/rqpina4b8n58kd82s3qx9b25x5vdrh51-python3.13-azure-mgmt-eventgrid-10.2.0b2/lib/python3.13/site-packages:/nix/store/a8gr1pmx8kjl1387gdjl5sk0hhsyvll8-python3.13-azure-mgmt-eventhub-11.2.0/lib/python3.13/site-packages:/nix/store/z64wsqdqw5zl13mdwblrwbrzifsgxxfv-python3.13-azure-mgmt-extendedlocation-2.0.0/lib/python3.13/site-packages:/nix/store/bxjxpqj1grswnh20r03qvf8r88nf93bq-python3.13-azure-mgmt-hdinsight-9.0.0b3/lib/python3.13/site-packages:/nix/store/v0ndndqf0gpy741v1w2a3s3k8sijq4mp-python3.13-azure-mgmt-imagebuilder-1.4.0/lib/python3.13/site-packages:/nix/store/q26jnhv20qbwwyyic2z2aydijg100shi-python3.13-azure-mgmt-iotcentral-9.0.0/lib/python3.13/site-packages:/nix/store/3y9pyw9bbnsvyh1al542hsbnx6sbwhy6-python3.13-azure-mgmt-iothub-3.0.0/lib/python3.13/site-packages:/nix/store/00hncffal5dj1kv9cq82xfk8jliln2v5-python3.13-azure-mgmt-iothubprovisioningservices-1.1.0/lib/python3.13/site-packages:/nix/store/k1nwa96ncsjcvz2q6jqs017rph1fcgdq-python3.13-azure-mgmt-keyvault-11.0.0/lib/python3.13/site-packages:/nix/store/hysna0d17p85q8rwck6ym1qp5g1lr2xz-python3.13-azure-mgmt-loganalytics-12.0.0/lib/python3.13/site-packages:/nix/store/44v9gc5y455gljcawlj3q4jw0x3k4b8c-python3.13-azure-mgmt-managedservices-6.0.0/lib/python3.13/site-packages:/nix/store/ksy3lhd2aar0wvkmsrir37y6vfkm5m69-python3.13-azure-mgmt-managementgroups-1.0.0/lib/python3.13/site-packages:/nix/store/rfxp9v57qs4qznz45pdyhnw8cm92r9p1-python3.13-azure-mgmt-maps-2.1.0/lib/python3.13/site-packages:/nix/store/xz5w2408ml8lv67rx71cs61vjz3nijm7-python3.13-azure-mgmt-marketplaceordering-1.1.0/lib/python3.13/site-packages:/nix/store/d09qqdmlfjcyhslr9zyfbyp95j4jg9bj-python3.13-azure-mgmt-media-9.0.0/lib/python3.13/site-packages:/nix/store/8cpwkc00a3qr4jv8n5qc7whq9lmlxv47-python3.13-azure-mgmt-monitor-7.0.0b1/lib/python3.13/site-packages:/nix/store/3rmafp11243kcdnjvpj29lyvv0ciyvsi-python3.13-azure-mgmt-msi-7.0.0/lib/python3.13/site-packages:/nix/store/8bsv2p4fk98pqv23m0653z1zihi8ml30-python3.13-azure-mgmt-mysqlflexibleservers-1.0.0b2/lib/python3.13/site-packages:/nix/store/xr7alps7r1b1c16lfghzkxvv552wm8x2-python3.13-azure-mgmt-netapp-13.5.0/lib/python3.13/site-packages:/nix/store/iwbn00wqgla6nh8383ad04jng4s2mzjz-python3.13-azure-mgmt-policyinsights-1.0.0/lib/python3.13/site-packages:/nix/store/dgyg6zwbb0la0h12gs319jx2cj8a7syh-python3.13-azure-mgmt-postgresqlflexibleservers-1.1.0/lib/python3.13/site-packages:/nix/store/71l1wgrl9fq8wb0dm9yxk1a2m75k7z9r-python3.13-azure-mgmt-privatedns-1.2.0/lib/python3.13/site-packages:/nix/store/d5hprfq4b0929d244lbnan4ips2xcs26-python3.13-azure-mgmt-rdbms-10.2.0b17/lib/python3.13/site-packages:/nix/store/fiz264v7lrwl4v7ngdd2h873ps42nx7n-python3.13-azure-mgmt-recoveryservicesbackup-9.2.0/lib/python3.13/site-packages:/nix/store/qqr234vivn6ndiwgdxabx21prwd1y7iw-python3.13-azure-mgmt-recoveryservices-3.0.0/lib/python3.13/site-packages:/nix/store/ggdm0r3skqj441yzskcyvz5r3ij8cg8i-python3.13-azure-mgmt-redis-14.5.0/lib/python3.13/site-packages:/nix/store/crzqf2s6x9gf7v9cz6nym1z88jyh5i3s-python3.13-azure-mgmt-redhatopenshift-1.5.0/lib/python3.13/site-packages:/nix/store/y29wpghfxb3s5963qbb6gs47dgb4dpsk-python3.13-azure-mgmt-resource-23.4.0/lib/python3.13/site-packages:/nix/store/8sl24dw7vbsc2dn75bkaxx861wniz16a-python3.13-azure-mgmt-search-9.1.0/lib/python3.13/site-packages:/nix/store/f01qq53r0z7rvga2qs86w8mg2nby606d-python3.13-azure-mgmt-security-7.0.0/lib/python3.13/site-packages:/nix/store/vspsvnwi7i2jv6wnw9vwwi622hxqiaaj-python3.13-azure-mgmt-servicebus-8.2.0/lib/python3.13/site-packages:/nix/store/qk676csq73av1yn5xvwwa281k8wz3iqj-python3.13-azure-mgmt-servicefabricmanagedclusters-2.0.0/lib/python3.13/site-packages:/nix/store/ziwfh1115d7am60r2mycs2242wp2y5hw-python3.13-azure-mgmt-servicelinker-1.1.0/lib/python3.13/site-packages:/nix/store/7h3l5kahjj1896s1aj2lf4zdndqwhzbq-python3.13-azure-mgmt-servicefabric-2.1.0/lib/python3.13/site-packages:/nix/store/hj1yknxmrzq8p5h4nxj3h3g3dq783yxy-python3.13-azure-mgmt-signalr-2.0.0b2/lib/python3.13/site-packages:/nix/store/kayq61avxrw0x6c5w23f2d9d9120i24p-python3.13-azure-mgmt-sqlvirtualmachine-1.0.0b5/lib/python3.13/site-packages:/nix/store/xrrv8pm1vd0319qff8fbx072ddlw9qpi-python3.13-azure-mgmt-sql-4.0.0b20/lib/python3.13/site-packages:/nix/store/jp3ya3x5xpx6as4yzw47bqpmb1bnzfg2-python3.13-azure-mgmt-storage-23.0.0/lib/python3.13/site-packages:/nix/store/yrgjybi1jxjazfmffbbzrhrlk8xk1093-python3.13-azure-mgmt-synapse-2.1.0b5/lib/python3.13/site-packages:/nix/store/6k81dya8ypywc8bj19fhkryimjnjh8ya-python3.13-azure-mgmt-trafficmanager-1.1.0/lib/python3.13/site-packages:/nix/store/halzv1lcis5xnv9ib9ik8iqzv9b96zw5-python3.13-azure-mgmt-web-8.0.0/lib/python3.13/site-packages:/nix/store/zmp1x1gjf69skizkzzifg01vniahrh52-python3.13-azure-monitor-query-1.4.1/lib/python3.13/site-packages:/nix/store/1zqgbci9rs0a4a59ygq7277z5pn9wri9-python3.13-azure-multiapi-storage-1.4.0/lib/python3.13/site-packages:/nix/store/q9dhi0k61sg3z38yy8gncnwzmxv47nlk-python3.13-azure-storage-common-2.1.0/lib/python3.13/site-packages:/nix/store/bk4dsr3l2j4s697304sn9b8q3n26qh79-python3.13-azure-synapse-accesscontrol-0.7.0/lib/python3.13/site-packages:/nix/store/8yldzhf3qrfh39dr8j7wk7ws0pyk2scp-python3.13-azure-synapse-artifacts-0.20.0/lib/python3.13/site-packages:/nix/store/0a144nndjnrap8rkysvfr7y2bgsz22yq-python3.13-azure-synapse-managedprivateendpoints-0.4.0/lib/python3.13/site-packages:/nix/store/ccr9bagyipw93p5zxlhcnw7mm98zhjhx-python3.13-azure-synapse-spark-0.7.0/lib/python3.13/site-packages:/nix/store/b1p5j4h7013yiif5fcqsmwv4m99gpxfk-python3.13-chardet-5.2.0/lib/python3.13/site-packages:/nix/store/0x9g0qkjyf23zajmnq3h3csrzhr3a234-python3.13-colorama-0.4.6/lib/python3.13/site-packages:/nix/store/w9xmff5xigpdvd6v3zcqj6dlh5kfz6vx-python3.13-fabric-3.2.2/lib/python3.13/site-packages:/nix/store/rihr683xr6kvfm8bz5jm4xp5q4r0wass-python3.13-javaproperties-0.8.2/lib/python3.13/site-packages:/nix/store/ybnjalb2zjaaxj8rpkxmykidigxyicf8-python3.13-jsondiff-2.2.1/lib/python3.13/site-packages:/nix/store/nn443i7x0p6d2jlvrylcrfhv1ll6pcbp-python3.13-packaging-25.0/lib/python3.13/site-packages:/nix/store/mmql4yf0wg39vgfqxjzn6xg74zwc08r7-python3.13-pycomposefile-0.0.32/lib/python3.13/site-packages:/nix/store/lflyyirwrj4k8drva3d60bna9ma98j20-python3.13-pygithub-2.6.1/lib/python3.13/site-packages:/nix/store/i39fdl6gl74dp958ggyfyxc94vv50l8m-python3.13-pynacl-1.5.0/lib/python3.13/site-packages:/nix/store/xyjl77vrywvqi5d5dz2ygx607sv3h686-python3.13-scp-0.15.0/lib/python3.13/site-packages:/nix/store/1vmgfi54iwi3h2nqjzihb8gj850h213w-python3.13-semver-3.0.4/lib/python3.13/site-packages:/nix/store/z1hf1kcnap8wyll52j6fscj5q5f38wzs-python3.13-six-1.17.0/lib/python3.13/site-packages:/nix/store/7iaf67cjy7i0h6jfv3d144dzrhympd07-python3.13-sshtunnel-0.4.0/lib/python3.13/site-packages:/nix/store/6nlzh5f8camfmzlwhjg81f707p0hsskm-python3.13-tabulate-0.9.0/lib/python3.13/site-packages:/nix/store/a5dkqk431xmqpr1wqkzqb8a8bzdy45kx-python3.13-urllib3-2.4.0/lib/python3.13/site-packages:/nix/store/pgyx99zfnfr403q70ak2dr70fd5fqyp1-python3.13-websocket-client-1.8.0/lib/python3.13/site-packages:/nix/store/f2swv4ndnfzislm73ri0gnfk3vs7gnyy-python3.13-xmltodict-0.14.2/lib/python3.13/site-packages:/nix/store/n1bp4sw4bdai70fhvs9zx2vzd2rpwzar-python3.13-pyopenssl-25.1.0/lib/python3.13/site-packages:/nix/store/67lz3s3a5bnqhv5k1wid9dnr6zz25lzn-python3.13-setuptools-80.7.1/lib/python3.13/site-packages:/nix/store/76w46vwfmx632pgbm8hfhq1q8q41xxf6-python3.13-azure-core-1.32.0/lib/python3.13/site-packages:/nix/store/yscfz3pzfq1bgj8k83z86nqxddpaahsb-python3.13-isodate-0.7.2/lib/python3.13/site-packages:/nix/store/msqq19kbx8849wx6p0bc1m8h7yfvisqq-python3.13-requests-2.32.3/lib/python3.13/site-packages:/nix/store/sgwrclqx3ckcwwh1s718zd8a6f6kyp37-python3.13-typing-extensions-4.13.2/lib/python3.13/site-packages:/nix/store/hqm7ydzjawb3flyjjv42ndz53kcybpi0-python3.13-certifi-2025.04.26/lib/python3.13/site-packages:/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/lib/python3.13/site-packages:/nix/store/bmzj94a6ywcl33d7xs0cs7lwdg2rp61m-python3.13-idna-3.10/lib/python3.13/site-packages:/nix/store/3q1zmmh4wnr2nynhw8rplkyi71zjy2f3-python3.13-azure-common-1.1.28/lib/python3.13/site-packages:/nix/store/4sr06xfqk3pcwl3vawidy2cv3zd8hhd0-python3.13-msrestazure-0.6.4/lib/python3.13/site-packages:/nix/store/yrgl5cxmng3ys42rdybv6jhawrmmlh9y-python3.13-azure-nspkg-3.0.2/lib/python3.13/site-packages:/nix/store/pwkhknq0059y9ziz22plb8na4rn6dmbg-python3.13-adal-1.2.7/lib/python3.13/site-packages:/nix/store/9vrq3pv0hasij029ijq7q8dcjysgp035-python3.13-msrest-0.7.1/lib/python3.13/site-packages:/nix/store/rnvk8f3c1g9gvpqnl43c0fr2axhxzk50-python3.13-pyjwt-2.10.1/lib/python3.13/site-packages:/nix/store/s59ifai7cj7vvd0glfi4v58160maxk48-python3.13-python-dateutil-2.9.0.post0/lib/python3.13/site-packages:/nix/store/dwsf1aq406kc036hg0ch4gv37iihf03z-python3.13-aiodns-3.4.0/lib/python3.13/site-packages:/nix/store/ssizr3wm4vh75jchqg3v442pdid21d7i-python3.13-aiohttp-3.12.10/lib/python3.13/site-packages:/nix/store/av5idp6hmppj51ma58fbd6xa7n4sxvy1-python3.13-requests-oauthlib-2.0.0/lib/python3.13/site-packages:/nix/store/yixqdgh2darbn4bihv2kl9mcavdvf9q2-python3.13-pycares-4.8.0/lib/python3.13/site-packages:/nix/store/w6ra838l91nqswn7zadq2lldgw0r8qqd-python3.13-cffi-1.17.1/lib/python3.13/site-packages:/nix/store/c381v8h9mdqln5wl4ha9xfhqlr9gwp76-python3.13-pycparser-2.22/lib/python3.13/site-packages:/nix/store/nysnvclzg5bywk055vs7ardmqdgfsj83-python3.13-aiohappyeyeballs-2.6.1/lib/python3.13/site-packages:/nix/store/aabvg9n9fj7hi7myah6hzw2khz5l5kwj-python3.13-aiosignal-1.3.2/lib/python3.13/site-packages:/nix/store/lpj7db6p7rr97ps9vj8ysgdbikrhfj5k-python3.13-async-timeout-5.0.1/lib/python3.13/site-packages:/nix/store/cwxlx8k0j7yxx15fzb001z3zmvaj8i4q-python3.13-attrs-25.3.0/lib/python3.13/site-packages:/nix/store/6pvhl00f693frdc782hzvy4iyw4md28w-python3.13-frozenlist-1.6.0/lib/python3.13/site-packages:/nix/store/8gznkpbns2yy4jddgczm04cwfyfyyr2c-python3.13-multidict-6.4.4/lib/python3.13/site-packages:/nix/store/a1m8c2kqjlj7rw6g16850sv5ilblrj9h-python3.13-propcache-0.3.1/lib/python3.13/site-packages:/nix/store/4i8ry5yp0zdyfj6s1iq9gwvz97ldmqv8-python3.13-yarl-1.20.0/lib/python3.13/site-packages:/nix/store/9khk5fzd9am9b7xvzli1yfjwn59jr9gg-python3.13-brotli-1.1.0/lib/python3.13/site-packages:/nix/store/f1z570viqgyfp885wyyvc2ldalifbpz3-python3.13-oauthlib-3.2.2/lib/python3.13/site-packages:/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/lib/python3.13/site-packages:/nix/store/f54v0wwwn4iq87gr6w4yhvvjbbn7l2qz-python3.13-azure-cli-telemetry-1.1.0/lib/python3.13/site-packages:/nix/store/gjc1f6bqpkbszchp2j40mry5q3ybdbw4-python3.13-azure-mgmt-core-1.5.0/lib/python3.13/site-packages:/nix/store/q8jarxr7jfql35wygrsrkrmwz6wf8l1b-python3.13-cryptography-45.0.2/lib/python3.13/site-packages:/nix/store/xqlxvw41c8p1vl6r7vygcp8bhsg01hvw-python3.13-distro-1.9.0/lib/python3.13/site-packages:/nix/store/jsnq297pwy21jd3dwymbqc18n7cfclz0-python3.13-humanfriendly-10.0/lib/python3.13/site-packages:/nix/store/2z3xlq4p8x5nhwhgrl3j8vlhz8pr1v9j-python3.13-jmespath-1.0.1/lib/python3.13/site-packages:/nix/store/vhvxz9n7p52bmwm7k67fsw80giak12gy-python3.13-knack-0.12.0/lib/python3.13/site-packages:/nix/store/26h78x9yw0wfvd1kgjbrzzbrdif0ms2y-python3.13-microsoft-security-utilities-secret-masker-1.0.0b4/lib/python3.13/site-packages:/nix/store/g9vqsvhynpzsjzb6s76hxviz8j18bmyq-python3.13-msal-extensions-1.3.1/lib/python3.13/site-packages:/nix/store/mn27iqfjf6x48q43yi5kwixdqcirsp64-python3.13-msal-1.32.3/lib/python3.13/site-packages:/nix/store/hyfjfibd6jq6msvl83ab4fsmqmknc07k-python3.13-paramiko-3.5.1/lib/python3.13/site-packages:/nix/store/791h7dg46jcmsmjmxgb4c2i489l9prhr-python3.13-pkginfo-1.12.1.2/lib/python3.13/site-packages:/nix/store/4xs01nkc3dn4x7ylcwzqdh23ms1ljy72-python3.13-psutil-7.0.0/lib/python3.13/site-packages:/nix/store/8y62x424dmflj1qf8ykaay2a48cjybf6-python3.13-py-deviceid-0.1.1/lib/python3.13/site-packages:/nix/store/6kmmamj4m7bspk2w1s9h48zdsr3cwlkf-python3.13-pyopenssl-25.1.0-dev/lib/python3.13/site-packages:/nix/store/x6zpxkjdkqacy9bx0kicx72zfxgs70ws-python3.13-pysocks-1.7.1/lib/python3.13/site-packages:/nix/store/9lsyid8rg2b314d13gybk40j0h2mri4n-python3.13-applicationinsights-0.11.10/lib/python3.13/site-packages:/nix/store/s6ym1lnb5lhf5slsf54skgbb7kgc40hm-python3.13-portalocker-3.1.1/lib/python3.13/site-packages:/nix/store/pacz8ilqmb76nbm3wmpqgllksy98m4rr-python3.13-redis-6.1.0/lib/python3.13/site-packages:/nix/store/qc5i5jly1d613pbld04gcsfbpp5gplsq-python3.13-deprecated-1.2.18/lib/python3.13/site-packages:/nix/store/bwrxkxw8yplja1kjzzdqjfr5xqks0h8x-python3.13-wrapt-1.17.2/lib/python3.13/site-packages:/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/lib/python3.13/site-packages:/nix/store/cckrvf1bn44m178l6c0k1ldl8x4779kj-python3.13-pyyaml-6.0.2/lib/python3.13/site-packages:/nix/store/sz29i6xkw2aly8c1yqcz0lpjz3girykr-python3.13-bcrypt-4.3.0/lib/python3.13/site-packages:/nix/store/9lapqq0jl17wr7psyqv8a4nkcwmw2377-python3.13-azure-mgmt-common-0.20.0/lib/python3.13/site-packages:/nix/store/2yk7bnj05a0gdhi2vza1j899lydv6f2n-python3.13-azure-mgmt-nspkg-3.0.2/lib/python3.13/site-packages:/nix/store/05rzni2aqnpilgnykc8gplk28911b780-python3.13-azure-mgmt-datalake-nspkg-3.0.1/lib/python3.13/site-packages:/nix/store/nzb75gs4sdsamziw0gxxdh5yl2rk0n8f-python3.13-invoke-2.2.0/lib/python3.13/site-packages:/nix/store/95jnn74b3k18a3rallhv8d5fz8xip91m-python3.13-decorator-5.2.1/lib/python3.13/site-packages:/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/lib/python3.13/site-packages' -exec -a "$0" "/nix/store/yl4brh91pg6annvjy3y1j9h3wys7w67q-python3.13-azure-cli-2.74.0/bin/.az-wrapped_" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bat b/result/etc/profiles/per-user/bdsqqq/bin/bat deleted file mode 100755 index a3c33eda..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/bat +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'':'/':'} -PATH='/nix/store/s8ycvxnd5qnz1d12mgwc97fifir6b8bd-less-668/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/nqzkm1y51skwp082vr8nraw36k8qzbja-bat-0.25.0/bin/.bat-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/benchcmp b/result/etc/profiles/per-user/bdsqqq/bin/benchcmp deleted file mode 100755 index 0131d1d4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/benchcmp and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bisect b/result/etc/profiles/per-user/bdsqqq/bin/bisect deleted file mode 100755 index 75cb3ff8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/bisect and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/black b/result/etc/profiles/per-user/bdsqqq/bin/black deleted file mode 100755 index 75630aca..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/black +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin'':'/':'} -PATH='/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin/.black-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/blackd b/result/etc/profiles/per-user/bdsqqq/bin/blackd deleted file mode 100755 index 997bb7a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/blackd +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin'':'/':'} -PATH='/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/la5cp7i4zirww2jdvhwimch94x3lx1lx-python3.12-black-25.1.0/bin/.blackd-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/blockbench b/result/etc/profiles/per-user/bdsqqq/bin/blockbench deleted file mode 100755 index 73a87305..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/blockbench +++ /dev/null @@ -1,2 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -exec "/nix/store/2i9y1fw99jccl8r04jky9mwlpi8sshhl-blockbench-4.12.5/Applications/Blockbench.app/Contents/MacOS/Blockbench" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/btop b/result/etc/profiles/per-user/bdsqqq/bin/btop deleted file mode 100755 index 2dfbb90a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/btop and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bumpdoc b/result/etc/profiles/per-user/bdsqqq/bin/bumpdoc deleted file mode 100755 index 051c4525..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/bumpdoc and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bun b/result/etc/profiles/per-user/bdsqqq/bin/bun deleted file mode 100755 index 0de31e42..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/bun and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bundle b/result/etc/profiles/per-user/bdsqqq/bin/bundle deleted file mode 100755 index 7e718480..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/bundle and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/bunx b/result/etc/profiles/per-user/bdsqqq/bin/bunx deleted file mode 100755 index 0de31e42..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/bunx and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/callgraph b/result/etc/profiles/per-user/bdsqqq/bin/callgraph deleted file mode 100755 index d65da38b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/callgraph and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/catman b/result/etc/profiles/per-user/bdsqqq/bin/catman deleted file mode 100755 index 7e0d0ca1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/catman +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.catman-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/changelog b/result/etc/profiles/per-user/bdsqqq/bin/changelog deleted file mode 100755 index 2b33d532..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/changelog and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/chkstow b/result/etc/profiles/per-user/bdsqqq/bin/chkstow deleted file mode 100755 index 058b31ea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/chkstow +++ /dev/null @@ -1,127 +0,0 @@ -#!/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl -# -# This file is part of GNU Stow. -# -# GNU Stow is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GNU Stow is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/. - -use strict; -use warnings; - -require 5.006_001; - -use File::Find; -use Getopt::Long; - -my $DEFAULT_TARGET = $ENV{STOW_DIR} || '/usr/local/'; - -our $Wanted = \&bad_links; -our %Package = (); -our $Stow_dir = ''; -our $Target = $DEFAULT_TARGET; - -# put the main loop into a block so that tests can load this as a module -if ( not caller() ) { - if (@ARGV == 0) { - usage(); - } - process_options(); - #check_stow($Target, $Wanted); - check_stow(); -} - -sub process_options { - GetOptions( - 'b|badlinks' => sub { $Wanted = \&bad_links }, - 'a|aliens' => sub { $Wanted = \&aliens }, - 'l|list' => sub { $Wanted = \&list }, - 't|target=s' => \$Target, - ) or usage(); - return; -} - -sub usage { - print <<"EOT"; -USAGE: chkstow [options] - -Options: - -t DIR, --target=DIR Set the target directory to DIR - (default is $DEFAULT_TARGET) - -b, --badlinks Report symlinks that point to non-existent files - -a, --aliens Report non-symlinks in the target directory - -l, --list List packages in the target directory - ---badlinks is the default mode. -EOT - exit(0); -} - -sub check_stow { - #my ($Target, $Wanted) = @_; - - my (%options) = ( - wanted => $Wanted, - preprocess => \&skip_dirs, - ); - - find(\%options, $Target); - - if ($Wanted == \&list) { - delete $Package{''}; - delete $Package{'..'}; - - if (keys %Package) { - print map "$_\n", sort(keys %Package); - } - } - return; -} - -sub skip_dirs { - # skip stow source and unstowed targets - if (-e ".stow" || -e ".notstowed" ) { - warn "skipping $File::Find::dir\n"; - return (); - } - else { - return @_; - } -} - -# checking for files that do not link to anything -sub bad_links { - -l && !-e && print "Bogus link: $File::Find::name\n"; -} - -# checking for files that are not owned by stow -sub aliens { - !-l && !-d && print "Unstowed file: $File::Find::name\n"; -} - -# just list the packages in the target directory -# FIXME: what if the stow dir is not called 'stow'? -sub list { - if (-l) { - $_ = readlink; - s{\A(?:\.\./)+stow/}{}g; - s{/.*}{}g; - $Package{$_} = 1; - } -} - -1; # Hey, it's a module! - -# Local variables: -# mode: perl -# End: -# vim: ft=perl diff --git a/result/etc/profiles/per-user/bdsqqq/bin/client b/result/etc/profiles/per-user/bdsqqq/bin/client deleted file mode 100755 index 370e4cef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/client and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/cloc b/result/etc/profiles/per-user/bdsqqq/bin/cloc deleted file mode 100755 index 9ceb26ef..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/cloc +++ /dev/null @@ -1,56 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/pdkpxskjw1bilxkfqn9ncfhq1xhyb7g2-perl5.40.0-Regexp-Common-2017060201/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/pdkpxskjw1bilxkfqn9ncfhq1xhyb7g2-perl5.40.0-Regexp-Common-2017060201/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/60lc80ww7xvmp5liacwl7zmi1qi0pmw4-perl5.40.0-Sub-Quote-2.006008/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/60lc80ww7xvmp5liacwl7zmi1qi0pmw4-perl5.40.0-Sub-Quote-2.006008/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/0fbsr1zij1gnq92gzdjw1jrsqfyaa8fj-perl5.40.0-Role-Tiny-2.002004/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/0fbsr1zij1gnq92gzdjw1jrsqfyaa8fj-perl5.40.0-Role-Tiny-2.002004/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/7zi64l0zn885126id82vh8vyh4j5apcg-perl5.40.0-Module-Runtime-0.016/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/7zi64l0zn885126id82vh8vyh4j5apcg-perl5.40.0-Module-Runtime-0.016/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/fjv2djrxxdx596qwdrzdmxs0lps2lky2-perl5.40.0-Class-Method-Modifiers-2.15/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/fjv2djrxxdx596qwdrzdmxs0lps2lky2-perl5.40.0-Class-Method-Modifiers-2.15/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/6lspn7mrb6id8ca8zx8r58ybqjg9i202-perl5.40.0-Moo-2.005005/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/6lspn7mrb6id8ca8zx8r58ybqjg9i202-perl5.40.0-Moo-2.005005/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/5y87hhplpj29xljhm6zb34nn9rlxrb3g-perl5.40.0-Parallel-ForkManager-2.02/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/5y87hhplpj29xljhm6zb34nn9rlxrb3g-perl5.40.0-Parallel-ForkManager-2.02/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/868bjqms7mb6ng4823wfmnyshmpamhci-perl5.40.0-Algorithm-Diff-1.1903/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/868bjqms7mb6ng4823wfmnyshmpamhci-perl5.40.0-Algorithm-Diff-1.1903/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -PERL5LIB=${PERL5LIB:+':'$PERL5LIB':'} -PERL5LIB=${PERL5LIB/':''/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/lib/perl5/site_perl'':'/':'} -PERL5LIB='/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/lib/perl5/site_perl'$PERL5LIB -PERL5LIB=${PERL5LIB#':'} -PERL5LIB=${PERL5LIB%':'} -export PERL5LIB -exec -a "$0" "/nix/store/467nc4gh78y4yyn3c2bfz2hhrgmx3k7z-cloc-2.04/bin/.cloc-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/compilebench b/result/etc/profiles/per-user/bdsqqq/bin/compilebench deleted file mode 100755 index 6ae60c86..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/compilebench and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ctop b/result/etc/profiles/per-user/bdsqqq/bin/ctop deleted file mode 100755 index e1c74fcf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ctop and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/curl b/result/etc/profiles/per-user/bdsqqq/bin/curl deleted file mode 100755 index 9753ef25..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/curl and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/deadcode b/result/etc/profiles/per-user/bdsqqq/bin/deadcode deleted file mode 100755 index 3cb7eef8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/deadcode and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/defers b/result/etc/profiles/per-user/bdsqqq/bin/defers deleted file mode 100755 index 6e9eebf2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/defers and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/digraph b/result/etc/profiles/per-user/bdsqqq/bin/digraph deleted file mode 100755 index f5c9a080..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/digraph and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/dive b/result/etc/profiles/per-user/bdsqqq/bin/dive deleted file mode 100755 index 4547c5cf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/dive and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/dlv b/result/etc/profiles/per-user/bdsqqq/bin/dlv deleted file mode 100755 index 196be5c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/dlv +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -disableHardening=${disableHardening:+' '$disableHardening' '} -disableHardening=${disableHardening/' ''fortify'' '/' '} -disableHardening='fortify'$disableHardening -disableHardening=${disableHardening#' '} -disableHardening=${disableHardening%' '} -export disableHardening -exec -a "$0" "/nix/store/56g8dcrb58ymk6ia7bhixhmix4wk7cd0-delve-1.25.0/bin/.dlv-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/dlv-dap b/result/etc/profiles/per-user/bdsqqq/bin/dlv-dap deleted file mode 100755 index 196be5c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/dlv-dap +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -disableHardening=${disableHardening:+' '$disableHardening' '} -disableHardening=${disableHardening/' ''fortify'' '/' '} -disableHardening='fortify'$disableHardening -disableHardening=${disableHardening#' '} -disableHardening=${disableHardening%' '} -export disableHardening -exec -a "$0" "/nix/store/56g8dcrb58ymk6ia7bhixhmix4wk7cd0-delve-1.25.0/bin/.dlv-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/dmypy b/result/etc/profiles/per-user/bdsqqq/bin/dmypy deleted file mode 100755 index 6c90e823..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/dmypy +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'':'/':'} -PATH='/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin/.dmypy-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/docker b/result/etc/profiles/per-user/bdsqqq/bin/docker deleted file mode 100755 index 0e214ddf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/docker +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c84xzk51zy4wl42gjm3xwdj3ryxbyj3s-docker-28.2.2/libexec/docker'':'/':'} -PATH='/nix/store/c84xzk51zy4wl42gjm3xwdj3ryxbyj3s-docker-28.2.2/libexec/docker'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec "/nix/store/c84xzk51zy4wl42gjm3xwdj3ryxbyj3s-docker-28.2.2/libexec/docker/docker" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/eg b/result/etc/profiles/per-user/bdsqqq/bin/eg deleted file mode 100755 index d507bd24..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/eg and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/exa b/result/etc/profiles/per-user/bdsqqq/bin/exa deleted file mode 100755 index 07d9bf29..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/exa and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/exiftool b/result/etc/profiles/per-user/bdsqqq/bin/exiftool deleted file mode 100755 index 3852f981..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/exiftool +++ /dev/null @@ -1,8027 +0,0 @@ -#!/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl -use lib "/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/lib/perl5/site_perl", "/nix/store/2smii2w118wki1na19dz7h87cp6jiyxy-perl5.40.0-Image-ExifTool-13.25/lib/perl5/site_perl"; -#------------------------------------------------------------------------------ -# File: exiftool -# -# Description: Read/write meta information -# -# Revisions: Nov. 12/03 - P. Harvey Created -# (See html/history.html for revision history) -#------------------------------------------------------------------------------ -use strict; -use warnings; -require 5.004; - -my $version = '13.25'; - -$^W = 1; # enable global warnings - -# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool' -my $exePath; -BEGIN { - # (undocumented -xpath option added in 11.91, must come before other options) - $exePath = @ARGV && lc($ARGV[0]) eq '-xpath' && shift() ? $^X : $0; - # get exe directory - my $exeDir = ($exePath =~ /(.*)[\\\/]/) ? $1 : '.'; - my $incDir = ($0 =~ /(.*)[\\\/]/) ? "$1/lib" : './lib'; - if (-l $0) { - my $lnk = eval { readlink $0 }; - if (defined $lnk) { - my $lnkDir = ($lnk =~ /(.*)[\\\/]/) ? $1 : '.'; - $exeDir = (($lnk =~ m(^/)) ? '' : $exeDir . '/') . $lnkDir; - $incDir = "$exeDir/lib"; - } - } - $Image::ExifTool::exeDir = $exeDir; # use our exeDir for loading config file - # add lib directory at start of include path - unshift @INC, $incDir; - # load or disable config file if specified - if (@ARGV and lc($ARGV[0]) eq '-config') { - shift; - $Image::ExifTool::configFile = shift; - } -} -use Image::ExifTool qw{:Public}; - -# function prototypes -sub SigInt(); -sub SigCont(); -sub Cleanup(); -sub GetImageInfo($$); -sub SetImageInfo($$$); -sub DoHardLink($$$$$); -sub CleanXML($); -sub EncodeXML($); -sub FormatXML($$$); -sub EscapeJSON($;$); -sub FormatJSON($$$;$); -sub PrintCSV(;$); -sub AddGroups($$$$); -sub ConvertBinary($); -sub IsEqual($$); -sub Printable($); -sub LengthUTF8($); -sub Infile($;$); -sub AddSetTagsFile($;$); -sub Warning($$); -sub DoSetFromFile($$$); -sub CleanFilename($); -sub HasWildcards($); -sub SetWindowTitle($); -sub ProcessFiles($;$); -sub ScanDir($$;$); -sub FindFileWindows($$); -sub FileNotFound($); -sub PreserveTime(); -sub AbsPath($); -sub MyConvertFileName($$); -sub SuggestedExtension($$$); -sub LoadPrintFormat($;$); -sub FilenameSPrintf($;$@); -sub NextUnusedFilename($;$); -sub CreateDirectory($); -sub OpenOutputFile($;@); -sub AcceptFile($); -sub SlurpFile($$); -sub FilterArgfileLine($); -sub ReadStayOpen($); -sub Progress($$); -sub PrintTagList($@); -sub PrintErrors($$$); - -$SIG{INT} = 'SigInt'; # do cleanup on Ctrl-C -$SIG{CONT} = 'SigCont'; # (allows break-out of delays) -END { - Cleanup(); -} - -# declare all static file-scope variables -my @commonArgs; # arguments common to all commands -my @condition; # conditional processing of files -my @csvFiles; # list of files when reading with CSV option (in ExifTool Charset) -my @csvTags; # order of tags for first file with CSV option (lower case) -my @delFiles; # list of files to delete -my @dynamicFiles; # list of -tagsFromFile files with dynamic names and -TAG<=FMT pairs -my @efile; # files for writing list of error/fail/same file names -my @exclude; # list of excluded tags -my (@echo3, @echo4);# stdout and stderr echo after processing is complete -my @files; # list of files and directories to scan -my @moreArgs; # more arguments to process after -stay_open -@ -my @newValues; # list of new tag values to set -my @requestTags; # tags to request (for -p or -if option arguments) -my @srcFmt; # source file name format strings -my @tags; # list of tags to extract -my %altFile; # alternate files to extract information (keyed by lower-case family 8 group) -my %appended; # list of files appended to -my %countLink; # count hard and symbolic links made -my %created; # list of files we created -my %csvTags; # lookup for all found tags with CSV option (lower case keys) -my %database; # lookup for database information based on file name (in ExifTool Charset) -my %filterExt; # lookup for filtered extensions -my %ignore; # directory names to ignore -my $ignoreHidden; # flag to ignore hidden files -my %outComma; # flag that output text file needs a comma -my %outTrailer; # trailer for output text file -my %preserveTime; # preserved timestamps for files -my %printFmt; # the contents of the print format file -my %seqFileDir; # file sequence number in each directory -my %setTags; # hash of list references for tags to set from files -my %setTagsList; # list of other tag lists for multiple -tagsFromFile from the same file -my %usedFileName; # lookup for file names we already used in TestName feature -my %utf8FileName; # lookup for file names that are UTF-8 encoded -my %warnedOnce; # lookup for once-only warnings -my %wext; # -W extensions to write -my $allGroup; # show group name for all tags -my $altEnc; # alternate character encoding if not UTF-8 -my $argFormat; # use exiftool argument-format output -my $binaryOutput; # flag for binary output (undef or 1, or 0 for binary XML/PHP) -my $binaryStdout; # flag set if we output binary to stdout -my $binSep; # separator used for list items in binary output -my $binTerm; # terminator used for binary output -my $comma; # flag set if we need a comma in JSON output -my $count; # count of files scanned when reading or deleting originals -my $countBad; # count of files with errors -my $countBadCr; # count files not created due to errors -my $countBadWr; # count write errors -my $countCopyWr; # count of files copied without being changed -my $countDir; # count of directories scanned -my $countFailed; # count files that failed condition -my $countGoodCr; # count files created OK -my $countGoodWr; # count files written OK -my $countNewDir; # count of directories created -my $countSameWr; # count files written OK but not changed -my $critical; # flag for critical operations (disable CTRL-C) -my $csv; # flag for CSV option (set to "CSV", or maybe "JSON" when writing) -my $csvAdd; # flag to add CSV information to existing lists -my $csvDelim; # delimiter for CSV files -my $csvSaveCount; # save counter for last CSV file loaded -my $deleteOrig; # 0=restore original files, 1=delete originals, 2=delete w/o asking -my $diff; # file name for comparing differences -my $disableOutput; # flag to disable normal output -my $doSetFileName; # flag set if FileName may be written -my $doUnzip; # flag to extract info from .gz and .bz2 files -my ($end,$endDir,%endDir); # flags to end processing -my $escapeC; # C-style escape -my $escapeHTML; # flag to escape printed values for html -my $evalWarning; # warning from eval -my $executeID; # -execute ID number -my $failCondition; # flag to fail -if condition -my $fastCondition; # flag for fast -if condition -my $fileHeader; # header to print to output file (or console, once) -my $fileTrailer; # trailer for output file -my $filtered; # flag indicating file was filtered by name -my $filterFlag; # file filter flag (0x01=deny extensions, 0x02=allow extensions, 0x04=add ext) -my $fixLen; # flag to fix description lengths when writing alternate languages -my $forcePrint; # string to use for missing tag values (undef to not print them) -my $geoOnly; # flag to extract Geolocation tags only -my $helped; # flag to avoid printing help if no tags specified -my $html; # flag for html-formatted output (2=html dump) -my $interrupted; # flag set if CTRL-C is pressed during a critical process -my $isBinary; # true if value is a SCALAR ref -my $isWriting; # flag set if we are writing tags -my $joinLists; # flag set to join list values into a single string -my $json; # flag for JSON/PHP output format (1=JSON, 2=PHP) -my $langOpt; # language option -my $listDir; # treat a directory as a regular file -my $listItem; # item number for extracting single item from a list -my $listSep; # list item separator (', ' by default) -my $mt; # main ExifTool object -my $multiFile; # non-zero if we are scanning multiple files -my $noBinary; # flag set to ignore binary tags -my $outFormat; # -1=Canon format, 0=same-line, 1=tag names, 2=values only -my $outOpt; # output file or directory name -my $overwriteOrig; # flag to overwrite original file (1=overwrite, 2=in place) -my $pause; # pause before returning -my $plot; # flag for plot output format -my $preserveTime; # flag to preserve times of updated files (2=preserve FileCreateDate only) -my $progress; # flag to calculate total files to process (0=calculate but don't display) -my $progressCount; # count of files processed -my $progressIncr; # increment for progress counter -my $progressMax; # total number of files to process -my $progressNext; # next progress count to output -my $progStr; # progress message string -my $quiet; # flag to disable printing of informational messages / warnings -my $rafStdin; # File::RandomAccess for stdin (if necessary to rewind) -my $recurse; # recurse into subdirectories (2=also hidden directories) -my $rtnVal; # command return value (0=success) -my $rtnValPrev; # previous command return value (0=success) -my $saveCount; # count the number of times we will/did call SaveNewValues() -my $scanWritable; # flag to process only writable file types -my $sectHeader; # current section header for -p option -my $sectTrailer; # section trailer for -p option -my $seqFileDir; # sequential file number used for %-C -my $seqFileNum; # sequential file number used for %C -my $setCharset; # character set setting ('default' if not set and -csv -b used) -my $showGroup; # number of group to show (may be zero or '') -my $showTagID; # non-zero to show tag ID's -my $stayOpenBuff='';# buffer for -stay_open file -my $stayOpenFile; # name of the current -stay_open argfile -my $structOpt; # output structured XMP information (JSON and XML output only) -my $tabFormat; # non-zero for tab output format -my $tagOut; # flag for separate text output file for each tag -my $textOut; # extension for text output file (or undef for no output) -my $textOut2; # complete file name for single text output file -my $textOverwrite; # flag to overwrite existing text output file (2=append, 3=over+append) -my $tmpFile; # temporary file to delete on exit -my $tmpText; # temporary text file -my $validFile; # flag indicating we processed a valid file -my $verbose; # verbose setting -my $vout; # verbose output file reference (\*STDOUT or \*STDERR by default) -my $windowTitle; # title for console window -my %wroteHEAD; # list of output txt files to which we wrote HEAD -my $xml; # flag for XML-formatted output - -# flag to keep the input -@ argfile open: -# 0 = normal behaviour -# 1 = received "-stay_open true" and waiting for argfile to keep open -# 2 = currently reading from STAYOPEN argfile -# 3 = waiting for -@ to switch to a new STAYOPEN argfile -my $stayOpen = 0; - -my $rtnValApp = 0; # app return value (0=success) -my $curTitle = ''; # current window title - -# lookup for O/S names which use CR/LF newlines -my $isCRLF = { MSWin32 => 1, os2 => 1, dos => 1 }->{$^O}; - -# lookup for JSON characters that we escape specially -my %jsonChar = ( '"'=>'"', '\\'=>'\\', "\t"=>'t', "\n"=>'n', "\r"=>'r' ); - -# lookup for C-style escape sequences -my %escC = ( "\n" => '\n', "\r" => '\r', "\t" => '\t', '\\' => '\\\\'); -my %unescC = ( a => "\a", b => "\b", f => "\f", n => "\n", r => "\r", - t => "\t", 0 => "\0", '\\' => '\\' ); - -# options requiring additional arguments -# (used only to skip over these arguments when reading -stay_open ARGFILE) -# (arg is converted to lower case then tested again unless an entry was found with the same case) -my %optArgs = ( - '-tagsfromfile' => 1, '-addtagsfromfile' => 1, '-alltagsfromfile' => 1, - '-@' => 1, - '-api' => 1, - '-c' => 1, '-coordformat' => 1, - '-charset' => 0, # (optional arg; OK because arg cannot begin with "-") - '-config' => 1, - '-csvdelim' => 1, - '-d' => 1, '-dateformat' => 1, - '-D' => 0, # necessary to avoid matching lower-case equivalent - '-diff' => 1, - '-echo' => 1, '-echo#' => 1, - '-efile' => 1, '-efile#' => 1, '-efile!' => 1, '-efile#!' => 1, - '-ext' => 1, '--ext' => 1, '-ext+' => 1, '--ext+' => 1, - '-extension' => 1, '--extension' => 1, '-extension+' => 1, '--extension+' => 1, - '-fileorder' => 1, '-fileorder#' => 1, - '-file#' => 1, - '-geotag' => 1, - '-globaltimeshift' => 1, - '-i' => 1, '-ignore' => 1, - '-if' => 1, '-if#' => 1, - '-lang' => 0, # (optional arg; cannot begin with "-") - '-listitem' => 1, - '-o' => 1, '-out' => 1, - '-p' => 1, '-printformat' => 1, '-p-' => 1, '-printformat-' => 1, - '-P' => 0, - '-password' => 1, - '-require' => 1, - '-sep' => 1, '-separator' => 1, - '-srcfile' => 1, - '-stay_open' => 1, - '-use' => 1, - '-userparam' => 1, - '-w' => 1, '-w!' => 1, '-w+' => 1, '-w+!' => 1, '-w!+' => 1, - '-textout' => 1, '-textout!' => 1, '-textout+' => 1, '-textout+!' => 1, '-textout!+' => 1, - '-tagout' => 1, '-tagout!' => 1, '-tagout+' => 1, '-tagout+!' => 1, '-tagout!+' => 1, - '-wext' => 1, - '-wm' => 1, '-writemode' => 1, - '-x' => 1, '-exclude' => 1, - '-X' => 0, -); - -# recommended packages and alternatives -my @recommends = qw( - Archive::Zip - Compress::Zlib - Digest::MD5 - Digest::SHA - IO::Compress::Bzip2 - POSIX::strptime - Time::Local - Unicode::LineBreak - Compress::Raw::Lzma - IO::Compress::RawDeflate - IO::Uncompress::RawInflate - IO::Compress::Brotli - IO::Uncompress::Brotli - Win32::API - Win32::FindFile - Win32API::File -); -my %altRecommends = ( - 'POSIX::strptime' => 'Time::Piece', # (can use Time::Piece instead of POSIX::strptime) -); - -my %unescapeChar = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r" ); - -# special subroutines used in -if condition -sub Image::ExifTool::EndDir() { return $endDir = 1 } -sub Image::ExifTool::End() { return $end = 1 } - -# exit routine -sub Exit { - if ($pause) { - if (eval { require Term::ReadKey }) { - print STDERR "-- press any key --"; - Term::ReadKey::ReadMode('cbreak'); - Term::ReadKey::ReadKey(0); - Term::ReadKey::ReadMode(0); - print STDERR "\b \b" x 20; - } else { - print STDERR "-- press RETURN --\n"; - ; - } - } - exit shift; -} -# my warning and error routines (NEVER say "die"!) -sub Warn { - if ($quiet < 2 or $_[0] =~ /^Error/) { - my $oldWarn = $SIG{'__WARN__'}; - delete $SIG{'__WARN__'}; - warn(@_); - $SIG{'__WARN__'} = $oldWarn if defined $oldWarn; - } -} -sub Error { Warn @_; $rtnVal = 1; } -sub WarnOnce($) { - Warn(@_) and $warnedOnce{$_[0]} = 1 unless $warnedOnce{$_[0]}; -} - -# define signal handlers and cleanup routine -sub SigInt() { - $critical and $interrupted = 1, return; - Cleanup(); - exit 1; -} -sub SigCont() { } -sub Cleanup() { - $mt->Unlink($tmpFile) if defined $tmpFile; - $mt->Unlink($tmpText) if defined $tmpText; - undef $tmpFile; - undef $tmpText; - PreserveTime() if %preserveTime; - SetWindowTitle(''); -} - -#------------------------------------------------------------------------------ -# main script -# - -# isolate arguments common to all commands -if (grep /^-common_args$/i, @ARGV) { - my (@newArgs, $common, $end); - foreach (@ARGV) { - if (/^-common_args$/i and not $end) { - $common = 1; - } elsif ($common) { - push @commonArgs, $_; - } else { - $end = 1 if $_ eq '--'; - push @newArgs, $_; - } - } - @ARGV = @newArgs if $common; -} - -#.............................................................................. -# loop over sets of command-line arguments separated by "-execute" -Command: for (;;) { - -if (@echo3) { - my $str = join("\n", @echo3) . "\n"; - $str =~ s/\$\{status\}/$rtnVal/ig; - print STDOUT $str; -} -if (@echo4) { - my $str = join("\n", @echo4) . "\n"; - $str =~ s/\$\{status\}/$rtnVal/ig; - print STDERR $str; -} - -$rafStdin->Close() if $rafStdin; -undef $rafStdin; - -# save our previous return codes -$rtnValPrev = $rtnVal; -$rtnValApp = $rtnVal if $rtnVal; - -# exit Command loop now if we are all done processing commands -last unless @ARGV or not defined $rtnVal or $stayOpen >= 2 or @commonArgs; - -# attempt to restore text mode for STDOUT if necessary -if ($binaryStdout) { - binmode(STDOUT,':crlf') if $] >= 5.006 and $isCRLF; - $binaryStdout = 0; -} - -# flush console and print "{ready}" message if -stay_open is in effect -if ($stayOpen >= 2) { - if ($quiet and not defined $executeID) { - # flush output if possible - eval { require IO::Handle } and STDERR->flush(), STDOUT->flush(); - } else { - eval { require IO::Handle } and STDERR->flush(); - my $id = defined $executeID ? $executeID : ''; - my $save = $|; - $| = 1; # turn on output autoflush for stdout - print "{ready$id}\n"; - $| = $save; # restore original autoflush setting - } -} - -# initialize necessary static file-scope variables -# (not done: @commonArgs, @moreArgs, $critical, $binaryStdout, $helped, -# $interrupted, $mt, $pause, $rtnValApp, $rtnValPrev, $stayOpen, $stayOpenBuff, $stayOpenFile) -undef @condition; -undef @csvFiles; -undef @csvTags; -undef @delFiles; -undef @dynamicFiles; -undef @echo3; -undef @echo4; -undef @efile; -undef @exclude; -undef @files; -undef @newValues; -undef @srcFmt; -undef @tags; -undef %appended; -undef %countLink; -undef %created; -undef %csvTags; -undef %database; -undef %endDir; -undef %filterExt; -undef %ignore; -undef %outComma; -undef %outTrailer; -undef %preserveTime; -undef %printFmt; -undef %seqFileDir; -undef %setTags; -undef %setTagsList; -undef %usedFileName; -undef %utf8FileName; -undef %warnedOnce; -undef %wext; -undef $allGroup; -undef $altEnc; -undef $argFormat; -undef $binaryOutput; -undef $binSep; -undef $binTerm; -undef $comma; -undef $csv; -undef $csvAdd; -undef $deleteOrig; -undef $diff; -undef $disableOutput; -undef $doSetFileName; -undef $doUnzip; -undef $end; -undef $endDir; -undef $escapeHTML; -undef $escapeC; -undef $evalWarning; -undef $executeID; -undef $failCondition; -undef $fastCondition; -undef $fileHeader; -undef $filtered; -undef $fixLen; -undef $forcePrint; -undef $geoOnly; -undef $ignoreHidden; -undef $joinLists; -undef $langOpt; -undef $listItem; -undef $multiFile; -undef $noBinary; -undef $outOpt; -undef $preserveTime; -undef $progress; -undef $progressCount; -undef $progressIncr; -undef $progressMax; -undef $progressNext; -undef $recurse; -undef $scanWritable; -undef $sectHeader; -undef $setCharset; -undef $showGroup; -undef $showTagID; -undef $structOpt; -undef $tagOut; -undef $textOut; -undef $textOverwrite; -undef $tmpFile; -undef $tmpText; -undef $validFile; -undef $verbose; -undef $windowTitle; - -$count = 0; -$countBad = 0; -$countBadCr = 0; -$countBadWr = 0; -$countCopyWr = 0; -$countDir = 0; -$countFailed = 0; -$countGoodCr = 0; -$countGoodWr = 0; -$countNewDir = 0; -$countSameWr = 0; -$csvDelim = ','; -$csvSaveCount = 0; -$fileTrailer = ''; -$filterFlag = 0; -$html = 0; -$isWriting = 0; -$json = 0; -$listSep = ', '; -$outFormat = 0; -$overwriteOrig = 0; -$progStr = ''; -$quiet = 0; -$rtnVal = 0; -$saveCount = 0; -$sectTrailer = ''; -$seqFileDir = 0; -$seqFileNum = 0; -$tabFormat = 0; -$vout = \*STDOUT; -$xml = 0; - -# define local variables used only in this command loop -my @fileOrder; # tags to use for ordering of input files -my $fileOrderFast; # -fast level for -fileOrder option -my $addGeotime; # automatically added geotime argument -my $doGlob; # flag set to do filename wildcard expansion -my $endOfOpts; # flag set if "--" option encountered -my $escapeXML; # flag to escape printed values for xml -my $setTagsFile; # filename for last TagsFromFile option -my $sortOpt; # sort option is used -my $srcStdin; # one of the source files is STDIN -my $useMWG; # flag set if we are using any MWG tag - -my ($argsLeft, @nextPass, $badCmd); -my $pass = 0; - -# for Windows, use globbing for wildcard expansion if available - MK/20061010 -if ($^O eq 'MSWin32' and eval { require File::Glob }) { - # override the core glob forcing case insensitivity - import File::Glob qw(:globally :nocase); - $doGlob = 1; -} - -$mt = Image::ExifTool->new; # create ExifTool object - -# don't extract duplicates by default unless set by UserDefined::Options -$mt->Options(Duplicates => 0) unless %Image::ExifTool::UserDefined::Options - and defined $Image::ExifTool::UserDefined::Options{Duplicates}; - -# default is to join lists if the List option was set to zero in the config file -$joinLists = 1 if defined $mt->Options('List') and not $mt->Options('List'); - -# preserve FileCreateDate if possible -if (not $preserveTime and $^O eq 'MSWin32') { - $preserveTime = 2 if eval { require Win32::API } and eval { require Win32API::File }; -} - -# add user-defined command-line arguments -if (@Image::ExifTool::UserDefined::Arguments) { - unshift @ARGV, @Image::ExifTool::UserDefined::Arguments; -} - -if ($version ne $Image::ExifTool::VERSION) { - Warn "Application version $version does not match Image::ExifTool library version $Image::ExifTool::VERSION\n"; -} - -# parse command-line options in 2 passes... -# pass 1: set all of our ExifTool options -# pass 2: print all of our help and informational output (-list, -ver, etc) -for (;;) { - - # execute the command now if no more arguments or -execute is used - if (not @ARGV or ($ARGV[0] =~ /^(-|\xe2\x88\x92)execute(\d+)?$/i and not $endOfOpts)) { - if (@ARGV) { - $executeID = $2; # save -execute number for "{ready}" response - $helped = 1; # don't show help if we used -execute - $badCmd and shift, $rtnVal=1, next Command; - } elsif ($stayOpen >= 2) { - ReadStayOpen(\@ARGV); # read more arguments from -stay_open file - next; - } elsif ($badCmd) { - undef @commonArgs; # all done. Flush common arguments - $rtnVal = 1; - next Command; - } - if ($pass == 0) { - # insert common arguments now if not done already - if (@commonArgs and not defined $argsLeft) { - # count the number of arguments remaining for subsequent commands - $argsLeft = scalar(@ARGV) + scalar(@moreArgs); - unshift @ARGV, @commonArgs; - # all done with commonArgs if this is the end of the command - undef @commonArgs unless $argsLeft; - next; - } - # check if we have more arguments now than we did before we processed - # the common arguments. If so, then we have an infinite processing loop - if (defined $argsLeft and $argsLeft < scalar(@ARGV) + scalar(@moreArgs)) { - Warn "Ignoring -common_args from $ARGV[0] onwards to avoid infinite recursion\n"; - while ($argsLeft < scalar(@ARGV) + scalar(@moreArgs)) { - @ARGV and shift(@ARGV), next; - shift @moreArgs; - } - } - # require MWG module if used in any argument - # (note: doesn't cover the -p option because these tags will be parsed on the 2nd pass) - $useMWG = 1 if not $useMWG and grep /^([--_0-9A-Z]+:)*1?mwg:/i, @tags, @requestTags; - if ($useMWG) { - require Image::ExifTool::MWG; - Image::ExifTool::MWG::Load(); - } - # update necessary variables for 2nd pass - if (defined $forcePrint) { - unless (defined $mt->Options('MissingTagValue')) { - $mt->Options(MissingTagValue => '-'); - } - $forcePrint = $mt->Options('MissingTagValue'); - } - } - if (@nextPass) { - # process arguments which were deferred to the next pass - unshift @ARGV, @nextPass; - undef @nextPass; - undef $endOfOpts; - ++$pass; - next; - } - @ARGV and shift; # remove -execute from argument list - last; # process the command now - } - $_ = shift; - next if $badCmd; # flush remaining arguments if aborting this command - - # allow funny dashes (nroff dash bug for cut-n-paste from pod) - if (not $endOfOpts and s/^(-|\xe2\x88\x92)//) { - s/^\xe2\x88\x92/-/; # translate double-dash too - if ($_ eq '-') { - $pass or push @nextPass, '--'; - $endOfOpts = 1; - next; - } - my $a = lc $_; - if (/^list([wfrdx]|wf|g(\d*)|geo)?$/i) { - $pass or push @nextPass, "-$_"; - my $type = lc($1 || ''); - if (not $type or $type eq 'w' or $type eq 'x') { - my $group; - if ($ARGV[0] and $ARGV[0] =~ /^(-|\xe2\x88\x92)(.+):(all|\*)$/i) { - if ($pass == 0) { - $useMWG = 1 if lc($2) eq 'mwg'; - push @nextPass, shift; - next; - } - $group = $2; - shift; - $group =~ /IFD/i and Warn("Can't list tags for specific IFD\n"), $helped=1, next; - $group =~ /^(all|\*)$/ and undef $group; - } else { - $pass or next; - } - $helped = 1; - if ($type eq 'x') { - require Image::ExifTool::TagInfoXML; - my %opts; - $opts{Flags} = 1 if defined $forcePrint; - $opts{NoDesc} = 1 if $outFormat > 0; - $opts{Lang} = $langOpt; - Image::ExifTool::TagInfoXML::Write(undef, $group, %opts); - next; - } - my $wr = ($type eq 'w'); - my $msg = ($wr ? 'Writable' : 'Available') . ($group ? " $group" : '') . ' tags'; - PrintTagList($msg, $wr ? GetWritableTags($group) : GetAllTags($group)); - # also print shortcuts if listing all tags - next if $group or $wr; - my @tagList = GetShortcuts(); - PrintTagList('Command-line shortcuts', @tagList) if @tagList; - next; - } - $pass or next; - $helped = 1; - if ($type eq 'wf') { - my @wf; - CanWrite($_) and push @wf, $_ foreach GetFileType(); - PrintTagList('Writable file extensions', @wf); - } elsif ($type eq 'f') { - PrintTagList('Supported file extensions', GetFileType()); - } elsif ($type eq 'r') { - PrintTagList('Recognized file extensions', GetFileType(undef, 0)); - } elsif ($type eq 'd') { - PrintTagList('Deletable groups', GetDeleteGroups()); - } elsif ($type eq 'geo') { - require Image::ExifTool::Geolocation; - my ($i, $entry); - print "Geolocation database:\n" unless $quiet; - my $isAlt = $mt->Options('GeolocAltNames') ? ',AltNames' : ''; - $isAlt = '' if $isAlt and not Image::ExifTool::Geolocation::ReadAltNames(); - print "City,Region,Subregion,CountryCode,Country,TimeZone,FeatureCode,Population,Latitude,Longitude$isAlt\n"; - Image::ExifTool::Geolocation::SortDatabase('City') if $sortOpt; - my $minPop = $mt->Options('GeolocMinPop'); - my $feature = $mt->Options('GeolocFeature') || ''; - my $neg = $feature =~ s/^-//; - my %fcodes = map { lc($_) => 1 } split /\s*,\s*/, $feature; - my @isUTF8 = (0,1,2,4); # items that need converting from UTF8 - push @isUTF8, 10 if $isAlt; - for ($i=0; ; ++$i) { - my @entry = Image::ExifTool::Geolocation::GetEntry($i,$langOpt,1) or last; - $#entry = 9; # remove everything after latitude (eg. feature type) - next if $minPop and $entry[7] < $minPop; - next if %fcodes and $neg ? $fcodes{lc $entry[6]} : not $fcodes{lc $entry[6]}; - push @entry, Image::ExifTool::Geolocation::GetAltNames($i,1) if $isAlt; - $_ = defined $_ ? $mt->Decode($_, 'UTF8') : '' foreach @entry[@isUTF8]; - pop @entry if $isAlt and not $entry[10]; - print join(',', @entry), "\n"; - } - } else { # 'g(\d*)' - # list all groups in specified family - my $family = $2 || 0; - PrintTagList("Groups in family $family", $mt->GetAllGroups($family)); - } - next; - } - if ($a eq 'ver') { - $pass or push(@nextPass,'-ver'), next; - my $libVer = $Image::ExifTool::VERSION; - my $str = $libVer eq $version ? '' : " [Warning: Library version is $libVer]"; - if ($verbose) { - print "ExifTool version $version$str$Image::ExifTool::RELEASE\n"; - printf "Perl version %s%s\n", $], (defined ${^UNICODE} ? " (-C${^UNICODE})" : ''); - print "Platform: $^O\n"; - if ($verbose > 8) { - print "Current Dir: " . Cwd::getcwd() . "\n" if (eval { require Cwd }); - print "Script Name: $0\n"; - print "Exe Name: $^X\n"; - print "Exe Dir: $Image::ExifTool::exeDir\n"; - print "Exe Path: $exePath\n"; - } - print "Optional libraries:\n"; - foreach (@recommends) { - next if /^Win32/ and $^O ne 'MSWin32'; - my $ver = eval "require $_ and \$${_}::VERSION"; - my $alt = $altRecommends{$_}; - # check for alternative if primary not available - $ver = eval "require $alt and \$${alt}::VERSION" and $_ = $alt if not $ver and $alt; - printf " %-28s %s\n", $_, $ver || '(not installed)'; - } - if ($verbose > 1) { - print "Include directories:\n"; - ref $_ or print " $_\n" foreach @INC; - } - } else { - print "$version$str$Image::ExifTool::RELEASE\n"; - } - $helped = 1; - next; - } - if (/^(all|add)?tagsfromfile(=.*)?$/i) { - $setTagsFile = $2 ? substr($2,1) : (@ARGV ? shift : ''); - if ($setTagsFile eq '') { - Error("File must be specified for -tagsFromFile option\n"); - $badCmd = 1; - next; - } - # create necessary lists, etc for this new -tagsFromFile file - AddSetTagsFile($setTagsFile, { Replace => ($1 and lc($1) eq 'add') ? 0 : 1 } ); - next; - } - if ($a eq '@') { - my $argFile = shift or Error("Expecting filename for -\@ option\n"), $badCmd=1, next; - # switch to new ARGFILE if using chained -stay_open options - if ($stayOpen == 1) { - # defer remaining arguments until we close this argfile - @moreArgs = @ARGV; - undef @ARGV; - } elsif ($stayOpen == 3) { - if ($stayOpenFile and $stayOpenFile ne '-' and $argFile eq $stayOpenFile) { - # don't allow user to switch to the same -stay_open argfile - # because it will result in endless recursion - $stayOpen = 2; - Warn "Ignoring request to switch to the same -stay_open ARGFILE ($argFile)\n"; - next; - } - close STAYOPEN; - $stayOpen = 1; # switch to this -stay_open file - } - my $fp = ($stayOpen == 1 ? \*STAYOPEN : \*ARGFILE); - unless ($mt->Open($fp, $argFile)) { - unless ($argFile !~ /^\// and $mt->Open($fp, "$Image::ExifTool::exeDir/$argFile")) { - Error "Error opening arg file $argFile\n"; - $badCmd = 1; - next - } - } - if ($stayOpen == 1) { - $stayOpenFile = $argFile; # remember the name of the file we have open - $stayOpenBuff = ''; # initialize buffer for reading this file - $stayOpen = 2; - $helped = 1; - ReadStayOpen(\@ARGV); - next; - } - my (@newArgs, $didBOM); - foreach () { - # filter Byte Order Mark if it exists from start of UTF-8 text file - unless ($didBOM) { - s/^\xef\xbb\xbf//; - $didBOM = 1; - } - $_ = FilterArgfileLine($_); - push @newArgs, $_ if defined $_; - } - close ARGFILE; - unshift @ARGV, @newArgs; - next; - } - /^(-?)(a|duplicates)$/i and $mt->Options(Duplicates => ($1 ? 0 : 1)), next; - if ($a eq 'api') { - my $opt = shift; - if (defined $opt and length $opt) { - my $val = ($opt =~ s/=(.*)//s) ? $1 : 1; - # empty string means an undefined value unless ^= is used - $val = undef unless $opt =~ s/\^$// or length $val; - $mt->Options($opt => $val); - } else { - print "Available API Options:\n"; - my $availableOptions = Image::ExifTool::AvailableOptions(); - $$_[3] or printf(" %-17s - %s\n", $$_[0], $$_[2]) foreach @$availableOptions; - $helped = 1; - } - next; - } - /^arg(s|format)$/i and $argFormat = 1, next; - if (/^(-?)b(inary)?$/i) { - ($binaryOutput, $noBinary) = $1 ? (undef, 1) : (1, undef); - $mt->Options(Binary => $binaryOutput, NoPDFList => $binaryOutput); - next; - } - if (/^c(oordFormat)?$/i) { - my $fmt = shift; - $fmt or Error("Expecting coordinate format for -c option\n"), $badCmd=1, next; - $mt->Options('CoordFormat', $fmt); - next; - } - if ($a eq 'charset') { - my $charset = (@ARGV and $ARGV[0] !~ /^(-|\xe2\x88\x92)/) ? shift : undef; - if (not $charset) { - $pass or push(@nextPass, '-charset'), next; - my %charsets; - $charsets{$_} = 1 foreach values %Image::ExifTool::charsetName; - PrintTagList('Available character sets', sort keys %charsets); - $helped = 1; - } elsif ($charset !~ s/^(\w+)=// or lc($1) eq 'exiftool') { - { - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - undef $evalWarning; - $mt->Options(Charset => $charset); - } - if ($evalWarning) { - Warn $evalWarning; - } else { - $setCharset = $mt->Options('Charset'); - } - } else { - # set internal encoding of specified metadata type - my $type = { id3 => 'ID3', iptc => 'IPTC', exif => 'EXIF', filename => 'FileName', - photoshop => 'Photoshop', quicktime => 'QuickTime', riff=>'RIFF' }->{lc $1}; - $type or Warn("Unknown type for -charset option: $1\n"), next; - $mt->Options("Charset$type" => $charset); - } - next; - } - /^config$/i and Warn("Ignored -config option (not first on command line)\n"), shift, next; - if (/^csv(\+?=.*)?$/i) { - my $csvFile = $1; - # must process on 2nd pass so -f and -charset options are available - unless ($pass) { - push @nextPass, "-$_"; - if ($csvFile) { - push @newValues, { SaveCount => ++$saveCount }; # marker to save new values now - $csvSaveCount = $saveCount; - } - next; - } - if ($csvFile) { - $csvFile =~ s/^(\+?=)//; - $csvAdd = 2 if $1 eq '+='; - $vout = \*STDERR if $srcStdin; - $verbose and print $vout "Reading CSV file $csvFile\n"; - my $msg; - if ($mt->Open(\*CSVFILE, $csvFile)) { - binmode CSVFILE; - require Image::ExifTool::Import; - $msg = Image::ExifTool::Import::ReadCSV(\*CSVFILE, \%database, $forcePrint, $csvDelim); - close(CSVFILE); - } else { - $msg = "Error opening CSV file '${csvFile}'"; - } - $msg and Warn("$msg\n"); - $isWriting = 1; - } - $csv = 'CSV'; - next; - } - if (/^csvdelim$/i) { - $csvDelim = shift; - defined $csvDelim or Error("Expecting argument for -csvDelim option\n"), $badCmd=1, next; - $csvDelim =~ /"/ and Error("CSV delimiter can not contain a double quote\n"), $badCmd=1, next; - my %unescape = ( 't'=>"\t", 'n'=>"\n", 'r'=>"\r", '\\' => '\\' ); - $csvDelim =~ s/\\(.)/$unescape{$1}||"\\$1"/sge; - $mt->Options(CSVDelim => $csvDelim); - next; - } - if (/^d$/ or $a eq 'dateformat') { - my $fmt = shift; - $fmt or Error("Expecting date format for -d option\n"), $badCmd=1, next; - $mt->Options('DateFormat', $fmt); - next; - } - (/^D$/ or $a eq 'decimal') and $showTagID = 'D', next; - if (/^diff$/i) { - $diff = shift; - defined $diff or Error("Expecting file name for -$_ option\n"), $badCmd=1; - next; - } - /^delete_original(!?)$/i and $deleteOrig = ($1 ? 2 : 1), next; - /^list_dir$/i and $listDir = 1, next; - (/^e$/ or $a eq '-composite') and $mt->Options(Composite => 0), next; - (/^-e$/ or $a eq 'composite') and $mt->Options(Composite => 1), next; - (/^E$/ or $a eq 'escapehtml') and require Image::ExifTool::HTML and $escapeHTML = 1, next; - ($a eq 'ec' or $a eq 'escapec') and $escapeC = 1, next; - ($a eq 'ex' or $a eq 'escapexml') and $escapeXML = 1, next; - if (/^echo(\d)?$/i) { - my $n = $1 || 1; - my $arg = shift; - next unless defined $arg; - $n > 4 and Warn("Invalid -echo number\n"), next; - if ($n > 2) { - $n == 3 ? push(@echo3, $arg) : push(@echo4, $arg); - } else { - print {$n==2 ? \*STDERR : \*STDOUT} $arg, "\n"; - } - $helped = 1; - next; - } - if (/^(ee|extractembedded)(\d*)$/i) { - $mt->Options(ExtractEmbedded => $2 || 1); - $mt->Options(Duplicates => 1); - next; - } - if (/^efile(\d+)?(!)?$/i) { - my $arg = shift; - defined $arg or Error("Expecting file name for -$_ option\n"), $badCmd=1, next; - $efile[0] = $arg if not $1 or $1 & 0x01;# error - $efile[1] = $arg if $1 and $1 & 0x02; # unchanged - $efile[2] = $arg if $1 and $1 & 0x04; # failed -if condition - $efile[3] = $arg if $1 and $1 & 0x08; # updated - $efile[4] = $arg if $1 and $1 & 0x016; # created - unlink $arg if $2; - next; - } - # (-execute handled at top of loop) - if (/^-?ext(ension)?(\+)?$/i) { - my $ext = shift; - defined $ext or Error("Expecting extension for -ext option\n"), $badCmd=1, next; - my $flag = /^-/ ? 0 : ($2 ? 2 : 1); - $filterFlag |= (0x01 << $flag); - $ext =~ s/^\.//; # remove leading '.' if it exists - $filterExt{uc($ext)} = $flag ? 1 : 0; - next; - } - if (/^f$/ or $a eq 'forceprint') { - $forcePrint = 1; - next; - } - if (/^F([-+]?\d*)$/ or /^fixbase([-+]?\d*)$/i) { - $mt->Options(FixBase => $1); - next; - } - if (/^fast(\d*)$/i) { - $mt->Options(FastScan => (length $1 ? $1 : 1)); - next; - } - if (/^(file\d+)$/i) { - $altFile{lc $1} = shift or Error("Expecting file name for -file option\n"), $badCmd=1, next; - next; - } - if (/^fileorder(\d*)$/i) { - push @fileOrder, shift if @ARGV; - my $num = $1 || 0; - $fileOrderFast = $num if not defined $fileOrderFast or $fileOrderFast > $num; - next; - } - $a eq 'globaltimeshift' and $mt->Options(GlobalTimeShift => shift), next; - if (/^(g)(roupHeadings|roupNames)?([\d:]*)$/i) { - $showGroup = $3 || 0; - $allGroup = ($2 ? lc($2) eq 'roupnames' : $1 eq 'G'); - $mt->Options(SavePath => 1) if $showGroup =~ /\b5\b/; - $mt->Options(SaveFormat => 1) if $showGroup =~ /\b6\b/; - next; - } - if ($a eq 'geotag') { - my $trkfile = shift; - unless ($pass) { - # defer to next pass so the filename charset is available - push @nextPass, '-geotag', $trkfile; - next; - } - $trkfile or Error("Expecting file name for -geotag option\n"), $badCmd=1, next; - # allow wildcards in filename - if (HasWildcards($trkfile)) { - # CORE::glob() splits on white space, so use File::Glob if possible - my @trks; - if ($^O eq 'MSWin32' and eval { require Win32::FindFile }) { - # ("-charset filename=UTF8" must be set for this to work with Unicode file names) - @trks = FindFileWindows($mt, $trkfile); - } elsif (eval { require File::Glob }) { - @trks = File::Glob::bsd_glob($trkfile); - } else { - @trks = glob($trkfile); - } - @trks or Error("No matching file found for -geotag option\n"), $badCmd=1, next; - push @newValues, 'geotag='.shift(@trks) while @trks > 1; - $trkfile = pop(@trks); - } - $_ = "geotag=$trkfile"; - # (fall through!) - } - if (/^h$/ or $a eq 'htmlformat') { - require Image::ExifTool::HTML; - $html = $escapeHTML = 1; - $json = $xml = 0; - next; - } - (/^H$/ or $a eq 'hex') and $showTagID = 'H', next; - if (/^htmldump([-+]?\d+)?$/i) { - $verbose = ($verbose || 0) + 1; - $html = 2; - $mt->Options(HtmlDumpBase => $1) if defined $1; - next; - } - if (/^i(gnore)?$/i) { - my $dir = shift; - defined $dir or Error("Expecting directory name for -i option\n"), $badCmd=1, next; - $ignore{$dir} = 1; - $dir eq 'HIDDEN' and $ignoreHidden = 1; - next; - } - if (/^if(\d*)$/i) { - my $cond = shift; - my $fast = length($1) ? $1 : undef; - defined $cond or Error("Expecting expression for -if option\n"), $badCmd=1, next; - # use lowest -fast setting if multiple conditions - if (not @condition or not defined $fast or (defined $fastCondition and $fastCondition > $fast)) { - $fastCondition = $fast; - } - # prevent processing file unnecessarily for simple case of failed '$ok' or 'not $ok' - $cond =~ /^\s*(not\s*)\$ok\s*$/i and ($1 xor $rtnValPrev) and $failCondition=1; - # add to list of requested tags - push @requestTags, $cond =~ /\$\{?((?:[-_0-9A-Z]+:)*[-_0-9A-Z?*]+)/ig; - push @condition, $cond; - next; - } - if (/^j(son)?(\+?=.*)?$/i) { - if ($2) { - # must process on 2nd pass because we need -f and -charset options - unless ($pass) { - push @nextPass, "-$_"; - push @newValues, { SaveCount => ++$saveCount }; # marker to save new values now - $csvSaveCount = $saveCount; - next; - } - my $jsonFile = $2; - $jsonFile =~ s/^(\+?=)//; - $csvAdd = 2 if $1 eq '+='; - $vout = \*STDERR if $srcStdin; - $verbose and print $vout "Reading JSON file $jsonFile\n"; - my $chset = $mt->Options('Charset'); - my $msg; - if ($mt->Open(\*JSONFILE, $jsonFile)) { - binmode JSONFILE; - require Image::ExifTool::Import; - $msg = Image::ExifTool::Import::ReadJSON(\*JSONFILE, \%database, $forcePrint, $chset); - close(JSONFILE); - } else { - $msg = "Error opening JSON file '${jsonFile}'"; - } - $msg and Warn("$msg\n"); - $isWriting = 1; - $csv = 'JSON'; - } else { - $json = 1; - $html = $xml = 0; - $mt->Options(Duplicates => 1); - require Image::ExifTool::XMP; # for FixUTF8() - } - next; - } - /^(k|pause)$/i and $pause = 1, next; - (/^l$/ or $a eq 'long') and --$outFormat, next; - (/^L$/ or $a eq 'latin') and $mt->Options(Charset => 'Latin'), next; - if ($a eq 'lang') { - $langOpt = (@ARGV and $ARGV[0] !~ /^(-|\xe2\x88\x92)/) ? shift : undef; - if ($langOpt) { - # make lower case and use underline as a separator (eg. 'en_ca') - $langOpt =~ tr/-A-Z/_a-z/; - $mt->Options(Lang => $langOpt); - next if $langOpt eq $mt->Options('Lang'); - } else { - $pass or push(@nextPass, '-lang'), next; - } - my $langs = $quiet ? '' : "Available languages:\n"; - $langs .= " $_ - $Image::ExifTool::langName{$_}\n" foreach @Image::ExifTool::langs; - $langs =~ tr/_/-/; # display dashes instead of underlines in language codes - $langs = Image::ExifTool::HTML::EscapeHTML($langs) if $escapeHTML; - $langs = $mt->Decode($langs, 'UTF8'); - $langOpt and Error("Invalid or unsupported language '${langOpt}'.\n$langs"), $badCmd=1, next; - print $langs; - $helped = 1; - next; - } - if ($a eq 'listitem') { - my $li = shift; - defined $li and Image::ExifTool::IsInt($li) or Warn("Expecting integer for -listItem option\n"), next; - $mt->Options(ListItem => $li); - $listItem = $li; - next; - } - /^(m|ignoreminorerrors)$/i and $mt->Options(IgnoreMinorErrors => 1), next; - /^(n|-printconv)$/i and $mt->Options(PrintConv => 0), next; - /^(-n|printconv)$/i and $mt->Options(PrintConv => 1), next; - $a eq 'nop' and $helped=1, next; # (undocumented) no operation, added in 11.25 - if (/^o(ut)?$/i) { - $outOpt = shift; - defined $outOpt or Error("Expected output file or directory name for -o option\n"), $badCmd=1, next; - CleanFilename($outOpt); - # verbose messages go to STDERR of output is to console - $vout = \*STDERR if $vout =~ /^-(\.\w+)?$/; - next; - } - /^overwrite_original$/i and $overwriteOrig = 1, next; - /^overwrite_original_in_place$/i and $overwriteOrig = 2, next; - /^plot$/i and require Image::ExifTool::Plot and $plot = Image::ExifTool::Plot->new, next; - if (/^p(-?)$/ or /^printformat(-?)$/i) { - my $fmt = shift; - if ($pass) { - LoadPrintFormat($fmt, $1 || $binaryOutput); - # load MWG module now if necessary - if (not $useMWG and grep /^([-_0-9A-Z]+:)*1?mwg:/i, @requestTags) { - $useMWG = 1; - require Image::ExifTool::MWG; - Image::ExifTool::MWG::Load(); - } - } else { - # defer to next pass so the filename charset is available - push @nextPass, "-$_", $fmt; - } - next; - } - (/^P$/ or $a eq 'preserve') and $preserveTime = 1, next; - /^password$/i and $mt->Options(Password => shift), next; - if (/^progress(\d*)(:.*)?$/i) { - $progressIncr = $1 || 1; - $progressNext = 0; # start showing progress at the first file - if ($2) { - $windowTitle = substr $2, 1; - $windowTitle = 'ExifTool %p%%' unless length $windowTitle; - $windowTitle =~ /%\d*[bpr]/ and $progress = 0 unless defined $progress; - } else { - $progress = 1; - $verbose = 0 unless defined $verbose; - } - $progressCount = 0; - next; - } - /^q(uiet)?$/i and ++$quiet, next; - /^r(ecurse)?(\.?)$/i and $recurse = ($2 ? 2 : 1), next; - if ($a eq 'require') { # (undocumented) added in version 8.65 - my $ver = shift; - unless (defined $ver and Image::ExifTool::IsFloat($ver)) { - Error("Expecting version number for -require option\n"); - $badCmd = 1; - next; - } - unless ($Image::ExifTool::VERSION >= $ver) { - Error("Requires ExifTool version $ver or later\n"); - $badCmd = 1; - } - next; - } - /^restore_original$/i and $deleteOrig = 0, next; - (/^S$/ or $a eq 'veryshort') and $outFormat+=2, next; - /^s(hort)?(\d*)$/i and $outFormat = $2 eq '' ? $outFormat + 1 : $2, next; - /^scanforxmp$/i and $mt->Options(ScanForXMP => 1), next; - if (/^sep(arator)?$/i) { - my $sep = $listSep = shift; - defined $listSep or Error("Expecting list item separator for -sep option\n"), $badCmd=1, next; - $sep =~ s/\\(.)/$unescapeChar{$1}||$1/sge; # translate escape sequences - (defined $binSep ? $binTerm : $binSep) = $sep; - $mt->Options(ListSep => $listSep); - $joinLists = 1; - # also split when writing values - my $listSplit = quotemeta $listSep; - # a space in the string matches zero or more whitespace characters - $listSplit =~ s/(\\ )+/\\s\*/g; - # but a single space alone matches one or more whitespace characters - $listSplit = '\\s+' if $listSplit eq '\\s*'; - $mt->Options(ListSplit => $listSplit); - next; - } - /^(-)?sort$/i and $sortOpt = $1 ? 0 : 1, next; - if ($a eq 'srcfile') { - @ARGV or Warn("Expecting FMT for -srcfile option\n"), next; - push @srcFmt, shift; - next; - } - if ($a eq 'stay_open') { - my $arg = shift; - defined $arg or Warn("Expecting argument for -stay_open option\n"), next; - if ($arg =~ /^(1|true)$/i) { - if (not $stayOpen) { - $stayOpen = 1; - } elsif ($stayOpen == 2) { - $stayOpen = 3; # chained -stay_open options - } else { - Warn "-stay_open already active\n"; - } - } elsif ($arg =~ /^(0|false)$/i) { - if ($stayOpen >= 2) { - # close -stay_open argfile and process arguments up to this point - close STAYOPEN; - push @ARGV, @moreArgs; - undef @moreArgs; - } elsif (not $stayOpen) { - Warn("-stay_open wasn't active\n"); - } - $stayOpen = 0; - } else { - Warn "Invalid argument for -stay_open\n"; - } - next; - } - if (/^(-)?struct$/i) { - $mt->Options(Struct => $1 ? 0 : 1); - next; - } - /^t(ab)?$/ and $tabFormat = 1, next; - if (/^T$/ or $a eq 'table') { - $tabFormat = $forcePrint = 1; $outFormat+=2; ++$quiet; - next; - } - if (/^(u)(nknown(2)?)?$/i) { - my $inc = ($3 or (not $2 and $1 eq 'U')) ? 2 : 1; - $mt->Options(Unknown => $mt->Options('Unknown') + $inc); - next; - } - if ($a eq 'use') { - my $module = shift; - $module or Error("Expecting module name for -use option\n"), $badCmd=1, next; - lc $module eq 'mwg' and $useMWG = 1, next; - $module =~ /[^\w:]/ and Error("Invalid module name: $module\n"), $badCmd=1, next; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - unless (eval "require Image::ExifTool::$module" or - eval "require $module" or - eval "require '${module}'") - { - Error("Error using module $module\n"); - $badCmd = 1; - } - next; - } - if ($a eq 'userparam') { - my $opt = shift; - defined $opt or Error("Expected parameter for -userParam option\n"), $badCmd=1, next; - $opt =~ /=/ or $opt .= '=1'; - $mt->Options(UserParam => $opt); - next; - } - if (/^v(erbose)?(\d*)$/i) { - $verbose = ($2 eq '') ? ($verbose || 0) + 1 : $2; - next; - } - if (/^(w|textout|tagout)([!+]*)$/i) { - # (note: all logic ignores $textOut of 0 or '') - $textOut = shift || Warn("Expecting argument for -$_ option\n"); - my ($t1, $t2) = ($1, $2); - $textOverwrite = 0; - $textOverwrite += 1 if $t2 =~ /!/; # overwrite - $textOverwrite += 2 if $t2 =~ /\+/; # append - if ($t1 ne 'W' and lc($t1) ne 'tagout') { - undef $tagOut; - } elsif ($textOverwrite >= 2 and $textOut !~ /%[-+]?\d*[.:]?\d*[lu]?[tgso]/) { - $tagOut = 0; # append tags to one file - } else { - $tagOut = 1; # separate file for each tag - } - next; - } - if (/^(-?)(wext|tagoutext)$/i) { - my $ext = shift; - defined $ext or Error("Expecting extension for -wext option\n"), $badCmd=1, next; - my $flag = 1; - $1 and $wext{'*'} = 1, $flag = -1; - $ext =~ s/^\.//; - $wext{lc $ext} = $flag; - next; - } - if ($a eq 'wm' or $a eq 'writemode') { - my $wm = shift; - defined $wm or Error("Expecting argument for -$_ option\n"), $badCmd=1, next; - $wm =~ /^[wcg]*$/i or Error("Invalid argument for -$_ option\n"), $badCmd=1, next; - $mt->Options(WriteMode => $wm); - next; - } - if (/^x$/ or $a eq 'exclude') { - my $tag = shift; - defined $tag or Error("Expecting tag name for -x option\n"), $badCmd=1, next; - $tag =~ s/\ball\b/\*/ig; # replace 'all' with '*' in tag names - if ($setTagsFile) { - push @{$setTags{$setTagsFile}}, "-$tag"; - } else { - push @exclude, $tag; - } - next; - } - (/^X$/ or $a eq 'xmlformat') and $xml = 1, $html = $json = 0, $mt->Options(Duplicates => 1), next; - if (/^php$/i) { - $json = 2; - $html = $xml = 0; - $mt->Options(Duplicates => 1); - next; - } - if (/^z(ip)?$/i) { - $doUnzip = 1; - $mt->Options(Compress => 1, XMPShorthand => 1); - $mt->Options(Compact => 1) unless $mt->Options('Compact'); - next; - } - $_ eq '' and push(@files, '-'), $srcStdin = 1, next; # read STDIN - length $_ eq 1 and $_ ne '*' and Error("Unknown option -$_\n"), $badCmd=1, next; - if (/^[^<]+( ++$saveCount }; - } - push @newValues, $_; - if (/^([-_0-9A-Z]+:)*1?mwg:/i) { - $useMWG = 1; - } elsif (/^([-_0-9A-Z]+:)*(filename|directory|testname)\b/i) { - $doSetFileName = 1; - } elsif (/^([-_0-9A-Z]+:)*(geotag|geotime|geosync|geolocate)\b/i) { - if (lc $2 eq 'geotime') { - $addGeotime = ''; - } else { - # add geotag/geosync/geolocate commands first - unshift @newValues, pop @newValues; - if (lc $2 eq 'geotag' and (not defined $addGeotime or $addGeotime) and length $val) { - $addGeotime = [ ($1 || '') . 'Geotime)/; - if ($setTagsFile) { - push @{$setTags{$setTagsFile}}, $_; - if ($1 eq '>') { - $useMWG = 1 if /^(.*>\s*)?([-_0-9A-Z]+:)*1?mwg:/si; - if (/\b(filename|directory|testname)#?$/i) { - $doSetFileName = 1; - } elsif (/\bgeotime#?$/i) { - $addGeotime = ''; - } - } else { - $useMWG = 1 if /^([^<]+<\s*(.*\$\{?)?)?([-_0-9A-Z]+:)*1?mwg:/si; - if (/^([-_0-9A-Z]+:)*(filename|directory|testname)\b/i) { - $doSetFileName = 1; - } elsif (/^([-_0-9A-Z]+:)*geotime\b/i) { - $addGeotime = ''; - } - } - } else { - my $lst = s/^-// ? \@exclude : \@tags; - Warn(qq(Invalid TAG name: "$_"\n)) unless /^([-_0-9A-Z*]+:)*([-_0-9A-Z*?]+)#?$/i; - push @$lst, $_; # (push everything for backward compatibility) - } - } - } else { - unless ($pass) { - # defer to next pass so the filename charset is available - push @nextPass, $_; - next; - } - if ($doGlob and HasWildcards($_)) { - if ($^O eq 'MSWin32' and eval { require Win32::FindFile }) { - push @files, FindFileWindows($mt, $_); - } else { - # glob each filespec if necessary - MK/20061010 - push @files, File::Glob::bsd_glob($_); - } - $doGlob = 2; - } else { - push @files, $_; - $srcStdin = 1 if $_ eq '-'; - } - } -} - -# set "OK" UserParam based on result of last command -$mt->Options(UserParam => 'OK=' . (not $rtnValPrev)); - -# set verbose output to STDERR if output could be to console -$vout = \*STDERR if $srcStdin and ($isWriting or @newValues); -$mt->Options(TextOut => $vout) if $vout eq \*STDERR; - -# change default EXIF string encoding if MWG used -if ($useMWG and not defined $mt->Options('CharsetEXIF')) { - $mt->Options(CharsetEXIF => 'UTF8'); -} - -# allow geolocation without input file if set to a position -if (not @files and not $outOpt and not @newValues) { - my $loc = $mt->Options('Geolocation'); - # use undocumented feature to input JSON file directly from command line - $loc and $loc ne '1' and push(@files, qq(\@JSON:{})), $geoOnly = 1; -} - -# print help -unless ((@tags and not $outOpt) or @files or @newValues or $geoOnly) { - if ($doGlob and $doGlob == 2) { - Error "No matching files\n"; - next; - } - $outOpt and Error("Nothing to write\n"), next; - unless ($helped) { - # catch warnings if we have problems running perldoc - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - my $dummy = \*SAVEERR; # avoid "used only once" warning - unless ($^O eq 'os2') { - open SAVEERR, ">&STDERR"; - open STDERR, '>/dev/null'; - } - if (system('perldoc',$0)) { - print "Syntax: exiftool [OPTIONS] FILE\n\n"; - print "Consult the exiftool documentation for a full list of options.\n"; - } - unless ($^O eq 'os2') { - close STDERR; - open STDERR, '>&SAVEERR'; - } - } - next; -} - -# do sanity check on -delete_original and -restore_original -if (defined $deleteOrig and (@newValues or @tags)) { - if (not @newValues) { - my $verb = $deleteOrig ? 'deleting' : 'restoring from'; - Error "Can't specify tags when $verb originals\n"; - } elsif ($deleteOrig) { - Error "Can't use -delete_original when writing.\n"; - Error "Maybe you meant -overwrite_original ?\n"; - } else { - Error "It makes no sense to use -restore_original when writing\n"; - } - next; -} - -if ($overwriteOrig > 1 and $outOpt) { - Error "Can't overwrite in place when -o option is used\n"; - next; -} - -if (($tagOut or defined $diff) and ($csv or $json or %printFmt or $tabFormat or $xml or $plot or - ($verbose and $html))) -{ - my $opt = $tagOut ? '-W' : '-diff'; - Error "Sorry, $opt may not be combined with -csv, -htmlDump, -j, -p, -t or -X\n"; - next; -} - -if ($csv and $csv eq 'CSV' and not $isWriting) { - $json = 0; # (not compatible) - if ($textOut) { - $textOut2 = $textOut; - undef $textOut; - } - if ($binaryOutput) { - $binaryOutput = 0; - $setCharset = 'default' unless defined $setCharset; - } - if (%printFmt) { - Warn "The -csv option has no effect when -p is used\n"; - undef $csv; - } - require Image::ExifTool::XMP if $setCharset; -} -if ($plot and $textOut) { - $textOut2 = $textOut; - undef $textOut; -} -if ($textOut2) { - if ($textOverwrite > 1) { - Error "Can not append to multi-file output format\n"; - undef $textOut2; - next; - } - if (not $textOverwrite and $mt->Exists($textOut2, 1)) { - Error "Output file $textOut2 already exists\n"; - undef $textOut2; - next; - } - # make sure we can write the output text file before processing all input files - CreateDirectory($textOut2); # create directory if necessary - if ($mt->Open(\*OUTFILE, $textOut2, '>')) { - close(\*OUTFILE); - unlink($textOut2); # (this was just a test) - } else { - Error("Error creating $textOut2\n"); - undef $textOut2; - next; - } -} - -if ($escapeHTML or $json) { - # must be UTF8 for HTML conversion and JSON output - $mt->Options(Charset => 'UTF8') if $json; - # use Escape option to do our HTML escaping unless XML output - $mt->Options(Escape => 'HTML') if $escapeHTML and not $xml; -} elsif ($escapeXML and not $xml) { - $mt->Options(Escape => 'XML'); -} - -# set sort option -if ($sortOpt) { - # (note that -csv sorts alphabetically by default anyway if more than 1 file) - my $sort = ($outFormat > 0 or $xml or $json or $csv or $plot) ? 'Tag' : 'Descr'; - $mt->Options(Sort => $sort, Sort2 => $sort); -} - -# set $structOpt in case set by API option -if ($mt->Options('Struct') and not $structOpt) { - $structOpt = $mt->Options('Struct'); - require 'Image/ExifTool/XMPStruct.pl'; -} - -# set up for RDF/XML, JSON and PHP output formats -if ($plot) { - undef $joinLists; - $mt->Options(List => 1); - $plot->Settings($mt->Options('Plot')); -} elsif ($xml) { - require Image::ExifTool::XMP; # for EscapeXML() - my $charset = $mt->Options('Charset'); - # standard XML encoding names for supported Charset settings - # (ref http://www.iana.org/assignments/character-sets) - my %encoding = ( - UTF8 => 'UTF-8', - Latin => 'windows-1252', - Latin2 => 'windows-1250', - Cyrillic => 'windows-1251', - Greek => 'windows-1253', - Turkish => 'windows-1254', - Hebrew => 'windows-1255', - Arabic => 'windows-1256', - Baltic => 'windows-1257', - Vietnam => 'windows-1258', - MacRoman => 'macintosh', - ); - # switch to UTF-8 if we don't have a standard encoding name - unless ($encoding{$charset}) { - $charset = 'UTF8'; - $mt->Options(Charset => $charset); - } - # set file header/trailer for XML output - $fileHeader = "\n" . - "\n"; - $fileTrailer = "\n"; - # extract as a list unless short output format - $joinLists = 1 if $outFormat > 0; - $mt->Options(List => 1) unless $joinLists; - $showGroup = $allGroup = 1; # always show group 1 - # set binaryOutput flag to 0 or undef (0 = output encoded binary in XML) - $binaryOutput = ($outFormat > 0 ? undef : 0) if $binaryOutput; - $showTagID = 'D' if $tabFormat and not $showTagID; -} elsif ($json) { - if ($json == 1) { # JSON - $fileHeader = '['; - $fileTrailer = "]\n"; - } else { # PHP - $fileHeader = 'Array('; - $fileTrailer = ");\n"; - } - # allow binary output in a text-mode file when -php/-json and -b used together - # (this works because PHP strings are simple arrays of bytes, and CR/LF - # won't be messed up in the text mode output because they are converted - # to escape sequences in the strings) - if ($binaryOutput) { - $binaryOutput = 0; - require Image::ExifTool::XMP if $json == 1; # (for EncodeBase64) - } - $mt->Options(List => 1) unless $joinLists; - $showTagID = 'D' if $tabFormat and not $showTagID; -} elsif ($structOpt) { - $mt->Options(List => 1); -} else { - $joinLists = 1; # join lists for all other unstructured output formats -} - -if ($argFormat) { - $outFormat = 3; - $allGroup = 1 if defined $showGroup; -} - -# change to forward slashes if necessary in all filenames (like CleanFilename) -if (Image::ExifTool::IsPC()) { - tr/\\/\// foreach @files; -} - -# can't do anything if no file specified -unless (@files) { - unless ($outOpt) { - if ($doGlob and $doGlob == 2) { - Error "No matching files\n"; - } else { - Error "No file specified\n"; - } - next; - } - push @files, ''; # create file from nothing -} - -# set Verbose and HtmlDump options -if ($verbose) { - $disableOutput = 1 unless @tags or @exclude or $tagOut; - undef $binaryOutput unless $tagOut; # disable conflicting option - if ($html) { - $html = 2; # flag for html dump - $mt->Options(HtmlDump => $verbose); - } else { - $mt->Options(Verbose => $verbose) unless $tagOut; - } -} elsif (defined $verbose) { - # auto-flush output when -v0 is used - require FileHandle; - STDOUT->autoflush(1); - STDERR->autoflush(1); -} - -# validate all tags we're writing -my $needSave = 1; -if (@newValues) { - # assume -geotime value if -geotag specified without -geotime - if ($addGeotime) { - AddSetTagsFile($setTagsFile = '@') unless $setTagsFile and $setTagsFile eq '@'; - push @{$setTags{$setTagsFile}}, @$addGeotime; - my @a = map qq("-$_"), @$addGeotime; - $verbose and print $vout 'Arguments ',join(' and ', @a)," are assumed\n"; - } - my %setTagsIndex; - # add/delete option lookup - my %addDelOpt = ( '+' => 'AddValue', '-' => 'DelValue', "\xe2\x88\x92" => 'DelValue' ); - $saveCount = 0; - foreach (@newValues) { - if (ref $_ eq 'HASH') { - # save new values now if we stored a "SaveCount" marker - if ($$_{SaveCount}) { - $saveCount = $mt->SaveNewValues(); - $needSave = 0; - # insert marker to load values from CSV file now if this was the CSV file - push @dynamicFiles, \$csv if $$_{SaveCount} == $csvSaveCount; - } - next; - } - /(.*?)=(.*)/s or next; - my ($tag, $newVal) = ($1, $2); - $tag =~ s/\ball\b/\*/ig; # replace 'all' with '*' in tag names - $newVal eq '' and undef $newVal unless $tag =~ s/\^([-+]*)$/$1/; # undefined to delete tag - if ($tag =~ /^(All)?TagsFromFile$/i) { - defined $newVal or Error("Need file name for -tagsFromFile\n"), next Command; - ++$isWriting; - if ($newVal eq '@' or not defined FilenameSPrintf($newVal) or - # can't set tags yet if we are using tags from other files with the -fileNUM option - grep /\bfile\d+:/i, @{$setTags{$newVal}}) - { - push @dynamicFiles, $newVal; - next; # set tags from dynamic file later - } - unless ($mt->Exists($newVal) or $newVal eq '-') { - Error "File '${newVal}' does not exist for -tagsFromFile option\n"; - next Command; - } - my $setTags = $setTags{$newVal}; - # do we have multiple -tagsFromFile options with this file? - if ($setTagsList{$newVal}) { - # use the tags set in the i-th occurrence - my $i = $setTagsIndex{$newVal} || 0; - $setTagsIndex{$newVal} = $i + 1; - $setTags = $setTagsList{$newVal}[$i] if $setTagsList{$newVal}[$i]; - } - # set specified tags from this file - unless (DoSetFromFile($mt, $newVal, $setTags)) { - $rtnVal = 1; - next Command; - } - $needSave = 1; - next; - } - my %opts = ( Shift => 0 ); # shift values if possible instead of adding/deleting - # allow writing of 'Unsafe' tags unless specified by wildcard - $opts{Protected} = 1 unless $tag =~ /[?*]/; - - if ($tag =~ s/SetNewValue($tag, $newVal, %opts); - $needSave = 1; - ++$isWriting if $rtn; - $wrn and Warning($mt, $wrn); - } - # exclude specified tags - unless ($csv) { - foreach (@exclude) { - $mt->SetNewValue($_, undef, Replace => 2); - $needSave = 1; - } - } - unless ($isWriting or $outOpt or @tags) { - Error "Nothing to do.\n"; - next; - } -} elsif (grep /^(\*:)?\*$/, @exclude) { - Error "All tags excluded -- nothing to do.\n"; - next; -} -if ($isWriting) { - if (defined $diff) { - Error "Can't use -diff option when writing tags\n"; - next; - } elsif ($plot) { - Error "Can't use -plot option when writing tags\n"; - next; - } elsif (@tags and not $outOpt and not $csv) { - my ($tg, $s) = @tags > 1 ? ("$tags[0] ...", 's') : ($tags[0], ''); - Warn "Ignored superfluous tag name$s or invalid option$s: -$tg\n"; - } -} -# save current state of new values if setting values from target file -# or if we may be translating to a different format -$mt->SaveNewValues() if $outOpt or (@dynamicFiles and $needSave); - -$multiFile = 1 if @files > 1; -@exclude and $mt->Options(Exclude => \@exclude); - -undef $binaryOutput if $html; - -if ($binaryOutput) { - $outFormat = 99; # shortest possible output format - $mt->Options(PrintConv => 0); - unless ($textOut or $binaryStdout) { - binmode(STDOUT); - $binaryStdout = 1; - $mt->Options(TextOut => ($vout = \*STDERR)); - } - # disable conflicting options - undef $showGroup; -} - -# sort by groups to look nicer depending on options -if (defined $showGroup and not (@tags and ($allGroup or $csv)) and ($sortOpt or not defined $sortOpt)) { - $mt->Options(Sort => "Group$showGroup"); -} - -if ($textOut) { - CleanFilename($textOut); # make all forward slashes - # add '.' before output extension if necessary - $textOut = ".$textOut" unless $textOut =~ /[.%]/ or defined $tagOut; -} - -# determine if we should scan for only writable files -if ($outOpt) { - my $type = GetFileType($outOpt); - if ($type) { - # (must test original file name because we can write .webp but not other RIFF types) - my $canWrite = CanWrite($outOpt); - unless ($canWrite) { - if (defined $canWrite and $canWrite eq '') { - $type = Image::ExifTool::GetFileExtension($outOpt); - $type = uc($outOpt) unless defined $type; - } - Error "Can't write $type files\n"; - next; - } - $scanWritable = $type unless CanCreate($type); - } else { - $scanWritable = 1; - } - $isWriting = 1; # set writing flag -} elsif ($isWriting or defined $deleteOrig) { - $scanWritable = 1; -} - -# initialize alternate encoding flag -$altEnc = $mt->Options('Charset'); -undef $altEnc if $altEnc eq 'UTF8'; - -# set flag to fix description lengths if necessary -if (not $altEnc and $mt->Options('Lang') ne 'en') { - # (note that Unicode::GCString is part of the Unicode::LineBreak package) - $fixLen = eval { require Unicode::GCString } ? 2 : 1; -} - -# sort input files if specified -if (@fileOrder) { - my @allFiles; - ProcessFiles($mt, \@allFiles); - my $sortTool = Image::ExifTool->new; - $sortTool->Options(FastScan => $fileOrderFast) if $fileOrderFast; - $sortTool->Options(PrintConv => $mt->Options('PrintConv')); - $sortTool->Options(Duplicates => 0); - my (%sortBy, %isFloat, @rev, $file); - # save reverse sort flags - push @rev, (s/^-// ? 1 : 0) foreach @fileOrder; - foreach $file (@allFiles) { - my @tags; - my $info = $sortTool->ImageInfo(Infile($file,1), @fileOrder, \@tags); - # get values of all tags (or '~' to sort last if not defined) - foreach (@tags) { - $_ = $$info{$_}; # put tag value into @tag list - defined $_ or $_ = '~', next; - $isFloat{$_} = Image::ExifTool::IsFloat($_); - # pad numbers to 12 digits to keep them sequential - s/(\d+)/(length($1) < 12 ? '0'x(12-length($1)) : '') . $1/eg unless $isFloat{$_}; - } - $sortBy{$file} = \@tags; # save tag values for each file - } - # sort in specified order - @files = sort { - my ($i, $cmp); - for ($i=0; $i<@rev; ++$i) { - my $u = $sortBy{$a}[$i]; - my $v = $sortBy{$b}[$i]; - if (not $isFloat{$u} and not $isFloat{$v}) { - $cmp = $u cmp $v; # alphabetically - } elsif ($isFloat{$u} and $isFloat{$v}) { - $cmp = $u <=> $v; # numerically - } else { - $cmp = $isFloat{$u} ? -1 : 1; # numbers first - } - return $rev[$i] ? -$cmp : $cmp if $cmp; - } - return $a cmp $b; # default to sort by name - } @allFiles; -} elsif (defined $progress) { - # expand FILE argument to count the number of files to process - my @allFiles; - ProcessFiles($mt, \@allFiles); - @files = @allFiles; -} -# set file count for progress message -$progressMax = scalar @files if defined $progress; - -# store duplicate database information under absolute path -my @dbKeys = keys %database; -if (@dbKeys) { - if (eval { require Cwd }) { - undef $evalWarning; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - foreach (@dbKeys) { - my $db = $database{$_}; - tr/\\/\// and $database{$_} = $db; # allow for backslashes in SourceFile - # (punt on using ConvertFileName here, so $absPath may be a mix of encodings) - my $absPath = AbsPath($_); - if (defined $absPath) { - $database{$absPath} = $db unless $database{$absPath}; - if ($verbose and $verbose > 1) { - print $vout "Imported entry for '${_}' (full path: '${absPath}')\n"; - } - } elsif ($verbose and $verbose > 1) { - print $vout "Imported entry for '${_}' (no full path)\n"; - } - } - } -} - -# process all specified files -ProcessFiles($mt); - -Error "No file with specified extension\n" if $filtered and not $validFile; - -# print folder/file trailer if necessary -if ($textOut) { - foreach (keys %outTrailer) { - next unless $outTrailer{$_}; - if ($mt->Open(\*OUTTRAIL, $_, '>>')) { - my $fp = \*OUTTRAIL; - print $fp $outTrailer{$_}; - close $fp; - } else { - Error("Error appending to $_\n"); - } - } -} else { - print $sectTrailer if $sectTrailer; - print $fileTrailer if $fileTrailer and not $fileHeader; - # print CSV or SVG output file if necessary - my ($fp, $err); - if ($textOut2) { - if ($mt->Open(\*OUTFILE, $textOut2, '>')) { - $fp = \*OUTFILE; - } else { - Error("Error creating $textOut2\n"); - $err = 1; - } - } - unless ($err) { - PrintCSV($fp) if $csv and not $isWriting; - # print SVG plot - if ($plot) { - $plot->Draw($fp || \*STDOUT); - if ($$plot{Error}) { - Error("Error: $$plot{Error}\n"); - $err = 1; - } elsif ($$plot{Warn}) { - Warn("Warning: $$plot{Warn}\n"); - } - } - } - if ($fp) { - close($fp) or $err = 1; - if ($err) { - $mt->Unlink($textOut2); - } else { - $created{$textOut2} = 1; - } - } -} - -my $totWr = $countGoodWr + $countBadWr + $countSameWr + $countCopyWr + - $countGoodCr + $countBadCr; - -if (defined $deleteOrig) { - - # print summary and delete requested files - unless ($quiet) { - printf "%5d directories scanned\n", $countDir if $countDir; - printf "%5d directories created\n", $countNewDir if $countNewDir; - printf "%5d files failed condition\n", $countFailed if $countFailed; - printf "%5d image files found\n", $count; - } - if (@delFiles) { - # verify deletion unless "-delete_original!" was specified - if ($deleteOrig == 1) { - printf '%5d originals will be deleted! Are you sure [y/n]? ', scalar(@delFiles); - my $response = ; - unless ($response =~ /^(y|yes)\s*$/i) { - Warn "Originals not deleted.\n"; - next; - } - } - $countGoodWr = $mt->Unlink(@delFiles); - $countBad = scalar(@delFiles) - $countGoodWr; - } - if ($quiet) { - # no more messages - } elsif ($count and not $countGoodWr and not $countBad) { - printf "%5d original files found\n", $countGoodWr; # (this will be 0) - } elsif ($deleteOrig) { - printf "%5d original files deleted\n", $countGoodWr if $count; - printf "%5d originals not deleted due to errors\n", $countBad if $countBad; - } else { - printf "%5d image files restored from original\n", $countGoodWr if $count; - printf "%5d files not restored due to errors\n", $countBad if $countBad; - } - -} elsif ((not $binaryStdout or $verbose) and not $quiet) { - - # print summary - my $tot = $count + $countBad; - if ($countDir or $totWr or $countFailed or $tot > 1 or $textOut or %countLink) { - my $o = (($html or $json or $xml or %printFmt or $csv or $plot) and not $textOut) ? \*STDERR : $vout; - printf($o "%5d directories scanned\n", $countDir) if $countDir; - printf($o "%5d directories created\n", $countNewDir) if $countNewDir; - printf($o "%5d files failed condition\n", $countFailed) if $countFailed; - printf($o "%5d image files created\n", $countGoodCr) if $countGoodCr; - printf($o "%5d image files updated\n", $countGoodWr) if $totWr - $countGoodCr - $countBadCr - $countCopyWr; - printf($o "%5d image files unchanged\n", $countSameWr) if $countSameWr; - printf($o "%5d image files %s\n", $countCopyWr, $overwriteOrig ? 'moved' : 'copied') if $countCopyWr; - printf($o "%5d files weren't updated due to errors\n", $countBadWr) if $countBadWr; - printf($o "%5d files weren't created due to errors\n", $countBadCr) if $countBadCr; - printf($o "%5d image files read\n", $count) if ($tot+$countFailed)>1 or ($countDir and not $totWr); - printf($o "%5d files could not be read\n", $countBad) if $countBad; - printf($o "%5d output files created\n", scalar(keys %created)) if $textOut or $textOut2; - printf($o "%5d output files appended\n", scalar(keys %appended)) if %appended; - printf($o "%5d hard links created\n", $countLink{Hard} || 0) if $countLink{Hard} or $countLink{BadHard}; - printf($o "%5d hard links could not be created\n", $countLink{BadHard}) if $countLink{BadHard}; - printf($o "%5d symbolic links created\n", $countLink{Sym} || 0) if $countLink{Sym} or $countLink{BadSym}; - printf($o "%5d symbolic links could not be created\n", $countLink{BadSym}) if $countLink{BadSym}; - } -} - -# set error status if we had any errors or if all files failed the "-if" condition -if ($countBadWr or $countBadCr or $countBad) { - $rtnVal = 1; -} elsif ($countFailed and not ($count or $totWr) and not $rtnVal) { - $rtnVal = 2; -} - -# clean up after each command -Cleanup(); - -} # end "Command" loop ........................................................ - -close STAYOPEN if $stayOpen >= 2; - -Exit $rtnValApp; # all done - - -#------------------------------------------------------------------------------ -# Get image information from EXIF data in file (or write file if writing) -# Inputs: 0) ExifTool object reference, 1) file name -sub GetImageInfo($$) -{ - my ($et, $orig) = @_; - my (@foundTags, @found2, $info, $info2, $et2, $file, $file2, $ind, $g8); - - # set window title for this file if necessary - if (defined $windowTitle) { - if ($progressCount >= $progressNext) { - my $prog = $progressMax ? "$progressCount/$progressMax" : '0/0'; - my $title = $windowTitle; - my ($num, $denom) = split '/', $prog; - my $frac = $num / ($denom || 1); - my $n = $title =~ s/%(\d+)b/%b/ ? $1 : 20; # length of bar - my $bar = int($frac * $n + 0.5); - my %lkup = ( - b => ('I' x $bar) . ('.' x ($n - $bar)), - f => $orig, - p => int(100 * $frac + 0.5), - r => $prog, - '%'=> '%', - ); - $title =~ s/%([%bfpr])/$lkup{$1}/eg; - SetWindowTitle($title); - if (defined $progressMax) { - undef $progressNext; - } else { - $progressNext += $progressIncr; - } - } - # ($progressMax is not defined for "-progress:%f") - ++$progressCount unless defined $progressMax; - } - unless (length $orig or $outOpt) { - Warn qq(Error: Zero-length file name - ""\n); - ++$countBad; - return; - } - # determine the name of the source file based on the original input file name - if (@srcFmt) { - my ($fmt, $first); - foreach $fmt (@srcFmt) { - $file = $fmt eq '@' ? $orig : FilenameSPrintf($fmt, $orig); - # use this file if it exists - $et->Exists($file) and undef($first), last; - $verbose and print $vout "Source file $file does not exist\n"; - $first = $file unless defined $first; - } - $file = $first if defined $first; - my ($d, $f) = Image::ExifTool::SplitFileName($orig); - $et->Options(UserParam => "OriginalDirectory#=$d"); - $et->Options(UserParam => "OriginalFileName#=$f"); - } else { - $file = $orig; - } - # set alternate file names - foreach $g8 (sort keys %altFile) { - my $altName = $orig; - # must double any '$' symbols in the original file name because - # they are used for tag names in a -fileNUM argument - $altName =~ s/\$/\$\$/g; - $altName = FilenameSPrintf($altFile{$g8}, $altName); - $et->SetAlternateFile($g8, $altName); - } - - my $pipe = $file; - if ($doUnzip) { - # pipe through gzip or bzip2 if necessary - if ($file =~ /\.(gz|bz2)$/i) { - my $type = lc $1; - if ($file =~ /[^-_.'A-Za-z0-9\/\\]/) { - Warn "Error: Insecure zip file name. Skipped\n"; - EFile($file); - ++$countBad; - return; - } - if ($type eq 'gz') { - $pipe = qq{gzip -dc "$file" |}; - } else { - $pipe = qq{bzip2 -dc "$file" |}; - } - $$et{TRUST_PIPE} = 1; - } - } - # evaluate -if expression for conditional processing - if (@condition) { - unless ($file eq '-' or $et->Exists($file)) { - Warn "Error: File not found - $file\n"; - EFile($file); - FileNotFound($file); - ++$countBad; - return; - } - my $result; - - unless ($failCondition) { - # catch run time errors as well as compile errors - undef $evalWarning; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - - my (%info, $condition); - # extract information and build expression for evaluation - my $opts = { Duplicates => 1, RequestTags => \@requestTags, Verbose => 0, HtmlDump => 0 }; - $$opts{FastScan} = $fastCondition if defined $fastCondition; - # return all tags but explicitly mention tags on command line so - # requested images will generate the appropriate warnings - @foundTags = ('*', @tags) if @tags; - $info = $et->ImageInfo(Infile($pipe,$isWriting), \@foundTags, $opts); - foreach $condition (@condition) { - my $cond = $et->InsertTagValues($condition, \@foundTags, \%info); - { - # set package so eval'd functions are in Image::ExifTool namespace - package Image::ExifTool; - - my $self = $et; - #### eval "-if" condition (%info, $self) - $result = eval $cond; - - $@ and $evalWarning = $@; - } - if ($evalWarning) { - # fail condition if warning is issued - undef $result; - if ($verbose) { - chomp $evalWarning; - $evalWarning =~ s/ at \(eval .*//s; - Warn "Condition: $evalWarning - $file\n"; - } - } - last unless $result; - } - undef @foundTags if $fastCondition; # ignore if we didn't get all tags - } - unless ($result) { - Progress($vout, "-------- $file (failed condition)") if $verbose; - EFile($file, 2); - ++$countFailed; - return; - } - # can't make use of $info if verbose because we must reprocess - # the file anyway to generate the verbose output - # (also if writing just to avoid double-incrementing FileSequence) - if ($isWriting or $verbose or defined $fastCondition or defined $diff) { - undef $info; - --$$et{FILE_SEQUENCE}; - } - } elsif ($file =~ s/^(\@JSON:)(.*)/$1/) { - # read JSON file from command line - my $dat = $2; - $info = $et->ImageInfo(\$dat, \@foundTags); - if ($geoOnly) { /^Geolocation/ or delete $$info{$_} foreach keys %$info; $file = ' ' } - } - if (defined $deleteOrig) { - Progress($vout, "======== $file") if defined $verbose; - ++$count; - my $original = "${file}_original"; - $et->Exists($original) or return; - if ($deleteOrig) { - $verbose and print $vout "Scheduled for deletion: $original\n"; - push @delFiles, $original; - } elsif ($et->Rename($original, $file)) { - $verbose and print $vout "Restored from $original\n"; - EFile($file, 3); - ++$countGoodWr; - } else { - Warn "Error renaming $original\n"; - EFile($file); - ++$countBad; - } - return; - } - ++$seqFileNum; # increment our file counter - my ($dir) = Image::ExifTool::SplitFileName($orig); - $seqFileDir = $seqFileDir{$dir} = ($seqFileDir{$dir} || 0) + 1; - - my $lineCount = 0; - my ($fp, $outfile, $append); - if ($textOut and ($verbose or $et->Options('PrintCSV')) and not ($tagOut or defined $diff or $plot)) { - ($fp, $outfile, $append) = OpenOutputFile($orig); - $fp or EFile($file), ++$countBad, return; - # delete file if we exit prematurely (unless appending) - $tmpText = $outfile unless $append; - $et->Options(TextOut => $fp); - } - - if ($isWriting) { - Progress($vout, "======== $file") if defined $verbose; - SetImageInfo($et, $file, $orig); - $info = $et->GetInfo('Warning', 'Error'); - PrintErrors($et, $info, $file); - # close output text file if necessary - if (defined $outfile) { - undef $tmpText; - close($fp); - $et->Options(TextOut => $vout); - if ($info->{Error}) { - $et->Unlink($outfile); # erase bad file - } elsif ($append) { - $appended{$outfile} = 1 unless $created{$outfile}; - } else { - $created{$outfile} = 1; - } - } - return; - } - - # extract information from this file - unless ($file eq '-' or $et->Exists($file) or $info) { - Warn "Error: File not found - $file\n"; - FileNotFound($file); - defined $outfile and close($fp), undef($tmpText), $et->Unlink($outfile); - EFile($file); - ++$countBad; - return; - } - # print file/progress message - my $o; - unless ($binaryOutput or $textOut or %printFmt or $html > 1 or $csv or $plot) { - if ($html) { - require Image::ExifTool::HTML; - my $f = Image::ExifTool::HTML::EscapeHTML($file); - print "\n"; - } elsif (not ($json or $xml or defined $diff)) { - $o = \*STDOUT if ($multiFile and not $quiet) or $progress; - } - } - $o = \*STDERR if $progress and not $o; - Progress($o, "======== $file") if $o; - if ($info) { - # get the information we wanted - if (@tags and not %printFmt) { - @foundTags = @tags; - $info = $et->GetInfo(\@foundTags); - } - } else { - # request specified tags unless using print format option - my $oldDups = $et->Options('Duplicates'); - if (%printFmt) { - $et->Options(Duplicates => 1); - $et->Options(RequestTags => \@requestTags); - if ($printFmt{SetTags}) { - # initialize options so we can set any tags we want - $$et{TAGS_FROM_FILE} = 1; - $et->Options(MakerNotes => 1); - $et->Options(Struct => 2); - $et->Options(List => 1); - $et->Options(CoordFormat => '%d %d %.8f') unless $et->Options('CoordFormat'); - } - } else { - @foundTags = @tags; - } - if (defined $diff) { - $file2 = FilenameSPrintf($diff, $orig); - if ($file eq $file2) { - Warn "Error: Diffing file with itself - $file2\n"; - EFile($file); - ++$countBad; - return; - } - if ($et->Exists($file2)) { - $showGroup = 1 unless defined $showGroup; - $allGroup = 1 unless defined $allGroup; - $et->Options(Duplicates => 1, Sort => "Group$showGroup", Verbose => 0); - $et2 = Image::ExifTool->new; - $et2->Options(%{$$et{OPTIONS}}); - # must set list options specifically because they may have been - # set incorrectly from deprecated List settings - $et2->Options(ListSep => $$et{OPTIONS}{ListSep}); - $et2->Options(ListSplit => $$et{OPTIONS}{ListSplit}); - @found2 = @foundTags; - $info2 = $et2->ImageInfo($file2, \@found2); - } else { - $info2 = { Error => "Diff file not found" }; - } - if ($$info2{Error}) { - Warn "Error: $$info2{Error} - $file2\n"; - EFile($file); - ++$countBad; - return; - } - } - # extract the information - $info = $et->ImageInfo(Infile($pipe), \@foundTags); - $et->Options(Duplicates => $oldDups); - } - - # all done now if we already wrote output text file (eg. verbose option) - if ($fp) { - if (defined $outfile) { - $et->Options(TextOut => \*STDOUT); - undef $tmpText; - if ($info->{Error}) { - close($fp); - $et->Unlink($outfile); # erase bad file - } else { - ++$lineCount; # output text file (likely) is not empty - } - } - if ($info->{Error}) { - Warn "Error: $$info{Error} - $file\n"; - EFile($file); - ++$countBad; - return; - } - } - - # print warnings to stderr if using binary output - # (because we are likely ignoring them and piping stdout to file) - # or if there is none of the requested information available - if ($binaryOutput or not %$info) { - my $errs = $et->GetInfo('Warning', 'Error'); - PrintErrors($et, $errs, $file) and EFile($file), $rtnVal = 1; - } elsif ($et->GetValue('Error') or ($$et{Validate} and $et->GetValue('Warning'))) { - $rtnVal = 1; - } - - # open output file (or stdout if no output file) if not done already - unless (defined $outfile or $tagOut) { - ($fp, $outfile, $append) = OpenOutputFile($orig); - $fp or EFile($file), ++$countBad, return; - $tmpText = $outfile if defined $outfile and not $append; - } - - # print differences if requested - if (defined $diff) { - my (%done, %done2, $wasDiff, @diffs, @groupTags2); - my $v = $verbose || 0; - print $fp "======== diff < $file > $file2\n"; - my ($g2, $same) = (0, 0); # start with $g2 false, but not equal to '' to avoid infinite loop - for (;;) { - my ($g, $tag2, $i, $key, @dupl, $val2, $t2, $equal, %used); - my $tag = shift @foundTags; - if (defined $tag) { - $done{$tag} = 1; - $g = $et->GetGroup($tag, $showGroup); - } else { - for (;;) { - $tag2 = shift @found2; - defined $tag2 or $g = '', last; - $done2{$tag2} or $g = $et2->GetGroup($tag2, $showGroup), last; - } - } - if ($g ne $g2) { - # add any outstanding tags from diff file not yet handled in previous group ($g2) - foreach $t2 (@groupTags2) { - next if $done2{$t2}; - my $val2 = $et2->GetValue($t2); - next unless defined $val2; - my $name = $outFormat < 1 ? $et2->GetDescription($t2) : GetTagName($t2); - my $len = LengthUTF8($name); - my $pad = $outFormat < 2 ? ' ' x ($len < 32 ? 32 - $len : 0) : ''; - if ($allGroup) { - my $grp = "[$g2]"; - $grp .= ' ' x (15 - length($grp)) if length($grp) < 15 and $outFormat < 2; - push @diffs, sprintf "> %s %s%s: %s\n", $grp, $name, $pad, Printable($val2); - } else { - push @diffs, sprintf "> %s%s: %s\n", $name, $pad, Printable($val2); - } - $done2{$t2} = 1; - } - my $str = ''; - $v and ($same or $v > 1) and $str = " ($same same tag" . ($same==1 ? '' : 's') . ')'; - if (not $allGroup) { - print $fp "---- $g2 ----$str\n" if $g2 and ($str or @diffs); - } elsif ($str and $g2) { - printf $fp " %-13s%s\n", $g2, $str; - } - # print all differences for this group - @diffs and print($fp @diffs), $wasDiff = 1, @diffs = (); - last unless $g; - ($g2, $same) = ($g, 0); - # build list of all tags in the new group of the diff file - @groupTags2 = (); - push @groupTags2, $tag2 if defined $tag2; - foreach $t2 (@found2) { - $done2{$t2} or $g ne $et2->GetGroup($t2, $showGroup) or push @groupTags2, $t2; - } - } - next unless defined $tag; - my $val = $et->GetValue($tag); - next unless defined $val; # (just in case) - my $name = GetTagName($tag); - my $desc = $outFormat < 1 ? $et->GetDescription($tag) : $name; - # get matching tag key(s) from diff file - my @tags2 = grep /^$name( |$)/, @groupTags2; -T2: foreach $t2 (@tags2) { - next if $done2{$t2}; - $tag2 = $t2; - $val2 = $et2->GetValue($t2); - next unless defined $val2; - IsEqual($val, $val2) and $equal = 1, last; - # look ahead for upcoming duplicate tags in this group to see - # if any would later match this value (and skip those for now) - if ($$et{DUPL_TAG}{$name} and not @dupl) { - for ($i=0, $key=$name; $i<=$$et{DUPL_TAG}{$name}; ++$i, $key="$name ($i)") { - push @dupl, $key unless $done{$key} or $g ne $et->GetGroup($key, $showGroup); - } - @dupl = sort { $$et{FILE_ORDER}{$a} <=> $$et{FILE_ORDER}{$b} } @dupl if @dupl > 1; - } - foreach (@dupl) { - next if $used{$_}; - my $v = $et->GetValue($_); - next unless defined($v) and IsEqual($v, $val2); - $used{$_} = 1; # would match this upcoming tag - undef($tag2); undef($val2); - next T2; - } - last; - } - if ($equal) { - ++$same; - } else { - my $len = LengthUTF8($desc); - my $pad = $outFormat < 2 ? ' ' x ($len < 32 ? 32 - $len : 0) : ''; - if ($allGroup) { - my $grp = "[$g]"; - $grp .= ' ' x (15 - length($grp)) if length($grp) < 15 and $outFormat < 2; - push @diffs, sprintf "< %s %s%s: %s\n", $grp, $desc, $pad, Printable($val); - if (defined $val2) { - $grp = ' ' x length($grp), $desc = ' ' x $len if $v < 3; - push @diffs, sprintf "> %s %s%s: %s\n", $grp, $desc, $pad, Printable($val2); - } - } else { - push @diffs, sprintf "< %s%s: %s\n", $desc, $pad, Printable($val); - $desc = ' ' x $len if $v < 3; - push @diffs, sprintf "> %s%s: %s\n", $desc, $pad, Printable($val2) if defined $val2; - } - } - $done2{$tag2} = 1 if defined $tag2; - } - print $fp "(no metadata differences)\n" unless $wasDiff; - if (defined $outfile) { - $created{$outfile} = 1; - close($fp); - undef $tmpText; - } - ++$count; - return; - } - # restore state of comma flag for this file if appending - $comma = $outComma{$outfile} if $append and ($textOverwrite & 0x02); - - # print the results for this file - if (%printFmt) { - # output using print format file (-p) option - my ($type, $doc, $grp, $lastDoc, $cache); - $fileTrailer = ''; - # repeat for each embedded document if necessary (only if -ee used) - if ($et->Options('ExtractEmbedded')) { - # (cache tag keys if there are sub-documents) - $lastDoc = $$et{DOC_COUNT} and $cache = { }; - } else { - $lastDoc = 0; - } - for ($doc=0; $doc<=$lastDoc; ++$doc) { - my ($skipBody, $opt); - foreach $type (qw(HEAD SECT IF BODY ENDS TAIL)) { - my $prf = $printFmt{$type} or next; - if ($type eq 'HEAD' and defined $outfile) { - next if $wroteHEAD{$outfile}; - $wroteHEAD{$outfile} = 1; - } - next if $type eq 'BODY' and $skipBody; - # silence "IF" warnings and warnings for subdocuments > 1 - if ($type eq 'IF' or ($doc > 1 and not $$et{OPTIONS}{IgnoreMinorErrors})) { - $opt = 'Silent'; - } else { - $opt = 'Warn'; - } - if ($lastDoc) { - if ($doc) { - next if $type eq 'HEAD' or $type eq 'TAIL'; # only repeat SECT/IF/BODY/ENDS - $grp = "Doc$doc"; - } else { - $grp = 'Main'; - } - } - my @lines; - foreach (@$prf) { - my $line = $et->InsertTagValues($_, \@foundTags, $opt, $grp, $cache); - if ($type eq 'IF') { - $skipBody = 1 unless defined $line; - } elsif (defined $line) { - push @lines, $line; - } - } - $lineCount += scalar @lines; - if ($type eq 'SECT') { - my $thisHeader = join '', @lines; - if ($sectHeader and $sectHeader ne $thisHeader) { - print $fp $sectTrailer if $sectTrailer; - undef $sectHeader; - } - $sectTrailer = ''; - print $fp $sectHeader = $thisHeader unless $sectHeader; - } elsif ($type eq 'ENDS') { - $sectTrailer .= join '', @lines if defined $sectHeader; - } elsif ($type eq 'TAIL') { - $fileTrailer .= join '', @lines; - } elsif (@lines) { - print $fp @lines; - } - } - } - delete $printFmt{HEAD} unless defined $outfile; # print header only once per output file - my $errs = $et->GetInfo('Warning', 'Error'); - PrintErrors($et, $errs, $file) and EFile($file); - } elsif ($plot) { - # add points from this file to the plot - my $tagExtra = $$et{TAG_EXTRA}; - my ($tag, %docNum); - foreach $tag (keys %$info) { - next unless $$tagExtra{$tag} and $$tagExtra{$tag}{G3}; - $docNum{$tag} = $1 if $$tagExtra{$tag}{G3} =~ /(\d+)/; - } - $$plot{DocNum} = \%docNum; - $$plot{EE} = 1 if $et->Options('ExtractEmbedded'); - $plot->AddPoints($info, \@foundTags); - } elsif (not $disableOutput) { - my ($tag, $line, %noDups, %csvInfo, $bra, $ket, $sep, $quote); - if ($fp) { - # print file header (only once) - if ($fileHeader) { - print $fp $fileHeader unless defined $outfile and ($created{$outfile} or $appended{$outfile}); - undef $fileHeader unless $textOut; - } - if ($html) { - print $fp "\n"; - } elsif ($xml) { - my $f = $file; - CleanXML(\$f); - print $fp "\nGetGroup($tag); - unless ($grp1) { - next unless defined $forcePrint; - $grp0 = $grp1 = 'Unknown'; - } - # add groups from structure fields - AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag}; - next if $groups{$grp1}; - # include family 0 and 1 groups in URI except for internal tags - # (this will put internal tags in the "XML" group on readback) - $groups{$grp1} = $grp0; - push @groups, $grp1; - } - foreach $grp1 (@groups) { - my $grp = $groups{$grp1}; - unless ($grp eq $grp1 and $grp =~ /^(ExifTool|File|Composite|Unknown)$/) { - $grp .= "/$grp1"; - } - print $fp "\n xmlns:$grp1='http://ns.exiftool.org/$grp/1.0/'"; - } - print $fp '>' if $outFormat < 1; # finish rdf:Description token unless short format - $ind = $outFormat >= 0 ? ' ' : ' '; - } elsif ($json) { - # set delimiters for JSON or PHP output - ($bra, $ket, $sep) = $json == 1 ? ('{','}',':') : ('Array(',')',' =>'); - $quote = 1 if $$et{OPTIONS}{StructFormat} and $$et{OPTIONS}{StructFormat} eq 'JSONQ'; - print $fp ",\n" if $comma; - print $fp qq($bra\n "SourceFile"$sep ), EscapeJSON(MyConvertFileName($et,$file),1); - $comma = 1; - $ind = (defined $showGroup and not $allGroup) ? ' ' : ' '; - } elsif ($csv) { - my $file2 = MyConvertFileName($et, $file); - $database{$file2} = \%csvInfo; - push @csvFiles, $file2; - } - } - # suppress duplicates manually in JSON and short XML output - my $noDups = ($json or ($xml and $outFormat > 0)); - my $printConv = $et->Options('PrintConv'); - my $lastGroup = ''; - my $i = -1; -TAG: foreach $tag (@foundTags) { - ++$i; # keep track on index in @foundTags - my $tagName = GetTagName($tag); - my ($group, $valList); - # get the value for this tag - my $val = $$info{$tag}; - # set flag if this is binary data - $isBinary = (ref $val eq 'SCALAR' and defined $binaryOutput); - if (ref $val) { - # happens with -X, -j or -php when combined with -b: - if (defined $binaryOutput and not $binaryOutput and $$et{TAG_INFO}{$tag}{Protected}) { - # avoid extracting Unsafe binary tags (eg. data blocks) [insider information] - my $lcTag = lc $tag; - $lcTag =~ s/ .*//; - next unless $$et{REQ_TAG_LOOKUP}{$lcTag} or ($$et{OPTIONS}{RequestAll} || 0) > 2; - } - $val = ConvertBinary($val); # convert SCALAR references - next unless defined $val; - if ($structOpt and ref $val) { - # serialize structure if necessary - $val = Image::ExifTool::XMP::SerializeStruct($et, $val) unless $xml or $json; - } elsif (ref $val eq 'ARRAY') { - if (defined $listItem) { - # take only the specified item - $val = $$val[$listItem]; - # join arrays of simple values (with newlines for binary output) - } elsif ($binaryOutput) { - if ($tagOut) { - $valList = $val; - $val = shift @$valList; - } else { - $val = join defined $binSep ? $binSep : "\n", @$val; - } - } elsif ($joinLists) { - $val = join $listSep, @$val; - } - } - } - if (not defined $val) { - # ignore tags that weren't found unless necessary - next if $binaryOutput; - if (defined $forcePrint) { - $val = $forcePrint; # forced to print all tag values - } elsif (not $csv) { - next; - } - } - if (defined $showGroup) { - $group = $et->GetGroup($tag, $showGroup); - # look ahead to see if this tag may suppress a priority tag in - # the same group, and if so suppress this tag instead - # (note that the tag key may look like "TAG #(1)" when the "#" feature is used) - next if $noDups and $tag =~ /^(.*?) ?\(/ and defined $$info{$1} and - $group eq $et->GetGroup($1, $showGroup); - if (not $group and ($xml or $json or $csv)) { - if ($showGroup !~ /\b4\b/) { - $group = 'Unknown'; - } elsif ($json and not $allGroup) { - $group = 'Copy0'; - } - } - if ($fp and not ($allGroup or $csv)) { - if ($lastGroup ne $group) { - if ($html) { - my $cols = 1; - ++$cols if $outFormat==0 or $outFormat==1; - ++$cols if $showTagID; - print $fp "\n"; - } elsif ($json) { - print $fp "\n $ket" if $lastGroup; - print $fp ',' if $lastGroup or $comma; - print $fp qq(\n "$group"$sep $bra); - undef $comma; - undef %noDups; # allow duplicate names in different groups - } else { - print $fp "---- $group ----\n"; - } - $lastGroup = $group; - } - undef $group; # undefine so we don't print it below - } - } elsif ($noDups) { - # don't allow duplicates, but avoid suppressing the priority tag - next if $tag =~ /^(.*?) ?\(/ and defined $$info{$1}; - } - - ++$lineCount; # we are printing something meaningful - - # loop through list values when -b -W used - for (;;) { - if ($tagOut) { - # determine suggested extension for output file - my $ext = SuggestedExtension($et, \$val, $tagName); - if (%wext and ($wext{$ext} || $wext{'*'} || -1) < 0) { - if ($verbose and $verbose > 1) { - print $vout "Not writing $ext output file for $tagName\n"; - } - next TAG; - } - my @groups = $et->GetGroup($tag); - defined $outfile and close($fp), undef($tmpText); # (shouldn't happen) - my $org = $et->GetValue('OriginalRawFileName') || $et->GetValue('OriginalFileName'); - ($fp, $outfile, $append) = OpenOutputFile($orig, $tagName, \@groups, $ext, $org); - $fp or ++$countBad, next TAG; - $tmpText = $outfile unless $append; - } - # write binary output - if ($binaryOutput) { - print $fp $val; - print $fp $binTerm if defined $binTerm; - if ($tagOut) { - if ($append) { - $appended{$outfile} = 1 unless $created{$outfile}; - } else { - $created{$outfile} = 1; - } - close($fp); - undef $tmpText; - $verbose and print $vout "Wrote $tagName to $outfile\n"; - undef $outfile; - undef $fp; - next TAG unless $valList and @$valList; - $val = shift @$valList; - next; # loop over values of List tag - } - next TAG; - } - last; - } - # save information for CSV output - if ($csv) { - my $tn = $tagName; - $tn .= '#' if $tag =~ /#/; # add ValueConv "#" suffix if used - my $gt = $group ? "$group:$tn" : $tn; - # (tag-name case may be different if some tags don't exist - # in a file, so all logic must use lower-case tag names) - my $lcTag = lc $gt; - # override existing entry only if top priority - next if defined $csvInfo{$lcTag} and $tag =~ /\(/; - $csvInfo{$lcTag} = $val; - if (defined $csvTags{$lcTag}) { - # overwrite with actual extracted tag name - # (note: can't check "if defined $val" here because -f may be used) - $csvTags{$lcTag} = $gt if defined $$info{$tag}; - next; - } - # must check for "Unknown" group (for tags that don't exist) - if ($group and defined $csvTags[$i] and $csvTags[$i] =~ /^(.*):$tn$/i) { - next if $group eq 'Unknown'; # nothing more to do if we don't know tag group - if ($1 eq 'unknown') { - # replace unknown entry in CSV tag lookup and list - delete $csvTags{$csvTags[$i]}; - $csvTags{$lcTag} = defined($val) ? $gt : ''; - $csvTags[$i] = $lcTag; - next; - } - } - # (don't save unextracted tag name unless -f was used) - $csvTags{$lcTag} = defined($val) ? $gt : ''; - if (@csvFiles == 1) { - push @csvTags, $lcTag; # save order of tags for first file - } elsif (@csvTags) { - undef @csvTags; - } - next; - } - - # get description if we need it (use tag name if $outFormat > 0) - my $desc = $outFormat > 0 ? $tagName : $et->GetDescription($tag); - - if ($xml) { - # RDF/XML output format - my $tok = "$group:$tagName"; - if ($outFormat > 0) { - if ($structOpt and ref $val) { - $val = Image::ExifTool::XMP::SerializeStruct($et, $val); - } - if ($escapeHTML) { - $val =~ tr/\0-\x08\x0b\x0c\x0e-\x1f/./; - Image::ExifTool::XMP::FixUTF8(\$val) unless $altEnc; - $val = Image::ExifTool::HTML::EscapeHTML($val, $altEnc); - } else { - CleanXML(\$val); - } - unless ($noDups{$tok}) { - # manually un-do CR/LF conversion in Windows because output - # is in text mode, which will re-convert newlines to CR/LF - $isCRLF and $val =~ s/\x0d\x0a/\x0a/g; - print $fp "\n $tok='${val}'"; - # XML does not allow duplicate attributes - $noDups{$tok} = 1; - } - next; - } - my ($xtra, $valNum, $descClose); - if ($showTagID) { - my ($id, $lang) = $et->GetTagID($tag); - if ($id =~ /^\d+$/) { - $id = sprintf("0x%.4x", $id) if $showTagID eq 'H'; - } else { - $id = Image::ExifTool::XMP::FullEscapeXML($id); - } - $xtra = " et:id='${id}'"; - $xtra .= " xml:lang='${lang}'" if $lang; - } else { - $xtra = ''; - } - if ($tabFormat) { - my $table = $et->GetTableName($tag); - my $index = $et->GetTagIndex($tag); - $xtra .= " et:table='${table}'"; - $xtra .= " et:index='${index}'" if defined $index; - } - # Note: New $xtra attributes must be added to %ignoreEtProp in XMP.pm! - my $lastVal = $val; - for ($valNum=0; $valNum<2; ++$valNum) { - $val = FormatXML($val, $ind, $group); - # manually un-do CR/LF conversion in Windows because output - # is in text mode, which will re-convert newlines to CR/LF - $isCRLF and $val =~ s/\x0d\x0a/\x0a/g; - if ($outFormat >= 0) { - # normal output format (note: this will give - # non-standard RDF/XML if there are any attributes) - print $fp "\n <$tok$xtra$val"; - last; - } elsif ($valNum == 0) { - CleanXML(\$desc); - if ($xtra) { - print $fp "\n <$tok>"; - print $fp "\n "; - $descClose = "\n "; - } else { - print $fp "\n <$tok rdf:parseType='Resource'>"; - $descClose = ''; - } - # print tag Description - print $fp "\n $desc"; - if ($printConv) { - # print PrintConv value - print $fp "\n "; - $val = $et->GetValue($tag, 'ValueConv'); - $val = '' unless defined $val; - # go back to print ValueConv value only if different - next unless IsEqual($val, $lastVal); - print $fp "$descClose\n "; - last; - } - } - # print ValueConv value - print $fp "\n "; - print $fp "$descClose\n "; - last; - } - next; - } elsif ($json) { - # JSON or PHP output format - my $tok = $allGroup ? "$group:$tagName" : $tagName; - # (removed due to backward incompatibility) - # $tok .= '#' if $tag =~ /#/; # add back '#' suffix if used - next if $noDups{$tok}; - $noDups{$tok} = 1; - print $fp ',' if $comma; - print $fp qq(\n$ind"$tok"$sep ); - if ($showTagID or $outFormat < 0) { - $val = { val => $val }; - if ($showTagID) { - my ($id, $lang) = $et->GetTagID($tag); - $id = sprintf('0x%.4x', $id) if $showTagID eq 'H' and $id =~ /^\d+$/; - $$val{lang} = $lang if $lang; - $$val{id} = $id; - } - if ($tabFormat) { - $$val{table} = $et->GetTableName($tag); - my $index = $et->GetTagIndex($tag); - $$val{index} = $index if defined $index; - } - if ($outFormat < 0) { - $$val{desc} = $desc; - if ($printConv) { - my $num = $et->GetValue($tag, 'ValueConv'); - $$val{num} = $num if defined $num and not IsEqual($num, $$val{val}); - } - my $ex = $$et{TAG_EXTRA}{$tag}; - $$val{'fmt'} = $$ex{G6} if defined $$ex{G6}; - if (defined $$ex{BinVal}) { - my $max = ($$et{OPTIONS}{LimitLongValues} - 5) / 3; - if ($max >= 0 and length($$ex{BinVal}) > int($max)) { - $max = int $max; - $$val{'hex'} = join ' ', unpack("(H2)$max", $$ex{BinVal}), '[...]'; - } else { - $$val{'hex'} = join ' ', unpack '(H2)*', $$ex{BinVal}; - } - } - } - } - FormatJSON($fp, $val, $ind, $quote); - $comma = 1; - next; - } - my $id; - if ($showTagID) { - $id = $et->GetTagID($tag); - if ($id =~ /^(\d+)(\.\d+)?$/) { # only print numeric ID's - $id = sprintf("0x%.4x", $1) if $showTagID eq 'H'; - } else { - $id = '-'; - } - } - - if ($escapeC) { - $val =~ s/([\0-\x1f\\\x7f])/$escC{$1} || sprintf('\x%.2x', ord $1)/eg; - } else { - # translate unprintable chars in value and remove trailing spaces - $val =~ tr/\x01-\x1f\x7f/./; - $val =~ s/\x00//g; - $val =~ s/\s+$//; - } - - if ($html) { - print $fp ""; - print $fp "" if defined $group; - print $fp "" if $showTagID; - print $fp "" if $outFormat <= 1; - print $fp "\n"; - } else { - my $buff = ''; - if ($tabFormat) { - $buff = "$group\t" if defined $group; - $buff .= "$id\t" if $showTagID; - if ($outFormat <= 1) { - $buff .= "$desc\t$val\n"; - } elsif (defined $line) { - $line .= "\t$val"; - } else { - $line = $val; - } - } elsif ($outFormat < 0) { # long format - $buff = "[$group] " if defined $group; - $buff .= "$id " if $showTagID; - $buff .= "$desc\n $val\n"; - } elsif ($outFormat == 0 or $outFormat == 1) { - my $wid; - my $len = 0; - if (defined $group) { - $buff = sprintf("%-15s ", "[$group]"); - $len = 16; - } - if ($showTagID) { - $wid = ($showTagID eq 'D') ? 5 : 6; - $len += $wid + 1; - ($wid = $len - length($buff) - 1) < 1 and $wid = 1; - $buff .= sprintf "%${wid}s ", $id; - } - $wid = 32 - (length($buff) - $len); - # pad description to a constant length - # (get actual character length when using alternate languages - # because these descriptions may contain UTF8-encoded characters) - my $padLen = $wid - LengthUTF8($desc); - $padLen = 0 if $padLen < 0; - $buff .= $desc . (' ' x $padLen) . ": $val\n"; - } elsif ($outFormat == 2) { - $buff = "[$group] " if defined $group; - $buff .= "$id " if $showTagID; - $buff .= "$tagName: $val\n"; - } elsif ($argFormat) { - $buff = '-'; - $buff .= "$group:" if defined $group; - $tagName .= '#' if $tag =~ /#/; # add '#' suffix if used - $buff .= "$tagName=$val\n"; - } else { - $buff = "$group " if defined $group; - $buff .= "$id " if $showTagID; - $buff .= "$val\n"; - } - print $fp $buff; - } - if ($tagOut) { - if ($append) { - $appended{$outfile} = 1 unless $created{$outfile}; - } else { - $created{$outfile} = 1; - } - close($fp); - undef $tmpText; - $verbose and print $vout "Wrote $tagName to $outfile\n"; - undef $outfile; - undef $fp; - } - } - if ($fp) { - if ($html) { - print $fp "
$group
$group$id$desc$val
\n"; - } elsif ($xml) { - # close rdf:Description element - print $fp $outFormat < 1 ? "\n\n" : "/>\n"; - } elsif ($json) { - print $fp "\n $ket" if $lastGroup; - print $fp "\n$ket"; - $comma = 1; - } elsif ($tabFormat and $outFormat > 1) { - print $fp "$line\n" if defined $line; - } - } - } - if (defined $outfile) { - if ($textOverwrite & 0x02) { - # save state of this file if we may be appending - $outComma{$outfile} = $comma; - $outTrailer{$outfile} = ''; - $outTrailer{$outfile} .= $sectTrailer and $sectTrailer = '' if $sectTrailer; - $outTrailer{$outfile} .= $fileTrailer if $fileTrailer; - } else { - # write section and file trailers before closing the file - print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer; - print $fp $fileTrailer if $fileTrailer; - } - close($fp); - undef $tmpText; - if ($lineCount) { - if ($append) { - $appended{$outfile} = 1 unless $created{$outfile}; - } else { - $created{$outfile} = 1; - } - } else { - $et->Unlink($outfile) unless $append; # don't keep empty output files - } - undef $comma; - } - ++$count; -} - -#------------------------------------------------------------------------------ -# Set information in file -# Inputs: 0) ExifTool object reference, 1) source file name -# 2) original source file name ('' to create from scratch) -# Returns: true on success -sub SetImageInfo($$$) -{ - my ($et, $file, $orig) = @_; - my ($outfile, $restored, $isTemporary, $isStdout, $outType, $tagsFromSrc); - my ($hardLink, $symLink, $testName, $sameFile); - my $infile = $file; # save infile in case we change it again - - # clean up old temporary file if necessary - if (defined $tmpFile) { - $et->Unlink($tmpFile); - undef $tmpFile; - } - # clear any existing errors or warnings since we check these on return - delete $$et{VALUE}{Error}; - delete $$et{VALUE}{Warning}; - - # first, try to determine our output file name so we can return quickly - # if it already exists (note: this test must be delayed until after we - # set tags from dynamic files if writing FileName or Directory) - if (defined $outOpt) { - if ($outOpt =~ /^-(\.\w+)?$/) { - # allow output file type to be specified with "-o -.EXT" - $outType = GetFileType($outOpt) if $1; - $outfile = '-'; - $isStdout = 1; - } else { - $outfile = FilenameSPrintf($outOpt, $orig); - if ($outfile eq '') { - Warn "Error: Can't create file with zero-length name from $orig\n"; - EFile($infile); - ++$countBadCr; - return 0; - } - } - if (not $isStdout and (($et->IsDirectory($outfile) and not $listDir) or $outfile =~ /\/$/)) { - $outfile .= '/' unless $outfile =~ /\/$/; - my $name = $file; - $name =~ s/^.*\///s; # remove directory name - $outfile .= $name; - } else { - my $srcType = GetFileType($file) || ''; - $outType or $outType = GetFileType($outfile); - if ($outType and ($srcType ne $outType or $outType eq 'ICC') and $file ne '-') { - unless (CanCreate($outType)) { - my $what = $srcType ? 'other types' : 'scratch'; - WarnOnce "Error: Can't create $outType files from $what\n"; - EFile($infile); - ++$countBadCr; - return 0; - } - if ($file ne '') { - # restore previous new values unless done already - $et->RestoreNewValues() unless $restored; - $restored = 1; - # translate to this type by setting specified tags from file - my @setTags = @tags; - foreach (@exclude) { - push @setTags, "-$_"; - } - # force some tags to be copied for certain file types - my %forceCopy = ( - ICC => 'ICC_Profile', - VRD => 'CanonVRD', - DR4 => 'CanonDR4', - ); - push @setTags, $forceCopy{$outType} if $forceCopy{$outType}; - # assume "-tagsFromFile @" unless -tagsFromFile already specified - # (%setTags won't be empty if -tagsFromFile used) - if (not %setTags or (@setTags and not $setTags{'@'})) { - return 0 unless DoSetFromFile($et, $file, \@setTags); - } elsif (@setTags) { - # add orphaned tags to existing "-tagsFromFile @" for this file only - push @setTags, @{$setTags{'@'}}; - $tagsFromSrc = \@setTags; - } - # all done with source file -- create from meta information alone - $file = ''; - } - } - } - unless ($isStdout) { - $outfile = NextUnusedFilename($outfile); - if ($et->Exists($outfile, 1) and not $doSetFileName) { - Warn "Error: '${outfile}' already exists - $infile\n"; - EFile($infile); - ++$countBadWr; - return 0; - } - } - } elsif ($file eq '-') { - $isStdout = 1; - } - # set tags from destination file if required - if (@dynamicFiles) { - # restore previous values if necessary - $et->RestoreNewValues() unless $restored; - my ($dyFile, %setTagsIndex); - foreach $dyFile (@dynamicFiles) { - if (not ref $dyFile) { - my ($fromFile, $setTags); - if ($dyFile eq '@') { - $fromFile = $orig; - $setTags = $tagsFromSrc || $setTags{$dyFile}; - } else { - $fromFile = FilenameSPrintf($dyFile, $orig); - defined $fromFile or EFile($infile), ++$countBadWr, return 0; - $setTags = $setTags{$dyFile}; - } - # do we have multiple -tagsFromFile options with this file? - if ($setTagsList{$dyFile}) { - # use the tags set in the i-th occurrence - my $i = $setTagsIndex{$dyFile} || 0; - $setTagsIndex{$dyFile} = $i + 1; - $setTags = $setTagsList{$dyFile}[$i] if $setTagsList{$dyFile}[$i]; - } - # set new values values from file - return 0 unless DoSetFromFile($et, $fromFile, $setTags); - } elsif (ref $dyFile eq 'ARRAY') { - # a dynamic file containing a simple tag value - my $fname = FilenameSPrintf($$dyFile[1], $orig); - my ($buff, $rtn, $wrn); - my $opts = $$dyFile[2]; - if (defined $fname and SlurpFile($fname, \$buff)) { - $verbose and print $vout "Reading $$dyFile[0] from $fname\n"; - ($rtn, $wrn) = $et->SetNewValue($$dyFile[0], $buff, %$opts); - $wrn and Warn "$wrn\n"; - } - # remove this tag if we couldn't set it properly - $rtn or $et->SetNewValue($$dyFile[0], undef, Replace => 2, - ProtectSaved => $$opts{ProtectSaved}); - next; - } elsif (ref $dyFile eq 'SCALAR') { - # set new values from CSV or JSON database - my ($f, $found, $csvTag, $tryTag, $tg); - undef $evalWarning; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - # force UTF-8 if the database was JSON - my $old = $et->Options('Charset'); - $et->Options(Charset => 'UTF8') if $csv eq 'JSON'; - # read tags for SourceFile '*' plus the specific file - foreach $f ('*', MyConvertFileName($et, $file)) { - my $csvInfo = $database{$f}; - unless ($csvInfo) { - next if $f eq '*'; - # check absolute path - # (punt on using ConvertFileName here, so $absPath may be a mix of encodings) - my $absPath = AbsPath($f); - next unless defined $absPath and $csvInfo = $database{$absPath}; - } - $found = 1; - if ($verbose) { - print $vout "Setting new values from $csv database\n"; - print $vout 'Including tags: ',join(' ',@tags),"\n" if @tags; - print $vout 'Excluding tags: ',join(' ',@exclude),"\n" if @exclude; - } - my @tryTags = (@exclude, @tags); # (exclude first because it takes priority) - foreach (@tryTags) { - tr/-0-9a-zA-Z_:#?*//dc; # remove illegal characters - s/(^|:)(all:)+/$1/ig; # remove 'all' group names - s/(^|:)all(#?)$/$1*$2/i; # convert 'all' tag name to '*' - tr/?/./; s/\*/.*/g; # convert wildcards for regex - } - foreach $csvTag (OrderedKeys($csvInfo)) { - # don't write SourceFile, Directory or FileName - next if $csvTag =~ /^([-_0-9A-Z]+:)*(SourceFile|Directory|FileName)$/i; - if (@tryTags) { - my ($i, $tryGrp, $matched); -TryMatch: for ($i=0; $i<@tryTags; ++$i) { - $tryTag = $tryTags[$i]; - if ($tryTag =~ /:/) { - next unless $csvTag =~ /:/; # db entry must also specify group - my @csvGrps = split /:/, $csvTag; - my @tryGrps = split /:/, $tryTag; - my $tryName = pop @tryGrps; - next unless pop(@csvGrps) =~ /^$tryName$/i; # tag name must match - foreach $tryGrp (@tryGrps) { - # each specified group name must match db entry - next TryMatch unless grep /^$tryGrp$/i, @csvGrps; - } - $matched = 1; - last; - } - # no group specified, so match by tag name only - $csvTag =~ /^([-_0-9A-Z]+:)*$tryTag$/i and $matched = 1, last; - } - next if $matched ? $i < @exclude : @tags; - } - my ($rtn, $wrn) = $et->SetNewValue($csvTag, $$csvInfo{$csvTag}, - Protected => 1, AddValue => $csvAdd, - ProtectSaved => $csvSaveCount); - $wrn and Warn "$wrn\n" if $verbose; - } - } - $et->Options(Charset => $old) if $csv eq 'JSON'; - unless ($found) { - Warn("No SourceFile '${file}' in imported $csv database\n"); - my $absPath = AbsPath($file); - Warn("(full path: '${absPath}')\n") if defined $absPath and $absPath ne $file; - return 0; - } - } - } - } - if ($isStdout) { - # write to STDOUT - $outfile = \*STDOUT; - unless ($binaryStdout) { - binmode(STDOUT); - $binaryStdout = 1; - } - } else { - # get name of hard link if we are creating one - $hardLink = $et->GetNewValues('HardLink'); - $symLink = $et->GetNewValues('SymLink'); - $testName = $et->GetNewValues('TestName'); - $hardLink = FilenameSPrintf($hardLink, $orig) if defined $hardLink; - $symLink = FilenameSPrintf($symLink, $orig) if defined $symLink; - # determine what our output file name should be - my $newFileName = $et->GetNewValues('FileName'); - my $newDir = $et->GetNewValues('Directory'); - if (defined $newFileName and not length $newFileName) { - Warning($et,"New file name is empty - $infile"); - undef $newFileName; - } - if (defined $testName) { - my $err; - $err = "You shouldn't write FileName or Directory with TestFile" if defined $newFileName or defined $newDir; - $err = "The -o option shouldn't be used with TestFile" if defined $outfile; - $err and Warn("Error: $err - $infile\n"), EFile($infile), ++$countBadWr, return 0; - $testName = FilenameSPrintf($testName, $orig); - $testName = Image::ExifTool::GetNewFileName($file, $testName) if $file ne ''; - } - if (defined $newFileName or defined $newDir or ($doSetFileName and defined $outfile)) { - if ($newFileName) { - $newFileName = FilenameSPrintf($newFileName, $orig); - if (defined $outfile) { - $outfile = Image::ExifTool::GetNewFileName($file, $outfile) if $file ne ''; - $outfile = Image::ExifTool::GetNewFileName($outfile, $newFileName); - } elsif ($file ne '') { - $outfile = Image::ExifTool::GetNewFileName($file, $newFileName); - } - } - if ($newDir) { - $newDir = FilenameSPrintf($newDir, $orig); - $outfile = Image::ExifTool::GetNewFileName(defined $outfile ? $outfile : $file, $newDir); - } - $outfile = NextUnusedFilename($outfile, $infile); - if ($et->Exists($outfile, 1)) { - if ($infile eq $outfile) { - undef $outfile; # not changing the file name after all - # (allow for case-insensitive filesystems) - } elsif ($et->IsSameFile($infile, $outfile)) { - $sameFile = $outfile; # same file, but the name has a different case - } else { - Warn "Error: '${outfile}' already exists - $infile\n"; - EFile($infile); - ++$countBadWr; - return 0; - } - } - } - if (defined $outfile) { - defined $verbose and print $vout "'${infile}' --> '${outfile}'\n"; - # create output directory if necessary - CreateDirectory($outfile); - # set temporary file (automatically erased on abnormal exit) - $tmpFile = $outfile if defined $outOpt; - } - unless (defined $tmpFile) { - # count the number of tags and pseudo-tags we are writing - my ($numSet, $numPseudo) = $et->CountNewValues(); - if ($numSet != $numPseudo and $et->IsDirectory($file)) { - print $vout "Can't write real tags to a directory - $infile\n" if defined $verbose; - $numSet = $numPseudo; - } - if ($et->Exists($file)) { - unless ($numSet) { - # no need to write if no tags set - print $vout "Nothing changed in $file\n" if defined $verbose; - EFile($infile, 1); - ++$countSameWr; - return 1; - } - } elsif (CanCreate($file)) { - if ($numSet == $numPseudo) { - # no need to write if no real tags - Warn("Error: Nothing to write - $file\n"); - EFile($infile, 1); - ++$countBadWr; - return 0; - } - unless (defined $outfile) { - # create file from scratch - $outfile = $file; - $file = ''; - } - } else { - # file doesn't exist, and we can't create it - Warn "Error: File not found - $file\n"; - EFile($infile); - FileNotFound($file); - ++$countBadWr; - return 0; - } - # quickly rename file and/or set file date if this is all we are doing - if ($numSet == $numPseudo) { - my ($r0, $r1, $r2, $r3) = (0, 0, 0, 0); - if (defined $outfile) { - $r0 = $et->SetFileName($file, $outfile); - $file = $$et{NewName} if $r0 > 0; # continue with new name if changed - } - unless ($r0 < 0) { - $r1 = $et->SetFileModifyDate($file,undef,'FileCreateDate'); - $r2 = $et->SetFileModifyDate($file); - $r3 = $et->SetSystemTags($file); - } - if ($r0 > 0 or $r1 > 0 or $r2 > 0 or $r3 > 0) { - EFile($infile, 3); - ++$countGoodWr; - } elsif ($r0 < 0 or $r1 < 0 or $r2 < 0 or $r3 < 0) { - EFile($infile); - ++$countBadWr; - return 0; - } else { - EFile($infile, 1); - ++$countSameWr; - } - if (defined $hardLink or defined $symLink or defined $testName) { - DoHardLink($et, $file, $hardLink, $symLink, $testName); - } - return 1; - } - if (not defined $outfile or defined $sameFile) { - # write to a truly temporary file - $outfile = "${file}_exiftool_tmp"; - if ($et->Exists($outfile)) { - Warn("Error: Temporary file already exists: $outfile\n"); - EFile($infile); - ++$countBadWr; - return 0; - } - $isTemporary = 1; - } - # new output file is temporary until we know it has been written properly - $tmpFile = $outfile; - } - } - # rewrite the file - my $success = $et->WriteInfo(Infile($file), $outfile, $outType); - - # create hard link if specified - if ($success and (defined $hardLink or defined $symLink or defined $testName)) { - my $src = defined $outfile ? $outfile : $file; - DoHardLink($et, $src, $hardLink, $symLink, $testName); - } - - # get file time if preserving it - my ($aTime, $mTime, $cTime, $doPreserve); - $doPreserve = $preserveTime unless $file eq ''; - if ($doPreserve and $success) { - ($aTime, $mTime, $cTime) = $et->GetFileTime($file); - # don't override date/time values written by the user - undef $cTime if $$et{WRITTEN}{FileCreateDate}; - if ($$et{WRITTEN}{FileModifyDate} or $doPreserve == 2) { - if (defined $cTime) { - undef $aTime; # only preserve FileCreateDate - undef $mTime; - } else { - undef $doPreserve; # (nothing to preserve) - } - } - } - - if ($success == 1) { - # preserve the original file times - if (defined $tmpFile) { - if ($et->Exists($file)) { - $et->SetFileTime($tmpFile, $aTime, $mTime, $cTime) if $doPreserve; - if ($isTemporary) { - # preserve original file attributes if possible - $et->CopyFileAttrs($file, $outfile); - # move original out of the way - my $original = "${file}_original"; - if (not $overwriteOrig and not $et->Exists($original)) { - # rename the file and check again to be sure the file doesn't exist - # (in case, say, the filesystem truncated the file extension) - if (not $et->Rename($file, $original) or $et->Exists($file)) { - Error "Error renaming $file\n"; - return 0; - } - } - my $dstFile = defined $sameFile ? $sameFile : $file; - if ($overwriteOrig > 1) { - # copy temporary file over top of original to preserve attributes - my ($err, $buff); - my $newFile = $tmpFile; - $et->Open(\*NEW_FILE, $newFile) or Error("Error opening $newFile\n"), return 0; - binmode(NEW_FILE); - - #.......................................................... - # temporarily disable CTRL-C during this critical operation - $critical = 1; - undef $tmpFile; # handle deletion of temporary file ourself - if ($et->Open(\*ORIG_FILE, $file, '+<')) { - binmode(ORIG_FILE); - while (read(NEW_FILE, $buff, 65536)) { - print ORIG_FILE $buff or $err = 1; - } - close(NEW_FILE); - # Handle files being shorter than the original - eval { truncate(ORIG_FILE, tell(ORIG_FILE)) } or $err = 1; - close(ORIG_FILE) or $err = 1; - if ($err) { - Warn "Couldn't overwrite in place - $file\n"; - unless ($et->Rename($newFile, $file) or - ($et->Unlink($file) and $et->Rename($newFile, $file))) - { - Error("Error renaming $newFile to $file\n"); - undef $critical; - SigInt() if $interrupted; - return 0; - } - } else { - $et->SetFileModifyDate($file, $cTime, 'FileCreateDate', 1); - $et->SetFileModifyDate($file, $mTime, 'FileModifyDate', 1); - $et->Unlink($newFile); - if ($doPreserve) { - $et->SetFileTime($file, $aTime, $mTime, $cTime); - # save time to set it later again to patch OS X 10.6 bug - $preserveTime{$file} = [ $aTime, $mTime, $cTime ]; - } - } - EFile($infile, 3); - ++$countGoodWr; - } else { - close(NEW_FILE); - Warn "Error opening $file for writing\n"; - EFile($infile); - $et->Unlink($newFile); - ++$countBadWr; - } - undef $critical; # end critical section - SigInt() if $interrupted; # issue delayed SIGINT if necessary - #.......................................................... - - # simply rename temporary file to replace original - # (if we didn't already rename it to add "_original") - } elsif ($et->Rename($tmpFile, $dstFile)) { - EFile($infile, 3); - ++$countGoodWr; - } else { - my $newFile = $tmpFile; - undef $tmpFile; # (avoid deleting file if we get interrupted) - # unlink may fail if already renamed or no permission - if (not $et->Unlink($file)) { - Warn "Error renaming temporary file to $dstFile\n"; - EFile($infile); - $et->Unlink($newFile); - ++$countBadWr; - # try renaming again now that the target has been deleted - } elsif (not $et->Rename($newFile, $dstFile)) { - Warn "Error renaming temporary file to $dstFile\n"; - EFile($infile); - # (don't delete tmp file now because it is all we have left) - ++$countBadWr; - } else { - EFile($infile, 3); - ++$countGoodWr; - } - } - } elsif ($overwriteOrig) { - # erase original file - EFile($infile, 3); - $et->Unlink($file) or Warn "Error erasing original $file\n"; - ++$countGoodWr; - } else { - EFile($infile, 4); - ++$countGoodCr; - } - } else { - # this file was created from scratch, not edited - EFile($infile, 4); - ++$countGoodCr; - } - } else { - EFile($infile, 3); - ++$countGoodWr; - } - } elsif ($success) { - EFile($infile, 1); - if ($isTemporary) { - # just erase the temporary file since no changes were made - $et->Unlink($tmpFile); - ++$countSameWr; - } else { - $et->SetFileTime($outfile, $aTime, $mTime, $cTime) if $doPreserve; - if ($overwriteOrig) { - $et->Unlink($file) or Warn "Error erasing original $file\n"; - } - ++$countCopyWr; - } - print $vout "Nothing changed in $file\n" if defined $verbose; - } else { - EFile($infile); - $et->Unlink($tmpFile) if defined $tmpFile; - ++$countBadWr; - } - undef $tmpFile; - return $success; -} - -#------------------------------------------------------------------------------ -# Make hard link and handle TestName if specified -# Inputs: 0) ExifTool ref, 1) source file name, 2) HardLink name, -# 3) SymLink name, 4) TestFile name -sub DoHardLink($$$$$) -{ - my ($et, $src, $hardLink, $symLink, $testName) = @_; - if (defined $hardLink) { - $hardLink = NextUnusedFilename($hardLink); - if ($et->SetFileName($src, $hardLink, 'Link') > 0) { - $countLink{Hard} = ($countLink{Hard} || 0) + 1; - } else { - $countLink{BadHard} = ($countLink{BadHard} || 0) + 1; - } - } - if (defined $symLink) { - $symLink = NextUnusedFilename($symLink); - if ($et->SetFileName($src, $symLink, 'SymLink') > 0) { - $countLink{Sym} = ($countLink{Sym} || 0) + 1; - } else { - $countLink{BadSym} = ($countLink{BadSym} || 0) + 1; - } - } - if (defined $testName) { - $testName = NextUnusedFilename($testName, $src); - if ($usedFileName{$testName}) { - $et->Warn("File '${testName}' would exist"); - } elsif ($et->SetFileName($src, $testName, 'Test', $usedFileName{$testName}) == 1) { - $usedFileName{$testName} = 1; - $usedFileName{$src} = 0; - } - } -} - -#------------------------------------------------------------------------------ -# Clean string for XML (also removes invalid control chars and malformed UTF-8) -# Inputs: 0) string ref -# Returns: nothing, but input string is escaped -sub CleanXML($) -{ - my $strPt = shift; - # translate control characters that are invalid in XML - $$strPt =~ tr/\0-\x08\x0b\x0c\x0e-\x1f/./; - # fix malformed UTF-8 characters - Image::ExifTool::XMP::FixUTF8($strPt) unless $altEnc; - # escape necessary characters for XML - $$strPt = Image::ExifTool::XMP::EscapeXML($$strPt); -} - -#------------------------------------------------------------------------------ -# Encode string for XML -# Inputs: 0) string ref -# Returns: encoding used (and input string is translated) -sub EncodeXML($) -{ - my $strPt = shift; - if ($$strPt =~ /[\0-\x08\x0b\x0c\x0e-\x1f]/ or - (not $altEnc and Image::ExifTool::IsUTF8($strPt) < 0)) - { - # encode binary data and non-UTF8 with special characters as base64 - $$strPt = Image::ExifTool::XMP::EncodeBase64($$strPt); - # #ATV = Alexander Vonk, private communication - return 'http://www.w3.org/2001/XMLSchema#base64Binary'; #ATV - } elsif ($escapeHTML) { - $$strPt = Image::ExifTool::HTML::EscapeHTML($$strPt, $altEnc); - } else { - $$strPt = Image::ExifTool::XMP::EscapeXML($$strPt); - } - return ''; # not encoded -} - -#------------------------------------------------------------------------------ -# Format value for XML output -# Inputs: 0) value, 1) indentation, 2) group -# Returns: formatted value -sub FormatXML($$$) -{ - local $_; - my ($val, $ind, $grp) = @_; - my $gt = '>'; - if (ref $val eq 'ARRAY') { - # convert ARRAY into an rdf:Bag - my $val2 = "\n$ind "; - foreach (@$val) { - $val2 .= "\n$ind "; - } - $val = "$val2\n$ind \n$ind"; - } elsif (ref $val eq 'HASH') { - $gt = " rdf:parseType='Resource'>"; - my $val2 = ''; - foreach (OrderedKeys($val)) { - # (some variable-namespace XML structure fields may have a different group) - my ($ns, $tg) = ($grp, $_); - if (/^(.*?):(.*)/) { - if ($grp eq 'JSON') { - $tg =~ tr/:/_/; # colons in JSON structure elements are not namespaces - } else { - ($ns, $tg) = ($1, $2); - } - } - # validate XML attribute name - my $name; - foreach $name ($ns, $tg) { - # make sure name is valid for XML - $name =~ tr/-_A-Za-z0-9.//dc; - $name = '_' . $name if $name !~ /^[_A-Za-z]/; - } - my $tok = $ns . ':' . $tg; - $val2 .= "\n$ind <$tok" . FormatXML($$val{$_}, "$ind ", $grp) . ""; - } - $val = "$val2\n$ind"; - } else { - # (note: SCALAR reference should have already been converted) - my $enc = EncodeXML(\$val); - $gt = " rdf:datatype='${enc}'>\n" if $enc; #ATV - } - return $gt . $val; -} - -#------------------------------------------------------------------------------ -# Escape string for JSON or PHP -# Inputs: 0) string, 1) flag to force numbers to be quoted too -# Returns: Escaped string (quoted if necessary) -sub EscapeJSON($;$) -{ - my ($str, $quote) = @_; - unless ($quote) { - # JSON boolean (true or false) - return lc($str) if $str =~ /^(true|false)$/i and $json < 2; - # JSON/PHP number (see json.org for numerical format) - # return $str if $str =~ /^-?(\d|[1-9]\d+)(\.\d+)?(e[-+]?\d+)?$/i; - # (these big numbers caused problems for some JSON parsers, so be more conservative) - return $str if $str =~ /^-?(\d|[1-9]\d{1,14})(\.\d{1,16})?(e[-+]?\d{1,3})?$/i; - } - # encode JSON string in base64 if necessary - if ($json < 2 and defined $binaryOutput and Image::ExifTool::IsUTF8(\$str) < 0) { - return '"base64:' . Image::ExifTool::XMP::EncodeBase64($str, 1) . '"'; - } - # escape special characters - $str =~ s/(["\t\n\r\\])/\\$jsonChar{$1}/sg; - if ($json < 2) { # JSON - $str =~ tr/\0//d; # remove all nulls - # escape other control characters with \u - $str =~ s/([\0-\x1f\x7f])/sprintf("\\u%.4X",ord $1)/sge; - # JSON strings must be valid UTF8 - Image::ExifTool::XMP::FixUTF8(\$str) unless $altEnc; - } else { # PHP - $str =~ s/\0+$// unless $isBinary; # remove trailing nulls unless binary - # must escape "$" too for PHP - $str =~ s/\$/\\\$/sg; - # escape other control characters with \x - $str =~ s/([\0-\x1f\x7f])/sprintf("\\x%.2X",ord $1)/sge; - } - return '"' . $str . '"'; # return the quoted string -} - -#------------------------------------------------------------------------------ -# Print JSON or PHP value -# Inputs: 0) file reference, 1) value, 2) indentation, 3) true to quote numbers -sub FormatJSON($$$;$) -{ - local $_; - my ($fp, $val, $ind, $quote) = @_; - my $comma; - if (not ref $val) { - print $fp EscapeJSON($val, $quote); - } elsif (ref $val eq 'ARRAY') { - if ($joinLists and not ref $$val[0]) { - print $fp EscapeJSON(join($listSep, @$val), $quote); - } else { - my ($bra, $ket) = $json == 1 ? ('[',']') : ('Array(',')'); - print $fp $bra; - foreach (@$val) { - print $fp ',' if $comma; - FormatJSON($fp, $_, $ind, $quote); - $comma = 1, - } - print $fp $ket, - } - } elsif (ref $val eq 'HASH') { - my ($bra, $ket, $sep) = $json == 1 ? ('{','}',':') : ('Array(',')',' =>'); - print $fp $bra; - foreach (OrderedKeys($val)) { - print $fp ',' if $comma; - my $key = EscapeJSON($_, 1); - print $fp qq(\n$ind $key$sep ); - # hack to force decimal id's to be printed as strings with -H - if ($showTagID and $_ eq 'id' and $showTagID eq 'H' and $$val{$_} =~ /^\d+\.\d+$/) { - print $fp qq{"$$val{$_}"}; - } else { - FormatJSON($fp, $$val{$_}, "$ind ", $quote); - } - $comma = 1, - } - print $fp "\n$ind$ket", - } else { - # (note: SCALAR reference should have already been converted) - print $fp '""'; - } -} - -#------------------------------------------------------------------------------ -# Format value for CSV file -# Inputs: value -# Returns: value quoted if necessary -sub FormatCSV($) -{ - my $val = shift; - # check for valid encoding if the Charset option was used - if ($setCharset and ($val =~ /[^\x09\x0a\x0d\x20-\x7e\x80-\xff]/ or - ($setCharset eq 'UTF8' and Image::ExifTool::IsUTF8(\$val) < 0))) - { - $val = 'base64:' . Image::ExifTool::XMP::EncodeBase64($val, 1); - } - # currently, there is a chance that the value may contain NULL characters unless - # the -b option is used to encode as Base64. It is unclear whether or not this - # is valid CSV, but some readers may not like it. (If this becomes a problem, - # in the future values may need to be truncated at the first NULL character.) - $val = qq{"$val"} if $val =~ s/"/""/g or $val =~ /(^\s+|\s+$)/ or $val =~ /[\n\r]|\Q$csvDelim/; - return $val; -} - -#------------------------------------------------------------------------------ -# Print accumulated CSV information -# Inputs: 0) file ref -sub PrintCSV(;$) -{ - my $fp = shift || \*STDOUT; - my ($file, $lcTag, @tags); - - @csvTags or @csvTags = sort keys %csvTags; - # make a list of tags actually found - foreach $lcTag (@csvTags) { - push @tags, FormatCSV($csvTags{$lcTag}) if $csvTags{$lcTag}; - } - print $fp join($csvDelim, 'SourceFile', @tags), "\n"; - my $empty = defined($forcePrint) ? $forcePrint : ''; - foreach $file (@csvFiles) { - my @vals = (FormatCSV($file)); # start with full file name - my $csvInfo = $database{$file}; - foreach $lcTag (@csvTags) { - next unless $csvTags{$lcTag}; - my $val = $$csvInfo{$lcTag}; - defined $val or push(@vals,$empty), next; - push @vals, FormatCSV($val); - } - print $fp join($csvDelim, @vals), "\n"; - } -} - -#------------------------------------------------------------------------------ -# Add tag groups from structure fields to a list for xmlns -# Inputs: 0) tag value, 1) parent group, 2) group hash ref, 3) group list ref -sub AddGroups($$$$) -{ - my ($val, $grp, $groupHash, $groupList) = @_; - my ($key, $val2); - if (ref $val eq 'HASH') { - foreach $key (sort keys %$val) { - if ($key =~ /^(.*?):/ and not $$groupHash{$1} and $grp ne 'JSON') { - $$groupHash{$1} = $grp; - push @$groupList, $1; - } - AddGroups($$val{$key}, $grp, $groupHash, $groupList) if ref $$val{$key}; - } - } elsif (ref $val eq 'ARRAY') { - foreach $val2 (@$val) { - AddGroups($val2, $grp, $groupHash, $groupList) if ref $val2; - } - } -} - -#------------------------------------------------------------------------------ -# Convert binary data (SCALAR references) for printing -# Inputs: 0) object reference -# Returns: converted object, or undef if we don't want binary objects -sub ConvertBinary($) -{ - my $obj = shift; - my ($key, $val); - if (ref $obj eq 'HASH') { - foreach $key (keys %$obj) { - next unless ref $$obj{$key}; - $$obj{$key} = ConvertBinary($$obj{$key}); - return undef unless defined $$obj{$key}; - } - } elsif (ref $obj eq 'ARRAY') { - foreach $val (@$obj) { - next unless ref $val; - $val = ConvertBinary($val); - return undef unless defined $val; - } - } elsif (ref $obj eq 'SCALAR') { - return undef if $noBinary; - # (binaryOutput flag is set to 0 for binary mode of XML/PHP/JSON output formats) - if (defined $binaryOutput) { - $obj = $$obj; - # encode in base64 if necessary (0xf7 allows for up to 21-bit UTF-8 code space) - if ($json == 1 and ($obj =~ /[^\x09\x0a\x0d\x20-\x7e\x80-\xf7]/ or - Image::ExifTool::IsUTF8(\$obj) < 0)) - { - $obj = 'base64:' . Image::ExifTool::XMP::EncodeBase64($obj, 1); - } - } else { - # (-b is not valid for HTML output) - my $bOpt = $html ? '' : ', use -b option to extract'; - if ($$obj =~ /^Binary data \d+ bytes$/) { - $obj = "($$obj$bOpt)"; - } else { - $obj = '(Binary data ' . length($$obj) . " bytes$bOpt)"; - } - } - } - return $obj; -} - -#------------------------------------------------------------------------------ -# Compare ValueConv and PrintConv values of a tag to see if they are equal -# Inputs: 0) value1, 1) value2 -# Returns: true if they are equal -sub IsEqual($$) -{ - my ($a, $b) = @_; - # (scalar values are not print-converted) - return 1 if $a eq $b or ref $a eq 'SCALAR'; - if (ref $a eq 'HASH' and ref $b eq 'HASH') { - return 0 if scalar(keys %$a) != scalar(keys %$b); - my $key; - foreach $key (keys %$a) { - return 0 unless IsEqual($$a{$key}, $$b{$key}); - } - } else { - return 0 if ref $a ne 'ARRAY' or ref $b ne 'ARRAY' or @$a != @$b; - my $i; - for ($i=0; $inew($str) }; - if ($gcstr) { - $len = $gcstr->columns; - } else { - $len = length $str; - delete $SIG{'__WARN__'}; - Warning($mt, 'Unicode::GCString problem. Columns may be misaligned'); - $fixLen = 1; - } - } - return $len; -} - -#------------------------------------------------------------------------------ -# Add tag list for copying tags from specified file -# Inputs: 0) set tags file name (or FMT), 1) options for SetNewValuesFromFile() -# Returns: nothing -# Notes: Uses global variables: %setTags, %setTagsList, @newValues, $saveCount -sub AddSetTagsFile($;$) -{ - my ($setFile, $opts) = @_; - if ($setTags{$setFile}) { - # move these tags aside and make a new list for the next invocation of this file - $setTagsList{$setFile} or $setTagsList{$setFile} = [ ]; - push @{$setTagsList{$setFile}}, $setTags{$setFile}; - } - $setTags{$setFile} = []; # create list for tags to copy from this file - # insert marker to save new values now (necessary even if this is not a dynamic - # file in case the same file is source'd multiple times in a single command) - push @newValues, { SaveCount => ++$saveCount }, "TagsFromFile=$setFile"; - # add option to protect the tags which are assigned after this - # (this is the mechanism by which the command-line order-of-operations is preserved) - $opts or $opts = { }; - $$opts{ProtectSaved} = $saveCount; - push @{$setTags{$setFile}}, $opts; -} - -#------------------------------------------------------------------------------ -# Get input file name or reference for calls to the ExifTool API -# Inputs: 0) file name ('-' for STDIN), 1) flag to buffer STDIN -# Returns: file name, or RAF reference for buffering STDIN -sub Infile($;$) -{ - my ($file, $bufferStdin) = @_; - if ($file eq '-' and ($bufferStdin or $rafStdin)) { - if ($rafStdin) { - $rafStdin->Seek(0); # rewind - } elsif (open RAF_STDIN, '-') { - $rafStdin = File::RandomAccess->new(\*RAF_STDIN); - $rafStdin->BinMode(); - } - return $rafStdin if $rafStdin; - } - return $file; -} - -#------------------------------------------------------------------------------ -# Issue warning to stderr, adding leading "Warning: " and trailing newline -# if the warning isn't suppressed by the API NoWarning option -# Inputs: 0) ExifTool ref, 1) warning string -sub Warning($$) -{ - my ($et, $str) = @_; - my $noWarn = $et->Options('NoWarning'); - if (not defined $noWarn or not eval { $str =~ /$noWarn/ }) { - Warn "Warning: $str\n"; - } -} - -#------------------------------------------------------------------------------ -# Set new values from file -# Inputs: 0) ExifTool ref, 1) filename, 2) reference to list of values to set -# Returns: 0 on error (and increments $countBadWr) -sub DoSetFromFile($$$) -{ - local $_; - my ($et, $file, $setTags) = @_; - $verbose and print $vout "Setting new values from $file\n"; - my $info = $et->SetNewValuesFromFile(Infile($file,1), @$setTags); - my $numSet = scalar(keys %$info); - if ($$info{Error}) { - # delete all error and warning tags - my @warns = grep /^(Error|Warning)\b/, keys %$info; - $numSet -= scalar(@warns); - # issue a warning only for the main error - my $err = $$info{Error}; - delete $$info{$_} foreach @warns; - my $noWarn = $et->Options('NoWarning'); - $$info{Warning} = $err unless defined $noWarn and eval { $err =~ /$noWarn/ }; - } elsif ($$info{Warning}) { - my $warns = 1; - ++$warns while $$info{"Warning ($warns)"}; - $numSet -= $warns; - } - PrintErrors($et, $info, $file) and EFile($file), ++$countBadWr, return 0; - Warning($et,"No writable tags set from $file") unless $numSet; - return 1; -} - -#------------------------------------------------------------------------------ -# Translate backslashes to forward slashes in filename if necessary -# Inputs: 0) Filename -# Returns: nothing, but changes filename if necessary -sub CleanFilename($) -{ - $_[0] =~ tr/\\/\// if Image::ExifTool::IsPC(); -} - -#------------------------------------------------------------------------------ -# Does path name contain wildcards -# Inputs: 0) path name -# Returns: true if path contains wildcards -sub HasWildcards($) -{ - my $path = shift; - - # if this is a Windows path with the long path prefix, then wildcards are not supported - return 0 if $^O eq 'MSWin32' and $path =~ m{^[\\/]{2}\?[\\/]}; - return $path =~ /[*?]/; -} - -#------------------------------------------------------------------------------ -# Check for valid UTF-8 of a file name -# Inputs: 0) string, 1) original encoding -# Returns: 0=plain ASCII, 1=valid UTF-8, -1=invalid UTF-8 (and print warning) -sub CheckUTF8($$) -{ - my ($file, $enc) = @_; - my $isUTF8 = 0; - if ($file =~ /[\x80-\xff]/) { - $isUTF8 = Image::ExifTool::IsUTF8(\$file); - if ($isUTF8 < 0) { - if ($enc) { - Warn("Invalid filename encoding for $file\n"); - } elsif (not defined $enc) { - WarnOnce(qq{FileName encoding not specified. Use "-charset FileName=CHARSET"\n}); - } - } - } - return $isUTF8; -} - -#------------------------------------------------------------------------------ -# Set window title -# Inputs: title string or '' to reset title -sub SetWindowTitle($) -{ - my $title = shift; - if ($curTitle ne $title) { - $curTitle = $title; - if ($^O eq 'MSWin32') { - $title =~ s/([&\/\?:|"<>])/^$1/g; # escape special chars - eval { system qq{title $title} }; - } else { - # (this only works for XTerm terminals, and STDERR must go to the console) - printf STDERR "\033]0;%s\007", $title; - } - } -} - -#------------------------------------------------------------------------------ -# Process files in our @files list -# Inputs: 0) ExifTool ref, 1) list ref to just return full file names -sub ProcessFiles($;$) -{ - my ($et, $list) = @_; - my $enc = $et->Options('CharsetFileName'); - my $file; - foreach $file (@files) { - $et->Options(CharsetFileName => 'UTF8') if $utf8FileName{$file}; - if (defined $progressMax) { - unless (defined $progressNext) { - $progressNext = $progressCount + $progressIncr; - $progressNext -= $progressNext % $progressIncr; # (show even multiples) - $progressNext = $progressMax if $progressNext > $progressMax; - } - ++$progressCount; - if ($progress) { - if ($progressCount >= $progressNext) { - $progStr = " [$progressCount/$progressMax]"; - } else { - undef $progStr; # don't update progress yet - } - } - } - if ($et->IsDirectory($file) and not $listDir) { - $multiFile = $validFile = 1; - ScanDir($et, $file, $list); - } elsif ($filterFlag and not AcceptFile($file)) { - if ($et->Exists($file)) { - $filtered = 1; - Progress($vout, "-------- $file (wrong extension)") if $verbose; - } else { - Error "Error: File not found - $file\n"; - FileNotFound($file); - } - } else { - $validFile = 1; - if ($list) { - push(@$list, $file); - } else { - if (%endDir) { - my ($d, $f) = Image::ExifTool::SplitFileName($file); - next if $endDir{$d}; - } - GetImageInfo($et, $file); - $end and Warn("End called - $file\n"); - if ($endDir) { - Warn("EndDir called - $file\n"); - my ($d, $f) = Image::ExifTool::SplitFileName($file); - $endDir{$d} = 1; - undef $endDir; - } - } - } - $et->Options(CharsetFileName => $enc) if $utf8FileName{$file}; - last if $end; - } -} - -#------------------------------------------------------------------------------ -# Scan directory for image files -# Inputs: 0) ExifTool ref, 1) directory name, 2) list ref to return file names -sub ScanDir($$;$) -{ - local $_; - my ($et, $dir, $list) = @_; - my (@fileList, $done, $file, $utf8Name, $winSurrogate, $endThisDir); - my $enc = $et->Options('CharsetFileName'); - # recode as UTF-8 if necessary - if ($enc) { - unless ($enc eq 'UTF8') { - $dir = $et->Decode($dir, $enc, undef, 'UTF8'); - $et->Options(CharsetFileName => 'UTF8'); # now using UTF8 - } - $utf8Name = 1; - } - return if $ignore{$dir}; - # use Win32::FindFile on Windows if available - # (ReadDir will croak if there is a wildcard, so check for this) - if ($^O eq 'MSWin32' and not HasWildcards($dir)) { - undef $evalWarning; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };; - if (CheckUTF8($dir, $enc) >= 0) { - if (eval { require Win32::FindFile }) { - eval { - @fileList = Win32::FindFile::ReadDir($dir); - $_ = $_->cFileName foreach @fileList; - }; - $@ and $evalWarning = $@; - if ($evalWarning) { - chomp $evalWarning; - $evalWarning =~ s/ at .*//s; - Warning($et,"[Win32::FindFile] $evalWarning - $dir"); - $winSurrogate = 1 if $evalWarning =~ /surrogate/; - } else { - $et->Options(CharsetFileName => 'UTF8'); # now using UTF8 - $utf8Name = 1; # ReadDir returns UTF-8 file names - $done = 1; - } - } else { - $done = 0; - } - } - } - unless ($done) { - # use standard perl library routines to read directory - unless (opendir(DIR_HANDLE, $dir)) { - Warn("Error opening directory $dir\n"); - return; - } - @fileList = readdir(DIR_HANDLE); - closedir(DIR_HANDLE); - if (defined $done) { - # issue warning if some names would have required Win32::FindFile - foreach $file ($dir, @fileList) { - next unless $file =~ /[\?\x80-\xff]/; - WarnOnce("Install Win32::FindFile to support Windows Unicode file names in directories\n"); - last; - } - } - } - $dir =~ /\/$/ or $dir .= '/'; # make sure directory name ends with '/' - foreach $file (@fileList) { - next if $file eq '.' or $file eq '..'; - my $path = "$dir$file"; - if ($et->IsDirectory($path)) { - next unless $recurse; - # ignore directories starting with "." by default - next if $file =~ /^\./ and $recurse == 1; - next if $ignore{$file} or ($ignore{SYMLINKS} and -l $path); - ScanDir($et, $path, $list); - last if $end; - next; - } - next if $endThisDir; - next if $ignoreHidden and $file =~ /^\./; # ignore hidden files if specified - # apply rules from -ext options - my $accepted; - if ($filterFlag) { - $accepted = AcceptFile($file) or next; - # must be specifically accepted to bypass selection logic - $accepted &= 0x01; - } - unless ($accepted) { - # read/write this file if it is a supported type - if ($scanWritable) { - if ($scanWritable eq '1') { - next unless CanWrite($file); - } else { - my $type = GetFileType($file); - next unless defined $type and $type eq $scanWritable; - } - } elsif (not GetFileType($file)) { - next unless $doUnzip; - next unless $file =~ /\.(gz|bz2)$/i; - } - } - # Windows patch to avoid replacing filename containing Unicode surrogate with 8.3 name - if ($winSurrogate and $isWriting and - (not $overwriteOrig or $overwriteOrig != 2) and - not $doSetFileName and $file =~ /~/) # (8.3 name will contain a tilde) - { - Warn("Not writing $path\n"); - WarnOnce("Use -overwrite_original_in_place to write files with Unicode surrogate characters\n"); - EFile($file); - ++$countBad; - next; - } - $utf8FileName{$path} = 1 if $utf8Name; - if ($list) { - push(@$list, $path); - } else { - GetImageInfo($et, $path); - if ($end) { - Warn("End called - $file\n"); - last; - } - if ($endDir) { - $path =~ s(/$)(); - Warn("EndDir called - $path\n"); - $endDir{$path} = 1; - $endThisDir = 1; - undef $endDir; - } - } - } - ++$countDir; - $et->Options(CharsetFileName => $enc); # restore original setting -} - -#------------------------------------------------------------------------------ -# Find files with wildcard expression on Windows -# Inputs: 0) ExifTool ref, 1) file name with wildcards -# Returns: list of matching file names -# Notes: -# 1) Win32::FindFile must already be loaded -# 2) Sets flag in %utf8FileName for each file found -sub FindFileWindows($$) -{ - my ($et, $wildfile) = @_; - - # recode file name as UTF-8 if necessary - my $enc = $et->Options('CharsetFileName'); - $wildfile = $et->Decode($wildfile, $enc, undef, 'UTF8') if $enc and $enc ne 'UTF8'; - $wildfile =~ tr/\\/\//; # use forward slashes - my ($dir, $wildname) = ($wildfile =~ m{(.*[:/])(.*)}) ? ($1, $2) : ('', $wildfile); - if (HasWildcards($dir)) { - Warn "Wildcards don't work in the directory specification\n"; - return (); - } - CheckUTF8($wildfile, $enc) >= 0 or return (); - undef $evalWarning; - local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] }; - my @files; - eval { - my @names = Win32::FindFile::FindFile($wildfile) or return; - # (apparently this isn't always sorted, so do a case-insensitive sort here) - @names = sort { uc($a) cmp uc($b) } @names; - my ($rname, $nm); - # replace "\?" with ".", and "\*" with ".*" for regular expression - ($rname = quotemeta $wildname) =~ s/\\\?/./g; - $rname =~ s/\\\*/.*/g; - foreach $nm (@names) { - $nm = $nm->cFileName; - # make sure that FindFile behaves - # (otherwise "*.jpg" matches things like "a.jpg_original"!) - next unless $nm =~ /^$rname$/i; - next if $nm eq '.' or $nm eq '..'; # don't match "." and ".." - my $file = "$dir$nm"; # add back directory name - push @files, $file; - $utf8FileName{$file} = 1; # flag this file name as UTF-8 encoded - } - }; - $@ and $evalWarning = $@; - if ($evalWarning) { - chomp $evalWarning; - $evalWarning =~ s/ at .*//s; - Warn "Error: [Win32::FindFile] $evalWarning - $wildfile\n"; - undef @files; - EFile($wildfile); - ++$countBad; - } - return @files; -} - -#------------------------------------------------------------------------------ -# Handle missing file on the command line -# Inputs: 0) file name -sub FileNotFound($) -{ - my $file = shift; - if ($file =~ /^(DIR|FILE)$/) { - my $type = { DIR => 'directory', FILE => 'file' }->{$file}; - Warn qq{You were meant to enter any valid $type name, not "$file" literally.\n}; - } -} - -#------------------------------------------------------------------------------ -# Patch for OS X 10.6 to preserve file modify date -# (this probably isn't a 100% fix, but it may solve a majority of the cases) -sub PreserveTime() -{ - local $_; - $mt->SetFileTime($_, @{$preserveTime{$_}}) foreach keys %preserveTime; - undef %preserveTime; -} - -#------------------------------------------------------------------------------ -# Return absolute path for a file -# Inputs: 0) file name -# Returns: absolute path string, or undef if path could not be determined -# Note: Warnings should be suppressed when calling this routine -sub AbsPath($) -{ - my $file = shift; - my $path; - if (defined $file) { - return undef if $file eq '*'; # (CSV SourceFile may be '*' -- no absolute path for that) - if ($^O eq 'MSWin32' and $mt->Options('WindowsLongPath')) { - $path = $mt->WindowsLongPath($file); - } elsif (eval { require Cwd }) { - local $SIG{'__WARN__'} = sub { }; - $path = eval { Cwd::abs_path($file) }; - } - $path =~ tr/\\/\// if $^O eq 'MSWin32' and defined $path; # use forward slashes - } - return $path; -} - -#------------------------------------------------------------------------------ -# Convert file name to ExifTool Charset -# Inputs: 0) ExifTool ref, 1) file name in CharsetFileName -# Returns: file name in ExifTool Charset -sub MyConvertFileName($$) -{ - my ($et, $file) = @_; - my $enc = $et->Options('CharsetFileName'); - $et->Options(CharsetFileName => 'UTF8') if $utf8FileName{$file}; - my $convFile = $et->ConvertFileName($file); - $et->Options(CharsetFileName => $enc) if $utf8FileName{$file}; - return $convFile; -} - -#------------------------------------------------------------------------------ -# Add print format entry -# Inputs: 0) expression string -sub AddPrintFormat($) -{ - my $expr = shift; - my $type; - if ($expr =~ /^#/) { - $expr =~ s/^#\[(HEAD|SECT|IF|BODY|ENDS|TAIL)\]// or return; # ignore comments - $type = $1; - } else { - $type = 'BODY'; - } - $printFmt{$type} or $printFmt{$type} = [ ]; - push @{$printFmt{$type}}, $expr; - # add to list of requested tags - push @requestTags, $expr =~ /\$\{?((?:[-_0-9A-Z]+:)*[-_0-9A-Z?*]+)/ig; - $printFmt{SetTags} = 1 if $expr =~ /\bSetTags\b/; -} - -#------------------------------------------------------------------------------ -# Get suggested file extension based on tag value for binary output -# Inputs: 0) ExifTool ref, 1) data ref, 2) tag name -# Returns: file extension (lower case), or 'dat' if unknown -sub SuggestedExtension($$$) -{ - my ($et, $valPt, $tag) = @_; - my $ext; - if (not $binaryOutput) { - $ext = 'txt'; - } elsif ($$valPt =~ /^\xff\xd8\xff/) { - $ext = 'jpg'; - } elsif ($$valPt =~ /^(\0\0\0\x0cjP( |\x1a\x1a)\x0d\x0a\x87\x0a|\xff\x4f\xff\x51\0)/) { - $ext = 'jp2'; - } elsif ($$valPt =~ /^(\x89P|\x8aM|\x8bJ)NG\r\n\x1a\n/) { - $ext = 'png'; - } elsif ($$valPt =~ /^GIF8[79]a/) { - $ext = 'gif'; - } elsif ($$valPt =~ /^<\?xpacket/ or $tag eq 'XMP') { - $ext = 'xmp'; - } elsif ($$valPt =~ /^<\?xml/ or $tag eq 'XML') { - $ext = 'xml'; - } elsif ($$valPt =~ /^RIFF....WAVE/s) { - $ext = 'wav'; - } elsif ($tag eq 'OriginalRawImage' and defined($ext = $et->GetValue('OriginalRawFileName'))) { - $ext =~ s/^.*\.//s; - $ext = $ext ? lc($ext) : 'raw'; - } elsif ($tag eq 'EXIF') { - $ext = 'exif'; - } elsif ($tag eq 'ICC_Profile') { - $ext = 'icc'; - } elsif ($$valPt =~ /^(MM\0\x2a|II\x2a\0)/) { - $ext = 'tiff'; - } elsif ($$valPt =~ /^.{4}ftyp(3gp|mp4|f4v|qt )/s) { - my %movType = ( 'qt ' => 'mov' ); - $ext = $movType{$1} || $1; - } elsif ($$valPt !~ /^.{0,4096}\0/s) { - $ext = 'txt'; - } elsif ($$valPt =~ /^BM.{15}\0/s) { - $ext = 'bmp'; - } elsif ($$valPt =~ /^CANON OPTIONAL DATA\0/) { - $ext = 'vrd'; - } elsif ($$valPt =~ /^IIII\x04\0\x04\0/) { - $ext = 'dr4'; - } elsif ($$valPt =~ /^(.{10}|.{522})(\x11\x01|\x00\x11)/s) { - $ext = 'pict'; - } elsif ($$valPt =~ /^\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl/s) { - $ext = 'jxl'; - } elsif ($$valPt =~ /^.{4}jumb\0.{3}jumdc2pa/s) { - $ext = 'c2pa'; - } elsif ($tag eq 'JUMBF') { - $ext = 'jumbf'; - } else { - $ext = 'dat'; - } - return $ext; -} - -#------------------------------------------------------------------------------ -# Load print format file -# Inputs: 0) file name, 1) flag to avoid adding newline to input argument -# - saves lines of file to %printFmt list -# - adds tag names to @tags list -sub LoadPrintFormat($;$) -{ - my ($arg, $noNL) = @_; - if (not defined $arg) { - Error "Must specify file or expression for -p option\n"; - } elsif ($arg !~ /\n/ and -f $arg and $mt->Open(\*FMT_FILE, $arg)) { - foreach () { - AddPrintFormat($_); - } - close(FMT_FILE); - } else { - $arg .= "\n" unless $noNL; - AddPrintFormat($arg); - } -} - -#------------------------------------------------------------------------------ -# A sort of sprintf for filenames -# Inputs: 0) format string (%d=dir, %f=file name, %e=ext), -# 1) source filename or undef to test format string -# 2-4) [%t %g %s %o only] tag name, ref to array of group names, -# suggested extension, original raw file name -# Returns: new filename or undef on error (or if no file and fmt contains token) -sub FilenameSPrintf($;$@) -{ - my ($fmt, $file, @extra) = @_; - local $_; - # return format string straight away if no tokens - return $fmt unless $fmt =~ /%[-+]?\d*[.:]?\d*[lu]?[dDfFeEtgso]/; - return undef unless defined $file; - CleanFilename($file); # make sure we are using forward slashes - # split filename into directory, file, extension - my %part; - @part{qw(d f E)} = ($file =~ /^(.*?)([^\/]*?)(\.[^.\/]*)?$/); - defined $part{f} or Warn("Error: Bad pattern match for file $file\n"), return undef; - if ($part{E}) { - $part{e} = substr($part{E}, 1); - } else { - @part{qw(e E)} = ('', ''); - } - $part{F} = $part{f} . $part{E}; - ($part{D} = $part{d}) =~ s{/+$}{}; - @part{qw(t g s o)} = @extra; - my ($filename, $pos) = ('', 0); - while ($fmt =~ /(%([-+]?)(\d*)([.:]?)(\d*)([lu]?)([dDfFeEtgso]))/g) { - $filename .= substr($fmt, $pos, pos($fmt) - $pos - length($1)); - $pos = pos($fmt); - my ($sign, $wid, $dot, $skip, $mod, $code) = ($2, $3, $4, $5 || 0, $6, $7); - my (@path, $part, $len, $groups); - if (lc $code eq 'd' and $dot and $dot eq ':') { - # field width applies to directory levels instead of characters - @path = split '/', $part{$code}; - $len = scalar @path; - } else { - if ($code eq 'g') { - $groups = $part{g} || [ ] unless defined $groups; - $fmt =~ /\G(\d?)/g; # look for %g1, %g2, etc - $part{g} = $$groups[$1 || 0]; - $pos = pos($fmt); - } - $part{$code} = '' unless defined $part{$code}; - $len = length $part{$code}; - } - next unless $skip < $len; - $wid = $len - $skip if $wid eq '' or $wid + $skip > $len; - $skip = $len - $wid - $skip if $sign eq '-'; - if (@path) { - $part = join('/', @path[$skip..($skip+$wid-1)]); - $part .= '/' unless $code eq 'D'; - } else { - $part = substr($part{$code}, $skip, $wid); - } - $part = ($mod eq 'u') ? uc($part) : lc($part) if $mod; - $filename .= $part; - } - $filename .= substr($fmt, $pos); # add rest of file name - # remove double slashes (except at beginning to allow Windows UNC paths) - $filename =~ s{(?!^)//}{/}g; - return $filename; -} - -#------------------------------------------------------------------------------ -# Convert number to alphabetical index: a, b, c, ... z, aa, ab ... -# Inputs: 0) number -# Returns: alphabetical index string -sub Num2Alpha($) -{ - my $num = shift; - my $alpha = chr(97 + ($num % 26)); - while ($num >= 26) { - $num = int($num / 26) - 1; - $alpha = chr(97 + ($num % 26)) . $alpha; - } - return $alpha; -} - -#------------------------------------------------------------------------------ -# Expand '%c' and '%C' codes if filename to get next unused file name -# Inputs: 0) file name format string, 1) filename ok to use even if it exists -# Returns: new file name -sub NextUnusedFilename($;$) -{ - my ($fmt, $okfile) = @_; - return $fmt unless $fmt =~ /%[-+]?\d*[.:]?\d*[lun]?[cC]/; - my %sep = ( '-' => '-', '+' => '_' ); - my ($copy, $alpha) = (0, 'a'); - my $lastFile; - for (;;) { - my ($filename, $pos) = ('', 0); - while ($fmt =~ /(%([-+]?)(\d*)([.:]?)(\d*)([lun]?)([cC]))/g) { - $filename .= substr($fmt, $pos, pos($fmt) - $pos - length($1)); - $pos = pos($fmt); - my ($sign, $wid, $dec, $wid2, $mod, $tok) = ($2, $3 || 0, $4, $5 || 0, $6, $7); - my $seq; - if ($tok eq 'C') { - # increment sequence number for %C on collision if ':' is used - $sign eq '-' ? ++$seqFileDir : ++$seqFileNum if $copy and $dec eq ':'; - $seq = $wid + ($sign eq '-' ? $seqFileDir : $seqFileNum) - 1; - $wid = $wid2; - } else { - next unless $dec or $copy; - $wid = $wid2 if $wid < $wid2; - # add dash or underline separator if '-' or '+' specified - $filename .= $sep{$sign} if $sign; - } - if ($mod and $mod ne 'n') { - my $a = $tok eq 'C' ? Num2Alpha($seq) : $alpha; - my $str = ($wid and $wid > length $a) ? 'a' x ($wid - length($a)) : ''; - $str .= $a; - $str = uc $str if $mod eq 'u'; - $filename .= $str; - } else { - my $c = $tok eq 'C' ? $seq : $copy; - my $num = $c + ($mod ? 1 : 0); - $filename .= $wid ? sprintf("%.${wid}d",$num) : $num; - } - } - $filename .= substr($fmt, $pos); # add rest of file name - # return now with filename unless file exists - return $filename unless ($mt->Exists($filename, 1) and not defined $usedFileName{$filename}) or $usedFileName{$filename}; - if (defined $okfile) { - return $filename if $filename eq $okfile; - my ($fn, $ok) = (AbsPath($filename), AbsPath($okfile)); - return $okfile if defined $fn and defined $ok and $fn eq $ok; - } - return $filename if defined $lastFile and $lastFile eq $filename; - $lastFile = $filename; - ++$copy; - ++$alpha; - } -} - -#------------------------------------------------------------------------------ -# Create directory for specified file -# Inputs: 0) complete file name including path -# Returns: true if a directory was created -sub CreateDirectory($) -{ - my $file = shift; - my $err = $mt->CreateDirectory($file); - if (defined $err) { - $err and Error("$err\n"), return 0; - if ($verbose) { - my $dir; - ($dir = $file) =~ s(/[^/]*$)(); - print $vout "Created directory $dir\n"; - } - ++$countNewDir; - return 1; - } - return 0; -} - -#------------------------------------------------------------------------------ -# Open output text file -# Inputs: 0) file name format string, 1-N) extra arguments for FilenameSPrintf -# Returns: 0) file reference (or undef on error), 1) file name if opened, 2) append flag -# Notes: returns reference to STDOUT and no file name if no textOut file needed -sub OpenOutputFile($;@) -{ - my ($file, @args) = @_; - my ($fp, $outfile, $append); - if ($textOut) { - $outfile = $file; - CleanFilename($outfile); - if ($textOut =~ /%[-+]?\d*[.:]?\d*[lun]?[dDfFeEtgsocC]/ or defined $tagOut) { - # make filename from printf-like $textOut - $outfile = FilenameSPrintf($textOut, $file, @args); - return () unless defined $outfile; - $outfile = NextUnusedFilename($outfile); - CreateDirectory($outfile); # create directory if necessary - } else { - $outfile =~ s/\.[^.\/]*$//; # remove extension if it exists - $outfile .= $textOut; - } - my $mode = '>'; - if ($mt->Exists($outfile, 1)) { - unless ($textOverwrite) { - Warn "Output file $outfile already exists for $file\n"; - return (); - } - if ($textOverwrite == 2 or ($textOverwrite == 3 and $created{$outfile})) { - $mode = '>>'; - $append = 1; - } - } - unless ($mt->Open(\*OUTFILE, $outfile, $mode)) { - my $what = $mode eq '>' ? 'creating' : 'appending to'; - Error("Error $what $outfile\n"); - return (); - } - binmode(OUTFILE) if $binaryOutput; - $fp = \*OUTFILE; - } else { - $fp = \*STDOUT; - } - return($fp, $outfile, $append); -} - -#------------------------------------------------------------------------------ -# Filter files based on extension -# Inputs: 0) file name -# Returns: 0 = rejected, 1 = specifically accepted, 2 = accepted by default -# Notes: This routine should only be called if $filterFlag is set -sub AcceptFile($) -{ - my $file = shift; - my $ext = ($file =~ /^.*\.(.+)$/s) ? uc($1) : ''; - return $filterExt{$ext} if defined $filterExt{$ext}; - return $filterExt{'*'} if defined $filterExt{'*'}; - return 0 if $filterFlag & 0x02; # reject if accepting specific extensions - return 2; # accept by default -} - -#------------------------------------------------------------------------------ -# Slurp file into buffer -# Inputs: 0) file name, 1) buffer reference -# Returns: 1 on success -sub SlurpFile($$) -{ - my ($file, $buffPt) = @_; - $mt->Open(\*INFILE, $file) or Warn("Error opening file $file\n"), return 0; - binmode(INFILE); - # (CAREFUL!: must clear buffer first to reset possible utf8 flag because the data - # would be corrupted if it was read into a buffer which had the utf8 flag set!) - undef $$buffPt; - my $bsize = 1024 * 1024; - my $num = read(INFILE, $$buffPt, $bsize); - unless (defined $num) { - close(INFILE); - Warn("Error reading $file\n"); - return 0; - } - my $bmax = 64 * $bsize; - while ($num == $bsize) { - $bsize *= 2 if $bsize < $bmax; - my $buff; - $num = read(INFILE, $buff, $bsize); - last unless $num; - $$buffPt .= $buff; - } - close(INFILE); - return 1; -} - - -#------------------------------------------------------------------------------ -# Filter argfile line -# Inputs: 0) line of argfile -# Returns: filtered line or undef to ignore -sub FilterArgfileLine($) -{ - my $arg = shift; - if ($arg =~ /^#/) { # comment lines begin with '#' - return undef unless $arg =~ s/^#\[CSTR\]//; - $arg =~ s/[\x0d\x0a]+$//s; # remove trailing newline - # escape double quotes, dollar signs and ampersands if they aren't already - # escaped by an odd number of backslashes, and escape a single backslash - # if it occurs at the end of the string - $arg =~ s{\\(.)|(["\$\@]|\\$)}{'\\'.($2 || $1)}sge; - # un-escape characters in C string - my %esc = ( a => "\a", b => "\b", f => "\f", n => "\n", - r => "\r", t => "\t", '"' => '"', '\\' => '\\' ); - $arg =~ s/\\(.)/$esc{$1}||'\\'.$1/egs; - } else { - $arg =~ s/^\s+//; # remove leading white space - $arg =~ s/[\x0d\x0a]+$//s; # remove trailing newline - # remove white space before, and single space after '=', '+=', '-=' or '<=' - $arg =~ s/^(-[-_0-9A-Z:]+#?)\s*([-+<]?=) ?/$1$2/i; - return undef if $arg eq ''; - } - return $arg; -} - -#------------------------------------------------------------------------------ -# Read arguments from -stay_open argfile -# Inputs: 0) argument list ref -# Notes: blocks until -execute, -stay_open or -@ option is available -# (or until there was an error reading from the file) -sub ReadStayOpen($) -{ - my $args = shift; - my (@newArgs, $processArgs, $result, $optArgs); - my $lastOpt = ''; - my $unparsed = length $stayOpenBuff; - for (;;) { - if ($unparsed) { - # parse data already read from argfile - $result = $unparsed; - undef $unparsed; - } else { - # read more data from argfile - # - this read may block (which is good) if reading from a pipe - $result = sysread(STAYOPEN, $stayOpenBuff, 65536, length($stayOpenBuff)); - } - if ($result) { - my $pos = 0; - while ($stayOpenBuff =~ /\n/g) { - my $len = pos($stayOpenBuff) - $pos; - my $arg = substr($stayOpenBuff, $pos, $len); - $pos += $len; - $arg = FilterArgfileLine($arg); - next unless defined $arg; - push @newArgs, $arg; - if ($optArgs) { - # this is an argument for the last option - undef $optArgs; - next unless $lastOpt eq '-stay_open' or $lastOpt eq '-@'; - } else { - $lastOpt = lc $arg; - $optArgs = $optArgs{$arg}; - unless (defined $optArgs) { - $optArgs = $optArgs{$lastOpt}; - # handle options with trailing numbers - $optArgs = $optArgs{"$1#$2"} if not defined $optArgs and $lastOpt =~ /^(.*?)\d+(!?)$/; - } - next unless $lastOpt =~ /^-execute\d*$/; - } - $processArgs = 1; - last; # process arguments up to this point - } - next unless $pos; # nothing to do if we didn't read any arguments - # keep unprocessed data in buffer - $stayOpenBuff = substr($stayOpenBuff, $pos); - if ($processArgs) { - # process new arguments after -execute or -stay_open option - unshift @$args, @newArgs; - last; - } - } elsif ($result == 0) { - # sysread() didn't block (eg. when reading from a file), - # so wait for a short time (1/100 sec) then try again - # Note: may break out of this early if SIGCONT is received - select(undef,undef,undef,0.01); - } else { - Warn "Error reading from ARGFILE\n"; - close STAYOPEN; - $stayOpen = 0; - last; - } - } -} - -#------------------------------------------------------------------------------ -# Add new entry to -efile output file -# Inputs: 0) file name, 1) -efile option number (0=error, 1=same, 2=failed, 3=updated, 4=created) -sub EFile($$) -{ - my $entry = shift; - my $efile = $efile[shift || 0]; - if (defined $efile and length $entry and $entry ne '-') { - my $err; - CreateDirectory($efile); - if ($mt->Open(\*EFILE_FILE, $efile, '>>')) { - print EFILE_FILE $entry, "\n" or Warn("Error writing to $efile\n"), $err = 1; - close EFILE_FILE; - } else { - Warn("Error opening '${efile}' for append\n"); - $err = 1; - } - if ($err) { - defined $_ and $_ eq $efile and undef $_ foreach @efile; - } - } -} - -#------------------------------------------------------------------------------ -# Print progress message if it is time for it -# Inputs: 0) file ref, 1) message -sub Progress($$) -{ - my ($file, $msg) = @_; - if (defined $progStr) { - print $file $msg, $progStr, "\n"; - undef $progressNext if defined $progressMax; - } -} - -#------------------------------------------------------------------------------ -# Print list of tags -# Inputs: 0) message, 1-N) list of tag names -sub PrintTagList($@) -{ - my $msg = shift; - print $msg, ":\n" unless $quiet; - my $tag; - if (($outFormat < 0 or $verbose) and $msg =~ /file extensions$/ and @_) { - foreach $tag (@_) { - printf(" %-11s %s\n", $tag, GetFileType($tag, 1)); - } - return; - } - my ($len, $pad) = (0, $quiet ? '' : ' '); - foreach $tag (@_) { - my $taglen = length($tag); - if ($len + $taglen > 77) { - print "\n"; - ($len, $pad) = (0, $quiet ? '' : ' '); - } - print $pad, $tag; - $len += $taglen + 1; - $pad = ' '; - } - @_ or print $pad, '[empty list]'; - print "\n"; -} - -#------------------------------------------------------------------------------ -# Print warnings and errors from info hash -# Inputs: 0) ExifTool object ref, 1) info hash, 2) file name -# Returns: true if there was an Error -sub PrintErrors($$$) -{ - my ($et, $info, $file) = @_; - my ($tag, $key); - foreach $tag (qw(Warning Error)) { - next unless $$info{$tag}; - my @keys = ( $tag ); - push @keys, sort(grep /^$tag /, keys %$info) if $et->Options('Duplicates'); - foreach $key (@keys) { - Warn "$tag: $info->{$key} - $file\n"; - } - } - return $$info{Error}; -} - -#===================================================================================== -# NOTE: Be sure to update windows_exiftool.txt with any changes to this documentation! -#vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv - -__END__ - -=head1 NAME - -exiftool - Read and write meta information in files - -=head1 SYNOPSIS - -=head2 Reading - -B [I] [-I...] [--I...] I... - -=head2 Writing - -B [I] -I[+-E]=[I]... I... - -=head2 Copying - -B [I] B<-tagsFromFile> I -[-[IE]I...] I... - -=head2 Other - -B [ B<-ver> | -B<-list>[B|B|B|B|B[I]|B|B|B] ] - -For specific examples, see the L sections below. - -This documentation is displayed if exiftool is run without an input I -when one is expected. - -=head1 DESCRIPTION - -A command-line interface to L, used for -reading and writing meta information in a variety of file types. I is -one or more source file names, directory names, or C<-> for the standard -input. Metadata is read from source files and printed in readable form to -the console (or written to output text files with B<-w>). - -To write or delete metadata, tag values are assigned using --I=[I], and/or the B<-geotag>, B<-csv=> or B<-json=> options. -To copy or move metadata, the B<-tagsFromFile> feature is used. By default -the original files are preserved with C<_original> appended to their names --- be sure to verify that the new files are OK before erasing the originals. -Once in write mode, exiftool will ignore any read-specific options. - -Note: If I is a directory name then only supported file types in the -directory are processed (in write mode only writable types are processed). -However, files may be specified by name, or the B<-ext> option may be used -to force processing of files with any extension. Hidden files in the -directory are also processed. Adding the B<-r> option causes subdirectories -to be processed recursively, but subdirectories with names beginning with -"." are skipped unless B<-r.> is used. - -Below is a list of file types and meta information formats currently -supported by ExifTool (r = read, w = write, c = create): - - File Types - ------------+-------------+-------------+-------------+------------ - 360 r/w | DOCX r | ITC r | NUMBERS r | RAM r - 3FR r | DPX r | J2C r | NXD r | RAR r - 3G2 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w - 3GP r/w | DSS r | JP2 r/w | ODP r | RIFF r - 7Z r | DV r | JPEG r/w | ODS r | RSRC r - A r | DVB r/w | JSON r | ODT r | RTF r - AA r | DVR-MS r | JXL r/w | OFR r | RW2 r/w - AAC r | DYLIB r | K25 r | OGG r | RWL r/w - AAE r | EIP r | KDC r | OGV r | RWZ r - AAX r/w | EPS r/w | KEY r | ONP r | RM r - ACR r | EPUB r | LA r | OPUS r | SEQ r - AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r - AI r/w | EXE r | LIF r | ORI r/w | SO r - AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w - APE r | EXR r | LRV r/w | PAC r | SRF r - ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w - ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r - ASF r | FFF r/w | MACOS r | PCAP r | SWF r - AVI r | FITS r | MAX r | PCAPNG r | THM r/w - AVIF r/w | FLA r | MEF r/w | PCD r | TIFF r/w - AZW r | FLAC r | MIE r/w/c | PCX r | TORRENT r - BMP r | FLIF r/w | MIFF r | PDB r | TTC r - BPG r | FLV r | MKA r | PDF r/w | TTF r - BTF r | FPF r | MKS r | PEF r/w | TXT r - C2PA r | FPX r | MKV r | PFA r | VCF r - CHM r | GIF r/w | MNG r/w | PFB r | VNT r - COS r | GLV r/w | MOBI r | PFM r | VRD r/w/c - CR2 r/w | GPR r/w | MODD r | PGF r | VSD r - CR3 r/w | GZ r | MOI r | PGM r/w | WAV r - CRM r/w | HDP r/w | MOS r/w | PLIST r | WDP r/w - CRW r/w | HDR r | MOV r/w | PICT r | WEBP r/w - CS1 r/w | HEIC r/w | MP3 r | PMP r | WEBM r - CSV r | HEIF r/w | MP4 r/w | PNG r/w | WMA r - CUR r | HTML r | MPC r | PPM r/w | WMV r - CZI r | ICC r/w/c | MPG r | PPT r | WPG r - DCM r | ICO r | MPO r/w | PPTX r | WTV r - DCP r/w | ICS r | MQV r/w | PS r/w | WV r - DCR r | IDML r | MRC r | PSB r/w | X3F r/w - DFONT r | IIQ r/w | MRW r/w | PSD r/w | XCF r - DIVX r | IND r/w | MXF r | PSP r | XISF r - DJVU r | INSP r/w | NEF r/w | QTIF r/w | XLS r - DLL r | INSV r | NKA r | R3D r | XLSX r - DNG r/w | INX r | NKSC r/w | RA r | XMP r/w/c - DOC r | ISO r | NRW r/w | RAF r/w | ZIP r - - Meta Information - ----------------------+----------------------+--------------------- - EXIF r/w/c | CIFF r/w | Ricoh RMETA r - GPS r/w/c | AFCP r/w | Picture Info r - IPTC r/w/c | Kodak Meta r/w | Adobe APP14 r - XMP r/w/c | FotoStation r/w | MPF r - MakerNotes r/w/c | PhotoMechanic r/w | Stim r - Photoshop IRB r/w/c | JPEG 2000 r | DPX r - ICC Profile r/w/c | DICOM r | APE r - MIE r/w/c | Flash r | Vorbis r - JFIF r/w/c | FlashPix r | SPIFF r - Ducky APP12 r/w/c | QuickTime r | DjVu r - PDF r/w/c | Matroska r | M2TS r - PNG r/w/c | MXF r | PE/COFF r - Canon VRD r/w/c | PrintIM r | AVCHD r - Nikon Capture r/w/c | FLAC r | ZIP r - GeoTIFF r/w/c | ID3 r | (and more) - -=head1 OPTIONS - -Case is not significant for any command-line option (including tag and group -names), except for single-character options when the corresponding -upper-case option exists. Many single-character options have equivalent -long-name versions (shown in brackets), and some options have inverses which -are invoked with a leading double-dash. Unrecognized options are -interpreted as tag names (for this reason, multiple single-character options -may NOT be combined into one argument). Contrary to standard practice, -options may appear after source file names on the exiftool command line. - -=head2 Option Overview - -L - - -TAG or --TAG Extract or exclude specified tag - -TAG[+-^]=[VALUE] Write new value for tag - -TAG[+-]<=DATFILE Write tag value from contents of file - -[+]TAG[+-] - - -args (-argFormat) Format metadata as exiftool arguments - -b (-binary) Output metadata in binary format - -c FMT (-coordFormat) Set format for GPS coordinates - -charset [[TYPE=]CHARSET] Specify encoding for special characters - -csv[[+]=CSVFILE] Export/import tags in CSV format - -csvDelim STR Set delimiter for CSV file - -d FMT (-dateFormat) Set format for date/time values - -D (-decimal) Show tag ID numbers in decimal - -E,-ex,-ec (-escape(HTML|XML|C))Escape tag values for HTML, XML or C - -f (-forcePrint) Force printing of all specified tags - -g[NUM...] (-groupHeadings) Organize output by tag group - -G[NUM...] (-groupNames) Print group name for each tag - -h (-htmlFormat) Use HTML formatting for output - -H (-hex) Show tag ID numbers in hexadecimal - -htmlDump[OFFSET] Generate HTML-format binary dump - -j[[+]=JSONFILE] (-json) Export/import tags in JSON format - -l (-long) Use long 2-line output format - -L (-latin) Use Windows Latin1 encoding - -lang [LANG] Set current language - -listItem INDEX Extract specific item from a list - -n (--printConv) No print conversion - -p[-] STR (-printFormat) Print output in specified format - -php Export tags as a PHP Array - -plot Output tags as SVG plot file - -s[NUM] (-short) Short output format (-s for tag names) - -S (-veryShort) Very short output format - -sep STR (-separator) Set separator string for list items - -sort Sort output alphabetically - -struct Enable output of structured information - -t (-tab) Output in tab-delimited list format - -T (-table) Output in tabular format - -v[NUM] (-verbose) Print verbose messages - -w[+|!] EXT (-textOut) Write (or overwrite!) output text files - -W[+|!] FMT (-tagOut) Write output text file for each tag - -Wext EXT (-tagOutExt) Write only specified file types with -W - -X (-xmlFormat) Use RDF/XML output format - -L - - -a (-duplicates) Allow duplicate tags to be extracted - -e (--composite) Do not generate composite tags - -ee[NUM] (-extractEmbedded) Extract information from embedded files - -ext[+] EXT (-extension) Process files with specified extension - -F[OFFSET] (-fixBase) Fix the base for maker notes offsets - -fast[NUM] Increase speed when extracting metadata - -fileOrder[NUM] [-]TAG Set file processing order - -i DIR (-ignore) Ignore specified directory name - -if[NUM] EXPR Conditionally process files - -m (-ignoreMinorErrors) Ignore minor errors and warnings - -o OUTFILE (-out) Set output file or directory name - -overwrite_original Overwrite original by renaming tmp file - -overwrite_original_in_place Overwrite original by copying tmp file - -P (-preserve) Preserve file modification date/time - -password PASSWD Password for processing protected files - -progress[NUM][:[TITLE]] Show file progress count - -q (-quiet) Quiet processing - -r[.] (-recurse) Recursively process subdirectories - -scanForXMP Brute force XMP scan - -u (-unknown) Extract unknown tags - -U (-unknown2) Extract unknown binary tags too - -wm MODE (-writeMode) Set mode for writing/creating tags - -z (-zip) Read/write compressed information - -L - - -@ ARGFILE Read command-line arguments from file - -k (-pause) Pause before terminating - -list[w|f|wf|g[NUM]|d|x] List various exiftool capabilities - -ver Print exiftool version number - -- End of options - -L - - -diff FILE2 Compare metadata with another file - -geotag TRKFILE Geotag images from specified GPS log - -globalTimeShift SHIFT Shift all formatted date/time values - -use MODULE Add features from plug-in module - -L - - -delete_original[!] Delete "_original" backups - -restore_original Restore from "_original" backups - -L - - -api OPT[[^]=[VAL]] Set ExifTool API option - -common_args Define common arguments - -config CFGFILE Specify configuration file name - -echo[NUM] TEXT Echo text to stdout or stderr - -efile[NUM][!] TXTFILE Save names of files with errors - -execute[NUM] Execute multiple commands on one line - -fileNUM ALTFILE Load tags from alternate file - -list_dir List directories, not their contents - -srcfile FMT Process a different source file - -stay_open FLAG Keep reading -@ argfile even after EOF - -userParam PARAM[[^]=[VAL]] Set user parameter (API UserParam opt) - -=head2 Option Details - -=head3 Tag operations - -=over 5 - -=item B<->I - -Extract information for the specified tag (eg. C<-CreateDate>). Multiple -tags may be specified in a single command. A tag name is the handle by -which a piece of information is referenced. See -L for documentation on -available tag names. A tag name may include leading group names separated -by colons (eg. C<-EXIF:CreateDate>, or C<-Doc1:XMP:Creator>), and each group -name may be prefixed by a digit to specify family number (eg. -C<-1IPTC:City>). (Note that the API SavePath and SaveFormat options must be -used for the family 5 and 6 groups respectively to be available.) Use the -B<-listg> option to list available group names by family. - -A special tag name of C may be used to indicate all meta information -(ie. B<-All>). This is particularly useful when a group name is specified -to extract all information in a group (but beware that unless the B<-a> -option is also used, some tags in the group may be suppressed by same-named -tags in other groups). The wildcard characters C and C<*> may be used in -a tag name to match any single character and zero or more characters -respectively. These may not be used in a group name, with the exception -that a group name of C<*> (or C) may be used to extract all instances -of a tag (as if B<-a> was used). Note that arguments containing wildcards -must be quoted on the command line of most systems to prevent shell -globbing. - -A C<#> may be appended to the tag name to disable the print conversion on a -per-tag basis (see the B<-n> option). This may also be used when writing or -copying tags. - -If no tags are specified, all available information is extracted (as if -C<-All> had been specified). - -Note: Descriptions, not tag names, are shown by default when extracting -information. Use the B<-s> option to see the tag names instead. - -=item B<-->I - -Exclude specified tag from extracted information. Same as the B<-x> option. -Group names and wildcards are permitted as described above for B<->I. -Once excluded from the output, a tag may not be re-included by a subsequent -option. May also be used following a B<-tagsFromFile> option to exclude -tags from being copied (when redirecting to another tag, it is the source -tag that should be excluded), or to exclude groups from being deleted when -deleting all information (eg. C<-all= --exif:all> deletes all but EXIF -information). But note that this will not exclude individual tags from a -group delete (unless a family 2 group is specified, see note 4 below). -Instead, individual tags may be recovered using the B<-tagsFromFile> option -(eg. C<-all= -tagsfromfile @ -artist>). - -To speed processing when reading XMP, exclusions in XMP groups also bypass -processing of the corresponding XMP property and any contained properties. -For example, C<--xmp-crs:all> may speed processing significantly in cases -where a large number of XMP-crs tags exist. To use this feature to bypass -processing of a specific XMP property, the property name must be used -instead of the ExifTool tag name (eg. C<--xmp-crs:dabs>). Also, C -may be used to to indicate any XMP namespace (eg. C<--xmp-all:dabs>). - -=item B<->I[+-^]B<=>[I] - -Write a new value for the specified tag (eg. C<-comment=wow>), or delete the -tag if no I is given (eg. C<-comment=>). C<+=> and C<-=> are used to -add or remove existing entries from a list, or to shift date/time values -(see L and notes 6 and -7 below for more details). C<+=> may also be used to increment numerical -values (or decrement if I is negative), and C<-=> may be used to -conditionally delete or replace a tag (see L for -examples). C<^=> is used to write an empty string instead of deleting the -tag when no I is given, but otherwise it is equivalent to C<=>. -(Note that the caret must be quoted on the Windows command line.) - -I may contain one or more leading family 0, 1, 2 or 7 group names, -prefixed by optional family numbers, and separated colons. If no group name -is specified, the tag is created in the preferred group, and updated in any -other location where a same-named tag already exists. The preferred group -in JPEG and TIFF-format images is the first group in the following list -where I is valid: 1) EXIF, 2) IPTC, 3) XMP. - -The wildcards C<*> and C may be used in tag names to assign the same -value to multiple tags. When specified with wildcards, "Unsafe" tags are -not written. A tag name of C is equivalent to C<*> (except that it -doesn't require quoting, while arguments with wildcards do on systems with -shell globbing), and is often used when deleting all metadata (ie. C<-All=>) -or an entire group (eg. C<-XMP-dc:All=>, see note 4 below). Note that not -all groups are deletable, and that the JPEG APP14 "Adobe" group is not -removed by default with C<-All=> because it may affect the appearance of the -image. However, color space information is removed, so the colors may be -affected (but this may be avoided by copying back the tags defined by the -ColorSpaceTags shortcut). Use the B<-listd> option for a complete list of -deletable groups, and see note 5 below regarding the "APP" groups. Also, -within an image some groups may be contained within others, and these groups -are removed if the containing group is deleted: - - JPEG Image: - - Deleting EXIF or IFD0 also deletes ExifIFD, GlobParamIFD, - GPS, IFD1, InteropIFD, MakerNotes, PrintIM and SubIFD. - - Deleting ExifIFD also deletes InteropIFD and MakerNotes. - - Deleting Photoshop also deletes IPTC. - - TIFF Image: - - Deleting EXIF only removes ExifIFD which also deletes - InteropIFD and MakerNotes. - - MOV/MP4 Video: - - Deleting ItemList also deletes Keys tags. - -Notes: - -1) B. If two -assignments affect the same tag, the latter takes precedence (except for -list-type tags, for which both values are written). - -2) In general, MakerNotes tags are considered "Permanent", and may be edited -but not created or deleted individually. This avoids many potential -problems, including the inevitable compatibility problems with OEM software -which may be very inflexible about the information it expects to find in the -maker notes. - -3) Changes to PDF files by ExifTool are reversible (by deleting the update -with C<-PDF-update:all=>) because the original information is never actually -deleted from the file. So ExifTool alone may not be used to securely edit -metadata in PDF files. - -4) Specifying C<-GROUP:all=> deletes the entire group as a block only if a -single family 0 or 1 group is specified. Otherwise all deletable tags in -the specified group(s) are removed individually, and in this case is it -possible to exclude individual tags from a mass delete. For example, -C<-time:all --Exif:Time:All> removes all deletable Time tags except those in -the EXIF. This difference also applies if family 2 is specified when -deleting all groups. For example, C<-2all:all=> deletes tags individually, -while C<-all:all=> deletes entire blocks. - -5) The "APP" group names ("APP0" through "APP15") are used to delete JPEG -application segments which are not associated with another deletable group. -For example, specifying C<-APP14:All=> will NOT delete the APP14 "Adobe" -segment because this is accomplished with C<-Adobe:All>. But note that -these unnamed APP segments may not be excluded with C<--APPxx:all> when -deleting all information. - -6) When shifting a value, the shift is applied to the original value of the -tag, overriding any other values previously assigned to the tag on the same -command line. To shift a date/time value and copy it to another tag in the -same operation, use the B<-globalTimeShift> option. - -7) The C<+=> operator may not be used to shift a List-type date/time tag -(eg. XMP-dc:Date) because C<+=> is used to add elements to the list. -Instead, the B<-globalTimeShift> option should be used. - -Special feature: Integer values may be specified in hexadecimal with a -leading C<0x>, and simple rational values may be specified as fractions. - -=item B<->IE=I or B<->IE=I - -Set the value of a tag from the contents of file I. The file name -may also be given by a I string where %d, %f and %e represent the -directory, file name and extension of the original I (see the B<-w> -option for more details). Note that quotes are required around this -argument to prevent shell redirection since it contains a C> symbol. -If I/I is not provided, the effect is the same as C<-TAG=>, -and the tag is simply deleted. C<+E=> or C<-E=> may also be used to -add or delete specific list entries, or to shift date/time values. - -=item B<-tagsFromFile> I or I - -Copy tag values from I to I. Tag names on the command line -after this option specify the tags to be copied, or excluded from the copy. -Wildcards are permitted in these tag names. If no tags are specified, then -all possible tags (see note 1 below) from the source file are copied to -same-named tags in the preferred location of the output file (the same as -specifying C<-all>). More than one B<-tagsFromFile> option may be used to -copy tags from multiple files. - -By default, this option will update any existing and writable same-named -tags in the output I, but will create new tags only in their preferred -groups. This allows some information to be automatically transferred to the -appropriate group when copying between images of different formats. However, -if a group name is specified for a tag then the information is written only -to this group (unless redirected to another group, see below). If C is -used as a group name, then the specified tag(s) are written to the same -family 1 group they had in the source file (ie. the same specific location, -like ExifIFD or XMP-dc). For example, the common operation of copying all -writable tags to the same specific locations in the output I is -achieved by adding C<-all:all>. A different family may be specified by -adding a leading family number to the group name (eg. C<-0all:all> preserves -the same general location, like EXIF or XMP). - -I may be the same as I to move information around within a -single file. In this case, C<@> may be used to represent the source file -(ie. C<-tagsFromFile @>), permitting this feature to be used for batch -processing multiple files. Specified tags are then copied from each file in -turn as it is rewritten. For advanced batch use, the source file name may -also be specified using a I string in which %d, %f and %e represent the -directory, file name and extension of I. (eg. the current I -would be represented by C<%d%f.%e>, with the same effect as C<@>). See the -B<-w> option for I string examples. - -A powerful redirection feature allows a destination tag to be specified for -each copied tag. With this feature, information may be written to a tag -with a different name or group. This is done using -E'-IEI'E or -E'-IEI'E on the command line after -B<-tagsFromFile>, and causes the value of I to be copied from -I and written to I in I. Has no effect unless -I exists in I. Note that this argument must be quoted to -prevent shell redirection, and there is no C<=> sign as when assigning new -values. Source and/or destination tags may be prefixed by a group name -and/or suffixed by C<#>. Wildcards are allowed in both the source and -destination tag names. A destination group and/or tag name of C or -C<*> writes to the same family 1 group and/or tag name as the source (but -the family may be specified by adding a leading number to the group name, -eg. C<0All> writes to the same family 0 group as the source). If no -destination group is specified, the information is written to the preferred -group. Whitespace around the C> or C> is ignored. As a -convenience, C<-tagsFromFile @> is assumed for any redirected tags which are -specified without a prior B<-tagsFromFile> option. Copied tags may also be -added or deleted from a list with arguments of the form -E'-I+EI'E or -E'-I-EI'E (but see Note 5 below). - -An extension of the redirection feature allows strings involving tag names -to be used on the right hand side of the C> symbol with the syntax -E'-IEI'E, where tag names in I are -prefixed with a C<$> symbol. See the B<-p> option and the -L section for more details about this syntax. -Strings starting with a C<=> sign must insert a single space after the -C> to avoid confusion with the C=> operator which sets the tag -value from the contents of a file. A single space at the start of the -string is removed if it exists, but all other whitespace in the string is -preserved. See note 8 below about using the redirection feature with -list-type stags, shortcuts or when using wildcards in tag names. - -See L for examples using B<-tagsFromFile>. - -Notes: - -1) Some tags (generally tags which may affect the appearance of the image) -are considered "Unsafe" to write, and are only copied if specified -explicitly (ie. no wildcards). See the -L for more details about -"Unsafe" tags. - -2) Be aware of the difference between excluding a tag from being copied -(--I), and deleting a tag (-I=). Excluding a tag prevents it from -being copied to the destination image, but deleting will remove a -pre-existing tag from the image. - -3) The maker note information is copied as a block, so it isn't affected -like other information by subsequent tag assignments on the command line, -and individual makernote tags may not be excluded from a block copy. Also, -since the PreviewImage referenced from the maker notes may be rather large, -it is not copied, and must be transferred separately if desired. - -4) The order of operations is to copy all specified tags at the point of the -B<-tagsFromFile> option in the command line. Any tag assignment to the -right of the B<-tagsFromFile> option is made after all tags are copied. For -example, new tag values are set in the order One, Two, Three then Four with -this command: - - exiftool -One=1 -tagsFromFile s.jpg -Two -Four=4 -Three d.jpg - -This is significant in the case where an overlap exists between the copied -and assigned tags because later operations may override earlier ones. - -5) The normal behaviour of copied tags differs from that of assigned tags -for list-type tags and conditional replacements because each copy operation -on a tag overrides any previous operations. While this avoids duplicate -list items when copying groups of tags from a file containing redundant -information, it also prevents values of different tags from being copied -into the same list when this is the intent. To accumulate values -from different operations into the same list, add a C<+> after the initial -C<-> of the argument. For example: - - exiftool -tagsfromfile @ '-subject must be used when conditionally replacing a tag to -prevent overriding earlier conditions. - -6) The B<-a> option (allow duplicate tags) is always in effect when copying -tags from I, but the highest priority tag is always copied last so -it takes precedence. - -7) Structured tags are copied by default when copying tags. See the -B<-struct> option for details. - -8) With the redirection feature, copying a tag directly (ie. -E'-IEI'E) is not the same as interpolating -its value inside a string (ie. E'-IE$I'E) -for source tags which are list-type tags, -L, or tag names containing -wildcards. When copying directly, the values of each matching source tag -are copied individually to the destination tag (as if they were separate -assignments). However, when interpolated inside a string, list items and -the values of shortcut tags are concatenated (with a separator set by the -B<-sep> option), and wildcards are not allowed.Another difference is that a -minor warning is generated if a tag doesn't exist when interpolating its -value in a string (with C<$>), but isn't when copying the tag directly. - -Finally, the behaviour is different when a destination tag or group of -C is used. When copying directly, a destination group and/or tag name -of C writes to the same family 1 group and/or tag name as the source. -But when interpolated in a string, the identity of the source tags are lost -and the value is written to all possible groups/tags. For example, the -string form must be used in the following command since the intent is to set -the value of all existing date/time tags from C: - - exiftool '-time:all<$createdate' -wm w FILE - -=item B<-x> I (B<-exclude>) - -Exclude the specified tag. There may be multiple B<-x> options. This has -the same effect as --I on the command line. See the --I -documentation above for a complete description. - -=back - -=head3 Input-output text formatting - -Note that trailing spaces are removed from extracted values for most output -text formats. The exceptions are B<-b>, B<-csv>, B<-j> and B<-X>. - -=over 5 - -=item B<-args> (B<-argFormat>) - -Output information in the form of exiftool arguments, suitable for use with -the B<-@> option when writing. May be combined with the B<-G> option to -include group names. This feature may be used to effectively copy tags -between images, but allows the metadata to be altered by editing the -intermediate file (C in this example): - - exiftool -args -G1 --filename --directory src.jpg > out.args - exiftool -@ out.args -sep ', ' dst.jpg - -Note: Be careful when copying information with this technique since it is -easy to write tags which are normally considered "Unsafe". For instance, -the FileName and Directory tags are excluded in the example above to avoid -renaming and moving the destination file. Also note that the second command -above will produce warning messages for any tags which are not writable. - -As well, the B<-sep> option should be used as in the second command above to -maintain separate list items when writing metadata back to image files, and -the B<-struct> option may be used when extracting to preserve structured XMP -information. - -=item B<-b>, B<--b> (B<-binary>, B<--binary>) - -Output requested metadata in binary format without tag names or descriptions -(B<-b> or B<-binary>). This option is mainly used for extracting embedded -images or other binary data, but it may also be useful for some text strings -since control characters (such as newlines) are not replaced by '.' as they -are in the default output. By default, list items are separated by a -newline when extracted with the B<-b> option, but this may be changed (see -the B<-sep> option for details). May be combined with B<-j>, B<-php> or -B<-X> to extract binary data in JSON, PHP or XML format, but note that -"Unsafe" tags are not extracted as binary unless they are specified -explicitly or the API RequestAll option is set to 3 or higher. - -With a leading double dash (B<--b> or B<--binary>), tags which contain -binary data are suppressed in the output when reading. - -=item B<-c> I (B<-coordFormat>) - -Set the print format for GPS coordinates. I uses the same syntax as -a C format string. The specifiers correspond to degrees, minutes -and seconds in that order, but minutes and seconds are optional. For -example, the following table gives the output for the same coordinate using -various formats: - - FMT Output - ------------------- ------------------ - "%d deg %d' %.2f"\" 54 deg 59' 22.80" (default for reading) - "%d %d %.8f" 54 59 22.80000000 (default for copying) - "%d deg %.4f min" 54 deg 59.3800 min - "%.6f degrees" 54.989667 degrees - -Notes: - -1) To avoid loss of precision, the default coordinate format is different -when copying tags using the B<-tagsFromFile> option. - -2) If the hemisphere is known, a reference direction (N, S, E or W) is -appended to each printed coordinate, but adding a C<+> or C<-> to the format -specifier (eg. C<%+.6f> or C<%-.6f>) prints a signed coordinate instead. -(C<+> adds a leading "+" for positive coordinates, but C<-> does not.) - -3) This print formatting may be disabled with the B<-n> option to extract -coordinates as signed decimal degrees. - -=item B<-charset> [[I=]I] - -If I is C or not specified, this option sets the ExifTool -character encoding for output tag values when reading and input values when -writing, with a default of C. If no I is given, a list of -available character sets is returned. Valid I values are: - - CHARSET Alias(es) Description - ---------- --------------- ---------------------------------- - UTF8 cp65001, UTF-8 UTF-8 characters (default) - Latin cp1252, Latin1 Windows Latin1 (West European) - Latin2 cp1250 Windows Latin2 (Central European) - Cyrillic cp1251, Russian Windows Cyrillic - Greek cp1253 Windows Greek - Turkish cp1254 Windows Turkish - Hebrew cp1255 Windows Hebrew - Arabic cp1256 Windows Arabic - Baltic cp1257 Windows Baltic - Vietnam cp1258 Windows Vietnamese - Thai cp874 Windows Thai - DOSLatinUS cp437 DOS Latin US - DOSLatin1 cp850 DOS Latin1 - DOSCyrillic cp866 DOS Cyrillic - MacRoman cp10000, Roman Macintosh Roman - MacLatin2 cp10029 Macintosh Latin2 (Central Europe) - MacCyrillic cp10007 Macintosh Cyrillic - MacGreek cp10006 Macintosh Greek - MacTurkish cp10081 Macintosh Turkish - MacRomanian cp10010 Macintosh Romanian - MacIceland cp10079 Macintosh Icelandic - MacCroatian cp10082 Macintosh Croatian - -I may be C to specify the encoding of file names on the -command line (ie. I arguments). In Windows, this triggers use of -wide-character i/o routines, thus providing support for Unicode file names. -See the L section below for details. - -Other values of I listed below are used to specify the internal -encoding of various meta information formats. - - TYPE Description Default - --------- ------------------------------------------- ------- - EXIF Internal encoding of EXIF "ASCII" strings (none) - ID3 Internal encoding of ID3v1 information Latin - IPTC Internal IPTC encoding to assume when Latin - IPTC:CodedCharacterSet is not defined - Photoshop Internal encoding of Photoshop IRB strings Latin - QuickTime Internal encoding of QuickTime strings MacRoman - RIFF Internal encoding of RIFF strings 0 - -See L for more information about coded -character sets, and the L -for more details about the B<-charset> settings. - -=item B<-csv>[[+]=I] - -Export information in CSV format, or import information if I is -specified. When importing, the CSV file must be in exactly the same format -as the exported file. The first row of the I must be the ExifTool -tag names (with optional group names) for each column of the file, and -values must be separated by commas. A special "SourceFile" column specifies -the files associated with each row of information (and a SourceFile of "*" -may be used to define default tags to be imported for all files which are -combined with any tags specified for the specific SourceFile processed). The -B<-csvDelim> option may be used to change the input/output field delimiter -if something other than a comma is required. - -The following examples demonstrate basic use of the B<-csv> option: - - # generate CSV file with common tags from all images in a directory - exiftool -common -csv dir > out.csv - - # update metadata for all images in a directory from CSV file - exiftool -csv=a.csv dir - -When importing, empty values are ignored unless the B<-f> option is used and -the API MissingTagValue is set to an empty string (in which case the tag is -deleted). Also, FileName and Directory columns are ignored if they exist -(ie. ExifTool will not attempt to write these tags with a CSV import), but -all other columns are imported. To force a tag to be deleted, use the B<-f> -option and set the value to "-" in the CSV file (or to the MissingTagValue -if this API option was used). Multiple databases may be imported in a -single command. - -Specific tags may be imported from the CSV database by adding B<->I -options to the command, or excluded with B<-->I, with exclusions taking -priority. Group names and wildcards are allowed. If no tags are specified, -then all except FileName and Directory are used. Tags are imported in the -same order as the database entries. - -When exporting a CSV file, the B<-g> or B<-G> option adds group names to the -tag headings. If the B<-a> option is used to allow duplicate tag names, the -duplicate tags are only included in the CSV output if the column headings -are unique. Adding the B<-G4> option ensures a unique column heading for -each tag. The B<-b> option may be added to output binary data, encoded in -base64 if necessary (indicated by ASCII "base64:" as the first 7 bytes of -the value). Values may also be encoded in base64 if the B<-charset> option -is used and the value contains invalid characters. - -When exporting specific tags, the CSV columns are arranged in the same order -as the specified tags provided the column headings exactly match the -specified tag names, otherwise the columns are sorted in alphabetical order. - -When importing from a CSV file, only files specified on the command line are -processed. Any extra entries in the CSV file are ignored. - -List-type tags are stored as simple strings in a CSV file, but the B<-sep> -option may be used to split them back into separate items when importing. - -Special feature: B<-csv>+=I may be used to add items to existing -lists. This affects only list-type tags. Also applies to the B<-j> option. - -Note that this and the B<-plot> options are fundamentally different than all -other output format options because they require information from all input -files to be buffered in memory before the output is written. This may -result in excessive memory usage when processing a very large number of -files with a single command. Also, when used with B<-csv>, the B<-w> option -changes to specify a complete file name with no filename formatting codes or -append mode allowed, and B<-W> may not be used. When processing a large -number of files, it is recommended to either use the JSON (B<-j>) or XML -(B<-X>) output format, or use B<-p> to generate a fixed-column CSV file -instead of using the B<-csv> option. - -=item B<-csvDelim> I - -Set the delimiter for separating CSV entries for CSV file input/output via -the B<-csv> option. I may contain "\t", "\n", "\r" and "\\" to -represent TAB, LF, CR and '\' respectively. A double quote is not allowed -in the delimiter. Default is ','. - -=item B<-d> I (B<-dateFormat>) - -Set the format for date/time tag values. The I string may contain -formatting codes beginning with a percent character (C<%>) to represent the -various components of a date/time value. ExifTool implements 3 format codes -internally (see below), but other format codes are system dependent -- -consult the C man page on your system for details. The default -format is equivalent to "%Y:%m:%d %H:%M:%S". This option has no effect on -date-only or time-only tags. Requires POSIX::strptime or Time::Piece for -the inversion conversion when writing. Only one B<-d> option may be used -per command. - -Additional format codes implemented internally by ExifTool: - -1) C<%z> represents the time zone in "+/-HHMM" format. Adding a colon (ie. -C<%:z>) adds a colon separator (eg. "-05:00"). If the date/time value -doesn't contain a time zone then C<%z> gives the system time zone for the -specified date/time value. - -2) C<%f> represents fractional seconds, and supports an optional width to -specify the number of digits after the decimal point (eg. C<%3f> would give -something like ".437"). Adding a minus sign drops the decimal point (eg. -C<%-3f> would give "437"). - -3) C<%s> represents the number of seconds since 00:00 UTC Jan 1, 1970, -taking into account the specified time zone (or system time zone if not -specified). - -=item B<-D> (B<-decimal>) - -Show tag ID number in decimal when extracting information. - -=item B<-E>, B<-ex>, B<-ec> (B<-escapeHTML>, B<-escapeXML>, B<-escapeC>) - -Escape characters in output tag values for HTML (B<-E>), XML (B<-ex>) or C -(B<-ec>). For HTML, all characters with Unicode code points above U+007F -are escaped as well as the following 5 characters: & (&) E<39> (') -E (") E (>) and E (<). For XML, only these 5 -characters are escaped. The B<-E> option is implied with B<-h>, and B<-ex> -is implied with B<-X>. For C, all control characters and the backslash are -escaped. The inverse conversion is applied when writing tags. - -=item B<-f> (B<-forcePrint>) - -Force printing of tags even if they don't exist. This option applies to -tags specified on the command line, or with the B<-p>, B<-if> or -B<-tagsFromFile> options. When B<-f> is used, the value of any missing tag -is set to a dash (C<->) by default, but this may be configured via the API -MissingTagValue option. B<-f> is also used to add a 'flags' attribute to -the B<-listx> output, or to allow tags to be deleted when writing with the -B<-csv>=I feature. - -=item B<-g>[I][:I...] (B<-groupHeadings>) - -Organize output by tag group. I specifies a group family number, and -may be 0 (general location), 1 (specific location), 2 (category), 3 -(document number), 4 (instance number), 5 (metadata path), 6 (EXIF/TIFF -format), 7 (tag ID) or 8 (file number). B<-g0> is assumed if a family -number is not specified. May be combined with other options to add group -names to the output. Multiple families may be specified by separating them -with colons. By default the resulting group name is simplified by removing -any leading C and collapsing adjacent identical group names, but this -can be avoided by placing a colon before the first family number (eg. -B<-g:3:1>). Use the B<-listg> option to list group names for a specified -family. The API SavePath and SaveFormat options are automatically enabled -if the respective family 5 or 6 group names are requested. See the -L for more information. - -=item B<-G>[I][:I...] (B<-groupNames>) - -Same as B<-g> but print group name for each tag. B<-G0> is assumed if -I is not specified. May be combined with a number of other options to -add group names to the output. Note that I may be added wherever B<-G> -is mentioned in the documentation. See the B<-g> option above for details. - -=item B<-h> (B<-htmlFormat>) - -Use HTML table formatting for output. Implies the B<-E> option. The -formatting options B<-D>, B<-H>, B<-g>, B<-G>, B<-l> and B<-s> may be used -in combination with B<-h> to influence the HTML format. - -=item B<-H> (B<-hex>) - -Show tag ID number in hexadecimal when extracting information. - -=item B<-htmlDump>[I] - -Generate a dynamic web page containing a hex dump of the EXIF information. -This can be a very powerful tool for low-level analysis of EXIF information. -The B<-htmlDump> option is also invoked if the B<-v> and B<-h> options are -used together. The verbose level controls the maximum length of the blocks -dumped. An I may be given to specify the base for displayed -offsets. If not provided, the EXIF/TIFF base offset is used. Use -B<-htmlDump0> for absolute offsets. Currently only EXIF/TIFF and JPEG -information is dumped, but the -u option can be used to give a raw hex dump -of other file formats. - -=item B<-j>[[+]=I] (B<-json>) - -Use JSON (JavaScript Object Notation) formatting for console output, or -import JSON file if I is specified. This option may be combined -with B<-g> to organize the output into objects by group, or B<-G> to add -group names to each tag. List-type tags with multiple items are output as -JSON arrays unless B<-sep> is used. By default XMP structures are flattened -into individual tags in the JSON output, but the original structure may be -preserved with the B<-struct> option (this also causes all list-type XMP -tags to be output as JSON arrays, otherwise single-item lists would be -output as simple strings). The B<-a> option is implied when B<-json> is -used, but entries with identical JSON names are suppressed in the output. -(B<-G4> may be used to ensure that all tags have unique JSON names.) - -Adding the B<-D> or B<-H> option changes tag values to JSON objects with -"val" and "id" fields. Adding B<-l> adds a "desc" field, and a "num" field -if the numerical value is different from the converted "val", and "fmt" and -"hex" fields for EXIF metadata if the API SaveFormat and SaveBin options are -set respectively, and the length of the "hex" output is limited by the API -LimitLongValues setting. The B<-b> option may be added to output binary -data, encoded in base64 if necessary (indicated by ASCII "base64:" as the -first 7 bytes of the value), and B<-t> may be added to include tag table -information (see B<-t> for details). The JSON output is UTF-8 regardless of -any B<-L> or B<-charset> option setting, but the UTF-8 validation is -disabled if a character set other than UTF-8 is specified. - -Note that ExifTool quotes JSON values only if they don't look like numbers -(regardless of the original storage format or the relevant metadata -specification). This may be a problem when reading the JSON via a strongly -typed language. However, the API StructFormat option may be set to "JSONQ" -to force quoting of numbers. As well, the B<-sep> option may be used to -convert arrays into strings. For example: - - exiftool -j -api structformat=jsonq -sep ", " ... - -If I is specified, the file is imported and the tag definitions -from the file are used to set tag values on a per-file basis. The special -"SourceFile" entry in each JSON object associates the information with a -specific target file. An object with a missing SourceFile or a SourceFile -of "*" defines default tags for all target files which are combined with any -tags specified for the specific SourceFile processed. The imported JSON -file must have the same format as the exported JSON files with the exception -that options exporting JSON objects instead of simple values are not -compatible with the import file format (ie. export with B<-D>, B<-H>, B<-l>, -or B<-T> is not compatible, and use B<-G> instead of B<-g>). Additionally, -tag names in the input JSON file may be suffixed with a C<#> to disable -print conversion. - -Specific tags may be imported from the JSON database by adding B<->I -options to the command, or excluded with B<-->I, with exclusions taking -priority. Group names and wildcards are allowed. If no tags are specified, -then all except FileName and Directory are used. Tags are imported in the -same order as the database entries. - -Unlike CSV import, empty values are not ignored, and will cause an empty -value to be written if supported by the specific metadata type. Tags are -deleted by using the B<-f> option and setting the tag value to "-" (or to -the MissingTagValue setting if this API option was used). Importing with -B<-j>+=I causes new values to be added to existing lists. - -=item B<-l> (B<-long>) - -Use long 2-line Canon-style output format. Adds a description and -unconverted value (if it is different from the converted value) to the XML, -JSON or PHP output when B<-X>, B<-j> or B<-php> is used. May also be -combined with B<-listf>, B<-listr> or B<-listwf> to add descriptions of the -file types. - -=item B<-L> (B<-latin>) - -Use Windows Latin1 encoding (cp1252) for output tag values instead of the -default UTF-8. When writing, B<-L> specifies that input text values are -Latin1 instead of UTF-8. Equivalent to C<-charset latin>. - -=item B<-lang> [I] - -Set current language for tag descriptions and converted values. I is -C, C, C, etc. Use B<-lang> with no other arguments to get a -list of available languages. The default language is C if B<-lang> is -not specified. Note that tag/group names are always English, independent of -the B<-lang> setting, and translation of warning/error messages has not yet -been implemented. May also be combined with B<-listx> to output -descriptions in one language only. - -By default, ExifTool uses UTF-8 encoding for special characters, but the -B<-L> or B<-charset> option may be used to invoke other encodings. Note -that ExifTool uses Unicode::LineBreak if available to help preserve the -column alignment of the plain text output for languages with a -variable-width character set. - -Currently, the language support is not complete, but users are welcome to -help improve this by submitting their own translations. To submit a -translation, follow these steps (you must have Perl installed for this): - -1. Download and unpack the latest Image-ExifTool full distribution. - -2. 'cd' into the Image-ExifTool directory. - -3. Run this command to make an XML file of the desired tags (eg. EXIF): - - ./exiftool -listx -exif:all > out.xml - -4. Copy this text into a file called 'import.pl' in the exiftool directory: - - push @INC, 'lib'; - require Image::ExifTool::TagInfoXML; - my $file = shift or die "Expected XML file name\n"; - $Image::ExifTool::TagInfoXML::makeMissing = shift; - Image::ExifTool::TagInfoXML::BuildLangModules($file,8); - -5. Run the 'import.pl' script to Import the XML file, generating the -'MISSING' entries for your language (eg. Russian): - - perl import.pl out.xml ru - -6. Edit the generated language module lib/Image/ExifTool/Lang/ru.pm, and -search and replace all 'MISSING' strings in the file with your translations. - -7. Email the module ('ru.pm' in this example) to philharvey66 at gmail.com - -8. Thank you!! - -=item B<-listItem> I - -For list-type tags, this causes only the item with the specified index to be -extracted. I is 0 for the first item in the list. Negative indices -may also be used to reference items from the end of the list. Has no effect -on single-valued tags. Also applies to tag values when copying from a tag, -and in B<-if> conditions. - -=item B<-n> (B<--printConv>) - -Disable print conversion for all tags. By default, extracted values are -converted to a more human-readable format, but the B<-n> option disables -this conversion, revealing the machine-readable values. For example: - - > exiftool -Orientation -S a.jpg - Orientation: Rotate 90 CW - > exiftool -Orientation -S -n a.jpg - Orientation: 6 - -The print conversion may also be disabled on a per-tag basis by suffixing -the tag name with a C<#> character: - - > exiftool -Orientation# -Orientation -S a.jpg - Orientation: 6 - Orientation: Rotate 90 CW - -These techniques may also be used to disable the inverse print conversion -when writing. For example, the following commands all have the same effect: - - > exiftool -Orientation='Rotate 90 CW' a.jpg - > exiftool -Orientation=6 -n a.jpg - > exiftool -Orientation#=6 a.jpg - -=item B<-p>[-] I or I (B<-printFormat>) - -Print output in the format specified by the given string or file. The -argument is interpreted as a string unless a file of that name exists, in -which case the string is loaded from the contents of the file. Tag names in -the format string or file begin with a C<$> symbol and may contain leading -group names and/or a trailing C<#> (to disable print conversion). Case is -not significant. Braces C<{}> may be used around the tag name to separate -it from subsequent text (and must be used if subsequent text begins with an -alphanumeric character, hyphen, underline, colon or number sign). Use C<$$> -to represent a C<$> symbol, and C<$/> for a newline. When the string -argument is used (ie. I), a newline is added to the end of the string -unless B<-p-> is specified or the B<-b> option is used. - -Multiple B<-p> options may be used. Lines beginning with C<#[HEAD]> and -C<#[TAIL]> are output before the first processed file and after the last -processed file respectively. Lines beginning with C<#[SECT]> and C<#[ENDS]> -are output before and after each section of files. A section is defined as -a group of consecutive files with the same section header (eg. files are -grouped by directory if C<#[SECT]> contains C<$directory>). Lines beginning -with C<#[BODY]> and lines not beginning with C<#> are output for each -processed file. Lines beginning with C<#[IF]> are not output, but all BODY -lines are skipped if any tag on an IF line doesn't exist. Other lines -beginning with C<#> are ignored. (To output a line beginning with C<#>, use -C<#[BODY]#>.) For example, this format file: - - # this is a comment line - #[HEAD]-- Generated by ExifTool $exifToolVersion -- - File: $FileName - $DateTimeOriginal - (f/$Aperture, ${ShutterSpeed}s, ISO $EXIF:ISO) - #[TAIL]-- end -- - -with this command: - - exiftool -p test.fmt a.jpg b.jpg - -produces output like this: - - -- Generated by ExifTool 13.25 -- - File: a.jpg - 2003:10:31 15:44:19 - (f/5.6, 1/60s, ISO 100) - File: b.jpg - 2006:05:23 11:57:38 - (f/8.0, 1/13s, ISO 100) - -- end -- - -The values of List-type tags with multiple items, Shortcut tags representing -multiple tags, and matching tags when the C group is specified are -joined according the B<-sep> option setting when interpolated in the string. -(Note that when C is used as a group name, dupicate tags are included -regardless of the Duplicates option setting.) When C is used as a tag -name, a value of 1 is returned if any tag exists in the specified group, or -0 otherwise (unless the C group is also specified, in which case the -values of all matching tags are joined). - -The B<-p> output iterates through the family 3 group names, with each -sub-document producing additional output when combined with the B<-ee> -(ExtractEmbedded) option. - -If a specified tag does not exist, a minor warning is issued and the line -with the missing tag is not printed. However, the B<-f> option may be used -to set the value of missing tags to '-' (but this may be configured via the -API MissingTagValue option), or the B<-m> option may be used to ignore minor -warnings and leave the missing values empty. Alternatively, B<-q -q> may be -used to simply suppress the warning messages. - -The L may be used to modify the values of -individual tags within the B<-p> option string. - -Note that the API RequestTags option is automatically set for all tags used -in the I or I. This allows all other tags to be ignored using -B<-API IgnoreTags=all>, resulting in reduced memory usage and increased -speed. - -=item B<-php> - -Format output as a PHP Array. The B<-g>, B<-G>, B<-D>, B<-H>, B<-l>, -B<-sep> and B<-struct> options combine with B<-php>, and duplicate tags are -handled in the same way as with the B<-json> option. As well, the B<-b> -option may be added to output binary data, and B<-t> may be added to include -tag table information (see B<-t> for details). Here is a simple example -showing how this could be used in a PHP script: - - - -=item B<-plot> - -Write output for all specified tags and all input files as a single -SVG-formatted plot. When combined with this feature, the B<-w> option -argument is a complete file name with no format codes and the append feature -may not be used. Each tag specified on the command line represents a -dataset in the plot (or more for array values or if the Split plot setting -is used). Non-numerical values are ignored. Each input file may contribute -multiple points to a dataset if it contains sub-documents and the B<-ee> -option is used, or if the tag value is a delimited string of numbers (valid -delimiters are: space, comma, semicolon, tab and newline). Line, Scatter -and Histogram plot types are available. See the API Plot Option and -L for more details and information about the -plot settings. - -=item B<-s>[I] (B<-short>) - -Short output format. Prints tag names instead of descriptions. Add I -or up to 3 B<-s> options for even shorter formats: - - -s1 or -s - print tag names instead of descriptions - -s2 or -s -s - no extra spaces to column-align values - -s3 or -s -s -s - print values only (no tag names) - -Also effective when combined with B<-t>, B<-h>, B<-X> or B<-listx> options. - -=item B<-S> (B<-veryShort>) - -Very short format. The same as B<-s2> or two B<-s> options. Tag names are -printed instead of descriptions, and no extra spaces are added to -column-align values. - -=item B<-sep> I (B<-separator>) - -Specify separator string for items in list-type tags. When reading, the -default is to join list items with ", ". When writing, this option causes -values assigned to list-type tags to be split into individual items at each -substring matching I (otherwise they are not split by default). Space -characters in I match zero or more whitespace characters in the value. - -Note that an empty separator ("") is allowed, and will join items with no -separator when reading, or split the value into individual characters when -writing. - -For pure binary output (B<-b> used without B<-j>, B<-php> or B<-X>), the -first B<-sep> option specifies a list-item separator, and a second B<-sep> -option specifies a terminator for the end of the list (or after each value -if not a list). In these strings, C<\n>, C<\r> and C<\t> may be used to -represent a newline, carriage return and tab respectively. By default, -binary list items are separated by a newline, and no terminator is added. - -=item B<-sort>, B<--sort> - -Sort output by tag description, or by tag name if the B<-s> option is used. -When sorting by description, the sort order will depend on the B<-lang> -option setting. Without the B<-sort> option, tags appear in the order they -were specified on the command line, or if not specified, the order they were -extracted from the file. By default, tags are organized by groups when -combined with the B<-g> or B<-G> option, but this grouping may be disabled -with B<--sort>. - -=item B<-struct>, B<--struct> - -Output structured XMP information instead of flattening to individual tags. -This option works well when combined with the XML (B<-X>) and JSON (B<-j>) -output formats. For other output formats, XMP structures and lists are -serialized into the same format as when writing structured information (see -L for details). When copying, structured -tags are copied by default unless B<--struct> is used to disable this -feature (although flattened tags may still be copied by specifying them -individually unless B<-struct> is used). These options have no effect when -assigning new values since both flattened and structured tags may always be -used when writing. - -=item B<-t> (B<-tab>) - -Output a tab-delimited list of description/values (useful for database -import). May be combined with B<-s> to print tag names instead of -descriptions, or B<-S> to print tag values only, tab-delimited on a single -line. The B<-t> option may be combined with B<-j>, B<-php> or B<-X> to add -tag table information (C, tag C, and C for cases where -multiple conditional tags exist with the same ID), which allows the -corresponding tag to be located in the B<-listx> output. - -=item B<-T> (B<-table>) - -Output tag values in table form. Equivalent to B<-t -S -q -f>. - -=item B<-v>[I] (B<-verbose>) - -Print verbose messages. I specifies the level of verbosity in the -range 0-5, with higher numbers being more verbose. If I is not given, -then each B<-v> option increases the level of verbosity by 1. With any -level greater than 0, most other options are ignored and normal console -output is suppressed unless specific tags are extracted. Using B<-v0> -causes the console output buffer to be flushed after each line (which may be -useful to avoid delays when piping exiftool output), and prints the name of -each processed file when writing and the new file name when renaming, -moving or copying. Verbose levels above B<-v0> do not flush after each -line. Also see the B<-progress> option. - -=item B<-w>[+|!] I or I (B<-textOut>) - -Write console output to files with names ending in I, one for each -source file. The output file name is obtained by replacing the source file -extension (including the '.') with the specified extension (and a '.' is -added to the start of I if it doesn't already contain one). -Alternatively, a I string may be used to give more control over the -output file name and directory. In the format string, %d, %f and %e -represent the directory, filename and extension of the source file, and %c -represents a copy number which is automatically incremented if the file -already exists. %d includes the trailing '/' if necessary, but %e does not -include the leading '.'. For example: - - -w %d%f.txt # same effect as "-w txt" - -w dir/%f_%e.out # write files to "dir" as "FILE_EXT.out" - -w dir2/%d%f.txt # write to "dir2", keeping dir structure - -w a%c.txt # write to "a.txt" or "a1.txt" or "a2.txt"... - -Existing files will not be changed unless an exclamation point is added to -the option name (ie. B<-w!> or B<-textOut!>) to overwrite the file, or a -plus sign (ie. B<-w+> or B<-textOut+>) to append to the existing file. Both -may be used (ie. B<-w+!> or B<-textOut+!>) to overwrite output files that -didn't exist before the command was run, and append the output from multiple -source files. For example, to write one output file for all source files in -each directory: - - exiftool -filename -createdate -T -w+! %d/out.txt -r DIR - -Capitalized format codes %D, %F, %E and %C provide slightly different -alternatives to the lower case versions. %D does not include the trailing -'/', %F is the full filename including extension, %E includes the leading -'.', and %C increments the count for each processed file (see below). - -Notes: - -1) In a Windows BAT file the C<%> character is represented by C<%%>, so an -argument like C<%d%f.txt> is written as C<%%d%%f.txt>. - -2) If the argument for B<-w> does not contain a valid format code (eg. %f), -then it is interpreted as a file extension, but there are three different -ways to create a single output file from multiple source files: - - # 1. Shell redirection - exiftool FILE1 FILE2 ... > out.txt - - # 2. With the -w option and a zero-width format code - exiftool -w+! %0fout.txt FILE1 FILE2 ... - - # 3. With the -W option (see the -W option below) - exiftool -W+! out.txt FILE1 FILE2 ... - -3) The B<-w> option changes when used with a multi-file output format -(B<-csv> or B<-plot>). With these, the argument of B<-w> is a complete file -name with no formatting codes, and the append feature may not be used. - -Advanced features: - -A substring of the original file name, directory or extension may be taken -by specifying a field width immediately following the '%' character. If the -width is negative, the substring is taken from the end. The substring -position (characters to ignore at the start or end of the string) may be -given by a second optional value after a decimal point. For example: - - Input File Name Format Specifier Output File Name - ---------------- ---------------- ---------------- - Picture-123.jpg %7f.txt Picture.txt - Picture-123.jpg %-.4f.out Picture.out - Picture-123.jpg %7f.%-3f Picture.123 - Picture-123a.jpg Meta%-3.1f.txt Meta123.txt - -(Note that special characters may have a width of greater than one.) - -For %d and %D, the field width/position specifiers may be applied to the -directory levels instead of substring position by using a colon instead of a -decimal point in the format specifier. For example: - - Source Dir Format Result Notes - ------------ ------ ---------- ------------------ - pics/2012/02 %2:d pics/2012/ take top 2 levels - pics/2012/02 %-:1d pics/2012/ up one directory level - pics/2012/02 %:1d 2012/02/ ignore top level - pics/2012/02 %1:1d 2012/ take 1 level after top - pics/2012/02 %-1:D 02 bottom level folder name - /Users/phil %:2d phil/ ignore top 2 levels - -(Note that the root directory counts as one level when an absolute path is -used as in the last example above.) - -For %c, these modifiers have a different effects. If a field width is -given, the copy number is padded with zeros to the specified width. A -leading '-' adds a dash before the copy number, and a '+' adds an underline. -By default, the copy number is omitted from the first file of a given name, -but this can be changed by adding a decimal point to the modifier. For -example: - - -w A%-cZ.txt # AZ.txt, A-1Z.txt, A-2Z.txt ... - -w B%5c.txt # B.txt, B00001.txt, B00002.txt ... - -w C%.c.txt # C0.txt, C1.txt, C2.txt ... - -w D%-.c.txt # D-0.txt, D-1.txt, D-2.txt ... - -w E%-.4c.txt # E-0000.txt, E-0001.txt, E-0002.txt ... - -w F%-.4nc.txt # F-0001.txt, F-0002.txt, F-0003.txt ... - -w G%+c.txt # G.txt, G_1.txt G_2.txt ... - -w H%-lc.txt # H.txt, H-b.txt, H-c.txt ... - -w I.%.3uc.txt # I.AAA.txt, I.AAB.txt, I.AAC.txt ... - -A special feature allows the copy number to be incremented for each -processed file by using %C (upper case) instead of %c. This allows a -sequential number to be added to output file names, even if the names are -different. For %C, a copy number of zero is not omitted as it is with %c. -A leading '-' causes the number to be reset at the start of each new -directory (in the original directory structure if the files are being -moved), and '+' has no effect. The number before the decimal place gives -the starting index, the number after the decimal place gives the field -width. To preserve synchronization with the processed file number, by -default the copy number is not incremented to avoid file name collisions, so -any existing same-named file will cause an error. However using a colon -instead of a decimal point causes the number to be incremented to avoid -collisions with existing files. - -The following examples show the output filenames when used with the -command C: - - -w %C%f.txt # 0rose.txt, 1star.txt, 2jet.txt - -w %f-%10C.txt # rose-10.txt, star-11.txt, jet-12.txt - -w %.3C-%f.txt # 000-rose.txt, 001-star.txt, 002-jet.txt - -w %57.4C%f.txt # 0057rose.txt, 0058star.txt, 0059jet.txt - -All format codes may be modified by 'l' or 'u' to specify lower or upper -case respectively (ie. C<%le> for a lower case file extension). When used -to modify %c or %C, the numbers are changed to an alphabetical base (see -example H above). Also, %c and %C may be modified by 'n' to count using -natural numbers starting from 1, instead of 0 (see example F above). - -This same I syntax is used with the B<-o> and B<-tagsFromFile> options, -although %c and %C are only valid for output file names. - -=item B<-W>[+|!] I (B<-tagOut>) - -This enhanced version of the B<-w> option allows a separate output file to -be created for each extracted tag. See the B<-w> option documentation above -for details of the basic functionality. Listed here are the differences -between B<-W> and B<-w>: - -1) With B<-W>, a new output file is created for each extracted tag. - -2) B<-W> supports four additional format codes: %t, %g and %s represent the -tag name, group name, and suggested extension for the output file (based on -the format of the data), and %o represents the value of the -OriginalRawFileName or OriginalFileName tag from the input file (including -extension). The %g code may be followed by a single digit to specify the -group family number (eg. %g1), otherwise family 0 is assumed. The substring -width/position/case specifiers may be used with these format codes in -exactly the same way as with %f and %e. - -3) The argument for B<-W> is interpreted as a file name if it contains no -format codes. (For B<-w>, this would be a file extension.) This change -allows a simple file name to be specified, which, when combined with the -append feature, provides a method to write metadata from multiple source -files to a single output file without the need for shell redirection. For -example, the following pairs of commands give the same result: - - # overwriting existing text file - exiftool test.jpg > out.txt # shell redirection - exiftool test.jpg -W+! out.txt # equivalent -W option - - # append to existing text file - exiftool test.jpg >> out.txt # shell redirection - exiftool test.jpg -W+ out.txt # equivalent -W option - -4) Adding the B<-v> option to B<-W> sends a list of the tags and output file -names to the console instead of giving a verbose dump of the entire file. -(Unless appending all output to one file for each source file by using -B<-W+> with an output file I that does not contain %t, %g, %s or %o.) - -5) Individual list items are stored in separate files when B<-W> is combined -with B<-b>, but note that for separate files to be created %c or %C must be -used in I to give the files unique names. - -=item B<-Wext> I, B<--Wext> I (B<-tagOutExt>) - -This option is used to specify the type of output file(s) written by the -B<-W> option. An output file is written only if the suggested extension -matches I. Multiple B<-Wext> options may be used to write more than -one type of file. Use B<--Wext> to write all but the specified type(s). - -=item B<-X> (B<-xmlFormat>) - -Use ExifTool-specific RDF/XML formatting for console output. Implies the -B<-a> option, so duplicate tags are extracted. The formatting options -B<-b>, B<-D>, B<-H>, B<-l>, B<-s>, B<-sep>, B<-struct> and B<-t> may be used -in combination with B<-X> to affect the output, but note that the tag ID -(B<-D>, B<-H> and B<-t>), binary data (B<-b>) and structured output -(B<-struct>) options are not effective for the short output (B<-s>). Another -restriction of B<-s> is that only one tag with a given group and name may -appear in the output. Note that the tag ID options (B<-D>, B<-H> and B<-t>) -will produce non-standard RDF/XML unless the B<-l> option is also used. - -By default, B<-X> outputs flattened tags, so B<-struct> should be added if -required to preserve XMP structures. List-type tags with multiple values -are formatted as an RDF Bag, but they are combined into a single string when -B<-s> or B<-sep> is used. Using B<-L> changes the XML encoding from "UTF-8" -to "windows-1252". Other B<-charset> settings change the encoding only if -there is a corresponding standard XML character set. The B<-b> option -causes binary data values to be written, encoded in base64 if necessary. -The B<-t> option adds tag table information to the output (see B<-t> for -details). - -Note: This output is NOT the same as XMP because it uses -dynamically-generated property names corresponding to the ExifTool tag names -with ExifTool family 1 group names as namespaces, and not the standard XMP -properties and namespaces. To write XMP instead, use the B<-o> option with -an XMP extension for the output file. - -=back - -=head3 Processing control - -=over 5 - -=item B<-a>, B<--a> (B<-duplicates>, B<--duplicates>) - -Allow (B<-a>) or suppress (B<--a>) duplicate tag names to be extracted. By -default, duplicate tags are suppressed when reading unless the B<-ee> or B<-X> -options are used or the Duplicates option is enabled in the configuration file. -When writing, this option allows multiple Warning messages to be shown. -Duplicate tags are always extracted when copying. - -=item B<-e> (B<--composite>) - -Extract existing tags only -- don't generate composite tags. - -=item B<-ee>[I] (B<-extractEmbedded>) - -Extract information from embedded documents in EPS files, embedded EPS -information and JPEG and Jpeg2000 images in PDF files, embedded MPF images -in JPEG and MPO files, streaming metadata in AVCHD videos, and the resource -fork of Mac OS files. Implies the B<-a> option. Use B<-g3> or B<-G3> to -identify the originating document for extracted information. Embedded -documents containing sub-documents are indicated with dashes in the family 3 -group name. (eg. C is the 3rd sub-document of the 2nd embedded -document.) Note that this option may increase processing time substantially, -especially for PDF files with many embedded images or videos with streaming -metadata. - -When used with B<-ee>, the B<-p> option is evaluated for each embedded -document as if it were a separate input file. This allows, for example, -generation of GPS track logs from timed metadata in videos. See -L for examples. - -Setting I to 2 causes the H264 video stream in MP4 videos to be parsed -until the first Supplemental Enhancement Information (SEI) message is -decoded, or 3 to parse the entire H624 stream and decode all SEI -information. For M2TS videos, a setting of 3 causes the entire file to be -parsed in search of unlisted programs which may contain timed GPS. - -=item B<-ext>[+] I, B<--ext> I (B<-extension>) - -Process only files with (B<-ext>) or without (B<--ext>) a specified -extension. There may be multiple B<-ext> and B<--ext> options. A plus sign -may be added (ie. B<-ext+>) to add the specified extension to the normally -processed files. EXT may begin with a leading '.', which is ignored. Case -is not significant. C<"*"> may be used to process files with any extension -(or none at all), as in the last three examples: - - exiftool -ext JPG DIR # process only JPG files - exiftool --ext cr2 --ext dng DIR # supported files but CR2/DNG - exiftool -ext+ txt DIR # supported files plus TXT - exiftool -ext "*" DIR # process all files - exiftool -ext "*" --ext xml DIR # process all but XML files - exiftool -ext "*" --ext . DIR # all but those with no ext - -Using this option has two main advantages over specifying C<*.I> on the -command line: 1) It applies to files in subdirectories when combined with -the B<-r> option. 2) The B<-ext> option is case-insensitive, which is -useful when processing files on case-sensitive filesystems. - -Note that all files specified on the command line will be processed -regardless of extension unless the B<-ext> option is used. - -=item B<-F>[I] (B<-fixBase>) - -Fix the base for maker notes offsets. A common problem with some image -editors is that offsets in the maker notes are not adjusted properly when -the file is modified. This may cause the wrong values to be extracted for -some maker note entries when reading the edited file. This option allows an -integer I to be specified for adjusting the maker notes base offset. -If no I is given, ExifTool takes its best guess at the correct base. -Note that exiftool will automatically fix the offsets for images which store -original offset information (eg. newer Canon models). Offsets are fixed -permanently if B<-F> is used when writing EXIF to an image. eg) - - exiftool -F -exif:resolutionunit=inches image.jpg - -=item B<-fast>[I] - -Increase speed of extracting information. With B<-fast> (or B<-fast1>), -ExifTool will not scan to the end of a JPEG image to check for an AFCP or -PreviewImage trailer, or past the first comment in GIF images or the -audio/video data in WAV/AVI files to search for additional metadata. These -speed benefits are small when reading images directly from disk, but can be -substantial if piping images through a network connection. Also bypasses -CRC validation when writing PNG images which can be very slow. For more -substantial speed benefits, B<-fast2> also causes exiftool to avoid -extracting any EXIF MakerNote information, and to stop processing at the -IDAT chunk of PNG images and the mdat atom of QuickTime-format files (but -note that some files may store metadata after this). B<-fast3> avoids -extracting metadata from the file, and returns only pseudo System tags, but -still reads the file header to obtain an educated guess at FileType. -B<-fast4> doesn't even read the file header, and returns only System tags -and a FileType based on the file extension. B<-fast5> also disables -generation of the Composite tags (like B<-e>). Has no effect when writing. - -Note that a separate B<-fast> setting may be used for evaluation of a B<-if> -condition, or when ordering files with the B<-fileOrder> option. See the -B<-if> and B<-fileOrder> options for details. - -=item B<-fileOrder>[I] [-]I - -Set file processing order according to the sorted value of the specified -I. Without this option, files are processed in the order returned by -the system, which is commonly by file name, but this is filesystem -dependent. For example, to process files in order of date: - - exiftool -fileOrder DateTimeOriginal DIR - -Additional B<-fileOrder> options may be added for secondary sort keys. -Numbers are sorted numerically, and all other values are sorted -alphabetically. Files missing the specified tag are sorted last. The sort -order may be reversed by prefixing the tag name with a C<-> (eg. -C<-fileOrder -createdate>). Print conversion of the sorted values is -disabled with the B<-n> option, or a C<#> appended to the tag name. Other -formatting options (eg. B<-d>) have no effect on the sorted values. Note -that the B<-fileOrder> option can incur large performance penalty since it -involves an additional initial processing pass of all files, but this impact -may be reduced by specifying a I to effectively set the B<-fast> level -for the initial pass. For example, B<-fileOrder4> may be used if I is -a pseudo System tag. If multiple B<-fileOrder> options are used, the -extraction is done at the lowest B<-fast> level. Note that files are sorted -across directory boundaries if multiple input directories are specified. - -=item B<-i> I (B<-ignore>) - -Ignore specified directory name. I may be either an individual folder -name, or a full path, and is case sensitive. If a full path is specified, -it must match the Directory tag exactly to be ignored. Use multiple B<-i> -options to ignore more than one directory name. A special I value of -C may be specified to avoid recursing into directories which are -symbolic links when the B<-r> option is used. As well, a value of C -may be used to ignore files with names that start with a "." (ie. hidden -files on Unix systems) when scanning a directory. - -=item B<-if>[I] I - -Specify a condition to be evaluated before processing each I. I -is a Perl-like logic expression containing tag names prefixed by C<$> -symbols. It is evaluated with the tags from each I in turn, and the -file is processed only if the expression returns true. Unlike Perl variable -names, tag names are not case sensitive and may contain a hyphen. As well, -tag names may have a leading group names separated by colons, and/or a -trailing C<#> character to disable print conversion. The expression -C<$GROUP:all> evaluates to 1 if any tag exists in the specified C, or -0 otherwise (see note 2 below). When multiple B<-if> options are used, all -conditions must be satisfied to process the file. Returns an exit status of -2 if all files fail the condition. Below are a few examples: - - # extract shutterspeed from all Canon images in a directory - exiftool -shutterspeed -if '$make eq "Canon"' dir - - # add one hour to all images created on or after Apr. 2, 2006 - exiftool -alldates+=1 -if '$CreateDate ge "2006:04:02"' dir - - # set EXIF ISO value if possible, unless it is set already - exiftool '-exif:iso to the B<-if> option causes a separate processing pass to be -executed for evaluating I at a B<-fast> level given by I (see the -B<-fast> option documentation for details). Without I, only one -processing pass is done at the level specified by the B<-fast> option. For -example, using B<-if5> is possible if I uses only pseudo System tags, -and may significantly speed processing if enough files fail the condition. - -The expression has access to the current ExifTool object through C<$self>, -and the following special functions are available to allow short-circuiting -of the file processing. Both functions have a return value of 1. Case is -significant for function names. - - End() - end processing after this file - EndDir() - end processing of files in the current directory - after this file (not compatible with -fileOrder) - -Notes: - -1) The B<-n> and B<-b> options also apply to tags used in I. - -2) Some binary data blocks are not extracted unless specified explicitly. -These tags are not available for use in the B<-if> condition unless they are -also specified on the command line. The alternative is to use the -C<$GROUP:all> syntax. (eg. Use C<$exif:all> instead of C<$exif> in I -to test for the existence of EXIF tags.) - -3) Tags in the string are interpolated in a similar way to B<-p> before the -expression is evaluated. In this interpolation, C<$/> is converted to a -newline and C<$$> represents a single C<$> symbol. So Perl variables, if -used, require a double C<$>, and regular expressions ending in C<$/> must -use C<$$/> instead. - -4) The condition accesses only tags from the file being processed unless the -B<-fileNUM> option is used to read an alternate file and the corresponding -family 8 group name is specified for the tag. See the B<-fileNUM> option -details for more information. - -5) The B<-a> (Duplicates) option is implied when B<-if> is used without a -fast I, and the values of duplicate tags are accessible by specifying a -group name in the expression (such as a family 4 instance number, eg. -C<$Copy1:TAG>, C<$Copy2:TAG>, etc). - -6) A special "OK" UserParam is available to test the success of the previous -command when B<-execute> was used, and may be used like any other tag in the -condition (ie. "$OK"). - -7) The API RequestTags option is automatically set for all tags used in the -B<-if> condition. - -=item B<-m> (B<-ignoreMinorErrors>) - -Ignore minor errors and warnings. This enables writing to files with minor -errors and disables some validation checks which could result in minor -warnings. Generally, minor errors/warnings indicate a problem which usually -won't result in loss of metadata if ignored. However, there are exceptions, -so ExifTool leaves it up to you to make the final decision. Minor errors -and warnings are indicated by "[minor]" at the start of the message. -Warnings which affect processing when ignored are indicated by "[Minor]" -(with a capital "M"). Note that this causes missing values in -B<-tagsFromFile>, B<-p> and B<-if> strings to be set to an empty string -rather than an undefined value. - -=item B<-o> I or I (B<-out>) - -Set the output file or directory name when writing information. Without -this option, when any "real" tags are written the original file is renamed -to C and output is written to I. When writing only -FileName and/or Directory "pseudo" tags, B<-o> causes the file to be copied -instead of moved, but directories specified for either of these tags take -precedence over that specified by the B<-o> option. - -I may be C<-> to write to stdout. The output file name may also be -specified using a I string in which %d, %f and %e represent the -directory, file name and extension of I. Also, %c may be used to add -a copy number. See the B<-w> option for I string examples. - -The output file is taken to be a directory name if it already exists as a -directory or if the name ends with '/'. Output directories are created if -necessary. Existing files will not be overwritten. Combining the -B<-overwrite_original> option with B<-o> causes the original source file to -be erased after the output file is successfully written. - -A special feature of this option allows the creation of certain types of -files from scratch, or with the metadata from another type of file. The -following file types may be created using this technique: - - XMP, EXIF, EXV, MIE, ICC/ICM, VRD, DR4 - -The output file type is determined by the extension of I (specified -as C<-.EXT> when writing to stdout). The output file is then created from a -combination of information in I (as if the B<-tagsFromFile> option was -used), and tag values assigned on the command line. If no I is -specified, the output file may be created from scratch using only tags -assigned on the command line. - -=item B<-overwrite_original> - -Overwrite the original I (instead of preserving it by adding -C<_original> to the file name) when writing information to an image. -Caution: This option should only be used if you already have separate backup -copies of your image files. The overwrite is implemented by renaming a -temporary file to replace the original. This deletes the original file and -replaces it with the edited version in a single operation. When combined -with B<-o>, this option causes the original file to be deleted if the output -file was successfully written (ie. the file is moved instead of copied). - -=item B<-overwrite_original_in_place> - -Similar to B<-overwrite_original> except that an extra step is added to -allow the original file attributes to be preserved. For example, on a Mac -this causes the original file creation date, type, creator, label color, -icon, Finder tags, other extended attributes and hard links to the file to -be preserved (but note that the Mac OS resource fork is always preserved -unless specifically deleted with C<-rsrc:all=>). This is implemented by -opening the original file in update mode and replacing its data with a copy -of a temporary file before deleting the temporary. The extra step results -in slower performance, so the B<-overwrite_original> option should be used -instead unless necessary. - -Note that this option reverts to the behaviour of the B<-overwrite_original> -option when also writing the FileName and/or Directory tags. - -=item B<-P> (B<-preserve>) - -Preserve the filesystem modification date/time (C) of the -original file when writing. Note that some filesystems store a creation -date (ie. C on Windows and Mac systems) which is not -affected by this option. This creation date is preserved on Windows systems -where Win32API::File and Win32::API are available regardless of this -setting. For other systems, the B<-overwrite_original_in_place> option may -be used if necessary to preserve the creation date. The B<-P> option is -superseded by any value written to the FileModifyDate tag. - -=item B<-password> I - -Specify password to allow processing of password-protected PDF documents. -If a password is required but not given, a warning is issued and the -document is not processed. This option is ignored if a password is not -required. - -=item B<-progress>[NUM][:[I]] - -Show the progress when processing files. Without a colon, the B<-progress> -option adds a progress count in brackets after the name of each processed -file, giving the current file number and the total number of files to be -processed. Implies the B<-v0> option, causing the names of processed files -to also be printed when writing. When combined with the B<-if> option, the -total count includes all files before the condition is applied, but files -that fail the condition will not have their names printed. If NUM is -specified, the progress is shown every NUM input files. - -If followed by a colon (ie. B<-progress:>), the console window title is set -according to the specified I<TITLE> string. If no I<TITLE> is given, a -default I<TITLE> string of "ExifTool %p%%" is assumed. In the string, %f -represents the file name, %p is the progress as a percent, %r is the -progress as a ratio, %##b is a progress bar of width "##" (where "##" is an -integer specifying the bar width in characters, or 20 characters by default -if "##" is omitted), and %% is a % character. May be combined with the -normal B<-progress> option to also show the progress count in console -messages. (Note: For this feature to function correctly on Mac/Linux, stderr -must go to the console.) - -=item B<-q> (B<-quiet>) - -Quiet processing. One B<-q> suppresses normal informational messages, and a -second B<-q> suppresses warnings as well. Error messages can not be -suppressed, although minor errors may be downgraded to warnings with the -B<-m> option, which may then be suppressed with C<-q -q>. - -=item B<-r>[.] (B<-recurse>) - -Recursively process files in subdirectories. Only meaningful if I<FILE> is -a directory name. Subdirectories with names beginning with "." are not -processed unless "." is added to the option name (ie. B<-r.> or -B<-recurse.>). By default, exiftool will also follow symbolic links to -directories if supported by the system, but this may be disabled with -C<-i SYMLINKS> (see the B<-i> option for details). Combine this with -B<-ext> options to control the types of files processed. - -=item B<-scanForXMP> - -Scan all files (even unsupported formats) for XMP information unless found -already. When combined with the B<-fast> option, only unsupported file -types are scanned. Warning: It can be time consuming to scan large files. - -=item B<-u> (B<-unknown>) - -Extract values of unknown tags. Add another B<-u> to also extract unknown -information from binary data blocks. This option applies to tags with -numerical tag ID's, and causes tag names like "Exif_0xc5d9" to be generated -for unknown information. It has no effect on information types which have -human-readable tag ID's (such as XMP), since unknown tags are extracted -automatically from these formats. - -=item B<-U> (B<-unknown2>) - -Extract values of unknown tags as well as unknown information from some -binary data blocks. This is the same as two B<-u> options. - -=item B<-wm> I<MODE> (B<-writeMode>) - -Set mode for writing/creating tags. I<MODE> is a string of one or more -characters from the list below. The default write mode is C<wcg>. - - w - Write existing tags - c - Create new tags - g - create new Groups as necessary - -For example, use C<-wm cg> to only create new tags (and avoid editing -existing ones). - -The level of the group is the SubDirectory level in the metadata structure. -For XMP or IPTC this is the full XMP/IPTC block (the family 0 group), but -for EXIF this is the individual IFD (the family 1 group). - -=item B<-z> (B<-zip>) - -When reading, causes information to be extracted from .gz and .bz2 -compressed images (only one image per archive; requires gzip and bzip2 to be -available). When writing, causes compressed information to be written if -supported by the metadata format (eg. PNG supports compressed textual -metadata, JXL supports compressed EXIF and XML, and MIE supports any -compressed metadata), disables the recommended padding in embedded XMP -(saving 2424 bytes when writing XMP in a file), and writes XMP in shorthand -format -- the equivalent of setting the API Compress=1 and -Compact="NoPadding,Shorthand". - -=back - -=head3 Other options - -=over 5 - -=item B<-@> I<ARGFILE> - -Read command-line arguments from the specified file. The file contains one -argument per line (NOT one option per line -- some options require -additional arguments, and all arguments must be placed on separate lines). -Blank lines and lines beginning with C<#> are ignored (unless they start -with C<#[CSTR]>, in which case the rest of the line is treated as a C -string, allowing standard C escape sequences such as "\n" for a newline). -White space at the start of a line is removed. Normal shell processing of -arguments is not performed, which among other things means that arguments -should not be quoted and spaces are treated as any other character. -I<ARGFILE> may exist relative to either the current directory or the -exiftool directory unless an absolute pathname is given. - -For example, the following I<ARGFILE> will set the value of Copyright to -"Copyright YYYY, Phil Harvey", where "YYYY" is the year of CreateDate: - - -d - %Y - -copyright<Copyright $createdate, Phil Harvey - -Arguments in I<ARGFILE> behave exactly the same as if they were entered at -the location of the B<-@> option on the command line, with the exception -that the B<-config> and B<-common_args> options may not be used in an -I<ARGFILE>. - -=item B<-k> (B<-pause>) - -Pause with the message C<-- press any key --> or C<-- press RETURN --> -(depending on your system) before terminating. This option is used to -prevent the command window from closing when run as a Windows drag and drop -application. - -=item B<-list>, B<-listw>, B<-listf>, B<-listr>, B<-listwf>, -B<-listg>[I<NUM>], B<-listd>, B<-listx>, B<-listgeo> - -Print a list of all valid tag names (B<-list>), all writable tag names -(B<-listw>), all supported file extensions (B<-listf>), all recognized file -extensions (B<-listr>), all writable file extensions (B<-listwf>), all tag -groups [in a specified family] (B<-listg>[I<NUM>]), all deletable tag groups -(B<-listd>), an XML database of tag details including language translations -(B<-listx>), or the Geolocation database (B<-listgeo>). The B<-list>, -B<-listw> and B<-listx> options may be followed by an additional argument of -the form C<-GROUP:All> to list only tags in a specific group, where C<GROUP> -is one or more family 0-2 group names (excepting EXIF IFD groups) separated -by colons. With B<-listg>, I<NUM> may be given to specify the group family, -otherwise family 0 is assumed. The B<-l> or B<-v> option may be combined -with B<-listf>, B<-listr> or B<-listwf> to add file descriptions to the -list. The B<-lang> option may be combined with B<-listx> to output -descriptions in a single language, and the B<-sort> and/or B<-lang> options -may be combined with B<-listgeo>. Also, the API GeolocMinPop, GeolocFeature -and GeolocAltNames options apply to the B<-listgeo> output. Here are some -examples: - - -list # list all tag names - -list -EXIF:All # list all EXIF tags - -list -xmp:time:all # list all XMP tags relating to time - -listw -XMP-dc:All # list all writable XMP-dc tags - -listf # list all supported file extensions - -listr # list all recognized file extensions - -listwf # list all writable file extensions - -listg1 # list all groups in family 1 - -listd # list all deletable groups - -listx -EXIF:All # list database of EXIF tags in XML format - -listx -XMP:All -s # list short XML database of XMP tags - -listgeo -lang de # list geolocation database in German - -When combined with B<-listx>, the B<-s> option shortens the output by -omitting the descriptions and values (as in the last example above), and -B<-f> adds 'flags' and 'struct' attributes if applicable. The flags are -formatted as a comma-separated list of the following possible values: -Avoid, Binary, List, Mandatory, Permanent, Protected, Unknown and Unsafe -(see the L<Tag Name documentation|Image::ExifTool::TagNames>). For XMP List -tags, the list type (Alt, Bag or Seq) is also given, and flattened structure -tags are indicated by a Flattened flag with 'struct' giving the ID of the -parent structure. - -Note that none of the B<-list> options require an input I<FILE>. - -=item B<-ver> - -Print exiftool version number. The B<-v> option may be added to print -addition system information (see the README file of the full distribution -for more details about optional libraries), or B<-v2> to also list the Perl -include directories. - -=item B<--> - -Indicates the end of options. Any remaining arguments are treated as file -names, even if they begin with a dash (C<->). - -=back - -=head3 Special features - -=over 5 - -=item B<-diff> I<FILE2> - -Compare metadata in I<FILE> with I<FILE2>. The I<FILE2> name may include -filename formatting codes (see the B<-w> option). All extracted tags from -the files are compared, but the extracted tags may be controlled by adding -B<->I<TAG> or B<-->I<TAG> options. For example, below is a command to -compare all the same-named files in two different directories, ignoring the -System tags: - - exiftool DIR1 -diff DIR2/%f.%e --system:all - -The B<-g> and B<-G> options may be used to organize the output by the -specified family of groups, with B<-G1> being the default. The B<-a> option -is implied. Adding B<-v> includes a count of the number of tags that are -the same in each group, and B<-v2> also indicates when zero tags were the -same. The following text formatting options are valid when B<-diff> is -used: B<-c>, B<-charset>, B<-d>, B<-E>, B<-ec>, B<-ex>, B<-L>, B<-lang>, -B<-n>, B<-s>, B<-sep>, B<-struct> and B<-w>. - -=item B<-geotag> I<TRKFILE> - -Geotag images from the specified GPS track log file. Using the B<-geotag> -option is equivalent to writing a value to the C<Geotag> tag. The GPS -position is interpolated from the track at a time specified by the value -written to the C<Geotime> tag. If C<Geotime> is not specified, the value is -copied from C<DateTimeOriginal#> (the C<#> is added to copy the unformatted -value, avoiding potential conflicts with the B<-d> option). For example, -the following two commands are equivalent: - - exiftool -geotag trk.log image.jpg - exiftool -geotag trk.log "-Geotime<DateTimeOriginal#" image.jpg - -If the C<Geotime> value does not contain a time zone then the local system -timezone is assumed. Writing C<Geotime> causes the following tags to be -written (provided they can be calculated from the track log, and they are -supported by the destination metadata format): GPSLatitude, GPSLatitudeRef, -GPSLongitude, GPSLongitudeRef, GPSAltitude, GPSAltitudeRef, GPSDateStamp, -GPSTimeStamp, GPSDateTime, GPSTrack, GPSTrackRef, GPSSpeed, GPSSpeedRef, -GPSImgDirection, GPSImgDirectionRef, GPSMeasureMode, GPSDOP, GPSPitch, -GPSRoll, GPSCoordinates, AmbientTemperature and CameraElevationAngle. By -default, in image files tags are created in EXIF, and updated in XMP only if -they already exist. In QuickTime-format files GPSCoordinates is created in -the preferred location (ItemList by default) as well as in XMP. However, -C<EXIF:Geotime>, C<XMP:Geotime> or C<QuickTime:Geotime> may be specified to -write to write only to one group. Also, C<ItemList:Geotime>, C<Keys:Geotime> -or C<UserData:Geotime> may be used to write to a specific location in -QuickTime-format files. Note that GPSPitch and GPSRoll are non-standard, -and require user-defined tags in order to be written. - -The C<Geosync> tag may be used to specify a time correction which is applied -to each C<Geotime> value for synchronization with GPS time. For example, -the following command compensates for image times which are 1 minute and 20 -seconds behind GPS: - - exiftool -geosync=+1:20 -geotag a.log DIR - -Advanced C<Geosync> features allow a piecewise linear time drift correction -and synchronization from previously geotagged images. See "geotag.html" in -the full ExifTool distribution for more information. - -Multiple B<-geotag> options may be used to concatenate GPS track log data. -Also, a single B<-geotag> option may be used to load multiple track log -files by using wildcards in the I<TRKFILE> name, but note that in this case -I<TRKFILE> must be quoted on most systems (with the notable exception of -Windows) to prevent filename expansion. For example: - - exiftool -geotag "TRACKDIR/*.log" IMAGEDIR - -Currently supported track file formats are GPX, NMEA RMC/GGA/GLL, KML, IGC, -Garmin XML and TCX, Magellan PMGNTRK, Honeywell PTNTHPR, Bramor gEO, Winplus -Beacon TXT, and GPS/IMU CSV files. See L</GEOTAGGING EXAMPLES> for -examples. Also see "geotag.html" in the full ExifTool distribution and the -L<Image::ExifTool Options|Image::ExifTool/Options> for more details and for -information about geotag configuration options. - -The API Geolocation option may be set to the value "geotag" to also write -the name, province/state and country of the nearest city while geotagging. -See L<https://exiftool.org/geolocation.html> for details. - -=item B<-globalTimeShift> I<SHIFT> - -Shift all formatted date/time values by the specified amount when reading. -Does not apply to unformatted (B<-n>) output. I<SHIFT> takes the same form -as the date/time shift when writing (see -L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> for details), with a -negative shift being indicated with a minus sign (C<->) at the start of the -I<SHIFT> string. For example: - - # return all date/times, shifted back by 1 hour - exiftool -globalTimeShift -1 -time:all a.jpg - - # set the file name from the shifted CreateDate (-1 day) for - # all images in a directory - exiftool "-filename<createdate" -globaltimeshift "-0:0:1 0:0:0" \ - -d %Y%m%d-%H%M%S.%%e dir - -=item B<-use> I<MODULE> - -Add features from specified plug-in I<MODULE>. Currently, the MWG module is -the only plug-in module distributed with exiftool. This module adds -read/write support for tags as recommended by the Metadata Working Group. As -a convenience, C<-use MWG> is assumed if the group name prefix starts with -C<MWG:> exactly for any requested tag. See the -L<MWG Tags documentation|Image::ExifTool::TagNames/MWG Tags> for more -details. Note that this option is not reversible, and remains in effect -until the application terminates, even across the B<-execute> option. - -=back - -=head3 Utilities - -=over 5 - -=item B<-restore_original> - -=item B<-delete_original>[!] - -These utility options automate the maintenance of the C<_original> files -created by exiftool. They have no effect on files without an C<_original> -copy. The B<-restore_original> option restores the specified files from -their original copies by renaming the C<_original> files to replace the -edited versions. For example, the following command restores the originals -of all JPG images in directory C<DIR>: - - exiftool -restore_original -ext jpg DIR - -The B<-delete_original> option deletes the C<_original> copies of all files -specified on the command line. Without a trailing C<!> this option prompts -for confirmation before continuing. For example, the following command -deletes C<a.jpg_original> if it exists, after asking "Are you sure?": - - exiftool -delete_original a.jpg - -These options may not be used with other options to read or write tag values -in the same command, but may be combined with options such B<-ext>, B<-if>, -B<-r>, B<-q> and B<-v>. - -=back - -=head3 Advanced options - -Among other things, the advanced options allow complex processing to be -performed from a single command without the need for additional scripting. -This may be particularly useful for implementations such as Windows -drag-and-drop applications. These options may also be used to improve -performance in multi-pass processing by reducing the overhead required to -load exiftool for each invocation. - -=over 5 - -=item B<-api> [I<OPT[[^]=[VAL]]>] - -Set ExifTool API option. I<OPT> is an API option name. The option value is -set to 1 if I<=VAL> is omitted. If I<VAL> is omitted, the option value is -set to undef if C<=> is used, or an empty string with C<^=>. If I<OPT> is -not specified a list of available options is returned. The option name is -not case senstive, but the option values are. See -L<Image::ExifTool Options|Image::ExifTool/Options> for option details. This -overrides API options set via the config file. Note that the exiftool app -sets some API options internally, and attempts to change these via the -command line will have no effect. - -=item B<-common_args> - -Specifies that all arguments following this option are common to all -executed commands when B<-execute> is used. This and the B<-config> option -are the only options that may not be used inside a B<-@> I<ARGFILE>. Note -that by definition this option and its arguments MUST come after all other -options on the command line. - -=item B<-config> I<CFGFILE> - -Load specified configuration file instead of the default ".ExifTool_config". -If used, this option must come before all other arguments on the command -line and applies to all B<-execute>'d commands. This file is used to create -user-defined tags as well as set default ExifTool options. The I<CFGFILE> -must exist relative to the current working directory or the exiftool -application directory unless an absolute path is specified. Loading of the -default config file may be disabled by setting I<CFGFILE> to an empty string -(ie. ""). See L<https://exiftool.org/config.html> and -config_files/example.config in the full ExifTool distribution for details -about the configuration file syntax. - -=item B<-echo>[I<NUM>] I<TEXT> - -Echo I<TEXT> to stdout (B<-echo> or B<-echo1>) or stderr (B<-echo2>). Text -is output as the command line is parsed, before the processing of any input -files. I<NUM> may also be 3 or 4 to output text (to stdout or stderr -respectively) after processing is complete. For B<-echo3> and B<-echo4>, -"${status}" may be used in the I<TEXT> string to represent the numerical -exit status of the command (see L</EXIT STATUS>). - -=item B<-efile>[I<NUM>][!] I<TXTFILE> - -Save the names of files giving errors (I<NUM> missing or 1), files that were -unchanged (I<NUM> is 2), files that fail the B<-if> condition (I<NUM> is 4), -files that were updated (I<NUM> is 8), files that were created (I<NUM> is -16), or any combination thereof by summing I<NUM> (eg. B<-efile3> is the -same has having both B<-efile> and B<-efile2> options with the same -I<TXTFILE>). By default, file names are appended to any existing I<TXTFILE>, -but I<TXTFILE> is overwritten if an exclamation point is added to the option -(eg. B<-efile!>). Saves the name of the file specified by the B<-srcfile> -option if applicable. - -=item B<-execute>[I<NUM>] - -Execute command for all arguments up to this point on the command line (plus -any arguments specified by B<-common_args>). The result is as if the -commands were executed as separate command lines (with the exception of the -B<-config> and B<-use> options which remain in effect for subsequent -commands). Allows multiple commands to be executed from a single command -line. I<NUM> is an optional number that is echoed in the "{ready}" message -when using the B<-stay_open> feature. If a I<NUM> is specified, the B<-q> -option no longer suppresses the output "{readyNUM}" message. - -=item B<-file>I<NUM> I<ALTFILE> - -Read tags from an alternate source file. Among other things, this allows -tags from different files to be compared and combined using the B<-if> and -B<-p> options. I<NUM> is any string of digits. Tags from alternate files -are accessed via the corresponding family 8 group name (eg. C<File1:TAG> for -the B<-file1> option, C<File2:TAG> for B<-file2>, etc). I<ALTFILE> may -contain filename formatting codes like the B<-w> option (%d, %f, etc), -and/or tag names with a leading C<$> symbol to access tags from the source -file in the same way as the B<-p> option (so any other dollar symbol in the -file name must be doubled, eg. C<money$$.jpg>). For example, assuming that -the OriginalFileName tag has been set in the edited file, a command to copy -Rights from the original file could look like this: - - exiftool -file1 '$originalfilename' '-rights<file1:rights' edited.jpg - -Subtle note: If a B<-tagsFromFile> option is used, tags in the I<ALTFILE> -argument come from the I<SRCFILE> that applies to the first argument -accessing tags from the corresponding C<FileNUM> group. - -User-defined Composite tags may access tags from alternate files using the -appropriate (case-sensitive) family 8 group name. - -=item B<-list_dir> - -List directories themselves instead of their contents. This option -effectively causes directories to be treated as normal files when reading -and writing. For example, with this option the output of the C<ls -la> -command on Mac/Linux may be approximated by this exiftool command: - - exiftool -list_dir -T -ls-l -api systemtags -fast5 .* * - -(The B<-T> option formats the output in tab-separated columns, B<-ls-l> is a -L<shortcut tag|Image::ExifTool::Shortcuts>, the API SystemTags option is -required to extract some necessary tags, and the B<-fast5> option is added -for speed since only system tags are being extracted.) - -=item B<-srcfile> I<FMT> - -Specify a different source file to be processed based on the name of the -original I<FILE>. This may be useful in some special situations for -processing related preview images or sidecar files. See the B<-w> option -for a description of the I<FMT> syntax. Note that file name I<FMT> strings -for all options are based on the original I<FILE> specified from the command -line, not the name of the source file specified by B<-srcfile>. - -For example, to copy metadata from NEF files to the corresponding JPG -previews in a directory where other JPG images may exist: - - exiftool -ext nef -tagsfromfile @ -srcfile %d%f.jpg dir - -If more than one B<-srcfile> option is specified, the files are tested in -order and the first existing source file is processed. If none of the -source files already exist, then exiftool uses the first B<-srcfile> -specified. - -A I<FMT> of C<@> may be used to represent the original I<FILE>, which may be -useful when specifying multiple B<-srcfile> options (eg. to fall back to -processing the original I<FILE> if no sidecar exists). - -When this option is used, two special UserParam tags (OriginalFileName and -OriginalDirectory) are generated to allow access to the original I<FILE> -name and directory. - -=item B<-stay_open> I<FLAG> - -If I<FLAG> is C<1> or C<True> (case insensitive), causes exiftool keep -reading from the B<-@> I<ARGFILE> even after reaching the end of file. This -feature allows calling applications to pre-load exiftool, thus avoiding the -overhead of loading exiftool for each command. The procedure is as follows: - -1) Execute C<exiftool -stay_open True -@ I<ARGFILE>>, where I<ARGFILE> is the -name of an existing (possibly empty) argument file or C<-> to pipe arguments -from the standard input. - -2) Write exiftool command-line arguments to I<ARGFILE>, one argument per -line (see the B<-@> option for details). - -3) Write C<-execute\n> to I<ARGFILE>, where C<\n> represents a newline -sequence. (Note: You may need to flush your write buffers here if using -buffered output.) ExifTool will then execute the command with the arguments -received up to this point, send a "{ready}" message to stdout when done -(unless the B<-q> or B<-T> option is used), and continue trying to read -arguments for the next command from I<ARGFILE>. To aid in command/response -synchronization, any number appended to the B<-execute> option is echoed in -the "{ready}" message. For example, C<-execute613> results in "{ready613}". -When this number is added, B<-q> no longer suppresses the "{ready}" message. -(Also, see the B<-echo3> and B<-echo4> options for additional ways to pass -signals back to your application.) - -4) Repeat steps 2 and 3 for each command. - -5) Write C<-stay_open\nFalse\n> (or C<-stay_open\n0\n>) to I<ARGFILE> when -done. This will cause exiftool to process any remaining command-line -arguments then exit normally. - -The input I<ARGFILE> may be changed at any time before step 5 above by -writing the following lines to the currently open I<ARGFILE>: - - -stay_open - True - -@ - NEWARGFILE - -This causes I<ARGFILE> to be closed, and I<NEWARGFILE> to be kept open. -(Without the B<-stay_open> here, exiftool would have returned to reading -arguments from I<ARGFILE> after reaching the end of I<NEWARGFILE>.) - -Note: When writing arguments to a disk file there is a delay of up to 0.01 -seconds after writing C<-execute\n> before exiftool starts processing the -command. This delay may be avoided by sending a CONT signal to the exiftool -process immediately after writing C<-execute\n>. (There is no associated -delay when writing arguments via a pipe with C<-@ ->, so the signal is not -necessary when using this technique.) - -=item B<-userParam> I<PARAM[[^]=[VAL]]> - -Set user parameter. I<PARAM> is an arbitrary user parameter name. This is -an interface to the API UserParam option (see the -L<Image::ExifTool Options|Image::ExifTool/Options> documentation), and -provides a method to access user-defined parameters in arguments to the -B<-if> and B<-p> options as if they were any other tag. Appending a hash -tag (C<#>) to I<PARAM> (eg. C<-userParam MyTag#=yes>) also causes the -parameter to be extracted as a normal tag in the UserParam group. Similar -to the B<-api> option, the parameter value is set to 1 if I<=VAL> is -omitted, undef if just I<VAL> is omitted with C<=>, or an empty string if -I<VAL> is omitted with C<^=>. - - exiftool -p '$test from $filename' -userparam test=Hello FILE - -=back - -=head3 Advanced formatting feature - -An advanced formatting feature allows modification of the value of any tag -interpolated within a B<-if> or B<-p> option argument, or a B<-tagsFromFile> -redirection string. Tag names within these strings are prefixed by a C<$> -symbol, and an arbitrary Perl expression may be applied to the tag value by -placing braces around the tag name and inserting the expression after the -name, separated by a semicolon (ie. C<${TAG;EXPR}>). The expression acts on -the value of the tag through the default input variable (C<$_>), and has -access to the full ExifTool API through the current ExifTool object -(C<$self>) and the tag key (C<$tag>). It may contain any valid Perl code, -including translation (C<tr///>) and substitution (C<s///>) operations, but -note that braces within the expression must be balanced. The example below -prints the camera Make with spaces translated to underlines, and multiple -consecutive underlines replaced by a single underline: - - exiftool -p '${make;tr/ /_/;s/__+/_/g}' image.jpg - -An C<@> may be added after the tag name to make the expression act on -individual list items for list-type tags, simplifying list processing. Set -C<$_> to undef to remove an item from the list. As an example, the -following command returns all subjects not containing the string "xxx": - - exiftool -p '${subject@;$_=undef if /xxx/}' image.jpg - -A default expression of C<tr(/\\?*:|"E<lt>E<gt>\0)()d> is assumed if the -expression is empty (ie. C<${TAG;}>). This removes the characters / \ ? * : -| E<lt> E<gt> and null from the printed value. (These characters are -illegal in Windows file names, so this feature is useful if tag values are -used in file names.) - -=head4 Helper functions - -C<DateFmt> - -Simplifies reformatting of individual date/time values. This function acts -on a standard EXIF-formatted date/time value in C<$_> and formats it -according to the specified format string (see the B<-d> option). To avoid -trying to reformat an already-formatted date/time value, a C<#> must be -added to the tag name (as in the example below) if the B<-d> option is also -used. For example: - - exiftool -p '${createdate#;DateFmt("%Y-%m-%d_%H%M%S")}' a.jpg - -C<ShiftTime> - -Shifts EXIF-formatted date/time string by a specified amount. Start with a -leading minus sign to shift backwards in time. See -L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> for details about -shift syntax. For example, to shift a date/time value back by one year: - - exiftool -p '${createdate;ShiftTime("-1:0:0 0")}' a.jpg - -C<NoDups> - -Removes duplicate items from a list with a separator specified by the -B<-sep> option. This function is most useful when copying list-type tags. -For example, the following command may be used to remove duplicate Keywords: - - exiftool -sep '##' '-keywords<${keywords;NoDups}' a.jpg - -The B<-sep> option is necessary to split the string back into individual -list items when writing to a list-type tag. - -An optional flag argument may be set to 1 to cause C<NoDups> to set C<$_> to -undef if no duplicates existed, thus preventing the file from being -rewritten unnecessarily: - - exiftool -sep '##' '-keywords<${keywords;NoDups(1)}' a.jpg - -Note that function names are case sensitive. - -ExifTool 12.64 adds an API NoDups option which makes the NoDups helper -function largely redundant, with all the functionality except the ability to -avoid rewriting the file if there are no duplicates, but with the advantage -the duplicates may be removed when accumulating list items from multiple -sources. An equivalent to the above commands using this feature would be: - - exiftool -tagsfromfile @ -keywords -api nodups a.jpg - -C<SetTags> - -Used to set tags in extracted images. With no arguments, copies all tags -from the source file to the embedded image: - - exiftool -p '${previewimage;SetTags}' -b a.arw > preview.jpg - -Arguments may be added to copy or set specific tags. Arguments take exactly -the same form as those on the command line when copying or writing tags, -but without the leading dash. For example: - - exiftool -p '${previewimage;SetTags("comment=test","title<filename")}' ... - -=head1 WINDOWS UNICODE FILE NAMES - -In Windows, command-line arguments are specified using the current code page -and are recoded automatically to the system code page. This recoding is not -done for arguments in ExifTool arg files, so by default filenames in arg -files use the system code page. Unfortunately, these code pages are not -complete character sets, so not all file names may be represented. - -ExifTool 9.79 and later allow the file name encoding to be specified with -C<-charset filename=CHARSET>, where C<CHARSET> is the name of a valid -ExifTool character set, preferably C<UTF8> (see the B<-charset> option for a -complete list). Setting this triggers the use of Windows wide-character i/o -routines, thus providing support for most Unicode file names (see note 4). -But note that it is not trivial to pass properly encoded file names on the -Windows command line (see L<https://exiftool.org/faq.html#Q18> for details), -so placing them in a UTF-8 encoded B<-@> argfile and using -C<-charset filename=utf8> is recommended if possible. - -A warning is issued if a specified filename contains special characters and -the filename character set was not provided. However, the warning may be -disabled by setting C<-charset filename="">, and ExifTool may still function -correctly if the system code page matches the character set used for the -file names. - -When a directory name is provided, the file name encoding need not be -specified (unless the directory name contains special characters), and -ExifTool will automatically use wide-character routines to scan the -directory. - -The filename character set applies to the I<FILE> arguments as well as -filename arguments of B<-@>, B<-geotag>, B<-o>, B<-p>, B<-srcfile>, -B<-tagsFromFile>, B<-csv>=, B<-j>= and B<->I<TAG>E<lt>=. However, it does -not apply to the B<-config> filename, which always uses the system character -set. The C<-charset filename=> option must come before the B<-@> option to -be effective, but the order doesn't matter with respect to other options. - -Notes: - -1) FileName and Directory tag values still use the same encoding as other -tag values, and are converted to/from the filename character set when -writing/reading if specified. - -2) Unicode support is not yet implemented for other Windows-based systems -like Cygwin. - -3) See L</WRITING READ-ONLY FILES> below for a note about editing read-only -files with Unicode names. - -4) Unicode file names with surrogate pairs (code points over U+FFFF) still -cause problems. - -=head1 WRITING READ-ONLY FILES - -In general, ExifTool may be used to write metadata to read-only files -provided that the user has write permission in the directory. However, -there are three cases where file write permission is also required: - -1) When using the B<-overwrite_original_in_place> option. - -2) When writing only pseudo System tags (eg. FileModifyDate). - -3) On Windows if the file has Unicode characters in its name, and a) the -B<-overwrite_original> option is used, or b) the C<_original> backup already -exists. - -Hidden files in Windows behave as read-only files when attempting to write -any real tags to the file -- an error is generated when using the -B<-overwrite_original_in_place>, otherwise writing should be successful and -the hidden attribute will be removed. But the B<-if> option may be used to -avoid processing hidden files (provided Win32API::File is available): - - exiftool -if "$fileattributes !~ /Hidden/" ... - -=head1 READING EXAMPLES - -B<Note>: Beware when cutting and pasting these examples into your terminal! -Some characters such as single and double quotes and hyphens may have been -changed into similar-looking yet functionally-different characters by the -text formatter used to display this documentation. Also note that in the -Windows cmd shell double quotes must be used instead of the single quotes -used in the examples. - -=over 5 - -=item C<exiftool -a -u -g1 a.jpg> - -Print all meta information in an image, including duplicate and unknown -tags, sorted by group (for family 1). For performance reasons, this command -may not extract all available metadata. (Metadata in embedded documents, -metadata extracted by external utilities, and metadata requiring excessive -processing time may not be extracted). Add C<-ee3> and C<-api RequestAll=3> -to the command to extract absolutely everything available. - -=item C<exiftool -common dir> - -Print common meta information for all images in C<dir>. C<-common> is a -L<shortcut tag|Image::ExifTool::Shortcuts> representing common EXIF meta -information. - -=item C<exiftool -T -createdate -aperture -shutterspeed -iso dir E<gt> out.txt> - -List specified meta information in tab-delimited column form for all images -in C<dir> to an output text file named "out.txt". - -=item C<exiftool -s -ImageSize -ExposureTime b.jpg> - -Print ImageSize and ExposureTime tag names and values. - -=item C<exiftool -l -canon c.jpg d.jpg> - -Print standard Canon information from two image files. - -=item C<exiftool -r -w .txt -common pictures> - -Recursively extract common meta information from files in C<pictures> -directory, writing text output to C<.txt> files with the same names. - -=item C<exiftool -b -ThumbnailImage image.jpg E<gt> thumbnail.jpg> - -Save thumbnail image from C<image.jpg> to a file called C<thumbnail.jpg>. - -=item C<exiftool -b -JpgFromRaw -w _JFR.JPG -ext NEF -r .> - -Recursively extract JPG image from all Nikon NEF files in the current -directory, adding C<_JFR.JPG> for the name of the output JPG files. - -=item C<exiftool -a -b -W %d%f_%t%-c.%s -preview:all dir> - -Extract all types of preview images (ThumbnailImage, PreviewImage, -JpgFromRaw, etc.) from files in directory "dir", adding the tag name to the -output preview image file names. - -=item C<exiftool -d '%r %a, %B %e, %Y' -DateTimeOriginal -S -s -ext jpg .> - -Print formatted date/time for all JPG files in the current directory. - -=item C<exiftool -IFD1:XResolution -IFD1:YResolution image.jpg> - -Extract image resolution from EXIF IFD1 information (thumbnail image IFD). - -=item C<exiftool '-*resolution*' image.jpg> - -Extract all tags with names containing the word "Resolution" from an image. - -=item C<exiftool -xmp:author:all -a image.jpg> - -Extract all author-related XMP information from an image. - -=item C<exiftool -xmp -b a.jpg E<gt> out.xmp> - -Extract complete XMP data record intact from C<a.jpg> and write it to -C<out.xmp> using the special C<XMP> tag (see the Extra tags in -L<Image::ExifTool::TagNames|Image::ExifTool::TagNames>). - -=item C<exiftool -p '$filename has date $dateTimeOriginal' -q -f dir> - -Print one line of output containing the file name and DateTimeOriginal for -each image in directory C<dir>. - -=item C<exiftool -ee3 -p '$gpslatitude, $gpslongitude, $gpstimestamp' a.m2ts> - -Extract all GPS positions from an AVCHD video. - -=item C<exiftool -icc_profile -b -w icc image.jpg> - -Save complete ICC_Profile from an image to an output file with the same name -and an extension of C<.icc>. - -=item C<exiftool -htmldump -w tmp/%f_%e.html t/images> - -Generate HTML pages from a hex dump of EXIF information in all images from -the C<t/images> directory. The output HTML files are written to the C<tmp> -directory (which is created if it didn't exist), with names of the form -'FILENAME_EXT.html'. - -=item C<exiftool -a -b -ee -embeddedimage -W Image_%.3g3.%s file.pdf> - -Extract embedded JPG and JP2 images from a PDF file. The output images will -have file names like "Image_#.jpg" or "Image_#.jp2", where "#" is the -ExifTool family 3 embedded document number for the image. - -=back - -=head1 WRITING EXAMPLES - -Note that quotes are necessary around arguments which contain certain -special characters such as C<E<gt>>, C<E<lt>> or any white space. These -quoting techniques are shell dependent, but the examples below will work for -most Unix shells. With the Windows cmd shell however, double quotes should -be used (eg. -Comment=E<34>This is a new commentE<34>). - -=over 5 - -=item C<exiftool -tagsfromfile src.jpg -exif:all --subifd:all dst.jpg> - -Write new comment to a JPG image (replaces any existing comment). - -=item C<exiftool -comment= -o newdir -ext jpg .> - -Remove comment from all JPG images in the current directory, writing the -modified images to a new directory. - -=item C<exiftool -keywords=EXIF -keywords=editor dst.jpg> - -Replace existing keyword list with two new keywords (C<EXIF> and C<editor>). - -=item C<exiftool -Keywords+=word -o newfile.jpg src.jpg> - -Copy a source image to a new file, and add a keyword (C<word>) to the -current list of keywords. - -=item C<exiftool -exposurecompensation+=-0.5 a.jpg> - -Decrement the value of ExposureCompensation by 0.5 EV. Note that += with a -negative value is used for decrementing because the -= operator is used for -conditional deletion (see next example). - -=item C<exiftool -credit-=xxx dir> - -Delete Credit information from all files in a directory where the Credit -value was C<xxx>. - -=item C<exiftool -xmp:description-de='kühl' -E dst.jpg> - -Write alternate language for XMP:Description, using HTML character escaping -to input special characters. - -=item C<exiftool -all= dst.jpg> - -Delete all meta information from an image. Note: You should NOT do this to -RAW images (except DNG) since proprietary RAW image formats often contain -information in the makernotes that is necessary for converting the image. - -=item C<exiftool -all= -comment='lonely' dst.jpg> - -Delete all meta information from an image and add a comment back in. (Note -that the order is important: C<-comment='lonely' -all=> would also delete -the new comment.) - -=item C<exiftool -all= --jfif:all dst.jpg> - -Delete all meta information except JFIF group from an image. - -=item C<exiftool -Photoshop:All= dst.jpg> - -Delete Photoshop meta information from an image (note that the Photoshop -information also includes IPTC). - -=item C<exiftool -r -XMP-crss:all= DIR> - -Recursively delete all XMP-crss information from images in a directory. - -=item C<exiftool '-ThumbnailImageE<lt>=thumb.jpg' dst.jpg> - -Set the thumbnail image from specified file (Note: The quotes are necessary -to prevent shell redirection). - -=item C<exiftool '-JpgFromRawE<lt>=%d%f_JFR.JPG' -ext NEF -r .> - -Recursively write JPEG images with filenames ending in C<_JFR.JPG> to the -JpgFromRaw tag of like-named files with extension C<.NEF> in the current -directory. (This is the inverse of the C<-JpgFromRaw> command of the -L</READING EXAMPLES> section above.) - -=item C<exiftool -DateTimeOriginal-='0:0:0 1:30:0' dir> - -Adjust original date/time of all images in directory C<dir> by subtracting -one hour and 30 minutes. (This is equivalent to C<-DateTimeOriginal-=1.5>. -See L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> for details.) - -=item C<exiftool -createdate+=3 -modifydate+=3 a.jpg b.jpg> - -Add 3 hours to the CreateDate and ModifyDate timestamps of two images. - -=item C<exiftool -AllDates+=1:30 -if '$make eq E<34>CanonE<34>' dir> - -Shift the values of DateTimeOriginal, CreateDate and ModifyDate forward by 1 -hour and 30 minutes for all Canon images in a directory. (The AllDates tag -is provided as a shortcut for these three tags, allowing them to be accessed -via a single tag.) - -=item C<exiftool -xmp:city=Kingston image1.jpg image2.nef> - -Write a tag to the XMP group of two images. (Without the C<xmp:> this tag -would get written to the IPTC group since C<City> exists in both, and IPTC -is preferred by default.) - -=item C<exiftool -LightSource-='Unknown (0)' dst.tiff> - -Delete C<LightSource> tag only if it is unknown with a value of 0. - -=item C<exiftool -whitebalance-=auto -WhiteBalance=tung dst.jpg> - -Set C<WhiteBalance> to C<Tungsten> only if it was previously C<Auto>. - -=item C<exiftool -comment-= -comment='new comment' a.jpg> - -Write a new comment only if the image doesn't have one already. - -=item C<exiftool -o %d%f.xmp dir> - -Create XMP meta information data files for all images in C<dir>. - -=item C<exiftool -o test.xmp -owner=Phil -title='XMP File'> - -Create an XMP data file only from tags defined on the command line. - -=item C<exiftool '-ICC_Profile<=%d%f.icc' image.jpg> - -Write ICC_Profile to an image from a C<.icc> file of the same name. - -=item C<exiftool -hierarchicalkeywords='{keyword=one,children={keyword=B}}'> - -Write structured XMP information. See L<https://exiftool.org/struct.html> -for more details. - -=item C<exiftool -trailer:all= image.jpg> - -Delete any trailer found after the end of image (EOI) in a JPEG file. A -number of digital cameras store a large PreviewImage after the JPEG EOI, and -the file size may be reduced significantly by deleting this trailer. See -the L<JPEG Tags documentation|Image::ExifTool::TagNames/JPEG Tags> for a -list of recognized JPEG trailers. - -=back - -=head1 COPYING EXAMPLES - -These examples demonstrate the ability to copy tag values between files. - -=over 5 - -=item C<exiftool -tagsFromFile src.cr2 dst.jpg> - -Copy the values of all writable tags from C<src.cr2> to C<dst.jpg>, writing -the information to same-named tags in the preferred groups. - -=item C<exiftool -TagsFromFile src.jpg -all:all dst.jpg> - -Copy the values of all writable tags from C<src.jpg> to C<dst.jpg>, -preserving the original tag groups. - -=item C<exiftool -all= -tagsfromfile src.jpg -exif:all dst.jpg> - -Erase all meta information from C<dst.jpg> image, then copy EXIF tags from -C<src.jpg>. - -=item C<exiftool -exif:all= -tagsfromfile @ -all:all -unsafe bad.jpg> - -Rebuild all EXIF meta information from scratch in an image. This technique -can be used in JPEG images to repair corrupted EXIF information which -otherwise could not be written due to errors. The C<Unsafe> tag is a -shortcut for unsafe EXIF tags in JPEG images which are not normally copied. -See the L<tag name documentation|Image::ExifTool::TagNames> for more details -about unsafe tags. - -=item C<exiftool -Tagsfromfile a.jpg out.xmp> - -Copy meta information from C<a.jpg> to an XMP data file. If the XMP data -file C<out.xmp> already exists, it will be updated with the new information. -Otherwise the XMP data file will be created. Only metadata-only files may -be created like this (files containing images may be edited but not -created). See L</WRITING EXAMPLES> above for another technique to generate -XMP files. - -=item C<exiftool -tagsFromFile a.jpg -XMP:All= -ThumbnailImage= -m b.jpg> - -Copy all meta information from C<a.jpg> to C<b.jpg>, deleting all XMP -information and the thumbnail image from the destination. - -=item C<exiftool -TagsFromFile src.jpg -title -author=Phil dst.jpg> - -Copy title from one image to another and set a new author name. - -=item C<exiftool -TagsFromFile a.jpg -ISO -TagsFromFile b.jpg -comment -dst.jpg> - -Copy ISO from one image and Comment from another image to a destination -image. - -=item C<exiftool -tagsfromfile src.jpg -exif:all --subifd:all dst.jpg> - -Copy only the EXIF information from one image to another, excluding SubIFD -tags. - -=item C<exiftool '-FileModifyDateE<lt>DateTimeOriginal' dir> - -Use the original date from the meta information to set the same file's -filesystem modification date for all images in a directory. (Note that -C<-TagsFromFile @> is assumed if no other B<-TagsFromFile> is specified when -redirecting information as in this example.) - -=item C<exiftool -TagsFromFile src.jpg '-xmp:allE<lt>all' dst.jpg> - -Copy all possible information from C<src.jpg> and write in XMP format to -C<dst.jpg>. - -=item C<exiftool '-Description<${FileName;s/\.[^.]*$//}' dir> - -Set the image Description from the file name after removing the extension. -This example uses the L</Advanced formatting feature> to perform a -substitution operation to remove the last dot and subsequent characters from -the file name. - -=item C<exiftool -@ iptc2xmp.args -iptc:all= a.jpg> - -Translate IPTC information to XMP with appropriate tag name conversions, and -delete the original IPTC information from an image. This example uses -iptc2xmp.args, which is a file included with the ExifTool distribution that -contains the required arguments to convert IPTC information to XMP format. -Also included with the distribution are xmp2iptc.args (which performs the -inverse conversion) and a few more .args files for other conversions between -EXIF, IPTC and XMP. - -=item C<exiftool -tagsfromfile %d%f.CR2 -r -ext JPG dir> - -Recursively rewrite all C<JPG> images in C<dir> with information copied from -the corresponding C<CR2> images in the same directories. - -=item C<exiftool '-keywords+E<lt>make' image.jpg> - -Add camera make to list of keywords. - -=item C<exiftool '-commentE<lt>ISO=$exif:iso Exposure=${shutterspeed}' dir> - -Set the Comment tag of all images in C<dir> from the values of the EXIF:ISO -and ShutterSpeed tags. The resulting comment will be in the form "ISO=100 -Exposure=1/60". - -=item C<exiftool -TagsFromFile src.jpg -icc_profile dst.jpg> - -Copy ICC_Profile from one image to another. - -=item C<exiftool -TagsFromFile src.jpg -all:all dst.mie> - -Copy all meta information in its original form from a JPEG image to a MIE -file. The MIE file will be created if it doesn't exist. This technique can -be used to store the metadata of an image so it can be inserted back into -the image (with the inverse command) later in a workflow. - -=item C<exiftool -o dst.mie -all:all src.jpg> - -This command performs exactly the same task as the command above, except -that the B<-o> option will not write to an output file that already exists. - -=item C<exiftool -b -jpgfromraw -w %d%f_%ue.jpg -execute -b -previewimage -w -%d%f_%ue.jpg -execute -tagsfromfile @ -srcfile %d%f_%ue.jpg --overwrite_original -common_args --ext jpg DIR> - -[Advanced] Extract JpgFromRaw or PreviewImage from all but JPG files in DIR, -saving them with file names like C<image_EXT.jpg>, then add all meta -information from the original files to the extracted images. Here, the -command line is broken into three sections (separated by B<-execute> -options), and each is executed as if it were a separate command. The -B<-common_args> option causes the C<--ext jpg DIR> arguments to be applied -to all three commands, and the B<-srcfile> option allows the extracted JPG -image to be the source file for the third command (whereas the RAW files are -the source files for the other two commands). - -=back - -=head1 RENAMING EXAMPLES - -By writing the C<FileName> and C<Directory> tags, files are renamed and/or -moved to new directories. This can be particularly useful and powerful for -organizing files by date when combined with the B<-d> option. New -directories are created as necessary, but existing files will not be -overwritten. The format codes %d, %f and %e may be used in the new file -name to represent the directory, name and extension of the original file, -and %c may be used to add a copy number if the file already exists (see the -B<-w> option for details). Note that if used within a date format string, -an extra '%' must be added to pass these codes through the date/time parser. -(And further note that in a Windows batch file, all '%' characters must also -be escaped, so in this extreme case '%%%%f' is necessary to pass a simple -'%f' through the two levels of parsing.) See -L<https://exiftool.org/filename.html> for additional documentation and -examples. - -=over 5 - -=item C<exiftool -filename=new.jpg dir/old.jpg> - -Rename C<old.jpg> to C<new.jpg> in directory C<dir>. - -=item C<exiftool -directory=%e dir> - -Move all files from directory C<dir> into directories named by the original -file extensions. - -=item C<exiftool '-DirectoryE<lt>DateTimeOriginal' -d %Y/%m/%d dir> - -Move all files in C<dir> into a directory hierarchy based on year, month and -day of C<DateTimeOriginal>. eg) This command would move the file -C<dir/image.jpg> with a C<DateTimeOriginal> of C<2005:10:12 16:05:56> to -C<2005/10/12/image.jpg>. - -=item C<exiftool -o . '-DirectoryE<lt>DateTimeOriginal' -d %Y/%m/%d dir> - -Same effect as above except files are copied instead of moved. - -=item C<exiftool '-filenameE<lt>%f_${model;}.%e' dir> - -Rename all files in C<dir> by adding the camera model name to the file name. -The semicolon after the tag name inside the braces causes characters which -are invalid in Windows file names to be deleted from the tag value (see the -L</Advanced formatting feature> for an explanation). - -=item C<exiftool '-FileNameE<lt>CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e dir> - -Rename all images in C<dir> according to the C<CreateDate> date and time, -adding a copy number with leading '-' if the file already exists (C<%-c>), -and preserving the original file extension (C<%e>). Note the extra '%' -necessary to escape the filename codes (C<%c> and C<%e>) in the date format -string. - -=item C<exiftool -r '-FileNameE<lt>CreateDate' -d %Y-%m-%d/%H%M_%%f.%%e dir> - -Both the directory and the filename may be changed together via the -C<FileName> tag if the new C<FileName> contains a '/'. The example above -recursively renames all images in a directory by adding a C<CreateDate> -timestamp to the start of the filename, then moves them into new directories -named by date. - -=item C<exiftool '-FileNameE<lt>${CreateDate}_$filenumber.jpg' -d %Y%m%d -ext jpg .> - -Set the filename of all JPG images in the current directory from the -CreateDate and FileNumber tags, in the form "20060507_118-1861.jpg". - -=back - -=head1 GEOTAGGING EXAMPLES - -ExifTool implements geotagging from GPS log files via 3 special tags: Geotag -(which for convenience is also implemented as an exiftool option), Geosync -and Geotime. The examples below highlight some geotagging features. See -L<https://exiftool.org/geotag.html> for additional documentation. (Note -that geotagging from known GPS coordinates is done by writing the -L<GPS tags|Image::ExifTool::TagNames/GPS Tags> directly rather than using -the B<-geotag> option.) - -=over 5 - -=item C<exiftool -geotag track.log a.jpg> - -Geotag an image (C<a.jpg>) from position information in a GPS track log -(C<track.log>). Since the C<Geotime> tag is not specified, the value of -SubSecDateTimeOriginal (preferentially) or DateTimeOriginal is used for -geotagging. Local system time is assumed unless the time contains a -timezone. - -=item C<exiftool -geotag track.log -geolocate=geotag a.jpg> - -Geotag an image and also write geolocation information of the nearest city -(city name, state/province and country). Read here for more details about -the Geolocation feature: L<https://exiftool.org/geolocation.html#Write> - -=item C<exiftool -geotag t.log -geotime='2009:04:02 13:41:12-05:00' a.jpg> - -Geotag an image with the GPS position for a specific time. - -=item C<exiftool -geotag log.gpx '-xmp:geotimeE<lt>createdate' dir> - -Geotag all images in directory C<dir> with XMP tags instead of EXIF tags, -based on the image CreateDate. - -=item C<exiftool -geotag a.log -geosync=-20 dir> - -Geotag images in directory C<dir>, accounting for image timestamps which -were 20 seconds ahead of GPS. - -=item C<exiftool -geotag a.log -geosync=1.jpg -geosync=2.jpg dir> - -Geotag images using time synchronization from two previously geotagged images -(1.jpg and 2.jpg), synchronizing the image and GPS times using a linear time -drift correction. - -=item C<exiftool -geotag a.log '-geotimeE<lt>${createdate}+01:00' dir> - -Geotag images in C<dir> using CreateDate with the specified timezone. If -CreateDate already contained a timezone, then the timezone specified on the -command line is ignored. - -=item C<exiftool -geotag= a.jpg> - -Delete GPS tags which may have been added by the geotag feature. Note that -this does not remove all GPS tags -- to do this instead use C<-gps:all=>. - -=item C<exiftool -xmp:geotag= a.jpg> - -Delete XMP GPS tags which were added by the geotag feature. - -=item C<exiftool -xmp:geotag=track.log a.jpg> - -Geotag an image with XMP tags, using the time from SubSecDateTimeOriginal or -DateTimeOriginal. - -=item C<exiftool -geotag a.log -geotag b.log -r dir> - -Combine multiple track logs and geotag an entire directory tree of images. - -=item C<exiftool -geotag 'tracks/*.log' -r dir> - -Read all track logs from the C<tracks> directory. - -=item C<exiftool -p gpx.fmt dir E<gt> out.gpx> - -Generate a GPX track log from all images in directory C<dir>. This example -uses the C<gpx.fmt> file included in the full ExifTool distribution package -and assumes that the images in C<dir> have all been previously geotagged. - -=back - -=head1 PIPING EXAMPLES - -=over 5 - -=item C<cat a.jpg | exiftool -> - -Extract information from stdin. - -=item C<exiftool image.jpg -thumbnailimage -b | exiftool -> - -Extract information from an embedded thumbnail image. - -=item C<cat a.jpg | exiftool -iptc:keywords+=fantastic - E<gt> b.jpg> - -Add an IPTC keyword in a pipeline, saving output to a new file. - -=item C<curl -s http://a.domain.com/bigfile.jpg | exiftool -fast -> - -Extract information from an image over the internet using the cURL utility. -The B<-fast> option prevents exiftool from scanning for trailer information, -so only the meta information header is transferred. - -=item C<exiftool a.jpg -thumbnailimage -b | exiftool -comment=wow - | -exiftool a.jpg -thumbnailimage'E<lt>=-'> - -Add a comment to an embedded thumbnail image. (Why anyone would want to do -this I don't know, but I've included this as an example to illustrate the -flexibility of ExifTool.) - -=back - -=head1 INTERRUPTING EXIFTOOL - -Interrupting exiftool with a CTRL-C or SIGINT will not result in partially -written files or temporary files remaining on the hard disk. The exiftool -application traps SIGINT and defers it until the end of critical processes -if necessary, then does a proper cleanup before exiting. - -=head1 EXIT STATUS - -The exiftool application exits with a status of 0 on success, or 1 if an -error occurred, or 2 if all files failed the B<-if> condition (for any of -the commands if B<-execute> was used). - -=head1 AUTHOR - -Copyright 2003-2025, Phil Harvey - -This is free software; you can redistribute it and/or modify it under the -same terms as Perl itself. - -=head1 SEE ALSO - -L<Image::ExifTool(3pm)|Image::ExifTool>, -L<Image::ExifTool::TagNames(3pm)|Image::ExifTool::TagNames>, -L<Image::ExifTool::Shortcuts(3pm)|Image::ExifTool::Shortcuts>, -L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> - -=cut - -#------------------------------------------------------------------------------ -# end diff --git a/result/etc/profiles/per-user/bdsqqq/bin/eza b/result/etc/profiles/per-user/bdsqqq/bin/eza deleted file mode 100755 index 07d9bf29..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/eza and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fastfetch b/result/etc/profiles/per-user/bdsqqq/bin/fastfetch deleted file mode 100755 index dc73a82e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fastfetch and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fd b/result/etc/profiles/per-user/bdsqqq/bin/fd deleted file mode 100755 index b14300f1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fd and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ffmpeg b/result/etc/profiles/per-user/bdsqqq/bin/ffmpeg deleted file mode 100755 index 0f9693a5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ffmpeg and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ffplay b/result/etc/profiles/per-user/bdsqqq/bin/ffplay deleted file mode 100755 index 63987541..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ffplay and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ffprobe b/result/etc/profiles/per-user/bdsqqq/bin/ffprobe deleted file mode 100755 index 7c03f853..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ffprobe and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fieldalignment b/result/etc/profiles/per-user/bdsqqq/bin/fieldalignment deleted file mode 100755 index 772a1c1c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fieldalignment and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/file2fuzz b/result/etc/profiles/per-user/bdsqqq/bin/file2fuzz deleted file mode 100755 index 40709665..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/file2fuzz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/findcall b/result/etc/profiles/per-user/bdsqqq/bin/findcall deleted file mode 100755 index d0d2b625..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/findcall and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fiximports b/result/etc/profiles/per-user/bdsqqq/bin/fiximports deleted file mode 100755 index 7ba2c77d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fiximports and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fnm b/result/etc/profiles/per-user/bdsqqq/bin/fnm deleted file mode 100755 index 7de99aff..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fnm and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fuzz-driver b/result/etc/profiles/per-user/bdsqqq/bin/fuzz-driver deleted file mode 100755 index 2fe8248d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fuzz-driver and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fuzz-runner b/result/etc/profiles/per-user/bdsqqq/bin/fuzz-runner deleted file mode 100755 index 96f3759d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fuzz-runner and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fzf b/result/etc/profiles/per-user/bdsqqq/bin/fzf deleted file mode 100755 index 9fb68023..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/fzf and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fzf-share b/result/etc/profiles/per-user/bdsqqq/bin/fzf-share deleted file mode 100755 index d5cf86d8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/fzf-share +++ /dev/null @@ -1,4 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -# Run this script to find the fzf shared folder where all the shell -# integration scripts are living. -echo /nix/store/80hwwq3k3xhmhvd2my22px2nwi0kng23-fzf-0.62.0/share/fzf diff --git a/result/etc/profiles/per-user/bdsqqq/bin/fzf-tmux b/result/etc/profiles/per-user/bdsqqq/bin/fzf-tmux deleted file mode 100755 index 44964163..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/fzf-tmux +++ /dev/null @@ -1,254 +0,0 @@ -#!/usr/bin/env bash -# fzf-tmux: starts fzf in a tmux pane -# usage: fzf-tmux [LAYOUT OPTIONS] [--] [FZF OPTIONS] - -fail() { - >&2 echo "$1" - exit 2 -} - -fzf="$(command which fzf)" || fzf="$(dirname "$0")/fzf" -[[ -x "$fzf" ]] || fail 'fzf executable not found' - -args=() -opt="" -skip="" -swap="" -close="" -term="" -[[ -n "$LINES" ]] && lines=$LINES || lines=$(tput lines) || lines=$(tmux display-message -p "#{pane_height}") -[[ -n "$COLUMNS" ]] && columns=$COLUMNS || columns=$(tput cols) || columns=$(tmux display-message -p "#{pane_width}") - -tmux_version=$(tmux -V | sed 's/[^0-9.]//g') -tmux_32=$(awk '{print ($1 >= 3.2)}' <<< "$tmux_version" 2> /dev/null || /nix/store/5km7bwsa566ba1iwyk8vng9dar4fmh7b-bc-1.08.2/bin/bc -l <<< "$tmux_version >= 3.2") - -help() { - >&2 echo 'usage: fzf-tmux [LAYOUT OPTIONS] [--] [FZF OPTIONS] - - LAYOUT OPTIONS: - (default layout: -d 50%) - - Popup window (requires tmux 3.2 or above): - -p [WIDTH[%][,HEIGHT[%]]] (default: 50%) - -w WIDTH[%] - -h HEIGHT[%] - -x COL - -y ROW - - Split pane: - -u [HEIGHT[%]] Split above (up) - -d [HEIGHT[%]] Split below (down) - -l [WIDTH[%]] Split left - -r [WIDTH[%]] Split right -' - exit -} - -while [[ $# -gt 0 ]]; do - arg="$1" - shift - [[ -z "$skip" ]] && case "$arg" in - -) - term=1 - ;; - --help) - help - ;; - --version) - echo "fzf-tmux (with fzf $("$fzf" --version))" - exit - ;; - -p*|-w*|-h*|-x*|-y*|-d*|-u*|-r*|-l*) - if [[ "$arg" =~ ^-[pwhxy] ]]; then - [[ "$opt" =~ "-E" ]] || opt="-E" - elif [[ "$arg" =~ ^.[lr] ]]; then - opt="-h" - if [[ "$arg" =~ ^.l ]]; then - opt="$opt -d" - swap="; swap-pane -D ; select-pane -L" - close="; tmux swap-pane -D" - fi - else - opt="" - if [[ "$arg" =~ ^.u ]]; then - opt="$opt -d" - swap="; swap-pane -D ; select-pane -U" - close="; tmux swap-pane -D" - fi - fi - if [[ ${#arg} -gt 2 ]]; then - size="${arg:2}" - else - if [[ "$1" =~ ^[0-9%,]+$ ]] || [[ "$1" =~ ^[A-Z]$ ]]; then - size="$1" - shift - else - continue - fi - fi - - if [[ "$arg" =~ ^-p ]]; then - if [[ -n "$size" ]]; then - w=${size%%,*} - h=${size##*,} - opt="$opt -w$w -h$h" - fi - elif [[ "$arg" =~ ^-[whxy] ]]; then - opt="$opt ${arg:0:2}$size" - elif [[ "$size" =~ %$ ]]; then - size=${size:0:((${#size}-1))} - if [[ $tmux_32 = 1 ]]; then - if [[ -n "$swap" ]]; then - opt="$opt -l $(( 100 - size ))%" - else - opt="$opt -l $size%" - fi - else - if [[ -n "$swap" ]]; then - opt="$opt -p $(( 100 - size ))" - else - opt="$opt -p $size" - fi - fi - else - if [[ -n "$swap" ]]; then - if [[ "$arg" =~ ^.l ]]; then - max=$columns - else - max=$lines - fi - size=$(( max - size )) - [[ $size -lt 0 ]] && size=0 - opt="$opt -l $size" - else - opt="$opt -l $size" - fi - fi - ;; - --) - # "--" can be used to separate fzf-tmux options from fzf options to - # avoid conflicts - skip=1 - continue - ;; - *) - args+=("$arg") - ;; - esac - [[ -n "$skip" ]] && args+=("$arg") -done - -if [[ -z "$TMUX" ]]; then - "$fzf" "${args[@]}" - exit $? -fi - -# * --height option is not allowed -# * CTRL-Z is also disabled -# * fzf-tmux script is not compatible with --tmux option in fzf 0.53.0 or later -args=("${args[@]}" "--no-height" "--bind=ctrl-z:ignore" "--no-tmux") - -# Handle zoomed tmux pane without popup options by moving it to a temp window -if [[ ! "$opt" =~ "-E" ]] && tmux list-panes -F '#F' | grep -q Z; then - zoomed_without_popup=1 - original_window=$(tmux display-message -p "#{window_id}") - tmp_window=$(tmux new-window -d -P -F "#{window_id}" "bash -c 'while :; do for c in \\| / - '\\;' do sleep 0.2; printf \"\\r\$c fzf-tmux is running\\r\"; done; done'") - tmux swap-pane -t $tmp_window \; select-window -t $tmp_window -fi - -set -e - -# Clean up named pipes on exit -id=$RANDOM -argsf="${TMPDIR:-/tmp}/fzf-args-$id" -fifo1="${TMPDIR:-/tmp}/fzf-fifo1-$id" -fifo2="${TMPDIR:-/tmp}/fzf-fifo2-$id" -fifo3="${TMPDIR:-/tmp}/fzf-fifo3-$id" -if tmux_win_opts=$(tmux show-options -p remain-on-exit \; show-options -p synchronize-panes 2> /dev/null); then - tmux_win_opts=( $(sed '/ off/d; s/synchronize-panes/set-option -p synchronize-panes/; s/remain-on-exit/set-option -p remain-on-exit/; s/$/ \\;/' <<< "$tmux_win_opts") ) - tmux_off_opts='; set-option -p synchronize-panes off ; set-option -p remain-on-exit off' -else - tmux_win_opts=( $(tmux show-window-options remain-on-exit \; show-window-options synchronize-panes | sed '/ off/d; s/^/set-window-option /; s/$/ \\;/') ) - tmux_off_opts='; set-window-option synchronize-panes off ; set-window-option remain-on-exit off' -fi -cleanup() { - \rm -f $argsf $fifo1 $fifo2 $fifo3 - - # Restore tmux window options - if [[ "${#tmux_win_opts[@]}" -gt 1 ]]; then - eval "tmux ${tmux_win_opts[*]}" - fi - - # Remove temp window if we were zoomed without popup options - if [[ -n "$zoomed_without_popup" ]]; then - tmux display-message -p "#{window_id}" > /dev/null - tmux swap-pane -t $original_window \; \ - select-window -t $original_window \; \ - kill-window -t $tmp_window \; \ - resize-pane -Z - fi - - if [[ $# -gt 0 ]]; then - trap - EXIT - exit 130 - fi -} -trap 'cleanup 1' SIGUSR1 -trap 'cleanup' EXIT - -envs="export TERM=$TERM " -if [[ "$opt" =~ "-E" ]]; then - if [[ $tmux_version = 3.2 ]]; then - FZF_DEFAULT_OPTS="--margin 0,1 $FZF_DEFAULT_OPTS" - elif [[ $tmux_32 = 1 ]]; then - FZF_DEFAULT_OPTS="--border $FZF_DEFAULT_OPTS" - opt="-B $opt" - else - echo "fzf-tmux: tmux 3.2 or above is required for popup mode" >&2 - exit 2 - fi -fi -envs="$envs FZF_DEFAULT_COMMAND=$(printf %q "$FZF_DEFAULT_COMMAND")" -envs="$envs FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS")" -envs="$envs FZF_DEFAULT_OPTS_FILE=$(printf %q "$FZF_DEFAULT_OPTS_FILE")" -[[ -n "$RUNEWIDTH_EASTASIAN" ]] && envs="$envs RUNEWIDTH_EASTASIAN=$(printf %q "$RUNEWIDTH_EASTASIAN")" -[[ -n "$BAT_THEME" ]] && envs="$envs BAT_THEME=$(printf %q "$BAT_THEME")" -echo "$envs;" > "$argsf" - -# Build arguments to fzf -opts=$(printf "%q " "${args[@]}") - -pppid=$$ -echo -n "trap 'kill -SIGUSR1 -$pppid' EXIT SIGINT SIGTERM;" >> $argsf -close="; trap - EXIT SIGINT SIGTERM $close" - -export TMUX=$(cut -d , -f 1,2 <<< "$TMUX") -mkfifo -m o+w $fifo2 -if [[ "$opt" =~ "-E" ]]; then - cat $fifo2 & - if [[ -n "$term" ]] || [[ -t 0 ]]; then - cat <<< "\"$fzf\" $opts > $fifo2; out=\$? $close; exit \$out" >> $argsf - else - mkfifo $fifo1 - cat <<< "\"$fzf\" $opts < $fifo1 > $fifo2; out=\$? $close; exit \$out" >> $argsf - cat <&0 > $fifo1 & - fi - - tmux popup -d "$PWD" $opt "bash $argsf" > /dev/null 2>&1 - exit $? -fi - -mkfifo -m o+w $fifo3 -if [[ -n "$term" ]] || [[ -t 0 ]]; then - cat <<< "\"$fzf\" $opts > $fifo2; echo \$? > $fifo3 $close" >> $argsf -else - mkfifo $fifo1 - cat <<< "\"$fzf\" $opts < $fifo1 > $fifo2; echo \$? > $fifo3 $close" >> $argsf - cat <&0 > $fifo1 & -fi -tmux \ - split-window -c "$PWD" $opt "bash -c 'exec -a fzf bash $argsf'" $swap \ - $tmux_off_opts \ - > /dev/null 2>&1 || { "$fzf" "${args[@]}"; exit $?; } -cat $fifo2 -exit "$(cat $fifo3)" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/get-authkey b/result/etc/profiles/per-user/bdsqqq/bin/get-authkey deleted file mode 100755 index 697f6bf2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/get-authkey and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git b/result/etc/profiles/per-user/bdsqqq/bin/git deleted file mode 100755 index ec6d8cef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-credential-netrc b/result/etc/profiles/per-user/bdsqqq/bin/git-credential-netrc deleted file mode 100755 index bda4b02b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/git-credential-netrc +++ /dev/null @@ -1,3 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -export PERL5LIB='/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/lib/perl5/site_perl:/nix/store/zmyhxrp0xg1h0y19flwxh7qppwnn6h2p-perl5.40.0-libwww-perl-6.72/lib/perl5/site_perl:/nix/store/884c2aa24m9kibr4bpd0ipad1vhm5wan-perl5.40.0-URI-5.21/lib/perl5/site_perl:/nix/store/wy7axd7xvydps57an04rgdiwm8vywi5h-perl5.40.0-TermReadKey-2.38/lib/perl5/site_perl' -exec "/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/share/git/contrib/credential/netrc/git-credential-netrc.perl" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-credential-osxkeychain b/result/etc/profiles/per-user/bdsqqq/bin/git-credential-osxkeychain deleted file mode 100755 index 6834affd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-credential-osxkeychain and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-cvsserver b/result/etc/profiles/per-user/bdsqqq/bin/git-cvsserver deleted file mode 100755 index c232e082..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/git-cvsserver +++ /dev/null @@ -1,5130 +0,0 @@ -#!/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl - -use lib (split(/:/, $ENV{GITPERLLIB} || '/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/lib/perl5/site_perl/5.40.0')); - -#### -#### This application is a CVS emulation layer for git. -#### It is intended for clients to connect over SSH. -#### See the documentation for more details. -#### -#### Copyright The Open University UK - 2006. -#### -#### Authors: Martyn Smith <martyn@catalyst.net.nz> -#### Martin Langhoff <martin@laptop.org> -#### -#### -#### Released under the GNU Public License, version 2. -#### -#### - -require v5.26; -use strict; -use warnings; -use bytes; - -use Fcntl; -use File::Temp qw/tempdir tempfile/; -use File::Path qw/rmtree/; -use File::Basename; -use Getopt::Long qw(:config require_order no_ignore_case); - -my $VERSION = '2.49.0'; - -my $log = GITCVS::log->new(); -my $cfg; - -my $DATE_LIST = { - Jan => "01", - Feb => "02", - Mar => "03", - Apr => "04", - May => "05", - Jun => "06", - Jul => "07", - Aug => "08", - Sep => "09", - Oct => "10", - Nov => "11", - Dec => "12", -}; - -# Enable autoflush for STDOUT (otherwise the whole thing falls apart) -$| = 1; - -#### Definition and mappings of functions #### - -# NOTE: Despite the existence of req_CATCHALL and req_EMPTY unimplemented -# requests, this list is incomplete. It is missing many rarer/optional -# requests. Perhaps some clients require a claim of support for -# these specific requests for main functionality to work? -my $methods = { - 'Root' => \&req_Root, - 'Valid-responses' => \&req_Validresponses, - 'valid-requests' => \&req_validrequests, - 'Directory' => \&req_Directory, - 'Sticky' => \&req_Sticky, - 'Entry' => \&req_Entry, - 'Modified' => \&req_Modified, - 'Unchanged' => \&req_Unchanged, - 'Questionable' => \&req_Questionable, - 'Argument' => \&req_Argument, - 'Argumentx' => \&req_Argument, - 'expand-modules' => \&req_expandmodules, - 'add' => \&req_add, - 'remove' => \&req_remove, - 'co' => \&req_co, - 'update' => \&req_update, - 'ci' => \&req_ci, - 'diff' => \&req_diff, - 'log' => \&req_log, - 'rlog' => \&req_log, - 'tag' => \&req_CATCHALL, - 'status' => \&req_status, - 'admin' => \&req_CATCHALL, - 'history' => \&req_CATCHALL, - 'watchers' => \&req_EMPTY, - 'editors' => \&req_EMPTY, - 'noop' => \&req_EMPTY, - 'annotate' => \&req_annotate, - 'Global_option' => \&req_Globaloption, -}; - -############################################## - - -# $state holds all the bits of information the clients sends us that could -# potentially be useful when it comes to actually _doing_ something. -my $state = { prependdir => '' }; - -# Work is for managing temporary working directory -my $work = - { - state => undef, # undef, 1 (empty), 2 (with stuff) - workDir => undef, - index => undef, - emptyDir => undef, - tmpDir => undef - }; - -$log->info("--------------- STARTING -----------------"); - -my $usage = - "usage: git cvsserver [options] [pserver|server] [<directory> ...]\n". - " --base-path <path> : Prepend to requested CVSROOT\n". - " Can be read from GIT_CVSSERVER_BASE_PATH\n". - " --strict-paths : Don't allow recursing into subdirectories\n". - " --export-all : Don't check for gitcvs.enabled in config\n". - " --version, -V : Print version information and exit\n". - " -h, -H : Print usage information and exit\n". - "\n". - "<directory> ... is a list of allowed directories. If no directories\n". - "are given, all are allowed. This is an additional restriction, gitcvs\n". - "access still needs to be enabled by the gitcvs.enabled config option.\n". - "Alternately, one directory may be specified in GIT_CVSSERVER_ROOT.\n"; - -my @opts = ( 'h|H', 'version|V', - 'base-path=s', 'strict-paths', 'export-all' ); -GetOptions( $state, @opts ) - or die $usage; - -if ($state->{version}) { - print "git-cvsserver version $VERSION\n"; - exit; -} -if ($state->{help}) { - print $usage; - exit; -} - -my $TEMP_DIR = tempdir( CLEANUP => 1 ); -$log->debug("Temporary directory is '$TEMP_DIR'"); - -$state->{method} = 'ext'; -if (@ARGV) { - if ($ARGV[0] eq 'pserver') { - $state->{method} = 'pserver'; - shift @ARGV; - } elsif ($ARGV[0] eq 'server') { - shift @ARGV; - } -} - -# everything else is a directory -$state->{allowed_roots} = [ @ARGV ]; - -# don't export the whole system unless the users requests it -if ($state->{'export-all'} && !@{$state->{allowed_roots}}) { - die "--export-all can only be used together with an explicit '<directory>...' list\n"; -} - -# Environment handling for running under git-shell -if (exists $ENV{GIT_CVSSERVER_BASE_PATH}) { - if ($state->{'base-path'}) { - die "Cannot specify base path both ways.\n"; - } - my $base_path = $ENV{GIT_CVSSERVER_BASE_PATH}; - $state->{'base-path'} = $base_path; - $log->debug("Picked up base path '$base_path' from environment.\n"); -} -if (exists $ENV{GIT_CVSSERVER_ROOT}) { - if (@{$state->{allowed_roots}}) { - die "Cannot specify roots both ways: @ARGV\n"; - } - my $allowed_root = $ENV{GIT_CVSSERVER_ROOT}; - $state->{allowed_roots} = [ $allowed_root ]; - $log->debug("Picked up allowed root '$allowed_root' from environment.\n"); -} - -# if we are called with a pserver argument, -# deal with the authentication cat before entering the -# main loop -if ($state->{method} eq 'pserver') { - my $line = <STDIN>; chomp $line; - unless( $line =~ /^BEGIN (AUTH|VERIFICATION) REQUEST$/) { - die "E Do not understand $line - expecting BEGIN AUTH REQUEST\n"; - } - my $request = $1; - $line = <STDIN>; chomp $line; - unless (req_Root('root', $line)) { # reuse Root - print "E Invalid root $line \n"; - exit 1; - } - $line = <STDIN>; chomp $line; - my $user = $line; - $line = <STDIN>; chomp $line; - my $password = $line; - - if ($user eq 'anonymous') { - # "A" will be 1 byte, use length instead in case the - # encryption method ever changes (yeah, right!) - if (length($password) > 1 ) { - print "E Don't supply a password for the `anonymous' user\n"; - print "I HATE YOU\n"; - exit 1; - } - - # Fall through to LOVE - } else { - # Trying to authenticate a user - if (not exists $cfg->{gitcvs}->{authdb}) { - print "E the repo config file needs a [gitcvs] section with an 'authdb' parameter set to the filename of the authentication database\n"; - print "I HATE YOU\n"; - exit 1; - } - - my $authdb = $cfg->{gitcvs}->{authdb}; - - unless (-e $authdb) { - print "E The authentication database specified in [gitcvs.authdb] does not exist\n"; - print "I HATE YOU\n"; - exit 1; - } - - my $auth_ok; - open my $passwd, "<", $authdb or die $!; - while (<$passwd>) { - if (m{^\Q$user\E:(.*)}) { - my $hash = crypt(descramble($password), $1); - if (defined $hash and $hash eq $1) { - $auth_ok = 1; - } - } - } - close $passwd; - - unless ($auth_ok) { - print "I HATE YOU\n"; - exit 1; - } - - # Fall through to LOVE - } - - # For checking whether the user is anonymous on commit - $state->{user} = $user; - - $line = <STDIN>; chomp $line; - unless ($line eq "END $request REQUEST") { - die "E Do not understand $line -- expecting END $request REQUEST\n"; - } - print "I LOVE YOU\n"; - exit if $request eq 'VERIFICATION'; # cvs login - # and now back to our regular programme... -} - -# Keep going until the client closes the connection -while (<STDIN>) -{ - chomp; - - # Check to see if we've seen this method, and call appropriate function. - if ( /^([\w-]+)(?:\s+(.*))?$/ and defined($methods->{$1}) ) - { - # use the $methods hash to call the appropriate sub for this command - #$log->info("Method : $1"); - &{$methods->{$1}}($1,$2); - } else { - # log fatal because we don't understand this function. If this happens - # we're fairly screwed because we don't know if the client is expecting - # a response. If it is, the client will hang, we'll hang, and the whole - # thing will be custard. - $log->fatal("Don't understand command $_\n"); - die("Unknown command $_"); - } -} - -$log->debug("Processing time : user=" . (times)[0] . " system=" . (times)[1]); -$log->info("--------------- FINISH -----------------"); - -chdir '/'; -exit 0; - -# Magic catchall method. -# This is the method that will handle all commands we haven't yet -# implemented. It simply sends a warning to the log file indicating a -# command that hasn't been implemented has been invoked. -sub req_CATCHALL -{ - my ( $cmd, $data ) = @_; - $log->warn("Unhandled command : req_$cmd : $data"); -} - -# This method invariably succeeds with an empty response. -sub req_EMPTY -{ - print "ok\n"; -} - -# Root pathname \n -# Response expected: no. Tell the server which CVSROOT to use. Note that -# pathname is a local directory and not a fully qualified CVSROOT variable. -# pathname must already exist; if creating a new root, use the init -# request, not Root. pathname does not include the hostname of the server, -# how to access the server, etc.; by the time the CVS protocol is in use, -# connection, authentication, etc., are already taken care of. The Root -# request must be sent only once, and it must be sent before any requests -# other than Valid-responses, valid-requests, UseUnchanged, Set or init. -sub req_Root -{ - my ( $cmd, $data ) = @_; - $log->debug("req_Root : $data"); - - unless ($data =~ m#^/#) { - print "error 1 Root must be an absolute pathname\n"; - return 0; - } - - my $cvsroot = $state->{'base-path'} || ''; - $cvsroot =~ s#/+$##; - $cvsroot .= $data; - - if ($state->{CVSROOT} - && ($state->{CVSROOT} ne $cvsroot)) { - print "error 1 Conflicting roots specified\n"; - return 0; - } - - $state->{CVSROOT} = $cvsroot; - - $ENV{GIT_DIR} = $state->{CVSROOT} . "/"; - - if (@{$state->{allowed_roots}}) { - my $allowed = 0; - foreach my $dir (@{$state->{allowed_roots}}) { - next unless $dir =~ m#^/#; - $dir =~ s#/+$##; - if ($state->{'strict-paths'}) { - if ($ENV{GIT_DIR} =~ m#^\Q$dir\E/?$#) { - $allowed = 1; - last; - } - } elsif ($ENV{GIT_DIR} =~ m#^\Q$dir\E(/?$|/)#) { - $allowed = 1; - last; - } - } - - unless ($allowed) { - print "E $ENV{GIT_DIR} does not seem to be a valid GIT repository\n"; - print "E \n"; - print "error 1 $ENV{GIT_DIR} is not a valid repository\n"; - return 0; - } - } - - unless (-d $ENV{GIT_DIR} && -e $ENV{GIT_DIR}.'HEAD') { - print "E $ENV{GIT_DIR} does not seem to be a valid GIT repository\n"; - print "E \n"; - print "error 1 $ENV{GIT_DIR} is not a valid repository\n"; - return 0; - } - - my @gitvars = safe_pipe_capture(qw(git config -l)); - if ($?) { - print "E problems executing git-config on the server -- this is not a git repository or the PATH is not set correctly.\n"; - print "E \n"; - print "error 1 - problem executing git-config\n"; - return 0; - } - foreach my $line ( @gitvars ) - { - next unless ( $line =~ /^(gitcvs|extensions)\.(?:(ext|pserver)\.)?([\w-]+)=(.*)$/ ); - unless ($2) { - $cfg->{$1}{$3} = $4; - } else { - $cfg->{$1}{$2}{$3} = $4; - } - } - - my $enabled = ($cfg->{gitcvs}{$state->{method}}{enabled} - || $cfg->{gitcvs}{enabled}); - unless ($state->{'export-all'} || - ($enabled && $enabled =~ /^\s*(1|true|yes)\s*$/i)) { - print "E GITCVS emulation needs to be enabled on this repo\n"; - print "E the repo config file needs a [gitcvs] section added, and the parameter 'enabled' set to 1\n"; - print "E \n"; - print "error 1 GITCVS emulation disabled\n"; - return 0; - } - - my $logfile = $cfg->{gitcvs}{$state->{method}}{logfile} || $cfg->{gitcvs}{logfile}; - if ( $logfile ) - { - $log->setfile($logfile); - } else { - $log->nofile(); - } - - $state->{rawsz} = ($cfg->{'extensions'}{'objectformat'} || 'sha1') eq 'sha256' ? 32 : 20; - $state->{hexsz} = $state->{rawsz} * 2; - - return 1; -} - -# Global_option option \n -# Response expected: no. Transmit one of the global options `-q', `-Q', -# `-l', `-t', `-r', or `-n'. option must be one of those strings, no -# variations (such as combining of options) are allowed. For graceful -# handling of valid-requests, it is probably better to make new global -# options separate requests, rather than trying to add them to this -# request. -sub req_Globaloption -{ - my ( $cmd, $data ) = @_; - $log->debug("req_Globaloption : $data"); - $state->{globaloptions}{$data} = 1; -} - -# Valid-responses request-list \n -# Response expected: no. Tell the server what responses the client will -# accept. request-list is a space separated list of tokens. -sub req_Validresponses -{ - my ( $cmd, $data ) = @_; - $log->debug("req_Validresponses : $data"); - - # TODO : re-enable this, currently it's not particularly useful - #$state->{validresponses} = [ split /\s+/, $data ]; -} - -# valid-requests \n -# Response expected: yes. Ask the server to send back a Valid-requests -# response. -sub req_validrequests -{ - my ( $cmd, $data ) = @_; - - $log->debug("req_validrequests"); - - $log->debug("SEND : Valid-requests " . join(" ",sort keys %$methods)); - $log->debug("SEND : ok"); - - print "Valid-requests " . join(" ",sort keys %$methods) . "\n"; - print "ok\n"; -} - -# Directory local-directory \n -# Additional data: repository \n. Response expected: no. Tell the server -# what directory to use. The repository should be a directory name from a -# previous server response. Note that this both gives a default for Entry -# and Modified and also for ci and the other commands; normal usage is to -# send Directory for each directory in which there will be an Entry or -# Modified, and then a final Directory for the original directory, then the -# command. The local-directory is relative to the top level at which the -# command is occurring (i.e. the last Directory which is sent before the -# command); to indicate that top level, `.' should be sent for -# local-directory. -sub req_Directory -{ - my ( $cmd, $data ) = @_; - - my $repository = <STDIN>; - chomp $repository; - - - $state->{localdir} = $data; - $state->{repository} = $repository; - $state->{path} = $repository; - $state->{path} =~ s/^\Q$state->{CVSROOT}\E\///; - $state->{module} = $1 if ($state->{path} =~ s/^(.*?)(\/|$)//); - $state->{path} .= "/" if ( $state->{path} =~ /\S/ ); - - $state->{directory} = $state->{localdir}; - $state->{directory} = "" if ( $state->{directory} eq "." ); - $state->{directory} .= "/" if ( $state->{directory} =~ /\S/ ); - - if ( (not defined($state->{prependdir}) or $state->{prependdir} eq '') and $state->{localdir} eq "." and $state->{path} =~ /\S/ ) - { - $log->info("Setting prepend to '$state->{path}'"); - $state->{prependdir} = $state->{path}; - my %entries; - foreach my $entry ( keys %{$state->{entries}} ) - { - $entries{$state->{prependdir} . $entry} = $state->{entries}{$entry}; - } - $state->{entries}=\%entries; - - my %dirMap; - foreach my $dir ( keys %{$state->{dirMap}} ) - { - $dirMap{$state->{prependdir} . $dir} = $state->{dirMap}{$dir}; - } - $state->{dirMap}=\%dirMap; - } - - if ( defined ( $state->{prependdir} ) ) - { - $log->debug("Prepending '$state->{prependdir}' to state|directory"); - $state->{directory} = $state->{prependdir} . $state->{directory} - } - - if ( ! defined($state->{dirMap}{$state->{directory}}) ) - { - $state->{dirMap}{$state->{directory}} = - { - 'names' => {} - #'tagspec' => undef - }; - } - - $log->debug("req_Directory : localdir=$data repository=$repository path=$state->{path} directory=$state->{directory} module=$state->{module}"); -} - -# Sticky tagspec \n -# Response expected: no. Tell the server that the directory most -# recently specified with Directory has a sticky tag or date -# tagspec. The first character of tagspec is T for a tag, D for -# a date, or some other character supplied by a Set-sticky -# response from a previous request to the server. The remainder -# of tagspec contains the actual tag or date, again as supplied -# by Set-sticky. -# The server should remember Static-directory and Sticky requests -# for a particular directory; the client need not resend them each -# time it sends a Directory request for a given directory. However, -# the server is not obliged to remember them beyond the context -# of a single command. -sub req_Sticky -{ - my ( $cmd, $tagspec ) = @_; - - my ( $stickyInfo ); - if($tagspec eq "") - { - # nothing - } - elsif($tagspec=~/^T([^ ]+)\s*$/) - { - $stickyInfo = { 'tag' => $1 }; - } - elsif($tagspec=~/^D([0-9.]+)\s*$/) - { - $stickyInfo= { 'date' => $1 }; - } - else - { - die "Unknown tag_or_date format\n"; - } - $state->{dirMap}{$state->{directory}}{stickyInfo}=$stickyInfo; - - $log->debug("req_Sticky : tagspec=$tagspec repository=$state->{repository}" - . " path=$state->{path} directory=$state->{directory}" - . " module=$state->{module}"); -} - -# Entry entry-line \n -# Response expected: no. Tell the server what version of a file is on the -# local machine. The name in entry-line is a name relative to the directory -# most recently specified with Directory. If the user is operating on only -# some files in a directory, Entry requests for only those files need be -# included. If an Entry request is sent without Modified, Is-modified, or -# Unchanged, it means the file is lost (does not exist in the working -# directory). If both Entry and one of Modified, Is-modified, or Unchanged -# are sent for the same file, Entry must be sent first. For a given file, -# one can send Modified, Is-modified, or Unchanged, but not more than one -# of these three. -sub req_Entry -{ - my ( $cmd, $data ) = @_; - - #$log->debug("req_Entry : $data"); - - my @data = split(/\//, $data, -1); - - $state->{entries}{$state->{directory}.$data[1]} = { - revision => $data[2], - conflict => $data[3], - options => $data[4], - tag_or_date => $data[5], - }; - - $state->{dirMap}{$state->{directory}}{names}{$data[1]} = 'F'; - - $log->info("Received entry line '$data' => '" . $state->{directory} . $data[1] . "'"); -} - -# Questionable filename \n -# Response expected: no. Additional data: no. Tell the server to check -# whether filename should be ignored, and if not, next time the server -# sends responses, send (in a M response) `?' followed by the directory and -# filename. filename must not contain `/'; it needs to be a file in the -# directory named by the most recent Directory request. -sub req_Questionable -{ - my ( $cmd, $data ) = @_; - - $log->debug("req_Questionable : $data"); - $state->{entries}{$state->{directory}.$data}{questionable} = 1; -} - -# add \n -# Response expected: yes. Add a file or directory. This uses any previous -# Argument, Directory, Entry, or Modified requests, if they have been sent. -# The last Directory sent specifies the working directory at the time of -# the operation. To add a directory, send the directory to be added using -# Directory and Argument requests. -sub req_add -{ - my ( $cmd, $data ) = @_; - - argsplit("add"); - - my $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - my $addcount = 0; - - foreach my $filename ( @{$state->{args}} ) - { - $filename = filecleanup($filename); - - # no -r, -A, or -D with add - my $stickyInfo = resolveStickyInfo($filename); - - my $meta = $updater->getmeta($filename,$stickyInfo); - my $wrev = revparse($filename); - - if ($wrev && $meta && ($wrev=~/^-/)) - { - # previously removed file, add back - $log->info("added file $filename was previously removed, send $meta->{revision}"); - - print "MT +updated\n"; - print "MT text U \n"; - print "MT fname $filename\n"; - print "MT newline\n"; - print "MT -updated\n"; - - unless ( $state->{globaloptions}{-n} ) - { - my ( $filepart, $dirpart ) = filenamesplit($filename,1); - - print "Created $dirpart\n"; - print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - - # this is an "entries" line - my $kopts = kopts_from_path($filename,"sha1",$meta->{filehash}); - my $entryLine = "/$filepart/$meta->{revision}//$kopts/"; - $entryLine .= getStickyTagOrDate($stickyInfo); - $log->debug($entryLine); - print "$entryLine\n"; - # permissions - $log->debug("SEND : u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}"); - print "u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}\n"; - # transmit file - transmitfile($meta->{filehash}); - } - - next; - } - - unless ( defined ( $state->{entries}{$filename}{modified_filename} ) ) - { - print "E cvs add: nothing known about `$filename'\n"; - next; - } - # TODO : check we're not squashing an already existing file - if ( defined ( $state->{entries}{$filename}{revision} ) ) - { - print "E cvs add: `$filename' has already been entered\n"; - next; - } - - my ( $filepart, $dirpart ) = filenamesplit($filename, 1); - - print "E cvs add: scheduling file `$filename' for addition\n"; - - print "Checked-in $dirpart\n"; - print "$filename\n"; - my $kopts = kopts_from_path($filename,"file", - $state->{entries}{$filename}{modified_filename}); - print "/$filepart/0//$kopts/" . - getStickyTagOrDate($stickyInfo) . "\n"; - - my $requestedKopts = $state->{opt}{k}; - if(defined($requestedKopts)) - { - $requestedKopts = "-k$requestedKopts"; - } - else - { - $requestedKopts = ""; - } - if( $kopts ne $requestedKopts ) - { - $log->warn("Ignoring requested -k='$requestedKopts'" - . " for '$filename'; detected -k='$kopts' instead"); - #TODO: Also have option to send warning to user? - } - - $addcount++; - } - - if ( $addcount == 1 ) - { - print "E cvs add: use `cvs commit' to add this file permanently\n"; - } - elsif ( $addcount > 1 ) - { - print "E cvs add: use `cvs commit' to add these files permanently\n"; - } - - print "ok\n"; -} - -# remove \n -# Response expected: yes. Remove a file. This uses any previous Argument, -# Directory, Entry, or Modified requests, if they have been sent. The last -# Directory sent specifies the working directory at the time of the -# operation. Note that this request does not actually do anything to the -# repository; the only effect of a successful remove request is to supply -# the client with a new entries line containing `-' to indicate a removed -# file. In fact, the client probably could perform this operation without -# contacting the server, although using remove may cause the server to -# perform a few more checks. The client sends a subsequent ci request to -# actually record the removal in the repository. -sub req_remove -{ - my ( $cmd, $data ) = @_; - - argsplit("remove"); - - # Grab a handle to the SQLite db and do any necessary updates - my $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - #$log->debug("add state : " . Dumper($state)); - - my $rmcount = 0; - - foreach my $filename ( @{$state->{args}} ) - { - $filename = filecleanup($filename); - - if ( defined ( $state->{entries}{$filename}{unchanged} ) or defined ( $state->{entries}{$filename}{modified_filename} ) ) - { - print "E cvs remove: file `$filename' still in working directory\n"; - next; - } - - # only from entries - my $stickyInfo = resolveStickyInfo($filename); - - my $meta = $updater->getmeta($filename,$stickyInfo); - my $wrev = revparse($filename); - - unless ( defined ( $wrev ) ) - { - print "E cvs remove: nothing known about `$filename'\n"; - next; - } - - if ( defined($wrev) and ($wrev=~/^-/) ) - { - print "E cvs remove: file `$filename' already scheduled for removal\n"; - next; - } - - unless ( $wrev eq $meta->{revision} ) - { - # TODO : not sure if the format of this message is quite correct. - print "E cvs remove: Up to date check failed for `$filename'\n"; - next; - } - - - my ( $filepart, $dirpart ) = filenamesplit($filename, 1); - - print "E cvs remove: scheduling `$filename' for removal\n"; - - print "Checked-in $dirpart\n"; - print "$filename\n"; - my $kopts = kopts_from_path($filename,"sha1",$meta->{filehash}); - print "/$filepart/-$wrev//$kopts/" . getStickyTagOrDate($stickyInfo) . "\n"; - - $rmcount++; - } - - if ( $rmcount == 1 ) - { - print "E cvs remove: use `cvs commit' to remove this file permanently\n"; - } - elsif ( $rmcount > 1 ) - { - print "E cvs remove: use `cvs commit' to remove these files permanently\n"; - } - - print "ok\n"; -} - -# Modified filename \n -# Response expected: no. Additional data: mode, \n, file transmission. Send -# the server a copy of one locally modified file. filename is a file within -# the most recent directory sent with Directory; it must not contain `/'. -# If the user is operating on only some files in a directory, only those -# files need to be included. This can also be sent without Entry, if there -# is no entry for the file. -sub req_Modified -{ - my ( $cmd, $data ) = @_; - - my $mode = <STDIN>; - defined $mode - or (print "E end of file reading mode for $data\n"), return; - chomp $mode; - my $size = <STDIN>; - defined $size - or (print "E end of file reading size of $data\n"), return; - chomp $size; - - # Grab config information - my $blocksize = 8192; - my $bytesleft = $size; - my $tmp; - - # Get a filehandle/name to write it to - my ( $fh, $filename ) = tempfile( DIR => $TEMP_DIR ); - - # Loop over file data writing out to temporary file. - while ( $bytesleft ) - { - $blocksize = $bytesleft if ( $bytesleft < $blocksize ); - read STDIN, $tmp, $blocksize; - print $fh $tmp; - $bytesleft -= $blocksize; - } - - close $fh - or (print "E failed to write temporary, $filename: $!\n"), return; - - # Ensure we have something sensible for the file mode - if ( $mode =~ /u=(\w+)/ ) - { - $mode = $1; - } else { - $mode = "rw"; - } - - # Save the file data in $state - $state->{entries}{$state->{directory}.$data}{modified_filename} = $filename; - $state->{entries}{$state->{directory}.$data}{modified_mode} = $mode; - $state->{entries}{$state->{directory}.$data}{modified_hash} = safe_pipe_capture('git','hash-object',$filename); - $state->{entries}{$state->{directory}.$data}{modified_hash} =~ s/\s.*$//s; - - #$log->debug("req_Modified : file=$data mode=$mode size=$size"); -} - -# Unchanged filename \n -# Response expected: no. Tell the server that filename has not been -# modified in the checked out directory. The filename is a file within the -# most recent directory sent with Directory; it must not contain `/'. -sub req_Unchanged -{ - my ( $cmd, $data ) = @_; - - $state->{entries}{$state->{directory}.$data}{unchanged} = 1; - - #$log->debug("req_Unchanged : $data"); -} - -# Argument text \n -# Response expected: no. Save argument for use in a subsequent command. -# Arguments accumulate until an argument-using command is given, at which -# point they are forgotten. -# Argumentx text \n -# Response expected: no. Append \n followed by text to the current argument -# being saved. -sub req_Argument -{ - my ( $cmd, $data ) = @_; - - # Argumentx means: append to last Argument (with a newline in front) - - $log->debug("$cmd : $data"); - - if ( $cmd eq 'Argumentx') { - ${$state->{arguments}}[$#{$state->{arguments}}] .= "\n" . $data; - } else { - push @{$state->{arguments}}, $data; - } -} - -# expand-modules \n -# Response expected: yes. Expand the modules which are specified in the -# arguments. Returns the data in Module-expansion responses. Note that the -# server can assume that this is checkout or export, not rtag or rdiff; the -# latter do not access the working directory and thus have no need to -# expand modules on the client side. Expand may not be the best word for -# what this request does. It does not necessarily tell you all the files -# contained in a module, for example. Basically it is a way of telling you -# which working directories the server needs to know about in order to -# handle a checkout of the specified modules. For example, suppose that the -# server has a module defined by -# aliasmodule -a 1dir -# That is, one can check out aliasmodule and it will take 1dir in the -# repository and check it out to 1dir in the working directory. Now suppose -# the client already has this module checked out and is planning on using -# the co request to update it. Without using expand-modules, the client -# would have two bad choices: it could either send information about all -# working directories under the current directory, which could be -# unnecessarily slow, or it could be ignorant of the fact that aliasmodule -# stands for 1dir, and neglect to send information for 1dir, which would -# lead to incorrect operation. With expand-modules, the client would first -# ask for the module to be expanded: -sub req_expandmodules -{ - my ( $cmd, $data ) = @_; - - argsplit(); - - $log->debug("req_expandmodules : " . ( defined($data) ? $data : "[NULL]" ) ); - - unless ( ref $state->{arguments} eq "ARRAY" ) - { - print "ok\n"; - return; - } - - foreach my $module ( @{$state->{arguments}} ) - { - $log->debug("SEND : Module-expansion $module"); - print "Module-expansion $module\n"; - } - - print "ok\n"; - statecleanup(); -} - -# co \n -# Response expected: yes. Get files from the repository. This uses any -# previous Argument, Directory, Entry, or Modified requests, if they have -# been sent. Arguments to this command are module names; the client cannot -# know what directories they correspond to except by (1) just sending the -# co request, and then seeing what directory names the server sends back in -# its responses, and (2) the expand-modules request. -sub req_co -{ - my ( $cmd, $data ) = @_; - - argsplit("co"); - - # Provide list of modules, if -c was used. - if (exists $state->{opt}{c}) { - my $showref = safe_pipe_capture(qw(git show-ref --heads)); - for my $line (split '\n', $showref) { - if ( $line =~ m% refs/heads/(.*)$% ) { - print "M $1\t$1\n"; - } - } - print "ok\n"; - return 1; - } - - my $stickyInfo = { 'tag' => $state->{opt}{r}, - 'date' => $state->{opt}{D} }; - - my $module = $state->{args}[0]; - $state->{module} = $module; - my $checkout_path = $module; - - # use the user specified directory if we're given it - $checkout_path = $state->{opt}{d} if ( exists ( $state->{opt}{d} ) ); - - $log->debug("req_co : " . ( defined($data) ? $data : "[NULL]" ) ); - - $log->info("Checking out module '$module' ($state->{CVSROOT}) to '$checkout_path'"); - - $ENV{GIT_DIR} = $state->{CVSROOT} . "/"; - - # Grab a handle to the SQLite db and do any necessary updates - my $updater = GITCVS::updater->new($state->{CVSROOT}, $module, $log); - $updater->update(); - - my $headHash; - if( defined($stickyInfo) && defined($stickyInfo->{tag}) ) - { - $headHash = $updater->lookupCommitRef($stickyInfo->{tag}); - if( !defined($headHash) ) - { - print "error 1 no such tag `$stickyInfo->{tag}'\n"; - cleanupWorkTree(); - exit; - } - } - - $checkout_path =~ s|/$||; # get rid of trailing slashes - - my %seendirs = (); - my $lastdir =''; - - prepDirForOutput( - ".", - $state->{CVSROOT} . "/$module", - $checkout_path, - \%seendirs, - 'checkout', - $state->{dirArgs} ); - - foreach my $git ( @{$updater->getAnyHead($headHash)} ) - { - # Don't want to check out deleted files - next if ( $git->{filehash} eq "deleted" ); - - my $fullName = $git->{name}; - ( $git->{name}, $git->{dir} ) = filenamesplit($git->{name}); - - unless (exists($seendirs{$git->{dir}})) { - prepDirForOutput($git->{dir}, $state->{CVSROOT} . "/$module/", - $checkout_path, \%seendirs, 'checkout', - $state->{dirArgs} ); - $lastdir = $git->{dir}; - $seendirs{$git->{dir}} = 1; - } - - # modification time of this file - print "Mod-time $git->{modified}\n"; - - # print some information to the client - if ( defined ( $git->{dir} ) and $git->{dir} ne "./" ) - { - print "M U $checkout_path/$git->{dir}$git->{name}\n"; - } else { - print "M U $checkout_path/$git->{name}\n"; - } - - # instruct client we're sending a file to put in this path - print "Created $checkout_path/" . ( defined ( $git->{dir} ) and $git->{dir} ne "./" ? $git->{dir} . "/" : "" ) . "\n"; - - print $state->{CVSROOT} . "/$module/" . ( defined ( $git->{dir} ) and $git->{dir} ne "./" ? $git->{dir} . "/" : "" ) . "$git->{name}\n"; - - # this is an "entries" line - my $kopts = kopts_from_path($fullName,"sha1",$git->{filehash}); - print "/$git->{name}/$git->{revision}//$kopts/" . - getStickyTagOrDate($stickyInfo) . "\n"; - # permissions - print "u=$git->{mode},g=$git->{mode},o=$git->{mode}\n"; - - # transmit file - transmitfile($git->{filehash}); - } - - print "ok\n"; - - statecleanup(); -} - -# used by req_co and req_update to set up directories for files -# recursively handles parents -sub prepDirForOutput -{ - my ($dir, $repodir, $remotedir, $seendirs, $request, $dirArgs) = @_; - - my $parent = dirname($dir); - $dir =~ s|/+$||; - $repodir =~ s|/+$||; - $remotedir =~ s|/+$||; - $parent =~ s|/+$||; - - if ($parent eq '.' || $parent eq './') - { - $parent = ''; - } - # recurse to announce unseen parents first - if( length($parent) && - !exists($seendirs->{$parent}) && - ( $request eq "checkout" || - exists($dirArgs->{$parent}) ) ) - { - prepDirForOutput($parent, $repodir, $remotedir, - $seendirs, $request, $dirArgs); - } - # Announce that we are going to modify at the parent level - if ($dir eq '.' || $dir eq './') - { - $dir = ''; - } - if(exists($seendirs->{$dir})) - { - return; - } - $log->debug("announcedir $dir, $repodir, $remotedir" ); - my($thisRemoteDir,$thisRepoDir); - if ($dir ne "") - { - $thisRepoDir="$repodir/$dir"; - if($remotedir eq ".") - { - $thisRemoteDir=$dir; - } - else - { - $thisRemoteDir="$remotedir/$dir"; - } - } - else - { - $thisRepoDir=$repodir; - $thisRemoteDir=$remotedir; - } - unless ( $state->{globaloptions}{-Q} || $state->{globaloptions}{-q} ) - { - print "E cvs $request: Updating $thisRemoteDir\n"; - } - - my ($opt_r)=$state->{opt}{r}; - my $stickyInfo; - if(exists($state->{opt}{A})) - { - # $stickyInfo=undef; - } - elsif( defined($opt_r) && $opt_r ne "" ) - # || ( defined($state->{opt}{D}) && $state->{opt}{D} ne "" ) # TODO - { - $stickyInfo={ 'tag' => (defined($opt_r)?$opt_r:undef) }; - - # TODO: Convert -D value into the form 2011.04.10.04.46.57, - # similar to an entry line's sticky date, without the D prefix. - # It sometimes (always?) arrives as something more like - # '10 Apr 2011 04:46:57 -0000'... - # $stickyInfo={ 'date' => (defined($stickyDate)?$stickyDate:undef) }; - } - else - { - $stickyInfo=getDirStickyInfo($state->{prependdir} . $dir); - } - - my $stickyResponse; - if(defined($stickyInfo)) - { - $stickyResponse = "Set-sticky $thisRemoteDir/\n" . - "$thisRepoDir/\n" . - getStickyTagOrDate($stickyInfo) . "\n"; - } - else - { - $stickyResponse = "Clear-sticky $thisRemoteDir/\n" . - "$thisRepoDir/\n"; - } - - unless ( $state->{globaloptions}{-n} ) - { - print $stickyResponse; - - print "Clear-static-directory $thisRemoteDir/\n"; - print "$thisRepoDir/\n"; - print $stickyResponse; # yes, twice - print "Template $thisRemoteDir/\n"; - print "$thisRepoDir/\n"; - print "0\n"; - } - - $seendirs->{$dir} = 1; - - # FUTURE: This would more accurately emulate CVS by sending - # another copy of sticky after processing the files in that - # directory. Or intermediate: perhaps send all sticky's for - # $seendirs after processing all files. -} - -# update \n -# Response expected: yes. Actually do a cvs update command. This uses any -# previous Argument, Directory, Entry, or Modified requests, if they have -# been sent. The last Directory sent specifies the working directory at the -# time of the operation. The -I option is not used--files which the client -# can decide whether to ignore are not mentioned and the client sends the -# Questionable request for others. -sub req_update -{ - my ( $cmd, $data ) = @_; - - $log->debug("req_update : " . ( defined($data) ? $data : "[NULL]" )); - - argsplit("update"); - - # - # It may just be a client exploring the available heads/modules - # in that case, list them as top level directories and leave it - # at that. Eclipse uses this technique to offer you a list of - # projects (heads in this case) to checkout. - # - if ($state->{module} eq '') { - my $showref = safe_pipe_capture(qw(git show-ref --heads)); - print "E cvs update: Updating .\n"; - for my $line (split '\n', $showref) { - if ( $line =~ m% refs/heads/(.*)$% ) { - print "E cvs update: New directory `$1'\n"; - } - } - print "ok\n"; - return 1; - } - - - # Grab a handle to the SQLite db and do any necessary updates - my $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - - $updater->update(); - - argsfromdir($updater); - - #$log->debug("update state : " . Dumper($state)); - - my($repoDir); - $repoDir=$state->{CVSROOT} . "/$state->{module}/$state->{prependdir}"; - - my %seendirs = (); - - # foreach file specified on the command line ... - foreach my $argsFilename ( @{$state->{args}} ) - { - my $filename; - $filename = filecleanup($argsFilename); - - $log->debug("Processing file $filename"); - - # if we have a -C we should pretend we never saw modified stuff - if ( exists ( $state->{opt}{C} ) ) - { - delete $state->{entries}{$filename}{modified_hash}; - delete $state->{entries}{$filename}{modified_filename}; - $state->{entries}{$filename}{unchanged} = 1; - } - - my $stickyInfo = resolveStickyInfo($filename, - $state->{opt}{r}, - $state->{opt}{D}, - exists($state->{opt}{A})); - my $meta = $updater->getmeta($filename, $stickyInfo); - - # If -p was given, "print" the contents of the requested revision. - if ( exists ( $state->{opt}{p} ) ) { - if ( defined ( $meta->{revision} ) ) { - $log->info("Printing '$filename' revision " . $meta->{revision}); - - transmitfile($meta->{filehash}, { print => 1 }); - } - - next; - } - - # Directories: - prepDirForOutput( - dirname($argsFilename), - $repoDir, - ".", - \%seendirs, - "update", - $state->{dirArgs} ); - - my $wrev = revparse($filename); - - if ( ! defined $meta ) - { - $meta = { - name => $filename, - revision => '0', - filehash => 'added' - }; - if($wrev ne "0") - { - $meta->{filehash}='deleted'; - } - } - - my $oldmeta = $meta; - - # If the working copy is an old revision, lets get that version too for comparison. - my $oldWrev=$wrev; - if(defined($oldWrev)) - { - $oldWrev=~s/^-//; - if($oldWrev ne $meta->{revision}) - { - $oldmeta = $updater->getmeta($filename, $oldWrev); - } - } - - #$log->debug("Target revision is $meta->{revision}, current working revision is $wrev"); - - # Files are up to date if the working copy and repo copy have the same revision, - # and the working copy is unmodified _and_ the user hasn't specified -C - next if ( defined ( $wrev ) - and defined($meta->{revision}) - and $wrev eq $meta->{revision} - and $state->{entries}{$filename}{unchanged} - and not exists ( $state->{opt}{C} ) ); - - # If the working copy and repo copy have the same revision, - # but the working copy is modified, tell the client it's modified - if ( defined ( $wrev ) - and defined($meta->{revision}) - and $wrev eq $meta->{revision} - and $wrev ne "0" - and defined($state->{entries}{$filename}{modified_hash}) - and not exists ( $state->{opt}{C} ) ) - { - $log->info("Tell the client the file is modified"); - print "MT text M \n"; - print "MT fname $filename\n"; - print "MT newline\n"; - next; - } - - if ( $meta->{filehash} eq "deleted" && $wrev ne "0" ) - { - # TODO: If it has been modified in the sandbox, error out - # with the appropriate message, rather than deleting a modified - # file. - - my ( $filepart, $dirpart ) = filenamesplit($filename,1); - - $log->info("Removing '$filename' from working copy (no longer in the repo)"); - - print "E cvs update: `$filename' is no longer in the repository\n"; - # Don't want to actually _DO_ the update if -n specified - unless ( $state->{globaloptions}{-n} ) { - print "Removed $dirpart\n"; - print "$filepart\n"; - } - } - elsif ( not defined ( $state->{entries}{$filename}{modified_hash} ) - or $state->{entries}{$filename}{modified_hash} eq $oldmeta->{filehash} - or $meta->{filehash} eq 'added' ) - { - # normal update, just send the new revision (either U=Update, - # or A=Add, or R=Remove) - if ( defined($wrev) && ($wrev=~/^-/) ) - { - $log->info("Tell the client the file is scheduled for removal"); - print "MT text R \n"; - print "MT fname $filename\n"; - print "MT newline\n"; - next; - } - elsif ( (!defined($wrev) || $wrev eq '0') && - (!defined($meta->{revision}) || $meta->{revision} eq '0') ) - { - $log->info("Tell the client the file is scheduled for addition"); - print "MT text A \n"; - print "MT fname $filename\n"; - print "MT newline\n"; - next; - - } - else { - $log->info("UpdatingX3 '$filename' to ".$meta->{revision}); - print "MT +updated\n"; - print "MT text U \n"; - print "MT fname $filename\n"; - print "MT newline\n"; - print "MT -updated\n"; - } - - my ( $filepart, $dirpart ) = filenamesplit($filename,1); - - # Don't want to actually _DO_ the update if -n specified - unless ( $state->{globaloptions}{-n} ) - { - if ( defined ( $wrev ) ) - { - # instruct client we're sending a file to put in this path as a replacement - print "Update-existing $dirpart\n"; - $log->debug("Updating existing file 'Update-existing $dirpart'"); - } else { - # instruct client we're sending a file to put in this path as a new file - - $log->debug("Creating new file 'Created $dirpart'"); - print "Created $dirpart\n"; - } - print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - - # this is an "entries" line - my $kopts = kopts_from_path($filename,"sha1",$meta->{filehash}); - my $entriesLine = "/$filepart/$meta->{revision}//$kopts/"; - $entriesLine .= getStickyTagOrDate($stickyInfo); - $log->debug($entriesLine); - print "$entriesLine\n"; - - # permissions - $log->debug("SEND : u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}"); - print "u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}\n"; - - # transmit file - transmitfile($meta->{filehash}); - } - } else { - my ( $filepart, $dirpart ) = filenamesplit($meta->{name},1); - - my $mergeDir = setupTmpDir(); - - my $file_local = $filepart . ".mine"; - my $mergedFile = "$mergeDir/$file_local"; - system("ln","-s",$state->{entries}{$filename}{modified_filename}, $file_local); - my $file_old = $filepart . "." . $oldmeta->{revision}; - transmitfile($oldmeta->{filehash}, { targetfile => $file_old }); - my $file_new = $filepart . "." . $meta->{revision}; - transmitfile($meta->{filehash}, { targetfile => $file_new }); - - # we need to merge with the local changes ( M=successful merge, C=conflict merge ) - $log->info("Merging $file_local, $file_old, $file_new"); - print "M Merging differences between $oldmeta->{revision} and $meta->{revision} into $filename\n"; - - $log->debug("Temporary directory for merge is $mergeDir"); - - my $return = system("git", "merge-file", $file_local, $file_old, $file_new); - $return >>= 8; - - cleanupTmpDir(); - - if ( $return == 0 ) - { - $log->info("Merged successfully"); - print "M M $filename\n"; - $log->debug("Merged $dirpart"); - - # Don't want to actually _DO_ the update if -n specified - unless ( $state->{globaloptions}{-n} ) - { - print "Merged $dirpart\n"; - $log->debug($state->{CVSROOT} . "/$state->{module}/$filename"); - print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - my $kopts = kopts_from_path("$dirpart/$filepart", - "file",$mergedFile); - $log->debug("/$filepart/$meta->{revision}//$kopts/"); - my $entriesLine="/$filepart/$meta->{revision}//$kopts/"; - $entriesLine .= getStickyTagOrDate($stickyInfo); - print "$entriesLine\n"; - } - } - elsif ( $return == 1 ) - { - $log->info("Merged with conflicts"); - print "E cvs update: conflicts found in $filename\n"; - print "M C $filename\n"; - - # Don't want to actually _DO_ the update if -n specified - unless ( $state->{globaloptions}{-n} ) - { - print "Merged $dirpart\n"; - print $state->{CVSROOT} . "/$state->{module}/$filename\n"; - my $kopts = kopts_from_path("$dirpart/$filepart", - "file",$mergedFile); - my $entriesLine = "/$filepart/$meta->{revision}/+/$kopts/"; - $entriesLine .= getStickyTagOrDate($stickyInfo); - print "$entriesLine\n"; - } - } - else - { - $log->warn("Merge failed"); - next; - } - - # Don't want to actually _DO_ the update if -n specified - unless ( $state->{globaloptions}{-n} ) - { - # permissions - $log->debug("SEND : u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}"); - print "u=$meta->{mode},g=$meta->{mode},o=$meta->{mode}\n"; - - # transmit file, format is single integer on a line by itself (file - # size) followed by the file contents - # TODO : we should copy files in blocks - my $data = safe_pipe_capture('cat', $mergedFile); - $log->debug("File size : " . length($data)); - print length($data) . "\n"; - print $data; - } - } - - } - - # prepDirForOutput() any other existing directories unless they already - # have the right sticky tag: - unless ( $state->{globaloptions}{n} ) - { - my $dir; - foreach $dir (keys(%{$state->{dirMap}})) - { - if( ! $seendirs{$dir} && - exists($state->{dirArgs}{$dir}) ) - { - my($oldTag); - $oldTag=$state->{dirMap}{$dir}{tagspec}; - - unless( ( exists($state->{opt}{A}) && - defined($oldTag) ) || - ( defined($state->{opt}{r}) && - ( !defined($oldTag) || - $state->{opt}{r} ne $oldTag ) ) ) - # TODO?: OR sticky dir is different... - { - next; - } - - prepDirForOutput( - $dir, - $repoDir, - ".", - \%seendirs, - 'update', - $state->{dirArgs} ); - } - - # TODO?: Consider sending a final duplicate Sticky response - # to more closely mimic real CVS. - } - } - - print "ok\n"; -} - -sub req_ci -{ - my ( $cmd, $data ) = @_; - - argsplit("ci"); - - #$log->debug("State : " . Dumper($state)); - - $log->info("req_ci : " . ( defined($data) ? $data : "[NULL]" )); - - if ( $state->{method} eq 'pserver' and $state->{user} eq 'anonymous' ) - { - print "error 1 anonymous user cannot commit via pserver\n"; - cleanupWorkTree(); - exit; - } - - if ( -e $state->{CVSROOT} . "/index" ) - { - $log->warn("file 'index' already exists in the git repository"); - print "error 1 Index already exists in git repo\n"; - cleanupWorkTree(); - exit; - } - - # Grab a handle to the SQLite db and do any necessary updates - my $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - my @committedfiles = (); - my %oldmeta; - my $stickyInfo; - my $branchRef; - my $parenthash; - - # foreach file specified on the command line ... - foreach my $filename ( @{$state->{args}} ) - { - my $committedfile = $filename; - $filename = filecleanup($filename); - - next unless ( exists $state->{entries}{$filename}{modified_filename} or not $state->{entries}{$filename}{unchanged} ); - - ##### - # Figure out which branch and parenthash we are committing - # to, and setup worktree: - - # should always come from entries: - my $fileStickyInfo = resolveStickyInfo($filename); - if( !defined($branchRef) ) - { - $stickyInfo = $fileStickyInfo; - if( defined($stickyInfo) && - ( defined($stickyInfo->{date}) || - !defined($stickyInfo->{tag}) ) ) - { - print "error 1 cannot commit with sticky date for file `$filename'\n"; - cleanupWorkTree(); - exit; - } - - $branchRef = "refs/heads/$state->{module}"; - if ( defined($stickyInfo) && defined($stickyInfo->{tag}) ) - { - $branchRef = "refs/heads/$stickyInfo->{tag}"; - } - - $parenthash = safe_pipe_capture('git', 'show-ref', '-s', $branchRef); - chomp $parenthash; - if ($parenthash !~ /^[0-9a-f]{$state->{hexsz}}$/) - { - if ( defined($stickyInfo) && defined($stickyInfo->{tag}) ) - { - print "error 1 sticky tag `$stickyInfo->{tag}' for file `$filename' is not a branch\n"; - } - else - { - print "error 1 pserver cannot find the current HEAD of module"; - } - cleanupWorkTree(); - exit; - } - - setupWorkTree($parenthash); - - $log->info("Lockless commit start, basing commit on '$work->{workDir}', index file is '$work->{index}'"); - - $log->info("Created index '$work->{index}' for head $state->{module} - exit status $?"); - } - elsif( !refHashEqual($stickyInfo,$fileStickyInfo) ) - { - #TODO: We could split the cvs commit into multiple - # git commits by distinct stickyTag values, but that - # is lowish priority. - print "error 1 Committing different files to different" - . " branches is not currently supported\n"; - cleanupWorkTree(); - exit; - } - - ##### - # Process this file: - - my $meta = $updater->getmeta($filename,$stickyInfo); - $oldmeta{$filename} = $meta; - - my $wrev = revparse($filename); - - my ( $filepart, $dirpart ) = filenamesplit($filename); - - # do a checkout of the file if it is part of this tree - if ($wrev) { - system('git', 'checkout-index', '-f', '-u', $filename); - unless ($? == 0) { - die "Error running git-checkout-index -f -u $filename : $!"; - } - } - - my $addflag = 0; - my $rmflag = 0; - $rmflag = 1 if ( defined($wrev) and ($wrev=~/^-/) ); - $addflag = 1 unless ( -e $filename ); - - # Do up to date checking - unless ( $addflag or $wrev eq $meta->{revision} or - ( $rmflag and $wrev eq "-$meta->{revision}" ) ) - { - # fail everything if an up to date check fails - print "error 1 Up to date check failed for $filename\n"; - cleanupWorkTree(); - exit; - } - - push @committedfiles, $committedfile; - $log->info("Committing $filename"); - - system("mkdir","-p",$dirpart) unless ( -d $dirpart ); - - unless ( $rmflag ) - { - $log->debug("rename $state->{entries}{$filename}{modified_filename} $filename"); - rename $state->{entries}{$filename}{modified_filename},$filename; - - # Calculate modes to remove - my $invmode = ""; - foreach ( qw (r w x) ) { $invmode .= $_ unless ( $state->{entries}{$filename}{modified_mode} =~ /$_/ ); } - - $log->debug("chmod u+" . $state->{entries}{$filename}{modified_mode} . "-" . $invmode . " $filename"); - system("chmod","u+" . $state->{entries}{$filename}{modified_mode} . "-" . $invmode, $filename); - } - - if ( $rmflag ) - { - $log->info("Removing file '$filename'"); - unlink($filename); - system("git", "update-index", "--remove", $filename); - } - elsif ( $addflag ) - { - $log->info("Adding file '$filename'"); - system("git", "update-index", "--add", $filename); - } else { - $log->info("UpdatingX2 file '$filename'"); - system("git", "update-index", $filename); - } - } - - unless ( scalar(@committedfiles) > 0 ) - { - print "E No files to commit\n"; - print "ok\n"; - cleanupWorkTree(); - return; - } - - my $treehash = safe_pipe_capture(qw(git write-tree)); - chomp $treehash; - - $log->debug("Treehash : $treehash, Parenthash : $parenthash"); - - # write our commit message out if we have one ... - my ( $msg_fh, $msg_filename ) = tempfile( DIR => $TEMP_DIR ); - print $msg_fh $state->{opt}{m};# if ( exists ( $state->{opt}{m} ) ); - if ( defined ( $cfg->{gitcvs}{commitmsgannotation} ) ) { - if ($cfg->{gitcvs}{commitmsgannotation} !~ /^\s*$/ ) { - print $msg_fh "\n\n".$cfg->{gitcvs}{commitmsgannotation}."\n" - } - } else { - print $msg_fh "\n\nvia git-CVS emulator\n"; - } - close $msg_fh; - - my $commithash = safe_pipe_capture('git', 'commit-tree', $treehash, '-p', $parenthash, '-F', $msg_filename); - chomp($commithash); - $log->info("Commit hash : $commithash"); - - unless ( $commithash =~ /[a-zA-Z0-9]{$state->{hexsz}}/ ) - { - $log->warn("Commit failed (Invalid commit hash)"); - print "error 1 Commit failed (unknown reason)\n"; - cleanupWorkTree(); - exit; - } - - ### Emulate git-receive-pack by running hooks/update - my @hook = ( $ENV{GIT_DIR}.'hooks/update', $branchRef, - $parenthash, $commithash ); - if( -x $hook[0] ) { - unless( system( @hook ) == 0 ) - { - $log->warn("Commit failed (update hook declined to update ref)"); - print "error 1 Commit failed (update hook declined)\n"; - cleanupWorkTree(); - exit; - } - } - - ### Update the ref - if (system(qw(git update-ref -m), "cvsserver ci", - $branchRef, $commithash, $parenthash)) { - $log->warn("update-ref for $state->{module} failed."); - print "error 1 Cannot commit -- update first\n"; - cleanupWorkTree(); - exit; - } - - ### Emulate git-receive-pack by running hooks/post-receive - my $hook = $ENV{GIT_DIR}.'hooks/post-receive'; - if( -x $hook ) { - open(my $pipe, "| $hook") || die "can't fork $!"; - - local $SIG{PIPE} = sub { die 'pipe broke' }; - - print $pipe "$parenthash $commithash $branchRef\n"; - - close $pipe || die "bad pipe: $! $?"; - } - - $updater->update(); - - ### Then hooks/post-update - $hook = $ENV{GIT_DIR}.'hooks/post-update'; - if (-x $hook) { - system($hook, $branchRef); - } - - # foreach file specified on the command line ... - foreach my $filename ( @committedfiles ) - { - $filename = filecleanup($filename); - - my $meta = $updater->getmeta($filename,$stickyInfo); - unless (defined $meta->{revision}) { - $meta->{revision} = "1.1"; - } - - my ( $filepart, $dirpart ) = filenamesplit($filename, 1); - - $log->debug("Checked-in $dirpart : $filename"); - - print "M $state->{CVSROOT}/$state->{module}/$filename,v <-- $dirpart$filepart\n"; - if ( defined $meta->{filehash} && $meta->{filehash} eq "deleted" ) - { - print "M new revision: delete; previous revision: $oldmeta{$filename}{revision}\n"; - print "Remove-entry $dirpart\n"; - print "$filename\n"; - } else { - if ($meta->{revision} eq "1.1") { - print "M initial revision: 1.1\n"; - } else { - print "M new revision: $meta->{revision}; previous revision: $oldmeta{$filename}{revision}\n"; - } - print "Checked-in $dirpart\n"; - print "$filename\n"; - my $kopts = kopts_from_path($filename,"sha1",$meta->{filehash}); - print "/$filepart/$meta->{revision}//$kopts/" . - getStickyTagOrDate($stickyInfo) . "\n"; - } - } - - cleanupWorkTree(); - print "ok\n"; -} - -sub req_status -{ - my ( $cmd, $data ) = @_; - - argsplit("status"); - - $log->info("req_status : " . ( defined($data) ? $data : "[NULL]" )); - #$log->debug("status state : " . Dumper($state)); - - # Grab a handle to the SQLite db and do any necessary updates - my $updater; - $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - # if no files were specified, we need to work out what files we should - # be providing status on ... - argsfromdir($updater); - - # foreach file specified on the command line ... - foreach my $filename ( @{$state->{args}} ) - { - $filename = filecleanup($filename); - - if ( exists($state->{opt}{l}) && - index($filename, '/', length($state->{prependdir})) >= 0 ) - { - next; - } - - my $wrev = revparse($filename); - - my $stickyInfo = resolveStickyInfo($filename); - my $meta = $updater->getmeta($filename,$stickyInfo); - my $oldmeta = $meta; - - # If the working copy is an old revision, lets get that - # version too for comparison. - if ( defined($wrev) and $wrev ne $meta->{revision} ) - { - my($rmRev)=$wrev; - $rmRev=~s/^-//; - $oldmeta = $updater->getmeta($filename, $rmRev); - } - - # TODO : All possible statuses aren't yet implemented - my $status; - # Files are up to date if the working copy and repo copy have - # the same revision, and the working copy is unmodified - if ( defined ( $wrev ) and defined($meta->{revision}) and - $wrev eq $meta->{revision} and - ( ( $state->{entries}{$filename}{unchanged} and - ( not defined ( $state->{entries}{$filename}{conflict} ) or - $state->{entries}{$filename}{conflict} !~ /^\+=/ ) ) or - ( defined($state->{entries}{$filename}{modified_hash}) and - $state->{entries}{$filename}{modified_hash} eq - $meta->{filehash} ) ) ) - { - $status = "Up-to-date" - } - - # Need checkout if the working copy has a different (usually - # older) revision than the repo copy, and the working copy is - # unmodified - if ( defined ( $wrev ) and defined ( $meta->{revision} ) and - $meta->{revision} ne $wrev and - ( $state->{entries}{$filename}{unchanged} or - ( defined($state->{entries}{$filename}{modified_hash}) and - $state->{entries}{$filename}{modified_hash} eq - $oldmeta->{filehash} ) ) ) - { - $status ||= "Needs Checkout"; - } - - # Need checkout if it exists in the repo but doesn't have a working - # copy - if ( not defined ( $wrev ) and defined ( $meta->{revision} ) ) - { - $status ||= "Needs Checkout"; - } - - # Locally modified if working copy and repo copy have the - # same revision but there are local changes - if ( defined ( $wrev ) and defined($meta->{revision}) and - $wrev eq $meta->{revision} and - $wrev ne "0" and - $state->{entries}{$filename}{modified_filename} ) - { - $status ||= "Locally Modified"; - } - - # Needs Merge if working copy revision is different - # (usually older) than repo copy and there are local changes - if ( defined ( $wrev ) and defined ( $meta->{revision} ) and - $meta->{revision} ne $wrev and - $state->{entries}{$filename}{modified_filename} ) - { - $status ||= "Needs Merge"; - } - - if ( defined ( $state->{entries}{$filename}{revision} ) and - ( !defined($meta->{revision}) || - $meta->{revision} eq "0" ) ) - { - $status ||= "Locally Added"; - } - if ( defined ( $wrev ) and defined ( $meta->{revision} ) and - $wrev eq "-$meta->{revision}" ) - { - $status ||= "Locally Removed"; - } - if ( defined ( $state->{entries}{$filename}{conflict} ) and - $state->{entries}{$filename}{conflict} =~ /^\+=/ ) - { - $status ||= "Unresolved Conflict"; - } - if ( 0 ) - { - $status ||= "File had conflicts on merge"; - } - - $status ||= "Unknown"; - - my ($filepart) = filenamesplit($filename); - - print "M =======" . ( "=" x 60 ) . "\n"; - print "M File: $filepart\tStatus: $status\n"; - if ( defined($state->{entries}{$filename}{revision}) ) - { - print "M Working revision:\t" . - $state->{entries}{$filename}{revision} . "\n"; - } else { - print "M Working revision:\tNo entry for $filename\n"; - } - if ( defined($meta->{revision}) ) - { - print "M Repository revision:\t" . - $meta->{revision} . - "\t$state->{CVSROOT}/$state->{module}/$filename,v\n"; - my($tagOrDate)=$state->{entries}{$filename}{tag_or_date}; - my($tag)=($tagOrDate=~m/^T(.+)$/); - if( !defined($tag) ) - { - $tag="(none)"; - } - print "M Sticky Tag:\t\t$tag\n"; - my($date)=($tagOrDate=~m/^D(.+)$/); - if( !defined($date) ) - { - $date="(none)"; - } - print "M Sticky Date:\t\t$date\n"; - my($options)=$state->{entries}{$filename}{options}; - if( $options eq "" ) - { - $options="(none)"; - } - print "M Sticky Options:\t\t$options\n"; - } else { - print "M Repository revision:\tNo revision control file\n"; - } - print "M\n"; - } - - print "ok\n"; -} - -sub req_diff -{ - my ( $cmd, $data ) = @_; - - argsplit("diff"); - - $log->debug("req_diff : " . ( defined($data) ? $data : "[NULL]" )); - #$log->debug("status state : " . Dumper($state)); - - my ($revision1, $revision2); - if ( defined ( $state->{opt}{r} ) and ref $state->{opt}{r} eq "ARRAY" ) - { - $revision1 = $state->{opt}{r}[0]; - $revision2 = $state->{opt}{r}[1]; - } else { - $revision1 = $state->{opt}{r}; - } - - $log->debug("Diffing revisions " . - ( defined($revision1) ? $revision1 : "[NULL]" ) . - " and " . ( defined($revision2) ? $revision2 : "[NULL]" ) ); - - # Grab a handle to the SQLite db and do any necessary updates - my $updater; - $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - # if no files were specified, we need to work out what files we should - # be providing status on ... - argsfromdir($updater); - - my($foundDiff); - - # foreach file specified on the command line ... - foreach my $argFilename ( @{$state->{args}} ) - { - my($filename) = filecleanup($argFilename); - - my ( $fh, $file1, $file2, $meta1, $meta2, $filediff ); - - my $wrev = revparse($filename); - - # Priority for revision1: - # 1. First -r (missing file: check -N) - # 2. wrev from client's Entry line - # - missing line/file: check -N - # - "0": added file not committed (empty contents for rev1) - # - Prefixed with dash (to be removed): check -N - - if ( defined ( $revision1 ) ) - { - $meta1 = $updater->getmeta($filename, $revision1); - } - elsif( defined($wrev) && $wrev ne "0" ) - { - my($rmRev)=$wrev; - $rmRev=~s/^-//; - $meta1 = $updater->getmeta($filename, $rmRev); - } - if ( !defined($meta1) || - $meta1->{filehash} eq "deleted" ) - { - if( !exists($state->{opt}{N}) ) - { - if(!defined($revision1)) - { - print "E File $filename at revision $revision1 doesn't exist\n"; - } - next; - } - elsif( !defined($meta1) ) - { - $meta1 = { - name => $filename, - revision => '0', - filehash => 'deleted' - }; - } - } - - # Priority for revision2: - # 1. Second -r (missing file: check -N) - # 2. Modified file contents from client - # 3. wrev from client's Entry line - # - missing line/file: check -N - # - Prefixed with dash (to be removed): check -N - - # if we have a second -r switch, use it too - if ( defined ( $revision2 ) ) - { - $meta2 = $updater->getmeta($filename, $revision2); - } - elsif(defined($state->{entries}{$filename}{modified_filename})) - { - $file2 = $state->{entries}{$filename}{modified_filename}; - $meta2 = { - name => $filename, - revision => '0', - filehash => 'modified' - }; - } - elsif( defined($wrev) && ($wrev!~/^-/) ) - { - if(!defined($revision1)) # no revision and no modifications: - { - next; - } - $meta2 = $updater->getmeta($filename, $wrev); - } - if(!defined($file2)) - { - if ( !defined($meta2) || - $meta2->{filehash} eq "deleted" ) - { - if( !exists($state->{opt}{N}) ) - { - if(!defined($revision2)) - { - print "E File $filename at revision $revision2 doesn't exist\n"; - } - next; - } - elsif( !defined($meta2) ) - { - $meta2 = { - name => $filename, - revision => '0', - filehash => 'deleted' - }; - } - } - } - - if( $meta1->{filehash} eq $meta2->{filehash} ) - { - $log->info("unchanged $filename"); - next; - } - - # Retrieve revision contents: - ( undef, $file1 ) = tempfile( DIR => $TEMP_DIR, OPEN => 0 ); - transmitfile($meta1->{filehash}, { targetfile => $file1 }); - - if(!defined($file2)) - { - ( undef, $file2 ) = tempfile( DIR => $TEMP_DIR, OPEN => 0 ); - transmitfile($meta2->{filehash}, { targetfile => $file2 }); - } - - # Generate the actual diff: - print "M Index: $argFilename\n"; - print "M =======" . ( "=" x 60 ) . "\n"; - print "M RCS file: $state->{CVSROOT}/$state->{module}/$filename,v\n"; - if ( defined ( $meta1 ) && $meta1->{revision} ne "0" ) - { - print "M retrieving revision $meta1->{revision}\n" - } - if ( defined ( $meta2 ) && $meta2->{revision} ne "0" ) - { - print "M retrieving revision $meta2->{revision}\n" - } - print "M diff "; - foreach my $opt ( sort keys %{$state->{opt}} ) - { - if ( ref $state->{opt}{$opt} eq "ARRAY" ) - { - foreach my $value ( @{$state->{opt}{$opt}} ) - { - print "-$opt $value "; - } - } else { - print "-$opt "; - if ( defined ( $state->{opt}{$opt} ) ) - { - print "$state->{opt}{$opt} " - } - } - } - print "$argFilename\n"; - - $log->info("Diffing $filename -r $meta1->{revision} -r " . - ( $meta2->{revision} or "workingcopy" )); - - # TODO: Use --label instead of -L because -L is no longer - # documented and may go away someday. Not sure if there are - # versions that only support -L, which would make this change risky? - # http://osdir.com/ml/bug-gnu-utils-gnu/2010-12/msg00060.html - # ("man diff" should actually document the best migration strategy, - # [current behavior, future changes, old compatibility issues - # or lack thereof, etc], not just stop mentioning the option...) - # TODO: Real CVS seems to include a date in the label, before - # the revision part, without the keyword "revision". The following - # has minimal changes compared to original versions of - # git-cvsserver.perl. (Mostly tab vs space after filename.) - - my (@diffCmd) = ( 'diff' ); - if ( exists($state->{opt}{N}) ) - { - push @diffCmd,"-N"; - } - if ( exists $state->{opt}{u} ) - { - push @diffCmd,("-u","-L"); - if( $meta1->{filehash} eq "deleted" ) - { - push @diffCmd,"/dev/null"; - } else { - push @diffCmd,("$argFilename\trevision $meta1->{revision}"); - } - - if( defined($meta2->{filehash}) ) - { - if( $meta2->{filehash} eq "deleted" ) - { - push @diffCmd,("-L","/dev/null"); - } else { - push @diffCmd,("-L", - "$argFilename\trevision $meta2->{revision}"); - } - } else { - push @diffCmd,("-L","$argFilename\tworking copy"); - } - } - push @diffCmd,($file1,$file2); - if(!open(DIFF,"-|",@diffCmd)) - { - $log->warn("Unable to run diff: $!"); - } - my($diffLine); - while(defined($diffLine=<DIFF>)) - { - print "M $diffLine"; - $foundDiff=1; - } - close(DIFF); - } - - if($foundDiff) - { - print "error \n"; - } - else - { - print "ok\n"; - } -} - -sub req_log -{ - my ( $cmd, $data ) = @_; - - argsplit("log"); - - $log->debug("req_log : " . ( defined($data) ? $data : "[NULL]" )); - #$log->debug("log state : " . Dumper($state)); - - my ( $revFilter ); - if ( defined ( $state->{opt}{r} ) ) - { - $revFilter = $state->{opt}{r}; - } - - # Grab a handle to the SQLite db and do any necessary updates - my $updater; - $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - # if no files were specified, we need to work out what files we - # should be providing status on ... - argsfromdir($updater); - - # foreach file specified on the command line ... - foreach my $filename ( @{$state->{args}} ) - { - $filename = filecleanup($filename); - - my $headmeta = $updater->getmeta($filename); - - my ($revisions,$totalrevisions) = $updater->getlog($filename, - $revFilter); - - next unless ( scalar(@$revisions) ); - - print "M \n"; - print "M RCS file: $state->{CVSROOT}/$state->{module}/$filename,v\n"; - print "M Working file: $filename\n"; - print "M head: $headmeta->{revision}\n"; - print "M branch:\n"; - print "M locks: strict\n"; - print "M access list:\n"; - print "M symbolic names:\n"; - print "M keyword substitution: kv\n"; - print "M total revisions: $totalrevisions;\tselected revisions: " . - scalar(@$revisions) . "\n"; - print "M description:\n"; - - foreach my $revision ( @$revisions ) - { - print "M ----------------------------\n"; - print "M revision $revision->{revision}\n"; - # reformat the date for log output - if ( $revision->{modified} =~ /(\d+)\s+(\w+)\s+(\d+)\s+(\S+)/ and - defined($DATE_LIST->{$2}) ) - { - $revision->{modified} = sprintf('%04d/%02d/%02d %s', - $3, $DATE_LIST->{$2}, $1, $4 ); - } - $revision->{author} = cvs_author($revision->{author}); - print "M date: $revision->{modified};" . - " author: $revision->{author}; state: " . - ( $revision->{filehash} eq "deleted" ? "dead" : "Exp" ) . - "; lines: +2 -3\n"; - my $commitmessage; - $commitmessage = $updater->commitmessage($revision->{commithash}); - $commitmessage =~ s/^/M /mg; - print $commitmessage . "\n"; - } - print "M =======" . ( "=" x 70 ) . "\n"; - } - - print "ok\n"; -} - -sub req_annotate -{ - my ( $cmd, $data ) = @_; - - argsplit("annotate"); - - $log->info("req_annotate : " . ( defined($data) ? $data : "[NULL]" )); - #$log->debug("status state : " . Dumper($state)); - - # Grab a handle to the SQLite db and do any necessary updates - my $updater = GITCVS::updater->new($state->{CVSROOT}, $state->{module}, $log); - $updater->update(); - - # if no files were specified, we need to work out what files we should be providing annotate on ... - argsfromdir($updater); - - # we'll need a temporary checkout dir - setupWorkTree(); - - $log->info("Temp checkoutdir creation successful, basing annotate session work on '$work->{workDir}', index file is '$ENV{GIT_INDEX_FILE}'"); - - # foreach file specified on the command line ... - foreach my $filename ( @{$state->{args}} ) - { - $filename = filecleanup($filename); - - my $meta = $updater->getmeta($filename); - - next unless ( $meta->{revision} ); - - # get all the commits that this file was in - # in dense format -- aka skip dead revisions - my $revisions = $updater->gethistorydense($filename); - my $lastseenin = $revisions->[0][2]; - - # populate the temporary index based on the latest commit were we saw - # the file -- but do it cheaply without checking out any files - # TODO: if we got a revision from the client, use that instead - # to look up the commithash in sqlite (still good to default to - # the current head as we do now) - system("git", "read-tree", $lastseenin); - unless ($? == 0) - { - print "E error running git-read-tree $lastseenin $ENV{GIT_INDEX_FILE} $!\n"; - return; - } - $log->info("Created index '$ENV{GIT_INDEX_FILE}' with commit $lastseenin - exit status $?"); - - # do a checkout of the file - system('git', 'checkout-index', '-f', '-u', $filename); - unless ($? == 0) { - print "E error running git-checkout-index -f -u $filename : $!\n"; - return; - } - - $log->info("Annotate $filename"); - - # Prepare a file with the commits from the linearized - # history that annotate should know about. This prevents - # git-jsannotate telling us about commits we are hiding - # from the client. - - my $a_hints = "$work->{workDir}/.annotate_hints"; - if (!open(ANNOTATEHINTS, '>', $a_hints)) { - print "E failed to open '$a_hints' for writing: $!\n"; - return; - } - for (my $i=0; $i < @$revisions; $i++) - { - print ANNOTATEHINTS $revisions->[$i][2]; - if ($i+1 < @$revisions) { # have we got a parent? - print ANNOTATEHINTS ' ' . $revisions->[$i+1][2]; - } - print ANNOTATEHINTS "\n"; - } - - print ANNOTATEHINTS "\n"; - close ANNOTATEHINTS - or (print "E failed to write $a_hints: $!\n"), return; - - my @cmd = (qw(git annotate -l -S), $a_hints, $filename); - if (!open(ANNOTATE, "-|", @cmd)) { - print "E error invoking ". join(' ',@cmd) .": $!\n"; - return; - } - my $metadata = {}; - print "E Annotations for $filename\n"; - print "E ***************\n"; - while ( <ANNOTATE> ) - { - if (m/^([a-zA-Z0-9]{$state->{hexsz}})\t\([^\)]*\)(.*)$/i) - { - my $commithash = $1; - my $data = $2; - unless ( defined ( $metadata->{$commithash} ) ) - { - $metadata->{$commithash} = $updater->getmeta($filename, $commithash); - $metadata->{$commithash}{author} = cvs_author($metadata->{$commithash}{author}); - $metadata->{$commithash}{modified} = sprintf("%02d-%s-%02d", $1, $2, $3) if ( $metadata->{$commithash}{modified} =~ /^(\d+)\s(\w+)\s\d\d(\d\d)/ ); - } - printf("M %-7s (%-8s %10s): %s\n", - $metadata->{$commithash}{revision}, - $metadata->{$commithash}{author}, - $metadata->{$commithash}{modified}, - $data - ); - } else { - $log->warn("Error in annotate output! LINE: $_"); - print "E Annotate error \n"; - next; - } - } - close ANNOTATE; - } - - # done; get out of the tempdir - cleanupWorkTree(); - - print "ok\n"; - -} - -# This method takes the state->{arguments} array and produces two new arrays. -# The first is $state->{args} which is everything before the '--' argument, and -# the second is $state->{files} which is everything after it. -sub argsplit -{ - $state->{args} = []; - $state->{files} = []; - $state->{opt} = {}; - - return unless( defined($state->{arguments}) and ref $state->{arguments} eq "ARRAY" ); - - my $type = shift; - - if ( defined($type) ) - { - my $opt = {}; - $opt = { A => 0, N => 0, P => 0, R => 0, c => 0, f => 0, l => 0, n => 0, p => 0, s => 0, r => 1, D => 1, d => 1, k => 1, j => 1, } if ( $type eq "co" ); - $opt = { v => 0, l => 0, R => 0 } if ( $type eq "status" ); - $opt = { A => 0, P => 0, C => 0, d => 0, f => 0, l => 0, R => 0, p => 0, k => 1, r => 1, D => 1, j => 1, I => 1, W => 1 } if ( $type eq "update" ); - $opt = { l => 0, R => 0, k => 1, D => 1, D => 1, r => 2, N => 0 } if ( $type eq "diff" ); - $opt = { c => 0, R => 0, l => 0, f => 0, F => 1, m => 1, r => 1 } if ( $type eq "ci" ); - $opt = { k => 1, m => 1 } if ( $type eq "add" ); - $opt = { f => 0, l => 0, R => 0 } if ( $type eq "remove" ); - $opt = { l => 0, b => 0, h => 0, R => 0, t => 0, N => 0, S => 0, r => 1, d => 1, s => 1, w => 1 } if ( $type eq "log" ); - - - while ( scalar ( @{$state->{arguments}} ) > 0 ) - { - my $arg = shift @{$state->{arguments}}; - - next if ( $arg eq "--" ); - next unless ( $arg =~ /\S/ ); - - # if the argument looks like a switch - if ( $arg =~ /^-(\w)(.*)/ ) - { - # if it's a switch that takes an argument - if ( $opt->{$1} ) - { - # If this switch has already been provided - if ( $opt->{$1} > 1 and exists ( $state->{opt}{$1} ) ) - { - $state->{opt}{$1} = [ $state->{opt}{$1} ]; - if ( length($2) > 0 ) - { - push @{$state->{opt}{$1}},$2; - } else { - push @{$state->{opt}{$1}}, shift @{$state->{arguments}}; - } - } else { - # if there's extra data in the arg, use that as the argument for the switch - if ( length($2) > 0 ) - { - $state->{opt}{$1} = $2; - } else { - $state->{opt}{$1} = shift @{$state->{arguments}}; - } - } - } else { - $state->{opt}{$1} = undef; - } - } - else - { - push @{$state->{args}}, $arg; - } - } - } - else - { - my $mode = 0; - - foreach my $value ( @{$state->{arguments}} ) - { - if ( $value eq "--" ) - { - $mode++; - next; - } - push @{$state->{args}}, $value if ( $mode == 0 ); - push @{$state->{files}}, $value if ( $mode == 1 ); - } - } -} - -# Used by argsfromdir -sub expandArg -{ - my ($updater,$outNameMap,$outDirMap,$path,$isDir) = @_; - - my $fullPath = filecleanup($path); - - # Is it a directory? - if( defined($state->{dirMap}{$fullPath}) || - defined($state->{dirMap}{"$fullPath/"}) ) - { - # It is a directory in the user's sandbox. - $isDir=1; - - if(defined($state->{entries}{$fullPath})) - { - $log->fatal("Inconsistent file/dir type"); - die "Inconsistent file/dir type"; - } - } - elsif(defined($state->{entries}{$fullPath})) - { - # It is a file in the user's sandbox. - $isDir=0; - } - my($revDirMap,$otherRevDirMap); - if(!defined($isDir) || $isDir) - { - # Resolve version tree for sticky tag: - # (for now we only want list of files for the version, not - # particular versions of those files: assume it is a directory - # for the moment; ignore Entry's stick tag) - - # Order of precedence of sticky tags: - # -A [head] - # -r /tag/ - # [file entry sticky tag, but that is only relevant to files] - # [the tag specified in dir req_Sticky] - # [the tag specified in a parent dir req_Sticky] - # [head] - # Also, -r may appear twice (for diff). - # - # FUTURE: When/if -j (merges) are supported, we also - # need to add relevant files from one or two - # versions specified with -j. - - if(exists($state->{opt}{A})) - { - $revDirMap=$updater->getRevisionDirMap(); - } - elsif( defined($state->{opt}{r}) and - ref $state->{opt}{r} eq "ARRAY" ) - { - $revDirMap=$updater->getRevisionDirMap($state->{opt}{r}[0]); - $otherRevDirMap=$updater->getRevisionDirMap($state->{opt}{r}[1]); - } - elsif(defined($state->{opt}{r})) - { - $revDirMap=$updater->getRevisionDirMap($state->{opt}{r}); - } - else - { - my($sticky)=getDirStickyInfo($fullPath); - $revDirMap=$updater->getRevisionDirMap($sticky->{tag}); - } - - # Is it a directory? - if( defined($revDirMap->{$fullPath}) || - defined($otherRevDirMap->{$fullPath}) ) - { - $isDir=1; - } - } - - # What to do with it? - if(!$isDir) - { - $outNameMap->{$fullPath}=1; - } - else - { - $outDirMap->{$fullPath}=1; - - if(defined($revDirMap->{$fullPath})) - { - addDirMapFiles($updater,$outNameMap,$outDirMap, - $revDirMap->{$fullPath}); - } - if( defined($otherRevDirMap) && - defined($otherRevDirMap->{$fullPath}) ) - { - addDirMapFiles($updater,$outNameMap,$outDirMap, - $otherRevDirMap->{$fullPath}); - } - } -} - -# Used by argsfromdir -# Add entries from dirMap to outNameMap. Also recurse into entries -# that are subdirectories. -sub addDirMapFiles -{ - my($updater,$outNameMap,$outDirMap,$dirMap)=@_; - - my($fullName); - foreach $fullName (keys(%$dirMap)) - { - my $cleanName=$fullName; - if(defined($state->{prependdir})) - { - if(!($cleanName=~s/^\Q$state->{prependdir}\E//)) - { - $log->fatal("internal error stripping prependdir"); - die "internal error stripping prependdir"; - } - } - - if($dirMap->{$fullName} eq "F") - { - $outNameMap->{$cleanName}=1; - } - elsif($dirMap->{$fullName} eq "D") - { - if(!$state->{opt}{l}) - { - expandArg($updater,$outNameMap,$outDirMap,$cleanName,1); - } - } - else - { - $log->fatal("internal error in addDirMapFiles"); - die "internal error in addDirMapFiles"; - } - } -} - -# This method replaces $state->{args} with a directory-expanded -# list of all relevant filenames (recursively unless -d), based -# on $state->{entries}, and the "current" list of files in -# each directory. "Current" files as determined by -# either the requested (-r/-A) or "req_Sticky" version of -# that directory. -# Both the input args and the new output args are relative -# to the cvs-client's CWD, although some of the internal -# computations are relative to the top of the project. -sub argsfromdir -{ - my $updater = shift; - - # Notes about requirements for specific callers: - # update # "standard" case (entries; a single -r/-A/default; -l) - # # Special case: -d for create missing directories. - # diff # 0 or 1 -r's: "standard" case. - # # 2 -r's: We could ignore entries (just use the two -r's), - # # but it doesn't really matter. - # annotate # "standard" case - # log # Punting: log -r has a more complex non-"standard" - # # meaning, and we don't currently try to support log'ing - # # branches at all (need a lot of work to - # # support CVS-consistent branch relative version - # # numbering). -#HERE: But we still want to expand directories. Maybe we should -# essentially force "-A". - # status # "standard", except that -r/-A/default are not possible. - # # Mostly only used to expand entries only) - # - # Don't use argsfromdir at all: - # add # Explicit arguments required. Directory args imply add - # # the directory itself, not the files in it. - # co # Obtain list directly. - # remove # HERE: TEST: MAYBE client does the recursion for us, - # # since it only makes sense to remove stuff already in - # # the sandbox? - # ci # HERE: Similar to remove... - # # Don't try to implement the confusing/weird - # # ci -r bug er.."feature". - - if(scalar(@{$state->{args}})==0) - { - $state->{args} = [ "." ]; - } - my %allArgs; - my %allDirs; - for my $file (@{$state->{args}}) - { - expandArg($updater,\%allArgs,\%allDirs,$file); - } - - # Include any entries from sandbox. Generally client won't - # send entries that shouldn't be used. - foreach my $file (keys %{$state->{entries}}) - { - $allArgs{remove_prependdir($file)} = 1; - } - - $state->{dirArgs} = \%allDirs; - $state->{args} = [ - sort { - # Sort priority: by directory depth, then actual file name: - my @piecesA=split('/',$a); - my @piecesB=split('/',$b); - - my $count=scalar(@piecesA); - my $tmp=scalar(@piecesB); - return $count<=>$tmp if($count!=$tmp); - - for($tmp=0;$tmp<$count;$tmp++) - { - if($piecesA[$tmp] ne $piecesB[$tmp]) - { - return $piecesA[$tmp] cmp $piecesB[$tmp] - } - } - return 0; - } keys(%allArgs) ]; -} - -## look up directory sticky tag, of either fullPath or a parent: -sub getDirStickyInfo -{ - my($fullPath)=@_; - - $fullPath=~s%/+$%%; - while($fullPath ne "" && !defined($state->{dirMap}{"$fullPath/"})) - { - $fullPath=~s%/?[^/]*$%%; - } - - if( !defined($state->{dirMap}{"$fullPath/"}) && - ( $fullPath eq "" || - $fullPath eq "." ) ) - { - return $state->{dirMap}{""}{stickyInfo}; - } - else - { - return $state->{dirMap}{"$fullPath/"}{stickyInfo}; - } -} - -# Resolve precedence of various ways of specifying which version of -# a file you want. Returns undef (for default head), or a ref to a hash -# that contains "tag" and/or "date" keys. -sub resolveStickyInfo -{ - my($filename,$stickyTag,$stickyDate,$reset) = @_; - - # Order of precedence of sticky tags: - # -A [head] - # -r /tag/ - # [file entry sticky tag] - # [the tag specified in dir req_Sticky] - # [the tag specified in a parent dir req_Sticky] - # [head] - - my $result; - if($reset) - { - # $result=undef; - } - elsif( defined($stickyTag) && $stickyTag ne "" ) - # || ( defined($stickyDate) && $stickyDate ne "" ) # TODO - { - $result={ 'tag' => (defined($stickyTag)?$stickyTag:undef) }; - - # TODO: Convert -D value into the form 2011.04.10.04.46.57, - # similar to an entry line's sticky date, without the D prefix. - # It sometimes (always?) arrives as something more like - # '10 Apr 2011 04:46:57 -0000'... - # $result={ 'date' => (defined($stickyDate)?$stickyDate:undef) }; - } - elsif( defined($state->{entries}{$filename}) && - defined($state->{entries}{$filename}{tag_or_date}) && - $state->{entries}{$filename}{tag_or_date} ne "" ) - { - my($tagOrDate)=$state->{entries}{$filename}{tag_or_date}; - if($tagOrDate=~/^T([^ ]+)\s*$/) - { - $result = { 'tag' => $1 }; - } - elsif($tagOrDate=~/^D([0-9.]+)\s*$/) - { - $result= { 'date' => $1 }; - } - else - { - die "Unknown tag_or_date format\n"; - } - } - else - { - $result=getDirStickyInfo($filename); - } - - return $result; -} - -# Convert a stickyInfo (ref to a hash) as returned by resolveStickyInfo into -# a form appropriate for the sticky tag field of an Entries -# line (field index 5, 0-based). -sub getStickyTagOrDate -{ - my($stickyInfo)=@_; - - my $result; - if(defined($stickyInfo) && defined($stickyInfo->{tag})) - { - $result="T$stickyInfo->{tag}"; - } - # TODO: When/if we actually pick versions by {date} properly, - # also handle it here: - # "D$stickyInfo->{date}" (example: "D2011.04.13.20.37.07"). - else - { - $result=""; - } - - return $result; -} - -# This method cleans up the $state variable after a command that uses arguments has run -sub statecleanup -{ - $state->{files} = []; - $state->{dirArgs} = {}; - $state->{args} = []; - $state->{arguments} = []; - $state->{entries} = {}; - $state->{dirMap} = {}; -} - -# Return working directory CVS revision "1.X" out -# of the working directory "entries" state, for the given filename. -# This is prefixed with a dash if the file is scheduled for removal -# when it is committed. -sub revparse -{ - my $filename = shift; - - return $state->{entries}{$filename}{revision}; -} - -# This method takes a file hash and does a CVS "file transfer". Its -# exact behaviour depends on a second, optional hash table argument: -# - If $options->{targetfile}, dump the contents to that file; -# - If $options->{print}, use M/MT to transmit the contents one line -# at a time; -# - Otherwise, transmit the size of the file, followed by the file -# contents. -sub transmitfile -{ - my $filehash = shift; - my $options = shift; - - if ( defined ( $filehash ) and $filehash eq "deleted" ) - { - $log->warn("filehash is 'deleted'"); - return; - } - - die "Need filehash" unless ( defined ( $filehash ) and $filehash =~ /^[a-zA-Z0-9]{$state->{hexsz}}$/ ); - - my $type = safe_pipe_capture('git', 'cat-file', '-t', $filehash); - chomp $type; - - die ( "Invalid type '$type' (expected 'blob')" ) unless ( defined ( $type ) and $type eq "blob" ); - - my $size = safe_pipe_capture('git', 'cat-file', '-s', $filehash); - chomp $size; - - $log->debug("transmitfile($filehash) size=$size, type=$type"); - - if ( open my $fh, '-|', "git", "cat-file", "blob", $filehash ) - { - if ( defined ( $options->{targetfile} ) ) - { - my $targetfile = $options->{targetfile}; - open NEWFILE, ">", $targetfile or die("Couldn't open '$targetfile' for writing : $!"); - print NEWFILE $_ while ( <$fh> ); - close NEWFILE or die("Failed to write '$targetfile': $!"); - } elsif ( defined ( $options->{print} ) && $options->{print} ) { - while ( <$fh> ) { - if( /\n\z/ ) { - print 'M ', $_; - } else { - print 'MT text ', $_, "\n"; - } - } - } else { - print "$size\n"; - print while ( <$fh> ); - } - close $fh or die ("Couldn't close filehandle for transmitfile(): $!"); - } else { - die("Couldn't execute git-cat-file"); - } -} - -# This method takes a file name, and returns ( $dirpart, $filepart ) which -# refers to the directory portion and the file portion of the filename -# respectively -sub filenamesplit -{ - my $filename = shift; - my $fixforlocaldir = shift; - - my ( $filepart, $dirpart ) = ( $filename, "." ); - ( $filepart, $dirpart ) = ( $2, $1 ) if ( $filename =~ /(.*)\/(.*)/ ); - $dirpart .= "/"; - - if ( $fixforlocaldir ) - { - $dirpart =~ s/^$state->{prependdir}//; - } - - return ( $filepart, $dirpart ); -} - -# Cleanup various junk in filename (try to canonicalize it), and -# add prependdir to accommodate running CVS client from a -# subdirectory (so the output is relative to top directory of the project). -sub filecleanup -{ - my $filename = shift; - - return undef unless(defined($filename)); - if ( $filename =~ /^\// ) - { - print "E absolute filenames '$filename' not supported by server\n"; - return undef; - } - - if($filename eq ".") - { - $filename=""; - } - $filename =~ s/^\.\///g; - $filename =~ s%/+%/%g; - $filename = $state->{prependdir} . $filename; - $filename =~ s%/$%%; - return $filename; -} - -# Remove prependdir from the path, so that it is relative to the directory -# the CVS client was started from, rather than the top of the project. -# Essentially the inverse of filecleanup(). -sub remove_prependdir -{ - my($path) = @_; - if(defined($state->{prependdir}) && $state->{prependdir} ne "") - { - my($pre)=$state->{prependdir}; - $pre=~s%/$%%; - if(!($path=~s%^\Q$pre\E/?%%)) - { - $log->fatal("internal error missing prependdir"); - die("internal error missing prependdir"); - } - } - return $path; -} - -sub validateGitDir -{ - if( !defined($state->{CVSROOT}) ) - { - print "error 1 CVSROOT not specified\n"; - cleanupWorkTree(); - exit; - } - if( $ENV{GIT_DIR} ne ($state->{CVSROOT} . '/') ) - { - print "error 1 Internally inconsistent CVSROOT\n"; - cleanupWorkTree(); - exit; - } -} - -# Setup working directory in a work tree with the requested version -# loaded in the index. -sub setupWorkTree -{ - my ($ver) = @_; - - validateGitDir(); - - if( ( defined($work->{state}) && $work->{state} != 1 ) || - defined($work->{tmpDir}) ) - { - $log->warn("Bad work tree state management"); - print "error 1 Internal setup multiple work trees without cleanup\n"; - cleanupWorkTree(); - exit; - } - - $work->{workDir} = tempdir ( DIR => $TEMP_DIR ); - - if( !defined($work->{index}) ) - { - (undef, $work->{index}) = tempfile ( DIR => $TEMP_DIR, OPEN => 0 ); - } - - chdir $work->{workDir} or - die "Unable to chdir to $work->{workDir}\n"; - - $log->info("Setting up GIT_WORK_TREE as '.' in '$work->{workDir}', index file is '$work->{index}'"); - - $ENV{GIT_WORK_TREE} = "."; - $ENV{GIT_INDEX_FILE} = $work->{index}; - $work->{state} = 2; - - if($ver) - { - system("git","read-tree",$ver); - unless ($? == 0) - { - $log->warn("Error running git-read-tree"); - die "Error running git-read-tree $ver in $work->{workDir} $!\n"; - } - } - # else # req_annotate reads tree for each file -} - -# Ensure current directory is in some kind of working directory, -# with a recent version loaded in the index. -sub ensureWorkTree -{ - if( defined($work->{tmpDir}) ) - { - $log->warn("Bad work tree state management [ensureWorkTree()]"); - print "error 1 Internal setup multiple dirs without cleanup\n"; - cleanupWorkTree(); - exit; - } - if( $work->{state} ) - { - return; - } - - validateGitDir(); - - if( !defined($work->{emptyDir}) ) - { - $work->{emptyDir} = tempdir ( DIR => $TEMP_DIR, OPEN => 0); - } - chdir $work->{emptyDir} or - die "Unable to chdir to $work->{emptyDir}\n"; - - my $ver = safe_pipe_capture('git', 'show-ref', '-s', "refs/heads/$state->{module}"); - chomp $ver; - if ($ver !~ /^[0-9a-f]{$state->{hexsz}}$/) - { - $log->warn("Error from git show-ref -s refs/head$state->{module}"); - print "error 1 cannot find the current HEAD of module"; - cleanupWorkTree(); - exit; - } - - if( !defined($work->{index}) ) - { - (undef, $work->{index}) = tempfile ( DIR => $TEMP_DIR, OPEN => 0 ); - } - - $ENV{GIT_WORK_TREE} = "."; - $ENV{GIT_INDEX_FILE} = $work->{index}; - $work->{state} = 1; - - system("git","read-tree",$ver); - unless ($? == 0) - { - die "Error running git-read-tree $ver $!\n"; - } -} - -# Cleanup working directory that is not needed any longer. -sub cleanupWorkTree -{ - if( ! $work->{state} ) - { - return; - } - - chdir "/" or die "Unable to chdir '/'\n"; - - if( defined($work->{workDir}) ) - { - rmtree( $work->{workDir} ); - undef $work->{workDir}; - } - undef $work->{state}; -} - -# Setup a temporary directory (not a working tree), typically for -# merging dirty state as in req_update. -sub setupTmpDir -{ - $work->{tmpDir} = tempdir ( DIR => $TEMP_DIR ); - chdir $work->{tmpDir} or die "Unable to chdir $work->{tmpDir}\n"; - - return $work->{tmpDir}; -} - -# Clean up a previously setupTmpDir. Restore previous work tree if -# appropriate. -sub cleanupTmpDir -{ - if ( !defined($work->{tmpDir}) ) - { - $log->warn("cleanup tmpdir that has not been setup"); - die "Cleanup tmpDir that has not been setup\n"; - } - if( defined($work->{state}) ) - { - if( $work->{state} == 1 ) - { - chdir $work->{emptyDir} or - die "Unable to chdir to $work->{emptyDir}\n"; - } - elsif( $work->{state} == 2 ) - { - chdir $work->{workDir} or - die "Unable to chdir to $work->{emptyDir}\n"; - } - else - { - $log->warn("Inconsistent work dir state"); - die "Inconsistent work dir state\n"; - } - } - else - { - chdir "/" or die "Unable to chdir '/'\n"; - } -} - -# Given a path, this function returns a string containing the kopts -# that should go into that path's Entries line. For example, a binary -# file should get -kb. -sub kopts_from_path -{ - my ($path, $srcType, $name) = @_; - - if ( defined ( $cfg->{gitcvs}{usecrlfattr} ) and - $cfg->{gitcvs}{usecrlfattr} =~ /\s*(1|true|yes)\s*$/i ) - { - my ($val) = check_attr( "text", $path ); - if ( $val eq "unspecified" ) - { - $val = check_attr( "crlf", $path ); - } - if ( $val eq "unset" ) - { - return "-kb" - } - elsif ( check_attr( "eol", $path ) ne "unspecified" || - $val eq "set" || $val eq "input" ) - { - return ""; - } - else - { - $log->info("Unrecognized check_attr crlf $path : $val"); - } - } - - if ( defined ( $cfg->{gitcvs}{allbinary} ) ) - { - if( ($cfg->{gitcvs}{allbinary} =~ /^\s*(1|true|yes)\s*$/i) ) - { - return "-kb"; - } - elsif( ($cfg->{gitcvs}{allbinary} =~ /^\s*guess\s*$/i) ) - { - if( is_binary($srcType,$name) ) - { - $log->debug("... as binary"); - return "-kb"; - } - else - { - $log->debug("... as text"); - } - } - } - # Return "" to give no special treatment to any path - return ""; -} - -sub check_attr -{ - my ($attr,$path) = @_; - ensureWorkTree(); - if ( open my $fh, '-|', "git", "check-attr", $attr, "--", $path ) - { - my $val = <$fh>; - close $fh; - $val =~ s/.*: ([^:\r\n]*)\s*$/$1/; - return $val; - } - else - { - return undef; - } -} - -# This should have the same heuristics as convert.c:is_binary() and related. -# Note that the bare CR test is done by callers in convert.c. -sub is_binary -{ - my ($srcType,$name) = @_; - $log->debug("is_binary($srcType,$name)"); - - # Minimize amount of interpreted code run in the inner per-character - # loop for large files, by totalling each character value and - # then analyzing the totals. - my @counts; - my $i; - for($i=0;$i<256;$i++) - { - $counts[$i]=0; - } - - my $fh = open_blob_or_die($srcType,$name); - my $line; - while( defined($line=<$fh>) ) - { - # Any '\0' and bare CR are considered binary. - if( $line =~ /\0|(\r[^\n])/ ) - { - close($fh); - return 1; - } - - # Count up each character in the line: - my $len=length($line); - for($i=0;$i<$len;$i++) - { - $counts[ord(substr($line,$i,1))]++; - } - } - close $fh; - - # Don't count CR and LF as either printable/nonprintable - $counts[ord("\n")]=0; - $counts[ord("\r")]=0; - - # Categorize individual character count into printable and nonprintable: - my $printable=0; - my $nonprintable=0; - for($i=0;$i<256;$i++) - { - if( $i < 32 && - $i != ord("\b") && - $i != ord("\t") && - $i != 033 && # ESC - $i != 014 ) # FF - { - $nonprintable+=$counts[$i]; - } - elsif( $i==127 ) # DEL - { - $nonprintable+=$counts[$i]; - } - else - { - $printable+=$counts[$i]; - } - } - - return ($printable >> 7) < $nonprintable; -} - -# Returns open file handle. Possible invocations: -# - open_blob_or_die("file",$filename); -# - open_blob_or_die("sha1",$filehash); -sub open_blob_or_die -{ - my ($srcType,$name) = @_; - my ($fh); - if( $srcType eq "file" ) - { - if( !open $fh,"<",$name ) - { - $log->warn("Unable to open file $name: $!"); - die "Unable to open file $name: $!\n"; - } - } - elsif( $srcType eq "sha1" ) - { - unless ( defined ( $name ) and $name =~ /^[a-zA-Z0-9]{$state->{hexsz}}$/ ) - { - $log->warn("Need filehash"); - die "Need filehash\n"; - } - - my $type = safe_pipe_capture('git', 'cat-file', '-t', $name); - chomp $type; - - unless ( defined ( $type ) and $type eq "blob" ) - { - $log->warn("Invalid type '$type' for '$name'"); - die ( "Invalid type '$type' (expected 'blob')" ) - } - - my $size = safe_pipe_capture('git', 'cat-file', '-s', $name); - chomp $size; - - $log->debug("open_blob_or_die($name) size=$size, type=$type"); - - unless( open $fh, '-|', "git", "cat-file", "blob", $name ) - { - $log->warn("Unable to open sha1 $name"); - die "Unable to open sha1 $name\n"; - } - } - else - { - $log->warn("Unknown type of blob source: $srcType"); - die "Unknown type of blob source: $srcType\n"; - } - return $fh; -} - -# Generate a CVS author name from Git author information, by taking the local -# part of the email address and replacing characters not in the Portable -# Filename Character Set (see IEEE Std 1003.1-2001, 3.276) by underscores. CVS -# Login names are Unix login names, which should be restricted to this -# character set. -sub cvs_author -{ - my $author_line = shift; - (my $author) = $author_line =~ /<([^@>]*)/; - - $author =~ s/[^-a-zA-Z0-9_.]/_/g; - $author =~ s/^-/_/; - - $author; -} - - -sub descramble -{ - # This table is from src/scramble.c in the CVS source - my @SHIFTS = ( - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 114,120, 53, 79, 96,109, 72,108, 70, 64, 76, 67,116, 74, 68, 87, - 111, 52, 75,119, 49, 34, 82, 81, 95, 65,112, 86,118,110,122,105, - 41, 57, 83, 43, 46,102, 40, 89, 38,103, 45, 50, 42,123, 91, 35, - 125, 55, 54, 66,124,126, 59, 47, 92, 71,115, 78, 88,107,106, 56, - 36,121,117,104,101,100, 69, 73, 99, 63, 94, 93, 39, 37, 61, 48, - 58,113, 32, 90, 44, 98, 60, 51, 33, 97, 62, 77, 84, 80, 85,223, - 225,216,187,166,229,189,222,188,141,249,148,200,184,136,248,190, - 199,170,181,204,138,232,218,183,255,234,220,247,213,203,226,193, - 174,172,228,252,217,201,131,230,197,211,145,238,161,179,160,212, - 207,221,254,173,202,146,224,151,140,196,205,130,135,133,143,246, - 192,159,244,239,185,168,215,144,139,165,180,157,147,186,214,176, - 227,231,219,169,175,156,206,198,129,164,150,210,154,177,134,127, - 182,128,158,208,162,132,167,209,149,241,153,251,237,236,171,195, - 243,233,253,240,194,250,191,155,142,137,245,235,163,242,178,152 - ); - my ($str) = @_; - - # This should never happen, the same password format (A) has been - # used by CVS since the beginning of time - { - my $fmt = substr($str, 0, 1); - die "invalid password format `$fmt'" unless $fmt eq 'A'; - } - - my @str = unpack "C*", substr($str, 1); - my $ret = join '', map { chr $SHIFTS[$_] } @str; - return $ret; -} - -# Test if the (deep) values of two references to a hash are the same. -sub refHashEqual -{ - my($v1,$v2) = @_; - - my $out; - if(!defined($v1)) - { - if(!defined($v2)) - { - $out=1; - } - } - elsif( !defined($v2) || - scalar(keys(%{$v1})) != scalar(keys(%{$v2})) ) - { - # $out=undef; - } - else - { - $out=1; - - my $key; - foreach $key (keys(%{$v1})) - { - if( !exists($v2->{$key}) || - defined($v1->{$key}) ne defined($v2->{$key}) || - ( defined($v1->{$key}) && - $v1->{$key} ne $v2->{$key} ) ) - { - $out=undef; - last; - } - } - } - - return $out; -} - -# an alternative to `command` that allows input to be passed as an array -# to work around shell problems with weird characters in arguments - -sub safe_pipe_capture { - - my @output; - - if (my $pid = open my $child, '-|') { - @output = (<$child>); - close $child or die join(' ',@_).": $! $?"; - } else { - exec(@_) or die "$! $?"; # exec() can fail the executable can't be found - } - return wantarray ? @output : join('',@output); -} - - -package GITCVS::log; - -#### -#### Copyright The Open University UK - 2006. -#### -#### Authors: Martyn Smith <martyn@catalyst.net.nz> -#### Martin Langhoff <martin@laptop.org> -#### -#### - -use strict; -use warnings; - -=head1 NAME - -GITCVS::log - -=head1 DESCRIPTION - -This module provides very crude logging with a similar interface to -Log::Log4perl - -=head1 METHODS - -=cut - -=head2 new - -Creates a new log object, optionally you can specify a filename here to -indicate the file to log to. If no log file is specified, you can specify one -later with method setfile, or indicate you no longer want logging with method -nofile. - -Until one of these methods is called, all log calls will buffer messages ready -to write out. - -=cut -sub new -{ - my $class = shift; - my $filename = shift; - - my $self = {}; - - bless $self, $class; - - if ( defined ( $filename ) ) - { - open $self->{fh}, ">>", $filename or die("Couldn't open '$filename' for writing : $!"); - } - - return $self; -} - -=head2 setfile - -This methods takes a filename, and attempts to open that file as the log file. -If successful, all buffered data is written out to the file, and any further -logging is written directly to the file. - -=cut -sub setfile -{ - my $self = shift; - my $filename = shift; - - if ( defined ( $filename ) ) - { - open $self->{fh}, ">>", $filename or die("Couldn't open '$filename' for writing : $!"); - } - - return unless ( defined ( $self->{buffer} ) and ref $self->{buffer} eq "ARRAY" ); - - while ( my $line = shift @{$self->{buffer}} ) - { - print {$self->{fh}} $line; - } -} - -=head2 nofile - -This method indicates no logging is going to be used. It flushes any entries in -the internal buffer, and sets a flag to ensure no further data is put there. - -=cut -sub nofile -{ - my $self = shift; - - $self->{nolog} = 1; - - return unless ( defined ( $self->{buffer} ) and ref $self->{buffer} eq "ARRAY" ); - - $self->{buffer} = []; -} - -=head2 _logopen - -Internal method. Returns true if the log file is open, false otherwise. - -=cut -sub _logopen -{ - my $self = shift; - - return 1 if ( defined ( $self->{fh} ) and ref $self->{fh} eq "GLOB" ); - return 0; -} - -=head2 debug info warn fatal - -These four methods are wrappers to _log. They provide the actual interface for -logging data. - -=cut -sub debug { my $self = shift; $self->_log("debug", @_); } -sub info { my $self = shift; $self->_log("info" , @_); } -sub warn { my $self = shift; $self->_log("warn" , @_); } -sub fatal { my $self = shift; $self->_log("fatal", @_); } - -=head2 _log - -This is an internal method called by the logging functions. It generates a -timestamp and pushes the logged line either to file, or internal buffer. - -=cut -sub _log -{ - my $self = shift; - my $level = shift; - - return if ( $self->{nolog} ); - - my @time = localtime; - my $timestring = sprintf("%4d-%02d-%02d %02d:%02d:%02d : %-5s", - $time[5] + 1900, - $time[4] + 1, - $time[3], - $time[2], - $time[1], - $time[0], - uc $level, - ); - - if ( $self->_logopen ) - { - print {$self->{fh}} $timestring . " - " . join(" ",@_) . "\n"; - } else { - push @{$self->{buffer}}, $timestring . " - " . join(" ",@_) . "\n"; - } -} - -=head2 DESTROY - -This method simply closes the file handle if one is open - -=cut -sub DESTROY -{ - my $self = shift; - - if ( $self->_logopen ) - { - close $self->{fh}; - } -} - -package GITCVS::updater; - -#### -#### Copyright The Open University UK - 2006. -#### -#### Authors: Martyn Smith <martyn@catalyst.net.nz> -#### Martin Langhoff <martin@laptop.org> -#### -#### - -use strict; -use warnings; -use DBI; -our $_use_fsync; - -# n.b. consider using Git.pm -sub use_fsync { - if (!defined($_use_fsync)) { - my $x = $ENV{GIT_TEST_FSYNC}; - if (defined $x) { - local $ENV{GIT_CONFIG}; - delete $ENV{GIT_CONFIG}; - my $v = ::safe_pipe_capture('git', '-c', "test.fsync=$x", - qw(config --type=bool test.fsync)); - $_use_fsync = defined($v) ? ($v eq "true\n") : 1; - } - } - $_use_fsync; -} - -=head1 METHODS - -=cut - -=head2 new - -=cut -sub new -{ - my $class = shift; - my $config = shift; - my $module = shift; - my $log = shift; - - die "Need to specify a git repository" unless ( defined($config) and -d $config ); - die "Need to specify a module" unless ( defined($module) ); - - $class = ref($class) || $class; - - my $self = {}; - - bless $self, $class; - - $self->{valid_tables} = {'revision' => 1, - 'revision_ix1' => 1, - 'revision_ix2' => 1, - 'head' => 1, - 'head_ix1' => 1, - 'properties' => 1, - 'commitmsgs' => 1}; - - $self->{module} = $module; - $self->{git_path} = $config . "/"; - - $self->{log} = $log; - - die "Git repo '$self->{git_path}' doesn't exist" unless ( -d $self->{git_path} ); - - # Stores full sha1's for various branch/tag names, abbreviations, etc: - $self->{commitRefCache} = {}; - - $self->{dbdriver} = $cfg->{gitcvs}{$state->{method}}{dbdriver} || - $cfg->{gitcvs}{dbdriver} || "SQLite"; - $self->{dbname} = $cfg->{gitcvs}{$state->{method}}{dbname} || - $cfg->{gitcvs}{dbname} || "%Ggitcvs.%m.sqlite"; - $self->{dbuser} = $cfg->{gitcvs}{$state->{method}}{dbuser} || - $cfg->{gitcvs}{dbuser} || ""; - $self->{dbpass} = $cfg->{gitcvs}{$state->{method}}{dbpass} || - $cfg->{gitcvs}{dbpass} || ""; - $self->{dbtablenameprefix} = $cfg->{gitcvs}{$state->{method}}{dbtablenameprefix} || - $cfg->{gitcvs}{dbtablenameprefix} || ""; - my %mapping = ( m => $module, - a => $state->{method}, - u => getlogin || getpwuid($<) || $<, - G => $self->{git_path}, - g => mangle_dirname($self->{git_path}), - ); - $self->{dbname} =~ s/%([mauGg])/$mapping{$1}/eg; - $self->{dbuser} =~ s/%([mauGg])/$mapping{$1}/eg; - $self->{dbtablenameprefix} =~ s/%([mauGg])/$mapping{$1}/eg; - $self->{dbtablenameprefix} = mangle_tablename($self->{dbtablenameprefix}); - - die "Invalid char ':' in dbdriver" if $self->{dbdriver} =~ /:/; - die "Invalid char ';' in dbname" if $self->{dbname} =~ /;/; - $self->{dbh} = DBI->connect("dbi:$self->{dbdriver}:dbname=$self->{dbname}", - $self->{dbuser}, - $self->{dbpass}); - die "Error connecting to database\n" unless defined $self->{dbh}; - if ($self->{dbdriver} eq 'SQLite' && !use_fsync()) { - $self->{dbh}->do('PRAGMA synchronous = OFF'); - } - - $self->{tables} = {}; - foreach my $table ( keys %{$self->{dbh}->table_info(undef,undef,undef,'TABLE')->fetchall_hashref('TABLE_NAME')} ) - { - $self->{tables}{$table} = 1; - } - - # Construct the revision table if required - # The revision table stores an entry for each file, each time that file - # changes. - # numberOfRecords = O( numCommits * averageNumChangedFilesPerCommit ) - # This is not sufficient to support "-r {commithash}" for any - # files except files that were modified by that commit (also, - # some places in the code ignore/effectively strip out -r in - # some cases, before it gets passed to getmeta()). - # The "filehash" field typically has a git blob hash, but can also - # be set to "dead" to indicate that the given version of the file - # should not exist in the sandbox. - unless ( $self->{tables}{$self->tablename("revision")} ) - { - my $tablename = $self->tablename("revision"); - my $ix1name = $self->tablename("revision_ix1"); - my $ix2name = $self->tablename("revision_ix2"); - $self->{dbh}->do(" - CREATE TABLE $tablename ( - name TEXT NOT NULL, - revision INTEGER NOT NULL, - filehash TEXT NOT NULL, - commithash TEXT NOT NULL, - author TEXT NOT NULL, - modified TEXT NOT NULL, - mode TEXT NOT NULL - ) - "); - $self->{dbh}->do(" - CREATE INDEX $ix1name - ON $tablename (name,revision) - "); - $self->{dbh}->do(" - CREATE INDEX $ix2name - ON $tablename (name,commithash) - "); - } - - # Construct the head table if required - # The head table (along with the "last_commit" entry in the property - # table) is the persisted working state of the "sub update" subroutine. - # All of it's data is read entirely first, and completely recreated - # last, every time "sub update" runs. - # This is also used by "sub getmeta" when it is asked for the latest - # version of a file (as opposed to some specific version). - # Another way of thinking about it is as a single slice out of - # "revisions", giving just the most recent revision information for - # each file. - unless ( $self->{tables}{$self->tablename("head")} ) - { - my $tablename = $self->tablename("head"); - my $ix1name = $self->tablename("head_ix1"); - $self->{dbh}->do(" - CREATE TABLE $tablename ( - name TEXT NOT NULL, - revision INTEGER NOT NULL, - filehash TEXT NOT NULL, - commithash TEXT NOT NULL, - author TEXT NOT NULL, - modified TEXT NOT NULL, - mode TEXT NOT NULL - ) - "); - $self->{dbh}->do(" - CREATE INDEX $ix1name - ON $tablename (name) - "); - } - - # Construct the properties table if required - # - "last_commit" - Used by "sub update". - unless ( $self->{tables}{$self->tablename("properties")} ) - { - my $tablename = $self->tablename("properties"); - $self->{dbh}->do(" - CREATE TABLE $tablename ( - key TEXT NOT NULL PRIMARY KEY, - value TEXT - ) - "); - } - - # Construct the commitmsgs table if required - # The commitmsgs table is only used for merge commits, since - # "sub update" will only keep one branch of parents. Shortlogs - # for ignored commits (i.e. not on the chosen branch) will be used - # to construct a replacement "collapsed" merge commit message, - # which will be stored in this table. See also "sub commitmessage". - unless ( $self->{tables}{$self->tablename("commitmsgs")} ) - { - my $tablename = $self->tablename("commitmsgs"); - $self->{dbh}->do(" - CREATE TABLE $tablename ( - key TEXT NOT NULL PRIMARY KEY, - value TEXT - ) - "); - } - - return $self; -} - -=head2 tablename - -=cut -sub tablename -{ - my $self = shift; - my $name = shift; - - if (exists $self->{valid_tables}{$name}) { - return $self->{dbtablenameprefix} . $name; - } else { - return undef; - } -} - -=head2 update - -Bring the database up to date with the latest changes from -the git repository. - -Internal working state is read out of the "head" table and the -"last_commit" property, then it updates "revisions" based on that, and -finally it writes the new internal state back to the "head" table -so it can be used as a starting point the next time update is called. - -=cut -sub update -{ - my $self = shift; - - # first lets get the commit list - $ENV{GIT_DIR} = $self->{git_path}; - - my $commitsha1 = ::safe_pipe_capture('git', 'rev-parse', $self->{module}); - chomp $commitsha1; - - my $commitinfo = ::safe_pipe_capture('git', 'cat-file', 'commit', $self->{module}); - unless ( $commitinfo =~ /tree\s+[a-zA-Z0-9]{$state->{hexsz}}/ ) - { - die("Invalid module '$self->{module}'"); - } - - - my $git_log; - my $lastcommit = $self->_get_prop("last_commit"); - - if (defined $lastcommit && $lastcommit eq $commitsha1) { # up-to-date - # invalidate the gethead cache - $self->clearCommitRefCaches(); - return 1; - } - - # Start exclusive lock here... - $self->{dbh}->begin_work() or die "Cannot lock database for BEGIN"; - - # TODO: log processing is memory bound - # if we can parse into a 2nd file that is in reverse order - # we can probably do something really efficient - my @git_log_params = ('--pretty', '--parents', '--topo-order'); - - if (defined $lastcommit) { - push @git_log_params, "$lastcommit..$self->{module}"; - } else { - push @git_log_params, $self->{module}; - } - # git-rev-list is the backend / plumbing version of git-log - open(my $gitLogPipe, '-|', 'git', 'rev-list', @git_log_params) - or die "Cannot call git-rev-list: $!"; - my @commits=readCommits($gitLogPipe); - close $gitLogPipe; - - # Now all the commits are in the @commits bucket - # ordered by time DESC. for each commit that needs processing, - # determine whether it's following the last head we've seen or if - # it's on its own branch, grab a file list, and add whatever's changed - # NOTE: $lastcommit refers to the last commit from previous run - # $lastpicked is the last commit we picked in this run - my $lastpicked; - my $head = {}; - if (defined $lastcommit) { - $lastpicked = $lastcommit; - } - - my $committotal = scalar(@commits); - my $commitcount = 0; - - # Load the head table into $head (for cached lookups during the update process) - foreach my $file ( @{$self->gethead(1)} ) - { - $head->{$file->{name}} = $file; - } - - foreach my $commit ( @commits ) - { - $self->{log}->debug("GITCVS::updater - Processing commit $commit->{hash} (" . (++$commitcount) . " of $committotal)"); - if (defined $lastpicked) - { - if (!in_array($lastpicked, @{$commit->{parents}})) - { - # skip, we'll see this delta - # as part of a merge later - # warn "skipping off-track $commit->{hash}\n"; - next; - } elsif (@{$commit->{parents}} > 1) { - # it is a merge commit, for each parent that is - # not $lastpicked (not given a CVS revision number), - # see if we can get a log - # from the merge-base to that parent to put it - # in the message as a merge summary. - my @parents = @{$commit->{parents}}; - foreach my $parent (@parents) { - if ($parent eq $lastpicked) { - next; - } - # git-merge-base can potentially (but rarely) throw - # several candidate merge bases. let's assume - # that the first one is the best one. - my $base = eval { - ::safe_pipe_capture('git', 'merge-base', - $lastpicked, $parent); - }; - # The two branches may not be related at all, - # in which case merge base simply fails to find - # any, but that's Ok. - next if ($@); - - chomp $base; - if ($base) { - my @merged; - # print "want to log between $base $parent \n"; - open(GITLOG, '-|', 'git', 'log', '--pretty=medium', "$base..$parent") - or die "Cannot call git-log: $!"; - my $mergedhash; - while (<GITLOG>) { - chomp; - if (!defined $mergedhash) { - if (m/^commit\s+(.+)$/) { - $mergedhash = $1; - } else { - next; - } - } else { - # grab the first line that looks non-rfc822 - # aka has content after leading space - if (m/^\s+(\S.*)$/) { - my $title = $1; - $title = substr($title,0,100); # truncate - unshift @merged, "$mergedhash $title"; - undef $mergedhash; - } - } - } - close GITLOG; - if (@merged) { - $commit->{mergemsg} = $commit->{message}; - $commit->{mergemsg} .= "\nSummary of merged commits:\n\n"; - foreach my $summary (@merged) { - $commit->{mergemsg} .= "\t$summary\n"; - } - $commit->{mergemsg} .= "\n\n"; - # print "Message for $commit->{hash} \n$commit->{mergemsg}"; - } - } - } - } - } - - # convert the date to CVS-happy format - my $cvsDate = convertToCvsDate($commit->{date}); - - if ( defined ( $lastpicked ) ) - { - my $filepipe = open(FILELIST, '-|', 'git', 'diff-tree', '-z', '-r', $lastpicked, $commit->{hash}) or die("Cannot call git-diff-tree : $!"); - local ($/) = "\0"; - while ( <FILELIST> ) - { - chomp; - unless ( /^:\d{6}\s+([0-7]{6})\s+[a-f0-9]{$state->{hexsz}}\s+([a-f0-9]{$state->{hexsz}})\s+(\w)$/o ) - { - die("Couldn't process git-diff-tree line : $_"); - } - my ($mode, $hash, $change) = ($1, $2, $3); - my $name = <FILELIST>; - chomp($name); - - # $log->debug("File mode=$mode, hash=$hash, change=$change, name=$name"); - - my $dbMode = convertToDbMode($mode); - - if ( $change eq "D" ) - { - #$log->debug("DELETE $name"); - $head->{$name} = { - name => $name, - revision => $head->{$name}{revision} + 1, - filehash => "deleted", - commithash => $commit->{hash}, - modified => $cvsDate, - author => $commit->{author}, - mode => $dbMode, - }; - $self->insert_rev($name, $head->{$name}{revision}, $hash, $commit->{hash}, $cvsDate, $commit->{author}, $dbMode); - } - elsif ( $change eq "M" || $change eq "T" ) - { - #$log->debug("MODIFIED $name"); - $head->{$name} = { - name => $name, - revision => $head->{$name}{revision} + 1, - filehash => $hash, - commithash => $commit->{hash}, - modified => $cvsDate, - author => $commit->{author}, - mode => $dbMode, - }; - $self->insert_rev($name, $head->{$name}{revision}, $hash, $commit->{hash}, $cvsDate, $commit->{author}, $dbMode); - } - elsif ( $change eq "A" ) - { - #$log->debug("ADDED $name"); - $head->{$name} = { - name => $name, - revision => $head->{$name}{revision} ? $head->{$name}{revision}+1 : 1, - filehash => $hash, - commithash => $commit->{hash}, - modified => $cvsDate, - author => $commit->{author}, - mode => $dbMode, - }; - $self->insert_rev($name, $head->{$name}{revision}, $hash, $commit->{hash}, $cvsDate, $commit->{author}, $dbMode); - } - else - { - $log->warn("UNKNOWN FILE CHANGE mode=$mode, hash=$hash, change=$change, name=$name"); - die; - } - } - close FILELIST; - } else { - # this is used to detect files removed from the repo - my $seen_files = {}; - - my $filepipe = open(FILELIST, '-|', 'git', 'ls-tree', '-z', '-r', $commit->{hash}) or die("Cannot call git-ls-tree : $!"); - local $/ = "\0"; - while ( <FILELIST> ) - { - chomp; - unless ( /^(\d+)\s+(\w+)\s+([a-zA-Z0-9]+)\t(.*)$/o ) - { - die("Couldn't process git-ls-tree line : $_"); - } - - my ( $mode, $git_type, $git_hash, $git_filename ) = ( $1, $2, $3, $4 ); - - $seen_files->{$git_filename} = 1; - - my ( $oldhash, $oldrevision, $oldmode ) = ( - $head->{$git_filename}{filehash}, - $head->{$git_filename}{revision}, - $head->{$git_filename}{mode} - ); - - my $dbMode = convertToDbMode($mode); - - # unless the file exists with the same hash, we need to update it ... - unless ( defined($oldhash) and $oldhash eq $git_hash and defined($oldmode) and $oldmode eq $dbMode ) - { - my $newrevision = ( $oldrevision or 0 ) + 1; - - $head->{$git_filename} = { - name => $git_filename, - revision => $newrevision, - filehash => $git_hash, - commithash => $commit->{hash}, - modified => $cvsDate, - author => $commit->{author}, - mode => $dbMode, - }; - - - $self->insert_rev($git_filename, $newrevision, $git_hash, $commit->{hash}, $cvsDate, $commit->{author}, $dbMode); - } - } - close FILELIST; - - # Detect deleted files - foreach my $file ( sort keys %$head ) - { - unless ( exists $seen_files->{$file} or $head->{$file}{filehash} eq "deleted" ) - { - $head->{$file}{revision}++; - $head->{$file}{filehash} = "deleted"; - $head->{$file}{commithash} = $commit->{hash}; - $head->{$file}{modified} = $cvsDate; - $head->{$file}{author} = $commit->{author}; - - $self->insert_rev($file, $head->{$file}{revision}, $head->{$file}{filehash}, $commit->{hash}, $cvsDate, $commit->{author}, $head->{$file}{mode}); - } - } - # END : "Detect deleted files" - } - - - if (exists $commit->{mergemsg}) - { - $self->insert_mergelog($commit->{hash}, $commit->{mergemsg}); - } - - $lastpicked = $commit->{hash}; - - $self->_set_prop("last_commit", $commit->{hash}); - } - - $self->delete_head(); - foreach my $file ( sort keys %$head ) - { - $self->insert_head( - $file, - $head->{$file}{revision}, - $head->{$file}{filehash}, - $head->{$file}{commithash}, - $head->{$file}{modified}, - $head->{$file}{author}, - $head->{$file}{mode}, - ); - } - # invalidate the gethead cache - $self->clearCommitRefCaches(); - - - # Ending exclusive lock here - $self->{dbh}->commit() or die "Failed to commit changes to SQLite"; -} - -sub readCommits -{ - my $pipeHandle = shift; - my @commits; - - my %commit = (); - - while ( <$pipeHandle> ) - { - chomp; - if (m/^commit\s+(.*)$/) { - # on ^commit lines put the just seen commit in the stack - # and prime things for the next one - if (keys %commit) { - my %copy = %commit; - unshift @commits, \%copy; - %commit = (); - } - my @parents = split(m/\s+/, $1); - $commit{hash} = shift @parents; - $commit{parents} = \@parents; - } elsif (m/^(\w+?):\s+(.*)$/ && !exists($commit{message})) { - # on rfc822-like lines seen before we see any message, - # lowercase the entry and put it in the hash as key-value - $commit{lc($1)} = $2; - } else { - # message lines - skip initial empty line - # and trim whitespace - if (!exists($commit{message}) && m/^\s*$/) { - # define it to mark the end of headers - $commit{message} = ''; - next; - } - s/^\s+//; s/\s+$//; # trim ws - $commit{message} .= $_ . "\n"; - } - } - - unshift @commits, \%commit if ( keys %commit ); - - return @commits; -} - -sub convertToCvsDate -{ - my $date = shift; - # Convert from: "git rev-list --pretty" formatted date - # Convert to: "the format specified by RFC822 as modified by RFC1123." - # Example: 26 May 1997 13:01:40 -0400 - if( $date =~ /^\w+\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)\s+([+-]\d+)$/ ) - { - $date = "$2 $1 $4 $3 $5"; - } - - return $date; -} - -sub convertToDbMode -{ - my $mode = shift; - - # NOTE: The CVS protocol uses a string similar "u=rw,g=rw,o=rw", - # but the database "mode" column historically (and currently) - # only stores the "rw" (for user) part of the string. - # FUTURE: It might make more sense to persist the raw - # octal mode (or perhaps the final full CVS form) instead of - # this half-converted form, but it isn't currently worth the - # backwards compatibility headaches. - - $mode=~/^\d{3}(\d)\d\d$/; - my $userBits=$1; - - my $dbMode = ""; - $dbMode .= "r" if ( $userBits & 4 ); - $dbMode .= "w" if ( $userBits & 2 ); - $dbMode .= "x" if ( $userBits & 1 ); - $dbMode = "rw" if ( $dbMode eq "" ); - - return $dbMode; -} - -sub insert_rev -{ - my $self = shift; - my $name = shift; - my $revision = shift; - my $filehash = shift; - my $commithash = shift; - my $modified = shift; - my $author = shift; - my $mode = shift; - my $tablename = $self->tablename("revision"); - - my $insert_rev = $self->{dbh}->prepare_cached("INSERT INTO $tablename (name, revision, filehash, commithash, modified, author, mode) VALUES (?,?,?,?,?,?,?)",{},1); - $insert_rev->execute($name, $revision, $filehash, $commithash, $modified, $author, $mode); -} - -sub insert_mergelog -{ - my $self = shift; - my $key = shift; - my $value = shift; - my $tablename = $self->tablename("commitmsgs"); - - my $insert_mergelog = $self->{dbh}->prepare_cached("INSERT INTO $tablename (key, value) VALUES (?,?)",{},1); - $insert_mergelog->execute($key, $value); -} - -sub delete_head -{ - my $self = shift; - my $tablename = $self->tablename("head"); - - my $delete_head = $self->{dbh}->prepare_cached("DELETE FROM $tablename",{},1); - $delete_head->execute(); -} - -sub insert_head -{ - my $self = shift; - my $name = shift; - my $revision = shift; - my $filehash = shift; - my $commithash = shift; - my $modified = shift; - my $author = shift; - my $mode = shift; - my $tablename = $self->tablename("head"); - - my $insert_head = $self->{dbh}->prepare_cached("INSERT INTO $tablename (name, revision, filehash, commithash, modified, author, mode) VALUES (?,?,?,?,?,?,?)",{},1); - $insert_head->execute($name, $revision, $filehash, $commithash, $modified, $author, $mode); -} - -sub _get_prop -{ - my $self = shift; - my $key = shift; - my $tablename = $self->tablename("properties"); - - my $db_query = $self->{dbh}->prepare_cached("SELECT value FROM $tablename WHERE key=?",{},1); - $db_query->execute($key); - my ( $value ) = $db_query->fetchrow_array; - - return $value; -} - -sub _set_prop -{ - my $self = shift; - my $key = shift; - my $value = shift; - my $tablename = $self->tablename("properties"); - - my $db_query = $self->{dbh}->prepare_cached("UPDATE $tablename SET value=? WHERE key=?",{},1); - $db_query->execute($value, $key); - - unless ( $db_query->rows ) - { - $db_query = $self->{dbh}->prepare_cached("INSERT INTO $tablename (key, value) VALUES (?,?)",{},1); - $db_query->execute($key, $value); - } - - return $value; -} - -=head2 gethead - -=cut - -sub gethead -{ - my $self = shift; - my $intRev = shift; - my $tablename = $self->tablename("head"); - - return $self->{gethead_cache} if ( defined ( $self->{gethead_cache} ) ); - - my $db_query = $self->{dbh}->prepare_cached("SELECT name, filehash, mode, revision, modified, commithash, author FROM $tablename ORDER BY name ASC",{},1); - $db_query->execute(); - - my $tree = []; - while ( my $file = $db_query->fetchrow_hashref ) - { - if(!$intRev) - { - $file->{revision} = "1.$file->{revision}" - } - push @$tree, $file; - } - - $self->{gethead_cache} = $tree; - - return $tree; -} - -=head2 getAnyHead - -Returns a reference to an array of getmeta structures, one -per file in the specified tree hash. - -=cut - -sub getAnyHead -{ - my ($self,$hash) = @_; - - if(!defined($hash)) - { - return $self->gethead(); - } - - my @files; - { - open(my $filePipe, '-|', 'git', 'ls-tree', '-z', '-r', $hash) - or die("Cannot call git-ls-tree : $!"); - local $/ = "\0"; - @files=<$filePipe>; - close $filePipe; - } - - my $tree=[]; - my($line); - foreach $line (@files) - { - $line=~s/\0$//; - unless ( $line=~/^(\d+)\s+(\w+)\s+([a-zA-Z0-9]+)\t(.*)$/o ) - { - die("Couldn't process git-ls-tree line : $_"); - } - - my($mode, $git_type, $git_hash, $git_filename) = ($1, $2, $3, $4); - push @$tree, $self->getMetaFromCommithash($git_filename,$hash); - } - - return $tree; -} - -=head2 getRevisionDirMap - -A "revision dir map" contains all the plain-file filenames associated -with a particular revision (tree-ish), organized by directory: - - $type = $out->{$dir}{$fullName} - -The type of each is "F" (for ordinary file) or "D" (for directory, -for which the map $out->{$fullName} will also exist). - -=cut - -sub getRevisionDirMap -{ - my ($self,$ver)=@_; - - if(!defined($self->{revisionDirMapCache})) - { - $self->{revisionDirMapCache}={}; - } - - # Get file list (previously cached results are dependent on HEAD, - # but are early in each case): - my $cacheKey; - my (@fileList); - if( !defined($ver) || $ver eq "" ) - { - $cacheKey=""; - if( defined($self->{revisionDirMapCache}{$cacheKey}) ) - { - return $self->{revisionDirMapCache}{$cacheKey}; - } - - my @head = @{$self->gethead()}; - foreach my $file ( @head ) - { - next if ( $file->{filehash} eq "deleted" ); - - push @fileList,$file->{name}; - } - } - else - { - my ($hash)=$self->lookupCommitRef($ver); - if( !defined($hash) ) - { - return undef; - } - - $cacheKey=$hash; - if( defined($self->{revisionDirMapCache}{$cacheKey}) ) - { - return $self->{revisionDirMapCache}{$cacheKey}; - } - - open(my $filePipe, '-|', 'git', 'ls-tree', '-z', '-r', $hash) - or die("Cannot call git-ls-tree : $!"); - local $/ = "\0"; - while ( <$filePipe> ) - { - chomp; - unless ( /^(\d+)\s+(\w+)\s+([a-zA-Z0-9]+)\t(.*)$/o ) - { - die("Couldn't process git-ls-tree line : $_"); - } - - my($mode, $git_type, $git_hash, $git_filename) = ($1, $2, $3, $4); - - push @fileList, $git_filename; - } - close $filePipe; - } - - # Convert to normalized form: - my %revMap; - my $file; - foreach $file (@fileList) - { - my($dir) = ($file=~m%^(?:(.*)/)?([^/]*)$%); - $dir='' if(!defined($dir)); - - # parent directories: - # ... create empty dir maps for parent dirs: - my($td)=$dir; - while(!defined($revMap{$td})) - { - $revMap{$td}={}; - - my($tp)=($td=~m%^(?:(.*)/)?([^/]*)$%); - $tp='' if(!defined($tp)); - $td=$tp; - } - # ... add children to parent maps (now that they exist): - $td=$dir; - while($td ne "") - { - my($tp)=($td=~m%^(?:(.*)/)?([^/]*)$%); - $tp='' if(!defined($tp)); - - if(defined($revMap{$tp}{$td})) - { - if($revMap{$tp}{$td} ne 'D') - { - die "Weird file/directory inconsistency in $cacheKey"; - } - last; # loop exit - } - $revMap{$tp}{$td}='D'; - - $td=$tp; - } - - # file - $revMap{$dir}{$file}='F'; - } - - # Save in cache: - $self->{revisionDirMapCache}{$cacheKey}=\%revMap; - return $self->{revisionDirMapCache}{$cacheKey}; -} - -=head2 getlog - -See also gethistorydense(). - -=cut - -sub getlog -{ - my $self = shift; - my $filename = shift; - my $revFilter = shift; - - my $tablename = $self->tablename("revision"); - - # Filters: - # TODO: date, state, or by specific logins filters? - # TODO: Handle comma-separated list of revFilter items, each item - # can be a range [only case currently handled] or individual - # rev or branch or "branch.". - # TODO: Adjust $db_query WHERE clause based on revFilter, instead of - # manually filtering the results of the query? - my ( $minrev, $maxrev ); - if( defined($revFilter) and - $state->{opt}{r} =~ /^(1.(\d+))?(::?)(1.(\d.+))?$/ ) - { - my $control = $3; - $minrev = $2; - $maxrev = $5; - $minrev++ if ( defined($minrev) and $control eq "::" ); - } - - my $db_query = $self->{dbh}->prepare_cached("SELECT name, filehash, author, mode, revision, modified, commithash FROM $tablename WHERE name=? ORDER BY revision DESC",{},1); - $db_query->execute($filename); - - my $totalRevs=0; - my $tree = []; - while ( my $file = $db_query->fetchrow_hashref ) - { - $totalRevs++; - if( defined($minrev) and $file->{revision} < $minrev ) - { - next; - } - if( defined($maxrev) and $file->{revision} > $maxrev ) - { - next; - } - - $file->{revision} = "1." . $file->{revision}; - push @$tree, $file; - } - - return ($tree,$totalRevs); -} - -=head2 getmeta - -This function takes a filename (with path) argument and returns a hashref of -metadata for that file. - -There are several ways $revision can be specified: - - - A reference to hash that contains a "tag" that is the - actual revision (one of the below). TODO: Also allow it to - specify a "date" in the hash. - - undef, to refer to the latest version on the main branch. - - Full CVS client revision number (mapped to integer in DB, without the - "1." prefix), - - Complex CVS-compatible "special" revision number for - non-linear history (see comment below) - - git commit sha1 hash - - branch or tag name - -=cut - -sub getmeta -{ - my $self = shift; - my $filename = shift; - my $revision = shift; - my $tablename_rev = $self->tablename("revision"); - my $tablename_head = $self->tablename("head"); - - if ( ref($revision) eq "HASH" ) - { - $revision = $revision->{tag}; - } - - # Overview of CVS revision numbers: - # - # General CVS numbering scheme: - # - Basic mainline branch numbers: "1.1", "1.2", "1.3", etc. - # - Result of "cvs checkin -r" (possible, but not really - # recommended): "2.1", "2.2", etc - # - Branch tag: "1.2.0.n", where "1.2" is revision it was branched - # from, "0" is a magic placeholder that identifies it as a - # branch tag instead of a version tag, and n is 2 times the - # branch number off of "1.2", starting with "2". - # - Version on a branch: "1.2.n.x", where "1.2" is branch-from, "n" - # is branch number off of "1.2" (like n above), and "x" is - # the version number on the branch. - # - Branches can branch off of branches: "1.3.2.7.4.1" (even number - # of components). - # - Odd "n"s are used by "vendor branches" that result - # from "cvs import". Vendor branches have additional - # strangeness in the sense that the main rcs "head" of the main - # branch will (temporarily until first normal commit) point - # to the version on the vendor branch, rather than the actual - # main branch. (FUTURE: This may provide an opportunity - # to use "strange" revision numbers for fast-forward-merged - # branch tip when CVS client is asking for the main branch.) - # - # git-cvsserver CVS-compatible special numbering schemes: - # - Currently git-cvsserver only tries to be identical to CVS for - # simple "1.x" numbers on the "main" branch (as identified - # by the module name that was originally cvs checkout'ed). - # - The database only stores the "x" part, for historical reasons. - # But most of the rest of the cvsserver preserves - # and thinks using the full revision number. - # - To handle non-linear history, it uses a version of the form - # "2.1.1.2000.b.b.b."..., where the 2.1.1.2000 is to help uniquely - # identify this as a special revision number, and there are - # 20 b's that together encode the sha1 git commit from which - # this version of this file originated. Each b is - # the numerical value of the corresponding byte plus - # 100. - # - "plus 100" avoids "0"s, and also reduces the - # likelihood of a collision in the case that someone someday - # writes an import tool that tries to preserve original - # CVS revision numbers, and the original CVS data had done - # lots of branches off of branches and other strangeness to - # end up with a real version number that just happens to look - # like this special revision number form. Also, if needed - # there are several ways to extend/identify alternative encodings - # within the "2.1.1.2000" part if necessary. - # - Unlike real CVS revisions, you can't really reconstruct what - # relation a revision of this form has to other revisions. - # - FUTURE: TODO: Rework database somehow to make up and remember - # fully-CVS-compatible branches and branch version numbers. - - my $meta; - if ( defined($revision) ) - { - if ( $revision =~ /^1\.(\d+)$/ ) - { - my ($intRev) = $1; - my $db_query; - $db_query = $self->{dbh}->prepare_cached( - "SELECT * FROM $tablename_rev WHERE name=? AND revision=?", - {},1); - $db_query->execute($filename, $intRev); - $meta = $db_query->fetchrow_hashref; - } - elsif ( $revision =~ /^2\.1\.1\.2000(\.[1-3][0-9][0-9]){$state->{rawsz}}$/ ) - { - my ($commitHash)=($revision=~/^2\.1\.1\.2000(.*)$/); - $commitHash=~s/\.([0-9]+)/sprintf("%02x",$1-100)/eg; - if($commitHash=~/^[0-9a-f]{$state->{hexsz}}$/) - { - return $self->getMetaFromCommithash($filename,$commitHash); - } - - # error recovery: fall back on head version below - print "E Failed to find $filename version=$revision or commit=$commitHash\n"; - $log->warning("failed get $revision with commithash=$commitHash"); - undef $revision; - } - elsif ( $revision =~ /^[0-9a-f]{$state->{hexsz}}$/ ) - { - # Try DB first. This is mostly only useful for req_annotate(), - # which only calls this for stuff that should already be in - # the DB. It is fairly likely to be a waste of time - # in most other cases [unless the file happened to be - # modified in $revision specifically], but - # it is probably in the noise compared to how long - # getMetaFromCommithash() will take. - my $db_query; - $db_query = $self->{dbh}->prepare_cached( - "SELECT * FROM $tablename_rev WHERE name=? AND commithash=?", - {},1); - $db_query->execute($filename, $revision); - $meta = $db_query->fetchrow_hashref; - - if(! $meta) - { - my($revCommit)=$self->lookupCommitRef($revision); - if($revCommit=~/^[0-9a-f]{$state->{hexsz}}$/) - { - return $self->getMetaFromCommithash($filename,$revCommit); - } - - # error recovery: nothing found: - print "E Failed to find $filename version=$revision\n"; - $log->warning("failed get $revision"); - return $meta; - } - } - else - { - my($revCommit)=$self->lookupCommitRef($revision); - if($revCommit=~/^[0-9a-f]{$state->{hexsz}}$/) - { - return $self->getMetaFromCommithash($filename,$revCommit); - } - - # error recovery: fall back on head version below - print "E Failed to find $filename version=$revision\n"; - $log->warning("failed get $revision"); - undef $revision; # Allow fallback - } - } - - if(!defined($revision)) - { - my $db_query; - $db_query = $self->{dbh}->prepare_cached( - "SELECT * FROM $tablename_head WHERE name=?",{},1); - $db_query->execute($filename); - $meta = $db_query->fetchrow_hashref; - } - - if($meta) - { - $meta->{revision} = "1.$meta->{revision}"; - } - return $meta; -} - -sub getMetaFromCommithash -{ - my $self = shift; - my $filename = shift; - my $revCommit = shift; - - # NOTE: This function doesn't scale well (lots of forks), especially - # if you have many files that have not been modified for many commits - # (each git-rev-parse redoes a lot of work for each file - # that theoretically could be done in parallel by smarter - # graph traversal). - # - # TODO: Possible optimization strategies: - # - Solve the issue of assigning and remembering "real" CVS - # revision numbers for branches, and ensure the - # data structure can do this efficiently. Perhaps something - # similar to "git notes", and carefully structured to take - # advantage same-sha1-is-same-contents, to roll the same - # unmodified subdirectory data onto multiple commits? - # - Write and use a C tool that is like git-blame, but - # operates on multiple files with file granularity, instead - # of one file with line granularity. Cache - # most-recently-modified in $self->{commitRefCache}{$revCommit}. - # Try to be intelligent about how many files we do with - # one fork (perhaps one directory at a time, without recursion, - # and/or include directory as one line item, recurse from here - # instead of in C tool?). - # - Perhaps we could ask the DB for (filename,fileHash), - # and just guess that it is correct (that the file hadn't - # changed between $revCommit and the found commit, then - # changed back, confusing anything trying to interpret - # history). Probably need to add another index to revisions - # DB table for this. - # - NOTE: Trying to store all (commit,file) keys in DB [to - # find "lastModfiedCommit] (instead of - # just files that changed in each commit as we do now) is - # probably not practical from a disk space perspective. - - # Does the file exist in $revCommit? - # TODO: Include file hash in dirmap cache. - my($dirMap)=$self->getRevisionDirMap($revCommit); - my($dir,$file)=($filename=~m%^(?:(.*)/)?([^/]*$)%); - if(!defined($dir)) - { - $dir=""; - } - if( !defined($dirMap->{$dir}) || - !defined($dirMap->{$dir}{$filename}) ) - { - my($fileHash)="deleted"; - - my($retVal)={}; - $retVal->{name}=$filename; - $retVal->{filehash}=$fileHash; - - # not needed and difficult to compute: - $retVal->{revision}="0"; # $revision; - $retVal->{commithash}=$revCommit; - #$retVal->{author}=$commit->{author}; - #$retVal->{modified}=convertToCvsDate($commit->{date}); - #$retVal->{mode}=convertToDbMode($mode); - - return $retVal; - } - - my($fileHash) = ::safe_pipe_capture("git","rev-parse","$revCommit:$filename"); - chomp $fileHash; - if(!($fileHash=~/^[0-9a-f]{$state->{hexsz}}$/)) - { - die "Invalid fileHash '$fileHash' looking up" - ." '$revCommit:$filename'\n"; - } - - # information about most recent commit to modify $filename: - open(my $gitLogPipe, '-|', 'git', 'rev-list', - '--max-count=1', '--pretty', '--parents', - $revCommit, '--', $filename) - or die "Cannot call git-rev-list: $!"; - my @commits=readCommits($gitLogPipe); - close $gitLogPipe; - if(scalar(@commits)!=1) - { - die "Can't find most recent commit changing $filename\n"; - } - my($commit)=$commits[0]; - if( !defined($commit) || !defined($commit->{hash}) ) - { - return undef; - } - - # does this (commit,file) have a real assigned CVS revision number? - my $tablename_rev = $self->tablename("revision"); - my $db_query; - $db_query = $self->{dbh}->prepare_cached( - "SELECT * FROM $tablename_rev WHERE name=? AND commithash=?", - {},1); - $db_query->execute($filename, $commit->{hash}); - my($meta)=$db_query->fetchrow_hashref; - if($meta) - { - $meta->{revision} = "1.$meta->{revision}"; - return $meta; - } - - # fall back on special revision number - my($revision)=$commit->{hash}; - $revision=~s/(..)/'.' . (hex($1)+100)/eg; - $revision="2.1.1.2000$revision"; - - # meta data about $filename: - open(my $filePipe, '-|', 'git', 'ls-tree', '-z', - $commit->{hash}, '--', $filename) - or die("Cannot call git-ls-tree : $!"); - local $/ = "\0"; - my $line; - $line=<$filePipe>; - if(defined(<$filePipe>)) - { - die "Expected only a single file for git-ls-tree $filename\n"; - } - close $filePipe; - - chomp $line; - unless ( $line=~m/^(\d+)\s+(\w+)\s+([a-zA-Z0-9]+)\t(.*)$/o ) - { - die("Couldn't process git-ls-tree line : $line\n"); - } - my ( $mode, $git_type, $git_hash, $git_filename ) = ( $1, $2, $3, $4 ); - - # save result: - my($retVal)={}; - $retVal->{name}=$filename; - $retVal->{revision}=$revision; - $retVal->{filehash}=$fileHash; - $retVal->{commithash}=$revCommit; - $retVal->{author}=$commit->{author}; - $retVal->{modified}=convertToCvsDate($commit->{date}); - $retVal->{mode}=convertToDbMode($mode); - - return $retVal; -} - -=head2 lookupCommitRef - -Convert tag/branch/abbreviation/etc into a commit sha1 hash. Caches -the result so looking it up again is fast. - -=cut - -sub lookupCommitRef -{ - my $self = shift; - my $ref = shift; - - my $commitHash = $self->{commitRefCache}{$ref}; - if(defined($commitHash)) - { - return $commitHash; - } - - $commitHash = ::safe_pipe_capture("git","rev-parse","--verify","--quiet", - $self->unescapeRefName($ref)); - $commitHash=~s/\s*$//; - if(!($commitHash=~/^[0-9a-f]{$state->{hexsz}}$/)) - { - $commitHash=undef; - } - - if( defined($commitHash) ) - { - my $type = ::safe_pipe_capture("git","cat-file","-t",$commitHash); - if( ! ($type=~/^commit\s*$/ ) ) - { - $commitHash=undef; - } - } - if(defined($commitHash)) - { - $self->{commitRefCache}{$ref}=$commitHash; - } - return $commitHash; -} - -=head2 clearCommitRefCaches - -Clears cached commit cache (sha1's for various tags/abbeviations/etc), -and related caches. - -=cut - -sub clearCommitRefCaches -{ - my $self = shift; - $self->{commitRefCache} = {}; - $self->{revisionDirMapCache} = undef; - $self->{gethead_cache} = undef; -} - -=head2 commitmessage - -this function takes a commithash and returns the commit message for that commit - -=cut -sub commitmessage -{ - my $self = shift; - my $commithash = shift; - my $tablename = $self->tablename("commitmsgs"); - - die("Need commithash") unless ( defined($commithash) and $commithash =~ /^[a-zA-Z0-9]{$state->{hexsz}}$/ ); - - my $db_query; - $db_query = $self->{dbh}->prepare_cached("SELECT value FROM $tablename WHERE key=?",{},1); - $db_query->execute($commithash); - - my ( $message ) = $db_query->fetchrow_array; - - if ( defined ( $message ) ) - { - $message .= " " if ( $message =~ /\n$/ ); - return $message; - } - - my @lines = ::safe_pipe_capture("git", "cat-file", "commit", $commithash); - shift @lines while ( $lines[0] =~ /\S/ ); - $message = join("",@lines); - $message .= " " if ( $message =~ /\n$/ ); - return $message; -} - -=head2 gethistorydense - -This function takes a filename (with path) argument and returns an arrayofarrays -containing revision,filehash,commithash ordered by revision descending. - -This version of gethistory skips deleted entries -- so it is useful for annotate. -The 'dense' part is a reference to a '--dense' option available for git-rev-list -and other git tools that depend on it. - -See also getlog(). - -=cut -sub gethistorydense -{ - my $self = shift; - my $filename = shift; - my $tablename = $self->tablename("revision"); - - my $db_query; - $db_query = $self->{dbh}->prepare_cached("SELECT revision, filehash, commithash FROM $tablename WHERE name=? AND filehash!='deleted' ORDER BY revision DESC",{},1); - $db_query->execute($filename); - - my $result = $db_query->fetchall_arrayref; - - my $i; - for($i=0 ; $i<scalar(@$result) ; $i++) - { - $result->[$i][0]="1." . $result->[$i][0]; - } - - return $result; -} - -=head2 escapeRefName - -Apply an escape mechanism to compensate for characters that -git ref names can have that CVS tags can not. - -=cut -sub escapeRefName -{ - my($self,$refName)=@_; - - # CVS officially only allows [-_A-Za-z0-9] in tag names (or in - # many contexts it can also be a CVS revision number). - # - # Git tags commonly use '/' and '.' as well, but also handle - # anything else just in case: - # - # = "_-s-" For '/'. - # = "_-p-" For '.'. - # = "_-u-" For underscore, in case someone wants a literal "_-" in - # a tag name. - # = "_-xx-" Where "xx" is the hexadecimal representation of the - # desired ASCII character byte. (for anything else) - - if(! $refName=~/^[1-9][0-9]*(\.[1-9][0-9]*)*$/) - { - $refName=~s/_-/_-u--/g; - $refName=~s/\./_-p-/g; - $refName=~s%/%_-s-%g; - $refName=~s/[^-_a-zA-Z0-9]/sprintf("_-%02x-",$1)/eg; - } -} - -=head2 unescapeRefName - -Undo an escape mechanism to compensate for characters that -git ref names can have that CVS tags can not. - -=cut -sub unescapeRefName -{ - my($self,$refName)=@_; - - # see escapeRefName() for description of escape mechanism. - - $refName=~s/_-([spu]|[0-9a-f][0-9a-f])-/unescapeRefNameChar($1)/eg; - - # allowed tag names - # TODO: Perhaps use git check-ref-format, with an in-process cache of - # validated names? - if( !( $refName=~m%^[^-][-a-zA-Z0-9_/.]*$% ) || - ( $refName=~m%[/.]$% ) || - ( $refName=~/\.lock$/ ) || - ( $refName=~m%\.\.|/\.|[[\\:?*~]|\@\{% ) ) # matching } - { - # Error: - $log->warn("illegal refName: $refName"); - $refName=undef; - } - return $refName; -} - -sub unescapeRefNameChar -{ - my($char)=@_; - - if($char eq "s") - { - $char="/"; - } - elsif($char eq "p") - { - $char="."; - } - elsif($char eq "u") - { - $char="_"; - } - elsif($char=~/^[0-9a-f][0-9a-f]$/) - { - $char=chr(hex($char)); - } - else - { - # Error case: Maybe it has come straight from user, and - # wasn't supposed to be escaped? Restore it the way we got it: - $char="_-$char-"; - } - - return $char; -} - -=head2 in_array() - -from Array::PAT - mimics the in_array() function -found in PHP. Yuck but works for small arrays. - -=cut -sub in_array -{ - my ($check, @array) = @_; - my $retval = 0; - foreach my $test (@array){ - if($check eq $test){ - $retval = 1; - } - } - return $retval; -} - -=head2 mangle_dirname - -create a string from a directory name that is suitable to use as -part of a filename, mainly by converting all chars except \w.- to _ - -=cut -sub mangle_dirname { - my $dirname = shift; - return unless defined $dirname; - - $dirname =~ s/[^\w.-]/_/g; - - return $dirname; -} - -=head2 mangle_tablename - -create a string from a that is suitable to use as part of an SQL table -name, mainly by converting all chars except \w to _ - -=cut -sub mangle_tablename { - my $tablename = shift; - return unless defined $tablename; - - $tablename =~ s/[^\w_]/_/g; - - return $tablename; -} - -1; diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-filter-repo b/result/etc/profiles/per-user/bdsqqq/bin/git-filter-repo deleted file mode 100755 index 04f0c963..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/git-filter-repo +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/rd3klnch2jvyrrdrkljlgi5mm6dhiqnf-python3.13-git-filter-repo-2.47.0/bin'':'/':'} -PATH='/nix/store/rd3klnch2jvyrrdrkljlgi5mm6dhiqnf-python3.13-git-filter-repo-2.47.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/rd3klnch2jvyrrdrkljlgi5mm6dhiqnf-python3.13-git-filter-repo-2.47.0/bin/.git-filter-repo-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-http-backend b/result/etc/profiles/per-user/bdsqqq/bin/git-http-backend deleted file mode 100755 index 8c73e342..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-http-backend and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-jump b/result/etc/profiles/per-user/bdsqqq/bin/git-jump deleted file mode 100755 index 47399afb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/git-jump +++ /dev/null @@ -1,117 +0,0 @@ -#!/nix/store/nqh4lv0w7n7cw7n8vvn2gfzv804y4hk6-bash-interactive-5.2p37/bin/sh - -usage() { - cat <<\EOF -usage: git jump [--stdout] <mode> [<args>] - -Jump to interesting elements in an editor. -The <mode> parameter is one of: - -diff: elements are diff hunks. Arguments are given to diff. - -merge: elements are merge conflicts. Arguments are given to ls-files -u. - -grep: elements are grep hits. Arguments are given to git grep or, if - configured, to the command in `jump.grepCmd`. - -ws: elements are whitespace errors. Arguments are given to diff --check. - -If the optional argument `--stdout` is given, print the quickfix -lines to standard output instead of feeding it to the editor. -EOF -} - -open_editor() { - editor=`git var GIT_EDITOR` - case "$editor" in - *emacs*) - # Supported editor values are: - # - emacs - # - emacsclient - # - emacsclient -t - # - # Wait for completion of the asynchronously executed process - # to avoid race conditions in case of "emacsclient". - eval "$editor --eval \"(let ((buf (grep \\\"cat \$1\\\"))) (pop-to-buffer buf) (select-frame-set-input-focus (selected-frame)) (while (get-buffer-process buf) (sleep-for 0.1)))\"" - ;; - *) - # assume anything else is vi-compatible - eval "$editor -q \$1" - ;; - esac -} - -mode_diff() { - git diff --no-prefix --relative "$@" | - perl -ne ' - if (m{^\+\+\+ (.*)}) { $file = $1 eq "/dev/null" ? undef : $1; next } - defined($file) or next; - if (m/^@@ .*?\+(\d+)/) { $line = $1; next } - defined($line) or next; - if (/^ /) { $line++; next } - if (/^[-+]\s*(.*)/) { - print "$file:$line:1: $1\n"; - $line = undef; - } - ' -} - -mode_merge() { - git ls-files -u "$@" | - perl -pe 's/^.*?\t//' | - sort -u | - while IFS= read fn; do - grep -Hn '^<<<<<<<' "$fn" - done -} - -# Grep -n generates nice quickfix-looking lines by itself, -# but let's clean up extra whitespace, so they look better if the -# editor shows them to us in the status bar. -mode_grep() { - cmd=$(git config jump.grepCmd) - test -n "$cmd" || cmd="git grep -n --column" - $cmd "$@" | - perl -pe ' - s/[ \t]+/ /g; - s/^ *//; - ' -} - -mode_ws() { - git diff --check "$@" -} - -use_stdout= -while test $# -gt 0; do - case "$1" in - --stdout) - use_stdout=t - ;; - --*) - usage >&2 - exit 1 - ;; - *) - break - ;; - esac - shift -done -if test $# -lt 1; then - usage >&2 - exit 1 -fi -mode=$1; shift -type "mode_$mode" >/dev/null 2>&1 || { usage >&2; exit 1; } - -if test "$use_stdout" = "t"; then - "mode_$mode" "$@" - exit 0 -fi - -trap 'rm -f "$tmp"' 0 1 2 3 15 -tmp=`mktemp -t git-jump.XXXXXX` || exit 1 -"mode_$mode" "$@" >"$tmp" -test -s "$tmp" || exit 0 -open_editor "$tmp" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-lfs b/result/etc/profiles/per-user/bdsqqq/bin/git-lfs deleted file mode 100755 index 884e5c8e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-lfs and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-receive-pack b/result/etc/profiles/per-user/bdsqqq/bin/git-receive-pack deleted file mode 100755 index ec6d8cef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-receive-pack and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-shell b/result/etc/profiles/per-user/bdsqqq/bin/git-shell deleted file mode 100755 index a0003819..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-shell and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-upload-archive b/result/etc/profiles/per-user/bdsqqq/bin/git-upload-archive deleted file mode 100755 index ec6d8cef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-upload-archive and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/git-upload-pack b/result/etc/profiles/per-user/bdsqqq/bin/git-upload-pack deleted file mode 100755 index ec6d8cef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/git-upload-pack and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/go b/result/etc/profiles/per-user/bdsqqq/bin/go deleted file mode 100755 index a9a91053..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/go and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/go-contrib-init b/result/etc/profiles/per-user/bdsqqq/bin/go-contrib-init deleted file mode 100755 index adb806d2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/go-contrib-init and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/godex b/result/etc/profiles/per-user/bdsqqq/bin/godex deleted file mode 100755 index de71602f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/godex and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/godoc b/result/etc/profiles/per-user/bdsqqq/bin/godoc deleted file mode 100755 index d35cfd74..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/godoc and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gofix b/result/etc/profiles/per-user/bdsqqq/bin/gofix deleted file mode 100755 index e0baf5d2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gofix and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gofmt b/result/etc/profiles/per-user/bdsqqq/bin/gofmt deleted file mode 100755 index 80244d42..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gofmt and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gofumpt b/result/etc/profiles/per-user/bdsqqq/bin/gofumpt deleted file mode 100755 index d1c11bc5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gofumpt and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/goimports b/result/etc/profiles/per-user/bdsqqq/bin/goimports deleted file mode 100755 index d34e20c0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/goimports +++ /dev/null @@ -1,9 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -if [[ $PATH != *':''/nix/store/rq7irijkj3nhapmjcv9d96xgkisj55x2-go-1.24.4/bin'':'* ]]; then - PATH=$PATH'/nix/store/rq7irijkj3nhapmjcv9d96xgkisj55x2-go-1.24.4/bin' -fi -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/sil2z311kv30dz4v9rc1q413vcrmprb5-gotools-0.34.0/bin/.goimports-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/golangci-lint b/result/etc/profiles/per-user/bdsqqq/bin/golangci-lint deleted file mode 100755 index 6c1018b6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/golangci-lint and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gomodindex b/result/etc/profiles/per-user/bdsqqq/bin/gomodindex deleted file mode 100755 index e4ade200..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gomodindex and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gomvpkg b/result/etc/profiles/per-user/bdsqqq/bin/gomvpkg deleted file mode 100755 index 64a7fe23..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gomvpkg and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gonew b/result/etc/profiles/per-user/bdsqqq/bin/gonew deleted file mode 100755 index ecc909f2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gonew and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gopackages b/result/etc/profiles/per-user/bdsqqq/bin/gopackages deleted file mode 100755 index 50f9cd9d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gopackages and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gopls b/result/etc/profiles/per-user/bdsqqq/bin/gopls deleted file mode 100755 index 0bd69d00..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gopls and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gostacks b/result/etc/profiles/per-user/bdsqqq/bin/gostacks deleted file mode 100755 index 64c5e4b9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gostacks and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gotests b/result/etc/profiles/per-user/bdsqqq/bin/gotests deleted file mode 100755 index e704a5b3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gotests and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/gotype b/result/etc/profiles/per-user/bdsqqq/bin/gotype deleted file mode 100755 index 05fff5ec..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/gotype and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/goyacc b/result/etc/profiles/per-user/bdsqqq/bin/goyacc deleted file mode 100755 index 595b33da..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/goyacc and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/html2article b/result/etc/profiles/per-user/bdsqqq/bin/html2article deleted file mode 100755 index 601f564e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/html2article and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/htop b/result/etc/profiles/per-user/bdsqqq/bin/htop deleted file mode 100755 index d6bd4bb9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/htop and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/http b/result/etc/profiles/per-user/bdsqqq/bin/http deleted file mode 100755 index 41c789d0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/http +++ /dev/null @@ -1,33 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'':'/':'} -PATH='/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin/.http-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/httpie b/result/etc/profiles/per-user/bdsqqq/bin/httpie deleted file mode 100755 index bf4a0b15..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/httpie +++ /dev/null @@ -1,33 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'':'/':'} -PATH='/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin/.httpie-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/httpmux b/result/etc/profiles/per-user/bdsqqq/bin/httpmux deleted file mode 100755 index 88a0949c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/httpmux and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/https b/result/etc/profiles/per-user/bdsqqq/bin/https deleted file mode 100755 index 1e89979d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/https +++ /dev/null @@ -1,33 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'':'/':'} -PATH='/nix/store/aryaffmf6w5jybnm3jbir2z9i5s6wqi8-python3.13-markdown-it-py-3.0.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/091981vb0l15rfsm4rd7dbznxxbiw6s0-python3.13-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'':'/':'} -PATH='/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/gj40gmv0y5i479iiy9rm69j8bkxvjgk1-python3.13-httpie-3.2.4/bin/.https-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/idle b/result/etc/profiles/per-user/bdsqqq/bin/idle deleted file mode 100755 index bb4df3ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/idle +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -from idlelib.pyshell import main -if __name__ == '__main__': - main() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/idle3 b/result/etc/profiles/per-user/bdsqqq/bin/idle3 deleted file mode 100755 index bb4df3ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/idle3 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -from idlelib.pyshell import main -if __name__ == '__main__': - main() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/idle3.12 b/result/etc/profiles/per-user/bdsqqq/bin/idle3.12 deleted file mode 100755 index bb4df3ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/idle3.12 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -from idlelib.pyshell import main -if __name__ == '__main__': - main() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ifaceassert b/result/etc/profiles/per-user/bdsqqq/bin/ifaceassert deleted file mode 100755 index 02f4adaf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ifaceassert and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/iina b/result/etc/profiles/per-user/bdsqqq/bin/iina deleted file mode 100755 index 2bfc830c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/iina and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ipython b/result/etc/profiles/per-user/bdsqqq/bin/ipython deleted file mode 100755 index 19e7efdf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ipython +++ /dev/null @@ -1,21 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/2pmz3955f49zw3n25sprsv9diywr9668-python3.12-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/2pmz3955f49zw3n25sprsv9diywr9668-python3.12-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin'':'/':'} -PATH='/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin/.ipython-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ipython3 b/result/etc/profiles/per-user/bdsqqq/bin/ipython3 deleted file mode 100755 index a60f8a4d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/ipython3 +++ /dev/null @@ -1,21 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/2pmz3955f49zw3n25sprsv9diywr9668-python3.12-pygments-2.19.1/bin'':'/':'} -PATH='/nix/store/2pmz3955f49zw3n25sprsv9diywr9668-python3.12-pygments-2.19.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin'':'/':'} -PATH='/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/0a0zw3ly6j5s640x332jr37vbnc8hlr8-python3.12-ipython-9.2.0/bin/.ipython3-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/isort b/result/etc/profiles/per-user/bdsqqq/bin/isort deleted file mode 100755 index 58a8887e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/isort +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin'':'/':'} -PATH='/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin/.isort-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/isort-identify-imports b/result/etc/profiles/per-user/bdsqqq/bin/isort-identify-imports deleted file mode 100755 index 7f00001c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/isort-identify-imports +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin'':'/':'} -PATH='/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/y0cviakib5y1afvx4kjhyqxanmyc865l-python3.12-isort-6.0.1/bin/.isort-identify-imports-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/jq b/result/etc/profiles/per-user/bdsqqq/bin/jq deleted file mode 100755 index 2f3b36f4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/jq and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/lazydocker b/result/etc/profiles/per-user/bdsqqq/bin/lazydocker deleted file mode 100755 index 4944da89..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/lazydocker and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/lazygit b/result/etc/profiles/per-user/bdsqqq/bin/lazygit deleted file mode 100755 index ad5b6ee7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/lazygit and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/lexgrog b/result/etc/profiles/per-user/bdsqqq/bin/lexgrog deleted file mode 100755 index 121fab98..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/lexgrog +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.lexgrog-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/lostcancel b/result/etc/profiles/per-user/bdsqqq/bin/lostcancel deleted file mode 100755 index 8a9034d8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/lostcancel and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/man b/result/etc/profiles/per-user/bdsqqq/bin/man deleted file mode 100755 index 1b099d3c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/man +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.man-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/man-recode b/result/etc/profiles/per-user/bdsqqq/bin/man-recode deleted file mode 100755 index a2b8e08f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/man-recode +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.man-recode-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/mandb b/result/etc/profiles/per-user/bdsqqq/bin/mandb deleted file mode 100755 index 014bed36..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/mandb +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.mandb-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/manpath b/result/etc/profiles/per-user/bdsqqq/bin/manpath deleted file mode 100755 index 7e320b14..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/manpath +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.manpath-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/modernize b/result/etc/profiles/per-user/bdsqqq/bin/modernize deleted file mode 100755 index 339dcda7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/modernize and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/mpv b/result/etc/profiles/per-user/bdsqqq/bin/mpv deleted file mode 100755 index 2882b7f3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/mpv +++ /dev/null @@ -1,26 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -LUA_CPATH=${LUA_CPATH:+';'$LUA_CPATH';'} -LUA_CPATH=${LUA_CPATH/';''/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/lib/lua/5.2/?.so'';'/';'} -LUA_CPATH='/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/lib/lua/5.2/?.so'$LUA_CPATH -LUA_CPATH=${LUA_CPATH#';'} -LUA_CPATH=${LUA_CPATH%';'} -export LUA_CPATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/share/lua/5.2/?.lua'';'/';'} -LUA_PATH='/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/share/lua/5.2/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/np52nc6fc4si1rv153d3j98yflh03i1q-yt-dlp-2025.6.9/bin'':'/':'} -PATH='/nix/store/np52nc6fc4si1rv153d3j98yflh03i1q-yt-dlp-2025.6.9/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/bin'':'/':'} -PATH='/nix/store/j5rpz5nzsdd0b235f311yz8pi1ykmwky-lua-5.2.4-env/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/7hb4ik0hz8jyl3ayfxlxnly2dillc96p-mpv-0.40.0/bin/mpv" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/mpv_identify.sh b/result/etc/profiles/per-user/bdsqqq/bin/mpv_identify.sh deleted file mode 100755 index cd3ec2f3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/mpv_identify.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/nix/store/nqh4lv0w7n7cw7n8vvn2gfzv804y4hk6-bash-interactive-5.2p37/bin/sh - -# file identification script -# -# manual usage: -# mpv_identify.sh foo.mkv -# -# sh/dash/ksh/bash usage: -# . mpv_identify.sh FOO_ foo.mkv -# will fill properties into variables like FOO_length -# -# zsh usage: -# mpv_identify() { emulate -L sh; . mpv_identify.sh "$@"; } -# mpv_identify FOO_ foo.mkv -# will fill properties into variables like FOO_length -# -# When multiple files were specified, their info will be put into FOO_* for the -# first file, FOO_1_* for the second file, FOO_2_* for the third file, etc. - -__midentify__main() { - - case "$0" in - mpv_identify.sh|*/mpv_identify.sh) - # we are NOT being sourced - [ -n "$1" ] && set -- '' "$@" - ;; - esac - - if [ "$#" -lt 2 ]; then - cat >&2 <<EOF -Usage 1 (for humans only): $0 filename.mkv -will print all property values. -Note that this output really shouldn't be parsed, as the -format is subject to change. - -Usage 2 (for use by scripts): see top of this file - -NOTE: for mkv with ordered chapters, this may -not always identify the specified file, but the -file providing the first chapter. Specify ---no-ordered-chapters to prevent this. -EOF - return 2 - fi - - local LF=" -" - - local nextprefix="$1" - shift - - if [ -n "$nextprefix" ]; then - # in case of error, we always want this unset - unset "${nextprefix}path" - fi - - local allprops=" - filename - path - stream-start - stream-end - stream-length - - demuxer - - length - chapters - editions - titles - duration - - audio - audio-bitrate - audio-codec - audio-codec-name - - video - angle - video-bitrate - video-codec - video-format - video-params/aspect - container-fps - width - height - dwidth - dheight - - sub - " - # TODO add metadata support once mpv can do it - - local propstr="X-MIDENTIFY-START:$LF" - local key - for key in $allprops; do - propstr="${propstr}X-MIDENTIFY: $key \${=$key}$LF" - key="$(printf '%s\n' "$key" | tr /- __)" - unset "$nextprefix$key" - done - - local fileindex=0 - local prefix= - local line - while IFS= read -r line; do - case "$line" in - X-MIDENTIFY-START:) - if [ -n "$nextprefix" ]; then - prefix="$nextprefix" - if [ "$fileindex" -gt 0 ]; then - nextprefix="${prefix%${fileindex}_}" - fi - fileindex="$((fileindex+1))" - nextprefix="${nextprefix}${fileindex}_" - for key in $allprops; do - key="$(printf '%s\n' "$key" | tr /- __)" - unset "$nextprefix$key" - done - else - if [ "$fileindex" -gt 0 ]; then - printf '\n' - fi - fileindex="$((fileindex+1))" - fi - ;; - X-MIDENTIFY:\ *) - local key="${line#X-MIDENTIFY: }" - local value="${key#* }" - key="${key%% *}" - key="$(printf '%s\n' "$key" | tr /- __)" - if [ -n "$nextprefix" ]; then - if [ -z "$prefix" ]; then - echo >&2 "Got X-MIDENTIFY: without X-MIDENTIFY-START:" - elif [ -n "$value" ]; then - eval "$prefix$key"='"$value"' - fi - else - if [ -n "$value" ]; then - printf '%s=%s\n' "$key" "$value" - fi - fi - ;; - esac - done <<EOF -$(${MPV:-mpv} --term-playing-msg="$propstr" --vo=null --ao=null \ - --frames=1 --quiet --no-cache --no-config -- "$@") -EOF -} - -__midentify__main "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/mypy b/result/etc/profiles/per-user/bdsqqq/bin/mypy deleted file mode 100755 index 8b4abec8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/mypy +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'':'/':'} -PATH='/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin/.mypy-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/mypyc b/result/etc/profiles/per-user/bdsqqq/bin/mypyc deleted file mode 100755 index ce24eee9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/mypyc +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'':'/':'} -PATH='/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin/.mypyc-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/neofetch b/result/etc/profiles/per-user/bdsqqq/bin/neofetch deleted file mode 100755 index ed5ae67d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/neofetch +++ /dev/null @@ -1,14 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/8izg0hl91yzz264w193g1775y0l17cxn-python3.13-ueberzug-18.1.9/bin'':'/':'} -PATH='/nix/store/8izg0hl91yzz264w193g1775y0l17cxn-python3.13-ueberzug-18.1.9/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/lha3vz39bqzd7ag6jki3aj64bk0w1dy2-pciutils-3.13.0/bin'':'/':'} -PATH='/nix/store/lha3vz39bqzd7ag6jki3aj64bk0w1dy2-pciutils-3.13.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/xlhia08m80l27wv4i54zyyyxjpzx8lyg-neofetch-unstable-2021-12-10/bin/.neofetch-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nilness b/result/etc/profiles/per-user/bdsqqq/bin/nilness deleted file mode 100755 index 1a4c3f03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/nilness and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nixvim-print-init b/result/etc/profiles/per-user/bdsqqq/bin/nixvim-print-init deleted file mode 100755 index 6a60713d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/nixvim-print-init +++ /dev/null @@ -1,11 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -set -o errexit -set -o nounset -set -o pipefail -init=/nix/store/15xs2ln338qcr1gwl4963hhf5v7hngcn-init.lua -export init - -export PATH="/nix/store/nqzkm1y51skwp082vr8nraw36k8qzbja-bat-0.25.0/bin:$PATH" - -bat --language=lua "$init" - diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nodecount b/result/etc/profiles/per-user/bdsqqq/bin/nodecount deleted file mode 100755 index 2f9b3c00..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/nodecount and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nvim b/result/etc/profiles/per-user/bdsqqq/bin/nvim deleted file mode 100755 index fca04f03..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/nvim +++ /dev/null @@ -1,107 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -export NVIM_SYSTEM_RPLUGIN_MANIFEST='/nix/store/i2s6v729k2yqd4dlz0i781vqznn0zmwv-neovim-0.11.2/rplugin.vim' -export GEM_HOME='/nix/store/kc3k2lbffc0g1lr5mkn1gjqb3gfvgfjx-neovim-ruby-env/lib/ruby/gems/3.3.0' -PATH=${PATH:+':'$PATH':'} -if [[ $PATH != *':''/nix/store/kc3k2lbffc0g1lr5mkn1gjqb3gfvgfjx-neovim-ruby-env/bin'':'* ]]; then - PATH=$PATH'/nix/store/kc3k2lbffc0g1lr5mkn1gjqb3gfvgfjx-neovim-ruby-env/bin' -fi -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/share/lua/5.1/?/init.lua'';'/';'} -LUA_PATH='/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/share/lua/5.1/?/init.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/share/lua/5.1/?.lua'';'/';'} -LUA_PATH='/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/share/lua/5.1/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_CPATH=${LUA_CPATH:+';'$LUA_CPATH';'} -LUA_CPATH=${LUA_CPATH/';''/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/lib/lua/5.1/?.so'';'/';'} -LUA_CPATH='/nix/store/2m7jc53njrcwkr90h8al1jf0hcxa9lc9-luajit-2.1.1741730670-env/lib/lua/5.1/?.so'$LUA_CPATH -LUA_CPATH=${LUA_CPATH#';'} -LUA_CPATH=${LUA_CPATH%';'} -export LUA_CPATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/g5bmpv8iz29i73jlvyr4xmc4agim98ap-stylua-2.1.0/bin'':'/':'} -PATH='/nix/store/g5bmpv8iz29i73jlvyr4xmc4agim98ap-stylua-2.1.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/xl0jcdbasdl683ijig3wc6n8bkijg0ji-xsel-1.2.1/bin'':'/':'} -PATH='/nix/store/xl0jcdbasdl683ijig3wc6n8bkijg0ji-xsel-1.2.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/hfj2rih8l0jxnbak63js5jvw7nlbrbcb-wl-clipboard-2.2.1/bin'':'/':'} -PATH='/nix/store/hfj2rih8l0jxnbak63js5jvw7nlbrbcb-wl-clipboard-2.2.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/bin'':'/':'} -PATH='/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/nqzkm1y51skwp082vr8nraw36k8qzbja-bat-0.25.0/bin'':'/':'} -PATH='/nix/store/nqzkm1y51skwp082vr8nraw36k8qzbja-bat-0.25.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3iycgasf4faf1idqwf5f6dlwk5snf55y-lua-language-server-3.14.0/bin'':'/':'} -PATH='/nix/store/3iycgasf4faf1idqwf5f6dlwk5snf55y-lua-language-server-3.14.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/zznawzrgmldn8kx72c92fnwi94dqx2z2-luajit2.1-plenary.nvim-scm-1/share/lua/5.1/?/init.lua'';'/';'} -LUA_PATH='/nix/store/zznawzrgmldn8kx72c92fnwi94dqx2z2-luajit2.1-plenary.nvim-scm-1/share/lua/5.1/?/init.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/zznawzrgmldn8kx72c92fnwi94dqx2z2-luajit2.1-plenary.nvim-scm-1/share/lua/5.1/?.lua'';'/';'} -LUA_PATH='/nix/store/zznawzrgmldn8kx72c92fnwi94dqx2z2-luajit2.1-plenary.nvim-scm-1/share/lua/5.1/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/gjr9m7k9hf8yjxa51x6179v8483b627x-luajit2.1-say-1.4.1-3/share/lua/5.1/?/init.lua'';'/';'} -LUA_PATH='/nix/store/gjr9m7k9hf8yjxa51x6179v8483b627x-luajit2.1-say-1.4.1-3/share/lua/5.1/?/init.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/gjr9m7k9hf8yjxa51x6179v8483b627x-luajit2.1-say-1.4.1-3/share/lua/5.1/?.lua'';'/';'} -LUA_PATH='/nix/store/gjr9m7k9hf8yjxa51x6179v8483b627x-luajit2.1-say-1.4.1-3/share/lua/5.1/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/yrm52w9iqjv2s3hlsmz5nnjqgyg73pv1-luajit2.1-luassert-1.9.0-1/share/lua/5.1/?/init.lua'';'/';'} -LUA_PATH='/nix/store/yrm52w9iqjv2s3hlsmz5nnjqgyg73pv1-luajit2.1-luassert-1.9.0-1/share/lua/5.1/?/init.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/yrm52w9iqjv2s3hlsmz5nnjqgyg73pv1-luajit2.1-luassert-1.9.0-1/share/lua/5.1/?.lua'';'/';'} -LUA_PATH='/nix/store/yrm52w9iqjv2s3hlsmz5nnjqgyg73pv1-luajit2.1-luassert-1.9.0-1/share/lua/5.1/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -LUA_PATH=${LUA_PATH:+';'$LUA_PATH';'} -LUA_PATH=${LUA_PATH/';''/nix/store/l06fpmvh0br82nf40dz0hxr7v8ngpcd8-luajit-2.1.1741730670/share/lua/5.1/?.lua'';'/';'} -LUA_PATH='/nix/store/l06fpmvh0br82nf40dz0hxr7v8ngpcd8-luajit-2.1.1741730670/share/lua/5.1/?.lua'$LUA_PATH -LUA_PATH=${LUA_PATH#';'} -LUA_PATH=${LUA_PATH%';'} -export LUA_PATH -exec "/nix/store/2a9k8062i7g5hy45rmfrnr0d7pr56vh7-neovim-unwrapped-0.11.2/bin/nvim" --cmd "lua vim.g.loaded_node_provider=0;vim.g.loaded_perl_provider=0;vim.g.loaded_python_provider=0;vim.g.python3_host_prog='/nix/store/i2s6v729k2yqd4dlz0i781vqznn0zmwv-neovim-0.11.2/bin/nvim-python3';vim.g.ruby_host_prog='/nix/store/i2s6v729k2yqd4dlz0i781vqznn0zmwv-neovim-0.11.2/bin/nvim-ruby'" --cmd "set packpath^=/nix/store/4pa4znsnwmwkl3ll51l3px3fv2ilq74p-vim-pack-dir" --cmd "set rtp^=/nix/store/4pa4znsnwmwkl3ll51l3px3fv2ilq74p-vim-pack-dir" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nvim-python3 b/result/etc/profiles/per-user/bdsqqq/bin/nvim-python3 deleted file mode 100755 index 29afc2e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/nvim-python3 +++ /dev/null @@ -1,4 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -unset PYTHONPATH -unset PYTHONSAFEPATH -exec "/nix/store/1vx87mnrakginw85b2y2knwj67qhbg6p-python3-3.13.4-env/bin/python3.13" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/nvim-ruby b/result/etc/profiles/per-user/bdsqqq/bin/nvim-ruby deleted file mode 100755 index 47293d12..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/nvim-ruby +++ /dev/null @@ -1,35 +0,0 @@ -#!/nix/store/a8snvvh4jfad51maisjlrnxmix2f30ab-ruby-3.3.8/bin/ruby -# -# This file was generated by Nix. -# -# The application 'neovim-ruby-host' is installed as part of a gem, and -# this file is here to facilitate running it. -# - -ENV["BUNDLE_GEMFILE"] = "/nix/store/69hczqqx0110z08hhc6m35jff0w0s7la-gemfile-and-lockfile/Gemfile" -ENV.delete 'BUNDLE_PATH' -ENV['BUNDLE_FROZEN'] = '1' -ENV['BUNDLE_IGNORE_CONFIG'] = '1' - -Gem.paths = { 'GEM_HOME' => "/nix/store/kc3k2lbffc0g1lr5mkn1gjqb3gfvgfjx-neovim-ruby-env/lib/ruby/gems/3.3.0" } - -$LOAD_PATH.unshift "/nix/store/3m89h3i7455l9vx4x4gs4yh7s2famd0g-bundler-2.6.9/lib/ruby/gems/3.3.0/gems/bundler-2.6.9/lib" - -require 'bundler' -# Monkey-patch out the check that Bundler performs to determine -# whether the bundler env is writable. It's not writable, even for -# root! And for this use of Bundler, it shouldn't be necessary since -# we're not trying to perform any package management operations, only -# produce a Gem path. Thus, we replace it with a method that will -# always return false, to squelch a warning from Bundler saying that -# sudo may be required. -module Bundler - class <<self - def requires_sudo? - return false - end - end -end -Bundler.setup() - -load Gem.bin_path("neovim", "neovim-ruby-host") diff --git a/result/etc/profiles/per-user/bdsqqq/bin/obsidian b/result/etc/profiles/per-user/bdsqqq/bin/obsidian deleted file mode 100755 index ab0691b1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/obsidian +++ /dev/null @@ -1,2 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -exec "/nix/store/8ccclp36gmyzipwdwpga5220w135k4sd-obsidian-1.8.10/Applications/Obsidian.app/Contents/MacOS/Obsidian" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/op b/result/etc/profiles/per-user/bdsqqq/bin/op deleted file mode 100755 index d2f9277d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/op and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pip b/result/etc/profiles/per-user/bdsqqq/bin/pip deleted file mode 100755 index 54825349..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pip +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin'':'/':'} -PATH='/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin/.pip-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pip3 b/result/etc/profiles/per-user/bdsqqq/bin/pip3 deleted file mode 100755 index 4037fc3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pip3 +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin'':'/':'} -PATH='/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/k9iizvz7ljdfsplpaqmhisamlkqp3gbr-python3.12-pip-25.0.1/bin/.pip3-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pipenv b/result/etc/profiles/per-user/bdsqqq/bin/pipenv deleted file mode 100755 index 29b75236..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pipenv +++ /dev/null @@ -1,33 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vrfq8az0855n889glz13jbda9sqlnw5w-python3.13-virtualenv-clone-0.5.7/bin'':'/':'} -PATH='/nix/store/vrfq8az0855n889glz13jbda9sqlnw5w-python3.13-virtualenv-clone-0.5.7/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'':'/':'} -PATH='/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7xr9izk9xcy797lsp3f842sabvmbglg8-python3.13-pip-25.0.1/bin'':'/':'} -PATH='/nix/store/7xr9izk9xcy797lsp3f842sabvmbglg8-python3.13-pip-25.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin'':'/':'} -PATH='/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin/.pipenv-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pipenv-resolver b/result/etc/profiles/per-user/bdsqqq/bin/pipenv-resolver deleted file mode 100755 index 2042a2da..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pipenv-resolver +++ /dev/null @@ -1,33 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/vrfq8az0855n889glz13jbda9sqlnw5w-python3.13-virtualenv-clone-0.5.7/bin'':'/':'} -PATH='/nix/store/vrfq8az0855n889glz13jbda9sqlnw5w-python3.13-virtualenv-clone-0.5.7/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'':'/':'} -PATH='/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/7xr9izk9xcy797lsp3f842sabvmbglg8-python3.13-pip-25.0.1/bin'':'/':'} -PATH='/nix/store/7xr9izk9xcy797lsp3f842sabvmbglg8-python3.13-pip-25.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin'':'/':'} -PATH='/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/gwdyqb00yagsmsm1vdalagxzz26gnd8r-pipenv-2025.0.3/bin/.pipenv-resolver-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/play b/result/etc/profiles/per-user/bdsqqq/bin/play deleted file mode 100755 index 89bb3e6b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/play and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pnpm b/result/etc/profiles/per-user/bdsqqq/bin/pnpm deleted file mode 100755 index 4f17e106..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pnpm +++ /dev/null @@ -1,28 +0,0 @@ -#!/nix/store/abxz7wpw5kwaijzzmf8rl4ga981vk8pc-nodejs-22.16.0/bin/node -const [major, minor] = process.version.slice(1).split('.') -const COMPATIBILITY_PAGE = `Visit https://r.pnpm.io/comp to see the list of past pnpm versions with respective Node.js version support.` - -// We don't use the semver library here because: -// 1. it is already bundled to dist/pnpm.cjs, so we would load it twice -// 2. we want this file to support potentially older Node.js versions than what semver supports -if (major < 18 || major == 18 && minor < 12) { - console.error(`ERROR: This version of pnpm requires at least Node.js v18.12 -The current version of Node.js is ${process.version} -${COMPATIBILITY_PAGE}`) - process.exit(1) -} - -// We need to load v8-compile-cache.js separately in order to have effect -try { - // Use node.js 22 new API for better performance. - if(!require('module')?.enableCompileCache?.()) - require('v8-compile-cache'); -} catch { - // We don't have/need to care about v8-compile-cache failed -} - -global['pnpm__startedAt'] = Date.now() -require('../dist/pnpm.cjs') - -// if you want to debug at your local env, you can use this -// require('../lib/pnpm') diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pnpx b/result/etc/profiles/per-user/bdsqqq/bin/pnpx deleted file mode 100755 index c5ba9672..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pnpx +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/abxz7wpw5kwaijzzmf8rl4ga981vk8pc-nodejs-22.16.0/bin/node - -process.argv = [...process.argv.slice(0, 2), 'dlx', ...process.argv.slice(2)] - -require('./pnpm.cjs') diff --git a/result/etc/profiles/per-user/bdsqqq/bin/poetry b/result/etc/profiles/per-user/bdsqqq/bin/poetry deleted file mode 100755 index c5594232..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/poetry +++ /dev/null @@ -1,88 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/sjmjjgk6zzdn3m1vz1rfxvwx5876cj1f-python3.13-httpx-0.28.1/bin'':'/':'} -PATH='/nix/store/sjmjjgk6zzdn3m1vz1rfxvwx5876cj1f-python3.13-httpx-0.28.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/31dcrjdkz6m3spxgs30rb44mi98w1a3l-python3.13-xattr-1.1.4/bin'':'/':'} -PATH='/nix/store/31dcrjdkz6m3spxgs30rb44mi98w1a3l-python3.13-xattr-1.1.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'':'/':'} -PATH='/nix/store/ps1rgrqx36kx5xy65708w7zrffbgvd2h-python3.13-virtualenv-20.31.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/kb2yfg3lj79wpjzrrmx8d9ixg51ncnl4-python3.13-trove-classifiers-2025.5.9.12/bin'':'/':'} -PATH='/nix/store/kb2yfg3lj79wpjzrrmx8d9ixg51ncnl4-python3.13-trove-classifiers-2025.5.9.12/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/791h7dg46jcmsmjmxgb4c2i489l9prhr-python3.13-pkginfo-1.12.1.2/bin'':'/':'} -PATH='/nix/store/791h7dg46jcmsmjmxgb4c2i489l9prhr-python3.13-pkginfo-1.12.1.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/z6n1z8dik1b9f7gq9ng81w3jy7a5f5bb-python3.13-pbs-installer-2025.06.10/bin'':'/':'} -PATH='/nix/store/z6n1z8dik1b9f7gq9ng81w3jy7a5f5bb-python3.13-pbs-installer-2025.06.10/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/fyjnyxnrv5372885788f0hs7750qdan1-python3.13-keyring-25.6.0/bin'':'/':'} -PATH='/nix/store/fyjnyxnrv5372885788f0hs7750qdan1-python3.13-keyring-25.6.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/y6df5hg37sa5gljcjd9dfj5npg2wscpv-python3.13-findpython-0.6.3/bin'':'/':'} -PATH='/nix/store/y6df5hg37sa5gljcjd9dfj5npg2wscpv-python3.13-findpython-0.6.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/hdlfq9z3656dvgmxm8bflql65a039s4b-python3.13-dulwich-0.22.8/bin'':'/':'} -PATH='/nix/store/hdlfq9z3656dvgmxm8bflql65a039s4b-python3.13-dulwich-0.22.8/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/p7ai5slsp6z5v3v22v6fwhzyawq1bpxv-python3.13-cachecontrol-0.14.3/bin'':'/':'} -PATH='/nix/store/p7ai5slsp6z5v3v22v6fwhzyawq1bpxv-python3.13-cachecontrol-0.14.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/3ky4zx9vbh81q45lcgj32szw96hay0zq-python3.13-build-1.2.2.post1/bin'':'/':'} -PATH='/nix/store/3ky4zx9vbh81q45lcgj32szw96hay0zq-python3.13-build-1.2.2.post1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/y2i14gmg4yfcnzx7q7q7sgq83bp8f2fk-python3.13-poetry-2.1.3/bin'':'/':'} -PATH='/nix/store/y2i14gmg4yfcnzx7q7q7sgq83bp8f2fk-python3.13-poetry-2.1.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -unset PYTHONPATH -exec -a "$0" "/nix/store/y2i14gmg4yfcnzx7q7q7sgq83bp8f2fk-python3.13-poetry-2.1.3/bin/.poetry-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/present b/result/etc/profiles/per-user/bdsqqq/bin/present deleted file mode 100755 index c275a495..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/present and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/present2md b/result/etc/profiles/per-user/bdsqqq/bin/present2md deleted file mode 100755 index a607b660..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/present2md and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/publish b/result/etc/profiles/per-user/bdsqqq/bin/publish deleted file mode 100755 index 8e42d77f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/publish and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/py.test b/result/etc/profiles/per-user/bdsqqq/bin/py.test deleted file mode 100755 index ad2446f1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/py.test +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin'':'/':'} -PATH='/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin/.py.test-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pydoc b/result/etc/profiles/per-user/bdsqqq/bin/pydoc deleted file mode 100755 index c6aacf68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pydoc +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -import pydoc -if __name__ == '__main__': - pydoc.cli() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pydoc3 b/result/etc/profiles/per-user/bdsqqq/bin/pydoc3 deleted file mode 100755 index c6aacf68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pydoc3 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -import pydoc -if __name__ == '__main__': - pydoc.cli() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pydoc3.12 b/result/etc/profiles/per-user/bdsqqq/bin/pydoc3.12 deleted file mode 100755 index c6aacf68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pydoc3.12 +++ /dev/null @@ -1,5 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 - -import pydoc -if __name__ == '__main__': - pydoc.cli() diff --git a/result/etc/profiles/per-user/bdsqqq/bin/pytest b/result/etc/profiles/per-user/bdsqqq/bin/pytest deleted file mode 100755 index 620e673e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/pytest +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin'':'/':'} -PATH='/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/fzj5bnmwkd6a1gdfkqgrfj8znvmbksh2-python3.12-pytest-8.3.5/bin/.pytest-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python b/result/etc/profiles/per-user/bdsqqq/bin/python deleted file mode 100755 index 53704aa9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/python and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python-config b/result/etc/profiles/per-user/bdsqqq/bin/python-config deleted file mode 100755 index ae91ae11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/python-config +++ /dev/null @@ -1,74 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 -# -*- python -*- - -# Keep this script in sync with python-config.sh.in - -import getopt -import os -import sys -import sysconfig - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', - 'embed'] - -def exit_with_usage(code=1): - print("Usage: {0} [{1}]".format( - sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - exit_with_usage() - -getvar = sysconfig.get_config_var -pyver = getvar('VERSION') - -opt_flags = [flag for (flag, val) in opts] - -if '--help' in opt_flags: - exit_with_usage(code=0) - -for opt in opt_flags: - if opt == '--prefix': - print(getvar('prefix')) - - elif opt == '--exec-prefix': - print(getvar('exec_prefix')) - - elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_path('include'), - '-I' + sysconfig.get_path('platinclude')] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) - - elif opt in ('--libs', '--ldflags'): - libs = [] - if '--embed' in opt_flags: - libs.append('-lpython' + pyver + sys.abiflags) - else: - libpython = getvar('LIBPYTHON') - if libpython: - libs.append(libpython) - libs.extend(getvar('LIBS').split() + getvar('SYSLIBS').split()) - - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags': - if not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print(' '.join(libs)) - - elif opt == '--extension-suffix': - print(getvar('EXT_SUFFIX')) - - elif opt == '--abiflags': - print(sys.abiflags) - - elif opt == '--configdir': - print(getvar('LIBPL')) diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python3 b/result/etc/profiles/per-user/bdsqqq/bin/python3 deleted file mode 100755 index 53704aa9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/python3 and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python3-config b/result/etc/profiles/per-user/bdsqqq/bin/python3-config deleted file mode 100755 index ae91ae11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/python3-config +++ /dev/null @@ -1,74 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 -# -*- python -*- - -# Keep this script in sync with python-config.sh.in - -import getopt -import os -import sys -import sysconfig - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', - 'embed'] - -def exit_with_usage(code=1): - print("Usage: {0} [{1}]".format( - sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - exit_with_usage() - -getvar = sysconfig.get_config_var -pyver = getvar('VERSION') - -opt_flags = [flag for (flag, val) in opts] - -if '--help' in opt_flags: - exit_with_usage(code=0) - -for opt in opt_flags: - if opt == '--prefix': - print(getvar('prefix')) - - elif opt == '--exec-prefix': - print(getvar('exec_prefix')) - - elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_path('include'), - '-I' + sysconfig.get_path('platinclude')] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) - - elif opt in ('--libs', '--ldflags'): - libs = [] - if '--embed' in opt_flags: - libs.append('-lpython' + pyver + sys.abiflags) - else: - libpython = getvar('LIBPYTHON') - if libpython: - libs.append(libpython) - libs.extend(getvar('LIBS').split() + getvar('SYSLIBS').split()) - - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags': - if not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print(' '.join(libs)) - - elif opt == '--extension-suffix': - print(getvar('EXT_SUFFIX')) - - elif opt == '--abiflags': - print(sys.abiflags) - - elif opt == '--configdir': - print(getvar('LIBPL')) diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python3.12 b/result/etc/profiles/per-user/bdsqqq/bin/python3.12 deleted file mode 100755 index 53704aa9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/python3.12 and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/python3.12-config b/result/etc/profiles/per-user/bdsqqq/bin/python3.12-config deleted file mode 100755 index ae91ae11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/python3.12-config +++ /dev/null @@ -1,74 +0,0 @@ -#!/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin/python3.12 -# -*- python -*- - -# Keep this script in sync with python-config.sh.in - -import getopt -import os -import sys -import sysconfig - -valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', - 'embed'] - -def exit_with_usage(code=1): - print("Usage: {0} [{1}]".format( - sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr) - sys.exit(code) - -try: - opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) -except getopt.error: - exit_with_usage() - -if not opts: - exit_with_usage() - -getvar = sysconfig.get_config_var -pyver = getvar('VERSION') - -opt_flags = [flag for (flag, val) in opts] - -if '--help' in opt_flags: - exit_with_usage(code=0) - -for opt in opt_flags: - if opt == '--prefix': - print(getvar('prefix')) - - elif opt == '--exec-prefix': - print(getvar('exec_prefix')) - - elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_path('include'), - '-I' + sysconfig.get_path('platinclude')] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) - - elif opt in ('--libs', '--ldflags'): - libs = [] - if '--embed' in opt_flags: - libs.append('-lpython' + pyver + sys.abiflags) - else: - libpython = getvar('LIBPYTHON') - if libpython: - libs.append(libpython) - libs.extend(getvar('LIBS').split() + getvar('SYSLIBS').split()) - - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags': - if not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print(' '.join(libs)) - - elif opt == '--extension-suffix': - print(getvar('EXT_SUFFIX')) - - elif opt == '--abiflags': - print(sys.abiflags) - - elif opt == '--configdir': - print(getvar('LIBPL')) diff --git a/result/etc/profiles/per-user/bdsqqq/bin/reflectvaluecompare b/result/etc/profiles/per-user/bdsqqq/bin/reflectvaluecompare deleted file mode 100755 index 7e39e9bf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/reflectvaluecompare and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/rg b/result/etc/profiles/per-user/bdsqqq/bin/rg deleted file mode 100755 index c4885e83..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/rg and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ruff b/result/etc/profiles/per-user/bdsqqq/bin/ruff deleted file mode 100755 index aea68b15..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ruff and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/scalar b/result/etc/profiles/per-user/bdsqqq/bin/scalar deleted file mode 100755 index 156bcf37..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/scalar and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/selfhost b/result/etc/profiles/per-user/bdsqqq/bin/selfhost deleted file mode 100755 index d4d09770..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/selfhost and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/server b/result/etc/profiles/per-user/bdsqqq/bin/server deleted file mode 100755 index 8bbc1bab..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/server and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/shadow b/result/etc/profiles/per-user/bdsqqq/bin/shadow deleted file mode 100755 index 3a3d519c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/shadow and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/sops b/result/etc/profiles/per-user/bdsqqq/bin/sops deleted file mode 100755 index e58f6a2e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/sops and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/splitdwarf b/result/etc/profiles/per-user/bdsqqq/bin/splitdwarf deleted file mode 100755 index f3a04c51..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/splitdwarf and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/spotify_player b/result/etc/profiles/per-user/bdsqqq/bin/spotify_player deleted file mode 100755 index 70af0108..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/spotify_player and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ssadump b/result/etc/profiles/per-user/bdsqqq/bin/ssadump deleted file mode 100755 index 83422ad1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ssadump and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/ssh-to-age b/result/etc/profiles/per-user/bdsqqq/bin/ssh-to-age deleted file mode 100755 index aaa6c934..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/ssh-to-age and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stow b/result/etc/profiles/per-user/bdsqqq/bin/stow deleted file mode 100755 index 6c13138b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/stow +++ /dev/null @@ -1,853 +0,0 @@ -#!/nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl - -# GNU Stow - manage farms of symbolic links -# Copyright (C) 1993, 1994, 1995, 1996 by Bob Glickstein -# Copyright (C) 2000, 2001 Guillaume Morin -# Copyright (C) 2007 Kahlil Hodgson -# Copyright (C) 2011 Adam Spiers -# -# This file is part of GNU Stow. -# -# GNU Stow is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GNU Stow is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see https://www.gnu.org/licenses/. - -=head1 NAME - -stow - manage farms of symbolic links - -=head1 SYNOPSIS - -stow [ options ] package ... - -=head1 DESCRIPTION - -This manual page describes GNU Stow 2.4.1. This is not the -definitive documentation for Stow; for that, see the accompanying info -manual, e.g. by typing C<info stow>. - -Stow is a symlink farm manager which takes distinct sets of software -and/or data located in separate directories on the filesystem, and -makes them all appear to be installed in a single directory tree. - -Originally Stow was born to address the need to administer, upgrade, -install, and remove files in independent software packages without -confusing them with other files sharing the same file system space. -For instance, many years ago it used to be common to compile programs -such as Perl and Emacs from source. By using Stow, F</usr/local/bin> -could contain symlinks to files within F</usr/local/stow/emacs/bin>, -F</usr/local/stow/perl/bin> etc., and likewise recursively for any -other subdirectories such as F<.../share>, F<.../man>, and so on. - -While this is useful for keeping track of system-wide and per-user -installations of software built from source, in more recent times -software packages are often managed by more sophisticated package -management software such as rpm, dpkg, and Nix / GNU Guix, or -language-native package managers such as Ruby's gem, Python's pip, -Javascript's npm, and so on. - -However Stow is still used not only for software package management, -but also for other purposes, such as facilitating a more controlled -approach to management of configuration files in the user's home -directory, especially when coupled with version control systems. - -Stow was inspired by Carnegie Mellon's Depot program, but is -substantially simpler and safer. Whereas Depot required database files -to keep things in sync, Stow stores no extra state between runs, so -there's no danger (as there was in Depot) of mangling directories when -file hierarchies don't match the database. Also unlike Depot, Stow -will never delete any files, directories, or links that appear in a -Stow directory (e.g., F</usr/local/stow/emacs>), so it's always -possible to rebuild the target tree (e.g., F</usr/local>). - -Stow is implemented as a combination of a Perl script providing a CLI -interface, and a backend Perl module which does most of the work. - -=head1 TERMINOLOGY - -A "package" is a related collection of files and directories that -you wish to administer as a unit -- e.g., Perl or Emacs -- and that -needs to be installed in a particular directory structure -- e.g., -with F<bin>, F<lib>, and F<man> subdirectories. - -A "target directory" is the root of a tree in which one or more -packages wish to B<appear> to be installed. A common, but by no means -the only such location is F</usr/local>. The examples in this manual -page will use F</usr/local> as the target directory. - -A "stow directory" is the root of a tree containing separate -packages in private subtrees. When Stow runs, it uses the current -directory as the default stow directory. The examples in this manual -page will use F</usr/local/stow> as the stow directory, so that -individual packages will be, for example, F</usr/local/stow/perl> and -F</usr/local/stow/emacs>. - -An "installation image" is the layout of files and directories -required by a package, relative to the target directory. Thus, the -installation image for Perl includes: a F<bin> directory containing -F<perl> and F<a2p> (among others); an F<info> directory containing -Texinfo documentation; a F<lib/perl> directory containing Perl -libraries; and a F<man/man1> directory containing man pages. - -A "package directory" is the root of a tree containing the -installation image for a particular package. Each package directory -must reside in a stow directory -- e.g., the package directory -F</usr/local/stow/perl> must reside in the stow directory -F</usr/local/stow>. The "name" of a package is the name of its -directory within the stow directory -- e.g., F<perl>. - -Thus, the Perl executable might reside in -F</usr/local/stow/perl/bin/perl>, where F</usr/local> is the target -directory, F</usr/local/stow> is the stow directory, -F</usr/local/stow/perl> is the package directory, and F<bin/perl> -within is part of the installation image. - -A "symlink" is a symbolic link. A symlink can be "relative" or -"absolute". An absolute symlink names a full path; that is, one -starting from F</>. A relative symlink names a relative path; that -is, one not starting from F</>. The target of a relative symlink is -computed starting from the symlink's own directory. Stow only creates -relative symlinks. - -=head1 OPTIONS - -The stow directory is assumed to be the value of the C<STOW_DIR> -environment variable or if unset the current directory, and the target -directory is assumed to be the parent of the current directory (so it -is typical to execute F<stow> from the directory F</usr/local/stow>). -Each F<package> given on the command line is the name of a package in -the stow directory (e.g., F<perl>). By default, they are installed -into the target directory (but they can be deleted instead using -C<-D>). - -=over 4 - -=item -n - -=item --no - -=item --simulate - -Do not perform any operations that modify the filesystem; merely show -what would happen. - -=item -d DIR - -=item --dir=DIR - -Set the stow directory to C<DIR> instead of the current directory. -This also has the effect of making the default target directory be the -parent of C<DIR>. - -=item -t DIR - -=item --target=DIR - -Set the target directory to C<DIR> instead of the parent of the stow -directory. - -=item -v - -=item --verbose[=N] - -Send verbose output to standard error describing what Stow is -doing. Verbosity levels are from 0 to 5; 0 is the default. -Using C<-v> or C<--verbose> increases the verbosity by one; using -`--verbose=N' sets it to N. - -=item -S - -=item --stow - -Stow the packages that follow this option into the target directory. -This is the default action and so can be omitted if you are only -stowing packages rather than performing a mixture of -stow/delete/restow actions. - -=item -D - -=item --delete - -Unstow the packages that follow this option from the target directory rather -than installing them. - -=item -R - -=item --restow - -Restow packages (first unstow, then stow again). This is useful -for pruning obsolete symlinks from the target tree after updating -the software in a package. - -=item --adopt - -B<Warning!> This behaviour is specifically intended to alter the -contents of your stow directory. If you do not want that, this option -is not for you. - -When stowing, if a target is encountered which already exists but is a -plain file (and hence not owned by any existing stow package), then -normally Stow will register this as a conflict and refuse to proceed. -This option changes that behaviour so that the file is moved to the -same relative place within the package's installation image within the -stow directory, and then stowing proceeds as before. So effectively, -the file becomes adopted by the stow package, without its contents -changing. - -=item --no-folding - -Disable folding of newly stowed directories when stowing, and -refolding of newly foldable directories when unstowing. - -=item --ignore=REGEX - -Ignore files ending in this Perl regex. - -=item --defer=REGEX - -Don't stow files beginning with this Perl regex if the file is already -stowed to another package. - -=item --override=REGEX - -Force stowing files beginning with this Perl regex if the file is -already stowed to another package. - -=item --dotfiles - -Enable special handling for "dotfiles" (files or folders whose name -begins with a period) in the package directory. If this option is -enabled, Stow will add a preprocessing step for each file or folder -whose name begins with "dot-", and replace the "dot-" prefix in the -name by a period (.). This is useful when Stow is used to manage -collections of dotfiles, to avoid having a package directory full of -hidden files. - -For example, suppose we have a package containing two files, -F<stow/dot-bashrc> and F<stow/dot-emacs.d/init.el>. With this option, -Stow will create symlinks from F<.bashrc> to F<stow/dot-bashrc> and -from F<.emacs.d/init.el> to F<stow/dot-emacs.d/init.el>. Any other -files, whose name does not begin with "dot-", will be processed as usual. - -=item -V - -=item --version - -Show Stow version number, and exit. - -=item -h - -=item --help - -Show Stow command syntax, and exit. - -=back - -=head1 INSTALLING PACKAGES - -The default action of Stow is to install a package. This means -creating symlinks in the target tree that point into the package tree. -Stow attempts to do this with as few symlinks as possible; in other -words, if Stow can create a single symlink that points to an entire -subtree within the package tree, it will choose to do that rather than -create a directory in the target tree and populate it with symlinks. - -For example, suppose that no packages have yet been installed in -F</usr/local>; it's completely empty (except for the F<stow> -subdirectory, of course). Now suppose the Perl package is installed. -Recall that it includes the following directories in its installation -image: F<bin>; F<info>; F<lib/perl>; F<man/man1>. Rather than -creating the directory F</usr/local/bin> and populating it with -symlinks to F<../stow/perl/bin/perl> and F<../stow/perl/bin/a2p> (and -so on), Stow will create a single symlink, F</usr/local/bin>, which -points to F<stow/perl/bin>. In this way, it still works to refer to -F</usr/local/bin/perl> and F</usr/local/bin/a2p>, and fewer symlinks -have been created. This is called "tree folding", since an entire -subtree is "folded" into a single symlink. - -To complete this example, Stow will also create the symlink -F</usr/local/info> pointing to F<stow/perl/info>; the symlink -F</usr/local/lib> pointing to F<stow/perl/lib>; and the symlink -F</usr/local/man> pointing to F<stow/perl/man>. - -Now suppose that instead of installing the Perl package into an empty -target tree, the target tree is not empty to begin with. Instead, it -contains several files and directories installed under a different -system-administration philosophy. In particular, F</usr/local/bin> -already exists and is a directory, as are F</usr/local/lib> and -F</usr/local/man/man1>. In this case, Stow will descend into -F</usr/local/bin> and create symlinks to F<../stow/perl/bin/perl> and -F<../stow/perl/bin/a2p> (etc.), and it will descend into -F</usr/local/lib> and create the tree-folding symlink F<perl> pointing -to F<../stow/perl/lib/perl>, and so on. As a rule, Stow only descends -as far as necessary into the target tree when it can create a -tree-folding symlink. - -The time often comes when a tree-folding symlink has to be undone -because another package uses one or more of the folded subdirectories -in its installation image. This operation is called "splitting open" -a folded tree. It involves removing the original symlink from the -target tree, creating a true directory in its place, and then -populating the new directory with symlinks to the newly-installed -package B<and> to the old package that used the old symlink. For -example, suppose that after installing Perl into an empty -F</usr/local>, we wish to install Emacs. Emacs's installation image -includes a F<bin> directory containing the F<emacs> and F<etags> -executables, among others. Stow must make these files appear to be -installed in F</usr/local/bin>, but presently F</usr/local/bin> is a -symlink to F<stow/perl/bin>. Stow therefore takes the following -steps: the symlink F</usr/local/bin> is deleted; the directory -F</usr/local/bin> is created; links are made from F</usr/local/bin> to -F<../stow/emacs/bin/emacs> and F<../stow/emacs/bin/etags>; and links -are made from F</usr/local/bin> to F<../stow/perl/bin/perl> and -F<../stow/perl/bin/a2p>. - -When splitting open a folded tree, Stow makes sure that the symlink -it is about to remove points inside a valid package in the current stow -directory. - -=head2 Stow will never delete anything that it doesn't own. - -Stow "owns" everything living in the target tree that points into a -package in the stow directory. Anything Stow owns, it can recompute if -lost. Note that by this definition, Stow doesn't "own" anything -B<in> the stow directory or in any of the packages. - -If Stow needs to create a directory or a symlink in the target tree -and it cannot because that name is already in use and is not owned by -Stow, then a conflict has arisen. See the "Conflicts" section in the -info manual. - -=head1 DELETING PACKAGES - -When the C<-D> option is given, the action of Stow is to delete a -package from the target tree. Note that Stow will not delete anything -it doesn't "own". Deleting a package does B<not> mean removing it from -the stow directory or discarding the package tree. - -To delete a package, Stow recursively scans the target tree, skipping -over the stow directory (since that is usually a subdirectory of the -target tree) and any other stow directories it encounters (see -"Multiple stow directories" in the info manual). Any symlink it -finds that points into the package being deleted is removed. Any -directory that contained only symlinks to the package being deleted is -removed. Any directory that, after removing symlinks and empty -subdirectories, contains only symlinks to a single other package, is -considered to be a previously "folded" tree that was "split open." -Stow will re-fold the tree by removing the symlinks to the surviving -package, removing the directory, then linking the directory back to -the surviving package. - -=head1 RESOURCE FILES - -F<Stow> searches for default command line options at F<.stowrc> (current -directory) and F<~/.stowrc> (home directory) in that order. If both -locations are present, the files are effectively appended together. - -The effect of options in the resource file is similar to simply prepending -the options to the command line. For options that provide a single value, -such as F<--target> or F<--dir>, the command line option will overwrite any -options in the resource file. For options that can be given more than once, -F<--ignore> for example, command line options and resource options are -appended together. - -Environment variables and the tilde character (F<~>) will be expanded for -options that take a file path. - -The options F<-D>, F<-R>, F<-S>, and any packages listed in the resource -file are ignored. - -See the info manual for more information on how stow handles resource -file. - -=head1 SEE ALSO - -The full documentation for F<stow> is maintained as a Texinfo manual. -If the F<info> and F<stow> programs are properly installed at your site, the command - - info stow - -should give you access to the complete manual. - -=head1 BUGS - -Please report bugs in Stow using the Debian bug tracking system. - -Currently known bugs include: - -=over 4 - -=item * The empty-directory problem. - -If package F<foo> includes an empty directory -- say, F<foo/bar> -- -then if no other package has a F<bar> subdirectory, everything's fine. -If another stowed package F<quux>, has a F<bar> subdirectory, then -when stowing, F<targetdir/bar> will be "split open" and the contents -of F<quux/bar> will be individually stowed. So far, so good. But when -unstowing F<quux>, F<targetdir/bar> will be removed, even though -F<foo/bar> needs it to remain. A workaround for this problem is to -create a file in F<foo/bar> as a placeholder. If you name that file -F<.placeholder>, it will be easy to find and remove such files when -this bug is fixed. - -=item * - -When using multiple stow directories (see "Multiple stow directories" -in the info manual), Stow fails to "split open" tree-folding symlinks -(see "Installing packages" in the info manual) that point into a stow -directory which is not the one in use by the current Stow -command. Before failing, it should search the target of the link to -see whether any element of the path contains a F<.stow> file. If it -finds one, it can "learn" about the cooperating stow directory to -short-circuit the F<.stow> search the next time it encounters a -tree-folding symlink. - -=back - -=head1 AUTHOR - -This man page was originally constructed by Charles Briscoe-Smith from -parts of Stow's info manual, and then converted to POD format by Adam -Spiers. The info manual contains the following notice, which, as it -says, applies to this manual page, too. The text of the section -entitled "GNU General Public License" can be found in the file -F</usr/share/common-licenses/GPL> on any Debian GNU/Linux system. If -you don't have access to a Debian system, or the GPL is not there, -write to the Free Software Foundation, Inc., 59 Temple Place, Suite -330, Boston, MA, 02111-1307, USA. - -=head1 COPYRIGHT - -Copyright (C) -1993, 1994, 1995, 1996 by Bob Glickstein <bobg+stow@zanshin.com>; -2000, 2001 by Guillaume Morin; -2007 by Kahlil Hodgson; -2011 by Adam Spiers; -and others. - -Permission is granted to make and distribute verbatim copies of this -manual provided the copyright notice and this permission notice are -preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided also that -the section entitled "GNU General Public License" is included with the -modified manual, and provided that the entire resulting derived work -is distributed under the terms of a permission notice identical to -this one. - -Permission is granted to copy and distribute translations of this -manual into another language, under the above conditions for modified -versions, except that this permission notice may be stated in a -translation approved by the Free Software Foundation. - -=cut - -use strict; -use warnings; - -require 5.006_001; - -use POSIX qw(getcwd); -use Getopt::Long qw(GetOptionsFromArray); -use Scalar::Util qw(reftype); -use Text::ParseWords qw(shellwords); - -use lib "/nix/store/j6f277m6wxbca6ll0sw9m4jwrq1nrbj1-stow-2.4.1/lib/perl5/site_perl/5.40.0"; -use Stow; -use Stow::Util qw(parent error); - -my $ProgramName = $0; -$ProgramName =~ s{.*/}{}; - -main() unless caller(); - -sub main { - my ($options, $pkgs_to_unstow, $pkgs_to_stow) = process_options(); - - my $stow = new Stow(%$options); - - $stow->plan_unstow(@$pkgs_to_unstow); - $stow->plan_stow (@$pkgs_to_stow); - - my %conflicts = $stow->get_conflicts; - - if (%conflicts) { - foreach my $action ('unstow', 'stow') { - next unless $conflicts{$action}; - foreach my $package (sort keys %{ $conflicts{$action} }) { - warn "WARNING! ${action}ing $package would cause conflicts:\n"; - #if $stow->get_action_count > 1; - foreach my $message (sort @{ $conflicts{$action}{$package} }) { - warn " * $message\n"; - } - } - } - warn "All operations aborted.\n"; - exit 1; - } - else { - if ($options->{simulate}) { - warn "WARNING: in simulation mode so not modifying filesystem.\n"; - return; - } - - $stow->process_tasks(); - } -} - - -#===== SUBROUTINE =========================================================== -# Name : process_options() -# Purpose : Parse and process command line and .stowrc file options -# Parameters: none -# Returns : (\%options, \@pkgs_to_unstow, \@pkgs_to_stow) -# Throws : a fatal error if a bad option is given -# Comments : checks @ARGV for valid package names -#============================================================================ -sub process_options { - # Get cli options. - my ($cli_options, - $pkgs_to_unstow, - $pkgs_to_stow) = parse_options(@ARGV); - - # Get the .stowrc options. - # Note that rc_pkgs_to_unstow and rc_pkgs_to_stow are ignored. - my ($rc_options, - $rc_pkgs_to_unstow, - $rc_pkgs_to_stow) = get_config_file_options(); - - # Merge .stowrc and command line options. - # Preference is given to cli options. - my %options = %$rc_options; - foreach my $option (keys %$cli_options) { - my $rc_value = $rc_options->{$option}; - my $cli_value = $cli_options->{$option}; - my $type = reftype($cli_value); - - if (defined $type && $type eq 'ARRAY' && defined $rc_value) { - # rc options come first in merged arrays. - $options{$option} = [@{$rc_value}, @{$cli_value}]; - } else { - # cli options overwrite conflicting rc options. - $options{$option} = $cli_value; - } - } - - # Run checks on the merged options. - sanitize_path_options(\%options); - check_packages($pkgs_to_unstow, $pkgs_to_stow); - - # Return merged and processed options. - return (\%options, $pkgs_to_unstow, $pkgs_to_stow); -} - -#===== SUBROUTINE =========================================================== -# Name : parse_options() -# Purpose : parse command line options -# Parameters: @arg_array => array of options to parse -# Example: parse_options(@ARGV) -# Returns : (\%options, \@pkgs_to_unstow, \@pkgs_to_stow) -# Throws : a fatal error if a bad command line option is given -# Comments : Used for parsing both command line options and rc file. Used -# for parsing only. Sanity checks and post-processing belong in -# process_options(). -#============================================================================ -sub parse_options { - my %options = (); - my @pkgs_to_unstow = (); - my @pkgs_to_stow = (); - my $action = 'stow'; - - #$,="\n"; print @_,"\n"; # for debugging rc file - - Getopt::Long::config('no_ignore_case', 'bundling', 'permute'); - GetOptionsFromArray( - \@_, - \%options, - 'verbose|v:+', 'help|h', 'simulate|n|no', - 'version|V', 'compat|p', 'dir|d=s', 'target|t=s', - 'adopt', 'no-folding', 'dotfiles', - - # clean and pre-compile any regex's at parse time - 'ignore=s' => - sub { - my $regex = $_[1]; - push @{$options{ignore}}, qr{($regex)\z}; - }, - - 'override=s' => - sub { - my $regex = $_[1]; - push @{$options{override}}, qr{\A($regex)}; - }, - - 'defer=s' => - sub { - my $regex = $_[1]; - push @{$options{defer}}, qr{\A($regex)}; - }, - - # a little craziness so we can do different actions on the same line: - # a -D, -S, or -R changes the action that will be performed on the - # package arguments that follow it. - 'D|delete' => sub { $action = 'unstow' }, - 'S|stow' => sub { $action = 'stow' }, - 'R|restow' => sub { $action = 'restow' }, - - # Handler for non-option arguments - '<>' => - sub { - if ($action eq 'restow') { - push @pkgs_to_unstow, $_[0]; - push @pkgs_to_stow, $_[0]; - } - elsif ($action eq 'unstow') { - push @pkgs_to_unstow, $_[0]; - } - else { - push @pkgs_to_stow, $_[0]; - } - }, - ) or usage(''); - - usage() if $options{help}; - version() if $options{version}; - - return (\%options, \@pkgs_to_unstow, \@pkgs_to_stow); -} - -sub sanitize_path_options { - my ($options) = @_; - - unless (exists $options->{dir}) { - $options->{dir} = length $ENV{STOW_DIR} ? $ENV{STOW_DIR} : getcwd(); - } - - usage("--dir value '$options->{dir}' is not a valid directory") - unless -d $options->{dir}; - - if (exists $options->{target}) { - usage("--target value '$options->{target}' is not a valid directory") - unless -d $options->{target}; - } - else { - $options->{target} = parent($options->{dir}) || '.'; - } -} - -sub check_packages { - my ($pkgs_to_stow, $pkgs_to_unstow) = @_; - - if (not @$pkgs_to_stow and not @$pkgs_to_unstow) { - usage("No packages to stow or unstow"); - } - - # check package arguments - for my $package (@$pkgs_to_stow, @$pkgs_to_unstow) { - $package =~ s{/+$}{}; # delete trailing slashes - if ($package =~ m{/}) { - error("Slashes are not permitted in package names"); - } - } -} - -#===== SUBROUTINE ============================================================ -# Name : get_config_file_options() -# Purpose : search for default settings in any .stowrc files -# Parameters: none -# Returns : (\%rc_options, \@rc_pkgs_to_unstow, \@rc_pkgs_to_stow) -# Throws : a fatal error if a bad option is given -# Comments : Parses the contents of '~/.stowrc' and '.stowrc' with the same -# parser as the command line options. Additionally expands any -# environment variables or ~ character in --target or --dir -# options. -#============================================================================= -sub get_config_file_options { - my @defaults = (); - my @dirlist = ('.stowrc'); - if (defined($ENV{HOME})) { - unshift(@dirlist, "$ENV{HOME}/.stowrc"); - } - for my $file (@dirlist) { - if (-r $file) { - open my $FILE, '<', $file - or die "Could not open $file for reading\n"; - while (my $line = <$FILE>){ - chomp $line; - push @defaults, shellwords($line); - } - close $FILE or die "Could not close open file: $file\n"; - } - } - - # Parse the options - my ($rc_options, $rc_pkgs_to_unstow, $rc_pkgs_to_stow) = parse_options(@defaults); - - # Expand environment variables and glob characters. - if (exists $rc_options->{target}) { - $rc_options->{target} = - expand_filepath($rc_options->{target}, '--target option'); - } - if (exists $rc_options->{dir}) { - $rc_options->{dir} = - expand_filepath($rc_options->{dir}, '--dir option'); - } - - return ($rc_options, $rc_pkgs_to_unstow, $rc_pkgs_to_stow); -} - -#===== SUBROUTINE ============================================================ -# Name : expand_filepath() -# Purpose : Handles expansions that need to be applied to -# : file paths. Currently expands environment -# : variables and the tilde. -# Parameters: $path => string to perform expansion on. -# : $source => where the string came from -# Returns : String with replacements performed. -# Throws : n/a -# Comments : n/a -#============================================================================= -sub expand_filepath { - my ($path, $source) = @_; - - $path = expand_environment($path, $source); - $path = expand_tilde($path); - - return $path; -} - -#===== SUBROUTINE ============================================================ -# Name : expand_environment() -# Purpose : Expands evironment variables. -# Parameters: $path => string to perform expansion on. -# : $source => where the string came from -# Returns : String with replacements performed. -# Throws : n/a -# Comments : Variable replacement mostly based on SO answer -# : http://stackoverflow.com/a/24675093/558820 -#============================================================================= -sub expand_environment { - my ($path, $source) = @_; - # Replace non-escaped $VAR and ${VAR} with $ENV{VAR} - # If $ENV{VAR} does not exist, perl will raise a warning - # and then happily treat it as an empty string. - $path =~ s/(?<!\\)\$\{((?:\w|\s)+)\}/ - _safe_expand_env_var($1, $source) - /ge; - $path =~ s/(?<!\\)\$(\w+)/ - _safe_expand_env_var($1, $source) - /ge; - # Remove \$ escapes. - $path =~ s/\\\$/\$/g; - return $path; -} - -sub _safe_expand_env_var { - my ($var, $source) = @_; - unless (exists $ENV{$var}) { - die "$source references undefined environment variable \$$var; " . - "aborting!\n"; - } - return $ENV{$var}; -} - -#===== SUBROUTINE ============================================================ -# Name : expand_tilde() -# Purpose : Expands tilde to user's home directory path. -# Parameters: $path => string to perform expansion on. -# Returns : String with replacements performed. -# Throws : n/a -# Comments : http://docstore.mik.ua/orelly/perl4/cook/ch07_04.htm -#============================================================================= -sub expand_tilde { - my ($path) = @_; - # Replace tilde with home path. - $path =~ s{ ^ ~ ( [^/]* ) } - { $1 - ? (getpwnam($1))[7] - : ( $ENV{HOME} || $ENV{LOGDIR} - || (getpwuid($<))[7] - ) - }ex; - # Replace espaced tilde with regular tilde. - $path =~ s/\\~/~/g; - return $path -} - - -#===== SUBROUTINE =========================================================== -# Name : usage() -# Purpose : print program usage message and exit -# Parameters: $msg => string to prepend to the usage message -# Returns : n/a -# Throws : n/a -# Comments : if 'msg' is given, then exit with non-zero status -#============================================================================ -sub usage { - my ($msg) = @_; - - if ($msg) { - warn "$ProgramName: $msg\n\n"; - } - - print <<"EOT"; -$ProgramName (GNU Stow) version $Stow::VERSION - -SYNOPSIS: - - $ProgramName [OPTION ...] [-D|-S|-R] PACKAGE ... [-D|-S|-R] PACKAGE ... - -OPTIONS: - - -d DIR, --dir=DIR Set stow dir to DIR (default is current dir) - -t DIR, --target=DIR Set target to DIR (default is parent of stow dir) - - -S, --stow Stow the package names that follow this option - -D, --delete Unstow the package names that follow this option - -R, --restow Restow (like stow -D followed by stow -S) - - --ignore=REGEX Ignore files ending in this Perl regex - --defer=REGEX Don't stow files beginning with this Perl regex - if the file is already stowed to another package - --override=REGEX Force stowing files beginning with this Perl regex - if the file is already stowed to another package - --adopt (Use with care!) Import existing files into stow package - from target. Please read docs before using. - --dotfiles Enables special handling for dotfiles that are - Stow packages that start with "dot-" and not "." - -p, --compat Use legacy algorithm for unstowing - - -n, --no, --simulate Do not actually make any filesystem changes - -v, --verbose[=N] Increase verbosity (levels are from 0 to 5; - -v or --verbose adds 1; --verbose=N sets level) - -V, --version Show stow version number - -h, --help Show this help - -Report bugs to: bug-stow\@gnu.org -Stow home page: <http://www.gnu.org/software/stow/> -General help using GNU software: <http://www.gnu.org/gethelp/> -EOT - exit (defined $msg ? 1 : 0); -} - -sub version { - print "$ProgramName (GNU Stow) version $Stow::VERSION\n"; - exit 0; -} - -1; # This file is required by t/stow.t - -# Local variables: -# mode: perl -# end: -# vim: ft=perl diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stress b/result/etc/profiles/per-user/bdsqqq/bin/stress deleted file mode 100755 index cbc58bb1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/stress and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stringer b/result/etc/profiles/per-user/bdsqqq/bin/stringer deleted file mode 100755 index b421802e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/stringer and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stringintconv b/result/etc/profiles/per-user/bdsqqq/bin/stringintconv deleted file mode 100755 index 864aa8f1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/stringintconv and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stubgen b/result/etc/profiles/per-user/bdsqqq/bin/stubgen deleted file mode 100755 index 2135d7bc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/stubgen +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'':'/':'} -PATH='/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin/.stubgen-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/stubtest b/result/etc/profiles/per-user/bdsqqq/bin/stubtest deleted file mode 100755 index 0f423d14..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/stubtest +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'':'/':'} -PATH='/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/399kdzsa5n3002xz67n4y8h5wnj7hr65-python3.12-mypy-1.15.0/bin/.stubtest-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/supabase b/result/etc/profiles/per-user/bdsqqq/bin/supabase deleted file mode 100755 index 3cddf90b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/supabase and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/swagger b/result/etc/profiles/per-user/bdsqqq/bin/swagger deleted file mode 100755 index 077be33b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/swagger and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/swagger-cli b/result/etc/profiles/per-user/bdsqqq/bin/swagger-cli deleted file mode 100755 index c48dab6a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/swagger-cli +++ /dev/null @@ -1,2 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -exec "/nix/store/abxz7wpw5kwaijzzmf8rl4ga981vk8pc-nodejs-22.16.0/bin/node" /nix/store/b2gjbp63pllxhwqkw5kjyczs2jxwrpzb-swagger-cli-4.0.4/lib/node_modules/@apidevtools/swagger-cli/bin/swagger-cli.js "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/swagger-codegen b/result/etc/profiles/per-user/bdsqqq/bin/swagger-codegen deleted file mode 100755 index 9906ccec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/swagger-codegen +++ /dev/null @@ -1,2 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -exec "/nix/store/grk18frmkshz2ic1r2n0sd7mwscgz8hp-zulu-ca-jdk-21.0.4/bin/java" -jar /nix/store/vcq14xi9j200cl55j4vw9b4ks93jbilh-swagger-codegen-2.4.38/share/java/swagger-codegen-cli-2.4.38.jar "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tableplus b/result/etc/profiles/per-user/bdsqqq/bin/tableplus deleted file mode 100755 index 1e9fcc5e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/tableplus and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tailscale b/result/etc/profiles/per-user/bdsqqq/bin/tailscale deleted file mode 100755 index 4e92cc29..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/tailscale +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c6z1wi5mjqwhj3bkv0iwy2ab3z8gpr3g-lsof-4.99.4/bin'':'/':'} -PATH='/nix/store/c6z1wi5mjqwhj3bkv0iwy2ab3z8gpr3g-lsof-4.99.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/ys7qpvnq6d7v85d2vcd5kpsagp2ql6lx-tailscale-1.84.2/bin/.tailscaled-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tailscaled b/result/etc/profiles/per-user/bdsqqq/bin/tailscaled deleted file mode 100755 index 4e92cc29..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/tailscaled +++ /dev/null @@ -1,8 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c6z1wi5mjqwhj3bkv0iwy2ab3z8gpr3g-lsof-4.99.4/bin'':'/':'} -PATH='/nix/store/c6z1wi5mjqwhj3bkv0iwy2ab3z8gpr3g-lsof-4.99.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/ys7qpvnq6d7v85d2vcd5kpsagp2ql6lx-tailscale-1.84.2/bin/.tailscaled-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tmux b/result/etc/profiles/per-user/bdsqqq/bin/tmux deleted file mode 100755 index c9081c36..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/tmux and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tomlq b/result/etc/profiles/per-user/bdsqqq/bin/tomlq deleted file mode 100755 index 103051b6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/tomlq +++ /dev/null @@ -1,21 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'':'/':'} -PATH='/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'':'/':'} -PATH='/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin/.tomlq-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/toolstash b/result/etc/profiles/per-user/bdsqqq/bin/toolstash deleted file mode 100755 index 690362b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/toolstash and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-cli b/result/etc/profiles/per-user/bdsqqq/bin/transmission-cli deleted file mode 100755 index 22ebff89..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-cli and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-create b/result/etc/profiles/per-user/bdsqqq/bin/transmission-create deleted file mode 100755 index be949a28..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-create and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-daemon b/result/etc/profiles/per-user/bdsqqq/bin/transmission-daemon deleted file mode 100755 index 62a246c9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-daemon and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-edit b/result/etc/profiles/per-user/bdsqqq/bin/transmission-edit deleted file mode 100755 index e4b2e7dc..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-edit and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-gtk b/result/etc/profiles/per-user/bdsqqq/bin/transmission-gtk deleted file mode 100755 index 1508b0ed..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-gtk and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-remote b/result/etc/profiles/per-user/bdsqqq/bin/transmission-remote deleted file mode 100755 index 1307f80f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-remote and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/transmission-show b/result/etc/profiles/per-user/bdsqqq/bin/transmission-show deleted file mode 100755 index c632046c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/transmission-show and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tree b/result/etc/profiles/per-user/bdsqqq/bin/tree deleted file mode 100755 index 16e4188e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/tree and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/tsidp b/result/etc/profiles/per-user/bdsqqq/bin/tsidp deleted file mode 100755 index 04b58dce..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/tsidp and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/umpv b/result/etc/profiles/per-user/bdsqqq/bin/umpv deleted file mode 100755 index f562b579..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/umpv +++ /dev/null @@ -1,3 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -export MPV='/nix/store/7lvsy4qmap2i0ir4f9bg6qz82w6489g0-mpv-with-scripts-0.40.0/bin/mpv' -exec -a "$0" "/nix/store/7hb4ik0hz8jyl3ayfxlxnly2dillc96p-mpv-0.40.0/bin/umpv" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/unmarshal b/result/etc/profiles/per-user/bdsqqq/bin/unmarshal deleted file mode 100755 index 3cdbb013..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/unmarshal and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/unusedresult b/result/etc/profiles/per-user/bdsqqq/bin/unusedresult deleted file mode 100755 index 8e93644b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/unusedresult and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/virtualenv b/result/etc/profiles/per-user/bdsqqq/bin/virtualenv deleted file mode 100755 index 379204a7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/virtualenv +++ /dev/null @@ -1,15 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ahm3wka0bd7spfc2s7mii52hhn2rvgqb-python3.12-virtualenv-20.31.2/bin'':'/':'} -PATH='/nix/store/ahm3wka0bd7spfc2s7mii52hhn2rvgqb-python3.12-virtualenv-20.31.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'':'/':'} -PATH='/nix/store/q54d9qqlb27g2nf9ja4zsa89gl7b3yvm-python3-3.12.11/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/ahm3wka0bd7spfc2s7mii52hhn2rvgqb-python3.12-virtualenv-20.31.2/bin/.virtualenv-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/wcurl b/result/etc/profiles/per-user/bdsqqq/bin/wcurl deleted file mode 100755 index 47cb722f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/wcurl +++ /dev/null @@ -1,323 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh - -# wcurl - a simple wrapper around curl to easily download files. -# -# Requires curl >= 7.46.0 (2015) -# -# Copyright (C) Samuel Henrique <samueloph@debian.org>, Sergio Durigan -# Junior <sergiodj@debian.org> and many contributors, see the AUTHORS -# file. -# -# Permission to use, copy, modify, and distribute this software for any purpose -# with or without fee is hereby granted, provided that the above copyright -# notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN -# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -# OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of a copyright holder shall not be -# used in advertising or otherwise to promote the sale, use or other dealings in -# this Software without prior written authorization of the copyright holder. -# -# SPDX-License-Identifier: curl - -# Stop on errors and on usage of unset variables. -set -eu - -VERSION="2025.05.26" - -PROGRAM_NAME="$(basename "$0")" -readonly PROGRAM_NAME - -# Display the version. -print_version() -{ - cat << _EOF_ -${VERSION} -_EOF_ -} - -# Display the program usage. -usage() -{ - cat << _EOF_ -${PROGRAM_NAME} -- a simple wrapper around curl to easily download files. - -Usage: ${PROGRAM_NAME} <URL>... - ${PROGRAM_NAME} [--curl-options <CURL_OPTIONS>]... [--no-decode-filename] [-o|-O|--output <PATH>] [--dry-run] [--] <URL>... - ${PROGRAM_NAME} [--curl-options=<CURL_OPTIONS>]... [--no-decode-filename] [--output=<PATH>] [--dry-run] [--] <URL>... - ${PROGRAM_NAME} -h|--help - ${PROGRAM_NAME} -V|--version - -Options: - - --curl-options <CURL_OPTIONS>: Specify extra options to be passed when invoking curl. May be - specified more than once. - - -o, -O, --output <PATH>: Use the provided output path instead of getting it from the URL. If - multiple URLs are provided, resulting files share the same name with a - number appended to the end (curl >= 7.83.0). If this option is provided - multiple times, only the last value is considered. - - --no-decode-filename: Don't percent-decode the output filename, even if the percent-encoding in - the URL was done by wcurl, e.g.: The URL contained whitespaces. - - --dry-run: Don't actually execute curl, just print what would be invoked. - - -V, --version: Print version information. - - -h, --help: Print this usage message. - - <CURL_OPTIONS>: Any option supported by curl can be set here. This is not used by wcurl; it is - instead forwarded to the curl invocation. - - <URL>: URL to be downloaded. Anything that is not a parameter is considered - an URL. Whitespaces are percent-encoded and the URL is passed to curl, which - then performs the parsing. May be specified more than once. -_EOF_ -} - -# Display an error message and bail out. -error() -{ - printf "%s\n" "$*" > /dev/stderr - exit 1 -} - -# Extra curl options provided by the user. -# This is set per-URL for every URL provided. -# Some options are global, but we are erroring on the side of needlesly setting -# them multiple times instead of causing issues with parameters that needs to -# be set per-URL. -CURL_OPTIONS="" - -# The URLs to be downloaded. -URLS="" - -# Variable used to be set to the percent-decoded filename parsed from the URL, unless -# --output or --no-decode-filename are used. -OUTPUT_PATH="" -HAS_USER_SET_OUTPUT="false" - -# The parameters that are passed per-URL to curl. -readonly PER_URL_PARAMETERS="\ - --fail \ - --globoff \ - --location \ - --proto-default https \ - --remote-time \ - --retry 5 " - -# Whether to invoke curl or not. -DRY_RUN="false" - -# Sanitize parameters. -sanitize() -{ - if [ -z "${URLS}" ]; then - error "You must provide at least one URL to download." - fi - - readonly CURL_OPTIONS URLS DRY_RUN HAS_USER_SET_OUTPUT -} - -# Indicate via exit code whether the string given in the first parameter -# consists solely of characters from the string given in the second parameter. -# In other words, it returns 0 if the first parameter only contains characters -# from the second parameter, e.g.: Are $1 characters a subset of $2 characters? -is_subset_of() -{ - case "${1}" in - *[!${2}]*|'') return 1;; - esac -} - -# Print the given string percent-decoded. -percent_decode() -{ - # Encodings of control characters (00-1F) are passed through without decoding. - # Iterate on the input character-by-character, decoding it. - printf "%s\n" "${1}" | fold -w1 | while IFS= read -r decode_out; do - # If character is a "%", read the next character as decode_hex1. - if [ "${decode_out}" = % ] && IFS= read -r decode_hex1; then - decode_out="${decode_out}${decode_hex1}" - # If there's one more character, read it as decode_hex2. - if IFS= read -r decode_hex2; then - decode_out="${decode_out}${decode_hex2}" - # Skip decoding if this is a control character (00-1F). - # Skip decoding if DECODE_FILENAME is not "true". - if is_subset_of "${decode_hex1}" "23456789abcdefABCDEF" && \ - is_subset_of "${decode_hex2}" "0123456789abcdefABCDEF" && \ - [ "${DECODE_FILENAME}" = "true" ]; then - # Use printf to decode it into octal and then decode it to the final format. - decode_out="$(printf "%b" "\\$(printf %o "0x${decode_hex1}${decode_hex2}")")" - fi - fi - fi - printf %s "${decode_out}" - done -} - -# Print the percent-decoded filename portion of the given URL. -get_url_filename() -{ - # Remove protocol and query string if present. - hostname_and_path="$(printf %s "${1}" | sed -e 's,^[^/]*//,,' -e 's,?.*$,,')" - # If what remains contains a slash, there's a path; return it percent-decoded. - case "${hostname_and_path}" in - # sed to remove everything preceding the last '/', e.g.: "example/something" becomes "something" - */*) percent_decode "$(printf %s "${hostname_and_path}" | sed -e 's,^.*/,,')";; - esac - # No slash means there was just a hostname and no path; return empty string. -} - -# Execute curl with the list of URLs provided by the user. -exec_curl() -{ - CMD="curl " - - # Store version to check if it supports --no-clobber and --parallel. - curl_version=$($CMD --version | cut -f2 -d' ' | head -n1) - curl_version_major=$(echo "$curl_version" | cut -f1 -d.) - curl_version_minor=$(echo "$curl_version" | cut -f2 -d.) - - CURL_HAS_NO_CLOBBER="" - CURL_HAS_PARALLEL="" - # --no-clobber is only supported since 7.83.0. - # --parallel is only supported since 7.66.0. - if [ "${curl_version_major}" -ge 8 ]; then - CURL_HAS_NO_CLOBBER="--no-clobber" - CURL_HAS_PARALLEL="--parallel" - elif [ "${curl_version_major}" -eq 7 ];then - if [ "${curl_version_minor}" -ge 83 ]; then - CURL_HAS_NO_CLOBBER="--no-clobber" - fi - if [ "${curl_version_minor}" -ge 66 ]; then - CURL_HAS_PARALLEL="--parallel" - fi - fi - - # Detecting whether we need --parallel. It's easier to rely on - # the shell's argument parsing. - # shellcheck disable=SC2086 - set -- $URLS - - if [ "$#" -gt 1 ]; then - CURL_PARALLEL="$CURL_HAS_PARALLEL" - else - CURL_PARALLEL="" - fi - - # Start assembling the command. - # - # We use 'set --' here (again) because (a) we don't have arrays on - # POSIX shell, and (b) we need better control over the way we - # split arguments. - # - # shellcheck disable=SC2086 - set -- ${CMD} ${CURL_PARALLEL} - - NEXT_PARAMETER="" - for url in ${URLS}; do - # If the user did not provide an output path, define one. - if [ "${HAS_USER_SET_OUTPUT}" = "false" ]; then - OUTPUT_PATH="$(get_url_filename "${url}")" - # If we could not get a path from the URL, use the default: index.html. - [ -z "${OUTPUT_PATH}" ] && OUTPUT_PATH=index.html - fi - # shellcheck disable=SC2086 - set -- "$@" ${NEXT_PARAMETER} ${PER_URL_PARAMETERS} ${CURL_HAS_NO_CLOBBER} ${CURL_OPTIONS} --output "${OUTPUT_PATH}" "${url}" - NEXT_PARAMETER="--next" - done - - if [ "${DRY_RUN}" = "false" ]; then - exec "$@" - else - printf "%s\n" "$@" - fi -} - -# Default to decoding the output filename -DECODE_FILENAME="true" - -# Use "${1-}" in order to avoid errors because of 'set -u'. -while [ -n "${1-}" ]; do - case "${1}" in - --curl-options=*) - opt=$(printf "%s\n" "${1}" | sed 's/^--curl-options=//') - CURL_OPTIONS="${CURL_OPTIONS} ${opt}" - ;; - - --curl-options) - shift - CURL_OPTIONS="${CURL_OPTIONS} ${1}" - ;; - - --dry-run) - DRY_RUN="true" - ;; - - --output=*) - opt=$(printf "%s\n" "${1}" | sed 's/^--output=//') - HAS_USER_SET_OUTPUT="true" - OUTPUT_PATH="${opt}" - ;; - - -o|-O|--output) - shift - HAS_USER_SET_OUTPUT="true" - OUTPUT_PATH="${1}" - ;; - - -o*|-O*) - opt=$(printf "%s\n" "${1}" | sed 's/^-[oO]//') - HAS_USER_SET_OUTPUT="true" - OUTPUT_PATH="${opt}" - ;; - - --no-decode-filename) - DECODE_FILENAME="false" - ;; - - -h|--help) - usage - exit 0 - ;; - - -V|--version) - print_version - exit 0 - ;; - - --) - # This is the start of the list of URLs. - shift - for url in "$@"; do - # Encode whitespaces into %20, since wget supports those URLs. - newurl=$(printf "%s\n" "${url}" | sed 's/ /%20/g') - URLS="${URLS} ${newurl}" - done - break - ;; - - -*) - error "Unknown option: '$1'." - ;; - - *) - # This must be a URL. - # Encode whitespaces into %20, since wget supports those URLs. - newurl=$(printf "%s\n" "${1}" | sed 's/ /%20/g') - URLS="${URLS} ${newurl}" - ;; - esac - shift -done - -sanitize -exec_curl diff --git a/result/etc/profiles/per-user/bdsqqq/bin/wget b/result/etc/profiles/per-user/bdsqqq/bin/wget deleted file mode 100755 index 99a1c8b3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/wget and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/bin/whatis b/result/etc/profiles/per-user/bdsqqq/bin/whatis deleted file mode 100755 index eb7945a2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/whatis +++ /dev/null @@ -1,20 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'':'/':'} -PATH='/nix/store/l4bci1g6fmw0nzqsh6xsx0224n3vjr3r-zstd-1.5.7-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'':'/':'} -PATH='/nix/store/ggkhsn2jdqxv525pxbm4p2hqyxmzyck1-gzip-1.14/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'':'/':'} -PATH='/nix/store/jarxc4ibf19zkhxppa2sxkrrfx28njsv-groff-1.23.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/9zvai0pcyflyqppfx0lra9v8iwq138rd-man-db-2.13.1/bin/.whatis-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/xq b/result/etc/profiles/per-user/bdsqqq/bin/xq deleted file mode 100755 index b193eec5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/xq +++ /dev/null @@ -1,21 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'':'/':'} -PATH='/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'':'/':'} -PATH='/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin/.xq-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/yq b/result/etc/profiles/per-user/bdsqqq/bin/yq deleted file mode 100755 index 7bac31ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/yq +++ /dev/null @@ -1,21 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'':'/':'} -PATH='/nix/store/rjwww4j1bqvh4bf7ap61zqw6bz3w99l4-python3.13-argcomplete-3.6.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'':'/':'} -PATH='/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -exec -a "$0" "/nix/store/c6bm2alrfbz1w66fhaxlvnsg6ych5q10-python3.13-yq-3.4.3/bin/.yq-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/yt-dlp b/result/etc/profiles/per-user/bdsqqq/bin/yt-dlp deleted file mode 100755 index dff6d30b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/bin/yt-dlp +++ /dev/null @@ -1,51 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5qclj8xvglfv05y57zhdw7i5c7fadlp9-python3.13-websockets-15.0.1/bin'':'/':'} -PATH='/nix/store/5qclj8xvglfv05y57zhdw7i5c7fadlp9-python3.13-websockets-15.0.1/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'':'/':'} -PATH='/nix/store/abapp2n1bw5lq117dy10mp396kynaxyh-python3.13-charset-normalizer-3.4.2/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/yiy8529g82pfarid68p5qil25krw3y8j-python3.13-mutagen-1.47.0/bin'':'/':'} -PATH='/nix/store/yiy8529g82pfarid68p5qil25krw3y8j-python3.13-mutagen-1.47.0/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/np52nc6fc4si1rv153d3j98yflh03i1q-yt-dlp-2025.6.9/bin'':'/':'} -PATH='/nix/store/np52nc6fc4si1rv153d3j98yflh03i1q-yt-dlp-2025.6.9/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'':'/':'} -PATH='/nix/store/j1spz18w5a10r9nj4wpkyh0cx730rs4z-python3-3.13.4/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -export PYTHONNOUSERSITE='true' -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/5pvyqyrplcpqryz4xcvas90d3cvprvk5-rtmpdump-2.6/bin'':'/':'} -PATH='/nix/store/5pvyqyrplcpqryz4xcvas90d3cvprvk5-rtmpdump-2.6/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/9dccanamgvfpz7ag2lsf9vjly2m14vy6-ffmpeg-headless-7.1.1-bin/bin'':'/':'} -PATH='/nix/store/9dccanamgvfpz7ag2lsf9vjly2m14vy6-ffmpeg-headless-7.1.1-bin/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -PATH=${PATH:+':'$PATH':'} -PATH=${PATH/':''/nix/store/b4g2nyp869fxn3fw85cxw3wwcl9f31yf-atomicparsley-20240608.083822.1ed9031/bin'':'/':'} -PATH='/nix/store/b4g2nyp869fxn3fw85cxw3wwcl9f31yf-atomicparsley-20240608.083822.1ed9031/bin'$PATH -PATH=${PATH#':'} -PATH=${PATH%':'} -export PATH -exec -a "$0" "/nix/store/np52nc6fc4si1rv153d3j98yflh03i1q-yt-dlp-2025.6.9/bin/.yt-dlp-wrapped" "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/bin/zsh b/result/etc/profiles/per-user/bdsqqq/bin/zsh deleted file mode 100755 index b0cc54b9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/bin/zsh and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/etc/profile.d/hm-session-vars.sh b/result/etc/profiles/per-user/bdsqqq/etc/profile.d/hm-session-vars.sh deleted file mode 100644 index 1d95ff58..00000000 --- a/result/etc/profiles/per-user/bdsqqq/etc/profile.d/hm-session-vars.sh +++ /dev/null @@ -1,6 +0,0 @@ -# Only source this once. -if [ -n "$__HM_SESS_VARS_SOURCED" ]; then return; fi -export __HM_SESS_VARS_SOURCED=1 - - - diff --git a/result/etc/profiles/per-user/bdsqqq/share/info/dir b/result/etc/profiles/per-user/bdsqqq/share/info/dir deleted file mode 100644 index 29eed0de..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/info/dir +++ /dev/null @@ -1,21 +0,0 @@ -This is the file .../info/dir, which contains the -topmost node of the Info hierarchy, called (dir)Top. -The first time you invoke Info you start off looking at this node. - -File: dir, Node: Top This is the top of the INFO tree - - This (the Directory node) gives a menu of major topics. - Typing "q" exits, "H" lists all Info commands, "d" returns here, - "h" gives a primer for first-timers, - "mEmacs<Return>" visits the Emacs manual, etc. - - In Emacs, you can click mouse button 2 on a menu item or cross reference - to select it. - -* Menu: - -Network applications -* Wget: (wget). Non-interactive network downloader. - -System administration -* Stow: (stow). GNU Stow. diff --git a/result/etc/profiles/per-user/bdsqqq/share/info/stow.info b/result/etc/profiles/per-user/bdsqqq/share/info/stow.info deleted file mode 100644 index aae75449..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/info/stow.info +++ /dev/null @@ -1,2095 +0,0 @@ -This is stow.info, produced by makeinfo version 7.0.3 from stow.texi. - -This manual describes GNU Stow version 2.4.1 (8 September 2024), a -program for managing farms of symbolic links. - - Software and documentation is copyrighted by the following: - - © 1993, 1994, 1995, 1996 Bob Glickstein <bobg+stow@zanshin.com> -© 2000, 2001 Guillaume Morin <gmorin@gnu.org> -© 2007 Kahlil (Kal) Hodgson <kahlil@internode.on.net> -© 2011 Adam Spiers <stow@adamspiers.org> - - Permission is granted to make and distribute verbatim copies of - this manual provided the copyright notice and this permission - notice are preserved on all copies. - - Permission is granted to copy and distribute modified versions of - this manual under the conditions for verbatim copying, provided - also that the section entitled “GNU General Public License” is - included with the modified manual, and provided that the entire - resulting derived work is distributed under the terms of a - permission notice identical to this one. - - Permission is granted to copy and distribute translations of this - manual into another language, under the above conditions for - modified versions, except that this permission notice may be stated - in a translation approved by the Free Software Foundation. -INFO-DIR-SECTION System administration -START-INFO-DIR-ENTRY -* Stow: (stow). GNU Stow. -END-INFO-DIR-ENTRY - - -File: stow.info, Node: Top, Next: Introduction, Up: (dir) - -Stow -**** - -This manual describes GNU Stow 2.4.1 (8 September 2024), a symlink farm -manager which takes distinct sets of software and/or data located in -separate directories on the filesystem, and makes them appear to be -installed in a single directory tree. - -* Menu: - -* Introduction:: Description of Stow. -* Terminology:: Terms used by this manual. -* Invoking Stow:: Option summary. -* Ignore Lists:: Controlling what gets stowed. -* Installing Packages:: Using Stow to install. -* Deleting Packages:: Using Stow to uninstall. -* Conflicts:: When Stow can’t stow. -* Mixing Operations:: Multiple actions per invocation. -* Multiple Stow Directories:: Further segregating software. -* Target Maintenance:: Cleaning up mistakes. -* Resource Files:: Setting default command line options. -* Compile-time vs. Install-time:: Faking out ‘make install’. -* Bootstrapping:: When stow and perl are not yet stowed. -* Reporting Bugs:: How, what, where, and when to report. -* Known Bugs:: Don’t report any of these. -* GNU General Public License:: Copying terms. -* Index:: Index of concepts. - - — The Detailed Node Listing — - -Ignore Lists - -* Motivation For Ignore Lists:: -* Types And Syntax Of Ignore Lists:: -* Justification For Yet Another Set Of Ignore Files:: - -Advice on changing compilation and installation parameters - -* GNU Emacs:: -* Other FSF Software:: -* Cygnus Software:: -* Perl and Perl 5 Modules:: - - - -File: stow.info, Node: Introduction, Next: Terminology, Prev: Top, Up: Top - -1 Introduction -************** - -GNU Stow is a symlink farm manager which takes distinct sets of software -and/or data located in separate directories on the filesystem, and makes -them all appear to be installed in a single directory tree. - - Originally Stow was born to address the need to administer, upgrade, -install, and remove files in independent software packages without -confusing them with other files sharing the same file system space. For -instance, many years ago it used to be common to compile programs such -as Perl and Emacs from source and install them in ‘/usr/local’. When -one does so, one winds up with the following files(1) in -‘/usr/local/man/man1’: - - a2p.1 - ctags.1 - emacs.1 - etags.1 - h2ph.1 - perl.1 - s2p.1 - -Now suppose it’s time to uninstall Perl. Which man pages get removed? -Obviously ‘perl.1’ is one of them, but it should not be the -administrator’s responsibility to memorize the ownership of individual -files by separate packages. - - The approach used by Stow is to install each package into its own -tree, then use symbolic links to make it appear as though the files are -installed in the common tree. Administration can be performed in the -package’s private tree in isolation from clutter from other packages. -Stow can then be used to update the symbolic links. The structure of -each private tree should reflect the desired structure in the common -tree; i.e. (in the typical case) there should be a ‘bin’ directory -containing executables, a ‘man/man1’ directory containing section 1 man -pages, and so on. - - While this is useful for keeping track of system-wide and per-user -installations of software built from source, in more recent times -software packages are often managed by more sophisticated package -management software such as ‘rpm’ -(https://en.wikipedia.org/wiki/Rpm_(software)), ‘dpkg’ -(https://en.wikipedia.org/wiki/Dpkg), and Nix -(https://en.wikipedia.org/wiki/Nix_package_manager) / GNU Guix -(https://en.wikipedia.org/wiki/GNU_Guix), or language-native package -managers such as Ruby’s ‘gem’ (https://en.wikipedia.org/wiki/RubyGems), -Python’s ‘pip’ (https://en.wikipedia.org/wiki/Pip_(package_manager)), -Javascript’s ‘npm’ (https://en.wikipedia.org/wiki/Npm_(software)), and -so on. - - However Stow is still used not only for software package management, -but also for other purposes, such as facilitating a more controlled -approach to management of configuration files in the user’s home -directory(2), especially when coupled with version control systems(3). - - Stow was inspired by Carnegie Mellon’s Depot program, but is -substantially simpler and safer. Whereas Depot required database files -to keep things in sync, Stow stores no extra state between runs, so -there’s no danger (as there was in Depot) of mangling directories when -file hierarchies don’t match the database. Also unlike Depot, Stow will -never delete any files, directories, or links that appear in a Stow -directory (e.g., ‘/usr/local/stow/emacs’), so it’s always possible to -rebuild the target tree (e.g., ‘/usr/local’). - - Stow is implemented as a combination of a Perl script providing a CLI -interface, and a backend Perl module which does most of the work. - - For information about the latest version of Stow, you can refer to -<http://www.gnu.org/software/stow/>. - - ---------- Footnotes ---------- - - (1) As of Perl 4.036 and Emacs 19.22. These are now ancient releases -but the example still holds valid. - - (2) -<http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html> - - (3) -<http://lists.gnu.org/archive/html/info-stow/2011-12/msg00000.html> - - -File: stow.info, Node: Terminology, Next: Invoking Stow, Prev: Introduction, Up: Top - -2 Terminology -************* - - A “package” is a related collection of files and directories that you -wish to administer as a unit — e.g., Perl or Emacs — and that needs to -be installed in a particular directory structure — e.g., with ‘bin’, -‘lib’, and ‘man’ subdirectories. - - A “target directory” is the root of a tree in which one or more -packages wish to _appear_ to be installed. ‘/usr/local’ is a common -choice for this, but by no means the only such location. Another common -choice is ‘~’ (i.e. the user’s ‘$HOME’ directory) in the case where Stow -is being used to manage the user’s configuration (“dotfiles”) and other -files in their ‘$HOME’. The examples in this manual will use -‘/usr/local’ as the target directory. - - A “stow directory” is the root of a tree containing separate packages -in private subtrees. When Stow runs, it uses the current directory as -the default stow directory. The examples in this manual will use -‘/usr/local/stow’ as the stow directory, so that individual packages -will be, for example, ‘/usr/local/stow/perl’ and -‘/usr/local/stow/emacs’. - - An “installation image” is the layout of files and directories -required by a package, relative to the target directory. Thus, the -installation image for Perl includes: a ‘bin’ directory containing -‘perl’ and ‘a2p’ (among others); an ‘info’ directory containing Texinfo -documentation; a ‘lib/perl’ directory containing Perl libraries; and a -‘man/man1’ directory containing man pages. - - Note: This is a _pre-_installation image which exists even before - Stow has installed any symlinks into the target directory which - point to it. - - A “package directory” is the root of a tree containing the -installation image for a particular package. Each package directory -must reside in a stow directory — e.g., the package directory -‘/usr/local/stow/perl’ must reside in the stow directory -‘/usr/local/stow’. The “name” of a package is the name of its directory -within the stow directory — e.g., ‘perl’. - - Thus, the Perl executable might reside in -‘/usr/local/stow/perl/bin/perl’, where ‘/usr/local’ is the target -directory, ‘/usr/local/stow’ is the stow directory, -‘/usr/local/stow/perl’ is the package directory, and ‘bin/perl’ within -is part of the installation image. - - A “symlink” is a symbolic link, i.e. an entry on the filesystem whose -path is sometimes called the “symlink source”, which points to another -location on the filesystem called the “symlink destination”. There is -no guarantee that the destination actually exists. - - In general, symlinks can be “relative” or “absolute”. A symlink is -absolute when the destination names a full path; that is, one starting -from ‘/’. A symlink is relative when the destination names a relative -path; that is, one not starting from ‘/’. The destination of a relative -symlink is computed starting from the symlink’s own directory, i.e. the -directory containing the symlink source. - - Note: Stow only creates symlinks within the target directory which - point to locations _outside_ the target directory and inside the - stow directory. - - Consequently, we avoid referring to symlink destinations as symlink - _targets_, since this would result in the word “target” having two - different meanings: - - 1. the target directory, i.e. the directory into which Stow - targets installation, where symlinks are managed by Stow, and - - 2. the destinations of those symlinks. - - If we did not avoid the second meaning of “target”, then it would - lead to confusing language, such as describing Stow as installing - symlinks into the target directory which point to targets _outside_ - the target directory. - - Similarly, the word “source” can have two different meanings in - this context: - - 1. the installation image, or some of its contents, and - - 2. the location of symlinks (the “source” of the link, vs. its - destination). - - Therefore it should also be avoided, or at least care taken to - ensure that the meaning is not ambiguous. - - -File: stow.info, Node: Invoking Stow, Next: Ignore Lists, Prev: Terminology, Up: Top - -3 Invoking Stow -*************** - -The syntax of the ‘stow’ command is: - - stow [OPTIONS] [ACTION FLAG] PACKAGE ... - -Each PACKAGE is the name of a package (e.g., ‘perl’) in the stow -directory that we wish to install into (or delete from) the target -directory. The default action is to install the given packages, -although alternate actions may be specified by preceding the package -name(s) with an ACTION FLAG. - -The following options are supported: - -‘-d DIR’ -‘--dir=DIR’ - Set the stow directory to DIR. Defaults to the value of the - environment variable ‘STOW_DIR’ if set, or the current directory - otherwise. - -‘-t DIR’ -‘--target=DIR’ - Set the target directory to DIR instead of the parent of the stow - directory. Defaults to the parent of the stow directory, so it is - typical to execute ‘stow’ from the directory ‘/usr/local/stow’. - -‘--ignore=REGEXP’ - This (repeatable) option lets you suppress acting on files that - match the given Perl regular expression. For example, using the - options - - --ignore='.*\.orig' --ignore='.*\.dist' - - will cause stow to ignore files ending in ‘.orig’ or ‘.dist’. - - Note that the regular expression is anchored to the end of the - filename, because this is what you will want to do most of the - time. - - Also note that by default Stow automatically ignores a “sensible” - built-in list of files and directories such as ‘CVS’, editor backup - files, and so on. *Note Ignore Lists::, for more details. - -‘--defer=REGEXP’ - This (repeatable) option avoids stowing a file matching the given - regular expression, if that file is already stowed by another - package. This is effectively the opposite of ‘--override’. - - (N.B. the name ‘--defer’ was chosen in the sense that the package - currently being stowed is treated with lower precedence than any - already installed package, not in the sense that the operation is - being postponed to be run at a later point in time; do not confuse - this nomenclature with the wording used in *note Deferred - Operation::.) - - For example, the following options - - --defer=man --defer=info - - will cause stow to skip over pre-existing man and info pages. - - Equivalently, you could use ‘--defer='man|info'’ since the argument - is just a Perl regular expression. - - Note that the regular expression is anchored to the beginning of - the path relative to the target directory, because this is what you - will want to do most of the time. - -‘--override=REGEXP’ - This (repeatable) option forces any file matching the regular - expression to be stowed, even if the file is already stowed to - another package. For example, the following options - - --override=man --override=info - - will permit stow to overwrite links that point to pre-existing man - and info pages that are owned by stow and would otherwise cause a - conflict. - - The regular expression is anchored to the beginning of the path - relative to the target directory, because this is what you will - want to do most of the time. - -‘--dotfiles’ - - Enable special handling for _dotfiles_ (files or folders whose name - begins with a period) in the package directory. If this option is - enabled, Stow will add a preprocessing step for each file or folder - whose name begins with ‘dot-’, and replace the ‘dot-’ prefix in the - name by a period ‘.’. This is useful when Stow is used to manage - collections of dotfiles, to avoid having a package directory full - of hidden files. - - For example, suppose we have a package containing two files, - ‘stow/dot-bashrc’ and ‘stow/dot-emacs.d/init.el’. With this - option, Stow will create symlinks from ‘.bashrc’ to - ‘stow/dot-bashrc’ and from ‘.emacs.d/init.el’ to - ‘stow/dot-emacs.d/init.el’. Any other files, whose name does not - begin with ‘dot-’, will be processed as usual. - - Note that when this option is enabled, any package file or - directory prefixed with ‘dot-’ is assumed to be named deliberately - to be stowed with a ‘.’ prefix, and therefore will only be ignored - if there is an entry in the ignore list (*Note Ignore Lists::) - which matches this prefix. So for example, by default - ‘dot-gitignore’ would not be ignored even though ‘\.gitignore’ is - in the default ignore list. - -‘--no-folding’ - - This disables any further tree folding (*note tree folding::) or - refolding (*note tree refolding::). If a new subdirectory is - encountered whilst stowing a new package, the subdirectory is - created within the target, and its contents are symlinked, rather - than just creating a symlink for the directory. If removal of - symlinks whilst unstowing a package causes a subtree to be foldable - (i.e. only containing symlinks to a single package), that subtree - will not be removed and replaced with a symlink. - -‘--adopt’ - *Warning!* This behaviour is specifically intended to alter the - contents of your stow directory. If you do not want that, this - option is not for you. - - When stowing, if a target is encountered which already exists but - is a plain file (and hence not owned by any existing stow package), - then normally Stow will register this as a conflict and refuse to - proceed. This option changes that behaviour so that the file is - moved to the same relative place within the package’s installation - image within the stow directory, and then stowing proceeds as - before. So effectively, the file becomes adopted by the stow - package, without its contents changing. - - This is particularly useful when the stow package is under the - control of a version control system, because it allows files in the - target tree, with potentially different contents to the equivalent - versions in the stow package’s installation image, to be adopted - into the package, then compared by running something like ‘git diff - ...’ inside the stow package, and finally either kept (e.g. via - ‘git commit ...’) or discarded (‘git checkout HEAD ...’). - -‘-n’ -‘--no’ -‘--simulate’ - Do not perform any operations that modify the file system; in - combination with ‘-v’ can be used to merely show what would happen. - -‘-v’ -‘--verbose[=N]’ - Send verbose output to standard error describing what Stow is - doing. Verbosity levels are from 0 to 5; 0 is the default. Using - ‘-v’ or ‘--verbose’ increases the verbosity by one; using - ‘--verbose=N’ sets it to N. - -‘-p’ -‘--compat’ - Scan the whole target tree when unstowing. By default, only - directories specified in the “installation image” are scanned - during an unstow operation. Previously Stow scanned the whole - tree, which can be prohibitive if your target tree is very large, - but on the other hand has the advantage of unstowing previously - stowed links which are no longer present in the installation image - and therefore orphaned. This option restores the legacy behaviour; - however, the ‘--badlinks’ option to the ‘chkstow’ utility may be a - better way of ensuring that your installation does not have any - dangling symlinks (*note Target Maintenance::). - -‘-V’ -‘--version’ - Show Stow version number, and exit. - -‘-h’ -‘--help’ - Show Stow command syntax, and exit. - - The following ACTION FLAGS are supported: - -‘-D’ -‘--delete’ - Delete (unstow) the package name(s) that follow this option from - the “target directory”. This option may be repeated any number of - times. - -‘-R’ -‘--restow’ - Restow (first unstow, then stow again) the package names that - follow this option. This is useful for pruning obsolete symlinks - from the target tree after updating the software in a package. - This option may be repeated any number of times. - -‘-S’ -‘--stow’ - explictly stow the package name(s) that follow this option. May be - omitted if you are not using the ‘-D’ or ‘-R’ options in the same - invocation. *Note Mixing Operations::, for details of when you - might like to use this feature. This option may be repeated any - number of times. - - -File: stow.info, Node: Ignore Lists, Next: Installing Packages, Prev: Invoking Stow, Up: Top - -4 Ignore Lists -************** - -* Menu: - -* Motivation For Ignore Lists:: -* Types And Syntax Of Ignore Lists:: -* Justification For Yet Another Set Of Ignore Files:: - - -File: stow.info, Node: Motivation For Ignore Lists, Next: Types And Syntax Of Ignore Lists, Prev: Ignore Lists, Up: Ignore Lists - -4.1 Motivation For Ignore Lists -=============================== - -In many situations, there will exist files under the package directories -which it would be undesirable to stow into the target directory. For -example, files related version control such as ‘.gitignore’, ‘CVS’, -‘*,v’ (RCS files) should typically not have symlinks from the target -tree pointing to them. Also there may be files or directories relating -to the build of the package which are not needed at run-time. - - In these cases, it can be rather cumbersome to specify a ‘--ignore’ -parameter for each file or directory to be ignored. This could be -worked around by ensuring the existence of ‘~/.stowrc’ containing -multiple ‘--ignore’ lines, or if a different set of files/directories -should be ignored depending on which stow package is involved, a -‘.stowrc’ file for each stow package, but this would require the user to -ensure that they were in the correct directory before invoking stow, -which would be tedious and error-prone. Furthermore, since Stow shifts -parameters from ‘.stowrc’ onto ARGV at run-time, it could clutter up the -process table with excessively long parameter lists, or even worse, -exceed the operating system’s limit for process arguments. - - Therefore in addition to ‘--ignore’ parameters, Stow provides a way -to specify lists of files and directories to ignore. - - -File: stow.info, Node: Types And Syntax Of Ignore Lists, Next: Justification For Yet Another Set Of Ignore Files, Prev: Motivation For Ignore Lists, Up: Ignore Lists - -4.2 Types And Syntax Of Ignore Lists -==================================== - -If you put Perl regular expressions, one per line, in a -‘.stow-local-ignore’ file within any top level package directory, in -which case any file or directory within that package matching any of -these regular expressions will be ignored. In the absence of this -package-specific ignore list, Stow will instead use the contents of -‘~/.stow-global-ignore’, if it exists. If neither the package-local or -global ignore list exist, Stow will use its own built-in default ignore -list, which serves as a useful example of the format of these ignore -list files: - - # Comments and blank lines are allowed. - - RCS - .+,v - - CVS - \.\#.+ # CVS conflict files / emacs lock files - \.cvsignore - - \.svn - _darcs - \.hg - - \.git - \.gitignore - \.gitmodules - - .+~ # emacs backup files - \#.*\# # emacs autosave files - - ^/README.* - ^/LICENSE.* - ^/COPYING - - Stow first iterates through the chosen ignore list (built-in, global, -or package-local) as per above, stripping out comments (if you want to -include the ‘#’ symbol in a regular expression, escape it with a -blackslash) and blank lines, placing each regular expressions into one -of two sets depending on whether it contains the ‘/’ forward slash -symbol. - - Then in order to determine whether a file or directory should be -ignored: - - 1. Stow calculates its path relative to the top-level package - directory, prefixing that with ‘/’. If any of the regular - expressions containing a ‘/’ _exactly_(1) match a subpath(2) of - this relative path, then the file or directory will be ignored. - - 2. If none of the regular expressions containing a ‘/’ match in the - manner described above, Stow checks whether the _basename_(3) of - the file or directory matches _exactly_ against the remaining - regular expressions which do not contain a ‘/’, and if so, ignores - the file or directory. - - 3. Otherwise, the file or directory is not ignored. - - For example, if a file ‘bazqux’ is in the ‘foo/bar’ subdirectory of -the package directory, Stow would use ‘/foo/bar/bazqux’ as the text for -matching against regular expressions which contain ‘/’, and ‘bazqux’ as -the text for matching against regular expressions which don’t contain -‘/’. Then regular expressions ‘bazqux’, ‘baz.*’, ‘.*qux’, ‘bar/.*x’, -and ‘^/foo/.*qux’ would all match (causing the file to be ignored), -whereas ‘bar’, ‘baz’, ‘qux’, and ‘o/bar/b’ would not (although ‘bar’ -would cause its parent directory to be ignored and prevent Stow from -recursing into that anyway, in which case the file ‘bazqux’ would not -even be considered for stowing). - - As a special exception to the above algorithm, any -‘.stow-local-ignore’ present in the top-level package directory is -_always_ ignored, regardless of the contents of any ignore list, because -this file serves no purpose outside the stow directory. - - ---------- Footnotes ---------- - - (1) Exact matching means the regular expression is anchored at the -beginning and end, in contrast to unanchored regular expressions which -will match a substring. - - (2) In this context, “subpath” means a contiguous subset of path -segments; e.g for the relative path ‘one/two/three’, there are six valid -subpaths: ‘one’, ‘two’, ‘three’, ‘one/two’, ‘two/three’, -‘one/two/three’. - - (3) The “basename” is the name of the file or directory itself, -excluding any directory path prefix - as returned by the ‘basename’ -command. - - -File: stow.info, Node: Justification For Yet Another Set Of Ignore Files, Prev: Types And Syntax Of Ignore Lists, Up: Ignore Lists - -4.3 Justification For Yet Another Set Of Ignore Files -===================================================== - -The reader may note that this format is very similar to existing ignore -list file formats, such as those for ‘cvs’, ‘git’, ‘rsync’ etc., and -wonder if another set of ignore lists is justified. However there are -good reasons why Stow does not simply check for the presence of say, -‘.cvsignore’, and use that if it exists. Firstly, there is no guarantee -that a stow package would contain any version control meta-data, or -permit introducing this if it didn’t already exist. - - Secondly even if it did, version control system ignore lists -generally reflect _build-time_ ignores rather than _install-time_, and -there may be some intermediate or temporary files on those ignore lists -generated during development or at build-time which it would be -inappropriate to stow, even though many files generated at build-time -(binaries, libraries, documentation etc.) certainly do need to be -stowed. Similarly, if a file is _not_ in the version control system’s -ignore list, there is no way of knowing whether the file is intended for -end use, let alone whether the version control system is tracking it or -not. - - Therefore it seems clear that ignore lists provided by version -control systems do not provide sufficient information for Stow to -determine which files and directories to stow, and so it makes sense for -Stow to support independent ignore lists. - - -File: stow.info, Node: Installing Packages, Next: Deleting Packages, Prev: Ignore Lists, Up: Top - -5 Installing Packages -********************* - -The default action of Stow is to install a package. This means creating -symlinks in the target tree that point into the package tree. Stow -attempts to do this with as few symlinks as possible; in other words, if -Stow can create a single symlink that points to an entire subtree within -the package tree, it will choose to do that rather than create a -directory in the target tree and populate it with symlinks. - -5.1 Tree folding -================ - -For example, suppose that no packages have yet been installed in -‘/usr/local’; it’s completely empty (except for the ‘stow’ subdirectory, -of course). Now suppose the Perl package is installed. Recall that it -includes the following directories in its installation image: ‘bin’; -‘info’; ‘lib/perl’; ‘man/man1’. Rather than creating the directory -‘/usr/local/bin’ and populating it with symlinks to -‘../stow/perl/bin/perl’ and ‘../stow/perl/bin/a2p’ (and so on), Stow -will create a single symlink, ‘/usr/local/bin’, which points to -‘stow/perl/bin’. In this way, it still works to refer to -‘/usr/local/bin/perl’ and ‘/usr/local/bin/a2p’, and fewer symlinks have -been created. This is called “tree folding”, since an entire subtree is -“folded” into a single symlink. - - To complete this example, Stow will also create the symlink -‘/usr/local/info’ pointing to ‘stow/perl/info’; the symlink -‘/usr/local/lib’ pointing to ‘stow/perl/lib’; and the symlink -‘/usr/local/man’ pointing to ‘stow/perl/man’. - - Now suppose that instead of installing the Perl package into an empty -target tree, the target tree is not empty to begin with. Instead, it -contains several files and directories installed under a different -system-administration philosophy. In particular, ‘/usr/local/bin’ -already exists and is a directory, as are ‘/usr/local/lib’ and -‘/usr/local/man/man1’. In this case, Stow will descend into -‘/usr/local/bin’ and create symlinks to ‘../stow/perl/bin/perl’ and -‘../stow/perl/bin/a2p’ (etc.), and it will descend into ‘/usr/local/lib’ -and create the tree-folding symlink ‘perl’ pointing to -‘../stow/perl/lib/perl’, and so on. As a rule, Stow only descends as -far as necessary into the target tree when it can create a tree-folding -symlink. However, this behaviour can be changed via the ‘--no-folding’ -option; *note Invoking Stow::. - -5.2 Tree unfolding -================== - -The time often comes when a tree-folding symlink has to be undone -because another package uses one or more of the folded subdirectories in -its installation image. This operation is called “splitting open” or -“unfolding” a folded tree. It involves removing the original symlink -from the target tree, creating a true directory in its place, and then -populating the new directory with symlinks to the newly-installed -package _and_ to the old package that used the old symlink. For -example, suppose that after installing Perl into an empty ‘/usr/local’, -we wish to install Emacs. Emacs’s installation image includes a ‘bin’ -directory containing the ‘emacs’ and ‘etags’ executables, among others. -Stow must make these files appear to be installed in ‘/usr/local/bin’, -but presently ‘/usr/local/bin’ is a symlink to ‘stow/perl/bin’. Stow -therefore takes the following steps: the symlink ‘/usr/local/bin’ is -deleted; the directory ‘/usr/local/bin’ is created; links are made from -‘/usr/local/bin’ to ‘../stow/emacs/bin/emacs’ and -‘../stow/emacs/bin/etags’; and links are made from ‘/usr/local/bin’ to -‘../stow/perl/bin/perl’ and ‘../stow/perl/bin/a2p’. - -5.3 Ownership -============= - -When splitting open a folded tree, Stow makes sure that the symlink it -is about to remove points inside a valid package in the current stow -directory. _Stow will never delete anything that it doesn’t own_. Stow -“owns” everything living in the target tree that points into a package -in the stow directory. Anything Stow owns, it can recompute if lost: -symlinks that point into a package in the stow directory, or directories -that only contain symlinks that stow “owns”. Note that by this -definition, Stow doesn’t “own” anything _in_ the stow directory or in -any of the packages. - -5.4 Conflicts during installation -================================= - -If Stow needs to create a directory or a symlink in the target tree and -it cannot because that name is already in use and is not owned by Stow, -then a “conflict” has arisen. *Note Conflicts::. - - -File: stow.info, Node: Deleting Packages, Next: Conflicts, Prev: Installing Packages, Up: Top - -6 Deleting Packages -******************* - -When the ‘-D’ option is given, the action of Stow is to delete a package -from the target tree. Note that Stow will not delete anything it -doesn’t “own”. Deleting a package does _not_ mean removing it from the -stow directory or discarding the package tree. - - To delete a package, Stow recursively scans the target tree, skipping -over any directory that is not included in the installation image.(1) -For example, if the target directory is ‘/usr/local’ and the -installation image for the package being deleted has only a ‘bin’ -directory and a ‘man’ directory at the top level, then we only scan -‘/usr/local/bin’ and ‘/usr/local/man’, and not ‘/usr/local/lib’ or -‘/usr/local/share’, or for that matter ‘/usr/local/stow’. Any symlink -it finds that points into the package being deleted is removed. Any -directory that contained only symlinks to the package being deleted is -removed. - -6.1 Refolding “foldable” trees. -=============================== - -After removing symlinks and empty subdirectories, any directory that -contains only symlinks to a single other package is considered to be a -previously “folded” tree that was “split open.” Stow will refold the -tree by removing the symlinks to the surviving package, removing the -directory, then linking the directory back to the surviving package. -However, this behaviour can be prevented via the ‘--no-folding’ option; -*note Invoking Stow::. - - ---------- Footnotes ---------- - - (1) This approach was introduced in version 2 of GNU Stow. -Previously, the whole target tree was scanned and stow directories were -explicitly omitted. This became problematic when dealing with very -large installations. The only situation where this is useful is if you -accidentally delete a directory in the package tree, leaving you with a -whole bunch of dangling links. Note that you can enable the old -approach with the ‘-p’ option. Alternatively, you can use the -‘--badlinks’ option get stow to search for dangling links in your target -tree and remove the offenders manually. - - -File: stow.info, Node: Conflicts, Next: Mixing Operations, Prev: Deleting Packages, Up: Top - -7 Conflicts -*********** - -If, during installation, a file or symlink exists in the target tree and -has the same name as something Stow needs to create, and if the existing -name is not a folded tree that can be split open, then a “conflict” has -arisen. A conflict also occurs if a directory exists where Stow needs -to place a symlink to a non-directory. On the other hand, if the -existing name is merely a symlink that already points where Stow needs -it to, then no conflict has occurred. (Thus it is harmless to install a -package that has already been installed.) - - For complex packages, scanning the stow and target trees in tandem, -and deciding whether to make directories or links, split-open or fold -directories, can actually take a long time (a number of seconds). -Moreover, an accurate analysis of potential conflicts requires us to -take into account all of these operations. - -7.1 Deferred Operation -====================== - -Since version 2.0, Stow now adopts a two-phase algorithm, first scanning -for any potential conflicts before any stowing or unstowing operations -are performed. If any conflicts are found, they are displayed and then -Stow terminates without making any modifications to the filesystem. -This means that there is much less risk of a package being partially -stowed or unstowed due to conflicts. - - Prior to version 2.0, if a conflict was discovered, the stow or -unstow operation could be aborted mid-flow, leaving the target tree in -an inconsistent state. - - -File: stow.info, Node: Mixing Operations, Next: Multiple Stow Directories, Prev: Conflicts, Up: Top - -8 Mixing Operations -******************* - -Since version 2.0, multiple distinct actions can be specified in a -single invocation of GNU Stow. For example, to update an installation -of Emacs from version 21.3 to 21.4a you can now do the following: - - stow -D emacs-21.3 -S emacs-21.4a - -which will replace emacs-21.3 with emacs-21.4a using a single -invocation. - - This is much faster and cleaner than performing two separate -invocations of stow, because redundant folding/unfolding operations can -be factored out. In addition, all the operations are calculated and -merged before being executed (*note Deferred Operation::), so the amount -of time in which GNU Emacs is unavailable is minimised. - - You can mix and match any number of actions, for example, - - stow -S pkg1 pkg2 -D pkg3 pkg4 -S pkg5 -R pkg6 - -will unstow pkg3, pkg4 and pkg6, then stow pkg1, pkg2, pkg5 and pkg6. - - -File: stow.info, Node: Multiple Stow Directories, Next: Target Maintenance, Prev: Mixing Operations, Up: Top - -9 Multiple Stow Directories -*************************** - -If there are two or more system administrators who wish to maintain -software separately, or if there is any other reason to want two or more -stow directories, it can be done by creating a file named ‘.stow’ in -each stow directory. The presence of ‘/usr/local/foo/.stow’ informs -Stow that, though ‘foo’ is not the current stow directory, even if it is -a subdirectory of the target directory, nevertheless it is _a_ stow -directory and as such Stow doesn’t “own” anything in it (*note -Installing Packages::). This will protect the contents of ‘foo’ from a -‘stow -D’, for instance. - - When multiple stow directories share a target tree, if a tree-folding -symlink is encountered and needs to be split open during an -installation, as long as the top-level stow directory into which the -existing symlink points contains ‘.stow’, Stow knows how to split open -the tree in the correct manner. - - -File: stow.info, Node: Target Maintenance, Next: Resource Files, Prev: Multiple Stow Directories, Up: Top - -10 Target Maintenance -********************* - -From time to time you will need to clean up your target tree. Since -version 2, Stow provides a new utility ‘chkstow’ to help with this. It -includes three operational modes which performs checks that would -generally be too expensive to be performed during normal stow execution. - - The syntax of the ‘chkstow’ command is: - - chkstow [OPTIONS] - -The following options are supported: - -‘-t DIR’ -‘--target=DIR’ - Set the target directory to DIR instead of the parent of the stow - directory. Defaults to the parent of the stow directory, so it is - typical to execute ‘stow’ from the directory ‘/usr/local/stow’. - -‘-b’ -‘--badlinks’ - Checks target directory for bogus symbolic links. That is, links - that point to non-existent files. - -‘-a’ -‘--aliens’ - Checks for files in the target directory that are not symbolic - links. The target directory should be managed by stow alone, - except for directories that contain a ‘.stow’ file. - -‘-l’ -‘--list’ - Will display the target package for every symbolic link in the stow - target directory. - - -File: stow.info, Node: Resource Files, Next: Compile-time vs. Install-time, Prev: Target Maintenance, Up: Top - -11 Resource Files -***************** - -Default command line options may be set in ‘.stowrc’ (current directory) -or ‘~/.stowrc’ (home directory). These are parsed in that order, and -are appended together if they both exist. The effect of the options in -the resource file is similar to simply prepending the options to the -command line. This feature can be used for some interesting effects. - - For example, suppose your site uses more than one stow directory, -perhaps in order to share around responsibilities with a number of -systems administrators. One of the administrators might have the -following in their ‘~/.stowrc’ file: - - --dir=/usr/local/stow2 - --target=/usr/local - --ignore='~' - --ignore='^CVS' - - so that the ‘stow’ command will default to operating on the -‘/usr/local/stow2’ directory, with ‘/usr/local’ as the target, and -ignoring vi backup files and CVS directories. - - If you had a stow directory ‘/usr/local/stow/perl-extras’ that was -only used for Perl modules, then you might place the following in -‘/usr/local/stow/perl-extras/.stowrc’: - - --dir=/usr/local/stow/perl-extras - --target=/usr/local - --override=bin - --override=man - --ignore='perllocal\.pod' - --ignore='\.packlist' - --ignore='\.bs' - - so that when you are in the ‘/usr/local/stow/perl-extras’ directory, -‘stow’ will regard any subdirectories as stow packages, with -‘/usr/local’ as the target (rather than the immediate parent directory -‘/usr/local/stow’), overriding any pre-existing links to bin files or -man pages, and ignoring some cruft that gets installed by default. - - If an option is provided both on the command line and in a resource -file, the command line option takes precedence. For options that -provide a single value, such as ‘--target’ or ‘--dir’, the command line -option will overwrite any options in the resource file. For options -that can be given more than once, ‘--ignore’ for example, command line -options and resource options are appended together. - - For options that take a file path, environment variables and the -tilde character (‘~’) are expanded. An environment variable can be -given in either the ‘$VAR’ or ‘${VAR}’ form. To prevent expansion, -escape the ‘$’ or ‘~’ with a backslash. Since these values are first -subject to standard shell quoting rules, if you want special characters -such as ‘\b’ or ‘$’ to be treated as regular expression assertions then -they will need extra escaping, i.e. ‘\\b’ and ‘\\\$’ respectively. - - The options ‘-D’, ‘-S’, and ‘-R’ are ignored in resource files. This -is also true of any package names given in the resource file. - - -File: stow.info, Node: Compile-time vs. Install-time, Next: Bootstrapping, Prev: Resource Files, Up: Top - -12 Compile-time vs. Install-time -******************************** - -Software whose installation is managed with Stow needs to be installed -in one place (the package directory, e.g. ‘/usr/local/stow/perl’) but -needs to appear to run in another place (the target tree, e.g., -‘/usr/local’). Why is this important? What’s wrong with Perl, for -instance, looking for its files in ‘/usr/local/stow/perl’ instead of in -‘/usr/local’? - - The answer is that there may be another package, e.g., -‘/usr/local/stow/perl-extras’, stowed under ‘/usr/local’. If Perl is -configured to find its files in ‘/usr/local/stow/perl’, it will never -find the extra files in the ‘perl-extras’ package, even though they’re -intended to be found by Perl. On the other hand, if Perl looks for its -files in ‘/usr/local’, then it will find the intermingled Perl and -‘perl-extras’ files. - - This means that when you compile a package, you must tell it the -location of the run-time, or target tree; but when you install it, you -must place it in the stow tree. - -12.1 Advice on changing compilation and installation parameters -=============================================================== - -Some software packages allow you to specify, at compile-time, separate -locations for installation and for run-time. Perl is one such package; -see *note Perl and Perl 5 Modules::. Others allow you to compile the -package, then give a different destination in the ‘make install’ step -without causing the binaries or other files to get rebuilt. Most GNU -software falls into this category; Emacs is a notable exception. *Note -GNU Emacs::, and *note Other FSF Software::. - - Still other software packages cannot abide the idea of separate -installation and run-time locations at all. If you try to ‘make install -prefix=/usr/local/stow/FOO’, then first the whole package will be -recompiled to hardwire the ‘/usr/local/stow/FOO’ path. With these -packages, it is best to compile normally, then run ‘make -n install’, -which should report all the steps needed to install the just-built -software. Place this output into a file, edit the commands in the file -to remove recompilation steps and to reflect the Stow-based installation -location, and execute the edited file as a shell script in place of -‘make install’. Be sure to execute the script using the same shell that -‘make install’ would have used. - - (If you use GNU Make and a shell [such as GNU bash] that understands -‘pushd’ and ‘popd’, you can do the following: - - 1. Replace all lines matching ‘make[N]: Entering directory DIR’ with - ‘pushd DIR’. - 2. Replace all lines matching ‘make[N]: Leaving directory DIR’ with - ‘popd’. - 3. Delete all lines matching ‘make[N]: Nothing to be done for RULE’. - - Then find other lines in the output containing ‘cd’ or ‘make’ -commands and rewrite or delete them. In particular, you should be able -to delete sections of the script that resemble this: - - for i in DIR_1 DIR_2 ...; do \ - (cd $i; make ARGS ...) \ - done - -Note, that’s “should be able to,” not “can.” Be sure to modulate these -guidelines with plenty of your own intelligence. - - The details of stowing some specific packages are described in the -following sections. - -* Menu: - -* GNU Emacs:: -* Other FSF Software:: -* Cygnus Software:: -* Perl and Perl 5 Modules:: - - -File: stow.info, Node: GNU Emacs, Next: Other FSF Software, Prev: Compile-time vs. Install-time, Up: Compile-time vs. Install-time - -12.2 GNU Emacs -============== - -Although the Free Software Foundation has many enlightened practices -regarding Makefiles and software installation (see *note Other FSF -Software::), Emacs, its flagship program, doesn’t quite follow the -rules. In particular, most GNU software allows you to write: - - make - make install prefix=/usr/local/stow/PACKAGE - -If you try this with Emacs, then the new value for PREFIX in the ‘make -install’ step will cause some files to get recompiled with the new value -of PREFIX wired into them. In Emacs 19.23 and later,(1) the way to work -around this problem is: - - make - make install-arch-dep install-arch-indep prefix=/usr/local/stow/emacs - - In 19.22 and some prior versions of Emacs, the workaround was: - - make - make do-install prefix=/usr/local/stow/emacs - - ---------- Footnotes ---------- - - (1) As I write this, the current version of Emacs is 19.31. - - -File: stow.info, Node: Other FSF Software, Next: Cygnus Software, Prev: GNU Emacs, Up: Compile-time vs. Install-time - -12.3 Other FSF Software -======================= - -The Free Software Foundation, the organization behind the GNU project, -has been unifying the build procedure for its tools for some time. -Thanks to its tools ‘autoconf’ and ‘automake’, most packages now respond -well to these simple steps, with no other intervention necessary: - - ./configure OPTIONS - make - make install prefix=/usr/local/stow/PACKAGE - - Hopefully, these tools can evolve to be aware of Stow-managed -packages, such that providing an option to ‘configure’ can allow ‘make’ -and ‘make install’ steps to work correctly without needing to “fool” the -build process. - - -File: stow.info, Node: Cygnus Software, Next: Perl and Perl 5 Modules, Prev: Other FSF Software, Up: Compile-time vs. Install-time - -12.4 Cygnus Software -==================== - -Cygnus is a commercial supplier and supporter of GNU software. It has -also written several of its own packages, released under the terms of -the GNU General Public License; and it has taken over the maintenance of -other packages. Among the packages released by Cygnus are ‘gdb’, -‘gnats’, and ‘dejagnu’. - - Cygnus packages have the peculiarity that each one unpacks into a -directory tree with a generic top-level Makefile, which is set up to -compile _all_ of Cygnus’ packages, any number of which may reside under -the top-level directory. In other words, even if you’re only building -‘gnats’, the top-level Makefile will look for, and try to build, ‘gdb’ -and ‘dejagnu’ subdirectories, among many others. - - The result is that if you try ‘make -n install -prefix=/usr/local/stow/PACKAGE’ at the top level of a Cygnus package, -you’ll get a bewildering amount of output. It will then be very -difficult to visually scan the output to see whether the install will -proceed correctly. Unfortunately, it’s not always clear how to invoke -an install from the subdirectory of interest. - - In cases like this, the best approach is to run your ‘make install -prefix=...’, but be ready to interrupt it if you detect that it is -recompiling files. Usually it will work just fine; otherwise, install -manually. - - -File: stow.info, Node: Perl and Perl 5 Modules, Prev: Cygnus Software, Up: Compile-time vs. Install-time - -12.5 Perl and Perl 5 Modules -============================ - -Perl 4.036 allows you to specify different locations for installation -and for run-time. It is the only widely-used package in this author’s -experience that allows this, though hopefully more packages will adopt -this model. - - Unfortunately, the authors of Perl believed that only AFS sites need -this ability. The configuration instructions for Perl 4 misleadingly -state that some occult means are used under AFS to transport files from -their installation tree to their run-time tree. In fact, that confusion -arises from the fact that Depot, Stow’s predecessor, originated at -Carnegie Mellon University, which was also the birthplace of AFS. CMU’s -need to separate install-time and run-time trees stemmed from its use of -Depot, not from AFS. - - The result of this confusion is that Perl 5’s configuration script -doesn’t even offer the option of separating install-time and run-time -trees _unless_ you’re running AFS. Fortunately, after you’ve entered all -the configuration settings, Perl’s setup script gives you the -opportunity to edit those settings in a file called ‘config.sh’. When -prompted, you should edit this file and replace occurrences of - - inst.../usr/local... - -with - - inst.../usr/local/stow/perl... - -You can do this with the following Unix command: - - sed 's,^\(inst.*/usr/local\),\1/stow/perl,' config.sh > config.sh.new - mv config.sh.new config.sh - - Hopefully, the Perl authors will correct this deficiency in Perl 5’s -configuration mechanism. - - Perl 5 modules—i.e., extensions to Perl 5—generally conform to a set -of standards for building and installing them. The standard says that -the package comes with a top-level ‘Makefile.PL’, which is a Perl -script. When it runs, it generates a ‘Makefile’. - - If you followed the instructions above for editing ‘config.sh’ when -Perl was built, then when you create a ‘Makefile’ from a ‘Makefile.PL’, -it will contain separate locations for run-time (‘/usr/local’) and -install-time (‘/usr/local/stow/perl’). Thus you can do - - perl Makefile.PL - make - make install - -and the files will be installed into ‘/usr/local/stow/perl’. However, -you might prefer each Perl module to be stowed separately. In that -case, you must edit the resulting Makefile, replacing -‘/usr/local/stow/perl’ with ‘/usr/local/stow/MODULE’. The best way to -do this is: - - perl Makefile.PL - find . -name Makefile -print | \ - xargs perl -pi~ -e 's,^(INST.*/stow)/perl,$1/MODULE,;' - make - make install - -(The use of ‘find’ and ‘xargs’ ensures that all Makefiles in the -module’s source tree, even those in subdirectories, get edited.) A good -convention to follow is to name the stow directory for a Perl MODULE -‘cpan.MODULE’, where ‘cpan’ stands for Comprehensive Perl Archive -Network, a collection of FTP sites that is the source of most Perl 5 -extensions. This way, it’s easy to tell at a glance which of the -subdirectories of ‘/usr/local/stow’ are Perl 5 extensions. - - When you stow separate Perl 5 modules separately, you are likely to -encounter conflicts (*note Conflicts::) with files named ‘.exists’ and -‘perllocal.pod’. One way to work around this is to remove those files -before stowing the module. If you use the ‘cpan.MODULE’ naming -convention, you can simply do this: - - cd /usr/local/stow - find cpan.* \( -name .exists -o -name perllocal.pod \) -print | \ - xargs rm - - -File: stow.info, Node: Bootstrapping, Next: Reporting Bugs, Prev: Compile-time vs. Install-time, Up: Top - -13 Bootstrapping -**************** - -Suppose you have a stow directory all set up and ready to go: -‘/usr/local/stow/perl’ contains the Perl installation, -‘/usr/local/stow/stow’ contains Stow itself, and perhaps you have other -packages waiting to be stowed. You’d like to be able to do this: - - cd /usr/local/stow - stow -vv * - -but ‘stow’ is not yet in your ‘PATH’. Nor can you do this: - - cd /usr/local/stow - stow/bin/stow -vv * - -because the ‘#!’ line at the beginning of ‘stow’ tries to locate Perl -(usually in ‘/usr/local/bin/perl’), and that won’t be found. The -solution you must use is: - - cd /usr/local/stow - perl/bin/perl stow/bin/stow -vv * - - -File: stow.info, Node: Reporting Bugs, Next: Known Bugs, Prev: Bootstrapping, Up: Top - -14 Reporting Bugs -***************** - -You can report bugs to the current maintainers in one of three ways: - - 1. Send e-mail to <bug-stow@gnu.org>. - - 2. File an issue in the Savannah bug tracker - (https://savannah.gnu.org/bugs/?group=stow). - - 3. File an issue in the GitHub project - (https://github.com/aspiers/stow/issues/). - - While GitHub is arguably the most convenient of these three options, -it is not the most ethical or freedom-preserving way to host software -projects -(https://www.gnu.org/software/repo-criteria-evaluation.html#GitHub). -Therefore the GitHub project may be moved to a more ethical hosting -service (https://github.com/aspiers/stow/issues/43) in the future. - - Before reporting a bug, it is recommended to check whether it is -already known, so please first *note Known Bugs::. - - When reporting a new bug, please include: - - • the version number of Stow (‘stow --version’); - - • the version number of Perl (‘perl -v’); - - • the system information, which can often be obtained with ‘uname - -a’; - - • a description of the bug; - - • the precise command you gave; - - • the output from the command (preferably verbose output, obtained by - adding ‘--verbose=5’ to the Stow command line). - - If you are really keen, consider developing a minimal test case and -creating a new test. See the ‘t/’ directory in the source for lots of -examples, and the ‘CONTRIBUTING.md’ file for a guide on how to -contribute. - - Before reporting a bug, please read the manual carefully, especially -*note Known Bugs::, to see whether you’re encountering something that -doesn’t need reporting. (*note Conflicts::). - - -File: stow.info, Node: Known Bugs, Next: GNU General Public License, Prev: Reporting Bugs, Up: Top - -15 Known Bugs -************* - -Known bugs can be found in the following locations: - - • the GitHub issue tracker (https://github.com/aspiers/stow/issues/) - - • the Savannah bug tracker - (https://savannah.gnu.org/bugs/?group=stow) - - • the bug-stow list archives - (https://lists.gnu.org/archive/html/bug-stow/) - - If you think you have found a new bug, please *note Reporting Bugs::. - - -File: stow.info, Node: GNU General Public License, Next: Index, Prev: Known Bugs, Up: Top - -GNU General Public License -************************** - - Version 3, 29 June 2007 - - Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/> - - Everyone is permitted to copy and distribute verbatim copies of this - license document, but changing it is not allowed. - -Preamble -======== - -The GNU General Public License is a free, copyleft license for software -and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program—to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers’ and authors’ protection, the GPL clearly explains -that there is no warranty for this free software. For both users’ and -authors’ sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users’ freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - -TERMS AND CONDITIONS -==================== - - 0. Definitions. - - “This License” refers to version 3 of the GNU General Public - License. - - “Copyright” also means copyright-like laws that apply to other - kinds of works, such as semiconductor masks. - - “The Program” refers to any copyrightable work licensed under this - License. Each licensee is addressed as “you”. “Licensees” and - “recipients” may be individuals or organizations. - - To “modify” a work means to copy from or adapt all or part of the - work in a fashion requiring copyright permission, other than the - making of an exact copy. The resulting work is called a “modified - version” of the earlier work or a work “based on” the earlier work. - - A “covered work” means either the unmodified Program or a work - based on the Program. - - To “propagate” a work means to do anything with it that, without - permission, would make you directly or secondarily liable for - infringement under applicable copyright law, except executing it on - a computer or modifying a private copy. Propagation includes - copying, distribution (with or without modification), making - available to the public, and in some countries other activities as - well. - - To “convey” a work means any kind of propagation that enables other - parties to make or receive copies. Mere interaction with a user - through a computer network, with no transfer of a copy, is not - conveying. - - An interactive user interface displays “Appropriate Legal Notices” - to the extent that it includes a convenient and prominently visible - feature that (1) displays an appropriate copyright notice, and (2) - tells the user that there is no warranty for the work (except to - the extent that warranties are provided), that licensees may convey - the work under this License, and how to view a copy of this - License. If the interface presents a list of user commands or - options, such as a menu, a prominent item in the list meets this - criterion. - - 1. Source Code. - - The “source code” for a work means the preferred form of the work - for making modifications to it. “Object code” means any non-source - form of a work. - - A “Standard Interface” means an interface that either is an - official standard defined by a recognized standards body, or, in - the case of interfaces specified for a particular programming - language, one that is widely used among developers working in that - language. - - The “System Libraries” of an executable work include anything, - other than the work as a whole, that (a) is included in the normal - form of packaging a Major Component, but which is not part of that - Major Component, and (b) serves only to enable use of the work with - that Major Component, or to implement a Standard Interface for - which an implementation is available to the public in source code - form. A “Major Component”, in this context, means a major - essential component (kernel, window system, and so on) of the - specific operating system (if any) on which the executable work - runs, or a compiler used to produce the work, or an object code - interpreter used to run it. - - The “Corresponding Source” for a work in object code form means all - the source code needed to generate, install, and (for an executable - work) run the object code and to modify the work, including scripts - to control those activities. However, it does not include the - work’s System Libraries, or general-purpose tools or generally - available free programs which are used unmodified in performing - those activities but which are not part of the work. For example, - Corresponding Source includes interface definition files associated - with source files for the work, and the source code for shared - libraries and dynamically linked subprograms that the work is - specifically designed to require, such as by intimate data - communication or control flow between those subprograms and other - parts of the work. - - The Corresponding Source need not include anything that users can - regenerate automatically from other parts of the Corresponding - Source. - - The Corresponding Source for a work in source code form is that - same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of - copyright on the Program, and are irrevocable provided the stated - conditions are met. This License explicitly affirms your unlimited - permission to run the unmodified Program. The output from running - a covered work is covered by this License only if the output, given - its content, constitutes a covered work. This License acknowledges - your rights of fair use or other equivalent, as provided by - copyright law. - - You may make, run and propagate covered works that you do not - convey, without conditions so long as your license otherwise - remains in force. You may convey covered works to others for the - sole purpose of having them make modifications exclusively for you, - or provide you with facilities for running those works, provided - that you comply with the terms of this License in conveying all - material for which you do not control copyright. Those thus making - or running the covered works for you must do so exclusively on your - behalf, under your direction and control, on terms that prohibit - them from making any copies of your copyrighted material outside - their relationship with you. - - Conveying under any other circumstances is permitted solely under - the conditions stated below. Sublicensing is not allowed; section - 10 makes it unnecessary. - - 3. Protecting Users’ Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological - measure under any applicable law fulfilling obligations under - article 11 of the WIPO copyright treaty adopted on 20 December - 1996, or similar laws prohibiting or restricting circumvention of - such measures. - - When you convey a covered work, you waive any legal power to forbid - circumvention of technological measures to the extent such - circumvention is effected by exercising rights under this License - with respect to the covered work, and you disclaim any intention to - limit operation or modification of the work as a means of - enforcing, against the work’s users, your or third parties’ legal - rights to forbid circumvention of technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program’s source code as you - receive it, in any medium, provided that you conspicuously and - appropriately publish on each copy an appropriate copyright notice; - keep intact all notices stating that this License and any - non-permissive terms added in accord with section 7 apply to the - code; keep intact all notices of the absence of any warranty; and - give all recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, - and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to - produce it from the Program, in the form of source code under the - terms of section 4, provided that you also meet all of these - conditions: - - a. The work must carry prominent notices stating that you - modified it, and giving a relevant date. - - b. The work must carry prominent notices stating that it is - released under this License and any conditions added under - section 7. This requirement modifies the requirement in - section 4 to “keep intact all notices”. - - c. You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable - section 7 additional terms, to the whole of the work, and all - its parts, regardless of how they are packaged. This License - gives no permission to license the work in any other way, but - it does not invalidate such permission if you have separately - received it. - - d. If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has - interactive interfaces that do not display Appropriate Legal - Notices, your work need not make them do so. - - A compilation of a covered work with other separate and independent - works, which are not by their nature extensions of the covered - work, and which are not combined with it such as to form a larger - program, in or on a volume of a storage or distribution medium, is - called an “aggregate” if the compilation and its resulting - copyright are not used to limit the access or legal rights of the - compilation’s users beyond what the individual works permit. - Inclusion of a covered work in an aggregate does not cause this - License to apply to the other parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms - of sections 4 and 5, provided that you also convey the - machine-readable Corresponding Source under the terms of this - License, in one of these ways: - - a. Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b. Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that - product model, to give anyone who possesses the object code - either (1) a copy of the Corresponding Source for all the - software in the product that is covered by this License, on a - durable physical medium customarily used for software - interchange, for a price no more than your reasonable cost of - physically performing this conveying of source, or (2) access - to copy the Corresponding Source from a network server at no - charge. - - c. Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, - and only if you received the object code with such an offer, - in accord with subsection 6b. - - d. Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to - the Corresponding Source in the same way through the same - place at no further charge. You need not require recipients - to copy the Corresponding Source along with the object code. - If the place to copy the object code is a network server, the - Corresponding Source may be on a different server (operated by - you or a third party) that supports equivalent copying - facilities, provided you maintain clear directions next to the - object code saying where to find the Corresponding Source. - Regardless of what server hosts the Corresponding Source, you - remain obligated to ensure that it is available for as long as - needed to satisfy these requirements. - - e. Convey the object code using peer-to-peer transmission, - provided you inform other peers where the object code and - Corresponding Source of the work are being offered to the - general public at no charge under subsection 6d. - - A separable portion of the object code, whose source code is - excluded from the Corresponding Source as a System Library, need - not be included in conveying the object code work. - - A “User Product” is either (1) a “consumer product”, which means - any tangible personal property which is normally used for personal, - family, or household purposes, or (2) anything designed or sold for - incorporation into a dwelling. In determining whether a product is - a consumer product, doubtful cases shall be resolved in favor of - coverage. For a particular product received by a particular user, - “normally used” refers to a typical or common use of that class of - product, regardless of the status of the particular user or of the - way in which the particular user actually uses, or expects or is - expected to use, the product. A product is a consumer product - regardless of whether the product has substantial commercial, - industrial or non-consumer uses, unless such uses represent the - only significant mode of use of the product. - - “Installation Information” for a User Product means any methods, - procedures, authorization keys, or other information required to - install and execute modified versions of a covered work in that - User Product from a modified version of its Corresponding Source. - The information must suffice to ensure that the continued - functioning of the modified object code is in no case prevented or - interfered with solely because modification has been made. - - If you convey an object code work under this section in, or with, - or specifically for use in, a User Product, and the conveying - occurs as part of a transaction in which the right of possession - and use of the User Product is transferred to the recipient in - perpetuity or for a fixed term (regardless of how the transaction - is characterized), the Corresponding Source conveyed under this - section must be accompanied by the Installation Information. But - this requirement does not apply if neither you nor any third party - retains the ability to install modified object code on the User - Product (for example, the work has been installed in ROM). - - The requirement to provide Installation Information does not - include a requirement to continue to provide support service, - warranty, or updates for a work that has been modified or installed - by the recipient, or for the User Product in which it has been - modified or installed. Access to a network may be denied when the - modification itself materially and adversely affects the operation - of the network or violates the rules and protocols for - communication across the network. - - Corresponding Source conveyed, and Installation Information - provided, in accord with this section must be in a format that is - publicly documented (and with an implementation available to the - public in source code form), and must require no special password - or key for unpacking, reading or copying. - - 7. Additional Terms. - - “Additional permissions” are terms that supplement the terms of - this License by making exceptions from one or more of its - conditions. Additional permissions that are applicable to the - entire Program shall be treated as though they were included in - this License, to the extent that they are valid under applicable - law. If additional permissions apply only to part of the Program, - that part may be used separately under those permissions, but the - entire Program remains governed by this License without regard to - the additional permissions. - - When you convey a copy of a covered work, you may at your option - remove any additional permissions from that copy, or from any part - of it. (Additional permissions may be written to require their own - removal in certain cases when you modify the work.) You may place - additional permissions on material, added by you to a covered work, - for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material - you add to a covered work, you may (if authorized by the copyright - holders of that material) supplement the terms of this License with - terms: - - a. Disclaiming warranty or limiting liability differently from - the terms of sections 15 and 16 of this License; or - - b. Requiring preservation of specified reasonable legal notices - or author attributions in that material or in the Appropriate - Legal Notices displayed by works containing it; or - - c. Prohibiting misrepresentation of the origin of that material, - or requiring that modified versions of such material be marked - in reasonable ways as different from the original version; or - - d. Limiting the use for publicity purposes of names of licensors - or authors of the material; or - - e. Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f. Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified - versions of it) with contractual assumptions of liability to - the recipient, for any liability that these contractual - assumptions directly impose on those licensors and authors. - - All other non-permissive additional terms are considered “further - restrictions” within the meaning of section 10. If the Program as - you received it, or any part of it, contains a notice stating that - it is governed by this License along with a term that is a further - restriction, you may remove that term. If a license document - contains a further restriction but permits relicensing or conveying - under this License, you may add to a covered work material governed - by the terms of that license document, provided that the further - restriction does not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you - must place, in the relevant source files, a statement of the - additional terms that apply to those files, or a notice indicating - where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in - the form of a separately written license, or stated as exceptions; - the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly - provided under this License. Any attempt otherwise to propagate or - modify it is void, and will automatically terminate your rights - under this License (including any patent licenses granted under the - third paragraph of section 11). - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from you - under this License. If your rights have been terminated and not - permanently reinstated, you do not qualify to receive new licenses - for the same material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or - run a copy of the Program. Ancillary propagation of a covered work - occurring solely as a consequence of using peer-to-peer - transmission to receive a copy likewise does not require - acceptance. However, nothing other than this License grants you - permission to propagate or modify any covered work. These actions - infringe copyright if you do not accept this License. Therefore, - by modifying or propagating a covered work, you indicate your - acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically - receives a license from the original licensors, to run, modify and - propagate that work, subject to this License. You are not - responsible for enforcing compliance by third parties with this - License. - - An “entity transaction” is a transaction transferring control of an - organization, or substantially all assets of one, or subdividing an - organization, or merging organizations. If propagation of a - covered work results from an entity transaction, each party to that - transaction who receives a copy of the work also receives whatever - licenses to the work the party’s predecessor in interest had or - could give under the previous paragraph, plus a right to possession - of the Corresponding Source of the work from the predecessor in - interest, if the predecessor has it or can get it with reasonable - efforts. - - You may not impose any further restrictions on the exercise of the - rights granted or affirmed under this License. For example, you - may not impose a license fee, royalty, or other charge for exercise - of rights granted under this License, and you may not initiate - litigation (including a cross-claim or counterclaim in a lawsuit) - alleging that any patent claim is infringed by making, using, - selling, offering for sale, or importing the Program or any portion - of it. - - 11. Patents. - - A “contributor” is a copyright holder who authorizes use under this - License of the Program or a work on which the Program is based. - The work thus licensed is called the contributor’s “contributor - version”. - - A contributor’s “essential patent claims” are all patent claims - owned or controlled by the contributor, whether already acquired or - hereafter acquired, that would be infringed by some manner, - permitted by this License, of making, using, or selling its - contributor version, but do not include claims that would be - infringed only as a consequence of further modification of the - contributor version. For purposes of this definition, “control” - includes the right to grant patent sublicenses in a manner - consistent with the requirements of this License. - - Each contributor grants you a non-exclusive, worldwide, - royalty-free patent license under the contributor’s essential - patent claims, to make, use, sell, offer for sale, import and - otherwise run, modify and propagate the contents of its contributor - version. - - In the following three paragraphs, a “patent license” is any - express agreement or commitment, however denominated, not to - enforce a patent (such as an express permission to practice a - patent or covenant not to sue for patent infringement). To “grant” - such a patent license to a party means to make such an agreement or - commitment not to enforce a patent against the party. - - If you convey a covered work, knowingly relying on a patent - license, and the Corresponding Source of the work is not available - for anyone to copy, free of charge and under the terms of this - License, through a publicly available network server or other - readily accessible means, then you must either (1) cause the - Corresponding Source to be so available, or (2) arrange to deprive - yourself of the benefit of the patent license for this particular - work, or (3) arrange, in a manner consistent with the requirements - of this License, to extend the patent license to downstream - recipients. “Knowingly relying” means you have actual knowledge - that, but for the patent license, your conveying the covered work - in a country, or your recipient’s use of the covered work in a - country, would infringe one or more identifiable patents in that - country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or - arrangement, you convey, or propagate by procuring conveyance of, a - covered work, and grant a patent license to some of the parties - receiving the covered work authorizing them to use, propagate, - modify or convey a specific copy of the covered work, then the - patent license you grant is automatically extended to all - recipients of the covered work and works based on it. - - A patent license is “discriminatory” if it does not include within - the scope of its coverage, prohibits the exercise of, or is - conditioned on the non-exercise of one or more of the rights that - are specifically granted under this License. You may not convey a - covered work if you are a party to an arrangement with a third - party that is in the business of distributing software, under which - you make payment to the third party based on the extent of your - activity of conveying the work, and under which the third party - grants, to any of the parties who would receive the covered work - from you, a discriminatory patent license (a) in connection with - copies of the covered work conveyed by you (or copies made from - those copies), or (b) primarily for and in connection with specific - products or compilations that contain the covered work, unless you - entered into that arrangement, or that patent license was granted, - prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting - any implied license or other defenses to infringement that may - otherwise be available to you under applicable patent law. - - 12. No Surrender of Others’ Freedom. - - If conditions are imposed on you (whether by court order, agreement - or otherwise) that contradict the conditions of this License, they - do not excuse you from the conditions of this License. If you - cannot convey a covered work so as to satisfy simultaneously your - obligations under this License and any other pertinent obligations, - then as a consequence you may not convey it at all. For example, - if you agree to terms that obligate you to collect a royalty for - further conveying from those to whom you convey the Program, the - only way you could satisfy both those terms and this License would - be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have - permission to link or combine any covered work with a work licensed - under version 3 of the GNU Affero General Public License into a - single combined work, and to convey the resulting work. The terms - of this License will continue to apply to the part which is the - covered work, but the special requirements of the GNU Affero - General Public License, section 13, concerning interaction through - a network will apply to the combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new - versions of the GNU General Public License from time to time. Such - new versions will be similar in spirit to the present version, but - may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the - Program specifies that a certain numbered version of the GNU - General Public License “or any later version” applies to it, you - have the option of following the terms and conditions either of - that numbered version or of any later version published by the Free - Software Foundation. If the Program does not specify a version - number of the GNU General Public License, you may choose any - version ever published by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future - versions of the GNU General Public License can be used, that - proxy’s public statement of acceptance of a version permanently - authorizes you to choose that version for the Program. - - Later license versions may give you additional or different - permissions. However, no additional obligations are imposed on any - author or copyright holder as a result of your choosing to follow a - later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY - APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE - COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE - RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. - SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL - NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES - AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR - DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE - THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA - BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD - PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER - PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF - THE POSSIBILITY OF SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided - above cannot be given local legal effect according to their terms, - reviewing courts shall apply local law that most closely - approximates an absolute waiver of all civil liability in - connection with the Program, unless a warranty or assumption of - liability accompanies a copy of the Program in return for a fee. - -END OF TERMS AND CONDITIONS -=========================== - -How to Apply These Terms to Your New Programs -============================================= - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least the -“copyright” line and a pointer to where the full notice is found. - - ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. - Copyright (C) YEAR NAME OF AUTHOR - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - - Also add information on how to contact you by electronic and paper -mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - PROGRAM Copyright (C) YEAR NAME OF AUTHOR - This program comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’. - This is free software, and you are welcome to redistribute it - under certain conditions; type ‘show c’ for details. - - The hypothetical commands ‘show w’ and ‘show c’ should show the -appropriate parts of the General Public License. Of course, your -program’s commands might be different; for a GUI interface, you would -use an “about box”. - - You should also get your employer (if you work as a programmer) or -school, if any, to sign a “copyright disclaimer” for the program, if -necessary. For more information on this, and how to apply and follow -the GNU GPL, see <https://www.gnu.org/licenses/>. - - The GNU General Public License does not permit incorporating your -program into proprietary programs. If your program is a subroutine -library, you may consider it more useful to permit linking proprietary -applications with the library. If this is what you want to do, use the -GNU Lesser General Public License instead of this License. But first, -please read <https://www.gnu.org/licenses/why-not-lgpl.html>. - - -File: stow.info, Node: Index, Prev: GNU General Public License, Up: Top - -Index -***** - -�[index�] -* Menu: - -* absolute symlink: Terminology. (line 50) -* adopting existing files: Invoking Stow. (line 123) -* configuration files: Resource Files. (line 6) -* conflicts: Installing Packages. (line 85) -* conflicts <1>: Conflicts. (line 6) -* deferred operation: Conflicts. (line 24) -* deferred operation <1>: Mixing Operations. (line 15) -* deletion: Deleting Packages. (line 6) -* directory folding: Installing Packages. (line 16) -* dotfiles: Invoking Stow. (line 87) -* dry run: Invoking Stow. (line 145) -* folding trees: Installing Packages. (line 16) -* ignore lists: Ignore Lists. (line 6) -* ignore lists <1>: Motivation For Ignore Lists. - (line 25) -* ignoring files and directories: Ignore Lists. (line 6) -* installation: Installing Packages. (line 6) -* installation conflicts: Installing Packages. (line 85) -* installation image: Terminology. (line 26) -* maintenance: Target Maintenance. (line 6) -* mixing operations: Mixing Operations. (line 6) -* ownership: Installing Packages. (line 72) -* package: Terminology. (line 6) -* package directory: Terminology. (line 37) -* package name: Terminology. (line 37) -* refolding trees: Deleting Packages. (line 25) -* relative symlink: Terminology. (line 50) -* resource files: Resource Files. (line 6) -* simulated run: Invoking Stow. (line 145) -* splitting open folded trees: Installing Packages. (line 51) -* stow directory: Terminology. (line 19) -* symlink: Terminology. (line 50) -* symlink destination: Terminology. (line 50) -* symlink source: Terminology. (line 50) -* target directory: Terminology. (line 11) -* tree folding: Installing Packages. (line 16) -* tree refolding: Deleting Packages. (line 25) -* tree unfolding: Installing Packages. (line 51) -* tree unsplitting: Installing Packages. (line 51) -* unfolding trees: Installing Packages. (line 51) -* verbosity levels: Invoking Stow. (line 151) - - - -Tag Table: -Node: Top1422 -Node: Introduction3083 -Ref: Introduction-Footnote-16587 -Ref: Introduction-Footnote-26696 -Ref: Introduction-Footnote-36794 -Node: Terminology6871 -Ref: symlink9373 -Node: Invoking Stow11215 -Node: Ignore Lists19793 -Node: Motivation For Ignore Lists20057 -Node: Types And Syntax Of Ignore Lists21590 -Ref: Types And Syntax Of Ignore Lists-Footnote-124907 -Ref: Types And Syntax Of Ignore Lists-Footnote-225073 -Ref: Types And Syntax Of Ignore Lists-Footnote-325321 -Node: Justification For Yet Another Set Of Ignore Files25474 -Node: Installing Packages27093 -Ref: tree folding27655 -Ref: Tree unfolding29659 -Node: Deleting Packages31816 -Ref: tree refolding32885 -Ref: Deleting Packages-Footnote-133445 -Node: Conflicts34041 -Ref: Deferred Operation35031 -Node: Mixing Operations35631 -Node: Multiple Stow Directories36620 -Node: Target Maintenance37710 -Node: Resource Files38993 -Node: Compile-time vs. Install-time41847 -Node: GNU Emacs45372 -Ref: GNU Emacs-Footnote-146365 -Node: Other FSF Software46429 -Node: Cygnus Software47215 -Node: Perl and Perl 5 Modules48735 -Node: Bootstrapping52389 -Node: Reporting Bugs53203 -Node: Known Bugs54975 -Node: GNU General Public License55481 -Node: Index93238 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/etc/profiles/per-user/bdsqqq/share/info/wget.info b/result/etc/profiles/per-user/bdsqqq/share/info/wget.info deleted file mode 100644 index 06ab42fa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/info/wget.info +++ /dev/null @@ -1,5100 +0,0 @@ -This is wget.info, produced by makeinfo version 7.1.1 from wget.texi. - -This file documents the GNU Wget utility for downloading network data. - - Copyright © 1996-2011, 2015, 2018-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". -INFO-DIR-SECTION Network applications -START-INFO-DIR-ENTRY -* Wget: (wget). Non-interactive network downloader. -END-INFO-DIR-ENTRY - - -File: wget.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) - -Wget 1.25.0 -*********** - -This file documents the GNU Wget utility for downloading network data. - - Copyright © 1996-2011, 2015, 2018-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". - -* Menu: - -* Overview:: Features of Wget. -* Invoking:: Wget command-line arguments. -* Recursive Download:: Downloading interlinked pages. -* Following Links:: The available methods of chasing links. -* Time-Stamping:: Mirroring according to time-stamps. -* Startup File:: Wget's initialization file. -* Examples:: Examples of usage. -* Various:: The stuff that doesn't fit anywhere else. -* Appendices:: Some useful references. -* Copying this manual:: You may give out copies of this manual. -* Concept Index:: Topics covered by this manual. - - -File: wget.info, Node: Overview, Next: Invoking, Prev: Top, Up: Top - -1 Overview -********** - -GNU Wget is a free utility for non-interactive download of files from -the Web. It supports HTTP, HTTPS, and FTP protocols, as well as -retrieval through HTTP proxies. - - This chapter is a partial overview of Wget's features. - - • Wget is non-interactive, meaning that it can work in the - background, while the user is not logged on. This allows you to - start a retrieval and disconnect from the system, letting Wget - finish the work. By contrast, most of the Web browsers require - constant user's presence, which can be a great hindrance when - transferring a lot of data. - - • Wget can follow links in HTML, XHTML, and CSS pages, to create - local versions of remote web sites, fully recreating the directory - structure of the original site. This is sometimes referred to as - "recursive downloading." While doing that, Wget respects the Robot - Exclusion Standard (‘/robots.txt’). Wget can be instructed to - convert the links in downloaded files to point at the local files, - for offline viewing. - - • File name wildcard matching and recursive mirroring of directories - are available when retrieving via FTP. Wget can read the - time-stamp information given by both HTTP and FTP servers, and - store it locally. Thus Wget can see if the remote file has changed - since last retrieval, and automatically retrieve the new version if - it has. This makes Wget suitable for mirroring of FTP sites, as - well as home pages. - - • Wget has been designed for robustness over slow or unstable network - connections; if a download fails due to a network problem, it will - keep retrying until the whole file has been retrieved. If the - server supports regetting, it will instruct the server to continue - the download from where it left off. - - • Wget supports proxy servers, which can lighten the network load, - speed up retrieval and provide access behind firewalls. Wget uses - the passive FTP downloading by default, active FTP being an option. - - • Wget supports IP version 6, the next generation of IP. IPv6 is - autodetected at compile-time, and can be disabled at either build - or run time. Binaries built with IPv6 support work well in both - IPv4-only and dual family environments. - - • Built-in features offer mechanisms to tune which links you wish to - follow (*note Following Links::). - - • The progress of individual downloads is traced using a progress - gauge. Interactive downloads are tracked using a - "thermometer"-style gauge, whereas non-interactive ones are traced - with dots, each dot representing a fixed amount of data received - (1KB by default). Either gauge can be customized to your - preferences. - - • Most of the features are fully configurable, either through command - line options, or via the initialization file ‘.wgetrc’ (*note - Startup File::). Wget allows you to define “global” startup files - (‘/usr/local/etc/wgetrc’ by default) for site settings. You can - also specify the location of a startup file with the -config - option. To disable the reading of config files, use -no-config. - If both -config and -no-config are given, -no-config is ignored. - - • Finally, GNU Wget is free software. This means that everyone may - use it, redistribute it and/or modify it under the terms of the GNU - General Public License, as published by the Free Software - Foundation (see the file ‘COPYING’ that came with GNU Wget, for - details). - - -File: wget.info, Node: Invoking, Next: Recursive Download, Prev: Overview, Up: Top - -2 Invoking -********** - -By default, Wget is very simple to invoke. The basic syntax is: - - wget [OPTION]... [URL]... - - Wget will simply download all the URLs specified on the command line. -URL is a “Uniform Resource Locator”, as defined below. - - However, you may wish to change some of the default parameters of -Wget. You can do it two ways: permanently, adding the appropriate -command to ‘.wgetrc’ (*note Startup File::), or specifying it on the -command line. - -* Menu: - -* URL Format:: -* Option Syntax:: -* Basic Startup Options:: -* Logging and Input File Options:: -* Download Options:: -* Directory Options:: -* HTTP Options:: -* HTTPS (SSL/TLS) Options:: -* FTP Options:: -* Recursive Retrieval Options:: -* Recursive Accept/Reject Options:: -* Exit Status:: - - -File: wget.info, Node: URL Format, Next: Option Syntax, Prev: Invoking, Up: Invoking - -2.1 URL Format -============== - -“URL” is an acronym for Uniform Resource Locator. A uniform resource -locator is a compact string representation for a resource available via -the Internet. Wget recognizes the URL syntax as per RFC1738. This is -the most widely used form (square brackets denote optional parts): - - http://host[:port]/directory/file - ftp://host[:port]/directory/file - - You can also encode your username and password within a URL: - - ftp://user:password@host/path - http://user:password@host/path - - Either USER or PASSWORD, or both, may be left out. If you leave out -either the HTTP username or password, no authentication will be sent. -If you leave out the FTP username, ‘anonymous’ will be used. If you -leave out the FTP password, your email address will be supplied as a -default password.(1) - - *Important Note*: if you specify a password-containing URL on the -command line, the username and password will be plainly visible to all -users on the system, by way of ‘ps’. On multi-user systems, this is a -big security risk. To work around it, use ‘wget -i -’ and feed the URLs -to Wget's standard input, each on a separate line, terminated by ‘C-d’. - - You can encode unsafe characters in a URL as ‘%xy’, ‘xy’ being the -hexadecimal representation of the character's ASCII value. Some common -unsafe characters include ‘%’ (quoted as ‘%25’), ‘:’ (quoted as ‘%3A’), -and ‘@’ (quoted as ‘%40’). Refer to RFC1738 for a comprehensive list of -unsafe characters. - - Wget also supports the ‘type’ feature for FTP URLs. By default, FTP -documents are retrieved in the binary mode (type ‘i’), which means that -they are downloaded unchanged. Another useful mode is the ‘a’ (“ASCII”) -mode, which converts the line delimiters between the different operating -systems, and is thus useful for text files. Here is an example: - - ftp://host/directory/file;type=a - - The two alternative variants of URL specifications are no longer -supported because of security considerations: - - FTP-only syntax (supported by ‘NcFTP’): - host:/dir/file - - HTTP-only syntax (introduced by ‘Netscape’): - host[:port]/dir/file - - These two alternative forms have been deprecated long time ago, and -support is removed with version 1.22.0. - - ---------- Footnotes ---------- - - (1) If you have a ‘.netrc’ file in your home directory, password will -also be searched for there. - - -File: wget.info, Node: Option Syntax, Next: Basic Startup Options, Prev: URL Format, Up: Invoking - -2.2 Option Syntax -================= - -Since Wget uses GNU getopt to process command-line arguments, every -option has a long form along with the short one. Long options are more -convenient to remember, but take time to type. You may freely mix -different option styles, or specify options after the command-line -arguments. Thus you may write: - - wget -r --tries=10 http://fly.srk.fer.hr/ -o log - - The space between the option accepting an argument and the argument -may be omitted. Instead of ‘-o log’ you can write ‘-olog’. - - You may put several options that do not require arguments together, -like: - - wget -drc URL - - This is completely equivalent to: - - wget -d -r -c URL - - Since the options can be specified after the arguments, you may -terminate them with ‘--’. So the following will try to download URL -‘-x’, reporting failure to ‘log’: - - wget -o log -- -x - - The options that accept comma-separated lists all respect the -convention that specifying an empty list clears its value. This can be -useful to clear the ‘.wgetrc’ settings. For instance, if your ‘.wgetrc’ -sets ‘exclude_directories’ to ‘/cgi-bin’, the following example will -first reset it, and then set it to exclude ‘/~nobody’ and ‘/~somebody’. -You can also clear the lists in ‘.wgetrc’ (*note Wgetrc Syntax::). - - wget -X "" -X /~nobody,/~somebody - - Most options that do not accept arguments are “boolean” options, so -named because their state can be captured with a yes-or-no ("boolean") -variable. For example, ‘--follow-ftp’ tells Wget to follow FTP links -from HTML files and, on the other hand, ‘--no-glob’ tells it not to -perform file globbing on FTP URLs. A boolean option is either -“affirmative” or “negative” (beginning with ‘--no’). All such options -share several properties. - - Unless stated otherwise, it is assumed that the default behavior is -the opposite of what the option accomplishes. For example, the -documented existence of ‘--follow-ftp’ assumes that the default is to -_not_ follow FTP links from HTML pages. - - Affirmative options can be negated by prepending the ‘--no-’ to the -option name; negative options can be negated by omitting the ‘--no-’ -prefix. This might seem superfluous--if the default for an affirmative -option is to not do something, then why provide a way to explicitly turn -it off? But the startup file may in fact change the default. For -instance, using ‘follow_ftp = on’ in ‘.wgetrc’ makes Wget _follow_ FTP -links by default, and using ‘--no-follow-ftp’ is the only way to restore -the factory default from the command line. - - -File: wget.info, Node: Basic Startup Options, Next: Logging and Input File Options, Prev: Option Syntax, Up: Invoking - -2.3 Basic Startup Options -========================= - -‘-V’ -‘--version’ - Display the version of Wget. - -‘-h’ -‘--help’ - Print a help message describing all of Wget's command-line options. - -‘-b’ -‘--background’ - Go to background immediately after startup. If no output file is - specified via the ‘-o’, output is redirected to ‘wget-log’. - -‘-e COMMAND’ -‘--execute COMMAND’ - Execute COMMAND as if it were a part of ‘.wgetrc’ (*note Startup - File::). A command thus invoked will be executed _after_ the - commands in ‘.wgetrc’, thus taking precedence over them. If you - need to specify more than one wgetrc command, use multiple - instances of ‘-e’. - - -File: wget.info, Node: Logging and Input File Options, Next: Download Options, Prev: Basic Startup Options, Up: Invoking - -2.4 Logging and Input File Options -================================== - -‘-o LOGFILE’ -‘--output-file=LOGFILE’ - Log all messages to LOGFILE. The messages are normally reported to - standard error. - -‘-a LOGFILE’ -‘--append-output=LOGFILE’ - Append to LOGFILE. This is the same as ‘-o’, only it appends to - LOGFILE instead of overwriting the old log file. If LOGFILE does - not exist, a new file is created. - -‘-d’ -‘--debug’ - Turn on debug output, meaning various information important to the - developers of Wget if it does not work properly. Your system - administrator may have chosen to compile Wget without debug - support, in which case ‘-d’ will not work. Please note that - compiling with debug support is always safe--Wget compiled with the - debug support will _not_ print any debug info unless requested with - ‘-d’. *Note Reporting Bugs::, for more information on how to use - ‘-d’ for sending bug reports. - -‘-q’ -‘--quiet’ - Turn off Wget's output. - -‘-v’ -‘--verbose’ - Turn on verbose output, with all the available data. The default - output is verbose. - -‘-nv’ -‘--no-verbose’ - Turn off verbose without being completely quiet (use ‘-q’ for - that), which means that error messages and basic information still - get printed. - -‘--report-speed=TYPE’ - Output bandwidth as TYPE. The only accepted value is ‘bits’. - -‘-i FILE’ -‘--input-file=FILE’ - Read URLs from a local or external FILE. If ‘-’ is specified as - FILE, URLs are read from the standard input. (Use ‘./-’ to read - from a file literally named ‘-’.) - - If this function is used, no URLs need be present on the command - line. If there are URLs both on the command line and in an input - file, those on the command lines will be the first ones to be - retrieved. If ‘--force-html’ is not specified, then FILE should - consist of a series of URLs, one per line. - - However, if you specify ‘--force-html’, the document will be - regarded as ‘html’. In that case you may have problems with - relative links, which you can solve either by adding ‘<base - href="URL">’ to the documents or by specifying ‘--base=URL’ on the - command line. - - If the FILE is an external one, the document will be automatically - treated as ‘html’ if the Content-Type matches ‘text/html’. - Furthermore, the FILE's location will be implicitly used as base - href if none was specified. - - If the FILE is a local file, on systems that support it, it will be - opened with the ‘O_NONBLOCK’ flag to allow non-blocking reads from - the file. ‘Wget’ will attempt to continue reading from the file - until EOF is reached or it is closed. This allows one to stream a - list of files for retrieval where the list is dynamically generated - during the execution of the process. Currently, this feature is - not available on Windows platforms. - -‘--input-metalink=FILE’ - Downloads files covered in local Metalink FILE. Metalink version 3 - and 4 are supported. - -‘--keep-badhash’ - Keeps downloaded Metalink's files with a bad hash. It appends - .badhash to the name of Metalink's files which have a checksum - mismatch, except without overwriting existing files. - -‘--metalink-over-http’ - Issues HTTP HEAD request instead of GET and extracts Metalink - metadata from response headers. Then it switches to Metalink - download. If no valid Metalink metadata is found, it falls back to - ordinary HTTP download. Enables ‘Content-Type: - application/metalink4+xml’ files download/processing. - -‘--metalink-index=NUMBER’ - Set the Metalink ‘application/metalink4+xml’ metaurl ordinal - NUMBER. From 1 to the total number of "application/metalink4+xml" - available. Specify 0 or ‘inf’ to choose the first good one. - Metaurls, such as those from a ‘--metalink-over-http’, may have - been sorted by priority key's value; keep this in mind to choose - the right NUMBER. - -‘--preferred-location’ - Set preferred location for Metalink resources. This has effect if - multiple resources with same priority are available. - -‘--xattr’ - Enable use of file system's extended attributes to save the - original URL and the Referer HTTP header value if used. - - Be aware that the URL might contain private information like access - tokens or credentials. - -‘-F’ -‘--force-html’ - When input is read from a file, force it to be treated as an HTML - file. This enables you to retrieve relative links from existing - HTML files on your local disk, by adding ‘<base href="URL">’ to - HTML, or using the ‘--base’ command-line option. - -‘-B URL’ -‘--base=URL’ - Resolves relative links using URL as the point of reference, when - reading links from an HTML file specified via the - ‘-i’/‘--input-file’ option (together with ‘--force-html’, or when - the input file was fetched remotely from a server describing it as - HTML). This is equivalent to the presence of a ‘BASE’ tag in the - HTML input file, with URL as the value for the ‘href’ attribute. - - For instance, if you specify ‘http://foo/bar/a.html’ for URL, and - Wget reads ‘../baz/b.html’ from the input file, it would be - resolved to ‘http://foo/baz/b.html’. - -‘--config=FILE’ - Specify the location of a startup file you wish to use instead of - the default one(s). Use -no-config to disable reading of config - files. If both -config and -no-config are given, -no-config is - ignored. - -‘--rejected-log=LOGFILE’ - Logs all URL rejections to LOGFILE as comma separated values. The - values include the reason of rejection, the URL and the parent URL - it was found in. - - -File: wget.info, Node: Download Options, Next: Directory Options, Prev: Logging and Input File Options, Up: Invoking - -2.5 Download Options -==================== - -‘--bind-address=ADDRESS’ - When making client TCP/IP connections, bind to ADDRESS on the local - machine. ADDRESS may be specified as a hostname or IP address. - This option can be useful if your machine is bound to multiple IPs. - -‘--bind-dns-address=ADDRESS’ - [libcares only] This address overrides the route for DNS requests. - If you ever need to circumvent the standard settings from - /etc/resolv.conf, this option together with ‘--dns-servers’ is your - friend. ADDRESS must be specified either as IPv4 or IPv6 address. - Wget needs to be built with libcares for this option to be - available. - -‘--dns-servers=ADDRESSES’ - [libcares only] The given address(es) override the standard - nameserver addresses, e.g. as configured in /etc/resolv.conf. - ADDRESSES may be specified either as IPv4 or IPv6 addresses, - comma-separated. Wget needs to be built with libcares for this - option to be available. - -‘-t NUMBER’ -‘--tries=NUMBER’ - Set number of tries to NUMBER. Specify 0 or ‘inf’ for infinite - retrying. The default is to retry 20 times, with the exception of - fatal errors like "connection refused" or "not found" (404), which - are not retried. - -‘-O FILE’ -‘--output-document=FILE’ - The documents will not be written to the appropriate files, but all - will be concatenated together and written to FILE. If ‘-’ is used - as FILE, documents will be printed to standard output, disabling - link conversion. (Use ‘./-’ to print to a file literally named - ‘-’.) - - Use of ‘-O’ is _not_ intended to mean simply "use the name FILE - instead of the one in the URL;" rather, it is analogous to shell - redirection: ‘wget -O file http://foo’ is intended to work like - ‘wget -O - http://foo > file’; ‘file’ will be truncated - immediately, and _all_ downloaded content will be written there. - - For this reason, ‘-N’ (for timestamp-checking) is not supported in - combination with ‘-O’: since FILE is always newly created, it will - always have a very new timestamp. A warning will be issued if this - combination is used. - - Similarly, using ‘-r’ or ‘-p’ with ‘-O’ may not work as you expect: - Wget won't just download the first file to FILE and then download - the rest to their normal names: _all_ downloaded content will be - placed in FILE. This was disabled in version 1.11, but has been - reinstated (with a warning) in 1.11.2, as there are some cases - where this behavior can actually have some use. - - A combination with ‘-nc’ is only accepted if the given output file - does not exist. - - Note that a combination with ‘-k’ is only permitted when - downloading a single document, as in that case it will just convert - all relative URIs to external ones; ‘-k’ makes no sense for - multiple URIs when they're all being downloaded to a single file; - ‘-k’ can be used only when the output is a regular file. - -‘-nc’ -‘--no-clobber’ - If a file is downloaded more than once in the same directory, - Wget's behavior depends on a few options, including ‘-nc’. In - certain cases, the local file will be “clobbered”, or overwritten, - upon repeated download. In other cases it will be preserved. - - When running Wget without ‘-N’, ‘-nc’, ‘-r’, or ‘-p’, downloading - the same file in the same directory will result in the original - copy of FILE being preserved and the second copy being named - ‘FILE.1’. If that file is downloaded yet again, the third copy - will be named ‘FILE.2’, and so on. (This is also the behavior with - ‘-nd’, even if ‘-r’ or ‘-p’ are in effect.) When ‘-nc’ is - specified, this behavior is suppressed, and Wget will refuse to - download newer copies of ‘FILE’. Therefore, "‘no-clobber’" is - actually a misnomer in this mode--it's not clobbering that's - prevented (as the numeric suffixes were already preventing - clobbering), but rather the multiple version saving that's - prevented. - - When running Wget with ‘-r’ or ‘-p’, but without ‘-N’, ‘-nd’, or - ‘-nc’, re-downloading a file will result in the new copy simply - overwriting the old. Adding ‘-nc’ will prevent this behavior, - instead causing the original version to be preserved and any newer - copies on the server to be ignored. - - When running Wget with ‘-N’, with or without ‘-r’ or ‘-p’, the - decision as to whether or not to download a newer copy of a file - depends on the local and remote timestamp and size of the file - (*note Time-Stamping::). ‘-nc’ may not be specified at the same - time as ‘-N’. - - A combination with ‘-O’/‘--output-document’ is only accepted if the - given output file does not exist. - - Note that when ‘-nc’ is specified, files with the suffixes ‘.html’ - or ‘.htm’ will be loaded from the local disk and parsed as if they - had been retrieved from the Web. - -‘--backups=BACKUPS’ - Before (over)writing a file, back up an existing file by adding a - ‘.1’ suffix (‘_1’ on VMS) to the file name. Such backup files are - rotated to ‘.2’, ‘.3’, and so on, up to BACKUPS (and lost beyond - that). - -‘--no-netrc’ - Do not try to obtain credentials from ‘.netrc’ file. By default - ‘.netrc’ file is searched for credentials in case none have been - passed on command line and authentication is required. - -‘-c’ -‘--continue’ - Continue getting a partially-downloaded file. This is useful when - you want to finish up a download started by a previous instance of - Wget, or by another program. For instance: - - wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z - - If there is a file named ‘ls-lR.Z’ in the current directory, Wget - will assume that it is the first portion of the remote file, and - will ask the server to continue the retrieval from an offset equal - to the length of the local file. - - Note that you don't need to specify this option if you just want - the current invocation of Wget to retry downloading a file should - the connection be lost midway through. This is the default - behavior. ‘-c’ only affects resumption of downloads started - _prior_ to this invocation of Wget, and whose local files are still - sitting around. - - Without ‘-c’, the previous example would just download the remote - file to ‘ls-lR.Z.1’, leaving the truncated ‘ls-lR.Z’ file alone. - - If you use ‘-c’ on a non-empty file, and the server does not - support continued downloading, Wget will restart the download from - scratch and overwrite the existing file entirely. - - Beginning with Wget 1.7, if you use ‘-c’ on a file which is of - equal size as the one on the server, Wget will refuse to download - the file and print an explanatory message. The same happens when - the file is smaller on the server than locally (presumably because - it was changed on the server since your last download - attempt)--because "continuing" is not meaningful, no download - occurs. - - On the other side of the coin, while using ‘-c’, any file that's - bigger on the server than locally will be considered an incomplete - download and only ‘(length(remote) - length(local))’ bytes will be - downloaded and tacked onto the end of the local file. This - behavior can be desirable in certain cases--for instance, you can - use ‘wget -c’ to download just the new portion that's been appended - to a data collection or log file. - - However, if the file is bigger on the server because it's been - _changed_, as opposed to just _appended_ to, you'll end up with a - garbled file. Wget has no way of verifying that the local file is - really a valid prefix of the remote file. You need to be - especially careful of this when using ‘-c’ in conjunction with - ‘-r’, since every file will be considered as an "incomplete - download" candidate. - - Another instance where you'll get a garbled file if you try to use - ‘-c’ is if you have a lame HTTP proxy that inserts a "transfer - interrupted" string into the local file. In the future a - "rollback" option may be added to deal with this case. - - Note that ‘-c’ only works with FTP servers and with HTTP servers - that support the ‘Range’ header. - -‘--start-pos=OFFSET’ - Start downloading at zero-based position OFFSET. Offset may be - expressed in bytes, kilobytes with the 'k' suffix, or megabytes - with the 'm' suffix, etc. - - ‘--start-pos’ has higher precedence over ‘--continue’. When - ‘--start-pos’ and ‘--continue’ are both specified, wget will emit a - warning then proceed as if ‘--continue’ was absent. - - Server support for continued download is required, otherwise - ‘--start-pos’ cannot help. See ‘-c’ for details. - -‘--progress=TYPE’ - Select the type of the progress indicator you wish to use. Legal - indicators are "dot" and "bar". - - The "bar" indicator is used by default. It draws an ASCII progress - bar graphics (a.k.a "thermometer" display) indicating the status of - retrieval. If the output is not a TTY, the "dot" bar will be used - by default. - - Use ‘--progress=dot’ to switch to the "dot" display. It traces the - retrieval by printing dots on the screen, each dot representing a - fixed amount of downloaded data. - - The progress TYPE can also take one or more parameters. The - parameters vary based on the TYPE selected. Parameters to TYPE are - passed by appending them to the type sperated by a colon (:) like - this: ‘--progress=TYPE:PARAMETER1:PARAMETER2’. - - When using the dotted retrieval, you may set the “style” by - specifying the type as ‘dot:STYLE’. Different styles assign - different meaning to one dot. With the ‘default’ style each dot - represents 1K, there are ten dots in a cluster and 50 dots in a - line. The ‘binary’ style has a more "computer"-like - orientation--8K dots, 16-dots clusters and 48 dots per line (which - makes for 384K lines). The ‘mega’ style is suitable for - downloading large files--each dot represents 64K retrieved, there - are eight dots in a cluster, and 48 dots on each line (so each line - contains 3M). If ‘mega’ is not enough then you can use the ‘giga’ - style--each dot represents 1M retrieved, there are eight dots in a - cluster, and 32 dots on each line (so each line contains 32M). - - With ‘--progress=bar’, there are currently two possible parameters, - FORCE and NOSCROLL. - - When the output is not a TTY, the progress bar always falls back to - "dot", even if ‘--progress=bar’ was passed to Wget during - invocation. This behaviour can be overridden and the "bar" output - forced by using the "force" parameter as ‘--progress=bar:force’. - - By default, the ‘bar’ style progress bar scroll the name of the - file from left to right for the file being downloaded if the - filename exceeds the maximum length allotted for its display. In - certain cases, such as with ‘--progress=bar:force’, one may not - want the scrolling filename in the progress bar. By passing the - "noscroll" parameter, Wget can be forced to display as much of the - filename as possible without scrolling through it. - - Note that you can set the default style using the ‘progress’ - command in ‘.wgetrc’. That setting may be overridden from the - command line. For example, to force the bar output without - scrolling, use ‘--progress=bar:force:noscroll’. - -‘--show-progress’ - Force wget to display the progress bar in any verbosity. - - By default, wget only displays the progress bar in verbose mode. - One may however, want wget to display the progress bar on screen in - conjunction with any other verbosity modes like ‘--no-verbose’ or - ‘--quiet’. This is often a desired a property when invoking wget - to download several small/large files. In such a case, wget could - simply be invoked with this parameter to get a much cleaner output - on the screen. - - This option will also force the progress bar to be printed to - ‘stderr’ when used alongside the ‘--output-file’ option. - -‘-N’ -‘--timestamping’ - Turn on time-stamping. *Note Time-Stamping::, for details. - -‘--no-if-modified-since’ - Do not send If-Modified-Since header in ‘-N’ mode. Send - preliminary HEAD request instead. This has only effect in ‘-N’ - mode. - -‘--no-use-server-timestamps’ - Don't set the local file's timestamp by the one on the server. - - By default, when a file is downloaded, its timestamps are set to - match those from the remote file. This allows the use of - ‘--timestamping’ on subsequent invocations of wget. However, it is - sometimes useful to base the local file's timestamp on when it was - actually downloaded; for that purpose, the - ‘--no-use-server-timestamps’ option has been provided. - -‘-S’ -‘--server-response’ - Print the headers sent by HTTP servers and responses sent by FTP - servers. - -‘--spider’ - When invoked with this option, Wget will behave as a Web “spider”, - which means that it will not download the pages, just check that - they are there. For example, you can use Wget to check your - bookmarks: - - wget --spider --force-html -i bookmarks.html - - This feature needs much more work for Wget to get close to the - functionality of real web spiders. - -‘-T seconds’ -‘--timeout=SECONDS’ - Set the network timeout to SECONDS seconds. This is equivalent to - specifying ‘--dns-timeout’, ‘--connect-timeout’, and - ‘--read-timeout’, all at the same time. - - When interacting with the network, Wget can check for timeout and - abort the operation if it takes too long. This prevents anomalies - like hanging reads and infinite connects. The only timeout enabled - by default is a 900-second read timeout. Setting a timeout to 0 - disables it altogether. Unless you know what you are doing, it is - best not to change the default timeout settings. - - All timeout-related options accept decimal values, as well as - subsecond values. For example, ‘0.1’ seconds is a legal (though - unwise) choice of timeout. Subsecond timeouts are useful for - checking server response times or for testing network latency. - -‘--dns-timeout=SECONDS’ - Set the DNS lookup timeout to SECONDS seconds. DNS lookups that - don't complete within the specified time will fail. By default, - there is no timeout on DNS lookups, other than that implemented by - system libraries. - -‘--connect-timeout=SECONDS’ - Set the connect timeout to SECONDS seconds. TCP connections that - take longer to establish will be aborted. By default, there is no - connect timeout, other than that implemented by system libraries. - -‘--read-timeout=SECONDS’ - Set the read (and write) timeout to SECONDS seconds. The "time" of - this timeout refers to “idle time”: if, at any point in the - download, no data is received for more than the specified number of - seconds, reading fails and the download is restarted. This option - does not directly affect the duration of the entire download. - - Of course, the remote server may choose to terminate the connection - sooner than this option requires. The default read timeout is 900 - seconds. - -‘--limit-rate=AMOUNT’ - Limit the download speed to AMOUNT bytes per second. Amount may be - expressed in bytes, kilobytes with the ‘k’ suffix, or megabytes - with the ‘m’ suffix. For example, ‘--limit-rate=20k’ will limit - the retrieval rate to 20KB/s. This is useful when, for whatever - reason, you don't want Wget to consume the entire available - bandwidth. - - This option allows the use of decimal numbers, usually in - conjunction with power suffixes; for example, ‘--limit-rate=2.5k’ - is a legal value. - - Note that Wget implements the limiting by sleeping the appropriate - amount of time after a network read that took less time than - specified by the rate. Eventually this strategy causes the TCP - transfer to slow down to approximately the specified rate. - However, it may take some time for this balance to be achieved, so - don't be surprised if limiting the rate doesn't work well with very - small files. - -‘-w SECONDS’ -‘--wait=SECONDS’ - Wait the specified number of seconds between the retrievals. Use - of this option is recommended, as it lightens the server load by - making the requests less frequent. Instead of in seconds, the time - can be specified in minutes using the ‘m’ suffix, in hours using - ‘h’ suffix, or in days using ‘d’ suffix. - - Specifying a large value for this option is useful if the network - or the destination host is down, so that Wget can wait long enough - to reasonably expect the network error to be fixed before the - retry. The waiting interval specified by this function is - influenced by ‘--random-wait’, which see. - -‘--waitretry=SECONDS’ - If you don't want Wget to wait between _every_ retrieval, but only - between retries of failed downloads, you can use this option. Wget - will use “linear backoff”, waiting 1 second after the first failure - on a given file, then waiting 2 seconds after the second failure on - that file, up to the maximum number of SECONDS you specify. - - By default, Wget will assume a value of 10 seconds. - -‘--random-wait’ - Some web sites may perform log analysis to identify retrieval - programs such as Wget by looking for statistically significant - similarities in the time between requests. This option causes the - time between requests to vary between 0.5 and 1.5 * WAIT seconds, - where WAIT was specified using the ‘--wait’ option, in order to - mask Wget's presence from such analysis. - - A 2001 article in a publication devoted to development on a popular - consumer platform provided code to perform this analysis on the - fly. Its author suggested blocking at the class C address level to - ensure automated retrieval programs were blocked despite changing - DHCP-supplied addresses. - - The ‘--random-wait’ option was inspired by this ill-advised - recommendation to block many unrelated users from a web site due to - the actions of one. - -‘--no-proxy’ - Don't use proxies, even if the appropriate ‘*_proxy’ environment - variable is defined. - - *Note Proxies::, for more information about the use of proxies with - Wget. - -‘-Q QUOTA’ -‘--quota=QUOTA’ - Specify download quota for automatic retrievals. The value can be - specified in bytes (default), kilobytes (with ‘k’ suffix), or - megabytes (with ‘m’ suffix). - - Note that quota will never affect downloading a single file. So if - you specify ‘wget -Q10k https://example.com/ls-lR.gz’, all of the - ‘ls-lR.gz’ will be downloaded. The same goes even when several - URLs are specified on the command-line. The quota is checked only - at the end of each downloaded file, so it will never result in a - partially downloaded file. Thus you may safely type ‘wget -Q2m -i - sites’--download will be aborted after the file that exhausts the - quota is completely downloaded. - - Setting quota to 0 or to ‘inf’ unlimits the download quota. - -‘--no-dns-cache’ - Turn off caching of DNS lookups. Normally, Wget remembers the IP - addresses it looked up from DNS so it doesn't have to repeatedly - contact the DNS server for the same (typically small) set of hosts - it retrieves from. This cache exists in memory only; a new Wget - run will contact DNS again. - - However, it has been reported that in some situations it is not - desirable to cache host names, even for the duration of a - short-running application like Wget. With this option Wget issues - a new DNS lookup (more precisely, a new call to ‘gethostbyname’ or - ‘getaddrinfo’) each time it makes a new connection. Please note - that this option will _not_ affect caching that might be performed - by the resolving library or by an external caching layer, such as - NSCD. - - If you don't understand exactly what this option does, you probably - won't need it. - -‘--restrict-file-names=MODES’ - Change which characters found in remote URLs must be escaped during - generation of local filenames. Characters that are “restricted” by - this option are escaped, i.e. replaced with ‘%HH’, where ‘HH’ is - the hexadecimal number that corresponds to the restricted - character. This option may also be used to force all alphabetical - cases to be either lower- or uppercase. - - By default, Wget escapes the characters that are not valid or safe - as part of file names on your operating system, as well as control - characters that are typically unprintable. This option is useful - for changing these defaults, perhaps because you are downloading to - a non-native partition, or because you want to disable escaping of - the control characters, or you want to further restrict characters - to only those in the ASCII range of values. - - The MODES are a comma-separated set of text values. The acceptable - values are ‘unix’, ‘windows’, ‘nocontrol’, ‘ascii’, ‘lowercase’, - and ‘uppercase’. The values ‘unix’ and ‘windows’ are mutually - exclusive (one will override the other), as are ‘lowercase’ and - ‘uppercase’. Those last are special cases, as they do not change - the set of characters that would be escaped, but rather force local - file paths to be converted either to lower- or uppercase. - - When "unix" is specified, Wget escapes the character ‘/’ and the - control characters in the ranges 0-31 and 128-159. This is the - default on Unix-like operating systems. - - When "windows" is given, Wget escapes the characters ‘\’, ‘|’, ‘/’, - ‘:’, ‘?’, ‘"’, ‘*’, ‘<’, ‘>’, and the control characters in the - ranges 0-31 and 128-159. In addition to this, Wget in Windows mode - uses ‘+’ instead of ‘:’ to separate host and port in local file - names, and uses ‘@’ instead of ‘?’ to separate the query portion of - the file name from the rest. Therefore, a URL that would be saved - as ‘www.xemacs.org:4300/search.pl?input=blah’ in Unix mode would be - saved as ‘www.xemacs.org+4300/search.pl@input=blah’ in Windows - mode. This mode is the default on Windows. - - If you specify ‘nocontrol’, then the escaping of the control - characters is also switched off. This option may make sense when - you are downloading URLs whose names contain UTF-8 characters, on a - system which can save and display filenames in UTF-8 (some possible - byte values used in UTF-8 byte sequences fall in the range of - values designated by Wget as "controls"). - - The ‘ascii’ mode is used to specify that any bytes whose values are - outside the range of ASCII characters (that is, greater than 127) - shall be escaped. This can be useful when saving filenames whose - encoding does not match the one used locally. - -‘-4’ -‘--inet4-only’ -‘-6’ -‘--inet6-only’ - Force connecting to IPv4 or IPv6 addresses. With ‘--inet4-only’ or - ‘-4’, Wget will only connect to IPv4 hosts, ignoring AAAA records - in DNS, and refusing to connect to IPv6 addresses specified in - URLs. Conversely, with ‘--inet6-only’ or ‘-6’, Wget will only - connect to IPv6 hosts and ignore A records and IPv4 addresses. - - Neither options should be needed normally. By default, an - IPv6-aware Wget will use the address family specified by the host's - DNS record. If the DNS responds with both IPv4 and IPv6 addresses, - Wget will try them in sequence until it finds one it can connect - to. (Also see ‘--prefer-family’ option described below.) - - These options can be used to deliberately force the use of IPv4 or - IPv6 address families on dual family systems, usually to aid - debugging or to deal with broken network configuration. Only one - of ‘--inet6-only’ and ‘--inet4-only’ may be specified at the same - time. Neither option is available in Wget compiled without IPv6 - support. - -‘--prefer-family=none/IPv4/IPv6’ - When given a choice of several addresses, connect to the addresses - with specified address family first. The address order returned by - DNS is used without change by default. - - This avoids spurious errors and connect attempts when accessing - hosts that resolve to both IPv6 and IPv4 addresses from IPv4 - networks. For example, ‘www.kame.net’ resolves to - ‘2001:200:0:8002:203:47ff:fea5:3085’ and to ‘203.178.141.194’. - When the preferred family is ‘IPv4’, the IPv4 address is used - first; when the preferred family is ‘IPv6’, the IPv6 address is - used first; if the specified value is ‘none’, the address order - returned by DNS is used without change. - - Unlike ‘-4’ and ‘-6’, this option doesn't inhibit access to any - address family, it only changes the _order_ in which the addresses - are accessed. Also note that the reordering performed by this - option is “stable”--it doesn't affect order of addresses of the - same family. That is, the relative order of all IPv4 addresses and - of all IPv6 addresses remains intact in all cases. - -‘--retry-connrefused’ - Consider "connection refused" a transient error and try again. - Normally Wget gives up on a URL when it is unable to connect to the - site because failure to connect is taken as a sign that the server - is not running at all and that retries would not help. This option - is for mirroring unreliable sites whose servers tend to disappear - for short periods of time. - -‘--user=USER’ -‘--password=PASSWORD’ - Specify the username USER and password PASSWORD for both FTP and - HTTP file retrieval. These parameters can be overridden using the - ‘--ftp-user’ and ‘--ftp-password’ options for FTP connections and - the ‘--http-user’ and ‘--http-password’ options for HTTP - connections. - -‘--ask-password’ - Prompt for a password for each connection established. Cannot be - specified when ‘--password’ is being used, because they are - mutually exclusive. - -‘--use-askpass=COMMAND’ - Prompt for a user and password using the specified command. If no - command is specified then the command in the environment variable - WGET_ASKPASS is used. If WGET_ASKPASS is not set then the command - in the environment variable SSH_ASKPASS is used. - - You can set the default command for use-askpass in the ‘.wgetrc’. - That setting may be overridden from the command line. - -‘--no-iri’ - - Turn off internationalized URI (IRI) support. Use ‘--iri’ to turn - it on. IRI support is activated by default. - - You can set the default state of IRI support using the ‘iri’ - command in ‘.wgetrc’. That setting may be overridden from the - command line. - -‘--local-encoding=ENCODING’ - - Force Wget to use ENCODING as the default system encoding. That - affects how Wget converts URLs specified as arguments from locale - to UTF-8 for IRI support. - - Wget use the function ‘nl_langinfo()’ and then the ‘CHARSET’ - environment variable to get the locale. If it fails, ASCII is - used. - - You can set the default local encoding using the ‘local_encoding’ - command in ‘.wgetrc’. That setting may be overridden from the - command line. - -‘--remote-encoding=ENCODING’ - - Force Wget to use ENCODING as the default remote server encoding. - That affects how Wget converts URIs found in files from remote - encoding to UTF-8 during a recursive fetch. This options is only - useful for IRI support, for the interpretation of non-ASCII - characters. - - For HTTP, remote encoding can be found in HTTP ‘Content-Type’ - header and in HTML ‘Content-Type http-equiv’ meta tag. - - You can set the default encoding using the ‘remoteencoding’ command - in ‘.wgetrc’. That setting may be overridden from the command - line. - -‘--unlink’ - - Force Wget to unlink file instead of clobbering existing file. - This option is useful for downloading to the directory with - hardlinks. - - -File: wget.info, Node: Directory Options, Next: HTTP Options, Prev: Download Options, Up: Invoking - -2.6 Directory Options -===================== - -‘-nd’ -‘--no-directories’ - Do not create a hierarchy of directories when retrieving - recursively. With this option turned on, all files will get saved - to the current directory, without clobbering (if a name shows up - more than once, the filenames will get extensions ‘.n’). - -‘-x’ -‘--force-directories’ - The opposite of ‘-nd’--create a hierarchy of directories, even if - one would not have been created otherwise. E.g. ‘wget -x - http://fly.srk.fer.hr/robots.txt’ will save the downloaded file to - ‘fly.srk.fer.hr/robots.txt’. - -‘-nH’ -‘--no-host-directories’ - Disable generation of host-prefixed directories. By default, - invoking Wget with ‘-r http://fly.srk.fer.hr/’ will create a - structure of directories beginning with ‘fly.srk.fer.hr/’. This - option disables such behavior. - -‘--protocol-directories’ - Use the protocol name as a directory component of local file names. - For example, with this option, ‘wget -r http://HOST’ will save to - ‘http/HOST/...’ rather than just to ‘HOST/...’. - -‘--cut-dirs=NUMBER’ - Ignore NUMBER directory components. This is useful for getting a - fine-grained control over the directory where recursive retrieval - will be saved. - - Take, for example, the directory at - ‘ftp://ftp.xemacs.org/pub/xemacs/’. If you retrieve it with ‘-r’, - it will be saved locally under ‘ftp.xemacs.org/pub/xemacs/’. While - the ‘-nH’ option can remove the ‘ftp.xemacs.org/’ part, you are - still stuck with ‘pub/xemacs’. This is where ‘--cut-dirs’ comes in - handy; it makes Wget not "see" NUMBER remote directory components. - Here are several examples of how ‘--cut-dirs’ option works. - - No options -> ftp.xemacs.org/pub/xemacs/ - -nH -> pub/xemacs/ - -nH --cut-dirs=1 -> xemacs/ - -nH --cut-dirs=2 -> . - - --cut-dirs=1 -> ftp.xemacs.org/xemacs/ - ... - - If you just want to get rid of the directory structure, this option - is similar to a combination of ‘-nd’ and ‘-P’. However, unlike - ‘-nd’, ‘--cut-dirs’ does not lose with subdirectories--for - instance, with ‘-nH --cut-dirs=1’, a ‘beta/’ subdirectory will be - placed to ‘xemacs/beta’, as one would expect. - -‘-P PREFIX’ -‘--directory-prefix=PREFIX’ - Set directory prefix to PREFIX. The “directory prefix” is the - directory where all other files and subdirectories will be saved - to, i.e. the top of the retrieval tree. The default is ‘.’ (the - current directory). - - -File: wget.info, Node: HTTP Options, Next: HTTPS (SSL/TLS) Options, Prev: Directory Options, Up: Invoking - -2.7 HTTP Options -================ - -‘--default-page=NAME’ - Use NAME as the default file name when it isn't known (i.e., for - URLs that end in a slash), instead of ‘index.html’. - -‘-E’ -‘--adjust-extension’ - If a file of type ‘application/xhtml+xml’ or ‘text/html’ is - downloaded and the URL does not end with the regexp - ‘\.[Hh][Tt][Mm][Ll]?’, this option will cause the suffix ‘.html’ to - be appended to the local filename. This is useful, for instance, - when you're mirroring a remote site that uses ‘.asp’ pages, but you - want the mirrored pages to be viewable on your stock Apache server. - Another good use for this is when you're downloading CGI-generated - materials. A URL like ‘http://site.com/article.cgi?25’ will be - saved as ‘article.cgi?25.html’. - - Note that filenames changed in this way will be re-downloaded every - time you re-mirror a site, because Wget can't tell that the local - ‘X.html’ file corresponds to remote URL ‘X’ (since it doesn't yet - know that the URL produces output of type ‘text/html’ or - ‘application/xhtml+xml’. - - As of version 1.12, Wget will also ensure that any downloaded files - of type ‘text/css’ end in the suffix ‘.css’, and the option was - renamed from ‘--html-extension’, to better reflect its new - behavior. The old option name is still acceptable, but should now - be considered deprecated. - - As of version 1.19.2, Wget will also ensure that any downloaded - files with a ‘Content-Encoding’ of ‘br’, ‘compress’, ‘deflate’ or - ‘gzip’ end in the suffix ‘.br’, ‘.Z’, ‘.zlib’ and ‘.gz’ - respectively. - - At some point in the future, this option may well be expanded to - include suffixes for other types of content, including content - types that are not parsed by Wget. - -‘--http-user=USER’ -‘--http-password=PASSWORD’ - Specify the username USER and password PASSWORD on an HTTP server. - According to the type of the challenge, Wget will encode them using - either the ‘basic’ (insecure), the ‘digest’, or the Windows ‘NTLM’ - authentication scheme. - - Another way to specify username and password is in the URL itself - (*note URL Format::). Either method reveals your password to - anyone who bothers to run ‘ps’. To prevent the passwords from - being seen, use the ‘--use-askpass’ or store them in ‘.wgetrc’ or - ‘.netrc’, and make sure to protect those files from other users - with ‘chmod’. If the passwords are really important, do not leave - them lying in those files either--edit the files and delete them - after Wget has started the download. - -‘--no-http-keep-alive’ - Turn off the "keep-alive" feature for HTTP downloads. Normally, - Wget asks the server to keep the connection open so that, when you - download more than one document from the same server, they get - transferred over the same TCP connection. This saves time and at - the same time reduces the load on the server. - - This option is useful when, for some reason, persistent - (keep-alive) connections don't work for you, for example due to a - server bug or due to the inability of server-side scripts to cope - with the connections. - -‘--no-cache’ - Disable server-side cache. In this case, Wget will send the remote - server appropriate directives (‘Cache-Control: no-cache’ and - ‘Pragma: no-cache’) to get the file from the remote service, rather - than returning the cached version. This is especially useful for - retrieving and flushing out-of-date documents on proxy servers. - - Caching is allowed by default. - -‘--no-cookies’ - Disable the use of cookies. Cookies are a mechanism for - maintaining server-side state. The server sends the client a - cookie using the ‘Set-Cookie’ header, and the client responds with - the same cookie upon further requests. Since cookies allow the - server owners to keep track of visitors and for sites to exchange - this information, some consider them a breach of privacy. The - default is to use cookies; however, _storing_ cookies is not on by - default. - -‘--load-cookies FILE’ - Load cookies from FILE before the first HTTP retrieval. FILE is a - textual file in the format originally used by Netscape's - ‘cookies.txt’ file. - - You will typically use this option when mirroring sites that - require that you be logged in to access some or all of their - content. The login process typically works by the web server - issuing an HTTP cookie upon receiving and verifying your - credentials. The cookie is then resent by the browser when - accessing that part of the site, and so proves your identity. - - Mirroring such a site requires Wget to send the same cookies your - browser sends when communicating with the site. This is achieved - by ‘--load-cookies’--simply point Wget to the location of the - ‘cookies.txt’ file, and it will send the same cookies your browser - would send in the same situation. Different browsers keep textual - cookie files in different locations: - - Netscape 4.x. - The cookies are in ‘~/.netscape/cookies.txt’. - - Mozilla and Netscape 6.x. - Mozilla's cookie file is also named ‘cookies.txt’, located - somewhere under ‘~/.mozilla’, in the directory of your - profile. The full path usually ends up looking somewhat like - ‘~/.mozilla/default/SOME-WEIRD-STRING/cookies.txt’. - - Internet Explorer. - You can produce a cookie file Wget can use by using the File - menu, Import and Export, Export Cookies. This has been tested - with Internet Explorer 5; it is not guaranteed to work with - earlier versions. - - Other browsers. - If you are using a different browser to create your cookies, - ‘--load-cookies’ will only work if you can locate or produce a - cookie file in the Netscape format that Wget expects. - - If you cannot use ‘--load-cookies’, there might still be an - alternative. If your browser supports a "cookie manager", you can - use it to view the cookies used when accessing the site you're - mirroring. Write down the name and value of the cookie, and - manually instruct Wget to send those cookies, bypassing the - "official" cookie support: - - wget --no-cookies --header "Cookie: NAME=VALUE" - -‘--save-cookies FILE’ - Save cookies to FILE before exiting. This will not save cookies - that have expired or that have no expiry time (so-called "session - cookies"), but also see ‘--keep-session-cookies’. - -‘--keep-session-cookies’ - When specified, causes ‘--save-cookies’ to also save session - cookies. Session cookies are normally not saved because they are - meant to be kept in memory and forgotten when you exit the browser. - Saving them is useful on sites that require you to log in or to - visit the home page before you can access some pages. With this - option, multiple Wget runs are considered a single browser session - as far as the site is concerned. - - Since the cookie file format does not normally carry session - cookies, Wget marks them with an expiry timestamp of 0. Wget's - ‘--load-cookies’ recognizes those as session cookies, but it might - confuse other browsers. Also note that cookies so loaded will be - treated as other session cookies, which means that if you want - ‘--save-cookies’ to preserve them again, you must use - ‘--keep-session-cookies’ again. - -‘--ignore-length’ - Unfortunately, some HTTP servers (CGI programs, to be more precise) - send out bogus ‘Content-Length’ headers, which makes Wget go wild, - as it thinks not all the document was retrieved. You can spot this - syndrome if Wget retries getting the same document again and again, - each time claiming that the (otherwise normal) connection has - closed on the very same byte. - - With this option, Wget will ignore the ‘Content-Length’ header--as - if it never existed. - -‘--header=HEADER-LINE’ - Send HEADER-LINE along with the rest of the headers in each HTTP - request. The supplied header is sent as-is, which means it must - contain name and value separated by colon, and must not contain - newlines. - - You may define more than one additional header by specifying - ‘--header’ more than once. - - wget --header='Accept-Charset: iso-8859-2' \ - --header='Accept-Language: hr' \ - http://fly.srk.fer.hr/ - - Specification of an empty string as the header value will clear all - previous user-defined headers. - - As of Wget 1.10, this option can be used to override headers - otherwise generated automatically. This example instructs Wget to - connect to localhost, but to specify ‘foo.bar’ in the ‘Host’ - header: - - wget --header="Host: foo.bar" http://localhost/ - - In versions of Wget prior to 1.10 such use of ‘--header’ caused - sending of duplicate headers. - -‘--compression=TYPE’ - Choose the type of compression to be used. Legal values are - ‘auto’, ‘gzip’ and ‘none’. - - If ‘auto’ or ‘gzip’ are specified, Wget asks the server to compress - the file using the gzip compression format. If the server - compresses the file and responds with the ‘Content-Encoding’ header - field set appropriately, the file will be decompressed - automatically. - - If ‘none’ is specified, wget will not ask the server to compress - the file and will not decompress any server responses. This is the - default. - - Compression support is currently experimental. In case it is - turned on, please report any bugs to ‘bug-wget@gnu.org’. - -‘--max-redirect=NUMBER’ - Specifies the maximum number of redirections to follow for a - resource. The default is 20, which is usually far more than - necessary. However, on those occasions where you want to allow - more (or fewer), this is the option to use. - -‘--proxy-user=USER’ -‘--proxy-password=PASSWORD’ - Specify the username USER and password PASSWORD for authentication - on a proxy server. Wget will encode them using the ‘basic’ - authentication scheme. - - Security considerations similar to those with ‘--http-password’ - pertain here as well. - -‘--referer=URL’ - Include 'Referer: URL' header in HTTP request. Useful for - retrieving documents with server-side processing that assume they - are always being retrieved by interactive web browsers and only - come out properly when Referer is set to one of the pages that - point to them. - -‘--save-headers’ - Save the headers sent by the HTTP server to the file, preceding the - actual contents, with an empty line as the separator. - -‘-U AGENT-STRING’ -‘--user-agent=AGENT-STRING’ - Identify as AGENT-STRING to the HTTP server. - - The HTTP protocol allows the clients to identify themselves using a - ‘User-Agent’ header field. This enables distinguishing the WWW - software, usually for statistical purposes or for tracing of - protocol violations. Wget normally identifies as ‘Wget/VERSION’, - VERSION being the current version number of Wget. - - However, some sites have been known to impose the policy of - tailoring the output according to the ‘User-Agent’-supplied - information. While this is not such a bad idea in theory, it has - been abused by servers denying information to clients other than - (historically) Netscape or, more frequently, Microsoft Internet - Explorer. This option allows you to change the ‘User-Agent’ line - issued by Wget. Use of this option is discouraged, unless you - really know what you are doing. - - Specifying empty user agent with ‘--user-agent=""’ instructs Wget - not to send the ‘User-Agent’ header in HTTP requests. - -‘--post-data=STRING’ -‘--post-file=FILE’ - Use POST as the method for all HTTP requests and send the specified - data in the request body. ‘--post-data’ sends STRING as data, - whereas ‘--post-file’ sends the contents of FILE. Other than that, - they work in exactly the same way. In particular, they _both_ - expect content of the form ‘key1=value1&key2=value2’, with - percent-encoding for special characters; the only difference is - that one expects its content as a command-line parameter and the - other accepts its content from a file. In particular, - ‘--post-file’ is _not_ for transmitting files as form attachments: - those must appear as ‘key=value’ data (with appropriate - percent-coding) just like everything else. Wget does not currently - support ‘multipart/form-data’ for transmitting POST data; only - ‘application/x-www-form-urlencoded’. Only one of ‘--post-data’ and - ‘--post-file’ should be specified. - - Please note that wget does not require the content to be of the - form ‘key1=value1&key2=value2’, and neither does it test for it. - Wget will simply transmit whatever data is provided to it. Most - servers however expect the POST data to be in the above format when - processing HTML Forms. - - When sending a POST request using the ‘--post-file’ option, Wget - treats the file as a binary file and will send every character in - the POST request without stripping trailing newline or formfeed - characters. Any other control characters in the text will also be - sent as-is in the POST request. - - Please be aware that Wget needs to know the size of the POST data - in advance. Therefore the argument to ‘--post-file’ must be a - regular file; specifying a FIFO or something like ‘/dev/stdin’ - won't work. It's not quite clear how to work around this - limitation inherent in HTTP/1.0. Although HTTP/1.1 introduces - “chunked” transfer that doesn't require knowing the request length - in advance, a client can't use chunked unless it knows it's talking - to an HTTP/1.1 server. And it can't know that until it receives a - response, which in turn requires the request to have been completed - - a chicken-and-egg problem. - - Note: As of version 1.15 if Wget is redirected after the POST - request is completed, its behaviour will depend on the response - code returned by the server. In case of a 301 Moved Permanently, - 302 Moved Temporarily or 307 Temporary Redirect, Wget will, in - accordance with RFC2616, continue to send a POST request. In case - a server wants the client to change the Request method upon - redirection, it should send a 303 See Other response code. - - This example shows how to log in to a server using POST and then - proceed to download the desired pages, presumably only accessible - to authorized users: - - # Log in to the server. This can be done only once. - wget --save-cookies cookies.txt \ - --post-data 'user=foo&password=bar' \ - http://example.com/auth.php - - # Now grab the page or pages we care about. - wget --load-cookies cookies.txt \ - -p http://example.com/interesting/article.php - - If the server is using session cookies to track user - authentication, the above will not work because ‘--save-cookies’ - will not save them (and neither will browsers) and the - ‘cookies.txt’ file will be empty. In that case use - ‘--keep-session-cookies’ along with ‘--save-cookies’ to force - saving of session cookies. - -‘--method=HTTP-METHOD’ - For the purpose of RESTful scripting, Wget allows sending of other - HTTP Methods without the need to explicitly set them using - ‘--header=Header-Line’. Wget will use whatever string is passed to - it after ‘--method’ as the HTTP Method to the server. - -‘--body-data=DATA-STRING’ -‘--body-file=DATA-FILE’ - Must be set when additional data needs to be sent to the server - along with the Method specified using ‘--method’. ‘--body-data’ - sends STRING as data, whereas ‘--body-file’ sends the contents of - FILE. Other than that, they work in exactly the same way. - - Currently, ‘--body-file’ is _not_ for transmitting files as a - whole. Wget does not currently support ‘multipart/form-data’ for - transmitting data; only ‘application/x-www-form-urlencoded’. In - the future, this may be changed so that wget sends the - ‘--body-file’ as a complete file instead of sending its contents to - the server. Please be aware that Wget needs to know the contents - of BODY Data in advance, and hence the argument to ‘--body-file’ - should be a regular file. See ‘--post-file’ for a more detailed - explanation. Only one of ‘--body-data’ and ‘--body-file’ should be - specified. - - If Wget is redirected after the request is completed, Wget will - suspend the current method and send a GET request till the - redirection is completed. This is true for all redirection - response codes except 307 Temporary Redirect which is used to - explicitly specify that the request method should _not_ change. - Another exception is when the method is set to ‘POST’, in which - case the redirection rules specified under ‘--post-data’ are - followed. - -‘--content-disposition’ - - If this is set to on, experimental (not fully-functional) support - for ‘Content-Disposition’ headers is enabled. This can currently - result in extra round-trips to the server for a ‘HEAD’ request, and - is known to suffer from a few bugs, which is why it is not - currently enabled by default. - - This option is useful for some file-downloading CGI programs that - use ‘Content-Disposition’ headers to describe what the name of a - downloaded file should be. - - When combined with ‘--metalink-over-http’ and - ‘--trust-server-names’, a ‘Content-Type: application/metalink4+xml’ - file is named using the ‘Content-Disposition’ filename field, if - available. - -‘--content-on-error’ - - If this is set to on, wget will not skip the content when the - server responds with a http status code that indicates error. - -‘--trust-server-names’ - - If this is set, on a redirect, the local file name will be based on - the redirection URL. By default the local file name is based on the - original URL. When doing recursive retrieving this can be helpful - because in many web sites redirected URLs correspond to an - underlying file structure, while link URLs do not. - -‘--auth-no-challenge’ - - If this option is given, Wget will send Basic HTTP authentication - information (plaintext username and password) for all requests, - just like Wget 1.10.2 and prior did by default. - - Use of this option is not recommended, and is intended only to - support some few obscure servers, which never send HTTP - authentication challenges, but accept unsolicited auth info, say, - in addition to form-based authentication. - -‘--retry-on-host-error’ - Consider host errors, such as "Temporary failure in name - resolution", as non-fatal, transient errors. - -‘--retry-on-http-error=CODE[,CODE,...]’ - Consider given HTTP response codes as non-fatal, transient errors. - Supply a comma-separated list of 3-digit HTTP response codes as - argument. Useful to work around special circumstances where - retries are required, but the server responds with an error code - normally not retried by Wget. Such errors might be 503 (Service - Unavailable) and 429 (Too Many Requests). Retries enabled by this - option are performed subject to the normal retry timing and retry - count limitations of Wget. - - Using this option is intended to support special use cases only and - is generally not recommended, as it can force retries even in cases - where the server is actually trying to decrease its load. Please - use wisely and only if you know what you are doing. - - -File: wget.info, Node: HTTPS (SSL/TLS) Options, Next: FTP Options, Prev: HTTP Options, Up: Invoking - -2.8 HTTPS (SSL/TLS) Options -=========================== - -To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with -an external SSL library. The current default is GnuTLS. In addition, -Wget also supports HSTS (HTTP Strict Transport Security). If Wget is -compiled without SSL support, none of these options are available. - -‘--secure-protocol=PROTOCOL’ - Choose the secure protocol to be used. Legal values are ‘auto’, - ‘SSLv2’, ‘SSLv3’, ‘TLSv1’, ‘TLSv1_1’, ‘TLSv1_2’, ‘TLSv1_3’ and - ‘PFS’. If ‘auto’ is used, the SSL library is given the liberty of - choosing the appropriate protocol automatically, which is achieved - by sending a TLSv1 greeting. This is the default. - - Specifying ‘SSLv2’, ‘SSLv3’, ‘TLSv1’, ‘TLSv1_1’, ‘TLSv1_2’ or - ‘TLSv1_3’ forces the use of the corresponding protocol. This is - useful when talking to old and buggy SSL server implementations - that make it hard for the underlying SSL library to choose the - correct protocol version. Fortunately, such servers are quite - rare. - - Specifying ‘PFS’ enforces the use of the so-called Perfect Forward - Security cipher suites. In short, PFS adds security by creating a - one-time key for each SSL connection. It has a bit more CPU impact - on client and server. We use known to be secure ciphers (e.g. no - MD4) and the TLS protocol. This mode also explicitly excludes - non-PFS key exchange methods, such as RSA. - -‘--https-only’ - When in recursive mode, only HTTPS links are followed. - -‘--ciphers’ - Set the cipher list string. Typically this string sets the cipher - suites and other SSL/TLS options that the user wish should be used, - in a set order of preference (GnuTLS calls it 'priority string'). - This string will be fed verbatim to the SSL/TLS engine (OpenSSL or - GnuTLS) and hence its format and syntax is dependent on that. Wget - will not process or manipulate it in any way. Refer to the OpenSSL - or GnuTLS documentation for more information. - -‘--no-check-certificate’ - Don't check the server certificate against the available - certificate authorities. Also don't require the URL host name to - match the common name presented by the certificate. - - As of Wget 1.10, the default is to verify the server's certificate - against the recognized certificate authorities, breaking the SSL - handshake and aborting the download if the verification fails. - Although this provides more secure downloads, it does break - interoperability with some sites that worked with previous Wget - versions, particularly those using self-signed, expired, or - otherwise invalid certificates. This option forces an "insecure" - mode of operation that turns the certificate verification errors - into warnings and allows you to proceed. - - If you encounter "certificate verification" errors or ones saying - that "common name doesn't match requested host name", you can use - this option to bypass the verification and proceed with the - download. _Only use this option if you are otherwise convinced of - the site's authenticity, or if you really don't care about the - validity of its certificate._ It is almost always a bad idea not - to check the certificates when transmitting confidential or - important data. For self-signed/internal certificates, you should - download the certificate and verify against that instead of forcing - this insecure mode. If you are really sure of not desiring any - certificate verification, you can specify -check-certificate=quiet - to tell wget to not print any warning about invalid certificates, - albeit in most cases this is the wrong thing to do. - -‘--certificate=FILE’ - Use the client certificate stored in FILE. This is needed for - servers that are configured to require certificates from the - clients that connect to them. Normally a certificate is not - required and this switch is optional. - -‘--certificate-type=TYPE’ - Specify the type of the client certificate. Legal values are ‘PEM’ - (assumed by default) and ‘DER’, also known as ‘ASN1’. - -‘--private-key=FILE’ - Read the private key from FILE. This allows you to provide the - private key in a file separate from the certificate. - -‘--private-key-type=TYPE’ - Specify the type of the private key. Accepted values are ‘PEM’ - (the default) and ‘DER’. - -‘--ca-certificate=FILE’ - Use FILE as the file with the bundle of certificate authorities - ("CA") to verify the peers. The certificates must be in PEM - format. - - Without this option Wget looks for CA certificates at the - system-specified locations, chosen at OpenSSL installation time. - -‘--ca-directory=DIRECTORY’ - Specifies directory containing CA certificates in PEM format. Each - file contains one CA certificate, and the file name is based on a - hash value derived from the certificate. This is achieved by - processing a certificate directory with the ‘c_rehash’ utility - supplied with OpenSSL. Using ‘--ca-directory’ is more efficient - than ‘--ca-certificate’ when many certificates are installed - because it allows Wget to fetch certificates on demand. - - Without this option Wget looks for CA certificates at the - system-specified locations, chosen at OpenSSL installation time. - -‘--crl-file=FILE’ - Specifies a CRL file in FILE. This is needed for certificates that - have been revocated by the CAs. - -‘--pinnedpubkey=file/hashes’ - Tells wget to use the specified public key file (or hashes) to - verify the peer. This can be a path to a file which contains a - single public key in PEM or DER format, or any number of base64 - encoded sha256 hashes preceded by "sha256//" and separated by ";" - - When negotiating a TLS or SSL connection, the server sends a - certificate indicating its identity. A public key is extracted - from this certificate and if it does not exactly match the public - key(s) provided to this option, wget will abort the connection - before sending or receiving any data. - -‘--random-file=FILE’ - [OpenSSL and LibreSSL only] Use FILE as the source of random data - for seeding the pseudo-random number generator on systems without - ‘/dev/urandom’. - - On such systems the SSL library needs an external source of - randomness to initialize. Randomness may be provided by EGD (see - ‘--egd-file’ below) or read from an external source specified by - the user. If this option is not specified, Wget looks for random - data in ‘$RANDFILE’ or, if that is unset, in ‘$HOME/.rnd’. - - If you're getting the "Could not seed OpenSSL PRNG; disabling SSL." - error, you should provide random data using some of the methods - described above. - -‘--egd-file=FILE’ - [OpenSSL only] Use FILE as the EGD socket. EGD stands for “Entropy - Gathering Daemon”, a user-space program that collects data from - various unpredictable system sources and makes it available to - other programs that might need it. Encryption software, such as - the SSL library, needs sources of non-repeating randomness to seed - the random number generator used to produce cryptographically - strong keys. - - OpenSSL allows the user to specify his own source of entropy using - the ‘RAND_FILE’ environment variable. If this variable is unset, - or if the specified file does not produce enough randomness, - OpenSSL will read random data from EGD socket specified using this - option. - - If this option is not specified (and the equivalent startup command - is not used), EGD is never contacted. EGD is not needed on modern - Unix systems that support ‘/dev/urandom’. - -‘--no-hsts’ - Wget supports HSTS (HTTP Strict Transport Security, RFC 6797) by - default. Use ‘--no-hsts’ to make Wget act as a non-HSTS-compliant - UA. As a consequence, Wget would ignore all the - ‘Strict-Transport-Security’ headers, and would not enforce any - existing HSTS policy. - -‘--hsts-file=FILE’ - By default, Wget stores its HSTS database in ‘~/.wget-hsts’. You - can use ‘--hsts-file’ to override this. Wget will use the supplied - file as the HSTS database. Such file must conform to the correct - HSTS database format used by Wget. If Wget cannot parse the - provided file, the behaviour is unspecified. - - The Wget's HSTS database is a plain text file. Each line contains - an HSTS entry (ie. a site that has issued a - ‘Strict-Transport-Security’ header and that therefore has specified - a concrete HSTS policy to be applied). Lines starting with a dash - (‘#’) are ignored by Wget. Please note that in spite of this - convenient human-readability hand-hacking the HSTS database is - generally not a good idea. - - An HSTS entry line consists of several fields separated by one or - more whitespace: - - ‘<hostname> SP [<port>] SP <include subdomains> SP <created> SP - <max-age>’ - - The HOSTNAME and PORT fields indicate the hostname and port to - which the given HSTS policy applies. The PORT field may be zero, - and it will, in most of the cases. That means that the port number - will not be taken into account when deciding whether such HSTS - policy should be applied on a given request (only the hostname will - be evaluated). When PORT is different to zero, both the target - hostname and the port will be evaluated and the HSTS policy will - only be applied if both of them match. This feature has been - included for testing/development purposes only. The Wget testsuite - (in ‘testenv/’) creates HSTS databases with explicit ports with the - purpose of ensuring Wget's correct behaviour. Applying HSTS - policies to ports other than the default ones is discouraged by RFC - 6797 (see Appendix B "Differences between HSTS Policy and - Same-Origin Policy"). Thus, this functionality should not be used - in production environments and PORT will typically be zero. The - last three fields do what they are expected to. The field - INCLUDE_SUBDOMAINS can either be ‘1’ or ‘0’ and it signals whether - the subdomains of the target domain should be part of the given - HSTS policy as well. The CREATED and MAX-AGE fields hold the - timestamp values of when such entry was created (first seen by - Wget) and the HSTS-defined value 'max-age', which states how long - should that HSTS policy remain active, measured in seconds elapsed - since the timestamp stored in CREATED. Once that time has passed, - that HSTS policy will no longer be valid and will eventually be - removed from the database. - - If you supply your own HSTS database via ‘--hsts-file’, be aware - that Wget may modify the provided file if any change occurs between - the HSTS policies requested by the remote servers and those in the - file. When Wget exits, it effectively updates the HSTS database by - rewriting the database file with the new entries. - - If the supplied file does not exist, Wget will create one. This - file will contain the new HSTS entries. If no HSTS entries were - generated (no ‘Strict-Transport-Security’ headers were sent by any - of the servers) then no file will be created, not even an empty - one. This behaviour applies to the default database file - (‘~/.wget-hsts’) as well: it will not be created until some server - enforces an HSTS policy. - - Care is taken not to override possible changes made by other Wget - processes at the same time over the HSTS database. Before dumping - the updated HSTS entries on the file, Wget will re-read it and - merge the changes. - - Using a custom HSTS database and/or modifying an existing one is - discouraged. For more information about the potential security - threats arose from such practice, see section 14 "Security - Considerations" of RFC 6797, specially section 14.9 "Creative - Manipulation of HSTS Policy Store". - -‘--warc-file=FILE’ - Use FILE as the destination WARC file. - -‘--warc-header=STRING’ - Use STRING into as the warcinfo record. - -‘--warc-max-size=SIZE’ - Set the maximum size of the WARC files to SIZE. - -‘--warc-cdx’ - Write CDX index files. - -‘--warc-dedup=FILE’ - Do not store records listed in this CDX file. - -‘--no-warc-compression’ - Do not compress WARC files with GZIP. - -‘--no-warc-digests’ - Do not calculate SHA1 digests. - -‘--no-warc-keep-log’ - Do not store the log file in a WARC record. - -‘--warc-tempdir=DIR’ - Specify the location for temporary files created by the WARC - writer. - - -File: wget.info, Node: FTP Options, Next: Recursive Retrieval Options, Prev: HTTPS (SSL/TLS) Options, Up: Invoking - -2.9 FTP Options -=============== - -‘--ftp-user=USER’ -‘--ftp-password=PASSWORD’ - Specify the username USER and password PASSWORD on an FTP server. - Without this, or the corresponding startup option, the password - defaults to ‘-wget@’, normally used for anonymous FTP. - - Another way to specify username and password is in the URL itself - (*note URL Format::). Either method reveals your password to - anyone who bothers to run ‘ps’. To prevent the passwords from - being seen, store them in ‘.wgetrc’ or ‘.netrc’, and make sure to - protect those files from other users with ‘chmod’. If the - passwords are really important, do not leave them lying in those - files either--edit the files and delete them after Wget has started - the download. - -‘--no-remove-listing’ - Don't remove the temporary ‘.listing’ files generated by FTP - retrievals. Normally, these files contain the raw directory - listings received from FTP servers. Not removing them can be - useful for debugging purposes, or when you want to be able to - easily check on the contents of remote server directories (e.g. to - verify that a mirror you're running is complete). - - Note that even though Wget writes to a known filename for this - file, this is not a security hole in the scenario of a user making - ‘.listing’ a symbolic link to ‘/etc/passwd’ or something and asking - ‘root’ to run Wget in his or her directory. Depending on the - options used, either Wget will refuse to write to ‘.listing’, - making the globbing/recursion/time-stamping operation fail, or the - symbolic link will be deleted and replaced with the actual - ‘.listing’ file, or the listing will be written to a - ‘.listing.NUMBER’ file. - - Even though this situation isn't a problem, though, ‘root’ should - never run Wget in a non-trusted user's directory. A user could do - something as simple as linking ‘index.html’ to ‘/etc/passwd’ and - asking ‘root’ to run Wget with ‘-N’ or ‘-r’ so the file will be - overwritten. - -‘--no-glob’ - Turn off FTP globbing. Globbing refers to the use of shell-like - special characters (“wildcards”), like ‘*’, ‘?’, ‘[’ and ‘]’ to - retrieve more than one file from the same directory at once, like: - - wget ftp://gnjilux.srk.fer.hr/*.msg - - By default, globbing will be turned on if the URL contains a - globbing character. This option may be used to turn globbing on or - off permanently. - - You may have to quote the URL to protect it from being expanded by - your shell. Globbing makes Wget look for a directory listing, - which is system-specific. This is why it currently works only with - Unix FTP servers (and the ones emulating Unix ‘ls’ output). - -‘--no-passive-ftp’ - Disable the use of the “passive” FTP transfer mode. Passive FTP - mandates that the client connect to the server to establish the - data connection rather than the other way around. - - If the machine is connected to the Internet directly, both passive - and active FTP should work equally well. Behind most firewall and - NAT configurations passive FTP has a better chance of working. - However, in some rare firewall configurations, active FTP actually - works when passive FTP doesn't. If you suspect this to be the - case, use this option, or set ‘passive_ftp=off’ in your init file. - -‘--preserve-permissions’ - Preserve remote file permissions instead of permissions set by - umask. - -‘--retr-symlinks’ - By default, when retrieving FTP directories recursively and a - symbolic link is encountered, the symbolic link is traversed and - the pointed-to files are retrieved. Currently, Wget does not - traverse symbolic links to directories to download them - recursively, though this feature may be added in the future. - - When ‘--retr-symlinks=no’ is specified, the linked-to file is not - downloaded. Instead, a matching symbolic link is created on the - local file system. The pointed-to file will not be retrieved - unless this recursive retrieval would have encountered it - separately and downloaded it anyway. This option poses a security - risk where a malicious FTP Server may cause Wget to write to files - outside of the intended directories through a specially crafted - .LISTING file. - - Note that when retrieving a file (not a directory) because it was - specified on the command-line, rather than because it was recursed - to, this option has no effect. Symbolic links are always traversed - in this case. - -2.10 FTPS Options -================= - -‘--ftps-implicit’ - This option tells Wget to use FTPS implicitly. Implicit FTPS - consists of initializing SSL/TLS from the very beginning of the - control connection. This option does not send an ‘AUTH TLS’ - command: it assumes the server speaks FTPS and directly starts an - SSL/TLS connection. If the attempt is successful, the session - continues just like regular FTPS (‘PBSZ’ and ‘PROT’ are sent, - etc.). Implicit FTPS is no longer a requirement for FTPS - implementations, and thus many servers may not support it. If - ‘--ftps-implicit’ is passed and no explicit port number specified, - the default port for implicit FTPS, 990, will be used, instead of - the default port for the "normal" (explicit) FTPS which is the same - as that of FTP, 21. - -‘--no-ftps-resume-ssl’ - Do not resume the SSL/TLS session in the data channel. When - starting a data connection, Wget tries to resume the SSL/TLS - session previously started in the control connection. SSL/TLS - session resumption avoids performing an entirely new handshake by - reusing the SSL/TLS parameters of a previous session. Typically, - the FTPS servers want it that way, so Wget does this by default. - Under rare circumstances however, one might want to start an - entirely new SSL/TLS session in every data connection. This is - what ‘--no-ftps-resume-ssl’ is for. - -‘--ftps-clear-data-connection’ - All the data connections will be in plain text. Only the control - connection will be under SSL/TLS. Wget will send a ‘PROT C’ command - to achieve this, which must be approved by the server. - -‘--ftps-fallback-to-ftp’ - Fall back to FTP if FTPS is not supported by the target server. - For security reasons, this option is not asserted by default. The - default behaviour is to exit with an error. If a server does not - successfully reply to the initial ‘AUTH TLS’ command, or in the - case of implicit FTPS, if the initial SSL/TLS connection attempt is - rejected, it is considered that such server does not support FTPS. - - -File: wget.info, Node: Recursive Retrieval Options, Next: Recursive Accept/Reject Options, Prev: FTP Options, Up: Invoking - -2.11 Recursive Retrieval Options -================================ - -‘-r’ -‘--recursive’ - Turn on recursive retrieving. *Note Recursive Download::, for more - details. The default maximum depth is 5. - -‘-l DEPTH’ -‘--level=DEPTH’ - Set the maximum number of subdirectories that Wget will recurse - into to DEPTH. In order to prevent one from accidentally - downloading very large websites when using recursion this is - limited to a depth of 5 by default, i.e., it will traverse at most - 5 directories deep starting from the provided URL. Set ‘-l 0’ or - ‘-l inf’ for infinite recursion depth. - - wget -r -l 0 http://SITE/1.html - - Ideally, one would expect this to download just ‘1.html’. but - unfortunately this is not the case, because ‘-l 0’ is equivalent to - ‘-l inf’--that is, infinite recursion. To download a single HTML - page (or a handful of them), specify them all on the command line - and leave away ‘-r’ and ‘-l’. To download the essential items to - view a single HTML page, see ‘page requisites’. - -‘--delete-after’ - This option tells Wget to delete every single file it downloads, - _after_ having done so. It is useful for pre-fetching popular - pages through a proxy, e.g.: - - wget -r -nd --delete-after http://whatever.com/~popular/page/ - - The ‘-r’ option is to retrieve recursively, and ‘-nd’ to not create - directories. - - Note that ‘--delete-after’ deletes files on the local machine. It - does not issue the ‘DELE’ command to remote FTP sites, for - instance. Also note that when ‘--delete-after’ is specified, - ‘--convert-links’ is ignored, so ‘.orig’ files are simply not - created in the first place. - -‘-k’ -‘--convert-links’ - After the download is complete, convert the links in the document - to make them suitable for local viewing. This affects not only the - visible hyperlinks, but any part of the document that links to - external content, such as embedded images, links to style sheets, - hyperlinks to non-HTML content, etc. - - Each link will be changed in one of the two ways: - - • The links to files that have been downloaded by Wget will be - changed to refer to the file they point to as a relative link. - - Example: if the downloaded file ‘/foo/doc.html’ links to - ‘/bar/img.gif’, also downloaded, then the link in ‘doc.html’ - will be modified to point to ‘../bar/img.gif’. This kind of - transformation works reliably for arbitrary combinations of - directories. - - • The links to files that have not been downloaded by Wget will - be changed to include host name and absolute path of the - location they point to. - - Example: if the downloaded file ‘/foo/doc.html’ links to - ‘/bar/img.gif’ (or to ‘../bar/img.gif’), then the link in - ‘doc.html’ will be modified to point to - ‘http://HOSTNAME/bar/img.gif’. - - Because of this, local browsing works reliably: if a linked file - was downloaded, the link will refer to its local name; if it was - not downloaded, the link will refer to its full Internet address - rather than presenting a broken link. The fact that the former - links are converted to relative links ensures that you can move the - downloaded hierarchy to another directory. - - Note that only at the end of the download can Wget know which links - have been downloaded. Because of that, the work done by ‘-k’ will - be performed at the end of all the downloads. - -‘--convert-file-only’ - This option converts only the filename part of the URLs, leaving - the rest of the URLs untouched. This filename part is sometimes - referred to as the "basename", although we avoid that term here in - order not to cause confusion. - - It works particularly well in conjunction with - ‘--adjust-extension’, although this coupling is not enforced. It - proves useful to populate Internet caches with files downloaded - from different hosts. - - Example: if some link points to ‘//foo.com/bar.cgi?xyz’ with - ‘--adjust-extension’ asserted and its local destination is intended - to be ‘./foo.com/bar.cgi?xyz.css’, then the link would be converted - to ‘//foo.com/bar.cgi?xyz.css’. Note that only the filename part - has been modified. The rest of the URL has been left untouched, - including the net path (‘//’) which would otherwise be processed by - Wget and converted to the effective scheme (ie. ‘http://’). - -‘-K’ -‘--backup-converted’ - When converting a file, back up the original version with a ‘.orig’ - suffix. Affects the behavior of ‘-N’ (*note HTTP Time-Stamping - Internals::). - -‘-m’ -‘--mirror’ - Turn on options suitable for mirroring. This option turns on - recursion and time-stamping, sets infinite recursion depth and - keeps FTP directory listings. It is currently equivalent to ‘-r -N - -l inf --no-remove-listing’. - -‘-p’ -‘--page-requisites’ - This option causes Wget to download all the files that are - necessary to properly display a given HTML page. This includes - such things as inlined images, sounds, and referenced stylesheets. - - Ordinarily, when downloading a single HTML page, any requisite - documents that may be needed to display it properly are not - downloaded. Using ‘-r’ together with ‘-l’ can help, but since Wget - does not ordinarily distinguish between external and inlined - documents, one is generally left with "leaf documents" that are - missing their requisites. - - For instance, say document ‘1.html’ contains an ‘<IMG>’ tag - referencing ‘1.gif’ and an ‘<A>’ tag pointing to external document - ‘2.html’. Say that ‘2.html’ is similar but that its image is - ‘2.gif’ and it links to ‘3.html’. Say this continues up to some - arbitrarily high number. - - If one executes the command: - - wget -r -l 2 http://SITE/1.html - - then ‘1.html’, ‘1.gif’, ‘2.html’, ‘2.gif’, and ‘3.html’ will be - downloaded. As you can see, ‘3.html’ is without its requisite - ‘3.gif’ because Wget is simply counting the number of hops (up to - 2) away from ‘1.html’ in order to determine where to stop the - recursion. However, with this command: - - wget -r -l 2 -p http://SITE/1.html - - all the above files _and_ ‘3.html’'s requisite ‘3.gif’ will be - downloaded. Similarly, - - wget -r -l 1 -p http://SITE/1.html - - will cause ‘1.html’, ‘1.gif’, ‘2.html’, and ‘2.gif’ to be - downloaded. One might think that: - - wget -r -l 0 -p http://SITE/1.html - - would download just ‘1.html’ and ‘1.gif’, but unfortunately this is - not the case, because ‘-l 0’ is equivalent to ‘-l inf’--that is, - infinite recursion. To download a single HTML page (or a handful - of them, all specified on the command-line or in a ‘-i’ URL input - file) and its (or their) requisites, simply leave off ‘-r’ and - ‘-l’: - - wget -p http://SITE/1.html - - Note that Wget will behave as if ‘-r’ had been specified, but only - that single page and its requisites will be downloaded. Links from - that page to external documents will not be followed. Actually, to - download a single page and all its requisites (even if they exist - on separate websites), and make sure the lot displays properly - locally, this author likes to use a few options in addition to - ‘-p’: - - wget -E -H -k -K -p http://SITE/DOCUMENT - - To finish off this topic, it's worth knowing that Wget's idea of an - external document link is any URL specified in an ‘<A>’ tag, an - ‘<AREA>’ tag, or a ‘<LINK>’ tag other than ‘<LINK - REL="stylesheet">’. - -‘--strict-comments’ - Turn on strict parsing of HTML comments. The default is to - terminate comments at the first occurrence of ‘-->’. - - According to specifications, HTML comments are expressed as SGML - “declarations”. Declaration is special markup that begins with - ‘<!’ and ends with ‘>’, such as ‘<!DOCTYPE ...>’, that may contain - comments between a pair of ‘--’ delimiters. HTML comments are - "empty declarations", SGML declarations without any non-comment - text. Therefore, ‘<!--foo-->’ is a valid comment, and so is - ‘<!--one-- --two-->’, but ‘<!--1--2-->’ is not. - - On the other hand, most HTML writers don't perceive comments as - anything other than text delimited with ‘<!--’ and ‘-->’, which is - not quite the same. For example, something like ‘<!------------>’ - works as a valid comment as long as the number of dashes is a - multiple of four (!). If not, the comment technically lasts until - the next ‘--’, which may be at the other end of the document. - Because of this, many popular browsers completely ignore the - specification and implement what users have come to expect: - comments delimited with ‘<!--’ and ‘-->’. - - Until version 1.9, Wget interpreted comments strictly, which - resulted in missing links in many web pages that displayed fine in - browsers, but had the misfortune of containing non-compliant - comments. Beginning with version 1.9, Wget has joined the ranks of - clients that implements "naive" comments, terminating each comment - at the first occurrence of ‘-->’. - - If, for whatever reason, you want strict comment parsing, use this - option to turn it on. - - -File: wget.info, Node: Recursive Accept/Reject Options, Next: Exit Status, Prev: Recursive Retrieval Options, Up: Invoking - -2.12 Recursive Accept/Reject Options -==================================== - -‘-A ACCLIST --accept ACCLIST’ -‘-R REJLIST --reject REJLIST’ - Specify comma-separated lists of file name suffixes or patterns to - accept or reject (*note Types of Files::). Note that if any of the - wildcard characters, ‘*’, ‘?’, ‘[’ or ‘]’, appear in an element of - ACCLIST or REJLIST, it will be treated as a pattern, rather than a - suffix. In this case, you have to enclose the pattern into quotes - to prevent your shell from expanding it, like in ‘-A "*.mp3"’ or - ‘-A '*.mp3'’. - -‘--accept-regex URLREGEX’ -‘--reject-regex URLREGEX’ - Specify a regular expression to accept or reject the complete URL. - -‘--regex-type REGEXTYPE’ - Specify the regular expression type. Possible types are ‘posix’ or - ‘pcre’. Note that to be able to use ‘pcre’ type, wget has to be - compiled with libpcre support. - -‘-D DOMAIN-LIST’ -‘--domains=DOMAIN-LIST’ - Set domains to be followed. DOMAIN-LIST is a comma-separated list - of domains. Note that it does _not_ turn on ‘-H’. - -‘--exclude-domains DOMAIN-LIST’ - Specify the domains that are _not_ to be followed (*note Spanning - Hosts::). - -‘--follow-ftp’ - Follow FTP links from HTML documents. Without this option, Wget - will ignore all the FTP links. - -‘--follow-tags=LIST’ - Wget has an internal table of HTML tag / attribute pairs that it - considers when looking for linked documents during a recursive - retrieval. If a user wants only a subset of those tags to be - considered, however, he or she should be specify such tags in a - comma-separated LIST with this option. - -‘--ignore-tags=LIST’ - This is the opposite of the ‘--follow-tags’ option. To skip - certain HTML tags when recursively looking for documents to - download, specify them in a comma-separated LIST. - - In the past, this option was the best bet for downloading a single - page and its requisites, using a command-line like: - - wget --ignore-tags=a,area -H -k -K -r http://SITE/DOCUMENT - - However, the author of this option came across a page with tags - like ‘<LINK REL="home" HREF="/">’ and came to the realization that - specifying tags to ignore was not enough. One can't just tell Wget - to ignore ‘<LINK>’, because then stylesheets will not be - downloaded. Now the best bet for downloading a single page and its - requisites is the dedicated ‘--page-requisites’ option. - -‘--ignore-case’ - Ignore case when matching files and directories. This influences - the behavior of -R, -A, -I, and -X options, as well as globbing - implemented when downloading from FTP sites. For example, with - this option, ‘-A "*.txt"’ will match ‘file1.txt’, but also - ‘file2.TXT’, ‘file3.TxT’, and so on. The quotes in the example are - to prevent the shell from expanding the pattern. - -‘-H’ -‘--span-hosts’ - Enable spanning across hosts when doing recursive retrieving (*note - Spanning Hosts::). - -‘-L’ -‘--relative’ - Follow relative links only. Useful for retrieving a specific home - page without any distractions, not even those from the same hosts - (*note Relative Links::). - -‘-I LIST’ -‘--include-directories=LIST’ - Specify a comma-separated list of directories you wish to follow - when downloading (*note Directory-Based Limits::). Elements of - LIST may contain wildcards. - -‘-X LIST’ -‘--exclude-directories=LIST’ - Specify a comma-separated list of directories you wish to exclude - from download (*note Directory-Based Limits::). Elements of LIST - may contain wildcards. - -‘-np’ -‘--no-parent’ - Do not ever ascend to the parent directory when retrieving - recursively. This is a useful option, since it guarantees that - only the files _below_ a certain hierarchy will be downloaded. - *Note Directory-Based Limits::, for more details. - - -File: wget.info, Node: Exit Status, Prev: Recursive Accept/Reject Options, Up: Invoking - -2.13 Exit Status -================ - -Wget may return one of several error codes if it encounters problems. - -0 - No problems occurred. - -1 - Generic error code. - -2 - Parse error--for instance, when parsing command-line options, the - ‘.wgetrc’ or ‘.netrc’... - -3 - File I/O error. - -4 - Network failure. - -5 - SSL verification failure. - -6 - Username/password authentication failure. - -7 - Protocol errors. - -8 - Server issued an error response. - - With the exceptions of 0 and 1, the lower-numbered exit codes take -precedence over higher-numbered ones, when multiple types of errors are -encountered. - - In versions of Wget prior to 1.12, Wget's exit status tended to be -unhelpful and inconsistent. Recursive downloads would virtually always -return 0 (success), regardless of any issues encountered, and -non-recursive fetches only returned the status corresponding to the most -recently-attempted download. - - -File: wget.info, Node: Recursive Download, Next: Following Links, Prev: Invoking, Up: Top - -3 Recursive Download -******************** - -GNU Wget is capable of traversing parts of the Web (or a single HTTP or -FTP server), following links and directory structure. We refer to this -as to “recursive retrieval”, or “recursion”. - - With HTTP URLs, Wget retrieves and parses the HTML or CSS from the -given URL, retrieving the files the document refers to, through markup -like ‘href’ or ‘src’, or CSS URI values specified using the ‘url()’ -functional notation. If the freshly downloaded file is also of type -‘text/html’, ‘application/xhtml+xml’, or ‘text/css’, it will be parsed -and followed further. - - Recursive retrieval of HTTP and HTML/CSS content is “breadth-first”. -This means that Wget first downloads the requested document, then the -documents linked from that document, then the documents linked by them, -and so on. In other words, Wget first downloads the documents at depth -1, then those at depth 2, and so on until the specified maximum depth. - - The maximum “depth” to which the retrieval may descend is specified -with the ‘-l’ option. The default maximum depth is five layers. - - When retrieving an FTP URL recursively, Wget will retrieve all the -data from the given directory tree (including the subdirectories up to -the specified depth) on the remote server, creating its mirror image -locally. FTP retrieval is also limited by the ‘depth’ parameter. -Unlike HTTP recursion, FTP recursion is performed depth-first. - - By default, Wget will create a local directory tree, corresponding to -the one found on the remote server. - - Recursive retrieving can find a number of applications, the most -important of which is mirroring. It is also useful for WWW -presentations, and any other opportunities where slow network -connections should be bypassed by storing the files locally. - - You should be warned that recursive downloads can overload the remote -servers. Because of that, many administrators frown upon them and may -ban access from your site if they detect very fast downloads of big -amounts of content. When downloading from Internet servers, consider -using the ‘-w’ option to introduce a delay between accesses to the -server. The download will take a while longer, but the server -administrator will not be alarmed by your rudeness. - - Of course, recursive download may cause problems on your machine. If -left to run unchecked, it can easily fill up the disk. If downloading -from local network, it can also take bandwidth on the system, as well as -consume memory and CPU. - - Try to specify the criteria that match the kind of download you are -trying to achieve. If you want to download only one page, use -‘--page-requisites’ without any additional recursion. If you want to -download things under one directory, use ‘-np’ to avoid downloading -things from other directories. If you want to download all the files -from one directory, use ‘-l 1’ to make sure the recursion depth never -exceeds one. *Note Following Links::, for more information about this. - - Recursive retrieval should be used with care. Don't say you were not -warned. - - -File: wget.info, Node: Following Links, Next: Time-Stamping, Prev: Recursive Download, Up: Top - -4 Following Links -***************** - -When retrieving recursively, one does not wish to retrieve loads of -unnecessary data. Most of the time the users bear in mind exactly what -they want to download, and want Wget to follow only specific links. - - For example, if you wish to download the music archive from -‘fly.srk.fer.hr’, you will not want to download all the home pages that -happen to be referenced by an obscure part of the archive. - - Wget possesses several mechanisms that allows you to fine-tune which -links it will follow. - -* Menu: - -* Spanning Hosts:: (Un)limiting retrieval based on host name. -* Types of Files:: Getting only certain files. -* Directory-Based Limits:: Getting only certain directories. -* Relative Links:: Follow relative links only. -* FTP Links:: Following FTP links. - - -File: wget.info, Node: Spanning Hosts, Next: Types of Files, Prev: Following Links, Up: Following Links - -4.1 Spanning Hosts -================== - -Wget's recursive retrieval normally refuses to visit hosts different -than the one you specified on the command line. This is a reasonable -default; without it, every retrieval would have the potential to turn -your Wget into a small version of google. - - However, visiting different hosts, or “host spanning,” is sometimes a -useful option. Maybe the images are served from a different server. -Maybe you're mirroring a site that consists of pages interlinked between -three servers. Maybe the server has two equivalent names, and the HTML -pages refer to both interchangeably. - -Span to any host--‘-H’ - - The ‘-H’ option turns on host spanning, thus allowing Wget's - recursive run to visit any host referenced by a link. Unless - sufficient recursion-limiting criteria are applied depth, these - foreign hosts will typically link to yet more hosts, and so on - until Wget ends up sucking up much more data than you have - intended. - -Limit spanning to certain domains--‘-D’ - - The ‘-D’ option allows you to specify the domains that will be - followed, thus limiting the recursion only to the hosts that belong - to these domains. Obviously, this makes sense only in conjunction - with ‘-H’. A typical example would be downloading the contents of - ‘www.example.com’, but allowing downloads from - ‘images.example.com’, etc.: - - wget -rH -Dexample.com http://www.example.com/ - - You can specify more than one address by separating them with a - comma, e.g. ‘-Ddomain1.com,domain2.com’. - -Keep download off certain domains--‘--exclude-domains’ - - If there are domains you want to exclude specifically, you can do - it with ‘--exclude-domains’, which accepts the same type of - arguments of ‘-D’, but will _exclude_ all the listed domains. For - example, if you want to download all the hosts from ‘foo.edu’ - domain, with the exception of ‘sunsite.foo.edu’, you can do it like - this: - - wget -rH -Dfoo.edu --exclude-domains sunsite.foo.edu \ - http://www.foo.edu/ - - -File: wget.info, Node: Types of Files, Next: Directory-Based Limits, Prev: Spanning Hosts, Up: Following Links - -4.2 Types of Files -================== - -When downloading material from the web, you will often want to restrict -the retrieval to only certain file types. For example, if you are -interested in downloading GIFs, you will not be overjoyed to get loads -of PostScript documents, and vice versa. - - Wget offers two options to deal with this problem. Each option -description lists a short name, a long name, and the equivalent command -in ‘.wgetrc’. - -‘-A ACCLIST’ -‘--accept ACCLIST’ -‘accept = ACCLIST’ -‘--accept-regex URLREGEX’ -‘accept-regex = URLREGEX’ - The argument to ‘--accept’ option is a list of file suffixes or - patterns that Wget will download during recursive retrieval. A - suffix is the ending part of a file, and consists of "normal" - letters, e.g. ‘gif’ or ‘.jpg’. A matching pattern contains - shell-like wildcards, e.g. ‘books*’ or ‘zelazny*196[0-9]*’. - - So, specifying ‘wget -A gif,jpg’ will make Wget download only the - files ending with ‘gif’ or ‘jpg’, i.e. GIFs and JPEGs. On the - other hand, ‘wget -A "zelazny*196[0-9]*"’ will download only files - beginning with ‘zelazny’ and containing numbers from 1960 to 1969 - anywhere within. Look up the manual of your shell for a - description of how pattern matching works. - - Of course, any number of suffixes and patterns can be combined into - a comma-separated list, and given as an argument to ‘-A’. - - The argument to ‘--accept-regex’ option is a regular expression - which is matched against the complete URL. - -‘-R REJLIST’ -‘--reject REJLIST’ -‘reject = REJLIST’ -‘--reject-regex URLREGEX’ -‘reject-regex = URLREGEX’ - The ‘--reject’ option works the same way as ‘--accept’, only its - logic is the reverse; Wget will download all files _except_ the - ones matching the suffixes (or patterns) in the list. - - So, if you want to download a whole page except for the cumbersome - MPEGs and .AU files, you can use ‘wget -R mpg,mpeg,au’. - Analogously, to download all files except the ones beginning with - ‘bjork’, use ‘wget -R "bjork*"’. The quotes are to prevent - expansion by the shell. - - The argument to ‘--accept-regex’ option is a regular expression which -is matched against the complete URL. - -The ‘-A’ and ‘-R’ options may be combined to achieve even better -fine-tuning of which files to retrieve. E.g. ‘wget -A "*zelazny*" -R -.ps’ will download all the files having ‘zelazny’ as a part of their -name, but _not_ the PostScript files. - - Note that these two options do not affect the downloading of HTML -files (as determined by a ‘.htm’ or ‘.html’ filename prefix). This -behavior may not be desirable for all users, and may be changed for -future versions of Wget. - - Note, too, that query strings (strings at the end of a URL beginning -with a question mark (‘?’) are not included as part of the filename for -accept/reject rules, even though these will actually contribute to the -name chosen for the local file. It is expected that a future version of -Wget will provide an option to allow matching against query strings. - - Finally, it's worth noting that the accept/reject lists are matched -_twice_ against downloaded files: once against the URL's filename -portion, to determine if the file should be downloaded in the first -place; then, after it has been accepted and successfully downloaded, the -local file's name is also checked against the accept/reject lists to see -if it should be removed. The rationale was that, since ‘.htm’ and -‘.html’ files are always downloaded regardless of accept/reject rules, -they should be removed _after_ being downloaded and scanned for links, -if they did match the accept/reject lists. However, this can lead to -unexpected results, since the local filenames can differ from the -original URL filenames in the following ways, all of which can change -whether an accept/reject rule matches: - - • If the local file already exists and ‘--no-directories’ was - specified, a numeric suffix will be appended to the original name. - • If ‘--adjust-extension’ was specified, the local filename might - have ‘.html’ appended to it. If Wget is invoked with ‘-E -A.php’, - a filename such as ‘index.php’ will match be accepted, but upon - download will be named ‘index.php.html’, which no longer matches, - and so the file will be deleted. - • Query strings do not contribute to URL matching, but are included - in local filenames, and so _do_ contribute to filename matching. - -This behavior, too, is considered less-than-desirable, and may change in -a future version of Wget. - - -File: wget.info, Node: Directory-Based Limits, Next: Relative Links, Prev: Types of Files, Up: Following Links - -4.3 Directory-Based Limits -========================== - -Regardless of other link-following facilities, it is often useful to -place the restriction of what files to retrieve based on the directories -those files are placed in. There can be many reasons for this--the home -pages may be organized in a reasonable directory structure; or some -directories may contain useless information, e.g. ‘/cgi-bin’ or ‘/dev’ -directories. - - Wget offers three different options to deal with this requirement. -Each option description lists a short name, a long name, and the -equivalent command in ‘.wgetrc’. - -‘-I LIST’ -‘--include LIST’ -‘include_directories = LIST’ - ‘-I’ option accepts a comma-separated list of directories included - in the retrieval. Any other directories will simply be ignored. - The directories are absolute paths. - - So, if you wish to download from ‘http://host/people/bozo/’ - following only links to bozo's colleagues in the ‘/people’ - directory and the bogus scripts in ‘/cgi-bin’, you can specify: - - wget -I /people,/cgi-bin http://host/people/bozo/ - -‘-X LIST’ -‘--exclude LIST’ -‘exclude_directories = LIST’ - ‘-X’ option is exactly the reverse of ‘-I’--this is a list of - directories _excluded_ from the download. E.g. if you do not want - Wget to download things from ‘/cgi-bin’ directory, specify ‘-X - /cgi-bin’ on the command line. - - The same as with ‘-A’/‘-R’, these two options can be combined to - get a better fine-tuning of downloading subdirectories. E.g. if - you want to load all the files from ‘/pub’ hierarchy except for - ‘/pub/worthless’, specify ‘-I/pub -X/pub/worthless’. - -‘-np’ -‘--no-parent’ -‘no_parent = on’ - The simplest, and often very useful way of limiting directories is - disallowing retrieval of the links that refer to the hierarchy - “above” than the beginning directory, i.e. disallowing ascent to - the parent directory/directories. - - The ‘--no-parent’ option (short ‘-np’) is useful in this case. - Using it guarantees that you will never leave the existing - hierarchy. Supposing you issue Wget with: - - wget -r --no-parent http://somehost/~luzer/my-archive/ - - You may rest assured that none of the references to - ‘/~his-girls-homepage/’ or ‘/~luzer/all-my-mpegs/’ will be - followed. Only the archive you are interested in will be - downloaded. Essentially, ‘--no-parent’ is similar to - ‘-I/~luzer/my-archive’, only it handles redirections in a more - intelligent fashion. - - *Note* that, for HTTP (and HTTPS), the trailing slash is very - important to ‘--no-parent’. HTTP has no concept of a - "directory"--Wget relies on you to indicate what's a directory and - what isn't. In ‘http://foo/bar/’, Wget will consider ‘bar’ to be a - directory, while in ‘http://foo/bar’ (no trailing slash), ‘bar’ - will be considered a filename (so ‘--no-parent’ would be - meaningless, as its parent is ‘/’). - - -File: wget.info, Node: Relative Links, Next: FTP Links, Prev: Directory-Based Limits, Up: Following Links - -4.4 Relative Links -================== - -When ‘-L’ is turned on, only the relative links are ever followed. -Relative links are here defined those that do not refer to the web -server root. For example, these links are relative: - - <a href="foo.gif"> - <a href="foo/bar.gif"> - <a href="../foo/bar.gif"> - - These links are not relative: - - <a href="/foo.gif"> - <a href="/foo/bar.gif"> - <a href="http://www.example.com/foo/bar.gif"> - - Using this option guarantees that recursive retrieval will not span -hosts, even without ‘-H’. In simple cases it also allows downloads to -"just work" without having to convert links. - - This option is probably not very useful and might be removed in a -future release. - - -File: wget.info, Node: FTP Links, Prev: Relative Links, Up: Following Links - -4.5 Following FTP Links -======================= - -The rules for FTP are somewhat specific, as it is necessary for them to -be. FTP links in HTML documents are often included for purposes of -reference, and it is often inconvenient to download them by default. - - To have FTP links followed from HTML documents, you need to specify -the ‘--follow-ftp’ option. Having done that, FTP links will span hosts -regardless of ‘-H’ setting. This is logical, as FTP links rarely point -to the same host where the HTTP server resides. For similar reasons, -the ‘-L’ options has no effect on such downloads. On the other hand, -domain acceptance (‘-D’) and suffix rules (‘-A’ and ‘-R’) apply -normally. - - Also note that followed links to FTP directories will not be -retrieved recursively further. - - -File: wget.info, Node: Time-Stamping, Next: Startup File, Prev: Following Links, Up: Top - -5 Time-Stamping -*************** - -One of the most important aspects of mirroring information from the -Internet is updating your archives. - - Downloading the whole archive again and again, just to replace a few -changed files is expensive, both in terms of wasted bandwidth and money, -and the time to do the update. This is why all the mirroring tools -offer the option of incremental updating. - - Such an updating mechanism means that the remote server is scanned in -search of “new” files. Only those new files will be downloaded in the -place of the old ones. - - A file is considered new if one of these two conditions are met: - - 1. A file of that name does not already exist locally. - - 2. A file of that name does exist, but the remote file was modified - more recently than the local file. - - To implement this, the program needs to be aware of the time of last -modification of both local and remote files. We call this information -the “time-stamp” of a file. - - The time-stamping in GNU Wget is turned on using ‘--timestamping’ -(‘-N’) option, or through ‘timestamping = on’ directive in ‘.wgetrc’. -With this option, for each file it intends to download, Wget will check -whether a local file of the same name exists. If it does, and the -remote file is not newer, Wget will not download it. - - If the local file does not exist, or the sizes of the files do not -match, Wget will download the remote file no matter what the time-stamps -say. - -* Menu: - -* Time-Stamping Usage:: -* HTTP Time-Stamping Internals:: -* FTP Time-Stamping Internals:: - - -File: wget.info, Node: Time-Stamping Usage, Next: HTTP Time-Stamping Internals, Prev: Time-Stamping, Up: Time-Stamping - -5.1 Time-Stamping Usage -======================= - -The usage of time-stamping is simple. Say you would like to download a -file so that it keeps its date of modification. - - wget -S http://www.gnu.ai.mit.edu/ - - A simple ‘ls -l’ shows that the timestamp on the local file equals -the state of the ‘Last-Modified’ header, as returned by the server. As -you can see, the time-stamping info is preserved locally, even without -‘-N’ (at least for HTTP). - - Several days later, you would like Wget to check if the remote file -has changed, and download it if it has. - - wget -N http://www.gnu.ai.mit.edu/ - - Wget will ask the server for the last-modified date. If the local -file has the same timestamp as the server, or a newer one, the remote -file will not be re-fetched. However, if the remote file is more -recent, Wget will proceed to fetch it. - - The same goes for FTP. For example: - - wget "ftp://ftp.ifi.uio.no/pub/emacs/gnus/*" - - (The quotes around that URL are to prevent the shell from trying to -interpret the ‘*’.) - - After download, a local directory listing will show that the -timestamps match those on the remote server. Reissuing the command with -‘-N’ will make Wget re-fetch _only_ the files that have been modified -since the last download. - - If you wished to mirror the GNU archive every week, you would use a -command like the following, weekly: - - wget --timestamping -r ftp://ftp.gnu.org/pub/gnu/ - - Note that time-stamping will only work for files for which the server -gives a timestamp. For HTTP, this depends on getting a ‘Last-Modified’ -header. For FTP, this depends on getting a directory listing with dates -in a format that Wget can parse (*note FTP Time-Stamping Internals::). - - -File: wget.info, Node: HTTP Time-Stamping Internals, Next: FTP Time-Stamping Internals, Prev: Time-Stamping Usage, Up: Time-Stamping - -5.2 HTTP Time-Stamping Internals -================================ - -Time-stamping in HTTP is implemented by checking of the ‘Last-Modified’ -header. If you wish to retrieve the file ‘foo.html’ through HTTP, Wget -will check whether ‘foo.html’ exists locally. If it doesn't, ‘foo.html’ -will be retrieved unconditionally. - - If the file does exist locally, Wget will first check its local -time-stamp (similar to the way ‘ls -l’ checks it), and then send a -‘HEAD’ request to the remote server, demanding the information on the -remote file. - - The ‘Last-Modified’ header is examined to find which file was -modified more recently (which makes it "newer"). If the remote file is -newer, it will be downloaded; if it is older, Wget will give up.(1) - - When ‘--backup-converted’ (‘-K’) is specified in conjunction with -‘-N’, server file ‘X’ is compared to local file ‘X.orig’, if extant, -rather than being compared to local file ‘X’, which will always differ -if it's been converted by ‘--convert-links’ (‘-k’). - - Arguably, HTTP time-stamping should be implemented using the -‘If-Modified-Since’ request. - - ---------- Footnotes ---------- - - (1) As an additional check, Wget will look at the ‘Content-Length’ -header, and compare the sizes; if they are not the same, the remote file -will be downloaded no matter what the time-stamp says. - - -File: wget.info, Node: FTP Time-Stamping Internals, Prev: HTTP Time-Stamping Internals, Up: Time-Stamping - -5.3 FTP Time-Stamping Internals -=============================== - -In theory, FTP time-stamping works much the same as HTTP, only FTP has -no headers--time-stamps must be ferreted out of directory listings. - - If an FTP download is recursive or uses globbing, Wget will use the -FTP ‘LIST’ command to get a file listing for the directory containing -the desired file(s). It will try to analyze the listing, treating it -like Unix ‘ls -l’ output, extracting the time-stamps. The rest is -exactly the same as for HTTP. Note that when retrieving individual -files from an FTP server without using globbing or recursion, listing -files will not be downloaded (and thus files will not be time-stamped) -unless ‘-N’ is specified. - - Assumption that every directory listing is a Unix-style listing may -sound extremely constraining, but in practice it is not, as many -non-Unix FTP servers use the Unixoid listing format because most (all?) -of the clients understand it. Bear in mind that RFC959 defines no -standard way to get a file list, let alone the time-stamps. We can only -hope that a future standard will define this. - - Another non-standard solution includes the use of ‘MDTM’ command that -is supported by some FTP servers (including the popular ‘wu-ftpd’), -which returns the exact time of the specified file. Wget may support -this command in the future. - - -File: wget.info, Node: Startup File, Next: Examples, Prev: Time-Stamping, Up: Top - -6 Startup File -************** - -Once you know how to change default settings of Wget through command -line arguments, you may wish to make some of those settings permanent. -You can do that in a convenient way by creating the Wget startup -file--‘.wgetrc’. - - Besides ‘.wgetrc’ is the "main" initialization file, it is convenient -to have a special facility for storing passwords. Thus Wget reads and -interprets the contents of ‘$HOME/.netrc’, if it finds it. You can find -‘.netrc’ format in your system manuals. - - Wget reads ‘.wgetrc’ upon startup, recognizing a limited set of -commands. - -* Menu: - -* Wgetrc Location:: Location of various wgetrc files. -* Wgetrc Syntax:: Syntax of wgetrc. -* Wgetrc Commands:: List of available commands. -* Sample Wgetrc:: A wgetrc example. - - -File: wget.info, Node: Wgetrc Location, Next: Wgetrc Syntax, Prev: Startup File, Up: Startup File - -6.1 Wgetrc Location -=================== - -When initializing, Wget will look for a “global” startup file, -‘/usr/local/etc/wgetrc’ by default (or some prefix other than -‘/usr/local’, if Wget was not installed there) and read commands from -there, if it exists. - - Then it will look for the user's file. If the environmental variable -‘WGETRC’ is set, Wget will try to load that file. Failing that, no -further attempts will be made. - - If ‘WGETRC’ is not set, Wget will try to load ‘$HOME/.wgetrc’. - - The fact that user's settings are loaded after the system-wide ones -means that in case of collision user's wgetrc _overrides_ the -system-wide wgetrc (in ‘/usr/local/etc/wgetrc’ by default). Fascist -admins, away! - - -File: wget.info, Node: Wgetrc Syntax, Next: Wgetrc Commands, Prev: Wgetrc Location, Up: Startup File - -6.2 Wgetrc Syntax -================= - -The syntax of a wgetrc command is simple: - - variable = value - - The “variable” will also be called “command”. Valid “values” are -different for different commands. - - The commands are case-, underscore- and minus-insensitive. Thus -‘DIr__PrefiX’, ‘DIr-PrefiX’ and ‘dirprefix’ are the same. Empty lines, -lines beginning with ‘#’ and lines containing white-space only are -discarded. - - Commands that expect a comma-separated list will clear the list on an -empty command. So, if you wish to reset the rejection list specified in -global ‘wgetrc’, you can do it with: - - reject = - - -File: wget.info, Node: Wgetrc Commands, Next: Sample Wgetrc, Prev: Wgetrc Syntax, Up: Startup File - -6.3 Wgetrc Commands -=================== - -The complete set of commands is listed below. Legal values are listed -after the ‘=’. Simple Boolean values can be set or unset using ‘on’ and -‘off’ or ‘1’ and ‘0’. - - Some commands take pseudo-arbitrary values. ADDRESS values can be -hostnames or dotted-quad IP addresses. N can be any positive integer, -or ‘inf’ for infinity, where appropriate. STRING values can be any -non-empty string. - - Most of these commands have direct command-line equivalents. Also, -any wgetrc command can be specified on the command line using the -‘--execute’ switch (*note Basic Startup Options::.) - -accept/reject = STRING - Same as ‘-A’/‘-R’ (*note Types of Files::). - -add_hostdir = on/off - Enable/disable host-prefixed file names. ‘-nH’ disables it. - -ask_password = on/off - Prompt for a password for each connection established. Cannot be - specified when ‘--password’ is being used, because they are - mutually exclusive. Equivalent to ‘--ask-password’. - -auth_no_challenge = on/off - If this option is given, Wget will send Basic HTTP authentication - information (plaintext username and password) for all requests. - See ‘--auth-no-challenge’. - -background = on/off - Enable/disable going to background--the same as ‘-b’ (which enables - it). - -backup_converted = on/off - Enable/disable saving pre-converted files with the suffix - ‘.orig’--the same as ‘-K’ (which enables it). - -backups = NUMBER - Use up to NUMBER backups for a file. Backups are rotated by adding - an incremental counter that starts at ‘1’. The default is ‘0’. - -base = STRING - Consider relative URLs in input files (specified via the ‘input’ - command or the ‘--input-file’/‘-i’ option, together with - ‘force_html’ or ‘--force-html’) as being relative to STRING--the - same as ‘--base=STRING’. - -bind_address = ADDRESS - Bind to ADDRESS, like the ‘--bind-address=ADDRESS’. - -ca_certificate = FILE - Set the certificate authority bundle file to FILE. The same as - ‘--ca-certificate=FILE’. - -ca_directory = DIRECTORY - Set the directory used for certificate authorities. The same as - ‘--ca-directory=DIRECTORY’. - -cache = on/off - When set to off, disallow server-caching. See the ‘--no-cache’ - option. - -certificate = FILE - Set the client certificate file name to FILE. The same as - ‘--certificate=FILE’. - -certificate_type = STRING - Specify the type of the client certificate, legal values being - ‘PEM’ (the default) and ‘DER’ (aka ASN1). The same as - ‘--certificate-type=STRING’. - -check_certificate = on/off - If this is set to off, the server certificate is not checked - against the specified client authorities. The default is "on". - The same as ‘--check-certificate’. - -connect_timeout = N - Set the connect timeout--the same as ‘--connect-timeout’. - -content_disposition = on/off - Turn on recognition of the (non-standard) ‘Content-Disposition’ - HTTP header--if set to ‘on’, the same as ‘--content-disposition’. - -trust_server_names = on/off - If set to on, construct the local file name from redirection URLs - rather than original URLs. - -continue = on/off - If set to on, force continuation of preexistent partially retrieved - files. See ‘-c’ before setting it. - -convert_links = on/off - Convert non-relative links locally. The same as ‘-k’. - -cookies = on/off - When set to off, disallow cookies. See the ‘--cookies’ option. - -cut_dirs = N - Ignore N remote directory components. Equivalent to - ‘--cut-dirs=N’. - -debug = on/off - Debug mode, same as ‘-d’. - -default_page = STRING - Default page name--the same as ‘--default-page=STRING’. - -delete_after = on/off - Delete after download--the same as ‘--delete-after’. - -dir_prefix = STRING - Top of directory tree--the same as ‘-P STRING’. - -dirstruct = on/off - Turning dirstruct on or off--the same as ‘-x’ or ‘-nd’, - respectively. - -dns_cache = on/off - Turn DNS caching on/off. Since DNS caching is on by default, this - option is normally used to turn it off and is equivalent to - ‘--no-dns-cache’. - -dns_timeout = N - Set the DNS timeout--the same as ‘--dns-timeout’. - -domains = STRING - Same as ‘-D’ (*note Spanning Hosts::). - -dot_bytes = N - Specify the number of bytes "contained" in a dot, as seen - throughout the retrieval (1024 by default). You can postfix the - value with ‘k’ or ‘m’, representing kilobytes and megabytes, - respectively. With dot settings you can tailor the dot retrieval - to suit your needs, or you can use the predefined “styles” (*note - Download Options::). - -dot_spacing = N - Specify the number of dots in a single cluster (10 by default). - -dots_in_line = N - Specify the number of dots that will be printed in each line - throughout the retrieval (50 by default). - -egd_file = FILE - Use STRING as the EGD socket file name. The same as - ‘--egd-file=FILE’. - -exclude_directories = STRING - Specify a comma-separated list of directories you wish to exclude - from download--the same as ‘-X STRING’ (*note Directory-Based - Limits::). - -exclude_domains = STRING - Same as ‘--exclude-domains=STRING’ (*note Spanning Hosts::). - -follow_ftp = on/off - Follow FTP links from HTML documents--the same as ‘--follow-ftp’. - -follow_tags = STRING - Only follow certain HTML tags when doing a recursive retrieval, - just like ‘--follow-tags=STRING’. - -force_html = on/off - If set to on, force the input filename to be regarded as an HTML - document--the same as ‘-F’. - -ftp_password = STRING - Set your FTP password to STRING. Without this setting, the - password defaults to ‘-wget@’, which is a useful default for - anonymous FTP access. - - This command used to be named ‘passwd’ prior to Wget 1.10. - -ftp_proxy = STRING - Use STRING as FTP proxy, instead of the one specified in - environment. - -ftp_user = STRING - Set FTP user to STRING. - - This command used to be named ‘login’ prior to Wget 1.10. - -glob = on/off - Turn globbing on/off--the same as ‘--glob’ and ‘--no-glob’. - -header = STRING - Define a header for HTTP downloads, like using ‘--header=STRING’. - -compression = STRING - Choose the compression type to be used. Legal values are ‘auto’ - (the default), ‘gzip’, and ‘none’. The same as - ‘--compression=STRING’. - -adjust_extension = on/off - Add a ‘.html’ extension to ‘text/html’ or ‘application/xhtml+xml’ - files that lack one, a ‘.css’ extension to ‘text/css’ files that - lack one, and a ‘.br’, ‘.Z’, ‘.zlib’ or ‘.gz’ to compressed files - like ‘-E’. Previously named ‘html_extension’ (still acceptable, - but deprecated). - -http_keep_alive = on/off - Turn the keep-alive feature on or off (defaults to on). Turning it - off is equivalent to ‘--no-http-keep-alive’. - -http_password = STRING - Set HTTP password, equivalent to ‘--http-password=STRING’. - -http_proxy = STRING - Use STRING as HTTP proxy, instead of the one specified in - environment. - -http_user = STRING - Set HTTP user to STRING, equivalent to ‘--http-user=STRING’. - -https_only = on/off - When in recursive mode, only HTTPS links are followed (defaults to - off). - -https_proxy = STRING - Use STRING as HTTPS proxy, instead of the one specified in - environment. - -ignore_case = on/off - When set to on, match files and directories case insensitively; the - same as ‘--ignore-case’. - -ignore_length = on/off - When set to on, ignore ‘Content-Length’ header; the same as - ‘--ignore-length’. - -ignore_tags = STRING - Ignore certain HTML tags when doing a recursive retrieval, like - ‘--ignore-tags=STRING’. - -include_directories = STRING - Specify a comma-separated list of directories you wish to follow - when downloading--the same as ‘-I STRING’. - -iri = on/off - When set to on, enable internationalized URI (IRI) support; the - same as ‘--iri’. - -inet4_only = on/off - Force connecting to IPv4 addresses, off by default. You can put - this in the global init file to disable Wget's attempts to resolve - and connect to IPv6 hosts. Available only if Wget was compiled - with IPv6 support. The same as ‘--inet4-only’ or ‘-4’. - -inet6_only = on/off - Force connecting to IPv6 addresses, off by default. Available only - if Wget was compiled with IPv6 support. The same as ‘--inet6-only’ - or ‘-6’. - -input = FILE - Read the URLs from STRING, like ‘-i FILE’. - -keep_session_cookies = on/off - When specified, causes ‘save_cookies = on’ to also save session - cookies. See ‘--keep-session-cookies’. - -limit_rate = RATE - Limit the download speed to no more than RATE bytes per second. - The same as ‘--limit-rate=RATE’. - -load_cookies = FILE - Load cookies from FILE. See ‘--load-cookies FILE’. - -local_encoding = ENCODING - Force Wget to use ENCODING as the default system encoding. See - ‘--local-encoding’. - -logfile = FILE - Set logfile to FILE, the same as ‘-o FILE’. - -max_redirect = NUMBER - Specifies the maximum number of redirections to follow for a - resource. See ‘--max-redirect=NUMBER’. - -mirror = on/off - Turn mirroring on/off. The same as ‘-m’. - -netrc = on/off - Turn reading netrc on or off. - -no_clobber = on/off - Same as ‘-nc’. - -no_parent = on/off - Disallow retrieving outside the directory hierarchy, like - ‘--no-parent’ (*note Directory-Based Limits::). - -no_proxy = STRING - Use STRING as the comma-separated list of domains to avoid in proxy - loading, instead of the one specified in environment. - -output_document = FILE - Set the output filename--the same as ‘-O FILE’. - -page_requisites = on/off - Download all ancillary documents necessary for a single HTML page - to display properly--the same as ‘-p’. - -passive_ftp = on/off - Change setting of passive FTP, equivalent to the ‘--passive-ftp’ - option. - -password = STRING - Specify password STRING for both FTP and HTTP file retrieval. This - command can be overridden using the ‘ftp_password’ and - ‘http_password’ command for FTP and HTTP respectively. - -post_data = STRING - Use POST as the method for all HTTP requests and send STRING in the - request body. The same as ‘--post-data=STRING’. - -post_file = FILE - Use POST as the method for all HTTP requests and send the contents - of FILE in the request body. The same as ‘--post-file=FILE’. - -prefer_family = none/IPv4/IPv6 - When given a choice of several addresses, connect to the addresses - with specified address family first. The address order returned by - DNS is used without change by default. The same as - ‘--prefer-family’, which see for a detailed discussion of why this - is useful. - -private_key = FILE - Set the private key file to FILE. The same as - ‘--private-key=FILE’. - -private_key_type = STRING - Specify the type of the private key, legal values being ‘PEM’ (the - default) and ‘DER’ (aka ASN1). The same as - ‘--private-type=STRING’. - -progress = STRING - Set the type of the progress indicator. Legal types are ‘dot’ and - ‘bar’. Equivalent to ‘--progress=STRING’. - -protocol_directories = on/off - When set, use the protocol name as a directory component of local - file names. The same as ‘--protocol-directories’. - -proxy_password = STRING - Set proxy authentication password to STRING, like - ‘--proxy-password=STRING’. - -proxy_user = STRING - Set proxy authentication user name to STRING, like - ‘--proxy-user=STRING’. - -quiet = on/off - Quiet mode--the same as ‘-q’. - -quota = QUOTA - Specify the download quota, which is useful to put in the global - ‘wgetrc’. When download quota is specified, Wget will stop - retrieving after the download sum has become greater than quota. - The quota can be specified in bytes (default), kbytes ‘k’ appended) - or mbytes (‘m’ appended). Thus ‘quota = 5m’ will set the quota to - 5 megabytes. Note that the user's startup file overrides system - settings. - -random_file = FILE - Use FILE as a source of randomness on systems lacking - ‘/dev/random’. - -random_wait = on/off - Turn random between-request wait times on or off. The same as - ‘--random-wait’. - -read_timeout = N - Set the read (and write) timeout--the same as ‘--read-timeout=N’. - -reclevel = N - Recursion level (depth)--the same as ‘-l N’. - -recursive = on/off - Recursive on/off--the same as ‘-r’. - -referer = STRING - Set HTTP ‘Referer:’ header just like ‘--referer=STRING’. (Note - that it was the folks who wrote the HTTP spec who got the spelling - of "referrer" wrong.) - -relative_only = on/off - Follow only relative links--the same as ‘-L’ (*note Relative - Links::). - -remote_encoding = ENCODING - Force Wget to use ENCODING as the default remote server encoding. - See ‘--remote-encoding’. - -remove_listing = on/off - If set to on, remove FTP listings downloaded by Wget. Setting it - to off is the same as ‘--no-remove-listing’. - -restrict_file_names = unix/windows - Restrict the file names generated by Wget from URLs. See - ‘--restrict-file-names’ for a more detailed description. - -retr_symlinks = on/off - When set to on, retrieve symbolic links as if they were plain - files; the same as ‘--retr-symlinks’. - -retry_connrefused = on/off - When set to on, consider "connection refused" a transient - error--the same as ‘--retry-connrefused’. - -robots = on/off - Specify whether the norobots convention is respected by Wget, "on" - by default. This switch controls both the ‘/robots.txt’ and the - ‘nofollow’ aspect of the spec. *Note Robot Exclusion::, for more - details about this. Be sure you know what you are doing before - turning this off. - -save_cookies = FILE - Save cookies to FILE. The same as ‘--save-cookies FILE’. - -save_headers = on/off - Same as ‘--save-headers’. - -secure_protocol = STRING - Choose the secure protocol to be used. Legal values are ‘auto’ - (the default), ‘SSLv2’, ‘SSLv3’, and ‘TLSv1’. The same as - ‘--secure-protocol=STRING’. - -server_response = on/off - Choose whether or not to print the HTTP and FTP server - responses--the same as ‘-S’. - -show_all_dns_entries = on/off - When a DNS name is resolved, show all the IP addresses, not just - the first three. - -span_hosts = on/off - Same as ‘-H’. - -spider = on/off - Same as ‘--spider’. - -strict_comments = on/off - Same as ‘--strict-comments’. - -timeout = N - Set all applicable timeout values to N, the same as ‘-T N’. - -timestamping = on/off - Turn timestamping on/off. The same as ‘-N’ (*note - Time-Stamping::). - -use_server_timestamps = on/off - If set to ‘off’, Wget won't set the local file's timestamp by the - one on the server (same as ‘--no-use-server-timestamps’). - -tries = N - Set number of retries per URL--the same as ‘-t N’. - -use_proxy = on/off - When set to off, don't use proxy even when proxy-related - environment variables are set. In that case it is the same as - using ‘--no-proxy’. - -user = STRING - Specify username STRING for both FTP and HTTP file retrieval. This - command can be overridden using the ‘ftp_user’ and ‘http_user’ - command for FTP and HTTP respectively. - -user_agent = STRING - User agent identification sent to the HTTP Server--the same as - ‘--user-agent=STRING’. - -verbose = on/off - Turn verbose on/off--the same as ‘-v’/‘-nv’. - -wait = N - Wait N seconds between retrievals--the same as ‘-w N’. - -wait_retry = N - Wait up to N seconds between retries of failed retrievals only--the - same as ‘--waitretry=N’. Note that this is turned on by default in - the global ‘wgetrc’. - - -File: wget.info, Node: Sample Wgetrc, Prev: Wgetrc Commands, Up: Startup File - -6.4 Sample Wgetrc -================= - -This is the sample initialization file, as given in the distribution. -It is divided in two section--one for global usage (suitable for global -startup file), and one for local usage (suitable for ‘$HOME/.wgetrc’). -Be careful about the things you change. - - Note that almost all the lines are commented out. For a command to -have any effect, you must remove the ‘#’ character at the beginning of -its line. - - ### - ### Sample Wget initialization file .wgetrc - ### - - ## You can use this file to change the default behaviour of wget or to - ## avoid having to type many many command-line options. This file does - ## not contain a comprehensive list of commands -- look at the manual - ## to find out what you can put into this file. You can find this here: - ## $ info wget.info 'Startup File' - ## Or online here: - ## https://www.gnu.org/software/wget/manual/wget.html#Startup-File - ## - ## Wget initialization file can reside in /usr/local/etc/wgetrc - ## (global, for all users) or $HOME/.wgetrc (for a single user). - ## - ## To use the settings in this file, you will have to uncomment them, - ## as well as change them, in most cases, as the values on the - ## commented-out lines are the default values (e.g. "off"). - ## - ## Command are case-, underscore- and minus-insensitive. - ## For example ftp_proxy, ftp-proxy and ftpproxy are the same. - - - ## - ## Global settings (useful for setting up in /usr/local/etc/wgetrc). - ## Think well before you change them, since they may reduce wget's - ## functionality, and make it behave contrary to the documentation: - ## - - # You can set retrieve quota for beginners by specifying a value - # optionally followed by 'K' (kilobytes) or 'M' (megabytes). The - # default quota is unlimited. - #quota = inf - - # You can lower (or raise) the default number of retries when - # downloading a file (default is 20). - #tries = 20 - - # Lowering the maximum depth of the recursive retrieval is handy to - # prevent newbies from going too "deep" when they unwittingly start - # the recursive retrieval. The default is 5. - #reclevel = 5 - - # By default Wget uses "passive FTP" transfer where the client - # initiates the data connection to the server rather than the other - # way around. That is required on systems behind NAT where the client - # computer cannot be easily reached from the Internet. However, some - # firewalls software explicitly supports active FTP and in fact has - # problems supporting passive transfer. If you are in such - # environment, use "passive_ftp = off" to revert to active FTP. - #passive_ftp = off - - # The "wait" command below makes Wget wait between every connection. - # If, instead, you want Wget to wait only between retries of failed - # downloads, set waitretry to maximum number of seconds to wait (Wget - # will use "linear backoff", waiting 1 second after the first failure - # on a file, 2 seconds after the second failure, etc. up to this max). - #waitretry = 10 - - - ## - ## Local settings (for a user to set in his $HOME/.wgetrc). It is - ## *highly* undesirable to put these settings in the global file, since - ## they are potentially dangerous to "normal" users. - ## - ## Even when setting up your own ~/.wgetrc, you should know what you - ## are doing before doing so. - ## - - # Set this to on to use timestamping by default: - #timestamping = off - - # It is a good idea to make Wget send your email address in a `From:' - # header with your request (so that server administrators can contact - # you in case of errors). Wget does *not* send `From:' by default. - #header = From: Your Name <username@site.domain> - - # You can set up other headers, like Accept-Language. Accept-Language - # is *not* sent by default. - #header = Accept-Language: en - - # You can set the default proxies for Wget to use for http, https, and ftp. - # They will override the value in the environment. - #https_proxy = http://proxy.yoyodyne.com:18023/ - #http_proxy = http://proxy.yoyodyne.com:18023/ - #ftp_proxy = http://proxy.yoyodyne.com:18023/ - - # If you do not want to use proxy at all, set this to off. - #use_proxy = on - - # You can customize the retrieval outlook. Valid options are default, - # binary, mega and micro. - #dot_style = default - - # Setting this to off makes Wget not download /robots.txt. Be sure to - # know *exactly* what /robots.txt is and how it is used before changing - # the default! - #robots = on - - # It can be useful to make Wget wait between connections. Set this to - # the number of seconds you want Wget to wait. - #wait = 0 - - # You can force creating directory structure, even if a single is being - # retrieved, by setting this to on. - #dirstruct = off - - # You can turn on recursive retrieving by default (don't do this if - # you are not sure you know what it means) by setting this to on. - #recursive = off - - # To always back up file X as X.orig before converting its links (due - # to -k / --convert-links / convert_links = on having been specified), - # set this variable to on: - #backup_converted = off - - # To have Wget follow FTP links from HTML files by default, set this - # to on: - #follow_ftp = off - - # To try ipv6 addresses first: - #prefer-family = IPv6 - - # Set default IRI support state - #iri = off - - # Force the default system encoding - #localencoding = UTF-8 - - # Force the default remote server encoding - #remoteencoding = UTF-8 - - # Turn on to prevent following non-HTTPS links when in recursive mode - #httpsonly = off - - # Tune HTTPS security (auto, SSLv2, SSLv3, TLSv1, PFS) - #secureprotocol = auto - - -File: wget.info, Node: Examples, Next: Various, Prev: Startup File, Up: Top - -7 Examples -********** - -The examples are divided into three sections loosely based on their -complexity. - -* Menu: - -* Simple Usage:: Simple, basic usage of the program. -* Advanced Usage:: Advanced tips. -* Very Advanced Usage:: The hairy stuff. - - -File: wget.info, Node: Simple Usage, Next: Advanced Usage, Prev: Examples, Up: Examples - -7.1 Simple Usage -================ - - • Say you want to download a URL. Just type: - - wget http://fly.srk.fer.hr/ - - • But what will happen if the connection is slow, and the file is - lengthy? The connection will probably fail before the whole file - is retrieved, more than once. In this case, Wget will try getting - the file until it either gets the whole of it, or exceeds the - default number of retries (this being 20). It is easy to change - the number of tries to 45, to insure that the whole file will - arrive safely: - - wget --tries=45 http://fly.srk.fer.hr/jpg/flyweb.jpg - - • Now let's leave Wget to work in the background, and write its - progress to log file ‘log’. It is tiring to type ‘--tries’, so we - shall use ‘-t’. - - wget -t 45 -o log http://fly.srk.fer.hr/jpg/flyweb.jpg & - - The ampersand at the end of the line makes sure that Wget works in - the background. To unlimit the number of retries, use ‘-t inf’. - - • The usage of FTP is as simple. Wget will take care of login and - password. - - wget ftp://gnjilux.srk.fer.hr/welcome.msg - - • If you specify a directory, Wget will retrieve the directory - listing, parse it and convert it to HTML. Try: - - wget ftp://ftp.gnu.org/pub/gnu/ - links index.html - - -File: wget.info, Node: Advanced Usage, Next: Very Advanced Usage, Prev: Simple Usage, Up: Examples - -7.2 Advanced Usage -================== - - • You have a file that contains the URLs you want to download? Use - the ‘-i’ switch: - - wget -i FILE - - If you specify ‘-’ as file name, the URLs will be read from - standard input. - - • Create a five levels deep mirror image of the GNU web site, with - the same directory structure the original has, with only one try - per document, saving the log of the activities to ‘gnulog’: - - wget -r https://www.gnu.org/ -o gnulog - - • The same as the above, but convert the links in the downloaded - files to point to local files, so you can view the documents - off-line: - - wget --convert-links -r https://www.gnu.org/ -o gnulog - - • Retrieve only one HTML page, but make sure that all the elements - needed for the page to be displayed, such as inline images and - external style sheets, are also downloaded. Also make sure the - downloaded page references the downloaded links. - - wget -p --convert-links http://www.example.com/dir/page.html - - The HTML page will be saved to ‘www.example.com/dir/page.html’, and - the images, stylesheets, etc., somewhere under ‘www.example.com/’, - depending on where they were on the remote server. - - • The same as the above, but without the ‘www.example.com/’ - directory. In fact, I don't want to have all those random server - directories anyway--just save _all_ those files under a ‘download/’ - subdirectory of the current directory. - - wget -p --convert-links -nH -nd -Pdownload \ - http://www.example.com/dir/page.html - - • Retrieve the index.html of ‘www.lycos.com’, showing the original - server headers: - - wget -S http://www.lycos.com/ - - • Save the server headers with the file, perhaps for post-processing. - - wget --save-headers http://www.lycos.com/ - more index.html - - • Retrieve the first two levels of ‘wuarchive.wustl.edu’, saving them - to ‘/tmp’. - - wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/ - - • You want to download all the GIFs from a directory on an HTTP - server. You tried ‘wget http://www.example.com/dir/*.gif’, but - that didn't work because HTTP retrieval does not support globbing. - In that case, use: - - wget -r -l1 --no-parent -A.gif http://www.example.com/dir/ - - More verbose, but the effect is the same. ‘-r -l1’ means to - retrieve recursively (*note Recursive Download::), with maximum - depth of 1. ‘--no-parent’ means that references to the parent - directory are ignored (*note Directory-Based Limits::), and - ‘-A.gif’ means to download only the GIF files. ‘-A "*.gif"’ would - have worked too. - - • Suppose you were in the middle of downloading, when Wget was - interrupted. Now you do not want to clobber the files already - present. It would be: - - wget -nc -r https://www.gnu.org/ - - • If you want to encode your own username and password to HTTP or - FTP, use the appropriate URL syntax (*note URL Format::). - - wget ftp://hniksic:mypassword@unix.example.com/.emacs - - Note, however, that this usage is not advisable on multi-user - systems because it reveals your password to anyone who looks at the - output of ‘ps’. - - • You would like the output documents to go to standard output - instead of to files? - - wget -O - http://jagor.srce.hr/ http://www.srce.hr/ - - You can also combine the two options and make pipelines to retrieve - the documents from remote hotlists: - - wget -O - http://cool.list.com/ | wget --force-html -i - - - -File: wget.info, Node: Very Advanced Usage, Prev: Advanced Usage, Up: Examples - -7.3 Very Advanced Usage -======================= - - • If you wish Wget to keep a mirror of a page (or FTP - subdirectories), use ‘--mirror’ (‘-m’), which is the shorthand for - ‘-r -l inf -N’. You can put Wget in the crontab file asking it to - recheck a site each Sunday: - - crontab - 0 0 * * 0 wget --mirror https://www.gnu.org/ -o /home/me/weeklog - - • In addition to the above, you want the links to be converted for - local viewing. But, after having read this manual, you know that - link conversion doesn't play well with timestamping, so you also - want Wget to back up the original HTML files before the conversion. - Wget invocation would look like this: - - wget --mirror --convert-links --backup-converted \ - https://www.gnu.org/ -o /home/me/weeklog - - • But you've also noticed that local viewing doesn't work all that - well when HTML files are saved under extensions other than ‘.html’, - perhaps because they were served as ‘index.cgi’. So you'd like - Wget to rename all the files served with content-type ‘text/html’ - or ‘application/xhtml+xml’ to ‘NAME.html’. - - wget --mirror --convert-links --backup-converted \ - --adjust-extension -o /home/me/weeklog \ - https://www.gnu.org/ - - Or, with less typing: - - wget -m -k -K -E https://www.gnu.org/ -o /home/me/weeklog - - -File: wget.info, Node: Various, Next: Appendices, Prev: Examples, Up: Top - -8 Various -********* - -This chapter contains all the stuff that could not fit anywhere else. - -* Menu: - -* Proxies:: Support for proxy servers. -* Distribution:: Getting the latest version. -* Web Site:: GNU Wget's presence on the World Wide Web. -* Mailing Lists:: Wget mailing list for announcements and discussion. -* Internet Relay Chat:: Wget's presence on IRC. -* Reporting Bugs:: How and where to report bugs. -* Portability:: The systems Wget works on. -* Signals:: Signal-handling performed by Wget. - - -File: wget.info, Node: Proxies, Next: Distribution, Prev: Various, Up: Various - -8.1 Proxies -=========== - -“Proxies” are special-purpose HTTP servers designed to transfer data -from remote servers to local clients. One typical use of proxies is -lightening network load for users behind a slow connection. This is -achieved by channeling all HTTP and FTP requests through the proxy which -caches the transferred data. When a cached resource is requested again, -proxy will return the data from cache. Another use for proxies is for -companies that separate (for security reasons) their internal networks -from the rest of Internet. In order to obtain information from the Web, -their users connect and retrieve remote data using an authorized proxy. - - Wget supports proxies for both HTTP and FTP retrievals. The standard -way to specify proxy location, which Wget recognizes, is using the -following environment variables: - -‘http_proxy’ -‘https_proxy’ - If set, the ‘http_proxy’ and ‘https_proxy’ variables should contain - the URLs of the proxies for HTTP and HTTPS connections - respectively. - -‘ftp_proxy’ - This variable should contain the URL of the proxy for FTP - connections. It is quite common that ‘http_proxy’ and ‘ftp_proxy’ - are set to the same URL. - -‘no_proxy’ - This variable should contain a comma-separated list of domain - extensions proxy should _not_ be used for. For instance, if the - value of ‘no_proxy’ is ‘.mit.edu’, proxy will not be used to - retrieve documents from MIT. - - In addition to the environment variables, proxy location and settings -may be specified from within Wget itself. - -‘--no-proxy’ -‘proxy = on/off’ - This option and the corresponding command may be used to suppress - the use of proxy, even if the appropriate environment variables are - set. - -‘http_proxy = URL’ -‘https_proxy = URL’ -‘ftp_proxy = URL’ -‘no_proxy = STRING’ - These startup file variables allow you to override the proxy - settings specified by the environment. - - Some proxy servers require authorization to enable you to use them. -The authorization consists of “username” and “password”, which must be -sent by Wget. As with HTTP authorization, several authentication -schemes exist. For proxy authorization only the ‘Basic’ authentication -scheme is currently implemented. - - You may specify your username and password either through the proxy -URL or through the command-line options. Assuming that the company's -proxy is located at ‘proxy.company.com’ at port 8001, a proxy URL -location containing authorization data might look like this: - - http://hniksic:mypassword@proxy.company.com:8001/ - - Alternatively, you may use the ‘proxy-user’ and ‘proxy-password’ -options, and the equivalent ‘.wgetrc’ settings ‘proxy_user’ and -‘proxy_password’ to set the proxy username and password. - - -File: wget.info, Node: Distribution, Next: Web Site, Prev: Proxies, Up: Various - -8.2 Distribution -================ - -Like all GNU utilities, the latest version of Wget can be found at the -master GNU archive site ftp.gnu.org, and its mirrors. For example, Wget -1.25.0 can be found at -<https://ftp.gnu.org/pub/gnu/wget/wget-1.25.0.tar.gz> - - -File: wget.info, Node: Web Site, Next: Mailing Lists, Prev: Distribution, Up: Various - -8.3 Web Site -============ - -The official web site for GNU Wget is at -<https//www.gnu.org/software/wget/>. However, most useful information -resides at "The Wget Wgiki", <http://wget.addictivecode.org/>. - - -File: wget.info, Node: Mailing Lists, Next: Internet Relay Chat, Prev: Web Site, Up: Various - -8.4 Mailing Lists -================= - -Primary List ------------- - -The primary mailinglist for discussion, bug-reports, or questions about -GNU Wget is at <bug-wget@gnu.org>. To subscribe, send an email to -<bug-wget-join@gnu.org>, or visit -<https://lists.gnu.org/mailman/listinfo/bug-wget>. - - You do not need to subscribe to send a message to the list; however, -please note that unsubscribed messages are moderated, and may take a -while before they hit the list--*usually around a day*. If you want -your message to show up immediately, please subscribe to the list before -posting. Archives for the list may be found at -<https://lists.gnu.org/archive/html/bug-wget/>. - - An NNTP/Usenettish gateway is also available via Gmane -(http://gmane.org/about.php). You can see the Gmane archives at -<http://news.gmane.org/gmane.comp.web.wget.general>. Note that the -Gmane archives conveniently include messages from both the current list, -and the previous one. Messages also show up in the Gmane archives -sooner than they do at <https://lists.gnu.org>. - -Obsolete Lists --------------- - -Previously, the mailing list <wget@sunsite.dk> was used as the main -discussion list, and another list, <wget-patches@sunsite.dk> was used -for submitting and discussing patches to GNU Wget. - - Messages from <wget@sunsite.dk> are archived at - <https://www.mail-archive.com/wget%40sunsite.dk/> and at - <http://news.gmane.org/gmane.comp.web.wget.general> (which also - continues to archive the current list, <bug-wget@gnu.org>). - - Messages from <wget-patches@sunsite.dk> are archived at - <http://news.gmane.org/gmane.comp.web.wget.patches>. - - -File: wget.info, Node: Internet Relay Chat, Next: Reporting Bugs, Prev: Mailing Lists, Up: Various - -8.5 Internet Relay Chat -======================= - -In addition to the mailinglists, we also have a support channel set up -via IRC at ‘irc.freenode.org’, ‘#wget’. Come check it out! - - -File: wget.info, Node: Reporting Bugs, Next: Portability, Prev: Internet Relay Chat, Up: Various - -8.6 Reporting Bugs -================== - -You are welcome to submit bug reports via the GNU Wget bug tracker (see -<https://savannah.gnu.org/bugs/?func=additem&group=wget>) or to our -mailing list <bug-wget@gnu.org>. - - Visit <https://lists.gnu.org/mailman/listinfo/bug-wget> to get more -info (how to subscribe, list archives, ...). - - Before actually submitting a bug report, please try to follow a few -simple guidelines. - - 1. Please try to ascertain that the behavior you see really is a bug. - If Wget crashes, it's a bug. If Wget does not behave as - documented, it's a bug. If things work strange, but you are not - sure about the way they are supposed to work, it might well be a - bug, but you might want to double-check the documentation and the - mailing lists (*note Mailing Lists::). - - 2. Try to repeat the bug in as simple circumstances as possible. E.g. - if Wget crashes while downloading ‘wget -rl0 -kKE -t5 --no-proxy - http://example.com -o /tmp/log’, you should try to see if the crash - is repeatable, and if will occur with a simpler set of options. - You might even try to start the download at the page where the - crash occurred to see if that page somehow triggered the crash. - - Also, while I will probably be interested to know the contents of - your ‘.wgetrc’ file, just dumping it into the debug message is - probably a bad idea. Instead, you should first try to see if the - bug repeats with ‘.wgetrc’ moved out of the way. Only if it turns - out that ‘.wgetrc’ settings affect the bug, mail me the relevant - parts of the file. - - 3. Please start Wget with ‘-d’ option and send us the resulting output - (or relevant parts thereof). If Wget was compiled without debug - support, recompile it--it is _much_ easier to trace bugs with debug - support on. - - Note: please make sure to remove any potentially sensitive - information from the debug log before sending it to the bug - address. The ‘-d’ won't go out of its way to collect sensitive - information, but the log _will_ contain a fairly complete - transcript of Wget's communication with the server, which may - include passwords and pieces of downloaded data. Since the bug - address is publicly archived, you may assume that all bug reports - are visible to the public. - - 4. If Wget has crashed, try to run it in a debugger, e.g. ‘gdb `which - wget` core’ and type ‘where’ to get the backtrace. This may not - work if the system administrator has disabled core files, but it is - safe to try. - - -File: wget.info, Node: Portability, Next: Signals, Prev: Reporting Bugs, Up: Various - -8.7 Portability -=============== - -Like all GNU software, Wget works on the GNU system. However, since it -uses GNU Autoconf for building and configuring, and mostly avoids using -"special" features of any particular Unix, it should compile (and work) -on all common Unix flavors. - - Various Wget versions have been compiled and tested under many kinds -of Unix systems, including GNU/Linux, Solaris, SunOS 4.x, Mac OS X, OSF -(aka Digital Unix or Tru64), Ultrix, *BSD, IRIX, AIX, and others. Some -of those systems are no longer in widespread use and may not be able to -support recent versions of Wget. If Wget fails to compile on your -system, we would like to know about it. - - Thanks to kind contributors, this version of Wget compiles and works -on 32-bit Microsoft Windows platforms. It has been compiled -successfully using MS Visual C++ 6.0, Watcom, Borland C, and GCC -compilers. Naturally, it is crippled of some features available on -Unix, but it should work as a substitute for people stuck with Windows. -Note that Windows-specific portions of Wget are not guaranteed to be -supported in the future, although this has been the case in practice for -many years now. All questions and problems in Windows usage should be -reported to Wget mailing list at <wget@sunsite.dk> where the volunteers -who maintain the Windows-related features might look at them. - - Support for building on MS-DOS via DJGPP has been contributed by -Gisle Vanem; a port to VMS is maintained by Steven Schweda, and is -available at <https://antinode.info/dec/sw/wget.html>. - - -File: wget.info, Node: Signals, Prev: Portability, Up: Various - -8.8 Signals -=========== - -Since the purpose of Wget is background work, it catches the hangup -signal (‘SIGHUP’) and ignores it. If the output was on standard output, -it will be redirected to a file named ‘wget-log’. Otherwise, ‘SIGHUP’ -is ignored. This is convenient when you wish to redirect the output of -Wget after having started it. - - $ wget http://www.gnus.org/dist/gnus.tar.gz & - ... - $ kill -HUP %% - SIGHUP received, redirecting output to `wget-log'. - - Other than that, Wget will not try to interfere with signals in any -way. ‘C-c’, ‘kill -TERM’ and ‘kill -KILL’ should kill it alike. - - -File: wget.info, Node: Appendices, Next: Copying this manual, Prev: Various, Up: Top - -9 Appendices -************ - -This chapter contains some references I consider useful. - -* Menu: - -* Robot Exclusion:: Wget's support for RES. -* Security Considerations:: Security with Wget. -* Contributors:: People who helped. - - -File: wget.info, Node: Robot Exclusion, Next: Security Considerations, Prev: Appendices, Up: Appendices - -9.1 Robot Exclusion -=================== - -It is extremely easy to make Wget wander aimlessly around a web site, -sucking all the available data in progress. ‘wget -r SITE’, and you're -set. Great? Not for the server admin. - - As long as Wget is only retrieving static pages, and doing it at a -reasonable rate (see the ‘--wait’ option), there's not much of a -problem. The trouble is that Wget can't tell the difference between the -smallest static page and the most demanding CGI. A site I know has a -section handled by a CGI Perl script that converts Info files to HTML on -the fly. The script is slow, but works well enough for human users -viewing an occasional Info file. However, when someone's recursive Wget -download stumbles upon the index page that links to all the Info files -through the script, the system is brought to its knees without providing -anything useful to the user (This task of converting Info files could be -done locally and access to Info documentation for all installed GNU -software on a system is available from the ‘info’ command). - - To avoid this kind of accident, as well as to preserve privacy for -documents that need to be protected from well-behaved robots, the -concept of “robot exclusion” was invented. The idea is that the server -administrators and document authors can specify which portions of the -site they wish to protect from robots and those they will permit access. - - The most popular mechanism, and the de facto standard supported by -all the major robots, is the "Robots Exclusion Standard" (RES) written -by Martijn Koster et al. in 1994. It specifies the format of a text -file containing directives that instruct the robots which URL paths to -avoid. To be found by the robots, the specifications must be placed in -‘/robots.txt’ in the server root, which the robots are expected to -download and parse. - - Although Wget is not a web robot in the strictest sense of the word, -it can download large parts of the site without the user's intervention -to download an individual page. Because of that, Wget honors RES when -downloading recursively. For instance, when you issue: - - wget -r http://www.example.com/ - - First the index of ‘www.example.com’ will be downloaded. If Wget -finds that it wants to download more documents from that server, it will -request ‘http://www.example.com/robots.txt’ and, if found, use it for -further downloads. ‘robots.txt’ is loaded only once per each server. - - Until version 1.8, Wget supported the first version of the standard, -written by Martijn Koster in 1994 and available at -<http://www.robotstxt.org/orig.html>. As of version 1.8, Wget has -supported the additional directives specified in the internet draft -‘<draft-koster-robots-00.txt>’ titled "A Method for Web Robots Control". -The draft, which has as far as I know never made to an RFC, is available -at <http://www.robotstxt.org/norobots-rfc.txt>. - - This manual no longer includes the text of the Robot Exclusion -Standard. - - The second, less known mechanism, enables the author of an individual -document to specify whether they want the links from the file to be -followed by a robot. This is achieved using the ‘META’ tag, like this: - - <meta name="robots" content="nofollow"> - - This is explained in some detail at -<http://www.robotstxt.org/meta.html>. Wget supports this method of -robot exclusion in addition to the usual ‘/robots.txt’ exclusion. - - If you know what you are doing and really really wish to turn off the -robot exclusion, set the ‘robots’ variable to ‘off’ in your ‘.wgetrc’. -You can achieve the same effect from the command line using the ‘-e’ -switch, e.g. ‘wget -e robots=off URL...’. - - -File: wget.info, Node: Security Considerations, Next: Contributors, Prev: Robot Exclusion, Up: Appendices - -9.2 Security Considerations -=========================== - -When using Wget, you must be aware that it sends unencrypted passwords -through the network, which may present a security problem. Here are the -main issues, and some solutions. - - 1. The passwords on the command line are visible using ‘ps’. The best - way around it is to use ‘wget -i -’ and feed the URLs to Wget's - standard input, each on a separate line, terminated by ‘C-d’. - Another workaround is to use ‘.netrc’ to store passwords; however, - storing unencrypted passwords is also considered a security risk. - - 2. Using the insecure “basic” authentication scheme, unencrypted - passwords are transmitted through the network routers and gateways. - - 3. The FTP passwords are also in no way encrypted. There is no good - solution for this at the moment. - - 4. Although the "normal" output of Wget tries to hide the passwords, - debugging logs show them, in all forms. This problem is avoided by - being careful when you send debug logs (yes, even when you send - them to me). - - -File: wget.info, Node: Contributors, Prev: Security Considerations, Up: Appendices - -9.3 Contributors -================ - -GNU Wget was written by Hrvoje Nikšić <hniksic@xemacs.org>, - - However, the development of Wget could never have gone as far as it -has, were it not for the help of many people, either with bug reports, -feature proposals, patches, or letters saying "Thanks!". - - Special thanks goes to the following people (no particular order): - - • Dan Harkless--contributed a lot of code and documentation of - extremely high quality, as well as the ‘--page-requisites’ and - related options. He was the principal maintainer for some time and - released Wget 1.6. - - • Ian Abbott--contributed bug fixes, Windows-related fixes, and - provided a prototype implementation of the breadth-first recursive - download. Co-maintained Wget during the 1.8 release cycle. - - • The dotsrc.org crew, in particular Karsten Thygesen--donated system - resources such as the mailing list, web space, FTP space, and - version control repositories, along with a lot of time to make - these actually work. Christian Reiniger was of invaluable help - with setting up Subversion. - - • Heiko Herold--provided high-quality Windows builds and contributed - bug and build reports for many years. - - • Shawn McHorse--bug reports and patches. - - • Kaveh R. Ghazi--on-the-fly ‘ansi2knr’-ization. Lots of portability - fixes. - - • Gordon Matzigkeit--‘.netrc’ support. - - • Zlatko Čalušić, Tomislav Vujec and Dražen Kačar--feature - suggestions and "philosophical" discussions. - - • Darko Budor--initial port to Windows. - - • Antonio Rosella--help and suggestions, plus the initial Italian - translation. - - • Tomislav Petrović, Mario Mikočević--many bug reports and - suggestions. - - • Françis Pinard--many thorough bug reports and discussions. - - • Karl Eichwalder--lots of help with internationalization, Makefile - layout and many other things. - - • Junio Hamano--donated support for Opie and HTTP ‘Digest’ - authentication. - - • Mauro Tortonesi--improved IPv6 support, adding support for dual - family systems. Refactored and enhanced FTP IPv6 code. Maintained - GNU Wget from 2004-2007. - - • Christopher G. Lewis--maintenance of the Windows version of GNU - WGet. - - • Gisle Vanem--many helpful patches and improvements, especially for - Windows and MS-DOS support. - - • Ralf Wildenhues--contributed patches to convert Wget to use - Automake as part of its build process, and various bugfixes. - - • Steven Schubiger--Many helpful patches, bugfixes and improvements. - Notably, conversion of Wget to use the Gnulib quotes and quoteargs - modules, and the addition of password prompts at the console, via - the Gnulib getpasswd-gnu module. - - • Ted Mielczarek--donated support for CSS. - - • Saint Xavier--Support for IRIs (RFC 3987). - - • Tim Rühsen--Loads of helpful patches, especially fuzzing support - and Continuous Integration. Maintainer since 2014. - - • Darshit Shah--Many helpful patches. Community support on various - platforms. Maintainer since 2014. - - • People who provided donations for development--including Brian - Gough. - - The following people have provided patches, bug/build reports, useful -suggestions, beta testing services, fan mail and all the other things -that make maintenance so much fun: - - Tim Adam, Adrian Aichner, Martin Baehr, Dieter Baron, Roger Beeman, -Dan Berger, T. Bharath, Christian Biere, Paul Bludov, Daniel Bodea, Mark -Boyns, John Burden, Julien Buty, Wanderlei Cavassin, Gilles Cedoc, Tim -Charron, Noel Cragg, Kristijan Čonkaš, John Daily, Andreas Damm, Ahmon -Dancy, Andrew Davison, Bertrand Demiddelaer, Alexander Dergachev, Andrew -Deryabin, Ulrich Drepper, Marc Duponcheel, Damir Džeko, Alan Eldridge, -Hans-Andreas Engel, Aleksandar Erkalović, Andy Eskilsson, João Ferreira, -Christian Fraenkel, David Fritz, Mike Frysinger, Charles C. Fu, -FUJISHIMA Satsuki, Masashi Fujita, Howard Gayle, Marcel Gerrits, Lemble -Gregory, Hans Grobler, Alain Guibert, Mathieu Guillaume, Aaron Hawley, -Jochen Hein, Karl Heuer, Madhusudan Hosaagrahara, HIROSE Masaaki, Ulf -Harnhammar, Gregor Hoffleit, Erik Magnus Hulthen, Richard Huveneers, -Jonas Jensen, Larry Jones, Simon Josefsson, Mario Jurić, Hack Kampbjørn, -Const Kaplinsky, Goran Kezunović, Igor Khristophorov, Robert Kleine, -KOJIMA Haime, Fila Kolodny, Alexander Kourakos, Martin Kraemer, Sami -Krank, Jay Krell, Σίμος Ξενιτέλλης (Simos KSenitellis), Christian -Lackas, Hrvoje Lacko, Daniel S. Lewart, Nicolás Lichtmeier, Dave Love, -Alexander V. Lukyanov, Thomas Lußnig, Andre Majorel, Aurelien Marchand, -Matthew J. Mellon, Jordan Mendelson, Ted Mielczarek, Robert Millan, Lin -Zhe Min, Jan Minar, Tim Mooney, Keith Moore, Adam D. Moss, Simon Munton, -Charlie Negyesi, R. K. Owen, Jim Paris, Kenny Parnell, Leonid Petrov, -Simone Piunno, Andrew Pollock, Steve Pothier, Jan Přikryl, Marin Purgar, -Csaba Ráduly, Keith Refson, Bill Richardson, Tyler Riddle, Tobias -Ringstrom, Jochen Roderburg, Juan José Rodríguez, Maciej W. Rozycki, -Edward J. Sabol, Heinz Salzmann, Robert Schmidt, Nicolas Schodet, Benno -Schulenberg, Andreas Schwab, Steven M. Schweda, Chris Seawood, Pranab -Shenoy, Dennis Smit, Toomas Soome, Tage Stabell-Kulo, Philip Stadermann, -Daniel Stenberg, Sven Sternberger, Markus Strasser, John Summerfield, -Szakacsits Szabolcs, Mike Thomas, Philipp Thomas, Mauro Tortonesi, Dave -Turner, Gisle Vanem, Rabin Vincent, Russell Vincent, Željko Vrba, -Charles G Waldman, Douglas E. Wegscheid, Ralf Wildenhues, Joshua David -Williams, Benjamin Wolsey, Saint Xavier, YAMAZAKI Makoto, Jasmin Zainul, -Bojan Ždrnja, Kristijan Zimmer, Xin Zou. - - Apologies to all who I accidentally left out, and many thanks to all -the subscribers of the Wget mailing list. - - -File: wget.info, Node: Copying this manual, Next: Concept Index, Prev: Appendices, Up: Top - -Appendix A Copying this manual -****************************** - -* Menu: - -* GNU Free Documentation License:: License for copying this manual. - - -File: wget.info, Node: GNU Free Documentation License, Prev: Copying this manual, Up: Copying this manual - -A.1 GNU Free Documentation License -================================== - - Version 1.3, 3 November 2008 - - Copyright © 2000-2002, 2007-2008, 2015, 2018-2024 Free - Software Foundation, Inc. - <http://fsf.org/> - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document “free” in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. We - recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it can - be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You accept - the license if you copy, modify or distribute the work in a way - requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in the - notice that says that the Document is released under this License. - If a section does not fit the above definition of Secondary then it - is not allowed to be designated as Invariant. The Document may - contain zero Invariant Sections. If the Document does not identify - any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images composed - of pixels) generic paint programs or (for drawings) some widely - available drawing editor, and that is suitable for input to text - formatters or for automatic translation to a variety of formats - suitable for input to text formatters. A copy made in an otherwise - Transparent file format whose markup, or absence of markup, has - been arranged to thwart or discourage subsequent modification by - readers is not Transparent. An image format is not Transparent if - used for any substantial amount of text. A copy that is not - "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and standard-conforming - simple HTML, PostScript or PDF designed for human modification. - Examples of transparent image formats include PNG, XCF and JPG. - Opaque formats include proprietary formats that can be read and - edited only by proprietary word processors, SGML or XML for which - the DTD and/or processing tools are not generally available, and - the machine-generated HTML, PostScript or PDF produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow the - conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the title - equally prominent and visible. You may add other material on the - covers in addition. Copying with changes limited to the covers, as - long as they preserve the title of the Document and satisfy these - conditions, can be treated as verbatim copying in other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a machine-readable - Transparent copy along with each Opaque copy, or state in or with - each Opaque copy a computer-network location from which the general - network-using public has access to download using public-standard - network protocols a complete Transparent copy of the Document, free - of added material. If you use the latter option, you must take - reasonably prudent steps, when you begin distribution of Opaque - copies in quantity, to ensure that this Transparent copy will - remain thus accessible at the stated location until at least one - year after the last time you distribute an Opaque copy (directly or - through your agents or retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of copies, - to give them a chance to provide you with an updated version of the - Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with the - Modified Version filling the role of the Document, thus licensing - distribution and modification of the Modified Version to whoever - possesses a copy of it. In addition, you must do these things in - the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of previous - versions (which should, if there were any, be listed in the - History section of the Document). You may use the same title - as a previous version if the original publisher of that - version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on the - Title Page. If there is no section Entitled "History" in the - Document, create one stating the title, year, authors, and - publisher of the Document as given on its Title Page, then add - an item describing the Modified Version as stated in the - previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in the - "History" section. You may omit a network location for a work - that was published at least four years before the Document - itself, or if the original publisher of the version it refers - to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section - all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, unaltered - in their text and in their titles. Section numbers or the - equivalent are not considered part of the section titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option designate - some or all of these sections as invariant. To do this, add their - titles to the list of Invariant Sections in the Modified Version's - license notice. These titles must be distinct from any other - section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end of - the list of Cover Texts in the Modified Version. Only one passage - of Front-Cover Text and one of Back-Cover Text may be added by (or - through arrangements made by) any one entity. If the Document - already includes a cover text for the same cover, previously added - by you or by arrangement made by the same entity you are acting on - behalf of, you may not add another; but you may replace the old - one, on explicit permission from the previous publisher that added - the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination all - of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the documents - in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow this - License in all other respects regarding verbatim copying of that - document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of a - storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from you - under this License. If your rights have been terminated and not - permanently reinstated, receipt of a copy of some or all of the - same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - <http://www.gnu.org/copyleft/>. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If the - Document does not specify a version number of this License, you may - choose any version ever published (not as a draft) by the Free - Software Foundation. If the Document specifies that a proxy can - decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of free -software license, such as the GNU General Public License, to permit -their use in free software. - - -File: wget.info, Node: Concept Index, Prev: Copying this manual, Up: Top - -Concept Index -************* - -�[index�] -* Menu: - -* .css extension: HTTP Options. (line 10) -* .html extension: HTTP Options. (line 10) -* .listing files, removing: FTP Options. (line 21) -* .netrc: Startup File. (line 6) -* .wgetrc: Startup File. (line 6) -* #wget: Internet Relay Chat. (line 6) -* accept directories: Directory-Based Limits. - (line 17) -* accept suffixes: Types of Files. (line 15) -* accept wildcards: Types of Files. (line 15) -* append to log: Logging and Input File Options. - (line 11) -* arguments: Invoking. (line 6) -* authentication: Download Options. (line 536) -* authentication <1>: HTTP Options. (line 43) -* authentication <2>: HTTP Options. (line 393) -* authentication credentials: Download Options. (line 113) -* backing up converted files: Recursive Retrieval Options. - (line 103) -* backing up files: Download Options. (line 107) -* bandwidth, limit: Download Options. (line 330) -* base for relative links in input file: Logging and Input File Options. - (line 119) -* bind address: Download Options. (line 6) -* bind DNS address: Download Options. (line 11) -* bug reports: Reporting Bugs. (line 6) -* bugs: Reporting Bugs. (line 6) -* cache: HTTP Options. (line 71) -* caching of DNS lookups: Download Options. (line 415) -* case fold: Recursive Accept/Reject Options. - (line 62) -* client DNS address: Download Options. (line 11) -* client IP address: Download Options. (line 6) -* clobbering, file: Download Options. (line 68) -* command line: Invoking. (line 6) -* comments, HTML: Recursive Retrieval Options. - (line 181) -* connect timeout: Download Options. (line 314) -* Content On Error: HTTP Options. (line 380) -* Content-Disposition: HTTP Options. (line 363) -* Content-Encoding, choose: HTTP Options. (line 197) -* Content-Length, ignore: HTTP Options. (line 160) -* continue retrieval: Download Options. (line 118) -* continue retrieval <1>: Download Options. (line 177) -* contributors: Contributors. (line 6) -* conversion of links: Recursive Retrieval Options. - (line 45) -* cookies: HTTP Options. (line 80) -* cookies, loading: HTTP Options. (line 90) -* cookies, saving: HTTP Options. (line 138) -* cookies, session: HTTP Options. (line 143) -* cut directories: Directory Options. (line 32) -* debug: Logging and Input File Options. - (line 17) -* default page name: HTTP Options. (line 6) -* delete after retrieval: Recursive Retrieval Options. - (line 29) -* directories: Directory-Based Limits. - (line 6) -* directories, exclude: Directory-Based Limits. - (line 30) -* directories, include: Directory-Based Limits. - (line 17) -* directory limits: Directory-Based Limits. - (line 6) -* directory prefix: Directory Options. (line 59) -* DNS cache: Download Options. (line 415) -* DNS IP address, client, DNS: Download Options. (line 11) -* DNS IP address, client, DNS <1>: Download Options. (line 19) -* DNS server: Download Options. (line 19) -* DNS timeout: Download Options. (line 308) -* dot style: Download Options. (line 189) -* downloading multiple times: Download Options. (line 68) -* EGD: HTTPS (SSL/TLS) Options. - (line 142) -* entropy, specifying source of: HTTPS (SSL/TLS) Options. - (line 127) -* examples: Examples. (line 6) -* exclude directories: Directory-Based Limits. - (line 30) -* execute wgetrc command: Basic Startup Options. - (line 19) -* FDL, GNU Free Documentation License: GNU Free Documentation License. - (line 6) -* features: Overview. (line 6) -* file names, restrict: Download Options. (line 434) -* file permissions: FTP Options. (line 73) -* filling proxy cache: Recursive Retrieval Options. - (line 29) -* follow FTP links: Recursive Accept/Reject Options. - (line 34) -* following ftp links: FTP Links. (line 6) -* following links: Following Links. (line 6) -* force html: Logging and Input File Options. - (line 112) -* ftp authentication: FTP Options. (line 6) -* ftp password: FTP Options. (line 6) -* ftp time-stamping: FTP Time-Stamping Internals. - (line 6) -* ftp user: FTP Options. (line 6) -* globbing, toggle: FTP Options. (line 45) -* hangup: Signals. (line 6) -* header, add: HTTP Options. (line 171) -* hosts, spanning: Spanning Hosts. (line 6) -* HSTS: HTTPS (SSL/TLS) Options. - (line 161) -* HTML comments: Recursive Retrieval Options. - (line 181) -* http password: HTTP Options. (line 43) -* http referer: HTTP Options. (line 229) -* http time-stamping: HTTP Time-Stamping Internals. - (line 6) -* http user: HTTP Options. (line 43) -* idn support: Download Options. (line 558) -* ignore case: Recursive Accept/Reject Options. - (line 62) -* ignore length: HTTP Options. (line 160) -* include directories: Directory-Based Limits. - (line 17) -* incomplete downloads: Download Options. (line 118) -* incomplete downloads <1>: Download Options. (line 177) -* incremental updating: Time-Stamping. (line 6) -* index.html: HTTP Options. (line 6) -* input-file: Logging and Input File Options. - (line 46) -* input-metalink: Logging and Input File Options. - (line 77) -* Internet Relay Chat: Internet Relay Chat. (line 6) -* invoking: Invoking. (line 6) -* IP address, client: Download Options. (line 6) -* IPv6: Download Options. (line 484) -* IRC: Internet Relay Chat. (line 6) -* iri support: Download Options. (line 558) -* Keep-Alive, turning off: HTTP Options. (line 59) -* keep-badhash: Logging and Input File Options. - (line 81) -* latest version: Distribution. (line 6) -* limit bandwidth: Download Options. (line 330) -* link conversion: Recursive Retrieval Options. - (line 45) -* links: Following Links. (line 6) -* list: Mailing Lists. (line 5) -* loading cookies: HTTP Options. (line 90) -* local encoding: Download Options. (line 567) -* location of wgetrc: Wgetrc Location. (line 6) -* log file: Logging and Input File Options. - (line 6) -* mailing list: Mailing Lists. (line 6) -* metalink-index: Logging and Input File Options. - (line 93) -* metalink-over-http: Logging and Input File Options. - (line 86) -* mirroring: Very Advanced Usage. (line 6) -* no parent: Directory-Based Limits. - (line 43) -* no-clobber: Download Options. (line 68) -* nohup: Invoking. (line 6) -* number of tries: Download Options. (line 26) -* offset: Download Options. (line 177) -* operating systems: Portability. (line 6) -* option syntax: Option Syntax. (line 6) -* Other HTTP Methods: HTTP Options. (line 330) -* output file: Logging and Input File Options. - (line 6) -* overview: Overview. (line 6) -* page requisites: Recursive Retrieval Options. - (line 116) -* passive ftp: FTP Options. (line 61) -* password: Download Options. (line 536) -* pause: Download Options. (line 350) -* Persistent Connections, disabling: HTTP Options. (line 59) -* portability: Portability. (line 6) -* POST: HTTP Options. (line 262) -* preferred-location: Logging and Input File Options. - (line 101) -* progress indicator: Download Options. (line 189) -* proxies: Proxies. (line 6) -* proxy: Download Options. (line 391) -* proxy <1>: HTTP Options. (line 71) -* proxy authentication: HTTP Options. (line 220) -* proxy filling: Recursive Retrieval Options. - (line 29) -* proxy password: HTTP Options. (line 220) -* proxy user: HTTP Options. (line 220) -* quiet: Logging and Input File Options. - (line 28) -* quota: Download Options. (line 398) -* random wait: Download Options. (line 373) -* randomness, specifying source of: HTTPS (SSL/TLS) Options. - (line 127) -* rate, limit: Download Options. (line 330) -* read timeout: Download Options. (line 319) -* recursion: Recursive Download. (line 6) -* recursive download: Recursive Download. (line 6) -* redirect: HTTP Options. (line 214) -* redirecting output: Advanced Usage. (line 89) -* referer, http: HTTP Options. (line 229) -* reject directories: Directory-Based Limits. - (line 30) -* reject suffixes: Types of Files. (line 39) -* reject wildcards: Types of Files. (line 39) -* relative links: Relative Links. (line 6) -* remote encoding: Download Options. (line 581) -* reporting bugs: Reporting Bugs. (line 6) -* required images, downloading: Recursive Retrieval Options. - (line 116) -* resume download: Download Options. (line 118) -* resume download <1>: Download Options. (line 177) -* retries: Download Options. (line 26) -* retries, waiting between: Download Options. (line 364) -* retrieving: Recursive Download. (line 6) -* robot exclusion: Robot Exclusion. (line 6) -* robots.txt: Robot Exclusion. (line 6) -* sample wgetrc: Sample Wgetrc. (line 6) -* saving cookies: HTTP Options. (line 138) -* security: Security Considerations. - (line 6) -* server maintenance: Robot Exclusion. (line 6) -* server response, print: Download Options. (line 274) -* server response, save: HTTP Options. (line 236) -* session cookies: HTTP Options. (line 143) -* signal handling: Signals. (line 6) -* spanning hosts: Spanning Hosts. (line 6) -* specify config: Logging and Input File Options. - (line 132) -* spider: Download Options. (line 279) -* SSL: HTTPS (SSL/TLS) Options. - (line 6) -* SSL certificate: HTTPS (SSL/TLS) Options. - (line 73) -* SSL certificate authority: HTTPS (SSL/TLS) Options. - (line 99) -* SSL certificate type, specify: HTTPS (SSL/TLS) Options. - (line 79) -* SSL certificate, check: HTTPS (SSL/TLS) Options. - (line 44) -* SSL CRL, certificate revocation list: HTTPS (SSL/TLS) Options. - (line 111) -* SSL protocol, choose: HTTPS (SSL/TLS) Options. - (line 11) -* SSL Public Key Pin: HTTPS (SSL/TLS) Options. - (line 115) -* start position: Download Options. (line 177) -* startup: Startup File. (line 6) -* startup file: Startup File. (line 6) -* suffixes, accept: Types of Files. (line 15) -* suffixes, reject: Types of Files. (line 39) -* symbolic links, retrieving: FTP Options. (line 77) -* syntax of options: Option Syntax. (line 6) -* syntax of wgetrc: Wgetrc Syntax. (line 6) -* tag-based recursive pruning: Recursive Accept/Reject Options. - (line 38) -* time-stamping: Time-Stamping. (line 6) -* time-stamping usage: Time-Stamping Usage. (line 6) -* timeout: Download Options. (line 290) -* timeout, connect: Download Options. (line 314) -* timeout, DNS: Download Options. (line 308) -* timeout, read: Download Options. (line 319) -* timestamping: Time-Stamping. (line 6) -* tries: Download Options. (line 26) -* Trust server names: HTTP Options. (line 385) -* types of files: Types of Files. (line 6) -* unlink: Download Options. (line 596) -* updating the archives: Time-Stamping. (line 6) -* URL: URL Format. (line 6) -* URL syntax: URL Format. (line 6) -* usage, time-stamping: Time-Stamping Usage. (line 6) -* user: Download Options. (line 536) -* user-agent: HTTP Options. (line 240) -* various: Various. (line 6) -* verbose: Logging and Input File Options. - (line 32) -* wait: Download Options. (line 350) -* wait, random: Download Options. (line 373) -* waiting between retries: Download Options. (line 364) -* WARC: HTTPS (SSL/TLS) Options. - (line 240) -* web site: Web Site. (line 6) -* Wget as spider: Download Options. (line 279) -* wgetrc: Startup File. (line 6) -* wgetrc commands: Wgetrc Commands. (line 6) -* wgetrc location: Wgetrc Location. (line 6) -* wgetrc syntax: Wgetrc Syntax. (line 6) -* wildcards, accept: Types of Files. (line 15) -* wildcards, reject: Types of Files. (line 39) -* Windows file names: Download Options. (line 434) -* xattr: Logging and Input File Options. - (line 105) - - - -Tag Table: -Node: Top747 -Node: Overview2076 -Node: Invoking5747 -Node: URL Format6607 -Ref: URL Format-Footnote-19065 -Node: Option Syntax9171 -Node: Basic Startup Options11944 -Node: Logging and Input File Options12800 -Node: Download Options18884 -Node: Directory Options48355 -Node: HTTP Options51200 -Node: HTTPS (SSL/TLS) Options71823 -Node: FTP Options84924 -Node: Recursive Retrieval Options91981 -Node: Recursive Accept/Reject Options102000 -Node: Exit Status106203 -Node: Recursive Download107235 -Node: Following Links110472 -Node: Spanning Hosts111438 -Node: Types of Files113698 -Node: Directory-Based Limits118582 -Node: Relative Links121836 -Node: FTP Links122682 -Node: Time-Stamping123573 -Node: Time-Stamping Usage125245 -Node: HTTP Time-Stamping Internals127116 -Ref: HTTP Time-Stamping Internals-Footnote-1128456 -Node: FTP Time-Stamping Internals128659 -Node: Startup File130145 -Node: Wgetrc Location131080 -Node: Wgetrc Syntax131928 -Node: Wgetrc Commands132693 -Node: Sample Wgetrc149227 -Node: Examples155254 -Node: Simple Usage155615 -Node: Advanced Usage157062 -Node: Very Advanced Usage160873 -Node: Various162409 -Node: Proxies163114 -Node: Distribution166069 -Node: Web Site166413 -Node: Mailing Lists166709 -Node: Internet Relay Chat168445 -Node: Reporting Bugs168740 -Node: Portability171457 -Node: Signals173100 -Node: Appendices173807 -Node: Robot Exclusion174153 -Node: Security Considerations177997 -Node: Contributors179201 -Node: Copying this manual185143 -Node: GNU Free Documentation License185383 -Node: Concept Index210539 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/nvim.mo deleted file mode 100644 index a9eebdf2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index bc504664..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/af/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/an/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/an/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 25ef80a0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/an/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ar/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ar/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index f23a1833..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ar/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ast/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ast/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index df7311b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ast/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/az/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/az/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 42bb00d9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/az/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 1b045e27..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index b4ef5f09..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget.mo deleted file mode 100644 index 60961689..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/be/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/git.mo deleted file mode 100644 index bc4d7ed4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index a2822d5d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index b9baa94c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget.mo deleted file mode 100644 index aafce397..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bg/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bn/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bn/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 36ed0be4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bn/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bo/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bo/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e7e297f3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bo/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/br/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/br/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index af13ea3e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/br/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/bs/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/bs/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 7e5b0e83..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/bs/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/git.mo deleted file mode 100644 index 3680398b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/nvim.mo deleted file mode 100644 index b07419a5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5fc45e85..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 486952eb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget.mo deleted file mode 100644 index 761a803d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ca@valencia/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ca@valencia/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index d13c0c05..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ca@valencia/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ceb/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ceb/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 6c0cb26a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ceb/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ckb/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ckb/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 7cc6f64b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ckb/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cs.cp1250/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cs.cp1250/LC_MESSAGES/nvim.mo deleted file mode 100644 index b2f9a784..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cs.cp1250/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/nvim.mo deleted file mode 100644 index b2f9a784..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e7792b0f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 0d09340e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget.mo deleted file mode 100644 index 19ee4488..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cs/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/cy/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/cy/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 0d1ad30c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/cy/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/nvim.mo deleted file mode 100644 index 00e2aeeb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index ea4b7c88..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 07d6f454..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget.mo deleted file mode 100644 index 9e226901..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/da/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/git.mo deleted file mode 100644 index 564681b3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/nvim.mo deleted file mode 100644 index 408a58f1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index bee8b40e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 71e0665e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget.mo deleted file mode 100644 index 83b5b809..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/de/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/git.mo deleted file mode 100644 index 654cc69e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index df076e92..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 6b6ffd0c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget.mo deleted file mode 100644 index 3ec52914..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/el/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/en_AU/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/en_AU/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 690ab283..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/en_AU/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/en_CA/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/en_CA/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 898c9009..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/en_CA/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/nvim.mo deleted file mode 100644 index 08390811..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4a1c5c7f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/wget.mo deleted file mode 100644 index 1883f5a0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/en_GB/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/nvim.mo deleted file mode 100644 index 751cfc4b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5df0d303..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 37923278..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget.mo deleted file mode 100644 index 19f825fd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eo/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/git.mo deleted file mode 100644 index 3495bff3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/nvim.mo deleted file mode 100644 index 8082ff0e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 1a979e0b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 880f1eff..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget.mo deleted file mode 100644 index 0eb42829..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/es/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 856ee745..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index ace6292d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget.mo deleted file mode 100644 index 418e1d51..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/et/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index d8416f56..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 943e90c5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget.mo deleted file mode 100644 index fe9e958d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/eu/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fa/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fa/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index f6a0fb98..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fa/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/nvim.mo deleted file mode 100644 index cefd8aeb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index c2c9d14a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 5b537773..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget.mo deleted file mode 100644 index 5008208c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fi/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fil/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fil/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 8fac48b5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fil/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fo/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fo/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5fe13b1b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fo/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/git.mo deleted file mode 100644 index d933fc13..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/nvim.mo deleted file mode 100644 index 3e9c15cf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 0910ece3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 7358e36d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget.mo deleted file mode 100644 index c3ea9711..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/fr_CA/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/fr_CA/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 9636c54b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/fr_CA/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/nvim.mo deleted file mode 100644 index a52e63bd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index a7d7e8d1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index ca119ade..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget.mo deleted file mode 100644 index c517db04..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ga/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 02d88ee2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 7ff2fc7f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget.mo deleted file mode 100644 index f5050434..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/gl/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/gv/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/gv/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e612fcc0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/gv/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 11e9acaa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/wget.mo deleted file mode 100644 index 261e030e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/he/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hi/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hi/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 9f2edb2a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hi/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index ea2d79d0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/wget.mo deleted file mode 100644 index af16727b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hr/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index c2a33461..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index bfef2d9d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget.mo deleted file mode 100644 index 1976d310..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hu/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/hy/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/hy/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 19733c03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/hy/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ia/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ia/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index f6b3c963..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ia/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/git.mo deleted file mode 100644 index 4b1f11f7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4c110e7d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/wget.mo deleted file mode 100644 index 9138e65f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/id/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/git.mo deleted file mode 100644 index be4b703f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5cb90e12..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/is/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/git.mo deleted file mode 100644 index 00df49b8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/nvim.mo deleted file mode 100644 index 9f19a597..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 86062d2f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index dce92620..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget.mo deleted file mode 100644 index 3cbde2fb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/it/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ja.euc-jp/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ja.euc-jp/LC_MESSAGES/nvim.mo deleted file mode 100644 index 84c4c0b7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ja.euc-jp/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/nvim.mo deleted file mode 100644 index e396c441..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 9655fa67..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 8f41b8b8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget.mo deleted file mode 100644 index 4e6b37e9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ja/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/jbo/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/jbo/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 8774aaec..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/jbo/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5edb7f1d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 0193d5c5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget.mo deleted file mode 100644 index 0619bae5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ka/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/kk/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/kk/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 8e1de1bd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/kk/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ko.UTF-8/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ko.UTF-8/LC_MESSAGES/nvim.mo deleted file mode 100644 index 02c29c84..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ko.UTF-8/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/git.mo deleted file mode 100644 index 0f4c95fb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e9c9c023..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index ec491650..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget.mo deleted file mode 100644 index 9035b650..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ko/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ku/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ku/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4f6737f7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ku/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ky/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ky/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e84b53ae..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ky/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/li/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/li/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 6a85e50c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/li/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index d379343d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/wget.mo deleted file mode 100644 index c72f1e56..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/lt/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/lv/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/lv/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 53b4f4c7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/lv/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/mk/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/mk/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 0df97d85..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/mk/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ml/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ml/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index cd23ac74..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ml/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/mr/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/mr/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index b889d61a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/mr/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index b6a4a7df..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 008d5c00..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ms/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/mt/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/mt/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e92030b2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/mt/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/my/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/my/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 41828c86..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/my/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/nvim.mo deleted file mode 100644 index 734d55a4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 280a34d9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 35f005f8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget.mo deleted file mode 100644 index 8bddbff0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nb/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nds/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nds/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 541df1ba..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nds/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/nvim.mo deleted file mode 100644 index a77eebe4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 53cb5ba6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 8d7ca80d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget.mo deleted file mode 100644 index 2d15c9c0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nl/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/nn/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/nn/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index a1b331e3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/nn/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/no/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/no/LC_MESSAGES/nvim.mo deleted file mode 100644 index 734d55a4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/no/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/oc/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/oc/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 316c761b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/oc/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pa/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pa/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4d70a3e2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pa/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pl.UTF-8/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pl.UTF-8/LC_MESSAGES/nvim.mo deleted file mode 100644 index 7d287a26..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pl.UTF-8/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/git.mo deleted file mode 100644 index 5413b650..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4b80e2d7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 31a065ad..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget.mo deleted file mode 100644 index 047ac98f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pl/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index c0bbec2e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 94490209..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget.mo deleted file mode 100644 index 7ee718fe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/nvim.mo deleted file mode 100644 index e2b2b544..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 8ce1f576..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 50ec2030..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget.mo deleted file mode 100644 index 91565df9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_BR/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/git.mo deleted file mode 100644 index 05f1d04b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 6f926f46..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/pt_PT/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index feaa458b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 5904d0b5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget.mo deleted file mode 100644 index 07356e03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ro/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/git.mo deleted file mode 100644 index 4c41dc0b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/nvim.mo deleted file mode 100644 index 5cd57f70..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 73e2baca..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 44c43120..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget.mo deleted file mode 100644 index 6cdff84e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ru/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/rw/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/rw/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index b7a12234..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/rw/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/si/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/si/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index f6b538ca..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/si/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sk.cp1250/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sk.cp1250/LC_MESSAGES/nvim.mo deleted file mode 100644 index 1ccea40e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sk.cp1250/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/nvim.mo deleted file mode 100644 index 1ccea40e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 0fdf668b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index d450e609..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget.mo deleted file mode 100644 index 30bd8262..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sk/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index df696284..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 6f81e221..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget.mo deleted file mode 100644 index ea236dd8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sl/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sq/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sq/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e0e3efc0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sq/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 9070f50c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 9ec6691e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget.mo deleted file mode 100644 index c0a686b8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sr/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/git.mo deleted file mode 100644 index 2614a3fe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/nvim.mo deleted file mode 100644 index 5ad85a71..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 465826b6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index b14e491c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget.mo deleted file mode 100644 index 0ac5915c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sv/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/sw/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/sw/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 3a7b209b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/sw/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ta/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ta/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index e481aeeb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ta/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/te/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/te/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index ce060644..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/te/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/th/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/th/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 4f792387..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/th/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tl/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tl/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 65810513..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tl/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/git.mo deleted file mode 100644 index 0e9323a8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/nvim.mo deleted file mode 100644 index 48dcda5d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 0a31d65f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index de1a8209..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget.mo deleted file mode 100644 index ba250f3f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/tr/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ug/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ug/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 597663cb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ug/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/git.mo deleted file mode 100644 index ed75e831..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/nvim.mo deleted file mode 100644 index 52c64da8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5302c5cf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index cb0ed2cd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget.mo deleted file mode 100644 index 3cbddb35..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uk/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/ur/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/ur/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 8bef4399..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/ur/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/uz/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/uz/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 64befc40..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/uz/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/git.mo deleted file mode 100644 index 8165751a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/nvim.mo deleted file mode 100644 index 14ea7c31..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 5c8bd407..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 974ae395..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget.mo deleted file mode 100644 index 60336ad0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/vi/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN.UTF-8/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN.UTF-8/LC_MESSAGES/nvim.mo deleted file mode 100644 index dec2bb7f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN.UTF-8/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/git.mo deleted file mode 100644 index a761f9f8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 79be0bd4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 392829d5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget.mo deleted file mode 100644 index 1afd59b2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_CN/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_HK/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_HK/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index d7d696a6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_HK/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW.UTF-8/LC_MESSAGES/nvim.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW.UTF-8/LC_MESSAGES/nvim.mo deleted file mode 100644 index ea441e14..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW.UTF-8/LC_MESSAGES/nvim.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/git.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/git.mo deleted file mode 100644 index 5792bd24..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/git.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/transmission-gtk.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/transmission-gtk.mo deleted file mode 100644 index 67c839fe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/transmission-gtk.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget-gnulib.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget-gnulib.mo deleted file mode 100644 index 1ad3d556..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget-gnulib.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget.mo b/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget.mo deleted file mode 100644 index 09ca8175..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/locale/zh_TW/LC_MESSAGES/wget.mo and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7z.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/7z.1.gz deleted file mode 100644 index 0d1e5e74..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7z.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7za.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/7za.1.gz deleted file mode 100644 index fb6281f5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7za.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7zr.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/7zr.1.gz deleted file mode 100644 index 733e48d6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/7zr.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/age-keygen.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/age-keygen.1.gz deleted file mode 100644 index 7117b4a7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/age-keygen.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/age.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/age.1.gz deleted file mode 100644 index 74886c92..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/age.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-config.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-config.1.gz deleted file mode 100644 index 0a25dffd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-config.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-console.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-console.1.gz deleted file mode 100644 index bb5eb790..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-console.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-doc.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-doc.1.gz deleted file mode 100644 index 46079d32..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-doc.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-galaxy.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-galaxy.1.gz deleted file mode 100644 index cdc9cd64..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-galaxy.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-inventory.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-inventory.1.gz deleted file mode 100644 index 126ee0c1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-inventory.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-playbook.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-playbook.1.gz deleted file mode 100644 index dcf30680..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-playbook.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-pull.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-pull.1.gz deleted file mode 100644 index a23beb1c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-pull.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-vault.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-vault.1.gz deleted file mode 100644 index 522d2259..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible-vault.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible.1.gz deleted file mode 100644 index 01e52251..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ansible.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/apropos.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/apropos.1.gz deleted file mode 100644 index bc085b6f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/apropos.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/bat.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/bat.1.gz deleted file mode 100644 index 8b8ce7e5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/bat.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/cloc.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/cloc.1.gz deleted file mode 100644 index bbeb877f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/cloc.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl-config.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl-config.1.gz deleted file mode 100644 index 85f91602..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl-config.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl.1.gz deleted file mode 100644 index 77c4187d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/curl.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/exiftool.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/exiftool.1.gz deleted file mode 100644 index 762f9d6f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/exiftool.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/eza.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/eza.1.gz deleted file mode 100644 index 8b9527f5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/eza.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fastfetch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/fastfetch.1.gz deleted file mode 100644 index 95bc1452..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fastfetch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fd.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/fd.1.gz deleted file mode 100644 index 167ac60a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fd.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-all.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-all.1.gz deleted file mode 100644 index e5b3fe27..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-all.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-bitstream-filters.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-bitstream-filters.1.gz deleted file mode 100644 index 2eaab227..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-bitstream-filters.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-codecs.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-codecs.1.gz deleted file mode 100644 index f020de26..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-codecs.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-devices.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-devices.1.gz deleted file mode 100644 index 87ec6cf6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-devices.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-filters.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-filters.1.gz deleted file mode 100644 index 366b414e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-filters.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-formats.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-formats.1.gz deleted file mode 100644 index d0e7b7ce..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-formats.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-protocols.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-protocols.1.gz deleted file mode 100644 index ede5f1be..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-protocols.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-resampler.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-resampler.1.gz deleted file mode 100644 index f501b11d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-resampler.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-scaler.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-scaler.1.gz deleted file mode 100644 index 41c01c28..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-scaler.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-utils.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-utils.1.gz deleted file mode 100644 index aa88939f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg-utils.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg.1.gz deleted file mode 100644 index 52bb122b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffmpeg.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay-all.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay-all.1.gz deleted file mode 100644 index fed80ce6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay-all.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay.1.gz deleted file mode 100644 index 6a9bfbc3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffplay.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe-all.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe-all.1.gz deleted file mode 100644 index 11db6b7c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe-all.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe.1.gz deleted file mode 100644 index d3dbc079..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ffprobe.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf-tmux.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf-tmux.1.gz deleted file mode 100644 index 5102b6c1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf-tmux.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf.1.gz deleted file mode 100644 index 1d0ca54d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/fzf.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-add.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-add.1.gz deleted file mode 100644 index 8ed4cdcc..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-add.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-am.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-am.1.gz deleted file mode 100644 index 2cc6a689..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-am.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-annotate.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-annotate.1.gz deleted file mode 100644 index 9f4b6e68..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-annotate.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-apply.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-apply.1.gz deleted file mode 100644 index 61e1ee95..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-apply.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archimport.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archimport.1.gz deleted file mode 100644 index 6a07d0fa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archimport.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archive.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archive.1.gz deleted file mode 100644 index 1e70ae5b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-archive.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-backfill.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-backfill.1.gz deleted file mode 100644 index 8b8b6f3e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-backfill.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bisect.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bisect.1.gz deleted file mode 100644 index d05c0103..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bisect.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-blame.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-blame.1.gz deleted file mode 100644 index c9229cd3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-blame.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-branch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-branch.1.gz deleted file mode 100644 index 80029990..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-branch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bugreport.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bugreport.1.gz deleted file mode 100644 index 3b2b7cba..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bugreport.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bundle.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bundle.1.gz deleted file mode 100644 index c9878084..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-bundle.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cat-file.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cat-file.1.gz deleted file mode 100644 index bf68398e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cat-file.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-attr.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-attr.1.gz deleted file mode 100644 index f110ebaa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-attr.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ignore.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ignore.1.gz deleted file mode 100644 index b68a39a5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ignore.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-mailmap.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-mailmap.1.gz deleted file mode 100644 index 075895de..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-mailmap.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ref-format.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ref-format.1.gz deleted file mode 100644 index 738f351f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-check-ref-format.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout-index.1.gz deleted file mode 100644 index 3f7262b9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout.1.gz deleted file mode 100644 index 248f6318..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-checkout.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry-pick.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry-pick.1.gz deleted file mode 100644 index 0e19094e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry-pick.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry.1.gz deleted file mode 100644 index caefaf43..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cherry.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-citool.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-citool.1.gz deleted file mode 100644 index 6147f620..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-citool.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clean.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clean.1.gz deleted file mode 100644 index c1dc4c07..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clean.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clone.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clone.1.gz deleted file mode 100644 index 4573ef3a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-clone.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-column.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-column.1.gz deleted file mode 100644 index 8a6cec60..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-column.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-graph.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-graph.1.gz deleted file mode 100644 index 72f2787f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-graph.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-tree.1.gz deleted file mode 100644 index 18021309..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit.1.gz deleted file mode 100644 index a7f6fe27..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-commit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-config.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-config.1.gz deleted file mode 100644 index c573dc7c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-config.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-count-objects.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-count-objects.1.gz deleted file mode 100644 index 2b5ba5c2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-count-objects.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache--daemon.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache--daemon.1.gz deleted file mode 100644 index 3641e2d8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache--daemon.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache.1.gz deleted file mode 100644 index e77ae294..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-cache.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-store.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-store.1.gz deleted file mode 100644 index 219da599..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential-store.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential.1.gz deleted file mode 100644 index 31f62154..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-credential.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsexportcommit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsexportcommit.1.gz deleted file mode 100644 index f6b7f16e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsexportcommit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsimport.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsimport.1.gz deleted file mode 100644 index fd881cbf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsimport.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsserver.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsserver.1.gz deleted file mode 100644 index 531f0f9a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-cvsserver.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-daemon.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-daemon.1.gz deleted file mode 100644 index cc6563b7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-daemon.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-describe.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-describe.1.gz deleted file mode 100644 index 252b9dae..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-describe.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diagnose.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diagnose.1.gz deleted file mode 100644 index 67e56cd0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diagnose.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-files.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-files.1.gz deleted file mode 100644 index c6bc8880..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-files.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-index.1.gz deleted file mode 100644 index ac865ddf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-tree.1.gz deleted file mode 100644 index c0b9eac3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff.1.gz deleted file mode 100644 index 06125b2c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-diff.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-difftool.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-difftool.1.gz deleted file mode 100644 index 1f5ad673..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-difftool.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-export.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-export.1.gz deleted file mode 100644 index a024e6ac..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-export.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-import.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-import.1.gz deleted file mode 100644 index 445798da..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fast-import.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch-pack.1.gz deleted file mode 100644 index bc80c1fb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch.1.gz deleted file mode 100644 index 22683668..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fetch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-branch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-branch.1.gz deleted file mode 100644 index 785e5538..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-branch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-repo.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-repo.1.gz deleted file mode 100644 index 4016a426..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-filter-repo.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fmt-merge-msg.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fmt-merge-msg.1.gz deleted file mode 100644 index 4f32eb17..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fmt-merge-msg.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-ref.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-ref.1.gz deleted file mode 100644 index fdedd03a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-ref.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-repo.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-repo.1.gz deleted file mode 100644 index e53e1ed8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-for-each-repo.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-format-patch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-format-patch.1.gz deleted file mode 100644 index 897dd634..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-format-patch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck-objects.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck-objects.1.gz deleted file mode 100644 index 6507c175..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck-objects.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck.1.gz deleted file mode 100644 index 1f951eee..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsck.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsmonitor--daemon.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsmonitor--daemon.1.gz deleted file mode 100644 index 6ab273ef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-fsmonitor--daemon.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gc.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gc.1.gz deleted file mode 100644 index 4375c4d8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gc.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-get-tar-commit-id.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-get-tar-commit-id.1.gz deleted file mode 100644 index f8b6d3a1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-get-tar-commit-id.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-grep.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-grep.1.gz deleted file mode 100644 index 56909f03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-grep.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gui.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gui.1.gz deleted file mode 100644 index b5f6cbd3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-gui.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hash-object.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hash-object.1.gz deleted file mode 100644 index 7a86fae3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hash-object.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-help.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-help.1.gz deleted file mode 100644 index c14d6e47..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-help.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hook.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hook.1.gz deleted file mode 100644 index e8f3ecd1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-hook.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-backend.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-backend.1.gz deleted file mode 100644 index 857250f7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-backend.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-fetch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-fetch.1.gz deleted file mode 100644 index a76504fe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-fetch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-push.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-push.1.gz deleted file mode 100644 index f4e679cb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-http-push.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-imap-send.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-imap-send.1.gz deleted file mode 100644 index d6f0b1b9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-imap-send.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-index-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-index-pack.1.gz deleted file mode 100644 index f47571f4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-index-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init-db.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init-db.1.gz deleted file mode 100644 index 7ab60bf5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init-db.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init.1.gz deleted file mode 100644 index 26c874e3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-init.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-instaweb.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-instaweb.1.gz deleted file mode 100644 index 70668dc2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-instaweb.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-interpret-trailers.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-interpret-trailers.1.gz deleted file mode 100644 index 7fa6b142..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-interpret-trailers.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-checkout.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-checkout.1.gz deleted file mode 100644 index 8110632a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-checkout.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clean.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clean.1.gz deleted file mode 100644 index d022b683..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clean.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clone.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clone.1.gz deleted file mode 100644 index 9d1bbf53..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-clone.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-completion.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-completion.1.gz deleted file mode 100644 index a4f338d5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-completion.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-dedup.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-dedup.1.gz deleted file mode 100644 index c13506ab..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-dedup.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-env.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-env.1.gz deleted file mode 100644 index 2da8e6a5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-env.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ext.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ext.1.gz deleted file mode 100644 index cb36c216..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ext.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fetch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fetch.1.gz deleted file mode 100644 index 8c3c5305..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fetch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-filter-process.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-filter-process.1.gz deleted file mode 100644 index e2dfd949..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-filter-process.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fsck.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fsck.1.gz deleted file mode 100644 index ae329d5c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-fsck.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-install.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-install.1.gz deleted file mode 100644 index 516a6b6d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-install.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-lock.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-lock.1.gz deleted file mode 100644 index 92c0f0ab..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-lock.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-locks.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-locks.1.gz deleted file mode 100644 index fac54055..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-locks.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-logs.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-logs.1.gz deleted file mode 100644 index 11981728..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-logs.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ls-files.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ls-files.1.gz deleted file mode 100644 index 9ffbfaa6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-ls-files.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-merge-driver.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-merge-driver.1.gz deleted file mode 100644 index 28370e7d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-merge-driver.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-migrate.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-migrate.1.gz deleted file mode 100644 index 9e96031f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-migrate.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pointer.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pointer.1.gz deleted file mode 100644 index 77223589..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pointer.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-checkout.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-checkout.1.gz deleted file mode 100644 index be369ad1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-checkout.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-commit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-commit.1.gz deleted file mode 100644 index f0a7633a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-commit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-merge.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-merge.1.gz deleted file mode 100644 index 50d02350..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-post-merge.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pre-push.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pre-push.1.gz deleted file mode 100644 index 4816f3e1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pre-push.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-prune.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-prune.1.gz deleted file mode 100644 index 810b66a6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-prune.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pull.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pull.1.gz deleted file mode 100644 index c5f8ae03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-pull.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-push.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-push.1.gz deleted file mode 100644 index b9ee1bed..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-push.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-smudge.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-smudge.1.gz deleted file mode 100644 index 065c8276..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-smudge.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-standalone-file.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-standalone-file.1.gz deleted file mode 100644 index d326ce28..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-standalone-file.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-status.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-status.1.gz deleted file mode 100644 index 3165ec87..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-status.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-track.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-track.1.gz deleted file mode 100644 index eaf6f3a7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-track.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-uninstall.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-uninstall.1.gz deleted file mode 100644 index c1c65e35..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-uninstall.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-unlock.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-unlock.1.gz deleted file mode 100644 index f6369139..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-unlock.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-untrack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-untrack.1.gz deleted file mode 100644 index f3ad3eea..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-untrack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-update.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-update.1.gz deleted file mode 100644 index 3567a3c7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs-update.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs.1.gz deleted file mode 100644 index 84ffe551..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-lfs.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-log.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-log.1.gz deleted file mode 100644 index 9eb906c9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-log.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-files.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-files.1.gz deleted file mode 100644 index 1472c32b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-files.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-remote.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-remote.1.gz deleted file mode 100644 index 60282433..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-remote.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-tree.1.gz deleted file mode 100644 index a76bbee0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-ls-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailinfo.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailinfo.1.gz deleted file mode 100644 index 5de15ba9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailinfo.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailsplit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailsplit.1.gz deleted file mode 100644 index 73fa1365..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mailsplit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-maintenance.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-maintenance.1.gz deleted file mode 100644 index c08bcae9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-maintenance.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-base.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-base.1.gz deleted file mode 100644 index 0cbadddb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-base.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-file.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-file.1.gz deleted file mode 100644 index fd4c27e8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-file.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-index.1.gz deleted file mode 100644 index 3d8a26eb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-one-file.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-one-file.1.gz deleted file mode 100644 index 87132de9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-one-file.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-tree.1.gz deleted file mode 100644 index fba6df60..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge.1.gz deleted file mode 100644 index e41535da..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-merge.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool--lib.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool--lib.1.gz deleted file mode 100644 index eb9fda75..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool--lib.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool.1.gz deleted file mode 100644 index 13d98d4a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mergetool.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktag.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktag.1.gz deleted file mode 100644 index 65b66a98..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktag.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktree.1.gz deleted file mode 100644 index 3b5f3442..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mktree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-multi-pack-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-multi-pack-index.1.gz deleted file mode 100644 index 6ba2d745..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-multi-pack-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mv.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mv.1.gz deleted file mode 100644 index 36b973f1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-mv.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-name-rev.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-name-rev.1.gz deleted file mode 100644 index f88ca299..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-name-rev.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-notes.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-notes.1.gz deleted file mode 100644 index 3f0c6315..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-notes.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-p4.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-p4.1.gz deleted file mode 100644 index cdda9007..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-p4.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-objects.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-objects.1.gz deleted file mode 100644 index cb3e9f73..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-objects.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-redundant.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-redundant.1.gz deleted file mode 100644 index e83bf359..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-redundant.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-refs.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-refs.1.gz deleted file mode 100644 index ee438216..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pack-refs.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-patch-id.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-patch-id.1.gz deleted file mode 100644 index 79df78cf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-patch-id.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune-packed.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune-packed.1.gz deleted file mode 100644 index 91bb869e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune-packed.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune.1.gz deleted file mode 100644 index 3b864e01..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-prune.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pull.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pull.1.gz deleted file mode 100644 index e516392c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-pull.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-push.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-push.1.gz deleted file mode 100644 index 81a8e5ed..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-push.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-quiltimport.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-quiltimport.1.gz deleted file mode 100644 index 769f98dc..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-quiltimport.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-range-diff.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-range-diff.1.gz deleted file mode 100644 index d19fe5bf..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-range-diff.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-read-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-read-tree.1.gz deleted file mode 100644 index 1e3debd6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-read-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rebase.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rebase.1.gz deleted file mode 100644 index bedffa71..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rebase.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-receive-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-receive-pack.1.gz deleted file mode 100644 index 4098cbc1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-receive-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reflog.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reflog.1.gz deleted file mode 100644 index cbf6ccbe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reflog.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-refs.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-refs.1.gz deleted file mode 100644 index 101b2431..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-refs.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-ext.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-ext.1.gz deleted file mode 100644 index b38e8940..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-ext.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-fd.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-fd.1.gz deleted file mode 100644 index 5bfe88dd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote-fd.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote.1.gz deleted file mode 100644 index 7439efb7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-remote.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-repack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-repack.1.gz deleted file mode 100644 index 62694d9d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-repack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replace.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replace.1.gz deleted file mode 100644 index 8da36b59..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replace.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replay.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replay.1.gz deleted file mode 100644 index c0b30399..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-replay.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-request-pull.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-request-pull.1.gz deleted file mode 100644 index 019ccd4e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-request-pull.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rerere.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rerere.1.gz deleted file mode 100644 index 1134ac5e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rerere.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reset.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reset.1.gz deleted file mode 100644 index 6a081fbd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-reset.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-restore.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-restore.1.gz deleted file mode 100644 index 32422701..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-restore.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-list.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-list.1.gz deleted file mode 100644 index 0881c18b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-list.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-parse.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-parse.1.gz deleted file mode 100644 index 66642d80..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rev-parse.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-revert.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-revert.1.gz deleted file mode 100644 index 35b0f59d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-revert.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rm.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rm.1.gz deleted file mode 100644 index 386f9e67..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-rm.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-email.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-email.1.gz deleted file mode 100644 index b329796d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-email.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-pack.1.gz deleted file mode 100644 index ef54c34d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-send-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n--envsubst.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n--envsubst.1.gz deleted file mode 100644 index 6d0fe019..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n--envsubst.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n.1.gz deleted file mode 100644 index 26022ff8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-i18n.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-setup.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-setup.1.gz deleted file mode 100644 index 57e54518..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sh-setup.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shell.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shell.1.gz deleted file mode 100644 index 225f9aef..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shell.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shortlog.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shortlog.1.gz deleted file mode 100644 index c516053a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-shortlog.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-branch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-branch.1.gz deleted file mode 100644 index 9991fc51..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-branch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-index.1.gz deleted file mode 100644 index 8081a2c2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-ref.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-ref.1.gz deleted file mode 100644 index 01c04922..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show-ref.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show.1.gz deleted file mode 100644 index a737432b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-show.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sparse-checkout.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sparse-checkout.1.gz deleted file mode 100644 index 6a34da32..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-sparse-checkout.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stage.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stage.1.gz deleted file mode 100644 index 052968aa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stage.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stash.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stash.1.gz deleted file mode 100644 index 089d8dbe..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stash.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-status.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-status.1.gz deleted file mode 100644 index d6bc0382..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-status.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stripspace.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stripspace.1.gz deleted file mode 100644 index 5b8e15f4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-stripspace.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-submodule.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-submodule.1.gz deleted file mode 100644 index 7ba4df9b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-submodule.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-subtree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-subtree.1.gz deleted file mode 100644 index ded6462a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-subtree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-svn.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-svn.1.gz deleted file mode 100644 index d41ceb3d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-svn.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-switch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-switch.1.gz deleted file mode 100644 index 4d3b7d7c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-switch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-symbolic-ref.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-symbolic-ref.1.gz deleted file mode 100644 index 89b12c9e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-symbolic-ref.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-tag.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-tag.1.gz deleted file mode 100644 index eebd52b5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-tag.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-file.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-file.1.gz deleted file mode 100644 index 3e5a9324..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-file.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-objects.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-objects.1.gz deleted file mode 100644 index e9997312..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-unpack-objects.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-index.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-index.1.gz deleted file mode 100644 index 50a17afd..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-index.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-ref.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-ref.1.gz deleted file mode 100644 index 46f5355d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-ref.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-server-info.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-server-info.1.gz deleted file mode 100644 index 2931e970..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-update-server-info.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-archive.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-archive.1.gz deleted file mode 100644 index c3b0e4a1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-archive.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-pack.1.gz deleted file mode 100644 index 4dc9f07d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-upload-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-var.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-var.1.gz deleted file mode 100644 index f4781e8c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-var.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-commit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-commit.1.gz deleted file mode 100644 index 8c225dff..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-commit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-pack.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-pack.1.gz deleted file mode 100644 index 9b611350..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-pack.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-tag.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-tag.1.gz deleted file mode 100644 index c5529a8c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-verify-tag.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-version.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-version.1.gz deleted file mode 100644 index b4f029d6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-version.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-web--browse.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-web--browse.1.gz deleted file mode 100644 index 7f8d163e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-web--browse.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-whatchanged.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-whatchanged.1.gz deleted file mode 100644 index 79292f10..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-whatchanged.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-worktree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-worktree.1.gz deleted file mode 100644 index aabcddb2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-worktree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-write-tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-write-tree.1.gz deleted file mode 100644 index d4c74e0a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git-write-tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/git.1.gz deleted file mode 100644 index bbdef33f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/git.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitk.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitk.1.gz deleted file mode 100644 index bbca8b71..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitk.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitweb.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitweb.1.gz deleted file mode 100644 index 53e54344..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/gitweb.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/home-manager.1 b/result/etc/profiles/per-user/bdsqqq/share/man/man1/home-manager.1 deleted file mode 100644 index 66faeab4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/man/man1/home-manager.1 +++ /dev/null @@ -1,409 +0,0 @@ -.Dd January 1, 1980 -.Dt home-manager 1 -.Os Home Manager -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" enable line breaks after slashes -.cflags 4 / -.Sh NAME -.Nm home-manager -.Nd reconfigure a user environment -. -. -. -.Sh SYNOPSIS -.Nm home-manager -.Bro -.Cm build -.Cm | init Op Fl -switch Ar dir -.Cm | instantiate -.Cm | edit -.Cm | expire-generations Ar timestamp -.Cm | generations -.Cm | help -.Cm | news -.Cm | option Ar option.name -.Cm | packages -.Cm | remove-generations Ar ID \&... -.Cm | switch -.Cm | uninstall -.Brc -.Op Fl A Ar attrPath -.Op Fl I Ar path -.Op Fl -flake Ar flake-uri -.Op Fl b Ar ext -.Op Bro Fl f | Fl -file Brc Ar path -.Op Bro Fl h | Fl -help Brc -.Op Fl -version -.Op Bro Fl n | Fl -dry-run Brc -.Op Fl -option Ar name Ar value -.Op Fl -cores Ar number -.Op Bro Fl j | Fl -max-jobs Brc Ar number -.Op Fl -option -.Op Fl -impure -.Op Fl -keep-failed -.Op Fl -keep-going -.Op Bro Fl L | Fl -print-build-logs Brc -.Op Fl -log-format -.Op Fl -show-trace -.Op Fl -(no-)substitute -.Op Fl -no-out-link -.Op Fl -refresh -.Op Bro Fl v | Fl -verbose Brc -. -.Sh DESCRIPTION -.Pp -This command updates the user environment so that it corresponds to the configuration specified in -$XDG_CONFIG_HOME/home-manager/home.nix -or -$XDG_CONFIG_HOME/home-manager/flake.nix. -.Pp -All operations using this tool expects a sub-command that indicates the operation to perform. It must be one of -.Pp -.Bl -tag -width Ds - -.It Cm build -.RS 4 -Build configuration into a result directory. -.RE - -.It Cm init Op Fl -switch Op Ar dir -.RS 14 -Generates an initial home.nix file for the current user. If Nix flakes are -enabled, then this command also generates a flake.nix file. -.sp -If a path -.Ar dir -is given then the configuration will be generated in that directory. Otherwise, the configuration will be generated in -~/.config/home-manager. The output directory will be created if it does not exist. -.sp -If the -.Fl -switch -option is given, then the generated configuration is activated. -.sp -Note, this command will not overwrite any existing files. It is therefore safe to initialize a configuration, edit it, and then re-run the -.Cm init -command with -.Fl -switch -enabled to activate the configuration. -.RE -.Pp - -.It Cm instantiate -.RS 15 -Instantiate the configuration and print the resulting derivation\&. -.RE -.Pp - -.It Cm edit -.RS 16 -Open the home configuration using the editor indicated by \fBVISUAL\fR or \fBEDITOR\fR\&. -.RE -.Pp - -.It Cm expire-generations Ar timestamp -.RS 4 -Remove generations older than -.Ar timestamp -where -.Ar timestamp -is interpreted as in the -.Fl d -argument of the -\fBdate\fR(1) -tool. For example --30 days or 2018-01-01. -.RE -.PP - -.It Cm generations -.RS 4 -List all home environment generations\&. -.RE -.Pp - -.It Cm help -.RS 4 -Print tool help. -.RE -.Pp - -.It Cm news -.RS 4 -Show news entries in a pager. -.RE -.PP - -.It Cm option Ar option.name -.RS 4 -Inspect the given option name in the home configuration, like -\fBnixos-option\fR(8)\&. -.RE -.Pp - -.It Cm packages -.RS 4 -List all packages installed in home-manager-path. -.RE -.Pp - -.It Cm remove-generations Ar ID \&... -.RS 4 -Remove indicated generations. Use the -.Cm generations -sub-command to find suitable generation numbers. -.RE -.Pp - -.It Cm switch -.RS 4 -Build and activate the configuration\&. -.RE -.Pp - -.It Cm uninstall -.RS 4 -Remove Home Manager from the user environment\&. This will -.sp -.RE -.RS 4 -.Bl -bullet -.It -remove all managed files from the home directory, -.RE -.sp -.RS 4 -.It -remove packages installed through Home Manager from the user profile, and -.RE -.sp -.RS 4 -.It -remove all Home Manager generations and make them available for immediate garbage collection\&. -.RE -.El -.sp -.RE -.El -. -.Sh OPTIONS -.Pp -The tool accepts the options -.Pp -.Bl -tag -width Ds -.It Cm Fl A Ar attrPath -.RS 4 -Optional attribute that selects a configuration expression in the configuration file. That is, if -home.nix contains -.sp -.if n \{\ -.RS 4 -.\} -.nf -{ - joe\-at\-work = {pkgs, \&.\&.\&.}: { home\&.packages = [ pkgs\&.fortune ]; }; - joe\-at\-home = {pkgs, \&.\&.\&.}: { home\&.packages = [ pkgs\&.cowsay ]; }; -} -.fi -.if n \{\ -.RE -.\} -.sp -then the command -\fBhome\-manager switch \-A joe\-at\-work\fR -will activate the profile containing the fortune program\&. -.RE -.PP -.It Cm Fl I Ar path -.RS 4 -Add a path to the Nix expression search path. For example, to build a Home Manager profile using a specific Nixpkgs run -.Cm home-manager Fl I Ar nixpkgs=/absolute/path/to/nixpkgs build. -By default -.Ar <nixpkgs> -is used. -.RE -.Pp - -.It Cm Fl -flake Ar flake-uri[#name] -.RS 4 -Build Home Manager configuration from the flake, which must contain the output homeConfigurations.name. If no name is specified it will first try username@hostname and then username. -.RE -.Pp - -.It Cm Fl b Ar extension -.RS 4 -Enable automatic resolution of collisions between unmanaged and managed files\&. The name of the original file will be suffixed by the given extension\&. For example, -.sp -.if n \{\ -.RS 4 -.\} -.nf -$ \fBhome\-manager \-b bck switch\fR -.fi -.if n \{\ -.RE -.\} -.sp -will cause a colliding file -~/\&.config/foo\&.conf -to be moved to -~/\&.config/foo\&.conf\&.bck\&. -.RE -.Pp - -.It Cm Fl f Ar path, Fl -file Ar path -.RS 4 -Indicates the path to the Home Manager configuration file. If not given, -$XDG_CONFIG_HOME/home-manager/home.nix -is used. -.RE -.Pp -.It Cm Fl h, Fl -help -.RS 4 -Prints usage information for the -\fBhome\-manager\fR -tool. -.RE -.Pp - -.It Cm Fl -version -.RS 4 -Prints the version number of the -\fBhome\-manager\fR -tool. -.RE -.Pp -.It Cm Fl n, Fl -dry-run -.RS 4 -Perform a dry-run of the given operation, only prints what actions would be taken. -.RE -.Pp - -.It Cm Fl -option Ar name Ar value -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -cores Ar number -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl j Ar number, Fl -max-jobs Ar number -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.\" TODO -.Pp -.It Cm Fl -debug -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp -.It Cm Fl -impure -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -keep-failed -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -keep-going -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl L, Fl -print-build-logs -.RS 4 -Passed on to -\fBnix build\fR() -when building from a flake\&. -.RE -.Pp - -.It Cm Fl -log-format Ar format -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -show-trace -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -(no-)substitute -.RS 4 -Passed on to -\fBnix-build\fR(1)\&. -.RE -.Pp - -.It Cm Fl -no-out-link -.RS 4 -Passed on to -\fBnix-build\fR(1) -when running -\fBhome\-manager build\fR\&. -.RE -.Pp - -.It Cm Fl -refresh -.RS 4 -Passed on to -\fBnix-build\fR(1) -.RE -.Pp - -.It Cm Fl v, Fl -verbose -.RS 4 -Activates verbose output\&. -.RE -.El - -.Sh FILES -.Pp -$XDG_DATA_HOME/home\-manager/news\-read\-ids -.RS 4 -Identifiers of news items that have been shown\&. Can be deleted to reset the read news indicator\&. -.RE - -.Sh BUGS -.Pp -Please report any bugs on the -\m[blue]\fBproject issue tracker\fR\m[]\&. - -.Sh SEE ALSO -.Pp -\fBhome-configuration.nix\fR(5) - -.Sh AUTHOR -.Pp -\fBHome Manager contributors\fR -.RS 4 -Author. -.RE - -.Sh COPYRIGHT -.br -Copyright \(co 2017\(en2025 Home Manager contributors -.br diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/htop.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/htop.1.gz deleted file mode 100644 index 4114d907..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/htop.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/http.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/http.1.gz deleted file mode 100644 index e202953c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/http.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/httpie.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/httpie.1.gz deleted file mode 100644 index bee438f3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/httpie.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/https.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/https.1.gz deleted file mode 100644 index c9d309a4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/https.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ipython.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/ipython.1.gz deleted file mode 100644 index 7869365a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/ipython.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/jq.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/jq.1.gz deleted file mode 100644 index 30eaccac..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/jq.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/lexgrog.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/lexgrog.1.gz deleted file mode 100644 index d273bf35..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/lexgrog.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/man-recode.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/man-recode.1.gz deleted file mode 100644 index 96e7d3a7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/man-recode.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/man.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/man.1.gz deleted file mode 100644 index 16c90243..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/man.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/manconv.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/manconv.1.gz deleted file mode 100644 index 69ebe983..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/manconv.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/manpath.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/manpath.1.gz deleted file mode 100644 index 7a68e2f6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/manpath.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/mpv.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/mpv.1.gz deleted file mode 100644 index e466e1f9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/mpv.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/neofetch.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/neofetch.1.gz deleted file mode 100644 index c4af0509..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/neofetch.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/nvim.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/nvim.1.gz deleted file mode 100644 index 95167527..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/nvim.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-cache.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-cache.1.gz deleted file mode 100644 index dac60109..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-cache.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-check.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-check.1.gz deleted file mode 100644 index b27ea0a1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-check.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-config.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-config.1.gz deleted file mode 100644 index 67e0253d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-config.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-debug.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-debug.1.gz deleted file mode 100644 index 3a470dd9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-debug.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-download.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-download.1.gz deleted file mode 100644 index bec07cf6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-download.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-freeze.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-freeze.1.gz deleted file mode 100644 index 792347f1..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-freeze.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-hash.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-hash.1.gz deleted file mode 100644 index df9e6793..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-hash.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-help.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-help.1.gz deleted file mode 100644 index 73ec1538..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-help.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-install.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-install.1.gz deleted file mode 100644 index 53f470ee..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-install.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-list.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-list.1.gz deleted file mode 100644 index 94e29416..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-list.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-search.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-search.1.gz deleted file mode 100644 index 4b2450aa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-search.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-show.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-show.1.gz deleted file mode 100644 index d74e65b8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-show.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-uninstall.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-uninstall.1.gz deleted file mode 100644 index 9b3ea232..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-uninstall.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-wheel.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-wheel.1.gz deleted file mode 100644 index f4172a0c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip-wheel.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip.1.gz deleted file mode 100644 index 924e87a2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/pip.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/python.1.gz deleted file mode 100644 index 02c882b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.1.gz deleted file mode 100644 index 02c882b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.12.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.12.1.gz deleted file mode 100644 index 02c882b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/python3.12.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/rg.1 b/result/etc/profiles/per-user/bdsqqq/share/man/man1/rg.1 deleted file mode 100644 index 72dba2a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/man/man1/rg.1 +++ /dev/null @@ -1,2178 +0,0 @@ -.TH RG 1 2024-09-08 "14.1.1" "User Commands" -. -. -.SH NAME -rg \- recursively search the current directory for lines matching a pattern -. -. -.SH SYNOPSIS -.\" I considered using GNU troff's .SY and .YS "synopsis" macros here, but it -.\" looks like they aren't portable. Specifically, they don't appear to be in -.\" BSD's mdoc used on macOS. -.sp -\fBrg\fP [\fIOPTIONS\fP] \fIPATTERN\fP [\fIPATH\fP...] -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-e\fP \fIPATTERN\fP... [\fIPATH\fP...] -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-f\fP \fIPATTERNFILE\fP... [\fIPATH\fP...] -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-\-files\fP [\fIPATH\fP...] -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-\-type\-list\fP -.sp -\fIcommand\fP | \fBrg\fP [\fIOPTIONS\fP] \fIPATTERN\fP -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-\-help\fP -.sp -\fBrg\fP [\fIOPTIONS\fP] \fB\-\-version\fP -. -. -.SH DESCRIPTION -ripgrep (rg) recursively searches the current directory for a regex pattern. -By default, ripgrep will respect your \fB.gitignore\fP and automatically skip -hidden files/directories and binary files. -.sp -ripgrep's default regex engine uses finite automata and guarantees linear -time searching. Because of this, features like backreferences and arbitrary -look-around are not supported. However, if ripgrep is built with PCRE2, -then the \fB\-P/\-\-pcre2\fP flag can be used to enable backreferences and -look-around. -.sp -ripgrep supports configuration files. Set \fBRIPGREP_CONFIG_PATH\fP to a -configuration file. The file can specify one shell argument per line. Lines -starting with \fB#\fP are ignored. For more details, see \fBCONFIGURATION -FILES\fP below. -.sp -ripgrep will automatically detect if stdin exists and search stdin for a regex -pattern, e.g. \fBls | rg foo\fP. In some environments, stdin may exist when -it shouldn't. To turn off stdin detection, one can explicitly specify the -directory to search, e.g. \fBrg foo ./\fP. -.sp -Like other tools such as \fBls\fP, ripgrep will alter its output depending on -whether stdout is connected to a tty. By default, when printing a tty, ripgrep -will enable colors, line numbers and a heading format that lists each matching -file path once instead of once per matching line. -.sp -Tip: to disable all smart filtering and make ripgrep behave a bit more like -classical grep, use \fBrg -uuu\fP. -. -. -.SH REGEX SYNTAX -ripgrep uses Rust's regex engine by default, which documents its syntax: -\fIhttps://docs.rs/regex/1.*/regex/#syntax\fP -.sp -ripgrep uses byte-oriented regexes, which has some additional documentation: -\fIhttps://docs.rs/regex/1.*/regex/bytes/index.html#syntax\fP -.sp -To a first approximation, ripgrep uses Perl-like regexes without look-around or -backreferences. This makes them very similar to the "extended" (ERE) regular -expressions supported by *egrep*, but with a few additional features like -Unicode character classes. -.sp -If you're using ripgrep with the \fB\-P/\-\-pcre2\fP flag, then please consult -\fIhttps://www.pcre.org\fP or the PCRE2 man pages for documentation on the -supported syntax. -. -. -.SH POSITIONAL ARGUMENTS -.TP 12 -\fIPATTERN\fP -A regular expression used for searching. To match a pattern beginning with a -dash, use the \fB\-e/\-\-regexp\fP option. -.TP 12 -\fIPATH\fP -A file or directory to search. Directories are searched recursively. File paths -specified explicitly on the command line override glob and ignore rules. -. -. -.SH OPTIONS -This section documents all flags that ripgrep accepts. Flags are grouped into -categories below according to their function. -.sp -Note that many options can be turned on and off. In some cases, those flags are -not listed explicitly below. For example, the \fB\-\-column\fP flag (listed -below) enables column numbers in ripgrep's output, but the \fB\-\-no\-column\fP -flag (not listed below) disables them. The reverse can also exist. For example, -the \fB\-\-no\-ignore\fP flag (listed below) disables ripgrep's \fBgitignore\fP -logic, but the \fB\-\-ignore\fP flag (not listed below) enables it. These -flags are useful for overriding a ripgrep configuration file (or alias) on the -command line. Each flag's documentation notes whether an inverted flag exists. -In all cases, the flag specified last takes precedence. -. -.SS INPUT OPTIONS -\fB\-e\fP \fIPATTERN\fP, \fB\-\-regexp\fP=\fIPATTERN\fP -.RS 4 -A pattern to search for. This option can be provided multiple times, where -all patterns given are searched, in addition to any patterns provided by -\fB\-f/\-\-file\fP. Lines matching at least one of the provided patterns are printed. -This flag can also be used when searching for patterns that start with a dash. -.sp -For example, to search for the literal \fB\-foo\fP: -.sp -.EX - rg \-e \-foo -.EE -.sp -You can also use the special \fB\-\-\fP delimiter to indicate that no more -flags will be provided. Namely, the following is equivalent to the above: -.sp -.EX - rg \-\- \-foo -.EE -.sp -When \fB\-f/\-\-file\fP or \fB\-e/\-\-regexp\fP is used, then ripgrep treats all positional -arguments as files or directories to search. -.RE -.sp -\fB\-f\fP \fIPATTERNFILE\fP, \fB\-\-file\fP=\fIPATTERNFILE\fP -.RS 4 -Search for patterns from the given file, with one pattern per line. When this -flag is used multiple times or in combination with the \fB\-e/\-\-regexp\fP flag, then -all patterns provided are searched. Empty pattern lines will match all input -lines, and the newline is not counted as part of the pattern. -.sp -A line is printed if and only if it matches at least one of the patterns. -.sp -When \fIPATTERNFILE\fP is \fB-\fP, then \fBstdin\fP will be read for the -patterns. -.sp -When \fB\-f/\-\-file\fP or \fB\-e/\-\-regexp\fP is used, then ripgrep treats all positional -arguments as files or directories to search. -.RE -.sp -\fB\-\-pre\fP=\fICOMMAND\fP -.RS 4 -For each input \fIPATH\fP, this flag causes ripgrep to search the standard -output of \fICOMMAND\fP \fIPATH\fP instead of the contents of \fIPATH\fP. -This option expects the \fICOMMAND\fP program to either be a path or to be -available in your \fBPATH\fP. Either an empty string \fICOMMAND\fP or the -\fB\-\-no\-pre\fP flag will disable this behavior. -.sp -.TP 12 -\fBWARNING\fP -When this flag is set, ripgrep will unconditionally spawn a process for every -file that is searched. Therefore, this can incur an unnecessarily large -performance penalty if you don't otherwise need the flexibility offered by this -flag. One possible mitigation to this is to use the \fB\-\-pre-glob\fP flag to -limit which files a preprocessor is run with. -.PP -A preprocessor is not run when ripgrep is searching stdin. -.sp -When searching over sets of files that may require one of several -preprocessors, \fICOMMAND\fP should be a wrapper program which first classifies -\fIPATH\fP based on magic numbers/content or based on the \fIPATH\fP name and -then dispatches to an appropriate preprocessor. Each \fICOMMAND\fP also has its -standard input connected to \fIPATH\fP for convenience. -.sp -For example, a shell script for \fICOMMAND\fP might look like: -.sp -.EX - case "$1" in - *.pdf) - exec pdftotext "$1" - - ;; - *) - case $(file "$1") in - *Zstandard*) - exec pzstd -cdq - ;; - *) - exec cat - ;; - esac - ;; - esac -.EE -.sp -The above script uses \fBpdftotext\fP to convert a PDF file to plain text. For -all other files, the script uses the \fBfile\fP utility to sniff the type of -the file based on its contents. If it is a compressed file in the Zstandard -format, then \fBpzstd\fP is used to decompress the contents to stdout. -.sp -This overrides the \fB\-z/\-\-search-zip\fP flag. -.RE -.sp -\fB\-\-pre-glob\fP=\fIGLOB\fP -.RS 4 -This flag works in conjunction with the \fB\-\-pre\fP flag. Namely, when one or -more \fB\-\-pre-glob\fP flags are given, then only files that match the given set -of globs will be handed to the command specified by the \fB\-\-pre\fP flag. Any -non-matching files will be searched without using the preprocessor command. -.sp -This flag is useful when searching many files with the \fB\-\-pre\fP flag. -Namely, it provides the ability to avoid process overhead for files that -don't need preprocessing. For example, given the following shell script, -\fIpre-pdftotext\fP: -.sp -.EX - #!/bin/sh - pdftotext "$1" - -.EE -.sp -then it is possible to use \fB\-\-pre\fP \fIpre-pdftotext\fP \fB--pre-glob -'\fP\fI*.pdf\fP\fB'\fP to make it so ripgrep only executes the -\fIpre-pdftotext\fP command on files with a \fI.pdf\fP extension. -.sp -Multiple \fB\-\-pre-glob\fP flags may be used. Globbing rules match -\fBgitignore\fP globs. Precede a glob with a \fB!\fP to exclude it. -.sp -This flag has no effect if the \fB\-\-pre\fP flag is not used. -.RE -.sp -\fB\-z\fP, \fB\-\-search-zip\fP -.RS 4 -This flag instructs ripgrep to search in compressed files. Currently gzip, -bzip2, xz, LZ4, LZMA, Brotli and Zstd files are supported. This option expects -the decompression binaries (such as \fBgzip\fP) to be available in your -\fBPATH\fP. If the required binaries are not found, then ripgrep will not -emit an error messages by default. Use the \fB\-\-debug\fP flag to see more -information. -.sp -Note that this flag does not make ripgrep search archive formats as directory -trees. It only makes ripgrep detect compressed files and then decompress them -before searching their contents as it would any other file. -.sp -This overrides the \fB\-\-pre\fP flag. -.sp -This flag can be disabled with \fB\-\-no-search-zip\fP. -.RE - -. -.SS SEARCH OPTIONS -\fB\-s\fP, \fB\-\-case-sensitive\fP -.RS 4 -Execute the search case sensitively. This is the default mode. -.sp -This is a global option that applies to all patterns given to ripgrep. -Individual patterns can still be matched case insensitively by using inline -regex flags. For example, \fB(?i)abc\fP will match \fBabc\fP case insensitively -even when this flag is used. -.sp -This flag overrides the \fB\-i/\-\-ignore-case\fP and \fB\-S/\-\-smart-case\fP flags. -.RE -.sp -\fB\-\-crlf\fP -.RS 4 -When enabled, ripgrep will treat CRLF (\fB\\r\\n\fP) as a line terminator -instead of just \fB\\n\fP. -.sp -Principally, this permits the line anchor assertions \fB^\fP and \fB$\fP in -regex patterns to treat CRLF, CR or LF as line terminators instead of just LF. -Note that they will never match between a CR and a LF. CRLF is treated as one -single line terminator. -.sp -When using the default regex engine, CRLF support can also be enabled inside -the pattern with the \fBR\fP flag. For example, \fB(?R:$)\fP will match just -before either CR or LF, but never between CR and LF. -.sp -This flag overrides \fB\-\-null-data\fP. -.sp -This flag can be disabled with \fB\-\-no-crlf\fP. -.RE -.sp -\fB\-\-dfa-size-limit\fP=\fINUM+SUFFIX?\fP -.RS 4 -The upper size limit of the regex DFA. The default limit is something generous -for any single pattern or for many smallish patterns. This should only be -changed on very large regex inputs where the (slower) fallback regex engine may -otherwise be used if the limit is reached. -.sp -The input format accepts suffixes of \fBK\fP, \fBM\fP or \fBG\fP which -correspond to kilobytes, megabytes and gigabytes, respectively. If no suffix is -provided the input is treated as bytes. -.RE -.sp -\fB\-E\fP \fIENCODING\fP, \fB\-\-encoding\fP=\fIENCODING\fP -.RS 4 -Specify the text encoding that ripgrep will use on all files searched. The -default value is \fBauto\fP, which will cause ripgrep to do a best effort -automatic detection of encoding on a per-file basis. Automatic detection in -this case only applies to files that begin with a UTF-8 or UTF-16 byte-order -mark (BOM). No other automatic detection is performed. One can also specify -\fBnone\fP which will then completely disable BOM sniffing and always result -in searching the raw bytes, including a BOM if it's present, regardless of its -encoding. -.sp -Other supported values can be found in the list of labels here: -\fIhttps://encoding.spec.whatwg.org/#concept-encoding-get\fP. -.sp -For more details on encoding and how ripgrep deals with it, see \fBGUIDE.md\fP. -.sp -The encoding detection that ripgrep uses can be reverted to its automatic mode -via the \fB\-\-no-encoding\fP flag. -.RE -.sp -\fB\-\-engine\fP=\fIENGINE\fP -.RS 4 -Specify which regular expression engine to use. When you choose a regex engine, -it applies that choice for every regex provided to ripgrep (e.g., via multiple -\fB\-e/\-\-regexp\fP or \fB\-f/\-\-file\fP flags). -.sp -Accepted values are \fBdefault\fP, \fBpcre2\fP, or \fBauto\fP. -.sp -The default value is \fBdefault\fP, which is usually the fastest and should be -good for most use cases. The \fBpcre2\fP engine is generally useful when you -want to use features such as look-around or backreferences. \fBauto\fP will -dynamically choose between supported regex engines depending on the features -used in a pattern on a best effort basis. -.sp -Note that the \fBpcre2\fP engine is an optional ripgrep feature. If PCRE2 -wasn't included in your build of ripgrep, then using this flag will result in -ripgrep printing an error message and exiting. -.sp -This overrides previous uses of the \fB\-P/\-\-pcre2\fP and \fB\-\-auto-hybrid-regex\fP -flags. -.RE -.sp -\fB\-F\fP, \fB\-\-fixed-strings\fP -.RS 4 -Treat all patterns as literals instead of as regular expressions. When this -flag is used, special regular expression meta characters such as \fB.(){}*+\fP -should not need be escaped. -.sp -This flag can be disabled with \fB\-\-no-fixed-strings\fP. -.RE -.sp -\fB\-i\fP, \fB\-\-ignore-case\fP -.RS 4 -When this flag is provided, all patterns will be searched case insensitively. -The case insensitivity rules used by ripgrep's default regex engine conform to -Unicode's "simple" case folding rules. -.sp -This is a global option that applies to all patterns given to ripgrep. -Individual patterns can still be matched case sensitively by using -inline regex flags. For example, \fB(?\-i)abc\fP will match \fBabc\fP -case sensitively even when this flag is used. -.sp -This flag overrides \fB\-s/\-\-case-sensitive\fP and \fB\-S/\-\-smart-case\fP. -.RE -.sp -\fB\-v\fP, \fB\-\-invert-match\fP -.RS 4 -This flag inverts matching. That is, instead of printing lines that match, -ripgrep will print lines that don't match. -.sp -Note that this only inverts line-by-line matching. For example, combining this -flag with \fB\-l/\-\-files-with-matches\fP will emit files that contain any lines -that do not match the patterns given. That's not the same as, for example, -\fB\-\-files-without-match\fP, which will emit files that do not contain any -matching lines. -.sp -This flag can be disabled with \fB\-\-no-invert-match\fP. -.RE -.sp -\fB\-x\fP, \fB\-\-line-regexp\fP -.RS 4 -When enabled, ripgrep will only show matches surrounded by line boundaries. -This is equivalent to surrounding every pattern with \fB^\fP and \fB$\fP. In -other words, this only prints lines where the entire line participates in a -match. -.sp -This overrides the \fB\-w/\-\-word-regexp\fP flag. -.RE -.sp -\fB\-m\fP \fINUM\fP, \fB\-\-max-count\fP=\fINUM\fP -.RS 4 -Limit the number of matching lines per file searched to \fINUM\fP. -.sp -Note that \fB0\fP is a legal value but not likely to be useful. When used, -ripgrep won't search anything. -.RE -.sp -\fB\-\-mmap\fP -.RS 4 -When enabled, ripgrep will search using memory maps when possible. This is -enabled by default when ripgrep thinks it will be faster. -.sp -Memory map searching cannot be used in all circumstances. For example, when -searching virtual files or streams likes \fBstdin\fP. In such cases, memory -maps will not be used even when this flag is enabled. -.sp -Note that ripgrep may abort unexpectedly when memory maps are used if it -searches a file that is simultaneously truncated. Users can opt out of this -possibility by disabling memory maps. -.sp -This flag can be disabled with \fB\-\-no-mmap\fP. -.RE -.sp -\fB\-U\fP, \fB\-\-multiline\fP -.RS 4 -This flag enable searching across multiple lines. -.sp -When multiline mode is enabled, ripgrep will lift the restriction that a -match cannot include a line terminator. For example, when multiline mode -is not enabled (the default), then the regex \fB\\p{any}\fP will match any -Unicode codepoint other than \fB\\n\fP. Similarly, the regex \fB\\n\fP is -explicitly forbidden, and if you try to use it, ripgrep will return an error. -However, when multiline mode is enabled, \fB\\p{any}\fP will match any Unicode -codepoint, including \fB\\n\fP, and regexes like \fB\\n\fP are permitted. -.sp -An important caveat is that multiline mode does not change the match semantics -of \fB.\fP. Namely, in most regex matchers, a \fB.\fP will by default match any -character other than \fB\\n\fP, and this is true in ripgrep as well. In order -to make \fB.\fP match \fB\\n\fP, you must enable the "dot all" flag inside the -regex. For example, both \fB(?s).\fP and \fB(?s:.)\fP have the same semantics, -where \fB.\fP will match any character, including \fB\\n\fP. Alternatively, the -\fB\-\-multiline-dotall\fP flag may be passed to make the "dot all" behavior the -default. This flag only applies when multiline search is enabled. -.sp -There is no limit on the number of the lines that a single match can span. -.sp -\fBWARNING\fP: Because of how the underlying regex engine works, multiline -searches may be slower than normal line-oriented searches, and they may also -use more memory. In particular, when multiline mode is enabled, ripgrep -requires that each file it searches is laid out contiguously in memory (either -by reading it onto the heap or by memory-mapping it). Things that cannot be -memory-mapped (such as \fBstdin\fP) will be consumed until EOF before searching -can begin. In general, ripgrep will only do these things when necessary. -Specifically, if the \fB\-U/\-\-multiline\fP flag is provided but the regex does -not contain patterns that would match \fB\\n\fP characters, then ripgrep -will automatically avoid reading each file into memory before searching it. -Nevertheless, if you only care about matches spanning at most one line, then it -is always better to disable multiline mode. -.sp -This overrides the \fB\-\-stop-on-nonmatch\fP flag. -.sp -This flag can be disabled with \fB\-\-no-multiline\fP. -.RE -.sp -\fB\-\-multiline-dotall\fP -.RS 4 -This flag enables "dot all" mode in all regex patterns. This causes \fB.\fP to -match line terminators when multiline searching is enabled. This flag has no -effect if multiline searching isn't enabled with the \fB\-U/\-\-multiline\fP flag. -.sp -Normally, a \fB.\fP will match any character except line terminators. While -this behavior typically isn't relevant for line-oriented matching (since -matches can span at most one line), this can be useful when searching with the -\fB\-U/\-\-multiline\fP flag. By default, multiline mode runs without "dot all" mode -enabled. -.sp -This flag is generally intended to be used in an alias or your ripgrep config -file if you prefer "dot all" semantics by default. Note that regardless of -whether this flag is used, "dot all" semantics can still be controlled via -inline flags in the regex pattern itself, e.g., \fB(?s:.)\fP always enables -"dot all" whereas \fB(?-s:.)\fP always disables "dot all". Moreover, you -can use character classes like \fB\\p{any}\fP to match any Unicode codepoint -regardless of whether "dot all" mode is enabled or not. -.sp -This flag can be disabled with \fB\-\-no-multiline-dotall\fP. -.RE -.sp -\fB\-\-no-unicode\fP -.RS 4 -This flag disables Unicode mode for all patterns given to ripgrep. -.sp -By default, ripgrep will enable "Unicode mode" in all of its regexes. This has -a number of consequences: -.sp -.IP \(bu 3n -\fB.\fP will only match valid UTF-8 encoded Unicode scalar values. -.sp -.IP \(bu 3n -Classes like \fB\\w\fP, \fB\\s\fP, \fB\\d\fP are all Unicode aware and much -bigger than their ASCII only versions. -.sp -.IP \(bu 3n -Case insensitive matching will use Unicode case folding. -.sp -.IP \(bu 3n -A large array of classes like \fB\\p{Emoji}\fP are available. (Although the -specific set of classes available varies based on the regex engine. In general, -the default regex engine has more classes available to it.) -.sp -.IP \(bu 3n -Word boundaries (\fB\\b\fP and \fB\\B\fP) use the Unicode definition of a word -character. -.PP -In some cases it can be desirable to turn these things off. This flag will do -exactly that. For example, Unicode mode can sometimes have a negative impact -on performance, especially when things like \fB\\w\fP are used frequently -(including via bounded repetitions like \fB\\w{100}\fP) when only their ASCII -interpretation is needed. -.sp -This flag can be disabled with \fB\-\-unicode\fP. -.RE -.sp -\fB\-\-null-data\fP -.RS 4 -Enabling this flag causes ripgrep to use \fBNUL\fP as a line terminator instead -of the default of \fP\\n\fP. -.sp -This is useful when searching large binary files that would otherwise have -very long lines if \fB\\n\fP were used as the line terminator. In particular, -ripgrep requires that, at a minimum, each line must fit into memory. Using -\fBNUL\fP instead can be a useful stopgap to keep memory requirements low and -avoid OOM (out of memory) conditions. -.sp -This is also useful for processing NUL delimited data, such as that emitted -when using ripgrep's \fB\-0/\-\-null\fP flag or \fBfind\fP's \fB\-\-print0\fP flag. -.sp -Using this flag implies \fB\-a/\-\-text\fP. It also overrides \fB\-\-crlf\fP. -.RE -.sp -\fB\-P\fP, \fB\-\-pcre2\fP -.RS 4 -When this flag is present, ripgrep will use the PCRE2 regex engine instead of -its default regex engine. -.sp -This is generally useful when you want to use features such as look-around -or backreferences. -.sp -Using this flag is the same as passing \fB\-\-engine=pcre2\fP. Users may -instead elect to use \fB\-\-engine=auto\fP to ask ripgrep to automatically -select the right regex engine based on the patterns given. This flag and the -\fB\-\-engine\fP flag override one another. -.sp -Note that PCRE2 is an optional ripgrep feature. If PCRE2 wasn't included in -your build of ripgrep, then using this flag will result in ripgrep printing -an error message and exiting. PCRE2 may also have worse user experience in -some cases, since it has fewer introspection APIs than ripgrep's default -regex engine. For example, if you use a \fB\\n\fP in a PCRE2 regex without -the \fB\-U/\-\-multiline\fP flag, then ripgrep will silently fail to match anything -instead of reporting an error immediately (like it does with the default regex -engine). -.sp -This flag can be disabled with \fB\-\-no-pcre2\fP. -.RE -.sp -\fB\-\-regex-size-limit\fP=\fINUM+SUFFIX?\fP -.RS 4 -The size limit of the compiled regex, where the compiled regex generally -corresponds to a single object in memory that can match all of the patterns -provided to ripgrep. The default limit is generous enough that most reasonable -patterns (or even a small number of them) should fit. -.sp -This useful to change when you explicitly want to let ripgrep spend potentially -much more time and/or memory building a regex matcher. -.sp -The input format accepts suffixes of \fBK\fP, \fBM\fP or \fBG\fP which -correspond to kilobytes, megabytes and gigabytes, respectively. If no suffix is -provided the input is treated as bytes. -.RE -.sp -\fB\-S\fP, \fB\-\-smart-case\fP -.RS 4 -This flag instructs ripgrep to searches case insensitively if the pattern is -all lowercase. Otherwise, ripgrep will search case sensitively. -.sp -A pattern is considered all lowercase if both of the following rules hold: -.sp -.IP \(bu 3n -First, the pattern contains at least one literal character. For example, -\fBa\\w\fP contains a literal (\fBa\fP) but just \fB\\w\fP does not. -.sp -.IP \(bu 3n -Second, of the literals in the pattern, none of them are considered to be -uppercase according to Unicode. For example, \fBfoo\\pL\fP has no uppercase -literals but \fBFoo\\pL\fP does. -.PP -This overrides the \fB\-s/\-\-case-sensitive\fP and \fB\-i/\-\-ignore-case\fP flags. -.RE -.sp -\fB\-\-stop-on-nonmatch\fP -.RS 4 -Enabling this option will cause ripgrep to stop reading a file once it -encounters a non-matching line after it has encountered a matching line. -This is useful if it is expected that all matches in a given file will be on -sequential lines, for example due to the lines being sorted. -.sp -This overrides the \fB\-U/\-\-multiline\fP flag. -.RE -.sp -\fB\-a\fP, \fB\-\-text\fP -.RS 4 -This flag instructs ripgrep to search binary files as if they were text. When -this flag is present, ripgrep's binary file detection is disabled. This means -that when a binary file is searched, its contents may be printed if there is -a match. This may cause escape codes to be printed that alter the behavior of -your terminal. -.sp -When binary file detection is enabled, it is imperfect. In general, it uses -a simple heuristic. If a \fBNUL\fP byte is seen during search, then the file -is considered binary and searching stops (unless this flag is present). -Alternatively, if the \fB\-\-binary\fP flag is used, then ripgrep will only quit -when it sees a \fBNUL\fP byte after it sees a match (or searches the entire -file). -.sp -This flag overrides the \fB\-\-binary\fP flag. -.sp -This flag can be disabled with \fB\-\-no-text\fP. -.RE -.sp -\fB\-j\fP \fINUM\fP, \fB\-\-threads\fP=\fINUM\fP -.RS 4 -This flag sets the approximate number of threads to use. A value of \fB0\fP -(which is the default) causes ripgrep to choose the thread count using -heuristics. -.RE -.sp -\fB\-w\fP, \fB\-\-word-regexp\fP -.RS 4 -When enabled, ripgrep will only show matches surrounded by word boundaries. -This is equivalent to surrounding every pattern with \fB\\b{start-half}\fP -and \fB\\b{end-half}\fP. -.sp -This overrides the \fB\-x/\-\-line-regexp\fP flag. -.RE -.sp -\fB\-\-auto-hybrid-regex\fP -.RS 4 -DEPRECATED. Use \fB\-\-engine\fP instead. -.sp -When this flag is used, ripgrep will dynamically choose between supported regex -engines depending on the features used in a pattern. When ripgrep chooses a -regex engine, it applies that choice for every regex provided to ripgrep (e.g., -via multiple \fB\-e/\-\-regexp\fP or \fB\-f/\-\-file\fP flags). -.sp -As an example of how this flag might behave, ripgrep will attempt to use -its default finite automata based regex engine whenever the pattern can be -successfully compiled with that regex engine. If PCRE2 is enabled and if the -pattern given could not be compiled with the default regex engine, then PCRE2 -will be automatically used for searching. If PCRE2 isn't available, then this -flag has no effect because there is only one regex engine to choose from. -.sp -In the future, ripgrep may adjust its heuristics for how it decides which -regex engine to use. In general, the heuristics will be limited to a static -analysis of the patterns, and not to any specific runtime behavior observed -while searching files. -.sp -The primary downside of using this flag is that it may not always be obvious -which regex engine ripgrep uses, and thus, the match semantics or performance -profile of ripgrep may subtly and unexpectedly change. However, in many cases, -all regex engines will agree on what constitutes a match and it can be nice -to transparently support more advanced regex features like look-around and -backreferences without explicitly needing to enable them. -.sp -This flag can be disabled with \fB\-\-no-auto-hybrid-regex\fP. -.RE -.sp -\fB\-\-no-pcre2-unicode\fP -.RS 4 -DEPRECATED. Use \fB\-\-no-unicode\fP instead. -.sp -Note that Unicode mode is enabled by default. -.sp -This flag can be disabled with \fB\-\-pcre2-unicode\fP. -.RE - -. -.SS FILTER OPTIONS -\fB\-\-binary\fP -.RS 4 -Enabling this flag will cause ripgrep to search binary files. By default, -ripgrep attempts to automatically skip binary files in order to improve the -relevance of results and make the search faster. -.sp -Binary files are heuristically detected based on whether they contain a -\fBNUL\fP byte or not. By default (without this flag set), once a \fBNUL\fP -byte is seen, ripgrep will stop searching the file. Usually, \fBNUL\fP bytes -occur in the beginning of most binary files. If a \fBNUL\fP byte occurs after -a match, then ripgrep will not print the match, stop searching that file, and -emit a warning that some matches are being suppressed. -.sp -In contrast, when this flag is provided, ripgrep will continue searching a -file even if a \fBNUL\fP byte is found. In particular, if a \fBNUL\fP byte is -found then ripgrep will continue searching until either a match is found or -the end of the file is reached, whichever comes sooner. If a match is found, -then ripgrep will stop and print a warning saying that the search stopped -prematurely. -.sp -If you want ripgrep to search a file without any special \fBNUL\fP byte -handling at all (and potentially print binary data to stdout), then you should -use the \fB\-a/\-\-text\fP flag. -.sp -The \fB\-\-binary\fP flag is a flag for controlling ripgrep's automatic filtering -mechanism. As such, it does not need to be used when searching a file -explicitly or when searching stdin. That is, it is only applicable when -recursively searching a directory. -.sp -When the \fB\-u/\-\-unrestricted\fP flag is provided for a third time, then this flag -is automatically enabled. -.sp -This flag overrides the \fB\-a/\-\-text\fP flag. -.sp -This flag can be disabled with \fB\-\-no-binary\fP. -.RE -.sp -\fB\-L\fP, \fB\-\-follow\fP -.RS 4 -This flag instructs ripgrep to follow symbolic links while traversing -directories. This behavior is disabled by default. Note that ripgrep will -check for symbolic link loops and report errors if it finds one. ripgrep will -also report errors for broken links. To suppress error messages, use the -\fB\-\-no-messages\fP flag. -.sp -This flag can be disabled with \fB\-\-no-follow\fP. -.RE -.sp -\fB\-g\fP \fIGLOB\fP, \fB\-\-glob\fP=\fIGLOB\fP -.RS 4 -Include or exclude files and directories for searching that match the given -glob. This always overrides any other ignore logic. Multiple glob flags may -be used. Globbing rules match \fB.gitignore\fP globs. Precede a glob with a -\fB!\fP to exclude it. If multiple globs match a file or directory, the glob -given later in the command line takes precedence. -.sp -As an extension, globs support specifying alternatives: -.BI "\-g '" ab{c,d}* ' -is equivalent to -.BI "\-g " "abc " "\-g " abd. -Empty alternatives like -.BI "\-g '" ab{,c} ' -are not currently supported. Note that this syntax extension is also currently -enabled in \fBgitignore\fP files, even though this syntax isn't supported by -git itself. ripgrep may disable this syntax extension in gitignore files, but -it will always remain available via the \fB\-g/\-\-glob\fP flag. -.sp -When this flag is set, every file and directory is applied to it to test for -a match. For example, if you only want to search in a particular directory -\fIfoo\fP, then -.BI "\-g " foo -is incorrect because \fIfoo/bar\fP does not match -the glob \fIfoo\fP. Instead, you should use -.BI "\-g '" foo/** '. -.RE -.sp -\fB\-\-glob-case-insensitive\fP -.RS 4 -Process all glob patterns given with the \fB\-g/\-\-glob\fP flag case insensitively. -This effectively treats \fB\-g/\-\-glob\fP as \fB\-\-iglob\fP. -.sp -This flag can be disabled with \fB\-\-no-glob-case-insensitive\fP. -.RE -.sp -\fB\-.\fP, \fB\-\-hidden\fP -.RS 4 -Search hidden files and directories. By default, hidden files and directories -are skipped. Note that if a hidden file or a directory is whitelisted in -an ignore file, then it will be searched even if this flag isn't provided. -Similarly if a hidden file or directory is given explicitly as an argument to -ripgrep. -.sp -A file or directory is considered hidden if its base name starts with a dot -character (\fB.\fP). On operating systems which support a "hidden" file -attribute, like Windows, files with this attribute are also considered hidden. -.sp -This flag can be disabled with \fB\-\-no-hidden\fP. -.RE -.sp -\fB\-\-iglob\fP=\fIGLOB\fP -.RS 4 -Include or exclude files and directories for searching that match the given -glob. This always overrides any other ignore logic. Multiple glob flags may -be used. Globbing rules match \fB.gitignore\fP globs. Precede a glob with a -\fB!\fP to exclude it. If multiple globs match a file or directory, the glob -given later in the command line takes precedence. Globs used via this flag are -matched case insensitively. -.RE -.sp -\fB\-\-ignore-file\fP=\fIPATH\fP -.RS 4 -Specifies a path to one or more \fBgitignore\fP formatted rules files. -These patterns are applied after the patterns found in \fB.gitignore\fP, -\fB.rgignore\fP and \fB.ignore\fP are applied and are matched relative to the -current working directory. Multiple additional ignore files can be specified -by using this flag repeatedly. When specifying multiple ignore files, earlier -files have lower precedence than later files. -.sp -If you are looking for a way to include or exclude files and directories -directly on the command line, then use \fB\-g/\-\-glob\fP instead. -.RE -.sp -\fB\-\-ignore-file-case-insensitive\fP -.RS 4 -Process ignore files (\fB.gitignore\fP, \fB.ignore\fP, etc.) case -insensitively. Note that this comes with a performance penalty and is most -useful on case insensitive file systems (such as Windows). -.sp -This flag can be disabled with \fB\-\-no-ignore-file-case-insensitive\fP. -.RE -.sp -\fB\-d\fP \fINUM\fP, \fB\-\-max-depth\fP=\fINUM\fP -.RS 4 -This flag limits the depth of directory traversal to \fINUM\fP levels beyond -the paths given. A value of \fB0\fP only searches the explicitly given paths -themselves. -.sp -For example, \fBrg --max-depth 0 \fP\fIdir/\fP is a no-op because \fIdir/\fP -will not be descended into. \fBrg --max-depth 1 \fP\fIdir/\fP will search only -the direct children of \fIdir\fP. -.sp -An alternative spelling for this flag is \fB\-\-maxdepth\fP. -.RE -.sp -\fB\-\-max-filesize\fP=\fINUM+SUFFIX?\fP -.RS 4 -Ignore files larger than \fINUM\fP in size. This does not apply to directories. -.sp -The input format accepts suffixes of \fBK\fP, \fBM\fP or \fBG\fP which -correspond to kilobytes, megabytes and gigabytes, respectively. If no suffix is -provided the input is treated as bytes. -.sp -Examples: \fB\-\-max-filesize 50K\fP or \fB\-\-max\-filesize 80M\fP. -.RE -.sp -\fB\-\-no-ignore\fP -.RS 4 -When set, ignore files such as \fB.gitignore\fP, \fB.ignore\fP and -\fB.rgignore\fP will not be respected. This implies \fB\-\-no-ignore-dot\fP, -\fB\-\-no-ignore-exclude\fP, \fB\-\-no-ignore-global\fP, \fB\-\-no-ignore-parent\fP and -\fB\-\-no-ignore-vcs\fP. -.sp -This does not imply \fB\-\-no-ignore-files\fP, since \fB\-\-ignore-file\fP is -specified explicitly as a command line argument. -.sp -When given only once, the \fB\-u/\-\-unrestricted\fP flag is identical in -behavior to this flag and can be considered an alias. However, subsequent -\fB\-u/\-\-unrestricted\fP flags have additional effects. -.sp -This flag can be disabled with \fB\-\-ignore\fP. -.RE -.sp -\fB\-\-no-ignore-dot\fP -.RS 4 -Don't respect filter rules from \fB.ignore\fP or \fB.rgignore\fP files. -.sp -This does not impact whether ripgrep will ignore files and directories whose -names begin with a dot. For that, see the \fB\-./\-\-hidden\fP flag. This flag also -does not impact whether filter rules from \fB.gitignore\fP files are respected. -.sp -This flag can be disabled with \fB\-\-ignore-dot\fP. -.RE -.sp -\fB\-\-no-ignore-exclude\fP -.RS 4 -Don't respect filter rules from files that are manually configured for the repository. -For example, this includes \fBgit\fP's \fB.git/info/exclude\fP. -.sp -This flag can be disabled with \fB\-\-ignore-exclude\fP. -.RE -.sp -\fB\-\-no-ignore-files\fP -.RS 4 -When set, any \fB\-\-ignore-file\fP flags, even ones that come after this flag, -are ignored. -.sp -This flag can be disabled with \fB\-\-ignore-files\fP. -.RE -.sp -\fB\-\-no-ignore-global\fP -.RS 4 -Don't respect filter rules from ignore files that come from "global" sources -such as \fBgit\fP's \fBcore.excludesFile\fP configuration option (which -defaults to \fB$HOME/.config/git/ignore\fP). -.sp -This flag can be disabled with \fB\-\-ignore-global\fP. -.RE -.sp -\fB\-\-no-ignore-parent\fP -.RS 4 -When this flag is set, filter rules from ignore files found in parent -directories are not respected. By default, ripgrep will ascend the parent -directories of the current working directory to look for any applicable ignore -files that should be applied. In some cases this may not be desirable. -.sp -This flag can be disabled with \fB\-\-ignore-parent\fP. -.RE -.sp -\fB\-\-no-ignore-vcs\fP -.RS 4 -When given, filter rules from source control ignore files (e.g., \fB.gitignore\fP) -are not respected. By default, ripgrep respects \fBgit\fP's ignore rules for -automatic filtering. In some cases, it may not be desirable to respect the -source control's ignore rules and instead only respect rules in \fB.ignore\fP -or \fB.rgignore\fP. -.sp -This flag implies \fB\-\-no-ignore-parent\fP for source control ignore files as -well. -.sp -This flag can be disabled with \fB\-\-ignore-vcs\fP. -.RE -.sp -\fB\-\-no-require-git\fP -.RS 4 -When this flag is given, source control ignore files such as \fB.gitignore\fP -are respected even if no \fBgit\fP repository is present. -.sp -By default, ripgrep will only respect filter rules from source control ignore -files when ripgrep detects that the search is executed inside a source control -repository. For example, when a \fB.git\fP directory is observed. -.sp -This flag relaxes the default restriction. For example, it might be useful when -the contents of a \fBgit\fP repository are stored or copied somewhere, but -where the repository state is absent. -.sp -This flag can be disabled with \fB\-\-require-git\fP. -.RE -.sp -\fB\-\-one-file-system\fP -.RS 4 -When enabled, ripgrep will not cross file system boundaries relative to where -the search started from. -.sp -Note that this applies to each path argument given to ripgrep. For example, in -the command -.sp -.EX - rg \-\-one\-file\-system /foo/bar /quux/baz -.EE -.sp -ripgrep will search both \fI/foo/bar\fP and \fI/quux/baz\fP even if they are -on different file systems, but will not cross a file system boundary when -traversing each path's directory tree. -.sp -This is similar to \fBfind\fP's \fB\-xdev\fP or \fB\-mount\fP flag. -.sp -This flag can be disabled with \fB\-\-no-one-file-system\fP. -.RE -.sp -\fB\-t\fP \fITYPE\fP, \fB\-\-type\fP=\fITYPE\fP -.RS 4 -This flag limits ripgrep to searching files matching \fITYPE\fP. Multiple -\fB\-t/\-\-type\fP flags may be provided. -.sp -This flag supports the special value \fBall\fP, which will behave as if -\fB\-t/\-\-type\fP was provided for every file type supported by ripgrep (including -any custom file types). The end result is that \fB\-\-type=all\fP causes -ripgrep to search in "whitelist" mode, where it will only search files it -recognizes via its type definitions. -.sp -Note that this flag has lower precedence than both the \fB\-g/\-\-glob\fP flag and -any rules found in ignore files. -.sp -To see the list of available file types, use the \fB\-\-type-list\fP flag. -.RE -.sp -\fB\-T\fP \fITYPE\fP, \fB\-\-type-not\fP=\fITYPE\fP -.RS 4 -Do not search files matching \fITYPE\fP. Multiple \fB\-T/\-\-type-not\fP flags may be -provided. Use the \fB\-\-type-list\fP flag to list all available types. -.sp -This flag supports the special value \fBall\fP, which will behave -as if \fB\-T/\-\-type-not\fP was provided for every file type supported by -ripgrep (including any custom file types). The end result is that -\fB\-\-type\-not=all\fP causes ripgrep to search in "blacklist" mode, where it -will only search files that are unrecognized by its type definitions. -.sp -To see the list of available file types, use the \fB\-\-type-list\fP flag. -.RE -.sp -\fB\-\-type-add\fP=\fITYPESPEC\fP -.RS 4 -This flag adds a new glob for a particular file type. Only one glob can be -added at a time. Multiple \fB\-\-type-add\fP flags can be provided. Unless -\fB\-\-type-clear\fP is used, globs are added to any existing globs defined inside -of ripgrep. -.sp -Note that this must be passed to every invocation of ripgrep. Type settings are -not persisted. See \fBCONFIGURATION FILES\fP for a workaround. -.sp -Example: -.sp -.EX - rg \-\-type\-add 'foo:*.foo' -tfoo \fIPATTERN\fP -.EE -.sp -This flag can also be used to include rules from other types with the special -include directive. The include directive permits specifying one or more other -type names (separated by a comma) that have been defined and its rules will -automatically be imported into the type specified. For example, to create a -type called src that matches C++, Python and Markdown files, one can use: -.sp -.EX - \-\-type\-add 'src:include:cpp,py,md' -.EE -.sp -Additional glob rules can still be added to the src type by using this flag -again: -.sp -.EX - \-\-type\-add 'src:include:cpp,py,md' \-\-type\-add 'src:*.foo' -.EE -.sp -Note that type names must consist only of Unicode letters or numbers. -Punctuation characters are not allowed. -.RE -.sp -\fB\-\-type-clear\fP=\fITYPE\fP -.RS 4 -Clear the file type globs previously defined for \fITYPE\fP. This clears any -previously defined globs for the \fITYPE\fP, but globs can be added after this -flag. -.sp -Note that this must be passed to every invocation of ripgrep. Type settings are -not persisted. See \fBCONFIGURATION FILES\fP for a workaround. -.RE -.sp -\fB\-u\fP, \fB\-\-unrestricted\fP -.RS 4 -This flag reduces the level of "smart" filtering. Repeated uses (up to 3) reduces -the filtering even more. When repeated three times, ripgrep will search every -file in a directory tree. -.sp -A single \fB\-u/\-\-unrestricted\fP flag is equivalent to \fB\-\-no-ignore\fP. Two -\fB\-u/\-\-unrestricted\fP flags is equivalent to \fB\-\-no-ignore\fP \fB\-./\-\-hidden\fP. -Three \fB\-u/\-\-unrestricted\fP flags is equivalent to \fB\-\-no-ignore\fP \fB\-./\-\-hidden\fP -\fB\-\-binary\fP. -.sp -The only filtering ripgrep still does when \fB-uuu\fP is given is to skip -symbolic links and to avoid printing matches from binary files. Symbolic links -can be followed via the \fB\-L/\-\-follow\fP flag, and binary files can be treated as -text files via the \fB\-a/\-\-text\fP flag. -.RE - -. -.SS OUTPUT OPTIONS -\fB\-A\fP \fINUM\fP, \fB\-\-after-context\fP=\fINUM\fP -.RS 4 -Show \fINUM\fP lines after each match. -.sp -This overrides the \fB\-\-passthru\fP flag and partially overrides the -\fB\-C/\-\-context\fP flag. -.RE -.sp -\fB\-B\fP \fINUM\fP, \fB\-\-before-context\fP=\fINUM\fP -.RS 4 -Show \fINUM\fP lines before each match. -.sp -This overrides the \fB\-\-passthru\fP flag and partially overrides the -\fB\-C/\-\-context\fP flag. -.RE -.sp -\fB\-\-block-buffered\fP -.RS 4 -When enabled, ripgrep will use block buffering. That is, whenever a matching -line is found, it will be written to an in-memory buffer and will not be -written to stdout until the buffer reaches a certain size. This is the default -when ripgrep's stdout is redirected to a pipeline or a file. When ripgrep's -stdout is connected to a tty, line buffering will be used by default. Forcing -block buffering can be useful when dumping a large amount of contents to a tty. -.sp -This overrides the \fB\-\-line-buffered\fP flag. -.sp -This flag can be disabled with \fB\-\-no-block-buffered\fP. -.RE -.sp -\fB\-b\fP, \fB\-\-byte-offset\fP -.RS 4 -Print the 0-based byte offset within the input file before each line of output. -If \fB\-o/\-\-only-matching\fP is specified, print the offset of the matched text -itself. -.sp -If ripgrep does transcoding, then the byte offset is in terms of the result -of transcoding and not the original data. This applies similarly to other -transformations on the data, such as decompression or a \fB\-\-pre\fP filter. -.sp -This flag can be disabled with \fB\-\-no-byte-offset\fP. -.RE -.sp -\fB\-\-color\fP=\fIWHEN\fP -.RS 4 -This flag controls when to use colors. The default setting is \fBauto\fP, which -means ripgrep will try to guess when to use colors. For example, if ripgrep is -printing to a tty, then it will use colors, but if it is redirected to a file -or a pipe, then it will suppress color output. -.sp -ripgrep will suppress color output by default in some other circumstances as -well. These include, but are not limited to: -.sp -.IP \(bu 3n -When the \fBTERM\fP environment variable is not set or set to \fBdumb\fP. -.sp -.IP \(bu 3n -When the \fBNO_COLOR\fP environment variable is set (regardless of value). -.sp -.IP \(bu 3n -When flags that imply no use for colors are given. For example, -\fB\-\-vimgrep\fP and \fB\-\-json\fP. -. -.PP -The possible values for this flag are: -.sp -.IP \fBnever\fP 10n -Colors will never be used. -.sp -.IP \fBauto\fP 10n -The default. ripgrep tries to be smart. -.sp -.IP \fBalways\fP 10n -Colors will always be used regardless of where output is sent. -.sp -.IP \fBansi\fP 10n -Like 'always', but emits ANSI escapes (even in a Windows console). -. -.PP -This flag also controls whether hyperlinks are emitted. For example, when -a hyperlink format is specified, hyperlinks won't be used when color is -suppressed. If one wants to emit hyperlinks but no colors, then one must use -the \fB\-\-colors\fP flag to manually set all color styles to \fBnone\fP: -.sp -.EX - \-\-colors 'path:none' \\ - \-\-colors 'line:none' \\ - \-\-colors 'column:none' \\ - \-\-colors 'match:none' -.EE -.sp -.RE -.sp -\fB\-\-colors\fP=\fICOLOR_SPEC\fP -.RS 4 -This flag specifies color settings for use in the output. This flag may be -provided multiple times. Settings are applied iteratively. Pre-existing color -labels are limited to one of eight choices: \fBred\fP, \fBblue\fP, \fBgreen\fP, -\fBcyan\fP, \fBmagenta\fP, \fByellow\fP, \fBwhite\fP and \fBblack\fP. Styles -are limited to \fBnobold\fP, \fBbold\fP, \fBnointense\fP, \fBintense\fP, -\fBnounderline\fP or \fBunderline\fP. -.sp -The format of the flag is -\fB{\fP\fItype\fP\fB}:{\fP\fIattribute\fP\fB}:{\fP\fIvalue\fP\fB}\fP. -\fItype\fP should be one of \fBpath\fP, \fBline\fP, \fBcolumn\fP or -\fBmatch\fP. \fIattribute\fP can be \fBfg\fP, \fBbg\fP or \fBstyle\fP. -\fIvalue\fP is either a color (for \fBfg\fP and \fBbg\fP) or a text style. A -special format, \fB{\fP\fItype\fP\fB}:none\fP, will clear all color settings -for \fItype\fP. -.sp -For example, the following command will change the match color to magenta and -the background color for line numbers to yellow: -.sp -.EX - rg \-\-colors 'match:fg:magenta' \-\-colors 'line:bg:yellow' -.EE -.sp -Extended colors can be used for \fIvalue\fP when the tty supports ANSI color -sequences. These are specified as either \fIx\fP (256-color) or -.IB x , x , x -(24-bit truecolor) where \fIx\fP is a number between \fB0\fP and \fB255\fP -inclusive. \fIx\fP may be given as a normal decimal number or a hexadecimal -number, which is prefixed by \fB0x\fP. -.sp -For example, the following command will change the match background color to -that represented by the rgb value (0,128,255): -.sp -.EX - rg \-\-colors 'match:bg:0,128,255' -.EE -.sp -or, equivalently, -.sp -.EX - rg \-\-colors 'match:bg:0x0,0x80,0xFF' -.EE -.sp -Note that the \fBintense\fP and \fBnointense\fP styles will have no effect when -used alongside these extended color codes. -.RE -.sp -\fB\-\-column\fP -.RS 4 -Show column numbers (1-based). This only shows the column numbers for the first -match on each line. This does not try to account for Unicode. One byte is equal -to one column. This implies \fB\-n/\-\-line-number\fP. -.sp -When \fB\-o/\-\-only-matching\fP is used, then the column numbers written correspond -to the start of each match. -.sp -This flag can be disabled with \fB\-\-no-column\fP. -.RE -.sp -\fB\-C\fP \fINUM\fP, \fB\-\-context\fP=\fINUM\fP -.RS 4 -Show \fINUM\fP lines before and after each match. This is equivalent to -providing both the \fB\-B/\-\-before-context\fP and \fB\-A/\-\-after-context\fP flags with -the same value. -.sp -This overrides the \fB\-\-passthru\fP flag. The \fB\-A/\-\-after-context\fP and -\fB\-B/\-\-before-context\fP flags both partially override this flag, regardless of -the order. For example, \fB\-A2 \-C1\fP is equivalent to \fB\-A2 \-B1\fP. -.RE -.sp -\fB\-\-context-separator\fP=\fISEPARATOR\fP -.RS 4 -The string used to separate non-contiguous context lines in the output. This is -only used when one of the context flags is used (that is, \fB\-A/\-\-after-context\fP, -\fB\-B/\-\-before-context\fP or \fB\-C/\-\-context\fP). Escape sequences like \fB\\x7F\fP or -\fB\\t\fP may be used. The default value is \fB\-\-\fP. -.sp -When the context separator is set to an empty string, then a line break -is still inserted. To completely disable context separators, use the -\fB\-\-no-context-separator\fP flag. -.RE -.sp -\fB\-\-field-context-separator\fP=\fISEPARATOR\fP -.RS 4 -Set the field context separator. This separator is only used when printing -contextual lines. It is used to delimit file paths, line numbers, columns and -the contextual line itself. The separator may be any number of bytes, including -zero. Escape sequences like \fB\\x7F\fP or \fB\\t\fP may be used. -.sp -The \fB-\fP character is the default value. -.RE -.sp -\fB\-\-field-match-separator\fP=\fISEPARATOR\fP -.RS 4 -Set the field match separator. This separator is only used when printing -matching lines. It is used to delimit file paths, line numbers, columns and the -matching line itself. The separator may be any number of bytes, including zero. -Escape sequences like \fB\\x7F\fP or \fB\\t\fP may be used. -.sp -The \fB:\fP character is the default value. -.RE -.sp -\fB\-\-heading\fP -.RS 4 -This flag prints the file path above clusters of matches from each file instead -of printing the file path as a prefix for each matched line. -.sp -This is the default mode when printing to a tty. -.sp -When \fBstdout\fP is not a tty, then ripgrep will default to the standard -grep-like format. One can force this format in Unix-like environments by -piping the output of ripgrep to \fBcat\fP. For example, \fBrg\fP \fIfoo\fP \fB| -cat\fP. -.sp -This flag can be disabled with \fB\-\-no-heading\fP. -.RE -.sp -\fB\-h\fP, \fB\-\-help\fP -.RS 4 -This flag prints the help output for ripgrep. -.sp -Unlike most other flags, the behavior of the short flag, \fB\-h\fP, and the -long flag, \fB\-\-help\fP, is different. The short flag will show a condensed -help output while the long flag will show a verbose help output. The verbose -help output has complete documentation, where as the condensed help output will -show only a single line for every flag. -.RE -.sp -\fB\-\-hostname-bin\fP=\fICOMMAND\fP -.RS 4 -This flag controls how ripgrep determines this system's hostname. The flag's -value should correspond to an executable (either a path or something that can -be found via your system's \fBPATH\fP environment variable). When set, ripgrep -will run this executable, with no arguments, and treat its output (with leading -and trailing whitespace stripped) as your system's hostname. -.sp -When not set (the default, or the empty string), ripgrep will try to -automatically detect your system's hostname. On Unix, this corresponds -to calling \fBgethostname\fP. On Windows, this corresponds to calling -\fBGetComputerNameExW\fP to fetch the system's "physical DNS hostname." -.sp -ripgrep uses your system's hostname for producing hyperlinks. -.RE -.sp -\fB\-\-hyperlink-format\fP=\fIFORMAT\fP -.RS 4 -Set the format of hyperlinks to use when printing results. Hyperlinks make -certain elements of ripgrep's output, such as file paths, clickable. This -generally only works in terminal emulators that support OSC-8 hyperlinks. For -example, the format \fBfile://{host}{path}\fP will emit an RFC 8089 hyperlink. -To see the format that ripgrep is using, pass the \fB\-\-debug\fP flag. -.sp -Alternatively, a format string may correspond to one of the following aliases: -\fBdefault\fP, \fBnone\fP, \fBfile\fP, \fBgrep+\fP, \fBkitty\fP, \fBmacvim\fP, -\fBtextmate\fP, \fBvscode\fP, \fBvscode-insiders\fP, \fBvscodium\fP. The -alias will be replaced with a format string that is intended to work for the -corresponding application. -.sp -The following variables are available in the format string: -.sp -.TP 12 -\fB{path}\fP -Required. This is replaced with a path to a matching file. The path is -guaranteed to be absolute and percent encoded such that it is valid to put into -a URI. Note that a path is guaranteed to start with a /. -.TP 12 -\fB{host}\fP -Optional. This is replaced with your system's hostname. On Unix, this -corresponds to calling \fBgethostname\fP. On Windows, this corresponds to -calling \fBGetComputerNameExW\fP to fetch the system's "physical DNS hostname." -Alternatively, if \fB\-\-hostname-bin\fP was provided, then the hostname returned -from the output of that program will be returned. If no hostname could be -found, then this variable is replaced with the empty string. -.TP 12 -\fB{line}\fP -Optional. If appropriate, this is replaced with the line number of a match. If -no line number is available (for example, if \fB\-\-no\-line\-number\fP was -given), then it is automatically replaced with the value 1. -.TP 12 -\fB{column}\fP -Optional, but requires the presence of \fB{line}\fP. If appropriate, this is -replaced with the column number of a match. If no column number is available -(for example, if \fB\-\-no\-column\fP was given), then it is automatically -replaced with the value 1. -.TP 12 -\fB{wslprefix}\fP -Optional. This is a special value that is set to -\fBwsl$/\fP\fIWSL_DISTRO_NAME\fP, where \fIWSL_DISTRO_NAME\fP corresponds to -the value of the equivalent environment variable. If the system is not Unix -or if the \fIWSL_DISTRO_NAME\fP environment variable is not set, then this is -replaced with the empty string. -.PP -A format string may be empty. An empty format string is equivalent to the -\fBnone\fP alias. In this case, hyperlinks will be disabled. -.sp -At present, ripgrep does not enable hyperlinks by default. Users must opt into -them. If you aren't sure what format to use, try \fBdefault\fP. -.sp -Like colors, when ripgrep detects that stdout is not connected to a tty, then -hyperlinks are automatically disabled, regardless of the value of this flag. -Users can pass \fB\-\-color=always\fP to forcefully emit hyperlinks. -.sp -Note that hyperlinks are only written when a path is also in the output -and colors are enabled. To write hyperlinks without colors, you'll need to -configure ripgrep to not colorize anything without actually disabling all ANSI -escape codes completely: -.sp -.EX - \-\-colors 'path:none' \\ - \-\-colors 'line:none' \\ - \-\-colors 'column:none' \\ - \-\-colors 'match:none' -.EE -.sp -ripgrep works this way because it treats the \fB\-\-color\fP flag as a proxy for -whether ANSI escape codes should be used at all. This means that environment -variables like \fBNO_COLOR=1\fP and \fBTERM=dumb\fP not only disable colors, -but hyperlinks as well. Similarly, colors and hyperlinks are disabled when -ripgrep is not writing to a tty. (Unless one forces the issue by setting -\fB\-\-color=always\fP.) -.sp -If you're searching a file directly, for example: -.sp -.EX - rg foo path/to/file -.EE -.sp -then hyperlinks will not be emitted since the path given does not appear -in the output. To make the path appear, and thus also a hyperlink, use the -\fB\-H/\-\-with-filename\fP flag. -.sp -For more information on hyperlinks in terminal emulators, see: -https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda -.RE -.sp -\fB\-\-include-zero\fP -.RS 4 -When used with \fB\-c/\-\-count\fP or \fB\-\-count-matches\fP, this causes ripgrep to -print the number of matches for each file even if there were zero matches. This -is disabled by default but can be enabled to make ripgrep behave more like -grep. -.sp -This flag can be disabled with \fB\-\-no-include-zero\fP. -.RE -.sp -\fB\-\-line-buffered\fP -.RS 4 -When enabled, ripgrep will always use line buffering. That is, whenever a -matching line is found, it will be flushed to stdout immediately. This is the -default when ripgrep's stdout is connected to a tty, but otherwise, ripgrep -will use block buffering, which is typically faster. This flag forces ripgrep -to use line buffering even if it would otherwise use block buffering. This is -typically useful in shell pipelines, for example: -.sp -.EX - tail -f something.log | rg foo --line-buffered | rg bar -.EE -.sp -This overrides the \fB\-\-block-buffered\fP flag. -.sp -This flag can be disabled with \fB\-\-no-line-buffered\fP. -.RE -.sp -\fB\-n\fP, \fB\-\-line-number\fP -.RS 4 -Show line numbers (1-based). -.sp -This is enabled by default when stdout is connected to a tty. -.sp -This flag can be disabled by \fB\-N/\-\-no-line-number\fP. -.RE -.sp -\fB\-N\fP, \fB\-\-no-line-number\fP -.RS 4 -Suppress line numbers. -.sp -Line numbers are off by default when stdout is not connected to a tty. -.sp -Line numbers can be forcefully turned on by \fB\-n/\-\-line-number\fP. -.RE -.sp -\fB\-M\fP \fINUM\fP, \fB\-\-max-columns\fP=\fINUM\fP -.RS 4 -When given, ripgrep will omit lines longer than this limit in bytes. Instead of -printing long lines, only the number of matches in that line is printed. -.sp -When this flag is omitted or is set to \fB0\fP, then it has no effect. -.RE -.sp -\fB\-\-max-columns-preview\fP -.RS 4 -Prints a preview for lines exceeding the configured max column limit. -.sp -When the \fB\-M/\-\-max-columns\fP flag is used, ripgrep will by default completely -replace any line that is too long with a message indicating that a matching -line was removed. When this flag is combined with \fB\-M/\-\-max-columns\fP, a preview -of the line (corresponding to the limit size) is shown instead, where the part -of the line exceeding the limit is not shown. -.sp -If the \fB\-M/\-\-max-columns\fP flag is not set, then this has no effect. -.sp -This flag can be disabled with \fB\-\-no-max-columns-preview\fP. -.RE -.sp -\fB\-0\fP, \fB\-\-null\fP -.RS 4 -Whenever a file path is printed, follow it with a \fBNUL\fP byte. This includes -printing file paths before matches, and when printing a list of matching files -such as with \fB\-c/\-\-count\fP, \fB\-l/\-\-files-with-matches\fP and \fB\-\-files\fP. This -option is useful for use with \fBxargs\fP. -.RE -.sp -\fB\-o\fP, \fB\-\-only-matching\fP -.RS 4 -Print only the matched (non-empty) parts of a matching line, with each such -part on a separate output line. -.RE -.sp -\fB\-\-path-separator\fP=\fISEPARATOR\fP -.RS 4 -Set the path separator to use when printing file paths. This defaults to your -platform's path separator, which is \fB/\fP on Unix and \fB\\\fP on Windows. -This flag is intended for overriding the default when the environment demands -it (e.g., cygwin). A path separator is limited to a single byte. -.sp -Setting this flag to an empty string reverts it to its default behavior. That -is, the path separator is automatically chosen based on the environment. -.RE -.sp -\fB\-\-passthru\fP -.RS 4 -Print both matching and non-matching lines. -.sp -Another way to achieve a similar effect is by modifying your pattern to match -the empty string. For example, if you are searching using \fBrg\fP \fIfoo\fP, -then using \fBrg\fP \fB'^|\fP\fIfoo\fP\fB'\fP instead will emit every line in -every file searched, but only occurrences of \fIfoo\fP will be highlighted. -This flag enables the same behavior without needing to modify the pattern. -.sp -An alternative spelling for this flag is \fB\-\-passthrough\fP. -.sp -This overrides the \fB\-C/\-\-context\fP, \fB\-A/\-\-after-context\fP and -\fB\-B/\-\-before-context\fP flags. -.RE -.sp -\fB\-p\fP, \fB\-\-pretty\fP -.RS 4 -This is a convenience alias for \fB\-\-color=always \-\-heading -\-\-line\-number\fP. This flag is useful when you still want pretty output even -if you're piping ripgrep to another program or file. For example: \fBrg -p -\fP\fIfoo\fP \fB| less -R\fP. -.RE -.sp -\fB\-q\fP, \fB\-\-quiet\fP -.RS 4 -Do not print anything to stdout. If a match is found in a file, then ripgrep -will stop searching. This is useful when ripgrep is used only for its exit code -(which will be an error code if no matches are found). -.sp -When \fB\-\-files\fP is used, ripgrep will stop finding files after finding the -first file that does not match any ignore rules. -.RE -.sp -\fB\-r\fP \fIREPLACEMENT\fP, \fB\-\-replace\fP=\fIREPLACEMENT\fP -.RS 4 -Replaces every match with the text given when printing results. Neither this -flag nor any other ripgrep flag will modify your files. -.sp -Capture group indices (e.g., \fB$\fP\fI5\fP) and names (e.g., \fB$\fP\fIfoo\fP) -are supported in the replacement string. Capture group indices are numbered -based on the position of the opening parenthesis of the group, where the -leftmost such group is \fB$\fP\fI1\fP. The special \fB$\fP\fI0\fP group -corresponds to the entire match. -.sp -The name of a group is formed by taking the longest string of letters, numbers -and underscores (i.e. \fB[_0-9A-Za-z]\fP) after the \fB$\fP. For example, -\fB$\fP\fI1a\fP will be replaced with the group named \fI1a\fP, not the -group at index \fI1\fP. If the group's name contains characters that aren't -letters, numbers or underscores, or you want to immediately follow the group -with another string, the name should be put inside braces. For example, -\fB${\fP\fI1\fP\fB}\fP\fIa\fP will take the content of the group at index -\fI1\fP and append \fIa\fP to the end of it. -.sp -If an index or name does not refer to a valid capture group, it will be -replaced with an empty string. -.sp -In shells such as Bash and zsh, you should wrap the pattern in single quotes -instead of double quotes. Otherwise, capture group indices will be replaced by -expanded shell variables which will most likely be empty. -.sp -To write a literal \fB$\fP, use \fB$$\fP. -.sp -Note that the replacement by default replaces each match, and not the entire -line. To replace the entire line, you should match the entire line. -.sp -This flag can be used with the \fB\-o/\-\-only-matching\fP flag. -.RE -.sp -\fB\-\-sort\fP=\fISORTBY\fP -.RS 4 -This flag enables sorting of results in ascending order. The possible values -for this flag are: -.sp -.TP 12 -\fBnone\fP -(Default) Do not sort results. Fastest. Can be multi-threaded. -.TP 12 -\fBpath\fP -Sort by file path. Always single-threaded. The order is determined by sorting -files in each directory entry during traversal. This means that given the files -\fBa/b\fP and \fBa+\fP, the latter will sort after the former even though -\fB+\fP would normally sort before \fB/\fP. -.TP 12 -\fBmodified\fP -Sort by the last modified time on a file. Always single-threaded. -.TP 12 -\fBaccessed\fP -Sort by the last accessed time on a file. Always single-threaded. -.TP 12 -\fBcreated\fP -Sort by the creation time on a file. Always single-threaded. -.PP -If the chosen (manually or by-default) sorting criteria isn't available on your -system (for example, creation time is not available on ext4 file systems), then -ripgrep will attempt to detect this, print an error and exit without searching. -.sp -To sort results in reverse or descending order, use the \fB\-\-sortr\fP flag. -Also, this flag overrides \fB\-\-sortr\fP. -.sp -Note that sorting results currently always forces ripgrep to abandon -parallelism and run in a single thread. -.RE -.sp -\fB\-\-sortr\fP=\fISORTBY\fP -.RS 4 -This flag enables sorting of results in descending order. The possible values -for this flag are: -.sp -.TP 12 -\fBnone\fP -(Default) Do not sort results. Fastest. Can be multi-threaded. -.TP 12 -\fBpath\fP -Sort by file path. Always single-threaded. The order is determined by sorting -files in each directory entry during traversal. This means that given the files -\fBa/b\fP and \fBa+\fP, the latter will sort before the former even though -\fB+\fP would normally sort after \fB/\fP when doing a reverse lexicographic -sort. -.TP 12 -\fBmodified\fP -Sort by the last modified time on a file. Always single-threaded. -.TP 12 -\fBaccessed\fP -Sort by the last accessed time on a file. Always single-threaded. -.TP 12 -\fBcreated\fP -Sort by the creation time on a file. Always single-threaded. -.PP -If the chosen (manually or by-default) sorting criteria isn't available on your -system (for example, creation time is not available on ext4 file systems), then -ripgrep will attempt to detect this, print an error and exit without searching. -.sp -To sort results in ascending order, use the \fB\-\-sort\fP flag. Also, this flag -overrides \fB\-\-sort\fP. -.sp -Note that sorting results currently always forces ripgrep to abandon -parallelism and run in a single thread. -.RE -.sp -\fB\-\-trim\fP -.RS 4 -When set, all ASCII whitespace at the beginning of each line printed will be -removed. -.sp -This flag can be disabled with \fB\-\-no-trim\fP. -.RE -.sp -\fB\-\-vimgrep\fP -.RS 4 -This flag instructs ripgrep to print results with every match on its own line, -including line numbers and column numbers. -.sp -With this option, a line with more than one match will be printed in its -entirety more than once. For that reason, the total amount of output as a -result of this flag can be quadratic in the size of the input. For example, -if the pattern matches every byte in an input file, then each line will be -repeated for every byte matched. For this reason, users should only use this -flag when there is no other choice. Editor integrations should prefer some -other way of reading results from ripgrep, such as via the \fB\-\-json\fP flag. -One alternative to avoiding exorbitant memory usage is to force ripgrep into -single threaded mode with the \fB\-j/\-\-threads\fP flag. Note though that this will -not impact the total size of the output, just the heap memory that ripgrep will -use. -.RE -.sp -\fB\-H\fP, \fB\-\-with-filename\fP -.RS 4 -This flag instructs ripgrep to print the file path for each matching line. -This is the default when more than one file is searched. If \fB\-\-heading\fP is -enabled (the default when printing to a tty), the file path will be shown above -clusters of matches from each file; otherwise, the file name will be shown as a -prefix for each matched line. -.sp -This flag overrides \fB\-I/\-\-no-filename\fP. -.RE -.sp -\fB\-I\fP, \fB\-\-no-filename\fP -.RS 4 -This flag instructs ripgrep to never print the file path with each matching -line. This is the default when ripgrep is explicitly instructed to search one -file or stdin. -.sp -This flag overrides \fB\-H/\-\-with-filename\fP. -.RE -.sp -\fB\-\-sort-files\fP -.RS 4 -DEPRECATED. Use \fB\-\-sort=path\fP instead. -.sp -This flag instructs ripgrep to sort search results by file path -lexicographically in ascending order. Note that this currently disables all -parallelism and runs search in a single thread. -.sp -This flag overrides \fB\-\-sort\fP and \fB\-\-sortr\fP. -.sp -This flag can be disabled with \fB\-\-no-sort-files\fP. -.RE - -. -.SS OUTPUT MODES -\fB\-c\fP, \fB\-\-count\fP -.RS 4 -This flag suppresses normal output and shows the number of lines that match the -given patterns for each file searched. Each file containing a match has its -path and count printed on each line. Note that unless \fB\-U/\-\-multiline\fP -is enabled, this reports the number of lines that match and not the total -number of matches. In multiline mode, \fB\-c/\-\-count\fP is equivalent to -\fB\-\-count-matches\fP. -.sp -If only one file is given to ripgrep, then only the count is printed if there -is a match. The \fB\-H/\-\-with-filename\fP flag can be used to force printing the -file path in this case. If you need a count to be printed regardless of whether -there is a match, then use \fB\-\-include-zero\fP. -.sp -This overrides the \fB\-\-count-matches\fP flag. Note that when \fB\-c/\-\-count\fP -is combined with \fB\-o/\-\-only-matching\fP, then ripgrep behaves as if -\fB\-\-count-matches\fP was given. -.RE -.sp -\fB\-\-count-matches\fP -.RS 4 -This flag suppresses normal output and shows the number of individual matches -of the given patterns for each file searched. Each file containing matches has -its path and match count printed on each line. Note that this reports the total -number of individual matches and not the number of lines that match. -.sp -If only one file is given to ripgrep, then only the count is printed if there -is a match. The \fB\-H/\-\-with-filename\fP flag can be used to force printing the -file path in this case. -.sp -This overrides the \fB\-c/\-\-count\fP flag. Note that when \fB\-c/\-\-count\fP is combined -with \fB\-o/\-\-only-matching\fP, then ripgrep behaves as if \fB\-\-count-matches\fP was -given. -.RE -.sp -\fB\-l\fP, \fB\-\-files-with-matches\fP -.RS 4 -Print only the paths with at least one match and suppress match contents. -.sp -This overrides \fB\-\-files-without-match\fP. -.RE -.sp -\fB\-\-files-without-match\fP -.RS 4 -Print the paths that contain zero matches and suppress match contents. -.sp -This overrides \fB\-l/\-\-files-with-matches\fP. -.RE -.sp -\fB\-\-json\fP -.RS 4 -Enable printing results in a JSON Lines format. -.sp -When this flag is provided, ripgrep will emit a sequence of messages, each -encoded as a JSON object, where there are five different message types: -.sp -.TP 12 -\fBbegin\fP -A message that indicates a file is being searched and contains at least one -match. -.TP 12 -\fBend\fP -A message the indicates a file is done being searched. This message also -include summary statistics about the search for a particular file. -.TP 12 -\fBmatch\fP -A message that indicates a match was found. This includes the text and offsets -of the match. -.TP 12 -\fBcontext\fP -A message that indicates a contextual line was found. This includes the text of -the line, along with any match information if the search was inverted. -.TP 12 -\fBsummary\fP -The final message emitted by ripgrep that contains summary statistics about the -search across all files. -.PP -Since file paths or the contents of files are not guaranteed to be valid -UTF-8 and JSON itself must be representable by a Unicode encoding, ripgrep -will emit all data elements as objects with one of two keys: \fBtext\fP or -\fBbytes\fP. \fBtext\fP is a normal JSON string when the data is valid UTF-8 -while \fBbytes\fP is the base64 encoded contents of the data. -.sp -The JSON Lines format is only supported for showing search results. It cannot -be used with other flags that emit other types of output, such as \fB\-\-files\fP, -\fB\-l/\-\-files-with-matches\fP, \fB\-\-files-without-match\fP, \fB\-c/\-\-count\fP or -\fB\-\-count-matches\fP. ripgrep will report an error if any of the aforementioned -flags are used in concert with \fB\-\-json\fP. -.sp -Other flags that control aspects of the standard output such as -\fB\-o/\-\-only-matching\fP, \fB\-\-heading\fP, \fB\-r/\-\-replace\fP, \fB\-M/\-\-max-columns\fP, etc., -have no effect when \fB\-\-json\fP is set. However, enabling JSON output will -always implicitly and unconditionally enable \fB\-\-stats\fP. -.sp -A more complete description of the JSON format used can be found here: -\fIhttps://docs.rs/grep-printer/*/grep_printer/struct.JSON.html\fP. -.sp -This flag can be disabled with \fB\-\-no-json\fP. -.RE - -. -.SS LOGGING OPTIONS -\fB\-\-debug\fP -.RS 4 -Show debug messages. Please use this when filing a bug report. -.sp -The \fB\-\-debug\fP flag is generally useful for figuring out why ripgrep skipped -searching a particular file. The debug messages should mention all files -skipped and why they were skipped. -.sp -To get even more debug output, use the \fB\-\-trace\fP flag, which implies -\fB\-\-debug\fP along with additional trace data. -.RE -.sp -\fB\-\-no-ignore-messages\fP -.RS 4 -When this flag is enabled, all error messages related to parsing ignore files -are suppressed. By default, error messages are printed to stderr. In cases -where these errors are expected, this flag can be used to avoid seeing the -noise produced by the messages. -.sp -This flag can be disabled with \fB\-\-ignore-messages\fP. -.RE -.sp -\fB\-\-no-messages\fP -.RS 4 -This flag suppresses some error messages. Specifically, messages related to -the failed opening and reading of files. Error messages related to the syntax -of the pattern are still shown. -.sp -This flag can be disabled with \fB\-\-messages\fP. -.RE -.sp -\fB\-\-stats\fP -.RS 4 -When enabled, ripgrep will print aggregate statistics about the search. When -this flag is present, ripgrep will print at least the following stats to -stdout at the end of the search: number of matched lines, number of files with -matches, number of files searched, and the time taken for the entire search to -complete. -.sp -This set of aggregate statistics may expand over time. -.sp -This flag is always and implicitly enabled when \fB\-\-json\fP is used. -.sp -Note that this flag has no effect if \fB\-\-files\fP, \fB\-l/\-\-files-with-matches\fP or -\fB\-\-files-without-match\fP is passed. -.sp -This flag can be disabled with \fB\-\-no-stats\fP. -.RE -.sp -\fB\-\-trace\fP -.RS 4 -Show trace messages. This shows even more detail than the \fB\-\-debug\fP -flag. Generally, one should only use this if \fB\-\-debug\fP doesn't emit the -information you're looking for. -.RE - -. -.SS OTHER BEHAVIORS -\fB\-\-files\fP -.RS 4 -Print each file that would be searched without actually performing the search. -This is useful to determine whether a particular file is being searched or not. -.sp -This overrides \fB\-\-type-list\fP. -.RE -.sp -\fB\-\-generate\fP=\fIKIND\fP -.RS 4 -This flag instructs ripgrep to generate some special kind of output identified -by \fIKIND\fP and then quit without searching. \fIKIND\fP can be one of the -following values: -.sp -.TP 15 -\fBman\fP -Generates a manual page for ripgrep in the \fBroff\fP format. -.TP 15 -\fBcomplete\-bash\fP -Generates a completion script for the \fBbash\fP shell. -.TP 15 -\fBcomplete\-zsh\fP -Generates a completion script for the \fBzsh\fP shell. -.TP 15 -\fBcomplete\-fish\fP -Generates a completion script for the \fBfish\fP shell. -.TP 15 -\fBcomplete\-powershell\fP -Generates a completion script for PowerShell. -.PP -The output is written to \fBstdout\fP. The list above may expand over time. -.RE -.sp -\fB\-\-no-config\fP -.RS 4 -When set, ripgrep will never read configuration files. When this flag is -present, ripgrep will not respect the \fBRIPGREP_CONFIG_PATH\fP environment -variable. -.sp -If ripgrep ever grows a feature to automatically read configuration files in -pre-defined locations, then this flag will also disable that behavior as well. -.RE -.sp -\fB\-\-pcre2-version\fP -.RS 4 -When this flag is present, ripgrep will print the version of PCRE2 in use, -along with other information, and then exit. If PCRE2 is not available, then -ripgrep will print an error message and exit with an error code. -.RE -.sp -\fB\-\-type-list\fP -.RS 4 -Show all supported file types and their corresponding globs. This takes any -\fB\-\-type-add\fP and \fB\-\-type-clear\fP flags given into account. Each type is -printed on its own line, followed by a \fB:\fP and then a comma-delimited list -of globs for that type on the same line. -.RE -.sp -\fB\-V\fP, \fB\-\-version\fP -.RS 4 -This flag prints ripgrep's version. This also may print other relevant -information, such as the presence of target specific optimizations and the -\fBgit\fP revision that this build of ripgrep was compiled from. -.RE - -. -. -.SH EXIT STATUS -If ripgrep finds a match, then the exit status of the program is \fB0\fP. -If no match could be found, then the exit status is \fB1\fP. If an error -occurred, then the exit status is always \fB2\fP unless ripgrep was run with -the \fB\-q/\-\-quiet\fP flag and a match was found. In summary: -.sp -.IP \(bu 3n -\fB0\fP exit status occurs only when at least one match was found, and if -no error occurred, unless \fB\-q/\-\-quiet\fP was given. -. -.IP \(bu 3n -\fB1\fP exit status occurs only when no match was found and no error occurred. -. -.IP \(bu 3n -\fB2\fP exit status occurs when an error occurred. This is true for both -catastrophic errors (e.g., a regex syntax error) and for soft errors (e.g., -unable to read a file). -. -. -.SH AUTOMATIC FILTERING -ripgrep does a fair bit of automatic filtering by default. This section -describes that filtering and how to control it. -.sp -\fBTIP\fP: To disable automatic filtering, use \fBrg -uuu\fP. -.sp -ripgrep's automatic "smart" filtering is one of the most apparent -differentiating features between ripgrep and other tools like \fBgrep\fP. As -such, its behavior may be surprising to users that aren't expecting it. -.sp -ripgrep does four types of filtering automatically: -.sp -. -.IP 1. 3n -Files and directories that match ignore rules are not searched. -.IP 2. 3n -Hidden files and directories are not searched. -.IP 3. 3n -Binary files (files with a \fBNUL\fP byte) are not searched. -.IP 4. 3n -Symbolic links are not followed. -.PP -The first type of filtering is the most sophisticated. ripgrep will attempt to -respect your \fBgitignore\fP rules as faithfully as possible. In particular, -this includes the following: -. -.IP \(bu 3n -Any global rules, e.g., in \fB$HOME/.config/git/ignore\fP. -. -.IP \(bu 3n -Any rules in relevant \fB.gitignore\fP files. This includes \fB.gitignore\fP -files in parent directories that are part of the same \fBgit\fP repository. -(Unless \fB\-\-no\-require\-git\fP is given.) -. -.IP \(bu 3n -Any local rules, e.g., in \fB.git/info/exclude\fP. -.PP -In some cases, ripgrep and \fBgit\fP will not always be in sync in terms -of which files are ignored. For example, a file that is ignored via -\fB.gitignore\fP but is tracked by \fBgit\fP would not be searched by ripgrep -even though \fBgit\fP tracks it. This is unlikely to ever be fixed. Instead, -you should either make sure your exclude rules match the files you track -precisely, or otherwise use \fBgit grep\fP for search. -.sp -Additional ignore rules can be provided outside of a \fBgit\fP context: -. -.IP \(bu 3n -Any rules in \fB.ignore\fP. ripgrep will also respect \fB.ignore\fP files in -parent directories. -. -.IP \(bu 3n -Any rules in \fB.rgignore\fP. ripgrep will also respect \fB.rgignore\fP files -in parent directories. -. -.IP \(bu 3n -Any rules in files specified with the \fB\-\-ignore\-file\fP flag. -.PP -The precedence of ignore rules is as follows, with later items overriding -earlier items: -. -.IP \(bu 3n -Files given by \fB\-\-ignore\-file\fP. -. -.IP \(bu 3n -Global gitignore rules, e.g., from \fB$HOME/.config/git/ignore\fP. -. -.IP \(bu 3n -Local rules from \fB.git/info/exclude\fP. -. -.IP \(bu 3n -Rules from \fB.gitignore\fP. -. -.IP \(bu 3n -Rules from \fB.ignore\fP. -. -.IP \(bu 3n -Rules from \fB.rgignore\fP. -.PP -So for example, if \fIfoo\fP were in a \fB.gitignore\fP and \fB!\fP\fIfoo\fP -were in an \fB.rgignore\fP, then \fIfoo\fP would not be ignored since -\fB.rgignore\fP takes precedence over \fB.gitignore\fP. -.sp -Each of the types of filtering can be configured via command line flags: -. -.IP \(bu 3n -There are several flags starting with \fB\-\-no\-ignore\fP that toggle which, -if any, ignore rules are respected. \fB\-\-no\-ignore\fP by itself will disable -all -of them. -. -.IP \(bu 3n -\fB\-./\-\-hidden\fP will force ripgrep to search hidden files and directories. -. -.IP \(bu 3n -\fB\-\-binary\fP will force ripgrep to search binary files. -. -.IP \(bu 3n -\fB\-L/\-\-follow\fP will force ripgrep to follow symlinks. -.PP -As a special short hand, the \fB\-u\fP flag can be specified up to three times. -Each additional time incrementally decreases filtering: -. -.IP \(bu 3n -\fB\-u\fP is equivalent to \fB\-\-no\-ignore\fP. -. -.IP \(bu 3n -\fB\-uu\fP is equivalent to \fB\-\-no\-ignore \-\-hidden\fP. -. -.IP \(bu 3n -\fB\-uuu\fP is equivalent to \fB\-\-no\-ignore \-\-hidden \-\-binary\fP. -.PP -In particular, \fBrg -uuu\fP should search the same exact content as \fBgrep --r\fP. -. -. -.SH CONFIGURATION FILES -ripgrep supports reading configuration files that change ripgrep's default -behavior. The format of the configuration file is an "rc" style and is very -simple. It is defined by two rules: -. -.IP 1. 3n -Every line is a shell argument, after trimming whitespace. -. -.IP 2. 3n -Lines starting with \fB#\fP (optionally preceded by any amount of whitespace) -are ignored. -.PP -ripgrep will look for a single configuration file if and only if the -\fBRIPGREP_CONFIG_PATH\fP environment variable is set and is non-empty. -ripgrep will parse arguments from this file on startup and will behave as if -the arguments in this file were prepended to any explicit arguments given to -ripgrep on the command line. Note though that the \fBrg\fP command you run -must still be valid. That is, it must always contain at least one pattern at -the command line, even if the configuration file uses the \fB\-e/\-\-regexp\fP -flag. -.sp -For example, if your ripgreprc file contained a single line: -.sp -.EX - \-\-smart\-case -.EE -.sp -then the following command -.sp -.EX - RIPGREP_CONFIG_PATH=wherever/.ripgreprc rg foo -.EE -.sp -would behave identically to the following command: -.sp -.EX - rg \-\-smart-case foo -.EE -.sp -Another example is adding types, like so: -.sp -.EX - \-\-type-add - web:*.{html,css,js}* -.EE -.sp -The above would behave identically to the following command: -.sp -.EX - rg \-\-type\-add 'web:*.{html,css,js}*' foo -.EE -.sp -The same applies to using globs. This: -.sp -.EX - \-\-glob=!.git -.EE -.sp -or this: -.sp -.EX - \-\-glob - !.git -.EE -.sp -would behave identically to the following command: -.sp -.EX - rg \-\-glob '!.git' foo -.EE -.sp -The bottom line is that every shell argument needs to be on its own line. So -for example, a config file containing -.sp -.EX - \-j 4 -.EE -.sp -is probably not doing what you intend. Instead, you want -.sp -.EX - \-j - 4 -.EE -.sp -or -.sp -.EX - \-j4 -.EE -.sp -ripgrep also provides a flag, \fB\-\-no\-config\fP, that when present will -suppress any and all support for configuration. This includes any future -support for auto-loading configuration files from pre-determined paths. -.sp -Conflicts between configuration files and explicit arguments are handled -exactly like conflicts in the same command line invocation. That is, assuming -your config file contains only \fB\-\-smart\-case\fP, then this command: -.sp -.EX - RIPGREP_CONFIG_PATH=wherever/.ripgreprc rg foo \-\-case\-sensitive -.EE -.sp -is exactly equivalent to -.sp -.EX - rg \-\-smart\-case foo \-\-case\-sensitive -.EE -.sp -in which case, the \fB\-\-case\-sensitive\fP flag would override the -\fB\-\-smart\-case\fP flag. -. -. -.SH SHELL COMPLETION -Shell completion files are included in the release tarball for Bash, Fish, Zsh -and PowerShell. -.sp -For \fBbash\fP, move \fBrg.bash\fP to \fB$XDG_CONFIG_HOME/bash_completion\fP or -\fB/etc/bash_completion.d/\fP. -.sp -For \fBfish\fP, move \fBrg.fish\fP to \fB$HOME/.config/fish/completions\fP. -.sp -For \fBzsh\fP, move \fB_rg\fP to one of your \fB$fpath\fP directories. -. -. -.SH CAVEATS -ripgrep may abort unexpectedly when using default settings if it searches a -file that is simultaneously truncated. This behavior can be avoided by passing -the \fB\-\-no\-mmap\fP flag which will forcefully disable the use of memory -maps in all cases. -.sp -ripgrep may use a large amount of memory depending on a few factors. Firstly, -if ripgrep uses parallelism for search (the default), then the entire -output for each individual file is buffered into memory in order to prevent -interleaving matches in the output. To avoid this, you can disable parallelism -with the \fB\-j1\fP flag. Secondly, ripgrep always needs to have at least a -single line in memory in order to execute a search. A file with a very long -line can thus cause ripgrep to use a lot of memory. Generally, this only occurs -when searching binary data with the \fB\-a/\-\-text\fP flag enabled. (When the -\fB\-a/\-\-text\fP flag isn't enabled, ripgrep will replace all NUL bytes with -line terminators, which typically prevents exorbitant memory usage.) Thirdly, -when ripgrep searches a large file using a memory map, the process will likely -report its resident memory usage as the size of the file. However, this does -not mean ripgrep actually needed to use that much heap memory; the operating -system will generally handle this for you. -. -. -.SH VERSION -14.1.1 -. -. -.SH HOMEPAGE -\fIhttps://github.com/BurntSushi/ripgrep\fP -.sp -Please report bugs and feature requests to the issue tracker. Please do your -best to provide a reproducible test case for bugs. This should include the -corpus being searched, the \fBrg\fP command, the actual output and the expected -output. Please also include the output of running the same \fBrg\fP command but -with the \fB\-\-debug\fP flag. -.sp -If you have questions that don't obviously fall into the "bug" or "feature -request" category, then they are welcome in the Discussions section of the -issue tracker: \fIhttps://github.com/BurntSushi/ripgrep/discussions\fP. -. -. -.SH AUTHORS -Andrew Gallant <\fIjamslam@gmail.com\fP> diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/scalar.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/scalar.1.gz deleted file mode 100644 index 70063b4f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/scalar.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/tmux.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/tmux.1.gz deleted file mode 100644 index 55410e32..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/tmux.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-cli.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-cli.1.gz deleted file mode 100644 index 1c7419d5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-cli.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-create.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-create.1.gz deleted file mode 100644 index 0571b15c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-create.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-daemon.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-daemon.1.gz deleted file mode 100644 index 45e1625d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-daemon.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-edit.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-edit.1.gz deleted file mode 100644 index 76d48f05..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-edit.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-gtk.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-gtk.1.gz deleted file mode 100644 index 4a5674e5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-gtk.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-remote.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-remote.1.gz deleted file mode 100644 index ee21056f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-remote.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-show.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-show.1.gz deleted file mode 100644 index 96001c17..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/transmission-show.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/tree.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/tree.1.gz deleted file mode 100644 index 3a46c547..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/tree.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/wcurl.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/wcurl.1.gz deleted file mode 100644 index ab04fea2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/wcurl.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/wget.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/wget.1.gz deleted file mode 100644 index 36ea0f01..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/wget.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/whatis.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/whatis.1.gz deleted file mode 100644 index c76d3b38..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/whatis.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/yt-dlp.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/yt-dlp.1.gz deleted file mode 100644 index adee438f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/yt-dlp.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsh.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsh.1.gz deleted file mode 100644 index b84cf224..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsh.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshall.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshall.1.gz deleted file mode 100644 index f324e36f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshall.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshbuiltins.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshbuiltins.1.gz deleted file mode 100644 index ff24f4bc..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshbuiltins.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcalsys.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcalsys.1.gz deleted file mode 100644 index 1bbb65ea..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcalsys.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompctl.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompctl.1.gz deleted file mode 100644 index d4f2fa68..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompctl.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompsys.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompsys.1.gz deleted file mode 100644 index 75531b40..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompsys.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompwid.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompwid.1.gz deleted file mode 100644 index 64101c99..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcompwid.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcontrib.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcontrib.1.gz deleted file mode 100644 index 24b0d344..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshcontrib.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshexpn.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshexpn.1.gz deleted file mode 100644 index 209e42d3..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshexpn.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmisc.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmisc.1.gz deleted file mode 100644 index 55c492e4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmisc.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmodules.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmodules.1.gz deleted file mode 100644 index f8917be2..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshmodules.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshoptions.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshoptions.1.gz deleted file mode 100644 index ab89b7b0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshoptions.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshparam.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshparam.1.gz deleted file mode 100644 index 15e1128b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshparam.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshroadmap.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshroadmap.1.gz deleted file mode 100644 index 14c3217f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshroadmap.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshtcpsys.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshtcpsys.1.gz deleted file mode 100644 index c4b7a069..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshtcpsys.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzftpsys.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzftpsys.1.gz deleted file mode 100644 index 209510ad..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzftpsys.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzle.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzle.1.gz deleted file mode 100644 index 1dfb97e5..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zshzle.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsoelim.1.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsoelim.1.gz deleted file mode 100644 index 7e9c2ff6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man1/zsoelim.1.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavcodec.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavcodec.3.gz deleted file mode 100644 index dfefbb87..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavcodec.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavdevice.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavdevice.3.gz deleted file mode 100644 index cbd5d3ed..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavdevice.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavfilter.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavfilter.3.gz deleted file mode 100644 index 0eaea154..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavfilter.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavformat.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavformat.3.gz deleted file mode 100644 index 112483a6..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavformat.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavutil.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavutil.3.gz deleted file mode 100644 index f46c3a17..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libavutil.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswresample.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswresample.3.gz deleted file mode 100644 index 5634a5fa..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswresample.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswscale.3.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswscale.3.gz deleted file mode 100644 index 54b6083e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man3/libswscale.3.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors-explanation.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors-explanation.5.gz deleted file mode 100644 index 650d8a48..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors-explanation.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors.5.gz deleted file mode 100644 index 9d1440d0..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/eza_colors.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/git-lfs-config.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/git-lfs-config.5.gz deleted file mode 100644 index f06bd98e..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/git-lfs-config.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitattributes.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitattributes.5.gz deleted file mode 100644 index ccd69935..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitattributes.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-bundle.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-bundle.5.gz deleted file mode 100644 index f02a53a9..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-bundle.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-chunk.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-chunk.5.gz deleted file mode 100644 index e8519420..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-chunk.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-commit-graph.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-commit-graph.5.gz deleted file mode 100644 index dc7e1389..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-commit-graph.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-index.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-index.5.gz deleted file mode 100644 index 85ebf374..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-index.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-pack.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-pack.5.gz deleted file mode 100644 index 2523a01d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-pack.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-signature.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-signature.5.gz deleted file mode 100644 index 958eff99..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitformat-signature.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/githooks.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/githooks.5.gz deleted file mode 100644 index ab212609..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/githooks.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitignore.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitignore.5.gz deleted file mode 100644 index e5ef2132..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitignore.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmailmap.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmailmap.5.gz deleted file mode 100644 index f9f7c3d8..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmailmap.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmodules.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmodules.5.gz deleted file mode 100644 index 5c7580f4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitmodules.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-capabilities.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-capabilities.5.gz deleted file mode 100644 index cc416d8c..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-capabilities.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-common.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-common.5.gz deleted file mode 100644 index d16e3c85..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-common.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-http.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-http.5.gz deleted file mode 100644 index 3093790a..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-http.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-pack.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-pack.5.gz deleted file mode 100644 index a5627146..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-pack.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-v2.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-v2.5.gz deleted file mode 100644 index e76a0f8f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitprotocol-v2.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitrepository-layout.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitrepository-layout.5.gz deleted file mode 100644 index 8b038202..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitrepository-layout.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitweb.conf.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitweb.conf.5.gz deleted file mode 100644 index 39925459..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/gitweb.conf.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/home-configuration.nix.5 b/result/etc/profiles/per-user/bdsqqq/share/man/man5/home-configuration.nix.5 deleted file mode 100644 index 8d22fbf6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/man/man5/home-configuration.nix.5 +++ /dev/null @@ -1,78715 +0,0 @@ -.TH "HOME-CONFIGURATION\&.NIX" "5" "01/01/1980" "Home Manager" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" enable line breaks after slashes -.cflags 4 / -.SH "NAME" -\fIhome\-configuration\&.nix\fP \- Home Manager configuration specification -.SH "DESCRIPTION" -.sp -The file ~/\&.config/home\-manager/home\&.nix contains the declarative specification of your Home Manager configuration\&. The command \fBhome\-manager\fR takes this file and realises the user environment configuration specified therein\&. -.SH "OPTIONS" -.PP -You can use the following options in -home\-configuration\&.nix: -.PP -.PP -\fB_module\&.args\fR -.RS 4 -Additional arguments passed to each module in addition to ones like \fR\(oqlib\(cq\fP, \fR\(oqconfig\(cq\fP, and \fR\(oqpkgs\(cq\fP, \fR\(oqmodulesPath\(cq\fP\&. -.sp -This option is also available to all submodules\&. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules\&. The sole exception to this is the argument \fR\(oqname\(cq\fP which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute\&. -.sp -Some arguments are already passed by default, of which the following \fIcannot\fR be changed with this option: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIlib\fP: The nixpkgs library\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIconfig\fP: The results of all options after merging the values from all modules together\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIoptions\fP: The options declared in all modules\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIspecialArgs\fP: The \fR\(oqspecialArgs\(cq\fP argument passed to \fR\(oqevalModules\(cq\fP\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -All attributes of \fIspecialArgs\fP -.sp -Whereas option values can generally depend on other option values thanks to laziness, this does not apply to \fR\(oqimports\(cq\fP, which must be computed statically before anything else\&. -.sp -For this reason, callers of the module system can provide \fR\(oqspecialArgs\(cq\fP which are available during import resolution\&. -.sp -For NixOS, \fR\(oqspecialArgs\(cq\fP includes \fImodulesPath\fP, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the \fR\(oqnixpkgs\(cq\fP or NixOS directories\&. -.sp -.RS 4 -.nf -{ modulesPath, \&.\&.\&. }: { - imports = [ - (modulesPath + \(dq/profiles/minimal\&.nix\(dq) - ]; -} -.fi -.RE -.RE -.sp -For NixOS, the default value for this option includes at least this argument: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIpkgs\fP: The nixpkgs package set according to the \fBnixpkgs\&.pkgs\fP option\&. -.RE -.sp -\fIType:\fR lazy attribute set of raw value -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nixpkgs/lib/modules\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\fR -.RS 4 -List of calendars\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.enable\fR -.RS 4 -Whether to enable khal access\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.addresses\fR -.RS 4 -Email addresses to be associated with this account\&. Used to check the participation status (\[u201C]PARTSTAT\[u201D]), refer to khal documentation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.color\fR -.RS 4 -Color in which events in this calendar are displayed\&. For instance \[u2018]light green\[u2019] or an RGB color \[u2018]#ff0000\[u2019] -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlight green\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.glob\fR -.RS 4 -The glob expansion to be searched for events or birthdays when type is set to discover\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.priority\fR -.RS 4 -Priority of a calendar used for coloring (calendar with highest priority is preferred)\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.readOnly\fR -.RS 4 -Keep khal from making any changes to this account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.khal\&.type\fR -.RS 4 -Either a single calendar (calendar which is the default) or a directory with multiple calendars (discover)\&. -.sp -\fIType:\fR one of \[u201C]calendar\[u201D], \[u201C]discover\[u201D] -.sp -\fIDefault:\fR \(dqcalendar\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.local\fR -.RS 4 -Local configuration for the calendar\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.local\&.encoding\fR -.RS 4 -File encoding for items, both content and file name\&. Defaults to UTF\-8\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.local\&.fileExt\fR -.RS 4 -The file extension to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dq\&.ics\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.local\&.path\fR -.RS 4 -The path of the storage\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \[u2039]accounts\&.calendar\&.basePath\[u203A]/\[u2039]name\[u203A] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.local\&.type\fR -.RS 4 -The type of the storage\&. -.sp -\fIType:\fR one of \[u201C]filesystem\[u201D], \[u201C]singlefile\[u201D] -.sp -\fIDefault:\fR \(dqfilesystem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.name\fR -.RS 4 -Unique identifier of the calendar\&. This is set to the attribute name of the calendar configuration\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.primary\fR -.RS 4 -Whether this is the primary account\&. Only one account may be set as primary\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.primaryCollection\fR -.RS 4 -The primary collection of the account\&. Required when an account has multiple collections\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.qcal\&.enable\fR -.RS 4 -Whether to enable qcal access\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.remote\fR -.RS 4 -Remote configuration for the calendar\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.remote\&.passwordCommand\fR -.RS 4 -A command that prints the password to standard output\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqcaldav\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.remote\&.type\fR -.RS 4 -The type of the storage\&. -.sp -\fIType:\fR one of \[u201C]caldav\[u201D], \[u201C]http\[u201D], \[u201C]google_calendar\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.remote\&.url\fR -.RS 4 -The URL of the storage\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.remote\&.userName\fR -.RS 4 -User name for authentication\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.thunderbird\&.enable\fR -.RS 4 -Whether to enable the Thunderbird mail client for this account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.thunderbird\&.color\fR -.RS 4 -Display color of the calendar in hex -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq#dc8add\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.thunderbird\&.profiles\fR -.RS 4 -List of Thunderbird profiles for which this account should be enabled\&. If this list is empty (the default), this account will be enabled for all declared profiles\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(dqprofile1\(dq \(dqprofile2\(dq ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.thunderbird\&.readOnly\fR -.RS 4 -Mark calendar as read only -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.enable\fR -.RS 4 -Whether to enable synchronization using vdirsyncer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.auth\fR -.RS 4 -Authentication settings\&. The default is \fR\(oqbasic\(cq\fP\&. -.sp -\fIType:\fR null or one of \[u201C]basic\[u201D], \[u201C]digest\[u201D], \[u201C]guess\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.authCert\fR -.RS 4 -Either a path to a certificate with a client certificate and the key or a list of paths to the files with them\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.clientIdCommand\fR -.RS 4 -A command that prints the OAuth credentials to standard output\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqclient_id\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.clientSecretCommand\fR -.RS 4 -A command that prints the OAuth credentials to standard output\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqclient_secret\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.collections\fR -.RS 4 -The collections to synchronize between the storages\&. -.sp -\fIType:\fR null or (list of (string or list of string)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.conflictResolution\fR -.RS 4 -What to do in case of a conflict between the storages\&. Either \fR\(oqremote wins\(cq\fP or \fR\(oqlocal wins\(cq\fP or a list that contains a command to run\&. By default, an error message is printed\&. -.sp -\fIType:\fR null or one of \[u201C]remote wins\[u201D], \[u201C]local wins\[u201D] or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.itemTypes\fR -.RS 4 -Kinds of items to show\&. The default is to show everything\&. This depends on particular features of the server, the results are not validated\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.metadata\fR -.RS 4 -Metadata keys that should be synchronized when vdirsyncer metasync is executed\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqcolor\(dq - \(dqdisplayname\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.partialSync\fR -.RS 4 -What should happen if synchronization in one direction is impossible due to one storage being read\-only\&. Defaults to \fR\(oqrevert\(cq\fP\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#pair\-section\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or one of \[u201C]revert\[u201D], \[u201C]error\[u201D], \[u201C]ignore\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#pair\-section -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.postHook\fR -.RS 4 -Command to call for each item creation and modification\&. The command will be called with the path of the new/updated file\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\fR -.RS 4 -A time range to synchronize\&. start and end can be any Python expression that returns a \fR\(oqdatetime\&.datetime\(cq\fP object\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - end = \(dqdatetime\&.now() + timedelta(days=365)\(dq; - start = \(dqdatetime\&.now() \- timedelta(days=365)\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\&.end\fR -.RS 4 -End of time range to show\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\&.start\fR -.RS 4 -Start of time range to show\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.tokenFile\fR -.RS 4 -A file path where access tokens are stored\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.urlCommand\fR -.RS 4 -A command that prints the URL of the storage\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/get\-url\&.sh\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.userAgent\fR -.RS 4 -The user agent to report to the server\&. Defaults to \fR\(oqvdirsyncer\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.userNameCommand\fR -.RS 4 -A command that prints the user name to standard output\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/get\-username\&.sh\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.verify\fR -.RS 4 -Null or path to certificate to verify SSL against -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/path/to/cert\&.pem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.calendar\&.accounts\&.<name>\&.vdirsyncer\&.verifyFingerprint\fR -.RS 4 -Optional\&. SHA1 or MD5 fingerprint of the expected server certificate\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/ssl\-tutorial\&.html#ssl\-tutorial\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/ssl\-tutorial\&.html#ssl\-tutorial -.RE -.RE -.PP -\fBaccounts\&.calendar\&.basePath\fR -.RS 4 -The base directory in which to save calendars\&. May be a relative path, in which case it is relative the home directory\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq\&.calendar\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/calendar\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\fR -.RS 4 -List of contacts\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.enable\fR -.RS 4 -Whether to enable khal access\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.addresses\fR -.RS 4 -Email addresses to be associated with this account\&. Used to check the participation status (\[u201C]PARTSTAT\[u201D]), refer to khal documentation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.collections\fR -.RS 4 -VCARD collections to be searched for contact birthdays\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.color\fR -.RS 4 -Color in which events in this calendar are displayed\&. For instance \[u2018]light green\[u2019] or an RGB color \[u2018]#ff0000\[u2019] -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlight green\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.priority\fR -.RS 4 -Priority of a calendar used for coloring (calendar with highest priority is preferred)\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khal\&.readOnly\fR -.RS 4 -Keep khal from making any changes to this account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khard\&.enable\fR -.RS 4 -Whether to enable khard access\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.khard\&.addressbooks\fR -.RS 4 -If provided, each item on this list will generate an entry on khard configuration file as a separate addressbook (vdir)\&. -.sp -This is used for hardcoding sub\-directories under the local storage path (accounts\&.contact\&.accounts\&.<name>\&.local\&.path) for khard\&. The default value will set the aforementioned path as a single vdir\&. -.sp -\fIType:\fR (list of string) or string convertible to it -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.local\fR -.RS 4 -Local configuration for the contacts\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.local\&.encoding\fR -.RS 4 -File encoding for items, both content and file name\&. Defaults to UTF\-8\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.local\&.fileExt\fR -.RS 4 -The file extension to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dq\&.vcf\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.local\&.path\fR -.RS 4 -The path of the storage\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \[u2039]accounts\&.contact\&.basePath\[u203A]/\[u2039]name\[u203A] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.local\&.type\fR -.RS 4 -The type of the storage\&. -.sp -\fIType:\fR one of \[u201C]filesystem\[u201D], \[u201C]singlefile\[u201D] -.sp -\fIDefault:\fR \(dqfilesystem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.name\fR -.RS 4 -Unique identifier of the contact account\&. This is set to the attribute name of the contact configuration\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.remote\fR -.RS 4 -Remote configuration for the contacts\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.remote\&.passwordCommand\fR -.RS 4 -A command that prints the password to standard output\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqcaldav\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.remote\&.type\fR -.RS 4 -The type of the storage\&. -.sp -\fIType:\fR one of \[u201C]carddav\[u201D], \[u201C]http\[u201D], \[u201C]google_contacts\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.remote\&.url\fR -.RS 4 -The URL of the storage\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.remote\&.userName\fR -.RS 4 -User name for authentication\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.enable\fR -.RS 4 -Whether to enable synchronization using vdirsyncer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.auth\fR -.RS 4 -Authentication settings\&. The default is \fR\(oqbasic\(cq\fP\&. -.sp -\fIType:\fR null or one of \[u201C]basic\[u201D], \[u201C]digest\[u201D], \[u201C]guess\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.authCert\fR -.RS 4 -Either a path to a certificate with a client certificate and the key or a list of paths to the files with them\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.clientIdCommand\fR -.RS 4 -A command that prints the OAuth credentials to standard output\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqclient_id\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.clientSecretCommand\fR -.RS 4 -A command that prints the OAuth credentials to standard output\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpass\(dq - \(dqclient_secret\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#google -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.collections\fR -.RS 4 -The collections to synchronize between the storages\&. -.sp -\fIType:\fR null or (list of (string or list of string)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.conflictResolution\fR -.RS 4 -What to do in case of a conflict between the storages\&. Either \fR\(oqremote wins\(cq\fP or \fR\(oqlocal wins\(cq\fP or a list that contains a command to run\&. By default, an error message is printed\&. -.sp -\fIType:\fR null or one of \[u201C]remote wins\[u201D], \[u201C]local wins\[u201D] or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.itemTypes\fR -.RS 4 -Kinds of items to show\&. The default is to show everything\&. This depends on particular features of the server, the results are not validated\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.metadata\fR -.RS 4 -Metadata keys that should be synchronized when vdirsyncer metasync is executed\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqcolor\(dq - \(dqdisplayname\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.partialSync\fR -.RS 4 -What should happen if synchronization in one direction is impossible due to one storage being read\-only\&. Defaults to \fR\(oqrevert\(cq\fP\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#pair\-section\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or one of \[u201C]revert\[u201D], \[u201C]error\[u201D], \[u201C]ignore\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#pair\-section -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.postHook\fR -.RS 4 -Command to call for each item creation and modification\&. The command will be called with the path of the new/updated file\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\fR -.RS 4 -A time range to synchronize\&. start and end can be any Python expression that returns a \fR\(oqdatetime\&.datetime\(cq\fP object\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - end = \(dqdatetime\&.now() + timedelta(days=365)\(dq; - start = \(dqdatetime\&.now() \- timedelta(days=365)\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\&.end\fR -.RS 4 -End of time range to show\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.timeRange\&.start\fR -.RS 4 -Start of time range to show\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.tokenFile\fR -.RS 4 -A file path where access tokens are stored\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.urlCommand\fR -.RS 4 -A command that prints the URL of the storage\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/get\-url\&.sh\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.userAgent\fR -.RS 4 -The user agent to report to the server\&. Defaults to \fR\(oqvdirsyncer\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.userNameCommand\fR -.RS 4 -A command that prints the user name to standard output\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/get\-username\&.sh\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.verify\fR -.RS 4 -Null or path to certificate to verify SSL against -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/path/to/cert\&.pem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.contact\&.accounts\&.<name>\&.vdirsyncer\&.verifyFingerprint\fR -.RS 4 -Optional\&. SHA1 or MD5 fingerprint of the expected server certificate\&. -.sp -See \fBhttps://vdirsyncer\&.pimutils\&.org/en/stable/ssl\-tutorial\&.html#ssl\-tutorial\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/ssl\-tutorial\&.html#ssl\-tutorial -.RE -.RE -.PP -\fBaccounts\&.contact\&.basePath\fR -.RS 4 -The base directory in which to save contacts\&. May be a relative path, in which case it is relative the home directory\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/contacts\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\fR -.RS 4 -List of email accounts\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/mu\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.address\fR -.RS 4 -The email address of this account\&. -.sp -\fIType:\fR string matching the pattern \&.*@\&.* -.sp -\fIExample:\fR \(dqjane\&.doe@example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.enable\fR -.RS 4 -Whether to enable aerc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.extraAccounts\fR -.RS 4 -Extra config added to the configuration section for this account in \fI$HOME/\&.config/aerc/accounts\&.conf\fP\&. See \fBaerc\-accounts\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { source = \(dqmaildir://\(ti/Maildir/example\(dq; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.extraBinds\fR -.RS 4 -Extra bindings specific to this account, added to \fI$HOME/\&.config/aerc/binds\&.conf\fP\&. See \fBaerc\-binds\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { messages = { d = \(dq:move ${folder\&.trash}<Enter>\(dq; }; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.extraConfig\fR -.RS 4 -Config specific to this account, added to \fI$HOME/\&.config/aerc/aerc\&.conf\fP\&. Aerc only supports per\-account UI configuration\&. For other sections of \fI$HOME/\&.config/aerc/aerc\&.conf\fP, use \fR\(oqprograms\&.aerc\&.extraConfig\(cq\fP\&. See \fBaerc\-config\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { ui = { sidebar\-width = 25; }; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapAuth\fR -.RS 4 -Sets the authentication mechanism if imap is used as the incoming method\&. See \fBaerc\-imap\fP\fR(5)\fP\&. -.sp -\fIType:\fR null or one of \[u201C]oauthbearer\[u201D], \[u201C]xoauth2\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqauth\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapOauth2Params\fR -.RS 4 -Sets the oauth2 params if authentication mechanism oauthbearer or xoauth2 is used\&. See \fBaerc\-imap\fP\fR(5)\fP\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - token_endpoint = \(dq<token_endpoint>\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapOauth2Params\&.client_id\fR -.RS 4 -The OAuth2 client identifier\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapOauth2Params\&.client_secret\fR -.RS 4 -The OAuth2 client secret\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapOauth2Params\&.scope\fR -.RS 4 -The OAuth2 requested scope\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.imapOauth2Params\&.token_endpoint\fR -.RS 4 -The OAuth2 token endpoint\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpAuth\fR -.RS 4 -Sets the authentication mechanism if smtp is used as the outgoing method\&. See \fBaerc\-smtp\fP\fR(5)\fP\&. -.sp -\fIType:\fR null or one of \[u201C]none\[u201D], \[u201C]plain\[u201D], \[u201C]login\[u201D], \[u201C]oauthbearer\[u201D], \[u201C]xoauth2\[u201D] -.sp -\fIDefault:\fR \(dqplain\(dq -.sp -\fIExample:\fR \(dqauth\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpOauth2Params\fR -.RS 4 -Sets the oauth2 params if authentication mechanism oauthbearer or xoauth2 is used\&. See \fBaerc\-imap\fP\fR(5)\fP\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - token_endpoint = \(dq<token_endpoint>\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpOauth2Params\&.client_id\fR -.RS 4 -The OAuth2 client identifier\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpOauth2Params\&.client_secret\fR -.RS 4 -The OAuth2 client secret\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpOauth2Params\&.scope\fR -.RS 4 -The OAuth2 requested scope\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aerc\&.smtpOauth2Params\&.token_endpoint\fR -.RS 4 -The OAuth2 token endpoint\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.aliases\fR -.RS 4 -Alternative identities of this account\&. -.sp -\fIType:\fR list of (string matching the pattern \&.*@\&.* or (submodule)) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwebmaster@example\&.org\(dq - \(dqadmin@example\&.org\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.alot\&.contactCompletion\fR -.RS 4 -Contact completion configuration as expected per alot\&. See \fBalot\[u2019]s wiki\fR[1]\fR for explanation about possible values\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - command = \(dq\(aq\e${pkgs\&.notmuch}/bin/notmuch address \-\-format=json \-\-output=recipients date:6M\&.\&.\(aq\(dq; - regexp = \(dq\(aq\e\e[?{\e\(dqname\e\(dq: \e\(dq(?P<name>\&.*)\e\(dq, \e\(dqaddress\e\(dq: \e\(dq(?P<email>\&.+)\e\(dq, \e\(dqname\-addr\e\(dq: \e\(dq\&.*\e\(dq}[,\e\e]]?\(aq\(dq; - shellcommand_external_filtering = \(dqFalse\(dq; - type = \(dqshellcommand\(dq; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - type = \(dqshellcommand\(dq; - command = \(dqabook \-\-mutt\-query\(dq; - regexp = \(dq\(aq\(ha(?P<email>[\(ha@]+@[\(ha\et]+)\et+(?P<name>[\(ha\et]+)\(aq\(dq; - ignorecase = \(dqTrue\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -http://alot\&.readthedocs\&.io/en/latest/configuration/contacts_completion\&.html -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.alot\&.extraConfig\fR -.RS 4 -Extra settings to add to this Alot account configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.alot\&.sendMailCommand\fR -.RS 4 -Command to send a mail\&. If msmtp is enabled for the account, then this is set to \fBmsmtpq \-\-read\-envelope\-from \-\-read\-recipients\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.astroid\&.enable\fR -.RS 4 -Whether to enable Astroid\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.astroid\&.extraConfig\fR -.RS 4 -Extra settings to add to this astroid account configuration\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - select_query = \(dq\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.astroid\&.sendMailCommand\fR -.RS 4 -Command to send a mail\&. If msmtp is enabled for the account, then this is set to \fBmsmtpq \-\-read\-envelope\-from \-\-read\-recipients\fP\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.flavor\fR -.RS 4 -Some email providers have peculiar behavior that require special treatment\&. This option is therefore intended to indicate the nature of the provider\&. -.sp -When this indicates a specific provider then, for example, the IMAP, SMTP, and JMAP server configuration may be set automatically\&. -.sp -\fIType:\fR one of \[u201C]plain\[u201D], \[u201C]gmail\&.com\[u201D], \[u201C]runbox\&.com\[u201D], \[u201C]fastmail\&.com\[u201D], \[u201C]yandex\&.com\[u201D], \[u201C]outlook\&.office365\&.com\[u201D], \[u201C]migadu\&.com\[u201D] -.sp -\fIDefault:\fR \(dqplain\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.folders\fR -.RS 4 -Standard email folders\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.folders\&.drafts\fR -.RS 4 -Relative path of the drafts mail folder\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqDrafts\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.folders\&.inbox\fR -.RS 4 -Relative path of the inbox mail\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqInbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.folders\&.sent\fR -.RS 4 -Relative path of the sent mail folder\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqSent\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.folders\&.trash\fR -.RS 4 -Relative path of the deleted mail folder\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqTrash\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.getmail\&.enable\fR -.RS 4 -Whether to enable the getmail mail retriever for this account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.getmail\&.delete\fR -.RS 4 -Enable if you want to delete read messages from the server\&. Most users should either enable \fR\(oqdelete\(cq\fP or disable \fR\(oqreadAll\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.getmail\&.destinationCommand\fR -.RS 4 -Specify a command delivering the incoming mail to your maildir\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\e${pkgs\&.maildrop}/bin/maildrop\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.getmail\&.mailboxes\fR -.RS 4 -A non\-empty list of mailboxes\&. To download all mail you can use the \fR\(oqALL\(cq\fP mailbox\&. -.sp -\fIType:\fR non\-empty (list of string) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqINBOX\(dq - \(dqINBOX\&.spam\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.getmail\&.readAll\fR -.RS 4 -Enable if you want to fetch all, even the read messages from the server\&. Most users should either enable \fR\(oqdelete\(cq\fP or disable \fR\(oqreadAll\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/getmail\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.gpg\fR -.RS 4 -GPG configuration\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.gpg\&.encryptByDefault\fR -.RS 4 -Encrypt outgoing messages by default\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.gpg\&.key\fR -.RS 4 -The key to use as listed in \fBgpg \-\-list\-keys\fP\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.gpg\&.signByDefault\fR -.RS 4 -Sign messages by default\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.himalaya\&.enable\fR -.RS 4 -Whether to enable the email client Himalaya CLI for this email account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.himalaya\&.settings\fR -.RS 4 -Himalaya CLI configuration for this email account\&. See \fBhttps://github\&.com/pimalaya/himalaya/blob/master/config\&.sample\&.toml\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/pimalaya/himalaya/blob/master/config\&.sample\&.toml -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\fR -.RS 4 -The IMAP configuration to use for this account\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.host\fR -.RS 4 -Hostname of IMAP server\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqimap\&.example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.port\fR -.RS 4 -The port on which the IMAP server listens\&. If \fR\(oqnull\(cq\fP then the default port is used\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 993 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.tls\fR -.RS 4 -Configuration for secure connections\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.tls\&.enable\fR -.RS 4 -Whether to enable TLS/SSL\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.tls\&.certificatesFile\fR -.RS 4 -Path to file containing certificate authorities that should be used to validate the connection authenticity\&. If \fR\(oqnull\(cq\fP then the system default is used\&. Note, if set then the system default may still be accepted\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dqconfig\&.accounts\&.email\&.certificatesFile\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imap\&.tls\&.useStartTls\fR -.RS 4 -Whether to use STARTTLS\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.enable\fR -.RS 4 -Whether to enable imapnotify\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.boxes\fR -.RS 4 -IMAP folders to watch\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqInbox\(dq - \(dq[Gmail]/MyLabel\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.extraArgs\fR -.RS 4 -Extra arguments to pass to goimapnotify\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-wait 1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.extraConfig\fR -.RS 4 -Additional configuration to add for this account\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.onNotify\fR -.RS 4 -Shell commands to run on any event\&. -.sp -\fIType:\fR string or attribute set of string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq\e${pkgs\&.isync}/bin/mbsync test\-%s\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.imapnotify\&.onNotifyPost\fR -.RS 4 -Shell commands to run after onNotify event\&. -.sp -\fIType:\fR string or attribute set of string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - mail = \(dq\e${pkgs\&.notmuch}/bin/notmuch new && \e${pkgs\&.libnotify}/bin/notify\-send \(aqNew mail arrived\(aq\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.jmap\fR -.RS 4 -The JMAP configuration to use for this account\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.host\fR -.RS 4 -Hostname of JMAP server\&. -.sp -If both this option and \fBaccounts.email.accounts.<name>.jmap.sessionUrl\fR[1]\fR are specified, \fR\(oqhost\(cq\fP is preferred by applications when establishing a session\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqjmap\&.example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.sessionUrl\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.sessionUrl\fR -.RS 4 -URL for the JMAP Session resource\&. -.sp -If both this option and \fBaccounts.email.accounts.<name>.jmap.host\fR[1]\fR are specified, \fR\(oqhost\(cq\fP is preferred by applications when establishing a session\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttps://jmap\&.example\&.org:443/\&.well\-known/jmap\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.host\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.enable\fR -.RS 4 -Whether to enable lieer Gmail synchronization for notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.notmuchSetupWarning\fR -.RS 4 -Warn if Notmuch is not also enabled for this account\&. -.sp -This can safely be disabled if \fBnotmuch init\fP has been used to configure this account outside of Home Manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\fR -.RS 4 -Settings which are applied to \fI\&.gmailieer\&.json\fP for the account\&. -.sp -See the \fBlieer manual\fR[1]\fR for documentation of settings not explicitly covered by this module\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/gauteh/lieer/ -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.drop_non_existing_label\fR -.RS 4 -Allow missing labels on the Gmail side to be dropped\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.file_extension\fR -.RS 4 -Extension to include in local file names, which can be useful for indexing with third\-party programs\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqmbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.ignore_empty_history\fR -.RS 4 -Work around a Gmail API quirk where an empty change history is sometimes returned\&. -.sp -See this \fBGitHub issue\fR[1]\fR for more details\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/gauteh/lieer/issues/120 -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.ignore_remote_labels\fR -.RS 4 -Set Gmail labels to ignore when syncing from remote labels to local tags (before translations)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqCATEGORY_FORUMS\(dq - \(dqCATEGORY_PROMOTIONS\(dq - \(dqCATEGORY_UPDATES\(dq - \(dqCATEGORY_SOCIAL\(dq - \(dqCATEGORY_PERSONAL\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.ignore_tags\fR -.RS 4 -Set labels to ignore when syncing from local tags to remote labels (after translations)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.local_trash_tag\fR -.RS 4 -Local tag to which the remote Gmail \[u2018]TRASH\[u2019] label is translated\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqtrash\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.remove_local_messages\fR -.RS 4 -Remove local messages that have been deleted on the remote\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.replace_slash_with_dot\fR -.RS 4 -Replace \[u2018]/\[u2019] with \[u2018]\&.\[u2019] in Gmail labels\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.settings\&.timeout\fR -.RS 4 -HTTP timeout in seconds\&. 0 means forever or system timeout\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 600 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.sync\&.enable\fR -.RS 4 -Whether to enable lieer synchronization service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.lieer\&.sync\&.frequency\fR -.RS 4 -How often to synchronize the account\&. -.sp -This value is passed to the systemd timer configuration as the onCalendar option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.maildir\fR -.RS 4 -Maildir configuration for this account\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - path = \(dq\e${name}\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.maildir\&.path\fR -.RS 4 -Path to maildir directory where mail for this account is stored\&. This is relative to the base maildir path\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.enable\fR -.RS 4 -Whether to enable synchronization using mbsync\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.create\fR -.RS 4 -Automatically create missing mailboxes within the given mail store\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]maildir\[u201D], \[u201C]imap\[u201D], \[u201C]both\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIExample:\fR \(dqmaildir\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.expunge\fR -.RS 4 -Permanently remove messages marked for deletion from the given mail store\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]maildir\[u201D], \[u201C]imap\[u201D], \[u201C]both\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIExample:\fR \(dqboth\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.extraConfig\&.account\fR -.RS 4 -Account section extra configuration\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - TLSType = \(dqIMAP\(dq; - TLSVersions = [ \(dq+1\&.3\(dq \(dq+1\&.2\(dq \(dq\-1\&.1\(dq ]; - PipelineDepth = 10; - Timeout = 60; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.extraConfig\&.channel\fR -.RS 4 -Per channel extra configuration\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MaxMessages = 10000; - MaxSize = \(dq1m\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.extraConfig\&.local\fR -.RS 4 -Local store extra configuration\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.extraConfig\&.remote\fR -.RS 4 -Remote store extra configuration\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.flatten\fR -.RS 4 -If set, flattens the hierarchy within the maildir by substituting the canonical hierarchy delimiter \fR\(oq/\(cq\fP with this value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\&.\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\fR -.RS 4 -Some email providers (Gmail) have a different directory hierarchy for synchronized email messages\&. Namely, when using mbsync without specifying a set of channels into a group, all synchronized directories end up beneath the \fR\(oq[Gmail]/\(cq\fP directory\&. -.sp -This option allows you to specify a group, and subsequently channels that will allow you to sync your mail into an arbitrary hierarchy\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\fR -.RS 4 -List of channels that should be grouped together into this group\&. When performing a synchronization, the groups are synchronized, rather than the individual channels\&. -.sp -Using these channels and then grouping them together allows for you to define the maildir hierarchy as you see fit\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\&.<name>\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fITHIS\fR channel\[u2019]s configuration\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Create = \(dqboth\(dq; - CopyArrivalDate = \(dqyes\(dq; - MaxMessages = 10000; - MaxSize = \(dq1m\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\&.<name>\&.farPattern\fR -.RS 4 -IMAP4 patterns for which mailboxes on the remote mail server to sync\&. If \fR\(oqPatterns\(cq\fP are specified, \fR\(oqfarPattern\(cq\fP is interpreted as a prefix which is not matched against the patterns, and is not affected by mailbox list overrides\&. -.sp -If this is left as the default, then mbsync will default to the pattern \fR\(oqINBOX\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq[Gmail]/Sent Mail\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\&.<name>\&.name\fR -.RS 4 -The unique name for THIS channel in THIS group\&. The group will refer to this channel by this name\&. -.sp -In addition, you can manually sync just this channel by specifying this name to mbsync on the command line\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\&.<name>\&.nearPattern\fR -.RS 4 -Name for where mail coming from the remote (far) mail server will end up locally\&. The mailbox specified by the far pattern will be placed in this directory\&. -.sp -If this is left as the default, then mbsync will default to the pattern \fR\(oqINBOX\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqSent\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.channels\&.<name>\&.patterns\fR -.RS 4 -Instead of synchronizing \fIjust\fR the mailboxes that match the \fR\(oqfarPattern\(cq\fP, use it as a prefix which is not matched against the patterns, and is not affected by mailbox list overrides\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqINBOX\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.groups\&.<name>\&.name\fR -.RS 4 -The name of this group for this account\&. These names are different than some others, because they will hide channel names that are the same\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.patterns\fR -.RS 4 -Pattern of mailboxes to synchronize\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq*\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.remove\fR -.RS 4 -Propagate mailbox deletions to the given mail store\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]maildir\[u201D], \[u201C]imap\[u201D], \[u201C]both\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIExample:\fR \(dqimap\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mbsync\&.subFolders\fR -.RS 4 -The on\-disk folder naming style\&. This option has no effect when \fBflatten\fP is used\&. -.sp -\fIType:\fR one of \[u201C]Verbatim\[u201D], \[u201C]Maildir++\[u201D], \[u201C]Legacy\[u201D] -.sp -\fIDefault:\fR \(dqVerbatim\(dq -.sp -\fIExample:\fR \(dqMaildir++\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.meli\&.enable\fR -.RS 4 -Whether to enable the meli mail client for this account\&. Requires SMTP settings\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.meli\&.mailboxAliases\fR -.RS 4 -Folder display name -.sp -\fIType:\fR attribute set of (attribute set) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - INBOX = { - alias = \(dq\[u1F4E5] Inbox\(dq; - }; - Sent = { - alias = \(dq\[u1F4E4] Sent\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.meli\&.mailboxes\fR -.RS 4 -Mailboxes to show in meli -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqInbox\(dq - \(dqSent\(dq - \(dqTrash\(dq - \(dqDrafts\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqINBOX\(dq - \(dqSent\(dq - \(dqTrash\(dq - \(dqDrafts\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.msmtp\&.enable\fR -.RS 4 -Whether to enable msmtp\&. -.sp -If enabled then it is possible to use the \fR\(oq\-\-account\(cq\fP command line option to send a message for a given account using the \fBmsmtp\fP or \fBmsmtpq\fP tool\&. For example, \fBmsmtp \-\-account=private\fP would send using the account defined in \fBaccounts\&.email\&.accounts\&.private\fP\&. If the \fR\(oq\-\-account\(cq\fP option is not given then the primary account will be used\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.msmtp\&.extraConfig\fR -.RS 4 -Extra configuration options to add to \fI\(ti/\&.msmtprc\fP\&. See \fBhttps://marlam\&.de/msmtp/msmtprc\&.txt\fR[1]\fR for examples\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - auth = \(dqlogin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://marlam\&.de/msmtp/msmtprc\&.txt -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.msmtp\&.tls\&.fingerprint\fR -.RS 4 -Fingerprint of a trusted TLS certificate\&. The fingerprint can be obtained by executing \fBmsmtp \-\-serverinfo \-\-tls \-\-tls\-certcheck=off\fP\&. -.sp -\fIType:\fR null or string matching the pattern ([[:alnum:]]{2}:)+[[:alnum:]]{2} -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqmy:SH:a2:56:ha:sh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mu\&.enable\fR -.RS 4 -Whether to enable mu indexing\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mu\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.enable\fR -.RS 4 -Whether to enable mujmap JMAP synchronization for notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.notmuchSetupWarning\fR -.RS 4 -Warn if Notmuch is not also enabled for this account\&. -.sp -This can safely be disabled if \fImujmap\&.toml\fP is managed outside of Home Manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\fR -.RS 4 -Settings which are applied to \fImujmap\&.toml\fP for the account\&. -.sp -See the \fBmujmap project\fR[1]\fR for documentation of settings not explicitly covered by this module\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/elizagamedev/mujmap -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.auto_create_new_mailboxes\fR -.RS 4 -Whether to create new mailboxes automatically on the server from notmuch tags\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.cache_dir\fR -.RS 4 -The cache directory in which to store mail files while they are being downloaded\&. The default is operating\-system specific\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.fqdn\fR -.RS 4 -Fully qualified domain name of the JMAP service\&. -.sp -mujmap looks up the JMAP SRV record for this host to determine the JMAP session URL\&. Mutually exclusive with \fBaccounts.email.accounts.<name>.mujmap.settings.session_url\fR[1]\fR\&. -.sp -If \fR\(oqnull\(cq\fP, defaults to \fBaccounts.email.accounts.<name>.jmap.host\fR[2]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqexample\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.session_url\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.host\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.password_command\fR -.RS 4 -Shell command which will print a password to stdout for basic HTTP authentication\&. -.sp -If \fR\(oqnull\(cq\fP, defaults to \fBaccounts.email.accounts.<name>.passwordCommand\fR[1]\fR\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqpass alice@example\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.passwordCommand\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.session_url\fR -.RS 4 -Session URL to connect to\&. -.sp -Mutually exclusive with \fBaccounts.email.accounts.<name>.mujmap.settings.fqdn\fR[1]\fR\&. -.sp -If \fR\(oqnull\(cq\fP, defaults to \fBaccounts.email.accounts.<name>.jmap.sessionUrl\fR[2]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttps://jmap\&.example\&.com/\&.well\-known/jmap\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.fqdn\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.jmap\&.sessionUrl\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\fR -.RS 4 -Tag configuration\&. -.sp -Beware that there are quirks that require manual consideration if changing the values of these files; please see \fBhttps://github\&.com/elizagamedev/mujmap/blob/main/mujmap\&.toml\&.example\fR[1]\fR for more details\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/elizagamedev/mujmap/blob/main/mujmap\&.toml\&.example -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.deleted\fR -.RS 4 -Tag for notmuch to use for messages stored in the mailbox labeled with the \fR\(oqTrash\(cq\fP name attribute\&. -.sp -If set to an empty string, this mailbox \fIand its child mailboxes\fR are not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqdeleted\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.directory_separator\fR -.RS 4 -Directory separator for mapping notmuch tags to maildirs\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq/\(dq -.sp -\fIExample:\fR \(dq\&.\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.important\fR -.RS 4 -Tag for notmuch to use for messages stored in the mailbox labeled with the \fR\(oqImportant\(cq\fP name attribute and/or with the \fR\(oq$Important\(cq\fP keyword\&. -.sp -If set to an empty string, this mailbox, \fIits child mailboxes\fR, and these keywords are not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqimportant\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.inbox\fR -.RS 4 -Tag for notmuch to use for messages stored in the mailbox labeled with the \fR\(oqInbox\(cq\fP name attribute\&. -.sp -If set to an empty string, this mailbox \fIand its child mailboxes\fR are not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqinbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.lowercase\fR -.RS 4 -If true, translate all mailboxes to lowercase names when mapping to notmuch tags\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.phishing\fR -.RS 4 -Tag for notmuch to use for the IANA \fR\(oq$Phishing\(cq\fP keyword\&. -.sp -If set to an empty string, this keyword is not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqphishing\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.sent\fR -.RS 4 -Tag for notmuch to use for messages stored in the mailbox labeled with the \fR\(oqSent\(cq\fP name attribute\&. -.sp -If set to an empty string, this mailbox \fIand its child mailboxes\fR are not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqsent\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.tags\&.spam\fR -.RS 4 -Tag for notmuch to use for messages stored in the mailbox labeled with the \fR\(oqJunk\(cq\fP name attribute and/or with the \fR\(oq$Junk\(cq\fP keyword, \fIexcept\fR for messages with the \fR\(oq$NotJunk\(cq\fP keyword\&. -.sp -If set to an empty string, this mailbox, \fIits child mailboxes\fR, and these keywords are not synchronized with a tag\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqspam\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.mujmap\&.settings\&.username\fR -.RS 4 -Username for basic HTTP authentication\&. -.sp -If \fR\(oqnull\(cq\fP, defaults to \fBaccounts.email.accounts.<name>.userName\fR[1]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqalice@example\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.userName\fP option -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.name\fR -.RS 4 -Unique identifier of the account\&. This is set to the attribute name of the account configuration\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.enable\fR -.RS 4 -Whether to enable NeoMutt\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.extraConfig\fR -.RS 4 -Extra lines to add to the folder hook for this account\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqcolor status cyan default\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.extraMailboxes\fR -.RS 4 -List of extra mailboxes -.sp -\fIType:\fR list of (string or (submodule)) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.mailboxName\fR -.RS 4 -Use a different name as mailbox name -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq==== <mailbox\-name> ===\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.mailboxType\fR -.RS 4 -Whether this account uses maildir folders or IMAP mailboxes -.sp -\fIType:\fR one of \[u201C]maildir\[u201D], \[u201C]imap\[u201D] -.sp -\fIDefault:\fR \(dqmaildir\(dq -.sp -\fIExample:\fR \(dqimap\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.sendMailCommand\fR -.RS 4 -Command to send a mail\&. If not set, neomutt will be in charge of sending mails\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if config\&.msmtp\&.enable then - \(dqmsmtpq \-\-read\-envelope\-from \-\-read\-recipients\(dq -else - null -.fi -.RE -.sp -\fIExample:\fR \(dqmsmtpq \-\-read\-envelope\-from \-\-read\-recipients\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.neomutt\&.showDefaultMailbox\fR -.RS 4 -Show the default mailbox (INBOX) -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.enable\fR -.RS 4 -Whether to enable notmuch indexing\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.enable\fR -.RS 4 -Whether to enable Notmuch support in NeoMutt\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.virtualMailboxes\fR -.RS 4 -List of virtual mailboxes using Notmuch queries -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqMy INBOX\(dq; - query = \(dqtag:inbox\(dq; - } -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqMy INBOX\(dq; - query = \(dqtag:inbox\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.virtualMailboxes\&.*\&.limit\fR -.RS 4 -Restricts number of messages/threads in the result\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\-virtual\-mailbox\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.virtualMailboxes\&.*\&.name\fR -.RS 4 -Name to display -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqMy INBOX\(dq -.sp -\fIExample:\fR \(dqMy INBOX\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\-virtual\-mailbox\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.virtualMailboxes\&.*\&.query\fR -.RS 4 -Notmuch query -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqtag:inbox\(dq -.sp -\fIExample:\fR \(dqtag:inbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\-virtual\-mailbox\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.notmuch\&.neomutt\&.virtualMailboxes\&.*\&.type\fR -.RS 4 -Reads all matching messages or whole\-threads\&. The default is \[u2018]messages\[u2019] or nm_query_type\&. -.sp -\fIType:\fR null or one of \[u201C]threads\[u201D], \[u201C]messages\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqthreads\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\-virtual\-mailbox\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.offlineimap\&.enable\fR -.RS 4 -Whether to enable OfflineIMAP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.offlineimap\&.extraConfig\&.account\fR -.RS 4 -Extra configuration options to add to the account section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - autorefresh = 20; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.offlineimap\&.extraConfig\&.local\fR -.RS 4 -Extra configuration options to add to the local account section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - sync_deletes = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.offlineimap\&.extraConfig\&.remote\fR -.RS 4 -Extra configuration options to add to the remote account section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - expunge = false; - maxconnections = 2; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.offlineimap\&.postSyncHookCommand\fR -.RS 4 -Command to run after fetching new mails\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.passwordCommand\fR -.RS 4 -A command, which when run writes the account password on standard output\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsecret\-tool lookup email me@example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.primary\fR -.RS 4 -Whether this is the primary account\&. Only one account may be set as primary\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.realName\fR -.RS 4 -Name displayed when sending mails\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqJane Doe\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.signature\fR -.RS 4 -Signature configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.signature\&.command\fR -.RS 4 -A command that generates a signature\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.writeScript \(dqsignature\(dq \(dqecho This is my signature\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.signature\&.delimiter\fR -.RS 4 -The delimiter used between the document and the signature\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \-\- -\(aq\(aq -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti*\(ti -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.signature\&.showSignature\fR -.RS 4 -Method to communicate the signature\&. -.sp -\fIType:\fR one of \[u201C]append\[u201D], \[u201C]attach\[u201D], \[u201C]none\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.signature\&.text\fR -.RS 4 -Signature content\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \-\- - Luke Skywalker - May the force be with you\&. -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\fR -.RS 4 -The SMTP configuration to use for this account\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.host\fR -.RS 4 -Hostname of SMTP server\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqsmtp\&.example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.port\fR -.RS 4 -The port on which the SMTP server listens\&. If \fR\(oqnull\(cq\fP then the default port is used\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 465 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.tls\fR -.RS 4 -Configuration for secure connections\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.tls\&.enable\fR -.RS 4 -Whether to enable TLS/SSL\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.tls\&.certificatesFile\fR -.RS 4 -Path to file containing certificate authorities that should be used to validate the connection authenticity\&. If \fR\(oqnull\(cq\fP then the system default is used\&. Note, if set then the system default may still be accepted\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dqconfig\&.accounts\&.email\&.certificatesFile\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.smtp\&.tls\&.useStartTls\fR -.RS 4 -Whether to use STARTTLS\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.enable\fR -.RS 4 -Whether to enable the Thunderbird mail client for this account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\fR -.RS 4 -List of message filters to add to this Thunderbird account configuration\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqMark as Read on Archive\(dq; - enabled = true; - type = \(dq128\(dq; - action = \(dqMark read\(dq; - condition = \(dqALL\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.enabled\fR -.RS 4 -Whether this filter is currently active\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.action\fR -.RS 4 -Action to perform on matched messages\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.actionValue\fR -.RS 4 -Argument passed to the filter action, e\&.g\&. a folder path\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.condition\fR -.RS 4 -Condition to match messages against\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.extraConfig\fR -.RS 4 -Extra settings to apply to the filter -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.name\fR -.RS 4 -Name for the filter\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.text\fR -.RS 4 -The raw text of the filter\&. Note that this will override all other options\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.messageFilters\&.*\&.type\fR -.RS 4 -Type for this filter\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.perIdentitySettings\fR -.RS 4 -Extra settings to add to each identity of this Thunderbird account configuration\&. The \fIid\fP given as argument is an automatically generated identifier\&. -.sp -\fIType:\fR function that evaluates to a(n) attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR _: { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -id: { - \(dqmail\&.identity\&.id_${id}\&.protectSubject\(dq = false; - \(dqmail\&.identity\&.id_${id}\&.autoEncryptDrafts\(dq = false; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.profiles\fR -.RS 4 -List of Thunderbird profiles for which this account should be enabled\&. If this list is empty (the default), this account will be enabled for all declared profiles\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(dqprofile1\(dq \(dqprofile2\(dq ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.thunderbird\&.settings\fR -.RS 4 -Extra settings to add to this Thunderbird account configuration\&. The \fIid\fP given as argument is an automatically generated account identifier\&. -.sp -\fIType:\fR function that evaluates to a(n) attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR _: { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -id: { - \(dqmail\&.server\&.server_${id}\&.check_new_mail\(dq = false; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.accounts\&.<name>\&.userName\fR -.RS 4 -The server username of this account\&. This will be used as the SMTP, IMAP, and JMAP user name\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.certificatesFile\fR -.RS 4 -Path to default file containing certificate authorities that should be used to validate the connection authenticity\&. This path may be overridden on a per\-account basis\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dq/etc/ssl/certs/ca\-certificates\&.crt\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBaccounts\&.email\&.maildirBasePath\fR -.RS 4 -The base directory for account maildir directories\&. May be a relative path (e\&.g\&. the user setting this value as \[u201C]MyMaildir\[u201D]), in which case it is relative the home directory (e\&.g\&. resulting in \[u201C]\(ti/MyMaildir\[u201D])\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqMaildir\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/accounts/email\&.nix>\fP -.RE -.RE -.PP -\fBdbus\&.packages\fR -.RS 4 -Packages whose D\-Bus configuration files should be included in the configuration of the D\-Bus session\-wide message bus\&. Specifically, files in \[u00AB]pkg\[u00BB]/share/dbus\-1/services will be included in the user\[u2019]s $XDG_DATA_HOME/dbus\-1/services directory\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/dbus\&.nix>\fP -.RE -.RE -.PP -\fBdconf\&.settings\fR -.RS 4 -Settings to write to the dconf configuration system\&. -.sp -Note that the database is strongly\-typed so you need to use the same types as described in the GSettings schema\&. For example, if an option is of type \fR\(oquint32\(cq\fP (\fR\(oqu\(cq\fP), you need to wrap the number using the \fR\(oqlib\&.hm\&.gvariant\&.mkUint32\(cq\fP constructor\&. Otherwise, since Nix integers are implicitly coerced to \fR\(oqint32\(cq\fP (\fR\(oqi\(cq\fP), it would get stored in the database as such, and GSettings might be confused when loading the setting\&. -.sp -You might want to use \fBdconf2nix\fR[1]\fR to convert dconf database dumps into compatible Nix expression\&. -.sp -\fIType:\fR attribute set of attribute set of (GVariant value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg/gnome/calculator\(dq = { - button\-mode = \(dqprogramming\(dq; - show\-thousands = true; - base = 10; - word\-size = 64; - window\-position = lib\&.hm\&.gvariant\&.mkTuple [100 100]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/dconf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/gvolpe/dconf2nix -.RE -.RE -.PP -\fBeditorconfig\&.enable\fR -.RS 4 -Whether to enable EditorConfig home configuration file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/editorconfig\&.nix>\fP -.RE -.RE -.PP -\fBeditorconfig\&.settings\fR -.RS 4 -Configuration written to \fI$HOME/\&.editorconfig\fP\&. \fR\(oqroot = true\(cq\fP is automatically added to the file, it must not be added here\&. See \fBhttps://editorconfig\&.org\fR[1]\fR for documentation\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq*\(dq = { - charset = \(dqutf\-8\(dq; - end_of_line = \(dqlf\(dq; - trim_trailing_whitespace = true; - insert_final_newline = true; - max_line_width = 78; - indent_style = \(dqspace\(dq; - indent_size = 4; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/editorconfig\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://editorconfig\&.org -.RE -.RE -.PP -\fBfonts\&.fontconfig\&.enable\fR -.RS 4 -Whether to enable fontconfig configuration\&. This will, for example, allow fontconfig to discover fonts and configurations installed through \fIhome\&.packages\fP and \fBnix\-env\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/fontconfig\&.nix>\fP -.RE -.RE -.PP -\fBfonts\&.fontconfig\&.defaultFonts\&.emoji\fR -.RS 4 -Per\-user default emoji font(s)\&. Multiple fonts may be listed in case a font does not support all emoji\&. -.sp -Note that fontconfig matches color emoji fonts preferentially, so if you want to use a black and white font while having a color font installed (eg\&. Noto Color Emoji installed alongside Noto Emoji), fontconfig will still choose the color font even when it is later in the list\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/fontconfig\&.nix>\fP -.RE -.RE -.PP -\fBfonts\&.fontconfig\&.defaultFonts\&.monospace\fR -.RS 4 -Per\-user default monospace font(s)\&. Multiple fonts may be listed in case multiple languages must be supported\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/fontconfig\&.nix>\fP -.RE -.RE -.PP -\fBfonts\&.fontconfig\&.defaultFonts\&.sansSerif\fR -.RS 4 -Per\-user default sans serif font(s)\&. Multiple fonts may be listed in case multiple languages must be supported\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/fontconfig\&.nix>\fP -.RE -.RE -.PP -\fBfonts\&.fontconfig\&.defaultFonts\&.serif\fR -.RS 4 -Per\-user default serif font(s)\&. Multiple fonts may be listed in case multiple languages must be supported\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/fontconfig\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.enable\fR -.RS 4 -Whether to enable GTK 2/3 configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.cursorTheme\fR -.RS 4 -The cursor theme to use\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.cursorTheme\&.package\fR -.RS 4 -Package providing the cursor theme\&. This package will be installed to your profile\&. If \fR\(oqnull\(cq\fP then the theme is assumed to already be available in your profile\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.vanilla\-dmz -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.cursorTheme\&.name\fR -.RS 4 -The name of the cursor theme within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqVanilla\-DMZ\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.cursorTheme\&.size\fR -.RS 4 -The size of the cursor\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 16 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.font\fR -.RS 4 -The font to use in GTK+ 2/3 applications\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.font\&.package\fR -.RS 4 -Package providing the font\&. This package will be installed to your profile\&. If \fR\(oqnull\(cq\fP then the font is assumed to already be available in your profile\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.dejavu_fonts -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.font\&.name\fR -.RS 4 -The family name of the font within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqDejaVu Sans\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.font\&.size\fR -.RS 4 -The size of the font\&. -.sp -\fIType:\fR null or signed integer or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq8\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk2\&.configLocation\fR -.RS 4 -The location to put the GTK configuration file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/\&.gtkrc\-2\&.0\(dq -.sp -\fIExample:\fR \(dq${config\&.xdg\&.configHome}/gtk\-2\&.0/gtkrc\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk2\&.extraConfig\fR -.RS 4 -Extra configuration lines to add verbatim to \fI\(ti/\&.gtkrc\-2\&.0\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqgtk\-can\-change\-accels = 1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk2\&.force\fR -.RS 4 -Whether to enable GTK 2 config force overwrite without creating a backup\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk3\&.bookmarks\fR -.RS 4 -Bookmarks in the sidebar of the GTK file browser -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqfile:///home/jane/Documents\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk3\&.extraConfig\fR -.RS 4 -Extra configuration options to add to \fI$XDG_CONFIG_HOME/gtk\-3\&.0/settings\&.ini\fP\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gtk\-cursor\-blink = false; - gtk\-recent\-files\-limit = 20; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk3\&.extraCss\fR -.RS 4 -Extra configuration lines to add verbatim to \fI$XDG_CONFIG_HOME/gtk\-3\&.0/gtk\&.css\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk4\&.extraConfig\fR -.RS 4 -Extra configuration options to add to \fI$XDG_CONFIG_HOME/gtk\-4\&.0/settings\&.ini\fP\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gtk\-cursor\-blink = false; - gtk\-recent\-files\-limit = 20; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.gtk4\&.extraCss\fR -.RS 4 -Extra configuration lines to add verbatim to \fI$XDG_CONFIG_HOME/gtk\-4\&.0/gtk\&.css\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.iconTheme\fR -.RS 4 -The icon theme to use\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.iconTheme\&.package\fR -.RS 4 -Package providing the icon theme\&. This package will be installed to your profile\&. If \fR\(oqnull\(cq\fP then the theme is assumed to already be available in your profile\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.adwaita\-icon\-theme -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.iconTheme\&.name\fR -.RS 4 -The name of the icon theme within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqAdwaita\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.theme\fR -.RS 4 -The GTK+2/3 theme to use\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.theme\&.package\fR -.RS 4 -Package providing the theme\&. This package will be installed to your profile\&. If \fR\(oqnull\(cq\fP then the theme is assumed to already be available in your profile\&. -.sp -For the theme to apply to GTK 4, this option is mandatory\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.gnome\&.gnome\-themes\-extra -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBgtk\&.theme\&.name\fR -.RS 4 -The name of the theme within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqAdwaita\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/gtk\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.enableDebugInfo\fR -.RS 4 -Some Nix packages provide debug symbols for \fBgdb\fP in the \fR\(oqdebug\(cq\fP output\&. This option ensures that those are automatically fetched from the binary cache if available and \fBgdb\fP is configured to find those symbols\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/debug\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.enableNixpkgsReleaseCheck\fR -.RS 4 -Determines whether to check for release version mismatch between Home Manager and Nixpkgs\&. Using mismatched versions is likely to cause errors and unexpected behavior\&. It is therefore highly recommended to use a release of Home Manager that corresponds with your chosen release of Nixpkgs\&. -.sp -When this option is enabled and a mismatch is detected then a warning will be printed when the user configuration is being built\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.packages\fR -.RS 4 -The set of packages to appear in the user environment\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.activation\fR -.RS 4 -The activation scripts blocks to run when activating a Home Manager generation\&. Any entry here should be idempotent, meaning running twice or more times produces the same result as running it once\&. -.sp -If the script block produces any observable side effect, such as writing or deleting files, then it \fImust\fR be placed after the special \fR\(oqwriteBoundary\(cq\fP script block\&. Prior to the write boundary one can place script blocks that verifies, but does not modify, the state of the system and exits if an unexpected state is found\&. For example, the \fR\(oqcheckLinkTargets\(cq\fP script block checks for collisions between non\-managed files and files defined in \fBhome.file\fR[1]\fR\&. -.sp -A script block should respect the \fIDRY_RUN\fP variable\&. If it is set then the actions taken by the script should be logged to standard out and not actually performed\&. A convenient shell function \fBrun\fP is provided for activation script blocks\&. It is used as follows: -.RS 4 -.PP -\fBrun {command}\fP -.RS 4 -Runs the given command on live run, otherwise prints the command to standard output\&. -.RE -.PP -\fBrun \-\-quiet {command}\fP -.RS 4 -Runs the given command on live run and sends its standard output to \fI/dev/null\fP, otherwise prints the command to standard output\&. -.RE -.PP -\fBrun \-\-silence {command}\fP -.RS 4 -Runs the given command on live run and sends its standard and error output to \fI/dev/null\fP, otherwise prints the command to standard output\&. -.RE -.RE -.sp -The \fR\(oq\-\-quiet\(cq\fP and \fR\(oq\-\-silence\(cq\fP flags are mutually exclusive\&. -.sp -A script block should also respect the \fIVERBOSE\fP variable, and if set print information on standard out that may be useful for debugging any issue that may arise\&. The variable \fIVERBOSE_ARG\fP is set to \fB\-\-verbose\fP if verbose output is enabled\&. You can also use the provided shell function \fBverboseEcho\fP, which acts as \fBecho\fP when verbose output is enabled\&. -.sp -\fIType:\fR DAG of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - myActivationAction = lib\&.hm\&.dag\&.entryAfter [\(dqwriteBoundary\(dq] \(aq\(aq - run ln \-s $VERBOSE_ARG \e - ${builtins\&.toPath \&./link\-me\-directly} $HOME - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.file\fP option -.RE -.RE -.PP -\fBhome\&.extraDependencies\fR -.RS 4 -A list of paths that should be included in the home closure but generally not visible\&. -.sp -\fIType:\fR list of path in the Nix store -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.extraOutputsToInstall\fR -.RS 4 -List of additional package outputs of the packages \fIhome\&.packages\fP that should be installed into the user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqdoc\(dq - \(dqinfo\(dq - \(dqdevdoc\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\fR -.RS 4 -Attribute set of files to link into the user home\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.executable\fR -.RS 4 -Set the execute bit\&. If \fR\(oqnull\(cq\fP, defaults to the mode of the \fIsource\fP file or to \fR\(oqfalse\(cq\fP for files created through the \fItext\fP option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.force\fR -.RS 4 -Whether the target path should be unconditionally replaced by the managed file source\&. Warning, this will silently delete the target regardless of whether it is a file or link\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.ignorelinks\fR -.RS 4 -When \fR\(oqrecursive\(cq\fP is enabled, adds \fR\(oq\-ignorelinks\(cq\fP flag to lndir -.sp -It causes lndir to not treat symbolic links in the source directory specially\&. The link created in the target directory will point back to the corresponding (symbolic link) file in the source directory\&. If the link is to a directory -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.onChange\fR -.RS 4 -Shell commands to run when file has changed between generations\&. The script will be run \fIafter\fR the new files have been linked into place\&. -.sp -Note, this code is always run when \fR\(oqrecursive\(cq\fP is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.recursive\fR -.RS 4 -If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location\&. This option has no effect if the source is a file\&. -.sp -If \fR\(oqfalse\(cq\fP (the default) then the target will be a symbolic link to the source directory\&. If \fR\(oqtrue\(cq\fP then the target will be a directory structure matching the source\[u2019]s but whose leafs are symbolic links to the files of the source directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. If \fBhome.file.<name>.text\fR[1]\fR is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.file\&.<name>\&.text\fP option -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.target\fR -.RS 4 -Path to target file relative to \fBHOME\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.file\&.<name>\&.text\fR -.RS 4 -Text of the file\&. If this option is null then \fBhome.file.<name>.source\fR[1]\fR must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/files\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.file\&.<name>\&.source\fP option -.RE -.RE -.PP -\fBhome\&.homeDirectory\fR -.RS 4 -The user\[u2019]s home directory\&. Must be an absolute path\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dq$HOME\(dq for state version < 20\&.09, -undefined for state version \[u2265] 20\&.09 -.fi -.RE -.sp -\fIExample:\fR \(dq/home/jane\&.doe\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.keyboard\fR -.RS 4 -Keyboard configuration\&. Set to \fR\(oqnull\(cq\fP to disable Home Manager keyboard management\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dq{ }\(dq for state version < 21\&.11, -\(dqnull\(dq for state version \[u2265] 21\&.11 -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.keyboard\&.layout\fR -.RS 4 -Keyboard layout\&. If \fR\(oqnull\(cq\fP, then the system configuration will be used\&. -.sp -This defaults to \fR\(oqnull\(cq\fP for state version\[u00A0]\[u2265]\[u00A0]19\&.09 and \fR\(oq\(dqus\(dq\(cq\fP otherwise\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.keyboard\&.model\fR -.RS 4 -Keyboard model\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqpresario\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.keyboard\&.options\fR -.RS 4 -X keyboard options; layout switching goes here\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqgrp:caps_toggle\(dq - \(dqgrp_led:scroll\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.keyboard\&.variant\fR -.RS 4 -X keyboard variant\&. If \fR\(oqnull\(cq\fP, then the system configuration will be used\&. -.sp -This defaults to \fR\(oqnull\(cq\fP for state version\[u00A0]\[u2265]\[u00A0]19\&.09 and \fR\(oq\(dq\(dq\(cq\fP otherwise\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqcolemak\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\fR -.RS 4 -Language configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.address\fR -.RS 4 -The language to use for addresses\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.base\fR -.RS 4 -The language to use unless overridden by a more specific option\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.collate\fR -.RS 4 -The language to use for collation (alphabetical ordering)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.ctype\fR -.RS 4 -Character classification category\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.measurement\fR -.RS 4 -The language to use for measurement values\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.messages\fR -.RS 4 -The language to use for messages, application UI languages, etc\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.monetary\fR -.RS 4 -The language to use for formatting currencies and money amounts\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.name\fR -.RS 4 -The language to use for personal names\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.numeric\fR -.RS 4 -The language to use for numerical values\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.paper\fR -.RS 4 -The language to use for paper sizes\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.telephone\fR -.RS 4 -The language to use for telephone numbers\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.language\&.time\fR -.RS 4 -The language to use for formatting times\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\fR -.RS 4 -Cursor configuration\&. -.sp -Top\-level options declared under this submodule are backend independent options\&. Options declared under namespaces such as \fR\(oqx11\(cq\fP are backend specific options\&. By default, only backend independent cursor configurations are generated\&. If you need configurations for specific backends, you can toggle them via the enable option\&. For example, \fBhome.pointerCursor.x11.enable\fR[1]\fR will enable x11 cursor configurations\&. -.sp -Note that this will merely generate the cursor configurations\&. To apply the configurations, the relevant subsytems must also be configured\&. For example, \fBhome.pointerCursor.gtk.enable\fR[2]\fR will generate the gtk cursor configuration, but \fBgtk.enable\fR[3]\fR needs to be set for it to be applied\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.pointerCursor\&.x11\&.enable\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhome\&.pointerCursor\&.gtk\&.enable\fP option -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -see the \fBgtk\&.enable\fP option -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.enable\fR -.RS 4 -Whether to enable cursor config generation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.package\fR -.RS 4 -Package providing the cursor theme\&. -.sp -\fIType:\fR package -.sp -\fIExample:\fR pkgs\&.vanilla\-dmz -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.dotIcons\&.enable\fR -.RS 4 -Whether to enable \fR\(oq\&.icons\(cq\fP config generation for \fBhome\&.pointerCursor\fP \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.gtk\&.enable\fR -.RS 4 -Whether to enable gtk config generation for \fBhome\&.pointerCursor\fP \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.hyprcursor\&.enable\fR -.RS 4 -Whether to enable hyprcursor config generation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.hyprcursor\&.size\fR -.RS 4 -The cursor size for hyprcursor\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR \(dqconfig\&.home\&.pointerCursor\&.size\(dq -.sp -\fIExample:\fR 32 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.name\fR -.RS 4 -The cursor name within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqVanilla\-DMZ\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.size\fR -.RS 4 -The cursor size\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 32 -.sp -\fIExample:\fR 64 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.sway\&.enable\fR -.RS 4 -Whether to enable sway config generation for \fBhome\&.pointerCursor\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.x11\&.enable\fR -.RS 4 -Whether to enable x11 config generation for \fBhome\&.pointerCursor\fP \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.pointerCursor\&.x11\&.defaultCursor\fR -.RS 4 -The default cursor file to use within the package\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqleft_ptr\(dq -.sp -\fIExample:\fR \(dqX_cursor\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.preferXdgDirectories\fR -.RS 4 -Whether to make programs use XDG directories whenever supported\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.profileDirectory\fR -.RS 4 -The profile directory where Home Manager generations are installed\&. -.sp -\fIType:\fR absolute path \fI(read only)\fR -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dq${home\&.homeDirectory}/\&.nix\-profile\(dq or -\(dq/etc/profiles/per\-user/${home\&.username}\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.sessionPath\fR -.RS 4 -Extra directories to prepend to \fBPATH\fP\&. -.sp -These directories are added to the \fBPATH\fP variable in a double\-quoted context, so expressions like \fR\(oq$HOME\(cq\fP are expanded by the shell\&. However, since expressions like \fR\(oq\(ti\(cq\fP or \fR\(oq*\(cq\fP are escaped, they will end up in the \fBPATH\fP verbatim\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$HOME/\&.local/bin\(dq - \(dq\e${xdg\&.configHome}/emacs/bin\(dq - \(dq\&.git/safe/\&.\&./\&.\&./bin\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.sessionSearchVariables\fR -.RS 4 -Extra directories to prepend to arbitrary PATH\-like environment variables (e\&.g\&.: \fBMANPATH\fP)\&. The values will be concatenated by \fR\(oq:\(cq\fP\&. These directories are added to the environment variable in a double\-quoted context, so expressions like \fR\(oq$HOME\(cq\fP are expanded by the shell\&. However, since expressions like \fR\(oq\(ti\(cq\fP or \fR\(oq*\(cq\fP are escaped, they will end up in the environment verbatim\&. -.sp -\fIType:\fR attribute set of list of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MANPATH = [ - \(dq$HOME/\&.npm\-packages/man\(dq - \(dq\e${xdg\&.configHome}/\&.local/share/man\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.sessionVariables\fR -.RS 4 -Environment variables to always set at login\&. -.sp -The values may refer to other environment variables using POSIX\&.2 style variable references\&. For example, a variable \fIparameter\fP may be referenced as \fR\(oq$parameter\(cq\fP or \fR\(oq${parameter}\(cq\fP\&. A default value \fR\(oqfoo\(cq\fP may be given as per \fR\(oq${parameter:\-foo}\(cq\fP and, similarly, an alternate value \fR\(oqbar\(cq\fP can be given as per \fR\(oq${parameter:+bar}\(cq\fP\&. -.sp -Note, these variables may be set in any order so no session variable may have a runtime dependency on another session variable\&. In particular code like -.sp -.RS 4 -.nf -home\&.sessionVariables = { - FOO = \(dqHello\(dq; - BAR = \(dq$FOO World!\(dq; -}; -.fi -.RE -.sp -may not work as expected\&. If you need to reference another session variable (even if it is declared by using other options like \fBxdg.configHome\fR[1]\fR), then do so inside Nix instead\&. The above example then becomes -.sp -.RS 4 -.nf -home\&.sessionVariables = { - FOO = \(dqHello\(dq; - BAR = \(dq${config\&.home\&.sessionVariables\&.FOO} World!\(dq; -}; -.fi -.RE -.sp -\fIType:\fR lazy attribute set of (string or absolute path or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - EDITOR = \(dqemacs\(dq; - GS_OPTIONS = \(dq\-sPAPERSIZE=a4\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.configHome\fP option -.RE -.RE -.PP -\fBhome\&.shell\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableShellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableShellIntegration\fP option -.RE -.RE -.PP -\fBhome\&.shell\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableShellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableShellIntegration\fP option -.RE -.RE -.PP -\fBhome\&.shell\&.enableIonIntegration\fR -.RS 4 -Whether to enable Ion integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableShellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableShellIntegration\fP option -.RE -.RE -.PP -\fBhome\&.shell\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableShellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableShellIntegration\fP option -.RE -.RE -.PP -\fBhome\&.shell\&.enableShellIntegration\fR -.RS 4 -Whether to globally enable shell integration for all supported shells\&. -.sp -Individual shell integrations can be overridden with their respective \fR\(oqshell\&.enable<SHELL>Integration\(cq\fP option\&. For example, the following declaration globally disables shell integration for Bash: -.sp -.RS 4 -.nf -home\&.shell\&.enableBashIntegration = false; -.fi -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.shell\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableShellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableShellIntegration\fP option -.RE -.RE -.PP -\fBhome\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -This option should only be used to manage simple aliases that are compatible across all shells\&. If you need to use a shell specific feature then make sure to use a shell specific option, for example \fBprograms.bash.shellAliases\fR[1]\fR for Bash\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - g = \(dqgit\(dq; - \(dq\&.\&.\&.\(dq = \(dqcd \&.\&./\&.\&.\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.bash\&.shellAliases\fP option -.RE -.RE -.PP -\fBhome\&.stateVersion\fR -.RS 4 -It is occasionally necessary for Home Manager to change configuration defaults in a way that is incompatible with stateful data\&. This could, for example, include switching the default data format or location of a file\&. -.sp -The \fIstate version\fR indicates which default settings are in effect and will therefore help avoid breaking program configurations\&. Switching to a higher state version typically requires performing some manual steps, such as data conversion or moving files\&. -.sp -\fIType:\fR one of \[u201C]18\&.09\[u201D], \[u201C]19\&.03\[u201D], \[u201C]19\&.09\[u201D], \[u201C]20\&.03\[u201D], \[u201C]20\&.09\[u201D], \[u201C]21\&.03\[u201D], \[u201C]21\&.05\[u201D], \[u201C]21\&.11\[u201D], \[u201C]22\&.05\[u201D], \[u201C]22\&.11\[u201D], \[u201C]23\&.05\[u201D], \[u201C]23\&.11\[u201D], \[u201C]24\&.05\[u201D], \[u201C]24\&.11\[u201D], \[u201C]25\&.05\[u201D], \[u201C]25\&.11\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/version\&.nix>\fP -.RE -.RE -.PP -\fBhome\&.username\fR -.RS 4 -The user\[u2019]s username\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dq$USER\(dq for state version < 20\&.09, -undefined for state version \[u2265] 20\&.09 -.fi -.RE -.sp -\fIExample:\fR \(dqjane\&.doe\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/home\-environment\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.glibcLocales\fR -.RS 4 -Customized \fR\(oqglibcLocales\(cq\fP package providing the \fR\(oqLOCALE_ARCHIVE_*\(cq\fP environment variable\&. -.sp -This option only applies to the Linux platform\&. -.sp -When Home Manager is configured with NixOS, the default value will be set to \fIi18n\&.glibcLocales\fP from the system configuration\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR pkgs\&.glibcLocales -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.glibcLocales\&.override { - allLocales = false; - locales = [ \(dqen_US\&.UTF\-8/UTF\-8\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/i18n\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.enable\fR -.RS 4 -Whether to enable an additional input method type\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true if the deprecated option enabled is set, false otherwise -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/default\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.enabled\fR -.RS 4 -Deprecated \- use \fR\(oqtype\(cq\fP and \fR\(oqenable = true\(cq\fP instead -.sp -\fIType:\fR null or one of \[u201C]fcitx\[u201D], \[u201C]fcitx5\[u201D], \[u201C]nabi\[u201D], \[u201C]uim\[u201D], \[u201C]hime\[u201D], \[u201C]kime\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfcitx5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/default\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.addons\fR -.RS 4 -Enabled Fcitx5 addons\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs; [ fcitx5\-rime ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.fcitx5\-with\-addons\fR -.RS 4 -The fcitx5 package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation fcitx5\-with\-addons\-5\&.1\&.12> -.sp -\fIExample:\fR pkgs\&.kdePackages\&.fcitx5\-with\-addons -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.ignoreUserConfig\fR -.RS 4 -Ignore the user configures\&. \fBWarning\fR: When this is enabled, the user config files are totally ignored and the user dict can\[u2019]t be saved and loaded\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.quickPhrase\fR -.RS 4 -Quick phrases\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - smile = \(dq\[uFF08]\[u30FB]\[u2200]\[u30FB]\[uFF09]\(dq; - angry = \(dq(\[uFFE3]\[u30FC]\[uFFE3])\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.quickPhraseFiles\fR -.RS 4 -Quick phrase files\&. -.sp -\fIType:\fR attribute set of absolute path -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - words = \&./words\&.mb; - numbers = \&./numbers\&.mb; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.settings\&.addons\fR -.RS 4 -The addon configures in \fR\(oqconf\(cq\fP folder in ini format with global sections\&. Each item is written to the corresponding file\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - classicui\&.globalSection\&.Theme = \(dqexample\(dq; - pinyin\&.globalSection\&.EmojiEnabled = \(dqTrue\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.settings\&.addons\&.<name>\&.globalSection\fR -.RS 4 -global section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIType:\fR section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.settings\&.addons\&.<name>\&.sections\fR -.RS 4 -attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.settings\&.globalOptions\fR -.RS 4 -The global options in \fR\(oqconfig\(cq\fP file in ini format\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Behavior = { - ActiveByDefault = false; - }; - Hotkey = { - EnumerateWithTriggerKeys = true; - EnumerateSkipFirst = false; - ModifierOnlyKeyTimeout = 250; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.settings\&.inputMethod\fR -.RS 4 -The input method configure in \fR\(oqprofile\(cq\fP file in ini format\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - GroupOrder\&.\(dq0\(dq = \(dqDefault\(dq; - \(dqGroups/0\(dq = { - Name = \(dqDefault\(dq; - \(dqDefault Layout\(dq = \(dqus\(dq; - DefaultIM = \(dqpinyin\(dq; - }; - \(dqGroups/0/Items/0\(dq\&.Name = \(dqkeyboard\-us\(dq; - \(dqGroups/0/Items/1\(dq\&.Name = \(dqpinyin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.themes\fR -.RS 4 -Themes to be written to \fI$XDG_DATA_HOME/fcitx5/themes/${name}\fP -.sp -\fIType:\fR lazy attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.themes\&.<name>\&.highlightImage\fR -.RS 4 -Path to the SVG of the highlight\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.themes\&.<name>\&.panelImage\fR -.RS 4 -Path to the SVG of the panel\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.themes\&.<name>\&.theme\fR -.RS 4 -The \fR\(oqtheme\&.conf\(cq\fP file of the theme\&. -.sp -See https://fcitx\-im\&.org/wiki/Fcitx_5_Theme#Background_images for more information\&. -.sp -\fIType:\fR null or (attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))) or strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.fcitx5\&.waylandFrontend\fR -.RS 4 -Use the Wayland input method frontend\&. See \fBUsing Fcitx 5 on Wayland\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/fcitx5\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://fcitx\-im\&.org/wiki/Using_Fcitx_5_on_Wayland -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.kime\&.extraConfig\fR -.RS 4 -kime configuration\&. Refer to \fBhttps://github\&.com/Riey/kime/blob/develop/docs/CONFIGURATION\&.md\fR[1]\fR for details on supported values\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -daemon: - modules: [Xim,Indicator] -indicator: - icon_color: White -engine: - hangul: - layout: dubeolsik -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/kime\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Riey/kime/blob/develop/docs/CONFIGURATION\&.md -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.type\fR -.RS 4 -Select the enabled input method\&. Input methods are software to input symbols that are not available on standard input devices\&. -.sp -Input methods are especially used to input Chinese, Japanese and Korean characters\&. -.sp -Currently the following input methods are available in Home Manager: -.RS 4 -.PP -\fR\(oqfcitx5\(cq\fP -.RS 4 -A customizable lightweight input method\&. The next generation of fcitx\&. Addons (including engines, dictionaries, skins) can be added using \fBi18n.inputMethod.fcitx5.addons\fR[1]\fR\&. -.RE -.PP -\fR\(oqnabi\(cq\fP -.RS 4 -A Korean input method based on XIM\&. Nabi doesn\[u2019]t support Qt 5\&. -.RE -.PP -\fR\(oquim\(cq\fP -.RS 4 -The \[u201C]universal input method\[u201D] is a library with an XIM bridge\&. uim mainly supports Chinese, Japanese and Korean\&. -.RE -.PP -\fR\(oqhime\(cq\fP -.RS 4 -An extremely easy\-to\-use input method framework\&. -.RE -.PP -\fR\(oqkime\(cq\fP -.RS 4 -A Korean IME\&. -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]fcitx\[u201D], \[u201C]fcitx5\[u201D], \[u201C]nabi\[u201D], \[u201C]uim\[u201D], \[u201C]hime\[u201D], \[u201C]kime\[u201D] -.sp -\fIDefault:\fR The value of the deprecated option enabled, defaulting to null -.sp -\fIExample:\fR \(dqfcitx5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/default\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBi18n\&.inputMethod\&.fcitx5\&.addons\fP option -.RE -.RE -.PP -\fBi18n\&.inputMethod\&.uim\&.toolbar\fR -.RS 4 -Selected UIM toolbar\&. -.sp -\fIType:\fR one of \[u201C]gtk\[u201D], \[u201C]gtk3\[u201D], \[u201C]gtk\-systray\[u201D], \[u201C]gtk3\-systray\[u201D], \[u201C]qt4\[u201D] -.sp -\fIDefault:\fR \(dqgtk\(dq -.sp -\fIExample:\fR \(dqgtk\-systray\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/i18n/input\-method/uim\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.enable\fR -.RS 4 -Whether to enable Home Manager to define per\-user daemons by making use of launchd\[u2019]s LaunchAgents\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR pkgs\&.stdenv\&.hostPlatform\&.isDarwin -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\fR -.RS 4 -Define LaunchAgents\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.enable\fR -.RS 4 -Whether to enable \[u2039]name\[u203A]\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\fR -.RS 4 -Define a launchd job\&. See \fBlaunchd\&.plist\fP\fR(5)\fP for details\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ProgramArguments = [ \(dq/usr/bin/say\(dq \(dqGood afternoon\(dq ]; - StartCalendarInterval = [ - { - Hour = 12; - Minute = 0; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.AbandonProcessGroup\fR -.RS 4 -When a job dies, launchd kills any remaining processes with the same process group ID as the job\&. Setting this key to true disables that behavior\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Debug\fR -.RS 4 -This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while dealing with this job\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Disabled\fR -.RS 4 -This optional key is used as a hint to \fR\(oqlaunchctl(1)\(cq\fP that it should not submit this job to launchd when loading a job or jobs\&. The value of this key does NOT reflect the current state of the job on the running system\&. If you wish to know whether a job is loaded in launchd, reading this key from a configuration file yourself is not a sufficient test\&. You should query launchd for the presence of the job using the \fR\(oqlaunchctl(1)\(cq\fP list subcommand or use the ServiceManagement framework\[u2019]s \fR\(oqSMJobCopyDictionary()\(cq\fP method\&. -.sp -Note that as of Mac OS X v10\&.6, this key\[u2019]s value in a configuration file conveys a default value, which is changed with the [\-w] option of the \fR\(oqlaunchctl(1)\(cq\fP load and unload subcommands\&. These subcommands no longer modify the configuration file, so the value displayed in the configuration file is not necessarily the value that \fR\(oqlaunchctl(1)\(cq\fP will apply\&. See \fR\(oqlaunchctl(1)\(cq\fP for more information\&. -.sp -Please also be mindful that you should only use this key if the provided on\-demand and KeepAlive criteria are insufficient to describe the conditions under which your job needs to run\&. The cost to have a job loaded in launchd is negligible, so there is no harm in loading a job which only runs once or very rarely\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.EnableGlobbing\fR -.RS 4 -This flag causes launchd to use the \fR\(oqglob(3)\(cq\fP mechanism to update the program arguments before invocation\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.EnableTransactions\fR -.RS 4 -This flag instructs launchd that the job promises to use \fR\(oqvproc_transaction_begin(3)\(cq\fP and \fR\(oqvproc_transaction_end(3)\(cq\fP to track outstanding transactions that need to be reconciled before the process can safely terminate\&. If no outstanding transactions are in progress, then launchd is free to send the SIGKILL signal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.EnvironmentVariables\fR -.RS 4 -This optional key is used to specify additional environment variables to be set before running the job\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.ExitTimeOut\fR -.RS 4 -The amount of time launchd waits before sending a SIGKILL signal\&. The default value is 20 seconds\&. The value zero is interpreted as infinity\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.GroupName\fR -.RS 4 -This optional key specifies the group to run the job as\&. This key is only applicable when launchd is running as root\&. If UserName is set and GroupName is not, the the group will be set to the default group of the user\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NumberOfFiles = 4096; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the \fR\(oqmlock(2)\(cq\fP function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.HardResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.InitGroups\fR -.RS 4 -This optional key specifies whether \fR\(oqinitgroups(3)\(cq\fP should be called before running the job\&. The default is true in 10\&.5 and false in 10\&.4\&. This key will be ignored if the UserName key is not set\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.KeepAlive\fR -.RS 4 -This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation\&. The default is false and therefore only demand will start the job\&. The value may be set to true to unconditionally keep the job alive\&. Alternatively, a dictionary of conditions may be specified to selectively control whether launchd keeps a job alive or not\&. If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary\&. If launchd finds no reason to restart the job, it falls back on demand based invocation\&. Jobs that exit quickly and frequently when configured to be kept alive will be throttled to converve system resources\&. -.sp -\fIType:\fR null or boolean or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Label\fR -.RS 4 -This required key uniquely identifies the job to launchd\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LaunchEvents\fR -.RS 4 -Specifies higher\-level event types to be used as launch\-on\-demand event sources\&. Each sub\-dictionary defines events for a particular event subsystem, such as \[u201C]com\&.apple\&.iokit\&.matching\[u201D], which can be used to launch jobs based on the appearance of nodes in the IORegistry\&. Each dictionary within the sub\-dictionary specifies an event descriptor that is specified to each event subsystem\&. With this key, the job promises to use the xpc_set_event_stream_handler(3) API to consume events\&. See xpc_events(3) for more details on event sources\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.iokit\&.matching\(dq = { - \(dqcom\&.apple\&.usb\&.device\(dq = { - IOMatchLaunchStream = true; - IOProviderClass = \(dqIOUSBDevice\(dq; - idProduct = \(dq*\(dq; - idVendor = \(dq*\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LaunchOnlyOnce\fR -.RS 4 -This optional key specifies whether the job can only be run once and only once\&. In other words, if the job cannot be safely respawned without a full machine reboot, then set this key to be true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LimitLoadFromHosts\fR -.RS 4 -This configuration file only applies to hosts NOT listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LimitLoadToHosts\fR -.RS 4 -This configuration file only applies to the hosts listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LimitLoadToSessionType\fR -.RS 4 -This configuration file only applies to sessions of the type specified\&. This key is used in concert with the \-S flag to \fBlaunchctl\fP\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LowPriorityBackgroundIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O when the process is throttled with the Darwin\-background classification\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.LowPriorityIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.MachServices\fR -.RS 4 -This optional key is used to specify Mach services to be registered with the Mach bootstrap sub\-system\&. Each key in this dictionary should be the name of service to be advertised\&. The value of the key must be a boolean and set to true\&. Alternatively, a dictionary can be used instead of a simple true value\&. -.sp -Finally, for the job itself, the values will be replaced with Mach ports at the time of check\-in with launchd\&. -.sp -\fIType:\fR null or (attribute set of (boolean or (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg\&.nixos\&.service\(dq = { - ResetAtClose = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Nice\fR -.RS 4 -This optional key specifies what nice(3) value should be applied to the daemon\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.OnDemand\fR -.RS 4 -This key was used in Mac OS X 10\&.4 to control whether a job was kept alive or not\&. The default was true\&. This key has been deprecated and replaced in Mac OS X 10\&.5 and later with the more powerful KeepAlive option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.ProcessType\fR -.RS 4 -This optional key describes, at a high level, the intended purpose of the job\&. The system will apply resource limits based on what kind of job it is\&. If left unspecified, the system will apply light resource limits to the job, throttling its CPU usage and I/O bandwidth\&. The following are valid values: -.RS 4 -.PP -Background -.RS 4 -Background jobs are generally processes that do work that was not directly requested by the user\&. The resource limits applied to Background jobs are intended to prevent them from disrupting the user experience\&. -.RE -.PP -Standard -.RS 4 -Standard jobs are equivalent to no ProcessType being set\&. -.RE -.PP -Adaptive -.RS 4 -Adaptive jobs move between the Background and Interactive classifications based on activity over XPC connections\&. See \fR\(oqxpc_transaction_begin(3)\(cq\fP for details\&. -.RE -.PP -Interactive -.RS 4 -Interactive jobs run with the same resource limitations as apps, that is to say, none\&. Interactive jobs are critical to maintaining a responsive user experience, and this key should only be used if an app\[u2019]s ability to be responsive depends on it, and cannot be made Adaptive\&. -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]Background\[u201D], \[u201C]Standard\[u201D], \[u201C]Adaptive\[u201D], \[u201C]Interactive\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqBackground\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Program\fR -.RS 4 -This key maps to the first argument of \fR\(oqexecvp(3)\(cq\fP\&. If this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead\&. This key is required in the absence of the ProgramArguments key\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.ProgramArguments\fR -.RS 4 -This key maps to the second argument of \fR\(oqexecvp(3)\(cq\fP\&. This key is required in the absence of the Program key\&. Please note: many people are confused by this key\&. Please read \fR\(oqexecvp(3)\(cq\fP very carefully! -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.QueueDirectories\fR -.RS 4 -Much like the WatchPaths option, this key will watch the paths for modifications\&. The difference being that the job will only be started if the path is a directory and the directory is not empty\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.RootDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchroot(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.RunAtLoad\fR -.RS 4 -This optional key is used to control whether your job is launched once at the time the job is loaded\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.ServiceIPC\fR -.RS 4 -This optional key specifies whether the job participates in advanced communication with launchd\&. The default is false\&. This flag is incompatible with the inetdCompatibility key\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SessionCreate\fR -.RS 4 -This key specifies that the job should be spawned into a new security audit session rather than the default session for the context is belongs to\&. See auditon(2) for details\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\fR -.RS 4 -This optional key is used to specify launch on demand sockets that can be used to let launchd know when to run the job\&. The job must check\-in to get a copy of the file descriptors using APIs outlined in launch(3)\&. The keys of the top level Sockets dictionary can be anything\&. They are meant for the application developer to use to differentiate which descriptors correspond to which application level protocols (e\&.g\&. http vs\&. ftp vs\&. DNS\[u2026])\&. At check\-in time, the value of each Sockets dictionary key will be an array of descriptors\&. Daemon/Agent writers should consider all descriptors of a given key to be to be effectively equivalent, even though each file descriptor likely represents a different networking protocol which conforms to the criteria specified in the job configuration file\&. -.sp -The parameters below are used as inputs to call \fR\(oqgetaddrinfo(3)\(cq\fP\&. -.sp -\fIType:\fR null or (attribute set of (submodule)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.Bonjour\fR -.RS 4 -This optional key can be used to request that the service be registered with the \fR\(oqmDNSResponder(8)\(cq\fP\&. If the value is boolean, the service name is inferred from the SockServiceName\&. -.sp -\fIType:\fR null or boolean or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.MulticastGroup\fR -.RS 4 -This optional key can be used to request that the datagram socket join a multicast group\&. If the value is a hostname, then \fR\(oqgetaddrinfo(3)\(cq\fP will be used to join the correct multicast address for a given socket family\&. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily family also be set, otherwise the results are undefined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SecureSocketWithKey\fR -.RS 4 -This optional key is a variant of SockPathName\&. Instead of binding to a known path, a securely generated socket is created and the path is assigned to the environment variable that is inherited by all jobs spawned by launchd\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockFamily\fR -.RS 4 -This optional key can be used to specifically request that \[u201C]IPv4\[u201D] or \[u201C]IPv6\[u201D] socket(s) be created\&. -.sp -\fIType:\fR null or one of \[u201C]IPv4\[u201D], \[u201C]IPv6\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockNodeName\fR -.RS 4 -This optional key specifies the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockPassive\fR -.RS 4 -This optional key specifies whether \fR\(oqlisten(2)\(cq\fP or \fR\(oqconnect(2)\(cq\fP should be called on the created file descriptor\&. The default is true (\[u201C]to listen\[u201D])\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockPathMode\fR -.RS 4 -This optional key specifies the mode of the socket\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockPathName\fR -.RS 4 -This optional key implies SockFamily is set to \[u201C]Unix\[u201D]\&. It specifies the path to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockProtocol\fR -.RS 4 -This optional key specifies the protocol to be passed to \fR\(oqsocket(2)\(cq\fP\&. The only value understood by this key at the moment is \[u201C]TCP\[u201D]\&. -.sp -\fIType:\fR null or value \[u201C]TCP\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockServiceName\fR -.RS 4 -This optional key specifies the service on the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Sockets\&.<name>\&.SockType\fR -.RS 4 -This optional key tells launchctl what type of socket to create\&. The default is \[u201C]stream\[u201D] and other valid values for this key are \[u201C]dgram\[u201D] and \[u201C]seqpacket\[u201D] respectively\&. -.sp -\fIType:\fR null or one of \[u201C]stream\[u201D], \[u201C]dgram\[u201D], \[u201C]seqpacket\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the mlock(2) function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.SoftResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StandardErrorPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stderr when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StandardInPath\fR -.RS 4 -This optional key specifies what file should be used for data being supplied to stdin when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StandardOutPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stdout when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StartCalendarInterval\fR -.RS 4 -This optional key causes the job to be started every calendar interval as specified\&. The semantics are much like \fBcrontab\fP\fR(5)\fP: Missing attributes are considered to be wildcard\&. Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon waking from sleep\&. -.sp -.RS 4 -\fBImportant\fP -.br -The list must not be empty and must not contain duplicate entries (attrsets which compare equally)\&. -.RE -.sp -.RS 4 -\fBCaution\fP -.br -Since missing attrs become wildcards, an empty attrset effectively means \[u201C]every minute\[u201D]\&. -.RE -.sp -\fIType:\fR null or (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 2; - Minute = 30; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StartInterval\fR -.RS 4 -This optional key causes the job to be started every N seconds\&. If the system is asleep, the job will be started the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.StartOnMount\fR -.RS 4 -This optional key causes the job to be started every time a filesystem is mounted\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.ThrottleInterval\fR -.RS 4 -This key lets one override the default throttling policy imposed on jobs by launchd\&. The value is in seconds, and by default, jobs will not be spawned more than once every 10 seconds\&. The principle behind this is that jobs should linger around just in case they are needed again in the near future\&. This not only reduces the latency of responses, but it encourages developers to amortize the cost of program invocation\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.TimeOut\fR -.RS 4 -The recommended idle time out (in seconds) to pass to the job\&. If no value is specified, a default time out will be supplied by launchd for use by the job at check in time\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.Umask\fR -.RS 4 -This optional key specifies what value should be passed to \fR\(oqumask(2)\(cq\fP before running the job\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.UserName\fR -.RS 4 -This optional key specifies the user to run the job as\&. This key is only applicable when launchd is running as root\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.WaitForDebugger\fR -.RS 4 -This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger to attach before any code in the job is executed\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.WatchPaths\fR -.RS 4 -This optional key causes the job to be started if any one of the listed paths are modified\&. -.sp -\fIType:\fR null or (list of absolute path) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.WorkingDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchdir(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.inetdCompatibility\fR -.RS 4 -The presence of this key specifies that the daemon expects to be run as if it were launched from inetd\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Wait = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.config\&.inetdCompatibility\&.Wait\fR -.RS 4 -This flag corresponds to the \[u201C]wait\[u201D] or \[u201C]nowait\[u201D] option of inetd\&. If true, then the listening socket is passed via the standard in/out/error file descriptors\&. If false, then \fR\(oqaccept(2)\(cq\fP is called on behalf of the job, and the result is passed via the standard in/out/error descriptors\&. -.sp -\fIType:\fR null or boolean or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/launchd/default\&.nix>\fP -.RE -.RE -.PP -\fBlib\fR -.RS 4 -This option allows modules to define helper functions, constants, etc\&. -.sp -\fIType:\fR attribute set of (attribute set) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/lib\&.nix>\fP -.RE -.RE -.PP -\fBmanual\&.html\&.enable\fR -.RS 4 -Whether to install the HTML manual\&. This also installs the \fBhome\-manager\-help\fP tool, which opens a local copy of the Home Manager manual in the system web browser\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/manual\&.nix>\fP -.RE -.RE -.PP -\fBmanual\&.json\&.enable\fR -.RS 4 -Whether to install a JSON formatted list of all Home Manager options\&. This can be located at \fI<profile\[u00A0]directory>/share/doc/home\-manager/options\&.json\fP, and may be used for navigating definitions, auto\-completing, and other miscellaneous tasks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/manual\&.nix>\fP -.RE -.RE -.PP -\fBmanual\&.manpages\&.enable\fR -.RS 4 -Whether to install the configuration manual page\&. The manual can be reached by \fBman home\-configuration\&.nix\fP\&. -.sp -When looking at the manual page pretend that all references to NixOS stuff are actually references to Home Manager stuff\&. Thanks! -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/manual\&.nix>\fP -.RE -.RE -.PP -\fBnews\&.display\fR -.RS 4 -How unread and relevant news should be presented when running \fBhome\-manager build\fP and \fBhome\-manager switch\fP\&. -.sp -The options are -.RS 4 -.PP -\fR\(oqsilent\(cq\fP -.RS 4 -Do not print anything during build or switch\&. The \fBhome\-manager news\fP command still works for viewing the entries\&. -.RE -.PP -\fR\(oqnotify\(cq\fP -.RS 4 -The number of unread and relevant news entries will be printed to standard output\&. The \fBhome\-manager news\fP command can later be used to view the entries\&. -.RE -.PP -\fR\(oqshow\(cq\fP -.RS 4 -A pager showing unread news entries is opened\&. -.RE -.RE -.sp -\fIType:\fR one of \[u201C]silent\[u201D], \[u201C]notify\[u201D], \[u201C]show\[u201D] -.sp -\fIDefault:\fR \(dqnotify\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/news\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.package\fR -.RS 4 -The Nix package that the configuration should be generated for\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.nix -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.channels\fR -.RS 4 -A declarative alternative to Nix channels\&. Whereas with stock channels, you would register URLs and fetch them into the Nix store with \fBnix\-channel\fP\fR(1)\fP, this option allows you to register the store path directly\&. One particularly useful example is registering flake inputs as channels\&. -.sp -This option can coexist with stock Nix channels\&. If the same channel is defined in both, this option takes precedence\&. -.sp -\fIType:\fR attribute set of package -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { inherit nixpkgs; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.checkConfig\fR -.RS 4 -If enabled (the default), checks for data type mismatches and that Nix can parse the generated nix\&.conf\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.extraOptions\fR -.RS 4 -Additional text appended to \fInix\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - keep\-outputs = true - keep\-derivations = true -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.automatic\fR -.RS 4 -Automatically run the garbage collector at a specific time\&. -.sp -Note: This will only garbage collect the current user\[u2019]s profiles\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nix\-gc\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.frequency\fR -.RS 4 -When to run the Nix garbage collector\&. -.sp -On Linux this is a string as defined by \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -On Darwin it must be one of: hourly, daily, weekly, monthly, semiannually, annually, which are implemented as defined in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqweekly\(dq -.sp -\fIExample:\fR \(dq03:15\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nix\-gc\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.options\fR -.RS 4 -Options given to \fInix\-collect\-garbage\fP when the garbage collector is run automatically\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\-\-max\-freed $((64 * 1024**3))\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nix\-gc\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.persistent\fR -.RS 4 -If true, the time when the service unit was last triggered is stored on disk\&. When the timer is activated, the service unit is triggered immediately if it would have been triggered at least once during the time when the timer was inactive\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nix\-gc\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.randomizedDelaySec\fR -.RS 4 -Add a randomized delay before each garbage collection\&. The delay will be chosen between zero and this value\&. This value must be a time span in the format specified by \fBsystemd\&.time\fP\fR(7)\fP -.sp -\fIType:\fR (optionally newline\-terminated) single\-line string -.sp -\fIDefault:\fR \(dq0\(dq -.sp -\fIExample:\fR \(dq45min\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nix\-gc\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.keepOldNixPath\fR -.RS 4 -Whether \fBnix\&.nixPath\fP should keep the previously set values in \fBNIX_PATH\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.nixPath\fR -.RS 4 -Adds new directories to the Nix expression search path\&. -.sp -Used by Nix when looking up paths in angular brackets (e\&.g\&. \fR\(oq<nixpkgs>\(cq\fP)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$HOME/\&.nix\-defexpr/channels\(dq - \(dqdarwin\-config=$HOME/\&.config/nixpkgs/darwin\-configuration\&.nix\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\fR -.RS 4 -User level flake registry\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.exact\fR -.RS 4 -Whether the \fBfrom\fP reference needs to match exactly\&. If set, a \fBfrom\fP reference like \fR\(oqnixpkgs\(cq\fP does not match with a reference like \fR\(oqnixpkgs/nixos\-20\&.03\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.flake\fR -.RS 4 -The flake input to which \fBfrom>\fP is to be rewritten\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR nixpkgs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.from\fR -.RS 4 -The flake reference to be rewritten\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or package) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - id = \(dqnixpkgs\(dq; - type = \(dqindirect\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.to\fR -.RS 4 -The flake reference to which \fBfrom>\fP is to be rewritten\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or package) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - owner = \(dqmy\-org\(dq; - repo = \(dqmy\-nixpkgs\(dq; - type = \(dqgithub\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\fR -.RS 4 -Configuration for Nix; see \fBnix\&.conf\fP\fR(5)\fP for available options\&. The value declared here will be translated directly to the key\-value pairs Nix expects\&. -.sp -Configuration specified in \fBnix.extraOptions\fR[1]\fR will be appended verbatim to the resulting config file\&. -.sp -\fIType:\fR attribute set of (Nix config atom (null, bool, int, float, str, path or package) or list of (Nix config atom (null, bool, int, float, str, path or package))) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - use\-sandbox = true; - show\-trace = true; - system\-features = [ \(dqbig\-parallel\(dq \(dqkvm\(dq \(dqrecursive\-nix\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nix\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBnix\&.extraOptions\fP option -.RE -.RE -.PP -\fBnixGL\&.packages\fR -.RS 4 -The nixGL package set containing GPU library wrappers\&. This can be used to provide OpenGL and Vulkan access to applications on non\-NixOS systems by using \fR\(oq(config\&.lib\&.nixGL\&.wrap <package>)\(cq\fP for the default wrapper, or \fR\(oq(config\&.lib\&.nixGL\&.wrappers\&.<wrapper> <package>)\(cq\fP for any available wrapper\&. -.sp -The wrapper functions are always available\&. If this option is empty (the default), they are a no\-op\&. This is useful on NixOS where the wrappers are unnecessary\&. -.sp -Note that using any Nvidia wrapper requires building the configuration with the \fR\(oq\-\-impure\(cq\fP option\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR inputs\&.nixGL\&.packages -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.defaultWrapper\fR -.RS 4 -The package wrapper function available for use as \fR\(oq(config\&.lib\&.nixGL\&.wrap <package>)\(cq\fP\&. Intended to start programs on the main GPU\&. -.sp -Wrapper functions can be found under \fR\(oqconfig\&.lib\&.nixGL\&.wrappers\(cq\fP\&. They can be used directly, however, setting this option provides a convenient shorthand\&. -.sp -The following wrappers are available: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesa -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesaPrime -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidia -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidiaPrime -.RE -.sp -\fIType:\fR one of \[u201C]mesa\[u201D], \[u201C]mesaPrime\[u201D], \[u201C]nvidia\[u201D], \[u201C]nvidiaPrime\[u201D] -.sp -\fIDefault:\fR \(dqmesa\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.installScripts\fR -.RS 4 -For each wrapper \fR\(oqwrp\(cq\fP named in the provided list, a wrapper script named \fR\(oqnixGLWrp\(cq\fP is installed into the environment\&. These scripts are useful for running programs not installed via Home Manager\&. -.sp -The following wrappers are available: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesa -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesaPrime -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidia -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidiaPrime -.RE -.sp -\fIType:\fR null or (list of (one of \[u201C]mesa\[u201D], \[u201C]mesaPrime\[u201D], \[u201C]nvidia\[u201D], \[u201C]nvidiaPrime\[u201D])) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmesa\(dq - \(dqmesaPrime\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.offloadWrapper\fR -.RS 4 -The package wrapper function available for use as \fR\(oq(config\&.lib\&.nixGL\&.wrapOffload <package>)\(cq\fP\&. Intended to start programs on the secondary GPU\&. -.sp -Wrapper functions can be found under \fR\(oqconfig\&.lib\&.nixGL\&.wrappers\(cq\fP\&. They can be used directly, however, setting this option provides a convenient shorthand\&. -.sp -The following wrappers are available: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesa -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -mesaPrime -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidia -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -nvidiaPrime -.RE -.sp -\fIType:\fR one of \[u201C]mesa\[u201D], \[u201C]mesaPrime\[u201D], \[u201C]nvidia\[u201D], \[u201C]nvidiaPrime\[u201D] -.sp -\fIDefault:\fR \(dqmesaPrime\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.prime\&.card\fR -.RS 4 -Selects the non\-default graphics card used for PRIME render offloading\&. The value can be: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -a number, selecting the n\-th non\-default GPU; -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -a PCI bus id in the form \fR\(oqpci\-XXX_YY_ZZ_U\(cq\fP; -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -a PCI id in the form \fR\(oqvendor_id:device_id\(cq\fP -.RE -.sp -For more information, consult the Mesa documentation on the \fR\(oqDRI_PRIME\(cq\fP environment variable\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq1\(dq -.sp -\fIExample:\fR \(dqpci\-0000_06_00_0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.prime\&.installScript\fR -.RS 4 -If this option is set, the wrapper script \fR\(oqprime\-offload\(cq\fP is installed into the environment\&. It allows starting programs on the secondary GPU selected by the \fR\(oqnixGL\&.prime\&.card\(cq\fP option\&. This makes sense when the program is not already using one of nixGL PRIME wrappers, or for programs not installed from Nixpkgs\&. -.sp -This option can be set to either \[u201C]mesa\[u201D] or \[u201C]nvidia\[u201D], making the script use one or the other graphics library\&. -.sp -\fIType:\fR null or one of \[u201C]mesa\[u201D], \[u201C]nvidia\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqmesa\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.prime\&.nvidiaProvider\fR -.RS 4 -If this option is set, it overrides the offload provider for Nvidia PRIME offloading\&. Consult the proprietary Nvidia driver documentation on the \fR\(oq__NV_PRIME_RENDER_OFFLOAD_PROVIDER\(cq\fP environment variable\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqNVIDIA\-G0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixGL\&.vulkan\&.enable\fR -.RS 4 -Whether to enable Vulkan in nixGL wrappers\&. -.sp -This is disabled by default bacause Vulkan brings in several libraries that can cause symbol version conflicts in wrapped programs\&. Your mileage may vary\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixgl\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.config\fR -.RS 4 -The configuration of the Nix Packages collection\&. (For details, see the Nixpkgs documentation\&.) It allows you to set package configuration options\&. -.sp -If \fR\(oqnull\(cq\fP, then configuration is taken from the fallback location, for example, \fI\(ti/\&.config/nixpkgs/config\&.nix\fP\&. -.sp -Note, this option will not apply outside your Home Manager configuration like when installing manually through \fBnix\-env\fP\&. If you want to apply it both inside and outside Home Manager you can put it in a separate file and include something like -.sp -.RS 4 -.nf - nixpkgs\&.config = import \&./nixpkgs\-config\&.nix; - xdg\&.configFile\&.\(dqnixpkgs/config\&.nix\(dq\&.source = \&./nixpkgs\-config\&.nix; -.fi -.RE -.sp -in your Home Manager configuration\&. -.sp -\fIType:\fR null or (nixpkgs config) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - allowBroken = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixpkgs\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.overlays\fR -.RS 4 -List of overlays to use with the Nix Packages collection\&. (For details, see the Nixpkgs documentation\&.) It allows you to override packages globally\&. This is a function that takes as an argument the \fIoriginal\fR Nixpkgs\&. The first argument should be used for finding dependencies, and the second should be used for overriding recipes\&. -.sp -If \fR\(oqnull\(cq\fP, then the overlays are taken from the fallback location, for example, \fI\(ti/\&.config/nixpkgs/overlays\fP\&. -.sp -Like \fInixpkgs\&.config\fP this option only applies within the Home Manager configuration\&. See \fInixpkgs\&.config\fP for a suggested setup that works both internally and externally\&. -.sp -\fIType:\fR null or (list of (nixpkgs overlay)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - (final: prev: { - openssh = prev\&.openssh\&.override { - hpnSupport = true; - withKerberos = true; - kerberos = final\&.libkrb5; - }; - }) -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/nixpkgs\&.nix>\fP -.RE -.RE -.PP -\fBpam\&.sessionVariables\fR -.RS 4 -Environment variables that will be set for the PAM session\&. The variable values must be as described in \fBpam_env\&.conf\fP\fR(5)\fP\&. -.sp -Note, this option will become deprecated in the future and its use is therefore discouraged\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - EDITOR = \(dqvim\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/pam\&.nix>\fP -.RE -.RE -.PP -\fBpam\&.yubico\&.authorizedYubiKeys\&.ids\fR -.RS 4 -List of authorized YubiKey token IDs\&. Refer to \fBhttps://developers\&.yubico\&.com/yubico\-pam\fR[1]\fR for details on how to obtain the token ID of a YubiKey\&. -.sp -\fIType:\fR list of string of length 12 -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/pam\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developers\&.yubico\&.com/yubico\-pam -.RE -.RE -.PP -\fBpam\&.yubico\&.authorizedYubiKeys\&.path\fR -.RS 4 -File path to write the authorized YubiKeys, relative to \fBHOME\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\&.yubico/authorized_yubikeys\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/pam\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.abook\&.enable\fR -.RS 4 -Whether to enable Abook\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/abook\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.abook\&.package\fR -.RS 4 -The abook package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.abook -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/abook\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.abook\&.extraConfig\fR -.RS 4 -Extra lines added to \fI$HOME/\&.config/abook/abookrc\fP\&. Available configuration options are described in the abook repository: \fBhttps://sourceforge\&.net/p/abook/git/ci/master/tree/sample\&.abookrc\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - field pager = Pager - view CONTACT = name, email - set autosave=true -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/abook\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://sourceforge\&.net/p/abook/git/ci/master/tree/sample\&.abookrc -.RE -.RE -.PP -\fBprograms\&.aerc\&.enable\fR -.RS 4 -Whether to enable aerc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.package\fR -.RS 4 -The aerc package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.aerc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.extraAccounts\fR -.RS 4 -Extra lines added to \fI$HOME/\&.config/aerc/accounts\&.conf\fP\&. -.sp -See \fBaerc\-config\fP\fR(5)\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or attribute set of attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { Work = { source = \(dqmaildir://\(ti/Maildir/work\(dq; }; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.extraBinds\fR -.RS 4 -Extra lines added to \fI$HOME/\&.config/aerc/binds\&.conf\fP\&. Global keybindings can be set in the \fR\(oqglobal\(cq\fP section\&. -.sp -See \fBaerc\-config\fP\fR(5)\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or attribute set of attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { messages = { q = \(dq:quit<Enter>\(dq; }; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.extraConfig\fR -.RS 4 -Extra lines added to \fI$HOME/\&.config/aerc/aerc\&.conf\fP\&. -.sp -See \fBaerc\-config\fP\fR(5)\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or attribute set of attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { ui = { sort = \(dq\-r date\(dq; }; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.stylesets\fR -.RS 4 -Stylesets added to \fI$HOME/\&.config/aerc/stylesets/\fP\&. -.sp -See \fBaerc\-stylesets\fP\fR(7)\fP\&. -.sp -\fIType:\fR attribute set of ((attribute set of (values (null, bool, int, string, or float) or a list of values, that will be joined with a comma)) or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ default = { ui = { \(dqtab\&.selected\&.reverse\(dq = toggle; }; }; }; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerc\&.templates\fR -.RS 4 -Templates added to \fI$HOME/\&.config/aerc/templates/\fP\&. -.sp -See \fBaerc\-templates\fP\fR(7)\fP\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ new_message = \(dqHello!\(dq; }; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.enable\fR -.RS 4 -Whether to enable AeroSpace window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.package\fR -.RS 4 -The aerospace package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.aerospace -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\fR -.RS 4 -AeroSpace configuration, see \fBhttps://nikitabobko\&.github\&.io/AeroSpace/guide#configuring\-aerospace\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gaps = { - outer\&.left = 8; - outer\&.bottom = 8; - outer\&.top = 8; - outer\&.right = 8; - }; - mode\&.main\&.binding = { - alt\-h = \(dqfocus left\(dq; - alt\-j = \(dqfocus down\(dq; - alt\-k = \(dqfocus up\(dq; - alt\-l = \(dqfocus right\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://nikitabobko\&.github\&.io/AeroSpace/guide#configuring\-aerospace -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.enable\-normalization\-flatten\-containers\fR -.RS 4 -Containers that have only one child are \[u201C]flattened\[u201D]\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.enable\-normalization\-opposite\-orientation\-for\-nested\-containers\fR -.RS 4 -Containers that nest into each other must have opposite orientations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.accordion\-padding\fR -.RS 4 -Padding between windows in an accordion container\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 30 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.after\-login\-command\fR -.RS 4 -You can use it to add commands that run after login to macOS user session\&. \[u2018]start\-at\-login\[u2019] needs to be \[u2018]true\[u2019] for \[u2018]after\-login\-command\[u2019] to work\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.after\-startup\-command\fR -.RS 4 -You can use it to add commands that run after AeroSpace startup\&. \[u2018]after\-startup\-command\[u2019] is run after \[u2018]after\-login\-command\[u2019] -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqlayout tiles\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.default\-root\-container\-layout\fR -.RS 4 -Default layout for the root container\&. -.sp -\fIType:\fR one of \[u201C]tiles\[u201D], \[u201C]accordion\[u201D] -.sp -\fIDefault:\fR \(dqtiles\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.default\-root\-container\-orientation\fR -.RS 4 -Default orientation for the root container\&. -.sp -\fIType:\fR one of \[u201C]horizontal\[u201D], \[u201C]vertical\[u201D], \[u201C]auto\[u201D] -.sp -\fIDefault:\fR \(dqauto\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.exec\-on\-workspace\-change\fR -.RS 4 -Commands to run every time workspace changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/bin/bash\(dq - \(dq\-c\(dq - \(dqsketchybar \-\-trigger aerospace_workspace_change FOCUSED=$AEROSPACE_FOCUSED_WORKSPACE\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.key\-mapping\&.preset\fR -.RS 4 -Keymapping preset\&. -.sp -\fIType:\fR one of \[u201C]qwerty\[u201D], \[u201C]dvorak\[u201D] -.sp -\fIDefault:\fR \(dqqwerty\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-focus\-changed\fR -.RS 4 -Commands to run every time focused window or workspace changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmove\-mouse monitor\-lazy\-center\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-focused\-monitor\-changed\fR -.RS 4 -Commands to run every time focused monitor changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqmove\-mouse monitor\-lazy\-center\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\fR -.RS 4 -Commands to run every time a new window is detected with optional conditions\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - check\-further\-callbacks = false; - if = { - app\-id = \(dqAnother\&.Cool\&.App\(dq; - app\-name\-regex\-substring = \(dqCoolApp\(dq; - during\-aerospace\-startup = false; - window\-title\-regex\-substring = \(dqTitle\(dq; - workspace = \(dqcool\-workspace\(dq; - }; - run = [ - \(dqmove\-node\-to\-workspace m\(dq - \(dqresize\-node\(dq - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.check\-further\-callbacks\fR -.RS 4 -Whether to check further callbacks after this rule (optional)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\fR -.RS 4 -Conditions for detecting a window\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\&.app\-id\fR -.RS 4 -The application ID to match (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\&.app\-name\-regex\-substring\fR -.RS 4 -Regex substring to match the app name (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\&.during\-aerospace\-startup\fR -.RS 4 -Whether to match during aerospace startup (optional)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\&.window\-title\-regex\-substring\fR -.RS 4 -Substring to match in the window title (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.if\&.workspace\fR -.RS 4 -The workspace name to match (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.on\-window\-detected\&.*\&.run\fR -.RS 4 -Commands to execute when the conditions match (required)\&. -.sp -\fIType:\fR string or list of string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmove\-node\-to\-workspace m\(dq - \(dqresize\-node\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.start\-at\-login\fR -.RS 4 -Start AeroSpace at login\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aerospace\&.userSettings\&.workspace\-to\-monitor\-force\-assignment\fR -.RS 4 -Map workspaces to specific monitors\&. Left\-hand side is the workspace name, and right\-hand side is the monitor pattern\&. -.sp -\fIType:\fR null or (attribute set of (signed integer or string or list of string)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq1\(dq = 1; - \(dq2\(dq = \(dqmain\(dq; - \(dq3\(dq = \(dqsecondary\(dq; - \(dq4\(dq = \(dqbuilt\-in\(dq; - \(dq5\(dq = \(dq\(habuilt\-in retina display$\(dq; - \(dq6\(dq = [ - \(dqsecondary\(dq - \(dqdell\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aerospace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.afew\&.enable\fR -.RS 4 -Whether to enable the afew initial tagging script for Notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/afew\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.afew\&.package\fR -.RS 4 -The afew package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.afew -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/afew\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.afew\&.extraConfig\fR -.RS 4 -Extra lines added to afew configuration file\&. Available configuration options are described in the afew manual: \fBhttps://afew\&.readthedocs\&.io/en/latest/configuration\&.html\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - [SpamFilter] - [KillThreadsFilter] - [ListMailsFilter] - [ArchiveSentMailsFilter] - [InboxFilter] -\(aq\(aq -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - [SpamFilter] - - [Filter\&.0] - query = from:pointyheaded@boss\&.com - tags = \-new;+boss - message = Message from above - - [InboxFilter] -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/afew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://afew\&.readthedocs\&.io/en/latest/configuration\&.html -.RE -.RE -.PP -\fBprograms\&.aichat\&.enable\fR -.RS 4 -Whether to enable aichat, an All\-in\-one LLM CLI tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aichat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aichat\&.package\fR -.RS 4 -The aichat package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.aichat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aichat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aichat\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/aichat/config\&.yaml\fP on Linux or on Darwin if \fBxdg.enable\fR[1]\fR is set, otherwise \fI\(ti/Library/Application Support/aichat/config\&.yaml\fP\&. See \fBhttps://github\&.com/sigoden/aichat/blob/main/config\&.example\&.yaml\fR[2]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - model = \(dqollama:mistral\-small3\&.1:latest\(dq; - clients = [ - { - type = \(dqopenai\-compatible\(dq; - name = \(dqollama\(dq; - api_base = \(dqhttp://localhost:11434/v1\(dq; - models = [ - { - name = \(dqmistral\-small3\&.1:latest\(dq; - supports_function_calling = true; - supports_vision = true; - } - ]; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aichat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.enable\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/sigoden/aichat/blob/main/config\&.example\&.yaml -.RE -.RE -.PP -\fBprograms\&.alacritty\&.enable\fR -.RS 4 -Whether to enable Alacritty\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alacritty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alacritty\&.package\fR -.RS 4 -The alacritty package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.alacritty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alacritty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alacritty\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/alacritty/alacritty\&.yml\fP or \fI$XDG_CONFIG_HOME/alacritty/alacritty\&.toml\fP (the latter being used for alacritty 0\&.13 and later)\&. See \fBhttps://github\&.com/alacritty/alacritty/tree/master#configuration\fR[1]\fR for more info\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - window\&.dimensions = { - lines = 3; - columns = 200; - }; - keyboard\&.bindings = [ - { - key = \(dqK\(dq; - mods = \(dqControl\(dq; - chars = \(dq\e\eu000c\(dq; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alacritty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/alacritty/alacritty/tree/master#configuration -.RE -.RE -.PP -\fBprograms\&.alacritty\&.theme\fR -.RS 4 -A theme from the \fBalacritty\-theme\fR[1]\fR repository to import in the configuration\&. See \fBhttps://github\&.com/alacritty/alacritty\-theme/tree/master/themes\fR[2]\fR for a list of available themes\&. If you would like to import your own theme, use \fBprograms\&.alacritty\&.settings\&.general\&.import\fP or \fBprograms\&.alacritty\&.settings\&.colors\fP directly\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsolarized_dark\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alacritty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/alacritty/alacritty\-theme -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/alacritty/alacritty\-theme/tree/master/themes -.RE -.RE -.PP -\fBprograms\&.alot\&.enable\fR -.RS 4 -Whether to enable the Alot mail user agent\&. Alot uses the Notmuch email system and will therefore be automatically enabled for each email account that is managed by Notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.package\fR -.RS 4 -The alot package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.alot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\fR -.RS 4 -Keybindings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.bufferlist\fR -.RS 4 -Bufferlist mode keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.envelope\fR -.RS 4 -Envelope mode keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.global\fR -.RS 4 -Global keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.search\fR -.RS 4 -Search mode keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.taglist\fR -.RS 4 -Taglist mode keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.bindings\&.thread\fR -.RS 4 -Thread mode keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.extraConfig\fR -.RS 4 -Extra lines added to alot configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.hooks\fR -.RS 4 -Content of the hooks file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.settings\fR -.RS 4 -Configuration options added to alot configuration file\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or floating point number) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - auto_remove_unread = true; - handle_mouse = true; - initial_command = \(dqsearch tag:inbox AND NOT tag:killed\(dq; - prefer_plaintext = true; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - auto_remove_unread = true; - ask_subject = false; - thread_indent_replies = 2; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.tags\fR -.RS 4 -How to display the tags\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.tags\&.<name>\&.focus\fR -.RS 4 -How to display the tag when focused\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.tags\&.<name>\&.normal\fR -.RS 4 -How to display the tag when unfocused\&. See \fBhttps://alot\&.readthedocs\&.io/en/latest/configuration/theming\&.html#tagstring\-formatting\fR[1]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\(aq\(aq,\(aq\(aq, \(aqwhite\(aq,\(aqlight red\(aq, \(aqwhite\(aq,\(aq#d66\(aq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://alot\&.readthedocs\&.io/en/latest/configuration/theming\&.html#tagstring\-formatting -.RE -.RE -.PP -\fBprograms\&.alot\&.tags\&.<name>\&.translated\fR -.RS 4 -Fixed string representation for this tag\&. The tag can be hidden from view, if the key translated is set to \fR\(oq\(dq\(dq\(cq\fP, the empty string\&. -.sp -\fIType:\fR null or string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.alot\&.tags\&.<name>\&.translation\fR -.RS 4 -A pair of strings that define a regular substitution to compute the string representation on the fly using \fR\(oqre\&.sub\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/alot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.enable\fR -.RS 4 -Whether to enable anyrun\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.package\fR -.RS 4 -The anyrun package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.anyrun -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.closeOnClick\fR -.RS 4 -Close window when a click outside the main box is received\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.height\fR -.RS 4 -The minimum height of the runner, the runner will expand to fit all the entries\&. -.sp -This is a numeric option \- pass either \fR\(oq{ absolute = int; };\(cq\fP or \fR\(oq{ fraction = float; };\(cq\fP\&. when using \fR\(oqabsolute\(cq\fP it sets the absolute value in pixels, when using \fR\(oqfraction\(cq\fP, it sets a fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - absolute = 0; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { absolute = 200; }; - or - { fraction = 0\&.4; }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.height\&.absolute\fR -.RS 4 -Absolute value in pixels\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.height\&.fraction\fR -.RS 4 -Fraction of the screen\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.hideIcons\fR -.RS 4 -Hide match and plugin info icons\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.hidePluginInfo\fR -.RS 4 -Hide the plugin info panel\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.ignoreExclusiveZones\fR -.RS 4 -Ignore exclusive zones, eg\&. Waybar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.layer\fR -.RS 4 -Layer shell layer (background, bottom, top or overlay)\&. -.sp -\fIType:\fR one of \[u201C]background\[u201D], \[u201C]bottom\[u201D], \[u201C]top\[u201D], \[u201C]overlay\[u201D] -.sp -\fIDefault:\fR \(dqoverlay\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.maxEntries\fR -.RS 4 -Limit amount of entries shown in total\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.plugins\fR -.RS 4 -List of anyrun plugins to use\&. Can either be packages, absolute plugin paths, or strings\&. -.sp -\fIType:\fR null or (list of (package or string)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.showResultsImmediately\fR -.RS 4 -Show search results immediately when Anyrun starts\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.width\fR -.RS 4 -The width of the runner\&. -.sp -This is a numeric option \- pass either \fR\(oq{ absolute = int; };\(cq\fP or \fR\(oq{ fraction = float; };\(cq\fP\&. when using \fR\(oqabsolute\(cq\fP it sets the absolute value in pixels, when using \fR\(oqfraction\(cq\fP, it sets a fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - absolute = 800; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { absolute = 200; }; - or - { fraction = 0\&.4; }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.width\&.absolute\fR -.RS 4 -Absolute value in pixels\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.width\&.fraction\fR -.RS 4 -Fraction of the screen\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.x\fR -.RS 4 -The horizontal position, adjusted so that { relative = 0\&.5; } always centers the runner\&. -.sp -This is a numeric option \- pass either \fR\(oq{ absolute = int; };\(cq\fP or \fR\(oq{ fraction = float; };\(cq\fP\&. when using \fR\(oqabsolute\(cq\fP it sets the absolute value in pixels, when using \fR\(oqfraction\(cq\fP, it sets a fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - fraction = 0\&.5; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { absolute = 200; }; - or - { fraction = 0\&.4; }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.x\&.absolute\fR -.RS 4 -Absolute value in pixels\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.x\&.fraction\fR -.RS 4 -Fraction of the screen\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.y\fR -.RS 4 -The vertical position, works the same as x\&. -.sp -This is a numeric option \- pass either \fR\(oq{ absolute = int; };\(cq\fP or \fR\(oq{ fraction = float; };\(cq\fP\&. when using \fR\(oqabsolute\(cq\fP it sets the absolute value in pixels, when using \fR\(oqfraction\(cq\fP, it sets a fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - fraction = 0\&.0; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { absolute = 200; }; - or - { fraction = 0\&.4; }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.y\&.absolute\fR -.RS 4 -Absolute value in pixels\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.config\&.y\&.fraction\fR -.RS 4 -Fraction of the screen\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.extraConfigFiles\fR -.RS 4 -Extra files to put in \fI\(ti/\&.config/anyrun\fP, a wrapper over \fBxdg\&.configFile\fP\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - programs\&.anyrun\&.extraConfigFiles\&.\(dqplugin\-name\&.ron\(dq\&.text = \(aq\(aq\(aq - Config( - some_option: true, - ) - \(aq\(aq\(aq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.anyrun\&.extraCss\fR -.RS 4 -Extra CSS lines to add to \fI\(ti/\&.config/anyrun/style\&.css\fP\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/anyrun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aria2\&.enable\fR -.RS 4 -Whether to enable aria2\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aria2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aria2\&.package\fR -.RS 4 -The aria2 package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.aria2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aria2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aria2\&.extraConfig\fR -.RS 4 -Extra lines added to \fIaria2\&.conf\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aria2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.aria2\&.settings\fR -.RS 4 -Options to add to \fIaria2\&.conf\fP file\&. See \fBaria2c\fP\fR(1)\fP for options\&. -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - listen\-port = 60000; - dht\-listen\-port = 60000; - seed\-ratio = 1\&.0; - max\-upload\-limit = \(dq50K\(dq; - ftp\-pasv = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/aria2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ashell\&.enable\fR -.RS 4 -Whether to enable ashell, a ready to go wayland status bar for hyprland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ashell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ashell\&.package\fR -.RS 4 -The ashell package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ashell -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ashell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ashell\&.settings\fR -.RS 4 -Ashell configuration written to \fI$XDG_CONFIG_HOME/ashell\&.yml\fP\&. For available settings see \fBhttps://github\&.com/MalpenZibo/ashell/tree/0\&.4\&.1?tab=readme\-ov\-file#configuration\fR[1]\fR\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - modules = { - center = [ - \(dqWindow Title\(dq - ]; - left = [ - \(dqWorkspaces\(dq - ]; - right = [ - \(dqSystemInfo\(dq - [ - \(dqClock\(dq - \(dqPrivacy\(dq - \(dqSettings\(dq - ] - ]; - }; - workspaces = { - visibilityMode = \(dqMonitorSpecific\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ashell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/MalpenZibo/ashell/tree/0\&.4\&.1?tab=readme\-ov\-file#configuration -.RE -.RE -.PP -\fBprograms\&.ashell\&.systemd\&.enable\fR -.RS 4 -Whether to enable ashell systemd service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ashell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ashell\&.systemd\&.target\fR -.RS 4 -The systemd target that will automatically start ashell\&. -.sp -If you set this to a WM\-specific target, make sure that systemd integration for that WM is enabled (for example, \fBwayland.windowManager.hyprland.systemd.enable\fR[1]\fR)\&. This is typically true by default\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqhyprland\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ashell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBwayland\&.windowManager\&.hyprland\&.systemd\&.enable\fP option -.RE -.RE -.PP -\fBprograms\&.astroid\&.enable\fR -.RS 4 -Whether to enable Astroid\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.astroid\&.package\fR -.RS 4 -The astroid package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.astroid -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.astroid\&.externalEditor\fR -.RS 4 -You can use the following variables: -.RS 4 -.PP -\fR\(oq%1\(cq\fP -.RS 4 -file name -.RE -.PP -\fR\(oq%2\(cq\fP -.RS 4 -server name -.RE -.PP -\fR\(oq%3\(cq\fP -.RS 4 -socket ID -.RE -.RE -.sp -See \fBCustomizing editor\fR[1]\fR on the Astroid wiki\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqnvim\-qt \-\- \-c \(aqset ft=mail\(aq \(aq+set fileencoding=utf\-8\(aq \(aq+set ff=unix\(aq \(aq+set enc=utf\-8\(aq \(aq+set fo+=w\(aq %1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/astroidmail/astroid/wiki/Customizing\-editor -.RE -.RE -.PP -\fBprograms\&.astroid\&.extraConfig\fR -.RS 4 -JSON config that will override the default Astroid configuration\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - poll\&.interval = 0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.astroid\&.pollScript\fR -.RS 4 -Script to run to fetch/update mails\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqmbsync gmail\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/astroid\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.enable\fR -.RS 4 -Whether to enable atuin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -If enabled, this will bind \fR\(oqctrl\-r\(cq\fP to open the Atuin history\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.atuin\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -If enabled, this will bind the up\-arrow key to open the Atuin history\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.atuin\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.atuin\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -If enabled, this will bind \fR\(oqctrl\-r\(cq\fP and the up\-arrow key to open the Atuin history\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.atuin\&.package\fR -.RS 4 -The atuin package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.atuin -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.daemon\&.enable\fR -.RS 4 -Whether to enable Atuin daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.daemon\&.logLevel\fR -.RS 4 -Verbosity of Atuin daemon logging\&. -.sp -\fIType:\fR null or one of \[u201C]trace\[u201D], \[u201C]debug\[u201D], \[u201C]info\[u201D], \[u201C]warn\[u201D], \[u201C]error\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.flags\fR -.RS 4 -Flags to append to the shell hook\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-disable\-up\-arrow\(dq - \(dq\-\-disable\-ctrl\-r\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.atuin\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/atuin/config\&.toml\fP\&. -.sp -See \fBhttps://docs\&.atuin\&.sh/configuration/config/\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR Atuin configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - auto_sync = true; - sync_frequency = \(dq5m\(dq; - sync_address = \(dqhttps://api\&.atuin\&.sh\(dq; - search_mode = \(dqprefix\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.atuin\&.sh/configuration/config/ -.RE -.RE -.PP -\fBprograms\&.atuin\&.themes\fR -.RS 4 -Each theme is written to \fI$XDG_CONFIG_HOME/atuin/themes/theme\-name\&.toml\fP where the name of each attribute is the theme\-name -.sp -See \fBhttps://docs\&.atuin\&.sh/guide/theming/\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR attribute set of (TOML value or absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmy\-theme\(dq = { - theme\&.name = \(dqMy Theme\(dq; - colors = { - Base = \(dq#000000\(dq; - Title = \(dq#FFFFFF\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/atuin\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.atuin\&.sh/guide/theming/ -.RE -.RE -.PP -\fBprograms\&.autojump\&.enable\fR -.RS 4 -Whether to enable autojump\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autojump\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autojump\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autojump\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.autojump\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autojump\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.autojump\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autojump\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.autojump\&.package\fR -.RS 4 -The autojump package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.autojump -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autojump\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.enable\fR -.RS 4 -Whether to enable Autorandr\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.package\fR -.RS 4 -The autorandr package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.autorandr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.hooks\fR -.RS 4 -Global hook scripts -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - postswitch = { - \(dqnotify\-i3\(dq = \(dq${pkgs\&.i3}/bin/i3\-msg restart\(dq; - \(dqchange\-background\(dq = readFile \&./change\-background\&.sh; - \(dqchange\-dpi\(dq = \(aq\(aq - case \(dq$AUTORANDR_CURRENT_PROFILE\(dq in - default) - DPI=120 - ;; - home) - DPI=192 - ;; - work) - DPI=144 - ;; - *) - echo \(dqUnknown profile: $AUTORANDR_CURRENT_PROFILE\(dq - exit 1 - esac - - echo \(dqXft\&.dpi: $DPI\(dq | ${pkgs\&.xorg\&.xrdb}/bin/xrdb \-merge - \(aq\(aq - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.hooks\&.postswitch\fR -.RS 4 -Postswitch hook executed after mode switch\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.hooks\&.predetect\fR -.RS 4 -Predetect hook executed before autorandr attempts to run xrandr\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.hooks\&.preswitch\fR -.RS 4 -Preswitch hook executed before mode switch\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\fR -.RS 4 -Autorandr profiles specification\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqwork\(dq = { - fingerprint = { - eDP1 = \(dq<EDID>\(dq; - DP1 = \(dq<EDID>\(dq; - }; - config = { - eDP1\&.enable = false; - DP1 = { - enable = true; - crtc = 0; - primary = true; - position = \(dq0x0\(dq; - mode = \(dq3840x2160\(dq; - gamma = \(dq1\&.0:0\&.909:0\&.833\(dq; - rate = \(dq60\&.00\(dq; - rotate = \(dqleft\(dq; - }; - }; - hooks\&.postswitch = readFile \&./work\-postswitch\&.sh; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\fR -.RS 4 -Per output profile configuration\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.enable\fR -.RS 4 -Whether to enable the output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.crtc\fR -.RS 4 -Output video display controller\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.dpi\fR -.RS 4 -Output DPI configuration\&. -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 96 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.extraConfig\fR -.RS 4 -Extra lines to append to this profile\[u2019]s config\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - x\-prop\-non_desktop 0 - some\-key some\-value -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.filter\fR -.RS 4 -Interpolation method to be used for scaling the output\&. -.sp -\fIType:\fR null or one of \[u201C]bilinear\[u201D], \[u201C]nearest\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqnearest\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.gamma\fR -.RS 4 -Output gamma configuration\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq1\&.0:0\&.909:0\&.833\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.mode\fR -.RS 4 -Output resolution\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq3840x2160\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.position\fR -.RS 4 -Output position -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq5760x0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.primary\fR -.RS 4 -Whether output should be marked as primary -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.rate\fR -.RS 4 -Output framerate\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq60\&.00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.rotate\fR -.RS 4 -Output rotate configuration\&. -.sp -\fIType:\fR null or one of \[u201C]normal\[u201D], \[u201C]left\[u201D], \[u201C]right\[u201D], \[u201C]inverted\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqleft\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.scale\fR -.RS 4 -Output scale configuration\&. -.sp -Either configure by pixels or a scaling factor\&. When using pixel method the \fBxrandr\fP\fR(1)\fP option \fR\(oq\-\-scale\-from\(cq\fP will be used; when using factor method the option \fR\(oq\-\-scale\(cq\fP will be used\&. -.sp -This option is a shortcut version of the transform option and they are mutually exclusive\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - x = 1\&.25; - y = 1\&.25; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.scale\&.method\fR -.RS 4 -Output scaling method\&. -.sp -\fIType:\fR one of \[u201C]factor\[u201D], \[u201C]pixel\[u201D] -.sp -\fIDefault:\fR \(dqfactor\(dq -.sp -\fIExample:\fR \(dqpixel\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.scale\&.x\fR -.RS 4 -Horizontal scaling factor/pixels\&. -.sp -\fIType:\fR floating point number or (positive integer, meaning >0) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.scale\&.y\fR -.RS 4 -Vertical scaling factor/pixels\&. -.sp -\fIType:\fR floating point number or (positive integer, meaning >0) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.config\&.<name>\&.transform\fR -.RS 4 -Refer to \fBxrandr\fP\fR(1)\fP for the documentation of the transform matrix\&. -.sp -\fIType:\fR null or (3\[u00D7]3 matrix of floating point numbers) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - [ 0\&.6 0\&.0 0\&.0 ] - [ 0\&.0 0\&.6 0\&.0 ] - [ 0\&.0 0\&.0 1\&.0 ] -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.fingerprint\fR -.RS 4 -Output name to EDID mapping\&. Use \fR\(oqautorandr \-\-fingerprint\(cq\fP to get current setup values\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.hooks\fR -.RS 4 -Profile hook scripts\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.hooks\&.postswitch\fR -.RS 4 -Postswitch hook executed after mode switch\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.hooks\&.predetect\fR -.RS 4 -Predetect hook executed before autorandr attempts to run xrandr\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.autorandr\&.profiles\&.<name>\&.hooks\&.preswitch\fR -.RS 4 -Preswitch hook executed before mode switch\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.awscli\&.enable\fR -.RS 4 -Whether to enable AWS CLI tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/awscli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.awscli\&.package\fR -.RS 4 -The aws package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.awscli2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/awscli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.awscli\&.credentials\fR -.RS 4 -Configuration written to \fI$HOME/\&.aws/credentials\fP\&. -.sp -For security reasons, never store cleartext passwords here\&. We recommend that you use \fR\(oqcredential_process\(cq\fP option to retrieve the IAM credentials from your favorite password manager during runtime, or use AWS IAM Identity Center to get short\-term credentials\&. -.sp -See \fBhttps://docs\&.aws\&.amazon\&.com/cli/latest/userguide/cli\-chap\-authentication\&.html\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqdefault\(dq = { - \(dqcredential_process\(dq = \(dq${pkgs\&.pass}/bin/pass show aws\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/awscli\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.aws\&.amazon\&.com/cli/latest/userguide/cli\-chap\-authentication\&.html -.RE -.RE -.PP -\fBprograms\&.awscli\&.settings\fR -.RS 4 -Configuration written to \fI$HOME/\&.aws/config\fP\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqdefault\(dq = { - region = \(dqeu\-west\-3\(dq; - output = \(dqjson\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/awscli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bacon\&.enable\fR -.RS 4 -Whether to enable bacon, a background rust code checker\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bacon\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bacon\&.package\fR -.RS 4 -The bacon package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bacon -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bacon\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bacon\&.settings\fR -.RS 4 -Bacon configuration written to either \fILibrary/Application Support/org\&.dystroy\&.bacon/prefs\&.toml\fP (darwin) or \fI$XDG_CONFIG_HOME/bacon/prefs\&.toml\fP\&. For available settings see \fBhttps://dystroy\&.org/bacon/#global\-preferences\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - jobs = { - default = { - command = [ - \(dqcargo\(dq - \(dqbuild\(dq - \(dq\-\-all\-features\(dq - \(dq\-\-color\(dq - \(dqalways\(dq - ]; - need_stdout = true; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bacon\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://dystroy\&.org/bacon/#global\-preferences -.RE -.RE -.PP -\fBprograms\&.bash\&.enable\fR -.RS 4 -Whether to enable GNU Bourne\-Again SHell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.enableCompletion\fR -.RS 4 -Whether to enable Bash completion for all interactive Bash shells\&. -.sp -Note, if you use NixOS or nix\-darwin and do not have Bash completion enabled in the system configuration, then make sure to add -.sp -.RS 4 -.nf - environment\&.pathsToLink = [ \(dq/share/bash\-completion\(dq ]; -.fi -.RE -.sp -to your system configuration to get completion for system packages\&. Note, the legacy \fI/etc/bash_completion\&.d\fP path is not supported by Home Manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.enableVteIntegration\fR -.RS 4 -Whether to enable integration with terminals using the VTE library\&. This will let the terminal track the current working directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/vte\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.package\fR -.RS 4 -The bash package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bashInteractive -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.bashrcExtra\fR -.RS 4 -Extra commands that should be placed in \fI\(ti/\&.bashrc\fP\&. Note that these commands will be run even in non\-interactive shells\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.historyControl\fR -.RS 4 -Controlling how commands are saved on the history list\&. -.sp -\fIType:\fR list of (one of \[u201C]erasedups\[u201D], \[u201C]ignoredups\[u201D], \[u201C]ignorespace\[u201D], \[u201C]ignoreboth\[u201D]) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.historyFile\fR -.RS 4 -Location of the bash history file\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.historyFileSize\fR -.RS 4 -Number of history lines to keep on file\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR 100000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.historyIgnore\fR -.RS 4 -List of commands that should not be saved to the history list\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqls\(dq - \(dqcd\(dq - \(dqexit\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.historySize\fR -.RS 4 -Number of history lines to keep in memory\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.initExtra\fR -.RS 4 -Extra commands that should be run when initializing an interactive shell\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.logoutExtra\fR -.RS 4 -Extra commands that should be run when logging out of an interactive shell\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.profileExtra\fR -.RS 4 -Extra commands that should be run when initializing a login shell\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.sessionVariables\fR -.RS 4 -Environment variables that will be set for the Bash session\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MAILCHECK = 30; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ll = \(dqls \-l\(dq; - \(dq\&.\&.\(dq = \(dqcd \&.\&.\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.shellOptions\fR -.RS 4 -Shell options to set\&. Prefix an option with \[u201C]\fR\(oq\-\(cq\fP\[u201D] to unset\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqhistappend\(dq - \(dqcheckwinsize\(dq - \(dqextglob\(dq - \(dqglobstar\(dq - \(dqcheckjobs\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqextglob\(dq - \(dq\-cdspell\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bashmount\&.enable\fR -.RS 4 -Whether to enable bashmount\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bashmount\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bashmount\&.package\fR -.RS 4 -The bashmount package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bashmount -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bashmount\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bashmount\&.extraConfig\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/bashmount/config\fP\&. Look at \fBhttps://github\&.com/jamielinux/bashmount/blob/master/bashmount\&.conf\fR[1]\fR for explanation about possible values\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bashmount\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/jamielinux/bashmount/blob/master/bashmount\&.conf -.RE -.RE -.PP -\fBprograms\&.bat\&.enable\fR -.RS 4 -Whether to enable bat, a cat clone with wings\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bat\&.package\fR -.RS 4 -The bat package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.bat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bat\&.config\fR -.RS 4 -Bat configuration\&. -.sp -\fIType:\fR attribute set of (string or list of string or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - map\-syntax = [ - \(dq*\&.jenkinsfile:Groovy\(dq - \(dq*\&.props:Java Properties\(dq - ]; - pager = \(dqless \-FR\(dq; - theme = \(dqTwoDark\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bat\&.extraPackages\fR -.RS 4 -Additional bat packages to install\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs\&.bat\-extras; [ batdiff batman batgrep batwatch ]; -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bat\&.syntaxes\fR -.RS 4 -Additional syntaxes to provide\&. -.sp -\fIType:\fR attribute set of (strings concatenated with \[u201C]\en\[u201D] or (submodule)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gleam = { - src = pkgs\&.fetchFromGitHub { - owner = \(dqmolnarmark\(dq; - repo = \(dqsublime\-gleam\(dq; - rev = \(dq2e761cdb1a87539d827987f997a20a35efd68aa9\(dq; - hash = \(dqsha256\-Zj2DKTcO1t9g18qsNKtpHKElbRSc9nBRE2QBzRn9+qs=\(dq; - }; - file = \(dqsyntax/gleam\&.sublime\-syntax\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bat\&.themes\fR -.RS 4 -Additional themes to provide\&. -.sp -\fIType:\fR attribute set of (strings concatenated with \[u201C]\en\[u201D] or (submodule)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - dracula = { - src = pkgs\&.fetchFromGitHub { - owner = \(dqdracula\(dq; - repo = \(dqsublime\(dq; # Bat uses sublime syntax for its themes - rev = \(dq26c57ec282abcaa76e57e055f38432bd827ac34e\(dq; - sha256 = \(dq019hfl4zbn4vm4154hh3bwk6hm7bdxbr1hdww83nabxwjn99ndhv\(dq; - }; - file = \(dqDracula\&.tmTheme\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.enable\fR -.RS 4 -Whether to enable the beets music library manager\&. This defaults to \fR\(oqfalse\(cq\fP for state version\[u00A0]\[u2265]\[u00A0]19\&.03\&. For earlier versions beets is enabled if \fBprograms\&.beets\&.settings\fP is non\-empty\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dqfalse\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.package\fR -.RS 4 -The beets package to use\&. Can be used to specify extensions\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.beets -.sp -\fIExample:\fR (pkgs\&.beets\&.override { pluginOverrides = { beatport\&.enable = false; }; }) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.mpdIntegration\&.enableStats\fR -.RS 4 -Whether to enable mpdstats plugin and service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.mpdIntegration\&.enableUpdate\fR -.RS 4 -Whether to enable mpdupdate plugin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.mpdIntegration\&.host\fR -.RS 4 -The host that mpdstats will connect to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlocalhost\(dq -.sp -\fIExample:\fR \(dq10\&.0\&.0\&.42\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.mpdIntegration\&.port\fR -.RS 4 -The port that mpdstats will connect to\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR config\&.services\&.mpd\&.network\&.port -.sp -\fIExample:\fR 6601 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.beets\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/beets/config\&.yaml\fP -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/beets\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bemenu\&.enable\fR -.RS 4 -Whether to enable bemenu\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bemenu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bemenu\&.package\fR -.RS 4 -The bemenu package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bemenu -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bemenu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bemenu\&.settings\fR -.RS 4 -Configuration options for bemenu\&. See \fBbemenu\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of (string or signed integer or floating point number or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - line\-height = 28; - prompt = \(dqopen\(dq; - ignorecase = true; - fb = \(dq#1e1e2e\(dq; - ff = \(dq#cdd6f4\(dq; - nb = \(dq#1e1e2e\(dq; - nf = \(dq#cdd6f4\(dq; - tb = \(dq#1e1e2e\(dq; - hb = \(dq#1e1e2e\(dq; - tf = \(dq#f38ba8\(dq; - hf = \(dq#f9e2af\(dq; - af = \(dq#cdd6f4\(dq; - ab = \(dq#1e1e2e\(dq; - width\-factor = 0\&.3; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bemenu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.enable\fR -.RS 4 -Whether to enable Borgmatic\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.package\fR -.RS 4 -The borgmatic package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.borgmatic -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\fR -.RS 4 -Borgmatic allows for several named backup configurations, each with its own source directories and repositories\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - personal = { - location = { - sourceDirectories = [ \(dq/home/me/personal\(dq ]; - repositories = [ \(dqssh://myuser@myserver\&.com/\&./personal\-repo\(dq ]; - }; - }; - work = { - location = { - sourceDirectories = [ \(dq/home/me/work\(dq ]; - repositories = [ \(dqssh://myuser@myserver\&.com/\&./work\-repo\(dq ]; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.consistency\&.checks\fR -.RS 4 -Consistency checks to run -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqrepository\(dq; - frequency = \(dq2 weeks\(dq; - } - { - name = \(dqarchives\(dq; - frequency = \(dq4 weeks\(dq; - } - { - name = \(dqdata\(dq; - frequency = \(dq6 weeks\(dq; - } - { - name = \(dqextract\(dq; - frequency = \(dq6 weeks\(dq; - } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.consistency\&.checks\&.*\&.frequency\fR -.RS 4 -Frequency of this type of check -.sp -\fIType:\fR null or string matching the pattern ([[:digit:]]+ \&.*)|always -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq2 weeks\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.consistency\&.checks\&.*\&.name\fR -.RS 4 -Name of consistency check to run\&. -.sp -\fIType:\fR one of \[u201C]repository\[u201D], \[u201C]archives\[u201D], \[u201C]data\[u201D], \[u201C]extract\[u201D] -.sp -\fIExample:\fR \(dqrepository\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.consistency\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.hooks\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.excludeHomeManagerSymlinks\fR -.RS 4 -Whether to exclude Home Manager generated symbolic links from the backups\&. This facilitates restoring the whole home directory when the Nix store doesn\[u2019]t contain the latest Home Manager generation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.patterns\fR -.RS 4 -Patterns to include/exclude\&. -.sp -See the output of \fR\(oqborg help patterns\(cq\fP for the syntax\&. Pattern paths are relative to \fR\(oq/\(cq\fP even when a different recursion root is set\&. -.sp -Mutually exclusive with \fBprograms.borgmatic.backups.<name>.location.sourceDirectories\fR[1]\fR\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqR /home/user\(dq - \(dq\- home/user/\&.cache\(dq - \(dq\- home/user/Downloads\(dq - \(dq+ home/user/Videos/Important Video\(dq - \(dq\- home/user/Videos\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.sourceDirectories\fP option -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.repositories\fR -.RS 4 -List of local or remote repositories with paths and optional labels\&. -.sp -\fIType:\fR list of (string or (submodule)) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - \(dqpath\(dq = \(dqssh://myuser@myrepo\&.myserver\&.com/\&./repo\(dq; - \(dqlabel\(dq = \(dqserver\(dq; - } - { - \(dqpath\(dq = \(dq/var/lib/backups/local\&.borg\(dq; - \(dqlabel\(dq = \(dqlocal\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.sourceDirectories\fR -.RS 4 -Directories to backup\&. -.sp -Mutually exclusive with \fBprograms.borgmatic.backups.<name>.location.patterns\fR[1]\fR\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR [config\&.home\&.homeDirectory] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.borgmatic\&.backups\&.<name>\&.location\&.patterns\fP option -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.output\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepDaily\fR -.RS 4 -Number of daily archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepHourly\fR -.RS 4 -Number of hourly archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepMinutely\fR -.RS 4 -Number of minutely archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepMonthly\fR -.RS 4 -Number of monthly archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepSecondly\fR -.RS 4 -Number of secondly archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepWeekly\fR -.RS 4 -Number of weekly archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepWithin\fR -.RS 4 -Keep all archives within this time interval\&. -.sp -\fIType:\fR null or string matching the pattern [[:digit:]]+[Hdwmy] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq2d\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.retention\&.keepYearly\fR -.RS 4 -Number of yearly archives to keep\&. Use \-1 for no limit\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.storage\&.encryptionPasscommand\fR -.RS 4 -Command writing the passphrase to standard output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq${pkgs\&.password\-store}/bin/pass borg\-repo\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.borgmatic\&.backups\&.<name>\&.storage\&.extraConfig\fR -.RS 4 -Extra settings\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bottom\&.enable\fR -.RS 4 -Whether to enable bottom, a cross\-platform graphical process/system monitor with a customizable interface\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bottom\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bottom\&.package\fR -.RS 4 -The bottom package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bottom -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bottom\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bottom\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/bottom/bottom\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/ClementTsang/bottom/blob/master/sample_configs/default_config\&.toml\fR[1]\fR for the default configuration\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - flags = { - avg_cpu = true; - temperature_type = \(dqc\(dq; - }; - - colors = { - low_battery_color = \(dqred\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bottom\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ClementTsang/bottom/blob/master/sample_configs/default_config\&.toml -.RE -.RE -.PP -\fBprograms\&.boxxy\&.enable\fR -.RS 4 -Whether to enable boxxy: Boxes in badly behaving applications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.package\fR -.RS 4 -The boxxy package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.boxxy -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\fR -.RS 4 -List of boxxy rules -.sp -\fIType:\fR list of (YAML 1\&.1 value) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.context\fR -.RS 4 -Apply redirection ONLY when in a certain directory\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/home/example/Projects/my\-project\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.env\fR -.RS 4 -Give certain environment variables for said match\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MY_ENV_VAR = \(dqmy_env_var_value\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.mode\fR -.RS 4 -Does the current path redirect a file or a directory? -.sp -\fIType:\fR one of \[u201C]file\[u201D], \[u201C]directory\[u201D] -.sp -\fIDefault:\fR \(dqdirectory\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.name\fR -.RS 4 -Unique identifier of the boxxy rule\&. This can be any single\-line string\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.only\fR -.RS 4 -Apply redirection ONLY to specified executable names\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqbash\(dq - \(dq/usr/bin/sh\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.rewrite\fR -.RS 4 -Where that file/directory should be rewritten to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq${config\&.xdg\&.configHome}/ssh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.boxxy\&.rules\&.*\&.target\fR -.RS 4 -What directory/file to redirect\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq\(ti/\&.ssh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/boxxy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.brave\&.nativeMessagingHosts\fR -.RS 4 -List of Brave Browser native messaging hosts to install\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - pkgs\&.kdePackages\&.plasma\-browser\-integration -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.enable\fR -.RS 4 -Whether to enable Broot, a better way to navigate directories\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.broot\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.broot\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.broot\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.broot\&.package\fR -.RS 4 -The broot package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.broot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.settings\fR -.RS 4 -Verbatim config entries -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.settings\&.modal\fR -.RS 4 -Whether to enable modal (vim) mode\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.settings\&.skin\fR -.RS 4 -Color configuration\&. -.sp -Complete list of keys (expected to change before the v1 of broot): -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqchar_match\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqcode\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqdirectory\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqexe\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqfile\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqfile_error\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqflag_label\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqflag_value\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqinput\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqlink\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqpermissions\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqselected_line\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqsize_bar_full\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqsize_bar_void\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqsize_text\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqspinner\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqstatus_error\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqstatus_normal\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqtable_border\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqtree\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqunlisted\(cq\fP -.RE -.sp -Add \fR\(oq_fg\(cq\fP for a foreground color and \fR\(oq_bg\(cq\fP for a background color\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - status_normal_fg = \(dqgrayscale(18)\(dq; - status_normal_bg = \(dqgrayscale(3)\(dq; - status_error_fg = \(dqred\(dq; - status_error_bg = \(dqyellow\(dq; - tree_fg = \(dqred\(dq; - selected_line_bg = \(dqgrayscale(7)\(dq; - permissions_fg = \(dqgrayscale(12)\(dq; - size_bar_full_bg = \(dqred\(dq; - size_bar_void_bg = \(dqblack\(dq; - directory_fg = \(dqlightyellow\(dq; - input_fg = \(dqcyan\(dq; - flag_value_fg = \(dqlightyellow\(dq; - table_border_fg = \(dqred\(dq; - code_fg = \(dqlightyellow\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.broot\&.settings\&.verbs\fR -.RS 4 -Define new verbs\&. For more information, see \fBVerb Definition Attributes\fR[1]\fR in the broot documentation\&. -.sp -The possible attributes are: -.RS 4 -.PP -\fR\(oqinvocation\(cq\fP (optional) -.RS 4 -how the verb is called by the user, with placeholders for arguments -.RE -.PP -\fR\(oqexecution\(cq\fP (mandatory) -.RS 4 -how the verb is executed -.RE -.PP -\fR\(oqkey\(cq\fP (optional) -.RS 4 -a keyboard key triggering execution -.RE -.PP -\fR\(oqkeys\(cq\fP (optional) -.RS 4 -multiple keyboard keys each triggering execution -.RE -.PP -\fR\(oqshortcut\(cq\fP (optional) -.RS 4 -an alternate way to call the verb (without the arguments part) -.RE -.PP -\fR\(oqleave_broot\(cq\fP (optional) -.RS 4 -whether to quit broot on execution (default: \fR\(oqtrue\(cq\fP) -.RE -.PP -\fR\(oqfrom_shell\(cq\fP (optional) -.RS 4 -whether the verb must be executed from the parent shell (default: \fR\(oqfalse\(cq\fP) -.RE -.RE -.sp -\fIType:\fR list of attribute set of (boolean or string or list of string) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { invocation = \(dqp\(dq; execution = \(dq:parent\(dq; } - { invocation = \(dqedit\(dq; shortcut = \(dqe\(dq; execution = \(dq$EDITOR {file}\(dq ; } - { invocation = \(dqcreate {subpath}\(dq; execution = \(dq$EDITOR {directory}/{subpath}\(dq; } - { invocation = \(dqview\(dq; execution = \(dqless {file}\(dq; } - { - invocation = \(dqblop {name}\e\e\&.{type}\(dq; - execution = \(dqmkdir {parent}/{type} && ${pkgs\&.neovim}/bin/nvim {parent}/{type}/{name}\&.{type}\(dq; - from_shell = true; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/broot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://dystroy\&.org/broot/documentation/configuration/#verb\-definition\-attributes -.RE -.RE -.PP -\fBprograms\&.browserpass\&.enable\fR -.RS 4 -Whether to enable the browserpass extension host application\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/browserpass\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.browserpass\&.browsers\fR -.RS 4 -Which browsers to install browserpass for -.sp -\fIType:\fR list of (one of \[u201C]brave\[u201D], \[u201C]chrome\[u201D], \[u201C]chromium\[u201D], \[u201C]firefox\[u201D], \[u201C]librewolf\[u201D], \[u201C]vivaldi\[u201D]) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqbrave\(dq - \(dqchrome\(dq - \(dqchromium\(dq - \(dqfirefox\(dq - \(dqlibrewolf\(dq - \(dqvivaldi\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqfirefox\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/browserpass\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.btop\&.enable\fR -.RS 4 -Whether to enable btop\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/btop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.btop\&.package\fR -.RS 4 -The btop package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.btop -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/btop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.btop\&.extraConfig\fR -.RS 4 -Extra lines added to the \fIbtop\&.conf\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/btop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.btop\&.settings\fR -.RS 4 -Options to add to \fIbtop\&.conf\fP file\&. See \fBhttps://github\&.com/aristocratos/btop#configurability\fR[1]\fR for options\&. -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - color_theme = \(dqDefault\(dq; - theme_background = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/btop\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/aristocratos/btop#configurability -.RE -.RE -.PP -\fBprograms\&.btop\&.themes\fR -.RS 4 -Themes to be written to \fI$XDG_CONFIG_HOME/btop/themes/${name}\&.theme\fP -.sp -\fIType:\fR lazy attribute set of (absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my\-theme = \(aq\(aq - theme[main_bg]=\(dq#282a36\(dq - theme[main_fg]=\(dq#f8f8f2\(dq - theme[title]=\(dq#f8f8f2\(dq - theme[hi_fg]=\(dq#6272a4\(dq - theme[selected_bg]=\(dq#ff79c6\(dq - theme[selected_fg]=\(dq#f8f8f2\(dq - theme[inactive_fg]=\(dq#44475a\(dq - theme[graph_text]=\(dq#f8f8f2\(dq - theme[meter_bg]=\(dq#44475a\(dq - theme[proc_misc]=\(dq#bd93f9\(dq - theme[cpu_box]=\(dq#bd93f9\(dq - theme[mem_box]=\(dq#50fa7b\(dq - theme[net_box]=\(dq#ff5555\(dq - theme[proc_box]=\(dq#8be9fd\(dq - theme[div_line]=\(dq#44475a\(dq - theme[temp_start]=\(dq#bd93f9\(dq - theme[temp_mid]=\(dq#ff79c6\(dq - theme[temp_end]=\(dq#ff33a8\(dq - theme[cpu_start]=\(dq#bd93f9\(dq - theme[cpu_mid]=\(dq#8be9fd\(dq - theme[cpu_end]=\(dq#50fa7b\(dq - theme[free_start]=\(dq#ffa6d9\(dq - theme[free_mid]=\(dq#ff79c6\(dq - theme[free_end]=\(dq#ff33a8\(dq - theme[cached_start]=\(dq#b1f0fd\(dq - theme[cached_mid]=\(dq#8be9fd\(dq - theme[cached_end]=\(dq#26d7fd\(dq - theme[available_start]=\(dq#ffd4a6\(dq - theme[available_mid]=\(dq#ffb86c\(dq - theme[available_end]=\(dq#ff9c33\(dq - theme[used_start]=\(dq#96faaf\(dq - theme[used_mid]=\(dq#50fa7b\(dq - theme[used_end]=\(dq#0dfa49\(dq - theme[download_start]=\(dq#bd93f9\(dq - theme[download_mid]=\(dq#50fa7b\(dq - theme[download_end]=\(dq#8be9fd\(dq - theme[upload_start]=\(dq#8c42ab\(dq - theme[upload_mid]=\(dq#ff79c6\(dq - theme[upload_end]=\(dq#ff33a8\(dq - theme[process_start]=\(dq#50fa7b\(dq - theme[process_mid]=\(dq#59b690\(dq - theme[process_end]=\(dq#6272a4\(dq - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/btop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bun\&.enable\fR -.RS 4 -Whether to enable Bun JavaScript runtime\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bun\&.enableGitIntegration\fR -.RS 4 -Whether to enable Git integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bun\&.package\fR -.RS 4 -The bun package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.bun -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bun\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bun\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/\&.bunfig\&.toml\fP\&. -.sp -See \fBhttps://bun\&.sh/docs/runtime/bunfig\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - smol = true; - telemetry = false; - test = { - coverage = true; - coverageThreshold = 0\&.9; - }; - install\&.lockfile = { - print = \(dqyarn\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/bun\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://bun\&.sh/docs/runtime/bunfig -.RE -.RE -.PP -\fBprograms\&.carapace\&.enable\fR -.RS 4 -Whether to enable carapace, a multi\-shell multi\-command argument completer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.carapace\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.carapace\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.carapace\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.carapace\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.carapace\&.package\fR -.RS 4 -The carapace package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.carapace -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/carapace\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cava\&.enable\fR -.RS 4 -Whether to enable Cava audio visualizer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cava\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cava\&.package\fR -.RS 4 -The cava package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.cava -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cava\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cava\&.settings\fR -.RS 4 -Settings to be written to the Cava configuration file\&. See \fBhttps://github\&.com/karlstav/cava/blob/master/example_files/config\fR[1]\fR for all available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general\&.framerate = 60; - input\&.method = \(dqalsa\(dq; - smoothing\&.noise_reduction = 88; - color = { - background = \(dq\(aq#000000\(aq\(dq; - foreground = \(dq\(aq#FFFFFF\(aq\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cava\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/karlstav/cava/blob/master/example_files/config -.RE -.RE -.PP -\fBprograms\&.cavalier\&.enable\fR -.RS 4 -Whether to enable Cava audio visualizer GUI\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cavalier\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cavalier\&.package\fR -.RS 4 -The cavalier package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.cavalier -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cavalier\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cavalier\&.settings\&.cava\fR -.RS 4 -Settings to be written to the underlying Cava configuration file\&. See \fBhttps://github\&.com/karlstav/cava/blob/master/example_files/config\fR[1]\fR for all available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general\&.framerate = 60; - input\&.method = \(dqalsa\(dq; - smoothing\&.noise_reduction = 88; - color = { - background = \(dq\(aq#000000\(aq\(dq; - foreground = \(dq\(aq#FFFFFF\(aq\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cavalier\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/karlstav/cava/blob/master/example_files/config -.RE -.RE -.PP -\fBprograms\&.cavalier\&.settings\&.general\fR -.RS 4 -Settings to be written to the Cavalier configuration file\&. See \fBhttps://github\&.com/NickvisionApps/Cavalier/blob/main/NickvisionCavalier\&.Shared/Models/Configuration\&.cs\fR[1]\fR for all available options\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ShowControls = true; - ColorProfiles = [ - { - Name = \(dqDefault\(dq; - FgColors = [ - \(dq#ffed333b\(dq - \(dq#ffffa348\(dq - \(dq#fff8e45c\(dq - \(dq#ff57e389\(dq - \(dq#ff62a0ea\(dq - \(dq#ffc061cb\(dq - ]; - BgColors = [ - \(dq#ff1e1e2e\(dq - ]; - Theme = 1; - } - ]; - ActiveProfile = 0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cavalier\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/NickvisionApps/Cavalier/blob/main/NickvisionCavalier\&.Shared/Models/Configuration\&.cs -.RE -.RE -.PP -\fBprograms\&.chawan\&.enable\fR -.RS 4 -Whether to enable chawan, A TUI web browser\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chawan\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chawan\&.package\fR -.RS 4 -The chawan package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.chawan -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chawan\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chawan\&.settings\fR -.RS 4 -Configuration options for chawan\&. -.sp -See \fBcha\-config\fP\fR(5)\fP -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - buffer = { - images = true; - autofocus = true; - }; - page\&.\(dqC\-k\(dq = \(dq() => pager\&.load(\(aqddg:\(aq)\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chawan\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chromium\&.enable\fR -.RS 4 -Whether to enable Chromium\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chromium\&.package\fR -.RS 4 -The Chromium package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.chromium -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chromium\&.commandLineArgs\fR -.RS 4 -List of command\-line arguments to be passed to Chromium\&. -.sp -For a list of common switches, see \fBChrome switches\fR[1]\fR\&. -.sp -To search switches for other components, see \fBChromium codesearch\fR[2]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-enable\-logging=stderr\(dq - \(dq\-\-ignore\-gpu\-blocklist\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://chromium\&.googlesource\&.com/chromium/src/+/refs/heads/main/chrome/common/chrome_switches\&.cc -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://source\&.chromium\&.org/search?q=file:switches\&.cc&ss=chromium%2Fchromium%2Fsrc -.RE -.RE -.PP -\fBprograms\&.chromium\&.dictionaries\fR -.RS 4 -List of Chromium dictionaries to install\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - pkgs\&.hunspellDictsChromium\&.en_US -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chromium\&.extensions\fR -.RS 4 -List of Chromium extensions to install\&. To find the extension ID, check its URL on the \fBChrome Web Store\fR[1]\fR\&. -.sp -To install extensions outside of the Chrome Web Store set \fR\(oqupdateUrl\(cq\fP or \fR\(oqcrxPath\(cq\fP and \fR\(oqversion\(cq\fP as explained in the \fBChrome documentation\fR[2]\fR\&. -.sp -\fIType:\fR list of ((submodule) or string convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { id = \(dqcjpalhdlnbpafiamejdnhcphjbkeiagm\(dq; } # ublock origin - { - id = \(dqdcpihecpambacapedldabdbpakmachpb\(dq; - updateUrl = \(dqhttps://raw\&.githubusercontent\&.com/iamadamdev/bypass\-paywalls\-chrome/master/updates\&.xml\(dq; - } - { - id = \(dqaaaaaaaaaabbbbbbbbbbcccccccccc\(dq; - crxPath = \(dq/home/share/extension\&.crx\(dq; - version = \(dq1\&.0\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://chrome\&.google\&.com/webstore/category/extensions -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://developer\&.chrome\&.com/docs/extensions/mv2/external_extensions -.RE -.RE -.PP -\fBprograms\&.chromium\&.extensions\&.*\&.id\fR -.RS 4 -The extension\[u2019]s ID from the Chrome Web Store url or the unpacked crx\&. -.sp -\fIType:\fR string matching the pattern [a\-zA\-Z]{32} -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.chromium\&.nativeMessagingHosts\fR -.RS 4 -List of Chromium native messaging hosts to install\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - pkgs\&.kdePackages\&.plasma\-browser\-integration -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.clock\-rs\&.enable\fR -.RS 4 -Whether to enable clock\-rs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/clock\-rs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.clock\-rs\&.package\fR -.RS 4 -The clock\-rs package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.clock\-rs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/clock\-rs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.clock\-rs\&.settings\fR -.RS 4 -The configuration file to be used for clock\-rs -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -general = { - color = \(dqmagenta\(dq; - interval = 250; - blink = true; - bold = true; -}; - -position = { - horizontal = \(dqstart\(dq; - vertical = \(dqend\(dq; -}; - -date = { - fmt = \(dq%A, %B %d, %Y\(dq; - use_12h = true; - utc = true; - hide_seconds = true; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/clock\-rs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cmus\&.enable\fR -.RS 4 -Whether to enable Enable cmus, the music player\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cmus\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cmus\&.package\fR -.RS 4 -The cmus package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.cmus -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cmus\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cmus\&.extraConfig\fR -.RS 4 -Extra configuration to add to cmus \fIrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - set audio_backend = \(dqmpd\(dq - set status_display = \(dqdefault\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cmus\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.cmus\&.theme\fR -.RS 4 -Select color theme\&. A list of available color themes can be found here: \fBhttps://github\&.com/cmus/cmus/tree/master/data\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqgruvbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/cmus\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/cmus/cmus/tree/master/data -.RE -.RE -.PP -\fBprograms\&.codex\&.enable\fR -.RS 4 -Whether to enable Lightweight coding agent that runs in your terminal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/codex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.codex\&.package\fR -.RS 4 -The codex package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.codex -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/codex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.codex\&.custom\-instructions\fR -.RS 4 -Define custom guidance for the agents; this value is written to {file}\(ti/\&.codex/AGENTS\&.md -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \- Always respond with emojis - \- Only use git commands when explicitly requested -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/codex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.codex\&.settings\fR -.RS 4 -Configuration written to \fI\(ti/\&.codex/config\&.yaml\fP\&. See \fBhttps://github\&.com/openai/codex#configuration\-guide\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - model = \(dqgemma3:latest\(dq; - provider = \(dqollama\(dq; - providers = { - ollama = { - name = \(dqOllama\(dq; - baseURL = \(dqhttp://localhost:11434/v1\(dq; - envKey = \(dqOLLAMA_API_KEY\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/codex\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/openai/codex#configuration\-guide -.RE -.RE -.PP -\fBprograms\&.command\-not\-found\&.enable\fR -.RS 4 -Whether to enable command\-not\-found hook for interactive shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/command\-not\-found/command\-not\-found\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.command\-not\-found\&.dbPath\fR -.RS 4 -Absolute path to \fIprograms\&.sqlite\fP\&. By default this file will be provided by your channel (nixexprs\&.tar\&.xz)\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/nix/var/nix/profiles/per\-user/root/channels/nixos/programs\&.sqlite\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/command\-not\-found/command\-not\-found\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.comodoro\&.enable\fR -.RS 4 -Whether to enable Comodoro, a CLI to manage your time\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.comodoro\&.package\fR -.RS 4 -The comodoro package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.comodoro -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.comodoro\&.settings\fR -.RS 4 -Comodoro configuration\&. See \fBhttps://pimalaya\&.org/comodoro/cli/configuration/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/comodoro\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://pimalaya\&.org/comodoro/cli/configuration/ -.RE -.RE -.PP -\fBprograms\&.darcs\&.enable\fR -.RS 4 -Whether to enable darcs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/darcs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.darcs\&.package\fR -.RS 4 -The darcs package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.darcs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/darcs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.darcs\&.author\fR -.RS 4 -If this list has a single entry, it will be used as the author when you record a patch\&. If there are multiple entries, Darcs will prompt you to choose one of them\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqFred Bloggs <fred@example\&.net>\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/darcs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.darcs\&.boring\fR -.RS 4 -File patterns to ignore -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ha\&.idea$\(dq - \(dq\&.iml$\(dq - \(dq\(ha\&.stack\-work$\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/darcs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.dircolors\&.enable\fR -.RS 4 -Whether to manage \fI\&.dir_colors\fP and set \fR\(oqLS_COLORS\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.dircolors\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.dircolors\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.dircolors\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.dircolors\&.package\fR -.RS 4 -The dircolors package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.coreutils -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.dircolors\&.extraConfig\fR -.RS 4 -Extra lines added to \fI\&.dir_colors\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.dircolors\&.settings\fR -.RS 4 -Options to add to \fI\&.dir_colors\fP file\&. See \fBdircolors \-\-print\-database\fP for options\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - OTHER_WRITABLE = \(dq30;46\(dq; - \(dq\&.sh\(dq = \(dq01;32\(dq; - \(dq\&.csh\(dq = \(dq01;32\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/dircolors\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.enable\fR -.RS 4 -Whether to enable direnv, the environment switcher\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.direnv\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -Note, enabling the direnv module will always activate its functionality for Fish since the direnv package automatically gets loaded in Fish\&. If this is not the case try adding -.sp -.RS 4 -.nf -environment\&.pathsToLink = [ \(dq/share/fish\(dq ]; -.fi -.RE -.sp -to the system configuration\&. -.sp -\fIType:\fR boolean \fI(read only)\fR -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.direnv\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.direnv\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.direnv\&.package\fR -.RS 4 -The direnv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.direnv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.config\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/direnv/direnv\&.toml\fP\&. -.sp -See \fBdirenv\&.toml\fP\fR(1)\fP\&. for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.mise\&.enable\fR -.RS 4 -Whether to enable \fBmise\fR[1]\fR, integration of use_mise for direnv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mise\&.jdx\&.dev/direnv\&.html -.RE -.RE -.PP -\fBprograms\&.direnv\&.mise\&.package\fR -.RS 4 -The mise package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mise -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.nix\-direnv\&.enable\fR -.RS 4 -Whether to enable \fBnix\-direnv\fR[1]\fR, a fast, persistent use_nix implementation for direnv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/nix\-community/nix\-direnv -.RE -.RE -.PP -\fBprograms\&.direnv\&.nix\-direnv\&.package\fR -.RS 4 -The nix\-direnv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix\-direnv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.silent\fR -.RS 4 -Whether to enable silent mode, that is, disabling direnv logging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.stdlib\fR -.RS 4 -Custom stdlib written to \fI$XDG_CONFIG_HOME/direnv/direnvrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.discocss\&.enable\fR -.RS 4 -Whether to enable discocss, a tiny Discord CSS injector for Linux and MacOS\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/discocss\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.discocss\&.package\fR -.RS 4 -The discocss package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.discocss -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/discocss\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.discocss\&.css\fR -.RS 4 -The custom CSS for discocss to use\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/discocss\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.discocss\&.discordAlias\fR -.RS 4 -Whether to alias discocss to discord\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/discocss\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.discocss\&.discordPackage\fR -.RS 4 -The discord package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.discord -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/discocss\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.distrobox\&.enable\fR -.RS 4 -Whether to enable distrobox\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/distrobox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.distrobox\&.enableSystemdUnit\fR -.RS 4 -Whatever to enable a Systemd Unit that automatically rebuilds your containers when changes are detected\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/distrobox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.distrobox\&.package\fR -.RS 4 -The distrobox package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.distrobox -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/distrobox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.distrobox\&.containers\fR -.RS 4 -A set of containers and all its respective configurations\&. Each option can be either a bool, string or a list of strings\&. If passed a list, the option will be repeated for each element\&. See common\-debian in the example config\&. All the available options for the containers can be found in the distrobox\-assemble documentation at \fBhttps://github\&.com/89luca89/distrobox/blob/main/docs/usage/distrobox\-assemble\&.md\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - python\-project = { - image = \(dqfedora:40\(dq; - additional_packages = \(dqpython3 git\(dq; - init_hooks = \(dqpip3 install numpy pandas torch torchvision\(dq; - }; - - common\-debian = { - image = \(dqdebian:13\(dq; - entry = true; - additional_packages = \(dqgit\(dq; - init_hooks = [ - \(dqln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/docker\(dq - \(dqln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/docker\-compose\(dq - ]; - }; - - office = { - clone = \(dqcommon\-debian\(dq; - additional_packages = \(dqlibreoffice onlyoffice\(dq; - entry = true; - }; - - random\-things = { - clone = \(dqcommon\-debian\(dq; - entry = false; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/distrobox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/89luca89/distrobox/blob/main/docs/usage/distrobox\-assemble\&.md -.RE -.RE -.PP -\fBprograms\&.earthly\&.enable\fR -.RS 4 -Whether to enable earthly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/earthly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.earthly\&.package\fR -.RS 4 -The earthly package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.earthly -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/earthly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.earthly\&.settings\fR -.RS 4 -Configuration written to \(ti/\&.earthly/config\&.yml file\&. See https://docs\&.earthly\&.dev/docs/earthly\-config for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -global = { - disable_analytics = true; - disable_log_sharing = true; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/earthly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eclipse\&.enable\fR -.RS 4 -Whether to enable Eclipse\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eclipse\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eclipse\&.enableLombok\fR -.RS 4 -Whether to enable the Lombok Java Agent in Eclipse\&. This is necessary to use the Lombok class annotations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eclipse\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eclipse\&.package\fR -.RS 4 -The eclipse package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.eclipses\&.eclipse\-platform -.sp -\fIExample:\fR pkgs\&.eclipses\&.eclipse\-java -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eclipse\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eclipse\&.jvmArgs\fR -.RS 4 -JVM arguments to use for the Eclipse process\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eclipse\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eclipse\&.plugins\fR -.RS 4 -Plugins that should be added to Eclipse\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eclipse\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.element\-desktop\&.enable\fR -.RS 4 -Whether to enable element\-desktop\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/element\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.element\-desktop\&.package\fR -.RS 4 -The element\-desktop package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.element\-desktop -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/element\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.element\-desktop\&.profiles\fR -.RS 4 -Extra profiles for Element\&. Those can be accessed using the \[u201C]\[u2013]profile $NAME\[u201D] flag\&. The same warning and options apply here\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - work = { - default_server_config = { - \(dqm\&.homeserver\(dq = { - base_url = \(dqhttps://matrix\-client\&.matrix\&.org\(dq; - server_name = \(dqmatrix\&.org\(dq; - }; - \(dqm\&.identity_server\(dq = { - base_url = \(dqhttps://vector\&.im\(dq; - }; - }; - }; - home = { - disable_custom_urls = false; - disable_guests = false; - disable_login_language_selector = false; - disable_3pid_login = false; - }; - other = { - force_verification = false; - brand = \(dqElement\(dq; - integrations_ui_url = \(dqhttps://scalar\&.vector\&.im/\(dq; - integrations_rest_url = \(dqhttps://scalar\&.vector\&.im/api\(dq; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/element\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.element\-desktop\&.settings\fR -.RS 4 -Configuration settings for Element\[u2019]s default profiles\&. WARNING: Element doesn\[u2019]t combine this config with the defaults, so make sure to configure most options\&. For details about this behavior and available configuration options see: \fBhttps://github\&.com/element\-hq/element\-web/blob/develop/docs/config\&.md\fR[1]\fR -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - default_server_config = { - \(dqm\&.homeserver\(dq = { - base_url = \(dqhttps://matrix\-client\&.matrix\&.org\(dq; - server_name = \(dqmatrix\&.org\(dq; - }; - \(dqm\&.identity_server\(dq = { - base_url = \(dqhttps://vector\&.im\(dq; - }; - }; - disable_custom_urls = false; - disable_guests = false; - disable_login_language_selector = false; - disable_3pid_login = false; - force_verification = false; - brand = \(dqElement\(dq; - integrations_ui_url = \(dqhttps://scalar\&.vector\&.im/\(dq; - integrations_rest_url = \(dqhttps://scalar\&.vector\&.im/api\(dq; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/element\-desktop\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/element\-hq/element\-web/blob/develop/docs/config\&.md -.RE -.RE -.PP -\fBprograms\&.emacs\&.enable\fR -.RS 4 -Whether to enable Emacs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/emacs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.emacs\&.package\fR -.RS 4 -The emacs package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.emacs -.sp -\fIExample:\fR pkgs\&.emacs25\-nox -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/emacs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.emacs\&.extraConfig\fR -.RS 4 -Configuration to include in the Emacs default init file\&. See \fBhttps://www\&.gnu\&.org/software/emacs/manual/html_node/elisp/Init\-File\&.html\fR[1]\fR for more\&. -.sp -Note, the \fR\(oqinhibit\-startup\-message\(cq\fP Emacs option cannot be set here since Emacs disallows setting it from the default initialization file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - (setq standard\-indent 2) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/emacs\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.gnu\&.org/software/emacs/manual/html_node/elisp/Init\-File\&.html -.RE -.RE -.PP -\fBprograms\&.emacs\&.extraPackages\fR -.RS 4 -Extra packages available to Emacs\&. To get a list of available packages run: \fBnix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A emacsPackages\fP\&. -.sp -\fIType:\fR Function that takes an attribute set and returns a list containing a selection of the values of the input set -.sp -\fIDefault:\fR \(dqepkgs: []\(dq -.sp -\fIExample:\fR epkgs: [ epkgs\&.emms epkgs\&.magit ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/emacs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.emacs\&.overrides\fR -.RS 4 -Allows overriding packages within the Emacs package set\&. -.sp -\fIType:\fR An overlay function, takes self and super and returns an attribute set overriding the desired attributes\&. -.sp -\fIDefault:\fR \(dqself: super: {}\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -self: super: rec { - haskell\-mode = self\&.melpaPackages\&.haskell\-mode; - # \&.\&.\&. -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/emacs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eww\&.enable\fR -.RS 4 -Whether to enable eww\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eww\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eww\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eww\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eww\&.package\fR -.RS 4 -The eww package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.eww -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eww\&.configDir\fR -.RS 4 -The directory that gets symlinked to \fI$XDG_CONFIG_HOME/eww\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \&./eww\-config\-dir -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eww\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.enable\fR -.RS 4 -Whether to enable eza, a modern replacement for \fBls\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eza\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eza\&.enableIonIntegration\fR -.RS 4 -Whether to enable Ion integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableIonIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableIonIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eza\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eza\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.eza\&.package\fR -.RS 4 -The eza package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.eza -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.colors\fR -.RS 4 -Use terminal colors in output (\fB\-\-color\fP argument)\&. -.sp -\fIType:\fR one of <null>, \[u201C]auto\[u201D], \[u201C]always\[u201D], \[u201C]never\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.extraOptions\fR -.RS 4 -Extra command line options passed to eza\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-group\-directories\-first\(dq - \(dq\-\-header\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.git\fR -.RS 4 -List each file\[u2019]s Git status if tracked or ignored (\fB\-\-git\fP argument)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.icons\fR -.RS 4 -Display icons next to file names (\fB\-\-icons\fP argument)\&. -.sp -Note, the support for Boolean values is deprecated\&. Setting this option to \fR\(oqtrue\(cq\fP corresponds to \fR\(oq\-\-icons=auto\(cq\fP\&. -.sp -\fIType:\fR one of <null>, true, false, \[u201C]auto\[u201D], \[u201C]always\[u201D], \[u201C]never\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.eza\&.theme\fR -.RS 4 -Written to \fI$XDG_CONFIG_HOME/eza/theme\&.yml\fP -.sp -See \fBhttps://github\&.com/eza\-community/eza#custom\-themes\fR[1]\fR -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/eza\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/eza\-community/eza#custom\-themes -.RE -.RE -.PP -\fBprograms\&.fastfetch\&.enable\fR -.RS 4 -Whether to enable Fastfetch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fastfetch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fastfetch\&.package\fR -.RS 4 -The fastfetch package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fastfetch -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fastfetch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fastfetch\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/fastfetch/config\&.jsonc\fP\&. See \fBhttps://github\&.com/fastfetch\-cli/fastfetch/wiki/Json\-Schema\fR[1]\fR for the documentation\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - logo = { - source = \(dqnixos_small\(dq; - padding = { - right = 1; - }; - }; - display = { - size = { - binaryPrefix = \(dqsi\(dq; - }; - color = \(dqblue\(dq; - separator = \(dq \[uF178] \(dq; - }; - modules = [ - { - type = \(dqdatetime\(dq; - key = \(dqDate\(dq; - format = \(dq{1}\-{3}\-{11}\(dq; - } - { - type = \(dqdatetime\(dq; - key = \(dqTime\(dq; - format = \(dq{14}:{17}:{20}\(dq; - } - \(dqbreak\(dq - \(dqplayer\(dq - \(dqmedia\(dq - ]; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fastfetch\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/fastfetch\-cli/fastfetch/wiki/Json\-Schema -.RE -.RE -.PP -\fBprograms\&.fd\&.enable\fR -.RS 4 -Whether to enable fd, a simple, fast and user\-friendly alternative to \fBfind\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fd\&.package\fR -.RS 4 -The fd package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fd\&.extraOptions\fR -.RS 4 -Extra command line options passed to fd\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-no\-ignore\(dq - \(dq\-\-absolute\-path\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fd\&.hidden\fR -.RS 4 -Search hidden files and directories (\fB\-\-hidden\fP argument)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fd\&.ignores\fR -.RS 4 -List of paths that should be globally ignored\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\&.git/\(dq - \(dq*\&.bak\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.feh\&.enable\fR -.RS 4 -Whether to enable feh \- a fast and light image viewer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/feh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.feh\&.package\fR -.RS 4 -The feh package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.feh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/feh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.feh\&.buttons\fR -.RS 4 -Override feh\[u2019]s default mouse button mapping\&. If you want to disable an action, set its value to null\&. If you want to bind multiple buttons to an action, set its value to a list\&. See \fBhttps://man\&.finalrewind\&.org/1/feh/#BUTTONS_CONFIG_SYNTAX\fR[1]\fR for default bindings and available commands\&. -.sp -\fIType:\fR attribute set of (null or string or signed integer or list of (string or signed integer)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - prev_img = [ - 3 - \(dqC\-3\(dq - ]; - zoom_in = 4; - zoom_out = \(dqC\-4\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/feh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://man\&.finalrewind\&.org/1/feh/#BUTTONS_CONFIG_SYNTAX -.RE -.RE -.PP -\fBprograms\&.feh\&.keybindings\fR -.RS 4 -Override feh\[u2019]s default keybindings\&. If you want to disable a keybinding set its value to null\&. If you want to bind multiple keys to an action, set its value to a list\&. See \fBhttps://man\&.finalrewind\&.org/1/feh/#KEYS_CONFIG_SYNTAX\fR[1]\fR for default bindings and available commands\&. -.sp -\fIType:\fR attribute set of (null or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - prev_img = [ - \(dqh\(dq - \(dqLeft\(dq - ]; - zoom_in = \(dqplus\(dq; - zoom_out = \(dqminus\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/feh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://man\&.finalrewind\&.org/1/feh/#KEYS_CONFIG_SYNTAX -.RE -.RE -.PP -\fBprograms\&.feh\&.themes\fR -.RS 4 -Define themes for feh\&. See \fBhttps://man\&.finalrewind\&.org/1/feh/#THEMES_CONFIG_SYNTAX\fR[1]\fR for important guidelines and limitations related to theme configuration\&. -.sp -\fIType:\fR attribute set of list of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - booth = [ - \(dq\-\-full\-screen\(dq - \(dq\-\-hide\-pointer\(dq - \(dq\-\-slideshow\-delay\(dq - \(dq20\(dq - ]; - example = [ - \(dq\-\-info\(dq - \(dqfoo bar\(dq - ]; - feh = [ - \(dq\-\-image\-bg\(dq - \(dqblack\(dq - ]; - imagemap = [ - \(dq\-rVq\(dq - \(dq\-\-thumb\-width\(dq - \(dq40\(dq - \(dq\-\-thumb\-height\(dq - \(dq30\(dq - \(dq\-\-index\-info\(dq - \(dq%n\e\en%wx%h\(dq - ]; - present = [ - \(dq\-\-full\-screen\(dq - \(dq\-\-sort\(dq - \(dqname\(dq - \(dq\-\-hide\-pointer\(dq - ]; - webcam = [ - \(dq\-\-multiwindow\(dq - \(dq\-\-reload\(dq - \(dq20\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/feh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://man\&.finalrewind\&.org/1/feh/#THEMES_CONFIG_SYNTAX -.RE -.RE -.PP -\fBprograms\&.firefox\&.enable\fR -.RS 4 -Whether to enable Firefox\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.enableGnomeExtensions\fR -.RS 4 -Whether to enable the GNOME Shell native host connector\&. Note, you also need to set the NixOS option \fR\(oqservices\&.gnome\&.gnome\-browser\-connector\&.enable\(cq\fP to \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.package\fR -.RS 4 -The Firefox package to use\&. If state version \[u2265] 19\&.09 then this should be a wrapped Firefox package\&. For earlier state versions it should be an unwrapped Firefox package\&. Set to \fR\(oqnull\(cq\fP to disable installing Firefox\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.firefox -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.firefox\&.override { - # See nixpkgs\(aq firefox/wrapper\&.nix to check which options you can use - nativeMessagingHosts = [ - # Gnome shell native connector - pkgs\&.gnome\-browser\-connector - # Tridactyl native connector - pkgs\&.tridactyl\-native - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.finalPackage\fR -.RS 4 -Resulting Firefox package\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.languagePacks\fR -.RS 4 -The language packs to install\&. Available language codes can be found on the releases page: \fR\(oqhttps://releases\&.mozilla\&.org/pub/firefox/releases/${version}/linux\-x86_64/xpi/\(cq\fP, replacing \fR\(oq${version}\(cq\fP with the version of Firefox you have\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqen\-GB\(dq - \(dqde\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.nativeMessagingHosts\fR -.RS 4 -Additional packages containing native messaging hosts that should be made available to Firefox extensions\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.pkcs11Modules\fR -.RS 4 -Additional packages to be loaded as PKCS #11 modules in Firefox\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.policies\fR -.RS 4 -\fBSee list of policies\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - BlockAboutConfig = true; - DefaultDownloadDirectory = \(dq\e${home}/Downloads\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mozilla\&.github\&.io/policy\-templates/ -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\fR -.RS 4 -Attribute set of Firefox profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.bookmarks\fR -.RS 4 -Declarative bookmarks\&. -.sp -\fIType:\fR (submodule) or ((list of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) or (attribute set of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) convertible to it) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.bookmarks\&.configFile\fR -.RS 4 -Configuration file to define custom bookmarks\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.bookmarks\&.force\fR -.RS 4 -Whether to force override existing custom bookmarks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.bookmarks\&.settings\fR -.RS 4 -Custom bookmarks\&. -.sp -\fIType:\fR (list of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) or (attribute set of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) convertible to it -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqwikipedia\(dq; - tags = [ \(dqwiki\(dq ]; - keyword = \(dqwiki\(dq; - url = \(dqhttps://en\&.wikipedia\&.org/wiki/Special:Search?search=%s&go=Go\(dq; - } - { - name = \(dqkernel\&.org\(dq; - url = \(dqhttps://www\&.kernel\&.org\(dq; - } - \(dqseparator\(dq - { - name = \(dqNix sites\(dq; - toolbar = true; - bookmarks = [ - { - name = \(dqhomepage\(dq; - url = \(dqhttps://nixos\&.org/\(dq; - } - { - name = \(dqwiki\(dq; - tags = [ \(dqwiki\(dq \(dqnix\(dq ]; - url = \(dqhttps://wiki\&.nixos\&.org/\(dq; - } - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containers\fR -.RS 4 -Attribute set of container configurations\&. See \fBMulti\-Account Containers\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - dangerous = { - color = \(dqred\(dq; - icon = \(dqfruit\(dq; - id = 2; - }; - shopping = { - color = \(dqblue\(dq; - icon = \(dqcart\(dq; - id = 1; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://support\&.mozilla\&.org/en\-US/kb/containers -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containers\&.<name>\&.color\fR -.RS 4 -Container color\&. -.sp -\fIType:\fR one of \[u201C]blue\[u201D], \[u201C]turquoise\[u201D], \[u201C]green\[u201D], \[u201C]yellow\[u201D], \[u201C]orange\[u201D], \[u201C]red\[u201D], \[u201C]pink\[u201D], \[u201C]purple\[u201D], \[u201C]toolbar\[u201D] -.sp -\fIDefault:\fR \(dqpink\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containers\&.<name>\&.icon\fR -.RS 4 -Container icon\&. -.sp -\fIType:\fR one of \[u201C]briefcase\[u201D], \[u201C]cart\[u201D], \[u201C]circle\[u201D], \[u201C]dollar\[u201D], \[u201C]fence\[u201D], \[u201C]fingerprint\[u201D], \[u201C]gift\[u201D], \[u201C]vacation\[u201D], \[u201C]food\[u201D], \[u201C]fruit\[u201D], \[u201C]pet\[u201D], \[u201C]tree\[u201D], \[u201C]chill\[u201D] -.sp -\fIDefault:\fR \(dqfruit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containers\&.<name>\&.id\fR -.RS 4 -Container ID\&. This should be set to a unique number per container in this profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containers\&.<name>\&.name\fR -.RS 4 -Container name, e\&.g\&., shopping\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.containersForce\fR -.RS 4 -Whether to force replace the existing containers configuration\&. This is recommended since Firefox will replace the symlink on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\fR -.RS 4 -Submodule for installing and configuring extensions\&. -.sp -\fIType:\fR (submodule) or (list of package) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - packages = with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - ublock\-origin - ]; - settings\&.\(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\&.packages\fR -.RS 4 -List of \[u2039]name\[u203A] add\-on packages to install for this profile\&. Some pre\-packaged add\-ons are accessible from the Nix User Repository\&. Once you have NUR installed run -.sp -.RS 4 -.nf -$ nix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A nur\&.repos\&.rycee\&.firefox\-addons -.fi -.RE -.sp -to list the available \[u2039]name\[u203A] add\-ons\&. -.sp -Note that it is necessary to manually enable these extensions inside \[u2039]name\[u203A] after the first installation\&. -.sp -To automatically enable extensions add \fR\(oq\(dqextensions\&.autoDisableScopes\(dq = 0;\(cq\fP to \fB\fBprograms\&.firefox\&.profiles\&.<profile>\&.settings\fP\fR[1]\fR -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - privacy\-badger -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.settings\fP option -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\&.force\fR -.RS 4 -Whether to override all previous firefox settings\&. -.sp -This is required when using \fR\(oqsettings\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\&.settings\fR -.RS 4 -Attribute set of options for each extension\&. The keys of the attribute set consist of the ID of the extension or its UUID wrapped in curly braces\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - # Example with uBlock origin\(aqs extensionID - \(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; - - # Example with Stylus\(aq UUID\-form extensionID - \(dq{7a7a4a92\-a2a0\-41d1\-9fd7\-1e92480d612d}\(dq\&.settings = { - dbInChromeStorage = true; # required for Stylus - } -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.force\fR -.RS 4 -Forcibly override any existing configuration for this extension\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.settings\fR -.RS 4 -Json formatted options for the specified extensionID -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.extraConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.id\fR -.RS 4 -Profile ID\&. This should be set to a unique number per profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.isDefault\fR -.RS 4 -Whether this is a default profile\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dqtrue if profile ID is 0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.name\fR -.RS 4 -Profile name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.path\fR -.RS 4 -Profile path\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.preConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP, before \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR\&. -.sp -Use \fBprograms.firefox.profiles.<name>.extraConfig\fR[2]\fR, unless you want to overwrite in \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR, then use this option\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.settings\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.extraConfig\fP option -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\fR -.RS 4 -Declarative search engine configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\&.default\fR -.RS 4 -The default search engine used in the address bar and search bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\&.engines\fR -.RS 4 -Attribute set of search engine configurations\&. Engines that only have \fImetaData\fP specified will be treated as builtin to Firefox\&. -.sp -See \fBSearchEngine\&.jsm\fR[1]\fR in Firefox\[u2019]s source for available options\&. We maintain a mapping to let you specify all options in the referenced link without underscores, but it may fall out of date with future options\&. -.sp -Note, \fIicon\fP is also a special option added by Home Manager to make it convenient to specify absolute icon paths\&. -.sp -\fIType:\fR attribute set of attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nix\-packages = { - name = \(dqNix Packages\(dq; - urls = [{ - template = \(dqhttps://search\&.nixos\&.org/packages\(dq; - params = [ - { name = \(dqtype\(dq; value = \(dqpackages\(dq; } - { name = \(dqquery\(dq; value = \(dq{searchTerms}\(dq; } - ]; - }]; - - icon = \(dq${pkgs\&.nixos\-icons}/share/icons/hicolor/scalable/apps/nix\-snowflake\&.svg\(dq; - definedAliases = [ \(dq@np\(dq ]; - }; - - nixos\-wiki = { - name = \(dqNixOS Wiki\(dq; - urls = [{ template = \(dqhttps://wiki\&.nixos\&.org/w/index\&.php?search={searchTerms}\(dq; }]; - iconMapObj\&.\(dq16\(dq = \(dqhttps://wiki\&.nixos\&.org/favicon\&.ico\(dq; - definedAliases = [ \(dq@nw\(dq ]; - }; - - bing\&.metaData\&.hidden = true; - google\&.metaData\&.alias = \(dq@g\(dq; # builtin engines only support specifying one additional alias -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://searchfox\&.org/mozilla\-central/rev/e3f42ec9320748b2aab3d474d1e47075def9000c/toolkit/components/search/SearchEngine\&.sys\&.mjs#890\-923 -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\&.force\fR -.RS 4 -Whether to force replace the existing search configuration\&. This is recommended since Firefox will replace the symlink for the search configuration on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\&.order\fR -.RS 4 -The order the search engines are listed in\&. Any engines that aren\[u2019]t included in this list will be listed after these in an unspecified order\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqddg\(dq - \(dqgoogle\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.search\&.privateDefault\fR -.RS 4 -The default search engine used in the Private Browsing\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.settings\fR -.RS 4 -Attribute set of Firefox preferences\&. -.sp -Firefox only supports int, bool, and string types for preferences, but home\-manager will automatically convert all other JSON\-compatible values into strings\&. -.sp -\fIType:\fR attribute set of (Firefox preference (int, bool, string, and also attrs, list, float as a JSON string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbrowser\&.startup\&.homepage\(dq = \(dqhttps://nixos\&.org\(dq; - \(dqbrowser\&.search\&.region\(dq = \(dqGB\(dq; - \(dqbrowser\&.search\&.isUS\(dq = false; - \(dqdistribution\&.searchplugins\&.defaultLocale\(dq = \(dqen\-GB\(dq; - \(dqgeneral\&.useragent\&.locale\(dq = \(dqen\-GB\(dq; - \(dqbrowser\&.bookmarks\&.showMobileBookmarks\(dq = true; - \(dqbrowser\&.newtabpage\&.pinned\(dq = [{ - title = \(dqNixOS\(dq; - url = \(dqhttps://nixos\&.org\(dq; - }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.userChrome\fR -.RS 4 -Custom Firefox user chrome CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide tab bar in FF Quantum */ - @\-moz\-document url(chrome://browser/content/browser\&.xul), url(chrome://browser/content/browser\&.xhtml) { - #TabsToolbar { - visibility: collapse !important; - margin\-bottom: 21px !important; - } - - #sidebar\-box[sidebarcommand=\(dqtreestyletab_piro_sakura_ne_jp\-sidebar\-action\(dq] #sidebar\-header { - visibility: collapse !important; - } - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.firefox\&.profiles\&.<name>\&.userContent\fR -.RS 4 -Custom Firefox user content CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide scrollbar in FF Quantum */ - *{scrollbar\-width:none !important} -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/firefox\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.enable\fR -.RS 4 -Whether to enable fish, the friendly interactive shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.package\fR -.RS 4 -The fish package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.fish -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\fR -.RS 4 -Manage key bindings -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqalt\-shift\-b\(dq\&.command = \(dqfish_commandline_append bat\(dq; - \(dqalt\-s\(dq\&.erase = true; - \(dqalt\-s\(dq\&.operate = \(dqpreset\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.enable\fR -.RS 4 -Whether to enable enable the bind\&. Set false if you want to ignore the bind\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.command\fR -.RS 4 -command that will be execute -.sp -\fIType:\fR string or list of string (optional when erase is set to true) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.erase\fR -.RS 4 -Whether to enable remove bind\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.mode\fR -.RS 4 -Specify the bind mode that the bind is used in -.sp -\fIType:\fR null or one of \[u201C]default\[u201D], \[u201C]insert\[u201D], \[u201C]paste\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.operate\fR -.RS 4 -Operate on preset bindings or user bindings -.sp -\fIType:\fR null or one of \[u201C]preset\[u201D], \[u201C]user\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.setsMode\fR -.RS 4 -Change current mode after bind is executed -.sp -\fIType:\fR null or one of \[u201C]default\[u201D], \[u201C]insert\[u201D], \[u201C]paste\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.binds\&.<name>\&.silent\fR -.RS 4 -Whether to enable Operate silently\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.functions\fR -.RS 4 -Basic functions to add to fish\&. For more information see \fBhttps://fishshell\&.com/docs/current/cmds/function\&.html\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (strings concatenated with \[u201C]\en\[u201D] or (submodule)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - __fish_command_not_found_handler = { - body = \(dq__fish_default_command_not_found_handler $argv[1]\(dq; - onEvent = \(dqfish_command_not_found\(dq; - }; - - gitignore = \(dqcurl \-sL https://www\&.gitignore\&.io/api/$argv\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://fishshell\&.com/docs/current/cmds/function\&.html -.RE -.RE -.PP -\fBprograms\&.fish\&.generateCompletions\fR -.RS 4 -Whether to enable the automatic generation of completions based upon installed man pages\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.interactiveShellInit\fR -.RS 4 -Shell script code called during interactive fish shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.loginShellInit\fR -.RS 4 -Shell script code called during fish login shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.plugins\fR -.RS 4 -The plugins to source in \fIconf\&.d/99plugins\&.fish\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqz\(dq; - src = pkgs\&.fetchFromGitHub { - owner = \(dqjethrokuan\(dq; - repo = \(dqz\(dq; - rev = \(dqddeb28a7b6a1f0ec6dae40c636e5ca4908ad160a\(dq; - sha256 = \(dq0c5i7sdrsp0q3vbziqzdyqn4fmp235ax4mn4zslrswvn8g3fvdyh\(dq; - }; - } - - # oh\-my\-fish plugins are stored in their own repositories, which - # makes them simple to import into home\-manager\&. - { - name = \(dqfasd\(dq; - src = pkgs\&.fetchFromGitHub { - owner = \(dqoh\-my\-fish\(dq; - repo = \(dqplugin\-fasd\(dq; - rev = \(dq38a5b6b6011106092009549e52249c6d6f501fba\(dq; - sha256 = \(dq06v37hqy5yrv5a6ssd1p3cjd9y3hnp19d3ab7dag56fs1qmgyhbs\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.plugins\&.*\&.name\fR -.RS 4 -The name of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.plugins\&.*\&.src\fR -.RS 4 -Path to the plugin folder\&. -.sp -Relevant pieces will be added to the fish function path and the completion path\&. The \fIinit\&.fish\fP and \fIkey_binding\&.fish\fP files are sourced if they exist\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.preferAbbrs\fR -.RS 4 -If enabled, abbreviations will be preferred over aliases when other modules define aliases for fish\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellAbbrs\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to abbreviations\&. Abbreviations are expanded with the longer phrase after they are entered\&. -.sp -\fIType:\fR attribute set of (string or (submodule)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - l = \(dqless\(dq; - gco = \(dqgit checkout\(dq; - \(dq\-C\(dq = { - position = \(dqanywhere\(dq; - expansion = \(dq\-\-color\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - g = \(dqgit\(dq; - \(dq\&.\&.\&.\(dq = \(dqcd \&.\&./\&.\&.\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellInit\fR -.RS 4 -Shell script code called during fish shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellInitLast\fR -.RS 4 -Shell script code called during interactive fish shell initialisation, this will be the last thing executed in fish startup\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.enable\fR -.RS 4 -Whether to enable Floorp\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.enableGnomeExtensions\fR -.RS 4 -Whether to enable the GNOME Shell native host connector\&. Note, you also need to set the NixOS option \fR\(oqservices\&.gnome\&.gnome\-browser\-connector\&.enable\(cq\fP to \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.package\fR -.RS 4 -The Floorp package to use\&. If state version \[u2265] 19\&.09 then this should be a wrapped Floorp package\&. For earlier state versions it should be an unwrapped Floorp package\&. Set to \fR\(oqnull\(cq\fP to disable installing Floorp\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.floorp -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.floorp\&.override { - # See nixpkgs\(aq firefox/wrapper\&.nix to check which options you can use - nativeMessagingHosts = [ - # Gnome shell native connector - pkgs\&.gnome\-browser\-connector - # Tridactyl native connector - pkgs\&.tridactyl\-native - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.finalPackage\fR -.RS 4 -Resulting Floorp package\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.languagePacks\fR -.RS 4 -The language packs to install\&. Available language codes can be found on the releases page: \fR\(oqhttps://releases\&.mozilla\&.org/pub/firefox/releases/${version}/linux\-x86_64/xpi/\(cq\fP, replacing \fR\(oq${version}\(cq\fP with the version of Floorp you have\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqen\-GB\(dq - \(dqde\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.nativeMessagingHosts\fR -.RS 4 -Additional packages containing native messaging hosts that should be made available to Floorp extensions\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.pkcs11Modules\fR -.RS 4 -Additional packages to be loaded as PKCS #11 modules in Firefox\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.policies\fR -.RS 4 -\fBSee list of policies\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - BlockAboutConfig = true; - DefaultDownloadDirectory = \(dq\e${home}/Downloads\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mozilla\&.github\&.io/policy\-templates/ -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\fR -.RS 4 -Attribute set of Floorp profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.bookmarks\fR -.RS 4 -Declarative bookmarks\&. -.sp -\fIType:\fR (submodule) or ((list of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) or (attribute set of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) convertible to it) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.bookmarks\&.configFile\fR -.RS 4 -Configuration file to define custom bookmarks\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.bookmarks\&.force\fR -.RS 4 -Whether to force override existing custom bookmarks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.bookmarks\&.settings\fR -.RS 4 -Custom bookmarks\&. -.sp -\fIType:\fR (list of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) or (attribute set of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) convertible to it -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqwikipedia\(dq; - tags = [ \(dqwiki\(dq ]; - keyword = \(dqwiki\(dq; - url = \(dqhttps://en\&.wikipedia\&.org/wiki/Special:Search?search=%s&go=Go\(dq; - } - { - name = \(dqkernel\&.org\(dq; - url = \(dqhttps://www\&.kernel\&.org\(dq; - } - \(dqseparator\(dq - { - name = \(dqNix sites\(dq; - toolbar = true; - bookmarks = [ - { - name = \(dqhomepage\(dq; - url = \(dqhttps://nixos\&.org/\(dq; - } - { - name = \(dqwiki\(dq; - tags = [ \(dqwiki\(dq \(dqnix\(dq ]; - url = \(dqhttps://wiki\&.nixos\&.org/\(dq; - } - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containers\fR -.RS 4 -Attribute set of container configurations\&. See \fBMulti\-Account Containers\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - dangerous = { - color = \(dqred\(dq; - icon = \(dqfruit\(dq; - id = 2; - }; - shopping = { - color = \(dqblue\(dq; - icon = \(dqcart\(dq; - id = 1; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://support\&.mozilla\&.org/en\-US/kb/containers -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containers\&.<name>\&.color\fR -.RS 4 -Container color\&. -.sp -\fIType:\fR one of \[u201C]blue\[u201D], \[u201C]turquoise\[u201D], \[u201C]green\[u201D], \[u201C]yellow\[u201D], \[u201C]orange\[u201D], \[u201C]red\[u201D], \[u201C]pink\[u201D], \[u201C]purple\[u201D], \[u201C]toolbar\[u201D] -.sp -\fIDefault:\fR \(dqpink\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containers\&.<name>\&.icon\fR -.RS 4 -Container icon\&. -.sp -\fIType:\fR one of \[u201C]briefcase\[u201D], \[u201C]cart\[u201D], \[u201C]circle\[u201D], \[u201C]dollar\[u201D], \[u201C]fence\[u201D], \[u201C]fingerprint\[u201D], \[u201C]gift\[u201D], \[u201C]vacation\[u201D], \[u201C]food\[u201D], \[u201C]fruit\[u201D], \[u201C]pet\[u201D], \[u201C]tree\[u201D], \[u201C]chill\[u201D] -.sp -\fIDefault:\fR \(dqfruit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containers\&.<name>\&.id\fR -.RS 4 -Container ID\&. This should be set to a unique number per container in this profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containers\&.<name>\&.name\fR -.RS 4 -Container name, e\&.g\&., shopping\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.containersForce\fR -.RS 4 -Whether to force replace the existing containers configuration\&. This is recommended since Floorp will replace the symlink on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\fR -.RS 4 -Submodule for installing and configuring extensions\&. -.sp -\fIType:\fR (submodule) or (list of package) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - packages = with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - ublock\-origin - ]; - settings\&.\(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\&.packages\fR -.RS 4 -List of \[u2039]name\[u203A] add\-on packages to install for this profile\&. Some pre\-packaged add\-ons are accessible from the Nix User Repository\&. Once you have NUR installed run -.sp -.RS 4 -.nf -$ nix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A nur\&.repos\&.rycee\&.firefox\-addons -.fi -.RE -.sp -to list the available \[u2039]name\[u203A] add\-ons\&. -.sp -Note that it is necessary to manually enable these extensions inside \[u2039]name\[u203A] after the first installation\&. -.sp -To automatically enable extensions add \fR\(oq\(dqextensions\&.autoDisableScopes\(dq = 0;\(cq\fP to \fB\fBprograms\&.floorp\&.profiles\&.<profile>\&.settings\fP\fR[1]\fR -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - privacy\-badger -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.floorp\&.profiles\&.<name>\&.settings\fP option -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\&.force\fR -.RS 4 -Whether to override all previous firefox settings\&. -.sp -This is required when using \fR\(oqsettings\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\&.settings\fR -.RS 4 -Attribute set of options for each extension\&. The keys of the attribute set consist of the ID of the extension or its UUID wrapped in curly braces\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - # Example with uBlock origin\(aqs extensionID - \(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; - - # Example with Stylus\(aq UUID\-form extensionID - \(dq{7a7a4a92\-a2a0\-41d1\-9fd7\-1e92480d612d}\(dq\&.settings = { - dbInChromeStorage = true; # required for Stylus - } -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.force\fR -.RS 4 -Forcibly override any existing configuration for this extension\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.settings\fR -.RS 4 -Json formatted options for the specified extensionID -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.extraConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.id\fR -.RS 4 -Profile ID\&. This should be set to a unique number per profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.isDefault\fR -.RS 4 -Whether this is a default profile\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dqtrue if profile ID is 0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.name\fR -.RS 4 -Profile name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.path\fR -.RS 4 -Profile path\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.preConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP, before \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR\&. -.sp -Use \fBprograms.firefox.profiles.<name>.extraConfig\fR[2]\fR, unless you want to overwrite in \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR, then use this option\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.settings\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.extraConfig\fP option -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\fR -.RS 4 -Declarative search engine configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\&.default\fR -.RS 4 -The default search engine used in the address bar and search bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\&.engines\fR -.RS 4 -Attribute set of search engine configurations\&. Engines that only have \fImetaData\fP specified will be treated as builtin to Floorp\&. -.sp -See \fBSearchEngine\&.jsm\fR[1]\fR in Floorp\[u2019]s source for available options\&. We maintain a mapping to let you specify all options in the referenced link without underscores, but it may fall out of date with future options\&. -.sp -Note, \fIicon\fP is also a special option added by Home Manager to make it convenient to specify absolute icon paths\&. -.sp -\fIType:\fR attribute set of attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nix\-packages = { - name = \(dqNix Packages\(dq; - urls = [{ - template = \(dqhttps://search\&.nixos\&.org/packages\(dq; - params = [ - { name = \(dqtype\(dq; value = \(dqpackages\(dq; } - { name = \(dqquery\(dq; value = \(dq{searchTerms}\(dq; } - ]; - }]; - - icon = \(dq${pkgs\&.nixos\-icons}/share/icons/hicolor/scalable/apps/nix\-snowflake\&.svg\(dq; - definedAliases = [ \(dq@np\(dq ]; - }; - - nixos\-wiki = { - name = \(dqNixOS Wiki\(dq; - urls = [{ template = \(dqhttps://wiki\&.nixos\&.org/w/index\&.php?search={searchTerms}\(dq; }]; - iconMapObj\&.\(dq16\(dq = \(dqhttps://wiki\&.nixos\&.org/favicon\&.ico\(dq; - definedAliases = [ \(dq@nw\(dq ]; - }; - - bing\&.metaData\&.hidden = true; - google\&.metaData\&.alias = \(dq@g\(dq; # builtin engines only support specifying one additional alias -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://searchfox\&.org/mozilla\-central/rev/e3f42ec9320748b2aab3d474d1e47075def9000c/toolkit/components/search/SearchEngine\&.sys\&.mjs#890\-923 -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\&.force\fR -.RS 4 -Whether to force replace the existing search configuration\&. This is recommended since Floorp will replace the symlink for the search configuration on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\&.order\fR -.RS 4 -The order the search engines are listed in\&. Any engines that aren\[u2019]t included in this list will be listed after these in an unspecified order\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqddg\(dq - \(dqgoogle\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.search\&.privateDefault\fR -.RS 4 -The default search engine used in the Private Browsing\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.settings\fR -.RS 4 -Attribute set of Floorp preferences\&. -.sp -Floorp only supports int, bool, and string types for preferences, but home\-manager will automatically convert all other JSON\-compatible values into strings\&. -.sp -\fIType:\fR attribute set of (Floorp preference (int, bool, string, and also attrs, list, float as a JSON string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbrowser\&.startup\&.homepage\(dq = \(dqhttps://nixos\&.org\(dq; - \(dqbrowser\&.search\&.region\(dq = \(dqGB\(dq; - \(dqbrowser\&.search\&.isUS\(dq = false; - \(dqdistribution\&.searchplugins\&.defaultLocale\(dq = \(dqen\-GB\(dq; - \(dqgeneral\&.useragent\&.locale\(dq = \(dqen\-GB\(dq; - \(dqbrowser\&.bookmarks\&.showMobileBookmarks\(dq = true; - \(dqbrowser\&.newtabpage\&.pinned\(dq = [{ - title = \(dqNixOS\(dq; - url = \(dqhttps://nixos\&.org\(dq; - }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.userChrome\fR -.RS 4 -Custom Floorp user chrome CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide tab bar in FF Quantum */ - @\-moz\-document url(chrome://browser/content/browser\&.xul), url(chrome://browser/content/browser\&.xhtml) { - #TabsToolbar { - visibility: collapse !important; - margin\-bottom: 21px !important; - } - - #sidebar\-box[sidebarcommand=\(dqtreestyletab_piro_sakura_ne_jp\-sidebar\-action\(dq] #sidebar\-header { - visibility: collapse !important; - } - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.floorp\&.profiles\&.<name>\&.userContent\fR -.RS 4 -Custom Floorp user content CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide scrollbar in FF Quantum */ - *{scrollbar\-width:none !important} -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/floorp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foliate\&.enable\fR -.RS 4 -Whether to enable Foliate\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foliate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foliate\&.package\fR -.RS 4 -The foliate package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.foliate -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foliate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foliate\&.settings\fR -.RS 4 -Added to \fR\(oqconfig\&.dconf\&.settings\(cq\fP under \fR\(oqcom/github/johnfactotum/Foliate\(cq\fP, the scheme is defined at \fBhttps://github\&.com/johnfactotum/foliate/blob/gtk4/data/com\&.github\&.johnfactotum\&.Foliate\&.gschema\&.xml\fR[1]\fR -.sp -\fIType:\fR attribute set of ((GVariant value) or attribute set of (GVariant value)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - myTheme = { - color\-scheme = 0; - library = { - view\-mode = \(dqgrid\(dq; - show\-covers = true; - }; - \(dqviewer/view\(dq = { - theme = \(dqmyTheme\&.json\(dq; - }; - \(dqviewer/font\(dq = { - monospace = \(dqMaple Mono\(dq; - default\-size = 12; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foliate\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/johnfactotum/foliate/blob/gtk4/data/com\&.github\&.johnfactotum\&.Foliate\&.gschema\&.xml -.RE -.RE -.PP -\fBprograms\&.foliate\&.themes\fR -.RS 4 -Each theme is written to \fI$XDG_CONFIG_HOME/com\&.github\&.johnfactotum\&.Foliate/themes/NAME\&.json\fP\&. See \fBhttps://github\&.com/johnfactotum/foliate/blob/gtk4/src/themes\&.js\fR[1]\fR for implementation of themes in Foliate\&. -.sp -\fIType:\fR attribute set of (JSON value or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - label = \(dqMy Theme\(dq; - light = { - fg = \(dq#89b4fa\(dq; - bg = \(dq#1e1e2e\(dq; - link = \(dq#89b4fa\(dq; - }; - dark = { }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foliate\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/johnfactotum/foliate/blob/gtk4/src/themes\&.js -.RE -.RE -.PP -\fBprograms\&.foot\&.enable\fR -.RS 4 -Whether to enable Foot terminal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foot\&.package\fR -.RS 4 -The foot package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.foot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foot\&.server\&.enable\fR -.RS 4 -Whether to enable Foot terminal server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.foot\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/foot/foot\&.ini\fP\&. See \fBhttps://codeberg\&.org/dnkl/foot/src/branch/master/foot\&.ini\fR[1]\fR for a list of available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - main = { - term = \(dqxterm\-256color\(dq; - - font = \(dqFira Code:size=11\(dq; - dpi\-aware = \(dqyes\(dq; - }; - - mouse = { - hide\-when\-typing = \(dqyes\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/foot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://codeberg\&.org/dnkl/foot/src/branch/master/foot\&.ini -.RE -.RE -.PP -\fBprograms\&.freetube\&.enable\fR -.RS 4 -Whether to enable FreeTube, a YT client for Windows, Mac, and Linux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/freetube\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.freetube\&.package\fR -.RS 4 -The freetube package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.freetube -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/freetube\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.freetube\&.settings\fR -.RS 4 -Configuration settings for FreeTube\&. -.sp -All configurable options can be deduced by enabling them through the GUI and observing the changes in \fIsettings\&.db\fP\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - allowDashAv1Formats = true; - checkForUpdates = false; - defaultQuality = \(dq1080\(dq; - baseTheme = \(dqcatppuccinMocha\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/freetube\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fuzzel\&.enable\fR -.RS 4 -Whether to enable fuzzel\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fuzzel\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fuzzel\&.package\fR -.RS 4 -The fuzzel package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fuzzel -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fuzzel\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fuzzel\&.settings\fR -.RS 4 -Configuration for fuzzel written to \fI$XDG_CONFIG_HOME/fuzzel/fuzzel\&.ini\fP\&. See \fBfuzzel\&.ini\fP\fR(5)\fP for a list of available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - main = { - terminal = \(dq${pkgs\&.foot}/bin/foot\(dq; - layer = \(dqoverlay\(dq; - }; - colors\&.background = \(dqffffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fuzzel\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.enable\fR -.RS 4 -Whether to enable fzf \- a command\-line fuzzy finder\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.fzf\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.fzf\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.fzf\&.package\fR -.RS 4 -The fzf package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.fzf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.changeDirWidgetCommand\fR -.RS 4 -The command that gets executed as the source for fzf for the ALT\-C keybinding\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type d\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.changeDirWidgetOptions\fR -.RS 4 -Command line options for the ALT\-C keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-preview \(aqtree \-C {} | head \-200\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.colors\fR -.RS 4 -Color scheme options added to \fR\(oqFZF_DEFAULT_OPTS\(cq\fP\&. See \fBhttps://github\&.com/junegunn/fzf/wiki/Color\-schemes\fR[1]\fR for documentation\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - bg = \(dq#1e1e1e\(dq; - \(dqbg+\(dq = \(dq#1e1e1e\(dq; - fg = \(dq#d4d4d4\(dq; - \(dqfg+\(dq = \(dq#d4d4d4\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/junegunn/fzf/wiki/Color\-schemes -.RE -.RE -.PP -\fBprograms\&.fzf\&.defaultCommand\fR -.RS 4 -The command that gets executed as the default source for fzf when running\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.defaultOptions\fR -.RS 4 -Extra command line options given to fzf by default\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-height 40%\(dq - \(dq\-\-border\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.fileWidgetCommand\fR -.RS 4 -The command that gets executed as the source for fzf for the CTRL\-T keybinding\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.fileWidgetOptions\fR -.RS 4 -Command line options for the CTRL\-T keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-preview \(aqhead {}\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.historyWidgetOptions\fR -.RS 4 -Command line options for the CTRL\-R keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-sort\(dq - \(dq\-\-exact\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.tmux\&.enableShellIntegration\fR -.RS 4 -Whether to enable setting \fR\(oqFZF_TMUX=1\(cq\fP which causes shell integration to use fzf\-tmux \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fzf\&.tmux\&.shellIntegrationOptions\fR -.RS 4 -If \fBprograms\&.fzf\&.tmux\&.enableShellIntegration\fP is set to \fR\(oqtrue\(cq\fP, shell integration will use these options for fzf\-tmux\&. See \fBfzf\-tmux \-\-help\fP for available options\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq\-d 40%\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/fzf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gallery\-dl\&.enable\fR -.RS 4 -Whether to enable gallery\-dl\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gallery\-dl\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gallery\-dl\&.package\fR -.RS 4 -The gallery\-dl package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.gallery\-dl -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gallery\-dl\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gallery\-dl\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/gallery\-dl/config\&.json\fP\&. See \fBhttps://github\&.com/mikf/gallery\-dl#configuration\fR[1]\fR for supported values\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - extractor\&.base\-directory = \(dq\(ti/Downloads\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gallery\-dl\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mikf/gallery\-dl#configuration -.RE -.RE -.PP -\fBprograms\&.gh\&.enable\fR -.RS 4 -Whether to enable GitHub CLI tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.package\fR -.RS 4 -The gh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.gh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.extensions\fR -.RS 4 -gh extensions, see \fBhttps://cli\&.github\&.com/manual/gh_extension\fR[1]\fR\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.gh\-eco ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://cli\&.github\&.com/manual/gh_extension -.RE -.RE -.PP -\fBprograms\&.gh\&.gitCredentialHelper\&.enable\fR -.RS 4 -Whether to enable the gh git credential helper\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.gitCredentialHelper\&.hosts\fR -.RS 4 -GitHub hosts to enable the gh git credential helper for -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqhttps://github\&.com\(dq - \(dqhttps://gist\&.github\&.com\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(dqhttps://github\&.com\(dq \(dqhttps://github\&.example\&.com\(dq ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.hosts\fR -.RS 4 -Host\-specific configuration written to \fI$XDG_CONFIG_HOME/gh/hosts\&.yml\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqgithub\&.com\(dq = { - user = \(dq<your_username>\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/gh/config\&.yml\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - git_protocol = \(dqssh\(dq; - - prompt = \(dqenabled\(dq; - - aliases = { - co = \(dqpr checkout\(dq; - pv = \(dqpr view\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.settings\&.aliases\fR -.RS 4 -Aliases that allow you to create nicknames for gh commands\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - co = \(dqpr checkout\(dq; - pv = \(dqpr view\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.settings\&.editor\fR -.RS 4 -The editor that gh should run when creating issues, pull requests, etc\&. If blank, will refer to environment\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\&.settings\&.git_protocol\fR -.RS 4 -The protocol to use when performing Git operations\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhttps\(dq -.sp -\fIExample:\fR \(dqssh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\-dash\&.enable\fR -.RS 4 -Whether to enable GitHub CLI dashboard plugin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\-dash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\-dash\&.package\fR -.RS 4 -The gh\-dash package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.gh\-dash -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\-dash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gh\-dash\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/gh\-dash/config\&.yml\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - prSections = [{ - title = \(dqMy Pull Requests\(dq; - filters = \(dqis:open author:@me\(dq; - }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gh\-dash\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.enable\fR -.RS 4 -Whether to enable Ghostty\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -This ensures that shell integration works in more scenarios, such as switching shells within Ghostty\&. But it is not needed to have shell integration\&. -.sp -See \fBhttps://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup\fR[1]\fR for more information\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[2]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.ghostty\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -This ensures that shell integration works in more scenarios, such as switching shells within Ghostty\&. But it is not needed to have shell integration\&. -.sp -See \fBhttps://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup\fR[1]\fR for more information\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[2]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.ghostty\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -This ensures that shell integration works in more scenarios, such as switching shells within Ghostty\&. But it is not needed to have shell integration\&. -.sp -See \fBhttps://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup\fR[1]\fR for more information\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[2]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ghostty\&.org/docs/features/shell\-integration#manual\-shell\-integration\-setup -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.ghostty\&.package\fR -.RS 4 -The ghostty package to use\&. Set programs\&.ghostty\&.package to null on platforms where ghostty is not available or marked broken -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ghostty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.clearDefaultKeybinds\fR -.RS 4 -Whether to clear default keybinds\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.installBatSyntax\fR -.RS 4 -Whether to enable installation of Ghostty configuration syntax for bat\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true if programs\&.ghostty\&.package is not null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.installVimSyntax\fR -.RS 4 -Whether to enable installation of Ghostty configuration syntax for Vim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ghostty\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/ghostty/config\fP\&. -.sp -See \fBhttps://ghostty\&.org/docs/config/reference\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = \(dqcatppuccin\-mocha\(dq; - font\-size = 10; - keybind = [ - \(dqctrl+h=goto_split:left\(dq - \(dqctrl+l=goto_split:right\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ghostty\&.org/docs/config/reference -.RE -.RE -.PP -\fBprograms\&.ghostty\&.themes\fR -.RS 4 -Custom themes written to \fI$XDG_CONFIG_HOME/ghostty/themes\fP\&. -.sp -See \fBhttps://ghostty\&.org/docs/features/theme#authoring\-a\-custom\-theme\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of attribute set of (atom (null, bool, int, float or string) or a list of them for duplicate keys) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - catppuccin\-mocha = { - background = \(dq1e1e2e\(dq; - cursor\-color = \(dqf5e0dc\(dq; - foreground = \(dqcdd6f4\(dq; - palette = [ - \(dq0=#45475a\(dq - \(dq1=#f38ba8\(dq - \(dq2=#a6e3a1\(dq - \(dq3=#f9e2af\(dq - \(dq4=#89b4fa\(dq - \(dq5=#f5c2e7\(dq - \(dq6=#94e2d5\(dq - \(dq7=#bac2de\(dq - \(dq8=#585b70\(dq - \(dq9=#f38ba8\(dq - \(dq10=#a6e3a1\(dq - \(dq11=#f9e2af\(dq - \(dq12=#89b4fa\(dq - \(dq13=#f5c2e7\(dq - \(dq14=#94e2d5\(dq - \(dq15=#a6adc8\(dq - ]; - selection\-background = \(dq353749\(dq; - selection\-foreground = \(dqcdd6f4\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ghostty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ghostty\&.org/docs/features/theme#authoring\-a\-custom\-theme -.RE -.RE -.PP -\fBprograms\&.git\&.enable\fR -.RS 4 -Whether to enable Git\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.package\fR -.RS 4 -The git package to use\&. Use \fIpkgs\&.gitFull\fP to gain access to \fBgit send\-email\fP for instance\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.git -.sp -\fIExample:\fR pkgs\&.gitFull -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.aliases\fR -.RS 4 -Git aliases to define\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - co = \(dqcheckout\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.attributes\fR -.RS 4 -List of defining attributes set globally\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq*\&.pdf diff=pdf\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.delta\&.enable\fR -.RS 4 -Whether to enable the \fBdelta\fP syntax highlighter\&. See \fBhttps://github\&.com/dandavison/delta\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/dandavison/delta -.RE -.RE -.PP -\fBprograms\&.git\&.delta\&.package\fR -.RS 4 -The delta package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.delta -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.delta\&.options\fR -.RS 4 -Options to configure delta\&. -.sp -\fIType:\fR attribute set of (string or boolean or signed integer or attribute set of (string or boolean or signed integer)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - decorations = { - commit\-decoration\-style = \(dqbold yellow box ul\(dq; - file\-decoration\-style = \(dqnone\(dq; - file\-style = \(dqbold yellow ul\(dq; - }; - features = \(dqdecorations\(dq; - whitespace\-error\-style = \(dq22 reverse\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-highlight\&.enable\fR -.RS 4 -Enable the contrib \fBdiff\-highlight\fP syntax highlighter\&. See \fBhttps://github\&.com/git/git/blob/master/contrib/diff\-highlight/README\fR[1]\fR, -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/git/git/blob/master/contrib/diff\-highlight/README -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-highlight\&.pagerOpts\fR -.RS 4 -Arguments to be passed to \fBless\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-tabs=4\(dq - \(dq\-RFX\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.enable\fR -.RS 4 -Enable the \fBdiff\-so\-fancy\fP diff colorizer\&. See \fBhttps://github\&.com/so\-fancy/diff\-so\-fancy\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/so\-fancy/diff\-so\-fancy -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.changeHunkIndicators\fR -.RS 4 -Simplify git header chunks to a more human readable format\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.markEmptyLines\fR -.RS 4 -Whether the first block of an empty line should be colored\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.pagerOpts\fR -.RS 4 -Arguments to be passed to \fBless\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-tabs=4\(dq - \(dq\-RFX\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.rulerWidth\fR -.RS 4 -By default, the separator for the file header spans the full width of the terminal\&. Use this setting to set the width of the file header manually\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.stripLeadingSymbols\fR -.RS 4 -Whether the \fR\(oq+\(cq\fP or \fR\(oq\-\(cq\fP at line\-start should be removed\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.diff\-so\-fancy\&.useUnicodeRuler\fR -.RS 4 -By default, the separator for the file header uses Unicode line\-drawing characters\&. If this is causing output errors on your terminal, set this to false to use ASCII characters instead\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.enable\fR -.RS 4 -Enable the \fBdifftastic\fP syntax highlighter\&. See \fBhttps://github\&.com/Wilfred/difftastic\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Wilfred/difftastic -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.enableAsDifftool\fR -.RS 4 -Enable the \fBdifftastic\fP syntax highlighter as a git difftool\&. See \fBhttps://github\&.com/Wilfred/difftastic\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Wilfred/difftastic -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.package\fR -.RS 4 -The difftastic package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.difftastic -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.background\fR -.RS 4 -Determines whether difftastic should use the lighter or darker colors for syntax highlighting\&. -.sp -\fIType:\fR one of \[u201C]light\[u201D], \[u201C]dark\[u201D] -.sp -\fIDefault:\fR \(dqlight\(dq -.sp -\fIExample:\fR \(dqdark\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.color\fR -.RS 4 -Determines when difftastic should color its output\&. -.sp -\fIType:\fR one of \[u201C]always\[u201D], \[u201C]auto\[u201D], \[u201C]never\[u201D] -.sp -\fIDefault:\fR \(dqauto\(dq -.sp -\fIExample:\fR \(dqalways\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.difftastic\&.display\fR -.RS 4 -Determines how the output displays \- in one column or two columns\&. -.sp -\fIType:\fR one of \[u201C]side\-by\-side\[u201D], \[u201C]side\-by\-side\-show\-both\[u201D], \[u201C]inline\[u201D] -.sp -\fIDefault:\fR \(dqside\-by\-side\(dq -.sp -\fIExample:\fR \(dqinline\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. The use of string values is deprecated and will be removed in the future\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or attribute set of attribute set of (string or boolean or signed integer or list of (string or boolean or signed integer) or attribute set of (string or boolean or signed integer or list of (string or boolean or signed integer))) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - core = { - whitespace = \(dqtrailing\-space,space\-before\-tab\(dq; - }; - url = { - \(dqssh://git@host\(dq = { - insteadOf = \(dqotherhost\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.hooks\fR -.RS 4 -Configuration helper for Git hooks\&. See \fBhttps://git\-scm\&.com/docs/githooks\fR[1]\fR for reference\&. -.sp -\fIType:\fR attribute set of absolute path -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - pre\-commit = \&./pre\-commit\-script; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://git\-scm\&.com/docs/githooks -.RE -.RE -.PP -\fBprograms\&.git\&.ignores\fR -.RS 4 -List of paths that should be globally ignored\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq*\(ti\(dq - \(dq*\&.swp\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.includes\fR -.RS 4 -List of configuration files to include\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { path = \(dq\(ti/path/to/config\&.inc\(dq; } - { - path = \(dq\(ti/path/to/conditional\&.inc\(dq; - condition = \(dqgitdir:\(ti/src/dir\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.includes\&.*\&.condition\fR -.RS 4 -Include this configuration only when \fIcondition\fP matches\&. Allowed conditions are described in \fBgit\-config\fP\fR(1)\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.includes\&.*\&.contentSuffix\fR -.RS 4 -Nix store name for the git configuration text file, when generating the configuration text from nix options\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgitconfig\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.includes\&.*\&.contents\fR -.RS 4 -Configuration to include\&. If empty then a path must be given\&. -.sp -This follows the configuration structure as described in \fBgit\-config\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - user = { - email = \(dqbob@work\&.example\&.com\(dq; - name = \(dqBob Work\(dq; - signingKey = \(dq1A2B3C4D5E6F7G8H\(dq; - }; - commit = { - gpgSign = true; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.includes\&.*\&.path\fR -.RS 4 -Path of the configuration file to include\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.lfs\&.enable\fR -.RS 4 -Whether to enable Git Large File Storage\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.lfs\&.skipSmudge\fR -.RS 4 -Skip automatic downloading of objects on clone or pull\&. This requires a manual \fBgit lfs pull\fP every time a new commit is checked out on your repository\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.maintenance\&.enable\fR -.RS 4 -Enable the automatic \fBgit maintenance\fP\&. -.sp -If you have SSH remotes, set \fBprograms\&.git\&.package\fP to a git version with SSH support (eg: \fR\(oqpkgs\&.gitFull\(cq\fP)\&. -.sp -See \fBhttps://git\-scm\&.com/docs/git\-maintenance\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://git\-scm\&.com/docs/git\-maintenance -.RE -.RE -.PP -\fBprograms\&.git\&.maintenance\&.repositories\fR -.RS 4 -Repositories on which \fBgit maintenance\fP should run\&. -.sp -Should be a list of absolute paths\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.maintenance\&.timers\fR -.RS 4 -Systemd timers to create for scheduled \fBgit maintenance\fP\&. -.sp -Key is passed to \fR\(oq\-\-schedule\(cq\fP argument in \fBgit maintenance run\fP and value is passed to \fR\(oqTimer\&.OnCalendar\(cq\fP in \fR\(oqsystemd\&.user\&.timers\(cq\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - daily = \(dqTue\&.\&.Sun *\-*\-* 0:53:00\(dq; - hourly = \(dq*\-*\-* 1\&.\&.23:53:00\(dq; - weekly = \(dqMon 0:53:00\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.patdiff\&.enable\fR -.RS 4 -Whether to enable the \fBpatdiff\fP differ\&. See \fBhttps://opensource\&.janestreet\&.com/patdiff/\fR[1]\fR -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://opensource\&.janestreet\&.com/patdiff/ -.RE -.RE -.PP -\fBprograms\&.git\&.patdiff\&.package\fR -.RS 4 -The patdiff package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.patdiff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.riff\&.enable\fR -.RS 4 -Enable the <command>riff</command> diff highlighter\&. See <link xlink:href=\[u201C]https://github\&.com/walles/riff\[u201D] />\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.riff\&.package\fR -.RS 4 -The riffdiff package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.riffdiff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.riff\&.commandLineOptions\fR -.RS 4 -Command line arguments to include in the <command>RIFF</command> environment variable\&. -.sp -Run <command>riff \-\-help</command> for a full list of options -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq\-\-no\-adds\-only\-special\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.signing\&.format\fR -.RS 4 -The signing method to use when signing commits and tags\&. Valid values are \fR\(oqopenpgp\(cq\fP (OpenPGP/GnuPG), \fR\(oqssh\(cq\fP (SSH), and \fR\(oqx509\(cq\fP (X\&.509 certificates)\&. -.sp -\fIType:\fR null or one of \[u201C]openpgp\[u201D], \[u201C]ssh\[u201D], \[u201C]x509\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dqopenpgp\(dq for state version < 25\&.05, -undefined for state version \[u2265] 25\&.05 -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.signing\&.key\fR -.RS 4 -The default signing key fingerprint\&. -.sp -Set to \fR\(oqnull\(cq\fP to let the signer decide what signing key to use depending on commit\[u2019]s author\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.signing\&.signByDefault\fR -.RS 4 -Whether commits and tags should be signed by default\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.signing\&.signer\fR -.RS 4 -Path to signer binary to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.userEmail\fR -.RS 4 -Default user email to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\&.userName\fR -.RS 4 -Default user name to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-cliff\&.enable\fR -.RS 4 -Whether to enable git\-cliff changelog generator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-cliff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-cliff\&.package\fR -.RS 4 -The git\-cliff package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.git\-cliff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-cliff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-cliff\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/git\-cliff/cliff\&.toml\fP\&. See \fBhttps://git\-cliff\&.org/docs/configuration\fR[1]\fR for the documentation\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - header = \(dqChangelog\(dq; - trim = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-cliff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://git\-cliff\&.org/docs/configuration -.RE -.RE -.PP -\fBprograms\&.git\-credential\-oauth\&.enable\fR -.RS 4 -Whether to enable Git authentication handler for OAuth\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-credential\-oauth\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-credential\-oauth\&.package\fR -.RS 4 -The git\-credential\-oauth package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.git\-credential\-oauth -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-credential\-oauth\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-credential\-oauth\&.extraFlags\fR -.RS 4 -Extra command\-line arguments passed to git\-credential\-oauth\&. -.sp -For valid arguments, see \fBgit\-credential\-oauth\fP\fR(1)\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq\-device\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-credential\-oauth\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-worktree\-switcher\&.enable\fR -.RS 4 -Whether to enable git\-worktree\-switcher\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-worktree\-switcher\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.git\-worktree\-switcher\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-worktree\-switcher\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.git\-worktree\-switcher\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-worktree\-switcher\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.git\-worktree\-switcher\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-worktree\-switcher\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.git\-worktree\-switcher\&.package\fR -.RS 4 -The git\-worktree\-switcher package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.git\-worktree\-switcher -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/git\-worktree\-switcher\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gitui\&.enable\fR -.RS 4 -Whether to enable gitui, blazing fast terminal\-ui for git written in rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gitui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gitui\&.package\fR -.RS 4 -The gitui package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.gitui -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gitui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gitui\&.keyConfig\fR -.RS 4 -Key config in Ron file format\&. This is written to \fI$XDG_CONFIG_HOME/gitui/key_config\&.ron\fP\&. -.sp -\fIType:\fR absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - exit: Some(( code: Char(\(aqc\(aq), modifiers: ( bits: 2,),)), - quit: Some(( code: Char(\(aqq\(aq), modifiers: ( bits: 0,),)), - exit_popup: Some(( code: Esc, modifiers: ( bits: 0,),)), -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gitui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gitui\&.theme\fR -.RS 4 -Theme in Ron file format\&. This is written to \fI$XDG_CONFIG_HOME/gitui/theme\&.ron\fP\&. -.sp -\fIType:\fR absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - ( - selected_tab: Reset, - command_fg: White, - selection_bg: Blue, - selection_fg: White, - cmdbar_bg: Blue, - cmdbar_extra_lines_bg: Blue, - disabled_fg: DarkGray, - diff_line_add: Green, - diff_line_delete: Red, - diff_file_added: LightGreen, - diff_file_removed: LightRed, - diff_file_moved: LightMagenta, - diff_file_modified: Yellow, - commit_hash: Magenta, - commit_time: LightCyan, - commit_author: Green, - danger_fg: Red, - push_gauge_bg: Blue, - push_gauge_fg: Reset, - tag_fg: LightMagenta, - branch_fg: LightYellow, - ) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gitui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.enable\fR -.RS 4 -Whether to enable GNOME Shell customization\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.extensions\fR -.RS 4 -List of GNOME Shell extensions\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { package = pkgs\&.gnomeExtensions\&.dash\-to\-panel; } - { - id = \(dquser\-theme@gnome\-shell\-extensions\&.gcampax\&.github\&.com\(dq; - package = pkgs\&.gnome\-shell\-extensions; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.extensions\&.*\&.package\fR -.RS 4 -Package providing a GNOME Shell extension in \fR\(oq$out/share/gnome\-shell/extensions/${id}\(cq\fP\&. -.sp -\fIType:\fR package -.sp -\fIExample:\fR \(dqpkgs\&.gnome\-shell\-extensions\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.extensions\&.*\&.id\fR -.RS 4 -ID of the GNOME Shell extension\&. If not provided, it will be obtained from \fR\(oqpackage\&.extensionUuid\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dquser\-theme@gnome\-shell\-extensions\&.gcampax\&.github\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.theme\fR -.RS 4 -Theme to use for GNOME Shell\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - name = \(dqPlata\-Noir\(dq; - package = pkgs\&.plata\-theme; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.theme\&.package\fR -.RS 4 -Package providing a GNOME Shell theme in \fR\(oq$out/share/themes/${name}/gnome\-shell\(cq\fP\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.plata\-theme -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-shell\&.theme\&.name\fR -.RS 4 -Name of the GNOME Shell theme\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqPlata\-Noir\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.enable\fR -.RS 4 -Whether to enable Gnome Terminal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.package\fR -.RS 4 -The gnome\-terminal package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.gnome\-terminal -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\fR -.RS 4 -A set of Gnome Terminal profiles\&. Note, the name of a profile must be a UUID\&. You can generate one, for example, using \fBuuidgen\fP (from \fR\(oqutil\-linux\(cq\fP)\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.allowBold\fR -.RS 4 -If \fR\(oqtrue\(cq\fP, allow applications in the terminal to make text boldface\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.audibleBell\fR -.RS 4 -Turn on/off the terminal\[u2019]s bell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.backspaceBinding\fR -.RS 4 -Which string the terminal should send to an application when the user presses the \fIBackspace\fR key\&. -.RS 4 -.PP -\fR\(oqauto\(cq\fP -.RS 4 -Attempt to determine the right value from the terminal\[u2019]s IO settings\&. -.RE -.PP -\fR\(oqascii\-backspace\(cq\fP -.RS 4 -Send an ASCII backspace character (\fR\(oq0x08\(cq\fP)\&. -.RE -.PP -\fR\(oqascii\-delete\(cq\fP -.RS 4 -Send an ASCII delete character (\fR\(oq0x7F\(cq\fP)\&. -.RE -.PP -\fR\(oqdelete\-sequence\(cq\fP -.RS 4 -Send the \fR\(oq@7\(cq\fP control sequence\&. -.RE -.PP -\fR\(oqtty\(cq\fP -.RS 4 -Send terminal\[u2019]s \[u201C]erase\[u201D] setting\&. -.RE -.RE -.sp -\fIType:\fR one of \[u201C]auto\[u201D], \[u201C]ascii\-backspace\[u201D], \[u201C]ascii\-delete\[u201D], \[u201C]delete\-sequence\[u201D], \[u201C]tty\[u201D] -.sp -\fIDefault:\fR \(dqascii\-delete\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.boldIsBright\fR -.RS 4 -Whether bold text is shown in bright colors\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\fR -.RS 4 -The terminal colors, null to use system default\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.backgroundColor\fR -.RS 4 -The background color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.boldColor\fR -.RS 4 -The bold color, null to use same as foreground\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.cursor\fR -.RS 4 -The color for the terminal cursor\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.cursor\&.background\fR -.RS 4 -The background color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.cursor\&.foreground\fR -.RS 4 -The foreground color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.foregroundColor\fR -.RS 4 -The foreground color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.highlight\fR -.RS 4 -The colors for the terminal\[u2019]s highlighted area\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.highlight\&.background\fR -.RS 4 -The background color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.highlight\&.foreground\fR -.RS 4 -The foreground color\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.colors\&.palette\fR -.RS 4 -The terminal palette\&. -.sp -\fIType:\fR list of string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.cursorBlinkMode\fR -.RS 4 -The cursor blink mode\&. -.sp -\fIType:\fR one of \[u201C]system\[u201D], \[u201C]on\[u201D], \[u201C]off\[u201D] -.sp -\fIDefault:\fR \(dqsystem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.cursorShape\fR -.RS 4 -The cursor shape\&. -.sp -\fIType:\fR one of \[u201C]block\[u201D], \[u201C]ibeam\[u201D], \[u201C]underline\[u201D] -.sp -\fIDefault:\fR \(dqblock\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.customCommand\fR -.RS 4 -The command to use to start the shell, or null for default shell\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.default\fR -.RS 4 -Whether this should be the default profile\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.deleteBinding\fR -.RS 4 -Which string the terminal should send to an application when the user presses the \fIDelete\fR key\&. -.RS 4 -.PP -\fR\(oqauto\(cq\fP -.RS 4 -Send the \fR\(oq@7\(cq\fP control sequence\&. -.RE -.PP -\fR\(oqascii\-backspace\(cq\fP -.RS 4 -Send an ASCII backspace character (\fR\(oq0x08\(cq\fP)\&. -.RE -.PP -\fR\(oqascii\-delete\(cq\fP -.RS 4 -Send an ASCII delete character (\fR\(oq0x7F\(cq\fP)\&. -.RE -.PP -\fR\(oqdelete\-sequence\(cq\fP -.RS 4 -Send the \fR\(oq@7\(cq\fP control sequence\&. -.RE -.PP -\fR\(oqtty\(cq\fP -.RS 4 -Send terminal\[u2019]s \[u201C]erase\[u201D] setting\&. -.RE -.RE -.sp -\fIType:\fR one of \[u201C]auto\[u201D], \[u201C]ascii\-backspace\[u201D], \[u201C]ascii\-delete\[u201D], \[u201C]delete\-sequence\[u201D], \[u201C]tty\[u201D] -.sp -\fIDefault:\fR \(dqdelete\-sequence\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.font\fR -.RS 4 -The font name, null to use system default\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.loginShell\fR -.RS 4 -Run command as a login shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.scrollOnOutput\fR -.RS 4 -Whether to scroll when output is written\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.scrollbackLines\fR -.RS 4 -The number of scrollback lines to keep, null for infinite\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.showScrollbar\fR -.RS 4 -Whether the scroll bar should be visible\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.transparencyPercent\fR -.RS 4 -Background transparency in percent\&. -.sp -\fIType:\fR null or integer between 0 and 100 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.profile\&.<name>\&.visibleName\fR -.RS 4 -The profile name\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.showMenubar\fR -.RS 4 -Whether to show the menubar by default -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnome\-terminal\&.themeVariant\fR -.RS 4 -The theme variation to request -.sp -\fIType:\fR one of \[u201C]default\[u201D], \[u201C]light\[u201D], \[u201C]dark\[u201D], \[u201C]system\[u201D] -.sp -\fIDefault:\fR \(dqdefault\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gnome\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.enable\fR -.RS 4 -Whether to enable Go\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.package\fR -.RS 4 -The go package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.go -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.packages\fR -.RS 4 -Packages to add to GOPATH\&. -.sp -\fIType:\fR attribute set of absolute path -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqgolang\&.org/x/text\(dq = builtins\&.fetchGit \(dqhttps://go\&.googlesource\&.com/text\(dq; - \(dqgolang\&.org/x/time\(dq = builtins\&.fetchGit \(dqhttps://go\&.googlesource\&.com/time\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.extraGoPaths\fR -.RS 4 -Extra \fBGOPATH\fPs relative to \fBHOME\fP appended after \fBprograms.go.goPath\fR[1]\fR, if that option is set\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqextraGoPath1\(dq - \(dqextraGoPath2\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.go\&.goPath\fP option -.RE -.RE -.PP -\fBprograms\&.go\&.goBin\fR -.RS 4 -GOBIN relative to HOME -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\&.local/bin\&.go\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.goPath\fR -.RS 4 -Primary \fBGOPATH\fP relative to \fBHOME\fP\&. It will be exported first and therefore used by default by the Go tooling\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqgo\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.goPrivate\fR -.RS 4 -The \fBGOPRIVATE\fP environment variable controls which modules the go command considers to be private (not available publicly) and should therefore not use the proxy or checksum database\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq*\&.corp\&.example\&.com\(dq - \(dqrsc\&.io/private\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.telemetry\fR -.RS 4 -Options to configure Go telemetry mode\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.telemetry\&.date\fR -.RS 4 -The date indicating the date at which the modefile was updated, in YYYY\-MM\-DD format\&. It\[u2019]s used to reset the timeout before the next telemetry report is uploaded when telemetry mode is set to \[u201C]on\[u201D]\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq1970\-01\-01\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.go\&.telemetry\&.mode\fR -.RS 4 -Go telemetry mode to be set\&. -.sp -\fIType:\fR null or one of \[u201C]off\[u201D], \[u201C]local\[u201D], \[u201C]on\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.enable\fR -.RS 4 -Whether to enable GnuPG\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.package\fR -.RS 4 -The gnupg package to use\&. Also used by the gpg\-agent service\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.gnupg -.sp -\fIExample:\fR pkgs\&.gnupg23 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.homedir\fR -.RS 4 -Directory to store keychains and configuration\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/\&.gnupg\(dq -.sp -\fIExample:\fR \(dq${config\&.xdg\&.dataHome}/gnupg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.mutableKeys\fR -.RS 4 -If set to \fR\(oqtrue\(cq\fP, you may manage your keyring as a user using the \fR\(oqgpg\(cq\fP command\&. Upon activation, the keyring will have managed keys added without overwriting unmanaged keys\&. -.sp -If set to \fR\(oqfalse\(cq\fP, the path \fI$GNUPGHOME/pubring\&.kbx\fP will become an immutable link to the Nix store, denying modifications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.mutableTrust\fR -.RS 4 -If set to \fR\(oqtrue\(cq\fP, you may manage trust as a user using the \fBgpg\fP command\&. Upon activation, trusted keys have their trust set without overwriting unmanaged keys\&. -.sp -If set to \fR\(oqfalse\(cq\fP, the path \fI$GNUPGHOME/trustdb\&.gpg\fP will be \fIoverwritten\fR on each activation, removing trust for any unmanaged keys\&. Be careful to make a backup of your old \fItrustdb\&.gpg\fP before switching to immutable trust! -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.publicKeys\fR -.RS 4 -A list of public keys to be imported into GnuPG\&. Note, these key files will be copied into the world\-readable Nix store\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ { source = \&./pubkeys\&.txt; } ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.publicKeys\&.*\&.source\fR -.RS 4 -Path of an OpenPGP public key file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.publicKeys\&.*\&.text\fR -.RS 4 -Text of an OpenPGP public key\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gpg\&.publicKeys\&.*\&.trust\fR -.RS 4 -The amount of trust you have in the key ownership and the care the owner puts into signing other keys\&. The available levels are -.RS 4 -.PP -\fR\(oqunknown\(cq\fP or \fR\(oq1\(cq\fP -.RS 4 -I don\[u2019]t know or won\[u2019]t say\&. -.RE -.PP -\fR\(oqnever\(cq\fP or \fR\(oq2\(cq\fP -.RS 4 -I do \fBnot\fR trust\&. -.RE -.PP -\fR\(oqmarginal\(cq\fP or \fR\(oq3\(cq\fP -.RS 4 -I trust marginally\&. -.RE -.PP -\fR\(oqfull\(cq\fP or \fR\(oq4\(cq\fP -.RS 4 -I trust fully\&. -.RE -.PP -\fR\(oqultimate\(cq\fP or \fR\(oq5\(cq\fP -.RS 4 -I trust ultimately\&. -.RE -.RE -.sp -See the \fBKey Management chapter\fR[1]\fR of the GNU Privacy Handbook for more\&. -.sp -\fIType:\fR null or one of \[u201C]unknown\[u201D], 1, \[u201C]never\[u201D], 2, \[u201C]marginal\[u201D], 3, \[u201C]full\[u201D], 4, \[u201C]ultimate\[u201D], 5 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.gnupg\&.org/gph/en/manual/x334\&.html -.RE -.RE -.PP -\fBprograms\&.gpg\&.scdaemonSettings\fR -.RS 4 -SCdaemon configuration options\&. Available options are described in \fB\fBscdaemon\fP\fR(1)\fP\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (string or boolean or list of string) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - disable\-ccid = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.gnupg\&.org/documentation/manuals/gnupg/Scdaemon\-Options\&.html -.RE -.RE -.PP -\fBprograms\&.gpg\&.settings\fR -.RS 4 -GnuPG configuration options\&. Available options are described in \fB\fBgpg\fP\fR(1)\fP\fR[1]\fR\&. -.sp -Note that lists are converted to duplicate keys\&. -.sp -\fIType:\fR attribute set of (string or boolean or list of string) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - no\-comments = false; - s2k\-cipher\-algo = \(dqAES128\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gpg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://gnupg\&.org/documentation/manpage\&.html -.RE -.RE -.PP -\fBprograms\&.gradle\&.enable\fR -.RS 4 -Whether to enable Gradle Build Tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gradle\&.package\fR -.RS 4 -The gradle package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.gradle -.sp -\fIExample:\fR pkgs\&.gradle_7 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gradle\&.home\fR -.RS 4 -The Gradle home directory, relative to \fBhome.homeDirectory\fR[1]\fR\&. -.sp -If set, the \fBGRADLE_USER_HOME\fP environment variable will be set accordingly\&. Defaults to \fI\&.gradle\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\&.gradle\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.homeDirectory\fP option -.RE -.RE -.PP -\fBprograms\&.gradle\&.initScripts\fR -.RS 4 -Definition of init scripts to link into the Gradle home directory\&. -.sp -For more information about init scripts, including naming conventions see https://docs\&.gradle\&.org/current/userguide/init_scripts\&.html\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmaven\-local\&.gradle\(dq\&.text = \(aq\(aq - allProject { - repositories { - mavenLocal() - } - } - \(aq\(aq; - \(dqanother\&.init\&.gradle\&.kts\(dq\&.source = \&./another\&.init\&.gradle\&.kts; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gradle\&.initScripts\&.<name>\&.source\fR -.RS 4 -Path of the init script file\&. If \fR\(oqtext\(cq\fP is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gradle\&.initScripts\&.<name>\&.text\fR -.RS 4 -Text of the init script file\&. if this option is null then \fR\(oqsource\(cq\fP must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gradle\&.settings\fR -.RS 4 -Key value pairs to write to \fIgradle\&.properties\fP in the Gradle home directory\&. -.sp -\fIType:\fR attribute set of (string, package, bool, int or float) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg\&.gradle\&.caching\(dq = true; - \(dqorg\&.gradle\&.parallel\(dq = true; - \(dqorg\&.gradle\&.jvmargs\(dq = \(dq\-XX:MaxMetaspaceSize=384m\(dq; - \(dqorg\&.gradle\&.home\(dq = pkgs\&.jdk17; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/gradle\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.granted\&.enable\fR -.RS 4 -Whether to enable granted\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/granted\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.granted\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/granted\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.granted\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/granted\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.granted\&.package\fR -.RS 4 -The granted package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.granted -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/granted\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.halloy\&.enable\fR -.RS 4 -Whether to enable halloy\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/halloy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.halloy\&.package\fR -.RS 4 -The halloy package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.halloy -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/halloy\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.halloy\&.settings\fR -.RS 4 -Configuration settings for halloy\&. All available options can be found here: \fBhttps://halloy\&.chat/configuration/index\&.html\fR[1]\fR\&. Note that halloy requires at least one \fR\(oqserver\(cq\fP to be configured, see example\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbuffer\&.channel\&.topic\(dq = { - enabled = true; - }; - \(dqservers\&.liberachat\(dq = { - channels = [ - \(dq#halloy\(dq - ]; - nickname = \(dqhalloy\-user\(dq; - server = \(dqirc\&.libera\&.chat\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/halloy\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://halloy\&.chat/configuration/index\&.html -.RE -.RE -.PP -\fBprograms\&.halloy\&.themes\fR -.RS 4 -Each theme is written to \fI$XDG_CONFIG_HOME/halloy/themes/NAME\&.toml\fP\&. See \fBhttps://halloy\&.chat/configuration/themes/index\&.html\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (TOML value or strings concatenated with \[u201C]\en\[u201D] or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my\-theme = { - general = { - background = \(dq<string>\(dq; - border = \(dq<string>\(dq; - horizontal_rule = \(dq<string>\(dq; - unread_indicator = \(dq<string>\(dq; - }; - text = { - primary = \(dq<string>\(dq; - secondary = \(dq<string>\(dq; - tertiary = \(dq<string>\(dq; - success = \(dq<string>\(dq; - error = \(dq<string>\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/halloy\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://halloy\&.chat/configuration/themes/index\&.html -.RE -.RE -.PP -\fBprograms\&.havoc\&.enable\fR -.RS 4 -Whether to enable Havoc terminal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/havoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.havoc\&.package\fR -.RS 4 -The havoc package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.havoc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/havoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.havoc\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/havoc\&.cfg\fP\&. See \fBhttps://raw\&.githubusercontent\&.com/ii8/havoc/master/havoc\&.cfg\fR[1]\fR for a list of available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - child\&.program = \(dqbash\(dq; - window\&.opacity = 240; - window\&.margin = no; - terminal = { - rows = 80; - columns = 24; - scrollback = 2000; - }; - bind = { - \(dqC\-S\-c\(dq = \(dqcopy\(dq; - \(dqC\-S\-v\(dq = \(dqpaste\(dq; - \(dqC\-S\-r\(dq = \(dqreset\(dq; - \(dqC\-S\-Delete\(dq = \(dqhard reset\(dq; - \(dqC\-S\-j\(dq = \(dqscroll down\(dq; - \(dqC\-S\-k\(dq = \(dqscroll up\(dq; - \(dqC\-S\-Page_Down\(dq = \(dqscroll down page\(dq; - \(dqC\-S\-Page_Up\(dq = \(dqscroll up page\(dq; - \(dqC\-S\-End\(dq = \(dqscroll to bottom\(dq; - \(dqC\-S\-Home\(dq = \(dqscroll to top\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/havoc\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://raw\&.githubusercontent\&.com/ii8/havoc/master/havoc\&.cfg -.RE -.RE -.PP -\fBprograms\&.helix\&.enable\fR -.RS 4 -Whether to enable helix text editor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.package\fR -.RS 4 -The helix package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.helix -.sp -\fIExample:\fR pkgs\&.evil\-helix -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.defaultEditor\fR -.RS 4 -Whether to configure \fBhx\fP as the default editor using the \fBEDITOR\fP environment variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.extraConfig\fR -.RS 4 -Extra lines to be appended to the config file\&. Use this if you would like to maintain order for helix settings (eg\&. for minor modes) -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[keys\&.normal\&.g] # Reverse Alphabetical Order -G = \(dqgoto_file_end\(dq -g = \(dqgoto_file_start\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.extraPackages\fR -.RS 4 -Extra packages available to hx\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.marksman ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.ignores\fR -.RS 4 -List of paths that should be globally ignored for file picker\&. Supports the usual ignore and negative ignore (unignore) rules used in \fR\(oq\&.gitignore\(cq\fP files\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\&.build/\(dq - \(dq!\&.gitignore\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.helix\&.languages\fR -.RS 4 -Language specific configuration at \fI$XDG_CONFIG_HOME/helix/languages\&.toml\fP\&. -.sp -See \fBhttps://docs\&.helix\-editor\&.com/languages\&.html\fR[1]\fR for more information\&. -.sp -\fIType:\fR (TOML value) or (list of (TOML value)) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - language\-server\&.typescript\-language\-server = with pkgs\&.nodePackages; { - command = \(dq${typescript\-language\-server}/bin/typescript\-language\-server\(dq; - args = [ \(dq\-\-stdio\(dq \(dq\-\-tsserver\-path=${typescript}/lib/node_modules/typescript/lib\(dq ]; - }; - - language = [{ - name = \(dqrust\(dq; - auto\-format = false; - }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.helix\-editor\&.com/languages\&.html -.RE -.RE -.PP -\fBprograms\&.helix\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/helix/config\&.toml\fP\&. -.sp -See \fBhttps://docs\&.helix\-editor\&.com/configuration\&.html\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = \(dqbase16\(dq; - editor = { - line\-number = \(dqrelative\(dq; - lsp\&.display\-messages = true; - }; - keys\&.normal = { - space\&.space = \(dqfile_picker\(dq; - space\&.w = \(dq:w\(dq; - space\&.q = \(dq:q\(dq; - esc = [ \(dqcollapse_selection\(dq \(dqkeep_primary_selection\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.helix\-editor\&.com/configuration\&.html -.RE -.RE -.PP -\fBprograms\&.helix\&.themes\fR -.RS 4 -Each theme is written to \fI$XDG_CONFIG_HOME/helix/themes/theme\-name\&.toml\fP\&. Where the name of each attribute is the theme\-name (in the example \[u201C]base16\[u201D])\&. -.sp -See \fBhttps://docs\&.helix\-editor\&.com/themes\&.html\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR attribute set of (TOML value or absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - base16 = let - transparent = \(dqnone\(dq; - gray = \(dq#665c54\(dq; - dark\-gray = \(dq#3c3836\(dq; - white = \(dq#fbf1c7\(dq; - black = \(dq#282828\(dq; - red = \(dq#fb4934\(dq; - green = \(dq#b8bb26\(dq; - yellow = \(dq#fabd2f\(dq; - orange = \(dq#fe8019\(dq; - blue = \(dq#83a598\(dq; - magenta = \(dq#d3869b\(dq; - cyan = \(dq#8ec07c\(dq; - in { - \(dqui\&.menu\(dq = transparent; - \(dqui\&.menu\&.selected\(dq = { modifiers = [ \(dqreversed\(dq ]; }; - \(dqui\&.linenr\(dq = { fg = gray; bg = dark\-gray; }; - \(dqui\&.popup\(dq = { modifiers = [ \(dqreversed\(dq ]; }; - \(dqui\&.linenr\&.selected\(dq = { fg = white; bg = black; modifiers = [ \(dqbold\(dq ]; }; - \(dqui\&.selection\(dq = { fg = black; bg = blue; }; - \(dqui\&.selection\&.primary\(dq = { modifiers = [ \(dqreversed\(dq ]; }; - \(dqcomment\(dq = { fg = gray; }; - \(dqui\&.statusline\(dq = { fg = white; bg = dark\-gray; }; - \(dqui\&.statusline\&.inactive\(dq = { fg = dark\-gray; bg = white; }; - \(dqui\&.help\(dq = { fg = dark\-gray; bg = white; }; - \(dqui\&.cursor\(dq = { modifiers = [ \(dqreversed\(dq ]; }; - \(dqvariable\(dq = red; - \(dqvariable\&.builtin\(dq = orange; - \(dqconstant\&.numeric\(dq = orange; - \(dqconstant\(dq = orange; - \(dqattributes\(dq = yellow; - \(dqtype\(dq = yellow; - \(dqui\&.cursor\&.match\(dq = { fg = yellow; modifiers = [ \(dqunderlined\(dq ]; }; - \(dqstring\(dq = green; - \(dqvariable\&.other\&.member\(dq = red; - \(dqconstant\&.character\&.escape\(dq = cyan; - \(dqfunction\(dq = blue; - \(dqconstructor\(dq = blue; - \(dqspecial\(dq = blue; - \(dqkeyword\(dq = magenta; - \(dqlabel\(dq = magenta; - \(dqnamespace\(dq = blue; - \(dqdiff\&.plus\(dq = green; - \(dqdiff\&.delta\(dq = yellow; - \(dqdiff\&.minus\(dq = red; - \(dqdiagnostic\(dq = { modifiers = [ \(dqunderlined\(dq ]; }; - \(dqui\&.gutter\(dq = { bg = black; }; - \(dqinfo\(dq = blue; - \(dqhint\(dq = dark\-gray; - \(dqdebug\(dq = dark\-gray; - \(dqwarning\(dq = yellow; - \(dqerror\(dq = red; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/helix\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.helix\-editor\&.com/themes\&.html -.RE -.RE -.PP -\fBprograms\&.hexchat\&.enable\fR -.RS 4 -Whether to enable HexChat, a graphical IRC client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.package\fR -.RS 4 -The hexchat package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hexchat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\fR -.RS 4 -Configures \fI$XDG_CONFIG_HOME/hexchat/servlist\&.conf\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - oftc = { - autojoin = [ - \(dq#home\-manager\(dq - \(dq#linux\(dq - ]; - charset = \(dqUTF\-8 (Unicode)\(dq; - commands = [ - \(dqECHO Buzz Lightyear sent you a message: \(aqTo Infinity\&.\&.\&. and Beyond!\(aq\(dq - ]; - loginMethod = sasl; - nickname = \(dqmy_nickname\(dq; - nickname2 = \(dqmy_secondchoice\(dq; - options = { - acceptInvalidSSLCertificates = false; - autoconnect = true; - bypassProxy = true; - connectToSelectedServerOnly = true; - useGlobalUserInformation = false; - forceSSL = false; - }; - password = \(dqmy_password\(dq; - realName = \(dqmy_realname\(dq; - servers = [ - \(dqirc\&.oftc\&.net\(dq - ]; - userName = \(dqmy_username\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.autojoin\fR -.RS 4 -Channels list to autojoin on connecting to server\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq#home\-manager\(dq - \(dq#linux\(dq - \(dq#nix\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.charset\fR -.RS 4 -Character set\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqUTF\-8 (Unicode)\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.commands\fR -.RS 4 -Commands to be executed on connecting to server\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dqECHO Greetings fellow Nixer! ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.loginMethod\fR -.RS 4 -The login method\&. The allowed options are: -.RS 4 -.PP -\fR\(oqnull\(cq\fP -.RS 4 -Default -.RE -.PP -\fR\(oq\(dqnickServMsg\(dq\(cq\fP -.RS 4 -NickServ (\fR\(oq/MSG NickServ\(cq\fP + password) -.RE -.PP -\fR\(oq\(dqnickServ\(dq\(cq\fP -.RS 4 -NickServ (\fR\(oq/NICKSERV\(cq\fP + password) -.RE -.PP -\fR\(oq\(dqchallengeAuth\(dq\(cq\fP -.RS 4 -Challenge Auth (username + password) -.RE -.PP -\fR\(oq\(dqsasl\(dq\(cq\fP -.RS 4 -SASL (username + password) -.RE -.PP -\fR\(oq\(dqserverPassword\(dq\(cq\fP -.RS 4 -Server password (\fR\(oq/PASS\(cq\fP password) -.RE -.PP -\fR\(oq\(dqsaslExternal\(dq\(cq\fP -.RS 4 -SASL EXTERNAL (cert) -.RE -.PP -\fR\(oq\(dqcustomCommands\(dq\(cq\fP -.RS 4 -Use \[u201C]commands\[u201D] field for auth\&. For example -.sp -.RS 4 -.nf -commands = [ \(dq/msg NickServ IDENTIFY my_password\(dq ] -.fi -.RE -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]challengeAuth\[u201D], \[u201C]customCommands\[u201D], \[u201C]nickServ\[u201D], \[u201C]nickServMsg\[u201D], \[u201C]sasl\[u201D], \[u201C]saslExternal\[u201D], \[u201C]serverPassword\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.nickname\fR -.RS 4 -Primary nickname\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.nickname2\fR -.RS 4 -Secondary nickname\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\fR -.RS 4 -Channel options\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - autoconnect = true; - useGlobalUserInformation = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.acceptInvalidSSLCertificates\fR -.RS 4 -Accept invalid SSL certificates\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.autoconnect\fR -.RS 4 -Autoconnect to network\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.bypassProxy\fR -.RS 4 -Bypass proxy\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.connectToSelectedServerOnly\fR -.RS 4 -Connect to selected server only\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.forceSSL\fR -.RS 4 -Use SSL for all servers\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.options\&.useGlobalUserInformation\fR -.RS 4 -Use global user information\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.password\fR -.RS 4 -Password to use\&. Note this password will be readable by all user\[u2019]s in the Nix store\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.realName\fR -.RS 4 -Real name\&. Is used to populate the real name field that appears when someone uses the \fR\(oqWHOIS\(cq\fP command on your nick\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.servers\fR -.RS 4 -IRC Server Address List\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqirc\&.oftc\&.net\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.channels\&.<name>\&.userName\fR -.RS 4 -User name\&. Part of your \fR\(oquser@host\(cq\fP hostmask that appears to other on IRC\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.overwriteConfigFiles\fR -.RS 4 -Enables overwriting HexChat configuration files (\fIhexchat\&.conf\fP, \fIservlist\&.conf\fP)\&. Any existing HexChat configuration will be lost\&. Make sure to back up any previous configuration before enabling this\&. -.sp -Enabling this setting is recommended, because everytime HexChat application is closed it overwrites Nix/Home Manager provided configuration files, causing: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -Nix/Home Manager provided configuration to be out of sync with actual active HexChat configuration\&. -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -Nix/Home Manager updates to be blocked until configuration files are manually removed\&. -.RE -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hexchat\&.settings\fR -.RS 4 -Configuration for \fI$XDG_CONFIG_HOME/hexchat/hexchat\&.conf\fP, see \fBhttps://hexchat\&.readthedocs\&.io/en/latest/settings\&.html#list\-of\-settings\fR[1]\fR for supported values\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - irc_nick1 = \(dqmynick\(dq; - irc_username = \(dqbob\(dq; - irc_realname = \(dqBart Simpson\(dq; - text_font = \(dqMonospace 14\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://hexchat\&.readthedocs\&.io/en/latest/settings\&.html#list\-of\-settings -.RE -.RE -.PP -\fBprograms\&.hexchat\&.theme\fR -.RS 4 -Theme package for HexChat\&. Expects a derivation containing decompressed theme files\&. Note, \fR\(oq\&.hct\(cq\fP files are actually ZIP files, as seen in example\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -source = pkgs\&.fetchzip { - url = \(dqhttps://dl\&.hexchat\&.net/themes/Monokai\&.hct#Monokai\&.zip\(dq; - sha256 = \(dqsha256\-WCdgEr8PwKSZvBMs0fN7E2gOjNM0c2DscZGSKSmdID0=\(dq; - stripRoot = false; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hexchat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.himalaya\&.enable\fR -.RS 4 -Whether to enable the email client Himalaya CLI\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.himalaya\&.package\fR -.RS 4 -The himalaya package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.himalaya -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.himalaya\&.settings\fR -.RS 4 -Himalaya CLI global configuration\&. See \fBhttps://github\&.com/pimalaya/himalaya/blob/master/config\&.sample\&.toml\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/himalaya\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/pimalaya/himalaya/blob/master/config\&.sample\&.toml -.RE -.RE -.PP -\fBprograms\&.home\-manager\&.enable\fR -.RS 4 -Whether to enable Home Manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/home\-manager\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.home\-manager\&.path\fR -.RS 4 -The default path to use for Home Manager\&. When \fR\(oqnull\(cq\fP, then the \fIhome\-manager\fP channel, \fI$HOME/\&.config/nixpkgs/home\-manager\fP, and \fI$HOME/\&.nixpkgs/home\-manager\fP will be attempted\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq$HOME/devel/home\-manager\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/home\-manager\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hstr\&.enable\fR -.RS 4 -Whether to enable Bash And Zsh shell history suggest box \- easily view, navigate, search and manage your command history\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hstr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hstr\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hstr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.hstr\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hstr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.hstr\&.package\fR -.RS 4 -The hstr package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.hstr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hstr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.htop\&.enable\fR -.RS 4 -Whether to enable htop\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/htop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.htop\&.package\fR -.RS 4 -The htop package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.htop -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/htop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.htop\&.settings\fR -.RS 4 -Configuration options to add to \fI$XDG_CONFIG_HOME/htop/htoprc\fP\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string or list of (signed integer or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - color_scheme = 6; - cpu_count_from_one = 0; - delay = 15; - fields = with config\&.lib\&.htop\&.fields; [ - PID - USER - PRIORITY - NICE - M_SIZE - M_RESIDENT - M_SHARE - STATE - PERCENT_CPU - PERCENT_MEM - TIME - COMM - ]; - highlight_base_name = 1; - highlight_megabytes = 1; - highlight_threads = 1; -} // (with config\&.lib\&.htop; leftMeters [ - (bar \(dqAllCPUs2\(dq) - (bar \(dqMemory\(dq) - (bar \(dqSwap\(dq) - (text \(dqZram\(dq) -]) // (with config\&.lib\&.htop; rightMeters [ - (text \(dqTasks\(dq) - (text \(dqLoadAverage\(dq) - (text \(dqUptime\(dq) - (text \(dqSystemd\(dq) -]); -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/htop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hwatch\&.enable\fR -.RS 4 -Whether to enable hwatch, a modern alternative to the \fBwatch\fP command \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hwatch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hwatch\&.package\fR -.RS 4 -The hwatch package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hwatch -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hwatch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hwatch\&.extraArgs\fR -.RS 4 -Extra command\-line arguments to pass to \fBhwatch\fP\&. These will be used to populate the \fBHWATCH\fP environment variable\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-exec\(dq - \(dq\-\-precise\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hwatch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyfetch\&.enable\fR -.RS 4 -Whether to enable hyfetch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyfetch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyfetch\&.package\fR -.RS 4 -The hyfetch package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.hyfetch -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyfetch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyfetch\&.settings\fR -.RS 4 -JSON config for HyFetch -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - preset = \(dqrainbow\(dq; - mode = \(dqrgb\(dq; - color_align = { - mode = \(dqhorizontal\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyfetch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.enable\fR -.RS 4 -Whether to enable Hyprlock, Hyprland\[u2019]s GPU\-accelerated lock screen utility\&. -.sp -Note that PAM must be configured to enable hyprlock to perform authentication\&. The package installed through home\-manager will \fInot\fR be able to unlock the session without this configuration\&. -.sp -On NixOS, it can be enabled using: -.sp -.RS 4 -.nf -security\&.pam\&.services\&.hyprlock = {}; -.fi -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.package\fR -.RS 4 -The hyprlock package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hyprlock -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fR\(oq\(ti/\&.config/hypr/hyprlock\&.conf\(cq\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.importantPrefixes\fR -.RS 4 -List of prefix of attributes to source at the top of the config\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq - \(dqbezier\(dq - \(dqmonitor\(dq - \(dqsize\(dq - \(dqsource\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq - \(dqbezier\(dq - \(dqmonitor\(dq - \(dqsize\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.settings\fR -.RS 4 -Hyprlock configuration written in Nix\&. Entries with the same key should be written as lists\&. Variables\[u2019] and colors\[u2019] names should be quoted\&. See \fBhttps://wiki\&.hypr\&.land/Hypr\-Ecosystem/hyprlock/\fR[1]\fR for more examples\&. -.sp -\fIType:\fR Hyprlock configuration value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general = { - disable_loading_bar = true; - grace = 300; - hide_cursor = true; - no_fade_in = false; - }; - - background = [ - { - path = \(dqscreenshot\(dq; - blur_passes = 3; - blur_size = 8; - } - ]; - - input\-field = [ - { - size = \(dq200, 50\(dq; - position = \(dq0, \-80\(dq; - monitor = \(dq\(dq; - dots_center = true; - fade_on_empty = false; - font_color = \(dqrgb(202, 211, 245)\(dq; - inner_color = \(dqrgb(91, 96, 120)\(dq; - outer_color = \(dqrgb(24, 25, 38)\(dq; - outline_thickness = 5; - placeholder_text = \(aq\e\(aq<span foreground=\(dq##cad3f5\(dq>Password\&.\&.\&.</span>\(aq\e\(aq; - shadow_passes = 2; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wiki\&.hypr\&.land/Hypr\-Ecosystem/hyprlock/ -.RE -.RE -.PP -\fBprograms\&.hyprlock\&.sourceFirst\fR -.RS 4 -Whether to enable putting source entries at the top of the configuration \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/hyprlock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3bar\-river\&.enable\fR -.RS 4 -Whether to enable i3bar\-river\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3bar\-river\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3bar\-river\&.package\fR -.RS 4 -The i3bar\-river package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.i3bar\-river -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3bar\-river\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3bar\-river\&.settings\fR -.RS 4 -Configuration settings for i3bar\-river\&. All available options can be found here: \fBhttps://github\&.com/MaxVerevkin/i3bar\-river?tab=readme\-ov\-file#configuration\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#282828ff\(dq; - color = \(dq#ffffffff\(dq; - font = \(dqmonospace 10\(dq; - height = 24; - margin_bottom = 0; - margin_left = 0; - margin_top = 0; - separator = \(dq#9a8a62ff\(dq; - \(dqwm\&.river\(dq = { - max_tag = 0; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3bar\-river\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/MaxVerevkin/i3bar\-river?tab=readme\-ov\-file#configuration -.RE -.RE -.PP -\fBprograms\&.i3blocks\&.enable\fR -.RS 4 -Whether to enable i3blocks i3 status command scheduler\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3blocks\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3blocks\&.package\fR -.RS 4 -The i3blocks package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.i3blocks -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3blocks\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3blocks\&.bars\fR -.RS 4 -Configuration written to i3blocks config -.sp -\fIType:\fR attribute set of (DAG of attribute set of (INI atom (null, int, bool, string, or float))) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - top = { - # The title block - title = { - interval = \(dqpersist\(dq; - command = \(dqxtitle \-s\(dq; - }; - }; - bottom = { - time = { - command = \(dqdate +%r\(dq; - interval = 1; - }; - # Make sure this block comes after the time block - date = lib\&.hm\&.dag\&.entryAfter [ \(dqtime\(dq ] { - command = \(dqdate +%d\(dq; - interval = 5; - }; - # And this block after the example block - example = lib\&.hm\&.dag\&.entryAfter [ \(dqdate\(dq ] { - command = \(dqecho hi $(date +%s)\(dq; - interval = 3; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3blocks\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.enable\fR -.RS 4 -Whether to enable i3status\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.enableDefault\fR -.RS 4 -Whether or not to enable the default configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.package\fR -.RS 4 -The i3status package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.i3status -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.general\fR -.RS 4 -Configuration to add to i3status \fIconfig\fP \fR\(oqgeneral\(cq\fP section\&. See \fBi3status\fP\fR(1)\fP for options\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - colors = true; - color_good = \(dq#e0e0e0\(dq; - color_degraded = \(dq#d7ae00\(dq; - color_bad = \(dq#f69d6a\(dq; - interval = 1; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.modules\fR -.RS 4 -Modules to add to i3status \fIconfig\fP file\&. See \fBi3status\fP\fR(1)\fP for options\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqvolume master\(dq = { - position = 1; - settings = { - format = \(dq\[u266A] %volume\(dq; - format_muted = \(dq\[u266A] muted (%volume)\(dq; - device = \(dqpulse:1\(dq; - }; - }; - \(dqdisk /\(dq = { - position = 2; - settings = { - format = \(dq/ %avail\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.modules\&.<name>\&.enable\fR -.RS 4 -Whether or not to enable this module\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.modules\&.<name>\&.position\fR -.RS 4 -Position of this module in i3status \fR\(oqorder\(cq\fP\&. -.sp -\fIType:\fR signed integer or floating point number -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\&.modules\&.<name>\&.settings\fR -.RS 4 -Configuration to add to this i3status module\&. See \fBi3status\fP\fR(1)\fP for options\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - format = \(dq\[u266A] %volume\(dq; - format_muted = \(dq\[u266A] muted (%volume)\(dq; - device = \(dqpulse:1\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.enable\fR -.RS 4 -Whether to enable a replacement for i3\-status written in Rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.package\fR -.RS 4 -The i3status\-rust package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.i3status\-rust -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.bars\fR -.RS 4 -Attribute set of i3status\-rust bars, each with their own configuration\&. Each bar \fIname\fP generates a config file suffixed with the bar\[u2019]s \fIname\fP from the attribute set, like so: \fIconfig\-${name}\&.toml\fP\&. -.sp -This way, multiple config files can be generated, such as for having a top and a bottom bar\&. -.sp -See \fBi3status\-rust\fP\fR(1)\fP for options\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - default = { - blocks = [ - { - alert = 10\&.0; - block = \(dqdisk_space\(dq; - info_type = \(dqavailable\(dq; - interval = 60; - path = \(dq/\(dq; - warning = 20\&.0; - } - { - block = \(dqmemory\(dq; - format = \(dq $icon mem_used_percents \(dq; - format_alt = \(dq $icon $swap_used_percents \(dq; - } - { - block = \(dqcpu\(dq; - interval = 1; - } - { - block = \(dqload\(dq; - format = \(dq $icon $1m \(dq; - interval = 1; - } - { - block = \(dqsound\(dq; - } - { - block = \(dqtime\(dq; - format = \(dq $timestamp\&.datetime(f:\(aq%a %d/%m %R\(aq) \(dq; - interval = 60; - } - ]; - }; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -bottom = { - blocks = [ - { - block = \(dqdisk_space\(dq; - path = \(dq/\(dq; - info_type = \(dqavailable\(dq; - interval = 60; - warning = 20\&.0; - alert = 10\&.0; - } - { - block = \(dqmemory\(dq; - format_mem = \(dq $icon $mem_used_percents \(dq; - format_swap = \(dq $icon $swap_used_percents \(dq; - } - { - block = \(dqcpu\(dq; - interval = 1; - } - { - block = \(dqload\(dq; - interval = 1; - format = \(dq $icon $1m \(dq; - } - { block = \(dqsound\(dq; } - { - block = \(dqtime\(dq; - interval = 60; - format = \(dq $timestamp\&.datetime(f:\(aq%a %d/%m %R\(aq) \(dq; - } - ]; - settings = { - theme = { - theme = \(dqsolarized\-dark\(dq; - overrides = { - idle_bg = \(dq#123456\(dq; - idle_fg = \(dq#abcdef\(dq; - }; - }; - }; - icons = \(dqawesome5\(dq; - theme = \(dqgruvbox\-dark\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.bars\&.<name>\&.blocks\fR -.RS 4 -Configuration blocks to add to i3status\-rust \fIconfig\fP\&. See \fBhttps://github\&.com/greshake/i3status\-rust/blob/master/blocks\&.md\fR[1]\fR for block options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - { - block = \(dqcpu\(dq; - } - { - alert = 10\&.0; - block = \(dqdisk_space\(dq; - format = \(dq $icon root: $available\&.eng(w:2) \(dq; - info_type = \(dqavailable\(dq; - interval = 20; - path = \(dq/\(dq; - warning = 20\&.0; - } - { - block = \(dqmemory\(dq; - format = \(dq $icon $mem_total_used_percents\&.eng(w:2) \(dq; - format_alt = \(dq $icon_swap $swap_used_percents\&.eng(w:2) \(dq; - } - { - block = \(dqsound\(dq; - click = [ - { - button = \(dqleft\(dq; - cmd = \(dqpavucontrol\(dq; - } - ]; - } - { - block = \(dqtime\(dq; - format = \(dq $timestamp\&.datetime(f:\(aq%a %d/%m %R\(aq) \(dq; - interval = 5; - } -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - block = \(dqdisk_space\(dq; - path = \(dq/\(dq; - info_type = \(dqavailable\(dq; - interval = 60; - warning = 20\&.0; - alert = 10\&.0; - } - { - block = \(dqsound\(dq; - format = \(dq $icon $output_name {$volume\&.eng(w:2) |}\(dq; - click = [ - { - button = \(dqleft\(dq; - cmd = \(dqpavucontrol \-\-tab=3\(dq; - } - ]; - mappings = { - \(dqalsa_output\&.pci\-0000_00_1f\&.3\&.analog\-stereo\(dq = \(dq\[uF109]\(dq; - \(dqbluez_sink\&.70_26_05_DA_27_A4\&.a2dp_sink\(dq = \(dq\[uF025]\(dq; - }; - } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/greshake/i3status\-rust/blob/master/blocks\&.md -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.bars\&.<name>\&.icons\fR -.RS 4 -The icons set to use\&. See \fBhttps://github\&.com/greshake/i3status\-rust/blob/master/doc/themes\&.md\fR[1]\fR for a list of available icon sets\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIExample:\fR \(dqawesome6\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/greshake/i3status\-rust/blob/master/doc/themes\&.md -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.bars\&.<name>\&.settings\fR -.RS 4 -Any extra options to add to i3status\-rust \fIconfig\fP\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = { - theme = \(dqsolarized\-dark\(dq; - overrides = { - idle_bg = \(dq#123456\(dq; - idle_fg = \(dq#abcdef\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.i3status\-rust\&.bars\&.<name>\&.theme\fR -.RS 4 -The theme to use\&. See \fBhttps://github\&.com/greshake/i3status\-rust/blob/master/doc/themes\&.md\fR[1]\fR for a list of available themes\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqplain\(dq -.sp -\fIExample:\fR \(dqgruvbox\-dark\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/i3status\-rust\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/greshake/i3status\-rust/blob/master/doc/themes\&.md -.RE -.RE -.PP -\fBprograms\&.iamb\&.enable\fR -.RS 4 -Whether to enable iamb\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/iamb\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.iamb\&.package\fR -.RS 4 -The iamb package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.iamb -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/iamb\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.iamb\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/iamb/config\&.toml\fP\&. -.sp -See \fBhttps://iamb\&.chat/configure\&.html\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default_profile = \(dqpersonal\(dq; - settings = { - notifications\&.enabled = true; - image_preview\&.protocol = { - type = \(dqkitty\(dq; - size = { - height = 10; - width = 66; - }; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/iamb\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://iamb\&.chat/configure\&.html -.RE -.RE -.PP -\fBprograms\&.imv\&.enable\fR -.RS 4 -Whether to enable imv: a command line image viewer intended for use with tiling window managers\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/imv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.imv\&.package\fR -.RS 4 -The imv package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.imv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/imv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.imv\&.settings\fR -.RS 4 -Configuration options for imv\&. See \fBimv\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - options\&.background = \(dqffffff\(dq; - aliases\&.x = \(dqclose\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/imv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.info\&.enable\fR -.RS 4 -Whether to enable GNU Info\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/info\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.inori\&.enable\fR -.RS 4 -Whether to enable inori\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/inori\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.inori\&.package\fR -.RS 4 -The inori package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.inori -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/inori\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.inori\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/inori/config\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/eshrh/inori/blob/master/CONFIGURATION\&.md\fR[1]\fR for available options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - seek_seconds = 10; - dvorak_keybindings = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/inori\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/eshrh/inori/blob/master/CONFIGURATION\&.md -.RE -.RE -.PP -\fBprograms\&.ion\&.enable\fR -.RS 4 -Whether to enable the Ion Shell\&. Compatible with Redox and Linux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ion\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ion\&.package\fR -.RS 4 -The ion package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.ion -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ion\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ion\&.initExtra\fR -.RS 4 -Ion script which is called during ion initialization\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ion\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ion\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - g = \(dqgit\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ion\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.enable\fR -.RS 4 -Whether to enable the Irssi chat client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.aliases\fR -.RS 4 -An attribute set that maps aliases to commands\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - BYE = \(dqquit\(dq; - J = \(dqjoin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.extraConfig\fR -.RS 4 -These lines are appended to the Irssi configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\fR -.RS 4 -An attribute set of chat networks\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - liberachat = { - nick = \(dqhmuser\(dq; - server = { - address = \(dqirc\&.libera\&.chat\(dq; - port = 6697; - autoConnect = true; - }; - channels = { - nixos\&.autoJoin = true; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.autoCommands\fR -.RS 4 -List of commands to execute on connect\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.channels\fR -.RS 4 -Channels for the given network\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.channels\&.<name>\&.autoJoin\fR -.RS 4 -Whether to join this channel on connect\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.nick\fR -.RS 4 -Nickname in that network\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.saslExternal\fR -.RS 4 -Enable SASL external authentication\&. This requires setting a path in \fBprograms.irssi.networks.<name>.server.ssl.certificateFile\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.irssi\&.networks\&.<name>\&.server\&.ssl\&.certificateFile\fP option -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.address\fR -.RS 4 -Address of the chat server\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.autoConnect\fR -.RS 4 -Whether Irssi connects to the server on launch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.port\fR -.RS 4 -Port of the chat server\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 6667 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.ssl\&.enable\fR -.RS 4 -Whether SSL should be used\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.ssl\&.certificateFile\fR -.RS 4 -Path to a file containing the certificate used for client authentication to the server\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.server\&.ssl\&.verify\fR -.RS 4 -Whether the SSL certificate should be verified\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.irssi\&.networks\&.<name>\&.type\fR -.RS 4 -Type of the network\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqIRC\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/irssi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.java\&.enable\fR -.RS 4 -Install the Java development kit and set the \fBJAVA_HOME\fP variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/java\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.java\&.package\fR -.RS 4 -The java package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.jdk -.sp -\fIExample:\fR pkgs\&.jre -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/java\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jetbrains\-remote\&.enable\fR -.RS 4 -Whether to enable JetBrains remote development system\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jetbrains\-remote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jetbrains\-remote\&.ides\fR -.RS 4 -IDEs accessible to the JetBrains remote development system\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.jetbrains; [ clion pycharm\-professional ]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jetbrains\-remote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.enable\fR -.RS 4 -Whether to enable joplin\-desktop\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.package\fR -.RS 4 -The joplin\-desktop package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.joplin\-desktop -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.extraConfig\fR -.RS 4 -Use this to add other options to the Joplin config file\&. Settings are written in JSON, so \fR\(oq\(dqsync\&.interval\(dq: 600\(cq\fP would be written as \fR\(oq\(dqsync\&.interval\(dq = 600\(cq\fP\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmarkdown\&.plugin\&.mark\(dq = true; - newNoteFocus = \(dqtitle\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.general\&.editor\fR -.RS 4 -The editor command (may include arguments) that will be used to open a note\&. If none is provided Joplin will try to auto\-detect the default editor\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqkate\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.sync\&.interval\fR -.RS 4 -Set the synchronisation interval\&. -.sp -\fIType:\fR one of \[u201C]undefined\[u201D], \[u201C]disabled\[u201D], \[u201C]5m\[u201D], \[u201C]10m\[u201D], \[u201C]30m\[u201D], \[u201C]1h\[u201D], \[u201C]12h\[u201D], \[u201C]1d\[u201D] -.sp -\fIDefault:\fR \(dqundefined\(dq -.sp -\fIExample:\fR \(dq10m\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joplin\-desktop\&.sync\&.target\fR -.RS 4 -What is the type of sync target\&. -.sp -\fIType:\fR one of \[u201C]undefined\[u201D], \[u201C]none\[u201D], \[u201C]file\-system\[u201D], \[u201C]onedrive\[u201D], \[u201C]nextcloud\[u201D], \[u201C]webdav\[u201D], \[u201C]dropbox\[u201D], \[u201C]s3\[u201D], \[u201C]joplin\-server\[u201D], \[u201C]joplin\-cloud\[u201D] -.sp -\fIDefault:\fR \(dqundefined\(dq -.sp -\fIExample:\fR \(dqdropbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joplin\-desktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joshuto\&.enable\fR -.RS 4 -Whether to enable joshuto file manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joshuto\&.package\fR -.RS 4 -The joshuto package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.joshuto -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.joshuto\&.keymap\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/joshuto/keymap\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/keymap\&.toml\&.md\fR[1]\fR for the full list of options\&. Note that this option will overwrite any existing keybinds\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/keymap\&.toml\&.md -.RE -.RE -.PP -\fBprograms\&.joshuto\&.mimetype\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/joshuto/mimetype\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype\&.toml\&.md\fR[1]\fR for the full list of options -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/mimetype\&.toml\&.md -.RE -.RE -.PP -\fBprograms\&.joshuto\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/joshuto/joshuto\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto\&.toml\&.md\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/joshuto\&.toml\&.md -.RE -.RE -.PP -\fBprograms\&.joshuto\&.theme\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/joshuto/theme\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/theme\&.toml\&.md\fR[1]\fR for the full list of options -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/joshuto\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/kamiyaa/joshuto/blob/main/docs/configuration/theme\&.toml\&.md -.RE -.RE -.PP -\fBprograms\&.jq\&.enable\fR -.RS 4 -Whether to enable the jq command\-line JSON processor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jq\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jq\&.package\fR -.RS 4 -The jq package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.jq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jq\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jq\&.colors\fR -.RS 4 -The colors used in colored JSON output\&. -.sp -See the \fBColors section\fR[1]\fR of the jq manual\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - arrays = \(dq1;37\(dq; - false = \(dq0;37\(dq; - null = \(dq1;30\(dq; - numbers = \(dq0;37\(dq; - objectKeys = \(dq1;34\(dq; - objects = \(dq1;37\(dq; - strings = \(dq0;32\(dq; - true = \(dq0;37\(dq; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - null = \(dq1;30\(dq; - false = \(dq0;31\(dq; - true = \(dq0;32\(dq; - numbers = \(dq0;36\(dq; - strings = \(dq0;33\(dq; - arrays = \(dq1;35\(dq; - objects = \(dq1;37\(dq; - objectKeys = \(dq1;34\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jq\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://jqlang\&.github\&.io/jq/manual/#Colors -.RE -.RE -.PP -\fBprograms\&.jqp\&.enable\fR -.RS 4 -Whether to enable jqp, jq playground\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jqp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jqp\&.package\fR -.RS 4 -The jqp package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.jqp -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jqp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jqp\&.settings\fR -.RS 4 -Jqp configuration -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = { - chromaStyleOverrides = { - kc = \(dq#009900 underline\(dq; - }; - name = \(dqmonokai\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jqp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jujutsu\&.enable\fR -.RS 4 -Whether to enable a Git\-compatible DVCS that is both simple and powerful\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jujutsu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jujutsu\&.package\fR -.RS 4 -The jujutsu package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.jujutsu -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jujutsu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jujutsu\&.ediff\fR -.RS 4 -Enable ediff as a merge tool -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR config\&.programs\&.emacs\&.enable -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jujutsu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.jujutsu\&.settings\fR -.RS 4 -Options to add to the \fIconfig\&.toml\fP file\&. See \fBhttps://github\&.com/martinvonz/jj/blob/main/docs/config\&.md\fR[1]\fR for options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - user = { - email = \(dqjdoe@example\&.org\(dq; - name = \(dqJohn Doe\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/jujutsu\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/martinvonz/jj/blob/main/docs/config\&.md -.RE -.RE -.PP -\fBprograms\&.k9s\&.enable\fR -.RS 4 -Whether to enable k9s \- Kubernetes CLI To Manage Your Clusters In Style\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.k9s\&.package\fR -.RS 4 -The k9s package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.k9s -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.k9s\&.aliases\fR -.RS 4 -Aliases written to \fI$XDG_CONFIG_HOME/k9s/aliases\&.yaml\fP (linux) or \fILibrary/Application Support/k9s/aliases\&.yaml\fP (darwin)\&. See \fBhttps://k9scli\&.io/topics/aliases/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -alias = { - # Use pp as an alias for Pod - pp = \(dqv1/pods\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/aliases/ -.RE -.RE -.PP -\fBprograms\&.k9s\&.hotkey\fR -.RS 4 -Hotkeys written to \fI$XDG_CONFIG_HOME/k9s/hotkeys\&.yaml\fP (linux) or \fILibrary/Application Support/k9s/hotkeys\&.yaml\fP (darwin)\&. See \fBhttps://k9scli\&.io/topics/hotkeys/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -hotkey = { - # Make sure this is camel case - hotKey = { - shift\-0 = { - shortCut = \(dqShift\-0\(dq; - description = \(dqViewing pods\(dq; - command = \(dqpods\(dq; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/hotkeys/ -.RE -.RE -.PP -\fBprograms\&.k9s\&.plugin\fR -.RS 4 -Plugins written to \fI$XDG_CONFIG_HOME/k9s/plugins\&.yaml (linux)\fP or \fILibrary/Application Support/k9s/plugins\&.yaml\fP (darwin)\&. See \fBhttps://k9scli\&.io/topics/plugins/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -plugin = { - # Defines a plugin to provide a \(gactrl\-l\(ga shortcut to - # tail the logs while in pod view\&. - fred = { - shortCut = \(dqCtrl\-L\(dq; - description = \(dqPod logs\(dq; - scopes = [ \(dqpo\(dq ]; - command = \(dqkubectl\(dq; - background = false; - args = [ - \(dqlogs\(dq - \(dq\-f\(dq - \(dq$NAME\(dq - \(dq\-n\(dq - \(dq$NAMESPACE\(dq - \(dq\-\-context\(dq - \(dq$CLUSTER\(dq - ]; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/plugins/ -.RE -.RE -.PP -\fBprograms\&.k9s\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/k9s/config\&.yaml\fP (linux) or \fILibrary/Application Support/k9s/config\&.yaml\fP (darwin), See \fBhttps://k9scli\&.io/topics/config/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -k9s = { - refreshRate = 2; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/config/ -.RE -.RE -.PP -\fBprograms\&.k9s\&.skins\fR -.RS 4 -Skin files written to \fI$XDG_CONFIG_HOME/k9s/skins/\fP (linux) or \fILibrary/Application Support/k9s/skins/\fP (darwin)\&. See \fBhttps://k9scli\&.io/topics/skins/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR attribute set of (YAML 1\&.1 value or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my_blue_skin = { - k9s = { - body = { - fgColor = \(dqdodgerblue\(dq; - }; - }; - }; - my_red_skin = \&./red_skin\&.yaml; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/skins/ -.RE -.RE -.PP -\fBprograms\&.k9s\&.views\fR -.RS 4 -Resource column views written to \fI$XDG_CONFIG_HOME/k9s/views\&.yaml (linux)\fP or \fILibrary/Application Support/k9s/views\&.yaml\fP (darwin)\&. See \fBhttps://k9scli\&.io/topics/columns/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -k9s = { - views = { - \(dqv1/pods\(dq = { - columns = [ - \(dqAGE\(dq - \(dqNAMESPACE\(dq - \(dqNAME\(dq - \(dqIP\(dq - \(dqNODE\(dq - \(dqSTATUS\(dq - \(dqREADY\(dq - ]; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/k9s\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://k9scli\&.io/topics/columns/ -.RE -.RE -.PP -\fBprograms\&.kakoune\&.enable\fR -.RS 4 -Whether to enable the kakoune text editor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.package\fR -.RS 4 -The kakoune\-unwrapped package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.kakoune\-unwrapped -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.colorSchemePackage\fR -.RS 4 -A kakoune color schemes to add to your colors folder\&. This works because kakoune recursively checks \fI$XDG_CONFIG_HOME/kak/colors/\fP\&. To apply the color scheme use \fR\(oqprograms\&.kakoune\&.config\&.colorScheme = \(dqtheme\(dq\(cq\fP\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.kakounePlugins\&.kakoune\-catppuccin -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\fR -.RS 4 -kakoune configuration options\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.alignWithTabs\fR -.RS 4 -Use tabs for the align command\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.autoComplete\fR -.RS 4 -Modes in which to display possible completions\&. The kakoune default is \fR\(oq[ \(dqinsert\(dq \(dqprompt\(dq ]\(cq\fP\&. -.sp -\fIType:\fR null or (list of (one of \[u201C]insert\[u201D], \[u201C]prompt\[u201D])) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.autoInfo\fR -.RS 4 -Contexts in which to display automatic information box\&. The kakoune default is \fR\(oq[ \(dqcommand\(dq \(dqonkey\(dq ]\(cq\fP\&. -.sp -\fIType:\fR null or (list of (one of \[u201C]command\[u201D], \[u201C]onkey\[u201D], \[u201C]normal\[u201D])) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqcommand\(dq - \(dqnormal\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.autoReload\fR -.RS 4 -Reload buffers when an external modification is detected\&. The kakoune default is \fR\(oq\(dqask\(dq\(cq\fP\&. -.sp -\fIType:\fR null or one of \[u201C]yes\[u201D], \[u201C]no\[u201D], \[u201C]ask\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.colorScheme\fR -.RS 4 -Set the color scheme\&. To see available schemes, enter \fBcolorscheme\fP at the kakoune prompt\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\fR -.RS 4 -Global hooks\&. For documentation, see \fBhttps://github\&.com/mawww/kakoune/blob/master/doc/pages/hooks\&.asciidoc\fR[1]\fR\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mawww/kakoune/blob/master/doc/pages/hooks\&.asciidoc -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\&.*\&.commands\fR -.RS 4 -Commands to run when the hook is activated\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqset\-option window indentwidth 2\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\&.*\&.group\fR -.RS 4 -Add the hook to the named group\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\&.*\&.name\fR -.RS 4 -The name of the hook\&. For a description, see \fBhttps://github\&.com/mawww/kakoune/blob/master/doc/pages/hooks\&.asciidoc#default\-hooks\fR[1]\fR\&. -.sp -\fIType:\fR one of \[u201C]NormalIdle\[u201D], \[u201C]NormalKey\[u201D], \[u201C]InsertIdle\[u201D], \[u201C]InsertKey\[u201D], \[u201C]InsertChar\[u201D], \[u201C]InsertDelete\[u201D], \[u201C]InsertMove\[u201D], \[u201C]WinCreate\[u201D], \[u201C]WinClose\[u201D], \[u201C]WinResize\[u201D], \[u201C]WinDisplay\[u201D], \[u201C]WinSetOption\[u201D], \[u201C]BufSetOption\[u201D], \[u201C]BufNewFile\[u201D], \[u201C]BufOpenFile\[u201D], \[u201C]BufCreate\[u201D], \[u201C]BufWritePre\[u201D], \[u201C]BufWritePost\[u201D], \[u201C]BufReload\[u201D], \[u201C]BufClose\[u201D], \[u201C]BufOpenFifo\[u201D], \[u201C]BufReadFifo\[u201D], \[u201C]BufCloseFifo\[u201D], \[u201C]RuntimeError\[u201D], \[u201C]ModeChange\[u201D], \[u201C]PromptIdle\[u201D], \[u201C]GlobalSetOption\[u201D], \[u201C]KakBegin\[u201D], \[u201C]KakEnd\[u201D], \[u201C]FocusIn\[u201D], \[u201C]FocusOut\[u201D], \[u201C]RawKey\[u201D], \[u201C]InsertCompletionShow\[u201D], \[u201C]InsertCompletionHide\[u201D], \[u201C]ModuleLoaded\[u201D], \[u201C]ClientCreate\[u201D], \[u201C]ClientClose\[u201D], \[u201C]RegisterModified\[u201D], \[u201C]User\[u201D] -.sp -\fIExample:\fR \(dqSetOption\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mawww/kakoune/blob/master/doc/pages/hooks\&.asciidoc#default\-hooks -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\&.*\&.once\fR -.RS 4 -Remove the hook after running it once\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.hooks\&.*\&.option\fR -.RS 4 -Additional option to pass to the hook\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfiletype=latex\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.incrementalSearch\fR -.RS 4 -Execute a search as it is being typed\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.indentWidth\fR -.RS 4 -The width of an indentation in spaces\&. The kakoune default is \fR\(oq4\(cq\fP\&. If \fR\(oq0\(cq\fP, a tab will be used instead\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.keyMappings\fR -.RS 4 -User\-defined key mappings\&. For documentation, see \fBhttps://github\&.com/mawww/kakoune/blob/master/doc/pages/mapping\&.asciidoc\fR[1]\fR\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mawww/kakoune/blob/master/doc/pages/mapping\&.asciidoc -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.keyMappings\&.*\&.docstring\fR -.RS 4 -Optional documentation text to display in info boxes\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.keyMappings\&.*\&.effect\fR -.RS 4 -The sequence of keys to be mapped\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq:wq<ret>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.keyMappings\&.*\&.key\fR -.RS 4 -The key to be mapped\&. See \fBhttps://github\&.com/mawww/kakoune/blob/master/doc/pages/mapping\&.asciidoc#mappable\-keys\fR[1]\fR for possible values\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq<a\-x>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mawww/kakoune/blob/master/doc/pages/mapping\&.asciidoc#mappable\-keys -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.keyMappings\&.*\&.mode\fR -.RS 4 -The mode in which the mapping takes effect\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dquser\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.numberLines\fR -.RS 4 -Settings for the number lines highlighter\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.numberLines\&.enable\fR -.RS 4 -Whether to enable the number lines highlighter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.numberLines\&.highlightCursor\fR -.RS 4 -Highlight the cursor line with a separate face\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.numberLines\&.relative\fR -.RS 4 -Show line numbers relative to the main cursor line\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.numberLines\&.separator\fR -.RS 4 -String that separates the line number column from the buffer contents\&. The kakoune default is \fR\(oq\(dq|\(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.scrollOff\fR -.RS 4 -How many lines and columns to keep visible around the cursor\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.scrollOff\&.columns\fR -.RS 4 -The number of columns to keep visible around the cursor\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.scrollOff\&.lines\fR -.RS 4 -The number of lines to keep visible around the cursor\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showMatching\fR -.RS 4 -Highlight the matching char of the character under the selections\[u2019] cursor using the \fR\(oqMatchingChar\(cq\fP face\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\fR -.RS 4 -Settings for the show whitespaces highlighter\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.enable\fR -.RS 4 -Whether to enable the show whitespace highlighter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.lineFeed\fR -.RS 4 -The character to display for line feeds\&. The kakoune default is \fR\(oq\(dq\[u00AC]\(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.nonBreakingSpace\fR -.RS 4 -The character to display for non\-breaking spaces\&. The kakoune default is \fR\(oq\(dq\[u237D]\(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.space\fR -.RS 4 -The character to display for spaces\&. The kakoune default is \fR\(oq\(dq\[u00B7]\(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.tab\fR -.RS 4 -The character to display for tabs\&. The kakoune default is \fR\(oq\(dq\[u2192]\(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.showWhitespace\&.tabStop\fR -.RS 4 -The character to append to tabs to reach the width of a tabstop\&. The kakoune default is \fR\(oq\(dq \(dq\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.tabStop\fR -.RS 4 -The width of a tab in spaces\&. The kakoune default is \fR\(oq6\(cq\fP\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\fR -.RS 4 -Settings for the ncurses interface\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.enableMouse\fR -.RS 4 -Whether to enable mouse support\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.assistant\fR -.RS 4 -The assistant displayed in info boxes\&. -.sp -\fIType:\fR one of \[u201C]clippy\[u201D], \[u201C]cat\[u201D], \[u201C]dilbert\[u201D], \[u201C]none\[u201D] -.sp -\fIDefault:\fR \(dqclippy\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.changeColors\fR -.RS 4 -Change color palette\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.setTitle\fR -.RS 4 -Change the title of the terminal emulator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.shiftFunctionKeys\fR -.RS 4 -Amount by which shifted function keys are offset\&. That is, if the terminal sends F13 for Shift\-F1, this should be \fR\(oq12\(cq\fP\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.statusLine\fR -.RS 4 -Where to display the status line\&. -.sp -\fIType:\fR one of \[u201C]top\[u201D], \[u201C]bottom\[u201D] -.sp -\fIDefault:\fR \(dqbottom\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.useBuiltinKeyParser\fR -.RS 4 -Bypass ncurses key parser and use an internal one\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.wheelDownButton\fR -.RS 4 -Button to send for wheel down events\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.ui\&.wheelUpButton\fR -.RS 4 -Button to send for wheel up events\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\fR -.RS 4 -Settings for the wrap lines highlighter\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\&.enable\fR -.RS 4 -Whether to enable the wrap lines highlighter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\&.indent\fR -.RS 4 -Preserve line indentation when wrapping\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\&.marker\fR -.RS 4 -Prefix wrapped lines with marker text\&. If not \fR\(oqnull\(cq\fP, the marker text will be displayed in the indentation if possible\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\[u23CE]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\&.maxWidth\fR -.RS 4 -Wrap text at maxWidth, even if the window is wider\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.config\&.wrapLines\&.word\fR -.RS 4 -Wrap at word boundaries instead of codepoint boundaries\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.defaultEditor\fR -.RS 4 -Whether to configure \fBkak\fP as the default editor using the \fBEDITOR\fP environment variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fI$XDG_CONFIG_HOME/kak/kakrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.finalPackage\fR -.RS 4 -Resulting customized kakoune package\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kakoune\&.plugins\fR -.RS 4 -List of kakoune plugins to install\&. To get a list of supported plugins run: \fBnix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A kakounePlugins\fP\&. -.sp -Requires \fR\(oqpackage\(cq\fP to not be set to have effect\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.kakounePlugins\&.kak\-fzf ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kakoune\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keepassxc\&.enable\fR -.RS 4 -Whether to enable keepassxc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keepassxc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keepassxc\&.package\fR -.RS 4 -The keepassxc package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.keepassxc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keepassxc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keepassxc\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/keepassxc/keepassxc\&.ini\fP\&. -.sp -See \fBhttps://github\&.com/keepassxreboot/keepassxc/blob/647272e9c5542297d3fcf6502e6173c96f12a9a0/src/core/Config\&.cpp#L49\-L223\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Browser\&.Enabled = true; - - GUI = { - AdvancedSettings = true; - ApplicationTheme = \(dqdark\(dq; - CompactMode = true; - HidePasswords = true; - }; - - SSHAgent\&.Enabled = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keepassxc\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/keepassxreboot/keepassxc/blob/647272e9c5542297d3fcf6502e6173c96f12a9a0/src/core/Config\&.cpp#L49\-L223 -.RE -.RE -.PP -\fBprograms\&.keychain\&.enable\fR -.RS 4 -Whether to enable keychain\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keychain\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.keychain\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.keychain\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.keychain\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.keychain\&.package\fR -.RS 4 -The keychain package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.keychain -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keychain\&.agents\fR -.RS 4 -Agents to add\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keychain\&.extraFlags\fR -.RS 4 -Extra flags to pass to keychain\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-quiet\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keychain\&.inheritType\fR -.RS 4 -Inherit type to attempt from agent variables from the environment\&. -.sp -\fIType:\fR null or one of \[u201C]local\[u201D], \[u201C]any\[u201D], \[u201C]local\-once\[u201D], \[u201C]any\-once\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.keychain\&.keys\fR -.RS 4 -Keys to add to keychain\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqid_rsa\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/keychain\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.enable\fR -.RS 4 -Whether to enable khal, a CLI calendar application\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.package\fR -.RS 4 -The khal package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.khal -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\fR -.RS 4 -khal locale settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.dateformat\fR -.RS 4 -khal will display and understand all dates in this format\&. -.sp -Format strings are for Python \fR\(oqstrftime\(cq\fP, similarly to \fBstrftime\fP\fR(3)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%x\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.datetimeformat\fR -.RS 4 -khal will display and understand all datetimes in this format\&. -.sp -Format strings are for Python \fR\(oqstrftime\(cq\fP, similarly to \fBstrftime\fP\fR(3)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%c\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.default_timezone\fR -.RS 4 -Default for new events or if khal does not understand the timezone in an ical file\&. If \fR\(oqnull\(cq\fP, the timezone of your computer will be used\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.firstweekday\fR -.RS 4 -The first day of the week, where Monday is 0 and Sunday is 6\&. -.sp -\fIType:\fR integer between 0 and 6 (both inclusive) -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.local_timezone\fR -.RS 4 -khal will show all times in this timezone\&. If \fR\(oqnull\(cq\fP, the timezone of your computer will be used\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.longdateformat\fR -.RS 4 -khal will display and understand all dates in this format\&. It should contain a year (e\&.g\&. \fR\(oq%Y\(cq\fP)\&. -.sp -Format strings are for Python \fR\(oqstrftime\(cq\fP, similarly to \fBstrftime\fP\fR(3)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%x\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.longdatetimeformat\fR -.RS 4 -khal will display and understand all datetimes in this format\&. It should contain a year (e\&.g\&. \fR\(oq%Y\(cq\fP)\&. -.sp -Format strings are for Python \fR\(oqstrftime\(cq\fP, similarly to \fBstrftime\fP\fR(3)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%c\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.timeformat\fR -.RS 4 -khal will display and understand all times in this format\&. -.sp -Format strings are for Python \fR\(oqstrftime\(cq\fP, similarly to \fBstrftime\fP\fR(3)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%X\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.unicode_symbols\fR -.RS 4 -By default khal uses some Unicode symbols (as in \[u201C]non\-ASCII\[u201D]) as indicators for things like repeating events\&. If your font, encoding etc\&. does not support those symbols, set this to false (this will enable ASCII\-based replacements)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.locale\&.weeknumbers\fR -.RS 4 -Enable week numbers in calendar and interactive (ikhal) mode\&. As those are ISO week numbers, they only work properly if \fBfirstweekday\fP is set to 0\&. -.sp -\fIType:\fR one of \[u201C]off\[u201D], \[u201C]left\[u201D], \[u201C]right\[u201D] -.sp -\fIDefault:\fR \(dqoff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khal\&.settings\fR -.RS 4 -Configuration options to add to the various sections in the configuration file\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default = { - default_calendar = \(dqCalendar\(dq; - timedelta = \(dq5d\(dq; - }; - view = { - agenda_event_format = - \(dq{calendar\-color}{cancelled}{start\-end\-time\-style} {title}{repeat\-symbol}{reset}\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khard\&.enable\fR -.RS 4 -Whether to enable Khard: an address book for the Unix console\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khard\&.package\fR -.RS 4 -The khard package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.khard -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.khard\&.settings\fR -.RS 4 -Khard settings\&. See \fBhttps://khard\&.readthedocs\&.io/en/latest/#configuration\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of attribute set of (boolean or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general = { - default_action = \(dqlist\(dq; - editor = [\(dqvim\(dq \(dq\-i\(dq \(dqNONE\(dq]; - }; - - \(dqcontact table\(dq = { - display = \(dqformatted_name\(dq; - preferred_phone_number_type = [\(dqpref\(dq \(dqcell\(dq \(dqhome\(dq]; - preferred_email_address_type = [\(dqpref\(dq \(dqwork\(dq \(dqhome\(dq]; - }; - - vcard = { - private_objects = [\(dqJabber\(dq \(dqSkype\(dq \(dqTwitter\(dq]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://khard\&.readthedocs\&.io/en/latest/#configuration -.RE -.RE -.PP -\fBprograms\&.khard\&.settings\&.general\&.default_action\fR -.RS 4 -The default action to execute\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlist\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/khard\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kickoff\&.enable\fR -.RS 4 -Whether to enable kickoff\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kickoff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kickoff\&.package\fR -.RS 4 -The kickoff package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.kickoff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kickoff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kickoff\&.settings\fR -.RS 4 -Configuration settings for kickoff\&. All the available options can be found here: \fBhttps://github\&.com/j0ru/kickoff/blob/main/assets/default_config\&.toml\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - padding = 100; - font_size = 32; - search\&.show_hidden_files = false; - history\&.decrease_interval = 48; - - keybinding = { - paste = [ \(dqctrl+v\(dq ]; - execute = [ \(dqKP_Enter\(dq \(dqReturn\(dq ]; - complete = [ \(dqTab\(dq ]; - }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kickoff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/j0ru/kickoff/blob/main/assets/default_config\&.toml -.RE -.RE -.PP -\fBprograms\&.kitty\&.enable\fR -.RS 4 -Whether to enable Kitty terminal emulator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.enableGitIntegration\fR -.RS 4 -Whether to enable git integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.package\fR -.RS 4 -The kitty package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kitty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.actionAliases\fR -.RS 4 -Define action aliases\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqlaunch_tab\(dq = \(dqlaunch \-\-cwd=current \-\-type=tab\(dq; - \(dqlaunch_window\(dq = \(dqlaunch \-\-cwd=current \-\-type=os\-window\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.darwinLaunchOptions\fR -.RS 4 -Command\-line options to use when launched by Mac OS GUI -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-single\-instance\(dq - \(dq\-\-directory=/tmp/my\-dir\(dq - \(dq\-\-listen\-on=unix:/tmp/my\-socket\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.environment\fR -.RS 4 -Environment variables to set or override\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqLS_COLORS\(dq = \(dq1\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.font\fR -.RS 4 -The font to use\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.font\&.package\fR -.RS 4 -Package providing the font\&. This package will be installed to your profile\&. If \fR\(oqnull\(cq\fP then the font is assumed to already be available in your profile\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.dejavu_fonts -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.font\&.name\fR -.RS 4 -The family name of the font within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqDejaVu Sans\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.font\&.size\fR -.RS 4 -The size of the font\&. -.sp -\fIType:\fR null or signed integer or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq8\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.keybindings\fR -.RS 4 -Mapping of keybindings to actions\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqctrl+c\(dq = \(dqcopy_or_interrupt\(dq; - \(dqctrl+f>2\(dq = \(dqset_font_size 20\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/kitty/kitty\&.conf\fP\&. See \fBhttps://sw\&.kovidgoyal\&.net/kitty/conf\&.html\fR[1]\fR for the documentation\&. -.sp -\fIType:\fR attribute set of (string or boolean or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - scrollback_lines = 10000; - enable_audio_bell = false; - update_check_interval = 0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://sw\&.kovidgoyal\&.net/kitty/conf\&.html -.RE -.RE -.PP -\fBprograms\&.kitty\&.shellIntegration\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -(cfg\&.shellIntegration\&.mode != null) -&& !(elem \(dqdisabled\(dq (splitString \(dq \(dq config\&.programs\&.kitty\&.shellIntegration\&.mode)) -.fi -.RE -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.shellIntegration\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -(cfg\&.shellIntegration\&.mode != null) -&& !(elem \(dqdisabled\(dq (splitString \(dq \(dq config\&.programs\&.kitty\&.shellIntegration\&.mode)) -.fi -.RE -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.shellIntegration\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -(cfg\&.shellIntegration\&.mode != null) -&& !(elem \(dqdisabled\(dq (splitString \(dq \(dq config\&.programs\&.kitty\&.shellIntegration\&.mode)) -.fi -.RE -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kitty\&.shellIntegration\&.mode\fR -.RS 4 -Set the mode of the shell integration\&. This accepts the same options as the \fR\(oqshell_integration\(cq\fP option of Kitty\&. Note that \fR\(oqno\-rc\(cq\fP is always implied, unless this set to \fR\(oqnull\(cq\fP\&. See \fBhttps://sw\&.kovidgoyal\&.net/kitty/shell\-integration\fR[1]\fR for more details\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqno\-rc\(dq -.sp -\fIExample:\fR \(dqno\-cursor\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://sw\&.kovidgoyal\&.net/kitty/shell\-integration -.RE -.RE -.PP -\fBprograms\&.kitty\&.themeFile\fR -.RS 4 -Apply a Kitty color theme\&. This option takes the file name of a theme in \fR\(oqkitty\-themes\(cq\fP, without the \fR\(oq\&.conf\(cq\fP suffix\&. See \fBhttps://github\&.com/kovidgoyal/kitty\-themes/tree/master/themes\fR[1]\fR for a list of themes\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqSpaceGray_Eighties\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kitty\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/kovidgoyal/kitty\-themes/tree/master/themes -.RE -.RE -.PP -\fBprograms\&.kodi\&.enable\fR -.RS 4 -Whether to enable Kodi\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kodi\&.package\fR -.RS 4 -The kodi package to use\&. Can be used to specify extensions\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kodi -.sp -\fIExample:\fR pkgs\&.kodi\&.withPackages (exts: [ exts\&.pvr\-iptvsimple ]) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kodi\&.addonSettings\fR -.RS 4 -Attribute set with the plugin namespace as toplevel key and the plugins settings as lower level key/value pairs\&. -.sp -Kodi will still show the settings of plugins configured via this mechanism in the GUI and they appear to be mutable\&. This however is not the case and the settings will stay as specified via Home Manager\&. -.sp -\fIType:\fR null or (attribute set of attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ \(dqservice\&.xbmc\&.versioncheck\(dq\&.versioncheck_enable = \(dqfalse\(dq; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kodi\&.datadir\fR -.RS 4 -Directory to store configuration and metadata\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/\&.kodi\(dq -.sp -\fIExample:\fR \(dq${config\&.xdg\&.dataHome}/kodi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kodi\&.settings\fR -.RS 4 -Configuration to write to the \fR\(oqadvancedsettings\&.xml\(cq\fP file in kodis userdata directory\&. Settings specified here will be immutable from inside kodi and be hidden from the GUI settings dialog\&. -.sp -See \fBhttps://kodi\&.wiki/view/Advancedsettings\&.xml\fR[1]\fR as reference for how settings need to be specified\&. -.sp -The innermost attributes must be of type str\&. -.sp -\fIType:\fR null or attribute sets or lists of strings -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ videolibrary\&.showemptytvshows = \(dqtrue\(dq; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://kodi\&.wiki/view/Advancedsettings\&.xml -.RE -.RE -.PP -\fBprograms\&.kodi\&.sources\fR -.RS 4 -Contents to populate the file \fR\(oqsources\&.xml\(cq\fP in kodis userdata directory\&. -.sp -See \fBhttps://kodi\&.wiki/view/Sources\&.xml\fR[1]\fR as reference for how sources need to be specified\&. -.sp -Kodi will still show the dialogs to modify sources in the GUI and they appear to be mutable\&. This however is not the case and the sources will stay as specified via Home Manager\&. -.sp -The innermost attributes must be of type str\&. -.sp -\fIType:\fR null or attribute sets or lists of strings -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - video = { - default = \(dqmovies\(dq; - source = [ - { name = \(dqvideos\(dq; path = \(dq/path/to/videos\(dq; allowsharing = \(dqtrue\(dq; } - { name = \(dqmovies\(dq; path = \(dq/path/to/movies\(dq; allowsharing = \(dqtrue\(dq; } - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kodi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://kodi\&.wiki/view/Sources\&.xml -.RE -.RE -.PP -\fBprograms\&.kubecolor\&.enable\fR -.RS 4 -Whether to enable kubecolor \- Colorize your kubectl output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kubecolor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kubecolor\&.enableAlias\fR -.RS 4 -When set to true, it will create an alias for kubectl pointing to kubecolor, thus making kubecolor the default kubectl client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kubecolor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kubecolor\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kubecolor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.kubecolor\&.package\fR -.RS 4 -The kubecolor package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kubecolor -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kubecolor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.kubecolor\&.settings\fR -.RS 4 -Configuration written to \fI\(ti/\&.kube/color\&.yaml\fP (Linux) or \fILibrary/Application Support/kube/color\&.yaml\fP (Darwin)\&. See \fBhttps://kubecolor\&.github\&.io/reference/config/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -kubectl = lib\&.getExe pkgs\&.kubectl -preset = \(dqdark\(dq; -paging = \(dqauto\(dq; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/kubecolor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://kubecolor\&.github\&.io/reference/config/ -.RE -.RE -.PP -\fBprograms\&.lapce\&.enable\fR -.RS 4 -Whether to enable lapce\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.package\fR -.RS 4 -The lapce package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lapce -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.channel\fR -.RS 4 -Lapce channel to configure\&. Should correspond to the package channel\&. This is used to determine the correct configuration and data directories\&. -.sp -\fIType:\fR one of \[u201C]stable\[u201D], \[u201C]nightly\[u201D] -.sp -\fIDefault:\fR \(dqstable\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.keymaps\fR -.RS 4 -Keymaps written to \fI$XDG_CONFIG_HOME/lapce/keymaps\&.toml\fP\&. See \fBhttps://github\&.com/lapce/lapce/blob/master/defaults/keymaps\-common\&.toml\fR[1]\fR for examples\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - command = \(dqopen_log_file\(dq; - key = \(dqCtrl+Shift+L\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/lapce/lapce/blob/master/defaults/keymaps\-common\&.toml -.RE -.RE -.PP -\fBprograms\&.lapce\&.plugins\fR -.RS 4 -Plugins to install\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - author = \(dqMrFoxPro\(dq; - name = \(dqlapce\-nix\(dq; - version = \(dq0\&.0\&.1\(dq; - hash = \(dqsha256\-\&.\&.\&.\(dq; - } - { - author = \(dqdzhou121\(dq; - name = \(dqlapce\-rust\(dq; - version = \(dq0\&.3\&.1932\(dq; - hash = \(dqsha256\-\&.\&.\&.\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.plugins\&.*\&.author\fR -.RS 4 -Author of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.plugins\&.*\&.hash\fR -.RS 4 -Hash of the plugin tarball\&. To find the hash leave this empty, rebuild and copy the hash from the error message\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.plugins\&.*\&.name\fR -.RS 4 -Name of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.plugins\&.*\&.version\fR -.RS 4 -Version of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lapce\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lapce/settings\&.toml\fP\&. See \fBhttps://github\&.com/lapce/lapce/blob/master/extra/schemas/settings\&.json\fR[1]\fR for schema\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - core = { - custom\-titlebar = false; - color\-theme = \(dqCustom\(dq; - icon\-theme = \(dqMaterial Icons\(dq; - }; - editor = { - font\-family = \(dqFiraCode Nerd Bold Font, monospace\(dq; - font\-size = 22; - tab\-width = 2; - cursor\-surrounding\-lines = 4; - render\-whitespace = \(dqall\(dq; - bracket\-pair\-colorization = true; - highlight\-matching\-brackets = true; - }; - ui = { - font\-size = 20; - open\-editors\-visible = false; - }; - lapce\-nix\&.lsp\-path = \(dq$\e{pkgs\&.nil\e}/bin/nil\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lapce\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/lapce/lapce/blob/master/extra/schemas/settings\&.json -.RE -.RE -.PP -\fBprograms\&.lazydocker\&.enable\fR -.RS 4 -Whether to enable lazydocker, a simple terminal UI for both docker and docker compose\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazydocker\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazydocker\&.package\fR -.RS 4 -The lazydocker package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lazydocker -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazydocker\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazydocker\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lazydocker/config\&.yml\fP on Linux or on Darwin if \fBxdg.enable\fR[1]\fR is set, otherwise \fI\(ti/Library/Application Support/jesseduffield/lazydocker/config\&.yml\fP\&. See \fBhttps://github\&.com/jesseduffield/lazydocker/blob/master/docs/Config\&.md\fR[2]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - commandTemplates = { - dockerCompose = \(dqdocker compose\(dq; - }; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gui\&.theme = { - activeBorderColor = [\(dqred\(dq \(dqbold\(dq]; - inactiveBorderColor = [\(dqblue\(dq]; - }; - commandTemplates\&.dockerCompose = \(dqdocker compose compose \-f docker\-compose\&.yml\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazydocker\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.enable\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/jesseduffield/lazydocker/blob/master/docs/Config\&.md -.RE -.RE -.PP -\fBprograms\&.lazygit\&.enable\fR -.RS 4 -Whether to enable lazygit, a simple terminal UI for git commands\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazygit\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazygit\&.package\fR -.RS 4 -The lazygit package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lazygit -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazygit\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazygit\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lazygit/config\&.yml\fP on Linux or on Darwin if \fBxdg.enable\fR[1]\fR is set, otherwise \fI\(ti/Library/Application Support/lazygit/config\&.yml\fP\&. See \fBhttps://github\&.com/jesseduffield/lazygit/blob/master/docs/Config\&.md\fR[2]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gui\&.theme = { - lightTheme = true; - activeBorderColor = [ \(dqblue\(dq \(dqbold\(dq ]; - inactiveBorderColor = [ \(dqblack\(dq ]; - selectedLineBgColor = [ \(dqdefault\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazygit\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.enable\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/jesseduffield/lazygit/blob/master/docs/Config\&.md -.RE -.RE -.PP -\fBprograms\&.lazysql\&.enable\fR -.RS 4 -Whether to enable lazysql\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazysql\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazysql\&.package\fR -.RS 4 -The lazysql package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lazysql -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazysql\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lazysql\&.settings\fR -.RS 4 -Configuration settings for lazysql\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lazysql\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ledger\&.enable\fR -.RS 4 -Whether to enable ledger, a double\-entry accounting system\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ledger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ledger\&.package\fR -.RS 4 -The ledger package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ledger -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ledger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ledger\&.extraConfig\fR -.RS 4 -Extra configuration to add to \fI$XDG_CONFIG_HOME/ledger/ledgerrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\-\-sort date -\-\-effective -\-\-date\-format %Y\-%m\-%d -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ledger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ledger\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/ledger/ledgerrc\fP\&. See \fBhttps://www\&.ledger\-cli\&.org/3\&.0/doc/ledger3\&.html#Detailed\-Option\-Description\fR[1]\fR for explanation about possible values\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - date\-format = \(dq%Y\-%m\-%d\(dq; - file = [ - \(dq\(ti/finances/journal\&.ledger\(dq - \(dq\(ti/finances/assets\&.ledger\(dq - \(dq\(ti/finances/income\&.ledger\(dq - ]; - sort = \(dqdate\(dq; - strict = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ledger\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.ledger\-cli\&.org/3\&.0/doc/ledger3\&.html#Detailed\-Option\-Description -.RE -.RE -.PP -\fBprograms\&.less\&.enable\fR -.RS 4 -Whether to enable less, opposite of more\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/less\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.less\&.package\fR -.RS 4 -The less package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.less -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/less\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.less\&.keys\fR -.RS 4 -Extra configuration for \fBless\fP written to \fI$XDG_CONFIG_HOME/lesskey\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - s back\-line - t forw\-line -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/less\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lesspipe\&.enable\fR -.RS 4 -Whether to enable lesspipe preprocessor for less\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lesspipe\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lesspipe\&.package\fR -.RS 4 -The lesspipe package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lesspipe -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lesspipe\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.enable\fR -.RS 4 -Whether to enable lf\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.package\fR -.RS 4 -The lf package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.cmdKeybindings\fR -.RS 4 -Keys to bind to command line commands which can only be one of the builtin commands\&. Keys set to null or an empty string are deleted\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { \(dq<c\-g>\(dq = \(dqcmd\-escape\(dq; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.commands\fR -.RS 4 -Commands to declare\&. Commands set to null or an empty string are deleted\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - get\-mime\-type = \(dq%xdg\-mime query filetype \e\(dq$f\e\(dq\(dq; - open = \(dq$$OPENER $f\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.extraConfig\fR -.RS 4 -Custom lfrc lines\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - $mkdir \-p \(ti/\&.trash -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.keybindings\fR -.RS 4 -Keys to bind\&. Keys set to null or an empty string are deleted\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - D = \(dqtrash\(dq; - U = \(dq!du \-sh\(dq; - gg = null; - gh = \(dqcd \(ti\(dq; - i = \(dq$less $f\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.previewer\&.keybinding\fR -.RS 4 -Key to bind to the script at \fIpreviewer\&.source\fP and pipe through less\&. Setting to null will not bind any key\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.previewer\&.source\fR -.RS 4 -Script or executable to use to preview files\&. Sets lf\[u2019]s \fIpreviewer\fP option\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.writeShellScript \(dqpv\&.sh\(dq \(aq\(aq - #!/bin/sh - - case \(dq$1\(dq in - *\&.tar*) tar tf \(dq$1\(dq;; - *\&.zip) unzip \-l \(dq$1\(dq;; - *\&.rar) unrar l \(dq$1\(dq;; - *\&.7z) 7z l \(dq$1\(dq;; - *\&.pdf) pdftotext \(dq$1\(dq \-;; - *) highlight \-O ansi \(dq$1\(dq || cat \(dq$1\(dq;; - esac -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lf\&.settings\fR -.RS 4 -An attribute set of lf settings\&. See the lf documentation for detailed descriptions of these options\&. Prefer \fBprograms\&.lf\&.previewer\&.*\fP for setting lf\[u2019]s \fIpreviewer\fP option\&. All string options are quoted with double quotes\&. -.sp -\fIType:\fR attribute set of (string or signed integer or list of (string or signed integer) or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - number = true; - ratios = [ - 1 - 1 - 2 - ]; - tabstop = 4; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.enable\fR -.RS 4 -Whether to enable LibreWolf\&. LibreWolf is a privacy enhanced Firefox fork\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.enableGnomeExtensions\fR -.RS 4 -Whether to enable the GNOME Shell native host connector\&. Note, you also need to set the NixOS option \fR\(oqservices\&.gnome\&.gnome\-browser\-connector\&.enable\(cq\fP to \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.package\fR -.RS 4 -The LibreWolf package to use\&. If state version \[u2265] 19\&.09 then this should be a wrapped LibreWolf package\&. For earlier state versions it should be an unwrapped LibreWolf package\&. Set to \fR\(oqnull\(cq\fP to disable installing LibreWolf\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.librewolf -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.librewolf\&.override { - # See nixpkgs\(aq firefox/wrapper\&.nix to check which options you can use - nativeMessagingHosts = [ - # Gnome shell native connector - pkgs\&.gnome\-browser\-connector - # Tridactyl native connector - pkgs\&.tridactyl\-native - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.finalPackage\fR -.RS 4 -Resulting LibreWolf package\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.languagePacks\fR -.RS 4 -The language packs to install\&. Available language codes can be found on the releases page: \fR\(oqhttps://releases\&.mozilla\&.org/pub/firefox/releases/${version}/linux\-x86_64/xpi/\(cq\fP, replacing \fR\(oq${version}\(cq\fP with the version of LibreWolf you have\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqen\-GB\(dq - \(dqde\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.nativeMessagingHosts\fR -.RS 4 -Additional packages containing native messaging hosts that should be made available to LibreWolf extensions\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.pkcs11Modules\fR -.RS 4 -Additional packages to be loaded as PKCS #11 modules in Firefox\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.policies\fR -.RS 4 -\fBSee list of policies\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - BlockAboutConfig = true; - DefaultDownloadDirectory = \(dq\e${home}/Downloads\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mozilla\&.github\&.io/policy\-templates/ -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\fR -.RS 4 -Attribute set of LibreWolf profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.bookmarks\&.configFile\fR -.RS 4 -Configuration file to define custom bookmarks\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.bookmarks\&.force\fR -.RS 4 -Whether to force override existing custom bookmarks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.bookmarks\&.settings\fR -.RS 4 -Custom bookmarks\&. -.sp -\fIType:\fR (list of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) or (attribute set of ((bookmark submodule) or (directory submodule) or value \[u201C]separator\[u201D] (singular enum))) convertible to it -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqwikipedia\(dq; - tags = [ \(dqwiki\(dq ]; - keyword = \(dqwiki\(dq; - url = \(dqhttps://en\&.wikipedia\&.org/wiki/Special:Search?search=%s&go=Go\(dq; - } - { - name = \(dqkernel\&.org\(dq; - url = \(dqhttps://www\&.kernel\&.org\(dq; - } - \(dqseparator\(dq - { - name = \(dqNix sites\(dq; - toolbar = true; - bookmarks = [ - { - name = \(dqhomepage\(dq; - url = \(dqhttps://nixos\&.org/\(dq; - } - { - name = \(dqwiki\(dq; - tags = [ \(dqwiki\(dq \(dqnix\(dq ]; - url = \(dqhttps://wiki\&.nixos\&.org/\(dq; - } - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containers\fR -.RS 4 -Attribute set of container configurations\&. See \fBMulti\-Account Containers\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - dangerous = { - color = \(dqred\(dq; - icon = \(dqfruit\(dq; - id = 2; - }; - shopping = { - color = \(dqblue\(dq; - icon = \(dqcart\(dq; - id = 1; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://support\&.mozilla\&.org/en\-US/kb/containers -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containers\&.<name>\&.color\fR -.RS 4 -Container color\&. -.sp -\fIType:\fR one of \[u201C]blue\[u201D], \[u201C]turquoise\[u201D], \[u201C]green\[u201D], \[u201C]yellow\[u201D], \[u201C]orange\[u201D], \[u201C]red\[u201D], \[u201C]pink\[u201D], \[u201C]purple\[u201D], \[u201C]toolbar\[u201D] -.sp -\fIDefault:\fR \(dqpink\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containers\&.<name>\&.icon\fR -.RS 4 -Container icon\&. -.sp -\fIType:\fR one of \[u201C]briefcase\[u201D], \[u201C]cart\[u201D], \[u201C]circle\[u201D], \[u201C]dollar\[u201D], \[u201C]fence\[u201D], \[u201C]fingerprint\[u201D], \[u201C]gift\[u201D], \[u201C]vacation\[u201D], \[u201C]food\[u201D], \[u201C]fruit\[u201D], \[u201C]pet\[u201D], \[u201C]tree\[u201D], \[u201C]chill\[u201D] -.sp -\fIDefault:\fR \(dqfruit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containers\&.<name>\&.id\fR -.RS 4 -Container ID\&. This should be set to a unique number per container in this profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containers\&.<name>\&.name\fR -.RS 4 -Container name, e\&.g\&., shopping\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.containersForce\fR -.RS 4 -Whether to force replace the existing containers configuration\&. This is recommended since LibreWolf will replace the symlink on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\fR -.RS 4 -Submodule for installing and configuring extensions\&. -.sp -\fIType:\fR (submodule) or (list of package) convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - packages = with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - ublock\-origin - ]; - settings\&.\(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\&.packages\fR -.RS 4 -List of \[u2039]name\[u203A] add\-on packages to install for this profile\&. Some pre\-packaged add\-ons are accessible from the Nix User Repository\&. Once you have NUR installed run -.sp -.RS 4 -.nf -$ nix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A nur\&.repos\&.rycee\&.firefox\-addons -.fi -.RE -.sp -to list the available \[u2039]name\[u203A] add\-ons\&. -.sp -Note that it is necessary to manually enable these extensions inside \[u2039]name\[u203A] after the first installation\&. -.sp -To automatically enable extensions add \fR\(oq\(dqextensions\&.autoDisableScopes\(dq = 0;\(cq\fP to \fB\fBprograms\&.librewolf\&.profiles\&.<profile>\&.settings\fP\fR[1]\fR -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.nur\&.repos\&.rycee\&.firefox\-addons; [ - privacy\-badger -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.librewolf\&.profiles\&.<name>\&.settings\fP option -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\&.force\fR -.RS 4 -Whether to override all previous firefox settings\&. -.sp -This is required when using \fR\(oqsettings\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\&.settings\fR -.RS 4 -Attribute set of options for each extension\&. The keys of the attribute set consist of the ID of the extension or its UUID wrapped in curly braces\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - # Example with uBlock origin\(aqs extensionID - \(dquBlock0@raymondhill\&.net\(dq\&.settings = { - selectedFilterLists = [ - \(dqublock\-filters\(dq - \(dqublock\-badware\(dq - \(dqublock\-privacy\(dq - \(dqublock\-unbreak\(dq - \(dqublock\-quick\-fixes\(dq - ]; - }; - - # Example with Stylus\(aq UUID\-form extensionID - \(dq{7a7a4a92\-a2a0\-41d1\-9fd7\-1e92480d612d}\(dq\&.settings = { - dbInChromeStorage = true; # required for Stylus - } -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.force\fR -.RS 4 -Forcibly override any existing configuration for this extension\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extensions\&.settings\&.<name>\&.settings\fR -.RS 4 -Json formatted options for the specified extensionID -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.extraConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.id\fR -.RS 4 -Profile ID\&. This should be set to a unique number per profile\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.isDefault\fR -.RS 4 -Whether this is a default profile\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dqtrue if profile ID is 0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.name\fR -.RS 4 -Profile name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.path\fR -.RS 4 -Profile path\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.preConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP, before \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR\&. -.sp -Use \fBprograms.firefox.profiles.<name>.extraConfig\fR[2]\fR, unless you want to overwrite in \fBprograms.firefox.profiles.<name>.settings\fR[1]\fR, then use this option\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.settings\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBprograms\&.firefox\&.profiles\&.<name>\&.extraConfig\fP option -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\fR -.RS 4 -Declarative search engine configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\&.default\fR -.RS 4 -The default search engine used in the address bar and search bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\&.engines\fR -.RS 4 -Attribute set of search engine configurations\&. Engines that only have \fImetaData\fP specified will be treated as builtin to LibreWolf\&. -.sp -See \fBSearchEngine\&.jsm\fR[1]\fR in LibreWolf\[u2019]s source for available options\&. We maintain a mapping to let you specify all options in the referenced link without underscores, but it may fall out of date with future options\&. -.sp -Note, \fIicon\fP is also a special option added by Home Manager to make it convenient to specify absolute icon paths\&. -.sp -\fIType:\fR attribute set of attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nix\-packages = { - name = \(dqNix Packages\(dq; - urls = [{ - template = \(dqhttps://search\&.nixos\&.org/packages\(dq; - params = [ - { name = \(dqtype\(dq; value = \(dqpackages\(dq; } - { name = \(dqquery\(dq; value = \(dq{searchTerms}\(dq; } - ]; - }]; - - icon = \(dq${pkgs\&.nixos\-icons}/share/icons/hicolor/scalable/apps/nix\-snowflake\&.svg\(dq; - definedAliases = [ \(dq@np\(dq ]; - }; - - nixos\-wiki = { - name = \(dqNixOS Wiki\(dq; - urls = [{ template = \(dqhttps://wiki\&.nixos\&.org/w/index\&.php?search={searchTerms}\(dq; }]; - iconMapObj\&.\(dq16\(dq = \(dqhttps://wiki\&.nixos\&.org/favicon\&.ico\(dq; - definedAliases = [ \(dq@nw\(dq ]; - }; - - bing\&.metaData\&.hidden = true; - google\&.metaData\&.alias = \(dq@g\(dq; # builtin engines only support specifying one additional alias -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://searchfox\&.org/mozilla\-central/rev/e3f42ec9320748b2aab3d474d1e47075def9000c/toolkit/components/search/SearchEngine\&.sys\&.mjs#890\-923 -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\&.force\fR -.RS 4 -Whether to force replace the existing search configuration\&. This is recommended since LibreWolf will replace the symlink for the search configuration on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\&.order\fR -.RS 4 -The order the search engines are listed in\&. Any engines that aren\[u2019]t included in this list will be listed after these in an unspecified order\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqddg\(dq - \(dqgoogle\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.search\&.privateDefault\fR -.RS 4 -The default search engine used in the Private Browsing\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.settings\fR -.RS 4 -Attribute set of LibreWolf preferences\&. -.sp -LibreWolf only supports int, bool, and string types for preferences, but home\-manager will automatically convert all other JSON\-compatible values into strings\&. -.sp -\fIType:\fR attribute set of (LibreWolf preference (int, bool, string, and also attrs, list, float as a JSON string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbrowser\&.startup\&.homepage\(dq = \(dqhttps://nixos\&.org\(dq; - \(dqbrowser\&.search\&.region\(dq = \(dqGB\(dq; - \(dqbrowser\&.search\&.isUS\(dq = false; - \(dqdistribution\&.searchplugins\&.defaultLocale\(dq = \(dqen\-GB\(dq; - \(dqgeneral\&.useragent\&.locale\(dq = \(dqen\-GB\(dq; - \(dqbrowser\&.bookmarks\&.showMobileBookmarks\(dq = true; - \(dqbrowser\&.newtabpage\&.pinned\(dq = [{ - title = \(dqNixOS\(dq; - url = \(dqhttps://nixos\&.org\(dq; - }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.userChrome\fR -.RS 4 -Custom LibreWolf user chrome CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide tab bar in FF Quantum */ - @\-moz\-document url(chrome://browser/content/browser\&.xul), url(chrome://browser/content/browser\&.xhtml) { - #TabsToolbar { - visibility: collapse !important; - margin\-bottom: 21px !important; - } - - #sidebar\-box[sidebarcommand=\(dqtreestyletab_piro_sakura_ne_jp\-sidebar\-action\(dq] #sidebar\-header { - visibility: collapse !important; - } - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.profiles\&.<name>\&.userContent\fR -.RS 4 -Custom LibreWolf user content CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide scrollbar in FF Quantum */ - *{scrollbar\-width:none !important} -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.librewolf\&.settings\fR -.RS 4 -Attribute set of global LibreWolf settings and overrides\&. Refer to \fBhttps://librewolf\&.net/docs/settings/\fR[1]\fR for details on supported values\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqwebgl\&.disabled\(dq = false; - \(dqprivacy\&.resistFingerprinting\(dq = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/librewolf\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://librewolf\&.net/docs/settings/ -.RE -.RE -.PP -\fBprograms\&.lieer\&.enable\fR -.RS 4 -Whether to enable lieer Gmail synchronization for notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lieer\&.package\fR -.RS 4 -The lieer package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lieer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lieer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.looking\-glass\-client\&.enable\fR -.RS 4 -Whether to enable looking\-glass\-client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/looking\-glass\-client\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.looking\-glass\-client\&.package\fR -.RS 4 -The looking\-glass\-client package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.looking\-glass\-client -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/looking\-glass\-client\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.looking\-glass\-client\&.settings\fR -.RS 4 -looking\-glass\-client settings\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - app = { - allowDMA = true; - shmFile = \(dq/dev/kvmfr0\(dq; - }; - - win = { - fullScreen = true; - showFPS = false; - jitRender = true; - }; - - spice = { - enable = true; - audio = true; - }; - - input = { - rawMouse = true; - escapeKey = 62; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/looking\-glass\-client\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lsd\&.enable\fR -.RS 4 -Whether to enable lsd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lsd\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.lsd\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.lsd\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.lsd\&.package\fR -.RS 4 -The lsd package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lsd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lsd\&.colors\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lsd/colors\&.yaml\fP\&. See \fBhttps://github\&.com/lsd\-rs/lsd/tree/v1\&.0\&.0#color\-theme\-file\-content\fR[1]\fR for supported colors\&. -.sp -If this option is non\-empty then the \fR\(oqcolor\&.theme\(cq\fP option is automatically set to \fR\(oq\(dqcustom\(dq\(cq\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - size = { - large = \(dqdark_yellow\(dq; - none = \(dqgrey\(dq; - small = \(dqyellow\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/lsd\-rs/lsd/tree/v1\&.0\&.0#color\-theme\-file\-content -.RE -.RE -.PP -\fBprograms\&.lsd\&.icons\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lsd/icons\&.yaml\fP\&. See \fBhttps://github\&.com/lsd\-rs/lsd?tab=readme\-ov\-file#icon\-theme\-file\-content\fR[1]\fR for details\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - extension = { - go = \(dq\[uE627]\(dq; - hs = \(dq\[uE777]\(dq; - }; - filetype = { - dir = \(dq\[u1F4C2]\(dq; - file = \(dq\[u1F4C4]\(dq; - }; - name = { - \(dq\&.cargo\(dq = \(dq\[uE7A8]\(dq; - \(dq\&.trash\(dq = \(dq\[uF1F8]\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/lsd\-rs/lsd?tab=readme\-ov\-file#icon\-theme\-file\-content -.RE -.RE -.PP -\fBprograms\&.lsd\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/lsd/config\&.yaml\fP\&. See \fBhttps://github\&.com/Peltoche/lsd#config\-file\-content\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - date = \(dqrelative\(dq; - ignore\-globs = [ - \(dq\&.git\(dq - \(dq\&.hg\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Peltoche/lsd#config\-file\-content -.RE -.RE -.PP -\fBprograms\&.lutris\&.enable\fR -.RS 4 -Whether to enable lutris\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.package\fR -.RS 4 -The lutris package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lutris -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.extraPackages\fR -.RS 4 -List of packages to pass as extraPkgs to lutris\&. Please note runners are not detected properly this way, use a proper option for those\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dqwith pkgs; [mangohud winetricks gamescope gamemode umu\-launcher]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.protonPackages\fR -.RS 4 -List of proton packages to be added for lutris to use with umu\-launcher\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dq[ pkgs\&.proton\-ge\-bin ]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\fR -.RS 4 -Attribute set of Lutris runners along with their configurations\&. Each runner must be named exactly as lutris expects on \fR\(oqlutris \-\-list\-runners\(cq\fP\&. Note that runners added here won\[u2019]t be configurable through Lutris using the GUI\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - runners = { - cemu\&.package = pkgs\&.cemu; - pcsx2\&.config = { - system\&.disable_screen_saver = true; - runner\&.runner_executable = \(dq$\e{pkgs\&.pcsx2}/bin/pcsx2\-qt\(dq; - }; - }; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\&.<name>\&.package\fR -.RS 4 -The package to use for this runner, nix will try to find the executable for this package\&. A more specific path can be set by using settings\&.runner\&.runner_executable instead\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqpkgs\&.cemu\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\&.<name>\&.settings\fR -.RS 4 -Settings passed directly to lutris for this runner\[u2019]s config at XDG_CONFIG/lutris/runners\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\&.<name>\&.settings\&.runner\fR -.RS 4 -Runner specific options\&. For references, you must look for the file of said runner on lutris\[u2019] source code\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\&.<name>\&.settings\&.runner\&.runner_executable\fR -.RS 4 -Specific option to point to a runner executable directly, don\[u2019]t set runner\&.package if you set this\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.runners\&.<name>\&.settings\&.system\fR -.RS 4 -Lutris system options for this runner\&. Reference for system options: https://github\&.com/lutris/lutris/blob/master/lutris/sysoptions\&.py#L78 -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.steamPackage\fR -.RS 4 -This must be the same you use for your system, or two instances will conflict, for example, if you configure steam through the nixos module, a good value is \[u201C]osConfig\&.programs\&.steam\&.package\[u201D] -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqpkgs\&.steam or osConfig\&.programs\&.steam\&.package\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.lutris\&.winePackages\fR -.RS 4 -List of wine packages to be added for lutris to use\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dq[ pkgs\&.wineWow64Packages\&.full ]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/lutris\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.man\&.enable\fR -.RS 4 -Whether to enable manual pages and the \fBman\fP command\&. This also includes \[u201C]man\[u201D] outputs of all \fR\(oqhome\&.packages\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/man\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.man\&.package\fR -.RS 4 -The man package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.man -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/man\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.man\&.generateCaches\fR -.RS 4 -Whether to generate the manual page index caches using \fBmandb\fP\fR(8)\fP\&. This allows searching for a page or keyword using utilities like \fBapropos\fP\fR(1)\fP\&. -.sp -This feature is disabled by default because it slows down building\&. If you don\[u2019]t mind waiting a few more seconds when Home Manager builds a new generation, you may safely enable this option\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/man\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mangohud\&.enable\fR -.RS 4 -Whether to enable Mangohud\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mangohud\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mangohud\&.enableSessionWide\fR -.RS 4 -Sets environment variables so that MangoHud is started on any application that supports it\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mangohud\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mangohud\&.package\fR -.RS 4 -The mangohud package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mangohud -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mangohud\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mangohud\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/MangoHud/MangoHud\&.conf\fP\&. See \fBhttps://github\&.com/flightlessmango/MangoHud/blob/master/data/MangoHud\&.conf\fR[1]\fR for the default configuration\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or floating point number or string or absolute path or list of (signed integer or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - output_folder = \(ti/Documents/mangohud/; - full = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mangohud\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/flightlessmango/MangoHud/blob/master/data/MangoHud\&.conf -.RE -.RE -.PP -\fBprograms\&.mangohud\&.settingsPerApplication\fR -.RS 4 -Sets MangoHud settings per application\&. Configuration written to \fI$XDG_CONFIG_HOME/MangoHud/{application_name}\&.conf\fP\&. See \fBhttps://github\&.com/flightlessmango/MangoHud/blob/master/data/MangoHud\&.conf\fR[1]\fR for the default configuration\&. -.sp -\fIType:\fR attribute set of attribute set of (boolean or signed integer or floating point number or string or absolute path or list of (signed integer or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - mpv = { - no_display = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mangohud\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/flightlessmango/MangoHud/blob/master/data/MangoHud\&.conf -.RE -.RE -.PP -\fBprograms\&.matplotlib\&.enable\fR -.RS 4 -Whether to enable matplotlib, a plotting library for python\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/matplotlib\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.matplotlib\&.config\fR -.RS 4 -Add terms to the \fImatplotlibrc\fP file to control the default matplotlib behavior\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - backend = \(dqQt5Agg\(dq; - axes = { - grid = true; - facecolor = \(dqblack\(dq; - edgecolor = \(dqFF9900\(dq; - }; - grid\&.color = \(dqFF9900\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/matplotlib\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.matplotlib\&.extraConfig\fR -.RS 4 -Additional commands for matplotlib that will be added to the \fImatplotlibrc\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/matplotlib\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mbsync\&.enable\fR -.RS 4 -Whether to enable mbsync IMAP4 and Maildir mailbox synchronizer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mbsync\&.package\fR -.RS 4 -The isync package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.isync -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mbsync\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to the mbsync configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mbsync\&.groups\fR -.RS 4 -Definition of groups\&. -.sp -\fIType:\fR attribute set of attribute set of list of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - inboxes = { - account1 = [ \(dqInbox\(dq ]; - account2 = [ \(dqInbox\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.enable\fR -.RS 4 -Whether to enable Midnight Commander\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.package\fR -.RS 4 -The mc package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.mc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.extensionSettings\fR -.RS 4 -Settings for \fR\(oqmc/mc\&.ext\&.ini\(cq\fP file\&. This setting completely replaces the default \fR\(oq/etc/mc/mc\&.ext\&.ini\(cq\fP\&. -.sp -Midnight Commander does not merge this file with the system default, so you should copy the original if you want to preserve default behavior and add your changes there\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - EPUB = { - Open = \(dqfbreader %f &\(dq; - Shell = \(dq\&.epub\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.fileHighlightSettings\fR -.RS 4 -Settings for \fR\(oqmc/filehighlight\&.ini\(cq\fP file\&. This setting completely replaces the default \fR\(oq/etc/mc/filehighlight\&.ini\(cq\fP\&. -.sp -Midnight Commander does not merge this file with the system default, so you should copy the original if you want to preserve default behavior and add your changes there\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - lua = { - extensions = \(dqlua;luac\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.keymapSettings\fR -.RS 4 -Settings for \fR\(oqmc/mc\&.keymap\(cq\fP file\&. -.sp -Any missing settings will fall back to the system default\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - panel = { - Up = \(dqup;ctrl\-k\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.panelsSettings\fR -.RS 4 -Settings for \fR\(oqmc/panels\(cq\fP file\&. -.sp -Any missing settings will fall back to the system default\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Dirs = { - current_is_left = false; - other_dir = \(dq/home\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mc\&.settings\fR -.RS 4 -Settings for \fR\(oqmc/ini\(cq\fP file\&. -.sp -Any missing settings will fall back to the system default\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Panels = { - show_dot_files = false; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.enable\fR -.RS 4 -Whether to enable mcfly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mcfly\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mcfly\&.enableLightTheme\fR -.RS 4 -Whether to enable light mode theme\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mcfly\&.package\fR -.RS 4 -The mcfly package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mcfly -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.fuzzySearchFactor\fR -.RS 4 -Whether to enable fuzzy searching\&. 0 is off; higher numbers weight toward shorter matches\&. Values in the 2\-5 range get good results so far\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.fzf\&.enable\fR -.RS 4 -Whether to enable McFly fzf integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.interfaceView\fR -.RS 4 -Interface view to use\&. -.sp -\fIType:\fR one of \[u201C]TOP\[u201D], \[u201C]BOTTOM\[u201D] -.sp -\fIDefault:\fR \(dqTOP\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.keyScheme\fR -.RS 4 -Key scheme to use\&. -.sp -\fIType:\fR one of \[u201C]emacs\[u201D], \[u201C]vim\[u201D] -.sp -\fIDefault:\fR \(dqemacs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.mcflyFzfPackage\fR -.RS 4 -The mcfly\-fzf package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mcfly\-fzf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mcfly\&.settings\fR -.RS 4 -Settings written to \fI\(ti/\&.config/mcfly/config\&.toml\fP\&. -.sp -Note, if your McFly database is currently in \fI\(ti/\&.mcfly\fP, then this option has no effect\&. Move the database to \fI$XDG_DATA_DIR/mcfly/history\&.db\fP and remove \fI\(ti/\&.mcfly\fP to make the settings take effect\&. See \fBhttps://github\&.com/cantino/mcfly#database\-location\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - colors = { - menubar = { - bg = \(dqblack\(dq; - fg = \(dqred\(dq; - }; - darkmode = { - prompt = \(dqcyan\(dq; - timing = \(dqyellow\(dq; - results_selection_fg = \(dqcyan\(dq; - results_selection_bg = \(dqblack\(dq; - results_selection_hl = \(dqred\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mcfly\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/cantino/mcfly#database\-location -.RE -.RE -.PP -\fBprograms\&.meli\&.enable\fR -.RS 4 -Whether to enable meli email client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.meli\&.package\fR -.RS 4 -meli package to use -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation meli\-0\&.8\&.12> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.meli\&.includes\fR -.RS 4 -Paths of the various meli configuration files to include\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.meli\&.settings\fR -.RS 4 -Meli Configuration -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ -shortcuts = { -contact\-list = { - create_contact = \(dqc\(dq; - edit_contact = \(dqm\(dq; - }; -general = { - edit = \(dqm\(dq; - scroll_up = \(dqe\(dq; - scroll_down = \(dqn\(dq; -}; -composing = { - edit = \(dqm\(dq; - scroll_up = \(dqe\(dq; - scroll_down = \(dqn\(dq; -}; -listing = { - new_mail = \(dqt\(dq; - set_seen = \(dqs\(dq; -}; -pager = { - scroll_up = \(dqe\(dq; - scroll_down = \(dqn\(dq; -}; - -} -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/meli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.enable\fR -.RS 4 -Whether to enable Mercurial\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.package\fR -.RS 4 -The mercurial package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mercurial -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.aliases\fR -.RS 4 -Mercurial aliases to define\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR (attribute set of anything) or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.ignores\fR -.RS 4 -List of globs for files to be globally ignored\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq*\(ti\(dq - \(dq*\&.swp\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.ignoresRegexp\fR -.RS 4 -List of regular expressions for files to be globally ignored\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ha\&.*\(ti$\(dq - \(dq\(ha\&.*\e\e\&.swp$\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.userEmail\fR -.RS 4 -Default user email to use\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mercurial\&.userName\fR -.RS 4 -Default user name to use\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mercurial\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mergiraf\&.enable\fR -.RS 4 -Whether to enable mergiraf\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mergiraf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mergiraf\&.package\fR -.RS 4 -The mergiraf package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mergiraf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mergiraf\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.micro\&.enable\fR -.RS 4 -Whether to enable micro, a terminal\-based text editor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/micro\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.micro\&.package\fR -.RS 4 -The micro package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.micro -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/micro\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.micro\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/micro/settings\&.json\fP\&. See \fBhttps://github\&.com/zyedidia/micro/blob/master/runtime/help/options\&.md\fR[1]\fR for supported values\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - autosu = false; - cursorline = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/micro\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/zyedidia/micro/blob/master/runtime/help/options\&.md -.RE -.RE -.PP -\fBprograms\&.mise\&.enable\fR -.RS 4 -Whether to enable mise\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mise\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mise\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mise\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mise\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mise\&.package\fR -.RS 4 -The mise package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.mise -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mise\&.globalConfig\fR -.RS 4 -Config written to \fI$XDG_CONFIG_HOME/mise/config\&.toml\fP\&. -.sp -See \fBhttps://mise\&.jdx\&.dev/configuration\&.html#global\-config\-config\-mise\-config\-toml\fR[1]\fR for details on supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -tools = { - node = \(dqlts\(dq; - python = [\(dq3\&.10\(dq \(dq3\&.11\(dq]; -}; - -aliases = { - my_custom_node = \(dq20\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mise\&.jdx\&.dev/configuration\&.html#global\-config\-config\-mise\-config\-toml -.RE -.RE -.PP -\fBprograms\&.mise\&.settings\fR -.RS 4 -Settings written to \fI$XDG_CONFIG_HOME/mise/settings\&.toml\fP\&. -.sp -See \fBhttps://mise\&.jdx\&.dev/configuration\&.html#settings\-file\-config\-mise\-settings\-toml\fR[1]\fR for details on supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -verbose = false; -experimental = false; -disable_tools = [\(dqnode\(dq]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mise\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mise\&.jdx\&.dev/configuration\&.html#settings\-file\-config\-mise\-settings\-toml -.RE -.RE -.PP -\fBprograms\&.mods\&.enable\fR -.RS 4 -Whether to enable mods\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mods\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mods\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mods\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.mods\&.package\fR -.RS 4 -The mods package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mods -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mods\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/mods/mods\&.yml\fP\&. -.sp -See \fBhttps://github\&.com/charmbracelet/mods/blob/main/config_template\&.yml\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - default\-model = \(dqllama3\&.2\(dq; - apis = { - ollama = { - base\-url = \(dqhttp://localhost:11434/api\(dq; - models = { - \(dqllama3\&.2\(dq = { - max\-input\-chars = 650000; - }; - }; - }; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mods\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/charmbracelet/mods/blob/main/config_template\&.yml -.RE -.RE -.PP -\fBprograms\&.mpv\&.enable\fR -.RS 4 -Whether to enable mpv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.package\fR -.RS 4 -The mpv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpv -.sp -\fIExample:\fR pkgs\&.mpv\-unwrapped\&.wrapper { mpv = pkgs\&.mpv\-unwrapped\&.override { vapoursynthSupport = true; }; youtubeSupport = true; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.bindings\fR -.RS 4 -Input configuration written to \fI$XDG_CONFIG_HOME/mpv/input\&.conf\fP\&. See \fBmpv\fP\fR(1)\fP for the full list of options\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - WHEEL_UP = \(dqseek 10\(dq; - WHEEL_DOWN = \(dqseek \-10\(dq; - \(dqAlt+0\(dq = \(dqset window\-scale 0\&.5\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.config\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/mpv/mpv\&.conf\fP\&. See \fBmpv\fP\fR(1)\fP for the full list of options\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or floating point number or list of (string or signed integer or boolean or floating point number)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - profile = \(dqgpu\-hq\(dq; - force\-window = true; - ytdl\-format = \(dqbestvideo+bestaudio\(dq; - cache\-default = 4000000; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.defaultProfiles\fR -.RS 4 -Profiles to be applied by default\&. Options set by them are overridden by options set in \fBprograms.mpv.config\fR[1]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqgpu\-hq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.mpv\&.config\fP option -.RE -.RE -.PP -\fBprograms\&.mpv\&.extraInput\fR -.RS 4 -Additional lines that are appended to \fI$XDG_CONFIG_HOME/mpv/input\&.conf\fP\&. See \fBmpv\fP\fR(1)\fP for the full list of options\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - esc quit #! Quit - # script\-binding uosc/video #! Video tracks - # additional comments -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.includes\fR -.RS 4 -List of configuration files to include at the end of mpv\&.conf\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/path/to/config\&.inc\(dq; - \(dq\(ti/path/to/conditional\&.inc\(dq; -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.profiles\fR -.RS 4 -Sub\-configuration options for specific profiles written to \fI$XDG_CONFIG_HOME/mpv/mpv\&.conf\fP\&. See \fBprograms\&.mpv\&.config\fP for more information\&. -.sp -\fIType:\fR attribute set of attribute set of (string or signed integer or boolean or floating point number or list of (string or signed integer or boolean or floating point number)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - fast = { - vo = \(dqvdpau\(dq; - }; - \(dqprotocol\&.dvd\(dq = { - profile\-desc = \(dqprofile for dvd:// streams\(dq; - alang = \(dqen\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.scriptOpts\fR -.RS 4 -Script options added to \fI$XDG_CONFIG_HOME/mpv/script\-opts/\fP\&. See \fBmpv\fP\fR(1)\fP for the full list of options of builtin scripts\&. -.sp -\fIType:\fR attribute set of attribute set of (string or signed integer or boolean or floating point number or list of (string or signed integer or boolean or floating point number)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - osc = { - scalewindowed = 2\&.0; - vidscale = false; - visibility = \(dqalways\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpv\&.scripts\fR -.RS 4 -List of scripts to use with mpv\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.mpvScripts\&.mpris ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpvpaper\&.enable\fR -.RS 4 -Whether to enable mpvpaper\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpvpaper\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpvpaper\&.package\fR -.RS 4 -The mpvpaper package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.mpvpaper -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpvpaper\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpvpaper\&.pauseList\fR -.RS 4 -List of program names that will cause mpvpaper to pause\&. Programs must be separed by spaces or newlines\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - firefox - steam - obs -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpvpaper\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mpvpaper\&.stopList\fR -.RS 4 -List of program names that will cause mpvpaper to stop\&. Programs must be separed by spaces or newlines\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - firefox - steam - obs -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mpvpaper\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mr\&.enable\fR -.RS 4 -Whether to enable mr, a tool to manage all your version control repositories\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mr\&.package\fR -.RS 4 -The mr package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.mr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mr\&.settings\fR -.RS 4 -Configuration written to \fI$HOME/\&.mrconfig\fP See \fBhttps://myrepos\&.branchable\&.com/\fR[1]\fR for an example configuration\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non\-empty list of them) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - foo = { - checkout = \(dqgit clone git@github\&.com:joeyh/foo\&.git\(dq; - update = \(dqgit pull \-\-rebase\(dq; - }; - \(dq\&.local/share/password\-store\(dq = { - checkout = \(dqgit clone git@github\&.com:myuser/password\-store\&.git\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://myrepos\&.branchable\&.com/ -.RE -.RE -.PP -\fBprograms\&.msmtp\&.enable\fR -.RS 4 -Whether to enable msmtp\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.msmtp\&.package\fR -.RS 4 -The msmtp package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.msmtp -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.msmtp\&.extraAccounts\fR -.RS 4 -Extra configuration lines to add to the end of \fI\(ti/\&.msmtprc\fP\&. See \fBhttps://marlam\&.de/msmtp/msmtprc\&.txt\fR[1]\fR for examples\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://marlam\&.de/msmtp/msmtprc\&.txt -.RE -.RE -.PP -\fBprograms\&.msmtp\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fI\(ti/\&.msmtprc\fP\&. See \fBhttps://marlam\&.de/msmtp/msmtprc\&.txt\fR[1]\fR for examples\&. -.sp -Note, if running msmtp fails with the error message \[u201C]account default was already defined\[u201D] then you probably have an account command here\&. Account commands should be placed in \fBaccounts.email.accounts.<name>.msmtp.extraConfig\fR[2]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/msmtp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://marlam\&.de/msmtp/msmtprc\&.txt -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBaccounts\&.email\&.accounts\&.<name>\&.msmtp\&.extraConfig\fP option -.RE -.RE -.PP -\fBprograms\&.mu\&.enable\fR -.RS 4 -Whether to enable mu, a maildir indexer and searcher\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mu\&.package\fR -.RS 4 -The mu package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mu -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mu\&.home\fR -.RS 4 -Directory to store Mu\[u2019]s database\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR config\&.xdg\&.cacheHome + \(dq/mu\(dq -.sp -\fIExample:\fR \(dq\e${config\&.home\&.homeDirectory}/Maildir/\&.mu\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mu\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mujmap\&.enable\fR -.RS 4 -Whether to enable mujmap Gmail synchronization for notmuch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.mujmap\&.package\fR -.RS 4 -The mujmap package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mujmap -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/mujmap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.navi\&.enable\fR -.RS 4 -Whether to enable Navi\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.navi\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.navi\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.navi\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.navi\&.package\fR -.RS 4 -The navi package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.navi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.navi\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/navi/config\&.yaml\fP on Linux or \fI$HOME/Library/Application Support/navi/config\&.yaml\fP on Darwin\&. See \fBhttps://github\&.com/denisidoro/navi/blob/master/docs/config_file\&.md\fR[1]\fR for more information\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - cheats = { - paths = [ - \(dq\(ti/cheats/\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/navi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/denisidoro/navi/blob/master/docs/config_file\&.md -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.enable\fR -.RS 4 -Whether to enable ncmpcpp \- an ncurses Music Player Daemon (MPD) client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.package\fR -.RS 4 -The ncmpcpp package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.ncmpcpp -.sp -\fIExample:\fR pkgs\&.ncmpcpp\&.override { visualizerSupport = true; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.bindings\fR -.RS 4 -List of keybindings\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { key = \(dqj\(dq; command = \(dqscroll_down\(dq; } - { key = \(dqk\(dq; command = \(dqscroll_up\(dq; } - { key = \(dqJ\(dq; command = [ \(dqselect_item\(dq \(dqscroll_down\(dq ]; } - { key = \(dqK\(dq; command = [ \(dqselect_item\(dq \(dqscroll_up\(dq ]; } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.bindings\&.*\&.command\fR -.RS 4 -Command or sequence of commands to be executed\&. -.sp -\fIType:\fR string or list of string -.sp -\fIExample:\fR \(dqscroll_down\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.bindings\&.*\&.key\fR -.RS 4 -Key to bind\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqj\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.mpdMusicDir\fR -.RS 4 -Value of the \fR\(oqmpd_music_dir\(cq\fP setting\&. On Linux platforms the value of \fIservices\&.mpd\&.musicDirectory\fP is used as the default if \fIservices\&.mpd\&.enable\fP is \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if pkgs\&.stdenv\&.hostPlatform\&.isLinux && config\&.services\&.mpd\&.enable then - config\&.services\&.mpd\&.musicDirectory -else - null -.fi -.RE -.sp -\fIExample:\fR \(dq\(ti/music\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncmpcpp\&.settings\fR -.RS 4 -Attribute set from name of a setting to its value\&. For available options see \fBncmpcpp\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ncmpcpp_directory = \(dq\(ti/\&.local/share/ncmpcpp\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncmpcpp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncspot\&.enable\fR -.RS 4 -Whether to enable ncspot\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncspot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncspot\&.package\fR -.RS 4 -The ncspot package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ncspot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncspot\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ncspot\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/ncspot/config\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/hrkfdn/ncspot#configuration\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - shuffle = true; - gapless = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ncspot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/hrkfdn/ncspot#configuration -.RE -.RE -.PP -\fBprograms\&.ne\&.enable\fR -.RS 4 -Whether to enable ne\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.package\fR -.RS 4 -The ne package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ne -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.automaticPreferences\fR -.RS 4 -Automatic preferences files for ne\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nix = \(aq\(aq - TAB 0 - TS 2 - \(aq\(aq; - js = \(aq\(aq - TS 4 - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.defaultPreferences\fR -.RS 4 -Default preferences for ne\&. -.sp -Equivalent to \fR\(oqprograms\&.ne\&.automaticPreferences\&.\(dq\&.default\(dq\(cq\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.keybindings\fR -.RS 4 -Keybinding file for ne\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - KEY 7f BS - SEQ \(dq\ex1b[1;5D\(dq 7f -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.menus\fR -.RS 4 -Menu configuration file for ne\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ne\&.virtualExtensions\fR -.RS 4 -Virtual extensions configuration file for ne\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - sh 1 \(ha#!\es*/\&.*\eb(bash|sh|ksh|zsh)\es* - csh 1 \(ha#!\es*/\&.*\eb(csh|tcsh)\es* -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ne\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.enable\fR -.RS 4 -Whether to enable the NeoMutt mail client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.package\fR -.RS 4 -The neomutt package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.neomutt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.binds\fR -.RS 4 -List of keybindings\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.binds\&.*\&.action\fR -.RS 4 -Specify the action to take\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq<enter\-command>toggle sidebar_visible<enter><refresh>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.binds\&.*\&.key\fR -.RS 4 -The key to bind\&. -.sp -If you want to bind \[u2018]\eCp\[u2019] for example, which would be Ctrl + \[u2018]p\[u2019], you need to escape twice: \[u2018]\eCp\[u2019]! -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq<left>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.binds\&.*\&.map\fR -.RS 4 -Select the menu to bind the command to\&. -.sp -\fIType:\fR one of \[u201C]alias\[u201D], \[u201C]attach\[u201D], \[u201C]browser\[u201D], \[u201C]compose\[u201D], \[u201C]editor\[u201D], \[u201C]generic\[u201D], \[u201C]index\[u201D], \[u201C]mix\[u201D], \[u201C]pager\[u201D], \[u201C]pgp\[u201D], \[u201C]postpone\[u201D], \[u201C]query\[u201D], \[u201C]smime\[u201D] or list of (one of \[u201C]alias\[u201D], \[u201C]attach\[u201D], \[u201C]browser\[u201D], \[u201C]compose\[u201D], \[u201C]editor\[u201D], \[u201C]generic\[u201D], \[u201C]index\[u201D], \[u201C]mix\[u201D], \[u201C]pager\[u201D], \[u201C]pgp\[u201D], \[u201C]postpone\[u201D], \[u201C]query\[u201D], \[u201C]smime\[u201D]) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqindex\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.changeFolderWhenSourcingAccount\fR -.RS 4 -Whether to enable changing the folder when sourcing an account\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.checkStatsInterval\fR -.RS 4 -Enable and set the interval of automatic mail check\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 60 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.editor\fR -.RS 4 -Select the editor used for writing mail\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$EDITOR\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.extraConfig\fR -.RS 4 -Extra configuration appended to the end\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.macros\fR -.RS 4 -List of macros\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.macros\&.*\&.action\fR -.RS 4 -Specify the action to take\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq<enter\-command>toggle sidebar_visible<enter><refresh>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.macros\&.*\&.key\fR -.RS 4 -The key to bind\&. -.sp -If you want to bind \[u2018]\eCp\[u2019] for example, which would be Ctrl + \[u2018]p\[u2019], you need to escape twice: \[u2018]\eCp\[u2019]! -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq<left>\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.macros\&.*\&.map\fR -.RS 4 -Select the menu to bind the command to\&. -.sp -\fIType:\fR one of \[u201C]alias\[u201D], \[u201C]attach\[u201D], \[u201C]browser\[u201D], \[u201C]compose\[u201D], \[u201C]editor\[u201D], \[u201C]generic\[u201D], \[u201C]index\[u201D], \[u201C]mix\[u201D], \[u201C]pager\[u201D], \[u201C]pgp\[u201D], \[u201C]postpone\[u201D], \[u201C]query\[u201D], \[u201C]smime\[u201D] or list of (one of \[u201C]alias\[u201D], \[u201C]attach\[u201D], \[u201C]browser\[u201D], \[u201C]compose\[u201D], \[u201C]editor\[u201D], \[u201C]generic\[u201D], \[u201C]index\[u201D], \[u201C]mix\[u201D], \[u201C]pager\[u201D], \[u201C]pgp\[u201D], \[u201C]postpone\[u201D], \[u201C]query\[u201D], \[u201C]smime\[u201D]) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqindex\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.settings\fR -.RS 4 -Extra configuration appended to the end\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sidebar\fR -.RS 4 -Options related to the sidebar\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sidebar\&.enable\fR -.RS 4 -Whether to enable sidebar support\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sidebar\&.format\fR -.RS 4 -Sidebar format\&. Check neomutt documentation for details\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%D%?F? [%F]?%* %?N?%N/?%S\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sidebar\&.shortPath\fR -.RS 4 -By default sidebar shows the full path of the mailbox, but with this enabled only the relative name is shown\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sidebar\&.width\fR -.RS 4 -Width of the sidebar -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 22 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sort\fR -.RS 4 -Sorting method on messages\&. -.sp -\fIType:\fR one of \[u201C]date\[u201D], \[u201C]date\-received\[u201D], \[u201C]from\[u201D], \[u201C]mailbox\-order\[u201D], \[u201C]score\[u201D], \[u201C]size\[u201D], \[u201C]spam\[u201D], \[u201C]subject\[u201D], \[u201C]threads\[u201D], \[u201C]to\[u201D], \[u201C]reverse\-date\[u201D], \[u201C]reverse\-date\-received\[u201D], \[u201C]reverse\-from\[u201D], \[u201C]reverse\-mailbox\-order\[u201D], \[u201C]reverse\-score\[u201D], \[u201C]reverse\-size\[u201D], \[u201C]reverse\-spam\[u201D], \[u201C]reverse\-subject\[u201D], \[u201C]reverse\-threads\[u201D], \[u201C]reverse\-to\[u201D], \[u201C]last\-date\[u201D], \[u201C]last\-date\-received\[u201D], \[u201C]last\-from\[u201D], \[u201C]last\-mailbox\-order\[u201D], \[u201C]last\-score\[u201D], \[u201C]last\-size\[u201D], \[u201C]last\-spam\[u201D], \[u201C]last\-subject\[u201D], \[u201C]last\-threads\[u201D], \[u201C]last\-to\[u201D], \[u201C]reverse\-last\-date\[u201D], \[u201C]reverse\-last\-date\-received\[u201D], \[u201C]reverse\-last\-from\[u201D], \[u201C]reverse\-last\-mailbox\-order\[u201D], \[u201C]reverse\-last\-score\[u201D], \[u201C]reverse\-last\-size\[u201D], \[u201C]reverse\-last\-spam\[u201D], \[u201C]reverse\-last\-subject\[u201D], \[u201C]reverse\-last\-threads\[u201D], \[u201C]reverse\-last\-to\[u201D] -.sp -\fIDefault:\fR \(dqthreads\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.sourcePrimaryAccount\fR -.RS 4 -Whether to enable source the primary account by default\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neomutt\&.unmailboxes\fR -.RS 4 -Set \fR\(oqunmailboxes *\(cq\fP at the start of account configurations\&. It removes previous sidebar mailboxes when sourcing an account configuration\&. -.sp -See \fBhttp://www\&.mutt\&.org/doc/manual/#mailboxes\fR[1]\fR for more information\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -http://www\&.mutt\&.org/doc/manual/#mailboxes -.RE -.RE -.PP -\fBprograms\&.neomutt\&.vimKeys\fR -.RS 4 -Enable vim\-like bindings\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neomutt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovide\&.enable\fR -.RS 4 -Whether to enable Neovide, No Nonsense Neovim Client in Rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovide\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovide\&.package\fR -.RS 4 -The neovide package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.neovide -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovide\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovide\&.settings\fR -.RS 4 -Neovide configuration\&. For available settings see \fBhttps://neovide\&.dev/config\-file\&.html\fR[1]\fR\&. For any option not found will need to be done in your neovim\[u2019]s config instead\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - fork = false; - frame = \(dqfull\(dq; - idle = true; - maximized = false; - neovim\-bin = \(dq/usr/bin/nvim\(dq; - no\-multigrid = false; - srgb = false; - tabs = true; - theme = \(dqauto\(dq; - title\-hidden = true; - vsync = true; - wsl = false; - - font = { - normal = []; - size = 14\&.0; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovide\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://neovide\&.dev/config\-file\&.html -.RE -.RE -.PP -\fBprograms\&.neovim\&.enable\fR -.RS 4 -Whether to enable Neovim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.package\fR -.RS 4 -The neovim package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.neovim\-unwrapped -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.coc\&.enable\fR -.RS 4 -Whether to enable Coc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.coc\&.package\fR -.RS 4 -The coc\-nvim package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vimPlugins\&.coc\-nvim -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.coc\&.pluginConfig\fR -.RS 4 -Script to configure CoC\&. Must be viml\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.coc\&.settings\fR -.RS 4 -Extra configuration lines to add to \fI$XDG_CONFIG_HOME/nvim/coc\-settings\&.json\fP See \fBhttps://github\&.com/neoclide/coc\&.nvim/wiki/Using\-the\-configuration\-file\fR[1]\fR for options\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqsuggest\&.noselect\(dq = true; - \(dqsuggest\&.enablePreview\(dq = true; - \(dqsuggest\&.enablePreselect\(dq = false; - \(dqsuggest\&.disableKind\(dq = true; - languageserver = { - haskell = { - command = \(dqhaskell\-language\-server\-wrapper\(dq; - args = [ \(dq\-\-lsp\(dq ]; - rootPatterns = [ - \(dq*\&.cabal\(dq - \(dqstack\&.yaml\(dq - \(dqcabal\&.project\(dq - \(dqpackage\&.yaml\(dq - \(dqhie\&.yaml\(dq - ]; - filetypes = [ \(dqhaskell\(dq \(dqlhaskell\(dq ]; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/neoclide/coc\&.nvim/wiki/Using\-the\-configuration\-file -.RE -.RE -.PP -\fBprograms\&.neovim\&.defaultEditor\fR -.RS 4 -Whether to configure \fBnvim\fP as the default editor using the \fBEDITOR\fP environment variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraConfig\fR -.RS 4 -Custom vimrc lines\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - set nobackup -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraLuaConfig\fR -.RS 4 -Custom lua lines\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - vim\&.opt\&.nobackup = true -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraLuaPackages\fR -.RS 4 -The extra Lua packages required for your plugins to work\&. This option accepts a function that takes a Lua package set as an argument, and selects the required Lua packages from this package set\&. See the example for more info\&. -.sp -\fIType:\fR (function that evaluates to a(n) list of package) or (list of package) convertible to it -.sp -\fIDefault:\fR ps: [ ] -.sp -\fIExample:\fR luaPkgs: with luaPkgs; [ luautf8 ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraPackages\fR -.RS 4 -Extra packages available to nvim\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.shfmt ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraPython3Packages\fR -.RS 4 -The extra Python 3 packages required for your plugins to work\&. This option accepts a function that takes a Python 3 package set as an argument, and selects the required Python 3 packages from this package set\&. See the example for more info\&. -.sp -\fIType:\fR (function that evaluates to a(n) list of package) or (list of package) convertible to it -.sp -\fIDefault:\fR ps: [ ] -.sp -\fIExample:\fR pyPkgs: with pyPkgs; [ python\-language\-server ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.extraWrapperArgs\fR -.RS 4 -Extra arguments to be passed to the neovim wrapper\&. This option sets environment variables required for building and running binaries with external package managers like mason\&.nvim\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-suffix\(dq - \(dqLIBRARY_PATH\(dq - \(dq:\(dq - \(dq${lib\&.makeLibraryPath [ pkgs\&.stdenv\&.cc\&.cc pkgs\&.zlib ]}\(dq - \(dq\-\-suffix\(dq - \(dqPKG_CONFIG_PATH\(dq - \(dq:\(dq - \(dq${lib\&.makeSearchPathOutput \(dqdev\(dq \(dqlib/pkgconfig\(dq [ pkgs\&.stdenv\&.cc\&.cc pkgs\&.zlib ]}\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.finalPackage\fR -.RS 4 -Resulting customized neovim package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.generatedConfigViml\fR -.RS 4 -Generated vimscript config\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.generatedConfigs\fR -.RS 4 -Generated configurations with as key their language (set via type)\&. -.sp -\fIType:\fR attribute set of strings concatenated with \[u201C]\en\[u201D] \fI(read only)\fR -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - viml = \(aq\(aq - \(dq Generated by home\-manager - map <leader> , - \(aq\(aq; - - lua = \(aq\(aq - \-\- Generated by home\-manager - vim\&.opt\&.background = \(dqdark\(dq - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.plugins\fR -.RS 4 -List of vim plugins to install optionally associated with configuration to be placed in init\&.vim\&. -.sp -This option is mutually exclusive with \fIconfigure\fP\&. -.sp -\fIType:\fR list of (package or (submodule)) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.vimPlugins; [ - yankring - vim\-nix - { plugin = vim\-startify; - config = \(dqlet g:startify_change_to_vcs_root = 0\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.viAlias\fR -.RS 4 -Symlink \fBvi\fP to \fBnvim\fP binary\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.vimAlias\fR -.RS 4 -Symlink \fBvim\fP to \fBnvim\fP binary\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.vimdiffAlias\fR -.RS 4 -Alias \fBvimdiff\fP to \fBnvim \-d\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.withNodeJs\fR -.RS 4 -Enable node provider\&. Set to \fR\(oqtrue\(cq\fP to use Node plugins\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.withPython3\fR -.RS 4 -Enable Python 3 provider\&. Set to \fR\(oqtrue\(cq\fP to use Python 3 plugins\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.neovim\&.withRuby\fR -.RS 4 -Enable ruby provider\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/neovim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.enable\fR -.RS 4 -Whether to enable the Newsboat feed reader\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.package\fR -.RS 4 -The newsboat package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.newsboat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.autoReload\fR -.RS 4 -Whether to enable automatic reloading while newsboat is running\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.browser\fR -.RS 4 -External browser to use\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\e${pkgs\&.xdg\-utils}/bin/xdg\-open\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.extraConfig\fR -.RS 4 -Extra configuration values that will be appended to the end\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.maxItems\fR -.RS 4 -Maximum number of items per feed, 0 for infinite\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.queries\fR -.RS 4 -A list of queries to use\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - foo = \(dqrssurl =\(ti \e\(dqexample\&.com\e\(dq\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.reloadThreads\fR -.RS 4 -How many threads to use for updating the feeds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.reloadTime\fR -.RS 4 -Time in minutes between reloads\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR 60 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.urls\fR -.RS 4 -List of news feeds\&. Leave it empty if you want to manage feeds imperatively, for example, using Syncthing\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - tags = [ - \(dqfoo\(dq - \(dqbar\(dq - ]; - url = \(dqhttp://example\&.com\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.urls\&.*\&.tags\fR -.RS 4 -Feed tags\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqfoo\(dq - \(dqbar\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.urls\&.*\&.title\fR -.RS 4 -Feed title\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqORF News\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.newsboat\&.urls\&.*\&.url\fR -.RS 4 -Feed URL\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqhttp://example\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/newsboat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.enable\fR -.RS 4 -Whether to enable nh, yet another Nix CLI helper\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.package\fR -.RS 4 -The nh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.clean\&.enable\fR -.RS 4 -Whether to enable periodic garbage collection for user profile and nix store with nh clean user\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.clean\&.dates\fR -.RS 4 -How often cleanup is performed\&. -.sp -The format is described in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR (optionally newline\-terminated) single\-line string -.sp -\fIDefault:\fR \(dqweekly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.clean\&.extraArgs\fR -.RS 4 -Options given to nh clean when the service is run automatically\&. -.sp -See \fR\(oqnh clean all \-\-help\(cq\fP for more information\&. -.sp -\fIType:\fR (optionally newline\-terminated) single\-line string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq\-\-keep 5 \-\-keep\-since 3d\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nh\&.flake\fR -.RS 4 -The path that will be used for the \fBFLAKE\fP environment variable\&. -.sp -\fBFLAKE\fP is used by nh as the default flake for performing actions, like \fBnh os switch\fP\&. -.sp -\fIType:\fR null or (optionally newline\-terminated) single\-line string or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nheko\&.enable\fR -.RS 4 -Whether to enable Qt desktop client for Matrix\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nheko\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nheko\&.package\fR -.RS 4 -The nheko package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.nheko -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nheko\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nheko\&.settings\fR -.RS 4 -Attribute set of Nheko preferences (converted to an INI file)\&. -.sp -For now, it is recommended to run nheko and sign\-in before filling in the configuration settings in this module, as nheko writes the access token to \fI$XDG_CONFIG_HOME/nheko/nheko\&.conf\fP the first time we sign in, and we need that data into these settings for the correct functionality of the application\&. -.sp -This a temporary inconvenience, however, as nheko has plans to move the authentication stuff into the local database they currently use\&. Once this happens, this will no longer be an issue\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general\&.disableCertificateValidation = false; - auth = { - accessToken = \(dqSECRET\(dq; - deviceId = \(dqMY_DEVICE\(dq; - homeServer = \(dqhttps://matrix\-client\&.matrix\&.org:443\(dq; - userId = \(dq@@user:matrix\&.org\(dq; - }; - settings\&.scaleFactor = 1\&.0; - sidebar\&.width = 416; - user = { - alertOnNotification = true; - animateImagesOnHover = false; - \(dqsidebar\e\eroomListWidth\(dq = 308; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nheko\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.niriswitcher\&.enable\fR -.RS 4 -Whether to enable niriswitcher, an application switcher for niri\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/niriswitcher\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.niriswitcher\&.package\fR -.RS 4 -The niriswitcher package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.niriswitcher -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/niriswitcher\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.niriswitcher\&.settings\fR -.RS 4 -niriswitcher configuration\&. For available settings see \fBhttps://github\&.com/isaksamsten/niriswitcher/?tab=readme\-ov\-file#options\fR[1]\fR\&. -.sp -\fIType:\fR null or TOML value -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - keys = { - modifier = \(dqSuper\(dq; - switch = { - next = \(dqTab\(dq; - prev = \(dqShift+Tab\(dq; - }; - }; - center_on_focus = true; - appearance = { - system_theme = \(dqdark\(dq; - icon_size = 64; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/niriswitcher\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/isaksamsten/niriswitcher/?tab=readme\-ov\-file#options -.RE -.RE -.PP -\fBprograms\&.niriswitcher\&.style\fR -.RS 4 -CSS style of the switcher\&. \fBhttps://github\&.com/isaksamsten/niriswitcher/?tab=readme\-ov\-file#themes\fR[1]\fR for the documentation\&. -.sp -If the value is set to a path literal, then the path will be used as the CSS file\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \&.application\-name { - opacity: 1; - color: rgba(255, 255, 255, 0\&.6); - } - \&.application\&.selected \&.application\-name { - color: rgba(255, 255, 255, 1); - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/niriswitcher\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/isaksamsten/niriswitcher/?tab=readme\-ov\-file#themes -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.enable\fR -.RS 4 -Whether to enable nix\-index, a file database for nixpkgs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-index\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-index\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-index\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-index\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.package\fR -.RS 4 -The nix\-index package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix\-index -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-index\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-init\&.enable\fR -.RS 4 -Whether to enable nix\-init\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-init\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-init\&.package\fR -.RS 4 -The nix\-init package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.nix\-init -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-init\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-init\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/nix\-init/config\&.toml\fP\&. See \fBhttps://github\&.com/nix\-community/nix\-init#configuration\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - maintainers = [ - \(dqfigsoda\(dq - ]; - nixpkgs = \(dq<nixpkgs>\(dq; - commit = true; - access\-tokens = { - github\&.com = \(dqghp_blahblahblah\&.\&.\&.\(dq; - gitlab\&.com = { - command = [ - \(dqsecret\-tool\(dq - \(dqor\(dq - \(dqwhatever\(dq - \(dqyou\(dq - \(dquse\(dq - ]; - }; - gitlab\&.gnome\&.org = { - file = \(dq/path/to/api/token\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-init\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/nix\-community/nix\-init#configuration -.RE -.RE -.PP -\fBprograms\&.nix\-your\-shell\&.enable\fR -.RS 4 -Whether to enable \fBnix\-your\-shell\fP, a wrapper for \fR\(oqnix develop\(cq\fP or \fR\(oqnix\-shell\(cq\fP to retain the same shell inside the new environment\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-your\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-your\-shell\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-your\-shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-your\-shell\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-your\-shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-your\-shell\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-your\-shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.nix\-your\-shell\&.package\fR -.RS 4 -The nix\-your\-shell package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix\-your\-shell -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nix\-your\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.enable\fR -.RS 4 -Whether to enable nnn\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.package\fR -.RS 4 -The nnn package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nnn -.sp -\fIExample:\fR pkgs\&.nnn\&.override { withNerdIcons = true; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.bookmarks\fR -.RS 4 -Directory bookmarks\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - d = \(dq\(ti/Documents\(dq; - D = \(dq\(ti/Downloads\(dq; - p = \(dq\(ti/Pictures\(dq; - v = \(dq\(ti/Videos\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.extraPackages\fR -.RS 4 -Extra packages available to nnn\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs; [ ffmpegthumbnailer mediainfo sxiv ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.plugins\fR -.RS 4 -Manage nnn plugins\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.plugins\&.mappings\fR -.RS 4 -Key mappings to the plugins\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - c = \(dqfzcd\(dq; - f = \(dqfinder\(dq; - v = \(dqimgview\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nnn\&.plugins\&.src\fR -.RS 4 -Path to the plugin folder\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -(pkgs\&.fetchFromGitHub { - owner = \(dqjarun\(dq; - repo = \(dqnnn\(dq; - rev = \(dqv4\&.0\(dq; - sha256 = \(dqsha256\-Hpc8YaJeAzJoEi7aJ6DntH2VLkoR6ToP6tPYn3llR7k=\(dq; -}) + \(dq/plugins\(dq; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nnn\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.noti\&.enable\fR -.RS 4 -Whether to enable Noti\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/noti\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.noti\&.package\fR -.RS 4 -The noti package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.noti -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/noti\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.noti\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/noti/noti\&.yaml\fP\&. -.sp -See \fBnoti\&.yaml\fP\fR(5)\fP\&. for the full list of options\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - say = { - voice = \(dqAlex\(dq; - }; - slack = { - token = \(dq1234567890abcdefg\(dq; - channel = \(dq@jaime\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/noti\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.enable\fR -.RS 4 -Whether to enable Notmuch mail indexer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.extraConfig\fR -.RS 4 -Options that should be appended to the notmuch configuration file\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.hooks\&.postInsert\fR -.RS 4 -Bash statements run after a message has been inserted into the database and initial tags have been applied\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.hooks\&.postNew\fR -.RS 4 -Bash statements run after new messages have been imported into the database and initial tags have been applied\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - notmuch tag +nixos \-\- tag:new and from:nixos1@discoursemail\&.com -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.hooks\&.preNew\fR -.RS 4 -Bash statements run before scanning or importing new messages into the database\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqmbsync \-\-all\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.maildir\&.synchronizeFlags\fR -.RS 4 -Whether to synchronize Maildir flags\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.new\fR -.RS 4 -Options related to email processing performed by \fBnotmuch new\fP\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.new\&.ignore\fR -.RS 4 -A list to specify files and directories that will not be searched for messages by \fBnotmuch new\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.new\&.tags\fR -.RS 4 -A list of tags that will be added to all messages incorporated by \fBnotmuch new\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqunread\(dq - \(dqinbox\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqnew\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.notmuch\&.search\&.excludeTags\fR -.RS 4 -A list of tags that will be excluded from search results by default\&. Using an excluded tag in a query will override that exclusion\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqdeleted\(dq - \(dqspam\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqtrash\(dq - \(dqspam\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/notmuch\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.numbat\&.enable\fR -.RS 4 -Whether to enable Numbat\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/numbat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.numbat\&.package\fR -.RS 4 -The numbat package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.numbat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/numbat\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.numbat\&.settings\fR -.RS 4 -Options to add to \fIconfig\&.toml\fP\&. See \fBhttps://numbat\&.dev/doc/cli\-customization\&.html#configuration\fR[1]\fR for options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - exchange\-rates = { - fetching\-policy = \(dqon\-first\-use\(dq; - }; - intro\-banner = \(dqshort\(dq; - prompt = \(dq> \(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/numbat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://numbat\&.dev/doc/cli\-customization\&.html#configuration -.RE -.RE -.PP -\fBprograms\&.nushell\&.enable\fR -.RS 4 -Whether to enable nushell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.package\fR -.RS 4 -The nushell package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.nushell -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.configFile\fR -.RS 4 -The configuration file to be used for nushell\&. -.sp -See \fBhttps://www\&.nushell\&.sh/book/configuration\&.html#configuration\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - text = \(aq\(aq - const NU_LIB_DIRS = $NU_LIB_DIRS ++ ${ - lib\&.hm\&.nushell\&.toNushell (lib\&.concatStringsSep \(dq:\(dq [ \&./scripts ]) - } - $env\&.config\&.filesize_metric = false - $env\&.config\&.table_mode = \(aqrounded\(aq - $env\&.config\&.use_ls_colors = true - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.nushell\&.sh/book/configuration\&.html#configuration -.RE -.RE -.PP -\fBprograms\&.nushell\&.configFile\&.source\fR -.RS 4 -Path of the nushell \fIconfig\&.nu\fP file to use\&. If the text option is set, it will be preferred\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.configFile\&.text\fR -.RS 4 -Text of the nushell \fIconfig\&.nu\fP file\&. If unset then the source option will be preferred\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR if source is defined, the content of source, otherwise empty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.envFile\fR -.RS 4 -The environment variables file to be used for nushell\&. -.sp -See \fBhttps://www\&.nushell\&.sh/book/configuration\&.html#configuration\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - $env\&.FOO = \(aqBAR\(aq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.nushell\&.sh/book/configuration\&.html#configuration -.RE -.RE -.PP -\fBprograms\&.nushell\&.envFile\&.source\fR -.RS 4 -Path of the nushell \fIenv\&.nu\fP file to use\&. If the text option is set, it will be preferred\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.envFile\&.text\fR -.RS 4 -Text of the nushell \fIenv\&.nu\fP file\&. If unset then the source option will be preferred\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR if source is defined, the content of source, otherwise empty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.environmentVariables\fR -.RS 4 -Environment variables to be set\&. -.sp -Inline values can be set with \fR\(oqlib\&.hm\&.nushell\&.mkNushellInline\(cq\fP\&. -.sp -\fIType:\fR attribute set of (null or (Nushell inline value) or boolean or signed integer or floating point number or string or absolute path or (attribute set of Nushell values) or (list of Nushell values)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - FOO = \(dqBAR\(dq; - LIST_VALUE = [ \(dqfoo\(dq \(dqbar\(dq ]; - PROMPT_COMMAND = lib\&.hm\&.nushell\&.mkNushellInline \(aq\(aq{|| \(dq> \(dq}\(aq\(aq; - ENV_CONVERSIONS\&.PATH = { - from_string = lib\&.hm\&.nushell\&.mkNushellInline \(dq{|s| $s | split row (char esep) }\(dq; - to_string = lib\&.hm\&.nushell\&.mkNushellInline \(dq{|v| $v | str join (char esep) }\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.extraConfig\fR -.RS 4 -Additional configuration to add to the nushell configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.extraEnv\fR -.RS 4 -Additional configuration to add to the nushell environment variables file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.extraLogin\fR -.RS 4 -Additional configuration to add to the nushell login file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.loginFile\fR -.RS 4 -The login file to be used for nushell upon logging in\&. -.sp -See \fBhttps://www\&.nushell\&.sh/book/configuration\&.html#configuring\-nu\-as\-a\-login\-shell\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - # Prints \(dqHello, World\(dq upon logging into tty1 - if (tty) == \(dq/dev/tty1\(dq { - echo \(dqHello, World\(dq - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.nushell\&.sh/book/configuration\&.html#configuring\-nu\-as\-a\-login\-shell -.RE -.RE -.PP -\fBprograms\&.nushell\&.loginFile\&.source\fR -.RS 4 -Path of the nushell \fIlogin\&.nu\fP file to use\&. If the text option is set, it will be preferred\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.loginFile\&.text\fR -.RS 4 -Text of the nushell \fIlogin\&.nu\fP file\&. If unset then the source option will be preferred\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR if source is defined, the content of source, otherwise empty -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.plugins\fR -.RS 4 -A list of nushell plugins to write to the plugin registry file\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.nushellPlugins\&.formats ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.settings\fR -.RS 4 -Nushell settings\&. These will be flattened and assigned one by one to \fR\(oq$env\&.config\(cq\fP to avoid overwriting the default or existing options\&. -.sp -For example: -.sp -.RS 4 -.nf -{ - show_banner = false; - completions\&.external = { - enable = true; - max_results = 200; - }; -} -.fi -.RE -.sp -becomes: -.sp -.RS 4 -.nf -$env\&.config\&.completions\&.external\&.enable = true -$env\&.config\&.completions\&.external\&.max_results = 200 -$env\&.config\&.show_banner = false -.fi -.RE -.sp -\fIType:\fR attribute set of (null or (Nushell inline value) or boolean or signed integer or floating point number or string or absolute path or (attribute set of Nushell values) or (list of Nushell values)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - history = { - format = \(dqsqlite\(dq; - }; - show_banner = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nushell\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - g = \(dqgit\(dq; - ll = \(dqls \-l\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nushell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nyxt\&.enable\fR -.RS 4 -Whether to enable Nyxt\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nyxt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nyxt\&.package\fR -.RS 4 -The nyxt package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.nyxt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nyxt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nyxt\&.config\fR -.RS 4 -Configuration file for Nyxt, written in the Common Lisp programming language\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - (in\-package #:nyxt\-user) - - (defvar *my\-search\-engines* - (list - (make\-instance \(aqsearch\-engine - :name \(dqGoogle\(dq - :shortcut \(dqgoo\(dq - #+nyxt\-4 :control\-url #+nyxt\-3 :search\-url - \(dqhttps://duckduckgo\&.com/?q=\(tia\(dq) - (make\-instance \(aqsearch\-engine - :name \(dqMDN\(dq - :shortcut \(dqmdn\(dq - #+nyxt\-4 :control\-url #+nyxt\-3 :search\-url - \(dqhttps://developer\&.mozilla\&.org/en\-US/search?q=\(tia\(dq))) - - (define\-configuration browser - ((restore\-session\-on\-startup\-p nil) - (default\-new\-buffer\-url (quri:uri \(dqhttps://github\&.com/atlas\-engineer/nyxt\(dq)) - (external\-editor\-program (if (member :flatpak *features*) - \(dqflatpak\-spawn \-\-host emacsclient \-r\(dq - \(dqemacsclient \-r\(dq)) - #+nyxt\-4 - (search\-engine\-suggestions\-p nil) - #+nyxt\-4 - (search\-engines (append %slot\-default% *my\-search\-engines*)) - ;; Sets the font for the Nyxt UI (not for webpages)\&. - (theme (make\-instance \(aqtheme:theme - :font\-family \(dqIosevka\(dq - :monospace\-font\-family \(dqIosevka\(dq)) - ;; Whether code sent to the socket gets executed\&. You must understand the - ;; risks before enabling this: a privileged user with access to your system - ;; can then take control of the browser and execute arbitrary code under your - ;; user profile\&. - ;; (remote\-execution\-p t) - )) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/nyxt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obs\-studio\&.enable\fR -.RS 4 -Whether to enable obs\-studio\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obs\-studio\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obs\-studio\&.package\fR -.RS 4 -The obs\-studio package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.obs\-studio -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obs\-studio\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obs\-studio\&.plugins\fR -.RS 4 -Optional OBS plugins\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.obs\-studio\-plugins\&.wlrobs ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obs\-studio\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.enable\fR -.RS 4 -Whether to enable obsidian\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.package\fR -.RS 4 -The obsidian package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.obsidian -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.app\fR -.RS 4 -Settings to write to \fR\(oqapp\&.json\(cq\fP\&. -.sp -Vault\-specific settings take priority and will override these, if set\&. -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.appearance\fR -.RS 4 -Settings to write to \fR\(oqappearance\&.json\(cq\fP\&. -.sp -Vault\-specific settings take priority and will override these, if set\&. -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.communityPlugins\fR -.RS 4 -.sp -.RS 4 -.nf - Community plugins to install and activate\&. - - Vault\-specific settings take priority and will override these, if set\&. -.fi -.RE -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.corePlugins\fR -.RS 4 -Core plugins to activate\&. -.sp -Vault\-specific settings take priority and will override these, if set\&. -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqbacklink\(dq - \(dqbookmarks\(dq - \(dqcanvas\(dq - \(dqcommand\-palette\(dq - \(dqdaily\-notes\(dq - \(dqeditor\-status\(dq - \(dqfile\-explorer\(dq - \(dqfile\-recovery\(dq - \(dqglobal\-search\(dq - \(dqgraph\(dq - \(dqnote\-composer\(dq - \(dqoutgoing\-link\(dq - \(dqoutline\(dq - \(dqpage\-preview\(dq - \(dqswitcher\(dq - \(dqtag\-pane\(dq - \(dqtemplates\(dq - \(dqword\-count\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.cssSnippets\fR -.RS 4 -.sp -.RS 4 -.nf - CSS snippets to install\&. - - Vault\-specific settings take priority and will override these, if set\&. -.fi -.RE -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.extraFiles\fR -.RS 4 -.sp -.RS 4 -.nf - Extra files to link to the vault directory\&. - - Vault\-specific settings take priority and will override these, if set\&. -.fi -.RE -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.hotkeys\fR -.RS 4 -.sp -.RS 4 -.nf - Hotkeys to configure\&. - - Vault\-specific settings take priority and will override these, if set\&. -.fi -.RE -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.defaultSettings\&.themes\fR -.RS 4 -.sp -.RS 4 -.nf - Themes to install\&. - - Vault\-specific settings take priority and will override these, if set\&. -.fi -.RE -.sp -\fIType:\fR raw value -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\fR -.RS 4 -List of vaults to create\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.enable\fR -.RS 4 -Whether this vault should be generated\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.app\fR -.RS 4 -Settings to write to app\&.json\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.appearance\fR -.RS 4 -Settings to write to appearance\&.json\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.communityPlugins\fR -.RS 4 -Community plugins to install and activate\&. -.sp -\fIType:\fR list of ((submodule) or package convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.communityPlugins\&.*\&.enable\fR -.RS 4 -Whether to enable the plugin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.communityPlugins\&.*\&.pkg\fR -.RS 4 -The plugin package\&. -.sp -\fIType:\fR package -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.communityPlugins\&.*\&.settings\fR -.RS 4 -Settings to include in the plugin\[u2019]s \fR\(oqdata\&.json\(cq\fP\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.corePlugins\fR -.RS 4 -Core plugins to activate\&. -.sp -\fIType:\fR list of ((submodule) or (one of \[u201C]audio\-recorder\[u201D], \[u201C]backlink\[u201D], \[u201C]bookmarks\[u201D], \[u201C]canvas\[u201D], \[u201C]command\-palette\[u201D], \[u201C]daily\-notes\[u201D], \[u201C]editor\-status\[u201D], \[u201C]file\-explorer\[u201D], \[u201C]file\-recovery\[u201D], \[u201C]global\-search\[u201D], \[u201C]graph\[u201D], \[u201C]markdown\-importer\[u201D], \[u201C]note\-composer\[u201D], \[u201C]outgoing\-link\[u201D], \[u201C]outline\[u201D], \[u201C]page\-preview\[u201D], \[u201C]properties\[u201D], \[u201C]publish\[u201D], \[u201C]random\-note\[u201D], \[u201C]slash\-command\[u201D], \[u201C]slides\[u201D], \[u201C]switcher\[u201D], \[u201C]sync\[u201D], \[u201C]tag\-pane\[u201D], \[u201C]templates\[u201D], \[u201C]word\-count\[u201D], \[u201C]workspaces\[u201D], \[u201C]zk\-prefixer\[u201D]) convertible to it) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqbacklink\(dq - \(dqbookmarks\(dq - \(dqcanvas\(dq - \(dqcommand\-palette\(dq - \(dqdaily\-notes\(dq - \(dqeditor\-status\(dq - \(dqfile\-explorer\(dq - \(dqfile\-recovery\(dq - \(dqglobal\-search\(dq - \(dqgraph\(dq - \(dqnote\-composer\(dq - \(dqoutgoing\-link\(dq - \(dqoutline\(dq - \(dqpage\-preview\(dq - \(dqswitcher\(dq - \(dqtag\-pane\(dq - \(dqtemplates\(dq - \(dqword\-count\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.corePlugins\&.*\&.enable\fR -.RS 4 -Whether to enable the plugin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.corePlugins\&.*\&.name\fR -.RS 4 -The plugin\&. -.sp -\fIType:\fR one of \[u201C]audio\-recorder\[u201D], \[u201C]backlink\[u201D], \[u201C]bookmarks\[u201D], \[u201C]canvas\[u201D], \[u201C]command\-palette\[u201D], \[u201C]daily\-notes\[u201D], \[u201C]editor\-status\[u201D], \[u201C]file\-explorer\[u201D], \[u201C]file\-recovery\[u201D], \[u201C]global\-search\[u201D], \[u201C]graph\[u201D], \[u201C]markdown\-importer\[u201D], \[u201C]note\-composer\[u201D], \[u201C]outgoing\-link\[u201D], \[u201C]outline\[u201D], \[u201C]page\-preview\[u201D], \[u201C]properties\[u201D], \[u201C]publish\[u201D], \[u201C]random\-note\[u201D], \[u201C]slash\-command\[u201D], \[u201C]slides\[u201D], \[u201C]switcher\[u201D], \[u201C]sync\[u201D], \[u201C]tag\-pane\[u201D], \[u201C]templates\[u201D], \[u201C]word\-count\[u201D], \[u201C]workspaces\[u201D], \[u201C]zk\-prefixer\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.corePlugins\&.*\&.settings\fR -.RS 4 -Plugin settings to include\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.cssSnippets\fR -.RS 4 -CSS snippets to install\&. -.sp -\fIType:\fR list of ((submodule) or absolute path convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.cssSnippets\&.*\&.enable\fR -.RS 4 -Whether to enable the snippet\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.cssSnippets\&.*\&.name\fR -.RS 4 -Name of the snippet\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR lib\&.strings\&.removeSuffix \(dq\&.css\(dq (builtins\&.baseNameOf source) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.cssSnippets\&.*\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.cssSnippets\&.*\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.extraFiles\fR -.RS 4 -Extra files to link to the vault directory\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.extraFiles\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.extraFiles\&.<name>\&.target\fR -.RS 4 -Path to target relative to the vault\[u2019]s directory\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.extraFiles\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.hotkeys\fR -.RS 4 -Hotkeys to configure\&. -.sp -\fIType:\fR attribute set of list of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.hotkeys\&.<name>\&.*\&.key\fR -.RS 4 -The hotkey\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.hotkeys\&.<name>\&.*\&.modifiers\fR -.RS 4 -The hotkey modifiers\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.themes\fR -.RS 4 -Themes to install\&. -.sp -\fIType:\fR list of ((submodule) or package convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.themes\&.*\&.enable\fR -.RS 4 -Whether to set the theme as active\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.settings\&.themes\&.*\&.pkg\fR -.RS 4 -The theme package\&. -.sp -\fIType:\fR package -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.obsidian\&.vaults\&.<name>\&.target\fR -.RS 4 -Path to target vault relative to the user\[u2019]s \fBHOME\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/obsidian\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.octant\&.enable\fR -.RS 4 -Whether to enable octant\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/octant\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.octant\&.package\fR -.RS 4 -The octant package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.octant -.sp -\fIExample:\fR pkgs\&.octant\-other -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/octant\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.octant\&.plugins\fR -.RS 4 -Optional Octant plugins\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.starboard\-octant\-plugin ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/octant\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.enable\fR -.RS 4 -Whether to enable OfflineIMAP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.package\fR -.RS 4 -The offlineimap package to use\&. Can be used to specify extensions\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.offlineimap -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.offlineimap\&.overridePythonAttrs ( old: { - propagatedBuildInputs = old\&.propagatedBuildInputs - ++ (with pkgs\&.python3Packages; [ - requests_oauthlib xdg gpgme]); -}) -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.extraConfig\&.default\fR -.RS 4 -Extra configuration options added to the \fBDEFAULT\fP section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gmailtrashfolder = \(dq[Gmail]/Papierkorb\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.extraConfig\&.general\fR -.RS 4 -Extra configuration options added to the \fBgeneral\fP section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - maxage = 30; - ui = \(dqblinkenlights\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.extraConfig\&.mbnames\fR -.RS 4 -Extra configuration options added to the \fR\(oqmbnames\(cq\fP section\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - filename = \(dq\(ti/\&.config/mutt/mailboxes\(dq; - header = \(dq\(aqmailboxes \(aq\(dq; - peritem = \(dq\(aq+%(accountname)s/%(foldername)s\(aq\(dq; - sep = \(dq\(aq \(aq\(dq; - footer = \(dq\(aq\e\en\(aq\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.offlineimap\&.pythonFile\fR -.RS 4 -Python code that can then be used in other parts of the configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - import subprocess - - def get_pass(service, cmd): - return subprocess\&.check_output(cmd, ) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.enable\fR -.RS 4 -Whether to enable oh\-my\-posh, a prompt theme engine for any shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.package\fR -.RS 4 -The oh\-my\-posh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.oh\-my\-posh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/oh\-my\-posh/config\&.json\fP\&. See \fBhttps://ohmyposh\&.dev/docs/configuration/overview\fR[1]\fR for details\&. The \fR\(oquseTheme\(cq\fP option is ignored when this option is used\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR builtins\&.fromJSON (builtins\&.unsafeDiscardStringContext (builtins\&.readFile \(dq${pkgs\&.oh\-my\-posh}/share/oh\-my\-posh/themes/space\&.omp\&.json\(dq)) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ohmyposh\&.dev/docs/configuration/overview -.RE -.RE -.PP -\fBprograms\&.oh\-my\-posh\&.useTheme\fR -.RS 4 -Use one of the official themes\&. This should be a name from this list: \fBhttps://ohmyposh\&.dev/docs/themes\fR[1]\fR\&. Because a theme is essentially a configuration file, this option is not used when a \fR\(oqconfigFile\(cq\fP is set\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/oh\-my\-posh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://ohmyposh\&.dev/docs/themes -.RE -.RE -.PP -\fBprograms\&.onagre\&.enable\fR -.RS 4 -Whether to enable onagre\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onagre\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onagre\&.package\fR -.RS 4 -The onagre package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.onagre -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onagre\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onagre\&.style\fR -.RS 4 -Configuration file to be written to theme\&.scss for setting Onagre\[u2019]s theme\&. The documentation can be found here: \fBhttps://github\&.com/onagre\-launcher/onagre/wiki/Theming\fR[1]\fR -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \&.onagre { - \-\-exit\-unfocused: false; - height: 250px; - width: 400px; - \-\-font\-family: \(dqIosevka,Iosevka Nerd Font\(dq; - font\-size: 18px; - background: #151515; - color: #414141; - padding: 10px; - - \&.container { - \&.rows { - \-\-height: fill\-portion 6; - \&.row\-selected { - color: #ffffff; - \-\-spacing: 3px; - } - } - - \&.scrollable { - background: #151515; - width: 0; - \&.scroller { - width: 0; - color: #151515; - } - } - } - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onagre\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/onagre\-launcher/onagre/wiki/Theming -.RE -.RE -.PP -\fBprograms\&.onedrive\&.enable\fR -.RS 4 -Whether to enable onedrive\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onedrive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onedrive\&.package\fR -.RS 4 -The onedrive package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.onedrive -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onedrive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onedrive\&.settings\fR -.RS 4 -Configuration settings for Onedrive\&. All available options can be found at \fBhttps://github\&.com/abraunegg/onedrive/blob/master/config\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - check_nomount = \(dqfalse\(dq; - check_nosync = \(dqfalse\(dq; - classify_as_big_delete = \(dq1000\(dq; - cleanup_local_files = \(dqfalse\(dq; - disable_notifications = \(dqfalse\(dq; - no_remote_delete = \(dqfalse\(dq; - rate_limit = \(dq0\(dq; - resync = \(dqfalse\(dq; - skip_dotfiles = \(dqfalse\(dq; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onedrive\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/abraunegg/onedrive/blob/master/config -.RE -.RE -.PP -\fBprograms\&.onlyoffice\&.enable\fR -.RS 4 -Whether to enable onlyoffice\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onlyoffice\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onlyoffice\&.package\fR -.RS 4 -The onlyoffice\-desktopeditors package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.onlyoffice\-desktopeditors -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onlyoffice\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.onlyoffice\&.settings\fR -.RS 4 -Configuration settings for Onlyoffice\&. -.sp -All configurable options can be deduced by enabling them through the GUI and observing the changes in \(ti/\&.config/onlyoffice/DesktopEditors\&.conf\&. -.sp -\fIType:\fR attribute set of (atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - UITheme = \(dqtheme\-contrast\-dark\(dq; - editorWindowMode = false; - forcedRtl = false; - maximized = true; - titlebar = \(dqcustom\(dq; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/onlyoffice\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.opam\&.enable\fR -.RS 4 -Whether to enable Opam\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/opam\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.opam\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/opam\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.opam\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/opam\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.opam\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/opam\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.opam\&.package\fR -.RS 4 -The opam package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.opam -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/opam\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.openstackclient\&.enable\fR -.RS 4 -Whether to enable OpenStack command\-line client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/openstackclient\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.openstackclient\&.package\fR -.RS 4 -The openstackclient package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.openstackclient -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/openstackclient\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.openstackclient\&.clouds\fR -.RS 4 -Configuration needed to connect to one or more clouds\&. -.sp -Do not include passwords here as they will be publicly readable in the Nix store\&. Configuration written to \fI$XDG_CONFIG_HOME/openstack/clouds\&.yaml\fP\&. See \fBhttps://docs\&.openstack\&.org/python\-openstackclient/latest/configuration/index\&.html#clouds\-yaml\fR[1]\fR\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my\-infra = { - cloud = \(dqexample\-cloud\(dq; - auth = { - project_id = \(dq0123456789abcdef0123456789abcdef\(dq; - username = \(dqopenstack\(dq; - }; - region_name = \(dqXXX\(dq; - interface = \(dqinternal\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/openstackclient\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.openstack\&.org/python\-openstackclient/latest/configuration/index\&.html#clouds\-yaml -.RE -.RE -.PP -\fBprograms\&.openstackclient\&.publicClouds\fR -.RS 4 -Public information about clouds\&. -.sp -Configuration written to \fI$XDG_CONFIG_HOME/openstack/clouds\-public\&.yaml\fP\&. See \fBhttps://docs\&.openstack\&.org/python\-openstackclient/latest/configuration/index\&.html#clouds\-public\-yaml\fR[1]\fR\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - example\-cloud = { - auth = { - auth_url = \(dqhttps://identity\&.cloud\&.example\&.com/v2\&.0\(dq; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/openstackclient\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.openstack\&.org/python\-openstackclient/latest/configuration/index\&.html#clouds\-public\-yaml -.RE -.RE -.PP -\fBprograms\&.pandoc\&.enable\fR -.RS 4 -Whether to enable pandoc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.package\fR -.RS 4 -The pandoc package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pandoc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.citationStyles\fR -.RS 4 -List of \&.csl files to install\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ path/to/file\&.csl ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.defaults\fR -.RS 4 -Options to set by default\&. These will be converted to JSON and written to a defaults file (see Default files in pandoc documentation)\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - metadata = { - author = \(dqJohn Doe\(dq; - }; - pdf\-engine = \(dqxelatex\(dq; - citeproc = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.defaultsFile\fR -.RS 4 -Resulting defaults file\&. -.sp -\fIType:\fR absolute path \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.finalPackage\fR -.RS 4 -Resulting package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pandoc\&.templates\fR -.RS 4 -Custom templates\&. -.sp -\fIType:\fR attribute set of absolute path -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqdefault\&.latex\(dq = path/to/your/template; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pandoc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.enable\fR -.RS 4 -Whether to enable papis\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.package\fR -.RS 4 -The papis package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.papis -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.libraries\fR -.RS 4 -Attribute set of papis libraries\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.libraries\&.<name>\&.isDefault\fR -.RS 4 -Whether this is a default library\&. -.sp -For papis to function without explicit library selection (i\&.e\&. without \fR\(oq\-l <library>\(cq\fP or \fR\(oq\-\-pick\-lib\(cq\fP flags) there must be a default library defined\&. -.sp -Note this can be also defined (or overridden) on a local \fR\(oq$(pwd)/\&.papis\&.config\(cq\fP or via python \fR\(oq$XDG_CONFIG_HOME/papis/config\&.py\(cq\fP config file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.libraries\&.<name>\&.name\fR -.RS 4 -This library\[u2019]s name\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.libraries\&.<name>\&.settings\fR -.RS 4 -Configuration for this library\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - dir = \(dq\(ti/papers/\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.papis\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/papis/config\fP\&. See \fBhttps://papis\&.readthedocs\&.io/en/latest/configuration\&.html\fR[1]\fR for supported values\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - editor = \(dqnvim\(dq; - file\-browser = \(dqranger\(dq - add\-edit = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/papis\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://papis\&.readthedocs\&.io/en/latest/configuration\&.html -.RE -.RE -.PP -\fBprograms\&.password\-store\&.enable\fR -.RS 4 -Whether to enable Password store\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/password\-store\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.password\-store\&.package\fR -.RS 4 -The pass package to use\&. Can be used to specify extensions\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pass -.sp -\fIExample:\fR pkgs\&.pass\&.withExtensions (exts: [ exts\&.pass\-otp ]) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/password\-store\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.password\-store\&.settings\fR -.RS 4 -The \fR\(oqpass\(cq\fP environment variables dictionary\&. -.sp -See the \[u201C]Environment variables\[u201D] section of \fBpass\fP\fR(1)\fP and the extension man pages for more information about the available keys\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ PASSWORD_STORE_DIR = \(dq$XDG_DATA_HOME/password\-store\(dq; } -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - PASSWORD_STORE_DIR = \(dq/some/directory\(dq; - PASSWORD_STORE_KEY = \(dq12345678\(dq; - PASSWORD_STORE_CLIP_TIME = \(dq60\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/password\-store\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.enable\fR -.RS 4 -Whether to enable pay\-respects\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.package\fR -.RS 4 -The pay\-respects package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pay\-respects -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pay\-respects\&.options\fR -.RS 4 -List of options to pass to pay\-respects <shell>\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-alias\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-alias\(dq - \(dqf\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pay\-respects\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pazi\&.enable\fR -.RS 4 -Whether to enable pazi\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pazi\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pazi\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pazi\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pazi\&.package\fR -.RS 4 -The pazi package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pazi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.enable\fR -.RS 4 -Whether to enable pet\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.package\fR -.RS 4 -The pet package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.pet -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.selectcmdPackage\fR -.RS 4 -The fzf package to use\&. The package needed for the \fIsettings\&.selectcmd\fP\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fzf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.settings\fR -.RS 4 -Settings written to \fIconfig\&.toml\fP\&. See the pet documentation for details\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.snippets\fR -.RS 4 -The snippets\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.snippets\&.*\&.command\fR -.RS 4 -The command\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqgit rev\-list \-\-count HEAD\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.snippets\&.*\&.description\fR -.RS 4 -Description of the snippet\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqCount the number of commits in the current branch\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.snippets\&.*\&.output\fR -.RS 4 -Example output of the command\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq473\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pet\&.snippets\&.*\&.tag\fR -.RS 4 -List of tags attached to the command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [\(dqgit\(dq \(dqnixpkgs\(dq] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pet\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pgcli\&.enable\fR -.RS 4 -Whether to enable pgcli\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pgcli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pgcli\&.package\fR -.RS 4 -The pgcli package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.pgcli -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pgcli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pgcli\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/pgcli/config\fP\&. See \fBhttps://www\&.pgcli\&.com/config\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - main = { - smart_completion = true; - vi = true; - }; - - \(dqnamed queries\(dq\&.simple = \(dqselect * from abc where a is not Null\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pgcli\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.pgcli\&.com/config -.RE -.RE -.PP -\fBprograms\&.pidgin\&.enable\fR -.RS 4 -Whether to enable Pidgin messaging client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pidgin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pidgin\&.package\fR -.RS 4 -The pidgin package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pidgin -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pidgin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pidgin\&.plugins\fR -.RS 4 -Plugins that should be available to Pidgin\&. -.sp -\fIType:\fR unspecified value -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.pidgin\-otr pkgs\&.pidgin\-osd ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pidgin\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.enable\fR -.RS 4 -Whether to enable file previewer for terminal file managers\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.package\fR -.RS 4 -The pistol package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.pistol -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.associations\fR -.RS 4 -Associations written to the Pistol configuration at \fI$XDG_CONFIG_HOME/pistol/pistol\&.conf\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { mime = \(dqapplication/json\(dq; command = \(dqbat %pistol\-filename%\(dq; } - { mime = \(dqapplication/*\(dq; command = \(dqhexyl %pistol\-filename%\(dq; } - { fpath = \(dq\&.*\&.md$\(dq; command = \(dqsh: bat \-\-paging=never \-\-color=always %pistol\-filename% | head \-8\(dq; } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.associations\&.*\&.command\fR -.RS 4 -Preview command for files matched by this association\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.associations\&.*\&.fpath\fR -.RS 4 -File path regex that this association should match\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pistol\&.associations\&.*\&.mime\fR -.RS 4 -Mime type regex that this association should match\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pistol\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.piston\-cli\&.enable\fR -.RS 4 -Whether to enable piston\-cli, code runner\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/piston\-cli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.piston\-cli\&.package\fR -.RS 4 -The piston\-cli package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.piston\-cli -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/piston\-cli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.piston\-cli\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/piston\-cli/config\&.yml\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = \(dqemacs\(dq; - box_style = \(dqMINIMAL_DOUBLE_HEAD\(dq; - prompt_continuation = \(dq\&.\&.\&.\(dq; - prompt_start = \(dq>>>\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/piston\-cli\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pls\&.enable\fR -.RS 4 -Whether to enable pls, a modern replacement for \fBls\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pls\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pls\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pls\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pls\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pls\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pls\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pls\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pls\&.package\fR -.RS 4 -The pls package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pls -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pls\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.poetry\&.enable\fR -.RS 4 -Whether to enable poetry\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/poetry\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.poetry\&.package\fR -.RS 4 -The poetry package to use\&. May be used to install custom poetry plugins\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.poetry -.sp -\fIExample:\fR pkgs\&.poetry\&.withPlugins (ps: with ps; [ poetry\-plugin\-up ]) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/poetry\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.poetry\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/pypoetry/config\&.toml\fP on Linux or \fI$HOME/Library/Application Support/pypoetry/config\&.toml\fP on Darwin\&. See \fBhttps://python\-poetry\&.org/docs/configuration/\fR[1]\fR for more information\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - virtualenvs\&.create = true; - virtualenvs\&.in\-project = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/poetry\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://python\-poetry\&.org/docs/configuration/ -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.enable\fR -.RS 4 -Whether to enable Powerline\-go, a beautiful and useful low\-latency prompt for your shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.extraUpdatePS1\fR -.RS 4 -Shell code to execute after the prompt is set\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - PS1=$PS1\(dqNixOS> \(dq; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.modules\fR -.RS 4 -List of module names to load\&. The list of all available modules as well as the choice of default ones are at \fBhttps://github\&.com/justjanne/powerline\-go\fR[1]\fR\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqhost\(dq - \(dqssh\(dq - \(dqcwd\(dq - \(dqgitlite\(dq - \(dqjobs\(dq - \(dqexit\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/justjanne/powerline\-go -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.modulesRight\fR -.RS 4 -List of module names to load to be displayed on the right side\&. Currently not supported by bash\&. Specifying a value for this option will force powerline\-go to use the eval format to set the prompt\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqhost\(dq - \(dqvenv\(dq - \(dqgit\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.newline\fR -.RS 4 -Set to true if the prompt should be on a line of its own\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.pathAliases\fR -.RS 4 -Pairs of full\-path and corresponding desired short name\&. You may use \[u2018]\(ti\[u2019] to represent your home directory but you should protect it to avoid shell substitution\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ \(dq\e\e\(ti/projects/home\-manager\(dq = \(dqprj:home\-manager\(dq; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.powerline\-go\&.settings\fR -.RS 4 -This can be any key/value pair as described in \fBhttps://github\&.com/justjanne/powerline\-go\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - hostname\-only\-if\-ssh = true; - numeric\-exit\-codes = true; - cwd\-max\-depth = 7; - ignore\-repos = [ \(dq/home/me/big\-project\(dq \(dq/home/me/huge\-project\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/powerline\-go\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/justjanne/powerline\-go -.RE -.RE -.PP -\fBprograms\&.pqiv\&.enable\fR -.RS 4 -Whether to enable pqiv image viewer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pqiv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pqiv\&.package\fR -.RS 4 -The pqiv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pqiv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pqiv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pqiv\&.extraConfig\fR -.RS 4 -Extra lines to be added to \fI$XDG_CONFIG_HOME/pqivrc\fP\&. See \fBpqiv\fP\fR(1)\fP for a list of available options\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[actions] -set_cursor_auto_hide(1) - -[keybindings] -t { montage_mode_enter() } -@MONTAGE { - t { montage_mode_return_cancel() } -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pqiv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pqiv\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/pqivrc\fP\&. See \fBpqiv\fP\fR(1)\fP for a list of available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - options = { - lazy\-load = true; - hide\-info\-box = true; - background\-pattern = \(dqblack\(dq; - thumbnail\-size = \(dq256x256\(dq; - command\-1 = \(dqthunar\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pqiv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ptyxis\&.enable\fR -.RS 4 -Whether to enable ptyxis\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ptyxis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ptyxis\&.package\fR -.RS 4 -The ptyxis package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ptyxis -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ptyxis\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ptyxis\&.palettes\fR -.RS 4 -Written to \fI$XDG_CONFIG_HOME/org\&.gnome\&.Prompt/palettes/NAME\&.palette\fP\&. See \fBhttps://gitlab\&.gnome\&.org/chergert/ptyxis/\-/tree/main/data/palettes\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of ((attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string))) or absolute path or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - myPalette = { - Palette\&.Name = \(dqMy awesome theme\(dq; - Light = { - Foreground=\(dq#E2E2E3\(dq; - Background=\(dq#2C2E34\(dq; - Color0=\(dq#2C2E34\(dq; - Color1=\(dq#FC5D7C\(dq; - Color2=\(dq#9ED072\(dq; - Color3=\(dq#E7C664\(dq; - Color4=\(dq#F39660\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ptyxis\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://gitlab\&.gnome\&.org/chergert/ptyxis/\-/tree/main/data/palettes -.RE -.RE -.PP -\fBprograms\&.pubs\&.enable\fR -.RS 4 -Whether to enable pubs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pubs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pubs\&.package\fR -.RS 4 -The pubs package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pubs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pubs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pubs\&.extraConfig\fR -.RS 4 -Configuration using syntax written to \fI$HOME/\&.pubsrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq -[main] -pubsdir = ${config\&.home\&.homeDirectory}/\&.pubs -docsdir = ${config\&.home\&.homeDirectory}/\&.pubs/doc -doc_add = link -open_cmd = xdg\-open - -[plugins] -active = git,alias - -[[alias]] - -[[[la]]] -command = list \-a -description = lists papers in lexicographic order - -[[git]] -quiet = True -manual = False -force_color = False -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pubs\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pyenv\&.enable\fR -.RS 4 -Whether to enable pyenv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pyenv\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pyenv\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pyenv\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.pyenv\&.package\fR -.RS 4 -The pyenv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pyenv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pyenv\&.rootDirectory\fR -.RS 4 -The pyenv root directory (\fBPYENV_ROOT\fP)\&. -.sp -.RS 4 -\fBNote\fP -.br -This deviates from upstream, which uses \fI$HOME/\&.pyenv\fP\&. The default path in Home Manager is set according to the XDG base directory specification\&. -.RE -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\e${config\&.xdg\&.dataHome}/pyenv\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pyenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pylint\&.enable\fR -.RS 4 -Whether to enable the pylint Python linter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pylint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pylint\&.package\fR -.RS 4 -The pylint package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.python3Packages\&.pylint -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pylint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pylint\&.settings\fR -.RS 4 -The pylint configuration\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a non\-empty list of them) -.sp -\fIDefault:\fR {} -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pylint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pywal\&.enable\fR -.RS 4 -Whether to enable pywal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pywal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.pywal\&.package\fR -.RS 4 -The pywal package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pywal -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/pywal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qcal\&.enable\fR -.RS 4 -Whether to enable qcal, a CLI calendar application\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qcal\&.package\fR -.RS 4 -The qcal package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.qcal -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qcal\&.defaultNumDays\fR -.RS 4 -Default number of days to show calendar entries for -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 30 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qcal\&.timezone\fR -.RS 4 -Timezone to display calendar entries in -.sp -\fIType:\fR (optionally newline\-terminated) single\-line string -.sp -\fIDefault:\fR \(dqLocal\(dq -.sp -\fIExample:\fR \(dqEurope/Vienna\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qcal\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.enable\fR -.RS 4 -Whether to enable qutebrowser\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.enableDefaultBindings\fR -.RS 4 -Disable to prevent loading default key bindings\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.package\fR -.RS 4 -The qutebrowser package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.qutebrowser -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.aliases\fR -.RS 4 -Aliases for commands\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.extraConfig\fR -.RS 4 -Extra lines added to qutebrowser \fIconfig\&.py\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.greasemonkey\fR -.RS 4 -Greasemonkey userscripts to add to qutebrowser\[u2019]s \fIgreasemonkey\fP directory\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - (pkgs\&.fetchurl { - url = \(dqhttps://raw\&.githubusercontent\&.com/afreakk/greasemonkeyscripts/1d1be041a65c251692ee082eda64d2637edf6444/youtube_sponsorblock\&.js\(dq; - sha256 = \(dqsha256\-e3QgDPa3AOpPyzwvVjPQyEsSUC9goisjBUDMxLwg8ZE=\(dq; - }) - (pkgs\&.writeText \(dqsome\-script\&.js\(dq \(aq\(aq - // ==UserScript== - // @name Some Greasemonkey script - // ==/UserScript== - \(aq\(aq) -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.keyBindings\fR -.RS 4 -Key bindings mapping keys to commands in different modes\&. This setting is a dictionary containing mode names and dictionaries mapping keys to commands: \fR\(oq{mode: {key: command}}\(cq\fP If you want to map a key to another key, check the \fR\(oqkeyMappings\(cq\fP setting instead\&. For modifiers, you can use either \fR\(oq\-\(cq\fP or \fR\(oq+\(cq\fP as delimiters, and these names: -.RS 4 -.PP -Control -.RS 4 -\fR\(oqControl\(cq\fP, \fR\(oqCtrl\(cq\fP -.RE -.PP -Meta -.RS 4 -\fR\(oqMeta\(cq\fP, \fR\(oqWindows\(cq\fP, \fR\(oqMod4\(cq\fP -.RE -.PP -Alt -.RS 4 -\fR\(oqAlt\(cq\fP, \fR\(oqMod1\(cq\fP -.RE -.PP -Shift -.RS 4 -\fR\(oqShift\(cq\fP -.RE -.RE -.sp -For simple keys (no \fR\(oq<>\(cq\fP\-signs), a capital letter means the key is pressed with Shift\&. For special keys (with \fR\(oq<>\(cq\fP\-signs), you need to explicitly add \fR\(oqShift\-\(cq\fP to match a key pressed with shift\&. If you want a binding to do nothing, bind it to the \fR\(oqnop\(cq\fP command\&. If you want a default binding to be passed through to the website, bind it to null\&. Note that some commands which are only useful for bindings (but not used interactively) are hidden from the command completion\&. See \fR\(oq:help\(cq\fP for a full list of available commands\&. The following modes are available: -.RS 4 -.PP -\fR\(oqnormal\(cq\fP -.RS 4 -Default mode, where most commands are invoked\&. -.RE -.PP -\fR\(oqinsert\(cq\fP -.RS 4 -Entered when an input field is focused on a website, or by pressing \fR\(oqi\(cq\fP in normal mode\&. Passes through almost all keypresses to the website, but has some bindings like \fR\(oq<Ctrl\-e>\(cq\fP to open an external editor\&. Note that single keys can\[u2019]t be bound in this mode\&. -.RE -.PP -\fR\(oqhint\(cq\fP -.RS 4 -Entered when \fR\(oqf\(cq\fP is pressed to select links with the keyboard\&. Note that single keys can\[u2019]t be bound in this mode\&. -.RE -.PP -\fR\(oqpassthrough\(cq\fP -.RS 4 -Similar to insert mode, but passes through all keypresses except \fR\(oq<Escape>\(cq\fP to leave the mode\&. It might be useful to bind \fR\(oq<Escape>\(cq\fP to some other key in this mode if you want to be able to send an Escape key to the website as well\&. Note that single keys can\[u2019]t be bound in this mode\&. -.RE -.PP -\fR\(oqcommand\(cq\fP -.RS 4 -Entered when pressing the \fR\(oq:\(cq\fP key in order to enter a command\&. Note that single keys can\[u2019]t be bound in this mode\&. -.RE -.PP -\fR\(oqprompt\(cq\fP -.RS 4 -Entered when there\[u2019]s a prompt to display, like for download locations or when invoked from JavaScript\&. -.RE -.PP -\fR\(oqyesno\(cq\fP -.RS 4 -Entered when there\[u2019]s a yes/no prompt displayed\&. -.RE -.PP -\fR\(oqcaret\(cq\fP -.RS 4 -Entered when pressing the \fR\(oqv\(cq\fP mode, used to select text using the keyboard\&. -.RE -.PP -\fR\(oqregister\(cq\fP -.RS 4 -Entered when qutebrowser is waiting for a register name/key for commands like \fR\(oq:set\-mark\(cq\fP\&. -.RE -.RE -.sp -\fIType:\fR attribute set of attribute set of (null or strings concatenated with \(dq ;; \(dq) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - normal = { - \(dq<Ctrl\-v>\(dq = \(dqspawn mpv {url}\(dq; - \(dq,p\(dq = \(dqspawn \-\-userscript qute\-pass\(dq; - \(dq,l\(dq = \(aq\(aqconfig\-cycle spellcheck\&.languages [\(dqen\-GB\(dq] [\(dqen\-US\(dq]\(aq\(aq; - \(dq<F1>\(dq = mkMerge [ - \(dqconfig\-cycle tabs\&.show never always\(dq - \(dqconfig\-cycle statusbar\&.show in\-mode always\(dq - \(dqconfig\-cycle scrolling\&.bar never always\(dq - ]; - }; - prompt = { - \(dq<Ctrl\-y>\(dq = \(dqprompt\-yes\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.keyMappings\fR -.RS 4 -This setting can be used to map keys to other keys\&. When the key used as dictionary\-key is pressed, the binding for the key used as dictionary\-value is invoked instead\&. This is useful for global remappings of keys, for example to map Ctrl\-[ to Escape\&. Note that when a key is bound (via \fR\(oqbindings\&.default\(cq\fP or \fR\(oqbindings\&.commands\(cq\fP), the mapping is ignored\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.loadAutoconfig\fR -.RS 4 -Load settings configured via the GUI\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.perDomainSettings\fR -.RS 4 -Options to set, as in \fR\(oqsettings\(cq\fP but per domain\&. Refer to \fBsettings\fP for details\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqzoom\&.us\(dq = { - content = { - autoplay = true; - media\&.audio_capture = true; - media\&.video_capture = true; - }; - }; - \(dqgithub\&.com\(dq\&.colors\&.webpage\&.darkmode\&.enabled = false; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.quickmarks\fR -.RS 4 -Quickmarks to add to qutebrowser\[u2019]s \fIquickmarks\fP file\&. Note that when Home Manager manages your quickmarks, you cannot edit them at runtime\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nixpkgs = \(dqhttps://github\&.com/NixOS/nixpkgs\(dq; - home\-manager = \(dqhttps://github\&.com/nix\-community/home\-manager\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.searchEngines\fR -.RS 4 -Search engines that can be used via the address bar\&. Maps a search engine name (such as \fR\(oqDEFAULT\(cq\fP, or \fR\(oqddg\(cq\fP) to a URL with a \fR\(oq{}\(cq\fP placeholder\&. The placeholder will be replaced by the search term, use \fR\(oq{{\(cq\fP and \fR\(oq}}\(cq\fP for literal \fR\(oq{/}\(cq\fP signs\&. The search engine named \fR\(oqDEFAULT\(cq\fP is used when \fR\(oqurl\&.auto_search\(cq\fP is turned on and something else than a URL was entered to be opened\&. Other search engines can be used by prepending the search engine name to the search term, for example \fR\(oq:open google qutebrowser\(cq\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - w = \(dqhttps://en\&.wikipedia\&.org/wiki/Special:Search?search={}&go=Go&ns0=1\(dq; - aw = \(dqhttps://wiki\&.archlinux\&.org/?search={}\(dq; - nw = \(dqhttps://wiki\&.nixos\&.org/index\&.php?search={}\(dq; - g = \(dqhttps://www\&.google\&.com/search?hl=en&q={}\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.qutebrowser\&.settings\fR -.RS 4 -Options to add to qutebrowser \fIconfig\&.py\fP file\&. See \fBhttps://qutebrowser\&.org/doc/help/settings\&.html\fR[1]\fR for options\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - colors = { - hints = { - bg = \(dq#000000\(dq; - fg = \(dq#ffffff\(dq; - }; - tabs\&.bar\&.bg = \(dq#000000\(dq; - }; - tabs\&.tabs_are_windows = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/qutebrowser\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://qutebrowser\&.org/doc/help/settings\&.html -.RE -.RE -.PP -\fBprograms\&.ranger\&.enable\fR -.RS 4 -Whether to enable ranger file manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.package\fR -.RS 4 -The ranger package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ranger -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.aliases\fR -.RS 4 -Aliases written to \fI$XDG_CONFIG_HOME/ranger/rc\&.conf\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - e = \(dqedit\(dq; - filter = \(dqscout \-prts\(dq; - setl = \(dqsetlocal\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fI$XDG_CONFIG_HOME/ranger/rc\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.extraPackages\fR -.RS 4 -Extra packages added to ranger\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.mappings\fR -.RS 4 -Mappings written to \fI$XDG_CONFIG_HOME/ranger/rc\&.conf\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Q = \(dqquitall\(dq; - q = \(dqquit\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.plugins\fR -.RS 4 -List of files to be added to \fI$XDG_CONFIG_HOME/ranger/plugins/\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqzoxide\(dq; - src = builtins\&.fetchGit { - url = \(dqhttps://github\&.com/jchook/ranger\-zoxide\&.git\(dq; - rev = \(dq363df97af34c96ea873c5b13b035413f56b12ead\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.plugins\&.*\&.name\fR -.RS 4 -Name of the plugin linked to \fI$XDG_CONFIG_HOME/ranger/plugins/\fP\&. In the case of a single\-file plugin, it must also have \fR\(oq\&.py\(cq\fP suffix\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.plugins\&.*\&.src\fR -.RS 4 -The plugin file or directory\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.rifle\fR -.RS 4 -Settings written to \fI$XDG_CONFIG_HOME/ranger/rifle\&.conf\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.rifle\&.*\&.command\fR -.RS 4 -A command to run for the matching file\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq${pkgs\&.vim}/bin/vim \-\- \e\(dq$@\e\(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.rifle\&.*\&.condition\fR -.RS 4 -A condition to match a file\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqmime \(hatext, label editor\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ranger\&.settings\fR -.RS 4 -Settings written to \fI$XDG_CONFIG_HOME/ranger/rc\&.conf\fP\&. -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - column_ratios = \(dq1,3,3\(dq; - confirm_on_delete = \(dqnever\(dq; - scroll_offset = 8; - unicode_ellipsis = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ranger\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbenv\&.enable\fR -.RS 4 -Whether to enable rbenv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbenv\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.rbenv\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.rbenv\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.rbenv\&.package\fR -.RS 4 -The rbenv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.rbenv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbenv\&.plugins\fR -.RS 4 -rbenv plugins to install in \fI$HOME/\&.rbenv/plugins/\fP\&. -.sp -See \fBhttps://github\&.com/rbenv/rbenv/wiki/Plugins\fR[1]\fR for the full list of plugins\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqruby\-build\(dq; - src = pkgs\&.fetchFromGitHub { - owner = \(dqrbenv\(dq; - repo = \(dqruby\-build\(dq; - rev = \(dqv20221225\(dq; - hash = \(dqsha256\-Kuq0Z1kh2mvq7rHEgwVG9XwzR5ZUtU/h8SQ7W4/mBU0=\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/rbenv/rbenv/wiki/Plugins -.RE -.RE -.PP -\fBprograms\&.rbenv\&.plugins\&.*\&.name\fR -.RS 4 -Name of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbenv\&.plugins\&.*\&.src\fR -.RS 4 -Path to the plugin folder\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbenv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.enable\fR -.RS 4 -Whether to enable rbw, a CLI Bitwarden client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.package\fR -.RS 4 -The rbw package to use\&. Package providing the \fBrbw\fP tool and its \fBrbw\-agent\fP daemon\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.rbw -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\fR -.RS 4 -rbw configuration, if not defined the configuration will not be managed by Home Manager\&. -.sp -\fIType:\fR null or (JSON value) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - email = \(dqname@example\&.com\(dq; - lock_timeout = 300; - pinentry = pkgs\&.pinentry\-gnome3; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\&.base_url\fR -.RS 4 -The base\-url for a self\-hosted bitwarden installation\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttps://bitwarden\&.example\&.com/\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\&.email\fR -.RS 4 -The email address for your bitwarden account\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqname@example\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\&.identity_url\fR -.RS 4 -The identity url for your bitwarden installation\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttps://identity\&.example\&.com/\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\&.lock_timeout\fR -.RS 4 -The amount of time that your login information should be cached\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 3600 -.sp -\fIExample:\fR 300 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rbw\&.settings\&.pinentry\fR -.RS 4 -Which pinentry interface to use\&. Beware that \fR\(oqpinentry\-gnome3\(cq\fP may not work on non\-Gnome systems\&. You can fix it by adding the following to your system configuration: -.sp -.RS 4 -.nf -services\&.dbus\&.packages = [ pkgs\&.gcr ]; -.fi -.RE -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.pinentry\-gnome3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rbw\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.enable\fR -.RS 4 -Whether to enable rclone\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.package\fR -.RS 4 -The rclone package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.rclone -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\fR -.RS 4 -An attribute set of remote configurations\&. Each remote consists of regular configuration options and optional secrets\&. -.sp -See \fBhttps://rclone\&.org/docs/\fR[1]\fR for more information on configuring specific remotes\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - b2 = { - config = { - type = \(dqb2\(dq; - hard_delete = true; - }; - secrets = { - # using sops - account = config\&.sops\&.secrets\&.b2\-acc\-id\&.path; - # using agenix - key = config\&.age\&.secrets\&.b2\-key\&.path; - }; - }; - - server\&.config = { - type = \(dqsftp\(dq; - host = \(dqserver\(dq; - user = \(dqbackup\(dq; - key_file = \(dq${home\&.homeDirectory}/\&.ssh/id_ed25519\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://rclone\&.org/docs/ -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.config\fR -.RS 4 -Regular configuration options as described in rclone\[u2019]s documentation \fBhttps://rclone\&.org/docs/\fR[1]\fR\&. When specifying options follow the formatting process outlined here \fBhttps://rclone\&.org/docs/#config\-config\-file\fR[2]\fR, namley: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Remove the leading double\-dash (\[u2013]) from the rclone option name -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Replace hyphens (\-) with underscores (_) -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Convert to lowercase -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Use the resulting string as your configuration key -.RE -.sp -For example, the rclone option \[u201C]\[u2013]mega\-hard\-delete\[u201D] would use \[u201C]hard_delete\[u201D] as the config key\&. -.sp -Security Note: Always use the \fBsecrets\fP option for sensitive data instead of the \fBconfig\fP option to prevent exposing credentials to the world\-readable Nix store\&. -.sp -\fIType:\fR An attribute set containing a remote type and options\&. -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - type = \(dqmega\(dq; # Required \- specifies the remote type - user = \(dqyou@example\&.com\(dq; - hard_delete = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://rclone\&.org/docs/ -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://rclone\&.org/docs/#config\-config\-file -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.mounts\fR -.RS 4 -An attribute set mapping remote file paths to their corresponding mount point configurations\&. -.sp -For each entry, to perform the equivalent of \fR\(oqrclone mount remote:path/to/files /path/to/local/mount\(cq\fP \[u2014] as described in the rclone documentation \fBhttps://rclone\&.org/commands/rclone_mount/\fR[1]\fR \[u2014] we create a key\-value pair like this: \fR\(oq\(dqpath/to/files/on/remote\(dq = { \&.\&.\&. }\(cq\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqpath/to/files\(dq = { - enable = true; - mountPoint = \(dq/home/alice/rclone\-mount\(dq; - options = { - dir\-cache\-time = \(dq5000h\(dq; - poll\-interval = \(dq10s\(dq; - umask = \(dq002\(dq; - user\-agent = \(dqLaptop\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://rclone\&.org/commands/rclone_mount/ -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.mounts\&.<name>\&.enable\fR -.RS 4 -Whether to enable this mount\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.mounts\&.<name>\&.mountPoint\fR -.RS 4 -A local file path specifying the location of the mount point\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/home/alice/my\-remote\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.mounts\&.<name>\&.options\fR -.RS 4 -An attribute set of option values passed to \fR\(oqrclone mount\(cq\fP\&. To set a boolean option, assign it \fR\(oqtrue\(cq\fP or \fR\(oqfalse\(cq\fP\&. See \fBhttps://nixos\&.org/manual/nixpkgs/stable/#function\-library\-lib\&.cli\&.toGNUCommandLineShell\fR[1]\fR for more details on the format\&. -.sp -Some caching options are set by default, namely \fR\(oqvfs\-cache\-mode = \(dqfull\(dq\(cq\fP and \fR\(oqcache\-dir\(cq\fP\&. These can be overridden if desired\&. -.sp -\fIType:\fR attribute set of (null or boolean or signed integer or floating point number or string) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://nixos\&.org/manual/nixpkgs/stable/#function\-library\-lib\&.cli\&.toGNUCommandLineShell -.RE -.RE -.PP -\fBprograms\&.rclone\&.remotes\&.<name>\&.secrets\fR -.RS 4 -Sensitive configuration values such as passwords, API keys, and tokens\&. These must be provided as file paths to the secrets, which will be read at activation time\&. -.sp -Note: If using secret management solutions like agenix or sops\-nix with home\-manager, you need to ensure their services are activated before switching to this home\-manager generation\&. Consider setting \fBsystemd\&.user\&.startServices\fP to \fR\(oq\(dqsd\-switch\(dq\(cq\fP for automatic service startup\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - password = \(dq/run/secrets/password\(dq; - api_key = config\&.age\&.secrets\&.api\-key\&.path; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rclone\&.writeAfter\fR -.RS 4 -Controls when the rclone configuration is written during Home Manager activation\&. You should not need to change this unless you have very specific activation order requirements\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqreloadSystemd\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rclone\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.readline\&.enable\fR -.RS 4 -Whether to enable readline\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/readline\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.readline\&.bindings\fR -.RS 4 -Readline bindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ \(dq\e\eC\-h\(dq = \(dqbackward\-kill\-word\(dq; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/readline\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.readline\&.extraConfig\fR -.RS 4 -Configuration lines appended unchanged to the end of the \fI\(ti/\&.inputrc\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/readline\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.readline\&.includeSystemConfig\fR -.RS 4 -Whether to include the system\-wide configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/readline\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.readline\&.variables\fR -.RS 4 -Readline customization variable assignments\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - expand\-tilde = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/readline\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rio\&.enable\fR -.RS 4 -Enable Rio, a terminal built to run everywhere, as a native desktop applications by Rust/WebGPU or even in the browsers powered by WebAssembly/WebGPU\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rio\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rio\&.package\fR -.RS 4 -The rio package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.rio -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rio\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rio\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/rio/config\&.toml\fP\&. See \fBhttps://raphamorim\&.io/rio/docs/#configuration\-file\fR[1]\fR for options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rio\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://raphamorim\&.io/rio/docs/#configuration\-file -.RE -.RE -.PP -\fBprograms\&.ripgrep\&.enable\fR -.RS 4 -Whether to enable Ripgrep\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\&.package\fR -.RS 4 -The ripgrep package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ripgrep -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\&.arguments\fR -.RS 4 -List of arguments to pass to ripgrep\&. Each item is given to ripgrep as a single command line argument verbatim\&. -.sp -See \fBhttps://github\&.com/BurntSushi/ripgrep/blob/master/GUIDE\&.md#configuration\-file\fR[1]\fR for an example configuration\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-max\-columns\-preview\(dq - \(dq\-\-colors=line:style:bold\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/BurntSushi/ripgrep/blob/master/GUIDE\&.md#configuration\-file -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.enable\fR -.RS 4 -Whether to enable ripgrep\-all (rga)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.package\fR -.RS 4 -The ripgrep\-all package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ripgrep\-all -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\fR -.RS 4 -Custom adapters that invoke external preprocessing scripts\&. See <link xlink:href=\[u201C]https://github\&.com/phiresky/ripgrep\-all/wiki#custom\-adapters\[u201D]/>\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.args\fR -.RS 4 -The output path hint; the placeholders are the same as for rga\[u2019]s \fR\(oqargs\(cq\fP -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.binary\fR -.RS 4 -The path of the binary to run -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.description\fR -.RS 4 -A description of this adapter; shown in rga\[u2019]s help -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.disabled_by_default\fR -.RS 4 -If true, the adapter will be disabled by default -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.extensions\fR -.RS 4 -The file extensions this adapter supports -.sp -\fIType:\fR list of string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpdf\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.match_only_by_mime\fR -.RS 4 -if \-\-rga\-accurate, only match by mime types, ignore extensions completely -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.mimetypes\fR -.RS 4 -If not null and \-\-rga\-accurate is enabled, mime type matching is used instead of file name matching -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqapplication/pdf\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.name\fR -.RS 4 -The unique identifier and name of this adapter; must only include a\-z, 0\-9, _ -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.output_path_hint\fR -.RS 4 -Setting this is useful if the output format is not plain text (\&.txt) but instead some other format that should be passed to another adapter -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq$\e${input_virtual_path}\&.txt\&.asciipagebreaks\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ripgrep\-all\&.custom_adapters\&.*\&.version\fR -.RS 4 -The version identifier used to key cache entries; change if the configuration or program changes -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ripgrep\-all\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rmpc\&.enable\fR -.RS 4 -Whether to enable rmpc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rmpc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rmpc\&.package\fR -.RS 4 -The rmpc package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.rmpc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rmpc\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rmpc\&.config\fR -.RS 4 -Configuration settings for rmpc in the Rusty Object Notation format\&. All available options can be found in the official documentation at \fBhttps://mierak\&.github\&.io/rmpc/next/configuration/\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - ( - address: \(dq127\&.0\&.0\&.1:6600\(dq, - password: None, - theme: None, - cache_dir: None, - on_song_change: None, - volume_step: 5, - max_fps: 30, - scrolloff: 0, - wrap_navigation: false, - enable_mouse: true, - enable_config_hot_reload: true, - status_update_interval_ms: 1000, - select_current_song_on_change: false, - browser_song_sort: [Disc, Track, Artist, Title], - ) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rmpc\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://mierak\&.github\&.io/rmpc/next/configuration/ -.RE -.RE -.PP -\fBprograms\&.rofi\&.enable\fR -.RS 4 -Whether to enable Rofi: A window switcher, application launcher and dmenu replacement\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.package\fR -.RS 4 -The rofi package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.rofi -.sp -\fIExample:\fR pkgs\&.rofi\&.override { plugins = [ pkgs\&.rofi\-emoji ]; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.configPath\fR -.RS 4 -Path where to put generated configuration file\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$XDG_CONFIG_HOME/rofi/config\&.rasi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.cycle\fR -.RS 4 -Whether to cycle through the results list\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR (attribute set of (string or signed integer or boolean or (Rasi literal string) or list of (string or signed integer or boolean or (Rasi literal string)))) or string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - kb\-primary\-paste = \(dqControl+V,Shift+Insert\(dq; - kb\-secondary\-paste = \(dqControl+v,Insert\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.finalPackage\fR -.RS 4 -Resulting customized rofi package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.font\fR -.RS 4 -Font to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqDroid Sans Mono 14\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.location\fR -.RS 4 -The location rofi appears on the screen\&. -.sp -\fIType:\fR one of \[u201C]bottom\[u201D], \[u201C]bottom\-left\[u201D], \[u201C]bottom\-right\[u201D], \[u201C]center\[u201D], \[u201C]left\[u201D], \[u201C]right\[u201D], \[u201C]top\[u201D], \[u201C]top\-left\[u201D], \[u201C]top\-right\[u201D] -.sp -\fIDefault:\fR \(dqcenter\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.modes\fR -.RS 4 -Modes to enable\&. For custom modes see \fR\(oqman 5 rofi\-script\(cq\fP\&. -.sp -\fIType:\fR list of (string or (submodule)) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqdrun\(dq - \(dqemoji\(dq - \(dqssh\(dq - { - name = \(dqwhatnot\(dq; - path = lib\&.getExe pkgs\&.rofi\-whatnot; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.pass\&.enable\fR -.RS 4 -Whether to enable rofi integration with password\-store\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\-pass\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.pass\&.package\fR -.RS 4 -The rofi\-pass package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.rofi\-pass -.sp -\fIExample:\fR pkgs\&.rofi\-pass\-wayland -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\-pass\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.pass\&.extraConfig\fR -.RS 4 -Extra configuration to be added at to the rofi\-pass config file\&. Additional examples can be found at \fBhttps://github\&.com/carnager/rofi\-pass/blob/master/config\&.example\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - URL_field=\(aqurl\(aq - USERNAME_field=\(aquser\(aq - AUTOTYPE_field=\(aqautotype\(aq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\-pass\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/carnager/rofi\-pass/blob/master/config\&.example -.RE -.RE -.PP -\fBprograms\&.rofi\&.pass\&.stores\fR -.RS 4 -Directory roots of your password\-stores\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\-pass\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.plugins\fR -.RS 4 -List of rofi plugins to be installed\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.rofi\-calc ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.terminal\fR -.RS 4 -Path to the terminal which will be used to run console applications -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\e${pkgs\&.gnome\&.gnome_terminal}/bin/gnome\-terminal\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.theme\fR -.RS 4 -Name of theme or path to theme file in rasi format or attribute set with theme configuration\&. Available named themes can be viewed using the \fBrofi\-theme\-selector\fP tool\&. -.sp -\fIType:\fR null or string or absolute path or attribute set of ((attribute set of (string or signed integer or boolean or (Rasi literal string) or list of (string or signed integer or boolean or (Rasi literal string)))) or string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -let - # Use \(gamkLiteral\(ga for string\-like values that should show without - # quotes, e\&.g\&.: - # { - # foo = \(dqabc\(dq; => foo: \(dqabc\(dq; - # bar = mkLiteral \(dqabc\(dq; => bar: abc; - # }; - inherit (config\&.lib\&.formats\&.rasi) mkLiteral; -in { - \(dq*\(dq = { - background\-color = mkLiteral \(dq#000000\(dq; - foreground\-color = mkLiteral \(dqrgba ( 250, 251, 252, 100 % )\(dq; - border\-color = mkLiteral \(dq#FFFFFF\(dq; - width = 512; - }; - - \(dq#inputbar\(dq = { - children = map mkLiteral [ \(dqprompt\(dq \(dqentry\(dq ]; - }; - - \(dq#textbox\-prompt\-colon\(dq = { - expand = false; - str = \(dq:\(dq; - margin = mkLiteral \(dq0px 0\&.3em 0em 0em\(dq; - text\-color = mkLiteral \(dq@foreground\-color\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.xoffset\fR -.RS 4 -Offset in the x\-axis in pixels relative to the chosen location\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rofi\&.yoffset\fR -.RS 4 -Offset in the y\-axis in pixels relative to the chosen location\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rtorrent\&.enable\fR -.RS 4 -Whether to enable rTorrent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rtorrent\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rtorrent\&.package\fR -.RS 4 -The rtorrent package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.rtorrent -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rtorrent\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.rtorrent\&.extraConfig\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/rtorrent/rtorrent\&.rc\fP\&. See \fBhttps://github\&.com/rakshasa/rtorrent/wiki/Config\-Guide\fR[1]\fR for explanation about possible values\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/rtorrent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/rakshasa/rtorrent/wiki/Config\-Guide -.RE -.RE -.PP -\fBprograms\&.ruff\&.enable\fR -.RS 4 -Whether to enable ruff, an extremely fast Python linter and code formatter, written in Rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ruff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ruff\&.package\fR -.RS 4 -The ruff package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.ruff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ruff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ruff\&.settings\fR -.RS 4 -Ruff configuration\&. For available settings see \fBhttps://docs\&.astral\&.sh/ruff/settings\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - line\-length = 100; - per\-file\-ignores = { \(dq__init__\&.py\(dq = [ \(dqF401\(dq ]; }; - lint = { - select = [ \(dqE4\(dq \(dqE7\(dq \(dqE9\(dq \(dqF\(dq ]; - ignore = [ ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ruff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.astral\&.sh/ruff/settings -.RE -.RE -.PP -\fBprograms\&.sagemath\&.enable\fR -.RS 4 -Whether to enable SageMath, a mathematics software system\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sagemath\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sagemath\&.package\fR -.RS 4 -The sage package to use\&. The SageMath package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sage -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sagemath\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sagemath\&.configDir\fR -.RS 4 -Directory where the \fIsage\&.init\fP file will be stored\&. Note that the upstream default is \fI\(ti/\&.sage\fP, but our default is to follow XDG\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR ${config\&.xdg\&.configHome}/sage -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sagemath\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sagemath\&.dataDir\fR -.RS 4 -Location for \fBDOT_SAGE\fP\&. Note that the upstream default is \fI\(ti/\&.sage\fP, but our default is to follow XDG\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR ${config\&.xdg\&.dataHome}/sage -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sagemath\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sagemath\&.initScript\fR -.RS 4 -Contents of the \fIinit\&.sage\fP file that is loaded on startup\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq%colors linux\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sagemath\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.enable\fR -.RS 4 -Whether to enable Sapling\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.package\fR -.RS 4 -The sapling package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sapling -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.aliases\fR -.RS 4 -Sapling aliases to define\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.userEmail\fR -.RS 4 -Default user email to use\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sapling\&.userName\fR -.RS 4 -Default user name to use\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sapling\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.enable\fR -.RS 4 -Whether to enable sbt\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.package\fR -.RS 4 -The sbt package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sbt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.baseUserConfigPath\fR -.RS 4 -Where the sbt configuration files should be located, relative \fBHOME\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\&.sbt\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.credentials\fR -.RS 4 -A list of credentials to define in the sbt configuration directory\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[{ - realm = \(dqSonatype Nexus Repository Manager\(dq; - host = \(dqexample\&.com\(dq; - user = \(dquser\(dq; - passwordCommand = \(dqpass show sbt/user@example\&.com\(dq; -}] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.credentials\&.*\&.host\fR -.RS 4 -The hostname of the repository you\[u2019]re authenticating to\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.credentials\&.*\&.passwordCommand\fR -.RS 4 -The command that provides the password or authentication token for the repository\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.credentials\&.*\&.realm\fR -.RS 4 -The realm of the repository you\[u2019]re authenticating to\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.credentials\&.*\&.user\fR -.RS 4 -The user you\[u2019]re using to authenticate\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.plugins\fR -.RS 4 -A list of plugins to place in the sbt configuration directory\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - org = \(dqnet\&.virtual\-void\(dq; - artifact = \(dqsbt\-dependency\-graph\(dq; - version = \(dq0\&.10\&.0\-RC1\(dq; - } - { - org = \(dqcom\&.dwijnand\(dq; - artifact = \(dqsbt\-project\-graph\(dq; - version = \(dq0\&.4\&.0\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.plugins\&.*\&.artifact\fR -.RS 4 -The name of the artifact\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.plugins\&.*\&.org\fR -.RS 4 -The organization the artifact is published under\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.plugins\&.*\&.version\fR -.RS 4 -The version of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.pluginsExtra\fR -.RS 4 -A list of extra commands to put in plugins conf file\&. Use it in last resort when you can\[u2019]t use the \fR\(oqplugins\(cq\fP option\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqaddDependencyTreePlugin\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sbt\&.repositories\fR -.RS 4 -A list of repositories to use when resolving dependencies\&. Defined as a list of pre\-defined repository or custom repository as a set of name to URL\&. The list will be used populate the \fR\(oq\(ti/\&.sbt/repositories\(cq\fP file in the order specified\&. -.sp -Pre\-defined repositories must be one of \fR\(oqlocal\(cq\fP, \fR\(oqmaven\-local\(cq\fP, \fR\(oqmaven\-central\(cq\fP\&. -.sp -Custom repositories are defined as \fR\(oq{ name\-of\-repo = \(dqhttps://url\&.to\&.repo\&.com\(dq}\(cq\fP\&. -.sp -See \fBhttps://www\&.scala\-sbt\&.org/1\&.x/docs/Launcher\-Configuration\&.html#3\&.+Repositories+Section\fR[1]\fR about this configuration section and \fBhttps://www\&.scala\-sbt\&.org/1\&.x/docs/Proxy\-Repositories\&.html\fR[2]\fR to read about proxy repositories\&. -.sp -\fIType:\fR list of (one of \[u201C]local\[u201D], \[u201C]maven\-central\[u201D], \[u201C]maven\-local\[u201D] or attribute set of string) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqlocal\(dq - { my\-ivy\-proxy\-releases = \(dqhttp://repo\&.company\&.com/ivy\-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](\-[classifier])\&.[ext]\(dq } - { my\-maven\-proxy\-releases = \(dqhttp://repo\&.company\&.com/maven\-releases/\(dq } - \(dqmaven\-central\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sbt\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.scala\-sbt\&.org/1\&.x/docs/Launcher\-Configuration\&.html#3\&.+Repositories+Section -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://www\&.scala\-sbt\&.org/1\&.x/docs/Proxy\-Repositories\&.html -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.enable\fR -.RS 4 -Whether to enable scmpuff, a command line tool that allows you to work quicker with Git by substituting numeric shortcuts for files\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.enableAliases\fR -.RS 4 -Whether to enable aliases (e\&.g\&. gs, ga, gd, gco)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.scmpuff\&.package\fR -.RS 4 -The scmpuff package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.scmpuff -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/scmpuff\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.script\-directory\&.enable\fR -.RS 4 -Whether to enable script\-directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/script\-directory\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.script\-directory\&.package\fR -.RS 4 -The script\-directory package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.script\-directory -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/script\-directory\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.script\-directory\&.settings\fR -.RS 4 -script\-directory config, for options take a look at the \fBdocumentation\fR[1]\fR -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - SD_ROOT = \(dq${config\&.home\&.homeDirectory}/\&.sd\(dq; - SD_EDITOR = \(dqnvim\(dq; - SD_CAT = \(dqlolcat\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/script\-directory\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ianthehenry/sd#options -.RE -.RE -.PP -\fBprograms\&.senpai\&.enable\fR -.RS 4 -Whether to enable senpai\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.package\fR -.RS 4 -The senpai package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.senpai -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.config\fR -.RS 4 -Configuration for senpai\&. For a complete list of options, see \fBsenpai\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - address = \(dqlibera\&.chat:6697\(dq; - nickname = \(dqnicholas\(dq; - password = \(dqverysecurepassword\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.config\&.address\fR -.RS 4 -The address (\fR\(oqhost[:port]\(cq\fP) of the IRC server\&. senpai uses TLS connections by default unless you specify tls option to be false\&. TLS connections default to port 6697, plain\-text use port 6667\&. -.sp -UR\fR\(oqircs://\(cq\fP, \fR\(oqirc://\(cq\fP, and \fR\(oqirc+insecure://\(cq\fP URLs are supported, in which case only the hostname and port parts will be used\&. If the scheme is \fR\(oqircs/irc+insecure\(cq\fP, tls will be overriden and set to true/false accordingly\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.config\&.nickname\fR -.RS 4 -Your nickname, sent with a NICK IRC message\&. It mustn\[u2019]t contain spaces or colons (:)\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.config\&.password\fR -.RS 4 -Your password, used for SASL authentication\&. Note that it will reside world\-readable in the Nix store\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.senpai\&.config\&.password\-cmd\fR -.RS 4 -Alternatively to providing your SASL authentication password directly in plaintext, you can specify a command to be run to fetch the password at runtime\&. This is useful if you store your passwords in a separate (probably encrypted) file using \fR\(oqgpg\(cq\fP or a command line password manager such as \fR\(oqpass\(cq\fP or \fR\(oqgopass\(cq\fP\&. If a password\-cmd is provided, the value of password will be ignored and the first line of the output of \fR\(oqpassword\-cmd\(cq\fP will be used for login\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqgopass\(dq - \(dqshow\(dq - \(dqirc/guest\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/senpai\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.enable\fR -.RS 4 -Whether to enable the sesh terminal session manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.enableAlias\fR -.RS 4 -Whether to enable a shell alias \fR\(oqs\(cq\fP to quickly launch sessions\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.enableTmuxIntegration\fR -.RS 4 -Enable Tmux integration with sesh\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.package\fR -.RS 4 -The sesh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sesh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.fzfPackage\fR -.RS 4 -The fzf package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fzf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.icons\fR -.RS 4 -Display icons next to results (\fB\-\-icons\fP argument)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.settings\fR -.RS 4 -Configuration for sesh, written to \fR\(oq\(ti/\&.config/sesh/sesh\&.toml\(cq\fP\&. -.sp -See the \fBsesh documentation\fR[1]\fR for available options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/joshmedeski/sesh#configuration -.RE -.RE -.PP -\fBprograms\&.sesh\&.tmuxKey\fR -.RS 4 -Keybinding for invoking sesh in Tmux\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sesh\&.zoxidePackage\fR -.RS 4 -The zoxide package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.zoxide -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sesh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.enable\fR -.RS 4 -Whether to enable sftpman, an application that handles sshfs/sftp file systems mounting\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.package\fR -.RS 4 -The sftpman package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sftpman -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.defaultSshKey\fR -.RS 4 -Path to the SSH key to be used by default\&. Can be overridden per host\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\fR -.RS 4 -The sshfs mount configurations written to \fI$XDG_CONFIG_HOME/sftpman/mounts/\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.authType\fR -.RS 4 -The authentication method to use\&. -.sp -\fIType:\fR one of \[u201C]password\[u201D], \[u201C]publickey\[u201D], \[u201C]hostbased\[u201D], \[u201C]keyboard\-interactive\[u201D], \[u201C]gssapi\-with\-mic\[u201D] -.sp -\fIDefault:\fR \(dqpublickey\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.beforeMount\fR -.RS 4 -Command to run before mounting\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqtrue\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.host\fR -.RS 4 -The host to connect to\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.mountOptions\fR -.RS 4 -Options to pass to sshfs\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.mountPoint\fR -.RS 4 -The remote path to mount\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.port\fR -.RS 4 -The port to connect to\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 22 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.sshKey\fR -.RS 4 -Path to the SSH key to use for authentication\&. Only applies if authMethod is \fR\(oqpublickey\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR config\&.programs\&.sftpman\&.defaultSshKey -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sftpman\&.mounts\&.<name>\&.user\fR -.RS 4 -The username to authenticate with\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sftpman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sioyek\&.enable\fR -.RS 4 -Whether to enable Sioyek, a PDF viewer designed for reading research papers and technical books\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sioyek\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sioyek\&.package\fR -.RS 4 -The sioyek package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sioyek -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sioyek\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sioyek\&.bindings\fR -.RS 4 -Input configuration written to \fI$XDG_CONFIG_HOME/sioyek/keys_user\&.config\fP\&. See \fBhttps://github\&.com/ahrm/sioyek/blob/main/pdf_viewer/keys\&.config\fR[1]\fR\&. -.sp -Each attribute could also accept a list of strings to set multiple bindings of the same command\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmove_up\(dq = \(dqk\(dq; - \(dqmove_down\(dq = \(dqj\(dq; - \(dqmove_left\(dq = \(dqh\(dq; - \(dqmove_right\(dq = \(dql\(dq; - \(dqscreen_down\(dq = [ \(dqd\(dq \(dq<C\-d>\(dq ]; - \(dqscreen_up\(dq = [ \(dqu\(dq \(dq<C\-u>\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sioyek\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ahrm/sioyek/blob/main/pdf_viewer/keys\&.config -.RE -.RE -.PP -\fBprograms\&.sioyek\&.config\fR -.RS 4 -Input configuration written to \fI$XDG_CONFIG_HOME/sioyek/prefs_user\&.config\fP\&. See \fBhttps://github\&.com/ahrm/sioyek/blob/main/pdf_viewer/prefs\&.config\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbackground_color\(dq = \(dq1\&.0 1\&.0 1\&.0\(dq; - \(dqtext_highlight_color\(dq = \(dq1\&.0 0\&.0 0\&.0\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sioyek\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ahrm/sioyek/blob/main/pdf_viewer/prefs\&.config -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.enable\fR -.RS 4 -Whether to enable sketchybar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.package\fR -.RS 4 -The sketchybar package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sketchybar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.config\fR -.RS 4 -The sketchybar configuration\&. Can be specified as: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -A string containing the configuration content directly -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -An attribute set with \[u2018]source\[u2019] pointing to a directory containing the full configuration, and optionally \[u2018]recursive = true\[u2019] to recursively copy all files -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -An attribute set with \[u2018]text\[u2019] containing inline configuration -.RE -.sp -When using a string or \[u2018]text\[u2019], the appropriate shebang will be automatically added based on configType (bash or lua)\&. -.sp -When using a directory source, it should contain a file named \[u201C]sketchybarrc\[u201D] which serves as the main entry point\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -# String example \- inline configuration -\(aq\(aq -# Define colors -export COLOR_BLACK=\(dq0xff181926\(dq -export COLOR_WHITE=\(dq0xffcad3f5\(dq - -# Configure bar -sketchybar \-\-bar height=32 \e - position=top \e - padding_left=10 \e - padding_right=10 \e - color=$COLOR_BLACK - -# Configure default values -sketchybar \-\-default icon\&.font=\(dqSF Pro:Bold:14\&.0\(dq \e - icon\&.color=$COLOR_WHITE \e - label\&.font=\(dqSF Pro:Bold:14\&.0\(dq \e - label\&.color=$COLOR_WHITE - -# Add items to the bar -sketchybar \-\-add item clock right \e - \-\-set clock script=\(dqdate \(aq+%H:%M\(aq\(dq \e - update_freq=10 - -# Update the bar -sketchybar \-\-update -\(aq\(aq - -# Or directory example \- for complex configurations -# { -# source = \&./path/to/sketchybar\-config; -# recursive = true; -# } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.configType\fR -.RS 4 -The type of configuration to generate\&. -.sp -Set to \[u201C]bash\[u201D] to use the standard bash configuration\&. Set to \[u201C]lua\[u201D] to use the Lua configuration via SbarLua\&. -.sp -\fIType:\fR one of \[u201C]bash\[u201D], \[u201C]lua\[u201D] -.sp -\fIDefault:\fR \(dqbash\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.extraLuaPackages\fR -.RS 4 -The extra Lua packages required for your plugins to work\&. This option accepts a function that takes a Lua package set as an argument, and selects the required Lua packages from this package set\&. See the example for more info\&. -.sp -\fIType:\fR function that evaluates to a(n) list of package -.sp -\fIDefault:\fR ps: [ ] -.sp -\fIExample:\fR luaPkgs: with luaPkgs; [ luautf8 ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.extraPackages\fR -.RS 4 -Extra packages to add to PATH for the sketchybar service\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.jq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.includeSystemPath\fR -.RS 4 -Whether to include common system \fR\(oqPATH\(cq\fP in the wrapper\&. This allows sketchybar to access system binaries\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.luaPackage\fR -.RS 4 -The lua5_4 package to use\&. Lua interpreter to use when configType is lua\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.lua5_4 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.sbarLuaPackage\fR -.RS 4 -The sbarlua package to use\&. Required when using a lua configuration\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sbarlua -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.service\&.enable\fR -.RS 4 -Whether to enable sketchybar service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.service\&.errorLogFile\fR -.RS 4 -Absolute path to log all stderr output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/sketchybar/sketchybar\&.err\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/sketchybar\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sketchybar\&.service\&.outLogFile\fR -.RS 4 -Absolute path to log all stdout output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/sketchybar/sketchybar\&.out\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/sketchybar\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sketchybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.enable\fR -.RS 4 -Whether to enable skim \- a command\-line fuzzy finder\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.skim\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.skim\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.skim\&.package\fR -.RS 4 -The skim package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.skim -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.changeDirWidgetCommand\fR -.RS 4 -The command that gets executed as the source for skim for the ALT\-C keybinding\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type d\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.changeDirWidgetOptions\fR -.RS 4 -Command line options for the ALT\-C keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-preview \(aqtree \-C {} | head \-200\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.defaultCommand\fR -.RS 4 -The command that gets executed as the default source for skim when running\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.defaultOptions\fR -.RS 4 -Extra command line options given to skim by default\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-height 40%\(dq - \(dq\-\-prompt \[u27EB]\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.fileWidgetCommand\fR -.RS 4 -The command that gets executed as the source for skim for the CTRL\-T keybinding\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfd \-\-type f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.fileWidgetOptions\fR -.RS 4 -Command line options for the CTRL\-T keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-preview \(aqhead {}\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.skim\&.historyWidgetOptions\fR -.RS 4 -Command line options for the CTRL\-R keybinding\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-tac\(dq - \(dq\-\-exact\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/skim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.enable\fR -.RS 4 -Whether to enable sm64ex\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.package\fR -.RS 4 -The sm64ex package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sm64ex -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.baserom\fR -.RS 4 -The path to the Super Mario 64 baserom to extract assets from\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR /home/foo/baserom\&.us\&.z64 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.extraCompileFlags\fR -.RS 4 -Extra flags to pass to the compiler\&. See \fBhttps://github\&.com/sm64pc/sm64ex/wiki/Build\-options\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqBETTERCAMERA=1\(dq - \(dqNODRAWINGDISTANCE=1\(dq -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/sm64pc/sm64ex/wiki/Build\-options -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.region\fR -.RS 4 -Your baserom\[u2019]s region\&. Note that only \[u201C]us\[u201D], \[u201C]eu\[u201D], and \[u201C]jp\[u201D] are supported\&. -.sp -\fIType:\fR null or one of \[u201C]us\[u201D], \[u201C]eu\[u201D], \[u201C]jp\[u201D] -.sp -\fIDefault:\fR us -.sp -\fIExample:\fR jp -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sm64ex\&.settings\fR -.RS 4 -Settings for sm64ex\[u2019]s \fI$XDG_DATA_HOME/sm64pc/sm64config\&.txt\fP file\&. -.sp -\fIType:\fR null or (attribute set of (string or signed integer or boolean or list of string)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - fullscreen = false; - window_x = 0; - window_y = 0; - window_w = 1920; - window_h = 1080; - vsync = 1; - texture_filtering = 1; - master_volume = 127; - music_volume = 127; - sfx_volume = 127; - env_volume = 127; - key_a = [ \(dq0026\(dq \(dq1000\(dq \(dq1103\(dq ]; - key_b = [ \(dq0033\(dq \(dq1002\(dq \(dq1101\(dq ]; - key_start = [ \(dq0039\(dq \(dq1006\(dq \(dqffff\(dq ]; - key_l = [ \(dq0034\(dq \(dq1007\(dq \(dq1104\(dq ]; - key_r = [ \(dq0036\(dq \(dq100a\(dq \(dq1105\(dq ]; - key_z = [ \(dq0025\(dq \(dq1009\(dq \(dq1102\(dq ]; - key_cup = [ \(dq100b\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_cdown = [ \(dq100c\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_cleft = [ \(dq100d\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_cright = [ \(dq100e\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_stickup = [ \(dq0011\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_stickdown = [ \(dq001f\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_stickleft = [ \(dq001e\(dq \(dqffff\(dq \(dqffff\(dq ]; - key_stickright = [ \(dq0020\(dq \(dqffff\(dq \(dqffff\(dq ]; - stick_deadzone = 16; - rumble_strength = 10; - skip_intro = 1; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sm64ex\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.enable\fR -.RS 4 -Whether to enable Smug session manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.package\fR -.RS 4 -The smug package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.smug -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\fR -.RS 4 -Attribute set with project configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.beforeStart\fR -.RS 4 -Commands to execute before the tmux\-session starts\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.env\fR -.RS 4 -Environment Variables to set in session\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.root\fR -.RS 4 -Root path in filesystem of the smug project\&. This is where tmux changes its directory to\&. -.sp -Application defaults to \fR\(oq$HOME\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.stop\fR -.RS 4 -Commands to execute after the tmux\-session is destroyed\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\fR -.RS 4 -Windows to create in the project session -.sp -\fIType:\fR list of (submodule) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.commands\fR -.RS 4 -Commands to execute when window starts\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.layout\fR -.RS 4 -Layout of window when opening panes\&. -.sp -\fIType:\fR one of \[u201C]main\-horizontal\[u201D], \[u201C]main\-vertical\[u201D], \[u201C]even\-vertical\[u201D], \[u201C]even\-horizontal\[u201D], \[u201C]tiled\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.manual\fR -.RS 4 -Start window only manually, using the \-w arg -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.name\fR -.RS 4 -Name of the tmux window; -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.panes\fR -.RS 4 -Panes to open in a window\&. -.sp -\fIType:\fR null or (list of (submodule)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.panes\&.*\&.commands\fR -.RS 4 -Commands to execute when pane starts\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.panes\&.*\&.root\fR -.RS 4 -Root path of pane\&. This is relative to the path of the smug project\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.panes\&.*\&.type\fR -.RS 4 -Type of pane\&. -.sp -\fIType:\fR one of \[u201C]horizontal\[u201D], \[u201C]vertical\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.smug\&.projects\&.<name>\&.windows\&.*\&.root\fR -.RS 4 -Root path of window\&. This is relative to the path of the smug project\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/smug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.enable\fR -.RS 4 -Whether to enable spotify\-player\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.package\fR -.RS 4 -The spotify\-player package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.spotify\-player -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.actions\fR -.RS 4 -Configuration written to the \fR\(oqactions\(cq\fP field of \fI$XDG_CONFIG_HOME/spotify\-player/keymap\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#actions\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR list of (TOML value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - action = \(dqGoToArtist\(dq; - key_sequence = \(dqg A\(dq; - } - { - action = \(dqGoToAlbum\(dq; - key_sequence = \(dqg B\(dq; - target = \(dqPlayingTrack\(dq; - } - { - action = \(dqToggleLiked\(dq; - key_sequence = \(dqC\-l\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#actions -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.keymaps\fR -.RS 4 -Configuration written to the \fR\(oqkeymaps\(cq\fP field of \fI$XDG_CONFIG_HOME/spotify\-player/keymap\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#keymaps\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR list of (TOML value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - command = \(dqNextTrack\(dq; - key_sequence = \(dqg n\(dq; - } - { - command = \(dqPreviousTrack\(dq; - key_sequence = \(dqg p\(dq; - } - { - command = \(dqSearch\(dq; - key_sequence = \(dqC\-c C\-x /\(dq; - } - { - command = \(dqResumePause\(dq; - key_sequence = \(dqM\-enter\(dq; - } - { - command = \(dqNone\(dq; - key_sequence = \(dqq\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#keymaps -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/spotify\-player/app\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#general\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = \(dqdefault\(dq; - playback_window_position = \(dqTop\(dq; - copy_command = { - command = \(dqwl\-copy\(dq; - args = []; - }; - device = { - audio_cache = false; - normalization = false; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#general -.RE -.RE -.PP -\fBprograms\&.spotify\-player\&.themes\fR -.RS 4 -Configuration written to the \fR\(oqthemes\(cq\fP field of \fI$XDG_CONFIG_HOME/spotify\-player/theme\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#themes\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR list of (TOML value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqdefault2\(dq; - palette = { - black = \(dqblack\(dq; - red = \(dqred\(dq; - green = \(dqgreen\(dq; - yellow = \(dqyellow\(dq; - blue = \(dqblue\(dq; - magenta = \(dqmagenta\(dq; - cyan = \(dqcyan\(dq; - white = \(dqwhite\(dq; - bright_black = \(dqbright_black\(dq; - bright_red = \(dqbright_red\(dq; - bright_green = \(dqbright_green\(dq; - bright_yellow = \(dqbright_yellow\(dq; - bright_blue = \(dqbright_blue\(dq; - bright_magenta = \(dqbright_magenta\(dq; - bright_cyan = \(dqbright_cyan\(dq; - bright_white = \(dqbright_white\(dq; - }; - component_style = { - block_title = { fg = \(dqMagenta\(dq; }; - border = {}; - playback_track = { fg = \(dqCyan\(dq; modifiers = [\(dqBold\(dq]; }; - playback_artists = { fg = \(dqCyan\(dq; modifiers = [\(dqBold\(dq]; }; - playback_album = { fg = \(dqYellow\(dq; }; - playback_metadata = { fg = \(dqBrightBlack\(dq; }; - playback_progress_bar = { bg = \(dqBrightBlack\(dq; fg = \(dqGreen\(dq; }; - current_playing = { fg = \(dqGreen\(dq; modifiers = [\(dqBold\(dq]; }; - page_desc = { fg = \(dqCyan\(dq; modifiers = [\(dqBold\(dq]; }; - table_header = { fg = \(dqBlue\(dq; }; - selection = { modifiers = [\(dqBold\(dq \(dqReversed\(dq]; }; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/spotify\-player\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/aome510/spotify\-player/blob/master/docs/config\&.md#themes -.RE -.RE -.PP -\fBprograms\&.sqls\&.enable\fR -.RS 4 -Whether to enable sqls, a SQL language server written in Go\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sqls\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sqls\&.package\fR -.RS 4 -The sqls package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sqls -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sqls\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sqls\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/sqls/config\&.yml\fP\&. See \fBhttps://github\&.com/lighttiger2505/sqls#db\-configuration\fR[1]\fR for supported values\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - lowercaseKeywords = true; - connections = [ - { - driver = \(dqmysql\(dq; - dataSourceName = \(dqroot:root@tcp(127\&.0\&.0\&.1:13306)/world\(dq; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sqls\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/lighttiger2505/sqls#db\-configuration -.RE -.RE -.PP -\fBprograms\&.ssh\&.enable\fR -.RS 4 -Whether to enable SSH client configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.package\fR -.RS 4 -The openssh package to use\&. By default, the client provided by your system is used\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.addKeysToAgent\fR -.RS 4 -When enabled, a private key that is used during authentication will be added to ssh\-agent if it is running (with confirmation enabled if set to \[u2018]confirm\[u2019])\&. The argument must be \[u2018]no\[u2019] (the default), \[u2018]yes\[u2019], \[u2018]confirm\[u2019] (optionally followed by a time interval), \[u2018]ask\[u2019] or a time interval (e\&.g\&. \[u2018]1h\[u2019])\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqno\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.compression\fR -.RS 4 -Specifies whether to use compression\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.controlMaster\fR -.RS 4 -Configure sharing of multiple sessions over a single network connection\&. -.sp -\fIType:\fR one of \[u201C]yes\[u201D], \[u201C]no\[u201D], \[u201C]ask\[u201D], \[u201C]auto\[u201D], \[u201C]autoask\[u201D] -.sp -\fIDefault:\fR \(dqno\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.controlPath\fR -.RS 4 -Specify path to the control socket used for connection sharing\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(ti/\&.ssh/master\-%r@%n:%p\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.controlPersist\fR -.RS 4 -Whether control socket should remain open in the background\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqno\(dq -.sp -\fIExample:\fR \(dq10m\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.extraConfig\fR -.RS 4 -Extra configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.extraOptionOverrides\fR -.RS 4 -Extra SSH configuration options that take precedence over any host specific configuration\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.forwardAgent\fR -.RS 4 -Whether the connection to the authentication agent (if any) will be forwarded to the remote machine\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.hashKnownHosts\fR -.RS 4 -Indicates that \fBssh\fP\fR(1)\fP should hash host names and addresses when they are added to the known hosts file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.includes\fR -.RS 4 -File globs of ssh config files that should be included via the \fR\(oqInclude\(cq\fP directive\&. -.sp -See \fBssh_config\fP\fR(5)\fP for more information\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\fR -.RS 4 -Specify per\-host settings\&. Note, if the order of rules matter then use the DAG functions to express the dependencies as shown in the example\&. -.sp -See \fBssh_config\fP\fR(5)\fP for more information\&. -.sp -\fIType:\fR DAG of submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqjohn\&.example\&.com\(dq = { - hostname = \(dqexample\&.com\(dq; - user = \(dqjohn\(dq; - }; - foo = lib\&.hm\&.dag\&.entryBefore [\(dqjohn\&.example\&.com\(dq] { - hostname = \(dqexample\&.com\(dq; - identityFile = \(dq/home/john/\&.ssh/foo_rsa\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.addressFamily\fR -.RS 4 -Specifies which address family to use when connecting\&. -.sp -\fIType:\fR null or one of \[u201C]any\[u201D], \[u201C]inet\[u201D], \[u201C]inet6\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.certificateFile\fR -.RS 4 -Specifies files from which the user certificate is read\&. -.sp -\fIType:\fR (list of string) or null or string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.checkHostIP\fR -.RS 4 -Check the host IP address in the \fIknown_hosts\fP file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.compression\fR -.RS 4 -Specifies whether to use compression\&. Omitted from the host block when \fR\(oqnull\(cq\fP\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.dynamicForwards\fR -.RS 4 -Specify dynamic port forwardings\&. See \fBssh_config\fP\fR(5)\fP for \fR\(oqDynamicForward\(cq\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ { port = 8080; } ]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.dynamicForwards\&.*\&.address\fR -.RS 4 -The address where to bind the port\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlocalhost\(dq -.sp -\fIExample:\fR \(dqexample\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.dynamicForwards\&.*\&.port\fR -.RS 4 -Specifies port number to bind on bind address\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 8080 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.extraOptions\fR -.RS 4 -Extra configuration options for the host\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.forwardAgent\fR -.RS 4 -Whether the connection to the authentication agent (if any) will be forwarded to the remote machine\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.forwardX11\fR -.RS 4 -Specifies whether X11 connections will be automatically redirected over the secure channel and \fBDISPLAY\fP set\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.forwardX11Trusted\fR -.RS 4 -Specifies whether remote X11 clients will have full access to the original X11 display\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.host\fR -.RS 4 -\fR\(oqHost\(cq\fP pattern used by this conditional block\&. See \fBssh_config\fP\fR(5)\fP for \fR\(oqHost\(cq\fP block details\&. This option is ignored if \fBssh\&.matchBlocks\&.*\&.match\fP if defined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq*\&.example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.hostname\fR -.RS 4 -Specifies the real host name to log into\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.identitiesOnly\fR -.RS 4 -Specifies that ssh should only use the authentication identity explicitly configured in the \fI\(ti/\&.ssh/config\fP files or passed on the ssh command\-line, even if \fBssh\-agent\fP offers more identities\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.identityAgent\fR -.RS 4 -Specifies the location of the ssh identity agent\&. -.sp -\fIType:\fR (list of string) or null or string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.identityFile\fR -.RS 4 -Specifies files from which the user identity is read\&. Identities will be tried in the given order\&. -.sp -\fIType:\fR (list of string) or null or string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.localForwards\fR -.RS 4 -Specify local port forwardings\&. See \fBssh_config\fP\fR(5)\fP for \fR\(oqLocalForward\(cq\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - bind\&.port = 8080; - host\&.address = \(dq10\&.0\&.0\&.13\(dq; - host\&.port = 80; - } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.localForwards\&.*\&.bind\&.address\fR -.RS 4 -The address where to bind the port\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlocalhost\(dq -.sp -\fIExample:\fR \(dqexample\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.localForwards\&.*\&.bind\&.port\fR -.RS 4 -Specifies port number to bind on bind address\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 8080 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.localForwards\&.*\&.host\&.address\fR -.RS 4 -The address where to forward the traffic to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqexample\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.localForwards\&.*\&.host\&.port\fR -.RS 4 -Specifies port number to forward the traffic to\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 80 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.match\fR -.RS 4 -\fR\(oqMatch\(cq\fP block conditions used by this block\&. See \fBssh_config\fP\fR(5)\fP for \fR\(oqMatch\(cq\fP block details\&. This option takes precedence over \fBssh\&.matchBlocks\&.*\&.host\fP if defined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - host <hostname> canonical - host <hostname> exec \(dqping \-c1 \-q 192\&.168\&.17\&.1\(dq\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.port\fR -.RS 4 -Specifies port number to connect on remote host\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.proxyCommand\fR -.RS 4 -The command to use to connect to the server\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.proxyJump\fR -.RS 4 -The proxy host to use to connect to the server\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.remoteForwards\fR -.RS 4 -Specify remote port forwardings\&. See \fBssh_config\fP\fR(5)\fP for \fR\(oqRemoteForward\(cq\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - bind\&.port = 8080; - host\&.address = \(dq10\&.0\&.0\&.13\(dq; - host\&.port = 80; - } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.remoteForwards\&.*\&.bind\&.address\fR -.RS 4 -The address where to bind the port\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlocalhost\(dq -.sp -\fIExample:\fR \(dqexample\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.remoteForwards\&.*\&.bind\&.port\fR -.RS 4 -Specifies port number to bind on bind address\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 8080 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.remoteForwards\&.*\&.host\&.address\fR -.RS 4 -The address where to forward the traffic to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqexample\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.remoteForwards\&.*\&.host\&.port\fR -.RS 4 -Specifies port number to forward the traffic to\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 80 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.sendEnv\fR -.RS 4 -Environment variables to send from the local host to the server\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.serverAliveCountMax\fR -.RS 4 -Sets the number of server alive messages which may be sent without SSH receiving any messages back from the server\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.serverAliveInterval\fR -.RS 4 -Set timeout in seconds after which response will be requested\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.setEnv\fR -.RS 4 -Environment variables and their value to send to the server\&. -.sp -\fIType:\fR attribute set of (string or absolute path or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.matchBlocks\&.<name>\&.user\fR -.RS 4 -Specifies the user to log in as\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.serverAliveCountMax\fR -.RS 4 -Sets the default number of server alive messages which may be sent without SSH receiving any messages back from the server\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.serverAliveInterval\fR -.RS 4 -Set default timeout in seconds after which response will be requested\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.userKnownHostsFile\fR -.RS 4 -Specifies one or more files to use for the user host key database, separated by whitespace\&. The default is \fI\(ti/\&.ssh/known_hosts\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(ti/\&.ssh/known_hosts\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.starship\&.enable\fR -.RS 4 -Whether to enable starship\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.starship\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.starship\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.starship\&.enableInteractive\fR -.RS 4 -Only enable starship when the shell is interactive\&. This option is only valid for the Fish shell\&. -.sp -Some plugins require this to be set to \fR\(oqfalse\(cq\fP to function correctly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.starship\&.enableIonIntegration\fR -.RS 4 -Whether to enable Ion integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableIonIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableIonIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.starship\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.starship\&.enableTransience\fR -.RS 4 -The TransientPrompt feature of Starship replaces previous prompts with a custom string\&. This is only a valid option for the Fish shell\&. -.sp -For documentation on how to change the default replacement string and for more information visit https://starship\&.rs/advanced\-config/#transientprompt\-and\-transientrightprompt\-in\-cmd -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.starship\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.starship\&.package\fR -.RS 4 -The starship package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.starship -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.starship\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/starship\&.toml\fP\&. -.sp -See \fBhttps://starship\&.rs/config/\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - add_newline = false; - format = lib\&.concatStrings [ - \(dq$line_break\(dq - \(dq$package\(dq - \(dq$line_break\(dq - \(dq$character\(dq - ]; - scan_timeout = 10; - character = { - success_symbol = \(dq\[u279C]\(dq; - error_symbol = \(dq\[u279C]\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/starship\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://starship\&.rs/config/ -.RE -.RE -.PP -\fBprograms\&.streamlink\&.enable\fR -.RS 4 -Whether to enable streamlink\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.streamlink\&.package\fR -.RS 4 -The streamlink package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.streamlink -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.streamlink\&.plugins\fR -.RS 4 -Streamlink plugins\&. -.sp -If a source is set, the custom plugin will be linked to the data directory\&. -.sp -Additional configuration specific to the plugin, if defined, will be written to the config directory, and override global settings\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - custom_plugin = { - src = \&./custom_plugin\&.py; - settings = { - quiet = true; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.streamlink\&.plugins\&.<name>\&.settings\fR -.RS 4 -Configuration for the specific plugin, written to \fI$XDG_CONFIG_HOME/streamlink/config\&.<name>\fP (linux) or \fILibrary/Application Support/streamlink/config\&.<name>\fP (darwin)\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or floating point number or string or list of (signed integer or floating point number or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - quiet = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.streamlink\&.plugins\&.<name>\&.src\fR -.RS 4 -Source of the custom plugin\&. The value should be a path to the plugin file, or the text of the plugin code\&. Will be linked to \fI$XDG_DATA_HOME/streamlink/plugins/<name>\&.py\fP (linux) or \fILibrary/Application Support/streamlink/plugins/<name>\&.py\fP (darwin)\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \&./custom_plugin\&.py -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.streamlink\&.settings\fR -.RS 4 -Global configuration options for streamlink\&. It will be written to \fI$XDG_CONFIG_HOME/streamlink/config\fP (linux) or \fILibrary/Application Support/streamlink/config\fP (darwin)\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or floating point number or string or list of (signed integer or floating point number or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - player = \(dq${pkgs\&.mpv}/bin/mpv\(dq; - player\-args = \(dq\-\-cache 2048\(dq; - player\-no\-close = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/streamlink\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.superfile\&.enable\fR -.RS 4 -Whether to enable superfile \- Pretty fancy and modern terminal file manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.superfile\&.package\fR -.RS 4 -The superfile package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.superfile -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.superfile\&.hotkeys\fR -.RS 4 -Hotkey configuration written to \fI$XDG_CONFIG_HOME/superfile/hotkeys\&.toml\fP (linux) or \fILibrary/Application Support/superfile/hotkeys\&.toml\fP (darwin), See \fBhttps://superfile\&.netlify\&.app/configure/custom\-hotkeys/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -confirm = [ - \(dqenter\(dq - \(dqright\(dq - \(dql\(dq -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://superfile\&.netlify\&.app/configure/custom\-hotkeys/ -.RE -.RE -.PP -\fBprograms\&.superfile\&.metadataPackage\fR -.RS 4 -The exiftool package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.exiftool -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.superfile\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/superfile/config\&.toml\fP (linux) or \fILibrary/Application Support/superfile/config\&.toml\fP (darwin), See \fBhttps://superfile\&.netlify\&.app/configure/superfile\-config/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -theme = \(dqcatppuccin\-frappe\(dq; -default_sort_type = 0; -transparent_background = false; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://superfile\&.netlify\&.app/configure/superfile\-config/ -.RE -.RE -.PP -\fBprograms\&.superfile\&.themes\fR -.RS 4 -Theme files written to \fI$XDG_CONFIG_HOME/superfile/theme/\fP (linux) or \fILibrary/Application Support/superfile/theme/\fP (darwin), See \fBhttps://superfile\&.netlify\&.app/configure/custom\-theme/\fR[1]\fR for supported values\&. -.sp -\fIType:\fR attribute set of (TOML value or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -myTheme = { - code_syntax_highlight = \(dqcatppuccin\-latte\(dq; - - file_panel_border = \(dq#101010\(dq; - sidebar_border = \(dq#101011\(dq; - footer_border = \(dq#101012\(dq; - - gradient_color = [ - \(dq#101013\(dq - \(dq#101014\(dq - ]; - - # \&.\&.\&. -}; -myOtherFavoriteTheme = { - code_syntax_highlight = \(dqcatppuccin\-mocha\(dq; - - file_panel_border = \(dq#505050\(dq; - sidebar_border = \(dq#505051\(dq; - footer_border = \(dq#505052\(dq; - - gradient_color = [ - \(dq#505053\(dq - \(dq#505054\(dq - ]; - - # \&.\&.\&. -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/superfile\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://superfile\&.netlify\&.app/configure/custom\-theme/ -.RE -.RE -.PP -\fBprograms\&.sway\-easyfocus\&.enable\fR -.RS 4 -Whether to enable sway\-easyfocus\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sway\-easyfocus\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sway\-easyfocus\&.package\fR -.RS 4 -The sway\-easyfocus package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.sway\-easyfocus -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sway\-easyfocus\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.sway\-easyfocus\&.settings\fR -.RS 4 -Configuration settings for sway\-easyfocus\&. All available options can be found here: \fBhttps://github\&.com/edzdez/sway\-easyfocus?tab=readme\-ov\-file#config\-file\fR[1]\fR\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - chars = \(dqfjghdkslaemuvitywoqpcbnxz\(dq; - focused_background_color = \(dq285577\(dq; - focused_background_opacity = 1\&.0; - focused_text_color = \(dqffffff\(dq; - font_family = \(dqmonospace\(dq; - font_size = \(dqmedium\(dq; - font_weight = \(dqbold\(dq; - window_background_color = \(dqd1f21\(dq; - window_background_opacity = 0\&.2; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/sway\-easyfocus\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/edzdez/sway\-easyfocus?tab=readme\-ov\-file#config\-file -.RE -.RE -.PP -\fBprograms\&.swayimg\&.enable\fR -.RS 4 -Whether to enable swayimg\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayimg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayimg\&.package\fR -.RS 4 -The swayimg package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swayimg -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayimg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayimg\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/swayimg/config\fP\&. See \fBhttps://github\&.com/artemsen/swayimg/blob/master/extra/swayimgrc\fR[1]\fR for a list of available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - viewer = { - window = \(dq#10000010\(dq; - scale = \(dqfill\(dq; - }; - \(dqinfo\&.viewer\(dq = { - top_left = \(dq+name,+format\(dq; - }; - \(dqkeys\&.viewer\(dq = { - \(dqShift+r\(dq = \(dqrand_file\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayimg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/artemsen/swayimg/blob/master/extra/swayimgrc -.RE -.RE -.PP -\fBprograms\&.swaylock\&.enable\fR -.RS 4 -Whether to enable swaylock\&. -.sp -Note that PAM must be configured to enable swaylock to perform authentication\&. The package installed through home\-manager will \fInot\fR be able to unlock the session without this configuration\&. -.sp -On NixOS, this is by default enabled with the sway module, but for other compositors it can currently be enabled using: -.sp -.RS 4 -.nf -security\&.pam\&.services\&.swaylock = {}; -.fi -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -true if state version < 23\&.05 and settings \[u2260] { }, -false otherwise -.fi -.RE -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swaylock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swaylock\&.package\fR -.RS 4 -The swaylock package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.swaylock -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swaylock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swaylock\&.settings\fR -.RS 4 -Default arguments to \fBswaylock\fP\&. An empty set disables configuration generation\&. -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or absolute path or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - color = \(dq808080\(dq; - font\-size = 24; - indicator\-idle\-visible = false; - indicator\-radius = 100; - line\-color = \(dqffffff\(dq; - show\-failed\-attempts = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swaylock\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayr\&.enable\fR -.RS 4 -Whether to enable the swayr service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayr\&.package\fR -.RS 4 -The swayr package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swayr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayr\&.extraConfig\fR -.RS 4 -Extra configuration lines to append to the swayr configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayr\&.settings\fR -.RS 4 -Configuration included in \fR\(oqconfig\&.toml\(cq\fP\&. For available options see \fBhttps://git\&.sr\&.ht/\(titsdh/swayr#swayr\-configuration\fR[1]\fR -.sp -\fIType:\fR null or TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -menu = { - executable = \(dq${pkgs\&.wofi}/bin/wofi\(dq; - args = [ - \(dq\-\-show=dmenu\(dq - \(dq\-\-allow\-markup\(dq - \(dq\-\-allow\-images\(dq - \(dq\-\-insensitive\(dq - \(dq\-\-cache\-file=/dev/null\(dq - \(dq\-\-parse\-search\(dq - \(dq\-\-height=40%\(dq - \(dq\-\-prompt={prompt}\(dq - ]; -}; - -format = { - output_format = \(dq{indent}<b>Output {name}</b> <span alpha=\e\(dq20000\e\(dq>({id})</span>\(dq; - workspace_format = \(dq{indent}<b>Workspace {name} [{layout}]</b> on output {output_name} <span alpha=\e\(dq20000\e\(dq>({id})</span>\(dq; - container_format = \(dq{indent}<b>Container [{layout}]</b> <i>{marks}</i> on workspace {workspace_name} <span alpha=\e\(dq20000\e\(dq>({id})</span>\(dq; - window_format = \(dqimg:{app_icon}:text:{indent}<i>{app_name}</i> \[u2014] {urgency_start}<b>\[u201C]{title}\[u201D]</b>{urgency_end} <i>{marks}</i> on workspace {workspace_name} / {output_name} <span alpha=\e\(dq20000\e\(dq>({id})</span>\(dq; - indent = \(dq \(dq; - urgency_start = \(dq<span background=\e\(dqdarkred\e\(dq foreground=\e\(dqyellow\e\(dq>\(dq; - urgency_end = \(dq</span>\(dq; - html_escape = true; -}; - -layout = { - auto_tile = false; - auto_tile_min_window_width_per_output_width = [ - [ 800 400 ] - [ 1024 500 ] - [ 1280 600 ] - [ 1400 680 ] - [ 1440 700 ] - [ 1600 780 ] - [ 1680 780 ] - [ 1920 920 ] - [ 2048 980 ] - [ 2560 1000 ] - [ 3440 1200 ] - [ 3840 1280 ] - [ 4096 1400 ] - [ 4480 1600 ] - [ 7680 2400 ] - ]; -}; - -focus = { - lockin_delay = 750; -}; - -misc = { - seq_inhibit = false; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://git\&.sr\&.ht/\(titsdh/swayr#swayr\-configuration -.RE -.RE -.PP -\fBprograms\&.swayr\&.systemd\&.enable\fR -.RS 4 -Whether to enable swayr systemd integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.swayr\&.systemd\&.target\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/swayr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.enable\fR -.RS 4 -Whether to enable Task Warrior\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.package\fR -.RS 4 -The taskwarrior package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.taskwarrior -.sp -\fIExample:\fR pkgs\&.taskwarrior3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.colorTheme\fR -.RS 4 -Either one of the default provided theme as string, or a path to a theme configuration file\&. -.sp -\fIType:\fR null or string or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqdark\-blue\-256\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.config\fR -.RS 4 -Key\-value configuration written to \fI$XDG_CONFIG_HOME/task/taskrc\fP\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - confirmation = false; - report\&.minimal\&.filter = \(dqstatus:pending\(dq; - report\&.active\&.columns = [ \(dqid\(dq \(dqstart\(dq \(dqentry\&.age\(dq \(dqpriority\(dq \(dqproject\(dq \(dqdue\(dq \(dqdescription\(dq ]; - report\&.active\&.labels = [ \(dqID\(dq \(dqStarted\(dq \(dqAge\(dq \(dqPriority\(dq \(dqProject\(dq \(dqDue\(dq \(dqDescription\(dq ]; - taskd = { - certificate = \(dq/path/to/cert\(dq; - key = \(dq/path/to/key\(dq; - ca = \(dq/path/to/ca\(dq; - server = \(dqhost\&.domain:53589\(dq; - credentials = \(dqOrg/First Last/cf31f287\-ee9e\-43a8\-843e\-e8bbd5de4294\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.dataLocation\fR -.RS 4 -Location where Task Warrior will store its data\&. -.sp -Home Manager will attempt to create this directory\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$XDG_DATA_HOME/task\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.taskwarrior\&.extraConfig\fR -.RS 4 -Additional content written at the end of \fI$XDG_CONFIG_HOME/task/taskrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/taskwarrior\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.enable\fR -.RS 4 -Whether to enable Tealdeer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.enableAutoUpdates\fR -.RS 4 -Whether to enable Auto updates\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.package\fR -.RS 4 -The tealdeer package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tealdeer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/tealdeer/config\&.toml\fP on Linux or \fI$HOME/Library/Application Support/tealdeer/config\&.toml\fP on Darwin\&. See \fBhttps://tealdeer\-rs\&.github\&.io/tealdeer/config\&.html\fR[1]\fR for more information\&. -.sp -\fIType:\fR null or (TOML value) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - display = { - compact = false; - use_pager = true; - }; - updates = { - auto_update = false; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://tealdeer\-rs\&.github\&.io/tealdeer/config\&.html -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.settings\&.updates\fR -.RS 4 -Tealdeer can refresh the cache automatically when it is outdated\&. This behavior can be configured in the updates section\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.settings\&.updates\&.auto_update\fR -.RS 4 -Whether to enable auto\-update\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tealdeer\&.settings\&.updates\&.auto_update_interval_hours\fR -.RS 4 -Duration, since the last cache update, after which the cache will be refreshed\&. This parameter is ignored if \fIauto_update\fP is set to \fR\(oqfalse\(cq\fP\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 720 -.sp -\fIExample:\fR 24 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tealdeer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.television\&.enable\fR -.RS 4 -Whether to enable television\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.television\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.television\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.television\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.television\&.package\fR -.RS 4 -The television package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.television -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.television\&.channels\fR -.RS 4 -Each set of channels are written to \fI$XDG_CONFIG_HOME/television/NAME\-channels\&.toml\fP -.sp -See \fBhttps://github\&.com/alexpasmantier/television/blob/main/docs/channels\&.md\fR[1]\fR for options -.sp -\fIType:\fR attribute set of (TOML value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my\-custom = { - cable_channel = [ - { - name = \(dqgit\-log\(dq; - source_command = \(dqgit log \-\-oneline \-\-date=short \-\-pretty=\e\(dqformat:%h %s %an %cd\e\(dq \e\(dq$@\e\(dq\(dq; - preview_command = \(dqgit show \-p \-\-stat \-\-pretty=fuller \-\-color=always {0}\(dq; - } - { - name = \(dqgit\-log\(dq; - source_command = \(dqgit log \-\-oneline \-\-date=short \-\-pretty=\e\(dqformat:%h %s %an %cd\e\(dq \e\(dq$@\e\(dq\(dq; - preview_command = \(dqgit show \-p \-\-stat \-\-pretty=fuller \-\-color=always {0}\(dq; - } - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/alexpasmantier/television/blob/main/docs/channels\&.md -.RE -.RE -.PP -\fBprograms\&.television\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/television/config\&.toml\fP\&. See \fBhttps://github\&.com/alexpasmantier/television/blob/main/\&.config/config\&.toml\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - tick_rate = 50; - ui = { - use_nerd_font_icons = true; - ui_scale = 120; - show_preview_panel = false; - }; - keybindings = { - quit = [ \(dqesc\(dq \(dqctrl\-c\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/television\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/alexpasmantier/television/blob/main/\&.config/config\&.toml -.RE -.RE -.PP -\fBprograms\&.terminator\&.enable\fR -.RS 4 -Whether to enable terminator, a tiling terminal emulator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/terminator\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.terminator\&.package\fR -.RS 4 -The terminator package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.terminator -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/terminator\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.terminator\&.config\fR -.RS 4 -configuration for terminator\&. -.sp -For a list of all possible options refer to the \fBterminator_config\fP\fR(5)\fP man page\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - global_config\&.borderless = true; - profiles\&.default\&.background_color = \(dq#002b36\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/terminator\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.enable\fR -.RS 4 -Whether to enable Termite VTE\-based terminal\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.enableVteIntegration\fR -.RS 4 -Whether to enable Shell VTE integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.package\fR -.RS 4 -The termite package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.termite -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.allowBold\fR -.RS 4 -Allow the output of bold characters when the bold escape sequence appears\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.audibleBell\fR -.RS 4 -Have the terminal beep on the terminal bell\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.backgroundColor\fR -.RS 4 -Background color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqrgba(63, 63, 63, 0\&.8)\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.browser\fR -.RS 4 -Set the default browser for opening links\&. If its not set, $BROWSER is read\&. If that\[u2019]s not set, url hints will be disabled\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\e${pkgs\&.xdg\-utils}/xdg\-open\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.clickableUrl\fR -.RS 4 -Auto\-detected URLs can be clicked on to open them in your browser\&. Only enabled if a browser is configured or detected\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.colorsExtra\fR -.RS 4 -Extra colors options that should be added to [colors] section\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - color0 = #3f3f3f - color1 = #705050 - color2 = #60b48a -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.cursorBlink\fR -.RS 4 -Specify the how the terminal\[u2019]s cursor should behave\&. Accepts system to respect the gtk global configuration, on and off to explicitly enable or disable them\&. -.sp -\fIType:\fR null or one of \[u201C]system\[u201D], \[u201C]on\[u201D], \[u201C]off\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsystem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.cursorColor\fR -.RS 4 -Cursor color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#dcdccc\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.cursorForegroundColor\fR -.RS 4 -Cursor foreground color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#dcdccc\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.cursorShape\fR -.RS 4 -Specify how the cursor should look\&. Accepts block, ibeam and underline\&. -.sp -\fIType:\fR null or one of \[u201C]block\[u201D], \[u201C]underline\[u201D], \[u201C]ibeam\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqblock\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.dynamicTitle\fR -.RS 4 -Settings dynamic title allows the terminal and the shell to update the terminal\[u2019]s title\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.filterUnmatchedUrls\fR -.RS 4 -Whether to hide url hints not matching input in url hints mode\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.font\fR -.RS 4 -The font description for the terminal\[u2019]s font\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqMonospace 12\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.foregroundBoldColor\fR -.RS 4 -Foreground bold color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.foregroundColor\fR -.RS 4 -Foreground color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#dcdccc\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.fullscreen\fR -.RS 4 -Enables entering fullscreen mode by pressing F11\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.geometry\fR -.RS 4 -The default window geometry for new terminal windows\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq640x480\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.highlightColor\fR -.RS 4 -highlight color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#2f2f2f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsActiveBackgroundColor\fR -.RS 4 -Hints active background color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#3f3f3f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsActiveForegroundColor\fR -.RS 4 -Hints active foreground color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#e68080\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsBackgroundColor\fR -.RS 4 -Hints background color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#3f3f3f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsBorderColor\fR -.RS 4 -Hints border color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#3f3f3f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsBorderWidth\fR -.RS 4 -Hints border width\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq0\&.5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsExtra\fR -.RS 4 -Extra hints options that should be added to [hints] section\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqborder = #3f3f3f\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsFont\fR -.RS 4 -The font description for the hints font\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqMonospace 12\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsForegroundColor\fR -.RS 4 -Hints foreground color value\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#dcdccc\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsPadding\fR -.RS 4 -Hints padding\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.hintsRoundness\fR -.RS 4 -Hints roundness\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq0\&.2\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.iconName\fR -.RS 4 -The name of the icon to be used for the terminal process\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqterminal\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.modifyOtherKeys\fR -.RS 4 -Emit escape sequences for extra keys, like the modifyOtherKeys resource for \fBxterm\fP\fR(1)\fP\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.mouseAutohide\fR -.RS 4 -Automatically hide the mouse pointer when you start typing\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.optionsExtra\fR -.RS 4 -Extra options that should be added to [options] section\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqfullscreen = true\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.scrollOnKeystroke\fR -.RS 4 -Scroll to the bottom automatically when a key is pressed\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.scrollOnOutput\fR -.RS 4 -Scroll to the bottom when the shell generates output\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.scrollbackLines\fR -.RS 4 -Set the number of lines to limit the terminal\[u2019]s scrollback\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.scrollbar\fR -.RS 4 -Scrollbar position\&. -.sp -\fIType:\fR null or one of \[u201C]off\[u201D], \[u201C]left\[u201D], \[u201C]right\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.searchWrap\fR -.RS 4 -Search from top again when you hit the bottom\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.sizeHints\fR -.RS 4 -Enable size hints\&. Locks the terminal resizing to increments of the terminal\[u2019]s cell size\&. Requires a window manager that respects scroll hints\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.termite\&.urgentOnBell\fR -.RS 4 -Sets the window as urgent on the terminal bell\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/termite\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tex\-fmt\&.enable\fR -.RS 4 -Whether to enable tex\-fmt\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tex\-fmt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tex\-fmt\&.package\fR -.RS 4 -The tex\-fmt package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.tex\-fmt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tex\-fmt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tex\-fmt\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/tex\-fmt/tex\-fmt\&.toml\fP on Linux or \fI$HOME/Library/Application Support/tex\-fmt/tex\-fmt\&.toml\fP on Darwin\&. See \fBhttps://github\&.com/WGUNDERWOOD/tex\-fmt\fR[1]\fR and \fBhttps://github\&.com/WGUNDERWOOD/tex\-fmt/blob/master/tex\-fmt\&.toml\fR[2]\fR for more information\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - wrap = true; - tabsize = 2; - tabchar = \(dqspace\(dq; - lists = []; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tex\-fmt\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/WGUNDERWOOD/tex\-fmt -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/WGUNDERWOOD/tex\-fmt/blob/master/tex\-fmt\&.toml -.RE -.RE -.PP -\fBprograms\&.texlive\&.enable\fR -.RS 4 -Whether to enable TeX Live\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/texlive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.texlive\&.package\fR -.RS 4 -Resulting customized TeX Live package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/texlive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.texlive\&.packageSet\fR -.RS 4 -TeX Live package set to use\&. -.sp -\fIType:\fR unspecified value -.sp -\fIDefault:\fR pkgs\&.texlive -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/texlive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.texlive\&.extraPackages\fR -.RS 4 -Extra packages available to TeX Live\&. -.sp -\fIType:\fR unspecified value -.sp -\fIDefault:\fR \(dqtpkgs: { inherit (tpkgs) collection\-basic; }\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -tpkgs: { inherit (tpkgs) collection\-fontsrecommended algorithms; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/texlive\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enable\fR -.RS 4 -Whether to enable thefuck \- magnificent app that corrects your previous console command\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enableInstantMode\fR -.RS 4 -Whether to enable thefuck\[u2019]s experimental instant mode\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.thefuck\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.thefuck\&.package\fR -.RS 4 -The thefuck package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.thefuck -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thefuck\&.alias\fR -.RS 4 -Alias used to invoke \fR\(oqthefuck\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqfuck\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thefuck\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.enable\fR -.RS 4 -Whether to enable Thunderbird\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.package\fR -.RS 4 -The thunderbird package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.thunderbird -.sp -\fIExample:\fR pkgs\&.thunderbird\-91 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.nativeMessagingHosts\fR -.RS 4 -Additional packages containing native messaging hosts that should be made available to Thunderbird extensions\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\fR -.RS 4 -Attribute set of Thunderbird profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.accountsOrder\fR -.RS 4 -Custom ordering of accounts and local folders in Thunderbird\[u2019]s folder pane\&. The accounts are specified by their name\&. For declarative accounts, it must be the name of their attribute in \fR\(oqconfig\&.accounts\&.email\&.accounts\(cq\fP (or \fR\(oqconfig\&.programs\&.thunderbird\&.profiles\&.<name>\&.feedAccounts\(cq\fP for feed accounts)\&. The local folders name can be found in the \fR\(oqmail\&.accountmanager\&.accounts\(cq\fP Thunderbird preference, for example with Settings > Config Editor (\[u201C]account1\[u201D] by default)\&. Enabled accounts and local folders that aren\[u2019]t listed here appear in an arbitrary order after the ordered accounts\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - [ - \(dqmy\-awesome\-account\(dq - \(dqprivate\(dq - \(dqwork\(dq - \(dqrss\(dq - /* Other accounts in arbitrary order */ - ] -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.calendarAccountsOrder\fR -.RS 4 -Custom ordering of calendar accounts\&. The accounts are specified by their name\&. For declarative accounts, it must be the name of their attribute in \fR\(oqconfig\&.accounts\&.calendar\&.accounts\(cq\fP\&. Enabled accounts that aren\[u2019]t listed here appear in an arbitrary order after the ordered accounts\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - [ - \(dqmy\-awesome\-account\(dq - \(dqprivate\(dq - \(dqwork\(dq - \(dqholidays\(dq - /* Other accounts in arbitrary order */ - ] -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.extensions\fR -.RS 4 -List of \[u2039]name\[u203A] add\-on packages to install for this profile\&. -.sp -Note that it is necessary to manually enable extensions inside \[u2039]name\[u203A] after the first installation\&. -.sp -To automatically enable extensions add \fR\(oq\(dqextensions\&.autoDisableScopes\(dq = 0;\(cq\fP to \fB\fBprograms\&.thunderbird\&.profiles\&.<profile>\&.settings\fP\fR[1]\fR -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - pkgs\&.some\-thunderbird\-extension -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.thunderbird\&.profiles\&.<name>\&.settings\fP option -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.extraConfig\fR -.RS 4 -Extra preferences to add to \fIuser\&.js\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.feedAccounts\fR -.RS 4 -Attribute set of feed accounts\&. Feeds themselves have to be managed through Thunderbird\[u2019]s settings\&. This option allows feeds to coexist with declaratively managed email accounts\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.feedAccounts\&.<name>\&.name\fR -.RS 4 -This feed account\[u2019]s name\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.isDefault\fR -.RS 4 -Whether this is a default profile\&. There must be exactly one default profile\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.name\fR -.RS 4 -This profile\[u2019]s name\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\fR -.RS 4 -Declarative search engine configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\&.default\fR -.RS 4 -The default search engine used in the address bar and search bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\&.engines\fR -.RS 4 -Attribute set of search engine configurations\&. Engines that only have \fImetaData\fP specified will be treated as builtin to Thunderbird\&. -.sp -See \fBSearchEngine\&.jsm\fR[1]\fR in Thunderbird\[u2019]s source for available options\&. We maintain a mapping to let you specify all options in the referenced link without underscores, but it may fall out of date with future options\&. -.sp -Note, \fIicon\fP is also a special option added by Home Manager to make it convenient to specify absolute icon paths\&. -.sp -\fIType:\fR attribute set of attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nix\-packages = { - name = \(dqNix Packages\(dq; - urls = [{ - template = \(dqhttps://search\&.nixos\&.org/packages\(dq; - params = [ - { name = \(dqtype\(dq; value = \(dqpackages\(dq; } - { name = \(dqquery\(dq; value = \(dq{searchTerms}\(dq; } - ]; - }]; - - icon = \(dq${pkgs\&.nixos\-icons}/share/icons/hicolor/scalable/apps/nix\-snowflake\&.svg\(dq; - definedAliases = [ \(dq@np\(dq ]; - }; - - nixos\-wiki = { - name = \(dqNixOS Wiki\(dq; - urls = [{ template = \(dqhttps://wiki\&.nixos\&.org/w/index\&.php?search={searchTerms}\(dq; }]; - iconMapObj\&.\(dq16\(dq = \(dqhttps://wiki\&.nixos\&.org/favicon\&.ico\(dq; - definedAliases = [ \(dq@nw\(dq ]; - }; - - bing\&.metaData\&.hidden = true; - google\&.metaData\&.alias = \(dq@g\(dq; # builtin engines only support specifying one additional alias -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://searchfox\&.org/mozilla\-central/rev/e3f42ec9320748b2aab3d474d1e47075def9000c/toolkit/components/search/SearchEngine\&.sys\&.mjs#890\-923 -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\&.force\fR -.RS 4 -Whether to force replace the existing search configuration\&. This is recommended since Thunderbird will replace the symlink for the search configuration on every launch, but note that you\[u2019]ll lose any existing configuration by enabling this\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\&.order\fR -.RS 4 -The order the search engines are listed in\&. Any engines that aren\[u2019]t included in this list will be listed after these in an unspecified order\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqddg\(dq - \(dqgoogle\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.search\&.privateDefault\fR -.RS 4 -The default search engine used in the Private Browsing\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqddg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.settings\fR -.RS 4 -Preferences to add to this profile\[u2019]s \fIuser\&.js\fP\&. -.sp -\fIType:\fR Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmail\&.spellcheck\&.inline\(dq = false; - \(dqmailnews\&.database\&.global\&.views\&.global\&.columns\(dq = { - selectCol = { - visible = false; - ordinal = 1; - }; - threadCol = { - visible = true; - ordinal = 2; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.userChrome\fR -.RS 4 -Custom Thunderbird user chrome CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide tab bar in Thunderbird */ - #tabs\-toolbar { - visibility: collapse !important; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.userContent\fR -.RS 4 -Custom Thunderbird user content CSS\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - /* Hide scrollbar on Thunderbird pages */ - *{scrollbar\-width:none !important} -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.profiles\&.<name>\&.withExternalGnupg\fR -.RS 4 -Allow using external GPG keys with GPGME\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.thunderbird\&.settings\fR -.RS 4 -Attribute set of Thunderbird preferences to be added to all profiles\&. -.sp -\fIType:\fR Thunderbird preference (int, bool, string, and also attrs, list, float as a JSON string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqgeneral\&.useragent\&.override\(dq = \(dq\(dq; - \(dqprivacy\&.donottrackheader\&.enabled\(dq = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/thunderbird\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.timidity\&.enable\fR -.RS 4 -Whether to enable timidity, a software MIDI renderer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/timidity\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.timidity\&.package\fR -.RS 4 -The timidity package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.timidity -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/timidity\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.timidity\&.extraConfig\fR -.RS 4 -Extra configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - soundfont ${pkgs\&.soundfont\-fluid}/share/soundfonts/FluidR3_GM2\-2\&.sf2 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/timidity\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.timidity\&.finalPackage\fR -.RS 4 -Resulting package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/timidity\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tint2\&.enable\fR -.RS 4 -Whether to enable tint2, a simple, unobtrusive and light panel for Xorg\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tint2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tint2\&.package\fR -.RS 4 -The tint2 package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tint2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tint2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tint2\&.extraConfig\fR -.RS 4 -Commands for tint2 that will be add to the \fItint2rc\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tint2\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tiny\&.enable\fR -.RS 4 -Whether to enable tiny, a TUI IRC client written in Rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tiny\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tiny\&.package\fR -.RS 4 -The tiny package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tiny -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tiny\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tiny\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/tiny/config\&.yml\fP\&. See \fBhttps://github\&.com/osa1/tiny/blob/master/crates/tiny/config\&.yml\fR[1]\fR for the default configuration\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - servers = [ - { - addr = \(dqirc\&.libera\&.chat\(dq; - port = 6697; - tls = true; - realname = \(dqJohn Doe\(dq; - nicks = [ \(dqtinyuser\(dq ]; - } - ]; - defaults = { - nicks = [ \(dqtinyuser\(dq ]; - realname = \(dqJohn Doe\(dq; - join = []; - tls = true; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tiny\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/osa1/tiny/blob/master/crates/tiny/config\&.yml -.RE -.RE -.PP -\fBprograms\&.tmate\&.enable\fR -.RS 4 -Whether to enable tmate\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.package\fR -.RS 4 -The tmate package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tmate -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.dsaFingerprint\fR -.RS 4 -Tmate server EdDSA key fingerprint\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR SHA256:1111111111111111111111111111111111111111111 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.extraConfig\fR -.RS 4 -Additional content written at the end of \fI\(ti/\&.tmate\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.host\fR -.RS 4 -Tmate server address\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR tmate\&.io -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.port\fR -.RS 4 -Tmate server port\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2222 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmate\&.rsaFingerprint\fR -.RS 4 -Tmate server RSA key fingerprint\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR SHA256:1111111111111111111111111111111111111111111 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmate\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enable\fR -.RS 4 -Whether to enable tmux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.package\fR -.RS 4 -The tmux package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tmux -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.aggressiveResize\fR -.RS 4 -Resize the window to the size of the smallest session for which it is the current window\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.baseIndex\fR -.RS 4 -Base index for windows and panes\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.clock24\fR -.RS 4 -Use 24 hour clock\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.customPaneNavigationAndResize\fR -.RS 4 -Override the hjkl and HJKL bindings for pane navigation and resizing in VI mode\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.disableConfirmationPrompt\fR -.RS 4 -Disable confirmation prompt before killing a pane or window -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.escapeTime\fR -.RS 4 -Time in milliseconds for which tmux waits after an escape is input\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 500 -.sp -\fIExample:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.extraConfig\fR -.RS 4 -Additional configuration to add to \fItmux\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.focusEvents\fR -.RS 4 -On supported terminals, request focus events and pass them through to applications running in tmux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.historyLimit\fR -.RS 4 -Maximum number of lines held in window history\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 2000 -.sp -\fIExample:\fR 5000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.keyMode\fR -.RS 4 -VI or Emacs style shortcuts\&. -.sp -\fIType:\fR one of \[u201C]emacs\[u201D], \[u201C]vi\[u201D] -.sp -\fIDefault:\fR \(dqemacs\(dq -.sp -\fIExample:\fR \(dqvi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.mouse\fR -.RS 4 -Whether to enable mouse support\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.newSession\fR -.RS 4 -Automatically spawn a session if trying to attach and none are running\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.plugins\fR -.RS 4 -List of tmux plugins to be included at the end of your tmux configuration\&. The sensible plugin, however, is defaulted to run at the top of your configuration\&. -.sp -\fIType:\fR list of plugin packages or submodules -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs; [ - tmuxPlugins\&.cpu - { - plugin = tmuxPlugins\&.resurrect; - extraConfig = \(dqset \-g @resurrect\-strategy\-nvim \(aqsession\(aq\(dq; - } - { - plugin = tmuxPlugins\&.continuum; - extraConfig = \(aq\(aq - set \-g @continuum\-restore \(aqon\(aq - set \-g @continuum\-save\-interval \(aq60\(aq # minutes - \(aq\(aq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.prefix\fR -.RS 4 -Set the prefix key\&. Overrules the \[u201C]shortcut\[u201D] option when set\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqC\-a\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.resizeAmount\fR -.RS 4 -Number of lines/columns when resizing\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 5 -.sp -\fIExample:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.reverseSplit\fR -.RS 4 -Reverse the window split shortcuts\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.secureSocket\fR -.RS 4 -Store tmux socket under \fI/run\fP, which is more secure than \fI/tmp\fP, but as a downside it doesn\[u2019]t survive user logout\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.sensibleOnTop\fR -.RS 4 -Run the sensible plugin at the top of the configuration\&. It is possible to override the sensible settings using the \fBprograms\&.tmux\&.extraConfig\fP option\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.shell\fR -.RS 4 -Set the default\-shell tmux variable\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR ${pkgs\&.zsh}/bin/zsh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.shortcut\fR -.RS 4 -CTRL following by this key is used as the main shortcut\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqb\(dq -.sp -\fIExample:\fR \(dqa\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.terminal\fR -.RS 4 -Set the $TERM variable\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqscreen\(dq -.sp -\fIExample:\fR \(dqscreen\-256color\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxinator\&.enable\fR -.RS 4 -Whether to enable tmuxinator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxp\&.enable\fR -.RS 4 -Whether to enable tmuxp\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.todoman\&.enable\fR -.RS 4 -Whether to enable todoman\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/todoman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.todoman\&.package\fR -.RS 4 -The todoman package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.todoman -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/todoman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.todoman\&.extraConfig\fR -.RS 4 -Text for configuration of todoman\&. The syntax is Python\&. -.sp -See \fBdocs\fR[1]\fR\&. for the full list of options\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - date_format = \(dq%Y\-%m\-%d\(dq; - time_format = \(dq%H:%M\(dq; - default_list = \(dqPersonal\(dq; - default_due = 48; -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/todoman\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -%60https://todoman\&.readthedocs\&.io/en/stable/man\&.html#id5%60 -.RE -.RE -.PP -\fBprograms\&.todoman\&.glob\fR -.RS 4 -The glob expansion which matches all directories relevant\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*\(dq -.sp -\fIExample:\fR \(dq*/*\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/todoman\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tofi\&.enable\fR -.RS 4 -Whether to enable Tofi, a tiny dynamic menu for Wayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tofi\&.package\fR -.RS 4 -The tofi package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.tofi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tofi\&.settings\fR -.RS 4 -Settings to be written to the Tofi configuration file\&. -.sp -See \fBhttps://github\&.com/philj56/tofi/blob/master/doc/config\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background\-color = \(dq#000000\(dq; - border\-width = 0; - font = \(dqmonospace\(dq; - height = \(dq100%\(dq; - num\-results = 5; - outline\-width = 0; - padding\-left = \(dq35%\(dq; - padding\-top = \(dq35%\(dq; - result\-spacing = 25; - width = \(dq100%\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/tofi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/philj56/tofi/blob/master/doc/config -.RE -.RE -.PP -\fBprograms\&.topgrade\&.enable\fR -.RS 4 -Whether to enable topgrade\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/topgrade\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.topgrade\&.package\fR -.RS 4 -The topgrade package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.topgrade -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/topgrade\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.topgrade\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/topgrade\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/r\-darwish/topgrade/wiki/Step\-list\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - misc = { - assume_yes = true; - disable = [ - \(dqflutter\(dq - \(dqnode\(dq - ]; - set_title = false; - cleanup = true; - }; - commands = { - \(dqRun garbage collection on Nix store\(dq = \(dqnix\-collect\-garbage\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/topgrade\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/r\-darwish/topgrade/wiki/Step\-list -.RE -.RE -.PP -\fBprograms\&.translate\-shell\&.enable\fR -.RS 4 -Whether to enable translate\-shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/translate\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.translate\-shell\&.package\fR -.RS 4 -The translate\-shell package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.translate\-shell -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/translate\-shell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.translate\-shell\&.settings\fR -.RS 4 -Options to add to \fI$XDG_CONFIG_HOME/translate\-shell/init\&.trans\fP file\&. See \fBhttps://github\&.com/soimort/translate\-shell/wiki/Configuration\fR[1]\fR for options\&. -.sp -\fIType:\fR attribute set of (boolean or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - hl = \(dqen\(dq; - tl = [ - \(dqes\(dq - \(dqfr\(dq - ]; - verbose = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/translate\-shell\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/soimort/translate\-shell/wiki/Configuration -.RE -.RE -.PP -\fBprograms\&.urxvt\&.enable\fR -.RS 4 -Whether to enable rxvt\-unicode terminal emulator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.package\fR -.RS 4 -The rxvt\-unicode package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.rxvt\-unicode -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - shading = 15; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.fonts\fR -.RS 4 -List of fonts to be used\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqxft:Droid Sans Mono Nerd Font:size=9\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.iso14755\fR -.RS 4 -ISO14755 support for viewing and entering unicode characters\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.keybindings\fR -.RS 4 -Mapping of keybindings to actions -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqShift\-Control\-C\(dq = \(dqeval:selection_to_clipboard\(dq; - \(dqShift\-Control\-V\(dq = \(dqeval:paste_clipboard\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\fR -.RS 4 -Scrollbar settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\&.enable\fR -.RS 4 -Whether to enable the scrollbar -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\&.align\fR -.RS 4 -Scrollbar alignment\&. -.sp -\fIType:\fR one of \[u201C]top\[u201D], \[u201C]bottom\[u201D], \[u201C]center\[u201D] -.sp -\fIDefault:\fR \(dqcenter\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\&.floating\fR -.RS 4 -Whether to display an rxvt scrollbar without a trough\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\&.position\fR -.RS 4 -Scrollbar position\&. -.sp -\fIType:\fR one of \[u201C]left\[u201D], \[u201C]right\[u201D] -.sp -\fIDefault:\fR \(dqright\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.bar\&.style\fR -.RS 4 -Scrollbar style\&. -.sp -\fIType:\fR one of \[u201C]rxvt\[u201D], \[u201C]plain\[u201D], \[u201C]next\[u201D], \[u201C]xterm\[u201D] -.sp -\fIDefault:\fR \(dqplain\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.keepPosition\fR -.RS 4 -Whether to keep a scroll position when TTY receives new lines\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.lines\fR -.RS 4 -Number of lines to save in the scrollback buffer\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.scrollOnKeystroke\fR -.RS 4 -Whether to scroll to bottom on keyboard input\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.scroll\&.scrollOnOutput\fR -.RS 4 -Whether to scroll to bottom on TTY output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.shading\fR -.RS 4 -Darken (0 to 99) or lighten (101 to 200) the transparent background\&. -.sp -\fIType:\fR integer between 0 and 200 (both inclusive) -.sp -\fIDefault:\fR 100 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.urxvt\&.transparent\fR -.RS 4 -Whether to enable pseudo\-transparency\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/urxvt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.uv\&.enable\fR -.RS 4 -Whether to enable uv\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/uv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.uv\&.package\fR -.RS 4 -The uv package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.uv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/uv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.uv\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/uv/uv\&.toml\fP\&. See \fBhttps://docs\&.astral\&.sh/uv/configuration/files/\fR[1]\fR and \fBhttps://docs\&.astral\&.sh/uv/reference/settings/\fR[2]\fR for more information\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - python\-downloads = \(dqnever\(dq; - python\-preference = \(dqonly\-system\(dq; - pip\&.index\-url = \(dqhttps://test\&.pypi\&.org/simple\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/uv\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.astral\&.sh/uv/configuration/files/ -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://docs\&.astral\&.sh/uv/reference/settings/ -.RE -.RE -.PP -\fBprograms\&.vdirsyncer\&.enable\fR -.RS 4 -Whether to enable vdirsyncer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vdirsyncer\&.package\fR -.RS 4 -The vdirsyncer package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vdirsyncer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vdirsyncer\&.statusPath\fR -.RS 4 -A directory where vdirsyncer will store some additional data for the next sync\&. -.sp -For more information, see the \fBvdirsyncer manual\fR[1]\fR\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$XDG_DATA_HOME/vdirsyncer/status\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vdirsyncer\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vdirsyncer\&.pimutils\&.org/en/stable/config\&.html#general\-section -.RE -.RE -.PP -\fBprograms\&.vesktop\&.enable\fR -.RS 4 -Whether to enable Vesktop, an alternate client for Discord with Vencord built\-in\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vesktop\&.package\fR -.RS 4 -The vesktop package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vesktop -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vesktop\&.settings\fR -.RS 4 -Vesktop settings written to \fI$XDG_CONFIG_HOME/vesktop/settings\&.json\fP\&. See \fBhttps://github\&.com/Vencord/Vesktop/blob/main/src/shared/settings\&.d\&.ts\fR[1]\fR for available options\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - appBadge = false; - arRPC = true; - checkUpdates = false; - customTitleBar = false; - disableMinSize = true; - minimizeToTray = false; - tray = false; - splashBackground = \(dq#000000\(dq; - splashColor = \(dq#ffffff\(dq; - splashTheming = true; - staticTitle = true; - hardwareAcceleration = true; - discordBranch = \(dqstable\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Vencord/Vesktop/blob/main/src/shared/settings\&.d\&.ts -.RE -.RE -.PP -\fBprograms\&.vesktop\&.vencord\&.settings\fR -.RS 4 -Vencord settings written to \fI$XDG_CONFIG_HOME/vesktop/settings/settings\&.json\fP\&. See \fBhttps://github\&.com/Vendicated/Vencord/blob/main/src/api/Settings\&.ts\fR[1]\fR for available options\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - autoUpdate = false; - autoUpdateNotification = false; - notifyAboutUpdates = false; - useQuickCss = true; - disableMinSize = true; - plugins = { - MessageLogger = { - enabled = true; - ignoreSelf = true; - }; - FakeNitro\&.enabled = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Vendicated/Vencord/blob/main/src/api/Settings\&.ts -.RE -.RE -.PP -\fBprograms\&.vesktop\&.vencord\&.themes\fR -.RS 4 -Themes to add for Vencord, they can be enabled by setting \fR\(oqprograms\&.vesktop\&.vencord\&.settings\&.enabledThemes\(cq\fP to \fR\(oq[ \(dqTHEME_NAME\&.css\(dq ]\(cq\fP -.sp -\fIType:\fR attribute set of (strings concatenated with \[u201C]\en\[u201D] or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vesktop\&.vencord\&.useSystem\fR -.RS 4 -Whether to enable Vencord package from Nixpkgs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vesktop\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vifm\&.enable\fR -.RS 4 -Whether to enable vifm, a Vim\-like file manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vifm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vifm\&.package\fR -.RS 4 -The vifm package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.vifm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vifm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vifm\&.extraConfig\fR -.RS 4 -Extra lines added to the \fI$XDG_CONFIG_HOME/vifm/vifmrc\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqmark h \(ti/\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vifm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.enable\fR -.RS 4 -Whether to enable Vim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.package\fR -.RS 4 -Resulting customized vim package -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.packageConfigurable\fR -.RS 4 -The vim\-full package to use\&. Vim package to customize -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vim\-full -.sp -\fIExample:\fR pkgs\&.vim -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.defaultEditor\fR -.RS 4 -Whether to configure \fBvim\fP as the default editor using the \fBEDITOR\fP environment variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.extraConfig\fR -.RS 4 -Custom \&.vimrc lines -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - set nocompatible - set nobackup -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.plugins\fR -.RS 4 -List of vim plugins to install\&. To get a list of supported plugins run: \fBnix\-env \-f \(aq<nixpkgs>\(aq \-qaP \-A vimPlugins\fP\&. -.sp -Note: String values are deprecated, please use actual packages\&. -.sp -\fIType:\fR list of (string or package) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - <derivation vimplugin\-vim\-sensible\-2024\-06\-08> -] -.fi -.RE -.sp -\fIExample:\fR [ pkgs\&.vimPlugins\&.YankRing ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.settings\fR -.RS 4 -At attribute set of Vim settings\&. The attribute names and corresponding values must be among the following supported options\&. -.RS 4 -.PP -\fIbackground\fP -.RS 4 -one of \[u201C]dark\[u201D], \[u201C]light\[u201D] -.RE -.PP -\fIbackupdir\fP -.RS 4 -list of string -.RE -.PP -\fIcopyindent\fP -.RS 4 -boolean -.RE -.PP -\fIdirectory\fP -.RS 4 -list of string -.RE -.PP -\fIexpandtab\fP -.RS 4 -boolean -.RE -.PP -\fIhidden\fP -.RS 4 -boolean -.RE -.PP -\fIhistory\fP -.RS 4 -signed integer -.RE -.PP -\fIignorecase\fP -.RS 4 -boolean -.RE -.PP -\fImodeline\fP -.RS 4 -boolean -.RE -.PP -\fImouse\fP -.RS 4 -one of \[u201C]n\[u201D], \[u201C]v\[u201D], \[u201C]i\[u201D], \[u201C]c\[u201D], \[u201C]h\[u201D], \[u201C]a\[u201D], \[u201C]r\[u201D] -.RE -.PP -\fImousefocus\fP -.RS 4 -boolean -.RE -.PP -\fImousehide\fP -.RS 4 -boolean -.RE -.PP -\fImousemodel\fP -.RS 4 -one of \[u201C]extend\[u201D], \[u201C]popup\[u201D], \[u201C]popup_setpos\[u201D] -.RE -.PP -\fInumber\fP -.RS 4 -boolean -.RE -.PP -\fIrelativenumber\fP -.RS 4 -boolean -.RE -.PP -\fIshiftwidth\fP -.RS 4 -signed integer -.RE -.PP -\fIsmartcase\fP -.RS 4 -boolean -.RE -.PP -\fItabstop\fP -.RS 4 -signed integer -.RE -.PP -\fIundodir\fP -.RS 4 -list of string -.RE -.PP -\fIundofile\fP -.RS 4 -boolean -.RE -.RE -.sp -See the Vim documentation for detailed descriptions of these options\&. Use \fBprograms.vim.extraConfig\fR[1]\fR to manually set any options not listed above\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - expandtab = true; - history = 1000; - background = \(dqdark\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.vim\&.extraConfig\fP option -.RE -.RE -.PP -\fBprograms\&.vim\-vint\&.enable\fR -.RS 4 -Whether to enable the Vint linter for Vimscript\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\-vint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\-vint\&.package\fR -.RS 4 -The vim\-vint package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.vim\-vint -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\-vint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\-vint\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/\&.vintrc\&.yaml\fP -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vim\-vint\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vinegar\&.enable\fR -.RS 4 -Whether to enable Vinegar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vinegar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vinegar\&.package\fR -.RS 4 -The vinegar package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.vinegar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vinegar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vinegar\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/vinegar/config\&.toml\fP\&. -.sp -See \fBhttps://vinegarhq\&.org/Configuration/\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (TOML value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - env = { - WINEFSYNC = \(dq1\(dq; - }; - studio = { - dxvk = false; - env = { - DXVK_HUD = \(dq0\(dq; - MANGOHUD = \(dq1\(dq; - }; - fflags = { - DFIntTaskSchedulerTargetFps = 144; - }; - renderer = \(dqVulkan\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vinegar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://vinegarhq\&.org/Configuration/ -.RE -.RE -.PP -\fBprograms\&.visidata\&.enable\fR -.RS 4 -Whether to enable Visidata\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/visidata\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.visidata\&.package\fR -.RS 4 -The visidata package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.visidata -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/visidata\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.visidata\&.visidatarc\fR -.RS 4 -Configuration settings and Python function declarations to be written to \(ti/\&.visidatarc\&. All available options can be found here: \fBhttps://www\&.visidata\&.org/docs/\fR[1]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - options\&.min_memory_mb=100 # stop processing without 100MB free - - bindkey(\(aq0\(aq, \(aqgo\-leftmost\(aq) # alias \(aq0\(aq to go to first column, like vim - - def median(values): - L = sorted(values) - return L[len(L)//2] - - vd\&.aggregator(\(aqmedian\(aq, median) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/visidata\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.visidata\&.org/docs/ -.RE -.RE -.PP -\fBprograms\&.vivaldi\&.nativeMessagingHosts\fR -.RS 4 -List of Vivaldi Browser native messaging hosts to install\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - pkgs\&.kdePackages\&.plasma\-browser\-integration -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/chromium\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.enable\fR -.RS 4 -Whether to enable Visual Studio Code\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.package\fR -.RS 4 -The vscode package to use\&. Version of Visual Studio Code to install\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vscode -.sp -\fIExample:\fR pkgs\&.vscodium -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.haskell\&.enable\fR -.RS 4 -Whether to enable Haskell integration for Visual Studio Code\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode/haskell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.haskell\&.hie\&.enable\fR -.RS 4 -Whether to enable Haskell IDE engine integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode/haskell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.haskell\&.hie\&.executablePath\fR -.RS 4 -The path to the Haskell IDE Engine executable\&. -.sp -Because hie\-nix is not packaged in Nixpkgs, you need to add it as an overlay or set this option\&. Example overlay configuration: -.sp -.RS 4 -.nf -nixpkgs\&.overlays = [ - (self: super: { hie\-nix = import \(ti/src/hie\-nix {}; }) -] -.fi -.RE -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${pkgs\&.hie\-nix\&.hies}/bin/hie\-wrapper\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -(import \(ti/src/haskell\-ide\-engine {})\&.hies + \(dq/bin/hie\-wrapper\(dq; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode/haskell\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.mutableExtensionsDir\fR -.RS 4 -Whether extensions can be installed or updated manually or by Visual Studio Code\&. Mutually exclusive to programs\&.vscode\&.profiles\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\fR -.RS 4 -A list of all VSCode profiles\&. Mutually exclusive to programs\&.vscode\&.mutableExtensionsDir -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.enableExtensionUpdateCheck\fR -.RS 4 -Whether to enable update notifications for extensions\&. Can only be set for the default profile, but it applies to all profiles\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.enableUpdateCheck\fR -.RS 4 -Whether to enable update checks/notifications\&. Can only be set for the default profile, but it applies to all profiles\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.extensions\fR -.RS 4 -The extensions Visual Studio Code should be started with\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.vscode\-extensions\&.bbenoist\&.nix ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.globalSnippets\fR -.RS 4 -Defines global user snippets\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - fixme = { - body = [ - \(dq$LINE_COMMENT FIXME: $0\(dq - ]; - description = \(dqInsert a FIXME remark\(dq; - prefix = [ - \(dqfixme\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.keybindings\fR -.RS 4 -Keybindings written to Visual Studio Code\[u2019]s \fIkeybindings\&.json\fP\&. This can be a JSON object or a path to a custom JSON file\&. -.sp -\fIType:\fR absolute path or list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - key = \(dqctrl+c\(dq; - command = \(dqeditor\&.action\&.clipboardCopyAction\(dq; - when = \(dqtextInputFocus\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.languageSnippets\fR -.RS 4 -Defines user snippets for different languages\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - haskell = { - fixme = { - body = [ - \(dq$LINE_COMMENT FIXME: $0\(dq - ]; - description = \(dqInsert a FIXME remark\(dq; - prefix = [ - \(dqfixme\(dq - ]; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.userSettings\fR -.RS 4 -Configuration written to Visual Studio Code\[u2019]s \fIsettings\&.json\fP\&. This can be a JSON object or a path to a custom JSON file\&. -.sp -\fIType:\fR absolute path or JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqfiles\&.autoSave\(dq = \(dqoff\(dq; - \(dq[nix]\(dq\&.\(dqeditor\&.tabSize\(dq = 2; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vscode\&.profiles\&.<name>\&.userTasks\fR -.RS 4 -Configuration written to Visual Studio Code\[u2019]s \fItasks\&.json\fP\&. This can be a JSON object or a path to a custom JSON file\&. -.sp -\fIType:\fR absolute path or JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - version = \(dq2\&.0\&.0\(dq; - tasks = [ - { - type = \(dqshell\(dq; - label = \(dqHello task\(dq; - command = \(dqhello\(dq; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/vscode\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wallust\&.enable\fR -.RS 4 -Whether to enable Wallust color scheme generator\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wallust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wallust\&.package\fR -.RS 4 -The wallust package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wallust -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wallust\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wallust\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/wallust/wallust\&.toml\fP\&. See \fBhttps://explosion\-mental\&.codeberg\&.page/wallust/config/\fR[1]\fR for documentation\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - palette = \(dqsoftdark\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wallust\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://explosion\-mental\&.codeberg\&.page/wallust/config/ -.RE -.RE -.PP -\fBprograms\&.watson\&.enable\fR -.RS 4 -Whether to enable watson, a wonderful CLI to track your time\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.watson\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.watson\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.watson\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.watson\&.package\fR -.RS 4 -The watson package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.watson -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.watson\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/watson/config\fP on Linux or \fI$HOME/Library/Application Support/watson/config\fP on Darwin\&. -.sp -See \fBhttps://github\&.com/TailorDev/Watson/blob/master/docs/user\-guide/configuration\&.md\fR[1]\fR for an example configuration\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - backend = { - url = \(dqhttps://api\&.crick\&.fr\(dq; - token = \(dqyourapitoken\(dq; - }; - - options = { - stop_on_start = true; - stop_on_restart = false; - date_format = \(dq%Y\&.%m\&.%d\(dq; - time_format = \(dq%H:%M:%S%z\(dq; - week_start = \(dqmonday\(dq; - log_current = false; - pager = true; - report_current = false; - reverse_log = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/watson\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/TailorDev/Watson/blob/master/docs/user\-guide/configuration\&.md -.RE -.RE -.PP -\fBprograms\&.waveterm\&.enable\fR -.RS 4 -Whether to enable waveterm\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waveterm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waveterm\&.package\fR -.RS 4 -The waveterm package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.waveterm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waveterm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waveterm\&.bookmarks\fR -.RS 4 -Bookmark definitions for WaveTerm\&. Details about the format and the options can be found here: \fBhttps://docs\&.waveterm\&.dev/config#webbookmarks\-configuration\fR[1]\fR\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbookmark@claude\(dq = { - title = \(dqClaude\(dq; - url = \(dqhttps://claude\&.ai\(dq; - }; - \(dqbookmark@github\(dq = { - title = \(dqGitHub\(dq; - url = \(dqhttps://github\&.com\(dq; - }; - \(dqbookmark@google\(dq = { - title = \(dqGoogle\(dq; - url = \(dqhttps://www\&.google\&.com\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waveterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.waveterm\&.dev/config#webbookmarks\-configuration -.RE -.RE -.PP -\fBprograms\&.waveterm\&.settings\fR -.RS 4 -Configuration settings for WaveTerm\&. All available options can be found here: \fBhttps://docs\&.waveterm\&.dev/config#configuration\-keys\fR[1]\fR\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqapp:dismissarchitecturewarning\(dq = false; - \(dqautoupdate:enabled\(dq = false; - \(dqterm:fontfamily\(dq = \(dqJuliaMono\(dq; - \(dqterm:fontsize\(dq = 12\&.0; - \(dqterm:theme\(dq = \(dqmy\-custom\-theme\(dq; - \(dqterm:transparency\(dq = 0\&.5; - \(dqwindow:bgcolor\(dq = \(dq#000000\(dq; - \(dqwindow:blur\(dq = true; - \(dqwindow:opacity\(dq = 0\&.5; - \(dqwindow:reducedmotion\(dq = true; - \(dqwindow:showhelp\(dq = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waveterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.waveterm\&.dev/config#configuration\-keys -.RE -.RE -.PP -\fBprograms\&.waveterm\&.themes\fR -.RS 4 -User defined terminal themes\&. All the details about available options and format can be found here: \fBhttps://docs\&.waveterm\&.dev/config#terminal\-theming\fR[1]\fR\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default\-dark = { - background = \(dq#00000077\(dq; - black = \(dq#757575\(dq; - blue = \(dq#85aacb\(dq; - brightBlack = \(dq#727272\(dq; - brightBlue = \(dq#9ab6cb\(dq; - brightCyan = \(dq#b7b8cb\(dq; - brightGreen = \(dq#a3dd97\(dq; - brightMagenta = \(dq#cc8ecb\(dq; - brightRed = \(dq#cc9d97\(dq; - brightWhite = \(dq#f0f0f0\(dq; - brightYellow = \(dq#cbcaaa\(dq; - cmdtext = \(dq#f0f0f0\(dq; - cursorAccent = \(dq\(dq; - cyan = \(dq#74a7cb\(dq; - \(dqdisplay:name\(dq = \(dqDefault Dark\(dq; - \(dqdisplay:order\(dq = 1; - foreground = \(dq#c1c1c1\(dq; - gray = \(dq#8b918a\(dq; - green = \(dq#76c266\(dq; - magenta = \(dq#cc72ca\(dq; - red = \(dq#cc685c\(dq; - selectionBackground = \(dq\(dq; - white = \(dq#c1c1c1\(dq; - yellow = \(dq#cbca9b\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waveterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.waveterm\&.dev/config#terminal\-theming -.RE -.RE -.PP -\fBprograms\&.waybar\&.enable\fR -.RS 4 -Whether to enable Waybar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waybar\&.package\fR -.RS 4 -Waybar package to use\&. Set to \fR\(oqnull\(cq\fP to use the default package\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.waybar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waybar\&.settings\fR -.RS 4 -Configuration for Waybar, see \fBhttps://github\&.com/Alexays/Waybar/wiki/Configuration\fR[1]\fR for supported values\&. -.sp -\fIType:\fR (list of (JSON value)) or attribute set of (JSON value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - mainBar = { - layer = \(dqtop\(dq; - position = \(dqtop\(dq; - height = 30; - output = [ - \(dqeDP\-1\(dq - \(dqHDMI\-A\-1\(dq - ]; - modules\-left = [ \(dqsway/workspaces\(dq \(dqsway/mode\(dq \(dqwlr/taskbar\(dq ]; - modules\-center = [ \(dqsway/window\(dq \(dqcustom/hello\-from\-waybar\(dq ]; - modules\-right = [ \(dqmpd\(dq \(dqcustom/mymodule#with\-css\-id\(dq \(dqtemperature\(dq ]; - - \(dqsway/workspaces\(dq = { - disable\-scroll = true; - all\-outputs = true; - }; - \(dqcustom/hello\-from\-waybar\(dq = { - format = \(dqhello {}\(dq; - max\-length = 40; - interval = \(dqonce\(dq; - exec = pkgs\&.writeShellScript \(dqhello\-from\-waybar\(dq \(aq\(aq - echo \(dqfrom within waybar\(dq - \(aq\(aq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Alexays/Waybar/wiki/Configuration -.RE -.RE -.PP -\fBprograms\&.waybar\&.style\fR -.RS 4 -CSS style of the bar\&. -.sp -See \fBhttps://github\&.com/Alexays/Waybar/wiki/Configuration\fR[1]\fR for the documentation\&. -.sp -If the value is set to a path literal, then the path will be used as the css file\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - * { - border: none; - border\-radius: 0; - font\-family: Source Code Pro; - } - window#waybar { - background: #16191C; - color: #AAB2BF; - } - #workspaces button { - padding: 0 5px; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/Alexays/Waybar/wiki/Configuration -.RE -.RE -.PP -\fBprograms\&.waybar\&.systemd\&.enable\fR -.RS 4 -Whether to enable Waybar systemd integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waybar\&.systemd\&.enableDebug\fR -.RS 4 -Whether to enable debug logging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waybar\&.systemd\&.enableInspect\fR -.RS 4 -Inspect objects and find their CSS classes, experiment with live CSS styles, and lookup the current value of CSS properties\&. -.sp -See \fBhttps://developer\&.gnome\&.org/documentation/tools/inspector\&.html\fR[1]\fR -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developer\&.gnome\&.org/documentation/tools/inspector\&.html -.RE -.RE -.PP -\fBprograms\&.waybar\&.systemd\&.target\fR -.RS 4 -The systemd target that will automatically start the Waybar service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waybar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waylogout\&.enable\fR -.RS 4 -Whether or not to enable waylogout\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waylogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waylogout\&.package\fR -.RS 4 -The waylogout package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.waylogout -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waylogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.waylogout\&.settings\fR -.RS 4 -Default arguments to \fBwaylogout\fP\&. An empty set disables configuration generation\&. -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or absolute path or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - color = \(dq808080\(dq; - effect\-blur = \(dq7x4\(dq; - poweroff\-command = \(dqsystemctl poweroff\(dq; - reboot\-command = \(dqsystemctl reboot\(dq; - scaling = \(dqfit\(dq; - screenshots = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/waylogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wayprompt\&.enable\fR -.RS 4 -Whether to enable Wayprompt, a password\-prompter for Wayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wayprompt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wayprompt\&.package\fR -.RS 4 -The wayprompt package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wayprompt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wayprompt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wayprompt\&.settings\fR -.RS 4 -Configuration for wayprompt written to \fI$XDG_CONFIG_HOME/wayprompt/config\&.ini\fP\&. See \fBwayprompt\fP\fR(5)\fP for a list of available options\&. Note that colours can be either 6\-hex\-digit RGB or 8\-hex\-digit RGBA values\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general = { - font\-regular = \(dqsans:size=14\(dq; - pin\-square\-amount = 32; - }; - colours = { - background = \(dqffffffaa\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wayprompt\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wezterm\&.enable\fR -.RS 4 -Whether to enable wezterm\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wezterm\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.wezterm\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.wezterm\&.package\fR -.RS 4 -The wezterm package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.wezterm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wezterm\&.colorSchemes\fR -.RS 4 -Attribute set of additional color schemes to be written to \fI$XDG_CONFIG_HOME/wezterm/colors\fP, where each key is taken as the name of the corresponding color scheme\&. See \fBhttps://wezfurlong\&.org/wezterm/config/appearance\&.html#defining\-a\-color\-scheme\-in\-a\-separate\-file\fR[1]\fR for more details of the TOML color scheme format\&. -.sp -\fIType:\fR attribute set of (TOML value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -myCoolTheme = { - ansi = [ - \(dq#222222\(dq \(dq#D14949\(dq \(dq#48874F\(dq \(dq#AFA75A\(dq - \(dq#599797\(dq \(dq#8F6089\(dq \(dq#5C9FA8\(dq \(dq#8C8C8C\(dq - ]; - brights = [ - \(dq#444444\(dq \(dq#FF6D6D\(dq \(dq#89FF95\(dq \(dq#FFF484\(dq - \(dq#97DDFF\(dq \(dq#FDAAF2\(dq \(dq#85F5DA\(dq \(dq#E9E9E9\(dq - ]; - background = \(dq#1B1B1B\(dq; - cursor_bg = \(dq#BEAF8A\(dq; - cursor_border = \(dq#BEAF8A\(dq; - cursor_fg = \(dq#1B1B1B\(dq; - foreground = \(dq#BEAF8A\(dq; - selection_bg = \(dq#444444\(dq; - selection_fg = \(dq#E9E9E9\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wezfurlong\&.org/wezterm/config/appearance\&.html#defining\-a\-color\-scheme\-in\-a\-separate\-file -.RE -.RE -.PP -\fBprograms\&.wezterm\&.extraConfig\fR -.RS 4 -Extra configuration written to \fI$XDG_CONFIG_HOME/wezterm/wezterm\&.lua\fP\&. See \fBhttps://wezfurlong\&.org/wezterm/config/files\&.html\fR[1]\fR how to configure\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\-\- Your lua code / config here -local mylib = require \(aqmylib\(aq; -return { - usemylib = mylib\&.do_fun(); - font = wezterm\&.font(\(dqJetBrains Mono\(dq), - font_size = 16\&.0, - color_scheme = \(dqTomorrow Night\(dq, - hide_tab_bar_if_only_one_tab = true, - default_prog = { \(dqzsh\(dq, \(dq\-\-login\(dq, \(dq\-c\(dq, \(dqtmux attach \-t dev || tmux new \-s dev\(dq }, - keys = { - {key=\(dqn\(dq, mods=\(dqSHIFT|CTRL\(dq, action=\(dqToggleFullScreen\(dq}, - } -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wezterm\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wezfurlong\&.org/wezterm/config/files\&.html -.RE -.RE -.PP -\fBprograms\&.wlogout\&.enable\fR -.RS 4 -Whether to enable wlogout\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.package\fR -.RS 4 -The wlogout package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wlogout -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\fR -.RS 4 -Layout configuration for wlogout, see \fBhttps://github\&.com/ArtsyMacaw/wlogout#config\fR[1]\fR for supported values\&. -.sp -\fIType:\fR list of (JSON value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - label = \(dqshutdown\(dq; - action = \(dqsystemctl poweroff\(dq; - text = \(dqShutdown\(dq; - keybind = \(dqs\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ArtsyMacaw/wlogout#config -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.action\fR -.RS 4 -Command to execute when clicked\&. -.sp -\fIType:\fR absolute path or string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqsystemctl poweroff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.circular\fR -.RS 4 -Make button circular\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.height\fR -.RS 4 -Relative height of tile\&. -.sp -\fIType:\fR null or integer or floating point number between 0 and 1 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.keybind\fR -.RS 4 -Keyboard character to trigger this action\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.label\fR -.RS 4 -CSS label of button\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqshutdown\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.text\fR -.RS 4 -Text displayed on button\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqShutdown\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.layout\&.*\&.width\fR -.RS 4 -Relative width of tile\&. -.sp -\fIType:\fR null or integer or floating point number between 0 and 1 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wlogout\&.style\fR -.RS 4 -CSS style of the bar\&. -.sp -See \fBhttps://github\&.com/ArtsyMacaw/wlogout#style\fR[1]\fR for the documentation\&. -.sp -If the value is set to a path literal, then the path will be used as the css file\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - window { - background: #16191C; - } - - button { - color: #AAB2BF; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wlogout\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ArtsyMacaw/wlogout#style -.RE -.RE -.PP -\fBprograms\&.wofi\&.enable\fR -.RS 4 -Whether to enable wofi: a launcher/menu program for wlroots based wayland compositors such as sway\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wofi\&.package\fR -.RS 4 -The wofi package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wofi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wofi\&.settings\fR -.RS 4 -Configuration options for wofi\&. See \fBwofi\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - location = \(dqbottom\-right\(dq; - allow_markup = true; - width = 250; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.wofi\&.style\fR -.RS 4 -CSS style for wofi to use as a stylesheet\&. See \fBwofi\fP\fR(7)\fP -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - * { - font\-family: monospace; - } - - window { - background\-color: #7c818c; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/wofi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xmobar\&.enable\fR -.RS 4 -Whether to enable Xmobar, a minimalistic status bar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xmobar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xmobar\&.package\fR -.RS 4 -The xmobar package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.haskellPackages\&.xmobar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xmobar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xmobar\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fI$XDG_CONFIG_HOME/xmobar/\&.xmobarrc\fP\&. See \fBhttps://xmobar\&.org/#configuration\fR[1]\fR for options\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -Config - { font = \(dqFira Code\(dq - , borderColor = \(dq#d0d0d0\(dq - , border = FullB - , borderWidth = 3 - , bgColor = \(dq#222\(dq - , fgColor = \(dqgrey\(dq - , position = TopSize C 99 30 - , commands = - [ Run Cpu [\(dq\-t\(dq, \(dqcpu: <fc=#4eb4fa><bar> <total>%</fc>\(dq] 10 - , Run Network \(dqenp3s0\(dq [\(dq\-S\(dq, \(dqTrue\(dq, \(dq\-t\(dq, \(dqeth: <fc=#4eb4fa><rx></fc>/<fc=#4eb4fa><tx></fc>\(dq] 10 - , Run Memory [\(dq\-t\(dq,\(dqmem: <fc=#4eb4fa><usedbar> <usedratio>%</fc>\(dq] 10 - , Run Date \(dqdate: <fc=#4eb4fa>%a %d %b %Y %H:%M:%S </fc>\(dq \(dqdate\(dq 10 - , Run StdinReader - ] - , sepChar = \(dq%\(dq - , alignSep = \(dq}{\(dq - , template = \(dq %StdinReader% | %cpu% | %memory% | %enp3s0% }{%date% \(dq - } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xmobar\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://xmobar\&.org/#configuration -.RE -.RE -.PP -\fBprograms\&.xplr\&.enable\fR -.RS 4 -Whether to enable xplr, terminal UI based file explorer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xplr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xplr\&.package\fR -.RS 4 -The xplr package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.xplr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xplr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xplr\&.extraConfig\fR -.RS 4 -Extra xplr configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -require(\(dqwl\-clipboard\(dq)\&.setup { - copy_command = \(dqwl\-copy \-t text/uri\-list\(dq, - paste_command = \(dqwl\-paste\(dq, - keep_selection = true, -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xplr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.xplr\&.plugins\fR -.RS 4 -An attribute set of plugin paths to be added to the [package\&.path]\fBhttps://www\&.lua\&.org/manual/5\&.4/manual\&.html#pdf\-package\&.path\fR[1]\fR of the \fI\(ti/config/xplr/init\&.lua\fP configuration file\&. -.sp -Must be a package or string representing the plugin directory\[u2019]s path\&. If the path string is not absolute, it will be relative to \fI$XDG_CONFIG_HOME/xplr/init\&.lua\fP\&. -.sp -\fIType:\fR null or (attribute set of (package or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - wl\-clipboard = fetchFromGitHub { - owner = \(dqsayanarijit\(dq; - repo = \(dqwl\-clipboard\&.xplr\(dq; - rev = \(dqa3ffc87460c5c7f560bffea689487ae14b36d9c3\(dq; - hash = \(dqsha256\-I4rh5Zks9hiXozBiPDuRdHwW5I7ppzEpQNtirY0Lcks=\(dq; - } - local\-plugin = \(dq/home/user/\&.config/plugins/local\-plugin\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/xplr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.lua\&.org/manual/5\&.4/manual\&.html#pdf\-package\&.path -.RE -.RE -.PP -\fBprograms\&.yambar\&.enable\fR -.RS 4 -Whether to enable Yambar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yambar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yambar\&.package\fR -.RS 4 -The yambar package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.yambar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yambar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yambar\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/yambar/config\&.yml\fP\&. See \fByambar\fP\fR(5)\fP for options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -bar = { - location = \(dqtop\(dq; - height = 26; - background = \(dq00000066\(dq; - - right = [ - { - clock\&.content = [ - { - string\&.text = \(dq{time}\(dq; - } - ]; - } - ]; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yambar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yambar\&.systemd\&.enable\fR -.RS 4 -Whether to enable yambar systemd integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yambar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yambar\&.systemd\&.target\fR -.RS 4 -The systemd target that will automatically start the yambar service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yambar\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yazi\&.enable\fR -.RS 4 -Whether to enable yazi\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yazi\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.yazi\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.yazi\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.yazi\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.yazi\&.package\fR -.RS 4 -The yazi package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.yazi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yazi\&.flavors\fR -.RS 4 -Pre\-made themes\&. Values should be a package or path containing the required files\&. Will be linked to \fI$XDG_CONFIG_HOME/yazi/flavors/<name>\&.yazi\fP\&. -.sp -See \fBhttps://yazi\-rs\&.github\&.io/docs/flavors/overview/\fR[1]\fR for documentation\&. -.sp -\fIType:\fR attribute set of (absolute path or package) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - foo = \&./foo; - bar = pkgs\&.bar; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://yazi\-rs\&.github\&.io/docs/flavors/overview/ -.RE -.RE -.PP -\fBprograms\&.yazi\&.initLua\fR -.RS 4 -The init\&.lua for Yazi itself\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \&./init\&.lua -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yazi\&.keymap\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/yazi/keymap\&.toml\fP\&. -.sp -See \fBhttps://yazi\-rs\&.github\&.io/docs/configuration/keymap\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - input\&.prepend_keymap = [ - { run = \(dqclose\(dq; on = [ \(dq<C\-q>\(dq ]; } - { run = \(dqclose \-\-submit\(dq; on = [ \(dq<Enter>\(dq ]; } - { run = \(dqescape\(dq; on = [ \(dq<Esc>\(dq ]; } - { run = \(dqbackspace\(dq; on = [ \(dq<Backspace>\(dq ]; } - ]; - mgr\&.prepend_keymap = [ - { run = \(dqescape\(dq; on = [ \(dq<Esc>\(dq ]; } - { run = \(dqquit\(dq; on = [ \(dqq\(dq ]; } - { run = \(dqclose\(dq; on = [ \(dq<C\-q>\(dq ]; } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://yazi\-rs\&.github\&.io/docs/configuration/keymap -.RE -.RE -.PP -\fBprograms\&.yazi\&.plugins\fR -.RS 4 -Lua plugins\&. Values should be a package or path containing an \fR\(oqinit\&.lua\(cq\fP file\&. Will be linked to \fI$XDG_CONFIG_HOME/yazi/plugins/<name>\&.yazi\fP\&. -.sp -See \fBhttps://yazi\-rs\&.github\&.io/docs/plugins/overview\fR[1]\fR for documentation\&. -.sp -\fIType:\fR attribute set of (absolute path or package) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - foo = \&./foo; - bar = pkgs\&.bar; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://yazi\-rs\&.github\&.io/docs/plugins/overview -.RE -.RE -.PP -\fBprograms\&.yazi\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/yazi/yazi\&.toml\fP\&. -.sp -See \fBhttps://yazi\-rs\&.github\&.io/docs/configuration/yazi\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - log = { - enabled = false; - }; - mgr = { - show_hidden = false; - sort_by = \(dqmtime\(dq; - sort_dir_first = true; - sort_reverse = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://yazi\-rs\&.github\&.io/docs/configuration/yazi -.RE -.RE -.PP -\fBprograms\&.yazi\&.shellWrapperName\fR -.RS 4 -Name of the shell wrapper to be called\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqyy\(dq -.sp -\fIExample:\fR \(dqy\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yazi\&.theme\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/yazi/theme\&.toml\fP\&. -.sp -See \fBhttps://yazi\-rs\&.github\&.io/docs/configuration/theme\fR[1]\fR for the full list of options -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - filetype = { - rules = [ - { fg = \(dq#7AD9E5\(dq; mime = \(dqimage/*\(dq; } - { fg = \(dq#F3D398\(dq; mime = \(dqvideo/*\(dq; } - { fg = \(dq#F3D398\(dq; mime = \(dqaudio/*\(dq; } - { fg = \(dq#CD9EFC\(dq; mime = \(dqapplication/bzip\(dq; } - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yazi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://yazi\-rs\&.github\&.io/docs/configuration/theme -.RE -.RE -.PP -\fBprograms\&.yt\-dlp\&.enable\fR -.RS 4 -Whether to enable yt\-dlp\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yt\-dlp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yt\-dlp\&.package\fR -.RS 4 -The yt\-dlp package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.yt\-dlp -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yt\-dlp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yt\-dlp\&.extraConfig\fR -.RS 4 -Extra configuration to add to \fI$XDG_CONFIG_HOME/yt\-dlp/config\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \-\-update - \-F -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yt\-dlp\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.yt\-dlp\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/yt\-dlp/config\fP\&. -.sp -Options must be specified in their \[u201C]long form\[u201D], for example, \fR\(oqupdate = true;\(cq\fP instead of \fR\(oqU = true;\(cq\fP\&. Short options can be specified in the \fR\(oqextraConfig\(cq\fP option\&. See \fBhttps://github\&.com/yt\-dlp/yt\-dlp#configuration\fR[1]\fR for explanation about possible values\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - embed\-thumbnail = true; - embed\-subs = true; - sub\-langs = \(dqall\(dq; - downloader = \(dqaria2c\(dq; - downloader\-args = \(dqaria2c:\(aq\-c \-x8 \-s8 \-k1M\(aq\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/yt\-dlp\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/yt\-dlp/yt\-dlp#configuration -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.enable\fR -.RS 4 -Whether to enable z\&.lua\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.enableAliases\fR -.RS 4 -Whether to enable recommended z\&.lua aliases\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.package\fR -.RS 4 -The z\-lua package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.z\-lua -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.z\-lua\&.options\fR -.RS 4 -List of options to pass to z\&.lua\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqenhanced\(dq - \(dqonce\(dq - \(dqfzf\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/z\-lua\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zathura\&.enable\fR -.RS 4 -Whether to enable Zathura, a highly customizable and functional document viewer focused on keyboard interaction\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zathura\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zathura\&.package\fR -.RS 4 -The zathura package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zathura -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zathura\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zathura\&.extraConfig\fR -.RS 4 -Additional commands for zathura that will be added to the \fIzathurarc\fP file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zathura\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zathura\&.mappings\fR -.RS 4 -Add \fB:map\fP mappings to zathura and make them permanent\&. See \fBzathurarc\fP\fR(5)\fP for the full list of possible mappings\&. -.sp -You can create a mode\-specific mapping by specifying the mode before the key: \fR\(oq\(dq[normal] <C\-b>\(dq = \(dqscroll left\(dq;\(cq\fP -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq<Right>\(dq = \(dqnavigate next\(dq; - D = \(dqtoggle_page_mode\(dq; - \(dq[fullscreen] <C\-i>\(dq = \(dqzoom in\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zathura\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zathura\&.options\fR -.RS 4 -Add \fB:set\fP command options to zathura and make them permanent\&. See \fBzathurarc\fP\fR(5)\fP for the full list of options\&. -.sp -\fIType:\fR attribute set of (string or boolean or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default\-bg = \(dq#000000\(dq; - default\-fg = \(dq#FFFFFF\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zathura\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.enable\fR -.RS 4 -Whether to enable Zed, the high performance, multiplayer code editor from the creators of Atom and Tree\-sitter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.package\fR -.RS 4 -The zed\-editor package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.zed\-editor -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.extensions\fR -.RS 4 -A list of the extensions Zed should install on startup\&. Use the name of a repository in the \fBextension list\fR[1]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(dqswift\(dq \(dqnix\(dq \(dqxy\-zed\(dq ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/zed\-industries/extensions/tree/main/extensions -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.extraPackages\fR -.RS 4 -Extra packages available to Zed\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.nixd ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.installRemoteServer\fR -.RS 4 -Whether to symlink the Zed\[u2019]s remote server binary to the expected location\&. This allows remotely connecting to this system from a distant Zed client\&. -.sp -For more information, consult the \fB\[u201C]Remote Server\[u201D] section\fR[1]\fR in the wiki\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wiki\&.nixos\&.org/wiki/Zed#Remote_Server -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.themes\fR -.RS 4 -Each theme is written to \fI$XDG_CONFIG_HOME/zed/themes/theme\-name\&.json\fP where the name of each attribute is the theme\-name -.sp -See \fBhttps://zed\&.dev/docs/extensions/themes\fR[1]\fR for the structure of a Zed theme -.sp -\fIType:\fR attribute set of (JSON value or absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://zed\&.dev/docs/extensions/themes -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.userKeymaps\fR -.RS 4 -Configuration written to Zed\[u2019]s \fIkeymap\&.json\fP\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - context = \(dqWorkspace\(dq; - bindings = { - ctrl\-shift\-t = \(dqworkspace::NewTerminal\(dq; - }; - }; -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zed\-editor\&.userSettings\fR -.RS 4 -Configuration written to Zed\[u2019]s \fIsettings\&.json\fP\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - features = { - copilot = false; - }; - telemetry = { - metrics = false; - }; - vim_mode = false; - ui_font_size = 16; - buffer_font_size = 16; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zed\-editor\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zellij\&.enable\fR -.RS 4 -Whether to enable Zellij\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zellij\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zellij\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zellij\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zellij\&.package\fR -.RS 4 -The zellij package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zellij -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zellij\&.attachExistingSession\fR -.RS 4 -Whether to attach to the default session after being autostarted if a Zellij session already exists\&. -.sp -Variable is checked in \fR\(oqauto\-start\(cq\fP script\&. Requires shell integration to be enabled to have effect\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zellij\&.exitShellOnExit\fR -.RS 4 -Whether to exit the shell when Zellij exits after being autostarted\&. -.sp -Variable is checked in \fR\(oqauto\-start\(cq\fP script\&. Requires shell integration to be enabled to have effect\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zellij\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/zellij/config\&.kdl\fP\&. -.sp -If \fR\(oqprograms\&.zellij\&.package\&.version\(cq\fP is older than 0\&.32\&.0, then the configuration is written to \fI$XDG_CONFIG_HOME/zellij/config\&.yaml\fP\&. -.sp -See \fBhttps://zellij\&.dev/documentation\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = \(dqcustom\(dq; - themes\&.custom\&.fg = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://zellij\&.dev/documentation -.RE -.RE -.PP -\fBprograms\&.zellij\&.themes\fR -.RS 4 -Each them is written to \fI$XDG_CONFIG_HOME/zellij/themes/NAME\&.kdl\fP\&. See \fBhttps://zellij\&.dev/documentation/themes\&.html\fR[1]\fR for more information\&. -.sp -\fIType:\fR attribute set of (YAML 1\&.1 value or absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zellij\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://zellij\&.dev/documentation/themes\&.html -.RE -.RE -.PP -\fBprograms\&.zk\&.enable\fR -.RS 4 -Whether to enable zk\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zk\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zk\&.package\fR -.RS 4 -The zk package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.zk -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zk\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zk\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/zk/config\&.toml\fP\&. -.sp -See \fBhttps://github\&.com/mickael\-menu/zk/blob/main/docs/config\&.md\fR[1]\fR for available options and documentation\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - note = { - language = \(dqen\(dq; - default\-title = \(dqUntitled\(dq; - filename = \(dq{{id}}\-{{slug title}}\(dq; - extension = \(dqmd\(dq; - template = \(dqdefault\&.md\(dq; - id\-charset = \(dqalphanum\(dq; - id\-length = 4; - id\-case = \(dqlower\(dq; - }; - extra = { - author = \(dqMicka\[u00EB]l\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zk\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/mickael\-menu/zk/blob/main/docs/config\&.md -.RE -.RE -.PP -\fBprograms\&.zoxide\&.enable\fR -.RS 4 -Whether to enable zoxide\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zoxide\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zoxide\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zoxide\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zoxide\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBprograms\&.zoxide\&.package\fR -.RS 4 -The zoxide package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zoxide -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zoxide\&.options\fR -.RS 4 -List of options to pass to zoxide init\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-no\-cmd\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zoxide\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enable\fR -.RS 4 -Whether to enable Z shell (Zsh)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableCompletion\fR -.RS 4 -Enable zsh completion\&. Don\[u2019]t forget to add -.sp -.RS 4 -.nf - environment\&.pathsToLink = [ \(dq/share/zsh\(dq ]; -.fi -.RE -.sp -to your system configuration to get completion for system packages (e\&.g\&. systemd)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableVteIntegration\fR -.RS 4 -Whether to enable integration with terminals using the VTE library\&. This will let the terminal track the current working directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/vte\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.package\fR -.RS 4 -The zsh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zsh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.antidote\&.enable\fR -.RS 4 -Whether to enable antidote \- a zsh plugin manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/antidote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.antidote\&.package\fR -.RS 4 -The antidote package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.antidote -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/antidote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.antidote\&.plugins\fR -.RS 4 -List of antidote plugins\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqzsh\-users/zsh\-autosuggestions\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/antidote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.antidote\&.useFriendlyNames\fR -.RS 4 -Whether to enable friendly names\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/antidote\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.autocd\fR -.RS 4 -Automatically enter into a directory if typed directly into shell\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.autosuggestion\&.enable\fR -.RS 4 -Enable zsh autosuggestions -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.autosuggestion\&.highlight\fR -.RS 4 -Custom styles for autosuggestion highlighting\&. See \fBzshzle\fP\fR(1)\fP for syntax\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfg=#ff00ff,bg=cyan,bold,underline\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.autosuggestion\&.strategy\fR -.RS 4 -\fR\(oqZSH_AUTOSUGGEST_STRATEGY\(cq\fP is an array that specifies how suggestions should be generated\&. The strategies in the array are tried successively until a suggestion is found\&. There are currently three built\-in strategies to choose from: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqhistory\(cq\fP: Chooses the most recent match from history\&. -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqcompletion\(cq\fP: Chooses a suggestion based on what tab\-completion would suggest\&. (requires \fR\(oqzpty\(cq\fP module) -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqmatch_prev_cmd\(cq\fP: Like \fR\(oqhistory\(cq\fP, but chooses the most recent match whose preceding history item matches the most recently executed command\&. Note that this strategy won\[u2019]t work as expected with ZSH options that don\[u2019]t preserve the history order such as \fR\(oqHIST_IGNORE_ALL_DUPS\(cq\fP or \fR\(oqHIST_EXPIRE_DUPS_FIRST\(cq\fP\&. -.RE -.sp -Setting the option to an empty list \fR\(oq[]\(cq\fP will make ZSH_AUTOSUGGESTION_STRATEGY not be set automatically, allowing the variable to be declared in \fBprograms\&.zsh\&.localVariables\fP or \fBprograms\&.zsh\&.sessionVariables\fP -.sp -\fIType:\fR list of (one of \[u201C]history\[u201D], \[u201C]completion\[u201D], \[u201C]match_prev_cmd\[u201D]) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqhistory\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.cdpath\fR -.RS 4 -List of paths to autocomplete calls to \fBcd\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.completionInit\fR -.RS 4 -Initialization commands to run when completion is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dqautoload \-U compinit && compinit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.defaultKeymap\fR -.RS 4 -The default base keymap to use\&. -.sp -\fIType:\fR null or one of \[u201C]emacs\[u201D], \[u201C]vicmd\[u201D], \[u201C]viins\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqemacs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.dirHashes\fR -.RS 4 -An attribute set that adds to named directory hash table\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - docs = \(dq$HOME/Documents\(dq; - vids = \(dq$HOME/Videos\(dq; - dl = \(dq$HOME/Downloads\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.dotDir\fR -.RS 4 -Directory where the zsh configuration and more should be located, relative to the users home directory\&. The default is the home directory\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\&.config/zsh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.envExtra\fR -.RS 4 -Extra commands that should be added to \fI\&.zshenv\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\fR -.RS 4 -Options related to commands history configuration\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.append\fR -.RS 4 -If set, zsh sessions will append their history list to the history file, rather than replace it\&. Thus, multiple parallel zsh sessions will all have the new entries from their history lists added to the history file, in the order that they exit\&. -.sp -This file will still be periodically re\-written to trim it when the number of lines grows 20% beyond the value specified by \fR\(oqprograms\&.zsh\&.history\&.save\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.expireDuplicatesFirst\fR -.RS 4 -Expire duplicates first\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.extended\fR -.RS 4 -Save timestamp into the history file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.findNoDups\fR -.RS 4 -Do not display a line previously found in the history file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.ignoreAllDups\fR -.RS 4 -If a new command line being added to the history list duplicates an older one, the older command is removed from the list (even if it is not the previous event)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.ignoreDups\fR -.RS 4 -Do not enter command lines into the history list if they are duplicates of the previous event\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.ignorePatterns\fR -.RS 4 -Do not enter command lines into the history list if they match any one of the given shell patterns\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dqrm *\(dq \(dqpkill *\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.ignoreSpace\fR -.RS 4 -Do not enter command lines into the history list if the first character is a space\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.path\fR -.RS 4 -History file location -.sp -\fIType:\fR string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(dq$HOME/\&.zsh_history\(dq if state version \[u2265] 20\&.03, -\(dq$ZDOTDIR/\&.zsh_history\(dq otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq${config\&.xdg\&.dataHome}/zsh/zsh_history\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.save\fR -.RS 4 -Number of history lines to save\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.saveNoDups\fR -.RS 4 -Do not write duplicate entries into the history file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.share\fR -.RS 4 -Share command history between zsh sessions\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.history\&.size\fR -.RS 4 -Number of history lines to keep\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.historySubstringSearch\fR -.RS 4 -Options related to zsh\-history\-substring\-search\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.historySubstringSearch\&.enable\fR -.RS 4 -Whether to enable history substring search\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.historySubstringSearch\&.searchDownKey\fR -.RS 4 -The key codes to be used when searching down\&. The default of \fR\(oq\(ha[[B\(cq\fP may correspond to the DOWN key \[u2013] if not, try \fR\(oq$terminfo[kcud1]\(cq\fP\&. -.sp -\fIType:\fR (list of string) or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ha[[B\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.historySubstringSearch\&.searchUpKey\fR -.RS 4 -The key codes to be used when searching up\&. The default of \fR\(oq\(ha[[A\(cq\fP may correspond to the UP key \[u2013] if not, try \fR\(oq$terminfo[kcuu1]\(cq\fP\&. -.sp -\fIType:\fR (list of string) or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ha[[A\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.initContent\fR -.RS 4 -Content to be added to \fI\&.zshrc\fP\&. -.sp -To specify the order, use \fR\(oqlib\&.mkOrder\(cq\fP\&. -.sp -Common order values: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -500 (mkBefore): Early initialization (replaces initExtraFirst) -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -550: Before completion initialization (replaces initExtraBeforeCompInit) -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -1000 (default): General configuration (replaces initExtra) -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -1500 (mkAfter): Last to run configuration -.RE -.sp -To specify both content in Early initialization and General configuration, use \fR\(oqlib\&.mkMerge\(cq\fP\&. -.sp -e\&.g\&. -.sp -initContent = let zshConfigEarlyInit = lib\&.mkOrder 500 \[u201C]do something\[u201D]; zshConfig = lib\&.mkOrder 1000 \[u201C]do something\[u201D]; in lib\&.mkMerge [ zshConfigEarlyInit zshConfig ]; -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -lib\&.mkOrder 1200 \(aq\(aq\(aq - echo \(dqHello zsh initContent!\(dq -\(aq\(aq\(aq; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.localVariables\fR -.RS 4 -Extra local variables defined at the top of \fI\&.zshrc\fP\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - POWERLEVEL9K_LEFT_PROMPT_ELEMENTS = [ - \(dqdir\(dq - \(dqvcs\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.loginExtra\fR -.RS 4 -Extra commands that should be added to \fI\&.zlogin\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.logoutExtra\fR -.RS 4 -Extra commands that should be added to \fI\&.zlogout\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\fR -.RS 4 -Options to configure oh\-my\-zsh\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.enable\fR -.RS 4 -Whether to enable oh\-my\-zsh\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.package\fR -.RS 4 -The oh\-my\-zsh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.oh\-my\-zsh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.custom\fR -.RS 4 -Path to a custom oh\-my\-zsh package to override config of oh\-my\-zsh\&. See \fBhttps://github\&.com/robbyrussell/oh\-my\-zsh/wiki/Customization\fR[1]\fR for more information\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq$HOME/my_customizations\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/robbyrussell/oh\-my\-zsh/wiki/Customization -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.extraConfig\fR -.RS 4 -Extra settings for plugins\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - zstyle :omz:plugins:ssh\-agent identities id_rsa id_rsa2 id_github -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.plugins\fR -.RS 4 -List of oh\-my\-zsh plugins -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqgit\(dq - \(dqsudo\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.oh\-my\-zsh\&.theme\fR -.RS 4 -Name of the theme to be used by oh\-my\-zsh\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqrobbyrussell\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.plugins\fR -.RS 4 -Plugins to source in \fI\&.zshrc\fP\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqenhancd\(dq; - file = \(dqinit\&.sh\(dq; - src = pkgs\&.fetchFromGitHub { - owner = \(dqb4b4r07\(dq; - repo = \(dqenhancd\(dq; - rev = \(dqv2\&.2\&.1\(dq; - sha256 = \(dq0iqa9j09fwm6nj5rpip87x3hnvbbz9w9ajgm6wkrd5fls8fn8i5g\(dq; - }; - } -{ - name = \(dqwd\(dq; - src = pkgs\&.zsh\-wd; - file = \(dqshare/wd/wd\&.plugin\&.zsh\(dq; - completions = [ \(dqshare/zsh/site\-functions\(dq ]; -} -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.plugins\&.*\&.completions\fR -.RS 4 -Paths of additional functions to add to \fBfpath\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.plugins\&.*\&.file\fR -.RS 4 -The plugin script to source\&. Required if the script name does not match \fIname\&.plugin\&.zsh\fP using the plugin \fBname\fP from the plugin \fBsrc\fP\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.plugins\&.*\&.name\fR -.RS 4 -The name of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.plugins\&.*\&.src\fR -.RS 4 -Path to the plugin folder\&. -.sp -Will be added to \fBfpath\fP and \fBPATH\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\fR -.RS 4 -Options to configure prezto\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.enable\fR -.RS 4 -Whether to enable prezto\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.package\fR -.RS 4 -The prezto package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zsh\-prezto -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.autosuggestions\&.color\fR -.RS 4 -Set the query found color\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfg=blue\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.caseSensitive\fR -.RS 4 -Set case\-sensitivity for completion, history lookup, etc\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.color\fR -.RS 4 -Color output (automatically set to \fR\(oqfalse\(cq\fP on dumb terminals)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.completions\&.ignoredHosts\fR -.RS 4 -Set the entries to ignore in static \fI/etc/hosts\fP for host completion\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq0\&.0\&.0\&.0\(dq - \(dq127\&.0\&.0\&.1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.editor\&.dotExpansion\fR -.RS 4 -Automatically convert \fR\(oq\&.\&.\&.\&.\(cq\fP to \fR\(oq\&.\&./\&.\&.\(cq\fP -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.editor\&.keymap\fR -.RS 4 -Set the key mapping style to \fR\(oqemacs\(cq\fP or \fR\(oqvi\(cq\fP\&. -.sp -\fIType:\fR null or one of \[u201C]emacs\[u201D], \[u201C]vi\[u201D] -.sp -\fIDefault:\fR \(dqemacs\(dq -.sp -\fIExample:\fR \(dqvi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.editor\&.promptContext\fR -.RS 4 -Allow the Zsh prompt context to be shown\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.extraConfig\fR -.RS 4 -Additional configuration to add to \fI\&.zpreztorc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.extraFunctions\fR -.RS 4 -Set the Zsh functions to load (\fBzshcontrib\fP\fR(1)\fP)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqzargs\(dq - \(dqzmv\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.extraModules\fR -.RS 4 -Set the Zsh modules to load (\fBzshmodules\fP\fR(1)\fP)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqattr\(dq - \(dqstat\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.git\&.submoduleIgnore\fR -.RS 4 -Ignore submodules when they are \fR\(oqdirty\(cq\fP, \fR\(oquntracked\(cq\fP, \fR\(oqall\(cq\fP, or \fR\(oqnone\(cq\fP\&. -.sp -\fIType:\fR null or one of \[u201C]dirty\[u201D], \[u201C]untracked\[u201D], \[u201C]all\[u201D], \[u201C]none\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqall\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.gnuUtility\&.prefix\fR -.RS 4 -Set the command prefix on non\-GNU systems\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqg\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.historySubstring\&.foundColor\fR -.RS 4 -Set the query found color\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfg=blue\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.historySubstring\&.globbingFlags\fR -.RS 4 -Set the search globbing flags\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.historySubstring\&.notFoundColor\fR -.RS 4 -Set the query not found color\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfg=red\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.macOS\&.dashKeyword\fR -.RS 4 -Set the keyword used by \fBmand\fP to open man pages in Dash\&.app\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqmanpages\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.pmoduleDirs\fR -.RS 4 -Add additional directories to load prezto modules from\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq${config\&.home\&.homeDirectory}/\&.zprezto\-contrib\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.pmodules\fR -.RS 4 -Set the Prezto modules to load (browse modules)\&. The order matters\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqenvironment\(dq - \(dqterminal\(dq - \(dqeditor\(dq - \(dqhistory\(dq - \(dqdirectory\(dq - \(dqspectrum\(dq - \(dqutility\(dq - \(dqcompletion\(dq - \(dqprompt\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.prompt\&.pwdLength\fR -.RS 4 -Set the working directory prompt display length\&. By default, it is set to \fR\(oqshort\(cq\fP\&. Set it to \fR\(oqlong\(cq\fP (without \fR\(oq\(ti\(cq\fP expansion) for longer or \fR\(oqfull\(cq\fP (with \fR\(oq\(ti\(cq\fP expansion) for even longer prompt display\&. -.sp -\fIType:\fR null or one of \[u201C]short\[u201D], \[u201C]long\[u201D], \[u201C]full\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqshort\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.prompt\&.showReturnVal\fR -.RS 4 -Set the prompt to display the return code along with an indicator for non\-zero return codes\&. This is not supported by all prompts\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.prompt\&.theme\fR -.RS 4 -Set the prompt theme to load\&. Setting it to \fR\(oqrandom\(cq\fP loads a random theme\&. Automatically set to \fR\(oqoff\(cq\fP on dumb terminals\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqsorin\(dq -.sp -\fIExample:\fR \(dqpure\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.python\&.virtualenvAutoSwitch\fR -.RS 4 -Auto switch to Python virtualenv on directory change\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.python\&.virtualenvInitialize\fR -.RS 4 -Automatically initialize virtualenvwrapper if pre\-requisites are met\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.ruby\&.chrubyAutoSwitch\fR -.RS 4 -Auto switch the Ruby version on directory change\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.screen\&.autoStartLocal\fR -.RS 4 -Auto start a session when Zsh is launched in a local terminal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.screen\&.autoStartRemote\fR -.RS 4 -Auto start a session when Zsh is launched in a SSH connection\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.ssh\&.identities\fR -.RS 4 -Set the SSH identities to load into the agent\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqid_rsa\(dq - \(dqid_rsa2\(dq - \(dqid_github\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.syntaxHighlighting\&.highlighters\fR -.RS 4 -Set syntax highlighters\&. By default, only the main highlighter is enabled\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmain\(dq - \(dqbrackets\(dq - \(dqpattern\(dq - \(dqline\(dq - \(dqcursor\(dq - \(dqroot\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.syntaxHighlighting\&.pattern\fR -.RS 4 -Set syntax pattern styles\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqrm*\-rf*\(dq = \(dqfg=white,bold,bg=red\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.syntaxHighlighting\&.styles\fR -.RS 4 -Set syntax highlighting styles\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - builtin = \(dqbg=blue\(dq; - command = \(dqbg=blue\(dq; - function = \(dqbg=blue\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.terminal\&.autoTitle\fR -.RS 4 -Auto set the tab and window titles\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.terminal\&.multiplexerTitleFormat\fR -.RS 4 -Set the multiplexer title format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq%s\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.terminal\&.tabTitleFormat\fR -.RS 4 -Set the tab title format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq%m: %s\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.terminal\&.windowTitleFormat\fR -.RS 4 -Set the window title format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq%n@%m: %s\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.tmux\&.autoStartLocal\fR -.RS 4 -Auto start a session when Zsh is launched in a local terminal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.tmux\&.autoStartRemote\fR -.RS 4 -Auto start a session when Zsh is launched in a SSH connection\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.tmux\&.defaultSessionName\fR -.RS 4 -Set the default session name\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqYOUR DEFAULT SESSION NAME\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.tmux\&.itermIntegration\fR -.RS 4 -Integrate with iTerm2\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.prezto\&.utility\&.safeOps\fR -.RS 4 -Enabled safe options\&. This aliases \fBcp\fP, \fBln\fP, \fBmv\fP and \fBrm\fP so that they prompt before deleting or overwriting files\&. Set to \fR\(oqno\(cq\fP to disable this safer behavior\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/prezto\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.profileExtra\fR -.RS 4 -Extra commands that should be added to \fI\&.zprofile\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.sessionVariables\fR -.RS 4 -Environment variables that will be set for zsh session\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MAILCHECK = 30; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ll = \(dqls \-l\(dq; - \(dq\&.\&.\(dq = \(dqcd \&.\&.\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.shellGlobalAliases\fR -.RS 4 -Similar to \fBprograms.zsh.shellAliases\fR[1]\fR, but are substituted anywhere on a line\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - UUID = \(dq$(uuidgen | tr \-d \e\en)\(dq; - G = \(dq| grep\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.zsh\&.shellAliases\fP option -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\fR -.RS 4 -Options related to zsh\-syntax\-highlighting\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\&.enable\fR -.RS 4 -Whether to enable zsh syntax highlighting\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\&.package\fR -.RS 4 -The zsh\-syntax\-highlighting package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zsh\-syntax\-highlighting -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\&.highlighters\fR -.RS 4 -Highlighters to enable See the list of highlighters: \fBhttps://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters\&.md\fR[1]\fR -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqbrackets\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters\&.md -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\&.patterns\fR -.RS 4 -Custom syntax highlighting for user\-defined patterns\&. Reference: \fBhttps://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters/pattern\&.md\fR[1]\fR -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqrm \-rf *\(dq = \(dqfg=white,bold,bg=red\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters/pattern\&.md -.RE -.RE -.PP -\fBprograms\&.zsh\&.syntaxHighlighting\&.styles\fR -.RS 4 -Custom styles for syntax highlighting\&. See each highlighter style option: \fBhttps://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters/main\&.md\fR[1]\fR -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - comment = \(dqfg=black,bold\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/zsh\-users/zsh\-syntax\-highlighting/blob/master/docs/highlighters/main\&.md -.RE -.RE -.PP -\fBprograms\&.zsh\&.zplug\&.enable\fR -.RS 4 -Whether to enable zplug \- a zsh plugin manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zplug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zplug\&.plugins\fR -.RS 4 -List of zplug plugins\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zplug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zplug\&.plugins\&.*\&.name\fR -.RS 4 -The name of the plugin\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zplug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zplug\&.plugins\&.*\&.tags\fR -.RS 4 -The plugin tags\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zplug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zplug\&.zplugHome\fR -.RS 4 -Path to zplug home directory\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\(ti/\&.zplug\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zplug\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zprof\&.enable\fR -.RS 4 -Enable zprof in your zshrc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zsh\-abbr\&.enable\fR -.RS 4 -Whether to enable zsh\-abbr \- zsh manager for auto\-expanding abbreviations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/zsh\-abbr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zsh\-abbr\&.package\fR -.RS 4 -The zsh\-abbr package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.zsh\-abbr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/zsh\-abbr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zsh\-abbr\&.abbreviations\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to abbreviations\&. Abbreviations are expanded with the longer phrase after they are entered\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gco = \(dqgit checkout\(dq; - l = \(dqless\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/zsh\-abbr\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.zsh\-abbr\&.globalAbbreviations\fR -.RS 4 -Similar to \fBprograms.zsh.zsh-abbr.abbreviations\fR[1]\fR, but are expanded anywhere on a line\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - G = \(dq| grep\(dq; - L = \(dq| less \-R\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/programs/zsh/zsh\-abbr\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBprograms\&.zsh\&.zsh\-abbr\&.abbreviations\fP option -.RE -.RE -.PP -\fBqt\&.enable\fR -.RS 4 -Whether to enable Qt 5 and 6 configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/qt\&.nix>\fP -.RE -.RE -.PP -\fBqt\&.kde\&.settings\fR -.RS 4 -A set of values to be modified by \fBkwriteconfig6\fP\&. -.sp -The example value would cause the following command to run in the activation script: -.sp -.RS 4 -.nf -kwriteconfig6 \-\-file $XDG_CONFIG_HOME/powermanagementprofilesrc \e - \-\-group AC \e - \-\-group HandleButtonEvents \e - \-\-group lidAction \e - \-\-key lidAction \e - 32 -.fi -.RE -.sp -Note, \fR\(oqnull\(cq\fP values will delete the corresponding entry instead of inserting any value\&. -.sp -\fIType:\fR attribute set of (KDE option value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - powermanagementprofilesrc = { - AC = { - HandleButtonEvents = { - lidAction = 32; - }; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/qt/kconfig\&.nix>\fP -.RE -.RE -.PP -\fBqt\&.platformTheme\fR -.RS 4 -Deprecated\&. Use \fBqt\&.platformTheme\&.name\fP instead\&. -.sp -\fIType:\fR null or one of \[u201C]gtk\[u201D], \[u201C]gtk3\[u201D], \[u201C]gnome\[u201D], \[u201C]adwaita\[u201D], \[u201C]lxqt\[u201D], \[u201C]qtct\[u201D], \[u201C]kde\[u201D], \[u201C]kde6\[u201D] or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/qt\&.nix>\fP -.RE -.RE -.PP -\fBqt\&.style\&.package\fR -.RS 4 -Theme package to be used in Qt5/Qt6 applications\&. Auto\-detected from \fBqt\&.style\&.name\fP if possible\&. See its documentation for available options\&. -.sp -\fIType:\fR null or package or list of package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.adwaita\-qt -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/qt\&.nix>\fP -.RE -.RE -.PP -\fBqt\&.style\&.name\fR -.RS 4 -Style to use for Qt5/Qt6 applications\&. Case\-insensitive\&. -.sp -Some examples are -.RS 4 -.PP -\fR\(oqadwaita\(cq\fP, \fR\(oqadwaita\-dark\(cq\fP, \fR\(oqadwaita\-highcontrast\(cq\fP, \fR\(oqadwaita\-highcontrastinverse\(cq\fP -.RS 4 -Use the Adwaita style from \fB\fR\(oqadwaita\-qt\(cq\fP\fR[1]\fR -.RE -.PP -\fR\(oqbreeze\(cq\fP -.RS 4 -Use the Breeze style from \fB\fR\(oqbreeze\(cq\fP\fR[2]\fR -.RE -.PP -\fR\(oqbb10bright\(cq\fP, \fR\(oqbb10dark\(cq\fP, \fR\(oqcde\(cq\fP, \fR\(oqcleanlooks\(cq\fP, \fR\(oqgtk2\(cq\fP, \fR\(oqmotif\(cq\fP, \fR\(oqplastique\(cq\fP -.RS 4 -Use styles from \fB\fR\(oqqtstyleplugins\(cq\fP\fR[3]\fR -.RE -.PP -\fR\(oqkvantum\(cq\fP -.RS 4 -Use styles from \fB\fR\(oqkvantum\(cq\fP\fR[4]\fR -.RE -.RE -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqadwaita\-dark\(dq -.sp -\fIRelated packages:\fP -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.adwaita\-qt\(cq\fP\fR[5]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.adwaita\-qt6\(cq\fP\fR[6]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.libsForQt5\&.breeze\-qt5\(cq\fP\fR[7]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.libsForQt5\&.qtstyleplugin\-kvantum\(cq\fP\fR[8]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.libsForQt5\&.qtstyleplugins\(cq\fP\fR[9]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.qt6Packages\&.qt6gtk2\(cq\fP\fR[10]\fR -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fB\fR\(oqpkgs\&.qt6Packages\&.qtstyleplugin\-kvantum\(cq\fP\fR[11]\fR -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/qt\&.nix>\fP -.RE -.sp -.RS 5 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/FedoraQt/adwaita\-qt -.RE -.RS 5 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/KDE/breeze -.RE -.RS 5 -\h'-3'\fB3\&.\fP\h'1'\c -https://github\&.com/qt/qtstyleplugins -.RE -.RS 5 -\h'-3'\fB4\&.\fP\h'1'\c -https://github\&.com/tsujan/Kvantum -.RE -.RS 5 -\h'-3'\fB5\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=adwaita\-qt&sort=relevance&query=adwaita\-qt -.RE -.RS 5 -\h'-3'\fB6\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=adwaita\-qt6&sort=relevance&query=adwaita\-qt6 -.RE -.RS 5 -\h'-3'\fB7\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=libsForQt5\&.breeze\-qt5&sort=relevance&query=libsForQt5\&.breeze\-qt5 -.RE -.RS 5 -\h'-3'\fB8\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=libsForQt5\&.qtstyleplugin\-kvantum&sort=relevance&query=libsForQt5\&.qtstyleplugin\-kvantum -.RE -.RS 5 -\h'-3'\fB9\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=libsForQt5\&.qtstyleplugins&sort=relevance&query=libsForQt5\&.qtstyleplugins -.RE -.RS 5 -\h'-4'\fB10\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=qt6Packages\&.qt6gtk2&sort=relevance&query=qt6Packages\&.qt6gtk2 -.RE -.RS 5 -\h'-4'\fB11\&.\fP\h'1'\c -https://search\&.nixos\&.org/packages?show=qt6Packages\&.qtstyleplugin\-kvantum&sort=relevance&query=qt6Packages\&.qtstyleplugin\-kvantum -.RE -.RE -.PP -\fBservices\&.activitywatch\&.enable\fR -.RS 4 -Whether to enable ActivityWatch, an automated time tracker\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.package\fR -.RS 4 -Package containing \fBthe Rust implementation of ActivityWatch server\fR[1]\fR\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.activitywatch -.sp -\fIExample:\fR pkgs\&.aw\-server\-rust -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ActivityWatch/aw\-server\-rust -.RE -.RE -.PP -\fBservices\&.activitywatch\&.extraOptions\fR -.RS 4 -Additional arguments to be passed on to the ActivityWatch server\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-port\(dq - \(dq5999\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.settings\fR -.RS 4 -Configuration for \fR\(oqaw\-server\-rust\(cq\fP to be generated at \fI$XDG_CONFIG_HOME/activitywatch/aw\-server\-rust/config\&.toml\fP\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - port = 3012; - - custom_static = { - my\-custom\-watcher = \(dq${pkgs\&.my\-custom\-watcher}/share/my\-custom\-watcher/static\(dq; - aw\-keywatcher = \(dq${pkgs\&.aw\-keywatcher}/share/aw\-keywatcher/static\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\fR -.RS 4 -Watchers to be included with the service alongside with their configuration\&. -.sp -If a configuration is set, a file will be generated in \fI$XDG_CONFIG_HOME/activitywatch/$WATCHER_NAME/$WATCHER_SETTINGS_FILENAME\fP\&. -.sp -.RS 4 -\fBNote\fP -.br -The watchers are run with the service manager and the settings format of the configuration is only assumed to be in TOML\&. Furthermore, it assumes the watcher program is using the official client libraries which has functions to store it in the appropriate location\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - aw\-watcher\-afk = { - package = pkgs\&.activitywatch; - settings = { - timeout = 300; - poll_time = 2; - }; - }; - - aw\-watcher\-windows = { - package = pkgs\&.activitywatch; - settings = { - poll_time = 1; - exclude_title = true; - }; - }; - - my\-custom\-watcher = { - package = pkgs\&.my\-custom\-watcher; - executable = \(dqmcw\(dq; - settings = { - hello = \(dqthere\(dq; - enable_greetings = true; - poll_time = 5; - }; - settingsFilename = \(dqconfig\&.toml\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.package\fR -.RS 4 -The activitywatch package to use\&. The derivation containing the watcher executable\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.activitywatch -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.executable\fR -.RS 4 -The name of the executable of the watcher\&. This is useful in case the watcher name is different from the executable\&. By default, this option uses the watcher name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.extraOptions\fR -.RS 4 -Extra arguments to be passed to the watcher executable\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-host\(dq - \(dq127\&.0\&.0\&.1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.name\fR -.RS 4 -The name of the watcher\&. This will be used as the directory name for \fI$XDG_CONFIG_HOME/activitywatch/$NAME\fP when \fBservices\&.activitywatch\&.watchers\&.<name>\&.settings\fP is set\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIExample:\fR \(dqaw\-watcher\-afk\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.settings\fR -.RS 4 -The settings for the individual watcher in TOML format\&. If set, a file will be generated at \fI$XDG_CONFIG_HOME/activitywatch/$NAME/$FILENAME\fP\&. -.sp -To set the basename of the settings file, see \fBservices.activitywatch.watchers.<name>.settingsFilename\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - poll_time = 2; - timeout = 300; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.activitywatch\&.watchers\&.<name>\&.settingsFilename\fP option -.RE -.RE -.PP -\fBservices\&.activitywatch\&.watchers\&.<name>\&.settingsFilename\fR -.RS 4 -The filename of the generated settings file\&. By default, this uses the watcher name to be generated at \fI$XDG_CONFIG_HOME/activitywatch/$NAME/$NAME\&.toml\fP\&. -.sp -This is useful in case the watcher requires a different name for the configuration file\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\&.toml\(dq -.sp -\fIExample:\fR \(dqconfig\&.toml\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/activitywatch\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.amberol\&.enable\fR -.RS 4 -Whether to enable Amberol music player as a daemon\&. -.sp -Note, it is necessary to add -.sp -.RS 4 -.nf -programs\&.dconf\&.enable = true; -.fi -.RE -.sp -to your system configuration for the daemon to work correctly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/amberol\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.amberol\&.enableRecoloring\fR -.RS 4 -UI recoloring using the album art\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/amberol\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.amberol\&.package\fR -.RS 4 -The amberol package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.amberol -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/amberol\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.amberol\&.replaygain\fR -.RS 4 -ReplayGain mode\&. -.sp -\fIType:\fR one of \[u201C]album\[u201D], \[u201C]track\[u201D], \[u201C]off\[u201D] -.sp -\fIDefault:\fR \(dqtrack\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/amberol\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.arrpc\&.enable\fR -.RS 4 -Whether to enable arrpc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/arrpc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.arrpc\&.package\fR -.RS 4 -The arrpc package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.arrpc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/arrpc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.arrpc\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/arrpc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autorandr\&.enable\fR -.RS 4 -Whether to enable the Autorandr systemd service\&. This module is complementary to \fBprograms\&.autorandr\fP which handles the configuration (profiles)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autorandr\&.package\fR -.RS 4 -The autorandr package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.autorandr -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autorandr\&.extraOptions\fR -.RS 4 -Extra options to pass to Autorandr\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-force\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autorandr\&.ignoreLid\fR -.RS 4 -Treat outputs as connected even if their lids are closed\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autorandr\&.matchEdid\fR -.RS 4 -Match displays based on edid instead of name\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/autorandr\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.avizo\&.enable\fR -.RS 4 -Whether to enable avizo, a simple notification daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/avizo\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.avizo\&.package\fR -.RS 4 -The avizo package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.avizo -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.avizo\&.overrideAttrs (final: prev: { - patchPhase = \(dqcp ${\&./images}/*\&.png data/images/\(dq; -}) -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/avizo\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.avizo\&.settings\fR -.RS 4 -The settings that will be written to the avizo configuration file\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default = { - time = 1\&.0; - y\-offset = 0\&.5; - fade\-in = 0\&.1; - fade\-out = 0\&.2; - padding = 10; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/avizo\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.enable\fR -.RS 4 -Whether to enable Barrier Client daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.enableCrypto\fR -.RS 4 -Whether to enable crypto (SSL) plugin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.enableDragDrop\fR -.RS 4 -Whether to enable file drag & drop\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.extraFlags\fR -.RS 4 -Additional flags to pass to \fBbarrierc\fP\&. See \fBbarrierc \-\-help\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ \(dq\-f\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.name\fR -.RS 4 -Screen name of client\&. Defaults to hostname\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.barrier\&.client\&.server\fR -.RS 4 -Server to connect to formatted as \fR\(oq<host>[:<port>]\(cq\fP\&. Port defaults to \fR\(oq24800\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/barrier\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.batsignal\&.enable\fR -.RS 4 -Whether to enable Batsignal Battery Daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/batsignal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.batsignal\&.package\fR -.RS 4 -The batsignal package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.batsignal -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/batsignal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.batsignal\&.extraArgs\fR -.RS 4 -Extra arguments to be passed to the batsignal executable\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/batsignal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.betterlockscreen\&.enable\fR -.RS 4 -Whether to enable betterlockscreen, a screen\-locker module\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/betterlockscreen\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.betterlockscreen\&.package\fR -.RS 4 -The betterlockscreen package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.betterlockscreen -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/betterlockscreen\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.betterlockscreen\&.arguments\fR -.RS 4 -List of arguments appended to \fR\(oq\&./betterlockscreen \-\-lock [args]\(cq\fP -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/betterlockscreen\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.betterlockscreen\&.inactiveInterval\fR -.RS 4 -Value used for \fBservices\&.screen\-locker\&.inactiveInterval\fP\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/betterlockscreen\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.blanket\&.enable\fR -.RS 4 -Whether to enable blanket\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/blanket\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.blanket\&.package\fR -.RS 4 -The blanket package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.blanket -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/blanket\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.blueman\-applet\&.enable\fR -.RS 4 -Whether to enable the Blueman applet\&. -.sp -Note that for the applet to work, the \fR\(oqblueman\(cq\fP service should be enabled system\-wide\&. You can enable it in the system configuration using -.sp -.RS 4 -.nf -services\&.blueman\&.enable = true; -.fi -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/blueman\-applet\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.borgmatic\&.enable\fR -.RS 4 -Whether to enable Borgmatic service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.borgmatic\&.frequency\fR -.RS 4 -How often to run borgmatic when \fR\(oqservices\&.borgmatic\&.enable = true\(cq\fP\&. This value is passed to the systemd timer configuration as the onCalendar option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -On Darwin it must be one of: hourly, daily, weekly, monthly, semiannually, annually, which are implemented as defined in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhourly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/borgmatic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.enable\fR -.RS 4 -Whether to enable Cachix Deploy Agent: \fBhttps://docs\&.cachix\&.org/deploy/\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.cachix\&.org/deploy/ -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.package\fR -.RS 4 -The cachix package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.cachix -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.credentialsFile\fR -.RS 4 -Required file that needs to contain \fR\(oqCACHIX_AGENT_TOKEN=\&.\&.\&.\(cq\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${config\&.xdg\&.configHome}/cachix\-agent\&.token\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.host\fR -.RS 4 -Cachix URI to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.name\fR -.RS 4 -The unique agent name\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.profile\fR -.RS 4 -The Nix profile name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhome\-manager\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.verbose\fR -.RS 4 -Whether to enable verbose output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.caffeine\&.enable\fR -.RS 4 -Whether to enable Caffeine service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/caffeine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.enable\fR -.RS 4 -Whether to enable cbatticon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.batteryId\fR -.RS 4 -ID of the battery to monitor\&. List with \fBcbatticon \-p\fP\&. Defaults to the first entry in the list\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.commandCriticalLevel\fR -.RS 4 -Command to execute when the critical battery level is reached\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - notify\-send \(dqbattery critical!\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.commandLeftClick\fR -.RS 4 -Command to execute when left clicking on the tray icon\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.criticalLevelPercent\fR -.RS 4 -Critical level percentage of the battery in percent (without the percent symbol)\&. -.sp -\fIType:\fR null or integer between 0 and 100 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.hideNotification\fR -.RS 4 -Hide the notification popups\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.iconType\fR -.RS 4 -Icon type to display in the system tray\&. -.sp -\fIType:\fR null or one of \[u201C]standard\[u201D], \[u201C]notification\[u201D], \[u201C]symbolic\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsymbolic\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.lowLevelPercent\fR -.RS 4 -Low level percentage of the battery in percent (without the percent symbol)\&. -.sp -\fIType:\fR null or integer between 0 and 100 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 20 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cbatticon\&.updateIntervalSeconds\fR -.RS 4 -Number of seconds between updates of the battery information\&. -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cbatticon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipcat\&.enable\fR -.RS 4 -Whether to enable clipcat\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipcat\&.enableSystemdUnit\fR -.RS 4 -Enable clipcat\[u2019]s Systemd Unit\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipcat\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBservices\&.clipcat\&.package\fR -.RS 4 -The clipcat package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.clipcat -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipcat\&.ctlSettings\fR -.RS 4 -Configuration settings for clipcatctl\&. All available options can be found here: \fBhttps://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - server_endpoint = \(dq/run/user/<user\-id>/clipcat/grpc\&.sock\(dq; - log = { - file_path = \(dq/path/to/log/file\(dq; - emit_journald = true; - emit_stdout = false; - emit_stderr = false; - level = \(dqINFO\(dq; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration -.RE -.RE -.PP -\fBservices\&.clipcat\&.daemonSettings\fR -.RS 4 -Configuration settings for clipcatd\&. All available options can be found here: \fBhttps://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - daemonize = true; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - daemonize = true; - max_history = 50; - history_file_path = \(dq/home/<username>/\&.cache/clipcat/clipcatd\-history\(dq; - pid_file = \(dq/run/user/<user\-id>/clipcatd\&.pid\(dq; - primary_threshold_ms = 5000; - log = { - file_path = \(dq/path/to/log/file\(dq; - emit_journald = true; - emit_stdout = false; - emit_stderr = false; - level = \(dqINFO\(dq; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration -.RE -.RE -.PP -\fBservices\&.clipcat\&.menuSettings\fR -.RS 4 -Configuration settings for clipcat\-menu\&. All available options can be found here: \fBhttps://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - server_endpoint = \(dq/run/user/<user\-id>/clipcat/grpc\&.sock\(dq; - finder = \(dqrofi\(dq; - rofi = { - line_length = 100; - menu_length = 30; - menu_prompt = \(dqClipcat\(dq; - extra_arguments = [ - \(dq\-mesg\(dq - \(dqPlease select a clip\(dq - ]; - }; - dmenu = { - line_length = 100; - menu_length = 30; - menu_prompt = \(dqClipcat\(dq; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipcat\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/xrelkd/clipcat?tab=readme\-ov\-file#configuration -.RE -.RE -.PP -\fBservices\&.cliphist\&.enable\fR -.RS 4 -Whether to enable cliphist, a clipboard history \[u201C]manager\[u201D] for wayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cliphist\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cliphist\&.package\fR -.RS 4 -The cliphist package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.cliphist -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cliphist\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cliphist\&.allowImages\fR -.RS 4 -Store images in clipboard history\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cliphist\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cliphist\&.extraOptions\fR -.RS 4 -Flags to append to the cliphist command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-max\-dedupe\-search\(dq - \(dq10\(dq - \(dq\-max\-items\(dq - \(dq500\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cliphist\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cliphist\&.systemdTargets\fR -.RS 4 -The systemd targets that will automatically start the cliphist service\&. -.sp -When setting this value to \fR\(oq[\(dqsway\-session\&.target\(dq]\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -Note: A single string value is deprecated, please use a list\&. -.sp -\fIType:\fR (list of string) or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqgraphical\-session\&.target\(dq -] -.fi -.RE -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/cliphist\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipman\&.enable\fR -.RS 4 -Whether to enable clipman, a simple clipboard manager for Wayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipman\&.package\fR -.RS 4 -The clipman package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.clipman -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipman\&.systemdTarget\fR -.RS 4 -The systemd target that will automatically start the clipman service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipmenu\&.enable\fR -.RS 4 -Whether to enable clipmenu, the clipboard management daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipmenu\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipmenu\&.package\fR -.RS 4 -The clipmenu package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.clipmenu -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipmenu\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipmenu\&.launcher\fR -.RS 4 -Launcher command, if not set, \fBdmenu\fP will be used by default\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqrofi\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipmenu\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.enable\fR -.RS 4 -Whether to enable Enable clipse clipboard manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.package\fR -.RS 4 -The clipse package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.clipse -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.allowDuplicates\fR -.RS 4 -Allow duplicates -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.historySize\fR -.RS 4 -Number of history lines to keep\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 100 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.imageDisplay\&.heightCut\fR -.RS 4 -Height cut -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.imageDisplay\&.scaleX\fR -.RS 4 -Image scaling factor X -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 9 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.imageDisplay\&.scaleY\fR -.RS 4 -Image scaling factor Y -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 9 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.imageDisplay\&.type\fR -.RS 4 -Preview image method -.sp -\fIType:\fR one of \[u201C]basic\[u201D], \[u201C]kitty\[u201D], \[u201C]sixel\[u201D] -.sp -\fIDefault:\fR \(dqbasic\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.keyBindings\fR -.RS 4 -Custom key bindings -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf - { - \(dqchoose\(dq: \(dqenter\(dq, - \(dqclearSelected\(dq: \(dqS\(dq, - \(dqdown\(dq: \(dqdown\(dq, - \(dqend\(dq: \(dqend\(dq, - \(dqfilter\(dq: \(dq/\(dq, - \(dqhome\(dq: \(dqhome\(dq, - \(dqmore\(dq: \(dq?\(dq, - \(dqnextPage\(dq: \(dqright\(dq, - \(dqprevPage\(dq: \(dqleft\(dq, - \(dqpreview\(dq: \(dqt\(dq, - \(dqquit\(dq: \(dqq\(dq, - \(dqremove\(dq: \(dqx\(dq, - \(dqselectDown\(dq: \(dqctrl+down\(dq, - \(dqselectSingle\(dq: \(dqs\(dq, - \(dqselectUp\(dq: \(dqctrl+up\(dq, - \(dqtogglePin\(dq: \(dqp\(dq, - \(dqtogglePinned\(dq: \(dqtab\(dq, - \(dqup\(dq: \(dqup\(dq, - \(dqyankFilter\(dq: \(dqctrl+s\(dq -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.systemdTarget\fR -.RS 4 -The systemd target that will automatically start the clipse service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.clipse\&.theme\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/clipse/custom_theme\&.json\fP\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - useCustomTheme = false; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - useCustomTheme = true; - DimmedDesc = \(dq#ffffff\(dq; - DimmedTitle = \(dq#ffffff\(dq; - FilteredMatch = \(dq#ffffff\(dq; - NormalDesc = \(dq#ffffff\(dq; - NormalTitle = \(dq#ffffff\(dq; - SelectedDesc = \(dq#ffffff\(dq; - SelectedTitle = \(dq#ffffff\(dq; - SelectedBorder = \(dq#ffffff\(dq; - SelectedDescBorder = \(dq#ffffff\(dq; - TitleFore = \(dq#ffffff\(dq; - Titleback = \(dq#434C5E\(dq; - StatusMsg = \(dq#ffffff\(dq; - PinIndicatorColor = \(dq#ff0000\(dq; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/clipse\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.comodoro\&.enable\fR -.RS 4 -Whether to enable Comodoro server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.comodoro\&.package\fR -.RS 4 -The comodoro package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.comodoro -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.comodoro\&.environment\fR -.RS 4 -Extra environment variables to be exported in the service\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqPASSWORD_STORE_DIR\(dq = \(dq\(ti/\&.password\-store\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.comodoro\&.preset\fR -.RS 4 -Use configuration from the given preset as defined in the configuration file\&. -.sp -\fIType:\fR non\-empty string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.comodoro\&.protocols\fR -.RS 4 -Define protocols the server should use to accept requests\&. -.sp -\fIType:\fR non\-empty (list of non\-empty string) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/comodoro\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.conky\&.enable\fR -.RS 4 -Whether to enable Conky, a light\-weight system monitor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/conky\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.conky\&.package\fR -.RS 4 -The conky package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.conky -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/conky\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.conky\&.extraConfig\fR -.RS 4 -Configuration used by the Conky daemon\&. Check \fBhttps://github\&.com/brndnmtthws/conky/wiki/Configurations\fR[1]\fR for options\&. If not set, the default configuration, as described by \fBconky \-\-print\-config\fP, will be used\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/conky\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/brndnmtthws/conky/wiki/Configurations -.RE -.RE -.PP -\fBservices\&.copyq\&.enable\fR -.RS 4 -Whether to enable CopyQ, a clipboard manager with advanced features\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/copyq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.copyq\&.package\fR -.RS 4 -The copyq package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.copyq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/copyq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.copyq\&.forceXWayland\fR -.RS 4 -Force the CopyQ to use the X backend on wayland -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/copyq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.copyq\&.systemdTarget\fR -.RS 4 -The systemd target that will automatically start the CopyQ service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/copyq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.darkman\&.enable\fR -.RS 4 -Whether to enable darkman, a tool that automatically switches dark\-mode on and off based on the time of the day\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/darkman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.darkman\&.package\fR -.RS 4 -The darkman package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.darkman -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/darkman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.darkman\&.darkModeScripts\fR -.RS 4 -Scripts to run when switching to \[u201C]dark mode\[u201D]\&. -.sp -Multiline strings are interpreted as Bash shell scripts and a shebang is not required\&. -.sp -\fIType:\fR attribute set of (absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gtk\-theme = \(aq\(aq - ${pkgs\&.dconf}/bin/dconf write \e - /org/gnome/desktop/interface/color\-scheme \(dq\(aqprefer\-dark\(aq\(dq - \(aq\(aq; - my\-python\-script = pkgs\&.writers\&.writePython3 \(dqmy\-python\-script\(dq { } \(aq\(aq - print(\(aqDo something!\(aq) - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/darkman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.darkman\&.lightModeScripts\fR -.RS 4 -Scripts to run when switching to \[u201C]light mode\[u201D]\&. -.sp -Multiline strings are interpreted as Bash shell scripts and a shebang is not required\&. -.sp -\fIType:\fR attribute set of (absolute path or strings concatenated with \[u201C]\en\[u201D]) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gtk\-theme = \(aq\(aq - ${pkgs\&.dconf}/bin/dconf write \e - /org/gnome/desktop/interface/color\-scheme \(dq\(aqprefer\-light\(aq\(dq - \(aq\(aq; - my\-python\-script = pkgs\&.writers\&.writePython3 \(dqmy\-python\-script\(dq { } \(aq\(aq - print(\(aqDo something!\(aq) - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/darkman\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.darkman\&.settings\fR -.RS 4 -Settings for the \fBdarkman\fP command\&. See \fBhttps://darkman\&.whynothugo\&.nl/#CONFIGURATION\fR[1]\fR for details\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - lat = 52\&.3; - lng = 4\&.8; - usegeoclue = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/darkman\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://darkman\&.whynothugo\&.nl/#CONFIGURATION -.RE -.RE -.PP -\fBservices\&.davmail\&.enable\fR -.RS 4 -Whether to enable DavMail, an MS Exchange gateway\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/davmail\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.davmail\&.package\fR -.RS 4 -The davmail package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.davmail -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/davmail\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.davmail\&.imitateOutlook\fR -.RS 4 -Whether DavMail pretends to be Outlook\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/davmail\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.davmail\&.settings\fR -.RS 4 -Davmail configuration\&. Refer to \fBhttp://davmail\&.sourceforge\&.net/serversetup\&.html\fR[1]\fR and \fBhttp://davmail\&.sourceforge\&.net/advanced\&.html\fR[2]\fR for details on supported values\&. -.sp -\fIType:\fR attribute set of (string, package, bool, int or float) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqdavmail\&.allowRemote\(dq = true; - \(dqdavmail\&.bindAddress\(dq = \(dq10\&.0\&.1\&.2\(dq; - \(dqdavmail\&.caldavAutoSchedule\(dq = false; - \(dqdavmail\&.folderSizeLimit\(dq = 10; - \(dqdavmail\&.imapPort\(dq = 55555; - \(dqdavmail\&.smtpSaveInSent\(dq = true; - \(dqdavmail\&.url\(dq = \(dqhttps://outlook\&.office365\&.com/EWS/Exchange\&.asmx\(dq; - \(dqlog4j\&.logger\&.rootLogger\(dq = \(dqDEBUG\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/davmail\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -http://davmail\&.sourceforge\&.net/serversetup\&.html -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -http://davmail\&.sourceforge\&.net/advanced\&.html -.RE -.RE -.PP -\fBservices\&.devilspie2\&.enable\fR -.RS 4 -Whether to enable Devilspie2, a window matching utility, allowing the user to perform scripted actions on windows as they are created\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/devilspie2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.devilspie2\&.config\fR -.RS 4 -Content of file placed in the devilspie2 config directory\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - if (get_window_class() == \(dqGnome\-terminal\(dq) then - make_always_on_top(); - end -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/devilspie2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dropbox\&.enable\fR -.RS 4 -Whether to enable Dropbox daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dropbox\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dropbox\&.path\fR -.RS 4 -Where to put the Dropbox directory\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Dropbox\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dropbox\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.enable\fR -.RS 4 -Whether to enable the dunst notification daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.package\fR -.RS 4 -The dunst package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.dunst -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.configFile\fR -.RS 4 -Path to the configuration file read by dunst\&. -.sp -Note that the configuration generated by Home Manager will be written to \fI$XDG_CONFIG_HOME/dunst/dunstrc\fP regardless\&. This allows using a mutable configuration file generated from the immutable one, useful in scenarios where live reloading is desired\&. -.sp -\fIType:\fR null or string or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.iconTheme\fR -.RS 4 -Set the icon theme\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - name = \(dqhicolor\(dq; - package = <derivation hicolor\-icon\-theme\-0\&.18>; - size = \(dq32x32\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.iconTheme\&.package\fR -.RS 4 -Package providing the theme\&. -.sp -\fIType:\fR package -.sp -\fIExample:\fR pkgs\&.adwaita\-icon\-theme -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.iconTheme\&.name\fR -.RS 4 -The name of the theme within the package\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqAdwaita\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.iconTheme\&.size\fR -.RS 4 -The desired icon size\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq32x32\(dq -.sp -\fIExample:\fR \(dq16x16\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/dunst/dunstrc\fP\&. -.sp -\fIType:\fR attribute set of attribute set of (string or boolean or signed integer or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - global = { - width = 300; - height = 300; - offset = \(dq30x50\(dq; - origin = \(dqtop\-right\(dq; - transparency = 10; - frame_color = \(dq#eceff1\(dq; - font = \(dqDroid Sans 9\(dq; - }; - - urgency_normal = { - background = \(dq#37474f\(dq; - foreground = \(dq#eceff1\(dq; - timeout = 10; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.settings\&.global\&.icon_path\fR -.RS 4 -Paths where dunst will look for icons\&. -.sp -\fIType:\fR strings concatenated with \[u201C]:\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dunst\&.waylandDisplay\fR -.RS 4 -Set the service\[u2019]s \fBWAYLAND_DISPLAY\fP environment variable\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dunst\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dwm\-status\&.enable\fR -.RS 4 -Whether to enable dwm\-status user service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dwm\-status\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dwm\-status\&.package\fR -.RS 4 -The dwm\-status package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.dwm\-status -.sp -\fIExample:\fR pkgs\&.dwm\-status\&.override { enableAlsaUtils = false; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dwm\-status\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dwm\-status\&.extraConfig\fR -.RS 4 -Extra config of dwm\-status\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - separator = \(dq#\(dq; - - battery = { - notifier_levels = [ 2 5 10 15 20 ]; - }; - - time = { - format = \(dq%H:%M\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dwm\-status\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dwm\-status\&.order\fR -.RS 4 -List of enabled features in order\&. -.sp -\fIType:\fR list of (one of \[u201C]audio\[u201D], \[u201C]backlight\[u201D], \[u201C]battery\[u201D], \[u201C]cpu_load\[u201D], \[u201C]network\[u201D], \[u201C]time\[u201D]) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/dwm\-status\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.easyeffects\&.enable\fR -.RS 4 -Whether to enable Easyeffects daemon\&. Note, it is necessary to add -.sp -.RS 4 -.nf -programs\&.dconf\&.enable = true; -.fi -.RE -.sp -to your system configuration for the daemon to work correctly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/easyeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.easyeffects\&.package\fR -.RS 4 -The easyeffects package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.easyeffects -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/easyeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.easyeffects\&.extraPresets\fR -.RS 4 -List of presets to import to easyeffects\&. Presets are written to input and output folder in \fR\(oq$XDG_CONFIG_HOME/easyeffects\(cq\fP\&. Top level block (input/output) determines the folder the file is written to\&. -.sp -See community presets at: https://github\&.com/wwmm/easyeffects/wiki/Community\-Presets -.sp -\fIType:\fR null or (attribute set of EasyEffects input or output JSON preset) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - my\-preset = { - input = { - blocklist = [ - - ]; - \(dqplugins_order\(dq = [ - \(dqrnnoise#0\(dq - ]; - \(dqrnnoise#0\(dq = { - bypass = false; - \(dqenable\-vad\(dq = false; - \(dqinput\-gain\(dq = 0\&.0; - \(dqmodel\-path\(dq = \(dq\(dq; - \(dqoutput\-gain\(dq = 0\&.0; - release = 20\&.0; - \(dqvad\-thres\(dq = 50\&.0; - wet = 0\&.0; - }; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/easyeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.easyeffects\&.preset\fR -.RS 4 -Which preset to use when starting easyeffects\&. Will likely need to launch easyeffects to initially create preset\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/easyeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.enable\fR -.RS 4 -Whether to enable the Emacs daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.package\fR -.RS 4 -The Emacs package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if config\&.programs\&.emacs\&.enable then config\&.programs\&.emacs\&.finalPackage -else pkgs\&.emacs -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.client\&.enable\fR -.RS 4 -Whether to enable generation of Emacs client desktop file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.client\&.arguments\fR -.RS 4 -Command\-line arguments to pass to \fBemacsclient\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-c\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.defaultEditor\fR -.RS 4 -Whether to configure \fBemacsclient\fP as the default editor using the \fBEDITOR\fP environment variable\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.extraOptions\fR -.RS 4 -Extra command\-line arguments to pass to \fBemacs\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-f\(dq - \(dqexwm\-enable\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.socketActivation\&.enable\fR -.RS 4 -Whether to enable systemd socket activation for the Emacs service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.startWithUserSession\fR -.RS 4 -Whether to launch Emacs service with the systemd user session\&. If it is \fR\(oqtrue\(cq\fP, Emacs service is started by \fR\(oqdefault\&.target\(cq\fP\&. If it is \fR\(oq\(dqgraphical\(dq\(cq\fP, Emacs service is started by \fR\(oqgraphical\-session\&.target\(cq\fP\&. -.sp -\fIType:\fR boolean or value \[u201C]graphical\[u201D] (singular enum) -.sp -\fIDefault:\fR !config\&.services\&.emacs\&.socketActivation\&.enable -.sp -\fIExample:\fR \(dqgraphical\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.espanso\&.enable\fR -.RS 4 -Whether to enable Espanso: cross platform text expander in Rust\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.espanso\&.package\fR -.RS 4 -The espanso package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.espanso -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.espanso\&.package\-wayland\fR -.RS 4 -The espanso\-wayland package to use\&. Which \fR\(oqespanso\(cq\fP package to use when running under wayland\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.espanso\-wayland -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.espanso\&.configs\fR -.RS 4 -The Espanso configuration to use\&. See \fBhttps://espanso\&.org/docs/configuration/basics/\fR[1]\fR for a description of available options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - default = { }; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default = { - show_notifications = false; - }; - vscode = { - filter_title = \(dqVisual Studio Code$\(dq; - backend = \(dqClipboard\(dq; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://espanso\&.org/docs/configuration/basics/ -.RE -.RE -.PP -\fBservices\&.espanso\&.matches\fR -.RS 4 -The Espanso matches to use\&. See \fBhttps://espanso\&.org/docs/matches/basics/\fR[1]\fR for a description of available options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - default = { - matches = [ ]; - }; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - base = { - matches = [ - { - trigger = \(dq:now\(dq; - replace = \(dqIt\(aqs {{currentdate}} {{currenttime}}\(dq; - } - { - trigger = \(dq:hello\(dq; - replace = \(dqline1\enline2\(dq; - } - { - regex = \(dq:hi(?P<person>\&.*)\e\e\&.\(dq; - replace = \(dqHi {{person}}!\(dq; - } - ]; - }; - global_vars = { - global_vars = [ - { - name = \(dqcurrentdate\(dq; - type = \(dqdate\(dq; - params = {format = \(dq%d/%m/%Y\(dq;}; - } - { - name = \(dqcurrenttime\(dq; - type = \(dqdate\(dq; - params = {format = \(dq%R\(dq;}; - } - ]; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://espanso\&.org/docs/matches/basics/ -.RE -.RE -.PP -\fBservices\&.espanso\&.waylandSupport\fR -.RS 4 -Whether to enable wayland support on linux -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dq\(gatrue\(ga on linux\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.espanso\&.x11Support\fR -.RS 4 -Whether to enable x11 support on linux -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \(dq\(gatrue\(ga on linux\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/espanso\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.etesync\-dav\&.enable\fR -.RS 4 -Whether to enable etesync\-dav\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/etesync\-dav\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.etesync\-dav\&.package\fR -.RS 4 -The etesync\-dav package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.etesync\-dav -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/etesync\-dav\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.etesync\-dav\&.serverUrl\fR -.RS 4 -The URL to the etesync server\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhttps://api\&.etebase\&.com/partner/etesync/\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/etesync\-dav\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.etesync\-dav\&.settings\fR -.RS 4 -Settings for etesync\-dav, passed as environment variables\&. -.sp -\fIType:\fR attribute set of (string or signed integer) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ETESYNC_LISTEN_ADDRESS = \(dqlocalhost\(dq; - ETESYNC_LISTEN_PORT = 37358; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/etesync\-dav\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.flameshot\&.enable\fR -.RS 4 -Whether to enable Flameshot\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/flameshot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.flameshot\&.package\fR -.RS 4 -The flameshot package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.flameshot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/flameshot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.flameshot\&.settings\fR -.RS 4 -Configuration to use for Flameshot\&. See \fBhttps://github\&.com/flameshot\-org/flameshot/blob/master/flameshot\&.example\&.ini\fR[1]\fR for available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - General = { - disabledTrayIcon = true; - showStartupLaunchMessage = false; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/flameshot\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/flameshot\-org/flameshot/blob/master/flameshot\&.example\&.ini -.RE -.RE -.PP -\fBservices\&.fluidsynth\&.enable\fR -.RS 4 -Whether to enable fluidsynth midi synthesizer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fluidsynth\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fluidsynth\&.extraOptions\fR -.RS 4 -Extra arguments, added verbatim to the fluidsynth command\&. See \fBfluidsynth\&.conf\fP\fR(1)\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-sample\-rate 96000\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fluidsynth\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fluidsynth\&.soundFont\fR -.RS 4 -The soundfont file to use, in SoundFont 2 format\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\e${pkgs\&.soundfont\-fluid}/share/soundfonts/FluidR3_GM2\-2\&.sf2\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fluidsynth\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fluidsynth\&.soundService\fR -.RS 4 -The systemd sound service to depend on\&. -.sp -\fIType:\fR one of \[u201C]jack\[u201D], \[u201C]pipewire\-pulse\[u201D], \[u201C]pulseaudio\[u201D] -.sp -\fIDefault:\fR \(dqpulseaudio\(dq -.sp -\fIExample:\fR \(dqpipewire\-pulse\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fluidsynth\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fnott\&.enable\fR -.RS 4 -Whether to enable fnott, a lightweight Wayland notification daemon for wlroots\-based compositors \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fnott\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fnott\&.package\fR -.RS 4 -The fnott package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.fnott -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fnott\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fnott\&.configFile\fR -.RS 4 -Path to the configuration file read by fnott\&. -.sp -Note that environment variables in the path won\[u2019]t be properly expanded\&. -.sp -The configuration specified under \fBservices\&.fnott\&.settings\fP will be generated and written to \fI$XDG_CONFIG_HOME/fnott/fnott\&.ini\fP regardless of this option\&. This allows using a mutable configuration file generated from the immutable one, useful in scenarios where live reloading is desired\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDefault:\fR \(dq$XDG_CONFIG_HOME/fnott/fnott\&.ini\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fnott\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fnott\&.extraFlags\fR -.RS 4 -Extra arguments to use for executing fnott\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-s\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fnott\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fnott\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/fnott/fnott\&.ini\fP\&. -.sp -See \fBfnott\&.ini\fP\fR(5)\fP for a list of available options and \fBhttps://codeberg\&.org/dnkl/fnott/src/branch/master/fnott\&.ini\fR[1]\fR for an example configuration\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - main = { - notification\-margin = 5; - }; - - low = { - timeout = 5; - title\-font = \(dqDina:weight=bold:slant=italic\(dq; - title\-color = \(dqffffff\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fnott\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://codeberg\&.org/dnkl/fnott/src/branch/master/fnott\&.ini -.RE -.RE -.PP -\fBservices\&.fusuma\&.enable\fR -.RS 4 -Whether to enable the fusuma systemd service to automatically enable touchpad gesture\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fusuma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fusuma\&.package\fR -.RS 4 -The fusuma package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.fusuma -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fusuma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fusuma\&.extraPackages\fR -.RS 4 -Extra packages needs to bring to the scope of fusuma service\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR pkgs\&.xdotool pkgs\&.coreutils pkgs\&.xorg\&.xprop -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs; [ xdotool coreutils xorg\&.xprop ]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fusuma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.fusuma\&.settings\fR -.RS 4 -YAML config that will override the default fusuma configuration\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - threshold = { - swipe = 0\&.1; - }; - interval = { - swipe = 0\&.7; - }; - swipe = { - \(dq3\(dq = { - left = { - # GNOME: Switch to left workspace - command = \(dqxdotool key ctrl+alt+Right\(dq; - }; - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/fusuma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.enable\fR -.RS 4 -Whether to enable Gammastep\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.enableVerboseLogging\fR -.RS 4 -Whether to enable verbose service logging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.package\fR -.RS 4 -Gammastep derivation to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.gammastep -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.dawnTime\fR -.RS 4 -Set the time interval of dawn manually\&. The times must be specified as HH:MM in 24\-hour format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq6:00\-7:45\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.duskTime\fR -.RS 4 -Set the time interval of dusk manually\&. The times must be specified as HH:MM in 24\-hour format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq18:35\-20:15\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.latitude\fR -.RS 4 -Your current latitude, between \fR\(oq\-90\&.0\(cq\fP and \fR\(oq90\&.0\(cq\fP\&. Must be provided along with longitude\&. -.sp -\fIType:\fR null or string or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.longitude\fR -.RS 4 -Your current longitude, between \fR\(oq\-180\&.0\(cq\fP and \fR\(oq180\&.0\(cq\fP\&. Must be provided along with latitude\&. -.sp -\fIType:\fR null or string or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.provider\fR -.RS 4 -The location provider to use for determining your location\&. If set to \fR\(oqmanual\(cq\fP you must also provide latitude/longitude\&. If set to \fR\(oqgeoclue2\(cq\fP, you must also enable the global geoclue2 service\&. -.sp -\fIType:\fR one of \[u201C]manual\[u201D], \[u201C]geoclue2\[u201D] -.sp -\fIDefault:\fR \(dqmanual\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.settings\fR -.RS 4 -The configuration to pass to Gammastep\&. Available options for Gammastep described in \fBgammastep\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general = { - adjustment\-method = \(dqrandr\(dq; - }; - randr = { - screen = 0; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.temperature\&.day\fR -.RS 4 -Colour temperature to use during the day, between \fR\(oq1000\(cq\fP and \fR\(oq25000\(cq\fP K\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.temperature\&.night\fR -.RS 4 -Colour temperature to use at night, between \fR\(oq1000\(cq\fP and \fR\(oq25000\(cq\fP K\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 3700 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gammastep\&.tray\fR -.RS 4 -Start the gammastep\-indicator tray applet\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/gammastep\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.getmail\&.enable\fR -.RS 4 -Whether to enable the getmail systemd service to automatically retrieve mail\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/getmail\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.getmail\&.frequency\fR -.RS 4 -The refresh frequency\&. Check \fR\(oqman systemd\&.time\(cq\fP for more information on the syntax\&. If you use a gpg\-agent in combination with the passwordCommand, keep the poll frequency below the cache\-ttl value (as set by the \fR\(oqdefault\(cq\fP) to avoid pinentry asking permanently for a password\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIExample:\fR \(dqhourly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/getmail\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.enable\fR -.RS 4 -Whether to enable git\-sync services\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.package\fR -.RS 4 -The git\-sync package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.git\-sync -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.repositories\fR -.RS 4 -The repositories that should be synchronized\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - xyz = { - path = \(dq${config\&.home\&.homeDirectory}/foo/home\-manager\(dq; - uri = \(dqgit@github\&.com:nix\-community/home\-manager\&.git\(dq; - interval = 1000; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.repositories\&.<name>\&.extraPackages\fR -.RS 4 -Extra packages available to git\-sync\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs; [ git\-crypt ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.repositories\&.<name>\&.interval\fR -.RS 4 -The interval, specified in seconds, at which the synchronization will be triggered even without filesystem changes\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.repositories\&.<name>\&.path\fR -.RS 4 -The path at which to sync the repository -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.git\-sync\&.repositories\&.<name>\&.uri\fR -.RS 4 -The URI of the remote to be synchronized\&. This is only used in the event that the directory does not already exist\&. See \fBhttps://git\-scm\&.com/docs/git\-clone#_git_urls\fR[1]\fR for the supported URIs\&. -.sp -This option is not supported on Darwin\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqgit+ssh://user@example\&.com:/\(ti[user]/path/to/repo\&.git\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/git\-sync\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://git\-scm\&.com/docs/git\-clone#_git_urls -.RE -.RE -.PP -\fBservices\&.glance\&.enable\fR -.RS 4 -Whether to enable glance\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/glance\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.glance\&.package\fR -.RS 4 -The glance package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.glance -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/glance\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.glance\&.settings\fR -.RS 4 -Configuration written to a yaml file that is read by glance\&. See \fBhttps://github\&.com/glanceapp/glance/blob/main/docs/configuration\&.md\fR[1]\fR for more\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - pages = [ - { - columns = [ - { - size = \(dqfull\(dq; - widgets = [ - { - type = \(dqcalendar\(dq; - } - ]; - } - ]; - name = \(dqCalendar\(dq; - } - ]; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - pages = [ - { - columns = [ - { - size = \(dqfull\(dq; - widgets = [ - { - type = \(dqcalendar\(dq; - } - { - location = \(dqLondon, United Kingdom\(dq; - type = \(dqweather\(dq; - } - ]; - } - ]; - name = \(dqHome\(dq; - } - ]; - server = { - port = 5678; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/glance\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/glanceapp/glance/blob/main/docs/configuration\&.md -.RE -.RE -.PP -\fBservices\&.gnome\-keyring\&.enable\fR -.RS 4 -Whether to enable GNOME Keyring\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gnome\-keyring\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gnome\-keyring\&.components\fR -.RS 4 -The GNOME keyring components to start\&. If empty then the default set of components will be started\&. -.sp -\fIType:\fR list of (one of \[u201C]pkcs11\[u201D], \[u201C]secrets\[u201D], \[u201C]ssh\[u201D]) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gnome\-keyring\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enable\fR -.RS 4 -Whether to enable GnuPG private key agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableBashIntegration\fR -.RS 4 -Whether to enable Bash integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableBashIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableBashIntegration\fP option -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableExtraSocket\fR -.RS 4 -Whether to enable extra socket of the GnuPG key agent (useful for GPG Agent forwarding)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableFishIntegration\fR -.RS 4 -Whether to enable Fish integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableFishIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableFishIntegration\fP option -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableNushellIntegration\fR -.RS 4 -Whether to enable Nushell integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableNushellIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableNushellIntegration\fP option -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableScDaemon\fR -.RS 4 -Make use of the scdaemon tool\&. This option has the effect of enabling the ability to do smartcard operations\&. When disabled, this option passes \fBdisable\-scdaemon\fP setting to gpg\-agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableSshSupport\fR -.RS 4 -Whether to use the GnuPG key agent for SSH keys\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.enableZshIntegration\fR -.RS 4 -Whether to enable Zsh integration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR \fBhome.shell.enableZshIntegration\fR[1]\fR -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhome\&.shell\&.enableZshIntegration\fP option -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.defaultCacheTtl\fR -.RS 4 -Set the time a cache entry is valid to the given number of seconds\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.defaultCacheTtlSsh\fR -.RS 4 -Set the time a cache entry used for SSH keys is valid to the given number of seconds\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.extraConfig\fR -.RS 4 -Extra configuration lines to append to the gpg\-agent configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - allow\-emacs\-pinentry - allow\-loopback\-pinentry -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.grabKeyboardAndMouse\fR -.RS 4 -Tell the pinentry to grab the keyboard and mouse\&. This option should in general be used to avoid X\-sniffing attacks\&. When disabled, this option passes \fBno\-grab\fP setting to gpg\-agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.maxCacheTtl\fR -.RS 4 -Set the maximum time a cache entry is valid to n seconds\&. After this time a cache entry will be expired even if it has been accessed recently or has been set using gpg\-preset\-passphrase\&. The default is 2 hours (7200 seconds)\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.maxCacheTtlSsh\fR -.RS 4 -Set the maximum time a cache entry used for SSH keys is valid to n seconds\&. After this time a cache entry will be expired even if it has been accessed recently or has been set using gpg\-preset\-passphrase\&. The default is 2 hours (7200 seconds)\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.noAllowExternalCache\fR -.RS 4 -Tell Pinentry not to enable features which use an external cache for passphrases\&. -.sp -Some desktop environments prefer to unlock all credentials with one master password and may have installed a Pinentry which employs an additional external cache to implement such a policy\&. By using this option the Pinentry is advised not to make use of such a cache and instead always ask the user for the requested passphrase\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.pinentry\&.package\fR -.RS 4 -The pinentry\-gnome3 package to use\&. Which pinentry interface to use\&. If not \fR\(oqnull\(cq\fP, it sets \fBpinentry\-program\fP in \fIgpg\-agent\&.conf\fP\&. Beware that \fR\(oqpinentry\-gnome3\(cq\fP may not work on non\-GNOME systems\&. You can fix it by adding the following to your configuration: -.sp -.RS 4 -.nf -home\&.packages = [ pkgs\&.gcr ]; -.fi -.RE -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.pinentry\&.program\fR -.RS 4 -Which program to search for in the configured \fR\(oqpinentry\&.package\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIExample:\fR \(dqpinentry\-wayprompt\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.sshKeys\fR -.RS 4 -Which GPG keys (by keygrip) to expose as SSH keys\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gpg\-agent\&.verbose\fR -.RS 4 -Whether to produce verbose output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gpg\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.grobi\&.enable\fR -.RS 4 -Whether to enable the grobi display setup daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/grobi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.grobi\&.executeAfter\fR -.RS 4 -Commands to be run after an output configuration was changed\&. The Nix value declared here will be translated to JSON and written to the \fBexecute_after\fP key in \fI$XDG_CONFIG_HOME/grobi\&.conf\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqsetxkbmap dvorak\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/grobi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.grobi\&.rules\fR -.RS 4 -These are the rules grobi tries to match to the current output configuration\&. The rules are evaluated top to bottom, the first matching rule is applied and processing stops\&. See \fBhttps://github\&.com/fd0/grobi/blob/master/doc/grobi\&.conf\fR[1]\fR for more information\&. The Nix value declared here will be translated to JSON and written to the \fBrules\fP key in \fI$XDG_CONFIG_HOME/grobi\&.conf\fP\&. -.sp -\fIType:\fR list of attribute set of (string or boolean or signed integer or list of string) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqHome\(dq; - outputs_connected = [ \(dqDP\-2\(dq ]; - configure_single = \(dqDP\-2\(dq; - primary = true; - atomic = true; - execute_after = [ - \(dq${pkgs\&.xorg\&.xrandr}/bin/xrandr \-\-dpi 96\(dq - \(dq${pkgs\&.xmonad\-with\-packages}/bin/xmonad \-\-restart\(dq; - ]; - } - { - name = \(dqMobile\(dq; - outputs_disconnected = [ \(dqDP\-2\(dq ]; - configure_single = \(dqeDP\-1\(dq; - primary = true; - atomic = true; - execute_after = [ - \(dq${pkgs\&.xorg\&.xrandr}/bin/xrandr \-\-dpi 120\(dq - \(dq${pkgs\&.xmonad\-with\-packages}/bin/xmonad \-\-restart\(dq; - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/grobi\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/fd0/grobi/blob/master/doc/grobi\&.conf -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.enable\fR -.RS 4 -Whether to enable Gromit\-MPX annotation tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.package\fR -.RS 4 -The gromit\-mpx package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.gromit\-mpx -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.hotKey\fR -.RS 4 -A keysym or raw keycode that toggles the activation state of gromit\-mpx\&. Set to \fR\(oqnull\(cq\fP to disable the hotkey in which case you\[u2019]ll have to activate gromit\-mpx manually using the command line\&. -.sp -\fIType:\fR null or string or (positive integer, meaning >0) -.sp -\fIDefault:\fR \(dqF9\(dq -.sp -\fIExample:\fR \(dqInsert\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.opacity\fR -.RS 4 -Opacity of the drawing overlay\&. -.sp -\fIType:\fR float between 0\&.0 and 1\&.0 (inclusive) -.sp -\fIDefault:\fR 0\&.75 -.sp -\fIExample:\fR 1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\fR -.RS 4 -Tool definitions for gromit\-mpx to use\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - { - color = \(dqred\(dq; - device = \(dqdefault\(dq; - size = 5; - type = \(dqpen\(dq; - } - { - color = \(dqblue\(dq; - device = \(dqdefault\(dq; - modifiers = [ - \(dqSHIFT\(dq - ]; - size = 5; - type = \(dqpen\(dq; - } - { - color = \(dqyellow\(dq; - device = \(dqdefault\(dq; - modifiers = [ - \(dqCONTROL\(dq - ]; - size = 5; - type = \(dqpen\(dq; - } - { - arrowSize = 1; - color = \(dqgreen\(dq; - device = \(dqdefault\(dq; - modifiers = [ - \(dq2\(dq - ]; - size = 6; - type = \(dqpen\(dq; - } - { - device = \(dqdefault\(dq; - modifiers = [ - \(dq3\(dq - ]; - size = 75; - type = \(dqeraser\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.arrowSize\fR -.RS 4 -If not \fR\(oqnull\(cq\fP, automatically draw an arrow at the end of a stroke with the given size\&. -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.color\fR -.RS 4 -The stroke (or recolor) color of the tool\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqred\(dq -.sp -\fIExample:\fR \(dq#ff00ff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.device\fR -.RS 4 -Use this tool with the given xinput device\&. The device with the name default works with any input\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqdefault\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.modifiers\fR -.RS 4 -Only activate this tool if the given modifiers are also active\&. -.sp -\fIType:\fR list of (one of \[u201C]1\[u201D], \[u201C]2\[u201D], \[u201C]3\[u201D], \[u201C]4\[u201D], \[u201C]5\[u201D], \[u201C]SHIFT\[u201D], \[u201C]CONTROL\[u201D], \[u201C]ALT\[u201D], \[u201C]META\[u201D]) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqSHIFT\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.size\fR -.RS 4 -The tool size\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 5 -.sp -\fIExample:\fR 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.tools\&.*\&.type\fR -.RS 4 -Which type of tool this is\&. -.sp -\fIType:\fR one of \[u201C]pen\[u201D], \[u201C]eraser\[u201D], \[u201C]recolor\[u201D] -.sp -\fIDefault:\fR \(dqpen\(dq -.sp -\fIExample:\fR \(dqeraser\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gromit\-mpx\&.undoKey\fR -.RS 4 -A keysym or raw keycode that causes gromit\-mpx to undo the last stroke\&. Use this key along with the shift key to redo an undone stoke\&. Set to \fR\(oqnull\(cq\fP to disable the undo hotkey\&. -.sp -\fIType:\fR null or string or (positive integer, meaning >0) -.sp -\fIDefault:\fR \(dqF10\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/gromit\-mpx\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoExpire\&.enable\fR -.RS 4 -Whether to enable the Home Manager expire service that periodically expire your old Home Manager generations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-expire\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoExpire\&.frequency\fR -.RS 4 -The interval at which the Home Manager auto expire is run\&. -.sp -This value is passed to the systemd timer configuration as the \fR\(oqOnCalendar\(cq\fP option\&. -.sp -The format is described in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -On Darwin it must be one of: hourly, daily, weekly, monthly, semiannually, annually, which are implemented as defined in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqmonthly\(dq -.sp -\fIExample:\fR \(dqweekly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-expire\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoExpire\&.store\&.cleanup\fR -.RS 4 -Whether to enable to cleanup Nix store when the Home Manager expire service runs\&. -.sp -It will use \fR\(oqnix\-collect\-garbage\(cq\fP to cleanup the store, removing all unreachable store objects from the current user (i\&.e\&.: not only the expired Home Manager generations)\&. -.sp -This may not be what you want, this is why this option is disabled by default\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-expire\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoExpire\&.store\&.options\fR -.RS 4 -Options given to \fR\(oqnix\-collect\-garbage\(cq\fP when the service runs\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq\-\-delete\-older\-than 30d\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-expire\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoExpire\&.timestamp\fR -.RS 4 -Remove generations older than \fR\(oqTIMESTAMP\(cq\fP where \fR\(oqTIMESTAMP\(cq\fP is interpreted as in the \-d argument of the date tool\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\-30 days\(dq -.sp -\fIExample:\fR \(dq\-7 days\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-expire\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoUpgrade\&.enable\fR -.RS 4 -Whether to enable the Home Manager upgrade service that periodically updates your Nix channels before running \fR\(oqhome\-manager switch\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-upgrade\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.home\-manager\&.autoUpgrade\&.frequency\fR -.RS 4 -The interval at which the Home Manager auto upgrade is run\&. This value is passed to the systemd timer configuration as the \fR\(oqOnCalendar\(cq\fP option\&. The format is described in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqweekly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/home\-manager\-auto\-upgrade\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hound\&.enable\fR -.RS 4 -Whether to enable hound\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hound\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hound\&.databasePath\fR -.RS 4 -The Hound database path\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq$XDG_DATA_HOME/hound\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hound\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hound\&.listenAddress\fR -.RS 4 -Listen address of the Hound daemon\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqlocalhost:6080\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hound\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hound\&.maxConcurrentIndexers\fR -.RS 4 -Limit the amount of concurrent indexers\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hound\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hound\&.repositories\fR -.RS 4 -The repository configuration\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - SomeGitRepo = { - url = \(dqhttps://www\&.github\&.com/YourOrganization/RepoOne\&.git\(dq; - ms\-between\-poll = 10000; - exclude\-dot\-files = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hound\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hypridle\&.enable\fR -.RS 4 -Whether to enable Hypridle, Hyprland\[u2019]s idle daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hypridle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hypridle\&.package\fR -.RS 4 -The hypridle package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hypridle -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hypridle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hypridle\&.importantPrefixes\fR -.RS 4 -List of prefix of attributes to source at the top of the config\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hypridle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hypridle\&.settings\fR -.RS 4 -Hypridle configuration written in Nix\&. Entries with the same key should be written as lists\&. Variables\[u2019] and colors\[u2019] names should be quoted\&. See \fBhttps://wiki\&.hypr\&.land/Hypr\-Ecosystem/hypridle/\fR[1]\fR for more examples\&. -.sp -\fIType:\fR Hypridle configuration value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - general = { - after_sleep_cmd = \(dqhyprctl dispatch dpms on\(dq; - ignore_dbus_inhibit = false; - lock_cmd = \(dqhyprlock\(dq; - }; - - listener = [ - { - timeout = 900; - on\-timeout = \(dqhyprlock\(dq; - } - { - timeout = 1200; - on\-timeout = \(dqhyprctl dispatch dpms off\(dq; - on\-resume = \(dqhyprctl dispatch dpms on\(dq; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hypridle\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wiki\&.hypr\&.land/Hypr\-Ecosystem/hypridle/ -.RE -.RE -.PP -\fBservices\&.hypridle\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqhyprland\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hypridle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprpaper\&.enable\fR -.RS 4 -Whether to enable Hyprpaper, Hyprland\[u2019]s wallpaper daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpaper\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprpaper\&.package\fR -.RS 4 -The hyprpaper package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hyprpaper -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpaper\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprpaper\&.importantPrefixes\fR -.RS 4 -List of prefix of attributes to source at the top of the config\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpaper\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprpaper\&.settings\fR -.RS 4 -hyprpaper configuration written in Nix\&. Entries with the same key should be written as lists\&. Variables\[u2019] and colors\[u2019] names should be quoted\&. See \fBhttps://wiki\&.hypr\&.land/Hypr\-Ecosystem/hyprpaper/\fR[1]\fR for more examples\&. -.sp -\fIType:\fR Hyprpaper configuration value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ipc = \(dqon\(dq; - splash = false; - splash_offset = 2\&.0; - - preload = - [ \(dq/share/wallpapers/buttons\&.png\(dq \(dq/share/wallpapers/cat_pacman\&.png\(dq ]; - - wallpaper = [ - \(dqDP\-3,/share/wallpapers/buttons\&.png\(dq - \(dqDP\-1,/share/wallpapers/cat_pacman\&.png\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpaper\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wiki\&.hypr\&.land/Hypr\-Ecosystem/hyprpaper/ -.RE -.RE -.PP -\fBservices\&.hyprpolkitagent\&.enable\fR -.RS 4 -Whether to enable Hyprland Policykit Agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpolkitagent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprpolkitagent\&.package\fR -.RS 4 -The hyprpolkitagent package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.hyprpolkitagent -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprpolkitagent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.enable\fR -.RS 4 -Whether to enable Hyprsunset, Hyprland\[u2019]s blue\-light filter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.package\fR -.RS 4 -The hyprsunset package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.hyprsunset -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.extraArgs\fR -.RS 4 -Additional command\-line arguments to pass to \fR\(oqhyprsunset\(cq\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-identity\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.transitions\fR -.RS 4 -Set of transitions for different times of day (e\&.g\&., sunrise, sunset) -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - sunrise = { - calendar = \(dq*\-*\-* 06:00:00\(dq; - requests = [ - [ \(dqtemperature\(dq \(dq6500\(dq ] - [ \(dqgamma 100\(dq ] - ]; - }; - sunset = { - calendar = \(dq*\-*\-* 19:00:00\(dq; - requests = [ - [ \(dqtemperature\(dq \(dq3500\(dq ] - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.transitions\&.<name>\&.calendar\fR -.RS 4 -Systemd calendar expression for when to run this transition\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq*\-*\-* 06:00:00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hyprsunset\&.transitions\&.<name>\&.requests\fR -.RS 4 -List of requests to pass to \fR\(oqhyprctl hyprsunset\(cq\fP for this transition\&. Each inner list represents a separate command\&. -.sp -\fIType:\fR list of list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - [ \(dqtemperature\(dq \(dq3500\(dq ] -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/hyprsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.imapnotify\&.enable\fR -.RS 4 -Whether to enable imapnotify\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.imapnotify\&.package\fR -.RS 4 -The goimapnotify package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.goimapnotify -.sp -\fIExample:\fR pkgs\&.imapnotify -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.imapnotify\&.path\fR -.RS 4 -List of packages to provide in PATH for the imapnotify service\&. -.sp -Note, this does not apply to the Darwin launchd service\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/imapnotify\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.enable\fR -.RS 4 -Whether to enable jankyborders\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jankyborders\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.package\fR -.RS 4 -The jankyborders package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.jankyborders -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jankyborders\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.errorLogFile\fR -.RS 4 -Absolute path to log all stderr output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/jankyborders/err\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/jankyborders\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jankyborders\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.outLogFile\fR -.RS 4 -Absolute path to log all stdout output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/jankyborders/out\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/jankyborders\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jankyborders\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.settings\fR -.RS 4 -Configuration settings to passed to \fR\(oqborders\(cq\fP in \fI$XDG_CONFIG_HOME/borders/bordersc\fP\&. See \fBhttps://github\&.com/FelixKratz/JankyBorders\fR[1]\fR for the documentation\&. -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf - { - style=round; -\[u0009] width=6\&.0; -\[u0009] hidpi=\(dqoff\(dq; -\[u0009] active_color=\(dq0xffe2e2e3\(dq; -\[u0009] inactive_color=\(dq0xff414550\(dq; - } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jankyborders\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/FelixKratz/JankyBorders -.RE -.RE -.PP -\fBservices\&.jellyfin\-mpv\-shim\&.enable\fR -.RS 4 -Whether to enable Jellyfin mpv shim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jellyfin\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jellyfin\-mpv\-shim\&.package\fR -.RS 4 -The jellyfin\-mpv\-shim package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.jellyfin\-mpv\-shim -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jellyfin\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jellyfin\-mpv\-shim\&.mpvBindings\fR -.RS 4 -mpv input bindings to use for jellyfin\-mpv\-shim\&. If null, jellyfin\-mpv\-shim will use its default input configuration\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - WHEEL_UP = \(dqseek 10\(dq; - WHEEL_DOWN = \(dqseek \-10\(dq; - } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jellyfin\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jellyfin\-mpv\-shim\&.mpvConfig\fR -.RS 4 -mpv configuration options to use for jellyfin\-mpv\-shim\&. If null, jellyfin\-mpv\-shim will use its default mpv configuration\&. -.sp -\fIType:\fR null or (attribute set of (string or signed integer or boolean or floating point number)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - profile = \(dqgpu\-hq\(dq; - force\-window = true; - } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jellyfin\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jellyfin\-mpv\-shim\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/jellyfin\-mpv\-shim/conf\&.json\fP\&. See \fBhttps://github\&.com/jellyfin/jellyfin\-mpv\-shim#configuration\fR[1]\fR for the configuration documentation\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - allow_transcode_to_h265 = false; - always_transcode = false; - audio_output = \(dqhdmi\(dq; - auto_play = true; - fullscreen = true; - player_name = \(dqmpv\-shim\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/jellyfin\-mpv\-shim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/jellyfin/jellyfin\-mpv\-shim#configuration -.RE -.RE -.PP -\fBservices\&.kanshi\&.enable\fR -.RS 4 -Whether to enable kanshi, a Wayland daemon that automatically configures outputs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.package\fR -.RS 4 -The kanshi package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kanshi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.extraConfig\fR -.RS 4 -Extra configuration lines to append to the kanshi configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\fR -.RS 4 -Attribute set of profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - undocked = { - outputs = [ - { - criteria = \(dqeDP\-1\(dq; - } - ]; - }; - docked = { - outputs = [ - { - criteria = \(dqeDP\-1\(dq; - } - { - criteria = \(dqSome Company ASDF 4242\(dq; - transform = \(dq90\(dq; - } - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.exec\fR -.RS 4 -Commands executed after the profile is successfully applied\&. Note that if you provide multiple commands, they will be executed asynchronously with no guaranteed ordering\&. -.sp -\fIType:\fR (list of string) or string convertible to it -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dq[ \e${pkg\&.sway}/bin/swaymsg workspace 1, move workspace to eDP\-1 ]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.name\fR -.RS 4 -Profile name -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\fR -.RS 4 -Outputs configuration\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.adaptiveSync\fR -.RS 4 -Enables or disables adaptive synchronization (aka\&. Variable Refresh Rate)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.alias\fR -.RS 4 -Defines an alias for the output -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlaptopMonitor\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.criteria\fR -.RS 4 -The criteria can either be an output name, an output description or \[u201C]*\[u201D]\&. The latter can be used to match any output\&. -.sp -On \fBsway\fP\fR(1)\fP, output names and descriptions can be obtained via \fR\(oqswaymsg \-t get_outputs\(cq\fP\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.mode\fR -.RS 4 -<width>x<height>[@<rate>[Hz]] -.sp -Configures the specified output to use the specified mode\&. Modes are a combination of width and height (in pixels) and a refresh rate (in Hz) that your display can be configured to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1920x1080@60Hz\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.position\fR -.RS 4 -<x>,<y> -.sp -Places the output at the specified position in the global coordinates space\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1600,0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.scale\fR -.RS 4 -Scales the output by the specified scale factor\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.status\fR -.RS 4 -Enables or disables the specified output\&. -.sp -\fIType:\fR null or one of \[u201C]enable\[u201D], \[u201C]disable\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.profiles\&.<name>\&.outputs\&.*\&.transform\fR -.RS 4 -Sets the output transform\&. -.sp -\fIType:\fR null or one of \[u201C]normal\[u201D], \[u201C]90\[u201D], \[u201C]180\[u201D], \[u201C]270\[u201D], \[u201C]flipped\[u201D], \[u201C]flipped\-90\[u201D], \[u201C]flipped\-180\[u201D], \[u201C]flipped\-270\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.settings\fR -.RS 4 -Ordered list of directives\&. See kanshi(5) for informations\&. -.sp -\fIType:\fR list of attribute\-tagged union -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { include = \(dqpath/to/included/files\(dq; } - { output\&.criteria = \(dqeDP\-1\(dq; - output\&.scale = 2; - } - { profile\&.name = \(dqundocked\(dq; - profile\&.outputs = [ - { - criteria = \(dqeDP\-1\(dq; - } - ]; - } - { profile\&.name = \(dqdocked\(dq; - profile\&.outputs = [ - { - criteria = \(dqeDP\-1\(dq; - } - { - criteria = \(dqSome Company ASDF 4242\(dq; - transform = \(dq90\(dq; - } - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.include\fR -.RS 4 -Include as another file from \fIpath\fR\&. Expands shell syntax (see \fIwordexp\fR(3) for details)\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\fR -.RS 4 -output attribute set\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.adaptiveSync\fR -.RS 4 -Enables or disables adaptive synchronization (aka\&. Variable Refresh Rate)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.alias\fR -.RS 4 -Defines an alias for the output -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlaptopMonitor\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.criteria\fR -.RS 4 -The criteria can either be an output name, an output description or \[u201C]*\[u201D]\&. The latter can be used to match any output\&. -.sp -On \fBsway\fP\fR(1)\fP, output names and descriptions can be obtained via \fR\(oqswaymsg \-t get_outputs\(cq\fP\&. -.sp -\fIType:\fR string -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.mode\fR -.RS 4 -<width>x<height>[@<rate>[Hz]] -.sp -Configures the specified output to use the specified mode\&. Modes are a combination of width and height (in pixels) and a refresh rate (in Hz) that your display can be configured to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1920x1080@60Hz\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.position\fR -.RS 4 -<x>,<y> -.sp -Places the output at the specified position in the global coordinates space\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1600,0\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.scale\fR -.RS 4 -Scales the output by the specified scale factor\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.status\fR -.RS 4 -Enables or disables the specified output\&. -.sp -\fIType:\fR null or one of \[u201C]enable\[u201D], \[u201C]disable\[u201D] -.sp -\fIDefault:\fR null -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.output\&.transform\fR -.RS 4 -Sets the output transform\&. -.sp -\fIType:\fR null or one of \[u201C]normal\[u201D], \[u201C]90\[u201D], \[u201C]180\[u201D], \[u201C]270\[u201D], \[u201C]flipped\[u201D], \[u201C]flipped\-90\[u201D], \[u201C]flipped\-180\[u201D], \[u201C]flipped\-270\[u201D] -.sp -\fIDefault:\fR null -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\fR -.RS 4 -profile attribute set\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.exec\fR -.RS 4 -Commands executed after the profile is successfully applied\&. Note that if you provide multiple commands, they will be executed asynchronously with no guaranteed ordering\&. -.sp -\fIType:\fR (list of string) or string convertible to it -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dq[ \e${pkg\&.sway}/bin/swaymsg workspace 1, move workspace to eDP\-1 ]\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.name\fR -.RS 4 -Profile name -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\fR -.RS 4 -Outputs configuration\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.adaptiveSync\fR -.RS 4 -Enables or disables adaptive synchronization (aka\&. Variable Refresh Rate)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.alias\fR -.RS 4 -Defines an alias for the output -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlaptopMonitor\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.criteria\fR -.RS 4 -The criteria can either be an output name, an output description or \[u201C]*\[u201D]\&. The latter can be used to match any output\&. -.sp -On \fBsway\fP\fR(1)\fP, output names and descriptions can be obtained via \fR\(oqswaymsg \-t get_outputs\(cq\fP\&. -.sp -\fIType:\fR string -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.mode\fR -.RS 4 -<width>x<height>[@<rate>[Hz]] -.sp -Configures the specified output to use the specified mode\&. Modes are a combination of width and height (in pixels) and a refresh rate (in Hz) that your display can be configured to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1920x1080@60Hz\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.position\fR -.RS 4 -<x>,<y> -.sp -Places the output at the specified position in the global coordinates space\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1600,0\(dq -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.scale\fR -.RS 4 -Scales the output by the specified scale factor\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.status\fR -.RS 4 -Enables or disables the specified output\&. -.sp -\fIType:\fR null or one of \[u201C]enable\[u201D], \[u201C]disable\[u201D] -.sp -\fIDefault:\fR null -.RE -.PP -\fBservices\&.kanshi\&.settings\&.*\&.profile\&.outputs\&.*\&.transform\fR -.RS 4 -Sets the output transform\&. -.sp -\fIType:\fR null or one of \[u201C]normal\[u201D], \[u201C]90\[u201D], \[u201C]180\[u201D], \[u201C]270\[u201D], \[u201C]flipped\[u201D], \[u201C]flipped\-90\[u201D], \[u201C]flipped\-180\[u201D], \[u201C]flipped\-270\[u201D] -.sp -\fIDefault:\fR null -.RE -.PP -\fBservices\&.kanshi\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kanshi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kbfs\&.enable\fR -.RS 4 -Whether to enable Keybase File System\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kbfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kbfs\&.extraFlags\fR -.RS 4 -Additional flags to pass to the Keybase filesystem on launch\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-label kbfs\(dq - \(dq\-mount\-type normal\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kbfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kbfs\&.mountPoint\fR -.RS 4 -Mount point for the Keybase filesystem, relative to \fBHOME\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqkeybase\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kbfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kdeconnect\&.enable\fR -.RS 4 -Whether to enable KDE connect\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kdeconnect\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kdeconnect\&.package\fR -.RS 4 -The kdeconnect\-kde package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kdePackages\&.kdeconnect\-kde -.sp -\fIExample:\fR pkgs\&.plasma5Packages\&.kdeconnect\-kde -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kdeconnect\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.kdeconnect\&.indicator\fR -.RS 4 -Whether to enable kdeconnect\-indicator service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/kdeconnect\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.keybase\&.enable\fR -.RS 4 -Whether to enable Keybase\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/keybase\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.keynav\&.enable\fR -.RS 4 -Whether to enable keynav\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/keynav\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.librespot\&.enable\fR -.RS 4 -Whether to enable Librespot (Spotify Connect speaker daemon)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/librespot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.librespot\&.package\fR -.RS 4 -The librespot package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.librespot -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/librespot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.librespot\&.settings\fR -.RS 4 -Command\-line arguments to pass to librespot\&. -.sp -Boolean values render as a flag if true, and nothing if false\&. Null values are ignored\&. All other values are rendered as options with an argument\&. -.sp -\fIType:\fR attribute set of (null or boolean or string or signed integer or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/librespot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.librespot\&.settings\&.cache\fR -.RS 4 -Path to a directory where files will be cached after downloading\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dq$XDG_CACHE_HOME/librespot\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/librespot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.librespot\&.settings\&.system\-cache\fR -.RS 4 -Path to a directory where system files (credentials, volume) will be cached\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dq$XDG_STATE_HOME/librespot\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/librespot\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lieer\&.enable\fR -.RS 4 -Whether to enable lieer Gmail synchronization service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lieer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.enable\fR -.RS 4 -Whether to enable linux\-wallpaperengine, an implementation of Wallpaper Engine functionality\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.package\fR -.RS 4 -The linux\-wallpaperengine package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.linux\-wallpaperengine -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.assetsPath\fR -.RS 4 -Path to the assets directory\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.clamping\fR -.RS 4 -Clamping mode for all wallpapers\&. -.sp -\fIType:\fR null or one of \[u201C]clamp\[u201D], \[u201C]border\[u201D], \[u201C]repeat\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\fR -.RS 4 -Define wallpapers\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.audio\&.automute\fR -.RS 4 -Automute when another app is playing sound\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.audio\&.processing\fR -.RS 4 -Enables audio processing for background\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.audio\&.silent\fR -.RS 4 -Mutes all sound of the wallpaper\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.extraOptions\fR -.RS 4 -Extra arguments to pass to the linux\-wallpaperengine command for this wallpaper\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.fps\fR -.RS 4 -Limits the FPS to a given number\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.monitor\fR -.RS 4 -Which monitor to display the wallpaper\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.scaling\fR -.RS 4 -Scaling mode for this wallpaper\&. -.sp -\fIType:\fR null or one of \[u201C]stretch\[u201D], \[u201C]fit\[u201D], \[u201C]fill\[u201D], \[u201C]default\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.linux\-wallpaperengine\&.wallpapers\&.*\&.wallpaperId\fR -.RS 4 -Wallpaper ID to be used\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/linux\-wallpaperengine\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.listenbrainz\-mpd\&.enable\fR -.RS 4 -Whether to enable listenbrainz\-mpd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/listenbrainz\-mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.listenbrainz\-mpd\&.package\fR -.RS 4 -The listenbrainz\-mpd package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.listenbrainz\-mpd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/listenbrainz\-mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.listenbrainz\-mpd\&.settings\fR -.RS 4 -Configuration for listenbrainz\-mpd written to \fI$XDG_CONFIG_HOME/listenbrainz\-mpd/config\&.toml\fP\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - submission = { - token_file = \(dq/run/secrets/listenbrainz\-mpd\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/listenbrainz\-mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.enable\fR -.RS 4 -Whether to enable lorri build daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.enableNotifications\fR -.RS 4 -Whether to enable lorri build notifications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.package\fR -.RS 4 -The lorri package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lorri -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.nixPackage\fR -.RS 4 -Which nix package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix -.sp -\fIExample:\fR pkgs\&.nixVersions\&.unstable -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.enable\fR -.RS 4 -Whether to enable Ludusavi game backup tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.package\fR -.RS 4 -The ludusavi package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.ludusavi -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.backupNotification\fR -.RS 4 -Send a notification message after a successful backup\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.configFile\fR -.RS 4 -Path to a Ludusavi \fR\(oqconfig\&.yaml\(cq\fP\&. Mutually exclusive with the \fR\(oqsettings\(cq\fP option\&. See https://github\&.com/mtkennerly/ludusavi/blob/master/docs/help/configuration\-file\&.md for available options\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.frequency\fR -.RS 4 -How often to run ludusavi\&. This value is passed to the systemd timer configuration as the onCalendar option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqdaily\(dq -.sp -\fIExample:\fR \(dq*\-*\-* 8:00:00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ludusavi\&.settings\fR -.RS 4 -Ludusavi configuration as an attribute set\&. See https://github\&.com/mtkennerly/ludusavi#configuration\-file for available options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - backup = { - path = \(dq$XDG_STATE_HOME/backups/ludusavi\(dq; - }; - manifest = { - url = \(dqhttps://raw\&.githubusercontent\&.com/mtkennerly/ludusavi\-manifest/master/data/manifest\&.yaml\(dq; - }; - restore = { - path = \(dq$XDG_STATE_HOME/backups/ludusavi\(dq; - }; - roots = [ ]; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - backup = { - path = \(dq\(ti/\&.local/state/backups/ludusavi\(dq; - }; - language = \(dqen\-US\(dq; - restore = { - path = \(dq\(ti/\&.local/state/backups/ludusavi\(dq; - }; - roots = [ - { - path = \(dq\(ti/\&.local/share/Steam\(dq; - store = \(dqsteam\(dq; - } - ]; - theme = \(dqlight\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ludusavi\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lxqt\-policykit\-agent\&.enable\fR -.RS 4 -Whether to enable LXQT Policykit Agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lxqt\-policykit\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lxqt\-policykit\-agent\&.package\fR -.RS 4 -The lxqt\-policykit package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.lxqt\&.lxqt\-policykit -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/lxqt\-policykit\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.macos\-remap\-keys\&.enable\fR -.RS 4 -Whether to enable macOS key remapping service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/macos\-remap\-keys>\fP -.RE -.RE -.PP -\fBservices\&.macos\-remap\-keys\&.keyboard\fR -.RS 4 -Mapping of keyboard keys to remap -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Capslock = \(dqEscape\(dq; - SquareBracketOpen = \(dqSquareBracketClose\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/macos\-remap\-keys>\fP -.RE -.RE -.PP -\fBservices\&.macos\-remap\-keys\&.keypad\fR -.RS 4 -Mapping of keypad keys to remap -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Enter = \(dqEqual\(dq; - Plus = \(dqMinus\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/macos\-remap\-keys>\fP -.RE -.RE -.PP -\fBservices\&.mako\&.enable\fR -.RS 4 -Whether to enable mako\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mako\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mako\&.package\fR -.RS 4 -The mako package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mako -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mako\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mako\&.extraConfig\fR -.RS 4 -Additional configuration lines to inject directly into the generated config file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[urgency=low] -border\-color=#b8bb26 -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mako\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mako\&.settings\fR -.RS 4 -Configuration settings for mako\&. Can include both global settings and sections\&. All available options can be found here: \fBhttps://github\&.com/emersion/mako/blob/master/doc/mako\&.5\&.scd\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (INI atom (null, bool, int, float or string) or attribute set of (INI atom (null, bool, int, float or string))) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - { - actions = true; - anchor = \(dqtop\-right\(dq; - background\-color = \(dq#000000\(dq; - border\-color = \(dq#FFFFFF\(dq; - border\-radius = 0; - default\-timeout = 0; - font = \(dqmonospace 10\(dq; - height = 100; - width = 300; - icons = true; - ignore\-timeout = false; - layer = \(dqtop\(dq; - margin = 10; - markup = true; - - # Section example - \(dqactionable=true\(dq = { - anchor = \(dqtop\-left\(dq; - }; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mako\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/emersion/mako/blob/master/doc/mako\&.5\&.scd -.RE -.RE -.PP -\fBservices\&.mbsync\&.enable\fR -.RS 4 -Whether to enable mbsync\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.package\fR -.RS 4 -The isync package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.isync -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.configFile\fR -.RS 4 -Optional configuration file to link to use instead of the default file (\fI\(ti/\&.mbsyncrc\fP)\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.frequency\fR -.RS 4 -How often to run mbsync\&. This value is passed to the systemd timer configuration as the onCalendar option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.postExec\fR -.RS 4 -An optional command to run after mbsync executes successfully\&. This is useful for running mailbox indexing tools\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\e${pkgs\&.mu}/bin/mu index\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.preExec\fR -.RS 4 -An optional command to run before mbsync executes\&. This is useful for creating the directories mbsync is going to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqmkdir \-p %h/mail\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mbsync\&.verbose\fR -.RS 4 -Whether mbsync should produce verbose output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mbsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.megasync\&.enable\fR -.RS 4 -Whether to enable Megasync client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/megasync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.megasync\&.package\fR -.RS 4 -The megasync package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.megasync -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/megasync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.megasync\&.forceWayland\fR -.RS 4 -Force Megasync to run on wayland -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/megasync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.enable\fR -.RS 4 -Whether to enable Mopidy music player daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.extensionPackages\fR -.RS 4 -Mopidy extensions that should be loaded by the service\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs; [ mopidy\-spotify mopidy\-mpd mopidy\-mpris ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.extraConfigFiles\fR -.RS 4 -Extra configuration files read by Mopidy when the service starts\&. Later files in the list override earlier configuration files and structured settings\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/mopidy/mopidy\&.conf\fP\&. -.sp -See \fBhttps://docs\&.mopidy\&.com/en/latest/config/\fR[1]\fR for more details\&. -.sp -\fIType:\fR attribute set of attribute set of (Mopidy config value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - file = { - media_dirs = [ - \(dq$XDG_MUSIC_DIR|Music\(dq - \(dq\(ti/library|Library\(dq - ]; - follow_symlinks = true; - excluded_file_extensions = [ - \(dq\&.html\(dq - \(dq\&.zip\(dq - \(dq\&.jpg\(dq - \(dq\&.jpeg\(dq - \(dq\&.png\(dq - ]; - }; - - # Please don\(aqt put your mopidy\-spotify configuration in the public\&. :) - # Think of your Spotify Premium subscription! - spotify = { - client_id = \(dqCLIENT_ID\(dq; - client_secret = \(dqCLIENT_SECRET\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mopidy\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.mopidy\&.com/en/latest/config/ -.RE -.RE -.PP -\fBservices\&.mpd\&.enable\fR -.RS 4 -Whether to enable MPD, the music player daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.package\fR -.RS 4 -The mpd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.dataDir\fR -.RS 4 -The directory where MPD stores its state, tag cache, playlists etc\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq$XDG_DATA_HOME/mpd\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.dbFile\fR -.RS 4 -The path to MPD\[u2019]s database\&. If set to \fR\(oqnull\(cq\fP the parameter is omitted from the configuration\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dq\e${dataDir}/tag_cache\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.extraArgs\fR -.RS 4 -Extra command\-line arguments to pass to MPD\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-verbose\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.extraConfig\fR -.RS 4 -Extra directives added to to the end of MPD\[u2019]s configuration file, \fImpd\&.conf\fP\&. Basic configuration like file location and uid/gid is added automatically to the beginning of the file\&. For available options see \fBmpd\&.conf\fP\fR(5)\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.musicDirectory\fR -.RS 4 -The directory where mpd reads music from\&. -.sp -If \fBxdg.userDirs.enable\fR[1]\fR is \fR\(oqtrue\(cq\fP then the defined XDG music directory is used\&. Otherwise, you must explicitly specify a value\&. -.sp -\fIType:\fR absolute path or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -${home\&.homeDirectory}/music if state version < 22\&.11 -${xdg\&.userDirs\&.music} if xdg\&.userDirs\&.enable == true -undefined otherwise -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.userDirs\&.enable\fP option -.RE -.RE -.PP -\fBservices\&.mpd\&.network\&.listenAddress\fR -.RS 4 -The address for the daemon to listen on\&. Use \fR\(oqany\(cq\fP to listen on all addresses\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIExample:\fR \(dqany\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.network\&.port\fR -.RS 4 -The TCP port on which the the daemon will listen\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 6600 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\&.playlistDirectory\fR -.RS 4 -The directory where mpd stores playlists\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\e${dataDir}/playlists\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-discord\-rpc\&.enable\fR -.RS 4 -Whether to enable the mpd\-discord\-rpc service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-discord\-rpc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-discord\-rpc\&.package\fR -.RS 4 -The mpd\-discord\-rpc package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpd\-discord\-rpc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-discord\-rpc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-discord\-rpc\&.settings\fR -.RS 4 -Configuration included in \fR\(oqconfig\&.toml\(cq\fP\&. For available options see \fBhttps://github\&.com/JakeStanger/mpd\-discord\-rpc#configuration\fR[1]\fR -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - hosts = [ \(dqlocalhost:6600\(dq ]; - format = { - details = \(dq$title\(dq; - state = \(dqOn $album by $artist\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-discord\-rpc\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/JakeStanger/mpd\-discord\-rpc#configuration -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.enable\fR -.RS 4 -Whether to enable mpd\-mpris: An implementation of the MPRIS protocol for MPD\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.package\fR -.RS 4 -The mpd\-mpris package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpd\-mpris -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.mpd\&.host\fR -.RS 4 -The address where MPD is listening for connections\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq192\&.168\&.1\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.mpd\&.network\fR -.RS 4 -The network used to dial to the MPD server\&. Check \fBhttps://golang\&.org/pkg/net/#Dial\fR[1]\fR for available values (most common are \[u201C]tcp\[u201D] and \[u201C]unix\[u201D]) -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://golang\&.org/pkg/net/#Dial -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.mpd\&.password\fR -.RS 4 -The password to connect to MPD\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.mpd\&.port\fR -.RS 4 -The port number where MPD is listening for connections\&. -.sp -\fIType:\fR null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpd\-mpris\&.mpd\&.useLocal\fR -.RS 4 -Whether to configure for the local MPD daemon\&. If \fR\(oqtrue\(cq\fP the \fR\(oqnetwork\(cq\fP, \fR\(oqhost\(cq\fP, and \fR\(oqport\(cq\fP settings are ignored\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR config\&.services\&.mpd\&.enable -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpd\-mpris\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.enable\fR -.RS 4 -Whether to enable mpDris2 the MPD to MPRIS2 bridge\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.package\fR -.RS 4 -The mpdris2 package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpdris2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.mpd\&.host\fR -.RS 4 -The address where MPD is listening for connections\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqconfig\&.services\&.mpd\&.network\&.listenAddress\(dq -.sp -\fIExample:\fR \(dq192\&.168\&.1\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.mpd\&.musicDirectory\fR -.RS 4 -If set, mpDris2 will use this directory to access music artwork\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dqconfig\&.services\&.mpd\&.musicDirectory\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.mpd\&.password\fR -.RS 4 -The password to connect to MPD\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.mpd\&.port\fR -.RS 4 -The port number where MPD is listening for connections\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR \(dqconfig\&.services\&.mpd\&.network\&.port\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.multimediaKeys\fR -.RS 4 -Whether to enable multimedia key support\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdris2\&.notifications\fR -.RS 4 -Whether to enable song change notifications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdris2\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.enable\fR -.RS 4 -Whether to enable mpdscribble, an MPD client which submits info about tracks being played to Last\&.fm (formerly AudioScrobbler) \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.package\fR -.RS 4 -The mpdscribble package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.mpdscribble -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.endpoints\fR -.RS 4 -Endpoints to scrobble to\&. If the endpoint is one of \[u201C]jamendo\[u201D], \[u201C]last\&.fm\[u201D], \[u201C]libre\&.fm\[u201D], \[u201C]listenbrainz\[u201D] the url is set automatically\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqlast\&.fm\(dq = { - passwordFile = \(dq/run/secrets/lastfm_password\(dq; - username = \(dqfoo\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.endpoints\&.<name>\&.passwordFile\fR -.RS 4 -File containing the password, either as MD5SUM or cleartext\&. -.sp -\fIType:\fR null or string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.endpoints\&.<name>\&.url\fR -.RS 4 -The url endpoint where the scrobble API is listening\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.endpoints\&.<name>\&.username\fR -.RS 4 -Username for the scrobble service\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.host\fR -.RS 4 -Host for the mpdscribble daemon to search for a mpd daemon on\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if config\&.services\&.mpd\&.network\&.listenAddress != \(dqany\(dq -then config\&.services\&.mpd\&.network\&.listenAddress -else \(dqlocalhost\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.journalInterval\fR -.RS 4 -How often should mpdscribble save the journal file? [seconds] -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 600 -.sp -\fIExample:\fR 60 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.passwordFile\fR -.RS 4 -File containing the password for the mpd daemon\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.port\fR -.RS 4 -Port for the mpdscribble daemon to search for a mpd daemon on\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR config\&.services\&.mpd\&.network\&.port -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.proxy\fR -.RS 4 -HTTP proxy URL\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpdscribble\&.verbose\fR -.RS 4 -Log level for the mpdscribble daemon\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpdscribble\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mpris\-proxy\&.enable\fR -.RS 4 -Whether to enable a proxy forwarding Bluetooth MIDI controls via MPRIS2 to control media players\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/mpris\-proxy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\fR -.RS 4 -Muchsync remotes to synchronise with\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - server = { - frequency = \(dq*:0/10\(dq; - remote\&.host = \(dqserver\&.tld\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.frequency\fR -.RS 4 -How often to run \fBmuchsync\fP\&. This value is passed to the systemd timer configuration as the \fR\(oqOnCalendar\(cq\fP option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.local\&.checkForModifiedFiles\fR -.RS 4 -Check for locally modified files\&. Without this option, muchsync assumes that files in a maildir are never edited\&. -.sp -\fBcheckForModifiedFiles\fP disables certain optimizations so as to make muchsync at least check the timestamp on every file, which will detect modified files at the cost of a longer startup time\&. -.sp -This option is useful if your software regularly modifies the contents of mail files (e\&.g\&., because you are running offlineimap with \[u201C]synclabels = yes\[u201D])\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.local\&.importNew\fR -.RS 4 -Whether to begin the synchronisation by running \fBnotmuch new\fP locally\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.remote\&.checkForModifiedFiles\fR -.RS 4 -Check for modified files on the remote side\&. Without this option, muchsync assumes that files in a maildir are never edited\&. -.sp -\fBcheckForModifiedFiles\fP disables certain optimizations so as to make muchsync at least check the timestamp on every file, which will detect modified files at the cost of a longer startup time\&. -.sp -This option is useful if your software regularly modifies the contents of mail files (e\&.g\&., because you are running offlineimap with \[u201C]synclabels = yes\[u201D])\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.remote\&.host\fR -.RS 4 -Remote SSH\[u00A0]host to synchronize with\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.remote\&.importNew\fR -.RS 4 -Whether to begin the synchronisation by running \fBnotmuch new\fP on the remote side\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.remote\&.muchsyncPath\fR -.RS 4 -Specifies the path to muchsync on the server\&. Ordinarily, muchsync should be in the default PATH on the server so this option is not required\&. However, this option is useful if you have to install muchsync in a non\-standard place or wish to test development versions of the code\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$PATH/muchsync\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.sshCommand\fR -.RS 4 -Specifies a command line to pass to \fB/bin/sh\fP to execute a command on another machine\&. -.sp -Note that because this string is passed to the shell, special characters including spaces may need to be escaped\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqssh \-CTaxq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.muchsync\&.remotes\&.<name>\&.upload\fR -.RS 4 -Whether to propagate local changes to the remote\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/muchsync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.network\-manager\-applet\&.enable\fR -.RS 4 -Whether to enable the Network Manager applet (nm\-applet)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/network\-manager\-applet\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nextcloud\-client\&.enable\fR -.RS 4 -Whether to enable Nextcloud Client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nextcloud\-client\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nextcloud\-client\&.package\fR -.RS 4 -The nextcloud\-client package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nextcloud\-client -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nextcloud\-client\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nextcloud\-client\&.startInBackground\fR -.RS 4 -Whether to start the Nextcloud client in the background\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/nextcloud\-client\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.notify\-osd\&.enable\fR -.RS 4 -Whether to enable notify\-osd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/notify\-osd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.notify\-osd\&.package\fR -.RS 4 -The notify\-osd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.notify\-osd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/notify\-osd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.enable\fR -.RS 4 -Whether to enable ollama server for local large language models\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.package\fR -.RS 4 -The ollama package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.ollama -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.acceleration\fR -.RS 4 -What interface to use for hardware acceleration\&. -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqnull\(cq\fP: default behavior -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -if \fR\(oqnixpkgs\&.config\&.rocmSupport\(cq\fP is enabled, uses \fR\(oq\(dqrocm\(dq\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -if \fR\(oqnixpkgs\&.config\&.cudaSupport\(cq\fP is enabled, uses \fR\(oq\(dqcuda\(dq\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -otherwise defaults to \fR\(oqfalse\(cq\fP -.RE -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqfalse\(cq\fP: disable GPU, only use CPU -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq\(dqrocm\(dq\(cq\fP: supported by most modern AMD GPUs -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -may require overriding gpu type with \fR\(oqservices\&.ollama\&.rocmOverrideGfx\(cq\fP if rocm doesn\[u2019]t detect your AMD gpu -.RE -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq\(dqcuda\(dq\(cq\fP: supported by most modern NVIDIA GPUs -.RE -.sp -\fIType:\fR null or one of false, \[u201C]rocm\[u201D], \[u201C]cuda\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqrocm\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.environmentVariables\fR -.RS 4 -Set arbitrary environment variables for the ollama service\&. -.sp -Be aware that these are only seen by the ollama server (systemd service), not normal invocations like \fR\(oqollama run\(cq\fP\&. Since \fR\(oqollama run\(cq\fP is mostly a shell around the ollama server, this is usually sufficient\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - HIP_VISIBLE_DEVICES = \(dq0,1\(dq; - OLLAMA_LLM_LIBRARY = \(dqcpu\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.host\fR -.RS 4 -The host address which the ollama server HTTP interface listens to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIExample:\fR \(dq[::]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ollama\&.port\fR -.RS 4 -Which port the ollama server listens to\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 11434 -.sp -\fIExample:\fR 11111 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ollama\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.opensnitch\-ui\&.enable\fR -.RS 4 -Whether to enable Opensnitch client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/opensnitch\-ui\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.opensnitch\-ui\&.package\fR -.RS 4 -The opensnitch\-ui package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.opensnitch\-ui -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/opensnitch\-ui\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.osmscout\-server\&.enable\fR -.RS 4 -Whether to enable OSM Scout Server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/osmscout\-server\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.osmscout\-server\&.package\fR -.RS 4 -The osmscout\-server package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.osmscout\-server -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/osmscout\-server\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.osmscout\-server\&.network\&.listenAddress\fR -.RS 4 -The address for the server to listen on\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/osmscout\-server\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.osmscout\-server\&.network\&.port\fR -.RS 4 -The TCP port on which the server will listen\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 8553 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/osmscout\-server\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.osmscout\-server\&.network\&.startWhenNeeded\fR -.RS 4 -Enable systemd socket activation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/osmscout\-server\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.owncloud\-client\&.enable\fR -.RS 4 -Whether to enable Owncloud Client\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/owncloud\-client\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.owncloud\-client\&.package\fR -.RS 4 -The owncloud\-client package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.owncloud\-client -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/owncloud\-client\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pantalaimon\&.enable\fR -.RS 4 -Whether to enable Pantalaimon, an E2EE aware proxy daemon for matrix clients\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pantalaimon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pantalaimon\&.package\fR -.RS 4 -The pantalaimon package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pantalaimon -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pantalaimon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pantalaimon\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/pantalaimon/pantalaimon\&.conf\fP\&. -.sp -See \fBhttps://github\&.com/matrix\-org/pantalaimon/blob/master/docs/manpantalaimon\&.5\&.md\fR[1]\fR or \fBpantalaimon\fP\fR(5)\fP for options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Default = { - LogLevel = \(dqDebug\(dq; - SSL = true; - }; - local\-matrix = { - Homeserver = \(dqhttps://matrix\&.org\(dq; - ListenAddress = \(dq127\&.0\&.0\&.1\(dq; - ListenPort = 8008; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pantalaimon\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/matrix\-org/pantalaimon/blob/master/docs/manpantalaimon\&.5\&.md -.RE -.RE -.PP -\fBservices\&.parcellite\&.enable\fR -.RS 4 -Whether to enable Parcellite\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/parcellite\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.parcellite\&.package\fR -.RS 4 -The parcellite package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.parcellite -.sp -\fIExample:\fR pkgs\&.clipit -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/parcellite\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.parcellite\&.extraOptions\fR -.RS 4 -Command line arguments passed to Parcellite\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-no\-icon\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/parcellite\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pass\-secret\-service\&.enable\fR -.RS 4 -Whether to enable Pass libsecret service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pass\-secret\-service\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pass\-secret\-service\&.package\fR -.RS 4 -The pass\-secret\-service package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pass\-secret\-service -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pass\-secret\-service\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pass\-secret\-service\&.storePath\fR -.RS 4 -Absolute path to password store\&. Defaults to \fI$HOME/\&.password\-store\fP if the \fBprograms\&.password\-store\fP module is not enabled, and \fBprograms\&.password\-store\&.settings\&.PASSWORD_STORE_DIR\fP if it is\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dq$HOME/\&.password\-store\(dq -.sp -\fIExample:\fR \(dq/home/user/\&.local/share/password\-store\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pass\-secret\-service\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pasystray\&.enable\fR -.RS 4 -Whether to enable PulseAudio system tray\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pasystray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pasystray\&.extraOptions\fR -.RS 4 -Extra command\-line arguments to pass to \fBpasystray\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pasystray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pbgopy\&.enable\fR -.RS 4 -Whether to enable pbgopy\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pbgopy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pbgopy\&.cache\&.ttl\fR -.RS 4 -The TTL for the cache\&. Use \fR\(oq\(dq0s\(dq\(cq\fP to disable it\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq24h\(dq -.sp -\fIExample:\fR \(dq10m\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pbgopy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pbgopy\&.httpAuth\fR -.RS 4 -Basic HTTP authentication\[u2019]s username and password\&. Both the username and password are escaped\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dquser:pass\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pbgopy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pbgopy\&.port\fR -.RS 4 -The port to host the pbgopy server on\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 9090 -.sp -\fIExample:\fR 8080 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pbgopy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.enable\fR -.RS 4 -Whether to enable Picom X11 compositor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.package\fR -.RS 4 -The picom package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.picom -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.activeOpacity\fR -.RS 4 -Opacity of active windows\&. -.sp -\fIType:\fR integer or floating point number between 0 and 1 (both inclusive) -.sp -\fIDefault:\fR 1\&.0 -.sp -\fIExample:\fR 0\&.8 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.backend\fR -.RS 4 -Backend to use: \fR\(oqegl\(cq\fP, \fR\(oqglx\(cq\fP, \fR\(oqxrender\(cq\fP or \fR\(oqxr_glx_hybrid\(cq\fP\&. -.sp -\fIType:\fR one of \[u201C]egl\[u201D], \[u201C]glx\[u201D], \[u201C]xrender\[u201D], \[u201C]xr_glx_hybrid\[u201D] -.sp -\fIDefault:\fR \(dqxrender\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.extraArgs\fR -.RS 4 -Extra arguments to be passed to the picom executable\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq\-\-legacy\-backends\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.fade\fR -.RS 4 -Fade windows in and out\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.fadeDelta\fR -.RS 4 -Time between fade animation step (in ms)\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 10 -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.fadeExclude\fR -.RS 4 -List of conditions of windows that should not be faded\&. See \fR\(oqpicom(1)\(cq\fP man page for more examples\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwindow_type *= \(aqmenu\(aq\(dq - \(dqname \(ti= \(aqFirefox$\(aq\(dq - \(dqfocused = 1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.fadeSteps\fR -.RS 4 -Opacity change between fade steps (in and out)\&. -.sp -\fIType:\fR pair of integer or floating point number between 0\&.01 and 1 (both inclusive) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - 0\&.028 - 0\&.03 -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - 0\&.04 - 0\&.04 -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.inactiveOpacity\fR -.RS 4 -Opacity of inactive windows\&. -.sp -\fIType:\fR integer or floating point number between 0\&.1 and 1 (both inclusive) -.sp -\fIDefault:\fR 1\&.0 -.sp -\fIExample:\fR 0\&.8 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.menuOpacity\fR -.RS 4 -Opacity of dropdown and popup menu\&. -.sp -\fIType:\fR integer or floating point number between 0 and 1 (both inclusive) -.sp -\fIDefault:\fR 1\&.0 -.sp -\fIExample:\fR 0\&.8 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.opacityRules\fR -.RS 4 -Rules that control the opacity of windows, in format PERCENT:PATTERN\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq95:class_g = \(aqURxvt\(aq && !_NET_WM_STATE@:32a\(dq - \(dq0:_NET_WM_STATE@:32a *= \(aq_NET_WM_STATE_HIDDEN\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.settings\fR -.RS 4 -Picom settings\&. Use this option to configure Picom settings not exposed in a NixOS option or to bypass one\&. For the available options see the CONFIGURATION FILES section at \fR\(oqpicom(1)\(cq\fP\&. -.sp -\fIType:\fR libconfig configuration\&. The format consists of an attributes set (called a group) of settings\&. Each setting can be a scalar type (boolean, integer, floating point number or string), a list of scalars or a group itself -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -blur = - { method = \(dqgaussian\(dq; - size = 10; - deviation = 5\&.0; - }; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.shadow\fR -.RS 4 -Draw window shadows\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.shadowExclude\fR -.RS 4 -List of conditions of windows that should have no shadow\&. See \fR\(oqpicom(1)\(cq\fP man page for more examples\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwindow_type *= \(aqmenu\(aq\(dq - \(dqname \(ti= \(aqFirefox$\(aq\(dq - \(dqfocused = 1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.shadowOffsets\fR -.RS 4 -Left and right offset for shadows (in pixels)\&. -.sp -\fIType:\fR pair of signed integer -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \-15 - \-15 -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \-10 - \-15 -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.shadowOpacity\fR -.RS 4 -Window shadows opacity\&. -.sp -\fIType:\fR integer or floating point number between 0 and 1 (both inclusive) -.sp -\fIDefault:\fR 0\&.75 -.sp -\fIExample:\fR 0\&.8 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.vSync\fR -.RS 4 -Enable vertical synchronization\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.picom\&.wintypes\fR -.RS 4 -Rules for specific window types\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - popup_menu = { opacity = config\&.services\&.picom\&.menuOpacity; }; - dropdown_menu = { opacity = config\&.services\&.picom\&.menuOpacity; }; -} -.fi -.RE -.sp -\fIExample:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/picom\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.plan9port\&.fontsrv\&.enable\fR -.RS 4 -Whether to enable the Plan 9 file system access to host fonts\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/plan9port\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.plan9port\&.plumber\&.enable\fR -.RS 4 -Whether to enable the Plan 9 file system for interprocess messaging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/plan9port\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.playerctld\&.enable\fR -.RS 4 -Whether to enable playerctld daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/playerctld\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.playerctld\&.package\fR -.RS 4 -The playerctl package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.playerctl -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/playerctld\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.plex\-mpv\-shim\&.enable\fR -.RS 4 -Whether to enable Plex mpv shim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/plex\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.plex\-mpv\-shim\&.package\fR -.RS 4 -The plex\-mpv\-shim package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.plex\-mpv\-shim -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/plex\-mpv\-shim\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.plex\-mpv\-shim\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/plex\-mpv\-shim/config\&.json\fP\&. See \fBhttps://github\&.com/iwalton3/plex\-mpv\-shim/blob/master/README\&.md\fR[1]\fR for the configuration documentation\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - adaptive_transcode = false; - allow_http = false; - always_transcode = false; - audio_ac3passthrough = false; - audio_dtspassthrough = false; - auto_play = true; - auto_transcode = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/plex\-mpv\-shim\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/iwalton3/plex\-mpv\-shim/blob/master/README\&.md -.RE -.RE -.PP -\fBservices\&.podman\&.enable\fR -.RS 4 -Whether to enable Podman, a daemonless container engine\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.enableTypeChecks\fR -.RS 4 -Whether to enable type checks for podman quadlets\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.package\fR -.RS 4 -The podman package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.podman -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.autoUpdate\&.enable\fR -.RS 4 -Automatically update the podman images\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/services\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.autoUpdate\&.onCalendar\fR -.RS 4 -The systemd \fR\(oqOnCalendar\(cq\fP expression for the update\&. See \fBsystemd\&.time\fP\fR(7)\fP for a description of the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqSun *\-*\-* 00:00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/services\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\fR -.RS 4 -Defines Podman build quadlet configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.authFile\fR -.RS 4 -Path of the authentication file\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.autoStart\fR -.RS 4 -Whether to start the build on boot\&. Requires user lingering\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.description\fR -.RS 4 -The description of the build\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqService for build \e${name}\(dq -.sp -\fIExample:\fR \(dqMy Build\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.environment\fR -.RS 4 -Environment variables to set in the build\&. -.sp -\fIType:\fR attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - VAR1 = \(dq0:100\(dq; - VAR2 = true; - VAR3 = 5; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.extraConfig\fR -.RS 4 -INI sections and values to populate the Build Quadlet\&. -.sp -\fIType:\fR attribute set of attribute set of ((attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path))) or list of (null or boolean or signed integer or string or absolute path) or null or boolean or signed integer or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Build = { - Arch = \(dqaarch64\(dq; - }; - Service = { - TimeoutStartSec = 15; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.extraPodmanArgs\fR -.RS 4 -Extra arguments to pass to the podman build command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-retries 5\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.file\fR -.RS 4 -Path to a Containerfile which contains instructions to build the image\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(ga\(dqxdg\&.configFile\&.\(dqcontainerfiles/my\-img/Containerfile\(dq\(ga -or -\(ga\(dqhttps://github\&.com/\&.\&.\&./my\-img/Containerfile\(dq\(ga -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.labels\fR -.RS 4 -The labels to apply to the build\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - app = \(dqmyapp\(dq; - some\-label = \(dqsomelabel\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.tags\fR -.RS 4 -Name associated with the build\&. First tag will always be \[u201C]homemanager/<name>\[u201D]\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.tlsVerify\fR -.RS 4 -Require HTTPS and verification of certificates when contacting registries\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.builds\&.<name>\&.workingDirectory\fR -.RS 4 -WorkingDirectory of the systemd unit file\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/builds\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\fR -.RS 4 -Defines Podman container quadlet configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.addCapabilities\fR -.RS 4 -The capabilities to add to the container\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqCAP_DAC_OVERRIDE\(dq - \(dqCAP_IPC_OWNER\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.autoStart\fR -.RS 4 -Whether to start the container on boot (requires user lingering)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.autoUpdate\fR -.RS 4 -The autoupdate policy for the container\&. -.sp -\fIType:\fR one of <null>, \[u201C]registry\[u201D], \[u201C]local\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqregistry\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.description\fR -.RS 4 -The description of the container\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqMy Container\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.devices\fR -.RS 4 -The devices to mount into the container -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/dev/<host>:/dev/<container>\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.dropCapabilities\fR -.RS 4 -The capabilities to drop from the container\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqCAP_DAC_OVERRIDE\(dq - \(dqCAP_IPC_OWNER\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.entrypoint\fR -.RS 4 -The container entrypoint\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/foo\&.sh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.environment\fR -.RS 4 -Environment variables to set in the container\&. -.sp -\fIType:\fR attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - VAR1 = \(dq0:100\(dq; - VAR2 = true; - VAR3 = 5; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.environmentFile\fR -.RS 4 -Paths to files containing container environment variables\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/etc/environment\(dq - \(dq/etc/other\-env\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.exec\fR -.RS 4 -The command to run after the container start\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsleep inf\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.extraConfig\fR -.RS 4 -INI sections and values to populate the Container Quadlet\&. -.sp -\fIType:\fR attribute set of attribute set of ((attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path))) or list of (null or boolean or signed integer or string or absolute path) or null or boolean or signed integer or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Container = { - User = 1000; - }; - Service = { - TimeoutStartSec = 15; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.extraPodmanArgs\fR -.RS 4 -Extra arguments to pass to the podman run command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-security\-opt=no\-new\-privileges\(dq - \(dq\-\-security\-opt=seccomp=unconfined\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.group\fR -.RS 4 -The group ID inside the container\&. -.sp -\fIType:\fR null or signed integer or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.image\fR -.RS 4 -The container image\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqregistry\&.access\&.redhat\&.com/ubi9\-minimal:latest\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.ip4\fR -.RS 4 -Set an IPv4 address for the container\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.ip6\fR -.RS 4 -Set an IPv6 address for the container\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.labels\fR -.RS 4 -The labels to apply to the container\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - app = \(dqmyapp\(dq; - some\-label = \(dqsomelabel\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.network\fR -.RS 4 -The network mode or network/s to connect the container to\&. Equivalent to \fR\(oqpodman run \-\-network=<option>\(cq\fP\&. -.sp -\fIType:\fR string or list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR \(dqhost\(dq or \(dqbridge_network_1\(dq or [ \(dqbridge_network_1\(dq \(dqbridge_network_2\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.networkAlias\fR -.RS 4 -Network aliases for the container\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmycontainer\(dq - \(dqweb\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.ports\fR -.RS 4 -A mapping of ports between host and container -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq8080:80\(dq - \(dq8443:443\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.user\fR -.RS 4 -The user ID inside the container\&. -.sp -\fIType:\fR null or signed integer or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.userNS\fR -.RS 4 -Use a user namespace for the container\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.containers\&.<name>\&.volumes\fR -.RS 4 -The volumes to mount into the container\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/tmp:/tmp\(dq - \(dq/var/run/test\&.secret:/etc/secret:ro\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/containers\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\fR -.RS 4 -Defines Podman image quadlet configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.authFile\fR -.RS 4 -Path of the authentication file used to connect to registry\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.autoStart\fR -.RS 4 -Whether to pull the image on boot\&. Requires user lingering\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.certDir\fR -.RS 4 -Path of certificates (*\&.{crt,cert,key}) used to connect to registry\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.decryptionKeyFile\fR -.RS 4 -Path to key used for decryption of images\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.description\fR -.RS 4 -The description of the image\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqService for image \e${name}\(dq -.sp -\fIExample:\fR \(dqMy Image\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.extraConfig\fR -.RS 4 -INI sections and values to populate the Image Quadlet\&. -.sp -\fIType:\fR attribute set of attribute set of ((attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path))) or list of (null or boolean or signed integer or string or absolute path) or null or boolean or signed integer or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Image = { - ContainersConfModule = \(dq/etc/nvd\&.conf\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.extraPodmanArgs\fR -.RS 4 -Extra arguments to pass to the podman image pull command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-os=linux\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.image\fR -.RS 4 -Image to pull\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqquay\&.io/centos/centos:latest\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.password\fR -.RS 4 -Password used to connect to registry\&. (Will be visible in nix store) -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqP@ssw0rd\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.tag\fR -.RS 4 -FQIN of referenced Image when source is a file or directory archive\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqquay\&.io/centos/centos:latest\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.tlsVerify\fR -.RS 4 -Require HTTPS and verification of certificates when contacting registries\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.images\&.<name>\&.username\fR -.RS 4 -Username used to connect to registry\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqbob\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/images\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\fR -.RS 4 -Defines Podman network quadlet configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.autoStart\fR -.RS 4 -Whether to start the network on boot (requires user lingering)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.description\fR -.RS 4 -The description of the network\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqMy Network\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.driver\fR -.RS 4 -The network driver to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqbridge\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.extraConfig\fR -.RS 4 -INI sections and values to populate the Network Quadlet -.sp -\fIType:\fR attribute set of attribute set of ((attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path))) or list of (null or boolean or signed integer or string or absolute path) or null or boolean or signed integer or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Network = { - ContainerConfModule = \(dq/etc/nvd\&.conf\(dq; - }; - Service = { - TimeoutStartSec = 30; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.extraPodmanArgs\fR -.RS 4 -Extra arguments to pass to the podman network create command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-dns=192\&.168\&.55\&.1\(dq - \(dq\-\-ipam\-driver\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.gateway\fR -.RS 4 -The gateway IP to use for the network\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq192\&.168\&.20\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.internal\fR -.RS 4 -Whether the network should be internal -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.labels\fR -.RS 4 -The labels to apply to the network\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - app = \(dqmyapp\(dq; - some\-label = \(dqsomelabel\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.networks\&.<name>\&.subnet\fR -.RS 4 -The subnet to use for the network\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq192\&.168\&.20\&.0/24\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/networks\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.containers\fR -.RS 4 -containers\&.conf configuration -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.policy\fR -.RS 4 -Signature verification policy file\&. If this option is empty the default policy file from \fR\(oqskopeo\(cq\fP will be used\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - default = [ { type = \(dqinsecureAcceptAnything\(dq; } ]; - transports = { - docker\-daemon = { - \(dq\(dq = [ { type = \(dqinsecureAcceptAnything\(dq; } ]; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.registries\&.block\fR -.RS 4 -List of blocked repositories\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.registries\&.insecure\fR -.RS 4 -List of insecure repositories\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.registries\&.search\fR -.RS 4 -List of repositories to search\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqdocker\&.io\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.settings\&.storage\fR -.RS 4 -storage\&.conf configuration -.sp -\fIType:\fR TOML value -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\fR -.RS 4 -Defines Podman volume quadlet configurations\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.autoStart\fR -.RS 4 -Whether to create the volume on boot\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.copy\fR -.RS 4 -Copy content of the image located at the mountpoint of the volume on first run\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.description\fR -.RS 4 -The description of the volume\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dqService for volume \e${name}\(dq -.sp -\fIExample:\fR \(dqMy Volume\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.device\fR -.RS 4 -The path of a device which is mounted for the volume\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqtmpfs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.driver\fR -.RS 4 -The volume driver to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqimage\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.extraConfig\fR -.RS 4 -INI sections and values to populate the Volume Quadlet\&. -.sp -\fIType:\fR attribute set of attribute set of ((attribute set of (null or boolean or signed integer or string or absolute path or list of (null or boolean or signed integer or string or absolute path))) or list of (null or boolean or signed integer or string or absolute path) or null or boolean or signed integer or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Volume = { - ContainerConfModule = \(dq/etc/nvd\&.conf\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.extraPodmanArgs\fR -.RS 4 -Extra arguments to pass to the podman volume create command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-opt copy\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.group\fR -.RS 4 -The group ID owning the volume inside the container\&. -.sp -\fIType:\fR null or signed integer or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.image\fR -.RS 4 -Specifies the image the volume is based on when Driver is set to the image\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqquay\&.io/centos/centos:latest\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.labels\fR -.RS 4 -The labels to apply to the volume\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - app = \(dqmyapp\(dq; - some\-label = \(dqsomelabel\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.preserve\fR -.RS 4 -Whether the volume should be preserved if it is removed from the configuration\&. Setting this to false will cause the volume to be deleted if the volume is removed from the configuration -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.type\fR -.RS 4 -Filesystem type of Device\&. (used as \-t in mount commands) -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqtmpfs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.podman\&.volumes\&.<name>\&.user\fR -.RS 4 -The user ID owning the volume inside the container\&. -.sp -\fIType:\fR null or signed integer or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/podman\-linux/volumes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polkit\-gnome\&.enable\fR -.RS 4 -Whether to enable GNOME Policykit Agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polkit\-gnome\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polkit\-gnome\&.package\fR -.RS 4 -The polkit_gnome package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.polkit_gnome -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polkit\-gnome\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.enable\fR -.RS 4 -Whether to enable Polybar status bar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.package\fR -.RS 4 -The polybar package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.polybar -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.polybar\&.override { - i3GapsSupport = true; - alsaSupport = true; - iwSupport = true; - githubSupport = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.config\fR -.RS 4 -Polybar configuration\&. Can be either path to a file, or set of attributes that will be used to create the final configuration\&. See also \fBservices\&.polybar\&.settings\fP for a more nix\-friendly format\&. -.sp -\fIType:\fR (attribute set of attribute set of (string or boolean or signed integer or list of string)) or absolute path convertible to it -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqbar/top\(dq = { - monitor = \(dq\e${env:MONITOR:eDP1}\(dq; - width = \(dq100%\(dq; - height = \(dq3%\(dq; - radius = 0; - modules\-center = \(dqdate\(dq; - }; - - \(dqmodule/date\(dq = { - type = \(dqinternal/date\(dq; - internal = 5; - date = \(dq%d\&.%m\&.%y\(dq; - time = \(dq%H:%M\(dq; - label = \(dq%time% %date%\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - [module/date] - type = internal/date - interval = 5 - date = \(dq%d\&.%m\&.%y\(dq - time = %H:%M - format\-prefix\-foreground = \e\(aq\(aq${colors\&.foreground\-alt} - label = %time% %date% -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.script\fR -.RS 4 -This script will be used to start the polybars\&. Set all necessary environment variables here and start all bars\&. It can be assumed that \fBpolybar\fP executable is in the \fBPATH\fP\&. -.sp -Note, this script must start all bars in the background and then terminate\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIExample:\fR \(dqpolybar bar &\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.polybar\&.settings\fR -.RS 4 -Polybar configuration\&. This takes a nix attrset and converts it to the strange data format that polybar uses\&. Each entry will be converted to a section in the output file\&. Several things are treated specially: nested keys are converted to dash\-separated keys; the special \fR\(oqtext\(cq\fP key is ignored as a nested key, to allow mixing different levels of nesting; and lists are converted to polybar\[u2019]s \fR\(oqfoo\-0, foo\-1, \&.\&.\&.\(cq\fP format\&. -.sp -For example: -.sp -.RS 4 -.nf -\(dqmodule/volume\(dq = { - type = \(dqinternal/pulseaudio\(dq; - format\&.volume = \(dq<ramp\-volume> <label\-volume>\(dq; - label\&.muted\&.text = \(dq\[u1F507]\(dq; - label\&.muted\&.foreground = \(dq#666\(dq; - ramp\&.volume = [\(dq\[u1F508]\(dq \(dq\[u1F509]\(dq \(dq\[u1F50A]\(dq]; - click\&.right = \(dqpavucontrol &\(dq; -} -.fi -.RE -.sp -becomes: -.sp -.RS 4 -.nf -[module/volume] -type=internal/pulseaudio -format\-volume=<ramp\-volume> <label\-volume> -label\-muted=\[u1F507] -label\-muted\-foreground=#666 -ramp\-volume\-0=\[u1F508] -ramp\-volume\-1=\[u1F509] -ramp\-volume\-2=\[u1F50A] -click\-right=pavucontrol & -.fi -.RE -.sp -\fIType:\fR attribute set of attribute sets -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmodule/volume\(dq = { - type = \(dqinternal/pulseaudio\(dq; - format\&.volume = \(dq<ramp\-volume> <label\-volume>\(dq; - label\&.muted\&.text = \(dq\[u1F507]\(dq; - label\&.muted\&.foreground = \(dq#666\(dq; - ramp\&.volume = [\(dq\[u1F508]\(dq \(dq\[u1F509]\(dq \(dq\[u1F50A]\(dq]; - click\&.right = \(dqpavucontrol &\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/polybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.poweralertd\&.enable\fR -.RS 4 -Whether to enable the Upower\-powered power alertd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/poweralertd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.poweralertd\&.extraArgs\fR -.RS 4 -Extra command line arguments to pass to poweralertd\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-s\(dq - \(dq\-S\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/poweralertd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.psd\&.enable\fR -.RS 4 -Whether to enable Profile\-sync\-daemon service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/psd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.psd\&.backupLimit\fR -.RS 4 -Maximum number of crash recovery snapshots to keep (the oldest ones are deleted first)\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/psd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.psd\&.browsers\fR -.RS 4 -A list of browsers to sync\&. An empty list will enable all browsers to be managed by profile\-sync\-daemon\&. -.sp -Available choices are: chromium chromium\-dev conkeror\&.mozdev\&.org epiphany falkon firefox firefox\-trunk google\-chrome google\-chrome\-beta google\-chrome\-unstable heftig\-aurora icecat inox luakit midori opera opera\-beta opera\-developer opera\-legacy otter\-browser qupzilla qutebrowser palemoon rekonq seamonkey surf vivaldi vivaldi\-snapshot -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqchromium\(dq - \(dqgoogle\-chrome\(dq - \(dqfirefox\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/psd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.psd\&.resyncTimer\fR -.RS 4 -The amount of time to wait before syncing browser profiles back to the disk\&. -.sp -Takes a systemd time span, see \fBsystemd\&.time\fP\fR(7)\fP\&. The time unit defaults to seconds if omitted\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq1h\(dq -.sp -\fIExample:\fR \(dq1h 30min\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/psd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.psd\&.useBackup\fR -.RS 4 -Whether to completly enable or disable the crash recovery feature\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/psd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pueue\&.enable\fR -.RS 4 -Whether to enable Pueue, CLI process scheduler and manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pueue\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pueue\&.package\fR -.RS 4 -The pueue package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.pueue -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pueue\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pueue\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/pueue/pueue\&.yml\fP\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - daemon = { - default_parallel_tasks = 2; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pueue\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pulseeffects\&.enable\fR -.RS 4 -Whether to enable Pulseeffects daemon Note, it is necessary to add -.sp -.RS 4 -.nf -programs\&.dconf\&.enable = true; -.fi -.RE -.sp -to your system configuration for the daemon to work correctly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pulseeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pulseeffects\&.package\fR -.RS 4 -The pulseeffects\-legacy package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.pulseeffects\-legacy -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pulseeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.pulseeffects\&.preset\fR -.RS 4 -Which preset to use when starting pulseeffects\&. Will likely need to launch pulseeffects to initially create preset\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/pulseeffects\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.random\-background\&.enable\fR -.RS 4 -Whether to enable random desktop background\&. -.sp -Note, if you are using NixOS and have set up a custom desktop manager session for Home Manager, then the session configuration must have the \fR\(oqbgSupport\(cq\fP option set to \fR\(oqtrue\(cq\fP or the background image set by this module may be overwritten\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/random\-background\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.random\-background\&.enableXinerama\fR -.RS 4 -Will place a separate image per screen when enabled, otherwise a single image will be stretched across all screens\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/random\-background\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.random\-background\&.display\fR -.RS 4 -Display background images according to this option\&. -.sp -\fIType:\fR one of \[u201C]center\[u201D], \[u201C]fill\[u201D], \[u201C]max\[u201D], \[u201C]scale\[u201D], \[u201C]tile\[u201D] -.sp -\fIDefault:\fR \(dqfill\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/random\-background\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.random\-background\&.imageDirectory\fR -.RS 4 -The directory of images from which a background should be chosen\&. Should be formatted in a way understood by systemd, e\&.g\&., \[u2018]%h\[u2019] is the home directory\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq%h/backgrounds\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/random\-background\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.random\-background\&.interval\fR -.RS 4 -The duration between changing background image, set to null to only set background when logging in\&. Should be formatted as a duration understood by systemd\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1h\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/random\-background\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.recoll\&.enable\fR -.RS 4 -Whether to enable Recoll file index service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/recoll\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.recoll\&.package\fR -.RS 4 -The recoll package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.recoll -.sp -\fIExample:\fR (pkgs\&.recoll\&.override { withGui = false; }) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/recoll\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.recoll\&.configDir\fR -.RS 4 -The directory to contain Recoll configuration files\&. This will be set as \fBRECOLL_CONFDIR\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/\&.recoll -.sp -\fIExample:\fR ${config\&.xdg\&.configHome}/recoll -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/recoll\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.recoll\&.settings\fR -.RS 4 -The configuration to be written at \fI$RECOLL_CONFDIR/recoll\&.conf\fP\&. -.sp -See \fBrecoll\&.conf\fP\fR(5)\fP for more details about the configuration\&. -.sp -\fIType:\fR attribute set of (Recoll config value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - nocjk = true; - loglevel = 5; - topdirs = [ \(dq\(ti/Downloads\(dq \(dq\(ti/Documents\(dq \(dq\(ti/projects\(dq ]; - - \(dq\(ti/Downloads\(dq = { - \(dqskippedNames+\(dq = [ \(dq*\&.iso\(dq ]; - }; - - \(dq\(ti/projects\(dq = { - \(dqskippedNames+\(dq = [ \(dqnode_modules\(dq \(dqtarget\(dq \(dqresult\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/recoll\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.recoll\&.startAt\fR -.RS 4 -When or how often the periodic update should run\&. Must be the format described from \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhourly\(dq -.sp -\fIExample:\fR \(dq00/2:00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/recoll\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.enable\fR -.RS 4 -Whether to enable Redshift\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.enableVerboseLogging\fR -.RS 4 -Whether to enable verbose service logging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.package\fR -.RS 4 -Redshift derivation to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.redshift -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.dawnTime\fR -.RS 4 -Set the time interval of dawn manually\&. The times must be specified as HH:MM in 24\-hour format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq6:00\-7:45\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.duskTime\fR -.RS 4 -Set the time interval of dusk manually\&. The times must be specified as HH:MM in 24\-hour format\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq18:35\-20:15\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.latitude\fR -.RS 4 -Your current latitude, between \fR\(oq\-90\&.0\(cq\fP and \fR\(oq90\&.0\(cq\fP\&. Must be provided along with longitude\&. -.sp -\fIType:\fR null or string or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.longitude\fR -.RS 4 -Your current longitude, between \fR\(oq\-180\&.0\(cq\fP and \fR\(oq180\&.0\(cq\fP\&. Must be provided along with latitude\&. -.sp -\fIType:\fR null or string or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.provider\fR -.RS 4 -The location provider to use for determining your location\&. If set to \fR\(oqmanual\(cq\fP you must also provide latitude/longitude\&. If set to \fR\(oqgeoclue2\(cq\fP, you must also enable the global geoclue2 service\&. -.sp -\fIType:\fR one of \[u201C]manual\[u201D], \[u201C]geoclue2\[u201D] -.sp -\fIDefault:\fR \(dqmanual\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.settings\fR -.RS 4 -The configuration to pass to Redshift\&. Available options for Redshift described in \fBredshift\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - redshift = { - adjustment\-method = \(dqrandr\(dq; - }; - randr = { - screen = 0; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.temperature\&.day\fR -.RS 4 -Colour temperature to use during the day, between \fR\(oq1000\(cq\fP and \fR\(oq25000\(cq\fP K\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.temperature\&.night\fR -.RS 4 -Colour temperature to use at night, between \fR\(oq1000\(cq\fP and \fR\(oq25000\(cq\fP K\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 3700 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redshift\&.tray\fR -.RS 4 -Start the redshift\-gtk tray applet\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/redshift\-gammastep/redshift\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.remmina\&.enable\fR -.RS 4 -Whether to enable Remmina\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/remmina\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.remmina\&.package\fR -.RS 4 -The remmina package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.remmina -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/remmina\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.remmina\&.addRdpMimeTypeAssoc\fR -.RS 4 -Whether to enable Remmina RDP file open option\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/remmina\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.remmina\&.systemdService\&.enable\fR -.RS 4 -Whether to enable systemd Remmina service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/remmina\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.remmina\&.systemdService\&.startupFlags\fR -.RS 4 -Startup flags documented in the manpage to run at service startup\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-icon\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/remmina\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.enable\fR -.RS 4 -Whether to enable restic\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\fR -.RS 4 -Periodic backups to create with Restic\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - localbackup = { - exclude = [ - \(dq/home/*/\&.cache\(dq - ]; - initialize = true; - passwordFile = \(dq/etc/nixos/secrets/restic\-password\(dq; - paths = [ - \(dq/home\(dq - ]; - repository = \(dq/mnt/backup\-hdd\(dq; - }; - remotebackup = { - extraOptions = [ - \(dqsftp\&.command=\(aqssh backup@host \-i /etc/nixos/secrets/backup\-private\-key \-s sftp\(aq\(dq - ]; - passwordFile = \(dq/etc/nixos/secrets/restic\-password\(dq; - paths = [ - \(dq/home\(dq - ]; - repository = \(dqsftp:backup@host:/backups/home\(dq; - timerConfig = { - OnCalendar = \(dq00:05\(dq; - RandomizedDelaySec = \(dq5h\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.package\fR -.RS 4 -The restic package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.restic -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.backupCleanupCommand\fR -.RS 4 -A script that must run after finishing the backup process\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.backupPrepareCommand\fR -.RS 4 -A script that must run before starting the backup process\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.checkOpts\fR -.RS 4 -A list of options for \[u2018]restic check\[u2019]\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-with\-cache\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.createWrapper\fR -.RS 4 -Whether to generate and add a script to the system path, that has the same environment variables set as the systemd service\&. This can be used to e\&.g\&. mount snapshots or perform other opterations, without having to manually specify most options\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.dynamicFilesFrom\fR -.RS 4 -A script that produces a list of files to back up\&. The results of this command, along with the paths specified via \fBpaths\fP, are given to the \[u2018]\[u2013]files\-from\[u2019] option\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfind /home/alice/git \-type d \-name \&.git\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.environmentFile\fR -.RS 4 -A file containing the credentials to access the repository, in the format of an EnvironmentFile as described by \fBsystemd\&.exec\fP\fR(5)\fP\&. See \fBhttps://restic\&.readthedocs\&.io/en/stable/030_preparing_a_new_repo\&.html\fR[1]\fR for the specific credentials you will need for your backend\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://restic\&.readthedocs\&.io/en/stable/030_preparing_a_new_repo\&.html -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.exclude\fR -.RS 4 -Patterns to exclude when backing up\&. See \fBhttps://restic\&.readthedocs\&.io/en/stable/040_backup\&.html#excluding\-files\fR[1]\fR for details on syntax\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/var/cache\(dq - \(dq/home/*/\&.cache\(dq - \(dq\&.git\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://restic\&.readthedocs\&.io/en/stable/040_backup\&.html#excluding\-files -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.extraBackupArgs\fR -.RS 4 -Extra arguments passed to restic backup\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-cleanup\-cache\(dq - \(dq\-\-exclude\-file=/etc/nixos/restic\-ignore\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.extraOptions\fR -.RS 4 -Extra extended options to be passed to the restic \fR\(oq\-o\(cq\fP flag\&. See the restic documentation for more details\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqsftp\&.command=\(aqssh backup@192\&.168\&.1\&.100 \-i /home/user/\&.ssh/id_rsa \-s sftp\(aq\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.inhibitsSleep\fR -.RS 4 -Prevents the system from sleeping while backing up\&. This uses systemd\-inhibit to block system idling so you may need to enable polkitd with \fBsecurity\&.polkit\&.enable\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.initialize\fR -.RS 4 -Create the repository if it does not already exist\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.passwordFile\fR -.RS 4 -A file containing the repository password\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq/etc/nixos/restic\-password\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.paths\fR -.RS 4 -Paths to back up, alongside those defined by the \fBdynamicFilesFrom\fP option\&. If left empty and \fBdynamicFilesFrom\fP is also not specified, no backup command will be run\&. This can be used to create a prune\-only job\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/var/lib/postgresql\(dq - \(dq/home/user/backup\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.progressFps\fR -.RS 4 -Controls the frequency of progress reporting\&. -.sp -\fIType:\fR null or (nonnegative integer or floating point number, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.pruneOpts\fR -.RS 4 -A list of policy options for \[u2018]restic forget \-\-prune\[u2019], to automatically prune old snapshots\&. See \fBhttps://restic\&.readthedocs\&.io/en/latest/060_forget\&.html#removing\-snapshots\-according\-to\-a\-policy\fR[1]\fR for a full list of options\&. -.sp -Note: The \[u2018]forget\[u2019] command is run \fIafter\fR the \[u2018]backup\[u2019] command, so keep that in mind when constructing the \-\-keep\-* options\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-keep\-daily 7\(dq - \(dq\-\-keep\-weekly 5\(dq - \(dq\-\-keep\-monthly 12\(dq - \(dq\-\-keep\-yearly 75\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://restic\&.readthedocs\&.io/en/latest/060_forget\&.html#removing\-snapshots\-according\-to\-a\-policy -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.rcloneOptions\fR -.RS 4 -Options to pass to rclone to control its behavior\&. See \fBhttps://rclone\&.org/docs/#options\fR[1]\fR for available options\&. When specifying option names, strip the leading \fR\(oq\-\-\(cq\fP\&. To set a flag such as \fR\(oq\-\-drive\-use\-trash\(cq\fP, which does not take a value, set the value to the Boolean \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR attribute set of (string or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - bwlimit = \(dq10M\(dq; - drive\-use\-trash = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://rclone\&.org/docs/#options -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.repository\fR -.RS 4 -Repository to backup to\&. This should be in the form of a backend specification as detailed here \fBhttps://restic\&.readthedocs\&.io/en/stable/030_preparing_a_new_repo\&.html\fR[1]\fR\&. -.sp -If your using the rclone backend, you can configure your remotes with \fBprograms\&.rclone\&.remotes\fP then use them in your backend specification\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsftp:backup@192\&.168\&.1\&.100:/backups/\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://restic\&.readthedocs\&.io/en/stable/030_preparing_a_new_repo\&.html -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.repositoryFile\fR -.RS 4 -Path to a file containing the repository location to backup to\&. This should be in the same form as the \fBrepository\fP option\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.runCheck\fR -.RS 4 -Whether to run \[u2018]restic check\[u2019] with the provided \fR\(oqcheckOpts\(cq\fP options\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR lib\&.length config\&.checkOpts > 0 || lib\&.length config\&.pruneOpts > 0 -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.ssh\-package\fR -.RS 4 -The openssh package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.openssh -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.restic\&.backups\&.<name>\&.timerConfig\fR -.RS 4 -When to run the backup\&. See \fBsystemd\&.timer\fP\fR(5)\fP for details\&. If null no timer is created and the backup will only run when explicitly started\&. -.sp -\fIType:\fR null or (attribute set of (boolean or signed integer or string or absolute path or list of (boolean or signed integer or string or absolute path))) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - OnCalendar = \(dqdaily\(dq; - Persistent = true; -} -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - OnCalendar = \(dq00:05\(dq; - Persistent = true; - RandomizedDelaySec = \(dq5h\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/restic\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.rsibreak\&.enable\fR -.RS 4 -Whether to enable rsibreak\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/rsibreak\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.safeeyes\&.enable\fR -.RS 4 -Whether to enable The Safe Eyes OSGI service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/safeeyes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.safeeyes\&.package\fR -.RS 4 -The safeeyes package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.safeeyes -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/safeeyes\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.enable\fR -.RS 4 -Whether to enable screen locker for X session\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.inactiveInterval\fR -.RS 4 -Inactive time interval in minutes after which session will be locked\&. The minimum is 1 minute, and the maximum is 1 hour\&. If \fBxautolock\&.enable\fP is true, it will use this setting\&. See \fBhttps://linux\&.die\&.net/man/1/xautolock\fR[1]\fR\&. Otherwise, this will be used with \fBxset\fP to configure the X server\[u2019]s screensaver timeout\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 10 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://linux\&.die\&.net/man/1/xautolock -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.lockCmd\fR -.RS 4 -Locker command to run\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq\e${pkgs\&.i3lock}/bin/i3lock \-n \-c 000000\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.lockCmdEnv\fR -.RS 4 -Environment variables to source a with the locker command (lockCmd)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqXSECURELOCK_PAM_SERVICE=xsecurelock\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xautolock\&.enable\fR -.RS 4 -Use xautolock for time\-based locking\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xautolock\&.package\fR -.RS 4 -The xautolock package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.xautolock -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xautolock\&.detectSleep\fR -.RS 4 -Whether to reset xautolock timers when awaking from sleep\&. No effect if \fBxautolock\&.enable\fP is false\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xautolock\&.extraOptions\fR -.RS 4 -Extra command\-line arguments to pass to \fBxautolock\fP\&. No effect if \fBxautolock\&.enable\fP is false\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xss\-lock\&.package\fR -.RS 4 -The xss\-lock package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.xss\-lock -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xss\-lock\&.extraOptions\fR -.RS 4 -Extra command\-line arguments to pass to \fBxss\-lock\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.screen\-locker\&.xss\-lock\&.screensaverCycle\fR -.RS 4 -The X server\[u2019]s screensaver cycle value expressed as seconds\&. This will be used with \fBxset\fP to configure the cycle along with timeout\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 600 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/screen\-locker\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sctd\&.enable\fR -.RS 4 -Whether to enable sctd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sctd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sctd\&.baseTemperature\fR -.RS 4 -The base color temperature used by sctd, which should be between 2500 and 9000\&. See \fBsctd\fP\fR(1)\fP for more details\&. -.sp -\fIType:\fR integer between 2500 and 9000 (both inclusive) -.sp -\fIDefault:\fR 4500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sctd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.shikane\&.enable\fR -.RS 4 -Whether to enable shikane, A dynamic output configuration tool that automatically detects and configures connected outputs based on a set of profiles\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/shikane\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.shikane\&.package\fR -.RS 4 -The shikane package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.shikane -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/shikane\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.shikane\&.settings\fR -.RS 4 -Configuration written to <filename>$XDG_CONFIG_HOME/shikane/config\&.toml</filename>\&. </para><para> See <link xlink:href=\[u201C]https://gitlab\&.com/w0lff/shikane/\-/blob/master/docs/shikane\&.5\&.man\&.md\[u201D] /> for more information\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - profile = [ - { - name = \(dqexternal\-monitor\-default\(dq; - output = [ - { - match = \(dqeDP\-1\(dq; - enable = true; - } - { - match = \(dqHDMI\-A\-1\(dq; - enable = true; - position = { - x = 1920; - y = 0; - }; - } - ]; - } - { - name = \(dqbuiltin\-monitor\-only\(dq; - output = [ - { - match = \(dqeDP\-1\(dq; - enable = true; - } - ]; - } - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/shikane\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.signaturepdf\&.enable\fR -.RS 4 -Whether to enable signaturepdf; signing, organizing, editing metadatas or compressing PDFs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/signaturepdf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.signaturepdf\&.package\fR -.RS 4 -The signaturepdf package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.signaturepdf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/signaturepdf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.signaturepdf\&.extraConfig\fR -.RS 4 -Additional configuration optional\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - max_file_uploads = \(dq201\(dq; - post_max_size = \(dq24M\(dq; - upload_max_filesize = \(dq24M\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/signaturepdf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.signaturepdf\&.port\fR -.RS 4 -The port on which the application runs -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 8080 -.sp -\fIExample:\fR 8081 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/signaturepdf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.enable\fR -.RS 4 -Whether to enable skhd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/skhd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.package\fR -.RS 4 -The skhd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.skhd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/skhd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.config\fR -.RS 4 -Contents of skhd\[u2019]s configuration file\&. If empty (the default), the configuration file won\[u2019]t be managed\&. -.sp -See \fBdocumentation\fR[1]\fR and \fBexample\fR[2]\fR\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - # open terminal, blazingly fast compared to iTerm/Hyper - cmd \- return : /Applications/kitty\&.app/Contents/MacOS/kitty \-\-single\-instance \-d \(ti - - # open qutebrowser - cmd + shift \- return : \(ti/Scripts/qtb\&.sh - - # open mpv - cmd \- m : open \-na /Applications/mpv\&.app $(pbpaste) -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/skhd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/koekeishiya/skhd -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/koekeishiya/skhd/blob/master/examples/skhdrc -.RE -.RE -.PP -\fBservices\&.skhd\&.errorLogFile\fR -.RS 4 -Absolute path to log all stderr output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/skhd/err\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/skhd\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/skhd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.outLogFile\fR -.RS 4 -Absolute path to log all stdout output\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR ${config\&.home\&.homeDirectory}/Library/Logs/skhd/out\&.log -.sp -\fIExample:\fR \(dq/Users/khaneliman/Library/Logs/skhd\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/skhd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.snixembed\&.enable\fR -.RS 4 -Whether to enable snixembed: proxy StatusNotifierItems as XEmbedded systemtray\-spec icons\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/snixembed\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.snixembed\&.package\fR -.RS 4 -The snixembed package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.snixembed -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/snixembed\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.snixembed\&.beforeUnits\fR -.RS 4 -List of other units that should be started after snixembed\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqsafeeyes\&.service\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/snixembed\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.enable\fR -.RS 4 -Whether to enable SpotifyD connect\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/spotifyd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.package\fR -.RS 4 -The spotifyd package to use\&. Can be used to specify extensions\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.spotifyd -.sp -\fIExample:\fR (pkgs\&.spotifyd\&.override { withKeyring = true; }) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/spotifyd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.settings\fR -.RS 4 -Configuration for spotifyd -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - global = { - username = \(dqAlex\(dq; - password = \(dqfoo\(dq; - device_name = \(dqnix\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/spotifyd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ssh\-agent\&.enable\fR -.RS 4 -Whether to enable OpenSSH private key agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/ssh\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.stalonetray\&.enable\fR -.RS 4 -Whether to enable Stalonetray system tray\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/stalonetray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.stalonetray\&.package\fR -.RS 4 -The stalonetray package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.stalonetray -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/stalonetray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.stalonetray\&.config\fR -.RS 4 -Stalonetray configuration as a set of attributes\&. -.sp -\fIType:\fR attribute set of (null or string or boolean or signed integer) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#cccccc\(dq; - decorations = null; - geometry = \(dq3x1\-600+0\(dq; - icon_size = 30; - sticky = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/stalonetray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.stalonetray\&.extraConfig\fR -.RS 4 -Additional configuration lines for stalonetrayrc\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - geometry 3x1\-600+0 - decorations none - icon_size 30 - sticky true - background \(dq#cccccc\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/stalonetray\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.status\-notifier\-watcher\&.enable\fR -.RS 4 -Whether to enable Status Notifier Watcher\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/status\-notifier\-watcher\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.status\-notifier\-watcher\&.package\fR -.RS 4 -The status\-notifier\-item package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.haskellPackages\&.status\-notifier\-item -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/status\-notifier\-watcher\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.enable\fR -.RS 4 -Whether to enable idle manager for Wayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.package\fR -.RS 4 -The swayidle package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swayidle -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.events\fR -.RS 4 -Run command on occurrence of a event\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { event = \(dqbefore\-sleep\(dq; command = \(dq${pkgs\&.swaylock}/bin/swaylock \-fF\(dq; } - { event = \(dqlock\(dq; command = \(dqlock\(dq; } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.events\&.*\&.command\fR -.RS 4 -Command to run when event occurs\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.events\&.*\&.event\fR -.RS 4 -Event name\&. -.sp -\fIType:\fR one of \[u201C]before\-sleep\[u201D], \[u201C]after\-resume\[u201D], \[u201C]lock\[u201D], \[u201C]unlock\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.extraArgs\fR -.RS 4 -Extra arguments to pass to swayidle\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\-w\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.timeouts\fR -.RS 4 -List of commands to run after idle timeout\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { timeout = 60; command = \(dq${pkgs\&.swaylock}/bin/swaylock \-fF\(dq; } - { timeout = 90; command = \(dq${pkgs\&.systemd}/bin/systemctl suspend\(dq; } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.timeouts\&.*\&.command\fR -.RS 4 -Command to run after timeout seconds of inactivity\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.timeouts\&.*\&.resumeCommand\fR -.RS 4 -Command to run when there is activity again\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayidle\&.timeouts\&.*\&.timeout\fR -.RS 4 -Timeout in seconds\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIExample:\fR 60 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayidle\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swaync\&.enable\fR -.RS 4 -Whether to enable Swaync notification daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swaync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swaync\&.package\fR -.RS 4 -The swaynotificationcenter package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swaynotificationcenter -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swaync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swaync\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/swaync/config\&.json\fP\&. See \fBhttps://github\&.com/ErikReider/SwayNotificationCenter/blob/main/src/configSchema\&.json\fR[1]\fR for the documentation\&. -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - positionX = \(dqright\(dq; - positionY = \(dqtop\(dq; - layer = \(dqoverlay\(dq; - control\-center\-layer = \(dqtop\(dq; - layer\-shell = true; - cssPriority = \(dqapplication\(dq; - control\-center\-margin\-top = 0; - control\-center\-margin\-bottom = 0; - control\-center\-margin\-right = 0; - control\-center\-margin\-left = 0; - notification\-2fa\-action = true; - notification\-inline\-replies = false; - notification\-icon\-size = 64; - notification\-body\-image\-height = 100; - notification\-body\-image\-width = 200; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swaync\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ErikReider/SwayNotificationCenter/blob/main/src/configSchema\&.json -.RE -.RE -.PP -\fBservices\&.swaync\&.style\fR -.RS 4 -CSS style of the bar\&. See \fBhttps://github\&.com/ErikReider/SwayNotificationCenter/blob/main/src/style\&.css\fR[1]\fR for the documentation\&. -.sp -If the value is set to a path literal, then the path will be used as the CSS file\&. -.sp -\fIType:\fR null or absolute path or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - \&.notification\-row { - outline: none; - } - - \&.notification\-row:focus, - \&.notification\-row:hover { - background: @noti\-bg\-focus; - } - - \&.notification { - border\-radius: 12px; - margin: 6px 12px; - box\-shadow: 0 0 0 1px rgba(0, 0, 0, 0\&.3), 0 1px 3px 1px rgba(0, 0, 0, 0\&.7), - 0 2px 6px 2px rgba(0, 0, 0, 0\&.3); - padding: 0; - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swaync\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/ErikReider/SwayNotificationCenter/blob/main/src/style\&.css -.RE -.RE -.PP -\fBservices\&.swayosd\&.enable\fR -.RS 4 -Whether to enable swayosd, a GTK based on screen display for keyboard shortcuts like caps\-lock and volume\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayosd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayosd\&.package\fR -.RS 4 -The swayosd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swayosd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayosd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayosd\&.display\fR -.RS 4 -X display to use\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqeDP\-1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayosd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayosd\&.stylePath\fR -.RS 4 -Use a custom Stylesheet file instead of looking for one\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/etc/xdg/swayosd/style\&.css\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayosd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swayosd\&.topMargin\fR -.RS 4 -OSD margin from top edge (0\&.5 would be screen center)\&. -.sp -\fIType:\fR null or float between 0\&.0 and 1\&.0 (inclusive) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swayosd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swww\&.enable\fR -.RS 4 -Whether to enable swww, a Solution to your Wayland Wallpaper Woes\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swww\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.swww\&.package\fR -.RS 4 -The swww package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.swww -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/swww\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sxhkd\&.enable\fR -.RS 4 -Whether to enable simple X hotkey daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sxhkd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sxhkd\&.package\fR -.RS 4 -The sxhkd package to use\&. containing the sxhkd executable -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sxhkd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sxhkd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sxhkd\&.extraConfig\fR -.RS 4 -Additional configuration to add\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -super + {_,shift +} {1\-9,0} - i3\-msg {workspace,move container to workspace} {1\-10} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sxhkd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sxhkd\&.extraOptions\fR -.RS 4 -Command line arguments to invoke \fBsxhkd\fP with\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq\-m 1\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sxhkd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.sxhkd\&.keybindings\fR -.RS 4 -An attribute set that assigns hotkeys to commands\&. -.sp -\fIType:\fR attribute set of (null or string or absolute path) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqsuper + shift + {r,c}\(dq = \(dqi3\-msg {restart,reload}\(dq; - \(dqsuper + {s,w}\(dq = \(dqi3\-msg {stacking,tabbed}\(dq; - \(dqsuper + F1\(dq = pkgs\&.writeShellScript \(dqscript\(dq \(dqecho $USER\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/sxhkd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.enable\fR -.RS 4 -Whether to enable Syncthing, a self\-hosted open\-source alternative to Dropbox and Bittorrent Sync\&. \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.package\fR -.RS 4 -The syncthing package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.syncthing -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.allProxy\fR -.RS 4 -Overwrites the \fBall_proxy\fP environment variable for the Syncthing process to the given value\&. This is normally used to let Syncthing connect through a SOCKS5 proxy server\&. See \fBhttps://docs\&.syncthing\&.net/users/proxying\&.html\fR[1]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsocks5://address\&.com:1234\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/proxying\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.cert\fR -.RS 4 -Path to the \fR\(oqcert\&.pem\(cq\fP file, which will be copied into Syncthing\[u2019]s config directory\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.extraOptions\fR -.RS 4 -Extra command\-line arguments to pass to \fBsyncthing\fP -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-reset\-deltas\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.guiAddress\fR -.RS 4 -The address to serve the web interface at\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1:8384\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.key\fR -.RS 4 -Path to the \fR\(oqkey\&.pem\(cq\fP file, which will be copied into Syncthing\[u2019]s config directory\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.overrideDevices\fR -.RS 4 -Whether to delete the devices which are not configured via the \fBdevices\fR[1]\fR option\&. If set to \fR\(oqfalse\(cq\fP, devices added via the web interface will persist and will have to be deleted manually\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.syncthing\&.settings\&.devices\fP option -.RE -.RE -.PP -\fBservices\&.syncthing\&.overrideFolders\fR -.RS 4 -Whether to delete the folders which are not configured via the \fBfolders\fR[1]\fR option\&. If set to \fR\(oqfalse\(cq\fP, folders added via the web interface will persist and will have to be deleted manually\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.syncthing\&.settings\&.folders\fP option -.RE -.RE -.PP -\fBservices\&.syncthing\&.passwordFile\fR -.RS 4 -Path to the gui password file\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\fR -.RS 4 -Extra configuration options for Syncthing\&. See \fBhttps://docs\&.syncthing\&.net/users/config\&.html\fR[1]\fR\&. Note that this attribute set does not exactly match the documented XML format\&. Instead, this is the format of the JSON REST API\&. There are slight differences\&. For example, this XML: -.sp -.RS 4 -.nf -<options> - <listenAddress>default</listenAddress> - <minHomeDiskFree unit=\(dq%\(dq>1</minHomeDiskFree> -</options> -.fi -.RE -.sp -corresponds to the Nix code: -.sp -.RS 4 -.nf -{ - options = { - listenAddresses = [ - \(dqdefault\(dq - ]; - minHomeDiskFree = { - unit = \(dq%\(dq; - value = 1; - }; - }; -} -.fi -.RE -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gui = { - theme = \(dqblack\(dq; - }; - options = { - localAnnounceEnabled = false; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/config\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.devices\fR -.RS 4 -Peers/devices which Syncthing should communicate with\&. -.sp -Note that you can still add devices manually, but those changes will be reverted on restart if \fBoverrideDevices\fR[1]\fR is enabled\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - bigbox = { - addresses = [ - \(dqtcp://192\&.168\&.0\&.10:51820\(dq - ]; - id = \(dq7CFNTQM\-IMTJBHJ\-3UWRDIU\-ZGQJFR6\-VCXZ3NB\-XUH3KZO\-N52ITXR\-LAIYUAU\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.syncthing\&.overrideDevices\fP option -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.devices\&.<name>\&.autoAcceptFolders\fR -.RS 4 -Automatically create or share folders that this device advertises at the default path\&. See \fBhttps://docs\&.syncthing\&.net/users/config\&.html?highlight=autoaccept#config\-file\-format\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/config\&.html?highlight=autoaccept#config\-file\-format -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.devices\&.<name>\&.id\fR -.RS 4 -The device ID\&. See \fBhttps://docs\&.syncthing\&.net/dev/device\-ids\&.html\fR[1]\fR\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/dev/device\-ids\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.devices\&.<name>\&.name\fR -.RS 4 -The name of the device\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\fR -.RS 4 -Folders which should be shared by Syncthing\&. -.sp -Note that you can still add folders manually, but those changes will be reverted on restart if \fBoverrideFolders\fR[1]\fR is enabled\&. -.sp -\fIType:\fR attribute set of (JSON value) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq/home/user/sync\(dq = { - id = \(dqsyncme\(dq; - devices = [ \(dqbigbox\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.syncthing\&.overrideFolders\fP option -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.enable\fR -.RS 4 -Whether to share this folder\&. This option is useful when you want to define all folders in one place, but not every machine should share all folders\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.copyOwnershipFromParent\fR -.RS 4 -On Unix systems, tries to copy file/folder ownership from the parent directory (the directory it\[u2019]s located in)\&. Requires running Syncthing as a privileged user, or granting it additional capabilities (e\&.g\&. CAP_CHOWN on Linux)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.devices\fR -.RS 4 -The devices this folder should be shared with\&. Each device must be defined in the \fBdevices\fR[1]\fR option\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBservices\&.syncthing\&.settings\&.devices\fP option -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.id\fR -.RS 4 -The ID of the folder\&. Must be the same on all devices\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.label\fR -.RS 4 -The label of the folder\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.path\fR -.RS 4 -The path to the folder which should be shared\&. Only absolute paths (starting with \fR\(oq/\(cq\fP) and paths relative to the user\[u2019]s home directory (starting with \fR\(oq\(ti/\(cq\fP) are allowed\&. -.sp -\fIType:\fR string starting with / or \(ti/ -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.type\fR -.RS 4 -Controls how the folder is handled by Syncthing\&. See \fBhttps://docs\&.syncthing\&.net/users/config\&.html#config\-option\-folder\&.type\fR[1]\fR\&. -.sp -\fIType:\fR one of \[u201C]sendreceive\[u201D], \[u201C]sendonly\[u201D], \[u201C]receiveonly\[u201D], \[u201C]receiveencrypted\[u201D] -.sp -\fIDefault:\fR \(dqsendreceive\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/config\&.html#config\-option\-folder\&.type -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.versioning\fR -.RS 4 -How to keep changed/deleted files with Syncthing\&. There are 4 different types of versioning with different parameters\&. See \fBhttps://docs\&.syncthing\&.net/users/versioning\&.html\fR[1]\fR\&. -.sp -\fIType:\fR null or (JSON value) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - versioning = { - type = \(dqsimple\(dq; - params\&.keep = \(dq10\(dq; - }; - } - { - versioning = { - type = \(dqtrashcan\(dq; - params\&.cleanoutDays = \(dq1000\(dq; - }; - } - { - versioning = { - type = \(dqstaggered\(dq; - fsPath = \(dq/syncthing/backup\(dq; - params = { - cleanInterval = \(dq3600\(dq; - maxAge = \(dq31536000\(dq; - }; - }; - } - { - versioning = { - type = \(dqexternal\(dq; - params\&.versionsPath = pkgs\&.writers\&.writeBash \(dqbackup\(dq \(aq\(aq - folderpath=\(dq$1\(dq - filepath=\(dq$2\(dq - rm \-rf \(dq$folderpath/$filepath\(dq - \(aq\(aq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/versioning\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.folders\&.<name>\&.versioning\&.type\fR -.RS 4 -The type of versioning\&. See \fBhttps://docs\&.syncthing\&.net/users/versioning\&.html\fR[1]\fR\&. -.sp -\fIType:\fR one of \[u201C]external\[u201D], \[u201C]simple\[u201D], \[u201C]staggered\[u201D], \[u201C]trashcan\[u201D] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/users/versioning\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\fR -.RS 4 -The options element contains all other global configuration options -.sp -\fIType:\fR JSON value -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.limitBandwidthInLan\fR -.RS 4 -Whether to apply bandwidth limits to devices in the same broadcast domain as the local device\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.localAnnounceEnabled\fR -.RS 4 -Whether to send announcements to the local LAN, also use such announcements to find other devices\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.localAnnouncePort\fR -.RS 4 -The port on which to listen and send IPv4 broadcast announcements to\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.maxFolderConcurrency\fR -.RS 4 -This option controls how many folders may concurrently be in I/O\-intensive operations such as syncing or scanning\&. The mechanism is described in detail in a \fBseparate chapter\fR[1]\fR\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.syncthing\&.net/advanced/option\-max\-concurrency\&.html -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.relaysEnabled\fR -.RS 4 -When true, relays will be connected to and potentially used for device to device connections\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.settings\&.options\&.urAccepted\fR -.RS 4 -Whether the user has accepted to submit anonymous usage data\&. The default, 0, mean the user has not made a choice, and Syncthing will ask at some point in the future\&. \[u201C]\-1\[u201D] means no, a number above zero means that that version of usage reporting has been accepted\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.syncthing\&.tray\fR -.RS 4 -Syncthing tray service configuration\&. -.sp -\fIType:\fR boolean or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - enable = false; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/syncthing\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.systembus\-notify\&.enable\fR -.RS 4 -Whether to enable systembus\-notify \- system bus notification daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/systembus\-notify\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.taffybar\&.enable\fR -.RS 4 -Whether to enable Taffybar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/taffybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.taffybar\&.package\fR -.RS 4 -The taffybar package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.taffybar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/taffybar\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tahoe\-lafs\&.enable\fR -.RS 4 -Whether to enable Tahoe\-LAFS\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/tahoe\-lafs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.taskwarrior\-sync\&.enable\fR -.RS 4 -Whether to enable Taskwarrior periodic sync\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/taskwarrior\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.taskwarrior\-sync\&.package\fR -.RS 4 -The taskwarrior package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.taskwarrior -.sp -\fIExample:\fR pkgs\&.taskwarrior3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/taskwarrior\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.taskwarrior\-sync\&.frequency\fR -.RS 4 -How often to run \fR\(oqtaskwarrior sync\(cq\fP\&. This value is passed to the systemd timer configuration as the \fR\(oqOnCalendar\(cq\fP option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/taskwarrior\-sync\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tldr\-update\&.enable\fR -.RS 4 -Whether to enable Automatic updates for the tldr CLI \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/tldr\-update\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tldr\-update\&.package\fR -.RS 4 -The tldr package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tldr -.sp -\fIExample:\fR tlrc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/tldr\-update\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tldr\-update\&.period\fR -.RS 4 -Systemd timer period to create for scheduled \fBtldr \-\-update\fP\&. -.sp -The format is described in \fBsystemd\&.time\fP\fR(7)\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqweekly\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/tldr\-update\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trayer\&.enable\fR -.RS 4 -Whether to enable trayer, the lightweight GTK2+ systray for UNIX desktops\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trayer\&.package\fR -.RS 4 -The trayer package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.trayer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trayer\&.settings\fR -.RS 4 -Trayer configuration as a set of attributes\&. Further details can be found in \fBtrayer\[u2019]s README\fR[1]\fR\&. -.RS 4 -.PP -\fISetDockType\fP -.RS 4 -boolean (default: \fR\(oqtrue\(cq\fP) -.RE -.PP -\fISetPartialStrut\fP -.RS 4 -boolean (default: \fR\(oqtrue\(cq\fP) -.RE -.PP -\fIalign\fP -.RS 4 -one of \[u201C]left\[u201D], \[u201C]right\[u201D], \[u201C]center\[u201D] (default: \fR\(oq\(dqcenter\(dq\(cq\fP) -.RE -.PP -\fIalpha\fP -.RS 4 -signed integer (default: \fR\(oq127\(cq\fP) -.RE -.PP -\fIdistance\fP -.RS 4 -signed integer (default: \fR\(oq0\(cq\fP) -.RE -.PP -\fIdistancefrom\fP -.RS 4 -one of \[u201C]left\[u201D], \[u201C]right\[u201D], \[u201C]top\[u201D], \[u201C]bottom\[u201D] (default: \fR\(oq\(dqtop\(dq\(cq\fP) -.RE -.PP -\fIedge\fP -.RS 4 -one of \[u201C]left\[u201D], \[u201C]right\[u201D], \[u201C]top\[u201D], \[u201C]bottom\[u201D], \[u201C]none\[u201D] (default: \fR\(oq\(dqbottom\(dq\(cq\fP) -.RE -.PP -\fIexpand\fP -.RS 4 -boolean (default: \fR\(oqtrue\(cq\fP) -.RE -.PP -\fIheight\fP -.RS 4 -signed integer (default: \fR\(oq26\(cq\fP) -.RE -.PP -\fIheighttype\fP -.RS 4 -one of \[u201C]request\[u201D], \[u201C]pixel\[u201D] (default: \fR\(oq\(dqpixel\(dq\(cq\fP) -.RE -.PP -\fIiconspacing\fP -.RS 4 -signed integer (default: \fR\(oq0\(cq\fP) -.RE -.PP -\fImargin\fP -.RS 4 -signed integer (default: \fR\(oq0\(cq\fP) -.RE -.PP -\fImonitor\fP -.RS 4 -unsigned integer, meaning >=0, or value \[u201C]primary\[u201D] (singular enum) (default: \fR\(oq0\(cq\fP) -.RE -.PP -\fIpadding\fP -.RS 4 -signed integer (default: \fR\(oq0\(cq\fP) -.RE -.PP -\fItint\fP -.RS 4 -string (default: \fR\(oq\(dq0xFFFFFFFF\(dq\(cq\fP) -.RE -.PP -\fItransparent\fP -.RS 4 -boolean (default: \fR\(oqfalse\(cq\fP) -.RE -.PP -\fIwidth\fP -.RS 4 -signed integer (default: \fR\(oq100\(cq\fP) -.RE -.PP -\fIwidthtype\fP -.RS 4 -one of \[u201C]request\[u201D], \[u201C]pixel\[u201D], \[u201C]percent\[u201D] (default: \fR\(oq\(dqpercent\(dq\(cq\fP) -.RE -.RE -.sp -\fIType:\fR attribute set of (null or string or boolean or signed integer) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - edge = \(dqtop\(dq; - padding = 6; - SetDockType = true; - tint = \(dq0x282c34\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayer\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/sargon/trayer\-srg/blob/master/README -.RE -.RE -.PP -\fBservices\&.trayscale\&.enable\fR -.RS 4 -Whether to enable An unofficial GUI wrapper around the Tailscale CLI client\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trayscale\&.package\fR -.RS 4 -The trayscale package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.trayscale -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trayscale\&.hideWindow\fR -.RS 4 -Whether to hide the trayscale window on startup\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/trayscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.enable\fR -.RS 4 -Whether to enable twmn, a tiling window manager notification daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.duration\fR -.RS 4 -The time each notification remains visible, in milliseconds\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 3000 -.sp -\fIExample:\fR 5000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.extraConfig\fR -.RS 4 -Extra configuration options to add to the twmnd config file\&. See \fBhttps://github\&.com/sboli/twmn/blob/master/README\&.md\fR[1]\fR for details\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR { main\&.activation_command = \(dq\e${pkgs\&.hello}/bin/hello\(dq; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/sboli/twmn/blob/master/README\&.md -.RE -.RE -.PP -\fBservices\&.twmn\&.host\fR -.RS 4 -Host address to listen on for notifications\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIExample:\fR \(dqlaptop\&.lan\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.icons\&.critical\fR -.RS 4 -Path to the critical notifications\[u2019] icon\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.icons\&.info\fR -.RS 4 -Path to the informative notifications\[u2019] icon\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.icons\&.warning\fR -.RS 4 -Path to the warning notifications\[u2019] icon\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.port\fR -.RS 4 -UDP port to listen on for notifications\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 9797 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.screen\fR -.RS 4 -Screen number to display notifications on when using a multi\-head desktop\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.soundCommand\fR -.RS 4 -Command to execute to play a notification\[u2019]s sound\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.color\fR -.RS 4 -Notification\[u2019]s text color\&. RGB hex and keywords (e\&.g\&. \fR\(oqlightgray\(cq\fP) are supported\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq#999999\(dq -.sp -\fIExample:\fR \(dqlightgray\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.font\&.package\fR -.RS 4 -The font package to use\&. Package providing the font to use for the notification text\&. This package is only used if \fR\(oqfont\&.package\(cq\fP is not null\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.dejavu_fonts -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.font\&.family\fR -.RS 4 -Notification text\[u2019]s font family\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqSans\(dq -.sp -\fIExample:\fR \(dqNoto Sans\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.font\&.size\fR -.RS 4 -Notification text\[u2019]s font size\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 13 -.sp -\fIExample:\fR 42 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.font\&.variant\fR -.RS 4 -Notification text\[u2019]s font variant\&. -.sp -\fIType:\fR one of \[u201C]oblique\[u201D], \[u201C]italic\[u201D], \[u201C]ultra\-light\[u201D], \[u201C]light\[u201D], \[u201C]medium\[u201D], \[u201C]semi\-bold\[u201D], \[u201C]bold\[u201D], \[u201C]ultra\-bold\[u201D], \[u201C]heavy\[u201D], \[u201C]ultra\-condensed\[u201D], \[u201C]extra\-condensed\[u201D], \[u201C]condensed\[u201D], \[u201C]semi\-condensed\[u201D], \[u201C]semi\-expanded\[u201D], \[u201C]expanded\[u201D], \[u201C]extra\-expanded\[u201D], \[u201C]ultra\-expanded\[u201D] -.sp -\fIDefault:\fR \(dqmedium\(dq -.sp -\fIExample:\fR \(dqheavy\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.text\&.maxLength\fR -.RS 4 -Maximum length of the text before it is cut and suffixed with \[u201C]\[u2026]\[u201D]\&. Never cuts if \fR\(oqnull\(cq\fP\&. -.sp -\fIType:\fR null or (unsigned integer, meaning >=0) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 80 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.alwaysOnTop\fR -.RS 4 -Whether to enable forcing the notification window to always be on top\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.bounce\&.enable\fR -.RS 4 -Whether to enable notification bounce when displaying next notification directly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.bounce\&.duration\fR -.RS 4 -The bounce animation duration in milliseconds\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 500 -.sp -\fIExample:\fR 618 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeIn\fR -.RS 4 -Options for the notification appearance\[u2019]s animation\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - curve = 19; - duration = 618; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeIn\&.curve\fR -.RS 4 -The qt easing\-curve animation to use for the animation\&. See \fBQEasingCurve documentation\fR[1]\fR\&. -.sp -\fIType:\fR integer between 0 and 40 (both inclusive) -.sp -\fIDefault:\fR 38 -.sp -\fIExample:\fR 19 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://doc\&.qt\&.io/qt\-5/qeasingcurve\&.html#Type\-enum -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeIn\&.duration\fR -.RS 4 -The animation duration in milliseconds\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 1000 -.sp -\fIExample:\fR 618 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeOut\fR -.RS 4 -Options for the notification disappearance\[u2019]s animation\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - curve = 19; - duration = 618; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeOut\&.curve\fR -.RS 4 -The qt easing\-curve animation to use for the animation\&. See \fBQEasingCurve documentation\fR[1]\fR\&. -.sp -\fIType:\fR integer between 0 and 40 (both inclusive) -.sp -\fIDefault:\fR 38 -.sp -\fIExample:\fR 19 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://doc\&.qt\&.io/qt\-5/qeasingcurve\&.html#Type\-enum -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.animation\&.easeOut\&.duration\fR -.RS 4 -The animation duration in milliseconds\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 1000 -.sp -\fIExample:\fR 618 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.color\fR -.RS 4 -Notification\[u2019]s background color\&. RGB hex and keywords (e\&.g\&. \fR\(oqlightgray\(cq\fP) are supported\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq#000000\(dq -.sp -\fIExample:\fR \(dqlightgray\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.height\fR -.RS 4 -Height of the slide bar\&. Useful to match your tiling window manager\[u2019]s bar\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 18 -.sp -\fIExample:\fR 42 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.offset\&.x\fR -.RS 4 -Offset of the notification\[u2019]s slide starting point in pixels on the horizontal axis (positive is rightward)\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR 50 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.offset\&.y\fR -.RS 4 -Offset of the notification\[u2019]s slide starting point in pixels on the vertical axis (positive is upward)\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR \-100 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.opacity\fR -.RS 4 -The notification window\[u2019]s opacity\&. -.sp -\fIType:\fR integer between 0 and 100 (both inclusive) -.sp -\fIDefault:\fR 100 -.sp -\fIExample:\fR 80 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.twmn\&.window\&.position\fR -.RS 4 -Position of the notification slide\&. The notification will slide in vertically from the border if placed in \fR\(oqtop_center\(cq\fP or \fR\(oqbottom_center\(cq\fP, horizontally otherwise\&. -.sp -\fIType:\fR one of \[u201C]tr\[u201D], \[u201C]top_right\[u201D], \[u201C]tl\[u201D], \[u201C]top_left\[u201D], \[u201C]br\[u201D], \[u201C]bottom_right\[u201D], \[u201C]bl\[u201D], \[u201C]bottom_left\[u201D], \[u201C]tc\[u201D], \[u201C]top_center\[u201D], \[u201C]bc\[u201D], \[u201C]bottom_center\[u201D], \[u201C]c\[u201D], \[u201C]center\[u201D] -.sp -\fIDefault:\fR \(dqtop_right\(dq -.sp -\fIExample:\fR \(dqbottom_left\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/twmn\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.udiskie\&.enable\fR -.RS 4 -Whether to enable the udiskie mount daemon\&. -.sp -Note, if you use NixOS then you must add \fR\(oqservices\&.udisks2\&.enable = true\(cq\fP to your system configuration\&. Otherwise mounting will fail because the Udisk2 DBus service is not found\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/udiskie\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.udiskie\&.automount\fR -.RS 4 -Whether to automatically mount new devices\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/udiskie\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.udiskie\&.notify\fR -.RS 4 -Whether to show pop\-up notifications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/udiskie\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.udiskie\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/udiskie/config\&.yml\fP\&. -.sp -See \fBhttps://github\&.com/coldfix/udiskie/blob/master/doc/udiskie\&.8\&.txt#configuration\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - program_options = { - udisks_version = 2; - tray = true; - }; - icon_names\&.media = [ \(dqmedia\-optical\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/udiskie\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/coldfix/udiskie/blob/master/doc/udiskie\&.8\&.txt#configuration -.RE -.RE -.PP -\fBservices\&.udiskie\&.tray\fR -.RS 4 -Whether to display tray icon\&. -.sp -The options are -.RS 4 -.PP -\fR\(oqalways\(cq\fP -.RS 4 -Always show tray icon\&. -.RE -.PP -\fR\(oqauto\(cq\fP -.RS 4 -Show tray icon only when there is a device available\&. -.RE -.PP -\fR\(oqnever\(cq\fP -.RS 4 -Never show tray icon\&. -.RE -.RE -.sp -\fIType:\fR one of \[u201C]always\[u201D], \[u201C]auto\[u201D], \[u201C]never\[u201D] -.sp -\fIDefault:\fR \(dqauto\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/udiskie\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unclutter\&.enable\fR -.RS 4 -Whether to enable unclutter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unclutter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unclutter\&.package\fR -.RS 4 -The unclutter\-xfixes package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.unclutter\-xfixes -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unclutter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unclutter\&.extraOptions\fR -.RS 4 -More arguments to pass to the unclutter command\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqexclude\-root\(dq - \(dqignore\-scrolling\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unclutter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unclutter\&.threshold\fR -.RS 4 -Minimum number of pixels considered cursor movement\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unclutter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unclutter\&.timeout\fR -.RS 4 -Number of seconds before the cursor is marked inactive\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unclutter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.enable\fR -.RS 4 -Whether to enable Unison synchronisation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.package\fR -.RS 4 -The unison package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.unison -.sp -\fIExample:\fR pkgs\&.unison\&.override { enableX11 = false; } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.pairs\fR -.RS 4 -Unison root pairs to keep synchronised\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmy\-documents\(dq = { - roots = [ - \(dq/home/user/documents\(dq - \(dqssh://remote/documents\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.pairs\&.<name>\&.commandOptions\fR -.RS 4 -Additional command line options as a dictionary to pass to the \fR\(oqunison\(cq\fP program\&. -.sp -Use a list of strings to declare the same option multiple times\&. -.sp -See \fBunison\fP\fR(1)\fP for a list of available options\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - auto = \(dqtrue\(dq; - batch = \(dqtrue\(dq; - log = \(dqfalse\(dq; - repeat = \(dqwatch\(dq; - sshcmd = \(dq\e${pkgs\&.openssh}/bin/ssh\(dq; - ui = \(dqtext\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.pairs\&.<name>\&.roots\fR -.RS 4 -Pair of roots to synchronise\&. -.sp -\fIType:\fR list of string of length 2 -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/home/user/documents\(dq - \(dqssh://remote/documents\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.unison\&.pairs\&.<name>\&.stateDirectory\fR -.RS 4 -Unison state directory to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq$XDG_DATA_HOME/unison\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/unison\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.vdirsyncer\&.enable\fR -.RS 4 -Whether to enable vdirsyncer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.vdirsyncer\&.package\fR -.RS 4 -The vdirsyncer package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.vdirsyncer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.vdirsyncer\&.configFile\fR -.RS 4 -Optional configuration file to link to use instead of the default file (\fI$XDG_CONFIG_HOME/vdirsyncer/config\fP)\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.vdirsyncer\&.frequency\fR -.RS 4 -How often to run vdirsyncer\&. This value is passed to the systemd timer configuration as the onCalendar option\&. See \fBsystemd\&.time\fP\fR(7)\fP for more information about the format\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq*:0/5\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.vdirsyncer\&.verbosity\fR -.RS 4 -Whether vdirsyncer should produce verbose output\&. -.sp -\fIType:\fR null or one of \[u201C]CRITICAL\[u201D], \[u201C]ERROR\[u201D], \[u201C]WARNING\[u201D], \[u201C]INFO\[u201D], \[u201C]DEBUG\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/vdirsyncer\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.volnoti\&.enable\fR -.RS 4 -Whether to enable Volnoti volume HUD daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/volnoti\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.volnoti\&.package\fR -.RS 4 -The volnoti package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.volnoti -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/volnoti\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.way\-displays\&.enable\fR -.RS 4 -Whether to enable way\-displays\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/way\-displays\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.way\-displays\&.package\fR -.RS 4 -The way\-displays package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.way\-displays -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/way\-displays\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.way\-displays\&.settings\fR -.RS 4 -The way\-displays configuration written to \fI$XDG_CONFIG_HOME/way\-displays/cfg\&.yml\fP\&. See \fBhttps://github\&.com/alex\-courtis/way\-displays/wiki/Configuration\fR[1]\fR for a description of available options\&. -.sp -When \fR\(oqnull\(cq\fP a configuration file is not generated, which allows way\-displays to write its own configuration\&. -.sp -\fIType:\fR null or YAML 1\&.1 value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ORDER = [ - \(dqDP\-2\(dq - \(dqMonitor Maker ABC123\(dq - \(dq!\(hamy_regex_here[0\-9]+\(dq - \(dq\(aq!\&.*$\(aq\(dq - ]; - SCALING = false; - MODE = [ - { - NAME_DESC = \(dqHDMI\-A\-1\(dq; - WIDTH = 1920; - HEIGHT = 1080; - HZ = 60; - } - ]; - TRANSFORM = [ - { - NAME_DESC = \(dqeDP\-1\(dq - TRANSFORM = \(dqFLIPPED\-90\(dq; - } - ]; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/way\-displays\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/alex\-courtis/way\-displays/wiki/Configuration -.RE -.RE -.PP -\fBservices\&.way\-displays\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/way\-displays\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.enable\fR -.RS 4 -Whether to enable wayvnc VNC server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.package\fR -.RS 4 -The wayvnc package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.wayvnc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.autoStart\fR -.RS 4 -Whether to enable autostarting of wayvnc\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.settings\fR -.RS 4 -See CONFIGURATION section in \fBwayvnc\fP\fR(1)\fP\&. -.sp -\fIType:\fR attribute set of (atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - address = \(dq0\&.0\&.0\&.0\(dq; - port = 5901; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.settings\&.address\fR -.RS 4 -The address to which the server shall bind, e\&.g\&. 0\&.0\&.0\&.0 or localhost\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq0\&.0\&.0\&.0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.settings\&.port\fR -.RS 4 -The port to which the server shall bind\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIExample:\fR 5901 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wayvnc\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wayvnc\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.enable\fR -.RS 4 -Whether to enable wlsunset\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.package\fR -.RS 4 -The wlsunset package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.wlsunset -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.gamma\fR -.RS 4 -Gamma value to use\&. -.sp -\fIType:\fR string or floating point number or signed integer -.sp -\fIDefault:\fR 1\&.0 -.sp -\fIExample:\fR 0\&.6 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.latitude\fR -.RS 4 -Your current latitude, between \fR\(oq\-90\&.0\(cq\fP and \fR\(oq90\&.0\(cq\fP\&. -.sp -\fIType:\fR null or string or floating point number or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \-74\&.3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.longitude\fR -.RS 4 -Your current longitude, between \fR\(oq\-180\&.0\(cq\fP and \fR\(oq180\&.0\(cq\fP\&. -.sp -\fIType:\fR null or string or floating point number or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 12\&.5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.output\fR -.RS 4 -Name of output to use, by default all outputs are used\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.sunrise\fR -.RS 4 -The time when the sun rises (in 24 hour format)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq06:30\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.sunset\fR -.RS 4 -The time when the sun sets (in 24 hour format)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq18:00\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.systemdTarget\fR -.RS 4 -Systemd target to bind to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.temperature\&.day\fR -.RS 4 -Colour temperature to use during the day, in Kelvin (K)\&. This value must be greater than \fR\(oqtemperature\&.night\(cq\fP\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 6500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wlsunset\&.temperature\&.night\fR -.RS 4 -Colour temperature to use during the night, in Kelvin (K)\&. This value must be smaller than \fR\(oqtemperature\&.day\(cq\fP\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 4000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wlsunset\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wluma\&.enable\fR -.RS 4 -Whether to enable Enable wluma, a service for automatic brightness adjustment\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wluma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wluma\&.package\fR -.RS 4 -The wluma package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.wluma -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wluma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wluma\&.settings\fR -.RS 4 -Configuration to use for wluma\&. See \fBhttps://github\&.com/maximbaz/wluma/blob/main/config\&.toml\fR[1]\fR for available options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - als = { - iio = { - path = \(dq\(dq; - thresholds = { - \(dq0\(dq = \(dqnight\(dq; - \(dq20\(dq = \(dqdark\(dq; - \(dq250\(dq = \(dqnormal\(dq; - \(dq500\(dq = \(dqbright\(dq; - \(dq80\(dq = \(dqdim\(dq; - \(dq800\(dq = \(dqoutdoors\(dq; - }; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wluma\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/maximbaz/wluma/blob/main/config\&.toml -.RE -.RE -.PP -\fBservices\&.wluma\&.systemd\&.enable\fR -.RS 4 -Wluma systemd integration -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wluma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wluma\&.systemd\&.target\fR -.RS 4 -The systemd target that will automatically start the Wluma service\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR config\&.wayland\&.systemd\&.target -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wluma\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wob\&.enable\fR -.RS 4 -Whether to enable wob\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wob\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wob\&.package\fR -.RS 4 -The wob package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wob -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wob\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wob\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/wob/wob\&.ini\fP\&. See \fBwob\&.ini\fP\fR(5)\fP for documentation\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq\(dq = { - border_size = 10; - height = 50; - }; - \(dqoutput\&.foo\(dq\&.name = \(dqDP\-1\(dq; - \(dqstyle\&.muted\(dq\&.background_color = \(dq032cfc\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wob\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wob\&.systemd\fR -.RS 4 -Whether to enable systemd service and socket for wob\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wob\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wpaperd\&.enable\fR -.RS 4 -Whether to enable wpaperd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wpaperd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wpaperd\&.package\fR -.RS 4 -The wpaperd package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wpaperd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wpaperd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.wpaperd\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/wpaperd/wallpaper\&.toml\fP\&. See \fBhttps://github\&.com/danyspin97/wpaperd#wallpaper\-configuration\fR[1]\fR for the full list of options\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - eDP\-1 = { - path = \(dq/home/foo/Pictures/Wallpaper\(dq; - apply\-shadow = true; - }; - DP\-2 = { - path = \(dq/home/foo/Pictures/Anime\(dq; - sorting = \(dqdescending\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/wpaperd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/danyspin97/wpaperd#wallpaper\-configuration -.RE -.RE -.PP -\fBservices\&.xcape\&.enable\fR -.RS 4 -Whether to enable xcape\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xcape\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xcape\&.mapExpression\fR -.RS 4 -The value has the grammar \fR\(oqKey[|OtherKey]\(cq\fP\&. -.sp -The list of key names is found in the header file \fIX11/keysymdef\&.h\fP (remove the \fR\(oqXK_\(cq\fP prefix)\&. Note that due to limitations of X11 shifted keys must be specified as a shift key followed by the key to be pressed rather than the actual name of the character\&. For example to generate \[u201C]{\[u201D] the expression \fR\(oqShift_L|bracketleft\(cq\fP could be used (assuming that you have a key with \[u201C]{\[u201D] above \[u201C][\[u201D])\&. -.sp -You can also specify keys in decimal (prefix #), octal (#0), or hexadecimal (#0x)\&. They will be interpreted as keycodes unless no corresponding key name is found\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Control_L = \(dqControl_L|O\(dq; - Shift_L = \(dqEscape\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xcape\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xcape\&.timeout\fR -.RS 4 -If you hold a key longer than this timeout, xcape will not generate a key event\&. Default is 500 ms\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 500 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xcape\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xembed\-sni\-proxy\&.enable\fR -.RS 4 -Whether to enable XEmbed SNI Proxy\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xembed\-sni\-proxy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xembed\-sni\-proxy\&.package\fR -.RS 4 -The plasma\-workspace package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.kdePackages\&.plasma\-workspace -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xembed\-sni\-proxy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.enable\fR -.RS 4 -Whether to enable xidlehook systemd service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.package\fR -.RS 4 -The xidlehook package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.xidlehook -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.detect\-sleep\fR -.RS 4 -Whether to enable detecting when the system wakes up from a suspended state and resetting the idle timer\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.environment\fR -.RS 4 -Extra environment variables to be exported in the script\&. These options are passed unescaped as \fR\(oqexport name=value\(cq\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqprimary\-display\(dq = \(dq$(xrandr | awk \(aq/ primary/{print $1}\(aq)\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.not\-when\-audio\fR -.RS 4 -Disable locking when audio is playing\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.not\-when\-fullscreen\fR -.RS 4 -Disable locking when a fullscreen application is in use\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.once\fR -.RS 4 -Whether to enable running the program once and exiting\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.timers\fR -.RS 4 -A set of commands to be executed after a specific idle timeout\&. The commands specified in \fR\(oqcommand\(cq\fP and \fR\(oqcanceller\(cq\fP are passed escaped to the script\&. To use or re\-use environment variables that are script\-dependent, specify them in the \fR\(oqenvironment\(cq\fP section\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - delay = 60; - command = \(dqxrandr \-\-output \e\(dq$PRIMARY_DISPLAY\e\(dq \-\-brightness \&.1\(dq; - canceller = \(dqxrandr \-\-output \e\(dq$PRIMARY_DISPLAY\e\(dq \-\-brightness 1\(dq; - } - { - delay = 120; - command = \(dq${pkgs\&.writeShellScript \(dqmy\-script\(dq \(aq\(aq - # A complex script to run - \(aq\(aq}\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.timers\&.*\&.canceller\fR -.RS 4 -Command executed when the user becomes active again\&. This is only executed if the next timer has not been reached\&. Path to executables are accepted\&. The command is automatically escaped\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -${pkgs\&.libnotify}/bin/notify\-send \(dqIdle\(dq \(dqResuming activity\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.timers\&.*\&.command\fR -.RS 4 -Command executed after the idle timeout is reached\&. Path to executables are accepted\&. The command is automatically escaped\&. -.sp -\fIType:\fR null or string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -${pkgs\&.libnotify}/bin/notify\-send \(dqIdle\(dq \(dqSleeping in 1 minute\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xidlehook\&.timers\&.*\&.delay\fR -.RS 4 -Time before executing the command\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIExample:\fR 60 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xidlehook\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xscreensaver\&.enable\fR -.RS 4 -Whether to enable XScreenSaver\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xscreensaver\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xscreensaver\&.package\fR -.RS 4 -The xscreensaver package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.xscreensaver -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xscreensaver\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xscreensaver\&.settings\fR -.RS 4 -The settings to use for XScreenSaver\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - fadeTicks = 20; - lock = false; - mode = \(dqblank\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xscreensaver\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsettingsd\&.enable\fR -.RS 4 -Whether to enable xsettingsd\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsettingsd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsettingsd\&.package\fR -.RS 4 -The xsettingsd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.xsettingsd -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsettingsd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsettingsd\&.settings\fR -.RS 4 -Xsettingsd options for configuration file\&. See \fBhttps://github\&.com/derat/xsettingsd/wiki/Settings\fR[1]\fR for documentation on these values\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqNet/ThemeName\(dq = \(dqNumix\(dq; - \(dqXft/Antialias\(dq = true; - \(dqXft/Hinting\(dq = true; - \(dqXft/RGBA\(dq = \(dqrgb\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsettingsd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/derat/xsettingsd/wiki/Settings -.RE -.RE -.PP -\fBservices\&.xsuspender\&.enable\fR -.RS 4 -Whether to enable XSuspender\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.debug\fR -.RS 4 -Whether to enable debug output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\fR -.RS 4 -XSuspender defaults\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.autoSuspendOnBattery\fR -.RS 4 -Whether to auto\-apply rules when switching to battery power even if the window(s) didn\[u2019]t just lose focus\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.downclockOnBattery\fR -.RS 4 -Limit CPU consumption for this factor when on battery power\&. Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.execResume\fR -.RS 4 -Before resuming, execute this shell script\&. Resume the process regardless script failure\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqecho resuming \&.\&.\&.\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.execSuspend\fR -.RS 4 -Before suspending, execute this shell script\&. If it fails, abort suspension\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqecho \e\(dqsuspending window $XID of process $PID\e\(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.matchWmClassContains\fR -.RS 4 -Match windows that wm class contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.matchWmClassGroupContains\fR -.RS 4 -Match windows where wm class group contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.matchWmNameContains\fR -.RS 4 -Match windows where wm name contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.onlyOnBattery\fR -.RS 4 -Whether to enable process suspend only on battery\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.resumeEvery\fR -.RS 4 -Resume interval in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 50 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.resumeFor\fR -.RS 4 -Resume duration in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.sendSignals\fR -.RS 4 -Whether to send SIGSTOP / SIGCONT signals or not\&. If false just the exec scripts are run\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.suspendDelay\fR -.RS 4 -Initial suspend delay in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.defaults\&.suspendSubtreePattern\fR -.RS 4 -Also suspend descendant processes that match this regex\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\fR -.RS 4 -Attribute set of XSuspender rules\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Chromium = { - matchWmClassContains = \(dqchromium\-browser\(dq; - suspendDelay = 10; - suspendSubtreePattern = \(dqchromium\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.autoSuspendOnBattery\fR -.RS 4 -Whether to auto\-apply rules when switching to battery power even if the window(s) didn\[u2019]t just lose focus\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.downclockOnBattery\fR -.RS 4 -Limit CPU consumption for this factor when on battery power\&. Value 1 means 50% decrease, 2 means 66%, 3 means 75% etc\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.execResume\fR -.RS 4 -Before resuming, execute this shell script\&. Resume the process regardless script failure\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqecho resuming \&.\&.\&.\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.execSuspend\fR -.RS 4 -Before suspending, execute this shell script\&. If it fails, abort suspension\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqecho \e\(dqsuspending window $XID of process $PID\e\(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.matchWmClassContains\fR -.RS 4 -Match windows that wm class contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.matchWmClassGroupContains\fR -.RS 4 -Match windows where wm class group contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.matchWmNameContains\fR -.RS 4 -Match windows where wm name contains string\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.onlyOnBattery\fR -.RS 4 -Whether to enable process suspend only on battery\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.resumeEvery\fR -.RS 4 -Resume interval in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 50 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.resumeFor\fR -.RS 4 -Resume duration in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.sendSignals\fR -.RS 4 -Whether to send SIGSTOP / SIGCONT signals or not\&. If false just the exec scripts are run\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.suspendDelay\fR -.RS 4 -Initial suspend delay in seconds\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.xsuspender\&.rules\&.<name>\&.suspendSubtreePattern\fR -.RS 4 -Also suspend descendant processes that match this regex\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/xsuspender\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.yubikey\-agent\&.enable\fR -.RS 4 -Whether to enable Seamless ssh\-agent for YubiKeys\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/yubikey\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.yubikey\-agent\&.package\fR -.RS 4 -The yubikey\-agent package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.yubikey\-agent -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/yubikey\-agent\&.nix>\fP -.RE -.RE -.PP -\fBspecialisation\fR -.RS 4 -A set of named specialized configurations\&. These can be used to extend your base configuration with additional settings\&. For example, you can have specialisations named \[u201C]light\[u201D] and \[u201C]dark\[u201D] that apply light and dark color theme configurations\&. -.sp -.RS 4 -\fBNote\fP -.br -This is an experimental option for now and you therefore have to activate the specialisation by looking up and running the activation script yourself\&. Running the activation script will create a new Home Manager generation\&. -.RE -.sp -For example, to activate the \[u201C]dark\[u201D] specialisation, you can first look up your current Home Manager generation by running -.sp -.RS 4 -.nf -$ home\-manager generations | head \-1 -2022\-05\-02 22:49 : id 1758 \-> /nix/store/jy\[u2026]ac\-home\-manager\-generation -.fi -.RE -.sp -then run -.sp -.RS 4 -.nf -$ /nix/store/jy\[u2026]ac\-home\-manager\-generation/specialisation/dark/activate -Starting Home Manager activation -\[u2026] -.fi -.RE -.sp -.RS 4 -\fBWarning\fP -.br -Since this option is experimental, the activation process may change in backwards incompatible ways\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/specialisation\&.nix>\fP -.RE -.RE -.PP -\fBspecialisation\&.<name>\&.configuration\fR -.RS 4 -Arbitrary Home Manager configuration settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/specialisation\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.enable\fR -.RS 4 -Whether to enable the user systemd service manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR pkgs\&.stdenv\&.isLinux -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.automounts\fR -.RS 4 -Definition of systemd per\-user automount units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.automount\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd automount unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - automount\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Automount = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.mounts\fR -.RS 4 -Definition of systemd per\-user mount units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.mount\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd mount unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - mount\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Mount = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.paths\fR -.RS 4 -Definition of systemd per\-user path units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.path\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd path unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - path\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Path = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.services\fR -.RS 4 -Definition of systemd per\-user service units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.service\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd service unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - service\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Service = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.servicesStartTimeoutMs\fR -.RS 4 -How long to wait for started services to fail until their start is considered successful\&. The value 0 indicates no timeout\&. -.sp -\fIType:\fR unsigned integer, meaning >=0 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.sessionVariables\fR -.RS 4 -Environment variables that will be set for the user session\&. The variable values must be as described in \fBenvironment\&.d\fP\fR(5)\fP\&. -.sp -\fIType:\fR attribute set of (signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - EDITOR = \(dqvim\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.settings\fR -.RS 4 -Extra config options for user session service manager\&. See \fBsystemd\-user\&.conf\fP\fR(5)\fP for available options\&. -.sp -\fIType:\fR attribute set of section of an INI file (attrs of INI atom (null, bool, int, float or string) or a list of them for duplicate keys) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Manager\&.DefaultCPUAccounting = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.settings\&.Manager\&.DefaultEnvironment\fR -.RS 4 -Configures environment variables passed to all executed processes\&. -.sp -\fIType:\fR attribute set of (null or string or absolute path or package) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - PATH = \(dq%u/bin:%u/\&.cargo/bin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.settings\&.Manager\&.ManagerEnvironment\fR -.RS 4 -Sets environment variables just for the manager process itself\&. -.sp -\fIType:\fR attribute set of (null or string or absolute path or package) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - PATH = \(dq%u/bin:%u/\&.cargo/bin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.slices\fR -.RS 4 -Definition of systemd per\-user slice units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.slice\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd slice unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - slice\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Slice = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.sockets\fR -.RS 4 -Definition of systemd per\-user socket units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.socket\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd socket unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - socket\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Socket = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.startServices\fR -.RS 4 -Whether new or changed services that are wanted by active targets should be started\&. Additionally, stop obsolete services from the previous generation\&. -.sp -The alternatives are -.RS 4 -.PP -\fR\(oqsuggest\(cq\fP (or \fR\(oqfalse\(cq\fP) -.RS 4 -Use a very simple shell script to print suggested \fBsystemctl\fP commands to run\&. You will have to manually run those commands after the switch\&. -.RE -.PP -\fR\(oqsd\-switch\(cq\fP (or \fR\(oqtrue\(cq\fP) -.RS 4 -Use sd\-switch, a tool that determines the necessary changes and automatically apply them\&. -.RE -.RE -.sp -\fIType:\fR boolean or one of \[u201C]suggest\[u201D], \[u201C]sd\-switch\[u201D] -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.systemctlPath\fR -.RS 4 -Absolute path to the \fBsystemctl\fP tool\&. This option may need to be set if running Home Manager on a non\-NixOS distribution\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq${pkgs\&.systemd}/bin/systemctl\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.targets\fR -.RS 4 -Definition of systemd per\-user target units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.target\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd target unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - target\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Target = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.timers\fR -.RS 4 -Definition of systemd per\-user timer units\&. Attributes are merged recursively\&. -.sp -Note that the attributes follow the capitalization and naming used by systemd\&. More details can be found in \fBsystemd\&.timer\fP\fR(5)\fP\&. -.sp -\fIType:\fR systemd timer unit configuration -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - timer\-name = { - Unit = { - Description = \(dqExample description\(dq; - Documentation = [ \(dqman:example(1)\(dq \(dqman:example(5)\(dq ]; - }; - - Timer = { - \[u2026] - }; - }; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/systemd\&.nix>\fP -.RE -.RE -.PP -\fBsystemd\&.user\&.tmpfiles\&.rules\fR -.RS 4 -Rules for creating and cleaning up temporary files automatically\&. See \fBtmpfiles\&.d\fP\fR(5)\fP for the exact format\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqL /home/user/Documents \- \- \- \- /mnt/data/Documents\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/tmpfiles\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.currentHostDefaults\fR -.RS 4 -Set macOS user defaults\&. Unlike \fBtargets\&.darwin\&.defaults\fP, the preferences will only be applied to the currently logged\-in host\&. This distinction is important for networked accounts\&. -.sp -Values set to \fR\(oqnull\(cq\fP are ignored\&. -.sp -.RS 4 -\fBWarning\fP -.br -Some settings might require a re\-login to take effect\&. -.RE -.sp -\fIType:\fR attribute set of attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.controlcenter\(dq = { - BatteryShowPercentage = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.currentHostDefaults\&.\(dqcom\&.apple\&.controlcenter\(dq\&.BatteryShowPercentage\fR -.RS 4 -Whether to show battery percentage in the menu bar\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-currenthost\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\fR -.RS 4 -Set macOS user defaults\&. Values set to \fR\(oqnull\(cq\fP are ignored\&. -.sp -.RS 4 -\fBWarning\fP -.br -Some settings might require a re\-login to take effect\&. -.RE -.sp -.RS 4 -\fBWarning\fP -.br -Some settings are only read from \fBtargets\&.darwin\&.currentHostDefaults\fP\&. -.RE -.sp -\fIType:\fR attribute set of attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.desktopservices\(dq = { - DSDontWriteNetworkStores = true; - DSDontWriteUSBStores = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleLanguages\fR -.RS 4 -Sets the language to use in the preferred order\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqen\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleLocale\fR -.RS 4 -Configures the user locale\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqen_US\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleMeasurementUnits\fR -.RS 4 -Sets the measurement unit\&. -.sp -\fIType:\fR null or one of \[u201C]Centimeters\[u201D], \[u201C]Inches\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqCentimeters\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleMetricUnits\fR -.RS 4 -Whether to enable the metric system\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.ApplePressAndHoldEnabled\fR -.RS 4 -Repeat a key when it is held down (false) or display the accented character selector (true) -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleShowAllExtensions\fR -.RS 4 -Always show file extensions in Finder -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.AppleTemperatureUnit\fR -.RS 4 -Sets the temperature unit\&. -.sp -\fIType:\fR null or one of \[u201C]Celsius\[u201D], \[u201C]Fahrenheit\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqCelsius\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.KeyRepeat\fR -.RS 4 -Interval between key repetitions when holding down a key\&. Lower is faster\&. When setting through the control panel, 2 is the lowest value, and 120 the highest\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.NSAutomaticCapitalizationEnabled\fR -.RS 4 -Whether to enable automatic capitalization\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.NSAutomaticDashSubstitutionEnabled\fR -.RS 4 -Whether to enable smart dashes\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.NSAutomaticPeriodSubstitutionEnabled\fR -.RS 4 -Whether to enable period with double space\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.NSAutomaticQuoteSubstitutionEnabled\fR -.RS 4 -Whether to enable smart quotes\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.NSGlobalDomain\&.NSAutomaticSpellingCorrectionEnabled\fR -.RS 4 -Whether to enable spelling correction\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.AutoFillCreditCardData\fR -.RS 4 -Whether to enable autofill of credit card numbers\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.AutoFillPasswords\fR -.RS 4 -Whether to enable autofill of usernames and passwords\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.AutoOpenSafeDownloads\fR -.RS 4 -Whether to enable opening of downloaded files\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.IncludeDevelopMenu\fR -.RS 4 -Whether to enable \[u201C]Develop\[u201D] menu in the menu bar\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.ShowOverlayStatusBar\fR -.RS 4 -Whether to enable status bar\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.WebKitDeveloperExtrasEnabledPreferenceKey\fR -.RS 4 -Configures the web inspector\&. -.sp -.RS 4 -\fBWarning\fP -.br -Instead of setting this option directly, set \fBIncludeDevelopMenu\fP instead\&. -.RE -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\(dq\&.\(dqWebKitPreferences\&.developerExtrasEnabled\(dq\fR -.RS 4 -Configures the web inspector\&. -.sp -.RS 4 -\fBWarning\fP -.br -Instead of setting this option directly, set \fBIncludeDevelopMenu\fP instead\&. -.RE -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.Safari\&.SandboxBroker\(dq\&.ShowDevelopMenu\fR -.RS 4 -Show the \[u201C]Develop\[u201D] menu in Safari\[u2019]s menubar\&. -.sp -.RS 4 -\fBWarning\fP -.br -Instead of setting this option directly, set \fB\(dqcom\&.apple\&.Safari\(dq\&.IncludeDevelopMenu\fP instead\&. -.RE -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.desktopservices\(dq\&.DSDontWriteNetworkStores\fR -.RS 4 -Disable use of \fI\&.DS_Store\fP files on network shares\&. See \fBthe official article\fR[1]\fR for more info\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://support\&.apple\&.com/en\-us/HT208209 -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.desktopservices\(dq\&.DSDontWriteUSBStores\fR -.RS 4 -Disable use of \fI\&.DS_Store\fP files on thumb drives\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.dock\(dq\&.autohide\fR -.RS 4 -Hide the Dock automatically -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.dock\(dq\&.expose\-group\-apps\fR -.RS 4 -Whether to enable grouping of windows by application in Mission Control\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.dock\(dq\&.orientation\fR -.RS 4 -Position of the Dock on the screen -.sp -\fIType:\fR null or one of \[u201C]left\[u201D], \[u201C]bottom\[u201D], \[u201C]right\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqleft\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.dock\(dq\&.size\-immutable\fR -.RS 4 -Whether to enable locking of the dock size\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.dock\(dq\&.tilesize\fR -.RS 4 -Sets the size of the dock\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 64 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.finder\(dq\&.AppleShowAllFiles\fR -.RS 4 -Show hidden files in Finder -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.finder\(dq\&.FXRemoveOldTrashItems\fR -.RS 4 -Automatically delete items from trash after 30 days -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.finder\(dq\&.ShowPathBar\fR -.RS 4 -Show the path bar at the bottom of a Finder window -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.finder\(dq\&.ShowStatusBar\fR -.RS 4 -Show the status bar at the bottom of a Finder window -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.battery\(dq\&.ShowPercent\fR -.RS 4 -This option no longer works on macOS 11 and later\&. Instead, use \fBtargets\&.darwin\&.currentHostDefaults\&.\e\(dqcom\&.apple\&.controlcenter\e\(dq\&.BatteryShowPercentage\fP\&. -.sp -Whether to show battery percentage in the menu bar\&. -.sp -\fIType:\fR null or one of \[u201C]YES\[u201D], \[u201C]NO\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqNO\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.IsAnalog\fR -.RS 4 -Whether to enable showing an analog clock instead of a digital one\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.Show24Hour\fR -.RS 4 -Whether to enable showing a 24\-hour clock, instead of a 12\-hour clock\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.ShowAMPM\fR -.RS 4 -Show the AM/PM label\&. Useful if Show24Hour is false\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.ShowDate\fR -.RS 4 -Show the full date\&. Default is null\&. -.sp -0 = When Space Allows 1 = Always 2 = Never -.sp -\fIType:\fR null or one of 0, 1, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.ShowDayOfMonth\fR -.RS 4 -Whether to enable showing the day of the month\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.ShowDayOfWeek\fR -.RS 4 -Whether to enable showing the day of the week\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.apple\&.menuextra\&.clock\(dq\&.ShowSeconds\fR -.RS 4 -Whether to enable showing the clock with second precision, instead of minutes\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.googlecode\&.iterm2\(dq\&.AddNewTabAtEndOfTabs\fR -.RS 4 -Whether to enable placement of new tabs at the end of the tab bar\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.googlecode\&.iterm2\(dq\&.AlternateMouseScroll\fR -.RS 4 -Whether to enable arrow keys when scrolling in alternate screen mode\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.googlecode\&.iterm2\(dq\&.CopySelection\fR -.RS 4 -Whether to enable copy to clipboard upon selecting text\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.googlecode\&.iterm2\(dq\&.ExperimentalKeyHandling\fR -.RS 4 -Whether to enable experimental key handling for AquaSKK compatibility\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.defaults\&.\(dqcom\&.googlecode\&.iterm2\(dq\&.OpenTmuxWindowsIn\fR -.RS 4 -Configures how to restore tmux windows when attaching to a session\&. -.sp -\fBPossible Values\fR -.RS 4 -.PP -\fR\(oq0\(cq\fP -.RS 4 -Native windows -.RE -.PP -\fR\(oq1\(cq\fP -.RS 4 -Native tabs in a new window -.RE -.PP -\fR\(oq2\(cq\fP -.RS 4 -Tabs in the attaching window -.RE -.RE -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/user\-defaults/opts\-allhosts\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.keybindings\fR -.RS 4 -This will configure the default keybindings for text fields in macOS applications\&. See \fBApple\[u2019]s documentation\fR[1]\fR for more details\&. -.sp -.RS 4 -\fBWarning\fP -.br -Existing keybinding configuration will be wiped when using this option\&. -.RE -.sp -\fIType:\fR attribute set of anything -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq\(hau\(dq = \(dqdeleteToBeginningOfLine:\(dq; - \(dq\(haw\(dq = \(dqdeleteWordBackward:\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/keybindings\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developer\&.apple\&.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings\&.html -.RE -.RE -.PP -\fBtargets\&.darwin\&.linkApps\&.enable\fR -.RS 4 -Whether to enable linking macOS applications to the user environment\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/linkapps\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.linkApps\&.directory\fR -.RS 4 -Path to link apps relative to the home directory\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqApplications/Home Manager Apps\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/linkapps\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.darwin\&.search\fR -.RS 4 -Default search engine\&. -.sp -\fIType:\fR null or one of \[u201C]Bing\[u201D], \[u201C]DuckDuckGo\[u201D], \[u201C]Ecosia\[u201D], \[u201C]Google\[u201D], \[u201C]Yahoo\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/darwin/search\&.nix>\fP -.RE -.RE -.PP -\fBtargets\&.genericLinux\&.enable\fR -.RS 4 -Whether to enable settings that make Home Manager work better on GNU/Linux distributions other than NixOS\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/targets/generic\-linux\&.nix>\fP -.RE -.RE -.PP -\fBuninstall\fR -.RS 4 -Whether to set up a minimal configuration that will remove all managed files and packages\&. -.sp -Use this with extreme care since running the generated activation script will remove all Home Manager state from your user environment\&. This includes removing all your historic Home Manager generations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/uninstall\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.systemd\&.target\fR -.RS 4 -The systemd target that will automatically start the graphical Wayland services\&. This option is a generalization of individual \fR\(oqsystemd\&.target\(cq\fP or \fR\(oqsystemdTarget\(cq\fP, and affect all Wayland services by default\&. -.sp -When setting this value to \fR\(oq\(dqsway\-session\&.target\(dq\(cq\fP, make sure to also enable \fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fP, otherwise the service may never be started\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqgraphical\-session\&.target\(dq -.sp -\fIExample:\fR \(dqsway\-session\&.target\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/wayland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.enable\fR -.RS 4 -Whether to enable configuration for Hyprland, a tiling Wayland compositor that doesn\[u2019]t sacrifice on its looks\&. -.sp -.RS 4 -\fBNote\fP -.br -This module configures Hyprland and adds it to your user\[u2019]s \fBPATH\fP, but does not make certain system\-level changes\&. NixOS users should enable the NixOS module with \fBprograms\&.hyprland\&.enable\fP, which makes system\-level changes such as adding a desktop session entry\&. -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.package\fR -.RS 4 -The hyprland package to use\&. Set this to null if you use the NixOS module to install Hyprland\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.hyprland -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \fR\(oq\(ti/\&.config/hypr/hyprland\&.conf\(cq\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - # window resize - bind = $mod, S, submap, resize - - submap = resize - binde = , right, resizeactive, 10 0 - binde = , left, resizeactive, \-10 0 - binde = , up, resizeactive, 0 \-10 - binde = , down, resizeactive, 0 10 - bind = , escape, submap, reset - submap = reset -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.finalPackage\fR -.RS 4 -The Hyprland package after applying configuration\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDefault:\fR wayland\&.windowManager\&.hyprland\&.package with applied configuration -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.finalPortalPackage\fR -.RS 4 -The xdg\-desktop\-portal\-hyprland package after overriding its hyprland input\&. -.sp -\fIType:\fR null or package \fI(read only)\fR -.sp -\fIDefault:\fR wayland\&.windowManager\&.hyprland\&.portalPackage with wayland\&.windowManager\&.hyprland\&.finalPackage override -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.importantPrefixes\fR -.RS 4 -List of prefix of attributes to source at the top of the config\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq - \(dqbezier\(dq - \(dqname\(dq - \(dqsource\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq$\(dq - \(dqbezier\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.plugins\fR -.RS 4 -List of Hyprland plugins to use\&. Can either be packages or absolute plugin paths\&. -.sp -\fIType:\fR list of (package or absolute path) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.portalPackage\fR -.RS 4 -The xdg\-desktop\-portal\-hyprland package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.xdg\-desktop\-portal\-hyprland -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.settings\fR -.RS 4 -Hyprland configuration written in Nix\&. Entries with the same key should be written as lists\&. Variables\[u2019] and colors\[u2019] names should be quoted\&. See \fBhttps://wiki\&.hypr\&.land\fR[1]\fR for more examples\&. -.sp -.RS 4 -\fBNote\fP -.br -Use the \fBwayland.windowManager.hyprland.plugins\fR[2]\fR option to declare plugins\&. -.RE -.sp -\fIType:\fR Hyprland configuration value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - decoration = { - shadow_offset = \(dq0 5\(dq; - \(dqcol\&.shadow\(dq = \(dqrgba(00000099)\(dq; - }; - - \(dq$mod\(dq = \(dqSUPER\(dq; - - bindm = [ - # mouse movements - \(dq$mod, mouse:272, movewindow\(dq - \(dq$mod, mouse:273, resizewindow\(dq - \(dq$mod ALT, mouse:272, resizewindow\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://wiki\&.hypr\&.land -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBwayland\&.windowManager\&.hyprland\&.plugins\fP option -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.sourceFirst\fR -.RS 4 -Whether to enable putting source entries at the top of the configuration \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.systemd\&.enable\fR -.RS 4 -Whether to enable \fIhyprland\-session\&.target\fP on hyprland startup\&. This links to \fR\(oqgraphical\-session\&.target\(cq\fP\&. Some important environment variables will be imported to systemd and D\-Bus user environment before reaching the target, including -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqDISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqHYPRLAND_INSTANCE_SIGNATURE\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqWAYLAND_DISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXDG_CURRENT_DESKTOP\(cq\fP -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.systemd\&.enableXdgAutostart\fR -.RS 4 -Whether to enable autostart of applications using \fBsystemd\-xdg\-autostart\-generator\fP\fR(8)\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.systemd\&.extraCommands\fR -.RS 4 -Extra commands to be run after D\-Bus activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqsystemctl \-\-user stop hyprland\-session\&.target\(dq - \(dqsystemctl \-\-user start hyprland\-session\&.target\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.systemd\&.variables\fR -.RS 4 -Environment variables to be imported in the systemd & D\-Bus user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqDISPLAY\(dq - \(dqHYPRLAND_INSTANCE_SIGNATURE\(dq - \(dqWAYLAND_DISPLAY\(dq - \(dqXDG_CURRENT_DESKTOP\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-all\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.hyprland\&.xwayland\&.enable\fR -.RS 4 -Whether to enable XWayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/hyprland\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.enable\fR -.RS 4 -Whether to enable Labwc, a wayland window\-stacking compositor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.package\fR -.RS 4 -The labwc package to use\&. Set to \fR\(oqnull\(cq\fP to use Nixos labwc package\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.labwc -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.autostart\fR -.RS 4 -Command to autostart when labwc start\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwayvnc &\(dq - \(dqwaybar &\(dq - \(dqswaybg \-c \(aq#113344\(aq >/dev/null 2>&1 &\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.environment\fR -.RS 4 -Environment variable to add when labwc start\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqXDG_CURRENT_DESKTOP=labwc:wlroots\(dq - \(dqXKB_DEFAULT_LAYOUT=us\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.extraConfig\fR -.RS 4 -Extra lines appended to \fI$XDG_CONFIG_HOME/labwc/rc\&.xml\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - <tablet mapToOutput=\(dq\(dq rotate=\(dq0\(dq mouseEmulation=\(dqno\(dq> - <!\-\- Active area dimensions are in mm \-\-> - <area top=\(dq0\&.0\(dq left=\(dq0\&.0\(dq width=\(dq0\&.0\(dq height=\(dq0\&.0\(dq /> - <map button=\(dqTip\(dq to=\(dqLeft\(dq /> - <map button=\(dqStylus\(dq to=\(dqRight\(dq /> - <map button=\(dqStylus2\(dq to=\(dqMiddle\(dq /> - </tablet> -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.menu\fR -.RS 4 -Config to configure labwc menu -.sp -\fIType:\fR list of (XML value) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - menuId = \(dqclient\-menu\(dq; - label = \(dqClient Menu\(dq; - icon = \(dq\(dq; - items = [ - { - label = \(dqMaximize\(dq; - icon = \(dq\(dq; - action = { - name = \(dqToggleMaximize\(dq; - }; - } - { - label = \(dqFullscreen\(dq; - action = { - name = \(dqToggleFullscreen\(dq; - }; - } - { - label = \(dqAlways on Top\(dq; - action = { - name = \(dqToggleAlwaysOnTop\(dq; - }; - } - { - label = \(dqAlacritty\(dq; - action = { - name = \(dqExecute\(dq; - command = \(dqalacritty\(dq; - }; - } - { - label = \(dqMove Left\(dq; - action = { - name = \(dqSendToDesktop\(dq; - to = \(dqleft\(dq; - }; - } - { - separator = { }; - } - { - label = \(dqWorkspace\(dq; - menuId = \(dqworkspace\(dq; - icon = \(dq\(dq; - items = [ - { - label = \(dqMove Left\(dq; - action = { - name = \(dqSendToDesktop\(dq; - to = \(dqleft\(dq; - }; - } - ]; - } - { - separator = true; - } - ]; - } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.rc\fR -.RS 4 -Config to configure labwc options\&. Use \[u201C]@attributes\[u201D] for attributes\&. See \fBhttps://labwc\&.github\&.io/labwc\-config\&.5\&.html\fR[1]\fR for configuration\&. -.sp -\fIType:\fR XML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - theme = { - name = \(dqnord\(dq; - cornerRadius = 8; - font = { - \(dq@name\(dq = \(dqFiraCode\(dq; - \(dq@size\(dq = \(dq11\(dq; - }; - }; - keyboard = { - default = true; - keybind = [ - # <keybind key=\(dqW\-Return\(dq><action name=\(dqExecute\(dq command=\(dqfoot\(dq/></keybind> - { - \(dq@key\(dq = \(dqW\-Return\(dq; - action = { - \(dq@name\(dq = \(dqExecute\(dq; - \(dq@command\(dq = \(dqfoot\(dq; - }; - } - # <keybind key=\(dqW\-Esc\(dq><action name=\(dqExecute\(dq command=\(dqloot\(dq/></keybind> - { - \(dq@key\(dq = \(dqW\-Esc\(dq; - action = { - \(dq@name\(dq = \(dqExecute\(dq; - \(dq@command\(dq = \(dqloot\(dq; - }; - } - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://labwc\&.github\&.io/labwc\-config\&.5\&.html -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.systemd\&.enable\fR -.RS 4 -Whether to enable \fIlabwc\-session\&.target\fP on labwc startup\&. This links to \fIgraphical\-session\&.target\fP\&. Some important environment variables will be imported to systemd and D\-Bus user environment before reaching the target, including -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqDISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqWAYLAND_DISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXDG_CURRENT_DESKTOP\(cq\fP -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.systemd\&.extraCommands\fR -.RS 4 -Extra commands to be run after D\-Bus activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqsystemctl \-\-user stop labwc\-session\&.target\(dq - \(dqsystemctl \-\-user start labwc\-session\&.target\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.systemd\&.variables\fR -.RS 4 -Environment variables to be imported in the systemd & D\-Bus user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqDISPLAY\(dq - \(dqWAYLAND_DISPLAY\(dq - \(dqXDG_CURRENT_DESKTOP\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-all\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.labwc\&.xwayland\&.enable\fR -.RS 4 -Whether to enable XWayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/labwc/labwc\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.enable\fR -.RS 4 -Whether to enable the river window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.package\fR -.RS 4 -The river package to use\&. Set to \fR\(oqnull\(cq\fP to not add any river package to your path\&. This should be done if you want to use the NixOS river module to install river\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.river -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.extraConfig\fR -.RS 4 -Extra lines appended to \fI$XDG_CONFIG_HOME/river/init\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - rivertile \-view\-padding 6 \-outer\-padding 6 & -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.extraSessionVariables\fR -.RS 4 -Extra session variables set when running the compositor\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - MOZ_ENABLE_WAYLAND = \(dq1\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.settings\fR -.RS 4 -General settings given to \fR\(oqriverctl\(cq\fP\&. -.sp -\fIType:\fR River configuration value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - border\-width = 2; - declare\-mode = [ - \(dqlocked\(dq - \(dqnormal\(dq - \(dqpassthrough\(dq - ]; - input = { - pointer\-foo\-bar = { - accel\-profile = \(dqflat\(dq; - events = true; - pointer\-accel = \-0\&.3; - tap = false; - }; - }; - map = { - normal = { - \(dqAlt Q\(dq = \(dqclose\(dq; - }; - }; - rule\-add = { - \(dq\-app\-id\(dq = { - \(dq\(aqbar\(aq\(dq = \(dqcsd\(dq; - \(dq\(aqfloat*\(aq\(dq = { - \(dq\-title\(dq = { - \(dq\(aqfoo\(aq\(dq = \(dqfloat\(dq; - }; - }; - }; - }; - set\-cursor\-warp = \(dqon\-output\-change\(dq; - set\-repeat = \(dq50 300\(dq; - spawn = [ - \(dqfirefox\(dq - \(dq\(aqfoot \-a terminal\(aq\(dq - ]; - xcursor\-theme = \(dqsomeGreatTheme 12\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.systemd\&.enable\fR -.RS 4 -Whether to enable \fIriver\-session\&.target\fP on river startup\&. This links to \fIgraphical\-session\&.target\fP}\&. Some important environment variables will be imported to systemd and D\-Bus user environment before reaching the target, including -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqDISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqWAYLAND_DISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXDG_CURRENT_DESKTOP\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqNIXOS_OZONE_WL\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXCURSOR_THEME\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXCURSOR_SIZE\(cq\fP -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.systemd\&.extraCommands\fR -.RS 4 -Extra commands to be run after D\-Bus activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqsystemctl \-\-user stop river\-session\&.target\(dq - \(dqsystemctl \-\-user start river\-session\&.target\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.systemd\&.variables\fR -.RS 4 -Environment variables to be imported in the systemd & D\-Bus user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqDISPLAY\(dq - \(dqWAYLAND_DISPLAY\(dq - \(dqXDG_CURRENT_DESKTOP\(dq - \(dqNIXOS_OZONE_WL\(dq - \(dqXCURSOR_THEME\(dq - \(dqXCURSOR_SIZE\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-all\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.river\&.xwayland\&.enable\fR -.RS 4 -Whether to enable XWayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/river\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.enable\fR -.RS 4 -Whether to enable sway wayland compositor\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.package\fR -.RS 4 -Sway package to use\&. Will override the options \[u2018]wrapperFeatures\[u2019], \[u2018]extraSessionCommands\[u2019], and \[u2018]extraOptions\[u2019]\&. Set to \fR\(oqnull\(cq\fP to not add any Sway package to your path\&. This should be done if you want to use the NixOS Sway module to install Sway\&. Beware setting to \fR\(oqnull\(cq\fP will also disable reloading Sway when new config is activated\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR ${pkgs\&.sway} -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.checkConfig\fR -.RS 4 -If enabled, validates the generated config file\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR wayland\&.windowManager\&.sway\&.package != null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\fR -.RS 4 -Sway configuration options\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.assigns\fR -.RS 4 -An attribute set that assigns applications to workspaces based on criteria\&. -.sp -\fIType:\fR attribute set of list of attribute set of (string or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ -\(dq1: web\(dq = [{ class = \(dq\(haFirefox$\(dq; }]; -\(dq0: extra\(dq = [{ class = \(dq\(haFirefox$\(dq; window_role = \(dqAbout\(dq; }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\fR -.RS 4 -Sway bars settings blocks\&. Set to empty list to remove bars completely\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR see code -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\fR -.RS 4 -Bar color settings\&. All color classes can be specified using submodules with \[u2018]border\[u2019], \[u2018]background\[u2019], \[u2018]text\[u2019], fields and RGB color hex\-codes as values\&. See default values for the reference\&. Note that \[u2018]background\[u2019], \[u2018]status\[u2019], and \[u2018]separator\[u2019] parameters take a single RGB value\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_colors\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_colors -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.activeWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace is active\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#5f676a\(dq; - border = \(dq#333333\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.background\fR -.RS 4 -Background color of the bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#000000\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.bindingMode\fR -.RS 4 -Border, background and text color for the binding mode indicator -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.focusedBackground\fR -.RS 4 -Background color of the bar on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#000000\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.focusedSeparator\fR -.RS 4 -Text color to be used for the separator on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#666666\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.focusedStatusline\fR -.RS 4 -Text color to be used for the statusline on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.focusedWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace has focus\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#285577\(dq; - border = \(dq#4c7899\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.inactiveWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace does not have focus and is not active\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#222222\(dq; - border = \(dq#333333\(dq; - text = \(dq#888888\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.separator\fR -.RS 4 -Text color to be used for the separator\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#666666\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.statusline\fR -.RS 4 -Text color to be used for the statusline\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.colors\&.urgentWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace contains a window with the urgency hint set\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.command\fR -.RS 4 -Command that will be used to start a bar\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqi3bar\(dq -.sp -\fIExample:\fR \(dq\e${pkgs\&.waybar}/bin/waybar\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.extraConfig\fR -.RS 4 -Extra configuration lines for this bar\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.fonts\fR -.RS 4 -Font configuration for this bar\&. -.sp -\fIType:\fR (list of string) or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - names = [ \(dqDejaVu Sans Mono\(dq \(dqFontAwesome5Free\(dq ]; - style = \(dqBold Semi\-Condensed\(dq; - size = 11\&.0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.hiddenState\fR -.RS 4 -The default bar mode when \[u2018]bar\&.mode\[u2019] == \[u2018]hide\[u2019]\&. -.sp -\fIType:\fR null or one of \[u201C]hide\[u201D], \[u201C]show\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqhide\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.id\fR -.RS 4 -Specifies the bar ID for the configured bar instance\&. If this option is missing, the ID is set to bar\-x, where x corresponds to the position of the embedding bar block in the config file\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.mode\fR -.RS 4 -Bar visibility mode\&. -.sp -\fIType:\fR null or one of \[u201C]dock\[u201D], \[u201C]hide\[u201D], \[u201C]invisible\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqdock\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.position\fR -.RS 4 -The edge of the screen swaybar should show up\&. -.sp -\fIType:\fR null or one of \[u201C]top\[u201D], \[u201C]bottom\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqbottom\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.statusCommand\fR -.RS 4 -Command that will be used to get status lines\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq\e${pkgs\&.i3status}/bin/i3status\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.trayOutput\fR -.RS 4 -Where to output tray\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq*\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.trayPadding\fR -.RS 4 -Sets the pixel padding of the system tray\&. This padding will surround the tray on all sides and between each item\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.workspaceButtons\fR -.RS 4 -Whether workspace buttons should be shown or not\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bars\&.*\&.workspaceNumbers\fR -.RS 4 -Whether workspace numbers should be displayed within the workspace buttons\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bindkeysToCode\fR -.RS 4 -Whether to make use of \fB\-\-to\-code\fP in keybindings\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bindswitches\fR -.RS 4 -Binds <switch> to execute the sway command command on state changes\&. Supported switches are lid (laptop lid) and tablet (tablet mode) switches\&. Valid values for state are on, off and toggle\&. These switches are on when the device lid is shut and when tablet mode is active respectively\&. toggle is also supported to run a command both when the switch is toggled on or off\&. See sway(5)\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR \(dqNo bindswitches by default\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -let - laptop = \(dqeDP\-1\(dq; -in -{ - \(dqlid:on\(dq = { - reload = true; - locked = true; - action = \(dqoutput ${laptop} disable\(dq; - }; - \(dqlid:off\(dq = { - reload = true; - locked = true; - action = \(dqoutput ${laptop} enable\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bindswitches\&.<name>\&.action\fR -.RS 4 -The sway command to execute on state changes -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bindswitches\&.<name>\&.locked\fR -.RS 4 -Unless the flag \-\-locked is set, the command will not be run when a screen locking program is active\&. If there is a matching binding with and without \-\-locked, the one with will be preferred when locked and the one without will be preferred when unlocked\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.bindswitches\&.<name>\&.reload\fR -.RS 4 -If the \-\-reload flag is given, the binding will also be executed when the config is reloaded\&. toggle bindings will not be executed on reload\&. The \-\-locked flag will operate as normal so if the config is reloaded while locked and \[u2013]locked is not given, the binding will not be executed\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\fR -.RS 4 -Color settings\&. All color classes can be specified using submodules with \[u2018]border\[u2019], \[u2018]background\[u2019], \[u2018]text\[u2019], \[u2018]indicator\[u2019] and \[u2018]childBorder\[u2019] fields and RGB color hex\-codes as values\&. See default values for the reference\&. Note that \[u2018]sway\&.config\&.colors\&.background\[u2019] parameter takes a single RGB value\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_changing_colors\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_changing_colors -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.background\fR -.RS 4 -Background color of the window\&. Only applications which do not cover the whole area expose the color\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.focused\fR -.RS 4 -A window which currently has the focus\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#285577\(dq; - border = \(dq#4c7899\(dq; - childBorder = \(dq#285577\(dq; - indicator = \(dq#2e9ef4\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.focusedInactive\fR -.RS 4 -A window which is the focused one of its container, but it does not have the focus at the moment\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#5f676a\(dq; - border = \(dq#333333\(dq; - childBorder = \(dq#5f676a\(dq; - indicator = \(dq#484e50\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.placeholder\fR -.RS 4 -Background and text color are used to draw placeholder window contents (when restoring layouts)\&. Border and indicator are ignored\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#0c0c0c\(dq; - border = \(dq#000000\(dq; - childBorder = \(dq#0c0c0c\(dq; - indicator = \(dq#000000\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.unfocused\fR -.RS 4 -A window which is not focused\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#222222\(dq; - border = \(dq#333333\(dq; - childBorder = \(dq#222222\(dq; - indicator = \(dq#292d2e\(dq; - text = \(dq#888888\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.colors\&.urgent\fR -.RS 4 -A window which has its urgency hint activated\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - childBorder = \(dq#900000\(dq; - indicator = \(dq#900000\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.defaultWorkspace\fR -.RS 4 -The default workspace to show when sway is launched\&. This must to correspond to the value of the keybinding of the default workspace\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqworkspace number 9\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.down\fR -.RS 4 -Home row direction key for moving down\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqj\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.floating\fR -.RS 4 -Floating window settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.floating\&.border\fR -.RS 4 -Floating windows border width\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.floating\&.criteria\fR -.RS 4 -List of criteria for windows that should be opened in a floating mode\&. -.sp -\fIType:\fR list of attribute set of (string or boolean) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - title = \(dqSteam \- Update News\(dq; - } - { - class = \(dqPavucontrol\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.floating\&.modifier\fR -.RS 4 -Modifier key or keys that can be used to drag floating windows\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqsway\&.config\&.modifier\(dq -.sp -\fIExample:\fR \(dqMod4\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.floating\&.titlebar\fR -.RS 4 -Whether to show floating window titlebars\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - true for state version \[u2265] 23\&.05 - false for state version < 23\&.05 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\fR -.RS 4 -Focus related settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\&.followMouse\fR -.RS 4 -Whether focus should follow the mouse\&. -.sp -\fIType:\fR one of \[u201C]yes\[u201D], \[u201C]no\[u201D], \[u201C]always\[u201D] or boolean -.sp -\fIDefault:\fR \(dqyes\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\&.forceWrapping\fR -.RS 4 -Whether to force focus wrapping in tabbed or stacked containers\&. -.sp -This option is deprecated, use \fBfocus\&.wrapping\fP instead\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\&.mouseWarping\fR -.RS 4 -Whether mouse cursor should be warped to the center of the window when switching focus to a window on a different output\&. -.sp -\fIType:\fR boolean or one of \[u201C]container\[u201D], \[u201C]output\[u201D] -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\&.newWindow\fR -.RS 4 -This option modifies focus behavior on new window activation\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#focus_on_window_activation\fR[1]\fR -.sp -\fIType:\fR one of \[u201C]smart\[u201D], \[u201C]urgent\[u201D], \[u201C]focus\[u201D], \[u201C]none\[u201D] -.sp -\fIDefault:\fR \(dqsmart\(dq -.sp -\fIExample:\fR \(dqnone\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#focus_on_window_activation -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.focus\&.wrapping\fR -.RS 4 -Whether the window focus commands automatically wrap around the edge of containers\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_focus_wrapping\fR[1]\fR -.sp -\fIType:\fR one of \[u201C]yes\[u201D], \[u201C]no\[u201D], \[u201C]force\[u201D], \[u201C]workspace\[u201D] -.sp -\fIDefault:\fR \(dqno\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_focus_wrapping -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.fonts\fR -.RS 4 -Font configuration for window titles, nagbar\[u2026] -.sp -\fIType:\fR (list of string) or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - names = [ \(dqDejaVu Sans Mono\(dq \(dqFontAwesome5Free\(dq ]; - style = \(dqBold Semi\-Condensed\(dq; - size = 11\&.0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\fR -.RS 4 -Gaps related settings\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.bottom\fR -.RS 4 -Bottom gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.horizontal\fR -.RS 4 -Horizontal gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.inner\fR -.RS 4 -Inner gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 12 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.left\fR -.RS 4 -Left gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.outer\fR -.RS 4 -Outer gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.right\fR -.RS 4 -Right gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.smartBorders\fR -.RS 4 -This option controls whether to disable container borders on workspace with a single container\&. -.sp -\fIType:\fR one of \[u201C]on\[u201D], \[u201C]off\[u201D], \[u201C]no_gaps\[u201D] -.sp -\fIDefault:\fR \(dqoff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.smartGaps\fR -.RS 4 -This option controls whether to disable all gaps (outer and inner) on workspace with a single container\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.top\fR -.RS 4 -Top gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.gaps\&.vertical\fR -.RS 4 -Vertical gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.input\fR -.RS 4 -An attribute set that defines input modules\&. See \fBsway\-input\fP\fR(5)\fP for options\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq*\(dq = { - xkb_variant = \(dqdvorak\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.keybindings\fR -.RS 4 -An attribute set that assigns a key press to an action using a key symbol\&. See \fBhttps://i3wm\&.org/docs/userguide\&.html#keybindings\fR[1]\fR\&. -.sp -Consider to use \fR\(oqlib\&.mkOptionDefault\(cq\fP function to extend or override default keybindings instead of specifying all of them from scratch\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR \(dqDefault sway keybindings\&.\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -let - modifier = config\&.wayland\&.windowManager\&.sway\&.config\&.modifier; -in lib\&.mkOptionDefault { - \(dq${modifier}+Return\(dq = \(dqexec ${pkgs\&.foot}/bin/foot\(dq; - \(dq${modifier}+Shift+q\(dq = \(dqkill\(dq; - \(dq${modifier}+d\(dq = \(dqexec ${pkgs\&.dmenu}/bin/dmenu_path | ${pkgs\&.dmenu}/bin/dmenu | ${pkgs\&.findutils}/bin/xargs swaymsg exec \-\-\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#keybindings -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.keycodebindings\fR -.RS 4 -An attribute set that assigns keypress to an action using key code\&. See \fBhttps://i3wm\&.org/docs/userguide\&.html#keybindings\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq214\(dq = \(dqexec /bin/script\&.sh\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#keybindings -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.left\fR -.RS 4 -Home row direction key for moving left\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.menu\fR -.RS 4 -Default launcher to use\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\e${pkgs\&.dmenu}/bin/dmenu_path | \e${pkgs\&.dmenu}/bin/dmenu | \e${pkgs\&.findutils}/bin/xargs swaymsg exec \-\-\(dq -.sp -\fIExample:\fR \(dqbemenu\-run\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.modes\fR -.RS 4 -An attribute set that defines binding modes and keybindings inside them -.sp -Only basic keybinding is supported (bindsym keycomb action), for more advanced setup use \[u2018]sway\&.extraConfig\[u2019]\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - resize = { - Down = \(dqresize grow height 10 px\(dq; - Escape = \(dqmode default\(dq; - Left = \(dqresize shrink width 10 px\(dq; - Return = \(dqmode default\(dq; - Right = \(dqresize grow width 10 px\(dq; - Up = \(dqresize shrink height 10 px\(dq; - h = \(dqresize shrink width 10 px\(dq; - j = \(dqresize grow height 10 px\(dq; - k = \(dqresize shrink height 10 px\(dq; - l = \(dqresize grow width 10 px\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.modifier\fR -.RS 4 -Modifier key that is used for all default keybindings\&. -.sp -\fIType:\fR one of \[u201C]Shift\[u201D], \[u201C]Control\[u201D], \[u201C]Mod1\[u201D], \[u201C]Mod2\[u201D], \[u201C]Mod3\[u201D], \[u201C]Mod4\[u201D], \[u201C]Mod5\[u201D] -.sp -\fIDefault:\fR \(dqMod1\(dq -.sp -\fIExample:\fR \(dqMod4\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.output\fR -.RS 4 -An attribute set that defines output modules\&. See \fBsway\-output\fP\fR(5)\fP for options\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - HDMI\-A\-2 = { - bg = \(dq\(ti/path/to/background\&.png fill\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.right\fR -.RS 4 -Home row direction key for moving right\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dql\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.seat\fR -.RS 4 -An attribute set that defines seat modules\&. See \fBsway\-input\fP\fR(5)\fP for options\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq*\(dq = { - hide_cursor = \(dqwhen\-typing enable\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.startup\fR -.RS 4 -Commands that should be executed at startup\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_automatically_starting_applications_on_i3_startup\fR[1]\fR\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ -{ command = \(dqsystemctl \-\-user restart waybar\(dq; always = true; } -{ command = \(dqdropbox start\(dq; } -{ command = \(dqfirefox\(dq; } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_automatically_starting_applications_on_i3_startup -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.startup\&.*\&.always\fR -.RS 4 -Whether to run command on each sway restart\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.startup\&.*\&.command\fR -.RS 4 -Command that will be executed on startup\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.terminal\fR -.RS 4 -Default terminal to run\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\e${pkgs\&.foot}/bin/foot\(dq -.sp -\fIExample:\fR \(dqalacritty\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.up\fR -.RS 4 -Home row direction key for moving up\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqk\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\fR -.RS 4 -Window titlebar and border settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.border\fR -.RS 4 -Window border width\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.commands\fR -.RS 4 -List of commands that should be executed on specific windows\&. See \fBfor_window\fP swaywm option documentation\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - command = \(dqborder pixel 1\(dq; - criteria = { - class = \(dqXTerm\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.commands\&.*\&.command\fR -.RS 4 -Swaywm command to execute\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqborder pixel 1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.commands\&.*\&.criteria\fR -.RS 4 -Criteria of the windows on which command should be executed\&. -.sp -A value of \fR\(oqtrue\(cq\fP is equivalent to using an empty criteria (which is different from an empty string criteria)\&. -.sp -\fIType:\fR attribute set of (string or boolean) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - title = \(dqx200: \(ti/work\(dq; - floating = true; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.hideEdgeBorders\fR -.RS 4 -Hide window borders adjacent to the screen edges\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]vertical\[u201D], \[u201C]horizontal\[u201D], \[u201C]both\[u201D], \[u201C]smart\[u201D], \[u201C]smart_no_gaps\[u201D], \[u201C]\[u2013]i3 none\[u201D], \[u201C]\[u2013]i3 vertical\[u201D], \[u201C]\[u2013]i3 horizontal\[u201D], \[u201C]\[u2013]i3 both\[u201D], \[u201C]\[u2013]i3 smart\[u201D], \[u201C]\[u2013]i3 smart_no_gaps\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.window\&.titlebar\fR -.RS 4 -Whether to show window titlebars\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - true for state version \[u2265] 23\&.05 - false for state version < 23\&.05 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.workspaceAutoBackAndForth\fR -.RS 4 -Assume you are on workspace \[u201C]1: www\[u201D] and switch to \[u201C]2: IM\[u201D] using mod+2 because somebody sent you a message\&. You don\[u2019]t need to remember where you came from now, you can just press $mod+2 again to switch back to \[u201C]1: www\[u201D]\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.workspaceLayout\fR -.RS 4 -The mode in which new containers on workspace level will start\&. -.sp -\fIType:\fR one of \[u201C]default\[u201D], \[u201C]stacking\[u201D], \[u201C]tabbed\[u201D] -.sp -\fIDefault:\fR \(dqdefault\(dq -.sp -\fIExample:\fR \(dqtabbed\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.workspaceOutputAssign\fR -.RS 4 -Assign workspaces to outputs\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.workspaceOutputAssign\&.*\&.output\fR -.RS 4 -Name(s) of the output(s) from \fB swaymsg \-t get_outputs \fP\&. -.sp -\fIType:\fR string or list of string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqeDP\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.config\&.workspaceOutputAssign\&.*\&.workspace\fR -.RS 4 -Name of the workspace to assign\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqWeb\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \(ti/\&.config/sway/config\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.extraConfigEarly\fR -.RS 4 -Like extraConfig, except lines are added to \(ti/\&.config/sway/config before all other configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.extraOptions\fR -.RS 4 -Command line arguments passed to launch Sway\&. Please DO NOT report issues if you use an unsupported GPU (proprietary drivers)\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-verbose\(dq - \(dq\-\-debug\(dq - \(dq\-\-unsupported\-gpu\(dq - \(dq\-\-my\-next\-gpu\-wont\-be\-nvidia\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.extraSessionCommands\fR -.RS 4 -Shell commands executed just before Sway is started\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - export SDL_VIDEODRIVER=wayland - # needs qt5\&.qtwayland in systemPackages - export QT_QPA_PLATFORM=wayland - export QT_WAYLAND_DISABLE_WINDOWDECORATION=\(dq1\(dq - # Fix for some Java AWT applications (e\&.g\&. Android Studio), - # use this if they aren\(aqt displayed properly: - export _JAVA_AWT_WM_NONREPARENTING=1 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.swaynag\&.enable\fR -.RS 4 -Whether to enable configuration of swaynag, a lightweight error bar for sway\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/swaynag\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.swaynag\&.settings\fR -.RS 4 -Configuration written to \fI$XDG_CONFIG_HOME/swaynag/config\fP\&. -.sp -See \fBswaynag\fP\fR(5)\fP for a list of available options and an example configuration\&. Note, configurations declared under \fR\(oq<config>\(cq\fP will override the default type values of swaynag\&. -.sp -\fIType:\fR attribute set of attribute set of (Swaynag config atom (null, bool, int, float, str)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq<config>\(dq = { - edge = \(dqbottom\(dq; - font = \(dqDina 12\(dq; - }; - - green = { - edge = \(dqtop\(dq; - background = \(dq00AA00\(dq; - text = \(dqFFFFFF\(dq; - button\-background = \(dq00CC00\(dq; - message\-padding = 10; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/swaynag\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.systemd\&.enable\fR -.RS 4 -Whether to enable \fIsway\-session\&.target\fP on sway startup\&. This links to \fIgraphical\-session\&.target\fP\&. Some important environment variables will be imported to systemd and dbus user environment before reaching the target, including -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBDISPLAY\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBWAYLAND_DISPLAY\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBSWAYSOCK\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBXDG_CURRENT_DESKTOP\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBXDG_SESSION_TYPE\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBNIXOS_OZONE_WL\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBXCURSOR_THEME\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fBXCURSOR_SIZE\fP You can extend this list using the \fR\(oqsystemd\&.variables\(cq\fP option\&. -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.systemd\&.extraCommands\fR -.RS 4 -Extra commands to run after D\-Bus activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqsystemctl \-\-user reset\-failed\(dq - \(dqsystemctl \-\-user start sway\-session\&.target\(dq - \(dqswaymsg \-mt subscribe \(aq[]\(aq || true\(dq - \(dqsystemctl \-\-user stop sway\-session\&.target\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.systemd\&.variables\fR -.RS 4 -Environment variables imported into the systemd and D\-Bus user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqDISPLAY\(dq - \(dqWAYLAND_DISPLAY\(dq - \(dqSWAYSOCK\(dq - \(dqXDG_CURRENT_DESKTOP\(dq - \(dqXDG_SESSION_TYPE\(dq - \(dqNIXOS_OZONE_WL\(dq - \(dqXCURSOR_THEME\(dq - \(dqXCURSOR_SIZE\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-all\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.systemd\&.xdgAutostart\fR -.RS 4 -Whether to enable autostart of applications using \fBsystemd\-xdg\-autostart\-generator\fP\fR(8)\fP \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.wrapperFeatures\fR -.RS 4 -Attribute set of features to enable in the wrapper\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gtk = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.wrapperFeatures\&.base\fR -.RS 4 -Whether to make use of the base wrapper to execute extra session commands and prepend a dbus\-run\-session to the sway command\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.wrapperFeatures\&.gtk\fR -.RS 4 -Whether to make use of the wrapGAppsHook wrapper to execute sway with required environment variables for GTK applications\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.sway\&.xwayland\fR -.RS 4 -Enable xwayland, which is needed for the default configuration of sway\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/sway\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.enable\fR -.RS 4 -Whether to enable Wayfire, a wayland compositor based on wlroots\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.package\fR -.RS 4 -The wayfire package to use\&. Set to \fR\(oqnull\(cq\fP to not add any wayfire package to your path\&. This should be done if you want to use the NixOS wayfire module to install wayfire\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.wayfire -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.plugins\fR -.RS 4 -Additional plugins to use with wayfire -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR with pkgs\&.wayfirePlugins; [ wf\-shell ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -with pkgs\&.wayfirePlugins; [ - wcm - wf\-shell - wayfire\-plugins\-extra -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.settings\fR -.RS 4 -Wayfire configuration written in Nix\&. -.sp -See \fBhttps://github\&.com/WayfireWM/wayfire/wiki/Configuration\fR[1]\fR -.sp -\fIType:\fR attribute set of attribute set of (string or boolean or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - core\&.plugins = \(dqcommand expo cube\(dq; - command = { - binding_terminal = \(dqalacritty\(dq; - command_terminal = \(dqalacritty\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/WayfireWM/wayfire/wiki/Configuration -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.settings\&.core\&.plugins\fR -.RS 4 -Load the specified plugins -.sp -\fIType:\fR strings concatenated with \(dq \(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.systemd\&.enable\fR -.RS 4 -Whether to enable \fIwayfire\-session\&.target\fP on wayfire startup\&. This links to \fIgraphical\-session\&.target\fP}\&. Some important environment variables will be imported to systemd and D\-Bus user environment before reaching the target, including -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqDISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqWAYLAND_DISPLAY\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXDG_CURRENT_DESKTOP\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqNIXOS_OZONE_WL\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXCURSOR_THEME\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqXCURSOR_SIZE\(cq\fP -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.systemd\&.extraCommands\fR -.RS 4 -Extra commands to be run after D\-Bus activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqsystemctl \-\-user stop wayfire\-session\&.target\(dq - \(dqsystemctl \-\-user start wayfire\-session\&.target\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.systemd\&.variables\fR -.RS 4 -Environment variables to be imported in the systemd & D\-Bus user environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqDISPLAY\(dq - \(dqWAYLAND_DISPLAY\(dq - \(dqXDG_CURRENT_DESKTOP\(dq - \(dqNIXOS_OZONE_WL\(dq - \(dqXCURSOR_THEME\(dq - \(dqXCURSOR_SIZE\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-all\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.wf\-shell\&.enable\fR -.RS 4 -Whether to enable Manage wf\-shell Configuration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.wf\-shell\&.package\fR -.RS 4 -The wf\-shell package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.wayfirePlugins\&.wf\-shell -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.wf\-shell\&.settings\fR -.RS 4 -Wf\-shell configuration written in Nix\&. -.sp -See \fBhttps://github\&.com/WayfireWM/wf\-shell/blob/master/wf\-shell\&.ini\&.example\fR[1]\fR -.sp -\fIType:\fR attribute set of attribute set of (string or boolean or signed integer or floating point number) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - panel = { - widgets_left = \(dqmenu spacing4 launchers window\-list\(dq; - autohide = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/WayfireWM/wf\-shell/blob/master/wf\-shell\&.ini\&.example -.RE -.RE -.PP -\fBwayland\&.windowManager\&.wayfire\&.xwayland\&.enable\fR -.RS 4 -Whether to enable XWayland\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/wayfire\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.enable\fR -.RS 4 -Whether to enable management of XDG base directories\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.autostart\&.enable\fR -.RS 4 -Whether to enable creation of XDG autostart entries\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-autostart\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.autostart\&.entries\fR -.RS 4 -Paths to desktop files that should be linked to \fR\(oqXDG_CONFIG_HOME/autostart\(cq\fP -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq${pkgs\&.evolution}/share/applications/org\&.gnome\&.Evolution\&.desktop\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-autostart\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.autostart\&.readOnly\fR -.RS 4 -Make \fR\(oqXDG_CONFIG_HOME/autostart\(cq\fP a symlink to a readonly directory so that programs cannot install arbitrary autostart services\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-autostart\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\fR -.RS 4 -Attribute set of files to link into the user\[u2019]s XDG cache home\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.executable\fR -.RS 4 -Set the execute bit\&. If \fR\(oqnull\(cq\fP, defaults to the mode of the \fIsource\fP file or to \fR\(oqfalse\(cq\fP for files created through the \fItext\fP option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.force\fR -.RS 4 -Whether the target path should be unconditionally replaced by the managed file source\&. Warning, this will silently delete the target regardless of whether it is a file or link\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.ignorelinks\fR -.RS 4 -When \fR\(oqrecursive\(cq\fP is enabled, adds \fR\(oq\-ignorelinks\(cq\fP flag to lndir -.sp -It causes lndir to not treat symbolic links in the source directory specially\&. The link created in the target directory will point back to the corresponding (symbolic link) file in the source directory\&. If the link is to a directory -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.onChange\fR -.RS 4 -Shell commands to run when file has changed between generations\&. The script will be run \fIafter\fR the new files have been linked into place\&. -.sp -Note, this code is always run when \fR\(oqrecursive\(cq\fP is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.recursive\fR -.RS 4 -If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location\&. This option has no effect if the source is a file\&. -.sp -If \fR\(oqfalse\(cq\fP (the default) then the target will be a symbolic link to the source directory\&. If \fR\(oqtrue\(cq\fP then the target will be a directory structure matching the source\[u2019]s but whose leafs are symbolic links to the files of the source directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. If \fBxdg.cacheFile.<name>.text\fR[1]\fR is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.cacheFile\&.<name>\&.text\fP option -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.target\fR -.RS 4 -Path to target file relative to \fIxdg\&.cacheHome\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.cacheFile\&.<name>\&.text\fR -.RS 4 -Text of the file\&. If this option is null then \fBxdg.cacheFile.<name>.source\fR[1]\fR must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.cacheFile\&.<name>\&.source\fP option -.RE -.RE -.PP -\fBxdg\&.cacheHome\fR -.RS 4 -Absolute path to directory holding application caches\&. -.sp -Sets \fR\(oqXDG_CACHE_HOME\(cq\fP for the user if \fR\(oqxdg\&.enable\(cq\fP is set \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\(ti/\&.cache\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\fR -.RS 4 -Attribute set of files to link into the user\[u2019]s XDG configuration home\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.executable\fR -.RS 4 -Set the execute bit\&. If \fR\(oqnull\(cq\fP, defaults to the mode of the \fIsource\fP file or to \fR\(oqfalse\(cq\fP for files created through the \fItext\fP option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.force\fR -.RS 4 -Whether the target path should be unconditionally replaced by the managed file source\&. Warning, this will silently delete the target regardless of whether it is a file or link\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.ignorelinks\fR -.RS 4 -When \fR\(oqrecursive\(cq\fP is enabled, adds \fR\(oq\-ignorelinks\(cq\fP flag to lndir -.sp -It causes lndir to not treat symbolic links in the source directory specially\&. The link created in the target directory will point back to the corresponding (symbolic link) file in the source directory\&. If the link is to a directory -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.onChange\fR -.RS 4 -Shell commands to run when file has changed between generations\&. The script will be run \fIafter\fR the new files have been linked into place\&. -.sp -Note, this code is always run when \fR\(oqrecursive\(cq\fP is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.recursive\fR -.RS 4 -If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location\&. This option has no effect if the source is a file\&. -.sp -If \fR\(oqfalse\(cq\fP (the default) then the target will be a symbolic link to the source directory\&. If \fR\(oqtrue\(cq\fP then the target will be a directory structure matching the source\[u2019]s but whose leafs are symbolic links to the files of the source directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. If \fBxdg.configFile.<name>.text\fR[1]\fR is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.configFile\&.<name>\&.text\fP option -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.target\fR -.RS 4 -Path to target file relative to \fIxdg\&.configHome\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.configFile\&.<name>\&.text\fR -.RS 4 -Text of the file\&. If this option is null then \fBxdg.configFile.<name>.source\fR[1]\fR must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.configFile\&.<name>\&.source\fP option -.RE -.RE -.PP -\fBxdg\&.configHome\fR -.RS 4 -Absolute path to directory holding application configurations\&. -.sp -Sets \fR\(oqXDG_CONFIG_HOME\(cq\fP for the user if \fR\(oqxdg\&.enable\(cq\fP is set \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\(ti/\&.config\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\fR -.RS 4 -Attribute set of files to link into the user\[u2019]s XDG data home\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.executable\fR -.RS 4 -Set the execute bit\&. If \fR\(oqnull\(cq\fP, defaults to the mode of the \fIsource\fP file or to \fR\(oqfalse\(cq\fP for files created through the \fItext\fP option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.force\fR -.RS 4 -Whether the target path should be unconditionally replaced by the managed file source\&. Warning, this will silently delete the target regardless of whether it is a file or link\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.ignorelinks\fR -.RS 4 -When \fR\(oqrecursive\(cq\fP is enabled, adds \fR\(oq\-ignorelinks\(cq\fP flag to lndir -.sp -It causes lndir to not treat symbolic links in the source directory specially\&. The link created in the target directory will point back to the corresponding (symbolic link) file in the source directory\&. If the link is to a directory -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.onChange\fR -.RS 4 -Shell commands to run when file has changed between generations\&. The script will be run \fIafter\fR the new files have been linked into place\&. -.sp -Note, this code is always run when \fR\(oqrecursive\(cq\fP is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.recursive\fR -.RS 4 -If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location\&. This option has no effect if the source is a file\&. -.sp -If \fR\(oqfalse\(cq\fP (the default) then the target will be a symbolic link to the source directory\&. If \fR\(oqtrue\(cq\fP then the target will be a directory structure matching the source\[u2019]s but whose leafs are symbolic links to the files of the source directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. If \fBxdg.dataFile.<name>.text\fR[1]\fR is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.dataFile\&.<name>\&.text\fP option -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.target\fR -.RS 4 -Path to target file relative to <varname>xdg\&.dataHome</varname>\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.dataFile\&.<name>\&.text\fR -.RS 4 -Text of the file\&. If this option is null then \fBxdg.dataFile.<name>.source\fR[1]\fR must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.dataFile\&.<name>\&.source\fP option -.RE -.RE -.PP -\fBxdg\&.dataHome\fR -.RS 4 -Absolute path to directory holding application data\&. -.sp -Sets \fR\(oqXDG_DATA_HOME\(cq\fP for the user if \fR\(oqxdg\&.enable\(cq\fP is set \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\(ti/\&.local/share\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\fR -.RS 4 -Desktop Entries allow applications to be shown in your desktop environment\[u2019]s app launcher\&. -.sp -You can define entries for programs without entries or override existing entries\&. -.sp -See \fBhttps://specifications\&.freedesktop\&.org/desktop\-entry\-spec/latest/recognized\-keys\&.html\fR[1]\fR for more information on options\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - firefox = { - name = \(dqFirefox\(dq; - genericName = \(dqWeb Browser\(dq; - exec = \(dqfirefox %U\(dq; - terminal = false; - categories = [ \(dqApplication\(dq \(dqNetwork\(dq \(dqWebBrowser\(dq ]; - mimeType = [ \(dqtext/html\(dq \(dqtext/xml\(dq ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://specifications\&.freedesktop\&.org/desktop\-entry\-spec/latest/recognized\-keys\&.html -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.actions\fR -.RS 4 -The set of actions made available to application launchers\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqNew Window\(dq = { - exec = \(dq${pkgs\&.firefox}/bin/firefox \-\-new\-window %u\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.actions\&.<name>\&.exec\fR -.RS 4 -Program to execute, possibly with arguments\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.actions\&.<name>\&.icon\fR -.RS 4 -Icon to display in file manager, menus, etc\&. -.sp -\fIType:\fR null or string or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.actions\&.<name>\&.name\fR -.RS 4 -Name of the action\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR <name> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.categories\fR -.RS 4 -Categories in which the entry should be shown in a menu\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.comment\fR -.RS 4 -Tooltip for the entry\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.exec\fR -.RS 4 -Program to execute, possibly with arguments\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.genericName\fR -.RS 4 -Generic name of the application\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.icon\fR -.RS 4 -Icon to display in file manager, menus, etc\&. -.sp -\fIType:\fR null or string or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.mimeType\fR -.RS 4 -The MIME type(s) supported by this application\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.name\fR -.RS 4 -Specific name of the application\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.noDisplay\fR -.RS 4 -Means \[u201C]this application exists, but don\[u2019]t display it in the menus\[u201D]\&. This can be useful to e\&.g\&. associate this application with MIME types\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.prefersNonDefaultGPU\fR -.RS 4 -If true, the application prefers to be run on a more powerful discrete GPU if available\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.settings\fR -.RS 4 -Extra key\-value pairs to add to the \fR\(oq[Desktop Entry]\(cq\fP section\&. This may override other values\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Keywords = \(dqcalc;math\(dq; - DBusActivatable = \(dqfalse\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.startupNotify\fR -.RS 4 -If true, it is KNOWN that the application will send a \[u201C]remove\[u201D] message when started with the \fR\(oqDESKTOP_STARTUP_ID\(cq\fP environment variable set\&. If false, it is KNOWN that the application does not work with startup notification at all\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.terminal\fR -.RS 4 -Whether the program runs in a terminal window\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.desktopEntries\&.<name>\&.type\fR -.RS 4 -The type of the desktop entry\&. -.sp -\fIType:\fR one of \[u201C]Application\[u201D], \[u201C]Link\[u201D], \[u201C]Directory\[u201D] -.sp -\fIDefault:\fR \(dqApplication\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-desktop\-entries\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mime\&.enable\fR -.RS 4 -Whether to install programs and files to support the XDG Shared MIME\-info specification and XDG MIME Applications specification at \fBhttps://specifications\&.freedesktop\&.org/shared\-mime\-info\-spec/shared\-mime\-info\-spec\-latest\&.html\fR[1]\fR and \fBhttps://specifications\&.freedesktop\&.org/mime\-apps\-spec/mime\-apps\-spec\-latest\&.html\fR[2]\fR, respectively\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true if host platform is Linux, false otherwise -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://specifications\&.freedesktop\&.org/shared\-mime\-info\-spec/shared\-mime\-info\-spec\-latest\&.html -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://specifications\&.freedesktop\&.org/mime\-apps\-spec/mime\-apps\-spec\-latest\&.html -.RE -.RE -.PP -\fBxdg\&.mime\&.desktopFileUtilsPackage\fR -.RS 4 -The desktop\-file\-utils package to use\&. Used when running update\-desktop\-database\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.desktop\-file\-utils -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mime\&.sharedMimeInfoPackage\fR -.RS 4 -The shared\-mime\-info package to use\&. Used when running update\-mime\-database\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.shared\-mime\-info -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mimeApps\&.enable\fR -.RS 4 -Whether to manage \fI$XDG_CONFIG_HOME/mimeapps\&.list\fP\&. -.sp -The generated file is read\-only\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\-apps\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mimeApps\&.associations\&.added\fR -.RS 4 -Defines additional associations of applications with mimetypes, as if the \&.desktop file was listing this mimetype in the first place\&. -.sp -\fIType:\fR attribute set of ((list of string) or ((list of string) or string) convertible to it) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmimetype1\(dq = [ \(dqfoo1\&.desktop\(dq \(dqfoo2\&.desktop\(dq \(dqfoo3\&.desktop\(dq ]; - \(dqmimetype2\(dq = \(dqfoo4\&.desktop\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\-apps\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mimeApps\&.associations\&.removed\fR -.RS 4 -Removes associations of applications with mimetypes, as if the \&.desktop file was \fInot\fR listing this mimetype in the first place\&. -.sp -\fIType:\fR attribute set of ((list of string) or ((list of string) or string) convertible to it) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - mimetype1 = \(dqfoo5\&.desktop\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\-apps\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.mimeApps\&.defaultApplications\fR -.RS 4 -The default application to be used for a given mimetype\&. This is, for instance, the one that will be started when double\-clicking on a file in a file manager\&. If the application is no longer installed, the next application in the list is attempted, and so on\&. -.sp -\fIType:\fR attribute set of ((list of string) or ((list of string) or string) convertible to it) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqmimetype1\(dq = [ \(dqdefault1\&.desktop\(dq \(dqdefault2\&.desktop\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-mime\-apps\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.portal\&.enable\fR -.RS 4 -Whether to enable \fBXDG desktop integration\fR[1]\fR\&. -.sp -Note, if you use the NixOS module and have \fR\(oquseUserPackages = true\(cq\fP, make sure to add -.sp -.RS 4 -.nf -environment\&.pathsToLink = [ \(dq/share/xdg\-desktop\-portal\(dq \(dq/share/applications\(dq ]; -.fi -.RE -.sp -to your system configuration so that the portal definitions and DE provided configurations get linked\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-portal\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/flatpak/xdg\-desktop\-portal -.RE -.RE -.PP -\fBxdg\&.portal\&.config\fR -.RS 4 -Sets which portal backend should be used to provide the implementation for the requested interface\&. For details check \fBportals\&.conf\fP\fR(5)\fP\&. -.sp -These will be written with the name \fR\(oq$desktop\-portals\&.conf\(cq\fP for \fR\(oqxdg\&.portal\&.config\&.$desktop\(cq\fP and \fR\(oqportals\&.conf\(cq\fP for \fR\(oqxdg\&.portal\&.config\&.common\(cq\fP as an exception\&. -.sp -These, together with \fR\(oqxdg\&.portal\&.configPackages\(cq\fP, will be joined into a directory and passed to \fR\(oqxdg\-desktop\-portal\&.service\(cq\fP through a \fR\(oqNIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR\(cq\fP variable\&. -.sp -\fIType:\fR attribute set of attribute set of (string or ((list of string) or string) convertible to it) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - common = { - default = [ - \(dqgtk\(dq - ]; - }; - pantheon = { - default = [ - \(dqpantheon\(dq - \(dqgtk\(dq - ]; - \(dqorg\&.freedesktop\&.impl\&.portal\&.Secret\(dq = [ - \(dqgnome\-keyring\(dq - ]; - }; - x\-cinnamon = { - default = [ - \(dqxapp\(dq - \(dqgtk\(dq - ]; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-portal\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.portal\&.configPackages\fR -.RS 4 -List of packages that provide XDG desktop portal configuration, usually in the form of \fR\(oqshare/xdg\-desktop\-portal/$desktop\-portals\&.conf\(cq\fP\&. -.sp -Note that configs in \fR\(oqxdg\&.portal\&.config\(cq\fP will be preferred if set\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.gnome\&.gnome\-session ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-portal\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.portal\&.extraPortals\fR -.RS 4 -List of additional portals that should be added to the environment\&. -.sp -The directory where the portal definitions have been merged together (likely \fR\(oq\(ti/\&.nix\-profile/share/xdg\-desktop\-portal/portals\(cq\fP) will get passed to \fR\(oqxdg\-desktop\-portal\&.service\(cq\fP via the \fR\(oqNIX_XDG_DESKTOP_PORTAL_DIR\(cq\fP environment variable\&. -.sp -Portals allow interaction with system, like choosing files or taking screenshots\&. At minimum, a desktop portal implementation should be listed\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-portal\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.portal\&.xdgOpenUsePortal\fR -.RS 4 -Sets environment variable \fR\(oqNIXOS_XDG_OPEN_USE_PORTAL\(cq\fP to \fR\(oq1\(cq\fP This will make \fR\(oqxdg\-open\(cq\fP use the portal to open programs, which resolves bugs involving programs opening inside FHS envs or with unexpected env vars set from wrappers\&. See \fB#160923\fR[1]\fR for more info\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-portal\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/NixOS/nixpkgs/issues/160923 -.RE -.RE -.PP -\fBxdg\&.stateFile\fR -.RS 4 -Attribute set of files to link into the user\[u2019]s XDG state home\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.executable\fR -.RS 4 -Set the execute bit\&. If \fR\(oqnull\(cq\fP, defaults to the mode of the \fIsource\fP file or to \fR\(oqfalse\(cq\fP for files created through the \fItext\fP option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.force\fR -.RS 4 -Whether the target path should be unconditionally replaced by the managed file source\&. Warning, this will silently delete the target regardless of whether it is a file or link\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.ignorelinks\fR -.RS 4 -When \fR\(oqrecursive\(cq\fP is enabled, adds \fR\(oq\-ignorelinks\(cq\fP flag to lndir -.sp -It causes lndir to not treat symbolic links in the source directory specially\&. The link created in the target directory will point back to the corresponding (symbolic link) file in the source directory\&. If the link is to a directory -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.onChange\fR -.RS 4 -Shell commands to run when file has changed between generations\&. The script will be run \fIafter\fR the new files have been linked into place\&. -.sp -Note, this code is always run when \fR\(oqrecursive\(cq\fP is enabled\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.recursive\fR -.RS 4 -If the file source is a directory, then this option determines whether the directory should be recursively linked to the target location\&. This option has no effect if the source is a file\&. -.sp -If \fR\(oqfalse\(cq\fP (the default) then the target will be a symbolic link to the source directory\&. If \fR\(oqtrue\(cq\fP then the target will be a directory structure matching the source\[u2019]s but whose leafs are symbolic links to the files of the source directory\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.source\fR -.RS 4 -Path of the source file or directory\&. If \fBxdg.stateFile.<name>.text\fR[1]\fR is non\-null then this option will automatically point to a file containing that text\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.stateFile\&.<name>\&.text\fP option -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.target\fR -.RS 4 -Path to target file relative to <varname>xdg\&.stateHome</varname>\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR name -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.stateFile\&.<name>\&.text\fR -.RS 4 -Text of the file\&. If this option is null then \fBxdg.stateFile.<name>.source\fR[1]\fR must be set\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxdg\&.stateFile\&.<name>\&.source\fP option -.RE -.RE -.PP -\fBxdg\&.stateHome\fR -.RS 4 -Absolute path to directory holding application states\&. -.sp -Sets \fR\(oqXDG_STATE_HOME\(cq\fP for the user if \fR\(oqxdg\&.enable\(cq\fP is set \fR\(oqtrue\(cq\fP\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\(ti/\&.local/state\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.systemDirs\&.config\fR -.RS 4 -Directory names to add to \fBXDG_CONFIG_DIRS\fP in the user session\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq/etc/xdg\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-system\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.systemDirs\&.data\fR -.RS 4 -Directory names to add to \fBXDG_DATA_DIRS\fP in the user session\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq/usr/share\(dq \(dq/usr/local/share\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-system\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.enable\fR -.RS 4 -Whether to manage \fI$XDG_CONFIG_HOME/user\-dirs\&.dirs\fP\&. -.sp -The generated file is read\-only\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.createDirectories\fR -.RS 4 -Whether to enable automatic creation of the XDG user directories\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.desktop\fR -.RS 4 -The Desktop directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Desktop\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.documents\fR -.RS 4 -The Documents directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Documents\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.download\fR -.RS 4 -The Downloads directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Downloads\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.extraConfig\fR -.RS 4 -Other user directories\&. -.sp -\fIType:\fR attribute set of (string or absolute path convertible to it) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - XDG_MISC_DIR = \(dq${config\&.home\&.homeDirectory}/Misc\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.music\fR -.RS 4 -The Music directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Music\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.pictures\fR -.RS 4 -The Pictures directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Pictures\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.publicShare\fR -.RS 4 -The Public share directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Public\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.templates\fR -.RS 4 -The Templates directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Templates\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxdg\&.userDirs\&.videos\fR -.RS 4 -The Videos directory\&. -.sp -\fIType:\fR null or (string or absolute path convertible to it) -.sp -\fIDefault:\fR \(dq${config\&.home\&.homeDirectory}/Videos\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xdg\-user\-dirs\&.nix>\fP -.RE -.RE -.PP -\fBxfconf\&.settings\fR -.RS 4 -Settings to write to the Xfconf configuration system\&. -.sp -\fIType:\fR xfconf settings -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - xfce4\-session = { - \(dqstartup/ssh\-agent/enabled\(dq = false; - \(dqgeneral/LockCommand\(dq = \(dq${pkgs\&.lightdm}/bin/dm\-tool lock\(dq; - }; - xfce4\-desktop = { - \(dqbackdrop/screen0/monitorLVDS\-1/workspace0/last\-image\(dq = - \(dq${pkgs\&.nixos\-artwork\&.wallpapers\&.stripes\-logo\&.gnomeFilePath}\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/xfconf\&.nix>\fP -.RE -.RE -.PP -\fBxresources\&.extraConfig\fR -.RS 4 -Additional X server resources contents\&. If this and all other xresources options are \fR\(oqnull\(cq\fP, then this feature is disabled and no \fI\(ti/\&.Xresources\fP link is produced\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -builtins\&.readFile ( - pkgs\&.fetchFromGitHub { - owner = \(dqsolarized\(dq; - repo = \(dqxresources\(dq; - rev = \(dq025ceddbddf55f2eb4ab40b05889148aab9699fc\(dq; - sha256 = \(dq0lxv37gmh38y9d3l8nbnsm1mskcv10g3i83j0kac0a2qmypv1k9f\(dq; - } + \(dq/Xresources\&.dark\(dq -) -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xresources\&.nix>\fP -.RE -.RE -.PP -\fBxresources\&.path\fR -.RS 4 -Path where Home Manager should link the \fI\&.Xresources\fP file\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq$HOME/\&.Xresources\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xresources\&.nix>\fP -.RE -.RE -.PP -\fBxresources\&.properties\fR -.RS 4 -X server resources that should be set\&. Booleans are formatted as \[u201C]true\[u201D] or \[u201C]false\[u201D] respectively\&. List elements are recursively formatted as a string and joined by commas\&. All other values are directly formatted using builtins\&.toString\&. Note, that 2\-dimensional lists are not supported and specifying one will throw an exception\&. If this and all other xresources options are \fR\(oqnull\(cq\fP, then this feature is disabled and no \fI\(ti/\&.Xresources\fP link is produced\&. -.sp -\fIType:\fR null or (attribute set of (boolean or signed integer or floating point number or string or list of (boolean or signed integer or floating point number or string))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqEmacs*toolBar\(dq = 0; - \(dqXTerm*faceName\(dq = \(dqdejavu sans mono\(dq; - \(dqXTerm*charClass\(dq = [ \(dq37:48\(dq \(dq45\-47:48\(dq \(dq58:48\(dq \(dq64:48\(dq \(dq126:48\(dq ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xresources\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.enable\fR -.RS 4 -Whether to enable X Session\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.initExtra\fR -.RS 4 -Extra shell commands to run during initialization\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.numlock\&.enable\fR -.RS 4 -Whether to enable Num Lock\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/misc/numlock\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.pointerCursor\&.package\fR -.RS 4 -Alias of \fBhome\&.pointerCursor\&.package\fP\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.pointerCursor\&.defaultCursor\fR -.RS 4 -Alias of \fBhome\&.pointerCursor\&.x11\&.defaultCursor\fP\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.pointerCursor\&.name\fR -.RS 4 -Alias of \fBhome\&.pointerCursor\&.name\fP\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.pointerCursor\&.size\fR -.RS 4 -Alias of \fBhome\&.pointerCursor\&.size\fP\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/config/home\-cursor\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.preferStatusNotifierItems\fR -.RS 4 -Whether tray applets should prefer using the Status Notifier Items (SNI) protocol, commonly called App Indicators\&. Note, not all tray applets or status bars support SNI\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.profileExtra\fR -.RS 4 -Extra shell commands to run before session start\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.profilePath\fR -.RS 4 -Path, relative to \fBHOME\fP, where Home Manager should write the X profile script\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\&.xprofile\(dq -.sp -\fIExample:\fR \(dq\&.xprofile\-hm\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.scriptPath\fR -.RS 4 -Path, relative to \fBHOME\fP, where Home Manager should write the X session script\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\&.xsession\(dq -.sp -\fIExample:\fR \(dq\&.xsession\-hm\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.awesome\&.enable\fR -.RS 4 -Whether to enable Awesome window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/awesome\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.awesome\&.package\fR -.RS 4 -The awesome package to use\&. to use for running the Awesome WM -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.awesome -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/awesome\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.awesome\&.luaModules\fR -.RS 4 -List of lua packages available for being used in the Awesome configuration\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.luaPackages\&.vicious ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/awesome\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.awesome\&.noArgb\fR -.RS 4 -Disable client transparency support, which can be greatly detrimental to performance in some setups -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/awesome\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.enable\fR -.RS 4 -Whether to enable bspwm window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.package\fR -.RS 4 -The bspwm package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.bspwm -.sp -\fIExample:\fR pkgs\&.bspwm\-unstable -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.alwaysResetDesktops\fR -.RS 4 -If set to \fR\(oqtrue\(cq\fP, desktops configured in \fBmonitors\fP will be reset every time the config is run\&. -.sp -If set to \fR\(oqfalse\(cq\fP, desktops will only be configured the first time the config is run\&. This is useful if you want to dynamically add desktops and you don\[u2019]t want them to be destroyed if you re\-run \fR\(oqbspwmrc\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.extraConfig\fR -.RS 4 -Additional shell commands to be run at the end of the config file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - bspc subscribe all > \(ti/bspc\-report\&.log & -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.extraConfigEarly\fR -.RS 4 -Like extraConfig, except commands are run at the start of the config file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.monitors\fR -.RS 4 -Specifies the names of desktops to create on each monitor\&. -.sp -\fIType:\fR attribute set of list of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - HDMI\-0 = [ - \(dqweb\(dq - \(dqterminal\(dq - \(dqIII\(dq - \(dqIV\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\fR -.RS 4 -Rule configuration\&. The keys of the attribute set are the targets of the rules\&. -.sp -\fIType:\fR attribute set of (attribute set of (boolean or signed integer or floating point number or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqGimp\(dq = { - desktop = \(dq\(ha8\(dq; - state = \(dqfloating\(dq; - follow = true; - }; - \(dqKupfer\&.py\(dq = { - focus = true; - }; - \(dqScreenkey\(dq = { - manage = false; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.border\fR -.RS 4 -Whether the node should have border\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.center\fR -.RS 4 -Whether the node will be put in the center, in floating mode\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.desktop\fR -.RS 4 -The desktop where the rule should be applied\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\(ha8\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.focus\fR -.RS 4 -Whether the node should gain focus on creation\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.follow\fR -.RS 4 -Whether focus should follow the node when it is moved\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.hidden\fR -.RS 4 -Whether the node should occupy any space\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.layer\fR -.RS 4 -The layer where a new window should spawn\&. -.sp -\fIType:\fR null or one of \[u201C]below\[u201D], \[u201C]normal\[u201D], \[u201C]above\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqabove\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.locked\fR -.RS 4 -Whether the node should ignore \fBnode \-\-close\fP messages\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.manage\fR -.RS 4 -Whether the window should be managed by bspwm\&. If false, the window will be ignored by bspwm entirely\&. This is useful for overlay apps, e\&.g\&. screenshot tools\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.marked\fR -.RS 4 -Whether the node will be marked for deferred actions\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.monitor\fR -.RS 4 -The monitor where the rule should be applied\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqHDMI\-0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.node\fR -.RS 4 -The node where the rule should be applied\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.private\fR -.RS 4 -Whether the node should stay in the same tiling position and size\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.rectangle\fR -.RS 4 -The node\[u2019]s geometry, in the format \fR\(oqWxH+X+Y\(cq\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq800x600+32+32\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.splitDir\fR -.RS 4 -The direction where the container is going to be split\&. -.sp -\fIType:\fR null or one of \[u201C]north\[u201D], \[u201C]west\[u201D], \[u201C]south\[u201D], \[u201C]east\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqsouth\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.splitRatio\fR -.RS 4 -The ratio between the new window and the previous existing window in the desktop\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.65 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.state\fR -.RS 4 -The state in which a new window should spawn\&. -.sp -\fIType:\fR null or one of \[u201C]tiled\[u201D], \[u201C]pseudo_tiled\[u201D], \[u201C]floating\[u201D], \[u201C]fullscreen\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqfloating\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.rules\&.<name>\&.sticky\fR -.RS 4 -Whether the node should stay on the focused desktop\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.settings\fR -.RS 4 -General settings given to \fR\(oqbspc config\(cq\fP\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or floating point number or string or list of (boolean or signed integer or floating point number or string)) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - border_width = 2; - gapless_monocle = true; - split_ratio = 0\&.52; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.bspwm\&.startupPrograms\fR -.RS 4 -Programs to be executed during startup\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqnumlockx on\(dq - \(dqtilda\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/bspwm/default\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.command\fR -.RS 4 -Command to use to start the window manager\&. -.sp -The default value allows integration with NixOS\[u2019] generated xserver configuration\&. -.sp -Extra actions and commands can be specified in \fBxsession\&.initExtra\fP\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqtest \-n \e\(dq$1\e\(dq && eval \e\(dq$@\e\(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -let - xmonad = pkgs\&.xmonad\-with\-packages\&.override { - packages = self: [ self\&.xmonad\-contrib self\&.taffybar ]; - }; -in - \(dq${xmonad}/bin/xmonad\(dq; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/xsession\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.enable\fR -.RS 4 -Whether to enable Fluxbox window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.package\fR -.RS 4 -The fluxbox package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.fluxbox -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.apps\fR -.RS 4 -Apps configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/apps\fP\&. Look at the \fBfluxbox\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.extraCommandLineArgs\fR -.RS 4 -Extra command line arguments to pass to \fBfluxbox\fP\&. Look at the \fBfluxbox\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-log\(dq - \(dq/tmp/fluxbox\&.log\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.init\fR -.RS 4 -Init configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/init\fP\&. Look at the \fBfluxbox\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.keys\fR -.RS 4 -Keyboard shortcuts configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/keys\fP\&. Look at the \fBfluxbox\-keys\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.menu\fR -.RS 4 -Menu configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/menu\fP\&. Look at the \fBfluxbox\-menu\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.slitlist\fR -.RS 4 -Slitlist configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/slitlist\fP\&. Look at the \fBfluxbox\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.fluxbox\&.windowmenu\fR -.RS 4 -Window menu configuration for Fluxbox, written to \fI\(ti/\&.fluxbox/windowmenu\fP\&. Look at the \fBfluxbox\-menu\fP\fR(1)\fP manpage for details\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/fluxbox\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.enable\fR -.RS 4 -Whether to enable herbstluftwm window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.package\fR -.RS 4 -The herbstluftwm package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.herbstluftwm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.extraConfig\fR -.RS 4 -Extra configuration lines to add verbatim to \fI$XDG_CONFIG_HOME/herbstluftwm/autostart\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - herbstclient set_layout max - herbstclient detect_monitors -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.keybinds\fR -.RS 4 -Herbstluftwm keybinds\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Mod4\-o = \(dqsplit right\(dq; - Mod4\-u = \(dqsplit bottom\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.mousebinds\fR -.RS 4 -Herbstluftwm mousebinds\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Mod4\-B1 = \(dqmove\(dq; - Mod4\-B3 = \(dqresize\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.rules\fR -.RS 4 -Herbstluftwm rules\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwindowtype\(ti\(aq_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)\(aq focus=on pseudotile=on\(dq - \(dqwindowtype\(ti\(aq_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)\(aq manage=off\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.settings\fR -.RS 4 -Herbstluftwm settings\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gapless_grid = false; - window_border_width = 1; - window_border_active_color = \(dq#FF0000\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.herbstluftwm\&.tags\fR -.RS 4 -Tags to create on startup\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(dqwork\(dq \(dqbrowser\(dq \(dqmusic\(dq \(dqgaming\(dq ] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/herbstluftwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.enable\fR -.RS 4 -Whether to enable i3 window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.package\fR -.RS 4 -The i3 package to use\&. -.sp -\fIType:\fR null or package -.sp -\fIDefault:\fR pkgs\&.i3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\fR -.RS 4 -i3 configuration options\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.assigns\fR -.RS 4 -An attribute set that assigns applications to workspaces based on criteria\&. -.sp -\fIType:\fR attribute set of list of attribute set of (string or boolean) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ -\(dq1: web\(dq = [{ class = \(dq\(haFirefox$\(dq; }]; -\(dq0: extra\(dq = [{ class = \(dq\(haFirefox$\(dq; window_role = \(dqAbout\(dq; }]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\fR -.RS 4 -i3 bars settings blocks\&. Set to empty list to remove bars completely\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR see code -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\fR -.RS 4 -Bar color settings\&. All color classes can be specified using submodules with \[u2018]border\[u2019], \[u2018]background\[u2019], \[u2018]text\[u2019], fields and RGB color hex\-codes as values\&. See default values for the reference\&. Note that \[u2018]background\[u2019], \[u2018]status\[u2019], and \[u2018]separator\[u2019] parameters take a single RGB value\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_colors\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_colors -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.activeWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace is active\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#5f676a\(dq; - border = \(dq#333333\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.background\fR -.RS 4 -Background color of the bar\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#000000\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.bindingMode\fR -.RS 4 -Border, background and text color for the binding mode indicator -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.focusedBackground\fR -.RS 4 -Background color of the bar on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#000000\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.focusedSeparator\fR -.RS 4 -Text color to be used for the separator on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#666666\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.focusedStatusline\fR -.RS 4 -Text color to be used for the statusline on the currently focused monitor output\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.focusedWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace has focus\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#285577\(dq; - border = \(dq#4c7899\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.inactiveWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace does not have focus and is not active\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#222222\(dq; - border = \(dq#333333\(dq; - text = \(dq#888888\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.separator\fR -.RS 4 -Text color to be used for the separator\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#666666\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.statusline\fR -.RS 4 -Text color to be used for the statusline\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.colors\&.urgentWorkspace\fR -.RS 4 -Border, background and text color for a workspace button when the workspace contains a window with the urgency hint set\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.command\fR -.RS 4 -Command that will be used to start a bar\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqi3bar\(dq -.sp -\fIExample:\fR \(dq\e${pkgs\&.i3}/bin/i3bar \-t\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.extraConfig\fR -.RS 4 -Extra configuration lines for this bar\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.fonts\fR -.RS 4 -Font configuration for this bar\&. -.sp -\fIType:\fR (list of string) or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - names = [ \(dqDejaVu Sans Mono\(dq \(dqFontAwesome5Free\(dq ]; - style = \(dqBold Semi\-Condensed\(dq; - size = 11\&.0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.hiddenState\fR -.RS 4 -The default bar mode when \[u2018]bar\&.mode\[u2019] == \[u2018]hide\[u2019]\&. -.sp -\fIType:\fR null or one of \[u201C]hide\[u201D], \[u201C]show\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqhide\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.id\fR -.RS 4 -Specifies the bar ID for the configured bar instance\&. If this option is missing, the ID is set to bar\-x, where x corresponds to the position of the embedding bar block in the config file\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.mode\fR -.RS 4 -Bar visibility mode\&. -.sp -\fIType:\fR null or one of \[u201C]dock\[u201D], \[u201C]hide\[u201D], \[u201C]invisible\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqdock\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.position\fR -.RS 4 -The edge of the screen i3bar should show up\&. -.sp -\fIType:\fR null or one of \[u201C]top\[u201D], \[u201C]bottom\[u201D] -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqbottom\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.statusCommand\fR -.RS 4 -Command that will be used to get status lines\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dq\e${pkgs\&.i3status}/bin/i3status\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.trayOutput\fR -.RS 4 -Where to output tray\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR \(dqprimary\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.trayPadding\fR -.RS 4 -Sets the pixel padding of the system tray\&. This padding will surround the tray on all sides and between each item\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.workspaceButtons\fR -.RS 4 -Whether workspace buttons should be shown or not\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.bars\&.*\&.workspaceNumbers\fR -.RS 4 -Whether workspace numbers should be displayed within the workspace buttons\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -null for state version \[u2265] 20\&.09, as example otherwise -.fi -.RE -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\fR -.RS 4 -Color settings\&. All color classes can be specified using submodules with \[u2018]border\[u2019], \[u2018]background\[u2019], \[u2018]text\[u2019], \[u2018]indicator\[u2019] and \[u2018]childBorder\[u2019] fields and RGB color hex\-codes as values\&. See default values for the reference\&. Note that \[u2018]i3\&.config\&.colors\&.background\[u2019] parameter takes a single RGB value\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_changing_colors\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_changing_colors -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.background\fR -.RS 4 -Background color of the window\&. Only applications which do not cover the whole area expose the color\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq#ffffff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.focused\fR -.RS 4 -A window which currently has the focus\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#285577\(dq; - border = \(dq#4c7899\(dq; - childBorder = \(dq#285577\(dq; - indicator = \(dq#2e9ef4\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.focusedInactive\fR -.RS 4 -A window which is the focused one of its container, but it does not have the focus at the moment\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#5f676a\(dq; - border = \(dq#333333\(dq; - childBorder = \(dq#5f676a\(dq; - indicator = \(dq#484e50\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.placeholder\fR -.RS 4 -Background and text color are used to draw placeholder window contents (when restoring layouts)\&. Border and indicator are ignored\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#0c0c0c\(dq; - border = \(dq#000000\(dq; - childBorder = \(dq#0c0c0c\(dq; - indicator = \(dq#000000\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.unfocused\fR -.RS 4 -A window which is not focused\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#222222\(dq; - border = \(dq#333333\(dq; - childBorder = \(dq#222222\(dq; - indicator = \(dq#292d2e\(dq; - text = \(dq#888888\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.colors\&.urgent\fR -.RS 4 -A window which has its urgency hint activated\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - background = \(dq#900000\(dq; - border = \(dq#2f343a\(dq; - childBorder = \(dq#900000\(dq; - indicator = \(dq#900000\(dq; - text = \(dq#ffffff\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.defaultWorkspace\fR -.RS 4 -The default workspace to show when i3 is launched\&. This must to correspond to the value of the keybinding of the default workspace\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqworkspace number 9\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.floating\fR -.RS 4 -Floating window settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.floating\&.border\fR -.RS 4 -Floating windows border width\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.floating\&.criteria\fR -.RS 4 -List of criteria for windows that should be opened in a floating mode\&. -.sp -\fIType:\fR list of attribute set of (string or boolean) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - title = \(dqSteam \- Update News\(dq; - } - { - class = \(dqPavucontrol\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.floating\&.modifier\fR -.RS 4 -Modifier key or keys that can be used to drag floating windows\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqi3\&.config\&.modifier\(dq -.sp -\fIExample:\fR \(dqMod4\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.floating\&.titlebar\fR -.RS 4 -Whether to show floating window titlebars\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - true for state version \[u2265] 23\&.05 - config\&.gaps == null for state version < 23\&.05 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\fR -.RS 4 -Focus related settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\&.followMouse\fR -.RS 4 -Whether focus should follow the mouse\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\&.forceWrapping\fR -.RS 4 -Whether to force focus wrapping in tabbed or stacked containers\&. -.sp -This option is deprecated, use \fBfocus\&.wrapping\fP instead\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\&.mouseWarping\fR -.RS 4 -Whether mouse cursor should be warped to the center of the window when switching focus to a window on a different output\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\&.newWindow\fR -.RS 4 -This option modifies focus behavior on new window activation\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#focus_on_window_activation\fR[1]\fR -.sp -\fIType:\fR one of \[u201C]smart\[u201D], \[u201C]urgent\[u201D], \[u201C]focus\[u201D], \[u201C]none\[u201D] -.sp -\fIDefault:\fR \(dqsmart\(dq -.sp -\fIExample:\fR \(dqnone\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#focus_on_window_activation -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.focus\&.wrapping\fR -.RS 4 -Whether the window focus commands automatically wrap around the edge of containers\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_focus_wrapping\fR[1]\fR -.sp -\fIType:\fR one of \[u201C]yes\[u201D], \[u201C]no\[u201D], \[u201C]force\[u201D], \[u201C]workspace\[u201D] -.sp -\fIDefault:\fR \(dqyes\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_focus_wrapping -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.fonts\fR -.RS 4 -Font configuration for window titles, nagbar\[u2026] -.sp -\fIType:\fR (list of string) or (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - names = [ \(dqDejaVu Sans Mono\(dq \(dqFontAwesome5Free\(dq ]; - style = \(dqBold Semi\-Condensed\(dq; - size = 11\&.0; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\fR -.RS 4 -Gaps related settings\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.bottom\fR -.RS 4 -Bottom gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.horizontal\fR -.RS 4 -Horizontal gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.inner\fR -.RS 4 -Inner gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 12 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.left\fR -.RS 4 -Left gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.outer\fR -.RS 4 -Outer gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.right\fR -.RS 4 -Right gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.smartBorders\fR -.RS 4 -This option controls whether to disable container borders on workspace with a single container\&. -.sp -\fIType:\fR one of \[u201C]on\[u201D], \[u201C]off\[u201D], \[u201C]no_gaps\[u201D] -.sp -\fIDefault:\fR \(dqoff\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.smartGaps\fR -.RS 4 -This option controls whether to disable all gaps (outer and inner) on workspace with a single container\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.top\fR -.RS 4 -Top gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.gaps\&.vertical\fR -.RS 4 -Vertical gaps value\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.keybindings\fR -.RS 4 -An attribute set that assigns a key press to an action using a key symbol\&. See \fBhttps://i3wm\&.org/docs/userguide\&.html#keybindings\fR[1]\fR\&. -.sp -Consider to use \fR\(oqlib\&.mkOptionDefault\(cq\fP function to extend or override default keybindings instead of specifying all of them from scratch\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR \(dqDefault i3 keybindings\&.\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -let - modifier = config\&.xsession\&.windowManager\&.i3\&.config\&.modifier; -in lib\&.mkOptionDefault { - \(dq${modifier}+Return\(dq = \(dqexec i3\-sensible\-terminal\(dq; - \(dq${modifier}+Shift+q\(dq = \(dqkill\(dq; - \(dq${modifier}+d\(dq = \(dqexec ${pkgs\&.dmenu}/bin/dmenu_run\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#keybindings -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.keycodebindings\fR -.RS 4 -An attribute set that assigns keypress to an action using key code\&. See \fBhttps://i3wm\&.org/docs/userguide\&.html#keybindings\fR[1]\fR\&. -.sp -\fIType:\fR attribute set of (null or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq214\(dq = \(dqexec /bin/script\&.sh\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#keybindings -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.menu\fR -.RS 4 -Default launcher to use\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\e${pkgs\&.dmenu}/bin/dmenu_run\(dq -.sp -\fIExample:\fR \(dqbemenu\-run\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.modes\fR -.RS 4 -An attribute set that defines binding modes and keybindings inside them -.sp -Only basic keybinding is supported (bindsym keycomb action), for more advanced setup use \[u2018]i3\&.extraConfig\[u2019]\&. -.sp -\fIType:\fR attribute set of attribute set of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - resize = { - Down = \(dqresize grow height 10 px or 10 ppt\(dq; - Escape = \(dqmode default\(dq; - Left = \(dqresize shrink width 10 px or 10 ppt\(dq; - Return = \(dqmode default\(dq; - Right = \(dqresize grow width 10 px or 10 ppt\(dq; - Up = \(dqresize shrink height 10 px or 10 ppt\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.modifier\fR -.RS 4 -Modifier key that is used for all default keybindings\&. -.sp -\fIType:\fR one of \[u201C]Shift\[u201D], \[u201C]Control\[u201D], \[u201C]Mod1\[u201D], \[u201C]Mod2\[u201D], \[u201C]Mod3\[u201D], \[u201C]Mod4\[u201D], \[u201C]Mod5\[u201D] -.sp -\fIDefault:\fR \(dqMod1\(dq -.sp -\fIExample:\fR \(dqMod4\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.startup\fR -.RS 4 -Commands that should be executed at startup\&. -.sp -See \fBhttps://i3wm\&.org/docs/userguide\&.html#_automatically_starting_applications_on_i3_startup\fR[1]\fR\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ -{ command = \(dqsystemctl \-\-user restart polybar\(dq; always = true; notification = false; } -{ command = \(dqdropbox start\(dq; notification = false; } -{ command = \(dqfirefox\(dq; } -]; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://i3wm\&.org/docs/userguide\&.html#_automatically_starting_applications_on_i3_startup -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.startup\&.*\&.always\fR -.RS 4 -Whether to run command on each i3 restart\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.startup\&.*\&.command\fR -.RS 4 -Command that will be executed on startup\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.startup\&.*\&.notification\fR -.RS 4 -Whether to enable startup\-notification support for the command\&. See \fB\-\-no\-startup\-id\fP option description in the i3 user guide\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.startup\&.*\&.workspace\fR -.RS 4 -Launch application on a particular workspace\&. DEPRECATED: Use \fBxsession.windowManager.i3.config.assigns\fR[1]\fR instead\&. See \fBhttps://github\&.com/nix\-community/home\-manager/issues/265\fR[2]\fR\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBxsession\&.windowManager\&.i3\&.config\&.assigns\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/nix\-community/home\-manager/issues/265 -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.terminal\fR -.RS 4 -Default terminal to run\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqi3\-sensible\-terminal\(dq -.sp -\fIExample:\fR \(dqalacritty\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\fR -.RS 4 -Window titlebar and border settings\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.border\fR -.RS 4 -Window border width\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.commands\fR -.RS 4 -List of commands that should be executed on specific windows\&. See \fBfor_window\fP i3wm option documentation\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - command = \(dqborder pixel 1\(dq; - criteria = { - class = \(dqXTerm\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.commands\&.*\&.command\fR -.RS 4 -i3wm command to execute\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqborder pixel 1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.commands\&.*\&.criteria\fR -.RS 4 -Criteria of the windows on which command should be executed\&. -.sp -A value of \fR\(oqtrue\(cq\fP is equivalent to using an empty criteria (which is different from an empty string criteria)\&. -.sp -\fIType:\fR attribute set of (string or boolean) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - title = \(dqx200: \(ti/work\(dq; - floating = true; -}; -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.hideEdgeBorders\fR -.RS 4 -Hide window borders adjacent to the screen edges\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]vertical\[u201D], \[u201C]horizontal\[u201D], \[u201C]both\[u201D], \[u201C]smart\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.window\&.titlebar\fR -.RS 4 -Whether to show window titlebars\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - true for state version \[u2265] 23\&.05 - config\&.gaps == null for state version < 23\&.05 -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.workspaceAutoBackAndForth\fR -.RS 4 -Assume you are on workspace \[u201C]1: www\[u201D] and switch to \[u201C]2: IM\[u201D] using mod+2 because somebody sent you a message\&. You don\[u2019]t need to remember where you came from now, you can just press $mod+2 again to switch back to \[u201C]1: www\[u201D]\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.workspaceLayout\fR -.RS 4 -The mode in which new containers on workspace level will start\&. -.sp -\fIType:\fR one of \[u201C]default\[u201D], \[u201C]stacking\[u201D], \[u201C]tabbed\[u201D] -.sp -\fIDefault:\fR \(dqdefault\(dq -.sp -\fIExample:\fR \(dqtabbed\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.workspaceOutputAssign\fR -.RS 4 -Assign workspaces to outputs\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.workspaceOutputAssign\&.*\&.output\fR -.RS 4 -Name(s) of the output(s) from \fB i3\-msg \-t get_outputs \fP\&. -.sp -\fIType:\fR string or list of string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqeDP\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.config\&.workspaceOutputAssign\&.*\&.workspace\fR -.RS 4 -Name of the workspace to assign\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqWeb\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.i3\&.extraConfig\fR -.RS 4 -Extra configuration lines to add to \(ti/\&.config/i3/config\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/i3\-sway/i3\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.enable\fR -.RS 4 -Whether to enable Spectrwm window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.package\fR -.RS 4 -The spectrwm package to use\&. providing the spectrwm command -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.spectrwm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.bindings\fR -.RS 4 -Spectrwm keybindings\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - term = \(dqMod+Return\(dq; - restart = \(dqMod+Shift+r\(dq; - quit = \(dqMod+Shift+q\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.programs\fR -.RS 4 -Spectrwm programs variables\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - term = \(dqalacritty\(dq; - search = \(dqdmenu \-ip \-p \(aqWindow name/id:\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.quirks\fR -.RS 4 -Spectrwm quicks (custom window rules)\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Matplotlib = \(dqFLOAT\(dq; - Pavucontrol = \(dqFLOAT\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.settings\fR -.RS 4 -Spectrwm settings\&. -.sp -\fIType:\fR attribute set of (boolean or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - modkey = \(dqMod4\(dq; - workspace_limit = 5; - focus_mode = \(dqmanual\(dq; - focus_close = \(dqnext\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.spectrwm\&.unbindings\fR -.RS 4 -List of keybindings to disable from default Spectrwm configuration\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqMOD+e\(dq - \(dqMOD+f\(dq - \(dqMOD+m\(dq - \(dqMOD+s\(dq - \(dqMOD+u\(dq - \(dqMOD+t\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/spectrwm\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.enable\fR -.RS 4 -Whether to enable xmonad window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.enableContribAndExtras\fR -.RS 4 -Enable xmonad\-{contrib,extras} in xmonad\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.config\fR -.RS 4 -The configuration file to be used for xmonad\&. This must be an absolute path or \fR\(oqnull\(cq\fP in which case \fI\(ti/\&.xmonad/xmonad\&.hs\fP will not be managed by Home Manager\&. -.sp -If this option is set to a non\-\fR\(oqnull\(cq\fP value, recompilation of xmonad outside of Home Manager (e\&.g\&. via \fBxmonad \-\-recompile\fP) will fail\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -pkgs\&.writeText \(dqxmonad\&.hs\(dq \(aq\(aq - import XMonad - main = xmonad defaultConfig - { terminal = \(dqurxvt\(dq - , modMask = mod4Mask - , borderWidth = 3 - } -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.extraPackages\fR -.RS 4 -Extra packages available to GHC when rebuilding xmonad\&. The value must be a function which receives the attribute set defined in \fIhaskellPackages\fP as the sole argument\&. -.sp -\fIType:\fR unspecified value -.sp -\fIDefault:\fR \(dqself: []\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -haskellPackages: [ - haskellPackages\&.xmonad\-contrib - haskellPackages\&.monad\-logger -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.haskellPackages\fR -.RS 4 -The \fIhaskellPackages\fP used to build xmonad and other packages\&. This can be used to change the GHC version used to build xmonad and the packages listed in \fIextraPackages\fP\&. -.sp -\fIType:\fR unspecified value -.sp -\fIDefault:\fR pkgs\&.haskellPackages -.sp -\fIExample:\fR pkgs\&.haskell\&.packages\&.ghc784 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.PP -\fBxsession\&.windowManager\&.xmonad\&.libFiles\fR -.RS 4 -Additional files that will be saved in \fI\(ti/\&.xmonad/lib/\fP and included in the configuration build\&. The keys are the file names while the values are paths to the contents of the files\&. -.sp -\fIType:\fR attribute set of absolute path -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqTools\&.hs\(dq = pkgs\&.writeText \(dqTools\&.hs\(dq \(aq\(aq - module Tools where - screenshot = \(dqscrot\(dq - \(aq\(aq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<home\-manager/modules/services/window\-managers/xmonad\&.nix>\fP -.RE -.RE -.SH "AUTHORS" -.PP -Home Manager contributors \ No newline at end of file diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/manpath.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/manpath.5.gz deleted file mode 100644 index 3ae02638..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/manpath.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man5/nixvim.5.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man5/nixvim.5.gz deleted file mode 100644 index 7421ea51..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man5/nixvim.5.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/git-lfs-faq.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/git-lfs-faq.7.gz deleted file mode 100644 index aa5567cb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/git-lfs-faq.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcli.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcli.7.gz deleted file mode 100644 index bae4d411..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcli.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcore-tutorial.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcore-tutorial.7.gz deleted file mode 100644 index 740b52c4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcore-tutorial.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcredentials.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcredentials.7.gz deleted file mode 100644 index bfa63c46..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcredentials.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcvs-migration.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcvs-migration.7.gz deleted file mode 100644 index 44eda0cb..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitcvs-migration.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitdiffcore.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitdiffcore.7.gz deleted file mode 100644 index decde472..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitdiffcore.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/giteveryday.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/giteveryday.7.gz deleted file mode 100644 index b594eb9f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/giteveryday.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitfaq.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitfaq.7.gz deleted file mode 100644 index f73de423..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitfaq.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitglossary.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitglossary.7.gz deleted file mode 100644 index 89e831f4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitglossary.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitnamespaces.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitnamespaces.7.gz deleted file mode 100644 index 0dafc764..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitnamespaces.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitpacking.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitpacking.7.gz deleted file mode 100644 index 7d26d868..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitpacking.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitremote-helpers.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitremote-helpers.7.gz deleted file mode 100644 index 5ae87c03..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitremote-helpers.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitrevisions.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitrevisions.7.gz deleted file mode 100644 index 405cf9cc..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitrevisions.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitsubmodules.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitsubmodules.7.gz deleted file mode 100644 index 8b42c164..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitsubmodules.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial-2.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial-2.7.gz deleted file mode 100644 index 85a4d68d..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial-2.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial.7.gz deleted file mode 100644 index 3e2ff7d4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gittutorial.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitworkflows.7.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitworkflows.7.gz deleted file mode 100644 index 4607a0f7..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man7/gitworkflows.7.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man8/accessdb.8.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man8/accessdb.8.gz deleted file mode 100644 index f47516d4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man8/accessdb.8.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man8/catman.8.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man8/catman.8.gz deleted file mode 100644 index f4b7bb14..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man8/catman.8.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man8/mandb.8.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man8/mandb.8.gz deleted file mode 100644 index 677d3086..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man8/mandb.8.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/man/man8/stow.8.gz b/result/etc/profiles/per-user/bdsqqq/share/man/man8/stow.8.gz deleted file mode 100644 index 6c235a8f..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/man/man8/stow.8.gz and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux b/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux deleted file mode 100644 index cb376de4..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux-256color b/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux-256color deleted file mode 100644 index 6b09937b..00000000 Binary files a/result/etc/profiles/per-user/bdsqqq/share/terminfo/74/tmux-256color and /dev/null differ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_adjust b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_adjust deleted file mode 100644 index 5ee2a494..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_adjust +++ /dev/null @@ -1,8 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ -n ${vcs_comm[overwrite_name]} ]] && vcs=${vcs_comm[overwrite_name]} -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_bydir_detect b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_bydir_detect deleted file mode 100644 index 89b4d650..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_bydir_detect +++ /dev/null @@ -1,41 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -# Helper function for VCS_INFO_detect_* -# -# Usage: -# vcs_comm[detect_need_file]=FILENAMES VCS_INFO_bydir_detect DIRNAME -# where DIRNAME is a directory name and FILENAMES is a space-separated list -# of filenames. -# -# If any parent directory of the current working directory, other than the root -# directory, contains a subdirectory named DIRNAME that contains a file whose name -# is in FILENAMES, set vcs_comm[basedir] to the path of that parent directory and -# return true. Otherwise, return false. - -setopt localoptions NO_shwordsplit -local dirname=$1 -local basedir="." file - -basedir=${basedir:P} -while [[ ${basedir} != '/' ]]; do - [[ -r ${basedir} ]] || return 1 - if [[ -n ${vcs_comm[detect_need_file]} ]] ; then - [[ -d ${basedir}/${dirname} ]] && { - for file in ${(s: :)${vcs_comm[detect_need_file]}}; do - [[ -e ${basedir}/${dirname}/${file} ]] && break 2 - done - } - else - [[ -d ${basedir}/${dirname} ]] && break - fi - - basedir=${basedir:h} -done - -[[ ${basedir} == "/" ]] && return 1 -vcs_comm[basedir]=${basedir} -# TODO: Would the following be correct? --- -# rrn=${vcs_comm[basedir]:t} -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_check_com b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_check_com deleted file mode 100644 index 1b86593a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_check_com +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -case $1 in - (/*) - [[ -x $1 ]] && return 0 - ;; - (*) - (( ${+commands[$1]} )) && return 0 -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_bzr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_bzr deleted file mode 100644 index 0b12fb54..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_bzr +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## bazaar support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com bzr || return 1 -vcs_comm[detect_need_file]=branch/format -VCS_INFO_bydir_detect '.bzr' -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cdv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cdv deleted file mode 100644 index a0324533..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cdv +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## codeville support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=format -VCS_INFO_bydir_detect '.cdv' -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cvs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cvs deleted file mode 100644 index a57959ec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_cvs +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -## cvs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -if ! [[ -d "./CVS" ]] || ! [[ -r "./CVS/Repository" ]] ; then - return 1 -fi - -# Look for the most distant parent that still has a CVS subdirectory. -local cvsbase="." -cvsbase=${cvsbase:P} -while [[ -d "${cvsbase:h}/CVS" ]]; do - cvsbase="${cvsbase:h}" - if [[ $cvsbase == '/' ]]; then - break - fi -done - -vcs_comm[basedir]="${cvsbase}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_darcs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_darcs deleted file mode 100644 index 1e3f5476..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_darcs +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## darcs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=format -VCS_INFO_bydir_detect '_darcs' -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_fossil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_fossil deleted file mode 100644 index a44b33eb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_fossil +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## fossil support by: Mike Meyer <mwm@mired.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="_FOSSIL_ .fslckout" -VCS_INFO_bydir_detect . || return 1 - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_git b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_git deleted file mode 100644 index b7955de3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_git +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## git support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && { print -l git-p4 git-svn; return 0 } - -if VCS_INFO_check_com ${vcs_comm[cmd]} && vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" ; then - vcs_comm[basedir]="$( ${vcs_comm[cmd]} rev-parse --show-toplevel 2> /dev/null )" - if [[ -d ${vcs_comm[gitdir]}/svn ]] ; then vcs_comm[overwrite_name]='git-svn' - elif [[ -d ${vcs_comm[gitdir]}/refs/remotes/p4 ]] ; then vcs_comm[overwrite_name]='git-p4' ; fi - return 0 -fi -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_hg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_hg deleted file mode 100644 index d7b1d0d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_hg +++ /dev/null @@ -1,20 +0,0 @@ -## vim:ft=zsh -## mercurial support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && { print -l hg-git hg-hgsubversion hg-hgsvn; return 0 } - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="store data sharedpath" -VCS_INFO_bydir_detect '.hg' || return 1 - -if [[ -d ${vcs_comm[basedir]}/.hg/svn ]] ; then - vcs_comm[overwrite_name]='hg-hgsubversion' -elif [[ -d ${vcs_comm[basedir]}/.hgsvn ]] ; then - vcs_comm[overwrite_name]='hg-hgsvn' -elif [[ -e ${vcs_comm[basedir]}/.hg/git-mapfile ]] ; then - vcs_comm[overwrite_name]='hg-git' -fi -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_mtn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_mtn deleted file mode 100644 index 3f88ba2e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_mtn +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## monotone support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=revision -VCS_INFO_bydir_detect '_MTN' -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_p4 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_p4 deleted file mode 100644 index 5ec21da9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_p4 +++ /dev/null @@ -1,78 +0,0 @@ -## vim:ft=zsh -## perforce support by: Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -# If use-server is true in the :vcs_info:p4:... context, contact the -# server to decide whether the directory is handled by Perforce. This can -# cause a delay if the network times out, in particular if looking up the -# server name failed. Hence this is not the default. If a timeout -# occurred, the server:port pair is added to the associative array -# vcs_info_p4_dead_servers and the server is never contacted again. The -# array must be edited by hand to remove it. -# -# If use-server is false or not set, the function looks to see if there is -# a file $P4CONFIG somewhere above in the hierarchy. This is far from -# foolproof; in fact it relies on you using the particular working practice -# of having such files in all client root directories and nowhere above. - - -(( ${+functions[VCS_INFO_p4_get_server]} )) || -VCS_INFO_p4_get_server() { - emulate -L zsh - setopt extendedglob - - local -a settings - settings=(${(f)"$(${vcs_comm[cmd]} set)"}) - serverport=${${settings[(r)P4PORT=*]##P4PORT=}%% *} - case $serverport in - (''|:) - serverport=perforce:1666 - ;; - - (:*) - serverport=perforce${serverport} - ;; - - (*:) - serverport=${serverport}1666 - ;; - - (<->) - serverport=perforce:${serverport} - ;; - esac -} - - -VCS_INFO_detect_p4() { - local serverport p4where - - if zstyle -t ":vcs_info:p4:${usercontext}:${rrn}" use-server; then - # Use "p4 where" to decide whether the path is under the - # client workspace. - if (( ${#vcs_info_p4_dead_servers} )); then - # See if the server is in the list of defunct servers - VCS_INFO_p4_get_server - [[ -n $vcs_info_p4_dead_servers[$serverport] ]] && return 1 - fi - if p4where="$(${vcs_comm[cmd]} where 2>&1)"; then - return 0 - fi - if [[ $p4where = *"Connect to server failed"* ]]; then - # If the connection failed, mark the server as defunct. - # Otherwise it worked but we weren't within a client. - typeset -gA vcs_info_p4_dead_servers - [[ -z $serverport ]] && VCS_INFO_p4_get_server - vcs_info_p4_dead_servers[$serverport]=1 - fi - return 1 - else - [[ -n ${P4CONFIG} ]] || return 1 - VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 - vcs_comm[detect_need_file]="${P4CONFIG}" - VCS_INFO_bydir_detect . - return $? - fi -} - -VCS_INFO_detect_p4 "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svk deleted file mode 100644 index e21b2dd7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svk +++ /dev/null @@ -1,40 +0,0 @@ -## vim:ft=zsh -## svk support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -# This detection function is a bit different from the others. -# We need to read svk's config file to detect a svk repository -# in the first place. Therefore, we'll just proceed and read -# the other information, too. This is more then any of the -# other detections do but this takes only one file open for -# svk at most. VCS_INFO_get_data_svk() gets simpler, too. :-) - -setopt localoptions noksharrays extendedglob -local -i fhash -fhash=0 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -[[ -f ~/.svk/config ]] || return 1 - -while IFS= read -r line ; do - if [[ -n ${vcs_comm[basedir]} ]] ; then - line=${line## ##} - [[ ${line} == depotpath:* ]] && vcs_comm[branch]=${line##*/} - [[ ${line} == revision:* ]] && vcs_comm[revision]=${line##*[[:space:]]##} - [[ -n ${vcs_comm[branch]} ]] && [[ -n ${vcs_comm[revision]} ]] && break - continue - fi - (( fhash > 0 )) && [[ ${line} == ' '[^[:space:]]*:* ]] && break - [[ ${line} == ' hash:'* ]] && fhash=1 && continue - (( fhash == 0 )) && continue - [[ ${PWD}/ == ${${line## ##}%:*}/* ]] && vcs_comm[basedir]=${${line## ##}%:*} -done < ~/.svk/config - -[[ -n ${vcs_comm[basedir]} ]] && \ -[[ -n ${vcs_comm[branch]} ]] && \ -[[ -n ${vcs_comm[revision]} ]] && return 0 -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svn deleted file mode 100644 index c2288e42..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_svn +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## subversion support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="entries format wc.db" -VCS_INFO_bydir_detect '.svn' || return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_tla b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_tla deleted file mode 100644 index ac4dbd73..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_detect_tla +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## gnu arch support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[basedir]="$(${vcs_comm[cmd]} tree-root 2> /dev/null)" && return 0 -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_formats b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_formats deleted file mode 100644 index daf169f2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_formats +++ /dev/null @@ -1,106 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays NO_shwordsplit -local msg tmp -local -i i -local -A hook_com -# The _origs are needed because hooks can change values and there would -# be no way to get the originals back for later hooks (a hook is run for -# each message, that's being created). -hook_com=( - action "$1" - action_orig "$1" - branch "$2" - branch_orig "$2" - base "$3" - base_orig "$3" - staged "$4" - staged_orig "$4" - unstaged "$5" - unstaged_orig "$5" - revision "$6" - revision_orig "$6" - misc "$7" - misc_orig "$7" - vcs "${vcs}" - vcs_orig "${vcs}" -) -hook_com[base-name]="${${hook_com[base]}:t}" -hook_com[base-name_orig]="${hook_com[base-name]}" -hook_com[subdir]="$(VCS_INFO_reposub ${hook_com[base]})" -hook_com[subdir_orig]="${hook_com[subdir]}" - -VCS_INFO_hook 'post-backend' - -## description (for backend authors): -# action: a string that signals a certain non-default condition in the -# repository (like 'rebase-i' in git). If this in non-empty, -# the actionformats will be used, too. -# branch: the name of the currently checked out branch. -# base: the full name of the repository's root directory. -# staged: non-empty if the repository contains staged changes. -# unstaged: non-empty if the repository contains unstaged changes. -# revision: an identifier of the currently checked out revision. -# misc: a string that may contain anything the backend author likes. -# -# If an argument has no valid value for a given backend, an empty value -# should be provided. eg: -# VCS_INFO_formats '' "${foobranch}" "${foobase}" '' '' '' "${foomisc}" - -## description (vcs_info internals): -# This function is called by the backend with information about the repository, -# and (after some manipulations) populates the ${msgs} variable in preparation -# for calling VCS_INFO_set. - -if [[ -n ${hook_com[action]} ]] ; then - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" actionformats msgs - (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b|%a]%u%c-' -else - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" formats msgs - (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b]%u%c-' -fi - -if [[ -n ${hook_com[staged]} ]] ; then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" stagedstr tmp - [[ -z ${tmp} ]] && hook_com[staged]='S' || hook_com[staged]=${tmp} -fi - -if [[ -n ${hook_com[unstaged]} ]] ; then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" unstagedstr tmp - [[ -z ${tmp} ]] && hook_com[unstaged]='U' || hook_com[unstaged]=${tmp} -fi - -if [[ ${quiltmode} != 'standalone' ]] && VCS_INFO_hook "pre-addon-quilt"; then - local REPLY - VCS_INFO_quilt addon - hook_com[quilt]="${REPLY}" - unset REPLY -elif [[ ${quiltmode} == 'standalone' ]]; then - hook_com[quilt]=${hook_com[misc]} -fi - -(( ${#msgs} > maxexports )) && msgs[$(( maxexports + 1 )),-1]=() -for i in {1..${#msgs}} ; do - if VCS_INFO_hook "set-message" $(( $i - 1 )) "${msgs[$i]}"; then - zformat -f msg ${msgs[$i]} \ - a:${hook_com[action]} \ - b:${hook_com[branch]} \ - c:${hook_com[staged]} \ - i:${hook_com[revision]} \ - m:${hook_com[misc]} \ - r:${hook_com[base-name]} \ - s:${hook_com[vcs]} \ - u:${hook_com[unstaged]} \ - Q:${hook_com[quilt]} \ - R:${hook_com[base]} \ - S:${hook_com[subdir]} - msgs[$i]=${msg} - else - msgs[$i]=${hook_com[message]} - fi -done -hook_com=() -backend_misc=() -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_cmd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_cmd deleted file mode 100644 index 26046f1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_cmd +++ /dev/null @@ -1,6 +0,0 @@ -## vim:ft=zsh -# find out if the user wants us to use a special binary. -# the default command name is the same as the backend name. -local cmd -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" "command" cmd -vcs_comm[cmd]=${cmd:-$vcs} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_bzr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_bzr deleted file mode 100644 index f1f5527e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_bzr +++ /dev/null @@ -1,106 +0,0 @@ -## vim:ft=zsh et -## bazaar support by: Frank Terbeck <ft@bewatermyfriend.org> -## mostly rewritten by: Jan Pobrislo <ccx@webprojekty.cz> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local bzrbase bzrbr bzr_changes bzr_type -local -a bzrinfo -local -A hook_com bzr_info - -(( ${+functions[VCS_INFO_bzr_get_info]} )) || -VCS_INFO_bzr_get_info() { - bzrinfo=( ${(s.:.)$( ${vcs_comm[cmd]} version-info --custom \ - --template="{revno}:{branch_nick}:{clean}")} ) - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" - then - VCS_INFO_bzr_get_changes - elif [[ ${bzrinfo[2]} == 1 ]] - then - bzr_changes = '1' - fi -} - -(( ${+functions[VCS_INFO_bzr_get_info_restricted]} )) || -VCS_INFO_bzr_get_info_restricted() { - # we are forbidden from fetching info on bound branch from remote repository - bzrinfo=( $(${vcs_comm[cmd]} revno) ${bzrbase:t} ) - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" && \ - [[ ! $bzr_type == lightweigth ]] - then - VCS_INFO_bzr_get_changes - fi -} - -(( ${+functions[VCS_INFO_bzr_get_changes]} )) || -VCS_INFO_bzr_get_changes() { - local -A counts - local line flag - bzr_changes=$( - ${vcs_comm[cmd]} stat -SV | while read flag line - do - counts[${flag}]=$(( ${counts[${flag}]:-0} + 1 )) - done - for flag in ${(k)counts} - do - printf "%s:%d " $flag ${counts[${flag}]} - done - ) -} - -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "use-simple" ; then - # simple parsing will fail to fetch information from lightweigth checkouts - bzrbase=${vcs_comm[basedir]} - bzrinfo[2]=${bzrbase:t} - if [[ -f ${bzrbase}/.bzr/branch/last-revision ]] ; then - bzrinfo[1]=$(< ${bzrbase}/.bzr/branch/last-revision) - bzrinfo[1]=${${bzrinfo[1]}%% *} - fi -else - # Parse the output of 'bzr info' into associative array bzr_info - ${vcs_comm[cmd]} info | { - local line key value dirtype - read dirtype - grep '^[ a-zA-Z0-9]\+: ' | while read line - do - value=${line#*': '} - key=${${line%%: *}// /_} - bzr_info[$key]=$value - done - } - - case "$dirtype" in - ('Checkout'*) - bzr_type=checkout - bzrbase=${bzr_info[checkout_root]} ;; - ('Repository checkout'*) - bzr_type=checkout - bzrbase=${bzr_info[repository_checkout_root]} ;; - ('Lightweight checkout'*) - bzr_type=lightweigth - bzrbase=${bzr_info[light_checkout_root]} ;; - (*) - bzr_type=standalone - bzrbase=${bzr_info[branch_root]} ;; - esac - - bzrbase=${bzrbase:P} - - if [ -n "${bzr_info[checkout_of_branch]}" ] && \ - zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "use-server" - then - VCS_INFO_bzr_get_info - else - case ${bzr_info[checkout_of_branch]} in - (file://*) VCS_INFO_bzr_get_info ;; - (*://*) VCS_INFO_bzr_get_info_restricted ;; - (*) VCS_INFO_bzr_get_info ;; - esac - fi -fi - -rrn=${bzrbase:t} -VCS_INFO_set-branch-format "${bzrinfo[2]}" "${bzrinfo[1]}" && - bzrbr="${REPLY}" -VCS_INFO_formats '' "${bzrbr}" "${bzrbase}" '' "${bzr_changes}" "${bzrinfo[1]}" "${bzr_changes}" -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cdv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cdv deleted file mode 100644 index 4f811848..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cdv +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## codeville support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local cdvbase - -cdvbase=${vcs_comm[basedir]} -rrn=${cdvbase:t} -VCS_INFO_formats '' "${cdvbase:t}" "${cdvbase}" '' '' '' '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cvs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cvs deleted file mode 100644 index bc0d5cfe..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_cvs +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## cvs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local cvsbranch cvsbase - -cvsbase="${vcs_comm[basedir]}" -# VCS_INFO_detect_cvs ensured that ./CVS/Repository exists. -cvsbranch=$(< ./CVS/Repository) -rrn=${cvsbase:t} -cvsbranch=${cvsbranch##${rrn}/} -[[ -z ${cvsbranch} ]] && cvsbranch=${rrn} -VCS_INFO_formats '' "${cvsbranch}" "${cvsbase}" '' '' '' '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_darcs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_darcs deleted file mode 100644 index 3f6a2264..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_darcs +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## darcs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local darcsbase - -darcsbase=${vcs_comm[basedir]} -rrn=${darcsbase:t} -VCS_INFO_formats '' "${darcsbase:t}" "${darcsbase}" '' '' '' '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_fossil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_fossil deleted file mode 100644 index e84b3abc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_fossil +++ /dev/null @@ -1,25 +0,0 @@ -## vim:ft=zsh -## fossil support by: Mike Meyer (mwm@mired.org) -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob -local a b -local -A fsinfo -local fshash fsbranch changed merging action - -${vcs_comm[cmd]} status | - while IFS=: read a b; do - fsinfo[${a//-/_}]="${b## #}" - done - -fshash=${fsinfo[checkout]%% *} -fsbranch=${fsinfo[tags]%%, *} -changed=${(Mk)fsinfo:#(ADDED|EDITED|DELETED|UPDATED)*} -merging=${(Mk)fsinfo:#*_BY_MERGE*} -if [ -n "$merging" ]; then - action="merging" -fi - -rrn=${fsinfo[local_root]:t} -VCS_INFO_formats "$action" "${fsbranch}" "${fsinfo[local_root]}" '' "$changed" "${fshash}" "${fsinfo[repository]}" -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_git b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_git deleted file mode 100644 index e45eebc8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_git +++ /dev/null @@ -1,398 +0,0 @@ -## vim:ft=zsh -## git support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local gitdir gitbase gitbranch gitaction gitunstaged gitstaged gitsha1 gitmisc -local -i querystaged queryunstaged -local -a git_patches_applied git_patches_unapplied -local -A hook_com - -(( ${+functions[VCS_INFO_git_getaction]} )) || -VCS_INFO_git_getaction () { - local gitdir=$1 - local tmp - - for tmp in "${gitdir}/rebase-apply" \ - "${gitdir}/rebase" \ - "${gitdir}/../.dotest" ; do - if [[ -d ${tmp} ]] ; then - if [[ -f "${tmp}/rebasing" ]] ; then - gitaction="rebase" - elif [[ -f "${tmp}/applying" ]] ; then - gitaction="am" - else - gitaction="am/rebase" - fi - return 0 - fi - done - - for tmp in "${gitdir}/rebase-merge/interactive" \ - "${gitdir}/.dotest-merge/interactive" ; do - if [[ -f "${tmp}" ]] ; then - gitaction="rebase-i" - return 0 - fi - done - - for tmp in "${gitdir}/rebase-merge" \ - "${gitdir}/.dotest-merge" ; do - if [[ -d "${tmp}" ]] ; then - gitaction="rebase-m" - return 0 - fi - done - - if [[ -f "${gitdir}/MERGE_HEAD" ]] ; then - gitaction="merge" - return 0 - fi - - if [[ -f "${gitdir}/BISECT_LOG" ]] ; then - gitaction="bisect" - return 0 - fi - - if [[ -f "${gitdir}/CHERRY_PICK_HEAD" ]] ; then - if [[ -d "${gitdir}/sequencer" ]] ; then - gitaction=cherry-seq - else - gitaction=cherry - fi - return 0 - fi - - if [[ -d "${gitdir}/sequencer" ]] ; then - gitaction="cherry-or-revert" - return 0 - fi - - return 1 -} - -(( ${+functions[VCS_INFO_git_getbranch]} )) || -VCS_INFO_git_getbranch () { - local gitdir=$1 tmp actiondir - local gitsymref="${vcs_comm[cmd]} symbolic-ref HEAD" - - actiondir='' - for tmp in "${gitdir}/rebase-apply" \ - "${gitdir}/rebase" \ - "${gitdir}/../.dotest"; do - if [[ -d ${tmp} ]]; then - actiondir=${tmp} - break - fi - done - if [[ -n ${actiondir} ]]; then - gitbranch="$(${(z)gitsymref} 2> /dev/null)" - [[ -z ${gitbranch} ]] && [[ -r ${actiondir}/head-name ]] \ - && gitbranch="$(< ${actiondir}/head-name)" - [[ -z ${gitbranch} || ${gitbranch} == 'detached HEAD' ]] && [[ -r ${actiondir}/onto ]] \ - && gitbranch="$(< ${actiondir}/onto)" - - elif [[ -f "${gitdir}/MERGE_HEAD" ]] ; then - gitbranch="$(${(z)gitsymref} 2> /dev/null)" - [[ -z ${gitbranch} ]] && gitbranch="$(< ${gitdir}/ORIG_HEAD)" - - elif [[ -d "${gitdir}/rebase-merge" ]] ; then - gitbranch="$(< ${gitdir}/rebase-merge/head-name)" - if [[ $gitbranch == 'detached HEAD' ]]; then - # get a sha1 - gitbranch="$(< ${gitdir}/rebase-merge/orig-head)" - fi - - elif [[ -d "${gitdir}/.dotest-merge" ]] ; then - gitbranch="$(< ${gitdir}/.dotest-merge/head-name)" - - elif gitbranch="$(${(z)gitsymref} 2> /dev/null)" ; then - elif gitbranch="refs/tags/$(${vcs_comm[cmd]} describe --all --exact-match HEAD 2>/dev/null)" ; then - elif gitbranch="$(${vcs_comm[cmd]} describe --contains HEAD 2>/dev/null)" ; then - ## Commented out because we don't know of a case in which 'describe --contains' fails and 'name-rev --tags' succeeds. - #elif gitbranch="$(${vcs_comm[cmd]} name-rev --name-only --no-undefined --tags HEAD 2>/dev/null)" ; then - elif gitbranch="$(${vcs_comm[cmd]} name-rev --name-only --no-undefined --always HEAD 2>/dev/null)" ; then - fi - - if [[ -z ${gitbranch} ]] - then - gitbranch="${${"$(< $gitdir/HEAD)"}[1,7]}..." - fi - - return 0 -} - -(( ${+functions[VCS_INFO_git_handle_patches]} )) || -VCS_INFO_git_handle_patches () { - local git_applied_s git_unapplied_s gitmsg - # All callers populate $git_patches_applied and $git_patches_unapplied in - # order, but the hook requires us to reverse $git_patches_applied. - git_patches_applied=(${(Oa)git_patches_applied}) - - VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' \ - 'git_patches_unapplied' 'git_unapplied_s' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" gitmsg \ - '' '' '' - gitmisc=$REPLY -} - -gitdir=${vcs_comm[gitdir]} -VCS_INFO_git_getbranch ${gitdir} -gitbase=${vcs_comm[basedir]} -if [[ -z ${gitbase} ]]; then - # Bare repository - gitbase=${gitdir:P} -fi -rrn=${gitbase:t} -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-revision ; then - gitsha1=$(${vcs_comm[cmd]} rev-parse --quiet --verify HEAD) -else - gitsha1='' -fi -gitbranch="${gitbranch##refs/[^/]##/}" - -if [[ -z ${gitdir} ]] || [[ -z ${gitbranch} ]] ; then - return 1 -fi - -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" ; then - querystaged=1 - queryunstaged=1 -elif zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-staged-changes" ; then - querystaged=1 -fi -if (( querystaged || queryunstaged )) && \ - [[ "$(${vcs_comm[cmd]} rev-parse --is-inside-work-tree 2> /dev/null)" == 'true' ]] ; then - # Default: off - these are potentially expensive on big repositories - if (( queryunstaged )) ; then - ${vcs_comm[cmd]} diff --no-ext-diff --ignore-submodules=dirty --quiet --exit-code 2> /dev/null || - gitunstaged=1 - fi - if (( querystaged )) ; then - if ${vcs_comm[cmd]} rev-parse --quiet --verify HEAD &> /dev/null ; then - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty HEAD 2> /dev/null - (( $? && $? != 128 )) && gitstaged=1 - else - # empty repository (no commits yet) - # 4b825dc642cb6eb9a060e54bf8d69288fbee4904 is the git empty tree. - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty 4b825dc642cb6eb9a060e54bf8d69288fbee4904 2>/dev/null - (( $? && $? != 128 )) && gitstaged=1 - fi - fi -fi - -VCS_INFO_adjust -VCS_INFO_git_getaction ${gitdir} - -local patchdir=${gitdir}/patches/${gitbranch} -if [[ -d $patchdir ]] && [[ -f $patchdir/applied ]] \ - && [[ -f $patchdir/unapplied ]] -then - # stgit - git_patches_applied=(${(f)"$(< "${patchdir}/applied")"}) - git_patches_unapplied=(${(f)"$(< "${patchdir}/unapplied")"}) - VCS_INFO_git_handle_patches -elif [[ -d "${gitdir}/rebase-merge" ]]; then - # 'git rebase -i' - patchdir="${gitdir}/rebase-merge" - local p - (( ${+functions[VCS_INFO_git_map_rebase_line_to_hash_and_subject]} )) || - VCS_INFO_git_map_rebase_line_to_hash_and_subject() { - local p=$1 - unset REPLY - # pick/edit/fixup/squash/reword: Add "$hash $subject" to $git_patches_applied. - # exec: Add "exec ${command}" to $git_patches_applied. - # (anything else): As 'exec'. - case $p in - ([#]*) - # Comment line. Skip. - return 0 - ;; - (''(p|pick|e|edit|r|reword|f|fixup|s|squash)' '*) - # The line is of the form "pick $hash $subject". - # Just strip the verb and we're good to go. - p=${p#* } - # Special case: in an interactive rebase, if the user wrote "p $shorthash\n" - # in the editor (without a description after the hash), then the .../done - # file will contain "p $longhash $shorthash\n" (git 2.11.0) or "pick $longhash\n" - # (git 2.19.0). - if [[ $p != *\ * ]]; then - # The line is of the form "pick $longhash\n" - # - # Mark the log message subject as unknown. - # TODO: Can we performantly obtain the subject? - p+=" ?" - elif (( ${#${p//[^ ]}} == 1 )) && [[ ${p%% *} == ${p#* }* ]]; then - # The line is of the form "p $longhash $shorthash\n" - # - # The shorthash is superfluous, so discard it, and mark - # the log message subject as unknown. - # TODO: Can we performantly obtain the subject? - p="${p%% *} ?" - fi - ;; - (''(x|exec) *) - # The line is of the form 'exec foo bar baz' where 'foo bar - # baz' is a shell command. There's no way to map _that_ to - # "$hash $subject", but I hope this counts as making an effort. - p=${p/#x /exec } - ;; - (*) - # Forward compatibility with not-yet-existing 'git rebase -i' verbs. - if [[ $p != *\ * ]]; then - p+=" ?" - fi - esac - REPLY=$p - } - if [[ -f "${patchdir}/done" ]] ; then - for p in ${(f)"$(< "${patchdir}/done")"}; do - VCS_INFO_git_map_rebase_line_to_hash_and_subject "$p" - (( $+REPLY )) && git_patches_applied+=( "$REPLY" ) - done - fi - if [[ -f "${patchdir}/git-rebase-todo" ]] ; then - for p in ${(f)"$(< "${patchdir}/git-rebase-todo")"}; do - VCS_INFO_git_map_rebase_line_to_hash_and_subject "$p" - (( $+REPLY )) && git_patches_unapplied+=( "$REPLY" ) - done - fi - VCS_INFO_git_handle_patches -elif [[ -d "${gitdir}/rebase-apply" ]]; then - # 'git rebase' without -i, or 'git am' - patchdir="${gitdir}/rebase-apply" - local next="${patchdir}/next" - local this_patch_file - if [[ -f $next ]]; then - local cur=$(< $next) - local p subject - # Compute patch names for patches "before" the current patch - if [[ -r ${patchdir}/rewritten ]]; then - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple; then - git_patches_applied=( ${${(f)"$(<${patchdir}/rewritten)"}// */' ?'} ) - else - git_patches_applied=( - ${(f)"$(${vcs_comm[cmd]} log --no-walk=unsorted --pretty='%h %s' ${${(f)"$(<${patchdir}/rewritten)"}%% *} --)"} - ) - fi - else - # Compatibility with old git. In 2.11 and 2.24, at least, - # (( cur == 1 )), so the loop body would never run. However, both - # of these versions have original-commit and orig-head and would - # take the 'if' branch, rather than this 'else' branch. - for ((p = 1; p < cur; p++)); do - printf -v this_patch_file "%s/%04d" "${patchdir}" "${p}" - if [[ -f $this_patch_file ]]; then - VCS_INFO_patch2subject "${this_patch_file}" - git_patches_applied+=( "$p $REPLY" ) - else - git_patches_applied+=( "$p ?" ) - fi - done - fi - # Set $subject to the info for the current patch - if [[ -f "${patchdir}/msg-clean" ]]; then - subject="${$(< "${patchdir}/msg-clean")[(f)1]}" - elif [[ -f "${patchdir}/final-commit" ]]; then - # This value is not rfc2047-encoded. It's also available via - # "${patchdir}/info". - subject="${$(< "${patchdir}/final-commit")[(f)1]}" - elif printf -v this_patch_file "%s/%04d" "${patchdir}" "${cur}" - [[ -f $this_patch_file ]] - then - # This branch is last for several reasons: - # - # - The "Subject" header will be MIME-encoded (rfc2047). - # - # - If the mail has full rfc822 headers (including "Received" and - # so on), we won't find the "Subject:" header, since - # VCS_INFO_patch2subject only checks the first few lines. - # - # - In --scissors mode, we may find the outer "Subject:" header, - # whereas the inner one (after the scissors line) will be used, - # if present. - () { - local REPLY - VCS_INFO_patch2subject "${this_patch_file}" - subject=$REPLY - } - fi - subject=${subject:-'?'} - if [[ -f "${patchdir}/original-commit" ]]; then - git_patches_applied+=("$(< ${patchdir}/original-commit) $subject") - elif [[ -f "${patchdir}/next" ]]; then - git_patches_applied+=("$(< ${patchdir}/next) $subject") - else - git_patches_applied+=("? $subject") - fi - # Handle patches scheduled for after the current patch, if instructed to. - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-unapplied; then - local last="$(< "${patchdir}/last")" - if [[ -r ${patchdir}/original-commit && -r ${patchdir}/orig-head ]] && - ! zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple - then - git_patches_unapplied+=( ${(f)"$(${vcs_comm[cmd]} log --reverse --pretty="%h %s" "$(<${patchdir}/original-commit)..$(<${patchdir}/orig-head)")"} ) - else - for ((p = cur+1; p <= last; p++)); do - printf -v this_patch_file "%s/%04d" "${patchdir}" "${p}" - if [[ -f $this_patch_file ]]; then - VCS_INFO_patch2subject "${this_patch_file}" - git_patches_unapplied+=( "$p $REPLY" ) - else - git_patches_unapplied+=( "$p ?" ) - fi - done - fi - fi - fi - unset this_patch_file - - VCS_INFO_git_handle_patches -elif [[ -f "${gitdir}/MERGE_HEAD" ]]; then - # This is 'git merge --no-commit' - local -a heads=( ${(@f)"$(<"${gitdir}/MERGE_HEAD")"} ) - local subject; - # TODO: maybe read up to the first blank line - IFS='' read -r subject < "${gitdir}/MERGE_MSG" - # $subject is the subject line of the would-be commit - # Maybe we can get the subject lines of MERGE_HEAD's commits cheaply? - - local p - for p in $heads[@]; do - git_patches_applied+=("$p $subject") - done - unset p - - # Not touching git_patches_unapplied - - VCS_INFO_git_handle_patches -elif [[ -f "${gitdir}/CHERRY_PICK_HEAD" ]]; then - # 'git cherry-pick' without -n, that conflicted. (With -n, git doesn't - # record the CHERRY_PICK_HEAD information anywhere, as of git 2.6.2.) - # - # ### 'git cherry-pick foo bar baz' only records the "remaining" part of - # ### the queue in the .git dir: if 'bar' has a conflict, the .git dir - # ### has a record of 'baz' being queued, but no record of 'foo' having been - # ### part of the queue as well. Therefore, the %n/%c applied/unapplied - # ### expandos will be memoryless: the "applied" counter will always - # ### be "1". The %u/%c tuple will assume the values [(1,2), (1,1), (1,0)], - # ### whereas the correct sequence would be [(1,2), (2,1), (3,0)]. - local subject - # TODO: maybe read up to the first blank line - IFS='' read -r subject < "${gitdir}/MERGE_MSG" - git_patches_applied=( "$(<${gitdir}/CHERRY_PICK_HEAD) ${subject}" ) - if [[ -f "${gitdir}/sequencer/todo" ]]; then - # Get the next patches, and remove the one that's in CHERRY_PICK_HEAD. - git_patches_unapplied=( ${${(M)${(f)"$(<"${gitdir}/sequencer/todo")"}:#pick *}#pick } ) - git_patches_unapplied[1]=() - else - git_patches_unapplied=() - fi - VCS_INFO_git_handle_patches -else - gitmisc='' -fi - -backend_misc[patches]="${gitmisc}" -VCS_INFO_formats "${gitaction}" "${gitbranch}" "${gitbase}" "${gitstaged}" "${gitunstaged}" "${gitsha1}" "${gitmisc}" -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_hg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_hg deleted file mode 100644 index ea3798b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_hg +++ /dev/null @@ -1,244 +0,0 @@ -## vim:ft=zsh -## mercurial support by: Frank Terbeck <ft@bewatermyfriend.org> -## with large contributions by Seth House <seth@eseth.com> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit - -local hgbase bmfile branchfile topicfile rebasefile dirstatefile mqseriesfile \ - curbmfile curbm \ - mqstatusfile mqguardsfile patchdir mergedir \ - r_csetid r_lrev r_branch i_bmhash i_bmname \ - revformat branchformat hgactionstring hgchanges \ - hgbmstring hgmqstring applied_string unapplied_string guards_string - -local -a hgid_args defrevformat defbranchformat \ - hgbmarks mqpatches mqguards mqunapplied hgmisc \ - i_patch i_patchguards i_negguards i_posguards - -local -A hook_com - -hgbase=${vcs_comm[basedir]} -rrn=${hgbase:t} -r_csetid='' # changeset id (long hash) -r_lrev='' # local revision -patchdir="${hgbase}/.hg/patches" -mergedir="${hgbase}/.hg/merge/" -bmfile="${hgbase}/.hg/bookmarks" -curbmfile="${hgbase}/.hg/bookmarks.current" -branchfile="${hgbase}/.hg/branch" -topicfile="${hgbase}/.hg/topic" -rebasefile="${hgbase}/.hg/rebasestate" -dirstatefile="${hgbase}/.hg/dirstate" -mqstatusfile="${patchdir}/status" # currently applied patches -mqseriesfile="${patchdir}/series" # all patches -mqguardsfile="${patchdir}/guards" - -# Look for any --flavours -VCS_INFO_adjust - -# Calling the 'hg' program is quite a bit too slow for prompts. -# Disabled by default anyway, so no harm done. -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-revision ; then - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple \ - && VCS_INFO_hexdump ${dirstatefile} 20 ; then - # Calling VCS_INFO_hexdump is (much) faster than hg but doesn't get - # the local rev - r_csetid=$REPLY - else - # Settling for a short (but unique!) hash because getting the full - # 40-char hash in addition to all the other info we want isn't - # available in a single hg invocation - hgid_args=( id -i -n ) - - # Looking for changes is a tad bit slower since the dirstate cache must - # first be refreshed before being read - zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - "check-for-changes" || hgid_args+=( -r. ) - - HGPLAIN=1 ${vcs_comm[cmd]} ${(z)hgid_args} 2> /dev/null \ - | read -r r_csetid r_lrev - fi -fi - -# If the user doesn't opt to invoke hg we can still get the current branch -if [[ -r ${branchfile} ]] ; then - r_branch=$(< ${branchfile}) -fi - -# If we still don't know the branch it's safe to assume default -[[ -n ${r_branch} ]] || r_branch="default" - -# Show topic if there is any (the UI for this experimental concept is not yet -# final, but for a long time the convention has been to join the branch name -# and the topic name by a colon) -if [[ -f ${topicfile} && -r ${topicfile} && -s ${topicfile} ]] ; then - IFS= read -r REPLY < ${topicfile} - r_branch=${r_branch}:${REPLY} -fi - -# The working dir has uncommitted-changes if the revision ends with a + -if [[ $r_lrev[-1] == + ]] ; then - hgchanges=1 - - r_lrev=${r_lrev%+} - r_csetid=${r_csetid%+} -fi - -# This directory only exists during a merge -[[ -d $mergedir ]] && hgactionstring="merging" - -# This file only exists during a rebase -[[ -e $rebasefile ]] && hgactionstring="rebasing" - - -### Build the current revision display -[[ -n ${r_csetid} ]] && defrevformat+=( "%h" ) -[[ -n ${r_lrev} ]] && defrevformat+=( "%r" ) - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - "hgrevformat" revformat || revformat=${(j/:/)defrevformat} - -hook_com=( localrev "${r_lrev}" "hash" "${r_csetid}" ) - -if VCS_INFO_hook 'set-hgrev-format' "${revformat}"; then - zformat -f r_lrev "${revformat}" \ - "r:${hook_com[localrev]}" "h:${hook_com[hash]}" -else - r_lrev=${hook_com[rev-replace]} -fi - -hook_com=() - -### Build the branch display -[[ -n ${r_branch} ]] && defbranchformat+=( "%b" ) -[[ -n ${r_lrev} ]] && defbranchformat+=( "%r" ) - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - branchformat branchformat || branchformat=${(j/:/)defbranchformat} - -hook_com=( branch "${r_branch}" revision "${r_lrev}" ) - -if VCS_INFO_hook 'set-branch-format' "${branchformat}"; then - zformat -f branchformat "${branchformat}" \ - "b:${hook_com[branch]}" "r:${hook_com[revision]}" -else - branchformat=${hook_com[branch-replace]} -fi - -hook_com=() - -### Look for current Bookmarks (this requires knowing the changeset id) -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-bookmarks \ - && [[ -r "${bmfile}" ]] && [[ -n "$r_csetid" ]] ; then - while read -r i_bmhash i_bmname ; do - # Compare hash in bookmarks file with changeset id - [[ $i_bmhash == $r_csetid* ]] && hgbmarks+=( $i_bmname ) - done < ${bmfile} - - if [[ -r "$curbmfile" ]] ; then - curbm=$(<"${curbmfile}") - hook_com[hg-active-bookmark]=$curbm - else - # leave curbm empty and [hg-active-bookmark] undefined. - fi - - if VCS_INFO_hook 'gen-hg-bookmark-string' "${hgbmarks[@]}"; then - # If there is an active bookmark, annotate it and put it first. - if [[ -n $curbm ]] ; then - hgbmarks[(i)$curbm]=() - hgbmarks[1,0]="${curbm}*" - fi - hgbmstring=${(j:, :)hgbmarks} - # Deannotate the array, in case later code expects it to be valid. - # (The order is not restored.) - [[ -n $curbm ]] && hgbmarks[1]=${${hgbmarks[1]}[1,-2]} - else - hgbmstring=${hook_com[hg-bookmark-string]} - fi - - hook_com=() -fi - -### Look for any applied Mercurial Queue patches -if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \ - && [[ -d $patchdir ]] ; then - if [[ -e $mqstatusfile ]]; then - mqpatches=( ${${(f)"$(< "${patchdir}/status")"}/(#s)[a-f0-9]##:/} ) - mqpatches=( ${(Oa)mqpatches} ) - fi - - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-unapplied \ - && [[ -r ${mqseriesfile} ]]; then - # Okay, here's a little something that assembles a list of unapplied - # patches that takes into account if mq-guards are active or not. - - # Collect active guards - if [[ -r ${mqguardsfile} ]]; then - mqguards=( ${(f)"$(< "${mqguardsfile}")"} ) - mqguards=( ${(oa)mqguards} ) - fi - - while read -r i_patch i_patchguards ; do - # Skip commented lines - [[ ${i_patch} == [[:space:]]#"#"* ]] && continue - - # Skip applied patches - (( ${+mqpatches[(re)${i_patch}]} )) && continue - - # Separate negative and positive guards to more easily find the - # intersection of active guards with patch guards - i_patchguards=( ${(s: :)i_patchguards} ) - i_negguards=( ${${(M)i_patchguards:#*"#-"*}/(#s)\#-/} ) - i_posguards=( ${${(M)i_patchguards:#*"#+"*}/(#s)\#+/} ) - - # Patch with any negative guards is never pushed if guard is active - if [[ ${#i_negguards} -gt 0 - && ${#${(@M)mqguards:#${(~j,|,)i_negguards}}} -gt 0 ]] ; then - continue - fi - - # Patch with positive guards is only pushed if guard is active - if [[ ${#i_posguards} -gt 0 ]] ; then - if [[ ${#${(@M)mqguards:#${(~j,|,)i_posguards}}} -gt 0 ]] ; then - mqunapplied+=( $i_patch ) - fi - continue - fi - - # If we made it this far the patch isn't guarded and should be pushed - mqunapplied+=( $i_patch ) - done < ${mqseriesfile} - fi - - if VCS_INFO_hook 'gen-mqguards-string' "${mqguards[@]}"; then - guards_string=${(j:,:)mqguards} - # TODO: %-escape extra_zformats[g:...] value - else - guards_string=${hook_com[guards-string]} - fi - - local -A extra_hook_com=( guards "${guards_string}" guards-n ${#mqguards} ) - - (( ${+functions[VCS_INFO_hg_extra_zformats]} )) || - VCS_INFO_hg_extra_zformats() { - reply=( "g:${hook_com[guards]}" "G:${#mqguards}" ) - } - - VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ - 'mqunapplied' 'unapplied_string' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring \ - extra_hook_com VCS_INFO_hg_extra_zformats '' - hgmqstring=$REPLY -fi - - -### Build the misc string -hgmisc+=( ${hgmqstring} ) -hgmisc+=( ${hgbmstring} ) - -backend_misc[patches]="${hgmqstring}" -backend_misc[bookmarks]="${hgbmstring}" - -VCS_INFO_formats "${hgactionstring}" "${branchformat}" "${hgbase}" '' "${hgchanges}" "${r_lrev}" "${(j:;:)hgmisc}" -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_mtn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_mtn deleted file mode 100644 index 0a8064c3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_mtn +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## monotone support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local mtnbranch mtnbase - -mtnbase=${vcs_comm[basedir]} -rrn=${mtnbase:t} -mtnbranch=${${(M)${(f)"$( ${vcs_comm[cmd]} status )"}:#(#s)Current branch:*}/*: /} -VCS_INFO_formats '' "${mtnbranch}" "${mtnbase}" '' '' '' '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_p4 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_p4 deleted file mode 100644 index e8a08a66..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_p4 +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -## perforce support by: Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -# XXX: This soooo needs to be cached -setopt localoptions extendedglob -local p4base a b -local -A p4info -local -A hook_com - -${vcs_comm[cmd]} info | while IFS=: read a b; do p4info[${a// /_}]="${b## #}"; done -p4base=${vcs_comm[basedir]} - -# We'll use the client name as the branch; close enough. -local p4branch change -# We'll use the latest change number to which the hierarchy from -# here down is synced as the revision. -# I suppose the following might be slow on a tortuous client view. -change="${${$(${vcs_comm[cmd]} changes -m 1 ...\#have)##Change }%% *}" -rrn=${p4base:t} -VCS_INFO_set-branch-format "${p4info[Client_name]}" "${change}" && - p4branch="${REPLY}" -VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' "$change" '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svk deleted file mode 100644 index 149e3022..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svk +++ /dev/null @@ -1,14 +0,0 @@ -## vim:ft=zsh -## svk support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local svkbranch svkbase -local -A hook_com - -svkbase=${vcs_comm[basedir]} -rrn=${svkbase:t} -VCS_INFO_set-branch-format "${vcs_comm[branch]}" "${vcs_comm[revision]}" && - svkbranch="${REPLY}" -VCS_INFO_formats '' "${svkbranch}" "${svkbase}" '' '' "${vcs_comm[revision]}" '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svn deleted file mode 100644 index b33efc2f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_svn +++ /dev/null @@ -1,74 +0,0 @@ -## vim:ft=zsh -## subversion support by: -## + Frank Terbeck <ft@bewatermyfriend.org> -## + Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local svnbase svnbranch a b rrn -local -i rc -local -A svninfo parentinfo cwdinfo -local -A hook_com -integer -r SVN_ERR_WC_UPGRADE_REQUIRED=155036 # from /usr/local/include/subversion-1/svn_error_codes.h -integer -r SVN_ERR_WC_UNSUPPORTED_FORMAT=155021 - -svnbase="."; -svninfo=() -# Unfortunately, `$pipestatus' is broken currently. Until that problem is -# resolved, here is a workaround that will get things done, without using it. -# Clumsily, but that's life. -local -a dat -dat=( ${(f)"$(${vcs_comm[cmd]} info --non-interactive 2>&1)"} ) -rc=$? -if (( rc != 0 )) ; then - if (( rc == 1 )) && [[ -n ${(M)dat:#"svn: E${SVN_ERR_WC_UPGRADE_REQUIRED}: "*} ]]; then - hook_com=() - # User should run 'svn upgrade' - VCS_INFO_formats '' '?' '?' '' '' '?' 'working copy upgrade required' - return $? - elif (( rc == 1 )) && [[ -n ${(M)dat:#"svn: E${SVN_ERR_WC_UNSUPPORTED_FORMAT}: "*} ]]; then - hook_com=() - # User probably needs to install a newer svn, but we're not sure, so point - # the user to svn's error message. - VCS_INFO_formats '' '?' '?' '' '' '?' 'svn error' - return $? - else - return 1 - fi -fi -# The following line is the real code, the following is the workaround. -#${vcs_comm[cmd]} info --non-interactive \ -print -l "${dat[@]}" \ -|& while IFS=: read a b; do - svninfo[${a// /_}]="${b## #}" -done -#rc=${pipestatus[1]} -#(( rc != 0 )) && return 1 - -cwdinfo=(${(kv)svninfo}) - -# Set svnbase to the wcroot path and svninfo to its `svn info`. -if (( ${+svninfo[Working_Copy_Root_Path]} )); then - # svn 1.7+ - svnbase=${svninfo[Working_Copy_Root_Path]} - ${vcs_comm[cmd]} info --non-interactive -- "${svnbase}" | while IFS=: read a b; do svninfo[${a// /_}]="${b## #}"; done -else - # svn 1.0-1.6 - svnbase=${svnbase:P} - while [[ -d "${svnbase:h}/.svn" ]]; do - parentinfo=() - ${vcs_comm[cmd]} info --non-interactive -- "${svnbase:h}" | while IFS=: read a b; do parentinfo[${a// /_}]="${b## #}"; done - [[ ${parentinfo[Repository_UUID]} != ${svninfo[Repository_UUID]} ]] && break - svninfo=(${(kv)parentinfo}) - svnbase=${svnbase:h} - if [[ $svnbase == '/' ]]; then - break - fi - done -fi - -rrn=${svnbase:t} -VCS_INFO_set-branch-format "${svninfo[URL]##*/}" "${cwdinfo[Revision]}" && - svnbranch="${REPLY}" -VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' "${cwdinfo[Revision]}" '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_tla b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_tla deleted file mode 100644 index 4e9cee8b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_get_data_tla +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## gnu arch support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local tlabase tlabranch - -tlabase=${vcs_comm[basedir]:P} -rrn=${tlabase:t} -# tree-id gives us something like 'foo@example.com/demo--1.0--patch-4', so: -tlabranch=${${"$( ${vcs_comm[cmd]} tree-id )"}/*\//} -VCS_INFO_formats '' "${tlabranch}" "${tlabase}" '' '' '' '' -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hexdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hexdump deleted file mode 100644 index 11f1c1a5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hexdump +++ /dev/null @@ -1,16 +0,0 @@ -## vim:ft=zsh - -# VCS_INFO_hexdump FILENAME BYTECOUNT -# -# Return in $REPLY a hexadecimal representation (lowercase, no whitespace) -# of the first BYTECOUNT bytes of FILENAME. - -if [[ -r $1 ]]; then - setopt localoptions nomultibyte extendedglob - local val - read -k $2 -u 0 val <$1 - REPLY=${(Lj::)${(l:2::0:)${(@s//)val}//(#m)*/$(( [##16] ##$MATCH ))}} -else - return 1 -fi - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hook b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hook deleted file mode 100644 index 94ae6301..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_hook +++ /dev/null @@ -1,58 +0,0 @@ -### vim:ft=zsh:foldmethod=marker -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -local hook static func -local context hook_name -local -i ret -local -a hooks tmp -local -i debug - -ret=0 -hook_name="$1" -shift -context=":vcs_info:${vcs}+${hook_name}:${usercontext}:${rrn}" -static=":vcs_info-static_hooks:${hook_name}" - -zstyle -t "${context}" debug && debug=1 || debug=0 -if (( debug )); then - printf 'VCS_INFO_hook: running hook: "%s"\n' "${hook_name}" - printf 'VCS_INFO_hook: current context: "%s"\n' "${context}" - printf 'VCS_INFO_hook: static context: "%s"\n' "${static}" -fi - -zstyle -a "${static}" hooks hooks -if (( debug )); then - printf '+ static hooks: %s\n' "${(j:, :)hooks}" -fi -zstyle -a "${context}" hooks tmp -if (( debug )); then - printf '+ context hooks: %s\n' "${(j:, :)tmp}" -fi -hooks+=( "${tmp[@]}" ) -(( ${#hooks} == 0 )) && return 0 - -# Protect some internal variables in hooks. The `-g' parameter to -# typeset does *not* make the parameters global here (they are already -# "*-local-export). It prevents typeset from creating *new* *local* -# parameters in this function's scope. -typeset -g -r vcs rrn usercontext maxexports msgs vcs_comm -for hook in ${hooks} ; do - func="+vi-${hook}" - if (( ${+functions[$func]} == 0 )); then - (( debug )) && printf ' + Unknown function: "%s"\n' "${func}" - continue - fi - (( debug )) && printf ' + Running function: "%s"\n' "${func}" - true - ${func} "$@" - case $? in - (0) - ;; - (*) - break - ;; - esac -done -typeset -g +r vcs rrn usercontext maxexports msgs vcs_comm -return $ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_maxexports b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_maxexports deleted file mode 100644 index d697b9ab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_maxexports +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit unset - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" "max-exports" maxexports || maxexports=2 -if [[ ${maxexports} != <-> ]] || (( maxexports < 1 )); then - printf 'vcs_info(): expecting numeric arg >= 1 for max-exports (got %s).\n' ${maxexports} - printf 'Defaulting to 2.\n' - maxexports=2 -fi -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_nvcsformats b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_nvcsformats deleted file mode 100644 index 581aa5a9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_nvcsformats +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays NO_shwordsplit -local c v rr - -if [[ $1 == '-preinit-' ]] ; then - c='default' - v='-preinit-' - rr='-all-' -fi -zstyle -a ":vcs_info:${v:-$vcs}:${c:-$usercontext}:${rrn:-$rr}" nvcsformats msgs -(( ${#msgs} > maxexports )) && msgs[${maxexports},-1]=() -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_patch2subject b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_patch2subject deleted file mode 100644 index 5aa9efd2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_patch2subject +++ /dev/null @@ -1,82 +0,0 @@ -## vim:ft=zsh -# -# This function takes as an argument a filename of a patch and sets $REPLY to -# a single-line "subject", or unsets it if no subject could be extracted. -{ - setopt localoptions extendedglob - integer i - integer -r LIMIT=10 - local -a lines - local needle - readonly svn_log_pattern='^r[0-9]* [|] .*' - if [[ -f "$1" ]]; then - # Extract the first LIMIT lines, or up to the first empty line or the start of the unidiffs, - # whichever comes first. - while (( i++ < LIMIT )); do - IFS= read -r "lines[$i]" - if [[ -z ${lines[$i]} ]] || [[ ${lines[$i]} == (#b)(---[^-]|Index:)* ]]; then - lines[$i]=() - break - fi - done < "$1" - - if needle=${lines[(i)Subject:*]}; (( needle <= $#lines )); then - # "Subject: foo" line, plus rfc822 whitespace unfolding. - # - # Example: 'git format-patch' patches. - REPLY=${lines[needle]} - REPLY=${REPLY#*: } - REPLY=${REPLY#\[PATCH\] } - while [[ ${${lines[++needle]}[1]} == ' ' ]]; do - REPLY+=${lines[needle]} - done - elif needle=${lines[(r)Description:*]}; [[ -n $needle ]]; then - # "Description: foo" line. - # - # Example: DEP-3 patches. - REPLY=${needle#*: } - elif [[ ${lines[1]} == '# HG changeset patch' ]] && { needle=${${lines:#([#]*)}[1]}; [[ -n $needle ]] }; then - # Mercurial patch - REPLY=$needle - elif [[ ${lines[1]} == "commit "[0-9a-f](#c40) ]] && - [[ ${lines[2]} == "Author:"* && ${lines[3]} == "Date:"* ]] && - (( ! ${+lines[4]} )); then - # `git show` output. - # - # The log message is after the first blank line, so open() the file - # again. Also check whether the following line (second line of the - # log message itself) is empty. - { - repeat 4 { IFS= read -r } - IFS= read -r needle; needle=${needle#' '} - if IFS= read -r; REPLY=${REPLY#' '}; [[ -n $REPLY ]]; then - needle+='...' - fi - } < "$1" - REPLY=$needle - elif [[ $lines[1] =~ $svn_log_pattern ]] || [[ $lines[2] =~ $svn_log_pattern ]]; then - # Read up to the next blank line, and the first two lines after it. - integer multiline=0 - { - while read -r needle; [[ -n $needle ]]; do done - # Read the first line of the second paragraph, which is the first - # line of the log message. - read -r needle - read -r && [[ -n $REPLY ]] && multiline=1 - } < "$1" - REPLY=$needle - if (( multiline )); then REPLY+='...'; fi - elif (( ${+lines[1]} )); then - # The first line of the file is not part of the diff. - REPLY=${lines[1]} - else - # The patch has no subject. - unset REPLY - return 0 - fi - else - # The patch cannot be examined, or invalid arguments. - unset REPLY - return 1 - fi -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_quilt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_quilt deleted file mode 100644 index ce5b41f2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_quilt +++ /dev/null @@ -1,207 +0,0 @@ -## vim:ft=zsh:foldmethod=marker - -(( ${+functions[VCS_INFO_quilt-match]} )) || -function VCS_INFO_quilt-match() { - emulate -L zsh - setopt extendedglob - local d mode="$1" param="$2" - local -a list - - case ${mode} in - (assoc) list=( ${(kOP)param} );; - (array) : "${foo[@]}" ${(t)foo}; list=( ${(OP)param} );; - (*) return 1;; - esac - for d in "${list[@]}"; do - if [[ ${PWD} == ${d%/##}(|/*) ]]; then - print "$d" - return 0 - fi - done - return 1 -} - -(( ${+functions[VCS_INFO_quilt-standalone-detect]} )) || -function VCS_INFO_quilt-standalone-detect() { - emulate -L zsh - setopt extendedglob - local param - local -i ret - - zstyle -s "${context}" quilt-standalone param || return 1 - [[ "${param}" == 'never' ]] && return 1 - [[ "${param}" == 'always' ]] && return 0 - - if (( ${+functions[$param]} )); then - ${param} - return $? - fi - - case ${(Pt)param} in - *association*) - local m - local -A A - m="$(VCS_INFO_quilt-match assoc ${param})" - A=(${(kvP)param}) - (( $? == 0 )) && [[ ${A[$m]} == "true" ]] && return 0 - return 1 - ;; - *array*) - typeset -gU ${param} - VCS_INFO_quilt-match array ${param} > /dev/null - return $? - ;; - *scalar*) - [[ "${(P)param}" == 'always' ]] && return 0 - [[ "${(P)param}" == 'never' ]] && return 1 - ;; - esac - # If nothing hit yet, it just wasn't meant to be. - return 1 -} - -(( ${+functions[VCS_INFO_quilt-dirfind]} )) || -function VCS_INFO_quilt-dirfind() { - # This is a wrapper around VCS_INFO_bydir_detect(). It makes sure - # that $vcs_comm[] is unchanged. Currently, changing anything in it - # should not be an issue, but this makes sure the code can safely - # be called elsewhere, too - if needed. - emulate -L zsh - setopt extendedglob - local dir="$1" file="$2"; shift $# - local ret oldfile olddir - - olddir=${vcs_comm[basedir]} - vcs_comm[basedir]='' - oldfile=${vcs_comm[detect_need_file]} - vcs_comm[detect_need_file]=${file} - VCS_INFO_bydir_detect ${dir} - ret=$? - vcs_comm[detect_need_file]=${oldfile} - REPLY=${vcs_comm[basedir]} - vcs_comm[basedir]="${olddir}" - return ${ret} -} - -(( ${+functions[VCS_INFO_quilt-patch2subject]} )) || -function VCS_INFO_quilt-patch2subject() { - VCS_INFO_patch2subject "$@" -} - -{ - emulate -L zsh - setopt extendedglob - local mode="$1" - local patches pc qstring root - local -i ret - local context - local -a applied unapplied applied_string unapplied_string quiltcommand quilt_env - local -A hook_com - - context=":vcs_info:${vcs}.quilt-${mode}:${usercontext}:${rrn}" - zstyle -t "${context}" use-quilt || return 1 - - case ${mode} in - (standalone) - VCS_INFO_quilt-standalone-detect || return 1 - ;; - (addon) - ;; - (*) - printf 'Invalid mode: `%s'\''\n' "$1" - return 2 - ;; - esac - - # Look for the patches directory. - # - # 1. Check if there's a .pc/.version file in a parent dir. If so, use the - # patches dir from the corresponding .pc/.quilt_patches. - if VCS_INFO_quilt-dirfind .pc .version; then - pc=$REPLY - [[ ${quiltmode} == 'standalone' ]] && root=${pc} - pc=${pc}/.pc - if [[ -e ${pc}/applied-patches ]]; then - applied=( ${(f)"$(<$pc/applied-patches)"} ) - # throw away empty entries - applied=( ${applied:#} ) - applied=( ${(Oa)applied} ) - else - applied=() - fi - patches=$(<$pc/.quilt_patches) - patches=`builtin cd -q "${pc:h}" && print -r - ${patches:P}` - # 2. Else, locate a patches dir using the style settings. - else - zstyle -s "${context}" quilt-patch-dir patches || patches="${QUILT_PATCHES}" - : ${patches:="patches"} - if [[ "${patches}" != /* ]]; then - if VCS_INFO_quilt-dirfind "${patches}"; then - patches=$REPLY/$patches - else - return $? - fi - else - [[ -d ${patches} ]] || return 1 - fi - quilt_env+=(QUILT_PATCHES="$patches") - fi - # At this point, $patches is set and points to an existing directory. - - if zstyle -t "${context}" get-unapplied; then - # This zstyle call needs to be moved further up if `quilt' needs - # to be run in more places than this one. - zstyle -s "${context}" quiltcommand quiltcommand || quiltcommand='quilt' - unapplied=( ${(f)"$(if (( $+quilt_env[1] )); then export ${quilt_env[@]}; fi - $quiltcommand --quiltrc /dev/null unapplied 2> /dev/null)"} ) - unapplied=( ${unapplied:#} ) - else - unapplied=() - fi - - { - local i - for ((i=1; i<=$#applied; i++)); do - if VCS_INFO_quilt-patch2subject "$patches/$applied[$i]" && (( $+REPLY )) - then - applied[$i]+=" $REPLY" - else - applied[$i]+=" ?" - fi - done - for ((i=1; i<=$#unapplied; i++)); do - if VCS_INFO_quilt-patch2subject "$patches/$unapplied[$i]" && (( $+REPLY )) - then - unapplied[$i]+=" $REPLY" - else - unapplied[$i]+=" ?" - fi - done - } - - typeset -A quilt_extra_info=( - quilt-patches-dir ${patches} - ${pc:+"quilt-pc-dir"} $pc - ) - - VCS_INFO_set-patch-format 'applied' 'applied_string' \ - 'unapplied' 'unapplied_string' \ - ${context} qstring \ - quilt_extra_info '' quilt_extra_info - qstring=$REPLY - - case ${mode} in - (standalone) - backend_misc[patches]=${qstring} - VCS_INFO_formats '' '' "${root}" '' '' '' "${qstring}" - VCS_INFO_set - ;; - (addon) - # When VCS_INFO_quilt() is called with "addon" a "local REPLY" variable - # should be in place. That variable can be unset after it's being used. - REPLY="${qstring}" - ;; - esac - - VCS_INFO_hook 'post-quilt' ${mode} ${patches} ${pc:-\\-nopc-} -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_reposub b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_reposub deleted file mode 100644 index 8ebc90b6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_reposub +++ /dev/null @@ -1,14 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local base=${1%%/##} tmp - -tmp="$(pwd -P)" -[[ $tmp == ${base}/* ]] || { - printf '.' - return 1 -} -printf '%s' ${tmp#$base/} -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set deleted file mode 100644 index 0e584914..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set +++ /dev/null @@ -1,30 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -# This function sets ${vcs_info_msg_<N>_} from ${msgs}. - -setopt localoptions noksharrays NO_shwordsplit unset -local -i i j - -if [[ $1 == '--nvcs' ]] ; then - [[ $2 == '-preinit-' ]] && (( maxexports == 0 )) && (( maxexports = 1 )) - for i in {0..$((maxexports - 1))} ; do - typeset -g vcs_info_msg_${i}_= - done - VCS_INFO_nvcsformats $2 - [[ $2 != '-preinit-' ]] && VCS_INFO_hook "no-vcs" -fi - -(( ${#msgs} - 1 < 0 )) && return 0 -for i in {0..$(( ${#msgs} - 1 ))} ; do - (( j = i + 1 )) - typeset -g vcs_info_msg_${i}_=${msgs[$j]} -done - -if (( i < maxexports )) ; then - for j in {$(( i + 1 ))..${maxexports}} ; do - [[ -n ${(P)${:-vcs_info_msg_${j}_}} ]] && typeset -g vcs_info_msg_${j}_= - done -fi -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-branch-format b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-branch-format deleted file mode 100644 index cbab60e2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-branch-format +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -# -# A function for calling the branch-format hook -# -# Return the value to use in REPLY -# -# Parameters: -readonly branch=$1 -readonly revision=$2 -# - -[[ -n $rrn ]] || return 1 -local -A hook_com -local branchformat - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat branchformat || branchformat="%b:%r" -hook_com=( branch "${branch}" revision "${revision}" ) -if VCS_INFO_hook 'set-branch-format' "${branchformat}"; then - zformat -f REPLY "${branchformat}" "b:${hook_com[branch]}" "r:${hook_com[revision]}" -else - REPLY=${hook_com[branch-replace]} -fi -hook_com=() -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-patch-format b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-patch-format deleted file mode 100644 index 1c774a7f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/VCS_INFO_set-patch-format +++ /dev/null @@ -1,91 +0,0 @@ -## vim:ft=zsh -# -# This function is the common guts of the gen-applied-string / -# gen-unapplied-string / set-patch-format dance of several backends. -# -# Parameters: -# $1 - name of an array parameter to be the argument to gen-applied-string -# (patches in reverse order) -# $2 - name of a parameter to store the applied-string in -# $3 - name of an array parameter to be the argument to gen-unapplied-string -# (patches in order) -# $4 - name of a parameter to store the unapplied-string in -# $5 - context argument for use in zstyle getters -# $6 - name of a parameter to store a patch-format format string in -# $7 - name of an assoc parameter with extra $hook_com key-value pairs for the -# set-patch-format hook invocation, or '' for none -# $8 - name of a function that sets $reply to extra arguments for the patch-format zformat call, or '' for none -# $9 - name of an assoc parameter with extra $hook_com key-value pairs for the -# gen-applied-string & gen-unapplied-string hook invocations, or '' for none -# -# The expanded patch-format string is returned in $REPLY. -# -# Output: -# - $hook_com is overwritten and the keys 'applied', 'applied-n', -# 'unapplied', 'unapplied-n', 'all-n' are set. -{ - hook_com=() - - local applied_needs_escaping='unknown' - hook_com+=( ${9:+"${(@kvP)9}"} ) - if VCS_INFO_hook 'gen-applied-string' "${(@P)1}"; then - if (( ${(P)#1} )); then - REPLY=${(P)1[1]} - else - REPLY="" - fi - applied_needs_escaping='yes' - else - REPLY=${hook_com[applied-string]} - fi - : ${(P)2::=$REPLY} - hook_com=() - - local unapplied_needs_escaping='unknown' - hook_com+=( ${9:+"${(@kvP)9}"} ) - if VCS_INFO_hook 'gen-unapplied-string' "${(@P)3}"; then - REPLY=${(P)#3} - unapplied_needs_escaping='yes' - else - REPLY=${hook_com[unapplied-string]} - fi - : ${(P)4::=$REPLY} - hook_com=() - - if (( ${(P)#1} )); then - zstyle -s "${5}" patch-format REPLY || REPLY="%p (%n applied)" - else - zstyle -s "${5}" nopatch-format REPLY || REPLY="no patch applied" - fi - : ${(P)6::=$REPLY} - - hook_com=( - applied-n ${(P)#1} - applied "${(P)2}" - unapplied-n ${(P)#3} - unapplied "${(P)4}" - ) - hook_com[all-n]=$(( ${hook_com[applied-n]} + ${hook_com[unapplied-n]} )) - hook_com+=( ${7:+"${(@kvP)7}"} ) - if VCS_INFO_hook 'set-patch-format' "${(P)6}"; then - # Escape the value for use in $PS1 - if [[ $applied_needs_escaping == 'yes' ]]; then - hook_com[applied]=${hook_com[applied]//'%'/%%} - fi - if [[ $unapplied_needs_escaping == 'yes' ]]; then - hook_com[unapplied]=${hook_com[unapplied]//'%'/%%} - fi - - reply=() - [[ -n $8 ]] && "$8" - zformat -f REPLY "${(P)6}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ - "n:${hook_com[applied-n]}" "c:${hook_com[unapplied-n]}" \ - "a:${hook_com[all-n]}" \ - "${reply[@]}" - else - unset applied_needs_escaping unapplied_needs_escaping # the hook deals with escaping - REPLY=${hook_com[patch-replace]} - fi - hook_com=() - -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_SUSEconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_SUSEconfig deleted file mode 100644 index 737a80b1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_SUSEconfig +++ /dev/null @@ -1,14 +0,0 @@ -#compdef SuSEconfig - -local modules -modules=( /sbin/conf.d/SuSEconfig.*~(*.rpm*|*.swap|*.bak|*.orig|*~|\#*)(N:e) ) - -_arguments \ - '--help' \ - '--quick' \ - '--force' \ - '--verbose' \ - '--nonewpackage' \ - '-norestarts' \ - '-nomodule' \ - '--module:module:compadd -a modules' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/__arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/__arguments deleted file mode 100644 index af771097..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/__arguments +++ /dev/null @@ -1,44 +0,0 @@ -#compdef _arguments - -# Dear reader: This function is called "__arguments" and is the completion -# function for the completion function _arguments. This function, however, is -# not the completion function _arguments. If you're looking for the function -# _arguments, then you've come to the wrong place. -# -# _arguments is a completion utility function. It is called by completion -# functions for command-line tools. -# -# __arguments is a completion function for _arguments. It runs when one does -# `_arguments -<TAB>' at the shell prompt to jog one's memory about _arguments' -# option flags. -# -# _arguments is in documented in the manual. If you were looking for its -# source code, that'd be either in ../../../Completion/Base/Utility/_arguments -# or in ./_arguments, depending on where you're reading this file. -# -# __arguments takes no arguments. - -if (( ${words[(i)--]} < CURRENT )); then - # "Deriving spec forms from the help output" - _arguments : \ - '*-i[specify option name exclude patterns]:option name exclude pattern' \ - '*-s[specify option aliases]:pattern and replacement as "(this that)"' \ - '*:helpspec (pattern\:message\:action)' -else - _arguments -A '-([AMO]*|[0CRSWnsw])' : \ - '!-n[set $NORMARG]' \ - '-s[enable single-letter option stacking (-x -y == -xy)]' \ - '-w[(rarely needed) enable single-letter option stacking with arguments (-x X -y == -xy X)]' \ - '-W[(rarely needed) enable single-letter option stacking with arguments in the same word (-x X -y == -xXy)]' \ - "-C[modify \$curcontext for \`->action' (instead of \$context)]" \ - "-R[when \`->action' matches, return 300]" \ - "-S[honour \`--' as end-of-options guard]" \ - "-A[do not complete options after non-options]:pattern matching unknown options (e.g., '-*')" \ - '-O[pass elements of array variable to function calls in actions]:array variable name:_parameters -g array' \ - "-M[specify matchspec for completing option names and values]:matchspec for completing option names and values [ 'r\\:|[_-]=* r\\:|=*' ]" \ - '-0[have ${(v)opt_args} be NUL-joined rather than colon-escaped and colon-joined]' \ - "--[derive optspecs from \`\${command} --help' output]" \ - '1::optional delimiter:(\:)' \ - '*:spec (e.g., "(-t --to)"*{-t+,--to=}"[specify recipient]\:recipient'\''s address\:_email_addresses)' - # TODO: doesn't support "Specifying Multiple Sets of Arguments" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2ps b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2ps deleted file mode 100644 index aa2f4c3b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2ps +++ /dev/null @@ -1,64 +0,0 @@ -#compdef a2ps - -# This is for the GNU version of a2ps. - -if [[ "$words[1]" != "$_cache_a2ps_cmd" ]]; then - local descr - - _cache_a2ps_cmd="$words[1]" - - descr=( "${(@)${(f@)$(_call_program features $words[1] --list=features)// - / }:#}" ) - - _cache_a2ps_values=( - "${descr[(r)Known [Ss]tyle [Ss]heets*]#* }" - "${descr[(r)Known [Ee]ncodings*]#* }" - "${descr[(r)Known [Mm]edia*]#* }" - "${descr[(r)Known [Pp]rologues*]#* }" - "${descr[(r)Known PostScript Printer Descriptions*]#* }" - "${descr[(r)Known [Oo]utputs*]#* }" - "${descr[(r)Known [Uu]ser [Oo]ptions*]#* }" - "${descr[(r)Known Variables*]#* }" - ) -fi - -integer ret=1 -local context state line expl -typeset -A opt_args - -_arguments \ - '(-E --pretty-print=)'{-E-,--pretty-print=}"[enable pretty-printing]::language:(${_cache_a2ps_values[1]})" \ - \*{-D+,--define=}"[set or unset variable]:variable:(${_cache_a2ps_values[8]})" \ - '(-d -P --printer)'{-P,--printer=}"[send output to printer]:printer:->printers" \ - '(-A --file-align)'{-A,--file-align=}'[specify alignment of separate files]:mode:(virtual rank page sheet)' \ - '(-a --pages)'{-a-,--pages=}'[select pages to print]:page range' \ - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[quiet output]' \ - '(-q --quiet --silent -v --verbose)'{-v-,--verbose=}'[verbose output]:level' \ - '(-b --header)'{-b-,--header=}'[set the page header]:text' \ - '(-g)--highlight-level=:highlight:(none normal heavy)' \ - '--list=:topic:(features delegations encodings media prologues printers style-sheets user-options variables)' \ - "--user-option=:user option:(${_cache_a2ps_values[7]})" \ - {-M,--medium=}":medium:(${_cache_a2ps_values[3]})" \ - "--ppd=::printer description:(${_cache_a2ps_values[5]})" \ - '--statusdict=:statusdict definition' \ - '--setpagedevice=:page device definition' \ - '--margin=:margin size (PostScript points)' \ - '--toc=:format' \ - --{{center,left,right}-title.underlay,{,left-,right-}footer}'=:text' \ - '*:input file:_files' -- \ - '*\*:toggle:(yes no)' \ - '*=DIRECTION:direction:(rows columns)' \ - '*=TYPE:type:((r\:CR mac\:CR unix\:LF n\:LF nr\:LFCR rn\:CRLF pc\:CRLF any auto))' \ - '--version-control*:version control:(none off t numbered nil existing never simple)' \ - '--strip-level*:strip level:((0\:everything\ is\ printed 1\:regular\ comments\ are\ not\ printed 2\:strong\ comments\ are\ not\ printed 3\:no\ comment\ is\ printed))' \ - '--sides=*:mode:(simplex duplex tumble)' \ - '--non-printable-format*:format:(caret space question-mark octal hexa emacs)' \ - "--encoding*:encoding:(${_cache_a2ps_values[2]})" \ - "--prologue*::prologue:(${_cache_a2ps_values[4]})" && ret=0 - -if [[ $state = printers ]]; then - _wanted printers expl printer compadd -- ${=_cache_a2ps_values[6]} && ret=0 - _printers && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2utils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2utils deleted file mode 100644 index 8ee30ecf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_a2utils +++ /dev/null @@ -1,24 +0,0 @@ -#compdef a2ensite a2dissite a2enmod a2dismod - -local -a expl mods - -case "$service" in - a2ensite) - _wanted sites expl sites \ - _files -W /etc/apache2/sites-available - ;; - a2dissite) - _wanted sites expl sites \ - _files -W /etc/apache2/sites-enabled - ;; - a2enmod) - mods=( /etc/apache2/mods-available/*.load(N:r:t) ) - _wanted mods expl mods compadd -a mods - ;; - a2dismod) - mods=( /etc/apache2/mods-enabled/*.load(N:r:t) ) - _wanted mods expl mods compadd -a mods - ;; -esac - -return diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aap deleted file mode 100644 index 38e50f1f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aap +++ /dev/null @@ -1,50 +0,0 @@ -#compdef aap - -# A-A-P recipe executive version 1.076; released 2005 May 30 12:47:03 GMT - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(- *)'{-V,--version}'[print version information and exit]' \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(-s --silent -v --verbose)'{-v,--verbose}'[print more information]' \ - '(-v --verbose -s --silent)'{-s,--silent}'[print less information]' \ - '(-d --debug)'{-d,--debug=}'[debug the specified items]:flags:' \ - '--profile=[profile A-A-P execution and write results in specified file]:output file:_files' \ - '(-n --nobuild)'{-n,--nobuild}'[print the build commands but do not execute them]' \ - '--changed=[consider specified file changed]:changed file:_files' \ - '(-t --touch)'{-t,--touch}'[update target signatures, do not build]' \ - '(-F --force)'{-F,--force}'[force rebuilding]' \ - '(-C --contents)'{-C,--contents}'[only build when file contents changed]' \ - \*{-c,--command=}'[execute a command after reading the recipe]:aap command:' \ - '(-k --continue)'{-k,--continue}'[continue building after an error]' \ - '(-S --stop)'{-S,--stop}'[stop building at first error (default)]' \ - '(-N --nofetch-recipe -R --fetch-recipe)'{-R,--fetch-recipe}'[fetch recipe file and child recipes]' \ - '(-R --fetch-recipe -N --nofetch-recipe)'{-N,--nofetch-recipe}'[do not fetch recipes for "fetch" target]' \ - '(-a --nocache)'{-a,--nocache}"[always download files, don't use the cache]" \ - '(-l --local)'{-l,--local}'[do not recurse into subdirectories]' \ - '(-j --jobs)'{-j,--jobs=}'[maximum number of parallel jobs]:number of jobs:' \ - '(-f --recipe -u --search-up --up)'{-u,--search-up,--up}'[search directory tree upwards for main.aap recipe]' \ - \*{-I,--include=}'[directory to search for included recipes]:include directory:_files -/' \ - '(-u --search-up --up -f --recipe)'{-f,--recipe=}'[recipe file to be executed]:recipe file:_files -g \*.aap\(-.\)' \ - '--install=[install specified package]:package name:' \ - '--[end of options, targets and assignments follow]' \ - '*:aap target:->target' && ret=0 - -if [[ "$state" = target ]]; then - local targets recipe - if [[ -n $opt_args[(I)(-u|--search-up|--up)] ]]; then - recipe=( (../)#main.aap(N[-1]) ) - else - recipe=${(v)opt_args[(I)(-f|--recipe)]:-main.aap} - fi - if [[ -f $recipe ]]; then - targets=( ${${(f)"$(_call_program targets $words[1] -f $recipe comment 2>/dev/null)"}/(#b)target (*):[[:blank:]]##(*)/$match[1]:${match[2]:l}} comment ) - _describe -t targets 'aap target' targets && ret=0 - else - _message -e targets 'aap target' - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_abcde b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_abcde deleted file mode 100644 index 3f748d37..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_abcde +++ /dev/null @@ -1,41 +0,0 @@ -#compdef abcde - -_arguments -s -S -A "-*" \ - '(-t -T -p)-1[encode the whole CD in a single file]' \ - '-a[comma-delimited list of actions to perform]:action:_sequence compadd - cddb cue read getalbumart embedalbumart normalize encode tag move replaygain playlist clean' \ - '-b[enable batch mode normalization]' \ - '-B[enable automatic embedding of album art with certain containers]' \ - '-c+[specify an additional configuration file to parse]:config:_files' \ - '-C+[resume a session when read was completed but CD is not present]:disc id:compadd abcde.*(N:e)' \ - '-d+[specify CD device from which to read audio tracks]:CD device:_files -g "*(-%)" -P / -W /' \ - '-D[capture debugging information]' \ - '-e[erase information about encoded tracks from the internal status file]' \ - '-f[force the removal of the temporary ABCDETEMPDIR directory]' \ - "-g[enable lame's --nogap option]" \ - '-G[download album art using the getalbumart function]' \ - '(- :)-h[get help information]' \ - '-j+[start specified number of encoder processes at once]:number' \ - '-k[keep the wav files after encoding]' \ - '-l[use the low disk space algorithm]' \ - '-L[use a local CDDB repository]' \ - '-m[create DOS-style playlists, modifying the resulting one by adding CRLF line endings those to work]' \ - "-n[don't query CDDB database]" \ - '-N[non interactive mode]' \ - '-o+[select output type]:output type [vorbis]:(vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff)' \ - "-p[pads track numbers with 0's]" \ - '-P[use Unix PIPES to read and encode in one step]' \ - '-Q+[specify CD lookup methods]:lookup method [musicbrainz]:_sequence compadd - musicbrainz cddb cdtext' \ - '-r+[remote encode on this comma-delimited list of machines using distmp3]:hosts:_sequence _hosts' \ - '-s+[fields to be shown in the CDDB parsed entries]:field:_sequence compadd - year genre' \ - '-S+[set the speed of the CD drive]:speed' \ - '-t+[start the numbering of the tracks at a given number]:track-number' \ - '-T+[start the numbering of the tracks at a given number and change internal tag numbering]:track-number' \ - '-U[set CDDBPROTO to version 5]' \ - '(- :)-v[show the version and exit]' \ - '-V[be more verbose]' \ - '-x[eject the CD when all tracks have been read]' \ - '-X+[use an alternative "cue2discid" implementation]:cue2discid:_command_names -e' \ - '-w+[add a comment to the tracks ripped from the CD]:comment' \ - "-W+[concatenate CD's]:cd-number" \ - '-z[debug mode]' \ - '*: :_guard "^-*" "track list"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_absolute_command_paths b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_absolute_command_paths deleted file mode 100644 index 0d52ff85..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_absolute_command_paths +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This function completes 'ls' to '/bin/ls' -_hashed_absolute_command_paths() { - local -aU set_of_dirs_of_hashed_commands=( ${^commands%/*}/ ) - local i - integer ret=1 - for i in $set_of_dirs_of_hashed_commands - do - local -a matches=( "${(@)commands[(R)${~i}[^/]#]}" ) - local -a descs=( $matches:t ) - compadd -M "l:|=$i" -d descs "$@" -a matches - ret=0 - done - return ret -} - -# This function completes absolute pathnames of executables, e.g., /etc/rc.local -_typed-in_absolute_command_paths() { - # TODO: the description "full path to an executable" and tag in the caller are ignored by _path_files - if [[ -z $PREFIX ]]; then - _path_files -/ -g '*(-*)' -P / -W / - elif [[ $PREFIX[1] == / ]]; then - _path_files -/ -g '*(-*)' -W / - else - return 1 - fi -} - -_absolute_command_paths() { - _alternative \ - 'commands:hashed command by absolute path:_hashed_absolute_command_paths' \ - 'commands:full path to an executable:_typed-in_absolute_command_paths' -} - - -_absolute_command_paths "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ack b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ack deleted file mode 100644 index 6dc3ab0d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ack +++ /dev/null @@ -1,143 +0,0 @@ -#compdef ack ack2 ack-grep ack-standalone - -local curcontext="$curcontext" update_policy ign suf ret=1 -local -a state line -local -A opt_args - -_ack_types_caching_policy() { - # Rebuild if ackrc more recent than cache. - [[ -f ${ACKRC:-$HOME/.ackrc} && ${ACKRC:-$HOME/.ackrc} -nt "$1" ]] && return 0 - - # Rebuild if cache is older than one week. - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -zstyle -s ":completion:${curcontext}:" cache-policy update_policy -[[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _ack_types_caching_policy - -typeset -ga _ack_raw_types -if _cache_invalid ack-types || ! _retrieve_cache ack-types; then - _ack_raw_types=( - ${(S)${(S)${(f)${${"$(_call_program file-types $words[1] --help-types)"}#*--\[no\]}}%; ?irst line matches \/*\/}#*no\]} ) - [[ $#_ack_raw_types -gt 0 ]] && _store_cache ack-types _ack_raw_types -fi - -(( $#words > 2 )) && ign='!' - -_arguments -C -s -S \ - '(-i --ignore-case -I -S --smart-case --no-smart-case --nosmart-case --lines)'{-i,--ignore-case}'[match case-insensitively]' \ - '(-i --ignore-case -I -S --no-smart-case --nosmart-case --lines)'{-S,--smart-case}'[case-insensitive match unless pattern includes uppercase]' \ - '(-i --ignore-case -I -S --smart-case --no-smart-case --nosmart-case --lines)'{--no-smart-case,--nosmart-case}'[disable --smart-case option]' \ - '(-i --ignore-case -S --smart-case --no-smart-case --nosmart-case --lines)-I[turn on case-sensitivity in pattern]' \ - '(-v --invert-match)'{-v,--invert-match}'[select non-matching lines]' \ - '(-w --word-regexp)'{-w,--word-regexp}'[force pattern to match only whole words]' \ - '(-Q --literal)'{-Q,--literal}'[use literal strings]' \ - '(1)*--lines=[only print specific lines of each file]:line number (list and/or range)' \ - '(-l --files-with-matches -L --files-without-matches)'{-l,--files-with-matches}"[output matching files' names only]" \ - '(-L --files-without-matches -l --files-with-matches)'{-L,--files-without-matches}"[output non-matching files' names only]" \ - '--output=[output result of expression for each line (turns off text highlighting)]:perl expression' \ - '-o[show only matching part of line]' \ - '--passthru[print all lines, whether matching or not]' \ - '(1)--match=[specify the pattern explicitly]:pattern' \ - '(-m --max-count)'{-m+,--max-count=}'[stop after specified no of matches in each file]:max number of matches' \ - '-1[stop after reporting first match of any kind]' \ - '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print filename with each match]' \ - '(-h --no-filename -H --with-filename)'{-h,--no-filename}'[suppress printing of filenames]' \ - '(-c --count)'{-c,--count}'[only print a count of matching lines]' \ - '--column[print column number of first match on each line]' \ - '(-A --after-context -C --context)'{-A+,--after-context=}'[specify lines of trailing context]::lines [2]' \ - '(-B --before-context -C --context)'{-B+,--before-context=}'[specify lines of leading context]::lines [2]' \ - '(-C --context -A --after-context -B --before-context)'{-C+,--context=}'[specify lines of context]:lines [2]' \ - '--print0[separate filenames with a null instead of a newline]' \ - '-s[suppress error messages about nonexistent or unreadable files]' \ - "(--nopager)--pager=[direct ack's output through program]: : _command_names -e" \ - "(--pager)--nopager[don't send output through a pager; overrides .ackrc, ACK_PAGER & ACK_PAGER_COLOR]" \ - '(--noheading --heading)'{--noheading,--heading}'[print a filename heading above results, default on]' \ - '(--nobreak --break)'{--nobreak,--break}'[print a break between results from different files, default on]' \ - '(--nogroup)--group[group matches by file name]' \ - "(--group)--nogroup[don't group matches by file name]" \ - '--proximate=[separate match output with blank lines unless they are adjacent]::proximity (lines)' \ - '(--nocolor --nocolour)--colo'{,u}'r[enable color highlighting of output]' \ - '(--color --colour --color-filename --color-match --color-colno --color-lineno)--nocolo'{,u}'r[suppress the color]' \ - '(--nocolor --nocolour --color --colour)--color-filename=[sets the color to be used for filenames]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-match=[sets the color to be used for matches]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-colno=[specify color for column numbers]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-lineno=[specify color for line numbers]:color:->colors' \ - '--flush[flush output on every line]' \ - '(1)-f[only print the files that would be searched, without actually doing any searching]' \ - '(1)-g[print files where the relative path + filename matches the given pattern]:pattern to match against filenames' \ - '--sort-files[sorts the found files lexically]' \ - '--show-types[print the file types that ack associates with each file]' \ - '(--files-from -x)--files-from=[read the list of files to search from specified file]:file:_files' \ - '(-x --files-from)-x[read the list of files to search from standard input]' \ - '*--ignore-dir'{,ectory}'=[ignore directory]:directory:_directories' \ - '*--noignore-dir'{,ectory}'=[remove directory from ignored list]:directory:_directories' \ - '*--ignore-file=[add filter for ignoring files]:filter:->filters' \ - '(-r -R --recurse -n --no-recurse)'{-r,-R,--recurse}'[recurse subdirectories]' \ - '(-n --no-recurse -r -R --recurse)'{-n,--no-recurse}"[don't descend into subdirectories]" \ - '(--nofollow)--follow[follow symlinks]' \ - "(--follow)--nofollow[don't follow symlinks]" \ - '(-k --known-types)'{-k,--known-types}'[include only files of types that ack recognizes]' \ - '*--type=[specify the types of files to include or exclude from a search]:type:->file-types' \ - '*--type-'{add,set}'=[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \ - '*--type-del=[remove all filters associated with specified file type]: :->file-types' \ - '(--env)--noenv[ignore environment variables and global ackrc files]' '!(--noenv)--env)' \ - '--ackrc=[specify an ackrc file to use]:file:_files' \ - '--ignore-ack-defaults[ignore default definitions included with ack]' \ - "${ign}(- 1 *)--create-ackrc[output an ackrc based on customizations]" \ - "${ign}(- 1 *)"{-\?,--help}'[display usage information]' \ - "${ign}(- 1 *)--help-types[display all known types]" \ - "${ign}(- 1 *)--dump[display information on which options are loaded and which RC files]" \ - '(--filter --nofilter)--filter[treat standard input as pipe]' \ - '(--filter --nofilter)--nofilter[treat standard input as tty]' \ - "${ign}(- 1 *)--man[display the manual page]" \ - "${ign}(- 1 *)--faq[display the frequently asked questions]" \ - "${ign}(- 1 *)--cookbook[display a list of tips and tricks for using ack]" \ - "${ign}(- 1 *)--version[display version and copyright information]" \ - "${ign}(- 1 *)--bar[consult Admiral Ackbar]" \ - "${ign}(- 1 *)--thpppt[bill the cat]" \ - "${ign}(- 1 *)--cathy[chocolate chocolate chocolate]" \ - {'--','--no'}${_ack_raw_types/ ##/\[}']' \ - '1: :_guard "^-*" pattern' \ - '*:file:_files' && ret=0 - -case $state in - colors) - compset -P '* ' - compset -S ' *' - _wanted colors expl color compadd \ - {,on_}{,bright_}{black,red,green,yellow,blue,magenta,cyan,white} \ - clear reset dark bold under{line,score} blink reverse concealed && ret=0 - ;; - type-defs) - if ! compset -P 1 '*:'; then - _message -e type-name 'type name' - return - fi - ;& # fall-through - filters) - if compset -P 1 'ext:'; then - _sequence _wanted extensions expl 'extension' compadd - *.*(N:e) && ret=0 - elif compset -P 1 'is:'; then - _description files expl 'file name' - _files "$expl[@]" && ret=0 - elif compset -P 1 '(firstline|)match:'; then - _message -e patterns 'pattern' - else - compset -S ':*' || suf=-S - _description filters expl filter - compadd "$expl[@]" ${suf:+-S:} ext is && ret=0 - compadd "$expl[@]" ${suf:+-S:/} match firstlinematch && ret=0 - fi - ;; - file-types) - local types; types=( {,no}${^_ack_raw_types/ ##/:} ) - _describe -t file-types 'file type' types && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpi deleted file mode 100644 index 85068750..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpi +++ /dev/null @@ -1,18 +0,0 @@ -#compdef acpi - -_arguments -s \ - '(-b --battery)'{-b,--battery}'[battery information]' \ - '(-B --without-battery)'{-B,--without-battery}'[suppress battery information]' \ - '(-t --thermal)'{-t,--thermal}'[thermal information]' \ - '(-T --without-thermal)'{-T,--without-thermal}'[suppress thermal information]' \ - '(-a --ac-adapter)'{-a,--ac-adapter}'[ac adapter information]' \ - '(-A --without-ac-adapter)'{-A,--without-ac-adapter}'[suppress ac-adapter information]' \ - '(-V --everything)'{-V,--everything}'[show every device, overrides above options]' \ - '(-s --show-empty)'{-s,--show-empty}'[show non-operational devices]' \ - '(-S --hide-empty)'{-S,--hide-empty}'[hide non-operational devices]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-c,--celsius}'[use Celsius as the temperature scale]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-f,--fahrenheit}'[use Fahrenheit as the temperature scale]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-k,--kelvin}'[use Kelvin as the temperature scale]' \ - '(-d --directory)'{-d,--directory}'[path to ACPI info (/proc/acpi)]:directory:_files -/' \ - '(-h --help)'{-h,--help}'[display this help and exit]' \ - '(-v --version)'{-v,--version}'[output version information and exit]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpitool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpitool deleted file mode 100644 index e7dcb4ea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acpitool +++ /dev/null @@ -1,69 +0,0 @@ -#compdef acpitool - -local ret=1 selbrands disambig -typeset -a brands args - -if ! zstyle -a ":completion:${curcontext}:" acpi-extensions brands || \ - (( $brands[(I)detect] )); then - [[ -d /proc/acpi/toshiba ]] && brands+=toshiba - [[ -d /proc/acpi/asus ]] && brands+=asus - [[ -d /proc/acpi/ibm ]] && brands+=thinkpad -elif (( $brands[(I)all] )); then - brands=(toshiba asus thinkpad) -fi - -args=( - '(-a --ac_adapter)'{-a,--ac_adapter}'[show AC adapter presence]' - '-b[show battery status for available batteries]' - '(-B --battery)'{-B,--battery}'[show detailed battery status for all batteries found]' - '(-c --cpu)'{-c,--cpu}'[show CPU information]' - '(-a --ac_adapter -A -b -B --battery -c --cpu -e -f --fan -t --thermal -w)-e[show just about everything]' - '(-f --fan)'{-f,--fan}'[show fan status]' - '(-h --help)'{-h,--help}'[display help]' - '(-s --suspend)'{-s,--suspend}'[suspend machine to memory (sleep state S3)]' - '-S[suspend machine to disk (sleep state S4)]' - '(-t --thermal)'{-t,--thermal}'[show thermal zone(s) information and trip points]' - '-v[show more verbose output]' - '(-V --version)'{-V,--version}'[output version information and exit]' - '-w[show the wakeup capable devices]' - '-W+[toggle enable/disable wakeup capable device]: :_wakeup_capable_devices' -) - -if (( $brands[(I)asus] )); then - disambig= - (( $brands[(I)(toshiba|thinkpad)] )) && disambig='Asus ' - args+=( - '(-A --Asus)'{-A,--Asus}'[show supported Asus ACPI extensions]' - '-m+[set mail LED status]:mail LED status:((1\:on 0\:off))' - '-n+[set wireless LED status]:wireless LED status:((1\:on 0\:off))' - '-o+[set LCD panel status]:LCD panel status:((1\:on 0\:off))' - "-z+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)" - ) -fi - -selbrands= -if (( $brands[(I)toshiba] )); then - selbrands=Toshiba - args+=( - '-F+[force fan on or switch back to auto mode]:fan status:((1\:on 0\:auto))' - '(-T --Toshiba)'{-T,--Toshiba}'[show supported Toshiba ACPI extensions]' - ) -fi - -if (( $brands[(I)thinkpad] )); then - [[ -n $selbrands ]] && selbrands+=/ - selbrands=${selbrands}Thinkpad - args+=('-j[eject ultrabay device]') -fi - -if [[ -n $selbrands ]]; then - disambig= - (( $brands[(I)asus] )) && disambig="$selbrands " - args+=( - "-l+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7)" - ) -fi - -_arguments -s $args && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acroread b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acroread deleted file mode 100644 index 4a5cb5cb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_acroread +++ /dev/null @@ -1,119 +0,0 @@ -#compdef acroread - -local curcontext="$curcontext" state line -local cmdfile - -if [[ -z $_acroread_version ]]; then - _acroread_version="$($words[1] -version 2>/dev/null)" -fi - -if [[ -z $_acroread_version ]]; then - if [[ $words[1] = */* && -x $words[1] ]]; then - cmdfile=$words[1] - elif [[ -x $commands[$words[1]] ]]; then - cmdfile=$commands[$words[1]] - fi - - # Try extracting the version number directly from the executable. - # (This will fail if the executable is a wrapper script for acroread.) - _acroread_version=${${(M)${(f)"$(<$cmdfile)"}:#ver=*}##ver=} - - if [[ -z $_acroread_version ]]; then - local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]} - if [[ -r $acropath ]]; then - _acroread_version=${${(M)${(f)"$(<$acropath)"}:#ver=*}##ver=} - fi - fi -fi - -if [[ $_acroread_version == [789].* ]]; then - local -a extra_args - extra_args=() - if [[ $_acroread_version == [89].* ]]; then - extra_args+=(-man '-installCertificate:server ip::server port') - fi - if [[ $_acroread_version == 9.* ]]; then - extra_args+=(-openInNewInstance) - fi - _arguments -C \ - "${extra_args[@]}" \ - '--display=:X display:_x_display' \ - '--screen=:X screen (overrides the screen part of DISPLAY)' \ - --sync \ - '-geometry:[<width>x<height>][{+|-}<x offset>{+|-}<y offset>]' \ - -help \ - -iconic \ - '*-setenv:<var>=<value>' \ - -tempFile \ - '-tempFileTitle:title' \ - -openInNewWindow \ - -version \ - '-visual:X visual:_x_visual' \ - '-toPostScript:*::PostScript conversion options:= ->tops' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return - - [[ -n "$state" ]] && _arguments \ - '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \ - -binary \ - '-start:integer' \ - '-end:integer' \ - -optimizeForSpeed \ - -landscape \ - -reverse \ - '(-even)-odd' \ - '(-odd)-even' \ - -commentsOff \ - -annotsOff \ - -stampsOff \ - -markupsOn \ - '(-level3)-level2' \ - '(-level2)-level3' \ - -printerhalftones \ - -saveVM \ - '-scale:integer' \ - -shrink \ - -expand \ - '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \ - '-transQuality:transparency flattening level:(1 2 3 4 5)' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return -else - _x_arguments -C \ - -help \ - -helpall \ - \*-iconic \ - \*+iconic \ - '-name:application name:_x_name' \ - '*-setenv:<var>=<value>' \ - -tempFile \ - '-tempFileTitle:title' \ - '(+useFrontEndProgram)-useFrontEndProgram' \ - '(-useFrontEndProgram)+useFrontEndProgram' \ - '-visual:X visual:_x_visual' \ - '-xrm:X resource specification:_x_resource' \ - '-toPostScript:*::PostScript conversion options:= ->tops' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return - - [[ -n "$state" ]] && _arguments \ - '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \ - -binary \ - '-start:integer' \ - '-end:integer' \ - -optimizeForSpeed \ - -landscape \ - -reverse \ - '(-even)-odd' \ - '(-odd)-even' \ - -commentsOff \ - '(-level2 -level3)-level1' \ - '(-level1 -level3)-level2' \ - '(-level1 -level2)-level3' \ - -printerhalftones \ - -saveVM \ - '-scale:integer' \ - -shrink \ - '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \ - '-transQuality:transparency flattening level:(1 2 3 4 5)' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_adb b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_adb deleted file mode 100644 index 8a071fa8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_adb +++ /dev/null @@ -1,624 +0,0 @@ -#compdef adb -value-,ADB_TRACE,-default- -value-,ANDROID_SERIAL,-default- -value-,ANDROID_LOG_TAGS,-default- - -_adb() { - # rely on localoptions - setopt nonomatch - - local -a ADB_DEVICE_SPECIFICATION - local LOG_REDIRECT - - if [[ $1 = -l ]]; then - # Run to load _adb and associated functions but do - # nothing else. - return - fi - - if [[ $service = -value-* ]]; then - #_message compstate=$compstate[parameter] - case $compstate[parameter] in - (ADB_TRACE) - _adb_trace_opts - ;; - - (ANDROID_SERIAL) - _adb_device_serial - ;; - - (ANDROID_LOG_TAGS) - _adb_logcat_filter_specification - ;; - - esac - # We do not handle values anywhere else. - return - fi - - local -a ALL_ADB_COMMANDS - ALL_ADB_COMMANDS=( - "backup" - "bugreport" - "connect" - "devices" - "disable-verity" - "disconnect" - "emu" - "enable-verity" - "exec-out" - "forward" - "get-devpath" - "get-serialno" - "get-state" - "help" - "install" - "install-multiple" - "jdwp" - "keygen" - "kill-server" - "logcat" - "ppp" - "pull" - "push" - "reboot" - "reboot-bootloader" - "remount" - "restore" - "reverse" - "root" - "shell" - "sideload" - "start-server" - "status-window" - "sync" - "tcpip" - "uninstall" - "unroot" - "usb" - "version" - "wait-for-device" - ) - - (( $+functions[_adb_device_specification] )) && _adb_device_specification - - if ! adb ${ADB_DEVICE_SPECIFICATION} shell exit 2>/dev/null; then - # early bail-out until a single valid device/emulator is specified and up-and-running - [[ $words[CURRENT-1] = -s ]] || _message -r "No (started) device specified, completions do not yet work" - #TODO handle -t transport-id - _arguments \ - '-s[serial]: :_adb_device_serial' \ - '( -e)-d[device]' \ - '(-d )-e[emulator]' \ - '1:option:_adb_options_handler' \ - '*: : _default' - - return - fi - - (( $+functions[_adb_check_log_redirect] )) && _adb_check_log_redirect - - (( $+functions[_adb_dispatch_command] )) && _adb_dispatch_command -} - -(( $+functions[_adb_dispatch_command] )) || -_adb_dispatch_command () { - local curcontext="${curcontext}" - local integer last_command_pos=-1 - - (( $+functions[_adb_sanitize_context] )) && _adb_sanitize_context - if [[ ${last_command_pos} -gt 0 ]] - then - shift ${last_command_pos}-1 words - CURRENT=$(( ${CURRENT} - ${last_command_pos} + 1 )) - fi - - case ${curcontext} in - (*:adb-shell:|*:adb-exec-out:) - (( $+functions[_adb_dispatch_shell] )) && _adb_dispatch_shell - ;; - (*:adb-backup:) - (( $+functions[_adb_dispatch_backup] )) && _adb_dispatch_backup - ;; - (*:adb-connect:|*:adb-disconnect:) - (( $+functions[_adb_dispatch_connection_handling] )) && _adb_dispatch_connection_handling - ;; - (*:adb-logcat:) - (( $+functions[_adb_dispatch_logcat] )) && _adb_dispatch_logcat - ;; - (*:adb-push:) - (( $+functions[_adb_dispatch_push] )) && _adb_dispatch_push - ;; - (*:adb-pull:) - (( $+functions[_adb_dispatch_pull] )) && _adb_dispatch_pull - ;; - (*:adb-install:) - (( $+functions[_adb_dispatch_install] )) && _adb_dispatch_install - ;; - (*:adb-uninstall:) - (( $+functions[_adb_dispatch_uninstall] )) && _adb_dispatch_uninstall - ;; - (*:adb-*) - _default - ;; - (*) - _arguments \ - '(-d -e)-s[serial]: :_adb_device_serial' \ - '(-s -e)-d[device]' \ - '(-d -s)-e[emulator]' \ - '*:option:_adb_options_handler' - ;; - esac -} - -(( $+functions[_adb_sanitize_context] )) || -_adb_sanitize_context () { - local -a mywords - for adbcommand in "${ALL_ADB_COMMANDS[@]}" - do - if [[ -n "${adbcommand}" ]] && [[ ${words[(I)${adbcommand}]} -gt 0 ]] - then - last_command_pos=${words[(I)${adbcommand}]} - mywords[${last_command_pos}]=${adbcommand} - fi - done - ##expand unquoted to remove sparse elements - mywords=( ${mywords[@]} ) - (( $#mywords )) && curcontext="${curcontext%:*}-${mywords[-1]}:" -} - -(( $+functions[_adb_device_specification] )) || -_adb_device_specification () { - if [[ $words[2] == -[de] ]]; then - ADB_DEVICE_SPECIFICATION=($words[2]) - elif [[ $words[2] == -[st] ]]; then - ADB_DEVICE_SPECIFICATION=($words[2,3]) - fi -} - -(( $+functions[_adb_dispatch_shell] )) || -_adb_dispatch_shell () { - if [[ $CURRENT -le 2 ]] - then - (( $+functions[_adb_shell_commands_handler] )) && _adb_shell_commands_handler - return - fi - - case ${words[2]} in - (am) - (( $+functions[_adb_activity_manager_handler] )) && _adb_activity_manager_handler - ;; - (pm) - (( $+functions[_adb_package_manager_handler] )) && _adb_package_manager_handler - ;; - (cmd) - (( $+functions[_adb_cmd_handler] )) && _adb_cmd_handler - ;; - (dumpsys) - (( $+functions[_adb_dumpsys_handler] )) && _adb_dumpsys_handler - ;; - (start|stop) - (( $+functions[_adb_startstop] )) && _adb_startstop ${words[2]} - ;; - (*) - _arguments '*: :_adb_remote_folder' - ;; - esac -} - -(( $+functions[_adb_dispatch_backup] )) || -_adb_dispatch_backup() { - _arguments \ - '-f[specify backup file]:backup file:_files' \ - '-apk[backup .apk files]' '!(-apk)-noapk' \ - '-obb[backup .obb files]' '!(-obb)-noobb' \ - '-shared[backup shared storage]' '!(-shared)-noshared' \ - '-all[backup all installed apps]' \ - '-nosystem[include system apps when backing up all apps]' '!(-nosystem)-system' \ - '*:package name:_adb_installed_packages' -} - -(( $+functions[_adb_pm_list] )) || -_adb_pm_list () { - case ${words[4]} in - (packages) - _arguments -s '-f[see their associated file]' \ - ':' - ;; - (permissions) - _arguments -s '-g[organize by group]' \ - '-f[print all information]' \ - '-d[only list dangerous permissions]' \ - '-u[only list user visible permissions]' \ - '-s[short summary]' \ - ':' - ;; - (permission-groups) - ;; - (instrumentation) - _arguments -s '-f[see their associated file]' \ - ':' - ;; - (features) - ;; - (users) - ;; - (*) - _wanted pm_list_argument expl 'pm list argument' compadd packages permission-groups permissions instrumentation features users - ;; - esac -} - -(( $+functions[_adb_intent_handler] )) || -_adb_intent_handler () { - _message -r "<INTENT> specifications include these flags: - [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] - [-c <CATEGORY> [-c <CATEGORY>] ...] - [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] - [--esn <EXTRA_KEY> ...] - [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] - [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] - [-n <COMPONENT>] [-f <FLAGS>] - [--grant-read-uri-permission] [--grant-write-uri-permission] - [--debug-log-resolution] - [--activity-brought-to-front] [--activity-clear-top] - [--activity-clear-when-task-reset] [--activity-exclude-from-recents] - [--activity-launched-from-history] [--activity-multiple-task] - [--activity-no-animation] [--activity-no-history] - [--activity-no-user-action] [--activity-previous-is-top] - [--activity-reorder-to-front] [--activity-reset-task-if-needed] - [--activity-single-top] - [--receiver-registered-only] [--receiver-replace-pending] - [<URI>]" -} - -(( $+functions[_adb_activity_manager_handler] )) || -_adb_activity_manager_handler () { - if [[ $CURRENT -le 3 ]] - then - _wanted am_argument expl 'am argument' compadd start startservice broadcast instrument profile - return - fi - case ${words[3]} in - (start) - _arguments -s '-D[enable debugging]' \ - '-W[wait for launch to complete]' \ - '*:intent:_adb_intent_handler' - ;; - (startservice) - _arguments -s '*:intent:_adb_intent_handler' - ;; - (broadcast) - _arguments -s '*:intent:_adb_intent_handler' - ;; - (instrument) - _arguments -s '-r[print raw results]' \ - '-e[set argument NAME to VALUE]:<NAME> <VALUE>:' \ - '-p[write profiling data to FILE]:<FILE>:' \ - '-w[wait for instrumentation to finish]' \ - ':' - ;; - (profile) - _message -r "<PROCESS> start/stop <FILE>" - ;; - esac -} - -(( $+functions[_adb_package_manager_handler] )) || -_adb_package_manager_handler () { - case ${words[3]} in - (list) - (( $+functions[_adb_pm_list] )) && _adb_pm_list - ;; - (path) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (enable) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (disable) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (setInstallLocation) - _wanted install-locations expl 'install location' compadd -d "(0:auto 1:internal 2:external)" 0 1 2 - ;; - (getInstallLocation) - ;; - (*) - _wanted pm_argument expl 'pm argument' compadd list path install uninstall enable disable setInstallLocation getInstallLocation - ;; - esac -} - -(( $+functions[_adb_cmd_handler] )) || -_adb_cmd_handler () { - local -a cmds - cmds=(${${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out cmd -l)"}[2,-1]}##[[:space:]]##}) - _wanted dumpsys expl 'cmd command' compadd ${cmds%$'\r'} -} - -(( $+functions[_adb_dumpsys_handler] )) || -_adb_dumpsys_handler () { - if [[ $CURRENT -eq 3 ]]; then - local -a services - services=(${${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out dumpsys -l)"}[2,-1]}##[[:space:]]##}) - _wanted dumpsys expl 'dumpsys service' compadd - ${services%$'\r'} - elif [[ $CURRENT -ge 4 && $words[3] == SurfaceFlinger ]]; then - (( CURRENT -= 2 )) - shift 2 words - typeset -A opt_args - local context state state_descr line - _arguments -R \ - '--file[start/stop continuous dumpsys to file]' \ - '--no-limit[disable wrapping around continuous dumpsys at ~20MB]' \ - '--full-dump[set fullDump = true]' \ - '--allocated_buffers[show allocated buffers dump]' \ - '--display-id[show display id dump]' \ - '--dispsync[show dispsync dump]' \ - '--edid[raw edid dump for specified hwc display (binary output)]:*:hwc display:->hwcdisplay' \ - '--latency[show latency stats]:*:layer:->layer' \ - '--latency-clear[clear latency stats]:*:layer:->layer' \ - '--list[list all layers]' \ - '--planner[pass planner dump arguments]:*:planner arguments:->planner' \ - '--static-screen[show static screen stats]' \ - '--timestats[pass time stats arguments]:*:timestats arguments:->timestats' \ - '--vsync[show vsync dump]' \ - '--wide-color[show wide color info]' \ - '--frametimeline[pass frametimeline arguments]:*:frametimeline arguments:->frametimeline' \ - '--mini[show mini dump]' - if [[ $? == 300 ]]; then - case $state in - layer) - typeset -a layers - layers=(${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out dumpsys SurfaceFlinger --list)"}[2,-1]}) - _wanted dumpsys expl 'layers' compadd - ${layers%$'\r'} - ;; - planner) - _arguments \ - {--compare,-c}'[compare predictions of two hashes]:left: :right: :' \ - {--describe,-d}'[describe hash]:hash: :' \ - {--help,-h}'[help]' \ - {--similar,-s}'[show similar stacks matching given plan]:plan: :' \ - {--layers,-l}'[show current layers]' - ;; - timestats) - _arguments -disable -enable -clear -dump -maxlayers'[only with -dump]:int:' - ;; - frametimeline) - _arguments -jank -all - ;; - esac - fi - fi -} - -(( $+functions[_adb_startstop] )) || -_adb_startstop () { - local -a services - local -A service_status - services=(${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out getprop)"}) - service_status=( ${(s,: ,)${(j,: ,)${(M)services:#\[init.svc.*}}} ) - local -A map=(start stopped stop running) - services=( ${(k)service_status[(R)*$map[$1]*]} ) - _wanted services expl "$map[$1] services" compadd - ${${${services#\[}%\]}#init.svc.} -} - -(( $+functions[_adb_dispatch_uninstall] )) || -_adb_dispatch_uninstall () { - _arguments \ - '-k[keep data and cache]' \ - '--user[uninstall for user id]:user id:_adb_users' \ - '1:installed package:_adb_installed_packages' -} - -(( $+functions[_adb_dispatch_install] )) || -_adb_dispatch_install () { - argcount=${#${(M)words#-*}} - if [[ $CURRENT -gt (( argcount + 2 )) ]] - then - _message -r "Notice: you can only install one package at a time" - return - fi - - _arguments \ - '-l[forward lock]' \ - '-r[reinstall]' \ - '-s[install on sd]' \ - '*:apk file:_path_files -g "*(/)|*.apk"' -} - -(( $+functions[_adb_dispatch_push] )) || -_adb_dispatch_push () { - if [[ $CURRENT -gt 3 ]] - then - _message -r "Notice: you can only push a single item at a time" - return - fi - if [[ $CURRENT -gt 2 ]] - then - _arguments '*: :_adb_remote_folder' - else - _arguments '*:local file/folder:_files' - fi -} - -(( $+functions[_adb_dispatch_pull] )) || -_adb_dispatch_pull () { - if [[ $CURRENT -gt 3 ]] - then - _message -r "Notice: you can only pull a single item at a time" - return - fi - if [[ $CURRENT -gt 2 ]] - then - _arguments '*:local file/folder:_files' - else - _arguments '*: :_adb_remote_folder' - fi -} - -(( $+functions[_adb_dispatch_connection_handling] )) || -_adb_dispatch_connection_handling () { - if compset -P '*:' - then - local expl - _wanted ports expl port compadd "$@" 5555 - else - _hosts -qS: - fi -} - -(( $+functions[_adb_check_log_redirect] )) || -_adb_check_log_redirect () { - LOG_REDIRECT=${$(adb ${ADB_DEVICE_SPECIFICATION} shell getprop log.redirect-stdio 2>/dev/null)// -/} - [[ ${LOG_REDIRECT[1,4]} == "true" ]] && _message -r "Notice: stdio log redirection enabled on the device, so some completions will not work" -} - -(( $+functions[_adb_trace_opts] )) || -_adb_trace_opts() { - _values -s , 'adb trace option' \ - '(1 adb sockets packets rwx usb sync sysdeps transport jdwp)all' \ - '(all adb sockets packets rwx usb sync sysdeps transport jdwp)1' \ - 'adb' \ - 'sockets' \ - 'packets' \ - 'rwx' \ - 'usb' \ - 'sync' \ - 'sysdeps' \ - 'transport' \ - 'jdwp' -} - -(( $+functions[_adb_device_serial] )) || -_adb_device_serial() { - local expl - local -a devices device_desc - local device - devices=( $(adb devices -l | sed -n -e 's/:/\\:/' -e 's/^\([^[:space:]]*\)[[:space:]]*.*product:\([^[:space:]]*\).*$/\1:\2/p') ) - zstyle -a :completion:${curcontext} device-names device_desc - for device in $device_desc; do - if [[ -n $devices[(r)${device%:*}:*] ]]; then - devices[(i)${device%:*}:*]=$device - elif [[ -n $devices[(r)*:${device%:*}] ]]; then - devices[(i)*:${device%:*}]=${${devices[(r)*:${device%:*}]}%:*}:${device#*:} - fi - done - _describe -t dev_serial 'available device' devices -} - -(( $+functions[_adb_logcat_filter_specification] )) || -_adb_logcat_filter_specification() { - zstyle ":completion:${curcontext}:" cache-policy _adb_cache_policy_single_command - - local cacheid=logcat_filter_cache_${$(adb ${ADB_DEVICE_SPECIFICATION} get-serialno)} - typeset -a logcat_filter_tags - if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" - then - logcat_filter_tags=( $(command adb ${ADB_DEVICE_SPECIFICATION} logcat -d -v brief | sed -n 's#^[VDIWEF]/\([^[:space:](]*\).*#\1#p' |sort | uniq) ) - _store_cache "$cacheid" logcat_filter_tags - fi - local expl - if compset -P '*:' - then - _wanted filter expl filter compadd W S E I D V \* - else - _wanted filtertags expl filtertags compadd -qS: ${logcat_filter_tags[@]} \* - fi -} - -(( $+functions[_adb_dispatch_logcat] )) || -_adb_dispatch_logcat() { - _arguments \ - '(-c -g)-s[set default filter to silent]' \ - '(-c -g)-f[log output to file (defaults to stdout)]:logfile:_files' \ - '(-c -g -d)-r[rotate log at specified size, requires -f]:log size (kbytes) [16]' \ - '(-c -g -d)-n[specify max number of rotated logs]:number [4]' \ - '(-c -g -d)-v[log format]:format: _values "format" brief process tag thread raw time threadtime long' \ - '(-d -t -g)-c[clear log]' \ - '(-c -g)-d[dump log]' \ - '(-c -g)-t[print only recent lines (implies -d)]:linecount:_guard "[0-9]#" "numeric value"' \ - '(-c -g)-B[output log in binary]' \ - '(-c -g)*:filtering:_adb_logcat_filter_specification' -} - -(( $+functions[_adb_options_handler] )) || -_adb_options_handler() { - local expl - _wanted adb_options expl 'adb option' compadd "${ALL_ADB_COMMANDS[@]}" -} - -(( $+functions[_adb_shell_commands_handler] )) || -_adb_shell_commands_handler() { - local expl - _wanted adb_shell_commands expl 'adb shell command' compadd ls pm am mkdir rmdir rm cat cmd dumpsys start stop -} - -(( $+functions[_adb_device_available] )) || -_adb_device_available() { - [[ $(adb ${ADB_DEVICE_SPECIFICATION} get-state 2>&1) == "device" ]] && return 0 - return 1 -} - -(( $+functions[_adb_remote_folder] )) || -_adb_remote_folder () { - typeset -a files dirs - local pref=${PREFIX} - if [[ $pref != */* ]]; then - pref= - elif [[ $pref != */ ]]; then - pref=${pref%/*}/ - fi - # yes, this ls is sickening to look at, but android doesn't have printf or find - files=(${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} shell 'ls -1d 2> /dev/null '$pref'*/ '$pref'*')"}%$'\r'}) - dirs=(${${(M)files:#*/}%/}) - files=(${${files:|dirs}:#*\*(/|)}) - _adb_device_available && \ - _wanted adb_remote_folder expl 'file/folder on device' _multi_parts $@ / files -} - -(( $+functions[_adb_installed_packages] )) || -_adb_installed_packages() { - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _adb_cache_policy_single_command - fi - - local cacheid=package_cache_${$(adb ${ADB_DEVICE_SPECIFICATION} get-serialno)} - typeset -a installed_packages - if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" - then - installed_packages=(${$( adb ${ADB_DEVICE_SPECIFICATION} shell pm list packages )//#package:/}) - _store_cache "$cacheid" installed_packages - fi - - _wanted adb_installed_packages expl 'packages that are installed' compadd ${installed_packages} -} - -(( $+functions[_adb_users] )) || -_adb_users() { - local -a users - users=( ${${${(M)${(f)"$(adb shell pm list users)"}:#*UserInfo*}#*UserInfo\{}%:*} ) - _describe -t users 'user' users -} - -(( $+functions[_adb_cache_policy_single_command] )) || -_adb_cache_policy_single_command () { - typeset -a old - - # cache is valid for 1 minute - old=( "$1"(mm+1) ) - (( $#old )) -} - -(( $+functions[_adb_cache_policy_daily] )) || -_adb_cache_policy_daily () { - typeset -a old - - # cache is valid for a day - old=( "$1"(mh+12) ) - (( $#old )) -} - - - -_adb $@ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zle-hook-widget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zle-hook-widget deleted file mode 100644 index c0bd7781..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zle-hook-widget +++ /dev/null @@ -1,39 +0,0 @@ -#compdef add-zle-hook-widget - -_add-zle-hook-widget_types() { - local -a tmp - - autoload -U add-zle-hook-widget - add-zle-hook-widget -h >&/dev/null # sets the zstyle - zstyle -g tmp zle-hook types - - compadd "$@" -M 'L:|=zle-' -M 'r:|-=* r:|=*' -- zle-${^tmp} -} - -_add-zle-hook-widget_widgets() { - local expl - if (( $+opt_args[-d] )); then - local -a tmp - zstyle -g tmp $line[1] widgets - _wanted widgets expl "installed hook" compadd -- ${tmp#<->:} && return 0 - else - _wanted widgets expl widget _widgets -g 'user:*' && return 0 - fi - return 1 -} - -_add-zle-hook-widget() { - local context state state_descr line - typeset -A opt_args - _arguments -s -w -S : \ - "(-d -D -U -z -k)-L[output in form of 'zstyle' commands]" \ - '(-L -D -U -z -k)-d[remove HOOK from the array]' \ - '(-L -d -U -z -k)-D[interpret HOOK as pattern to remove from the array]' \ - '(-L -d -D)-U[suppress alias expansion for functions]' \ - '(-L -d -D -k)-z[mark function for zsh-style autoloading]' \ - '(-L -d -D -z)-k[mark function for ksh-style autoloading]' \ - ':hook type:_add-zle-hook-widget_types' \ - ':widget:_add-zle-hook-widget_widgets' -} - -_add-zle-hook-widget "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zsh-hook b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zsh-hook deleted file mode 100644 index 5b1ff0e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_add-zsh-hook +++ /dev/null @@ -1,27 +0,0 @@ -#compdef add-zsh-hook - -_add-zsh-hook_hooks() { - local expl - if (( $+opt_args[-d] )); then - _wanted functions expl "installed hook" compadd -a - "$line[1]_functions" && return 0 - else - _functions && return 0 - fi - return 1 -} - -_add-zsh-hook() { - local context state state_descr line - typeset -A opt_args - _arguments -s -w -S : \ - "(-d -D -U -z -k)-L[output in form of 'typeset' commands]" \ - '(-L -D -U -z -k)-d[remove HOOK from the array]' \ - '(-L -d -U -z -k)-D[interpret HOOK as pattern to remove from the array]' \ - '(-L -d -D)-U[suppress alias expansion for functions]' \ - '(-L -d -D -k)-z[mark function for zsh-style autoloading]' \ - '(-L -d -D -z)-k[mark function for ksh-style autoloading]' \ - ':hook class:(chpwd precmd preexec periodic zshaddhistory zshexit zsh_directory_name)' \ - ':hook function:_add-zsh-hook_hooks' -} - -_add-zsh-hook "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alias b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alias deleted file mode 100644 index 617627cb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alias +++ /dev/null @@ -1,24 +0,0 @@ -#compdef alias - -local curcontext="$curcontext" state line expl type suf -typeset -A opt_args - -_arguments -C -s -A "-*" -S \ - '(-r +r -s +s)-+g[list or define global aliases]' \ - '(-g +g -s +s)-+r[list or define regular aliases]' \ - '(-r +r -g +g)-+s[list or define suffix aliases]' \ - '-+m[print aliases matching specified pattern]' \ - '-L[print each alias in the form of calls to alias]' \ - '*::alias definition:->defn' - -if [[ -n "$state" ]]; then - if compset -P 1 '*='; then - compset -q - _normal - else - compset -S '=*' || suf='=' - type=( ${opt_args[(i)[-+][grs]]#?} ) - (( $#type )) && type=( -s $type ) - _wanted -x alias expl 'alias definition' _aliases -qS "$suf" "$type[@]" - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aliases b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aliases deleted file mode 100644 index 6506ece1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aliases +++ /dev/null @@ -1,19 +0,0 @@ -#compdef unalias - -local expl sel args opts - -zparseopts -E -D s:=sel - -[[ -z $sel ]] && sel=rgs - -opts=( "$@" ) - -args=() -[[ $sel = *r* ]] && args=( $args 'aliases:regular alias:compadd -k aliases' ) -[[ $sel = *g* ]] && args=( $args 'global-aliases:global alias:compadd -k galiases' ) -[[ $sel = *s* ]] && args=( $args 'suffix-aliases:suffix alias:compadd -k saliases' ) -[[ $sel = *R* ]] && args=( $args 'disabled-aliases:disabled regular alias:compadd -k dis_aliases' ) -[[ $sel = *G* ]] && args=( $args 'disabled-global-aliases:disabled global alias:compadd -k dis_galiases' ) -[[ $sel = *S* ]] && args=( $args 'disabled-suffix-aliases:disabled suffix alias:compadd -k dis_saliases' ) - -_alternative -O opts $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_labels b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_labels deleted file mode 100644 index e607d639..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_labels +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev - -if [[ "$1" = - ]]; then - __prev=- - shift -fi - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -__tmp=${argv[(ib:4:)-]} -__len=$# -if [[ __tmp -lt __len ]]; then - __pre=$(( __tmp-1 )) - __suf=$__tmp -elif [[ __tmp -eq $# ]]; then - __pre=-2 - __suf=$(( __len+1 )) -else - __pre=4 - __suf=5 -fi - -while comptags "-A$__prev" "$1" curtag __spec; do - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - _comp_tags="$_comp_tags $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - - "$4" "${(P@)2}" "${(@)argv[5,-1]}" && __ret=0 - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - - "${(@)argv[4,__pre]}" "${(P@)2}" "${(@)argv[__suf,-1]}" && __ret=0 - fi -done - -return __ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_matches b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_matches deleted file mode 100644 index 59a6d806..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_all_matches +++ /dev/null @@ -1,47 +0,0 @@ -#autoload - -_all_matches() { - local old - - zstyle -s ":completion:${curcontext}:" old-matches old - - if [[ "$old" = (only|true|yes|1|on) ]]; then - - if [[ -n "$compstate[old_list]" ]]; then - compstate[insert]=all - compstate[old_list]=keep - return 0 - fi - - [[ "$old" = *only* ]] && return 1 - fi - - (( $comppostfuncs[(I)_all_matches_end] )) || - comppostfuncs=( "$comppostfuncs[@]" _all_matches_end ) - - _all_matches_context=":completion:${curcontext}:" - - return 1 -} - -_all_matches_end() { - local not - - zstyle -s "$_all_matches_context" avoid-completer not || - not=( _expand _old_list _correct _approximate ) - - if [[ "$compstate[nmatches]" -gt 1 && $not[(I)(|_)$_completer] -eq 0 ]]; then - local expl - - if zstyle -t "$_all_matches_context" insert; then - compstate[insert]=all - else - _description all-matches expl 'all matches' - compadd "$expl[@]" -C - fi - fi - - unset _all_matches_context -} - -_all_matches "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alsa-utils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alsa-utils deleted file mode 100644 index dd5c2686..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alsa-utils +++ /dev/null @@ -1,54 +0,0 @@ -#compdef aplay arecord -# Copyright (c) 2019 Sebastian Gniazdowski - -setopt localoptions warncreateglobal typesetsilent - -local -a opts -opts=( - '(- : *)'{-h,--help}'[print help message]' - '(- : *)'--version'[print current version]' - # -l/--list-devices doesn't benefit from -v/--verbose - '(- : *)'{-l,--list-devices}'[list all soundcards and digital audio devices]' - - '(-L --list-pcms)'{-L,--list-pcms}'[list device names]' - '(-D --device)'{-D+,--device=}'[select PCM by name]' - '(-q --quiet)'{-q,--quiet}'[quiet mode]' - '(-t --file-type)'{-t+,--file-type=}'[file type (voc, wav, raw or au)]' - '(-c --channels)'{-c+,--channels=}'[channels]' - '(-r --rate)'{-r+,--rate=}'[sample rate]' - '(-f --format)'{-f+,--format=}'[sample format (case insensitive)]' - '(-d --duration)'{-d+,--duration=}'[interrupt after # seconds]' - '(-s --samples)'{-s+,--samples=}'[interrupt after # samples per channel]' - '(-M --mmap)'{-M,--mmap}'[mmap stream]' - '(-N --nonblock)'{-N,--nonblock}'[nonblocking mode]' - '(-F --period-time)'{-F+,--period-time=}'[distance between interrupts is # microseconds]' - '(-B --buffer-time)'{-B+,--buffer-time=}'[buffer duration is # microseconds]' - --period-size='[distance between interrupts is # frames]' - --buffer-size='[buffer duration is # frames]' - '(-A --avail-min)'{-A+,--avail-min=}'[min available space for wakeup is # microseconds]' - '(-R --start-delay)'{-R+,--start-delay=}'[delay for automatic PCM start is # microseconds]' - '(-T --stop-delay)'{-T+,--stop-delay=}'[delay for automatic PCM stop is # microseconds from xrun]' - '*'{-v,--verbose}'[show PCM structure and setup (accumulative)]' - '(-V --vumeter)'{-V+,--vumeter=}'[enable VU meter (TYPE: mono or stereo)]' - '(-I --separate-channels)'{-I,--separate-channels}'[file for each channel]' - '(-i --interactive)'{-i,--interactive}'[allow interactive operation from stdin]' - '(-m --chmap)'{-m+,--chmap=}'[give the channel map to override or follow]' - --disable-resample'[disable automatic rate resample]' - --disable-channels'[disable automatic channel conversions]' - --disable-format'[disable automatic format conversions]' - --disable-softvol'[disable software volume control (softvol)]' - --test-position'[test ring buffer position]' - --test-coef='[test coefficient for ring buffer position]:coefficient [8]' - --test-nowait'[do not wait for ring buffer - eats whole CPU]' - --max-file-time='[start another output file when the old file has recorded]' - --process-id-file='[write the process ID here]' - --use-strftime'[apply the strftime facility to the output file name]' - --dump-hw-params'[dump hw_params of the device]' - --fatal-errors'[treat all errors as fatal]' - - '*:sound file:_files' -) - -_arguments -s -S $opts - -# The return value passes through diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alternative b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alternative deleted file mode 100644 index 3c61d112..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_alternative +++ /dev/null @@ -1,83 +0,0 @@ -#autoload - -local tags def expl descr action mesgs nm="$compstate[nmatches]" subopts -local opt ws curcontext="$curcontext" - -subopts=() -while getopts 'O:C:' opt; do - case "$opt" in - O) subopts=( "${(@P)OPTARG}" ) ;; - C) curcontext="${curcontext%:*}:$OPTARG" ;; - esac -done - -shift OPTIND-1 - -[[ "$1" = -(|-) ]] && shift - -mesgs=() - -_tags "${(@)argv%%:*}" - -while _tags; do - for def; do - if _requested "${def%%:*}"; then - descr="${${def#*:}%%:*}" - action="${def#*:*:}" - - _description "${def%%:*}" expl "$descr" - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - mesgs=( "$mesgs[@]" "${def%%:*}:$descr") - elif [[ "$action" = \(\(*\)\) ]]; then - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "${def%%:*}" "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels "${def%%:*}" expl "$descr" \ - compadd "$subopts[@]" -a - ws - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label "${def%%:*}" expl "$descr"; do - eval "$action[2,-2]" - done - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label "${def%%:*}" expl "$descr"; do - "$action[@]" - done - else - - # Otherwise we call it with the description-arguments built above. - - eval "action=( $action )" - while _next_label "${def%%:*}" expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" - done - fi - fi - done - [[ nm -ne compstate[nmatches] ]] && return 0 -done - -for descr in "$mesgs[@]"; do - _message -e "${descr%%:*}" "${descr#*:}" -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_analyseplugin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_analyseplugin deleted file mode 100644 index f7f36db5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_analyseplugin +++ /dev/null @@ -1,25 +0,0 @@ -#compdef analyseplugin - -local expl context state line nopts ret=1 -typeset -A opt_args - -_arguments \ - '-l[gives a brief listing (one line per plugin)]' \ - '(-)1:plugin file:->pfile' \ - '(-)2::plugin label:->plabel' && ret=0 - -case "$state" in - pfile) - _wanted plugin-files expl 'plugin file' compadd \ - ${~${^${${(f)"$(_call_program ladspa-plugins listplugins 2> /dev/null)"}:#[[:space:]]*}/%:/(:t:r)}} \ - && return - ;; - plabel) - typeset -a plabel - nopts=(${words:#-*}) - plabel=(${${(f)"$($nopts[1] -l $nopts[2] 2> /dev/null)"}/[[:space:]]##/:}) - _describe -t plugin-label 'plugin label' plabel && return - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ansible b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ansible deleted file mode 100644 index 2d976b0a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ansible +++ /dev/null @@ -1,406 +0,0 @@ -#compdef ansible ansible-config ansible-console ansible-doc ansible-galaxy ansible-inventory ansible-playbook ansible-pull ansible-vault -value-,ANSIBLE_STDOUT_CALLBACK,-default- -value-,ANSIBLE_INVENTORY_ENABLED,-default- - -local curcontext="$curcontext" plug plugvar subcmd ign ret=1 -local -a args state line expl gactions -local -A opt_args - -case $service in - *,ANSIBLE_STDOUT_CALLBACK,*) - plug=callback - state=plugins - ;; - *,ANSIBLE_INVENTORY_ENABLED,*) - plug=inventory - state=plugins - ;; - ansible|ansible-console|ansible-doc|ansible-playbook) - args=( - \*{-M+,--module-path=}'[specify path to modules]:module path:_dir_list' - ) - ;| - ansible|ansible-console|ansible-playbook|ansible-pull) - args+=( - '(-K --ask-become-pass)'{-K,--ask-become-pass}'[ask for privilege escalation password]' - '(-k --ask-pass)'{-k,--ask-pass}'[ask for connection password]' - '--list-hosts[output list of matching hosts]' - '(-l --limit)'{-l+,--limit=}'[further limit hosts to an additional pattern]:host subset:->hosts' - '(-T --timeout)'{-T+,--timeout=}'[override the connection timeout]:timeout (seconds) [10]' - '(-c --connection)'{-c+,--connection=}'[specify connection type]:connection type [smart]:->connect-types' - '(-u --user)'{-u+,--user=}'[specify remote user for connection]:remote user:_users' - '--private-key=[specify file to use to authenticate the connection]:private key file:_files' - '--ssh-common-args=[specify common arguments to pass to sftp/scp/ssh]:ssh option' - '--sftp-extra-args=[specify extra arguments to pass to sftp]:sftp option' - '--scp-extra-args=[specify extra arguments to pass to scp]:scp option' - '--ssh-extra-args=[specify extra arguments to pass to ssh]:ssh option' - ) - ;| - ansible|ansible-console|ansible-playbook) - args+=( - '(-C --check)'{-C,--check}"[don't make any changes]" - '(-D --diff)'{-D,--diff}'[show differences when changing small files and templates]' - '(-b --become)'{-b,--become}'[escalate privileges on remote system]' - '(-f --forks)'{-f+,--forks=}'[specify number of parallel processes to use]:processes [5]' - '--become-method=[specify privilege escalation method to use]:method [sudo]:(sesu sudo su pbrun pfexec doas dzdo ksu runas pmrun enable machinectl)' - '--become-user=[specify remote user for running operations]:user:_users' - "--syntax-check[perform a syntax check on the playbook, but don't execute it]" - '!(-R --su-user -U --sudo-user)'{-R,-U,--su-user,--sudo-user}':user [root]:_users' - ) - ;| - ansible|ansible-console|ansible-inventory|ansible-playbook|ansible-pull) - args+=( - --ask-vault-pass{,word}'[ask for vault password]' - '(-e --extra-vars)'{-e+,--extra-vars=}'[set additional variables]:key=value or YAML/JSON' - '--vault-id=[specify vault identity to use]:vault identity' - --vault-pass{,word}-file='[specify vault password file]:vault password file:_files' - \*{-i+,--inventory=}'[specify inventory host file or host list]: : _alternative "files\:inventory file\:_files" - "hosts\:host\: _sequence _hosts"' - '!(-i --inventory)--inventory-file=:inventory file:_files' - ) - ;| - ansible|ansible-console|ansible-inventory) - args+=( - '--playbook-dir=[specify substitute playbook directory]:directory:_directories' - ) - ;| - ansible-playbook|ansible-pull) - args+=( - '(-t --tags)'{-t,--tags}'[only run plays and tasks tagged with these values]:tag:->tags' - "--skip-tags[only run plays and tasks whose tags don't match]" - ) - ;| - ansible|ansible-console) - args+=( - '--task-timeout[set the task timeout limit]:timeout (seconds)' - ) - ;| - ansible) - args+=( - '(-a --args)'{-a+,--args=}'[specify command or module arguments]:arguments:->args' - '(-B --background)'{-B+,--background=}'[run asynchronously, failing after specified time]:fail timeout (seconds)' - '(-m --module-name)'{-m+,--module-name=}'[specify action to execute]: :->plugins' - '(-o --one-line)'{-o,--one-line}'[condense output]' - '(-P --poll)'{-P+,--poll=}'[specify the poll interval if using -B]:interval (seconds) [15]' - '(-t --tree)'{-t+,--tree=}'[specify directory for log output]:directory:_directories' - '--output[output file name for encrypt or decrypt; use - for stdout]:output file:_files' - ':host:->hosts' - ) - ;; - ansible-config) - args+=( - '(-c --config)'{-c+,--config=}'[specify configuration file]:config file:_files' - '1:action:(( - list\:list\ all\ configuration - dump\:show\ the\ current\ settings,\ merge\ specified\ configuration - view\:display\ the\ current\ config\ file - ))' - ) - [[ -n $words[(r)dump] ]] && args+=( '--only-changed[only show configuration that is changed from the default]' ) - ;; - ansible-console) - args+=( - '--step[one-step-at-a-time: confirm each task before running]' - ) - ;; - ansible-doc) - args+=( - '!--metadata-dump' # "internal testing only" - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-j,--json}'[change output to json format]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-l,--list}'[list available plugins]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-F,--list_files}'[show plugin names and their source files without summaries]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-s,--snippet}'[show playbook snippet for specified plugins]' - '(-l --list -F --list_files -s --snippet -e --entry-point)--metadata-dump[dump json metadata for all plugins]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-e+,--entry-point=}'[select the entry point for roles]:entry point' - '(-t --type)'{-t+,--type=}'[choose plugin type]:plugin type [module]:(become cache callback cliconf connection httpapi inventory lookup netconf shell vars module strategy role keyword)' - '(-r --roles-path)'{-r+,--roles-path=}'[specify directory containing roles]:directory:_directories' - '*:plugin:->plugins' - ) - ;; - ansible-inventory) - args+=( - '--export[when doing an --list, represent in a way that is optimized for export]' - '(-y --yaml)--graph[output inventory graph]' - '--host[output specific host information]' - '--output=[with --list, specify output file]:file:_files' - '--list[output all hosts information]' - '(-y --yaml --vars --graph)--toml[use TOML format instead of JSON]' - '(-y --yaml)--vars[add variables to the graph display]' - '(-y --yaml --toml --vars --graph)'{-y,--yaml}'[use YAML format instead of JSON]' - ':host or group:->hosts' - ) - ;; - ansible-galaxy) - args=( -A "-*" $args - '--list[list integrations]' - '(-c --ignore-certs)'{-c,--ignore-certs}'[ignore SSL certificate validation errors]' - '(-s --server)'{-s+,--server=}'[specify API server destination]:server destination' - '--remove=[remove integration]:integration id' - '::type:(collection role)' - '*::args:->galaxy' - ) - ;; - ansible-playbook) - args+=( - '--flush-cache[clear the fact cache for every host in inventory]' - '--force-handlers[run handlers even if a task fails]' - '--list-tags[list all available tags]' - '--list-tasks[list all tasks that would be executed]' - '--start-at-task=[start the playbook at specified task]:task' - '--key-file=[specify file to use to authenticate the connection]:private key file:_files' - '*:playbook:_files -g "(#i)*.y(|a)ml"' - ) - ;; - ansible-pull) - args+=( - "--check[don't make any changes]" - '--diff[show the differences in changed files]' - '(-d --directory)'{-d+,--directory=}'[specify directory to checkout repository to]:directory:_directories' - '--full[do a full instead of a shallow clone]' - '(-m --module-name)'{-m+,--module-name=}'[specify repository module used for checking out repository]:module:(git subversion hg bzr)' - '--accept-host-key[add the hostkey for the repo url if not already added]' - '--purge[purge checkout after playbook run]' - '(-f --force)'{-f,--force}'[run the playbook even if the repository could not be updated]' - '(-C --checkout)'{-C,--checkout}'[specify branch/tag/commit to checkout]:branch/tag/commit' - '--track-subs[submodules will track the latest changes]' - '(-o --only-if-changed)'{-o,--only-if-changed}'[only run the playbook if the repository has been updated]' - '(-s --sleep)'{-s+,--sleep=}'[delay for random duration before starting]:max delay (seconds)' - '(-U --url)'{-U+,--url=}'[specify URL of the playbook repository]:url:_urls' - '--verify-commit[verify GPG signature of checked out commit]' - '*:playbook:_files -g "(#i)*.y(|a)ml"' - ) - ;; - ansible-vault) - args=( -A "-*" $args - '::action:compadd -M "r:|_=* r:|=*" - create decrypt edit encrypt encrypt_string rekey view' - '*::args:->vault' - ) - ;; -esac - -(( $#words > 2 )) && ign='!' -if (( $#args )); then - _arguments -s -S -C $args \ - "${ign}(- :)--version[display version information, config and module locations]" \ - "${ign}(- :)"{-h,--help}'[display usage information]' \ - \*{-v,--verbose}"[verbose mode (repeat to increase)]" && ret=0 - - plug=${(v)opt_args[(i)-(t|-type)]:-module} -fi - -case $state in - args) - case ${(v)opt_args[(I)-(m|module)]} in - *) # shell, command or no module specified - _cmdstring && ret=0 - ;; - esac - ;; - hosts) - local alts - [[ -prefix - ]] && return ret - compset -P '*[,:](|[&!~])' - compset -S '[:,]*' - if compset -P '@'; then - _files && ret=0 - else - local -a inventory - typeset -ga _ansible_hosts _ansible_groups - if (( !$#_ansible_hosts || !$#_ansible_groups )); then - inventory=( ${(f)"$(_call_program groups ansible-inventory --graph)"} ) - _ansible_hosts=( ${${(M)inventory%--[^:]#}#--} ) - _ansible_groups=( ${${${(M)inventory%@*:}%:}#@} ) - fi - [[ $IPREFIX = *[:,] ]] && - alts=( 'operators:operator:_values -S "" operator "![exclude hosts]" "&[intersection of hosts]" "~[regular expression pattern]"' ) - _alternative $alts \ - 'groups:group:compadd -qS: -a _ansible_groups' \ - 'hosts:host:compadd -qS: -a _ansible_hosts' && ret=0 - fi - ;; - connect-types) - plug=connection - ;& - plugins) - plugvar=_ansible_${plug}_plugins - typeset -ga ${plug} - if zstyle -T ":completion:${curcontext}:plugins" verbose; then - (( ${(P)#plugvar} )) || set -A ${plugvar} \ - ${${(f)"$(_call_program plugins ansible-doc -t $plug -l)"}/ ##/:} - _describe -t plugins "${plug} plugin" $plugvar -M 'r:|.=* r:|=*' && ret=0 - else - (( ${(P)#plugvar} )) || set -A ${plugvar} \ - ${${(f)"$(_call_program plugins ansible-doc -t $plug -F)"}%% *} - _wanted plugins expl "${plug} plugin" compadd -M 'r:|.=* r:|=*' -a $plugvar && ret=0 - fi - ;; - tags) - # The recursive glob here is questionable and perhaps there should be a style. - _sequence _wanted tags expl tag compadd - \ - ${(s.,.)${(j.,.)${(M)${(f)"$(cat **/*.yml)"}:# #tags:*}#*: }} && ret=0 - ;; - galaxy) - ign='' - gactions=( delete import info init install list remove search setup ) - case ${(j.:.)line[1,3]} in - (role|collection):*:*) - subcmd="${line[1]}-${line[2]}" - ;; - collection:*) - gactions=( init build publish install ) - subcmd=collection - ;; - role:*) subcmd=role ;; - *:*) subcmd="role-${line[1]}" ;& - [^:]#) - words=( role "$words[@]" ) - (( CURRENT++ )) - ;; - esac - curcontext="${curcontext%:*}-${subcmd}:" - (( $#words > 3 )) && ign='!' - args=( - "${ign}(-)"{-h,--help}'[display usage information]' - '1: :{ _wanted actions expl action compadd -a gactions }' - ) - case $subcmd in - *-*) - args+=( - '(-c --ignore-certs)'{-c,--ignore-certs}'[ignore SSL certificate validation errors]' - '(-s --server)'{-s+,--server=}'[specify API server destination]:server:_hosts' - --{token,api-key}='[specify ansible galaxy API key]:api key' - \*{-v,--verbose}'[verbose mode]' - ) - ;| - role-setup) # order important here, source comes before github args - args+=( ': :_guard "^-*" "source"' '*:secret' ) - ;| - role-(delete|import|setup)) - args+=( ': :_guard "^-*" "github username"' ':github repository' ) - ;| - role-(info|init|install|list|remove)) - args+=( '*: :_guard "^-*" "role name"' ) - ;| - role-(info|search|list|remove|install)) - args+=( '(-p --roles-path)'{-p,--roles-path}'[specify location of roles]:path:_directories' ) - ;| - role-(info|init)) - args+=( "--offline[don't query the galaxy API]" ) - ;| - *-(init|build|install)) - args+=( '(-f --force)'{-f,--force}'[force overwriting an existing role or collection]' ) - ;| - *-install) - args+=( - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors and continue with the next specified role/collection]' - '(-n --no-deps)'{-n,--no-deps}"[don’t download roles/collections listed as dependencies]" - "--force-with-deps[force overwriting an existing role/collection and it's dependencies]" - ) - ;| - *-init) - args+=( - '--init-path=[specify path in which the skeleton will be created]:path:_directories' - ) - ;| - role-search) - args+=( - '--author=[specify GitHub username]:username' - '--galaxy-tags=[specify list of galaxy tags to filter by]:galaxy tags' - '--platforms=[specify list of OS platforms to filter by]:platforms' - '*: :_guard "^-*" "search term"' - ) - ;; - role-setup) - args+=( - '--list[list integrations]' - '--remove=[remove integration]:integration id' - ) - ;; - role-init) - args+=( - '--role-skeleton=[specify path to a role skeleton that the new role should be based upon]:path:_files' - '--type=[initialize using an alternate role type]:role type:(container apb network)' - ) - ;; - role-install) - args+=( - '(-g --keep-scm-meta)'{-g,--keep-scm-meta}'[use tar instead of the scm archive option when packaging the role]' - '(-r --role-file)'{-r+,--role-file=}'[specify file containing a list of roles to be imported]:file:_files' - ) - ;; - role-import) - args+=( - '--status[check the status of the most recent import request for given github_user/github_repo]' - "--no-wait[don’t wait for import results]" - '--branch=[specify branch to import]:branch' - '--role-name=[specify name the role should have]:role' - ) - ;; - collection-build) - args+=( - '--output-path=[specify path in which the collection is built to]:path [.]:_directories' - '*:collection directory to build:_directories' - ) - ;; - collection-init) - args+=( - '--collection-skeleton=[specify path to a collection skeleton that the new role should be based upon]:path:_files' - ': :_guard "^-*" "collection name"' - ) - ;; - collection-publish) - args+=( - "--no-wait[don't wait for import validation results]" - '--import-timeout=[specify time to wait for import process]:time' - ':collection tarball:_files' - ) - ;; - collection-install) - args+=( - '(-p --collections-path)'{-p+,--collections-path=}'[specify directory containing collections]:_directories' - '(-r --requirements-file *)'{-r+,--requirements-file=}'[specify file containing a list of collections to install]:file:_files' - '--pre[include pre-release versions]' - '*:collection name:_files' - ) - ;; - esac - _arguments -s -S : $args && ret=0 - ;; - vault) - ign='' - curcontext="${curcontext%:*}-${line[1]}:" - (( $#words > 2 )) && ign='!' - args=( - "${ign}(-)"{-h,--help}'[display usage information]' - --ask-vault-pass{,word}'[ask for vault password]' - '--vault-id=[specify vault identity to use]:vault identity' - --vault-pass{,word}-file='[specify vault password file]:vault password file:_files' - \*{-v,--verbose}'[verbose mode]' - ) - case $line[1] in - create|(de|en)crypt*|edit|rekey) - args+=( - '--encrypt-vault-id=[specify vault id to use to encrypt (required if more than one vault-id is provided)]:vault id' - ) - ;| - (de|en)crypt*) args+=( '--output=[specify output file name]:file:_files' ) ;| - encrypt_string) - args+=( - '(-p --prompt)'{-p,--prompt}'[prompt for the string to encrypt]' - "--show-input[don't hide input when prompted for the string to encrypt]" - '(-n --name)'{-n+,--name=}'[specify the variable name]:variable' - '--stdin-name=[specify the variable name for stdin]:variable' - ) - ;| - create|edit|rekey|view) args+=( ':file:_files' ) ;| - decrypt|rekey) - args+=( - '--new-vault-id=[specify new vault identity to use]:vault identity' - '--new-vault-password-file=[specify new vault password file]:vault password file:_files' - ) - ;| - (en|de)crypt) args+=( '::file:_files' ) ;; - esac - _arguments -s -S $args && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ant b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ant deleted file mode 100644 index 7401c744..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ant +++ /dev/null @@ -1,147 +0,0 @@ -#compdef ant -value-,ANT_ARGS,-default- - -# Apache Ant version 1.7.1 - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args -local buildfile classpath cp userjars importedfiles target='*:target:->target' targets tmp - -find_targets() { - importedfiles=( $(sed -n "s/ *<import[^>]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $1) ) - # Tweaked to omit targets beginning with "-" that can't - # be invoked from the command line; see zsh-workers/24129. - sed -n "s/ *<target[^>]* name=[\"']\([^-][^\"']*\)[\"'].*/\1/p" $1 - if (( $#importedfiles )) ; then - ( cd $1:h - for file in $importedfiles ; do - expanded=( $(echo $file | sed -n "s|\${ant.home}|$ANT_HOME|p") ) - if [[ ! "bla$expanded" = "bla" ]]; then - file=$expanded - fi - if [[ -f $file ]]; then - find_targets $file - fi - done ) - fi -} - -if [[ $service = *ANT_ARGS* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - unset target -fi - -_arguments -C \ - '(- *)'{-h,-help,--h,--help}'[display help information]' \ - '--noconfig[suppress sourcing of configuration files]' \ - '--usejikes[enable use of jikes by default, unless set explicitly in configuration files]' \ - '--execdebug[print ant exec line generated by this launch script]' \ - '(-p -projecthelp *)'{-p,-projecthelp}'[print project help information]' \ - '(- *)-version[display version information]' \ - '(- *)-diagnostics[print information helpful to diagnosis or report problems]' \ - '(-q -quiet)'{-q,-quiet}'[be extra quiet]' \ - '(-s -silent)'{-s,-silent}'[print nothing but task outputs and build failures]' \ - '(-v -verbose)'{-v,-verbose}'[be extra verbose]' \ - '(-d -debug)'{-d,-debug}'[print debugging information]' \ - '(-e -emacs)'{-e,-emacs}'[produce logging information without adornments]' \ - '*-lib[specify a path to search for jars and classes]:class path:->classpath' \ - '(-l -logfile)'{-l,-logfile}'[use specified file for log]:logfile:_files' \ - '-logger[specify the class which is to perform logging]:class:->class' \ - '*-listener[add an instance of specified class as a project listener]:class:->class' \ - '-noinput[do not allow interactive input]' \ - '(-f -file -buildfile -s -find)'{-f,-file,-buildfile}'[use specified build file]:build file:_files -g "*.xml(-.)"' \ - '*-D+[specify property with value to use]:property:->property' \ - '(-k -keep-going)'{-keep-going,-k}'[execute all targets that do not depend on failed target(s)]' \ - '-propertyfile[load all properties from specified file with -D properties taking precedence]:property file:_files -g "*.properties(-.)"' \ - '-inputhandler[specify class which will handle input requests]:class:->class' \ - '(-s -find -f -file -buildfile)'{-s,-find}'[search for specified build file towards the root of filesystem]:build file:(build.xml)' \ - '-nice[specify a niceness value for the main thread]:niceness value [5]:({1..10})' \ - '-nouserlib[run ant without using the jar files from ${user.home}/.ant/lib]' \ - '-noclasspath[run ant without using CLASSPATH]' \ - '-autoproxy[Java1.5+: use the OS proxy settings]' \ - "-main[override Ant's normal entry point]:class:->class" \ - $target && ret=0 - -case $state in - class) - if (( ! $+opt_args[-nouserlib] )); then - userjars=( $HOME/.ant/lib/*.jar ) - fi - if (( ! $+opt_args[-noclasspath] )); then - classpath=$CLASSPATH - fi - cp=( $opt_args[-lib] $userjars $ANT_HOME/lib/*.jar $classpath ) - cp=${(j.:.)cp:-' '} - _java_class -classpath $cp && ret=0 - ;; - classpath) - compset -P '*:' - compset -S ':*' - _alternative \ - "classpath:$state:_path_files -qS: -g '*.(jar|zip)(-.)'" \ - "classpath:$state:_path_files -r': ' -/" && ret=0 - ;; - property) - if compset -P 1 '*='; then - _default && ret=0 - else - _message -e properties 'property name' - fi - ;; - target) - if [[ -n $opt_args[(I)(-s|-find)] ]]; then - buildfile=( (../)#${(v)opt_args[(I)(-s|-find)]:-build.xml}(N[-1]) ) - else - buildfile=${(v)opt_args[(I)(-f|-file|-buildfile)]:-build.xml} - fi - if [[ -f $buildfile ]]; then - if zstyle -t ":completion:${curcontext}:targets" call-command; then - # Run ant -projecthelp also passing any of -find, -s, -buildfile, -file - # or -f options. - # Parse output into an array of the format "target:description". - # For the array to be set with correct argument boundaries, the entire - # set statement needs to be eval'd. On Cygwin, need to kill \r's output - # from Java or parsing will fail. - eval set -A tmp "${$(_call_program targets "$words[1]" -buildfile $buildfile -projecthelp | - while read target desc - do - # This loop reads ant -projecthelp output from versions 1.3 to 1.6 - ln="${target}${desc:+:$desc}" - [[ $target = "" ]] && continue # skip blank lines - case $ln in - (Buildfile:*) - buildfile=$desc - ;; - (Default:target:*) - # with version 1.5, target is on the same line - default_target="${${desc/target:/}# }" - # versions 1.3 and 1.4 with default target on a separate line - if [[ -z $default_target ]]; then - read junk - read default_target junk - fi - # Output target again indicating its the default one. - print -n "'${default_target}:(Default target) ' " - ;; - (Searching:*|Main:targets:|Subtargets:|BUILD:SUCCESSFUL|Total:time:*) - ;; - (*) - # Return target and description - print -n "'$ln' " - ;; - esac - done - )//$'\015'}" - _describe 'target' tmp && ret=0 - else - targets=( $(find_targets $buildfile) ) - _wanted targets expl target compadd -a targets && ret=0 - fi - else - _message -e targets target - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_antiword b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_antiword deleted file mode 100644 index 385bda66..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_antiword +++ /dev/null @@ -1,24 +0,0 @@ -#compdef antiword - -# Version: 0.37 (21 Oct 2005) - -local papersizes - -papersizes=( 10x14 a3 a4 a5 b4 b5 executive folio legal letter note quarto statement tabloid ) - -_arguments -s -S \ - '( -w -f -p -t -x)-a+[Adobe PDF output]:paper size:(${papersizes[@]})' \ - '(-i -L -a -p -t -x)-f[formatted text output]' \ - '( -w -a -f -t -x)-p+[PostScript output]:paper size:(${papersizes[@]})' \ - '(-i -L -a -f -p -x)-t[text output (default)]' \ - '(-i -L -m -w -a -f -p -t )-x+[XML output]:DTD:(db)' \ - '(-x)-m+[character mapping file]:mapping file:_files' \ - '(-i -L -a -p -x)-w+[width in characters of text output]:line width:' \ - '(-w -f -t -x)-i+[image level (PostScript only)]:image level:((0\:use\ non\ standard\ extensions\ from\ Ghostscript 1\:show\ no\ images 2\:PostScript\ level\ 2\ compatible 3\:PostScript\ level\ 3\ compatible))' \ - '(-w -f -t -x)-L[use landscape mode (PostScript only)]' \ - '-s[show hidden (by Word) text]' \ - '-r[show removed text]' \ - '(- *)-h[display help information]' \ - '*:MS Word file:_files -g "*.doc(-.)"' && return - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apachectl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apachectl deleted file mode 100644 index 65019d63..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apachectl +++ /dev/null @@ -1,3 +0,0 @@ -#compdef apachectl apache2ctl - -_sub_commands start startssl stop restart fullstatus status graceful configtest help diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apm deleted file mode 100644 index e6179d67..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apm +++ /dev/null @@ -1,41 +0,0 @@ -#compdef apm - -if [[ $OSTYPE == linux* ]]; then - - _arguments -s \ - '(-)'{-V,--version}'[print the apm program version and exit immediately]' \ - '(-v --verbose)'{-v,--verbose}'[print information about APM BIOS and Linux APM driver version]' \ - '(-m --minutes)'{-m,--minutes}'[print total minutes remaining instead of using an hh:mm format]' \ - '(-s --suspend)'{-s,--suspend}'[put the machine into suspend mode if possible]' \ - '(-S --standby)'{-S,--standby}'[put the machine into standby mode if possible]' \ - '(-n --noignore)'{-n,--noignore}'[tell the system not to ignore system-generated APM message]' \ - '(-i --ignore)'{-i,--ignore}'[tell the system to ignore system-generated APM message]' && return - -elif [[ $OSTYPE == (freebsd|dragonfly)* ]]; then - - _arguments \ - '-a[display AC line status]' \ - '-b[display battery status]' \ - '-d[disable/enable display suspension]:bool:' \ - '-e[disable/enable apm functions]:bool:' \ - '-h[disable/enable HLT in kernel context switch]:bool:' \ - '-l[display remaining battery percentage]' \ - '-r[enable resume wakeup timer]' \ - '-s[display status of APM support]' \ - '-t[display estimated remaining battery life in seconds]' \ - '-Z[transition system into standby mode]' \ - '-z[suspend the system]' && return - -elif [[ $OSTYPE == openbsd* ]]; then - _arguments \ - '-z[engage suspend mode]' \ - '-S[engage stand-by mode]' \ - '-l[display estimated battery lifetime percentage]' \ - '-m[display estimated battery lifetime minutes]' \ - '-b[display battery status]' \ - '-a[display AC line status]' \ - '-v[verbose]' \ - '-f[socket]:sockname:_files' && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_approximate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_approximate deleted file mode 100644 index dcd8b277..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_approximate +++ /dev/null @@ -1,125 +0,0 @@ -#autoload - -# This code will try to correct the string on the line based on the -# strings generated for the context. These corrected strings will be -# shown in a list and one can cycle through them as in a menu completion -# or get the corrected prefix. - -# We don't try correction if the string is too short or we have tried it -# already. - -[[ _matcher_num -gt 1 || "${#:-$PREFIX$SUFFIX}" -le 1 ]] && return 1 - -local _comp_correct _correct_expl _correct_group comax cfgacc match -local oldcontext="${curcontext}" opm="$compstate[pattern_match]" -local dounfunction -integer ret=1 - -if [[ "$1" = -a* ]]; then - cfgacc="${1[3,-1]}" -elif [[ "$1" = -a ]]; then - cfgacc="$2" -else - zstyle -s ":completion:${curcontext}:" max-errors cfgacc || - cfgacc='2 numeric' -fi - -# Get the number of errors to accept. - -if [[ "$cfgacc" = *numeric* && ${NUMERIC:-1} -ne 1 ]]; then - # A numeric argument may mean that we should not try correction. - - [[ "$cfgacc" = *not-numeric* ]] && return 1 - - # Prefer the numeric argument if that has a sensible value. - - comax="${NUMERIC:-1}" -else - comax="${cfgacc//[^0-9]}" -fi - -# If the number of errors to accept is too small, give up. - -[[ "$comax" -lt 1 ]] && return 1 - -_tags corrections original - -# Otherwise temporarily define a function to use instead of -# the builtin that adds matches. This is used to be able -# to stick the `(#a...)' in the right place (after an -# ignored prefix). -# -# Current shell structure for use with "always", to make sure -# we unfunction the compadd. -{ -if (( ! $+functions[compadd] )); then - dounfunction=1 - compadd() { - local ppre="$argv[(I)-p]" - - [[ ${argv[(I)-[a-zA-Z]#U[a-zA-Z]#]} -eq 0 && - "${#:-$PREFIX$SUFFIX}" -le _comp_correct ]] && return - - if [[ "$PREFIX" = \~* && ( ppre -eq 0 || "$argv[ppre+1]" != \~* ) ]]; then - PREFIX="~(#a${_comp_correct})${PREFIX[2,-1]}" - else - PREFIX="(#a${_comp_correct})$PREFIX" - fi - - (( $_correct_group && ${${argv[1,(r)-(|-)]}[(I)-*[JV]]} )) && - _correct_expl[_correct_group]=${argv[1,(r)-(-|)][(R)-*[JV]]} - - builtin compadd "$_correct_expl[@]" "$@" - } -fi - -_comp_correct=1 - -[[ -z "$compstate[pattern_match]" ]] && compstate[pattern_match]='*' - -while [[ _comp_correct -le comax ]]; do - curcontext="${oldcontext/(#b)([^:]#:[^:]#:)/${match[1][1,-2]}-${_comp_correct}:}" - - _description corrections _correct_expl corrections \ - "e:$_comp_correct" "o:$PREFIX$SUFFIX" - - _correct_group="$_correct_expl[(I)-*[JV]]" - - if _complete; then - if zstyle -t ":completion:${curcontext}:" insert-unambiguous && - [[ "${#compstate[unambiguous]}" -ge "${#:-$PREFIX$SUFFIX}" ]]; then - compstate[pattern_insert]=unambiguous - elif _requested original && - { [[ compstate[nmatches] -gt 1 ]] || - zstyle -t ":completion:${curcontext}:" original }; then - local expl - - _description -V original expl original - - builtin compadd "$expl[@]" -U -Q - "$PREFIX$SUFFIX" - - # If you always want to see the list of possible corrections, - # set `compstate[list]=list force' here. - - [[ "$compstate[list]" != list* ]] && - compstate[list]="$compstate[list] force" - fi - compstate[pattern_match]="$opm" - - ret=0 - break - fi - - [[ "${#:-$PREFIX$SUFFIX}" -le _comp_correct+1 ]] && break - (( _comp_correct++ )) -done - -} always { - [[ -n $dounfunction ]] && (( $+functions[compadd] )) && unfunction compadd -} - -(( ret == 0 )) && return 0 - -compstate[pattern_match]="$opm" - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt deleted file mode 100644 index 494d3bf8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt +++ /dev/null @@ -1,714 +0,0 @@ -#compdef apt apt-get apt-cache apt-cdrom apt-config apt-mark - -_apt () { - case "$service" in - apt) _apt-cmd "$@";; - apt-get) _apt-get "$@";; - apt-cache) _apt-cache "$@";; - apt-cdrom) _apt-cdrom "$@";; - apt-config) _apt-config "$@";; - apt-mark) _apt-mark "$@";; - *) _message "unknown command $service";; - esac -} - -# usage: _apt_arguments funcname option-spec... -- rest-regex -_apt_arguments () { - - local funcname - funcname="$1" - shift - - typeset -A canonicalize num_options - local short_hasarg short_bool short_intlevel short_configfile short_arbitem - local long_hasarg long_bool long_intlevel long_configfile long_arbitem - local short_release long_release - local comp_hasarg='' - local opt opts type - - while [[ 0 -lt $# && $1 != -- ]]; do - opts="${1%%:*}" - type="${1#*:}" - - case $type in - bool) num_options[$opts]=1;; - intlevel) num_options[$opts]=-1;; - configfile) num_options[$opts]=1;; - arbitem) num_options[$opts]=-1;; - release) num_options[$opts]=1;; - *) num_options[$opts]=1 - comp_hasarg="${comp_hasarg}$opts) $type;;"$'\n' - type=hasarg;; - esac - - for opt in ${(s:,:)=opts}; do - canonicalize[$opt]="$opts" - case $opt in - --*) eval "long_$type=(\$long_$type ${opt#--})";; - -?) eval "short_$type=(\$short_$type ${opt#-})";; - esac - done - shift - done - - # skip -- - [[ 0 -lt $# ]] && shift - - comp_hasarg="{case \$current_option in - ${comp_hasarg}esac}" - - local short_seq false true bool bool_prefix intlevel word word1 nul qnul match - local comp_bool comp_intlevel comp_configfile comp_arbitem comp_long comp_opt - local comp_release comp_long_prefix comp_short - local regex_short regex_long regex_all regex_long_prefix - - regex_all=( \( "$@" \) ) - - short_seq="(${(j:|:)short_bool}|${(j:|:)short_intlevel})#" - - false=(no false without off disable) - true=(yes true with on enable) - bool=($false $true) - - bool_prefix=(--${^bool}-) - - intlevel='[0-9]##' - - word=$'[^\0]#\0' - word1=$'[^\0]##\0' - nul=$'\0' - qnul="\$'\\0'" - - comp_bool="($bool)" - comp_intlevel= - comp_configfile='_files' - comp_arbitem= - comp_release='_apt_releases' - - comp_short=\ -'{if [[ $PREFIX = -'"$short_seq"' ]]; then - _apt_consume_short ${PREFIX[2,-1]} - tmp1=(${(M)${(s:,:)${(kj:,:)num_options[(R)*~0]}}:#-?}) - tmp2=(${PREFIX}${^tmp1#-}) - _describe -o option tmp1 tmp2 -elif [[ -z "$PREFIX" ]]; then - tmp1=(${(M)${(s:,:)${(kj:,:)num_options[(R)*~0]}}:#-?}) - _describe -o option tmp1 -fi}' - - comp_long=\ -'tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#--*}#--}}" -tmp2=(--${(M)^long_bool:#$~tmp1} --${(M)^long_intlevel:#$~tmp1}) -tmp3=(--${(M)^long_hasarg:#$~tmp1} --${(M)^long_configfile:#$~tmp1} --${(M)^long_arbitem:#$~tmp1} --${(M)^long_release:#$~tmp1}) -_describe -o option tmp2 -- tmp3 -S= -- bool_prefix -S ""' - - comp_long_prefix=\ -'{tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#--*}#--}}" -tmp2=($_ra_left${(M)^long_bool:#$~tmp1} $_ra_left${(M)^long_intlevel:#$~tmp1}) -tmp3=($_ra_left${(M)^long_hasarg:#$~tmp1} $_ra_left${(M)^long_configfile:#$~tmp1} $_ra_left${(M)^long_arbitem:#$~tmp1} $_ra_left${(M)^long_release:#$~tmp1}) -tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#-?}#-}}" -tmp2=("$tmp2[@]" $_ra_left${(M)^short_bool:#$~tmp1} $_ra_left${(M)^short_intlevel:#$~tmp1}) -tmp3=("$tmp3[@]" $_ra_left${(M)^short_hasarg:#$~tmp1} $_ra_left${(M)^short_configfile:#$~tmp1} $_ra_left${(M)^short_arbitem:#$~tmp1} $_ra_left${(M)^short_release:#$~tmp1}) -_describe -o option tmp2 -- tmp3 -S=}' - - comp_opt='{{ ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ "$PREFIX" = -* ]] }'" && { $comp_short; $comp_long }}" - comp_short="{$comp_short}" - comp_long="{$comp_long}" - - regex_short=() - regex_long=() - regex_long_prefix=() - - if (( $#short_hasarg )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_hasarg})(=|)"/ - -'_apt_consume_short ${match[1]%=}; current_option=${canonicalize[-${${match[1]%=}[-1]}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_hasarg})$nul"/ - -'_apt_consume_short ${match[1][-2]}; current_option=${canonicalize[-${${match[1]%'$qnul'}[-1]}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)short_hasarg})="/ - -'_apt_consume_short ${match[1][-2]}; current_option=${canonicalize[-${${match[1]%=}[-1]}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - fi - - if (( $#short_bool )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_bool})($nul(${(j:|:)bool})|(${(j:|:)bool})|)$nul"/ - -'_apt_consume_short ${match[1]%%('$qnul'('${(j:|:)bool}')|('${(j:|:)bool}')|)'$qnul'}' \| - /"$short_seq(${(j:|:)short_bool})="/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_bool})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)short_bool})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - fi - - if (( $#short_intlevel )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_intlevel})($nul$intlevel|$intlevel|)$nul"/ - -'_apt_consume_short ${match[1]%%'"($qnul$intlevel|$intlevel|)$qnul"'}' \| - /"$short_seq(${(j:|:)short_intlevel})="/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_intlevel})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)short_intlevel})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - fi - - if (( $#short_configfile )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_configfile})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_configfile})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)short_configfile})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - fi - - if (( $#short_arbitem )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_arbitem})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_arbitem})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)short_arbitem})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - fi - - if (( $#short_release )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_release})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":release name:release:$comp_release" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_release})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)short_release})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - fi - - if (( $#long_hasarg )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_hasarg})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}; current_option=${canonicalize[--${match[1]%'$qnul'}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)long_hasarg})="/ - -'_apt_consume_long ${match[1]%=}; current_option=${canonicalize[--${match[1]%=}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_hasarg})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}; current_option=${canonicalize[--${match[1]%'$qnul'}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)long_hasarg})="/ - -'_apt_consume_long ${match[1]%=}; current_option=${canonicalize[--${match[1]%=}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - fi - - if (( $#long_bool )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_bool})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)long_bool})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_bool})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)long_bool})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - fi - - if (( $#long_intlevel )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_intlevel})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)long_intlevel})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_intlevel})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)long_intlevel})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - fi - - if (( $#long_configfile )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_configfile})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)long_configfile})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_configfile})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)long_configfile})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - fi - - if (( $#long_arbitem )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_arbitem})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)long_arbitem})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_arbitem})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)long_arbitem})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - fi - - if (( $#long_release )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_release})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)long_release})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_release})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)long_release})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - fi - - regex_all=( - /"$word"/ - \( /--/+ \( "$regex_long[@]" - /"(${(j:|:)bool})-"/+ - \( "$regex_long_prefix[@]" - /"[]"/ ":options:option:$comp_long_prefix" \) \) \| - /-/+ \( "$regex_short[@]" /"[]"/ \) \| - /"[]"/ ":options:option:$comp_opt" \) \# - "$regex_all[@]" - ) - - _regex_arguments "${funcname}_sm" "$regex_all[@]" - - eval "$funcname () { - typeset -A canonicalize num_options - canonicalize=(${(kv)canonicalize}) - num_options=(${(kv)num_options}) - - local short_hasarg short_bool short_intlevel short_configfile short_arbitem - local long_hasarg long_bool long_intlevel long_configfile long_arbitem - local short_release long_release - local bool_prefix - short_hasarg=($short_hasarg) - short_bool=($short_bool) - short_intlevel=($short_intlevel) - short_configfile=($short_configfile) - short_arbitem=($short_arbitem) - short_release=($short_release) - long_hasarg=($long_hasarg) - long_bool=($long_bool) - long_intlevel=($long_intlevel) - long_configfile=($long_configfile) - long_arbitem=($long_arbitem) - long_release=($long_release) - bool_prefix=($bool_prefix) - - local current_option tmp1 tmp2 tmp3 - - ${funcname}_sm - }" -} - -_apt_consume_short () { - local short opt - for short in ${(s::)1}; do - opt="$canonicalize[-$short]" - (( 0 < num_options[$opt] && num_options[$opt]-- )) - done - return 0 -} - -_apt_consume_long () { - local long opt - opt="$canonicalize[--$1]" - (( 0 < num_options[$opt] && num_options[$opt]-- )) - return 0 -} - -_apt-cmd () { - _apt_arguments _apt-cmd_sm \ - -h,--help:bool \ - -v,--version:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -t,--target-release:release \ - -- \ - /$'list\0'/ \( \ - \( \ - /$'--installed\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# /'[]'/ \| \ - // %-% /$'--[^\0]#\0'/ ':options:option:(--installed --upgradable --all-versions)' \ - \| \) \ - /$'[^-\0][^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \ - \) \| \ - /$'search\0'/ /$'[^\0]#\0'/ ':strings:pattern:' \| \ - /$'showsrc\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'show\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'depends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'rdepends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'update\0'/ \| \ - \( \ - /$'(install|download|source|build-dep)\0'/ -'subcmd=${match%?}' \ - /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=+-" "$expl_packages[@]" avail' \# \ - \( \ - // '%(.|)/%' -'[[ $subcmd = install ]]' /'[]'/ ':files: :_deb_files -c' \| \ - /$'[^\0/=]#\/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \ - /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \| \ - \) \ - \) \| \ - /$'(remove|reinstall|purge)\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'upgrade\0'/ \| \ - /$'autoclean\0'/ \| \ - /$'changelog\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'autoremove\0'/ \| \ - /$'full-upgrade\0'/ \| \ - /$'dist-upgrade\0'/ \| \ - /$'edit-sources\0'/ \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" list search showsrc show depends rdepends policy update install reinstall download source build-dep remove upgrade full-upgrade dist-upgrade edit-sources autoclean changelog autoremove purge' - - _apt-cmd () { - local expl_action expl_packages subcmd - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-cmd_sm - } - - _apt-cmd "$@" -} - -_apt-get () { - _apt_arguments _apt-get_sm \ - -h,--help:bool \ - -v,--version:bool \ - -q,--quiet,--silent:intlevel \ - -d,--download-only:bool \ - -b,--compile,--build:bool \ - -s,--simulate,--just-print,--dry-run,--recon,--no-act:bool \ - -y,--yes,--assume-yes:bool \ - -f,--fix-broken:bool \ - -u,--show-upgraded:bool \ - -V,--verbose-versions:bool \ - -m,--ignore-missing,--fix-missing:bool \ - --no-download:bool \ - --no-install-recommends:bool \ - --ignore-hold:bool \ - --no-upgrade:bool \ - --force-yes:bool \ - --print-uris:bool \ - --purge:bool \ - --list-cleanup:bool \ - --reinstall:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -t,--target-release,--default-release:release \ - --trivial-only:bool \ - --no-remove:bool \ - --only-source:bool \ - --diff-only:bool \ - --tar-only:bool \ - --arch-only:bool \ - --allow-unauthenticated:bool \ - --auto-remove:bool \ - -- \ - /$'update\0'/ \| \ - /$'upgrade\0'/ \| \ - \( \ - /$'install\0'\|$'download\0'\|$'source\0'\|$'build-dep\0'/ \ - /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=" "$expl_packages[@]" avail' \# \ - \( \ - /$'[^\0/=]#/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \ - /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \ - \) \ - \) \| \ - /$'remove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'purge\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'dist-upgrade\0'/ \| \ - /$'dselect-upgrade\0'/ \| \ - /$'clean\0'/ \| \ - /$'autoclean\0'/ \| \ - /$'changelog\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'check\0'/ \| \ - /$'autoremove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'help\0/' \| \ - /$'markauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'unmarkauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" update upgrade install remove purge dist-upgrade dselect-upgrade clean autoclean changelog check source build-dep autoremove help markauto unmarkauto download' - - _apt-get () { - local expl_action expl_packages - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-get_sm - } - - _apt-get "$@" -} - -_apt-cache () { - _apt_arguments _apt-cache_sm \ - -h,--help:bool \ - -v,--version:bool \ - -p,--pkg-cache:'_files "$expl_pkg_cache[@]"' \ - -s,--src-cache:'_files "$expl_src_cache[@]"' \ - -q,--quiet:intlevel \ - -i,--important:bool \ - -f,--full:bool \ - -g,--generate:bool \ - -n,--names-only:bool \ - --all-names:bool \ - -a,--all-versions:bool \ - --recurse:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - --installed:bool \ - -- \ - /$'help\0'/ \| \ - /$'add\0'/ /$'[^\0]#\0'/ ':files:index file:_files' \# \| \ - /$'gencaches\0'/ \| \ - /$'showpkg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'showsrc\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'stats\0'/ \| \ - /$'dump\0'/ \| \ - /$'dumpavail\0'/ \| \ - /$'unmet\0'/ \| \ - /$'search\0'/ /$'[^\0]#\0'/ ':strings:pattern:' \| \ - /$'show\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'depends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'rdepends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'pkgnames\0'/ /$'[^\0]#\0'/ ':strings:prefix:' \| \ - /$'dotty\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'xvcg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'madison\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" help add gencaches showpkg showsrc stats dump dumpavail unmet search show depends rdepends pkgnames dotty policy xvcg madison' - - _apt-cache () { - local expl_action expl_packages expl_pkg_cache expl_src_cache - _description actions expl_action 'action' - _description packages expl_packages 'package' - _description files expl_pkg_cache 'package cache' - _description files expl_src_cache 'source cache' - - _apt-cache_sm - } - - _apt-cache "$@" -} - -_apt-cdrom () { - _apt_arguments _apt-cdrom_sm \ - -h,--help:bool \ - -v,--version:bool \ - -d,--cdrom:'_files "$expl_mount_point[@]" -/' \ - -r,--rename:bool \ - -m,--no-mount:bool \ - -f,--fast:bool \ - -n,--just-print,--recon,--no-act:bool \ - -a,--thorough:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -- \ - /$'add\0'/ \| \ - /$'ident\0'/ \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" add ident' - - _apt-cdrom () { - local expl_action expl_mount_point - _description actions expl_action 'action' - _description files expl_mount_point 'mount point' - - _apt-cdrom_sm - } - - _apt-cdrom "$@" -} - -_apt-config () { - _apt_arguments _apt-config \ - -h,--help:bool \ - -v,--version:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -- \ - /$'shell\0'/ \ - \( \ - /$'[^\0]#\0'/ ':parameters:shell variable to assign:_parameters' \ - /$'[^\0]#\0'/ ':values:configuration key:compadd - ${${(f)"$(apt-config dump 2>&1)"}% *}' \ - \) \# \| \ - /$'dump\0'/ \| \ - /"[]"/ ':argument-1:action:compadd shell dump' - - _apt-config "$@" -} - -_apt_releases_update () { - if ( [[ ${+_apt_releases} -eq 0 ]] || - _cache_invalid APT_releases ) && ! _retrieve_cache APT_releases; - then - local -a tmp=("${(f)$(apt-cache policy)}") - _apt_releases=( -${${${${(M)tmp:#*release*a=*}#*a=}%%,*}:#now} -${${${${(M)tmp:#*release*n=*}#*n=}%%,*}:#now} - ) - typeset -U _apt_releases - _store_cache APT_releases _apt_releases - fi -} - -_apt_releases () { - local update_policy - - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _apt_caching_policy - fi - - _apt_releases_update - - _tags apt-releases && compadd -a _apt_releases -} - -# Complete versions of the package named in $match[1]. -# -# Interpret the package name as a binary package (even if there is -# a source package by that name, too). -_apt_versions_of_binary_package() { - local package_name=${match[1]%=} # $match was set by _regex_arguments - local line - local name version source - local -a kv - - for line in ${(f)"$(_call_program versions-of-package "apt-cache madison $package_name")"}; do - # If $package_name is a source package name, we'll have lines of the form - # $package_name | $version | ...Sources - # - # If $package_name is a binary package name, we'll have lines of the form - # $package_name | $version | ...Packages - # $src_package_name | $version | ...Sources - for name version source in "${(@s. | .)line}"; do - # Remove leading/trailing whitespace - name=${name// } - version=${version// } - source=${${source# ##}% ##} - - # Skip source packages - if [[ $name != $package_name ]] || [[ $source != *Packages* ]]; then - continue - fi - - kv+=( "${version//:/\\:}:$source" ) - done - done - - _describe -t apt-package-versions 'package version' kv "$@" -} - -_apt_caching_policy () { - local -a oldp - - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - [[ /var/cache/apt/pkgcache.bin -nt "$1" || - /var/lib/dpkg/available -nt "$1" ]] -} - -_apt-mark () { - _apt_arguments _apt-mark_sm \ - -h,--help:bool \ - -v,--version:bool \ - -f,--file:configfile \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -qq:bool \ - -s:bool \ - -- \ - /$'auto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'manual\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'hold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'unhold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showmanual\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showhold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" auto manual hold unhold showauto showmanual showhold' - - _apt-mark () { - local expl_action expl_packages - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-mark_sm - } - - _apt-mark "$@" -} - -_apt "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-file b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-file deleted file mode 100644 index 5b24707d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-file +++ /dev/null @@ -1,59 +0,0 @@ -#compdef apt-file - -local curcontext="$curcontext" state line expl cmds ret=1 -typeset -A opt_args - -_arguments -C -S \ - '(--cache -c)'{--cache,-c}'[cache directory]:directory:_directories' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(--cdrom-mount -d)'{--cdrom-mount,-d}'[cdrom mount point]:directory:_directories' \ - '(--from-file -f --from-deb -D)'{--from-file,-f}'[read patterns from given file]' \ - '(--from-deb -D --from-file -f)'{--from-dev,-D}'[use contents of given .deb archives as patterns]' \ - '(--ignore-case -i)'{--ignore-case,-i}'[ignore case]' \ - '(--regexp -x)'{--regexp,-x}'[regular expression]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-a --architecture)'{-a,--architecture}'[architecture]:architecture:_deb_architectures' \ - '(-s --sources-list)'{-s,--sources-list}'[source.list file]:file:_files' \ - '(-l --package-only)'{-l,--package-only}'[only display package name]' \ - '(-N --non-interactive)'{-N,--non-interactive}'[skip schemes requiring user input]' \ - '(-F --fixed-string)'{-F,--fixed-string}'[do not expand search pattern]' \ - '(-y --dummy)'{-y,--dummy}'[run in dummy mode]' \ - '(-)'{-h,--help}'[display help screen]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( - 'update:resynchronize package contents' - {find,search}:'search in which package file is included' - {list,show}:'list contents of a package' - 'purge:remove all Contents-<ARCH>.gz files in cache directory' - ) - _describe -t commands 'apt-list command' cmds - ;; - args) - case $line[1] in - search|find) - if (( $#opt_args[(I)(-D|--from-deb)] )); then - _deb_files - elif (( $#opt_args[(I)(-f|--from-file)] )); then - _files - else - _message -e patterns "pattern" - fi - ;; - list|show) - _deb_packages avail - ;; - update|purge) - # do nothing - ;; - *) - _message "command $line[1] not available" - ;; - esac - ;; -esac && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-move b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-move deleted file mode 100644 index 6911ef6f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-move +++ /dev/null @@ -1,57 +0,0 @@ -#compdef apt-move - -local curcontext="$curcontext" state line expl cmds ret=1 -typeset -A opt_args - -_arguments -C \ - '-a[process all packages]' \ - '-c[specify an alternative configuration file]' \ - '-d[override the DIST setting]' \ - '-f[override the MAXDELETE setting]' \ - '-q[be quiet; suppress normal output]' \ - '-t[show what apt-move would do, but do not actually do anything]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( - 'get:update your master files from local apt' - 'getlocal:alias of get' - 'fsck:fix broken repositories' - 'move:move cache files into mirror tree' - 'movefile:move files into the repository' - 'delete:delete obsolete packages' - 'packages:create new local Packages files' - 'update:alias for: get move delete packages' - 'local:alias for: move delete packages' - 'localupdate:alias for: getlocal move delete packages' - 'mirror:update your local mirror from remote rsync site' - 'sync:same as mirror, but only gets packages that you currently have installed on your system' - 'exclude:prints a list of all packages EXCLUDED from the mirror by the .exclude file' - 'listbin:prints lists of packages which can serve as the input to mirrorbin(mirror,sync,repo)' - 'listsrc:same as listbin, but lists source packages' - 'mirrorbin:same as mirror, but gets the packages specified on stdin' - 'mirrorsrc:same as mirrorbin, but gets source packages' - ) - _describe -t commands 'apt-move command' cmds && ret=0 - ;; - args) - case $line[1] in - get|getlocal) - _directories && ret=0 - ;; - movefile) - _files -g "*.d(sc|eb)(-.)" && ret=0 - ;; - listbin) - _wanted lists expl list compadd mirror sync repo && ret=0 - ;; - *) - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-show-versions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-show-versions deleted file mode 100644 index 1c3617d6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_apt-show-versions +++ /dev/null @@ -1,13 +0,0 @@ -#compdef apt-show-versions - -_arguments \ - '(--status-file -stf)'{--status-file=,-stf}'[specify dpkg status file]:status file:_files' \ - '(--list-dir -ld)'{--list-dir=,-ld}"[specify dir for apt's list files]:apt list dir:_files -/" \ - '(--package -p)'{--package=,-p}'[restrict to specified package]:package:_deb_packages avail' \ - '(--regex -r)'{--regex,-r}'[interpret -p argument as regex]' \ - '(--upgradeable -u)'{--upgradeable,-u}'[print only upgradeable packages]' \ - '(--allversions -a)'{--allversions,-a}'[print all available versions]' \ - '(--brief -b)'{--brief,-b}'[brief output]' \ - '(--verbose -v)'{--verbose,-v}'[verbose output]' \ - '(--help -h)'{--help,-h}'[display help information]' \ - ':package:_deb_packages avail' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aptitude b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aptitude deleted file mode 100644 index 5b10adb8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_aptitude +++ /dev/null @@ -1,127 +0,0 @@ -#compdef aptitude - -local curcontext="$curcontext" sep ret=1 -local state line expl specs disp cmds suf - -_arguments -C \ - '(- 1 *)'{-h,--help}'[display help information]' \ - '(- 1 *)--version[display version information]' \ - '--add-user-tag=[add user tag to affected packages]:tag' \ - '--add-user-tag-to=[add user tag to matching packages]:tag,pattern' \ - '--allow-new-upgrades[install upgrades for packages regardless]' \ - '(--no-new-installs)--allow-new-installs[allow the safe-upgrade command to install new packages]' \ - '--allow-untrusted[install packages from untrusted sources without prompting]' \ - '--disable-columns[output results without any special formatting]' \ - '(-F --display-format)'{-F,--display-format}'[specify output format for search command]:format:->format-strings' \ - '--group-by=[control how the versions command groups its output]:grouping:(archive auto none package source-package source-version)' \ - '--log-file=[specify output log file]:file:_files' \ - '*--log-level=[specify minimum message level to log]:level:compadd -o nosort off fatal error warn info debug trace' \ - '--log-resolver[set some standard log levels related to the resolver]' \ - '(--allow-new-installs)--no-new-installs[prevent safe-upgrade from installing any new packages]' \ - '(--allow-new-upgrades)--no-new-upgrades[prevent safe-upgrade from upgrading packages regardless]' \ - "--no-show-resolver-actions[don't display the actions performed by the “safe” resolver]" \ - '(-O --sort)'{-O,--sort}'[specify sort order]:sort order:->orderings' \ - '-o[set a configuration file option]:key=value' \ - '(-s --simulate)'{-s,--simulate}'[print actions without performing them]' \ - '(-d --download-only)'{-d,--download-only}"[just download packages - don\'t install]" \ - '(-P --prompt)'{-P,--prompt}'[always display a prompt]' \ - '--purge-unused[purge in addition to removing each package that is no longer required]' \ - '(-y --assume-yes)'{-y,--assume-yes}'[assume yes answer to questions]' \ - '(-w --width)'{-w,--width}'[specify output width]:width' \ - '-f[aggressively try to fix dependencies of broken packages]' \ - '(-V --show-versions)'{-V,--show-versions}'[show which versions of packages will be installed]' \ - '(-D --show-deps)'{-D,--show-deps}'[show brief explanations of automatic installations and removals]' \ - '-Z[show disk space changes for each package]' \ - '(-v --verbose)'{-v,--verbose}'[causes some commands to display extra information]' \ - '(-R --without-recommends)'{-R,--with-recommends}'[install recommended packages when installing new packages]' \ - '(--without-suggests)--with-suggests[install suggested packages when installing new packages]' \ - '(-r --with-recommends)'{-r,--without-recommends}'[ignore recommended packages when installing new packages]' \ - '(--with-suggests)--without-suggests[ignore suggested packages when installing new packages]' \ - '--remove-user-tag=[remove user tag from affected packages]:tag' \ - '--remove-user-tag-from=[remove user tag from matching packages]:tag,pattern' \ - '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:->aptitude-releases' \ - '(-q --quiet)'{-q=,--quiet=}'[less Output]:level' \ - '--schedule-only[schedule operations to be performed in the future]' \ - '--purge-unused[purge unused packages instead of removing]' \ - '--visual-preview[start up the visual interface and display its preview screen]' \ - '--full-resolver[attempts to resolve conflicts with a higher risk of breakage]' \ - '--safe-resolver[attempts to resolve conflicts with a lower risk of breakage]' \ - '--show-package-names[control when the versions command shows package names]:when:(always auto never)' \ - '--show-summary=[summarize each dependency chain that the why command outputs]::mode:(no-summary first-package first-package-and-type all-packages all-packages-with-dep-versions)' \ - '(-W --show-why)'{-W,--show-why}'[show which manually installed package requires each automatically installed package]' \ - '-S[load the extended state information from non-standard state file]:state file:_files' \ - '-u[begin updating the package lists as soon as the program starts]' \ - '-i[displays a download preview when the program starts]' \ - '-Z[show how much disk space will be used or freed by the individual packages]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - aptitude-releases) - releases=( - ${${(M)${(f)"$(</etc/apt/sources.list)"}\ -:#[ $'\t']#deb(|-src)*}/(#b)[ $'\t']#[^ $'\t']##[ $'\t']##[^ $'\t']##[ $'\t']##([^ $'\t']##)*/$match[1]} - ) - _description releases expl release - compadd "$expl[@]" -a releases && ret=0 - ;; - cmds) - cmds=( ${${(M)${(f)"$(_call_program commands aptitude -h 2>/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l}) - - _describe -t commands 'aptitude command' cmds && ret=0 - ;; - format-strings) - compset -P '(%\#[0-9]|%[A-Za-z%]|[^%])#' - compset -S '*' - zstyle -s ":completion:${curcontext}:format-specifiers" list-separator sep || sep=-- - specs=( - '%%:literal %' '%#:parameter replacement' '%a:action flag' - '%A:action' '%B:broken count' '%c:current state flag' - '%C:current state' '%d:description' '%D:package size' - '%E:architecture' '%H:hostname' '%i:pin priority' - '%I:installed size' '%m:maintainer' '%M:automatic flag' - '%n:program version' '%N:program name' '%o:download size' - '%O:origin' '%p:package name' '%P:priority' - '%r:reverse depends count' '%R:abbreviated priority' '%s:section' - '%S:trust status' '%t:archive' '%T:tagged' - '%u:disk usage change' '%v:current version' '%V:candidate version' - '%Z:size change' - ) - zformat -a disp " $sep " $specs - _description format-specifiers expl 'format specifier' - compadd "$expl[@]" -S '' -d disp - ${specs%:*} - ;; - orderings) - line=( "${(@)${(@)${(@s.,.)PREFIX}#(\\|)\~}[1,-2]}" ) - compset -P '*,' - compset -S ',*' || suf=( -qS , ) - if ! compset -P '(\\|)~'; then - _description prefixes expl 'reverse order' - compadd "$expl[@]" -S '' \~ && ret=0 - fi - _description sort-key expl 'order [name,version]' - compadd -F line "$expl[@]" $suf - installsize installsizechange debsize \ - name priority version && ret=0 - ;; - args) - case $line[1] in - search) - _message -e patterns pattern - ;; - (download|show|changelog|why|why-not|build-dep|build-depends) - _deb_packages avail && ret=0 - ;; - (remove|purge|hold|unhold|reinstall|forbid-version|markauto|unmarkauto) - _deb_packages installed && ret=0 - ;; - install) - _deb_packages uninstalled && ret=0 - ;; - *) - (( ret )) && _message 'no more arguments' - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_archives b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_archives deleted file mode 100644 index 9ffd7e3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_archives +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -local ARCHCMD="$1" -shift -local expl completions library name_arg='-n' -if [[ -n $argv[(r)--library] ]]; then - library='library-' - # remove parameter from $@ before calling compadd - argv[(r)--library]=() - name_arg= -fi -completions=($(_call_program ${ARCHCMD} ${ARCHCMD} ${library:-}archives $name_arg)) -_description -V archives expl "${library:-}archives" -compadd "$@" "$expl[@]" -- "$completions[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_namespace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_namespace deleted file mode 100644 index 17129388..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arch_namespace +++ /dev/null @@ -1,105 +0,0 @@ -#autoload - -_arch_namespace () { #double as arch_namespace_categories - local ARCHCMD="$1" - shift -# takes an integer argument specifying how many components: -# 1: category -# 2: branch -# 3: version -# 4: revision - local suffix expl archive=`$ARCHCMD my-default-archive 2> /dev/null` - local trailing_dashes=0 - [[ -n $argv[(r)--trailing-dashes] ]] && trailing_dashes=1 - local library - [[ -n $argv[(r)--library] ]] && library='library-'; - local exclude_library_revisions=0 - [[ -n $argv[(r)--exclude-library-revisions] ]] && exclude_library_revisions=1 - - if [ $1 -gt 1 ] || (( trailing_dashes )); then - suffix=(-q -S --) - fi - if [[ $PREFIX = */* ]]; then - compset -P '*/' - archive=${IPREFIX%/*} - _description -V categories expl "${library:-}categories in $archive" - compadd $suffix "$expl[@]" `$ARCHCMD ${library:-}categories $archive` - elif [ -z $IPREFIX ]; then - local index=$(( words[(i)-A] + 1 )) - (( index < CURRENT )) || index=$(( words[(i)--archive] + 1 )) - (( index < CURRENT )) && archive=$words[$index] - - if [ $archive ]; then - _description -V categories expl "${library:-}categories in $archive" - compadd "$expl[@]" $suffix `$ARCHCMD ${library:-}categories $archive` - fi - - _arch_archives "$ARCHCMD" -S / ${library:+--library} - fi - if [ $archive ] && [ $1 -gt 1 ] && [[ $PREFIX != *@* ]] \ - && [[ $PREFIX = *--* ]]; then - #this match could be better - _arch_namespace_branches "$ARCHCMD" $(($1 - 1)) - fi -} - -(( $+functions[_arch_namespace_branches] )) || -_arch_namespace_branches () { - local ARCHCMD="$1" - shift - local suffix expl - if [ $1 -gt 1 ] || (( $trailing_dashes )); then - suffix=(-q -S --) - fi - if [[ $IPREFIX != *-- ]]; then - compset -P 1 '*--' - local category=${IPREFIX%--} - _description -V branches expl "${library:-}branches" - compadd $suffix "$expl[@]" \ - ${${(@)$($ARCHCMD ${library:-}branches $category)}##*--} - fi - if [ $1 -gt 1 ] && [[ $IPREFIX = *-- ]] && [[ $PREFIX = *--* ]]; then - _arch_namespace_versions "${ARCHCMD}" $(($1 - 1)) - fi -} - -(( $+functions[_arch_namespace_versions] )) || -_arch_namespace_versions () { - local ARCHCMD="$1" - shift - local suffix expl - if [ $1 -gt 1 ]; then - suffix=(-q -S --) - fi - if [[ $IPREFIX != *--*-- ]] || [[ $IPREFIX != */*--*-- ]]; then - compset -P 1 '*--' - local branch=${IPREFIX%--} - _description -V versions expl "${library:-}versions" - compadd $suffix "$expl[@]" \ - ${${(@)$($ARCHCMD ${library:-}versions $branch)}##*--} - fi - if [ $1 -gt 1 ] && [[ $IPREFIX = *--*-- ]] && ([[ $IPREFIX = */*--*-- ]] \ - || [[ $PREFIX != */* ]]) && [[ $PREFIX = *--* ]]; then - _arch_namespace_revisions "${ARCHCMD}" - fi -} - -(( $+functions[_arch_namespace_revisions] )) || -_arch_namespace_revisions () { - local ARCHCMD="$1" - local expl - if [[ $IPREFIX != *--*--*-- ]] || [[ $IPREFIX != */*--*--*-- ]]; then - compset -P 1 '*--' - local version=${IPREFIX%--} - _description -V revisions expl "${library:-}revisions" - local completions c - completions=( - ${${(@)$($ARCHCMD ${library:-}revisions $version)}##*--} - ) - (( exclude_library_revisions )) && \ - foreach c ($($ARCHCMD library-revisions $version)); do completions[(r)$c]=(); done - compadd "$expl[@]" -a completions - fi -} - -_arch_namespace "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arg_compile b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arg_compile deleted file mode 100644 index e37c869e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arg_compile +++ /dev/null @@ -1,199 +0,0 @@ -#autoload - -# A simple compiler for _arguments descriptions. The first argument of -# _arg_compile is the name of an array parameter in which the parse is -# returned. The remaining arguments form a series of `phrases'. Each -# `phrase' begins with one of the keywords "argument", "option", or "help" -# and consists of a series of keywords and/or values. The syntax is as -# free-form as possible, but "argument" phrases generally must appear in -# the same relative position as the corresponding argument on the command -# line to be completed, and there are some restrictions on ordering of -# keywords and values within each phrase. -# -# Anything appearing before the first phrase or after the last is passed -# through verbatim. (See TODO.) If more detailed mixing of compiled and -# uncompiled fragments is necessary, use two or more calls, either with -# different array names or by passing the output of each previous call -# through the next. -# -# In the documentation below, brackets [ ] indicate optional elements and -# braces { } indicate elements that may be repeated zero or more times. -# Except as noted, bracketed or braced elements may appear in any order -# relative to each other, but tokens within each element are ordered. -# -# argument [POS] [means MSG] [action ACT] -# -# POS may be an integer N for the Nth argument or "*" for all, and -# must appear first if it appears at all. -# MSG is a string to be displayed above the matches in a listing. -# ACT is (currently) as described in the compsys manual. -# -# option OPT [follow HOW] [explain STR] {unless XOR} \ -# {[means MSG] [action ACT]} [through PAT [means MSG] [action ACT]] -# -# OPT is the option, prefixed with "*" if it may appear more than once. -# HOW refers to a following argument, and may be one of: -# "close" must appear in the same word (synonyms "join" or "-") -# "next" the argument must appear in the next word (aka "split") -# "loose" the argument may appear in the same or the next word ("+") -# "assign" as loose, but must follow an "=" in the same word ("=") -# HOW should be suffixed with a colon if the following argument is -# _not_ required to appear. -# STR is to be displayed based on style `description' -# XOR is another option in combination with which OPT may not appear. -# It may be ":" to disable non-option completions when OPT is present. -# MSG is a string to be displayed above the matches in a listing. -# ACT is (currently) as described in the compsys manual. -# PAT is either "*" for "all remaining words on the line" or a pattern -# that, if matched, marks the end of the arguments of this option. -# The "through PAT ..." description must be the last. -# PAT may be suffixed with one colon to narrow the $words array to -# the remainder of the command line, or with two colons to narrow -# to the words before (not including) the next that matches PAT. -# -# help PAT [means MSG] action ACT -# -# ACT is applied to any option output by --help that matches PAT. -# Do not use "help" with commands that do not support --help. -# PAT may be suffixed with a colon if the following argument is -# _not_ required to appear (this is usually inferred from --help). -# MSG is a string to be displayed above the matches in a listing. - -# EXAMPLE: -# This is from _gprof in the standard distribution. Note that because of -# the brace expansion trick used in the "function name" case, no attempt -# is made to use `phrase' form; that part gets passed through unchanged. -# It could simply be moved to the _arguments call ahead of "$args[@]". -# -# _arg_compile args -s -{a,b,c,D,h,i,l,L,s,T,v,w,x,y,z} \ -# -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,Z}:'function name:->funcs' \ -# option -I means directory action _dir_list \ -# option -d follow close means "debug level" \ -# option -k means "function names" action '->pair' \ -# option -m means "minimum execution count" \ -# argument means executable action '_files -g \*\(-\*\)' \ -# argument means "profile file" action '_files -g gmon.\*' \ -# help '*=name*' means "function name" action '->funcs' \ -# help '*=dirs*' means "directory" action _dir_list -# _arguments "$args[@]" - -# TODO: -# Verbose forms of various actions, e.g. (but not exactly) -# "state foo" becomes "->foo" -# "completion X explain Y ..." becomes "((X\:Y ...))" -# etc. -# Represent leading "*" in OPT some other way. -# Represent trailing colons in HOW and PAT some other way. -# Stricter syntax checking on HOW, sanity checks on XOR. -# Something less obscure than "unless :" would be nice. -# Warning or other syntax check for stuff after the last phrase. - -emulate -L zsh -local -h argspec dspec helpspec prelude xor -local -h -A amap dmap safe - -[[ -n "$1" ]] || return 1 -[[ ${(tP)${1}} = *-local ]] && { print -R NAME CONFLICT: $1 1>&2; return 1 } -safe[reply]="$1"; shift - -# First consume and save anything before the argument phrases - -helpspec=() -prelude=() - -while (($#)) -do - case $1 in - (argument|help|option) break;; - (*) prelude=("$prelude[@]" "$1"); shift;; - esac -done - -# Consume all the argument phrases and build the argspec array - -while (($#)) -do - amap=() - dspec=() - case $1 in - - # argument [POS] [means MSG] [action ACT] - (argument) - shift - while (($#)) - do - case $1 in - (<1->|\*) amap[position]="$1"; shift;; - (means|action) amap[$1]="$2"; shift 2;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done - if (( $#amap )) - then - argspec=("$argspec[@]" "${amap[position]}:${amap[means]}:${amap[action]}") - fi;; - - # option OPT [follow HOW] [explain STR] {unless XOR} \ - # {[through PAT] [means MSG] [action ACT]} - (option) - amap[option]="$2"; shift 2 - dmap=() - xor=() - while (( $# )) - do - (( ${+amap[$1]} || ${+dmap[through]} )) && break; - case $1 in - (follow) - amap[follow]="${2:s/join/-/:s/close/-/:s/next//:s/split//:s/loose/+/:s/assign/=/:s/none//}" - shift 2;; - (explain) amap[explain]="[$2]" ; shift 2;; - (unless) xor=("$xor[@]" "${(@)=2}"); shift 2;; - (through|means|action) - while (( $# )) - do - (( ${+dmap[$1]} )) && break 2 - case $1 in - (through|means|action) dmap[$1]=":${2}"; shift 2;; - (argument|option|help|follow|explain|unless) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - if (( $#dmap )) - then - dspec=("$dspec[@]" "${dmap[through]}${dmap[means]:-:}${dmap[action]:-:}") - fi - done - if (( $#amap )) - then - argspec=("$argspec[@]" "${xor:+($xor)}${amap[option]}${amap[follow]}${amap[explain]}${dspec}") - fi;; - - # help PAT [means MSG] action ACT - (help) - amap[pattern]="$2"; shift 2 - while (($#)) - do - (( ${+amap[$1]} )) && break; - case $1 in - (means|action) amap[$1]="$2"; shift 2;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done - if (( $#amap )) - then - helpspec=("$helpspec[@]" "${amap[pattern]}:${amap[means]}:${amap[action]}") - fi;; - (*) break;; - esac -done - -eval $safe[reply]'=( "${prelude[@]}" "${argspec[@]}" ${helpspec:+"-- ${helpspec[@]}"} "$@" )' - -# print -R _arguments "${prelude[@]:q}" "${argspec[@]:q}" ${helpspec:+"-- ${helpspec[@]:q}"} "$@:q" - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arguments deleted file mode 100644 index 5ff34ff4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arguments +++ /dev/null @@ -1,589 +0,0 @@ -#autoload - -# Complete the arguments of the current command according to the -# descriptions given as arguments to this function. - -local long cmd="$words[1]" descr odescr mesg subopts opt opt2 usecc autod -local oldcontext="$curcontext" hasopts rawret optarg singopt alwopt -local setnormarg start rest -local -a match mbegin mend -integer opt_args_use_NUL_separators=0 - -subopts=() -singopt=() -while [[ "$1" = -([AMO]*|[0CRSWnsw]) ]]; do - case "$1" in - -0) opt_args_use_NUL_separators=1; shift ;; - -C) usecc=yes; shift ;; - -O) subopts=( "${(@P)2}" ); shift 2 ;; - -O*) subopts=( "${(@P)${1[3,-1]}}" ); shift ;; - -R) rawret=yes; shift;; - -n) setnormarg=yes; NORMARG=-1; shift;; - -w) optarg=yes; shift;; - -W) alwopt=arg; shift;; - -[Ss]) singopt+=( $1 ); shift;; - -[AM]) singopt+=( $1 $2 ); shift 2 ;; - -[AM]*) singopt+=( $1 ); shift ;; - esac -done - -[[ $1 = ':' ]] && shift -singopt+=( ':' ) # always end with ':' to indicate the end of options - -[[ "$PREFIX" = [-+] ]] && alwopt=arg - -long=$argv[(I)--] -if (( long )); then - local name tmp tmpargv - - tmpargv=( "${(@)argv[1,long-1]}" ) # optspec's before --, if any - - name=${~words[1]} 2>/dev/null - [[ "$name" = [^/]*/* ]] && name="$PWD/$name" - - name="_args_cache_${name}" - name="${name//[^a-zA-Z0-9_]/_}" - - if (( ! ${(P)+name} )); then - local iopts sopts lflag pattern tmpo dir cur cache - typeset -Ua lopts - - cache=() - - # We have to build a new long-option cache, get the `-i' and - # `-s' options. - - set -- "${(@)argv[long+1,-1]}" - - iopts=() - sopts=() - while [[ "$1" = -[lis]* ]]; do - if [[ "$1" = -l ]]; then - lflag='-l' - shift - continue - fi - if [[ "$1" = -??* ]]; then - tmp="${1[3,-1]}" - cur=1 - else - tmp="$2" - cur=2 - fi - if [[ "$tmp[1]" = '(' ]]; then - tmp=( ${=tmp[2,-2]} ) - else - tmp=( "${(@P)tmp}" ) - fi - if [[ "$1" = -i* ]]; then - iopts+=( "$tmp[@]" ) - else - sopts+=( "$tmp[@]" ) - fi - shift cur - done - - # Now get the long option names by calling the command with `--help'. - # The parameter expansion trickery first gets the lines as separate - # array elements. Then we select all lines whose first non-blank - # character is a hyphen. Since some commands document more than one - # option per line, separated by commas, we convert commas into - # newlines and then split the result again at newlines after joining - # the old array elements with newlines between them. Then we select - # those elements that start with two hyphens, remove anything up to - # those hyphens and anything from the space or tab after the - # option up to the end. - - tmp=() - _call_program $lflag options ${~words[1]} --help 2>&1 | - while IFS= read -r opt; do - if (( ${#tmp} )); then - # Previous line had no comment. Is the current one suitable? - # It's hard to be sure, but if it there was nothing on the - # previous line and the current one is indented more than - # a couple of spaces (and isn't completely whitespace or punctuation) - # there's a pretty good chance. - if [[ $opt = [[:space:]][[:space:]][[:space:]]*[[:alpha:]]* ]]; then - # Assume so. - opt=${opt##[[:space:]]##} - # Same substitution as below. - lopts+=("${^tmp[@]}":${${${opt//:/-}//\[/(}//\]/)}) - tmp=() - # Finished with this line. - continue - else - # Still no comment, add the previous options anyway. - # Add a ':' after the option anyways, to make the matching of - # the options lateron work as intended. - # It will be removed again later. - lopts+=("${^tmp[@]}":) - tmp=() - fi - fi - while [[ $opt = [,[:space:]]#(#b)(-[^,[:space:]]#)(*) ]]; do - # We used to remove the brackets from "[=STUFF]", - # but later the code appears to handle it with the brackets - # present. Maybe the problem was that the intervening code - # didn't. If it's buggy without removing them, the problem - # probably is later, not here. - start=${match[1]} - rest=${match[2]} - if [[ -z ${tmp[(r)${start%%[^a-zA-Z0-9_-]#}]} ]]; then - # variant syntax seen in fetchmail: - # --[fetch]all means --fetchall or --all. - # maybe needs to be more general - if [[ $start = (#b)--\[(*)\](*) ]]; then - tmp+=("--${match[1]}${match[2]}" "--${match[2]}") - else - tmp+=($start) - fi - fi - opt=$rest - done - # If there's left over text, assume it's a description; it - # may be truncated but if it's too long it's no use anyway. - # There's one hiccup: we sometimes get descriptions like - # --foo fooarg Do some foo stuff with foo arg - # and we need to remove fooarg. Use whitespace for hints. - opt=${opt## [^[:space:]]## } - opt=${opt##[[:space:]]##} - if [[ -n $opt ]]; then - # Add description after a ":", converting any : in the description - # to a -. Use RCQUOTES to append this to all versions of the option. - lopts+=("${^tmp[@]}":${${${opt//:/-}//\[/(}//\]/)}) - tmp=() - # If there's no comment, we'll see if there's one on the - # next line. - fi - done - # Tidy up any remaining uncommented options. - if (( ${#tmp} )); then - lopts+=("${^tmp[@]}":) - fi - - # Remove options also described by user-defined specs. - - tmp=() - # Ignore any argument and description information when searching - # the long options array here and below. - for opt in "${(@)${(@)lopts:#--}%%[\[:=]*}"; do - - # Using (( ... )) gives a parse error. - - let "$tmpargv[(I)(|\([^\)]#\))(|\*)${opt}(|[-+]|=(|-))(|\[*\])(|:*)]" || - tmp+=( "$lopts[(r)$opt(|[\[:=]*)]" ) - done - lopts=( "$tmp[@]" ) - - # Now remove all ignored options ... - - while (( $#iopts )); do - lopts=( ${lopts:#$~iopts[1](|[\[:=]*)} ) - shift iopts - done - - # ... and add "same" options - - while (( $#sopts )); do - # This implements adding things like --disable-* based - # on the existence of --enable-*. - # TODO: there's no anchoring here, is that correct? - # If it's not, careful with the [\[:=]* stuff. - lopts+=( ${lopts/$~sopts[1]/$sopts[2]} ) - shift 2 sopts - done - - # Then we walk through the descriptions plus a few builtin ones. - # The last one matches all options; the `special' description and action - # makes those options be completed without an argument description. - - argv+=( - '*=FILE*:file:_files' - '*=(DIR|PATH)*:directory:_files -/' - '*=*:=: ' - '*: : ' - ) - - while (( $# )); do - - # First, we get the pattern and the action to use and take them - # from the positional parameters. - - # This is the first bit of the arguments in the special form - # for converting --help texts, taking account of any quoting - # of colons. - pattern="${${${(M)1#*[^\\]:}[1,-2]}//\\\\:/:}" - # Any action specifications that go with it. - descr="${1#${pattern}}" - if [[ "$pattern" = *\(-\) ]]; then - # This is the special form to disallow arguments - # in the next word. - pattern="$pattern[1,-4]" - dir=- - else - dir= - fi - shift - - # We get all options matching the pattern and take them from the - # list we have built. If no option matches the pattern, we - # continue with the next. - - # Ignore :descriptions at the ends of lopts for matching this; - # they aren't in the patterns. - tmp=("${(@M)lopts:##$~pattern:*}") - lopts=("${(@)lopts:##$~pattern:*}") - - (( $#tmp )) || continue - - opt='' - - # Clean suffix ':' added earlier - tmp=("${(@)tmp%:}") - - # If there are option strings with a `[=', we take these to get an - # optional argument. - - tmpo=("${(@M)tmp:#[^:]##\[\=*}") - if (( $#tmpo )); then - tmp=("${(@)tmp:#[^:]##\[\=*}") - - for opt in "$tmpo[@]"; do - # Look for --option:description and turn it into - # --option[description]. We didn't do that above - # since it could get confused with the [=ARG] stuff. - if [[ $opt = (#b)(*):([^:]#) ]]; then - opt=$match[1] - odescr="[${match[2]}]" - else - odescr= - fi - if [[ $opt = (#b)(*)\[\=* ]]; then - opt2=${${match[1]}//[^a-zA-Z0-9_-]}=-${dir}${odescr} - else - opt2=${${opt}//[^a-zA-Z0-9_-]}=${dir}${odescr} - fi - if [[ "$descr" = :\=* ]]; then - cache+=( "${opt2}::${(L)${opt%\]}#*\=}: " ) - elif [[ "$descr" = ::* ]]; then - cache+=( "${opt2}${descr}" ) - else - cache+=( "${opt2}:${descr}" ) - fi - done - fi - - # Descriptions with `=': mandatory argument. - # Basically the same as the foregoing. - # TODO: could they be combined? - - tmpo=("${(@M)tmp:#[^:]##\=*}") - if (( $#tmpo )); then - tmp=("${(@)tmp:#[^:]##\=*}") - - for opt in "$tmpo[@]"; do - if [[ $opt = (#b)(*):([^:]#) ]]; then - opt=$match[1] - odescr="[${match[2]}]" - else - odescr= - fi - opt2="${${opt%%\=*}//[^a-zA-Z0-9_-]}=${dir}${odescr}" - if [[ "$descr" = :\=* ]]; then - cache+=( "${opt2}:${(L)${opt%\]}#*\=}: " ) - else - cache+=( "${opt2}${descr}" ) - fi - done - fi - - # Everything else is just added as an option without arguments or - # as described by $descr. - - if (( $#tmp )); then - tmp=( - # commands with a description of the option (as opposed - # to the argument, which is what descr contains): needs to be - # "option[description]". - # Careful: \[ on RHS of substitution keeps the backslash, - # I discovered after about half an hour, so don't do that. - "${(@)^${(@)tmp:#^*:*}//:/[}]" - # commands with no description - "${(@)${(@)tmp:#*:*}//[^a-zA-Z0-9_-]}") - if [[ -n "$descr" && "$descr" != ': : ' ]]; then - cache+=( "${(@)^tmp}${descr}" ) - else - cache+=( "$tmp[@]" ) - fi - fi - done - set -A "$name" "${(@)cache:# #}" - fi - set -- "$tmpargv[@]" "${(@P)name}" -fi - -zstyle -s ":completion:${curcontext}:options" auto-description autod - -if (( $# )) && comparguments -i "$autod" "$singopt[@]" "$@"; then - local action noargs aret expl local tried ret=1 - local next direct odirect equal single matcher matched ws tmp1 tmp2 tmp3 - local opts subc tc prefix suffix descrs actions subcs anum - local origpre="$PREFIX" origipre="$IPREFIX" nm="$compstate[nmatches]" - - if comparguments -D descrs actions subcs; then - if comparguments -O next direct odirect equal; then - opts=yes - _tags "$subcs[@]" options - else - _tags "$subcs[@]" - fi - else - if comparguments -a; then - noargs='no more arguments' - else - noargs='no arguments' - fi - if comparguments -O next direct odirect equal; then - opts=yes - _tags options - elif [[ $? -eq 2 ]]; then - compadd -Q - "${PREFIX}${SUFFIX}" - return 0 - else - _message "$noargs" - return 1 - fi - fi - - comparguments -M matcher - - context=() - state=() - state_descr=() - - while true; do - while _tags; do - anum=1 - if [[ -z "$tried" ]]; then - while [[ anum -le $#descrs ]]; do - - action="$actions[anum]" - descr="$descrs[anum]" - subc="$subcs[anum++]" - - if [[ $subc = argument* && -n $setnormarg ]]; then - comparguments -n NORMARG - fi - - if [[ -n "$matched" ]] || _requested "$subc"; then - - curcontext="${oldcontext%:*}:$subc" - - _description "$subc" expl "$descr" - - if [[ "$action" = \=\ * ]]; then - action="$action[3,-1]" - words=( "$subc" "$words[@]" ) - (( CURRENT++ )) - fi - - if [[ "$action" = -\>* ]]; then - action="${${action[3,-1]##[ ]#}%%[ ]#}" - if (( ! $state[(I)$action] )); then - comparguments -W line opt_args $opt_args_use_NUL_separators - state+=( "$action" ) - state_descr+=( "$descr" ) - if [[ -n "$usecc" ]]; then - curcontext="${oldcontext%:*}:$subc" - else - context+=( "$subc" ) - fi - compstate[restore]='' - aret=yes - fi - else - if [[ -z "$local" ]]; then - local line - typeset -A opt_args - local=yes - fi - - comparguments -W line opt_args $opt_args_use_NUL_separators - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - _message -e "$subc" "$descr" - mesg=yes - tried=yes - alwopt=${alwopt:-yes} - elif [[ "$action" = \(\(*\)\) ]]; then - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "$subc" "$descr" ws -M "$matcher" "$subopts[@]" || - alwopt=${alwopt:-yes} - tried=yes - - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels "$subc" expl "$descr" compadd "$subopts[@]" -a - ws || - alwopt=${alwopt:-yes} - tried=yes - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label "$subc" expl "$descr"; do - eval "$action[2,-2]" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label "$subc" expl "$descr"; do - "$action[@]" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - else - - # Otherwise we call it with the description-arguments. - - eval "action=( $action )" - while _next_label "$subc" expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - fi - fi - fi - done - fi - if _requested options && - [[ -z "$hasopts" && - -z "$matched" && - ( -z "$aret" || "$PREFIX" = "$origpre" ) ]] && - { ! zstyle -T ":completion:${oldcontext%:*}:options" prefix-needed || - [[ "$origpre" = [-+]* || -z "$aret$mesg$tried" ]] } ; then - local prevpre="$PREFIX" previpre="$IPREFIX" prevcontext="$curcontext" - - curcontext="${oldcontext%:*}:options" - - hasopts=yes - - PREFIX="$origpre" - IPREFIX="$origipre" - - if [[ -z "$alwopt" || -z "$tried" || "$alwopt" = arg ]] && - comparguments -s single; then - - if [[ "$single" = direct ]]; then - _all_labels options expl option \ - compadd -QS '' - "${PREFIX}${SUFFIX}" - elif [[ -z "$optarg" && "$single" = next ]]; then - _all_labels options expl option \ - compadd -Q - "${PREFIX}${SUFFIX}" - elif [[ "$single" = equal ]]; then - _all_labels options expl option \ - compadd -QqS= - "${PREFIX}${SUFFIX}" - else - - tmp1=( "$next[@]" "$direct[@]" "$odirect[@]" "$equal[@]" ) - - [[ "$PREFIX" = [-+]* ]] && tmp1=( "${(@M)tmp1:#${PREFIX[1]}*}" ) - - [[ "$single" = next ]] && - tmp1=( "${(@)tmp1:#[-+]${PREFIX[-1]}((#e)|:*)}" ) - - [[ "$PREFIX" != --* ]] && tmp1=( "${(@)tmp1:#--*}" ) - tmp3=( "${(M@)tmp1:#[-+]?[^:]*}" ) - tmp1=( "${(M@)tmp1:#[-+]?(|:*)}" ) - tmp2=( "${PREFIX}${(@M)^${(@)${(@)tmp1%%:*}#[-+]}:#?}" ) - - _describe -O option \ - tmp1 tmp2 -S '' -- \ - tmp3 - - [[ -n "$optarg" && "$single" = next && nm -eq $compstate[nmatches] ]] && - _all_labels options expl option \ - compadd -Q - "${PREFIX}${SUFFIX}" - - fi - single=yes - else - next+=( "$odirect[@]" ) - _describe -O option \ - next -M "$matcher" -- \ - direct -S '' -M "$matcher" -- \ - equal -qS= -M "$matcher" - fi - PREFIX="$prevpre" - IPREFIX="$previpre" - curcontext="$prevcontext" - fi - [[ -n "$tried" && "${${alwopt:+$origpre}:-$PREFIX}" != [-+]* ]] && break - done - if [[ -n "$opts" && -z "$aret" && - -z "$matched" && - ( -z "$tried" || -n "$alwopt" ) && - nm -eq compstate[nmatches] ]]; then - - PREFIX="$origpre" - IPREFIX="$origipre" - - prefix="${PREFIX#*\=}" - suffix="$SUFFIX" - PREFIX="${PREFIX%%\=*}" - SUFFIX='' - - compadd -M "$matcher" -D equal - "${(@)equal%%:*}" - - if [[ $#equal -eq 1 ]]; then - PREFIX="$prefix" - SUFFIX="$suffix" - IPREFIX="${IPREFIX}${equal[1]%%:*}=" - matched=yes - - comparguments -L "${equal[1]%%:*}" descrs actions subcs - - _tags "$subcs[@]" - - continue - fi - fi - break - done - - [[ -z "$aret" || -z "$usecc" ]] && curcontext="$oldcontext" - - if [[ -n "$aret" ]]; then - [[ -n $rawret ]] && return 300 - -### Returning non-zero would allow the calling function to add its own -### completions if we generated only options and have to use a ->state -### action. But if that then doesn't generate matches, the calling -### function's return value would be wrong unless it compares -### $compstate[nmatches] to its previous value. Ugly. -### -### return 1 - else - [[ -n "$noargs" && nm -eq "$compstate[nmatches]" ]] && _message "$noargs" - fi - # Set the return value. - - [[ nm -ne "$compstate[nmatches]" ]] -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arp deleted file mode 100644 index 7727de28..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arp +++ /dev/null @@ -1,100 +0,0 @@ -#compdef arp - -local state line expl curcontext="$curcontext" ret=1 -typeset -A opt_args -local -a cmds args vopt flags - -flags=( temp pub ) -cmds=( - '(2 3)-a[show entries for all hosts]' - '(2 -d)-d[delete entry from table]' - '(-n -v)-s[create an arp entry]' - '(2 3 -n -v)-f[read multiple entries from file]' -) -args=( '-n[show numeric addresses]' ) -vopt='-v[be verbose]' - -if (( ${+words[(r)-d]} )) && [[ $OSTYPE = (*bsd|dragonfly|darwin)* ]]; then - args+=( '(1 *)-a[delete all entries]' ) -fi - -case $OSTYPE in - linux*) - cmds=( - '(2 * -D --use-device)-a[show entries in BSD style output format]' - '!(2 * -D --use-device)-e' - '(2 -n --numeric -D --use-device -H --hw-type)'{-d,--delete}'[delete entry from table]' - '(-n --numeric)'{-s,--set}'[create an ARP entry]' - '(2 * -D --use-device)'{-f,--file}'[read multiple entries from file]' - ) - args=( - '(-i --device)'{-i+,--device=}'[select an interface]:interface:_net_interfaces' - '(-D --use-device -a --display -d --delete)'{-D,--use-device}"[use specified interface's hardware address]" - '(-H --hw-type -d --delete)'{-H+,--hw-type=}'[specify class of entries to check for]:class:(ash ether arcnet pronet ax25 netrom rose dlci fddi hippi irda x25 infiniband eui64)' - '(* -n --numeric -d --delete -s --set -f --file)'{-n,--numeric}'[show numeric addresses]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) - flags+=( netmask ) - ;; - darwin*|freebsd*|dragonfly*) - cmds+=( '(-n -i)-S[create an arp entry, replacing any existing entry]' ) - args+=( '(-s -Q -f)-i+[select an interface]:interface:_net_interfaces' ) - ;| - darwin*) - args+=( - '(-d -s -S -f)-l[show link-layer reachability information]' - '(-d -s -S -f)-x[show extended link-layer reachability information]' - ) - flags+=( reject blackhole only ifscope ) - ;; - dragonfly*) - flags+=( only ) - args+=( '-c:cpu' ) - ;; - netbsd*) - flags+=( proxy ) - args+=( $vopt ) - ;; - freebsd*) - flags+=( blackhole reject ) - ;; - openbsd*) - args+=( - '(-a -d -W)-F[overwrite existing entries]' - '(-W)-V+[select the routing domain]:routing domain:_routing_domains' - ) - cmds+=( - '(- 1)-W[send the wake on LAN frame]' - ) - flags+=( permanent ) - ;; - solaris*) flags+=( trail permanent) ;; -esac - -_arguments -C -s -S $args \ - '1: :->hostintable' \ - '2:ethernet address' \ - "*: :->flags" \ - + '(cmds)' $cmds && ret=0 - -if [[ "$state" = hostintable ]]; then - if [[ -n $opt_args[(i)-(D|-use-device)] ]]; then - _wanted interfaces expl interface _net_interfaces && ret=0 - elif [[ -n $opt_args[(i)-(f|-file)] ]]; then - _files && ret=0 - elif [[ -n $opt_args[(i)-(s|S|-set)] ]]; then - _hosts && ret=0 - else - _wanted hosts expl 'host' compadd ${${${(f)"$(${words[1]} -an)"}##[ ?(]#}%%[ )]*} && ret=0 - fi -elif [[ "$state" = flags ]]; then - if [[ $words[CURRENT-1] = netmask ]]; then - _message -e netmasks netmask - elif (( $+opt_args[-W] )) || [[ $words[CURRENT-1] = ifscope ]]; then - _wanted interfaces expl interface _net_interfaces && ret=0 - else - _wanted flags expl flag compadd -F line $flags && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arping b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arping deleted file mode 100644 index 4974a408..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arping +++ /dev/null @@ -1,56 +0,0 @@ -#compdef arping - -if _pick_variant iputils=iputils thabets -V; then - -_arguments -s \ - '-f[quit on first reply]' \ - '-q[be quiet]' \ - '-b[keep broadcasting, do not go unicast]' \ - '-D[duplicate address detection mode]'\ - '-U[unsolicited ARP mode, update your neighbours]' \ - '-A[ARP answer mode, update your neighbours]' \ - '-V[print version and exit]' \ - '-c[how many packets to send]:count' \ - '-w[how long to wait for a reply]:timeout' \ - '-i[specify interval between packets]:interval (seconds)' \ - '-I[interface]:ethernet interface:_net_interfaces' \ - '-s[source ip address]:source IP address:_hosts' \ - ':destination:_hosts' - -else - -_arguments -s -S -A "-*" \ - '(-)'{-h,--help}'[display help information]' \ - '-q[only display error messages]' \ - '-a[audible ping]' \ - '*-v[verbose output]' \ - '-r[raw output: only the MAC/IP address displayed]' \ - '-R[like -r but shows "the other one"]' \ - '-d[find duplicate replies]' \ - '-D[display answers as exclamation marks and missing packets as dots]' \ - '-e[like -a but beep when there is no reply]' \ - "-F[don't try to be smart about the interface name]" \ - '-g+[specify group to setgid() to]:group [nobody]:_groups' \ - '-m+[specify type of timestamp for incoming packets]:timestamp type' \ - '(:)-B[255.255.255.255]' \ - '-0[source 0.0.0.0]' \ - '-b[source 255.255.255.255]' \ - '-S+[set source IP]:source IP address:_hosts' \ - '-T+[target IP]:target IP address:_hosts' \ - '-p[turn on promiscuous mode]' \ - '-Q+[specify 802.1p priority to set]:priority [0]' \ - '-s[set source MAC address]:source MAC address' \ - '-t[set target MAC address]:target MAC address' \ - '-c[send this many requests]:count' \ - '-C[only wait for specified replies]:reply count' \ - '-i+[interface]:interface:_net_interfaces' \ - '-A[only count addresses matching requested address]' \ - '-P[send ARP replies instead of requests]' \ - '-u[show index=received/sent instead of just index=received when pinging MACs]' \ - '-U[send unsolicited ARP]' \ - '-V+[specify VLAN tag to set]:vlan' \ - '-w+[specify time to wait between pings (microseconds)]:time (microseconds)' \ - '-W+[specify time to wait between pings (seconds)]:time (seconds)' \ - '(-B):address:_hosts' - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arrays b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arrays deleted file mode 100644 index c28fb179..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_arrays +++ /dev/null @@ -1,5 +0,0 @@ -#compdef shift - -local expl - -_wanted arrays expl array _parameters "$@" -g '*array*' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciidoctor b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciidoctor deleted file mode 100644 index 3839c7ed..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciidoctor +++ /dev/null @@ -1,42 +0,0 @@ -#compdef asciidoctor - -# Notes: -# - We don't offer -v for verbose, even though that works in some cases -# - @todo We don't complete arguments to -E and -r. Unclear how they work. -# Should we offer gem names from `gem list`...? - -_arguments -s -S : \ - '(: * -)'{-h+,--help=}'[display help information]::help topic:(( - manpage\:"dump man page" - ))' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-q -v --quiet --verbose)'{-q,--quiet}'[reduce output verbosity]' \ - '(-q -v --quiet --verbose)'{-v,--verbose}'[increase output verbosity]' \ - '*'{-a+,--attribute=}'[set/unset specified document attribute]:document attribute' \ - '(-b --backend)'{-b+,--backend=}'[specify backend output format]:backend:( - docbook docbook45 docbook5 html html5 manpage - )' \ - '(-B --base-dir)'{-B+,--base-dir=}'[specify document base directory]:base directory:_files -/' \ - '(-d --doctype)'{-d+,--doctype=}'[specify document type]:document type:( - article book inline manpage - )' \ - '(-D --destination-dir)'{-D+,--destination-dir=}'[specify destination directory]:destination directory:_files -/' \ - '(-e --eruby)'{-e+,--eruby=}'[specify eRuby implementation]:eRuby implementation:(erb erubis)' \ - '(-E --template-engine)'{-E+,--template-engine=}'[specify template engine]:template engine' \ - '--failure-level=[specify minimum logging level to trigger non-zero exit]:failure logging level [FATAL]:( - WARNING ERROR FATAL - )' \ - '*'{-I+,--load-path=}'[add specified directory to load path]:extension directory:_files -/' \ - '(-n --section-numbers)'{-n,--section-numbers}'[auto-number section titles]' \ - '(-o --out-file)'{-o+,--out-file=}'[specify output file]:output file:_files' \ - '(-R --source-directory)'{-R+,--source-dir=}'[specify source directory]:source directory:_files -/' \ - '*'{-r+,--require=}'[require specified library]:Ruby library' \ - '(-s --no-header-footer)'{-s,--no-header-footer}'[suppress document header/footer]' \ - '(-S --safe --safe-mode)'{-S+,--safe-mode=}'[specify safe-mode level]:safe-mode level [unsafe]:( - unsafe safe server secure - )' \ - '(-S --safe-mode)--safe[set safe-mode level to safe]' \ - '(-t --timings)'{-t,--timings}'[display timing information]' \ - '*'{-T+,--template-dir=}'[specify template directory]:template directory:_files -/' \ - '--trace[include backtrace information on errors]' \ - '*:source file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciinema b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciinema deleted file mode 100644 index 8e94f0d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_asciinema +++ /dev/null @@ -1,59 +0,0 @@ -#compdef asciinema - -local ret=1 -local -a context line state state_descr help -local -A opt_args - -help=( '(: * -)'{-h,--help}'[display help information]' ) - -_arguments -A '-*' \ - $help \ - '(: * -)--version[display version information]' \ - '1:command:(( - auth\:"link install ID with asciinema.org account" - cat\:"dump full output of recorded session" - play\:"play back recorded session" - rec\:"record session" - upload\:"upload recorded session" - ))' \ - '*:: :->next' \ -&& ret=0 - -[[ $state == next ]] && -case $words[1] in - auth) - _arguments -s -S : $help && ret=0 - ;; - cat|upload) - _arguments -s -S : $help '1::recording file:_files' && ret=0 - ;; - play) - _arguments -s -S : \ - $help \ - '(-i --idle-time-limit)'{-i+,--idle-time-limit=}'[specify max idle time]:max idle time (seconds)' \ - '(-s --speed)'{-s+,--speed=}'[specify playback speed]:speed factor' \ - '1: :->files-urls' \ - && ret=0 - [[ $state == files-urls ]] && - _alternative 'files:recording file:_files' 'urls: :_urls' && - ret=0 - ;; - rec) - _arguments -s -S : \ - $help \ - '(--overwrite)--append[append to existing recording]' \ - '(-c --command)'{-c+,--command=}'[specify command to record]: :_path_commands' \ - '(-e --env)'{-e+,--env=}'[specify environment variables to capture]:environment variable:_sequence _parameters -g "*export*"' \ - '(-i --idle-time-limit)'{-i+,--idle-time-limit=}'[specify max idle time]:max idle time (seconds)' \ - '(-q -y --quiet --yes)'{-q,--quiet}'[suppress notices/warnings (implies -y)]' \ - '--raw[save raw stdout output, without timing or other metadata]' \ - '--stdin[enable stdin (keyboard) recording]' \ - '(-t --title)'{-t+,--title=}'[specify title of recording]:title' \ - '(--append)--overwrite[overwrite existing recording]' \ - '(-y --yes)'{-y,--yes}'[bypass confirmation prompts]' \ - '1::recording file:_files' \ - && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_assign b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_assign deleted file mode 100644 index 4935cc9c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_assign +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -assign-parameter- - -_parameters -g "^*readonly*" -S '' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_at b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_at deleted file mode 100644 index b2258902..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_at +++ /dev/null @@ -1,41 +0,0 @@ -#compdef atrm atq at batch - -local context state line expl ret=1 -typeset -A opt_args - -#todo (when extremely bored) make -l and -d do the atq and atrm completions -case $service in -atrm) - _arguments \ - '-V[print version number]' \ - '*:job number:->jobs' && ret=0 - ;; -atq) - _arguments \ - '-V[print version number]' \ - '-q[uses specified queue]:a-z+A-Z' && ret=0 - ;; -at|batch) - _arguments \ - - new-job \ - '-V[print version number]' \ - '-q[uses specified queue, uppercase acts as batch]:a-z+A-Z' \ - '-f[read job from file rather than from stdin]:file:_files' \ - '-v[show the time the job will be executed]' \ - '-m[send mail even if there was no output]' \ - ':time:' \ - - atq \ - '-l[alias for atq]' \ - - atrm \ - '-d[alias for atrm]' \ - - show-job \ - '-c[cat specified jobs to stdout]:*:job number:->jobs' && ret=0 -esac - -case $state in -jobs) - _wanted -C $context jobs expl 'job number' compadd ${(M)${(f)"$(_call_program job atq)"}##<->} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_attr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_attr deleted file mode 100644 index efa7c5c4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_attr +++ /dev/null @@ -1,69 +0,0 @@ -#compdef attr getfattr setfattr xattr - -case $service in - attr) - local -a list - [[ $OSTYPE = irix* ]] && - list=( '(-g -s -r -V)-l[list extended attributes associated with file]' ) - _arguments -s -S "$list[@]" \ - '(-l -r -s -V)-g[get extended attribute for file]:attribute name' \ - '(-l -g -s -q -V)-r[remove given attribute from file]:attribute name' \ - '(-l -g -r)-s[set named attribute for file]:attribute name' \ - '(-r)-q[quiet output]' \ - '(-g -r)-V[specify value of attribute]:value' \ - '-L[dereference symbolic links]' \ - '-R[operator in the root attribute namespace]' \ - '1:file:_files' - return - ;; - getfattr) - _arguments -s -S \ - '(-d --dump -n --name)'{-n+,--name=}'[dump the value of the named extended attribute]' \ - '(-n --name -d --dump)'{-d,--dump}'[dump the values of all extended attributes]' \ - '(-e --encoding)'{-e+,--encoding=}'[encode values after retrieving them]:encoding:(text hex base64)' \ - '(-h --no-dereference)'{-h,--no-dereference}"[don't follow symbolic links]" \ - '(-m --match)'{-m+,--match=}'[only include attributes with names matching regex]:regular expression' \ - '--one-file-system[skip files on different filesystems]' \ - "--absolute-names[don't strip leading slash characters]" \ - '--only-values[dump only attribute values]' \ - '(-R --recursive)'{-R,--recursive}'[list attributes of all files and directories recursively]' \ - '(-P --physical -L --logical)'{-L,--logical}'[follow all symbolic links]' \ - '(-L --logical -P --physical)'{-P,--physical}'[skip all symbolic links]' \ - '(* -)--version[display version information]' \ - '(* -)--help[display help information]' \ - '*:file:_files' - return - ;; - setfattr) - _arguments -s -S \ - '(-n --name)'{-n+,--name=}'[specify extended attribute to set]' \ - '(-v --value)'{-v+,--value=}'[specify value for the attribute]' \ - '(-x --remove)'{-x+,--remove=}'[remove specified extended attribute]' \ - '(-n --name -v --value)--restore[restore extended attributes from dump file]:dump file:_files' \ - '--raw[attribute value is not encoded]' \ - '(-h --no-dereference)'{-h,--no-dereference}"[don't follow symbolic links]" \ - '(* -)--version[display version information]' \ - '(* -)--help[display help information]' \ - '*:file:_files' - return - ;; - # The Python xattr module ships with a utility called xattr which might appear - # on some systems; it is not entirely compatible with the Darwin variant, but - # does seem inspired by it, to the degree that this is probably close enough - xattr) - _arguments -s -S -A '-*' : \ - '(: -)'{-h,--help}'[display help information]' \ - '(-c -d -w)-l[display in long format]' \ - '-r[act recursively]' \ - '-s[act on symbolic links]' \ - '(-w)-v[always display file name]' \ - '(-c -d)-x[use hexadecimal format for value input and output]' \ - '*: :_files' \ - + '(op)' \ - '(-l -x)-c[remove all attributes]' \ - '(-l -x)-d[remove specified attribute]:attribute name' \ - '-p[display value of specified attribute]:attribute name' \ - '(-l -v)-w[set value of specified attribute]:attribute name: :attribute value' - return - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_augeas b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_augeas deleted file mode 100644 index f9c05212..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_augeas +++ /dev/null @@ -1,61 +0,0 @@ -#compdef augtool - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args - -_arguments -C -s \ - '(-c --typecheck)'{-c,--typecheck}'[perform type checking on lenses]' \ - '(-b --backup)'{-b,--backup}'[preserve original files with .augsave extension]' \ - '(-n --new)'{-n,--new}'[leave files untouched but save changes with a .augnew extension]' \ - '(-r --root)'{-r,--root=}'[specify filesystem root]:root directory:_files -/' \ - \*{-I+,--include=}'[add directory containing lenses to search path]:directory:_files -/' \ - \*{-t+,--transform=}'[add a file transform]:xfm' \ - '(-l --load-file)'{-l+,--load-file=}'[load individual file in the tree]:file:_files' \ - '(-f --file *)'{-f+,--file=}'[read commands from specified file]:file:_files' \ - '(-i --interactive)'{-i,--interactive}'[read commands from the terminal]' \ - '(-e --echo)'{-e,--echo}'[echo commands read from a file or stdin]' \ - '(-s --autosave)'{-s,--autosave}'[automatically save at the end of instructions]' \ - '(-S --nostdinc)'{-S,--nostdinc}'[do not search the builtin default directories for modules]' \ - '(-L --noload)'{-L,--noload}'[do not load any files into the tree on startup]' \ - '(-A --noautoload)'{-A,--noautoload}'[do not autoload modules from the search path]' \ - '--span[load span positions for nodes related to a file]' \ - '--timing[after executing each command, show how long it took]' \ - '(- *)--version[print version information]' \ - '(-)'{-h,--help}'[print help information]' \ - '*:: :->subcommands' && ret=0 - -[[ -z $state ]] && return ret - -if [[ CURRENT -eq 1 || $words[1] == help ]]; then - local -a subcmds - subcmds=( ${${${(M)${(f)"$(_call_program subcommands augtool help 2>/dev/null)"}:# *}## #}// #- /:} ) - _describe -t subcommands "augtool command" subcmds && ret=0 - return ret -fi - -_tags paths -while _tags; do - if _requested paths; then - local subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - if compset -P '/files/'; then - _all_labels paths expl path _path_files -W / && ret=0 - elif compset -P '/augeas/'; then - compset -P '*/' - local files - files=( ${${(f)"$(_call_program path augtool ls ${words[CURRENT]%/*} 2>/dev/null)"}% = *} ) - while _next_label paths expl path; do - compadd "$expl[@]" -- ${files:#*/} && ret=0 - compadd "$expl[@]" -S '' -- ${(M)files:#*/} && ret=0 - done - else - local -a suf - suf=(-S '') - compset -S '/*' || suf=( -S / ) - _all_labels paths expl path compadd -P/ "$suf[@]" files augeas && ret=0 - fi - fi - (( ret )) || break -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_auto-apt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_auto-apt deleted file mode 100644 index 2e6dccbc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_auto-apt +++ /dev/null @@ -1,31 +0,0 @@ -#compdef auto-apt - -local expl prev="$words[CURRENT-1]" - -# if there is a command in arguments ? -if [[ -n $words[(r)(run|update|update-local|merge|del|check|list|search|debuilt|status)] ]] ; then - - # yes, add completion for command arguments and command options - if [[ -n $words[(r)(update|update-local|merge)] && "$words[CURRENT]" = -* ]] ; then - _wanted option expl 'option' compadd - "-a" && return; - fi - - if [[ -n $words[(r)(check|list|search)] && "$words[CURRENT]" = -* ]] ; then - _wanted option expl 'option' compadd - "-v" "-f" && return; - fi - - case $prev in - run) _wanted command expl 'command' _files -g '*(/,*)' && return ;; - del) _wanted package expl 'package' _deb_packages avail && return ;; - esac -else - _arguments \ - '-a:distribution:_values -s , distribution main contrib non-free non-US none' \ - '-p:hook:_values -s , hook exec open access stat none' \ - '-D:dbfile:_files' \ - '-F:filedb:_files' \ - -h -s -y -q -i -X -x -L \ - '*:command:(run update update-local merge del check list search debuild status)' && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_autocd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_autocd deleted file mode 100644 index 58ba5b17..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_autocd +++ /dev/null @@ -1,5 +0,0 @@ -#compdef -command- - -_command_names -local ret=$? -[[ -o autocd ]] && _cd || return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_avahi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_avahi deleted file mode 100644 index 562ec364..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_avahi +++ /dev/null @@ -1,52 +0,0 @@ -#compdef avahi-browse avahi-browse-domains avahi-resolve avahi-resolve-address avahi-resolve-host-name - -local curcontext="$curcontext" pri ret=1 -local -A opt_args -local -a state line args serv desc disp - -args=( - '(- 1)'{-h,--help}'[display usage information]' - '(- 1)'{-V,--version}'[display version information]' - '(-v --verbose)'{-v,--verbose}'[enable verbose mode]' -) - -case $service in - *-browse*) - serv=( ${(f)"$(_call_program service-types avahi-browse -bk)"} ) - desc=( ${(f)"$(_call_program service-types-description avahi-browse -b)"} ) - (( $#desc )) && print -v disp -f '%s:%s' ${serv:^desc} - - _arguments -s -S -C $args \ - '(-D --browse-domains -a --all -b --dump-db)'{-D,--browse-domains}'[browse for browsing domains instead of services]' \ - '(-D --browse-domains -a --all -b --dump-db)'{-a,--all}'[show all services, regardless of the type]' \ - '(-d --domain)'{-d+,--domain=}'[specify domain to browse in]:domain' \ - '(-t --terminate)'{-t,--terminate}'[terminate after dumping a more or less complete list]' \ - '(-c --cache)'{-c,--cache}'[terminate after dumping all entries from the cache]' \ - '(-l --ignore-local)'{-l,--ignore-local}'[ignore local services]' \ - '(-r --resolve)'{-r,--resolve}'[resolve services found]' \ - '(-f --no-fail)'{-f,--no-fail}"[don't fail if the daemon is not available]" \ - '(-p --parsable)'{-p,--parsable}'[output in parsable format]' \ - '(-k --no-db-lookup)'{-k,--no-db-lookup}"[don't lookup service types]" \ - '(-D --browse-domains -a --all -b --dump-db)'{-b,--dump-db}'[dump service type database]' \ - '1: :->service-types' && ret=0 - - [[ -n $state ]] && _describe -t services "service type" disp && ret=0 - ;; - *-resolve*) - if (( ${words[(I)(-n|--name)]} )) || [[ $service = *-host-name ]]; then - args=( '*:host:_hosts' ) - pri=1 - fi - if (( ${words[(I)(-a|--address)]} )) || [[ $service = *-address && -n $pri ]]; then - args=( '*: :_guard "^-*" address' ) - fi - - _arguments -s -S $args \ - '(-a --address -n --name -h --help -V --version)'{-a,--address}'[resolve address]' \ - '(-a --address -n --name -h --help -V --version)'{-n,--name}'[resolve host name]' \ - '(-4)-6[lookup IPv6 address]' \ - '(-6)-4[lookup IPv4 address]' && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_awk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_awk deleted file mode 100644 index e8f4a253..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_awk +++ /dev/null @@ -1,120 +0,0 @@ -#compdef awk gawk nawk - -# For gawk ver.3 to 5, in addition to POSIX. -# -# gawk's options '-W ...' (such as '-W help') are not supported. -# gawk3 has some synonyms for long options (e.g., --compat is a synonym -# for --traditional). These are not supported either. -# -# 'gawk -f<TAB>' will complete files in AWKPATH in addition to those in -# the current directory. If this is annoying, you may try -# zstyle ':completion:*:*:gawk:option-f-1:*' tag-order program-files - -local variant curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a args - -_pick_variant -r variant gawk4='GNU Awk [45]' gawk3='GNU Awk 3' posix --version - -args=( - {-F+,--field-separator}'[define input field separator by extended regex]:extended regular expression:' - '*'{-v+,--assign}'[assign values to variables]:assignment:' - '(1)*'{-f+,--file}'[read program file]:program file:->script' - '1: :_guard "^-*" "program text"' - '*:input file:_files' -) - -case $variant in - (gawk*) - args+=( - {-c,--traditional}'[run in compatibility mode]' - '(- : *)'{-C,--copyright}'[print copyright info and exit]' - {-d-,--dump-variables=-}'[print a sorted list of global variables]::output file:_files' - {-e,--source}'[pass program text in arg]:program text:' - '(1)'{-E+,--exec}'[like -f, but safer for CGI]:program file:->script' - '(- : *)'{-h,--help}'[print usage message and exit]' - {-L-,--lint=-}'[warn about dubious or non-portable constructs]::flag:((fatal\:"treat warnings as fatal error" invalid\:"warn only about things that are actually invalid" no-ext\:"disable warnings about gawk extensions"))' - {-n,--non-decimal-data}'[auto-detect octal/hexadecimal values in input]' - {-N,--use-lc-numeric}"[force use of locale's decimal point character]" - {-O,--optimize}'[enable optimization]' - {-p-,--profile=-}'[output profiling data to file]::output file:_files' - {-P,--posix}'[run in strict POSIX mode]' - {-r,--re-interval}'[enable interval expressions in regex matching]' - {-t,--lint-old}'[warn about non-portable constructs]' - '(- : *)'{-V,--version}'[print version info and exit]' - ) - ;| - (gawk4) - args+=( - {-b,--characters-as-bytes}'[treat all input data as single-byte characters]' - {-D-,--debug=-}'[enable debugging]::debugger command file:_files' - {-g,--gen-pot}'[scan awk program and generate .po file on stdout]' - '*'{-i+,--include}'[load source library]:library file:->script' - '*'{-l+,--load}'[load dynamic extension]:extension:->extension' - {-M,--bignum}'[select arbitrary-precision arithmetic on numbers]' - {-o-,--pretty-print=-}'[pretty-print awk program]::output file:_files' - '(-s --no-optimize)'{-s,--no-optimize}'[disable default optimizations upon the internal program representation]' - {-S,--sandbox}'[disable system(), redirections and dynamic extensions]' - ) - ;; - (gawk3) - # one letter options are new in gawk4 - args=( ${args:#(|\*)(|\(*\))-[cCdEhLnNtOpPreV]*} ) - args+=( - '--gen-po[scan awk program and generate .po file on stdout]' - ) - ;; - (*) - # remove long options - args=( ${args:#*--*} ) -esac - -_arguments -S -s -C : $args && ret=0 - -# Complete files in . (current directory) and AWKPATH/AWKLIBPATH. -# Use different tag/description for files in . even if . is in AWKPATH. -_files_in_curdir_or_path() { - local expl pat1 pat2 - if [[ -n $6 ]]; then # $6 = 'so', 'dll' or '' - pat1="-g *.$6" - pat2="-g *.$6" - fi - if [[ $words[CURRENT] == */* || $variant != gawk* || \ - -n $opt_args[(I)(-c|--traditional|-P|--posix)] ]]; then - _wanted $2 expl $3 _files $pat1 && ret=0 - else - local prog='BEGIN {print ENVIRON["'$1'"]}' - local -aU paths - # split AWKPATH into paths, and replace null element by '.'. - paths=( "${(@)${(@s.:.)$(_call_program get-awk-env \ - $words[1] ${(q)prog})}:/#%/.}" ) - if (( $paths[(I).] )); then - # If '.' is in paths, remove it; we will handle it separately - paths=( ${(@)paths:#.} ) - else - # If '.' is not in paths, we should not complete files in '.' - pat1='-g *(-/)' - fi - if (( $#paths )); then - _alternative "${2}:${3}:_files ${(b)pat1}" \ - "${4}:${5}:_files -W paths ${(b)pat2}" && ret=0 - else - _wanted $2 expl $3 _files $pat1 && ret=0 - fi - fi -} - -case $state in - (script) - _files_in_curdir_or_path AWKPATH program-files 'program file' \ - library-files 'library in AWKPATH' - ;; - (extension) - local ext=so - [[ $OSTYPE == cygwin* ]] && ext=dll - _files_in_curdir_or_path AWKLIBPATH extensions 'extension' \ - library-files 'extension in AWKLIBPATH' $ext - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_axi-cache b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_axi-cache deleted file mode 100644 index 5fd4c38f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_axi-cache +++ /dev/null @@ -1,33 +0,0 @@ -#compdef axi-cache - -local expl - -_arguments \ - '--version[version]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-s --sort)'{-s,--sort=}':sort value:('${(j: :)${${(M)${(f)"$(</var/lib/apt-xapian-index/values)"}:#[a-z]*}%% *}}')' \ - '--tags[show tags, not packages]' \ - '*:args:->args' && return 0 - -if (( CURRENT == 2 )); then - _wanted tag expl 'axi-cache command' \ - compadd help search more last show again info \ - rdetails depends madison policy showpkg showsrc -else - case "$words[2]" in - (search|show|again|rdetails|depends|madison|policy|showpkg|showsrc) - _wanted tag expl 'terms/query' \ - compadd -- $($service $words[2] --tabcomplete=plain -- $words[CURRENT]) - ;; - (more|last) - _wanted tag expl 'count' \ - compadd -- 1 2 3 4 5 6 7 8 9 0 - ;; - (help|info) - # no args - ;; - (*) - _files - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_base64 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_base64 deleted file mode 100644 index 47a65034..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_base64 +++ /dev/null @@ -1,59 +0,0 @@ -#compdef base64 gbase64 base32 gbase32 - -# Note: This does NOT cover `uuencode`/`uudecode`, which on some BSD systems -# have the aliases `b64encode`/`b64decode` — those are sufficiently different -# that they belong in another function. It DOES cover GNU's `base32`, since it -# is essentially the same program as their `base64`. - -local variant type=base${service//[^2346]/} - -_pick_variant -r variant \ - gnu='Free Soft' fourmilab=fourmi darwin=-D unix --version - -case $variant in - gnu) - _arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - + dec \ - '(enc -d --decode)'{-d,--decode}"[decode input from $type]" \ - '(enc -i --ignore-garbage)'{-i,--ignore-garbage}'[ignore irrelevant characters when decoding]' \ - + '(enc)' \ - '(dec)'{-w+,--wrap=}'[wrap encoded lines at specified number of columns]:number of columns' \ - + in \ - '1:input file:_files' - return - ;; - darwin) - _arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - + '(dec)' \ - '(enc)'{-D,--decode}"[decode input from $type]" \ - + '(enc)' \ - '(dec)'{-b+,--break=}'[wrap encoded lines at specified number of columns]:number of columns' \ - + '(out)' \ - {-o+,--output=}'[specify output file]:output file:_files' \ - + '(in)' \ - {-i+,--input=}'[specify input file]:input file:_files' \ - '1:input file:_files' - return - ;; - fourmilab) - _arguments -s -S : \ - '(: -)--copyright[display copyright information]' \ - '(: -)'{-u,--help}'[display help information]' \ - '(: -)--version[display version information]' \ - + dec \ - '(enc -d --decode)'{-d,--decode}"[decode input from $type]" \ - '(enc -n --noerrcheck)'{-n,--noerrcheck}'[ignore errors when decoding]' \ - + '(enc)' \ - '(dec)'{-e,--encode}"[encode input to $type]" \ - + io \ - '1:input file:_files' \ - '2:output file:_files' - return - ;; -esac - -# A few other implementations exist, though they are rarely encountered -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basename b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basename deleted file mode 100644 index a826b56b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basename +++ /dev/null @@ -1,27 +0,0 @@ -#compdef basename gbasename - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( -s -S -A "-*" - '(2 -a --multiple)'{-a,--multiple}'[support multiple arguments, handling each]' - '(2 -a --multiple -s --suffix)'{-s+,--suffix=}'[remove a trailing suffix]:suffix' - '(-z --zero)'{-z,--zero}'[separate output with NUL rather than newline]' - '(- *)--version[display version information]' - '(- *)--help[display help information]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args=( -s -S -A "-*" - '(2)-a[support multiple arguments, handling each]' - '(-a 2)-s+[remove a trailing suffix]:suffix' - ) - ;; -esac - -_arguments $args \ - '1:file:_files' \ - '(*)2:suffix' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basenc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basenc deleted file mode 100644 index 515621aa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_basenc +++ /dev/null @@ -1,30 +0,0 @@ -#compdef basenc -# based on GNU coreutils 8.32 - -local specs=( - + '(type)' - "(info)--base64[same as 'base64' program (RFC4648 section 4)]" - "(info)--base64url[file- and url-safe base64 (RFC4648 section 5)]" - "(info)--base32[same as 'base32' program (RFC4648 section 6)]" - "(info)--base32hex[extended hex alphabet base32 (RFC4648 section 7)]" - "(info)--base16[hex encoding (RFC4648 section 8)]" - "(info)--base2msbf[bit string with most significant bit (msb) first]" - "(info)--base2lsbf[bit string with least significant bit (lsb) first]" - "(info)--z85[ascii85-like encoding (ZeroMQ spec-32/Z85)]" - - + enc - '(info dec -w --wrap)'{-w+,--wrap=}"[wrap encoded lines at specified column]:number of characters (0=disable wrapping) [76]: " - - + dec - '(info enc -d --decode)'{-d,--decode}"[decode data]" - '(info enc -i --ignore-garbage)'{-i,--ignore-garbage}"[when decoding, ignore non-alphabet characters]" - - + info - "(: -)--help[display help information and exit]" - "(: -)--version[output version information and exit]" - - + input - '(info)1:input file:_files' -) - -_arguments -s -S : $specs diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash deleted file mode 100644 index 383b369c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash +++ /dev/null @@ -1,86 +0,0 @@ -#compdef bash - -local ret=1 -local -a context line state state_descr args tmp cmd -local -A opt_args val_args - -cmd=( $words[1] --noprofile --norc ) - -args=( - # Long options must appear before short options (take care — some of these are - # duplicated in the s group below!) - + l - '!--debug' - '--debugger[enable extended debugging mode]' - '(-D --dump-po-strings --dump-strings)--dump-po-strings[like -D, but display in gettext PO format]' - '(-D --dump-po-strings --dump-strings)--dump-strings[display strings subject to language translation]' - '(: -)--help[display help information]' - # The usual = is deliberately omitted here - '(--init-file --rcfile)'{--init-file,--rcfile}'[load specified file instead of ~/.bashrc]: :_files' - '(-l --login)--login[act as login shell]' - '--noediting[disable readline editing]' - '--noprofile[do not load /etc/profile, ~/.bash_profile, etc.]' - '--norc[do not load ~/.bashrc]' - '--posix[enable POSIX mode]' - '--pretty-print[format a shell script]' - '(-r --restricted)--restricted[act as restricted shell]' - '(: -)--version[display version information]' - # This is ugly, but this way the + variants have accurate descriptions. Note - # that bash does accept + variants of -i, -l, -s, etc., but they don't seem to - # actually do anything, so we don't bother with them - + s - '(l)'{'-a[','+a[do not '}'mark all functions and variables for export]' - '(l)'{'-B[','+B[do not '}'enable brace expansion]' - '(l)'{'-b[','+b[do not '}'report status of terminated background jobs immediately]' - '(l)'{'-C[','+C[do not '}'prevent output redirection from overwriting existing files]' - '(l 1 -)-c[execute specified command string]:command string:_cmdstring:argv[0]:' - '(l)-D[display strings subject to language translation]' - '(l)'{'-E[','+E[do not '}'make functions and subshells inherit ERR traps]' - '(l)'{'-e[','+e[do not '}'exit immediately on non-zero return]' - '(l)'{'-f[','+f[do not '}'disable file globbing]' - '(l)'{'-H[','+H[do not '}'enable history substitution]' - '(l)'{'-h[','+h[do not '}'hash commands]' - '(l)-i[act as interactive shell]' - '(l)'{'-k[','+k[do not '}'act on variable assignments in command arguments]' - '(l)-l[act as login shell]' - '(l)'{'-m[','+m[do not '}'enable job control]' - '(l)'{'-n[','+n[do not '}'read (syntax-check) commands only]' - '(l)*'{'-O[','+O[un'}'set specified `shopt` option]: :->shopt-options' - '(l)*'{'-o[','+o[un'}'set specified `set` option]: :->set-options' - '(l)'{'-P[','+P[do not '}'resolve cd paths]' - '(l)'{'-p[','+p[do not '}'enable privileged mode]' - '(l)-r[act as restricted shell]' - '(l 1 -c)-s[read commands from standard input]' - '(l)'{'-T[','+T[do not '}'make functions and subshells inherit DEBUG and RETURN traps]' - '(l)'{'-t[','+t[do not '}'exit after executing one command]' - '(l)'{'-u[','+u[do not '}'treat unset variables as an error during parameter expansion]' - '(l)'{'-v[','+v[do not '}'print shell input lines as they are read]' - '(l)'{'-x[','+x[do not '}'print command trace]' - + o - '(-)1:script file:_files' - '(-)*:: :->args' -) - -_arguments -s -S -A '-*' : $args && ret=0 - -case $state in - args) - if [[ -n ${opt_args[(i)s--[cs]]} ]]; then - _files && ret=0 - else - _normal && ret=0 - fi - ;; - set-options) - tmp=( ${(f)"$( _call_program set-options $cmd -c '"shopt -o"' )"} ) - tmp=( ${tmp%%[[:space:]]*} ) - _values -w '`set` option' $tmp && ret=0 - ;; - shopt-options) - tmp=( ${(f)"$( _call_program shopt-options $cmd -c shopt )"} ) - tmp=( ${tmp%%[[:space:]]*} ) - _values -w '`shopt` option' $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash_completions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash_completions deleted file mode 100644 index feb72145..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bash_completions +++ /dev/null @@ -1,46 +0,0 @@ -#compdef -K _bash_complete-word complete-word \e~ _bash_list-choices list-choices ^X~ -# -# This function is for bash compatibility. As some of the bash bindings -# are already taken up in zsh, only Esc ~ and \C-x ~ are bound, and -# you must add the rest by hand. The bindings expected are: -# -# Esc ! -> command name -# Esc $ -> environment variables -# Esc @ -> machine names -# Esc / -> file name -# Esc ~ -> a user name -# -# C-x instead of Esc with one of the above will list matches and won't -# attempt any completion. -# -# The following will bind the remaining set; simply put it in .zshrc -# after compinit is run. -# -# for key in '!' '$' '@' '/'; do -# bindkey "\e$key" _bash_complete-word -# bindkey "^X$key" _bash_list-choices -# done -# -# If for some reason \e~ or ^X~ were already bound to something else, -# that will not have been overridden, so you should add '~' to the -# list of keys at the top of the for-loop. - -eval "$_comp_setup" - -local key=$KEYS[-1] expl - -case $key in - '!') _main_complete _command_names - ;; - '$') _main_complete - parameters _wanted parameters expl 'exported parameter' \ - _parameters -g '*export*' - ;; - '@') _main_complete _hosts - ;; - '/') _main_complete _files - ;; - '~') _main_complete _users - ;; - *) _message "Key $key is not understood" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baudrates b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baudrates deleted file mode 100644 index a9d7fe54..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baudrates +++ /dev/null @@ -1,77 +0,0 @@ -#autoload - -# Offer a list of baud-rates. Usage: -# -# _baudrates [OPTION(s)...] -# -# Available options: -# -# -u LIMIT Upper limit. LIMIT is the maximum value the offered list -# will contain, if the complete list includes LIMIT exactly. -# -# -l LIMIT Lower limit. Like -u but for the lower boundary. -# -# -f FUNCTION If given FUNCTION is used as a predicate to filter the -# value in the complete list to generate an arbitrary -# sub-set. -# -# The default complete list of available baud rates is also configurable via -# the 'baud-rates' style: -# -# zstyle ':completion:*' baud-rates 23 42 666 -# -# It is also possible to override the arguments to -f, -u and -l via styles in -# a similar fashion: -# -# zstyle ':completion:*:*:screen:*:baud-rates' max-value 9600 -# zstyle ':completion:*:*:screen:*:baud-rates' min-value 1200 -# zstyle ':completion:*:*:screen:*:baud-rates' filter some_function_name - -local tmp -local -a expl rates -local -A opts - -zparseopts -E -A opts u: l: f: - -# The following uses a generated list; first find out where the B* macros are -# defined: -# -# grep -r B115200 /usr/include -# -# Then generate the actual list: -# -# sed -ne '/^[ \t]*#define[ \t]*B[0-9][0-9]*/s,^.*B\([0-9][0-9]*\).*,\1,p' \ -# < /usr/include/asm-generic/termbits.h -# -# This one was generated on a Debian Stretch system, leaving out the "0" rate, -# which is synonymous to "hang-up". - -zstyle -a ":completion:${curcontext}:" baud-rates rates || - rates=( 50 75 110 134 150 200 300 600 - 1200 1800 2400 4800 9600 - 19200 38400 57600 - 115200 230400 460800 500000 576000 921600 - 1000000 1152000 1500000 2000000 2500000 3000000 3500000 4000000 ) - -zstyle -s ":completion:${curcontext}:baud-rates" max-value tmp && opts[-u]=$tmp -zstyle -s ":completion:${curcontext}:baud-rates" min-value tmp && opts[-l]=$tmp -zstyle -s ":completion:${curcontext}:baud-rates" filter tmp && opts[-f]=$tmp - -if (( ${+opts[-u]} )) || (( ${+opts[-l]} )); then - local -i min max - min=${opts[-l]:-0} - max=${opts[-u]:-${${(On)rates}[1]}} - rates=( ${(M)rates:#${~:-<$min-$max>}} ) -fi - -if (( ${+opts[-f]} )); then - set -- $rates - rates=( ) - for item; do - ${opts[-f]} $item && rates+=( $item ) - done -fi - -# -1 removes dupes (which there shouldn't be) -_description -1 -o numeric baud-rates expl 'baud rate' -compadd "${argv[@]}" "$expl[@]" -- "${rates[@]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baz b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baz deleted file mode 100644 index 0acdc463..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_baz +++ /dev/null @@ -1,585 +0,0 @@ -#compdef baz - -autoload -z is-at-least -local BAZ=$words[1] -local baz_version -local hide_short - -# ask the user which version of baz this is -if ! zstyle -s ":completion:${curcontext}:" baz-version baz_version; then - # ask baz instead - baz_version="${${$($BAZ --version)#baz Bazaar version }%% \(thelove@canonical.com*}" -fi - -# test whether to hide short options from completion -if zstyle -s ":completion:${curcontext}:" hide-shortopts hide_short; then - case $hide_short in - true|yes|on|1) hide_short='!' ;; - *) hide_short='' ;; - esac -fi - -# completion functions -(( $+functions[_baz_archives] )) || -_baz_archives () { _arch_archives baz "$@" } - -(( $+functions[_baz_categories] )) || -_baz_categories () { _arch_namespace baz 1 "$argv[@]" } - -(( $+functions[_baz_branches] )) || -_baz_branches () { _arch_namespace baz 2 "$argv[@]" } - -(( $+functions[_baz_versions] )) || -_baz_versions () { _arch_namespace baz 3 "$argv[@]" } - -(( $+functions[_baz_revisions] )) || -_baz_revisions () { _arch_namespace baz 4 "$argv[@]" } - -(( $+functions[_baz_local_revisions] )) || -_baz_local_revisions () { - local expl1 expl2 tree_version=`$BAZ tree-version` - _description -V applied-patches expl1 "patch from this version" - _description -V other-patches expl2 "patch from other versions" - compadd "$expl1[@]" `$BAZ logs` - compadd "$expl2[@]" `$BAZ logs --full $($BAZ log-versions | grep -v $tree_version)` - # This is incredibly slow. - # Should complete based on -A, -R, -d -} - -(( $+functions[_baz_config] )) || -_baz_config () { - local configdir root ret=1 n expl - - n=$opt_args[(i)(-d|--dir)] - [[ -n "$n" ]] && configdir=$opt_args[$n] - root="$(_call_program baz $BAZ tree-root ${configdir} 2>&1)" - if (( $? )); then - if [[ -d "configs" ]]; then - root=. - else - _message -e messages "Error: $root" - return $ret - fi - fi - - if [[ -d "$root/configs" ]]; then - configdir=("$root/configs") - _description files expl 'config file' - _files -W configdir "$expl[@]" && ret=0 - else - _message -e messages "No configs/ directory in tree whose root is $root" - fi - return $ret -} - -(( $+functions[_baz_limit] )) || -_baz_limit () { #presently only does push-mirror style limits - [[ $words[$CURRENT] == *@* ]] && return 1 - - local expl archive - archive=${words[(r)*@*]:-$($BAZ my-default-archive 2> /dev/null)} - if [ $archive ]; then - - if [[ $PREFIX != *--* ]]; then - _description -V categories expl "categories in $archive" - compadd -q -S -- "$expl[@]" `$BAZ category $archive` - else - _baz_namespace_branches 3 - fi - fi -} - -(( $+functions[_baz_tree_or_rev] )) || -_baz_tree_or_rev () { - _alternative 'trees:tree:_files -/' 'revisions:revision:_baz_revisions' -} - -(( $+functions[_baz_libraries] )) || -_baz_libraries () { - local libraries expl - libraries=($(_call_program baz $BAZ my-revision-library)) - _description -V libraries expl "revision library" - compadd "$expl[@]" -a libraries -} - -(( $+functions[_baz_my_revision_library] )) || -_baz_my_revision_library () { - if [[ -n $words[(r)-d] ]] || [[ -n $words[(r)--delete] ]]; then - _baz_libraries - else - _files -/ - fi -} - -(( $+functions[_baz_log_versions] )) || -_baz_log_versions () { - local logs expl - logs=($(_call_program baz $BAZ log-versions)) - _description -V versions expl "log version" - compadd "$expl[@]" -a logs -} - -# command argument definitions -# commands with different versions - -local cmd_register_archive cmd_archives cmd_ls_archives cmd_redo -local cmd_redo_changes cmd_what_changed cmd_categories -local cmd_branches cmd_versions cmd_cacherev cmd_logs cmd_log_versions -local cmd_log_ls cmd_update cmd_join_branch cmd_replay cmd_deltapatch -local cmd_delta_patch cmd_apply_delta cmd_sync_tree cmd_make_sync_tree -local cmd_delta cmd_revdelta cmd_library_categories cmd_library_branches -local cmd_library_versions cmd_library_revisions -local cmd_status cmd_diff - -cmd_log_ls=('*:version:_baz_log_versions') -cmd_log_versions=() -# the options should only complete items that are in the tree - -cmd_register_archive=('::archive:_baz_archives' ':location:_files -/') -cmd_archives=('::regex:') -cmd_redo=('::changeset:_files -/') -cmd_status=('::dir:_files -/') -cmd_diff=('::revision:_baz_revisions' - # ':separator:(--)' '*::limit:_files' - #don't understand the limit usage -) -cmd_categories=('::archive:_baz_archives') -cmd_branches=('::category:_baz_categories') -cmd_versions=('::branch:_baz_branches') -cmd_cacherev=('::revision:_baz_revisions') -#should only complete non-cached revisions - -cmd_logs=($cmd_log_ls) -cmd_update=('::revision:_baz_revisions') -cmd_join_branch=(':revision:_baz_revisions') -#should only complete continuation revisions - -cmd_replay=('*::revision:_baz_revisions') -cmd_deltapatch=(':FROM:_baz_tree_or_rev' ':TO:_baz_tree_or_rev') -cmd_sync_tree=(':revision:_baz_revisions') -cmd_delta=(':FROM:_baz_tree_or_rev' ':TO:_baz_tree_or_rev' '::DEST:_files -/') -cmd_library_categories=('::archive:_baz_archives --library') -cmd_library_branches=('::category:_baz_categories --library') -cmd_library_versions=('::branch:_baz_branches --library') -cmd_library_revisions=('::version:_baz_versions --library') - -cmd_ls_archives=($cmd_archives) -cmd_redo_changes=($cmd_redo) -cmd_what_changed=($cmd_changes) -cmd_delta_patch=($cmd_deltapatch) -cmd_apply_delta=($cmd_deltapatch) -cmd_make_sync_tree=($cmd_sync_tree) -cmd_revdelta=($cmd_delta) - -# commands the same in all versions - -local cmd_help -cmd_help=() - -local cmd_my_id -cmd_my_id=('::id-string:') - -local cmd_my_default_archive -cmd_my_default_archive=('::archive:_baz_archives') - -local cmd_whereis_archive -cmd_whereis_archive=(':archive:_baz_archives') - -local cmd_init_tree -cmd_init_tree=('::version:_baz_versions') - -local cmd_tree_id -cmd_tree_id=('::directory:_files -/') - -local cmd_tree_root -cmd_tree_root=('::directory:_files -/') - -local cmd_tree_version -cmd_tree_version=(':version:_baz_versions') - -local cmd_build_config cmd_buildcfg -cmd_build_config=(':config:_baz_config') -cmd_buildcfg=($cmd_build_config) - -local cmd_cat_config cmd_catcfg cmd_cfgcat -cmd_cat_config=(':config:_baz_config') -cmd_catcfg=($cmd_cat_config) -cmd_cfgcat=($cmd_cat_config) - -local cmd_undo cmd_undo_changes -cmd_undo=('::revision:_baz_revisions') -cmd_undo_changes=($cmd_undo) - -local cmd_file_diffs -cmd_file_diffs=(':file:_files' '::revision:_baz_revisions') - -local cmd_file_find -cmd_file_find=(':file:_files' '::revision:_baz_revisions') - -local cmd_inventory cmd_srcfind -cmd_inventory=('::separator:(--)' '*:directory:_files -/') -cmd_srcfind=($cmd_inventory) - -local cmd_lint -cmd_lint=('::directory:_files -/') - -local cmd_id cmd_invtag -cmd_id=('*:file:_files') -cmd_invtag=($cmd_id) - -local cmd_id_tagging_method cmd_tagging_method methods -cmd_id_tagging_method=('::tagging method:(($methods))') -methods=( - 'names:use naming conventions only' - 'implicit:use naming conventions but permit for inventory tags' - 'tagline:use naming conventions but permit for inventory tags' - 'explicit:require explicit designation of source' -) -cmd_tagging_method=($cmd_id_tagging_method) - -local cmd_add cmd_add_id cmd_add_tag -cmd_add=('*:file to add:_files') -cmd_add_id=($cmd_add) -cmd_add_tag=($cmd_add) - -local cmd_delete cmd_delete_id cmd_delete_tag -cmd_delete=('*:file to delete:_files') -cmd_delete_id=($cmd_delete) -cmd_delete_tag=($cmd_delete) - -local cmd_move cmd_move_id cmd_move_tag -cmd_move_id=(':old name:_files' ':new name:_files') -cmd_move_id=($cmd_move) -cmd_move_tag=($cmd_move) -#would be nice not to offer dirs for newname if oldname is a file, and -#vice versa - -local cmd_mv -cmd_mv=('*:file:_files') -# not really right, but close enough - -local cmd_default_id cmd_explicit_default cmd_default_tag -cmd_default_id=('::TAG-PREFIX:') -cmd_explicit_default=($cmd_default_id) -cmd_default_tag=($cmd_default_id) - -local cmd_tagging_defaults cmd_id_tagging_defaults -cmd_tagging_defaults=() -cmd_id_tagging_defaults=($cmd_tagging_defaults) - -local cmd_changeset cmd_mkpatch -cmd_changeset=( - ':ORIG:_files -/' - ':MOD:_files -/' - ':DEST:_files -/' - '*:file:_files' -) -cmd_mkpatch=("$cmd_changeset[@]") - -local cmd_dopatch cmd_do_changeset cmd_apply_changeset -cmd_dopatch=(':changeset:_files -/' ':target:_files -/') -cmd_do_changeset=($cmd_dopatch) -cmd_apply_changeset=($cmd_dopatch) - -local cmd_show_changeset -cmd_show_changeset=('::changeset:_files -/') - -local cmd_make_archive -cmd_make_archive=('::name:' ':location:_files -/') - -local cmd_archive_setup -cmd_archive_setup=('*:version:_baz_branches --trailing-dashes') - -local cmd_make_category -cmd_make_category=(':category:_baz_archives -S /') - -local cmd_make_branch -cmd_make_branch=(':branch:_baz_categories --trailing-dashes') - -local cmd_make_version -cmd_make_version=(':version:_baz_branches --trailing-dashes') - -local cmd_import cmd_imprev -cmd_import=('::version:_baz_versions') -cmd_imprev=($cmd_import) - -local cmd_commit cmd_cmtrev -cmd_commit=('*:file:_files') -cmd_cmtrev=($cmd_commit) - -local cmd_get cmd_getrev -cmd_get=(':revision:_baz_revisions' '::directory:_files -/') -cmd_getrev=($cmd_get) - -local cmd_get_patch cmd_get_changeset -cmd_get_patch=(':revision:_baz_revisions' '::dir:_files -/') -cmd_get_changeset=($cmd_get_patch) - -local cmd_lock_revision -cmd_lock_revision=(':revision:_baz_revisions') - -local cmd_push_mirror cmd_archive_mirror -cmd_push_mirror=( - '::FROM or MINE:_baz_archives' - '::TO:_baz_archives' - '::LIMIT:_baz_limit' -) -cmd_archive_mirror=($cmd_push_mirror) - -local cmd_revisions -cmd_revisions=('::version:_baz_versions') - -local cmd_ancestry -cmd_ancestry=('::revision:_baz_revisions') - -local cmd_ancestry_graph -cmd_ancestry_graph=('::revision:_baz_revisions') - -local cmd_cat_archive_log -cmd_cat_archive_log=(':revision:_baz_revisions') - -local cmd_cachedrevs -cmd_cachedrevs=(':version:_baz_versions') - -local cmd_uncacherev -cmd_uncacherev=(':revision:_baz_revisions' '::dir:_files -/') - -local cmd_archive_meta_info -cmd_archive_meta_info=(':item-name:((name\:foo mirror\:bar))') - -local cmd_archive_snapshot -cmd_archive_snapshot=(':dir:_files -/' '::limit:_baz_revisions') - -local cmd_archive_version -cmd_archive_version=() - -local cmd_archive_fixup -cmd_archive_fixup=() - -local cmd_make_log -cmd_make_log=('::version:_baz_versions') - -local cmd_add_log cmd_add_log_version -cmd_add_log=(':version:_baz_versions') -cmd_add_log_version=($cmd_add_log) - -local cmd_remove_log cmd_remove_log_version -cmd_remove_log=(':version:_baz_log_versions') -cmd_remove_log_version=($cmd_remove_log) - -local cmd_abrowse -cmd_abrowse=('::LIMIT:_baz_revisions') - -local cmd_cat_log -cmd_cat_log=(':revision-spec:_baz_local_revisions') - -local cmd_changelog -cmd_changelog=('::version:_baz_versions') - -local cmd_log_for_merge -cmd_log_for_merge=('::version:_baz_versions') - -local cmd_merges -cmd_merges=(':INTO:_baz_revisions' '::FROM:_baz_revisions') - -local cmd_new_merges -cmd_new_merges=('::version:_baz_versions') - -local cmd_branch -cmd_branch=(':SOURCE-REVISION:_baz_revisions' ':TAG-VERSION:_baz_versions') - -local cmd_merge -cmd_merge=(':FROM:_baz_revisions') - -local cmd_missing cmd_whats_missing -cmd_missing=('::revision:_baz_revisions') -cmd_whats_missing=($cmd_missing) - -local cmd_pristines cmd_ls_pristines -cmd_pristines=('::limit:_baz_revisions') -cmd_ls_pristines=($cmd_pristines) - -local cmd_lock_pristine -cmd_lock_pristine=(':revision:_baz_revisions') - -local cmd_add_pristine -cmd_add_pristine=(':revision:_baz_revisions') - -local cmd_find_pristine -cmd_find_pristine=(':revision:_baz_revisions') - -local cmd_my_revision_library -cmd_my_revision_library=(':library:_baz_my_revision_library') - -local cmd_library_find -cmd_library_find=(':revision:_baz_revisions --library') - -local cmd_library_add -cmd_library_add=(':revision:_baz_revisions --exclude-library-revisions') - -local cmd_library_remove -cmd_library_remove=(':revision:_baz_revisions --library') - -local cmd_library_archives -cmd_library_archives=() - -local cmd_library_log -cmd_library_log=(':revision:_baz_revisions --library') - -local cmd_library_file -cmd_library_file=(':file:_files' ':revision:_baz_revisions --library') - -local cmd_grab -cmd_grab=(':location:_files') - -local cmd_parse_package_name -cmd_parse_package_name=(':name:') - -local cmd_valid_package_name -cmd_valid_package_name=(':name:') - -local cmd_library_config -cmd_library_config=(':library:_baz_libraries') - -local cmd_rbrowse -cmd_rbrowse=('::regular expression:') - -local cmd_rm -cmd_rm=('*:file:_files') - -local cmd_escape -cmd_escape=(':string:') - -local cmd_switch -cmd_switch=(':revision:_baz_revisions') - -#mutually exclusive options - -local -A excludes -excludes=( -# This first line means that if --output was given, don't complete -# --no-output or --keep. The converse is not true. ---output '--no-output --keep' ---no-output --output - ---silent ' --quiet --report --verbose --debug' ---quiet '--silent --report --verbose --debug' ---report '--silent --quiet --verbose --debug' ---verbose '--silent --quiet --report --debug' ---debug '--silent --quiet --report --verbose ' - ---sparse --non-sparse ---non-sparse --sparse - ---files ' --directories --both' ---directories '--files --both' ---both '--files --directories ' - ---mirror --mirror-from ---mirror-from --mirror - ---no-cached --cached-tags ---cached-tags --no-cached - ---non-greedy --greedy ---greedy --non-greedy -) - -_baz_main () { - typeset -A opt_args - local arguments - if (( CURRENT > 2 )); then - local cmd=${words[2]} - local var_cmd=cmd_${cmd//-/_} - curcontext="${curcontext%:*:*}:baz-$cmd:" - (( CURRENT-- )) - shift words - - arguments=() - local input - input=(${${(M)${(f)"$($BAZ $cmd -h)"}:# *}# }) - - local i j=1 - local short long arg desc action - short=() - long=() - arg=() - desc=() - action=() - for (( i=1 ; i <= ${#input} ; i++ )); do - [[ "$input[i]" != *[^\ ]* ]] && continue # stupid blank lines - short[j]="${${${input[i]}[1,2]}#--}" - long[j]="${${input[i]#-?, }%% *}" - - arg[j]="${${${input[i]%% *}##* }##-*}" - [[ $long[j] == --archive ]] && arg[j]=ARCHIVE # baz doesn't mention this - - desc[j]="${input[i]##* }" - if [[ "$input[i+1]" == \ *[^\ ]* ]]; then # description continues - (( i++ )) - desc[j]="$desc[j] ${input[i]##* }" - fi - [[ "$short[j]" == -[hHV] ]] && continue - desc[j]="${${desc[j]//\[/\\[}//\]/\\]}" # escape brackets - - case $arg[j] in - DIR|PATCH-DIR|DEST|OUTPUT|PATH) - action[j]='_files -/' ;; - FILES|FILE|SNAP-FILE) - action[j]='_files' ;; - MASTER|MASTER-SOURCE|ARCHIVE) - action[j]='_baz_archives' ;; - CATEGORY) - action[j]='_baz_categories' ;; - BRANCH) - action[j]='_baz_branches' ;; - VERSION) - action[j]='_baz_versions' ;; - CFG) - action[j]='_baz_configs' ;; - LIB) - action[j]='_baz_libraries' ;; -# PATCH,FILE) # not sure how to complete this -# action[j]='_baz_patch_file' ;; - *) - action[j]='' ;; - esac - - (( j++ )) - - done - - local excluded k - for (( i = 1 ; i < j ; i++ )); do - excluded=($short[i] $long[i]) - foreach opt (${=excludes[$long[i]]}) - k=$long[(i)$opt] - excluded=($excluded $short[k] $long[k]) - #excludes matching short options too :-) - end - - - # generate arguments to _arguments ;-) - # make long and short options mutually exclusive - [ $short[i] ] && arguments=("$arguments[@]" - "${hide_short}(${excluded})${short[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - [ $long[i] ] && arguments=("$arguments[@]" - "(${excluded})${long[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - done - - arguments=("$arguments[@]" "${(@P)var_cmd-*:FILE:_files}") - else - local help - local -U cmds - help=(${(f)"$($BAZ help)"}) - cmds=(${${${${(M)help:#* :*}/ #: #/:}%% ##}## #}) - arguments=(':command:(($cmds))') - fi - _arguments -S -A '-*' \ - {"${hide_short}(: -)-V",'(: -)--version'}'[display version]' \ - {"${hide_short}(: -)-h",'(: -)--help'}'[display help]' \ - '(: -)-H[display verbose help]' \ - "$arguments[@]" -} - -_baz_main "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_be_name b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_be_name deleted file mode 100644 index 4b80c65f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_be_name +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -local -a type be_names expl - -zparseopts -D -E -a type t+: - -be_names=( ${${(f)"$(_call_program boot-environs beadm list -H)"}%%;*} ) - -[[ -n $type[(r)all] ]] && - be_names+=( ${${${(f)"$(_call_program boot-environs beadm list -sH)"}#*;}%%;*} ) - -_description boot-environs expl 'boot environment' -compadd "$@" "$expl[@]" -a be_names diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beadm deleted file mode 100644 index cdb324e8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beadm +++ /dev/null @@ -1,78 +0,0 @@ -#compdef beadm - -local cmd expl args cmds - -if (( CURRENT == 2 )); then - [[ $OSTYPE = solaris* ]] && cmds=( set-policy ) - _wanted subcommands expl 'subcommand' compadd $cmds \ - activate create destroy list mount rename unmount - return -fi - -cmd="$words[2]" -curcontext="${curcontext%:*}-$cmd:" -shift words -(( CURRENT-- )) - -case $cmd in - activate) - _wanted boot-environs expl 'boot environment' _be_name - ;; - create) - [[ $OSTYPE = solaris* ]] && args=( - '-a[activate new BE]' - '-d[description]:description' - '*-o[property]:zfs property' - '-p[create new BE in specified zfs pool]:zfs pool:_zfs_pool' - ) - _arguments -A "-*" -s $args \ - '-e[base BE]:BE name or snapshot:_be_name -t all' \ - ':new BE name:' - ;; - destroy) - [[ $OSTYPE = solaris* ]] && args=( - '-f[unmount BE if necessary]' - '(:)-O[destroy all orphaned boot environments]' - ) - _arguments -A "-*" $args \ - "-F[don't prompt for verification]" \ - ':BE or BE snapshot:_be_name' - ;; - list) - if [[ $OSTYPE = solaris* ]]; then - args=( '-d[list subordinate filesystems]' ) - elif [[ $OSTYPE = freebsd* ]]; then - args=( '-D[display space usage of boot environment]' ) - fi - _arguments -A "-*" -s $args \ - '-a[list subordinate filesystems and snapshots]' \ - '-s[list snapshots]' \ - '-H[parseable format]' \ - ':boot environment:_be_name' - ;; - mount) - [[ $OSTYPE = solaris* ]] && - args=( '-b[mount associated boot pool dataset]' ) - _arguments -A "-*" $args \ - ':BE name:_be_name' \ - ':mountpoint:_path_files -/' - ;; - rename) - _arguments -A "-*" \ - ':existing boot environment name:_be_name' \ - ':new boot environment:' - ;; - set-policy) - _arguments -A "-*" \ - '*-n[specify policy]:policy:(static -static noevict -noevict)' \ - '*:BE name:_be_name' - ;; - u(n|)mount) - _arguments -A "-*" \ - '-f[force unmount]' \ - ':boot environment:_be_name' - ;; - *) - _message "unknown beadm subcommand: $service" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beep b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beep deleted file mode 100644 index d393bc91..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_beep +++ /dev/null @@ -1,50 +0,0 @@ -#compdef beep - -# beep [--verbose | --debug] [-e device | --device device] [-f N] [-l N] -# [-r N] [-d N] [-D N] [-s] [-c] -# beep [ OPTIONS ] [-n] [--new] [ OPTIONS ] -# beep [-h] [--help] -# beep [-v] [-V] [--version] - -# We support the -n/--new restart flag, when it is in its own word, by -# stripping all words from the command line that are after the first -n -# following words[CURRENT] or before the first -n preceding it. As far as -# _arguments knows, the -n flag does not exist, and argv should specify -# a single beeping specification. - -## Strip $words[2] through the first -n preceding $words[CURRENT]. -integer specstart -while specstart=$words[(i)(-n|--new)] - (( specstart < CURRENT )) -do - words[2,specstart]=() - (( CURRENT -= specstart - 1)) -done -unset specstart - -## Strip everything in $words after the first -n following $words[CURRENT]. -integer specend -while specend=$words[(I)(-n|--new)] - (( specend > CURRENT )) -do - words[specend,$#words]=() -done -unset specend - -local -a args -args=( - "(--verbose --debug)"{--verbose,--debug}"[enable debug output]" - "(-e --device)"{-e+,--device=}"[specify device to use]:device (default /dev/tty0, /dev/vc/0)" - "-f+:frequency (Hz) as integer or float" - "-l+:duration (ms)" - "-r+:number of repetitions" - "(-D)-d+[delay between beeps]:delay (ms)" - "(-d)-D+[delay after each beep]:delay (ms)" - "(-n --new)"{-n,--new}"[start a new beeping specification]" - "-s[cat, and beep after each line]" - "-c[cat, and beep after each character]" - "(-)"{-h,--help}"[display usage info]" - "(-)"{-v,-V,--version}"[display version info]" -) - -_arguments -s -S -w : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bibtex b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bibtex deleted file mode 100644 index 8db38a24..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bibtex +++ /dev/null @@ -1,5 +0,0 @@ -#compdef bibtex - -# bibtex only works when the *.aux file exists, but complete the *.tex file in -# case it hasn't been compiled yet. -_files -g '*.(aux|tex)(:r)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bind_addresses b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bind_addresses deleted file mode 100644 index d1272780..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bind_addresses +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -# Complete locally bound IP addresses -# -# Options: -# -0 Return also `0.0.0.0` and `::` -# -4 Return only IPv4 addresses -# -6 Return only IPv6 addresses -# -b Return IPv6 addresses in brackets (for use with port numbers) -# -h Return also `localhost` -# -L Exclude loop-back addresses (`127.0.0.0/8` and `::1`) -# -K Exclude link-local addresses (`169.254.0.0/16` and `fe80::/10`) - -local MATCH MBEGIN MEND -local -a expl tmp cmd=( ifconfig -a ) -local -A opts - -zparseopts -A opts -D -E -- 0 4 6 b h L K - -# A lot of Linux systems have ifconfig, but this is probably safer (and it's -# parsed the same way) -[[ $OSTYPE == linux* ]] && (( $+commands[ip] )) && cmd=( ip addr show ) - -tmp=( ${(f)"$( _call_program bind-addresses $cmd )"} ) -tmp=( ${(@M)tmp##(|[[:space:]]##)inet(|6)(|:)[[:space:]]*} ) -tmp=( ${(@)tmp#*inet(|6)(|:)[[:space:]]##} ) -tmp=( ${(@)tmp%%[^0-9A-Fa-f:.]*} ) - -# The order of operations here is significant -(( $+opts[-0] )) && tmp+=( 0.0.0.0 :: ) - -if (( $+opts[-6] )); then - tmp=( ${(@M)tmp:#*:*} ) -elif (( $+opts[-4] )); then - tmp=( ${(@)tmp:#*:*} ) -fi - -(( $+opts[-L] )) && { - tmp=( ${(@)tmp:#127.*} ) - tmp=( ${(@)tmp:#[0:]##:1} ) -} -(( $+opts[-K] )) && { - tmp=( ${(@)tmp:#169.254.*} ) - tmp=( ${(@)tmp:#(#i)fe[89ab]?:*} ) -} - -(( $+opts[-b] )) && tmp=( ${(@)tmp/(#m)*:*/\[$MATCH\]} ) -(( $+opts[-h] )) && tmp+=( localhost ) - -_wanted bind-addresses expl 'bind address' compadd -a "$@" - tmp diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bindkey b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bindkey deleted file mode 100644 index df9c8f22..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bindkey +++ /dev/null @@ -1,38 +0,0 @@ -#compdef bindkey - -# Normally, this completes names of zle widgets, whether the builtin ones -# or ones defined by the user. Note that a - allows a wildcard before it, -# so h-b-s-b will complete to history-beginning-search-backward. You -# can alter this by removing the -M ... from the second compadd. -# -# Where appropriate, will complete keymaps instead of widgets. - -local state expl line curcontext="$curcontext" ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(-v -a -M -l -D -A -N -p)-e[select emacs keymap and bind it to main]' \ - '(-e -a -M -l -D -A -N -p)-v[select viins keymap and bind it to main]' \ - '(-e -v -M -l -D -A -N -p)-a[select vicmd keymap]' \ - '(-e -v -a -l -D -A -N)-M[specify keymap to select]:keymap:->keymap' \ - '(-e -v -a -M -D -A -N -m -p -r -s -R *)-l[list existing keymap names]' \ - '(-e -v -a -d -A -N -m -r -s -R *)-L[output in form of bindkey commands]' \ - '(-e -v -a -l -D -A -N -m -p -r -s -R *)-d[delete existing keymaps and reset to default state]' \ - '(-e -v -a -M -l -d -A -N -m -p -r -s -R *)-D[delete named keymaps]:*:keymap:->keymap' \ - '(-e -v -a -M -l -L -d -D -N -m -p -r -s -R *)-A[create alias to keymap]:old-keymap:->keymap:new-keymap:->keymap' \ - '(-e -v -a -M -l -L -d -D -A -m -p -r -s -R *)-N[create new keymap]:new-keymap:->keymap:old-keymap to copy:->keymap' \ - '(-l -L -d -D -A -N -p -r -s -r -R *)-m[add builtin meta-key bindings to selected keymap]' \ - '(-e -v -a -d -D -A -N -m -s -R *)-p[list bindings which have given key sequence as a prefix]:key sequence' \ - '(-l -L -d -D -A -N -m -s *)-r[unbind specified in-strings]:*:in-string' \ - '(-l -L -d -D -A -N -m -p -r *)-s[bind each in-string to each out-string]:*:key string' \ - '(-e -v -a -M -l -L -d -D -A -N -m -p)-R[interpret in-strings as ranges]' \ - '(-l -L -d -A -N -m -p -r -s):in-string' \ - '(-l -L -d -A -N -m -p -r -s)*::widget:_widgets' && ret=0 - -case $state in - keymap) - _wanted keymaps expl keymap compadd -a keymaps && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bison b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bison deleted file mode 100644 index 67ad7f0e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bison +++ /dev/null @@ -1,21 +0,0 @@ -#compdef bison - -_arguments -s -S \ - '(--file-prefix)-b+[specify output file prefix]:output file prefix' \ - '(--defines)-d[write token definition file]' \ - '(--raw)-r[output bison token numbers]' \ - '(--token-table)-k[output token table]' \ - '(--no-lines)-l[don'"'"'t generate #line directives]' \ - '(--no-parser)-n[don'"'"'t generate parse (only declarations)]' \ - '(--output-file)-o+[specify parser output file name]:parser file name:_files' \ - '(--name-prefix)-p+[change yy prefix]:prefix string' \ - '(--debug)-t[output YYDEBUG definition]' \ - '(--verbose)-v[verbose mode]' \ - '(--version)-V[show version]' \ - '(--help)-h[show help]' \ - '(--yacc --fixed-output-file)-y[imitate yacc'"'"'s output file convention]' \ - ':input file:_files -g \*.\(\#i\)\(bison\|yacc\|y\)\(-.\)' \ - -- \ - '*=outfile:parser file name:_files' \ - '*file-prefix=prefix:output file prefix' \ - '*name-prefix=prefix:prefix string' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bittorrent b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bittorrent deleted file mode 100644 index 1fbab35e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bittorrent +++ /dev/null @@ -1,100 +0,0 @@ -#compdef btdownloadcurses btdownloadheadless btdownloadgui btlaunchmany btlaunchmanycurses bttrack btshowmetainfo btreannounce btmakemetafile btrename - -# Bittorrent completion commands. Originally written by Jussi -# Pakkanen, 2004. Most of the command descriptions are from the Debian -# project's man pages. - -# Modified by R.Ramkumar, 2006 to conform to zsh completion standards and -# enhance completion for certain options. - -case $service in - -# Start with the clients. - - btdownloadcurses) - ;& - btdownloadheadless) - ;& - btdownloadgui) - ;& - btlaunchmany) - ;& - btlaunchmanycurses) - _arguments -s -S \ - '(--responsefile)--responsefile+[specify file for server response]:file:_files'\ - "--url+[specify URL of torrent file]:URL:_urls"\ - '(-i --ip)'{-i+,--ip+}'[specify ip address to report as]:ip address'\ - "--bind+[specify ip to bind to instead of default]:ip:_bind_addresses"\ - "--minport+[specify minimum port to listen to]:port:"\ - "--maxport+[specify maximum port to listen to]:port:"\ - "--saveas+[specify file to save to]:file:_files -/"\ - "--max_uploads+[specify maximum amount of uploads]:uploads:"\ - "--max_upload_rate+[specify maximum upload rate]:rate (kb):"\ - "--keepalive_interval+[specify pause between keepalives]:time (s):"\ - "--download_slice_size+[specify bytes to query per request]:size (b):"\ - "--request_backlog+[specify number of requests to keep in a single pipe]:requests:"\ - "--max_message_length+[specify maximum length of prefix encoding]:size (b):"\ - "--timeout+[specify timeout before closing sockets on receiving nothing]:timeout (s):"\ - "--timeout_check_interval+[specify interval to check for connection time]:time interval (s):"\ - "--max_slice_length+[specify maximum size of requests accepted from peers]:size (b):"\ - "--max_rate_recalculate_interval+[specify length of pauses leading to reduced rate]:time (s):"\ - "--max_rate_period+[specify maximum time taken to guess the current rate estimate]:time (s):"\ - "--upload_rate_fudge+[specify time equivalent of writing to kernel TCP buffer]:time (s):"\ - "--display_interval+[specify time between updates to displayed information]:time (s):"\ - "--rerequest_interval+[specify time between requests for more peers]:time (s)"\ - "--min_peers+[specify peers needed before stopping or delaying requests for peers]:peers:"\ - "--http_timeout+[specify timeout for http connections]:timeout (s):"\ - "--snub_time+[specify timeout to decide that connection is semi-permanently choked]:timeout (s):"\ - "--spew+[display diagnostic info to stdout]:enable:(0 1)"\ - "--check_hashes+[check hashes on disk]:enable:(0 1)"\ - "--max_initiate+[specify peers needed before stopping initiating new connections]:peers:"\ - "--report_hash_failures+[report hash failures to user]:enable:(0 1)"\ - "--rarest_first_priority_cutoff+[specify peers which need to have a piece before other partials take priority over rarest first]:peers:"\ - ':torrent file:_files -g "*.torrent(-.)"' - return - ;; - -# Next up are the torrent file manipulation programs. - - btshowmetainfo) - _files -g "*.torrent(-.)" && return - ;; - - btrename) - _files -g '*.torrent(-.)' && return - ;; - - btmakemetafile) - _arguments -s -S \ - '--piece_size_pow2+[specify power of 2 to set the piece size to]:power:' \ - "--comment+[specify human-readable comment to put in .torrent]:comment:"\ - "--target+[specify target file for the torrent]:file:_files"\ - ':file:_files' - return - ;; - - btreannounce) - _files -g '*.torrent(-.)' && return - ;; - -# Lastly the tracker. - - bttrack) - _arguments -s -S \ - "--port+[specify port to listen on]:port number:" \ - "--dfile+[specify file to store recent downloader info]:file:_files" \ - "--bind+[specify ip to bind to]:bind address:_bind_addresses" \ - "--socket_timeout+[specify timeout for closing connections]:timeout (s):"\ - "--save_dfile_interval+[specify interval between saving dfile]:time (s):"\ - "--timeout_downloaders_interval+[timeout for expiring downloaders]:time (s):" \ - "--reannounce_interval+[specify interval downloaders should wait between reannouncements]:time (s):" \ - "--response_size+[specify peers to send in an info message]:peers:" \ - "--timeout_check_interval+[specify connection timeout]:timeout (s):"\ - "--nat_check=[check back and ban downloaders behind NAT]:enable:(0 1)" \ - "--min_time_between_log_flushes+[specify minimum time between log flushes]:time (s):" \ - "--allowed_dir+[specify directory having downloadable torrents]:directory:_files -/" \ - "--parse_allowed_interval+[specify interval between reloading allowed_dir]:time (min):" \ - "--show_names+[display names from allowed dir]:enable:(0 1)" - return - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bogofilter b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bogofilter deleted file mode 100644 index ff36e83a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bogofilter +++ /dev/null @@ -1,127 +0,0 @@ -#compdef bogoutil bogotune bogofilter - -_bogoutil_caching_policy () { - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -_bogoutil() { - - local bogotokens expl ret=1 - typeset -a _bogoutil_actions - _bogoutil_actions=(-h --help -V --version -d --dump -l --load -u - --upgrade -m -w -p -H --db-verify -r -R --db-prune --db-recover - --db-recover-harder --db-remove-environment -k --db-cachesize) - - _arguments -s \ - '*'{-v,--verbosity}'[verbose]' \ - '-n[replace non-ASCII characters]' \ - {-D,--debug-to-stdout}'[redirect debug output to stdout]' \ - '-a[acceptable token age]:date or day count' \ - '-c[acceptable count]:count threshold' \ - '-s[acceptable size range]:min-max range' \ - {-y,--timestamp-date=}'[date for when unknown]:date in YYYYMMDD format' \ - '(--input-file -I)'{-I,--input-file=}'[input file]:input file:_files' \ - {-x,--debug-flags=}'[debug flags]:debug flags:' \ - "($_bogoutil_actions)"{-d,--dump=}'[print contents of db]:database file:_files -g "*.db(-.)"' \ - "($_bogoutil_actions)"{-l,--load=}'[load file into db]:textfile:_files' \ - "($_bogoutil_actions)"{-u,--upgrade=}'[upgrade wordlist version]:database file:_files -g "*.db(-.)"' \ - "($_bogoutil_actions)"'-m[perform maintenance functions]:file:_files' \ - "($_bogoutil_actions)"'-w[display token information]:database file or directory:_files' \ - "($_bogoutil_actions)"'-p[display token probability information]:database file or directory:_files' \ - "($_bogoutil_actions)"'-H[print histogram]:database file or directory:_files' \ - "($_bogoutil_actions)"'-r[recalculate ROBX]:database:_files -/' \ - "($_bogoutil_actions)"'-R[recalculate and save ROBX]:database:_files -/' \ - "($_bogoutil_actions)"{-k,--db-cachesize=}'[set Berkeley DB cache size]:size in MB' \ - "($_bogoutil_actions)"'--db-verify[verify database]:database:_files -/' \ - "($_bogoutil_actions)"'--db-recover[run regular recovery]:database:_files -/' \ - "($_bogoutil_actions)"'--db-recover-harder[run catastrophic recovery]:database:_files -/' \ - "($_bogoutil_actions)"'--db-prune[checkpoint database]:database:_files -/' \ - "($_bogoutil_actions)"'--db-remove-environment:database:_files -/' \ - '--db_lk_max_locks[set max lock count]' \ - '--db_lk_max_objects[set max object count]' \ - "($_bogoutil_actions)"{-h,--help}'[help]' \ - "($_bogoutil_actions)"{-V,--version}'[version]' \ - '*:tokens:->tokens' && ret=0 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _bogoutil_caching_policy - fi - - case $state in - (tokens) - if ( [[ -z "$bogotokens" ]] || _cache_invalid bogotokens ) && - ! _retrieve_cache bogotokens; then - bogotokens=(${${(f)"$(_call_program bogotokens bogoutil -d ~/.bogofilter/wordlist.db -c 50)"}%% *}) - _store_cache bogotokens bogotokens - fi - _wanted tokens expl "token" compadd -a bogotokens && ret=0 - ;; - esac - - return ret -} - -case $service in - (bogoutil) - _bogoutil "$@" - ;; - (bogotune) - _arguments \ - '-h[help]' \ - '-C[do not read standard configs]' \ - '-c[config file]:config file:_files' \ - '-D[do not a wordlist file]' \ - '-d[wordlist dir]:directory:_files -/' \ - '-E[disable ESF tuning]' \ - '-M[output input file in message count format]' \ - '-r[specify robx value]:robx value:' \ - '-T[specify fp target value]:fp target value:' \ - '-s[spam files]:spam files:_files' \ - '-n[non-spam files]:non-spam files:_files' \ - '-v[verbose]' \ - '-q[quiet]' - ;; - (bogofilter) - _arguments -s -w \ - '(--help)-h[help]' \ - '(--version)-V[version]' \ - '(--query)-Q[query]' \ - '-QQ[display extended config info]' \ - '(--passthrough)-p[passthrough]' \ - '(--ham-true)-e[ham-true]' \ - '(--update-as-scored)-u[update-as-scored]' \ - '(--classify-mbox)-M[classify-mbox]' \ - '(--classify-stdin)-b[classify-stdin]' \ - '(--classify-files)-B[classify-files]:file list:_files' \ - '(--dataframe)-R[print R dataframe]' \ - '(--register-spam)-s[register as spam]' \ - '(--register-ham)-n[register as non-spam]' \ - '(--unregister-spam)-S[unregister as spam]' \ - '(--unregister-ham)-N[unregister as non-spam]' \ - '(--config-file)-c[config file]:config file:_files' \ - '(--no-config-file)-C[do not read standard config files]' \ - '(--bogofilter_dir)-d[wordlist directory]' \ - '(--no-header-tags)-H[disable header line tagging]' \ - '(--db_cachesize)-k[set Berkeley DB cache size]:megabytes:' \ - '(--use-syslog)-l[log via syslog]' \ - '(--syslog-tag)-L[specify tag value for log messages]:tag:' \ - '(--input-file)-I[specify input file instead of stdin]:input file:_files' \ - '(--output-file)-O[specify output file instead of stdout]:output file:_files' \ - '(--min_dev --robs --robx)-m[user-defined min_dev, robs, and robx]:values:' \ - '(--spam_cutoff --ham_cutoff)-o[user-defined spam and ham cutoffs]:values:' \ - '(--terse)-t[terse output mode]' \ - '(--fixed-terse-format)-T[invariant terse output mode]' \ - '(--report-unsure)-U[print statistics if spamicity is unsure]' \ - '(--verbosity)-v[set debug verbosity level]' \ - '(--timestamp-date)-y[set date for token timestamps]' \ - '(--debug-to-stdout)-D[direct debug output to stdout]' \ - '(--debug-flags)-x[debug flags]:debug flags:' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpf_filters b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpf_filters deleted file mode 100644 index b744b1ab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpf_filters +++ /dev/null @@ -1,217 +0,0 @@ -#autoload - -# spaces are valid instead of word ends, perhaps better to just do compset -q - -local -a networks fields dirs protos relop -local -A subtypes flags -local values dir wlantype skip repeat=1 packet proto=0 -local suf=']' - -local WORD=$'[^ \0]##[ \0]##' - -networks=( - /$'[^/ \0]#'/ - \( - /$'[ \0]'/ ': _message -e networks network' - /$'mask[ \0]'/ ':masks:mask:(mask)' - /$WORD/ ':netmasks:netmask:' - \| - /// /$WORD/ ': _message -e masks "netmask length (bits)"' - \) -) -subtypes=( - mgt 'assoc-req assoc-resp reassoc-req reassoc-resp probe-req probe-resp beacon atim disassoc auth deauth' - ctl 'ps-poll rts cts ack cf-end cf-end-ack' - data 'data data-cf-ack data-cf-poll data-cf-ack-poll null cf-ack cf-poll cf-ack-poll qos-data qos-data-cf-ack qos-data-cf-poll qos-data-cf-ack-poll qos qos-cf-poll and qos-cf-ack-poll' -) -flags=( - len len - tcp 'tcp-fin tcp-syn tcp-rst tcp-push tcp-ack tcp-urg' - icmp 'icmp-echoreply icmp-unreach icmp-sourcequench icmp-redirect icmp-echo icmp-routeradvert icmp-routersolicit icmp-timxceed icmp-paramprob icmp-tstamp icmp-tstampreply icmp-ireq icmp-ireqreply icmp-maskreq icmp-maskreply' -) - -case $OSTYPE in - solaris*) - fields=( ipaddr etheraddr atalkaddr ethertype rpc nofrag inet inet6 vlan-id ) - protos=( bootp dhcp dhcp6 apple pppoe ldap slp ospf ) - dirs=( from to ) - relop=( \^ % ) - ;| - solaris2.<11->) - fields+=( zone ) - ;| - (free|open)bsd*) # pf(4) specific filters - fields=( ifname on rnr rulenum srnr subruleset reason ruleset rset action ) - ;| - ^(solaris|openbsd)*) - protos+=( mpls netbeui iso geneve aarp ipx llc ) - ;| - ^openbsd*) - protos+=( ah esp sctp pppoed pppoes ) - ;| - ^solaris*) - protos+=( fddi wlan atalk stp lat moprc mopdl ) - relop=( '>>' '<<' ) - ;; -esac - -compquote suf - -# the regex is essentially: -# ( [not]* ( expression | [protocol]? [standalone-field | direction field ]? ) and|or ) * -# the proto variable ensures that and/or is not allowed if there is no -# protocol or field: it is one, the other or both but not neither - -_regex_arguments _bpf /$'[^\0]#\0'/ \( \ - /$'(not[ \0]#|![ \0]#|(\\\\|)\\([ \0]#)'/ ':operators:operator:(not \()' \# \ - \(\ - \(\ - \(\ - /"(0x[0-9a-f]##|[0-9]##|${(j.|.)${=flags}})"$'[ \0]#'/ -'((repeat != 2))' ":expressions:expression:compadd ${=flags[$packet]}" \ - \|\ - /'[a-z]##(\\|)\[[^\]]##(\\|)\]'$'[ \0]#'/ \ - \|\ - /'[a-z]##(\\|)\[[^:\]]##:'/ /'[]'/ ':sizes:field size (bytes):compadd -S "$suf" 1 2 4' \ - \|\ - /'tcp(\\|)\['/ -packet=tcp \ - /'[]'/ ':offsets:header offset:compadd -S "$suf " tcpflags' \ - \|\ - /'icmp(\\|)\['/ -packet=icmp \ - /'[]'/ ':offsets:header offset:compadd -S "$suf " icmptype icmpcode' \ - \|\ - /'[a-z]##(\\|)\['/ /'[]'/ ':offsets:offset:' \ - \)\ - \(\ - /$'(\\\\|)([<>=!](\\\\|)[<>=]|[<>&|=+*/%^-])[ \0]#'/ -'repeat=0' ":operators:operator:(+ - = != < > <= >= & | $relop and or)" \ - // ': _message -e expressions expression' \ - \|\ - // -'repeat=2' \ - \)\ - \) \# \ - // -'(( repeat == 2))' \ - // -'repeat=1' \ - \|\ - /$'ether[ \0]proto[ \0]'/ \ - /$WORD/ ':protocols:protocol:(\ip \ip6 \arp \rarp \atalk \aarp \dec \net \sca \lat \mopdl \moprc \iso \stp \ipx \netbeui)' \ - \|\ - /$'(less|greater)[ \0]'/ ':fields:field:(less greater)' \ - /$WORD/ ':numbers:length (bytes):' \ - \|\ - \(\ - /$'(tcp|udp|icmp|ether|ip|ip6|arp|rarp|decnet|bootp|dhcp|dhcp6|apple|pppoe|pppoed|ldap|ah|esp|slp|sctp|ospf|iso|clnp|esis|isis|atalk|aarp|iso|stp|ipx|netbeui|lat|moprc|mopdl)[ \0]'/ ":protocols:protocol qualifier:(tcp udp icmp ether tr ip ip6 arp rarp decnet $protos)" \ - \| /$'((fddi|tr|wlan)[ \0]|)'/ '-(( ++proto ))' \) \ - \(\ - /$'mpls[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e labels "label number"' \ - \|\ - /$'geneve[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e vnis "vni"' \ - \|\ - /$'pppoes[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e session-ids "session id"' \ - \|\ - /$'proto[ \0]'/ ':fields:field:(proto)' \ - /$WORD/ ':protocols:protocol:(\icmp \icmp6 \igmp \igrp \pim \ah \esp \vrrp \udp \tcp)' \ - \|\ - /$'(broad|multi)cast[ \0]'/ ':fields:field:(broadcast multicast)' \ - \|\ - /$'type[ \0]'/ ':fields:field:(type)' \ - /$WORD/ -'wlantype=${match%?}' ':wlan-types:wlan type:(mgt ctl data)' \ - \(\ - /$'subtype[ \0]'/ ':fields:field:(subtype)' \ - /$WORD/ ':subtypes:subtype:compadd ${=subtypes[$wlantype]:-$subtypes}' \ - \| \)\ - \|\ - /$'protochain[ \0]'/ ':fields:field:(protochain)' \ - /$WORD/ ':protocols:protocol:' \ - \|\ - /$'vlan-id[ \0]'/ \ - /$WORD/ ':vlans:vlan:' \ - \|\ - /$'vlan[ \0]'/ ':fields:field:(vlan)' \ - \( /$WORD/ ': _message -e vlans vlan' \| \) \ - \|\ - \(\ - /$'(ra|ta|addr[1-4]|inbound|outbound)[ \0]'/ ":directions:direction qualifier:(src dst inbound outbound ra ta addr1 addr2 addr3 addr4 $dirs)" \ - \|\ - /$'(src|from|dst|to)[ \0]'/ -'values=${values:-hosts};dir=$match' \ - \(\ - /$'(or|and)[ \0]'/ ':operators:operator:(or and)' \ - /$'(src|dst)[ \0]'/ ':directions:direction qualifier:compadd ${${${${dir%?}:/dst/to}:/(src|from)/dst}:/to/src}' \ - \| \)\ - \| \)\ - \(\ - /$'(host|gateway)[ \0]'/ ":fields:field:(host gateway $fields)" \ - /$WORD/ -values=hosts ':hosts:host:_hosts' \ - \|\ - /$'inet(6|)[ \0]'/ \ - \( /$'host[ \0]'/ ':fields:field:(host)' \| \) \ - /$WORD/ -values=hosts ':hosts:host:_hosts' \ - \|\ - /$'ethertype[ \0]'/ \ - /$WORD/ ':numbers:number:' \ - \|\ - /$'(ipaddr|etheraddr|atalkaddr)[ \0]'/ \ - /$WORD/ ':addresses:address:' \ - \|\ - /$'llc[ \0]'/\ - /$'((s|u|rr|rnr|rej|ui|ua|disc|sabme|test|xid|frmr)[ \0]|)'/ ':types:type:(s u rr rnr rej ui ua disc sabme test xid frmr)' \ - \|\ - /$'(ifname|on)[ \0]'/ \ - /$WORD/ ':interfaces:interface:_net_interfaces' \ - \|\ - /$'(rnr|rulenum|srnr|subruleset)[ \0]'/ \ - /$WORD/ ':rules:rule number:' \ - \|\ - /$'reason[ \0]'/ \ - /$WORD/ ':reasons:reason:(match bad-offset fragment short normalize memory)' \ - \|\ - /$'(rset|ruleset)[ \0]'/ \ - /$WORD/ ':rule-sets:rule set:' \ - \|\ - /$'action[ \0]'/ \ - /$WORD/ ':actions:action:(pass block nat rdr binat scrub)' \ - \|\ - /$'rpc[ \0]'/ \ - \(\ - /$'[^, \0]##[ \0]'/ ':programs:rpc program:compadd -qS, - ${${(f)"$(</etc/rpc)"}%%[[:blank:]#]*}' \ - \|\ - /$'[^, \0]##,[^, \0]##,'/ /$'[^, \0]##[ \0]'/ ':procedures:procedure:' \ - \|\ - /$'[^, \0]##,'/ /$'[^, \0]##[ \0]'/ ':versions:version:' \ - \)\ - \|\ - /$'zone[ \0]'/ \ - /$WORD/ ':zones:zone:_zones' \ - \|\ - /$'port[ \0]'/ ':fields:field:(port)' \ - /$WORD/ -values=ports ':ports:port:_ports' \ - \|\ - /$'portrange[ \0]'/ -values=portranges ':fields:field:(portrange)' \ - /$'[^ \0-]##-'/ ':ports:port:_ports -S-' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - /$'net[ \0]'/ -values='networks' ':fields:field:(net)' \ - $networks \ - \|\ - // -'[[ $values = hosts ]]' \ - /$WORD/ ':hosts:host:_hosts' \ - \|\ - // -'[[ $values = ports ]]' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - // -'[[ $values = networks ]]' \ - $networks \ - \|\ - // -'[[ $values = portranges ]]' \ - /$'[^ \0-]##-'/ ':ports:port:_ports -S-' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - // -'(( ++proto ))' \ - \)\ - \)\ - \)\ - // -'(( proto < 2 ))' \ - /$'(and|or|&&|\\|\\||\\))[ \0]'/ -proto=0 ':operators:operator:compadd and or \)' \) \# - -_bpf "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpython b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpython deleted file mode 100644 index 2c2ea11b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bpython +++ /dev/null @@ -1,43 +0,0 @@ -#compdef bpython bpython-gtk bpython-urwid bpython2 bpython2-gtk bpython2-urwid bpython3 bpython3-gtk bpython3-urwid - -local -a all_opts urwid_opts gtk_opts - -all_opts=( - '--config[configuration file]:config file:_files' - '-h --help[show help message]' - '(-i --interactive)'{-i,--interactive}'[drop to bpython after running a file]' - '(-q --quiet)'{-q,--quiet}'[do not flush the output to stdout]' - '(-V --version)'{-V,--version}'[print version]' - '1:script:_files -g "*.u#py(-.)"' - '*:arguments:' -) - -urwid_opts=( - '(-r --reactor)'{-r,--reactor}'[use twisted reactor instead of the event loop]:reactor' - '--help-reactors[display list of available Twisted reactors]' - '(-p --plugin)'{-p,--plugin}'[execute a twisted plugin]:plugin' - '(-s --server)'{-s,--server}'[run an eval server on the given port]:port:_ports' -) - -gtk_opts=( - '--socket-id[embed bpython]:socket id:' -) - -case "$service" in - bpython|bpython2|bpython3) - _arguments \ - "$all_opts[@]" - ;; - - bpython-urwid|bpython2-urwid|bpython3-urwid) - _arguments \ - "$all_opts[@]" \ - "$urwid_opts[@]" - ;; - - bpython-gtk|bpython2-gtk|bpython3-gtk) - _arguments \ - "$all_opts[@]" \ - "$gtk_opts[@]" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brace_parameter b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brace_parameter deleted file mode 100644 index 66be4f7c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brace_parameter +++ /dev/null @@ -1,214 +0,0 @@ -#compdef -brace-parameter- - -local char delim found_percent found_m exp -local -a flags -integer q_last n_q - -if [[ $PREFIX = *'${('[^\)]# ]]; then - # Parameter flags. - compset -p 3 - - # Based on code in _globquals. - while [[ -n $PREFIX ]]; do - char=$PREFIX[1] - compset -p 1 - if [[ $char = q ]]; then - (( q_last++, n_q++ )) - continue - else - (( q_last = 0 )) - fi - # Skip arguments to find what's left to complete - case $char in - (%) - found_percent=1 - ;; - - (m) - found_m=1 - ;; - - ([gIjsZ_]) - # Single delimited argument. - if [[ -z $PREFIX ]]; then - _delimiters qualifier-$char - return - elif ! _globqual_delims; then - # still completing argument - case $char in - (g) - compset -P '*' - flags=('o:octal escapes' 'c:expand ^X etc.' 'e:expand \\M-t etc.') - _describe -t format 'format option' flags -Q -S '' - ;; - - (I) - _message 'integer expression' - ;; - - ([js]) - _message "separator" - ;; - - (Z) - compset -P '*' - flags=( - 'c:parse comments as strings (else as ordinary words)' - 'C:strip comments (else treat as ordinary words)' - 'n:treat newlines as whitespace' - ) - _describe -t format 'format option' flags -Q -S '' - ;; - - (_) - _message "no useful values" - ;; - esac - return - fi - ;; - - ([lr]) - # One compulsory argument, two optional. - if [[ -z $PREFIX ]]; then - _delimiters qualifier-$char - return - else - delim=$PREFIX[1] - if ! _globqual_delims; then - # still completing argument - _message "padding width" - return - fi - # TBD if $PREFIX is empty can complete - # either repeat delimiter or a new qualifier. - # You might think it would just be easier - # for the user to type the delimiter at - # this stage, but users are astonishingly lazy. - if [[ $delim = $PREFIX[1] ]]; then - # second argument - if ! _globqual_delims; then - _message "repeated padding" - return - fi - if [[ $delim = $PREFIX[1] ]]; then - if ! _globqual_delims; then - _message "one-off padding" - return - fi - fi - fi - fi - ;; - esac - done - - if [[ -z $found_percent ]]; then - flags=("%:expand prompt sequences") - else - flags=("%:expand prompts respecting options") - fi - case $q_last in - (0) - if (( n_q == 0 )); then - flags+=("q:quote with backslashes") - fi - ;; - - (1) - flags+=( - "q:quote with single quotes" - "-:quote minimally for readability" - "+:quote like q-, plus \$'...' for unprintable characters" - ) - ;; - - (2) - flags+=("q:quote with double quotes") - ;; - - (3) - flags+=("q:quote with \$'...'") - ;; - esac - if (( !n_q )); then - flags+=("Q:remove one level of quoting") - fi - if [[ -z $found_m ]]; then - flags+=("m:count multibyte width in padding calculation") - else - flags+=("m:count number of character code points in padding calculation") - fi - flags+=( - "#:interpret numeric expression as character code" - "@:prevent double-quoted joining of arrays" - "*:enable extended globs for pattern" - "A:assign as an array parameter" - "a:sort in array index order (with O to reverse)" - "b:backslash quote pattern characters only" - "c:count characters in an array (with \${(c)#...})" - "C:capitalize words" - "D:perform directory name abbreviation" - "e:perform single-word shell expansions" - "f:split the result on newlines" - "F:join arrays with newlines" - "g:process echo array sequences (needs options)" - "i:sort case-insensitively" - "k:substitute keys of associative arrays" - "L:lower case all letters" - "n:sort positive decimal integers numerically" - "-:sort decimal integers numerically" - "o:sort in ascending order (lexically if no other sort option)" - "O:sort in descending order (lexically if no other sort option)" - "P:use parameter value as name of parameter for redirected lookup" - "t:substitute type of parameter" - "u:substitute first occurrence of each unique word" - "U:upper case all letters" - "v:substitute values of associative arrays (with (k))" - "V:visibility enhancements for special characters" - "w:count words in array or string (with \${(w)#...})" - "W:count words including empty words (with \${(W)#...})" - "X:report parsing errors and eXit substitution" - "z:split words as if zsh command line" - "0:split words on null bytes" - "p:handle print escapes or variables in parameter flag arguments" - "~:treat strings in parameter flag arguments as patterns" - "j:join arrays with specified string" - "l:left-pad resulting words" - "r:right-pad resulting words" - "s:split words on specified string" - "Z:split words as if zsh command line (with options)" - # "_:extended flags, for future expansion" - "S:match non-greedy in /, // or search substrings in % and # expressions" - "I:search <argument>th match in #, %, / expressions" - "B:include index of beginning of match in #, % expressions" - "E:include index of one past end of match in #, % expressions" - "M:include matched portion in #, % expressions" - "N:include length of match in #, % expressions" - "R:include rest (unmatched portion) in #, % expressions" - ) - _describe -t flags "parameter flag" flags -Q -S '' - return -elif compset -P '*:([\|\*\^]|\^\^)'; then - _arrays - return -elif compset -P '*:'; then - flags=( - '-:substitute alternate value if parameter is null' - '+:substitute alternate value if parameter is non-null' - '=:substitute and assign alternate value if parameter is null' - '\:=:unconditionally assign value to parameter' - '?:print error if parameter is null' - '#:filter value matching pattern' - '/:replace whole word matching pattern' - '|:set difference' - '*:set intersection' - '^:zip arrays' - '^^:zip arrays reusing values from shorter array' - ) - _describe -t flags "operator" flags -Q -S '' - _history_modifiers p - return -fi - -_parameters -e diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brctl deleted file mode 100644 index 4d053d5c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_brctl +++ /dev/null @@ -1,67 +0,0 @@ -#compdef brctl - -local curcontext="$curcontext" expl ret=1 -local subcmd - -if (( CURRENT == 2 )); then - _describe 'brctl command' '( - addbr:create\ instance\ of\ ethernet\ bridge - delbr:deletes\ specified\ bridge\ instance - show:show\ all\ current\ bridge\ instances - addif:add\ interface\ to\ bridge - delif:remove\ interface\ from\ bridge - hairpin:toggle\ hairpin\ mode\ on\ a\ port - showmacs:show\ a\ list\ of\ learned\ MAC\ addresses - setageing:set\ MAC\ address\ ageing\ time - setgcint:set\ garbage\ collection\ interval - stp:control\ use\ of\ spanning\ tree\ protocol - showstp:show\ bridge\ stp\ info - setbridgeprio:set\ bridge\ priority - setfd:set\ bridge\ forward\ delay - sethello:set\ bridge\ hello\ time - setmaxage:set\ maximum\ message\ age - setpathcost:set\ cost\ of\ port - setportprio:set\ priority\ of\ port - )' && ret=0 -else - shift words - (( CURRENT-- )) - subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - - if (( CURRENT == 2 )); then - _wanted bridges expl 'bridge' compadd \ - ${${(f)"$(brctl show 2>/dev/null)"}[2,-1]%% *} && ret=0 - elif (( CURRENT == 3 )); then - case $subcmd in - addif|delif) - _net_interfaces && ret=0 - ;; - setageing|setgcint|setfd|sethello|setmaxage) - _message -e time 'time (seconds)' - ;; - setbridgeprio) - _message -e priority 'priority' - ;; - setpathcost|setportprio|hairpin) - _message -e ports 'port' - ;; - stp) - _wanted states expl 'state' compadd on off && ret=0 - ;; - *) - _message 'unknown subcommand: $subcmd' - ;; - esac - elif (( CURRENT == 4 )); then - if [[ $subcmd == setpathcost ]]; then - _message -e cost 'cost' - elif [[ $subcmd == setportprio ]]; then - _message -e priority 'priority' - elif [[ $subcmd == hairpin ]]; then - _message -e onoff 'on|off' - fi - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_disks b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_disks deleted file mode 100644 index 986d36e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_disks +++ /dev/null @@ -1,26 +0,0 @@ -#autoload -# disk device names on BSDs -local -a disks - -case $OSTYPE in - freebsd*) - disks=( ${${(M)${(f)"$(geom disk list)"}\:#Geom name\:*}#*\: } ) - ;; - dragonfly*) - disks=( $(sysctl -n kern.disks) ) - ;; - openbsd*) - disks=( ${${(s.,.)"$(sysctl -n hw.disknames)"}%\:*} ) - ;; - netbsd*) - disks=( $(sysctl -n hw.disknames) ) - ;; -esac - -if (( $#disks )); then - local expl - _wanted disk-devices expl 'disk device' compadd "$@" $disks - return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_pkg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_pkg deleted file mode 100644 index 82cf6226..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsd_pkg +++ /dev/null @@ -1,257 +0,0 @@ -#compdef pkg_add pkg_create pkg_delete pkg_info - -(( $+functions[_bsd_pkg_pkgfiles] )) || -_bsd_pkg_pkgfiles() { - local ret=1 paths portsdir pkgsdir - - case $OSTYPE in - netbsd*) - portsdir=/usr/pkgsrc - pkgsdir=${PACKAGES:-$portsdir/packages}/All - ;; - openbsd*) - portsdir=${${(M)${(f)"$(</etc/mk.conf)"}:#PORTSDIR*}#*=[[:blank:]]#} - portsdir=${${portsdir:-$PORTSDIR}:-/usr/ports} - pkgsdir=${${(M)${(f)"$(</etc/mk.conf)"}:#PACKAGE_REPOSITORY*}#*=[[:blank:]]#} - pkgsdir=${${pkgsdir:-$PACKAGE_REPOSITORY}:-$portsdir/packages/}/$(make -V MACHINE_ARCH)/All - ;; - *) - portsdir=${PORTSDIR:-/usr/ports} - pkgsdir=${PACKAGES:-$portsdir/packages}/All - ;; - esac - - paths=( "${(@)${(@s.:.)PKG_PATH}:#}" ) - _files "$@" -g '*.t[bg]z(-.)' && ret=0 - (( $#path )) && _files "$@" -W paths -g '*.t[bg]z(-.)' && ret=0 - compadd "$@" - $pkgsdir/*.t[bg]z(-.) && ret=0 - - return ret -} - -(( $+functions[_bsd_pkg_pkgs] )) || -_bsd_pkg_pkgs() { - compadd "$@" - ${PKG_DBDIR:-/var/db/pkg}/*(/:t) -} - -(( $+functions[_bsd_pkg_pkgs_and_files] )) || -_bsd_pkg_pkgs_and_files() { - local ret=1 - - if (( $words[(I)-*F*] )); then - _files "$@" && ret=0 - else - _bsd_pkg_pkgs "$@" && ret=0 - fi - - return ret -} - -_bsd_pkg() { - local flags - - case "$service" in - pkg_add) - flags=( - "-n[don't really install packages]" - '-v[be verbose]' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '-A[do not record packages as installed manually]' - '-C[specify configuration file]:config file:_files' - '-D[force updating even if dependencies are not satisfied]' - '-f[force installation]' - "-I[don't execute installation scripts]" - '-K[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-m[specify machine architecture]:architecture:_netbsd_architectures' - '-P[specify destdir prefix]:destdir directory:_files -/' - '-p[specify prefix]:prefix directory:_files -/' - "-R[don't record]" - '-U[replace an already installed version]' - '-u[update]' - '-V[show version and exit]' - '*:package to install:_bsd_pkg_pkgfiles' - ) - ;; - openbsd*) - flags+=( - '-A+[arch to assume for any package tests]:architecture:_obsd_architectures' - '-a[do not record packages as installed manually]' - '-aa[force already installed packages to be tagged as installed automatically]' - '-B+[specify destdir prefix]:destdir directory:_files -/' - '-c[while replacing packages, delete extra configuration file in the old package]' - '*-D+[specify failsafe to waive]:failsafe:(( - allversions\:"do not trim older p* variants of packages for updates" - arch\:"architecture recorded in package may not match" - checksum\:"verify checksums before deleting or tying old files" - dontmerge\:"do not merge updates together if dependencies are too strict" - donttie\:"do not try to find new files in old packages by comparing the stored sha256" - downgrade\:"do not filter out package versions older than what is currently installed" - installed\:"in update mode, reinstall an existing package with the same update signature" - nonroot\:"install even if not running as root" - repair\:"attempt to repair installed packages with missing registration data" - scripts\:"external scripts may fail" - SIGNER\:"list of trusted signers, separated by commas" - snap\:"force %c and %m to expand to snapshots" - unsigned\:"allow the installation of unsigned packages without warnings/errors" - updatedepends\:"force update even if forward dependencies no longer match" - ))' - '-I[force non-interactive mode]' - '-i[force interactive mode]' - '-L+[specify a localbase]:localbase:_files -/' - '-l+[specify pkg_info output file to install]:pkg_info file:_files' - '-m[always display progress meter]' - '-P+[check distribution permissions]:permission type:(ftp)' - "-qq[don't check checksums]" - '-r[replace existing packages]' - "-s[don't install; just report disk size changes]" - '-U[update dependencies before installing]' - '-u[update the specified package or all if none given]' - '-V[turn on statistics output]' - '-x[disable progress meter]' - '-z[fuzzy package matching]' - ) - esac - - _arguments -s $flags[@] - ;; - - pkg_create) - case "$OSTYPE" in - netbsd*) - # NetBSD users, improve me! - flags=( - '*:package name:_bsd_pkg_pkgs' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - - pkg_delete) - flags=( - "-n[don't really deinstall packages]" - '-v[be verbose]' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '(:)-A[remove automatically installed packages that are no longer required]' - "-D[don't execute deinstallation scripts]" - '-F[specify each package by an installed file]' - '-f[force deinstallation]' - '-ff[force deinstallation even if preserved]' - '-K+[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-k[silently skip preserved packages]' - '-N[leave the files installed]' - "-O[only delete the package's entries]" - '-P+[specify destdir prefix]:destdir directory:_files -/' - '-p+[specify prefix]:prefix directory:_files -/' - '-R[delete upward recursively]' - '-r[delete recursively]' - '-V[show version and exit]' - '*:package name:_bsd_pkg_pkgs_and_files' - ) - ;; - openbsd*) - flags+=( - '-a[delete unused dependencies]' - '-B+[specify destdir prefix]:destdir directory:_files -/' - '*-D+[specify failsafe to waive]:failsafe:(( - baddepend\:"force deletion of packages even if they reference nonexistent dependencies" - checksum\:"verify checksums before deleting or tying old files" - dependencies\:"delete the set of packages that depend upon the requested packages" - nonroot\:"install even if not running as root" - scripts\:"external scripts may fail" - ))' - '-I[force non-interactive mode]' - '-i[force interactive mode]' - '-m[always display progress meter]' - "-qq[don't check checksums]" - "-s[don't install; just report disk size changes]" - '-V[turn on statistics output]' - '-X[delete everything, except the specified packages]' - '-x[disable progress meter]' - '*:package name:_bsd_pkg_pkgs_and_files' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - - pkg_info) - flags=( - '(:)-a[show all installed packages]' - '-c[show comment fields]' - '-d[show long descriptions]' - '-e+[test if package is installed]:package name:_bsd_pkg_pkgs' - '-f[show packing list instructions]' - '-I[show index lines]' - '-L[show full pathnames of files]' - '-l+[specify prefix string]:prefix string:' - '-q[be quiet]' - '-R[show list of installed requiring packages]' - '-s[show total size occupied by each package]' - '-v[be verbose]' - '(-a -A)*:package name:_bsd_pkg_pkgs_and_files' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '-B[show build information]' - '-b[show RCS Id strings]' - '-D[show install-message files]' - '-F[specify each package by an installed file]' - '-i[show install scripts]' - '-K+[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-k[show deinstall scripts]' - '-m[show mtree files]' - '-N[show which packages each package was built with]' - '-n[show which packages each package needs]' - '-p[show installation prefixes]' - '-Q+[show the definition of the specified variable from the build information]:variable:' - '-r[show list of installed requiring packages recursively]' - '-S[show total size occupied by each package and its dependents]' - '-u[show information for all user-installed packages]' - '-V[show version and exit]' - '-X[print summary information]' - ) - ;; - openbsd*) - flags+=( - '(:)-A[show all installed packages, including internal packages]' - '-C[show certificate information]' - '*-D+[specify failsafe to waive]:failsafe:(( - SIGNER\:"list of trusted signers, separated by commas" - snap\:"force %c and %m to expand to snapshots" - unsigned\:"allow the installation of unsigned packages without warnings/errors" - ))' - '-E[show the package that contains the specified file]:file:_files' - # XXX only with -L - '-K[prefix filenames with category keywords]' - '-M[show the install-message file]' - '-m[only show manual installations]' - '-P[show the pkgpath]' - '-Q+[show packages matching the specified query]:query:' - '-r+[check the list of packages for a specified pkgspec]:pkgspec:' - '-S[show the update signature]' - '-t[show packages not required by any other]' - '-U[show the deinstall-message file]' - '-z[fuzzy package matching]' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - esac -} - -_bsd_pkg "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdconfig deleted file mode 100644 index f8825557..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdconfig +++ /dev/null @@ -1,63 +0,0 @@ -#compdef bsdconfig - -local -a shortcuts -shortcuts=( - api - 'console:utilities to customize the behavior of the system console' - 'defaultrouter:default router/gateway' - 'diskmgmt:manage disk partitions and/or labels using sade(8)' - 'docsinstall:install/reinstall FreeBSD documentation set(s)' - 'dot:generate a graphviz dot(1) language file(printed on stdout)' - 'groupadd:add groups' - 'groupdel:delete groups' - 'groupedit:edit/view groups' - 'groupmgmt:utilities to add/change/view/delete group accounts' - 'hostname:set hostname/domainname' - includes - 'kern_securelevel:set kern.securelevel variable' - 'mouse:utilities for configuring, exploring, and enabling console mouse support' - 'mouse_disable:disable mouse support' - 'mouse_enable:enable mouse support' - 'mouse_flags:set mouse daemon flags' - 'mouse_port:select mouse port' - 'mouse_type:select mouse type' - 'nameservers:DNS Nameservers menu under networking' - 'netdev:configure network interfaces' - 'networking:utilities for network related settings' - 'packages:browse, install, uninstall, or re-install packaged software' - 'password:set the system administrator (root) password' - 'security:configure various system security settings' - 'startup:configure various aspects of system startup' - 'startup_misc:miscellaneous startup services' - 'startup_rcadd:add directives to rc.conf(5)' - 'startup_rcconf:view/edit directives to rc.conf(5)' - 'startup_rcdelete:delete directives from rc.conf(5)' - 'startup_rcvar:toggle directives on/off' - 'syscons_font:select console font' - 'syscons_keymap:select console keymap' - 'syscons_repeat:set key repeat speed' - 'syscons_saver:select console screensaver' - 'syscons_screenmap:select console screenmap' - 'syscons_ttys:select console TTY type' - 'timezone:set the regional timezone of the local machine' - 'ttys:edit the ttys(5) database with your favorite editor' - 'useradd:add users' - 'userdel:delete users' - 'useredit:edit/view users' - 'usermgmt:utilities to add/edit/view/delete user accounts' - vt_font - vt_keymap - vt_repeat - vt_saver - vt_screenmap - vt_ttys -) - -_arguments -s -w -A '-*' : \ - '-d[debug mode]' \ - '-D[send debug info to file]: :{ compset -P 1 +; _files }' \ - '-f[load file as script then exit]: : _files' \ - '-h[display help information]' \ - '-S[secure X11 mode]' \ - '-X[use Xdialog(1)]' \ - '1:bsdconfig(8) menu:(( $shortcuts ))' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdinstall b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdinstall deleted file mode 100644 index e0589d72..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bsdinstall +++ /dev/null @@ -1,46 +0,0 @@ -#compdef bsdinstall - -local -a _bsdinstall_targets -_bsdinstall_targets=( - 'auto:standard interactive installation, including disk partitioning' - "entropy:stores a small amount of data from /dev/random in the new system's root" - 'jail:sets up a new chroot system at destination, suitable for use with jail(8)' - 'script:run an installation script' - "keymap:set the keymap and save to the new system's rc.conf" - 'hostname:set the hostname for the new system' - 'netconfig:configure networking' - 'autopart:run the interactive guided disk partitioner' - 'zfsboot:run the interactive/scriptable ZFS partitioner' - 'scriptedpart:non-interactive partition setup' - 'mount:mount the file systems previously configured by autopart, partedit, or scriptedpart' - 'distfetch:fetches the distributions in DISTRIBUTIONS to BSDINSTALL_DISTDIR from BSDINSTALL_DISTSITE' - 'checksum:verifies the checksums of the distributions listed in DISTRIBUTIONS' - 'distextract:extracts the distributions listed in DISTRIBUTIONS into BSDINSTALL_CHROOT' - "rootpass:interactively invokes passwd(1) in the new system to set the root user's password" - 'adduser:interactively invokes adduser(8) in the new system' - 'time:interactively sets the time, date, and time zone of the new system' - 'services:queries the user for the system daemons to begin at system startup' - 'config:installs the configuration files destined for the new system' -) - -local context state state_descr line -typeset -A val_args -_arguments -A '-*' : \ - '-D[installation log file]: : _files' \ - '1: :->targets' \ - '*: :->args' - -case $state in - targets) _describe targets _bsdinstall_targets;; - args) - shift words - [[ $words[1] == '-D' ]] && shift 2 words - - case $words[1] in - jail) _files -/;; - script) _files;; - scriptedpart) _message "$words[1] parameters";; - *) _message "nothing to complete"; return 1;; - esac - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_btrfs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_btrfs deleted file mode 100644 index 65cf067a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_btrfs +++ /dev/null @@ -1,448 +0,0 @@ -#compdef btrfs - -local curcontext="$curcontext" curstate state line expl grp cmd cont shift ret=1 -local -a cmds_1 cmds_2 cmds_3 cmds_4 cmds_5 cmds_6 cmds_7 cmds_8 cmds_9 cmds_10 -local -a groups args - -groups=( subvolume filesystem device scrub balance inspect-internal property - quota qgroup replace rescue check restore send receive - help version ) -cmds_1=( create delete list snapshot get-default set-default find-new show sync help ) -cmds_2=( df du show sync defragment resize label usage help ) -cmds_3=( add delete remove ready scan stats usage help ) -cmds_4=( start cancel resume status help ) -cmds_5=( start pause cancel resume status ) -cmds_6=( dump-{super,tree} {inode,logical,subvolid}-resolve min-dev-size rootid tree-stats help ) -cmds_7=( get set list ) -cmds_8=( enable disable rescan help ) -cmds_9=( assign remove create destroy show limit help ) -cmds_10=( start status cancel help ) -cmds_11=( chunk-recover fix-device-size super-recover zero-log create-control-device ) - -_arguments -C -A "-*" "$args[@]" \ - '(- *)--help[print help information]' \ - '(- *)--version[print version information]' \ - '(-v --verbose -q --quiet --help --version)'{-v,--verbose}'[verbose output of operation]' \ - '(-v --verbose -q --quiet --help --version)'{-q,--quiet}'[suppress all messages except errors]' \ - '(--help --version)--format=[specify output format]:format:(text json)' \ - '(--version)1: :->groups' \ - '2: :->cmds' \ - '*:: :->args' && ret=0 - -while (( $#state )); do - curstate=$state - shift state - case $curstate in - groups) - _wanted command-groups expl 'btrfs command group' compadd -a groups && ret=0 - ;; - cmds) - grp=${groups[(i)$words[2]*]} - (( grp && grp <= 16 )) || return 1 - cont=${groups[grp]} - curcontext="${curcontext%:*:*}:$service-${cont}:" - if (( grp <= 11 )); then - _wanted commands expl command compadd -a cmds_$grp && ret=0 - continue - fi - ;& - args) - if [[ $curstate != cmds ]]; then - grp=${groups[(i)$words[1]*]} - (( grp && grp <= 16 )) || return 1 - cont=${groups[grp]} - if (( grp <= 11 )); then - local group=cmds_$grp - local cmd=${${(P)group}[(i)$words[2]*]} - (( cmd )) || return 1 - cont+=:${${(P)group}[cmd]} - else - shift=1 - fi - curcontext="${curcontext%:*:*}:$service-${cont/:/-}:" - fi - args=( '(-)--help[print help information]' ) - case ${cont} in - (balance|replace):start|device:(add|delete|remove)|filesystem:resize) - args+=( - "--enqueue[wait if there's another exclusive operation running, otherwise continue]" - ) - ;| - subvolume:create) - args+=( - '*-i[add the newly created subvolume to a qgroup]:qgroup' - '1:destination:->mounts' - ) - ;; - subvolume:delete) - args+=( '!-v' '!--verbose' - '(-c --commit-after -C --commit-each)'{-c,--commit-after}'[wait for transaction commit at the end of the operation]' - '(-c --commit-after -C --commit-each)'{-C,--commit-each}'[wait for transaction commit after deleting each subvolume]' - '(-i --subvolid)'{-i+,--subvolid=}'[specify id of subvolume to be removed]:subvolume id' - '1:subvolume:_files -/' - ) - ;; - subvolume:snapshot) - args+=( - '-r[readonly snapshot]' - '*-i[assign to qgroup]:qgroup: _message "qgroup"' - '1:source directory:_files -/' - '2:snapshot name or destination:_files -/' - ) - ;; - subvolume:list) - args+=( - '-p[include parent ID in output]' - '-a[include all subvolumes]' - '-c[include ogeneration of the subvolume]' - '-g[include generation of the subvolume]' - '-o[include only subvolumes below the path]' - '-u[include UUID of subvolume]' - '-q[include parent UUID of subvolume]' - '-R[include the uuid of the received snapshots]' - '-t[print results as a table]' - '-s[list only snapshot subvolumes]' - '-r[list only readonly subvolumes]' - '-d[list deleted subvolumes that are not yet cleaned]' - '-G[subvolume generation is more or less than]:gen: _guard "(|+|-)[0-9]#"' - '-C[subvolume ogeneration is more or less than]:ogen: _guard "(|+|-)[0-9]#"' - '--sort=-[list in order]:order:_sequence compadd - rootid gen ogen path' - '1:path:->mounts' - ) - ;; - subvolume:set-default) args+=( '1:id:_guard "[0-9]#" id' '2:path:->mounts' );; - subvolume:show) - args+=( - '(-r --rootid)'{-r,--rootid}'[rootid of the subvolume]' - '(-u --uuid)'{-u,--uuid}'[uuid of the subvolume]' - '1:subvolume path:_directories' - ) - ;| - subvolume:sync) args+=( '-s[sleep between checks]:delay (seconds) [1]' );; - subvolume:find-new) args+=( '1:subvol:_files -/' '2:lastgen: _message "last gen"' );; - (device|filesystem|qgroup|subvolume):(df|du|show|usage)|scrub:status) - args+=( - '--iec[use 1024 as a base]' - '--si[use 1000 as a base]' - ) - ;| - (device|filesystem):(df|usage)|subvolume:show) - args+=( - '(-b --raw)'{-b,--raw}'[output raw numbers in bytes]' - '(-h --human-readable -H)'{-h,--human-readable}'[output human friendly numbers, base 1024]' - '(-h --human-readable -H)-H[output human friendly numbers, base 1000]' - '(-k --kbytes)'{-k,--kbytes}'[show sizes in KiB, or kB with --si]' - '(-m --mbytes)'{-m,--mbytes}'[show sizes in MiB, or MB with --si]' - '(-g --gbytes)'{-g,--gbytes}'[show sizes in GiB, or GB with --si]' - '(-t --tbytes)'{-t,--tbytes}'[show sizes in TiB, or TB with --si]' - ) - ;| - (filesystem|qgroup|scrub):(du|show|status)) - args+=( - '--raw[output raw numbers in bytes]' - '--human-readable[output human friendly numbers, base 1024]' - '--kbytes[show sizes in KiB, or kB with --si]' - '--mbytes[show sizes in MiB, or MB with --si]' - '--gbytes[show sizes in GiB, or GB with --si]' - '--tbytes[show sizes in TiB, or TB with --si]' - ) - ;| - filesystem:resize) args+=( '1: :_numbers -u bytes -N size K M G T P E' '2:path:->mounts' );; - filesystem:defragment) - args+=( '!-v' - '-r[defragment files recursively]' - '-c+[compress files while defragmenting]::compression algorithm:(zlib lzo zstd)' - '-r[defragment files recursively]' - '-f[flush after defragmenting]' - '-s[start position]: :_numbers -u bytes -d "beginning of file" offset K M G T P E' - '-l[defragment limited number of bytes]: :_numbers -u bytes length K M G T P E' - '-t[defragment only extents up to a certain size]: :_numbers -u bytes -d 32M "maximum extent size" K M G T P E' - '*:file:_files' - ) - ;; - filesystem:du) args+=( '(-s --summarize)'{-s,--summarize}'[display only a total for each argument]' );; - filesystem:label) args+=( '1:device:_files -g "*(-%)"' '2:new label' );; - filesystem:show) - args+=( - '(1 -)'{-d,--all-devices}'[scan all devices in /dev]' - '(1 -)'{-m,--mounted}'[show only mounted filesystems]' - '--raw[output raw numbers in bytes]' - '--human-readable[output human friendly numbers, base 1024]' - '1: :_guard "^-*" uuid or label' - ) - ;; - filesystem:usage) args+=( '-T[show data in tabular format]' );; - device:(add|delete|ready|remove)) - args+=( - '1:device:_files -g "*(-%)"' - '2:path:->mounts' - ) - [[ ${${(P)group}[cmd]} == add ]] && - args+=( - {-K,--nodiscard}"[don't perform whole device TRIM]" - {-f,--force}'[force overwrite of existing filesystem]' - ) - ;; - device:scan) - args+=( - '(-)'{-u,--forget}'[unregister all stale devices or a given device]' - '(1 -)'{-d,--all-devices}'[enumerate and register all devices]' - '1:device:_files -g "*(-%)"' - ) - ;; - device:stats) - args+=( - '(-c --check)'{-c,--check}'[return non-zero if any stat counter is not zero]' - '(-z --reset)'{-z,--reset}'[reset stats when done]' - "1:device or mountpoint:_files -g '*(-%,/)'" - ) - ;; - device:ready) args+=( '1:device: _files -g "*(-%)"' );; - scrub:(start|resume)) - args+=( '!-q' - "-B[don't background and print statistics at end]" - '-d[print separate statistics for each device]' - '-r[read only mode]' - '-R[raw print mode]' - '-c[set ioprio class]:class:(( 0\:none 1\:realtime 2\:best-effort 3\:idle))' - '-n[set ioprio classdata]:classdata:(0 1 2 3 4 5 6 7)' - '1:path or device:_files' - ) - [[ ${${(P)group}[cmd]} == start ]] && args+=( - '-f[force starting new scrub even if a scrub is already running]' - ) - ;; - scrub:cancel) args+=( '1: : _guard "^-*" "path or device"' );; - scrub:status) - args+=( - '-d[separate statistics for each device]' - '-R[print raw stats]' - '1:path or device:_files' - ) - ;; - balance:start) - args+=( '!-v' '!--verbose' - '(-m -s)-d+[act on data chunks]:filter:->filters' - '(-d -s)-m+[act on metadata chunks]:filter:->filters' - '(-d -m)-s+[act on system chunks (only under -f)]:filters:->filters' - '-f[force a reduction of metadata integrity]' - "--full-balance[don't print warning and don't delay start]" - '(--background --bg)'{--background,--bg}'[run balance operation asynchronously in the background]' - '1:path:_files -/' - ) - ;; - balance:status) args+=( '!-v' '!--verbose' '1:path:_files -/' );; - balance:(pause|cancel|resume)) args+=( '1:path:_files -/' );; - property:set) args+=( '3:value' );& - property:get) args+=( '2:property:(ro label compression)' );& - property:list) - args+=( - '-t[specify object type]:object type:(subvol filesystem inode device)' - '1: : _guard "^-*" object' - ) - ;; - quota:(enable|disable)) args+=( '1:path:_files -/' );; - quota:rescan) - args+=( - '-s[show status of currently running rescan]' - '-w[wait for rescan to finish]' - '1:path:_files -/' - ) - ;; - qgroup:(assign|remove)) - args+=( - \!--rescan - "--no-rescan[don't do a rescan, even if the quotas may become inconsistent]" - '1:source path:_files -/' - '2:destination path:_files -/' - '3:path:_files -/' - ) - ;; - qgroup:(create|destroy)) args+=( '1:qgroupid:' '2:path:_files -/' );; - qgroup:show) - args+=( - '-p[print parent qgroup id]' - '-c[print child qgroup id]' - '-r[print max referenced size of qgroup]' - '-e[print max exclusive size of qgroup]' - '-F[list impacted qgroups \(include ancestral qgroups\)]' - '-f[list impacted qgroups \(exclude ancestral qgroups\)]' - '--sort=-[sort qgroups]:sort:_values -s , sort \ - qgroupid rfer excl max_rfer max_excl' - '--sync[do filesystem sync before getting information]' - '1:path:_files -/' - ) - ;; - qgroup:limit) - args+=( - '-c[limit amount of data after compression]' - '-e[limit space exclusively to qgroup]' - ': :_guard "^-*" "size or none"' - ':qgroup id or path:_files -/' - ':path:_files -/' - ) - ;; - replace:start) - args+=( - '-r[read from specified source device only]:srcdev:_files' - '-f[force overwriting of target]' - "-B[don't background]" - ':srcdev or devid:_files' - ':target:_files' - ':path:->mounts' - ) - ;; - replace:status) args+=( '-1[print once rather than continuously]' ':path:->mounts' );; - replace:cancel) args+=( ':path:->mounts' );; - inspect*:dump-tree) - args+=( - '(-e --extents)'{-e,--extents}'[print only extent info: extent and device trees]' - '(-d --device)'{-d,--device}'[print only device info: tree root, chunk and device trees]' - '(-r --roots)'{-r,--roots}'[print only short root node info]' - '(-R --backups)'{-R,--backups}'[same as --roots plus print backup root info]' - '(-u --uuid)'{-u,--uuid}'[print only the uuid tree]' - \*{-b,--block}'[print info from the specified block only]:block number' - '(-t --tree)'{-t,--tree}'[print only tree with the given id (string or number)]:tree id' - '--follow[use with -b, to show all children tree blocks of the block]' - "--noscan[don't scan devices from the filesystem, use only the listed ones]" - '!(--dfs)--bfs' - '--dfs[depth-first traversal of the trees]' - '--hide-names[hide filenames/subvolume/xattrs and other name references]' - '--csum-headers[print node checksums stored in headers (metadata)]' - '--csum-items[print checksums stored in checksum items (data)]' - ) - ;; - inspect*:dump-super) - args+=( \!-s:byte\ number '!-i:super:(0 1 2)' - '(-f --full)'{-f,--full}'[print full superblock information, backup roots etc.]' - '(-a --all)'{-a,--all}'[print information about all superblocks]' - '(-s --super)'{-s,--super}'[specify which copy to print out]:super:(0 1 2)' - '(-F --force)'{-F,--force}'[attempt to dump superblocks with bad magic]' - '--bytenr[specify alternate superblock offset]:offset' - ) - ;; - inspect*:inode*) args+=( '!-v' '1:inode:_files' '2:path:_files -/' );; - inspect*:subvol*) args+=( '!-v' '1:subvolid:_guard "[0-9]#" subvolume id' '2:path:_files -/' );; - inspect*:logical*) - args+=( '!-v' - '-P[skip the path resolving and print the inodes instead]' - '-o[ignore offsets when matching references]' - '-s[specify buffer size]:buffer size [4096]' - '1:logical address:_files' - '2:filesystem path:_files -/' - ) - ;; - inspect*:min*) args+=( '--id[specify the device id to query]:device id [1]' );; - inspect*:rootid) args+=( '1:path:_files -/' );; - inspect*:tree*) args+=( '-b[print raw numbers in bytes]' );; - rescue:(chunk|super)-recover) - args+=( '!-v' - '-y[assume yes to every question]' - '1:device:_files' - ) - [[ ${${(P)group}[cmd]} == chunk-recover ]] && args+=('(-)-h[display help]') - ;; - subvolume:get-default) ;& - *:sync) ;& - *:df) args+=( '1:path:->mounts' );; - check) - args+=( \!--readonly - '(-s --super)'{-s,--super}'[specify superblock]:superblock' - '(-b --backup)'{-b,--backup}'[use the backup root copy]' - '(-r --tree-root)'{-r,--tree-root}'[use specified byte number for the tree root]:byte number' - '--chunk-root[ use the given offset for the chunk tree root]:byte offset' - '--repair[try to repair the filesystem]' - '--force[skip mount checks, repair is not possible]' - '--mode[select memory/IO trade-off]:mode:(original lowmem)' - '--init-csum-tree[create a new CRC tree]' - '--init-extent-tree[create a new extent tree]' - '--clear-space-cache[clear space cache for v1 or v2]:version:(v1 v2)' - '--check-data-csum[verify checksums of data blocks]' - '(-Q --qgroup-report)'{-Q,--qgroup-report}'[verify qgroup accounting and compare against filesystem accounting]' - '(-E --subvol-extents)'{-E,--subvol-extents}'[show extent state for the given subvolume]:subvolume id' - '(-p --progress)'{-p,--progress}'[indicate progress at various checking phases]' - '1:path:_files -/' - ) - ;; - restore) - args+=( '!-v' '!--verbose' - '(-s --snapshots)'{-s,--snapshots}'[get snapshots]' - '(-x --xattr)'{-x,--xattr}'[restore extended attributes]' - '(-m --metadata)'{-m,--metadata}'[restore owner, mode and times]' - '(-S --symlink)'{-S,--symlink}'[restore symbolic links]' - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors]' - '(-o --overwrite)'{-o,--overwrite}'[overwrite directories and files]' - '-t[specify tree location]:tree root' - '-f[specify filesystem location]:byte offset' - '(-u --super)'{-u,--super}'[use specified superblock mirror]:mirror:(0 1 2)' - '(-r --root)'{-r,--root}'[specify root objectid]:root id' - '-d[find directory]' - '(-l --list-roots)'{-l,--list-roots}'[list tree roots]' - '(-D --dry-run)'{-D,--dry-run}'[dry run (only list files that would be recovered)]' - '--path-regex[restore only filenames matching regex]:regex' - '-c[ignore case (--path-regex only)]' - '1:device:_files -/' - '2:path:_files -/' - ) - ;; - send|receive) - args+=( '!-q' '!--quiet' ) - ;| - send) - args+=( '!-v' - '-e[if sending multiple subvolumes at once, use the new format]' - '-p[send incremental stream]:parent:_files -/' - '*-c[use snapshot as clone source]:clone:_files -/' - '-f[specify output file]:file:_files' - '--no-data[send in NO_FILE_DATA mode]' - '1:subvolume:_files -/' - ) - ;; - receive) - args+=( '!-v' - '-f[input file]:file: _files' - '-e[terminate after <end cmd>]' - '(-C --chroot)'{-C,--chroot}'[confine the process to destination path using chroot(1)]' - '(-E --max-errors)'{-E,--max-errors}'[terminate as soon as specified number of errors occur]:errors [1]' - '(--dump)-m[specify root mount point of the destination filesystem]:mount point:_directories' - '(-m)--dump[dump stream metadata, one line per operation]' - '1:mount:->mounts' - ) - ;; - h(|e(|l(|p)))) args+=( - '--full[display detailed help on every command]' - '--box[show list of built-in tools (busybox style)]' - ) - ;; - *) args+=( '*: :_default' );; # fallback for unknown subcommands - esac - if ! (( shift )); then - shift words - (( CURRENT-- )) - fi - _arguments -C "$args[@]" && ret=0 - ;; - mounts) - _wanted mount-points expl 'mount point' compadd \ - ${${${(M)${(f)"$(</etc/mtab)"}:#*btrfs*}#* }%% *} && ret=0 - ;; - filters) - state=() - _values -s , filter \ - 'profiles[balance only block groups in given replication profiles]:profile:->profiles' \ - 'usage[balance block groups with usage below percentage]:percentage' \ - 'devid[limit by device ID]:device ID' \ - 'drange[balance block groups overlapping byte range]:range' \ - 'vrange[balance block groups overlapping byte range in virtual address space]:range' \ - 'convert[convert block groups to given profile]:profile:->profiles' \ - 'soft[leave chunks that already have target profile]' && ret=0 - state=( $state ) - ;; - profiles) - compset -P '*\|' - _values -s ',' profile raid0 raid1 raid5 raid6 raid10 dup single && ret=0 - ;; - esac -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bts deleted file mode 100644 index 70b95ef9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bts +++ /dev/null @@ -1,291 +0,0 @@ -#compdef bts - -local expl first=1 - -_arguments -A "-*" \ - '(-o --offline)'{-o,--offline}'[use cached bugs]' \ - '(--online --no-offline)'{--online,--no-offline}'[do not use cached bugs]' \ - '(--cache --no-cache)--cache[cache new versions of pages]' \ - '(--cache --no-cache)--no-cache[do not cache new versions of pages]' \ - '--cache-mode=:cache mode:(min mbox full)' \ - '--cache-delay=:seconds:' \ - '--mbox[open a mail reader to read the corresponding mbox]' \ - '--mailreader=:reader:' \ - '(-f --force-refresh)'{-f,--force-refresh}'[download bug report even if unchanged]' \ - '-no-force-refresh[do not force refresh]' \ - '(-q --quiet)*'{-q,--quiet}'[only display info about newly cached pages]' \ - '(--no-conf --noconf)*'{--no-conf,--noconf}'[do not read any config files]' \ - '*:subcommand and args:->subcmds' && return 0 - -compset -N '-[^0-9]##' && first=0 -compset -N '[,.]' && first=0 -[[ $first -eq 0 ]] || compset -n 2 - -if [[ CURRENT -eq 1 ]]; then - _wanted cmd expl 'bts command' compadd show bugs reopen retitle \ - reassign merge unmerge tag tags severity forwarded notforwarded help \ - clone submitter found notfound block unblock user usertag usertags \ - package owner noowner reportspam cache cleancache claim unclaim \ - subscribe unsubscribe fixed notfixed affects spamreport status \ - select done archive unarchive summary forcemerge limit listcachedbugs \ - version - return -fi - -case "$words[1]" in - (unmerge|notforwarded|noowner|reportspam|spamreport|archive|unarchive) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (show|bugs) - if [[ CURRENT -eq 2 ]]; then - _alternative \ - 'packages:package:_deb_packages avail' \ - 'emails:package maintainer:compadd $DEBEMAIL' \ - 'bugnum:bug number:_debbugs_bugnumber' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - reopen) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted submitter expl 'new submitter' compadd -- $DEBEMAIL - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - retitle) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _message -e submitter 'new title' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - reassign) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted submitter expl 'new package' _deb_packages avail - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (status) - # TODO: some additional syntaxes aren't being completed. - ;& - (merge|forcemerge) - _debbugs_bugnumber - if [[ CURRENT -gt 2 ]]; then - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - tags#) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - elif [[ CURRENT -eq 4 ]]; then - _wanted tag expl 'tag' \ - compadd patch wontfix moreinfo unreproducible help pending \ - fixed security upstream confirmed fixed-upstream \ - fixed-in-experimental d-i ipv6 lfs l10n potato woody sarge \ - sarge-ignore etch etch-ignore lenny lenny-ignore squeeze \ - squeeze-ignore wheezy wheezy-ignore sid experimental - else - _wanted tag expl 'tag' \ - compadd patch wontfix moreinfo unreproducible help pending \ - fixed security upstream confirmed fixed-upstream \ - fixed-in-experimental d-i ipv6 lfs l10n potato woody sarge \ - sarge-ignore etch etch-ignore lenny lenny-ignore squeeze \ - squeeze-ignore wheezy wheezy-ignore sid experimental - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - severity) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted severity expl 'severity' \ - compadd wishlist minor normal serious important critical grave - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - forwarded) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted upstream expl 'upstream email' _email_addresses -c - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (clone) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 || -prefix [-] ]]; then - _wanted newid expl 'new ID' compadd -- -{1..9} - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (submitter) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - else - _alternative \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'email:email address:_email_addresses -c' \ - 'bang:bang:compadd \!' - fi - ;; - (owner|subscribe|unsubscribe) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _alternative \ - 'email:email address:_email_addresses -c' \ - 'bang:bang:compadd \!' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (found|notfound|fixed|notfixed) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _message -e version 'version' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (block|unblock) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted prep expl 'preposition' compadd by with - else - _alternative \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'separator:separator:compadd -S " " , .' - fi - ;; - (user) - if [[ CURRENT -eq 2 ]]; then - _wanted upstream expl 'user email for usertags' _email_addresses -c - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (usertags#) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - elif [[ CURRENT -eq 4 ]]; then - _message -e usertag 'user tag' - else - _message -e usertag 'user tag' - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (package) - if [[ CURRENT -eq 2 ]]; then - _wanted package expl 'package' _deb_packages avail - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (cache) - _alternative \ - 'source-packages:source package:_deb_packages -P "src:" source' \ - 'package:binary package:_deb_packages avail' \ - 'email:email address:_email_addresses -c -P "from:"' \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'rc:rc:compadd release-critical' - ;; - (cleancache) - _alternative \ - 'source-packages:source package:_deb_packages -P "src:" source' \ - 'package:binary package:_deb_packages avail' \ - 'email:email address:_email_addresses -c -P "from:"' \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'all:all:compadd ALL' - ;; - (claim|unclaim) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _alternative \ - 'email:email address:_email_addresses -c' \ - 'separator:separator:compadd -S " " , .' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (affects) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - else - _wanted package expl 'package' _deb_packages avail - fi - ;; - (summary) - case $CURRENT in - (2) _debbugs_bugnumber;; - (3) _message -e message-number 'message number';& - (4) _wanted sep expl 'separator' compadd -S ' ' , .;; - esac - ;; - (close|done) - case $CURRENT in - (2) _debbugs_bugnumber;; - (3) _message -e version 'version';& - (4) _wanted sep expl 'separator' compadd -S ' ' , .;; - esac - ;; - (select) - _values -S : -w "select field" \ - '*package[binary package]: :_deb_packages avail' \ - '*source[source package]: :_deb_packages source' \ - '*maintainer:email address of the maintainer:_email_addresses -c' \ - '*submitter:email address of the submitter:_email_addresses -c' \ - '*severity:severity:(wishlist minor normal important serious grave critical)' \ - '*tag[tags applied to the bug]:tags:' \ - '*owner:owner:_email_addresses -c' \ - '*correspondent:email address of a correspondent:_email_addresses -c' \ - '*affects:affected package:_deb_packages avail' \ - '*users:namespaces of usertags:_email_addresses -c' \ - '*archive:whether to search archived bugs:((0:no 1:yes both:both))' - # undocumented: bugs - _wanted sep expl 'separator' compadd -S ' ' , . - ;; - (limit) - _values -S : -w "limit field" \ - '*submitter[email address of the submitter]:submitter:_email_addresses -c' \ - '*date[bug submission timestamp]:unix timestamp' \ - '*subject[subject of the bug]:bug subject:' \ - '*msgid[message-id of the initial bug report]:message-id:' \ - '*package[binary package]: :_deb_packages avail' \ - '*source[source package]: :_deb_packages source' \ - '*tag[tags applied to the bug]:tags:' \ - '*severity:severity:(wishlist minor normal important serious grave critical)' \ - '*owner:owner:_email_addresses -c' \ - '*affects:affected package:_deb_packages avail' \ - '*archive:whether to search archived bugs:((0:no 1:yes both:both))' - _wanted sep expl 'separator' compadd -S ' ' , . - ;; - help) - ;& - *) _wanted sep expl 'separator' compadd -S ' ' , . - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bug b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bug deleted file mode 100644 index 436d294f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bug +++ /dev/null @@ -1,109 +0,0 @@ -#compdef bug reportbug querybts - -local _bug_commonargs _rb_commonargs - -_bug_commonargs=( - '-d[debug: send mail to postmaster@localhost]' - '-m[maintainer-only]' - '-p[print to stdout instead of mail]' - '-h[help]' -) - -_rb_commonargs=( - '(-B --bts)'{-B,--bts=}'[use alternate BTS]:system:(debian gnome kde tdyc kde-debian)' - '(-l --ldap)'{-l,--ldap}'[enable LDAP support]' - '(-l --ldap)--no-ldap[disable LDAP support]' - '(--proxy --http_proxy)'--{http_,}'proxy=:proxy host:_hosts' -) - -case "$service" in - bug) - _arguments \ - '-c[exclude configs from report]' \ - '-f[argument is a file, not a package]' \ - '-H[special header]:custom header:' \ - '-q[quiet - no e-mail forwarding]' \ - '-s[set subject]:subject:' \ - '-S[set severity]:severity:(wishlist normal important serious grave critical)' \ - '-v[version]' \ - '-x[do not cc submitter]' \ - '-z[send configs verbatim]' \ - '*:package:_deb_packages installed' \ - "$_bug_commonargs[@]" - ;; - reportbug) - _arguments \ - '(-c --no-config-files)'{-c,--no-config-files}'[exclude configs from report]' \ - '(-f --filename)'{-f,--filename=}'[argument is a file, not a package]:filename:_files' \ - '(-H --header)'{-H,--header=}'[special header]:custom header' \ - '(-s --subject)'{-s,--subject=}'[set subject]:subject' \ - '(-S --severity)'{-S,--severity=}'[set severity]:severity:(wishlist normal important serious grave critical)' \ - '(-x --no-cc)'{-x,--no-cc}'[do not cc submitter]' \ - '(-z --no-compress)'{-z,--no-compress}'[send configs verbatim]' \ - '(-a --af)'{-a,--af}'[use af instead of editor]' \ - '(-g --gpg --gnupg)'{-g,--gpg,--gnupg}'[sign report with GnuPG]' \ - '(-i --include)'{-i,--include}'[include text]:include file:_files' \ - '(-A --attach)'{-A,--attach=}'[attach file]:attachment:_files' \ - '(-M --mutt)'{-M,--mutt}'[use mutt instead of editor]' \ - '(-G --gnus)'{-G,--gnus}'[use GNUS instead of editor]' \ - '(-e --editor)'{-e,--editor=}'[use specified editor instead of editor]:editor' \ - '--mua=[use specified mua instead of editor]' \ - '--mta=[use specified mta]' \ - '(-n --nmh --mh)'{-n,--nmh,--mh}'[use comp instead of editor]' \ - '(-o --output)'{-o,--output=}'[output to file instead of mail]:output file:_files' \ - '(-P --pgp)'{-P,--pgp}'[sign report with PGP]' \ - '(-C --class)'{-C,--class=}':GNATS report class' \ - '--realname=:real name' \ - '(--replyto)--reply-to=' \ - '(--reply-to)--replyto=' \ - '--email=:originating address:_email_addresses' \ - '--smtphost=:SMTP server:_hosts' \ - '(-p --print)'{-p,--print}'[print to stdout instead of mail]' \ - '(-q --quiet)'{-q,--quiet}'[reduce verbosity of output]' \ - '(--no-query-source)--query-source' \ - '(--query-source)--no-query-source' \ - '(--no-debconf)--debconf' \ - '(--debconf)--no-debconf' \ - '(-Q --query-only)'{-Q,--query-only}'[do not submit]' \ - '(-j --justification)'{-j,--justification=}':justification' \ - '(-V --package-version)'{-V,--package-version=}':package version' \ - '(-u --interface)'{-u,--interface=}':user interface' \ - '(-t --type)'{-t,--type=}':type of report' \ - '--template[output a template report only]' \ - '--configure[reconfigure reportbug for this user]' \ - '(--no-check-available)--check-available' \ - '(--check-available)--no-check-available' \ - '--mode=' \ - '(-v --verify --no-verify)'{-v,--verify}'[verify integrity with debsums]' \ - '(--verify -v)--no-verify' \ - '(-k --kudos)'{-k,--kudos}'[send appreciative email to maintainer]' \ - '--mirror=:BTS mirror:_hosts' \ - '--list-cc=:carbon copy:' \ - '--report-quiet' \ - '(-O --offline)'{-O,--offline}'[disable external queries]' \ - '(-b --no-query-bts --query-bts)'{-b,--no-query-bts}'[do not query BTS]' \ - '(-b --no-query-bts)--query-bts' \ - '(-T --tags)'{-T,--tags=}'[add specified tags]:tags' \ - '(-m)--maintonly' \ - '(-d)--debug' \ - '--version' \ - '--license' \ - '(--no-paranoid)--paranoid' \ - '(--paranoid)--no-paranoid' \ - '--body=:message body string' \ - '--body-file=:message body file:_files' \ - '*:package: _alternative "packages::_deb_packages installed" "files::{ [[ \$PREFIX[1] == / ]] && _files }"' \ - "$_bug_commonargs[@]" \ - "$_rb_commonargs[@]" - ;; - querybts) - _arguments \ - '(-w --web)'{-w,--web}'[launch external web browser]' \ - '(-A --archive)'{-A,--archive}'[browse archived bugs]' \ - '(-s --source)'{-s,--source}'[query for source packages rather than binary]' \ - '(-v --version)'{-v,--version}'[show version]' \ - "$_rb_commonargs[@]" \ - '*:a package name or bug numbers:_deb_packages avail' - # TODO: could call _debbugs_bugnumber here. - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_builtin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_builtin deleted file mode 100644 index ffb7b8c8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_builtin +++ /dev/null @@ -1,11 +0,0 @@ -#compdef builtin - -if (( $CURRENT > 2 )); then - shift words - (( CURRENT -- )) - _normal -p $service -else - local expl - - _wanted commands expl 'builtin command' compadd "$@" -k builtins -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzip2 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzip2 deleted file mode 100644 index c175e5c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzip2 +++ /dev/null @@ -1,50 +0,0 @@ -#compdef bzip2 bunzip2 bzcat=bunzip2 bzip2recover -redirect-,<,bunzip2=bunzip2 -redirect-,>,bzip2=bunzip2 -redirect-,<,bzip2=bzip2 - -local decompress expl state line curcontext="$curcontext" ret=1 -typeset -A opt_args - -case "$service" in - bzip2recover) [[ $CURRENT = 2 ]] && state=files;; - bzip2) decompress=no;& - bunzip2) _arguments -C -s -S \ - '(- *)'{-h,--help}'[display help message]' \ - '(-d --decompress --compress -z --test -t)'{-d,--decompress}'[decompress]' \ - '(-z --compress --decompress -d --test -t)'{-z,--compress}'[compress]' \ - '(-k --keep)'{-k,--keep}"[keep (don't delete) input files]" \ - '(-f --force)'{-f,--force}'[force overwrite]' \ - '(-t --test --decompress -d --compress -z)'{-t,--test}'[test compressed file integrity]' \ - '(-c --stdout)'{-c,--stdout}'[write on standard output]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all warnings]' \ - \*{-v,--verbose}'[verbose mode]' \ - '(- *)'{-L,--license}'[display software license]' \ - '(- *)'{-V,--version}'[display version number]' \ - '(--small -s)'{-s,--small}'[reduce memory usage (at most 2500k)]' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9 --fast )--best' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9 --best)--fast' \ - '( -2 -3 -4 -5 -6 -7 -8 -9 --fast --best)-1' \ - '(-1 -3 -4 -5 -6 -7 -8 -9 --fast --best)-2' \ - '(-1 -2 -4 -5 -6 -7 -8 -9 --fast --best)-3' \ - '(-1 -2 -3 -5 -6 -7 -8 -9 --fast --best)-4' \ - '(-1 -2 -3 -4 -6 -7 -8 -9 --fast --best)-5' \ - '(-1 -2 -3 -4 -5 -7 -8 -9 --fast --best)-6' \ - '(-1 -2 -3 -4 -5 -6 -8 -9 --fast --best)-7' \ - '(-1 -2 -3 -4 -5 -6 -7 -9 --fast --best)-8' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 --fast --best)-9' \ - '*:files:->files' && ret=0 - ;; -esac - -if [[ "$state" = files ]]; then - (( $+opt_args[-z] || $+opt_args[--compress] )) && decompress=no - (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[-t] || - $+opt_args[--test] )) && unset decompress - if [[ -z "$decompress" ]]; then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.(bz2|tbz|tbz2)(-.)' && return - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(bz2|tbz|tbz2)(-.)' && return - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzr deleted file mode 100644 index 121c2816..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_bzr +++ /dev/null @@ -1,426 +0,0 @@ -#compdef bzr - -# bzr is the bazaar-ng revision-control system - -local curcontext="$curcontext" state line expl cmd args ret=1 -typeset -A opt_args - -_arguments -C \ - '1: :->cmd' \ - '*:: :->args' && ret=0 - -if (( ! $+_bzr_cmds )); then - typeset -gH _bzr_cmds - _bzr_cmds=(${(f)"$(_call_program subcommands bzr shell-complete)"}) -fi - -if [[ $state != 'args' ]]; then - _describe -t subcommands 'subcommand' _bzr_cmds - return -fi - -cmd="$words[1]" -curcontext="${curcontext%:*:*}:bzr-$cmd:" - -(( $+functions[_bzr_unknownFiles] )) || -_bzr_unknownFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --unknown -R)"}) - compadd -af fileList -} - -(( $+functions[_bzr_unknownRoot] )) || -_bzr_unknownRoot() { - local -a fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --from-root --unknown)"}) - compadd -af fileList -} - -(( $+functions[_bzr_versionedFiles] )) || -_bzr_versionedFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --versioned -R)"}) - compadd -af fileList -} - -(( $+functions[_bzr_modifiedFiles] )) || -_bzr_modifiedFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr status . --versioned --short | cut -b 5- | tr '\n' '\0')"}) - compadd -af fileList -} - -(( $+functions[_bzr_completeParents] )) || -_bzr_completeParents() { - local parentFile=$(_call_program parents bzr root)/.bzr/branch/parent - [[ -r $parentFile ]] && _wanted parents expl parent compadd -- $(<$parentFile) -} - -args=( '(-)'{--help,-h}'[show help message]' ) - -case $cmd in -(add) - args+=( - '--dry-run[show what would be added without adding anything]' - '--no-recurse[do not recurse into subdirectories]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:unknown file:_bzr_unknownFiles' - ) - ;; - -(annotate|blame|praise) - args+=( - '--all[show annotations on all lines]' - '--long[show date in annotations]' - '(-r --revision)'{--revision=,-r}'[the revision to show]:rev:' - '*:file:_bzr_versionedFiles' - ) - ;; - -(branch|get|clone) - args+=( - '(-r --revision)'{--revision=,-r}'[the revision to get]:rev:' - '--basis=[specify basis branch]:basis:' - ) - if (( CURRENT == 2 )); then - args+=( '*:FROM_LOCATION:_files -/' ) - elif (( CURRENT == 3 )); then - args+=( '*:TO_LOCATION:_files -/' ) - fi - ;; - -(checkout|co) - args+=( - '--lightweight[perform a lightweight checkout]' - '(-r --revision)'{--revision=,-r}'[the revision to get]:rev:' - ) - _bzr_completeParents && ret=0 - ;; - -(rename|move|mv) - if (( CURRENT == 2 )); then - args+=( '*:file:_bzr_versionedFiles' ) - else - args=( '*:destination dir:_files -/' ) - fi - ;; - -(cat) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:rev:' - '*:file:_bzr_versionedFiles' - ) - ;; - -(root) - args+=( '*:file:_files' ) - ;; - -(log) - args+=( - '--forward[reverse direction of revisions]' - '(-l --long --short --log_format)--line[use log format with one line per revision. Same as "--log-format line"]' - '(-l --long --short --line)--log-format=[use the specified log format]:log format:(line short long)' - '(-l --long --short --line --log-format)'{--long,-l}'[use detailed log format. Same as "--log-format long"]' - '(-l --long --log_format)--short[use moderately short log format. Same as "--log-format short"]' - '(-m --message)'{--message=,-m}'[specify regexp]:regexp:' - '(-r --revision)'{--revision=,-r}'[revision or range]:rev or rev range:' - '--show-ids[show file IDs]' - '--timezone=[specify timezone for dates]:timezone:' - '(-v --verbose)'{--verbose,-v}'[show revision manifest]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(resolve|resolved) - args+=( - '--all[resolve all conflicts in this tree]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(status|st|stat) - args+=( - '--all[include unchanged versioned files]' - '(-r --revision)'{--revision=,-r}'[compare working tree with revision]:revision:' - '--show-ids[show file IDs]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(check) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:DIR:_files -/' - ) - ;; - -(mkdir|renames|update) - args+=( '*:DIR:_files -/' ) - ;; - -(init|upgrade) - args+=( - '--format=[format for repository]:format:(default knit metaweave weave)' - '*:DIR:_files -/' - ) - ;; - -(init-repo|init-repository) - args+=( - '--format=[format for repository]:format:(default knit metaweave weave)' - '--trees[allows branches in repository to have a working tree]' - '*:DIR:_files -/' - ) - ;; - -(remove|rm) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(pull) - args+=( - '--overwrite[ignore differences, overwrite unconditionally]' - '--remember[remember the specified location as a default]' - '(-r --revision)'{--revision=,-r}'[get a particular revision]:revision:' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(missing) - args+=( - '(-l --long --short --log_format)--line[use log format with one line per revision. Same as "--log-format line"]' - '(-l --long --short --line)--log-format=[use the specified log format]:log format:(line short long)' - '(-l --long --short --line --log-format)'{--long,-l}'[use detailed log format. Same as "--log-format long"]' - '(-l --long --log_format)--short[use moderately short log format. Same as "--log-format short"]' - '--mine-only[display changes in the local branch only]' - '--reverse[reverse the order of revisions]' - '--show-ids[show internal object ids]' - '--theirs-only[display changes in the remote branch only]' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(commit|checkin|ci) - args+=( - '(-F --file)'{--file=,-F}'[commit message from file]:message file:' - '--local[perform a local only commit in a bound branch]' - '(-m --message)'{--message=,-m}'[commit message]:message text:' - '--strict[refuse to commit if there are unknown files]' - '--unchanged[include unchanged files]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:modified file:_bzr_modifiedFiles' - ) - ;; - -(shelve) - args+=( - '--destroy[Destroy removed changes instead of shelving them]' - '(-m --message)'{--message=,-m}'[shelve message]:message text:' - '--all[shelve all changes]' - '(-q --quiet)'{--quiet,-q}'[be quiet]' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:modified file:_bzr_modifiedFiles' - ) - ;; - -(bind|break-lock|reconcile) - _bzr_completeParents && ret=0 - ;; - -(register-branch) - args+=( - '--author=[email of the branch author, if not you]:email:' - '--branch-description=[longer description of the branch]:description:' - '--branch-name=[short name for the branch]:name:' - '--branch-title=[one-sentence description of the branch]:title:' - '--dry-run[prepare the request but do not actually send it]' - '--link-bug=[the bug this branch fixes]:bug-ID:' - '--product=[launchpad product short name to associate with the branch]:product:' - ) - _bzr_completeParents && ret=0 - ;; - -(remerge) - args+=( - '--merge-type=[the type of the merge]:type:' - '--reprocess[reprocess to reduce spurious conflicts]' - '--show-base[show base revision text in conflicts]' - ) - _bzr_completeParents && ret=0 - ;; - -(conflicts|added|deleted|modified|unknowns|directories|ignored|unbind|nick|revno|version) - ;; - -(whoami) - args+=( '--email[only show e-mail address]' ) - ;; - -(inventory) - args+=( - '--kind=[limit output by type]:kind:(file directory symlink)' - '(-r --revision)'{--revision=,-r}'[show inventory of a revision]:revision:' - '--show-ids[show file IDs]' - ) - ;; - -(diff|dif|di|cdiff) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--diff-options=[options to pass to gdiff]:diff options:' - '(-p --prefix)'{--prefix,-p}'[set prefix added to old and new filenames]' - '*:file:_files' - ) - ;; - -(export) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--format=[format of exported file]:format:(dir tar tgz tbz2)' - '--root=[root directory of patch]:_files -/' - '*:destination:_files' - ) - ;; - -(ignore) - args+=( '*:NAME_PATTERN:_bzr_unknownRoot' ) - ;; - -(info) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:branch:_files -/' - ) - ;; - -(testament) - args+=( - '(-l --long)'{--long,-l}'[use long format]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '*:branch:_files -/' - ) - ;; - -(revert|merge-revert) - args+=( - '--no-backup[skip generation of backup~ files]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '*:file:_bzr_modifiedFiles' - ) - ;; - -(merge) - args+=( - '--force[ignore uncommitted changes]' - '--merge-type:merge type:(diff3 merge3 weave)' - '--remember[remember the specified location as a default]' - '--reprocess[reprocess to reduce spurious conflicts]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--show-base[show base revision text in conflicts]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(ls) - args+=( - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--from-root[print all paths from the root of the branch]' - '--non-recursive[do not recurse into subdirectories]' - '--null[null separate the files]' - '--ignored[print ignored files]' - '--unknown[print unknown files]' - '--versioned[print versioned files]' - ) - ;; - -(switch) - args+=( - '--force[switch even if local commits will be lost]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(help) - args=( - '(-l --long)'{--long,-l}'[use long format]' - '*:subcmds:->cmds' - ) - _arguments -s "$args[@]" && ret=0 - _describe -t subcommands 'subcommand' _bzr_cmds && ret=0 - return ret - ;; - - # Plugins - -(visualize|visualise|viz|vis) - args+=( '(-r --revision)'{--revision=,-r}'[starting revision]:rev:' ) - ;; - -(gannotate|gblame|gpraise) - args+=( - '--all[show annotations on all lines]' - "--plain[don't highlight annotation lines]" - '*:file:_bzr_versionedFiles' - ) - ;; - -(push) - args+=( - '--create-prefix[create the path leading up to the branch when missing]' - '--overwrite[ignore differences, overwrite unconditionally]' - '--remember[remember the specified location as a default]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(clean-tree) - args+=( - '--dry-run[show files to delete instead of deleting them]' - '--ignored[delete all ignored files]' - '--detritus[delete conflict files, merge backups, failed self-tests, *~, *.tmp, etc]' - ) - ;; - -(uncommit) - args+=( - '--dry-run[do not make any changes]' - '--force[say "yes" to all questions]' - '(-r --revision)'{--revision=,-r}'[the earliest revision to delete]:rev:' - '(-v --verbose)'{--verbose,-v}'[display more information]' - ) - ;; - -(sign-my-commits) - args+=( '--dry-run[do not actually sign anything]' ) - ;; - -(send) - args+=( '*:DIR:_files -/' ) - ;; - -(*) - _default - return - ;; -esac - -_arguments -s "$args[@]" && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cabal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cabal deleted file mode 100644 index bd81cf26..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cabal +++ /dev/null @@ -1,9 +0,0 @@ -#compdef cabal - -local -a subcmds - -subcmds=(${${${${${(f)"$(cabal --help)"}[(r)Commands:*,(r)For more information*]}[2,-2]}# }%% *}) - -_arguments \ - '1:subcmd:compadd -a subcmds' \ - ':other: _alternative "options:option:compadd -- $(cabal $words[2] --list-options)" "files:file:_files"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cache_invalid b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cache_invalid deleted file mode 100644 index e5538143..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cache_invalid +++ /dev/null @@ -1,21 +0,0 @@ -#autoload -# -# Function to decide whether a completions cache needs rebuilding - -local _cache_ident _cache_dir _cache_path _cache_policy -_cache_ident="$1" - -# If the cache is disabled, we never want to rebuild it, so pretend -# it's valid. -zstyle -t ":completion:${curcontext}:" use-cache || return 1 - -zstyle -s ":completion:${curcontext}:" cache-path _cache_dir -: ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} -_cache_path="$_cache_dir/$_cache_ident" - -# See whether the caching policy says that the cache needs rebuilding -# (the policy will return 0 if it does). -zstyle -s ":completion:${curcontext}:" cache-policy _cache_policy -[[ -n "$_cache_policy" ]] && "$_cache_policy" "$_cache_path" && return 0 - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_caffeinate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_caffeinate deleted file mode 100644 index 9e361a5b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_caffeinate +++ /dev/null @@ -1,12 +0,0 @@ -#compdef caffeinate - -_arguments -s -S : \ - '-d[prevent display sleep]' \ - '-i[prevent system idle sleep]' \ - '-m[prevent disk idle sleep]' \ - '-s[prevent system sleep (AC power only)]' \ - '-u[declare that user is active]' \ - '(:)-t[specify assertion timeout value]:timeout (seconds)' \ - '(:)-w[wait for specified PID]: :_pids' \ - '(-)1: : _command_names -e' \ - '(-)*::command argument' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cal deleted file mode 100644 index 82bb98b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cal +++ /dev/null @@ -1,28 +0,0 @@ -#compdef cal ncal - -local args - -case $service in - cal) - args=( - '-3[three in a row]' - '-m[Monday as first day of the week]' - ) - ;; - ncal) - args=( - '-J[display Julian calendar]' - '-e[display date of western Easter]' - '-o[display date of orthodox Easter]' - '-p[assume as by ncal]' - '-s[country code]' - '-w[print number of the week below each column]' - ) - ;; -esac - -_arguments "${args[@]}" \ - '-j[display Julian days]' \ - '-y[display a calendar for the current year]' \ - '::month' \ - ':year' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_calendar b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_calendar deleted file mode 100644 index a79fc729..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_calendar +++ /dev/null @@ -1,34 +0,0 @@ -#compdef calendar - -if [[ $+functions[calendar] -eq 1 && -z $precommands[(r)command] ]]; then - # The shell function is loaded, and we're not instructed to - # use an external command, so complete that. - _arguments \ - '-a[show all calendar items]' \ - '-b[brief, display first line only]' \ - '-d[move events to done file]' \ - '-D[never move events to done file]' \ - '-r[show all remaining items from start or now]' \ - '-s[use sched to schedule a warning]' \ - '-v[verbose]' \ - '-B[select number of lines to display]:lines: ' \ - '-C[select calendar file]:calendar file:_path_files' \ - '-n[select max number of events]:max number of events: ' \ - '-S[select show programme]:show programme:_command_names' \ - '1:date/time: ' \ - '(-r)2:end date/time: ' -else - # This is only one particular version of calendar. - # Some variant of BSD, I think. - - _arguments \ - '-a[process files of all users]' \ - '-A[print today and the following num days]:number of days:' \ - '-b[enforce special KOI8 date calculation mode]' \ - '-B[print today and the previous num days]:number of days:' \ - '-f[use file as the default calendar]:calendar file:_files' \ - '-l[print today and the following num days]:number of days:' \ - '-w[print today and the following num days only if today is Friday]:number of days:' \ - '-t[act as though today is the date specified]:date:' - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_function b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_function deleted file mode 100644 index 342f3509..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_function +++ /dev/null @@ -1,32 +0,0 @@ -#autoload - -# Utility function to call a function if it exists. -# -# Usage: _call_function <return> <name> [ <args> ... ] -# -# If a function named <name> is defined (or defined to be autoloaded), -# it is called. If <return> is given not the string `-' or empty, it is -# taken as the name of a parameter and the return status of the function -# called is stored in this parameter. All other arguments are given -# to the function called. -# The return value of this function is zero if the function was -# called and non-zero otherwise. - -local _name _ret - -[[ "$1" != (|-) ]] && _name="$1" - -shift - -if (( $+functions[$1] )); then - "$@" - _ret="$?" - - [[ -n "$_name" ]] && eval "${_name}=${_ret}" - - compstate[restore]='' - - return 0 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_program b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_program deleted file mode 100644 index 55712b04..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_call_program +++ /dev/null @@ -1,40 +0,0 @@ -#autoload +X - -local -xi COLUMNS=999 -local curcontext="${curcontext}" tmp err_fd=-1 clocale='_comp_locale;' -local -a prefix - -if [[ "$1" = -p ]]; then - shift - if (( $#_comp_priv_prefix )); then - curcontext="${curcontext%:*}/${${(@M)_comp_priv_prefix:#^*[^\\]=*}[1]}:" - zstyle -t ":completion:${curcontext}:${1}" gain-privileges && - prefix=( $_comp_priv_prefix ) - fi -elif [[ "$1" = -l ]]; then - shift - clocale='' -fi - -if (( ${debug_fd:--1} > 2 )) || [[ ! -t 2 ]] -then exec {err_fd}>&2 # debug_fd is saved stderr, 2 is trace or redirect -else exec {err_fd}>/dev/null -fi - -{ # Begin "always" block - -if zstyle -s ":completion:${curcontext}:${1}" command tmp; then - if [[ "$tmp" = -* ]]; then - eval $clocale "$tmp[2,-1]" "$argv[2,-1]" - else - eval $clocale $prefix "$tmp" - fi -else - eval $clocale $prefix "$argv[2,-1]" -fi 2>&$err_fd - -} always { - -exec {err_fd}>&- - -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_canonical_paths b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_canonical_paths deleted file mode 100644 index a8fbbb52..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_canonical_paths +++ /dev/null @@ -1,122 +0,0 @@ -#autoload - -# This completion function completes all paths given to it, and also tries to -# offer completions which point to the same file as one of the paths given -# (relative path when an absolute path is given, and vice versa; when ..'s are -# present in the word to be completed, and some paths got from symlinks). - -# Usage: _canonical_paths [-A var] [-N] [-MJV12onfX] tag desc [paths...] - -# -A, if specified, takes the paths from the array variable specified. Paths -# can also be specified on the command line as shown above. -N, if specified, -# prevents canonicalizing the paths given before using them for completion, in -# case they are already so. `tag' and `desc' arguments are well, obvious :) In -# addition, the options -M, -J, -V, -1, -2, -o, -n, -F, -x, -X are passed to -# compadd. - -_canonical_paths_add_paths () { - # origpref = original prefix - # expref = expanded prefix - # curpref = current prefix - # canpref = canonical prefix - # rltrim = suffix to trim and readd - local origpref=$1 expref rltrim curpref canpref subdir - [[ $2 != add ]] && matches=() - expref=${~origpref} 2>/dev/null - [[ $origpref == (|*/). ]] && rltrim=. - curpref=${${expref%$rltrim}:-./} - canpref=$curpref:P - [[ $curpref == */ && $canpref == *[^/] ]] && canpref+=/ - canpref+=$rltrim - [[ $expref == *[^/] && $canpref == */ ]] && origpref+=/ - - # Append to $matches the subset of $files that matches $canpref. - if [[ $canpref == $origpref ]]; then - # This codepath honours any -M matchspec parameters. - () { - local -a tmp_buffer - compadd -A tmp_buffer "$__gopts[@]" -a files - matches+=( "${(@)tmp_buffer/$canpref/$origpref}" ) - } - else - # ### Ideally, this codepath would do what the 'if' above does, - # ### but telling compadd to pretend the "word on the command line" - # ### is ${"the word on the command line"/$origpref/$canpref}. - matches+=(${${(M)files:#$canpref*}/$canpref/$origpref}) - fi - - for subdir in $expref?*(@); do - _canonical_paths_add_paths ${subdir/$expref/$origpref} add - done -} - -_canonical_paths() { - # The following parameters are used by callee functions: - # __gopts - # matches - # files - # (possibly others) - - local __index - typeset -a __gopts __opts - - zparseopts -D -a __gopts M+: J+: V+: o+: 1 2 n F: x+: X+: A:=__opts N=__opts - - : ${1:=canonical-paths} ${2:=path} - - __index=$__opts[(I)-A] - (( $__index )) && set -- $@ ${(P)__opts[__index+1]} - - local expl ret=1 tag=$1 desc=$2 - - shift 2 - - if ! zmodload -F zsh/stat b:zstat 2>/dev/null; then - _wanted "$tag" expl "$desc" compadd $__gopts $@ && ret=0 - return ret - fi - - typeset REPLY - typeset -a matches files - - if (( $__opts[(I)-N] )); then - files=($@) - else - files+=($@:P) - fi - - local base=$PREFIX - typeset -i blimit - - _canonical_paths_add_paths $base - - if [[ -z $base ]]; then - _canonical_paths_add_paths / add - elif [[ $base == ..(/.(|.))#(|/) ]]; then - - # This style controls how many parent directory links (..) to chase searching - # for possible completions. The default is 8. Note that this chasing is - # triggered only when the user enters at least a .. and the path completed - # contains only . or .. components. A value of 0 turns off .. link chasing - # altogether. - - zstyle -s ":completion:${curcontext}:$tag" \ - canonical-paths-back-limit blimit || blimit=8 - - if [[ $base != */ ]]; then - [[ $base != *.. ]] && base+=. - base+=/ - fi - until [[ $base.. -ef $base || blimit -le 0 ]]; do - base+=../ - _canonical_paths_add_paths $base add - blimit+=-1 - done - fi - - _wanted "$tag" expl "$desc" compadd $__gopts -Q -U -a matches && ret=0 - - return ret -} - -_canonical_paths "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_capabilities b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_capabilities deleted file mode 100644 index 8cb31878..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_capabilities +++ /dev/null @@ -1,65 +0,0 @@ -#autoload - -# This function completes POSIX capabilities for Linux. -# Many command line utilities expect different syntax to encode various kinds -# of capability names or sets, so this function tries to be as generic as -# possible. It accepts compadd options to allow variations on the exact -# generated completion matches. -# -# Usage examples: -# -# Complete full capability names: -# _capabilities -p cap_ -# Sort the completion list by capability number: -# _capabilities -o nosort - -# The list of Linux capabilities is taken from include/uapi/linux/capability.h -# and subject to the following pipe filter: -# grep 'define CAP' | sed -r 's/^[[:space:]]*#define[[:space:]]+CAP_//; s/[[:space:]]+[0-9]+$//' | tr '[[:upper:]]' '[[:lower:]]' -local -a caplist=( - chown - dac_override - dac_read_search - fowner - fsetid - kill - setgid - setuid - setpcap - linux_immutable - net_bind_service - net_broadcast - net_admin - net_raw - ipc_lock - ipc_owner - sys_module - sys_rawio - sys_chroot - sys_ptrace - sys_pacct - sys_admin - sys_boot - sys_nice - sys_resource - sys_time - sys_tty_config - mknod - lease - audit_write - audit_control - setfcap - mac_override - mac_admin - syslog - wake_alarm - block_suspend - audit_read - perfmon - bpf - checkpoint_restore -) -local -a expl - -_description capabilities expl "Linux capability" -compadd "${(@)expl}" "$@" -a - caplist diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cat deleted file mode 100644 index 74d7278b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cat +++ /dev/null @@ -1,62 +0,0 @@ -#compdef cat gcat - -local -a args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-A --show-all)'{-A,--show-all}'[equivalent to -vET]' - '(-b --number-nonblank -n --number)'{-b,--number-nonblank}'[number nonempty output lines, overrides -n]' - '-e[equivalent to -vE]' - '(-E --show-ends)'{-E,--show-ends}'[display $ at end of each line]' - '(-n --number)'{-n,--number}'[number all output lines]' - '(-s --squeeze-blank)'{-s,--squeeze-blank}'[suppress repeated empty output lines]' - '-t[equivalent to -vT]' - '(-T --show-tabs)'{-T,--show-tabs}'[display TAB characters as ^I]' - '-u[ignored]' - '(-v --show-nonprinting)'{-v,--show-nonprinting}'[use ^ and M- notation, except for LFD and TAB]' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - '*: :_files' - ) - -elif [[ "$OSTYPE" == (*bsd|dragonfly|darwin)* ]]; then - args=( - -A "-*" - '(-n)-b[number non-blank output lines]' - '(-v)-e[display $ at the end of each line (implies -v)]' - '-n[number all output lines]' - '-s[squeeze multiple blank lines into one]' - '(-v)-t[display tab as ^I (implies -v)]' - '-u[do not buffer output]' - '-v[display non-printing chars as ^X or M-a]' - '*: :_files' - ) - [[ $OSTYPE = (free|net)bsd* ]] && args+=( - '-l[set a lock on the stdout file descriptor]' - ) - [[ $OSTYPE = netbsd* ]] && args+=( - '-B+[read with buffer of specified size]:size (bytes)' - '-f[only attempt to display regular files]' - ) -elif [[ $OSTYPE = solaris* ]]; then - args=( - -A "-*" - '(-b)-n[number all output lines]' - '(-n)-b[number non-blank output lines]' - "-u[don't buffer output]" - '-s[be silent about non-existent files]' - '-v[display non-printing chars as ^X or M-a]' - '-e[display $ at the end of each line (requires -v)]' - '-t[display tab as ^I and formfeeds and ^L (requires -v)]' - '*: :_files' - ) -else - # POSIX requires '-u', and most OSes may support '-n' - args=( - '-n[number all output lines]' - '-u[do not buffer output]' - '*: :_files' - ) -fi - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ccal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ccal deleted file mode 100644 index f8e19e15..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ccal +++ /dev/null @@ -1,17 +0,0 @@ -#compdef ccal - -_arguments \ - '-nodata[ignore appointment descriptions file]' \ - '-data-file=[load appointments from file]:caldat file:_files' \ - '-future[show only future appointments on current month]' \ - "-today[show only today's appointments on current month]" \ - '-europe[European format (first day is Monday)]' \ - '-american[North American format (first day is Sunday)]' \ - '-maxappts=[display maximum of n appointments]:number of appointments:('{8..50}')' \ - '-pause[pause for keystroke before exiting]' \ - '-nocolor[inhibit use of colors]' \ - '-color-file=[load color definitions from file]:calcol file:_files' \ - '-8bit[display 8-bit ascii characters]' \ - '1:month:(1 2 3 4 5 6 7 8 9 10 11 12 jan feb mar apr may jun jul aug sep oct nov dec)' \ - '2:year:' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cd deleted file mode 100644 index 46237e73..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cd +++ /dev/null @@ -1,118 +0,0 @@ -#compdef cd chdir pushd - -# Handling of cd. -# - Normally just completes directories. Uses cdpath if that's set -# and the string doesn't begin with ~, /, ./ or ../. -# - In the second argument to cd for the form `cd old new', completes -# possible `new' strings by examining `old' and $PWD. -# - After - or +, _directory_stack completes numbers, but the listing -# gives you the list of directories to complete. This turns on -# menu-completion and lists the possibilities automatically, otherwise -# it's not a lot of use. If you don't type the + or - it will -# complete directories as normal. - -_cd_options() { - _arguments -s \ - '-q[quiet, no output or use of hooks]' \ - '-s[refuse to use paths with symlinks]' \ - '(-P)-L[retain symbolic links ignoring CHASE_LINKS]' \ - '(-L)-P[resolve symbolic links as CHASE_LINKS]' -} - -setopt localoptions nonomatch - -local expl ret=1 curarg -integer argstart=2 noopts match mbegin mend - -if (( CURRENT > 1 )); then - # if not in command position, may have options. - # Careful: -<-> is not an option. - while [[ $words[$argstart] = -* && argstart -lt CURRENT ]]; do - curarg=$words[$argstart] - [[ $curarg = -<-> ]] && break - (( argstart++ )) - [[ $curarg = -- ]] && noopts=1 && break - done -fi - -if [[ CURRENT -eq $((argstart+1)) ]]; then - # cd old new: look for old in $PWD and see what can replace it - local rep - # Get possible completions using word in position 2 - rep=(${~PWD/$words[$argstart]/*}~$PWD(-/)) - # Now remove all the common parts of $PWD and the completions from this - rep=(${${rep#${PWD%%$words[$argstart]*}}%${PWD#*$words[$argstart]}}) - (( $#rep )) && _wanted -C replacement strings expl replacement compadd -a rep -else - # Complete directory stack entries with ~ or when not in command position - # (the rest of this test is optimization for the _tilde call below) - if [[ "$PREFIX" == (#b)(\~|)[^/]# && - ( -n "$match[1]" || ( CURRENT -gt 1 && ! -o cdablevars ) ) ]]; then - _directory_stack && ret=0 - fi - - local -a tmpWpath - if [[ $PREFIX = (|*/)../* ]]; then - local tmpprefix - # Use cd in a subshell to properly [not] resolve symlinks - tmpprefix=$(cd ${PREFIX%/*} >&/dev/null && print $PWD) - if [[ -n $tmpprefix ]]; then - tmpWpath=(-W $tmpprefix) - IPREFIX=${IPREFIX}${PREFIX%/*}/ - PREFIX=${PREFIX##*/} - fi - fi - - if [[ $PREFIX != (\~|/|./|../)* && $IPREFIX != ../* ]]; then - local tmpcdpath alt - - alt=() - - tmpcdpath=(${${(@)cdpath:#.}:#$PWD}) - - (( $#tmpcdpath )) && - alt=( 'path-directories:directory in cdpath:_path_files -W tmpcdpath -/' ) - - # With cdablevars, we can complete foo as if ~foo/ - if [[ -o cdablevars && -n "$PREFIX" && "$PREFIX" != <-> ]]; then - if [[ "$PREFIX" != */* ]]; then - alt=( "$alt[@]" 'named-directories: : _tilde' ) - else - local oipre="$IPREFIX" opre="$PREFIX" dirpre dir - - # Note we need a tilde because cdablevars also allows user home - # directories, hence nonomatch (above) to suppress error messages. - - dirpre="${PREFIX%%/*}/" - IPREFIX="$IPREFIX$dirpre" - eval "dir=( ~$dirpre )" - PREFIX="${PREFIX#*/}" - - [[ $#dir -eq 1 && "$dir[1]" != "~$dirpre" ]] && - _wanted named-directories expl 'directory after cdablevar' \ - _path_files -W dir -/ && ret=0 - - PREFIX="$opre" - IPREFIX="$oipre" - fi - fi - # Don't complete local directories in command position, that's - # already handled by _command_names (see _autocd) - - [[ CURRENT -ne 1 || ( -z "$path[(r).]" && $PREFIX != */* ) ]] && - alt=( "${cdpath+local-}directories:${cdpath+local }directory:_path_files ${(j: :)${(@q)tmpWpath}} -/" "$alt[@]" ) - - if [[ CURRENT -eq argstart && noopts -eq 0 && $PREFIX = -* ]] && - zstyle -t ":completion:${curcontext}:options" complete-options; then - alt=("$service-options:$service option:_cd_options" "$alt[@]") - fi - - _alternative "$alt[@]" && ret=0 - - return ret - fi - [[ CURRENT -ne 1 ]] && _wanted directories expl directory \ - _path_files $tmpWpath -/ && ret=0 - - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdbs-edit-patch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdbs-edit-patch deleted file mode 100644 index a1b537e8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdbs-edit-patch +++ /dev/null @@ -1,3 +0,0 @@ -#compdef cdbs-edit-patch - -_files -W $PWD/debian/patches diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdcd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdcd deleted file mode 100644 index 3fa83f61..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdcd +++ /dev/null @@ -1,80 +0,0 @@ -#compdef cdcd - -local expl - -_cdcd_tracks () -{ - local -a tracks - tracks=( ${${(M)${(f)"$(cdcd tracks)"}:#(#s) #[0-9]##:*}/(#s) #(#b)([0-9]##):[ >]#? #[^ ]# #(*) ##/$match[1]:${match[2]}} ) - _describe tracks tracks -V tracks -} - -_cdcd_commands () -{ - local -a commands - commands=( - 'play:play a track' - 'stop:stop playing' - {open,eject}':eject the CD-ROM tray' - 'close:close the CD-ROM tray' - 'pause:pause playing' - 'resume:resume playing' - 'ff:fast forward' - 'rew:rewind' - 'next:advance one track' - 'prev:return to previous track' - 'getvol:get current volume settings' - 'setvol:set volume settings' - 'status:get numerical data regarding the CD status' - 'info:short information about the CD' - 'tracks:list all tracks on the CD' - 'rndplay:play a random track' - 'list:list all CDs in a CD-ROM changer' - 'slot:changes the current CD in the CD-ROM changer' - 'edit:edit information about the disc' - 'ext:extended information about the disc' - 'refresh:refresh the information about the CD from a CDDB server' - 'device:change the CD-ROM device cdcd will use' - 'verbose:toggle verbosity' - 'sites:edit the server list' - 'access:configure cddb access method' - 'help:display a help message' - ) - _describe -t commands 'cdcd command' commands -} - -if (( CURRENT == 2 )); then - _cdcd_commands -else - case "$words[2]" in - # sub-commands with no args - stop|open|eject|close|pause|resume|next|prev|getvol) - ;& - status|info|tracks|rndplay|list|slot|refresh) - _message 'no more arguments' - ;; - # sub-commands with args that cannot be completed - ff|rew|setvol) - ;; - # sub-commands that do not work as expected - access|edit|sites) - ;; - # completeable sub-commands - verbose) - _wanted subcommand expl 'verbose subcommand' compadd on off - ;; - ext) - _values 'ext subcommand' \ - 'disc[extra information about the disc]' \ - {1..${${(z)${${(f)"$(cdcd info)"}[3]}}[3]}} - ;; - device) - _wanted device expl 'cdrom device' compadd /dev/cd* /dev/cd*/* - ;; - play) - _cdcd_tracks - ;; - help) - _cdcd_commands;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdr deleted file mode 100644 index 3a1e9bde..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdr +++ /dev/null @@ -1,57 +0,0 @@ -#compdef cdr - -local expl insert_string -integer default insert - -zstyle -t ':chpwd:' recent-dirs-default && default=1 -if (( default )); then - zstyle -s ":completion:${curcontext}:" recent-dirs-insert insert_string - case $insert_string in - (both) - insert=4 - ;; - - (fallback) - insert=3 - ;; - - (always) - insert=2 - ;; - - ([tT]*|1|[yY]*) - insert=1 - ;; - - (*) - insert=0 - esac -fi - -# See if we should fall back to cd completion. -if [[ default -ne 0 && insert -lt 2 && \ - ( CURRENT -ne 2 || (-n $words[2] && $words[2] != <->) ) ]]; then - $_comps[cd] "$@" - return -fi - -local -a values keys - -if (( insert )); then - # insert the actual directory, not the number - values=(${${(f)"$(cdr -l)"}##<-> ##}) - # Suppress the usual space suffix, since there's no further argument - # and it's useful to be able to edit the directory e.g. add /more/stuff. - if _wanted -V recent-dirs expl 'recent directory' compadd -S '' -Q -a values - then - (( insert == 4 )) || return 0 - fi - - (( insert >= 3 )) || return - $_comps[cd] "$@" -else - values=(${${(f)"$(cdr -l)"}/ ##/:}) - keys=(${values%%:*}) - - _describe -t dir-index 'recent directory index' values keys -V unsorted -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrdao b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrdao deleted file mode 100644 index ceb86267..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrdao +++ /dev/null @@ -1,285 +0,0 @@ -#compdef cdrdao - -# TODO: Options must come before parameters. - -# Command completion and main loop {{{1 - -_cdrdao () { - local ret=1 - local -a commands - if (( CURRENT == 2 )); then - commands=( ${${${(M)${(f)"$(_call_program subcommands cdrdao 2>&1)"}:# *}// #- /:}#??} ) - _describe -t subcommands 'cdrdao command' commands && ret=0 - else - local cmd="${words[2]}" - local curcontext="${curcontext%:*:*}:cdrdao-$cmd:" - shift words - (( CURRENT-- )) - if ! _call_function ret _cdrdao-$cmd; then - _default && ret=0 - fi - fi - - return ret -} - -# Common arguments {{{1 - -declare -ga _cdrdao_tmpfile_args -_cdrdao_tmpfile_args=( - '--tmpdir[directory to store temporary data in]:directory:_directories' - '--keep[do not remove temporary data when done]' -) - -# TODO: Gah! Fix a cddb server spec matcher -declare -ga _cdrdao_cddb_args -_cdrdao_cddb_args=( - '--cddb-servers[specify list of CDDB servers to use]:CDDB servers:' - '--cddb-timeout[specify timeout in seconds for connections to CDDB servers]: :_guard "[[\:digit\:]]" timeout' - '--cddb-directory[directory where fetched CDDB records will be stored]:directory:_directories' -) - -declare -g _cdrdao_paranoiamode_arg -_cdrdao_paranoiamode_arg='--paranoia-mode[set correction mode for digital audio extraction]:mode:(("0\:no checking" "1\:perform overlapped reading to avoid jitter" "2\:like 1 but with checks of read audio data" "3\:like 2 but with scratch detection/repair (default)"))' - -declare -g _cdrdao_fasttoc_arg -_cdrdao_fasttoc_arg='--fast-toc[skip pre-gap-length and index-mark extraction]' - -declare -g _cdrdao_swap_arg -_cdrdao_swap_arg='--swap[swap the byte order of samples]' - -declare -g _cdrdao_reload_arg -_cdrdao_reload_arg='--reload[reload the disk if necessary]' - -declare -g _cdrdao_eject_arg -_cdrdao_eject_arg='--eject[eject CD after completed operation]' - -declare -g _cdrdao_speed_arg -_cdrdao_speed_arg='-speed[set writing speed]: :_guard "[[\:digit\:]]##" speed' - -declare -ga _cdrdao_common_args -_cdrdao_common_args=( - '(*)'{-h,--help}'[display command/option summary]' - '-v[set verbosity level]: :_guard "[[\:digit\:]]##" verbosity') - -declare -ga _cdrdao_common_toc_args -_cdrdao_common_toc_args=( - $_cdrdao_common_args - ':TOC file:_files -g "*.toc(-.)"') - -declare -ga _cdrdao_common_device_args -_cdrdao_common_device_args=( - $_cdrdao_common_args - '--device[set SCSI address of the CD recorder]:device:__cdrdao-device' - '--driver[use given driver for the CD recorder]:driver:__cdrdao-drivers' -) - -declare -ga _cdrdao_common_toc_device_args -_cdrdao_common_toc_device_args=( - $_cdrdao_common_toc_args - $_cdrdao_common_device_args - '--force[force execution of operation]' -) - -declare -ga _cdrdao_common_read_args -_cdrdao_common_read_args=( - '--rspeed[set reading speed]: :_guard "[[\:digit\:]]##" speed' - '--session[specify what session to process on multi-session CDs]: :_guard "[[\:digit\:]]##" "session number"' - '--read-subchan[set sub-channel reading-mode]:mode:(("rw\:de-interleaved and error corrected" "rw_raw\:not de-interleaved, not error-corrected, and L-EC data included"))' - '--tao-source[indicate that source CD was written in TAO mode]' - '--with-cddb[retrieve CD-TEXT data from a CDDB server]') - -# Sub-command completion {{{1 - -_cdrdao-show-toc () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -_cdrdao-toc-info () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -_cdrdao-toc-size () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -__cdrdao-show-toc-or-toc-info-or-toc-size () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_tmpfile_args -} - -_cdrdao-read-toc () { - __cdrdao-read-toc-or-read-cd $_cdrdao_cddb_args -} - -_cdrdao-read-cd () { - __cdrdao-read-toc-or-read-cd \ - $_cdrdao_paranoiamode_arg \ - $_cdrdao_cddb_args -} - -__cdrdao-read-toc-or-read-cd () { - local -a dependent_args - - __cdrdao-read-toc-or-read-cd-or-copy-dependent-args - - _arguments \ - $_cdrdao_common_toc_device_args \ - $_cdrdao_common_read_args \ - $dependent_args \ - $_cdrdao_fasttoc_arg \ - '--datafile[set name of data file placed in TOC file]:file:_files' \ - '--read-raw[read data in raw format from CD]' \ - '--no-mode2-mixed[if MODE2_FORM1 or MODE2_FORM2, do not extract as MODE2_FORM_MIX]' \ - "$@" && ret=0 -} - -_cdrdao-read-cddb () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_cddb_args -} - -_cdrdao-show-data () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_swap_arg -} - -_cdrdao-read-test () { - _arguments \ - $_cdrdao_common_toc_args -} - -_cdrdao-disk-info () { - __cdrdao-disk-info-or-drive-info -} - -__cdrdao-disk-info-or-drive-info () { - _arguments \ - $_cdrdao_common_device_args -} - -_cdrdao-discid() { - _arguments $_cdrdao_common_device_args $_cdrdao_cddb_args \ - '--query-string[print out CDDB query only]' -} - -_cdrdao-msinfo () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_reload_arg -} - -_cdrdao-drive-info () { - __cdrdao-disk-info-or-drive-info -} - -_cdrdao-unlock () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_reload_arg \ - $_cdrdao_eject_arg -} - -_cdrdao-blank () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_speed_arg \ - '--blank-mode[set the blanking mode]:blanking mode:(("full\:completely erase data" "minimal\:only dereference data"))' \ - $_cdrdao_eject_arg -} - -_cdrdao-scanbus () { - _arguments \ - $_cdrdao_common_args -} - -_cdrdao-simulate () { - __cdrdao-simulate-or-write -} - -__cdrdao-simulate-or-write () { - local _cdrdao_capacity_arg= - - if (( $words[(I)--full-burn] )); then - _cdrdao_capacity_arg='--capacity[set disk capacity for --full-burn]: :_guard "[[\:digit\:]]" minutes' - fi - - _arguments \ - $_cdrdao_common_toc_device_args \ - $_cdrdao_speed_arg \ - '--multi[do not close the session after successful write]' \ - '--overburn[allow overburning of medium]' \ - '--full-burn[force burning to the outer disk edge]' \ - $_cdrdao_capacity_arg \ - $_cdrdao_eject_arg \ - $_cdrdao_swap_arg \ - '--buffers[set fifo buffer size]: :_guard "[[\:digit\:]]" size' \ - $_cdrdao_reload_arg \ - $_cdrdao_tmpfile_args \ - '-n[do not pause before writing]' \ - $* -} - -_cdrdao-write () { - __cdrdao-simulate-or-write \ - '--simulate[only perform a write simulation]' \ - '--buffer-under-run-protection[whether to use buffer under-run protection]:buffer under-run protection setting:(("0\:disable buffer under-run protection" "1\:enable buffer under-run protection"))' \ - '--write-speed-control[whether to use writing-speed control]:writing-speed control setting:(("0\:disable writing-speed control" "1\:enable writing-speed control"))' \ - $* -} - -__cdrdao-read-toc-or-read-cd-or-copy-dependent-args () { - if (( words[(I)--tao-source] )); then - dependent_args+='--tao-source-adjust[specify number of link blocks for tracks written in TAO mode]: :_guard "[[\:digit\:]]##" "link blocks"' - fi - - if (( words[(I)--with-cddb] )); then - dependent_args+=$_cdrdao_cddb_args - fi -} - -_cdrdao-copy () { - local -a dependent_args - - __cdrdao-read-toc-or-read-cd-or-copy-dependent-args - - _cdrdao-write \ - $dependent_args \ - $_cdrdao_common_read_args \ - '--source-device[set SCSI address of the CD reader]:device:__cdrdao-device' \ - '--source-driver[use given driver for the CD reader]:driver:__cdrdao-drivers' \ - '--on-the-fly[perform on-the-fly copy of CD (no image created)]' \ - $_cdrdao_fasttoc_arg \ - '--keepimage[do not remove generated image when done]' \ - $_cdrdao_paranoiamode_arg -} - -# Type completion {{{1 - -__cdrdao-device () { - # Use cdrdao scanbus and also check what OS we're running under and provide - # additional stuff, like devices (/dev/sg0) - local -a expl devices - devices=(${${(f)"$(_call_program devices cdrdao scanbus -v 0 2>&1)"}%% :*}) - - _wanted devices expl 'device' compadd -a devices -} - -__cdrdao-drivers () { - local expl suf - local -Ua drivers - drivers=(${(f)"$(_call_program drivers cut -d'\|' -f4 /usr/share/cdrdao/drivers -s)"}) - if compset -P \*:; then - _message -e options option - else - compset -S :\* || suf=-qS: - _wanted drivers expl 'driver' compadd $suf -a drivers - fi -} - -# }}}1 - -_cdrdao diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrecord b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrecord deleted file mode 100644 index 602cd5e8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cdrecord +++ /dev/null @@ -1,105 +0,0 @@ -#compdef cdrecord wodim - -local curcontext="$curcontext" state line expl ret=1 -local devices btypes - -_arguments -C \ - '-version[print version information]' \ - '*-d[increase debug level]' \ - \*{-verbose,-v}'[increase verbosity level]' \ - \*{-Verbose,-V}'[increase scsi command transport verbosity level]' \ - '(-silent -s)'{-silent,-s}'[do not print a status report for failed scsi commands]' \ - '-setdropts[set driver specific options and exit]' \ - '-checkdrive[check if a driver for the device is present]' \ - '-prcap[print drive capabilities for MMC compliant drives]' \ - '-inq[do an inquiry for the drive and exit]' \ - '-scanbus[scan the scsi bus and exit]' \ - '-reset[reset the scsi bus with the cdrecorder]' \ - '-overburn[allow writing of more than the official size of a medium]' \ - '-ignsize[ignore the known size of a medium (may cause problems)]' \ - '-useinfo[use .inf files to overwrite audio options]' \ - '-format[format a CD-RW/DVD-RW/DVD+RW disc]' \ - '-load[load the disk and exit]' \ - '-lock[load and lock disc in tray loader]' \ - '-eject[eject the disk after doing the work]' \ - '-dummy[do everything with laser turned off]' \ - '-msinfo[retrieve multi-session info for mkisofs]' \ - '-toc[retrieve and print TOC/PMA data]' \ - '-atip[retrieve and print ATIP data]' \ - '-multi[generate a TOC that allows multi session]' \ - '-fix[fixate a corrupt or unfixated disk]' \ - '-nofix[do not fixate disk after writing tracks]' \ - '-waiti[wait until input is available before opening SCSI]' \ - '-immed[try to use scsi IMMED flag]' \ - '-force[force continuation on some errors]' \ - '-dao[set disk at once mode]' \ - '-raw[set raw writing mode]' \ - '-raw96r[write disk in raw/raw96r mode]' \ - '-raw96p[write disk in raw/raw96p mode]' \ - '-raw16[write disk in raw/raw16 mode]' \ - '-text[write CD-Text from .inf/.cue files]' \ - '*-audio[subsequent tracks are CD-DA audio tracks]' \ - '*-data[subsequent tracks are CD-ROM data mode 1 (default)]' \ - '*-mode2[subsequent tracks are CD-ROM data mode 2]' \ - '*-xa[subsequent tracks are CD-ROM XA mode 2 form 1 - 2048 bytes]' \ - '*-xa1[subsequent tracks are CD-ROM XA mode 2 form 1 - 2056 bytes]' \ - '*-xa2[subsequent tracks are CD-ROM XA mode 2 form 2 - 2324 bytes]' \ - '*-cdi[subsequent tracks are CDI tracks]' \ - '-isosize[use iso9660 file system size for next data track]' \ - '(-nopreemp)-preemp[audio tracks are mastered with 50/15 preemphasis]' \ - '(-preemp)-nopreemp[audio tracks are mastered with no preemphasis (default)]' \ - '-copy[audio tracks have unlimited copy permission]' \ - '-nocopy[audio tracks may only be copied once for personal use]' \ - '-scms[audio tracks will not not have any copy permission at all]' \ - '(-nopad)-pad[pad tracks]' \ - '(-pad)-nopad[do not pad data tracks (default)]' \ - '*-shorttrack[subsequent tracks may be non Red Book if in DAO mode]' \ - '*-noshorttrack[subsequent tracks must be >= 4 seconds]' \ - '-swab[audio data source is byte-swapped (little-endian/Intel)]' \ - '*: :->values' - -if [[ -n $state ]]; then - _tags values files - while _tags; do - if _requested values && (( ! ${#words[2,CURRENT-1]:#(-*|*=*)} )); then - _values -C -s ' ' 'option' \ - 'dev[specify scsi device to use]:device:->device' \ - 'gracetime[set grace time before starting to write]:time (seconds)' \ - 'timeout[set default scsi timeout]:timeout (seconds)' \ - 'debug[specify debug level]:debug level' \ - {kdebug,kd}'[specify kernel debug level]:debug level' \ - 'driver[user supplied driver name]:drive' \ - 'driveropts[a comma separated list of driver specific options]:driver options' \ - 'speed[set speed of drive]:speed' \ - 'blank[blank a CD-RW disc]:blank type:->blank' \ - 'fs[set fifo size]:size' \ - 'tsize[length of valid data in next track]:length' \ - 'padsize[amount of padding for next track]:amount of padding' \ - 'pregap[amount of pre-gap sectors before next track]:amount' \ - 'defpregap[amount of pre-gap sectors for all but first track]:amount' \ - 'mcn[set media catalog number for this CD]:text' \ - 'isrc[set isrc number for the next track]:text' \ - 'index[set the index list for the next track]:list' \ - 'textfile[set the file with CD-Text data]:name:_files -g "*.inf(-.)"' \ - 'cuefile[set the file with CDRWIN CUE data]:name:_files -g "*.cue(-.)"' && ret=0 - fi - _requested files expl track _files && ret=0 - (( ret )) || break - done - - case $state in - device) - devices=( ${(f)"$(_call_program device $service -scanbus 2>/dev/null \ - |grep '^ '|cut -c2-6,23-|sed 's/ /:/')"} ) - _describe -t devices device devices && return - ;; - blank) - btypes=( - 'help:display list of available blanking types' - ${${${${(f)"$(_call_program blank-types $service blank=help 2>&1)"}[2,-1]}#?}/[[:blank:]]##/:} - ) - _describe -t blank-types 'blanking type' btypes && return - ;; - esac - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chattr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chattr deleted file mode 100644 index bf46d8b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chattr +++ /dev/null @@ -1,42 +0,0 @@ -#compdef chattr - -local ret=1 -local -a context line state state_descr -local -A opt_args val_args - -_arguments -s -S : \ - '-f[suppress most error messages]' \ - "-p+[set file's project number]:project number" \ - '-R[act recursively]' \ - '-V[output verbosely]' \ - "-v+[set file's version/generation number]:version/generation number" \ - '1: :->attrs' \ - '*: :_files' \ -&& ret=0 - -[[ $state == attrs ]] && -if compset -P '*[=+-]'; then - # These modes can't be changed with chattr: [EhINXZ] - _values -S '' attribute \ - 'A[no atime updates]' \ - 'a[append only]' \ - 'C[no copy on write]' \ - 'c[compressed]' \ - 'D[no synchronous directory updates]' \ - 'd[no dump]' \ - 'e[extent format]' \ - 'i[immutable]' \ - 'j[data journalling]' \ - 'P[project hierarchy]' \ - 'S[synchronous updates]' \ - 's[secure deletion]' \ - 'T[top of directory hierarchy]' \ - 't[no tail-merging]' \ - 'u[undeletable]' \ - && ret=0 -else - compset -P '*' - _values -S '' operator = + - && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chcon b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chcon deleted file mode 100644 index 2d523f28..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chcon +++ /dev/null @@ -1,24 +0,0 @@ -#compdef chcon - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -C -s -S \ - '(-h --no-dereference)--dereference[dereference symlinks]' \ - '(-h --no-dereference --dereference)'{-h,--no-dereference}'[operate on symlinks themselves]' \ - '(1 -u --user -r --role -l --range -t --type)--reference=[copy security context of specified file]:file:_files' \ - '(1 --reference -u --user)'{-u+,--user=}'[set user in the target security context]: :_selinux_users' \ - '(1 --reference -r --role)'{-r+,--role=}'[set role in the target security context]: :_selinux_roles' \ - '(1 --reference -t --type)'{-t+,--type=}'[set type in the target security context]: :_selinux_types' \ - '(1 --reference -l --range)'{-l+,--range=}'[set range in the target security context]:selinux range' \ - '(--recursive -R)'{--recursive,-R}'[recurse subdirectories]' \ - '(-v --verbose)'{-v,--verbose}'[output a diagnostic for every file processed]' \ - '(-H -L -P)-H[follow symlinks on the command line]' \ - '(-H -L -P)-L[follow all symlinks]' \ - "(-H -L -P)-P[don't follow symlinks (default)]" \ - '!(--preserve-root)--no-preserve-root' \ - "--preserve-root[fail to operate recursively on '/']" \ - '(--reference -u --user -r --role -l --range -t --type)1:security context:_selinux_contexts' \ - "${ign}--help[display help information]" \ - "${ign}--version[display version information]" \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chflags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chflags deleted file mode 100644 index 924b09ac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chflags +++ /dev/null @@ -1,23 +0,0 @@ -#compdef chflags - -local args own='-g *(-u$EUID)' - -(( ! EUID || $+_comp_priv_prefix )) && own= - -if [[ $OSTYPE = (darwin|dragonfly|freebsd)* ]]; then - args=( - "-f[don't display diagnostic messages]" - '-v[verbose output]' - ) -fi - -_arguments -s -A "-*" : $args \ - ': :_file_flags' \ - '*:file:_files "$own"' \ - - opth \ - '-h[act on symlinks]' \ - - optR \ - '-R[recurse directories]' \ - '(-L -P)-H[follow symlinks on the command line (specify with -R)]' \ - '(-H -P)-L[follow all symlinks (specify with -R)]' \ - '(-L -H)-P[do not follow symlinks (specify with -R)]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chkconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chkconfig deleted file mode 100644 index 76da38d2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chkconfig +++ /dev/null @@ -1,28 +0,0 @@ -#compdef chkconfig - -local curcontext="$curcontext" state line expl ret=1 - -case $OSTYPE in -linux*) - _arguments -C \ - '(- 2)--list[list services]' \ - '(-)--level[specify runlevels to apply to]:-:_values -s "" "run levels" 1 2 3 4 5 6 7' \ - '(- 2)--add[add new service]' \ - '(- 2)--del[remove service from chkconfig management]' \ - '1:service name:_services' \ - '2:state:(on off reset)' && ret=0 -;; -irix*) - _arguments -C \ - '(- 1)-s[print state of configuration flags]' \ - '(1 -s)-f[set flag state]:configuration flag:->flag:state:(on off)' \ - '1:configuration flag:->flag' && ret=0 - - if [[ -n "$state" ]]; then - _wanted conf-flags expl 'configuration flag' \ - compadd ${${${(f)"$($words[1])"}[4,-1]##$'\t'}%% *} && ret=0 - fi -;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chmod b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chmod deleted file mode 100644 index 42e3fa63..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chmod +++ /dev/null @@ -1,96 +0,0 @@ -#compdef chmod gchmod zf_chmod - -local curcontext="$curcontext" state line expl ret=1 variant -local -a args privs aopts - -# usual -* pattern picks up valid non-options, e.g. -x which is like a-x -aopts=( -A '-[^gorstuwxX]*' ) - -args=( '*: :->files' '1: :_file_modes' ) - -_pick_variant -r variant -b zsh gnu=Free\ Soft $OSTYPE --version -case "$variant" in - zsh) - # Assign, not append because zf_chmod only supports octal modes. - args=( - '-R[change files and directories recursively]' - '-s[enable paranoid behavior]' - '1: :_guard "[0-7]#" "octal mode"' - '*: :->files' - ) - ;; - gnu) - aopts=() - args+=( - '(-v --verbose -c --changes)'{-c,--changes}'[report changes made]' - '(-v --verbose -c --changes)'{-v,--verbose}'[output a diagnostic for every file processed]' - '(-f --silent --quiet)'{-f,--silent,--quiet}'[suppress most error messages]' - '(--no-preserve-root)--preserve-root[fail to operate recursively on /]' - "(--preserve-root)--no-preserve-root[don't treat / specially (default)]" - '(1)--reference=[copy permissions of specified file]:file:_files' - '(-R --recursive)'{-R,--recursive}'[change files and directories recursively]' - '(- : *)--help[display help information]' - '(- : *)--version[display version information]' - ) - ;; - *) - args+=( - '-f[suppress most error messages]' - '-R[change files and directories recursively]' - ) - ;| - freebsd*|dragonfly*|darwin*) - args+=( - '-v[output a diagnostic for every file processed]' - ) - ;| - freebsd*|netbsd*|darwin*|dragonfly*) - args+=( - '-h[operate on symlinks themselves]' - ) - ;| - freebsd*|openbsd*|netbsd*|darwin*|dragonfly*) - args+=( - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - ) - ;| - darwin*) - args+=( - '(1)-C[return false if any specified files have ACLs]' - '(1)-N[remove ACLs from specified files]' - '(1)-E[read ACL info from stdin as sequential list of ACEs]' - "(1)-i[remove inherited bit from all entries in specified files' ACLs]" - "(1)-I[remove all inherited entries from specified files' ACLs]" - ) - ;; -esac - -_arguments -C -s -S $aopts "$args[@]" && ret=0 - -case "$state" in - files) - if [[ -n $opt_args[--reference] ]]; then - zmodload -F zsh/stat b:zstat 2>/dev/null - typeset -i8 ref=$(zstat +mode $opt_args[--reference]) - _wanted files expl file _files -g "*(-.^f${ref#??})" && ret=0 - elif [[ $line[1] = [0-7]## ]]; then - _wanted files expl file _files -g "*(-.^f$line[1])" && ret=0 - else - local spec who op priv - local -a specs - for spec in ${(s:,:)line[1]}; do - if [[ ${spec#*[+-=]} != [rwxst]## ]]; then - _files && ret=0 - return ret - fi - - specs+=( ${${(M)spec##[+-=]*}:+a}$spec ) - done - _wanted files expl file _files -g "*(-.^f:${(j.,.)specs}:)" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_choom b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_choom deleted file mode 100644 index 2a6dd03c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_choom +++ /dev/null @@ -1,10 +0,0 @@ -#compdef choom - -_arguments -S \ - '(H -n --adjust)'{-n,--adjust}'+[specify the adjust score value (-1000...1000)]:score (-1000...1000)' \ - '(H -p --pid)'{-p,--pid}'[interpret args as process ID]:process ID:_pids' \ - '(H -p --pid):command:_command_names' \ - '*::arguments:_normal' \ - + 'H' \ - '(- *)'{-V,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chown b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chown deleted file mode 100644 index 9ebbf7ba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chown +++ /dev/null @@ -1,117 +0,0 @@ -#compdef chown chgrp gchown=chown gchgrp=chgrp zf_chown=chown zf_chgrp=chgrp - -local curcontext="$curcontext" state line expl ret=1 variant -local suf usr grp req deref pattern arg args aopts=( -A '-*' ) - -_pick_variant -r variant -b zsh gnu=Free\ Soft $OSTYPE --version -case "$variant" in - gnu) - aopts=() - args=( - '(-c --changes -v --verbose)'{-c,--changes}'[report each change made]' - '(-c --changes -v --verbose)'{-v,--verbose}'[output info for every file processed]' - '(-h --no-dereference)--dereference[dereference symlinks]' - '(-h --no-dereference --dereference)'{-h,--no-dereference}'[operate on symlinks themselves]' - '(-f --silent --quiet)'{-f,--silent,--quiet}"[don't report errors]" - '--preserve-root[fail to operate recursively on /]' - '--reference=[copy ownership of specified file]:file:_files' - '(-R --recursive)'{-R,--recursive}'[change files and directories recursively]' - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - '(- : *)--help[display help information]' - '(- : *)--version[display version information]' - ) - [[ $service = chown ]] && - args+=( '--from=[restrict changes to files by current ownership]: :->owner' ) - ;; - *) - args=( - '-h[operate on symlinks themselves]' - '-R[change files and directories recursively]' - ) - ;| - zsh) - args+=( - '-s[enable paranoid behavior]' - ) - ;; - *) - args+=( - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - ) - ;| - dragonfly*|freebsd*) - args+=( - "-x[don't traverse file systems]" - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|solaris*) - args+=( - "-f[don't report errors]" - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-v[output info for every file processed]' - ) - ;| - solaris2.<11->) - args+=( - '-s[owner and/or group are Windows SID strings]' - ) - ;; -esac - -(( $+words[(r)--reference*] )) || args+=( '(--reference)1: :->owner' ) -_arguments -C -s -S $aopts "$args[@]" '*: :->files' && ret=0 - -case $state in - owner) - if [[ $service = chgrp ]] || compset -P '*[:.]'; then - if (( EGID && $+commands[groups] && ! $+_comp_priv_prefix )); then # except for sudo - _wanted groups expl 'group' compadd -- $(groups) && return 0 - fi - _groups && ret=0 - else - if compset -S '[.:]*'; then - suf=() - elif [[ $OSTYPE = irix* ]]; then - suf=( -qS '.' ) - else - suf=( -qS ':' ) - fi - _users "$suf[@]" && ret=0 - fi - ;; - files) - (( $+opt_args[-h] || $+opt_args[--no-dereference] )) || deref="-" - if (( $+opt_args[--reference] )); then - zmodload -F zsh/stat b:zstat 2>/dev/null - usr=$(zstat +uid $opt_args[--reference]) - grp=$(zstat +gid $opt_args[--reference]) - _wanted files expl file _files -g "*($deref^u$usr,$deref^g$grp)" && ret=0 - return ret - fi - if [[ $service = chgrp ]]; then - grp=${line[1]} - else - usr=${line[1]%%[.:]*} - usr=${${(M)usr:#[0-9]#}:-${userdirs[$usr]:+.$usr.}} - grp=${${(M)line[1]%%[.:]*}#?} - fi - [[ -n $grp ]] && grp="${${(M)grp:#[0-9]#}:-.$grp.}" - req=( ${usr:+\^u$usr} ${grp:+\^g$grp} ) - (( EUID )) && req=( u$EUID$^req ) - req=( $deref$^req ) - req="*(${(j:,:)req})" - - ( : $~req ) 2> /dev/null || req='*' - - _wanted files expl file _files -g "$req" && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chroot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chroot deleted file mode 100644 index 51699269..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chroot +++ /dev/null @@ -1,53 +0,0 @@ -#compdef chroot gchroot - -local variant ret=1 -local -a context line state state_descr args -local -A opt_args - -_pick_variant -r variant gnu='Free Soft' unix --version - -variant+=-$OSTYPE - -case $variant in - gnu-*) - args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - '--groups=[specify supplemental group memberships]: :_sequence -s , _groups' - '--userspec=[specify user and group to run process as]: :->userspecs' - '--skip-chdir[do not change working directory to /]' - ) - ;; - *-openbsd*) - args=( - '-u+[specify user to run process as]: :_users' - '-g+[specify group to run process as, and supplemental group memberships]: :_sequence -s , _groups' - ) - ;; - *-(darwin|dragonfly|freebsd|netbsd)*) - args=( - '-u+[specify user to run process as]: :_users' - '-g+[specify group to run process as]: :_groups' - '-G+[specify supplemental group memberships]: :_sequence -s , _groups' - ) - ;; -esac - -args+=( '1:new root directory:_directories' '*:::command:_normal' ) - -_arguments -s -S : $args && ret=0 - -# @todo user:group specs are probably used often enough to justify making a type -# function for this (see also `chown`, `cpio`, `rsync`, ...) -[[ $state == userspecs ]] && -if compset -P '*:*:'; then - ret=1 -elif compset -P '*:'; then - _groups && ret=0 -elif compset -S ':*'; then - _users && ret=0 -else - _users -qS : && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chrt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chrt deleted file mode 100644 index 6789b66c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chrt +++ /dev/null @@ -1,68 +0,0 @@ -#compdef chrt - -local curcontext="$curcontext" cmd="$words[1]" ret=1 -local -a state line expl -typeset -A opt_args - -_arguments -C -s -S -A "-*" \ - '(H -a --all-tasks)'{-a,--all-tasks}'[operate on all tasks (threads) for a given pid]' \ - '(H)'{-v,--verbose}'[display status information]' \ - '(H)'{-p,--pid}'[interpret args as process ID]' \ - '(H -R --reset-on-fork -b --batch -d --deadline -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \ - '(H)*::command or priority:->cmd_or_prio' \ - + 'H' \ - '(* -)'{-m,--max}'[show minimum and maximum valid priorities, then exit]' \ - '(* -)'{-h,--help}'[display usage information]' \ - '(* -)'{-V,--version}'[output version information]' \ - + 'dline' \ - '(H -T --sched-runtime -b --batch -f --fifo -i --idle -o --other -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \ - '(H -P --sched-period -b --batch -f --fifo -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \ - '(H -D --sched-deadline -b --batch -f --fifo -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \ - + '(policy)' \ - '(H dline -R --reset-on-fork)'{-b,--batch}'[set scheduling policy to SCHED_BATCH]' \ - '(H -R --reset-on-fork)'{-d,--deadline}'[set scheduling policy to SCHED_DEADLINE]' \ - '(H dline)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \ - '(H dline -R --reset-on-fork)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \ - '(H dline -R --reset-on-fork)'{-o,--other}'[set scheduling policy to SCHED_OTHER]' \ - '(H dline)'{-r,--rr}'[set scheduling policy to SCHED_RR (default)]' && ret=0 - -_chrt_priority() -{ - local ty - [[ -prefix - ]] && return 1 - if (( $+opt_args[policy--b] || $+opt_args[policy---batch] )); then - ty=BATCH - elif (( $+opt_args[policy--f] || $+opt_args[policy---fifo] )); then - ty=FIFO - elif (( $+opt_args[policy--o] || $+opt_args[policy---other] )); then - ty=OTHER - else - ty=RR - fi - local range - range=${${(M)${(f)"$(_call_program priorities $cmd --max)"}:#*_${ty}*}#*: } - if [[ $range = 0/0 ]]; then - _wanted priorites expl 'priority' compadd 0 - else - _message -e priorities "priority (range $range)" - fi -} - -if (( $+opt_args[-p] || $+opt_args[--pid] )) -then - if (( CURRENT == 1 )); then - _alternative \ - 'priority:priority:_chrt_priority' \ - 'processes:process IDs:_pids' && ret=0 - else - _pids && ret=0 - fi -elif (( CURRENT == 1 )); then - _chrt_priority && ret=0 -else - shift words - (( CURRENT-- )) - _normal && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chsh deleted file mode 100644 index 80236980..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_chsh +++ /dev/null @@ -1,67 +0,0 @@ -#compdef chsh chpass - -local variant help=h -local -a args shells - -case $OSTYPE in - darwin*|*bsd*) - args=( '(-a)-s[specify new login shell]:shell:($shells)' ) - ;| - (free|net|open)bsd*) - args+=( '(-s 1)-a[specify user database entry]:passwd entry' ) - ;| - darwin*) - args+=( - '-l[specify location of user]:location' - '-u[specify authentication name]:auth user' - ) - ;; - (free|net)bsd*) - args+=( - '(-y)-l[update only the local password file]' - '(-l)-y[force YP database entry to be changed]' - ) - ;| - freebsd*) - args+=( - '-p[specify encrypted password field]:password hash' - '-e[change account expire time]:expiry time' - '-d[specify NIS domain]:domain' - '-h[specify NIS server to query]:NIS server:_hosts' - '-o[force use of RPC-based updates]' - ) - ;; - (linux-gnu) - _pick_variant -r variant util-linux=util-linux suse=pwdutils debian -v - args=( -S : '(-)'{-s+,--shell=}'[specify new login shell]:shell:($shells)' ) - case $variant in - suse|util-linux) - shells=( $(_call_program shells $words[1] -l) ) - args+=( - '(-)'{-l,--list-shells}'[print shells in /etc/shells]' - '(-)'{-v,--version}'[display version information]' - ) - help=u - ;| - util-linux|debian) - args+=( '(-)-'{$help,-help}'[display help information]' ) - ;| - suse) - args+=( - '(-)'{-u,--usage}'[display short usage message]' - '(-)--help[display help information]' - '(-D --binddn)'{-D+,--binddn=}'[specify LDAP distinguished name to bind]:binddn' - '(-P --path)'{-P+,--path=}'[specify path to search for passwd and shadow files]:path:_directories' - '(-q --quiet)'{-q,--quiet}"[don't be verbose]" - '--service=[use specified name service]:service:(files nis nisplus ldap)' - ) - ;; - debian) - args+=( '(-R --root)'{-R+,--root=}'[specify directory to chroot into]:directory:_directories' ) - ;; - esac - ;; -esac - -(( $#shells )) || shells=( ${(Z+Cn+)"$(</etc/shells)"} ) -_arguments $args '1:user name:_users' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cksum b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cksum deleted file mode 100644 index 67f2a789..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cksum +++ /dev/null @@ -1,112 +0,0 @@ -#compdef cksum gcksum sum gsum md2 md4 md5 rmd160 sha1 sha256 sha384 sha512 sha512t256 skein256 skein512 skein1024 - -# This function covers mostly the BSD `cksum`, `sum`, and digest utilities. It -# also covers the GNU Coreutils `cksum` and `sum`. For the GNU digest utilities, -# see `_md5sum`. For the `shasum` Perl script, see `_shasum`. -# -# Notes: -# - We really don't do a very good job of handling option exclusivity here. In -# particular, OpenBSD treats -t and -x as exclusive of each other and most -# other options — but there are issues with other variants too (@todo) -# - Although only OpenBSD's documentation mentions it, -t can be supplied -# multiple times with all variants to run additional rounds of testing -# - All digest variants on a given platform share code, but not all variants are -# found on all platforms (e.g., Darwin only has `md5`). Some BSDs are actively -# purging legacy/insecure digest tools -# - The documentation for Dragonfly/FreeBSD `sum` says that it's 'identical to' -# `cksum`, but, as the synopsis confirms, it doesn't take any options -# - FreeBSD's -c is never useful, and Dragonfly's -b/-e are *almost* never -# useful, with multiple input files -# - NetBSD's -n isn't useful with `sum` and `cksum` unless a digest is specified -# with -a. Similarly, OpenBSD's -b isn't useful with `cksum` without -a -# - OpenBSD's -a option allows you to add a b/x suffix to each algorithm name; -# we don't handle that. Also, only one -a option can be used in conjunction -# with -c; we don't handle that either - -local -a args - -_pick_variant gnu='Free Soft' unix --version && { - args=( - '*: :_files' - '(: -)--help[display help information]' - '(: -)--version[display version information]' - ) - [[ $service == *cksum* ]] || args+=( - '(-s --sysv)-r[use BSD algorithm (1 KiB blocks)]' - '(-r -s --sysv)'{-s,--sysv}'[use System V algorithm (512 B blocks)]' - ) - _arguments -s -S : $args - return -} - -[[ $OSTYPE == (darwin|dragonfly|freebsd|openbsd)* && $service == sum ]] && { - _default - return -} - -[[ $OSTYPE == (darwin|dragonfly|freebsd)* && $service == cksum ]] && { - _arguments -s -S -A '-*' \ - '-o[use specified historic algorithm]:historic algorithm:(1 2 3)' \ - '*: :_files' - return -} - -case $OSTYPE in - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '(-n -p -r)-q[output checksums only]' - ) - ;| # MATCH AGAIN - darwin*|dragonfly*|freebsd*|openbsd*) - args+=( - '(-p -q)-r[reverse output format]' - ) - ;| # MATCH AGAIN - netbsd*|openbsd*) - args+=( - '-c[verify checksums from input files]' - ) - ;| # MATCH AGAIN - dragonfly*) - args+=( - '-b+[begin processing files at specified offset]:begin offset (bytes)' - '-e+[end processing files at specified offset]:end offset (bytes)' - ) - ;; - freebsd*) - args+=( - '-c+[verify input against specified digest string]:digest string' - ) - ;; - netbsd*) - args+=( - '(-p -q)-n[reverse output format]' - '(-p)-w[warn on malformed checksum files]' - ) - [[ $service == (|ck)sum ]] && args+=( - '(-o)-a+[use specified algorithm]:algorithm:(crc md2 md4 md5 old1 old2 rmd160 sha1 sha256 sha384 sha512)' - '(-a)-o+[use specified historic algorithm]:historic algorithm:(1 2)' - ) - ;; - openbsd*) - args+=( - '-b[output in base64]' - '(-h)-C+[verify input files against checksums in specified file]:checksum file:_files' - '(-C)-h+[output checksums to specified file]:checksum file:_files' - '(-n -r)-q[output checksum only, or suppress check success messages]' - ) - [[ $service == cksum ]] && args+=( - '*-a+[use specified algorithm(s)]:algorithm:_values -s , algorithm cksum md5 rmd160 sha1 sha224 sha256 sha384 sha512/256 sha512' - ) - ;; -esac - -args+=( - '-p[output stdin along with checksum]' - '*-s+[checksum specified string]:string' - '*-t[run built-in time trial(s)]' - '-x[run built-in tests]' - '*: :_files' -) - -_arguments -s -S -A '-*' : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_clay b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_clay deleted file mode 100644 index 581338b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_clay +++ /dev/null @@ -1,42 +0,0 @@ -#compdef clay - -# Completion for the Clay Programming Language -# http://claylabs.com/clay/ - -_arguments -C \ - "-o:specify output file:_files" \ - "-target:set target platform for code generation" \ - "-shared[create a dynamically linkable library]" \ - "-emit-llvm[emit llvm code]" \ - "-S[emit assembler code]" \ - "-c[emit object code]" \ - "-D-:set flag value" \ - "-O-:set optimization level:(0 1 2 3)" \ - "-g[keep debug symbol information]" \ - "-exceptions[enable exception handling]" \ - "-no-exceptions[disable exception handling]" \ - "-inline[inline procedures marked 'forceinline']" \ - "-no-inline[ignore 'inline' and 'forceinline' keyword]" \ - "-import-externals[include externals from imported modules]" \ - "-no-import-externals[don't include externals from imported modules]" \ - "-pic[generate position independent code]" \ - "-abort[abort on error (to get stacktrace in gdb)]" \ - "-run[execute the program without writing to disk]" \ - "-timing[show timing information]" \ - "-full-match-errors[show universal patterns in match failure errors]" \ - "-log-match:log overload matching behavior for calls" \ - "-arch:build for Darwin architecture <arch>" \ - "-F-:add <dir> to framework search path:_files -/" \ - "-framework:link with framework <name>" \ - "-L:add <dir> to library search path:_files -/" \ - "-Wl,-:pass flags to linker" \ - "-l-:link with library <lib>" \ - "-I+:add <path> to clay module search path:_files -/" \ - "-deps[keep track of the dependencies of the currently]" \ - "-no-deps[don't generate dependencies file]" \ - "-o-deps:write the dependencies to this file" \ - "-e:compile and run <source> (implies -run)" \ - "-M-:import <module>.*; for -e" \ - "-v[display version info]" \ - ":program file:_files -g '*.clay(-.)'" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdambivalent b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdambivalent deleted file mode 100644 index 1f15d11a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdambivalent +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -if (( CURRENT == 1 && ${#words} == 1 )); then - # Heuristics to decide whether to complete for system() or for execl(). - local space=' ' - if (( ${${words[CURRENT]}[(I)$space]} )); then - _cmdstring - elif [[ ${${compstate[all_quotes]}[1]} == (\'|\") ]]; then - _cmdstring - else - _command_names -e - fi -elif (( CURRENT == 1 )); then - _command_names -e -else - _normal -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdstring b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdstring deleted file mode 100644 index fb19fdb7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmdstring +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -# This is for a quoted argument that will be interpreted as a command. - -compset -q -_normal diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmp deleted file mode 100644 index 6d7bfb1b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cmp +++ /dev/null @@ -1,34 +0,0 @@ -#compdef cmp gcmp - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( - '(-b --print-bytes)'{-b,--print-bytes}'[print differing bytes]' - '(-i --ignore-initial)'{-i+,--ignore-initial}'[skip specified number of bytes]:bytes' - '(-l --verbose -s --silent --quiet)'{-l,--verbose}'[output all differences]' - '(-n --bytes)'{-n+,--bytes=}'[specify maximum bytes to compare]:bytes' - '(-s --quiet --silent -l --verbose)'{-s,--quiet,--silent}'[return status alone signifies differences]' - '(- *)'{-v,--version}'[display version information]' - '(- *)--help[display help information]' - ) - ;; - netbsd*) args+=( "-c[don't use mmap]" ) ;| - freebsd*|openbsd*) - args=( - "-h[don't follow symbolic links]" - '-x[hexadecimal output and zero based offset index]' - '-z[compare file sizes first]' - ) - ;& - *) - args+=( - '(-s)-l[output all differences]' - '(-l)-s[silent: return status alone signifies differences]' - ) - ;; -esac - -_arguments -s $args '1:file 1:_files' '2:file 2:_files' '::byte offset' '::byte offset' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_code b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_code deleted file mode 100644 index 76cd3dd1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_code +++ /dev/null @@ -1,38 +0,0 @@ -#compdef code - -local arguments - -arguments=( - '(-d --diff)'{-d,--diff}'[compare two files with each other]:file to compare:_files:file to compare with:_files' - \*{-a,--add}'[add specified directory to the last active window]:directory:_directories' - '(-g --goto)'{-g,--goto}'[open a file at the path on the specified line and column position]:file\:line[\:column]:_files -r \:' - '(-n --new-window -r --reuse-window)'{-n,--new-window}'[open a new window]' - '(-n --new-window -r --reuse-window)'{-r,--reuse-window}'[open a file or directory in the last active window]' - '(-w --wait)'{-w,--wait}'[wait for the files to be closed before returning]' - '--locale=[specify the locale to use]:locale (e.g. en-US or zh-TW):(de en en-US es fr it ja ko ru zh-CN zh-TW bg hu pt-br tr bg hu pt-br tr)' - '--user-data-dir[specify the directory that user data is in]:directory:_directories' - '(- *)'{-v,--version}'[print version]' - '(- *)'{-h,--help}'[print usage]' - '--extensions-dir[specify the root path for extensions]:root path:_directories' - '--list-extensions[list the installed extensions]' - '--show-versions[show versions of installed extensions, when using --list-extension]' - '--install-extension[specify extension to install]:id or path:_files -g "*.vsix(-.)"' - '--uninstall-extension[specify extension to uninstall]:id or path:_files -g "*.vsix(-.)"' - '--enable-proposed-api[enable proposed api features for specified extension]:extension id' - '--verbose[print verbose output (implies --wait)]' - '--log[specify log level to use]:level [info]:(critical error warn info debug trace off)' - '(-s --status)'{-s,--status}'[print process usage and diagnostics information]' - '(-p --performance)'{-p,--performance}'[start with the "Developer: Startup Performance" command enabled]' - '--prof-startup[run CPU profiler during startup]' - \*--disable-extension'[disable specified installed extension]' - '(--disable-extension --disable-extensions)--disable-extensions[disable all installed extensions]' - '--inspect-extensions[allow debugging and profiling of extensions]' - '--inspect-brk-extensions[allow debugging and profiling of extensions with the extension host being paused after start]' - '--disable-gpu[disable GPU hardware acceleration]' - '--upload-logs[uploads logs from current session to a secure endpoint]:confirm:(iConfirmLogsUpload)' - '--max-memory=[specify max memory size for a window]:size (Mbytes)' - '--folder-uri[open specified URI as a folder, if there is an extension contributing a FileSystemProvider for that URI]' - '*:filename:_files' -) - -_arguments -s -S $arguments diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_column b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_column deleted file mode 100644 index 94bdccf0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_column +++ /dev/null @@ -1,82 +0,0 @@ -#compdef column - -# Note: BSD and util-linux disagree on how to describe the behaviour of the -x -# option. We use our own wording to avoid confusion - -local variant ret=1 -local -a context state line expl args columns MATCH aopts=( -A '-*' ) -local -i MBEGIN MEND -local -A opt_args - -# Debian and its derivatives (as of 2019) ship with a slightly customised -# version of the BSD column instead of the util-linux one. It can be identified -# by the presence of the custom option -n in the synopsis -_pick_variant -r variant \ - util-linux='(#i)util-linux' \ - debian='\[-[A-Za-z]#n[A-Za-z]#\]' \ - $OSTYPE \ ---version - -case $variant in - util-linux) - aopts=() - args=( - '(info json -c --output-width)'{-c+,--output-width=}'[format output to fit display of specified width]:width' - '(info)'{-L,--table-empty-lines}"[don't ignore empty lines]" - + fill - '(info table text json -x --fillrows)'{-x,--fillrows}'[print across before down]' - + table - '(info fill -t --table)'{-t,--table}'[create a table]' - '(info fill -o --output-separator)'{-o+,--output-separator=}'[specify column separator for table output]:separator [two spaces]' - '(info fill -s --separator)'{-s+,--separator=}'[specify column delimiters in input data]:delimiters' - '(info fill -O --table-order)'{-O+,--table-order=}'[specify order of output columns]: :->columns' - '(info fill -N --table-columns)'{-N+,--table-columns=}'[specify column names]:names' - '(info fill -H --table-hide)'{-H+,--table-hide=}"[don't print specified columns]: :->columns" - + text - '(info fill json -d --table-noheadings)'{-d,--table-noheadings}"[don't print header]" - '(info fill json -E --table-noextreme)'{-E+,--table-noextreme}"[specify columns where length can be ignored]: :->columns" - '(info fill json -e --table-header-repeat)'{-e,--table-header-repeat}'[repeat header for each page]' - '(info fill json -H --table-hide)'{-H+,--table-hide=}"[don't print specified columns]: :->columns" - '(info fill json -R --table-right)'{-R+,--table-right=}'[right align text in these columns]: :->columns' - '(info fill json -T --table-truncate)'{-T+,--table-truncate=}'[truncate text in the columns when necessary]: :->columns' - '(info fill json -W --table-wrap)'{-W+,--table-wrap=}'[wrap text in the columns when necessary]: :->columns' - '(info fill json -r --tree)'{-r+,--tree=}'[specify column to format tree-like]: :->columns' - '(info fill json -i --tree-id)'{-i+,--tree-id=}'[specify column containing ID for child-parent relations]: :->columns' - '(info fill json -p --tree-parent)'{-p+,--tree-parent=}'[specify column containing reference to parent]: :->columns' - + json - '(info fill text -n --table-name -c --output-width)'{-n+,--table-name=}'[specify table name for JSON output]:name' - '(info fill text -J --json -c --output-width)'{-J,--json}'[use JSON output format for table]' - + info - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) - ;; - debian) - aopts=() - args=( - "(-x)-n[don't merge multiple adjacent delimiters]" - "-e[don't ignore empty lines]" - ) - ;& # FALL THROUGH - *) - args+=( - '(-t -s)-c+[format output to fit display of specified width]:width' - '(-c -x)-t[create a table]' - '(-c -x)-s+[specify column delimiters in input data]:delimiters' - '(-n -t -s)-x[print across before down]' - ) - ;; -esac - -_arguments -s -S $aopts '*:file:_files' $args && ret=0 - -if [[ -n $state ]]; then - columns=( ${(s.,.)${(Q)${opt_args[table--N]:-$opt_args[table---table-columns]}//(#m)\\([\\:])/${MATCH[2]}}} ) - if (( $#columns )); then - ${${(M)state:#*s}:+_sequence} _wanted -C "$context[1]" columns expl column compadd -a - columns && ret=0 - else - _message -e columns "$state" - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_combination b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_combination deleted file mode 100644 index 5e87b31e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_combination +++ /dev/null @@ -1,102 +0,0 @@ -#autoload - -# Usage: -# _combination [-s S] TAG STYLE \ -# Ki1[:Ni1]=Pi1 Ki2[:Ni2]=Pi2 ... Kim[:Nim]=Pim Kj[:Nj] EXPL... -# -# STYLE should be of the form K1-K2-...-Kn. -# -# Example: telnet -# -# Assume a user sets the style `users-hosts-ports' as for the my-accounts -# tag: -# -# zstyle ':completion:*:*:telnet:*:my-accounts' users-hosts-ports \ -# @host0: user1@host1: user2@host2: -# @mail-server:{smtp,pop3} -# @news-server:nntp -# @proxy-server:8000 -# -# -# `_telnet' completes hosts as: -# -# _combination my-accounts users-hosts-ports \ -# ${opt_args[-l]:+users=${opt_args[-l]:q}} \ -# hosts "$expl[@]" -# -# This completes `host1', `host2', `mail-server', `news-server' and -# `proxy-server' according to the user given with `-l' if it is exists. -# And if it is failed, `_hosts' is called. -# -# `_telnet' completes ports as: -# -# _combination my-accounts users-hosts-ports \ -# ${opt_args[-l]:+users=${opt_args[-l]:q}} \ -# hosts="${line[2]:q}" \ -# ports "$expl[@]" -# -# This completes `smtp', `pop3', `nntp' and `8000' according to the -# host argument --- $line[2] and the user option argument if it is -# exists. And if it is failed, `_ports' is called. -# -# `_telnet' completes users for an argument of option `-l' as: -# -# _combination my-accounts users-hosts-ports \ -# ${line[2]:+hosts="${line[2]:q}"} \ -# ${line[3]:+ports="${line[3]:q}"} \ -# users "$expl[@]" -# -# This completes `user1' and `user2' according to the host argument and -# the port argument if they are exist. And if it is failed, `_users' is -# called. - -local sep tag style keys pats key num tmp - -if [[ "$1" = -s ]]; then - sep="$2" - shift 2 -elif [[ "$1" = -s* ]]; then - sep="${1[3,-1]}" - shift -else - sep=: -fi - -tag="$1" -style="$2" -shift 2 - -keys=( ${(s/-/)style} ) -pats=( "${(@)keys/*/*}" ) - -while [[ "$1" = *=* ]]; do - tmp="${1%%\=*}" - key="${tmp%:*}" - if [[ $1 = *:* ]]; then - num=${tmp##*:} - else - num=1 - fi - pats[$keys[(in:num:)$key]]="${1#*\=}" - shift -done - -key="${1%:*}" -if [[ $1 = *:* ]]; then - num=${1##*:} -else - num=1 -fi -shift - -if zstyle -a ":completion:${curcontext}:$tag" "$style" tmp; then - eval "tmp=( \"\${(@M)tmp:#\${(j($sep))~pats}}\" )" - if (( keys[(in:num:)$key] != 1 )); then - eval "tmp=( \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}${~sep}} )" - fi - tmp=( ${tmp%%${~sep}*} ) - - compadd "$@" -a tmp || { (( $+functions[_$key] )) && "_$key" "$@" } -else - (( $+functions[_$key] )) && "_$key" "$@" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comm deleted file mode 100644 index f8c535a4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comm +++ /dev/null @@ -1,30 +0,0 @@ -#compdef comm gcomm - -local -a args aopts=( -A '-*' ) - -args=( - '-1[suppress lines unique to first file]' - '-2[suppress lines unique to second file]' - '-3[suppress lines that appear in both files]' - '1:file to compare:_files' - '2:file to compare:_files' -) - -if _pick_variant gnu=GNU unix --version; then - aopts=( ) - args+=( - '(--nocheck-order)--check-order[check input is correctly sorted]' - "(--check-order)--nocheck-order[don't check input is correctly sorted]" - '--output-delimiter=[specify column delimiter]:delimiter' - '--total[display summary]' - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter]' - '(- : *)--version[display version information]' - '(- : *)--help[display help information]' - ) -elif [[ $OSTYPE = (freebsd|dragonfly|darwin)* ]]; then - args+=( '-i[case insensitive comparison of lines]' ) -elif [[ $OSTYPE = (openbsd|netbsd)* ]]; then - args+=( '-f[case insensitive comparison of lines]' ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command deleted file mode 100644 index 503f860a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command +++ /dev/null @@ -1,7 +0,0 @@ -#compdef command - -_arguments \ - '-v[indicate result of command search]:*:command:_path_commands' \ - '-V[show result of command search in verbose form]:*:command:_path_commands' \ - '(-)-p[use default PATH to find command]' \ - '*:: : _normal -p $service' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command_names b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command_names deleted file mode 100644 index 12cbd69c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_command_names +++ /dev/null @@ -1,68 +0,0 @@ -#autoload - -# The option `-e' if given as the first argument says that we should -# complete only external commands and executable files. This and a -# `-' as the first argument is then removed from the arguments. - -local args defs expl ffilt - -zstyle -t ":completion:${curcontext}:commands" rehash && rehash - -zstyle -t ":completion:${curcontext}:functions" prefix-needed && \ - [[ $PREFIX != [_.]* ]] && \ - ffilt='[(I)[^_.]*]' - -defs=( - 'commands:external command:_path_commands' -) - -if [[ -n "$path[(r).]" || $PREFIX = */* ]]; then - defs+=( 'executables:executable file:_files -g \*\(-\*\)' ) -else - # this is ignored but exists to facilitate the use of the fake style - _description executables expl 'executable file' -fi - -if [[ "$1" = -e ]]; then - shift -elif (( ${#precommands:|builtin_precommands} )); then - # precommand excludes internal options below -else - [[ "$1" = - ]] && shift - - defs=( "$defs[@]" - 'builtins:builtin command:compadd -Qk builtins' - "functions:shell function:compadd -k 'functions$ffilt'" - 'aliases:alias:compadd -Qk aliases' - 'suffix-aliases:suffix alias:_suffix_alias_files' - 'reserved-words:reserved word:compadd -Qk reswords' - 'jobs:: _jobs -t' - 'parameters:: _parameters -g "^*(readonly|association)*" -qS= -r "\n\t\- =[+"' - 'parameters:: _parameters -g "*association*~*readonly*" -qS\[ -r "\n\t\- =[+"' - ) -fi - -args=( "$@" ) - -local -a cmdpath - -zstyle -a ":completion:${curcontext}" command-path cmdpath - -# Using the current PATH doesn't necessarily make sense when completing commands -# to tools like sudo, which might set a different one. A common issue is that -# /**/sbin appear in the PATH used by the tool, but not in the one used by the -# unprivileged user who calls it. To do the right thing in the most common -# cases, we'll simply ensure that the sbin variants always appear here when not -# otherwise overridden (bash-completion's _sudo does something similar) -if (( ! $#cmdpath && $#_comp_priv_prefix )); then - cmdpath=( $path ${path/%\/bin//sbin} ) - cmdpath=( ${(u)^cmdpath}(/-N) ) -fi - -if (( $#cmdpath )); then - local -a +h path - local -A +h commands - path=( $cmdpath:A ) -fi - -_alternative -O args "$defs[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comp_locale b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comp_locale deleted file mode 100644 index e55338b9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_comp_locale +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -# Arrange that LC_CTYPE retains the current setting so characters in -# file names are handled properly, but other locales are set to C so -# that the completion system can process output without surprises. - -# This exports new locale settings, so should only -# be run in a subshell. A typical use is in a $(...). - -local ctype - -if ctype=${${(f)"$(locale 2>/dev/null)"}:#^LC_CTYPE=*}; then - unset -m LC_\* - [[ -n $ctype ]] && eval export $ctype -else - ctype=${LC_ALL:-${LC_CTYPE:-${LANG:-C}}} - unset -m LC_\* - export LC_CTYPE=$ctype -fi -export LANG=C diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compadd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compadd deleted file mode 100644 index 4456cf71..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compadd +++ /dev/null @@ -1,103 +0,0 @@ -#compdef compadd -P _* - -local curcontext="$curcontext" ret=1 -local -a state line args -typeset -A opt_args - -args=( - '-P+[specify prefix]:prefix' - '-S+[specify suffix]:suffix' - '-p+[specify hidden prefix]:hidden prefix' - '-s+[specify hidden suffix]:hidden suffix' - '-i+[specify ignored prefix]:ignored prefix' - '-I+[specify ignored suffix]:ignored suffix' - '-o[specify order for matches by match string not by display string]:: : _values -s , order - "match[order by match not by display string]" - "nosort[matches are pre-ordered]" - "numeric[order numerically]" - "reverse[order backwards]"' - '(-1 -E)-J+[specify match group]:group' - '!-V+:group' - '(-J -E)-1[remove only consecutive duplicates from group]' - '-2[preserve all duplicates]' - '(-x)-X[specify explanation]:explanation' - '(-X)-x[specify unconditional explanation]:explanation' - '-q[make suffix autoremovable]' - '-r+[specify character class for suffix autoremoval]:character class' - '-R+[specify function for suffix autoremoval]:function:_functions' - '-F+[specify array of ignore patterns]:array:_parameters -g "*array*"' - '-Q[disable quoting of possible completions]' - '*-M[specify matching specifications]' - '-n[hide matches in completion listing]' - '-O+[populate array with matches instead of adding them]:array:_parameters -g "*array*"' - '-A+[populate array with expanded matches instead of adding them]:array:_parameters -g "*array*"' - '*-D+[delete elements from array corresponding to non-matching candidates]:array:_parameters -g "*array*"' -) - -case $service in - compadd|_(path_|)files) - args+=( - '-W[specify location for matches marked as files]' - ) - ;| - compadd) - args+=( - '(-k)-a[matches are elements of specified arrays]' - '(-a)-k[matches are keys of specified associative arrays]' - '-d+[specify display strings]:array:_parameters -g "*array*"' - '-l[list display strings one per line, not in columns]' - '-f[mark matches as being files]' - '-e[mark matches as being parameters]' - '-C[add special match that expands to all other matches]' - '(-1 -J)-E+[add specified number of display only matches]:number' - '-U[disable internal matching of completion candidates]' - '*:candidate:->candidates' - ) - ;; - _dates) - args=( ${args:#([(][^)]##\)|)-[12noOAD]*} - '-f[specify format for matches]:format:_date_formats' - '-F[select a future rather than past date]' - ) - ;; - _(path_|)files) - args=( ${args:#([(][^)]##\)|)-[OAD]*} - '-g+[specify file glob pattern]:glob pattern' - '-/[complete only directories]' - ) - ;; - _parameters) - args+=( - '-g+[specify pattern to filter parameter type by]:pattern' - ) - ;; - _pids) - args+=( '-m+[pattern to filter process command line by]:pattern' ) - ;; - _process_names) - args+=( - '-a[include all processes]' - '-t[use truncated process names]' - ) - ;; - _sys_calls) - args+=( - '-a[add "all" as an additional match]' - '-n[add "none" as an additional match]' - ) - ;; -esac - -_arguments -C -s -S -A "-*" $args && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[-a] )); then - _parameters -g "*array*" && ret=0 - elif (( $+opt_args[-k] )); then - _parameters -g "*assoc*" && ret=0 - else - _message -e candidates candidate - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compdef b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compdef deleted file mode 100644 index 22af7f56..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compdef +++ /dev/null @@ -1,79 +0,0 @@ -#compdef compdef - -local state line expl disp curcontext="$curcontext" pat normal ret=1 -local args1 args2 -typeset -A opt_args - -args2=() -if (( ! ${words[2,-1][(I)[^-]*]} || ${words[(I)-[kK]]} )); then - args1=( - -A '-*' - '(-d)-a[make function autoloadable]' - '(-d)-n[leave existing definitions intact]' - ) - args2=( - - d - '-d[delete]:*:completed command:->ccom' - - k - '-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' - - K - '-K[define multiple widgets based on function]:*::: :->multi' - ) -else - args1=( - '!-a' '!-n' - '*-N[completion for named command]' - ) -fi - -_arguments -C -s -S \ - "$args1[@]" \ - '*-p[completion for command matching pattern]' \ - '*-P[completion for command matching pattern]' \ - ':completion function:->cfun' \ - '*:commands:->com' \ - "$args2[@]" && ret=0 - -if [[ $state = multi ]]; then - case $(( CURRENT % 3 )) in - 0) _message -e keys key - return 1;; - 1) state=cfun;; - 2) state=style;; - esac -fi - -case $state in - com) - pat="${words[(I)-[pP]]}" - normal="${words[(I)-N]}" - if (( pat && pat > normal )); then - _message -e patterns 'pattern' - else - _command_names && ret=0 - fi - ;; - ccom) - _wanted commands expl 'completed command' compadd -k _comps && ret=0 - ;; - cfun) - typeset -aU list=( ${(v)_comps} ${(k)functions[(I)_*]} ) - (( ${+list[1]} )) || list+=( ${^fpath:/.}/_(|*[^~])(:t) ) - if zstyle -T ":completion:${curcontext}:functions" prefix-hidden; then - disp=( ${list[@]#_} ) - _wanted functions expl 'completion function' \ - compadd -d disp -a list && ret=0 - else - _wanted functions expl 'completion function' compadd -a list && ret=0 - fi - ;; - style) - _wanted widgetstyle expl 'widget style' \ - compadd -M 'r:|-=* r:|=*' \ - complete-word delete-char-or-list expand-or-complete \ - expand-or-complete-prefix list-choices menu-complete \ - menu-expand-or-complete reverse-menu-complete && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete deleted file mode 100644 index 743fd046..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete +++ /dev/null @@ -1,144 +0,0 @@ -#autoload - -# Generate all possible completions. Note that this is not intended as -# a normal completion function, but as one possible value for the -# completer style. - -local comp name oldcontext ret=1 service -typeset -T curcontext="$curcontext" ccarray - -oldcontext="$curcontext" - -# If we have a user-supplied context name, use only that. - -if [[ -n "$compcontext" ]]; then - - if [[ "${(t)compcontext}" = *array* ]]; then - local expl - - _wanted values expl value compadd -a - compcontext - - elif [[ "${(t)compcontext}" = *assoc* ]]; then - local expl tmp i - - tmp=() - for i in "${(@k)compcontext[(R)*[^[:blank:]]]}"; do - tmp=( "$tmp[@]" "${i}:${compcontext[$i]}" ) - done - tmp=( "$tmp[@]" "${(k@)compcontext[(R)[[:blank:]]#]}" ) - - _describe -t values value tmp - - elif [[ "$compcontext" = *:*:* ]]; then - local tag="${${compcontext%%:*}:-values}" - local descr="${${${compcontext#${tag}:}%%:*}:-value}" - local action="${compcontext#${tag}:${descr}:}" expl ws ret=1 - - case "$action" in - \ #) - _message -e "$tag" "$descr";; - - \(\(*\)\)) - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "$tag" "$descr" ws;; - - \(*\)) - eval ws\=\( "${action[2,-2]}" \) - - _wanted "$tag" expl "$descr" compadd -a - ws;; - - \{*\}) - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - eval "$action[2,-2]" && ret=0 - done - (( ret )) || break - done;; - - \ *) - eval ws\=\( "$action" \) - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - "$ws[@]" - done - (( ret )) || break - done;; - - *) - eval ws\=\( "$action" \) - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - "$ws[1]" "$expl[@]" "${(@)ws[2,-1]}" - done - (( ret )) || break - done;; - - esac - - else - ccarray[3]="$compcontext" - - comp="$_comps[$compcontext]" - [[ -n "$comp" ]] && eval "$comp" - fi - - return -fi - -# An entry for `-first-' is the replacement for `compctl -T' - -comp="$_comps[-first-]" -if [[ -n "$comp" ]]; then - service="${_services[-first-]:--first-}" - ccarray[3]=-first- - eval "$comp" && ret=0 - if [[ "$_compskip" = all ]]; then - _compskip= - return ret - fi -fi - -# If we are inside `vared' and we don't have a $compcontext, we treat -# this like a parameter assignment. Which it is. - -[[ -n $compstate[vared] ]] && compstate[context]=vared - -# For arguments and command names we use the `_normal' function. - -ret=1 -if [[ "$compstate[context]" = command ]]; then - curcontext="$oldcontext" - _normal -s && ret=0 -else - # Let's see if we have a special completion definition for the other - # possible contexts. - - local cname="-${compstate[context]:s/_/-/}-" - - ccarray[3]="$cname" - - comp="$_comps[$cname]" - service="${_services[$cname]:-$cname}" - - # If not, we use default completion, if any. - - if [[ -z "$comp" ]]; then - if [[ "$_compskip" = *default* ]]; then - _compskip= - return 1 - fi - comp="$_comps[-default-]" - service="${_services[-default-]:--default-}" - fi - [[ -n "$comp" ]] && eval "$comp" && ret=0 -fi - -_compskip= - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_debug b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_debug deleted file mode 100644 index 94fd4acc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_debug +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -k complete-word \C-x? - -eval "$_comp_setup" - -(( $+_debug_count )) || integer -g _debug_count -local tmp=${TMPPREFIX}${$}${words[1]:t}$[++_debug_count] -local pager w="${(qq)words}" - -integer debug_fd=-1 -{ - if [[ -t 2 ]]; then - zmodload -F zsh/files b:zf_ln 2>/dev/null && - zf_ln -fn =(<<<'') $tmp && - exec {debug_fd}>&2 2>| $tmp - fi - - local -a debug_indent - () { - setopt localoptions no_ignorebraces - debug_indent=( '%'{3..20}'(e. .)' ) - } - local PROMPT4 PS4="${(j::)debug_indent}+%N:%i> " - setopt xtrace - : $ZSH_NAME $ZSH_VERSION - ${1:-_main_complete} - integer ret=$? - unsetopt xtrace - - if (( debug_fd != -1 )); then - zstyle -s ':completion:complete-debug::::' pager pager - print -sR "${pager:-${PAGER:-${VISUAL:-${EDITOR:-more}}}} ${(q)tmp} ;: $w" - _message -r "Trace output left in $tmp (up-history to view)" - if [[ $compstate[nmatches] -le 1 && $compstate[list] != *force* ]]; then - compstate[list]='list force messages' - fi - fi -} always { - (( debug_fd != -1 )) && exec 2>&$debug_fd {debug_fd}>&- -} -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help deleted file mode 100644 index 69855de9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help +++ /dev/null @@ -1,91 +0,0 @@ -#compdef -k complete-word \C-xh - -_complete_help() { - eval "$_comp_setup" - - local _sort_tags=_help_sort_tags text i j k tmp - typeset -A help_funcs help_tags help_sfuncs help_styles - - local -H _help_scan_funcstack="main_complete|complete|approximate|normal" - local -H _help_filter_funcstack="alternative|call_function|describe|dispatch|wanted|requested|all_labels|next_label" - - { - compadd() { return 1 } - compcall() { _help_sort_tags use-compctl } - zstyle() { - local _f="${${(@)${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}" - - [[ -z "$_f" ]] && _f="${${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}" - - if [[ "$help_sfuncs[$2]" != *${_f}* || - "$help_styles[${2}${_f}]" != *${3}* ]]; then - - [[ "$help_sfuncs[$2]" != *${_f}* ]] && help_sfuncs[$2]+=$'\0'"${_f}" - local _t - - case "$1" in - -s) _t='[string] ';; - -a) _t='[array] ';; - -h) _t='[assoc] ';; - *) _t='[boolean]';; - esac - help_styles[${2}${_f}]+=",${_t} ${3}:${_f}" - fi - - # No need to call the completers more than once with different match specs. - - if [[ "$3" = matcher-list ]]; then - set -A "$4" '' - else - builtin zstyle "$@" - fi - } - - ${1:-_main_complete} - } always { - unfunction compadd compcall zstyle - } - - for i in "${(@ok)help_funcs}"; do - text+=$'\n'"tags in context :completion:${i}:" - tmp=() - for j in "${(@ps.\0.)help_funcs[$i][2,-1]}"; do - tmp+=( "${(@s.,.)help_tags[${i}${j}][2,-1]}" ) - done - zformat -a tmp ' (' "$tmp[@]" - tmp=( $'\n '${^tmp}')' ) - text+="${tmp}" - done - - if [[ ${NUMERIC:-1} -ne 1 ]]; then - text+=$'\n' - for i in "${(@ok)help_sfuncs}"; do - text+=$'\n'"styles in context ${i}" - tmp=() - for j in "${(@ps.\0.)help_sfuncs[$i][2,-1]}"; do - tmp+=( "${(@s.,.)help_styles[${i}${j}][2,-1]}" ) - done - zformat -a tmp ' (' "$tmp[@]" - tmp=( $'\n '${^tmp}')' ) - text+="${tmp}" - done - fi - compstate[list]='list force' - compstate[insert]='' - - compadd -UX "$text[2,-1]" -n '' -} - -_help_sort_tags() { - local f="${${(@)${(@)funcstack[3,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}" - - if [[ "$help_funcs[$curcontext]" != *${f}* || - "$help_tags[${curcontext}${f}]" != *(${(j:|:)~argv})* ]]; then - [[ "$help_funcs[$curcontext]" != *${f}* ]] && - help_funcs[$curcontext]+=$'\0'"${f}" - help_tags[${curcontext}${f}]+=",${argv}:${f}" - comptry "$@" 2>/dev/null - fi -} - -_complete_help "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help_generic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help_generic deleted file mode 100644 index 7aaa1a8d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_help_generic +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -# Note this is a normal ZLE widget, not a completion widget. -# A completion widget can't call another widget, while a normal -# widget can. - -[[ $WIDGET = *noread* ]] || local ZSH_TRACE_GENERIC_WIDGET - -if [[ $WIDGET = *debug* ]]; then - ZSH_TRACE_GENERIC_WIDGET=_complete_debug -else - ZSH_TRACE_GENERIC_WIDGET=_complete_help -fi - -if [[ $WIDGET != *noread* ]]; then - zle read-command && zle $REPLY -w -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_tag b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_tag deleted file mode 100644 index 397b8d90..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_complete_tag +++ /dev/null @@ -1,62 +0,0 @@ -#compdef -k complete-word \C-xt - -# Complete tags using either TAGS or tags. Looks up your directory -# hierarchy to find one. If both exist, uses TAGS. -# -# You can override the choice of tags file with $TAGSFILE (for TAGS) -# or $tagsfile (for tags). -# -# Could be rewritten by some sed expert to use sed instead of perl. - -emulate -L zsh - -# Tags file to look for -local c_Tagsfile=${TAGSFILE:-TAGS} c_tagsfile=${tagsfile:-tags} expl -# Max no. of directories to scan up through -integer c_maxdir=10 -# Context. -local curcontext="$curcontext" -local -a c_tags_array - -if [[ -z "$curcontext" ]]; then - curcontext="complete-tag:::" -else - curcontext="complete-tag:${curcontext#*:}" -fi - -local c_path= -integer c_idir -while [[ ! -f $c_path$c_Tagsfile && - ! -f $c_path$c_tagsfile && $c_idir -lt $c_maxdir ]]; do - (( c_idir++ )) - c_path=../$c_path -done - -if [[ -f $c_path$c_Tagsfile && $c_path$c_Tagsfile -ef $c_path$c_tagsfile && - "$(head -1 $c_path$c_tagsfile)" == '!_TAG_'* ]]; then - c_Tagsfile= -fi - -if [[ -f $c_path$c_Tagsfile ]]; then - # prefer the more comprehensive TAGS, which unfortunately is a - # little harder to parse. - # could do this with sed, just can't be bothered to work out how, - # after quarter of an hour of trying, except for - # rm -f =sed; ln -s /usr/local/bin/perl /usr/bin/sed - # but that's widely regarded as cheating. - c_tags_array=($(sed -n \ - -e 's/^\(.*[a-zA-Z_0-9]\)[[ '$'\t'':;,()]*'$'\177''.*$/\1/' \ - -e 's/^.*[^a-zA-Z_0-9]//' \ - -e '/^[a-zA-Z_].*/p' $c_path$c_Tagsfile)) -# c_tags_array=($(perl -ne '/([a-zA-Z_0-9]+)[ \t:;,\(]*\x7f/ && -# print "$1\n"' $c_path$c_Tagsfile)) - _main_complete - '' _wanted etags expl 'emacs tag' \ - compadd -a c_tags_array -elif [[ -f $c_path$c_tagsfile ]]; then - # tags doesn't have as much in, but the tag is easy to find. - # we can use awk here. - c_tags_array=($(awk '{ print $1 }' $c_path$c_tagsfile)) - _main_complete - '' _wanted vtags expl 'vi tag' compadd -a c_tags_array -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_completers b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_completers deleted file mode 100644 index 87c986a1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_completers +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -# option: -p - needs a `_' prefix -local us -local -a disp list expl - -list=( complete approximate correct match expand list menu oldlist - ignored prefix history ) -zparseopts -D -K -E 'p=us' -[[ -n "$us" ]] && us='_' -zstyle -t ":completion:${curcontext}:completers" prefix-hidden && - disp=(-d list) -_wanted completers expl 'completer' \ - compadd "$@" "$disp[@]" - "$us${^list[@]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_composer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_composer deleted file mode 100644 index 1cd3f356..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_composer +++ /dev/null @@ -1,850 +0,0 @@ -#compdef composer composer.phar - -# Notes: -# - With some re-arranging, this function could be used as a base for completing -# any Symfony Console application. It's worth mentioning that most Console -# applications provide their help output in structured XML and JSON formats, -# and a helper function could be written to parse these and produce basic -# completion similar to what `_arguments --` does. But it wouldn't be fully -# featured like this -# - Completing arbitrary package names from Packagist, even with caching enabled -# (which it is by default here), can be very slow; it may even hang the shell. -# To disable the fetching of remote packages and use only local cache/JSON -# information for completion, set the fetch-packages style as follows: -# zstyle ':completion:*:composer:*' fetch-packages no -# - @todo We don't complete custom commands (including script aliases). This is -# easy to do in the general case, but it probably requires some clever caching -# to avoid introducing a noticeable lag to every completion operation, due to -# the way command resolution works and the fact that discovering custom -# commands requires making slow calls to Composer -# - @todo We don't complete version constraints - -# Check cache validity -__composer_cache_policy() { - # Invalidate if the cache is over a week old - [[ -n $1(#qmw+1N) ]] && return 0 - - __composer_update_work_dir - - # Invalidate if the current project JSON file is newer than the cache - [[ -e $_composer_work_dir/composer.json ]] && - [[ $_composer_work_dir/composer.json -nt $1 ]] -} - -# _call_program wrapper (same eval/quoting rules apply) -# $1 => tag -# $2 ... => composer arguments -(( $+functions[__composer_call] )) || -__composer_call() { - local -a cmd - - __composer_update_work_dir - - cmd=( ${_composer_cmd:-composer} -d${(q)${_composer_work_dir:-$PWD}} ) - (( _composer_is_global )) && cmd+=( global ) - - _call_program $1 $cmd "${@[2,-1]}" -} - -# Resolve potentially abbreviated/aliased command name to canonical name -# $1 => name of scalar parameter to set -# $2 => provided command name -(( $+functions[__composer_resolve_cmd] )) || -__composer_resolve_cmd() { - local __i __ret=1 - local -a __cmds __tmp=( ${(@)_composer_cmds%%:*} ) - - __cmds=( $__tmp[(r)$2] ) - (( $#__cmds )) || __cmds=( ${(M)__tmp:#$2*} ) - - if (( $#__cmds == 1 )); then - 2=$__cmds[1] - (( $+_composer_cmd_aliases[$2] )) && 2=$_composer_cmd_aliases[$2] - __ret=0 - else - 3=$__cmds[1] - - # An ambiguous prefix match isn't ambiguous if all the matches are aliases - # of each other - for (( __i = 2; __i <= $#__cmds; __i++ )); do - if [[ $_composer_cmd_aliases[$__cmds[__i]] == $3 ]]; then - __cmds[__i]=() - elif [[ $_composer_cmd_aliases[$3] == $__cmds[__i] ]]; then - 3=$__cmds[__i] - __cmds[__i]=() - fi - done - - if (( $#__cmds == 1 )); then - 2=$3 - __ret=0 - elif (( $#__cmds )); then - _message -e ambiguous-commands "ambiguous command: $2 ($__cmds)" - else - # @todo Too annoying without handling custom commands - : _message -e unrecognized-commands "unrecognized command: $2" - fi - fi - : ${(P)1::=$2} - return __ret -} - -# Remove already-used global options (this is a bit silly admittedly) -# $1 ... => options given (e.g. ${(k)opt_args}) -(( $+functions[__composer_prune_global_opts] )) || -__composer_prune_global_opts() { - local opt - local -a excls specs remove - - for opt in $@; do - specs=( ${(M)_composer_global_opts:#(*[\*\)]|)${opt}[=+-]#\[*} ) - excls=( ${=${(@)${(@M)specs#\([^\)]##\)}//[ \(\)]/ }} ) - remove+=( - # Don't remove used options like *-v - ${specs:#(*\)|)\*${opt}[=+-]#\[*} - # But do remove them if a used option excludes them - ${(M)_composer_global_opts:#(*[\*\)]|)(${(j<|>)~${(@b)excls}})[=+-]#\[*} - ) - done - - _composer_global_opts=( ${_composer_global_opts:#(${(j<|>)~${(@b)remove}})} ) -} - -# Update the working directory from opt_args/PWD. This is a little irritating to -# deal with; for now we're just calling it anywhere it might be important -(( $+functions[__composer_update_work_dir] )) || -__composer_update_work_dir() { - if [[ -n ${(v)opt_args[(i)(-d|--working-dir)]} ]]; then - _composer_work_dir=${(Q)${(v)opt_args[(i)(-d|--working-dir)]}} - elif [[ -z $_composer_work_dir ]]; then - _composer_work_dir=$PWD - fi -} - -# Complete local/vendored binaries -(( $+functions[__composer_binaries] )) || -__composer_binaries() { - local -a expl tmp - - tmp=( ${(f)"$( __composer_call exec-list exec -l )"} ) - tmp=( ${(@)tmp%%[[:space:]]##} ) - [[ $tmp[1] == *: ]] && tmp[1]=() - tmp=( ${(@)tmp##[\*-][[:space:]]#} ) - tmp=( ${(@)tmp%%[[:space:]]##\(local\)} ) - - _wanted -x commands expl binary compadd -a "$@" - tmp -} - -# Complete commands -(( $+functions[__composer_commands] )) || -__composer_commands() { - _describe -t commands command _composer_cmds -} - -# Complete package licences -(( $+functions[__composer_licenses] )) || -__composer_licenses() { - # These are just the ones the Composer documentation recommends; the full list - # of supported identifiers can be found at https://spdx.org/licenses/. If - # other functions need to complete licences in the future, it might be wise to - # break this out into a _licenses type - local -a tmp=( - 'Apache-2.0:Apache License 2.0' - 'BSD-2-Clause:BSD 2-Clause "Simplified" License' - 'BSD-3-Clause:BSD 3-Clause "New" or "Revised" License' - 'BSD-4-Clause:BSD 4-Clause "Original" or "Old" License' - 'GPL-2.0-only:GNU General Public License v2.0 only' - 'GPL-2.0-or-later:GNU General Public License v2.0 or later' - 'GPL-3.0-only:GNU General Public License v3.0 only' - 'GPL-3.0-or-later:GNU General Public License v3.0 or later' - 'LGPL-2.1-only:GNU Lesser General Public License v2.1 only' - 'LGPL-2.1-or-later:GNU Lesser General Public License v2.1 or later' - 'LGPL-3.0-only:GNU Lesser General Public License v3.0 only' - 'LGPL-3.0-or-later:GNU Lesser General Public License v3.0 or later' - 'MIT:MIT License' - 'proprietary:proprietary/closed-source license' - ) - _describe -t licenses 'package license' tmp -} - -# Complete packages -# --pairs => complete as package:constraint pairs -# --vendor => complete only vendored (installed) packages -(( $+functions[__composer_packages] )) || -__composer_packages() { - local cwd - local -a pairs vendor home_dirs pkgs - - __composer_update_work_dir - - zparseopts -D -E - -vendor=vendor -pairs=pairs - - (( $#pairs )) && compset -P '*[:= ]' && { - _message -e versions 'version constraint' - return - } - - home_dirs=( - $COMPOSER_HOME(#q/N) - $HOME/.composer(#q/N) - $HOME/.config/composer(#q/N) - ${XDG_CONFIG_HOME:-/@err@}/composer(#q/N) - ) - - pkgs=( $_composer_work_dir/vendor/*/*(#q/N) ) - - # Trying to work out the path to the vendor directory when we're global is - # tedious, so we'll just take everything we can find - (( ! $#vendor || _composer_is_global )) && - pkgs+=( $^home_dirs/vendor/*/*(#q/N) ) - - (( $#vendor )) || pkgs+=( - ${COMPOSER_CACHE_DIR:-/@err@}/files/*/*(#q/N) - $^home_dirs/cache/files/*/*(#q/N) - ) - - pkgs=( ${(@M)pkgs%%[^/]##/[^/]##} ) - - (( $#vendor )) || { - pkgs+=( - ${(f)"$( - _call_program packages-json \ - command grep -soE ${(qq):-'"[^/]+\\?/[^/]+"\s*:'} -- \ - ${(qq)_composer_work_dir}/composer.json - )"//[$':" \t\\']/} - ${(@)${(f)"$( - _call_program packages-lock \ - command grep -soE ${(qq):-'"name"\s*:\s*"[^/]+\\?/[^/]+"'} -- \ - ${(qq)_composer_work_dir}/composer.lock - )"//\"name\"/}//[$':" \t\\']/} - ) - - zstyle -T ":completion:*:*:$service:*" fetch-packages && { - { (( ! $#_composer_cache_pkgs )) || _cache_invalid composer-pkgs } && - ! _retrieve_cache composer-pkgs && { - _composer_cache_pkgs=( ${(f)"$( - __composer_call packages-fetch show -aN | - LC_ALL=C tr -d '\t ' # Seems faster than ${...//.../} here - )"} ) - _store_cache composer-pkgs _composer_cache_pkgs - } - pkgs+=( $_composer_cache_pkgs ) - } - } - - (( $#pkgs )) || { - _message -e packages package - return - } - - if [[ $PREFIX == */* ]]; then - _description packages expl "${PREFIX%%/*}/* package" - else - _description packages expl 'package vendor' - fi - _multi_parts "${(@)expl}" "$@" / pkgs -} - -# Complete package repositories -(( $+functions[__composer_repositories] )) || -__composer_repositories() { - _alternative \ - 'urls:repository URL:_urls' \ - 'files:repository JSON configuration file:_files -g "*.json(#q-.)"' \ - 'json:repository JSON configuration object:' -} - -# Complete composer.json scripts -(( $+functions[__composer_scripts] )) || -__composer_scripts() { - local -a expl tmp - - tmp=( ${(f)"$( __composer_call run-script-list run-script -l )"} ) - tmp=( ${(@)tmp##[[:space:]]##} ) - tmp=( ${(@)tmp%%[[:space:]]##} ) - [[ $tmp[1] == *: ]] && tmp[1]=() - tmp=( ${(@)tmp##[\*-][[:space:]]#} ) - tmp=( ${(@)tmp%%[[:space:]]*} ) - - _wanted -x commands expl script compadd -a "$@" - tmp -} - -# Complete package stabilities -(( $+functions[__composer_stabilities] )) || -__composer_stabilities() { - local -a expl - _wanted stabilities expl 'package stability' compadd "$@" - \ - stable RC beta alpha dev -} - -# Complete package types -(( $+functions[__composer_types] )) || -__composer_types() { - local -a expl - # Only the first four here are official types listed in the documentation; the - # others are popular custom types - _wanted types expl 'package type' compadd "$@" - \ - composer-plugin library metapackage project \ - cakephp-plugin cantao-module drupal-module magento2-module package \ - phpcodesniffer-standard silverstripe-module symfony-bundle \ - typo3-cms-extension wordpress-plugin yii2-extension -} - -(( $+functions[_composer_archive] )) || -_composer_archive() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dir=[specify output directory]:output directory:_files -/' \ - '--file=[specify output file name]:output file name (without extension):_files' \ - '(-f --format)'{-f+,--format=}'[specify archive format]:archive format:(tar zip)' \ - '1:: :__composer_packages' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_check-platform-reqs] )) || -_composer_check-platform-reqs() { - _arguments -s -S : \ - $_composer_global_opts \ - '--no-dev[do not check require-dev package requirements]' -} - -(( $+functions[_composer_config] )) || -_composer_config() { - local ret=1 - local -a context expl line state state_descr cmd tmp - local -A opt_args - - # -a and -f can be used together, in which case auth.json will be looked up in - # the base directory of the -f file. -f and -g can't be used together, but -f - # can still be used to specify config.json with `composer global config` - _arguments -s -S : \ - $_composer_global_opts \ - + '(a)' '(A l u : *)'{-a,--auth}'[edit auth.json (with -e)]' \ - + '(A)' '(a e u)--absolute[display absolute *-dir setting paths]' \ - + '(e)' '(A l u : *)'{-e,--editor}'[open configuration in $EDITOR]' \ - + '(f)' '(g)'{-f+,--file=}'[specify {composer,config}.json path]:configuration file:_files' \ - + '(g)' {-g,--global}'[use global config.json]' \ - + '(l)' '(a e u : *)'{-l,--list}'[list configuration settings]' \ - + '(u)' '(a A e l *)--unset[unset specified setting key]' \ - + k '(a e l)1: :->key' \ - + v '(a e l u)*:: :->val' \ - && ret=0 - __composer_update_work_dir - - case $state in - key) - # `composer config` doesn't seem to actually respect -d... - tmp=( ${(v)opt_args[(i)([^-]##-|)(-f|--file)]} ) - cmd=( config -f$^tmp $opt_args[(i)([^-]##-|)(-g|--global)] -l ) - - tmp=( ${(@M)${(f)"$( __composer_call config-list $cmd )"}#\[*\]} ) - tmp=( ${(@)tmp//[ \]\[]/} ) - - _wanted setting-keys expl 'setting key' compadd -a "$@" - tmp && ret=0 - ;; - val) - case $words[1] in - *[.-]dirs#|home) - _wanted setting-values expl 'setting value' _files -/ "$@" && ret=0 - ;; - *[.-]domains#) - _wanted setting-values expl 'setting value' _hosts "$@" && ret=0 - ;; - *[.-]urls#) - _wanted setting-values expl 'setting value' _urls "$@" && ret=0 - ;; - *) - # If we wanted we could get specific about booleans, etc., here - _wanted setting-values expl 'setting value' _default "$@" && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_composer_create-project] )) || -_composer_create-project() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '(--remove-vcs)--keep-vcs[do not remove VCS directory]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-install[skip installation of package dependencies]' \ - '--no-progress[do not display download progress]' \ - '--no-secure-http[do not use HTTPS]' \ - '--no-scripts[prevent execution of scripts defined in root package]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '(--keep-vcs)--remove-vcs[force removal of VCS directory]' \ - '--repository=[specify package repository]: :__composer_repositories' \ - '!(--repository)--repository_url:repository URL:_urls' \ - '(-s --stability)'{-s+,--stability=}'[specify minimum stability]: :__composer_stabilities' \ - '1: :__composer_packages' \ - '2::project directory:_files -/' \ - '3:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_depends] )) || -_composer_depends() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-r --recursive)'{-r,--recursive}'[resolve recursively up to root package]' \ - '(-t --tree)'{-t,--tree}'[display in tree format]' \ - '1: :__composer_packages --vendor' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_dump-autoload] )) || -_composer_dump-autoload() { - _arguments -s -S : \ - $_composer_global_opts \ - '--apcu[use APCu to cache found/not-found classes]' \ - '--no-dev[ignore autoload-dev rules]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - + '(a)' '(o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(o)' {-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_exec] )) || -_composer_exec() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '(: * -l --list)'{-l,--list}'[display available binaries]' \ - '1: :__composer_binaries' \ - '*: :->next' \ - && ret=0 - - # Can't use *:: here, it won't complete subsequent options - [[ $state == next ]] && { - shift words - (( CURRENT-- )) - unset _composer_cmd - _normal && ret=0 - } - - return ret -} - -(( $+functions[_composer_global] )) || -_composer_global() { - _composer_is_global=1 - _composer "$@" -} - -(( $+functions[_composer_help] )) || -_composer_help() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [txt]:(json md txt xml)' \ - '--raw[output raw help (with text format)]' \ - '1: :__composer_commands' -} - -(( $+functions[_composer_home] )) || -_composer_home() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-H --homepage)'{-H,--homepage}'[use home page instead of repository]' \ - '(-s --show)'{-s,--show}'[display URL only (do not open)]' \ - '*: :__composer_packages' \ -} - -(( $+functions[_composer_init] )) || -_composer_init() { - _arguments -s -S : \ - $_composer_global_opts \ - '--author=[specify package author]:package author' \ - '--description=[specify package description]:package description' \ - '--homepage=[specify package home page]:package home page:_urls' \ - '(-l --license)'{-l+,--license=}'[specify package license]: :__composer_licenses' \ - '--name=[specify package name]: :__composer_packages' \ - '*--repository=[specify custom package repository]: :__composer_repositories' \ - '*--require=[specify package to require]: :__composer_packages --pairs' \ - '*--require-dev=[specify package to require for development]: :__composer_packages --pairs' \ - '(-s --stability)'{-s+,--stability=}'[specify minimum stability]: :__composer_stabilities' \ - '--type=-[specify package type]:: :__composer_types' -} - -(( $+functions[_composer_install] )) || -_composer_install() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--dry-run[do not actually install (implies -v)]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_licenses] )) || -_composer_licenses() { - _arguments -s -S : \ - $_composer_global_opts \ - '--no-dev[ignore require-dev packages]' \ - '--format=[specify output format]:output format [text]:(json text)' -} - -(( $+functions[_composer_list] )) || -_composer_list() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [txt]:(json md txt xml)' \ - '--raw[output raw help (with text format)]' \ - '1: :_guard "^-*" namespace' -} - -(( $+functions[_composer_outdated] )) || -_composer_outdated() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [text]:(json text)' \ - '--strict[return non-zero exit code if there are outdated packages]' \ - '1: :__composer_packages --vendor' \ - + '(a)' '(D I)'{-a,--all}'[display all installed packages]' \ - + '(D)' '(a)'{-D,--direct}'[display only packages directly required by root package]' \ - + '(I)' '(a)*--ignore=[ignore specified package (with -o)]: :__composer_packages' \ - + '(m)' '(a)'{-m,--minor-only}'[display only packages with minor semver updates (with -o)]' \ - + '(o)' '!(a)'{-o,--outdated} -} - -(( $+functions[_composer_prohibits] )) || -_composer_prohibits() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-r --recursive)'{-r,--recursive}'[resolve recursively up to root package]' \ - '(-t --tree)'{-t,--tree}'[display in tree format]' \ - '1: :__composer_packages --vendor' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_remove] )) || -_composer_remove() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dev[remove package from require-dev]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '(--update-no-dev)--no-update[do not update dependencies]' \ - '(--update-with-dependencies)--no-update-with-dependencies[do not update inherited dependencies]' \ - '(--no-update)--update-no-dev[update dependencies with --no-dev option]' \ - '(--no-update-with-dependencies)--update-with-dependencies[update inherited dependencies]' \ - '*: :__composer_packages --vendor' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_require] )) || -_composer_require() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dev[add package to require-dev]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '--prefer-lowest[prefer lowest versions of dependencies]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '--prefer-stable[prefer stable versions of dependencies]' \ - '--sort-packages[sort packages when adding/updating dependencies]' \ - '(--no-update)--update-no-dev[update dependencies with --no-dev option]' \ - '*: :__composer_packages --pairs' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' \ - + '(u)' \ - '(--update-no-dev)--no-update[do not update dependencies]' \ - '--update-with-dependencies[update inherited dependencies, except root requirements]' \ - '--update-with-all-dependencies[update all inherited dependencies]' -} - -(( $+functions[_composer_run-script] )) || -_composer_run-script() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[enable dev mode]' \ - '(: * -l --list)'{-l,--list}'[display available scripts]' \ - '(--dev)--no-dev[disable dev mode]' \ - '--timeout=[specify script timeout]:timeout (seconds)' \ - '1: :__composer_scripts' \ - '*: :->next' \ - && ret=0 - - # Can't use *:: here, it won't complete subsequent options - [[ $state == next ]] && { - shift words - (( CURRENT-- )) - unset _composer_cmd - _normal && ret=0 - } - - return ret -} - -(( $+functions[_composer_search] )) || -_composer_search() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-N --only-name)'{-N,--only-name}'[search package names only]' \ - '(-t --type)'{-t+,--type=}'[search for specified package type]: :__composer_types' \ - '*: :__composer_packages' -} - -(( $+functions[_composer_self-update] )) || -_composer_self-update() { - _arguments -s -S : \ - $_composer_global_opts \ - + '(c)' \ - '--preview[force update to preview channel]' \ - '--snapshot[force update to snapshot channel]' \ - '--stable[force update to stable channel]' \ - + '(C)' '(u)--set-channel-only[set channel as default and exit]' \ - + u \ - '(C -r --rollback)--clean-backups[delete old back-ups during update]' \ - '(C)--no-progress[do not display download progress]' \ - '(c C -r --rollback)'{-r,--rollback}'[roll back to earlier installation]' \ - '(C)--update-keys[prompt for key update]' \ - '(C)1: :_guard "^-*" "Composer version"' -} - -(( $+functions[_composer_show] )) || -_composer_show() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [text]:(json text)' \ - '--strict[return non-zero exit code if there are outdated packages]' \ - '1: :->pkgs' \ - '2:: :_guard "^-*" "version constraint"' \ - + '(a)' '(D I s t)'{-a,--available}'[display only available packages]' \ - + '(A)' '(D I s t)--all[display all packages]' \ - + '(D)' '(a A p s)'{-D,--direct}'[display only packages directly required by root package]' \ - + '(i)' '(s)'{-i,--installed}'[display only installed packages]' \ - + '(I)' '(a A s t)*--ignore=[ignore specified package (with -o)]: :__composer_packages' \ - + '(l)' '(s t)'{-l,--latest}'[display only latest version of installed packages]' \ - + '(m)' '(a A s t)'{-m,--minor-only}'[display only packages with minor semver updates (with -o)]' \ - + '(N)' '(P)'{-N,--name-only}'[display package names only]' \ - + '(o)' '(l t s)'{-o,--outdated}'[like -l, but display only outdated packages]' \ - + '(p)' '(D)'{-p,--platform}'[display only PHP platform packages]' \ - + '(P)' '(a A N)'{-P,--path}'[display package file paths]' \ - + '(s)' '(a A I l o t)'{-s,--self}'[display root package information]' \ - + '(t)' '(a A I l o s)'{-t,--tree}'[display in tree format]' \ - && ret=0 - - [[ $state == pkgs ]] && - if [[ -n $opt_args[(i)[aA]-*] ]]; then - __composer_packages && ret=0 - else - __composer_packages --vendor && ret=0 - fi - - return ret -} - -(( $+functions[_composer_suggests] )) || -_composer_suggests() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--by-suggestion)--by-package[group results by suggesting package]' \ - '(--by-package)--by-suggestion[group results by suggested package]' \ - '--no-dev[exclude suggestions from require-dev packages]' \ - '*: :__composer_packages --vendor' -} - -(( $+functions[_composer_update] )) || -_composer_update() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--dry-run[do not actually update (implies -v)]' \ - '(-i -n --interactive --no-interaction)'{-i,--interactive}'[update with interactive interface]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '--lock[update composer.lock hash only]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '--prefer-lowest[prefer lowest versions of dependencies]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '--prefer-stable[prefer stable versions of dependencies]' \ - '--root-reqs[update only root-package dependencies]' \ - '*:: :__composer_packages --vendor' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' \ - + '(u)' \ - '--with-dependencies[update dependencies of whitelisted packages, except root requirements]' \ - '--with-all-dependencies[update all dependencies of whitelisted packages]' -} - -(( $+functions[_composer_validate] )) || -_composer_validate() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-A --with-dependencies)'{-A,--with-dependencies}'[validate composer.json of installed dependencies]' \ - '--no-check-all[do not validate completely]' \ - '--no-check-lock[ignore out-of-date composer.lock]' \ - '--no-check-publish[ignore publish errors]' \ - '--strict[return non-zero exit code for warnings as well as errors]' \ - '1::composer.json file:_files -g "*.json(#q-.)"' -} - -_composer() { - local ret=1 tmp helps cmd - local -a context line state state_descr - local -A opt_args - - # These are meant for use by helper functions; we check for set-ness first in - # case of `composer global` - (( $+_composer_cmd )) || { - local _composer_cmd=$words[1] _composer_is_global=0 _composer_work_dir= - local -a _composer_cmds _composer_global_opts _composer_cache_pkgs - local -A _composer_cmd_aliases - - # alias -> canonical (mappings derived from source) - _composer_cmd_aliases=( - browse home - clearcache clear-cache - dumpautoload dump-autoload - i install - info show - selfupdate self-update - u update - upgrade update - why depends - why-not prohibits - ) - # Official commands (see note at top about custom ones) - _composer_cmds=( - about:'display short information about Composer' - archive:'create archive of project/package' - check-platform-reqs:'check that platform requirements are satisfied' - clear{-,}cache:'clear internal package cache' - config:'set configuration options' - create-project:'create new project from package' - {depends,why}:'display packages depending on package' - diagnose:'diagnose system problems' - dump{-,}autoload:'dump class autoloader' - exec:'execute vendored binary/script' - global:'run command in global Composer directory' - help:'display help information' - {home,browse}:'open package home page or repository in browser' - init:'create basic composer.json' - {install,i}:'install packages in composer.{lock,json}' - licenses:'display dependency license information' - list:'display supported commands' - outdated:'display outdated packages' - {prohibits,why-not}:'display packages preventing package from being installed' - remove:'remove and uninstall required package' - require:'add and install required package' - run-script:'run scripts in composer.json' - search:'search packages' - self{-,}update:'upgrade Composer' - {show,info}:'display package information' - status:'display locally modified packages' - suggests:'display package suggestions' - {update,u,upgrade}:'upgrade packages in composer.json and update composer.lock' - validate:'validate composer.{json,lock}' - ) - # Global options (can be used both before and after a command) - _composer_global_opts=( - '(-h --help)'{-h,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - - # Symfony handles -vv and -vvv specially - '(-q -v --quiet --verbose)'{-q,--quiet}'[reduce output verbosity]' - '(-q --quiet --verbose)*-v[increase output verbosity]' - '(-q --quiet --verbose)--verbose[increase output verbosity]' - - '(--no-ansi)--ansi[force ANSI (color) output]' - '(--ansi)--no-ansi[disable ANSI (color) output]' - - '(-n --no-interaction)'{-n,--no-interaction}'[run non-interactively]' - - '--no-plugins[disable plug-ins]' - '--profile[display timing and memory usage information]' - '(-d --working-dir)'{-d+,--working-dir=}'[specify working directory]:working directory:_files -/' - ) - - # Use caching by default; Composer is very slow - zstyle -s ":completion:*:*:$service:*" cache-policy tmp - [[ -n $tmp ]] || - zstyle ":completion:*:*:$service:*" cache-policy __composer_cache_policy - - zstyle -s ":completion:*:*:$service:*" use-cache tmp - [[ -n $tmp ]] || - zstyle ":completion:*:*:$service:*" use-cache yes - } - - # Symfony's Application class naively intercepts --version and --help no - # matter where they appear on the command line. --version is handled - # sufficiently by the global option spec above; for --help, we need to - # simulate the help command - [[ -n $words[(r)(-h|--help)] ]] && { - helps=${#${(M)words[2,CURRENT]:#(-h|--help)}} - words=( "$words[1]" help "${(@)words[2,CURRENT]:#(-h|--help)}" ) - (( CURRENT -= helps - 1 )) - __composer_prune_global_opts -h --help - } - - _arguments -s -S -A '-*' : \ - $_composer_global_opts \ - '1: :__composer_commands' \ - '*:: :->next' \ - && ret=0 - __composer_update_work_dir - - [[ $state == next ]] && { - # Resolve abbreviated/aliased command names and ensure that $words[1] works - # as expected in our helper functions - __composer_resolve_cmd cmd $words[1] - words[1]=$_composer_cmd - - # Don't offer global options again after they've been given - __composer_prune_global_opts ${(k)opt_args} - # This is intentionally done twice - [[ $cmd == help ]] && __composer_prune_global_opts -h --help - - if (( $+functions[_composer_$cmd] )); then - _composer_$cmd "$@" && ret=0 - else - _arguments -s -S : $_composer_global_opts && ret=0 - fi - } - - return ret -} - -_composer "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compress b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compress deleted file mode 100644 index cd96b8e8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_compress +++ /dev/null @@ -1,48 +0,0 @@ -#compdef compress uncompress -redirect-,<,uncompress=uncompress -redirect-,>,compress=uncompress -redirect-,<,compress=compress - -local expl state line bits common_args1 common_args2 decompress ret=1 -local curcontext="$curcontext" -typeset -A opt_args -bits=( {9..16} ) - -common_args1=( \ - '-n[omit compressed file header from compressed file]' \ - '-V[display current version and compile options]' \ - '*:files:->files') -common_args2=( \ - '-c[write on standard output]' \ - '(-F)-f[force overwrite]' \ - '(-f)-F[force overwrite]' \ - '(-v)-q[suppress display of compression statistics]' \ - '(-q)-v[display compression statistics]' \ - "${common_args1[@]}" ) - -case "$service" in - compress) - _arguments -C -s \ - "-b[specify maximum number of bits used to replace common substring]:bits:(${bits[*]})" \ - '-C[produce output compatible with BSD 2.0]' \ - '(-b -C)-d[decompress]' \ - "${common_args2[@]}" && ret=0 - ;; - uncompress) - _arguments -C -s "${common_args2[@]}" && ret=0 - decompress=yes - ;; - zcat) - _arguments -C -s "${common_args1[@]}" && ret=0 - decompress=yes - ;; -esac - -if [[ "$state" = files ]]; then - if [[ -z "$decompress" ]] || (( $+opt_args[-d] )); then - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.Z(-.)' && return - else - _description files expl 'compressed file' - _files "$expl[@]" -g '*.Z(-.)' && return - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_condition b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_condition deleted file mode 100644 index 0285911a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_condition +++ /dev/null @@ -1,60 +0,0 @@ -#compdef -condition- - -local prev="$words[CURRENT-1]" ret=1 - -if [[ "$prev" = -o ]]; then - _tags -C -o options && _options -elif [[ "$prev" = -([a-hkprsuwxLOGSN]|[no]t|ef) ]]; then - _tags -C "$prev" files && _files -elif [[ "$prev" = -t ]]; then - _file_descriptors -elif [[ "$prev" = -v ]]; then - _parameters -r "\= \t\n\[\-" -else - if [[ "$PREFIX" = -* ]] || - ! zstyle -T ":completion:${curcontext}:options" prefix-needed; then - - if [[ "$prev" = (\[\[|\|\||\&\&|\!|\() ]]; then - _describe -o 'condition code' \ - '( -a:existing\ file - -b:block\ special\ file - -c:character\ special\ file - -d:directory - -e:existing\ file - -f:regular\ file - -g:setgid\ bit - -h:symbolic\ link - -k:sticky\ bit - -n:non-empty\ string - -o:option - -p:named\ pipe - -r:readable\ file - -s:non-empty\ file - -t:terminal\ file\ descriptor - -u:setuid\ bit - -v:set\ variable - -w:writable\ file - -x:executable\ file - -z:empty\ string - -L:symbolic\ link - -O:own\ file - -G:group-owned\ file - -S:socket - -N:unread\ file)' && ret=0 - else - _describe -o 'condition code' \ - '( -nt:newer\ than - -ot:older\ than - -ef:same\ file - -eq:numerically\ equal - -ne:numerically\ not\ equal - -lt:numerically\ less\ than - -le:numerically\ less\ than\ or\ equal - -gt:numerically\ greater\ than - -ge:numerically\ greater\ than\ or\ equal)' && ret=0 - fi - fi - _alternative 'files:: _files' 'parameters:: _parameters' && ret=0 - - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_configure b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_configure deleted file mode 100644 index 3b22b53d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_configure +++ /dev/null @@ -1,11 +0,0 @@ -#compdef configure config.status - -_arguments -- -i '(--(disable|enable)-FEATURE* --(with|without)-PACKAGE*)' \ - -s '((#s)--disable- --enable- - (#s)--enable- --disable- - (#s)--with- --without- - (#s)--without- --with-)' \ - '*=(E|)PREFIX*:prefix directory:_files -/' \ - '*=PROGRAM*:program:_command_names -e' \ - '*=NAME*executable*:program:_command_names -e' \ - '*=NAME*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_coreadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_coreadm deleted file mode 100644 index 655b48e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_coreadm +++ /dev/null @@ -1,45 +0,0 @@ -#compdef coreadm - -local -a content option - -content=( - "anon[anonymous private mappings]" - "ctf[CTF type information]" - "data[writable private file mappings]" - "dism[DISM mappings]" - "heap[process heap]" - "ism[ISM mappings]" - "rodata[read-only private file mappings]" - "shanon[anonymous shared mappings]" - "shfile[file-backed shared mappings]" - "shm[System V shared memory]" - "stack[process stack]" - "symtab[symbol table sections for loaded files]" - "text[readable and executable private file mappings]" -) - -option=( - 'global:allow global core dumps' - 'process:allow per-process core dumps' - 'global-setid:allow set-id global core dumps' - 'proc-setid:allow set-id per-process core dumps' - 'log:generate a syslog message on global core dump' - 'kzone:allow kernel zone core dumps' -) - -# _values doesn't quite work for us here -- the separator can be either -# "+" or "-" -_arguments -s \ - - set1 \ - '-g[global core file name pattern]:' \ - '-G[global core file content]:content:_values -s + "content" $content' \ - '-i[per-process core file name pattern]:' \ - '-I[per-process core file content]:content:_values -s + "content" $content' \ - '*-d[disable core option]:option:(($option))' \ - '*-e[enable core option]:option:(($option))' \ - - set2 \ - '-p[PID-specific per-process core file name pattern]:' \ - '-P[PID-specific per-process core file content]:content:_values -s + "content" $content' \ - '*:pid:_pids' \ - - set3 \ - '-u[update options from coreadm.conf]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct deleted file mode 100644 index c9c3d999..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct +++ /dev/null @@ -1,19 +0,0 @@ -#autoload - -# This is mainly a wrapper around the more general `_approximate'. -# By setting `compstate[pattern_match]' to something unequal to `*' and -# then calling `_approximate', we get only corrections, not all strings -# with the corrected prefix and something after it. -# -# Supported configuration keys are the same as for `_approximate', only -# starting with `correct'. - -local ret=1 opm="$compstate[pattern_match]" - -compstate[pattern_match]='-' - -_approximate && ret=0 - -compstate[pattern_match]="$opm" - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_filename b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_filename deleted file mode 100644 index 3150ffcd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_filename +++ /dev/null @@ -1,72 +0,0 @@ -#compdef -k complete-word \C-xC - -# Function to correct a filename. Can be used as a completion widget, -# or as a function in its own right, in which case it will print the -# corrected filename to standard output. -# -# You can adapt max_approx to the maximum number of mistakes -# which are allowed in total. -# -# If the numeric prefix is greater than 1, the maximum number of errors -# will be set to that. - -# Doesn't get right special characters in the filename; should -# strip them (e.g. "foo\ bar" -> "foo bar") and then re-insert them. - -emulate -LR zsh -setopt extendedglob - -local file="$PREFIX$SUFFIX" trylist tilde etilde testcmd -integer approx max_approx=6 - -if [[ -z $WIDGET ]]; then - file=$1 - local IPREFIX -else - (( ${NUMERIC:-1} > 1 )) && max_approx=$NUMERIC -fi - -if [[ $file = \~*/* ]]; then - tilde=${file%%/*} - etilde=${~tilde} 2>/dev/null - file=${file/#$tilde/$etilde} -fi - -if [[ $CURRENT -eq 1 && $file != /* ]]; then - testcmd=1 -elif [[ $file = \=* ]]; then - [[ -n $WIDGET ]] && PREFIX="$PREFIX[2,-1]" - IPREFIX="${IPREFIX}=" - file="$file[2,-1]" - testcmd=1 -fi - -# We need the -Q's to avoid the tilde we've put back getting quoted. -if [[ -z $testcmd && -e "$file" ]] || - { [[ -n $testcmd ]] && whence "$file" >&/dev/null }; then - if [[ -n $WIDGET ]]; then - compadd -QUf -i "$IPREFIX" -I "$ISUFFIX" "${file/#$etilde/$tilde}" - [[ -n "$compstate[insert]" ]] && compstate[insert]=menu - else - print "$file" - fi - return -fi - -for (( approx = 1; approx <= max_approx; approx++ )); do - if [[ -z $testcmd ]]; then - trylist=( (#a$approx)"$file"(N) ) - else - trylist=( "${(@)${(@f)$(whence -wm "(#a$approx)$file" 2>/dev/null)}%:*}" ) - [[ $file = */* ]] || trylist=(${trylist##*/}) - fi - (( $#trylist )) && break -done -(( $#trylist )) || return 1 - -if [[ -n $WIDGET ]]; then - compadd -QUf -i "$IPREFIX" -I "$ISUFFIX" "${trylist[@]/#$etilde/$tilde}" - [[ -n "$compstate[insert]" ]] && compstate[insert]=menu -else - print "$IPREFIX${^trylist[@]}" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_word deleted file mode 100644 index e81c7ac7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_correct_word +++ /dev/null @@ -1,15 +0,0 @@ -#compdef -k complete-word \C-xc - -# Simple completion front-end implementing spelling correction. -# The maximum number of errors is set quite high, and -# the numeric prefix can be used to specify a different value. - -local curcontext="$curcontext" - -if [[ -z "$curcontext" ]]; then - curcontext="correct-word:::" -else - curcontext="correct-word:${curcontext#*:}" -fi - -_main_complete _correct diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cowsay b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cowsay deleted file mode 100644 index 8a1b4c4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cowsay +++ /dev/null @@ -1,31 +0,0 @@ -#compdef cowsay cowthink - -local context state line -typeset -A opt_args - -_arguments -s -S -A "-*" \ - "(H mode)-e+[specify cow's eyes]:eye string [oo]" \ - '(H)-f+[specify cowfile]:cowfile:->cowfile' \ - "(H mode)-T+[specify cow's tongue]:tongue string" \ - '(H)-W+[specify width for message word wrap]:wrap column [40]' \ - '(H)-n[no wordwrap]' \ - '*:message' \ - + 'H' \ - '(- *)-h[display usage information]' \ - '(- *)-l[list all cowfiles]' \ - + '(mode)' \ - '(H -e -T)-b[borg mode]' \ - '(H -e -T)-d[dead mode]' \ - '(H -e -T)-g[greedy mode]' \ - '(H -e -T)-p[paranoia mode]' \ - '(H -e -T)-s[stoned mode]' \ - '(H -e -T)-t[tired mode]' \ - '(H -e -T)-w[wired mode]' \ - '(H -e -T)-y[youthful mode]' && return - -case "$state" in - (cowfile) - _wanted -C option-f-1 cowfiles expl 'cow file' compadd \ - ${=${(f)"$(_call_program cowfiles $words[1] -l)"}:#*\:} || _files -g "*.cow(-.)" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cp deleted file mode 100644 index f7411055..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cp +++ /dev/null @@ -1,66 +0,0 @@ -#compdef cp gcp - -if _pick_variant gnu=GNU unix --version; then - _arguments -s -S \ - '(-a --archive)'{-a,--archive}'[archive mode, same as -dR --preserve=all]' \ - "--attributes-only[don't copy file data, just attributes]" \ - '(-b --backup)-b[backup]' \ - '(-b --backup)--backup=-[backup each destination file]::method:(none off numbered t existing nil simple never)' \ - '--copy-contents[copy contents of special files when recursive]' \ - '-d[same as --no-dereference --preserve=links]' \ - '(-f --force)'{-f,--force}'[remove and retry for destinations that cannot be opened]' \ - '(-i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwrite]' \ - '-H[follow command-line symbolic links]' \ - '(-l --link)'{-l,--link}'[link files instead of copying]' \ - '(-L --dereference)'{-L,--dereference}'[always follow symbolic links]' \ - '(-n --no-clobber -i --interactive)'{-n,--no-clobber}"[don't overwrite an existing file]" \ - '(-P --no-dereference)'{-P,--no-dereference}'[never follow symbolic links]' \ - '-p[same as --preserve=mode,ownership,timestamps]' \ - '--preserve=-[preserve specified attributes]:: :_values -s , attribute mode timestamps ownership links context xattr all' \ - "--no-preserve=[don't preserve specified attributes]: :_values -s , attribute mode timestamps ownership links context xattr all" \ - '--parents[append source path to target directory]' \ - '(-R -r --recursive)'{-R,-r,--recursive}'[copy directories recursively]' \ - '--reflink=-[control clone/CoW copies]::when to perform a lightweight copy:(always auto)' \ - '--remove-destination[remove each existing destination file before attempting to open it]' \ - '--sparse=[control creation of sparse files]:when to create sparse files:(auto always never)' \ - '--strip-trailing-slashes[remove any trailing slashes from each source argument]' \ - '(-s --symbolic-link)'{-s,--symbolic-link}'[make symbolic links instead of copies of non-directories]' \ - '(-S --suffix)'{-S+,--suffix=}'[override the usual backup suffix]:backup suffix' \ - '(-t --target-directory)'{-t+,--target-directory=}'[copy all source arguments into target directory]:target directory:_files -/' \ - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat DEST as a normal file]' \ - '(-u --update)'{-u,--update}'[copy only when source is newer than destination or destination is missing]' \ - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \ - '(-x --one-file-system)'{-x,--one-file-system}'[stay on this file system]' \ - '(--context)-Z[set destination SELinux security context]' \ - '(-Z)--context=-[set destination SELinux security context]:: :_selinux_contexts' \ - '(- *)--help' '(- *)--version' \ - '*:file or directory:_files' -else - local pattern arg args - args=( - '(-L -P)-H[follow symlinks on the command line in recursive mode]' - '(-H -P)-L[follow all symlinks in recursive mode]' - '(-H -L)-P[do not follow symlinks in recursive mode (default)]' - '(-i -n)-f[force overwriting existing file]' - '(-f -n)-i[confirm before overwriting existing file]' - '-p[preserve timestamps, mode, owner, flags, ACLs, and extended attributes]' - '-R[copy directories recursively]' \ - '(-)*:file or directory:_files' - ) - for pattern arg in \ - '(aix|hpux|irix|solaris)*' '-r[copy directories recursively]' \ - 'solaris2.<9->*' '-@[preserve extended attributes]' \ - 'solaris2.<11->*' '-/[preserve extended attributes and extended system attributes]' \ - '(darwin|dragonfly|freebsd)*' "(-f -i)-n[don't overwrite existing file]" \ - 'netbsd*' "-N[don't copy file flags]" \ - '(darwin|dragonfly|freebsd|netbsd|openbsd)*' '-a[archive mode, same as -RpP]' \ - '(dragonfly|freebsd)*' '-l[link files instead of copying]' \ - '(darwin|dragonfly|*bsd)*' '-v[show file names as they are copied]' \ - 'darwin*' "-X[don't copy extended attributes or resource forks]" \ - '(dragonfly|freebsd)*' "-x[don't traverse file systems]" \ - 'freebsd<10->.*' '-s[make symbolic links instead of copies of non-directories]' - do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) - done - _arguments -s -S $args -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpio b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpio deleted file mode 100644 index 20f8c712..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpio +++ /dev/null @@ -1,133 +0,0 @@ -#compdef cpio - -local -a args -local ig curcontext="$curcontext" state line -local expl ret=1 -local fmts='(bar bin odc newc crc tar ustar hpbin hpodc)' - -_pick_variant -r ig gnu=GNU unix --version - -if (( CURRENT == 2 )); then - # Complete arguments - args=('-o[create archive]' '-i[extract from archive]' - '-p[run as filter on directory tree]') - [[ $ig = gnu ]] && args=($args '--create[create archive]' - '--extract[extract from archive]' - '--pass-through[run as filter on directory tree]' - '--help[show help text]' '--version[show version information]') -else - if [[ -n ${words[(r)(-o*|-[^-]*o*|--create)]} ]]; then - # Options for creating archive - if [[ $ig = gnu ]]; then - args=( - '--file=:archive file:->afile' - "--format=:format type:$fmts" - '--message=:message at end of volume:' - '--null' '--reset-access-time' - '--verbose' '--dot' '--append' - '--block-size=:block size (512 byte units)' - '--dereference' - '--io-size=:block size (bytes)' - '--quiet' '--force-local' '--help' '--version') - fi - args+=( - '-A[append files to archive]' - '-B[block size 5120 bytes with special file]' - '-C[set block size per record]:block size (bytes)' - '-F[set archive file to use]:archive file:->afile' - '(-H)-c[read/write header in ASCII]' - "(-c)-H[set format type for archive header]:$fmts" - '-L[follow symbolic links]' - '-M[print message at end of volume]:message to print:' - '-O[set output archive file]:output archive file:_files' - ) - elif [[ -n ${words[(r)(-i*|-[^-]*i*|--extract)]} ]]; then - if [[ $ig = gnu ]]; then - args=('--file=:archive file:->afile' - "--format=:format type:$fmts" - '--make-directories' '--nonmatching' - '--preserve-modification-time' '--numeric' - '--rename' '--list' '--swap-bytes' '--swap-halfwords' - '--dot' '--unconditional' '--verbose' - '--block-size=:block size (512 byte units)' - '--swap-halfwords' - '--io-size=:block size in bytes:' - '--pattern-file=:file with list of patterns:_files' - '--owner=:user (and group) for files:->user' '--no-preserve-owner' - '--message=:message at end of volume:' - '--force-local' - '--no-absolute-filenames' '--sparse' '--only-verify-crc' - '--quiet' '--help' '--version') - fi - args+=( - '-b[reverse bytes in word]' - '-B[block size 5120 bytes with special file]' - '-d[create directories as needed]' - '-C[set block size per record]:block size (bytes)' - '-E[read filenames from file]:file name for list of files:_files' - '-f[only copy files not matching patterns]' - '-F[set archive file to use]:archive file:->afile' - '(-H)-c[read/write header in ASCII]' - "(-c)-H[set format type for archive header]:$fmts" - '-I[set input archive file]:input archive file:_files' - '-m[preserve file modification times]' - '-M[print message at end of volume]:message to print:' - '-n[show UID and GID numerically]' - '-r[interactively rename files]' - '-R[set user and group for files]:user (and group) for files:->user' - '-s[swap bytes within each halfword]' - '-S[swap bytes within each word]' - '-t[print a table of contents]' - '*:pattern to extract' - ) - elif [[ -n ${words[(r)(-p*|-[^-]*p*|--pass-through)]} ]]; then - if [[ $ig = gnu ]]; then - args=('--null' '--reset-access-time' '--make-directories' - '--link' '--quiet' '--preserve-modification-time' - '--unconditional' '--verbose' '--dot' '--dereference' - '--owner=:user (and group) for files:->user' - '--no-preserve-owner' '--sparse' '--help' '--version') - fi - args+=( - '-d[create directories as needed]' - '-l[link files instead of copying]' - '-L[follow symbolic links]' - '-m[preserve file modification times]' - '-R[set user and group for files]:user (and group) for files:->user' - '*:destination directory:_files -/' - ) - else - return 1 - fi - args+=( - '-a[reset access time of input files]' - ) -fi - -_arguments -C -s "$args[@]" && ret=0 - -if [[ $state = afile ]]; then - if [[ $ig != gnu ]]; then - _files && ret=0 - elif compset -P 1 '*:'; then - _remote_files -- ssh && ret=0 - elif compset -P '*@'; then - _wanted hosts expl 'remote host name' _hosts && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:remote host name:_hosts -S:' \ - 'users:user name:_users -qS@' && ret=0 - fi -elif [[ $state = user ]]; then - if compset -P '*[:.]'; then - _groups && ret=0 - else - local suf=. - [[ $OSTYPE = (solaris|hpux)* ]] && suf=: - compset -S '.*' && unset suf - _users -S "$suf" -q && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cplay b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cplay deleted file mode 100644 index f1755c1a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cplay +++ /dev/null @@ -1,8 +0,0 @@ -#compdef cplay - -_arguments -s \ - '-n[enable restricted mode]' \ - '-r[toggle playlist repeat mode]' \ - '-R[toggle playlist random mode]' \ - '-v[toggle PCM and MASTER volume control]' \ - '*:playlist or directory or audio file:_files -g "*.(mp3|mp2|ogg|669|amf|ams|dsm|far|it|med|mod|mt2|mtm|okt|s3m|stm|ult|gdm|xm|m3u|pls|spx|wav|au)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpupower b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpupower deleted file mode 100644 index 6763bdd1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cpupower +++ /dev/null @@ -1,120 +0,0 @@ -#compdef cpupower - -local curcontext="$curcontext" ret=1 -local -a state line expl cmds args -typeset -A opt_args - -_arguments -C \ - '(- :)'{-h,--help}'[print help information]' \ - '(- :)'{-v,--version}'[print version information]' \ - '(-d --debug)'{-d,--debug}'[enable debug output]' \ - '(-c --cpu)'{-c,--cpu}'[limit values to specific processor cores]:cpu' \ - ':cmd:->cmds' \ - '*::arg:->args' && ret=0 - -cmds=( - 'frequency-info:show current frequency info' - 'frequency-set:set frequency parameters' - 'idle-info:show current idle state info' - 'idle-set:set idle state parameters' - 'info:show global power parameters' - 'set:set global power parameters' - 'monitor:report frequency and idle statistics' - 'powercap-info:show powercapping related kernel and hardware configurations' - 'help:print usage information' -) -case $state in - cmds) - _describe command cmds -M 'r:|-=* r:|=*' && ret=0 - ;; - args) - curcontext="${curcontext%:*}-$words[1]" - case ${words[1]} in - help) - _describe command cmds - return - ;; - frequency-info) - args=( - '(-m --human)'{-m,--human}'[use human readable output]' - '(-n --no-rounding)'{-n,--no-rounding}'[disable rounding of values]' - - '(info)' - {-e,--debug}'[print debug info]' - {-f,--freq}'[show current frequency]' - {-w,--hwfreq}'[show current hardware frequency]' - {-l,--hwlimits}'[show min/max frequency allowed]' - {-d,--driver}'[show the kernel driver in use]' - {-p,--policy}'[show the current cpufreq policy]' - {-g,--governors}'[show available governors]' - {-r,--related-cpus}'[show cpus that run at the same frequency]' - {-a,--affected-cpus}'[show software controlled cpus]' - {-s,--stats}'[show cpufreq statistics]' - {-y,--latency}'[show frequency change latency]' - ) - [[ -n $opt_args[(i)-(c|-cpu)] ]] || args+=( - {-o,--proc}'[print old style proc info]' - ) - ;; - frequency-set) - args=( - '(-d --min)'{-d+,--min}'[new minimum frequency]:frequency:->frequencies' - '(-u --max)'{-u+,--max}'[new maximum frequency]:frequency:->frequencies' - '(-g --governor)'{-g+,--governor}'[new cpufreq governor]:governor:->governors' - '(-)'{-f+,--freq}'[new frequency for userspace governor]:frequency:->frequencies' - '(-r --related)'{-r,--related}'[modify all hardware related cpus]' - ) - ;; - idle-info) - args=( - '(-f --silent)'{-f,--silent}'[print summary only]' - '(-e --proc)'{-e,--proc}'[print old style proc info (deprecated)]' - ) - ;; - idle-set) - args=( - '(-d --disable)'{-d+,--disable}'[disable specific sleep state]:state no' - '(-e --enable)'{-e+,--enable}'[enable specific sleep state]:state no' - '(-D --disable-by-latency)'{-D+,--disable-by-latency}'[disable state based on latency]:latency' - '(-E --enable-all)'{-E,--enable-all}'[enable all idle states]' - ) - ;; - info) - args=( - '(-b --perf-bias)'{-b,--perf-bias}'[show intel performance bias value]' - ) - ;; - set) - args=( - '(-b --perf-bias)'{-b+,--perf-bias}'[set intel performance bias value]:performance bias' - ) - ;; - monitor) - args=( - '(-)-l[list available monitors]' - '-m+[display specified monitors]:monitor:->monitors' - '-i+[measurement interval]:interval (seconds)' - '-c[schedule on every core]' - '-v[increase verbosity]' - '*:::command: _normal' - ) - ;; - esac - _arguments -C -s "$args[@]" && ret=0 - case $state in - frequencies) - _wanted -x frequencies expl frequency compadd $(cpupower frequency-info | - sed -n 's/ //g; s/,/ /g; s/availablefrequencysteps://p') && ret=0 - ;; - governors) - _wanted governors expl 'scaling governor' compadd \ - ${=${"$(_call_program governors cpupower frequency-info -g)"}##*:} && ret=0 - ;; - monitors) - _sequence _wanted monitors expl 'monitor' compadd - ${${${(M)${(f)"$(_call_program monitors \ - cpupower monitor -l)"}:#Monitor *}#*\"}%%\"*} && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_crontab b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_crontab deleted file mode 100644 index cda7549a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_crontab +++ /dev/null @@ -1,68 +0,0 @@ -#compdef crontab - -# Notes: -# - We assume a cronie-, dcron-, or Vixie-esque crontab -# - BusyBox crontab is forked from dcron -# - Generally only the super-user can use -c/-u; we aren't that restrictive -# - @todo As usual, BusyBox multi-call isn't handled - -local variant sluser -local -a args etargs ccargs clargs rcargs aopts - -_pick_variant -r variant \ - dcron='-c*(#i)dir' \ - cronie-selinux='(#i)selinux' \ - cronie='(#i)cluster' \ - unix --help -variant+=-$OSTYPE - -# On Solaris, instead of using -u, the user can be specified as an optional -# first operand with -e/-l/-r. We'll treat it as an optional *argument* to one -# of those options, though, since the logic is a bit simpler -if [[ $variant == *-solaris* ]]; then - sluser='::user whose crontab to work with:_users' -else - etargs+=( '(cl)-u+[specify user whose crontab to work with]: :_users' ) -fi - -case $variant in - dcron-*) - etargs+=( '-c+[specify crontab directory]:crontab directory:_directories' ) - ;; - cronie-selinux-*) - ccargs+=( '(-l cl nc rc)-s[append SELinux context (with -e)]' ) - ;& # FALL THROUGH - cronie-*) - etargs+=( '(: * -)-V[display version information]' ) - clargs+=( - '(: * -)-c[display cluster host]' - '(: * -)-n+[specify cluster host]: :_hosts' - ) - ;& # FALL THROUGH - *-linux*) - rcargs+=( '(cc cl nc)-i[prompt for confirmation (with -r)]' ) - ;; - *-freebsd*) - rcargs+=( '(cc cl nc)-f[bypass confirmation prompt (with -r)]' ) - ;; -esac - -(( $#etargs )) && args+=( + et $etargs ) # Misc. -(( $#clargs )) && args+=( + cl $clargs ) # Work with cluster -args+=( - + nc # Install new crontab - '(cc cl rc sl):crontab to install:_files' - + cc # Edit/display current crontab - "(-l cl nc rc)-e[edit current crontab]$sluser" - "(-e -s cl nc rc)-l[display current crontab]$sluser" - $ccargs - + rc # Remove current crontab - "(cc cl nc)-r[remove current crontab]$sluser" - $rcargs -) - -# Implementations that use GNU's getopt(3) probably support permutation; this -# should be accurate enough -[[ $OSTYPE == linux* ]] || aopts=( -A '-*' ) - -_arguments -s -S $aopts : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cryptsetup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cryptsetup deleted file mode 100644 index f7149a76..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cryptsetup +++ /dev/null @@ -1,166 +0,0 @@ -#compdef cryptsetup - -local curcontext="$curcontext" ign ret=1 -local -a actions state line expl - -(( $#words > 2 )) && ign='!' -_arguments -s \ - '(-v --verbose)'{-v,--verbose}'[enable verbose mode]' \ - '--debug[show debug messages]' \ - '--debug-json[show debug messages including JSON metadata]' \ - '(-c --cipher)'{-c+,--cipher=}'[set cipher]:cipher specification' \ - '(-h --hash)'{-h+,--hash=}'[hash algorithm]:hash algorithm' \ - '(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \ - '(-d --key-file)'{-d+,--key-file=}'[set keyfile]:key file:_files' \ - '--master-key-file=[set master key]:key file:_files' \ - '--dump-master-key[dump luks master key]' \ - '(-s --key-size)'{-s+,--key-size=}'[set key size]:size (bits)' \ - '(-l --keyfile-size)'{-l+,--keyfile-size=}'[set keyfile size]:size (bytes)' \ - '--keyfile-offset=[specify number of bytes to skip in keyfile]:offset (bytes)' \ - '--new-keyfile-size=[set new keyfile size (luksAddKey)]:size (bytes)' \ - '--new-keyfile-offset=[specify number of bytes to skip in newly added keyfile]:offset (bytes)' \ - '(-S --key-slot)'{-S+,--key-slot=}'[select key slot]:key slot' \ - '(-b --size)'{-b+,--size=}'[force device size]:sectors' \ - '--device-size=[use only specified device size (ignore rest of device)]:size (bytes)' \ - '(-o --offset)'{-o+,--offset=}'[set start offset]:sectors' \ - '(-p --skip)'{-p+,--skip=}'[data to skip at beginning]:sectors' \ - '(-r --readonly)'{-r,--readonly}'[create a read-only mapping]' \ - '(-i --iter-time)'{-i+,--iter-time=}'[set password processing duration]:duration (milliseconds)' \ - '(-q --batch-mode)'{-q,--batch-mode}"[don't ask for confirmation]" \ - '(-t --timeout)'{-t+,--timeout=}'[set password prompt timeout]:timeout (seconds)' \ - '--progress-frequency=[specify progress line update interval]:interval (seconds)' \ - '(-T --tries)'{-T+,--tries=}'[set maximum number of retries]:number of retries' \ - '--align-payload=[set payload alignment]:sectors' \ - '--header-backup-file=[specify file with LUKS header and keyslots backup]:file:_files' \ - '(--use-urandom)--use-random[use /dev/random to generate volume key]' \ - '(--use-random)--use-urandom[use /dev/urandom to generate volume key]' \ - '--shared[share device with another non-overlapping crypt segment]' \ - '--uuid=[set device UUID]:uuid' \ - '--allow-discards[allow discard (aka TRIM) requests for device]' \ - '--header=[device or file with separated LUKS header]:file:_files' \ - '--test-passphrase[do not activate device, just check passphrase]' \ - '--tcrypt-hidden[use hidden header (hidden TCRYPT device)]' \ - '--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \ - '--tcrypt-backup[use backup (secondary) TCRYPT header]' \ - '--veracrypt[scan also for VeraCrypt compatible device]' \ - '--veracrypt-pim=[specify personal iteration multiplier for VeraCrypt compatible device]:multiplier' \ - '--veracrypt-query-pim[query personal iteration multiplier for VeraCrypt compatible device]' \ - '(-M --type)'{-M+,--type=}'[specify type of device metadata]:type:(luks luks1 luks2 plain loopaes tcrypt bitlk)' \ - '--force-password[disable password quality check (if enabled)]' \ - '--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \ - '--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \ - '--perf-no_read_workqueue[bypass dm-crypt workqueue and process read requests synchronously]' \ - '--perf-no_write_workqueue[bypass dm-crypt workqueue and process write requests synchronously]' \ - '--deferred[device removal is deferred until the last user closes it]' \ - '--serialize-memory-hard-pbkdf[use global lock to serialize memory]' \ - '--pbkdf=[specify PBKDF algorithm for LUKS2]:algorithm:(argon2i argon2id pbkdf2)' \ - '--pbkdf-memory=[specify PBKDF memory cost limit]:limit (kilobytes)' \ - '--pbkdf-parallel=[specify PBKDF parallel cost]:threads' \ - '--pbkdf-force-iterations=[specify PBKDF iterations cost]:cost' \ - '--priority=[specify keyslot priority]:priority:(ignore normal prefer)' \ - '--disable-locks[disable locking of on-disk metadata]' \ - '--disable-keyring[disable loading volume keys via kernel keyring]' \ - '(-I --integrity)'{-I+,--integrity=}'[specify data integrity algorithm (LUKS2 only)]:algorithm' \ - '--integrity-no-journal[disable journal for integrity device]' \ - "--integrity-no-wipe[don't wipe device after format]" \ - '--integrity-legacy-padding[use inefficient legacy padding (old kernels)]' \ - "--token-only[don't ask for passphrase if activation by token fails]" \ - '--token-id=[specify token number]:number [any]' \ - '--key-description=[specify key description]:description' \ - '--sector-size=[specify encryption sector size]:size [512 bytes]' \ - '--iv-large-sectors[use IV counted in sector size (not in 512 bytes)]' \ - '--persistent[set activation flags persistent for device]' \ - '--label=[set label for the LUKS2 device]:label' \ - '--subsystem=[set subsystem label for the LUKS2 device]:subsystem' \ - '--unbound[create or dump unbound (no assigned data segment) LUKS2 keyslot]' \ - '--json-file=[read or write token to json file]:json file:_files -g "*.json(-.)"' \ - '--luks2-metadata-size=[specify LUKS2 header metadata area size]:size (bytes)' \ - '--luks2-keyslots-size=[specify LUKS2 header keyslots area size]:size (bytes)' \ - '--refresh[refresh (reactivate) device with new parameters]' \ - '--keyslot-key-size=[specify size of the encryption key]:size (bits)' \ - '--keyslot-cipher=[specify cipher used for LUKS2 keyslot encryption]:cipher' \ - '--encrypt[Encrypt LUKS2 device (in-place encryption)]' \ - '--decrypt[decrypt LUKS2 device (remove encryption)]' \ - '--init-only[initialize LUKS2 reencryption in metadata only]' \ - '--resume-only[resume initialized LUKS2 reencryption only]' \ - '--reduce-device-size=[reduce data device size (move data offset)]:size (bytes)' \ - '--hotzone-size=[specify maximal reencryption hotzone size]:size (bytes)' \ - '--resilience=[specify reencryption hotzone resilience type]:resilience type:(checksum journal none)' \ - '--resilience-hash=[specify reencryption hotzone checksums hash]:string' \ - '--active-name=[override device autodetection of dm device to be reencrypted]:string' \ - "${ign}(- : *)"{-V,--version}'[show version information]' \ - "${ign}(- : *)"{-\?,--help}'[display help information]' \ - "${ign}(- : *)--usage[display brief usage]" \ - ':action:->actions' \ - '*::arguments:->action-arguments' && ret=0 - -case $state in - actions) - actions=( - 'open:open device with named mapping' - 'close:close device (remove mapping)' - 'status:report mapping status' - 'resize:resize an active mapping' - 'benchmark:benchmark cipher' - 'repair:try to repair on-disk metadata' - 'reencrypt:reencrypt LUKS2 device' - 'erase:erase all keyslots' - 'convert:convert LUKS from/to LUKS2 format' - 'config:set permanent configuration options for LUKS2' - 'luksFormat:initialize a LUKS partition' - 'luksAddKey:add a new key' - 'luksRemoveKey:remove a key' - 'luksChangeKey:change a key' - 'luksConvertKey:convert a key to new pbkdf parameters' - 'luksKillSlot:wipe key from slot' - 'luksUUID:print/change device UUID' - 'isLuks:check if device is a LUKS partition' - 'luksDump:dump header information' - 'tcryptDump:dump TCRYPT device information' - 'bitlkDump:dump BITLK device information' - 'luksSuspend:suspend LUKS device and wipe key' - 'luksResume:resume suspended LUKS device' - 'luksHeaderBackup:store binary backup of headers' - 'luksHeaderRestore:restore header backup' - 'token:manipulate auto-activation token of the device' - ) - _describe action actions && ret=0 - ;; - action-arguments) - local -a args - local mapping=':mapping:_path_files -W /dev/mapper' - local device=':device:_files' - case ${words[1]} in - create) args=( $mapping $device '--type=:type' );; - open) args=( $device $mapping '--type=:type' );; - (plain|luks|loopaes|tcrypt)Open) args=( $device $mapping '--type=:type' );; - benchmark) args=( '--cipher=:cipher' );; - luksKillSlot) args=( $device ':key slot number' );; - remove|status|resize|*lose|luksSuspend|luksResume) args=( $mapping );; - erase|convert|config|repair|reencrypt|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks)) - args=( $device ) - ;; - luks(Format|AddKey|RemoveKey|ChangeKey|ConvertKey)) - args=( $device ':key file:_files' ) - ;; - luksHeader*) args=( $device '--header-backup-file:file:_files' );; - token) - args=( - ':action:(( - add\:create\ a\ new\ keyring - remove\:remove\ any\ token\ from\ slot - import\:store\ arbitrary\ valid\ token\ json\ in\ LUKS2\ header - export\:write\ requested\ token\ json\ to\ a\ file - ))' - $device - ) - ;; - *) - _default && ret=0 - ;; - esac - _arguments $args && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cscope b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cscope deleted file mode 100644 index 8c3839d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cscope +++ /dev/null @@ -1,29 +0,0 @@ -#compdef cscope - -_arguments -s -S \ - '-b[build the cross-reference only]' \ - '-C[ignore letter case when searching]' \ - "-c[use only ASCII characters in the cross-ref file (don't compress)]" \ - "-d[don't update the cross-reference]" \ - '-e[suppress the <Ctrl>-e command prompt between files]' \ - '-F+[read symbol reference lines from specified file]:symbol-reference file:_files' \ - '-f+[specify cross-reference file]:cross-reference file [cscope.out]:_files' \ - '(-)'{-h,--help}'[display help information]' \ - '*-I+[specify directory to search for #include files]:include directory:_directories' \ - '-i+[specify file containing a list if files to browse]:file [cscope.file]:_files' \ - "-k[kernel mode - don't use /usr/include for #include files]" \ - '-L[do a single search with line-oriented output]' \ - '-l[line-oriented interface]' \ - -{0,1,2,3,4,5,6,7,8,9}'+:pattern' \ - '-P+[prepend path to relative file names in pre-built cross-ref file]:path:_directories' \ - '-p+[specify number of path components to display]:path components [1]' \ - '-q[build an inverted index for quick symbol searching]' \ - '-R[recurse directories for files]' \ - '-s+[specify directory to search for additional source files]:directory:_directories' \ - '-T[use only the first eight characters to match against C symbols]' \ - '-U[check file time stamps]' \ - '-u[unconditionally build the cross-reference file]' \ - '-v[be more verbose in line mode]' \ - '-X[remove the cscope reference file and inverted indexes at end]' \ - '(-)'{-V,--version}'[display version information]' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csplit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csplit deleted file mode 100644 index 5f72232b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csplit +++ /dev/null @@ -1,51 +0,0 @@ -#compdef csplit - -local curcontext=$curcontext cnt_info ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -# common specs -specs=( - '(hv -f --prefix)'{-f+,--prefix=}'[specify prefix for output file names]:prefix [xx]: ' - '(hv -n --digits -b --suffix-format)'{-n+,--digits=}'[specify number of digits in output file names]:number [2]: ' - '(hv -k --keep-files)'{-k,--keep-files}'[do not remove output files on errors]' - '(hv -s --quiet --silent)'{-s,--quiet,--silent}'[do not print counts of output file sizes]' - '(hv)1: :_files' - '(hv)*: :->patterns' -) - -if _pick_variant gnu=GNU unix --version; then - # GNU coreutils 8.32 - specs+=( - '(hv -b --suffix-format -n --digits)'{-b+,--suffix-format=}'[specify format for numbers in output file names]:format [%%02d]: ' - '(hv)--suppress-matched[suppress the lines matching the pattern]' - '(hv -z --elide-empty)'{-z,--elide-empty-files}'[remove empty output files]' - + hv - '(: * -)--help[display help and exit]' - '(: * -)--version[output version information and exit]' - ) - cnt_info="(integer or '*')" -else - # POSIX ({Free,Open}BSD, DragonFly, macOS) - specs=( ${specs:#(|*\))--*} ) # remove long options - optA=( -A '-?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -C -s -S $optA : $specs && ret=0 - -case $state in - patterns) - if compset -P '(/?*/|%?*%)'; then - _message '[+|-]offset' && ret=0 - elif compset -P '[/%]'; then - _message 'regex' && ret=0 - elif compset -P '(|\\){'; then - _message "count $cnt_info" && ret=0 - elif compset -P '[0-9]*'; then - _message 'line number' && ret=0 - elif [[ ${words[CURRENT]} != -* ]] then - _message "line_number, '/regex/[offset]', '%%regex%%[offset]', or '{count}'" && ret=0 - fi -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cssh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cssh deleted file mode 100644 index 5db9db5b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cssh +++ /dev/null @@ -1,21 +0,0 @@ -#compdef cssh crsh - -_arguments \ - '-h[help]' \ - '-H[show man page]' \ - '-v[show version]' \ - '-d[enable basic debugging mode]' \ - '-D[enable extended debugging mode]' \ - '-q[enable automatic quit after last window is closed]' \ - '-Q[disable automatic quit after last window is closed]' \ - '-u[output configuration]' \ - '-g[enable window tiling]' \ - '-G[disable window tiling]' \ - '-c[use additional cluster file]:cluster file:_files' \ - '-l:username:_users' \ - '-T:window title prefix:' \ - '-o:arguments to ssh or rsh:' \ - '-t:arguments to terminals:' \ - '-i[ignore errors from unresolvable hostnames]' \ - '-e[evaluate arguments to identify potential errors]:userhostport:_user_at_host' \ - '*:userhostport: _alternative hosts:host:_hosts usersathosts:userathost:_user_at_host' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csup deleted file mode 100644 index 69e13f3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_csup +++ /dev/null @@ -1,26 +0,0 @@ -#compdef csup - -_arguments -s \ - '-1[disable automatic retries]' \ - '-4[force usage of IPv4 addresses]' \ - '-6[force usage of IPv6 addresses]' \ - '-A[local address to bind to when connecting to the server]:local address:_hosts' \ - '-b[base directory]:base directory:_files -/' \ - '-c[subdirectory of base for information about collections]:collections directory:_files -/' \ - '-d[maximum number of deleted files]:maximum number of deleted files:' \ - '-h[server host]:server host:_hosts' \ - '-i[include only files and directories matching]:file pattern:' \ - '-k[keep temporary copies of failed updates]' \ - '-l[lock file]:lock file:_files' \ - '-L[verbosity level]:verbosity level:(0 1 2)' \ - '-L0[verbosity level 0]' \ - '-L1[verbosity level 1]' \ - '-L2[verbosity level 2]' \ - '-p[server port]:port:_ports' \ - '-r[maximum number of retries]:maximum number of retries:' \ - '-s[suppress status checks]' \ - '-v[print version information]' \ - '(-Z)-z[enable compression]' \ - '(-z)-Z[disable compression]' \ - ':csup file:_files' \ - ':destination directory:_files -/' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags deleted file mode 100644 index e2b28011..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags +++ /dev/null @@ -1,244 +0,0 @@ -#compdef ctags arduino-ctags ctags-exuberant ctags-universal - -local context state line expl -local -A opt_args -local -a arguments - -if [ -z "$_ctags_type" ]; then - local output=`ctags --version 2>&1` - if [[ "$output" = *Universal\ Ctags* ]]; then - _ctags_type="universal" - elif [[ "$output" = *Exuberant\ Ctags* ]]; then - _ctags_type="exuberant" - elif [[ "$output" = *usage:\ ctags* ]]; then - _ctags_type="bsd" - elif [[ "$output" = *Emacs* ]]; then - _ctags_type="etags" - else - _ctags_type="universal" - fi -fi - -if [ "$_ctags_type" = "etags" ]; then - _etags - return $? -fi - -_ctags_languages() { - _call_program languages $service --list-languages | sed -n 's/^\([A-Za-z][A-Za-z0-9#_+]*\).*/\1/p' -} - -if [[ "$PREFIX" = --alias-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --extras-*=* ]]; then - _message flags - return 1 -elif [[ "$PREFIX" = --fields-*=* ]]; then - _message flags - return 1 -elif [[ "$PREFIX" = --input-encoding-*=* ]]; then - _message encoding - return 1 -elif [[ "$PREFIX" = --kinddef-*=* ]]; then - _message kind - return 1 -elif [[ "$PREFIX" = --kinds-*=* ]]; then - _message kind - return 1 -elif [[ "$PREFIX" = --map-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --mline-regex-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --param-*=* ]]; then - _message argument - return 1 -elif [[ "$PREFIX" = --regex-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --roles-*.*=* ]] then - _message role - return 1 -elif [[ "$PREFIX" = --roles-*.* ]] then - _message kind - return 1 -fi - -if [ "$_ctags_type" = "universal" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-D[give definition for macro]:macro definition:" - "-e[output tag file for use with emacs]" - {-f+,-o+}"[write tags to specified file]:output file:_files" - "-F[use forward searching patterns (/.../)]" - "-h[specify a list of file extensions to be treated as include files]:extensions" - "-I[specify a list of tokens to be specially handled]:identifier list" - "-L[read a list of input file names from the specified file]:input file:_files" - "-n[equivalent to --excmd=number]" - "-N[equivalent to --excmd=pattern]" - "(--recurse -R)--recurse=-[search files recursively]::bool:(yes no)" - "(--recurse -R)-R[search files recursively]" - "-u[equivalent to --sort=no]" - "-x[print a tabular cross reference file to stdout]" - "--alias--[add a pattern detecting a name, can be used as an alt name for lang]:language:->languageequals" - "--append=-[should tags be appended to existing tag file]:bool:(yes no)" - "--etags-include=-[include reference to file in emacs style tag file]:file:_files" - "--exclude=-[exclude files and directories matching pattern]:pattern" - "--exclude-exception=-[don't exclude files and directories matching pattern even if they match the pattern specified with --exclude]:pattern" - "--excmd=-[uses the specified type of ex command to locate tags]:ex command type:(number pattern mix combine)" - "--extras=-[include extra tag entries for selected information]:flags (fFgpqrs)" - "--extras--[include <lang> own extra tag entries for selected information]:language:->languageequals" - "--fields=-[include selected extension fields]:flags (aCeEfFikKlmnNpPrRsStxzZ)" - "--fields--[include selected <lang> own extension fields]:language:->languageequals" - "--filter=-[behave as a filter, reading file names from stdin and writing tags to stdout]:bool:(yes no)" - "--filter-terminator=-[specify string to print to stdout following the tags for each file parsed when --filter is enabled]:string" - "--format=-[force output of specified tag file format]:level" - "(--guess-language-eagerly -G)"{--guess-language-eagerly,-G}"[guess the language of input file more eagerly]" - {--help,-?}"[display help text]" - "--help-full[display help text with experimental features]" - "--if0=-[should code within #if 0 conditionals be parsed]:bool:(yes no)" - "--input-encoding=-[specify encoding of all input files]:encoding" - "--input-encoding--[specify encoding of the <lang> input files]:language:->languageequals" - "--kinddef--[define new kind for <lang>]:language:->languageequals" - "--kinds--[enable/disable tag kinds for <lang>]:language:->languageequals" - "--langdef=-[define a new language to be parsed with regular expressions]:name" - "--langmap=-[override default mapping of language to input file extension]:maps" - "--language-force=-[force all files to be interpreted using specified language]:language:->language" - "--languages=-[restrict files scanned to these comma-separated languages]:language:->languages" - "--license[print details of software license]" - "--line-directives=-[should #line directives be processed]:bool:(yes no)" - "--links=-[indicate whether symlinks should be followed]:bool:(yes no)" - "--list-aliases=-[list of alias patterns]:language:->language" - "--list-excludes[list of exclude patterns for files/dirs]" - "--list-extras=-[list of extra tag flags]:language:->language" - "--list-features[list of compiled features]" - "--list-fields=-[list of fields]:language:->language" - "--list-kinds=-[list of all tag kinds for lang]:language:->language" - "--list-kinds-full=-[list details of all tag kinds for lang]:language:->language" - "--list-languages[list of supported languages]" - "--list-map-extensions=-[list of language extensions in mapping]:language:->language" - "--list-map-patterns=-[list of language patterns in mapping]:language:->language" - "--list-maps=-[list of language mappings (both extensions and patterns)]:language:->language" - "--list-mline-regex-flags[list of flags which can be used in a multiline regex parser definition]" - "--list-params=-[list of language parameters. works with --machinable]:language:->language" - "--list-pseudo-tags[list of pseudo tags]" - "--list-regex-flags[list of flags which can be used in a regex parser definition]" - "--list-roles=-[list of all roles of tag kinds specified for langs]:language:->language" - "--list-subparsers=-[list of subparsers for the base lang]:language:->language" - "--machinable=-[use tab separated representation in --list-* output]:bool:(yes no)" - "--map--[set, add(+), or remove(-) the map for <lang>]:language:->languageequals" - "--maxdepth=-[specify maximum recursion depth]:depth" - "--mline-regex--[define multiline regex for locating tags in <lang>]:language:->languageequals" - "--options=-[specify file (or dir) from which command line options should be read]:file:_files" - "--options-maybe=-[same as --options but doesn't error]:file:_files" - "--optlib-dir=-[add or set dir to optlib search path]:dir:_files -/" - "--output-encoding=-[the encoding to write the tag file in]:encoding" - "--output-format=-[specify the output format]:format:(u-ctags e-ctags etags xref)" - "--param--[set <lang> specific parameter]:language:->languageequals" - "--pattern-length-limit=-[cutoff patterns of tag entries after N characters]:number" - "--print-language[don't make tags file but just print the guessed lang name for input file]" - "--pseudo-tags=-[enable/disable emitting pseudo tag named ptag. if *, enable emitting all pseudo tags]:ptag" - "--put-field-prefix[put UCTAGS as prefix for the name of fields newly introducted in universal ctags]" - "--quiet=-[don't print notice class messages]:bool:(yes no)" - "--regex--[define regex for locating tags in specific lang]:language:->languageequals" - "--roles--[enable/disable tag roles for kinds of <lang>]:language:->languagedot" - "--sort=-[should tags be sorted]:argument:(yes no foldcase)" - "--tag-relative=-[should paths be relative to location of tag file]:argument:(yes no always never)" - "--totals=-[print stats about input and tag files]:argument:(yes no extra)" - "(--verbose -V)--verbose=-[enable verbose messages describing actions]:bool:(yes no)" - "(--verbose -V)-V[enable verbose messages describing actions]" - "--version[print version]" - "--with-list-header=-[prepend the column descriptions in --list-* output]:bool:(yes no)" - "*:file:_files" - ) -elif [ "$_ctags_type" = "exuberant" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-e[output tag file for use with emacs]" - {-f+,-o+}"[write tags to specified file]:output file:_files" - "-F[use forward searching patterns (/.../)]" - "-h[specify a list of file extensions to be treated as include files]:extensions" - "-I[specify a list of tokens to be specially handled]:identifier list" - "-L[read a list of input file names from the specified file]:input file:_files" - "-n[equivalent to --excmd=number]" - "-N[equivalent to --excmd=pattern]" - "(--recurse -R)--recurse=-[search files recursively]::bool:(yes no)" - "(--recurse -R)-R[search files recursively]" - "-u[equivalent to --sort=no]" - "-x[print a tabular cross reference file to stdout]" - "--append=-[should tags be appended to existing tag file]:bool:(yes no)" - "--etags-include=-[include reference to file in emacs style tag file]:file:_files" - "--exclude=-[exclude files and directories matching pattern]:pattern" - "--excmd=-[uses the specified type of ex command to locate tags]:ex command type:(number pattern mix)" - "--extra=-[include extra tag entries for selected information]:flags (fg)" - "--fields=-[include selected extension fields]:flags (afmikKlnsStz)" - "--file-scope=-[should tags scoped only for a single file be included in output]:bool:(yes no)" - "--filter=-[behave as a filter, reading file names from stdin and writing tags to stdout]:bool:(yes no)" - "--filter-terminator=-[specify string to print to stdout following the tags for each file parsed when --filter is enabled]:string" - "--format=-[force output of specified tag file format]:level" - "--help[display help text]" - "--if0=-[should code within #if 0 conditionals be parsed]:bool:(yes no)" - "--langdef=-[define a new language to be parsed with regular expressions]:name" - "--langmap=-[override default mapping of language to input file extension]:maps" - "--language-force=-[force all files to be interpreted using specified language]:language:->language" - "--languages=-[restrict files scanned to these comma-separated languages]:language:->languages" - "--license[print details of software license]" - "--line-directives=-[should #line directives be processed]:bool:(yes no)" - "--links=-[indicate whether symlinks should be followed]:bool:(yes no)" - "--list-kinds=-[list of all tag kinds for lang]:language:->language" - "--list-languages[list of supported languages]" - "--list-maps=-[list of language mappings (both extensions and patterns)]:language:->language" - "--options=-[specify file (or dir) from which command line options should be read]:file:_files" - "--regex--[define regex for locating tags in specific lang]:language:->language" - "--sort=-[should tags be sorted]:argument:(yes no foldcase)" - "--tag-relative=-[should paths be relative to location of tag file]:argument:(yes no)" - "--totals=-[print stats about input and tag files]:argument:(yes no)" - "(--verbose -V)--verbose=-[enable verbose messages describing actions]:bool:(yes no)" - "(--verbose -V)-V[enable verbose messages describing actions]" - "--version[print version]" - "*:file:_files" - ) - if [[ "$PREFIX" = -* ]]; then - local -a languages=(`_ctags_languages`) - local -a languages2 - for language in $languages; do - arguments+=("--$language-kinds=-:kinds") - done - fi -elif [ "$_ctags_type" = "bsd" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-d[create tags for #defines that don't take arguments]" - "-F[use forward searching patterns (/.../)]" - "-f+[write tags to specified file]:output file:_files" - "-t[create tags for typedefs, structs, unions, and enums]" - "-u[update the specified files in the tags file]" - "-v[an index of the form expected by vgrind(1) is produced]" - "-w[suppress warning diagnostics]" - "-x[ctags produces a simple function index]" - "*:file:_files" - ) -fi - -_arguments -s $arguments - -if [ "$state" = "language" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -a languages -elif [ "$state" = "languageequals" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -S = -a languages -elif [ "$state" = "languagedot" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -S . -a languages -elif [ "$state" = "languages" ]; then - local -a languages=(`_ctags_languages`) - _values -s , languages $languages -fi - -return $(( compstate[nmatches] > 0 ? 0 : 1 )) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags_tags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags_tags deleted file mode 100644 index 2474969a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ctags_tags +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl tags - -[[ -r tags ]] && tags=( ${${${(f)"$(< tags)"}:#!*}%%[[:blank:]]*} ) - -_wanted ctags expl 'tag' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a "$@" - tags diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cu b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cu deleted file mode 100644 index 5876820e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cu +++ /dev/null @@ -1,64 +0,0 @@ -#compdef cu - -local variant ign -local -a args - -_pick_variant -r variant taylor='Taylor UUCP' $OSTYPE --version - -case $variant in - openbsd*) - args+=( - "-d[don't block waiting for a carrier to be detected]" - '-r[start cu in restricted mode - prevent local operations]' - '-E+[specify escape character]:escape character [~]' - ) - ;; - taylor|(net|free)bsd*) - args+=( - '(-o -P --parity)-e[use even parity]' - '(-e -P --parity)-o[use odd parity]' - ) - ;| - dragonfly*|(net|free)bsd*) - args+=( '-t[connect via a hard-wired connection to a host on a dial-up line]' ) - ;| - taylor|netbsd*) - (( $#words > 2 )) && ign='!' - args+=( - "${ign}--help[display usage information]" - '(-s)--speed=[set line speed for the connection]:line speed [9600]:_baudrates' - '(-e -o -P)--parity=[set parity]:parity [none]:(even odd none)' - '(-h --halfduplex)'{-h,--halfduplex}'[echo characters locally]' - '--nostop[turn off XON/XOFF handling]' - '(-E --escape)'{-E+,--escape=}'[specify escape character]:escape character [~]' - '(-a -p --port)'{-a+,-p+,--port=}'[specify the port]:port' - '(-c --phone -n --prompt)'{-c+,--phone=}'[specify phone number to call]:phone number' - '(1 -l -z --system)--line=[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*|cu.*)(N%c))' - ) - ;| - taylor) - args+=( - "${ign}(-v --version)"{-v,--version}"[display version information]" - '(-n --prompt -c --phone)'{-n,--prompt}'[prompt for the phone number to use]' - '(-x --debug)-d[enter debugging mode]' - '(-d -x --debug)'{-x+,--debug=}'[turn on particular debugging types]:debug type:_sequence compadd - all abnormal chat handshake port config incoming outgoing' - '(-I --config)'{-I+,--config=}'[specify configuration file]:configuration file:_files' - '(1 -z --system)'{-z+,--system=}'[specify system to call]:system' - ) - ;; - netbsd*) - args+=( - '(-E --escape)-n+[disable escape character processing]' - '(-f -F --flow)'{-F+,--flow=}'[set flow control]:flow control:(hard soft none)' - '(-F --flow)-f[use no flow control]' - '(-e -o --parity)-P+[set parity]:parity [none]:(even odd none)' - ) - ;; - dragonfly*|freebsd*) args+=( '-a[set the acu port]:acu' ) ;| - freebsd*) args=( -A "-*" $args '-h[echo characters locally]' ) ;; -esac - -_arguments -s $args \ - '(--speed)-s+[set line speed for the connection]:line speed [9600]:_baudrates' \ - '(1 --line -z --system)-l+[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*|cu.*)(N%c))' \ - '1: :_guard "^-*" system' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_curl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_curl deleted file mode 100644 index ecccdd38..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_curl +++ /dev/null @@ -1,7 +0,0 @@ -#compdef curl - -# As of 7.43.0, curl upstream provides its own _curl definition. This -# definition is provided as a fallback, and should be installed later -# in $fpath than the curl-provided definition of _curl. - -_gnu_generic || _urls "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cut b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cut deleted file mode 100644 index d3b1e2b1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cut +++ /dev/null @@ -1,58 +0,0 @@ -#compdef cut gcut - -typeset -A _cut_args - -case $LANG in - (de_DE.UTF-8) - _cut_args=( - bytes "nur diese Bytes ausgeben" - characters "nur diese Zeichen ausgeben" - delimiter "Delimiter anstelle von Tabulator als Trenner benutzen" - fields "nur diese Felder und alle Zeilen OHNE Trennzeichen ausgeben" - complement $'das Komplement der Menge der gew\u00e4hlten Bytes, Zeichen oder Felder bilden' - only-delimited "keine Zeilen ausgeben, die keinen Trenner enthalten" - output-delimiter "Zeichenkette als Ausgabetrennzeichen benutzen" - help "diese Hilfe anzeigen und beenden" - version "Versionsinformation anzeigen und beenden" - ) - ;; - (*) - _cut_args=( - bytes "select only specified bytes" - characters "select only specified characters" - delimiter "use alternate field delimiter" - fields "select only specified fields" - complement "negate the set of selected bytes, characters or fields" - only-delimited "suppress lines with no delimiters" - output-delimiter "use specified string as the output delimiter" - help "display help information" - version "output version information" - ) - ;; -esac - -if _pick_variant gnu="Free Soft" unix --version; then - _arguments \ - '(--bytes -b)'{--bytes=,-b+}'['$_cut_args[bytes]']:list' \ - '(--characters -c)'{--characters=,-c+}'['$_cut_args[characters]']:list' \ - '(--delimiter -d)'{--delimiter=,-d+}'['$_cut_args[delimiter]']:delimiter' \ - '(--fields -f)'{--fields=,-f+}'['$_cut_args[fields]']:list' \ - '--complement['$_cut_args[complement]']' \ - '(--only-delimited -s)'{--only-delimited,-s}'['$_cut_args[only-delimited]']' \ - '--output-delimiter=['$_cut_args[output-delimiter]']:delimiter' \ - '(- *)--help['$_cut_args[help]']' \ - '(- *)--version['$_cut_args[version]']' \ - '*:file:_files' -else - case $OSTYPE in - freebsd*|dragonfly*) args+=( '(-d)-w[use whitespace as the delimiter]' ) ;; - esac - _arguments $args \ - "-b[${_cut_args[bytes]}]:list" \ - "-c[${_cut_args[characters]}]:list" \ - "(-w)-d[${_cut_args[delimiter]}]:delimiter" \ - "-f[${_cut_args[fields]}]:list" \ - "-n[do not split multi-byte characters]" \ - "-s[${_cut_args[only-delimited]}]" \ - '*:file:_files' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvs deleted file mode 100644 index 4dc5b6c6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvs +++ /dev/null @@ -1,964 +0,0 @@ -#compdef cvs - -# redefine _cvs. - -_cvs() { - # "+Qqrwtnlvb:T:e:d:Hfz:s:xa" - _arguments -s \ - '-R[read only access]' \ - '-a[authenticate]' \ - '-f[disable .cvsrc]' \ - '(-n)-l[disable logging]' \ - '(-l)-n[no change]' \ - '(-q)-Q[really quiet]' \ - '(-Q)-q[somewhat quiet]' \ - '(-w)-r[make new working file read only]' \ - '-t[trace]' \ - '(-r)-w[make new working file read-write]' \ - '-x[encrypt client/server communication]' \ - '(-)'{-v,--version}'[print version and copyright information]' \ - '(-)'{-H,--help}'[print help information]' \ - '(-)--help-commands[command help]' \ - '(-)--help-synonyms[command synonyms help]' \ - '(-)--help-options[global options help]' \ - '*--allow-root=[allowable root for pserver]:rootdir:_files -/' \ - '-T+[temporary directory]:temporary directory:_cvs_tempdir' \ - '-d+[cvs root directory]:cvsroot:_cvs_root' \ - '-e+[editor]:editor:_cvs_editor' \ - '-s+[user variable]:user variable:_cvs_user_variable' \ - '-z+[gzip level]:gzip level:(0 1 2 3 4 5 6 7 8 9)' \ - '*::cvs command:_cvs_command' -} - -# define cvs command dispatch function. - -(( $+functions[_cvs_command] )) || -_cvs_command() { - local cmd cvsroot="$CVSROOT" ret=1 - [[ -f CVS/Root ]] && cvsroot="$(<CVS/Root)" - [[ -n "$opt_args[-d]" ]] && cvsroot=${(e)~opt_args[-d]:Q} - - if (( ! $+_cvs_syns )); then - typeset -gA _cvs_syns - _cvs_syns=( ${(s. .)${(f)"$(cvs --help-synonyms 2>&1)"}[2,-2]/(#b) #([a-z]#) #([a-z]#) ([a-z]#)/$match[1] $match[2]:$match[3]} ) - fi - - (( $+_cvs_cmds )) || _cvs_cmds=( - ${${(f)"$(_call_program commands cvs --help-commands 2>&1)"}[2,-2]/(#b) #([a-z]##) #([A-Z])/$match[1]:${match[2]:l}} - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'cvs command' _cvs_cmds || compadd "$@" - ${(s.:.)${(j.:.)_cvs_syns}} - else - local curcontext="$curcontext" - - cmd="${${_cvs_cmds[(r)$words[1]:*]%%:*}:-${(k)_cvs_syns[(r)(*:|)$words[1](:*|)]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:cvs-${cmd}:" - _call_function ret _cvs_$cmd || _message 'no more arguments' - else - _message "unknown cvs command: $words[1]" - fi - return ret - fi -} - -# define completion functions for each cvs command - -(( $+functions[_cvs_add] )) || -_cvs_add() { - # "+k:m:" - _arguments -s \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-m+[message]:message:_cvs_m' \ - '*:added file:_cvs_files_unmaintained' \ -} - -(( $+functions[_cvs_admin] )) || -_cvs_admin() { - # "+ib::c:a:A:e::l::u::LUn:N:m:o:s:t::IqxV:k:" - _arguments -s \ - -{i,x} \ - '(-U)-L[set lock strict]' \ - '(-L)-U[set locl non-strict]' \ - '-I[interactive]' \ - '-q[quiet]' \ - '-b-[default branch]:default branch:(1.1.1)' \ - '-c+:comment leader (not used)' \ - '-a+:login names (not work with CVS)' \ - '-A+:access list to append (not work with CVS)' \ - '-e-:access list to erase (not work with CVS)' \ - '-l-[lock]:revision to lock' \ - '-u-[unlock]:revision to unlock' \ - '-n+[name revision]:symbolic-name(\:revision)' \ - '-N+[force to name revision]:symbolic-name(\:revision)' \ - '-m+[replace log]:revision\:msg' \ - '-o+[delete revision]:range to delete' \ - '-s+[replace state attribute]:state(\:revision)' \ - '-t-[replace descriptive text]:descriptive text:_cvs_admin_t' \ - '-V+:version (obsolete)' \ - '-k+[set keyword substitution]:keyword substitution:_cvs_k' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_admin_t] )) || -_cvs_admin_t() { - if compset -P -; then - _message -e descriptions 'descriptive text' - else - _files "$@" - fi -} - -(( $+functions[_cvs_annotate] )) || -_cvs_annotate() { - # "+lr:D:fR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '-f[use head revision]' \ - '(-l)-R[recursive]' \ - '(-f -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-f -r)-D+[specify date]:date:_cvs_D' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_rannotate] )) || -_cvs_rannotate() { - # "+lr:D:fR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '-f[use head revision]' \ - '(-l)-R[recursive]' \ - '(-f -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-f -r)-D+[specify date]:date:_cvs_D' \ - '*:file:_cvs_modules' -} - -(( $+functions[_cvs_checkout] )) || -_cvs_checkout() { - # "+ANnk:d:flRpQqcsr:D:j:P" - _arguments -s \ - '-N[don'\''t shorten module paths]' \ - '-A[reset sticky tags, dates and -k]' \ - '-n[disable checkout program]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '(-s)-c[module database]' \ - '(-c)-s[module database with status]' \ - '-P[prune empty directory]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-d+[directory]:directory:_files -/' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '-j+[merge]:tag:_cvs_revisions' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_commit] )) || -_cvs_commit() { - # "+nlRm:fF:r:" - _arguments -s \ - '-n[disable module program]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-f[force to commit]' \ - '(-F)-m+[message]:message:_cvs_m' \ - '(-m)-F+[message file]:log message file:_files' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - '*:modified file:_cvs_commit_arg' -} - -(( $+functions[_cvs_commit_arg] )) || -_cvs_commit_arg() { - if (( $+opt_args[-f] )); then - _cvs_files - else - _cvs_files_modified - fi -} - -(( $+functions[_cvs_diff] )) || -_cvs_diff() { - local of ofwuc ouc oss ofwy ofwg ofwl - # output formats - of="-y --side-by-side -n --rcs -e -f --ed -q --brief -c -C --context -u -U \ - --unified --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format --new-line-format \ - --unchanged-line-format" - - # output formats w/o unified and context - ofwuc="-y --side-by-side -n --rcs -e -f --ed -q --brief --old-group-format \ - --new-group-format --changed-group-format --unchanged-group-format \ - --line-format --old-line-format --new-line-format --unchanged-line-format" - - # option specific to unified or context diff - ouc='-L --label -p --show-c-function -F --show-function-line' - - # option specific to side by side - oss='-W --width --left-column --suppress-common-lines' - - # output formats w/o side by side - ofwy="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format \ - --new-line-format --unchanged-line-format" - - # output formats w/o group format - ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --line-format --old-line-format --new-line-format --unchanged-line-format" - - # output formats w/o line format - ofwl="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format" - - # "+abcdefhilnpstuw0123456789BHNRC:D:F:I:L:U:V:W:k:r:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - {,}'(-r)-D+[specify date]:date:_cvs_D' \ - {,}'(-D)-r+[specify revision]:tag:_cvs_revisions' \ - -{h,0,1,2,3,4,5,6,7,8,9} \ - '--binary[binary mode]' \ - '--ifdef=[set macro name for merged if-then-else format]:name' \ - '(-i --ignore-case)'{-i,--ignore-case}'[case insensitive]' \ - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all white space]' \ - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \ - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore lines that are all blank]' \ - '(-I --ignore-matching-lines)'{-I+,--ignore-matching-lines=}'[ignore lines that match regex]:line exclusion regex' \ - '(-a --text)'{-a,--text}'[treat all files as text]' \ - "($of $oss)"{-C+,--context=-}'[context diff; specify lines of context]:number of lines of context' \ - "($of $oss)-c[output a context diff]" \ - "($of $oss)"{-U+,--unified=-}'[unified diff; specify lines of context]:number of lines of context' \ - "($of $oss)-u[output a unified diff]" \ - {,}"($ofwuc $oss -L --label)"{-L+,--label=}'[set label to use instead of file name]:label' \ - "($ofwuc $oss -p --show-c-function)"{-p,--show-c-function}'[show C function of each change]' \ - "($ofwuc $oss -F --show-function-line=)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' \ - "($of $ouc $oss)--brief[output only whether files differ]" \ - "($of $ouc $oss)"{-e,--ed}'[output an ed script]' \ - "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \ - "($of $ouc $oss)"{-n,--rcs}'[RCS format diff]' \ - "($of $ouc)--side-by-side[output in two columns]" \ - "($of $ouc)-y[output in two columns]" \ - "($ofwy $ouc -W --width)"{-W+,--width=}'[set size of line]:number of characters per line' \ - "($ofwy $ouc)--left-column[output only left column of common lines]" \ - "($ofwy $ouc)--suppress-common-lines[do not output common lines]" \ - "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format" \ - "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format" \ - "($ofwg $ouc $oss)--changed-group-format=[set changed group format]:changed group format" \ - "($ofwg $ouc $oss)--unchanged-group-format=[set unchanged group format]:unchanged group format" \ - "($ofwl $ouc $oss)--line-format=[set line format]:line format" \ - "($ofwl $ouc $oss)--old-line-format=[set old line format]:old line format" \ - "($ofwl $ouc $oss)--new-line-format=[set new line format]:new line format" \ - "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format" \ - '--paginate[output through pr]' \ - '(-t --expand-tabs)'{-t,--expand-tabs}'[expand tabs to spaces]' \ - '--initial-tab[prepend a tab]' \ - '(-N --new-file)'{-N,--new-file}'[treat absent files as empty]' \ - '(-s --report-identical-files)'{-s,--report-identical-files}'[report when two files are the same]' \ - '--horizon-lines=[set number of lines to keep in prefix and suffix]:number of horizon lines' \ - '(-d --minimal)'{-d,--minimal}'[try to find a smaller set of changes]' \ - '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]' \ - '*:file:_cvs_diff_arg' -} - -(( $+functions[_cvs_diff_arg] )) || -_cvs_diff_arg() { - _cvs_files_modified || _cvs_files -} - -(( $+functions[_cvs_edit] )) || -_cvs_edit() { - # "+lRa:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-a+[specify action]:action:(edit unedit commit all none)' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_editors] )) || -_cvs_editors() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_export] )) || -_cvs_export() { - # "+Nnk:d:flRQqr:D:" - _arguments -s \ - '-N[don'\''t shorten module paths]' \ - '-n[disable checkout program]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-d+[directory]:directory:_files -/' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_history] )) || -_cvs_history() { - # "+Tacelow?D:b:f:m:n:p:r:t:u:x:X:z:" - _arguments -s \ - '-T[all tags]' \ - '-a[all users]' \ - '-c[modified files]' \ - '-e[everything]' \ - '-l[last modification]' \ - '-o[check-outed modules]' \ - '-w[working directory]' \ - '-D+[since date]:date:_cvs_D' \ - '-b+[back to record]:string' \ - '-f+[specify file]:file:_cvs_files' \ - '-m+[specify module]:module:_cvs_modules' \ - '*-n+[in module]:module:_cvs_modules' \ - '*-p+[in repository]:repository' \ - '-r+[since revision]:rev' \ - '-t+[since tag]:tag' \ - '*-u+[specify user]:user name' \ - '-x+[specify type]:type:_cvs_history_x' \ - '-X+[debugging]:arg' \ - '-z+[specify timezone]:timezone' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_history_x] )) || -_cvs_history_x() { - _values -s '' 'type' \ - 'F[release]' \ - 'O[checkout]' \ - 'E[export]' \ - 'T[rtag]' \ - 'C[merge collision-detected]' \ - 'G[merge succeed]' \ - 'U[working file was copied]' \ - 'W[working file was deleted]' \ - 'A[a file was added]' \ - 'M[a file was modified]' \ - 'R[a file was removed]' -} - -(( $+functions[_cvs_import] )) || -_cvs_import() { - # "+Qqdb:m:I:k:W:" - _arguments -s \ - '-d[use file modification time]' \ - '-b+[specify vendor branch]:branch:(1.1.3)' \ - '-m+[message]:message:_cvs_m' \ - '*-I+[ignore files]:name:_files' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '*-W+[wrapper specification]:spec:_files' \ - ':repository:_cvs_modules' \ - ':vendor tag:_cvs_vendor_branches' \ - ':release tag' -} - -(( $+functions[_cvs_log] )) || -_cvs_log() { - # "+bd:hlNRr::s:tw::" - _arguments -s \ - '-b[default branch]' \ - '(-t)-h[header]' \ - '-l[don'\''t recurse]' \ - '-R[print the name of RCS file in the repository]' \ - '-N[don'\''t list tags]' \ - '(-h)-t[header with descriptive text]' \ - '-d+[specify dates]:date range' \ - '-r-[specify revisions]:revisions' \ - '-s+[specify states]:state:_sequence compadd - Exp Stab Rel dead' \ - '-w-[specify logins]:login list' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_rlog] )) || -_cvs_rlog() { - # "+bd:hlNRr::s:tw::" - _arguments -s \ - '-b[default branch]' \ - '(-t)-h[header]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-N[don'\''t list tags]' \ - '(-h)-t[header with descriptive text]' \ - '-d+[specify dates]:date range' \ - '-r-[specify revisions]:revisions' \ - '-s+[specify states]:state:_sequence compadd - Exp Stab Rel dead' \ - '-w-[specify logins]:login list' \ - '*:file:_cvs_modules' -} - -(( $+functions[_cvs_rdiff] )) || -_cvs_rdiff() { - # "+V:k:cuftsQqlRD:r:" - _arguments -s \ - '-c[output a context diff]' \ - '-u[output a unified diff]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - '-s[short patch]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-V+[specify version]:version' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '(-D -D -r -r)-t[top two differences]' \ - '(-t -r)-D+[specify date]:date:_cvs_D' \ - '(-t -r)-D+[specify date]:date:_cvs_D' \ - '(-t -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-t -D)-r+[specify revision]:tag:_cvs_revisions' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_release] )) || -_cvs_release() { - # "+Qdq" - _arguments -s \ - '-d[delete]' \ - '*:directory:_files -/' -} - -(( $+functions[_cvs_remove] )) || -_cvs_remove() { - # "+flR" - _arguments -s \ - '-f[force to remove]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:removed file:_cvs_remove_arg' -} - -(( $+functions[_cvs_remove_arg] )) || -_cvs_remove_arg() { - if (( $+opt_args[-f] )); then - _cvs_files - else - _cvs_files_removed - fi -} - -(( $+functions[_cvs_rtag] )) || -_cvs_rtag() { - # "+FanfQqlRdbr:D:" - _arguments -s \ - '(-d)-F[move tag if already exists]' \ - '(-d)-a[clear tag from removed files]' \ - '-n[disable tag program]' \ - '(-d)-f[force a head revision]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '(-b)-d[delete tag]' \ - '(-d)-b[create branch]' \ - '-D+[specify date]:date:_cvs_D' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - ':tag' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_status] )) || -_cvs_status() { - # "+vlR" - _arguments -s \ - '-v[verbose]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_tag] )) || -_cvs_tag() { - # "+FQqlRcdr:D:bf" - _arguments -s \ - '(-d)-F[move tag if already exists]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-c[check that working files unmodified]' \ - '(-b)-d[delete tag]' \ - '(-d)-b[create branch]' \ - '(-d)-f[force a head revision]' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - '-D+[specify date]:date:_cvs_D' \ - ':tag:_cvs_revisions' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_unedit] )) || -_cvs_unedit() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_update] )) || -_cvs_update() { - # "+ApCPflRQqduk:r:D:j:I:W:" - _arguments -s \ - '-C[overwrite local modification]' \ - '-A[reset sticky tags, dates and -k]' \ - '-p[check out to standard output]' \ - '-P[prune empty directory]' \ - '-f[use head revision]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-d[create directories]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '*-j+[merge]:tag:_cvs_revisions' \ - '*-I+[ignore files]:file:_files' \ - '*-W+[wrapper specification]:spec:_files' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_watch] )) || -_cvs_watch() { - local expl - - if (( CURRENT == 2 )); then - _wanted values expl 'watch command' compadd on off add remove - else - case "$words[2]" in - on|off) # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - ':watch command' \ - '*:file:_cvs_files' - ;; - add|remove) # "+lRa:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*-a+[specify action]:action:(edit unedit commit all none)' \ - ':watch command' \ - '*:file:_cvs_files' - ;; - esac - fi -} - -(( $+functions[_cvs_watchers] )) || -_cvs_watchers() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_loadstat] )) || -_cvs_loadstat() { - (( $+_cvs_loadstat_status )) && return $_cvs_loadstat_status - - zmodload -F zsh/stat b:zstat 2>/dev/null - (( _cvs_loadstat_status = ! $+builtins[zstat] )) - return $_cvs_loadstat_status -} - -(( $+functions[_cvs_root] )) || -_cvs_root() { - local cvspassfile id slash - - typeset -gU _cvs_roots - - if [[ -f "${cvspassfile::=${CVS_PASSFILE:-$HOME/.cvspass}}" ]]; then - if _cvs_loadstat; then - id="$(LC_ALL=C builtin zstat -g +mtime -F '%Y/%m/%d-%T' "$cvspassfile")" - else - id="$(LC_ALL=C ls -l "$cvspassfile")" - fi - if [[ "$id" != "$_cvs_pass_id" ]]; then - slash=/ - _cvs_roots=($_cvs_roots ${${${${(f)"$(<$cvspassfile)"}#/1 }%% *}/:2401${slash}/:/}) - _cvs_pass_id="$id" - fi - fi - - _tags files && { - compadd -M 'r:|[:@./]=** r:|=**' "$@" -a _cvs_roots || { - compset -P ':(local|fork):'; _files "$@" -W / -/ - } - } -} - -(( $+functions[_cvs_tempdir] )) || -_cvs_tempdir() { - _tags directories && compadd "$@" $TMPPREFIX:h $TMPDIR /tmp -} - -(( $+functions[_cvs_user_variable] )) || -_cvs_user_variable() { - if compset -P 1 '*='; then - _default - else - _message -e variables "variable" - fi -} - -# define completion functions for cvs global options. - -(( $+functions[_cvs_editor] )) || -_cvs_editor() { - _tags commands && compadd "$@" vi -} - -# define completion functions for cvs common options and arguments. - -(( $+functions[_cvs_D] )) || -_cvs_D() { - _tags values && compadd "$@" today yesterday week\ ago month\ ago -} - -(( $+functions[_cvs_k] )) || -_cvs_k() { - _values 'keyword substitution' \ - 'kv[generate keyword strings using the default form]' \ - "kvl[include locker's name in strings if given revision is locked]" \ - 'k[generate only keyword names in keyword strings; omit their values]' \ - 'o[generate the old keyword string as present in the file before check in]' \ - "b[binary - like \`o' but also inhibit line ending conversions]" \ - 'v[generate only keyword values for keyword strings]' -} - -(( $+functions[_cvs_m] )) || -_cvs_m() { - _message -e messages "log message" -} - -(( $+functions[_cvs_modules] )) || -_cvs_modules() { - if compset -P '(#m)(*/)'; then - _cvs_sub_modules "$cvsroot" "${MATCH%/}" - else - _cvs_top_modules "$cvsroot" - fi -} - -(( $+functions[_cvs_top_modules] )) || -_cvs_top_modules() { - local root="$1" - - if [[ -d $root ]]; then - _wanted modules expl 'module name' \ - compadd - $root/*(/:t) \ - ${${(M)${(f)"$(<$root/CVSROOT/modules)"}:#[^#]*}%%[ ]*} - else - if [[ "$_cvs_top_modules_cache_key" != "$root" ]]; then - _cvs_top_modules_cache_key="$root" - _cvs_top_modules_cache_mods=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_remote_directories "$root" . _cvs_top_modules_cache_mods - _cvs_top_modules_cache_mods=( - "$_cvs_top_modules_cache_mods[@]" - ${(M)${${(f)"$( - CVS_IGNORE_REMOTE_ROOT= _call_program modules cvs -d "$root" co -c - )"}%%[ ]*}:#?*} - ) - fi - fi - if (( $#_cvs_top_modules_cache_mods )); then - _wanted modules expl 'module name' \ - compadd -a _cvs_top_modules_cache_mods - else - _message -e modules 'module name' - fi - fi -} - -(( $+functions[_cvs_sub_modules] )) || -_cvs_sub_modules() { - local root="$1" dir="$2" ignore - - if [[ -d $root ]]; then - _wanted modules expl 'module name' \ - _path_files -W "($root/$dir)" -/ -F "(Attic */Attic)" - else - if [[ $_cvs_sub_modules_cache_key != "$root $dir" ]]; then - _cvs_sub_modules_cache_key="$root $dir" - _cvs_sub_modules_cache_mods=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_remote_directories "$root" "$dir" _cvs_sub_modules_cache_mods - fi - fi - if (( $#_cvs_sub_modules_cache_mods )); then - _wanted modules expl 'module name' \ - compadd -qS/ -a _cvs_sub_modules_cache_mods - else - _message -e modules 'module name' - fi - fi -} - -# _cvs_run cvsroot directory cvs-arguments... -(( $+functions[_cvs_run] )) || -_cvs_run() { - local cvsroot="$1" dir="$2" - shift 2 - local d=${TMPPREFIX:-/tmp/zsh}-cvs-work-$$ - rm -rf $d - mkdir $d && - ( - chmod 0700 $d && - builtin cd -q $d && - mkdir CVS >&/dev/null || return 1 - print -r - "$cvsroot" > CVS/Root - print "$dir" > CVS/Repository - print D > CVS/Entries - CVS_IGNORE_REMOTE_ROOT= cvs "$@" - ) - rm -rf $d -} - -# _cvs_remote_directories cvsroot directory [variable] -(( $+functions[_cvs_remote_directories] )) || -_cvs_remote_directories() { - local root="$1" dir="$2" subdirs - shift 2 - subdirs=(${${(M)${(f)"$(_call_program directories _cvs_run "$root" "$dir" update -r00 -d -p 2>&1)"}:#* New directory \`*\' -- ignored}/(#b)*\`(*)\'*/$match[1]}) - if (( $# )); then - eval "$1=(\"\$subdirs[@]\")" - else - if (( $#subdirs )); then - print -lr - $subdirs - fi - fi -} - -(( $+functions[_cvs_vendor_branches] )) || -_cvs_vendor_branches() { - local expl vendor_branch - vendor_branch=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - if [[ -n $opt_args[-b] ]]; then - _cvs_extract_vendor_branch -b "$opt_args[-b]" "$cvsroot" "$line[1]" \ - vendor_branch - else - _cvs_extract_vendor_branch "$cvsroot" "$line[1]" vendor_branch - fi - fi - if (( $#vendor_branch )); then - _wanted values expl 'vendor branch' compadd -a vendor_branch - else - _message -e branches 'vendor branch' - fi -} - -# _cvs_extract_vendor_branch [-b numeric-branch] cvsroot directory [variable] -(( $+functions[_cvs_extract_vendor_branch] )) || -_cvs_extract_vendor_branch() { - local numeric='1\.1\.1' - if [[ $1 = -b ]]; then - numeric="${2//./\\.}" - shift 2 - fi - local root="$1" dir="$2" - shift 2 - - local vtags - vtags=($( - _call_program tags _cvs_run "$root" "$dir" -Q log -h 2>/dev/null | - sed -ne $'/^symbolic names:/{ -n -:loop -/^[^ \t]/d -/: '"$numeric"$'$/b found -n -b loop -:found -s/^[ \t]*\\(.*\\): '"$numeric"$'$/\\1/p -n -/^[ \t]/b found -q -}')) - if (( $# )); then - eval "$1=(\"\$vtags[@]\")" - else - if (( $#vtags )); then - print -lr - "$vtags[@]" - fi - fi -} - -(( $+functions[_cvs_revisions] )) || -_cvs_revisions() { - local expl - - if [[ $_cvs_revisions_key != $cvsroot:$PWD ]]; then - _cvs_revisions_key="$cvsroot:$PWD" - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_revisions_cache=( - $(CVS_IGNORE_REMOTE_ROOT= _call_program tags cvs -d "$cvsroot" -q status -vl .| - sed -n -e '/No Tags Exist/d' \ - -e 's/^ \([A-Za-z][-_0-9A-Za-z+]*\).*/\1/p'| - sort|uniq) - ) - else - _cvs_revisions_cache=() - fi - fi - - if (( $#_cvs_revisions_cache )); then - _wanted values expl revision compadd -a _cvs_revisions_cache - else - _message -e revisions revision - fi -} - -# define completion functions for files maintained by cvs. - -(( $+functions[_cvs_files] )) || -_cvs_files() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'existing-files:file:_cvs_existing_entries' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_modified] )) || -_cvs_files_modified() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'existing-files:file:_cvs_modified_entries' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_removed] )) || -_cvs_files_removed() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_unmaintained] )) || -_cvs_files_unmaintained() { - _cvs_nonentried_files || - _cvs_existing_directories || - _cvs_strict_nonentried_files -} - -(( $+functions[_cvs_existing_directories] )) || -_cvs_existing_directories() { - local expl - _wanted directories expl directory _path_files -g "*~(*/|)CVS(/)" || - _cvs_path_prefixes -} - -(( $+functions[_cvs_existing_entries] )) || -_cvs_existing_entries() { - local expl match linedir realdir pat - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && - pat=(${(@)${(@)${(@M)${(@f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}%%/*}) - (( ${#pat} )) && _wanted files expl file _path_files -a pat -} - -(( $+functions[_cvs_modified_entries] )) || -_cvs_modified_entries() { - if _cvs_loadstat; then - local expl match linedir realdir pat slash=/ - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - local -a mtime - LC_ALL=C builtin zstat -A mtime -gn +mtime -F $'%a %b %e %T %Y\n' ${realdir}*(D) 2>/dev/null - [[ -n ${pat::="${(@j:|:)${(@)${(@)${(@)${(@)${(@)${(@M)${(@f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}/${slash}[^${slash}]#${slash}//}%/[^/]#/[^/]#}:#${(j:|:)~${(f)${(j:/:)${mtime##*/}}//(#m)[][*?()<|^~#\\]/\\$MATCH}#/}}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH}"} ]] - } && - _wanted files expl 'modified file' _path_files -g "$pat" - else - _cvs_existing_entries - fi -} - -(( $+_cvs_ignore_default )) || -local _cvs_ignore_default=( - RCS SCCS CVS CVS.adm RCSLOG 'cvslog.*' tags TAGS .make.state .nse_depinfo - '*\~' '\#*' '.\#*' ',*' '_$*' '*$' '*.old' '*.bak' '*.BAK' '*.orig' '*.rej' - '.del-*' '*.a' '*.olb' '*.o' '*.obj' '*.so' '*.exe' '*.Z' '*.elc' '*.ln' - core -) - -(( $+functions[_cvs_strict_nonentried_files] )) || -_cvs_strict_nonentried_files() { - local expl match linedir realdir omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - omitpats=( - ${${${${(M)${(f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ) - if (( $#omitpats )); then - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D.)" - else - _path_files -g "*~(*/|)(D.)" - fi - } -} - -(( $+functions[_cvs_nonentried_files] )) || -_cvs_nonentried_files() { - local expl match linedir realdir omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - omitpats=( - ${${${${(M)${${(f)"$(<"$realdir"CVS/Entries)"}:#/*/-*/*/*/*}:#(D|)/*}#(D|)/}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH} - $_cvs_ignore_default - ${=cvsignore} - ) - [[ -r ~/.cvsignore ]] && omitpats=($omitpats $(<~/.cvsignore)) - [[ -r ${realdir}.cvsignore ]] && omitpats=($omitpats $(<${realdir}.cvsignore)) - omitpats=($omitpats $=CVSIGNORE) - - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D.)" - } -} - -(( $+functions[_cvs_nonexistent_entries] )) || -_cvs_nonexistent_entries() { - local expl match linedir realdir files - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - files=(${realdir}*(D:t)) - [[ -f "$realdir"CVS/Entries ]] && { - files=( - ${${${${(M)${(f)"$(<"$realdir"CVS/Entries)"}:#(D|)/*}#(D|)/}%%/*}:#${(j:|:)~${files//(#m)[][*?()<|^~#\\]/\\$MATCH}}} - ) - compquote files - _wanted files expl 'removed file' compadd -Qp "$linedir" -a files - } -} - -(( $+functions[_cvs_path_prefixes] )) || -_cvs_path_prefixes() { - local expl match - match=() - [[ "$PREFIX$SUFFIX" = (#b)(*)(/[^/]#) ]] && { - PREFIX="$match[1]" - ISUFFIX="$match[2]$ISUFFIX" - SUFFIX='' - _wanted directories expl directory \ - _path_files -g "*~($PREFIX|(*/|)CVS)(/)" -S '' - } -} - -_cvs "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvsup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvsup deleted file mode 100644 index a1657e65..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cvsup +++ /dev/null @@ -1,27 +0,0 @@ -#compdef cvsup - -_arguments -s \ - '-1[disable automatic retries]' \ - '-a[server must authenticate itself]' \ - '-A:local address:_hosts' \ - '-b:base directory:_files -/' \ - '-c:collections directory:_files -/' \ - '-d:maximum number of deleted files:' \ - '-D[perform only deletions]' \ - '(-E)-e[enable execution of commands from server]' \ - '(-e)-E[disable execution of commands from server]' \ - '-g[disable use of GUI]' \ - '-h:server host:_hosts' \ - '-i:file pattern:' \ - '-k[keep temporary copies of failed updates]' \ - '-l:lock file:_files' \ - '-L:verbosity level:(0 1 2)' \ - '-p:port:_ports' \ - '-P:connection mode:(m a port lo-hi -)' \ - '-r:maximum number of retries:' \ - '-s[suppress status checks]' \ - '-v[print version information]' \ - '(-Z)-z[enable compression]' \ - '(-z)-Z[disable compression]' \ - ':cvsup file:_files' \ - ':destination directory:_files -/' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygcheck b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygcheck deleted file mode 100644 index e0d7532e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygcheck +++ /dev/null @@ -1,31 +0,0 @@ -#compdef cygcheck cygcheck.exe - -# cygwin 1.5.25 - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -local -a exclusive_opts -exclusive_opts=(-k --keycheck -f --find-package -l --list-package -p --package-query -h --help -V --version) - -_arguments -C -s -S \ - "(* $exclusive_opts -c --check-setup)"{-c,--check-setup}'[show installed version of the specified package and verify integrity (or for all installed packages if none specified)]:*:package:->package' \ - "(* $exclusive_opts -d --dump-only)"{-d,--dump-only}'[just list packages, do not verify (with -c)]' \ - "(* $exclusive_opts -s --sysinfo)"{-s,--sysinfo}'[produce diagnostic system information (implies -c -d)]' \ - "(* $exclusive_opts -r --registry)"{-r,--registry}'[also scan registry for Cygwin settings (with -s)]' \ - '(* -)'{-k,--keycheck}'[perform a keyboard check session (must be run from a plain console only, not from a pty/rxvt/xterm)]' \ - '(* -)'{-f,--find-package}'[find the package that specified file belongs to]:*:file:_files' \ - '(* -)'{-l,--list-package}'[list contents of the specified package (or all packages if none given)]:*:package:->package' \ - '(* -)'{-p,--package-query}'[search for the specified regexp in the entire cygwin.com package repository (requires internet connectivity)]:regexp:' \ - '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -v --verbose)'{-v,--verbose}'[produce more verbose output]' \ - '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -h --help)'{-h,--help}'[annotate output with explanatory comments when given with another command, otherwise print this help]' \ - '(* -)'{-V,--version}'[print the version of cygcheck and exit]' \ - '(-)*:program: _command_names -e' && return - -if [[ "$state" = package ]]; then - local -a packages - packages=( ${${${(f)"$(_call_program packages $words[1] -c -d)"}[3,-1]}%% *} ) - _wanted packages expl package compadd -a packages && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygpath b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygpath deleted file mode 100644 index 0b64d55d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygpath +++ /dev/null @@ -1,28 +0,0 @@ -#compdef cygpath cygpath.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-d,--dos}'[print DOS (short) form of specified path (C:\PROGRA~1\)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-m,--mixed}'[like --windows, but with regular slashes (C:/WINNT)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-M,--mode}'[report on mode of file (binmode or textmode)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-u,--unix}'[(default) print Unix form of specified path (/cygdrive/c/winnt)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-w,--windows}'[print Windows form of specified path (C:\WINNT)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-t,--type}'[print type]:type:(dos mixed unix windows)' \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-a,--absolute}'[output absolute path]' \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-l,--long-name}'[print Windows long form of specified path (with -w, -m only)]' \ - "(--absolute --long-name --path --short-name -a -l -p -s)"{-p,--path}"[specified path is a PATH list (i.e., '/bin:/usr/bin')]" \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-s,--short-name}'[print DOS (short) form of specified path (with -w, -m only)]' \ - "(--allusers -A)"{-A,--allusers}"[use 'All Users' instead of current user for -D, -P]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-D,--desktop}"[output 'Desktop' directory and exit]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-H,--homeroot}"[output 'Profiles' directory (home root) and exit]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-P,--smprograms}"[output Start Menu 'Programs' directory and exit]" \ - '(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)'{-S,--sysdir}'[output system directory and exit]' \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-W,--windir}"[output 'Windows' directory and exit]" \ - '(--file -f)'{-f,--file}'[read FILE for input; use - to read from STDIN]: :_files' \ - '(--option -o)'{-o,--option}'[read options from FILE as well (for use with --file)]' \ - '(--close -c)'{-c,--close}'[close specified handle (for use in captured process)]:handle' \ - '(--ignore -i)'{-i,--ignore}'[ignore missing argument]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygrunsrv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygrunsrv deleted file mode 100644 index 17a0afba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygrunsrv +++ /dev/null @@ -1,36 +0,0 @@ -#compdef cygrunsrv cygrunsrv.exe - -# cygrunsrv 1.34 - -_arguments -s -S \ - '(-I --install)'{-I,--install}'[install a new service]:service' \ - '(-R --remove)'{-R,--remove}'[remove specified service]:service' \ - '(-S --start)'{-S,--start}'[start specified service]:service' \ - '(-E --stop)'{-E,--stop}'[stop specified service]:service' \ - '(-Q --query)'{-Q,--query}'[query specified service]:service' \ - '(-L --list)'{-L,--list}'[lists services that have been installed with cygrunsrv]:server:' \ - '(-p --path)'{-p,--path}'[specify application path which is run as a service]:application path' \ - '(-P --crs-path)'{-P,--crs-path}'[path to cygrunsrv]:path:_files' \ - '(-a --args)'{-a,--args}'[specify options to give service on startup]:args' \ - '(-c --chdir)'{-c,--chdir}'[specify working directory for the application]:directory:_directories' \ - '(-e --env)'{-e,--env}'[specify environment strings exported to service]:var=value' \ - '(-d --disp)'{-d,--disp}'[specify display name for service]:display name' \ - '(-f --desc)'{-f,--desc}'[specify service description]:description' \ - '(-t --type)'{-t,--type}'[specify service start type]:start type:(auto manual)' \ - '(-u --user)'{-u,--user}'[specify user to start service under]:user:_users' \ - '(-w --passwd)'{-w,--passwd}'[specify password for user]:password' \ - '(-s --termsig)'{-s,--termsig}'[specify signal to use to stop service]:signal:_signals' \ - '(-z --shutsig)'{-z,--shutsig}'[specify signal to send to service application when shutdown has been initiated]:signal:_signals' \ - '(-y --dep)'{-y,--dep}'[specify name of service that must be started]:service' \ - '(-0 --stdin)'{-0,--stdin}'[specify file for stdin redirection]:stdin file:_files' \ - '(-1 --stdout)'{-1,--stdout}'[specify file for stdout redirection]:stdout file:_files' \ - '(-2 --stderr)'{-2,--stderr}'[specify file for stderr redirection]:stderr file:_files' \ - '(-x --pidfile)'{-x,--pidfile}'[optional path for .pid file written by application after fork()]:pid file:_files -g "*.pid(-.)"' \ - '(-n --neverexits)'{-n,--neverexits}'[service should never exit by itself]' \ - '(-O --preshutdown -o --shutdown)'{-O,--preshutdown}'[stop service application during system preshutdown]' \ - '(-O --preshutdown -o --shutdown)'{-o,--shutdown}'[stop service application during system shutdown]' \ - '(-i --interactive)'{-i,--interactive}'[allow service to interact with the desktop (No effect since Windows Vista/Longhorn)]' \ - '(-j --nohide )'{-j,--nohide}"[don't hide console window when service interacts with desktop]" \ - '(-V --verbose)'{-V,--verbose}'[when used with --query or --list, causes extra information to be printed]' \ - '(- *)'{-h,--help}'[print help information]' \ - '(- *)'{-v,--version}'[print version information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygserver b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygserver deleted file mode 100644 index 392bf5cb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygserver +++ /dev/null @@ -1,21 +0,0 @@ -#compdef cygserver cygserver.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--config-file -f)'{-f,--config-file}'[use specified config file]:config file [/etc/cygserver.conf]:_files -g "*.conf(-.)"' \ - '(--cleanup-threads -c)'{-c,--cleanup-threads}'[number of cleanup threads to use]:number of threads [2]' \ - '(--process-cache -p)'{-p,--process-cache}'[size of process cache]:cache size:' \ - '(--request-threads -r)'{-r,--request-threads}'[number of request threads to use]:number of threads [10]' \ - '(--debug -d)'{-d,--debug}'[log debug messages to stderr]' \ - '(--stderr -e --no-stderr -E)'{-e,--stderr}'[log to stderr (default if stderr is a tty)]' \ - '(--stderr -e --no-stderr -E)'{-E,--no-stderr}"[don't log to stderr (see -y, -Y options)]" \ - '(--log-level -l)'{-l,--log-level}'[specify log verbosity]:verbosity level [6]:({1..7})' \ - '(--syslog -y --no-syslog -Y)'{-y,--syslog}'[log to syslog (default if stderr is no tty)]' \ - '(--syslog -y --no-syslog -Y)'{-Y,--no-syslog}"[don't log to syslog (see -e, -E options)]" \ - '(--no-sharedmem -m)'{-m,--no-sharedmem}"[don't start XSI Shared Memory support]" \ - '(--no-msgqueues -q)'{-q,--no-msgqueues}"[don't start XSI Message Queue support]" \ - '(--no-semaphores -s)'{-s,--no-semaphores}"[don't start XSI Semaphore support]" \ - '(--shutdown -S)'{-S,--shutdown}'[shutdown the daemon]' \ - '(--help -h)'{-h,--help}'[output usage information and exit]' \ - '(--version -v)'{-v,--version}'[output version information and exit]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygstart b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygstart deleted file mode 100644 index c8941ea0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_cygstart +++ /dev/null @@ -1,30 +0,0 @@ -#compdef cygstart cygstart.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--action -a)'{-a,--action=-}'[use specified action instead of default]:action:(open edit explore print find)' \ - '(--open -o)'{-o,--open}'[short for: --action open]' \ - '(--explore -x)'{-x,--explore}'[short for: --action explore]' \ - '(--edit -e)'{-e,--edit}'[short for: --action edit]' \ - '(--find -f)'{-f,--find}'[short for: --action find]' \ - '(--print -p)'{-p,--print}'[short for: --action print]' \ - '(--directory -d)'{-d,--directory=-}'[set working directory]:directory:_directories' \ - '--hide[hides the window and activates another window]' \ - '--maximize[maximizes the specified window]' \ - '--minimize[minimizes the specified window and activates the next top-level window in the z-order]' \ - '--restore[activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window]' \ - '--show[activates the window and displays it in its current size and position]' \ - '--showmaximized[activates the window and displays it as a maximized window]' \ - '--showminimized[activates the window and displays it as a minimized window]' \ - '--showminnoactive[displays the window as a minimized window. The active window remains active]' \ - '--showna[displays the window in its current state. The active window remains active]' \ - '--shownoactivate[displays a window in its most recent size and position. The active window remains active]' \ - '--shownormal[activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time]' \ - '(--help -?)'{-\?,--help}'[display help information]' \ - '--usage[display brief usage message]' \ - '--version[display version information]' \ - '--license[display licensing information]' \ - '--reference[open MSDN reference for ShellExecute]' \ - '1:file: _alternative "programs:program: _command_names -e" "files:file:_files" "urls:URL:_urls"' \ - '*::program arguments: _normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dak b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dak deleted file mode 100644 index 9976c737..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dak +++ /dev/null @@ -1,243 +0,0 @@ -#compdef dak - -local expl cmd args ret=1 - -if (( CURRENT == 2 )); then - if (( ! $+_dak_cmds )); then - typeset -gH _dak_cmds - _dak_cmds=(${${${(f)${"$(_call_program dak dak --help)"#*Availa#ble commands:}}#[^a-z] ##}%%[ ]*}) - fi - - _describe -t subcommands 'subcommand' _dak_cmds - return -fi - -cmd="$words[2]" -local curcontext="${curcontext%:*:*}:dak-$cmd:" - -args=( '(-)'{--help,-h}'[show help message]' ) - -case $cmd in -(ls) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-b --binary-type)'{-b,--binary-type=}':type:(deb udeb)' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-g --greaterorequal)'{-g,--greaterorequal} - '(-G --greaterthan)'{-G,--greaterthan} - '(-r --regex)'{-r,--regex} - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - '(-S --source-and-binary)'{-S,--source-and-binary} - '*:package:_deb_packages avail' - ) - ;; -(override) - args+=( - '(-d --done)'{-d,--done=}'[send prioritys/section change as closure to bug]:bug number:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - ':package:_deb_packages avail' - ':section:(admin base comm contrib/admin contrib/comm contrib/devel contrib/doc contrib/games contrib/graphics contrib/interpreters contrib/kde contrib/libdevel contrib/libs contrib/mail contrib/math contrib/misc contrib/net contrib/otherosfs contrib/perl contrib/python contrib/science contrib/sound contrib/tex contrib/text contrib/utils contrib/web contrib/x11 devel doc editors electronics embedded games gnome graphics hamradio interpreters kde libdevel libs mail math misc net news non-free/admin non-free/base non-free/comm non-free/devel non-free/doc non-free/editors non-free/electronics non-free/games non-free/graphics non-free/hamradio non-free/libdevel non-free/libs non-free/mail non-free/math non-free/misc non-free/net non-free/news non-free/otherosfs non-free/python non-free/science non-free/sound non-free/tex non-free/text non-free/utils non-free/web non-free/x11 oldlibs otherosfs perl python science shells sound tex text utils web x11)' - ':priority:(extra important optional required standard)' - ) - ;; -(check-archive) - args+=( - '*:mode:(( - md5sums\:validate\ the\ md5sums\ stored\ in\ the\ database - files\:check\ files\ in\ the\ database\ against\ what\ is\ in\ the\ archive - dsc-syntax\:validate\ the\ syntax\ of\ .dsc\ files\ in\ the\ archive - missing-overrides\:check\ for\ missing\ overrides - source-in-one-dir\:ensure\ the\ source\ for\ each\ package\ is\ in\ one\ directory - timestamps\:check\ for\ future\ timestamps\ in\ .debs - tar-gz-in-dsc\:ensure\ each\ .dsc\ lists\ a\ .tar.gz\ file - validate-indices\:ensure\ files\ mentioned\ in\ Packages\ and\ Sources\ exist - files-not-symlinks\:check\ files\ in\ the\ database\ are\ not\ symlinks - validate-builddeps\:validate\ build-dependencies\ of\ .dsc\ files\ in\ the\ archive))' - ) - ;; -(queue-report) - args+=( - '(-n --new)'{-n,--new}'[produce html output]' - '(-s --sort)'{-s,--sort=}':sort key:((ao\:age,\ oldest\ first an\:age,\ newest\ first na\:name,\ ascending nd\:name,\ descending nf\:notes,\ first nl\:notes,\ last))' - '(-a --age)'{-a,--age=}':age key:((m\:minutes h\:hours d\:days w\:weeks o\:months y\:years))' - ) - ;; -(rm) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-b --binary)'{-b,--binary}'[remove binaries only]' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-C --carbon-copy)'{-C,--carbon-copy=}':cc address:_email_addresses' - '(-d --done)'{-d,--done=}'[send prioritys/section change as closure to bug]:bug number:' - '(-m --reason)'{-m,--reason=}':reason for removal:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-p --partial)'{-p,--partial}'[do not affect override files]' - '(-R --rdep-check)'{-R,--rdep-check}'[check reverse dependencies]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - '(-S --source-only)'{-S,--source-only}'[remove source only]' - '*:package:_deb_packages avail' - ) - ;; -(process-unchecked|process-accepted) - args+=( - '(-a --automatic)'{-a,--automatic}'[automatic run]' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-p --no-lock)'{-p,--no-lock}'[do not check lockfile]' - '(-s --no-mail)'{-s,--no-mail}'[do not send any mail]' - '(-V --version)'{-V,--version}'[display the version number and exit]' - ) - ;; - -(make-suite-file-list) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-n --no-delete)'{-n,--no-delete}'[do not delete older versions]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - ) - ;; - -(generate-releases) - args+=( - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(generate-index-diffs) - args+=( - '-c[give the canonical path of the file]' - '-p[name for the patch (defaults to current time)]' - '-n[take no action]' - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(clean-suites) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(clean-queues) - args+=( - '(-d --days)'{-d,--days=}':days:' - '(-i --incoming)'{-i,--incoming=}':incoming dir:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(clean-proposed-updates) - args+=( - '(-v --verbose)'{-v,--verbose}'[be more verbose about what is being done]' - '*:changes or admin file:_files -g "*.(changes|joey)(-.)"' - ) - ;; - -(check-overrides) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - ) - ;; - -(clean-proposed-updates) - args+=( - '(-q --quiet)'{-q,--quiet}'[be quieter about what is being done]' - '(-v --verbose)'{-v,--verbose}'[be more verbose about what is being done]' - '*:changes or deb or admin file:_files -g "*.(changes|deb|joey)(-.)"' - ) - ;; - -(control-overrides) - args+=( - '(-c --component)'{-c,--component=}':component:(main contrib non-free)' - '(-s --suite)'{-s,--suite=}':suite:(oldstable stable testing unstable experimental)' - '(-t --type)'{-t,--type=}':type:(deb dsc udeb)' - '(-a --add)'{-a,--add}'[add overrides]' - '(-S --set)'{-S,--set}'[set overrides]' - '(-l --list)'{-l,--list}'[list overrides]' - '(-q --quiet)'{-q,--quiet}'[be less verbose]' - ) - ;; - -(control-suite) - args+=( - '(-a --add)'{-a,--add=}':suite:(oldstable stable testing unstable experimental)' - '(-l --list)'{-l,--list=}':suite:(oldstable stable testing unstable experimental)' - '(-r --remove)'{-r,--remove=}':suite:(oldstable stable testing unstable experimental)' - '(-s --set)'{-s,--set=}':suite:(oldstable stable testing unstable experimental)' - '*:file:_files' - ) - ;; - -(cruft-report) - args+=( - '(-m --mode)'{-m,--mode=}':mode:(full daily)' - '(-s --suite)'{-s,--suite=}':suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(decode-dot-dak) - args+=( - '*:dot-dak file:_files -g "*.dak(-.)"' - ) - ;; - -(import-archive) - args+=( - '(-a --action)'{-a,--action}'[actually perform the initialization]' - ) - ;; - -(import-users-from-passwd) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-q --quiet)'{-q,--quiet}'[be quiet about what is being done]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(make-maintainers) - args+=( - '*:extra file:_files' - ) - ;; - -(poolize) - args+=( - '(-l --limit)'{-l,--limit=}'[only migrate amount of packages]:amount (kb)' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(reject-proposed-updates) - args+=( - '(-m --message)'{-m,--message=}'[use this message for rejection]:message:' - '(-s --no-mail)'{-s,--no-mail}'[do not send any mail]' - '*:changes file:_files -g "*.changes(-.)"' - ) - ;; - -(stats) - args+=( - ':mode:((arch-space\:displays\ space\ used\ by\ each\ architecture pkg-nums\:displays\ the\ number\ of\ packages\ by\ suite/architecture daily-install\:displays\ daily\ install\ stats\ suitable\ for\ graphing))' - ) - ;; - -(symlink-dists) - args+=( - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - - (*) - args+=( '*: :_default' ) - ;; - -esac - -_arguments -s "$args[@]" && ret=0 -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_darcs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_darcs deleted file mode 100644 index 74734711..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_darcs +++ /dev/null @@ -1,38 +0,0 @@ -#compdef darcs -## Darcs completion snippet for zsh. -## -## Copyright (C) 2009 Nicolas Pouillard -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -local expl - -if (($CURRENT == 2)); then - # We're completing the first word after "darcs" -- the command. - _wanted command expl 'darcs command' \ - compadd -- $( darcs --commands ) -else - case "${words[$CURRENT]}"; in - # If it looks like an URL... - ht*|ft*) - _arguments '*:URL:_urls' - ;; - # If it looks like an explicit path... - /*|./*|\~*|../*) - _arguments '*:file:_files' - ;; - # Otherwise, let's ask darcs for all possible options - *) - _wanted args expl 'arg for darcs command' \ - compadd -- $( darcs ${words[2]} --list-option ) - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date deleted file mode 100644 index 97c27283..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date +++ /dev/null @@ -1,104 +0,0 @@ -#compdef date gdate - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a opts args - -opts=( -s -w -C ) - -if _pick_variant gnu="Free Software Foundation" unix --version; then - local d='(-d --date -f --file -r --reference -s --set)' - local f='(-I --iso-8601 -R --rfc-email --rfc-3339)' - args=( - $d{-d+,--date=}'[output date specified by string]:time string' - '--debug[annotate parsed date and warn about questionable usage]' - $d{-f+,--file=}'[output dates specified in file]:file:_files' - $d{-r+,--reference=}'[output last modification time of specified file]:file:_files' - $d{-s+,--set=}'[set time]:time string' - $f{-I-,--iso-8601=-}'[display in ISO 8601 format]::precision:(date hours minutes seconds ns)' - $f{-R,--rfc-email}'[display in RFC5322 format]' - $f'--rfc-3339=-[display in RFC 3339 format]:precision:(date seconds ns)' - '(-u --utc --universal)'{-u,--utc,--universal}'[display or set time in UTC]' - '(- :)--help[output help and exit]' - '(- :)--version[output version info and exit]' - ) -else - args=( '-u[display or set time in UTC]' ) - case "$OSTYPE" in - solaris*) - args+=( '-a:adjustment' ) - ;; - freebsd*|dragonfly*|darwin*|netbsd*|openbsd*) - opts+=( -A '-*' ) - args+=( - "-j[don't try to set date]" - '2:format or date:->fmt_date' - ) - ;| - freebsd*|dragonfly*|darwin*|netbsd*) - args+=( '-n[only set time on current machine]' ) - ;| - freebsd*|dragonfly*|darwin*|openbsd*) - args+=( - '-f+[use specified format for input]:parsing format:_date_formats:new date' - ) - ;| - dragonfly*|darwin*|netbsd*|openbsd*) - args+=( - '-r+[output date specified by reference time]:seconds since epoch' - ) - ;| - freebsd*) - local -a alts - alts=( - 'seconds:sec:_guard "(0x[0-9a-fA-F]#|[0-9]#)" "seconds since epoch"' - 'files:file:_files' - ) - args+=( - '-r+[reference time: file modification or literal time]:reference: _alternative $alts' - '(-R)-I-[display in ISO 8601 format]::precision:(date hours minutes seconds)' - ) - ;| - freebsd*|dragonfly*|darwin*) - args+=( - "*-v+[adjust and print (but don't set) date]:[+-]value[ymwdHMS]" - ) - ;| - freebsd<-12>.*|darwin*) - args+=( - '-d+:daylight saving time value' - '-t+:minutes west of GMT' - ) - ;| - freebsd*|dragonfly*) - args+=( '-R[display in RFC2822 format]' ) - ;| - openbsd*|netbsd*) args+=( '-a[gradually skew]' ) - ;| - openbsd*) - args+=( '-z[specify timezone for output]:time zone:_time_zone') - ;| - netbsd*) - args+=( '-d[output date specified by string]:time string:' ) - ;; - esac -fi - -_arguments $opts : $args \ - '1:format or date:->fmt_date' && ret=0 - -case $state in - (fmt_date) - local expl - if compset -P '+'; then - _wanted date-formats expl 'output format' _date_formats && ret=0 - elif [[ $words[CURRENT] != -* ]]; then - # TODO: in most cases it should be possible to determine which - # (or both or neither) of the +format and/or date is allowed - # depending on the options already on the command line - _message -e date-formats '+format or date' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date_formats b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date_formats deleted file mode 100644 index 55af7c59..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_date_formats +++ /dev/null @@ -1,112 +0,0 @@ -#autoload - -local flag ret=1 -local -aU specs -local -A exclusion - -exclusion=( - 'E' '[cCgGxXyY]' - 'O' '[BdeHImMSuUVwWy]' - '-' '[OEdegHIjklmMSUz]' - '_' '[OEdgHIjmMSUz]' - '0' '[Oekl]' - '^' '[OEaAbBchP]' - '#' '[OEaAbBchpPrXZ]' -) - -compset -P '(%[0-9EO_\\^#-]#[^0-9%EO_\\^#-]|[^%])#' -compset -S '%*' -specs=( - 'a:abbreviated day name' - 'A:full day name' - {b,h}':abbreviated month name' - 'B:full month name' - 'c:preferred locale date and time' - 'C:2-digit century' - 'd:day of month (01-31)' - 'D:American format month/day/year (%m/%d/%y)' - 'e:day of month ( 1-31)' - 'F:ISO 8601 year-month-date (%Y-%m-%d)' - 'G:4-digit ISO 8601 week-based year' - 'g:2-digit ISO 8601 week-based year' - 'H:hour (00-23)' - 'I:hour (01-12)' - 'j:day of year (001-366)' - 'k:hour ( 0-23)' - 'l:hour ( 1-12)' - 'm:month (01-12)' - 'M:minute (00-59)' - 'n:newline' - 'p:locale dependent AM/PM' - 'r:locale dependent a.m. or p.m. time (%I:%M:%S %p)' - 'R:24-hour notation time (%H:%M)' - 's:seconds since the epoch' - 'S:seconds (00-60)' - 't:tab' - 'T:24-hour notation with seconds (%H:%M:%S)' - 'u:day of week (1-7, 1=Monday)' - 'U:week number of current year, Sunday based (00-53)' - 'V:ISO 8601 week number of current year, week 1 has 4 days in current year (01-53)' - 'w:day of week (0-6, 0=Sunday)' - 'W:week number of current year, Monday based (00-53)' - 'x:locale dependent date representation without time' - 'X:locale dependent time representation without date' - 'y:2-digit year (00-99)' - 'Y:full year' - 'z:UTC offset' - 'Z:timezone name' - '%:literal %' -) - -case $OSTYPE in - linux-gnu) - [[ $1 == zsh ]] || # %N is handled below in this case - specs+=( 'N:fractional part of seconds since epoch, in nanoseconds' ) - ;| - freebsd*|dragonfly*|darwin*|linux-gnu|solaris2.<11->) - specs+=( - 'E:alternate representation' - 'O:alternative format modifier' - "-:don't pad numeric values" - '0:left pad numeric values with zeroes' - '_:left pad numeric values with spaces' - ) - ;| - linux-gnu|solaris2.<11->) - specs+=( - '#:swap case of alphabetic characters' - '^:convert lowercase characters to uppercase' - 'P:lower case locale dependent am/pm' - ) - ;| - freebsd*|dragonfly*|darwin*|openbsd*|netbsd*) - specs+=( 'v:date in short form (%e-%b-%Y)' ) - ;| - solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*) - specs+=( '+:localized representation of date and time' ) - ;; - solaris2.<-10>) - specs=( ${specs:#[EOs]:*} ) - ;; -esac - -if [[ $1 == zsh ]]; then - specs+=( - 'f:day of month (1-31)' - 'K:hour (0-23)' - 'L:hour (0-12)' - 'N:fractional part of seconds since epoch, in nanoseconds (%9.)' - '.:fractional part of seconds since epoch' - "-:don't pad numeric values" - ) -fi - -for flag in ${(s..)PREFIX#%}; do - (( $+exclusion[$flag] )) && specs=( ${(M)specs:#${~exclusion[$flag]}:*} ) -done - -_describe -t date-format-specifier 'date format specifier' specs \ - -p "${(Q)PREFIX:-%}" -S '' && ret=0 -[[ $1 == zsh ]] && _message -e date-format-precision 'precision for %%. (1-9)' - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dates b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dates deleted file mode 100644 index b75b3af0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dates +++ /dev/null @@ -1,127 +0,0 @@ -#autoload - -# Options: -# -f format : specify strftime format for matches -# -f s/m/h/d/w/M : specify relative format -# -F : select a future rather than past date - -# Styles: -# max-matches-length : maximum number or percentage of lines to use for -# completion listing, if both are specified, the -# lowest takes precedence. -# date-format : override date format - -local -a disp cand expl -local userformat format spacer=1 spacing month monstart skip match -local d day daysecs extra preclude r ri col -local -a starts skips -local -i start now mult -local -i columns=$(( (COLUMNS+4) / 32 )) rows=LINES-4 offset=0 -local -a days=( Mo Tu We Th Fr Sa Su ) -local future mlabel mfmt mlabels - -zparseopts -D -K -E f:=format F=future -(( future = $#future ? 1 : -1 )) -zstyle -s ":completion:${curcontext}:dates" date-format userformat -format=${userformat:-${format[2]:-%F}} - -zstyle -a ":completion:${curcontext}:dates" max-matches-length r -for ri in $r; do - [[ $ri = [0-9]##% ]] && (( ri = LINES * .${ri%%%} )) - (( ri < rows )) && (( rows=ri )) -done -(( rows = rows / 8 )) -zmodload -i zsh/datetime || rows=0 - -_tags dates || return 0 -_comp_mesg=yes -_description -2V -x dates expl date -compadd "${@:/-X/-x}" "$expl[@]" - -[[ -z $MENUSELECT && $WIDGET != menu-select ]] && return -[[ -n $PREFIX$SUFFIX ]] && return 0 -(( rows )) || return 0 -compstate[list]='packed rows' - -if [[ $WIDGET = _next_tags ]]; then - typeset -g -i _next_tags_line - typeset -g -i _next_tags_date=$(( HISTNO == _next_tags_line ? _next_tags_date+1 : 1)) - _next_tags_line=HISTNO - (( offset = _next_tags_date*rows*columns )) -fi - -(( now=EPOCHSECONDS )) -strftime -s year '%Y' $now -strftime -s month '%m' $now -(( offset = future*offset + year*12 + month + ((future == 1) ? rows*columns-2 : -1) )) -for ((;rows;rows--)); do - disp=() mlabels="" - for ((col=1;col<=columns;col++)); do - (( start = offset + col - rows * columns )) - strftime -r -s monstart '%Y%m' $(( start/12 ))$(( 1 + start % 12 )) - strftime -s skip '%w' $(( monstart-86400 )) - starts[col]=$monstart - skips[col]=$skip - disp+=( $days ' ' ) - - mfmt='%B' - strftime -s mlabel '%m' $monstart - [[ $mlabel = 01 ]] && mfmt+=' %Y' - strftime -s mlabel "$mfmt" $monstart - - mlabels+="${(r.(col == columns) ? 28 : 32.):-${(l.(26-$#mlabel)/2.)}$mlabel}" - done - (( spacing = COLUMNS - 32 * columns + 2 )) - disp[-1]="${(l.spacing.)}" - (( spacing < 2 )) && spacer=0 disp[-1]=() - expl[1+expl[(i)-J]]=dates-$rows - compadd -x "$mlabels" "$expl[@]" -d disp -E $(( $#disp )) - - for ((line=0;line<6;line++)); do - for ((col=1;col<=columns;col++)); do - if (( skips[col] && !line )); then - disp=(); disp[skips[col]]='' - compadd -x "$mlabels" "$expl[@]" -d disp -E $skips[col] - (( skip=skips[col] )) - else - skip=0 - fi - disp=() cand=() - (( extra = (col == columns) ? spacer : 1 )) - (( preclude = 0 )) - for ((d=1;d<=7-skip;d++)); do - (( day = d+7*line+skip-skips[col] )) - (( daysecs = starts[col] + 86400 * (day - 1) )) - strftime -s realday '%d' $daysecs - if (( realday != day )); then - (( extra+=8-d )) - break - fi - (( mult = -future * (now - daysecs) + (future == 1 ? 86400 : 0) )) - case $format in - s) (( match = mult )) ;; - m) (( match = mult / 60 )) ;; - h) (( match = mult / 3600 )) ;; - d) (( match = mult / 86400 )) ;; - w) (( match = mult / 604800 )) ;; - M) (( match = mult / 2592000 )) ;; - *) strftime -s match - $format $daysecs ;; - esac - disp+=( "${(l.2.)day}" ) - if (( future < 0 && now < daysecs )); then - (( extra++ )) - elif (( future > 0 && (now - daysecs) > 86400 )); then - (( preclude++ )) - else - (( (now - daysecs) < 86400 && (now - daysecs) > 0 )) && - compstate[insert]=menu:$(( compstate[nmatches] + $#disp )) - cand+=( "$match" ) - fi - done - if (( preclude )); then - compadd -x "$mlabels" "$expl[@]" -E $preclude -d disp - shift preclude disp - fi - compadd -x "$mlabels" -U -i "$IPREFIX" -I "$ISUFFIX" "$expl[@]" "$@" -d disp -E $extra -a cand - done - done -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dbus b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dbus deleted file mode 100644 index 37b5458d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dbus +++ /dev/null @@ -1,112 +0,0 @@ -#compdef dbus-send dbus-monitor dbus-launch - -local curcontext="$curcontext" state line expl find end ret=1 -typeset -A opt_args -local -a suf introspect interfaces - -case $service in - dbus-send) - _arguments -A "--*" -C \ - '(--session)--system' '(--system)--session' \ - '--address=-:bus address:->addresses' \ - '--dest=-:connection:->connections' \ - '--print-reply=-::format:(literal)' \ - '--reply-timeout=-:timeout (ms)' \ - '--type=-:type:(method_call signal)' \ - '(* -)--help' \ - ':object path:->objectpaths' \ - ':message name:->methods' \ - ':content:->contents' && ret=0 - ;; - dbus-monitor) - _arguments -A "--*" -C \ - '*:watch expression:->expressions' \ - - '(bus)' \ - --system --session \ - '--address=-:bus address:->addresses' \ - - '(format)' \ - --monitor --profile --pcap --binary && ret=0 - ;; - dbus-launch) - _arguments -C \ - --version"[print the version of dbus-launch]" \ - --help"[print the help info of dbus-launch]" \ - --sh-syntax"[emit bourne-shell compatible code to set up environment variables]" \ - --csh-syntax"[emit csh compatible code to set up environment variables]" \ - --auto-syntax"[choose --csh-syntax or --sh-syntax based on the SHELL environment variable]" \ - --binary-syntax"[use a nul-terminated syntax with the environment data]" \ - --close-stderr"[close stderr stream before starting the d-bus daemon]" \ - --exit-with-session"[create a persistent \"babysitter\" process]" \ - --exit-with-x11"[create a persistent \"babysitter\" process that will connect to the x server]" \ - --autolaunch="[scan for a previously-started session and reuse the values found there]:machine id:->machine-id" \ - --config-file="[pass --config-file=FILENAME to the bus daemon]" && ret=0 - ;; -esac - -case $state in - addresses) - compset -P '*;' - if compset -P 1 '*='; then - _files && ret=0 - else - _message -e addresses address - fi - ;; - connections) - _wanted connections expl connection compadd ${=${(M)PREFIX:#*.*}:+-M 'r:|.=* r:|=*'} ${$(_call_program connections dbus-send ${opt_args[(I)--system]} --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListActivatableNames 2>/dev/null):#(array|\[|\])} ${$(_call_program connections dbus-send ${opt_args[(I)--system]} --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames 2>/dev/null):#(array|\[|\])} && ret=0 - ;; - objectpaths) - if [[ -prefix / ]]; then - compset -P ${PREFIX%%[^/]#} - _wanted objectpaths expl 'object path' compadd -qS/ ${${${(M)${(f)"$(_call_program objectpaths dbus-send --print-reply ${(M)words:#(--dest=|--system|--address=)*} ${${IPREFIX%/}:-/} org.freedesktop.DBus.Introspectable.Introspect 2>/dev/null)"}:#*node name=[^/]##\"*}#*\"}%\"*} && ret=0 - else - _wanted objectpaths expl 'object path' compadd -S '/' -r '-=' '' && ret=0 - fi - ;; - methods) - introspect=( ${(M)${(f)"$(_call_program methods dbus-send --print-reply ${(M)words:#(--dest=|--system|--address=|/)*} org.freedesktop.DBus.Introspectable.Introspect 2>/dev/null)"}:#*name=*} ) - interfaces=( ${${${(M)introspect:#*interface name=*}#*\"}%\"*} ) - _wanted interfaces expl interface compadd -qS. -M 'r:|.=* r:|=*' -a interfaces && ret=0 - if [[ $compstate[nmatches] != $#interfaces ]] && compset -P '*.'; then - find="*interface name=?${IPREFIX%.}??" - end=${interfaces[(i)${IPREFIX%.}]} - _wanted methods expl method compadd ${${${(M)${${introspect[${introspect[(i)$find]}+1,(in.end+1.)*interface name=*]}:#*interface name=*}:#*${${opt_args[--type]%_*}:-method} name=*}#*\"}%\"*} && ret=0 - fi - ;; - contents) - compset -S ':*' || suf=( -S : ) - while compset -P '(array|dict|variant):'; do - : - done - if compset -P '*:'; then - _message -e value 'value' - else - _alternative -O suf \ - 'containers:container:(array dict variant)' \ - 'types:type:(string double byte boolean objpath '${(j. .):-{,u}int{16,32,64}}\) && ret=0 - fi - ;; - expressions) - _values -w -s , 'expression' \ - 'type:message type:(signal method_call method_return error)' \ - 'sender:bus or name' \ - 'interface:interface' \ - 'member:member' \ - 'path:path' \ - 'path_namespace:path' \ - 'destination:unique name' \ - arg{0..9}:value \ - 'arg0namespace:namespace' \ - 'eavesdrop:eavesdropping:(true false)' && ret=0 - ;; - machine-id) - { local machine_id="$(</var/lib/dbus/machine-id)" } 2>/dev/null - if [[ -n "$machine_id" ]]; then - _wanted machine-ids expl machine-id compadd $machine_id && ret=0 - else - _message "No /var/lib/dbus/machine-id found" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot deleted file mode 100644 index 2a6f5d80..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dchroot - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '(-p --path)'{-p,--path}'[print path to selected chroot]' \ - '--config[dump configuration of selected chroots]' \ - '(-d --preserve-environment)'{-d,--preserve-environment}'[preserve user environment]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - chroot) - _wanted -C $context chroots expl 'chroot' \ - compadd ${(os:,:)${${${"$(_call_program chroots dchroot -l )"#*: }// /}//[[\]]/,}} - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot-dsa b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot-dsa deleted file mode 100644 index e8e981b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dchroot-dsa +++ /dev/null @@ -1,27 +0,0 @@ -#compdef dchroot-dsa - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '(-p --listpaths)'{-p,--listpaths}'[print paths to available chroots]' \ - '--config[dump configuration of selected chroots]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - chroot) - _wanted -C $context chroots expl 'chroot' \ - compadd ${(os:,:)${${${"$(_call_program chroots dchroot -l )"#*: }// /}//[[\]]/,}} - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dconf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dconf deleted file mode 100644 index bfb314c7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dconf +++ /dev/null @@ -1,71 +0,0 @@ -#compdef dconf - -local curcontext="$curcontext" state line cmds ret=1 -local cmd=$words[1] - -cmds=( - 'help:display help information' - 'read:read the value of a key' - 'list:list the contents of a directory' - 'write:change the value of a key' - 'reset:reset the value of a key or directory' - 'compile:compile a binary database from keyfiles' - 'update:update the system databases' - 'watch:watch a path for changes' - 'dump:dump an entire subpath to stdout' - 'load:populate a subpath from stdin' -) - -if (( CURRENT == 2 )); then - _describe -t commands command cmds - return -fi - -curcontext="${curcontext%:*}-$words[2]:" -shift words -(( CURRENT-- )) - -case $words[1] in - dump|list|load) state=dirs ;; - watch) state=keys ;; - read) - _arguments -A "-*" '-d[read default values]' '1:key:->keys' && ret=0 - ;; - write) - _arguments '1:key:->keys' '2:value' && ret=0 - ;; - reset) - _arguments -A "-*" '-f[reset entire directory]' '1:key:->keys' && ret=0 - [[ $+opt_args[-f] = 1 && state = keys ]] && state=dirs - ;; - compile) - _arguments '1:file:_files' '2:path:_directories' && ret=0 - ;; - help) - _describe -t commands command cmds && ret=0 - ;; - *) _default && ret=0 ;; -esac - -case $state in - keys) - compset -P '*/' - dirs=( ${${${(f)"$(_call_program keys dconf _complete \'\' "${IPREFIX:-/}")"}#$IPREFIX}%% #} ) - _tags keys - while _tags; do - if _requested keys; then - _description keys expl keu - compadd "$expl[@]" -qS ' ' ${dirs:#*/} && ret=0 - compadd "$expl[@]" -S '' ${(M)dirs:#*/} && ret=0 - fi - (( ret )) || break - done - ;; - dirs) - compset -P '*/' - _wanted keys expl directory compadd -S '' - \ - ${${(f)"$(_call_program keys dconf _complete / "${IPREFIX:-/}")"}#$IPREFIX} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcop deleted file mode 100644 index a0329e11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcop +++ /dev/null @@ -1,119 +0,0 @@ -#compdef dcop dcopstart dcopfind dcopref dcopclient dcopobject - -local curcontext="$curcontext" desc vals arg base max=0 ret=1 -local app obj fun -local -a state line expl - -case $service in - dcop(client|object)) - state=( dcopref ) - max=2 - ;; - dcopref) max=3 ;; - dcopstart) - if (( CURRENT > 2 )); then - _urls && return - fi - ;; - dcopfind) - local cmd=$words[1] - _arguments -C \ - '-a[print application id instead of DCOPRef]' \ - '-l[if object not found, run dcopstart and retry]' \ - '*::args:->args' && ret=0 - unset state - words=( $cmd $words ) - (( CURRENT++ )) - ;; -esac - -if (( max && CURRENT > max )); then - _message 'no more arguments' - return 1 -fi - -if [[ -z "$state" ]]; then - state=(application object function) - [[ $words[2] = DCOPRef* && CURRENT -ne 2 ]] - base=$? - state=( ${state[CURRENT-base]:-arg} ) - - [[ $state[1] = application && $service = dcop(|find) ]] && state+=( dcopref ) -fi - -while (( $#state )); do - unset app obj fun - - if [[ $words[2] = (#b)DCOPRef*\(([^,]#)((#e)|,)([^\\\)]#)(*) ]]; then - if [[ -n $match[2] ]]; then - app=$match[1] - if [[ -n $match[4] ]]; then - obj=$match[3] - [[ -n $words[3] && CURRENT -gt 3 ]] && fun=$words[3] - fi - fi - else - case $CURRENT in - <5->) fun="$words[4]" ;& - 4) obj="$words[3]" ;& - 3) app="$words[2]" ;; - esac - fi - vals=( ${(f)"$(_call_program dcop-$state[1]s ${(M)words[1]##*/}dcop $app $obj 2>/dev/null)"} ) - - case "$state[1]" in - application|object) - [[ -n ${(M)vals:#*\(default\)} ]] && vals+=( default ) - _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${vals% \(default\)} && ret=0 - ;; - - function) - [[ $service = dcopfind ]] && vals=( ${(M)vals:#bool *} ) - _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${${vals#* }%\(*} && ret=0 - ;; - - arg) - arg=${${${(M)vals:#*$fun\(*}#*\(}%\)*}, - arg=${${(s.,.)arg}[CURRENT-base-3]} - if [[ -n $arg ]]; then - if [[ $arg = (Q(|C)String|*int )* || $arg != *\ * ]]; then - # don't mention the argument's type - desc="${arg##* }" - else - desc="${arg##* } (${arg% *})" - fi - case $arg in - bool*) _wanted argument expl "$desc" compadd true false && return ;; - (#i)*(file|path|dir)*) _wanted argument expl "$desc" _files && return ;; - (#i)*url*) _wanted argument expl "$desc" _urls && return ;; - *) _message -e argument "$desc" ;; - esac - else - _message 'no more arguments' - fi - ;; - - dcopref) - if ! compset -P '*\('; then - _wanted dcoprefs expl 'dcop ref' compadd -S '' 'DCOPRef(' && ret=0 - elif compset -P '*,'; then - if compset -S '(|\\)\)*'; then - set -- -S '' "$@" - else - set -- "$@" -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " - fi - state+=( object ) - else - if compset -S ',*'; then - set -- "$@" -S '' - else - set -- "$@" -S , - fi - state+=( application ) - fi - ;; - esac - shift state -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcut b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcut deleted file mode 100644 index fb1ac7e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dcut +++ /dev/null @@ -1,160 +0,0 @@ -#compdef dcut - -# TODO: dcut supports two ways to be called: -# * dcut HOST COMMAND ... -# * dcut COMMAND ... -# So ideally, if the first argument is completed, both commands and hosts should -# be offered. If host is given, the second argument should be completed as -# command and if not, it should be completed as command specific option. - -function _dput_hosts() { - local expl - - if ( [[ ${+_dput_cfhosts} -eq 0 ]] || _cache_invalid dputhosts ) && ! _retrieve_cache dputhosts; then - local cmd - if _pick_variant dputng="usage: dput" dput -H ; then - cmd=(dirt hosts) - else - cmd=(dput -H) - fi - _dput_cfhosts=(${${(M)${(f)"$($cmd)"}:#*=>*}/ =>*/}) - _store_cache dputhosts _dput_cfhosts - fi - - _wanted dputhosts expl 'target host' compadd -a _dput_cfhosts -} - -function _dcut_commands() { - local -a cmds - if _pick_variant dcutng="usage: dcut" dcut -v ; then - cmds=( - dm:'manage Debian Maintainer permissions' - break-the-archive:'break the archive' - reschedule:'reschedule a deferred upload' - cancel:'cancel a deferred upload' - rm:'remove a file from the upload queue' - upload:'upload a command file' - ) - else - cmds=( - rm:'remove a file from the upload queue' - cancel:'cancel a deferred upload' - reschedule:'reschedule a deferred upload' - ) - fi - _describe -t commands command cmds -} - -function _dcut() { - local -a all_opts dcut_opts dcut_ng_opts - local state line context - local -A opt_args - local curcontext="${curcontext}" - - all_opts=( - '(-c --config)'{-c,--config=}'[specify config file]:config file:_files' - '(-h --help)'{-h,--help}'[show help message and exit]' - '(-m --maintainer)'{-m,--maintainer=}'[use maintainer for upload field and GPG key selection]:maintainer address' - '(-k --keyid)'{-k,--keyid}'[use key id for signing]:keyid' - '(-O --output)'{-O,--output=}'[write command file to file instead of uploading]:output file:_files' - '(-P --passive)'{-P,--passive}'[use passive FTP for uploads]' - '(-v --version)'{-v,--version}'[show version information]' - ': :_dcut_commands' - ) - - dcut_opts=( - '(-d --debug)'{-d,--debug}'[debug mode]' - '(-s --simulate)'{-s,--simulate}'[simulate an upload only]' - '(-i --input)'{-i,--input=}'[create commands file to remove every file listed in the changes file]:changes file:_files -g"*.changes(-.)"' - '(-U --upload)'{-U,--upload=}'[upload commands file]:commands file:_files' - '(--host 1)'{--host=}'[upload to host if it is named like a command]:host:_dput_hosts' - '*:: :->dcut_command_arguments' - ) - - dcut_ng_opts=( - '*'{-d,--debug}'[enable debug messages, repeat twice to increase the verbosity level]' - '*'{-s,--simulate}'[simulate an upload only, repeat twice to increase level of simulation]' - '*:: :->dcut_ng_command_arguments' - ) - - if _pick_variant dcutng="usage: dcut" dcut -v ; then - _arguments -C \ - "$all_opts[@]" "$dcut_ng_opts[@]" && return - else - _arguments -C \ - "$all_opts[@]" "$dcut_opts[@]" && return - fi - - case $state in - (dcut_command_arguments) - # arguments to dcut commands - local -a opts - case ${line[1]} in - (cancel) - # dcut cancel arguments - opts=( - '1::changes file:_files -g"*.changes(-.)"' - ) - ;; - (reschedule) - # dcut reschedule arguments - opts=( - '1::changes file:_files -g"*.changes(-.)"' - '2::new delayed queue:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - ) - ;; - (rm) - # dcut rm arguments - opts=( - '--searchdirs[search in all directories for the given files]' - '1::file to be deleted:_files' - ) - ;; - esac - _arguments "$opts[@]" && return - ;; - (dcut_ng_command_arguments) - # arguments to dput-ng's dcut commands - local -a opts - case ${line[1]} in - (cancel) - # dcut cancel arguments - opts=( - '(-f --filename)'{-f,--filename}'[.changes file name of the upload to be cancelled]:file name:_files -g"*.changes(-.)"' - ) - ;; - (dm) - # dcut dm arguments - opts=( - '--uid[full name and address or GPG fingerprint of the Debian Maintainer]' - '*--allow[grant permission to upload a source package]:source package' - '*--deny[remove permission to upload a source package]:source package' - ) - ;; - (reschedule) - # dcut reschedule arguments - opts=( - '(-f --filename)'{-f,--filename}'[.changes file name to be rescheduled]:file name:_files -g"*.changes(-.)"' - '(-d --days)'{-d,--days}'[new delayed queue]:days:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - ) - ;; - (rm) - # dcut rm arguments - opts=( - '*'{-f,--filename}'[file name to be removed]:file name:_files' - '--searchdirs[search in all directories for the given files]' - ) - ;; - (upload) - # dcut upload arguments - opts=( - '-f --filename)'{-f,--filename}'[file to be uploaded]:file name:_files' - ) - ;; - esac - _arguments "$opts[@]" && return - ;; - esac -} - -_dcut "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dd deleted file mode 100644 index 10682bc8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dd +++ /dev/null @@ -1,101 +0,0 @@ -#compdef dd gdd - -local -a vals conv flags units -local variant - -units=( w:word b:block k:1024 m g t ) -_pick_variant -r variant gnu=GNU $OSTYPE --version - -vals=( - '(ibs obs)bs[block size]: :_numbers -u bytes "block size" $units' - 'cbs[conversion buffer size]: :_numbers -u bytes "buffer size" $units' - 'conv[specify conversions to apply]: :_values -s , conversion $conv' - 'count[number of input blocks to copy]:blocks' - '(bs)ibs[input block size]: :_numbers -u bytes -d 512 "block size" $units' - 'if[specify input file]:input file:_tilde_files' - '(bs)obs[output block size]: :_numbers -u bytes -d 512 "block size" $units' - 'of[specify output file]:output file:_tilde_files' - 'seek[output blocks initially skipped]:blocks' - 'skip[input blocks initially skipped]:blocks' -) -conv=( - '(ascii asciib oldascii ebcdic ebcdicb oldebcdic ibm ibmb oldibm)'{ascii,ebcdic,ibm} - '(unblock)block' '(block)unblock' - '(ucase)lcase' '(lcase)ucase' - swab sync noerror notrunc -) - -case $variant in - ^gnu) - vals+=( - 'files[specify number of input files to copy and concatenate]:number of files' - ) - ;| - (gnu|darwin|dragonfly|(free|net)bsd*) - conv+=( sparse ) - ;| - gnu|netbsd*) - vals+=( - '*iflag[specify read flags]:flag:_sequence compadd - $flags' - '*oflag[specify write flags]:flag:_sequence compadd - $flags' - ) - flags=( append direct directory dsync sync nonblock noctty nofollow ) - ;| - darwin*|dragonfly*|(free|net)bsd*) - vals+=( - 'oseek[output blocks initially skipped]:blocks' - ) - conv+=( - '(ascii oldascii ebcdic oldebcdic oldibm)'old{ascii,ebcdic,ibm} - ) - ;| - (darwin|dragonfly|freebsd|netbsd|solaris)*) - vals+=( - 'iseek[input blocks initially skipped]:blocks' - ) - ;| - (open|free)bsd*) - vals+=( - 'status[specify level of information to print to stderr]:level:(none noxfer)' - ) - conv+=( osync ) - ;| - - freebsd*) - vals+=( - 'fillchar[specify padding character]:character' - 'speed[limit copying speed]: :_numbers -u bytes/second speed $units' - ) - conv+=( - '(pareven parnone parodd parset)'{pareven,parnone,parodd,parset} - ) - ;; - gnu) - vals+=( - 'status[specify level of information to print to stderr]:level:(none noxfer progress)' - ) - flags+=( fullblock noatime nocache count_bytes skip_bytes seek_bytes ) - conv+=( excl nocreat fdatasync fsync ) - units=( c:1 w:2 b:512 kB:1000 K:1024 MB:1000^2 M:1024\^2 GB G TB T PB P EB E ZB Z YB Y ) - ;; - netbsd*) - vals+=( - 'msgfmt[specify format for information summary]:format:(quiet posix human)' - 'progress[enable progress display]:enable:(1)' - ) - flags+=( - wronly rdwr creat trunc excl shlock exlock cloexec nosigpipe rsync alt_io async - ) - ;; - solaris*) - vals+=( - 'files[specify number of input files to copy and concatenate]:number of files' - 'oseek[output blocks initially skipped (via seek, not NUL-padding)]:blocks' - ) - conv+=( - '(ascii asciib ebcdic ebcdicb ibmb)'{ascii,ebcdic,ibm}b - ) - ;; -esac - -_values -w 'option' $vals diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_architectures b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_architectures deleted file mode 100644 index 1429112a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_architectures +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local extra expl -zparseopts -E -D -a extra a: - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 \ - kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel powerpc powerpcspe ppc64 \ - ppc64el s390x sh4 sparc sparc64 x32 ${=extra[2]} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_codenames b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_codenames deleted file mode 100644 index feea8b49..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_codenames +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local distro codenames ret=1 - -for distro in /usr/share/distro-info/*.csv(N); do - # TODO: magic number "6" - codenames=( ${(f)"$(<$distro tail -n6 | cut -d, -f3,1)"} ) - codenames=( ${codenames/(#b)(*),(*)/${match[2]}:${match[1]}} ) - _describe -V -t codename-${distro:t:r} "${distro:t:r} codenames" codenames && ret=0 -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_files deleted file mode 100644 index e84871cc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_files +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -# This function is used to generate file names for Debian package files (.deb -# and friends). In addition to the options supported by _files, it understands -# the following: -# -# -c Include .changes and .dsc files - -local -a _expl _fopts _c _exts=( deb ddeb udeb ) - -zparseopts -a _fopts -D -E - \ - c=_c 1 2 F+: J+: M+: n P+: q r+: R+: S+: V+: W+: X+: - -(( $#_c )) && _exts+=( changes dsc ) - -_description files _expl 'Debian package' -_files "${(@)_fopts}" "${(@)_expl}" -g "*.(${(j<|>)_exts})(-.)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_packages b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_packages deleted file mode 100644 index bdc0cb00..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deb_packages +++ /dev/null @@ -1,138 +0,0 @@ -#autoload - -# Usage: _deb_packages expl... (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) - -_deb_packages_update_avail () { - if ( [[ ${+_deb_packages_cache_avail} -eq 0 ]] || - _cache_invalid DEBS_avail ) && ! _retrieve_cache DEBS_avail; - then - _deb_packages_cache_avail=( - ${(f)"$(apt-cache --generate pkgnames 2>/dev/null)"} - ) - - _store_cache DEBS_avail _deb_packages_cache_avail - fi - cachevar=_deb_packages_cache_avail -} - -_deb_packages_update_installed () { - if ( [[ ${+_deb_packages_cache_installed} -eq 0 ]] || - _cache_invalid DEBS_installed ) && ! _retrieve_cache DEBS_installed; - then - _deb_packages_cache_installed=() - dpkg --get-selections | while read package state ; do - [[ $state = (install|hold) ]] && _deb_packages_cache_installed+=$package - done - _store_cache DEBS_installed _deb_packages_cache_installed - fi - cachevar=_deb_packages_cache_installed -} - -_deb_packages_update_held () { - if ( [[ ${+_deb_packages_cache_held} -eq 0 ]] || - _cache_invalid DEBS_held ) && ! _retrieve_cache DEBS_held; - then - _deb_packages_cache_held=() - dpkg --get-selections | while read package state ; do - [[ $state = hold ]] && _deb_packages_cache_held+=$package - done - _store_cache DEBS_held _deb_packages_cache_held - fi - cachevar=_deb_packages_cache_held -} - -_deb_packages_update_deinstalled () { - if ( [[ ${+_deb_packages_cache_deinstalled} -eq 0 ]] || - _cache_invalid DEBS_deinstalled ) && ! _retrieve_cache DEBS_deinstalled; - then - _deb_packages_cache_deinstalled=() - dpkg --get-selections | while read package state ; do - [[ $state = deinstall ]] && _deb_packages_cache_deinstalled+=$package - done - _store_cache DEBS_deinstalled _deb_packages_cache_deinstalled - fi - cachevar=_deb_packages_cache_deinstalled -} - -_deb_packages_update_xinstalled () { - if ( [[ ${+_deb_packages_cache_xinstalled} -eq 0 ]] || - _cache_invalid DEBS_xinstalled ) && ! _retrieve_cache DEBS_xinstalled; - then - _deb_packages_cache_xinstalled=() - dpkg --get-selections | while read package state ; do - _deb_packages_cache_xinstalled+=$package - done - _store_cache DEBS_xinstalled _deb_packages_cache_xinstalled - fi - cachevar=_deb_packages_cache_xinstalled -} - -_deb_packages_update_uninstalled () { - _deb_packages_update_avail - _deb_packages_update_installed - if (( ! $+_deb_packages_cache_uninstalled )); then - # Package lists too large to efficiently diff with zsh expansion - _deb_packages_cache_uninstalled=( - $( print -l $_deb_packages_cache_avail | - fgrep -xvf =(print -l $_deb_packages_cache_installed) ) - ) - fi - cachevar=_deb_packages_cache_uninstalled -} - -_deb_packages_update_source () { - if ( [[ ${+_deb_packages_cache_source} -eq 0 ]] || - _cache_invalid DEBS_source ) && ! _retrieve_cache DEBS_source; - then - _deb_packages_cache_source=( - # requires apt >= 1.1.8 - # if dpkg --compare-versions "$(dpkg-query --show --showformat '${Version}\n' apt)" '>=' '1.1.8' ; then ...; else ...; fi - ${(f)"$(/usr/lib/apt/apt-helper cat-file $(apt-get indextargets --format '$(FILENAME)' 'Created-By: Sources' 2>/dev/null) 2>/dev/null | sed -ne 's/^Package: //p' | uniq)"} - ) - - _store_cache DEBS_source _deb_packages_cache_source - fi - cachevar=_deb_packages_cache_source -} - -_deb_packages () { - local command="$argv[$#]" expl cachevar pkgset update_policy - - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _debs_caching_policy - fi - - [[ "$command" = (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) ]] || { - _message "unknown command: $command" - return - } - - zstyle -s ":completion:${curcontext}:" packageset pkgset - - [[ "$pkgset" = (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) ]] || { - pkgset="$command" - } - - [[ "$pkgset" = "available" ]] && pkgset="avail" - - expl=("${(@)argv[1,-2]}") - - _deb_packages_update_$pkgset - - typeset -gH $cachevar - - _tags packages && compadd "$expl[@]" -a - $cachevar -} - -_debs_caching_policy () { - # rebuild if cache is more than a week old - local -a oldp - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - [[ /var/cache/apt/pkgcache.bin -nt "$1" || - /var/lib/dpkg/available -nt "$1" ]] -} - -_deb_packages "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debbugs_bugnumber b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debbugs_bugnumber deleted file mode 100644 index 85e0c60d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debbugs_bugnumber +++ /dev/null @@ -1,11 +0,0 @@ -#autoload -# TODO: use _describe with some basic metadata (e.g., bug title/package/version) - -local expl - -[[ $PREFIX$SUFFIX == [0-9]# ]] || return 1 - -# The cache directory moved; try both locations. -# ### TODO: Use 'bts listcachedbugs'? -local -a cachedirs=( ~/.devscripts_cache/bts ~/.cache/devscripts/bts ) -_wanted -x bugnum expl 'bug number' compadd -- $^cachedirs/<->.(html|mbox)(N:t:r) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debchange b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debchange deleted file mode 100644 index 84f364d4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debchange +++ /dev/null @@ -1,78 +0,0 @@ -#compdef debchange dch=debchange - -# Based on dch from devscripts-2.15.3 - -# At most one of -a/-e/-i/-r/-v may be specified. -# TODO: specifying --release in the exclusion lists makes -i/-a/-v/-e exclude --release-heuristic, although they shouldn't. -# TODO: --news' optional argument isn't completed -# TODO: support --noconf/--no-conf - -# List taken from error message: "Only one of ... is allowed; try dch --help for more info" -local -a mutex=( - -a --append - -i --increment - -e --edit - -r --release - -v --newversion - -d --fromdirname - -n --nmu - --bin-nmu - -q --qa - -R --rebuild - -s --security - --team - --bpo - -l --local -) - -_arguments -S -s -A "-*" \ - '(-h --help)'{-h,--help}'[display help information]' \ - --version'' \ - "($mutex)"{-i,--increment}'[increment release or version number]' \ - "($mutex)"{-a,--append}'[add new changelog entry]' \ - "($mutex)"{-v+,--newversion=}'[specify new version number]:version:' \ - "($mutex)"{-e,--edit}'[edit changelog in an editor]' \ - "($mutex)"{-r,--release}'[finalize changelog for a release]' \ - '(--no-force-save-on-release)'--force-save-on-release'[with --release, require changelog to be saved when previewed (default)]' \ - '(--force-save-on-release)'--no-force-save-on-release'[with --release, do not require changelog to be saved when previewed]' \ - --create'[create a new debian/changelog (or NEWS) file]' \ - --empty'[with --create, do not add an "Initial release." entry]' \ - --package='[specify package name to use in new changelog or new entry]:package name:_deb_packages avail' \ - "($mutex)"{-n,--nmu}'[increment release number for a non-maintainer upload (NMU)]' \ - "($mutex)"--bin-nmu'[increment release number for a binary non-maintainer upload (binNMU)]' \ - "($mutex)"{-q,--qa}'[increment release number for a quality assurance upload (QA)]' \ - "($mutex)"{-R,--rebuild}'[increment release number for a no-change upload (a rebuild)]' \ - "($mutex)"{-s,--security}'[increment release number for a security team upload]' \ - "($mutex)"--team'[increment release number for a team upload]' \ - "($mutex)"{-U,--upstream}'[increment release number for a parent-distro upload (on a derived distro)]' \ - "($mutex)"--bpo'[increment release number for a ${suite}-backports upload]' \ - "($mutex)"{-l+,--local=}'[add suffix to version number (for local builds)]:version number suffix' \ - '(-b --force-bad-version)'{-b,--force-bad-version}'[force version number to be less than the current one]' \ - --allow-lower-version='[allow version number lower than current one if the former matches ARG]:pattern to match version numbers that may be lower than current one' \ - --force-distribution'[accept unrecognized distribution name]' \ - '(--no-auto-nmu)'--auto-nmu'[automatically detect NMUs (default)]' \ - '(--auto-nmu)'--no-auto-nmu'[do not automatically detect NMUs]' \ - "($mutex)"{-d,--fromdirname}'[derive upstream version number from basename of current working directory]' \ - --closes='[specify bug numbers to close]:bug numbers to close (comma-separated)' \ - --query'[with --closes, contact the BTS (default)]' \ - --noquery'[with --closes, contact the BTS (default)]' \ - '(--no-preserve --nopreserve --preserve -p)'{-p,--preserve}'[preserve source tree directory name]' \ - '(--preserve -p)'{--no-preserve,--nopreserve}'[do not preserve source tree directory name (default)]' \ - --vendor='[override distributor ID (default\: see dpkg-vendor)]:vendor name' \ - '(-D --distribution)'{-D+,--distribution=}'[specify distribution name for entry (default: value of top entry)]:distribution name' \ - '(-u --urgency)'{-u+,--urgency=}'[specify urgency for entry (default\: value of top entry)]:urgency' \ - '(-c --changelog)'{-c+,--changelog=}'[specify changelog filename]:changelog filename:_files' \ - --news'[edit NEWS instead of changelog (optional argument\: filename)]' \ - '(--nomultimaint)'--multimaint'[indicate multiple authors (default)]' \ - '(--multimaint)'--nomultimaint'[do not indicate multiple authors]' \ - '(--nomultimaint-merge)'--multimaint-merge'[merge changes by a the same author]' \ - '(--multimaint-merge)'--nomultimaint-merge'[do not merge changes by a the same author (default)]' \ - '(-m --maintmaint)'{-m,--maintmaint}'[do not modify maintainer details]' \ - '(-M --controlmaint)'{-M,--controlmaint}'[use maintainer details from debian/control]' \ - '(--nomainttrailer)'{-t,--mainttrailer}'[do not modify changelog trailer line unless required]' \ - '(--mainttrailer -t)'--nomainttrailer'[modify changelog trailer line normally]' \ - --check-dirname-level':when to check the parent directory'\''s name:((0\:never 1\:"if different from current working directory" 2\:always))' \ - --check-dirname-regex'[regex to match base directory'\''s name]:anchored perl regular expression (default\: '\''PACKAGE(-.+)?'\'')' \ - --release-heuristic'[control "package has been released" heuristic]:heuristic:((changelog\:"via changelog \"UNRELEASED\" distribution (default)" log\:"ia upload logfile in parent directory"))' \ - ':text:' - # multimaint diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debcheckout b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debcheckout deleted file mode 100644 index 3e6d5df7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debcheckout +++ /dev/null @@ -1,21 +0,0 @@ -#compdef debcheckout - -# The helpstrings use the term 'checkout' (rather than 'clone' or 'branch' or -# 'fork') to be consistent with the name of the tool. - -local -a args=( -'(-a --auth)'{-a,--auth}'[rewrite anonymous checkout URLs to authenticated ones]' -'(-p --print -d --details)'{-d,--details}'[print detailed information; do not checkout]' -'(-h --help)'{-h,--help}'[show usage message]' -'(-p --print -d --details)'{-p,--print}'[print summary information; do not checkout]' -'(-P --package)'{-P+,--package=}'[specify package name explicitly (when target is a URL)]:package name:_deb_packages available' -'(-t --type)'{-t+,--type=}'[specify repository type]:repository type:((arch\:Arch bzr\:Bazaar cvs\:CVS darcs\:Darcs git\:Git hg\:Mercurial svn\:Subversion))' -'(-u --username)'{-u+,--username=}'[specify username (implies --auth)]:username: ' -\*{-f+,--file=}'[extract named file]:remote filename' -'--source=:policy for .orig.tar.gz file:(never auto download-only always)' -'--git-track=[specify branches to track]:branches (separated by spaces) or '\'\*\' -'1:package or URL: _alternative "_deb_packages available" "_urls"' -'2::destination directory:_path_files -/' -) - -_arguments -s -S : "$args[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debdiff b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debdiff deleted file mode 100644 index 9e8ffd59..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debdiff +++ /dev/null @@ -1,22 +0,0 @@ -#compdef debdiff - -_arguments \ - '(-d --dirs)'{-d,--dirs}'[do not ignore directories]' \ - '--nodirs[ignore directories]' \ - '(-m --move)'{-m,--move}':movement:_files' \ - '--move-regex:movement:_files' \ - '--nocontrol[do not compare control files]' \ - '--control[compare control files]' \ - '--wp[pass -p to wdiff]' \ - '--wl[pass -l to wdiff]' \ - '--wt[pass -t to wdiff]' \ - '--show-moved[show movements between packages]' \ - '--noshow-moved[do not show movements between packages]' \ - '--renamed:package:_deb_packages avail' \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any config files]' \ - '(-h --help)'{-h,--help}'[show help]' \ - '(-v --version)'{-v,--version}'[show version]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet if no differences]' \ - '--from: :_deb_files' \ - '--to: :_deb_files' \ - '*:file to compare:_deb_files -c' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debfoster b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debfoster deleted file mode 100644 index 08a1078e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debfoster +++ /dev/null @@ -1,68 +0,0 @@ -#compdef debfoster - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - '(-v --verbose)'{-v,--verbose}'[be a loudmouth]' \ - '(-V --version)'{-V,--versuib}'[show version and copyright information]' \ - '(-h --help)'{-h,--help}'[show help information]' \ - '(-q --quiet)'{-q,--quiet}'[silently build keeper file]' \ - '(-f --force)'{-f,--force}'[force system to conform to keeper file]' \ - '(-m --mark-only)'{-m,--mark-only}'[do not install or delete packages]' \ - '(-u --upgrade)'{-u,--upgrade}'[try to upgrade dependencies]' \ - '(-c --config)'{-c,--config}'[specify configuration file]:file:_files' \ - '(-k --keeperfile)'{-k,--keeperfile}'[specify keeper file]:file:_files' \ - '(-n --no-keeperfile)'{-n,--no-keeperfile}'[do not read keeper file]' \ - '(-i --ignore-default-rules)'{-i,--ignore-default-rules}'[ignore default rules]' \ - '(-a --show-keepers)'{-a,--show-keepers}'[show packages on keeper list]' \ - '(-s --show-orphans)'{-s,--show-orphans}'[show orphaned packages]' \ - '(-d --show-depends)'{-d,--show-depends}'[show all depends of specified package]:package:_deb_packages avail' \ - '(-e --show-dependents)'{-e,--show-dependents}'[show dependents of specified package]:package:_deb_packages avail' \ - '(-p --show-providers)'{-p,--show-providers}'[show packages providing specified package]:package:_deb_packages avail' \ - '(-r --show-related)'{-r,--show-related}'[show packages brought in by specified package]:package:_deb_packages avail' \ - '(-t --use-tasks)'{-t,--use-tasks}'[make tasks visible as packages]' \ - '*-'{-option,o}'[override any configuration option]:option string:->option' \ - '*:package markings: _alternative "installed:installed packages:_deb_packages -S- installed" "uninstalled:uninstalled packages:_deb_packages uninstalled"' \ - && ret=0 - -if [[ -n "$state" ]]; then - if compset -P 1 '*='; then - case "$IPREFIX" in - *(#i)(install|remove|info)cmd*) - _wanted values expl 'command string' _cmdstring && ret=0 - ;; - *(#i)(keeperfile|dpkg(status|available))*) - _wanted values expl 'metadata file' _files && ret=0 - ;; - *(#i)maxpriority*) - _wanted values expl 'package priority' \ - compadd required important standard optional extra ANY && ret=0 - ;; - *(#i)(use(hold|essential|predepends|recommends|suggests|tasks)|negativekeepers|verbose|force|quiet)*) - _wanted values expl 'truth value' \ - compadd yes no && ret=0 - ;; - *(#i)(no|)keepsections*) - _wanted values expl 'section' compadd \ - x11 web utils text tex sound shells science \ - otherosfs oldlibs news net misc math mail libs \ - interpreters hamradio graphics games electronics \ - editors doc devel comm base admin && ret=0 - ;; - *(#i)guessdepends*) - _wanted values expl 'name extension' \ - compadd doc dev && ret=0 - ;; - esac - else - _wanted values expl 'configure file option' \ - compadd -M 'm:{a-z}={A-Z}' -S '=' - \ - InstallCmd RemoveCmd InfoCmd KeeperFile DpkgStatus \ - DpkgAvailable MaxPriority UseHold UseEssential \ - UsePreDepends UseRecommends UseSuggests UseTasks \ - KeepSections NokeepSections GuessDepends NegativeKeepers \ - Verbose Force Quiet && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deborphan b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deborphan deleted file mode 100644 index 9f6df6f6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_deborphan +++ /dev/null @@ -1,42 +0,0 @@ -#compdef deborphan - -local keep=(/var/lib/deborphan/keep(N) /dev/null) -_arguments : \ - {--help,-h}'[help]' \ - {--status-file,-f}'[specify status file]:file:_files' \ - {--version,-v}'[version]' \ - {--show-deps,-d}'[show dependencies for packages that have them]' \ - {--show-priority,-P}'[show priority of packages found]' \ - {--show-section,-s}'[show the sections the packages are in]' \ - --no-show-section'[do not show sections]' \ - {--show-size,-z}'[show installed size of packages found]' \ - {--all-packages,-a}'[compare all packages, not just libs]' \ - {--exclude,-e}'[work as if specified packages were not installed]:packages:_sequence _deb_packages - avail' \ - {--force-hold,-H}'[ignore hold flags]' \ - {--nice-mode,-n}'[disable checks for "recommends" and "suggests"]' \ - --ignore-recommends'[disable checks for recommends]' \ - --ignore-suggests'[disable checks for "suggests"]' \ - {--priority,-p}'[select only packages with at least specified priority]:priority:' \ - --find-config'[find "orphaned" configuration files]' \ - --libdevel'[search in libdevel in addition to libs and oldlibs]' \ - {--add-keep,-A}'[packages to never report]:*:package:_deb_packages installed' \ - {--keep-file,-k}'[file to get/store info about kept packages]:file:_files' \ - {--list-keep,-L}'[list the packages that are never reported]' \ - {--del-keep,-R}"[packages to remove from the 'keep' file]:*:package:compadd -X 'kept package' $(< $keep[1])" \ - {--zero-keep,-Z}'[remove all packages from the "keep" file]' \ - --guess-common'[try to report common packages]' \ - --guess-data'[try to report data packages]' \ - --guess-debug'[try to report debugging libraries]' \ - --guess-dev'[try to report development packages]' \ - --guess-doc'[try to report documentation packages]' \ - --guess-dummy'[try to report dummy packages]' \ - --guess-kernel'[try to report kernel modules]' \ - --guess-interpreters'[try to report interpreter libraries]' \ - --guess-mono'[try to report mono libraries]' \ - --guess-perl'[try to report perl libraries]' \ - --guess-pike'[try to report pike libraries]' \ - --guess-python'[try to report python libraries]' \ - --guess-ruby'[try to report ruby libraries]' \ - --guess-section'[try to report libraries in wrong sections]' \ - --guess-all'[try all of the above]' \ - --guess-only'[use --guess options only]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsign b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsign deleted file mode 100644 index b358186b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsign +++ /dev/null @@ -1,15 +0,0 @@ -#compdef debsign - -_arguments \ - '-r[copy .changes file from remote host]: :_user_at_host' \ - '-p[program with which to sign]:program name' \ - '-m[maintainer]:maintainer name and email address' \ - '-e[maintainer]:maintainer name and email address' \ - '-k[key ID to use for signing]:keyid' \ - '-s[argument style for signing program]:gpg or pgp' \ - '-S[look for source-only .changes file]' \ - '-a[architecture]:Debian architecture' \ - '-t[GNU system type]:GNU system type' \ - '--help[display help information]' \ - '--version[display version information]' \ - '*:changes or dsc file:_files -g "*.(changes|dsc)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsnap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsnap deleted file mode 100644 index b9393cac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debsnap +++ /dev/null @@ -1,77 +0,0 @@ -#compdef debsnap - -# Based on debsnap from devscripts-2.20.3 - -local context state state_descr line ret=1 -local -a expl -typeset -A opt_args - -_arguments \ - '(-d --destdir)'{-d+,--destdir=}'[set download directory]:download directory:_files -/' \ - '(-f --force)'{-f,--force}'[allow non-empty destination directory]' \ - '(-v --verbose)'{-v,--verbose}'[print configuration and report progress]' \ - --list"[list versions; don't download]" \ - --binary'[operate on binary packages (default: source packages)]' \ - '*'{-a+,--architecture=}'[specify architectures to download]:architecture to download:_deb_architectures' \ - --first='[download all versions newer than this]:version number (lower bound):->versions' \ - --last='[download all versions older than this]:version number (upper bound):->versions' \ - '(-)'{-h,--help}'[show usage information]' \ - '(-)'--version'[show version number and license]' \ - '1: :->package' \ - '2:version number to download:->versions' \ - && ret=0 - -# -a implies --binary -if (( ${+opt_args[-a]} || ${+opt_args[--architecture]} )); then - opt_args[--binary]='' -fi - -case $state in - (package) - if (( ${+opt_args[--binary]} )); then - _description binary-packages expl 'binary package to download' - _deb_packages "${expl[@]}" avail && ret=0 - else - _description source-packages expl 'source package to download' - _deb_packages "${expl[@]}" source && ret=0 - fi - ;; - (versions) - local package=${(Q)line[1]} - if [[ -n $package ]]; then - # Compute the arguments to --list - local -a args - () { - local i j - - # repeatable flags with arguments, where the values can't contain colons - for i in ${(k)opt_args[(I)(-a|--architecture)]}; do - for j in ${(@s.:.)opt_args[$i]}; do - [[ -n $j ]] || continue - args+=( $i $j ) - done - done - - # non-repeatable flags with arguments, where the values may contain colons - for i in ${(k)opt_args[(I)(--first|--last)]}; do - # Avoid spurious "No matches" results in 'debsnap --first 42.1 --last 42.<TAB>'. - [[ $context != option${i}-* ]] || continue - - # Un-escape colons (epoch separators in the version number) - args+=( $i ${(Q)opt_args[$i]} ) - done - - # flags without arguments - args+=( ${(k)opt_args[(I)(--binary)]} ) - } - - local -a versions=( ${(Oaf)"$(_call_program versions debsnap --list ${args} -- ${line[1]})"} ) - _description -V versions expl ${state_descr} - compadd "$@" "${expl[@]}" -a versions && ret=0 - else - _message -- $state_descr && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debuild b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debuild deleted file mode 100644 index 5b1d0ea3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_debuild +++ /dev/null @@ -1,20 +0,0 @@ -#compdef debuild - -local ign noc - -(( $#words > 2 )) && ign='!' -(( CURRENT != 2 )) && noc='!' - -_arguments \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)--version[display version and copyright information]" \ - ${noc}{--no-conf,--noconf}"[don't read devscripts config files]" \ - {-r-,--rootcmd=}'[specify command used to become root if debuild not setuid root]: : _command_names -e' \ - '(--preserve-env)*'{-e-,--preserve-envvar=}'[preserve environment variable]:environment variable:_parameters -g "*export*"' \ - '(-e --preserve-envvar)--preserve-env[preserve all environment vars (except PATH)]' \ - '*'{-e-,--set-envvar=}'[preserve environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '--prepend-path=[prepend to the sanitised PATH]: :_dir_list' \ - '(-D)-d[skip checking of build dependencies]' \ - '(-d)-D[force checking of build dependencies]' \ - '--check-dirname-level[specify how much to check directory names]:level [1]:((0\:never 1\:only\ if\ program\ changes\ directory 2\:always))' \ - '--check-dirname-regex[specify what constitutes a matching directory name]:perl regex [PACKAGE(-.*)?]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_default b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_default deleted file mode 100644 index 81744cde..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_default +++ /dev/null @@ -1,27 +0,0 @@ -#compdef -default- - -local ctl - -if { zstyle -s ":completion:${curcontext}:" use-compctl ctl || - zmodload -e zsh/compctl } && [[ "$ctl" != (no|false|0|off) ]]; then - local opt - - opt=() - [[ "$ctl" = *first* ]] && opt=(-T) - [[ "$ctl" = *default* ]] && opt=("$opt[@]" -D) - compcall "$opt[@]" || return 0 -fi - -_files "$@" && return 0 - -# magicequalsubst allows arguments like <any-old-stuff>=~/foo to do -# file name expansion after the =. In that case, it's natural to -# allow completion to handle file names after any equals sign. - -if [[ -o magicequalsubst && "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value "$@" -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_defaults b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_defaults deleted file mode 100644 index b05222af..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_defaults +++ /dev/null @@ -1,72 +0,0 @@ -#compdef defaults - -_defaults_domains(){ - if [[ "`eval echo $PREFIX`" != [/~]* ]]; then - local str="$(_call_program domains defaults domains 2>/dev/null)" - local expl - local -a list - list=( ${(s/, /)str} -g -globalDomain ) - _wanted domains expl 'defaults database domain' \ - compadd -M 'r:|.=* r:|=*' -a list - else - _files -g '*.plist(-.:r)' - fi -} - -_defaults_keys(){ - local ks - ks=(${${${${(M)${(f)"$(defaults read "$words[2]" 2>/dev/null)"}:# [^ ]*=*}# }%% = *}:Q}) - local expl - _wanted keys expl 'key' compadd "$ks[@]" -} - -_defaults(){ - local -a _1st_arguments - _1st_arguments=( read read-type write rename delete domains find help ) - - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -A '-*' \ - '(-currentHost)-host:host:_hosts' \ - '(-host)-currentHost' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "command" _1st_arguments - return - fi - - case $words[1] in - read|read-type|delete) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:key:_defaults_keys" - ;; - write) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:key:_defaults_keys" \ - "*::value" - ;; - rename) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:old key:_defaults_keys" \ - "3:new key:_defaults_keys" - ;; - domains|help) - ;; - find) - _message word - ;; - *) - _message "unknown defaults command: $words[1]" - ;; - esac -} - -_defaults "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_delimiters b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_delimiters deleted file mode 100644 index d98d5a76..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_delimiters +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -# Simple function to offer delimiters for modifiers and qualifiers. -# Single argument is tag to use. - -local expl -local -a list - -zstyle -a ":completion:${curcontext}:$1" delimiters list || - list=(: + / - %) - -if (( ${#list} )); then - _wanted delimiters expl delimiter compadd -S '' -a list -else - _message delimiter -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_describe b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_describe deleted file mode 100644 index c12eb0ea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_describe +++ /dev/null @@ -1,140 +0,0 @@ -#autoload - -# ### Note: Calling this function twice during one completion operation, such -# ### that in each call there exists a pair of items having the same description -# ### as each other, and the two calls specify the same $_type, currently leads -# ### to garbled output; see workers/35229 (May 2015) and its thread (which also -# ### discusses at least two other issues, that may or may not be related to -# ### this one). - -# This can be used to add options or values with descriptions as matches. - -local _opt _expl _tmpm _tmpd _mlen _noprefix -local _type=values _descr _ret=1 _showd _nm _hide _args _grp _sep -local csl="$compstate[list]" csl2 -local _oargv _argv _new _strs _mats _opts _i _try=0 -local OPTIND OPTARG -local -a _jvx12 - -# Get the option. - -while getopts "oOt:12JVx" _opt; do - case $_opt in - (o) - _type=options;; - (O) - _type=options - _noprefix=1 - ;; - (t) - _type="$OPTARG" - ;; - (1|2|J|V|x) - _jvx12+=(-$_opt) - esac -done -shift $(( OPTIND - 1 )) -unset _opt - -[[ "$_type$_noprefix" = options && ! -prefix [-+]* ]] && \ - zstyle -T ":completion:${curcontext}:options" prefix-needed && - return 1 - -# Do the tests. `showd' is set if the descriptions should be shown. - -zstyle -T ":completion:${curcontext}:$_type" verbose && _showd=yes - -zstyle -s ":completion:${curcontext}:$_type" list-separator _sep || _sep=-- -zstyle -s ":completion:${curcontext}:$_type" max-matches-width _mlen || - _mlen=$((COLUMNS/2)) - -_descr="$1" -shift - -if [[ -n "$_showd" ]] && - zstyle -T ":completion:${curcontext}:$_type" list-grouped; then - _oargv=( "$@" ) - _grp=(-g) -else - _grp=() -fi - -[[ "$_type" = options ]] && - zstyle -t ":completion:${curcontext}:options" prefix-hidden && - _hide="${(M)PREFIX##(--|[-+])}" - -_tags "$_type" -while _tags; do - while _next_label $_jvx12 "$_type" _expl "$_descr"; do - - if (( $#_grp )); then - - set -- "$_oargv[@]" - _argv=( "$_oargv[@]" ) - _i=1 - (( _try++ )) - while (( $# )); do - - _strs="_a_$_try$_i" - if [[ "$1" = \(*\) ]]; then - eval local "_a_$_try$_i;_a_$_try$_i"'='$1 - else - eval local "_a_$_try$_i;_a_$_try$_i"'=( "${'$1'[@]}" )' - fi - _argv[_i]="_a_$_try$_i" - shift - (( _i++ )) - - if [[ "$1" = (|-*) ]]; then - _mats= - else - _mats="_a_$_try$_i" - if [[ "$1" = \(*\) ]]; then - eval local "_a_$_try$_i;_a_$_try$_i"'='$1 - else - eval local "_a_$_try$_i;_a_$_try$_i"'=( "${'$1'[@]}" )' - fi - _argv[_i]="_a_$_try$_i" - shift - (( _i++ )) - fi - - _opts=( "${(@)argv[1,(i)--]:#--}" ) - shift "$#_opts" - (( _i += $#_opts )) - if [[ $1 == -- ]]; then - shift - (( _i++ )) - fi - - if [[ -n $_mats ]]; then - compadd "$_opts[@]" -2 -o nosort "${_expl[@]}" -D $_strs -O $_mats - \ - "${(@)${(@M)${(@P)_mats}##([^:\\]|\\?)##}//\\(#b)(?)/$match[1]}" - else - compadd "$_opts[@]" -2 -o nosort "${_expl[@]}" -D $_strs - \ - "${(@)${(@M)${(@P)_strs}##([^:\\]|\\?)##}//\\(#b)(?)/$match[1]}" - fi - done - set - "$_argv[@]" - fi - - if [[ -n "$_showd" ]]; then - compdescribe -I "$_hide" "$_mlen" "$_sep " _expl "$_grp[@]" "$@" - else - compdescribe -i "$_hide" "$_mlen" "$@" - fi - - compstate[list]="$csl" - - while compdescribe -g csl2 _args _tmpm _tmpd; do - - compstate[list]="$csl $csl2" - [[ -n "$csl2" ]] && compstate[list]="${compstate[list]:s/rows//}" - - compadd "$_args[@]" -d _tmpd -a _tmpm && _ret=0 - done - done - (( _ret )) || return 0 -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_description b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_description deleted file mode 100644 index 368b41ee..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_description +++ /dev/null @@ -1,123 +0,0 @@ -#autoload - -local name nopt xopt format gname hidden hide match opts tag -local -a ign gropt sort -local -a match mbegin mend - -opts=() - -xopt=(-X) -nopt=() -zparseopts -K -D -a nopt 1 2 V=gropt J=ign x=xopt - -3="${${3##[[:blank:]]#}%%[[:blank:]]#}" -[[ -n "$3" ]] && _lastdescr=( "$_lastdescr[@]" "$3" ) - -zstyle -s ":completion:${curcontext}:$1" group-name gname && - [[ -z "$gname" ]] && gname="$1" - -_setup "$1" "${gname:--default-}" - -name="$2" - -zstyle -s ":completion:${curcontext}:$1" format format || - zstyle -s ":completion:${curcontext}:descriptions" format format - -if zstyle -s ":completion:${curcontext}:$1" hidden hidden && - [[ "$hidden" = (all|yes|true|1|on) ]]; then - [[ "$hidden" = all ]] && format='' - opts=(-n) -fi -zstyle -s ":completion:${curcontext}:$1" matcher match && - opts=($opts -M "$match") -[[ -n "$_matcher" ]] && opts=($opts -M "$_matcher") - -# Use sort style, but ignore `menu' value to help _expand. -# Also don't override explicit use of -V. -if [[ -z "$gropt" ]]; then - if zstyle -a ":completion:${curcontext}:$1" sort sort || - zstyle -a ":completion:${curcontext}:" sort sort - then - if [[ -z "${(@)sort:#(match|numeric|reverse)}" ]]; then - gropt=( -o ${(j.,.)sort} ) - elif [[ "$sort" != (yes|true|1|on|menu) ]]; then - gropt=( -o nosort ) - fi - fi -else - gropt=( -o nosort ) -fi - -if [[ -z "$_comp_no_ignore" ]]; then - zstyle -a ":completion:${curcontext}:$1" ignored-patterns _comp_ignore || - _comp_ignore=() - - if zstyle -s ":completion:${curcontext}:$1" ignore-line hidden; then - local -a qwords - qwords=( ${words//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} ) - case "$hidden" in - true|yes|on|1) _comp_ignore+=( $qwords );; - current) _comp_ignore+=( $qwords[CURRENT] );; - current-shown) - [[ "$compstate[old_list]" = *shown* ]] && - _comp_ignore+=( $qwords[CURRENT] );; - other) _comp_ignore+=( $qwords[1,CURRENT-1] - $qwords[CURRENT+1,-1] );; - esac - fi - - # Ensure the ignore option is first so we can override it - # for fake-always. - (( $#_comp_ignore )) && opts=( -F _comp_ignore $opts ) -else - _comp_ignore=() -fi - -tag="$1" - -shift 2 -if [[ -z "$1" && $# -eq 1 ]]; then - format= -elif [[ -n "$format" ]]; then - if [[ -z $2 ]]; then - argv+=( h:${1%%( ##\((#b)([^\)]#[^0-9-][^\)]#)(#B)\)|)( ##\((#b)([0-9-]##)(#B)\)|)( ##\[(#b)([^\]]##)(#B)\]|)} ) - [[ -n $match[1] ]] && argv+=( m:$match[1] ) - [[ -n $match[2] ]] && argv+=( r:$match[2] ) - [[ -n $match[3] ]] && argv+=( o:$match[3] ) - fi - - zformat -F format "$format" "d:$1" "${(@)argv[2,-1]}" -fi - -if [[ -n "$gname" ]]; then - if [[ -n "$format" ]]; then - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J "$gname" "$xopt" "$format" - else - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J "$gname" - fi -else - if [[ -n "$format" ]]; then - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J -default- "$xopt" "$format" - else - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J -default- - fi -fi - -if ! (( ${funcstack[2,-1][(I)_description]} )); then - local fakestyle descr - for fakestyle in fake fake-always; do - zstyle -a ":completion:${curcontext}:$tag" $fakestyle match || - continue - - descr=( "${(@M)match:#*[^\\]:*}" ) - - opts=("${(@P)name}") - if [[ $fakestyle = fake-always && $opts[1,2] = "-F _comp_ignore" ]]; then - shift 2 opts - fi - compadd "${(@)opts}" - "${(@)${(@)match:#*[^\\]:*}:s/\\:/:/}" - (( $#descr )) && _describe -t "$tag" '' descr "${(@)opts}" - done -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_devtodo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_devtodo deleted file mode 100644 index 8363495c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_devtodo +++ /dev/null @@ -1,176 +0,0 @@ -#compdef devtodo todo tda tde tdd tdr -## completion for devtodo 0.1.20 <http://swapoff.org/DevTodo> - -typeset -a arg_generic arg_add todo_opts \ - priorities -typeset -A arg_pair arg_desc -typeset -i i -typeset expl arg - -for ((i=2; i <= $#words; i++)) { - if [[ $words[$i] == '--database' ]]; then - todo_opts+=(--database ${~words[$((++i))]}) 2>/dev/null - elif [[ $words[$i] == '--sort' ]]; then - todo_opts+=(--sort ${words[$((++i))]}) - fi -} - -priorities=(verylow low medium high veryhigh) - -arg_add=( - '-p[priority]:priority:_todo_priority' - '-g[parent item]:parent:_todo_index' -) - -arg_generic=( - '--remove[remove items]:index:_todo_index' - '--database[database file]:file:_files' - '--global-database[global database file]:file:_files' - '*--colour[item color]:color:_todo_color' - '--force-colour[force use of colors]' - '--mono[no colors]' - '--help[display help]' - '--version[display version]' - '--title[todo title]:string: ' - '--date-format[strftime time format]:time string:_date_formats' - '*--format[define format]:format:_todo_format' - '*--use-format[output format]:format:_todo_format' - '--sort[sort database]:sort expression:_todo_sort' - '--paranoid[paranoid permissions etc]' - '--database-loaders[loader order]:database loader: ' - '--backup[backup database]:count: ' - '--timeout[display timeout]:seconds: ' - '--purge[purge completed items]:days: ' - '*'{'--filter','-f'}'[show items matching filter]:filter:_todo_filter' - '*::item:_todo_index' -) - -arg_pair=( - 'verbose' 'v' - 'add' 'a' - 'graft' 'g' - 'link' 'l' - 'reparent' 'R' - 'priority' 'p' - 'edit' 'e' - 'done' 'd' - 'not-done' 'D' - 'global' 'G' - 'TODO' 'T' - 'all' 'A' -) - -arg_desc=( - 'verbose' '[be verbose]' - 'add' '[add item]:item' - 'graft' '[parent item]:parent:_todo_index' - 'link' '[link file into database]:database:_files' - 'reparent' '[change item parent]:index:_todo_index' - 'priority' '[item priority]:priority:_todo_priority' - 'edit' '[edit item]:index:_todo_index' - 'done' '[mark as done]:index:_todo_index' - 'not-done' '[mark as undone]:index:_todo_index -u' - 'global' '[use global database]' - 'TODO' '[generate TODO file]' - 'all' '[show all items]' -) - -for arg in ${(k)arg_pair}; { - arg_generic+='(--'$arg')-'${arg_pair[$arg]}${arg_desc[$arg]} - arg_generic+='(-'${arg_pair[$arg]}')--'${arg}${arg_desc[$arg]} -} - -function _todo_index () { - typeset number text i entry last_entry depth last_depth=0 IFS=$'\n' - typeset -a index desc - for i in $*; do - case $i in - -u) todo_opts+=(--filter done) - esac - done - for entry in $(todo $todo_opts -f +children --format display='%1>%i%n:%t\n'); do - number=${entry%%:*} - depth=$(( ${#number} - ${#${number// }} )) - ((depth)) && entry=${(j:.:)${${(s:.:):-a.${last_entry%%:*}}[2,depth+1]}}.$entry - text=${entry#*:} - number=${${entry%%:*}// } - entry=$number:$text - index+=$entry - last_depth=$depth - last_entry=$entry - done - _describe -t items index index -} - -function _todo_color () { - if compset -P '*='; then - _wanted color expl 'color' \ - compadd black red green yellow blue magenta cyan white default - else - _wanted item expl 'item' \ - compadd -S '=' $priorities title info - fi -} - -function _todo_filter { - typeset prefix - if [[ ${#${words[$CURRENT]}} -gt 0 ]] { - prefix=${${words[$CURRENT]}[1]} - _wanted expression expl 'filter expression' \ - compadd -p $prefix -- all children done $priorities - } else { - # XXX the '-' makes problems - _wanted expression expl 'filter expression' \ - compadd -S '' -- - + = all children done $priorities - } -} - -function _todo_format () { - typeset prefix - if [[ -prefix *= ]] { - _message 'format string' - } else { - _wanted expression expl 'format name' \ - compadd -S '=' display generated verbose-display verbose-generated - } -} - -function _todo_priority () { - _wanted priority expl 'priority' \ - compadd default $priorities -} - -function _todo_sort () { - typeset -a keys used_prefixes - typeset key prefix='' - keys=(created completed text priority duration none done) - for key in $keys; { - [[ $key != none ]] && keys+="-$key" - } - - if [[ -prefix *, ]] { - prefix=${words[$CURRENT]%,*}, - used_prefixes=(${(s:,:)prefix}) - for key in $used_prefixes; { - [[ $key == -* ]] && used_prefixes+=$key[2,-1] || used_prefixes+=-$key - } - } - _wanted expression expl 'sort expression' \ - compadd -F used_prefixes -qS , -P "$prefix" $keys -} - -case $service in - tda) - _arguments -s $arg_add - ;; - tde|tdd) - _arguments -s ':index:_todo_index' - ;; - tdr) - zstyle ':completion:*:tdr:*' ignore-line yes - _arguments -s '*:index:_todo_index' - ;; - *todo) - _arguments -s $arg_generic - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_df b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_df deleted file mode 100644 index 21abff10..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_df +++ /dev/null @@ -1,111 +0,0 @@ -#compdef df gdf - -local curcontext="$curcontext" state state_descr line args spec ret=1 -local -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '--total[produce a grand total]' - '(-T --print-type)'{-T,--print-type}'[print file system type]' - '(-a --all)'{-a,--all}'[include dummy file systems]' - '--direct[show statistics for a file instead of mount point]' - '(-l --local)'{-l,--local}'[limit listing to local file systems]' - '*'{-t+,--type=}'[limit listing to file systems of specified type]:file system type:_file_systems' - '*'{-x+,--exclude-type=}'[exclude file systems of specified type]:file system type:_file_systems' - '(--no-sync)--sync[invoke sync before getting usage info]' - '(--sync)--no-sync[do not invoke sync before getting usage info (default)]' - '--output=-[output all or specified fields]::field:_values -s , "field" - source fstype itotal iused iavail ipcent size used avail pcent file target' - '!-v' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - '*: :_umountable' - - '(format)' - {-B+,--block-size=}'[specify block size]:size (bytes)' - '-k[like --block-size=1K]' - {-P,--portability}'[use the POSIX output format]' - {-h,--human-readable}'[print sizes in human readable format]' - {-H,--si}'[human readable format, but use powers of 1000 not 1024]' - {-i,--inodes}'[list inode information instead of block usage]' - ) -elif [[ "$OSTYPE" == (darwin|dragonfly|freebsd|netbsd*|openbsd)* ]]; then - args=( - '(-b -g -H -h -k -m --si)-h[human-readable output (base 2)]' - '(-b -g -H -h -k -m --si)-k[use 1024-byte blocks]' - '(-G -i -P)-P[POSIX compliant output]' - '(-G -i -P)-i[include inode usage statistics (default)]' - '-l[only display locally-mounted file systems]' - '-n[use previously obtained statistics]' - '*: :_umountable' - ) - spec='[only display file systems of specified types]:file system type:->fslist' - case "$OSTYPE" in - (darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-a[show all mount points]' - '(-b -g -H -h -k -m --si)-g[use 1024^3-byte blocks]' - '(-b -g -H -h -k -m --si)-m[use 1024*1024-byte blocks]' - ) - ;| - (darwin*|dragonfly*|freebsd*) - args+=( - '(-b -g -H -h -k -m --si)-b[use 512-byte blocks (default)]' - '(-b -g -H -h -k -m --si)-H[human-readable output (base 10)]' - ) - ;| - (darwin*|freebsd*) - args+=( - '-c[display a grand total]' - ) - ;| - (darwin*) - args+=( - "-T+$spec" - "!-t+$spec" # obsolete - ) - ;; - (dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - "-t+$spec" - ) - ;| - (dragonfly*|freebsd*) - args+=( - '-T[include file system type]' - ) - ;| - (freebsd*) - args+=( - '--libxo[generate output via libxo]' - '(-b -g -H -h -k -m --si)--si[human-readable output (base 10)]' - '-,[separate thousands]' - ) - ;; - (netbsd*) - args+=( - '(-G -i -P)-G[display all fields in statvfs]' - ) - ;; - esac -else - # POSIX - args=( - '-k[use 1024-byte blocks]' - '-P[POSIX compliant output]' - '-t[include total allocated-space figures in the output]' - '*: :_umountable' - ) -fi - -_arguments -C -s -S : $args && ret=0 - -case "$state" in - (fslist) - [[ ! -prefix *, ]] && ! compset -P 'no' && - _describe -t list-prefixes 'prefix to list' \ - '( no:exclude\ file\ system\ types\ in\ the\ list )' && ret=0 - _sequence -s , _file_systems && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhclient b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhclient deleted file mode 100644 index e22586b0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhclient +++ /dev/null @@ -1,79 +0,0 @@ -#compdef dhclient dhclient3 - -local args - -case $OSTYPE in - (open|free)bsd*) - args+=( - '-c+[specify configuration file]:file:_files' - ) - ;| - freebsd*) - args+=( - '(-d)-b[immediately move to the background]' - '-l+[specify leases file]:file:_files' - '-p+[specify PID file]:file:_files' - '-u[reject leases with unknown options]' - '-q[quiet]' - ) - ;; - openbsd*) - args+=( - '-i+[ignore values provided by leases for specified options]:options' - "-n[don't configure any interfaces]" - '-r[release the current lease back to the server it came from]' - '-v[verbose log messages]' - ) - ;; - *) # ISC implementation, used on Linux and NetBSD - args=( - '!(-6 -S -T -P -D -N)-4' - '(-4 -s)-6[use the DHCPv6 protocol]' - '-1[only try once to get a lease]' - '(-d)-nw[daemonize immediately rather than wait for IP acquisition]' - "-m[don't require responding ethernet address of dhcp server to match expectation]" - '-v[verbose log messages]' - "-w[don't exit if there are no interfaces found to configure]" - "-n[don't configure any interfaces]" - '-e[specify env vars to pass to child processes]:env var key value pairs' - '-q[quiet]' - '(-x)-r[release the current lease]' - '(-r)-x[stop the running DHCP client without releaseing current lease]' - '-p[specify port to transmit to / listen on]:port:_ports' - '(-6)-s[transmit to specific target instead of broadcast]:server:_hosts' - '-g[force giaddr field]:relay:_hosts' - '-i[use a DUID with DHCPv4 clients]' - '-I[use the standard DDNS scheme]' - '(-)--version[display version number]' - '(-4)-S[use Information-request to get only stateless configuration]' - '(-4)*-T[ask for IPv6 temporary addresses]' - '(-4)-P[enable IPv6 prefix delegation]' - '-D[specify DUID selection method]:DUID:((LL\:link-layer LLT\:link-layer\ plus\ timestamp))' - '(-4)-N[restore normal address query for IPv6]' - '-lf[lease file]:lease file:_files' - '(--no-pid)-pf[pid file]:pid file:_files' - '(-pf)--no-pid[disable writing pid files]' - '-cf[config file]:config file:_files' - '-df[duid file]:duid file:_files' - '-sf[script file]:script file:_files' - '-4o6[DHCPv4 over DHCPv6 protocol]:port' - "-nc[don't drop capabilities]" - '-B[set the BOOTP broadcast flag in request packets]' - '-C[specify dhcp-client-identifier option]:option' - '(-F)-H[specify host-name option]:host name:_hosts' - '(-H)-F[specify fully qualified hostname option]:host name:_hosts' - '-V[specify vendor-class-identifier option]:option' - '--request-options[specify list of options the client is to request from the server]:options' - '--timeout[specify time after which dhclient will decide that no DHCP servers can be contacted]:timeout' - '--dad-wait-time[specify maximum time to wait for duplicate address detection]:time (seconds)' - '--prefix-len-hint[specify length to request when requesting new prefixes]:length' - '--decline-wait-time[specify time an IPv4 client should wait between declining an address and issuing a discover]:time (seconds)' - '--address-prefix-len[specify length of the prefix for IPv6 addresses]:length' - '(-)'{--help,-h}'[display usage information]' - ) - ;; -esac - -_arguments -s -S -A "-*" $args \ - '(-b -nw)-d[remain as a foreground process]' \ - ':interface:_net_interfaces' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhcpinfo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhcpinfo deleted file mode 100644 index 1dac684a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dhcpinfo +++ /dev/null @@ -1,32 +0,0 @@ -#compdef dhcpinfo - -local -a mnemonics_v4 mnemonics_v6 - -mnemonics_v4=( - Subnet UTCoffst Router Timeserv IEN116ns DNSserv Logserv - Cookie Lprserv Impress Resource Hostname Bootsize Dumpfile - DNSdmain Swapserv Rootpath ExtendP IpFwdF NLrouteF PFilter - MaxIpSiz IpTTL PathTO PathTbl MTU SameMtuF Broadcst - MaskDscF MaskSupF RDiscvyF RSolictS StaticRt TrailerF - ArpTimeO EthEncap TcpTTL TcpKaInt TcpKaGbF NISdmain - NISservs NTPservs NetBNms NetBDsts NetBNdT NetBScop - XFontSrv XDispMgr LeaseTim Message T1Time T2Time NW_dmain - NWIPOpts NIS+dom NIS+serv TFTPsrvN OptBootF MblIPAgt - OptBootF MblIPAgt SMTPserv POP3serv NNTPserv WWWservs - Fingersv IRCservs STservs STDAservs UserClas SLP_DA SLP_SS - AgentOpt FQDN PXEarch BootFile BootPath BootSrvA BootSrvN - EchoVC LeaseNeg -) - -mnemonics_v6=( - ClientID ServerID Preference Unicast UserClass VendorClass - SIPNames SIPAddresses DNSAddresses DNSSearch NISServers - NIS+Servers NISDomain NIS+Domain SNTPServers InfoRefresh - BCMCDomain BCMCAddresses -) - -_arguments -A "-*" \ - '-c[]' \ - '-i[interface]:interface' \ - '-n[maximum number of lines]:limit' \ - ':DHCP parameter:_values "DHCP parameter" $mnemonics_v4' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict deleted file mode 100644 index 928728e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict +++ /dev/null @@ -1,44 +0,0 @@ -#compdef dict - -local strategy database state line curcontext="$curcontext" -typeset -A opt_args - -_arguments -C -S \ - '(--host -h)'{--host=,-h+}'[specify hostname of dict server]:dict server:_hosts' \ - '(--port -p)'{--port=,-p+}'[specify port for dict server]:service:_ports' \ - '(--database -d)'{--database=,-d+}'[database]:db name:->database' \ - '(--match -m)'{--match,-m}'[perform matching]' \ - '(--strategy -s)'{--strategy=,-s+}'[specify matching strategy]:strategy:->strategy' \ - '(--nocorrect -C)'{--nocorrect,-C}'[disable spelling correction]' \ - '(--config -c)'{--config=,-c+}'[specify config file]:config file:_files' \ - '(--dbs -D)'{--dbs,-D}'[list available databases]' \ - '(--strats -S)'{--strats,-S}'[list available search strategies]' \ - '(--serverhelp -H)'{--serverhelp,-H}'[query server for help info it provides]' \ - '(--info -i)'{--info=,-i+}'[get info on specified database]:db name:->database' \ - '(--serverinfo -I)'{--serverinfo,-I}'[display info about server]' \ - '(--noauth -a)'{--noauth,-a}'[disable authentication]' \ - '(--user -u)'{--user=,-u+}'[specify username for authentication]:user name:' \ - '(--key -k)'{--key=,-k+}'[specify key for authentication]:shared secret:' \ - '(-)'{--version,-V}'[display program version]' \ - '(-)'{--license,-L}'[display program license]' \ - '(-6)-4[force use of IPv4 addresses only]' \ - '(-4)-6[force use of IPv6 addresses only]' \ - '(-)--help[display usage info]' \ - '(--verbose -v)'{--verbose,-v}'[verbose output]' \ - '(--raw -r)'{--raw,-r}'[be very verbose]' \ - '(--pager -P)'{--pager=,-P+}'[specify pager]:program:_command_names -e' \ - '--pipesize=[specify buffer size for pipelining commands]:buffer size:' \ - '--client=[specify additional text to send to server]:client text' \ - '--debug=[set a debug flag]:debug flag:(verbose raw scan parse pipe serial time)' \ - ':word:_dict_words' && return - -case "$state" in - strategy) - strategy=( ${${${(f)"$(_call_program strategy dict -S 2>/dev/null)"}[2,-1]#?}/ ##/:} ) - _describe -t strategy strategy strategy && return - ;; - database) - database=( ${${${(f)"$(_call_program database dict --dbs 2>/dev/null)"}[2,-1]#?}/ ##/:} ) - _describe -t database database database && return - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict_words b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict_words deleted file mode 100644 index 4928a50f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dict_words +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -local begin end ret=1 -local -a args dict dicts dictwords expl - -if [[ $service = dict ]]; then - args=( ${(kv)opt_args[(I)-([hpdauk]|-(host|port|database|noauth|user|key))]} ) -fi - -if [[ -z $words[CURRENT] ]]; then - _message -e dict 'dictionary word' - return 1 -elif [[ -z $SUFFIX ]]; then - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s prefix $PREFIX 2>/dev/null)"}} ) -elif [[ -z $PREFIX ]]; then - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s suffix $SUFFIX 2>/dev/null)"}} ) -else - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s regexp $PREFIX.\*$SUFFIX 2>/dev/null)"}} ) -fi - -dictwords=( ${${dictwords#\"}%\"} ) -dicts=( ${${(M)dictwords:#*:}%:} ) - -if zstyle -t ":completion:${curcontext}:words" separate-sections; then - _tags words.$^dicts - while _tags; do - for dict in $dicts; do - if _requested words.$dict expl "word from $dict"; then - (( begin=${dictwords[(i)$dict:]} + 1 )) - end=${dictwords[(ib.begin.)*:]} - [[ $end = 1 ]] && end=$#dictwords - compadd "$expl[@]" "$@" -M 'm:{a-zA-Z}={A-Za-z} r:|=*' -a - \ - 'dictwords[begin,end]' && ret=0 - fi - done - (( ret )) || break - done - - return 1 -else - _wanted words expl word compadd -M 'm:{a-zA-Z}={A-Za-z} r:|=*' "$@" - \ - ${dictwords:#*:} -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff deleted file mode 100644 index d242b388..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff +++ /dev/null @@ -1,3 +0,0 @@ -#compdef diff gdiff - -_diff_options "$words[1]" ':original file:_files' ':new file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff3 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff3 deleted file mode 100644 index 8c59d701..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff3 +++ /dev/null @@ -1,46 +0,0 @@ -#compdef diff3 - -local -a args ed -local ign - -if _pick_variant gnu=GNU unix --version; then - ed=( - '(-m --merge -A --show-all)'{-e,--ed}'[output ed script for incorporating changes]' - '(-m --merge -A --show-all)'{-E,--show-overlap}'[like -e, but bracket conflicts]' - '(-m --merge -A --show-all)'{-3,--easy-only}'[like -e, but incorporate only nonoverlapping changes]' - '(-m --merge -A --show-all)'{-x,--overlap-only}'[like -e, but incorporate only overlapping changes]' - '(-m --merge -A --show-all)-X[like -x, but bracket conflicts]' - ) - (( $#words > 2 )) && ign='!' - args=( - '(-A --show-all ed)'{-A,--show-all}'[output all changes, bracketing conflicts]' - "(-m --merge)-i[append 'w' and 'q' commands to ed scripts]" - '(-m --merge -i ed)'{-m,--merge}'[output merged file instead of ed script]' - '(-a --text)'{-a,--text}'[treat all files as text]' - '--strip-trailing-cr[strip trailing carriage return on input]' - '(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up by prepending a tab]' - '--diff-program=[specify program to compare files]: : _command_names -e' - \*{-L+,--label=}'[use specified label instead of file name]:label' - "$ign(- :)--help[display usage information]" - "$ign(- :)"{-v,--version}'[display version information]' - ) -else - args=( -A "-*" ) - ed=( - '-e[output ed script for incorporating changes]' - '-E[like -e, but bracket conflicts]' - '-x[like -e, but incorporate only overlapping changes]' - '-X[like -x, but bracket conflicts]' - '-3[like -e, but incorporate only nonoverlapping changes]' - ) - if [[ $OSTYPE != solaris* ]]; then # likely the openbsd diff3 implementation - args+=( '-a[treat all files as text]' ) - fi -fi - -_arguments -s -S $args \ - '1: : _wanted files expl "first updated file (${${(As.:.)opt_args[-L]}[1]:-mine})" _files' \ - '2: : _wanted files expl "original file (${${(As.:.)opt_args[-L]}[2]:-old})" _files' \ - '3: : _wanted files expl "second updated file (${${(As.:.)opt_args[-L]}[3]:-their})" _files' \ - + '(ed)' $ed - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff_options b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff_options deleted file mode 100644 index dfa9889f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diff_options +++ /dev/null @@ -1,188 +0,0 @@ -#autoload - -local of ofwuc ouc oss ofwy ofwg ofwl cmd variant -local -a args - -cmd="$1" -shift - -_diff_palette() { - local context state line ret=1 - local -a suf - _values -s : attribute \ - "ad[added text]:attribute [32]:->attrs" \ - "de[deleted text]:attribute [31]:->attrs" \ - "hd[header]:attribute [1]:->attrs" \ - "ln[line numbers]:attribute [36]:->attrs" \ - "rs[rest - other text]:attribute [0]:->attrs" && ret=0 - if [[ -n $state ]]; then - compset -P '*;' - compset -S '[;=]*' || suf=( -S: -r ": ;\\\t\n\=" ) - _alternative -C context -O suf \ - 'attributes:attributes:((0:reset 1:bold 3:italics 4:underline 5:blink))' \ - 'colors:color:((30:default 31:red 32:green 33:yellow 34:blue 35:magenta 36:cyan 37:white))' && ret=0 - fi - return ret -} - -if _pick_variant -r variant -c $cmd gnu=GNU unix -v || [[ $OSTYPE = freebsd<12->.* ]]; then - # output formats - of="-y --side-by-side -n --rcs -e -f --ed -q --brief -c -C --context -u -U \ - --unified --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format --new-line-format \ - --unchanged-line-format -D --ifdef" - - # output formats w/o unified and context - ofwuc="-y --side-by-side -n --rcs -e -f --ed -q --brief --old-group-format \ - --new-group-format --changed-group-format --unchanged-group-format \ - --line-format --old-line-format --new-line-format --unchanged-line-format \ - -D --ifdef" - - # option specific to unified or context diff - ouc='-L --label -p --show-c-function -F --show-function-line' - - # option specific to side by side - oss='-W --width --left-column --suppress-common-lines' - - # output formats w/o side by side - ofwy="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format \ - --new-line-format --unchanged-line-format -D --ifdef" - - # output formats w/o group format - ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --line-format --old-line-format --new-line-format --unchanged-line-format - -D --ifdef" - - # output formats w/o line format - ofwl="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format" - - if [[ $variant = gnu ]]; then - (( $#words > 2 )) || args+=( - '(-v --version)'{-v,--version}'[display version information]' - '--help[display usage information]' - ) - args+=( - '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]' - '(-E --ignore-tab-expansion)'{-E,--ignore-tab-expansion}'[ignore changes due to tab expansion]' - '(-Z --ignore-trailing-space)'{-Z,--ignore-trailing-space}'[ignore white space at line end]' - "($ofwuc $oss -F --show-function-line)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' - "($ofwy $ouc)--left-column[output only left column of common lines]" - "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format" - "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format" - "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format" - '(--to-file)--from-file=[compare specified file to all operands]:from file:_files' \ - '(--from-file)--to-file=[compare all operands to specified file]:to file:_files' \ - '--color=-[use colors in output]::when [auto]:(never always auto)' - '--palette=[specify colors to use]:color:_diff_palette' - ) - else - args+=( '!--speed-large-files' ) - fi - - _arguments -s $args \ - '(-i --ignore-case)'{-i,--ignore-case}'[case insensitive]' \ - '--ignore-file-name-case[ignore case when comparing file names]' \ - '!(--ignore-file-name-case)--no-ignore-file-name-case' \ - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \ - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all white space]' \ - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore lines that are all blank]' \ - '(-I --ignore-matching-lines)'{-I+,--ignore-matching-lines=}'[ignore lines that match regex]:line exclusion regex:' \ - '--strip-trailing-cr[strip trailing carriage return on input]' \ - '(-a --text)'{-a,--text}'[treat all files as text]' \ - "($of $oss)"{-C+,--context=-}'[output a context diff]:number of lines of copied context' \ - "($of $oss)-c[output a context diff]" \ - "($of $oss)"{-U+,--unified=-}'[output a unified diff]:number of lines of unified context' \ - "($of $oss)-u[output a unified diff]" \ - "($ofwuc $oss)*"{-L+,--label=}'[set label to use instead of file name and timestamp]:label' \ - "($ofwuc $oss -p --show-c-function)"{-p,--show-c-function}'[show C function of each change]' \ - "($of $ouc $oss)"{-q,--brief}'[output only whether files differ]' \ - "($of $ouc $oss -e --ed)"{--ed,-e}'[output an ed script]' \ - "!($of $ouc $oss)--normal" \ - "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \ - "($of $ouc $oss)"{-n,--rcs}'[output an RCS format diff]' \ - "($of $oss)"{-D+,--ifdef=}'[output merged file with preprocessor directives]:preprocessor symbol' \ - "($ofwg $ouc $oss)--changed-group-format=[set changed group format]:changed group format" \ - "($ofwg $ouc $oss)--unchanged-group-format=[set unchanged group format]:unchanged group format" \ - "($ofwl $ouc $oss)--line-format=[set line format]:line format" \ - "($ofwl $ouc $oss)--old-line-format=[set old line format]:old line format" \ - "($ofwl $ouc $oss)--new-line-format=[set new line format]:new line format" \ - '(-l --paginate)'{-l,--paginate}'[long output format (paginate with pr(1))]' \ - '(-t --expand-tabs)'{-t,--expand-tabs}'[expand tabs to spaces]' \ - '(-T --initial-tab)'{-T,--initial-tab}'[prepend a tab]' \ - '--tabsize=[specify width of tab]:width [8]' \ - '(-r --recursive)'{-r,--recursive}'[recursively compare subdirectories]' \ - "--no-dereference[don't follow symbolic links]" \ - '(-N --new-file)'{-N,--new-file}'[treat absent files as empty]' \ - '(-P --unidirectional-new-file)'{-P,--unidirectional-new-file}'[treat absent first files as empty]' \ - '(-s --report-identical-files)'{-s,--report-identical-files}'[report when two files are the same]' \ - \*{-x+,--exclude=}'[exclude files matching pattern]:exclusion pattern' \ - \*{-X+,--exclude-from=}'[exclude files matching pattern in file]:exclude file:_files' \ - '(-S --starting-file)'{-S+,--starting-file=}'[set first file in comparison]:start with file:_files' \ - '--horizon-lines=[set number of lines to keep in prefix and suffix]:number of horizon lines' \ - '(-d --minimal)'{-d,--minimal}'[try to find a smaller set of changes]' \ - "($of $ouc)"{-y,--side-by-side}'[output in two columns]' \ - "($ofwy $ouc)--suppress-common-lines[don't output common lines]" \ - "($ofwy $ouc --width -W)"{--width=,-W+}'[set size of line]:number of characters per line' \ - "$@" -else - of='-c -e -f' - case $OSTYPE in - openbsd*|solaris2.<9->) - of+=' -u -U' - args+=( - "($of)-u[output a unified diff]" - "($of)-U+[output a unified diff]:lines of context" - ) - ;| - openbsd*|solaris*) - args+=( - "($of)-C+[output a context diff]:lines of context" - "($of)-D+[output merged file with preprocessor directives]:preprocessor symbol" - '-i[case insensitive]' - '-l[long output format (paginate with pr(1))]' - '-s[report on identical files]' - '-t[expand tabs in output lines]' - ) - ;| - solaris*) - of+=' -h -n' - args+=( - '-w[ignore all white space]' - "($of)-h[do a fast, half-hearted job]" - "($of)-n[output a reversed ed script]" - '-S+[set first file in comparison]:start with file:_files' - ) - ;; - openbsd*) - of+=' -n -q -u -C -D -U' - args=( - "($of)-n[output an rcsdiff(1)-compatible diff]" - "($of)-q[only print a line when the files differ; does not produce a list of changes]" - '-a[treat all files as ASCII text]' - '-d[try to produce the smallest diff possible]' - '-I[ignore changes whose lines match the extended regular expression]:extended regular expression pattern' - '*-L[print a label instead of the file name and time]:label' - '-p[show characters from the last line before the context]' - '-T[consistently align tabs]' - '-w[like -b, but totally ignore whitespace]' - '-N[treat absent files in either directory as if they were empty]' - '-P[treat absent files in the second directory as if they were empty]' - '-S[start a directory diff from a file name]:file name:_files' - '*-X[exclude files and subdirectories whose basenames match lines in a file]:file name:_files' - '-x[exclude files and subdirectories whose basenames match a pattern]:pattern' - ) - ;; - esac - - _arguments -s "$args[@]" \ - "($of)-c[output a context diff]" \ - "($of)-e[output an ed script]" \ - "($of)-f[output a reversed ed script]" \ - '-b[skip trailing white spaces]' \ - '-r[recursively compare subdirectories]' \ - "$@" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diffstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diffstat deleted file mode 100644 index 9e7bf779..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_diffstat +++ /dev/null @@ -1,32 +0,0 @@ -#compdef diffstat - -_arguments -s -S \ - '-b[ignore lines indicating binary file differences]' \ - '-c[prefix each line with hash mark]' \ - '-C[use color highlighting of histogram]' \ - '-d[print debug information]' \ - '-D+[specify location of patched files for unchanged count]:location:_directories' \ - '-e+[redirect standard error to specified file]:error file:_files' \ - '-E[trim escape sequences, e.g. from colordiff]' \ - '-f+[specify histogram format]:format:((0\:concise 1\:normal 2\:dots 3\:dots+normal 4\:value 5\:value+normal 6\:value+dots 7\:value+dots+normal))' \ - '(- *)-h[display help information]' \ - '-k[suppress merging of filenames in report]' \ - '-K[resolve ambiguity of "only" filenames]' \ - '-l[list only the filenames]' \ - '-m[merge insert/delete data in chunks as modified-lines]' \ - '-n+[specify minimum width for filenames]:width [auto]' \ - '-N+[specify maximum width for filenames]:width [auto]' \ - '-o+[redirect standard output to specified file]:output file:_files' \ - '-p+[specify number of path separators to strip]:path components [common]' \ - '-q[suppress "0 files changed" message for empty diffs]' \ - '-r+[specify rounding for histogram]:rounding:((0\:none 1\:simple 2\:simple+adjustment))' \ - '(-t)-s[show only the summary line]' \ - '-S+[specify location of original files for unchanged count]:location:_directories' \ - '-R[assume patch was created with old and new files swapped]' \ - '(-T -s)-t[overrides histogram, generates csv output]' \ - '(-t)-T[print amounts (like -t) in addition to histogram]' \ - '-u[suppress sorting of filenames in report]' \ - '-v[show progress]' \ - '(- *)-V[print version number]' \ - '-w+[specify maximumn width of output]:maximum width [80]' \ - '*:patch file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dig deleted file mode 100644 index 3081e2cf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dig +++ /dev/null @@ -1,103 +0,0 @@ -#compdef dig - -local curcontext="$curcontext" state line expl -local -a alts args -[[ -prefix + ]] && args=( - '*+'{no,}'tcp[use TCP instead of UDP for queries]' - '*+'{no,}'ignore[ignore truncation in UDP responses]' - '*+domain=[set search list to single domain]:domain:_hosts' - '*+dscp=[set DSCP code point for query]:code point (0..63)' - '*+'{no,}'search[use search list defined in resolv.conf]' - '*+'{no,}'showsearch[show intermediate results in domain search]' - '*+split[split hex/base64 fields into chunks]:width (characters) [56]' - '*+'{no,}'aaonly[set aa flag in the query]' - '*+'{no,}'additional[print additional section of a reply]' - '*+'{no,}'adflag[set the AD (authentic data) bit in the query]' - '*+'{no,}'badcookie[retry BADCOOKIE responses]' - '*+'{no,}'cdflag[set the CD (checking disabled) bit in the query]' - '*+'{no,}'class[display the CLASS whening printing the record]' - '*+'{no,}'cookie[add a COOKIE option to the request]' - '*+'{no,}'crypto[display cryptographic fields in DNSSEC records]' - '*+edns=[specify EDNS version for query]:version (0-255)' - '*+noedns[clear EDNS version to be sent]' - '*+ednsflags=[set EDNS flags bits]:flags' - '*+'{no,}'ednsnegotiation[set EDNS version negotiation]' - '*+ednsopt=[specify EDNS option]:code point' - '*+noedns[clear EDNS options to be sent]' - '*+'{no,}'expandaaaa[expand AAAA records]' - '*+'{no,}'expire[send an EDNS Expire option]' - '*+'{no,}'header-only[send query without a question section]' - '*+'{no,}'idnin[set processing of IDN domain names on input]' - '*+'{no,}'idnout[set conversion of IDN puny code on output]' - '*+'{no,}'keepalive[request EDNS TCP keepalive]' - '*+'{no,}'keepopen[keep TCP socket open between queries]' - '*+'{no,}'mapped[allow mapped IPv4 over IPv6 to be used]' - '*+'{no,}'recurse[set the RD (recursion desired) bit in the query]' - '*+'{no,}'nssearch[search all authoritative nameservers]' - '*+opcode[set DNS message opcode of the request]:opcode [QUERY]:(QUERY IQUERY STATUS NOTIFY UPDATE)' - '*+noopcode[clear DNS message opcode]' - '*+'{no,}'trace[trace delegation down from root]' - '*+'{no,}'cmd[print initial comment in output]' - '*+'{no,}'short[print terse output]' - '*+'{no,}'identify[print IP and port of responder]' - '*+'{no,}'comments[print comment lines in output]' - '*+'{no,}'stats[print statistics]' - '*+padding[set padding block size]:size [0]' - '*+'{no,}'qr[print query as it was sent]' - '*+'{no,}'question[print question section of a query]' - '*+'{no,}'raflag[set RA flag in the query]' - '*+'{no,}'answer[print answer section of a reply]' - '*+'{no,}'authority[print authority section of a reply]' - '*+'{no,}'all[set all print/display flags]' - '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length' - '*+'{no,}'tcflag[set TC flag in the query]' - '*+timeout=[set query timeout]:timeout (seconds) [5]' - '*+tries=[specify number of UDP query attempts]:tries' - '*+retry=[specify number of UDP query retries]:retries' - '*+'{no,}'rrcomments[set display of per-record comments]' - '*+ndots=[specify number of dots to be considered absolute]:dots' - '*+bufsize=[specify UDP buffer size]:size (bytes)' - '*+'{no,}'multiline[verbose multi-line output]' - '*+'{no,}'onesoa[AXFR prints only one soa record]' - '*+'{no,}"fail[don't try next server on SERVFAIL]" - '*+'{no,}'besteffort[try to parse even malformed messages]' - '*+'{no,}'dnssec[request DNSSEC records]' - '*+'{no,}'nsid[include EDNS name server ID request in query]' - '*+'{no,}'ttlid[display the TTL whening printing the record]' - '*+'{no,}'ttlunits[display the TTL in human-readable units]' - '*+'{no,}'unexpected[print replies from unexpected sources]' - '*+'{no,}'unknownformat[print RDATA in RFC 3597 "unknown" format]' - '*+'{no,}'yaml[present the results as YAML]' - '*+'{no,}'zflag[set Z flag in query]' -) -_arguments -s -C $args \ - '(- *)-h[display help information]' \ - '(- *)-v[display version information]' \ - '*-c+[specify class]:class:compadd -M "m\:{a-z}={A-Z}" - IN CS CH HS' \ - '*-b+[specify source IP]:IP' \ - '*-f+[batch mode, read arguments from file]:file:_files' \ - '*-m[enable memory usage debugging]' \ - '*-p+[specify port number]:port:_ports' \ - '*-4[use IPv4 only]' \ - '*-6[use IPv6 only]' \ - '*-t+[specify type]:type:_dns_types' \ - '*-q+[specify host name to query]:host:_hosts' \ - "-r[don't read ~/.digrc]" \ - '*-x+[reverse lookup]:IP address' \ - '*-k+[specify TSIG key file]:file:_files' \ - '*-y+[specify TSIG key]:hmac\:name\:key' \ - '*: :->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P @; then - _wanted hosts expl 'DNS server' _hosts && ret=0; - else - case $#line in - <3->) alts+=( 'classes:query class:compadd -M "m:{a-z}={A-Z}" - IN CS CH HS' ) ;& - 2) alts+=( 'types:query type:_dns_types' ) ;; - esac - _alternative 'hosts:host:_hosts' $alts && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dir_list b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dir_list deleted file mode 100644 index 536d424e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dir_list +++ /dev/null @@ -1,29 +0,0 @@ -#compdef -value-,TERMINFO_DIRS,-default- -P -value-,*PATH,-default- - -# options: -# -s <sep> to specify the separator (default is a colon) -# -S to say that the separator should be added as a suffix (instead -# of the default slash) -# any description passed should apply to an individual directory and not -# to the entire list - -local sep=: dosuf suf - -while [[ "$1" = -(s*|S) ]]; do - case "$1" in - -s) sep="$2"; shift 2;; - -s*) sep="${1[3,-1]}"; shift;; - -S) dosuf=yes; shift;; - esac -done - -compset -P "*${sep}" -compset -S "${sep}*" || suf="$sep" - -if [[ -n "$dosuf" ]]; then - suf=(-S "$suf") -else - suf=() -fi - -_directories "$suf[@]" -r "${sep}"' /\t\t\-' "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directories b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directories deleted file mode 100644 index dc92e6c3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directories +++ /dev/null @@ -1,5 +0,0 @@ -#compdef dircmp -P -value-,*path,-default- - -local expl - -_wanted directories expl directory _files -/ "$@" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directory_stack b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directory_stack deleted file mode 100644 index e84115a6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_directory_stack +++ /dev/null @@ -1,45 +0,0 @@ -#compdef popd - -# This just completes the numbers after +, showing the full directory list -# with numbers. For - we do the same thing, but reverse the numbering (other -# way round if pushdminus is set). Note that this function is also called -# from _cd for cd and pushd. - -setopt localoptions nonomatch - -local expl list lines revlines disp sep - -### we decided against this, for now... -#! zstyle -T ":completion:${curcontext}:directory-stack" prefix-needed || - -[[ $PREFIX = [-+]* ]] || return 1 - -zstyle -s ":completion:${curcontext}:directory-stack" list-separator sep || sep=-- - -if zstyle -T ":completion:${curcontext}:directory-stack" verbose; then - # get the list of directories with their canonical number - # and turn the lines into an array, removing the current directory - lines=("${(D)dirstack[@]}") - - if [[ ( $PREFIX[1] = - && ! -o pushdminus ) || - ( $PREFIX[1] = + && -o pushdminus ) ]]; then - integer i - revlines=( $lines ) - for (( i = 1; i <= $#lines; i++ )); do - lines[$i]="$((i-1)) $sep ${revlines[-$i]##[0-9]#[ ]#}" - done - else - for (( i = 1; i <= $#lines; i++ )); do - lines[$i]="$i $sep ${lines[$i]##[0-9]#[ ]#}" - done - fi - # get the array of numbers only - list=( ${PREFIX[1]}${^lines%% *} ) - disp=( -ld lines ) -else - list=( ${PREFIX[1]}{0..${#dirstack}} ) - disp=() -fi - -_wanted -V directory-stack expl 'directory stack' \ - compadd "$@" "$disp[@]" -Q -a list diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dirs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dirs deleted file mode 100644 index 0281f373..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dirs +++ /dev/null @@ -1,8 +0,0 @@ -#compdef dirs - -_arguments -s \ - '(-)-c[clear the directory stack]' \ - '(* -c)-l[display directory names in full]' \ - '(* -c)-v[display numbered list of directory stack]' \ - '(* -c)-p[display directory entries one per line]' \ - '(-)*:directory:_directories' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_disable b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_disable deleted file mode 100644 index da380303..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_disable +++ /dev/null @@ -1,16 +0,0 @@ -#compdef disable - -local -a ali_arr sali_arr func_arr - -ali_arr=(${(k)aliases} ${(k)galiases}) -sali_arr=(${(k)saliases}) -func_arr=(${(k)functions}) - -_arguments -C -s -A "-*" -S \ - "(-f -r -s -p)-a[act on regular or global aliases]:*:regular or global alias:compadd -k ali_arr" \ - "(-a -r -s -p)-f[act on functions]:*:function:compadd -k func_arr" \ - "(-a -f -s -p)-r[act on reserved words]:*:reserved-word:compadd -k reswords" \ - "(-a -f -r -p)-s[act on suffix aliases]:*:suffix alias:compadd -k sali_arr" \ - "(-a -f -r -s)-p[act on pattern characters]:*:pattern character:compadd -k patchars" \ - '-m[treat arguments as patterns]' \ - "*:builtin command:(${(k)builtins})" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dispatch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dispatch deleted file mode 100644 index 3f6fe5b9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dispatch +++ /dev/null @@ -1,91 +0,0 @@ -#autoload - -local comp pat val name i ret=1 _compskip="$_compskip" -local curcontext="$curcontext" service str noskip -local -a match mbegin mend - -# If we get the option `-s', we don't reset `_compskip'. - -if [[ "$1" = -s ]]; then - noskip=yes - shift -fi - -[[ -z "$noskip" ]] && _compskip= - -curcontext="${curcontext%:*:*}:${1}:" - -shift - -# See if there are any matching pattern completions. - -if [[ "$_compskip" != (all|*patterns*) ]]; then - - for str in "$@"; do - [[ -n "$str" ]] || continue - service="${_services[$str]:-$str}" - for i in "${(@)_patcomps[(K)$str]}"; do - if [[ $i = (#b)"="([^=]#)"="(*) ]]; then - service=$match[1] - i=$match[2] - fi - eval "$i" && ret=0 - if [[ "$_compskip" = *patterns* ]]; then - break - elif [[ "$_compskip" = all ]]; then - _compskip='' - return ret - fi - done - done -fi - -# Now look up the names in the normal completion array. - -ret=1 -for str in "$@"; do - [[ -n "$str" ]] || continue - # The following means we look up the names of commands - # after stripping quotes. This is presumably correct, - # but do we need to do the same elsewhere? - str=${(Q)str} - name="$str" - comp="${_comps[$str]}" - service="${_services[$str]:-$str}" - - [[ -z "$comp" ]] || break -done - -# And generate the matches, probably using default completion. - -if [[ -n "$comp" && "$name" != "${argv[-1]}" ]]; then - _compskip=patterns - eval "$comp" && ret=0 - [[ "$_compskip" = (all|*patterns*) ]] && return ret -fi - -if [[ "$_compskip" != (all|*patterns*) ]]; then - for str; do - [[ -n "$str" ]] || continue - service="${_services[$str]:-$str}" - for i in "${(@)_postpatcomps[(K)$str]}"; do - _compskip=default - eval "$i" && ret=0 - if [[ "$_compskip" = *patterns* ]]; then - break - elif [[ "$_compskip" = all ]]; then - _compskip='' - return ret - fi - done - done -fi - -[[ "$name" = "${argv[-1]}" && -n "$comp" && - "$_compskip" != (all|*default*) ]] && - service="${_services[$name]:-$name}" && - eval "$comp" && ret=0 - -_compskip='' - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_django b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_django deleted file mode 100644 index 1d5cf731..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_django +++ /dev/null @@ -1,210 +0,0 @@ -#compdef django-admin.py django-admin manage.py - -local curcontext="$curcontext" state line expl ret=1 - -if [[ "$service" = "manage.py" && ! -x ./manage.py ]]; then - _default - return -fi - -declare -ga common_args -common_args=( - '--help[display help information]' - '--version[display version information]' - '--pythonpath=[directory to add to the Python path]:directory:_directories -W / -P /' - '--settings=[python path to settings module]:settings' - '--traceback[print traceback on exception]' -) - -typeset -A opt_args -_arguments -C \ - $common_args \ - ':subcommand:->subcommand' \ - '*::options:->options' && ret=0 - -case $state in - subcommand) - subcommands=( - "cleanup:remove old data from the database" - "compilemessages:compile .po files to .mo for use with gettext" - "createcachetable:creates table for SQL cache backend" - "createsuperuser:create a superuser" - "dbshell:run command-line client for the current database" - "diffsettings:display differences between the current settings and Django defaults" - "dumpdata:output contents of database as a fixture" - "flush:execute 'sqlflush' on the current database" - "inspectdb:output Django model module for tables in database" - "loaddata:install the named fixture(s) in the database" - "makemessages:pull out all strings marked for translation" - "reset:executes 'sqlreset' for the given app(s)" - "runfcgi:run this project as a fastcgi" - "runserver:start a lightweight web server for development" - "shell:run a Python interactive interpreter. Tries to use IPython, if it's available" - "sql:print the CREATE TABLE statements for the given app(s)" - "sqlall:print the CREATE TABLE, CREATE INDEX and custom statements for the given app(s)" - "sqlclear:print the DROP TABLE statements for the given app(s)" - "sqlcustom:print the custom table-modifying SQL statements for the given app(s)" - "sqlflush:print the SQL statements required to return all tables to installation state" - "sqlindexes:print the CREATE INDEX statements for the given app(s)" - "sqlreset:print the DROP TABLE and CREATE TABLE statements for the given app(s)" - "sqlsequencereset:print the SQL statements for resetting sequences for the given app(s)" - "startapp:create Django app directory in this project's directory" - "startproject:create a Django project directory structure for a given project name" - "syncdb:create database tables for apps in INSTALLED_APPS where required" - "test:run the test suite for the specified app, or the entire site" - "testserver:run a development server with data from the given fixture(s)" - "validate:validate all installed modules" - ) - - for cmd in $(./manage.py --help 2>&1 >/dev/null | \ - awk -v drop=1 '{ if (!drop) print substr($0, 3) } /^Available subcommands/ { drop=0 }') - do - if ! echo $subcommands | grep -qs "${cmd}:" - then - subcommands+=($cmd) - fi - done - - _describe -t subcommands 'django admin subcommand' subcommands && ret=0 - ;; - - options) - declare -a args - args=( - $common_args - ) - - declare -a verbosity - verbosity=( - '--verbosity=:verbosity:(0 1 2):[verbosity level; 0=minimal, 1=normal, 2=all]' - ) - - declare -a locale - locale=( - {-l,--locale=}'[locale to process (default: all)]:locale' - ) - - declare -a noinput - noinput=( - '--noinput[do not prompt for any input]' - ) - - port_opts={,0.0.0.0\\:,127.0.0.1\\:}800{0,1} - - _appname () { - local settings="" - if [ -e settings.py ]; then - settings="settings.py" - elif [ -n "${DJANGO_SETTINGS_MODULE}" ]; then - settings="${DJANGO_SETTINGS_MODULE}" - else - return 0 - fi - - _wanted appname expl appname compadd - $(command \ - sed -n "/INSTALLED_APPS\s*=\s*(/,/)/p" ${settings} | \ - sed -n "s/^\s*'\(.*\.\)*\(.*\)'.*$/\2 /pg") - } - - case $words[1] in - compilemessages) - args+=$locale - ;; - - createcachetable) - args+=':tablename:' - ;; - - createsuperuser) - args+=( - $noinput - '--username[username for the superuser]:username' - '--email[email address for the superuser]:email' - ) - ;; - - dumpdata) - args+=( - '--format=:format:(xml python json yaml):[serialization format for the fixtures]' - '--indent=[indent level to use when pretty-printing]:indent' - {-e,--exclude=}'[app to exclude]:exclude:_appname' - ) - ;; - - flush) - args+=$verbosity - ;; - - loaddata) - args+=( - $verbosity - '*:fixture:' - ) - ;; - - makemessages) - args+=( - $locale - $verbosity - {-d,--domain=}'[domain of the message files]:domain [django]:(django djangojs)' - {-a,--all}'[re-examine all code and templates]' - {-e,--extensions=}'[file extension(s) to examine]:extension [html]' - ) - ;; - - runserver|runserver_plus) - args+=( - '--noreload[do not use auto-reloader]' - '--adminmedia=[directory from which to serve admin media]:directory:_directories' - ':port:('$port_opts')' - ) - ;; - - shell) - args+='--plain[use plain Python, not IPython]' - ;; - - reset|sql*) - args+='*:appname:_appname' - ;; - - startapp) - args+=':new_appname:' - ;; - - syncdb) - args+=( - $verbosity - $noinput - ) - ;; - - "test") - args+=( - $verbosity - $noinput - '*:appname:_appname' - ) - ;; - - testserver) - args+=( - $verbosity - '--addrport=:addrport:('$port_opts'):[port number or ipaddr:port to run server on]' - '*:fixture:' - ) - ;; - - validate|runfcgi) - ;; - - *) - _files - ;; - esac - - _arguments -C $args && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dkms b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dkms deleted file mode 100644 index 2a3c016c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dkms +++ /dev/null @@ -1,165 +0,0 @@ -#compdef dkms - -local curcontext="$curcontext" ign cmds opts ret=1 -local -a state line expl args subcmds dirs -local -A opt_args - -subcmds=( - 'add:add a module/version combination to the tree for builds and installs' - 'remove:remove a module from the tree' - 'build:compile a module for a kernel' - 'unbuild:undoes the build of a module' - "install:install a build module for it's corresponding kernel" - 'uninstall:uninstall a module for a kernel' - 'match:install every module that is installed for a template kernel for another kernel' - 'mkdriverdisk:create a floppy driver disk image for use when updated drivers are needed to install an OS' - 'mktarball:tar up files in the DKMS tree for a specific module' - 'ldtarball:extract a tarball created with mktarball into the DKMS tree' - 'mkrpm:create an RPM package for a module' - 'mkdeb:create a debian binary package for a module' - 'mkdsc:create a debian source package for a module' - 'mkbmdeb:create a debian package containing just binary modules' - 'mkkmp:create a Kernel Module Package source RPM for a module' - 'status:display the current status of modules, versions and kernels within the tree' - 'autoinstall:try to install the latest revision of all modules that have been installed for other kernel revisions' -) - -args=( - '(1)-m[specify module]:module:->modules' - '(1)-v[specify module version]:version' - '(-q --quiet)'{-q,--quiet}'[suppress output]' - '(--all)*'{-a,--arch}'[specify system architecture]:architecture:->architectures' - '*--directive=:directive' - '--dkmstree=:path:_directories' - '--installtree=:path:_directories' - '--sourcetree=:path:_directories' - '--dkmsframework=:path:_directories' - '--force-version-override' - '1: : _describe -t commands command subcmds' -) - -cmd=${${${subcmds%%:*}:*words}[1]} -if [[ -n $cmd ]]; then - curcontext="${curcontext%:*}-$cmd:" -else - # exclude sub-commands based on any options specified so far - for cmds opts in \ - '(remove|build|install|uninstall|match|status|mk(^kmp))' 'k' \ - '(add|remove)' '-rpm_safe_upgrade' \ - 'mk(driverdisk|kmp)' '-spec' \ - 'mk(deb|dsc|bmdeb|rpm)' '-legacy-postinst' \ - 'mk(tarball|rpm|deb|dsc)' '-(source|binary)-only' \ - '(match|build|mkkmp)' '(k|-no-(prepare|clean)-kernel|-kernelsourcedir)' \ - '(|un)install' '-no-(depmod|initrd)' \ - 'mkdriverdisk' '([dr]|-distro|-release|-size|-media)' \ - '(add|build|install|ldtarball)' '-force' \ - 'match' '-templatekernel' \ - '*tarball' '-archive' \ - '(match|build|mkkmp)' '(j*|-no-(prepare|clean)-kernel|-kernelsourcedir)' \ - '(remove|build|install|status|mk(^kmp))' '-all' \ - 'build' '-config' - do - [[ -n ${(M)words:#-${~opts}*} ]] && - subcmds=( ${(M)subcmds:#${~cmds}:*} ) - done - args+=( '(1 -)'{-V,--version}'[display version information]' ) - ign='!' # hide some uncommon options but handle their arguments -fi - -case $cmd in - remove|build|install|uninstall|mk*|status) - args+=( ': :->modules' ) - ;| - |remove|(un|)build|install|uninstall|match|status|mk(^kmp)) - args+=( '(--all)*-k[specify kernel version]:kernel:->kernels' ) - ;| - |add|remove) args+=( "${ign}--rpm_safe_upgrade" ) ;| - |mk(driverdisk|kmp)) - args+=( "${ign}--spec=:spec file:_files -g '*.spec(-.)'" ) - ;| - |(mk|ld)tarball) - args+=( "${ign}--archive=:tarball:_files -g '*.tar(-.)'" ) - ;| - |mk(deb|dsc|bmdeb|rpm)) - args+=( "${ign}--legacy-postinst=:value [1]:(0 1)" ) - ;| - |mk(tarball|rpm|deb|dsc)) args+=( "${ign}(--source-only --binaries-only)--"{source,binaries}-only ) ;| - |match|build|mkkmp) - args+=( #TODO: check ignore needed in absence of parameters - "${ign}--no-prepare-kernel" - "${ign}--no-clean-kernel" - '--kernelsourcedir=:directory:_directories' - "${ign}-j+[specify maximum number of jobs to use when building]:jobs" - ) - ;| - |(|un)install) - args+=( - "${ign}--no-depmod" - "${ign}--no-initrd" - ) - ;| - |add) - args+=( - '-c[specify location of dkms.conf file]:location:_files' - ) - ;| - |remove|(un|)build|install|status|mk(^kmp)) - args+=( '(-a --arch -k)--all[specify all relevant kernels/arches]' ) - ;| - |build) - args+=( "${ign}--config=:kernel config file:_files" ) - ;| - |add|build|install|ldtarball) - args+=( '--force[force overwriting of extant files]' ) - ;| - |match) - args+=( "${ign}--templatekernel=:kernel:->kernels" ) - ;| - |mkdriverdisk) - args+=( - "${ign}(-d --distro)"{-d,--distro=}':distribution:(redhat'{,1,2,3}' suse unitedlinux)' - "${ign}(-r --release)"{-r,--release=}':release' - "${ign}--size=:size (kb) [1440]" - "${ign}--media=:media type [floppy]:(floppy iso tar)" - ) - ;| - add) - args+=( - '3:path:_directories' - '4:tarball:_files -g "*.tar(-.)"' - ) - ;; - install) - args+=( - '3:rpm file:_files -g "*.rpm(-.)"' - ) - ;; -esac - -_arguments -C $args && ret=0 - -case $state in - modules) - dirs=( ${(e)opt_args[--dkmstree]:-/var/lib/dkms}/*/*(/) ) - dirs=( ${${(M)dirs%/*/*}#/} ) - _description modules expl module - _multi_parts -i "$expl[@]" / dirs && ret=0 - ;; - kernels) - if compset -P 1 '*/'; then - _description architectures expl architecture - compadd "$expl[@]" /lib/modules/$IPREFIX/build/arch/*(/:t) && ret=0 - else - compset -S '/*' - dirs=( /lib/modules/*(/:t) ) - _description -V kernels expl kernel - compadd "$expl[@]" -r "/ \t\n\-" ${(on)dirs} && ret=0 - fi - ;; - architectures) - _description architectures expl architecture - compadd "$expl[@]" /lib/modules/$(uname -r)/build/arch/*(/:t) && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dladm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dladm deleted file mode 100644 index 5ce9872d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dladm +++ /dev/null @@ -1,734 +0,0 @@ -#compdef dladm - -_dladm_links() { - compadd "$@" - $(_call_program links dladm show-link -p -o link) -} - -_dladm_devs() { - compadd "$@" - $(_call_program devices dladm show-phys -p -o device) -} - -_dladm_aggrs() { - compadd "$@" - $(_call_program aggregations dladm show-aggr -p -o link) -} - -_dladm_aggr_ports() { - compadd "$@" - $(_call_program ports dladm show-aggr -p -x -o ports) -} - -_dladm_vlans() { - compadd "$@" - $(_call_program vlans dladm show-vlan -p -o link) -} - -_dladm_wifi_links() { - compadd "$@" - $(_call_program wifi-links dladm show-wifi -p -o link) -} - -_dladm_wifi_nets() { - compadd "$@" - ${(f)"$(_call_program networks dladm scan-wifi -p -o essid)"} -} - -_dladm_secobjs() { - compadd "$@" - ${(f)"$(_call_program secure-objects dladm show-secobj -p -o object)"} -} - -_dladm_ethers() { - compadd "$@" - $(_call_program ethers dladm show-ether -p -o link) -} - -_dladm_vnics() { - compadd "$@" - $(_call_program vnics dladm show-vnic -p -o link) -} - -_dladm_etherstubs() { - compadd "$@" - $(_call_program etherstubs dladm show-etherstub) -} - -_dladm_bridges() { - compadd "$@" - $(_call_program bridges dladm show-bridge -p -o bridge) -} - -_dladm_iptuns() { - compadd "$@" - $(_call_program ip-tunnels dladm show-iptun -p -o link) -} - -_dladm_parts() { - compadd "$@" - $(_call_program parts dladm show-part -p -o link) -} - -_dladm_iblinks() { - compadd "$@" - $(_call_program iblinks dladm show-ib -p -o link) -} - -_dladm() { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local -a subcmds - local -a linkprops linkprops_general linkprops_nonvlanvnic linkprops_wifi - local -a linkprops_ether linkprops_ib linkprops_iptun - local -a link_properties link_stats_properties vnic_properties - local -a aggr_properties aggr_lacp_properties aggr_ext_properties - local -a vlan_properties wifi_properties wifi_connect_properties - local -a ether_properties linkprop_properties secobj_properties - local -a bridge_properties bridge_stats_properties bridge_link_properties - local -a bridge_link_stats_properties bridge_fwd_properties - local -a bridge_fwd_properties bridge_trill_properties - local -a iptun_properties tunnel_values part_properties ib_properties - - # TODO: some subcommands can take multiple comma-separated targets - # TODO: some option sets may be different based on other commandline flags - # TODO: some subcommands may take different arguments based on options - - subcmds=( - help show-ether show-ib - {add,create,delete,modify,remove,show}-{aggr,bridge} - {rename,show}-link - {connect,disconnect,scan,show}-wifi - {reset,set,show}-linkprop - {create,delete,modify,show}-vlan - {delete,show}-phys - {create,delete,modify,show}-{vnic,iptun} - {create,delete,show}-{etherstub,secobj,part,cap} - ) - - if [[ $service == "dladm" ]]; then - _arguments -C -A "-*" \ - '-\?[display help information]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "dladm subcommand" compadd -M 'r:|-=* r:|=*' -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" - fi - - link_properties=( link zone class mtu state over ) - link_stats_properties=( link ipackets rbytes ierrors opackets obytes oerrors ) - - aggr_properties=( link policy addrpolicy lacpactivity lacptimer mode flags ) - aggr_lacp_properties=( link port aggregatable sync coll dist defaulted expired ) - aggr_ext_properties=( link port speed duplex state address portstate ) - - vlan_properties=( link vid over flags ) - - wifi_connect_properties=( link essid bssid sec mode strength speed bsstype ) - wifi_properties=( $wifi_connect_properties status auth ) - - ether_properties=( link ptype state auto speed-duplex pause rem_fault ) - - linkprop_properties=( link property value default possible ) - - secobj_properties=( object class ) - - vnic_properties=( link over speed macaddr macaddrtype ) - - bridge_properties=( bridge address priority bmaxage bhellotime bfwddelay - forceproto tctime tccount tchange desroot rootcost rootport - maxage hellotime fwddelay holdtime ) - bridge_stats_properties=( bridge drops forwards mbcast recv sent unknown ) - bridge_link_properties=( link index state uptime opercost operp2p operedge - desroot descost desbridge desport tcack ) - bridge_link_stats_properties=( link cfgbpdu tcnbpdu rstpbpdu txbpdu drops recv xmit ) - bridge_fwd_properties=( dest age flags output ) - bridge_trill_properties=( nick flags link nexthop ) - - iptun_properties=( link type flags local remote ) - tunnel_values=( 'local:address/host:' 'remote:address/host:' ) - - part_properties=( link pkey over state flags ) - - ib_properties=( link hcaguid portguid port state pkeys ) - - linkprops_general=( - 'autopush:streams modules' - 'cos:value:(0 1 2 3 4 5 6 7)' - 'cpus:processors' - 'cpus-effective' - 'etsbw-lcl:percentage:' - 'etsbw-lcl-advice' - 'etsbw-lcl-effective' - 'etsbw-rmt-effective' - 'lro:value:(off on auto)' - 'lro-effective' - 'mac-address:MAC address' - 'maxbw:bandwith' - 'pool:pools' - 'pool-effective' - 'priority:priority:(high medium low)' - 'rxringsavail' - 'rxrings:value' - 'rxhwclntavail' - 'txringsavail' - 'txrings:value' - 'txhwclntavail' - 'forward:value:(0 1)' - 'stp_priority:value' - 'stp_cost:value' - 'stp_edge:value:(0 1)' - 'stp_p2p:value:(true false auto)' - 'stp_mcheck:value:(0 1)' - 'protection:value:(mac-nospoof ip-nospoof dhcp-nospoof restricted)' - 'vsi-mgrid:IPv6 address' - 'vsi-mgrid-effective' - 'vsi-mgrid-enc:encoding:(oracle_v1 none)' - 'vsi-mgrid-enc-effective' - 'vsi-typeid:value' - 'vsi-typeid-effective' - 'vsi-vers:value' - 'vsi-vers-effective' - 'zone:zone:_zones' - ) - linkprops_nonvlanvnic=( - 'default_tag:value' - 'learn_decay:value' - 'learn_limit:value' - 'rxfanout:value' - 'rxfanout-effective:value' - 'stp:value:(0 1)' - ) - linkprops_wifi=( - 'channel:value' - 'powermode:value:(off max fast)' - 'radio:value:(on off)' - 'speed:value' - ) - linkprops_ether=( - 'duplex' - 'state' - 'adv_autoneg_cap' - 'adv_10gfdx_cap' - 'adv_1000fdx_cap' - 'adv_1000hdx_cap' - 'adv_100fdx_cap' - 'adv_100hdx_cap' - 'adv_10fdx_cap' - 'adv_10hdx_cap' - 'en_10gfdx_cap:value:(0 1)' - 'en_1000fdx_cap:value:(0 1)' - 'en_1000hdx_cap:value:(0 1)' - 'en_100fdx_cap:value:(0 1)' - 'en_100hdx_cap:value:(0 1)' - 'en_10fdx_cap:value:(0 1)' - 'en_10hdx_cap:value:(0 1)' - 'flowctrl:value:(auto no rx tx pfc bi)' - 'flowctrl-effective' - 'gvrp-timeout:value' - 'mtu:value' - 'ntcs' - 'pfcmap:value' - 'pfcmap-lcl-effective' - 'pfcmap-rmt-effective' - 'speed' - 'tagmode:value:(normal vlanonly)' - 'vlan-announce:value:(off gvrp)' - ) - linkprops_ib=( - "linkmode:value:(cm ud)" - ) - linkprops_iptun=( - "hoplimit:value" - "encaplimit:value" - ) - linkprops=( - $linkprops_general $linkprops_wifi $linkprops_ether - $linkprops_ib $linkprops_iptun - ) - - case $service in - (help) - _wanted commands expl "dladm subcommand" compadd -M 'r:|-=* r:|=*' -a subcmds - ;; - - (show-link) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_properties' \ - - set2 \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_stats_properties' \ - ':link name:_dladm_links' - ;; - - (rename-link) - _arguments -A "-*" \ - '-R[root directory]:directory:_path_files -/' \ - ':old link name:_dladm_links' \ - ':new link name:' - ;; - - (show-phys) - _arguments -A "-*" \ - '-D[show Data Center Bridging information]:featureset:(ets pfc)' \ - '-H[show hardware resource usage]' \ - '-L[display location information]' \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '-m[display MAC address information]' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" link media state speed duplex device' \ - ':physical link name:_dladm_devs' - ;; - - (delete-phys) - _arguments -A "-*" \ - ':physical link name:_dladm_devs' - ;; - - (create-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - \*{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mode)'{-m,--mode}'[aggregation mode]:mode:(dlmp trunk)' \ - '(-P --policy)'{-P,--policy}'[port selection policy]:policy:_values -s , "policy" L2 L3 L4' \ - '(-L --lacp-mode)'{-L,--lacp-mode}'[LACP mode]:lacp mode:(off active passive)' \ - '(-T --lacp-timer)'{-T,--lacp-timer}'[LACP timer]:lacp timer:(short long)' \ - '(-u --unicast)'{-u,--unicast}'[unicast address]:unicast address:' \ - ':aggregate link name:' - ;; - - (modify-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mode)'{-m,--mode}'[aggregation mode]:mode:(dlmp trunk)' \ - '(-P --policy)'{-P,--policy}'[port selection policy]:policy:_values -s , "policy" L2 L3 L4' \ - '(-L --lacp-mode)'{-L,--lacp-mode}'[LACP mode]:lacp mode:(off active passive)' \ - '(-T --lacp-timer)'{-T,--lacp-timer}'[LACP timer]:lacp timer:(short long)' \ - '(-u --unicast)'{-u,--unicast}'[unicast address]:unicast address:' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (delete-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (add-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (remove-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_aggr_ports' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (show-aggr) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':aggregate link name:_dladm_links' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_properties' \ - - lacp \ - '(-L --lacp)'{-L,--lacp}'[LACP information]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_lacp_properties' \ - - extended \ - '(-x --extended)'{-x,--extended}'[extended information]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_ext_properties' - ;; - - (create-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \ - '(-f --force)'{-f,--force}'[force VLAN creation]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '-v[VLAN ID]:id:' \ - ':VLAN link name:' - ;; - - (delete-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':VLAN link name:_dladm_vlans' - ;; - - (modify-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \ - '(-f --force)'{-f,--force}'[force VLAN creation]' \ - '(-R --root-dir)'{-R,--root-dir}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '-v[VLAN ID]:id:' \ - - set1 \ - '-L[source link]:link:_dladm_links' \ - - set2 \ - ':VLAN link name:' - ;; - - (show-vlan) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $vlan_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':VLAN link name:_dladm_vlans' - ;; - - (scan-wifi) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $wifi_connect_properties' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (connect-wifi) - _arguments -A "-*" \ - '(-e --essid)'{-e,--essid}'[ESSID name]:network:_dladm_wifi_nets' \ - '(-b --bsstype)'{-b,--bsstype}'[BSS type]:' \ - '(-m --mode)'{-m,--mode}'[802.11 mode]:802.11 mode:(a b g n)' \ - '(-k --key)'{-k,--key}'[key name]:key:_sequence _dladm_secobjs' \ - '(-s --sec)'{-s,--sec}'[security mode]:security mode:(none wep wpa)' \ - '(-a --auth)'{-a,--auth}'[authentication mode]:authentication mode:(open shared)' \ - '(-c --create-ibss)'{-c,--create-ibss}'[create an ad-hoc network]' \ - '(-T --timeout)'{-T,--timeout}'[association timeout]:association timeout:(forever)' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (disconnect-wifi) - _arguments -A "-*" \ - - set1 \ - '(-a --all-links)'{-a,--all-links}'[all links]' \ - - set2 \ - ':wireless link name:_dladm_wifi_links' - ;; - - (show-wifi) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $wifi_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (show-ether) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-x --extended)'{-x,--extended}'[extended output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $ether_properties' \ - '-P[protocol]:protocol:(ecp vdp)' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':ethernet link name:_dladm_ethers' - ;; - - (set-linkprop) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[change should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${(M)linkprops\:#*\:*}' \ - ':link name:_dladm_links' - ;; - - (reset-linkprop) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[change should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${${(M)linkprops\:#*\:*}%%\:*}' \ - ':link name:_dladm_links' - ;; - - (show-linkprop) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link properties]' \ - '(-c --parseable)'{-c,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $linkprop_properties' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${linkprops%%\:*}' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':link name:_dladm_links' - ;; - - (create-secobj) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-c --class)'{-c,--class}'[class]:class:(wep wpa)' \ - '(-f --file)'{-f,--file}'[file containing object value]:file:_path_files' \ - ':object name:' - ;; - - (delete-secobj) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':object name:_sequence _dladm_secobjs' - ;; - - (show-secobj) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent object information]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $secobj_properties' \ - ':object name:_sequence _dladm_secobjs' - ;; - - (create-vnic) - # TODO: MAC address completion could be richer - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \ - '-v[VLAN ID]:id:' \ - '(-p --prop)'{-p,--prop}'[property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \ - ':VNIC name:' - ;; - - (delete-vnic) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':VNIC name:_dladm_vnics' - ;; - - (modify-vnic) - # TODO: MAC address completion could be richer - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \ - '-v[VLAN ID]:id:' \ - '(-p --prop)'{-p,--prop}'[property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \ - - set1 \ - '-L[source link]:link:_dladm_links' \ - - set2 \ - ':VNIC name:' - ;; - - (show-vnic) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent object information]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $vnic_properties' \ - '(-l --link)'{-l,--link}'[limit to VNICs on link]:link:_dladm_links' \ - '(-s --statistics)'{-s,--statistics}'[display VNIC statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '-Z[display ZONE column in output]' \ - '-v[display all VLAN information]' \ - '-z[zone]:zone:_sequence _zones' \ - ':VNIC name:_dladm_vnics' - ;; - - (create-etherstub) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':etherstub name:' - ;; - - (delete-etherstub) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':etherstub name:_dladm_etherstubs' - ;; - - (show-etherstub) - _arguments -A "-*" \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':etherstub name:_dladm_etherstubs' - ;; - - (show-usage) - _arguments -A "-*" \ - '(-f --file)'{-f,--file}'[read records from file]:file:_path_files' \ - '(-F --format)'{-F,--format}'[plotfile format]:plotfile format:(gnuplot)' \ - '(-p --plot)'{-p,--plot}'[write plot to file]:' \ - '(-e --start)'{-e,--start}'[start time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \ - '(-s --stop)'{-s,--stop}'[stop time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \ - ':link name:_dladm_links' - ;; - - (create-bridge) - _arguments -A "-*" \ - '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --priority)'{-p,--priority}'[specify the bridge priority]:value' \ - '(-m --max-age)'{-m,--max-age}'[specify the max age for config info]:value' \ - '(-h --hello-time)'{-h,--hello-time}'[specify the hello time]:value' \ - '(-d --forward-delay)'{-d,--forward-delay}'[specify the forward delay]:value' \ - '(-f --force-protocol)'{-f,--force-protocol}'[specify forced maximum supported protocol]:value' \ - '*'{-l,--link}'[specify link to add]:link:_dladm_links' \ - ':bridge name:' - ;; - - - (modify-bridge) - _arguments -A "-*" \ - '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --priority)'{-p,--priority}'[specify the bridge priority]:value' \ - '(-m --max-age)'{-m,--max-age}'[specify the max age for config info]:value' \ - '(-h --hello-time)'{-h,--hello-time}'[specify the hello time]:value' \ - '(-d --forward-delay)'{-d,--forward-delay}'[specify the forward delay]:value' \ - '(-f --force-protocol)'{-f,--force-protocol}'[specify forced maximum supported protocol]:value' \ - ':bridge name:_dladm_bridges' - ;; - - - (delete-bridge) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':bridge name:_dladm_bridges' - ;; - - - (add-bridge|remove-bridge) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '*'{-l,--link}'[specify link to add]:link:_dladm_links' \ - ':bridge name:_dladm_bridges' - ;; - - - (show-bridge) - # XXX $bridge_stats_properties get added into -o completions for set1 - # XXX $bridge_link_stats_properties get added into -o completions for set3 - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_properties' \ - - set2 \ - '(-s --statistics)'{-s,--statistics}'[display statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:seconds' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_stats_properties' \ - - set3 \ - '(-l --link)'{-l,--link}'[display link status or statistics]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_link_properties' \ - - set4 \ - '(-s --statistics)'{-s,--statistics}'[display statistics]' \ - '(-l --link)'{-l,--link}'[display link status or statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:seconds' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_link_stats_properties' \ - - set5 \ - '(-f --forwarding)'{-f,--forwarding}'[display forwarding entries]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_fwd_properties' \ - - set6 \ - '(-t --trill)'{-t,--trill}'[display TRILL nickname entries]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_trill_properties' \ - ':bridge name:_dladm_bridges' - ; - - - (create-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary tunnel]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-T --type)'{-T,--type}'[tunnel type]:tunnel type:(ipv4 ipv6 6to4)' \ - '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \ - ':tunnel name' - ;; - - (modify-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary modification]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \ - ':tunnel name:_dladm_iptuns' - ;; - - (delete-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':tunnel name:_dladm_iptuns' - ;; - - (show-iptun) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent tunnel configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $iptun_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':tunnel name:_dladm_iptuns' - ;; - - (create-part) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary partition]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-f --force)'{-f,--force}'[force partition creation]' \ - '(-l --link)'{-l,--link}'[IP-over-IB physical link name]:IB link:_dladm_iblinks' \ - '(-p --prop)'{-p,--prop}'[set link properties]:link property:_values -s , "property" ${(M)linkprops_nonvlanvnic\:#*\:*} ${(M)linkprops_general\:#*\:*}' \ - '(-P --pkey)'{-P,--pkey}'[set partition key]:hex number' \ - ':partition link name:' - ;; - - (delete-part) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':link name:_dladm_parts' - ;; - - (show-part) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent partition configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-l --link)'{-l,--link}'[information for this link]:link name:_dladm_iblinks' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $part_properties' \ - ':partition link name:_dladm_parts' - ;; - - (show-ib) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent partition configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $ib_properties' \ - ':IB link name:_dladm_iblinks' - ;; - - ((create|delete)-cap) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[specify root directory]:directory:_directories' \ - '(-t --temporary)'{-t,--temporary}'[capture datalink is temporary\: until next reboot]' \ - ':cap link' - ;; - - (show-cap) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[show persistent datalink configuration]' \ - '(-p --parseable)'{-p,--parseable}'[output using a stable machine-parseable format]' \ - '(-o --output)'{-o,--output}'[specify output fields]: _values -s , "field" LINK ZONE TYPE MTU' \ - ':cap link' - ;; - - (*) - _default - ;; - esac -} - -_dladm "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dlocate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dlocate deleted file mode 100644 index a2b54820..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dlocate +++ /dev/null @@ -1,33 +0,0 @@ -#compdef dlocate - -local context state line -typeset -A opt_args - -_arguments \ - '-h[help]' \ - '-S[match strings only]' \ - '-L[list all files in package]' \ - '-l[almost-emulation of dpkg -l]' \ - '-s[print status of package]' \ - '-ls[ls -ldF of all files in package]' \ - '-du[du -sck of all files in package]' \ - '-conf[list conffiles in package]' \ - '-lsconf[ls -ldF of conffiles in package]' \ - '-lsman[list man pages in package]' \ - '-lsbin[list executable files in package]' \ - '-md5sum[list md5sums (if any) of package]' \ - '-md5check[check md5sums (if any) of package]' \ - '-man[list man pages (if any) of package]' \ - ':arg:->stringorpkg' && return 0 - -case "$state" in - (stringorpkg) - if (( $+opt_args[-S] )); then - _files - else - _alternative \ - 'string:search string:_files' \ - 'package:Debian packages:_deb_packages installed' - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmesg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmesg deleted file mode 100644 index 1aa3bc26..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmesg +++ /dev/null @@ -1,39 +0,0 @@ -#compdef dmesg - -local -a args - -case $OSTYPE in - linux*) args=( -S -- ) ;; - darwin*|dragonfly*|*bsd*) - args=( - '-M[extract values from core]:core file:_files' - '-N[extract name list from kernel image]:system:_files' - ) - ;| - dragonfly*|freebsd*) - args=( - '-a[show all data, including syslog and console]' - '-c[clear the buffer after printing]' - ) - ;| - openbsd*) - args+=( - '-s[show console message buffer instead]' - ) - ;; - dragonfly*) - args+=( - '\*-f[follow buffer, displaying new data as it arrives]' - '-n[use specified kernel core]:number' - ) - ;; - netbsd*) - args+=( - '-d[show timestamp deltas]' - '(-t)-T[format uptime timestamps in a human readable form]' - '(-T)-t[suppress printing uptime timestamps]' - ) - ;; -esac - -_arguments -s : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmidecode b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmidecode deleted file mode 100644 index 047b74f6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dmidecode +++ /dev/null @@ -1,15 +0,0 @@ -#compdef dmidecode - -_arguments -s \ - '(-d --dev-mem --from-dump)'{-d+,--dev-mem=}'[read memory from specified file]:memory device [/dev/mem]:_files' \ - '(-)'{-h,--help}'[display usage information]' \ - '(-q --quiet -u --dump)'{-q,--quiet}'[be less verbose]' \ - '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \ - '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \ - '(-s --string -t --type -H --handle --dump-bin)'{-H,--handle=}'[only display the entry of specified handle]:handle' \ - '(-q --quiet -u --dump -s --string)'{-u,--dump}"[don't decode entries]" \ - '(-s --string -t --type -H --handle)--dump-bin=[dump DMI data to a binary file]:file:_files' \ - '(-d --dev-mem)--from-dump=[read DMI data from a binary file]:file:_files' \ - "--no-sysfs[don't attempt to read DMI data from sysfs files]" \ - '--oem-string=[only display the value of the specified OEM string]:OEM string number' \ - '(-)'{-V,--version}'[display version information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dnf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dnf deleted file mode 100644 index ce111f38..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dnf +++ /dev/null @@ -1,551 +0,0 @@ -#compdef dnf dnf-2 dnf-3 -# -# based on dnf-4.2.18 -# - -_dnf_helper() { - # Get the pathname of the python executable from the 1st line of dnf-2/dnf-3. - # Probably /usr/bin/python{2,3} or /usr/libexec/platform-python. - local shebang - read -u0 shebang < $(readlink -f /usr/bin/dnf) - local python_exec=${${shebang##\#! #}%% *} - local -a helper_script=( - 'import sys' - 'from dnf.cli.completion_helper import main' - 'main(sys.argv[1:])' - ) - $python_exec -c ${(j.;.)helper_script} "$@" "$PREFIX" \ - -d 0 -q -C --assumeno --nogpgcheck 2>/dev/null </dev/null -} - -_dnf_query_db() { - # $1: table name in the database ('available' or 'installed') - sqlite3 -batch -init /dev/null "$cache_file" \ - "select pkg from $1 WHERE pkg LIKE '$PREFIX%$SUFFIX'" -} - -_dnf_repositories() { - # required option: -T (all|disabled|enabled) - local selected expl - zparseopts -D -E - T:=selected - selected=$selected[2] - _wanted $selected-repositories expl "$selected repository" \ - compadd "$@" - $(_dnf_helper repolist --$selected) -} - -_dnf_packages() { - # required option: -T (all|available|installed|upgradable) - local selected pkgs expl - zparseopts -D -E - T:=selected - selected=$selected[2] - if [[ $selected = upgradable ]]; then - pkgs=( $(_dnf_helper upgrade) ) - elif [[ -r $cache_file ]]; then - local table=$selected - # 'available' table contains both 'available' and 'installed' packages - [[ $selected = all ]] && table=available - pkgs=( $(_dnf_query_db $table) ) - if [[ $selected = available ]]; then - local inst=( $(_dnf_query_db installed) ) - pkgs=( ${pkgs:|inst} ) # remove installed packages - fi - else - pkgs=( $(_dnf_helper list --$selected) ) - fi - _wanted $selected-packages expl "$selected package" compadd "$@" -a pkgs -} - -_dnf_rpm_files() { - local expl - _wanted rpm-files expl 'rpm file' _files -g '(#i)*.rpm(-.)' -} - -_dnf_packages_or_rpms() { - if [[ "$words[CURRENT]" = (*/*|\~*) ]]; then # if looks like a path name - _dnf_rpm_files - else - _dnf_packages "$@" - fi -} - -_dnf_groups_caching_policy() { - # TODO: Are there any reliable ways to validate the cache? - local -a newer=( "$1"(Nmw-1) ) # rebuild if more than a week old - return $#newer -} - -_dnf_groups() { - local package_groups update_policy expl - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _dnf_groups_caching_policy - fi - if _cache_invalid dnf-groups || ! _retrieve_cache dnf-groups; then - # this can be very slow - package_groups=( ${${${(M)${(f)"$(_call_program package-groups \ - $service group list -v 2>/dev/null)"}:# *}#*\(}%\)*} ) - _store_cache dnf-groups package_groups - fi - _wanted package-groups expl 'package group' compadd "$@" -a package_groups -} - -_dnf_repoquery() { - local _h='' - # 'dnf deplist' is an alias for 'dnf repoquery --deplist' - [[ $words[1] = deplist ]] && _h='!' - local -a opts=( '(- *)--querytags[list tags recognized by --queryformat]' ) - # Select options - opts+=( - '(-a --all)'{-a,--all}'[query all packages]' - '--arch=[limit results to specified architectures]:list of archs: ' - '--available[limit results to available packages]' - '--disable-modular-filtering[include packages of inactive module streams]' - '(-f --file)'{-f+,--file=}'[limit results to packages which own specified file]:file:_files' - '--latest-limit=[limit results to latest packages of specified number]:number: ' - '--recent[limit results to recently edited packages]' - '(--exactdeps)--alldeps[with --what{depends,requires}, also check non-explicit dependencies]' - '(--alldeps)--exactdeps[with --what{depends,requires}, check only explicit dependencies]' - '*--repo=[limit result to packages from the specified repo]: : _sequence _dnf_repositories -T all' - '--srpm[operate on the corresponding source RPM]' - '--whatdepends=[limit result to packages that require, enhance, recommend, suggest or supplement specified capability]:capability: ' - ) - for v in conflict enhance obsolete provide recommend require suggest supplement; do - opts+=( "--what${v}s=[limit result to packages that $v specified capability]:capability: " ) - done - # Query options - opts+=( - '--location[show a location where package could be downloaded from]' - '--tree[display recursive tree of packages]' - $_h'--deplist[display list of all direct dependencies and their providers]' - '--recursive[query packages recursively]' - '--resolve[resolve capabilities to originating package(s)]' - ) - # mutually exclusive Select options - opts+=( - + '(pkg_filter)' - '--duplicates[limit results to installed duplicate packages]' - '--installonly[limit results to installed installonly packages]' - '--unsatisfied[limit results to installed packages with unsatisfied dependencies]' - + '(list_group)' - '--installed[limit results to installed packages]' - '--extras[limit results to extra packages (not in any repos)]' - '--upgrades[limit results to upgrades for installed packages]' - '--unneeded[limit results to packages which are no longer needed]' - '--userinstalled[limit results to packages installed by user]' - ) - # mutually exclusive Query options - opts+=( - + '(output_format)' - {-i,--info}'[show detailed info about the package]' - {-l,--list}'[show list of files in the packages]' - {-s,--source}'[show source RPM name]' - '--changelogs[print package changelogs]' - '--nvr[show found packages in name-version-release format]' - '--nevra[show found packages in name-epoch:version-release.architecture format]' - '--envra[show found packages in epoch:name-version-release.architecture format]' - {--qf=,--queryformat=}'[specify custom output format]:format: ' - '--groupmember[display groups in which the package belongs]' - + '(pkg_attr)' - '--conflicts[display capabilities that the package conflicts with]' - '--depends[display capabilities that the package depends on, enhances, recommends, suggests or supplements]' - '--enhances[display capabilities that the package enhance]' - '--provides[display capabilities that the package provides]' - '--recommends[display capabilities that the package recommends]' - '--requires[display capabilities that the package depends on]' - '--requires-pre[display capabilities that the package depends on for running %pre script]' - '--suggests[display capabilities that the package suggests]' - '--supplements[display capabilities that the package supplements]' - '--obsoletes[display capabilities that the package obsoletes]' - ) - _arguments : '*: : _dnf_packages -T all' $opts -} - -_dnf_repository_packages() { - if (( CURRENT == 2 )); then - _dnf_repositories -T all - elif (( CURRENT == 3 )); then - local -a subcmds=( - 'check-update:check if updates are available in the repository' - 'info:list description of packages in the repository' - 'install:install all packages in the repository' - 'list:list packages in the repository' - 'move-to:reinstall all packages that are available in the repository' - 'reinstall:run reinstall-old, or move-to if it fails' - 'reinstall-old:reinstall all packages that were installed from the repository' - 'remove:remove all packages installed from the repository' - 'remove-or-distro-sync:sync packages with other repo if available there, or remove otherwise' - 'remove-or-reinstall:reinstall packages if available in other repo, or remove otherwise' - 'upgrade:update all packages in the repository' - ) - _describe -t subcommands 'subcommand' subcmds - elif [[ $words[3] = (info|list) ]]; then - if (( CURRENT == 4 )); then - _wanted options expl "option" compadd - --all --installed --available \ - --extras --obsoletes --recent --upgrades - else - _dnf_packages -T all - fi - elif [[ $words[3] = install ]]; then - _dnf_packages -T available - elif [[ $words[3] = upgrade* ]]; then - _dnf_packages -T upgradable - else - _dnf_packages -T installed - fi -} - -_dnf() { - local cache_file="/var/cache/dnf/packages.db" - local -a opts=( - '(-6)-4[resolve to IPv4 addresses only]' - '(-4)-6[resolve to IPv6 addresses only]' - '*--advisory=[include packages for specified advisory]:advisory: ' - '--allowerasing[allow erasing installed packages to resolve dependencies]' - '(-y --assumeyes)--assumeno[answer no for all questions]' - '(-b --best)'{-b,--best}'[try the best available package version]' - '--bugfix[include bugfix relevant packages]' - '*'{--bz=,--bzs=}'[include packages needed to fix the specified Bugzilla]:BZ ID: ' - '(-C --cacheonly)'{-C,--cacheonly}"[run entirely from system cache, don't update cache]" - '--color=[control whether color is used]:when:(always never auto)' - '--comment=[add comment to transaction history]:comment: ' - '(-c --config)'{-c+,--config=}'[specify configuration file]:config file:_files' - '*'{--cve=,--cves=}'[include packages needed to fix the specified CVE]:CVE ID: ' - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debugging output level]:level (0-10): ' - '--debugsolver[dump detailed solving results in file ./debugdata]' - '*--disableexcludes=[disable config file excludes]: : _alternative "sections\:section\:(all main)" "repositories\:repository\:_dnf_repositories -T all"' - '(--disable --set-disabled)'{--disable,--set-disabled}'[disable repos with config-manager command]' - '*--disableplugin=[disable specified plugins]:list of plugin names: ' - '(--repo)*--disablerepo=[disable specified repos]: : _sequence _dnf_repositories -T enabled' - '(--downloaddir --destdir)'{--downloaddir=,--destdir=}'[redirect downloaded packages to the specified dir]:directory:_files -/' - '--downloadonly[only download the resolved packages]' - '(-e --errorlevel)'{-e+,--errorlevel=}'[specify error output level]:level (0-10): ' - '(--enable --set-enabled)'{--enable,--set-enabled}'[enable repos with config-manager command]' - '--enableplugin=[enable specified plugins]:list of plugin names: ' - '*--enablerepo=[enable additional repos]: : _sequence _dnf_repositories -T disabled' - '--enhancement[include enhancement relevant packages]' - '*'{-x+,--exclude=}'[exclude specified packages]: : _sequence _dnf_packages -T all' - '--forcearch=[force the use of the specified arch]:arch: ' - '(-)'{-h,--help}'[show the help message]' - '--installroot=[set install root]:directory:_files -/' - '--newpackage[include newpackage relevant packages]' - '--noautoremove[disable removal of dependencies that are no longer used]' - '--nobest[do not limit transactions to best candidates]' - '--nodocs[do not install documentation]' - '--nogpgcheck[skip checking GPG signatures on packages]' - '--noplugins[disable all plugins]' - '--obsoletes[enable obsoletes processing logic]' - '(-q --quiet)'{-q,--quiet}'[show just the relevant content]' - '(-R --randomwait)'{-R+,--randomwait=}'[maximum command wait time]:max wait time (minutes): ' - '--refresh[set metadata as expired before running the command]' - '--releasever=[configure DNF for another release]:release: ' - '*--repofrompath=[specify additional repos]:repository_label,path_or_url: ' - '(--disablerepo)*'{--repo=,--repoid=}'[enable just the specified repo]: : _sequence _dnf_repositories -T all' - '--rpmverbosity=[set RPM debug scriptlet output level]:debug level:(critical emergency error warn info debug)' - '*--sec-severity=[include security relevant packages matching specified severity]:severity:(Critical Important Moderate Low)' - '--security[include security relevant packages]' - '*--setopt=[override config option]:repoid.option=value: ' - '--skip-broken[resolve depsolve problems by skipping packages]' - '--show-duplicates[show duplicate packages in repos]' - '(-v --verbose)'{-v,--verbose}'[set verbose, show debug messages]' - '(- *)--version[show dnf version]' - '(-y --assumeyes --assumeno)'{-y,--assumeyes}'[answer yes for all questions]' - ) - _arguments -s : $opts '*::dnf command:_dnf_command' -} - -_dnf_command() { - local -a dnf_cmds=( - 'alias:define and manage aliases' - "autoremove:automatically remove no longer required packages" - 'check:report problems in local packagedb if any' - "check-update:check for available package upgrades" - "clean:remove cached data" - 'deplist:alias for "repoquery --deplist"' - "distro-sync:synchronize installed packages to the latest available versions" - "downgrade:downgrade a package" - "group:display, or use, the groups information" - "help:display a helpful usage message" - "history:display, or use, the transaction history" - "info:display details about a package or group of packages" - "install:install a package or packages on your system" - "list:list a package or groups of packages" - "makecache:generate the metadata cache" - "mark:mark or unmark installed packages as installed by user" - 'module:interact with modules' - "provides:find what package provides the given value" - "reinstall:reinstall a package" - "remove:remove a package or packages from your system" - "repolist:display the configured software repositories" - 'repoquery:search repos for packages and display info about them' - "repository-packages:run commands on top of all packages in given repository" - "search:search package details for the given string" - 'shell:open an interactive shell' - 'swap:replace a package by another' - "updateinfo:display advisories about packages" - "upgrade:upgrade a package or packages on your system" - 'upgrade-minimal:upgrade only bugfix, enhancement or security fix' - ) - - if (( CURRENT == 1 )); then - _describe -t dnf-commands 'dnf command' dnf_cmds - else - local curcontext=$curcontext cur=$words[CURRENT] cmd tmp expl ret=1 - # Deal with aliases (not comprehensive) - case $words[1] in - check-updgrade) cmd=check-update;; - distrosync|dsync) cmd=distro-sync;; - dg) cmd=downgrade;; - erase|rm) cmd=remove;; - groups|grp) cmd=group;; - hist) cmd=history;; - in) cmd=install;; - mc) cmd=makecache;; - prov|whatprovides) cmd=provides;; - rei) cmd=reinstall;; - repoinfo) cmd=repolist;; - rq) cmd=repoquery;; - se) cmd=search;; - sh) cmd=shell;; - update|up) cmd=upgrade;; - update-minimal|up-min) cmd=upgrade-minimal;; - *) cmd="${${dnf_cmds[(r)$words[1]:*]%%:*}}";; - esac - (( $#cmd )) && curcontext="${curcontext%:*:*}:dnf-${cmd}:" - - case $cmd in - alias) - if (( CURRENT == 2 )); then - _wanted subcommands expl 'subcommand' \ - compadd - list add delete && ret=0 - elif [[ $words[2] = add ]]; then - _message "name='value'" && ret=0 - else - _message "alias name" && ret=0 - fi - ;; - autoremove|downgrade|reinstall) - _dnf_packages_or_rpms -T installed && ret=0 - ;; - check) - tmp=( - '--all:show all problems (default)' - '--dependencies:show dependency problems' - '--duplicates:show duplicate problems' - '--obsoleted:show obsoleted packages' - '--provides:show problems with provides' - ) - _describe -t options 'option' tmp && ret=0 - ;; - check-update) - if [[ $cur = -* ]]; then - _wanted options expl 'option' compadd - --changelogs && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - clean) - tmp=( - 'dbcache:remove cache files generated from the repository metadata' - 'expire-cache:mark the repository metadata expired' - 'metadata:remove the repository metadata' - 'packages:remove any cached packages' - 'all:clean all' - ) - _describe -t targets 'clean target' tmp && ret=0 - ;; - distro-sync) - _dnf_packages -T installed && ret=0 - ;; - group) - if (( CURRENT == 2 )); then - tmp=( - "summary:display groups overview" - "info:display package lists of a group" - "install:install packages from a group" - "list:list all matching groups" - "remove:remove packages in a group not used by other groups" - "upgrade:upgrade the group and its packages" - "mark:mark a group for installation or removal" - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif (( CURRENT == 3 )) && [[ $cur = -* ]]; then - if [[ $words[2] == install ]]; then - _wanted options expl 'option' compadd - --with-optional && ret=0 - elif [[ $words[2] == list ]]; then - tmp=( - '--available:show only available groups' - '--installed:show only installed groups' - '--hidden:show also hidden groups' - '--ids:show also ID of groups' - ) - _describe -t options 'option' tmp && ret=0 - fi - elif (( CURRENT == 3 )) && [[ $words[2] == mark ]]; then - _wanted subcommands expl 'subcommand' \ - compadd - install remove && ret=0 - else - _dnf_groups && ret=0 - fi - ;; - help) - if (( CURRENT == 2 )); then - _wanted commands expl 'dnf command or alias' \ - compadd - $(_dnf_helper '_cmds') && ret=0 - fi - ;; - history) - if (( CURRENT == 2 )); then - tmp=( - "list:list transactions" - "info:describe the given transactions" - "redo:repeat the specified transaction" - "rollback:undo all since the given transaction" - "undo:undo transactions" - "userinstalled:list all packages installed by users" - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif [[ $words[2] != userinstalled ]]; then - _message 'transaction' && ret=0 - fi - ;; - info|list) - if (( CURRENT == 2 )); then - if [[ $cur = -* ]]; then - tmp=( --all --available --installed --extras - --obsoletes --upgrades --autoremove --recent ) - _wanted options expl 'option' compadd -a tmp - else - _dnf_packages -T all && ret=0 - fi - elif [[ $words[2] == --(all|recent) ]]; then - _dnf_packages -T all && ret=0 - elif [[ $words[2] == --available ]]; then - _dnf_packages -T available && ret=0 - elif [[ $words[2] == --upgrades ]]; then - _dnf_packages -T upgradable && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - install) - _dnf_packages_or_rpms -T available && ret=0 - ;; - makecache) - if (( CURRENT == 2 )); then - _describe -t options 'option' \ - '(--timer:"be more resource-aware")' && ret=0 - fi - ;; - mark) - if (( CURRENT == 2 )); then - _wanted subcommands expl 'mark as' \ - compadd - install remove group && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - module) - if (( CURRENT == 2 )); then - tmp=( - 'install:install a module profile including its packages' - 'update:update packages associated with an active module stream' - 'remove:remove installed module profiles and their packages' - 'enable:enable a module stream' - 'disable:disable a module with all its streams' - 'reset:reset module state, no longer enabled or disabled' - 'provides:list modular packages, with modules they belong to' - 'list:list all (or selected) module streams, profiles and states' - 'info:print detailed information about a module' - 'repoquery:list packages belonging to a module' - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif (( CURRENT == 3 )) && [[ $cur = -* ]]; then - if [[ $words[2] = remove ]]; then - tmp=( --all ) - elif [[ $words[2] = list ]]; then - tmp=( --all --enabled --disabled --installed ) - elif [[ $words[2] = info ]]; then - tmp=( --profile ) - elif [[ $words[2] = repoquery ]]; then - tmp=( --available --installed ) - fi - _wanted options expl 'option' compadd -a tmp && ret=0 - else - # TODO: complete module name or spec - if [[ $words[2] = provides ]]; then - _dnf_packages -T all && ret=0 - elif [[ $words[2] = (disable|reset|list) ]]; then - _message 'module name' && ret=0 - else - _message 'module spec' && ret=0 - fi - fi - ;; - provides) - _files && ret=0 - ;; - remove) - if (( CURRENT == 2 )) && [[ $cur = -* ]]; then - _wanted options expl 'option' \ - compadd - --duplicates --oldinstallonly && ret=0 - elif [[ $words[2] != -* ]]; then - _dnf_packages_or_rpms -T installed && ret=0 - fi - ;; - repolist) - if (( CURRENT == 2 )); then - _wanted options expl 'option' \ - compadd - --enabled --disabled --all && ret=0 - fi - ;; - repoquery|deplist) - _dnf_repoquery && ret=0 - ;; - repository-packages) - _dnf_repository_packages - ;; - search) - if [[ $cur = -* ]]; then - _wanted options expl 'option' compadd - --all && ret=0 - else - _message 'keywords' && ret=0 - fi - ;; - shell) - if (( CURRENT == 2 )); then - _wanted script-files expl 'script file' _files && ret=0 - fi - ;; - swap) - case $CURRENT in - 2) _dnf_packages -T installed && ret=0 ;; - 3) _dnf_packages -T available && ret=0 ;; - esac - ;; - updateinfo) - tmp=( - '--with-cve[print only advisories referencing CVE]' - '--with-bz[print only advisories referencing bugzilla]' - + '(output-type)' - '--summary[display just counts of advisories of each type]' - '--list[display list of advisories]' - '--info[display detailed information of advisories]' - + '(availability)' - '--available[limit to advisories about newer versions of installed packages]' - '--installed[limit to advisories about equal or older versions of installed packages]' - '--updates[limit to advisories about newer and available versions of installed packages]' - ) - _arguments '*: : _dnf_packages -T installed' $tmp && ret=0 - ;; - upgrade) - _dnf_packages_or_rpms -T upgradable && ret=0 - ;; - upgrade-minimal) - _dnf_packages -T upgradable && ret=0 - ;; - esac - return ret - fi -} - -_dnf "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dns_types b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dns_types deleted file mode 100644 index b6bc2e68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dns_types +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -local expl -_description dns-types expl 'DNS type' -compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z}' \ - ANY A AAAA AFSDB APL AXFR CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME \ - DNSKEY DS HIP HINFO IPSECKEY IXFR KEY KX LOC MX NAPTR NS NSEC NSEC3 \ - NSEC3PARAM OPT PTR RRSIG RP SIG SOA SPF SRV SSHFP TA TKEY TLSA TSIG TXT diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_doas b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_doas deleted file mode 100644 index 3ef036a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_doas +++ /dev/null @@ -1,23 +0,0 @@ -#compdef doas - -local environ e cmd cpp -local -a _comp_priv_prefix -local -A opt_args - -zstyle -a ":completion:${curcontext}:" environ environ - -for e in "${environ[@]}" -do local -x "$e" -done - -cmd="$words[1]" -cpp='_comp_priv_prefix=( $cmd -n ${(kv)opt_args[(I)-u]} )' -_arguments -s -S -A '-*' : \ - '(: * -)-L[clear any persisted authorizations]' \ - '(-L)-a+[specify authentication style]:authentication style' \ - '(-L -n -s)-C+[check config file and report on command matching]:config:_files' \ - '(-C -L)-n[non-interactive: fail rather than prompt for a password]' \ - '(-C -L *)-s[run a shell]' \ - '(-L)-u+[run command as specified user]: :_users' \ - "(-)1: :{ $cpp; _command_names -e }" \ - "*:: :{ $cpp; _normal }" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_domains b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_domains deleted file mode 100644 index 851ac793..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_domains +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -local expl domains tmp - -if ! zstyle -a ":completion:${curcontext}:domains" domains domains; then - if (( ! $+_cache_domains )); then - _cache_domains=() - if [[ -f /etc/resolv.conf ]]; then - while read tmp; do - [[ "$tmp" = (domain|search)* ]] && - _cache_domains=( "$_cache_domains[@]" "${=${tmp%%[ ]#}#*[ ]}" ) - done < /etc/resolv.conf - _cache_domains=( "${(@)_cache_domains:#[ ]#}" ) - fi - fi - domains=( "$_cache_domains[@]" ) -fi - -_wanted domains expl domain \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - domains diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dos2unix b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dos2unix deleted file mode 100644 index c7820a8e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dos2unix +++ /dev/null @@ -1,129 +0,0 @@ -#compdef dos2unix unix2dos mac2unix unix2mac - -local variant ret=1 -local -a context expl line state state_descr cp_opts xl_opts args -local -A opt_args - -# Code-page options for ISO translation (use group `cp`) -cp_opts=( - '(-7 -ascii)-437[use DOS code page 437 (US) for ISO translation]' - '(-7 -ascii)-850[use DOS code page 850 (Western European) for ISO translation]' - '(-7 -ascii)-860[use DOS code page 860 (Portuguese) for ISO translation]' - '(-7 -ascii)-863[use DOS code page 863 (French Canadian) for ISO translation]' - '(-7 -ascii)-865[use DOS code page 865 (Nordic) for ISO translation]' - - '(-7 -ascii)-1252[use Windows code page 1252 (Western European) for ISO translation]' -) -# Translation/conversion options (use group `xl`) -xl_opts=( - '(cp)-7[also replace 8-bit characters by 7-bit spaces]' - '(cp)-ascii[convert only line breaks (CRLF<->LF)]' - '-iso[also convert between DOS and ISO character sets]' - - {-c,--convmode}'[specify conversion mode]:conversion mode:(( - 7bit\:"also replace 8-bit characters by 7-bit spaces" - ascii\:"convert only line breaks (CRLF<->LF)" - iso\:"also convert between DOS and ISO character sets" - mac\:"convert only line breaks (CR<->LF)" - ))' - {-ub,--assume-utf16be}'[assume input file format is UTF-16BE]' - {-ul,--assume-utf16le}'[assume input file format is UTF-16LE]' -) - -# `dos2unix` here is the dos2unix package provided by many Linux distributions, -# Homebrew, &al. `unix2dos` is the unix2dos package provided by FreeBSD, &al. -# Some implementations (Solaris) don't bother with any kind of argument -# validation, so we pass in /dev/null to make sure they never hang -_pick_variant -r variant \ - dos2unix='(#i)waterlan' \ - unix2dos='-p' \ - $OSTYPE \ - --version /dev/null{,} - -case $variant in - dos2unix) - # -D and -gb are omitted, since they only make sense on Windows - args=( - '(: * -)'{-h,--help}'[display help information]' - '(: * -)'{-L,--license}'[display license information]' - '(: * -)'{-V,--version}'[display version information]' - '(-l --newline)'{-l,--newline}'[write two line breaks to output for each converted line break]' - '(-u --keep-utf16)'{-u,--keep-utf16}'[write output in same UTF-16 encoding as input]' - '*:: :->file' - + '(qv)' # Verbosity options - {-q,--quiet}'[reduce output verbosity]' - {-v,--verbose}'[increase output verbosity]' - + '(cp)' # Code-page options - $cp_opts - + '(xl)' # Translation/conversion options - $xl_opts - + bm # BOM options - '(-b -r --keep-bom --remove-bom)'{-b,--keep-bom}'[write existing BOM to output]' - '(-m -r --add-bom --remove-bom)'{-m,--add-bom}'[write new BOM to output]' - '(bm)'{-r,--remove-bom}"[don't write BOM to output]" - + '(ch)' # chown options - '--allow-chown[allow file-ownership changes in old-file mode]' - "--no-allow-chown[don't allow file-ownership changes in old-file mode]" - + '(fs)' # Force/safe options - {-f,--force}'[force conversion of binary files]' - {-s,--safe}'[skip binary files]' - + '(in)' # Info options - {-i-,--info=-}'[display (specified) file information]:: :->info' - + '(ln)' # Symlink options - {-F,--follow-symlink}'[follow symbolic links]' - {-R,--replace-symlink}'[replace symbolic links]' - {-S,--skip-symlink}'[skip symbolic links]' - + '(no)' # File-mode options - {-n,--newfile}'[convert each input file to specified output file]' - {-o,--oldfile}'[convert input files in place]' - ) - # No stacking! - _arguments -S -A '-*' : $args && ret=0 - - case $state in - file) - if (( CURRENT % 2 == 0 )) && [[ -n ${opt_args[(I)*-(-n|--newfile)]} ]]; then - _description files expl 'output file' - else - _description files expl 'input file' - fi - _files "${(@)expl}" && ret=0 - ;; - info) - _values -s '' 'information flag [dumbt]' \ - '0[end each output line with NUL instead of newline]' \ - 'b[show BOM type]' \ - 'c[show only files that would be converted]' \ - 'd[show number of DOS line breaks (CRLF)]' \ - 'h[show header]' \ - 'm[show number of Mac line breaks (CR)]' \ - 'p[show file names without paths]' \ - 't[show whether file is text or binary]' \ - 'u[show number of UNIX line breaks (LF)]' \ - && ret=0 - ;; - esac - - return ret - ;; - unix2dos) - _arguments -s -S -A '-*' : \ - '-p[preserve access and modification times]' \ - '*:input file:_files' - return - ;; - solaris*) - _arguments -A '-*' : \ - '1:input file:_files' \ - '2:output file:_files' \ - + '(cp)' \ - ${(@M)cp_opts:#(|\([^\)]#\))-(437|850|860|863|865)(|\[*)} \ - + '(xl)' \ - ${(@M)xl_opts:#(|\([^\)]#\))-(7|ascii|iso)(|\[*)} - return - ;; - *) - _default - return - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpatch-edit-patch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpatch-edit-patch deleted file mode 100644 index 2c463066..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpatch-edit-patch +++ /dev/null @@ -1,17 +0,0 @@ -#compdef dpatch-edit-patch - -_arguments \ - '(-d --description)'{-d,--description=}'[description for the new patch, if applicable]' \ - '(-o --outdir)'{-o,--outdir=}'[output directory for patches]:patch output directory:_files -/' \ - '(-s --sourcedir)'{-s,--sourcedir=}'[source directory]:source directory:_files -/' \ - '(-t --tmpdir)'{-t,--tmpdir=}'[temporary directory]:temporary directory:_files -/' \ - '(-p --stampdir)'{-p,--stampdir=}'[stamp directory]:stamp directory:_files -/' \ - '(-e --exclude)'{-e,--exclude}'[list of files and directories to be excluded]:excluded files and directories:_files' \ - '(-b --debianonly)'{-b,--debianonly=}'[unpack .orig.tar.gz before invoking the shell]:path to .orig.tar.gz:_files' \ - '(-k --keeptemp)'{-k,--keeptemp}'[keep working source tree after exit]' \ - '(-c --clean)'{-c,--clean}'[clean the current directory]' \ - '(-l --shell)'{-l,--shell=}'[shell to be invoked]:shell:' \ - '(-P --origtargzpath)'{-P,--origtargzpath=}'[colon-separated list of paths containing upstream tarballs, use with -b]:path to upstream tarballs:_dir_list' \ - '(-h --help)'{-h,--help}'[help text]' \ - '1:patch name:_files -W $PWD/debian/patches -g \*.dpatch\(-.\:r\)' \ - '2:base patch name:_files -W $PWD/debian/patches -g \*.dpatch\(-.\:r\)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg deleted file mode 100644 index 48ea2db9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg +++ /dev/null @@ -1,194 +0,0 @@ -#compdef dpkg dpkg-deb dpkg-query dpkg-reconfigure - -local _dpkg_deb_actions _dpkg_common_actions _dpkg_actions _dpkg_options -local _dpkg_options_recursive #_dpkg_actions_install _dpkg_actions_record_avail -local _dpkg_deb_only_actions -local _dpkg_deb_and_query_only_actions _dpkg_deb_and_query_only_options -local _dpkg_query_actions -local curcontext="$curcontext" context state line expl ret -typeset -A opt_args - -_dpkg_deb_only_actions=( - '-D[debugging output]' - '(--new)--old[old archive format]' - '(--old)--new[new archive format]' - '--nocheck[suppress control file check]' - '-z+[compression level]:compression number:(1 2 3 4 5 6 7 8 9)' -) - -_dpkg_deb_actions=( - '(--build -b)'{--build,-b}'[build archive]:directory:_files -/' - '(--contents -c)'{--contents,-c}'[list contents]: :_deb_files' - '(--info -I)'{--info,-I}'[show info]: :_deb_files' - '(--field -f)'{--field,-f}'[show fields]: :_deb_files' - '(--control -e)'{--control,-e}'[extract control]: :_deb_files' - '(--extract -x)'{--extract,-x}'[extract files]: :_deb_files' - '(--vextract -X)'{--vextract,-X}'[extract and list files]: :_deb_files' - '--fsys-tarfile[output fs tarfile]: :_deb_files' -) - -_dpkg_common_actions=( - '--help[show help]' - '--version[show version]' - '(--license --licence)'{--license,--licence}'[show licensing]' -) - -_dpkg_actions=( - '(--install -i)'{--install,-i}'[install packages]:*:Debian packages:->install' - '--unpack[unpack package]: :_deb_files' - '--configure[reconfigure specified packages]:*:package:->configure' - '(--remove -r)'{--remove,-r}'[remove package]:*:package:->remove' - '(--purge -P)'{--purge,-P}'[purge package]:*:package:->purge' - '--update-avail[update available]:package file:_files' - '--merge-avail[merge available]:package file:_files' - '(--record-avail -A)'{--record-avail,-A}'[record available]:*:package files:->record_avail' - '--forget-old-unavail[forget uninstalled unavailable]' - '--clear-avail[clear available]' - '(--audit -C)'{--audit,-C}'[check for broken pkgs]' - '--get-selections[get selections]:pattern:' - '--set-selections[set selections]' - '--yet-to-unpack[list uninstalled]' - '--print-architecture[print target architecture]' - '--print-installation-architecture' - '--print-foreign-architectures[print list of extra architectures]' - '--add-architecture[add extra architecture]:architecture:->add_architecture' - '--remove-architecture[remove extra architecture]:architecture:->remove_architecture' - '--compare-versions[compare version numbers]:*::expression:= ->compare_versions' -) - -_dpkg_options=( - '--abort-after[abort after errors]:number of errors:' - '--root=[alternative root]:root:_files -/' - '--instdir=[change inst root but not data dir]:_files -/' - '(--selected-only -O)'{--selected-only,-O}'[skip unselected packages]' - '(--skip-same-version -E)'{--skip-same-version,-E}'[skip packages with same version as installed]' - '(--refuse-downgrade -G)'{--refuse-downgrade,-G}'[skip packages with earlier version than installed]' - '(--auto-deconfigure -B)'{--auto-deconfigure,-B}'[install can break other packages]' - '--largemem[optimize for >4Mb RAM]' - '--smallmem[optimize for <4Mb RAM]' - '--no-act[show potential actions but do not follow through]' - '-D+[debug options]:debug options:(h 1 2 3)' - '--debug=[debug options]:debug options:(help 1 2 3)' - '--ignore-depends=[ignore depends involving package]:package:_deb_packages avail' - --{force,refuse,no-force}'--[forcing options]:what:(all downgrade configure-any hold bad-path not-root overwrite overwrite-diverted bad-verify depends-version depends confnew confold confdef confmiss conflicts architecture overwrite-dir remove-reinstreq remove-essential help)' -) - -_dpkg_options_recursive=( '(--recursive -R)'{--recursive,-R}'[recursive]' ) - -_dpkg_deb_and_query_only_actions=( - '(--show -W)'{--show,-W}'[show package info]: :_deb_files' -) - -_dpkg_deb_and_query_only_options=( - '--showformat=-[alternative format]:format: ' -) - -_dpkg_query_actions=( - '(--status -s)'{--status,-s}'[display package status]:*:packages:->status' - '(--print-avail -p)'{--print-avail,-p}'[display available details]:packages:_deb_packages avail' - '(--listfiles -L)'{--listfiles,-L}'[list owned files]:*:packages:->listfiles' - '(--list -l)'{--list,-l}'[list packages]:*:packages:->list' - '(--search -S)'{--search,-S}'[search for file owner]:*:pattern:->search' - '--admindir=[data directory]:directory:_files -/' -) - -# not needed anymore? -# _dpkg_actions_install=('(--install)-i[install]' '(-i)--install') -# _dpkg_actions_record_avail=('(--record-avail)-A[record available]' '(-A)--record-avail') - -case "$service" in - dpkg) - _arguments -C -s \ - "$_dpkg_actions[@]" \ - "$_dpkg_deb_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_options[@]" \ - "$_dpkg_options_recursive[@]" \ - "$_dpkg_query_actions[@]" && return 0 - ;; - - dpkg-deb) - _arguments "$_dpkg_deb_actions[@]" \ - "$_dpkg_deb_only_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_deb_and_query_only_actions[@]" \ - "$_dpkg_deb_and_query_only_options[@]" && return 0 - - ;; - - dpkg-query) - _arguments "$_dpkg_query_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_deb_and_query_only_actions[@]" \ - "$_dpkg_deb_and_query_only_options[@]" && return 0 - ;; - dpkg-reconfigure) - _arguments -s -w \ - '(-f --frontend)'{-f,--frontend}'[select frontend to use]:frontend:(dialog readline noninteractive gnome kde editor web)' \ - '(-p --priority)'{-p,--priority}'[specify min priority of questions]:priority:(low medium high critical)' \ - '--default-priority[use default question priority]' \ - '(*)--all[reconfigure all installed packages using debconf]' \ - '(-u --unseen-only)'{-u,--unseen-only}'[only ask questions not yet seen are asked]' \ - '--force[reconfigure even packages in broken state]' \ - '(-)'{-h,--help}'[display help information]' \ - '*:package:_deb_packages installed' && return 0 - ;; -esac - -case "$state" in - install|record_avail) - _call_function ret _dpkg_$state && return ret -# not needed anymore? -# "${(@e):-\$_dpkg_actions_${state}}" \ - _arguments -C -A '-*' -s \ - "$_dpkg_options[@]" \ - \!${^_dpkg_actions%%:*} \ - - recur \ - "$_dpkg_options_recursive[@]" \ - '*:directory:_path_files -/' \ - - nonrecur \ - '*: :_deb_files' - ;; - remove|status|listfiles) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:package:_deb_packages installed' - ;; - purge) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:package:_deb_packages xinstalled' - ;; - list) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:packages:_deb_packages avail' - ;; - compare_versions) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s \ - '1:version A:' \ - '2:operator:(lt le eq ne ge gt lt-nl le-nl ge-nl gt-nl)' \ - '3:version B:' - ;; - configure) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s '--configure' \ - "$_dpkg_options[@]" \ - '(* -a --pending)'{-a,--pending}'[pending packages]' \ - '*:package:_deb_packages installed' - ;; - search) - _call_function ret _dpkg_$state && return ret - _files - ;; - add_architecture) - _call_function ret _dpkg_$state && return ret - _wanted architecture expl 'extra architecture' \ - compadd ${(f)"$(dpkg-architecture -L 2>/dev/null)"} - ;; - remove_architecture) - _call_function ret _dpkg_$state && return ret - _wanted architecture expl 'extra architecture' \ - compadd ${(f)"$(dpkg --print-foreign-architectures 2>/dev/null)"} -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-buildpackage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-buildpackage deleted file mode 100644 index b0eea578..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-buildpackage +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dpkg-buildpackage - -_arguments \ - '-b[binary-only build, no source]' \ - '-B[binary-only build, no source or arch-indep binaries]' \ - '-S[source-only build, no binaries]' \ - '-s-:source generation:((i\:default a\:force\ inclusion\ of\ original\ source d\:force\ exclusion\ of\ original\ source))' \ - '-a-:architecture:_deb_architectures' \ - '-v-:version:' \ - '-C-:changes description:_files' \ - '-m-:maintainer address:_email_addresses' \ - '-e-:maintainer address:_email_addresses' \ - '(-d)-D[check build dependencies and conflicts]' \ - '(-D)-d[do not check build dependencies and conflicts]' \ - '-W[turn certain errors into warnings]' \ - '-E[negates previously-set -W]' \ - '-nc[do not clean source tree]' \ - '-tc[clean the source tree after build]' \ - '-r-:gain-root command: _command_names -e' \ - '-p-:sign command: _command_names -e' \ - '-k-:key ID:' \ - '-us[do not sign source package]' \ - '-uc[do not sign .changes file]' \ - '*-i-:ignore regexp:' \ - '*-I-:ignore filename:_files' \ - '--admindir=:dpkg database dir:_files -/' \ - '(-h --help)'{-h,--help}'[show usage message]' \ - '--version[show version]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-cross b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-cross deleted file mode 100644 index 7d890827..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-cross +++ /dev/null @@ -1,22 +0,0 @@ -#compdef dpkg-cross - -local _dpkgcross_arches - -_dpkgcross_arches=(/etc/dpkg-cross/cross-config.*(N)) -_dpkgcross_arches=(${${_dpkgcross_arches#*.}:-alpha amd64 common cygwin-i386 gnu hppa i386 linux m32r m68k mips powerpc sh sh3 sh3eb sh4 sh4eb w32}) - -_arguments \ - '(-h --help)'{-h,--help}'[show summary of options]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-q --quiet)'{-q,--quiet}'[be more quiet]' \ - '(-a --arch)'{-a,--arch}':architecture:('"$_dpkgcross_arches"')' \ - '(-i --install)'{-i,--install}'[install packages]' \ - '(-A --convert-anyway)'{-A,--convert-anyway}'[convert package even if not useful]' \ - '(-b --build)'{-b,--build}'[just build but do not install]' \ - '(-r --remove)'{-r,--remove}'[remove packages]' \ - '(-s --status)'{-s,--status}'[print status of named packages]' \ - '(-l --list)'{-l,--list}'[print short status of named packages or patterns]' \ - '(-L --list-files)'{-L,--list-files}'[list files belonging to named packages]' \ - '(-u --update)'{-u,--update}'[update current cross-inst]' \ - '(-Q --query)'{-Q,--query}'[print available update packages]' \ - '*:package or path or pattern:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-repack b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-repack deleted file mode 100644 index 37f80051..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg-repack +++ /dev/null @@ -1,7 +0,0 @@ -#compdef dpkg-repack - -_arguments \ - '--root=[take package from filesystem rooted on <dir>]:root dir:_files -/' \ - '--arch=[force the package to be built for specified architecture]:architecture:_deb_architectures' \ - '--generate[generate build directory but do not build deb]' \ - '*:package:_deb_packages xinstalled' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg_source b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg_source deleted file mode 100644 index eabe8bc3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dpkg_source +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dpkg-source - -_arguments \ - '-x[specify source file]:Debian source file:_files -g "*.dsc(-.)"' \ - '-b[specify source directory]:Debian source directory:_files -/' \ - '-c-[control file]:control file:_files' \ - '-l-[changelog file]:changelog file:_files' \ - '-F-[changelog format]:changelog format:' \ - '-V-[set substitutions variable]:expression:' \ - '-T-[alternate variable file]:varlistfile:' \ - '-D-[override dsc field]:expression:' \ - '-U-[remove a field]:field:' \ - '-i-[ignore files in diff]:filter:' \ - '-sa[autoselect orig source]' \ - '-sk[use packaged orig source - unpack and keep]' \ - '-sp[use packaged orig source - unpack and remove]' \ - '-su[use unpackaged orig source - unpack and keep]' \ - '-sr[use unpackaged orig source - unpack and remove]' \ - '-ss[trust packed and unpacked source are the same]' \ - '-sn[no diff, do main tarfile only]' \ - '-sA[autoselect orig source with overwrite]' \ - '-sK[use packaged orig source - unpack and keep with overwrite]' \ - '-sP[use packaged orig source - unpack and remove with overwrite]' \ - '-sU[use unpackaged orig source - unpack and keep with overwrite]' \ - '-sR[use unpackaged orig source - unpack and remove with overwrite]' \ - '-sp[leave original source packed in cwd]' \ - '-su[unpack original source tree too]' \ - '-h[help]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dput deleted file mode 100644 index bf6c2bae..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dput +++ /dev/null @@ -1,61 +0,0 @@ -#compdef dput - -_dput() { - local -a all_opts dput_opts dput_ng_opts - - all_opts=( - '(-c --config)'{-c,--config}'[specify config file]:config file:_files' - '(-h --help)'{-h,--help}'[show help message and exit]' - '(-f --force)'{-f,--force}'[force an upload]' - '(-P --passive)'{-P,--passive}'[use passive FTP for uploads]' - '(-U --no-upload-log)'{-U,--no-upload-log}'[do not write an .upload log after uploading]' - '(-D --dinstall)'{-D,--dinstall}'[run dinstall after upload]' - '(-e --delayed)'{-e,--delayed}'[number of days in delayed queue]:number of days:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - '(-l --lintian)'{-l,--lintian}'[run lintian before upload]' - '(-o --check-only)'{-o,--check-only}'[check the package, do not upload]' - '(-u --unchecked)'{-u,--unchecked}'[do not check GPG signature on the changes file]' - '(-v --version)'{-v,--version}'[show version information]' - '1::host:_dput_hosts' - '*:changes file:_files -g "*.changes(-.)"' - ) - - dput_opts=( - '(-d --debug)'{-d,--debug}'[debug mode]' - '(-H --host-list)'{-H,--host-list}'[display host list]' - '(-s --simulate)'{-s,--simulate}'[simulate an upload only]' - '(-p --print)'{-p,--print}'[print configuration]' - ) - - dput_ng_opts=( - '*'{-d,--debug}'[enable debug messages, repeat twice to increase the verbosity level]' - '*'{-s,--simulate}'[simulate an upload only, repeat twice to increase level of simulation]' - '(-F --full-upload-log)'{-F,--full-upload-log}'[write more verbose .upload logs]' - ) - - if _pick_variant dputng="usage: dput" dput -H ; then - _arguments \ - "$all_opts[@]" "$dput_ng_opts[@]" - else - _arguments \ - "$all_opts[@]" "$dput_opts[@]" - fi -} - -_dput_hosts() { - local expl - - if ( [[ ${+_dput_cfhosts} -eq 0 ]] || _cache_invalid dputhosts ) && ! _retrieve_cache dputhosts; then - local cmd - if _pick_variant dputng="usage: dput" dput -H ; then - cmd=(dirt hosts) - else - cmd=(dput -H) - fi - _dput_cfhosts=(${${(M)${(f)"$($cmd)"}:#*=>*}/ =>*/}) - _store_cache dputhosts _dput_cfhosts - fi - - _wanted dputhosts expl 'target host' compadd -a _dput_cfhosts -} - -_dput "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_drill b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_drill deleted file mode 100644 index 68fa7917..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_drill +++ /dev/null @@ -1,46 +0,0 @@ -#compdef drill - -local curcontext="$curcontext" ret=1 -local -a state line expl - -_arguments -s -S -C \ - '-D[enable DNSSEC (DO bit)]' \ - '-T[trace from the root down]' \ - '-S[chase signature(s) to a known key]' \ - '-I[specify source address to query from]:source address' \ - '(-Q)-V+[specify verbosity]:number (0-5)' \ - '(-V)-Q[quiet mode (overrules -V)]' \ - '-f+[read packet from file and send it]:file:_files' \ - '-i+[read packet from file and print it]:file:_files' \ - '-w+[write answer packet to file]:file:_files' \ - '-q+[write query packet to file]:file:_files' \ - '(- *)-h[display usage information]' \ - '(- *)-v[display version information]' \ - '(-6)-4[stay on ipv4]' \ - '(-4)-6[stay on ipv6]' \ - '-a[fallback to EDNS0 and TCP if the answer is truncated]' \ - '-b+[specify buffer size (defaults to 512 b)]:size (bytes) [512]' \ - '-c+[use specified file for rescursive nameserver configuration]:file [/etc/resolv.conf]:_files' \ - '-k+[specify a file that contains a trusted DNSSEC key]:file:_files' \ - '*-o+[set/unset header bits]:mnemonic (uppercase sets, lower unsets):_sequence compadd - QR qr AA aa TC tc RD rd CD cd RA ra AD ad' \ - '-p+[use specified remote port number]:port:_ports' \ - '-s[show the DS RR for each key in a packet]' \ - '-x[do a reverse lookup]' \ - '-r+[use specified file as root servers hint file]:file:_files' \ - '-t[send the query with tcp]' '!(-t)-u' \ - '-d+[use specified domain as the start point for the trace]:domain' \ - '-y+[specify named base64 tsig key, and optional algorithm]:name\:key\:algorithm [hmac-md5.sig-alg.reg.int]' \ - "-z[don't randomize the nameservers before use]" \ - '*:args:->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P @; then - _wanted hosts expl 'DNS server' _hosts && ret=0; - else - _alternative 'hosts:host:_hosts' \ - 'types:query type:_dns_types' \ - 'classes:query class:compadd -M "m:{a-z}={A-Z}" - IN CS CH HS' && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dropbox b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dropbox deleted file mode 100644 index 45c77ae0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dropbox +++ /dev/null @@ -1,66 +0,0 @@ -#compdef dropbox - -if [[ CURRENT -eq 2 || $words[2] = help ]]; then - local -a line progs - - _call_program command dropbox help | - while read -A line; do - if [[ $line[1] = [a-z]## ]]; then - progs+=("${line[1]}:${line[2,-1]}") - fi - done - - _describe -t command 'Dropbox command' progs -else - local -a opts - - case $words[2] in - (exclude) - _path_files -g '*(/)' - ;; - - (filestatus) - shift words - (( CURRENT-- )) - _arguments -s : \ - '(-l --list)'{-l,--list}'[use format like ls]' \ - '(-a --all)'{-a,--all}'[do not ignore entries starting .]' \ - '*:File to list:_files' - ;; - - (ls|puburl|sharelink) - _files - ;; - - (autostart|lansync) - opts=("y:turn $words[2] on" "n:turn $words[2] off") - _describe "$words[2] behaviour" opts - ;; - - (proxy) - _arguments \ - '2:proxy mode:(none auto manual)' \ - '3:proxy type for manual mode:(http socks4 socks5)' \ - '4:proxy host for manual mode:_hosts' \ - '5:proxy port for manual mode:_ports' \ - '6:proxy user for manual mode:_users' \ - '7:proxy password for manual mode:' - ;; - - (start) - shift words - (( CURRENT-- )) - _arguments -s : '(-i --install)'{-i,--install}'[auto install dropboxd]' - ;; - - (throttle) - _arguments \ - '2:download limit (KB/s):(unlimited)' \ - '3:upload limit (KB/s):(unlimited)' - ;; - - (*) - _default - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dscverify b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dscverify deleted file mode 100644 index 84b00e4e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dscverify +++ /dev/null @@ -1,26 +0,0 @@ -#compdef dscverify - -# $ dscverify --version -# This is dscverify, from the Debian devscripts package, version 2.20.2 -# ... - -local all_opts=( - '--help[show the help message and exit]' - '--version[show the version + copyright and exit]' - '--no-default-keyrings[do not check against the default keyrings]' - '*--keyring[add keyring to the list of keyrings used]:keyring:_files -g "*.(kbx|gpg)(-.)"' - '(--nosigcheck --no-sig-check -u)'{--nosigcheck,--no-sig-check,-u}"[don't verify the GPG signature]" - "--verbose[don't suppress GPG output]" - '*:dsc file:_files -g "*.(changes|dsc|buildinfo)(-.)"' -) - -local first_only=( - '(--no-conf --noconf)'{--no-conf,--noconf}"[don't read the devscripts config file]" -) - -if (( CURRENT == 2 )); then - all_opts+=( $first_only ) -fi - -_arguments \ - "$all_opts[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dsh deleted file mode 100644 index 2486b23f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dsh +++ /dev/null @@ -1,34 +0,0 @@ -#compdef dsh - -local curcontext="$curcontext" state line expl -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -s -C -S \ - '(-v --verbose -q --quiet)'{-v,--verbose}'[verbose output]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[quieter output]' \ - '(-M --show-machine-names)'{-M,--show-machine-names}'[prepend the host name on output]' \ - '(-i --duplicate-input)'{-i,--duplicate-input}'[duplicate input given to dsh]' \ - '(-b --bufsize)'{-b,--bufsize}'[change buffer size used in input duplication]:buffer size for -i (bytes)' \ - \*{-m,--machine}'[execute on machine]:machine:{_hosts || _user_at_host}' \ - '(-n --num-topology)'{-n,--num-topology}'[how to divide the machines]:number' \ - '(-a --all)'{-a,--all}'[execute on all machines]' \ - \*{-g,--group}'[execute on group member]:groupname:->groups' \ - '(-f --file)'{-f,--file}'[use the file as list of machines]:file:_files' \ - '(-r --remoteshell)'{-r,--remoteshell}'[execute using shell]:remote shell:(rsh ssh)' \ - '(-o --remoteshellopt)'{-o,--remoteshellopt}'[option to give to remote shell ]:option' \ - '(-)'{-h,--help}'[display help information]' \ - '(-w --wait-shell -c --concurrent-shell)'{-w,--wait-shell}'[sequentially execute shell]' \ - '(-c --concurrent-shell -w --wait-shell)'{-c,--concurrent-shell}'[execute shell concurrently]' \ - '(-F --forklimit)'{-F,--forklimit}'[concurrent with limit on number]:fork limit' \ - '(-)'{-V,--version}'[display version information]' \ - '*::args: _normal' && return - -if [[ $state = groups ]]; then - if ! zstyle -s ":completion:${curcontext}:dsh-groups" dsh-groups grp; then - [[ -e ~/.dsh/group ]] && grp="~/.dsh/group" || return 1 - fi - _path_files -W ~/.dsh/group && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtrace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtrace deleted file mode 100644 index 06e0dc4f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtrace +++ /dev/null @@ -1,152 +0,0 @@ -#compdef dtrace - -local curcontext="$curcontext" ret=1 -local -a state line args xopts - -case $OSTYPE in - ^darwin*) - args=( - '-32[generate 32-bit D programs and ELF files]' - '-64[generate 64-bit D programs and ELF files]' - '(-A -h -l -V)-G[generate an ELF file containing embedded dtrace program]' - '-X+[specify ISO C conformance settings for preprocessor]:ISO C conformance:((a\:"ISO plus K&R extensions (default)" c\:"Strictly conformant ISO C" s\:"K&R C only" t\:"ISO plus K&R extensions"))' - ) - xopts=( - 'errexit[exit on error with specified status code]::status [1]' - 'noresolve[do not perform user address symbol resolution]' - 'uresolve[specify resolution of user addresses]:how:(no symbol basename absolute)' - ) - ;; - darwin*) - args=( - '*-W[wait for the named process to launch]:name' - ) - xopts=( - 'amin[set minimum stability attributes]:attribute' - 'arch[set target data model]:arch' - 'argref[ignore additional positional command-line args]' - 'core[create core dump when exiting dtrace]' - 'cpp[run C preprocessor over D programs before compiling]' - 'cpphdrs[print each header file name used]' - 'ctypes[write all CTF definitions into a file]:file:_file' - 'debug[enable DTrace debug messages]' - 'define[add preprocessor define]:var[=val]' - 'disallow_dsym[do not use dSYM files]' - 'droptags[print drop tags to stderr]' - 'empty[allow empty D files]' - 'encoding[set encoding used for output]:encoding:(ascii utf8)' - 'errtags[prefix error message with error tags]' - 'evaltime[when to start instrumenting a new process]:when:(preinit postinit)' - 'incdir[add include file search directory]:directory:_files -/' - 'ireg[specify size of DIF integer register set]:size' - 'late[set whether references to dynamic translators are allowed]: :(dynamic static)' - 'libdir[add library search directory]:directory:_files -/' - 'mangled[show mangled symbols for C++/Swift probes]' - 'nolibs[do not include D system libraries]' - 'nojtanalysis[disable jump table analysis]' - 'noerror[do not show error messages]' - 'pgmax[set maximum number of processes DTrace can grab at the same time]:number' - 'preallocate[preallocate memory in dtrace before running the script]:size' - 'pspec[interpret ambiguous specifications as probe names]' - 'strip[strip non-loadable sections from D program]' - 'tree[show dtrace compiler parse tree at different stages]:bitmap:(1 2 4)' - 'tregs[specify size of DIF tuple register set]:size' - 'undef[add #undef into preprocessor predefines]:var name' - 'verbose[show D compiler intermediate code]' - 'version[request specific version of DTrace scripting language]:version' - 'zdefs[permit probe descriptions that match zero probes]' - 'buflimit[specify threshold percentage for early buffer switches]:percentage (1-99)' - 'temporal[whether to sort events in time order]:bool:(true false)' - 'stacksymbols[whether to symbolicate stack symbols]:bool:(true false)' - ) - ;; -esac - -xopts+=( - 'aggrate[rate of aggregation reading]:time' - 'aggsize[aggregation buffer size]:size' - 'ustackframes[number of user stack frames]:scalar' - 'bufpolicy[specify the buffer policy for the principal buffer]:policy:(fill switch ring)' - 'bufresize[buffer resizing policy]:policy:(auto manual)' - 'bufsize[size of the per-CPU principal buffer]:size' - 'cleanrate[cleaning rate (hz)]:time' - 'cpu[specify the CPU on which to enable tracing]:scalar' - 'defaultargs[allow references to unspecified macro arguments]' - 'destructive[allow destructive actions]' - 'dynvarsize[size of the dynamic variable space]:size' - 'flowindent[turn on flow indentation]' - 'grabanon[claim anonymous state]' - 'jstackframes[number of default stack frames for jstack()]:scalar' - 'jstackstrsize[default string space size for jstack()]:scalar' - 'nspec[number of speculations]:scalar' - 'quiet[set quiet mode]' - 'specsize[size of the speculation buffer]:size' - 'strsize[maximum size of strings]:size' - 'stackframes[maximum number of kernelspace stack frames to unwind for stack()]:scalar' - 'stackindent[whitespace characters to use when indenting stack() and ustack() output]:scalar' - 'statusrate[rate of status checking]:time' - 'switchrate[rate of buffer switching]:time' - 'ustackframes[maximum number of userspace stack frames to unwind for ustack()]:scalar' - 'agghist[whether to show histogram for all aggregations]:bool:(true false)' - 'aggpack[pack aggregations together]' - 'aggsortkey[sort aggregation by key]' - 'aggsortkeypos[position of aggregate key used for sorting]:position' - 'aggsortpos[position of the aggregate variable used for sorting]:position' - 'aggsortrev[sort aggregations in reverse order]' - 'aggzoom[zoom aggregation histogram to the maximum value]' - 'rawbytes[always print tracemem output in hexadecimal]' -) - -_arguments -C -s $args \ - '-a[claim anonymous tracing state]' \ - '(-G -h -l -V)-A[generate driver.conf(4) directives for anonymous tracing]' \ - '-b+[set trace buffer size]:size' \ - '*-c+[run specified command and exit upon its completion]:command' \ - '-C[run cpp(1) preprocessor on script files]' \ - '*-D+[define symbol when invoking preprocessor]:name' \ - '-e[exit after compiling request but prior to enabling probes]' \ - '-f+[enable or list probes matching the specified function name]:function:->functions' \ - '-F[coalesce trace output by function]' \ - '-H[print included files when invoking preprocessor]' \ - '(-A -G -l -V)-h[generate a header file]' \ - '*-i+[enable or list probes matching the specified probe id]:probe-id' \ - '-I+[add include directory to preprocessor search path]:path:_directories' \ - '(-A -G -h -V)-l[list probes instead of enabling them]' \ - '-L+[add directory to search path for DTrace libraries]:path:_directories' \ - '*-m+[trace or list probes matching the specified module name]:module:->modules' \ - '*-n+[trace or list probes matching the specified probe name]:name:->probes' \ - '-o+[set output file]:output file:_files' \ - '-p+[grab specified process-ID and cache its symbol tables]:pid:_pids' \ - '*-P+[trace or list probes matching the specified provider name]:provider:->providers' \ - '-q[set quiet mode (only output explicitly traced data)]' \ - '*-s+[enable or list probes according to the specified D script]:script file:_files' \ - '-S[print D compiler intermediate code]' \ - '*-U+[undefine symbol when invoking preprocessor]:name' \ - '-v[set verbose mode (report program stability attributes)]' \ - '(-A -G -h -l)-V[report DTrace API version]' \ - '-w[permit destructive actions]' \ - '*-x+[enable or modify compiler and tracing options]: : _values option $xopts' \ - '-Z[permit probe descriptions that match zero probes]' && return - -if [[ -n $state ]]; then - local -a fields=( providers modules functions probes ) - local -a suf=( : : : ) - typeset -ga _cache_dtrace_probes - (( $#_cache_dtrace_probes )) || _cache_dtrace_probes=( - ${${${${(f)"$(_call_program dtrace-probes dtrace -l)"}[2,-1]}:#*[:[#]*}/(#b) #<-> #([^ ]#) #([^ ]#) #([^ ]#) ##([^ ]##)/${match[1]}:${match[3]:+$match[2]}:${match[3]:-$match[2]}:$match[4]} - ) # filtering out those containing : and [, they occur on macos but may just be unmangled forms and not directly usable - suf[${fields[(i)$state]}]=( "${compstate[quote][-1]} " ) # field matching the state gets a space suffix - while compset -P 1 '*:'; do - shift fields # each already listed field reduces one being possible - done - _tags dtrace-${^fields[1,(r)$state]} - while _tags; do - _requested dtrace-probes expl 'probe name' compadd -S "$suf[4]" - ${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#(#e)}##*:} && ret=0 - _requested dtrace-functions expl 'function' compadd -S "$suf[3]" - ${${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#:[^:]#(#e)}%:*}##*:} && ret=0 - _requested dtrace-modules expl 'module' compadd -S "$suf[2]" - ${${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#:[^:]#:[^:]#(#e)}#*:}%%:*} && ret=0 - _requested dtrace-providers expl 'provider' compadd -S "$suf[1]" - ${_cache_dtrace_probes%%:*} && ret=0 - (( ret )) || return 0 - done -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtruss b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtruss deleted file mode 100644 index b56e713d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dtruss +++ /dev/null @@ -1,18 +0,0 @@ -#compdef dtruss - -_arguments -s : \ - '-a[print all details]' \ - '-b+[specify dynamic variable buffer size]:buffer size [4m]' \ - '-c[print system call counts]' \ - '-d[print relative timestamps]' \ - '-e[print elapsed times]' \ - '-f[follow children as they are forked]' \ - '-l[force printing of pid/lwpid per line]' \ - "-L[don't print pid/lwpid per line]" \ - '(-p :)-n+[examine processes with the specified name]: : _process_names -a' \ - '-o[print on-cpu times]' \ - '-s[print stack backtraces]' \ - '(-n :)-p+[examine process with the specified pid]: : _pids' \ - '-t+[examine only the specified syscall]: : _sys_calls' \ - '1: : _command_names -e' \ - '*:: : _normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_du b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_du deleted file mode 100644 index 711f4347..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_du +++ /dev/null @@ -1,79 +0,0 @@ -#compdef du gdu - -if _pick_variant gnu=Free\ Soft unix --version /dummy/no-such-file; then - local context state line expl ret=1 - - _arguments -s \ - '(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \ - '--apparent-size[print apparent sizes rather than disc usage]' \ - '(-B --block-size -k)'{-B+,--block-size=}'[specify block size]:size (bytes)' \ - '(-B --block-size -k --apparent-size -b --bytes)'{-b,--bytes}'[equivalent to --apparent-size --block-size=1]' \ - '(-c --total)'{-c,--total}'[produce a grand total]' \ - '(-H -D --dereference-args -L --dereference -P --no-dereference)'{-H,-D,--dereference-args}'[dereference arguments that are symlinks]' \ - '(-H -D --dereference-args -L --dereference -P --no-dereference)'{-P,--no-dereference}'[do not dereference any symlinks]' \ - '(-h --human-readable -H --si)'{-h,--human-readable}'[print sizes in human readable format]' \ - '(--si -h --human-readable)--si[human readable form using powers of 1000]' \ - '(-B --block-size)-k[use block size of 1k]' \ - '(-B --block-size)-m[use block size of 1M]' \ - '(-l --count-links)'{-l,--count-links}'[count sizes many times if hard linked]' \ - '(-L --dereference -H -D --dereference-args -P --no-dereference)'{-L,--dereference}'[dereference all symlinks]' \ - '(-S --separate-dirs)'{-S,--separate-dirs}'[do not include size of subdirectories]' \ - '(-s --summarize --max-depth -d -a --all)'{-s,--summarize}'[only report total for each argument]' \ - '(-x --one-file-system)'{-x,--one-file-system}'[skip directories on different filesystems]' \ - '(-0 --null)'{-0,--null}'[end each output line with NUL instead of newline]' \ - \*{-X+,--exclude-from=}'[exclude files matching any pattern in file]:file:_files' \ - '*--exclude=[exclude files matching pattern]:pattern' \ - '(-s --summarize -d --max-depth)'{-d+,--max-depth=}'[maximum levels to recurse]:levels' \ - '--files0-from=[use NUL-terminated list of files from file]:file:_files' \ - '--time-style=[show times using given style, +FORMAT for strftime formatted args]:style:->timestyle' \ - '--time=-[show time of last modification of any file in the directory]:property:(atime access use ctime status)' \ - '(-t --threshold)'{-t+,--threshold=}'[report only entries for which size exceeds threshold]:threshold' \ - '--inodes[list inode usage information instead of block usage]' \ - '(* -)--help[display help information]' \ - '(* -)--version[display version information]' \ - '*:file:_files' && ret=0 - - case $state in - (timestyle) - local -a style desc - style=(full-iso long-iso iso +) - desc=('full-iso' 'long-iso' 'iso' '+FORMAT like `date'\''') - _wanted -C $context -V style expl style compadd -d desc -a style && ret=0 - ;; - esac - - return ret - -else - local pattern arg args - args=( - '(-a -s -d)-a[report sizes for all files, not just directories]' - '(-H -L -P)-L[follow all symlinks]' - '(-a -s -d)-s[only report total for each argument]' - '(-h -m -g -B)-k[use block size of 1K-byte]' - '-r[notify about unreadable files/directories]' - ) - local xdev='[skip directories on different filesystems]' - for pattern arg in \ - 'freebsd*' '-A[apparent size instead of usage]' \ - '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-H -L -P)-H[follow symlinks on the command line]' \ - '(darwin|*bsd|dragonfly)*' '(-H -L -P)-P[do not follow symlinks (default)]' \ - '(darwin|dragonfly|freebsd)*' '*-I+[ignore files/directories matching specified mask]:mask' \ - '(darwin|*bsd|dragonfly)*' '(-a -s -d)-d+[display entry for directories up to specified depth]:depth' \ - '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-k -m -g -B)-h[human readable output]' \ - 'netbsd*' '-i[output inode usage instead of blocks]' \ - '(darwin*|freebsd*|netbsd*|solaris2.<11->)' '(-h -k -g -B)-m[use block size of 1M-byte]' \ - '(darwin|freebsd<8->.|netbsd)*' '(-h -k -m -B)-g[use block size of 1G-byte]' \ - 'freebsd*' '(-h -k -m -g)-B+[block size]:block size (bytes)' \ - '(darwin|*bsd|dragonfly)*' '-c[display grand total]' \ - 'freebsd*' '-l[count sizes many times if hard linked]' \ - '(freebsd|netbsd)*' '-n[ignore files and directories with nodump flag set]' \ - 'solaris*' "(-a)-o[don't add child directories' usage to parent's total]" \ - 'freebsd<8->.*' '-t+[report only entries for which size exceeds threshold]:threshold' \ - 'solaris*' "-d$xdev" \ - '(darwin|*bsd|dragonfly|solaris)*' "-x$xdev" - do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) - done - _arguments -s -A "-*" $args '*:file:_files' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumpadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumpadm deleted file mode 100644 index 44d681ae..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumpadm +++ /dev/null @@ -1,22 +0,0 @@ -#compdef dumpadm - -local -a content - -content=( - 'kernel:kernel memory pages only' - 'all:all memory pages' - 'curproc:kernel memory pages plus curproc pages' - 'allproc:kernel memory pages and all process pages' -) -_arguments -s \ - '-e[print estimate of disk space required to store compressed crash dump]' \ - "-n[don't run savecore on reboot]" \ - '-p[produce machine parseable output]' \ - '-u[update dump configuration from dumpadm.conf]' \ - '-y[run savecore on reboot]' \ - '-c[set dump content]:dump content:(($content))' \ - '-d[set dump device]: : _alternative "tokens\:token\:(swap none)" "files\:block device\:_files -g \*\(-%b\)"' \ - '-m[set minfree size]:size' \ - '-s[set the savecore directory]:directory:_files -/' \ - '-r[alternate root directory]:directory:_files -/' \ - '-z[enable saving core files in a compressed format]:compression:(on off)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumper b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumper deleted file mode 100644 index 42af5fd0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dumper +++ /dev/null @@ -1,11 +0,0 @@ -#compdef dumper dumper.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--verbose -d --quiet -q)'{-d,--verbose}'[be verbose while dumping]' \ - '(--verbose -d --quiet -q)'{-q,--quiet}'[be quiet while dumping (default)]' \ - '(- 1 *)'{-h,--help}'[output help information and exit]' \ - '(- 1 *)'{-v,--version}'[output version information and exit]' \ - '1: :_files' \ - '*: :_pids' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dupload b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dupload deleted file mode 100644 index 65ce4b0e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dupload +++ /dev/null @@ -1,21 +0,0 @@ -#compdef dupload - -if (( ! $+_dupload_sites )); then - _dupload_sites=( - $(grep -hs "^\$cfg" /etc/dupload.conf ~/.dupload.conf | sed 's/^\$cfg{\([^}]*\)}.*$/\1/') - ) -fi - -_arguments \ - '--to:nickname[nickname of target site]:('"$_dupload_sites"')' \ - '(-d --debug)'{-d,--debug}'[ftp verbosity]:debuglevel:' \ - '(-f --force)'{-f,--force}'[upload ignoring logs]' \ - '(-k --keep)'{-k,--keep}'[keep going, skip broken]' \ - '--no[dry run]' \ - '--nomail[suppress announcement]' \ - '--mailonly[dry run and real announcement]' \ - '--noarchive[add anti-archival header]' \ - '(-p --print)'{-p,--print}'[print config legibly]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-V --Version)'{-V,--Version}'[display version information]' \ - '*:changes file:_files -g "*.changes(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dvi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dvi deleted file mode 100644 index 6576a84d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dvi +++ /dev/null @@ -1,104 +0,0 @@ -#compdef dvips dvibook dviconcat dvicopy dvidvi dvipdf dviselect dvitodvi dvitype - -local expl args - -args=( - '-i[specify input file]:input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - '-o[specify output file]:output DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':output DVI file:_files -g "*.(dvi|DVI)(-.)"' -) - -case "$service" in -dvips) - _arguments \ - '-a[make three passes]' \ - '(-B)-A[print only odd numbered pages]' \ - '(-A)-B[print only even numbered pages]' \ - '(-c -C)-b[select number of copies (duplicating body)]:number of copies' \ - '(-b -C)-c[select number of copies]:number of copies' \ - '(-b -c)-C[select number of copies (collated)]:number of copies' \ - '-d[set debug flags]:debug flags' \ - '(-X -Y)-D[set resolution]:resolution in dots per inch' \ - '-e[set maximum character offset]:maximum character offset' \ - '-E[generate EPSF file]' \ - '(-o)-f[write to stdout]' \ - '-F[append control-D]' \ - '-G[shift low chars to higher position]' \ - '-h[specify additional header file]:postscript header file:_files -g "*.(#i)(ps|eps)(-.)"' \ - '-i[one file per section]' \ - '-j[download fonts partially]' \ - '-k[print crop marks]' \ - '-K[include postscript comments]' \ - '(-pp)-l[specify last page to print]:number of last page' \ - '-m[specify manual feed for printer]' \ - '-M[no automatic font generation]' \ - '(-pp)-n[specify maximum number of pages to print]:maximum number of pages' \ - '-N[turn off structured comments]' \ - '(-f)-o[specify output file name]:output file name:_files -g "*.(#i)(ps|eps)(-.)"' \ - '-O[specify offset of origin]:offset of origin (<x>,<y>)' \ - '(-p -l -n)-pp[specify which pages to print]:list of pages or ranges to print:' \ - '(-pp)-p[specify first page to print]:number of first page' \ - '-P+[specify printer]:printer name' \ - '-q[quiet operation]' \ - '-r[reverse order of pages]' \ - '-R[run securely]' \ - '-s[enclose output in save/restore pair]' \ - '-S[set maximum number of pages per section]:maximum number of pages per section' \ - '(-T)*-t[specify paper type]:paper type:(letter legal ledger a4 a3 landscape)' \ - '(-t)-T[set paper size]:paper size (<x>,<y>)' \ - '-u:PS mapfile:' \ - '-U[disable string param trick]' \ - '-v[print version number and quit]' \ - '-V[send downloadable PS fonts as PK]' \ - '-x[set magnification ratio]:magnification ratio (per mille)' \ - '(-D)-X[set horizontal resolution]:horizontal resolution' \ - '-y[multiply by dvi magnification]' \ - '(-D)-Y[set vertical resolution]:vertical resolution' \ - '-z[hyper PS]' \ - '-Z[compress bitmapped fonts]' \ - ':input file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dvibook) - _arguments -s \ - '-q[quiet operation]' \ - '-s-[specify signature size]:signature size' \ - "$args[@]" - ;; -dviconcat) - _arguments \ - '-m[specify magnification]:magnification factor' \ - '-o[specify output file]:output DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - '*:input DVI file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dvidvi) - _arguments -s \ - '-q[quiet operation]' \ - '-r[reverse order of pages]' \ - '(-i -x)-f[select first page]:number of first page:' \ - '(-i -x)-l[select last page]:number of last page:' \ - '(-i -x)-n[select number of pages]:maximum number of pages:' \ - '(-f -l -n)-i[specify included pages]:list of included pages:' \ - '(-f -l -n)-x[specify excluded pages]:list of excluded pages:' \ - ':input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':output DVI file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dviselect) - _arguments -s \ - '-s[silent operation]' \ - ':list of pages:' \ - "$args[@]" - ;; -dvitodvi) - _arguments -s \ - '-q[quiet operation]' \ - '-w-[set w dimension specifier]:width for dimension specifier:' \ - '-h-[set h dimension specifier]:height for dimension specifier:' \ - ':page specifications:' \ - "$args[@]" - ;; -*) - _description files expl 'DVI file' - _files "$expl[@]" -g '*.(dvi|DVI)(-.)' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dynamic_directory_name b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dynamic_directory_name deleted file mode 100644 index f449c3b1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_dynamic_directory_name +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local func -integer ret=1 - -if [[ -n $functions[zsh_directory_name] || \ - ${+zsh_directory_name_functions} -ne 0 ]] ; then - [[ -n $functions[zsh_directory_name] ]] && zsh_directory_name c && ret=0 - for func in $zsh_directory_name_functions; do - $func c && ret=0 - done - return ret -else - _message 'dynamic directory name: implemented as zsh_directory_name c' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_e2label b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_e2label deleted file mode 100644 index 2545f72a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_e2label +++ /dev/null @@ -1,3 +0,0 @@ -#compdef e2label - -_arguments '1:device:_files' '2::volume label:(/dev/disk/by-label/*(N:t))' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ecasound b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ecasound deleted file mode 100644 index 5fd9055a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ecasound +++ /dev/null @@ -1,212 +0,0 @@ -#compdef ecasound - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '-c[start in interactive mode]' \ - '(-q)-d\:-[debug level]:debug level' \ - '-D[print all debug information to stderr]' \ - '(-d)-q[quiet mode, no output]' \ - '(-)--help[show usage information]' \ - '(-)--version[show version information]' \ - '-n\:-[set the name of chainsetup]:chainsetup name' \ - '-s\:-[create a new chainsetup from file]:chainsetup file:_files' \ - '-sr\:-[set internal sampling rate]:internal sampling rate:(8000 11025 22050 44100 48000)' \ - '*-a\:-[select active signal chains]:chain name' \ - '-b\:-[set the size of buffer in samples]:buffer size:->b' \ - '-m\:-[force use of specified mix mode]:mix mode:((auto\:automatic simple\:only\ one\ input/cain/output normal\:normal\ single-threaded\ mode))' \ - '-r[use realtime scheduling policy (SCHED_FIFO)]' \ - '-r\:-[use realtime scheduling policy (SCHED_FIFO)]:sched_priority' \ - '-x[truncate outputs]' \ - '*-z\:-[enable feature]:feature:->z' \ - '-t\:-[set processing time in seconds]:seconds (int/float)' \ - '-tl[enable looping]' \ - '*-f\:-[set sampling parameters for the following input/output files]: :->f' \ - '*-y\:-[set starting position for last specified input/output]:seconds' \ - '*-i\:-[specifies a new input source]:input source:->io' \ - '*-o\:-[specifies a new output source]:output source:->io' \ - '*-Md\:-[set the active MIDI-device]:device name:_files' \ - '*-Mms\:-[send MMC start/stop to MIDI device-id]:device id' \ - '*-mss[sends MIDI-sync to the selected MIDI-device]' \ - '*-pf\:-[use the first preset found from file as chain operator]:preset file:_files -g \*.epp\(-.\)' \ - '*-pn\:-[find preset from global preset database]:preset name:->pn' \ - '*-ev[analyze sample data to find max apm value without clipping]' \ - '*-ezf[find the optimal value for DC-adjusting]' \ - '*-eS\:-[audio stamp]:stamp-id (int)' \ - '*-ea\:-[amplify signal]:amplification value (percent)' \ - '*-eac\:-[amplify signal of channel]: :->eac' \ - '*-eaw\:-[amplify signal (clipping)]: :->eaw' \ - '*-eal\:-[limits audio level]:limit (percent)' \ - '*-ec\:-[compressor (a simple one)]: :->ec' \ - '*-eca\:-[a more advanced compressor]: :->eca' \ - '*-enm\:-[noise gate. (each channel is processes separately)]: :->enm' \ - '*-ei\:-[pitch shifter (modifies audio pitch by altering its length)]:pitch-shift (percent)' \ - '*-epp\:-[normal pan effect]:panning (0=left, 50=center, 100=right)' \ - '*-ezx\:-[adjusts the signal DC (use -ezf to find optimal values)]: :->ezx' \ - '*-eem-[envelope modulation]: :->emod' \ - '*-ef-[apply filter effects]: :->filters' \ - '*-erc\:-[copy channel]: :->erc' \ - '*-erm\:-[mix all channels to one channel]:to channel' \ - '*-et-[time based effects]: :->teffects' \ - '*-el\:-[LADSPA Plugin]: :->el' \ - '*-eli\:-[LADSPA Plugin]: :->el' \ - '*-gc\:-[time crop gate]: :->gc' \ - '*-ge\:-[threshold gate]: :->ge' \ - ':input source:->io' && ret=0 - -case $state in - filters) - _values -S : 'filter effect' \ - '1[resonant bandpass filter]: :->ef1' \ - '3[resonant lowpass filter]: :->ef3' \ - '4[resonant lowpass filter (3rd-order, 36dB)]: :->ef4' \ - 'a[allpass filter]: :->efa' \ - 'c[comb filter]: :->efc' \ - 'b[bandpass filter]: :->efb' \ - 'h[highpass filter]:cutoff frequency' \ - 'i[inverse comb filter]: :->efi' \ - 'l[lowpass filter]:cutoff frequency' \ - 'r[bandreject filter]: :->efr' \ - 's[resonator (resonating bandpass filter)]: :->efs' - ;; - teffects) - _values -S : 'time based effect' \ - 'c[chorus]: :->etc' \ - 'd[delay effect]: :->etd' \ - 'e[a more advanced reverb effect]: :->ete' \ - 'f[fake-stereo effect]:delay time (msec)' \ - 'l[flanger]: :->etl' \ - 'm[multitap delay]: :->etm' \ - 'p[phaser]: :->etp' \ - 'r[reverb effect]: :->etr' - ;; - emod) - _values -S : 'envelope modulation' \ - 'b[pulse gate]: :->eemb' \ - 'p[pulse gate (hz)]: :->eemp' \ - 't[tremolo effect]: :->eemt' - ;; -esac && ret=0 - -case $state in - b) - _wanted -V sizes expl 'buffer size' compadd \ - 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 - ;; - f) - if compset -P '*,*,*,'; then - _values 'interleaving' \ - 'i[interleaved stream format]' \ - 'n[noninterleaved]' - elif compset -P '*,*,'; then - _message 'sampling rate' - elif compset -P '*,'; then - _message 'channel' - else - _values 'sampling parameter' \ - 'u8[unsigned 8-bit]' \ - 's16_le[signed 16-bit little endian]' \ - 's16_be[signed 16-bit big endian]' \ - 's24_le[signed 24-bit little endian]' \ - 's24_be[signed 24-bit big endian]' \ - 's32_le[signed 32-bit little endian]' \ - 's32_be[signed 32-bit big endian]' \ - 'f32_le[32-bit float (little endian)]' \ - 'f32_be[32-bit float (big endian)]' - fi - ;; - z) - _values -s , feature \ - '(nodb)db[enable double-buffering]' \ - '(db)nodb[disable double-buffering]' \ - 'dbsize[set db buffer size]:buffer size in sample frames:(0 1 2 4 8 16)' \ - '(nointbuf)intbuf[use extra internal buffering for realtime devices]' \ - '(intbuf)nointbuf[prevent extra internal buffering for realtime devices]' \ - 'xruns[processing will be halted when a under/overrun occurs]' \ - 'psr[enable the precise-sample-rates]' - ;; - io) - if compset -P 'alsa,'; then - if [[ -e /proc/asound ]]; then - eval `grep "^[[:digit:]]" < /proc/asound/cards|awk 'BEGIN {print "_values '\''ALSA device'\''" }; {print "'\''" $1 "[" $6, $7, $8, $9 "]'\''"}'||echo _message Wrong` - else - _message 'ALSA information bot found in proc filesystem' - fi - else - _alternative \ - 'files:input/output file:_files -g "*.(aif|aiff|mid|wav|ewf|mp3|mp2)(-.)"' \ - 'streams:stream:(stdin stdout)' \ - 'devices:realtime device:((/dev/dsp alsa\:alsa\ device null\:null\ device))' - fi - ;; - pn) - _wanted presets expl preset compadd \ - ${${(M)${(f)"$(</usr/share/ecasound/effect_presets)"}:#[a-z]*}%% *} - ;; - etd) - if compset -P 3 '*,'; then - _message 'mix (wet) (percent)' - elif compset -P 2 '*,'; then - _message 'number of delays' - elif compset -P '*,'; then - _values -s , 'surround mode' \ - '0[normal]' \ - '1[surround]' \ - '2[stereo-spread]' - else - _message 'delay time (msec)' - fi - ;; - ge) - if compset -P 2 '*,'; then - _values 'volume mode' - 'rms' - elif compset -P '*,'; then - _message 'close threshold (percent)' - else - _message 'open threshold (percent)' - fi - ;; - *) - # all the rest are comma separated lists for which we use a message prompt - typeset -A msgs - local str - msgs=( - eac 'amplification value (percent):channel' - eaw 'amplification value (percent):channel:max-clipped-samples' - ec 'compression rate (decibels):threshold (0.0-1.0)' - eca 'peak-level:release-time (seconds):fast compression rate (0.0-1.0):compression rate' - enm 'threshold-level:pre-hold-time (msec):attack-time (msec):post-hold-time (msec):release-time (msec)' - ezx 'left DC fix value:right CD fix value' - eemb 'pulse frequency (beats per minute):on time (msec)' - eemp 'pulse frequency (hz):on time (percent)' - eemt 'tremolo speed (beats per second):depth (percent)' - ef1 'center frequency:width (Hz)' - ef3 'cutoff frequency:resonance:gain' - ef4 'cutoff:resonance' - efa 'delay (samples):feedback (percent)' - efc 'delay (samples):radius (0-1.0)' - efb 'center frequency:width (Hz)' - efi 'delay (samples):radius (0-1.0)' - efr 'center frequency:width (Hz)' - efs 'center frequency:width (Hz)' - erc 'from channel:to channel' - etc 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - ete 'room size (metres):feedback level (percent):amount of reverbed signal added to the original (wet) (percent)' - etl 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - etm 'delay time (msec):number of delays:mix (wet) (percent)' - etp 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - etr 'delay time (msec):surround mode:feedback (percent)' - el 'unique LADSPA name/number' - gc 'start time (seconds):length (seconds)' - ) - str=$msgs[$state] - while compset -P 1 '*,'; do - str="${str#*:}" - done - _message "${str%%:*}" - ;; -esac && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echotc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echotc deleted file mode 100644 index 79eb6d91..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echotc +++ /dev/null @@ -1,5 +0,0 @@ -#compdef echotc - -local expl - -_wanted arguments expl 'terminal capability' compadd -k termcap diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echoti b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echoti deleted file mode 100644 index ed3a98f4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_echoti +++ /dev/null @@ -1,5 +0,0 @@ -#compdef echoti - -local expl - -_wanted arguments expl 'terminal capability' compadd -k terminfo diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ed b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ed deleted file mode 100644 index 6ca9ceac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ed +++ /dev/null @@ -1,38 +0,0 @@ -#compdef ed - -local -a args - -args=( - '(-p --prompt)'{-p+,--prompt=}'[specify prompt]:prompt:' - '(-s --quiet --silent)'{-s,--quiet,--silent}'[suppress diagnostics]' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(-G --traditional)'{-G,--traditional}'[run in compatibility mode]' - '(- :)'{-h,--help}'[display help]' - '(-l --loose-exit-status)'{-l,--loose-exit-status}'[exit 0 even if a command fails]' - '(-r --restricted)'{-r,--restricted}'[run in restricted mode]' - '(- :)'{-V,--version}'[display version]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) -else - args=(-A '-*' ${args:#*\)--*}) - case $OSTYPE in - dragonfly*|freebsd*|darwin*|netbsd*|solaris*) - args+=( - '-x[prompt for an encryption key]' - ) - ;| - netbsd*) - args+=( - '-E[enable extended regular expressions]' - '-S[disable ! command]' - ) - ;; - esac -fi - -_arguments -s -S \ - $args \ - ':file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elfdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elfdump deleted file mode 100644 index 065f4b97..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elfdump +++ /dev/null @@ -1,43 +0,0 @@ -#compdef elfdump - -local -a args - -args=( - '-c[dump section header information]' - '-d[dump .dynamic section]' - '-e[dump file header]' - '-G[dump .got (global offset table) section]' - '-h[dump .hash section]' - '-i[dump .interp (interpreter) section]' - '-n[dump .note sections]' - '(-w)-p[dump program headers]' - '-r[dump relocation sections]' - '-s[dump symbol table sections]' - '(-p)-w[write contents of matched sections to file]:file:_files' -) - -case $OSTYPE in - solaris*) - args+=( - '-g[dump .group section]' - '-H[dump .SUNW_cap (capabilities) section]' - '-m[dump .SUNW_move section]' - '-S[dump symbol table sections sorted according to symbol sort sections]' - '-u[dump stack unwind/exceptions sections]' - '-v[dump .SUNW_version (versioning) sections]' - '-y[dump .SUNW_syminfo (symbol bindings) section]' - '-I[match sections by index]:index or range' - "-N[match sections by name]:section" - '-T[match sections by type]:type' - '-C[demangle C++ symbol names]' - '-k[calculate ELF checksum]' - '-l[show long section names without truncation]' - '-O[specify osabi to apply]:osabi' - '-P[use alternative section header]' - "*:elf file:_object_files" - ) - ;; - freebsd*) args+=( '-a[dump all information]' ) ;; -esac - -_arguments -s $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elinks b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elinks deleted file mode 100644 index 2080b372..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_elinks +++ /dev/null @@ -1,62 +0,0 @@ -#compdef elinks - -# ELinks 0.12pre5 - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -A '-*' \ - '*-anonymous[restrict to anonymous mode]::boolean:(0 1)' \ - '*-auto-submit[autosubmit first form]::boolean:(0 1)' \ - '*-base-session[clone internal session with given ID]:ID number:' \ - '*-config-dir[name of directory with configuration file]:configuration directory:_files -/' \ - '(- 1)-config-dump[print default configuration file to stdout]' \ - '*-config-file[name of configuration file]:configuration file:_files' \ - '*-default-mime-type[MIME type assumed for unknown document types]:MIME type:_mime_types' \ - '*-default-keys[ignore user-defined keybindings]::boolean:(0 1)' \ - '*-dump[print formatted versions of given URLs to stdout]::boolean:(0 1)' \ - '*-dump-charset[codepage to use with -dump]:codepage:' \ - '-dump-color-mode[color mode used with -dump]:color mode:((-1\:standard\ dump\ mode 0\:mono\ mode 1\:16\ color\ mode 2\:88\ color\ mode 3\:256\ color\ mode 4\:true\ color\ mode))' \ - '*-dump-width[width of document formatted with -dump]:width:' \ - '*-eval[evaluate configuration file directive]:configuration option:' \ - '*-force-html[interpret documents of unknown types as HTML]' \ - '(- 1)-'{\?,h,help}'[print usage help and exit]' \ - '*-localhost[only permit local connections]::boolean:(0 1)' \ - '(- 1)-long-help[print detailed usage help and exit]' \ - '(- 1)-config-help[print help for configuration options]' \ - '(- 1)-lookup[look up specified host]:host:_hosts' \ - '*-no-connect[run as separate instance]::boolean:(0 1)' \ - "*-no-home[don't use files in ~/.elinks]::boolean:(0 1)" \ - '*-no-numbering[disable link numbering in dump output]::boolean:(0 1)' \ - '*-no-references[disable printing of link references in dump output]::boolean:(0 1)' \ - '*-remote[control an already running ELinks]:*:command:->remote' \ - '*-session-ring[connect to session ring with given ID]:ID number:' \ - '*-source[print the source of given URLs to stdout]::boolean:(0 1)' \ - '(1)*-stdin[read document from stdin]::boolean:(0 1)' \ - '*-touch-files[touch files in ~/.elinks when running with -no-connect/-session-ring]::boolean:(0 1)' \ - '*-verbose[verbose level]:verbosity level:((0\:serious\ errors 1\:serious\ errors\ and\ warnings 2\:all\ messages ))' \ - '(- 1)-version[print version information and exit]' \ - '1:URL:->url' && ret=0 - -if [[ "$state" = url ]]; then - local -a bookmarks - local file=${opt_args[-config-dir]:-${ELINKS_CONFDIR:-~/.elinks}}/bookmarks - - if [[ -s $file ]]; then - bookmarks=( ${${${(f)"$(< $file)"}#* }%% *} ) - fi - - _alternative \ - 'files:file:_files' \ - 'bookmarks:bookmark:compadd -a bookmarks' \ - 'urls:URL:_urls' && ret=0 -elif [[ "$state" = remote ]]; then - local -a commands - commands=( ping openURL addBookmark infoBox xfeDoCommand ) - - _alternative \ - 'commands:command:compadd -a commands' \ - 'urls:URL:_urls' && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_email_addresses b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_email_addresses deleted file mode 100644 index d5f175a7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_email_addresses +++ /dev/null @@ -1,187 +0,0 @@ -#autoload -# options: -# -# -n plugin - can complete nicknames from specified plugin -# -s sep - complete a list of addresses separated by specified character -# -c - e-mail address must be of form user@host (no comments or aliases) -# -# TODO: with -n, have the named plugin complete not only aliases but also addresses? -# -# Plugins are written as separate functions with names starting `_email-'. -# They should either do their own completion or return the addresses in the -# reply array in the form 'alias:address' and return 300. The -c option is -# passed on to plugins (and -n could be if needed ever). New plugins will be -# picked up and run automatically. - -# plugins -(( $+functions[_email-mail] )) || -_email-mail() { - local rc rcfiles i - - rcfiles=( $files[$plugin] ) - for ((i=1;i<=$#rcfiles;i++)); do - rcfiles+=( ${~${(M)${(f)"$(<$rcfiles[i])"}:#source*}##source[[:blank:]]##}(N) ) - done - reply=() - for rc in $rcfiles; do - reply+=( ${${${(M)${(f)"$(<$rc)"}:#alias*}##alias[[:blank:]]##}/[[:blank:]]##/:} ) - done - return 300 -} -(( $+functions[_email-mutt] )) || _email-mutt() { _email-mail } -(( $+functions[_email-mush] )) || _email-mush() { _email-mail } - -(( $+functions[_email-MH] )) || -_email-MH() { - reply=( ${${(f)"$(_call_program aliases ali 2>/dev/null)"}/: /:} ) - return 300 -} - -(( $+functions[_email-pine] )) || -_email-pine() { - reply=( ${${${${${(f)"$(<~/.addressbook)"}:#*DELETED*}:#\ *}/ [^ ]# /:}%% *} ) - return 300 -} - -(( $+functions[_email-ldap] )) || -_email-ldap() { - local -a expl ali res filter - local -A opts - local dn cn mail - - zparseopts -D -E -A opts c - - zstyle -a ":completion:${curcontext}:$curtag" filter filter - (( $#filter )) || return - - filter=( "("${filter}"=${PREFIX}*${SUFFIX})" ) - (( $#filter > 1 )) && filter="(|"${(j..)filter}")" - res=( ${(f)"$(_call_program $curtag ldapsearch -LLL \$filter cn mail 2>/dev/null)"} ) - (( $#res > 1 )) || return - - for dn cn mail in "${res[@]}"; do - if (( $+opts[-c] )); then - ali+=( "${mail#*: }" ) - else - cn="${cn#*: }" - [[ $cn = *$~__specials* ]] && cn="\"$cn\"" - ali+=( "$cn <${mail#*: }>" ) - fi - done - compstate[insert]=menu - _wanted email-ldap expl 'matching name' \ - compadd -U -i "$IPREFIX" -I "$ISUFFIX" "$@" -a - ali -} - -(( $+functions[_email-local] )) || -_email-local() { - local suf opts - zparseopts -D -E -A opts c S:=suf - - if compset -P '*@'; then - _hosts "$@" "$suf[@]" - else - suf=() - compset -S '@*' || suf=( -qS @ ) - _users "$suf[@]" "$@" - fi -} - -_email_addresses() { - local -a plugins reply list args - local -A opts files - local plugin rcfile muttrc expl sep ret fret - - local __specialx='][()<>@,;:\\".' - local __spacex=" " # Space, tab - local __specials="[$__specialx]" - local __atom="[^$__specialx$__spacex]##" - local __space="[$__spacex]#" # Really, space or comment - local __qtext='[^"\\]' - local __qpair='\\?' - local __beginq='"' - local __endq='(|[^\\])"' - local __dot="$__space.$__space" - - local __domainref="$__atom" - local __domainlit='\[([^]]|'"$__qpair"')#(|[^\\])\]' - local __quotedstring="$__beginq($__qtext|$__qpair)#$__endq" - local __word="($__atom|$__quotedstring)" - local __phrase="($__space$__word$__space)#" # Strictly, should use `##' - local __localpart="$__word($__dot$__word)#" - - local __subdomain="($__domainref|$__domainlit)" - local __domain="$__subdomain($__dot$__subdomain)#" - local __addrspec="$__localpart$__space@$__space$__domain" - - local __addresses="($__qtext|$__quotedstring)##" - - zparseopts -D -E -A opts n: s: c - set -- "$@" -M 'r:|[.@]=* r:|=* m:{a-zA-Z}={A-Za-z}' - - if [[ -n $opts[-s] ]]; then - # remove up to the last unquoted separator - if [[ ${(Q)PREFIX} = (#b)($~__addresses$opts[-s])* ]]; then - IFS="$opts[-s]" eval 'compset -P $(( ${#${=${:-x${match[1]}x}}} - 1 )) "*${opts[-s]}"' - fi - - # for the suffix, I'm too lazy to work out how to preserve quoted separators - compset -S "$opts[-s]*" || set -- -q -S "$opts[-s]" "$@" - fi - - # get list of all plugins except any with missing config files - if ! zstyle -s ":completion:${curcontext}:email-addresses" muttrc muttrc; then - [[ -e ~/mutt/muttrc ]] && muttrc="~/mutt/muttrc" || muttrc="~/.muttrc" - fi - files=( MH ${MH:-~/.mh_profile} mutt $~muttrc mush ~/.mushrc mail ${MAILRC:-~/.mailrc} pine ~/.addressbook ) - plugins=( - ${${(k)functions[(I)_email-*]#*-}:#(${(kj.|.)~files})} - $files(Ne:'REPLY=( ${(k)files[(r)$REPLY]} ):') - ) - - ret=1 - _tags email-$plugins - while _tags; do - for plugin in $plugins; do - if _requested email-$plugin; then - while _next_label email-$plugin expl 'email address'; do - - args=() - if (( $+opts[-c] )) || zstyle -t \ - ":completion:${curcontext}:$curtag" strip-comments - then - args=( '-c' ) - fi - - if ! _call_function fret _email-$plugin "$@" $args; then - _message "$plugin: plugin not found" - continue - fi - ret=$(( ret && fret )) - - if (( fret == 300 )); then - if (( ! $+opts[-c] )) && [[ $opts[-n] = $plugin ]]; then - zstyle -s ":completion:${curcontext}:$curtag" list-separator sep || sep=-- - zformat -a list " $sep " "${reply[@]}" - _wanted mail-aliases expl 'alias' compadd "$@" \ - -d list - ${reply%%:*} && ret=0 - else - if (( $#args )); then - reply=( ${(SM)${reply#*:}##$~__addrspec} ) - else - # remove lines not containing `@' as they probably aren't addresses - reply=( "${(@)${(M@)reply:#*@*}#*:}" ) - fi - compadd -a "$@" "$expl[@]" reply && ret=0 - fi - fi - done - fi - done - (( ret )) || return 0 - done - - return 1 -} - -_email_addresses "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_emulate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_emulate deleted file mode 100644 index d6fb0c3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_emulate +++ /dev/null @@ -1,8 +0,0 @@ -#compdef emulate - -_arguments -C -s \ - '-L[set local_options and local_traps as well]' \ - '-R[reset all options instead of only those needed for script portability]' \ - '1:shell to emulate:(zsh sh ksh csh)' \ - '2:specify optional command:(-c)' \ - '3:command:_cmdstring' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enable b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enable deleted file mode 100644 index b62619d8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enable +++ /dev/null @@ -1,16 +0,0 @@ -#compdef enable - -local -a ali_arr sali_arr func_arr - -ali_arr=(${(k)dis_aliases} ${(k)dis_galiases}) -sali_arr=(${(k)dis_saliases}) -func_arr=(${(k)dis_functions}) - -_arguments -C -s -A "-*" -S \ - "(-f -r -s -p)-a[act on regular or global aliases]:*:alias:compadd -k ali_arr" \ - "(-a -r -s -p)-f[act on functions]:*:function:compadd -k func_arr" \ - "(-a -f -s -p)-r[act on reserved words]:*:reserved-word:compadd -k dis_reswords" \ - "(-a -f -r -p)-s[act on suffix aliases]:*:suffix alias:compadd -k sali_arr" \ - "(-a -f -r -s)-p[act on pattern characters]:*:pattern character:compadd -k dis_patchars" \ - '-m[treat arguments as patterns]' \ - "*:builtin command:(${(k)dis_builtins})" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enscript b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enscript deleted file mode 100644 index 3e09da5a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_enscript +++ /dev/null @@ -1,192 +0,0 @@ -#compdef enscript - -local curcontext="$curcontext" state line match -typeset -A opt_args -local -a libpath - -_arguments -C -s -S \ - '( -2 --columns)-1' \ - '(-1 --columns)-2' \ - '(-1 -2 )--columns=:columns:' \ - '(--pages)-a+:pages:(even odd)' \ - '(-a)--pages=:pages:(even odd)' \ - '(--file-align)-A+:align:' \ - '(-A)--file-align=:align:' \ - '(--header -b -B --no-header --lineprinter -l)'{-b+,--header=}':page header:->formats' \ - '(--header -b -B --no-header --lineprinter -l)'{-B,--no-header} \ - '(--truncate-lines)-c' \ - '(-c)--truncate-lines' \ - '(--line-numbers -C)'{-C-,--line-numbers=-}'::start line [1]' \ - '(--printer -d )-P+:printer name: _printers' \ - '(--printer -P)-d+:printer name: _printers' \ - '( -d -P)--printer=:printer name: _printers' \ - '*-D+:key\:value:' \ - '*--setpagedevice=:key\:value:' \ - '(--escapes)-e-:escape character:' \ - '(-e)--escapes=-:escape character:' \ - '(-E --highlight)'{-E-,--highlight=-}':input language:->inputlang' \ - '(--font -f)'{-f+,--font=}':fontname:->fonts' \ - '(--header-font -F)'{-F+,--header-font=}':fontname:->fonts' \ - '(--print-anyway)-g' \ - '(-g)--print-anyway' \ - '(--fancy-header)-G' \ - '(-G)--fancy-header=:header:->headers' \ - '(--no-job-header)-h' \ - '(-h)--no-job-header' \ - '(--highlight-bars -H)'{-H-,--highlight-bars=-}'::height (lines) [2]' \ - '(--indent -i)'{-i+,--indent=}':indent width' \ - '(--filter -I)'{-I+,--filter=}':input filter:_cmdstring' \ - '(--borders)-j' \ - '(-j)--borders' \ - '(-k --page-prefeed -K --no-page-prefeed)'{-k,--page-prefeed} \ - '!(-k --page-prefeed -K --no-page-prefeed)'{-K,--no-page-prefeed} \ - '(--lineprinter -l --lines-per-page -L --header -b -B --no-header)'{-l,--lineprinter} \ - '(--lines-per-page -L --lineprinter -l)'{-L+,--lines-per-page=}':lines per page' \ - '(--mail)-m' \ - '(-m)--mail' \ - '(--media)-M+:media name:(A4)' \ - '(-M)--media=:media name:(A4)' \ - '(--copies -n )-#+:number of copies:' \ - '(--copies -#)-n+:number of copies:' \ - '( -n -#)--copies=:number of copies:' \ - '(--newline)-N+:newline type:((n\:unix r\:mac))' \ - '(-N)--newline=:newline type:((n\:unix r\:mac))' \ - '(-o -p --output -p)'{-o+,-p+,--output=}':output file:_files' \ - '(--missing-characters)-O' \ - '(-O)--missing-characters' \ - '(--quiet --silent)-q' \ - '(-q --silent)--quiet' \ - '(-q --quiet)--silent' \ - '(-r --landscape -R --portrait)'{-r,--landscape} \ - '(-r --landscape -R --portrait)'{-R,--portrait} \ - '(--baselineskip -s)'{-s+,--baselineskip=}':baseline skip (PostScript points) [1]' \ - '*-S+:key\:value:' \ - '*--statusdict=:key\:value:' \ - '(--title -t )-J+:banner title:' \ - '(--title -J)-t+:banner title:' \ - '( -t -J)--title=:banner title:' \ - '(--tabsize -T)'{-T+,--tabsize=}':tabsize [8]' \ - '(--underlay)-u-:underlay text:' \ - '(-u)--underlay=-:underlay text:' \ - '(--nup)-U+:pages:(4)' \ - '(-U)--nup=:pages:(4)' \ - '(--verbose)-v' \ - '(-v)--verbose=-:level:' \ - '(- *)'{-V,--version} \ - '(-w --language)'{-w-,--language=}':output language:(PostScript html overstrike rtf)' \ - '(-W --option)'{-W-,--option=}':helper option' \ - '(--encoding)-X+:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \ - '(-X)--encoding=:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \ - '(--no-formfeed)-z' \ - '(-z)--no-formfeed' \ - '(--pass-through)-Z' \ - '(-Z)--pass-through' \ - '--color=-:use color:(false true)' \ - '--continuous-page-numbers' \ - '--download-font=:fontname:' \ - '--extended-return-values' \ - '--filter-stdin=:stdin name:(-)' \ - '--footer=:page footer:->formats' \ - '--h-column-height=:horizontal column height:' \ - '(- *)--help' \ - '(- *)--help-highlight' \ - '--highlight-bar-gray=:gray level (0-1):' \ - '--list-media' \ - '--margins=:left\:right\:top\:bottom:' \ - '--mark-wrapped-lines=-:wrapped line style [none]:(none plus box arrow)' \ - '--non-printable-format=:rendering of non-printable characters:(caret octal questionmark space)' \ - '--nup-columnwise' \ - '--nup-xpad=:x-padding [10]' \ - '--nup-ypad=:y-padding [10]' \ - '--page-label-format=:page label format:(short long)' \ - '--ps-level=:PostScript language level:(1 2)' \ - '--printer-options=:extra options:' \ - '--rotate-even-pages' \ - '--slice=:vertical slice number' \ - '--style=:highlighting style:(a2ps emacs emacs_verbose ifh msvc)' \ - '--swap-even-page-margins' \ - '--toc' \ - '--word-wrap' \ - '--ul-angle=:angle' \ - '--ul-font=:fontname [Times-Roman200]:->fonts' \ - '--ul-gray=:gray level (0..1) [.8]' \ - '--ul-position=:position [+0+0 -0-0]' \ - '--ul-style=:style [outline]:(outline filled)' \ - '*:filename:_files' && return 0 - -case "$state" in - fonts) - if compset -P 1 '*@'; then - _message -e size 'pointsize, optionally width/height' - else - libpath=( {${commands[enscript]:h:h},/usr}/share/enscript/afm/font.map(N) ) - _wanted fonts expl font compadd -qS @ - ${${(f)"$(<$libpath[1])"}%% *} - fi - ;; - formats) - local -a specs - local suf='{' - compquote suf - if [[ ${PREFIX} = *[%$]D${suf}[^}]# ]]; then - _strftime - elif [[ ${(Q)PREFIX} = *\$\([^\)]# ]]; then - compset -P '*\(' - _parameters -g '*export*' -S '\)' - elif [[ ${(Q)PREFIX} = *\$ ]]; then - specs=( - '$:a dollar symbol' - '%:current page number' - '=:number of pages in the current file' - 'p:number of pages processed so far' - {C,\*}':file modification time (hh:mm:ss)' - 'n:basename of the input file name' - 'N:full input file name' - 'E:file modification date (yy/mm/dd)' - 'F:file modification date (dd.mm.yyyy)' - 't:file modification time (12-hour)' - 'T:file modification time (24-hour)' - 'v:sequence number of current input file' - 'V:sequence number of current input file in table of contents format' - 'W:file modification date (mm/dd/yy)' - '\(:environment variable' - ) - compset -P "*" - _describe -t format-specifiers 'format specifier' specs -S '' -- '( D:modification\ date )' -qS $suf - elif [[ ${(Q)PREFIX} = *% ]]; then - specs=( - 'c:trailing component of the current working directory' - {C,\*}':current time (hh:mm:ss)' - 'E:current date (yy/mm/dd)' - 'F:current date (dd.mm.yyyy)' - 'H:document title' - 'L:lines in the input file' - 'm:hostname in short form' - 'M:hostname in fully qualified form' - 'n:user login name' - 'N:user gecos field first component' - 't:current time (12-hour)' - 'T:current time (24-hour)' - 'W:current date (mm/dd/yy)' - ) - compset -P "*" - _describe -t format-specifiers 'format specifier' specs -S '' -- '( D:current\ time )' -qS $suf - else - compset -P "*" - _wanted format-specifiers expl 'format specifier' compadd -S '' % \$ - fi - ;; - headers) - libpath=( {${commands[enscript]:h:h},/usr}/share/enscript(N/) ~/.enscript(N/) ) - _wanted headers expl header compadd $^libpath/*.hdr(N:r:t) - ;; - inputlang) - if (( ! $+_cache_enscript_languages )); then - typeset -ga _cache_enscript_languages - _cache_enscript_languages=(${${(f)${(F)${(M)${(f)"$(_call_program languages enscript --help-pretty-print)"}:#(Name|Description):*}}//(#b)Name: ([^ -]##)( -Description: ([^ -]##)|)/$match[1]:$match[3]}%:}) - fi - _describe -t languages 'input language' _cache_enscript_languages - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_entr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_entr deleted file mode 100644 index 438ab179..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_entr +++ /dev/null @@ -1,26 +0,0 @@ -#compdef entr - -local curcontext="$curcontext" state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -S \ - '(-r)-a[respond to all events rather than consolidating them to avoid looping]' \ - '-c[execute clear before invoking utility]' \ - '-d[track directories and exit if a new file is added]' \ - "-n[non-interactive mode; don't access TTY]" \ - '-p[postpone first execution of the utility]' \ - '(-a)-r[reload a persistent child process]' \ - '(*)-s[evaluate the first argument using interpreter specified by $SHELL]' \ - '-z[exit after the utility completes]' \ - '(-): :->command' \ - '*::arguments:_normal' && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[-s] )); then - _cmdstring && ret=0 - else - _command_names -e && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_env b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_env deleted file mode 100644 index a5dd49d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_env +++ /dev/null @@ -1,74 +0,0 @@ -#compdef env genv - -local context state line variant ign ret=1 -local -a args suf - -_pick_variant -r variant gnu=Free\ Soft $OSTYPE --version -case $variant in - gnu) - (( $#words > 2 )) && ign='!' - args=( - '(-)'{-i,--ignore-environment}'[start with empty environment]' - '(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"' - '(-C --chdir)'{-C+,--chdir=}'[change working directory]:directory:_directories' - '(-S --split-string)'{-S+,--split-string=}'[perform word splitting]:string to split' - '--block-signal=[block delivery of signals to command]:signal:_sequence _signals' - '--default-signal=[reset handling of signals to the default]:signal:_sequence _signals' - '--ignore-signal=[set handling of signals to do nothing]:signal:_sequence _signals' - '--list-signal-handling[list non default signal handling to stderr]' - '(-v --debug)'{-v,--debug}'[print verbose information for each processing step]' - "${ign}(- *)--help[display help information]" - "${ign}(- *)--version[display version information]" - ) - ;; - freebsd*) - args=( - '-0[use NUL, not newline after each variable in output]' - '-L[add variables from system login.conf(5)]: :->user-class' - '-U[add variables from user and system login.conf(5)]: :->user-class' - ) - ;| - freebsd*|darwin*|dragonfly*) - args+=( - '(-i)*-u+[remove variable from the environment]:env var to remove:_parameters -g "*export*"' - '-P+[specify alternate executable search PATH]:path:_dir_list' - '-S+[perform word splitting]:string to split' - '*-v[verbose output]' - ) - ;& - *) - if (( $words[(i)-] < CURRENT )); then - words[(i)-]=() - (( CURRENT-- )) - else - args+=( - '(-i)'{-,-i}'[start with empty environment]' - ) - fi - ;; -esac - -_arguments $args \ - '*::arguments:->normal' && ret=0 - -if [[ -n $state ]]; then - case $state in - normal) - while [[ $words[1] = *=* ]]; do - shift words - (( CURRENT-- )) - done - _normal && ret=0 - ;; - user-class) - if compset -P 1 '*/'; then - _login_classes && ret=0 - else - compset -S '/*' || suf=( -qS/ ) - _users $suf && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_eog b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_eog deleted file mode 100644 index 6a737a79..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_eog +++ /dev/null @@ -1,24 +0,0 @@ -#compdef eog - -_arguments -s -S \ - - '(help)' \ - '--version[display version information]' \ - {-h,--help}'[display help information]' \ - '--help-all[display help on all options]' \ - '--help-gtk[display help on GTK+ options]' \ - - normal \ - '--class=[specify program class as used by the window manager]:class' \ - '--name=[program name as used by the window manager]:name:_x_name' \ - '--gdk-debug=[specify GDK debugging flags to set]:flag' \ - '--gdk-no-debug=[specify GDK debugging flags to unset]:flag' \ - '--gtk-module=[load additional GTK+ modules]:module' \ - '--g-fatal-warnings[make all warnings fatal]' \ - '--gtk-debug=[specify GTK+ debugging flags to set]:flag' \ - '--gtk-no-debug=[specify GTK+ debugging flags to unset]:flag' \ - '(-f --fullscreen)'{-f,--fullscreen}'[open in fullscreen mode]' \ - '(-s --slide-show -f --fullscreen)'{-s,--slide-show}'[open in slideshow mode]' \ - '(-g --disable-gallery)'{-g,--disable-gallery}'[disable image gallery]' \ - '(-n --new-instance)'{-n,--new-instance}'[start a new instance]' \ - '(-w --single-window)'{-w,--single-window}'[open in single window]' \ - '--display=[specify X display]:display:_x_display' \ - '*:image file:_files -g "*.(#i)(ani|bmp|gif|ico|jpeg|jpg|pcx|png|pnm|ras|svg|tga|tiff||tif|wbmp|wbm|xbm|xpm)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_equal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_equal deleted file mode 100644 index 58a415d5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_equal +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -equal- - -_path_commands diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_espeak b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_espeak deleted file mode 100644 index 4ab443bb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_espeak +++ /dev/null @@ -1,46 +0,0 @@ -#compdef espeak - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '(1 --stdin)-f+[specify file to speak]:text file:_files' \ - '(1 -f)--stdin[speak from stdin]' \ - '(-q)-a+[specify amplitude]:amplitude (0-200) [100]' \ - '(-q)-g+[specify pause between words]:pause (10ms) [1]' \ - '-k[capital letter indication]:integer:((1\:sound 2\:the\ word\ "capitals"))' \ - '-l[specify line length below which clause is ended]:length' \ - '(-q)-p+[specify pitch adjustment]:adjustment (0-99)' \ - '(-q)-s+[specify speed]:speed (words per minute) [175]' \ - '(-q)-v+[voice]:voice name:->voices' \ - '(--stdout -q)-w+[write speech to wav file]:wav file:_files -g "*.wav(-.)"' \ - '-b+[specify input encoding]:encoding:((1\:UTF-8 2\:8-bit 3\:16-bit))' \ - '-m[interpret SSML markup, ignore other XML]' \ - '(-a -g -p -s -v -w -z --split --stdout)-q[quiet, no sound output]' \ - '(-x --ipa)-x[output phoneme mnemonics]' \ - '(-X --ipa)-X[output phoneme mnemonics and translation trace]' \ - '(-q)-z[suppress final sentence pause at the end of the text]' \ - '--compile=-[compile pronunciation rules and dictionary]::voicename or debug' \ - '(-x -X)--ipa=-[output phonemes using International Phonetic Alphabet]::options:((1\:use\ ties 2\:use\ ZWJ 3\:separate\ with\ _))' \ - '--path=[specify espeak-data path]:path:_files -/' \ - '--pho[output mbrola phoneme data]' \ - '--phonout=[output filename for -x/-X/--ipa]:filename:_files' \ - '--punct=-[speak names of punctuation characters]::characters' \ - '(-q --stdout)--split=[periodically start new wav file]:period (minutes)' \ - '(-w -q --split)--stdout[output speech to stdout]' \ - '--voices=-[list available voices]::language code:->languages' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)--version[display version information]' && ret=0 - -case $state in - voices) - _wanted voices expl voice compadd \ - ${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c22)}%% *} && ret=0 - ;; - languages) - _wanted languages expl language compadd \ - ${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c4)}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_etags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_etags deleted file mode 100644 index d1644fde..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_etags +++ /dev/null @@ -1,63 +0,0 @@ -#compdef etags - -integer ret=1 -local context state line expl -typeset -A opt_args - -_arguments \ - '(-a --append)'{-a,--append}'[append tag entries]' \ - '--packages-only[only generate tags for Ada packages]' \ - '--declarations[C etc.: tags for function declarations]' \ - '(-D --no-defines)'{-D,--no-defines}'[No tags for preprocessor definitions]' \ - {-i-,--include=}'[Tag file should include another]:tag file:_files' \ - {-l-,--language=}'[Specify language]:language:->lang' \ - '--no-globals[No tag entries for global variables]' \ - '--no-members[No tag entries for structure members]' \ - {-r-,--regex=}'[Specify regular expression]:regular expression:->regex' \ - {-R,--no-regex}'[No regular expressions for tags]' \ - '(-I --ignore-indentation)'{-I,--ignore-indentation}'[Closing brace in first col may not be start of func]' \ - '(-o --output)'{-o-,--output=}'[Specify output file]:file:_files' \ - '--parse-stdin=[Specify file name for stdin]:file name:_files' \ - '(-V --version)'{-V,--version}'[Output version]' \ - '(-h --help)'{-h,--help}'[Output help]' \ - '*:file to tag:_files' \ - && ret=0 - -case $state in - (lang) - local -a langs - langs=(${${${${(f)"$(etags --help)"}:#^ [^[:blank:]]##[[:blank:]]##([[:alnum:].]*|)}# }%%[[:blank:]]*}) - _wanted languages expl language compadd -a langs && ret=0 - ;; - - (regex) - if compset -P @; then - _files && ret=0 - elif [[ -n $PREFIX ]]; then - local sep=$PREFIX[1] - [[ $sep = [\\*?#] ]] && sep="\\$sep" - local -a match mbegin mend - if compset -P "$sep*$sep*$sep"; then - local mods=smi - mods=${mods//[${PREFIX}]} - if [[ -n $mods ]]; then - compset -P '*' - local -a modarr - [[ $mods = *i* ]] && modarr+=("i:ignore case") - [[ $mods = *m* ]] && modarr+=("m:allow multi-line matches") - [[ $mods = *s* ]] && modarr+=("s:multi-line, dot matches newline") - _describe -t modifiers modifier modarr && ret=0 - fi - elif compset -P "$sep*$sep"; then - _message "tagname" && ret=0 - else - compset -P "$sep" - _message "tag regexp" && ret=0 - fi - else - _message "regexp separator or @ for file" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ethtool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ethtool deleted file mode 100644 index 95a8bbfb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ethtool +++ /dev/null @@ -1,347 +0,0 @@ -#compdef ethtool - -local curcontext="$curcontext" -local -a state line expl cmds -local -A opt_args - -_arguments -C \ - '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ - '--json[output results in JSON]' \ - '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ - '(cmds)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \ - "1:interface:_net_interfaces" \ - '*:: :->args' \ - + '(cmdc)' \ - '(cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ - '(cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ - + '(cmds)' \ - '(1)'{-h,--help}'[display help information]' \ - '(1)--version[display version information]' \ - {-s,--change}'[allow changing some or all settings of the specified ethernet device]' \ - {-a,--show-pause}'[query the specified ethernet device for pause parameter information]' \ - {-A,--pause}'[change the pause parameters of the specified ethernet device]' \ - {-g,--show-ring}'[query the specified ethernet device for RX/TX ring parameter information]' \ - {-G,--set-ring}'[change the RX/TX ring parameters of the specified ethernet device]' \ - {-k,--show-features,--show-offload}'[query the specified ethernet device for offload information]' \ - {-K,--features,--offload}'[change the offload parameters of the specified ethernet device]' \ - {-i,--driver}'[query the specified ethernet device for associated driver information]' \ - {-d,--register-dump}'[retrieve and prints a register dump for the specified ethernet device]' \ - {-e,--eeprom-dump}'[retrieve and prints an EEPROM dump for the specified ethernet device]' \ - {-E,--change-eeprom}'[change EEPROM byte for the specified ethernet device]' \ - {-r,--negotiate}'[restart auto-negotiation on the specified ethernet device]' \ - {-p,--identify}'[initiate adapter-specific action intended to identify the adapter by sight]' \ - {-t,--test}'[execute adapter selftest on the specified ethernet device]' \ - {-S,--statistics}'[query specified ethernet device for NIC- and driver-specific statistics]' \ - '--phy-statistics[show phy statistics]' \ - {-n,--show-nfc,-u,--show-ntuple}'[retrieve receive network flow classification options or rules]' \ - {-N,--config-nfc,-U,--config-ntuple}'[configure receive network flow classification options or rules]' \ - {-T,--show-time-stamping}"[show device's time stamping capabilities]" \ - {-x,--show-rxfh-indir,--show-rxfh}'[show Rx flow hash indirection table and/or RSS hash key]' \ - {-X,--set-rxfh-indir,--rxfh}'[set Rx flow hash indirection table and/or RSS hash key]' \ - {-f,--flash}'[flash firmware image from the specified file]' \ - {-P,--show-permaddr}'[show permanent hardware address]' \ - {-w,--get-dump}'[get dump flag, data]' \ - {-W,--set-dump}'[set device dump flag]' \ - {-l,--show-channels}'[query channels]' \ - {-L,--set-channels}'[set channels]' \ - '--show-priv-flags[query private flags]' \ - '--set-priv-flags[set private flags]' \ - {-m,--dump-module-eeprom,--module-info}'[show module EEPROM information]' \ - '--show-eee[show EEE settings]' \ - '--set-eee[set EEE settings]' \ - '--set-phy-tunable[set PHY tunable]' \ - '--get-phy-tunable[get PHY tunable]' \ - '--get-tunable[get tunable parameters]' \ - "--set-tunable[set driver's tunable parameters]" \ - '--reset[reset hardware components]' \ - '--show-fec[query device for forward error correction support]' \ - '--set-fec[configure forward error correction for device]' \ - '--cable-test[perform cable test and report the results]' \ - '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ - '--show-tunnels[show tunnel-related device capabilities and state]' \ - '--monitor[listen to netlink notifications and displays them]::command:( - --all -s --change -k --show-features --show-offload -K - --features --offload --show-priv-flags --set-priv-flags -g --show-ring - -G --set-ring -l --show-channels -L --set-channels -c --show-coalesce - -C --coalesce -a --show-pause -A --pause --show-eee --set-eee - --cable-test --cable-test-tdr - )' && return - -if [[ -n $state ]]; then - case $words[CURRENT-1] in - rx|tx) - if (( $+opt_args[cmds--G] + $+opt_args[cmds---set-ring] )); then - _message -e numbers 'number of ring entries' - elif (( $+opt_args[cmds--L] + $+opt_args[cmds---set-channels] )); then - _message -e numbers 'number of channels' - else - _wanted onoff expl 'enabled' compadd off on - fi - ;; - autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift) ;& - fast-link-down|energy-detect-power-down|mode) - _wanted onoff expl 'enabled' compadd off on - ;; - rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& - tx-usecs-irq|tx-frames-irq|stats-block-usecs|pkt-rate-low|rx-usecs-low) ;& - rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;& - rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-mini) ;& - rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& - dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& - page|bank|i2c|first|last|step|pair|lanes) ;& - rx-copybreak|tx-copybreak|pfc-prevention-tout) ;& - other|combined|tx-timer|count|msecs) - _message -e numbers 'number' - ;; - speed) - _wanted -x speed expl 'speed' compadd 10 100 1000 - ;; - duplex) - _wanted duplex expl 'duplex mode' compadd half full - ;; - port) - _wanted port expl 'device port' compadd tp aui bnc mii fibre da - ;; - master-slave) - _wanted roles expl role compadd {preferred,forced}-{master,slave} - ;; - advertise) - _values 'hexadecimal value (or a combination of the following)' \ - '0x001[10 half]' \ - '0x002[10 full]' \ - '0x004[100 half]' \ - '0x008[100 full]' \ - '0x010[1000 half(not supported by IEEE standards)]' \ - '0x020[1000 full]' \ - '0x8000[2500 full(not supported by IEEE standards)]' \ - '0x800[10000 full]' \ - '0x03F[auto]' \ - 'mode[set mode]' - ;; - xcvr) - _wanted xcvr expl 'transceiver type' compadd internal external - ;; - wol) - _values -s '' 'Wake-on-LAN option' \ - '(d)p[wake on phy activity]' \ - '(d)u[wake on unicast messages]' \ - '(d)m[wake on multicast messages]' \ - '(d)b[wake on broadcast messages]' \ - '(d)a[wake on ARP]' \ - '(d)g[wake on MagicPacket(tm)]' \ - '(d)s[enable SecureOn(tm) password for MagicPacket(tm)]' \ - '(d)f[wake on filter(s)]' \ - '(p u m b a g s)d[disable (wake on nothing)]' - ;; - sopass) - _message -e secureon 'password - 6 bytes in ethernet MAC hex format (xx:yy:zz:aa:bb:cc)' - ;; - data|file) - _wanted files expl 'file' _files - ;; - rx-flow-hash) - _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} - ;; - rule) - _message -e ids 'rule id' - ;; - flow-type) - _wanted flow-types expl 'flow type' compadd ether {tcp,udp,ah,esp,sctp}{4,6} - ;; - src|src-ip|dst|dst-ip|dst-mac) - _message -e addresses address - ;; - m) - _message -e masks mask - ;; - hkey) - _message -e keys 'hash key' - ;; - hfunc) - _message -e functions 'hash function' - ;; - flags) - _message -e masks mask - ;; - context) - _message -e contexts 'RSS context' - ;; - *) - case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in - -A|--pause) - _values -S ' ' -w 'pause parameter' \ - 'autoneg[specify if pause autonegotiation is enabled]' \ - 'rx[specify if RX pause is enabled]' \ - 'tx[specify if TX pause is enabled]' - ;; - -C|--coalesce) - _wanted settings expl 'coalescing setting' compadd -F line -M 'r:|-=* r:|=*' - \ - adaptive-{r,t}x {r,t}x-{usecs,frames}{,-irq,-high,-low} \ - stats-block-usecs pkt-rate-{low,high} sample-interval - ;; - -G|--set-ring) - _values -S ' ' -w 'ring parameter' \ - 'rx[change number of ring entries for the RX ring]' \ - 'rx-mini[change number of ring entries for the RX Mini ring]' \ - 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ - 'tx[change number of ring entries for the TX ring]' - ;; - -d|--register-dump) - _values -S ' ' -w 'option' \ - 'hex[dump hex register data]' \ - 'raw[dump raw register data]' \ - 'file[use contents from file rather than device]' - ;; - -e|--eeprom-dump) - _values -S ' ' -w 'option' \ - 'raw[dump raw EEPROM data]' \ - 'offset' 'length' - ;; - -E|--change-eeprom) - _values -S ' ' -w 'option' \ - 'magic[device-specific key]' \ - 'offset' 'length' - 'value[new value]' - ;; - -K|--features|--offload) - if (( CURRENT % 2 )); then - _wanted values expl enable compadd on off - else - _wanted features expl feature compadd -F line - \ - ${${${${(f)"$(_call_program features $words[1] -k $line[1])"}%%:*}#$'\t'}[2,-1]} \ - rx tx sg tso ufo gso gro rxvlan txvlan ntuple rxhash - fi - ;; - -p|--identify) - (( CURRENT = 4 )) && _message -e length 'duration (seconds)' - ;; - -S|--statistics) - _arguments '(-)--all-groups' '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' - ;; - -t|--test) - _values -S ' ' -w 'test mode' \ - '(online)offline:perform full set of tests possibly causing normal operation interruption (default)]' \ - '(offline)online:perform limited set of tests without interrupting normal adapter operation]' \ - 'external_lb[perform full set of tests plus external-loopback test]' - ;; - -s|--change) - if (( ! $words[(I)msglvl] )); then - _values -S ' ' -w 'generic option' \ - 'speed[set speed in Mb/s]' \ - 'lanes[set number of lanes]' \ - 'duplex[set full or half duplex mode]' \ - 'port[select device port]' \ - 'master-slave[configure interface role]' \ - 'autoneg[specify if autonegotiation is enabled]' \ - 'advertise[set the speed and duplex advertised by autonegotiation]' \ - 'phyad[PHY address]' \ - 'xcvr[select transceiver type]' \ - 'wol[set Wake-on-LAN options]' \ - 'sopass[set the SecureOn(tm) password]' \ - 'msglvl[set the driver message level]' - elif (( (CURRENT - $words[(I)msglvl]) % 2 )); then - [[ -prefix [^0-9]## ]] || _message -e numbers number - _wanted flags expl 'message type flag' compadd drv probe link timer \ - if{down,up} rx_{err,status} tx_{err,queued,done} intr pktdata hw wol - else - _wanted onoff expl 'enabled' compadd off on - fi - ;; - -n|-u|--show-nfc|--show-ntuple) - _wanted options expl option compadd -F line - rx-flow-hash context rule - ;; - -N|-U|--config-nfc|--config-ntuple) - if [[ $words[CURRENT-2] = rx-flow-hash ]]; then - _values -S ' ' 'rx packet hash' \ - 'm[layer 2 destination address]' \ - 'v[VLAN tag]' \ - 't[layer 3 protocol field]' \ - 's[IP source address]' \ - 'd[IP destination address]' \ - 'f[bytes 0 and 1 of the Layer 4 header]' \ - 'n[bytes 2 and 3 of the Layer 4 header]' \ - 'r[discard all packets of this flow type]' - elif [[ $words[CURRENT-1] = delete ]]; then - _message -e numbers 'number' - else - _wanted options expl option compadd -F line - rx-flow-hash context flow-type \ - delete src dst proto src-ip dst-ip tos m tclass l4proto src-port \ - dst-port spi l4data vlan-etype vlan user-def dst-mac action vf \ - queue context loc - fi - ;; - -x|--show-rxfh-indir|--show-rxfh) - _wanted options expl option compadd -F line - context - ;; - -X|--set-rxfh-indir|--rxfh) - _values -S ' ' -w 'option' \ - context \ - '(weight default)equal' \ - '(equal default)weight' \ - '(equal weight)default' \ - hkey hfunc delete - ;; - -f|--flash) - if (( CURRENT == 4 )); then - _files - else - _message -e regions region - fi - ;; - -w|--get-dump) - _wanted options expl option compadd data - ;; - -L|--set-channels) - _wanted options expl option compadd -F line - rx tx other combined - ;; - --set-priv-flags) - if (( CURRENT % 2 )); then - _wanted values expl enable compadd on off - else - _message -e flags 'private flag' - fi - ;; - -m|--dump-module-eeprom|--module-info) - _wanted options expl option compadd -F line - raw hex offset \ - length page bank i2c - ;; - --set-eee) - _wanted behaviours expl behaviour compadd -F line - eee advertise tx-lpi tx-timer - ;; - --set-phy-tunable) - _wanted options expl tunable compadd -F line - downshift count \ - fast-link-down msecs energy-detect-power-down - ;; - --get-phy-tunable) - _wanted options expl tunable compadd downshift fast-link-down \ - energy-detect-power-down - ;; - --[gs]et-tunable) - _wanted options expl tunable compadd rx-copybreak tx-copybreak \ - pfc-prevention-tout - ;; - --reset) - _wanted components expl component compadd flags dedicated all \ - {mgmt,irq,dma,filter,offload,mac,phy,ram,ap}{,-shared} - ;; - --set-fec) - if (( CURRENT == 4 )); then - _wanted options expl tunable compadd - encoding - else - _wanted encodings expl encoding compadd -F line auto off rs baser - fi - ;; - -Q|--pre-queue) - if (( CURRENT == 4 )); then - _wanted options expl option compadd - queue_mask - elif (( CURRENT == 6)); then - _wanted options expl option compadd -c --show-coalescing -C --coalesce - fi - ;; - --cable-test-tdr) - _wanted options expl 'distance options' compadd first last step pair - ;; - esac - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_evince b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_evince deleted file mode 100644 index 21b49336..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_evince +++ /dev/null @@ -1,26 +0,0 @@ -#compdef evince - -_arguments -s -S \ - - '(help)' \ - '--version[display version information]' \ - {-h,--help}'[display help information]' \ - '--help-all[display help on all options]' \ - '--help-gtk[display help on GTK+ options]' \ - - normal \ - '--class=[specify program class as used by the window manager]:class' \ - '--name=[program name as used by the window manager]:name:_x_name' \ - '--gdk-debug=[specify GDK debugging flags to set]:flag' \ - '--gdk-no-debug=[specify GDK debugging flags to unset]:flag' \ - '--gtk-module=[load additional GTK+ modules]:module' \ - '--g-fatal-warnings[make all warnings fatal]' \ - '--gtk-debug=[specify GTK+ debugging flags to set]:flag' \ - '--gtk-no-debug=[specify GTK+ debugging flags to unset]:flag' \ - '(-p --page-label -i --page-index -n --named-dest)'{-p,--page-label=}'[specify page label of the document to display]' \ - '(-p --page-label -i --page-index -n --named-dest)'{-i,--page-index=}'[specify page number of the document to display]' \ - '(-p --page-label -i --page-index -n --named-dest)'{-n,--named-dest=}'[specify named destination to display]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-f,--fullscreen}'[run evince in fullscreen mode]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-s,--presentation}'[run evince in presentation mode]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-w,--preview}'[run evince as a previewer]' \ - '(-l --find)'{-l,--find=}'[specify word or phrase to find in the document]:word or phrase' \ - '--display=[specify X display]:display:_x_display' \ - '*:document file:_files -g "*.(#i)(dvi|djvu|pdf|ps|eps|tif|tiff)(-.)"' \ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_exec b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_exec deleted file mode 100644 index 2498b57c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_exec +++ /dev/null @@ -1,7 +0,0 @@ -#compdef exec - -_arguments -s -S -A '-*' : \ - '-a+[set argv\[0\] to specified string]:argv[0] string' \ - '-c[clear environment]' \ - '-l[simulate login shell (prepend - to argv\[0\])]' \ - '*:: : _normal -p $service' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand deleted file mode 100644 index e5e4f9b3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand +++ /dev/null @@ -1,245 +0,0 @@ -#autoload - -# This completer function is intended to be used as the first completer -# function and allows one to say more explicitly when and how the word -# from the line should be expanded than expand-or-complete. -# This function will allow other completer functions to be called if -# the expansions done produce no result or do not change the original -# word from the line. - -setopt localoptions nonomatch - -[[ _matcher_num -gt 1 ]] && return 1 - -local exp word sort expr expl subd pref suf=" " force opt asp tmp opre pre epre -local continue=0 - -(( $# )) && - while getopts gsco opt; do - force="$force$opt" - done - -if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" -else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" -fi - -[[ "$word" = *\$(|\{[^\}]#) || - ( "$word" = *\$[a-zA-Z0-9_]## && $+parameters[${word##*\$}] -eq 0 ) ]] && - return 1 - -### I'm not sure about the pattern to use in the following test. -# It once was: -# [[ "$word" = (\~*/|\$(|[=~#^+])[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]|\$\{*\}?)[^\$\{\}\(\)\<\>?^*#~]# ]] && - -zstyle -T ":completion:${curcontext}:" suffix && - [[ "$word" = (\~*/*|*\$(|[=~#^+])[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]|*\$\{*\}?) && - "${(e)word}" != (#s)(*[^\\]|)[][^*?\(\)\<\>\{\}\|]* ]] && - return 1 - -zstyle -s ":completion:${curcontext}:" accept-exact tmp || - [[ ! -o recexact ]] || tmp=1 - -if [[ "$tmp" != (yes|true|on|1) ]]; then - { [[ "$word" = \~(|[-+]) || - ( "$word" = \~[-+][1-9]## && $word[3,-1] -le $#dirstack ) || - $word = \~\[*\]/* ]] && return 1 } - { [[ ( "$word" = \~* && ${#userdirs[(I)${word[2,-1]}*]}+${#nameddirs[(I)${word[2,-1]}*]} -gt 1 ) || - ( "$word" = *\$[a-zA-Z0-9_]## && - ${#parameters[(I)${word##*\$}*]} -ne 1 ) ]] && continue=1 } - [[ continue -eq 1 && "$tmp" != continue ]] && return 1 -fi - -# In exp we will collect the expansions. - -exp=("$word") - -# First try substitution. That weird thing spanning multiple lines -# changes quoted spaces, tabs, and newlines into spaces and protects -# this function from aborting on parse errors in the expansion. - -if [[ "$force" = *s* ]] || - zstyle -T ":completion:${curcontext}:" substitute; then - -### We once used this: -### -### [[ ! -o ignorebraces && "${#${exp}//[^\{]}" = "${#${exp}//[^\}]}" ]] && -### eval exp\=\( ${${(q)exp}:gs/\\{/\{/:gs/\\}/\}/} \) 2>/dev/null -### -### instead of the following loop to expand braces. But that made -### parameter expressions such as ${foo} be expanded like brace -### expansions, too (and with braceccl set...). - - if [[ ! $_comp_caller_options[ignorebraces] == on && "${#${exp}//[^\{]}" = "${#${exp}//[^\}]}" ]]; then - local otmp - - tmp=${(q)word} - while [[ $#tmp != $#otmp ]]; do - otmp=$tmp - tmp=${tmp//(#b)\\\$\\\{(([^\{\}]|\\\\{|\\\\})#)([^\\])\\\}/\\$\\\\{${match[1]}${match[3]}\\\\}} - done - eval exp\=\( ${tmp:gs/\\{/\{/:gs/\\}/\}/} \) 2>/dev/null - fi - -### There's a bug: spaces resulting from brace expansion are quoted in -### the following expression, too. We don't want that, but I have no -### idea how to fix it. - - setopt aliases - eval 'exp=( ${${(e)exp//\\[ -]/ }//(#b)([ -])/\\$match[1]} )' 2>/dev/null - setopt NO_aliases -else - exp=( ${exp:s/\\\$/\$} ) -fi - -# If the array is empty, store the original string again. - -[[ -z "$exp" ]] && exp=("$word") - -subd=("$exp[@]") - -# Now try globbing. - -# We need to come out of this with consistent quoting, by hook or by crook. -integer done_quote -local -a orig_exp=( $exp ) -if [[ "$force" = *g* ]] || zstyle -T ":completion:${curcontext}:" glob; then - eval 'exp=( ${~exp//(#b)\\([ \"'"\'"' -])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null && (( $#exp )) && done_quote=1 -fi -# If the globbing failed, or we didn't try globbing, we'll do -# it again without the "~" so globbing is simply omitted. -if (( ! done_quote )); then - eval 'exp=( ${orig_exp//(#b)\\([ \"'"\'"' -])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null -fi - -### Don't remember why we once used this instead of the (q) above. -# eval 'exp=( ${~exp} ); exp=( ${exp//(#b)([][()|*?^#~<>\\=])/\\${match[1]}} )' 2>/dev/null - -# If we don't have any expansions or only one and that is the same -# as the original string, we let other completers run. - -(( $#exp )) || exp=("$subd[@]") - -[[ $#exp -eq 1 && "${exp[1]//\\}" = "${word//\\}"(|\(N\)) ]] && return 1 - -# With subst-globs-only we bail out if there were no glob expansions, -# regardless of any substitutions - -{ [[ "$force" = *o* ]] || - zstyle -t ":completion:${curcontext}:" subst-globs-only } && - [[ "$subd" = "$exp"(|\(N\)) ]] && return 1 - -zstyle -s ":completion:${curcontext}:" keep-prefix tmp || tmp=changed - -if [[ "$word" = (\~*/*|*\$*/*) && "$tmp" = (yes|true|on|1|changed) ]]; then - if [[ "$word" = *\$* ]]; then - opre="${(M)word##*\$[^/]##/}" - else - opre="${word%%/*}" - fi - eval 'epre=( ${(e)~opre} )' 2> /dev/null - - if [[ -n "$epre" && $#epre -eq 1 ]]; then - pre="${(q)epre[1]}" - [[ ( "$tmp" != changed || $#exp -gt 1 || - "${opre}${exp[1]#${pre}}" != "$word" ) && "${exp[1]}" = $pre* ]] && - exp=( ${opre}${^exp#${pre}} ) - fi - [[ $#exp -eq 1 && "$exp[1]" = "$word" ]] && return 1 -fi - -# Now add as matches whatever the user requested. - -zstyle -s ":completion:${curcontext}:" sort sort - -[[ "$sort" = (yes|true|1|on) ]] && exp=( "${(@o)exp}" ) - -if zstyle -s ":completion:${curcontext}:" add-space tmp; then - if [[ "$tmp" != *subst* || "$word" != *\$* || "$exp[1]" = *\$* ]]; then - [[ "$tmp" = *file* ]] && asp=file - [[ "$tmp" = *(yes|true|1|on|subst)* ]] && asp="yes$asp" - fi -else - asp=file -fi - -# If there is only one expansion, add a suitable suffix - -if (( $#exp == 1 )); then - if [[ -d ${exp[1]/${opre}/${pre}} && "$exp[1]" != */ ]]; then - suf=/ - elif [[ "$asp" = yes* || - ( "$asp" = *file && -f "${exp[1]/${opre}/${pre}}" ) ]]; then - suf=' ' - else - suf= - fi -fi - -if [[ -z "$compstate[insert]" ]] ;then - if [[ "$sort" = menu ]]; then - _description expansions expl expansions "o:$word" - else - _description -V expansions expl expansions "o:$word" - fi - - compadd "$expl[@]" -UQ -qS "$suf" -a exp -else - _tags all-expansions expansions original - - if [[ $#exp -ge 1 ]] && _requested expansions; then - local i j normal space dir - - if [[ "$sort" = menu ]]; then - _description expansions expl expansions "o:$word" - else - _description -V expansions expl expansions "o:$word" - fi - normal=() - space=() - dir=() - - for i in "$exp[@]"; do - j="${i/${opre}/${pre}}" - if [[ -d "$j" && "$i" != */ ]]; then - dir=( "$dir[@]" "$i" ) - elif [[ "$asp" = yes* || ( "$asp" = *file && -f "$j" ) ]]; then - space=( "$space[@]" "$i" ) - else - normal=( "$normal[@]" "$i" ) - fi - done - pref="${${word:#[~/]*}:+$PWD}/" - (( $#dir )) && compadd "$expl[@]" -fW "$pref" -UQ -qS/ -a dir - (( $#space )) && compadd "$expl[@]" -fW "$pref" -UQ -qS " " -a space - (( $#normal )) && compadd "$expl[@]" -fW "$pref" -UQ -qS "" -a normal - fi - if _requested all-expansions; then - local disp dstr - - if [[ "$sort" = menu ]]; then - _description all-expansions expl 'all expansions' "o:$word" - else - _description -V all-expansions expl 'all expansions' "o:$word" - fi - if [[ "${#${exp}}" -ge COLUMNS ]]; then - disp=( -ld dstr ) - dstr=( "${(r:COLUMNS-5:)exp} ..." ) - else - disp=() - fi - [[ -o multios ]] && exp=($exp[1] $compstate[redirect]${^exp[2,-1]}) - compadd "$disp[@]" "$expl[@]" -UQ -qS "$suf" - "$exp" - fi - - _requested original expl original && compadd "$expl[@]" -UQ - "$word" - - compstate[insert]=menu -fi - -return continue diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_alias b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_alias deleted file mode 100644 index 8240e416..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_alias +++ /dev/null @@ -1,67 +0,0 @@ -#compdef -K _expand_alias complete-word \C-xa - -local word expl tmp pre sel what -local -a tmpa suf - -eval "$_comp_setup" - -if [[ -n $funcstack[2] ]]; then - if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" - else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" - fi - pre=() -else - local curcontext="$curcontext" - - if [[ -z "$curcontext" ]]; then - curcontext="expand-alias-word:::" - else - curcontext="expand-alias-word:${curcontext#*:}" - fi - - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" - pre=(_main_complete - aliases) -fi - -zstyle -s ":completion:${curcontext}:" regular tmp || tmp=yes -case $tmp in -always) sel=r;; -yes|1|true|on) [[ CURRENT -eq 1 ]] && sel=r;; -esac -zstyle -T ":completion:${curcontext}:" global && sel="g$sel" -zstyle -t ":completion:${curcontext}:" disabled && sel="${sel}${(U)sel}" - -tmp= -[[ $sel = *r* ]] && tmp=$aliases[$word] -[[ -z $tmp && $sel = *g* ]] && tmp=$galiases[$word] -[[ -z $tmp && $sel = *R* ]] && tmp=$dis_aliases[$word] -[[ -z $tmp && $sel = *G* ]] && tmp=$dis_galiases[$word] - -if [[ -n $tmp ]]; then - # We used to remove the quoting from the value in the parameter. - # That was probably just an oversight: an alias is always replaced - # literally. - tmp=${tmp%%[[:blank:]]##} - if [[ $tmp[1] = [[:alnum:]_] ]]; then - tmpa=(${(z)tmp}) - if [[ $tmpa[1] = $word && $tmp = $aliases[$word] ]]; then - # This is an active regular alias and the first word in the result - # is the same as what was on the line already. Quote it so - # that it doesn't get reexanded on execution. - # - # Strictly we also need to check if the original word matches - # a later word in the expansion and the previous words are - # all aliases where the expansion ends in " ", but I'm - # too lazy. - tmp="\\$tmp" - fi - fi - zstyle -T ":completion:${curcontext}:" add-space || suf=( -S '' ) - $pre _wanted aliases expl alias compadd -UQ "$suf[@]" -- ${tmp%%[[:blank:]]##} -elif (( $#pre )) && zstyle -t ":completion:${curcontext}:" complete; then - $pre _aliases -s "$sel" -S '' -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_word deleted file mode 100644 index 9b71dc83..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_expand_word +++ /dev/null @@ -1,13 +0,0 @@ -#compdef -K _expand_word complete-word \C-xe _list_expansions list-choices \C-xd - -# Simple completion front-end implementing expansion. - -local curcontext="$curcontext" - -if [[ -z "$curcontext" ]]; then - curcontext="expand-word:::" -else - curcontext="expand-word:${curcontext#*:}" -fi - -_main_complete _expand diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_extensions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_extensions deleted file mode 100644 index 8b6c4fd6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_extensions +++ /dev/null @@ -1,33 +0,0 @@ -#autoload - -# This completer completes filename extensions when completing -# after *. or ^*. It can be used anywhere in the completer list -# but if used after _expand, patterns that already match a file -# will be expanded before it is called. - -compset -P '(#b)([~$][^/]#/|)(*/|)(\^|)\*.' || return 1 - -local -aU files -local -a expl suf mfiles - -files=( ${(e)~match[1]}${match[2]}*.* ) || return 1 -eval set -A files '${(MSI:'{1..${#${(O)files//[^.]/}[1]}}':)files%%.[^/]##}' -files=( ${files:#.<->(.*|)} ) - -if zstyle -t ":completion:${curcontext}:extensions" prefix-hidden; then - files=( ${files#.} ) -else - PREFIX=".$PREFIX" - IPREFIX="${IPREFIX%.}" -fi - -zstyle -T ":completion:${curcontext}:extensions" add-space || - suf=( -S '' ) - -_description extensions expl 'file extension' - -# for an exact match, fail so as to give _expand or _match a chance. -compadd -O mfiles "$expl[@]" -a files -[[ $#mfiles -gt 1 || ${mfiles[1]} != $PREFIX ]] && - compadd "$expl[@]" "$suf[@]" -a files && - [[ -z $compstate[exact_string] ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_external_pwds b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_external_pwds deleted file mode 100644 index dfc1abe1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_external_pwds +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -# Completes current directories of other zsh processes -# this is intended to be used via _generic bound to a -# different key. Note that pattern matching is enabled. - -local -a expl -local -au dirs - -# undo work _main_complete did to remove the tilde -PREFIX="$IPREFIX$PREFIX" -IPREFIX= -SUFFIX="$SUFFIX$ISUFFIX" -ISUFFIX= - -[[ -o magicequalsubst ]] && compset -P '*=' - -case $OSTYPE in - solaris*) - dirs=( - ${(M)${${(f)"$(pgrep -U $UID -x zsh|xargs pwdx 2>/dev/null)"}:#$$:*}%%/*} - ) - ;; - linux*) - dirs=( /proc/${^$(pidof -- -zsh zsh):#$$}/cwd(N:P) ) - dirs=( $^dirs(N^@) ) - ;; - freebsd*) - dirs=( $(pgrep -U $UID -x zsh) ) - dirs=( $(procstat -h -f $dirs|awk '{if ($3 == "cwd") print $NF}') ) - ;; - *) - if (( $+commands[lsof] )); then - dirs=( ${${${(M)${(f)"$(lsof -a -u $EUID -c zsh -p \^$$ -d cwd -F n -w - 2>/dev/null)"}:#n*}#?}%% \(*} ) - fi - ;; -esac -dirs=( ${(D)dirs:#$PWD} ) - -compstate[pattern_match]='*' -_wanted directories expl 'current directory from other shell' \ - compadd -M "r:|/=* r:|=*" -f -a dirs diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fakeroot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fakeroot deleted file mode 100644 index f7a298cf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fakeroot +++ /dev/null @@ -1,10 +0,0 @@ -#compdef fakeroot - -_arguments \ - '(-l --lib)'{-l,--lib}'[specify alternate wrapper library]:wrapper library:_files' \ - '--faked[specify alternate faked binary]:fake binary:_command_names -e' \ - '-s[save the fakeroot environment on exit]:save file:_files' \ - '-i[load a previously saved environment]:file:_files' \ - '(-u --unknown-is-real)'{-u,--unknown-is-real}'[use real ownership of previously unknown files]' \ - '(-):command name:_command_names -e' \ - '*::arguments:_normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_architectures b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_architectures deleted file mode 100644 index 011d0b46..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_architectures +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" amd64 arm arm64 i386 mips powerpc riscv sparc64 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_device_types b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_device_types deleted file mode 100644 index f1897f6a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fbsd_device_types +++ /dev/null @@ -1,31 +0,0 @@ -#autoload -# -# device types on FreeBSD/DragonFly -# (for commands using devstat_buildmatch(), such as iostat and vmstat) -# -local -a d i types - -d=( da sa printer proc worm cd scanner optical changer - comm array enclosure floppy) -i=( IDE SCSI other ) -types=( - "($d)da[direct access devices]" - "($d)sa[sequential access devices]" - "($d)printer[printers]" - "($d)proc[processor devices]" - "($d)worm[write once read multiple devices]" - "($d)cd[CD devices]" - "($d)scanner[scanner devices]" - "($d)optical[optical memory devices]" - "($d)changer[medium changer devices]" - "($d)comm[communication devices]" - "($d)array[storage array devices]" - "($d)enclosure[enclosure services devices]" - "($d)floppy[floppy devices]" - "($i)IDE[Integrated Drive Electronics devices]" - "($i)SCSI[Small Computer System Interface devices]" - "($i)other[any other device interface]" - 'pass[passthrough devices]' -) - -_values -s , 'device type' $types diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fc deleted file mode 100644 index 80e570c5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fc +++ /dev/null @@ -1,92 +0,0 @@ -#compdef fc history r - -local curcontext="$curcontext" state state_descr line expl ret=1 -local num cmd sep -local -a events -typeset -A opt_args -local fc_common fc_hist fc_r - -# hide any replacements from _arguments -local cur=${(M)#words[1,CURRENT-1]:#*=*} -words=( "${(@)words[1,CURRENT-1]:#*=*}" "${(@)words[CURRENT,-1]}" ) -(( CURRENT -= cur )) - -fc_common=( - -s -S - '(-A -R -W -p -P)-I[include internal (new) events only]' - '(-A -R -W -p -P)-L[include local events only]' - '(-A -R -W -p -P)-r[reverse order of the events]' - '(-A -R -W -e -p -P)-n[suppress line numbers]' -) - -if [[ -n ${words[(r)-[pa](|[ap])]} ]]; then - fc_common+=( - ':history file:_files' - ':history size:' - ':saved history size:' - ) - [[ -n ${words[(r)-(|a)p(|a)]} ]] || fc_common+='!-a:option:(-p)' -elif [[ -n ${words[(r)-*[ARWI]*]} ]]; then - fc_common+=( ':history file:_files' ) -else - fc_common=( -C "$fc_common[@]" - '(-)1:first event:->events' '2:last event:->events' - ) -fi - -fc_hist=( - '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' - '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' - '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' - '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' - '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' - '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' - '(-A -R -W -e -a -p -P)-D[print elapsed times]' - - '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' - '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' - '(- *)-P[pop history from stack]' -) - -fc_r='(-A -R -W -e)-l[list resulting commands on stdout]' - -case $service in - history) - _arguments "$fc_common[@]" "$fc_hist[@]" && ret=0 - ;; - r) - _arguments "$fc_common[@]" "$fc_r" && ret=0 - ;; - *) - _arguments "$fc_common[@]" "$fc_hist[@]" "$fc_r" \ - '(-A -R -W -a -l -n -d -f -E -i -r -t -D -p -P -s)-e+[specify editor to invoke]:editor to invoke:_command_names -e' \ - '(-A -R -W -a -l -n -d -f -E -i -r -t -D -p -P -e)-s[re-execute command without invoking editor (like -e-)]' \ - '(-a -l -L -m -e -r -n -d -f -t -E -i -R -D -A -W -p -P *)-'{\ -'R[read history from file]',\ -'A[append history to file]',\ -'W[write history to file]'} && ret=0 - ;; -esac - -if [[ -n $state ]]; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - if [[ -z ${line:#*=*} ]] && compset -P 1 '*='; then - _message -e replacements 'replacement' - elif [[ -prefix [0-9] ]]; then - print -v events -f "%-${#HISTNO}.${#HISTNO}s $sep %s" "${(kv)history[@]}" - _wanted -2V events expl "$state_descr" compadd -M "B:0=" -ld events - \ - "${events[@]%% *}" - elif [[ -prefix - ]]; then - for num cmd in "${(kv@)history}"; do - (( num=num - HISTNO )) - events+=( "${(r.1+$#HISTNO.)num} $sep $cmd" ) - done - _wanted -2V events expl "$state_descr" compadd -ld events - \ - "${events[@]%% *}" - else - _wanted events expl "$state_descr" compadd -S '' - \ - ${${history%%[=[:IFS:]]*}:#[0-9-]*} || _guard "[0-9]#" event - fi -fi && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_feh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_feh deleted file mode 100644 index a094e33c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_feh +++ /dev/null @@ -1,197 +0,0 @@ -#compdef feh -## completion for feh 1.6, based on feh(1) - -typeset -a arguments -typeset -A argument_pairs argument_postfix -typeset arg - -argument_pairs=( - 'help' 'h' - 'version' 'v' - 'verbose' 'V' - 'quiet' 'q' - 'theme' 'T+' - 'recursive' 'r' - 'randomize' 'z' - 'filelist' 'f+' - 'preload' 'p' - 'full-screen' 'F' - 'geometry' 'g+' - 'auto-zoom' 'Z' - 'multiwindow' 'w' - 'borderless' 'x' - 'draw-filename' 'd' - 'slideshow-delay' 'D+' - 'reload' 'R+' - 'keep-http' 'k' - 'builtin' 'Q' - 'list' 'l' - 'customlist' 'L+' - 'loadable' 'U' - 'unloadable' 'u' - 'sort' 'S+' - 'reverse' 'n' - 'action' 'A+' - 'montage' 'm' - 'collage' 'c' - 'index' 'i' - 'fullindex' 'I' - 'thumbnails' 't' - 'menu-font' 'M+' - 'no-menus' 'N' - 'reload-button' '0' - 'menu-button' '3+' - 'prev-button' '4+' - 'next-button' '5+' - 'rotate-button' '8+' - 'blur-button' '9+' - 'ignore-aspect' 'X' - 'stretch' 's' - 'thumb-width' 'y+' - 'thumb-height' 'E+' - 'limit-width' 'W+' - 'limit-height' 'H+' - 'bg' 'b+' - 'alpha' 'a+' - 'font' 'e+' - 'scale-down' '.' - 'output-dir' 'j+' - 'wget-timestamp' 'G' - 'fontpath' 'C+' - 'image-bg' 'B+' - 'output' 'o' - 'output-only' 'O' - 'rcfile' '_' - 'thumb-title' '~' - 'title' '^' - 'start-at' '|' - 'title-font' '@' -) - -argument_postfix=( - 'help' '[show help]' - 'version' '[show version information]' - 'verbose' '[be verbose]' - 'quiet' '[suppress non-fatal errors]' - 'theme' '[load named options from config]:theme:_feh_theme' - 'recursive' '[recurse into subdirectories]' - 'randomize' '[randomize file list before displaying]' - 'filelist' '[read file list from this file]:file:_files' - 'preload' '[eliminate unloadable images before displaying]' - 'full-screen' '[make the window fullscreen]' - 'geometry' '[limit window size]:geometry: ' - 'auto-zoom' '[zoom picture to screen size]' - 'multiwindow' '[multiple windows, one image per window]' - 'borderless' '[borderless windows]' - 'draw-filename' '[show filename in images]' - 'reload' '[time delay for reloading]:time: ' - 'keep-http' "[don't delete cached files]" - 'builtin' '[use builtin http client]' - 'list' '[list images, their size, etc.]' - 'customlist' '[format list output]:format: ' - 'loadable' '[print loadable images]' - 'unloadable' '[print unloadable images]' - 'sort' '[sort images]:sort type:(name filename width height pixels size format)' - 'reverse' '[reverse sort order]' - 'action' '[action to perform on each image]:shell: ' - 'montage' '[enable montage mode]' - 'collage' '[enable collage mode]' - 'index' '[enable index mode]' - 'fullindex' '[enable verbose index mode]' - 'thumbnails' '[enable interactive index mode]' - 'menu-font' '[set font in menus]:font: ' - 'no-menus' "[don't load or show any menus]" - 'reload-button' '[button to reload image]:button:_feh_button' - 'pan-button' '[button to pan image]:button:_feh_button' - 'zoom-button' '[button to zoom image]:button:_feh_button' - 'menu-button' '[button to activate menu]:button:_feh_button' - 'prev-button' '[button to go to previous image]:button:_feh_button' - 'next-button' '[button to go to next image]:button:_feh_button' - 'rotate-button' '[Ctrl+Button to rotate image]:button:_feh_button' - 'blur-button' '[Ctrl+Button tu blur image]:button:_feh_button' - 'ignore-aspect' "[montage mode: Don't preserve aspect ratio]" - 'stretch' '[montage mode: Enlarge images to fit thumbnail size]' - 'thumb-width' '[montage mode: Thumbnail width]:pixels: ' - 'thumb-height' '[montage mode: Thumbnail height]:pixels: ' - 'limit-width' '[montage mode: Limit montage width]:pixels: ' - 'limit-height' '[montage mode: Limit montage height]:pixels: ' - 'bg' '[montage mode: Background image]:file:_files' - 'alpha' '[montage mode: Thumbnail transparency level]:integer: ' - 'font' '[index mode: Thumbnail info font]:font: ' - 'slideshow-delay' '[slide change delay]:seconds' - 'scale-down' '[scale down images which are too big]' - 'output-dir' '[save files to DIR (with -k)]:directory:_files -/' - 'wget-timestamp' '[add no timestamp ("?123") to URLs]' - 'fontpath' '[add paths to font path]:font path:_files -/' - 'image-bg' '[set transparent image background]:background:(white black default)' - 'output' '[montage mode: Output file]:file:_files' - 'output-only' "[montage mode: Output file, don't display montage]:file: files" - 'rcfile' '[specify config file]:file:_files' - 'thumb-title' '[window title in thumbnail mode]:format string' - 'title' '[window title in slideshow mode]:format string' - 'start-at' '[start slideshow at]:file:_files' - 'title-font' '[title font for index mode]:font' -) - -arguments=( - '--zoom[zoom images]:percent: ' - '--caption-path[where to look for image captions]:relative directory: ' - --action{1..9}':shell: ' - '--bg-tile[set tiled desktop background]:file:_files' - '--bg-center[set centered desktop background]:file:_files' - '--bg-scale[set scaled desktop background]:file:_files' - '--bg-seamless[set desktop background with seamless borders]:file:_files' - '--bg-fill[set scaled desktop background, preserving aspect ratio]:file:_files' - '--menu-style[style descriptor for menu text]:file:_files' - '--menu-border[set menu background border]:integer: ' - '--menu-ctrl-mask[use Ctrl+Button to display menu]' - '--no-rotate-ctrl-mask[don'\''t require Ctrl for the rotate button]' - '--no-blur-ctrl-mask[don'\''t require Ctrl for the blur button]' - '--no-xinerama[disable xinerama support]' - '--screen-clip[toggle window clipping]' - '--hide-pointer[hide mouse pointer in fullscreen mode]' - '*--fontpath[index mode: directory to search for fonts]:directory:_path_files -/' - '--index-name[show image name in index/thumbnail mode]:bool:(0 1)' - '--index-size[show image size in index/thumbnail mode]:bool:(0 1)' - '--index-dim[show image dimensions in index/thumbnail mode]:bool:(0 1)' - '--no-jump-on-resort[stay at current image after resorting the filelist]' - '--cycle-once[quit after one loop through the slideshow]' - '--draw-actions[draw defined actions]' - '--cache-thumbnails[enable thumbnail caching]' - '--menu-bg[background image in menus]: :_feh_background' - '--thumb-redraw[set thumbnail image redraw frequency]:digit' - '*:file:_files' -) - -for arg in ${(k)argument_pairs}; { - arguments+='(--'${arg}')-'${argument_pairs[$arg]}${argument_postfix[$arg]} - arguments+='(-'${argument_pairs[$arg]}[1]')--'${arg}${argument_postfix[$arg]} -} - -function _feh_theme { - if [[ -r ~/.fehrc ]]; then - typeset -a themes tmp - typeset theme IFS=$'\n' - for theme in $(grep "\w" ~/.fehrc | grep -v "^#"); do - tmp=(${(s: :)theme}) - theme=${tmp[1]} - shift tmp - themes+=${theme}:${(j: :)tmp} - done - _describe 'theme' themes - fi -} - -function _feh_button { - typeset expl - _wanted button expl button \ - compadd {0..5} -} - -function _feh_background { - _alternative \ - 'file:file:_files' \ - 'mode:mode:(trans)' -} - -_arguments -s ${arguments} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetch deleted file mode 100644 index eef5ffd9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetch +++ /dev/null @@ -1,43 +0,0 @@ -#compdef fetch - -# Deprecated arguments are prefixed with ! so they aren't listed but their arguments are completed -_arguments -s -S \ - '(-1 --one-file)'{-1,--one-file}'[stop and return exit code 0 at the first successfully retrieved file]' \ - '(-4 --ipv4-only)'{-4,--ipv4-only}'[forces fetch to use IPv4 addresses only]' \ - '(-6 --ipv6-only)'{-6,--ipv6-only}'[forces fetch to use IPv6 addresses only]' \ - '(-A --no-redirect)'{-A,--no-redirect}"[don't automatically follow "temporary" (302) redirects]" \ - '(-a --retry)'{-a,--retry}'[automatically retry the transfer upon soft failures]' \ - '(-B --buffer-size)'{-B+,--buffer-size=}'[specify the read buffer size in bytes]:buffer size (bytes)' \ - '--bind-address=[specify address to which outgoing connections will be bound]:host:_hosts' \ - '--ca-cert=[specify certificate bundle containing trusted CA certificates]:file:_files' \ - '--ca-path=[specify directory containing trusted CA hashes]:path:_directories' \ - '--cert=[specify PEM encoded client key for authentication]:file:_files -g "*.pem(-.)"' \ - '--crl=[specify certificate revocation list file]:file:_files' \ - '(-d --direct)'{-d,--direct}'[use a direct connection even if a proxy is configured]' \ - '(-F --force-restart)'{-F,--force-restart}'[in combination with the -r flag, forces a restart]' \ - '(-i --if-modified-since)'{-i+,--if-modified-since=}'[only retrieve if remote file newer than specified local file]:file:_files' \ - '--key=[specify PEM encoded client key]:key file:_files -g "*.pem(-.)"' \ - '(-l --symlink)'{-l,--symlink}'[if the target is a file-scheme URL, make a symbolic link to the target]' \ - '-M' \ - '(-m --mirror -r --restart)'{-m,--mirror}'[mirror mode]' \ - '(-N --netrc)'{-N+,--netrc=}'[use file instead of ~/.netrc to look up login names and pass- words for FTP sites]' \ - '(-n --no-mtime)'{-n,--no-mtime}"[don't preserve the modification time]" \ - '--no-passive[force FTP code to use active mode]' \ - '--no-proxy=[hosts on which to disable proxies]:host:_sequence _hosts' \ - '--no-sslv3' '--no-tlsv1' --no-verify-hostname --no-verify-peer \ - '(-o --output)'{-o+,--output=}'[set the output file name]:file:_files' \ - '-P' \ - '(-p --passive)'{-p,--passive}'[use passive FTP]' \ - '--referer=:URL:_urls' \ - '(-q --quiet)'{-q,--quiet}'[quiet mode]' \ - '(-R --keep-output)'{-R,--keep-output}"[don't delete the output file in any circumstances]" \ - '(-r --restart -m --mirror)'{-r,--restart}'[restart a previously interrupted transfer]' \ - '(-S --require-size)'{-S+,--require-size=}'[require the file size reported by the server to match the specified value]' \ - '(-s --print-size)'{-s,--print-size}'[print the size in bytes, without fetching it]' \ - '(-T --timeout)'{-T+,--timeout=}'[set timeout value]:seconds:' \ - '(-U --passive-portrange-default)'{-U,--passive-portrange-default}'[when using passive FTP, allocate the port for the data connection from the low port range]' \ - '--user-agent=:user agent' \ - '(-v --verbose)'{-v,--verbose}'[increase verbosity level]' \ - '(-w --retry-delay)'{-w+,--retry-delay=}'[wait successive retries]:delay (seconds)' \ - '!(*)-h+:host:_hosts' '!(*)-f+:file:_files' '!(*)-c+:remote directory:_directories' \ - '*:URL to fetch:_urls' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetchmail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetchmail deleted file mode 100644 index bc5a3968..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fetchmail +++ /dev/null @@ -1,11 +0,0 @@ -#compdef fetchmail - -_arguments -S \ - {--bsmtp,'(--logfile)-L','(-L)--logfile','(--fetchmailrc)-f','(-f)--fetchmailrc','(--idfile)-i','(-i)--idfile'}':file:_files' \ - {--plugin,--plugout,'(--mda)-m','(-m)--mda'}':command:_command_names -e' \ - {'(--username)-u','(-u)--username'}:user:_users \ - '--auth:authentication type:(password kerberos kerberos_v5)' \ - {'(--protocol)-p','(-p)--protocol'}:protocol:'(auto pop2 pop3 apop rpop kpop sdps imap imap-k4 imap-gss etrn)' \ - {'(--port)-P','(-P)--port'}':port number' \ - '*:mail server:_hosts' \ - -- diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ffmpeg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ffmpeg deleted file mode 100644 index 1329939c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ffmpeg +++ /dev/null @@ -1,200 +0,0 @@ -#compdef ffmpeg - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -(( $+functions[_ffmpeg_presets] )) || _ffmpeg_presets() { - local presets - presets=(~/.ffmpeg/*.ffpreset(:t:r) "$FFMPEG_DATADIR"/*.ffpreset(:t:r)) - _wanted ffmpeg-presets expl 'preset' compadd -a presets -} - -(( $+functions[_ffmpeg_acodecs] )) || _ffmpeg_acodecs() { - local acodecs - acodecs=(copy ${${(M)${(f)"$(_call_program audio-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]A[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-audio-codecs expl 'force audio codec (''copy'' to copy stream)' compadd -a acodecs -} - -(( $+functions[_ffmpeg_vcodecs] )) || _ffmpeg_vcodecs() { - local vcodecs - vcodecs=(copy ${${(M)${(f)"$(_call_program video-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]V[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-video-codecs expl 'force video codec (''copy'' to copy stream)' compadd -a vcodecs -} - -(( $+functions[_ffmpeg_scodecs] )) || _ffmpeg_scodecs() { - local scodecs - scodecs=(copy ${${(M)${(f)"$(_call_program video-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]S[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-video-codecs expl 'force video codec (''copy'' to copy stream)' compadd -a scodecs -} - -(( $+functions[_ffmpeg_formats] )) || _ffmpeg_formats() { - local formats - formats=(${(ou)${=${(s:,:)${${(M)${(f)"$(_call_program formats $words[1] -formats 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]][[:space:]][^[:space:]]##*}//(#b)????([^[:space:]]##)*/$match[1]}}}}) - _wanted ffmpeg-formats expl 'force format' compadd -a formats -} - -(( $+functions[_ffmpeg_pix_fmts] )) || _ffmpeg_pix_fmts() { - local pix_fmts - _wanted ffmpeg-pix-fmts expl 'pixel format' compadd "$@" - \ - ${${${(M)${(f)"$(_call_program formats $words[1] -pix_fmts 2>/dev/null)"}:#[I.][O.][H.][P.][B.] [^=[:space:]]*}#* }%% *} -} - -(( $+functions[_ffmpeg_bsfs] )) || _ffmpeg_bsfs() { - local bsfs - bsfs=(${${(f)"$(_call_program bsfs $words[1] -bsfs 2>/dev/null)"}:#*:}) - _wanted ffmpeg-bsfs expl 'set bitstream filter' compadd -a bsfs -} - -typeset -A _ffmpeg_flags - -(( $+functions[_ffmpeg_flag_options] )) || _ffmpeg_flag_options() { - local expl - _wanted options expl 'flag' compadd -S '' -- {-,+}${^flag_options} -} - -(( $+functions[_ffmpeg_more_flag_options] )) || _ffmpeg_more_flag_options() { - compset -p $1 && _ffmpeg_flag_options -} - -(( $+functions[_ffmpeg_new_flag_options] )) || _ffmpeg_new_flag_options() { - compset -P '*' && _ffmpeg_flag_options -} - -(( $+functions[_ffmpeg_flags] )) || _ffmpeg_flags() { - local -a flag_options - eval "flag_options=(\${=_ffmpeg_flags[$1]})" - - local match mbegin mend - integer ret=1 - - if [[ $PREFIX = (#b)(*)[-+]([^-+]#) ]]; then - if [[ -n ${flag_options[(R)$match[2]]} ]]; then - _ffmpeg_new_flag_options && ret=0 - fi - if [[ -n ${flag_options[(R)$match[2]?*]} ]]; then - _ffmpeg_more_flag_options ${#match[1]} && ret=0 - fi - else - _ffmpeg_flag_options && ret=0 - fi - - return ret -} - -(( $+functions[_ffmpeg_register_lastopt_values] )) || _ffmpeg_register_lastopt_values() { - if (( lastopt_takesargs )); then - lastopt+=":$lastopt_description:" - if (( $#lastopt_values )); then - if [[ $lastopt_type == flags ]]; then - lastopt="*$lastopt" - flagtype=${${lastopt%%:*}#-} - lastopt+="->$flagtype" - _ffmpeg_flags[$flagtype]="${lastopt_values[*]}" - else - lastopt+="(${lastopt_values[*]})" - fi - fi - fi - _ffmpeg_argspecs+=$lastopt -} - -local -a _ffmpeg_argspecs -{ - local lastopt REPLY - local lastopt_description - local lastopt_takesargs - local lastopt_type - local -a lastopt_values - - _call_program options $words[1] -h 2>/dev/null | while IFS=$'\n' read -r; do - if [[ $REPLY == -* ]]; then - [[ -n $lastopt ]] && _ffmpeg_register_lastopt_values - lastopt=${REPLY%%[[:space:]]*} - lastopt_description=${REPLY##-[^[:space:]]##[[:space:]]##} - if [[ $lastopt_description == (#b)'<'(?##)'>'* ]]; then - lastopt_type=$match[1] - lastopt_description=${lastopt_description##<[^[:space:]]##>[[:space:]]##[^[:space:]]##[[:space:]]#} - if [[ -z $lastopt_description ]]; then - lastopt_description=$lastopt - fi - lastopt_description=${lastopt_description//:/\\:} - elif [[ $lastopt_description == [^[:space:]]##[[:space:]][[:space:]]* ]]; then - local example=${lastopt_description%% *} - example=${example//:/\\:} - lastopt_description=${lastopt_description##[^[:space:]]##[[:space:]]##} - lastopt_description=${lastopt_description//:/\\:} - if [[ $example == filename ]]; then - lastopt_takesargs=0 - lastopt+=":$lastopt_description:_files" - elif [[ $lastopt == -[asv]pre ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=": :_ffmpeg_presets" - elif [[ $lastopt == -acodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_acodecs" - elif [[ $lastopt == -vcodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_vcodecs" - elif [[ $lastopt == -scodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_scodecs" - elif [[ $lastopt == -f ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=": :_ffmpeg_formats" - elif [[ $lastopt == -pix_fmt ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=":set pixel format:_ffmpeg_pix_fmts" - elif [[ $example == bitstream_filter ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_bsfs" - else - lastopt_takesargs=1 - lastopt_description+=" ($example)" - fi - else - lastopt_takesargs=0 - if [[ $lastopt == -vfilters ]]; then - lastopt+=": :->vfilters" - fi - fi - lastopt_values=() - elif [[ $REPLY == ' '* ]]; then - REPLY=${REPLY##[[:space:]]##} - REPLY=${REPLY%%[[:space:]]##*} - lastopt_takesargs=1 - lastopt_values+=$REPLY - fi - done - [[ -n $lastopt ]] && _ffmpeg_register_lastopt_values -} - -_arguments -C -S \ - "${_ffmpeg_argspecs[@]}" \ - '*:output file:_files' \ - && return - -[[ "$state" == "vfilters" ]] && - _values -s , -S = 'video filter' \ - 'aspect:set aspect ratio (rational number X\:Y or decimal number):' \ - 'crop:crop input video (x\:y\:width\:height):' \ - 'format: :_sequence -s : _ffmpeg_pix_fmts' \ - 'noformat: :_sequence -s : _ffmpeg_pix_fmts' \ - 'null' \ - 'pad:add pads to the input image (width\:height\:x\:y\:color_string):' \ - 'pixelaspect:set pixel aspect ratio (rational number X\:Y or decimal number):' \ - 'scale:scale input video (width\:height):' \ - 'slicify:output slice height ("random" or a number of pixels):' \ - 'unsharp:luma_x\:luma_y\:luma_amount\:chroma_x\:chroma_y\:chroma_amount:' \ - 'vflip' \ - 'buffer' \ - 'nullsrc' \ - 'nullsink' \ - && return - -[[ -n $state && -n $_ffmpeg_flags[$state] ]] && - _ffmpeg_flags $state && return - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_figlet b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_figlet deleted file mode 100644 index 32bed479..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_figlet +++ /dev/null @@ -1,40 +0,0 @@ -#compdef figlet - -local fontdir -typeset -A opt_args - -fontdir=$(_call_program path figlet -I2 2>/dev/null) - -_arguments -s -S \ - "(-r -l -x)-c[center justify]" \ - "(-S -s -o -W -m)-k[use kerning]" \ - "(-r -c -x)-l[left justify]" \ - "(-p)-n[normal mode]" \ - "(-k -S -s -W)-o[let letters overlap]" \ - "(-n)-p[paragraph mode]" \ - "(-c -l -x)-r[right justify]" \ - "(-k -S -o -W -m)-s[smushed spacing]" \ - "(-w)-t[use terminal width]" \ - "(-I)-v[version]" \ - "(-r -c -l)-x[use default justification of font]" \ - "(-E)-D[use Deutsch character set]" \ - "(-D)-E[use English character set]" \ - "(-X -R)-L[left-to-right]" \ - "(-C)-N[clear controlfile list]" \ - "(-L -X)-R[right-to-left]" \ - "(-k -s -o -W -m)-S[smush letters together or else!]" \ - "(-k -S -s -o -m)-W[wide spacing]" \ - "(-L -R)-X[use default writing direction of font]" \ - "(-t)-w+[specify output width]:output width (in columns)" \ - "-d+[specify font directory]:font directory:_path_files -/" \ - '-f+[specify font]:font:_files -W ${~opt_args[-d]\:-$fontdir} -g \*flf\*\(-.\:r\)' \ - '(-k -S -s -o -W)-m+[specify layout mode]:layout mode' \ - '(-N)-C+[specify control file]:control file:_files -W ${~opt_args[-d]\:-$fontdir} -g \*flc\*\(-.\:r\)' \ - "(-v)-I+[display info]:info code:(( - -1\:normal\ operation\ \(default\) - 0\:version,\ copyright\ and\ usage\ information - 1\:version\ in\ integer\ format - 2\:default\ font\ directory - 3\:name\ of\ font\ figlet\ would\ use - 4\:output\ width\ in\ columns - ))" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_descriptors b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_descriptors deleted file mode 100644 index be96dd0e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_descriptors +++ /dev/null @@ -1,59 +0,0 @@ -#autoload - -local i fds expl disp link sep -local -a list proc - -fds=( /dev/fd/<3->(N:t) ) -fds=( ${(n)fds} ) - -if zstyle -T ":completion:${curcontext}:file-descriptors" verbose; then - zstyle -s ":completion:${curcontext}:file-descriptors" list-separator sep || sep=-- - - if [[ $OSTYPE = freebsd* ]]; then - fds=( ${(f)"$(procstat -f $$|awk -v OFS=: '$3>2 && $3~/[0-9]/ {print $3,$10}')"} ) - zformat -a list " $sep " $fds - fds=( ${fds%%:*} ) - elif - proc=( /proc/$$/(fd|path)/<->(@N[-1]:h) ) - [[ -n $proc ]] - then - if zmodload -F zsh/stat b:zstat; then - for i in "${fds[@]}"; do - if zstat +link -A link $proc/$i; then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link[1]}" ) - else - fds[(i)$i]=() - fi - done - elif (( $+commands[readlink] )); then - for i in "${fds[@]}"; do - if link=$(readlink $proc/$i); then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link}" ) - else - fds[(i)$i]=() - fi - done - else - for i in "${fds[@]}"; do - if link=$(ls -l $proc/$i); then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link#* -> }" ) - else - fds[(i)$i]=() - fi - done - fi 2>/dev/null - fi - - if (( list[(I)* $sep ?*] )); then - list=( - "${(r.$#fds[-1].):-0} $sep standard input" - "${(r.$#fds[-1].):-1} $sep standard output" - "${(r.$#fds[-1].):-2} $sep standard error" $list - ) - disp=( -d list ) - fi -fi -fds=( 0 1 2 $fds ) - -_description -V file-descriptors expl 'file descriptor' -compadd $disp -o nosort "$@" "$expl[@]" -a fds diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_flags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_flags deleted file mode 100644 index 202a46c4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_flags +++ /dev/null @@ -1,70 +0,0 @@ -#autoload - -# Provides completion for file flags (formerly part of _chflags) - -local curcontext=$curcontext su=$(( ! EUID || $+_comp_priv_prefix )) -local -a context line state state_descr copts=( "${@}" ) flags flag_descs -local -A val_args - -flag_descs+=( - nodump nodump - uappnd 'user append-only' - uchg 'user immutable' -) - -if (( su )); then - flag_descs+=( - arch archived - sappnd 'system append-only' - schg 'system immutable' - ) -fi - -if [[ $OSTYPE = (darwin|dragonfly|freebsd|netbsd)* ]]; then - flag_descs+=(opaque opaque) - - if [[ $OSTYPE = darwin* ]]; then - flag_descs+=(hidden hidden) - fi - - if [[ $OSTYPE = (dragonfly|freebsd)* ]]; then - flag_descs+=(uunlnk 'user undeletable') - - (( su )) && - flag_descs+=(sunlnk 'system undeletable') - fi - - if [[ $OSTYPE = dragonfly* ]]; then - flag_descs+=( - cache cache - nouhistory 'user nohistory' - ) - - (( su )) && flag_descs+=( - noscache noscache - noshistory 'system nohistory' - ) - fi - - [[ $OSTYPE = freebsd* ]] && flag_descs+=( - uarch archive - uhidden hidden - uoffline offline - urdonly 'DOS, Windows and CIFS readonly' - ureparse 'Windows reparse point' - usparse 'sparse file' - usystem 'DOS, Windows and CIFS system' - ) -fi - -for 1 2 in $flag_descs; do - if [[ $1 = no* ]]; then - flags+=("(${1#no})$1[set the $2 flag]" - "($1)${1#no}[unset the $2 flag]") - else - flags+=("(no$1)$1[set the $2 flag]" - "($1)no$1[unset the $2 flag]") - fi -done - -_values -O copts -s , 'file flags' $flags diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_modes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_modes deleted file mode 100644 index fbe4c936..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_modes +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# Provides completion for file modes (formerly part of _chmod) - -local curcontext=$curcontext -local -a context line state state_descr copts=( "${@}" ) privs -local -A val_args - -privs=( - 'r[read]' 'w[write]' 'x[execute]' - 's[set uid/gid]' 't[sticky]' - 'X[execute only if directory or executable to another]' - "u[owner's current permissions]" - "g[group's current permissions]" - "o[others' current permissions]" -) - -[[ $OSTYPE == solaris* ]] && -privs+=( 'l[mandatory locking]' ) - -compset -P '*,' -compset -S ',*' - -if [[ -prefix [0-7] ]]; then - _message -e number 'numeric mode' -elif compset -P '[a-z]#[+-=]'; then - _values -O copts -S '' privilege $privs && return 0 -else - compset -P '*' - copts=( -S '' ) - _alternative -O copts \ - 'who:who:((a\:all u\:owner g\:group o\:others))' \ - 'operators:operator:(+ - =)' \ - && return 0 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_systems b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_systems deleted file mode 100644 index 1e47ff7b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_file_systems +++ /dev/null @@ -1,38 +0,0 @@ -#autoload - -local expl fss - -case $OSTYPE in - aix*) fss=( jfs nfs cdrfs ) ;; - irix*) fss=( efs proc fd nfs iso9660 dos hfs cachefs xfs ) ;; - linux*) - typeset -aU fss - fss=( adfs bfs cramfs ext2 ext3 hfs hpfs iso9660 minix ntfs qnx4 - reiserfs romfs swap udf ufs vxfs xfs xiafs ) - [[ -r /proc/filesystems ]] && - fss+=( ${$(</proc/filesystems)#nodev} ) - [[ -r /etc/filesystems ]] && - fss+=( ${${${(f)"$(</etc/filesystems)"}:#\#*}#\*} ) - ;; - osf*) fss=( advfs ufs nfs mfs cdfs ) ;; - solaris*) fss=( ufs nfs hsfs s5fs pcfs cachefs tmpfs ) ;; - dragonfly*) - fss=( cd9660 devfs ext2fs fdesc kernfs linprocfs mfs msdos nfs - ntfs null nwfs portal procfs std udf ufs umap union ) - ;; - freebsd*) - fss=( ${${(f)"$(_call_program fstypes lsvfs)"}[3,-1]%% *} ) || - fss=( cd9660 devfs ext2fs fdescfs kernfs linprocfs linsysfs mfs msdosfs nfs - ntfs nullfs nwfs portalfs procfs smbfs std tmpfs udf ufs unionfs - reiserfs xfs zfs ) - ;; - darwin*) - fss=( autofs /sbin/mount_*(#qN-*:s./sbin/mount_.) ) - ;; - *) - # default for all other systems - fss=( ufs ) - ;; -esac - -_wanted fstypes expl 'file system type' compadd "$@" -M 'L:|no=' -a "$@" - fss diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_files deleted file mode 100644 index f03b4a14..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_files +++ /dev/null @@ -1,153 +0,0 @@ -#compdef -redirect-,-default-,-default- - -local -a match mbegin mend -local -a subtree -local ret=1 - -# Look for glob qualifiers. This is duplicated from _path_files because -# we don't want to complete them multiple times (for each file pattern). -if _have_glob_qual $PREFIX; then - compset -p ${#match[1]} - compset -S '[^\)\|\~]#(|\))' - if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then - _globflags && ret=0 - else - if [[ $_comp_caller_options[extendedglob] == on ]]; then - _describe -t globflags "glob flag" '(\#:introduce\ glob\ flag)' -Q -S '' && ret=0 - fi - _globquals && ret=0 - fi - return ret -elif [[ $_comp_caller_options[extendedglob] == on && $PREFIX = \(\#[^\)]# ]] && compset -P '\(\#'; then - # Globbing flags can start at beginning of word, even though - # glob qualifiers can't. - _globflags && return -fi - -local opts tmp glob pat pats expl tag i def descr end ign tried -local type sdef ignvars ignvar prepath oprefix rfiles rfile - -zparseopts -a opts \ - '/=tmp' 'f=tmp' 'g+:-=tmp' q n 1 2 P: S: r: R: W: x+: X+: M+: F: J+: V+: o+: - -type="${(@j::M)${(@)tmp#-}#?}" -if (( $tmp[(I)-g*] )); then - glob="${${${(@)${(@M)tmp:#-g*}#-g}##[[:blank:]]#}%%[[:blank:]]#}" - [[ "$glob" = *[^\\][[:blank:]]* ]] && - glob="{${glob//(#b)([^\\])[[:blank:]]##/${match[1]},}}" - - # add `#q' to the beginning of any glob qualifier if not there already - [[ "$glob" = (#b)(*\()([^\|\~]##\)) && $match[2] != \#q* ]] && - glob="${match[1]}#q${match[2]}" -elif [[ $type = */* ]]; then - glob="*(#q-/)" -fi -tmp=$opts[(I)-F] -if (( tmp )); then - ignvars=($=opts[tmp+1]) - if [[ $ignvars = _comp_ignore ]]; then - ign=( $_comp_ignore ) - elif [[ $ignvars = \(* ]]; then - ign=( ${=ignvars[2,-2]} ) - else - ign=() - for ignvar in $ignvars; do - ign+=(${(P)ignvar}) - done - opts[tmp+1]=_comp_ignore - fi -else - ign=() -fi - -if zstyle -a ":completion:${curcontext}:" file-patterns tmp; then - pats=() - - for i in ${tmp//\%p/${${glob:-\*}//:/\\:}}; do - if [[ $i = *[^\\]:* ]]; then - pats+=( " $i " ) - else - pats+=( " ${i}:files " ) - fi - done -elif zstyle -t ":completion:${curcontext}:" list-dirs-first; then - pats=( " *(-/):directories:directory ${${glob:-*}//:/\\:}(#q^-/):globbed-files" '*:all-files' ) -else - # People prefer to have directories shown on first try as default. - # Even if the calling function didn't use -/. - pats=( "${${glob:-*}//:/\\:}:globbed-files *(-/):directories" '*:all-files ' ) -fi - -tried=() -for def in "$pats[@]"; do - eval "def=( ${${def//\\:/\\\\\\:}//(#b)([][()|*?^#~<>])/\\${match[1]}} )" - - tmp="${(@M)def#*[^\\]:}" - (( $tried[(I)${(q)tmp}] )) && continue - tried=( "$tried[@]" "$tmp" ) - - for sdef in "$def[@]"; do - - tag="${${sdef#*[^\\]:}%%:*}" - pat="${${sdef%%:${tag}*}//\\:/:}" - - if [[ "$sdef" = *:${tag}:* ]]; then - # If the file-patterns spec includes a description, use it and give the - # group/description options from it precedence over passed in parameters. - descr="${(Q)sdef#*:${tag}:}" - end= - else - if (( $opts[(I)-X] )); then - descr= - else - descr=file - fi - end=yes - fi - - _tags "$tag" - while _tags; do - _comp_ignore=() - while _next_label "$tag" expl "$descr"; do - _comp_ignore=( $_comp_ignore $ign ) - if [[ -n "$end" ]]; then - expl=( "$opts[@]" "$expl[@]" ) - else - expl+=( "$opts[@]" ) - fi - - if _path_files -g "$pat" "$expl[@]"; then - ret=0 - elif [[ $PREFIX$SUFFIX != */* ]] && \ - zstyle -a ":completion:${curcontext}:$tag" recursive-files rfiles - then - for rfile in $rfiles; do - if [[ $PWD/ = ${~rfile} ]]; then - if [[ -z $subtree ]]; then - subtree=( **/*(/) ) - fi - for prepath in $subtree; do - oprefix=$PREFIX - PREFIX=$prepath/$PREFIX - _path_files -g "$pat" "$expl[@]" && ret=0 - PREFIX=$oprefix - done - break - fi - done - fi - done - (( ret )) || break - done - - ### For that _next_tags change mentioned above we would have to - ### comment out the following line. (Or not, depending on the order - ### of the patterns.) - - [[ "$pat" = '*' ]] && return ret - - done - (( ret )) || return 0 -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find deleted file mode 100644 index 74111f92..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find +++ /dev/null @@ -1,171 +0,0 @@ -#compdef find gfind - -local curcontext="$curcontext" state_descr variant default ret=1 -local -a state line args alts disp smatch - -_pick_variant -r variant gnu=GNU $OSTYPE -version - -case $variant in - solaris*) - args+=( - '*-'{n,}'cpio:device:_files' - '*-local' - ) - ;| - solaris*|darwin*) - args+=( '*-xattr' ) - ;| - solaris2.<10->|freebsd*|darwin*) - args+=( '*-acl' ) - ;| - solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*|gnu) - args+=( - '*-amin:access time (minutes)' - '*-cmin:inode change time (minutes)' - '*-mmin:modification time (minutes)' - '*-iname:name pattern to match (case insensitive)' - '*-print0' - ) - ;| - solaris*|freebsd*|dragonfly*|darwin*|gnu) - args+=( '*-mount' ) - ;| - netbsd*|freebsd*|dragonfly*|darwin*|gnu) - args+=( '(-H -L)-P[never follow symlinks]' ) - ;| - darwin*|freebsd*|gnu) - args+=( - '*-Bmin:birth time (minutes)' - '*-Bnewer:file to compare (birth time):_files' - '*-Btime:birth time (hours)' - ) - ;| - netbsd*|freebsd*|dragonfly*|openbsd*|darwin*|gnu) - args+=( - '-d[depth first traversal]' - '*-anewer:file to compare (access time):_files' - '*-cnewer:file to compare (inode change time):_files' - '*-empty' - '*-execdir:program: _command_names -e:*\;::program arguments: _normal' - '*-maxdepth:maximum search depth' - '*-mindepth:minimum search depth' - '*-path:path pattern to search:' - ) - ;| - freebsd*|dragonfly*|darwin*|gnu) - args+=( - '*-delete' - '*-gid:numeric group ID' - '*-uid:numeric user ID' - '*-noleaf' - '*-lname:link pattern to search' - '*-ilname:link pattern to search (case insensitive)' - '*-ipath:path pattern to search (case insensitive)' - '*-regex:regular expression to search' - '*-iregex:regular expression to search (case insensitive)' - '*-wholename:full path pattern to search' \ - '*-iwholename:full path pattern to search (case insensitive)' - '*-ignore_readdir_race' - '*-mnewer:file to compare (modification time):_files' - '*-noignore_readdir_race' - '*-okdir:program: _command_names -e:*\;::program arguments: _normal' - '*-samefile:file to compare inode:_files' \ - '*-true' - '*-false' - '*-and' - '*-or' - '*-not' - ) - ;| - freebsd*|dragonfly*|gnu) args+=( '*-quit' ) ;| - netbsd*|freebsd*|dragonfly*|darwin*) - args+=( - '-E[use extended regular expressions with -regex/-iregex]' - '-s[traverse directories in sorted order]' - ) - ;| - netbsd*|freebsd*|dragonfly*|openbsd*|darwin*) - args+=( - '-X[warn if filename contains characters special to xargs]' - '-f[specify file hierarchy to traverse]:path:_directories' - "-x[don't span filesystems]" - '*-flags:flag:_chflags' - ) - ;| - freebsd*|dragonfly*) args+=( '*-sparse' ) ;| - darwin*) args+=( '*-xattrname:name' ) ;| - gnu) - args+=( - '(- *)-help' '(-)--help' - '(- *)-version' '(-)--version' - '-D[print diagnostics]:debug option:(exec opt rates search stat time tree all help)' - '-O+[enable query optimisation]:level:(1 2 3)' - '*-daystart' - '-regextype:regexp syntax:(help findutils-default awk egrep ed emacs gnu-awk grep posix-awk posix-basic posix-egrep posix-extended posix-minimal-basic sed)' - '*-warn' - '*-nowarn' - '*-xautofs' - '*-used:access after inode change (days)' - '*-executable' - '*-readable' - '*-writable' - '*-xtype:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' - '*-fls:output file:_files' - '*-fprint:output file:_files' - '*-fprint0:output file:_files' - '*-fprintf:output file:_files:output format' - '*-printf:output format' - ) - [[ $OSTYPE = linux-gnu ]] && args+=( '*-context:SELinux context (glob pattern):_selinux_contexts' ) - ;; -esac - -_arguments -C $args \ - '(-L -P)-H[only follow symlinks when resolving command-line arguments]' \ - '(-H -P)-L[follow symlinks]' \ - '*-atime:access time (days):->times' \ - '*-ctime:inode change time (days):->times' \ - '*-depth' \ - '*-exec:program: _command_names -e:*\;::program arguments: _normal' \ - '*-follow' \ - '*-fstype:file system type:_file_systems' \ - '*-group:group:_groups' \ - '*-inum:inode number:' \ - '*-links:number of links:' \ - '*-ls' \ - '*-mtime:modification time (days):->times' \ - '*-name:name pattern' \ - '*-newer:file to compare (modification time):_files' \ - '*-nogroup' \ - '*-nouser' \ - '*-ok:program: _command_names -e:*\;::program arguments: _normal' \ - '*-perm: :_file_modes' \ - '*-print' \ - '*-prune' \ - '*-size:file size (blocks)' \ - '*-type:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' \ - '*-user:user:_users' \ - '*-xdev' \ - '*-a' '*-o' \ - '(-D -E -H -L -O -P -f -s -x --help --version)*:directory:_files -/' \ -&& ret=0 - -if [[ $state = times ]]; then - if ! compset -P '[+-]' || [[ -prefix '[0-9]' ]]; then - compstate[list]+=' packed' - if zstyle -t ":completion:${curcontext}:senses" verbose; then - zstyle -s ":completion:${curcontext}:senses" list-separator sep || sep=-- - default=" [default exactly]" - disp=( "+ $sep before (older files)" "- $sep since (newer files)" ) - smatch=( - + ) - else - disp=( before exactly since ) - smatch=( + '' - ) - fi - alts=( "senses:sense${default}:compadd -V times -S '' -d disp -a smatch" ) - fi - alts+=( "times:${state_descr}:_dates -f d" ) - _alternative $alts && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find_net_interfaces b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find_net_interfaces deleted file mode 100644 index 06238b11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_find_net_interfaces +++ /dev/null @@ -1,41 +0,0 @@ -#autoload - -# This can be called independently of completion. It returns -# arrays net_intf_disp and net_intf_list which the caller should -# make local. - -local sep list - -# Make sure needed tools are in the path. -local PATH=$PATH -PATH=/sbin:$PATH - -case $OSTYPE in - aix*) - net_intf_list=( ${(f)"$(lsdev -C -c if -F 'name:description')"} ) - if zstyle -T ":completion:${curcontext}" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep " "$net_intf_list[@]" - net_intf_disp=(-ld list) - fi - ;; - darwin*|freebsd*|dragonfly*) net_intf_list=( $(ifconfig -l) ) ;; - irix*) net_intf_list=( ${${${(f)"$(/usr/etc/netstat -i)"}%% *}[2,-1]} ) ;; - *) - if (( $+commands[ip] )); then - # if ip is available, we can also show altnames - net_intf_list=( $(_call_program interfaces "ip link | sed -ne 's/^[0-9]\+: \([^:@]\+\).*/\1/p;t; s/^[\ ]\+altname \(.\+\)\$/\1/p'") ) - else - # linux's deprecated ifconfig may truncate long interface names - net_intf_list=( $(_call_program interfaces "ifconfig -a 2>/dev/null | sed -n 's/^\([^ :]*\).*/\1/p'") ) - fi - - if (( ${#net_intf_list} == 0 )) && [[ -d /proc/sys/net/ipv4/conf ]]; then - # On linux we used to use the following as the default, without /sys/class/net/*. - # However, we now use ip or ifconfig since it finds additional devices such - # as tunnels. So only do this if that didn't work. - typeset -gU net_intf_list - net_intf_list=( /proc/sys/net/ipv4/conf/*~*(all|default)(N:t) /sys/class/net/*(N:t) ) - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_findmnt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_findmnt deleted file mode 100644 index 0c832364..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_findmnt +++ /dev/null @@ -1,117 +0,0 @@ -#compdef findmnt -# -# Note for customization: -# Options -N -k -m -s are in a group 'S' and need be specified as -# 'S-option-N' etc. in the context for zstyle. For example, if you want -# all PIDs to be completed for 'findmnt -N<TAB>', then -# zstyle ':completion:*:findmnt:S-option-N-1:processes' command 'ps -A' -# -local curcontext=$curcontext state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -C \ - '(H -A --all)'{-A,--all}'[print all filesystems]' \ - '(H -a --ascii)'{-a,--ascii}'[use ascii characters for tree formatting]' \ - '(H -b --bytes)'{-b,--bytes}'[print SIZE etc. in bytes]' \ - '(H -c --nocanonicalize)'{-c,--nocanonicalize}'[do not canonicalize path]' \ - '(H -d --direction)'{-d+,--direction=}'[specify the search direction]:direction:(forward backward)' \ - '(H -e --evaluate)'{-e,--evaluate}'[convert LABEL/UUID/PARTLABEL/PARTUUID to the device name]' \ - '(H -F --tab-file)*'{-F+,--tab-file=}'[search in the specified tab file]:tab file:_files' \ - '(H -f --first-only)'{-f,--first-only}'[print the first matching filesystem only]' \ - '(H -i --invert)'{-i,--invert}'[invert the sense of matching]' \ - '(H -M --mountpoint :)'{-M+,--mountpoint=}'[specify the mountpoint]: :->targets' \ - '(H -n --noheadings)'{-n,--noheadings}'[do not print a header line]' \ - '(H -O --options)'{-O+,--options=}'[only print the filesystems with the specified options]:list of options: ' \ - '(H -o --output --output-all)'{-o+,--output=}'[specify output columns]: :->columns' \ - '(H -o --output)--output-all[output all available columns]' \ - '(H -p --poll)'{-p+,--poll=}'[monitor changes in /proc/self/mountinfo]::action:(mount umount remount move)' \ - '(H --real)--pseudo[print only pseudo-filesystems]' \ - '(H -R --submounts)'{-R,--submounts}'[print recursively all submounts]' \ - '(H --pseudo)--real[print only real filesystems]' \ - '(H -S --source :)'{-S+,--source=}'[specify the mount source]: :->sources' \ - '(H -T --target :)'{-T+,--target=}'[specify the mount target]:target:_files' \ - '(H -t --types)'{-t+,--types=}'[specify the type of filesystems]:filesystem types:_sequence -s , _file_systems' \ - '--tree[use tree-like output if possible]' \ - '(H -U --uniq)'{-U,--uniq}'[ignore filesystems with duplicated mount targets]' \ - '(H -u --notruncate)'{-u,--notruncate}'[do not truncate text in columns]' \ - '(H -v --nofsroot)'{-v,--nofsroot}'[do not print \[/dir\] in the SOURCE column]' \ - '(H -w --timeout)'{-w+,--timeout}'[specify timeout for --poll]:milliseconds: ' \ - '(H -x --verify)'{-x,--verify}'[check mount table content]' \ - '(H)--verbose[print more information]' \ - '(H)1: :->sources_targets' \ - '(H)2:: :->targets' \ - + '(format)' \ - '(H)'{-D,--df}'[imitate the output of df command]' \ - '(H)'{-J,--json}'[use JSON output format]' \ - '(H)'{-l,--list}'[use list output format]' \ - '(H)'{-P,--pairs}'[use key="value" output format]' \ - '(H)'{-r,--raw}'[use raw output format]' \ - + '(S)' \ - '(H)'{-k,--kernel}'[search in /proc/self/mountinfo (default)]' \ - '(H)'{-m,--mtab}'[search in /etc/mtab]' \ - '(H)'{-N+,--task=}'[search /proc/<pid>/mountinfo]: :_pids' \ - '(H)'{-s,--fstab}'[search in /etc/fstab]' \ - + '(H)' \ - '(- :)'{-h,--help}'[display help text and exit]' \ - '(- :)'{-V,--version}'[display version and exit]' \ - && ret=0 - -__findmnt_mountpoints () { - compadd "$@" \ - ${(f)"$(_call_program mount-points findmnt $opts -oTARGET)"} -} - -case $state in - columns) - compset -P '+' || _describe -t list-prefixes prefix \ - '( +:"not replace but extend the list" )' -S '' && ret=0 - local -a columns=( - ${${${(f)"$(_call_program columns findmnt -h)"}[(r)Available*,-2]}[2,-1]} - ) - columns=( ${${${${${${columns## #}//:/\\:}//\[/\\[}//]/\\]}/ /[}/%/]} ) - _values -s , -M 'm:{a-z}={A-Z}' column $columns && ret=0 - ;; - *) # call "findmnt $opts" to get possible sources/targets - local opts='-lnve' - if [[ -n $opt_args[(I)S-(-m|--mtab)] ]]; then - opts+=' -m' - elif [[ -n $opt_args[(I)S-(-s|--fstab)] ]]; then - opts+=' -s' - elif [[ -n $opt_args[(I)S-(-N|--task)] ]]; then - opts+=" -N${(v)opt_args[(I)S-(-N|--task)]}" - fi - ;| - sources*) # 'sources' or 'sources_targets' - local -a val - if compset -P 'LABEL='; then - val=( ${(f)"$(_call_program labels findmnt $opts -oLABEL)"} ) - _describe -t labels 'LABEL' val && ret=0 - elif compset -P 'PARTLABEL='; then - val=( ${(f)"$(_call_program labels findmnt $opts -oPARTLABEL)"} ) - _describe -t labels 'PARTLABEL' val && ret=0 - elif compset -P 'UUID='; then - val=( ${(f)"$(_call_program uuids findmnt $opts -oUUID)"} ) - _describe -t uuids 'UUID' val && ret=0 - elif compset -P 'PARTUUID='; then - val=( ${(f)"$(_call_program uuids findmnt $opts -oPARTUUID)"} ) - _describe -t uuids 'PARTUUID' val && ret=0 - else - local -a alts=( - 'devices:device:compadd \ - $(_call_program devices findmnt $opts -oSOURCE)' - 'device-numbers:major-minor:compadd \ - ${$(_call_program device-numbers findmnt $opts -oMAJ:MIN)// /}' - 'prefixes:prefix:compadd -S "" LABEL= UUID= PARTLABEL= PARTUUID=' - ) - [[ $state = sources_targets ]] && - alts+=( 'mount-points:mountpoint:__findmnt_mountpoints' ) - _alternative $alts && ret=0 - fi - ;; - targets) - local expl - _wanted mount-points expl 'mountpoint' __findmnt_mountpoints && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_finger b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_finger deleted file mode 100644 index 1ffb52d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_finger +++ /dev/null @@ -1,80 +0,0 @@ -#compdef finger - -local curcontext="$curcontext" state line match ret=1 -typeset -A opt_args - -if (( ! $+_finger_args )); then - local help="$(_call_program options finger -\\\? 2>&1)" - local -A optionmap - -## `finger -\?': - -# SunOS 5.7: -# finger: illegal option -- ? -# Usage: finger [-bfhilmpqsw] [-t l|h|l,h] [name1 [name2 ...] ] - -# SunOS 4.1.4: -# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] - -# IRIX 6.3: -# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] - -# NetBSD 1.4.1: -# finger: illegal option -- ? -# usage: finger [-lmpsho] [login ...] - -# FreeBSD 2.2.8 -# finger: illegal option -- ? -# usage: finger [-lmpshoT] [login ...] - -# BSD/OS 3.0: -# finger: illegal option -- ? -# usage: finger [-lmps] [login ...] - -# 4.4BSD Lite: -# usage: finger [-lmps] [login ...] - -# Debian GNU/Linux (potato) (netstd 3.07-10): -# finger: invalid option -- ? -# usage: finger [-lmps] [login ...] - - if [[ "$help" = *\[-(#b)(lmps[a-zA-Z]#)* ]]; then - # BSD style - optionmap=( - '*m*' '-m[match to login name]' - '*l*' '(-s -o)-l[force long format]' - '*s*' '(-l -p)-s[force short format]' - '*p*' '(-s -o)-p[suppress .forward, .plan and .project]' - '*o*' '(-l -p)-o[print office information]' - '*T*' '-T[disable T/TCP]' - ) - _finger_args=($optionmap[(K)$match[1]]) - elif [[ "$help" = *\[-(#b)(bfhilmpqsw[a-zA-Z]#)* ]]; then - # System V style - optionmap=( - '*m*' '-m[match to login name]' - '*l*' '( -i -q -s -f -w)-l[force long format]' - '*i*' '(-l -q -s -b -h -p -w)-i[force idle format]' - '*q*' '(-l -i -s -b -h -p -w)-q[force quick format]' - '*s*' '(-l -i -q -b -h -p)-s[force short format]' - '*b*' '(-i -q -s)-b[suppress home and shell]' - '*f*' '(-l)-f[suppress header]' - '*h*' '(-i -q -s)-h[suppress .project]' - '*p*' '(-i -q -s)-p[suppress .plan]' - '*w*' '(-i -q -l)-w[suppress full name]' - ) - _finger_args=($optionmap[(K)$match[1]]) - else - _finger_args=() - fi -fi - -_arguments -C -s $_finger_args '*:finger targets:->finger-targets' && ret=0 - -case "$state" in -finger-targets) - _user_at_host -t other-accounts "$@" && return - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fink b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fink deleted file mode 100644 index 04a067ec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fink +++ /dev/null @@ -1,168 +0,0 @@ -#compdef fink - -_fink_get_packages_with_cache(){ - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _finkpkgs_caching_policy - fi - - typeset -g -a _fink_pkgs - local expl - - if ( (( #_fink_pkgs == 0 )) || _cache_invalid finkpkgs) \ - && ! _retrieve_cache finkpkgs; then - _fink_pkgs=(${(f)"$( - command fink list --tab \ - | command grep -v '\[virtual package\]' \ - | command sed 's/^ / n /' \ - | command cut -f1,2 - )"}) - _store_cache finkpkgs _fink_pkgs - fi - - if (( # > 0 )); then - local i - for i in "$@"; do - case "$i" in - -i) packages+=(${${(M)_fink_pkgs:#?i?*}#* }) ;; - -o) packages+=(${${(M)_fink_pkgs:#(i)*}#* }) ;; - -n) packages+=(${${(M)_fink_pkgs:# n *}#* }) ;; - esac - done - else - packages=(${_fink_pkgs#* }) - fi -} - -_fink_get_packages_without_cache(){ - local expl - - packages=(${(f)"$( - command fink list -t "$@" "$PREFIX" \ - | command grep -v '\[virtual package\]' \ - | command cut -f2 - )"}) -} - -_fink_get_packages(){ - # variable packages will be set - if zstyle -t ":completion:${curcontext}:" use-cache; then - _fink_get_packages_with_cache "$@" - else - _fink_get_packages_without_cache "$@" - fi -} - -_finkpkgs_caching_policy(){ - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) || - [[ /sw/var/cache/apt/pkgcache.bin -nt "$1" ]] || - [[ /sw/var/lib/dpkg/available -nt "$1" ]] -} - -_fink(){ - local -a _1st_arguments - _1st_arguments=( - 'install:install or update packages' - 'remove:remove packages' - 'purge:remove packages and configuration files' - 'update-all:update all installed packages to the latest version' - 'list:search package name or conditions and list' - 'apropos:search package descriptions or conditions and list' - 'describe:display a description of the package' - 'fetch:download package source files' - 'fetch-all:downloads all package source files' - 'fetch-missing:download all missing package source files' - 'build:build .deb packages' - 'rebuild:rebuild .deb packages' - 'reinstall:reinstall packages' - 'configure:rerun the fink configuration process' - 'selfupdate:upgrade to a new fink release' - 'validate:validate files' - 'scanpackages:call dpkg-scanpackages' - 'checksums:validate the MD5 digest of all tarballs' - 'cleanup:removes obsolete package files' - ) - - local curcontext="$curcontext" state line expl - local -A opt_args - - _arguments \ - '(-h --help)'{-h,--help}'[display help text]' \ - '(-q --quiet)'{-q,--quiet}'[causes fink to be less verbose]' \ - '(-V --version)'{-V,--version}'[display version information]' \ - '(-v --verbose)'{-v,--verbose}'[causes fink to be more verbose]' \ - '(-y --yes)'{-y,--yes}'[assume default answer for interactive questions]' \ - '*:: :->subcmds' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "fink subcommand" _1st_arguments - return - fi - - local -a packages - - case "$words[1]" in - install|update|enable|activate|use) - _fink_get_packages -n -o - _wanted packages expl 'not installed or outdated fink package' compadd -a packages ;; - remove|disable|deactivate|unuse|delete|purge) - _fink_get_packages -i - _wanted packages expl 'installed package' compadd -a packages ;; - #update-all) - list) - _arguments \ - '(-t --tab)'{-t,--tab}'[outputs list with tabs as field delimiter]' \ - '(-i --installed)'{-i,--installed}'[packages currently installed]' \ - '(-u --uptodate)'{-u,--uptodate}'[packages up to date]' \ - '(-o --outdate)'{-o,--outdated}'[packages newer version is available]' \ - '(-n --notinstalled)'{-n,--notinstalled}'[packages not installed]' \ - '(-b --buildonly)'{-b,--buildonly}'[packages Build Only Depends]' \ - '(-s --section)'{-s=,--section=}'[sections]:section name' \ - '(-m --maintainer)'{-m=,--maintainer=}'[maintainer]:maintainer name' \ - --tree='[tree]:tree name' \ - '(-w --width)'{-w=,--width=}'[width of display]:number or "auto"' \ - '(1 : -)'{-h,--help}'[display help text]' \ - '1: :->pkgs' && return 0 - - if [[ "$state" == pkgs ]]; then - _fink_get_packages - _wanted packages expl 'package name hint' compadd -a packages - fi ;; - apropos) - _arguments \ - '(-t --tab)'{-t,--tab}'[output the list with tabs as field delimiter]' \ - '(-w --width)'{-w=,--width=}'[width of display]:number or "auto"' \ - '(1 : -)'{-h,--help}'[display help text]' \ - '1: :->pkgs' && return - - if [[ "$state" == pkgs ]]; then - _fink_get_packages - _wanted packages expl 'package hint' compadd -a packages - fi ;; - describe|desc|description|info) - _fink_get_packages - _wanted packages expl 'package' compadd -a packages ;; - #fetch) - #fetch-all) - fetch-missing) - _arguments \ - '(-i --ignore-restrictive)'{-i,--ignore-restrictive}'[do not fetch packages that are "License: Restrictive"]' ;; - #build) - rebuild|reinstall) - _fink_get_packages - _wanted packages expl 'package' compadd -a packages ;; - #configure) - #selfupdate) - validate|check) - _wanted files expl 'finkinfo file' _files -g "*.info(-.)" ;; - #scanpackages) - #checksums) - #cleanup) - *) _default ;; - esac -} - -_fink "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_first b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_first deleted file mode 100644 index 4b565fca..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_first +++ /dev/null @@ -1,47 +0,0 @@ -#compdef -first- - -# This function is called at the very beginning before any other -# function for a specific context. -# -# This just gives some examples of things you might want to do here. -# -# -# Other things you can do here is to complete different things if the -# word on the line matches a certain pattern. This example allows -# completion of words from the history by adding two commas at the end -# and hitting TAB. -# -# if [[ "$PREFIX" = *,, ]]; then -# local max i=1 expl opt -# -# PREFIX="$PREFIX[1,-2]" -# # If a numeric prefix is given, we use it as the number of -# # lines (multiplied by ten below) in the history to search. -# if [[ ${NUMERIC:-1} -gt 1 ]]; then -# max=$NUMERIC -# unset NUMERIC -# else -# # The default is to search the last 100 lines. -# max=10 -# fi -# # We first search in the last ten words, then in the last -# # twenty words, and so on... -# while [[ i -le max ]]; do -# if zstyle -t ":completion:${curcontext}:history-words" sort; then -# opt=-J -# else -# opt=-V -# fi -# if _wanted "$opt" history-words expl "history ($n)" \ -# compadd -Q - \ -# "${(@)${(@)historywords:#[\$'\"]*}[1,i*10]}"; then -# # We have found at least one matching word, so we switch -# # on menu-completion and make sure that no other -# # completion function is called by setting _compskip. -# compstate[insert]=menu -# _compskip=all -# return 0 -# fi -# (( i++ )) -# done -# fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flac b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flac deleted file mode 100644 index 82b6f016..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flac +++ /dev/null @@ -1,120 +0,0 @@ -#compdef flac metaflac - -local shortops common shared blocktypes level - -shortops=( - --show-md5sum - --show-min-blocksize - --show-max-blocksize - --show-min-framesize - --show-max-framesize - --show-sample-rate - --show-channels - --show-bps - --show-total-samples - --show-vendor-tag - '--show-tag=:FLAC tag' - '--remove-tag=:FLAC tag' - '--remove-first-tag=:FLAC tag' - --remove-all-tags - '*--set-tag=:FLAC tag and value: ' - '*--set-tag-from-file=:tag' - '--import-tags-from=:flat file:_files' - '--export-tags-to=:new file: ' - '--import-cuesheet-from=:file:_files' - '--export-cuesheet-to=:new file:_files' - '--import-picture-from=:file or specification:_files' - '--export-picture-to=:file:_files' - --scan-replay-gain - --remove-replay-gain - --add-replay-gain - '*--add-seekpoint=:seek point' - '--add-padding=:length (bytes)' -) - -blocktypes=( STREAMINFO PADDING APPLICATION SEEKTABLE VORBIS_COMMENT PICTURE ) -common=( - '--block-number=:block number' - '(--except-block-type)--block-type=:block type:_sequence compadd - $blocktypes' - '(--block-type)--except-block-type=:block type:_sequence compadd - $blocktypes' -) -shared=( - '--no-utf8-convert' - '--preserve-modtime' -) -level=( -{,-compression-level-}{0,1,2,3,4,5,6,7,8} --best --fast ) - -case $service in - flac) - _arguments -s -S $shared \ - '(H -c --stdout)'{-c,--stdout}'[write output to stdout]' \ - '(H -s --silent --totally-silent)'{-s,--silent}"[don't output runtime statistics]" \ - '(H)--totally-silent' \ - '(H -w --warnings-as-errors)'{-w,--warnings-as-errors}'[treat all warnings as errors]' \ - '(H -f --force)'{-f,--force}'[overwrite output files]' \ - '(H -o --output-name -c --stdout)'{-o,--output-name=}'[specify output file name]' \ - '(H)--output-prefix=[prepend specified string to output file names]' \ - '(H)--delete-input-file' \ - '(H)--keep-foreign-metadata' \ - '(H)--skip=[skip initial samples from each input]:skip (mm:ss.ss)' \ - '(H)--until=[stop at specified sample for each input]:stop (+-mm:ss.ss)' \ - '(H)--ogg[use ogg as a transport layer]' \ - '(H)--serial-number=[serial number to use for the FLAC stream]:serial number' \ - '(H --force-aiff-format --force-rf64-format --force-wave64-format)--format-raw-format' \ - '*:file:_files -F line -g "(#i)*.(${${opt_args[(i)decode-*]:+flac|oga}:-wav|aif|aiff|raw|rf64|w64})(-.)"' \ - - 'H' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-H,--explain}'[display detailed explanation of usage and options]' \ - - encode \ - '(-V --verify)'{-V,--verify}'[verify a correct encoding]' \ - --lax --ignore-chunk-sizes '!--sector-align' --replay-gain \ - '--cuesheet=:file:_files' \ - '--picture=:specification:' \ - \*{-T,--tag}'[add a FLAC tag]:field=value' \ - '--tag-from-file=:field=file' \ - \*{-S,--seekpoint=}':seek point' \ - '(-P --padding)'{-P,--padding=}'[add space for metadata]:length (bytes)' \ - "($level[*])"$^level \ - '(-b --blocksize)'{-b,--blocksize=}'[specify block size in samples]:size:(192 576 1152 2304 4608 256 512 1024 2048 4096 8192 16384)' \ - '(-m --mid-side -M --adaptive-mid-side)'{-m,--mid-side}'[try mid-side coding for each frame]' \ - '(-m --mid-side -M --adaptive-mid-side)'{-M,--adaptive-mid-side}'[adaptive mid-side coding for all frames]' \ - '(-e --exhaustive-model-search)'{-e,--exhaustive-model-search}'[do exhaustive model search]' \ - \*{-A,--apodization=}'[window audio data with given the function]:function:(bartlett bartlett_hann blackman blackman_harris_4term_92dbconnes flattop gauss hamming hann kaiser_bessel nuttall rectangle triangle tukey welch)' \ - '(-l --max-lpc-order)'{-l,--max-lpc-order=}'[specify max LPC order]:order' \ - '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-p,--qlp-coeff-precision-search}'[exhaustively search LP coeff quantization]' \ - '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-q,--qlp-coeff-precision=}'[specify precision]:precision (bits)' \ - '(-r --rice-partition-order)'{-r,--rice-partition-order=}'[set min/max residual partition order]:order' \ - '--endian=:byte order:(big little)' \ - '--channels=:channels' \ - '--bps=:bits per sample' \ - '--sample-rate=:sample rate (Hz)' \ - '--sign=:sign of samples [signed]:(signed unsigned)' \ - '--input-size=:size (bytes)' \ - - decode \ - '(-d --decode -t --test -a --analyze)'{-d,--decode}'[decode a FLAC encoded file]' \ - '(-d --decode -t --test -a --analyze --delete-input-file)'{-t,--test}'[test a FLAC encoded file]' \ - '(-d --decode -t --test -a --analyze --delete-input-file)'{-a,--analyze}'[analyze a FLAC encoded file]' \ - '(-d --decode -t --test)'{--residual-text,--residual-gnuplot} \ - '(-F --decode-through-errors)'{-F,--decode-through-errors}'[continue decoding through stream errors]' \ - '--apply-replaygain-which-is-not-lossless=:specification' \ - '--cue=[set the beginning and ending cuepoints to decode]:cue point' \ - '(--force-raw-format --force-rf64-format --force-wave64-format)--force-aiff-format' \ - '(--force-raw-format --force-aiff-format --force-wave64-format)--force-rf64-format' \ - '(--force-raw-format --force-aiff-format --force-rf64-format)--force-wave64-format' \ - ;; - metaflac) - _arguments -S $shared \ - '(--no-filename)--with-filename[prefix output with filename]' \ - '(--with-filename)--no-filename' \ - '--dont-use-padding[always rewrite the file]' \ - "*:FLAC file:_files -g \*.flac\(-.\)" \ - - 'short' $shortops \ - - 'list' $common --list \ - '--application-data-format=:format:(text hexdump)' \ - - 'remove' $common --remove \ - - '(ops)' \ - '(-)--help' '(-)--version' \ - --remove-all --merge-padding --sort-padding - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flex b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flex deleted file mode 100644 index 80b0cd7f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flex +++ /dev/null @@ -1,61 +0,0 @@ -#compdef flex flex++ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '-C-[specify degree of table compression]:table compression:->tabcomp' \ - '--align[trade off larger tables for better memory alignment]' \ - '--ecs[construct equivalence classes]' \ - '--meta-ecs[construct meta-equivalence classes]' \ - '--read[use read() instead of stdio for scanner input]' \ - '(-f --full)'{-f,--full}'[generate fast scanner (full table)]' \ - '(-F --fast)'{-F,--fast}'[use fast scanner table representation]' \ - '(-d --debug)'{-d,--debug}'[enable debug mode in scanner]' \ - '(-b --backup)'{-b,--backup}'[write backup information to lex.backup]' \ - '(-p --perf-report)'{-p,--perf-report}'[generate performance report]' \ - '(-s --nodefault)'{-s,--nodefault}'[suppress default rule to ECHO unmatched text]' \ - '(-T --trace)'{-T,--trace}'[trace mode]' \ - '(-w --nowarn)'{-w,--nowarn}'[suppress warnings]' \ - '(-v --verbose)'{-v,--verbose}'[show summary of statistics about scanner]' \ - '--hex[use hexadecimal numbers instead of octal in debug outputs]' \ - '(-o --outfile)'{-o+,--outfile=}'[specify output file]:output file:_files' \ - '(-S --skel)'{-S+,--skel=}'-[override skeleton file]:skeleton file:_files' \ - '(-t --stdout)'{-t,--stdout}'[write scanner to stdout]' \ - '--yyclass=[specify name of C++ class]:class name' \ - '--header-file=-[create a C header file in addition to the scanner]:file:_files' \ - '--tables-file=-[write tables to file]::tables file:_files' \ - '(-7 -8 --7bit --8bit)'{-7,--7bit}'[generate 7-bit scanner]' \ - '(-7 -8 --7bit --8bit)'{-8,--8bit}'[generate 8-bit scanner]' \ - '(-B --batch -I --interactive)'{-B,--batch}'[generate batch scanner]' \ - '(-i --case-insensitive)'{-i,--case-insensitive}'[generate case-insensitive scanner]' \ - '(-l --lex-compat)'{-l,--lex-compat}'[maximum compatibility with original lex]' \ - '(-X --posix-compat)'{-l,--posix-compat}'[maximum compatibility with POSIX lex]' \ - '(-B --batch -I --interactive)'{-I,--interactive}'[generate interactive scanner]' \ - '--yylineno[track line count in yylineno]' \ - '-\+[generate C++ scanner class]' \ - '-D-[define macro]:macro' \ - '(-L --noline)'{-L,--noline}"[don't generate #line directives]" \ - '(-P --prefix)'{-P+,--prefix=}'[change yy prefix]:prefix string' \ - '(-R --reentrant)'{-R,--reentrant}'[generate a reentrant C scanner]' \ - '--bison-bridge[scanner for bison pure parser]' \ - '--bison-locations[include yylloc support]' \ - '--stdinit[initialize yyin/yyout to stdin/stdout]' \ - "--nounistd[don't include <unistd.h>]" \ - "--no-[don't generate a particular function]:function" \ - '(-c -n)'{-c,-n}'[do nothing]' \ - '(- *)'{-h,--help}'[display help information]' \ - '( *)'{-V,--version}'[display version information]' \ - '*:input file:_files -g "*.(#i)(f|)lex(-.)"' && ret=0 - -if [[ -n "$state" ]]; then - _values -s '' 'table compression' \ - 'a[align tables]' \ - 'e[construct equivalence classes]' \ - '(m)f[generate full tables]' \ - '(m)F[generate fast tables]' \ - '(f F)m[construct meta-equivalence classes]' \ - "r[don't use stdio library]" && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_floppy b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_floppy deleted file mode 100644 index 3dd3ee8e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_floppy +++ /dev/null @@ -1,5 +0,0 @@ -#compdef dosread dosdel - -local expl - -_wanted floppyfiles expl 'file on floppy' compadd - ${$(dosdir)[1,-5]:l} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flowadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flowadm deleted file mode 100644 index e4d682ff..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_flowadm +++ /dev/null @@ -1,99 +0,0 @@ -#compdef flowadm - -local -a subcmds tr props -local expl - -_flowadm_flow(){ - compadd "$@" - $(_call_program flows flowadm show-flow -p -o flow) -} - -subcmds=( - help show-flow add-flow match-flow remove-flow set-flowprop - reset-flowprop show-flowprop -) -tr=( tcp udp sctp icmp icmpv6 ) -props=( maxbw ) - -if [[ $service == "flowadm" ]]; then - _arguments -C -A "-*" \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "flowadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" -fi -case $service in - - ("help") - _arguments ':subcommand:($subcmds)' - ;; - - ("show-flow") - _arguments -A "-*" \ - '-o[specify field to display]:field:(flow link ipaddr proto port dsfield)' \ - '-p[parsable output]' \ - '-P[persistent flow property information]' \ - - set1 \ - '-l[display information for link]:link or flow:_net_interfaces' \ - - set2 \ - ':flow:_flowadm_flow' \ - ;; - - (match-flow) - _arguments -A "-*" \ - '-o[specify field to display]:field:(flow link ipaddr proto port dsfield)' \ - '-p[parsable output]' \ - '-P[persistent flow property information]' \ - '-a[specify attribute]:attribute:(local_ip= remote_ip= transport=$tr local_port= dsfield=)' \ - '(:)-l[display information for link]:link or flow:_net_interfaces' \ - '(-l):flow:_flowadm_flow' \ - ;; - - ("add-flow") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-l[specify link to which flow will be added]:link:_net_interfaces' \ - '-a[specify attribute]:attribute:(local_ip= remote_ip= transport=$tr local_port= dsfield=)' \ - '-p[set property value]:property:(maxbw=)' \ - ;; - - ("remove-flow") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - - set1 \ - '-l[specify link from which flow will be deleted]:link:_net_interfaces' \ - - set2 \ - ':flow:_flowadm_flow' \ - ;; - - ("set-flowprop") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-p[set property value]:property:(maxbw=)' \ - ':flow:_flowadm_flow' \ - ;; - - ("reset-flowprop") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-p[set property value]:property:(maxbw=)' \ - ':flow:_flowadm_flow' \ - ;; - - ("show-flowprop") - _arguments -A "-*" \ - '-c[parsable output (requires -o)]' \ - '-l[specify link whose properties will be shown]:link:_net_interfaces' \ - '-P[persistent flow property information]' \ - '-p[property to show]:property:_values -s , "property" $props' \ - ':flow:_flowadm_flow' \ - ;; - -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmadm deleted file mode 100644 index 54e22bde..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmadm +++ /dev/null @@ -1,125 +0,0 @@ -#compdef fmadm - -_fm_modules() { - compadd "$@" - ${${(f)"$(_call_program modules fmadm config)"}[2,-1]// */} -} - -_fm_faulted_fmris() { - compadd "$@" - $(fmadm faulty -r 2> /dev/null | awk '{print $1}') -} - -_fm_faulted_uuids() { - compadd "$@" - $(fmadm faulty -s 2> /dev/null | tail +4 | awk '{print $4}') -} - -_fm_faulted_labels() { - local line q='"' - compadd "$@" - $(fmadm faulty -f 2> /dev/null | while read line; do - if [[ $line == "----"* ]]; then - read line - if [[ $line == '"'* ]]; then - print ${${line[(r)$q,(rn:2:)$q]}[2,-2]} - fi - fi - done) -} - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args -local -a subcmds args - -# TODO: lookup-alias and remove-alias need completion based on the -# output of list-alias, but I have no examples of that output. - -subcmds=( - faulty list acquit replaced repaired list-alert clear - list-defect list-fault - add-alias remove-alias lookup-alias list-alias sync-alias - config load unload reset rotate flush -) - -_arguments -C -A "-*" \ - '-q[quiet mode]' \ - '1:fmadm subcommand:compadd -M "r:|-=* r:|=*" -a subcmds' \ - '*::command:->subcmd' && ret=0 - -[[ -z $state ]] && return ret -service="$words[1]" -curcontext="${curcontext%:*}-$service:" - -case $service in - (faulty|list|list-alert|list-defect|list-fault) - args+=( - '-f[display faulty FRUs]' - '-i[display persistent cache IDs]' - '-p[page output]' - '-r[display resources]' - '-s[display one-line summaries]' - '-u[only display fault with given uuid]:uuid:_fm_faulted_uuids' - '-v[display full output]' - ) - ;| - - (list|faulty) - _arguments -A "-*" $args \ - '-a[display all faults]' \ - '-g[group faults]' \ - '-n[limit output to specified number of entries]:number' - ;; - - (list-alert|list-defect|list-fault) - _arguments -A "-*" $args \ - '-a[display all resources]' - ;; - - (acquit) - _alternative \ - 'fmadm-acquit-label:label:_fm_faulted_labels' \ - 'fmadm-acquit-uuid:uuid:_fm_faulted_uuids' \ - 'fmadm-acquit-fmri:fmri:_fm_faulted_fmris' && ret=0 - ;; - - (repaired|replaced) - _alternative \ - 'fmadm-acquit-label:label:_fm_faulted_labels' \ - 'fmadm-acquit-fmri:fmri:_fm_faulted_fmris' && ret=0 - ;; - - (add-alias) - _arguments :chassis :alias-id :comment && ret=0 - ;; - - (remove-alias|lookup-alias) - _message -e aliases 'chassis or alias-id' - ;; - - (load) - _directories && ret=0 - ;; - - (unload) - _fm_modules && ret=0 - ;; - - (reset) - _arguments -A "-*" \ - '-s[reset named SERD]:serd' \ - ':module:_fm_modules' && ret=0 - ;; - - (rotate) - _values 'logfile' errlog fltlog infolog infolog_hival && ret=0 - ;; - - (flush) - _fm_faulted_fmris && ret=0 - ;; - - (list-alias|config|sync-aliases) _message 'no more arguments' ;; - - (*) # fallback to defaults for any new or unhandled subcommand - _default && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmt deleted file mode 100644 index 59d90ff8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fmt +++ /dev/null @@ -1,60 +0,0 @@ -#compdef fmt gfmt - -local variant -local -a args -local copt="[preserve indentation of first two lines]" -local wopt="[specify maximum line width]:width [75]" -local sopt="[don't join short lines\: split only]" - -args=( -A "-*" "(1 2)-w+$wopt" '*:file:_files' ) -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args=( - '(-c --crown-margin)'{-c,--crown-margin}$copt - '(-w --width)'{-w+,--width=}$wopt - '(-p --prefix)'{-p+,--prefix=}'[only reformat lines with specified prefix]:prefix' - '(-s --split-only)'{-s,--split-only}$sopt - '(-t --tagged-paragraph)'{-t,--tagged-paragraph}'[indentation of first line different from second]' - '(-u --uniform-spacing)'{-u,--uniform-spacing}'[use one space between words, two after sentences]' - '(-g --goal)'{-g,--goal=}'[specify goal width]:goal width [93% of width]' - '(- *)--help[display help information]' - '(- *)--version[display version information]' - '*:file:_files' - ) - ;; - solaris*) - args=( - "-c$copt" - "-s$sopt" - ) - ;; - netbsd*) - args+=( - '-C[center the text]' - '(1 2)-g+[specify goal width]:goal width' - '(1 2)-m+[specify maximum width]:maximum width' - '-r[format all lines]' - ) - ;| - darwin*|dragonfly*|freebsd*|openbsd*) - args+=( - '-c[center the text line by line]' - '-m[sensible formatting of mail header lines]' - '-n[format lines beginning with a . (dot) character]' - "-p[change in indentation doesn't start new paragraph]" - '-s[collapse whitespace inside lines]' - '-d+[specify sentence-ending characters]:sentence ends [.?!]' - '-l+[replace initial spaces with tabs]:tab width [8]' - '-t+[specify tab width of input files]:tab width [8]' - ) - ;& # fall-through - netbsd*) - args+=( ':: :_guard "[0-9]#" goal width' ) - (( ${(M)#words[1,CURRENT-1]:#[0-9]##} )) && args+=( - ':: :_guard "[0-9]#" maximum width' - ) - ;; -esac - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fold b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fold deleted file mode 100644 index 1a3ef8b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fold +++ /dev/null @@ -1,24 +0,0 @@ -#compdef fold gfold - -local variant -local -a args - -_pick_variant -r variant busybox=BusyBox gnu='Free Soft' unix --version - -args=( - '(-b --bytes)'{-b,--bytes}'[count bytes rather than columns]' - '(: -)--help[display help information]' - '(-s --spaces)'{-s,--spaces}'[fold on whitespace]' - '(-w --width)'{-w+,--width=}'[specify line width]:line width (columns or bytes)' - '(: -)--version[display version information]' - '*: :_files' -) - -# Non-GNU variants don't support long options (except BusyBox's --help) -if [[ $variant == *busybox* ]]; then # See also: _busybox - args=( ${args:#((#s)|*\))(\*|)--^help*} ) -elif [[ $variant != gnu ]]; then - args=( ${args:#((#s)|*\))(\*|)--*} ) -fi - -_arguments -s -S : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fortune b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fortune deleted file mode 100644 index c0eca56a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fortune +++ /dev/null @@ -1,15 +0,0 @@ -#compdef fortune - -_arguments \ - '-a[choose from all lists of maxims, both offensive and not]' \ - '-c[show the cookie file from which the fortune came]' \ - '-e[consider all fortune files to be of equal size]' \ - '-f[print out the list of files which would be searched]' \ - '-l[long dictums only]' \ - '-m[print all matches to regex]:BRE' \ - '-n[set longest length to be short]:length' \ - '-o[choose only from potentially offensive aphorisms]' \ - '-s[short apothegms only]' \ - '-i[ignore case for -m patterns]' \ - '-w[wait before termination for a time based on msg length]' \ - '*:databases' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_free b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_free deleted file mode 100644 index 6d74e4a0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_free +++ /dev/null @@ -1,25 +0,0 @@ -#compdef free - -_arguments -s \ - '(-l --lohi)'{-l,--lohi}'[show detailed low and high memory statistics]' \ - '(-t --total)'{-t,--total}'[show total for RAM + swap]' \ - '(-w --wide)'{-w,--wide}'[wide mode]' \ - '(-s --seconds)'{-s,--seconds}'[specify the delay between display]:seconds: ' \ - '(-c --count)'{-c+,--count=}'[specify the display count]:count: ' \ - '(-C --full-cache)'{-C,--full-cache}'[add further cache lines to main cache]' \ - '--si[use power of 1000 instead of power of 1024]' \ - '(-)--help[print help and exit]' \ - '(-)'{-V,--version}'[print version information and exit]' \ - + '(unit)' \ - {-b,--bytes}'[display the amount of memory in bytes]' \ - {-k,--kibi}'[display the amount of memory in kibibytes (default)]' \ - {-m,--mebi}'[display the amount of memory in mebibytes]' \ - {-g,--gibi}'[display the amount of memory in gibibytes]' \ - '--tebi[display the amount of memory in tebibytes]' \ - '--pebi[display the amount of memory in pebibytes]' \ - '(--si)--kilo[display the amount of memory in kilobytes]' \ - '(--si)--mega[display the amount of memory in megabytes]' \ - '(--si)--giga[display the amount of memory in gigabytes]' \ - '(--si)--tera[display the amount of memory in terabytes]' \ - '(--si)--peta[display the amount of memory in petabytes]' \ - {-h,--human}'[automatically select unit]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_freebsd-update b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_freebsd-update deleted file mode 100644 index 7dd90729..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_freebsd-update +++ /dev/null @@ -1,25 +0,0 @@ -#compdef freebsd-update - -local flags -flags=( - '(cron)fetch[fetch a compressed snapshot or update existing one]' - '(fetch)cron[sleep rand(3600) seconds, and then fetch updates]' - '(install rollback)upgrade[fetch files necessary for upgrading to a new release]' - 'updatesready[check if there are fetched updates ready to install]' - '(upgrade rollback)install[install the most recently fetched updates or upgrade]' - '(upgrade install)rollback[uninstall the most recently installed updates]' - 'IDS[compare the system against an index of "known good" files]' - 'showconfig[show configuration options after parsing conffile and command line options]' -) - -_arguments \ - '-b[operate on a system mounted at basedir]:basedir:_files -/' \ - '-d[store working files in workdir]:workdir:_files -/' \ - '-f[read configuration options from conffile]:conf file:_files' \ - '-F[force freebsd-update fetch to proceed where it normally would not]' \ - '-k[trust an RSA key with SHA256 of KEY]:RSA key' \ - '-r[specify the new release]:new release' \ - '-s[fetch files from the specified server or server pool]:server:_hosts' \ - '-t[mail output of cron command, if any, to address]:address' \ - '--currently-running[assume specified release as current]:release' \ - '*:command:_values -S " " -w "commands" $flags[@]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fs_usage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fs_usage deleted file mode 100644 index 1d76cf86..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fs_usage +++ /dev/null @@ -1,28 +0,0 @@ -#compdef fs_usage - -local curcontext="$curcontext" state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -C -A '-*' : \ - '-e[exclude fs_usage and the specified processes from sampling]' \ - '-w[use wider output]' \ - '*-f+[specify output filtering mode]:mode:(network filesys pathname exec diskio cachehit)' \ - '-b[annotate disk I/O events with BootCache info]' \ - '(-R -S -E)-t+[specify run timeout]:seconds' \ - '(-t)-R+[specify raw trace file to process]:raw trace file:_files' \ - '(-t)-S+[specify time to begin processing the trace file]:seconds' \ - '(-t)-E+[specify time to stop processing the trace file]:seconds' \ - '*: :->pid-or-pname' && ret=0 - -case $state in - (pid-or-pname) - if [[ -z $opt_args[-R] ]]; then - _alternative "processes:: _pids" \ - "processes-names:: _process_names -a" && ret=0 - else - _message 'pid or process name in the trace file' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fsh deleted file mode 100644 index c3937311..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fsh +++ /dev/null @@ -1,22 +0,0 @@ -#compdef fsh - -local curcontext="$curcontext" state line ret=1 -local -a _comp_priv_prefix - -_arguments -C \ - '(- : *)'{-h,--help}'[display help information]' \ - '(- : *)'{-V,--version}'[display version information]' \ - '-r[specify method]:method:(rsh ssh)' \ - '-l[specify login id]:login:_users' \ - '(-T --timeout)'{-T,--timeout}':idle timeout:' \ - ':remote host name:_hosts' \ - '(-):command: _command_names -e' \ - '*::args:->command' && ret=0 - -if [[ -n "$state" ]]; then - shift 1 words - (( CURRENT-- )) - _normal && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fstat deleted file mode 100644 index 15337844..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fstat +++ /dev/null @@ -1,12 +0,0 @@ -#compdef fstat - -_arguments -s \ -'-f[restrict examination to files open in the same file systems as the named file arguments]' \ -'-M+[extract values associated with the name list from the specified core]:core:_files' \ -'-N+[extract the name list from the specified system]:system' \ -'-m[include memory-mapped files in the listing]' \ -'-n[numerical format]' \ -'-p+[report all files open by the specified process]:process id:_pids' \ -'-u+[report all files open by the specified user]:user:_users' \ -'-v[verbose mode]' \ -'*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_functions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_functions deleted file mode 100644 index 4d336695..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_functions +++ /dev/null @@ -1,9 +0,0 @@ -#compdef unfunction - -local expl ffilt - -zstyle -t ":completion:${curcontext}:functions" prefix-needed && \ - [[ $PREFIX != [_.]* ]] && \ - ffilt='[(I)[^_.]*]' - -_wanted functions expl 'shell function' compadd -k "$@" - "functions$ffilt" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_arguments deleted file mode 100644 index b5c21a5e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_arguments +++ /dev/null @@ -1,53 +0,0 @@ -#autoload - -local ret long rawret nm=${compstate[nmatches]} fsopt cvalsvar -typeset -a fargs opts - -fargs=( - '(-d -f)-d[enable debug output]' - '-f[enable foreground operation]' - '-r[mount filesystem read-only]' - '-s[disable multi-threaded operation]' - '(-h --help)'{-h,--help}'[display help and exit]' - '(-V --version)'{-V,--version}'[show version information and exit]' -) - -(( $# )) || fargs+='*:default: _default' - -long=$argv[(I)--] -if (( long )); then - argv[long]=($fargs --) -else - set -- "$@" $fargs -fi - -while [[ $1 == -(O*|F*|[CRWsw]) ]]; do - if [[ $1 == -F?* ]]; then - cvalsvar=${1[3,-1]} - elif [[ $1 == -F ]]; then - cvalsvar=$2 - shift - else - opts+=$1 - [[ $1 == -R ]] && rawret=yes - fi - shift -done - -if [[ $cvalsvar != - ]]; then - fsopt='*-o[specify mount options]:mount option:_fuse_values' - [[ -n $cvalsvar ]] && fsopt+=" -A $cvalsvar" - fsopt+=' mount\ option' - set -- "$@" $fsopt -fi - -_arguments -R $opts "$@" - -ret=$? - -if [[ $ret == 300 ]]; then - compstate[restore]= - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_values b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_values deleted file mode 100644 index 211eb5b3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuse_values +++ /dev/null @@ -1,70 +0,0 @@ -#autoload - -local ret stateset fvals cvalsvar cvalind -typeset -a fvals opts - -if [[ $1 = -O* ]]; then - opts+=$1 - shift -fi -opts+=(-s , -S =) - -cvalind=$argv[(I)-A*] - -while (( cvalind )); do - if [[ ${(P)cvalind} = -A?* ]]; then - cvalsvar=${(P)cvalind[3,-1]} - argv[cvalind]=() - else - cvalsvar=$argv[cvalind+1] - argv[cvalind,cvalind+1]=() - fi - cvalind=$argv[(I)-A*] -done - -fvals=( - 'ro[mount filesystem read-only]' - 'allow_other[allow access to other users]' - 'allow_root[allow access to root]' - 'nonempty[allow mounts over non-empty file/dir]' - 'default_permissions[enable permission checking by kernel]' - 'fsname[set filesystem name]:name' - 'large_read[issue large read requests (linux v2.4 only)]' - 'max_read[set maximum size of read requests]:size' - 'hard_remove[immediate removal (do not hide files)]' - 'use_ino[let filesystem set inode numbers]' - 'readdir_ino[try to fill in d_ino in readdir]' - 'direct_io[use direct I/O]' - 'kernel_cache[cache files in kernel]' - 'umask[set file permissions]:permission mask (octal)' - 'uid[set file owner]:user id:' - 'gid[set file group]:group id:' - 'entry_timeout[cache timeout for names]:timeout (s)' - 'negative_timeout[cache timeout for deleted names]:timeout (s)' - 'attr_timeout[cache timeout for attributes]:timeout (s)' -) - -[[ -n $cvalsvar ]] && set -- "$@" ${(P)cvalsvar} - -if [[ $# -eq 0 ]]; then - set -- 'mount option' $fvals -else - set -- "$@" $fvals -fi - -if [[ -n $state ]]; then - stateset=$state - state= -fi - -_values $opts "$@" && ret=0 - -if [[ -n $state ]]; then - compstate[restore]= -elif [[ -n $stateset ]]; then - state=$stateset -else - unset state -fi - -return $ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuser b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuser deleted file mode 100644 index 05de1c52..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fuser +++ /dev/null @@ -1,81 +0,0 @@ -#compdef fuser - -local -a args argf variant -typeset -A opt_args - -args=( - '-u[append the user name of the process owner to each PID]' - '(-f)-c[list all processes accessing files on the filesystem specified by name]' - '(-c)-f[list all processes accessing named files]' -) -argf=( '*:file:_files' ) - -_pick_variant -r variant psmisc='(#i)psmisc' $OSTYPE -V -case $variant in - psmisc) - (( $+functions[_fuser_services] )) || - _fuser_services() { - local expl suf ret=1 - - [[ $opt_args[-n] = ??p || $EUID = 0 ]] || return - - if compset -P '*/'; then - _wanted protocols expl protocol compadd tcp udp - elif compset -P '*,*,'; then - compset -S '/*' || [[ -n $opt_args[-n] ]] || suf=( -qS / ) - _ports $suf && ret=0 - elif compset -P '*,'; then - compset -S ',*' || suf=( -S , -r "/ \t\n\-" ) - _hosts $suf && ret=0 - else - compset -S ',*' || suf=( -S ${${opt_args[-n]/?*/,}:-/} -r "/, \t\n\-" ) - _ports $suf && ret=0 - fi - - return ret - } - - args+=( - '(-s)-a[show all files specified on the command line]' \ - {-c,-m}'[list all processes accessing files on the filesystem specified by name]' \ - '-k[kill processes accessing the file]' \ - '-i[ask for confirmation before killing]' \ - '(-)-l[list all known signal names]' \ - '-n[select name space]:namespace:(file udp tcp)' \ - '(-a -u -v)-s[silent operation]' \ - '-v[verbose mode]' \ - '-V[display version information]' \ - '-4[search only for IPv4 sockets]' \ - '-6[search only for IPv6 sockets]' \ - ) - argf=( '*:name: _alternative "files:file:_files" "services:service:_fuser_services"' ) - [[ -prefix - && -z ${${words[1,CURRENT-1]}[(r)-[A-Z][A-Z]*]} ]] && - argf[1]+=' "signals:signal:_signals -P-"' - ;; - freebsd*|openbsd*|solaris2.<9->) - args+=( - '-s[send alternate signal]:signal:_signals' - '-k[send SIGKILL to each process]' - ) - ;| - openbsd*|freebsd*) - args+=( - '-M[extra values from specified core file]:core file:_files' - '-N[extract name list from specified system]:system' - ) - ;| - freebsd*) args+=( '-m[include mapped files]' ) ;; - solaris2.<9->) - args+=( - '-n[list only processes with non-blocking mandatory locks]' - ) - ;; - solaris2.<10->) - args+=( '-d[report device usage for all minor nodes bound to same device]' ) - ;; - sysv4 ) - (( $+words[(r)-k] )) && argf=( ':name: _alternative signals\:signal\:_signals\ -p files:file:_files' ) - ;; -esac - -_arguments -s $args $argf diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fusermount b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fusermount deleted file mode 100644 index 41d3dec7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fusermount +++ /dev/null @@ -1,26 +0,0 @@ -#compdef fusermount - -local expl context state line -typeset -A opt_args - -_arguments \ - '-h[display help information]' \ - '-V[display version information]' \ - '-o[specify mount options]:mount option:_fuse_values "mount option"' \ - '-u[unmount a fuse mount]' \ - '-z[unmount lazily (work even when if the resource is still busy)]' \ - '-q[suppress nonessential output]' \ - ':mount point:->mountpoint' && return 0 - -typeset -a mtpts - -case "$state" in - (mountpoint) - if [[ $+opt_args[-u] -eq 0 ]]; then - _files -/ - else - mtpts=(${${${"${(f)$(< /etc/mtab)}"}#* }%% *}) - _canonical_paths mounted 'mounted filesystem' "${(@g::)mtpts}" - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fw_update b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fw_update deleted file mode 100644 index b01749f3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_fw_update +++ /dev/null @@ -1,10 +0,0 @@ -#compdef fw_update - -_arguments -s -S -A "-*" \ - '(*)-a[install or update firmware for all drivers]' \ - '-d[delete drivers instead of adding them]' \ - '-i[display information]' \ - '-n[dry run]' \ - '-p[use the firmware at specified path]:path:' \ - '*-v[verbose output]' \ - '(-a)*:driver:' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcc deleted file mode 100644 index ac0e8fda..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcc +++ /dev/null @@ -1,2287 +0,0 @@ -#compdef gcc g++ cc c++ llvm-gcc llvm-g++ clang clang++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CXXFLAGS,-default- -value-,CPPFLAGS,-default- -P gcc-* -P g++-* -P c++-* - -local curcontext="$curcontext" state line ret=1 expl i -local -a args args2 warnings arch -typeset -A opt_args - -if [[ "$service" = -value-* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - if [[ "$service" = *LDFLAGS ]]; then - args2=( '-R:runtime path:->rundir' ) - else - args2=() - fi -else - # On some systems (macOS), cc/gcc/g++ are actually clang; treat them accordingly - [[ $service != clang* ]] && - _pick_variant clang=clang unix --version && - service=clang-$service - - args2=( '*:input file:_files -g "*.([cCmisSoak]|cc|cpp|cxx|ii|k[ih])(-.)"' ) -fi - -args=() -case $MACHTYPE in - -m68*) - args=( - -m68000 -m68020 -m68020-40 -m68030 -m68040 -m68881 - -mbitfield -mc68000 -mc68020 -mfpa -mnobitfield - -mrtd -mshort -msoft-float - ) - ;; -vax) - args=( - -mg -mgnu -munix - ) - ;; -c[1234]*) - args=( - -mc1 -mc2 -mc32 -mc34 -mc38 - -margcount -mnoargcount - -mlong32 -mlong64 - -mvolatile-cache -mvolatile-nocache - ) - ;; -amd290?0) - args=( - -m29000 -m29050 -mbw -mnbw -mdw -mndw - -mlarge -mnormal -msmall - -mkernel-registers -mno-reuse-arg-regs - -mno-stack-check -mno-storem-bug - -mreuse-arg-regs -msoft-float -mstack-check - -mstorem-bug -muser-registers - ) - ;; -arm) - args=( - -mapcs -m2 -m3 -m6 -mbsd -mxopen -mno-symrename - '-faapcs-bitfield-load[all volatile bit-field write generates at least one load]' - '-faapcs-bitfield-width[volatile bit-field width is dictated by the field container type]' - '-mcmse[allow use of CMSE]' - '-mexecute-only[disallow generation of data access to code sections]' - '-mno-movt[disallow use of movt/movw pairs]' - '-mno-neg-immediates[disallow converting instructions with negative immediates to their negation]' - '-mnocrc[disallow use of CRC instructions]' - '-mrestrict-it[disallow generation of deprecated IT blocks for ARMv8]' - '-mtp=[thread pointer access method]:arg' - '-munaligned-access[allow memory accesses to be unaligned]' - ) - ;; -m88k) - args=( - -m88000 -m88100 -m88110 -mbig-pic - -mcheck-zero-division -mhandle-large-shift - -midentify-revision -mno-check-zero-division - -mno-ocs-debug-info -mno-ocs-frame-position - -mno-optimize-arg-area -mno-serialize-volatile - -mno-underscores -mocs-debug-info - -mocs-frame-position -moptimize-arg-area - -mserialize-volatile -msvr3 - -msvr4 -mtrap-large-shift -muse-div-instruction - -mversion-03.00 -mwarn-passed-structs - '-mshort-data--:maximum displacement:' - ) - ;; -rs6000|powerpc*) - arch=(rios1 rios2 rsc 501 603 604 power powerpc 403 common) - args=( - -mpower -mno-power -mpower2 -mno-power2 - -mpowerpc -mno-powerpc - -mpowerpc-gpopt -mno-powerpc-gpopt - -mpowerpc-gfxopt -mno-powerpc-gfxopt - -mnew-mnemonics -mno-new-mnemonics - -mfull-toc -mminimal-toc -mno-fop-in-toc -mno-sum-in-toc - -msoft-float -mhard-float -mmultiple -mno-multiple - -mstring -mno-string -mbit-align -mno-bit-align - -mstrict-align -mno-strict-align -mrelocatable -mno-relocatable - -mtoc -mno-toc -mtraceback -mno-traceback - -mlittle -mlittle-endian -mbig -mbig-endian - -mcall-aix -mcall-sysv -mprototype - '-mcpu=:CPU type:->arch' - '-maltivec[altivec]' - '-mcmpb[cmpb]' - '-mcrbits[crbits]' - '-mcrypto[crypto]' - '-mdirect-move[direct move]' - '-mefpu2[efpu2]' - '-mfloat128[float128]' - '-mfprnd[fprnd]' - '-mhtm[htm]' - '-minvariant-function-descriptors[invariant function descriptors]' - '-misel[isel]' - '-mlongcall[longcall]' - '-mmfocrf[mfocrf]' - '-mmfcrf[mfcrf]' - '-mmma[mma]' - '-mpaired-vector-memops[paired vector memops]' - '-mpcrel[pcrel]' - '-mpopcntd[popcntd]' - '-mpower10-vector[power10 vector]' - '-mpower8-vector[power8 vector]' - '-mpower9-vector[power9 vector]' - '-mrop-protection[rop protection]' - '-msecure-plt[secure plt]' - '-mspe[spe]' - '-mvsx[vsx]' - ) - ;; -romp) - args=( - -mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs - -mfull-fp-blocks -mhc-struct-return -min-line-mul - -mminimum-fp-blocks -mnohc-struct-return - ) - ;; -mips*) - arch=(r2000 r3000 r4000 r4400 r4600 r6000) - args=( - -membedded-pic -mgas -mgp32 -mgp64 -mhalf-pic -mhard-float -mint64 -mips1 - -mips2 -mips3 -mlong64 -mmemcpy -mmips-as -mmips-tfile -mno-abicalls - -mno-embedded-data -mno-embedded-pic -mno-gpopt -mno-long-calls -mno-memcpy - -mno-mips-tfile -mno-rnames -mno-stats -mrnames -msoft-float -m4650 -mmad - -mstats -nocpp - '-mcpu=:CPU type:->arch' - '-mabicalls[enable SVR4-style position-independent code]' - '-mabs=[abs]:arg' - '-mcheck-zero-division[check zero division]' - '-mcompact-branches=[compact branches]:arg' - '-mdouble-float[double float]' - '-mdsp[dsp]' - '-mdspr2[dspr2]' - '-membedded-data[place constants in the .rodata section instead of the .sdata section]' - '-mextern-sdata[assume that externally defined data is in the small data]' - '-mfp32[use 32-bit floating point registers]' - '-mfp64[use 64-bit floating point registers]' - '-mginv[ginv]' - '-mgpopt[use GP relative accesses for symbols known to be in a small data section]' - '-mindirect-jump=[change indirect jump instructions to inhibit speculation]:arg' - '-mips16[ips16]' - '-mldc1-sdc1[ldc1 sdc1]' - '-mlocal-sdata[extend the -G behaviour to object local data]' - '-mmadd4[enable the generation of 4-operand madd.s, madd.d, etc]' - '-mmicromips[micromips]' - '-mmsa[enable MSA ASE]' - '-mmt[enable MT ASE]' - '-mnan=[nan]:arg' - '-mno-mips16[no mips16]' - '-msingle-float[single float]' - '-mvirt[virt]' - '-mxgot[xgot]' - ) - ;; -i[3456]86|x86_64) - arch=( - native i386 i486 i586 pentium pentium-mmx pentiumpro i686 pentium2 pentium3 - pentium3m pentium-m pentium4 pentium4m prescott nocona core2 corei7 corei7-avx - core-avx-i core-avx2 atom k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp - athlon-mp k8 opteron athlon64 athlon-fx k8-sse3 opteron-sse3 athlon64-sse3 - amdfam10 barcelona bdver1 bdver2 bdver3 btver1 btver2 winchip-c6 winchip2 c3 - c3-2 geode - ) - args=( - '-m128bit-long-double[sizeof(long double) is 16]' - '-m16[generate 16bit i386 code]' - '-m32[generate 32bit i386 code]' - '-m3dnowa[support Athlon 3Dnow! built-in functions]' - '-m3dnow[support 3DNow! built-in functions]' - '-m64[generate 64bit x86-64 code]' - '-m80387[use hardware fp]' - '-m8bit-idiv[expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check]' - '-m96bit-long-double[sizeof(long double) is 12]' - '-mabi=-[generate code that conforms to the given ABI]:abi:(ms sysv)' - '-mabm[support code generation of Advanced Bit Manipulation (ABM) instructions]' - '-maccumulate-outgoing-args[reserve space for outgoing arguments in the function prologue]' - '-maddress-mode=-[use given address mode]:address mode:(short long)' - '-madx[support flag-preserving add-carry instructions]' - '-maes[support AES built-in functions and code generation]' - '-malign-data=-[use the given data alignment]:type:(compat abi cacheline)' - '-malign-double[align some doubles on dword boundary]' - '-malign-functions=-[function starts are aligned to this power of 2]: **2 base for function alignment: ' - '-malign-jumps=-[jump targets are aligned to this power of 2]: **2 base for jump goal alignment: ' - '-malign-loops=-[loop code aligned to this power of 2]: **2 base for loop alignment: ' - '-malign-stringops[align destination of the string operations]' - '-mamx-bf16[amx bf16]' - '-mamx-int8[amx int8]' - '-mamx-tile[amx tile]' - '-mandroid[generate code for the Android platform]' - '-march=-[generate instructions for CPU type]:CPU type:->archgeneric' - '-masm=-[use given assembler dialect]:asm dialect:(att intel)' - '-mavx256-split-unaligned-load[split 32-byte AVX unaligned load]' - '-mavx256-split-unaligned-store[split 32-byte AVX unaligned store]' - '-mavx2[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation]' - '-mavx5124fmaps[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built- in functions and code generation]' - '-mavx5124vnniw[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built- in functions and code generation]' - '-mavx512bf16[avx512bf16]' - '-mavx512bitalg[avx512bitalg]' - '-mavx512bw[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built- in functions and code generation]' - '-mavx512cd[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built- in functions and code generation]' - '-mavx512dq[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built- in functions and code generation]' - '-mavx512er[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built- in functions and code generation]' - '-mavx512f[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation]' - '-mavx512ifma[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation]' - '-mavx512pf[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built- in functions and code generation]' - '-mavx512vbmi2[avx512vbmi2]' - '-mavx512vbmi[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation]' - '-mavx512vl[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built- in functions and code generation]' - '-mavx512vnni[avx512vnni]' - '-mavx512vp2intersect[avx512vp2intersect]' - '-mavx512vpopcntdq[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation]' - '-mavx[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation]' - '-mavxvnni[avxvnni]' - '-mbionic[use Bionic C library]' - '-mbmi2[support BMI2 built-in functions and code generation]' - '-mbmi[support BMI built-in functions and code generation]' - '-mbranch-cost=-[branches are this expensive (1-5, arbitrary units)]:branch cost (1-5): ' - '-mcldemote[cldemote]' - '-mcld[generate cld instruction in the function prologue]' - '-mclflushopt[support CLFLUSHOPT instructions]' - '-mclwb[support CLWB instruction]' - '-mclzero[support CLZERO built-in functions and code generation]' - '-mcmodel=-[use given x86-64 code model]:memory model:(32 small kernel medium large)' - '-mcpu=-[set CPU type]:CPU type:->arch' - '-mcrc32[support code generation of crc32 instruction]' - '-mcx16[support code generation of cmpxchg16b instruction]' - '-mdispatch-scheduler[do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected]' - '-menqcmd[enqcmd]' - '-mf16c[support F16C built-in functions and code generation]' - '-mfancy-math-387[generate sin, cos, sqrt for FPU]' - '-mfentry[emit profiling counter call at function entry before prologue]' - '-mfma4[support FMA4 built-in functions and code generation]' - '-mfma[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation]' - '-mforce-drap[always use Dynamic Realigned Argument Pointer (DRAP) to realign stack]' - '-mfpmath=-[generate floating point mathematics using given instruction set]:FPU type:(387 sse sse,387 both)' - '-mfp-ret-in-387[return values of functions in FPU registers]' - '-mfsgsbase[support FSGSBASE built-in functions and code generation]' - '-mfunction-return=-[convert function return to call and return thunk]:choice:(keep thunk thunk-inline thunk-extern)' - '-mfxsr[support FXSAVE and FXRSTOR instructions]' - '-mgeneral-regs-only[generate code which uses only the general registers]' - '-mgfni[gfni]' - '-mglibc[use GNU C library]' - '-mhard-float[use hardware fp]' - '-mhle[support Hardware Lock Elision prefixes]' - '-mhreset[hreset]' - '-miamcu[generate code that conforms to Intel MCU psABI]' - '-mieee-fp[use IEEE math for fp comparisons]' - '-mincoming-stack-boundary=-[assume incoming stack aligned to this power of 2]:assumed size of boundary: ' - '-mindirect-branch=-[convert indirect call and jump to call and return thunks]:choice:(keep thunk thunk-inline thunk-extern)' - '-mindirect-branch-register[force indirect call and jump via register]' - '-minline-all-stringops[inline all known string operations]' - '-minline-stringops-dynamically[inline memset/memcpy string operations, but perform inline version only for small blocks]' - '-minvpcid[invpcid]' - '-mkl[kl]' - '-mlarge-data-threshold=-[data greater than given threshold will go into .ldata section in x86-64 medium model]:threshold: ' - '-mlong-double-128[use 128-bit long double]' - '-mlong-double-64[use 64-bit long double]' - '-mlong-double-80[use 80-bit long double]' - '-mlwp[support LWP built-in functions and code generation]' - '-mlzcnt[support LZCNT built-in function and code generation]' - {'-mmemset-strategy=-','-mmemcpy-strategy=-'}'[specify memcpy expansion strategy when expected size is known]:strategy:' - '-mmitigate-rop[attempt to avoid generating instruction sequences containing ret bytes]' - '-mmmx[support MMX built-in functions]' - '-mmovbe[support code generation of movbe instruction]' - '-mmovdir64b[movdir64b]' - '-mmovdiri[movdiri]' - '-mmpx[support MPX code generation]' - '-mms-bitfields[use native (MS) bitfield layout]' - '-mmusl[use musl C library]' - '-mmwaitx[support MWAITX and MONITORX built-in functions and code generation]' - '-mno-default[clear all tune features]' - '-mnop-mcount[generate mcount/__fentry__ calls as nops. To activate they need to be patched in]' - '-mno-sse4[do not support SSE4.1 and SSE4.2 built-in functions and code generation]' - '-momit-leaf-frame-pointer[omit the frame pointer in leaf functions]' - '-mpc32[set 80387 floating-point precision to 32-bit]' - '-mpc64[set 80387 floating-point precision to 64-bit]' - '-mpc80[set 80387 floating-point precision to 80-bit]' - '-mpclmul[support PCLMUL built-in functions and code generation]' - '-mpconfig[pconfig]' - '-mpku[support PKU built-in functions and code generation]' - '-mpopcnt[support code generation of popcnt instruction]' - '-mprefer-avx128[use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer]' - '-mpreferred-stack-boundary=-[attempt to keep stack aligned to this power of 2]:size of boundary: ' - '-mprefetchwt1[support PREFETCHWT1 built-in functions and code generation]' - '-mprfchw[support PREFETCHW instruction]' - '-mptwrite[ptwrite]' - '-mpush-args[use push instructions to save outgoing arguments]' - '-mrdpid[support RDPID built-in functions and code generation]' - '-mrdrnd[support RDRND built-in functions and code generation]' - '-mrdseed[support RDSEED instruction]' - '-mrecip=-[control generation of reciprocal estimates]::instruction:(all none div divf divd rsqrt rsqrtf rsqrtd)' # TODO comma separated and can have ! - '-mrecip[generate reciprocals instead of divss and sqrtss]' - '-mrecord-mcount[generate __mcount_loc section with all mcount or __fentry__ calls]' - '-mred-zone[use red-zone in the x86-64 code]' - '-mreg-alloc=[control the default allocation order of integer registers]:default register allocation order:' - '-mregparm=-[number of registers used to pass integer arguments]:number of integer argument registers: ' - '-mretpoline-external-thunk[retpoline external thunk]' - '-mrtd[alternate calling convention]' - '-mrtm[support RTM built-in functions and code generation]' - '-msahf[support code generation of sahf instruction in 64bit x86-64 code]' - '-mserialize[serialize]' - '-msgx[support SGX built-in functions and code generation]' - '-msha[support SHA1 and SHA256 built-in functions and code generation]' - '-mshstk[shstk]' - '-mskip-rax-setup[skip setting up RAX register when passing variable arguments]' - '-msoft-float[do not use hardware fp]' - '-msse2avx[encode SSE instructions with VEX prefix]' - '-msse2[support MMX, SSE and SSE2 built-in functions and code generation]' - '-msse3[support MMX, SSE, SSE2 and SSE3 built-in functions and code generation]' - '-msse4.1[support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation]' - '-msse4.2[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation]' - '-msse4a[support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation]' - '-msse4[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation]' - '-msseregparm[use SSE register passing conventions for SF and DF mode]' - '-msse[support MMX and SSE built-in functions and code generation]' - '-mssse3[support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation]' - '-mstack-arg-probe[enable stack probing]' - '-mstack-protector-guard=-[use given stack-protector guard]:guard:(global tls)' - '-mstackrealign[realign stack in prologue]' - '-mstringop-strategy=-[chose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)' - '-mstv[disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones]' - '-mtbm[support TBM built-in functions and code generation]' - '-mthreads[support thread-safe exception handling on MinGW]' - '-mtls-dialect=-[use given thread-local storage dialect]:TLS dialect:(gnu gnu2)' - '-mtls-direct-seg-refs[use direct references against %gs when accessing tls data]' - '-mtsxldtrk[tsxldtrk]' - #'-mtune-ctrl=-[fine grain control of tune features]:feature-list:' #for dev use only - '-mtune=-[tune code for CPU type]:CPU type:->arch' - '-muclibc[use uClibc C library]' - '-muintr[uintr]' - '-mvaes[vaes]' - '-mveclibabi=-[vector library ABI to use]:vector library ABI:(acml svml)' - '-mvect8-ret-in-mem[return 8-byte vectors in memory]' - '-mvpclmulqdq[vpclmulqdq]' - '-mvzeroupper[generate vzeroupper instruction before a transfer of control flow out of the function]' - '-mwaitpkg[waitpkg]' - '-mwbnoinvd[wbnoinvd]' - '-mwidekl[widekl]' - '-mx32[generate 32bit x86-64 code]' - '-mx87[x87]' - '-mxop[support XOP built-in functions and code generation]' - '-mxsavec[support XSAVEC instructions]' - '-mxsaveopt[support XSAVEOPT instruction]' - '-mxsaves[support XSAVES and XRSTORS instructions]' - '-mxsave[support XSAVE and XRSTOR instructions]' - ) - ;; -hppa*) - args=( - -mdisable-fpregs -mdisable-indexing -mfast-indirect-calls - -mgas -mjump-in-delay -mlong-millicode-calls -mno-disable-fpregs - -mno-disable-indexing -mno-fast-indirect-calls -mno-gas - -mno-jump-in-delay -mno-millicode-long-calls - -mno-portable-runtime -mno-soft-float -msoft-float - -mpa-risc-1-0 -mpa-risc-1-1 -mportable-runtime - '-mschedule=:code scheduling constraints:(700 7100 7100LC)' - ) - ;; -i960) - args=( - -m{ka,kb,mc,ca,cf,sa,sb} - -masm-compat -mclean-linkage - -mcode-align -mcomplex-addr -mleaf-procedures - -mic-compat -mic2.0-compat -mic3.0-compat - -mintel-asm -mno-clean-linkage -mno-code-align - -mno-complex-addr -mno-leaf-procedures - -mno-old-align -mno-strict-align -mno-tail-call - -mnumerics -mold-align -msoft-float -mstrict-align - -mtail-call - ) - ;; -sparc) - arch=( - v7 cypress v8 supersparc sparclite f930 f934 hypersparc sparclite86x sparclet - tsc701 v9 ultrasparc ultrasparc3 - ) - args=( - -mapp-regs -mno-app-regs - -mfpu -mhard-float - -mno-fpu -msoft-float - -mhard-quad-float - -msoft-quad-float - -mno-unaligned-doubles - -munaligned-doubles - -mfaster-structs -mno-faster-structs - -mimpure-text - '-mcpu=:CPU type:->arch' - '-mtune=:CPU type:->arch' - -mv8plus -mno-v8plus - -mvis -mno-vis - -mlittle-endian - -m32 -m64 - '-mcmodel=:memory model:(medlow medmid medany embmedany)' - -mstack-bias -mno-stack-bias - -mv8 - -mcypress -mepilogue -mflat - -mno-flat - -mno-epilogue - -msparclite -msupersparc - -mmedlow -mmedany - -mint32 -mint64 -mlong32 -mlong64 - ) - ;; -alpha*) - args=( - -mfp-regs -mno-fp-regs -mno-soft-float - -msoft-float - ) - ;; -clipper) - args=( - -mc300 -mc400 - ) - ;; -h8/300) - args=( - -mrelax -mh - ) - ;; -aarch64) - args=( - '-mmark-bti-property[add .note.gnu.property with BTI to assembly files]' - '-moutline[enable function outlining (AArch64 only)]' - '-msve-vector-bits=[specify the size in bits of an SVE vector register]:bits' - ) - ;; -amdgpu) - args=( - '-mcumode[specify CU wavefront execution mode]' - '-mtgsplit[enable threadgroup split execution mode (AMDGPU only)]' - ) - ;; -hexagon) - args=( - '-mieee-rnd-near[ieee rnd near]' - '-mmemops[enable generation of memop instructions]' - '-mnvj[enable generation of new-value jumps]' - '-mnvs[enable generation of new-value stores]' - '-mpackets[enable generation of instruction packets]' - '-mhvx[enable Hexagon Vector eXtensions]' - '-mhvx-length=[set Hexagon Vector Length]:arg' - '-mhvx=[enable Hexagon Vector eXtensions]:arg' - ) - ;; -webassembly*) - args=( - '-matomics[atomics]' - '-mbulk-memory[bulk memory]' - '-mexception-handling[exception handling]' - '-mmultivalue[multivalue]' - '-mmutable-globals[mutable globals]' - '-mnontrapping-fptoint[no ntrapping fptoint]' - '-mreference-types[reference types]' - '-msign-ext[sign ext]' - '-msimd128[simd128]' - '-mtail-call[tail call]' - '-munimplemented-simd128[unimplemented simd128]' - '-mexec-model=[execution model]:arg' - ) - ;; -riscv) - args=( - '-msave-restore[enable using library calls for save and restore]' - ) - ;; -esac - -if [[ "$service" = clang* ]]; then - args+=( - '-all_load[undocumented option]' - '-allowable_client[undocumented option]:argument' - '--analyzer-no-default-checks[analyzer does no default checks]' - '--analyzer-output[static analyzer report output format]:format:(html plist plist-multi-file plist-html sarif sarif-html text)' - '--analyze[run the static analyzer]' - '-arch[arch]:argument' - '-arch_errors_fatal[arch errors fatal]' - '-arch_only[arch only]:argument' - '-arcmt-migrate-emit-errors[emit ARC errors even if the migrator can fix them]' - '-arcmt-migrate-report-output[output path for the plist report]:file:_files' - '-a-[undocumented option]:argument' - '--autocomplete=[autocomplete]:argument' - '-bind_at_load[bind at load]' - '--bootclasspath=[bootclasspath]:arg' - '-bundle[bundle]' - '-bundle_loader[bundle loader]:argument' - '--CLASSPATH=[CLASSPATH]:arg' - '--classpath=[classpath]:arg' - '-cl-denorms-are-zero[allow denormals to be flushed to zero]' - '-cl-fast-relaxed-math[cl fast relaxed math]' - '-cl-finite-math-only[allow floating-point optimizations]' - '-cl-fp32-correctly-rounded-divide-sqrt[specify that divide and sqrt are correctly rounded]' - '-client_name[client name]:argument' - '-cl-kernel-arg-info[generate kernel argument metadata]' - '-cl-mad-enable[allow use of less precise MAD computations]' - '-cl-no-signed-zeros[allow use of no signed zeros computations]' - '-cl-no-stdinc[disables all standard includes]' - '-cl-opt-disable[disables all optimizations]' - '-cl-single-precision-constant[treat double float constant as single precision]' - '-cl-std=[openCL language standard to compile for]:arg' - '-cl-strict-aliasing[this option is added for compatibility with OpenCL 1.0]' - '-cl-uniform-work-group-size[defines that the global work-size be uniform]' - '-cl-unsafe-math-optimizations[allow unsafe floating-point optimizations]' - '-compatibility_version[compatibility version]:compatibility version' - '--config[specifies configuration file]:configuration file:_files' - '--constant-cfstrings[use constant cfstrings]' - '--coverage[coverage]' - '-coverage[coverage]' - '-cpp[cpp]' - '--cuda-compile-host-device[compile CUDA code for both host and device]' - '--cuda-device-only[compile CUDA code for device only]' - '--cuda-gpu-arch=[cUDA offloading device architecture]:arg' - '--cuda-host-only[compile CUDA code for host only]' - '*--cuda-include-ptx=[include ptx for the following gpu architecture]:argument' - '--cuda-noopt-device-debug[enable device-side debug info generation]' - '--cuda-path=[cUDA installation path]:arg' - '--cuda-path-ignore-env[ignore environment variables to detect CUDA installation]' - '-cuid=[an id for compilation unit]:argument' - '-current_version[current version]:current version' - '-cxx-isystem[add directory to the C++ SYSTEM include search path]:directory:_files -/' - '-dead_strip[dead strip]' - '-dependency-dot[file to write dot-formatted header dependencies to]:file:_files' - '-dependency-file[file to write dependency output to]:file:_files' - '--dyld-prefix=[dyld prefix]:prefix' - '--dylib_file[dyld file]:file:_files' - '-dylinker[dylinker]' - '-dylinker_install_name[dylinker install name]:name' - '-dynamic[dynamic]' - '-dynamiclib[dynamic lib]' - '-EB[big endian]' - '-EL[little endian]' - '-emit-ast[emit Clang AST files for source inputs]' - '-emit-interface-stubs[generate Interface Stub Files]' - '-emit-llvm[use the LLVM representation for assembler and object files]' - '-emit-merged-ifs[generate Interface Stub Files, emit merged text not binary]' - '--emit-static-lib[enable linker job to emit a static library]' - #'-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang[trivial automatic variable initialization to zero is only here for benchmarks]' - '--encoding=[encoding]:arg' - '-exported_symbols_list[exported symbols list]:argument' - '--extdirs=[extdirs]:arg' - '--extra-warnings[enable extra warnings]' - '-faccess-control[access control]' - '*-F+[add directory to framework search path]:framework directory:_files -/' - '-faddrsig[emit an address-significance table]' - '-faggressive-function-elimination[aggressive function elimination]' - '-falign-commons[align commons]' - '-faligned-allocation[aligned allocation]' - '-faligned-new[enable C++17 aligned allocation functions]' - '-fall-intrinsics[all intrinsics]' - '-fallow-editor-placeholders[treat editor placeholders as valid source code]' - '-fallow-unsupported[allow unsupported]' - '-falternative-parameter-statement[enable the old style PARAMETER statement]' - '-faltivec[altivec]' - '-fansi-escape-codes[use ANSI escape codes for diagnostics]' - "-fapple-kext[use Apple's kernel extensions ABI]" - '-fapple-link-rtlib[force linking the clang builtins runtime library]' - '-fapple-pragma-pack[enable Apple GCC-compatible #pragma pack handling]' - '-fapplication-extension[restrict code to those available for App Extensions]' - '-fasm-blocks[asm blocks]' - '-fassume-sane-operator-new[assume sane operator new]' - '-fast[ast]' - '-fastcp[astcp]' - '-fastf[astf]' - '-fautolink[autolink]' - '-fautomatic[automatic]' - '-fauto-profile-accurate[auto profile accurate]' - '-fauto-profile=[enable sample-based profile guided optimizations]::arg' - '-fbackslash[change the interpretation of backslashes in string literals]' - '-fbacktrace[backtrace]' - '-fbasic-block-sections=[generate labels for each basic block]:arg' - '-fbinutils-version=[produced object files can use all ELF features supported by this version]:major.minor' - '-fblas-matmul-limit=[blas matmul limit]:arg' - '-fblocks[enable the blocks language feature]' - '-fbootclasspath=[bootclasspath]:arg' - '-fborland-extensions[accept non-standard constructs supported by the Borland compiler]' - '-fbracket-depth=[bracket depth]:arg' - '-fbuild-session-file=[use the last modification time of <file> as the build session timestamp]:file:_files' - '-fbuild-session-timestamp=[time when the current build session started]:time since Epoch in seconds' - '-fbuiltin-module-map[load the clang builtins module map file]' - '-fcaret-diagnostics[show diagnostic messages using a caret]' - '-fcf-protection=[instrument control-flow architecture protection]::arg (options\: return, branch, full, none)' - '-fcf-runtime-abi=[cf runtime abi]:arg' - '-fchar8_t[enable C++ builtin type char8_t]' - '-fcheck-array-temporaries[check array temporaries]' - '-fcheck=[check]:arg' - '-fclang-abi-compat=[attempt to match the ABI of Clang <version>]:version' - '-fclasspath=[classpath]:arg' - '-fcoarray=[coarray]:arg' - '-fcolor-diagnostics[enable colors in diagnostics]' - '-fcomment-block-commands=[treat each comma separated argument in <arg> as a documentation comment block command]:arg' - '-fcompile-resource=[compile resource]:arg' - '-fcomplete-member-pointers[require member pointer base types to be complete if they would be significant under the Microsoft ABI]' - '-fconstant-cfstrings[constant cfstrings]' - '-fconstant-string-class=[constant string class]:arg' - '-fconstexpr-backtrace-limit=[constexpr backtrace limit]:arg' - '-fconstexpr-depth=[constexpr depth]:arg' - '-fconstexpr-steps=[constexpr steps]:arg' - '-fconvergent-functions[assume functions may be convergent]' - '-fconvert=[convert]:arg' - '-fcoroutines-ts[enable support for the C++ Coroutines TS]' - '-fcoverage-compilation-dir=[the compilation directory to embed in the coverage mapping]:arg' - '-fcoverage-mapping[generate coverage mapping to enable code coverage analysis]' - '-fcoverage-prefix-map=[remap file source paths in coverage mapping]:arg' - '-fcrash-diagnostics-dir=[crash diagnostics dir]:arg' - '-fcray-pointer[cray pointer]' - '-fcreate-profile[create profile]' - '-fcs-profile-generate[generate instrumented code to collect context sensitive execution counts]' - '-fcs-profile-generate=[generate instrumented code to collect context sensitive execution counts]:directory:_files -/' - '-fc\+\+-static-destructors[c++ static destructors]' - '-fcuda-approx-transcendentals[use approximate transcendental functions]' - '-fcuda-flush-denormals-to-zero[flush denormal floating point values to zero in CUDA device mode]' - '-fcuda-rdc[cuda rdc]' - '-fcuda-short-ptr[use 32-bit pointers for accessing const/local/shared address spaces]' - '-fcxx-exceptions[enable C++ exceptions]' - '-fcxx-modules[cxx modules]' - '-fdebug-compilation-dir=[the compilation directory to embed in the debug info]:arg' - '-fdebug-default-version=[default DWARF version to use]:arg' - '-fdebug-dump-parse-tree[dump the parse tree]' - '-fdebug-dump-provenance[dump provenance]' - '-fdebug-dump-symbols[dump symbols after the semantic analysis]' - '-fdebug-info-for-profiling[emit extra debug info to make sample profile more accurate]' - '-fdebug-macro[emit macro debug information]' - '-fdebug-measure-parse-tree[measure the parse tree]' - '-fdebug-pass-arguments[debug pass arguments]' - '-fdebug-pass-structure[debug pass structure]' - '-fdebug-pre-fir-tree[dump the pre-FIR tree]' - '-fdebug-ranges-base-address[use DWARF base address selection entries in .debug_ranges]' - '-fdebug-unparse[unparse and stop]' - '-fdebug-unparse-with-symbols[unparse and stop]' - '-fdeclspec[allow __declspec as a keyword]' - '-fdefault-double-8[set the default double precision kind to an 8 byte wide type]' - '-fdefault-integer-8[set the default integer kind to an 8 byte wide type]' - '-fdefault-real-8[set the default real kind to an 8 byte wide type]' - '-fdelayed-template-parsing[parse templated function definitions at the end of the translation unit]' - '-fdenormal-fp-math=[denormal fp math]:arg' - '-fdepfile-entry=[depfile entry]:arg' - '-fdiagnostics-absolute-paths[print absolute paths in diagnostics]' - '-fdiagnostics-fixit-info[supply fixit into with diagnostic messages]' - '-fdiagnostics-format=[diagnostics format]:arg' - '-fdiagnostics-hotness-threshold=[prevent optimization remarks from being output if they do not meet threshold]:value' - '-fdiagnostics-parseable-fixits[print fixits in a machine parseable form]' - '-fdiagnostics-print-source-range-info[print source range spans in numeric form]' - '-fdiagnostics-show-category=[diagnostics show category]:arg' - '-fdiagnostics-show-hotness[enable profile hotness information in diagnostic line]' - '-fdiagnostics-show-note-include-stack[display include stacks for diagnostic notes]' - '-fdiagnostics-show-option[enable -Woption information in diagnostic line]' - '-fdiagnostics-show-template-tree[print a template comparison tree for differing templates]' - '-fdigraphs[enable alternative token representations]' - "-fdirect-access-external-data[don't use GOT indirection to reference external data symbols]" - '-fdiscard-value-names[discard value names in LLVM IR]' - '-fd-lines-as-code[d lines as code]' - '-fd-lines-as-comments[d lines as comments]' - '-fdollar-ok[dollar ok]' - '-fdouble-square-bracket-attributes[enable double square bracket attributes]' - '-fdump-fortran-optimized[dump fortran optimized]' - '-fdump-fortran-original[dump fortran original]' - '-fdump-parse-tree[dump parse tree]' - '-fdwarf-directory-asm[DWARF directory asm]' - '-fdwarf-exceptions[use DWARF style exceptions]' - '-felide-constructors[elide constructors]' - '-felide-type[elide types when printing diagnostics]' - '-fembed-bitcode=[embed LLVM bitcode (option: off, all, bitcode, marker)]:option' - '-fembed-bitcode[equivalent to -fembed-bitcode=all]' - '-fembed-bitcode-marker[equivalent to -fembed-bitcode=marker]' - '-femit-all-decls[emit all declarations]' - '-femulated-tls[use emutls functions to access thread_local variables]' - '-fenable-matrix[enable matrix data type and related builtin functions]' - '-fencoding=[encoding]:arg' - '-ferror-limit=[error limit]:arg' - '-fescaping-block-tail-calls[escaping block tail calls]' - '-fexperimental-isel[experimental isel]' - '-fexperimental-new-constant-interpreter[enable the experimental new constant interpreter]' - '-fexperimental-relative-c\+\+-abi-vtables[use the experimental C++ class ABI for classes with vtables]' - '-fexperimental-strict-floating-point[enables experimental strict floating point in LLVM]' - '-fextdirs=[extdirs]:arg' - '-fexternal-blas[external blas]' - '-ff2c[f2c]' - '-ffile-compilation-dir=[the compilation directory to embed in the debug info]:arg' - '-ffile-prefix-map=[remap file source paths in debug info and predefined preprocessor macros]:arg' - '-ffine-grained-bitfield-accesses[use separate accesses for consecutive bitfield runs with legal widths and alignments]' - '-ffinite-loops[assume all loops are finite]' - '-ffixed-form[process source files in fixed form]' - '-ffixed-line-length=[set column after which characters are ignored]:arg' - '-ffixed-point[enable fixed point types]' - '-fforce-dwarf-frame[always emit a debug frame section]' - '-fforce-emit-vtables[emits more virtual tables to improve devirtualization]' - '-fforce-enable-int128[enable support for int128_t type]' - '-ffor-scope[for scope]' - '-ffpe-trap=[fpe trap]:arg' - '-ffp-exception-behavior=[specifies the exception behavior of floating-point operations]:arg' - '-ffp-model=[controls the semantics of floating-point calculations]:arg' - '-ffree-form[process source files in free form]' - '-ffree-line-length-[free line length]:arg' - '-ffrontend-optimize[frontend optimize]' - '-fglobal-isel[enables the global instruction selector]' - '-fgnuc-version=[sets various macros to claim compatibility with the given GCC version]:version' - '-fgnu-inline-asm[gnu inline asm]' - '-fgnu-keywords[allow GNU-extension keywords regardless of language standard]' - '-fgnu-runtime[generate output compatible with the standard GNU Objective-C runtime]' - '-fgpu-allow-device-init[allow device side init function in HIP]' - '-fgpu-defer-diag[defer host/device related diagnostic messages for CUDA/HIP]' - '-fgpu-rdc[generate relocatable device code, also known as separate compilation mode]' - '-fgpu-sanitize[enable sanitizer for AMDGPU target]' - '-fheinous-gnu-extensions[heinous GNU extensions]' - '-fhip-new-launch-api,[-fno-hip-new-launch-api Use new kernel launching API for HIP]' - '-fhonor-infinites[honor infinites]' - '-fhonor-infinities[honor infinities]' - '-fhonor-nans[honor nans]' - '-fignore-exceptions[enable support for ignoring exception handling constructs]' - '-filelist[ilelist]:arg' - '-fimplicit-module-maps[implicit module maps]' - '-fimplicit-modules[implicit modules]' - '-fimplicit-none[no implicit typing allowed unless overridden by IMPLICIT statements]' - '-findirect-virtual-calls[indirect virtual calls]' - '-finit-character=[init character]:arg' - '-finit-integer=[init integer]:arg' - '-finit-local-zero[init local zero]' - '-finit-logical=[init logical]:arg' - '-finit-real=[init real]:arg' - '-finline-hint-functions[inline functions which are (explicitly or implicitly) marked inline]' - '-finstrument-function-entry-bare[instrument function entry only]' - '-finstrument-functions-after-inlining[insert the calls after inlining]' - '-finteger-4-integer-8[integer 4 integer 8]' - '-fintegrated-as[enable the integrated assembler]' - '-fintegrated-cc1[run cc1 in-process]' - '-fintrinsic-modules-path[intrinsic modules path]' - '-flarge-sizes[use INTEGER(KIND=8) for the result type in size-related intrinsics]' - '-flat_namespace[flat namespace]' - '-flegacy-pass-manager[use the legacy pass manager in LLVM]' - '-flimited-precision=[limited precision]:arg' - '-flogical-abbreviations[enable logical abbreviations]' - '-flto=-[generate output files suitable for link time optimization]::style:(full thin)' - '-flto-jobs=[controls the backend parallelism]:arg' - '-fmacro-backtrace-limit=[macro backtrace limit]:limit' - '-fmacro-prefix-map=[remap file source paths in predefined preprocessor macros]:arg' - '-fmax-array-constructor=[max array constructor]:arg' - '-fmax-identifier-length[max identifier length]' - '-fmax-stack-var-size=[max stack var size]:arg' - '-fmax-subrecord-length=[max subrecord length]:arg' - '-fmax-tokens=[max total number of preprocessed tokens for -Wmax-tokens]:number' - '-fmax-type-align=[specify the maximum alignment to enforce on pointers lacking an explicit alignment]:arg' - '-fmemory-profile=[enable heap memory profiling and dump results into <directory>]::directory:_files -/' - '-fmodule-file-deps[module file deps]' - '-fmodule-file=[specify the mapping of module name to precompiled module file]:file:_files' - '-fmodule-implementation-of[module implementation of]:name' - '-fmodule-map-file=[load this module map file]:file:_files' - '-fmodule-maps[implicitly search the file system for module map files.]' - '-fmodule-name=[specify the name of the module to build]:name' - '-fmodule-private[module private]' - '-fmodules-cache-path=[specify the module cache path]:directory:_files -/' - '-fmodules-decluse[require declaration of modules used within a module]' - '-fmodules-disable-diagnostic-validation[disable validation of the diagnostic options when loading the module]' - '-fmodules[enable the modules language feature]' - '-fmodules-ignore-macro=[ignore the definition of the given macro when building and loading modules]:macro' - '-fmodules-prune-after=[specify the interval after which a module file will be considered unused]:seconds' - '-fmodules-prune-interval=[specify the interval between attempts to prune the module cache]:seconds' - '-fmodules-search-all[search even non-imported modules to resolve references]' - '-fmodules-strict-decluse[requires all headers to be in modules]' - '-fmodules-ts[enable support for the C++ Modules TS]' - '-fmodules-user-build-path[specify the module user build path]:directory:_files -/' - '-fmodules-validate-input-files-content[validate PCM input files based on content if mtime differs]' - "-fmodules-validate-once-per-build-session[don't verify input files for the modules]" - '-fmodules-validate-system-headers[validate the system headers that a module depends on when loading the module]' - '-fms-compatibility[enable full Microsoft Visual C++ compatibility]' - '-fms-compatibility-version=[microsoft compiler version number]:arg' - '-fmsc-version=[microsoft compiler version number to report]:arg' - '-fms-memptr-rep=[ms memptr rep]:arg' - '-fms-volatile[ms volatile]' - '-fnested-functions[nested functions]' - '-fnew-alignment=[specifies the largest alignment guaranteed]:align' - '-fnext-runtime[next runtime]' - '-fno-builtin-[disable implicit builtin knowledge of a specific function]:arg' - '-fno-crash-diagnostics[disable auto-generation of preprocessed source files and a script for reproduction during a clang crash]' - '-fno-limit-debug-info[no limit debug info]' - '-fno-max-type-align[no max type align]' - '-fno_modules-validate-input-files-content[no modules validate input files content]' - '-fno_pch-validate-input-files-content[no pch validate input files content]' - '-fno-strict-modules-decluse[no strict modules decluse]' - '-fno-temp-file[directly create compilation output files]' - '-fno-working-directory[no working directory]' - '-fnoxray-link-deps[no xray link deps]' - '-fobjc-abi-version=-[set Objective-C ABI version]:version' - '-fobjc-arc-exceptions[use EH-safe code when synthesizing retains and releases in -fobjc-arc]' - '-fobjc-arc[synthesize retain and release calls for Objective-C pointers]' - '-fobjc-convert-messages-to-runtime-calls[convert messages to runtime calls]' - '-fobjc-encode-cxx-class-template-spec[fully encode C++ class template specialization]' - '-fobjc-exceptions[enable Objective-C exceptions]' - '-fobjc-infer-related-result-type[infer related result type]' - '-fobjc-legacy-dispatch[use legacy dispatch]' - '-fobjc-link-runtime[set link runtime]' - '-fobjc-nonfragile-abi[set nonfragile abi]' - '-fobjc-nonfragile-abi-version=-[set nonfragile abi version]:version' - '-fobjc-runtime=-[specify the target Objective-C runtime kind and version]:runtime' - '-fobjc-sender-dependent-dispatch[set sender dependent dispatch]' - '-fobjc-weak[enable ARC-style weak references in Objective-C]' - '-fopenmp-targets=[specify comma-separated list of triples OpenMP offloading targets to be supported]:targets' - '-fopenmp-version=[openmp version]:version' - '-foperator-arrow-depth=[operator arrow depth]:arg' - '-foperator-names[treat C++ operator name keywords as synonyms for operators]' - '-foptimization-record-file=[specify the output name of the file containing the optimization remarks]:file:_files' - '-foptimization-record-passes=[only include passes which match a specified regex]:regex' - '-force_cpusubtype_ALL[force cpusubtype all]' - '-force_flat_namespace[force flat namespace]' - '--force-link=[force link]:arg' - '-force_load[force load]:argument' - '-forder-file-instrumentation[generate instrumented code to collect order file]' - '-foutput-class-dir=[output class dir]:arg' - '-fpack-derived[pack derived]' - '-fparse-all-comments[parse all comments]' - '-fpascal-strings[recognize and construct Pascal-style string literals]' - '-fpass-plugin=[load pass plugin from a dynamic shared object file]:dsopath' - '-fpatchable-function-entry=[generate NOPs around function entry]:N,M' - '-fpch-codegen[generate code for uses of this PCH]' - '-fpch-debuginfo[generate debug info for types in an object file built from this PCH]' - '-fpch-instantiate-templates[instantiate templates already while building a PCH]' - '-fpch-validate-input-files-content[validate PCH input files based on content]' - '-fprebuilt-implicit-modules[look up implicit modules]' - '-fprebuilt-module-path=[specify the prebuilt module path]:directory:_files -/' - '-fpreserve-as-comments[preserve as comments]' - '-fproc-stat-report=[save subprocess statistics to the given file]:arg' - '-fprofile-exclude-files=[exclude files from profile]:arg' - '-fprofile-filter-files=[filter files for profile]:arg' - '-fprofile-instr-generate=[generate instrumented profile into file]::file:_files' - '-fprofile-instr-use=[use instrumentation data for profile-guided optimization]::arg' - '-fprofile-list=[filename defining the list of items to instrument]:file:_files' - '-fprofile-remapping-file=[use the remappings described in file in profile]:file:_files' - '-fprofile-sample-accurate[specifies that the sample profile is accurate]' - '-fprofile-sample-use=[profile sample use]::arg' - '-fprofile-update=[set update method of profile counters]:method' - '-fprotect-parens[protect parens]' - '-fpseudo-probe-for-profiling[emit pseudo probes for sample profiling]' - '*-framework[include framework found in search path]:framework:->framework' - '-frange-check[range check]' - '-freal-4-real-10[real 4 real 10]' - '-freal-4-real-16[real 4 real 16]' - '-freal-4-real-8[real 4 real 8]' - '-freal-8-real-10[real 8 real 10]' - '-freal-8-real-16[real 8 real 16]' - '-freal-8-real-4[real 8 real 4]' - '-frealloc-lhs[realloc lhs]' - '-frecord-command-line[record command line]' - '-frecord-marker=[record marker]:arg' - '-frecursive[recursive]' - '-fregister-global-dtors-with-atexit[use atexit to register global destructors]' - '-frelaxed-template-template-args[enable C++17 relaxed template template argument matching]' - '-frepack-arrays[repack arrays]' - '-freroll-loops[turn on loop reroller]' - '-fretain-comments-from-system-headers[retain comments from system headers]' - '-frewrite-imports[rewrite imports]' - '-frewrite-includes[rewrite includes]' - '-frewrite-map-file=[rewrite map file]:arg' - '-fropi[generate read-only position independent code (ARM only)]' - '-frtlib-add-rpath[add -rpath with architecture-specific resource directory to the linker flags]' - '-frtti-data[rtti data]' - '-frwpi[generate read-write position independent code (ARM only)]' - '-fsanitize-address-destructor-kind=[set destructor type used in ASan instrumentation]:kind' - '-fsanitize-address-field-padding=[level of field padding for AddressSanitizer]:arg' - '-fsanitize-address-globals-dead-stripping[enable linker dead stripping of globals in AddressSanitizer]' - '-fsanitize-address-poison-custom-array-cookie[enable poisoning array cookies when using custom operator new in AddressSanitizer]' - '-fsanitize-address-use-after-scope[enable use-after-scope detection in AddressSanitizer]' - '-fsanitize-address-use-odr-indicator[enable ODR indicator globals]' - '-fsanitize-blacklist=[path to blacklist file for sanitizers]:arg' - '-fsanitize-cfi-canonical-jump-tables[make the jump table addresses canonical in the symbol table]' - '-fsanitize-cfi-cross-dso[enable control flow integrity (CFI) checks for cross-DSO calls]' - '-fsanitize-cfi-icall-generalize-pointers[generalize pointers in CFI indirect call type signature checks]' - '-fsanitize-coverage-allowlist=[sanitize coverage allowlist]:arg' - '-fsanitize-coverage-blacklist=[disable sanitizer coverage instrumentation]:arg' - '-fsanitize-coverage-blocklist=[sanitize coverage blocklist]:arg' - '-fsanitize-coverage=[specify the type of coverage instrumentation for Sanitizers]:arg' - '-fsanitize-coverage-whitelist=[restrict sanitizer coverage instrumentation]:arg' - '-fsanitize-hwaddress-abi=[select the HWAddressSanitizer ABI to target]:arg' - '-fsanitize-link-c\+\+-runtime[sanitize link c++ runtime]' - '-fsanitize-link-runtime[sanitize link runtime]' - '-fsanitize-memory-track-origins=[enable origins tracking in MemorySanitizer]::arg' - '-fsanitize-memory-use-after-dtor[enable use-after-destroy detection in MemorySanitizer]' - '-fsanitize-minimal-runtime[sanitize minimal runtime]' - '-fsanitize-recover=[enable recovery for specified sanitizers]::arg' - '-fsanitize-stats[enable sanitizer statistics gathering]' - '-fsanitize-system-blacklist[path to system blacklist file for sanitizers]:file:_files' - '-fsanitize-thread-atomics[enable atomic operations instrumentation in ThreadSanitizer (default)]' - '-fsanitize-thread-func-entry-exit[enable function entry/exit instrumentation in ThreadSanitizer]' - '-fsanitize-thread-memory-access[enable memory access instrumentation in ThreadSanitizer]' - '-fsanitize-trap=[enable trapping for specified sanitizers]::arg' - '-fsanitize-undefined-strip-path-components=[strip a given number of path components when emitting check metadata]:number' - '-fsanitize-undefined-trap-on-error[equivalent to -fsanitize-trap=undefined]' - '-fsave-optimization-record=[generate an optimization record file in a specific format]::format' - '-fsecond-underscore[second underscore]' - '-fseh-exceptions[use SEH style exceptions]' - '-fsemantic-interposition[semantic interposition]' - '-fshow-column[show the column]' - '-fshow-overloads=[which overload candidates to show when overload resolution fails]:arg' - '-fshow-source-location[show source location]' - '-fsignaling-math[signaling math]' - '-fsign-zero[sign zero]' - '-fsized-deallocation[enable C++14 sized global deallocation functions]' - '-fsjlj-exceptions[use SjLj style exceptions]' - '-fslp-vectorize[enable the superword-level parallelism vectorization passes]' - '-fspell-checking-limit=[spell checking limit]:arg' - '-fspell-checking[spell checking]' - '-fsplit-dwarf-inlining[provide minimal debug info in the object]' - '-fsplit-lto-unit[enables splitting of the LTO unit]' - '-fsplit-machine-functions[enable late function splitting using profile information]' - '-fstack-arrays[stack arrays]' - '-fstack-clash-protection[enable stack clash protection]' - '-fstack-size-section[emit section containing metadata on function stack sizes]' - '-fstandalone-debug[emit full debug info for all types used by the program]' - '-fstrict-float-cast-overflow[assume that overflowing float-to-int casts are undefined]' - '-fstrict-return[strict return]' - '-fstrict-vtable-pointers[enable optimizations based on the strict vtables]' - '-fstruct-path-tbaa[struct path tbaa]' - '-fsycl[enable SYCL kernels compilation for device]' - '-fsymbol-partition=[symbol partition]:arg' - '-fsystem-module[build this module as a system module. only used with -emit-module]' - '-ftemplate-backtrace-limit=[template backtrace limit]:arg' - '-ftemplate-depth--[template depth]:arg' - '-ftemplate-depth=[template depth]:arg' - '-fterminated-vtables[terminated vtables]' - '-fthin-link-bitcode=[write minimized bitcode to <file>]:file:_files' - '-fthinlto-index=[perform ThinLTO importing using provided index]:arg' - '-fthreadsafe-statics[threadsafe statics]' - '-ftime-trace-granularity=[minimum time granularity traced by time profiler]:microseconds' - '-ftime-trace[turn on time profiler]' - '-ftrap-function=[issue call to specified function rather than a trap instruction]:function name' - '-ftrapv-handler=[specify the function to be called on overflow]:function name' - '-ftrigraphs[process trigraph sequences]' - '-ftrivial-auto-var-init=[initialize trivial automatic stack variables]:arg' - '-ftrivial-auto-var-init-stop-after=[stop initializing trivial automatic stack variables after the specified number of instances]:arg' - '-funderscoring[underscoring]' - '-funique-basic-block-section-names[use unique names for basic block sections]' - '-funique-internal-linkage-names[uniqueify Internal Linkage Symbol Names]' - '-funique-section-names[unique section names]' - '-funit-at-a-time[unit at a time]' - '-fuse-cuid=[method to generate ids for compilation units for single source offloading languages CUDA and HIP]:argument' - '-fuse-cxa-atexit[use cxa atexit]' - '-fuse-init-array[use init array]' - '-fuse-line-directives[use #line in preprocessed output]' - '-fvalidate-ast-input-files-content[compute and store the hash of input files used to build an AST]' - '-fveclib=[use the given vector functions library]:arg' - '-fvectorize[enable the loop vectorization passes]' - '-fvirtual-function-elimination[enables dead virtual function elimination optimization]' - '-fvisibility-dllexport=[the visibility for dllexport definitions]:arg' - '-fvisibility-externs-dllimport=[the visibility for dllimport external declarations]:arg' - '-fvisibility-externs-nodllstorageclass=[the visibility for external declarations without an explicit DLL dllstorageclass]:arg' - '-fvisibility-from-dllstorageclass[set the visibility of symbols in the generated code from their DLL storage class]' - '-fvisibility-global-new-delete-hidden[give global C++ operator new and delete declarations hidden visibility]' - '-fvisibility-inlines-hidden[give inline C++ member functions hidden visibility by default]' - '-fvisibility-inlines-hidden-static-local-var[visibility inlines hidden static local var]' - '-fvisibility-ms-compat[give global types and functions a specific visibility]' - '-fvisibility-nodllstorageclass=[the visibility for defintiions without an explicit DLL export class]:arg' - '-fwasm-exceptions[use WebAssembly style exceptions]' - '-fwhole-file[whole file]' - '-fwhole-program-vtables[enables whole-program vtable optimization]' - '-fwritable-strings[store string literals as writable data]' - '-fxl-pragma-pack[enable IBM XL #pragma pack handling]' - '-fxor-operator[enable .XOR. as a synonym of .NEQV.]' - '-fxray-always-emit-customevents[always emit xray customevent calls]' - '-fxray-always-emit-typedevents[always emit xray typedevents calls]' - '-fxray-always-instrument=[file defining xray always instrument]:file:_files' - '-fxray-attr-list=[file defining the list of xray attributes]:file:_files' - '-fxray-function-groups=[only instrument 1 of N groups]:arg' - '-fxray-function-index[xray function index]' - "-fxray-ignore-loops[don't instrument functions with loops unless they also meet the minimum function size]" - '-fxray-instruction-threshold=[sets the minimum function size to instrument with XRay]:arg' - '-fxray-instrumentation-bundle=[select which XRay instrumentation points to emit]:arg' - '-fxray-instrument[generate XRay instrumentation sleds on function entry and exit]' - '-fxray-link-deps[tells clang to add the link dependencies for XRay]' - '-fxray-modes=[list of modes to link in by default into XRay instrumented binaries]:arg' - '-fxray-never-instrument=[file defining the whitelist for Xray attributes]:file:_files' - '-fxray-selected-function-group=[select which group of functions to instrument]:arg' - '-fzvector[enable System z vector language extension]' - {-gcc-toolchain=,--gcc-toolchain=}'[use the gcc toolchain at the given directory]:directory:_files -/' - '-gcodeview[generate CodeView debug information]' - {-gcodeview-ghash,-gno-codeview-ghash}'[emit type record hashes is a .debug section]' - '-gcolumn-info[column info]' - '-gdwarf-aranges[DWARF aranges]' - '-gembed-source[embed source text in DWARF debug sections]' - '-gfull[emit debugging information for all symbols and types]' - {-G-,-G=-,-msmall-data-limit=,-msmall-data-threshold}'[put objects of at most size bytes into small data section]:size' - '-ggnu-pubnames[gnu pubnames]' - '-ginline-line-tables[inline line tables]' - '-gline-directives-only[emit debug line info directives only]' - '-gline-tables-only[line tables only]' - '-glldb[lldb]' - '-gmlt[emit debug line number tables only]' - '-gmodules[generate debug info with external references]' - '-gno-column-info[no column info]' - '-gno-embed-source[no embed source]' - '-gno-gnu-pubnames[no gnu pubnames]' - '-gno-inline-line-tables[no inline line tables]' - '-gno-record-command-line[no record command line]' - '--gpu-instrument-lib=[instrument device library for HIP]:argument' - '--gpu-max-threads-per-block=[default max threads per block for kernel launch bounds for HIP]' - '-grecord-command-line[record command line]' - '-gsce[sce]' - '-gused[emit debugging information for symbols that are used]' - '-gz=[DWARF debug sections compression type]::arg' - '-headerpad_max_install_names[headerpad max install names]:argument' - '-help[display this information]' - '--help-hidden[display help for hidden options]' - '--hip-device-lib=[hIP device library]:arg' - '--hip-device-lib-path=[hip device lib path]:arg' - '--hip-link[link clang-offload-bundler bundles for HIP]' - '--hip-version=[HIP version in the format of major.minor.patch]' - '-ibuiltininc[enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc]' - '-iframework[add directory to SYSTEM framework search path]:directory:_files -/' - '-iframeworkwithsysroot[add directory to SYSTEM framework search path, absolute paths are relative to -isysroot]:directory:_files -/' - '-image_base[image base]:argument' - '-include-pch[include precompiled header file]:file:_files' - '-index-header-map[make the next included directory (-I or -F) an indexer header map]' - '-init[init]:arg' - '-install_name[install name]:arg' - '-integrated-as[integrated as]' - '-interface-stub-version=[interface stub version]:arg' - '-isystem-after[add directory to end of the SYSTEM include search path]:directory:_files -/' - '-ivfsoverlay[overlay the virtual filesystem described by file over the real file system]:arg' - '-iwithsysroot[add directory to SYSTEM include search path]:directory:_files -/' - '-J[this option specifies where to put .mod files for compiled modules]:arg' - '-keep_private_externs[keep private externs]' - '*-lazy_framework[lazy framework]:framework:->framework' - '*-lazy_library[lazy library]:arg' - '--ld-path=[ld path]:arg' - '--libomptarget-amdgcn-bc-path=[path to libomptarget-amdgcn bitcode library]:arg' - '--libomptarget-nvptx-bc-path=[path to libomptarget-nvptx bitcode library]:arg' - '--library-directory=[add directory to library search path]:directory:_files -/' - '-maix-struct-return[return all structs in memory]' - "-malign-branch-boundary=[specify the boundary's size to align branches]:size" - '-malign-branch=[specify types of branches to align]:arg' - '-mappletvos-version-min=[appletvos version min]:arg' - '-mappletvsimulator-version-min=[appletvsimulator version min]:arg' - '-mbackchain[link stack frames through backchain on System Z]' - '-mbig-endian[big endian]' - '-mbranches-within-32B-boundaries[align selected branches within 32-byte boundary]' - '-mbranch-protection=[enforce targets of indirect branches and function returns]:arg' - '-mcode-object-v3[legacy option to specify code object ABI V3]' - '-mcode-object-version=[specify code object ABI version]:version' - '-mconsole[console]:arg' - '-mcrc[allow use of CRC instructions]' - '-mdefault-build-attributes[default build attributes]:arg' - '-mdll[dll]:arg' - '-mdouble=[force double to be 32 bits or 64 bits]:arg' - '-mdynamic-no-pic[dynamic no pic]:arg' - '-meabi[set EABI type]:arg' - '-menable-experimental-extensions[enable use of experimental RISC-V extensions]' - '-menable-unsafe-fp-math[allow unsafe floating-point math optimizations which may decrease precision]' - '-mfix-cortex-a53-835769[workaround Cortex-A53 erratum 835769]' - '-mfloat-abi=[float abi]:arg' - '-mfpu=[fpu]:arg' - '-mglobal-merge[enable merging of globals]' - '-mharden-sls=[select straight-line speculation hardening scope]:arg' - '--mhwdiv=[hwdiv]:arg' - '-mhwdiv=[hwdiv]:arg' - '-mhwmult=[hwmult]:arg' - '-mignore-xcoff-visibility[do not emit the visibility attribute for asm]' - '--migrate[run the migrator]' - '-mimplicit-float[implicit float]' - '-mimplicit-it=[implicit it]:arg' - '-mincremental-linker-compatible[emit an object file which can be used with an incremental linker]' - '-mios-simulator-version-min=[ios simulator version min]:arg' - '-mios-version-min=[ios version min]:arg' - '-miphoneos-version-min=[iphoneos version min]:arg' - '-miphonesimulator-version-min=[iphonesimulator version min]:arg' - '-mkernel[kernel]' - '-mlinker-version=[linker version]:arg' - '-mlittle-endian[little endian]' - "-mllvm[additional arguments to forward to LLVM's option processing]:arg" - '-mlong-calls[generate branches with extended addressability]' - '-mlvi-cfi[enable only control-flow mitigations for Load Value Injection]' - '-mlvi-hardening[enable all mitigations for Load Value Injection]' - '-mmacos-version-min=[set Mac OS X deployment target]:arg' - '-mmacosx-version-min=[macosx version min]:arg' - '-mmcu=[mcu]:arg' - '-module-dependency-dir[directory to dump module dependencies to]:arg' - '-module-dir[odule dir]:dir' - '-module-file-info[provide information about a particular module file]' - '-moslib=[oslib]:arg' - '-moutline-atomics[generate local calls to out-of-line atomic operations]' - '-mpacked-stack[use packed stack layout]' - '-mpad-max-prefix-size=[specify maximum number of prefixes to use for padding]:arg' - '-mpie-copy-relocations[pie copy relocations]' - '-mprefer-vector-width=[specifies preferred vector width]:arg' - '-mqdsp6-compat[enable hexagon-qdsp6 backward compatibility]' - '-mrelax-all[relax all machine instructions]' - '-mrelax[enable linker relaxation]' - '-mretpoline[retpoline]' - '-mseses[enable speculative execution side effect suppression (SESES)]' - '-msign-return-address=[select return address signing scope]:arg' - '-msim[sim]' - '-mspeculative-load-hardening[speculative load hardening]' - '-mstack-alignment=[set the stack alignment]:arg' - '-mstack-probe-size=[set the stack probe size]:size' - '-mstack-protector-guard-offset=[use the given offset for addressing the stack-protector guard]:arg' - '-mstack-protector-guard-reg=[use the given reg for addressing the stack-protector guard]:reg' - '-msvr4-struct-return[return small structs in registers]' - '-mthread-model[the thread model to use]:arg' - '-mthumb[thumb]' - '-mtls-size=[specify bit size of immediate TLS offsets]:arg' - '-mtvos-simulator-version-min=[tvos simulator version min]:arg' - '-mtvos-version-min=[tvos version min]:arg' - '-multi_module[multi module]' - '-multiply_defined[multiply defined]:arg' - '-multiply_defined_unused[multiply defined unused]:arg' - '-municode[unicode]:arg' - '-munsafe-fp-atomics[enable unsafe floating point atomic instructions]' - '-mv55[equivalent to -mcpu=hexagonv55]' - '-mv5[equivalent to -mcpu=hexagonv5]' - '-mv60[equivalent to -mcpu=hexagonv60]' - '-mv62[equivalent to -mcpu=hexagonv62]' - '-mv65[equivalent to -mcpu=hexagonv65]' - '-mv66[equivalent to -mcpu=hexagonv66]' - '-mv67[equivalent to -mcpu=hexagonv67]' - '-mv67t[equivalent to -mcpu=hexagonv67t]' - '-mv68[equivalent to -mcpu=hexagonv68]' - '-mvx[vx]' - '-mwarn-nonportable-cfstrings[warn nonportable cfstrings]' - '-mwatchos-simulator-version-min=[watchos simulator version min]:arg' - '-mwatchos-version-min=[watchos version min]:arg' - '-mwatchsimulator-version-min=[watchsimulator version min]:arg' - '-mwavefrontsize64[specify wavefront size 64 mode]' - '-mwindows[windows]:arg' - '-mzvector[zvector]' - '-nobuiltininc[do not search builtin directory for include files]' - '-nocpp[no cpp]' - '-nocudainc[do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers]' - '*--no-cuda-include-ptx=[do not include ptx for the following gpu architecture]:argument' - '-nocudalib[do not link device library for CUDA/HIP device compilation]' - '--no-cuda-noopt-device-debug[disable device-side debug info generation]' - "--no-cuda-version-check[don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture]" - '-no_dead_strip_inits_and_terms[no dead strip inits and terms]' - '-nofixprebinding[no fixprebinding]' - '-nogpuinc[no gpuinc]' - '-nogpulib[no gpulib]' - '--no-integrated-cpp[no integrated cpp]' - '-no-integrated-cpp[no integrated cpp]' - '-nolibc[no libc]' - '-nomultidefs[no multidefs]' - '--no-offload-arch=[no offload arch]:arg' - '-no-pie[no pie]' - '-nopie[no pie]' - '-noprebind[no prebind]' - '-noprofilelib[no profilelib]' - '-no-pthread[no pthread]' - '-noseglinkedit[no seglinkedit]' - '--no-standard-libraries[no standard libraries]' - '-nostdinc\+\+[disable standard #include directories for the C++ standard library]' - '-nostdlibinc[do not search standard system directories for include files]' - '-nostdlib\+\+[no stdlib++]' - '--no-system-header-prefix=[no system header prefix]:prefix' - '--no-undefined[no undefined]' - '-objcmt-atomic-property[make migration to atomic properties]' - '-objcmt-migrate-all[enable migration to modern ObjC]' - '-objcmt-migrate-annotation[enable migration to property and method annotations]' - '-objcmt-migrate-designated-init[enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods]' - '-objcmt-migrate-instancetype[enable migration to infer instancetype for method result type]' - '-objcmt-migrate-literals[enable migration to modern ObjC literals]' - '-objcmt-migrate-ns-macros[enable migration to NS_ENUM/NS_OPTIONS macros]' - '-objcmt-migrate-property-dot-syntax[enable migration of setter/getter messages to property-dot syntax]' - '-objcmt-migrate-property[enable migration to modern ObjC property]' - '-objcmt-migrate-protocol-conformance[enable migration to add protocol conformance on classes]' - '-objcmt-migrate-readonly-property[enable migration to modern ObjC readonly property]' - '-objcmt-migrate-readwrite-property[enable migration to modern ObjC readwrite property]' - '-objcmt-migrate-subscripting[enable migration to modern ObjC subscripting]' - "-objcmt-ns-nonatomic-iosonly[enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's atomic attribute]" - '-objcmt-returns-innerpointer-property[enable migration to annotate property with NS_RETURNS_INNER_POINTER]' - '-objcmt-whitelist-dir-path=[objcmt whitelist dir path]:arg' - '-objcmt-white-list-dir-path=[only modify files with a filename contained in the provided directory path]:arg' - '-ObjC[treat source files as Objective-C]' - '-ObjC\+\+[treat source files as Objective-C++]' - '-object[object]' - '--offload-arch=[offload arch]:arg' - '--output-class-directory=[output class directory]:arg' - '-pagezero_size[pagezero size]:arg' - '-pg[enable mcount instrumentation]' - {-p,--profile}'[enable function profiling for prof]' - '-prebind_all_twolevel_modules[prebind all twolevel modules]' - '-prebind[prebind]' - '--precompile[only precompile the input]' - '-preload[preload]' - '--print-diagnostic-categories[print diagnostic categories]' - '-print-effective-triple[print effective triple]' - '--print-effective-triple[print the effective target triple]' - '--print-file-name=[print the full library path of <file>]:file:_files' - '-print-ivar-layout[enable Objective-C Ivar layout bitmap print trace]' - '--print-libgcc-file-name[print the library path for the currently used compiler runtime library]' - '--print-multi-directory[print multi directory]' - '--print-multi-lib[print multi lib]' - '--print-prog-name=[print the full program path of <name>]:name' - '-print-resource-dir[print resource dir]' - '--print-resource-dir[print the resource directory pathname]' - '--print-search-dirs[print the paths used for finding libraries and programs]' - '--print-supported-cpus[print supported cpus]' - '-print-supported-cpus[print supported cpus]' - '-print-targets[print targets]' - '--print-targets[print the registered targets]' - '-print-target-triple[print target triple]' - '--print-target-triple[print the normalized target triple]' - '-private_bundle[private bundle]' - '--profile-blocks[undocumented option]' - '-pthreads[pthreads]' - '-pthread[support POSIX threads in generated code]' - '--ptxas-path=[path to ptxas (used for compiling CUDA code)]:arg' - "-Qunused-arguments[don't emit warning for unused driver arguments]" - '-read_only_relocs[read only relocs]:arg' - '-relocatable-pch[relocatable pch]' - '--relocatable-pch[whether to build a relocatable precompiled header]' - '-R[enable the specified remark]:remark' - '--resource=[resource]:arg' - '-rewrite-legacy-objc[rewrite Legacy Objective-C source to C++]' - '-rewrite-objc[rewrite Objective-C source to C++]' - '--rocm-device-lib-path=[rOCm device library path]:arg' - '--rocm-path=[rOCm installation path]:arg' - '-Rpass-analysis=[report transformation analysis from optimization passes]:regex' - '-Rpass-missed=[report missed transformations by optimization passes]:arg' - '-Rpass=[report transformations performed by optimization passes]:arg' - '-rpath[rpath]:arg' - '-r[product a relocatable object as output]' - '--rtlib=[compiler runtime library to use]:arg' - '-rtlib=[rtlib]:arg' - '--save-stats=[save llvm statistics]:arg' - '-sectalign[sectalign]:arg' - '-sectcreate[sectcreate]:arg' - '-sectobjectsymbols[sectobjectsymbols]:arg' - '-sectorder[sectorder]:arg' - '-seg1addr[seg1addr]:arg' - '-segaddr[segaddr]:arg' - '-seg_addr_table_filename[seg addr table filename]:arg' - '-seg_addr_table[seg addr table]:arg' - '-segcreate[segcreate]:arg' - '-seglinkedit[seglinkedit]' - '-segprot[segprot]:arg' - '-segs_read_only_addr[segs read only addr]:arg' - '-segs_read_[segs read]:arg' - '-segs_read_write_addr[segs read write addr]:arg' - '--serialize-diagnostics[serialize compiler diagnostics to a file]:arg' - '-serialize-diagnostics[serialize diagnostics]:arg' - '-shared-libasan[dynamically link the sanitizer runtime]' - '-shared-libsan[shared libsan]' - '--shared[shared]' - '--signed-char[signed char]' - '-single_module[single module]' - '--specs=[specs]:arg' - '-static-libgfortran[static libgfortran]' - '-static-libsan[statically link the sanitizer runtime]' - '-static-libstdc\+\+[static libstdc++]' - '-static-openmp[use the static host OpenMP runtime while linking.]' - '-static-pie[static pie]' - '--static[static]' - '-std-default=[std default]:arg' - '--stdlib=[c++ standard library to use]:arg' - '-stdlib\+\+-isystem[use directory as the C++ standard library include path]:directory:_files -/' - '-stdlib=[stdlib]:arg' - '-sub_library[sub library]:arg' - '-sub_umbrella[sub umbrella]:arg' - '-sycl-std=[SYCL language standard to compile for]:standard' - '--system-header-prefix=[treat all #include paths starting with <prefix> as including a system header]:prefix' - '-target[generate code for the given target]:arg' - '--target=[target]:arg' - '-Tbss[set starting address of BSS to <addr>]:addr' - '-Tdata[set starting address of DATA to <addr>]:addr' - '--traditional[traditional]' - '-traditional[traditional]' - '-Ttext[set starting address of TEXT to <addr>]:addr' - '-t[undocumented option]' - '-twolevel_namespace_hints[twolevel namespace hints]' - '-twolevel_namespace[twolevel namespace]' - '-umbrella[umbrella]:arg' - '-undefined[undefined]:arg' - '-unexported_symbols_list[unexported symbols list]:arg' - '--unsigned-char[unsigned char]' - '--unwindlib=[unwind library to use]:arg' - '-unwindlib=[unwindlib]:arg' - '--verify-debug-info[verify the binary representation of debug output]' - '-verify-pch[load and verify that a pre-compiled header file is not stale]' - '--warn-=-[enable the specified warning]:warning:->warning' - '*-weak_framework[weak framework]:framework:->framework' - '*-weak_library[weak library]:arg' - '-weak-l[weak l]:arg' - '-weak_reference_mismatches[weak reference mismatches]:arg' - '-whatsloaded[whatsloaded]' - '-whyload[whyload]' - '-working-directory=[resolve file paths relative to the specified directory]:arg' - '-Xanalyzer[pass <arg> to the static analyzer]:arg' - '-Xarch_device[pass arg to CUDA/HIP device compilation]:argument' - '-Xarch_host[pass arg to CUDA/HIP host compilation]:argument' - '-Xclang[pass <arg> to the clang compiler]:arg' - '-Xcuda-fatbinary[pass arg to fatbinary invocation]:argument' - '-Xcuda-ptxas[pass arg to the ptxas assemler]:argument' - '-Xflang[pass <arg> to the flang compiler]:arg' - '-Xopenmp-target[pass arg to the the target offloading toolchain]:argument' - '-y[the action to perform on the input]:arg' - '-Z-[undocumented option]:argument' - ) -else - args+=( - '--dump=[dump information]:argument' - '-flto=-[enable link-time optimization]::jobs:' - '*--help=-[display this information]:class:->help' - ) -fi - -local -a sanitizers -sanitizers=( - address alignment bool bounds enum float-cast-overflow float-divide-by-zero - integer-divide-by-zero memory nonnull-attribute null nullability-arg - nullability-assign nullability-return object-size pointer-overflow return - unsigned-integer-overflow returns-nonnull-attribute shift signed-integer-overflow - unreachable vla-bound vptr -) - -local -a languages -languages=( - c c-header cpp-output c++ c++-header c++-cpp-output objective-c objective-c-header - objective-c-cpp-output objective-c++ objective-c++-header objective-c++-cpp-output - assembler assembler-with-cpp ada f77 f77-cpp-input f95 f95-cpp-input go java - brig none -) - -# warnings (from --help=warnings), note some -W options are listed by --help=common instead -warnings+=( - '-Wabi-tag[warn if a subobject has an abi_tag attribute that the complete object type does not have]' - '-Wabi[warn about things that will change when compiling with an ABI-compliant compiler]::' - '-Waddress[warn about suspicious uses of memory addresses]' - '-Waggregate-return[warn about returning structures, unions or arrays]' - '-Waggressive-loop-optimizations[warn if a loop with constant number of iterations triggers undefined behavior]' - '-Waliasing[warn about possible aliasing of dummy arguments]' - '-Walign-commons[warn about alignment of COMMON blocks]' - '-Waligned-new=[warn even if '\'new\'' uses a class member allocation function]:none|global|all: ' - '-Wall[enable most warning messages]' - '-Walloca-larger-than=[warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes]:bytes: ' - '-Walloca[warn on any use of alloca]' - '-Walloc-size-larger-than=[warn for calls to allocation functions that attempt to allocate objects larger than the specified number of bytes]:bytes: ' - '-Walloc-zero[warn for calls to allocation functions that specify zero bytes]' - '-Wampersand[warn about missing ampersand in continued character constants]' - '-Wargument-mismatch[warn about type and rank mismatches between arguments and parameters]' - '-Warray-bounds[warn if an array is accessed out of bounds]' - '-Warray-bounds=[warn if an array is accessed out of bounds]:level:(1 2)' - '-Warray-temporaries[warn about creation of array temporaries]' - '-Wassign-intercept[warn whenever an Objective-C assignment is being intercepted by the garbage collector]' - '-Wattributes[warn about inappropriate attribute usage]' - '-Wbad-function-cast[warn about casting functions to incompatible types]' - '-Wbool-compare[warn about boolean expression compared with an integer value different from true/false]' - '-Wbool-operation[warn about certain operations on boolean expressions]' - '-Wbuiltin-declaration-mismatch[warn when a built-in function is declared with the wrong signature]' - '-Wbuiltin-macro-redefined[warn when a built-in preprocessor macro is undefined or redefined]' - '-Wc++0x-compat[deprecated in favor of -Wc++11-compat]' - '-Wc++11-compat[warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011]' - '-Wc++14-compat[warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014]' - '-Wc++1z-compat[warn about C++ constructs whose meaning differs between ISO C++ 2014 and (forthcoming) ISO C++ 201z(7?)]' - '-Wc90-c99-compat[warn about features not present in ISO C90, but present in ISO C99]' - '-Wc99-c11-compat[warn about features not present in ISO C99, but present in ISO C11]' - '-Wcast-align[warn about pointer casts which increase alignment]' - '-Wcast-qual[warn about casts which discard qualifiers]' - '-Wc-binding-type[warn if the type of a variable might be not interoperable with C]' - '-Wc++-compat[warn about C constructs that are not in the common subset of C and C++]' - '-Wcharacter-truncation[warn about truncated character expressions]' - '-Wchar-subscripts[warn about subscripts whose type is "char"]' - '-Wchkp[warn about memory access errors found by Pointer Bounds Checker]' - '-Wclobbered[warn about variables that might be changed by "longjmp" or "vfork"]' - '-Wcomments[synonym for -Wcomment]' - '-Wcomment[warn about possibly nested block comments, and C++ comments spanning more than one physical line]' - '-Wcompare-reals[warn about equality comparisons involving REAL or COMPLEX expressions]' - '-Wconditionally-supported[warn for conditionally-supported constructs]' - '-Wconversion-extra[warn about most implicit conversions]' - '-Wconversion-null[warn for converting NULL from/to a non-pointer type]' - '-Wconversion[warn for implicit type conversions that may change a value]' - '-Wcoverage-mismatch[warn in case profiles in -fprofile-use do not match]' - '-Wcpp[warn when a #warning directive is encountered]' - '-Wctor-dtor-privacy[warn when all constructors and destructors are private]' - '-Wdangling-else[warn about dangling else]' - '-Wdate-time[warn about __TIME__, __DATE__ and __TIMESTAMP__ usage]' - '-Wdeclaration-after-statement[warn when a declaration is found after a statement]' - '-Wdelete-incomplete[warn when deleting a pointer to incomplete type]' - '-Wdelete-non-virtual-dtor[warn about deleting polymorphic objects with non- virtual destructors]' - '-Wdeprecated-declarations[warn about uses of __attribute__((deprecated)) declarations]' - '-Wdeprecated[warn if a deprecated compiler feature, class, method, or field is used]' - '-Wdesignated-init[warn about positional initialization of structs requiring designated initializers]' - '-Wdisabled-optimization[warn when an optimization pass is disabled]' - '-Wdiscarded-array-qualifiers[warn if qualifiers on arrays which are pointer targets are discarded]' - '-Wdiscarded-qualifiers[warn if type qualifiers on pointers are discarded]' - '-Wdiv-by-zero[warn about compile-time integer division by zero]' - '-Wdouble-promotion[warn about implicit conversions from "float" to "double"]' - '-Wduplicated-branches[warn about duplicated branches in if-else statements]' - '-Wduplicated-cond[warn about duplicated conditions in an if-else-if chain]' - '-Wduplicate-decl-specifier[warn when a declaration has duplicate const, volatile, restrict or _Atomic specifier]' - '-Weffc\+\+[warn about violations of Effective C++ style rules]' - '-Wempty-body[warn about an empty body in an if or else statement]' - '-Wendif-labels[warn about stray tokens after #else and #endif]' - '-Wenum-compare[warn about comparison of different enum types]' - # '-Werror-implicit-function-declaration[this switch is deprecated; use -Werror=implicit-fun]' # this still exists but makes completing -Werror= less convenient - '-Wexpansion-to-defined[warn if "defined" is used outside #if]' - '-Wextra[print extra (possibly unwanted) warnings]' - '-Wfloat-conversion[warn for implicit type conversions that cause loss of floating point precision]' - '-Wfloat-equal[warn if testing floating point numbers for equality]' - '-Wformat-contains-nul[warn about format strings that contain NUL bytes]' - '-Wformat-extra-args[warn if passing too many arguments to a function for its format string]' - '-Wformat-nonliteral[warn about format strings that are not literals]' - '-Wformat-overflow[warn about function calls with format strings that write past the end of the destination region]' - '-Wformat-overflow=[warn about function calls with format strings that write past the end of the destination region]:level:(1 2)' - '-Wformat-security[warn about possible security problems with format functions]' - '-Wformat-signedness[warn about sign differences with format functions]' - '-Wformat-truncation[warn about calls to snprintf and similar functions that truncate output. Same as -Wformat- truncation=1. Same as -Wformat-truncation=]' - '-Wformat-truncation=[warn about calls to snprintf and similar functions that truncate output]:level:(1 2)' - '-Wformat=[warn about printf/scanf/strftime/strfmon format string anomalies]::level:(1 2)' - '-Wformat-y2k[warn about strftime formats yielding 2-digit years]' - '-Wformat-zero-length[warn about zero-length formats]' - '-Wframe-address[warn when __builtin_frame_address or __builtin_return_address is used unsafely]' - '-Wframe-larger-than=[warn if a function'\''s stack frame requires more than <number> bytes]:bytes: ' - '-Wfree-nonheap-object[warn when attempting to free a non-heap object]' - '-Wfunction-elimination[warn about function call elimination]' - '-Whsa[warn when a function cannot be expanded to HSAIL]' - '-Wignored-attributes[warn whenever attributes are ignored]' - '-Wignored-qualifiers[warn whenever type qualifiers are ignored]' - '-Wimplicit-fallthrough=[warn when a switch case falls through]:level:(1 2 3 4 5)' - '-Wimplicit-function-declaration[warn about implicit function declarations]' - '-Wimplicit-interface[warn about calls with implicit interface]' - '-Wimplicit-int[warn when a declaration does not specify a type]' - '-Wimplicit-procedure[warn about called procedures not explicitly declared]' - '-Wimplicit[warn about implicit declarations]' - '-Wimport[warn about imports]' - '-Wincompatible-pointer-types[warn when there is a conversion between pointers that have incompatible types]' - '-Winherited-variadic-ctor[warn about C++11 inheriting constructors when the base has a variadic constructor]' - '-Winit-self[warn about variables which are initialized to themselves]' - '-Winline[warn when an inlined function cannot be inlined]' - '-Wint-conversion[warn about incompatible integer to pointer and pointer to integer conversions]' - '-Winteger-division[warn about constant integer divisions with truncated results]' - '-Wint-in-bool-context[warn for suspicious integer expressions in boolean context]' - '-Wintrinsic-shadow[warn if a user-procedure has the same name as an intrinsic]' - '-Wintrinsics-std[warn on intrinsics not part of the selected standard]' - '-Wint-to-pointer-cast[warn when there is a cast to a pointer from an integer of a different size]' - '-Winvalid-memory-model[warn when an atomic memory model parameter is known to be outside the valid range]' - '-Winvalid-offsetof[warn about invalid uses of the "offsetof" macro]' - '-Winvalid-pch[warn about PCH files that are found but not used]' - '-Wjump-misses-init[warn when a jump misses a variable initialization]' - '-Wlarger-than=[warn if an object is larger than <number> bytes]:bytes: ' - '-Wline-truncation[warn about truncated source lines]' - '-Wliteral-suffix[warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore]' - '-Wlogical-not-parentheses[warn when logical not is used on the left hand side operand of a comparison]' - '-Wlogical-op[warn when a logical operator is suspiciously always evaluating to true or false]' - '-Wlong-long[do not warn about using "long long" when -pedantic]' - '-Wlto-type-mismatch[during link time optimization warn about mismatched types of global declarations]' - '-Wmain[warn about suspicious declarations of "main"]' - '-Wmaybe-uninitialized[warn about maybe uninitialized automatic variables]' - '-Wmemset-elt-size[warn about suspicious calls to memset where the third argument contains the number of elements not multiplied by the element size]' - '-Wmemset-transposed-args[warn about suspicious calls to memset where the third argument is constant literal zero and the second is not]' - '-Wmisleading-indentation[warn when the indentation of the code does not reflect the block structure]' - '-Wmissing-braces[warn about possibly missing braces around initializers]' - '-Wmissing-declarations[warn about global functions without previous declarations]' - '-Wmissing-field-initializers[warn about missing fields in struct initializers]' - '-Wmissing-include-dirs[warn about user-specified include directories that do not exist]' - '-Wmissing-parameter-type[warn about function parameters declared without a type specifier in K&R-style functions]' - '-Wmissing-prototypes[warn about global functions without prototypes]' - '-Wmudflap[warn about constructs not instrumented by -fmudflap]' - '-Wmultichar[warn about use of multi-character character constants]' - '-Wmultiple-inheritance[warn on direct multiple inheritance]' - '-Wnamespaces[warn on namespace definition]' - '-Wnarrowing[warn about narrowing conversions within { } that are ill-formed in C++11]' - '-Wnested-externs[warn about "extern" declarations not at file scope]' - '-Wnoexcept-type[warn if C++1z noexcept function type will change the mangled name of a symbol]' - '-Wnoexcept[warn when a noexcept expression evaluates to false even though the expression can''t actually throw]' - '-Wnonnull-compare[warn if comparing pointer parameter with nonnull attribute with NULL]' - '-Wnonnull[warn about NULL being passed to argument slots marked as requiring non-NULL]' - '-Wnonportable-cfstrings[warn on CFStrings containing nonportable characters]' - '-Wnon-template-friend[warn when non-templatized friend functions are declared within a template]' - '-Wnon-virtual-dtor[warn about non-virtual destructors]' - '-Wnormalized=-[warn about non-normalised Unicode strings]:normalization:((id\:allow\ some\ non-nfc\ characters\ that\ are\ valid\ identifiers nfc\:only\ allow\ NFC nfkc\:only\ allow\ NFKC none\:allow\ any\ normalization)): ' - '-Wnull-dereference[warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior]' - '-Wodr[warn about some C++ One Definition Rule violations during link time optimization]' - '-Wold-style-cast[warn if a C-style cast is used in a program]' - '-Wold-style-declaration[warn for obsolescent usage in a declaration]' - '-Wold-style-definition[warn if an old-style parameter definition is used]' - '-Wopenmp-simd[warn if a simd directive is overridden by the vectorizer cost model]' - '-Woverflow[warn about overflow in arithmetic expressions]' - '-Woverlength-strings[warn if a string is longer than the maximum portable length specified by the standard]' - '-Woverloaded-virtual[warn about overloaded virtual function names]' - '-Woverride-init-side-effects[warn about overriding initializers with side effects]' - '-Woverride-init[warn about overriding initializers without side effects]' - '-Wpacked-bitfield-compat[warn about packed bit-fields whose offset changed in GCC 4.4]' - '-Wpacked[warn when the packed attribute has no effect on struct layout]' - '-Wpadded[warn when padding is required to align structure members]' - '-Wparentheses[warn about possibly missing parentheses]' - '-Wpedantic[issue warnings needed for strict compliance to the standard]' - '-Wplacement-new=[warn for placement new expressions with undefined behavior]::level:(1 2)' - '-Wpmf-conversions[warn when converting the type of pointers to member functions]' - '-Wpointer-arith[warn about function pointer arithmetic]' - '-Wpointer-compare[warn when a pointer is compared with a zero character constant]' - '-Wpointer-sign[warn when a pointer differs in signedness in an assignment]' - '-Wpointer-to-int-cast[warn when a pointer is cast to an integer of a different size]' - '-Wpoison-system-directories[warn for -I and -L options using system directories if cross compiling]' - '-Wpragmas[warn about misuses of pragmas]' - '-Wproperty-assign-default[warn if a property for an Objective-C object has no assign semantics specified]' - '-Wprotocol[warn if inherited methods are unimplemented]' - '-Wpsabi[warn about psabi]' - '-Wrealloc-lhs-all[warn when a left-hand-side variable is reallocated]' - '-Wrealloc-lhs[warn when a left-hand-side array variable is reallocated]' - '-Wreal-q-constant[warn about real-literal-constants with '\'q\'' exponent-letter]' - '-Wredundant-decls[warn about multiple declarations of the same object]' - '-Wregister[warn about uses of register storage specifier]' - '-Wreorder[warn when the compiler reorders code]' - '-Wrestrict[warn when an argument passed to a restrict- qualified parameter aliases with another argument]' - '-Wreturn-local-addr[warn about returning a pointer/reference to a local or temporary variable]' - '-Wreturn-type[warn whenever a function'\''s return type defaults to "int" (C), or about inconsistent return types (C++)]' - '-Wscalar-storage-order[warn on suspicious constructs involving reverse scalar storage order]' - '-Wselector[warn if a selector has multiple methods]' - '-Wsequence-point[warn about possible violations of sequence point rules]' - '-Wshadow-ivar[warn if a local declaration hides an instance variable]' - '-Wshadow[warn when one variable shadows another. Same as -Wshadow=global]' - '-Wshift-count-negative[warn if shift count is negative]' - '-Wshift-count-overflow[warn if shift count >= width of type]' - '-Wshift-negative-value[warn if left shifting a negative value]' - '-Wshift-overflow[warn if left shift of a signed value overflows. Same as -Wshift-overflow=]' - '-Wshift-overflow=[warn if left shift of a signed value overflows]:level:(1 2)' - '-Wsign-compare[warn about signed-unsigned comparisons]' - '-Wsign-conversion[warn for implicit type conversions between signed and unsigned integers]' - '-Wsign-promo[warn when overload promotes from unsigned to signed]' - '-Wsized-deallocation[warn about missing sized deallocation functions]' - '-Wsizeof-array-argument[warn when sizeof is applied on a parameter declared as an array]' - '-Wsizeof-pointer-memaccess[warn about suspicious length parameters to certain string functions if the argument uses sizeof]' - '-Wstack-protector[warn when not issuing stack smashing protection for some reason]' - '-Wstack-usage=[warn if stack usage might be larger than specified amount]:bytes: ' - '-Wstrict-aliasing[warn about code which might break strict aliasing rules]' - '-Wstrict-aliasing=-[warn about code which might break strict aliasing rules]:level of checking (higher is more accurate):(1 2 3)' - '-Wstrict-null-sentinel[warn about uncasted NULL used as sentinel]' - '-Wstrict-overflow[warn about optimizations that assume that signed overflow is undefined]' - '-Wstrict-overflow=-[warn about optimizations that assume that signed overflow is undefined]:level of checking (higher finds more cases):(1 2 3 4 5)' - '-Wstrict-prototypes[warn about unprototyped function declarations]' - '-Wstrict-selector-match[warn if type signatures of candidate methods do not match exactly]' - '-Wstringop-overflow=[under the control of Object Size type, warn about buffer overflow in string manipulation functions like memcpy and strcpy]:level:(1 2 3 4)' - '-Wstringop-overflow[warn about buffer overflow in string manipulation functions like memcpy and strcpy. Same as -Wstringop-overflow=]' - '-Wsubobject-linkage[warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage]' - '*-Wsuggest-attribute=-[warn about functions that might be candidates for attributes]:attribute:(pure const noreturn format)' - '-Wsuggest-final-methods[warn about C++ virtual methods where adding final keyword would improve code quality]' - '-Wsuggest-final-types[warn about C++ polymorphic types where adding final keyword would improve code quality]' - '-Wsuggest-override[suggest that the override keyword be used when the declaration of a virtual function overrides another]' - '-Wsurprising[warn about "suspicious" constructs]' - '-Wswitch-bool[warn about switches with boolean controlling expression]' - '-Wswitch-default[warn about enumerated switches missing a "default-" statement]' - '-Wswitch-enum[warn about all enumerated switches missing a specific case]' - '-Wswitch-unreachable[warn about statements between switch'\''s controlling expression and the first case]' - '-Wswitch[warn about enumerated switches, with no default, missing a case]' - '-Wsync-nand[warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used]' - '-Wsynth[deprecated. This switch has no effect]' - '-Wsystem-headers[do not suppress warnings from system headers]' - '-Wtabs[permit nonconforming uses of the tab character]' - '-Wtarget-lifetime[warn if the pointer in a pointer assignment might outlive its target]' - '-Wtautological-compare[warn if a comparison always evaluates to true or false]' - '-Wtemplates[warn on primary template declaration]' - '-Wterminate[warn if a throw expression will always result in a call to terminate()]' - '-W[this switch is deprecated; use -Wextra instead]' - '-Wtraditional-conversion[warn of prototypes causing type conversions different from what would happen in the absence of prototype]' - '-Wtraditional[warn about features not present in traditional C]' - '-Wtrampolines[warn whenever a trampoline is generated]' - '-Wtrigraphs[warn if trigraphs are encountered that might affect the meaning of the program]' - '-Wtype-limits[warn if a comparison is always true or always false due to the limited range of the data type]' - '-Wundeclared-selector[warn about @selector()s without previously declared methods]' - '-Wundefined-do-loop[warn about an invalid DO loop]' - '-Wundef[warn if an undefined macro is used in an #if directive]' - '-Wunderflow[warn about underflow of numerical constant expressions]' - '-Wuninitialized[warn about uninitialized automatic variables]' - '-Wunknown-pragmas[warn about unrecognized pragmas]' - '-Wunsafe-loop-optimizations[warn if the loop cannot be optimized due to nontrivial assumptions]' - '-Wunsuffixed-float-constants[warn about unsuffixed float constants]' - '-Wunused-but-set-parameter[warn when a function parameter is only set, otherwise unused]' - '-Wunused-but-set-variable[warn when a variable is only set, otherwise unused]' - '-Wunused-const-variable[warn when a const variable is unused. Same as -Wunused-const-variable=]' - '-Wunused-const-variable=[warn when a const variable is unused]:level:(1 2)' - '-Wunused-dummy-argument[warn about unused dummy arguments]' - '-Wunused[enable all -Wunused- warnings]' - '-Wunused-function[warn when a function is unused]' - '-Wunused-label[warn when a label is unused]' - '-Wunused-local-typedefs[warn when typedefs locally defined in a function are not used]' - '-Wunused-macros[warn about macros defined in the main file that are not used]' - '-Wunused-parameter[warn when a function parameter is unused]' - '-Wunused-result[warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value]' - '-Wunused-value[warn when an expression value is unused]' - '-Wunused-variable[warn when a variable is unused]' - '-Wuseless-cast[warn about useless casts]' - '-Wuse-without-only[warn about USE statements that have no ONLY qualifier]' - '-Wvarargs[warn about questionable usage of the macros used to retrieve variable arguments]' - '-Wvariadic-macros[warn about using variadic macros]' - '-Wvector-operation-performance[warn when a vector operation is compiled outside the SIMD]' - '-Wvirtual-inheritance[warn on direct virtual inheritance]' - '-Wvirtual-move-assign[warn if a virtual base has a non-trivial move assignment operator]' - '-Wvla-larger-than=[warn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes]:bytes: ' - '-Wvla[warn if a variable length array is used]' - '-Wvolatile-register-var[warn when a register variable is declared volatile]' - '-Wwrite-strings[in C++, nonzero means warn about deprecated conversion from string literals to '\''char *'\''. In C, similar warning, except that the conversion is]' - '-Wzero-as-null-pointer-constant[warn when a literal '\''0'\'' is used as null pointer]' - '-Wzerotrip[warn about zero-trip DO loops]' -) - -# clang specific warnings -if [[ "$service" = clang* ]]; then - warnings+=( - '-Wlarge-by-value-copy=[warn on large by value copy]:argument' - '-Wunreachable-code-aggressive[controls -Wunreachable-code, -Wunreachable-code-break, -Wunreachable-code-return]' - '-Wunreachable-code-break[warn when break will never be executed]' - '-Wunreachable-code-loop-increment[warn when loop will be executed only once]' - '-Wunreachable-code-return[warn when return will not be executed]' - '-Wunreachable-code[warn on code that will not be executed]' - ) -else - warnings+=( - '-Wunreachable-code[does nothing. Preserved for backward compatibility]' - ) -fi - -args+=( - {'*-A-','*--assert='}'[make an assertion]:define assertion:' - '--all-warnings[display all warnings]' - {-ansi,--ansi}'[same as -std=c89 or -std=c++98]' - '-aux-info[emit declaration information into <file>]:file:_files' - {'-B-','--prefix='}'[add <prefix> to the compiler'\''s search paths]:executable prefix:_files -/' - '-b[specify target machine to compile to]:target machine:' - {-CC,--comments-in-macros}'[do not discard comments, including macro expansion]' - {-C,--comments}'[do not discard comments during preprocess]' - {-c,--compile}'[compile and assemble, but do not link]' - {'*-D-','*--define-macro='}'[define a macro]:define macro:' - '-d-[dump the state of the preprocessor]:dump:->dump' - '--dependencies[generate Makefile dependencies]' - '-dumpbase[set the file basename to be used for dumps]:file:_files' - '-dumpdir[set the directory name to be used for dumps]:file:_files -/' - '-dumpmachine[display the compiler'\''s target processor]' - '-dumpspecs[display all of the built in spec strings]' - '-dumpversion[display the version of the compiler]' - '+e-[control how virtual function definitions are used]:virtual function definitions in classes:((0\:only\ interface 1\:generate\ code))' - {-e,--entry}'[specify program entry point is entry]:entry' - {-E,--preprocess}'[preprocess only; do not compile, assemble or link]' - '-fabi-version=-[use specified C++ ABI version]:ABI version [0]:(0 1 2 3 4 5 6 7 8 9 10 11 12 13)' - '-fada-spec-parent=[dump Ada specs as child units of given parent]' - '-faggressive-loop-optimizations[aggressively optimize loops using language constraints]' - '-falign-functions[align the start of functions]' - '-falign-jumps[align labels which are only reached by jumping]' - '-falign-labels[align all labels]' - '-falign-loops[align the start of loops]' - '-fallow-parameterless-variadic-functions[allow variadic functions without named parameter]' - '-fasm[recognize the asm keyword]' - '-fassociative-math[allow optimization for floating-point arithmetic which may change the result of the operation due to rounding]' - '-fasynchronous-unwind-tables[generate unwind tables that are exact at each instruction boundary]' - '-fauto-inc-dec[generate auto-inc/dec instructions]' - '-fbounds-check[generate code to check bounds before indexing arrays]' - '-fbranch-count-reg[replace add, compare, branch with branch on count register]' - '-fbranch-probabilities[use profiling information for branch probabilities]' - '-fbranch-target-load-optimize2[perform branch target load optimization after prologue / epilogue threading]' - '-fbranch-target-load-optimize[perform branch target load optimization before prologue / epilogue threading]' - '-fbtr-bb-exclusive[restrict target load migration not to re-use registers in any basic block]' - '-fbuilding-libgcc[specify building libgcc]' - '-fbuiltin[recognize builtin functions]' - '-fcaller-saves[save registers around function calls]' - '-fcall-saved--[mark <register> as being preserved across functions]:register' - '-fcall-used--[mark <register> as being corrupted by function calls]:register' - '-fcanonical-system-headers[where shorter use canonicalized paths to system headers]' - '-fcheck-data-deps[compare the results of several data dependence analyzers]' - '-fcheck-pointer-bounds[add pointer bounds checker instrumentation]' - '-fchkp-check-incomplete-type[generate pointer bounds check for variables with incomplete type]' - '-fchkp-check-read[generate checks for all read accesses to memory]' - '-fchkp-check-write[generate checks for all write accesses to memory]' - '-fchkp-first-field-has-own-bounds[forces checker to use narrowed bounds for address of the first field]' - '-fchkp-instrument-calls[generate bounds passing for calls]' - '-fchkp-instrument-marked-only[instrument only functions marked with bnd_instrument attribute]' - '-fchkp-narrow-bounds[control how checker handle pointers to object fields]' - '-fchkp-narrow-to-innermost-array[forces checker to use bounds of the innermost arrays in case of nested static array access]' - '-fchkp-optimize[allow checker optimizations]' - '-fchkp-store-bounds[generate bounds stores for pointer writes]' - '-fchkp-treat-zero-dynamic-size-as-infinite[with this option zero size obtained dynamically for objects with incomplete type will be treated as infinite]' - '-fchkp-use-fast-string-functions[allow to use *_nobnd versions of string functions]' - '-fchkp-use-nochk-string-functions[allow to use *_nochk versions of string functions]' - '-fchkp-use-static-bounds[use statically initialized variable for vars bounds instead of generating them each time it is required]' - '-fchkp-use-static-const-bounds[use statically initialized variable for constant bounds]' - '-fchkp-use-wrappers[transform instrumented builtin calls into calls to wrappers]' - '-fchkp-zero-input-bounds-for-main[use zero bounds for all incoming arguments in main function]' - '-fcilkplus[enable Cilk Plus]' - '-fcode-hoisting[enable code hoisting]' - '-fcombine-stack-adjustments[looks for opportunities to reduce stack adjustments and stack references]' - '-fcommon[do not put uninitialized globals in the common section]' - '-fcompare-debug=-[compile with and without e.g. -gtoggle, and compare the final-insns dump]:opts:' # TODO: complete gcc options here - '-fcompare-debug-second[run only the second compilation of -fcompare-debug]' - '-fcompare-elim[perform comparison elimination after register allocation has finished]' - '-fcond-mismatch[allow the arguments of the ? operator to have different types]' - '-fconserve-stack[do not perform optimizations increasing noticeably stack usage]' - '-fcprop-registers[perform a register copy-propagation optimization pass]' - '-fcrossjumping[perform cross-jumping optimization]' - '-fcse-follow-jumps[when running CSE, follow jumps to their targets]' - '-fcx-fortran-rules[complex multiplication and division follow Fortran rules]' - '-fcx-limited-range[omit range reduction step when performing complex division]' - '-fdata-sections[place data items into their own section]' - '-fdbg-cnt=-[,<counter>-<limit>,...) Set the debug counter limit]:counter\:limit,...: ' # TODO: gcc -fdbg-cnt-list -x c /dev/null -o /dev/null -c - '-fdbg-cnt-list[list all available debugging counters with their limits and counts]' - '-fdce[use the RTL dead code elimination pass]' - '-fdebug-cpp[emit debug annotations during preprocessing]' - '-fdebug-prefix-map=-[map one directory name to another in debug information]:/old/dir=/new/dir:->dirtodir' - '-fdebug-types-section[output .debug_types section when using DWARF v4 debuginfo]' - '-fdefer-pop[defer popping functions args from stack until later]' - '-fdelayed-branch[attempt to fill delay slots of branch instructions]' - '-fdelete-dead-exceptions[delete dead instructions that may throw exceptions]' - '-fdelete-null-pointer-checks[delete useless null pointer checks]' - '-fdevirtualize-speculatively[perform speculative devirtualization]' - '-fdevirtualize[try to convert virtual calls to direct ones]' - '-fdiagnostics-color=-[colorize diagnostics]::color:(never always auto)' - '-fdiagnostics-generate-patch[print fix-it hints to stderr in unified diff format]' - '-fdiagnostics-parseable-fixits[print fixit hints in machine-readable form]' - '-fdiagnostics-show-caret[show the source line with a caret indicating the column]' - '-fdiagnostics-show-location=-[how often to emit source location at the beginning of line-wrapped diagnostics]:source location:(once every-line)' - '-fdiagnostics-show-option[amend appropriate diagnostic messages with the command line option that controls them]' - '-fdirectives-only[preprocess directives only]' - '-fdollars-in-identifiers[permit $ as an identifier character]' - '-fdse[use the RTL dead store elimination pass]' - '-fdump-ada-spec-slim[write all declarations as Ada code for the given file only]' - '-fdump-ada-spec[write all declarations as Ada code transitively]' - '-fdump-final-insns=-[dump to filename the insns at the end of translation]:filename:_files' - '-fdump-go-spec=-[write all declarations to file as Go code]:filename:_files' - '-fdump-noaddr[suppress output of addresses in debugging dumps]' - '-fdump-passes[dump optimization passes]' - '-fdump-unnumbered-links[suppress output of previous and next insn numbers in debugging dumps]' - '-fdump-unnumbered[suppress output of instruction numbers, line number notes and addresses in debugging dumps]' - '-fdwarf2-cfi-asm[enable CFI tables via GAS assembler directives]' - '-fearly-inlining[perform early inlining]' - '-feliminate-dwarf2-dups[perform DWARF2 duplicate elimination]' - '-feliminate-unused-debug-symbols[perform unused type elimination in debug info]' - '-feliminate-unused-debug-types[perform unused type elimination in debug info]' - '-femit-class-debug-always[do not suppress C++ class debug information]' - '-femit-struct-debug-baseonly[aggressive reduced debug info for structs]' - '-femit-struct-debug-detailed=-[detailed reduced debug info for structs]:spec list [all]' - '-femit-struct-debug-reduced[conservative reduced debug info for structs]' - '-fexceptions[enable exception handling]' - '-fexcess-precision=-[specify handling of excess floating-point precision]:precision handling:(fast standard)' - '-fexec-charset=-[convert all strings and character constants to character set]:character set [UTF-8]' - '-fexpensive-optimizations[perform a number of minor, expensive optimizations]' - '-fextended-identifiers[permit universal character names in identifiers]' - '-ffast-math[sets -fno-math-errno, -funsafe-math-optimizations, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and -fcx-limited-range]' - '-ffat-lto-objects[output lto objects containing both the intermediate language and binary output]' - '-ffinite-math-only[assume no NaNs or infinities are generated]' - '-ffixed--[mark <register> as being unavailable to the compiler]:register' - '-ffloat-store[don'\''t allocate floats and doubles in extended- precision registers]' - '-fforward-propagate[perform a forward propagation pass on RTL]' - '-ffp-contract=-[perform floating-point expression contraction]:style [fast]:(on off fast)' - '-ffp-int-builtin-inexact[allow built-in functions ceil, floor, round, trunc to raise "inexact" exceptions]' - '-ffreestanding[do not assume that standard C libraries and main exist]' - '-ffunction-cse[allow function addresses to be held in registers]' - '-ffunction-sections[place each function into its own section]' - '-fgcse-after-reload[perform global common subexpression elimination after register allocation has finished]' - '-fgcse-las[perform redundant load after store elimination in global common subexpression elimination]' - '-fgcse-lm[perform enhanced load motion during global common subexpression elimination]' - '-fgcse[perform global common subexpression elimination]' - '-fgcse-sm[perform store motion after global common subexpression elimination]' - '-fgnu89-inline[use traditional GNU semantics for inline functions]' - '-fgnu-tm[enable support for GNU transactional memory]' - '-fgraphite[enable in and out of Graphite representation]' - '-fgraphite-identity[enable Graphite Identity transformation]' - '-fguess-branch-probability[enable guessing of branch probabilities]' - '-fhoist-adjacent-loads[enable hoisting adjacent loads to encourage generating conditional move instructions]' - '-fhosted[assume normal C execution environment]' - '-fif-conversion2[perform conversion of conditional jumps to conditional execution]' - '-fif-conversion[perform conversion of conditional jumps to branchless equivalents]' - '-findirect-inlining[perform indirect inlining]' - '-finhibit-size-directive[do not generate .size directives]' - '-finline-atomics[inline __atomic operations when a lock free instruction sequence is available]' - '-finline[enable inlining of function declared "inline", disabling disables all inlining]' - '-finline-functions-called-once[integrate functions only required by their single caller]' - '-finline-functions[integrate functions not declared "inline" into their callers when profitable]' - '-finline-limit=-[limit the size of inlined functions to <number>]:number: ' - '-finline-small-functions[integrate functions into their callers when code size is known not to grow]' - '-finput-charset=[specify the default character set for source files]:character set' - '-finstrument-functions-exclude-file-list=-[do not instrument functions listed in files]:comma-separated file list:->commafiles' - '-finstrument-functions-exclude-function-list=-[do not instrument listed functions]:comma-separated list of syms: ' - '-finstrument-functions[instrument function entry and exit with profiling calls]' - '-fipa-bit-cp[perform interprocedural bitwise constant propagation]' - '-fipa-cp-clone[perform cloning to make Interprocedural constant propagation stronger]' - '-fipa-cp[perform interprocedural constant propagation]' - '-fipa-icf-functions[perform Identical Code Folding for functions]' - '-fipa-icf[perform Identical Code Folding for functions and read-only variables]' - '-fipa-icf-variables[perform Identical Code Folding for variables]' - '-fipa-profile[perform interprocedural profile propagation]' - '-fipa-pta[perform interprocedural points-to analysis]' - '-fipa-pure-const[discover pure and const functions]' - '-fipa-ra[use caller save register across calls if possible]' - '-fipa-reference[discover readonly and non addressable static variables]' - '-fipa-sra[perform interprocedural reduction of aggregates]' - '-fipa-vrp[perform IPA Value Range Propagation]' - '-fira-algorithm=[set the used IRA algorithm]:algorithm:(cb priority)' - '-fira-hoist-pressure[use IRA based register pressure calculation in RTL hoist optimizations]' - '-fira-loop-pressure[use IRA based register pressure calculation in RTL loop optimizations]' - '-fira-region=-[set regions for IRA]:region:(all mixed one)' - '-fira-region=[set regions for IRA]:region:(one all mixed)' - '-fira-share-save-slots[share slots for saving different hard registers]' - '-fira-share-spill-slots[share stack slots for spilled pseudo-registers]' - '-fira-verbose=-[control IRA'\''s level of diagnostic messages]:verbosity: ' - '-fisolate-erroneous-paths-attribute[detect paths that trigger erroneous or undefined behavior due to a null value being used in a way forbidden by a returns_nonnull or]' - '-fisolate-erroneous-paths-dereference[detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main]' - '-fivopts[optimize induction variables on trees]' - '-fjump-tables[use jump tables for sufficiently large switch statements]' - '-fkeep-inline-functions[generate code for functions even if they are fully inlined]' - '-fkeep-static-consts[emit static const variables even if they are not used]' - '-flax-vector-conversions[allow implicit conversions between vectors with differing numbers of subparts and/or differing element types]' - '-fleading-underscore[give external symbols a leading underscore]' - '-flifetime-dse[tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes]' - '-flive-range-shrinkage[relief of register pressure through live range shrinkage]' - '-floop-nest-optimize[enable the loop nest optimizer]' - '-floop-parallelize-all[mark all loops as parallel]' - '-flra-remat[do CFG-sensitive rematerialization in LRA]' - '-flto-compression-level=-[use specified zlib compression level for IL]:compression level: ' - '-flto-odr-type-merging[merge C++ types using One Definition Rule]' - '-flto-partition=-[partition symbols and vars at linktime based on object files they originate from]:partitioning algorithm:(1to1 balanced max one none)' - '-flto-report[report various link-time optimization statistics]' - '-fmath-errno[set errno after built-in math functions]' - '-fmax-errors=-[maximum number of errors to report]:errors: ' - '-fmem-report[report on permanent memory allocation]' - '-fmem-report-wpa[report on permanent memory allocation in WPA only]' - '-fmerge-all-constants[attempt to merge identical constants and constant variables]' - '-fmerge-constants[attempt to merge identical constants across compilation units]' - '-fmerge-debug-strings[attempt to merge identical debug strings across compilation units]' - '-fmessage-length=-[limit diagnostics to <number> characters per line. 0 suppresses line-wrapping]:length: ' - '-fmodulo-sched-allow-regmoves[perform SMS based modulo scheduling with register moves allowed]' - '-fmodulo-sched[perform SMS based modulo scheduling before the first scheduling pass]' - '-fmove-loop-invariants[move loop invariant computations out of loops]' - "-fms-extensions[don't warn about uses of Microsoft extensions]" - '-fmudflapir[this switch lacks documentation]' - '-fmudflap[this switch lacks documentation]' - '-fmudflapth[this switch lacks documentation]' - '-fnon-call-exceptions[support synchronous non-call exceptions]' - '-fno-stack-limit[do not limit the size of the stack]' - '-fno-threadsafe-statics[do not generate thread-safe code for initializing local statics]' - '-fnothrow-opt[treat a throw() exception specification as noexcept to improve code size]' - '-fomit-frame-pointer[when possible do not generate stack frames]' - '-fopenacc[enable OpenACC]' - '-fopenmp[enable OpenMP (implies -frecursive in Fortran)]' - "-fopenmp-simd[enable OpenMP's SIMD directives]" - '-foptimize-sibling-calls[optimize sibling and tail recursive calls]' - '-foptimize-strlen[enable string length optimizations on trees]' - '-fopt-info[enable all optimization info dumps on stderr]' - '-fopt-info-type=-[dump compiler optimization details]:filename:_files' - '-fpack-struct[pack structure members together without holes]' - '-fpack-struct=[set initial maximum structure member alignment]:alignment (power of 2): ' - '-fpartial-inlining[perform partial inlining]' - '-fpcc-struct-return[return small aggregates in memory, not registers]' - '-fpch-deps[this switch lacks documentation]' - '-fpch-preprocess[look for and use PCH files even when preprocessing]' - '-fpeel-loops[perform loop peeling]' - '-fpeephole2[enable an RTL peephole pass before sched2]' - '-fpeephole[enable machine specific peephole optimizations]' - '-fPIC[generate position-independent code if possible (large mode)]' - '-fpic[generate position-independent code if possible (small mode)]' - '-fPIE[generate position-independent code for executables if possible (large mode)]' - '-fpie[generate position-independent code for executables if possible (small mode)]' - '-fplan9-extensions[enable Plan 9 language extensions]' - '-fplt[use PLT for PIC calls (-fno-plt- load the address from GOT at call site)]' - '-fplugin-arg--[specify argument <key>=<value> for plugin <name>]:-fplugin-arg-name-key=value: ' #TODO - '-fplugin=-[specify a plugin to load]:plugin: ' # TODO: complete plugins? - '-fpost-ipa-mem-report[report on memory allocation before interprocedural optimization]' - '-fpredictive-commoning[run predictive commoning optimization]' - '-fprefetch-loop-arrays[generate prefetch instructions, if available, for arrays in loops]' - '-fpre-ipa-mem-report[report on memory allocation before interprocedural optimization]' - '-fpreprocessed[treat the input file as already preprocessed]' - '-fprintf-return-value[treat known sprintf return values as constants]' - '-fprofile-arcs[insert arc-based program profiling code]' - '-fprofile-correction[enable correction of flow inconsistent profile data input]' - '-fprofile-dir=-[set the top-level directory for storing the profile data]:profile directory:_files -/' - '-fprofile[enable basic program profiling code]' - '-fprofile-generate[enable common options for generating profile info for profile feedback directed optimizations]' - '-fprofile-report[report on consistency of profile]' - '-fprofile-use[enable common options for performing profile feedback directed optimizations]' - '-fprofile-values[insert code to profile values of expressions]' - '-frandom-seed=-[use <string> as random seed]:seed: ' - '-freciprocal-math[same as -fassociative-math for expressions which include division]' - '-frecord-gcc-switches[record gcc command line switches in the object file]' - '-free[turn on Redundant Extensions Elimination pass]' - '-freg-struct-return[return small aggregates in registers]' - '-frename-registers[perform a register renaming optimization pass]' - '-freorder-blocks-algorithm=[set the used basic block reordering algorithm]:algorithm:(simple stc)' - '-freorder-blocks-and-partition[reorder basic blocks and partition into hot and cold sections]' - '-freorder-blocks[reorder basic blocks to improve code placement]' - '-freorder-functions[reorder functions to improve code placement]' - '-frequire-return-statement[functions which return values must end with return statements]' - '-frerun-cse-after-loop[add a common subexpression elimination pass after loop optimizations]' - '-freschedule-modulo-scheduled-loops[enable/disable the traditional scheduling in loops that already passed modulo scheduling]' - '-frounding-math[disable optimizations that assume default FP rounding behavior]' - '-frtti[generate run time type descriptor information]' - "-fsanitize=-[enable AddressSanitizer, a memory error detector]:style:($sanitizers)" - '-fsched2-use-superblocks[if scheduling post reload, do superblock scheduling]' - '-fsched-critical-path-heuristic[enable the critical path heuristic in the scheduler]' - '-fsched-dep-count-heuristic[enable the dependent count heuristic in the scheduler]' - '-fsched-group-heuristic[enable the group heuristic in the scheduler]' - '-fsched-interblock[enable scheduling across basic blocks]' - '-fsched-last-insn-heuristic[enable the last instruction heuristic in the scheduler]' - '-fsched-pressure[enable register pressure sensitive insn scheduling]' - '-fsched-rank-heuristic[enable the rank heuristic in the scheduler]' - '-fsched-spec[allow speculative motion of non-loads]' - '-fsched-spec-insn-heuristic[enable the speculative instruction heuristic in the scheduler]' - '-fsched-spec-load[allow speculative motion of some loads]' - '-fsched-spec-load-dangerous[allow speculative motion of more loads]' - '-fsched-stalled-insns[allow premature scheduling of queued insns]' - '-fsched-stalled-insns-dep[set dependence distance checking in premature scheduling of queued insns]' - '-fsched-stalled-insns-dep=[set dependence distance checking in premature scheduling of queued insns]:insns:' - '-fsched-stalled-insns-dep=-[set dependence distance checking in premature scheduling of queued insns]:instructions: ' - '-fsched-stalled-insns=[set number of queued insns that can be prematurely scheduled]:insns:' - '-fsched-stalled-insns=-[set number of queued insns that can be prematurely scheduled]:instructions: ' - '-fschedule-fusion[perform a target dependent instruction fusion optimization pass]' - '-fschedule-insns2[reschedule instructions after register allocation]' - '-fschedule-insns[reschedule instructions before register allocation]' - '-fsched-verbose=-[set the verbosity level of the scheduler]:verbosity: ' - '-fsection-anchors[access data in the same section from shared anchor points]' - '-fselective-scheduling2[run selective scheduling after reload]' - '-fselective-scheduling[schedule instructions using selective scheduling algorithm]' - '-fsel-sched-pipelining-outer-loops[perform software pipelining of outer loops during selective scheduling]' - '-fsel-sched-pipelining[perform software pipelining of inner loops during selective scheduling]' - '-fsel-sched-reschedule-pipelined[reschedule pipelined regions without pipelining]' - '-fshort-double[use the same size for double as for float]' - '-fshort-enums[use the narrowest integer type possible for enumeration types]' - '-fshort-wchar[force the underlying type for "wchar_t" to be "unsigned short"]' - '-fshow-column[show column numbers in diagnostics, when available]' - '-fshrink-wrap[emit function prologues only before parts of the function that need it, rather than at the top of the function]' - '-fshrink-wrap-separate[shrink-wrap parts of the prologue and epilogue separately]' - '-fsignaling-nans[disable optimizations observable by IEEE signaling NaNs]' - '-fsigned-bitfields[when signed or unsigned is not given make the bitfield signed]' - '-fsigned-char[make char signed by default]' - '-fsigned-zeros[disable floating point optimizations that ignore the IEEE signedness of zero]' - '-fsimd-cost-model=[specifies the vectorization cost model for code marked with a simd directive]:model:(unlimited dynamic cheap)' - '-fsingle-precision-constant[convert floating point constants to single precision constants]' - '-fsplit-ivs-in-unroller[split lifetimes of induction variables when loops are unrolled]' - '-fsplit-loops[perform loop splitting]' - '-fsplit-paths[split paths leading to loop backedges]' - '-fsplit-stack[generate discontiguous stack frames]' - '-fsplit-wide-types[split wide types into independent registers]' - '-fssa-backprop[enable backward propagation of use properties at the SSA level]' - '-fssa-phiopt[optimize conditional patterns using SSA PHI nodes]' - '-fstack-check=-[insert stack checking code into the program. -fstack-check=specific if to argument given]:type:(none generic specific)' - '-fstack-limit-register=-[trap if the stack goes past <register>]:register: ' - '-fstack-limit-symbol=-[trap if the stack goes past symbol <name>]:name: ' - '-fstack-protector-all[use a stack protection method for every function]' - '-fstack-protector-explicit[use stack protection method only for functions with the stack_protect attribute]' - '-fstack-protector-strong[use a smart stack protection method for certain functions]' - '-fstack-protector[use propolice as a stack protection method]' - '-fstack-reuse=[set stack reuse level for local variables]:level:(all named_vars none)' - '-fstack-reuse=-[set stack reuse level for local variables]:reuse-level:(all named_vars none)' - '-fstack-usage[output stack usage information on a per-function basis]' - '-fstdarg-opt[optimize amount of stdarg registers saved to stack at start of function]' - '-fstore-merging[merge adjacent stores]' - '-fstrict-aliasing[assume strict aliasing rules apply]' - '-fstrict-enums[assume that values of enumeration type are always within the minimum range of that type]' - '-fstrict-overflow[treat signed overflow as undefined]' - '-fstrict-volatile-bitfields[force bitfield accesses to match their type width]' - '-fsync-libcalls[implement __atomic operations via libcalls to legacy __sync functions]' - '-fsyntax-only[check for syntax errors, then stop]' - '-ftabstop=[distance between tab stops for column reporting]:number' - '-ftest-coverage[create data files needed by "gcov"]' - '-fthread-jumps[perform jump threading optimizations]' - '-ftime-report[report the time taken by each compiler pass]' - '-ftls-model=-[set the default thread-local storage code generation model]:TLS model:(global-dynamic local-dynamic initial-exec local-exec)' - '-ftracer[perform superblock formation via tail duplication]' - '-ftrack-macro-expansion=[track locations of tokens coming from macro expansion and display them in error messages]::argument' - '-ftrapping-math[assume floating-point operations can trap]' - '-ftrapv[trap for signed overflow in addition, subtraction and multiplication]' - '-ftree-bit-ccp[enable SSA-BIT-CCP optimization on trees]' - '-ftree-builtin-call-dce[enable conditional dead code elimination for builtin calls]' - '-ftree-ccp[enable SSA-CCP optimization on trees]' - '-ftree-ch[enable loop header copying on trees]' - '-ftree-coalesce-vars[enable SSA coalescing of user variables]' - '-ftree-copy-prop[enable copy propagation on trees]' - '-ftree-cselim[transform condition stores into unconditional ones]' - '-ftree-dce[enable SSA dead code elimination optimization on trees]' - '-ftree-dominator-opts[enable dominator optimizations]' - '-ftree-dse[enable dead store elimination]' - '-ftree-forwprop[enable forward propagation on trees]' - '-ftree-fre[enable Full Redundancy Elimination (FRE) on trees]' - '-ftree-loop-distribute-patterns[enable loop distribution for patterns transformed into a library call]' - '-ftree-loop-distribution[enable loop distribution on trees]' - '-ftree-loop-if-convert[convert conditional jumps in innermost loops to branchless equivalents]' - '-ftree-loop-im[enable loop invariant motion on trees]' - '-ftree-loop-ivcanon[create canonical induction variables in loops]' - '-ftree-loop-linear[enable loop interchange transforms. Same as -floop-interchange]' - '-ftree-loop-optimize[enable loop optimizations on tree level]' - '-ftree-loop-vectorize[enable loop vectorization on trees]' - '-ftree-lrs[perform live range splitting during the SSA- >normal pass]' - '-ftree-parallelize-loops=[enable automatic parallelization of loops]' - '-ftree-parallelize-loops=-[enable automatic parallelization of loops]:threads: ' - '-ftree-partial-pre[in SSA-PRE optimization on trees, enable partial- partial redundancy elimination]' - '-ftree-phiprop[enable hoisting loads from conditional pointers]' - '-ftree-pre[enable SSA-PRE optimization on trees]' - '-ftree-pta[perform function-local points-to analysis on trees]' - '-ftree-reassoc[enable reassociation on tree level]' - '-ftree-scev-cprop[enable copy propagation of scalar-evolution information]' - '-ftree-sink[enable SSA code sinking on trees]' - '-ftree-slp-vectorize[enable basic block vectorization (SLP) on trees]' - '-ftree-slsr[perform straight-line strength reduction]' - '-ftree-sra[perform scalar replacement of aggregates]' - '-ftree-switch-conversion[perform conversions of switch initializations]' - '-ftree-tail-merge[enable tail merging on trees]' - '-ftree-ter[replace temporary expressions in the SSA->normal pass]' - '-ftree-vectorize[enable vectorization on trees]' - '-ftree-vrp[perform Value Range Propagation on trees]' - '-funconstrained-commons[assume common declarations may be overridden with ones with a larger trailing array]' - '-funroll-all-loops[perform loop unrolling for all loops]' - '-funroll-loops[perform loop unrolling when iteration count is known]' - '-funsafe-loop-optimizations[allow loop optimizations to assume that the loops behave in normal way]' - '-funsafe-math-optimizations[allow math optimizations that may violate IEEE or ISO standards]' - '-funsigned-bitfields[when signed or unsigned is not given make the bitfield unsigned]' - '-funsigned-char[make char unsigned by default]' - '-funswitch-loops[perform loop unswitching]' - '-funwind-tables[just generate unwind tables for exception handling]' - '-fuse-ld=-[use the specified linker instead of the default linker]:linker:(bfd gold)' - '-fuse-linker-plugin[use linker plugin during link-time optimization]' - '-fvariable-expansion-in-unroller[apply variable expansion when loops are unrolled]' - '-fvar-tracking-assignments[perform variable tracking by annotating assignments]' - '-fvar-tracking-assignments-toggle[toggle -fvar-tracking-assignments]' - '-fvar-tracking[perform variable tracking]' - '-fvar-tracking-uninit[perform variable tracking and also tag variables that are uninitialized]' - '-fvect-cost-model=[specifies the cost model for vectorization]:model:(unlimited dynamic cheap)' - '-fverbose-asm[add extra commentary to assembler output]' - '-fvisibility=-[set the default symbol visibility]:visibility:(default internal hidden protected)' - '-fvpt[use expression value profiles in optimizations]' - '-fweb[construct webs and split unrelated uses of single variable]' - '-fwhole-program[perform whole program optimizations]' - '-fwide-exec-charset=[convert all wide strings and character constants to character set]:character set' - '-fworking-directory[generate a #line directive pointing at the current working directory]' - '-fwrapv[assume signed arithmetic overflow wraps around]' - '-fzero-initialized-in-bss[put zero initialized data in the bss section]' - {-g-,--debug=}'[generate debug information]::debugging information type or level:(0 1 2 3 gdb gdb0 gdb1 gdb2 gdb3 coff stabs stabs+ dwarf dwarf+ dwarf-2 dwarf-3 dwarf-4 dwarf-5 dwarf32 dwarf64 xcoff xcoff+)' - '-gno-pubnames[don'\''t generate DWARF pubnames and pubtypes sections]' - '-gno-record-gcc-switches[don'\''t record gcc command line switches in DWARF DW_AT_producer]' - '-gno-split-dwarf[don'\''t generate debug information in separate .dwo files]' - '-gno-strict-dwarf[emit DWARF additions beyond selected version]' - '-gpubnames[generate DWARF pubnames and pubtypes sections]' - '-grecord-gcc-switches[record gcc command line switches in DWARF DW_AT_producer]' - '-gsplit-dwarf[generate debug information in separate .dwo files]' - '-gstrict-dwarf[don'\''t emit DWARF additions beyond selected version]' - '-gtoggle[toggle debug information generation]' - '-gvms[generate debug information in VMS format]' - '--help[display this information]' - {-H,--trace-includes}'[print name of each header file used]' - {'*-idirafter','*--include-directory-after='}'[add directory after include search path]:second include path directory:_files -/' - {'*-I-','*--include-directory='}'[add directory to include search path]:header file search path:_files -/' - {'*-imacros','*--imacros='}'[include macros from file before parsing]:macro input file:_files -g \*.h\(-.\)' - '-imultiarch[set <dir> to be the multiarch include subdirectory]:directory:_files -/' #XXX not in manpage - '-imultilib=[set dir to be the multilib include subdirectory]:dir:_files -/' - '--include-barrier[restrict all prior -I flags to double-quoted inclusion and remove current directory from include path]' - {'*-include=','*--include='}'[include file before parsing]:include file:_files -g \*.h\(-.\)' - '-iplugindir=-[set <dir> to be the default plugin directory]:directory:_files -/' - {'*-iprefix','*--include-prefix='}'[set the -iwithprefix prefix]:prefix:_files' - '-iquote=[add dir to the end of the quote include path]:dir:_files -/' - '-isysroot=[set dir to be the system root directory]:dir:_files -/' - '*-isystem[add directory to system include search path]:second include path directory (system):_files -/' - {'*-iwithprefixbefore','*--include-with-prefix-before='}'[set directory to include search path with prefix]:main include path directory:_files -/' - {'*-iwithprefix','*--include-with-prefix=','*--include-with-prefix-after='}'[set directory to system include search path with prefix]:second include path directory:_files -/' - '*-L-[add directory to library search path]:library search path:_files -/' - '-lang-asm[set lang asm]' - '*-l+[include library found in search path]:library:->library' - '-MF[write dependency output to the given file]:file:_files' - '-MJ[write a compilation database entry per input]' - '-MQ[add a make-quoted target]:target' - '*-M-[set flags for generating Makefile dependencies]::output dependencies:->dependencies' - '-MT[add an unquoted target]:target' - '-no-canonical-prefixes[do not canonicalize paths when building relative prefixes to other gcc components]' - '-nodefaultlibs[do not use the standard system libraries when linking]' - '-nostartfiles[do not use the standard system startup files when linking]' - {-nostdinc,--no-standard-includes}'[do not search standard system directories or compiler builtin directories for include files]' - '-nostdlib[do not use standard system startup files or libraries when linking]' - {-O-,--optimize=-}'[control the optimization]::optimization level:((0 1 2 3 g\:optimize\ for\ debugging\ experience s\:optimize\ for\ space fast\:optimize\ for\ speed\ disregarding\ exact\ standards\ compliance))' - {-o,--output=}'[write output to file]:output file:_files -g "^*.(c|h|cc|C|cxx|cpp|hpp)(-.)"' - '--output-pch=[output pch]' - '--param[set parameter <param> to value. See manpage for a complete list of parameters]:name=value' - '-pass-exit-codes[exit with highest error code from a phase]' - {-pedantic-errors,--pedantic-errors}'[like -pedantic but issue them as errors]' - {-pedantic,--pedantic}'[issue all mandatory diagnostics in the C standard]' - '(-pg)-p[enable function profiling for prof]' - '-pie[create a position independent executable]' - {-pipe,--pipe}'[use pipes rather than intermediate files]' - {-P,--no-line-commands}'[inhibit generation of linkemakers during preprocess]' - '(-p)-pg[enable function profiling for gprof]' - '-###[print commands to run this compilation]' - '-print-file-name=-[display the full path to library <library>]:library:->library' - '-print-libgcc-file-name[display the name of the compiler'\''s companion library]' - '--print-missing-file-dependencies[print missing file dependencies]' - '-print-multiarch[display the target'\''s normalized GNU triplet, used as a component in the library path]' - '-print-multi-directory[display the root directory for versions of libgcc]' - '-print-multi-lib[display the mapping between command line options and multiple library search directories]' - '-print-multi-os-directory[display the relative path to OS libraries]' - '-print-prog-name=-[display the full path to compiler component <program>]:program:' - '-print-search-dirs[display the directories in the compiler'\''s search path]' - '-print-sysroot[display the target libraries directory]' - '-print-sysroot-headers-suffix[display the sysroot suffix used to find headers]' - {-Qn,-fno-ident}'[do not emit metadata containing compiler name and version]' - '-quiet[do not display functions compiled or elapsed time]' - {-Qy,-fident}'[emit metadata containing compiler name and version]' - '-rdynamic[pass the flag -export-dynamic to the ELF linker, on targets that support it]' - '-remap[remap file names when including files]' - {-S,--assemble}'[compile only; do not assemble or link]' - '-save-stats=-[save code generation statistics]:location:(cwd obj)' - '-save-temps[do not delete intermediate files]' - '-shared[create a shared library]' - '-shared-libgcc[force shared libgcc]' - '*-specs=-[override built-in specs with the contents of <file>]:file:_files' - '-s[remove all symbol table and relocation information from the executable]' - '-static-libgcc[force static libgcc]' - '-static[on systems that support dynamic linking, this prevents linking with the shared libraries]' - {'-std=-','--std='}'[assume that the input sources are for specified standard]:standard:(c90 c89 iso9899\:1990 iso9899\:199409 c99 iso9899\:1999 c11 iso9899\:2011 gnu90 gnu89 gnu99 gnu11 c++98 c++03 gnu++98 gnu++03 c++11 gnu++11 c++1y gnu++1y c++14 gnu++14 c++1z gnu++1z c++17 iso9899\:2017 gnu++17 c++2a gnu++2a)' - '-symbolic[bind references to global symbols when building a shared object]' - '--sysroot=-[use <directory> as the root directory for headers and libraries]:directory:_files -/' - '--target-help[display target specific command line options]' - '-time[time the execution of each subprocess]' - {-traditional-cpp,--traditional-cpp}'[use traditional preprocessor]' - {-trigraphs,--trigraphs}'[process trigraph sequences]' - '-T[specify linker script]:linker script:_files' - '-undef[do not predefine system specific and gcc specific macros]' - '*-u[pretend symbol to be undefined]:symbol:' - '--user-dependencies[print user dependencies]' - {'*-U-','*--undefine-macro='}'[undefine a macro]:undefine macro:' - '-version[display the compiler'\''s version]' - '--version[display version information]' - '-V[specify compiler version]:compiler version:' - {-v,--verbose}'[enable verbose output]' - '*-Wa,-[pass arguments to the assembler]:assembler option:' - '--warn--[enable the specified warning]:warning:->warning' - '*-Werror=-[treat specified warning as error (or all if none specified)]::warning:->warning' - '-Wfatal-errors[exit on the first error occurred]' - '*-Wl,-[pass arguments to the linker]:linker option:' - {-w,--no-warnings}'[suppress warnings]' - '*-Wp,-[pass arguments to the preprocessor]:preprocessor option:' - '--write-dependencies[write a depfile containing user and system dependencies]' - '--write-user-dependencies[write a depfile containing user dependencies]' - '*-Xassembler[pass argument to the assembler]:assembler option:' - '*-Xlinker[pass argument to the linker]:linker option:' - '*-Xpreprocessor[pass argument to the preprocessor]:preprocessor option:' - '-x[specify the language of the following input files]:input file language:('"$languages"')' -) - -# not meant for end users -#'-fdisable--pass=-[disables an optimization pass]:range1+range2: ' -#'-fdisable-[disables an optimization pass]' -#'-fenable--pass=-[enables an optimization pass]:range1+range2: ' -#'-fenable-[enables an optimization pass]' -#'-fdump-<type>[dump various compiler internals to a file]' - -args+=($warnings) - -# How to mostly autogenerate the above stuff: -# joinhelplines() { sed '$!N;s/^\( -.*\)\n \s*\([^-]\)/\1 \2/;P;D' } -# gcc-x86() { gcc --help=target,\^undocumented | joinhelplines | joinhelplines } -# compdef _gnu_generic gcc-x86 -# printf '%s\n' ${(onq-)_args_cache_gcc_x86} - -# TODO: -fno-<TAB> and -mno-<TAB> match lots of non-existent options. -_arguments -C -M 'L:|-{fWm}no-=-{fWm} r:|[_-]=* r:|=*' \ - "$args[@]" \ - "$args2[@]" && ret=0 - -case "$state" in -dump) - local -a dump_values=( - 'A[verbose assembly output]' - 'D[macro definitions and normal output]' - 'I[include directives and normal output]' - 'J[after last jump optimization]' - 'L[after loop optimization]' - 'M[only macro definitions]' - 'N[macro names]' - 'R[after second instruction scheduling pass]' - 'S[after first instruction scheduling pass]' - 'a[all dumps]' - 'c[after instruction combination]' - 'd[after delayed branch scheduling]' - 'f[after flow analysis]' - 'g[after global register allocation]' - 'j[after jump optimization]' - 'k[after conversion from registers to stack]' - 'l[after local register allocation]' - 'm[print memory usage statistics]' - 'p[annotate assembler output]' - 'r[after RTL generation]' - 's[after CSE]' - 't[after second CSE pass]' - 'x[only generate RTL]' - 'y[debugging information during parsing]' - ) - _values -s '' 'dump information' $dump_values && ret=0 - ;; -dependencies) - local -a dependencies=( - 'D:generate make dependencies and compile' - 'G:treat missing header files as generated' - 'M:only user header files' - 'MD:output to file' - 'P:generate phony targets for all headers' - 'V:use NMake/Jom format for the depfile' - ) - _describe dependencies dependencies && ret=0 - ;; -library) - # TODO: improve defaults for library_path (e.g., use output of clang -Wl,-v) - local -a library_path=( /usr/lib /usr/local/lib ) - case $OSTYPE in - (darwin*) - library_path+=( $(xcrun --show-sdk-path)/usr/lib ) - ;; - (linux-gnu) - local tmp - tmp=$(_call_program library-paths $words[1] -print-multiarch) - if [[ $tmp != '' && -d /usr/lib/$tmp ]]; then - library_path+=( /usr/lib/$tmp ) - elif [[ -d /usr/lib64 ]]; then - library_path+=( /usr/lib64 ) - fi - ;; - esac - # Add directories from -L options - for ((i = 2; i < $#words; i++)); do - if [[ "$words[i]" = -L ]]; then - library_path+=("$words[++i]") - elif [[ "$words[i]" = -L* ]]; then - library_path+=("${words[i]##-L}") - fi - done - _wanted libraries expl library \ - compadd - $library_path/lib*.(a|so*|dylib)(:t:fr:s/lib//) && ret=0 - ;; -rundir) - compset -P '*:' - compset -S ':*' - _files -/ -S/ -r '\n\t\- /:' "$@" && ret=0 - ;; -help) - _values -s , 'help' \ - optimizers warnings target params common \ - c c++ objc objc++ lto ada adascil adawhy fortran go java \ - {\^,}undocumented {\^,}joined {\^,}separate \ - && ret=0 - ;; -dirtodir) - compset -P '*=' - _files -/ && ret=0 - ;; -commafiles) - compset -P '*,' - _files && ret=0 - ;; -framework) - local -a framework_path=() - case $OSTYPE in - darwin*) - framework_path=( $(xcrun --show-sdk-path)/System/Library/Frameworks ) ;; - esac - # Add directories from -F options - for ((i = 2; i < $#words; i++)); do - if [[ "$words[i]" = -F ]]; then - framework_path+=("$words[++i]") - elif [[ "$words[i]" = -F* ]]; then - framework_path+=("${words[i]##-F}") - fi - done - _wanted frameworks expl framework \ - compadd -- $framework_path/*.framework(:t:r) && ret=0 - ;; -warning) - local -a warning_names - for warning in $warnings; do - if [[ "$warning" = (#b)-W([^=\[]##)[^\[]#\[(*)\]* ]]; then - warning_names+=("$match[1]:$match[2]") - fi - done - _describe warning warning_names && ret=0 - ;; -arch) - _wanted cputypes expl "CPU type" compadd -a arch && ret=0 - ;; -archgeneric) - arch+=(generic) - _wanted cputypes expl "CPU type" compadd -a arch && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcore b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcore deleted file mode 100644 index a31a8126..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gcore +++ /dev/null @@ -1,68 +0,0 @@ -#compdef gcore - -case $OSTYPE in - solaris*) - local -a content - - content=( - 'anon[anonymous private mappings]' - 'ctf[CTF type information]' - 'data[writable private file mappings]' - 'dism[DISM mappings]' - 'heap[process heap]' - 'ism[ISM mappings]' - 'rodata[read-only private file mappings]' - 'shanon[anonymous shared mappings]' - 'shfile[file-backed shared mappings]' - 'shm[System V shared memory]' - 'stack[process stack]' - 'symtab[symbol table sections for loaded files]' - 'text[readable and executable private file mappings]' - ) - - _arguments -s \ - '(-c -g)-p[use per-process core file repository]' \ - '(-c -p)-g[use global core file repository]' \ - '-F[force grabbing the target process]' \ - '(-p -g)-c[set core file content]: :_values -s + "content" $content' \ - '-o[set core file base name]:file base name:_files' \ - '*:pid:_pids' - ;; - netbsd*) - _arguments \ - '-c+[write core file to specified file]:file:_files' \ - '*:pid:_pids' - ;; - dragonfly*) - _arguments -s \ - '-c+[write core file to specified file]:file:_files' \ - '-l+[skip map segments larger than the specified limit]:limit (bytes)' \ - '-s[stop the process while gathering the core image]' \ - '-v[Verbosely print out the map segments being dumped]' \ - '::executable:' \ - ':pid:_pids' - ;; - freebsd*) - _arguments -s \ - '-c+[write core file to specified file]:file:_files' \ - '-f[dump all available segments]' \ - '::executable:' \ - ':pid:_pids' - ;; - darwin*) - _arguments -s -A '-*' \ - '-s[suspend the process while the core file is captured]' \ - '-v[report progress on the dump as it proceeds]' \ - '-b+[specify maximum size of core file]:size (MiB): ' \ - '(-c)-o+[write core file to specified file]:file:_files' \ - '(-o)-c+[specify format of core file name]:format (%%N\:program name, %%U\:uid, %%P\:pid, %%T\:time stamp)' \ - '1:pid:_pids' - ;; - *) - # GNU GDB gcore - _arguments -s -A '-*' \ - '-a[dump all memory mappings]' \ - '-o+[set core file base name]:file base name:_files' \ - '*:pid:_pids' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gdb b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gdb deleted file mode 100644 index 6bdd5594..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gdb +++ /dev/null @@ -1,55 +0,0 @@ -#compdef gdb - -local cur="$words[CURRENT]" prev w list ret=1 expl - -[[ "$PREFIX" = --* ]] && - _arguments -- '*=(CORE|SYM)FILE:core file:_files' \ - '*=EXECFILE:executable:_files -g \*\(-\*\)' \ - '*=TTY: :_ttys -o' && return 0 - -if compset -P '-(cd|directory)='; then - _files -/ -elif compset -P '-tty='; then - _ttys -o -elif compset -P '-(exec|se)='; then - _description files expl executable - _files "$expl[@]" -g '*(-*)' -elif compset -P '-(symbols|core|command)='; then - _files -elif compset -P '--pid='; then - _pids -elif [[ "$PREFIX" = -* ]]; then - _tags options - while _tags; do - while _next_label options expl option; do - compadd "$expl[@]" -QS '' - -symbols\= -exec\= -se\= -core\= -command\= \ - -directory\= -cd\= -tty\= && ret=0 - compadd "$expl[@]" - -help -h -s -e -c -x -d -nx -n -quiet -q \ - -batch -fullname -f -b && ret=0 - done - (( ret )) || return 0 - done -else - prev="$words[CURRENT-1]" - - case "$prev" in - (-d) _files -/ && return 0 ;; - (-[csx]) _files && return 0 ;; - (-e) _description files expl executable - _files "$expl[@]" -g '*(-*)' && return 0 ;; - (-b) _baudrates && return 0 ;; - esac - - w=( "${(@)words[2,CURRENT-1]}" ) - while [[ "$w[1]" = -* ]]; do - [[ "$w[1]" = -(cd|se|tty|[decsxb]) ]] && shift 1 w - shift 1 w - done - - if [[ $#w -gt 1 ]]; then - _alternative "files:: _files -g '*core*(-.)'" "processes:: _pids -m ${w[1]:t}" - else - _description files expl executable - _files "$expl[@]" -g '*(-*)' - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_geany b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_geany deleted file mode 100644 index c6a9ae11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_geany +++ /dev/null @@ -1,30 +0,0 @@ -#compdef geany - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -s -S \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)--help-all[display all options]" \ - "${ign}(- *)--help-gtk[display GTK+ Options]" \ - '--column=[set initial column number for the first opened file]:column number' \ - '(-c --config)'{-c,--config=}'[use an alternate configuration directory]:configuration directory:_directories' \ - "${ign}(- *)--ft-names[print internal filetype names]" \ - {-g,--generate-tags}'[generate global tags file]:tags file:_files -g "*.tags(-.)":*:source file:_files' \ - '(-P --no-preprocessing)'{-P,--no-preprocessing}"[don't preprocess C/C++ files when generating tags]" \ - '(-i --new-instance --socket-file)'{-i,--new-instance}"[don't open files in a running instance, force opening a new instance]" \ - '(-i --new-instance)--socket-file=[use specified socket file to communicate with a Geany instance]:socket:_files -g "*(-=)"' \ - "${ign}(- *)--list-documents[return a list of open documents in a running Geany instance]" \ - '(-l --line)'{-l,--line=}'[set initial line number for the first opened file]:line number' \ - '(-m --no-msgwin)'{-m,--no-msgwin}"[don't show message window at startup]" \ - '(-n --no-ctags)'{-n,--no-ctags}"[don't load completion and call tip data]" \ - '(-p --no-plugins)'{-p,--no-plugins}"[don't load plugins]" \ - "${ign}(- *)--print-prefix[print Geany's installation prefix]" \ - '(-r --read-only)'{-r,--read-only}'[open all given files in read-only mode]' \ - '(-s --no-session)'{-s,--no-session}"[don't load the previous session's files]" \ - '(-t --no-terminal --vte-lib)'{-t,--no-terminal}"[don't load terminal support]" \ - '(-t --no-terminal)--vte-lib=[specify path and filename of VTE library]:libvte.so filename:_files -g "*.so(-.)"' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - "${ign}(- *)"{-V,--version}'[display version information]' \ - '--display=[specify X display to use]:display:_x_display' \ - '(-g --generate-tags)*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gem b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gem deleted file mode 100644 index 7d81619b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gem +++ /dev/null @@ -1,328 +0,0 @@ -#compdef gem -P gem[0-9.]# - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args def -local -a args cmds helptopics proxy lropts filter -local cmd="unknown" - -proxy=( - '(-p --http-proxy)'{-p,--http-proxy=}'[use HTTP proxy for remote operations]:proxy url:_urls' -) -lropts=( $proxy - '${def[local]}(-l --local -r --remote -b --both)'{-l,--local}'[restrict operations to the LOCAL domain]' - '${def[remote]}(-l --local -r --remote -b --both)'{-r,--remote}'[restrict operations to the REMOTE domain]' - '${def[both]}(-l --local -r --remote -b --both)'{-b,--both}'[allow LOCAL and REMOTE operations]' - '(-B --bulk-threshold)'{-B,--bulk-threshold=}'[specify threshold for switching to bulk synchronization]:threshold [1000]' - '--clear-sources[clear the gem sources]' - \*{-s,--source=}'[append specified URL to list of gem sources]:url:_urls' -) - -_arguments -C -s \ - '(* -)'{-h,--help}'[display usage information]' \ - '(* -)'{-v,--version}'[display version information]' \ - '*::command:->command' && ret=0 - -if [[ $state = command ]]; then - if (( CURRENT == 1 )); then - cmd=subcommands - else - cmds=( - build cert check cleanup contents dependency environment fetch - generate_index help install info list lock mirror open outdated owner - pristine push query rdoc search server signin signout sources - specification stale uninstall unpack update which yank - ) - cmds=( ${(M)cmds:#${words[1]}*} ) - if (( ${#cmds} == 1 )) || [[ $cmds[1] = install ]]; then - cmd="$cmds[1]" - curcontext="${curcontext%:*:*}:gem-${cmd}:" - fi - fi - case $cmd in - help) - helptopics=( - 'commands:list all gem commands' - 'examples:show some examples of usage' - 'gem_dependencies:gem dependencies file guide' - 'platforms:show information about platforms' - ) - _describe -t topics 'help topic' helptopics -- && ret=0 - ;& - subcommands) - cmds=( ${${${(M)${(f)"$(_call_program commands gem help commands)"}:# [^ ]*}## #}/ ##/:} ) - _describe -t commands 'gem command' cmds -- && ret=0 - return ret - ;; - check|cleanup|contents|dependency|list|open|pristine|rdoc|uninstall|unpack|update) - args+=( '(--all --skip)*:installed gem:->gems-local' ) - ;| - install) - (( ${(M)#line:#[^-]*} > 1 )) && args+=( - '(*)--[specify build options]:*:build option:_default' - ) - ;| - fetch|install|lock|owner|search|yank) - args+=( '*:gem:->gems-remote' ) - ;| - cleanup|uninstall) - args+=( '(-D --check-development)'{-D,--check-development}'[check development dependencies while uninstalling]' ) - ;| - contents|pristine|rdoc) - args+=( '(*)--all[apply to all installed gems]' ) - ;| - info|list|query) def[local]='!' ;| - search) def[remote]='!' ;| - info|list|query|search) - args+=( ${(e)lropts} - '(-a --all)'{-a,--all}'[display all gem versions]' - '(-e --exact)'{-e,--exact}'[use exact string matching instead of regex]' - '(-I --no-installed -i --installed)'{-i,--installed}'[check if gem is installed]' - '(-I --no-installed -i --installed)'{-I,--no-installed}'[check if gem is not installed]' - '--no-versions[display only gem names]' - ) - ;| - list|query|search) - args+=( - '(-d --details)'{-d,--details}'[display detailed gem information]' - '!(-d --details)--no-details' - ) - ;| - check|contents|dependency|fetch|install|list|open|pristine|query|rdoc|search|specification|uninstall|unpack|yank) - args+=( '(-v --version)'{-v,--version=}'[specify version of gem]:version' ) - ;| - dependency|fetch|install|outdated|specification|uninstall|update|yank) - args+=( '--platform=[specify the platform of gem]:platform' ) - ;| - dependency|fetch|install|list|query|search|specification|update) - args+=( '--prerelease[include prerelease versions of a gem]' '!(--prerelease)--no-prerelease' ) - ;| - install|unpack|update) - args+=( '(-P --trust-policy)'{-P,--trust-policy=}'[specify gem trust policy]:policy' ) - ;| - install|update) - def[both]='!' - args+=( ${(e)lropts} - '(-N --no-document)--document=[generate documentation for installed gems]::documentation type:_sequence compadd - rdoc ri' - '(-N --no-document --document)'{-N,--no-document}'[disable documentation generation]' - '--build-root=[specify temporary installation root]:directory:_directories' - '--vendor[install gem into the vendor directory]' - '(-f --force)'{-f,--force}'[force gem to install, bypassing dependency checks]' - "(-w --wrappers)--no-wrappers[don't install bin wrappers]" - '--format-executable[add matching version suffix on executables to ruby]' - "--user-install[install in user's home directory]" - '--development[install additional development dependencies]' - '--development-all[install development dependencies for all gems]' - "--conservative[don't attempt to upgrade gems already meeting version requirement]" - "--minimal-deps[don't upgrade any dependencies that already meet version requirements]" - '--post-install-message[print post install message]' - '(-g --file)'{-g,--file=}'[read from a gem dependencies API file and install the listed gems]:file:_files' - '--without=[omit the named groups when installing gem dependencies]:group' - "--default[add the gem's full specification to specifications/default and extract only its bin]" - '--explain[rather than install the gems, indicate which would be installed]' - "--no-lock[don't create a lock file]" - '--suggestions[suggest alternates when gems are not found]' - ) - ;| - (un|)install|pristine|update) - args+=( - '(-n --bindir)'{-n,--bindir=}'[specify directory where binary files are located]:directory:_directories' - ) - ;| - (un|)install|update) - args+=( - '--ignore-dependencies[ignore dependency requirements]' - '(-i --install-dir)'{-i,--install-dir=}'[specify gem repository directory to get installed gems]:directory:_directories' - ) - ;| - owner|push) - args+=( $proxy ) - ;| - owner|push|yank) - args+=( '(-k --key)'{-k,--key=}'[use specified API key from ~/.gem/credentials]:key name' ) - ;| - owner|push|signin|yank) - args+=( '--host=[use another gemcutter-compatible host]:host:_urls' ) - ;| - owner|push|signin) - args+=( '--otp=[specify digit code for multifactor authentication]:code' ) - ;| - install|pristine|update) - args+=( '(-E --env-shebang)'{-E,--env-shebang}'[rewrite executables with a shebang of /usr/bin/env]' ) - ;| - build) - args+=( - '(--strict)--force[skip validation of the spec]' - '(--force)--strict[consider warnings as errors when validating the spec]' - '(-o --output)'{-o+,--output=}'[output gem with the given filename]:file:_files' - '-C+[run as if specified directory was the current directory]:directory:_directories' - '1:gemspec file:_files -g "*.gemspec(-.)"' - ) - ;; - cert) - args+=( - '(-a --add)'{-a,--add=}'[add a trusted certificate.]:certificate' \ - '(-l --list)'{-l,--list=}'[list trusted certificates where the subject contains specified filter]:filter' - '(-r --remove)'{-r,--remove=}'[remove trusted certificates where the subject contains specified filter]:filter' - '(-b --build)'{-b,--build=}'[build private key and self-signed certificate for specified email address]:email address:_email_addresses -c' - '(-C --certificate)'{-C,--certificate=}'[specify signing certificate for --sign]:certificate' - '(-K --private-key)'{-K,--private-key=}'[specify key for --sign or --build]:key' - '(-s --sign)'{-s,--sign=}'[sign specified certificate with the key from -K and the certificate from -C]:certificate' - '(-d --days)'{-d,--days=}'[specify days before certificate expires]:days' - '(-R --re-sign)'{-R,--re-sign}'[re-sign the certificate]' - ) - ;; - check) - args+=( - "--no-alien[don't report \"unmanaged\" or rogue files in the gem repository]" - '--doctor[clean up uninstalled gems and broken specifications]' - "--dry-run[don't remove files, only report what would be removed]" - "--no-gems[don't check installed gems for problems]" - ) - ;; - cleanup) - args+=( - '(-n -d --dryrun)'{-n,-d,--dryrun}"[don't uninstall gems]" - "--user-install[cleanup in user's home directory instead of GEM_HOME]" - ) - ;; - contents) - args+=( - '(-s --spec-dir)'{-s,--spec-dir=}'[search for gems in specific paths]:path:_sequence _directories' - '(-l --lib-only)'{-l,--lib-only}"[only return files in the Gem's lib_dirs]" - '--no-prefix[include installed path prefix]' - '--show-install-dir[show only the gem install dir]' - ) - ;; - dependency) - def[local]='!' - args+=( ${(e)lropts} - '(-R --reverse-dependencies)'{-R,--reverse-dependencies}'[include reverse dependencies in the output]' - '--pipe[pipe format]' - ) - ;; - environment) - args+=( '1:information:(gemdir gempath version remotesources platform)' ) - ;; - fetch) - def=( both \! local \! remote \! ) - args+=( ${(e)lropts} ) - ;; - generate_index) - args+=( - '(-d --directory)'{-d,--directory=}'[specify repository base dir containing gems]:directory:_directories' - '--update[update modern indexes with gems added since the last update]' - ) - ;; - lock) - args+=( '(-s --strict)'{-s,--strict}'[fail if unable to satisfy a dependency]' ) - ;; - open) - args+=( '(-e --editor)'{-e,--editor=}'[open gem sources in specified editor]:editor:_command_names -e' ) - ;; - outdated) - args+=( ${(e)lropts} ) - ;; - owner) - args+=( - '(-a --add)'{-a,--add=}'[add an owner]:email:_email_addresses -c' - '(-r --remove)'{-r,--remove=}'[remove an owner]:email:_email_addresses -c' - ) - ;; - pristine) - args+=( - '(*)*--skip=[with --all, skip specified gem]:installed gem:->gems-local' - "--no-extensions[don't restore gems with extensions in addition to regular gems]" - '--only-executables[only restore executables]' - ) - ;; - push) - args+=( '1:gem file:_files -g "*.gem(-.)"' ) - ;; - query) - args+=( - '(-n --name-matches)'{-n,--name-matches=}'[specify regex to match against gem names]:gem name (regex):->gems-local' - ) - ;; - rdoc) - args+=( - '--rdoc[generate RDoc HTML]' - '--no-ri[generate RI data]' - '--overwrite[overwrite installed documents]' - ) - ;; - server) - args+=( - '(-p --port)'{-p,--port=}'[specify port to listen on]:port [8808]:_ports' - '(-d --dir)'{-d,--dir=}'[specify directories from which to serve gems]:directory:_directories' - '--daemon[run as a daemon]' - '(-b --bind)'{-b,--bind=}'[specify addresses to bind]:host:_sequence _hosts' - '(-l --launch)'{-l,--launch=}'[launch a browser window]:command:_command_names -e' - ) - ;; - sources) - args+=( $proxy - '(-a --add)'{-a,--add=}'[add source]:source URI:_urls' - '(-l --list)'{-l,--list}'[list sources]' - '(-r --remove)'{-r,--remove=}'[remove source]:source URI:_urls' - '(-c --clear-all)'{-c,--clear-all}'[remove all sources (clear the cache)]' - '(-u --update)'{-u,--update}'[update source cache]' - ) - ;; - specification) - def[local]='!' - args+=( ${(e)lropts} - '--all[output specifications for all versions of the gem]' - '!(--ruby --marshal)--yaml' '(--ruby --json)--marshal' '(--marshal --json 2)--ruby' - '1:gem:->gems-local' - '2:gemspec field:(name description version platform authors autorequire bindir cert_chain date dependencies email executable executables extensions extra_rdoc_files files homepage licenses metadata post_install_message rdoc_options require_paths required_ruby_version requirements rubyforge_project rubygems_version signing_key specification_version summary test_files)' - ) - ;; - uninstall) - args+=( - '(-a --all)'{-a,--all}'[uninstall all matching versions]' - '(-x --executables)'{-x,--executables}'[uninstall applicable executables without confirmation]' - "--no-user-install[uninstall from user's home directory]" - "--format-executable[assume executable names match Ruby's prefix and suffix]" - '--force[uninstall all versions of the named gems ignoring dependencies]' - '--abort-on-dependent[prevent uninstalling gems that are depended on by other gems]' - '--vendor[uninstall gem from the vendor directory]' - ) - ;; - unpack) - args+=( - '--spec[unpack the gem specification]' - '--target=[specify target directory for unpacking]:directory:_directories' - ) - ;; - update) - args+=( '--system[update the RubyGems system software]::version' ) - ;; - which) - args+=( - '(-a --all)'{-a,--all}'[show all matching files]' - '(-g --gems-first)'{-g,--gems-first}'[search gems before non-gems]' - '*:file:_files' - ) - ;; - yank) - args+=( '--otp=[specify code for multifactor authentication]:code' ) - ;; - esac - _arguments -C ${args:-'*: :_default'} \ - '(-)'{-h,--help}'[display usage information]' \ - '(-V --verbose --no-verbose)'{-V,--verbose,--no-verbose}'[set verbose level of output]' \ - '(-q --quiet -V --verbose --no-verbose)'{-q,--quiet}'[silence commands progress meter]' \ - '--silent[silence rubygems output]' \ - '--config-file=[use specified config file]:file:_files' \ - '--backtrace[show stack backtrace on errors]' \ - '--debug[turn on ruby debugging]' \ - '--norc[avoid loading any .gemrc file]' && ret=0 - - if [[ $state == gems* ]]; then - filter=( ${${opt_args[(I)-([lbr]|-local|-remote|-both)]}:-${${(M)state:#*-*}/gems-/--}} ) - _description gems expl gem - compadd "$expl[@]" ${${(f)"$(_call_program gems gem list $filter -q --no-versions)"}%% *} && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_generic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_generic deleted file mode 100644 index 0a18b568..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_generic +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -if [[ -n $ZSH_TRACE_GENERIC_WIDGET ]]; then - local widget=$ZSH_TRACE_GENERIC_WIDGET - unset ZSH_TRACE_GENERIC_WIDGET - $widget _generic - return -fi - -local curcontext="${curcontext:-}" - -if [[ -z "$curcontext" ]]; then - curcontext="${WIDGET}:::" -else - curcontext="${WIDGET}:${curcontext#*:}" -fi - -_main_complete "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_genisoimage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_genisoimage deleted file mode 100644 index e0a5f2ab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_genisoimage +++ /dev/null @@ -1,46 +0,0 @@ -#compdef genisoimage - -_arguments \ - '-nobak[do not include backup files]' \ - '-no-bak[do not include backup files]' \ - '-abstract:abstract filename:_files' \ - '(-A -appid)'{-A,-appid}':application ID:' \ - '-biblio:bibliographic filename:_files' \ - '-cache-inodes[cache inodes]' \ - '-no-cache-inodes[do not cache inodes]' \ - '-check-oldnames[check all imported ISO9660 names from old session]' \ - '-check-session[check all ISO9660 names from previous session]:_files' \ - '-copyright:copyright filename:_files' \ - '-debug[set debug flag]' \ - '(-b -eltorito-boot)'{-b,-eltorito-boot}':boot image:_files' \ - '-eltorito-alt-boot[start specifying alternative El Torito boot parameters]' \ - '(-B -sparc-boot)'{-B,-sparc-boot}':boot image:_files' \ - '-sunx86-boot:boot image:_files' \ - '(-G -generic-boot)'{-G,-generic-boot}':boot image:_files' \ - '-sparc-label:label text:' \ - '-sunx86-label:label text:' \ - '(-c -eltorito-catalog)'{-c,-eltorito-catalog}':catalog:_files' \ - '(-C -cdrecord-params)'{-C,-cdrecord-params}':params:' \ - '(-d -omit-period)'{-d,-omit-period}'[omit trailing periods from filenames]' \ - '-dir-mode:mode:' \ - '(-D -disable-deep-relocation)'{-D,-disable-deep-relocation}'[disable deep directory relocation]' \ - '-file-mode:mode:' \ - '(-f -follow-links)'{-f,-follow-links}'[follow symbolic links]' \ - '-gid:gid:' \ - '-graft-points[allow to use graft points for filenames]' \ - '-root:dir:_files -/' \ - '-old-root:dir:_files -/' \ - '-help[print option help]' \ - '-hide:globfile:_files' \ - '-hide-list:file list:_files' \ - '-hidden:globfile:_files' \ - '-hidden-list:file list:_files' \ - '-hide-joliet:globfile:_files' \ - '-hide-joliet-list:file list:_files' \ - '-hide-joliet-trans-tbl[hide TRANS.TBL from Joliet tree]' \ - '-hide-rr-moved[rename RR_MOVED to .rr_moved in Rock Ridge tree]' \ - '-gui[switch behaviour for GUI]' \ - '-input-charset:charset:' \ - '-output-charset:charset:' \ - '-iso-level:conformance level:(1 2 3 4)' \ - '*:pathspec:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getclip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getclip deleted file mode 100644 index 4a333f90..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getclip +++ /dev/null @@ -1,12 +0,0 @@ -#compdef getclip getclip.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[output text will have DOS line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[output text will have UNIX line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display brief usage message]' \ - '(-)--version[display version information]' \ - '(-)--license[display licensing information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getconf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getconf deleted file mode 100644 index 36f58226..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getconf +++ /dev/null @@ -1,109 +0,0 @@ -#compdef getconf - -local variant list_cmd ret=1 -local -a context expl line state state_descr args -local -A opt_args - -local -a syskeys posixkeys confkeys pathkeys1 pathkeys2 allkeys mykeys restkeys -syskeys=(ARG_MAX BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX - BC_STRING_MAX CHILD_MAX COLL_WEIGHTS_MAX EXPR_NEST_MAX LINE_MAX - NGROUPS_MAX OPEN_MAX RE_DUP_MAX STREAM_MAX TZNAME_MAX) -posixkeys=(_POSIX_CHILD_MAX _POSIX_LINK_MAX - _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX - _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX - _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VERSION - POSIX2_BC_BASE_MAX POSIX2_BC_DIM_MAX POSIX2_BC_SCALE_MAX - POSIX2_BC_STRING_MAX POSIX2_COLL_WEIGHTS_MAX POSIX2_EXPR_NEST_MAX - POSIX2_LINE_MAX POSIX2_RE_DUP_MAX POSIX2_VERSION POSIX2_C_BIND - POSIX2_C_DEV POSIX2_FORT_DEV POSIX2_FORT_RUN POSIX2_LOCALEDEF - POSIX2_SW_DEV _XOPEN_VERSION) -confkeys=(PATH GNU_LIBC_VERSION GNU_LIBPTHREAD_VERSION - LFS_CFLAGS LFS_LDFLAGS LFS_LIBS LFS_LINTFLAGS - LFS64_CFLAGS LFS64_LDFLAGS LFS64_LIBS LFS64_LINTFLAGS) -pathkeys1=(PIPE_BUF _POSIX_CHOWN_RESTRICTED - _POSIX_NO_TRUNC _POSIX_VDISABLE) -pathkeys2=(LINK_MAX MAX_CANON MAX_INPUT NAME_MAX PATH_MAX PIPE_BUF) -mykeys=($syskeys $posixkeys $confkeys $pathkeys1 $pathkeys2) - -if _pick_variant -r variant gnu='(Free Soft|GLIBC)' $OSTYPE --version; then - # GNU getconf doesn't use getopt(3), strangely - args+=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(1 -)-a[display all configuration variables and their values]' - '(-)-v[specify programming environment]: :->env' - ) - : ${list_cmd:='$words[1] -a'} - -else - [[ $variant == (netbsd*|solaris*) ]] && { - args+=( '(1 -)-a[display all configuration variables and their values]' ) - : ${list_cmd:='$words[1] -a'} - } - - [[ $variant == openbsd* ]] && { - args+=( - '(: - *)-l[display all system (non-path) configuration variables]' - '(: - *)-L[display all path configuration variables]' - ) - : ${list_cmd:='$words[1] -l; $words[1] -L'} - } - - [[ $variant == netbsd* ]] || - args+=( '(-)-v+[specify programming environment]: :->env' ) - - # This is a bit silly, but actually pretty accurate, where available - : ${list_cmd:=' - command strings -- ${${(Q)words[1]}:c} | - LC_ALL=C GREP_OPTIONS= command grep -xE \ - "_*[A-Z][A-Z0-9_]*_[A-Z0-9_]*|NZERO|PATH|[A-Z]+(BITS|SIZE)" - '} -fi - -_arguments -S -A '-*' : $args '1: :->var' '2: :_files' && ret=0 - -case $state in - env) - _wanted environments expl 'programming environment' compadd - \ - POSIX_V{6,7}_ILP32_OFF32 \ - POSIX_V{6,7}_ILP32_OFFBIG \ - POSIX_V{6,7}_LP64_OFF64 \ - POSIX_V{6,7}_LPBIG_OFFBIG \ - && ret=0 - ;; - var) - _tags syswideconfig pathconfig standardsconfig confstring restconfig - - allkeys=(${${(f)"$( _call_program variables $list_cmd )"}%%[=:[:space:]]*}) - restkeys=(${allkeys:|mykeys}) - - while _tags; do - _requested -V syswideconfig expl 'system-wide configuration variable' \ - compadd -S '' $syskeys && ret=0 - - _requested -V standardsconfig \ - expl 'system-standards configuration variable' \ - compadd -S '' $posixkeys && ret=0 - - _requested -V confstring \ - expl 'configuration-dependent string variable' \ - compadd -S '' $confkeys && ret=0 - - _requested pathconfig && - while _next_label -V pathconfig expl 'system path configuration variable'; do - compadd "$expl[@]" -S '' $pathkeys1 && ret=0 - compadd "$expl[@]" -S ' ' $pathkeys2 && ret=0 - done - - if (( ${#restkeys} )); then - _requested -V restconfig \ - expl 'remaining unclassified configuration variable' \ - compadd -S '' $restkeys && ret=0 - fi - - (( ret )) || break - done - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getent b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getent deleted file mode 100644 index b96852db..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getent +++ /dev/null @@ -1,65 +0,0 @@ -#compdef getent - -local curcontext="$curcontext" state line expl ret=1 -local services databases keys -local -a args -typeset -A opt_args - -if _pick_variant -r is_gnu gnu='(Free Soft|GNU|GLIBC|Gentoo)' unix --version; then - args+=( - '(- 1 *)'{-\?,--help}'[display help information]' - '(- 1 *)--usage[display a short usage message]' - '(- 1 *)'{-V,--version}'[display version information]' - '*'{-s+,--service=}'[specify service configuration to use]: :->services' - '(-i --no-idn)'{-i,--no-idn}'[disable IDN encoding]' - ) -fi - -_arguments -s -S -C "$args[@]" \ - '1:database:->databases' \ - '*:key:->keys' && ret=0 - -case $state in - services) - # @todo GNU getent supports both `-s svc` and `-s db:svc`; we only complete - # the former here - services=( {,/usr}/lib/{,*-linux-gnu/}libnss_*(N-.:fr:t:s/libnss_//) ) - _wanted services expl 'service or database:service' \ - compadd ${(u)services%-*} \ - && ret=0 - ;; - databases) - if [[ $is_gnu = gnu ]]; then - databases=( "${(@)${(@f)$(_call_program databases $words[1] --help \ - 2>/dev/null)}[(r)Supported*,-1]}" ) - databases=( "${=${(@)databases[2,${(@)databases[(i)]}-1]}}" ) - elif [[ $OSTYPE = freebsd* ]]; then - databases=( ${=${(f)"$(_call_program databases $words[1] 2>&1)"}[-1]} ) - else - databases=( passwd group hosts ipnodes services protocols ethers networks netmasks ) - fi - _wanted databases expl database compadd -a databases && ret=0 - ;; - keys) - keys=( ${(f)"$(_call_program keys $words[1] ${(kv)opt_args[(i)-s|--service]} $line[1] 2>/dev/null)"} ) - case $line[1] in - *hosts) _wanted keys expl key compadd ${=keys#* } && ret=0 ;; - networks|rpc|protocols|services) - _wanted keys expl key compadd ${=keys%% *} && ret=0 - ;; - aliases|passwd|shadow|group) - _wanted keys expl key compadd ${keys%%:*} && ret=0 - ;; - utmpx) - if (( CURRENT > 3 )); then - _files && ret=0 - else - _wanted keys expl key compadd active lastlogin log && ret=0 - fi - ;; - *) _message -e keys key;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getfacl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getfacl deleted file mode 100644 index 27b5ee1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getfacl +++ /dev/null @@ -1,30 +0,0 @@ -#compdef getfacl getfacl.exe - -if _pick_variant cygwin=cygwin unix --version; then -# cygwin 1.5.25 -_arguments -s -S \ - '(--all -a)'{-a,--all}'[display the filename, owner, group, and ACL of the file]' \ - '(--dir -d)'{-d,--dir}'[display the filename, owner, group, and default ACL of the directory]' \ - '(--noname -n)'{-n,--noname}'[display user and group IDs instead of names]' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '*: :_files' -else -_arguments -s -S \ - '(-a --access)'{-a,--access}'[display the file access control list only]' \ - '(-d --default)'{-d,--default}'[display the default access control list only]' \ - '(-c --omit-header)'{-c,--omit-header}"[don't display the comment header]" \ - '(-e --all-effective)'{-e,--all-effective}'[print all effective rights]' \ - '(-E --no-effective)'{-E,--no-effective}'[print no effective rights]' \ - '(-s --skip-base)'{-s,--skip-base}'[skip files that only have the base entries]' \ - '(-R --recursive)'{-R,--recursive}'[recurse into subdirectories]' \ - '(-L --logical)'{-L,--logical}'[logical walk, follow symbolic links]' \ - '(-P --physical)'{-P,--physical}"[physical walk, don't follow symbolic links]" \ - '(-t --tabular)'{-t,--tabular}'[use tabular output format]' \ - '(-n --numeric)'{-n,--numeric}'[print numeric user/group identifiers]' \ - '--one-file-system[skip files on different filesystems]' \ - '(-p --absolute-names)'{-p,--absolute-names}"[don't strip leading '/' in pathnames]" \ - '(- *)'{-v,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - '*: :_files' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getmail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getmail deleted file mode 100644 index 32fc1a99..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getmail +++ /dev/null @@ -1,27 +0,0 @@ -#compdef getmail - -_getmail_confiles() { - local -a a f - local expl - f=( ~/.getmail/*~$HOME/.getmail/oldmail*(.)) - a=(${f#~/.getmail/}) - _wanted getmail-conffile expl 'config file' compadd "$@" -a - a -} - -local -a arguments - arguments=( - '--version[show version]' - '(--help -h)'{--help,-h}'[display help]' - '(--getmaildir -g)'{--getmaildir=,-g+}'[specify config/data directory]:config directory:_directories' - \*{--rcfile=,-r+}'[specify configuration file]:config file:_getmail_confiles' - '--dump[dump configuration]' - '--trace[print extended information]' - '*:files:_files' - \*{--verbose,-v}'[verbose mode]' - '(--quiet -q)'{--quiet,-q}'[silent mode]' - '(--delete -d --dont-delete -l)'{--delete,-d}'[delete messages from server]' - '(--delete -d --dont-delete -l)'{--dont-delete,-l}"[don't delete messages from server]" - '(--new -n --all -a)'{--all,-a}'[retrieve all messages]' - '(--new -n --all -a)'{--new,-n}'[retrieve only new messages]' - ) -_arguments -s -S $arguments diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getopt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getopt deleted file mode 100644 index a8b0f6fc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_getopt +++ /dev/null @@ -1,29 +0,0 @@ -#compdef getopt ggetopt - -local -a args aopts - -# @todo BusyBox getopt is borrowed straight from util-linux, so they're nearly -# identical, but not quite: BusyBox doesn't have -h and -V and often doesn't -# support long options. So possibly this could be more accurate -if _pick_variant busybox=BusyBox util-linux='(enhanced|util-linux)' unix --version; then - args=( - '(-a --alternative)'{-a,--alternative}'[allow long options with single -]' - '(: -)'{-h,--help}'[display help information]' - '*'{-l+,--longoptions=}'[specify long options]:long options' - '(-n --name)'{-n+,--name=}'[specify program name]:program name' - '(1 -o --options)'{-o+,--options=}'[specify short options]:short options' - '(-q --quiet)'{-q,--quiet}'[suppress getopt(3) error messages]' - '(-Q --quiet-output)'{-Q,--quiet-output}'[suppress normal output]' - '(-s --shell)'{-s+,--shell=}'[specify shell quoting conventions]:shell:(bash csh tcsh sh)' - '(: -)'{-T,--test}'[test for enhanced getopt]' - '(-u --unquoted)'{-u,--unquoted}'[do not quote output]' - '(: -)'{-V,--version}'[display version information]' - '(-o --options)1: :_guard "^-*" "short options"' - '*:argument' - ) - [[ -n $POSIXLY_CORRECT ]] && aopts+=( -A '-*' ) -else - args=( '1:short options' '*:argument' ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ghostscript b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ghostscript deleted file mode 100644 index 2c6f40a3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ghostscript +++ /dev/null @@ -1,121 +0,0 @@ -#compdef gs ghostscript - -local -a specs names device - -device=( ${${path[1,CURRENT-1]}[(R)-sDEVICE=*]} ) - -if compset -N '-[-+@]'; then - if [[ CURRENT -eq 1 ]]; then - _pspdf - else - _message -e arguments 'userdict ARGUMENTS' - return 1 - fi -elif compset -P '@'; then - _files -else - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - _x_arguments -C \ - '-q[quiet startup]' \ - '-g-[set device size]:device size (<width>x<height>):' \ - '-r-[set resolution]:resolution (<val> or <x>x<y>):' \ - '-I+[add to library file search path]:directory:_dir_list' \ - \*-{d,D}'-[define name with definition]:def:->dname' \ - \*-{s,S}'-[define name with value]:def:->sname' \ - '-u[undefine name, cancelling -d or -s]:name:->uname' \ - '-P[look first in the current directory for library files]' \ - '-c[specify postscript code]:*[-@]*:postscript (-f to end)' \ - '-o+[specify OutputFile and enable -dPATCH and -dNOPAUSE options]: :->outfile' \ - '(- *)-'{h,\?}'[display useful options and available devices]' \ - '!-f-:PostScript or PDF file:_pspdf' \ - '*:PostScript or PDF file:_pspdf' && ret=0 - - [[ $state = sname ]] && compset -P '(stdout|OutputFile)=' && state=outfile - case "$state" in - dname) - if [[ "$PREFIX" = *\=* ]]; then - _message -e definition-values 'systemdict definition value' - else - names=( ${${(f)"$($words[1] -q -o /dev/null -DNODISPLAY -c 'systemdict { type /booleantype eq { = } if } forall')"}:#*[a-z]*} ) - _wanted boolean-definitions expl 'systemdict boolean definition' compadd -M 'm:{a-z}={A-Z}' -a names && ret=0 - names=( FirstPage LastPage - $($words[1] -q -o /dev/null $device -DNODISPLAY -c 'currentpagedevice { type /integertype eq { = } if } forall') ) - _wanted integer-definitions expl 'currentpagedevice integer definition' compadd -S = -M 'm:{a-z}={A-Z}' -a names && ret=0 - fi - ;; - sname) - if compset -P 1 '*='; then - case "$IPREFIX" in - *DEVICE\=) - _wanted devices expl 'ghostscript device' \ - compadd - ${(0)"$($words[1] -q -o /dev/null -DNODISPLAY -c 'devicenames { dup length string cvs print (\0) print } forall')"} && ret=0 - ;; - *PAPERSIZE=) - names=( $($words[1] -q -o /dev/null -DNODISPLAY -c 'statusdict /.pagetypenames get { = } forall ') ) - _description paper-sizes expl 'paper size' - compadd "$expl[@]" -a names && ret=0 - ;; - *PDFSETTINGS=) - _description settings expl 'configuration' - compadd "$expl[@]" /screen /ebook /printer /prepress /default && ret=0 - ;; - *AutoRotatePages=) - _description settings expl 'orientation selection' - compadd "$expl[@]" /None /All /PageByPage && ret=0 - ;; - *CompatibilityLevel=) - _description pdf-levels expl 'PDF compatibility level' - compadd "$expl[@]" 1.{2,3,4} && ret=0 - ;; - *FONT=) # e.g. SUBSTFONT - _wanted fonts expl 'font' compadd - \ - $($words[1] -q -o /dev/null -DNODISPLAY -c '(*) { = } 256 string /Font resourceforall') && ret=0 - ;; - *) - _message -e values 'systemdict value' - return 1 - ;; - esac - else - _wanted definition-names expl 'systemdict name' compadd -S\= -M 'm:{a-z}={A-Z}' - \ - DEVICE OutputFile PAPERSIZE PDFSETTINGS CompatibilityLevel stdout COLORSCREEN \ - DITHERPPI InterpolateControl TextAlphaBits GraphicsAlphaBits PageList SUBSTFONT \ - && ret=0 - fi - ;; - uname) - _message -e definition-names 'systemdict definition name' - ;; - outfile) - if compset -P "*%"; then - specs=( - {d,i}':signed decimal number or with leading " numeric value of following character' - 'o:unsigned octal number' - 'u:unsigned decimal number' - {x,X}':unsigned hexadecimal number, letters capitalized as x' - '%:a literal percent sign' - '#:alternate form' - '0:zero pad to length' - '-:left adjust result' - '+:always place sign before number' - '.:precision' - ) - if ! compset -P '[0-9#.+-]##'; then - specs+=( - 'stdout:redirect to standard output' - 'stderr:redirect to standard error' - 'pipe%:redirect to a pipe' - ) - fi - _describe -t print-format-specifiers 'print format specifier' specs -S '' && ret=0 - else - _description files expl 'output file' - _files "$expl[@]" && ret=0 - fi - ;; - esac - - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git deleted file mode 100644 index cecb80ac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git +++ /dev/null @@ -1,8503 +0,0 @@ -#compdef git git-cvsserver git-receive-pack git-upload-archive git-upload-pack git-shell gitk tig - -# Some parts of this completion's behaviour are configurable: -# -# Say you got your own git sub-commands (git will run a program `git-foo' -# when you run "git foo") and you want "git f<tab>" to complete that sub -# commands name for you. You can make that sub-command known to the completion -# via the user-command style: -# -# % zstyle ':completion:*:*:git:*' user-commands foo:'description for foo' -# -# `user-commands' is a list style, so you can add any number of programs there. -# The :description part is optional, so you could add all git-* programs from -# your $path like this: -# -# % zstyle ':completion:*:*:git:*' user-commands ${${(M)${(k)commands}:#git-*}/git-/} -# -# A better solution is to create a function _git-foo() to handle specific -# completion for that command. This also allows you to add command-specific -# completion as well. Place such a function inside an autoloaded #compdef file -# and you should be all set. You can add a description to such a function by -# adding a line matching -# -# #description DESCRIPTION -# -# as the second line in the file. See -# Completion/Debian/Command/_git-buildpackage in the Zsh sources for an -# example. -# -# When _git does not know a given sub-command (say `bar'), it falls back to -# completing file names for all arguments to that sub command. I.e.: -# -# % git bar <tab> -# -# ...will complete file names. If you do *not* want that fallback to be used, -# use the `use-fallback' style like this: -# -# % zstyle ':completion:*:*:git*:*' use-fallback false - -# TODO: There is still undocumented configurability in here. - -# HIGH-LEVEL COMMANDS (PORCELAIN) - -# Main Porcelain Commands - -(( $+functions[_git-add] )) || -_git-add () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local ignore_missing= - if (( words[(I)-n|--dry-run] )); then - ignore_missing='--ignore-missing[check if files (even missing) are ignored in dry run]' - fi - - _arguments -C -S -s $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually add files; only show which ones would be added]' \ - '(-v --verbose)'{-v,--verbose}'[show files as they are added]' \ - '(-f --force)'{-f,--force}'[allow adding otherwise ignored files]' \ - '(-i --interactive : -)'{-i,--interactive}'[add contents interactively to index]' \ - '(-p --patch)'{-p,--patch}'[like -i but go directly into patch mode for specified files]' \ - '(-e --edit)'{-e,--edit}'[open diff against index in editor]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal --renormalize)'{-A,--all,--no-ignore-removal}'[add, modify, and remove index entries to match the working tree]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal --renormalize)'{--no-all,--ignore-removal}'[like "--all" but ignore removals]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)'{-u,--update}'[update the index just where it already has an entry matching <pathspec>]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)--renormalize[renormalize EOL of tracked files (implies -u)]' \ - '(-N --intent-to-add)'{-N,--intent-to-add}'[record only that path will be added later]' \ - '--refresh[do not add files, but refresh their stat() info in index]' \ - '--ignore-errors[continue adding if an error occurs]' \ - $ignore_missing \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - '--chmod=[override the executable bit of the listed files]:override:(-x +x)' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '*:: :->file' && return - - case $state in - (file) - declare -a ignored_files_alternatives - if [[ -n ${opt_args[(I)-f|--force]} ]]; then - ignored_files_alternatives=( - 'ignored-modified-files:ignored modified file:__git_ignore_line_inside_arguments __git_modified_files --ignored' - 'ignored-other-files:ignored other file:__git_ignore_line_inside_arguments __git_other_files --ignored') - fi - - _alternative \ - 'modified-files::__git_ignore_line_inside_arguments __git_modified_files' \ - 'other-files::__git_ignore_line_inside_arguments __git_other_files' \ - $ignored_files_alternatives && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-am] )) || -_git-am () { - local -a apply_options - __git_setup_apply_options - - # NOTE: --rebasing and --resolvemsg are only for internal use between git - # rebase and git am. - _arguments -s -S $endopt \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by: trailer to the commit message]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-k --keep)'{-k,--keep}'[pass -k to git mailinfo]' \ - '--keep-non-patch[pass -b to git mailinfo]' \ - '(-m --message-id)'{-m,--message-id}'[pass -m flag to git-mailinfo]' \ - '( --no-keep-cr)--keep-cr[pass --keep-cr to git mailsplit]' \ - '(--keep-cr )--no-keep-cr[do not pass --keep-cr to git mailsplit]' \ - '(-c --scissors --no-scissors)'{-c,--scissors}'[strip everything before a scissors line]' \ - '(-c --scissors --no-scissors)--no-scissors[ignore scissors lines]' \ - '--quoted-cr=[specify action when quoted CR is found]:action [warn]:(nowarn warn strip)' \ - '(-q --quiet)'{-q,--quiet}'[only print error messages]' \ - '(-u --utf8 --no-utf8)'{-u,--utf8}'[pass -u to git mailinfo]' \ - '(-u --utf8 --no-utf8)--no-utf8[pass -n to git mailinfo]' \ - '(-3 --3way)'{-3,--3way}'[use 3-way merge if patch does not apply cleanly]' \ - $apply_options \ - '--quit[abort the patching operation but keep HEAD where it is]' \ - '--show-current-patch=-[show the message being applied]::show [raw]:(diff raw)' \ - '(-i --interactive)'{-i,--interactive}'[apply patches interactively]' \ - '--committer-date-is-author-date[use author date as committer date]' \ - '--ignore-date[use committer date as author date]' \ - '--skip[skip the current patch]' \ - '(--continue -r --resolved)'{--continue,-r,--resolved}'[continue after resolving patch failure by hand]' \ - '--abort[restore the original branch and abort the patching operation]' \ - '--patch-format=-[specify format patches are in]:patch format:((mbox\:"mbox format" - stgit-series\:"StGit patch series" - stgit\:"stgit format"))' \ - '*:mbox file:_files' -} - -(( $+functions[_git-archive] )) || -_git-archive () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a backend_args - - if (( words[(b:CURRENT-1:I)--format=*] )); then - case ${words[$words[(I)--format=*]]#--format=} in - (zip) - backend_args=( - '-0[do not deflate files]' - '-1[minimum compression]' - '-2[a little more compression]' - '-3[slightly more compression]' - '-4[a bit more compression]' - '-5[even more compression]' - '-6[slightly even more compression]' - '-7[getting there]' - '-8[close to maximum compression]' - '-9[maximum compression]') - ;; - esac - fi - - _arguments -C -S -s $endopt \ - '--format=-[format of the resulting archive]:archive format:__git_archive_formats' \ - '(- :)'{-l,--list}'[list available archive formats]' \ - '(-v --verbose)'{-v,--verbose}'[report progress to stderr]' \ - '--prefix=-[prepend the given path prefix to each filename]:path prefix:_directories -r ""' \ - '--add-file=[add untracked file to archive]:file:_files' \ - '(-o --output)'{-o+,--output=}'[write archive to specified file]:archive:_files' \ - '--worktree-attributes[look for attributes in .gitattributes in working directory too]' \ - $backend_args \ - '--remote=[archive remote repository]:remote repository:__git_any_repositories' \ - '--exec=[path to git-receive-pack on remote]:remote path:_files' \ - ': :__git_tree_ishs' \ - '*: :->file' && ret=0 - - case $state in - (file) - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-bisect] )) || -_git-bisect () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - local good bad - - if good=$(_call_program commands git bisect terms --term-good); then - bad=$(_call_program commands git bisect terms --term-bad) - else - good=( good old ) bad=( new bad ) - fi - - _arguments -C \ - '--help[display git-bisect manual page]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - help:'display a short usage description' - start:'reset bisection state and start a new bisection' - ${^bad}:'mark current or given revision as bad' - ${^good}:'mark current or given revision as good' - skip:'choose a nearby commit' - next:'find next bisection to test and check it out' - reset:'finish bisection search and return to the given branch (or master)' - visualize:'show the remaining revisions in gitk' - view:'show the remaining revisions in gitk' - replay:'replay a bisection log' - terms:'show currently used good/bad terms' - log:'show log of the current bisection' - run:'run evaluation script') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (start) - _arguments -C \ - --term-{good,old}'=[specify alternate term for good revisions]:term' \ - --term-{bad,new}'=[specify alternate term for bad revisions]:term' \ - '--no-checkout[set BISECT_HEAD reference instead of doing checkout at each iteration]' \ - '--first-parent[follow only the first parent commit upon seeing a merge commit]' \ - ':bad revision:__git_commits' \ - '*: :->revision-or-path' && ret=0 - case $state in - (revision-or-path) - if compset -N '--' || ! __git_is_committish $line[CURRENT-1]; then - __git_cached_files && ret=0 - else - _alternative \ - 'revisions::__git_revisions' \ - 'files::__git_cached_files' && ret=0 - fi - ;; - esac - ;; - (${(~j.|.)bad}|${(~j.|.)good}|skip) - # TODO: skip can take revlists. - _arguments \ - '*: :__git_commits' && ret=0 - ;; - (replay) - _arguments \ - ':log file:_files' && ret=0 - ;; - (reset) - _arguments \ - ': :__git_heads' && ret=0 - ;; - (run) - _arguments \ - '*:: : _normal' && ret=0 - ;; - (terms) - _arguments --term-good --term-bad && ret=0 - ;; - (view|visualize) - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s \ - $log_options \ - $revision_options && ret=0 - (*) - _nothing - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-branch] )) || -_git-branch () { - declare l c m d e - - l='--color --no-color -r --remotes -a -v --verbose --abbrev --no-abbrev -l --list --points-at --sort' - c='--create-reflog -f --force -t --track --no-track -u --set-upstream --set-upstream-to --unset-upstream --contains --no-contains --merged --no-merged' - m='-c --copy -C -m --move -M --edit-description --show-current' - d='-d --delete -D' - - declare -a dependent_creation_args - if (( words[(I)(-r|--remotes)] == 0 )); then - dependent_creation_args=( - "($l $m $d): :__git_branch_names" - "::start-point:__git_revisions") - fi - - declare -a dependent_deletion_args - if (( words[(I)-d] || words[(I)-D] )); then - dependent_creation_args= - dependent_deletion_args=( - '-r[delete only remote-tracking branches]') - if (( words[(I)(-r|--remotes)] )); then - dependent_deletion_args+='*: :__git_ignore_line_inside_arguments __git_remote_branch_names' - else - dependent_deletion_args+='*: :__git_ignore_line_inside_arguments __git_branch_names' - fi - fi - - declare -a dependent_modification_args - if (( words[(I)-m] || words[(I)-M] )); then - dependent_creation_args= - dependent_modification_args=( - ':old or new branch name:__git_branch_names' - '::new branch name:__git_branch_names') - fi - - _arguments -S -s $endopt \ - "($c $m $d --no-color :)--color=-[turn on branch coloring]:: :__git_color_whens" \ - "($c $m $d : --color)--no-color[turn off branch coloring]" \ - "($c $m $d --no-column)--column=-[display tag listing in columns]:: :_git_column_layouts" \ - "($c $m $d --column)--no-column[don't display in columns]" \ - "($c $m $d)*"{-l,--list}'[list only branches matching glob]:pattern' \ - "($c $m -a)"{-r,--remotes}'[list or delete only remote-tracking branches]' \ - "($c $m $d : -r --remotes)-a[list both remote-tracking branches and local branches]" \ - "($c $m $d : -v -vv --verbose)"{-v,-vv,--verbose}'[show SHA1 and commit subject line for each head]' \ - "($c $m $d :)--abbrev=[use specified digits to display object names]:digits" \ - "($c $m $d :)--no-abbrev[don't abbreviate sha1s]" \ - "(- :)--show-current[show current branch name]" \ - "($l $m $d)--create-reflog[create the branch's reflog]" \ - "($l $m $d -f --force)"{-f,--force}'[force the creation of a new branch]' \ - "($l $m $d -t --track)"{-t,--track}'[setup configuration so that pull merges from the start point]' \ - "($l $m $d)--no-track[override the branch.autosetupmerge configuration variable]" \ - "($l $m $d -u --set-upstream --set-upstream-to --unset-upstream)"{-u+,--set-upstream-to=}'[set up configuration so that pull merges]:remote branch:__git_remote_branch_names' \ - "($l $m $d -u --set-upstream --set-upstream-to --unset-upstream)--unset-upstream[remove upstream configuration]" \ - "($l $m $d)*--contains=[only list branches that contain the specified commit]: :__git_committishs" \ - "($l $m $d)*--no-contains=[only list branches that don't contain the specified commit]: :__git_committishs" \ - "($l $m $d)--merged=[only list branches that are fully contained by HEAD]: :__git_committishs" \ - "($l $m $d)--no-merged=[don't list branches that are fully contained by HEAD]: :__git_committishs" \ - "($c $l $m $d)--edit-description[edit branch description]" \ - $dependent_creation_args \ - "($l $c $d $m)"{-m,--move}"[rename a branch and the corresponding reflog]" \ - "($l $c $d $m)-M[rename a branch even if the new branch-name already exists]" \ - "($l $c $d $m)"{-c,--copy}"[copy a branch and the corresponding reflog]" \ - "($l $c $d $m)-C[copy a branch even if the new branch-name already exists]" \ - $dependent_modification_args \ - "($l $c $m $d)"{-d,--delete}"[delete a fully merged branch]" \ - "($l $c $m $d)-D[delete a branch]" \ - {-q,--quiet}"[be more quiet]" \ - '*--sort=[specify field to sort on]: :__git_ref_sort_keys' \ - '--points-at=[only list tags of the given object]: :__git_commits' \ - "($c $m $d -i --ignore-case)"{-i,--ignore-case}'[sorting and filtering are case-insensitive]' \ - $dependent_deletion_args -} - -(( $+functions[_git-bundle] )) || -_git-bundle () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'create:create a bundle' - 'verify:check that a bundle is valid and will apply cleanly' - 'list-heads:list references defined in bundle' - 'unbundle:unbundle a bundle to repository') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (create) - if (( CURRENT == 2 )); then - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't show progress]" \ - '--progress[show progress meter]' \ - '--all-progress[show progress meter during object writing phase]' \ - '--all-progress-implied[similar to --all-progress when progress meter is shown]' \ - '--version=[specify bundle format version]:version:(2 3)' \ - ':bundle:_files' && ret=0 - else - local revision_options - __git_setup_revision_options - - _arguments -S -s \ - $revision_options \ - ': :_files' \ - '*: :__git_commit_ranges2' && ret=0 - fi - ;; - (verify) - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't show bundle details]" \ - ':bundle:_files' && ret=0 - ;; - (list-heads) - _arguments \ - ':bundle:_files' \ - '*: :__git_references' && ret=0 - ;; - (unbundle) - _arguments \ - '--progress[show progress meter]' \ - ':bundle:_files' \ - '*: :__git_references' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-version] )) || -_git-version () { - _arguments -S $endopt \ - '--build-options[also print build options]' -} - -(( $+functions[_git-check-ignore] )) || -_git-check-ignore () { - _arguments -s -S $endopt \ - '(-q --quiet)'{-q,--quiet}'[do not output anything, just set exit status]' \ - '(-v --verbose)'{-v,--verbose}'[output details about the matching pattern (if any) for each pathname]' \ - '--stdin[read file names from stdin instead of from the command-line]' \ - '-z[make output format machine-parseable and treat input-paths as NUL-separated with --stdin]' \ - '(-n --non-matching)'{-n,--non-matching}'[show given paths which do not match any pattern]' \ - '--no-index[do not look in the index when undertaking the checks]' \ - '*:: :_files' -} - -(( $+functions[_git-check-mailmap] )) || -_git-check-mailmap () { - _arguments -S $endopt \ - '--stdin[read contacts from stdin after those given on the command line]' -} - -(( $+functions[_git-checkout] )) || -_git-checkout () { - # TODO: __git_tree_ishs is just stupid. It should be giving us a list of tags - # and perhaps also allow all that just with ^{tree} and so on. Not quite sure - # how to do that, though. - local new_branch_reflog_opt - if (( words[(I)-b|-B|--orphan] )); then - new_branch_reflog_opt="(--patch)-l[create the new branch's reflog]" - fi - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -s \ - '(-q --quiet)'{-q,--quiet}'[suppress progress reporting]' \ - '(-f --force -m --merge --conflict --patch)'{-f,--force}'[force branch switch/ignore unmerged entries]' \ - '(-q --quiet -2 --ours -3 --theirs --patch)'{-2,--ours}'[check out stage #2 for unmerged paths]' \ - '(-q --quiet -2 --ours -3 --theirs --patch)'{-3,--theirs}'[check out stage #3 for unmerged paths]' \ - '( -B --orphan -2 --ours -3 --theirs --conflict --patch -d --detach)-b+[create a new branch based at given commit]: :__git_branch_names' \ - '(-b --orphan -2 --ours -3 --theirs --conflict --patch -d --detach)-B+[create or update branch based at given commit]: :__git_branch_names' \ - '(-t --track --orphan --patch -d --detach)'{-t,--track}'[set up configuration so pull merges from the base commit]' \ - '(--patch)--no-track[override the branch.autosetupmerge configuration variable]' \ - $new_branch_reflog_opt \ - '(-b -B -t --track --patch --orphan -d --detach)'{-d,--detach}'[detach the HEAD at named commit]' \ - '(-b -B -t --track --patch -d --detach)--orphan=[create a new orphan branch based at given commit]: :__git_branch_names' \ - '(-q --quiet -f --force -m --merge --conflict --patch)'{-m,--merge}'[3way merge current branch, working tree and new branch]' \ - '(-q --quiet -f --force -m --merge --patch)--conflict=[same as --merge, using given merge style]:style:(merge diff3)' \ - '(-)'{-p,--patch}'[interactively select hunks in diff between given tree-ish and working tree]' \ - "--ignore-skip-worktree-bits[don't limit pathspecs to sparse entries only]" \ - "--no-guess[don't second guess 'git checkout <no-such-branch>']" '!(--no-guess)--guess' \ - "--ignore-other-worktrees[don't check if another worktree is holding the given ref]" \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '--no-overlay[remove files from index or working tree that are not in the tree-ish]' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '--progress[force progress reporting]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-)--[start file arguments]' \ - '*:: :->branch-or-tree-ish-or-file' && ret=0 - - case $state in - (branch-or-tree-ish-or-file) - # TODO: Something about *:: brings us here when we complete at "-". I - # guess that this makes sense in a way, as we might want to treat it as - # an argument, but I can't find anything in the documentation about this - # behavior. - [[ $line[CURRENT] = -* ]] && return - if (( CURRENT == 1 )) && [[ -z $opt_args[(I)--] ]]; then - # TODO: Allow A...B - local \ - tree_ish_arg='tree-ishs::__git_commits_prefer_recent' \ - file_arg='modified-files::__git_modified_files' - - if [[ -n ${opt_args[(I)-b|-B|--orphan|--detach]} ]]; then - _alternative $tree_ish_arg && ret=0 - elif [[ -n $opt_args[(I)--track] ]]; then - _alternative remote-branches::__git_remote_branch_names && ret=0 - elif [[ -n ${opt_args[(I)--ours|--theirs|-m|--conflict|--patch|--no-guess]} ]]; then - _alternative $tree_ish_arg $file_arg && ret=0 - else - _alternative \ - $file_arg \ - $tree_ish_arg \ - 'remote-branch-names-noprefix::__git_remote_branch_names_noprefix' \ - && ret=0 - fi - - elif [[ -n ${opt_args[(I)-b|-B|-t|--track|--orphan|--detach]} ]]; then - _nothing - elif [[ -n $line[1] ]] && __git_is_treeish ${(Q)line[1]}; then - __git_ignore_line __git_tree_files ${PREFIX:-.} ${(Q)line[1]} && ret=0 - else - __git_ignore_line __git_modified_files && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-cherry-pick] )) || -_git-cherry-pick () { - local -a git_commit_opts - git_commit_opts=(--all --not HEAD --not) - _arguments \ - '(- :)--quit[end revert or cherry-pick sequence]' \ - '(- :)--continue[resume revert or cherry-pick sequence]' \ - '(- :)--skip[skip current commit and continue]' \ - '(- :)--abort[cancel revert or cherry-pick sequence]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '--allow-empty[preserve initially empty commits]' \ - '--allow-empty-message[allow replaying a commit with an empty message]' \ - '--keep-redundant-commits[keep cherry-picked commits that will become empty]' \ - '(-e --edit --ff)'{-e,--edit}'[edit commit before committing the cherry-pick]' \ - '(--ff)-x[append information about what commit was cherry-picked]' \ - '(-m --mainline)'{-m+,--mainline=}'[specify mainline when cherry-picking a merge commit]:parent number' \ - '--rerere-autoupdate[update index with reused conflict resolution if possible]' \ - '(-n --no-commit --ff)'{-n,--no-commit}'[do not make the actual commit]' \ - '(-s --signoff --ff)'{-s,--signoff}'[add Signed-off-by trailer at the end of the commit message]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(-e --edit -x -n --no-commit -s --signoff)--ff[fast forward, if possible]' \ - '*: : __git_commit_ranges -O expl:git_commit_opts' -} - -(( $+functions[_git-citool] )) || -_git-citool () { - _nothing -} - -(( $+functions[_git-clean] )) || -_git-clean () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '-d[also remove untracked directories]' \ - \*{-f,--force}'[required by default; twice, removes untracked nested repositories]' \ - '(-i --interactive)'{-i,--interactive}'[show what would be done and clean files interactively]' \ - '(-n --dry-run)'{-n,--dry-run}'[only show what would and what would not be removed]' \ - '(-q --quiet)'{-q,--quiet}"[don't print names of files removed]" \ - '*'{-e+,--exclude=}'[skip files matching specified pattern]:pattern' \ - '(-X )-x[also remove ignored files]' \ - '( -x)-X[remove only ignored files]' \ - '*: :->file' && ret=0 - - case $state in - (file) - local exclusion ignored_other_files_alt other_files_alt - declare -a exclusions - for spec in $opt_args[-e] $opt_args[--exclude]; do - integer i - for (( i = 1; i <= $#spec; i++ )); do - case $spec[i] in - (\\) - if (( i + 1 <= $#spec )) && [[ $spec[i+1] == : ]]; then - (( i++ )) - exclusion+=: - else - exclusion+=$spec[i] - fi - ;; - (:) - exclusions+=(-x $exclusion) exclusion= - ;; - (*) - exclusion+=$spec[i] - ;; - esac - done - done - [[ -n $exclusion ]] && exclusions+=(-x $exclusion) - if [[ -n ${opt_args[(I)-x|-X]} ]]; then - ignored_other_files_alt="ignored-untracked-files::__git_ignored_other_files $exclusions" - fi - if [[ -z ${opt_args[(I)-X]} ]]; then - other_files_alt="untracked-files::__git_other_files $exclusions" - fi - _alternative \ - $ignored_other_files_alt \ - $other_files_alt && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-clone] )) || -_git-clone () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: Argument to -o should be a remote name. - # TODO: Argument to -b should complete branch names in the repository being - # cloned (see __git_references()) - _arguments -C -S -s $endopt \ - '(-l --local --no-local)'{-l,--local}'[clone locally, hardlink refs and objects if possible]' \ - '(-l --local --no-local)--no-local[override --local, as if file:/// URL was given]' \ - '--no-hardlinks[copy files instead of hardlinking when doing a local clone]' \ - '(-s --shared)'{-s,--shared}'[share the objects with the source repository (warning: see man page)]' \ - '(-j --jobs)'{-j+,--jobs=}'[specify number of submodules cloned in parallel]:jobs' \ - '--reference[reference repository]:repository:_directories' \ - '--reference-if-able[reference repository]:repository:_directories' \ - '--dissociate[make the newly-created repository independent of the --reference repository]' \ - '(-q --quiet)'{-q,--quiet}'[operate quietly]' \ - '(-v --verbose)'{-v,--verbose}'[always display the progressbar]' \ - '--progress[output progress even if stderr is not a terminal]' \ - "--reject-shallow[don't clone shallow repository]" \ - '(-n --no-checkout)'{-n,--no-checkout}'[do not checkout HEAD after clone is complete]' \ - '(-o --origin)--bare[make a bare GIT repository]' \ - '(--bare)--mirror[clone refs into refs/* instead of refs/remotes/origin/*]' \ - '(-o --origin --bare)'{-o+,--origin=}'[use given remote name instead of "origin"]: :__git_guard_branch-name' \ - '(-b --branch)'{-b+,--branch=}'[point HEAD to the given branch]: :__git_guard_branch-name' \ - '(-u --upload-pack)'{-u+,--upload-pack=}'[specify path to git-upload-pack on remote side]:remote path' \ - '--template=[directory to use as a template for the object database]: :_directories' \ - '*'{-c,--config}'[<key>=<value> set a configuration variable in the newly created repository]' \ - '--depth[create a shallow clone, given number of revisions deep]: :__git_guard_number depth' \ - '--shallow-since=[shallow clone since a specific time]:time' \ - '*--shallow-exclude=[shallow clone excluding commits reachable from specified remote revision]:revision' \ - '(--no-single-branch)--single-branch[clone only history leading up to the main branch or the one specified by -b]' \ - '(--single-branch)--no-single-branch[clone history leading up to each branch]' \ - "--no-tags[don't clone any tags and make later fetches not follow them]" \ - '--shallow-submodules[any cloned submodules will be shallow]' \ - '--recursive[initialize all contained submodules]' \ - '(--recursive --recurse-submodules)'{--recursive,--recurse-submodules}'=-[initialize submodules in the clone]::file:__git_files' \ - '--separate-git-dir[place .git dir outside worktree]:path to .git dir:_path_files -/' \ - \*--server-option='[send specified string to the server when using protocol version 2]:option' \ - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' \ - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' \ - '--filter=[object filtering]:filter:_git_rev-list_filters' \ - '--remote-submodules[any cloned submodules will use their remote-tracking branch]' \ - '--sparse[initialize the sparse-checkout file to start with only the top-level files]' \ - ': :->repository' \ - ': :_directories' && ret=0 - - case $state in - (repository) - if [[ -n ${opt_args[(I)-l|--local|--no-hardlinks|-s|--shared|--reference]} ]]; then - __git_local_repositories && ret=0 - else - __git_any_repositories && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-column] )) || -_git-column() { - _arguments -s \ - '--command=[look up layout mode using in config vars using specified command]:command:(branch clean status tag ui)' \ - '--mode=[specify layout mode]: :_git_column_layouts' \ - '--raw-mode=[same as --mode but take mode encoded as a number]:mode' \ - "--width=[specify the terminal width]:width [${COLUMNS:-80}]" \ - '--indent=[specify string to be printed at the beginning of each line]:string' \ - '--nl=[specify string to be printed at the end of each line, including newline character]:string' \ - '--padding=[specify number of spaces between columns]:spaces [1]' -} - -(( $+functions[_git-commit] )) || -_git-commit () { - local amend_opt='--amend[amend the tip of the current branch]' - if __git_is_initial_commit || __git_is_in_middle_of_merge; then - amend_opt= - fi - - local reset_author_opt= - if (( words[(I)-C|--reuse-message(=*|)|-c|--reedit-message(=*|)|--amend] )); then - reset_author_opt='(--author)--reset-author[make committer the author of the commit]' - fi - - # TODO: --interactive isn't explicitly listed in the documentation. - _arguments -S -s $endopt \ - '(-a --all --interactive -o --only -i --include *)'{-a,--all}'[stage all modified and deleted paths]' \ - '--fixup=[construct a commit message for use with rebase --autosquash]:commit to be amended:_git_fixup' \ - '--squash=[construct a commit message for use with rebase --autosquash]:commit to be amended:__git_recent_commits' \ - $reset_author_opt \ - '( --porcelain --dry-run)--short[dry run with short output format]' \ - '--branch[show branch information]' \ - '!(--no-ahead-behind)--ahead-behind' \ - "--no-ahead-behind[don't display detailed ahead/behind counts relative to upstream branch]" \ - '(--short --dry-run)--porcelain[dry run with machine-readable output format]' \ - '(--short --porcelain --dry-run -z --null)'{-z,--null}'[dry run with NULL-separated output format]' \ - {-p,--patch}'[use the interactive patch selection interface to chose which changes to commit]' \ - '(--reset-author)--author[override the author name used in the commit]:author name' \ - '--date=[override the author date used in the commit]:date' \ - '*--trailer=[add custom trailer(s)]:trailer' \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by trailer at the end of the commit message]' \ - '(-n --no-verify)'{-n,--no-verify}'[bypass pre-commit and commit-msg hooks]' \ - '--allow-empty[allow recording an empty commit]' \ - '--allow-empty-message[allow recording a commit with an empty message]' \ - '--cleanup=[specify how the commit message should be cleaned up]:mode:_git_cleanup_modes' \ - '(-e --edit --no-edit)'{-e,--edit}'[edit the commit message before committing]' \ - '(-e --edit --no-edit)--no-edit[do not edit the commit message before committing]' \ - '--no-post-rewrite[bypass the post-rewrite hook]' \ - '(-a --all --interactive -o --only -i --include)'{-i,--include}'[update the given files and commit the whole index]' \ - '(-a --all --interactive -o --only -i --include)'{-o,--only}'[commit only the given files]' \ - '(-u --untracked-files)'{-u-,--untracked-files=-}'[show files in untracked directories]::mode:((no\:"show no untracked files" - normal\:"show untracked files and directories" - all\:"show individual files in untracked directories"))' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[show unified diff of all file changes]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[suppress commit summary message]' \ - '--dry-run[only show list of paths that are to be committed or not, and any untracked]' \ - '( --no-status)--status[include the output of git status in the commit message template]' \ - '(--status )--no-status[do not include the output of git status in the commit message template]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-a --all --interactive -o --only -i --include *)--interactive[interactively update paths in the index file]' \ - $amend_opt \ - '*: :__git_ignore_line_inside_arguments __git_changed_files' \ - - '(message)' \ - {-C+,--reuse-message=}'[use existing commit object with same log message]: :__git_commits' \ - {-c+,--reedit-message=}'[use existing commit object and edit log message]: :__git_commits' \ - {-F+,--file=}'[read commit message from given file]: :_files' \ - \*{-m+,--message=}'[use the given message as the commit message]:message' \ - {-t+,--template=}'[use file as a template commit message]:template:_files' -} - -(( $+functions[_git-describe] )) || -_git-describe () { - _arguments -S -s $endopt \ - '(*)--dirty=-[describe HEAD, adding mark if dirty]::mark' \ - '(*)--broken=-[describe HEAD, adding mark if broken]::mark' \ - '--all[use any ref found in "$GIT_DIR/refs/"]' \ - '--tags[use any ref found in "$GIT_DIR/refs/tags"]' \ - '(--tags)--contains[find the tag after the commit instead of before]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '( --exact-match)--candidates=[consider up to given number of candidates]: :__git_guard_number "number of candidates"' \ - '(--candidates )--exact-match[only output exact matches, same as --candidates=0]' \ - '--debug[display information about the searching strategy]' \ - '--long[always show full format, even for exact matches]' \ - '*--match=[only consider tags matching glob pattern]:pattern' \ - "*--exclude=[don't consider tags matching glob pattern]:pattern" \ - '--always[show uniquely abbreviated commit object as fallback]' \ - '--first-parent[follow only the first parent of merge commits]' \ - '*: :__git_committishs' -} - -(( $+functions[_git-diff] )) || -_git-diff () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a diff_options diff_stage_options - __git_setup_diff_options - __git_setup_diff_stage_options - - _arguments -C -s $endopt \ - $* \ - $diff_options \ - '(--exit-code)--quiet[disable all output]' \ - $diff_stage_options \ - '(--cached --staged)--no-index[show diff between two paths on the filesystem]' \ - '(--cached --staged --no-index)'{--cached,--staged}'[show diff between index and named commit]' \ - '(-)--[start file arguments]' \ - '*:: :->from-to-file' && ret=0 - - case $state in - (from-to-file) - # If "--" is part of $opt_args, this means it was specified before any - # $words arguments. This means that no heads are specified in front, so - # we need to complete *changed* files only. - if [[ -n ${opt_args[(I)--]} ]]; then - if [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - __git_changed-in-index_files && ret=0 - else - __git_changed-in-working-tree_files && ret=0 - fi - return ret - fi - - # If "--no-index" was given, only file paths need to be completed. - if [[ -n ${opt_args[(I)--no-index]} ]]; then - _alternative 'files::_files' && ret=0 - return ret - fi - - # Otherwise, more complex conditions need to be checked. - case $CURRENT in - (1) - local files_alt='files::__git_changed-in-working-tree_files' - if [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - files_alt='files::__git_changed-in-index_files' - fi - - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'blobs-and-trees-in-treeish::__git_blobs_and_trees_in_treeish' \ - $files_alt \ - 'blobs::__git_blobs ' && ret=0 - ;; - (2) - # Check if first argument is something special. In case of committish ranges and committishs offer a full list compatible completions. - if __git_is_committish_range $line[1]; then - # Example: git diff branch1..branch2 <tab> - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1] || __git_is_treeish $line[1]; then - local files_alt='files::__git_tree_files ${PREFIX:-.} HEAD' - [[ $line[1] = (HEAD|@) ]] && - files_alt='files::__git_changed_files' - # Example: git diff branch1 <tab> - _alternative \ - 'commits::__git_commits' \ - 'blobs-and-trees-in-treeish::__git_blobs_and_trees_in_treeish' \ - $files_alt && ret=0 - elif __git_is_blob $line[1]; then - _alternative \ - 'files::__git_cached_files' \ - 'blobs::__git_blobs' && ret=0 - elif [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - # Example: git diff --cached file1 <tab> - __git_changed-in-index_files && ret=0 - else - # Example: git diff file1 <tab> - __git_changed-in-working-tree_files && ret=0 - fi - ;; - (*) - if __git_is_committish_range $line[1]; then - # Example: git diff branch1..branch2 file1 <tab> - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif { __git_is_committish $line[1] && __git_is_committish $line[2] } || - __git_is_treeish $line[2]; then - # Example: git diff branch1 branch2 <tab> - __git_tree_files ${PREFIX:-.} $line[2] && ret=0 - elif [[ $line[1] = (HEAD|@) ]]; then - # Example: git diff @ file1 <tab> - # Example: git diff HEAD -- <tab> - __git_ignore_line __git_changed_files && ret=0 - elif __git_is_committish $line[1] || __git_is_treeish $line[1]; then - # Example: git diff branch file1 <tab> - # Example: git diff branch -- f<tab> - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - elif __git_is_blob $line[1] && __git_is_blob $line[2]; then - _nothing - elif [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - # Example: git diff --cached file1 file2 <tab> - __git_changed-in-index_files && ret=0 - else - # Example: git diff file1 file2 <tab> - __git_changed-in-working-tree_files && ret=0 - fi - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-fetch] )) || -_git-fetch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a fetch_options - __git_setup_fetch_options - - _arguments -C -S -s $endopt \ - $fetch_options \ - '--atomic[use atomic transaction to update references]' \ - '(--all -m --multiple)'{-m,--multiple}'[fetch from multiple remotes]' \ - '(-n --no-tags -t --tags)'{-n,--no-tags}'[disable automatic tag following]' \ - '--prefetch[modify the refspec to place all refs within refs/prefetch/]' \ - '(-P --prune-tags)'{-P,--prune-tags}'[prune local tags no longer on remote and clobber changed tags]' \ - '--write-fetch-head[write fetched references to the FETCH_HEAD file]' \ - "--negotiate-only[don't fetch a packfile; instead, print ancestors of negotiation tips]" \ - '--filter=[object filtering]:filter:_git_rev-list_filters' \ - '(--auto-maintenance --auto-gc)'--auto-{maintenance,gc}"[run 'maintenance --auto' after fetching]" \ - '--write-commit-graph[write the commit-graph after fetching]' \ - '--stdin[accept refspecs from stdin]' \ - '*:: :->repository-or-group-or-refspec' && ret=0 - - case $state in - (repository-or-group-or-refspec) - if (( CURRENT > 1 )) && [[ -z ${opt_args[(I)--multiple]} ]]; then - __git_ref_specs_fetchy && ret=0 - else - _alternative \ - 'remotes::__git_remotes' \ - 'remotes-groups::__git_remotes_groups' \ - 'local-repositories::__git_local_repositories' \ - 'remote-repositories::__git_remote_repositories' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-format-patch] )) || -_git-format-patch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a diff_options - __git_setup_diff_options - - # TODO: -- is wrong. - # TODO: Should filter out --name-only, --name-status, and --check from - # $diff_options. - _arguments -C -S -s $endopt \ - $diff_options \ - '--[limit the number of patches to prepare]: :__git_guard_number "number of patches to prepare"' \ - '(-o --output-directory --stdout)'{-o+,--output-directory=}'[store resulting files in given directory]: :_directories' \ - '(-n --numbered -N --no-numbered -k --keep-subject)'{-n,--numbered}'[name output in \[PATCH n/m\] format]' \ - '(-n --numbered -N --no-numbered -k --keep-subject)'{-N,--no-numbered}'[name output in \[PATCH\] format]' \ - '--start-number=[start numbering patches at given number]: :__git_guard_number "patch number"' \ - '--numbered-files[use only number for file name]' \ - '(-n --numbered -N --no-numbered -k --keep-subject --rfc --subject-prefix)'{-k,--keep-subject}"[don't strip/add \[PATCH\] from the first line of the commit message]" \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by: trailer to the commit message]' \ - '(-o --output-directory)--stdout[output the generated mbox on standard output (implies --mbox)]' \ - '( --no-attach --inline)--attach=-[create attachments instead of inlining patches]::boundary' \ - '(--attach --inline)--no-attach[disable creation of attachments]' \ - '(--attach --no-attach )--inline=-[inline patches]::boundary' \ - '( --no-thread)--thread=-[make the second and subsequent mails refer to the first]::style:((shallow\:"all refer to the first" - deep\:"each refers to the previous"))' \ - '(--thread )--no-thread[do not thread messages]' \ - '--in-reply-to=[make the first mail a reply to the given message]:message id' \ - '--ignore-if-in-upstream[do not include a patch that matches a commit in the given range]' \ - '(-v --reroll-count)'{-v+,--reroll-count=}'[mark the series as the <n>-th iteration of the topic]: :__git_guard_number iteration' \ - '--filename-max-length=[specify max length of output filename]:length' \ - '(-k --keep-subject --subject-prefix)--rfc[use \[RFC PATCH\] instead of \[PATCH\]]' \ - "--cover-from-description=[generate parts of a cover letter based on a branch's description]:mode:(message default subject auto none)" \ - '(-k --keep-subject --rfc)--subject-prefix=[use the given prefix instead of \[PATCH\]]:prefix' \ - '*--to=[add To: header to email headers]: :_email_addresses' \ - '*--cc=[add Cc: header to email headers]: :_email_addresses' \ - '--from=[add From: header to email headers]: :_email_addresses' \ - '*--add-header=[add an arbitrary header to email headers]:header' \ - '--cover-letter[generate a cover letter template]' \ - '--notes=[append notes for the commit after the three-dash line]:: :__git_notes_refs' \ - '( --no-signature --signature-file)--signature=[add a signature]:signature' \ - '(--signature --signature-file)--no-signature[do not add a signature]' \ - '(--signature --no-signature )--signature-file=[use contents of file as signature]' \ - '--suffix=[use the given suffix for filenames]:filename suffix' \ - '(-q --quiet)'{-q,--quiet}'[suppress the output of the names of generated files]' \ - '--no-binary[do not output contents of changes in binary files, only note that they differ]' \ - '--root[treat the revision argument as a range]' \ - '--zero-commit[output all-zero hash in From header]' \ - '--progress[show progress while generating patches]' \ - '--interdiff=[insert interdiff against previous patch series in cover letter or single patch]:reference to tip of previous series:__git_revisions' \ - '--range-diff=[insert range-diff against previous patch series in cover letter or single patch]:reference to tip ot previous series:__git_revisions' \ - '--creation-factor=[for range-diff, specify weighting for creation]:weighting (percent)' \ - ': :->commit-or-commit-range' && ret=0 - - case $state in - (commit-or-commit-range) - if [[ -n ${opt_args[(I)--root]} ]]; then - __git_commits && ret=0 - else - __git_commit_ranges && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-gc] )) || -_git-gc () { - _arguments -S -s $endopt \ - '--aggressive[more aggressively optimize]' \ - '--auto[check whether housekeeping is required]' \ - '( --no-prune)--prune=-[prune loose objects older than given date]::date [2 weeks ago]:__git_datetimes' \ - '(--prune )--no-prune[do not prune any loose objects]' \ - '(-q --quiet)'{-q,--quiet}'[suppress progress reporting]' \ - '--keep-largest-pack[repack all other packs except the largest pack]' \ -} - -(( $+functions[_git-grep] )) || -_git-grep () { - local -a pattern_operators - - # TODO: Need to deal with grouping with ( and ) - if (( words[(I)-e] == CURRENT - 2 )); then - pattern_operators=( - '--and[both patterns must match]' - '--or[either pattern must match]' - '--not[the following pattern must not match]') - fi - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: Need to implement -<num> as a shorthand for -C<num> - _arguments -C -A '-*' $endopt \ - '(-O --open-files-in-pager --no-index)--cached[search blobs registered in index file instead of working tree]' \ - '(--cached)--no-index[search files in current directory, not just tracked files]' \ - '(--exclude-standard)--no-exclude-standard[search also in ignored files]' \ - '(--no-exclude-standard)--exclude-standard[exclude files standard ignore mechanisms]' \ - '--recurse-submodules[recursively search in each submodule]' \ - "--parent-basename=[prepend parent project's basename to output]:basename" \ - '--untracked[search also in untracked files]' \ - '(-a --text)'{-a,--text}'[process binary files as if they were text]' \ - '(--textconv --no-textconv)--textconv[honor textconv filter settings]' \ - "(--textconv --no-textconv)--no-textconv[don't honor textconv filter settings]" \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case when matching]' \ - "-I[don't match pattern in binary files]" \ - '!-r' '!--recursive' \ - '--max-depth=[descend at most given levels of directories]: :__git_guard_number depth' \ - '(-w --word-regexp)'{-w,--word-regexp}'[match only whole words]' \ - '(-v --invert-match)'{-v,--invert-match}'[select non-matching lines]' \ - '(-H)-h[suppress output of filenames]' \ - '(-h -c --count)-H[show filenames]' \ - '--full-name[output paths relative to the project top directory]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-E,--extended-regexp}'[use extended regular expressions]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-G,--basic-regexp}'[use basic regular expressions]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-P,--perl-regexp}'[use perl-compatible regexes]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-F,--fixed-strings}'[use literal strings]' \ - '(-n --line-number)'{-n,--line-number}'[prefix the line number to matching lines]' \ - '(-c --count)--column[show column number of first match]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{-l,--files-with-matches,--name-only}'[show only names of matching files]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{-L,--files-without-match}'[show only names of non-matching files]' \ - '(-c --count -o --only-matching -n --line-number --color --no-color --cached --heading -O --open-files-in-pager)'{-O,--open-files-in-pager=}'-[open matching files in pager]::pager:_cmdstring' \ - '(-z --null)'{-z,--null}'[output \0 after filenames]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{--only-matching,-o}'[show only matching part of line]' \ - '(-h -c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching --color --break --heading -p --show-function -W --function-context)'{-c,--count}'[show number of matching lines in files]' \ - '(--no-color -O --open-files-in-pager)--color=-[color matches]:: :__git_color_whens' \ - "(--color -O --open-files-in-pager)--no-color[don't color matches]" \ - '(-c --count -O --open-files-in-pager)--break[print an empty line between matches from different files]' \ - '(-c --count -O --open-files-in-pager)--heading[show the filename above the matches]' \ - '(-A --after-context)'{-A+,--after-context=}'[specify lines of trailing context]: :__git_guard_number lines' \ - '(-B --before-context)'{-B+,--before-context=}'[specify lines of leading context]: :__git_guard_number lines' \ - '(-A --after-context -B --before-context -C --context)'{-C+,--context=}'[specify lines of context]: :__git_guard_number lines' \ - '--threads=[use specified number of threads]:number of threads' \ - '(-c --count -p --show-function)'{-p,--show-function}'[show preceding line containing function name of match]' \ - '(-c --count -W --function-context)'{-W,--function-context}'[show whole function where a match was found]' \ - '(1)*-f+[read patterns from given file]:pattern file:_files' \ - '(1)*-e+[use the given pattern for matching]:pattern' \ - $pattern_operators \ - '--all-match[all patterns must match]' \ - ': :_guard "^-*" pattern' \ - '*:: :->tree-or-file' && ret=0 - - # TODO: If --cached, --no-index, -O, or --open-files-in-pager was given, - # don't complete treeishs. - case $state in - (tree-or-file) - integer first_tree last_tree start end i - - (( start = words[(I)(-f|-e)] > 0 ? 1 : 2 )) - (( end = $#line - 1 )) - - for (( i = start; i <= end; i++ )); do - [[ line[i] == '--' ]] && break - __git_is_treeish $line[i] || break - if (( first_tree == 0 )); then - (( first_tree = last_tree = i )) - else - (( last_tree = i )) - fi - done - - # TODO: Need to respect --cached and --no-index here. - if (( last_tree == 0 || last_tree == end )); then - if (( first_tree == 0 )); then - _alternative \ - 'treeishs::__git_tree_ishs' \ - 'files::__git_cached_files' && ret=0 - else - _alternative \ - 'treeishs::__git_trees' \ - "files::__git_tree_files ${PREFIX:-.} $line[first_tree,last_tree]" && ret=0 - fi - else - if (( first_tree == 0 )); then - __git_cached_files && ret=0 - else - __git_tree_files ${PREFIX:-.} $line[first_tree,last_tree] && ret=0 - fi - fi - ;; - esac - - return ret -} - -(( $+functions[_git-gui] )) || -_git-gui () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '--version[display version information]' \ - ': :->command' \ - '*:: :->arg' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - blame:'start a blame viewer' - browser:'start a tree browser' - citool:'arrange to make one commit' - version:'display version information') - - _describe -t commands command commands && ret=0 - ;; - (arg) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (blame) - _git-blame && ret=0 - ;; - (browser) - _arguments -C \ - ':: :__git_revisions' \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_is_treeish $line[1] && __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - ;; - (citool) - _git-citool && ret=0 - ;; - (version) - _nothing - ;; - (*) - _nothing - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-init] )) || -_git-init () { - _arguments -S -s $endopt \ - '(-q --quiet)'{-q,--quiet}'[do not print any results to stdout]' \ - '--bare[create a bare repository]' \ - '--template=[directory to use as a template for the object database]: :_directories' \ - '--shared=[share repository amongst several users]:: :__git_repository_permissions' \ - '--separate-git-dir=[create git dir elsewhere and link it using the gitdir mechanism]:: :_directories' \ - '(-b --initial-branch)'{-b+,--initial-branch=}'[override the name of the initial branch]:branch name' \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' \ - ':: :_directories' -} - -(( $+functions[_git-interpret-trailers] )) || -_git-interpret-trailers() { - _arguments -S $endopt \ - '--in-place[edit files in place]' \ - '--trim-empty[trim empty trailers]' \ - '--where[specify where to place the new trailer]' \ - '--if-exists[specify action if trailer already exists]' \ - '--if-missing[specify action if trailer is missing]' \ - '--only-trailers[output only the trailers]' \ - "--only-input[don't apply config rules]" \ - '--unfold[join whitespace-continued values]' \ - '--parse[set parsing options]' \ - "--no-divider[don't treat --- as the end of the commit message]" \ - '--trailer[specify trailer(s) to add]' \ - '*:file:_files' -} - -(( $+functions[_git-log] )) || -_git-log () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a log_options revision_options diff_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s $endopt \ - $log_options \ - $revision_options \ - '(-)--[start file arguments]' \ - '1: :->first-commit-ranges-or-files' \ - '*: :->commit-ranges-or-files' && ret=0 - - case $state in - (first-commit-ranges-or-files) - if [[ -n ${opt_args[(I)--]} ]]; then - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_tree_files ${PREFIX:-.} HEAD' && ret=0 - fi - ;; - (commit-ranges-or-files) - # Multiple revspecs are permitted. - if [[ -z ${opt_args[(I)--]} ]]; then - __git_commit_ranges "$@" && ret=0 - fi - - # TODO: Write a wrapper function that checks whether we have a - # committish range or committish and calls __git_tree_files - # appropriately. - if __git_is_committish_range $line[1]; then - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1]; then - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - else - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-maintenance] )) || -_git-maintenance() { - local curcontext="$curcontext" state state_descr line ret=1 - local -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - register:'initialize config values to run maintenance on this repository' - run:'run one or more maintenance tasks' - start:'start running maintenance on the current repository' - stop:'halt the background maintenance schedule' - unregister:'remove the current repository from background maintenance' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (run) - _arguments -S $endopt \ - '--auto[run tasks based on the state of the repository]' \ - '--schedule=[run tasks based on frequency]:frequency (seconds)' \ - "--quiet[don't report progress or other information to stderr]" \ - '*--task=[run a specific task]:task:(gc commit-graph prefetch loose-objects incremental-repack pack-refs)' && ret=0 - ;; - (start) - _arguments \ - '--scheduler=:scheduler:(auto crontab systemd-timer launchctl schtasks)' - esac - ;; - esac - - return ret -} - -(( $+functions[_git-merge] )) || -_git-merge () { - local -a merge_options - __git_setup_merge_options - local -a git_commit_opts=(--all --not HEAD --not) - - _arguments -S -s $endopt \ - $merge_options \ - \*{-m+,--message=}'[set the commit message to be used for the merge commit]:merge message' \ - \*{-F+,--file=}'[read commit message from a file]:file' \ - '(--edit --no-edit)-e[open an editor to change the commit message]' \ - '( --no-rerere-autoupdate)--rerere-autoupdate[allow the rerere mechanism to update the index]' \ - '(--rerere-autoupdate )--no-rerere-autoupdate[do not allow the rerere mechanism to update the index]' \ - '(--quit --continue)--abort[restore the original branch and abort the merge operation]' \ - '(--abort --continue)--quit[--abort but leave index and working tree alone]' \ - '(--abort --quit)--continue[continue the current in-progress merge]' \ - '--progress[force progress reporting]' \ - '--no-verify[verify commit-msg hook]' \ - '*: : __git_commits -O expl:git_commit_opts' -} - -(( $+functions[_git-mv] )) || -_git-mv () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '(-f --force)'{-f,--force}'[rename/move even if targets exist]' \ - '-k[skip rename/move that would lead to errors]' \ - '(-n --dry-run)'{-n,--dry-run}'[only show what would happen]' \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - ':source:__git_cached_files' \ - '*:: :->source-or-destination' && ret=0 - - case $state in - (source-or-destination) - _alternative \ - 'cached-files:source:__git_cached_files' \ - 'directories:destination directory:_directories' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-notes] )) || -_git-notes () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C $endopt \ - '--ref=[manipulate the notes tree in given ref]: :__git_notes_refs' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - list:'list notes object for given object' - add:'add notes for a given object' - copy:'copy notes from one object to another' - append:'append notes to a given object' - edit:'edit notes for a given object' - merge:'merge the given notes ref into the current ref' - show:'show notes for a given object' - remove:'remove notes for a given object' - prune:'remove all notes for non-existing/unreachable objects' - get-ref:'print the current notes ref' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (list|show) - _arguments -S $endopt \ - ': :__git_commits' && ret=0 - ;; - (add) - # TODO: Only complete commits that don't have notes already, unless - # -f or --force has been given. - _arguments -S -s $endopt \ - '*'{-m+,--message=}'[use given note message]:message' \ - '*'{-F+,--file=}'[take note message from given file]:note message file:_files' \ - '(-C --reuse-message)'{-C+,--reuse-message=}'[take note message from given blob object]: :__git_blobs' \ - '(-c --reedit-message)'{-c+,--reedit-message=}'[take note message from given blob object and edit it]: :__git_blobs' \ - '(-f --force)'{-f,--force}'[overwrite existing note]' \ - ': :__git_commits' && ret=0 - ;; - (copy) - _arguments -S -s $endopt \ - '(-f --force)'{-f,--force}'[replace existing note]' \ - '(:)--stdin[read objects from stdin]' \ - '(:--stdin)--for-rewrite=[load rewriting config for given command]:command:(amend rebase)' \ - ': :__git_commits' \ - ': :__git_commits' && ret=0 - ;; - (edit) - _arguments -S $endopt --allow-empty ':object:__git_commits' && ret=0 - ;; - (merge) - _arguments -S -s $endopt \ - '(-s --strategy)--abort[abort an in-progress notes merge]' \ - '(-s --strategy)--commit[finalize an in-progress notes merge]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(--abort --commit)'{-s,--strategy=}'[resolve conflicts using the given strategy]' \ - ': :__git_notes_refs' && ret=0 - ;; - (prune) - _arguments -s -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-n --dry-run)'{-n,--dry-run}"[don't remove anything, just report what would be deleted]" && ret=0 - ;; - (remove) - _arguments -S $endopt --ignore-missing --stdin ':object:__git_commits' && ret=0 - ;; - (append) - _arguments -S -s $endopt \ - '*'{-m+,--message=}'[use given note message]:message' \ - '*'{-F+,--file=}'[take note message from given file]:note message file:_files' \ - '(-C --reuse-message)'{-C+,--reuse-message=}'[take note message from given blob object]: :__git_blobs' \ - '(-c --reedit-message)'{-c+,--reedit-message=}'[take note message from given blob object and edit it]: :__git_blobs' \ - ': :__git_commits' && ret=0 - ;; - (get-ref) - _nothing - ;; - (*) - _default && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-pull] )) || -_git-pull () { - local -a merge_options fetch_options - __git_setup_merge_options - __git_setup_fetch_options - - _arguments -S -s $endopt \ - $merge_options \ - '(-r --rebase --no-rebase)'{-r=-,--rebase=-}'[perform a rebase after fetching]::rebase after fetching:(( - true\:"rebase after fetching" - false\:"merge after fetching" - merges\:"try to rebase merges instead of skipping them" - preserve\:"rebase and preserve merges" - interactive\:"allow list of commits to be edited" - ))' \ - '(-r --rebase )--no-rebase[do not perform a rebase after fetching]' \ - $fetch_options \ - '(--no-tags -t --tags)--no-tags[disable automatic tag following]' \ - ': :__git_any_repositories' \ - '*: :__git_ref_specs_fetchy' -} - -(( $+functions[_git-push] )) || -_git-push () { - local ret=1 - local -a sign - sign=( - {yes,true}'\:always,\ and\ fail\ if\ unsupported\ by\ server' - {no,false}'\:never' - if-asked'\:iff\ supported\ by\ server' - ) - # NOTE: For --receive-pack we use _files to complete, even though this will - # only complete files on the local end, not the remote end. Still, it may be - # helpful to get some sort of completion going, perhaps modifying the path - # later on to match the remote end. - _arguments -S -s $endopt \ - '--all[push all refs under refs/heads/]' \ - '--prune[remove remote branches that do not have a local counterpart]' \ - '--mirror[push all refs under refs/heads/ and refs/tags/ and delete non-existing refs]' \ - '(-n --dry-run)'{-n,--dry-run}'[do everything except actually send the updates]' \ - '--porcelain[produce machine-readable output]' \ - '(-d --delete)'{-d,--delete}'[delete all listed refs from the remote repository]' \ - '--tags[all tags under refs/tags are pushed]' \ - '--follow-tags[also push missing annotated tags reachable from the pushed refs]' \ - '(--receive-pack --exec)'{--receive-pack=-,--exec=-}'[path to git-receive-pack on remote]:remote git-receive-pack:_files' \ - '(--force-with-lease --no-force-with-lease)*--force-with-lease=-[allow refs that are not ancestors to be updated if current ref matches expected value]::ref and expectation:->lease' \ - '(--force-with-lease --no-force-with-lease)--no-force-with-lease[cancel all previous force-with-lease specifications]' \ - '--force-if-includes[require remote updates to be integrated locally]' \ - '(-f --force)'{-f,--force}'[allow refs that are not ancestors to be updated]' \ - '(:)--repo=[default repository to use]:repository:__git_any_repositories' \ - '(-u --set-upstream)'{-u,--set-upstream}'[add upstream reference for each branch that is up to date or pushed]' \ - '( --no-thin)--thin[try to minimize number of objects to be sent]' \ - '(--thin )--no-thin[do not try to minimize number of objects to be sent]' \ - '(-q --quiet -v --verbose --progress)'{-q,--quiet}'[suppress all output]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' \ - '(-q --quiet)--progress[output progress information]' \ - '(--verify)--no-verify[bypass the pre-push hook]' \ - '--recurse-submodules=[submodule handling]:submodule handling:(( - check\:"refuse to push if submodule commit not to be found on remote" - on-demand\:"push all changed submodules" - only\:"submodules will be recursively pushed while the superproject is left unpushed" - no\:"no submodule handling"))' \ - "(--no-signed --signed)--sign=-[GPG sign the push]::signing enabled:(($^^sign))" \ - '(--no-signed --sign)--signed[GPG sign the push]' \ - "(--sign --signed)--no-signed[don't GPG sign the push]" \ - '--atomic[request atomic transaction on remote side]' \ - '*'{-o+,--push-option=}'[transmit string to server to pass to pre/post-receive hooks]:string' \ - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' \ - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' \ - ': :__git_any_repositories' \ - '*: :__git_ref_specs_pushy' && ret=0 - - case $state in - (lease) - compset -P '*:' - if [[ -n ${IPREFIX#*=} ]]; then - _guard '[[:xdigit:]]#' "expected value" && ret=0 - else - __git_remote_branch_names_noprefix && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-range-diff] )) || -_git-range-diff () { - local -a diff_options - __git_setup_diff_options - - _arguments -s -S $endopt \ - '--creation-factor=[specify weighting for creation]:weighting (percent)' \ - '--no-dual-color[use simple diff colors]' \ - '(--no-notes)*--notes=[show notes that annotate commit, with optional ref argument show this notes ref instead of the default notes ref(s)]:: :__git_notes_refs' \ - '(--right-only)--left-only[only emit output related to the first range]' \ - '(--left-only)--right-only[only emit output related to the second range]' \ - $diff_options \ - '1:range 1:__git_commit_ranges' \ - '2:range 2:__git_commit_ranges' \ - '3:revision 2:__git_commits' -} - -(( $+functions[_git-rebase] )) || -_git-rebase () { - local -a autosquash_opts - - if (( words[(I)-i|--interactive] )); then - autosquash_opts=( - '( --no-autosquash)--autosquash[check for auto-squash boundaries]' - '(--autosquash )--no-autosquash[do not check for auto-squash boundaries]') - fi - - _arguments -s -S $endopt \ - - actions \ - '(-)--continue[continue after resolving merge conflict]' \ - '(-)--abort[abort current rebase]' \ - '(-)--edit-todo[edit interactive instruction sheet in an editor]' \ - '(-)--skip[skip the current patch]' \ - '(-)--quit[abort but keep HEAD where it is]' \ - '(-)--show-current-patch[show the patch file being applied or merged]' \ - - options \ - '(--onto --root)--keep-base[use the merge-base of upstream and branch as the current base]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-q --quiet -v --verbose --stat -n --no-stat)'{-q,--quiet}'[suppress all output]' \ - '(-q --quiet -v --verbose --stat -n --no-stat)'{-v,--verbose}'[output additional information]' \ - '(-n --no-stat)'{-n,--no-stat}"[don't show diffstat of what changed upstream]" \ - '--rerere-autoupdate[update the index with reused conflict resolution if possible]' \ - '--no-verify[bypass the pre-rebase hook]' \ - '(--apply -m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)-C-[ensure that given lines of surrounding context match]: :__git_guard_number "lines of context"' \ - '(-f --force-rebase)'{-f,--force-rebase}'[force rebase even if current branch descends from commit rebasing onto]' \ - '(-i --interactive)--ignore-whitespace[ignore changes in whitespace]' \ - '(--apply -m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)--whitespace=-[detect a new or modified line that has whitespace errors]: :__git_apply_whitespace_strategies' \ - '(-i --interactive)--committer-date-is-author-date[use author date as committer date]' \ - '(-f --force-rebase)'{--ignore-date,--reset-author-date}'[ignore author date and use current date]' \ - '(-m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)--apply[use apply strategies to rebase]' \ - '(-m --merge --apply --whitespace -C)'{-m,--merge}'[use merging strategies to rebase]' \ - '(-i --interactive --ignore-whitespace --apply --whitespace -C --committer-date-is-author-date)'{-i,--interactive}'[make a list of commits to be rebased and open in $EDITOR]' \ - '(--apply --whitespace -C)--empty=[specify how to handle commits that become empty]:handling:(drop keep ask)' \ - '(--apply --whitespace -C)'{-x+,--exec=}'[with -i\: append "exec <cmd>" after each line]:command:_command_names -e' \ - '(-r --rebase-merges --apply --whitespace -C)'{-r-,--rebase-merges=-}'[try to rebase merges instead of skipping them]::option:(rebase-cousins no-rebase-cousins)' \ - '(--apply --whitespace -C)*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '(--apply --whitespace -C)*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(1 --keep-base --fork-point)--root[rebase all reachable commits]' \ - $autosquash_opts \ - '(--autostash --no-autostash)--autostash[stash uncommitted changes before rebasing and apply them afterwards]' \ - "(--autostash --no-autostash)--no-autostash[don't stash uncommitted changes before rebasing and apply them afterwards]" \ - '(--root)--fork-point[use merge-base --fork-point to refine upstream]' \ - '--signoff[add Signed-off-by: trailer to the commit message]' \ - '--no-ff[cherry-pick all rebased commits with --interactive, otherwise synonymous to --force-rebase]' \ - '(--keep-base)--onto=[start new branch with HEAD equal to given revision]:newbase:__git_revisions' \ - "(--apply --whitespace -C)--reschedule-failed-exec[automatically re-schedule any 'exec' that fails]" \ - '(--apply --whitespace -C)--reapply-cherry-picks[apply all changes, even those already present upstream]' \ - ':upstream branch:__git_revisions' \ - '::working branch:__git_revisions' -} - -(( $+functions[_git-reset] )) || -_git-reset () { - local curcontext=$curcontext state line ret=1 - typeset -A opt_args - - _arguments -C -s -S $endopt \ - '( --mixed --hard --merge --keep -p --patch -- *)--soft[do not touch the index file nor the working tree]' \ - '(--soft --hard --merge --keep -p --patch -- *)--mixed[reset the index but not the working tree (default)]' \ - '(--soft --hard --merge --keep -p --patch -- *)'{-N,--intent-to-add}'[record only the fact that removed paths will be added later]' \ - '(--soft --mixed --merge --keep -p --patch -- *)--hard[match the working tree and index to the given tree]' \ - '(--soft --mixed --hard --keep -p --patch -- *)--merge[reset out of a conflicted merge]' \ - '(--soft --mixed --hard --merge -p --patch -- *)--keep[like --hard, but keep local working tree changes]' \ - '--recurse-submodules=-[control recursive updating of submodules]::reset:__git_commits' \ - '(-p --patch)'{-p,--patch}'[select diff hunks to remove from the index]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(--soft --mixed --hard --merge --keep):: :__git_commits' \ - '(--soft --mixed --hard --merge --keep)*:: :->file' && ret=0 - - case $state in - (file) - local tree=HEAD - if zstyle -t :completion:${curcontext}: verbose; then - if ! tree=$(_call_program headed git rev-parse --verify HEAD); then - # well-known sha1 of the empty tree - tree=4b825dc642cb6eb9a060e54bf8d69288fbee4904 - fi - fi - if [[ -n $line[1] ]] && __git_is_treeish $line[1]; then - tree=$line[1] - fi - __git_ignore_line __git_treeish-to-index_files $tree && ret=0 - esac - - return ret -} - -(( $+functions[_git-restore] )) || -_git-restore() { - local curcontext="$curcontext" state line expl ret=1 - local -A opt_args - - _arguments -C -s -S $endopt \ - '(-s --source)'{-s,--source=}'[specify which tree-ish to checkout from]:source tree:->sources' \ - '(-S --staged)'{-S,--staged}'[restore the index]' \ - '(-W --worktree)'{-W,--worktree}'[restore the working tree (default)]' \ - '--ignore-unmerged[ignore unmerged entries]' \ - '--overlay[never remove files when restoring]' '!(--overlay)--no-overlay' \ - '(-q --quiet --no-progress)'{-q,--quiet}'[suppress feedback messages]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '(--no-progress)--progress[force progress reporting]' \ - '(-m --merge)'{-m,--merge}'[perform a 3-way merge with the new branch]' \ - '--conflict=[change how conflicting hunks are presented]:conflict style [merge]:(merge diff3)' \ - '(-2 --ours -3 --theirs -m --merge)'{-2,--ours}'[checkout our version for unmerged files]' \ - '(-2 --ours -3 --theirs -m --merge)'{-3,--theirs}'[checkout their version for unmerged files]' \ - '(-p --patch)'{-p,--patch}'[select hunks interactively]' \ - "--ignore-skip-worktree-bits[don't limit pathspecs to sparse entries only]" \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '*:path spec:->pathspecs' && ret=0 - - case $state in - pathspecs) - integer opt_S opt_W - [[ -n ${opt_args[(I)-S|--staged]} ]] && opt_S=1 - [[ -n ${opt_args[(I)-W|--worktree]} ]] && opt_W=1 - if (( opt_S && opt_W )) - then - __git_ignore_line __git_changed_files && ret=0 - elif (( opt_S )) - then - __git_ignore_line __git_changed-in-index_files && ret=0 - else - __git_ignore_line __git_changed-in-working-tree_files && ret=0 - fi - ;; - sources) - # if a path has already been specified, use it to select commits - git_commit_opts=(-- $line) - __git_commits_prefer_recent -O expl:git_commit_opts && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-revert] )) || -_git-revert () { - _arguments -S -s $endopt \ - '(- :)--quit[end revert or cherry-pick sequence]' \ - '(- :)--continue[resume revert or cherry-pick sequence]' \ - '(- :)--abort[cancel revert or cherry-pick sequence]' \ - '(- :)--skip[skip current commit and continue]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '(-e --edit --no-edit)'{-e,--edit}'[edit the commit before committing the revert]' \ - '(-e --edit --no-edit)--no-edit[do not edit the commit message before committing the revert]' \ - '(-m --mainline)'{-m+,--mainline=}'[pick which parent is mainline]:parent number' \ - '--rerere-autoupdate[update the index with reused conflict resolution if possible]' \ - '(-n --no-commit)'{-n,--no-commit}'[do not commit the reversion]' \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by line at the end of the commit message]' \ - '--strategy=[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - ': :__git_recent_commits' -} - -(( $+functions[_git-rm] )) || -_git-rm () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-f --force)'{-f,--force}'[override the up-to-date check]' \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually remove the files, just show if they exist in the index]' \ - '-r[allow recursive removal when a leading directory-name is given]' \ - '--cached[only remove files from the index]' \ - '--ignore-unmatch[exit with 0 status even if no files matched]' \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-q --quiet)'{-q,--quiet}"[don't list removed files]" \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_cached_files && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-shortlog] )) || -_git-shortlog () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a revision_options - __git_setup_revision_options - - # TODO: should take all arguments found in setup_revisions() (probably more - # or less what git-rev-list takes). - _arguments -C -S -s $endopt \ - '(: -)'{-h,--help}'[print a short usage message and exit]' \ - '(-n --numbered)'{-n,--numbered}'[sort according to number of commits]' \ - '(-s --summary)'{-s,--summary}'[suppress commit description]' \ - '(-e --email)'{-e,--email}'[show email address of each author]' \ - '-w-[linewrap the output]:: :->wrap' \ - '*--group=[group commits by field]: : _values -S\: field author committer trailer\:trailer' \ - '(-c --committer)'{-c,--committer}'[alias for --group=committer]' \ - $revision_options \ - '(-)--[start file arguments]' \ - '*:: :->commit-range-or-file' && ret=0 - - case $state in - (wrap) - if [[ -prefix [[:digit:]]#,[[:digit:]]#,[[:digit:]]# ]]; then - compset -P '[[:digit:]]#,[[:digit:]]#,' - __git_guard_number 'indent of second and subsequent wrapped lines' - elif [[ -prefix [[:digit:]]#,[[:digit:]]# ]]; then - compset -P '[[:digit:]]#,' - compset -S ',[[:digit:]]#' - __git_guard_number 'indent of first wrapped line' - else - compset -S ',[[:digit:]]#,[[:digit:]]#' - __git_guard_number 'line width' - fi - ;; - (commit-range-or-file) - case $CURRENT in - (1) - if [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_cached_files' && ret=0 - fi - ;; - (*) - # TODO: Write a wrapper function that checks whether we have a - # committish range or committish and calls __git_tree_files - # appropriately. - if __git_is_committish_range $line[1]; then - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1]; then - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - else - __git_cached_files && ret=0 - fi - ;; - esac - esac - - return ret -} - -(( $+functions[_git-show] )) || -_git-show () { - local curcontext=$curcontext state line ret=1 - typeset -A opt_args - - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s $endopt \ - $log_options \ - $revision_options \ - '(-q --quiet)'{-q,--quiet}'[suppress diff output]' \ - '*:: :->object' && ret=0 - - case $state in - (object) - _alternative \ - 'commits::__git_commits' \ - 'tags::__git_tags' \ - 'trees::__git_trees' \ - 'blobs::__git_blobs' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-sparse-checkout] )) || -_git-sparse-checkout() { - local curcontext="$curcontext" state state_descr line ret=1 - local -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - list:'describe the patterns in the sparse-checkout file' - init:'enable the core.sparseCheckout setting' - set:'write a set of patterns to the sparse-checkout file' - add:'update the sparse-checkout file to include additional patterns' - reapply:'reapply the sparsity pattern rules to paths in the working tree' - disable:'disable the config setting, and restore all files in the working directory' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - init) - _arguments \ - '--cone[allow for better performance with a limited set of patterns]' \ - '--no-sparse-index[rewrite index to not be sparse]' - ;; - set|add) - _arguments -S \ - '--stdin[read patterns from input]' \ - '*:pattern:_files' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-stash] )) || -_git-stash () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - local -a save_arguments - - save_arguments=( - '(-p --patch -a --all -u --include-untracked)'{-p,--patch}'[interactively select hunks from diff between HEAD and working tree to stash]' - '(-k --keep-index --no-keep-index)'{-k,--keep-index}'[all changes already added to the index are left intact]' - '(-k --keep-index)--no-keep-index[all changes already added to the index are undone]' - '(-q --quiet)'{-q,--quiet}'[suppress all output]' - '(-p --patch -a --all -u --include-untracked)'{-u,--include-untracked}'[include untracked files]' - '(-p --patch -a --all -u --include-untracked)'{-a,--all}'[include ignored files]' - '(* -p --patch)--pathspec-from-file=[read pathspec from file]:file:_files' - '(* -p --patch)--pathspec-file-nul[pathspec elements are separated with NUL character]' - ) - - _arguments -C \ - '*::: :->args' \ - '(-m --message)'{-m+,--message=}'[specify stash description]:description' \ - ${save_arguments//#\(/(* } && ret=0 - - if [[ -n $state ]]; then - if (( CURRENT == 1 )); then - local -a commands - - commands=( - {push,save}:'save your local modifications to a new stash' - list:'list the stashes that you currently have' - show:'show the changes recorded in the stash as a diff' - pop:'remove and apply a single stashed state from the stash list' - apply:'apply the changes recorded in the stash' - branch:'branch off at the commit at which the stash was originally created' - clear:'remove all the stashed states' - drop:'remove a single stashed state from the stash list' - create:'create a stash without storing it in the ref namespace' - ) - - _describe -t commands command commands && ret=0 - else - curcontext=${curcontext%:*}-$line[1]: - compset -n 1 - - case $line[1] in - (save) - _arguments -S $endopt \ - $save_arguments \ - ':: :_guard "([^-]?#|)" message' && ret=0 - ;; - (push) - _arguments -S $endopt \ - $save_arguments \ - '(-m --message)'{-m+,--message=}'[specify stash description]:description' \ - '*: : __git_ignore_line __git_modified_files' && ret=0 - ;; - (--) - __git_modified_files - ;; - (list) - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -s \ - $log_options \ - $revision_options && ret=0 - ;; - (show) - local diff_options - __git_setup_diff_options - - _arguments -S -s $endopt \ - $diff_options \ - ':: :__git_stashes' && ret=0 - ;; - (pop|apply) - _arguments -S $endopt \ - '--index[try to reinstate the changes added to the index as well]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ':: :__git_stashes' && ret=0 - ;; - (branch) - _arguments \ - ': :__git_guard_branch-name' \ - ':: :__git_stashes' && ret=0 - ;; - (clear) - _nothing - ;; - (drop) - _arguments -S $endopt \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ':: :__git_stashes' && ret=0 - ;; - (create) - _nothing - ;; - (*) - _nothing - ;; - esac - fi - fi - - return ret -} - -(( $+functions[_git-status] )) || -_git-status () { - local -a branch_opts - - if (( $words[(I)-s|--short|--porcelain|-z] )); then - branch_opts=('(-b --branch)'{-b,--branch}'[show branch and tracking info]') - fi - - _arguments -S -s $endopt \ - '(-s --short --column --no-column --show-stash)'{-s,--short}'[output in short format]' \ - $branch_opts \ - '(-s --short)--porcelain=-[produce machine-readable output]:version:(v1)' \ - '(-s --short)--show-stash[show stash information]' \ - '!(--no-ahead-behind)--ahead-behind' \ - "--no-ahead-behind[don't display detailed ahead/behind counts relative to upstream branch]" \ - '(-u --untracked-files)'{-u-,--untracked-files=-}'[show untracked files]::mode:((no\:"show no untracked files" \ - normal\:"show untracked files and directories" \ - all\:"also show untracked files in untracked directories (default)"))' \ - '--ignore-submodules[ignore changes to submodules]:: :__git_ignore_submodules_whens' \ - '--ignored=-[show ignored files as well]:mode [traditional]:(traditional matching no)' \ - '(-z --null --column --no-column)'{-z,--null}'[use NUL termination on output]' \ - '(--no-column -z --null)--column=-[display in columns]:: :_git_column_layouts' \ - "(--column)--no-column[don't display in columns]" \ - "(--no-renames -M --find-renames)--no-renames[don't detect renames]" \ - '(--no-renames -M --find-renames)-M[detect renames]' \ - '(--no-renames -M --find-renames)--find-renames=-[detect renames, optionally set similarity index]::similarity' \ - '*: :__git_ignore_line_inside_arguments _files' -} - -(( $+functions[_git-submodule] )) || -_git-submodule () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - add:'add given repository as a submodule' - status:'show the status of a submodule' - init:'initialize a submodule' - deinit:'unregister a submodule' - update:'update a submodule' - set-branch:'set default remote tracking branch for the submodule' - set-url:'set URL of the specified submodule' - summary:'show commit summary between given commit and working tree/index' - foreach:'evaluate shell command in each checked-out submodule' - absorbgitdirs:'move the git directory of a submodule into its superprojects' - sync:'synchronize submodule settings') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (add) - # TODO: Second argument should only complete relative paths inside - # the current repository. - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(-b --branch)'{-b,--branch}'[branch of repository to add as submodule]' \ - '(-f --force)'{-f,--force}'[allow adding an otherwise ignored submodule path]' \ - '--name[use given name instead of defaulting to its path]:name' \ - '--reference=[remote repository to clone]: :__git_any_repositories' \ - ': :__git_any_repositories' \ - ':: :_directories' && ret=0 - ;; - (status) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--cached[use commit stored in the index]' \ - '--recursive[traverse submodules recursively]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (init) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (deinit) - _arguments -S \ - '(-f --force)'{-f,--force}'[remove submodule worktree even if local modifications are present]' \ - '(*)--all[remove all submodules]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (update) - # TODO: --init not properly documented. - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(-N --no-fetch)'{-N,--no-fetch}'[do not fetch new objects from repository]' \ - '(--merge --rebase)--checkout[checkout commit recorded in the superproject in the submodule on a detached HEAD]' \ - '(--checkout --rebase)--merge[merge commit recorded in superproject into current branch of submodule]' \ - '(--checkout --merge)--rebase[rebase current branch onto commit recorded in superproject]' \ - '--no-recommend-shallow[ignore submodule.<name>.shallow from .gitmodules]' \ - '--reference=[remote repository to clone]: :__git_any_repositories' \ - '--recursive[traverse submodules recursively]' \ - '--remote[use the status of the submodule''s remote-tracking branch]' \ - '--force[discard local changes by checking out the current up-to-date version]' \ - '--init[initialize uninitialized submodules]' \ - '--single-branch[clone only one branch]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (set-branch) - _arguments -C -A '-*' \ - '(-d --default)'{-d,--default}'[remove config key to cause the tracking branch to default to master]' \ - '(-b --branch)'{-b,--branch=}'[specify the remote branch]:remote branch' \ - '1:path:_directories' - ;; - (set-url) - _arguments -C -A '-*' \ - '1:path:_directories' \ - '2:url:_urls' && ret=0 - ;; - (summary) - _arguments -C -A '-*' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(--files)--cached[use commit stored in the index]' \ - '(--cached)--files[compare commit in index with submodule HEAD commit]' \ - '(-n --summary-limit)'{-n,--summary-limit=}'[limit summary size]: :__git_guard_number "limit"' \ - '(-)--[start submodule arguments]' \ - '*:: :->commit-or-submodule' && ret=0 - - case $state in - (commit-or-submodule) - if (( CURRENT == 1 )) && [[ -z ${opt_args[(I)--]} ]]; then - _alternative \ - 'commits::__git_commits' \ - 'submodules::__git_submodules' && ret=0 - else - __git_ignore_line __git_submodules && ret=0 - fi - ;; - esac - ;; - (foreach) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--recursive[traverse submodules recursively]' \ - '(-):command: _command_names -e' \ - '*::arguments: _normal' && ret=0 - ;; - (sync) - _arguments -S \ - '--recursive[traverse submodules recursively]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (absorbgitdirs) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*:path:_directories' - ;; - (*) - _default - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-subtree] )) || -_git-subtree () { - local curcontext="$curcontext" state state_descr line ret=1 - declare -A opt_args - - # TODO: -P should only complete paths inside the current repository. - _arguments -C \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '-d[show debug messages]' \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - add:'create the subtree by importing its contents' - merge:'merge recent changes up to specified commit into the subtree' - pull:'fetch from remote repository and merge recent changes into the subtree' - push:'does a split and `git push`' - split:'extract a new synthetic project history from a subtree') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (add) - _arguments \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_any_repositories_or_references' \ - ':: :__git_ref_specs' && ret=0 - # TODO: the use of __git_ref_specs isn't quite right: it will - # complete "foo:bar" values which git-subtree(1) doesn't take. What - # we should complete here is what's on *one* side of the colon in - # __git_ref_specs. - ;; - (merge) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_references' && ret=0 - ;; - (pull) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_any_repositories' \ - ':: :__git_ref_specs' && ret=0 - ;; - (push) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - ': :__git_any_repositories' \ - ':: :__git_ref_specs' && ret=0 - ;; - (split) - _arguments -S \ - '--annotate[add a prefix to commit message of new commits]:prefix' \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[specify path to the subtree in the repository to manipulate]: :_directories' \ - '(-b --branch)'{-b,--branch=}'[create a new branch]' \ - '--onto=[try connecting new tree to an existing one]: :__git_ref_specs' \ - '(-m --message)'{-m+,--message=}'[specify commit message for the merge]:message' \ - '--ignore-joins[ignore prior --rejoin commits]' \ - '--onto=[try connecting new tree to an existing one]: :__git_ref_specs' \ - '--rejoin[merge the new branch back into HEAD]' \ - '*: :__git_references' && ret=0 - ;; - (*) - _default && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-switch] )) || -_git-switch() { - local curcontext="$curcontext" state line expl ret=1 - local -A opt_args - - _arguments -C -s -S $endopt \ - '(-c --create -C --force-create -d --detach --orphan --ignore-other-worktrees 1)'{-c,--create}'[create and switch to a new branch]:branch:->branches' \ - '(-c --create -C --force-create -d --detach --orphan --ignore-other-worktrees 1)'{-C,--force-create}'[create/reset and switch to a branch]:branch:->branches' \ - "(--guess --orphan 2)--no-guess[don't second guess 'git switch <no-such-branch>']" \ - "(--no-guess -t --track -d --detach --orphan 2)--guess[second guess 'git switch <no-such-branch> (default)]" \ - '(-f --force --discard-changes -m --merge --conflict)'{-f,--force,--discard-changes}'[throw away local modifications]' \ - '(-q --quiet --no-progress)'{-q,--quiet}'[suppress feedback messages]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '--progress[force progress reporting]' \ - '(-m --merge --discard-changes --orphan)'{-m,--merge}'[perform a 3-way merge with the new branch]' \ - '(--discard-changes --orphan)--conflict=[change how conflicting hunks are presented]:conflict style [merge]:(merge diff3)' \ - '(-d --detach -c --create -C --force-create --ignore-other-worktrees --orphan --guess --no-guess 1)'{-d,--detach}'[detach HEAD at named commit]' \ - '(-t --track --no-track --guess --orphan 1)'{-t,--track}'[set upstream info for new branch]' \ - "(-t --track --guess --orphan 1)--no-track[don't set upstream info for a new branch]" \ - '(-c --create -C --force-create -d --detach --ignore-other-worktrees -m --merge --conflict -t --track --guess --no-track -t --track)--orphan[create new unparented branch]: :__git_branch_names' \ - '!--overwrite-ignore' \ - "(-c --create -C --force-create -d --detach --orphan)--ignore-other-worktrees[don't check if another worktree is holding the given ref]" \ - '1: :->branches' \ - '2:start point:->start-points' && ret=0 - - case $state in - branches) - if [[ -n ${opt_args[(i)--guess]} ]]; then - # --guess is the default but if it has been explicitly specified, - # we'll only complete remote branches - __git_remote_branch_names_noprefix && ret=0 - else - _alternative \ - 'branches::__git_branch_names' \ - 'remote-branch-names-noprefix::__git_remote_branch_names_noprefix' && ret=0 - fi - ;; - start-points) - if [[ -n ${opt_args[(I)-t|--track|--no-track]} ]]; then - # with an explicit --track, stick to remote branches - # same for --no-track because it'd be meaningless with anything else - __git_heads_remote && ret=0 - else - __git_revisions && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-tag] )) || -_git-tag () { - _arguments -s -S $endopt \ - - creation \ - '(-a --annotate -s --sign -u --local-user)'{-a,--annotate}'[create an unsigned, annotated tag]' \ - '(-e --edit)'{-e,--edit}'[force edit of tag message]' \ - '(-a --annotate -s --sign -u --local-user)'{-s,--sign}'[create a signed and annotated tag]' \ - '(-a --annotate -s --sign)'{-u+,--local-user=}'[create a tag, annotated and signed with the given key]: :__git_gpg_secret_keys' \ - '(-f --force)'{-f,--force}'[replace existing tag]' \ - '--create-reflog[create a reflog]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '(-m --message -F --file)'{-F+,--file=}'[read tag message from given file]:message file:_files' \ - '(-m --message -F --file)'{-m+,--message=}'[specify tag message]:message' \ - ': :__git_tags' \ - ':: :__git_commits' \ - - deletion \ - '(-d --delete)'{-d,--delete}'[delete tags]' \ - '*:: :__git_ignore_line_inside_arguments __git_tags' \ - - listing \ - '-n+[limit line output of annotation]: :__git_guard_number "limit"' \ - '(-l --list)'{-l,--list}'[list tags matching pattern]' \ - '(--no-column)--column=-[display tag listing in columns]:: :_git_column_layouts' \ - '(--column)--no-column[do not display in columns]' \ - '*--contains=[only list tags that contain the specified commit]: :__git_commits' \ - "*--no-contains=[only list tags that don't contain the specified commit]: :__git_commits" \ - '--merged=-[print only tags that are merged]:: :__git_commits' \ - '--no-merged=-[print only tags that are not merged]:: :__git_commits' \ - '--sort=[specify how the tags should be sorted]:field:__git_ref_sort_keys' \ - '--points-at=[only list tags of the given object]: :__git_commits' \ - '--format=[specify format to use for the output]:format:__git_format_ref' \ - '--color=-[respect any colors specified in the format]::when:(always never auto)' \ - '(-i --ignore-case)'{-i,--ignore-case}'[sorting and filtering are case-insensitive]' \ - ':: :_guard "^-*" pattern' \ - - verification \ - '(-v --verify)'{-v,--verify}'[verify gpg signature of tags]' \ - '*:: :__git_ignore_line_inside_arguments __git_tags' -} - -(( $+functions[_git-worktree] )) || -_git-worktree() { - local curcontext="$curcontext" state state_descr line ret=1 - declare -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands args - - commands=( - add:'create a new working tree' - prune:'prune working tree information' - list:'list details of each worktree' - lock:'prevent a working tree from being pruned' - move:'move a working tree to a new location' - remove:'remove a working tree' - unlock:'allow working tree to be pruned, moved or deleted' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (add) - if (( $words[(I)--detach] )); then - args=( ':branch:__git_branch_names' ) - else - args=( ':commit:__git_commits' ) - fi - _arguments -S $endopt \ - '(-f --force)'{-f,--force}'[checkout branch even if already checked out in another worktree]' \ - '(-B --detach)-b+[create a new branch]: :__git_branch_names' \ - '(-b --detach)-B+[create or reset a branch]: :__git_branch_names' \ - '(-b -B)--detach[detach HEAD at named commit]' \ - '--no-checkout[suppress file checkout in new worktree]' \ - '--lock[keep working tree locked after creation]' \ - ':path:_directories' $args && ret=0 - ;; - (prune) - _arguments -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}"[don't remove, show only]" \ - '(-v --verbose)'{-v,--verbose}'[report pruned objects]' \ - '--expire[expire objects older than specified time]:time' && ret=0 - ;; - (list) - _arguments -S $endopt '--porcelain[machine-readable output]' && ret=0 - ;; - (lock) - _arguments -C -S $endopt '--reason=[specify reason for locking]:reason' ': :->worktrees' && ret=0 - ;; - (move) - _arguments -C \ - ': :->worktrees' \ - ':location:_directories' && ret=0 - ;; - (remove) - _arguments -C -S $endopt '--force[remove working trees that are not clean or that have submodules]' \ - ': :->worktrees' && ret=0 - ;; - (unlock) - state=worktrees - ;; - esac - if [[ $state = worktrees ]]; then - __git_worktrees && ret=0 - fi - ;; - esac - return ret -} - -(( $+functions[_gitk] )) || -_gitk () { - _git-log -} - -(( $+functions[_tig] )) || -_tig () { - _git-log -} - -# Ancillary Commands (Manipulators) - -(( $+functions[_git-config] )) || -_git-config () { - local name_arg value_arg - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - if (( words[(I)--get-regexp] )); then - name_arg=':name regex' - elif (( words[(I)--get-colorbool] )); then - name_arg=':: :->is-a-tty' - elif (( words[(I)--get-color] )); then - name_arg='::default' - elif (( words[(I)--remove-section|--rename-section] )); then - name_arg=': :->section' - elif (( words[(I)--get|--get-all] )); then - name_arg=': :->gettable-option' - else - name_arg=': :->option' - fi - - if (( words[(I)--rename-section] )); then - value_arg=': :->section' - else - value_arg=': :->value' - fi - - _arguments -C -S -s $endopt \ - '( --system --local --worktree -f --file --blob)--global[use user-global config file]' \ - '(--global --local --worktree -f --file --blob)--system[use system-wide config file]' \ - '(--global --system --worktree -f --file --blob)--local[use local config file]' \ - '(--global --system --local -f --file --blob)--worktree[use per-worktree config file]' \ - '(--global --system --local --worktree --blob)'{-f+,--file=}'[use given config file]:config file:_files' \ - '(--global --system --local --worktree -f --file)--blob=[read config from given blob object]:blob:__git_blobs' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --path --expiry-date)'{-t+,--type=}'[ensure that incoming and outgoing values are canonicalize-able as the given type]:type:(bool int bool-or-int bool-or-str path expiry-date color)' \ - '(-t --type --int --bool-or-int --bool-or-str --path --expiry-date)--bool[setting is a boolean]' \ - '(-t --type --bool --bool-or-int --bool-or-str --path --expiry-date)--int[setting is an integer]' \ - '(-t --type --bool --int --bool-or-str --path --expiry-date)--bool-or-int[setting is a boolean or integer]' \ - '(-t --type --bool --int --bool-or-int --path --expiry-date)--bool-or-str[setting is a boolean or string]' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --expiry-date)--path[setting is a path]' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --path)--expiry-date[setting is an expiry date]' \ - '(-z --null)'{-z,--null}'[end values with NUL and newline between key and value]' \ - '--fixed-value[use string equality when comparing values]' \ - '(--get --get-all --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool)--name-only[show variable names only]' \ - '(--includes)'--no-includes"[don't respect \"include.*\" directives]" \ - '(--no-includes)'--includes'[respect "include.*" directives in config files when looking up values]' \ - '(--global --system --local -f --file --blob --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool --show-scope)--show-origin[show origin of config]' \ - '(--global --system --local -f --file --blob --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool --show-origin)--show-scope[show scope of config (worktree, local, global, system, command)]' \ - '(2 --add -e --edit -l --list --name-only --rename-section --remove-section --replace-all --unset --unset-all)--default=[with --get, use specified default value when entry is missing]:default' \ - $name_arg \ - $value_arg \ - '::value regex' \ - - '(actions)' \ - '(2 --name-only)--get[get the first matching value of the key]' \ - '(2 --name-only)--get-all[get all matching values of the key]' \ - '(2)--get-regexp[like "--get-all", but interpret "name" as a regular expression]' \ - '(--name-only --show-origin)--get-urlmatch[get value specific for the URL]' \ - '(-z --null --name-only --show-origin)--replace-all[replace all values of the given key]' \ - '(3 -z --null --name-only --show-origin)--add[add new value without altering any existing ones]' \ - '(2 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--unset[remove the first matching value of the key]' \ - '(2 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--unset-all[remove all matching values of the key]' \ - '(3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--rename-section[rename the given section]' \ - '(3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--remove-section[remove the given section]' \ - '(: --bool --int --bool-or-int --bool-or-str --path)'{-l,--list}'[list all variables set in config file]' \ - '(-e --edit --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)'{-e,--edit}'[open config file for editing]' \ - '(2 3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--get-color[find color setting]: :->gettable-color-option' \ - '(2 3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--get-colorbool[check if color should be used]: :->gettable-colorbool-option' && ret=0 - __git_config_option-or-value "$@" && ret=0 - return ret -} - -(( $+functions[__git_config_option] )) || -__git_config_option () { - local -A opt_args=() - local -a line=( ${words[CURRENT]%%=*} ) - local state=option - __git_config_option-or-value "$@" -} - -(( $+functions[__git_config_value] )) || -__git_config_value () { - local -A opt_args=() - local -a line=( ${words[CURRENT]%%=*} ${words[CURRENT]#*=} ) - local state=value - __git_config_option-or-value "$@" -} - -# Helper to _git-config(). May be called by other functions, too, provided -# that The caller has set $line, $state, and $opt_args as _git-config() would -# set them: -# -# - set $line[1] to the option name being completed (even if completing an -# option value). -# - set $opt_args to git-config(1) options, as set by _arguments in -# _git-config(). -# - set $state as _arguments in _git-config() would set it. -(( $+functions[__git_config_option-or-value] )) || -__git_config_option-or-value () { - local expl ret - - # TODO: Add support for merge.*. (merge driver), diff.*. (diff driver), and filter.*. (filter driver) options - # (see gitattributes(5)). - # TODO: .path options should take absolute paths. - declare -a git_options - git_options=( - advice.fetchShowForcedUpdates:'show advice when git-fetch takes time to calculate forced updates::->bool:true' - advice.pushNonFastForward:'show advice when git push refuses non-fast-forward refs::->bool:true' - advice.pushUpdateRejected:'combined setting for advice.push*::->bool:true' - advice.pushNonFFCurrent:'show advice when git push fails due to a non-fast-forward update to the current branch::->bool:true' - advice.pushNonFFMatching:'show advice when running git-push and pushed matching refs explicitly::->bool:true' - advice.pushAlreadyExists:'show advice when git-push rejects an update that does not qualify for fast-forwarding::->bool:true' - advice.pushFetchFirst:'show advice when git-push rejects an update that tries to overwrite a remote ref that points at unknown object::->bool:true' - advice.pushNeedsForce:'show advice when git-push rejects an update that tries to overwrite a remote ref that points a non-commitish::->bool:true' - advice.pushUnqualifiedRefname:'show advice when git-push gives up trying to guess a remote ref::->bool:true' - advice.statusHints:'show advice in output of git status::->bool:true' - advice.statusUoption:'show advice to consider using the "-u" option to git-status when it takes more than 2 seconds::->bool:true' - advice.commitBeforeMerge:'show advice when git merge refuses to merge::->bool:true' - advice.resetQuiet:'show advice to consider using the --quiet option to git-reset::->bool:true' - advice.resolveConflict:'show advice when conflict prevents operation from being performed::->bool:true' - advice.sequencerInUse:'show advice shown when a sequencer command is already in progress::->bool:true' - advice.implicitIdentity:'show advice when identity is guessed from system settings::->bool:true' - advice.detachedHead:'show advice when entering detached-HEAD state::->bool:true' - advice.checkoutAmbiguousRemoteBranchName:'show advice when argument for a remote tracking branch is ambiguous::->bool:true' - advice.amWorkDir:'show the location of the patch file when git-am fails to apply it::->bool:true' - advice.rmHints:'show directions in case of failure in the output of git-rm(1)::->bool:true' - advice.addEmbeddedRepo:"show advice on what to do when you’ve accidentally added one git repo inside of another::->bool:true" - advice.ignoredHook:'show advice if a hook is ignored because the hook is not set as executable::->bool:true' - advice.waitingForEditor:'print a message to the terminal whenever Git is waiting for editor input from the user::->bool:true' - advice.nestedTag:'show advice if a user attempts to recursively tag a tag object::->bool:true' - author.email:'email address used for author in commits::_email_addresses -c' - author.name:'full name used for author in commits:name:->string' - am.threeWay:'use 3-way merge if patch does not apply cleanly::->bool:false' - blame.blankboundary:'show blank SHA-1 for boundary commits::->bool:false' - blame.coloring:'determine the coloring scheme to be applied to blame output:scheme [none]:->string' - blame.showEmail:"show author email instead of author name::->bool:false" - blame.showroot:'show root commits as normal commits::->bool:false' - blame.ignoreRevsFile:'ignore revisions listed in the file:file:_files' - blame.date:'date format to use in output::__git_date_formats:iso' - 'branch.*.description:branch description:branch description:->string' - branch.sort:"default sorting order for 'git branch' output::__git_ref_sort_keys" - checkout.defaultRemote:'assumed remote name when specifying an unqualified remote branch name:remote name:__git_remotes' - cvsexportcommit.cvsdir:'the default location of the CVS checkout to use for the export:cvs export dir:_directories' - column.ui:'specify whether supported commands should output in columns.::->column:never' - column.branch:'specify whether to output branch listing in git branch in columns::_git_column_layouts:never' - column.clean:'specify the layout when listing items in git clean -i::_git_column_layouts:never' - column.status:'specify whether to output untracked files in git status in columns::_git_column_layouts:never' - column.tag:'specify whether to output tag listing in git tag in columns::_git_column_layouts:never' - committer.email:'email address used for committer in commits::_email_addresses -c' - committer.name:'full name used for committer in commits:name:->string' - core.fileMode:'track changes to the executable bit of files::->bool:true' - core.attributesfile:'look into this file for attributes in addition to .gitattributes:additional attributes file:_files' - core.abbrev:'set the length object names are abbreviated to:length:->int:7' - core.checkRoundtripEncoding:"encodings to UTF-8 round trip check::_guard '' 'comma-separated list of encodings'" # _guard used as a hack because _message doesn't take compadd options - core.commentchar:'comment character when using an editor::->string' - core.filesRefLockTimeout:"how long to retry locking a reference:retry time (milliseconds, or -1 for indefinite):->int:100" - core.ignoreCygwinFSTricks:'use Cygwin stat()/lstat()::->bool:true' - core.ignorecase:'use workarounds for non-case-sensitive filesystems::->bool:false' - core.trustctime:'trust inode change time::->bool:true' - core.quotepath:'escape characters in paths on output::->bool:false' - core.eol:'line ending type::->core.eol:native' - core.safecrlf:'verify that CRLF conversion is reversible::->core.safecrlf:false' - core.autocrlf:'convert CRLFs to and from system specific::->core.autocrlf:false' - core.symlinks:'create symbolic links for indexed symbolic links upon creation::->bool:true' - core.gitProxy:'command to execute to establish a connection to remote server:proxy command:_cmdstring' - core.ignoreStat:'ignore modification times of files::->bool:false' - core.preferSymlinkRefs:'use symbolic links for symbolic-reference files::->bool:false' - core.bare:'use a repository without a working tree::->bool:false' - core.worktree:'path to the root of the work tree:work tree:_directories' - core.logAllRefUpdates:'log updates of references::->bool:true' - core.repositoryFormatVersion:'internal variable determining the repository version:version:->string' - core.sharedRepository:'what kind of sharing is done for this repository::->permission:false' - core.warnAmbiguousRefs:'warn if a ref name is ambiguous::->bool:true' - core.compression:'level of compression to apply to packs::->compression:-1' - core.loosecompression:'level of compression to apply to non-pack files::->compression:1' - core.packedGitWindowSize:'size of mappings of pack files:pack window size:->bytes' - core.packedGitLimit:'maximum number of bytes to map from pack files:maximum pack file map size:->bytes' - core.packedRefsTimeout:"how long to retry locking the packed-refs file:retry time (milliseconds, or -1 for indefinite):->int:1000" - core.precomposeunicode:'revert the unicode decomposition of filenames done by Mac OS::->bool:false' - core.deltaBaseCacheLimit:'maximum size of cache for base objects:maximum base objects cache size:->bytes:96m' - core.bigFileThreshold:'maximum size of files to compress:maximum compress size:->bytes:512m' - core.excludesfile:'additional file to use for exclusion:excludes file:_files' - core.askpass:'program to use for asking for passwords:password command:_cmdstring' - core.editor:'editor to use for editing messages:editor:_cmdstring' - core.pager:'pager to use for paginating output:pager:_cmdstring' - core.whitespace:'list of common whitespace problems to notice::->core.whitespace' - core.fsyncobjectfiles:'fsync() when writing object files::->bool:false' - core.preloadindex:'use parallel index preload for operations like git diff::->bool:true' - core.createObject:'take steps to prevent overwriting existing objects::->core.createObject:link' - core.checkstat:'determine which stat fields to match between the index and work tree::->core.checkstat:default' - core.notesRef:'show notes in given refs:refs:->string:refs/notes/commits' - core.sparseCheckoutCone:"enable git-sparse-checkout(1) cone mode::->bool:false" - core.sparseCheckout:'use sparse checkout::->bool:false' - core.splitIndex:"enable the split-index feature::->bool:false" - core.useReplaceRefs:"honour 'replace' refs::->bool:true" - credential.helper:'external helper to be called when a username or password credential is needed::_cmdstring' - credential.useHttpPath:'consider the "path" component of an http or https URL to be important::->bool:false' - credential.username:'If no username is set use this username by default:default username:->string' - 'credential.*.helper:external helper to be called when a username or password credential is needed::_cmdstring' - 'credential.*.useHttpPath:consider the "path" component of an http or https URL to be important::->bool:false' - 'credential.*.username:if no username is set use this username by default:default username:->string' - credentialCache.ignoreSIGHUP:'ignore SIGHUP in git-credential-cache—daemon::->bool:false' - add.ignore-errors:'ignore indexing errors when adding files::->bool:false' - add.ignoreErrors:'ignore indexing errors when adding files::->bool:false' - am.keepcr:'keep CR characters when splitting mails::->bool:false' - apply.ignorewhitespace:'ignore whitespace changes::->apply.ignorewhitespace:no' - apply.whitespace:'default value for the --whitespace option::->apply.whitespace:error' - branch.autosetupmerge:'set up new branches for git pull::->bool:true' - branch.autosetuprebase:'rebase new branches of merge for autosetupmerge::->branch.autosetuprebase:never' - 'branch.*.remote:what remote git fetch and git push should fetch form/push to::__git_remotes' - 'branch.*.merge:default refspec to be marked for merging::__git_remote_references' - 'branch.*.mergeoptions:default options for merging::->branch.mergeoptions' - 'branch.*.pushremote:what remote git push should push to::__git_remotes' - 'branch.*.rebase:rebase on top of fetched branch::->bool:false' - 'browser.*.cmd:browser command to use:browser:_cmdstring' - 'browser.*.path:path to use for the browser:absolute browser path:_absolute_command_paths' - clean.requireForce:'require --force for git clean to actually do something::->bool:true' - color.branch:'color output of git branch::->color-bool:false' - color.branch.current:'color of the current branch::->color' - color.branch.local:'color of a local branch::->color' - color.branch.remote:'color of a remote branch::->color' - color.branch.upstream:'color of upstream branches::->color' - color.branch.plain:'color of other branches::->color' - color.diff:'color output of git diff::->color-bool:false' - color.diff.plain:'color of context text::->color' - color.diff.meta:'color of meta-information::->color' - color.diff.frag:'color of hunk headers::->color' - color.diff.func:'color of function in hunk header::->color' - color.diff.old:'color of removed lines::->color' - color.diff.oldMoved:'color of lines removed by a move::->color' - color.diff.oldMovedAlternative:'alternative color of lines removed by a move::->color' - color.diff.oldMovedAlternativeDimmed:'dimmed alternative color of lines removed by a move::->color' - color.diff.oldMovedDimmed:'dimmed color of lines removed by a move::->color' - color.diff.new:'color of added lines::->color' - color.diff.newMoved:'color of lines added by a move::->color' - color.diff.newMovedAlternative:'alternative color of lines added by a move::->color' - color.diff.newMovedAlternativeDimmed:'dimmed alternative color of lines added by a move::->color' - color.diff.newMovedDimmed:'dimmed color of lines added by a move::->color' - color.diff.commit:'color of commit headers::->color' - color.diff.whitespace:'color of whitespace errors::->color' - color.decorate.branch:'color of branches::->color' - color.decorate.remoteBranch:'color of remote branches::->color' - color.decorate.tag:'color of tags::->color' - color.decorate.stash:'color of stashes::->color' - color.decorate.HEAD:'color of HEAD::->color' - color.grep:'whether or not to color output of git grep::->color-bool:false' - color.grep.context:'color of non-matching text in context lines::->color' - color.grep.filename:'color of filename prefix::->color' - color.grep.function:'color of function name lines::->color' - color.grep.linenumber:'color of line number prefix::->color' - color.grep.match:'color of matching text::->color' - color.grep.selected:'color of non-matching text in selected lines::->color' - color.grep.separator:'color of separators between fields in a line::->color' - color.interactive:'whether or not to color in interactive mode::->color-bool:false' - color.interactive.prompt:'color of prompt::->color' - color.interactive.header:'color of header::->color' - color.interactive.help:'color of help::->color' - color.interactive.error:'color of error::->color' - color.pager:'feed colored output to pager::->bool:true' - color.showbranch:'color output of git show-branch::->color-bool:false' - color.status:'color output of git status::->color-bool:false' - color.status.branch:'color of the current branch::->color' - color.status.header:'color of header text::->color' - color.status.added:'color of added, but not yet committed, files::->color' - color.status.updated:'color of updated, but not yet committed, files::->color' - color.status.changed:'color of changed, but not yet added in the index, files::->color' - color.status.untracked:'color of files not currently being tracked::->color' - color.status.nobranch:'color of no-branch warning::->color' - color.ui:'color output of capable git commands::->color-bool:auto' - commit.cleanup:'default --cleanup option::_git_cleanup_modes' - commit.gpgsign:'always GPG-sign commits::->bool:false' - commit.status:'include status information in commit message template::->bool:true' - commit.template:'template file for commit messages:template:_files' - 'diff.*.binary:make the diff driver treat files as binary::->bool:false' - 'diff.*.cachetextconv:make the diff driver cache the text conversion outputs::->bool:false' - 'diff.*.command:custom diff driver command::_cmdstring' - 'diff.*.textconv:command to generate the text-converted version of a file::_cmdstring' - 'diff.*.wordregex:regular expression that the diff driver should use to split words in a line:regular expression:->string' - 'diff.*.xfuncname:regular expression that the diff driver should use to recognize the hunk header:regular expression:->string' - diff.algorithm:'default diff algorithm::->diff.algorithm:default' - diff.autorefreshindex:'run git update-index --refresh before git diff::->bool:true' - diff.colorMoved:"color moved lines in diffs::__git_color_moved" - diff.colorMovedWS:"ignore whitespace when detecting moved lines::__git_color_movedws" - diff.wsErrorHighlight:'highlight whitespace errors: :__git_ws_error_highlight' - diff.context:'default number of context lines::->int:3' - diff.dirstat:'comma separated list of --dirstat parameters specifying default behaviour:comma-separated list:->string:changes,noncumulative,3' - diff.external:'command to generate diff with:diff command:_cmdstring' - diff.indentHeuristic:"heuristically shift hunk boundaries::->bool:true" - diff.interHunkContext:"combine hunks closer than N lines:number of lines:->int" - diff.mnemonicprefix:'use mnemonic source and destination prefixes::->bool:false' - diff.noprefix:'strip source and destination prefixes::->bool:false' - diff.orderfile:'file to read patch order glob patterns from:order file:_files' - diff.renameLimit:'number of files to consider when detecting copy/renames:limit (number of files):->int' - diff.renames:'try to detect renames::->diff.renames:true' - diff.ignoreSubmodules:'ignore submodules::->bool:false' - diff.statGraphWidth:'width of the graph part in --stat output:width:->int' - diff.submodule:'output format for submodule differences::->diff.submodule:short' - diff.suppressBlankEmpty:'inhibit printing space before empty output lines::->bool:false' - diff.tool:'diff tool to use::__git_difftools' - 'difftool.*.cmd:command to invoke for the diff tool::_cmdstring' - 'difftool.*.path:path to use for the diff tool:absolute diff tool path:_absolute_command_paths' - difftool.prompt:'prompt before each invocation of the diff tool::->bool:true' - diff.wordRegex:'regex used to determine what a word is when performing word-by-word diff:regular expression:->string' - diff.guitool:'diff tool with gui to use::__git_difftools' - merge.guitool:'merge tool with gui to use::__git_difftools' - fastimport.unpackLimit:"whether to import objects as loose object files or as a pack:threshold for packing (number of objects imported):->int" - feature.experimental:'enable config options that are new to Git::->bool:false' - feature.manyFiles:'enable config options that optimize for repos with many files::->bool:false' - fetch.output:'output format:format:compadd compact full' - fetch.parallel:'specify maximum number of fetch operations to run in parallel:number:->int' - fetch.prune:'remove any remote tracking branches that no longer exist remotely::->bool:false' - fetch.pruneTags:"maintain one-to-one correspondence with upstream tag refs::->bool:false" - fetch.showForcedUpdates:"show forced updates::->bool:true" - fetch.unpackLimit:'maximum number of objects to unpack when fetching:unpack limit:->int' - fetch.recurseSubmodules:'recurse into submodules (as needed) when fetching::->fetch.recurseSubmodules:on-demand' - fetch.fsckObjects:'check all fetched objects::->bool:false' - fetch.writeCommitGraph:'write a commit-graph after every git fetch command that downloads a pack-file from a remote::->bool:false' - 'filter.*.clean:command which is used to convert the content of a worktree file to a blob upon checkin::_cmdstring' - 'filter.*.smudge:command which is used to convert the content of a blob object to a worktree file upon checkout::_cmdstring' - format.attach:'use multipart/mixed attachments::->bool:false' - format.coverLetter:'control whether to generate a cover-letter when format-patch is invoked::->bool:false' - format.numbered:'use sequence numbers in patch subjects::->format.numbered:auto' - format.headers:'additional email headers to include in email patches:headers:->string' - format.to:'additional email recipients of patches::->string' - format.cc:'additional carbon-copy email recipients of patches:recipients:->string' - format.subjectprefix:'prefix to use for subjects:prefix:->string' - format.signature:'signature to use:signature:->string' - format.suffix:'default suffix for output files from git-format-patch:suffix:->string' - format.pretty:'pretty format for log/show/whatchanged:format:->string' - format.thread:'threading style to use::->format.thread:false' - format.signoff:'enable --signoff by default::->bool:false' - 'gc.*.reflogexpire:grace period for git reflog expire::->days:90' - 'gc.*.reflogexpireunreachable:grace period for git reflog expire for unreachable entries::->days:30' - gc.aggressiveDepth:'maximum delta depth:maximum delta depth::->int:250' - gc.aggressiveWindow:'window size used in delta compression algorithm::->int:250' - gc.auto:'minimum limit for packing loose objects with --auto::->int:6700' - gc.autoDetach:"make 'git gc --auto' run in the background::->bool:true" - gc.autopacklimit:'minimum limit for packing packs with --auto::->int:50' - gc.bigPackThreshold:"keep large packs:size threshold:->bytes" - gc.packrefs:'allow git gc to run git pack-refs::->gc.packrefs:true' - gc.pruneexpire:'grace period for pruning:number of days, "now", or "never":->int' - gc.reflogexpire:'grace period for git reflog expire::->days:90' - gc.reflogexpireunreachable:'grace period for git reflog expire for unreachable entries::->days:30' - gc.rerereresolved:'number of days to keep records of resolved merges::->days:60' - gc.rerereunresolved:'number of days to keep records of unresolved merges::->days:15' - gc.worktreePruneExpire:'grace period for pruning worktrees:number of days, "now", or "never":->int' # git default: 3.months.ago - gitcvs.commitmsgannotation:'string to append to each commit message::->string' - gitcvs.enabled:'enable the cvs server interface::->bool:false' - gitcvs.logfile:'name of log file for cvs pserver:log file:_files' - gitcvs.dbname:'name of database to use:database name:->string' - gitcvs.dbdriver:'name of DBI driver to use::->gitcvs.dbdriver:SQLite' - gitcvs.dbuser:'username to connect to database as:database user:_users' - gitcvs.dbpass:'password to use when connecting to database:password:->string' - gitcvs.dbTableNamePrefix:'database table name prefix:prefix:->string' - 'gitcvs.*.commitmsgannotation:string to append to each commit message:annotation:->string' - 'gitcvs.*.enabled:enable the cvs server interface::->bool:false' - 'gitcvs.*.logfile:name of log file for cvs pserver:log file:_files' - 'gitcvs.*.dbname:name of database to use:database name:->string' - 'gitcvs.*.dbdriver:name of DBI driver to use:DBI driver:->string' - 'gitcvs.*.dbuser:username to connect to database as::_users' - 'gitcvs.*.dbpass:password to use when connecting to database:password:->string' - 'gitcvs.*.dbTableNamePrefix:database table name prefix:prefix:->string' - gitcvs.usecrlfattr:'use end-of-line conversion attributes::->bool:false' - gitcvs.allbinary:'treat all files from CVS as binary::->bool:false' - gpg.format:'private key format for --gpg-sign:format:compadd openpgp x509' - gpg.minTrustLevel:'minimum trust level for signature verification:trust level:compadd undefined never marginal fully ultimate' # TODO: sort in this order (use compadd -V) - {gpg.program,gpg.openpgp.program}:'use program instead of "gpg" found on $PATH when making or verifying a PGP signature::_cmdstring' - gpg.x509.program:'use program instead of "gpgsm" found on $PATH when making or verifying an x509 signature::_cmdstring' - gui.commitmsgwidth:'width of commit message window:width::->int:75' - gui.diffcontext:'number of context lines used in diff window:context::->int:5' - gui.encoding:'encoding to use for displaying file contents::->encoding' - gui.matchtrackingbranch:'create branches that track remote branches::->bool:false' - gui.newbranchtemplate:'suggested name for new branches:template:->string' - gui.pruneduringfetch:'prune tracking branches when performing a fetch::->bool:false' - gui.trustmtime:'trust file modification timestamp::->bool:false' - gui.spellingdictionary:'dictionary to use for spell checking commit messages:dictionary:_files' - gui.fastcopyblame:'try harder during blame detection::->bool:false' - gui.copyblamethreshold:'threshold to use in blame location detection:threshold:->string' - gui.blamehistoryctx:'specify radius of history context in days for selected commit::->days' - 'guitool.*.argprompt:prompt for arguments:argument prompt:->string' - 'guitool.*.cmd:shell command line to execute::_cmdstring' - 'guitool.*.confirm:show a confirmation dialog::->bool:false' - 'guitool.*.needsfile:require that a diff is selected for command to be available::->bool:false' - 'guitool.*.noconsole:suppress command output::->bool:false' - 'guitool.*.norescan:skip rescanning for changes to the working directory::->bool:false' - 'guitool.*.revprompt:request a single valid revision from the user, and set the "REVISION" environment variable::->string' - 'guitool.*.prompt:prompt to display:prompt:->string' - 'guitool.*.revunmerged:show only unmerged branches in revprompt::->bool:false' - 'guitool.*.title:title of prompt dialog:prompt title:->string' - guitool.cmd:'shell command line to execute::_cmdstring' - guitool.needsfile:'require that a diff is selected for command to be available::->bool:false' - guitool.noconsole:'suppress command output::->bool:false' - guitool.norescan:'skip rescanning for changes to the working directory::->bool:false' - guitool.confirm:'show a confirmation dialog::->bool:false' - guitool.argprompt:'prompt for arguments:argument prompt:->string' - guitool.revprompt:'prompt for a single revision:revision prompt:->string' - guitool.revunmerged:'show only unmerged branches in revprompt::->bool:false' - guitool.title:'title of prompt dialog:prompt title:->string' - guitool.prompt:'prompt to display:prompt:->string' - grep.column:"show column number of first match::->bool:false" - grep.extendedRegexp:'enable --extended-regexp option by default (ignored when grep.patternType is set)::->bool:false' - grep.fullname:'enable --full-name option by default::->bool:false' - grep.lineNumber:'enable -n option by default::->bool:false' - grep.patternType:'default matching pattern type::->grep.patternType:default' - grep.threads:"number of worker threads::->int" - help.browser:'browser used to display help in web format::__git_browsers' - help.htmlpath:'location of HTML help::->help.htmlpath' - http.cookiefile:'file containing cookie lines which should be used in the Git http session::_files' - http.lowSpeedLimit:'limit controlling when to abort an HTTP transfer:speed limit:->int' - http.lowSpeedTime:'limit controlling when to abort an HTTP transfer:time limit (seconds):->int' - help.format:'default help format used by git help::->help.format' - help.autocorrect:'execute corrected mistyped commands::->bool:false' - http.proxy:'HTTP proxy to use:proxy:_urls' - http.savecookies:'save cookies to the cookie file::->bool:false' - http.sslVerify:'verify the SSL certificate for HTTPS::->bool:true' - http.sslCert:'file containing SSL certificates for HTTPS:SSL certificate file:_files' - http.sslKey:'file containing the SSL private key for HTTPS:SSL private key file:_files' - http.sslCertPasswordProtected:'prompt for a password for the SSL certificate::->bool:false' - http.sslCAInfo:'file containing CA certificates to verify against for HTTPS:CA certificates file:_files' - http.sslCAPath:'directory containing files with CA certificates to verify against for HTTPS:CA certificates directory:_directories' - http.sslTry:'attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol::->bool:false' - http.maxRequests:'how many HTTP requests to launch in parallel:maximum number of requests::->int:5' - http.minSessions:'number of curl sessions to keep across requests:minimum number of sessions::->int:1' - http.postBuffer:'maximum size of buffer used by smart HTTP transport when POSTing:maximum POST buffer size:->bytes:1m' - http.lowSpeedLimit:'lower limit for HTTP transfer-speed:low transfer-speed limit:->int' - http.lowSpeedTime:'duration for http.lowSpeedLimit:time:->int' - http.noEPSV:'disable the use of the EPSV ftp-command::->bool:false' - http.useragent:'user agent presented to HTTP server:user agent string:->string' - http.getanyfile:'allow clients to read any file within repository::->bool:true' - http.uploadpack:'serve git fetch-pack and git ls-remote clients::->bool:true' - http.receivepack:'serve git send-pack clients::->bool:true' - 'http.*.cookiefile:file containing cookie lines which should be used in the Git http session::_files' - 'http.*.lowSpeedLimit:limit controlling when to abort an HTTP transfer:speed limit:->int' - 'http.*.lowSpeedTime:limit controlling when to abort an HTTP transfer:time limit (seconds):->int' - 'help.*.format:default help format used by git help::->help.format' - 'help.*.autocorrect:execute corrected mistyped commands::->bool:false' - 'http.*.proxy:HTTP proxy to use:proxy:_urls' - 'http.*.savecookies:save cookies to the cookie file::->bool:false' - 'http.*.sslVerify:verify the SSL certificate for HTTPS::->bool:true' - 'http.*.sslCert:file containing SSL certificates for HTTPS:SSL certificate file:_files' - 'http.*.sslKey:file containing the SSL private key for HTTPS:SSL private key file:_files' - 'http.*.sslCertPasswordProtected:prompt for a password for the SSL certificate::->bool:false' - 'http.*.sslCAInfo:file containing CA certificates to verify against for HTTPS:CA certificates file:_files' - 'http.*.sslCAPath:directory containing files with CA certificates to verify against for HTTPS:CA certificates directory:_directories' - 'http.*.sslTry:attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol::->bool:false' - 'http.*.maxRequests:how many HTTP requests to launch in parallel:maximum number of requests::->int:5' - 'http.*.minSessions:number of curl sessions to keep across requests:minimum number of sessions::->int:1' - 'http.*.postBuffer:maximum size of buffer used by smart HTTP transport when POSTing:maximum POST buffer size:->bytes:1m' - 'http.*.lowSpeedLimit:lower limit for HTTP transfer-speed:low transfer-speed limit:->int' - 'http.*.lowSpeedTime:duration for http.lowSpeedLimit:time:->int' - 'http.*.noEPSV:disable the use of the EPSV ftp-command::->bool:false' - 'http.*.useragent:user agent presented to HTTP server:user agent string:->string' - 'http.*.getanyfile:allow clients to read any file within repository::->bool:true' - 'http.*.uploadpack:serve git fetch-pack and git ls-remote clients::->bool:true' - 'http.*.receivepack:serve git send-pack clients::->bool:true' - i18n.commitEncoding:'character encoding commit messages are stored in::->encoding' - i18n.logOutputEncoding:'character encoding commit messages are output in::->encoding' - imap.folder:'IMAP folder to use with git imap-send:IMAP folder name::_mailboxes' - imap.tunnel:'tunneling command to use for git imap-send:tunnel command:_cmdstring' - imap.host:'host git imap-send should connect to::_hosts' - # TODO: If imap.host is set, complete users on that system. - imap.user:'user git imap-send should log in as::_users' - imap.pass:'password git imap-send should use when logging in:password:->string' - imap.port:'port git imap-send should connect on::_ports' - imap.sslverify:'verify server certificate::->bool:true' - imap.preformattedHTML:'use HTML encoding when sending a patch::->bool:false' - imap.authMethod:'authentication method used::->imap.authMethod' - init.templatedir:'directory from which templates are copied:template directory:_directories' - instaweb.browser:'browser to use when browsing with gitweb::__git_browsers' - instaweb.httpd:'HTTP-daemon command-line to execute for instaweb:daemon:_cmdstring' - instaweb.local:'bind to 127.0.0.1::->bool:false' - instaweb.modulepath:'module path for the Apache HTTP-daemon for instaweb:module directory:_directories' - instaweb.port:'port to bind HTTP daemon to for instaweb::_ports' - interactive.diffFilter:"mark up diffs for human consumption:filter command:_cmdstring" - interactive.singlekey:'accept one-letter input without Enter::->bool:false' - log.abbrevCommit:'make git-log, git-show, and git-whatchanged assume --abbrev-commit::->bool:false' - log.date:'default date-time mode::__git_date_formats' - log.decorate:'type of ref names to show::__git_log_decorate_formats' - log.mailmap:'make git-log, git-show, and git-whatchanged assume --use-mailmap:->bool:false' - log.showroot:'show initial commit as a diff against an empty tree::->bool:true' - mailinfo.scissors:'remove everything in body before a scissors line::->bool:false' - mailmap.blob:'like mailmap.file, but consider the value as a reference to a blob in the repository:blob reference:->string' - mailmap.file:'augmenting mailmap file:mailmap file:_files' - man.viewer:'man viewer to use for help in man format::__git_man_viewers' - 'man.*.cmd:the command to invoke the specified man viewer:man command:_cmdstring' - 'man.*.path:path to use for the man viewer:absolute man tool path:_absolute_command_paths' - merge.branchdesc:'populate the log message with the branch description text as well::->bool:false' - merge.conflictstyle:'style used for conflicted hunks::->merge.conflictstyle:merge' - merge.defaultToUpstream:'merge the upstream branches configured for the current branch by default::->bool:true' - merge.ff:'allow fast-forward merges::->merge.ff:true' - merge.log:'include summaries of merged commits in new merge commit messages::->bool:false' - merge.directoryRenames:"try to detect directory renames:mode:compadd false true conflict" - merge.renames:"try to detect renames::->diff.renames" - merge.renameLimit:'number of files to consider when detecting copy/renames during merge:limit (number of files):->int' - merge.renormalize:'use canonical representation of files during merge::->bool:false' - merge.stat:'print the diffstat between ORIG_HEAD and merge at end of merge::->bool:true' - merge.tool:'tool used by git mergetool during merges::__git_mergetools' - merge.verbosity:'amount of output shown by recursive merge strategy::->merge.verbosity:2' - 'merge.*.name:human-readable name for custom low-level merge driver:name:->string' - 'merge.*.driver:command that implements a custom low-level merge driver:merge command:_cmdstring' - 'merge.*.recursive:low-level merge driver to use when performing internal merge between common ancestors::__git_builtin_merge_drivers' - 'mergetool.*.path:path to use for the merge tool:absolute merge tool path:_absolute_command_paths' - 'mergetool.*.cmd:command to invoke for the merge tool:merge command:_cmdstring' - 'mergetool.*.trustExitCode:trust the exit code of the merge tool::->bool:false' - mergetool.keepBackup:'keep the original file with conflict markers::->bool:true' - mergetool.keepTemporaries:'keep temporary files::->bool:false' - mergetool.prompt:'prompt before each invocation of the merge tool::->bool:true' - notes.displayRef:'refname to show notes from::->refname' - notes.rewrite.amend:'copy notes from original to rewritten commit when running git amend::->bool:true' - notes.rewrite.rebase:'copy notes from original to rewritten commit when running git rebase::->bool:true' - notes.rewriteMode:'what to do when target commit already has a not when rewriting::->notes.rewriteMode' - notes.rewriteRef:'refname to use when rewriting::->refname' - pack.window:'size of window:window size::->int:10' - pack.depth:'maximum delta depth:maximum delta depth::->int:50' - pack.windowMemory:'window size limit:maximum window size:->bytes:0' - pack.compression:'compression level::->compression:-1' - pack.deltaCacheSize:'maximum amount of memory for caching deltas:maximum delta cache size:->bytes:256m' - pack.deltaCacheLimit:'maximum size of deltas:maximum delta size::->int:1000' - pack.threads:'number of threads to use for searching for best delta matches:number of threads:->int' - pack.indexVersion:'default pack index version:index version:->string' - pack.packSizeLimit:'maximum size of packs:maximum size of packs:->bytes' - pull.ff:'accept fast-forwards only::->bool:false' - pull.octopus:'default merge strategy to use when pulling multiple branches::__git_merge_strategies' - pull.rebase:'rebase branches on top of the fetched branch, instead of merging::->pull.rebase:false' - pull.twohead:'default merge strategy to use when pulling a single branch::__git_merge_strategies' - push.default:'action git push should take if no refspec is given::->push.default:simple' - push.followTags:'enable --follow-tags option by default::->bool:false' - push.gpgSign:'GPG-sign pushes::->bool:false' - push.recurseSubmodules:'ensure all submodule commits are available on a remote-tracking branch' - push.pushOption:'transmit strings to server to pass to pre/post-receive hooks::->string' - rebase.stat:'show a diffstat of what changed upstream since last rebase::->bool:false' - rebase.autoSquash:'autosquash by default::->bool:false' - rebase.autoStash:'autostash by default::->bool:false' - rebase.instructionFormat:'interactive rebase todo list format::__git_format_placeholders' - rebase.missingCommitsCheck:'print a warning if some commits are removed' - rebase.rescheduleFailedExec:"automatically re-schedule any 'exec' that fails::->bool" - receive.autogc:'run git gc --auto after receiving data::->bool:true' - receive.fsckObjects:'check all received objects::->bool:true' - receive.hiderefs:'string(s) receive-pack uses to decide which refs to omit from its initial advertisement:hidden refs:->string' - receive.unpackLimit:'maximum number of objects received for unpacking into loose objects:unpack limit:->int' - receive.denyDeletes:'deny a ref update that deletes a ref::->bool:false' - receive.denyDeleteCurrent:'deny a ref update that deletes currently checked out branch::->bool:false' - receive.denyCurrentBranch:'deny a ref update of currently checked out branch::->receive.denyCurrentBranch' - receive.denyNonFastForwards:'deny a ref update that is not a fast-forward::->bool:false' - receive.updateserverinfo:'run git update-server-info after receiving data::->bool:false' - 'remote.pushdefault:URL of a remote repository to pushto::__git_any_repositories' - 'remote.*.url:URL of a remote repository::__git_any_repositories' - 'remote.*.partialclonefilter:filter applied when fetching from this promisor remote:filter:->string' - 'remote.*.promisor:use this remote to fetch promisor objects::->bool:false' - 'remote.*.pushurl:push URL of a remote repository::__git_any_repositories' - 'remote.*.proxy:URL of proxy to use for a remote repository::_urls' - "remote.*.pruneTags:maintain one-to-one correspondence with remote's tag refs::->bool:false" - 'remote.*.prune:remove any remote tracking branches that no longer exist remotely::->bool:false' - 'remote.*.fetch:default set of refspecs for git fetch::__git_ref_specs_fetchy' - 'remote.*.push:default set of refspecs for git push::__git_ref_specs_pushy' - 'remote.*.mirror:push with --mirror::->bool:false' - 'remote.*.skipDefaultUpdate:skip this remote by default::->bool:false' - 'remote.*.skipFetchAll:skip this remote by default::->bool:false' - 'remote.*.receivepack:default program to execute on remote when pushing:git receive-pack command:_cmdstring' - 'remote.*.uploadpack:default program to execute on remote when fetching:git upload-pack command:_cmdstring' - 'remote.*.tagopt:options for retrieving remote tags::->remote.tagopt' - 'remote.*.vcs:interact with the remote through git-remote helper:remote VCS:->string' - repack.packKeptObjects:'repack objects in packs marked with .keep::->bool' - repack.useDeltaIslands:'pass --delta-islands to git-pack-objects::->bool:false' - repack.usedeltabaseoffset:'use delta-base offsets::->bool:true' - repack.writeBitmaps:'trade off disk space for faster subsequent repacks::->bool' - rerere.autoupdate:'update index after resolution::->bool:false' - rerere.enabled:'record resolved conflicts::->bool' - reset.quiet:'pass --quiet by default::->bool:false' - sendemail.identity:'default identity::__git_sendemail_identities' - sendemail.smtpencryption:'encryption method to use::->sendemail.smtpencryption' - sendemail.aliasesfile:'file containing email aliases:email aliases file:_files' - sendemail.aliasfiletype:'format of aliasesfile::->sendemail.aliasfiletype' - sendemail.annotate:'review and edit each patch you are about to send::->bool:false' - sendemail.bcc:'value of Bcc\: header::_email_addresses' - sendemail.cc:'value of Cc\: header::_email_addresses' - sendemail.cccmd:'command to generate Cc\: header with:Cc\: command:_cmdstring' - sendemail.tocmd:'command to generate To\: header with:To\: command:_cmdstring' - sendemail.chainreplyto:'send each email as a reply to the previous one::->bool:false' - sendemail.confirm:'type of confirmation required before sending::->sendemail.confirm:auto' - sendemail.envelopesender:'envelope sender to send emails as::_email_addresses' - sendemail.from:'sender email address::_email_addresses' - sendemail.multiedit:'edit all files at once::->bool:true' - sendemail.signedoffbycc:'add Signed-off-by\: or Cc\: lines to Cc\: header::->bool:true' - sendemail.smtpBatchSize:"number of messages to send per SMTP connection::->int" - sendemail.smtpReloginDelay:"delay before reconnecting to SMTP server:delay (seconds):->int" - sendemail.smtppass:'password to use for SMTP-AUTH:password:->string' - sendemail.suppresscc:'rules for suppressing Cc\:::->sendemail.suppresscc' - sendemail.suppressfrom:'add From\: address to the Cc\: list::->bool:false' - sendemail.to:'value of To\: header::_email_addresses' - sendemail.smtpdomain:'FQDN to use for HELO/EHLO commands to SMTP server:smtp domain:_domains' - sendemail.smtpserver:'SMTP server to connect to:smtp host: __git_sendmail_smtpserver_values' - sendemail.smtpserveroption:'specifies the outgoing SMTP server option to use:SMTP server option:->string' - sendemail.smtpserverport:'port to connect to SMTP server on:smtp port:_ports' - sendemail.smtpsslcertpath:'path to ca-certificates (directory or file):ca certificates path:_files' - sendemail.smtpuser:'user to use for SMTP-AUTH:smtp user:_users' - sendemail.thread:'set In-Reply-To\: and References\: headers::->bool:true' - sendemail.validate:'perform sanity checks on patches::->bool:true' - sendemail.xmailer:'add the "X-Mailer" header::->bool:true' - 'sendemail.*.aliasesfile:file containing email aliases::_files' - 'sendemail.*.aliasfiletype:format of aliasesfile::->sendemail.aliasfiletype' - 'sendemail.*.annotate:review and edit each patch you are about to send::bool->false' - 'sendemail.*.bcc:value of Bcc\: header::_email_addresses' - 'sendemail.*.cc:value of Cc\: header::_email_addresses' - 'sendemail.*.cccmd:command to generate Cc\: header with:Cc\: command:_cmdstring' - 'sendemail.*.tocmd:command to generate To\: header with:To\: command:_cmdstring' - 'sendemail.*.chainreplyto:send each email as a reply to the previous one::->bool:false' - 'sendemail.*.confirm:type of confirmation required before sending::->sendemail.confirm:auto' - 'sendemail.*.envelopesender:envelope sender to send emails as::_email_addresses' - 'sendemail.*.from:sender email address::_email_addresses' - 'sendemail.*.multiedit:edit all files at once::->bool:false' - 'sendemail.*.signedoffbycc:add Signed-off-by\: or Cc\: lines to Cc\: header::->bool:true' - 'sendemail.*.smtppass:password to use for SMTP-AUTH:password:->string' - 'sendemail.*.suppresscc:rules for suppressing Cc\:::->sendemail.suppresscc' - 'sendemail.*.suppressfrom:rules for suppressing From\:::->sendemail.suppressfrom' - 'sendemail.*.to:value of To\: header::_email_addresses' - 'sendemail.*.smtpdomain:FQDN to use for HELO/EHLO commands to SMTP server:smtp domain:_domains' - 'sendemail.*.smtpserver:SMTP server to connect to:smtp host: __git_sendmail_smtpserver_values' - 'sendemail.*.smtpserveroption:specifies the outgoing SMTP server option to use:SMTP server option:->string' - 'sendemail.*.smtpserverport:port to connect to SMTP server on:smtp port:_ports' - 'sendemail.*.smtpuser:user to use for SMTP-AUTH:smtp user:_users' - 'sendemail.*.thread:set In-Reply-To\: and References\: headers::->bool:true' - 'sendemail.*.validate:perform sanity checks on patches::->bool:true' - sendemail.assume8bitEncoding:'encoding to use for non-ASCII messages::__git_encodings' - sequence.editor:'text editor used by git rebase -i::_cmdstring' - showbranch.default:'default set of branches for git show-branch::->branch' - status.aheadBehind:"display detailed ahead/behind counts relative to upstream branch::->bool:true" - status.relativePaths:'show paths relative to current directory::->bool:false' - status.showStash:'show number of stashes::->bool:false' - status.showUntrackedFiles:'show untracked files::->status.showUntrackedFiles:normal' - status.submodulesummary:'include submodule summary::->bool:false' - status.branch:'show branch and tracking info in short format::->bool:false' - status.short:'use short format by default::->bool:false' - status.renameLimit:'number of files to consider when detecting copy/renames:limit (number of files):->int' - status.renames:"detect renames in 'status' and 'commit'::->diff.renames" - 'submodule.*.branch:remote branch name for a submodule:branch name:->string' - 'submodule.*.fetchRecurseSubmodules:fetch commits of submodules::->bool' - 'submodule.*.path:path within project:submodule directory:_directories -qS \:' - 'submodule.*.url:URL to update from::__git_any_repositories' - 'submodule.*.update:update strategy to use::->submodule.update:none' - 'submodule.*.ignore:ignore modifications to submodules with git status and git diff-*::->submodule.ignore' - submodule.recurse:'recurse into submodules by default (for most git commands)::->bool:false' - ssh.variant:'SSH command flavour:flavour id:compadd ssh simple plink putty tortoiseplink' - svn.noMetadata:'disable git-svn-id: lines at end of commits::->bool:false' - svn.useSvmProps:'use remappings of URLs and UUIDs from mirrors::->bool:false' - svn.useSvnsyncProps:'use remappings of URLs and UUIDs for the svnsync command::->bool:false' - svn.ignore-paths:'regular expression of paths to not check out:regular expression:->string' - svn.brokenSymlinkWorkaround:'apply the broken-symlink check::->bool:true' - svn.pathnameencoding:'encoding to recode pathnames into::->encoding' - svn.followparent:'follow parent commit::->bool:true' - svn.authorsFile:'default authors file:authors file:_files' - svn.quiet:'produce less output::->bool:false' - 'svn-remote.*.automkdirs:attempt to recreate empty directories that are in the Subversion repository::->bool:true' - 'svn-remote.*.noMetadata:disable git-svn-id: lines at end of commits::->bool:false' - 'svn-remote.*.useSvmProps:use remappings of URLs and UUIDs from mirrors::->bool:false' - 'svn-remote.*.useSvnsyncProps:use remappings of URLs and UUIDs for the svnsync command::->bool:false' - 'svn-remote.*.rewriteRoot:alternate root URL to use:root url:_urls' - 'svn-remote.*.rewriteUUID:remap URLs and UUIDs for mirrors manually::->bool:false' - 'svn-remote.*.ignore-paths:regular expression of paths to not check out:regular expression:->string' - 'svn-remote.*.url:URL to connect to::_urls' - 'svn-remote.*.fetch:fetch specification::__git_ref_specs_fetchy' # ### undocumented - 'svn-remote.*.pushurl:URL to push to::_urls' - 'svn-remote.*.branches:branch mappings:branch mapping:->string' - 'svn-remote.*.tags:tag mappings:tag mapping:->string' - tag.gpgSign:'sign all tags::->bool' - tag.sort:'default sorting method:sorting method:->string' - 'tar.*.command:specify a shell command through which the tar output generated by git archive should be piped::_cmdstring' - 'tar.*.remote:enable <format> for use by remote clients via git-upload-archive::->bool' - tar.umask:'umask to apply::->umask' - transfer.unpackLimit:'default value for fetch.unpackLimit and receive.unpackLimit:unpack limit::->int:100' - transfer.fsckObjects:'check all objects::->bool:false' - transfer.hiderefs:'string(s) to decide which refs to omit from initial advertisements:hidden refs:->string' - uploadpack.hiderefs:'string(s) upload-pack uses to decide which refs to omit from its initial advertisement:hidden refs:->string' - uploadpack.allowtipsha1inwant:'allow upload-pack to accept a fetch request that asks for an object at the tip of a hidden ref::->bool:false' - uploadarchive.allowUnreachable:'allow git-upload-archive to accept an archive requests that ask for unreachable objects::->bool:false' - 'url.*.insteadOf:string to start URLs with:prefix:->string' - 'url.*.pushInsteadOf:string to start URLs to push to with:prefix:->string' - user.email:'email address used for commits::_email_addresses -c' - user.name:'full name used for commits:name:->string' - user.useConfigOnly:'avoid guessing defaults for user.email and user.name:->bool:true' - user.signingkey:'default GPG key to use when creating signed tags::__git_gpg_secret_keys' - versionsort.suffix:'specify sort order of suffixes applied to tags:suffix' - web.browser:'web browser to use::__git_browsers' - worktree.guessRemote:'with add, if branch matches remote track it::->bool:true' - - {fetch.fsck.skipList,receive.fsck.skipList,fsck.skipList}:'ignore objects broken in a non-fatal way:path to a list of objects:_files' - ) - - declare -a git_present_options # 'present' is an adjective - git_present_options=( - ${${${(0)"$(_call_program gettable-options git config -z --list)"}%%$'\n'*}//:/\\:} - - # Remove the "'git help config' for more information" line. - # - # Change literal 'foo.<bar>.baz' to 'foo.*.baz'. With that, completing - # at foo.lorem.<TAB> will offer foo.lorem.baz. - ${${${(f)"$(_call_program all-known-options "git help -c")"}:#* *}/<*>/*} - ) - - # Add to $git_options options from the config file, and from 'git help -c', - # that aren't already in $git_options. - () { - local -a -U sections_that_permit_arbitrary_subsection_names=( - alias - pager - pretty - remotes - ${(u)${(M)${git_options%%:*}:#*[.][*][.]*}%%.*} - ${(u)${(M)git_present_options:#*[.][*][.]*}%%.*} - ) - local key - for key in $git_present_options ; do - if (( ${+git_options[(r)(#i)${(b)key}:*]} )); then - # $key is already in git_options - continue - elif (( ${+sections_that_permit_arbitrary_subsection_names[(r)${(b)key%%.*}]} )); then - if [[ $key == *.*.* ]]; then - # If $key isn't an instance of a known foo.*.bar:baz $git_options entry... - if ! (( ${+git_options[(r)(#i)${(b)key%%.*}.[*].${(b)key##*.}:*]} )); then - # ... then add it. - git_options+="${key}:unknown option name::->unknown" - fi - else - # $key is of the form "foo.bar" where 'foo' is known - # No need to add it; "foo.<TAB>' will find 'bar' via another codepath later - # ### TODO: that "other codepath" will probably run git config -z again, redundantly. - continue - fi - else - git_options+="${key}:unknown option name::->unknown" - fi - done - } - - case $state in - (section) - __git_config_sections -b '(|)' '^' section-names 'section name' $* && ret=0 - ;; - (is-a-tty) - declare -a values - values=( - true - false - auto) - _describe -t values 'stdout is a tty' values && ret=0 - ;; - (option) - local label=option - declare -a sections sections_and_options options - - [[ -prefix *. ]] && label="${line[1]%.*} option" - - if compset -P '[^.]##.*.'; then - declare -a match mbegin mend - # TODO: completing 'gpg.openpgp<TAB>' adds both 'gpg.openpgp.program' and 'gpg.*.program' to $options, so it ends up being listed as 'unknown option name' even though we have a description - # When completing 'remote.foo.<TAB>', offer 'bar' if $git_options contains 'remote.foo.bar'. - options+=(${${${${(M)git_options:#(#i)${IPREFIX}[^.:]##:*}#(#i)${IPREFIX}}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}) - # When completing 'remote.foo.<TAB>', offer 'bar' if $git_options contains 'remote.*.bar'. - options+=(${${${${(M)git_options:#(#i)${IPREFIX%%.*}.\*.[^.:]##:*}#(#i)${IPREFIX%%.*}.\*.}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}) - - declare -a labels - labels=( - 'branch.*.:${${line[1]#branch.}%.*} branch option' - 'browser.*.:${${line[1]#browser.}%.*} browser option' - 'color.branch.:branch-specific color option' - 'color.diff.:diff-specific color option' - 'color.decorate.:git-log---decorate-specific color option' - 'color.grep.:git-grep-specific color option' - 'color.interactive.:interaction-specific color option' - 'color.status.:git-status-specific color option' - 'credential.*.:${${line[1]#credential.}%.*}-specific option' - 'filter.*.:${${line[1]#filter.}%.*} driver option' - 'diff.*.:${${line[1]#diff.}%.*} driver option' - 'difftool.*.:${${line[1]#difftool.}%.*}-specific option' - 'gc.*.:${${line[1]#gc.}%.*}-specific gc option' - 'gitcvs.*.:gitcvs ${${line[1]#gitcvs.}%.*}-specific option' - 'guitool.*.:${${line[1]#guitool.}%.*}-specific option' - 'http.*.:${${line[1]#http.}%.*}-specific option' - 'man.*.:${${line[1]#man.}%.*}-specific man option' - 'merge.*.:${${line[1]#merge.}%.*}-specific merge option' - 'mergetool.*.:${${line[1]#mergetool.}%.*}-specific option' - 'sendemail.*.:${${line[1]#sendemail.}%.*}-specific sendemail option' - 'submodule.*.:${${line[1]#submodule.}%.*}-submodule-specific option' - 'url.*.:${${line[1]#url.}%.*}-specific option' - 'svn-remote.*.:git-svn ${${line[1]#svn-remote.}%.*}-specific option') - - local found - found=${${${(M)labels:#(${IPREFIX}|${IPREFIX%%.*}.\*.):*}[1]}#*:} - [[ -n $found ]] && label=${(Q)"$(eval "print -rn -- $found")"} - elif compset -P '[^.]##.'; then - local opt - declare -a match mbegin mend - for opt in ${${${${(M)git_options:#(#i)${IPREFIX}[^.:][^:]#:*}#(#i)${IPREFIX}}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}; do - if (( ${git_options[(I)${IPREFIX}${opt%%:*}.*]} )); then - sections_and_options+=$opt - else - options+=$opt - fi - done - - declare -a subsections - subsections=( - 'color.decorate:git log --decorate options' - 'gitcvs.ext:ext-connection-method-specific options' - 'gitcvs.pserver:pserver-connection-method-specific options' - 'notes.rewrite:commands to copy notes from original for when rewriting commits') - # Set $sections to the applicable subsection names (e.g., 'decorate:...' if $IPREFIX == "color.") - sections+=(${${(M)subsections:#${IPREFIX}[^.:]##(.|):*}#${IPREFIX}}) - - # TODO: Is it fine to use functions like this before _describe below, - # or do we need a tag loop? - # TODO: It would be nice to output _message -e TYPE label when the - # following functions don't generate any output in the case of - # multi-level options. - case $IPREFIX in - # Note: If you add a branch to this 'case' statement, - # update $sections_that_permit_arbitrary_subsection_names. - (alias.) - __git_aliases && ret=0 - ;; - (branch.) - __git_branch_names -S . && ret=0 - ;; - (browser.) - __git_browsers -S . && ret=0 - ;; - (credential.) - _urls && ret=0 - ;; - (difftool.) - __git_difftools -S . && ret=0 - ;; - (gc.) - __git_config_sections '^gc\..+\.[^.]+$' refpatterns 'ref pattern' -S . && ret=0 - ;; - (guitool.) - __git_config_sections '^guitool\..+\.[^.]+$' guitools 'gui tool' -S . && ret=0 - ;; - (http.) - __git_config_sections '^http\..+\.[^.]+$' bases base -S . && ret=0 - ;; - (man.) - __git_man_viewers -S . && ret=0 - ;; - (merge.) - __git_merge_drivers -S . && ret=0 - ;; - (mergetool.) - __git_mergetools -S . && ret=0 - ;; - (pager.) - _git_commands && ret=0 - ;; - (pretty.) - __git_config_sections -a '(|)' '^pretty\..+\.[^.]+$' prettys 'pretty format string' && ret=0 - ;; - (remote.) - __git_remotes -S . && ret=0 - ;; - (remotes.) - __git_remote-groups && ret=0 - ;; - (sendemail.) - __git_sendemail_identities -S . && ret=0 - ;; - (submodule.) - __git_submodules -S . && ret=0 - ;; - (url.) - __git_config_sections '^url\..+\.[^.]+$' bases base -S . && ret=0 - ;; - (svn-remote.) - __git_svn-remotes -S . && ret=0 - ;; - (*.) - local -a existing_subsections=( ${${${(M)git_present_options:#${IPREFIX}*.*}#${IPREFIX}}%.*} ) - _describe -t existing-subsections "existing subsection" existing_subsections -S . && ret=0 - ;; - esac - else - sections=( - advice:'options controlling advice' - author:'options controlling author identity' - committer:'options controlling committer identity' - core:'options controlling git core' - credential:'credential options' - add:'git add options' - alias:'command aliases' - am:'git am options' - apply:'git apply options' - blame:'git blame options' - branch:'branch options' - browser:'browser options' - clean:'git clean options' - color:'color options' - column:'column options' - commit:'git commit options' - diff:'diff options' - difftool:'difftools' - feature:'options modifying defaults for a group of other settings' - fetch:'git fetch options' - format:'format options' - gc:'git gc options' - gpg:'gpg options' - gitcvs:'git-cvs options' - gui:'git gui options' - guitool:'git gui tool options' - help:'git help options' - http:'http options' - i18n:'internationalization options' - imap:'IMAP options' - init:'git init options' - instaweb:'git web options' - interactive:'options controlling interactivity' - log:'git log options' - mailmap:'mailmap options' - man:'man options' - merge:'git merge options' - mergetool:'mergetools' - notes:'git notes options' - pack:'options controlling packing' - pager:'pager options' - pretty:'pretty formats' - pull:'git pull options' - push:'git push options' - rebase:'git rebase options' - receive:'git receive options' - remote:'remotes' - remotes:'remotes groups' - repack:'repack options' - rerere:'git rerere options' - sendemail:'git send-email options' - showbranch:'showbranch options' - status:'git status options' - submodule:'git submodule options' - tar:'git tar-tree options' - transfer:'options controlling transfers' - uploadpack:'git upload-pack options' - uploadarchive:'git upload-archive options' - url:'URL prefixes' - user:'options controlling user identity' - web:'web options' - versionsort:'tag sorting options' - worktree:'git worktree options' - svn:'git svn options' - svn-remote:'git svn remotes' - ) - () { - local i - for i in ${(u)git_present_options%%.*}; do - (( ${+sections[(r)(#i)${(b)i}:*]} )) || - sections+="${i}:unknown section name" - done - } - fi - - # TODO: Add equivalent of -M 'r:|.=* r:|=*' here so that we can complete - # b.d.c to browser.dillo.cmd. - _describe -t option-names $label \ - sections -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' -S . -- \ - sections_and_options -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' -qS . -- \ - options -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' "$@" && ret=0 - ;; - (gettable-option) - _wanted git-options expl option compadd -M 'r:|.=* r:|=*' -a - git_present_options && ret=0 - ;; - (gettable-colorbool-option) - __git_config_sections -b '(|)' -a '(|)' '^color\.[^.]+$' gettable-colorbool-options option && ret=0 - ;; - (gettable-color-option) - __git_config_sections -b '(|)' -a '(|)' '^color\.[^.]+\..*$' gettable-color-options option && ret=0 - ;; - (value) - local current=${${(0)"$(_call_program current "git config $opt_args[(I)--system|--global|--local]" ${(kv)opt_args[(I)-f|--file]} "-z --get ${(q)line[1]}")"}#*$'\n'} - case $line[1] in - (alias.*) - if [[ -n $current ]]; then - compadd - $current && ret=0 - else - _message 'command' - fi - return - ;; - (remotes.*) - # TODO: Use this strategy for all multi-item values. - compset -P '* ' - - local suffix - if [[ $words[CURRENT] == [\"\']* ]]; then - suffix=' ' - else - suffix='\ ' - fi - - # TODO: Should really only complete unique remotes, that is, not the same - # remote more than once in the list. - __git_remotes -S $suffix -q && ret=0 - return ret - ;; - esac - local z=$'\0' - - # Set $parts to the $git_options element that corresponds to $line[1] - # (the option name whose value is currently being completed). The elements - # of $parts are the colon-separated elements of the $git_options element. - declare -a parts - parts=("${(S@0)${git_options[(r)(#i)${line[1]}:*]}//(#b)(*[^\\]|):/$match[1]$z}") - if (( $#parts < 2 )) && [[ $line[1] == [^.]##.*.[^.]## ]]; then - parts=("${(S@0)${git_options[(r)(#i)${line[1]%%.*}.\*.${line[1]##*.}:*]}//(#b)(*[^\\]|):/$match[1]$z}") - fi - - (( $#parts >= 4 )) || return ret - case $parts[4] in - ('->'*) - case ${parts[4]#->} in - (apply.ignorewhitespace) - __git_config_values -- "$current" "$parts[5]" \ - {no,false,never,none}':do not ignore whitespace' \ - change:'ignore changes in whitespace' && ret=0 - ;; - (apply.whitespace) - __git_apply_whitespace_strategies && ret=0 - ;; - (bool) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" && ret=0 - ;; - (branch) - __git_branch_names && ret=0 - ;; - (branch.autosetuprebase) - __git_config_values -- "$current" "$parts[5]" \ - never:'never set branch.*.rebase to true' \ - local:'set branch.*.rebase to true for tracked branches of local branches' \ - remote:'set branch.*.rebase to true for tracked branches of remote branches' \ - always:'set branch.*.rebase to true for all tracking branches' && ret=0 - ;; - (branch.mergeoptions) - # TODO: Complete options to git-merge(1). - _message 'git-merge options' - ;; - (bytes) - __git_guard_bytes "$parts[3]" && ret=0 - ;; - (color) - compset -P '* ' - - case ($words[CURRENT]) in - (?*' '?*' '*) - if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then - __git_colors && ret=0 - else - __git_color_attributes && ret=0 - fi - ;; - (*) - local suffix q_flag - if [[ $words[CURRENT] == [\"\']* ]]; then - suffix=' ' - q_flag=-q - else - suffix='\ ' - fi - - if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then - __git_colors -S $suffix $q_flag && ret=0 - else - _alternative \ - 'colors::__git_colors -S $suffix $q_flag' \ - 'attributes::__git_color_attributes -S $suffix $q_flag' && ret=0 - fi - ;; - esac - ;; - (color-bool) - __git_config_values -t booleans -l boolean -- "$current" "$parts[5]" \ - {never,false,no,off}:"do not $parts[2]" \ - always:"always $parts[2]" \ - {auto,true,yes,on}:$parts[2] && ret=0 - ;; - (compression) - __git_compression_levels && ret=0 - ;; - (core.autocrlf) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - input:'convert CRLFs on input only' && ret=0 - ;; - (core.checkstat) - __git_config_values -- "$current" "$parts[5]" \ - default:'check all fields' \ - minimal:'check fewer fields' && ret=0 - ;; - (core.createObject) - __git_config_values -- "$current" "$parts[5]" \ - rename:'rename source objects' \ - link:'hardlink, then delete source objects' && ret=0 - ;; - (core.safecrlf) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - warn:'only warn about irreversible CRLF conversions' && ret=0 - ;; - (core.whitespace) - declare -a values - - values=( - 'blank-at-eol[treat whitespace at the end of the line as an error]' - 'space-before-tab[treat space character before tab character in initial indent as an error]' - 'indent-with-non-tab[treat lines indented with 8 or more space characters as an error]' - 'tab-in-indent[treat lines indented with a tab character as an error]' - 'blank-at-eof[treat blank lines at the end of the files as an error]' - 'cr-at-eol[treat carriage-return at the end of the line as part of line terminator]') - - _values -s , $parts[2] $values && ret=0 - ;; - (days) - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - __git_guard_number 'number of days' - fi - ;; - (diff.algorithm) - __git_config_values -- "$current" "$parts[5]" \ - default:'basic greedy diff algorithm' \ - myers:'basic greedy diff algorithm' \ - minimal:'spend extra time to make sure the smallest possible diff is produced' \ - patience:'generate diffs with patience algorithm' \ - histogram:'generate diffs with histogram algorithm' && ret=0 - ;; - (diff.renames) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - {copies,copy}:'try to detect both renames and copies' && ret=0 - ;; - (diff.submodule) - __git_config_values -- "$current" "$parts[5]" \ - short:'show pairs of commit name' \ - log:'list commits like git submodule does' && ret=0 - ;; - (encoding) - __git_encodings && ret=0 - ;; - (eol) - __git_config_values -- "$current" "$parts[5]" \ - lf:'use LF' \ - crlf:'use CR+LF' \ - native:'use line ending of platform' && ret=0 - ;; - (fetch.recurseSubmodules) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - on-demand:'only when submodule reference in superproject is updated' && ret=0 - ;; - (format.numbered) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - auto:'use sequence numbers if more than one patch' && ret=0 - ;; - (format.thread) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - deep:'make every mail a reply to the previous one' \ - shallow:'make every mail a reply to the first one' && ret=0 - ;; - (gc.packrefs) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - notbare:'pack references if the repository has a working directory' && ret=0 - ;; - (gitcvs.dbdriver) - # TODO: Would be nice to only include those that are installed, but I - # couldn't figure out a good way of doing that when I wrote this code. - __git_config_values -t dbi-drivers -l 'DBI driver' -- "$current" "$part[5]" \ - SQLite:'use the SQLite database driver' \ - Pg:'use the Pg database driver' && ret=0 - ;; - (grep.patternType) - __git_config_values -- "$current" "$parts[5]" \ - basic:'use --basic-regexp' \ - default:'use default' \ - extended:'use --extended-regexp' \ - fixed:'use --fixed-strings' \ - perl:'use --perl-regexp' && ret=0 - ;; - (help.format) - __git_config_values -- "$current" "$parts[5]" \ - man:'use man' \ - info:'use info' \ - {web,html}:'use HTML' && ret=0 - ;; - (help.htmlpath) - _alternative \ - 'path::_files -/' \ - 'url::_urls' && ret=0 - ;; - (imap.authMethod) - __git_config_values -- "$current" "$parts[5]" \ - CRAM-MD5:'use CRAM-MD5' && ret=0 - ;; - (int) - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - __git_guard_number ${parts[3]:-'integer'} - fi - ;; - (merge.conflictstyle) - __git_config_values -- "$current" "$parts[5]" \ - merge:'use standard merge style' \ - diff3:'use diff3 style' && ret=0 - ;; - (merge.ff) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - only:'only allow fast-forward merges (equivalent to --ff-only)' && ret=0 - ;; - (merge.verbosity) - __git_config_values -t verbosity-levels -l 'verbosity level' -- "$current" "$parts[5]" \ - 0:'only final error message if conflicts were detected' \ - 1:'conflicts' \ - 2:'conflicts and file changes' \ - 5:'debugging information' && ret=0 - ;; - (notes.rewriteMode) - __git_config_values -- "$current" "$parts[5]" \ - overwrite:'overwrite existing notes' \ - concatenate:'add the note to the existing ones' \ - ignore:'ignore the new note' && ret=0 - ;; - (permission) - __git_repository_permissions && ret=0 - ;; - (pull.rebase) - __git_config_values -- "$current" "$parts[5]" \ - {true,yes,on}:$parts[2] \ - {false,no,off}:"do not $parts[2]" \ - preserve:"rebase and preserve merges" && ret=0 - ;; - (push.default) - __git_config_values -- "$current" "$parts[5]" \ - nothing:'do not push anything' \ - matching:'push all matching branches' \ - upstream:'push current branch to its upstream branch' \ - simple:'like upstream, but only if local and remote names are the same' \ - current:'push current branch to branch of same name' && ret=0 - ;; - (receive.denyCurrentBranch) - __git_config_values -- "$current" "$parts[5]" \ - {refuse,true,yes,on}:'update ref to current branch of non-bare repository' \ - {warn}:'warn about dangers of pushing, but perform it anyway' \ - {false,no,off}:'do not update ref to current branch of non-bare repository' && ret=0 - ;; - (remote.tagopt) - __git_config_values -- "$current" "$parts[5]" \ - --tags:'automatically follow tags' \ - --no-tags:'do not automatically follow tags' && ret=0 - ;; - (sendemail.aliasfiletype) - __git_config_values -- "$current" "$parts[5]" \ - elm:'elm(1)' \ - gnus:'gnus(1)' \ - mutt:'mutt(1)' \ - mailrc:'mailrc(5)' \ - pine:'pine(1)' && ret=0 - ;; - (sendemail.confirm) - __git_sendemail_confirm_values && ret=0 - ;; - (sendemail.smtpencryption) - __git_sendemail_smtpencryption_values && ret=0 - ;; - (sendemail.suppresscc) - __git_sendemail_suppresscc_values && ret=0 - ;; - (status.showUntrackedFiles) - __git_config_values -- "$current" "$parts[5]" \ - no:'do not show untracked files' \ - normal:'show untracked files and directories' \ - all:'show all individual files in directories' && ret=0 - ;; - (refname|string) - # TODO: Something better? - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - # _message 'refname' - _message "${parts[3]:-${parts[2]:-value}}" - fi - ;; - (submodule.update) - compset -P '*!' - if [[ -n $IPREFIX ]]; then - _command_names -e - else - __git_config_values -- "$current" "$parts[5]" \ - rebase:'rebase current branch onto commit recorded in superproject' \ - merge:'merge commit recorded in superproject into current branch of submodule' \ - none:'do not merge or rebase' \ - '!:specify command name that takes sha1 to update to as parameter' && ret=0 - fi - ;; - (submodule.ignore) - __git_config_values -- "$current" "$parts[5]" \ - all:'never consider submodules modified' \ - dirty:'ignore all changes to submodule work tree, only take diff between HEAD and recorded commit' \ - untracked:'show modified tracked files' \ - none:'show modified tracked and untracked files' && ret=0 - ;; - (umask) - _alternative \ - 'values:value:(user)' \ - 'umasks: :__git_guard_number umask' && ret=0 - ;; - (unknown) - _message "$line[1] option value" - compadd - $current && ret=0 - ;; - esac - ;; - (*) - # TODO: Do we need to set up a _requested/_next_label? - declare -a action - _description values expl "$parts[3]" - eval "action=($parts[4])" - "$action[1]" "$expl[@]" "${(@)action[2,-1]}" && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-fast-export] )) || -_git-fast-export () { - # TODO: * should be git-rev-arg and git-rev-list arguments. - _arguments -S -s $endopt \ - '--progress=[insert progress statements]: :__git_guard_number interval' \ - '--signed-tags=[specify how to handle signed tags]:action:((verbatim\:"silently export" - warn\:"export, but warn" - warn-strip\:"export as unsigned tags, but warn" - strip\:"export as unsigned tags instead" - abort\:"abort on signed tags (default)"))' \ - '--tag-of-filtered-object=[specify how to handle tags whose tagged object is filtered out]:action:((abort\:"abort on such tags" - drop\:"omit such tags" - rewrite\:"tag ancestor commit"))' \ - '-M-[detect moving lines in the file as well]: : :__git_guard_number "number of characters"' \ - '-C-[detect copies as well as renames with given scope]: :__git_guard_number size' \ - '--reencode=[specify how to handle encoding header in commit objects]:mode [abort]:(yes no abort)' \ - '--export-marks=[dump internal marks table when complete]: :_files' \ - '--import-marks=[load marks before processing input]: :_files' \ - '--import-marks-if-exists=[load marks from file if it exists]: :_files' \ - '--fake-missing-tagger=[fake a tagger when tags lack them]' \ - '--use-done-feature[start with a "feature done" stanza, and terminate with a "done" command]' \ - "--no-data[skip output of blob objects, instead referring to them via their SHA-1 hash]" \ - '--full-tree[output full tree for each commit]' \ - '(--get --get-all)--name-only[show variable names only]' \ - '*--refspec=[apply refspec to exported refs]:refspec' \ - '--anonymize[anonymize output]' \ - '*--anonymize-map[apply conversion in anonymized output]:from\:to' \ - '--reference-excluded-parents[reference parents not in fast-export stream by object id]' \ - '--show-original-ids[show original object ids of blobs/commits]' \ - '--mark-tags[label tags with mark ids]' \ - '*: :__git_commit_ranges' -} - -(( $+functions[_git-fast-import] )) || -_git-fast-import () { - _arguments -S -A '-*' $endopt \ - '--cat-blob-fd=-[write responses to cat-blob and ls queries to <fd> instead of stdout]:file descriptor' \ - '--date-format=-[type of dates used in input]:format:((raw\:"native Git format" - rfc2822\:"standard email format from RFC 2822" - now\:"use current time and timezone"' \ - '--done[terminate with error if there is no "done" command at the end of the stream]' \ - '--force[force updating modified existing branches]' \ - '--max-pack-size=-[maximum size of each packfile]: : __git_guard_bytes -d unlimited size' \ - '--big-file-threshold=-[maximum size of blob to create deltas for]: : __git_guard_bytes -d 512m size' \ - '--depth=-[maximum delta depth for blob and tree deltification]: :__git_guard_number "maximum delta depth"' \ - '--active-branches=-[maximum number of branches to maintain active at once]: :__git_guard_number "maximum number of branches"' \ - '--export-marks=-[dump internal marks table when complete]: :_files' \ - '--import-marks=-[load marks before processing input]: :_files' \ - '*--relative-marks[paths for export/import are relative to internal directory in current repository]' \ - '*--no-relative-marks[paths for export/import are not relative to internal directory in current repository]' \ - '--export-pack-edges=-[list packfiles and last commit on branches in them in given file]: :_files' \ - '--quiet[disable all non-fatal output]' \ - '--stats[display statistics about object created]' -} - -(( $+functions[_git-filter-branch] )) || -_git-filter-branch () { - # TODO: --*-filter should take a whole command line. - # TODO: --original should take subdirectory under .git named refs/* or some - # such. - # TODO: * should be git-rev-arg and git-rev-list arguments. - _arguments -S -A '-*' $endopt \ - '--setup[specify one time setup command]: :_cmdstring' \ - '--env-filter[filter for modifying environment in which commit will be performed]: :_cmdstring' \ - '--tree-filter[filter for rewriting tree and its contents]: :_cmdstring' \ - '--index-filter[filter for rewriting index]: :_cmdstring' \ - '--parent-filter[filter for rewriting parent list of commit]: :_cmdstring' \ - '--msg-filter[filter for rewriting commit messages]: :_cmdstring' \ - '--commit-filter[filter for rewriting commit]: :_cmdstring' \ - '--tag-name-filter[filter for rewriting tag names]: :_cmdstring' \ - '--subdirectory-filter[only look at history that touches given directory]: :_directories' \ - '--prune-empty[ignore empty generated commits]' \ - '--original[namespace where original commits will be stored]:namespace:_directories' \ - '-d[temporary directory used for rewriting]: :_directories' \ - '(-f --force)'{-f,--force}'[force operation]' \ - '--state-branch[load mapping from old to new objects from specified branch]:branch:__git_branch_names' \ - '*: :__git_commit_ranges' -} - -(( $+functions[_git-mergetool] )) || -_git-mergetool () { - # TODO: Only complete files with merge conflicts. - _arguments -S -A '-*' \ - '(-t --tool)'{-t,--tool=}'[merge resolution program to use]: :__git_mergetools' \ - '--tool-help[print a list of merge tools that may be used with "--tool"]' \ - '(-y --no-prompt --prompt)'{-y,--no-prompt}'[do not prompt before invocation of merge resolution program]' \ - '(-y --no-prompt)--prompt[prompt before invocation of merge resolution program]' \ - '(-g --gui)'{-g,--gui}'[use merge.guitool variable instead of merge.tool]' \ - '!(-g --gui)--no-gui' \ - '-O-[process files in the order specified in file]:order file:_files' \ - '*:conflicted file:_files' -} - -(( $+functions[_git-pack-refs] )) || -_git-pack-refs () { - _arguments -S $endopt \ - '( --no-all)--all[pack all refs]' \ - '(--all )--no-all[do not pack all refs]' \ - '( --no-prune)--prune[remove loose refs after packing them]' \ - '(--prune )--no-prune[do not remove loose refs after packing them]' -} - -(( $+functions[_git-prune] )) || -_git-prune () { - _arguments -s -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not remove anything; just report what would be removed]' \ - '(-v --verbose)'{-v,--verbose}'[report all removed objects]' \ - '--progress[show progress]' \ - '--expire=[only expire loose objects older than specified date]: :__git_datetimes' \ - '--exclude-promisor-objects[limit traversal to objects outside promisor packfiles]' \ - '*:: :__git_heads' -} - -(( $+functions[_git-reflog] )) || -_git-reflog () { - declare -a revision_options - __git_setup_revision_options - - if [[ $words[2] == --* ]]; then - _arguments -S \ - $revision_options \ - ':: :__git_references' - else - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: -h is undocumented. - _arguments -C -S \ - '(- : *)-h[display usage]' \ - $revision_options \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'expire:prune old reflog entries' - 'delete:delete entries from reflog' - 'show:show log of ref' - 'exists:check whether a ref has a reflog' - ) - - _alternative \ - 'commands:: _describe -t commands command commands' \ - 'references:: __git_references' && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (expire) - _arguments -S \ - '(-n --dry-run)'{-n,--dry-run}"[don't actually prune any entries; show what would be pruned]" \ - '--stale-fix[prune any reflog entries that point to "broken commits"]' \ - '--expire=-[prune entries older than given time]: :__git_datetimes' \ - '--expire-unreachable=-[prune entries older than given time and unreachable]: :__git_datetimes' \ - '--all[prune all refs]' \ - '--updateref[update ref with SHA-1 of top reflog entry after expiring or deleting]' \ - '--rewrite[adjust reflog entries to ensure old SHA-1 points to new SHA-1 of previous entry after expiring or deleting]' \ - '--verbose[output additional information]' && ret=0 - ;; - (delete) - _arguments -C -S \ - '(-n --dry-run)'{-n,--dry-run}"[dpn't update entries; show what would be done]" \ - '--updateref[update ref with SHA-1 of top reflog entry after expiring or deleting]' \ - '--rewrite[adjust reflog entries to ensure old SHA-1 points to new SHA-1 of previous entry after expiring or deleting]' \ - '--verbose[output additional information]' \ - '*:: :->reflog-entry' && ret=0 - - case $state in - (reflog-entry) - # TODO: __git_ignore_line doesn't work here for some reason. - __git_ignore_line __git_reflog_entries && ret=0 - ;; - esac - ;; - (show|--*) - _arguments -S \ - $revision_options \ - ':: :__git_references' && ret=0 - ;; - (exists) - __git_references && ret=0 - ;; - esac - esac - - return ret - fi -} - -(( $+functions[_git-remote] )) || -_git-remote () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(-v --verbose)'{-v,--verbose}'[show remote url after name]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'add:add a new remote' - 'get-url:retrieves the URLs for a remote' - 'rename:rename a remote and update all associated tracking branches' - {rm,remove}':remove a remote and all associated tracking branches' - 'set-head:set or delete default branch for a remote' - 'set-branches:change list of branches tracked by a remote' - 'set-url:change URL for a remote' - 'show:show information about a given remote' - 'prune:delete all stale tracking branches for a remote' - 'update:fetch updates for a set of remotes' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (add) - # TODO: -t and --track should really list branches at url. - _arguments -S -s $endopt \ - '(-f --fetch)'{-f,--fetch}'[run git fetch on new remote after it has been created]' \ - '( --no-tags)--tags[tell git fetch to import every tag from remote repository]' \ - '(--tags )--no-tags[tell git fetch to not import every tag from remote repository]' \ - '*'{-t,--track=}'[track given branch instead of default glob refspec]: :__git_branch_names' \ - '(-m --master)'{-m,--master=}'[set HEAD of remote to point to given master branch]: :__git_branch_names' \ - '--mirror[do not use separate remotes]::mirror type:(fetch pull)' \ - ':name:__git_remotes' \ - ':repository:__git_repositories_or_urls' && ret=0 - ;; - (get-url) - _arguments -S -s $endopt \ - '--push[list push URL instead of fetch URL]' \ - '--all[list all URLs for the remote]' \ - ': :__git_remotes' && ret=0 - ;; - (rename) - _arguments \ - ':old name:__git_remotes' \ - ':new name:__git_remotes' && ret=0 - ;; - (set-head) - # TODO: Second argument should be a branch at url for remote. - _arguments -S -s $endopt \ - '(- 2)'{-d,--delete}'[delete default branch]' \ - '(- 2)'{-a,--auto}'[determine default branch automatically]' \ - ': :__git_remotes' \ - ': :__git_branch_names' && ret=0 - ;; - (set-branches) - # TODO: Branches should be at url. - _arguments -S -s $endopt \ - '--add[add branches to those already defined]' \ - ': :__git_remotes' \ - '*: :__git_branch_names' && ret=0 - ;; - (set-url) - _arguments -S $endopt \ - '--push[manipulate push URLs instead of fetch URLs]' \ - '(3)--add[add URL to those already defined]' \ - '(2)--delete[delete all matching URLs]' \ - '1: :__git_remotes' \ - '2:new url:__git_repositories_or_urls' \ - '3:old url: __git_current_remote_urls ${(k)opt_args[--push]} $line[1]' && ret=0 - ;; - (show) - _arguments -S $endopt \ - '-n[do not contact the remote for a list of branches]' \ - '*: :__git_remotes' && ret=0 - ;; - (prune) - _arguments -S -s $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually prune, only list what would be done]' \ - '*: :__git_remotes' && ret=0 - ;; - (update) - _arguments -S -s $endopt \ - '(-p --prune)'{-p,--prune}'[prune all updated remotes]' \ - ': :__git_remote-groups' && ret=0 - ;; - (*) # rm, remove and fallback for any new subcommands - __git_remotes && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-repack] )) || -_git-repack () { - _arguments -s \ - '(-A --unpack-unreachable)-a[pack all objects into a single pack]' \ - '(-a -k --keep-unreachable)-A[pack all objects into a single pack, but unreachable objects become loose]' \ - '-d[remove redundant packs after packing]' \ - "--unpack-unreachable=[with -A, don't loosen objects older than specified date]:date" \ - '-f[pass --no-reuse-delta option to git pack-objects]' \ - '-F[pass --no-reuse-object option to git pack-objects]' \ - "-n[don't update server information]" \ - '(-q --quiet)'{-q,--quiet}'[pass -q option to git pack-objects]' \ - '(-l --local)'{-l,--local}'[pass --local option to git pack-objects]' \ - '(-b --write-bitmap-index)'{-b,--write-bitmap-index}'[write a bitmap index]' \ - '(-i --delta-islands)'{-i,--delta-islands}'[pass --delta-islands to git-pack-objects]' \ - "--unpack-unreachable=[with -A, don't loosen objects older than specified time]:time" \ - '(-k --keep-unreachable)'{-k,--keep-unreachable}'[with -a, repack unreachable objects]' \ - '--window=[number of objects to consider when doing delta compression]:number of objects' \ - '--window-memory=[scale window size dynamically to not use more than specified amount of memory]: : __git_guard_bytes' \ - '--depth=[maximum delta depth]:maximum delta depth' \ - '--threads=[limit maximum number of threads]:threads' \ - '--max-pack-size=-[maximum size of each output packfile]: : __git_guard_bytes "maximum pack size"' \ - '--pack-kept-objects[repack objects in packs marked with .keep]' \ - '--keep-pack=[ignore named pack]:pack' \ - '(-g --geometric)'{-g+,--geometric=}'[find a geometric progression with specified factor]:factor' \ - '(-m --write-midx)'{-m,--write-midx}'[write a multi-pack index of the resulting packs]' -} - -(( $+functions[_git-replace] )) || -_git-replace () { - _arguments -S -s $endopt \ - '(-d --delete -l --list -g --graft *)'{-f,--force}'[overwrite existing replace ref]' \ - "(-d --delete -l --list -g --graft 2 *)--raw[don't pretty-print contents for --edit]" \ - '(-d --delete -e --edit -g --graft --raw)--format=[use specified format]:format:(short medium long)' \ - ': :__git_objects' \ - ':replacement:__git_objects' \ - '*: :__git_objects' \ - - '(actions)' \ - '(: * --raw -f --force)'{-l,--list}'[list replace refs]:pattern' \ - {-d,--delete}'[delete existing replace refs]:*:replacement:__git_objects' \ - '(* 2 --format)'{-e,--edit}'[edit existing object and replace it with the new one]' \ - '(--raw --format)'{-g,--graft}'[rewrite the parents of a commit]' \ - '--convert-graft-file[convert existing graft file]' -} - -# Ancillary Commands (Interrogators) - -(( $+functions[_git-annotate] )) || -_git-annotate() { - _git-blame "$@" -} - -(( $+functions[_git-blame] )) || -_git-blame () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - # TODO: Not sure about __git_cached_files. - _arguments -C -S -s $endopt \ - '-b[show blank SHA-1 for boundary commits]' \ - '--root[do not treat root commits as boundaries]' \ - '--show-stats[include additional statistics at the end of blame output]' \ - '--progress[force progress reporting]' \ - '*-L[annotate only the given line range]: :->line-range' \ - '-l[show long rev]' \ - '-t[show raw timestamp]' \ - '-S[use revs from revs-file]:revs-file:_files' \ - '--reverse[walk history forward instead of backward]' \ - '(-p --porcelain)'{-p,--porcelain}'[show results designed for machine processing]' \ - '--line-porcelain[show results designed for machine processing but show commit information for every line]' \ - '--incremental[show results incrementally for machine processing]' \ - '--contents[annotate against the given file if no rev is specified]: :_files' \ - '(-h --help)'{-h,--help}'[show help message]' \ - '-c[use same output format as git annotate]' \ - '--score-debug[output debugging information relating to -C and -M line movement]' \ - '(-e --show-email)'{-e,--show-email}'[show the author email instead of the author name]' \ - '(-f --show-name)'{-f,--show-name}'[show the filename of the original commit]' \ - '(-n --show-number)'{-n,--show-number}'[show the line number in the original commit]' \ - '-s[suppress author name and timestamp]' \ - '-w[ignore whitespace when finding lines]' \ - '--ignore-rev=[ignore specified revision when blaming]:revision:__git_revisions' \ - '--ignore-revs-file=[ignore revisions from file]:file:_files' \ - '(--color-by-age)--color-lines[color redundant metadata from previous line differently]' \ - '(--color-lines)--color-by-age[color lines by age]' \ - $revision_options \ - ':: :__git_revisions' \ - ': :__git_cached_files' && ret=0 - - case $state in - (line-range) - if compset -P '([[:digit:]]#|/[^/]#(\\?[^/]#)#/),'; then - _alternative \ - 'line-numbers: :__git_guard_number "line number"' \ - 'regexes::_guard "(/[^/]#(\\?[^/]#)#(/|)|)" regex' \ - 'offsets::_guard "([+-][[:digit:]]#|)" "line offset"' && ret=0 - else - _alternative \ - 'line-numbers: :__git_guard_number "line number"' \ - 'regexes::_guard "(/[^/]#(\\?[^/]#)#(/|)|)" regex' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-bugreport] )) || -_git-bugreport() { - _arguments \ - '(-o --output-directory)'{-o+,--output-directory=}'[specify a destination for the bugreport file]:directory:_directories' \ - '(-s --suffix)'{-s+,--suffix=}'[specify a strftime format suffix for the filename]:format:_date_formats' -} - -(( $+functions[_git-cherry] )) || -_git-cherry () { - _arguments -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - ':upstream commit:__git_commits' \ - '::head commit:__git_commits' \ - '::limit commit:__git_commits' -} - -(( $+functions[_git-count-objects] )) || -_git-count-objects () { - _arguments -s -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[also report number of in-pack objects and objects that can be removed]' \ - {-H,--human-readable}'[print sizes in human readable format]' -} - -(( $+functions[_git-difftool] )) || -_git-difftool () { - # TODO: Is this fine, or do we need to modify the context or similar? - _git-diff \ - '(-d --dir-diff --no-index)'{-d,--dir-diff}'[diff a whole tree by preparing a temporary copy]' \ - '(-y --no-prompt --prompt)'{-y,--no-prompt}'[do not prompt before invocation of diff tool]' \ - '(-y --no-prompt)--prompt[prompt before invocation of diff tool]' \ - '(-t --tool -x --extcmd)'{-t,--tool=-}'[merge resolution program to use]: :__git_difftools' \ - '(-t --tool -x --extcmd)'{-x,--extcmd=-}'[custom diff command to use]: :_cmdstring' \ - '--tool-help[print a list of diff tools that may be used with --tool]' \ - '(--symlinks)--no-symlinks[make copies of instead of symlinks to the working tree]' \ - '(---no-symlinks)--symlinks[make symlinks to instead of copies of the working tree]' \ - '(-g --gui)'{-g,--gui}'[use diff.guitool instead of diff.tool]' \ - '--trust-exit-code[make git-difftool exit when diff tool returns a non-zero exit code]' -} - -(( $+functions[_git-fsck] )) || -_git-fsck () { - _arguments -S -s $endopt \ - '--unreachable[show objects that are unreferenced in the object database]' \ - '(--dangling --no-dangling)--dangling[print dangling objects (default)]' \ - '(--dangling --no-dangling)--no-dangling[do not print dangling objects]' \ - '--root[show root nodes]' \ - '--tags[show tags]' \ - '--cache[consider objects recorded in the index as head nodes for reachability traces]' \ - '--no-reflogs[do not consider commits referenced only by reflog entries to be reachable]' \ - '--full[check all object directories]' \ - '--connectivity-only[check only connectivity]' \ - '--strict[do strict checking]' \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '--lost-found[write dangling objects into .git/lost-found]' \ - '--progress[show progress]' \ - '--name-objects[show verbose names for reachable objects]' \ - '*: :__git_objects' -} - -(( $+functions[_git-get-tar-commit-id] )) || -_git-get-tar-commit-id () { - _message 'no arguments allowed; accepts tar-file on standard input' -} - -(( $+functions[_git-help] )) || -_git-help () { - _arguments -S -s \ - '(-c --config -i --info -m --man -w --web)'{-a,--all}'[show all available commands]' \ - '(-)'{-c,--config}'[print all configuration variable names]' \ - '(-a --all -g --guides -c --config -m --man -w --web)'{-i,--info}'[display manual for the command in info format]' \ - '(-a --all -g --guides -c --config -i --info -w --web)'{-m,--man}'[display manual for the command in man format]' \ - '(-a --all -g --guides -c --config -i --info -m --man)'{-w,--web}'[display manual for the command in HTML format]' \ - '(-g --guides -c --config -i --info -m --man -w --web)'{-g,--guides}'[prints a list of useful guides on the standard output]' \ - '(-v --verbose)'{-v,--verbose}'[print command descriptions]' \ - ': : _alternative commands:command:_git_commands "guides:git guide:(attributes cli core-tutorial cvs-migration diffcore everyday glossary hooks ignore modules namespaces repository-layout revisions tutorial tutorial-2 workflows)"' -} - -(( $+functions[_git-instaweb] )) || -_git-instaweb () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-l --local)'{-l,--local}'[bind the web server to 127.0.0.1]' \ - '(-d --httpd)'{-d,--httpd=}'[HTTP-daemon command-line that will be executed]:command line' \ - '(-m --module-path)'{-m,--module-path=}'[module path for the Apache HTTP-daemon]:module path:_directories' \ - '(-p --port)'{-p,--port=}'[port to bind web server to]: :__git_guard_number port' \ - '(-b --browser)'{-b,--browser=}'[web-browser command-line that will be executed]:command line' \ - '(:)--start[start the HTTP-daemon and exit]' \ - '(:)--stop[stop the HTTP-daemon and exit]' \ - '(:)--restart[restart the HTTP-daemon and exit]' \ - ': :->command' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - start:'start the HTTP-daemon and exit' - stop:'stop the HTTP-daemon and exit' - restart:'restart the HTTP-daemon and exit') - - _describe -t commands command commands && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-merge-tree] )) || -_git-merge-tree () { - _arguments \ - ':base-tree:__git_tree_ishs' \ - ':branch 1:__git_tree_ishs' \ - ':branch 2:__git_tree_ishs' -} - -(( $+functions[_git-rerere] )) || -_git-rerere () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '--rerere-autoupdate[register clean resolutions in index]' \ - ': :->command' && ret=0 - - case $state in - (command) - # TODO: This isn't optimal, as forget get confused. - _values command \ - 'clear[reset metadata used by rerere]' \ - 'forget[resets metadata used by rerere for specific conflict]: :__git_cached_files' \ - 'diff[output diffs for the current state of the resolution]' \ - 'status[print paths with conflicts whose merge resolution rerere will record]' \ - 'remaining[print paths with conflicts that have not been autoresolved by rerere]' \ - 'gc[prune old records of conflicted merges]' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-rev-parse] )) || -_git-rev-parse () { - local parseopt_opt= sq_quote_opt= local_env_vars_opt= h_opt= - declare -a quiet_opts - if (( CURRENT == 2 )); then - parseopt_opt='--parseopt[use git rev-parse in option parsing mode]' - sq_quote_opt='--sq-quote[use git rev-parse in shell quoting mode]' - local_env_vars_opt='--local-env-vars[list git environment variables local to repository]' - h_opt='-h[display usage]' - fi - - if (( words[(I)--verify] )); then - quiet_opts=({-q,--quiet}'[do not output error messages]') - fi - - local ret=0 - - if (( words[(I)--parseopt] )); then - if (( words[(I)--] )); then - _message 'argument' - else - # TODO: Parse option specification? - _arguments -S -s \ - '(- *)'{-h,--help}'[display usage]' \ - '--keep-dashdash[do not skip first -- option]' \ - '--stop-at-non-option[stop parsing options at first non-option argument]' \ - '--stuck-long[output options in long form if available, and with their arguments stuck]' \ - '*:option specification' && ret=0 - fi - elif (( words[(I)--sq-quote] )); then - _message 'argument' - elif (( words[(I)--local-env-vars|-h] )); then - _message 'no more arguments' - else - _arguments \ - $parseopt_opt \ - $sq_quote_opt \ - $local_env_vars_opt \ - $h_opt \ - '( --no-revs --verify --short)--revs-only[do not output flags and parameters not meant for git rev-list]' \ - '(--revs-only --verify --short)--no-revs[do not output flags and parameters meant for git rev-list]' \ - '( --no-flags --verify --short)--flags[do not output non-flag parameters]' \ - '(--flags --verify --short)--no-flags[do not output flag parameters]' \ - '--default[use given argument if there is no parameter given]:argument' \ - '(--revs-only --no-revs --flags --no-flags --short)--verify[verify parameter to be usable]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--sq[output single shell-quoted line]' \ - '--not[toggle ^ prefix of object names]' \ - '( --symbolic-full-name)--symbolic[output in a format as true to input as possible]' \ - '(--symbolic )--symbolic-full-name[same as --symbolic, but omit non-ref inputs]' \ - '--abbrev-ref=-[a non-ambiguous short name of object]::mode:(strict loose)' \ - '--disambiguate=-[show every object whose name begins with the given prefix]:prefix' \ - '--all[show all refs found in refs/]' \ - '--branches=-[show branch refs found in refs/heads/]::shell glob pattern' \ - '--tags=-[show tag refs found in refs/tags/]::shell glob pattern' \ - '--remotes=-[show tag refs found in refs/remotes/]::shell glob pattern' \ - '--glob=-[show all matching refs]::shell glob pattern' \ - '--show-toplevel[show absolute path of top-level directory]' \ - '--show-prefix[show path of current directory relative to top-level directory]' \ - '--show-cdup[show path of top-level directory relative to current directory]' \ - '--git-dir[show $GIT_DIR if defined else show path to .git directory]' \ - '--is-inside-git-dir[show whether or not current working directory is below repository directory]' \ - '--is-inside-work-tree[show whether or not current working directory is inside work tree]' \ - '--is-bare-repository[show whether or not repository is bare]' \ - '(--revs-only --no-revs --flags --no-flags --verify)--short=-[show only shorter unique name]:: :__git_guard_number length' \ - '(--since --after)'{--since=-,--after=-}'[show --max-age= parameter corresponding given date string]:datestring' \ - '(--until --before)'{--until=-,--before=-}'[show --min-age= parameter corresponding given date string]:datestring' \ - '--resolve-git-dir[check if <path> is a valid repository or gitfile and print location]:git dir:_files -/' \ - '*: :__git_objects' && ret=0 - fi - - return ret -} - -(( $+functions[_git-show-branch] )) || -_git-show-branch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(--more --merge-base --independent)--list[do not show any ancestry (--more=-1)]' \ - - branches \ - '(-r --remotes -a --all)'{-r,--remotes}'[show remote-tracking branches]' \ - '(-r --remotes -a --all)'{-a,--all}'[show both remote-tracking branches and local branches]' \ - '--current[include current branch to the list of revs]' \ - '( --date-order)--topo-order[show commits in topological order]' \ - '(--topo-order )--date-order[show commits in commit-date order]' \ - '--sparse[output merges that are reachable from multiple tips being shown]' \ - '( --list --merge-base --independent)--more=[go given number of commit beyond common ancestor (no ancestry if negative)]:: :_guard "(-|)[[\:digit\:]]#" limit' \ - '(--more --list --independent)--merge-base[act like git merge-base -a, but with two heads]' \ - '(--more --list --merge-base )--independent[show only the reference that can not be reached from any of the other]' \ - '( --sha1-name)--no-name[do not show naming strings for each commit]' \ - '(--no-name )--sha1-name[name commits with unique prefix of object names]' \ - '--topics[show only commits that are NOT on the first branch given]' \ - '( --no-color)--color[color status sign of commits]:: :__git_color_whens' \ - '(--color )--no-color[do not color status sign of commits]' \ - '*: :__git_revisions' \ - - reflogs \ - '(-g --reflog)'{-g,--reflog=}'[show reflog entries for given ref]:: :->limit-and-base' \ - ': :__git_references' && ret=0 - - case $state in - (limit-and-base) - if compset -P '[[:digit:]]##,'; then - _alternative \ - 'counts: :__git_guard_number count' \ - 'dates::__git_datetimes' && ret=0 - else - __git_guard_number limit - fi - ;; - esac - - return ret -} - -(( $+functions[_git-verify-commit] )) || -_git-verify-commit () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[print contents of the commit object before validating it]' \ - '--raw[print raw gpg status output]' \ - '*: :__git_commits' -} - -(( $+functions[_git-verify-tag] )) || -_git-verify-tag () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[print contents of the tag object before validating it]' \ - '--raw[print raw gpg status output]' \ - '--format=[specify format to use for the output]:format:__git_format_ref' \ - '*: :__git_tags' -} - -(( $+functions[_git-whatchanged] )) || -_git-whatchanged () { - local -a revision_options - __git_setup_revision_options - - _arguments -s -S $endopt \ - $revision_options \ - '1:: :__git_commits' \ - '*: :__git_cached_files' -} - -# Interacting With Others - -(( $+functions[_git-archimport] )) || -_git-archimport () { - # TODO: archive/branch can perhaps use _arch_archives. It should also allow - # an optional colon followed by a __git_branches. - _arguments \ - '-h[display usage]' \ - '-v[verbose output]' \ - '-T[create tag for every commit]' \ - '-f[use fast patchset import strategy]' \ - '-o[use old-style branch names]' \ - '-D[attempt to import trees that have been merged from]: :__git_guard_number depth' \ - '-a[auto-register archives at http://mirrors.sourcecontrol.net]' \ - '-t[use given directory as temporary directory]: :_directories' \ - '*:archive/branch' -} - -(( $+functions[_git-cvsexportcommit] )) || -_git-cvsexportcommit () { - # TODO: Could use _cvs_root from _cvs for completing argument to -d. - _arguments \ - '-c[commit automatically if patch applied cleanly]' \ - '-p[be pedantic (paranoid) when applying patches]' \ - '-a[add authorship information]' \ - '-d[set an alternative CVSROOT to use]:cvsroot' \ - '-f[force the merge, even if files are not up to date]' \ - '-P[force the parent commit, even if it is not a direct parent]' \ - '-m[prepend the commit message with the provided prefix]:message prefix' \ - '-u[update affected files from CVS repository before attempting export]' \ - '-k[reverse CVS keyword expansion]' \ - '-w[specify location of CVS checkout to use for export]' \ - '-W[use current working directory for bot Git and CVS checkout]' \ - '-v[verbose output]' \ - '-h[display usage]' \ - ':: :__git_commits' \ - ': :__git_commits' -} - -(( $+functions[_git-cvsimport] )) || -_git-cvsimport () { - # TODO: _cvs_root for -d would be nice - _arguments \ - '-v[verbose output]' \ - '-d[specify the root of the CVS archive]:cvsroot' \ - '-C[specify the git repository to import into]:directory:_directories' \ - '-r[the git remote to import into]:remote' \ - '-o[specify the branch into which you wish to import]: :__git_branch_names' \ - '-i[do not perform a checkout after importing]' \ - '-k[remove keywords from source files in the CVS archive]' \ - '-u[convert underscores in tag and branch names to dots]' \ - '-s[substitute the "/" character in branch names with given substitution]:substitute' \ - '-p[specify additional options for cvsps]:cvsps-options' \ - '-z[specify timestamp fuzz factor to cvsps]:fuzz-factor' \ - '-P[read cvsps output file]:file:_files' \ - '-m[attempt to detect merges based on the commit message]' \ - '*-M[attempt to detect merges based on the commit message with custom pattern]:pattern' \ - '-S[skip paths matching given regex]:regex' \ - '-a[import all commits, including recent ones]' \ - '-L[limit the number of commits imported]:limit' \ - '-A[specify author-conversion file]:author-conversion file:_files' \ - '-R[generate cvs-revisions file mapping CVS revision numbers to commit IDs]' \ - '-h[display usage information]' \ - ':cvsmodule' -} - -(( $+functions[_git-cvsserver] )) || -_git-cvsserver () { - _arguments -S -s \ - '--base-path[path to prepend to requested CVSROOT]: :_directories' \ - '--strict-paths[do not allow recursing into subdirectories]' \ - '--export-all[do not check for gitcvs.enabled]' \ - '(- * -V --version)'{-V,--version}'[display version information]' \ - '(- * -h --help)'{-h,-H,--help}'[display usage information]' \ - '::type:(pserver server)' \ - '*: :_directories' -} - -(( $+functions[_git-imap-send] )) || -_git-imap-send () { - _arguments -S $endopt \ - '--curl[use libcurl to communicate with the IMAP server]' \ - - '(out)' \ - {-v,--verbose}'[be more verbose]' \ - {-q,--quiet}'[be more quiet]' -} - -(( $+functions[_git-quiltimport] )) || -_git-quiltimport () { - _arguments -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[check patches and warn if they cannot be imported]' \ - '--author[default author name and email address to use for patches]: :_email_addresses' \ - '--patches[set directory containing patches]:patch directory:_directories' \ - '--series[specify quilt series file]:series file:_files' \ - '--keep-non-patch[pass -b to git mailinfo]' -} - -(( $+functions[_git-request-pull] )) || -_git-request-pull () { - _arguments -S $endopt \ - '-p[display patch text]' \ - ':start commit:__git_commits' \ - ': :_urls' \ - '::end commit:__git_commits' -} - -(( $+functions[_git-send-email] )) || -_git-send-email () { - _arguments -S $endopt \ - '--annotate[review and edit each patch before sending it]' \ - '--bcc=[Bcc: value for each email]: :_email_addresses' \ - '--cc=[starting Cc: value for each email]: :_email_addresses' \ - '--to-cover[copy the To: list from the first file to the rest]' \ - '--cc-cover[copy the Cc: list from the first file to the rest]' \ - '--compose[edit introductory message for patch series]' \ - '--from=[specify sender]:email address:_email_addresses' \ - '--reply-to=[specify Reply-To address]:email address:_email_addresses' \ - '--in-reply-to=[specify contents of first In-Reply-To header]:message-id' \ - '--subject=[specify the initial subject of the email thread]:subject' \ - '--to=[specify the primary recipient of the emails]: :_email_addresses' \ - "--no-xmailer[don't add X-Mailer header]" \ - '--8bit-encoding=[encoding to use for non-ASCII messages]: :__git_encodings' \ - '--compose-encoding=[encoding to use for compose messages]: :__git_encodings' \ - '--transfer-encoding=[specify transfer encoding to use]:transfer encoding:(quoted-printable 8bit base64)' \ - '--envelope-sender=[specify the envelope sender used to send the emails]: :_email_addresses' \ - '--sendmail-cmd=[specify command to run to send email]:command:_cmdstring' \ - '--smtp-encryption=[specify encryption method to use]: :__git_sendemail_smtpencryption_values' \ - '--smtp-domain=[specify FQDN used in HELO/EHLO]: :_domains' \ - '--smtp-pass=[specify password to use for SMTP-AUTH]::password' \ - '--smtp-server=[specify SMTP server to connect to, or sendmail command]: : __git_sendmail_smtpserver_values' \ - '--smtp-server-port=[specify port to connect to SMTP server on]:smtp port:_ports' \ - '--smtp-server-option=[specify the outgoing SMTP server option to use]:SMTP server option' \ - '--smtp-ssl-cert-path=[path to ca-certificates (directory or file)]:ca certificates path:_files' \ - '--smtp-user=[specify user to use for SMTP-AUTH]:smtp user:_users' \ - '(--no-smtp-auth)--smtp-auth=[specify allowed AUTH mechanisms]:space-separated list of mechanisms' \ - '(--smtp-auth)--no-smtp-auth[disable SMTP authentication]' \ - '--smtp-debug=[enable or disable debug output]:smtp debug:((0\:"disable" 1\:"enable"))' \ - '--batch-size=[specify maximum number of messages per connection]:number' \ - '--relogin-delay=[specify delay between successive logins]:delay (seconds)' \ - '--cc-cmd=[specify command to generate Cc\: header with]:Cc\: command:_cmdstring' \ - '--to-cmd=[specify command to generate To\: header with]:To\: command:_cmdstring' \ - '( --no-chain-reply-to)--chain-reply-to[send each email as a reply to previous one]' \ - '(--chain-reply-to )--no-chain-reply-to[send all emails after first as replies to first one]' \ - '--identity=[specify configuration identity]: :__git_sendemail_identities' \ - '( --no-signed-off-by-cc)--signed-off-by-cc[add emails found in Signed-off-by: lines to the Cc: list]' \ - '(--signed-off-by-cc )--no-signed-off-by-cc[do not add emails found in Signed-off-by: lines to the Cc: list]' \ - '--suppress-cc=[specify rules for suppressing Cc:]: :__git_sendemail_suppresscc_values' \ - '( --no-suppress-from)--suppress-from[do not add the From: address to the Cc: list]' \ - '(--suppress-from )--no-suppress-from[add the From: address to the Cc: list]' \ - '( --no-thread)--thread[set In-Reply-To: and References: headers]' \ - '(--thread )--no-thread[do not set In-Reply-To: and References: headers]' \ - '--confirm[specify type of confirmation required before sending]: :__git_sendemail_confirm_values' \ - '--dry-run[do everything except actually sending the emails]' \ - '( --no-format-patch)--format-patch[interpret ambiguous arguments as format-patch arguments]' \ - '(--format-patch )--no-format-patch[interpret ambiguous arguments file-name arguments]' \ - '--quiet[be less verbose]' \ - '( --no-validate)--validate[perform sanity checks on patches]' \ - '(--validate )--no-validate[do not perform sanity checks on patches]' \ - '--force[send emails even if safety checks would prevent it]' \ - '(- *)--dump-aliases[dump configured aliases and exit]' \ - '*: : _alternative -O expl - "files:file:_files" - "commits:recent commit object name:__git_commit_objects_prefer_recent"' -} - -(( $+functions[_git-svn] )) || -_git-svn () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(- :)'{-V,--version}'[display version information]' \ - '(- :)'{-h,-H,--help}'[display usage information]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - blame:'show what revision and author last modified each line of a file' - branch:'create a branch in the SVN repository' - clone:'same as init, followed by fetch' - commit-diff:'commit diff of two tree-ishs' - create-ignore:'recursively finds the svn:ignore property and creates .gitignore files' - dcommit:'commit diffs from given head onto SVN repository' - fetch:'fetch revisions from the SVN remote' - find-rev:'output git commit corresponding to the given SVN revision'\''s hash' - gc:'compress git-svn-related information' - info:'show information about a file or directory' - init:'initialize an empty git repository with additional svn data' - log:'output SVN log-messages' - migrate:'migrate configuration/metadata/layout from previous versions of git-svn' - mkdirs:'recreate empty directories that Git cannot track' - propget:'get a given SVN property for a file' - proplist:'list the SVN properties stored for a file or directory' - propset:'set the value of a property on a file or directory - will be set on commit' - rebase:'fetch revs from SVN parent of HEAD and rebase current work on it' - reset:'undo effect of fetch back to specific revision' - set-tree:'commit given commit or tree to SVN repository' - show-externals:'show the subversion externals' - show-ignore:'output svn:ignore in format of a toplevel .gitignore file' - tag:'create a tag in the SVN repository' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - declare -a opts - - case $line[1] in - (clone|dcommit|fetch|init|migrate|rebase|set-tree) - # TODO: --no-auth-cache is undocumented. - # TODO: --config-dir is undocumented. - opts+=( - '--config-dir=:configuration directory:_directories' - '--ignore-paths[regular expression of paths to not check out]:perl regex' - '--include-paths[regular expression of paths to check out]:perl regex' - '--ignore-refs:ref' - '--no-auth-cache' - '--username=[username to use for SVN transport]: :_users' - ) - ;| - (clone|dcommit|fetch|log|rebase|set-tree) - opts+=( - '(-A --authors-file)'{-A,--authors-file}'[specify author-conversion file]:author-conversion file:_files' - ) - ;| - (clone|dcommit|fetch|rebase|set-tree) - # TODO: --repack-flags can be improved by actually completing the legal - # flags to git-repack. - # TODO: --no-checkout is undocumented. - opts+=( - "--add-author-from[when committing to svn, append a From: line based on the git commit's author string]" - '--authors-prog=[specify program used to generate authors]: :_cmdstring' - '(--no-follow-parent)--follow-parent[follow parent commit]' - "(--follow-parent)--no-follow-parent[don't follow parent commit]" - '--localtime[store Git commit times in local timezone]' - '--log-window-size=[fetch specified number of log entries per-request]:entries [100]' - '--no-checkout' - '(-q --quiet)'{-q,--quiet}'[make git-svn less verbose]' - '(--repack-flags --repack-args --repack-opts)'{--repack-flags=,--repack-args=,--repack-opts=}'[flags to pass to git-repack]:git-repack flags' - '--repack=[repack files (for given number of revisions)]:: :__git_guard_number "revision limit"' - '--use-log-author[use author from the first From: or Signed-Off-By: line, when fetching into git]' - ) - ;| - (clone|init) - opts+=( - '(-T --trunk)'{-T-,--trunk=}'[set trunk sub-directory]:trunk sub-directory:->subdirectory' - '(-t --tags)*'{-t-,--tags=}'[add tags sub-directory]:tags sub-directory:->subdirectory' - '(-b --branches)*'{-b-,--branches=}'[add branches sub-directory]:branches sub-directory:->subdirectory' - '(-s --stdlayout)'{-s,--stdlayout}'[shorthand for setting trunk, tags, branches as relative paths, the SVN default]' - '--no-metadata[get rid of git-svn-id: lines at the end of every commit]' - '--rewrite-root=[set svn-remote.*.rewriteRoot]:new root:_urls' - '--rewrite-uuid=[set svn-remote.*.rewriteUUID]:uuid' - '--prefix=[prefix to use for names of remotes]:path prefix:_directories -r ""' - '( --no-minimize-url)--minimize-url[minimize URLs]' - "(--minimize-url )--no-minimize-url[don't minimize URLs]" - '--shared=[share repository amongst several users]:: :__git_repository_permissions' - '--template=[directory to use as a template for the object database]: :_directories' - '--use-svm-props[re-map repository URLs and UUIDs from mirrors created with SVN::Mirror]' - '--use-svnsync-props[re-map repository URLs and UUIDs from mirrors created with svnsync]' - ) - ;| - (commitdiff|dcommit|set-tree) - # TODO: -C and --copy-similarity are undocumented. - opts+=( - '(-C --copy-similarity)'{-C-,--copy-similarity=}': :_guard "[[\:digit:\]]#" number' - '(-e --edit)'{-e,--edit}'[edit commit message before committing]' - '-l-[limit number of rename/copy targets to run]: :__git_guard_number' - '--find-copies-harder[try harder to find copies]' - '--rmdir[remove empty directories from SVN tree after commit]' - ':: :__git_svn-remotes' - ) - ;| - (fetch|clone) - opts+=( - '(-r --revision)'{-r,--revision}'[only fetch given revision or revision range]: :__git_svn_revisions' - ':: :__git_svn-remotes' - ) - ;| - (fetch|rebase|dcommit) - # TODO: --fetch-all and --all are undocumented. - opts+=( '(--fetch-all --all)'{--fetch-all,--all} ) - ;| - (rebase|dcommit) - opts+=( - '(-M -m --merge)'{-M,-m,--merge}'[use merging strategies, if necessary]' - '*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies' - ) - ;| - (rebase|dcommit|branch|tag) - opts+=( - '(-n --dry-run)'{-n,--dry-run}'[only display what would be done]' - ) - ;| - (rebase|dcommit|log) - opts+=( '(-v --verbose)'{-v,--verbose}'[display extra information]' ) - ;| - (branch|tag) - # TODO: -d/--destination should complete output of - # git config --get-all svn-remote.*.branches - # git config --get-all svn-remote.*.tags - # TODO: --username should probably use something from _svn. - # TODO: --commit-url should complete output of - # git config --get-all svn-remote.*.commiturl - opts+=( - '(-m --message)'{-m,--message}'[specify the commit message]:message' - '(-d --destination)'{-d,--destination}"[location of $line[1] to create in SVN repository]: :_directories" - '--username[specify SVN username to perform commit as]: :_users' - '--commit-url[specify URL to connect to destination SVN repository]: :_urls' - '--parents[create parent folders]' - ) - ;| - (commit-diff|create-ignore|dcommit|show-ignore|mkdirs|proplist|propget|show-externals) - # TODO: -r and --revision is undocumented for dcommit, show-ignore and mkdirs. - opts+=( - '(-r --revision)'{-r,--revision}'[specify SVN revision]: :__git_svn_revisions' - ) - ;| - (propset|propget) - opts+=( '1:property:(svn:ignore svn:keywords svn:executable svn:eol-style svn:mime-type svn:externals svn:needs-lock)' ) - ;| - - # ;| style fall-throughs end; here on each command covered once - (blame) - opts+=( - '--git-format[produce output in git-blame format, with SVN revision numbers instead of git commit hashes]' - '*:file:__git_cached_files' - ) - ;; - (branch) - opts+=( '(-t --tag)'{-t,--tag}'[create a tag]' ) - ;; - (clone) - opts+=( - '--preserve-empty-dirs[create a placeholder file for each empty directory]' - '--placeholder-filename=[specify name of placeholder files created by --preserve-empty-dirs]:filename [.gitignore]:_files' - ':url:_urls' - '::directory:_directories' - ) - ;; - (commit-diff) - # TODO: -m and --message is undocumented. - # TODO: -F and --file is undocumented. - opts+=( - '(-m --message)'{-m-,--message=}':message' - '(-F --file)'{-F-,--file=}':file:_files' - ':original tree:__git_tree_ishs' - ':new tree result:__git_tree_ishs' - ':target:_urls' - ) - ;; - (dcommit) - # TODO: --set-svn-props is undocumented - opts+=( - '--commit-url[commit to a different SVN url]:SVN URL:_url' - '(-i --interactive)'{-i,--interactive}'[ask for confirmation that a patch should be sent to SVN]' - '--mergeinfo[add specified merge information during the dcommit]:mergeinfo' \ - "--no-rebase[don't rebase or reset after committing]" - '--set-svn-props:arg' - ) - ;; - (fetch) - opts+=( - '(-p --parent)'{-p,--parent}'[fetch only from SVN parent of current HEAD]' - ) - ;; - (info) - opts+=( - '--url[output only value of URL field]' - ':file:__git_cached_files' - ) - ;; - (init) - opts+=( ':SVN URL:_urls' ':target directory:_directories' ) - ;; - (find-rev) - opts+=( - '(-A --after -B --before)'{-B,--before}'[with no exact match, find last commit for current branch]' - '(-A --after -B --before)'{-A,--after}'[with no exact match, find closest match searching forwards]' - ':revision: _alternative "svn-revisions\:svn revision number\:__git_svn_revision_numbers -p r" "git-revisions\:git revision\:__git_revisions"' - ) - ;; - (log) - declare -a revision_options - __git_setup_revision_options - - # TODO: --color is undocumented. - # TODO: --pager is undocumented. - # TODO: --non-recursive is undocumented. - opts+=( - $revision_options - '(-r --revision)'{-r-,--revision=}'[revisions to output log information for]: :__git_svn_revision_numbers' - '--limit=[like --max-count, but not counting merged/excluded commits]: :__git_guard_number limit' - '--incremental[give output suitable for concatenation]' - '--show-commit[output git commit SHA-1, as well]' - '--color' - '--pager:pager:_cmdstring' - '--non-recursive' - ':file:__git_cached_files' - ) - ;; - (migrate) - opts+=( '--minimize' ) - ;; - (propset) - opts+=( ':value' ) - ;& - (proplist|propget) - opts+=( '*:file:__git_cached_files' ) - ;; - (rebase) - opts+=( - '(-l --local)'{-l,--local}"[don't fetch remotely, rebase against the last fetched commit from SVN]" - '!--preserve-merges' - '(--rebase-merges -p)'{--rebase-merges,-p}'[try to recreate merges instead of ignoring them]' - ) - ;; - (reset) - opts+=( - '(-r --revision)'{-r,--revision}'[specify most recent SVN revision to keep]: :__git_svn_revisions' - '(-p --parent)'{-p,--parent}'[discard specified revision as well, keeping nearest parent instead]' - ) - ;; - (set-tree) - opts+=( '--stdin[read list of commits to commit from stdin]' ) - ;; - (create-ignore|gc|mkdirs|show-externals|show-ignore|tag) ;; - (*) # fallback to files on any new/unrecognised commands - opts+=( '*:file:_files' ) - ;; - esac - - _arguments -C -S -s \ - '(-)'{-h,-H}'[display usage information]' \ - '(-)'{-V,--version}'[display version information]' \ - '--minimize-connections' \ - '(-R --svn-remote --remote)'{-R,--svn-remote,--remote}'[svn remote to use]:svn remote:__git_svn-remotes' \ - '(-i --id)'{-i,--id}'[set GIT_SVN_ID]:GIT_SVN_ID' \ - $opts && ret=0 - - case $state in - (subdirectory) - _alternative \ - 'sub-directories:sub-directory:_directories' \ - 'urls: :_urls' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -# LOW-LEVEL COMMANDS (PLUMBING) - -# Manipulation commands - -(( $+functions[_git-apply] )) || -_git-apply () { - local -a apply_options - __git_setup_apply_options - - _arguments -S -s $endopt \ - $apply_options \ - '(--index --cached --reject)'{-3,--3way}'[fall back on 3-way merge if patch fails]' \ - '--stat[output diffstat for input (turns off "apply")]' \ - '--numstat[same as --stat but in decimal notation and complete pathnames (turns off "apply")]' \ - '--summary[output summary of git-diff extended headers (turns off "apply")]' \ - '--check[check if patches are applicable (turns off "apply")]' \ - '( --cached)--index[make sure that patch is applicable to index]' \ - '(--index )--cached[apply patches without touching working tree]' \ - '--build-fake-ancestor[build temporary index for blobs with ambiguous origin]:index:_files' \ - '(-R --reverse)'{-R,--reverse}'[apply patches in reverse]' \ - '-z[use NUL termination on output]' \ - '--unidiff-zero[disable unified-diff-context check]' \ - '--apply[apply patches that would otherwise not be applied]' \ - '--no-add[ignore additions made by the patch]' \ - '--allow-overlap[allow overlapping hunks]' \ - '--inaccurate-eof[work around missing-new-line-at-EOF bugs]' \ - '(-v --verbose)'{-v,--verbose}'[display progress on stderr]' \ - '--recount[do not trust line counts in hunk headers]' \ - '*:patch:_files' -} - -(( $+functions[_git-checkout-index] )) || -_git-checkout-index () { - local z_opt= - - if (( words[(I)--stdin] )); then - z_opt='-z[paths are separated with NUL character when reading from standard input]' - fi - - _arguments -S -s $endopt \ - '(-u --index)'{-u,--index}'[update stat information in index]' \ - '(-q --quiet)'{-q,--quiet}'[no warning for existing files and files not in index]' \ - '(-f --force)'{-f,--force}'[force overwrite of existing files]' \ - '(-a --all --stdin *)'{-a,--all}'[check out all files in index]' \ - '(-n --no-create)'{-n,--no-create}'[do not checkout new files]' \ - '--temp[write content to temporary files]' \ - '(-a --all *)--stdin[read list of paths from the standard input]' \ - '--prefix=[prefix to use when creating files]:directory:_directories' \ - '--stage=[check out files from named stage]:stage:(1 2 3 all)' \ - $z_opt \ - '*: :__git_cached_files' -} - -(( $+functions[_git-commit-graph] )) || -_git-commit-graph() { - local -a args progress - progress=( "--no-progress[don't show progress]" ) - if [[ $words[2] = write ]]; then - args=( $progress - '(--split --size-multiple --max-commits --expire-time)--append[include all commits present in existing commit-graph file]' - '--changed-paths[enable computation for changed paths]' - '(--append)--split=-[write the commit-graph as a chain of multiple commit-graph files]::strategy:(no-merge replace)' - '(--stdin-packs --stdin-commits)--reachable[walk commits starting at all refs]' - '(--reachable --stdin-commits)--stdin-packs[only walk objects in pack-indexes read from input]' - '(--reachable --stdin-packs)--stdin-commits[walk commits starting at commits read from input]' - '(--append)--size-multiple=:commits [2]' - '(--append)--max-commits=:commits' - '(--append)--expire-time=:date/time:__git_datetimes' - '--max-new-filters=[specify maximum number of changed-path bloom filters to compute]:' - ) - elif [[ $words[2] = verify ]]; then - args=( $progress - '--shallow[only check the tip commit-graph file in a chain of split commit-graphs]' - ) - fi - - _arguments -S $endopt $args \ - '--object-dir=[specify location of packfiles and commit-graph file]:directory:_directories' \ - '(-h)1:verb:(verify write)' -} - -(( $+functions[_git-commit-tree] )) || -_git-commit-tree () { - _arguments -S $endopt \ - '-h[display usage]' \ - '*-p+[specify parent commit]:parent commit:__git_objects' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '-F+[read commit log from specified file]:file:_files' \ - '*-m+[specify paragraph of commit log message]:message' \ - ': :__git_trees' -} - -(( $+functions[_git-hash-object] )) || -_git-hash-object () { - _arguments -s -S $endopt \ - '-t[type of object to create]:object type:((blob\:"a blob of data" - commit\:"a tree with parent commits" - tag\:"a symbolic name for another object" - tree\:"a recursive tree of blobs"))' \ - '-w[write object to object database]' \ - '(: --stdin-paths)--stdin[read object from standard input]' \ - '(: --stdin --path)--stdin-paths[read file names from standard input instead of from command line]' \ - '--literally[just hash any random garbage to create corrupt objects for debugging Git]' \ - '( --no-filters)--path=[hash object as if it were located at given path]: :_files' \ - '(--path )--no-filters[hash contents as is, ignoring any input filters]' \ - '(--stdin --stdin-paths):file:_files' -} - -(( $+functions[_git-index-pack] )) || -_git-index-pack () { - local -a stdin_opts - - if (( words[(I)--stdin] )); then - stdin_opts=( - '--fix-thin[record deltified objects, based on objects not included]' - '--keep=-[create .keep file]::reason') - fi - - # NOTE: --index-version is only used by the Git test suite. - # TODO: --pack_header is undocumented. - _arguments \ - '-v[display progress on stderr]' \ - '-o[write generated pack index into specified file]: :_files' \ - '(--no-rev-index)--rev-index[generate a reverse index corresponding to the given pack]' \ - "(--rev-index)--no-rev-index[don't generate a reverse index corresponding to the given pack]" \ - '--stdin[read pack from stdin and instead write to specified file]' \ - $stdin_opts \ - '--strict[die if the pack contains broken objects or links]' \ - '--threads=[specify number of threads to use]:number of threads' \ - ':pack file:_files -g "*.pack(-.)"' -} - -(( $+functions[_git-merge-file] )) || -_git-merge-file () { - integer n_labels=${#${(M)words[1,CURRENT-1]:#-L}} - local label_opt= - - if (( n_labels < 3 )) || [[ $words[CURRENT-1] == -L ]]; then - local -a ordinals - - ordinals=(first second third) - - label_opt="*-L[label to use for the $ordinals[n_labels+1] file]:label" - fi - - _arguments \ - $label_opt \ - '(-p --stdout)'{-p,--stdout}'[send merged file to standard output instead of overwriting first file]' \ - '(-q --quiet)'{-q,--quiet}'[do not warn about conflicts]' \ - '( --theirs --union)--ours[resolve conflicts favoring our side of the lines]' \ - '(--ours --union)--theirs[resolve conflicts favoring their side of the lines]' \ - '(--ours --theirs )--union[resolve conflicts favoring both sides of the lines]' \ - '--marker-size[specify length of conflict markers]: :__git_guard_number "marker length"' \ - '--diff3[use a diff3 based merge]' \ - ':current file:_files' \ - ':base file:_files' \ - ':other file:_files' -} - -(( $+functions[_git-merge-index] )) || -_git-merge-index () { - if (( CURRENT > 2 )) && [[ $words[CURRENT-1] != -[oq] ]]; then - _arguments -S \ - '(:)-a[run merge against all files in index that need merging]' \ - '*: :__git_cached_files' - else - declare -a arguments - - (( CURRENT == 2 )) && arguments+='-o[skip failed merges]' - (( CURRENT == 2 || CURRENT == 3 )) && arguments+='(-o)-q[do not complain about failed merges]' - (( 2 <= CURRENT && CURRENT <= 4 )) && arguments+='*:merge program:_files -g "*(*)"' - - _arguments -S $arguments - fi -} - -(( $+functions[_git-mktag] )) || -_git-mktag () { - _arguments --no-strict -} - -(( $+functions[_git-mktree] )) || -_git-mktree () { - _arguments -S -s \ - '-z[read NUL-terminated ls-tree -z output]' \ - '--missing[allow missing objects]' \ - '--batch[allow creation of more than one tree]' -} - -(( $+functions[_git-multi-pack-index] )) || -_git-multi-pack-index() { - _arguments \ - '--object-dir=[specify location of git objects]:directory:_directories' \ - '(--progress)--no-progress[turn progress off]' '!(--no-progress)--progress' \ - '--stdin-packs[write a multi-pack index containing only pack index basenames provided on stdin]' \ - '--refs-snapshot=[specify a file which contains a "refs snapshot" taken prior to repacking]:file:_files' \ - '--batch-size=[during repack, select packs so as to have pack files of at least the specified size]:size' \ - '1:verb:(write verify expire repack)' -} - -(( $+functions[_git-pack-objects] )) || -_git-pack-objects () { - local thin_opt= - - if (( words[(I)--stdout] )); then - thin_opt='--thin[create a thin pack]' - fi - - # NOTE: --index-version is only used by the Git test suite. - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't report progress]" \ - '(-q --quiet --all-progress)--progress[show progress meter]' \ - '(-q --quiet --progress --all-progress-implied)--all-progress[show progress meter during object writing phase]' \ - '(-q --quiet --all-progress)--all-progress-implied[like --all-progress, but only if --progress was also passed]' \ - '(--stdout)--max-pack-size=[specify maximum size of each output pack file]: : __git_guard_bytes "maximum pack size"' \ - '(--incremental)--local[similar to --incremental, but only ignore unpacked non-local objects]' \ - '(--local)--incremental[ignore objects that have already been packed]' \ - '--window=-[limit pack window by objects]: :__git_guard_number "window size"' \ - '--window-memory=-[specify window size in memory]: : __git_guard_bytes "window size"' \ - '--depth=-[maximum delta depth]: :__git_guard_number "maximum delta depth"' \ - "--no-reuse-delta[don't reuse existing deltas, but compute them from scratch]" \ - "--no-reuse-object[don't reuse existing object data]" \ - '--delta-base-offset[use delta-base-offset packing]' \ - '--threads=-[specify number of threads for searching for best delta matches]: :__git_guard_number "number of threads"' \ - '--non-empty[only create a package if it contains at least one object]' \ - '(--stdin-packs)--revs[read revision arguments from standard input]' \ - '(--revs)--unpacked[limit objects to pack to those not already packed]' \ - '(--revs --stdin-packs)--all[include all refs as well as revisions already specified]' \ - '--reflog[include objects referred by reflog entries]' \ - '--indexed-objects[include objects referred to by the index]' \ - '(--revs --all --keep-unreachable --pack-loose-unreachable --unpack-unreachable)--stdin-packs[read packs from stdin]' \ - '(: --max-pack-size)--stdout[output pack to stdout]' \ - '--include-tag[include unasked-for annotated tags if object they reference is included]' \ - '(--revs --stdin-packs --unpack-unreachable)--keep-unreachable[add objects unreachable from refs in packs named with --unpacked to resulting pack]' \ - '(--revs --stdin-packs)--pack-loose-unreachable[pack unreachable loose objects]' \ - '(--revs --stdin-packs --keep-unreachable)--unpack-unreachable=-[keep unreachable objects in loose form]::time' \ - '--sparse[use sparse reachability algorithm]' \ - '--include-tag[include tag objects that refer to objects to be packed]' \ - $thin_opt \ - '--shallow[create packs suitable for shallow fetches]' \ - '--honor-pack-keep[ignore objects in local pack with .keep file]' \ - '--keep-pack=[ignore named pack]:pack' \ - '--compression=-[specify compression level]: :__git_compression_levels' \ - '--keep-true-parents[pack parents hidden by grafts]' \ - '--use-bitmap-index[use a bitmap index if available to speed up counting objects]' \ - '--write-bitmap-index[write a bitmap index together with the pack index]' \ - '--filter=[omit certain objects from pack file]:filter:_git_rev-list_filters' \ - '--missing=[specify how missing objects are handled]:action:(error allow-any allow-promisor print)' \ - "--exclude-promisor-objects[don't pack objects in promisor packfiles]" \ - '--delta-islands[respect islands during delta compression]' \ - '--uri-protocol=[exclude any configured uploadpack.blobpackfileuri with given protocol]:protocol' \ - ':base-name:_files' -} - -(( $+functions[_git-prune-packed] )) || -_git-prune-packed () { - _arguments -S -s \ - '(-n --dry-run)'{-n,--dry-run}'[only list objects that would be removed]' \ - '(-q --quiet)'{-q,--quiet}'[do not display progress on standard error]' -} - -(( $+functions[_git-read-tree] )) || -_git-read-tree () { - local trivial_opt= aggressive_opt= dryrun_opt= - - if (( words[(I)-m] )); then - dryrun_opt='--dry-run[report if a merge would fail without touching the index or the working tree]' - trivial_opt='--trivial[restrict three-way merge to only happen if no file-level merging is required]' - aggressive_opt='--aggressive[try harder to resolve merge conflicts]' - fi - - local -a ui_opts - - if (( words[(I)(-m|--reset|--prefix)] )); then - ui_opts=( - '( -i)-u[update the work tree after successful merge]' - '(-u )-i[update only the index; ignore changes in work tree]') - fi - - local exclude_per_directory_opt - - if (( words[(I)-u] )); then - exclude_per_directory_opt='--exclude-per-directory=-[specify .gitignore file]:.gitignore file:_files' - fi - - _arguments -S -s \ - '( --reset --prefix)-m[perform a merge, not just a read]' \ - '(-m --prefix)--reset[perform a merge, not just a read, ignoring unmerged entries]' \ - '(-m --reset 2 3)--prefix=-[read the contents of specified tree-ish under specified directory]:prefix:_directories -r ""' \ - $ui_opts \ - $dryrun_opt \ - '-v[display progress on standard error]' \ - $trivial_opt \ - $aggressive_opt \ - $exclude_per_directory_opt \ - '--index-output=[write index in the named file instead of $GIT_INDEX_FILE]: :_files' \ - '--no-sparse-checkout[display sparse checkout support]' \ - '--debug-unpack[debug unpack-trees]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet)'{-q,--quiet}'[suppress feedback messages]' \ - '--empty[instead of reading tree object(s) into the index, just empty it]' \ - '1:first tree-ish to be read/merged:__git_tree_ishs' \ - '2::second tree-ish to be read/merged:__git_tree_ishs' \ - '3::third tree-ish to be read/merged:__git_tree_ishs' -} - -(( $+functions[_git-symbolic-ref] )) || -_git-symbolic-ref () { - _arguments -S -s \ - '(-d --delete)'{-d,--delete}'[delete symbolic ref]' \ - '(-q --quiet)'{-q,--quiet}'[do not issue error if specified name is not a symbolic ref]' \ - '--short[shorten the ref name (eg. refs/heads/master -> master)]' \ - '-m[update reflog for specified name with specified reason]:reason for update' \ - ':symbolic reference:__git_heads' \ - ':: :__git_references' -} - -(( $+functions[_git-unpack-objects] )) || -_git-unpack-objects () { - _arguments \ - '-n[only list the objects that would be unpacked]' \ - '-q[run quietly]' \ - '-r[try recovering objects from corrupt packs]' \ - '--strict[do not write objects with broken content or links]' -} - -(( $+functions[_git-update-index] )) || -_git-update-index () { - local z_opt - - if (( words[(I)--stdin|--index-info] )); then - z_opt='-z[paths are separated with NUL character when reading from stdin]' - fi - - _arguments -S \ - '(-)'{-h,--help}'[display usage information]' \ - '-q[continue refresh even when index needs update]' \ - '--add[add files not already in index]' \ - '(--force-remove)--remove[remove files that are in the index but are missing from the work tree]' \ - '(-q --unmerged --ignore-missing --really-refresh)--refresh[refresh index]' \ - '--ignore-submodules[do not try to update submodules]' \ - '--unmerged[if unmerged changes exists, ignore them instead of exiting]' \ - '--ignore-missing[ignore missing files when refreshing the index]' \ - '*--cacheinfo[insert information directly into the cache]: :_guard "[0-7]#" "octal file mode": :_guard "[[\:xdigit\:]]#" "object id": :_files' \ - '(: -)--index-info[read index information from stdin]' \ - '--chmod=-[set execute permissions on updated files]:permission:((+x\:executable -x\:"not executable"))' \ - '( --no-assume-unchanged)--assume-unchanged[set "assume unchanged" bit for given paths]' \ - '(--assume-unchanged )--no-assume-unchanged[unset "assume unchanged" bit for given paths]' \ - '(-q --unmerged --ignore-missing --refresh)--really-refresh[refresh index, unconditionally checking stat information]' \ - '( --no-skip-worktree)--skip-worktree[set "skip-worktree" bit for given paths]' \ - '(--skip-worktree )--no-skip-worktree[unset "skip-worktree" bit for given paths]' \ - "--ignore-skip-worktree-entries[don't touch index-only entries]" \ - '(-)'{-g,--again}'[run git-update-index on differing index entries]' \ - '(-)--unresolve[restore "unmerged" or "needs updating" state of files]' \ - '--info-only[only insert files object-IDs into index]' \ - '--replace[replace files already in index, if necessary]' \ - '(--remove)--force-remove[remove named paths even if present in worktree]' \ - '(: -)--stdin[read list of paths from standard input]' \ - '--verbose[report what is being added and removed from the index]' \ - '--clear-resolve-undo[forget saved unresolved conflicts]' \ - '--index-version=[write index in specified on-disk format version]:version:(2 3 4)' \ - '--split-index[enable/disable split index]' \ - '--untracked-cache[enable/disable untracked cache]' \ - '--test-untracked-cache[test if the filesystem supports untracked cache]' \ - '--force-untracked-cache[enable untracked cache without testing the filesystem]' \ - '--force-write-index[write out the index even if is not flagged as changed]' \ - '--fsmonitor[enable or disable file system monitor]' \ - '--fsmonitor-valid[mark files as fsmonitor valid]' \ - '--no-fsmonitor-valid[clear fsmonitor valid bit]' \ - $z_opt \ - '*:: :_files' -} - -(( $+functions[_git-update-ref] )) || -_git-update-ref () { - local z_opt - - if (( words[(I)--stdin] )); then - z_opt='-z[values are separated with NUL character when reading from stdin]' - fi - - _arguments -S -s \ - '-m[update reflog for specified name with specified reason]:reason for update' \ - '(:)-d[delete given reference after verifying its value]:symbolic reference:__git_revisions:old reference:__git_revisions' \ - '(-d --no-deref)--stdin[reads instructions from standard input]' \ - $z_opt \ - '(-d -z --stdin)--no-deref[overwrite ref itself, not what it points to]' \ - '--create-reflog[create a reflog]' \ - ':symbolic reference:__git_revisions' \ - ':new reference:__git_revisions' \ - '::old reference:__git_revisions' -} - -(( $+functions[_git-write-tree] )) || -_git-write-tree () { - # NOTE: --ignore-cache-tree is only used for debugging. - _arguments -S -s \ - '--missing-ok[ignore objects in index that are missing in object database]' \ - '--prefix=[write tree representing given sub-directory]:sub-directory:_directories -r ""' -} - -# Interrogation commands - -(( $+functions[_git-cat-file] )) || -_git-cat-file () { - _arguments -S -s \ - '(-t -s -e -p --allow-unknown-type 1)--textconv[show content as transformed by a textconv filter]' \ - '(-t -s -e -p --allow-unknown-type 1)--filters[show content as transformed by filters]' \ - '(-t -s -e -p --allow-unknown-type 1)--path=[use a specific path for --textconv/--filters]:path:_directories' \ - - query \ - '(-s -e -p --textconv --filters 1)-t[show type of given object]' \ - '(-t -e -p --textconv --filters 1)-s[show size of given object]' \ - '(-e -p --textconv --filters 1)--allow-unknown-type[allow query of broken/corrupt objects of unknown type]' \ - '(-t -s -p -textconv --filters --allow-unknown-type 1)-e[exit with zero status if object exists]' \ - '(-t -s -e -textconv --filters --allow-unknown-type 1)-p[pretty-print given object]' \ - '(-):object type:(blob commit tag tree)' \ - ': :__git_objects' \ - - batch \ - '(--batch-check)--batch=-[print SHA1, type, size and contents (or in specified format)]::format' \ - '(--batch)--batch-check=-[print SHA1, type and size (or in specified format)]::format' \ - '--follow-symlinks[follow in-tree symlinks (used with --batch or --batch-check)]' \ - '--batch-all-objects[show all objects with --batch or --batch-check]' \ - "--unordered[don't order --batch-all-objects output]" \ - '--buffer[disable flushing of output after each object]' -} - -(( $+functions[_git-diff-files] )) || -_git-diff-files () { - local -a revision_options diff_stage_options - __git_setup_revision_options - __git_setup_diff_stage_options - - _arguments -S -s \ - $revision_options \ - $diff_stage_options \ - ': :__git_changed-in-working-tree_files' \ - ': :__git_changed-in-working-tree_files' \ - '*: :__git_changed-in-working-tree_files' -} - -(( $+functions[_git-diff-index] )) || -_git-diff-index () { - local -a revision_options - __git_setup_revision_options - - # TODO: Description of -m doesn't match that for git-rev-list. What's going - # on here? - # TODO: With --cached, shouldn't we only list files changed in index compared - # to given tree-ish? This should be done for git-diff as well, in that case. - _arguments -S \ - $revision_options \ - "--cached[don't consider the work tree at all]" \ - '-m[flag non-checked-out files as up-to-date]' \ - ': :__git_tree_ishs' \ - '*: :__git_cached_files' -} - -(( $+functions[_git-diff-tree] )) || -_git-diff-tree () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - # NOTE: -r, -t, --root are actually parsed for all - # __git_setup_revision_options, but only used by this command, so only have - # them here. - _arguments -C -S -s \ - $revision_options \ - '-r[recurse into subdirectories]' \ - '(-r )-t[display tree objects in diff output]' \ - '--root[display root diff]' \ - '-m[do not ignore merges]' \ - '-s[do not show differences]' \ - '(--pretty --header)-v[display commit message before differences]' \ - '--no-commit-id[do not display commit IDs]' \ - '(-c --cc)-c[show differences from each of parents to merge result]' \ - '(-c --cc)--cc[how differences from each of parents and omit differences from only one parent]' \ - '--combined-all-paths[show name of file in all parents for combined diffs]' \ - '--always[always show commit itself and commit log message]' \ - ': :__git_tree_ishs' \ - '*:: :->files' && ret=0 - - case $state in - (files) - if (( $#line > 2 )); then - # TODO: It would be better to output something like - # - # common files: - # ... - # original tree: - # ... - # new tree: - # ... - _alternative \ - "original-tree-files:original tree:__git_tree_files ${PREFIX:-.} $line[1]" \ - "new-tree-files:new tree:__git_tree_files ${PREFIX:-.} $line[2]" && ret=0 - else - _alternative \ - 'tree-ishs::__git_tree_ishs' \ - "tree-files::__git_tree_files ${PREFIX:-.} $line[1]" && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-for-each-ref] )) || -_git-for-each-ref () { - # TODO: Better completion for --format: should complete %(field) stuff, that - # is, %(refname), %(objecttype), %(objectsize), %(objectname) with optional '*' - # in front. - _arguments -S -s \ - '--count=[maximum number of refs to iterate over]: :__git_guard_number "maximum number of refs"' \ - '*--sort=[key to sort refs by]: :__git_ref_sort_keys' \ - '--format=-[output format of ref information]:format:__git_format_ref' \ - '--color=-[respect any colors specified in the format]::when:(always never auto)' \ - '*--points-at=[print only refs which point at the given object]:object:__git_commits' \ - '*--merged=[print only refs that are merged]:object:__git_commits' \ - '*--no-merged=[print only refs that are not merged]:object:__git_commits' \ - '*--contains=[print only refs that contain specified commit]:object:__git_commits' \ - "*--no-contains=[print only refs that don't contain specified commit]:object:__git_commits" \ - '--ignore-case[sorting and filtering are case-insensitive]' \ - '(-s --shell -p --perl --python --tcl)'{-s,--shell}'[use string literals suitable for sh]' \ - '(-s --shell -p --perl --python --tcl)'{-p,--perl}'[use string literals suitable for Perl]' \ - '(-s --shell -p --perl --tcl)'--python'[use string literals suitable for Python]' \ - '(-s --shell -p --perl --python )'--tcl'[use string literals suitable for Tcl]' \ - ':: :_guard "([^-]?#|)" pattern' -} - -(( $+functions[_git-for-each-repo] )) || -_git-for-each-repo() { - _arguments -S \ - '(-C --config)'{-C,--config=}'[specify config variable for list of paths]:config variable' \ - ':git command:_git_commands' \ - '*:: := _git' -} - -(( $+functions[_git-ls-files] )) || -_git-ls-files () { - local no_empty_directory_opt= - - if (( words[(I)--directory] )); then - no_empty_directory_opt="--no-empty-directory[don't list empty directories]" - fi - - # TODO: Replace _files with something more intelligent based on seen options. - # TODO: Apply excludes like we do for git-clean. - _arguments -S -s $endopt \ - '(-c --cached)'{-c,--cached}'[show cached files in output]' \ - '(-d --deleted)'{-d,--deleted}'[show deleted files in output]' \ - '(-m --modified)'{-m,--modified}'[show modified files in output]' \ - '(-o --others)'{-o,--others}'[show other files in output]' \ - '(-i --ignored)'{-i,--ignored}'[show ignored files in output]' \ - '(-s --stage --with-tree)'{-s,--stage}'[show stage files in output]' \ - '--directory[if a whole directory is classified as "other", show just its name]' \ - '--eol[show line endings of files]' \ - $no_empty_directory_opt \ - '(-s --stage -u --unmerged --with-tree)'{-u,--unmerged}'[show unmerged files in output]' \ - '--resolve-undo[show resolve-undo information]' \ - '(-k --killed)'{-k,--killed}'[show killed files in output]' \ - '-z[separate paths with the NUL character]' \ - '*'{-x,--exclude=-}'[skip files matching given pattern]:file pattern' \ - '*'{-X,--exclude-from=-}'[skip files matching patterns in given file]: :_files' \ - '*--exclude-per-directory=-[skip directories matching patterns in given file]: :_files' \ - '--exclude-standard[skip files in standard Git exclusion lists]' \ - '--error-unmatch[if any file does not appear in index, treat this as an error]' \ - '(-s --stage -u --unmerged)--with-tree=[treat paths removed since given tree-ish as still present]: :__git_tree_ishs' \ - '(-f)-v[indicate status of each file using lowercase for assume changed files]' \ - '(-v)-f[indicate status of each file using lowercase for fsmonitor clean files]' \ - '--full-name[force paths to be output relative to the project top directory]' \ - '--recurse-submodules[recurse through submodules]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '--debug[show debugging data]' \ - '--deduplicate[suppress duplicate entries]' \ - '*:: :_files' -} - -(( $+functions[_git-ls-remote] )) || -_git-ls-remote () { - # TODO: repository needs fixing - _arguments -S -s $endopt \ - '(-q --quiet)'{-q,--quiet}"[don't print remote URL]" \ - '--upload-pack=[specify path to git-upload-pack on remote side]:remote path' \ - '(-h --heads)'{-h,--heads}'[show only refs under refs/heads]' \ - '(-t --tags)'{-t,--tags}'[show only refs under refs/tags]' \ - "--refs[don't show peeled tags]" \ - '--exit-code[exit with status 2 when no matching refs are found in the remote repository]' \ - '--get-url[expand the URL of the given repository taking into account any "url.<base>.insteadOf" config setting]' \ - '*--sort=[specify field name to sort on]:field:__git_ref_sort_keys' \ - '--symref[show underlying ref in addition to the object pointed by it]' \ - \*{-o+,--server-option=}'[send specified string to the server when using protocol version 2]:option' \ - ': :__git_any_repositories' \ - '*: :__git_references' -} - -(( $+functions[_git-ls-tree] )) || -_git-ls-tree () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-t)-d[do not show children of given tree (implies -t)]' \ - '-r[recurse into subdirectories]' \ - '-t[show tree entries even when going to recurse them]' \ - '(-l --long --name-only --name-status)'{-l,--long}'[show object size of blob entries]' \ - '-z[use NUL termination on output]' \ - '(--name-only --name-status --abbrev)'{--name-only,--name-status}'[list only filenames, one per line]' \ - '(--name-only --name-status)--abbrev=[use specified digits to display object names]:digits' \ - '--full-name[output full path-names]' \ - '(--full-name)--full-tree[do not limit listing to current working-directory]' \ - ': :__git_tree_ishs' \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_ignore_line __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-merge-base] )) || -_git-merge-base () { - _arguments -S -s $endopt \ - '(-a --all)'{-a,--all}'[display all common ancestors]' \ - '--octopus[compute best common ancestors of all supplied commits]' \ - '--is-ancestor[tell if A is ancestor of B (by exit status)]' \ - '(-)--independent[display minimal subset of supplied commits with same ancestors]' \ - '--fork-point[find the point at which B forked from ref A (uses reflog)]' \ - ': :__git_commits' \ - '*: :__git_commits' -} - -(( $+functions[_git-name-rev] )) || -_git-name-rev () { - _arguments -S $endopt \ - '--tags[only use tags to name commits]' \ - '*--refs=[only use refs matching given pattern]: :_guard "?#" "shell pattern"' \ - '--no-refs[clear any previous ref patterns given]' \ - '*--exclude=[ignore refs matching specified pattern]:pattern' \ - '(--stdin :)--all[list all commits reachable from all refs]' \ - '(--all :)--stdin[read from stdin and append revision-name]' \ - '--name-only[display only name of commits]' \ - '--no-undefined[die with non-zero return when a reference is undefined]' \ - '--always[show uniquely abbreviated commit object as fallback]' \ - '(--stdin --all)*: :__git_commits' -} - -(( $+functions[_git-pack-redundant] )) || -_git-pack-redundant () { - _arguments -S -A '-*' \ - '(:)--all[process all packs]' \ - '--alt-odb[do not require objects to be present in local packs]' \ - '--verbose[output some statistics to standard error]' \ - '(--all)*::pack:_files -g "*.pack(-.)"' -} - -(( $+functions[_git-rev-list] )) || -_git-rev-list () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - _arguments -C -S $endopt \ - $revision_options \ - '--no-filter[turn off any previous --filter argument]' \ - '--filter-print-omitted[print a list of objects omitted by --filter]' \ - '--filter=[omit certain objects from pack file]:filter:_git_rev-list_filters' \ - '--missing=[specify how missing objects are handled]:action:(error allow-any allow-promisor print)' \ - '(--count --pretty --header --left-right --abbrev-commit --abbrev --parent --children)--quiet[print nothing; exit status indicates if objects are fully connected]' \ - '--use-bitmap-index[try to speed traversal using pack bitmap index if available]' \ - '--progress=-[show progress reports as objects are considered]:header' \ - '(--pretty --quiet)--header[display contents of commit in raw-format]' \ - "--no-object-names[don't print the names of the object IDs that are found]" \ - '!(--no-object-names)--object-names)' \ - '--timestamp[print raw commit timestamp]' \ - '( --bisect-vars --bisect-all)--bisect[show only middlemost commit object]' \ - '(--bisect)--bisect-vars[same as --bisect, displaying shell-evalable code]' \ - '(--bisect)--bisect-all[display all commit objects between included and excluded commits]' \ - '*:: :->commit-or-path' && ret=0 - - case $state in - (commit-or-path) - # TODO: What paths should we be completing here? - if [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_cached_files' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git_rev-list_filters] )) || -_git_rev-list_filters() { - _values 'filter' \ - 'blob\:none[omit all blobs]' \ - 'blob\:limit[omit blobs larger than specified size]:size' \ - 'sparse\:oid[uses a sparse-checkout specification contained in the blob]:blob-ish' \ - 'tree\:0[omit blobs and trees with depth exceeding limit]' -} - -(( $+functions[_git-show-index] )) || -_git-show-index() { - _arguments \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' -} - -(( $+functions[_git-show-ref] )) || -_git-show-ref () { - _arguments -S $endopt \ - - list \ - '--head[show the HEAD reference, even if it would normally be filtered out]' \ - '--tags[show only refs/tags]' \ - '--heads[show only refs/heads]' \ - '(-d --dereference)'{-d,--dereference}'[dereference tags into object IDs as well]' \ - '(-s --hash)'{-s+,--hash=-}'[only show the SHA-1 hash, not the reference name]:: :__git_guard_number length' \ - '--verify[enable stricter reference checking]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '(-q --quiet)'{-q,--quiet}'[do not print any results]' \ - '*: :_guard "([^-]?#|)" pattern' \ - - exclude \ - '--exclude-existing=-[filter out existing refs from stdin]:: :_guard "([^-]?#|)" pattern' -} - -(( $+functions[_git-unpack-file] )) || -_git-unpack-file () { - _arguments \ - '(:)-h[display usage information]' \ - '(-): :__git_blobs' -} - -(( $+functions[_git-var] )) || -_git-var () { - _arguments \ - '(:)-l[show logical variables]' \ - '(-):variable:((GIT_AUTHOR_IDENT\:"name and email of author" \ - GIT_COMMITTER_IDENT\:"name and email of committer" \ - GIT_EDITOR\:"text editor used by git commands" \ - GIT_PAGER\:"text viewer used by git commands"))' -} - -(( $+functions[_git-verify-pack] )) || -_git-verify-pack () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[show objects contained in pack]' \ - '(-s --stat-only)'{-s,--stat-only}'[do not verify pack contents; only display histogram of delta chain length]' \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' \ - '*:index file:_files -g "*.idx(-.)"' -} - -# Syncing Repositories - -(( $+functions[_git-daemon] )) || -_git-daemon () { - # TODO: do better than _directories? The directory needs to be a git-repository, - # so one could check for a required file in the given directory. - # TODO: --interpolated-path should complete %H, %CH, %IP, %P, and %D. - _arguments -S \ - '--strict-paths[match paths exactly]' \ - '--access-hook=-[allow an external tool to accept or decline service]:path:_directories' \ - '--base-path=-[remap all the path requests as relative to the given path]:path:_directories' \ - '--base-path-relaxed[allow lookup of base path without prefix]' \ - '--interpolated-path=-[dynamically construct alternate paths]:path:_directories' \ - '--export-all[allow pulling from all repositories without verification]' \ - '(--port --listen --user --group)--inetd[run server as an inetd service]' \ - '(--inetd)--listen=-[listen on a specific IP address or hostname]: :_hosts' \ - '(--inetd)--port=-[specify port to listen to]: :_ports' \ - '--init-timeout=-[specify timeout between connection and request]: :__git_guard_number timeout' \ - '--timeout=-[specify timeout for sub-requests]: :__git_guard_number timeout' \ - '--max-connections=-[specify maximum number of concurrent clients]: :__git_guard_number "connection limit"' \ - '--syslog[log to syslog instead of standard error]' \ - '--user-path=-[allow ~user notation to be used in requests]::path:_directories' \ - '--verbose[log details about incoming connections and requested files]' \ - '--reuseaddr[reuse addresses when already bound]' \ - '(--syslog)--detach[detach from the shell]' \ - '--pid-file=-[save the process id in given file]:pid file:_files' \ - '--user=-[set uid of daemon]: :_users' \ - '--group=-[set gid of daemon]: :_groups' \ - '--enable=-[enable site-wide service]: :__git_daemon_service' \ - '--disable=-[disable site-wide service]: :__git_daemon_service' \ - '--allow-override[allow overriding site-wide service]: :__git_daemon_service' \ - '--forbid-override[forbid overriding site-wide service]: :__git_daemon_service' \ - '(--no-informative-errors)--informative-errors[report more verbose errors to the client]' \ - '(--informative-errors)--no-informative-errors[report all errors as "access denied" to the client]' \ - '--log-destination=[send log messages to the specified destination]:destination:(stderr syslog none)' \ - '*:repository:_directories' -} - -(( $+functions[_git-fetch-pack] )) || -_git-fetch-pack () { - # TODO: Limit * to __git_head_references? - _arguments -A '-*' \ - '--all[fetch all remote refs]' \ - '--stdin[take the list of refs from stdin]' \ - '(-q --quiet)'{-q,--quiet}'[make output less verbose]' \ - '(-k --keep)'{-k,--keep}'[do not invoke git-unpack-objects on received data]' \ - '--thin[fetch a thin pack]' \ - '--include-tag[download referenced annotated tags]' \ - '(--upload-pack --exec)'{--upload-pack=-,--exec=-}'[specify path to git-upload-pack on remote side]:remote path' \ - '--depth=-[limit fetching to ancestor-chains not longer than given number]: :__git_guard_number "maximum ancestor-chain length"' \ - '--no-progress[do not display progress]' \ - '--diag-url' \ - '-v[produce verbose output]' \ - ': :__git_any_repositories' \ - '*: :__git_references' -} - -(( $+functions[_git-http-backend] )) || -_git-http-backend () { - _nothing -} - -(( $+functions[_git-send-pack] )) || -_git-send-pack () { - local -a sign - sign=( - {yes,true}'\:always,\ and\ fail\ if\ unsupported\ by\ server' - {no,false}'\:never' - if-asked'\:iff\ supported\ by\ server' - ) - _arguments -S -A '-*' $endopt \ - '(-v --verbose)'{-v,--verbose}'[produce verbose output]' \ - '(-q --quiet)'{-q,--quiet}'[be more quiet]' \ - '(--receive-pack --exec)'{--receive-pack=-,--exec=-}'[specify path to git-receive-pack on remote side]:remote path' \ - '--remote[specify remote name]:remote' \ - '(*)--all[update all refs that exist locally]' \ - '(-n --dry-run)'{-n,--dry-run}'[do everything except actually sending the updates]' \ - '--mirror[mirror all refs]' \ - '(-f --force)'{-f,--force}'[update remote orphaned refs]' \ - "(--no-signed --signed)--sign=-[GPG sign the push]::signing enabled:(($^^sign))" \ - '(--no-signed --sign)--signed[GPG sign the push]' \ - "(--sign --signed)--no-signed[don't GPG sign the push]" \ - '*--push-option=[specify option to transmit]:option' \ - '--progress[force progress reporting]' \ - '--thin[send a thin pack]' \ - '--atomic[request atomic transaction on remote side]' \ - '--stateless-rpc[use stateless RPC protocol]' \ - '--stdin[read refs from stdin]' \ - '--helper-status[print status from remote helper]' \ - '--force-with-lease=[require old value of ref to be at specified value]:refname\:expect' \ - '--force-if-includes[require remote updates to be integrated locally]' \ - ': :__git_any_repositories' \ - '*: :__git_remote_references' -} - -(( $+functions[_git-update-server-info] )) || -_git-update-server-info () { - _arguments -S -s $endopt \ - '(-f --force)'{-f,--force}'[update the info files from scratch]' -} - -(( $+functions[_git-http-fetch] )) || -_git-http-fetch () { - _arguments -s \ - '-c[fetch commit objects]' \ - '-t[fetch trees associated with commit objects]' \ - '-a[fetch all objects]' \ - '-v[report what is downloaded]' \ - '-w[write commit-id into the filename under "$GIT_DIR/refs/<filename>"]:filename' \ - '--recover[recover from a failed fetch]' \ - '(1 --packfile)--stdin[read commit ids and refs from standard input]' \ - '!(1 --stdin)--packfile=:hash' \ - '!--index-pack-args=:args' \ - '1: :__git_commits' \ - ': :_urls' -} - -(( $+functions[_git-http-push] )) || -_git-http-push () { - _arguments \ - '--all[verify that all objects in local ref history exist remotely]' \ - '--force[allow refs that are not ancestors to be updated]' \ - '--dry-run[do everything except actually sending the updates]' \ - '--verbose[report the list of objects being walked locally and sent to remote]' \ - '( -D)-d[remove refs from remote repository]' \ - '(-d )-D[forcefully remove refs from remote repository]' \ - ': :_urls' \ - '*: :__git_remote_references' -} - -# NOTE: git-parse-remote isn't a user command. - -(( $+functions[_git-receive-pack] )) || -_git-receive-pack () { - _arguments -S -A '-*' $endopt \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '--stateless-rpc[quit after a single request/response exchange]' \ - ':directory to sync into:_directories' -} - -(( $+functions[_git-shell] )) || -_git-shell () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '-c[command to execute]: :->command' \ - ': :->argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - git-receive-pack - git-upload-pack - git-upload-archive - cvs) - - _describe -t commands command commands && ret=0 - ;; - (argument) - case $line[1] in - (git-receive-pack) - local expl - - _description directories expl 'directory to sync into' - _directories $expl && ret=0 - ;; - (git-upload-pack|git-upload-archive) - local expl - - _description directories expl 'directory to sync from' - _directories $expl && ret=0 - ;; - (cvs) - compadd - server && ret=0 - esac - ;; - esac - - return ret -} - - -(( $+functions[_git-upload-archive] )) || -_git-upload-archive () { - _arguments \ - ':directory to get tar archive from:_directories' -} - -(( $+functions[_git-upload-pack] )) || -_git-upload-pack () { - _arguments -S -A '-*' $endopt \ - '--stateless-rpc[quit after a single request/response exchange]' \ - '--advertise-refs[exit immediately after initial ref advertisement]' \ - "--strict[don't try <directory>/.git/ if <directory> is not a git directory]" \ - '--timeout=-[interrupt transfer after period of inactivity]: :__git_guard_number "inactivity timeout (seconds)"' \ - ': :_directories' -} - -# Internal Helper Commands - -(( $+functions[_git-check-attr] )) || -_git-check-attr () { - local z_opt= - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - if (( words[(I)--stdin] )); then - z_opt='-z[paths are separated with NUL character when reading from stdin]' - fi - - _arguments -C \ - {-a,--all}'[list all attributes that are associated with the specified paths]' \ - '--stdin[read file names from stdin instead of from command line]' \ - '--cached[consider .gitattributes in the index only, ignoring the working tree.]' \ - '-z[terminate input and output records by a NUL character]' \ - $z_opt \ - '(-)--[interpret preceding arguments as attributes and following arguments as path names]' \ - '*:: :->attribute-or-file' && ret=0 - - case $state in - (attribute-or-file) - local -a attributes - - attributes=(crlf ident filter diff merge) - - local only_attributes=1 - for (( i = 2; i < $#words; i++ )); do - if (( attributes[(I)$words[i]] == 0 )); then - only_attributes=0 - break - fi - done - - if (( !only_attributes )) || [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'attributes::__git_attributes' \ - 'files::__git_cached_files' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-check-ref-format] )) || -_git-check-ref-format () { - _arguments \ - '-h[display usage information]' \ - '(--no-allow-onelevel)--allow-onelevel[accept one-level refnames]' \ - '(--allow-onelevel)--no-allow-onelevel[do not accept one-level refnames]' \ - '--refspec-pattern[interpret <refname> as a reference name pattern for a refspec]' \ - '--normalize[normalize refname by removing leading slashes]' \ - '--branch[expand previous branch syntax]' \ - ': :__git_references' -} - -(( $+functions[_git-fmt-merge-msg] )) || -_git-fmt-merge-msg () { - _arguments -S -s $endopt \ - '( --no-log)--log=-[display one-line descriptions from actual commits being merged]::number of commits [20]' \ - '(--log )--no-log[do not display one-line descriptions from actual commits being merged]' \ - '(-m --message)'{-m+,--message=}'[use given message instead of branch names for first line in log message]:message' \ - '(-F --file)'{-F,--file}'[specify list of merged objects from file]: :_files' -} - -(( $+functions[_git-mailinfo] )) || -_git-mailinfo () { - # TODO: --no-inbody-headers is undocumented. - _arguments -A '-*' \ - '(-b)-k[prevent removal of cruft from Subject: header]' \ - '(-k)-b[limit stripping of bracketed strings to the word PATCH]' \ - '(-u --encoding)-u[encode commit information in UTF-8]' \ - '(-u --encoding)--encoding=-[encode commit information in given encoding]: :__git_encodings' \ - '-n[disable all charset re-coding of metadata]' \ - '(-m --message-id)'{-m,--message-id}'[copy the Message-ID header at the end of the commit message]' \ - '-n[disable charset re-coding of metadata]' \ - '( --no-scissors)--scissors[remove everything in body before a scissors line]' \ - '(--scissors )--no-scissors[do not remove everything in body before a scissors line]' \ - '--quoted-cr=[specify action when quoted CR is found]:action [warn]:(nowarn warn strip)' \ - '--no-inbody-headers[undocumented]' \ - ':message file:_files' \ - ':patch file:_files' -} - -(( $+functions[_git-mailsplit] )) || -_git-mailsplit () { - _arguments -S -A '-*' \ - '-o-[directory in which to place individual messages]:directory:_directories' \ - '-b[if file does not begin with "From " line, assume it is a single mail message]' \ - '-d-[specify number of leading zeros]: :__git_guard_number precision' \ - '-f-[skip the first N numbers]: :__git_guard_number' \ - '--keep-cr[do not remove CR from lines ending with CR+LF]' \ - '*::mbox file:_files' -} - -(( $+functions[_git-merge-one-file] )) || -_git-merge-one-file () { - _message 'you probably should not be issuing this command' -} - -(( $+functions[_git-patch-id] )) || -_git-patch-id () { - _arguments \ - '--stable[use a sum of hashes unaffected by diff ordering]' \ - '--unstable[use patch-id compatible with git 1.9 and older]' -} - -# NOTE: git-sh-setup isn't a user command. - -(( $+functions[_git-stripspace] )) || -_git-stripspace () { - _arguments \ - '(-s --strip-comments -c --comment-lines)'{-s,--strip-comments}'[also strip lines starting with #]' \ - '(-c --comment-lines -s --strip-comments)'{-c,--comment-lines}'[prepend comment character and blank to each line]' -} - -# INTERNAL GIT COMPLETION FUNCTIONS - -# Generic Helpers - -(( $+functions[__git_command_successful] )) || -__git_command_successful () { - if (( ${#*:#0} > 0 )); then - _message 'not a git repository' - return 1 - fi - return 0 -} - -(( $+functions[__git_committish_range_first] )) || -__git_committish_range_first () { - print -r -- ${${${1%..*}%.}:-HEAD} -} - -(( $+functions[__git_committish_range_last] )) || -__git_committish_range_last () { - print -r -- ${${${1#*..}#.}:-HEAD} -} - -(( $+functions[__git_pattern_escape] )) || -__git_pattern_escape () { - print -r -n - ${(b)1} -} - -(( $+functions[__git_is_type] )) || -__git_is_type () { - git rev-parse -q --verify "$2^{$1}" 2>/dev/null >/dev/null -} - -(( $+functions[__git_is_blob] )) || -__git_is_blob () { - __git_is_type blob $1 -} -(( $+functions[__git_is_committish] )) || -__git_is_committish () { - __git_is_type commit $1 -} - -(( $+functions[__git_is_treeish] )) || -__git_is_treeish () { - __git_is_type tree $1 -} - -(( $+functions[__git_is_committish_range] )) || -__git_is_committish_range () { - [[ $1 == *..(.|)* ]] || return 1 - local first="$(__git_committish_range_first $1)" - local last="$(__git_committish_range_last $1)" - [[ $first != *..* && $last != *..* ]] && \ - __git_is_committish $first && \ - __git_is_committish $last -} - -(( $+functions[__git_is_initial_commit] )) || -__git_is_initial_commit () { - git rev-parse -q --verify HEAD >/dev/null 2>/dev/null - (( $? == 1 )) -} - -(( $+functions[__git_is_in_middle_of_merge] )) || -__git_is_in_middle_of_merge () { - local gitdir - - gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) - __git_command_successful $pipestatus || return - - [[ -f $gitdir/MERGE_HEAD ]] -} - -(( $+functions[__git_describe_branch] )) || -__git_describe_branch () { - local __commits_in=$1 - local __tag=$2 - local __desc=$3 - shift 3 - - integer maxverbose - if zstyle -s :completion:$curcontext: max-verbose maxverbose && - (( ${compstate[nmatches]} <= maxverbose )); then - local __c - local -a __commits - for __c in ${(P)__commits_in}; do - __commits+=("${__c}:${$(_call_program describe git rev-list -1 --oneline $__c)//:/\\:}") - done - _describe -t $__tag $__desc __commits "$@" - else - local expl - _wanted $__tag expl $__desc compadd "$@" -a - $__commits_in - fi -} - -(( $+functions[__git_describe_commit] )) || -__git_describe_commit () { - __git_describe_branch $1 $2 $3 -M 'r:|/=* r:|=*' "${(@)argv[4,-1]}" -} - -# Completion Wrappers - -# '__git_ignore_line $callee "${callee_args[@]}" "${callee_compadd_args[@]}"' -# invokes '$callee "${callee_args[@]}" "${callee_compadd_args[@]}"' with -# callee_compadd_args modified to exclude positional parameters to the completed -# command from being completed. This causes 'git add foo <TAB>' not to offer -# 'foo' again. -# -# Note: This function can't be used to wrap bare 'compadd' calls that use a '--' -# argument terminator. It can wrap functions of the form -# f() { shift $N; compadd "$@" -a - mymatches } -# . -(( $+functions[__git_ignore_line] )) || -__git_ignore_line () { - local -a ignored=(${line:#${words[CURRENT]}}) - $* -F ignored -} - -(( $+functions[__git_ignore_line_inside_arguments] )) || -__git_ignore_line_inside_arguments () { - declare -a compadd_opts - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - - __git_ignore_line $* $compadd_opts -} - -# Common Argument Types - -(( $+functions[_git_commands] )) || -_git_commands () { - local -a cmdtypes - cmdtypes=( main_porcelain_commands user_commands - third_party_commands ancillary_manipulator_commands - ancillary_interrogator_commands interaction_commands - plumbing_manipulator_commands plumbing_interrogator_commands - plumbing_sync_commands plumbing_sync_helper_commands - plumbing_internal_helper_commands - ) - local -a $cmdtypes - - main_porcelain_commands=( - add:'add file contents to index' - am:'apply patches from a mailbox' - archive:'create archive of files from named tree' - bisect:'find, by binary search, change that introduced a bug' - branch:'list, create, or delete branches' - bundle:'move objects and refs by archive' - checkout:'checkout branch or paths to working tree' - cherry-pick:'apply changes introduced by some existing commits' - citool:'graphical alternative to git commit' - clean:'remove untracked files from working tree' - clone:'clone repository into new directory' - commit:'record changes to repository' - describe:'show most recent tag that is reachable from a commit' - diff:'show changes between commits, commit and working tree, etc.' - fetch:'download objects and refs from another repository' - format-patch:'prepare patches for e-mail submission' - gc:'cleanup unnecessary files and optimize local repository' - grep:'print lines matching a pattern' - gui:'run portable graphical interface to git' - init:'create empty git repository or re-initialize an existing one' - log:'show commit logs' - maintenance:'run tasks to optimize Git repository data' - merge:'join two or more development histories together' - mv:'move or rename file, directory, or symlink' - notes:'add or inspect object notes' - pull:'fetch from and merge with another repository or local branch' - push:'update remote refs along with associated objects' - range-diff:'compare two commit ranges' - rebase:'forward-port local commits to the updated upstream head' - reset:'reset current HEAD to specified state' - restore:'restore working tree files' - revert:'revert existing commits' - rm:'remove files from the working tree and from the index' - shortlog:'summarize git log output' - show:'show various types of objects' - sparse-checkout:'initialize and modify the sparse-checkout' - stash:'stash away changes to dirty working directory' - status:'show working-tree status' - submodule:'initialize, update, or inspect submodules' - subtree:'split repository into subtrees and merge them' - switch:'switch branches' - tag:'create, list, delete or verify tag object signed with GPG' - worktree:'manage multiple working dirs attached to the same repository' - ) - ancillary_manipulator_commands=( - config:'get and set repository or global options' - fast-export:'data exporter' - fast-import:'import information into git directly' - filter-branch:'rewrite branches' - mergetool:'run merge conflict resolution tools to resolve merge conflicts' - pack-refs:'pack heads and tags for efficient repository access' - prune:'prune all unreachable objects from the object database' - reflog:'manage reflog information' - remote:'manage set of tracked repositories' - repack:'pack unpacked objects in a repository' - replace:'create, list, delete refs to replace objects') - - ancillary_interrogator_commands=( - blame:'show what revision and author last modified each line of a file' - bugreport:'collect information for user to file a bug report' - count-objects:'count unpacked objects and display their disk consumption' - difftool:'show changes using common diff tools' - fsck:'verify connectivity and validity of objects in database' - help:'display help information about git' - instaweb:'instantly browse your working repository in gitweb' - interpret-trailers:'add or parse structured information in commit messages' - merge-tree:'show three-way merge without touching index' - rerere:'reuse recorded resolution of conflicted merges' - show-branch:'show branches and their commits' - verify-commit:'check GPG signature of commits' - verify-tag:'check GPG signature of tags' - whatchanged:'show commit-logs and differences they introduce' - version:'show git version') - - interaction_commands=( - archimport:'import an Arch repository into git' - cvsexportcommit:'export a single commit to a CVS checkout' - cvsimport:'import a CVS "repository" into a git repository' - cvsserver:'run a CVS server emulator for git' - imap-send:'send a collection of patches to an IMAP folder' - quiltimport:'apply a quilt patchset' - request-pull:'generate summary of pending changes' - send-email:'send collection of patches as emails' - svn:'bidirectional operation between a Subversion repository and git') - - plumbing_manipulator_commands=( - apply:'apply patch to files and/or to index' - checkout-index:'copy files from index to working directory' - commit-graph:'write and verify Git commit-graph files' - commit-tree:'create new commit object' - hash-object:'compute object ID and optionally create a blob from a file' - index-pack:'build pack index file for an existing packed archive' - merge-file:'run a three-way file merge' - merge-index:'run merge for files needing merging' - mktag:'create tag object with extra validation' - mktree:'build tree-object from git ls-tree formatted text' - multi-pack-index:'write and verify multi-pack-indexes' - pack-objects:'create packed archive of objects' - prune-packed:'remove extra objects that are already in pack files' - read-tree:'read tree information into directory index' - symbolic-ref:'read and modify symbolic references' - unpack-objects:'unpack objects from packed archive' - update-index:'register file contents in the working directory to the index' - update-ref:'update object name stored in a reference safely' - write-tree:'create tree from the current index') - - plumbing_interrogator_commands=( - cat-file:'provide content or type information for repository objects' - cherry:'find commits not merged upstream' - diff-files:'compare files in working tree and index' - diff-index:'compare content and mode of blobs between index and repository' - diff-tree:'compare content and mode of blobs found via two tree objects' - for-each-ref:'output information on each ref' - for-each-repo:'run a git command on a list of repositories' - get-tar-commit-id:'extract commit ID from an archive created using git archive' - ls-files:'information about files in index/working directory' - ls-remote:'show references in a remote repository' - ls-tree:'list contents of a tree object' - merge-base:'find as good a common ancestor as possible for a merge' - name-rev:'find symbolic names for given revisions' - pack-redundant:'find redundant pack files' - rev-list:'list commit object in reverse chronological order' - rev-parse:'pick out and massage parameters for other git commands' - show-index:'show packed archive index' - show-ref:'list references in a local repository' - unpack-file:'create temporary file with blob'\''s contents' - var:'show git logical variable' - verify-pack:'validate packed git archive files') - - plumbing_sync_commands=( - daemon:'run a really simple server for git repositories' - fetch-pack:'receive missing objects from another repository' - http-backend:'run a server side implementation of Git over HTTP' - send-pack:'push objects over git protocol to another repository' - update-server-info:'update auxiliary information file to help dumb servers') - - plumbing_sync_helper_commands=( - http-fetch:'download from remote git repository via HTTP' - http-push:'push objects over HTTP/DAV to another repository' - parse-remote:'routines to help parsing remote repository access parameters' - receive-pack:'receive what is pushed into repository' - shell:'restricted login shell for GIT-only SSH access' - upload-archive:'send archive back to git-archive' - upload-pack:'send objects packed back to git fetch-pack') - - plumbing_internal_helper_commands=( - check-attr:'display gitattributes information' - check-ignore:'debug gitignore/exclude files' - check-mailmap:'show canonical names and email addresses of contacts' - check-ref-format:'ensure that a reference name is well formed' - column:'display data in columns' - fmt-merge-msg:'produce merge commit message' - mailinfo:'extract patch and authorship from a single email message' - mailsplit:'split mbox file into a list of files' - merge-one-file:'standard helper-program to use with git merge-index' - patch-id:'compute unique ID for a patch' - stripspace:'filter out empty lines') - - zstyle -a :completion:$curcontext: user-commands user_commands - - local command - for command in ${(k)_git_third_party_commands}; do - (( $+commands[git-${command}] )) && third_party_commands+=$command$_git_third_party_commands[$command] - done - - local -a aliases - __git_extract_aliases - local cmdtype len dup sep - local -a allcmds allmatching alts disp expl - - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - for cmdtype in $cmdtypes aliases; do - if [[ $cmdtype = aliases ]]; then - for dup in ${${aliases%:*}:*allcmds}; do - aliases=( ${aliases:#$dup:*} ) - done - fi - local -a ${cmdtype}_m - set -A ${cmdtype}_m ${(P)cmdtype%%:*} - allcmds+=( ${(P)${:-${cmdtype}_m}} ) - done - zstyle -T ":completion:${curcontext}:" verbose && disp=(-ld '${cmdtype}_d') - _description '' expl '' # get applicable matchers - compadd "$expl[@]" -O allmatching -a allcmds - len=${#${(O)allmatching//?/.}[1]} # length of longest match - for cmdtype in aliases $cmdtypes; do - local -a ${cmdtype}_d - (( $#disp )) && set -A ${cmdtype}_d \ - ${${(r.COLUMNS-4.)${(P)cmdtype}/(#s)(#m)[^:]##:/${(r.len.)MATCH[1,-2]} $sep }%% #} - alts+=( "${cmdtype//_/-}:${${cmdtype//_/ }%%(e|)s}:compadd ${(e)disp} -a ${cmdtype}_m" ) - done - - _alternative $alts -} - -(( $+functions[__git_aliases] )) || -__git_aliases () { - local -a aliases - __git_extract_aliases - - _describe -t aliases alias aliases $* -} - -(( $+functions[__git_extract_aliases] )) || -__git_extract_aliases () { - local -a tmp - tmp=(${${(0)"$(_call_program aliases "git config -z --get-regexp '^alias.'")"}#alias.}) - if (( ${#tmp} > 0 )); then - aliases=(${^tmp/$'\n'/:alias for \'}\') - else - aliases=() - fi -} - -(( $+functions[_git_column_layouts] )) || -_git_column_layouts() { - _values -s , 'column layout [always,column,nodense]' \ - '(never auto)always[always show in columns]' \ - '(always auto)never[never show in columns]' \ - '(always never)auto[show in columns if the output is to the terminal]' \ - '(row plain)column[fill columns before rows]' \ - '(column plain)row[fill rows before columns]' \ - '(column row)plain[show in one column]' \ - '(nodense)dense[make unequal size columns to utilize more space]' \ - '(dense)nodense[make equal size columns]' -} - -(( $+functions[__git_date_formats] )) || -__git_date_formats () { - declare -a date_formats - - if compset -P 'format(-local|):'; then - _strftime - return - fi - - date_formats=( - relative:'show dates relative to the current time' - local:'show timestamps in the local timezone' - iso{,8601}:'show timestamps in ISO 8601 format' - iso{,8601}-local:'show timestamps in ISO 8601 format in the local timezone' - iso-strict:'show timestamps in strict ISO 8601 format' - iso-strict-local:'show timestamps in strict ISO 8601 format in the local timezone' - rfc{,2822}:'show timestamps in RFC 2822 format' - rfc{,2822}-local:'show timestamps in RFC 2822 format in the local timezone' - short:'show only date but not time' - short-local:'show only date but not time in the local timezone' - raw:'show date in internal raw git format (%s %z)' - raw-local:'show date in internal raw git format (%s %z) in the local timezone' - human:'elide some current and recent date elements' - human-local:'elide some current and recent date elements in the local timezone' - unix:'show date as a Unix epoch timestamp' - default:'show timestamp in rfc-like format' - default-local:'show timestamp in rfc-like format in the local timezone' - ) - - _describe -t date-formats 'date format' date_formats -- '( format\:custom\ format )' -S : -} - -(( $+functions[_git_diff_filters] )) || -_git_diff_filters() { - local sep - local -a dispinc dispexc exclude - typeset -A filters - exclude=( ${(s..)PREFIX:u} ${(s..)SUFFIX:u} ${(s..)PREFIX:l} ${(s..)SUFFIX:l} ) - compset -P \* - compset -S \* - filters=( A added C copied D deleted M modified R renamed T changed b "pairing broken" ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - print -v dispinc -f "%s $sep %s" ${(kv)filters} - print -v dispexc -f "%s $sep %s" ${(kv)filters:l} - else - dispinc=() - fi - _alternative \ - "included-file-types:included file type:compadd -S '' -d dispinc -F exclude -k filters" \ - "excluded-file-types:excluded file type:compadd -S '' -d dispexc -F exclude ${(k)filters:l}" -} - -(( $+functions[_git_dirstat_params] )) || -_git_dirstat_params() { - - _alternative \ - "limits: :_guard '(*,|)[0-9]#' 'minimum cut-off limit (percent)'" \ - "parameters: :_values -s , 'method for computing stats [changes]' - '(lines files)changes[count added/removed lines, ignoring moves]' - '(changes files)lines[count added/removed lines]' - '(changes lines)files[count number of files changed]' - 'cumulative[count changes in a child directory for the parent directory as well]'" -} - -(( $+functions[_git_cleanup_modes] )) || -_git_cleanup_modes() { - declare -a cleanup_modes - cleanup_modes=( - strip:'remove both whitespace and commentary lines' - whitespace:'remove leading and trailing whitespace lines' - verbatim:"don't change the commit message at all" - scissors:"same as whitespace but cut from scissor line" - default:'act as '\''strip'\'' if the message is to be edited and as '\''whitespace'\'' otherwise' - ) - _describe -t modes mode cleanup_modes -} - -(( $+functions[__git_gpg_secret_keys] )) || -__git_gpg_secret_keys () { - local expl - - _wanted secret-keys expl 'secret key' compadd \ - ${${(Mo)$(_call_program secret-keys gpg --list-secret-keys 2>/dev/null):%<*>}//(<|>)/} -} - -(( $+functions[__git_merge_strategies] )) || -__git_merge_strategies () { - local expl - - _wanted merge-strategies expl 'merge strategy' compadd "$@" - \ - ${=${${${(M)${(f)"$(_call_program merge-strategies \ - "git merge -s '' 2>&1")"}:#[Aa]vailable (custom )#strategies are: *}#[Aa]vailable (custom )#strategies are: }%.}:-octopus ours recursive resolve subtree} -} - -(( $+functions[_git_strategy_options] )) || -_git_strategy_options() { - _values "strategy option" ours theirs ignore-space-change \ - ignore-all-space ignore-space-at-eol ignore-cr-at-eol \ - renormalize no-renormalize \ - 'find-renames::similarity threshold' \ - subtree:path \ - 'diff-algorithm:algorithm:(patience minimal histogram myers)' -} - -(( $+functions[__git_encodings] )) || -__git_encodings () { - # TODO: Use better algorithm, as shown in iconv completer (separate it to a - # new Type). - local expl - _wanted encodings expl 'encoding' compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \ - ${${${(f)"$(_call_program encodings iconv --list)"}## #}%//} -} - -(( $+functions[__git_apply_whitespace_strategies] )) || -__git_apply_whitespace_strategies () { - declare -a strategies - - strategies=( - 'nowarn:turn off the trailing-whitespace warning' - 'warn:output trailing-whitespace warning, but apply patch' - 'fix:output trailing-whitespace warning and strip trailing whitespace' - 'error:output trailing-whitespace warning and refuse to apply patch' - 'error-all:same as "error", but output warnings for all files') - - _describe -t strategies 'trailing-whitespace resolution strategy' strategies $* -} - -(( $+functions[__git_remotes] )) || -__git_remotes () { - local remotes expl - - remotes=(${(f)"$(_call_program remotes git remote 2>/dev/null)"}) - __git_command_successful $pipestatus || return 1 - - _wanted remotes expl remote compadd "$@" -a - remotes -} - -(( $+functions[__git_ref_specs_pushy] )) || -__git_ref_specs_pushy () { - # TODO: This needs to deal with a lot more types of things. - if compset -P '*:'; then - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix - else - compset -P '+' - if compset -S ':*'; then - __git_heads - else - _alternative \ - 'commit-tags::__git_commit_tags' \ - 'heads::__git_heads -qS :' - fi - fi -} - -(( $+functions[__git_ref_specs_fetchy] )) || -__git_ref_specs_fetchy () { - # TODO: This needs to deal with a lot more types of things. - if compset -P '*:'; then - __git_heads_local - else - compset -P '+' - if compset -S ':*'; then - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix - else - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix -qS : - fi - fi -} - -(( $+functions[__git_ref_specs] )) || -__git_ref_specs () { - # Backwards compatibility: define this function to support user dotfiles that - # define custom _git-${subcommand} completions in terms of this function. - # ### We may want to warn here "use _pushy() or _fetchy()". - __git_ref_specs_pushy "$@" -} - -(( $+functions[__git_color_whens] )) || -__git_color_whens () { - local -a whens - - whens=( - 'always:always use colors' - 'never:never use colors' - 'auto:use colors if output is to a terminal') - - _describe -t whens when whens $* -} - -(( $+functions[__git_ignore_submodules_whens] )) || -__git_ignore_submodules_whens () { - local -a whens - - whens=( - none:'submodule is dirty when it contains untracked or modified files' - untracked:'submodule is dirty when it contains untracked files' - dirty:'ignore all changes to submodules, showing only changes to commits stored in superproject' - all:'ignore all changes to submodules (default)') - - _describe -t whens when whens $* -} - -# (Currently) Command-specific Argument Types -(( $+functions[__git_archive_formats] )) || -__git_archive_formats () { - local expl - - _wanted archive-formats expl 'archive format' \ - compadd $* - ${${(f)"$(_call_program archive-formats git archive --list)"}} -} - -(( $+functions[__git_compression_levels] )) || -__git_compression_levels () { - __git_config_values -t compression-levels -l 'compression level' -- "$current" "$parts[5]" \ - '-1:default level of compression' \ - '0:do not deflate files' \ - '1:minimum compression' \ - '2:a little more compression' \ - '3:slightly more compression' \ - '4:a bit more compression' \ - '5:even more compression' \ - '6:slightly even more compression' \ - '7:getting there' \ - '8:close to maximum compression' \ - '9:maximum compression' -} - -(( $+functions[__git_attributes] )) || -__git_attributes () { - local -a attributes - - attributes=( - 'crlf:line-ending convention' - 'ident:ident substitution' - 'filter:filters' - 'diff:textual diff' - 'merge:merging strategy') - - _describe -t attributes attribute attributes $* -} - -(( $+functions[__git_daemon_service] )) || -__git_daemon_service () { - local -a services - - services=( - 'upload-pack:serve git fetch-pack and git ls-remote clients' - 'upload-archive:serve git archive --remote clients') - - _describe -t services service services $* -} - -(( $+functions[_git_log_line_ranges] )) || -_git_log_line_ranges() { - local sep pos=start op=( / : ) - if compset -P '*[^,^]:'; then - __git_tree_files ${PREFIX:-.} HEAD - else - compset -P 1 '*,' && pos=end - if compset -P '(^|):'; then - _message -e functions function - elif compset -P '(^|)/'; then - _message -e patterns regex - else - zstyle -s ":completion:${curcontext}:forms" list-separator sep || sep=-- - sep=' -- ' - sep="${(q)sep}" - _guard "[0-9]#" "$pos line number" && return - compset -P \^ || op+=( \^ ) - _wanted forms expl form compadd -S '' -d "( - /\ $sep\ regex - :\ $sep\ function - ^\ $sep\ search\ from\ start\ of\ file )" $op - fi - fi -} - -(( $+functions[__git_log_decorate_formats] )) || -__git_log_decorate_formats () { - declare -a log_decorate_formats - - log_decorate_formats=( - short:'do not show ref name prefixes' - full:'show ref name prefixes' - no:'do not show ref names') - - _describe -t log-decorate-formats 'log decorate format' log_decorate_formats $* -} - -(( $+functions[__git_repository_permissions] )) || -__git_repository_permissions () { - if [[ -prefix [0-7] ]]; then - _message -e number 'numeric mode' - else - declare -a permissions - - permissions=( - {umask,false,no,off}':use permissions reported by umask()' - {group,true,yes,on}':files and objects are group-writable' - {all,world,everybody}':files and objects are readable by all users and group-shareable') - - _describe -t permissions permission permissions $* - fi -} - -(( $+functions[__git_reflog_entries] )) || -__git_reflog_entries () { - local expl - declare -a reflog_entries - - # Repeat the %gD on the RHS due to uniquify the matches, to avoid bad - # completion list layout. (Compare workers/34768) - reflog_entries=(${(f)"$(_call_program reflog-entries "git reflog -1000 --pretty='%gD:[%h] %gs (%gD)'" 2>/dev/null)"}) - reflog_entries=( ${reflog_entries/HEAD@$'\x7b'/@$'\x7b'} ) - __git_command_successful $pipestatus || return 1 - - _describe -Vx -t reflog-entries 'reflog entry' reflog_entries -} - -(( $+functions[__git_ref_sort_keys] )) || -__git_ref_sort_keys () { - compset -P '-' - - __git_ref_fields "$@" -} - -(( $+functions[__git_ref_fields] )) || -__git_ref_fields () { - # pass -a to complete all fields, otherwise only fields relevant to sorting - local match mbegin mend - local -a cfields fields append opts all - - zparseopts -D -E -a opts M+: x+: X+: J+: V+: o+: 1 2 a=all - - if compset -P 1 '(#b)(*):'; then - case $match[1] in - push|upstream) - append=( - 'trackshort[show terse version: > (ahead) < (behind) = (in sync)]' - 'track[print gone whenever unknown upstream ref is encountered]' - 'track,nobracket[tracking information without brackets]' - ) - ;& - refname|upstream|symref) - append+=( - {strip,lstrip}'[strip elements from the left]:elements to strip / -remain' - 'rstrip[strip elements from the right]:elements to strip / -remain' - 'short[strip to non-ambiguous short name]' - ) - ;; - objectname) - append=( - 'short[strip to non-ambiguous short name]:length' - ) - ;; - color) - _alternative \ - 'colors::__git_colors' \ - 'attributes::__git_color_attributes' - return - ;; - align) - append=( - 'width[specify width]:width' - 'position[specify alignment]:alignment:(left right middle)' - ) - ;; - if) append=( {,not}'equals:string' ) ;; - contents) append=( subject body signature lines:lines ) ;; - tailers) append=( only unfold ) ;; - v|version) - append=( - 'refname[sort by versions]' - ) - ;; - esac - (( $#append )) || return 1 - _values 'interpolation modifier' $append - return - fi - - cfields=( - 'refname:name of the ref' - 'objectname:object name (SHA-1)' - 'upstream:name of a local ref which can be considered “upstream” from the displayed ref' - 'push:name of a local ref which represents the @{push} location for the displayed ref' - 'symref:the ref which the given symbolic ref refers to' - 'contents:complete message' - 'trailers:structured information in commit messages' - ) - fields=( - 'objecttype:the type of the object' - 'objectsize:the size of the object' - 'deltabase:object name of the delta base of the object' - 'HEAD:* if HEAD matches ref or space otherwise' - 'tree:the tree header-field' - 'parent:the parent header-field' - 'numparent:number of parent objects' - 'object:the object header-field' - 'type:the type header-field' - 'tag:the tag header-field' - 'author:the author header-field' - 'authorname:the name component of the author header-field' - 'authoremail:the email component of the author header-field' - 'authordate:the date component of the author header-field' - 'committer:the committer header-field' - 'committername:the name component of the committer header-field' - 'committeremail:the email component of the committer header-field' - 'committerdate:the date component of the committer header-field' - 'tagger:the tagger header-field' - 'taggername:the name component of the tagger header-field' - 'taggeremail:the email component of the tagger header-field' - 'taggerdate:the date component of the tagger header-field' - 'creator:the creator header-field' - 'creatordate:the date component of the creator header-field' - 'subject:the subject of the message' - 'body:the body of the message' - 'version\:refname:sort by versions' - ) - if (( $#all )); then - cfields+=( - 'color:change output color' - 'align:set alignment' - 'if:conditional' - ) - fields+=( - 'then:true branch' - 'else:false branch' - 'end:end if or align block' - ) - fi - - _describe -t fields 'field' cfields -S : -r ':\\) \t\n\-' -- fields "$@" -} - -(( $+functions[__git_format_ref] )) || -__git_format_ref() { - local expl - compset -P '(%\\\([^)]#\\\)|[^%]|%%|%[[:xdigit:]][[:xdigit:]])#' - if compset -P '%\\\((\*|)'; then - __git_ref_fields -S '\)' -a - else - _wanted -x formats expl format compadd -S '' '%(' - fi -} - -(( $+functions[__git_signoff_file] )) || -__git_signoff_file () { - _alternative \ - 'signoffs:signoff:(yes true me please)' \ - 'files:signoff file:_files' -} - -(( $+functions[__git_stashes] )) || -__git_stashes () { - local expl - declare -a interleaved - declare -a stashes - declare -a descriptions - - interleaved=(${(ps:\0:)"$(_call_program stashes git stash list -z --pretty='format:%gd%x00%s%x00\(%cr\)' 2>/dev/null)"}) - __git_command_successful $pipestatus || return 1 - () { - local i j k - for i j k in $interleaved; do - stashes+=($i) - descriptions+=("$i: $j $k") - done - } - - _wanted stashes expl 'stash' compadd -Vx -d descriptions -a - stashes -} - -(( $+functions[__git_svn_revisions] )) || -__git_svn_revisions () { - if [[ -prefix *: ]]; then - compset -P '*:' - - _alternative \ - 'revision-numbers::__git_svn_revision_numbers' \ - 'symbolic-revisions:symbolic revision:((HEAD:"the topmost revision of the SVN repository"))' - else - _alternative \ - 'revision-numbers::__git_svn_revision_numbers' \ - 'symbolic-revisions:symbolic revision:__git_svn_base_revisions' - fi -} - -(( $+functions[__git_svn_base_revisions] )) || -__git_svn_base_revisions () { - declare -a symbolic_revisions - - symbolic_revisions=( - 'BASE:the bottommost revision of the SVN repository') - - # TODO: How do we deal with $*? - _describe -t symbolic-revisions 'symbolic revision' symbolic_revisions -S ':' -r ': ' -} - -# Object Type Argument Types - -(( $+functions[__git_branch_names] )) || -__git_branch_names () { - local expl - declare -a branch_names - - branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names branch-names 'branch name' "$@" -} - -(( $+functions[__git_remote_branch_names] )) || -__git_remote_branch_names () { - declare -a branch_names - - branch_names=(${${(f)"$(_call_program remote-branch-refs git for-each-ref --format='"%(refname)"' refs/remotes 2>/dev/null)"}#refs/remotes/}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names remote-branch-names 'remote branch name' "$@" -} - -(( $+functions[__git_remote_branch_names_noprefix] )) || -__git_remote_branch_names_noprefix () { - declare -a heads - - branch_names=(${${${${(f)"$(_call_program remote-branch-refs-noprefix git for-each-ref --format='"%(refname)"' refs/remotes 2>/dev/null)"}#refs/remotes/}#*/}:#HEAD}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names remote-branch-names-noprefix 'remote branch name' "$@" -} - -(( $+functions[__git_commit_objects_prefer_recent] )) || -__git_commit_objects_prefer_recent () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - - __git_recent_commits $argument_array_names || __git_commit_objects -} - -# This function returns in $reply recently-checked-out refs' names, in order -# from most to least recent. -(( $+functions[__git_recent_branches__names] )) || -__git_recent_branches__names() -{ - # This parameter expansion does the following: - # 1. Obtains the last 1000 'checkout' operations from the reflog - # 2. Extracts the move-source from each - # 3. Eliminates duplicates - # 4. Eliminates commit hashes (leaving only ref names) - # [This step is done again by the caller.] - # - # See workers/38592 for an equivalent long-hand implementation, and the rest - # of that thread for why this implementation was chosen instead. - # - # Note: since we obtain the "from" part of the reflog, we only obtain heads, not tags. - reply=(${${(u)${${(M)${(0)"$(_call_program reflog git reflog -1000 -z --pretty='%gs')"}:#(#s)checkout: moving from *}#checkout: moving from }%% *}:#[0-9a-f](#c40)}) -} - -(( $+functions[__git_recent_branches] )) || -__git_recent_branches() { - local -a branches - local -A descriptions - local -a reply - local -aU valid_ref_names_munged=( ${"${(f)"$(_call_program valid-ref-names 'git for-each-ref --format="%(refname)" refs/heads/')"}"#refs/heads/} ) - - # 1. Obtain names of recently-checked-out branches from the reflog. - # 2. Remove ref names that no longer exist from the list. - # (We must do this because #3 would otherwise croak on them.) - __git_recent_branches__names; branches=( ${(@)reply:*valid_ref_names_munged} ) - - # 3. Early out if no matches. - if ! (( $+branches[1] )); then - # This can happen in a fresh repository (immediately after 'clone' or 'init') before - # any 'checkout' commands were run in it. - return 1 - fi - - # 4. Obtain log messages for all of them in one shot. - # TODO: we'd really like --sort=none here... but git doesn't support such a thing. - local z=$'\0' - descriptions=( "${(0)"$(_call_program all-descriptions "git --no-pager for-each-ref --format='%(refname)%00%(subject)'" refs/heads/${(q)^branches} "--")"//$'\n'/$z}" ) - - # 5. Synthesize the data structure _describe wants. - local -a branches_colon_descriptions - local branch - for branch in ${branches} ; do - branches_colon_descriptions+="${branch//:/\:}:${descriptions[refs/heads/${(b)branch}]}" - done - - _describe -V -t recent-branches "recent branches" branches_colon_descriptions -} - -(( $+functions[__git_commits_prefer_recent] )) || -__git_commits_prefer_recent () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - - _alternative \ - 'recent-branches::__git_recent_branches' \ - "commits::__git_commits $argument_array_names" -} - -(( $+functions[__git_commits] )) || -__git_commits () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - set -- "${(@P)argument_array_names[1]}" - local commit_opts__argument_name=$argument_array_names[2] - - # TODO: deal with things that __git_heads and __git_tags has in common (i.e., - # if both exists, they need to be completed to heads/x and tags/x. - local -a sopts ropt expl - zparseopts -E -a sopts S: r:=ropt R: q - sopts+=( $ropt:q ) - expl=( "$@" ) - _alternative \ - "heads::__git_heads $sopts" \ - "commit-tags::__git_commit_tags $sopts" \ - 'commit-objects:: __git_commit_objects_prefer_recent -O expl:$commit_opts__argument_name' -} - -(( $+functions[__git_heads] )) || -__git_heads () { - _alternative 'heads-local::__git_heads_local' 'heads-remote::__git_heads_remote' -} - -(( $+functions[__git_heads_local] )) || -__git_heads_local () { - local f gitdir - declare -a heads - - heads=(${(f)"$(_call_program headrefs git for-each-ref --format='"%(refname:short)"' refs/heads refs/bisect refs/stash 2>/dev/null)"}) - gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) - if __git_command_successful $pipestatus; then - for f in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do - [[ -f $gitdir/$f ]] && heads+=$f - done - fi - - __git_describe_commit heads heads-local "local head" "$@" -} - -(( $+functions[__git_heads_remote] )) || -__git_heads_remote () { - declare -a heads - - heads=(${(f)"$(_call_program headrefs git for-each-ref --format='"%(refname:short)"' refs/remotes 2>/dev/null)"}) - - __git_describe_commit heads heads-remote "remote head" "$@" -} - -(( $+functions[__git_commit_objects] )) || -__git_commit_objects () { - local gitdir expl start - declare -a commits - - if [[ -n $PREFIX[(r)@] ]] || [[ -n $SUFFIX[(r)@] ]]; then - # doesn't match a commit hash, but might be a reflog entry - __git_reflog_entries; return $? - elif ! [[ "$PREFIX$SUFFIX" == [[:xdigit:]](#c1,40) ]]; then - # Abort if the argument does not match a commit hash (including empty). - return 1 - fi - - # Note: the after-the-colon part must be unique across the entire array; - # see workers/34768 - commits=(${(f)"$(_call_program commits git --no-pager rev-list -1000 --all --reflog --format='%h:\[%h\]\ %s\ \(%cr\)' HEAD)"}) - __git_command_successful $pipestatus || return 1 - commits=(${commits:#commit [[:xdigit:]](#c40,)}) - - _describe -Vx -t commits 'commit object name' commits -} - -(( $+functions[__git_recent_commits] )) || -__git_recent_commits () { - local gitdir expl start - declare -a descr tags heads commits argument_array_names commit_opts - local h i j k ret - integer distance_from_head - local label - local parents - local next_first_parent_ancestral_line_commit - - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - (( $#argument_array_names > 1 )) && (( ${(P)+argument_array_names[2]} )) && - commit_opts=( "${(@P)argument_array_names[2]}" ) - - # Careful: most %d will expand to the empty string. Quote properly! - # NOTE: we could use %D directly, but it's not available in git 1.9.1 at least. - commits=("${(f)"$(_call_program commits git --no-pager rev-list -20 --format='%h%n%d%n%s\ \(%cr\)%n%p' HEAD ${(q)commit_opts})"}") - __git_command_successful $pipestatus || return 1 - - # h => hard-coded 'commit abcdef1234567890...' -- just discarded - for h i j k parents in "$commits[@]" ; do - # Note: the after-the-colon part must be unique across the entire array; - # see workers/34768 - if (( $#commit_opts )); then - # $commit_opts is set, so the commits we receive might not be in order, - # or might not be ancestors of HEAD. However, we must make the - # description unique (due to workers/34768), which we do by including the - # hash. Git always prints enough hash digits to make the output unique.) - label="[$i]" - elif (( distance_from_head )) && [[ $i != $next_first_parent_ancestral_line_commit ]]; then - # The first commit (HEAD), and its ancestors along the first-parent line, - # get HEAD~$n labels. - # - # For other commits, we just print the hash. (${parents} does provide enough - # information to compute HEAD~3^2~4 -style labels, though, if somebody cared - # enough to implement that.) - label="[$i]" - else - # Compute a first-parent-ancestry commit's label. - if false ; then - elif (( distance_from_head == 0 )); then - label="[HEAD] " - elif (( distance_from_head == 1 )); then - label="[HEAD^] " - elif (( distance_from_head == 2 )); then - label="[HEAD^^] " - elif (( distance_from_head < 10 )); then - label="[HEAD~$distance_from_head] " - else - label="[HEAD~$distance_from_head]" - fi - ## Disabled because _describe renders the output unhelpfully when this function - ## is called twice during a single completion operation, and list-grouped is - ## in its default setting (enabled). - #descr+=("@~${distance_from_head}":"${label} $k") # CROSSREF: use the same label as below - - # Prepare for the next first-parent-ancestry commit. - (( ++distance_from_head )) - next_first_parent_ancestral_line_commit=${parents%% *} - fi - # label is now 9 bytes, so the descriptions ($k) will be aligned. - descr+=($i:"${label} $k") # CROSSREF: use the same label as above - - j=${${j# \(}%\)} # strip leading ' (' and trailing ')' - j=${j/ ->/,} # Convert " -> master, origin/master". - for j in ${(s:, :)j}; do - if [[ $j == 'tag: '* ]] ; then - tags+=( ${j#tag: } ) - else - heads+=( $j ) - fi - done - done - - ret=1 - # Resetting expl to avoid it 'leaking' from one line to the next. - expl=() - _describe -V -t commits 'recent commit object name' descr && ret=0 - expl=() - _wanted commit-tags expl 'commit tag' compadd "$@" -a - tags && ret=0 - expl=() - _wanted heads expl 'head' compadd -M "r:|/=* r:|=*" "$@" -a - heads && ret=0 - return ret -} - -(( $+functions[_git_fixup] )) || -_git_fixup() { - local alts - alts=( 'commits: :__git_recent_commits' ) - if ! compset -P '(amend|reword):'; then - alts+=( 'actions:action:compadd -S: amend reword' ) - fi - _alternative $alts -} - -(( $+functions[__git_blob_objects] )) || -__git_blob_objects () { - _guard '[[:xdigit:]](#c,40)' 'blob object name' -} - -(( $+functions[__git_blobs] )) || -__git_blobs () { - _alternative \ - 'blob-tags::__git_blob_tags' \ - 'blob-objects::__git_blob_objects' -} - -(( $+functions[__git_blobs_and_trees_in_treeish] )) || -__git_blobs_and_trees_in_treeish () { - compset -P '*:' - [[ -n ${IPREFIX} ]] || return 1 - if [[ -n ${IPREFIX%:} ]]; then - __git_is_treeish ${IPREFIX%:} && __git_tree_files ${PREFIX:-.} ${IPREFIX%:} - else - __git_changed-in-index_files - fi -} - -(( $+functions[__git_committishs] )) || -__git_committishs () { - __git_commits -} - -(( $+functions[__git_revisions] )) || -__git_revisions () { - # TODO: deal with prefixes and suffixes listed in git-rev-parse - __git_commits $* -} - -(( $+functions[__git_commits2] )) || -__git_commits2 () { - compset -P '\\\^' - __git_commits -} - -(( $+functions[__git_commit_ranges] )) || -__git_commit_ranges () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - set -- "${(@P)argument_array_names[1]}" - local commit_opts__argument_name=$argument_array_names[2] - - local -a suf - local -a expl - if compset -P '*..(.|)'; then - expl=( $* ) - else - if ! compset -S '..*'; then - local match mbegin mend - if [[ ${PREFIX} = (#b)((\\|)\^)* ]]; then - compset -p ${#match[1]} - else - suf=( -S .. -r '@~ \^:\t\n\-' ) - fi - fi - expl=( $* $suf ) - fi - - __git_commits -O expl:$commit_opts__argument_name -} - -(( $+functions[__git_commit_ranges2] )) || -__git_commit_ranges2 () { - _alternative \ - 'commits::__git_commits2' \ - 'ranges::__git_commit_ranges' -} - -(( $+functions[__git_trees] )) || -__git_trees () { - __git_objects -} - -(( $+functions[__git_tree_ishs] )) || -__git_tree_ishs () { - __git_commits -} - -(( $+functions[__git_objects] )) || -__git_objects () { - compset -P '*:' - if [[ -n $IPREFIX ]]; then - if compset -P ./ ; then - __git_tree_files "$PREFIX" "${IPREFIX%:./}" - else - __git_tree_files --root-relative "$PREFIX" "${IPREFIX%:}" - fi - else - _alternative \ - 'revisions::__git_revisions' \ - 'files::__git_cached_files' - fi -} - -(( $+functions[__git_submodules] )) || -__git_submodules () { - local expl - declare -a submodules - - submodules=( ${${${(f)"$(_call_program submodules git submodule)"}#?* }%% *} ) - - _wanted submodules expl submodule compadd "$@" -a - submodules -} - -# Tag Argument Types - -(( $+functions[__git_tags] )) || -__git_tags () { - local expl - declare -a tags - - tags=(${${(f)"$(_call_program tagrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) - __git_command_successful $pipestatus || return 1 - - _wanted tags expl tag compadd -M 'r:|/=* r:|=*' "$@" -a - tags -} - -(( $+functions[__git_commit_tags] )) || -__git_commit_tags () { - __git_tags_of_type commit $* -} - -(( $+functions[__git_blob_tags] )) || -__git_blob_tags () { - __git_tags_of_type blob $* -} - -(( $+functions[__git_tags_of_type] )) || -__git_tags_of_type () { - local type expl - declare -a tags - - type=$1; shift - - tags=(${${(M)${(f)"$(_call_program ${(q)type}-tag-refs "git for-each-ref --format='%(*objecttype)%(objecttype) %(refname)' refs/tags 2>/dev/null")"}:#$type(tag|) *}#$type(tag|) refs/tags/}) - __git_command_successful $pipestatus || return 1 - - _wanted $type-tags expl "$type tag" compadd -M 'r:|/=* r:|=*' "$@" -o numeric -a - tags -} - -# Reference Argument Types - -(( $+functions[__git_references] )) || -__git_references () { - local expl - - # TODO: depending on what options are on the command-line already, complete - # only tags or heads - # TODO: perhaps caching is unnecessary. usually won't contain that much data - # TODO: perhaps provide alternative here for both heads and tags (and use - # __git_heads and __git_tags) - # TODO: instead of "./.", we should be looking in the repository specified as - # an argument to the command (but default to "./." I suppose (why not "."?)) - # TODO: deal with GIT_DIR - if [[ $_git_refs_cache_pwd != $PWD ]]; then - _git_refs_cache=(${${${(f)"$(_call_program references git ls-remote ./. 2>/dev/null)"}#*$'\t'}#refs/(heads|tags)/}) - __git_command_successful $pipestatus || return 1 - _git_refs_cache_pwd=$PWD - fi - - _wanted references expl 'reference' compadd -M 'r:|/=* r:|=*' -a - _git_refs_cache -} - -# ### currently unused; are some callers of __git_references supposed to call this function? -(( $+functions[__git_local_references] )) || -__git_local_references () { - local expl - - if [[ $_git_local_refs_cache_pwd != $PWD ]]; then - _git_local_refs_cache=(${${${(f)"$(_call_program references git ls-remote ./. 2>/dev/null)"}#*$'\t'}#refs/}) - __git_command_successful $pipestatus || return 1 - _git_local_refs_cache_pwd=$PWD - fi - - _wanted references expl 'reference' compadd -M 'r:|/=* r:|=*' -a - _git_local_refs_cache -} - -(( $+functions[__git_remote_references] )) || -__git_remote_references () { - __git_references -} - -(( $+functions[__git_notes_refs] )) || -__git_notes_refs () { - local expl - declare -a notes_refs - - notes_refs=(${${(f)"$(_call_program notes-refs git for-each-ref --format='"%(refname)"' refs/notes 2>/dev/null)"}#$type refs/notes/}) - __git_command_successful $pipestatus || return 1 - - _wanted notes-refs expl 'notes ref' compadd "$@" -a - notes_refs -} - -# File Argument Types - -(( $+functions[__git_files_relative] )) || -__git_files_relative () { - local files file f_parts prefix p_parts tmp - - prefix=$(_call_program gitprefix git rev-parse --show-prefix 2>/dev/null) - __git_command_successful $pipestatus || return 1 - - if (( $#prefix == 0 )); then - print $1 - return - fi - - files=() - - # Collapse "//" and "/./" into "/". Strip any remaining "/." and "/". - for file in ${${${${${(0)1}//\/\///}//\/.\///}%/.}%/}; do - integer i n - (( n = $#file > $#prefix ? $#file : $#prefix )) - for (( i = 1; i <= n; i++ )); do - if [[ $file[i] != $prefix[i] ]]; then - while (( i > 0 )) && [[ $file[i-1] != / ]]; do - (( i-- )) - done - break - fi - done - - files+=${(l@${#prefix[i,-1]//[^\/]}*3@@../@)}${file[i,-1]} - done - - print ${(pj:\0:)files} -} - -(( $+functions[__git_files] )) || -__git_files () { - local compadd_opts opts tag description gittoplevel gitprefix files expl - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - zparseopts -D -E -a opts -- -cached -deleted -modified -others -ignored -unmerged -killed x+: --exclude+: - tag=$1 description=$2; shift 2 - - gittoplevel=$(_call_program toplevel git rev-parse --show-toplevel 2>/dev/null) - __git_command_successful $pipestatus || return 1 - [[ -n $gittoplevel ]] && gittoplevel+="/" - - gitprefix=$(_call_program gitprefix git rev-parse --show-prefix 2>/dev/null) - __git_command_successful $pipestatus || return 1 - - # TODO: --directory should probably be added to $opts when --others is given. - - local pref=${(Q)${~PREFIX}} - [[ $pref[1] == '/' ]] || pref=$gittoplevel$gitprefix$pref - - # First allow ls-files to pattern-match in case of remote repository. Use the - # icase pathspec magic word to ensure that we support case-insensitive path - # completion for users with the appropriate matcher configuration - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard ${(q)opts} -- ${(q)${pref:+:\(icase\)$pref\*}:-.} 2>/dev/null)"}) - __git_command_successful $pipestatus || return - - # If ls-files succeeded but returned nothing, try again with no pattern. Note - # that ls-files defaults to the CWD if not given a path, so if the file we - # were trying to add is in an *adjacent* directory, this won't return anything - # helpful either - if [[ -z "$files" && -n "$pref" ]]; then - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard ${(q)opts} -- 2>/dev/null)"}) - __git_command_successful $pipestatus || return - fi - -# _wanted $tag expl $description _files -g '{'${(j:,:)files}'}' $compadd_opts - - _wanted $tag expl $description _multi_parts -f $compadd_opts - / files -} - -(( $+functions[__git_cached_files] )) || -__git_cached_files () { - __git_files --cached cached-files 'cached file' $* -} - -(( $+functions[__git_deleted_files] )) || -__git_deleted_files () { - __git_files --deleted deleted-files 'deleted file' $* -} - -(( $+functions[__git_modified_files] )) || -__git_modified_files () { - __git_files --modified modified-files 'modified file' $* -} - -(( $+functions[__git_other_files] )) || -__git_other_files () { - __git_files --others untracked-files 'untracked file' $* -} - -(( $+functions[__git_ignored_cached_files] )) || -__git_ignored_cached_files () { - __git_files --ignored --cached ignored-cached-files 'ignored cached file' $* -} - -(( $+functions[__git_ignored_other_files] )) || -__git_ignored_other_files () { - __git_files --ignored --others ignored-untracked-files 'ignored untracked file' $* -} - -(( $+functions[__git_unmerged_files] )) || -__git_unmerged_files () { - __git_files --unmerged unmerged-files 'unmerged file' $* -} - -(( $+functions[__git_killed_files] )) || -__git_killed_files () { - __git_files --killed killed-files 'killed file' $* -} - -(( $+functions[__git_diff-index_files] )) || -__git_diff-index_files () { - local tree=$1 description=$2 tag=$3; shift 3 - local files expl - - # $tree needs to be escaped for _call_program; matters for $tree = "HEAD^" - files=$(_call_program files git diff-index -z --name-only --no-color --cached ${(q)tree} 2>/dev/null) - __git_command_successful $pipestatus || return 1 - files=(${(0)"$(__git_files_relative $files)"}) - __git_command_successful $pipestatus || return 1 - - _wanted $tag expl $description _multi_parts $@ - / files -} - -(( $+functions[__git_changed-in-index_files] )) || -__git_changed-in-index_files () { - __git_diff-index_files HEAD 'changed in index file' changed-in-index-files "$@" -} - -(( $+functions[__git_treeish-to-index_files] )) || -__git_treeish-to-index_files () { - local tree=$1; shift - __git_diff-index_files $tree "files different between ${(qq)tree} and the index" treeish-to-index-files "$@" -} - -(( $+functions[__git_changed-in-working-tree_files] )) || -__git_changed-in-working-tree_files () { - local files expl - - files=$(_call_program changed-in-working-tree-files git diff -z --name-only --no-color 2>/dev/null) - __git_command_successful $pipestatus || return 1 - files=(${(0)"$(__git_files_relative $files)"}) - __git_command_successful $pipestatus || return 1 - - _wanted changed-in-working-tree-files expl 'changed in working tree file' _multi_parts $@ -f - / files -} - -(( $+functions[__git_changed_files] )) || -__git_changed_files () { - _alternative \ - 'changed-in-index-files::__git_changed-in-index_files' \ - 'changed-in-working-tree-files::__git_changed-in-working-tree_files' -} - -# __git_tree_files [--root-relative] FSPATH TREEISH [TREEISH...] [COMPADD OPTIONS] -# -# Complete [presently: a single level of] repository files under FSPATH. -# FSPATH is interpreted as a directory path within each TREEISH. -# FSPATH is relative to cwd, unless --root-relative is specified, in -# which case it is relative to the repository root. -(( $+functions[__git_tree_files] )) || -__git_tree_files () { - local tree Path - integer at_least_one_tree_added - local -a tree_files compadd_opts - local -a extra_args - - if [[ $1 == --root-relative ]]; then - extra_args+=(--full-tree) - shift - fi - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - - Path=${(M)1##(../)#} - [[ ${1##(../)#} = */* ]] && extra_args+=( -r ) - shift - (( at_least_one_tree_added = 0 )) - for tree; do - tree_files+=(${(ps:\0:)"$(_call_program tree-files git ls-tree $extra_args --name-only -z ${(q)tree} $Path 2>/dev/null)"}) - __git_command_successful $pipestatus && (( at_least_one_tree_added = 1 )) - done - - if (( !at_least_one_tree_added )); then - return 1 - fi - - local expl - _wanted files expl 'tree file' _multi_parts -f $compadd_opts -- / tree_files -} - -# Repository Argument Types - -(( $+functions[__git_remote_repositories] )) || -__git_remote_repositories () { - if compset -P '*:'; then - _remote_files -/ -- ssh - else - _ssh_hosts -S: - fi -} - -(( $+functions[__git_repositories] )) || -__git_repositories () { - _alternative \ - 'local-repositories::__git_local_repositories' \ - 'remote-repositories::__git_remote_repositories' -} - -(( $+functions[__git_local_repositories] )) || -__git_local_repositories () { - local expl - - _wanted local-repositories expl 'local repository' _directories -} - -(( $+functions[__git_repositories_or_urls] )) || -__git_repositories_or_urls () { - _alternative \ - 'repositories::__git_repositories' \ - 'urls::_urls' -} - -(( $+functions[__git_current_remote_urls] )) || -__git_current_remote_urls () { - local expl - _description remote-urls expl 'current url' - compadd "$expl[@]" -M 'r:|/=* r:|=*' - ${(f)"$(_call_program remote-urls - git remote get-url "$@" --all)"} -} - -(( $+functions[__git_any_repositories] )) || -__git_any_repositories () { - # TODO: should also be $GIT_DIR/remotes/origin - _alternative \ - 'local-repositories::__git_local_repositories' \ - 'remotes: :__git_remotes' \ - 'remote-repositories::__git_remote_repositories' -} - -(( $+functions[__git_any_repositories_or_references] )) || -__git_any_repositories_or_references () { - _alternative \ - 'repositories::__git_any_repositories' \ - 'references::__git_references' -} - -# Common Guards - -(( $+functions[__git_guard] )) || -__git_guard () { - declare -A opts - - zparseopts -K -D -A opts M+: J+: V+: 1 2 o+: n F: x+: X+: - - [[ "$PREFIX$SUFFIX" != $~1 ]] && return 1 - - if (( $+opts[-X] )); then - _message -r $opts[-X] - else - _message -e $2 - fi - - [[ -n "$PREFIX$SUFFIX" ]] -} - -__git_guard_branch-name () { - if [[ -n $PREFIX$SUFFIX ]]; then - _call_program check-ref-format git check-ref-format "refs/heads/"${(q)PREFIX}${(q)SUFFIX} &>/dev/null - (( ${#pipestatus:#0} > 0 )) && return 1 - fi - - _message -e 'branch name' - - [[ -n $PREFIX$SUFFIX ]] -} - -__git_guard_diff-stat-width () { - if [[ $PREFIX == *,* ]]; then - compset -P '*,' - __git_guard_number 'filename width' - else - compset -S ',*' - __git_guard_number width - fi -} - -(( $+functions[__git_guard_number] )) || -__git_guard_number () { - declare -A opts - - zparseopts -K -D -A opts M+: J+: V+: 1 2 o+: n F: x+: X+: - - _guard '[[:digit:]]#' ${1:-number} -} - -(( $+functions[__git_guard_bytes] )) || -__git_guard_bytes () { - _numbers -u bytes ${*:-size} k m g -} - -(( $+functions[__git_datetimes] )) || -__git_datetimes () { - # TODO: Use this in more places. - _guard '*' 'time specification' -} - -(( $+functions[__git_stages] )) || -__git_stages () { - __git_guard $* '[[:digit:]]#' 'stage' -} - -(( $+functions[__git_svn_revision_numbers] )) || -__git_svn_revision_numbers () { - __git_guard_number 'revision number' -} - -# _arguments Helpers - -(( $+functions[__git_setup_log_options] )) || -__git_setup_log_options () { - # TODO: Need to implement -<n> for limiting the number of commits to show. - log_options=( - '(- *)-h[display help]' - '--decorate-refs=[only decorate refs that match pattern]:pattern' - "--decorate-refs-exclude=[don't decorate refs that match pattern]:pattern" - '( --no-decorate)--decorate=-[print out ref names of any commits that are shown]: :__git_log_decorate_formats' - '(--decorate )--no-decorate[do not print out ref names of any commits that are shown]' - '( --no-follow)--follow[follow renames]' - '(--follow )--no-follow[do not follow renames]' - '--source[show which ref each commit is reached from]' - '*-L+[trace evolution of line range, function or regex within a file]: :_git_log_line_ranges' - ) -} - -(( $+functions[__git_ws_error_highlight] )) || -__git_ws_error_highlight() { - _values -s , "kind of line" all default none context old new -} - -(( $+functions[__git_color_moved] )) || -__git_color_moved() { - local -a __git_color_moved=( - no:"do not highlight moved lines" - default:"like zebra" - plain:"highlight moved lines with color" - blocks:"greedily detect blocks of moved text of at least 20 characters" - zebra:"like blocks, with alternating colors between different blocks" - dimmed-zebra:"like zebra, uninteresting parts are dimmed" - ) - _describe "mode" __git_color_moved -} - -(( $+functions[__git_color_movedws] )) || -__git_color_movedws() { - _sequence compadd - no ignore-space-at-eol ignore-space-change ignore-all-space allow-indentation-change -} - -(( $+functions[__git_setup_diff_options] )) || -__git_setup_diff_options () { - # According to Git: "fatal: --name-only, --name-status, --check and -s are mutually exclusive" - local exclusive_diff_options='(--name-only --name-status --check -s --no-patch)' - - diff_options=( - {-p,-u,--patch}'[generate diff in patch format]' - {-U,--unified=}'[generate diff with given lines of context]: :__git_guard_number lines' - '--raw[generate default raw diff output]' - '--patch-with-raw[generate patch but also keep the default raw diff output]' - $exclusive_diff_options{-s,--no-patch}'[suppress diff output]' - '(--minimal --patience --histogram --diff-algorithm)--minimal[spend extra time to make sure the smallest possible diff is produced]' - '(--minimal --patience --histogram --diff-algorithm)--patience[generate diffs with patience algorithm]' - '(--minimal --patience --histogram --diff-algorithm)--histogram[generate diffs with histogram algorithm]' - '(--minimal --patience --histogram --diff-algorithm)*--anchored=[generate diffs using the "anchored diff" algorithm]:text' - '(--minimal --patience --histogram --diff-algorithm)--diff-algorithm=[choose a diff algorithm]:diff algorithm:((default\:"basic greedy diff algorithm" - myers\:"basic greedy diff algorithm" - minimal\:"spend extra time to make sure the smallest possible diff is produced" - patience\:"generate diffs with patience algorithm" - histogram\:"generate diffs with histogram algorithm"))' - '--stat=-[generate diffstat instead of patch]:: :__git_guard_diff-stat-width' - '--stat-width=-[generate diffstat with a given width]:width' - '--stat-graph-width=-[generate diffstat with a given graph width]:width' - '--stat-count=[generate diffstat with limited lines]:lines' - '--compact-summary[generate compact summary in diffstat]' - '--numstat[generate more machine-friendly diffstat]' - '--shortstat[generate summary diffstat]' - '--dirstat=-[generate dirstat by amount of changes]:: :_git_dirstat_params' - '--cumulative[synonym for --dirstat=cumulative]' - '--dirstat-by-file=-[generate dirstat by number of files]:: :__git_guard_number limit' - '--summary[generate condensed summary of extended header information]' - '--patch-with-stat[generate patch and prepend its diffstat]' - '-z[use NUL termination on output]' - $exclusive_diff_options'--name-only[show only names of changed files]' - $exclusive_diff_options'--name-status[show only names and status of changed files]' - '--submodule=-[select output format for submodule differences]::format:((short\:"show pairs of commit names" - log\:"list commits like git submodule does" - diff\:"show differences"))' - '( --no-color --color-words --color-moved)--color=-[show colored diff]:: :__git_color_whens' - '(--color --color-words --color-moved)--no-color[turn off colored diff]' - '--word-diff=-[show word diff]::mode:((color\:"highlight changed words using color" - plain\:"wrap deletions and insertions with markers" - porcelain\:"use special line-based format for scripts" - none\:"disable word diff"))' - '--word-diff-regex=-[specify what constitutes a word]:word regex' - '(--color --no-color )--color-words=-[show colored-word diff]::word regex' - '(--color --no-color )--color-moved=-[color moved lines differently]::mode:__git_color_moved' - '(--no-color-moved-ws)--color-moved-ws=[configure how whitespace is ignored when performing move detection for --color-moved]:mode:__git_color_movedws' - "(--color-moved-ws)--no-color-moved-ws=[don't ignore whitespace when performing move detection]" - "--ita-invisible-in-index[hide 'git add -N' entries from the index]" - "!(--ita-invisible-in-index)--ita-visible-in-index" - '--no-renames[turn off rename detection]' - $exclusive_diff_options'--check[warn if changes introduce trailing whitespace or space/tab indents]' - '--full-index[show full object name of pre- and post-image blob]' - '(--full-index)--binary[in addition to --full-index, output binary diffs for git-apply]' - '--ws-error-highlight=[specify where to highlight whitespace errors]: :__git_ws_error_highlight' - '--abbrev=[use specified digits to display object names]:digits' - '(-B --break-rewrites)'{-B-,--break-rewrites=-}'[break complete rewrite changes into pairs of given size]:: :__git_guard_number size' - '(-M --find-renames)'{-M-,--find-renames=-}'[detect renames with given scope]:: :__git_guard_number size' - '(-C --find-copies)'{-C-,--find-copies=-}'[detect copies as well as renames with given scope]:: :__git_guard_number size' - '--find-copies-harder[try harder to find copies]' - '(-D --irreversible-delete)'{-D,--irreversible-delete}'[omit the preimage for deletes]' - '--rename-empty[use empty blobs as rename source]' - '--follow[continue listing the history of a file beyond renames]' - '-l-[limit number of rename/copy targets to run]: :__git_guard_number' - '--diff-filter=-[select certain kinds of files for diff]: :_git_diff_filters' - '-S-[look for differences that add or remove the given string]:string' - '-G-[look for differences whose added or removed line matches the given regex]:pattern' - '--pickaxe-all[when -S finds a change, show all changes in that changeset]' - '--pickaxe-regex[treat argument of -S as regular expression]' - '-O-[output patch in the order of glob-pattern lines in given file]: :_files' - '--rotate-to=[show the change in specified path first]:path:_directories' - '--skip-to=[skip the output to the specified path]:path:_directories' - '--find-object=[look for differences that change the number of occurrences of specified object]:object:__git_blobs' - '-R[do a reverse diff]' - '--relative=-[exclude changes outside and output relative to given directory]:: :_directories' - '(-a --text)'{-a,--text}'[treat all files as text]' - '--ignore-space-at-eol[ignore changes in whitespace at end of line]' - '--ignore-cr-at-eol[ignore carriage-return at end of line]' - '(-b --ignore-space-change -w --ignore-all-space)'{-b,--ignore-space-change}'[ignore changes in amount of white space]' - '(-b --ignore-space-change -w --ignore-all-space)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' - '--ignore-blank-lines[ignore changes whose lines are all blank]' - \*{-I+,--ignore-matching-lines=}'[ignore changes whose lines all match regex]:regex' - '--no-indent-heuristic[disable heuristic that shifts diff hunk boundaries to make patches easier to read]' - '--inter-hunk-context=[combine hunks closer than N lines]:number of lines' - '--output-indicator-new=[specify the character to indicate a new line]:character [+]' - '--output-indicator-old=[specify the character to indicate a old line]:character [-]' - '--output-indicator-context=[specify the character to indicate a context line]:character [ ]' - '--exit-code[report exit code 1 if differences, 0 otherwise]' - '( --no-ext-diff)--ext-diff[allow external diff helper to be executed]' - '(--ext-diff )--no-ext-diff[disallow external diff helper to be executed]' - '(--textconv --no-textconv)--textconv[allow external text conversion filters to be run when comparing binary files]' - '(--textconv --no-textconv)--no-textconv[do not allow external text conversion filters to be run when comparing binary files]' - '--ignore-submodules[ignore changes to submodules]:: :__git_ignore_submodules_whens' - '(--no-prefix)--src-prefix=[use given prefix for source]:prefix' - '(--no-prefix)--dst-prefix=[use given prefix for destination]:prefix' - '--line-prefix=[prepend additional prefix to every line of output]:prefix' - '(--src-prefix --dst-prefix)--no-prefix[do not show any source or destination prefix]' - '(-c --cc)'{-c,--cc}'[combined diff format for merge commits]' - '--output=[output to a specific file]: :_files') -} - -(( $+functions[__git_setup_diff_stage_options] )) || -__git_setup_diff_stage_options () { - diff_stage_options=( - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-1,--base}'[diff against "base" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-2,--ours}'[diff against "our branch" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-3,--theirs}'[diff against "their branch" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)-0[omit diff output for unmerged entries]' - ) -} - -(( $+functions[__git_format_placeholders] )) || -__git_format_placeholders() { - local sep - local -a disp names placeholders expl - _describe -t formats format '( oneline:"<hash> <title>" - short:"commit hash plus author and title headers" - medium:"like short plus author date header and full message" - full:"like medium with committer header instead of date" - fuller:"like full plus author and commit date headers" - reference:"<abbrev hash> (<title>, <short author date>)" - email:"email patch format" - mboxrd:"like email with From lines in message quoted with >" - raw:"entire commit object" )' -- '( format:"specify own format" )' -S ':' && return - compset -P 'format:' - compset -P '(%[^acgCG]|%?[^%]|[^%])#' - if compset -P '%C'; then - _wanted colors expl color compadd reset red green blue - return - fi - if [[ -prefix %G ]]; then - placeholders=( - 'GG:raw verification message' - 'G?:indicate [G]ood, [B]ad, [U]ntrusted or [N]o signature' - 'GS:name of signer' - 'GK:signing key' - 'GF:fingerprint of signing key' - 'GP:fingerprint of primary key whose subkey was used to sign' - ) - disp=( -l ) - elif [[ -prefix %g ]]; then - placeholders=( - gD:'reflog selector' - gd:'short reflog selector' - gn:'reflog identity' - gN:'reflog identity name' - ge:'reflog identity email' - gE:'reflog identity email (use .mailmap)' - gs:'reflog subject' - ) - disp=( -l ) - elif [[ $PREFIX = (#b)%([ac]) ]]; then - placeholders=( - n:'name' - N:'name (use .mailmap)' - e:'email' - E:'email (use .mailmap)' - d:'date' - D:'date, RFC2822 style' - r:'date, relative' - t:'date, UNIX timestamp' - i:'date, like ISO 8601' - I:'date, strict ISO 8601' - ) - placeholders=( $match[1]$^placeholders ) - else - placeholders=( - H:commit\ hash - h:'abbreviated commit hash' - T:'tree hash' - t:'abbreviated tree hash' - P:'parent hashes' - p:'abbreviated parent hashes' - a:'author details' - c:'committer details' - d:'ref name in brackets' - D:'ref name' - S:'ref name used to reach commit' - e:encoding - s:subject - f:'sanitized subject' - g:reflog - b:body - B:'raw body' - N:notes - G:GPG\ details - C:color - m:mark - n:newline - %:raw\ % - x:'hex code' - w:'switch line wrapping' - ) - fi - names=( ${placeholders%%:*} ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a placeholders " $sep " $placeholders - disp+=(-d placeholders) - else - disp=() - fi - _wanted placeholders expl placeholder \ - compadd -p % -S '' "$disp[@]" "$@" - "$names[@]" -} - -(( $+functions[__git_setup_revision_options] )) || -__git_setup_revision_options () { - local -a diff_options - __git_setup_diff_options - - revision_options=( - $diff_options - '(-v --header)'{--pretty=-,--format=-}'[pretty print commit messages]::format:__git_format_placeholders' - '(--abbrev-commit --no-abbrev-commit)--abbrev-commit[show only partial prefixes of commit object names]' - '(--abbrev-commit --no-abbrev-commit)--no-abbrev-commit[show the full 40-byte hexadecimal commit object name]' - '(--abbrev --no-abbrev)--no-abbrev[show the full 40-byte hexadecimal commit object name]' - '--oneline[shorthand for --pretty=oneline --abbrev-commit]' - '--encoding=-[output log messages in given encoding]:: :__git_encodings' - '(--no-notes --notes)--no-notes[do not show notes that annotate commit]' - '(--no-notes )*--notes=[show notes that annotate commit, with optional ref argument show this notes ref instead of the default notes ref(s)]:: :__git_notes_refs' - '--show-signature[validate GPG signature of commit]' - '( --date)--relative-date[show dates relative to current time]' - '(--relative-date )--date=-[format of date output]: :__git_date_formats' - '--parents[display parents of commit]' - '--children[display children of commit]' - '--left-right[mark which side of symmetric diff commit is reachable from]' - '(--show-linear-break )--graph[display graphical representation of commit history]' - '( --graph)--show-linear-break=[show a barrier between commits from different branches]:barrier' - '--count[display how many commits would have been listed]' - '(-n --max-count)'{-n+,--max-count=}'[maximum number of commits to display]: :__git_guard_number' - '--skip=[skip given number of commits before output]: :__git_guard_number' - '(--max-age --since --after)'{--since=,--after=}'[show commits more recent than given date]:date' - '(--min-age --until --before)'{--until=,--before=}'[show commits older than given date]: :__git_guard_number timestamp' - '( --since --after)--max-age=-[maximum age of commits to output]: :__git_guard_number timestamp' - '( --until --before)--min-age[minimum age of commits to output]: :__git_guard_number timestamp' - '*--author=[limit commits to those by given author]:author' - '*--committer=[limit commits to those by given committer]:committer' - '*--grep=[limit commits to those with log messages matching the given pattern]:pattern' - '--all-match[limit commits to those matching all --grep, --author, and --committer]' - '--invert-grep[limit commits to those not matching --grep, --author and --committer]' - '(-i --regexp-ignore-case)'{-i,--regexp-ignore-case}'[match regexps ignoring case]' - '!(-E --extended-regexp -F --fixed-strings -P --perl-regexp)--basic-regexp' - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-E,--extended-regexp}'[use POSIX extended regexps]' - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-F,--fixed-strings}"[don't interpret patterns as regexps]" - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-P,--perl-regexp}'[use perl regular expression]' - '--remove-empty[stop when given path disappears from tree]' - '(--no-merges --min-parents)--merges[display only merge commits]' - "(--merges --max-parents)--no-merges[don't display commits with more than one parent]" - '(--min-parents --no-min-parents --merges)--min-parents=-[show only commits with at least specified number of commits]: :__git_guard_number "number of parents"' - '(--min-parents --no-min-parents --merges)--no-min-parents[reset limit]' - '(--max-parents --no-max-parents --no-merges)--max-parents=-[show only commits with at most specified number of commits]: :__git_guard_number "number of parents"' - '(--max-parents --no-max-parents)--no-max-parents[reset limit]' - '--first-parent[follow only first parent from merge commits]' - '*--not[reverses meaning of ^ prefix for revisions that follow]' - '--all[show all commits from refs]' - '--branches=-[show all commits from refs/heads]::pattern' - '--tags=-[show all commits from refs/tags]::pattern' - '--remotes=-[show all commits from refs/remotes]::pattern' - '--glob=[show all commits from refs matching glob]:pattern' - '--exclude=[do not include refs matching glob]:pattern' - '--exclude=[do not include refs matching glob]:pattern' - '--ignore-missing[ignore invalid object an ref names on command line]' - '--bisect[pretend as if refs/bisect/bad --not refs/bisect/good-* was given on command line]' - '(-g --walk-reflogs --reverse)'{-g,--walk-reflogs}'[walk reflog entries from most recent to oldest]' - '--grep-reflog=[limit commits to ones whose reflog message matches the given pattern (with -g, --walk-reflogs)]:pattern' - '--merge[after a failed merge, show refs that touch files having a conflict]' - '--boundary[output uninteresting commits at boundary]' - '--simplify-by-decoration[show only commits that are referenced by a ref]' - '( --dense --sparse --simplify-merges --ancestry-path)--full-history[do not prune history]' - '(--full-history --sparse --simplify-merges --ancestry-path)--dense[only display selected commits, plus meaningful history]' - '(--full-history --dense --simplify-merges --ancestry-path)--sparse[when paths are given, display only commits that changes any of them]' - '(--full-history --dense --sparse --ancestry-path)--simplify-merges[milder version of --full-history]' - '(--full-history --dense --sparse --simplify-merges )--ancestry-path[only display commits that exists directly on ancestry chains]' - '( --date-order --author-date-order)--topo-order[display commits in topological order]' - '(--topo-order --author-date-order)--date-order[display commits in date order]' - '(--topo-order --date-order )--author-date-order[display commits in author date order]' - '(-g --walk-reflogs)--reverse[display commits in reverse order]' - '( --objects-edge)--objects[display object ids of objects referenced by listed commits]' - '(--objects )--objects-edge[display object ids of objects referenced by listed and excluded commits]' - "( --do-walk)--no-walk=-[only display given revs, don't traverse their ancestors]::order:(sorted unsorted)" - '(--no-walk )--do-walk[only display given revs, traversing their ancestors]' - '( --cherry-pick)--cherry-mark[like --cherry-pick but mark equivalent commits instead of omitting them]' - '(--cherry-pick )--cherry-pick[omit any commit that introduces the same change as another commit on "the other side" of a symmetric range]' - '( --right-only)--left-only[list only commits on the left side of a symmetric range]' - '(--left-only )--right-only[list only commits on the right side of a symmetric range]' - '(--left-only --right-only --cherry-pick --cherry-mark --no-merges --merges --max-parents)--cherry[synonym for --right-only --cherry-mark --no-merges]' - '(-c --cc )--full-diff[show full commit diffs when using log -p, not only those affecting the given path]' - '--log-size[print log message size in bytes before the message]' - --{use-,}mailmap'[use mailmap file to map author and committer names and email]' - - '--reflog[show all commits from reflogs]' - '--single-worktree[examine the current working tree only]' - '--stdin[additionally read commits from standard input]' - '--default[use argument as default revision]:default revision:__git_revisions' - # TODO: --early-output is undocumented. - '--early-output=-[undocumented]::undocumented' - ) - - if (( words[(I)--objects(|-edge)] )); then - revision_options+=('--unpacked[print object IDs not in packs]') - fi -} - -(( $+functions[__git_setup_merge_options] )) || -__git_setup_merge_options () { - merge_options=( - '( --no-commit)--commit[perform the merge and commit the result]' - '(--commit )--no-commit[perform the merge but do not commit the result]' - '( --no-edit -e)--edit[open an editor to change the commit message]' - "(--edit -e)--no-edit[don't open an editor to change the commit message]" - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' - '( --no-ff)--ff[do not generate a merge commit if the merge resolved as a fast-forward]' - '(--ff )--no-ff[generate a merge commit even if the merge resolved as a fast-forward]' - '( --no-log)--log=-[add entries from shortlog to merge commit message]::entries to add' - '(--log )--no-log[do not list one-line descriptions of the commits being merged in the log message]' - '(-n --no-stat)--stat[show a diffstat at the end of the merge]' - '(--stat -n --no-stat)'{-n,--no-stat}'[do not show diffstat at the end of the merge]' - '( --no-squash)--squash[merge, but do not commit]' - '--autostash[automatically stash/stash pop before and after]' - '--signoff[add Signed-off-by: trailer]' - '(--squash )--no-squash[merge and commit]' - '--ff-only[refuse to merge unless HEAD is up to date or merge can be resolved as a fast-forward]' - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" - '*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' - '(--verify-signatures)--verify-signatures[verify the commits being merged or abort]' - '(--no-verify-signatures)--no-verify-signatures[do not verify the commits being merged]' - '(-q --quiet -v --verbose)'{-q,--quiet}'[suppress all output]' - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' - '--allow-unrelated-histories[allow merging unrelated histories]' - ) -} - -(( $+functions[__git_setup_fetch_options] )) || -__git_setup_fetch_options () { - fetch_options=( - '(: * -m --multiple)--all[fetch all remotes]' - '(-a --append)'{-a,--append}'[append ref names and object names of fetched refs to "$GIT_DIR/FETCH_HEAD"]' - '(-j --jobs)'{-j+,--jobs=}'[specify number of submodules fetched in parallel]:jobs' - '--depth=[deepen the history of a shallow repository by the given number of commits]: :__git_guard_number depth' - '--unshallow[convert a shallow clone to a complete one]' - '--update-shallow[accept refs that update .git/shallow]' - '--refmap=[specify refspec to map refs to remote tracking branches]:refspec' - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' - '--dry-run[show what would be done, without making any changes]' - '(-f --force)'{-f,--force}'[force overwrite of local reference]' - '(-k --keep)'{-k,--keep}'[keep downloaded pack]' - '(-p --prune)'{-p,--prune}'[remove any remote tracking branches that no longer exist remotely]' - '(--no-tags -t --tags)'{-t,--tags}'[fetch remote tags]' - '(-u --update-head-ok)'{-u,--update-head-ok}'[allow updates of current branch head]' - '--upload-pack=[specify path to git-upload-pack on remote side]:remote path' - '(--no-recurse-submodules --recurse-submodules)--recurse-submodules=-[specify when to fetch commits of submodules]::recursive fetching mode:((no\:"disable recursion" - yes\:"always recurse" - on-demand\:"only when submodule reference in superproject is updated"))' - '(--no-recurse-submodules --recurse-submodules)--no-recurse-submodules[disable recursive fetching of submodules]' - '(--no-recurse-submodules)--recurse-submodules-default=-[provide internal temporary non-negative value for "--recurse-submodules"]::recursive fetching mode:((yes\:"always recurse" - on-demand\:"only when submodule reference in superproject is updated"))' - '--submodule-prefix=-[prepend <path> to paths printed in informative messages]:submodule prefix path:_files -/' - '(-q --quiet -v --verbose --progress)'{-q,--quiet}'[suppress all output]' - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' - '(-q --quiet)--progress[force progress reporting]' - '--show-forced-updates[check for forced-updates on all updated branches]' - '--set-upstream[set upstream for git pull/fetch]' - '--shallow-since=[deepen history of shallow repository based on time]:time' \ - '*--shallow-exclude=[deepen history of shallow clone by excluding revision]:revision' \ - '--deepen[deepen history of shallow clone]:number of commits' \ - \*{-o+,--server-option=}'[send specified string to the server when using protocol version 2]:option' - '--negotiation-tip=[only report refs reachable from specified object to the server]:commit:__git_commits' \ - ) -} - -(( $+functions[__git_setup_apply_options] )) || -__git_setup_apply_options () { - apply_options=( - '--whitespace=[detect a new or modified line that ends with trailing whitespaces]: :__git_apply_whitespace_strategies' - '-p-[remove N leading slashes from traditional diff paths]: :_guard "[[\:digit\:]]#" "number of slashes to remove"' - '-C-[ensure at least N lines of context match before and after each change]: :_guard "[[\:digit\:]]#" "number of lines of context"' - '--reject[apply hunks that apply and leave rejected hunks in .rej files]' - '(--ignore-space-change --ignore-whitespace)'{--ignore-space-change,--ignore-whitespace}'[ignore changes in whitespace in context lines]' - '--directory=[root to prepend to all filenames]:root:_directories' - '*--exclude=[skip files matching specified pattern]:pattern' - '*--include=[include files matching specified pattern]:pattern' - ) -} - -# Git Config Helpers - -(( $+functions[__git_config_get_regexp] )) || -__git_config_get_regexp () { - declare -A opts - - zparseopts -A opts -D b: a: - [[ -n $opts[-b] ]] || opts[-b]='*.' - [[ -n $opts[-a] ]] || opts[-a]='.[^.]##' - [[ $1 == -- ]] && shift - - set -A $2 ${${${(0)"$(_call_program ${3:-$2} "git config -z --get-regexp -- ${(q)1}")"}#${~opts[-b]}}%%${~opts[-a]}$'\n'*} -} - -(( $+functions[__git_config_sections] )) || -__git_config_sections () { - declare -a opts - local regex tag desc - local -a groups - - zparseopts -a opts -D b: a: - regex=$1 - tag=$2 - desc=$3 - shift 3 - - __git_config_get_regexp $opts -- $regex groups $tag - # TODO: Should escape : with \: in groups. - _describe -t $tag $desc groups $* -} - -# __git_config_booleans [-t TAG] [-l LABEL] CURRENT DEFAULT DESCRIPTION [OTHER]... -# -# -t can be used to specify a tag to use (default: booleans). -# -l can be used to specify a label to use (default: boolean). -# -# The first argument is the current value, so that the description of the -# current value can be suffixed with " (current)". -# -# The second argument is the default value, so that the description of the -# default value can be suffixed with " (default)". -# -# The third argument is the description to use for the true and false values. -# -# The rest of the arguments can be used to provide additional "boolean" values -# that should be included. They should be of the form that _describe expects. -(( $+functions[__git_config_booleans] )) || -__git_config_booleans () { - local tag label current default description - declare -a booleans - - zparseopts -D t=tag l=label - current=$1 - default=${2:-true} - description=$3 - shift 3 - booleans=( - {true,yes,on}":$description" - {false,no,off}":do not $description" - $*) - - __git_config_values -t ${tag:-booleans} -l ${label:-boolean} -- "$current" $default $booleans -} - -# __git_config_values [-t TAG] [-l LABEL] CURRENT DEFAULT [VALUES]... -# -# -t can be used to specify a tag to use (default: values). -# -l can be used to specify a label to use (default: value). -# -# The first argument is the current value, so that the description of the -# current value can be suffixed with " (current)". -# -# The second argument is the default value, so that the description of the -# default value can be suffixed with " (default)". -# -# The rest of the arguments are values of the form VALUE:DESCRIPTION to be -# passed to _describe. -(( $+functions[__git_config_values] )) || -__git_config_values () { - declare -A opts - local current default key - declare -a values - - zparseopts -A opts -D t: l: - [[ $1 == -- ]] && shift - current=$1 - default=$2 - shift 2 - values=($*) - [[ -n $current ]] && values[(r)$(__git_pattern_escape $current):*]+=' (current)' - values[(r)$(__git_pattern_escape $default):*]+=' (default)' - - _describe -t ${opts[-t]:-values} ${opts[-l]:-value} values -} - -# Git Config Sections and Types -(( $+functions[__git_browsers] )) || -__git_browsers () { - local expl - declare -a userbrowsers builtinbrowsers - - __git_config_get_regexp '^browser\..+\.cmd$' userbrowsers - builtinbrowsers=( - firefox - iceweasel - seamonkey - iceape - google-chrome - chrome - chromium - konquerer - opera - w3m - elinks - links - lynx - dillo - open - start - cygstart - xdg-open) - - _alternative \ - 'user-browsers:user-defined browser:compadd -a - userbrowsers' \ - 'builtin-browsers:builtin browser:compadd -a - builtinbrowsers' -} - -__git_worktrees () { - local -a records=( ${(ps.\n\n.)"$(_call_program directories git worktree list --porcelain)"} ) - local -a directories descriptions - local i hash branch - for i in $records; do - directories+=( ${${i%%$'\n'*}#worktree } ) - hash=${${${"${(f)i}"[2]}#HEAD }[1,9]} - branch=${${"${(f)i}"[3]}#branch refs/heads/} - - # Simulate the non-porcelain output - if [[ $branch == detached ]]; then - # TODO: show a ref that points at $hash here, like vcs_info does? - branch="(detached HEAD)" - else - branch="[$branch]" - fi - - descriptions+=( "${directories[-1]}"$'\t'"$hash $branch" ) - done - _wanted directories expl 'working tree' compadd -ld descriptions -S ' ' -f -M 'r:|/=* r:|=*' -a directories -} - -(( $+functions[__git_difftools] )) || -__git_difftools () { - __git_diff-or-merge-tools diff $* -} - -(( $+functions[__git_diff-or-merge-tools] )) || -__git_diff-or-merge-tools () { - local type=$1; shift - integer ret=1 - local expl - declare -a userdifftools usermergetools builtintools builtindifftools builtinmergetools - - [[ $type == diff ]] && __git_config_get_regexp '^difftool\..+\.cmd$' userdifftools - __git_config_get_regexp '^mergetool\..+\.cmd$' usermergetools - builtintools=( - araxis - bc - bc3 - codecompare - deltawalker - diffmerge - diffuse - ecmerge - emerge - examdiff - guiffy - gvimdiff - gvimdiff2 - gvimdiff3 - kdiff3 - meld - opendiff - p4merge - tkdiff - tortoisemerge - smerge - vimdiff - vimdiff2 - vimdiff3 - winmerge - xxdiff) - - builtindifftools=($builtintools kompare) - builtinmergetools=($builtintools tortoisemerge) - - case $type in - (diff) _tags user-difftools builtin-difftools user-mergetools ;; - (merge) _tags user-mergetools builtin-mergetools ;; - esac - - while _tags; do - _requested user-difftools expl 'user-defined difftool' compadd "$@" -a - userdifftools && ret=0 - _requested user-mergetools expl 'user-defined mergetool' compadd "$@" -a - usermergetools && ret=0 - _requested builtin-difftools expl 'builtin difftool' compadd "$@" -a - builtindifftools && ret=0 - _requested builtin-mergetools expl 'builtin mergetool' compadd "$@" -a - builtinmergetools && ret=0 - - (( ret )) || break - done - - return ret -} - -(( $+functions[__git_mergetools] )) || -__git_mergetools () { - __git_diff-or-merge-tools merge $* -} - -(( $+functions[__git_merge_drivers] )) || -__git_merge_drivers () { - __git_config_sections '^merge\..+\.name$' merge-drivers 'merge driver' $* -} - -(( $+functions[__git_builtin_merge_drivers] )) || -__git_builtin_merge_drivers () { - local -a builtin_merge_drivers - builtin_merge_drivers=( - text:'normal 3-way file-level merge for text files' - binary:'binary file merge driver' - union:'run 3-way file-levele merge with lines from both versions') - _describe -t builtin-merge-drivers 'builtin merge driver' builtin_merge_drivers $* -} - -(( $+functions[__git_man_viewers] )) || -__git_man_viewers () { - # TODO: Add support for standard commands. - __git_config_sections '^man\..+\.cmd$' man-viewers 'man viewer' $* -} - -(( $+functions[__git_svn-remotes] )) || -__git_svn-remotes () { - __git_config_sections -a '(|)' '^svn-remote\..+$' svn-remotes 'svn remote' $* -} - -(( $+functions[__git_remote-groups] )) || -__git_remote-groups () { - __git_config_sections -a '(|)' '^remotes\..+$' remotes-groups 'remotes group' $* -} - -(( $+functions[__git_remotes_groups] )) || -__git_remotes_groups () { - local expl - - _wanted remotes-groups expl 'remotes group' \ - compadd $* - ${${${(0)"$(_call_program remotes-groups git config --get-regexp -z '"^remotes\..*$"')"}%%$'\n'*}#remotes.} - -} - -(( $+functions[__git_sendemail_identities] )) || -__git_sendemail_identities () { - __git_config_sections '^sendemail\..+\.[^.]+$' identities 'sendemail identity' $* -} - -(( $+functions[__git_sendemail_smtpencryption_values] )) || -__git_sendemail_smtpencryption_values () { - __git_config_values -- "$current" "$parts[5]" \ - ssl:'use SSL' \ - tls:'use TLS' -} - -(( $+functions[__git_sendemail_confirm_values] )) || -__git_sendemail_confirm_values () { - __git_config_values -- "$current" "$parts[5]" \ - always:'always confirm before sending' \ - never:'never confirm before sending' \ - cc:'confirm before sending to automatically added Cc-addresses' \ - compose:'confirm before sending first message when using --compose' \ - auto:'same as cc together with compose' -} - -(( $+functions[__git_sendemail_suppresscc_values] )) || -__git_sendemail_suppresscc_values () { - __git_config_values -- "$current" "$parts[5]" \ - author:'avoid including patch author' \ - self:'avoid including sender' \ - cc:'avoid including anyone mentioned in Cc lines except for self' \ - bodycc:'avoid including anyone mentioned in Cc lines in patch body except for self' \ - sob:'avoid including anyone mentioned in Signed-off-by lines except for self' \ - cccmd:'avoid running --cc-cmd' \ - tocmd:'avoid running --to-cmd' \ - body:'equivalent to sob + bodycc' \ - misc-by:'avoid including anyone mentioned in various "-by" lines in the patch body' \ - all:'avoid all auto Cc values' -} - -(( $+functions[__git_sendmail_smtpserver_values] )) || -__git_sendmail_smtpserver_values() { - _alternative "hosts:smtp host:_hosts" "commands: :_absolute_command_paths" -} - -(( $+functions[__git_colors] )) || -__git_colors () { - declare -a expl - - _wanted colors expl color compadd "$@" - \ - black red green yellow blue magenta cyan white -} - -(( $+functions[__git_color_attributes] )) || -__git_color_attributes () { - declare -a expl - - _wanted attributes expl attribute compadd "$@" - \ - bold dim ul blink reverse -} - -# Now, for the main drive... -_git() { - if (( CURRENT > 2 )); then - local -a aliases - local -A git_aliases - local a k v - local endopt='!(-)--end-of-options' - aliases=(${(0)"$(_call_program aliases git config -z --get-regexp '\^alias\\.')"}) - for a in ${aliases}; do - k="${${a/$'\n'*}/alias.}" - v="${a#*$'\n'}" - git_aliases[$k]="$v" - done - - if (( $+git_aliases[$words[2]] && !$+commands[git-$words[2]] && !$+functions[_git-$words[2]] )); then - local -a tmpwords expalias - expalias=(${(z)git_aliases[$words[2]]}) - tmpwords=(${words[1]} ${expalias}) - if [[ -n "${words[3,-1]}" ]] ; then - tmpwords+=(${words[3,-1]}) - fi - [[ -n ${words[$CURRENT]} ]] || tmpwords+=('') - (( CURRENT += ${#expalias} - 1 )) - words=("${tmpwords[@]}") - unset tmpwords expalias - fi - - unset git_aliases aliases - fi - - integer ret=1 - - if [[ $service == git ]]; then - local curcontext=$curcontext state line - declare -A opt_args - - # TODO: This needs an update - # TODO: How do we fix -c argument? - _arguments -C \ - '(- :)--version[display version information]' \ - '(- :)--help[display help message]' \ - '-C[run as if git was started in given path]: :_directories' \ - \*{-c,--config-env=}'[pass configuration parameter to command]: :->configuration' \ - '--exec-path=-[path containing core git-programs]:: :_directories' \ - '(: -)--man-path[print the manpath for the man pages for this version of Git and exit]' \ - '(: -)--info-path[print the path where the info files are installed and exit]' \ - '(: -)--html-path[display path to HTML documentation and exit]' \ - '(-p --paginate -P --no-pager)'{-p,--paginate}'[pipe output into a pager]' \ - '(-p --paginate -P --no-pager)'{-P,--no-pager}"[don't pipe git output into a pager]" \ - '--git-dir=[path to repository]: :_directories' \ - '--work-tree=[path to working tree]: :_directories' \ - '--namespace=[set the Git namespace]:namespace' \ - '--super-prefix=[set a prefix which gives a path from above a repository down to its root]:path:_directories' \ - '--bare[use $PWD as repository]' \ - '--no-replace-objects[do not use replacement refs to replace git objects]' \ - '--literal-pathspecs[treat pathspecs literally, rather than as glob patterns]' \ - '(-): :->command' \ - '(-)*:: :->option-or-argument' && return - - case $state in - (command) - _git_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:git-$words[1]: - (( $+opt_args[--git-dir] )) && local -x GIT_DIR=${(Q)${~opt_args[--git-dir]}} - (( $+opt_args[--work-tree] )) && local -x GIT_WORK_TREE=${(Q)${~opt_args[--work-tree]}} - if ! _call_function ret _git-$words[1]; then - if [[ $words[1] = \!* ]]; then - words[1]=${words[1]##\!} - _normal && ret=0 - elif zstyle -T :completion:$curcontext: use-fallback; then - _default && ret=0 - else - _message "unknown sub-command: $words[1]" - fi - fi - ;; - (configuration) - if compset -P 1 '*='; then - __git_config_value && ret=0 - else - if compset -S '=*'; then - __git_config_option && ret=0 # don't move cursor if we completed just the "foo." in "foo.bar.baz=value" - compstate[to_end]='' - else - __git_config_option -S '=' && ret=0 - fi - fi - ;; - esac - else - _call_function ret _$service - fi - - return ret -} - -# Load any _git-* definitions so that they may be completed as commands. -declare -gA _git_third_party_commands -_git_third_party_commands=() - -local file input -for file in ${^fpath}/_git-*~(*~|*.zwc)(-.N); do - local name=${${file:t}#_git-} - if (( $+_git_third_party_commands[$name] )); then - continue - fi - - local desc= - integer i=1 - while read input; do - if (( i == 2 )); then - if [[ $input == '#description '* ]]; then - desc=:${input#\#description } - fi - break - fi - (( i++ )) - done < $file - - _git_third_party_commands+=([$name]=$desc) -done - -_git diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git-buildpackage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git-buildpackage deleted file mode 100644 index 81bf7dac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_git-buildpackage +++ /dev/null @@ -1,43 +0,0 @@ -#compdef git-buildpackage -#description build Debian packages from a git repository - -_arguments \ - '--version[show program version number and exit]' \ - '--help[show help message and exit]' \ - '--git-ignore-new[build with uncommitted changes in the source tree]' \ - '--git-no-ignore-new[negates --git-ignore-new]' \ - '--git-verbose[verbose command execution]' \ - '--git-tag[create a tag after a successful build]' \ - '--git-tag-only[do not build, only tag and run the posttag hook]' \ - '--git-retag[do not fail if the tag already exists]' \ - '--git-sign-tags[sign tags]' \ - '--git-no-sign-tags[negates --git-sign-tags]' \ - '--git-keyid=-[GPG keyid to sign tags with]:GPG key:' \ - '--git-debian-tag=-[format string for debian tags]:format string [debian/%%(version)s]' \ - '--git-upstream-tag=-[format string for upstream tags]:format string [upstream/%%(version)s]' \ - '--git-pristine-tar[use pristine-tar to create .orig.tar.gz]' \ - '--git-no-pristine-tar[negates --git-pristine-tar]' \ - '--git-force-create[force creation of orig.tar.gz]' \ - '--git-no-create-orig[do not create orig.tar.gz]' \ - '--git-tarball-dir=-[location to look for external tarballs]:tarball directory:_files -/' \ - '--git-compression=-[compression type]:compression type [auto]:(auto gzip bzip2 lzma xz)' \ - '--git-compression-level=-[set compression level]:level:(1 2 3 4 5 6 7 8 9)' \ - '--git-upstream-branch=-[upstream branch]::' \ - '--git-debian-branch=-[branch the Debian package is being developed on]::' \ - '--git-ignore-branch[build although debian-branch != current branch]' \ - '--git-no-ignore-branch[negates --git-ignore-branch]' \ - '--git-builder=-[command to build the Debian package]:command:' \ - '--git-cleaner=-[command to clean the working copy]:command:' \ - '--git-prebuild=-[command to run before a build]:command:' \ - '--git-postbuild=-[hook run after a successful build]:command:' \ - '--git-posttag=-[hook run after a successful tag operation]:command:' \ - '--git-pbuilder[invoke git-pbuilder for building]' \ - '--git-no-pbuilder[negates --git-pbuilder]' \ - '--git-dist=-[build for this distribution when using git-pbuilder]:distribution:' \ - '--git-arch=-[build for this architecture when using git-pbuilder]:architecture:' \ - '--git-export-dir=-[before building the package export the source into this directory]:directory:_files -/' \ - '--git-export=-[export treeish object instead of HEAD]:treeish:' \ - '--git-dont-purge[retain exported package build directory]' \ - '--git-overlay[extract orig tarball when using export-dir option]' \ - '--git-no-overlay[negates --git-overlay]' \ - '*:other options:_dpkg-buildpackage' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global deleted file mode 100644 index ffd8c0dc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global +++ /dev/null @@ -1,45 +0,0 @@ -#compdef global - -local cmds="(-c --completion -f --file -g --grep -I --idutils -p --print-dbpath -P --path -u --update --version --help)" - -_arguments \ - "$cmds"{-c,--completion}'[completion on prefix]:prefix:' \ - "$cmds"{-f,--file}'[print function definitions in file]' \ - "$cmds"{-g,--grep}'[print all lines which match pattern using grep]:pattern' \ - "$cmds"{-I,--idutils}'[print all lines which match pattern using id-utils]:pattern' \ - "$cmds"{-p,--print-dbpath}'[print location of GTAGS]' \ - "$cmds"{-P,--path}'[print paths matching pattern]:pattern:' \ - "$cmds"{-u,--update}'[locate tag files and update incrementally]' \ - '(-a --absolute)'{-a,--absolute}'[print absolute path names]' \ - '(--color)--color=-[color matches]::color:(always auto never)' \ - '(-d --definition)'{-d,--definition}'[print locations of definitions]' \ - '(-e --regexp :)'{-e,--regexp}'[specify pattern]:pattern:_global_tags' \ - '(--encode-path)--encode-path=-[encode path characters in hexadecimal representation]:format' \ - '(-F --first-match)'{-f,--first-match}'[stop searching if tag is found in current tag file]' \ - '(--from-here)--from-here=-[decide tag type by context]:line_path:' \ - '(-G --basic-regexp :)'{-G,--basic-regexp}'[specify basic regexp to use]:word:_global_tags' \ - '(--gtagsconf)--gtagsconf=-[set environment variable GTAGSCONF]:file:_files' \ - '(--gtagslabel)--gtagslabel=-[set environment variable GTAGSLABEL]:file:_files' \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case in patterns]' \ - '(-L --file-list)'{-L,--file-list}'[obtain files from file in addition to the arguments]:file:_files' \ - '(-l --local)'{-l,--local}'[print just objects which exist under the current directory]' \ - '(--literal)--literal[use literal search instead of regexp search]' \ - '(-M --match-case)'{-m,--match-case}'[enable case sensitive search]' \ - '(--match-part)--match-part=-[specify how path name completion should match]::part:(first last all)' \ - '(-n --nofilter)'{-n,--nofilter}'[suppress sort filter and path conversion filter]' \ - '(-O --only-other)'{-O,--only-other}'[search only text files]' \ - '(-o --other)'{-o,--other}'[search in other files, not just source files (with -g)]' \ - '(--path-style)--path-style=-[specify path style]::style:(relative absolute shorter abslib through)' \ - '(--print0)--print0[print each record followed by a null character]' \ - '(-q --quiet)'{-q,--quiet}'[quiet mode]' \ - '(-r --reference --rootdir)'{-r,--reference,--rootdir}'[find object references instead of definitions]' \ - '(--result)--result=-[specify result format]::format:(path ctags ctags-x grep cscope)' \ - '(- :)--single-update=-[updata tag for specified file]:file:_files' \ - '(-s --symbol)'{-s,--symbol}'[find symbols instead of function names]:pattern' \ - '(-t --tags)'{-t,--tags}'[output in standard ctags format]' \ - '(-T --through -s -r -l)'{-T,--through}'[search through all tag files in GTAGSLIBPATH]' \ - '(-v --verbose)'{-v,--verbose}'[verbose mode]' \ - '(-x --cxref)'{-x,--cxref}'[additionally list line number and contents]' \ - '(- :)--version[display version information]' \ - '(- :)--help[display help information]' \ - ':word:_global_tags' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global_tags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global_tags deleted file mode 100644 index fcda28df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_global_tags +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl tags - -tags=( $(_call_program global-tags global --completion $PREFIX 2>/dev/null) ) - -_wanted global-tags expl 'tag' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a "$@" - tags diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globflags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globflags deleted file mode 100644 index d24e8f2a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globflags +++ /dev/null @@ -1,62 +0,0 @@ -#autoload - -# Complete 'globbing flags', i.e., '(#x)'; everything up to the '#' will -# have been "compset -P"'d by the caller. - -local ret=1 -local -a flags -local preprefix=$IPREFIX - -compset -P '([ilIUubBmMcq]|a(|<->))##' -# make sure to not consider anything before the '#' -preprefix=${IPREFIX[$#preprefix,-1]} -if [[ $preprefix = *\#q* ]]; then - _globquals - return -elif [[ $preprefix = *q* ]]; then - _message 'q flag has to be specified by itself' - return -elif [[ $preprefix = *a(|<->) ]]; then - _message -e number 'errors' - if [[ $preprefix = *a ]]; then - return - else - compset -P '<->' - fi -elif [[ $preprefix = *\#c ]]; then - _message -e range 'repetitions (min,max) or (exact)' - return -fi - -flags=( - 'i:case insensitive' - 'l:lower case characters match uppercase' - 'I:case sensitive matching' - 's:match start of string' - 'e:match end of string' - 'U:consider all characters to be one byte' - 'u:support multibyte characters in pattern' -) -[[ $compstate[context] = condition ]] && flags+=( - 'b:activate backreferences' - 'B:deactivate backreferences' - 'm:set reference to entire matched data' - 'M:deactivate m flag' -) -flags=( ${flags:#[$preprefix[(R)\#,-1]]*} ) -if [[ $IPREFIX != *'#' ]]; then - flags=( ${flags:#[se]*} ) -fi -_describe -t globflags "glob flag" flags -Q -S ')' && ret=0 -flags=( - 'a:approximate matching' - 'q:introduce glob qualifier' - 'c:match repetitions of preceding pattern' -) -flags=( ${flags:#[$preprefix[(R)\#,-1]]*} ) -if [[ $IPREFIX != *'#' ]]; then - flags=( ${flags:#[cq]*} ) -fi -_describe -t globflags "glob flag" flags -Q -S '' && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globqual_delims b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globqual_delims deleted file mode 100644 index bba4241e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globqual_delims +++ /dev/null @@ -1,24 +0,0 @@ -#autoload - -# Helper for _globquals. Sets delim to delimiter to match. - -# don't restore special parameters -compstate[restore]=no - -delim=$PREFIX[1] -compset -p 1 - -# One of matching brackets? -# These don't actually work: the parser gets very confused. -local matchl="<({[" matchr=">)}]" -integer ind=${matchl[(I)$delim]} - -(( ind )) && delim=$matchr[ind] - -if compset -P "[^$delim]#$delim"; then - # Completely matched. - return 0 -else - # Still in delimiter - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globquals b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globquals deleted file mode 100644 index bc3165eb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_globquals +++ /dev/null @@ -1,276 +0,0 @@ -#autoload - -local state=qual expl char delim timespec default MATCH -integer MBEGIN MEND -local -a alts tdisp sdisp tmatch smatch -local -A specmap - -while [[ -n $PREFIX ]]; do - char=$PREFIX[1] - compset -p 1 - case $char in - ([-/F.@=p*rwxAIERWXsStUG^MTNDn,]) - # no argument - ;; - - (%) - # optional b, c - if [[ $PREFIX[1] = [bc] ]]; then - compset -p 1 - fi - ;; - - (f) - if ! compset -P "[-=+][0-7?]##"; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-f - return - elif ! _globqual_delims; then - # still completing mode spec - _message -e modes "mode spec" - return - fi - fi - ;; - - (P) - # skip delimited prefix - if [[ -z $PREFIX ]]; then - _delimiters qualifier-P - return - elif ! _globqual_delims; then - # can't suggest anything here - _message -e prefix prefix - return - fi - ;; - - (e) - # complete/skip delimited command line - if [[ -z $PREFIX ]]; then - _delimiters qualifier-e - return - elif ! _globqual_delims; then - # still completing command to eval - compset -q - _normal - return - fi - ;; - - (+) - # complete/skip command name (no delimiters) - if [[ $PREFIX = [[:IDENT:]]# ]]; then - # either nothing there yet, or still on name - _command_names - return - fi - compset -P '[[:IDENT:]]##' - ;; - - (d) - # complete/skip device - if ! compset -p '[[:digit:]]##'; then - _message -e device-ids "device ID" - return - fi - ;; - - (l) - # complete/skip link count - if ! compset -P '([-+]|)[[:digit:]]##'; then - _message -e numbers "link count" - return - fi - ;; - - (u) - # complete/skip UID or delimited user - if ! compset -P '[[:digit:]]##'; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-u - return - elif ! _globqual_delims; then - # still completing user - _users -S $delim - return - fi - fi - ;; - - (g) - # complete/skip GID or delimited group - if ! compset -P '[[:digit:]]##'; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-g - return - elif ! _globqual_delims; then - # still completing group - _groups -S $delim - return - fi - fi - ;; - - ([amc]) - if ! compset -P '([Mwhmsd]|)([-+]|)<->'; then - # complete/skip relative time spec - alts=() - timespec=$PREFIX[1] - if ! compset -P '[Mwhmsd]' && [[ -z $PREFIX ]]; then - tdisp=( seconds minutes hours days weeks Months ) - tmatch=( s m h d w M ) - if zstyle -t ":completion:${curcontext}:time-specifiers" verbose; then - zstyle -s ":completion:${curcontext}:time-specifiers" list-separator sep || sep=-- - print -v tdisp -f "%s ${sep//(#m)[%\\]/$MATCH$MATCH} %s" ${tmatch:^^tdisp} - fi - alts+=( "time-specifiers:time specifier:compadd -E 0 -d tdisp -S '' -a tmatch" ) - fi - if ! compset -P '[-+]' && [[ -z $PREFIX ]]; then - if zstyle -t ":completion:${curcontext}:senses" verbose; then - zstyle -s ":completion:${curcontext}:senses" list-separator sep || sep=-- - default=" [default exactly]" - sdisp=( "+ $sep before (older files)" "- $sep since (newer files)" ) - smatch=( + - ) - else - sdisp=( before exactly since ) - smatch=( + '' - ) - fi - alts+=( "senses:sense${default}:compadd -E 0 -d sdisp -S '' -a smatch" ) - fi - specmap=( M months w weeks h hours m minutes s seconds '(|+|-|d)' days) - alts+=('digits:digit ('${${specmap[(K)${timespec:-d}]}:-invalid time specifier}'):_dates -f ${${timespec/[-+]/d}:-d} -S ""' ) - _alternative $alts - return - fi - ;; - - (L) - # complete/skip file size - if ! compset -P '([kKmMgGtTpP]|)([-+]|)<->'; then - # complete/skip size spec - alts=() - if ! compset -P '[kKmMgGtTpP]' && [[ -z $PREFIX ]]; then - alts+=( - "size-specifiers:size specifier:\ -((k\:kb m\:mb g\:gb t\:tb p\:512-byte\ blocks))") - fi - if ! compset -P '[-+]' && [[ -z $PREFIX ]]; then - alts+=("senses:sense:((-\:less\ than +\:more\ than))") - fi - alts+=('digits:digit: ') - _alternative $alts - return - fi - ;; - - ([oO]) - # complete/skip sort spec - if ! compset -p 1; then - alts=( - "n:lexical order of name" - "L:size of file" - "l:number of hard links" - "a:last access time" - "m:last modification time" - "c:last inode change time" - "d:directory depth" - "N:no sorting" - "e:execute code" - "+:+ command name" - ) - _describe -t sort-specifiers "sort specifier" alts -Q -S '' - return - elif [[ $IPREFIX[-1] = e ]]; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-oe - return - elif ! _globqual_delims; then - compset -q - _normal - return - fi - elif [[ $IPREFIX[-1] = + ]]; then - if [[ $PREFIX = [[:IDENT:]]# ]]; then - # either nothing there yet, or still on name - _command_names - return - fi - fi - ;; - - (\[) - # complete/skip range: check for closing bracket - if ! compset -P "(-|)[[:digit:]]##(,(-|)[[:digit:]]##|)]"; then - if compset -P "(-|)[[:digit:]]##,"; then - _message "end of range" - else - _message "start of range" - fi - return - fi - ;; - - (:) - # complete modifiers and don't stop completing them - _history_modifiers q - return - ;; - esac -done - -case $state in - (qual) - local -a quals - quals=( - "/:directories" - "F:non-empty directories" - ".:plain files" - "@:symbolic links" - "=:sockets" - "p:named pipes (FIFOs)" - "*:executable plain files" - "%:device files" - "r:owner-readable" - "w:owner-writeable" - "x:owner-executable" - "A:group-readable" - "I:group-writeable" - "E:group-executable" - "R:world-readable" - "W:world-writeable" - "X:world-executable" - "s:setuid" - "S:setgid" - "t:sticky bit set" - "f:+ access rights" - "e:execute code" - "+:+ command name" - "d:+ device" - "l:+ link count" - "U:owned by EUID" - "G:owned by EGID" - "u:+ owning user" - "g:+ owning group" - "a:+ access time" - "m:+ modification time" - "c:+ inode change time" - "L:+ size" - "^:negate qualifiers" - "-:follow symlinks toggle" - "M:mark directories" - "T:mark types" - "N:use NULL_GLOB" - "D:glob dots" - "n:numeric glob sort" - "o:+ sort order, up" - "O:+ sort order, down" - "P:prepend word" - "Y:+ at most ARG matches" - "[:+ range of files" - "):end of qualifiers" - "\::modifier" - ) - _describe -t globquals "glob qualifier" quals -Q -S '' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnome-gv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnome-gv deleted file mode 100644 index b1b66e2a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnome-gv +++ /dev/null @@ -1,6 +0,0 @@ -#compdef gnome-gv ggv - -_arguments \ - '(--help)-?[help]' \ - '(--windows)-w[number of empty windows]:number:' \ - '*:file: _pspdf -z' -- diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnu_generic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnu_generic deleted file mode 100644 index 9dae2bdf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnu_generic +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -# This is for GNU-like commands which understand the --help option, -# but which do not otherwise require special completion handling. - -_arguments '*:arg: _default' -- diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnupod b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnupod deleted file mode 100644 index 22ccabb9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnupod +++ /dev/null @@ -1,108 +0,0 @@ -#compdef gnupod_addsong gnupod_addsong.pl=gnupod_addsong gnupod_check gnupod_check.pl=gnupod_check gnupod_INIT gnupod_INIT.pl=gnupod_INIT gnupod_search gnupod_search.pl=gnupod_search mktunes mktunes.pl=mktunes tunes2pod tunes2pod.pl=tunes2pod - -local arguments - -case "$service" in - (gnupod_addsong) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint, default is $IPOD_MOUNTPOINT]:mount point:_files' - '(-r --restore)'{-r,--restore}'[restore the iPod (create a new GNUtunesDB from scratch)]' - '(-d --duplicate)'{-d,--duplicate}'[allow duplicate files]' - '(-p --playlist)'{-p,--playlist=}'[add songs to this playlist]:playlist:' - --playlist-is-podcast'[set podcast flag for playlist(s) created using --playlist]' - --podcast-artwork'[download and install artwork for podcasts from their channel]' - --podcast-cache-dir='[set a directory in which podcast media files will be cached]:podcast cache dir:' - --podcast-files-limit='[limit files to download (0 = all (default), -X = X oldest, X = X newest)]:podcast files limit:'. - --disable-v1'[do not read ID3v1 Tags (MP3 Only)]' - --disable-v2'[do not read ID3v2 Tags (MP3 Only)]' - '(-x --decode)'{-x,--decode=}'[convert FLAC Files to WAVE/MP3 or AAC on-the-fly]:encoding:(pcm mp3 aac aacbm)' - --decode=video'[convert .avi Files into iPod video on-the-fly]' - '(-e --reencode)'{-e,--reencode=}'[reencode MP3/AAC files with new quality on-the-fly]:quality number (0 = Good 9 = Bad):(1 2 3 4 5 6 7 8 9)' - '(-t --set-title)'{-t,--set-title=}'[set Title (Override ID3 Tag)]:title:' - '(-a --set-artist)'{-a,--set-artist=}'[set Artist (Override ID3 Tag)]:artist:' - '(-l --set-album)'{-l,--set-album=}'[set Album (Override ID3 Tag)]:album:' - '(-g --set-genre)'{-g,--set-genre=}'[set Genre (Override ID3 Tag)]:genre:' - --set-rating='[set Rating (0=-/20=*/40=**/60=***/80=****/100=*****)]:rating:(0 20 40 60 80 100)' - --set-playcount='[set Playcount]:play count:' - --set-songnum='[override Songnum/Tracknum field]:song number:' - '(-b --set-bookmarkable)'{-b,--set-bookmarkable}'[set this song as bookmarkable (= Remember position)]' - --set-shuffleskip'[exclude this file in shuffle-mode]' - --set-compilation'[mark songs as being part of a compilation]' - --min-vol-adj='[minimum volume adjustment allowed by ID3v2.4 RVA2 tag]:adjustment (-100..100) [0]' - --max-vol-adj='[maximum volume adjustment allowed by ID3v2.4 RVA2 tag]:adjustment (-100..100) [0]' - --artwork='[use FILE as album cover]:artwork:_files' - '*:file to add:_files' -) - ;; - - (gnupod_check) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - --fixit'[try to fixup some errors (may delete lost files)]' -) - ;; - - (gnupod_INIT) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-d --disable-convert)'{-d,--disable-convert}'[do not try to convert an existing iTunesDB]' - '(-f --france)'{-f,--france}'[limit volume to 100dB, works only on very old iPods]' - --noask'[do not wait for any user input]' -) - ;; - - (gnupod_search) - arguments=( - --help'[display help and exit]' - --version'[display version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-t --title)'{-t,--title=}'[search songs by title]:title string:' - '(-a --artist)'{-a,--artist=}'[search songs by artist]:artist string:' - '(-l --album)'{-l,--album=}'[search songs by album]:album string:' - '(-i --id)'{-i,--id=}'[search songs by ID]:ID integer:' - '(-g --genre)'{-g,--genre=}'[search songs by genre]:genre string:' - '(-c --playcount)'{-c,--playcount=}'[search songs by playcount]:playcount:' - '(-s --rating)'{-s,--rating=}'[search songs by Rating (20 is one star, 40 two, etc.)]:playcount:(0 20 40 60 80 100)' - '(-R --podcastrss)'{-R,--podcastrss=}'[search songs by RSS]:RSS:' - '(-G --podcastguid)'{-G,--podcastguid=}'[search songs by GUID]:GUID:' - '(-b --bitrate)'{-b,--bitrate=}'[search songs by Bitrate]:bitrate:' - '(-o --match-once)'{-o,--match-once}'[search does not need to match multiple times (eg. -a & -l)]' - --delete'[remove matched songs from the iPod]' - --view='[modify output (default is ialt, see --help)]:output string:' - --rename='[rename key into value for matched songs]:KEY=VALUE:' - --artwork='[use FILE as Cover for found files]:artwork:_files' -) - ;; - - (mktunes) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-n --ipod-name)'{-n,--ipod-name=}'[iPod Name (For unlabeled iPods)]:name:' - '(-v --volume)'{-v,--volume=}'[adjust volume +-VALUE%]:volume percent:' - '(-e --energy)'{-e,--energy}'[save energy (disable scrolling title)]' - '(-g --fwguid)'{-g,--fwguid=}'[FirewireGuid / Serial of connected iPod]' -) - ;; - - (tunes2pod) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - --force'[disable sync checking]' -) - ;; - (*) - return 1 - ;; -esac - -_arguments : $arguments diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnutls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnutls deleted file mode 100644 index b9f91264..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gnutls +++ /dev/null @@ -1,225 +0,0 @@ -#compdef gnutls-cli gnutls-cli-debug gnutls-serv certtool srptool - -local -a args - -args=( - '(- :)'{-h,--help}'[display help information]' - '(- :)--version=[display version information]:information:((v\:simple c\:copyright n\:full))' - '(- :)-v[display version information]' - '(- :)'{-\!,--more-help}'[display help information through a pager]' - '(-d --debug)'{-d,--debug}'[enable debugging]:debug level' - \*{-V,--verbose}'[more verbose output]' -) - -case "$service" in - gnutls-*) - args+=( - '(-p --port)'{-p,--port}'[specify port or service to connect to]:port:_ports' - ) - ;| - gnutls-cli*) - args+=( - '(--app-proto --starttls-proto)'{--app-proto,--starttls-proto}"=[specify application protocol to use to obtain the server's certificate]:protocol:(https ftp smtp imap ldap xmpp lmtp pop3 nntp sieve postgres)" - ':hostname:_hosts' - ) - ;| - gnutls-cli|gnutls-serv) - args+=( - "--sni-hostname=[specify server's hostname for server name indication extension]:hostname" - "--noticket[don't accept session tickets]" - '(-u --udp)'{-u,--udp}'[use DTLS (datagram TLS) over UDP]' - '--mtu=[set MTU for datagram TLS]:mtu' - '--srtp-profiles=[offer SRTP profiles]:string' - '(-b --heartbeat)'{-b,--heartbeat}'[activate heartbeat support]' - '--x509fmtder[use DER format for certificates to read from]' - '--priority=[specify TLS algorithms and protocols to enable]:(NORMAL PFS SECURE128 SECURE192 SUITEB128 SUITEB192 LEGACY PERFORMANCE NONE)' - '--x509cafile=[specify certificate file to use]:file:_files' - '--x509crlfile=[specify CRL file to use]:file:_files' - '*--x509keyfile=[specify X.509 key file to use]:file:_files' - '*--x509certfile=[specify X.509 certificate file to use]:file:_files' - '*--rawpkkeyfile=[specify private key file or URL to use]:file:_files' - '*--rawpkfile=[specify raw public-key file to use]:file:_files' - '(-l --list -p --port)'{-l,--list}'[print list of the supported algorithms/modes]' - '--keymatexport=[specify label used for exporting keying material]:label' - '--keymatexportsize=[specify size of the exported keying material]:size' - ) - ;| - gnutls-cli|gnutls-serv|certtool) - args+=( - '--provider=[specify PKCS #11 provider library]:provider:_files' - ) - ;| - gnutls-cli|certtool) - args+=( - '--verify-allow-broken[allow broken algorithms, such as MD5 for certificate verification]' - ) - ;| - - gnutls-cli) - args+=( - '--tofu[enable trust on first use authentication]' '!--no-tofu' - '--strict-tofu[fail to connect if a certificate is unknown or has changed]' '!--no-strict-tofu' - '--dane[enable DANE certificate verification (DNSSEC)]' '!--no-dane' - '--local-dns[use the local DNS server for DNSSEC resolving]' '!--no-local-dna' - '--no-ca-verification[disable CA certificate verification]' '!--ca-verification' - '--ocsp[enable OCSP certificate verification]' '!--no-oscp' - '(-r --resume)'{-r,--resume}'[establish a session and resume]' - '--earlydata=[send early data on resumption from the specified file]:file:_files' - '(-e --rehandshake)'{-e,--rehandshake}'[connect, establish a session and rehandshake immediately]' - "--verify-hostname-str=[specify server's hostname to use for validation]:hostname" - '(-s --starttls)'{-s,--starttls}'[start TLS on EOF or SIGALRM]' - '--crlf[send CR LF instead of LF]' - '--fastopen[enable TCP Fast Open]' - "--print-cert[print peer's certificate in PEM format]" - "--save-cert=[save peer's certificate chain in the specified file in PEM format]:file:_files" - "(--save-ocsp-multi)--save-ocsp=[save peer's OCSP status response in the provided file]:file:_files" - "(--save-ocsp)--save-ocsp-multi=[save all peer's OCSP responses in the provided file]:file:_files" - '--save-server-trace=[save the server-side TLS message trace in the provided file]:file:_files' - '--save-client-trace=[save the client-side TLS message trace in the provided file]:file:_files' - '--dh-bits=[specify minimum number of bits allowed for DH]:bits' - '--srpusername[specify SRP username to use]:username' - '--srppasswd[specify SRP password to use]:password' - '--pskusername[specify PSK username to use]:username' - '--pskkey[specify PSK key to use]:key' - "--insecure[don't require server cert validation]" - '--benchmark-ciphers[benchmark individual ciphers]' - '--benchmark-soft-ciphers[benchmark individual software ciphers]' - '--benchmark-tls-kx[benchmark TLS key exchange methods]' - '--benchmark-tls-ciphers[benchmark TLS ciphers]' - '--priority-list[print list of the supported priority strings]' - '*--alpn=[enable application layer protocol]:string' - '--recordsize=[specify maximum record size to advertise]:record size (0-4096)' - "--disable-sni[don't send a Server Name]" - '--single-key-share[send a single key share under TLS1.3]' - '--post-handshake-auth[enable post-handshake authentication under TLS1.3]' - '--inline-commands[inline commands of the form ^<cmd>^]' - '--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]' - '--fips140-mode[report status of FIPS140-2 mode in gnutls library]' - '--logfile=[redirect informational messages to a specific file]:file:_files' - '--waitresumption[block waiting for the resumption data under TLS1.3]' - '--ca-auto-retrieve[enable automatic retrieval of missing CA certificates]' - ) - ;; - - gnutls-serv) - args+=( - '--sni-hostname-fatal[send fatal alert on sni-hostname mismatch]' - '*--alpn=[specify ALPN protocol to be enabled by the server]:protocol' - '--alpn-fatal[send fatal alert on non-matching ALPN name]' - '--earlydata[accept early data]' - '--maxearlydata=[specify maximum early data size to accept]:size' - "--nocookie[don't require cookie on DTLS sessions]" - '(-g --generate)'{-g,--generate}'[generate Diffie-Hellman parameters]' - '(-q --quiet)'{-q,--quiet}'[suppress some messages]' - "--nodb[don't use a resumption database]" - '--http[act as an HTTP server]' - '--echo[act as an Echo server]' - "--crlf[don't replace CRLF by LF in Echo server mode]" - '(-a --disable-client-cert -r --require-client-cert)'{-a,--disable-client-cert}"[don't request a client certificate]" - '(-a --disable-client-cert -r --require-client-cert)'{-r,--require-client-cert}'[require a client certificate]' - '--verify-client-cert[if a client certificate is sent then verify it]' - '--dhparams=[specify DH params file to use]:file:_files' - '--srppasswd=[specify SRP password file to use]:file:_files' - '--srppasswdconf=[specify SRP password configuration file to use]:file:_files' - '--pskpasswd=[specify PSK password file to use]:file:_files' - '--pskhint=[specify PSK identity hint to use]:string' - '*--ocsp-response=[specify OCSP response to send to client]:string:_files' - '--ignore-ocsp-response-errors[ignore any errors when setting the OCSP response]' - '--recordsize=[specify maximum record size to advertise]:record size (0-16384)' - '--httpdata=[specify data to use as HTTP response]:file:_files' - ) - ;; - - certtool) - args+=( - '(-q --generate-request)--infile:input file:_files ' - '--outfile:output file:_files ' - '(-s --generate-self-signed)'{-s,--generate-self-signed}'[generate a self-signed certificate]' - '(-c --generate-certificate)'{-c,--generate-certificate}'[generate a signed certificate]' - '--generate-proxy[generate a proxy certificate]' - '--generate-crl[generate a CRL]' - '(-u --update-certificate)'{-u,--update-certificate}'[update a signed certificate]' - '--fingerprint[print the fingerprint of the given certificate]' - '--key-id[print the key ID of the given certificate]' - '--v1[generate an X.509 version 1 certificate (with no extensions)]' - '--sign-params=[sign a certificate with a specific signature algorithm]:algorithm:(RSA-PSS)' - '(-p --generate-privkey)'{-p,--generate-privkey}'[generate a private key]' - '(-q --generate-request --infile)'{-q,--generate-request}'[generate a PKCS #10 certificate request]' - '(-e --verify-chain)'{-e,--verify-chain}'[verify a PEM encoded certificate chain]' - '--verify[verify a PEM encoded certificate chain using a trusted list]' - '--verify-crl[verify a CRL]' - '(--verify-email)--verify-hostname=[specify hostname to be used for certificate chain verification]:hostname:_hosts' - '(--verify-hostname)--verify-email=[specify email to be used for certificate chain verification]:email:_email_addresses' - '--verify-purpose=[specify a purpose OID to be used for certificate chain verification]:purpose' - '--verify-profile=[specify a security level profile to be used for verification]:profile' - '--p7-sign[sign using a PKCS #7 structure]' - '--p7-detached-sign[sign using a detached PKCS #7 structure]' - "--no-p7-include-cert[don't include signer's certificate will in the cert list]" - '--p7-time[include a timestamp in the PKCS #7 structure]' - '--p7-show-data[show embedded data in the PKCS #7 structure]' - '--p7-verify[verify the provided PKCS #7 structure]' - '--generate-dh-params[generate PKCS #3 encoded Diffie Hellman parameters]' - '--get-dh-params[get the included PKCS #3 encoded Diffie Hellman parameters]' - '--dh-info[print information PKCS #3 encoded Diffie-Hellman parameters]' - '--load-privkey:private key file:_files' - '--load-pubkey:public key file:_files' - '--load-request:certificate request file:_files' - '--load-certificate:certificate file:_files' - '--load-ca-privkey:certificate authority private key file:_files' - '--load-ca-certificate:certificate authority certificate file:_files' - '--load-crl=[load the provided CRL]:CRL' - '--load-data=[load auxiliary data]:data' - '--password=[specify password to use]:password' - '--hex-numbers[big number in an easier format to parse]' - '--cprint[prints certain information is C-friendly format]' - '--null-password[enforce a NULL password]' - '--empty-password[enforce an empty password]' - '--key-type=[specify the key type to use on key generation]:key type' - '(-i --certificate-info)'{-i,--certificate-info}'[print information on a certificate]' - '(-l --crl-info)'{-l,--crl-info}'[print information on a CRL]' - '--crq-info[print information on a certificate request]' - "--no-crq-extensions[don't use extensions in certificate requests]" - '--p12-info[print information on a PKCS #12 structure]' - '--p12-name=[specify PKCS #12 friendly name to use]:name' - '--p7-info[print information on a PKCS #7 structure]' - '--smime-to-p7[convert S/MIME to PKCS #7 structure]' - '(-k --key-info)'{-k,--key-info}'[print information on a private key]' - '--p8-info[print information on a PKCS #8 structure]' - '--to-rsa[convert an RSA-PSS key to raw RSA format]' - '--bits=[specify number of bits for key generation]:bits' - '--curve=[specify the curve used for EC key generation]:curve' - '--sec-param=[specify the security level]:security level:(low legacy medium high ultra)' - '--to-p8[convert a given key to a PKCS #8 structure]' - '--provable[generate a private key or parameters from a seed using a provable method]' - '--verify-provable-privkey[verify a private key generated from a seed using a provable method]' - '--seed=[when generating a private key use the given seed]:seed (hex-encoded)' - '--pubkey-info[print information on a public key]' - '--to-p12[generate a PKCS #12 structure]' - '(-8 --pkcs8)'{-8,--pkcs8}'[use PKCS #8 format for private keys]' - '--hash=[specify hash algorithm for signing]:algorithm:(MD5 SHA1 RMD160)' - '--salt-size=[specify the RSA-PSS key default salt size]:size' - {--inder,--inraw}'[use DER format for input certificates and private keys]' - {--outder,--outraw}'[use DER format for output certificates and private keys]' - '--template=[specify template file to use for non-interactive operation]:file:_files' - '--stdout-info[print information to stdout instead of stderr]' - '--ask-pass[enable interaction for entering password when in batch mode]' - '--pkcs-cipher=[specify cipher to use for pkcs operations]:cipher:(3des 3des-pkcs12 aes-128 aes-192 aes-256 rc2-40 arcfour)' - '!(--no-text)--text' - "--no-text[don't output textual information before PEM-encoded certificates, private keys, etc]" - ) - ;; - - srptool) - args+=( - '(-i --index)'{-i+,--index=}':index of params in tpasswd.conf' - '(-u --username)'{-u+,--username=}':username:_users' - '(-p --passwd)'{-p+,--passwd=}':password file:_files' - '(-s --salt)'{-s+,--salt=}'[specify salt size]:salt size for crypt algorithm' - '--verify[just verify password]' - '(-v --passwd-conf)'{-v+,--passwd-conf=}'[generate a password configuration file]:password conf file:_files' - '--create-conf=[generate a tpasswd.conf file]:file:_files' - ) - ;; -esac - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_go b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_go deleted file mode 100644 index 0b4b16df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_go +++ /dev/null @@ -1,18 +0,0 @@ -#compdef gccgo gofmt 5l 6l 8l 5g 6g 8g - -# This is for the computer language go, -# http://golang.org. - -local expl pat - -case $service in - (<->l) - pat="*.${service[1,-2]}" - ;; - - (*) - pat="*.go" - ;; -esac - -_wanted files expl "input file" _files -g "$pat(-.)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpasswd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpasswd deleted file mode 100644 index 24fe361b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpasswd +++ /dev/null @@ -1,12 +0,0 @@ -#compdef gpasswd - -_arguments -s \ - '(-a --add -d --delete)'{-a,--add}'[add user to group]: : _users' \ - '(-d --delete -a --add)'{-d,--delete}'[remove user from group]: : _users' \ - '(-)'{-h,--help}'[display help]' \ - '(-Q --root)'{-Q,--root}'[specify directory to chroot into]: : _files -/' \ - '(-r --remove-password)'{-r,--remove-password}'[remove the group password]' \ - '(-R --restrict)'{-R,--restrict}'[restrict access to GROUP to its members]' \ - '(-M --members -A --administrators)'{-M,--members}'[set the list of members of GROUP]: :_sequence _users' \ - '(-A --administrators -M --members)'{-A,--administrators}'[set the list of admins for GROUP]: :_sequence _users' \ - '1: : _groups' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpg deleted file mode 100644 index 5d54865d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gpg +++ /dev/null @@ -1,282 +0,0 @@ -#compdef gpg gpgv gpg-zip gpg2=gpg - -local curcontext="$curcontext" state line expl ret=1 -local -a args allopts dups extra -typeset -A opt_args - -if [[ $service = gpg-zip ]]; then - args=( - '--gpg[command to use instead of gpg]:command:_command' - '--gpg-args[gpg arguments]:gpg arguments:' - '--tar[command to use instead of tar]:command:_command' - '--tar-args[tar arguments]:tar arguments:' - '--list-archive[list archive contents]' - ) -else - allopts=( $(_call_program options $words[1] --dump-options) ) - args=( - '(-q --quiet)*'{-v,--verbose}'[increase amount of output]' - '(-q --quiet -v --verbose)'{-q,--quiet}'[reduce amount of output]' - '--keyring=[add specified file to list of keyrings]:file:_files' - '--'{status,logger}'-fd:file descriptor:_file_descriptors' - '--homedir:directory:_directories' - ) -fi - -[[ $service = gpgv ]] || args+=( - '(-e --encrypt)'{-e,--encrypt}'[encrypt data. this option may be combined with --sign]' - {-d,--decrypt}'[decrypt file or stdin]' - '(-c --symmetric)'{-c,--symmetric}'[encrypt with symmetric cipher only]' - '(-s --sign)'{-s,--sign}'[make a signature]' - '*'{-r+,--recipient}'[specify user to encrypt for]:recipient:->public-keys' - '(-u --local-user)'{-u+,--local-user}'[use name as the user ID to sign]:user attachment:_users' - '(-o --output)'{-o+,--output}'[write output to file]:output file:_files' - '(-h --help)'{-h,--help}'[display usage information]' - '--version[print info on program version and supported algorithms]' -) - -[[ $service = gpg ]] && args+=( - '--decrypt-files[decrypt multiple files]' - '(-b --detach-sign)'{-b,--detach-sign}'[make a detached signature]' - --clear{,-}sign'[make a clear text signature]' - '--store[store only]' - '--verify[verify a signature]' - '--verify-files[verify a list of files]' - '(-f --encrypt-files)'{-f,--encrypt-files}'[encrypt files]' - '(-k --list-keys)'{-k,--list-keys}'[list all keys]' - '--list-public-keys[list all public keys]' - '(-K --list-secret-keys)'{-K,--list-secret-keys}'[list all secret keys]' - --list-sig{,nature}s'[lists keys and signatures]:key attachment:->public-keys' - '--list-options[modify what the various --list-* commands show]: :->option-list' - --check-sig{,nature}s'[list key, signatures and check them]:key attachment:->public-keys' - '--fingerprint[list all keys with their fingerprints]:key attachment:->public-keys' - '--list-packets[list only the sequence of packets]' - '--gen-key[generate a new pair key]' - '--edit-key[interactively edit a key]:key attachment:->public-keys' - '--sign-key[sign a key]:key attachment:->public-keys' - '--lsign-key[sign a key but mark as non-exportable]:key attachment:->public-keys' - '--delete-keys[remove key from public keyring]:key attachment:->public-keys' - '--delete-secret-keys[remove key from public & private keyring]:key attachment:->secret-keys' - '--delete-secret-and-public-keys:key attachment:->secret-keys' - '--gen-revoke[generate a revocation certificate]' - '--desig-revoke[generate a designated revocation certificate]' - '--passwd[change a passphrase]' - '--export[export all keys from all keyrings]' - '--send-keys[send keys to a keyserver]:key attachment:->public-keyids' - '--export-secret-keys:key attachment:->secret-keys' - '--export-secret-subkeys:key attachment:->secret-keys' - '--import[import a gpg key from a file]:attachment (file):_files' - '--fast-import[import a file without adding to trustdb]:attachment (file):_files' - '--fetch-keys[fetch key at URIs]:uri:' - --rec{eive,v}-keys'[receive a list of keys from a keyserver]:key attachment:->public-keyids' - '--refresh-keys[update all keys from a keyserver]' - '--search-keys[search for keys on a key server]' - '--update-trustdb[update the trust database]' - '--check-trustdb[unattended trust database update]' - '--fix-trustdb[fix a corrupted trust database]' - '--export-ownertrust[list the assigned ownertrust values in ASCII format]:file:_files' - '--import-ownertrust[update the trustdb with a file]:file:_files' - '--dearmor[de-Armor a file or stdin]' - '--enarmor[en-Armor a file or stdin]' - '--print-md[print message digests]:algorithm:->ciphers::file:_files' - '--print-mds[print message digests]::file:_files' - '--tofu-policy:policy:(good unknown bad ask auto):*:keys:->public-keys' - '--tofu-default-policy:policy:(good unknown bad ask auto)' - '--quick-generate-key:user-id: :algorithm:(default future-default rsa dsa elg ed25519 cv25519): : _values -s , usage - default sign auth encr::expiration' - '--quick-add-key:fingerprint: :algorithm:(default future-default rsa dsa elg ed25519 cv25519): : _values -s , usage - default sign auth encr::expiration' - '--gen-random:quality level:(0 1 2):count (bytes)' '--gen-prime' - '--warranty[print warranty info]' - '(-a --armor)'{-a,--armor}'[create ASCII armored output]' - '--default-key[specify default user ID for signatures]:key:->secret-keys' - '--default-recipient[specify default recipient]:recipient:->public-keys' - '--default-recipient-self[use default key as default recipient]' - '--no-default-recipient[reset default recipient]' - '*--encrypt-to[specify recipient]:key:->public-keys' - '(--encrypt-to)--no-encrypt-to[disable the use of all --encrypt-to keys]' - '-z[specify compression level]:compression level:((0\:no\ compression 1\:minimum 2 3 4 5 6\:default 7 8 9\:maximum))' - '(-t --textmode)'{-t,--textmode}'[use canonical text mode]' - '(-n --dry-run)'{-n,--dry-run}"[don't make any changes]" - '(-i --interactive --batch)'{-i,--interactive}'[prompt before overwriting files]' - '(-i --interactive --no-batch)--batch[use batch mode]' - '--no-tty[never output to tty]' - '(--batch)--no-batch[disable batch mode]' - '(--no)--yes[assume "yes" on most questions]' - '(--yes)--no[assume "no" on most questions]' - '--default-cert-check-level:check level:((0\:no\ claim 1\:no\ verification 2\:casual\ verification 3\:extensive\ verification))' - '--trusted-key[assume that the specified key is trustworthy]:long key id' - '--always-trust[skip key validation]' - '--keyserver[specify key server to use]:key server:_hosts' - '--keyserver-options[specify keyserver options]:options' - '--import-options[specify options for importing keys]:options' - '--export-options[specify options for exporting keys]:options' - '--photo-viewer:command:_command_names -e' - '--exec-path:path:_dir_list' - '--show-keyring[display keyring name when listing keys]' - '--secret-keyring[add specified file to list of secret keyrings]:file:_files' - '--charset:character set:(iso-8859-1 iso-8859-2 koi8-r utf-8)' - '--utf8-strings' '--no-utf8-strings[arguments are not in UTF8]' - '(--no-options)--options[specify file to read options from]:options file:_files' - "(--options)--no-options[don't read options file]" - '--'{attribute,passphrase,command}'-fd:file descriptor:_file_descriptors' - '--sk-comments[include secret key comments when exporting keys]' - '(--emit-version)--no-emit-version[omit version string in clear text signatures]' - '(--no-emit-version)--emit-version[force writing of version string in clear text signatures]' - '(-N --notation-data)'{-N,--notation-data}'[put parameter in signature]:name=value' - '(--no-show-notation)--show-notation[show key signature notations]' - "(--show-notation)--no-show-notation[don't show key signature notations]" - '--set-policy-url:policy URL' - '--set-filename[specify file which is stored in messages]:file:_files' - '--completes-needed:number' '--marginals-needed:number' '--max-cert-depth:number' - '--'{{,disable-,s2k-}cipher,{,s2k-,cert-}digest,disable-pubkey}'-algo:cipher:->ciphers' - '--s2k-mode:value' - '--compress-algo:compression algorithm:((0\:disable\ compression 1\:zlib 2\:rfc1950))' - '--personal-'{cipher,digest,compress}'-preferences:string' - --{card-edit,edit-card}'[present smartcard menu]' '--card-status[show smartcard content]' - '--change-pin[present menu to change smartcard pin]' - '--list-config[display internal configuration parameters]' - '--hidden-recipient[hidden recipient]:recipient:->public-keys' - '--default-preference-list:string' - '--fetch-keys:URIs' - '--hidden-encrypt-to:recipient:->public-keys' - '--compress-level:integer' - '--bzip2-compress-level:integer' - '--default-cert-level:integer' - '--max-output[maximum output generated when processing file]:bytes:' - '--gpg-agent-info[override GPG_AGENT_INFO]:' - '--primary-keyring:file:_files' - '--verify-options: :->verify-options' - '--debug:flags:' '--status-file:file:_files' - '--attribute-file:file:_files' '--load-extension:file:_files' - '--s2k-count:integer' - '--sig-notation:name=value:' '--cert-notation:name=value:' - '--passphrase-file:file:_files' '--passphrase-repeat:integer:' - '--command-file:file:_files' '--trustdb-name:file:_files' - '--trust-model:trust model:(pgp classic tofu tofu+pgp direct always auto)' - '--sig-policy-url:string:' '--cert-policy-url:string:' - '--sig-keyserver-url:string:' '--comment[comment]:comment:' - '--no-comments[disable comments]' - '--logger-file[write log to file]:file:_files' - '--rebuild-keydb-caches[create signature caches in keyring]' - '--default-keyserver-url:name:' - '--display-charset[set native charset]:charset:((iso-8859-1 iso-8859-2 iso-8859-15 koi8-r utf-8))' - '--ungroup[remove group]:group name:' - '--no-groups[remove all entries from --group list]' - '--enable-progress-filter[enable progress status output]' - '--multifile[process multiple files]' - '--keyid-format[key id format]:key format:((short 0xshort long 0xlong))' - '--exit-on-status-write-error[exit immediately on error write]' - '--limit-card-insert-tries:integer' - '--reader-port[card reader port]:port' - '--ctapi-driver[file to use to access smartcard reader]:file:_files' - '--pcsc-driver[file to use to access smartcard reader]:file:_files' - '--auto-key-locate:parameters' - '--dump-options[show all options]' -) - -extra=( ${${${args#\([^\)]#\)}#\*}%%[=:\[]*} ) -extra=( ${allopts:|extra} ) -_arguments -C -s -S -A "-*" $args $extra '*:args:->args' && ret=0 - -if [[ $state = args ]]; then - if (( ${+opt_args[--export]} || ${+opt_args[-k]} || ${+opt_args[--list-keys]} || ${+opt_args[--list-public-keys]} )); then - state=public-keys - elif (( ${+opt_args[--list-secret-keys]} )); then - state=secret-keys - else - _files && return - fi -fi - -# We need to keep some arguments to get a consistent list of keys -# etc. -local -a needed -integer krind=${words[(I)--keyring(|=*)]} -needed=(${words[(r)--no-default-keyring]}) -if (( krind )); then - # We have a --keyring option. We can't be completing its - # argument because that was handled above, so it must be complete. - if [[ $words[krind] = --keyring ]]; then - if [[ -n $words[krind+1] ]]; then - needed+=(--keyring=$words[krind+1]) - fi - else - needed+=($words[krind]) - fi -fi - -case "$state" in - public-keys) - local public_keys_lines=(${(f)"$(_call_program public-keys ${(q)words[1]} ${(q)needed} --list-public-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#public_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)public_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - done - fi - done - _describe -t public-keys 'public key' emails uids - ;; - secret-keys) - local secret_keys_lines=(${(f)"$(_call_program secret-keys ${(q)words[1]} ${(q)needed} --list-secret-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#secret_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)secret_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)secret_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)secret_keys_lines[$i]}") - done - fi - done - _describe -t secret-keys 'secret key' emails uids - ;; - ciphers) - _wanted ciphers expl cipher compadd \ - ${${(s.,.)${(M)${(f)${"$(_call_program ciphers ${(q)words[1]} ${(q)needed} --version)"}//,$'\n' #/, }:#Cipher*}#*:}# } && return - ;; - (public-keyids) - local public_keys_lines=(${(f)"$(_call_program public-keyids ${(q)words[1]} ${(q)needed} --list-public-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#public_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)public_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - done - fi - done - _describe -t public-keyids 'public key' emails uids - ;; - (option-list) - _sequence _wanted options expl option \ - compadd - {no-,}show-{photos,usage,policy-urls,{std,user}-notations,keyserver-urls,uid-validity,unusable-{uids,subkeys},keyring,sig-{expire,subpackets}} && return - ;; - (verify-options) - _sequence _wanted options expl option \ - compadd - {no-,}show-{photos,policy-urls,{std,user}-notations,keyserver-urls,uid-validity,unusable-uids,primary-uid-only} {no-,}pka-{lookups,trust-increase} && return - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gphoto2 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gphoto2 deleted file mode 100644 index 788c9702..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gphoto2 +++ /dev/null @@ -1,96 +0,0 @@ -#compdef gphoto2 - -local curcontext="$curcontext" ret=1 -local -a state line values expl -typeset -A opt_args - -_arguments -s -C \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)'{-h,--usage}'[display a short usage message]' \ - '--debug[turn on debugging]' \ - '--debug-loglevel=[set debug level]:debug level:(error debug data all)' \ - '--debug-logfile=[name of file to write debug info to]:file:_files' \ - '(-q --quiet)'{-q,--quiet}'[quiet output]' \ - '--hook-script=[hook script to call after downloads, captures, etc.]:file:_files' \ - '--stdout[send file to stdout]' \ - '--stdout-size[print filesize before data]' \ - '--auto-detect[list auto-detected cameras]' \ - '--show-exif=[show EXIF information of JPEG images]:range' \ - '--show-info=[show image information, like width, height, and capture time]:range' \ - '--summary[summary of camera status]' \ - '--manual[camera driver manual]' \ - '--about[show information about the camera driver]' \ - '--storage-info[show storage information]' \ - '--shell[start the gphoto2 shell]' \ - '(-)'{-v,--version}'[display version and exit]' \ - '--list-cameras[list supported camera models]' \ - '--list-ports[list supported port devices]' \ - '(-a --abilities)'{-a,--abilities}'[display camera abilities]' \ - '--port=[specify port device]:port:->ports' \ - '--speed=[specify serial transfer speed]:speed' \ - '--camera=[specify camera model]:camera model:->models' \ - '--usbid=[override USB IDs (expert only)]:usbid' \ - '--list-config[list configuration tree]' \ - '--list-all-config[dump full configuration tree]' \ - '--get-config=[get configuration value]:string' \ - '--set-config=[set configuration value or index in choices]:string' \ - '--set-config-index=[set configuration value index in choices]:string' \ - '--set-config-value=[set configuration value]:string' \ - '--config[start curses configuration menu]' \ - '--reset[reset device port]' \ - '--keep[keep images on camera after capturing]' \ - '--keep-raw[keep the RAW images on the camera with --capture-image-and-download]' \ - '--no-keep[remove images from camera after capturing]' \ - '--wait-event=-[wait for event from camera]::count' \ - '--wait-event-and-download=-[wait for event from camera and download new images]::count' \ - '--capture-preview[capture a quick preview]' \ - '--show-preview[capture a quick preview and display using ASCII art]' \ - '(-B --bulb)'{-B,--bulb=}'[set bulb exposure time]:exposure time (seconds)' \ - '(-F --frames)'{-F,--frames=}'[set number of frames to capture]:frames [unlimited]' \ - '(-I --interval)'{-I,--interval=}'[set capture interval in seconds]:interval (seconds)' \ - '--reset-interval[reset capture interval on signal]' \ - '--capture-image[capture an image]' \ - '--trigger-capture[trigger capture of an image]' \ - '--capture-image-and-download[capture an image and download it]' \ - '--capture-movie=-[capture a movie]:count or seconds' \ - '--capture-sound[capture an audio clip]' \ - '--capture-tethered=-[wait for shutter release on the camera and download]::count' \ - '(-l --list-folders)'{-l,--list-folders}'[list folders in folder]' \ - '(-L --list-files)'{-L,--list-files}'[list files in folder]' \ - '(-m --mkdir)'{-m,--mkdir=}'[create a directory]:directory' \ - '(-r --rmdir)'{-r,--rmdir=}'[remove a directory]:directory' \ - '(-n --num-files)'{-n,--num-files}'[display number of files]' \ - '(-p --get-file)'{-p,--get-file=}'[get files given in range]:range' \ - '(-P --get-all-files)'{-P,--get-all-files}'[get all files from folder]' \ - '(-t --get-thumbnail)'{-t,--get-thumbnail=}'[get thumbnails given in range]:range' \ - '(-T --get-all-thumbnails)'{-T,--get-all-thumbnails}'[get all thumbnails from folder]' \ - '--get-metadata=[get metadata given in range]:range' \ - '--get-all-metadata[get all metadata from folder]' \ - '--upload-metadata=[upload metadata for file]:string' \ - '--get-raw-data=[get raw data given in range]:range' \ - '--get-all-raw-data[get all raw data from folder]' \ - '--get-audio-data=[get audio data given in range]:range' \ - '--get-all-audio-data[get all audio data from folder]' \ - '(-d --delete-file)'{-d,--delete-file=}'[delete files in given range]:range' \ - '(-D --delete-all-files)'{-D,--delete-all-files}'[delete all files in folder]' \ - '(-u --upload-file)'{-u,--upload-file=}'[upload a file to camera]:file:_files' \ - '--filename=[specify pattern to save file as]:pattern:_date_formats' \ - '(-f --folder)'{-f,--folder=}'[specify camera folder]:folder [/]' \ - '(-R --recurse --no-recurse)'{-R,--recurse}'[recursion (default for download)]' \ - '(-R --recurse)--no-recurse[no recursion (default for deletion)]' \ - '--new[process new files only]' \ - '--force-overwrite[overwrite files without asking]' \ - '--skip-existing[skip files that already exist on local filesystem]' && ret=0 - -case $state in - models) - _wanted models expl 'camera model' compadd \ - ${${${(f)"$(_call_program models $words[1] --list-cameras)"}[3,-1]#*\"}%%\"*} && ret=0 - ;; - ports) - values=( ${${${(f)"$(gphoto2 --list-ports)"}[4,-1]/:/\\:}/ ##/:} ) - _describe -t ports 'port' values - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gprof b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gprof deleted file mode 100644 index a7e602fd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gprof +++ /dev/null @@ -1,58 +0,0 @@ -#compdef gprof - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -{a,b,c,D,h,i,l,L,r,s,T,v,w,x,y,z} \ - -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,R,S,t,Z}:'function name:->funcs' \ - '-I:directory:_dir_list' \ - '-d-:debug level:' '-k:function names:->pair' \ - '-m:minimum execution count:' \ - ':executable:_files -g \*\(-\*\)' \ - ':profile file:_files -g gmon.\*\(-.\)' \ - -- -s '((#s)--[no-] --)' \ - '*=name*:function name:->funcs' \ - '*=dirs*:directory:_dir_list' && ret=0 - -if [[ -n "$state" ]]; then - local cmd pair expl - - _tags functions || return 1 - - [[ "$state" = pair ]] && pair=yes - - if [[ $#line -gt 1 ]]; then - cmd="$line[2]" - else - return 1 - fi - - if [[ -n "$cmd" ]]; then - if [[ "$cmd" = /* ]]; then - tmp="$cmd" - else - tmp="$PWD/$cmd" - fi - - if [[ "$tmp" != "$_gprof_command" ]]; then - _gprof_command="$tmp" - _gprof_funcs=( "${(@)${(@M)${(@f)$(nm $cmd)}:#[^ ]# [tT] ([^_]|_[^_])*}##* }" ) - fi - - if [[ -n "$pair" ]]; then - if compset -P '*/'; then - expl='call arc to function' - else - expl='call arc from function' - fi - else - expl=function - fi - _wanted functions expl "$expl" \ - compadd -M 'r:|_=* r:|=*' -a _gprof_funcs && ret=0 - else - return 1 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gqview b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gqview deleted file mode 100644 index f317ab53..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gqview +++ /dev/null @@ -1,12 +0,0 @@ -#compdef gqview - -_arguments \ - '(+t -t --without-tools --with-tools)'{+t,--with-tools}'[force show of tools]' \ - '(+t -t --without-tools --with-tools)'{-t,--without-tools}'[force hide of tools]' \ - '(--fullscreen -f)'{-f,--fullscreen}'[start in full screen mode]' \ - '(--slideshow -s)'{-s,--slideshow}'[start in slideshow mode]' \ - '(--list -l)'{-l,--list}'[open collection window for command line]' \ - '--debug[turn on debug output]' \ - '(--version -v)'{-v,--version}'[print version info]' \ - '(--help -h)'{-h,--help}'[show help]' \ - '*:picture file:_files -g "*.(#i)(jpg|jpe|jpeg|png|gif|tif|tiff|bmp)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gradle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gradle deleted file mode 100644 index c1f7c05e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gradle +++ /dev/null @@ -1,150 +0,0 @@ -#compdef gradle gradlew - -local -i ret=1 -local curcontext="$curcontext" state state_descr outputline -local gradle_inspect=yes gradle_buildfile cache_policy cache_name tag_order filter -local -A opt_args task_map -local -aU gradle_subprojects gradle_tasks tasks -local -a match mbegin mend - -_gradle_caching_policy() { - # Invalidate the cache if it cannot be read. - [[ -r "$1" ]] || - return 0 - - # Invalidate the cache if it's older than the build file. - [[ $gradle_buildfile -nt $1 ]] && - return - - # Invalidate the cache if it doesn't contain the required arrays. - local cache="$( < $1 )" - [[ "$cache" != *'gradle_subprojects=('*')'* || "$cache" != *'gradle_tasks=('*')'* ]] -} - -zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy || \ - zstyle ":completion:*:*:$service:*" cache-policy _gradle_caching_policy - -# By default, we only complete main tasks (belonging to a group). Secondary tasks are -# completed if no main tasks are found. -zstyle -a ":completion:*:*:$service:*" tag-order tag_order || \ - zstyle ":completion:*:*:$service:*" tag-order 'gradle_group' 'gradle_all' - -# The completion inspects the current build file to find tasks to complete. Setting -# this style to 'no' or 'false' turns off inspection. In that case only the built-in tasks -# are completed. -zstyle -T ":completion:*:*:$service:*" gradle-inspect || gradle_inspect=no - -_arguments -C \ - '(-)'{-\?,-h,--help}'[Shows a help message.]' \ - {-a,--no-rebuild}'[Do not rebuild project dependencies.]' \ - {-b,--build-file}'[Specifies the build file.]:build file:_files -g "*.gradle(-.)"' \ - {-C,--cache}'[Specifies how compiled build scripts should be cached.]:cache policy:(on rebuild)' \ - {-c,--settings-file}'[Specifies the settings file.]:settings file:_files -g "*.properties(-.)"' \ - '--continue[Continues task execution after a task failure.]' \ - \*{-D+,--system-prop}'[Set system property of the JVM (e.g. -Dmyprop=myvalue).]:system property (prop=val):' \ - '(-i --info -q --quiet)'{-d,--debug}'[Log in debug mode (includes normal stacktrace).]' \ - '(--nodaemon)--daemon[Uses the Gradle daemon to run the build. Starts the daemon if not running.]' \ - '--foreground[Starts the Gradle daemon in the foreground.]' \ - {-g,--gradle-user-home}'[Specifies the gradle user home directory.]:home directory:_directories' \ - '(-)--gui[Launches the Gradle GUI.]' \ - {-I,--init-script}'[Specifies an initialization script.]:init script:_files -g "*.gradle(-.)"' \ - '(-d --debug -q --quiet)'{-i,--info}'[Set log level to info.]' \ - {-m,--dry-run}'[Runs the builds with all task actions disabled.]' \ - '--no-color[Do not use color in the console output.]' \ - '(--daemon)--no-daemon[Do not use the Gradle daemon to run the build.]' \ - '--no-opt[Ignore any task optimization.]' \ - '--offline[The build should operate without accessing network resources.]' \ - \*{-P+,--project-prop}'[Set project property for the build script (e.g. -Pmyprop=myvalue).]:project property (prop=val):' \ - {-p,--project-dir}'[Specifies the start directory for Gradle.]:start directory:_directories' \ - '--parallel[Build projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \ - '--parallel-threads[Build projects in parallel, using the specified number of executor threads.]' \ - '--profile[Profiles build execution time and generates a report in the <build_dir>/reports/profile directory.]' \ - '--project-cache-dir[Specifies the project-specific cache directory.]:cache directory:_directories' \ - '(-d --debug -i --info)'{-q,--quiet}'[Log errors only.]' \ - '--recompile-scripts[Force build script recompiling.]' \ - '--refresh[Refresh the state of resources of the type(s) specified.]:refresh policy:(dependencies)' \ - '--refresh-dependencies[Refresh the state of dependencies.]' \ - '--rerun-tasks[Ignore previously cached task results.]' \ - '(-S --full-stacktrace)'{-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \ - '(-s --stacktrace)'{-S,--full-stacktrace}'[Print out the full (very verbose) stacktrace for all exceptions.]' \ - '(-)--stop[Stops the Gradle daemon if it is running.]' \ - {-u,--no-search-upward}"[Don't search in parent folders for a settings.gradle file.]" \ - '(-)'{-v,--version}'[Print version info.]' \ - {-x,--exclude-task}'[Specify a task to be excluded from execution.]:task to exclude:->task' \ - '*:task:->task' \ - && ret=0 - -if [[ $state == task && ! -prefix - ]]; then - # :<task> runs <task> in the root project only. - # :<subproject>:<task> is the same as <subproject>:<task> (without the leading colon). - compset -P \: - - if [[ $gradle_inspect == yes ]]; then - # If a build file is specified after '-b' or '--build-file', use this file. Otherwise, - # default is the file 'build.gradle' in the current directory. - gradle_buildfile=${${(v)opt_args[(i)-b|--build-file]}:-build.gradle} - - if [[ -f $gradle_buildfile ]]; then - # Cache name is constructed from the absolute path of the build file. - cache_name=${${gradle_buildfile:a}//[^[:alnum:]]/_} - - if _cache_invalid $cache_name || ! _retrieve_cache $cache_name; then - zle -R "Generating cache from $gradle_buildfile" - - # Run gradle/gradlew and retrieve possible tasks. - for outputline in ${(f)"$($service --build-file $gradle_buildfile -q tasks --all)"}; do - - # Tasks and subprojects each start with a lowercase letter, but whereas tasks are in camelCase, each - # subproject consists of one or more sections of kebab-case, with each section ending in a ':'. - # A subproject task is a task prefixed with a subproject and runs in that project only. - # Specifying a task without a subproject prefix runs the task in all subprojects where it exists. - # Tasks prefixed by whitespace are dependencies of the task above them and should be ignored. - if [[ $outputline == (#b)([[:lower:]][-[:lower:][:digit:]]#\:)#([[:lower:]][[:alnum:]]#)(|' - '*) ]] - then - task=$match[-2] - task_descr=${match[-1]# - } - shift -p 2 match - subproject=${(j::)match//:/'\:'} - - if [[ -n $subproject ]]; then - gradle_subprojects+=( ${subproject%'\:'} ) - task_map[$subproject$task]=$task_descr - - # We cannot count on the description of a subproject task to be representative of the task - # in general. - : ${task_map[$task]=} - else - task_map[$task]=$task_descr - fi - fi - done - printf -v gradle_tasks '%s:%s' "${(kv@)task_map}" - _store_cache $cache_name gradle_subprojects gradle_tasks - fi - - if [[ $IPREFIX == *: ]] || ! zstyle -T ":completion:${curcontext}:subprojects" prefix-needed; then - _describe -t subprojects 'gradle subproject' gradle_subprojects -S \: && - ret=0 - fi - if [[ $PREFIX == *:* ]] || ! zstyle -T ":completion:${curcontext}:tasks" prefix-needed; then - tasks=( $gradle_tasks[@] ) - else - # If no subproject is specified, then filter out all subproject tasks. - tasks=( ${gradle_tasks[@]:#*'\:'*} ) - fi - _describe -t tasks 'gradle task' tasks && - ret=0 - fi - else - _describe -t tasks 'built-in task' '( - "dependencies:Displays all dependencies declared in root project." - "dependencyInsight:Displays the insight into a specific dependency in root project." - "help:Displays a help message." - "projects:Displays the sub-projects of root project." - "properties:Displays the properties of root project." - "tasks:Displays the tasks runnable from root project." - )' && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_graphicsmagick b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_graphicsmagick deleted file mode 100644 index dc799085..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_graphicsmagick +++ /dev/null @@ -1,547 +0,0 @@ -#compdef gm - -local state line expl formats curcontext="$curcontext" -typeset -A opt_args - -formats=jpg:jpeg:jp2:j2k:jpc:jpx:jpf:tif:tiff:miff:ras:bmp:cgm:dcx:ps:eps:fig:fits:fpx:gif:mpeg:pbm:pgm:ppm:pcd:pcl:pdf:pcx:png:rad:rgb:rgba:rle:sgi:html:shtml:tga:ttf:uil:xcf:xwd:xbm:xpm:yuv - -if (( $# )); then - _files "$@" -g "*.(#i)(${~formats//:/|})(-.)" - return -fi - -if (( CURRENT == 2 )); then - compadd animate benchmark compare composite conjure convert display help identify import mogrify montage version - -else - -case "$words[2]" in - (display) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colormap:colormap type:(shared private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-enhance[enhance noisy image]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-immutable[disallow image modifications]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-magnify:factor' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:3-D edges (raised)' \ - '*+raise:3-D edges (lowered)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-segment:cluster pixel number' \ - '*-shared_memory' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-texture:background texture image:_imagemagick' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-update:redisplay test time (seconds)' \ - '*-use_pixmap' \ - '*-verbose' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*-window_group' \ - '*-write:output filename:_files' \ - '*:picture file:_imagemagick' && return - ;; - - (animate) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '*-colormap:colormap type:(Shared Private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dither[apply dithering]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-noop' \ - '*-pause:delay (seconds)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-scenes:image scene number' \ - '*-shared_memory' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-verbose[print image information]' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*:picture file:_imagemagick' && return - ;; - - (import) - _x_arguments -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-border:border size (<width>x<height>):' \ - '-bordercolor:color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-debug' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-descend[descend window hierarchy]' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-frame[include window manager frame]' \ - '(- *)-help[display help information]' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-pause:delay (seconds)' \ - '-ping' \ - '-pointsize:Postscript font size' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '-scene:number of screen snapshots' \ - '-screen[get root window]' \ - '-silent[be quiet]' \ - '-snaps:number' \ - '-transparent:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-trim' \ - '-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '-verbose[print image information]' \ - '-window:window ID to get:_x_window' \ - ':output file:_files' && return - ;; - - (montage) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-adjoin[join images]' \ - '*-background:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-frame[draw frame around image]' \ - '*-font:annotation font:_x_font' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '(- *)-help[display help information]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-mode:montage type:(Frame Unframe Concatenate)' \ - '*-monochrome[transform to black and white]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-shadow[add shadow]' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-stroke:color:_x_color' \ - '*-texture:background texture image:_imagemagick' \ - '*-tile:number of tiles (<width>x<height>)' \ - '*-title:image title' \ - '*-transparent:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '*-verbose[print image information]' \ - '*:picture file:_imagemagick' && return - ;; - - (convert) - _arguments -C -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-affine[drawing transform matrix]:matrix' \ - '-antialias[remove pixel aliasing]' \ - '-append[append image sequence]' \ - '-average[average image sequence]' \ - '-background[specify background color]:color:_x_color' \ - '-blur:blur factor (0.0 - 99.9%%)' \ - '-border:border size (<width>x<height>)' \ - '-bordercolor:border color:_x_color' \ - '-box:annotation bounding box color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-channel:channel:(Red Green Blue Opacity Cyan Magenta Yellow Black)' \ - '-charcoal:charcoal drawing factor' \ - '-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '-clip' \ - '-coalesce[merge image sequence]' \ - '-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-contrast[enhance contrast]' \ - '+contrast[reduce contrast]' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-cycle:image colormap shift' \ - '-debug' \ - '-deconstruct[break down image sequence into parts]' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-despeckle[reduce speckles in image]' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '-edge:edge detection factor (0.0 - 99.9%%)' \ - '-emboss[emboss image]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-enhance[enhance image]' \ - '-equalize[histogram equalization]' \ - '-fill[specify color to use when filling a graphic primitive]:color:_x_color' \ - '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '-flatten[flatten a sequence of images]' \ - '-flip[vertical mirror image]' \ - '-flop[horizontal mirror image]' \ - '-font:annotation font:_x_font' \ - '-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '-fuzz:maximum distance for equal colors' \ - '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-implode:implosion factor (0.0 - 99.9%%)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-layer:layer type:(Red Green Blue Matte)' \ - '-linewidth:line width' \ - '-loop:number of iterations (GIF animation)' \ - '-map[single image colormap file]:picture file for colors:_imagemagick' \ - '+map[all images colormap file]:picture file for colors:_imagemagick' \ - '-matte[store matte channel]' \ - '-modulate:<brightness>,<saturation>,<hue>' \ - '-monochrome[transform to black and white]' \ - '-morph[morph image sequence]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-noise[noise peak elimination]' \ - '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '-normalize[use full color value range]' \ - '-opaque:image pen color:_x_color' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-paint:oil painting radius' \ - '-pen:font color:_x_color' \ - '-pointsize:Postscript font size' \ - '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \ - '-profile:information profile:->profile' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-raise:lighten or darken edges (<width>x<height>)' \ - '-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sample:scale factors (<width>x<height>)' \ - '-scene:image scene number' \ - '-seed:random number seed' \ - '-segment:segment thresholds (<cluster>x<smoothing>)' \ - '-shade:image shading (<azimuth>x<elevation>)' \ - '-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '-shear:shearing angles (<x>x<y> in degrees)' \ - '-size:image size (<width>x<height>+<offset>)' \ - '-solarize:solarization threshold' \ - '-spread:neighborhood size' \ - '-swirl:swirl tightness' \ - '-texture:background texture image:_imagemagick' \ - '-threshold:threshold for maximum intensity' \ - '-transparency:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '-verbose[print image information]' \ - '-view:FlashPix viewing parameters' \ - '-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - - if [[ "$state" = profile ]]; then - if compset -P 1 '*:'; then - _files - else - _wanted prefixes expl 'profile type' compadd icc: iptc: - fi - return - fi - ;; - - (composite) - _arguments -M 'm:{a-z}={A-Z}' \ - '-blend:blending factor (0.0 - 99.9%%)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-displace:displacements scales (<horizontal>x<vertical>)' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '+dither[render Postscript without aliasing]' \ - '-font:normal text font:_x_font' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-matte[store matte channel]' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-scene:image scene number' \ - '-stegano:watermark offset' \ - '-stereo[create stereo anaglyph]' \ - '-tile[repeat composite operation]' \ - '-treedepth:color reduction tree depth' \ - '-verbose[print image information]' \ - ':image file:_imagemagick' \ - ':composite file:_imagemagick' \ - ':mask or combined file:_imagemagick' \ - ':combined file:_files' && return - ;; - - (mogrify) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-affine[drawing transform matrix]:matrix' \ - '*-antialias[remove pixel aliasing]' \ - '*-background[specify background color]:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:border color:_x_color' \ - '*-box:annotation bounding box color:_x_color' \ - '*-charcoal:charcoal drawing factor' \ - '*-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-cycle:image colormap shift' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-emboss[emboss image]' \ - '*-enhance[enhance image]' \ - '*-equalize[histogram equalization]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - "*-format:output file format:(${formats//:/ })" \ - '*-font:annotation font:_x_font' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-fuzz:maximum distance for equal colors' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '*-implode:implosion factor (0.0 - 99.9%%)' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-layer:layer type:(Red Green Blue Matte)' \ - '*-linewidth:line width' \ - '*-loop:number of iterations (GIF animation)' \ - '*-map[single image colormap file]:picture file for colors:_imagemagick' \ - '*+map[all images colormap file]:picture file for colors:_imagemagick' \ - '*-matte[store matte channel]' \ - '*-modulate:<brightness>,<saturation>,<hue>' \ - '*-monochrome[transform to black and white]' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noise[noise peak elimination]' \ - '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '*-normalize[use full color value range]' \ - '*-opaque:image pen color:_x_color' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-paint:oil painting radius' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:lighten or darken edges (<width>x<height>)' \ - '*-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-scene:image scene number' \ - '*-seed:random number seed' \ - '*-segment:segment thresholds (<cluster>x<smoothing>)' \ - '*-shade:image shading (<azimuth>x<elevation>)' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-shave:shave edges (<width>x<height>{%%})' \ - '*-shear:shearing angles (<x>x<y> in degrees)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-solarize:solarization threshold' \ - '*-spread:neighborhood size' \ - '*-swirl:swirl tightness' \ - '*-texture:background texture image:_imagemagick' \ - '*-threshold:threshold for maximum intensity' \ - '*-transparency:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '*-verbose[print image information]' \ - '*-view:FlashPix viewing parameters' \ - '*-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - ;; - - (identify) - _arguments \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-debug' '*-ping' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth[specify image depth]:image depth:(8 16)' \ - '*-format[specify format for image characteristics]:format' \ - '(- *)-help[display help information]' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-verbose[print more detailed info about image]' \ - '*:picture file:_imagemagick' && return - ;; - - (compare) - _arguments \ - '*-authenticate[decrypt image]:password' \ - '*-colorspace[alternate image colorspace]:type' \ - '*-debug[display copious debugging information]:events' \ - '*-define[coder/decoder specific options]:values' \ - '*-density[ horizontal and vertical density of the image]:geometry' \ - '*-depth[image depth]:value' \ - '*-display[get image or font from this X server]:server' \ - '*-endian[multibyte word order]:(LSB MSB Native)' \ - '*-file[write difference image to this file]:file:_files' \ - '(- *)-help[print program options]' \ - '*-highlight-color[color to use when annotating difference pixels]:color' \ - '*-highlight-style[pixel highlight style]:(assign threshold tint xor)' \ - '*-interlace:type:(None Line Plane Partition)' \ - '*-limit:resource limit type and value:(Disk Files Map Memory Pixels)' \ - '*-log[format of debugging information]:format' \ - '*-matte[store matte channel if the image has one]' \ - '*-metric[comparison metric (MAE, MSE, PAE, PSNR, RMSE)]' \ - '*-monitor[show progress indication]' \ - '*-sampling-factor[horizontal and vertical sampling factors]:factors' \ - '*-size[width and height of image]:geometry' \ - '*-type[image type]:type' \ - '*-verbose[print detailed information about the image]' \ - '*-version[print version information]' \ - '*:picture file:_files' && return - ;; - - (*) _message 'unknown' ;; -esac - -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep deleted file mode 100644 index 2dcbff4a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep +++ /dev/null @@ -1,142 +0,0 @@ -#compdef grep egrep fgrep bsdgrep rgrep zgrep zegrep zfgrep ggrep gegrep gfgrep gzgrep gzegrep gzfgrep bzgrep bzegrep bzfgrep -value-,GREP_OPTIONS,-default- - -local command variant -local -a arguments matchers - -if [[ $service = *GREP_OPT* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - command=grep -else - arguments=( '(-e --regexp -f --file)1: :_guard "^-*" pattern' ) - if [[ $service = z* ]]; then - arguments+=( '*: :_files -g "*.gz(-.)"' ) - elif [[ $service = bz* ]]; then - arguments+=( '*: :_files -g "*.bz2(-.)"' ) - else - arguments+=( '*: :_files' ) - fi - command="$words[1]" -fi - -if [[ $service != (|g|z|gz|bz)[ef]grep ]]; then - matchers='(--extended-regexp --fixed-strings --basic-regexp --perl-regexp -E -F -G -P)' - arguments+=( - $matchers{--extended-regexp,-E}'[use extended regular expression]' - $matchers{--fixed-strings,-F}'[use literal strings]' - $matchers{--basic-regexp,-G}'[use basic regular expression]' - ) -fi -[[ $service = rgrep ]] || arguments+=( - '(--directories -d -r --recursive)'{--directories=,-d+}'[specify handling of directories]:action on directory:(read skip recurse)' - '(--recursive -r --dereference-recursive -R -d --directories)'{--recursive,-r}'[recurse subdirectories]' -) - -arguments+=( - '(--after-context -A)'{--after-context=,-A+}'[specify lines of trailing context]:lines' - '(--text -a --binary-files -I)'{--text,-a}'[process binary file as if it were text]' - '(--before-context -B)'{--before-context=,-B+}'[specify lines of leading context]:lines' - '(--context -C)'{--context=,-C-}'[specify lines of context]:lines' - '(--color --colour)--'{color,colour}'=-[distinguish matching string]::when:(always never auto)' - '(--byte-offset -b -c)'{--byte-offset,-b}'[print the byte offset with output lines]' - '(--text -a -I)--binary-files=[specify type to assume for binary files]:file type:(binary without-match text)' - '(--count -c --byte-offset -b --line-number -n)'{--count,-c}'[only print a count of matching lines]' - '(--devices -D)'{--devices=,-D+}'[specify handling of devices, FIFOs and sockets]:action on device:(read skip)' - '(1)*'{--regexp=,-e+}'[specify pattern]:pattern' - '(1)*'{--file=,-f+}'[specify pattern file]:file:_files' - '(--with-filename -H --no-filename -h)'{--with-filename,-H}'[print filename with each match]' - '(--no-filename -h --with-filename -H --null -Z --files-without-match -L --file-with-matches -l)'{--no-filename,-h}'[suppress printing of filenames]' - '--label=[provide filename to print for stdin]:filename label for stdin' - '--line-buffered[flush output on every line]' - '(--text -a --binary-files)-I[process binary files as if non-matching]' - '(--ignore-case -i -y)'{--ignore-case,-i,-y}'[case-insensitive]' - '(--files-without-match -L --file-with-matches -l --no-filename -h -o --only-matching)'{--files-without-match,-L}"[output non-matching files' names only]" - '(--files-with-matches -l --files-without-match -L --no-filename -h -o --only-matching)'{--files-with-matches,-l}"[output matching files' names only]" - '(--max-count -m)'{--max-count=,-m+}'[stop after specified no of matches in each file]:max number of matches' - '(--line-number -n -c)'{--line-number,-n}'[prefix output with line numbers]' - '(--only-matching -o --files-with-matches -l --files-without-match -L)'{--only-matching,-o}'[show only matching part of line]' - '(--quiet --silent -q)'{--quiet,--silent,-q}'[suppress normal output]' - '*--include=[examine files matching specified pattern]:file pattern' - '*--exclude=[skip files matching specified pattern]:file pattern' - '*--exclude-dir=[skip directories matching specified pattern]:directory pattern' - '(--no-messages -s)'{--no-messages,-s}'[suppress messages about unreadable or non-existent files]' - '(--version -V)'{--version,-V}'[display version info]' - '(--invert-match -v)'{--invert-match,-v}'[select non-matching lines]' - '(--word-regexp -w --line-regexp -x)'{--word-regexp,-w}'[force pattern to match only whole words]' - '(--line-regexp -x --word-regexp -w)'{--line-regexp,-x}'[force pattern to match only whole lines]' - '(-)--help[display help information]' -) - -_pick_variant -r variant -c "$command" gnu=gnu gpl2=2.5.1 unix --version -case $variant:$OSTYPE in - (gnu:*|gpl2:freebsd*)) - [[ $service != (|g|z|gz|bz)[ef]grep ]] && arguments+=( - $matchers{--perl-regexp,-P}'[use perl regular expression]' - ) - ;| - *:openbsd*|unix:freebsd*) - arguments=( # argument to context is optional and after = only - ${arguments:#((#s)|*\))-(C|-context)*} - '(--context -C)'{--context=-,-C-}'[specify lines of context]::lines' - ) - ;| - (gnu:*|gpl2:(free|net)bsd*)) - arguments+=( - '*--exclude-from=[skip files matching pattern in specified file]:file:_files' - '(-z --null-data)'{-z,--null-data}'[input data separated by 0 byte, not newline]' - ) - ;| - gpl2:(freebsd|darwin)*) - arguments+=( - '(--null --no-filename -h)--null[print 0 byte after each filename]' - '(-Z --decompress -J --bz2decompress)'{-J,--bz2decompress}"[decompress bzip2'ed input before searching]" - '(-Z --decompress -J --bz2decompress)'{-Z,--decompress}"[decompress gzip'ed input before searching]" - ) - ;| - (gpl2:darwin*|unix:freebsd*)) - arguments+=( - '(-p -S)-O[recurse symlinks on the command line]' - "!(-O -S)-p[don't recurse symlinks]" - '(-O -p)-S[recurse all symlinks]' - '*--include-dir=[only search directories matching specified pattern]:directory pattern' - ) - ;| - (gnu:*|gpl2:netbsd*|unix:freebsd*)) - arguments+=( - '(--null -Z --no-filename -h)'{--null,-Z}'[print 0 byte after each filename]' - ) - ;| - gnu:*) - arguments+=( - '(--no-group-separator)--group-separator=[specify separator between blocks of context]:separator [--]' - "(--group-separator)--no-group-separator[don't separate context blocks]" - '(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up (if needed)]' - '(--recursive -r --dereference-recursive -R -d --directories)'{--dereference-recursive,-R}'[recurse subdirectories, following symlinks]' - ) - ;; - unix:freebsd*) - arguments+=( - '!(-U --binary --binary-files)'{-U,--binary} - '--mmap[use mmap(2) instead of read(2) to read input]' - ) - [[ $service = rgrep ]] || arguments+=( - '(--recursive -r -d --directories)-R[recurse subdirectories]' - ) - ;; - gpl2:*) arguments=( ${${arguments:#*\)-r}/\)-r/\)-R} ) ;; - *:openbsd*) - arguments=( - ${(M)arguments:#((#s)|*\))--(context|binary-files|line-buffered|label|max-count)*} - ${${arguments:#((#s)|*\))(\*|)-[d-]*}/\)-r/\)-R} - "-U[search binary files but don't print them]" - '-Z[behave as zgrep]' - ) - ;; - *) - # remove long options and GNU specific short opts, this is right for solaris - arguments=( ${arguments:#((#s)|*\))(\*|)-[aABCdDfGHILmorVy-]*} ) - ;; -esac - -_arguments -S -s $arguments[@] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep-excuses b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep-excuses deleted file mode 100644 index 972bd18c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_grep-excuses +++ /dev/null @@ -1,8 +0,0 @@ -#compdef grep-excuses - -_arguments \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any config files]' \ - '(--wipnity -w)'{--wipnity,-w}'[get information from release.debian.org]' \ - '--version[display version information]' \ - '--help[display help information]' \ - ':package:_deb_packages avail' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groff b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groff deleted file mode 100644 index d78d6540..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groff +++ /dev/null @@ -1,45 +0,0 @@ -#compdef groff - -local _troff_options - -_troff_options=('-a[ascii approximation of output]' - '-b[backtrace on error or warning]' - '-c[disable color output]' - '-C[enable compatibility mode]' - '*-d[define string]:definition:' - '-E[disable troff error messages]' - '-f[set default font family]:font family:' - '-F[set path for font DESC files]:path:' - '-i[process standard input after specified input files]' - '-m[include macro file]:name:(man mandoc mdoc me mm ms www)' - '-M[dir path for macro files]:path:' - '-n[number for the first page]:number:' - '-o[output only pages in list]:list:' - '*-r[set number register]:setting:' - '*-w[enable warning name]:name:' - '*-W[disable warning name]:name') - -_arguments \ - '-e[preprocess with eqn]' \ - '-g[preprocess with grn]' \ - '-G[preprocess with grap]' \ - '(-h --help)'{-h,--help}'[help]' \ - '-I[add search dir for soelim]:directory:_files -/' \ - '-l[send output to spooler program for printing]' \ - '*-L[pass arg to spooler program]:spooler argument:' \ - "-N[don't allow newlines within eqn delimiters]" \ - '-p[preprocess with pic]' \ - '*-P[pass option to postprocessor]:option:' \ - '-R[preprocess with refer]' \ - '-s[preprocess with soelim]' \ - '(-U)-S[safer mode]' \ - '-t[preprocess with tbl]' \ - '-T[set output device]:device:((ascii\:ASCII\ character\ set cp1047\:EBDIC\ code\ page\ IBM\ cp1047 nippon\:Japanese-EUC\ character\ set dvi\:TeX\ DVI\ format html\:HTML\ output ascii8\:8-bit\ clean latin1\:ISO\ 8859-1 lbp\:Canon\ CAPSL\ printers lj4\:HP\ LaserJet4-compatible\ printers ps\:PostScript\ output utf8\:Unicode\ \(ISO\ 10646\)\ character\ set X75\:75dpi\ X\ Window\ System\ output X75-12\:75dpi\ X\ Window\ System\ output\ \(12pt\) X100\:100dpi\ X\ Window\ System\ output X100-12\:100dpi\ X\ Window\ System\ output\ \(12pt\)))' \ - '(-S)-U[unsafe mode]' \ - '(-v --version)'{-v,--version}'[version]' \ - '-V[output the pipeline that would be run but do not execute]' \ - '-X[use gxditview instead of the usual postprocessor]' \ - '-z[suppress output generated by troff]' \ - '-Z[do not postprocess the output of troff]' \ - "$_troff_options[@]" \ - ':file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groups b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groups deleted file mode 100644 index c5e5aaf8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_groups +++ /dev/null @@ -1,28 +0,0 @@ -#compdef newgrp groupdel - -local expl groups tmp - -_tags groups || return 1 - -if ! zstyle -a ":completion:${curcontext}:" groups groups; then - (( $+_cache_groups )) || - if [[ $OSTYPE = darwin* ]]; then - if (( ${+commands[lookupd]} )); then - : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups lookupd -q group)"}:#name*}##*: }} - elif (( ${+commands[dscacheutil]} )); then - : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups dscacheutil -q group)"}:#name*}##*: }} - fi - elif (( ${+commands[getent]} )); then - : ${(A)_cache_groups:=${${(f)"$(_call_program groups getent group 2>/dev/null)"}%%:*}} - else - : ${(A)_cache_groups:=${${${(f)"$(</etc/group)"}%%:*}:#+}} - if (( ${+commands[ypcat]} )) && - tmp=$(_call_program groups ypcat group.byname 2>/dev/null); then - _cache_groups+=( ${${(f)tmp}%%:*} ) # If you use YP - fi - fi - - groups=( "$_cache_groups[@]" ) -fi - -_wanted groups expl group compadd -a "$@" - groups diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_growisofs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_growisofs deleted file mode 100644 index 206d2c2c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_growisofs +++ /dev/null @@ -1,345 +0,0 @@ -#compdef mkisofs growisofs - -local context state line -typeset -A opt_args - -declare -a find_options - -find_options=( - '( -L -P)-H[follow symbolic links encountered on the command line]' - '(-H -P)-L[follow all symbolic links]' - '(-H -L )-P[do not follow symbolic links (default)]' - '(- *)-help[print -find help]' - '(- *)-version[print -find version]') - -local find_paths -find_paths='*: :_directories' - -declare -a find_operators - -find_operators=( - '*-a[logical and of options]' - '*-o[logical or of options]') - -declare -a find_expressions - -# TODO: Modes (see _chmod) -# TODO: Ranges -# TODO: The -type types should be documented correctly and only include D on -# Solaris systems (?) -# TODO: --sfm is only available on NT systems (i.e., cygwin?) -find_expressions=( - '*-acl[true if the file has additional ACLs defined]' - '*-atime[true if the last-access time is in the specified range]:range' - '*-chgrp[change group of file]:group:_group' - '*-chmod[change mode of file]:mode' - '*-chown[change user of file]:user:_user' - '*-ctime[true if the inode-change time is in the specified range]:range' - '*-depth[evaluate directory contents before directory itself]' - '*-dostat[do not do stat optimization]' - '*-exec[execute program on found file]:program: _command_names -e:*\;::program arguments: _normal' - '*-false[always false]' - '*-fstype[true if the file is on a file system of the given type]:file-system type:_file_systems' - '*-group[true if the file is owned by the given group]:group:_groups' - '*-inum[true if the inode of the file is in the specified range]:inode range' - '*-linkedto[true if the file is linked to the given file]:file:_files' - '*-links[true if the file has a number of links to it in the specified range]:number of links' - '*-lname[true if symbolic-link name matches the given glob]:glob' - '*-local[true if the file is on a local file-system]' - '*-lpat[true if symbolic-link name matches the given pattern]:pattern' - '*-ls[list found files]' - '*-maxdepth[descend at most the given number of directories deep]:maximum search depth:' - '*-mindepth[descend at least the given number of directories deep]:minimum search depth' - '*-mtime[true if the last-modification time is in the specified range]:range' - '*-name[true if file-name matches the given glob]:glob' - '*-newer[true if last-modification time is newer than that of the given file]:file:_files' - '*-neweraa[true if the last-access time is newer than that of the given file]:file:_files' - '*-newerac[true if the last-access time is newer than the inode-change time of the given file]:file:_files' - '*-neweram[true if the last-access time is newer than the last-modification time of the given file]:file:_files' - '*-newerca[true if the inode-change time is newer than the last-access time of the given file]:file:_files' - '*-newercc[true if the inode-change time is newer than that of the given file]:file:_files' - '*-newercm[true if the inode-change time is newer than the last-modification time of the given file]:file:_files' - '*-newerma[true if the last-modification time is newer than the last-access time of the given file]:file:_files' - '*-newermc[true if the last-modification time is newer than the inode-change time of the given file]:file:_files' - '*-newermm[true if the last-modification time is newer than that of the given file]:file:_files' - '*-nogroup[true if the group of the file is not in the group database]' - '*-nouser[true if the user of the file is not in the user database]' - '*-ok[execute program on found file, after confirmation]:program: _command_names -e:*\;::program arguments: _normal' - '*-pat[true if the file-name matches the given pattern]:pattern' - '*-path[true if the full path matches the given glob]:glob' - '*-perm[true if the given symbolic or octal permission matches that of the file]:mode' - '*-ppat[true if the full path matches the given pattern]:pattern' - '*-print[print filenames to stdout separated by newlines]' - '*-printnnl[print filenames to stdout separated by spaces]' - '*-prune[do not descend into found directory]' - '*-size[true if the size of the file is in the given range]:range' - '*-sparse[true if the file appears to be sparse]' - '*-true[always true]' - '*-type[true if the file is of the given type]:file type:((b\:"block (buffered) special" - c\:"character (unbuffered) special" - d\:directory - p\:"named pipe (FIFO)" - f\:"regular file" - l\:"symbolic link" - s\:socket - D\:"door (Solaris)" - e\:unknown))' - '*-user[true if the file is owned by the given user]:user:_users' - '*-xattr[true if the file has extended attributes]' - '*'{-xdev,-mount}'[restrict the search to the current file-system]') - -(( $+_cache_mkisofs_find_primaries_not_taking_an_argument )) || -_cache_mkisofs_find_primaries_not_taking_an_argument=(\) ${${${find_expressions:#\*-*\[*\]:*}#\*}%%\[*}) - -(( $+_cache_mkisofs_find_primaries_taking_an_argument )) || -_cache_mkisofs_find_primaries_taking_an_argument=(${${${(M)find_expressions:#\*-*\[*\]:*}#\*}%%\[*}) - -(( $+functions[_mkisofs_character_sets] )) || -_mkisofs_character_sets () { - local expl character_sets - character_sets=${${(f)"$(_call_program character-sets mkisofs -input-charset help 2>&1)"}[3,-1]} - _wanted character-sets expl 'character set' compadd - $character_sets -} - -(( $+functions[_mkisofs_sparc_boot_images] )) || -_mkisofs_sparc_boot_images () { - compset -P '*,' - sep='-qS,' - [[ $words[CURRENT] == ?*,?*,?*,?*,?*,?*,* ]] && sep= - _alternative \ - "boot-images:boot image:_files $sep" \ - 'boot-image-replications:boot-image replication:((...\:"use the previous boot-image for the rest of the partitions"))' -} - -# TODO: Need to escape = in the result. -(( $+functions[_mkisofs_pathspec] )) || -_mkisofs_pathspec () { - local sep - if (( $words[(I)-graft-points] )); then - if ! compset -P 1 '*[^\\]\='; then - sep='-qS=' - fi - fi - _files $sep -} - - -integer index_of_find -(( index_of_find = $words[(I)-find] )) - -if (( index_of_find > 0 && index_of_find < CURRENT )); then - if (( $words[(I)-help] || $words[(I)-version] )); then - _message 'no more arguments' - elif (( index_of_find == CURRENT - 1 )); then - _arguments \ - $find_options \ - $find_paths \ - $find_expressions - elif ((( index_of_find == CURRENT - 2 )) && - [[ $words[CURRENT-1] == -([HLP]|-(help|version)) ]]) || - [[ -d $words[CURRENT-1] ]]; then - # TODO: all $words[index_of_find,CURRENT-1] must be -d. - # But we can perhaps assume that the user hasn't gone back and changed an - # argument without thinking about it carefully...otherwise, all previous - # words of interest will have passed the -d test. - _arguments \ - $find_paths \ - $find_expressions - else - integer i - (( i = index_of_find + 1 )) - while [[ $words[i] == -([HLP]|-(help|version)) ]]; do - (( i++ )) - done - while [[ -d $words[i] ]]; do - (( i++ )) - done - words=($words[1,index_of_find] $words[i,-1]) - (( CURRENT -= i - index_of_find - 1 )) - echo one: $i - $CURRENT - $words > /dev/pts/8 - integer old_words_length - (( old_words_length = $#words )) - words=(${words:#\\[()\!]}) - (( CURRENT -= old_words_length - $#words )) - echo two: $i - $CURRENT - $words > /dev/pts/8 - _arguments \ - $find_operators \ - $find_expressions - fi - # elif (( $_cache_mkisofs_find_primaries_not_taking_an_argument[(I)$words[CURRENT-1]] || - # $_cache_mkisofs_find_primaries_taking_an_argument[(I)$words[CURRENT-2]] )); then - # _arguments \ - # $find_operators \ - # $find_expressions \ - # '*:fuck: ' - # echo 3 > /dev/pts/7 - # else - # _arguments \ - # $find_expressions \ - # '*:fuck: ' - # echo 4 > /dev/pts/7 - # fi -else - declare -a growisofs_options - - if [[ $service == growisofs ]]; then - growisofs_options=( - '-Z[burn an initial session to the selected device]:device:->devimg' - '-M[merge a session with an existing one on the selected device]:device:->devimg' - '-dvd-compat[provide maximum compatibility with DVD-ROM/Video]' - '-dry-run[do everything up to the actual burning process]' - '-overburn[allow overburning of the media]' - '-speed=-[set recording speed]:speed') - fi - - # TODO: -M device and -dev device - _arguments \ - '-abstract[specify the abstract file-name]:file:_files' \ - '-A[specify application id]:application id' \ - {-allow-leading-dots,-ldots}'[allow ISO9660 filenames to begin with a period]' \ - '-allow-lowercase[allow lower-case characters in ISO9660 filenames]' \ - '-allow-multidot[allow more than one dot in ISO9660 filen-names]' \ - '-biblio[specify the bibliographic file-name]:file:_files' \ - '(-no-cache-inodes )-cache-inodes[cache inode and device numbers to find hard links to files]' \ - '( -cache-inodes)-no-cache-inodes[do not cache inode and device numbers]' \ - '-b[specify path and file-name of a el torito boot-image]:boot image:_files' \ - '-eltorito-alt-boot[start a new set of el torito boot parameters]' \ - {-B,-sparc-boot}'[specify comma-separated list of boot images needed for sparc systems]:boot image:_mkisofs_sparc_boot_images' \ - '-G[specify path and file-name of a generic boot-image]:boot image:_files' \ - '-hard-disk-boot[specify that the el torito boot-image is a hard-disk image]' \ - '-no-emul-boot[specify that the el torito boot-image is a "no emulation" image]' \ - '-no-boot[specify that the el torito CD should be marked non-bootable]' \ - '-boot-load-seg[specify the load-segment address of the boot-image for a "no emulation" image]:segment address' \ - '-boot-lead-size[specify the number of 512-byte sectors to load in "no emulation" mode]:load sectors' \ - '-boot-info-table[specify that a 56-byte table of CD-ROM-layout information should be written]' \ - '-C[specify last session start and next session start addresses for CDextra]' \ - '-c[specify the path and file-name of a boot catalog to be used for an el torito bootable-CD]' \ - '-check-oldnames[check all filenames imported from an old session against current rules]' \ - '-check-session[check old session for compliance against current rules]' \ - '-copyright[specify the path and file-name of the copyright file]' \ - '-d[omit trailing period from files that do not have a period]' \ - "-D[don't use deep directory-reallocation]" \ - '-dir-mode[specify the mode of directories]' \ - '-dvd-video[generate a DVD-Video compliant UDF file-system]' \ - '-f[follow symbolic links when generating the file system]' \ - '-file-mode[specify the mode of regular files]' \ - '-find[the rest of the command line is treated like a find expression]' \ - '-gid[use the given group-id for files in the image]:group:_groups' \ - '-gui[behave favorable towards a GUI]' \ - '-graft-points[allow graft-points in filenames]' \ - '*-hide[hide files and directories matching the given glob on the image]:glob' \ - '-hide-list[hide files and directories found in the given file]:file-list file:_files' \ - '-hide-joliet[hide files and directories matching the given glob in the Joliet tree of the image]:glob' \ - '-hide-joliet-trans-tbl[hide the TRANS.TBL files from the Joliet tree]' \ - '-hide-rr-moved[rename the RR_MOVED directory to .rr_moved in the Rock Ridge tree]' \ - '-input-charset[specify the character set of source files]:character set:_mkisofs_character_sets' \ - '-output-charset[specify the character set of files in the Rock Ridge tree]:_mkisofs_character_sets' \ - '-iso-level[specify ISO9660 conformance level]:ISO9660 conformance level:(1 2 3 4)' \ - '-J[generate a Joliet tree]' \ - '-joliet-long[generate a Joliet tree allowing filenames up to 103 characters long]' \ - '-jcharset[specify the character set of files in the Joliet tree]:_mkisofs_character_sets' \ - '-l[allow full 31-character filenames]' \ - '-log-file[write all output to the given file]:log file:_files' \ - '-m[exclude files matching the given glob from the image]:glob' \ - '-exclude-list[exclude files matching globs in the given file]:glob file:_files' \ - '-max-iso9660-filenames[allow 37-character ISO9660-filenames]' \ - '-M[specify path or device to existing ISO9660 image to merge with]:ISO9660 image:_files' \ - '-dev[specify device of existing ISO9660 image to merge with]:ISO9660 device' \ - '-N[omit version numbers from ISO9660 filenames]' \ - '-new-dir-mode[mode to use when creating directories in the ISO9660 image]:mode' \ - {-nobak,-no-bak}'[do not include backup files on the ISO9660 file-system]' \ - '-force-rr[do not use the automatic Rock Ridge attribute-recognition for previous sessions]' \ - '-no-rr[do not use use the Rock Ridge attributes from previous sessions]' \ - "-no-split-symlink-components[don't split the symbolic-link components]" \ - '-no-split-symlink-fields[do not split the symbolic-link fields]' \ - '-o[output the ISO9660-file-system image to the given file]:ISO9660 image:_files' \ - '-pad[pad the end of the image by 150 sectors]' \ - '-no-pad[do not pad the end of the image by 150 sectors]' \ - '-path-list[read directory and file-name pathspecs from the given file]' \ - '-publisher[specify what should be written in the publisher volume-header]' \ - '-p[specify what should be written in the preparer volume-header]' \ - '-print-size[print estimated file-system-size in multiples of the sector size and exit]' \ - '-quiet[output even less information than usual]' \ - '-R[generate SUSP and RR records using the Rock-Ridge protocol]' \ - '-r[same as -R, but with more useful UID and GID values]' \ - '-relaxed-filenames[allow more characters in ISO9660 filenames]' \ - '-root[move all files and directories into the given directory on the image]:root directory:_directories' \ - '-rrip110[create ISO9660-file-system images that follow the Rrip v1.10 standard]' \ - '-rrip112[create ISO9660-file-system images that follow the Rrip v1.12 standard]' \ - '-old-root[specify the root directory used in a previous session]:old root-directory:_directories' \ - '-sort[sort files on the image based on weights defined in the given file]:sort-weighting file:_files' \ - '-sparc-label[set the sun disk-label-name used for the -sparc-boot option]:label' \ - '-split-output[split the output image into several files ~1GiB in size]' \ - '-stream-media-size[enable streaming operation and set media size to given number of sectors]:media size (sectors)' \ - '-stream-file-name[reserved for future use]:name' \ - '-sunx86-boot[specify a comma-separated list of file-system images needed to make a bootable Solaris-x86-CD]:list' \ - '-sunx86-label[specify the SVr4 disk-label-name for the SVr4 disk-label created with the -sunx86-boot option]:label' \ - '-sysid[specify the system ID]' \ - '-T[generate a TRANS.TBL file in each directory on the image]' \ - '-table-name[alternative translation-table filename]:translation-table filename:_files' \ - '-ucs-level[specify Unicode conformance-level in the Joliet directory]:Unicode conformance-level:(1 2 3)' \ - '-udf[include UDF support in the generated file-system image]' \ - '-uid[use the given user-id for files in the image]:user:_users' \ - '-use-fileversions[use version numbers found on the file system for files included in the image]' \ - '-U[allow basically any characters in filenames in the ISO9660 image]' \ - "-no-iso-translate[do not translate invalid characters '#' and '~' for ISO9660 filenames]" \ - '-V[specify the volume ID]:volume ID' \ - '-volset[specify the volume-set ID]:volume-set ID' \ - '-volset-size[specify the size of the volume-set]:volume-set size' \ - '-volset-seqno[specify the volume-set sequence-number]:volume-set sequence-number' \ - '*-v[enable verbose execution (given twice produces additional output)]' \ - '*-x[exclude complete pathname from the image]:path:_directories' \ - '-z[generate special RRIP records for transparently compressed files]' \ - '-hfs[create a ISO9660/HFS-hybrid CD]' \ - '-apple[create an ISO9660 CD with apple extensions]' \ - '-map[use the given file to map CREATOR and TYPE information for a file based on extension]:mapping file:_files' \ - '-magic[the CREATOR and TYPE information is set using the magic number of the file]:magic file:_files' \ - '-hfs-creator[specify the default CREATOR for all files in the image]:creator' \ - '-hfs-type[specify the default TYPE for all files in the image]:type' \ - '-probe[search the contents of files for known Apple/Unix file-formats]' \ - '-no-desktop[do not create (empty) Desktop files]' \ - '-map-name[use the HFS filename as the starting point for the image filenames]' \ - '-boot-hfs-file[use the given file as a boot driver]:boot-driver file:_files' \ - '-part[generate an HFS partition table]' \ - '-auto[make the HFS CD auto-start with the given file]:auto-start file:_files' \ - '-cluster-size[set the size in bytes of allocation units of PC-Exchange files]:cluster size' \ - '-hide-hfs[hide files matching the given glob from the HFS volume]:glob' \ - '-hide-hfs-list[hide files matching any of the globs found in the given file]:glob file:_files' \ - '-hfs-volid[volume name for the HFS partition]:HFS volume-name' \ - '-icon-position[use the icon-position information from the Apple/Unix file]' \ - '-root-info[set metadata for the root folder of the HFS volume]' \ - '*-prep-boot[specify the PReP boot-image-file]:PReP boot-image-file:_files' \ - '-input--hfs-charset[specify the character set used in HFS filenames]:character set:_mkisofs_character_sets' \ - '-output-hfs-charset[specify the character set of files in the HFS volume]:_mkisofs_character_sets' \ - '-hfs-unlock[do not lock the HFS volume]' \ - '-hfs-bless["bless" the given directory/folder]' \ - '-hfs-params[override certain parameters used to create the HFS file system]:parameters' \ - '--cap[look for AUFS CAP Macintosh files]' \ - '--netatalk[look for NETATALK Macintosh files]' \ - '--double[look for AppleDouble Macintosh files]' \ - '--ethershare[look for Helios EtherShare Macintosh files]' \ - '--ushare[look for IPT UShare Macintosh files]' \ - '--exchange[look for PC Exchange Macintosh files]' \ - '--sgi[look for SGI Macintosh files]' \ - '--xinet[look for XINET Macintosh files]' \ - '--macbin[look for MacBinary Macintosh files]' \ - '--single[look for AppleSingle Macintosh files]' \ - '--dave[look for Thursby Software Systems DAVE Macintosh files]' \ - "--sfm[look for Microsoft's Services for Macintosh files]" \ - '--osx-double[look for MacOS X AppleDouble Macintosh files]' \ - '--osx-hfs[look for MacOS X HFS Macintosh files]' \ - '(- *)-help[display help message]' \ - '(- *)-version[display version information]' \ - $growisofs_options \ - '*:pathspec:_mkisofs_pathspec' && return 0 - - case "$state" in - (devimg) - if compset -P 1 '*='; then - _files - else - _files -g "*(%,@)" - fi - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gsettings b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gsettings deleted file mode 100644 index 2724be0e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gsettings +++ /dev/null @@ -1,50 +0,0 @@ -#compdef gsettings - -local curcontext="$curcontext" state line expl ret=1 -local subcmds - -_arguments -A "-*" \ - '(- 1 *)--version[show version information]' \ - '--schemadir[specify location of schemata]:directory:_directories' \ - ':command:->subcmds' \ - '*::args:->subargs' && ret=0 - -if [[ $state = subargs ]]; then - curcontext="${curcontext%:*}-$words[1]:" - case $words[1] in - help) state=subcmds;; - describe|get|range|reset|writable|monitor) - _arguments ':schema:->schemata' ':key:->keys' - ;; - set) - _arguments ':schema:->schemata' ':key:->keys' ':value' - ;; - (list|reset)-(keys|recursively|children)) state=schemata ;; - list-schemas) - _arguments '--print-paths' - ;; - *) _default && ret=0 ;; - esac -fi - -case $state in - subcmds) - subcmds=( ${(L)${${(M)${${(f)"$(_call_program commands $service help)"}[(r)Commands:*,-2]}:# *}#??}/ ##/:} ) - _describe -t commands 'command' subcmds -M 'r:?|-=* r:|=*' && ret=0 - state='' - ;; - schemata) - if compset -P 1 '*:'; then - _directories && ret=0 - else - _wanted schemata expl 'schema' compadd -M 'r:|.=* r:|=*' \ - $(_call_program schemata $service list-schemas) && ret=0 - fi - ;; - keys) - _wanted keys expl 'key' compadd \ - $(_call_program keys $service list-keys $words[CURRENT-1]) && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gstat deleted file mode 100644 index 238defce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gstat +++ /dev/null @@ -1,14 +0,0 @@ -#compdef gstat - -_arguments -s : \ - '-a[only display providers that are at least 0.1% busy]' \ - '(-B)-b[batch mode]' \ - '(-b)-B[endless batch mode]' \ - '-c[enable the display geom(4) consumers]' \ - '(-b -B)-C[CSV output mode]' \ - '-d[enable the display delete operations]' \ - '-f+[filter by regex]:regex' \ - '-o[enable the display for other operations]' \ - "-s[enable blocks' size statistics]" \ - '-I+[display refresh rate]:interval (ms)' \ - '-p[only display physical providers]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guard b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guard deleted file mode 100644 index 1cbd4f39..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guard +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local garbage - -zparseopts -K -D -a garbage M+: J+: V+: 1 2 o+: n F: X+: - -[[ "$PREFIX$SUFFIX" != $~1 ]] && return 1 - -shift -_message -e "$*" - -[[ -n "$PREFIX$SUFFIX" ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guilt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guilt deleted file mode 100644 index 10455867..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_guilt +++ /dev/null @@ -1,43 +0,0 @@ -#compdef guilt guilt-add guilt-applied guilt-delete guilt-files guilt-fold guilt-fork guilt-header guilt-help guilt-import-commit guilt-import guilt-init guilt-new guilt-next guilt-patchbomb guilt-pop guilt-prev guilt-push guilt-rebase guilt-refresh guilt-rm guilt-series guilt-status guilt-top guilt-unapplied - -local -a _guilt_commands - -_guilt_commands=( -'add:add a file to git and guilt' -'applied:list applied patches' -'delete:delete a patch' -'files:print the list of files that the topmost patch changes' -'fold:fold a specified patch into the topmost applied patch' -'fork:fork the topmost applied patch' -'header:print a patch header' -'help:open man page of a guilt command' -'import-commit:import one or more commits as patches' -'import:import specified patch file' -'init:initialize guilt for use in a git repository' -'new:create a new patch' -'next:output the name of next patch to be pushed' -'patchbomb:email a series of commits interactively' -'pop:pop patches from the tree' -'prev:output name of second topmost applied patch' -'push:push patches onto the tree' -'rebase:rebase pushed patches' -'refresh:refresh topmost applied patch' -'rm:remove a file from the git tree and guilt' -'series:print the stack of patches' -'status:print the status of files since the last refresh' -'top:output name of topmost applied patch' -'unapplied:list all unapplied patches' -) - -case "$service" in - (guilt) - if (( CURRENT == 2 )); then - _describe -t commands 'guilt command' _guilt_commands && ret=0 - else - _files - fi - ;; - (*) - _files - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gv deleted file mode 100644 index 9b11ad31..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gv +++ /dev/null @@ -1,44 +0,0 @@ -#compdef gv - -_arguments \ - '-geometry:geometry:_x_geometry' \ - '(--nosafer)--safer' \ - '(--safer)--nosafer' \ - '(--noquiet)--quiet' \ - '(--quiet)--noquiet' \ - '(--nocenter)--center' \ - '(--center)--nocenter' \ - '(--noswap)--swap' \ - '(--swap)--noswap' \ - '(--noantialias)--antialias' \ - '(--antialias)--noantialias' \ - '(--nodsc)--dsc' \ - '(--dsc)--nodsc' \ - '(--noeof)--eof' \ - '(--eof)--noeof' \ - '(--nopixmap)--pixmap' \ - '(--pixmap)--nopixmap' \ - '(--nowatch)--watch' \ - '(--watch)--nowatch' \ - '(--noresize)--resize' \ - '(--resize)--noresize' \ - '(--monochrome --color)--grayscale' \ - '(--grayscale --color)--monochrome' \ - '(--landscape --seascape --upsidedown)--portrait' \ - '(--portrait --seascape --upsidedown)--landscape' \ - '(--portrait --landscape --upsidedown)--seascape' \ - '(--portrait --landscape --seascape)--upsidedown' \ - -{h,v} \ - -{,-}{help,version} \ - -{,-}{spartan,widgetless,presentation,fullscreen} \ - -{,-}{infoSilent,infoErrors,infoAll} \ - -{,-}'password=:password:' \ - '--arguments=:ghostscript arguments:' \ - '--page=:label of first page:' \ - '--media=:page size:(Letter Legal Statement Tabloid Ledger Folio Quarto 10x14 Executive A3 A4 A5 B4 B5)' \ - '--orientation=:orientation:(landscape seascape upsidedown portrait)' \ - '--scale=:scale entry:' \ - '--scalebase=:scale base:' \ - '--ad=:resource file:_files' \ - '--style=:resource file:_files' \ - '*:file: _pspdf -z' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gzip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gzip deleted file mode 100644 index 8354b34d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_gzip +++ /dev/null @@ -1,112 +0,0 @@ -#compdef gzip gunzip gzcat=gunzip pigz unpigz -redirect-,<,gunzip=gunzip -redirect-,>,gzip=gunzip -redirect-,<,gzip=gzip -value-,GZIP,-default- - -local decompress files expl curcontext="$curcontext" state line ret=1 -local -a pigz -typeset -A opt_args -local excl="--decompress --uncompress -1 -2 -3 -4 -5 -6 -7 -8 -9 -11 --best" - -files=( '*:files:->files' ) -case "$service" in -unpigz|pigz) - pigz=( - '(-A --alias)'{-A+,--alias=}'[specify filename to use in zip entry for stdin]:filename' - '(-C --comment)'{-C+,--comment=}'[put specified comment in the gzip or zip header]' - '(-H --huffman -U --rle)'{-H,--huffman}'[use only Huffman coding for compression]' - '(-U --rle -H --huffman)'{-U,--rle}'[use run-length encoding for compression]' - '(-K --zip -z --zlib)'{-K,--zip}'[compress to PKWare zip format]' - '(-b --blocksize)'{-b+,--blocksize}'[set compression block size]:size (KiB)' - '(-p --processes)'{-p,--processes}'[specify number of processes to use]' - '(-z --zlib -K --zip)'{-z,--zlib}'[compress to zlib (.zz) format]' - '(-m --no-time)'{-m,--no-time}"[don't store/restore modification time in/from header]" - '(-M --time)'{-M,--time}"[store/restore modification time in/from header]" - '(--synchronous)-Y[force output file write to permanent storage]' - ) -;| -pigz) - pigz+=( - '(-i --independent)'{-i,--independent}'[compress blocks independently to allow for damage recovery]' - "($excl)-11" - '(--rsyncable)-R[make rsync-friendly archive]' - "($excl)"{-F,--first}'[do iterations first, before block split]' - "($excl)"{-I+,--iterations}'[specify number of iterations for optimization]:iterations [15]' - "($excl)"{-J+,--maxsplits}'[specify maximum number of split blocks]:split blocks [15]' - "($excl)"{-O,--oneblock}"[don't split into smaller blocks]" - ) -;| -*GZIP*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - files=() - ;& -gunzip|zcat|unpigz) - decompress=yes - ;& -gzip|pigz) - _arguments -C -s -S \ - '(--to-stdout --stdout)-c[write on standard output]' \ - '(-c --stdout)--to-stdout[write on standard output]' \ - '(-c --to-stdout)--stdout[write on standard output]' \ - "($excl)"{-d,--decompress,--uncompress}'[decompress]' \ - '(--force)-f[force overwrite]' \ - '(-f)--force[force overwrite]' \ - '(- *)'{-h,--help}'[display help message]' \ - "(--keep)-k[don't delete input files]" \ - "(-k)--keep[don't delete input files]" \ - '(--list)-l[list compressed file contents]' \ - '(-l)--list[list compressed file contents]' \ - '(- *)'{-L,--license}'[display software license]' \ - "(--no-name)-n[don't save or restore the original name and time stamp]" \ - "(-n)--no-name[don't save or restore the original name and time stamp]" \ - '(--name)-N[save or restore the original name and time stamp]' \ - '(-N)--name[save or restore the original name and time stamp]' \ - '(--quiet --silent)-q[suppress all warnings]' \ - '(-q --silent)--quiet[suppress all warnings]' \ - '(-q --quiet)--silent[suppress all warnings]' \ - '(--recursive)-r[operate recursively on directories]' \ - '(-r)--recursive[operate recursively on directories]' \ - '(-R)--rsyncable[make rsync-friendly archive]' \ - '(--suffix)-S+[specify suffix for compressed files]:suffix:' \ - '(-S)--suffix=[specify suffix for compressed files]:suffix:' \ - '(-Y)--synchronous[force output file write to permanent storage]' \ - '(--test)-t[test compressed file integrity]' \ - '(-t)--test[test compressed file integrity]' \ - '(--verbose)-v[verbose mode]' \ - '(-v)--verbose[verbose mode]' \ - '(- *)'{-V,--version}'[display version number]' \ - "($excl)"-{-fast,1,2,3,4,5,6,7,8,9,-best} \ - "$pigz[@]" "$files[@]" && ret=0 - ;; -esac - -case "$state" in -files) - (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[--uncompress] || - $+opt_args[-l] || $+opt_args[--list] || - $+opt_args[-t] || $+opt_args[--test] )) && - decompress=yes - if (( $+opt_args[-r] || $+opt_args[--recursive] )); then - if [[ -z "$decompress" ]]; then - _description directories expl 'directory to compress' - _files "$expl[@]" -/ && return - else - _description directories expl 'compressed directory' - _files "$expl[@]" -/ && return - fi - else - if [[ -z "$decompress" ]]; then - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(([tT]|)[gG]|)[zZ](-.)' && return - else - _description files expl 'compressed file' - if (( $+opt_args[-f] )); then - _files "$expl[@]" && return - else - _files "$expl[@]" -g '*.(([tT]|)[gG]|)[zZ](-.)' && return - fi - fi - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hash deleted file mode 100644 index d4bb59d2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hash +++ /dev/null @@ -1,41 +0,0 @@ -#compdef hash rehash - -local state line expl common_args curcontext="$curcontext" ret=1 -typeset -A opt_args - -common_args=( \ - '-d[use named directory hash table]' \ - '(-r -m -v)-f[rebuild hash table]' ) - -case ${service} in - hash) - _arguments -C -s -S \ - '(-f -m -v)-r[empty hash table]' \ - '(-f -r)-m[treat arguments as patterns]' \ - '(-f -r -m)-v[list entries as they are added]' \ - '(-f -r -v)-L[list in the form of calls to hash]' \ - "${common_args[@]}" \ - '(-d -f -r -m -v -L)*:hash:->hashval' && ret=0 - ;; - rehash) - _arguments -C -s ${common_args[@]} && return 0 - ;; -esac - -if [[ $state = hashval ]]; then - if (( $+opt_args[-d] )); then - if compset -P 1 '*='; then - _wanted -C value files expl directories _path_files -/ && ret=0 - else - _wanted -C name named-directories expl 'named directory' \ - compadd -q -S '=' -k nameddirs && ret=0 - fi - elif compset -P 1 '*='; then - _wanted -C value values expl 'executable file' _files -g '*(-*)' && ret=0 - else - curcontext="${curcontext%:*}:name" - _path_commands -q -S '=' && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_have_glob_qual b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_have_glob_qual deleted file mode 100644 index 7b558bfd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_have_glob_qual +++ /dev/null @@ -1,24 +0,0 @@ -#autoload - -# Test if $1 has glob qualifiers. This is partly magic, partly guesswork, -# wholly flakey. -# -# If $2 is "complete" test if the qualifiers are complete (up to the ")" -# at the end of the word), else that they are incomplete. -# Sets match, mbegin, mend to reflect their location. -# $match[1] is everything up to the start of the qualifiers themselves; -# this may therefore end in "(" or "(#q". -# $match[2] is everything at the start not counting the "(" or "(#q". -# $match[5] is the set of qualifiers themselves, not including a trailing -# parenthesis. -local complete - -[[ $2 = complete ]] && complete=")" - -[[ -z $compstate[quote] && - ( $_comp_caller_options[bareglobqual] == on && - $1 = (#b)(((*[^\\\$]|)(\\\\)#)\()([^\)\|\~]#)$complete && - ${#match[1]} -gt 1 || - $_comp_caller_options[extendedglob] == on && - $1 = (#b)(((*[^\\\$]|)(\\\\)#)"(#q")([^\)]#)$complete - ) ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hdiutil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hdiutil deleted file mode 100644 index 20e69cbc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hdiutil +++ /dev/null @@ -1,585 +0,0 @@ -#compdef hdiutil - -# utilities -# -_hdiutil_disk() { - local -a disk_desc - _call_program devices hdiutil info | while read; do - local disk_name="${${(M)REPLY[(w)1]%/dev/disk*}#/dev/}" - if (( #disk_name )); then - disk_desc+=( "$disk_name:${${(M)REPLY% *}#?}" ) - fi - done - _describe -t devices disk disk_desc -} - -_hdiutil_device() { - local -a device_desc - _call_program devices /usr/bin/hdiutil burn -list | while read; do - if [[ "$REPLY" == [:space:]#IOService:* ]]; then - device_desc+=( "$REPLY" ) - fi - done - local expl - _wanted devices expl device compadd "$device_desc[@]" -} - -_hdiutil_imagesize(){ - local -a arr - local num="${PREFIX%%[^0-9]*}" - if [[ -n "$num" ]]; then - arr=( - "$num"b:"$(($num / 2.**11)) mega bytes" - "$num"k:"$(($num / 2.**10)) mega bytes" - "$num"m:"$(($num)) mega bytes" - "$num"g:"$(($num)) giga bytes" - "$num"t:"$(($num * 2**10)) giga bytes" - "$num"p:"$(($num * 2**20)) giga bytes" - "$num"e:"$(($num * 2**30)) giga bytes" - ) - - local expl - _describe -t values "size (b, k, m, g..)" arr -V1 - else - _message "size (b, k, m, g..)" - fi -} - -_hdiutil_imageformat(){ - local -a fmts ofmts - fmts=( - "UDRW:UDIF read/write image" - "UDRO:UDIF read-only image" - "UDCO:UDIF ADC-compressed image" - "UDZO:UDIF zlib-compressed image" - "ULFO:UDIF lzfse-compressed image" - "ULMO:UDIF lzma-compressed image" - "UDBZ:UDIF bzip2-compressed image" - "UDTO:DVD/CD-R master for export" - "UDSP:SPARSE (grows with content)" - "UDSB:SPARSEBUNDLE (grows with content; bundle-backed)" - "UFBI:UDIF entire image with MD5 checksum" - ) - ofmts=( - "UDRo:UDIF read-only" - "UDCo:UDIF compressed" - "RdWr:NDIF read/write image" - "Rdxx:NDIF read-only image (Disk Copy 6.3.3 format)" - "ROCo:NDIF compressed image" - "Rken:NDIF compressed" - "DC42:Disk Copy 4.2 image" - "IPOD:iPod image" # Mentioned in help, not manual - "UDxx:UDIF stub image" # Mentioned in help, not manual - "UNIV:hybrid image (HFS+/ISO/UDF)" # Mentioned in help, not manual - ) - _describe -t types "image format" fmts -V1 || - _describe -t types "obsolete/deprecated image format" ofmts -V1 -} - -_hdiutil_images() { - local -a expl - _description files expl 'disk image' - _files "$@" "${(@)expl}" -g '*.(bin|cdr|dmg|img|iso|sparse(bundle|image))(-.)' -} - -_hdiutil(){ - local -a _common_options - _common_options=( - '(: -)'-help'[display help message of a verb]' - '(-quiet)-verbose' '(-verbose debug)-quiet' '(-quiet)-debug' - ) - - local -A _common_usage_options - _common_usage_options=( - -shadow "-shadow:shadow file:_files -g '*.shadow(-.)'" - -encryption "-encryption:encryption method:(CEncryptedEncoding)" - -stdinpass "-stdinpass[specify password from standard input]" - -certificate "-certificate[secondary access certificate]:certificate file:_files" - -cacert "-cacert[certificate authority certificate]: :_files" - -imagekey "*-imagekey[image key]: :->keyvalue" - -srcimagekey "*-srcimagekey[source image key]: :->keyvalue" - -tgtimagekey "*-tgtimagekey[target image key]: :->keyvalue" - -insecurehttp "-insecurehttp[ignore SSL host validation failure]" - -plist "-plist[display output in plist format]" - -recover "-recover[keychain to unlock]:keychain file:_files -g '*.keychain(-.)'" - ) - - local -a _1st_arguments - _1st_arguments=( - 'help:display minimal usage information' - 'attach:attach a disk image' - 'mount:attach a disk image' - 'detach:detach a disk image' - 'eject:detach a disk image' - 'verify:verify the checksum of a disk image' - 'create:create a disk image' - 'convert:convert a disk image into another format' - 'burn:burn image to optical media' - 'makehybrid:generate cross-platform hybrid images' - 'compact:compacts a SPARSE disk image' - 'info:display information about the disk image driver and attached images' - 'load:manually load the disk image driver' - 'checksum:calculate the specified checksum on the image data' - 'chpass:change the passphrase for an encrypted image' - 'unflatten:extract any UDIF metadata into resource fork' - 'flatten:embed any resource fork into UDIF data fork' - 'hfsanalyze:print information about an HFS/HFS+ volume' - 'mountvol:mount a volume' - 'unmount:unmount a volume' - 'imageinfo:print out information about a disk image' - 'plugins:print information about DiskImages framework plugins' - 'internet-enable:enable or disable post-processing for the image' - 'resize:resize partition or image' - 'segment:segment disk image' - 'pmap:display the partition map' - ) - - local size_spec='-size -sectors -megabytes -srcfolder -srcdir' - - # - local curcontext="$curcontext" state line expl - local -A opt_args - - _arguments -C '*:: :->subcmds' - - if (( CURRENT == 1 )); then - _describe -t commands "hdiutil subcommand" _1st_arguments - return - fi - - case "$words[1]" in - attach|mount) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-recover]" \ - "(-readwrite)-readonly[force the resulting device to be read-only]" \ - "(-readonly)-readwrite[attempt to set the device to be read/write]" \ - "(-nokernel)-nokernel[attach with/without a helper process]" \ - "(-kernel)-kernel[attach with/without a helper process]" \ - "-notremovable[prevent this image from being detached]" \ - "(-nomount)-mount[indicate whether image should be mounted]:mount?:(required optional suppressed)" \ - "(-mount)-nomount[indicate whether image should be mounted]" \ - "-mountroot[mount volumes in specified path]: :_directories" \ - "-mountpoint[mount volume at specified path]: :_directories" \ - "-union[perform a union mount]" \ - "-private[suppress mount notifications to the rest of the system]" \ - "-nobrowse[mark the volumes non-browsable in applications]" \ - "-owners[enable or disable owners for HFS+ volumes]: :(on off)" \ - "*-drivekey[key/value pair in the IOKit registry]:key=value:" \ - "(-noverify)-verify[verify image checksums]" \ - "(-verify)-noverify" \ - "(-noignorebadchecksums)-ignorebadchecksums[indicate bad checksums should be ignored]" \ - "(-ignorebadchecksums)-noignorebadchecksums" \ - "(-noidme)-idme[perform IDME actions]" \ - "(-idme)-noidme" \ - "(-noidmereveal)-idmereveal[reveal the results of IDME processing]" \ - "(-idmereveal)-noidmereveal" \ - "(-noidmetrash)-idmetrash[put IDME images in the trash after processing]" \ - "(-idmetrash)-noidmetrash" \ - "(-noautoopen)-autoopen[auto-open volumes after attaching an image]" \ - "(-autoopen)-noautoopen" \ - "(-noautoopenro)-autoopenro[auto-open read-only volumes]" \ - "(-autoopenro)-noautoopenro" \ - "(-noautoopenrw)-autoopenrw[auto-open read/write volumes]" \ - "(-autoopenrw)-noautoopenrw" \ - "1:disk image to attach:_hdiutil_images" \ - && return 0 - ;; - detach|eject) - _arguments \ - "$_common_options[@]" \ - "-force[unmount any filesystems and detaches the image]" \ - "1: :_hdiutil_disk" && return 0 - ;; - verify) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "1:disk image to verify:_hdiutil_images" \ - && return 0 - ;; - create) - local fold_opts="-format -crossdev -nocrossdev -scrub -noscrub" - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]:" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-plist]" \ - "($size_spec $fold_opts)-size[specify size]: :_hdiutil_imagesize" \ - "($size_spec $fold_opts)-sectors[specify size]:512 byte sectors" \ - "($size_spec $fold_opts)-megabytes[specify size]:mega bytes" \ - "($size_spec)-srcfolder[specify directory]: :_directories" \ - "($size_spec)-srcdir[specify directory]: :_directories" \ - "-align[size to which partition is aligned]:size" \ - "-type[image type]:image type:(( - SPARSEBUNDLE\:'sparse bundle disk image' - SPARSE\:'sparse disk image' - UDIF\:'read/write disk image' - UDTO\:'DVD/CD master' - ))" \ - "-fs[filesystem to make]:filesystem:(( - UDF\:'Universal Disk Format' - MS-DOS\ FAT12\:'MS-DOS (FAT12)' - MS-DOS\:'MS-DOS (FAT)' - MS-DOS\ FAT16\:'MS-DOS (FAT16)' - {FAT32,MS-DOS\ FAT32}\:'MS-DOS (FAT32)' - ExFAT\:'ExFAT' - HFS+\:'Mac OS Extended' - {HFS+J,JHFS+,HFSJ,Journaled\ HFS+}\:'Mac OS Extended (journaled)' - {HFS+X,HFSX,Case-sensitive\ HFS+}\:'Mac OS Extended (case-sensitive)' - {JHFS+X,JHFSX,HFS+X+J,HFS+XJ,HFSXJ,Case-sensitive\ Journaled\ HFS+}\:'Mac OS Extended (case-sensitive, journaled)' - APFS\:'APFS' - Case-sensitive\ APFS\:'APFS (case-sensitive)' - ))" \ - "-volname[volume name]:name" \ - "-uid[uid of root directory]:uid in number" \ - "-gid[gid of root directory]:gid in number" \ - "-mode[mode of root directory]:mode" \ - "-nouuid[suppress adding a UUID]" \ - "(-noautostretch)-autostretch" \ - "(-autostretch)-noautostretch" \ - "-stretch[max_stretch]: :_hdiutil_imagesize" \ - "-fsargs[additional arguments to pass to newfs]:arguments" \ - "-layout[partition layout]:partition layout:(( - MBRSPUD\:'single partition, MBR' - SPUD\:'single partition, APM' - UNIVERSAL\ CD\:'CD/DVD' - NONE\:'no partition map' - GPTSPUD\:'single partition, GPT' - SPCD\:'single partition, CD/DVD' - UNIVERSAL\ HD\:'hard disk' - ISOCD\:'single partition, CD/DVD with ISO data' - ))" \ - "-partitionType[partition type]:partition type:(Apple_HFS Apple_UFS)" \ - "-ov[overwrite an existing file]" \ - "-attach[attach the image after creating it]" \ - "-format:format:_hdiutil_imageformat" \ - "(-nocrossdev)-crossdev[cross device boundaries when copying from the source]" \ - "(-crossdev)-nocrossdev" \ - "(-noscrub)-scrub[skip temporary files and trashes]" \ - "(-scrub)-noscrub" \ - "(-noanyowners)-anyowners[allow user files being copied]" \ - "(-anyowners)-noanyowners" \ - "1:disk image to create:_files" && return 0 - - if [[ $state = keyvalue ]]; then - _values 'key=value' \ - "di-sparse-puma-compatible: :(TRUE FALSE)" \ - "di-shadow-puma-compatible: :(TRUE FALSE)" \ - "encrypted-encoding-version:version:(1 2)" \ - "zlib-level:compression level:(1 2 3 4 5 6 7 8 9)" && return 0 - fi - ;; - convert) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-certificate]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-align:size (512 byte sectors)" \ - "-segmentSize: :_hdiutil_imagesize" \ - "-pmap[add partition map]" \ - "-tasks[number of tasks for compression operation]:number:" \ - "-ov[overwrite an existing file]" \ - "-format:format:_hdiutil_imageformat" \ - "-o:target disk image:_files" \ - "1:source disk image:_hdiutil_images" \ - && return 0 - - if [[ $state = keyvalue ]]; then - _values 'key=value' \ - "zlib-level:compression level:(1 2 3 4 5 6 7 8 9)" && return 0 - fi - ;; - burn) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "-device[device to use for burning]:device:_hdiutil_device" \ - "-testburn[don\'t turn on laser]" \ - "-anydevice[allow burning to devices not qualified by Apple]" \ - "(-eject)-noeject[don\'t eject disc after burning]" \ - "(-noeject)-eject" \ - "(-verifyburn)-noverifyburn[don\'t verify disc contents after burn]" \ - "(-noverifyburn)-verifyburn" \ - "(-addpmap)-noaddpmap[don\'t add partition map]" \ - "(-noaddpmap)-addpmap" \ - "(-skipfinalfree)-noskipfinalfree[don\'t skip final free partition]" \ - "(-noskipfinalfree)-skipfinalfree" \ - "(-nooptimizeimage)-optimizeimage[optimize filesystem for burning]" \ - "(-optimizeimage)-nooptimizeimage" \ - "-nounderrun[turn off buffer underrun protection]" \ - "-forceclose[force the disc to be closed after burning]" \ - "-speed[desired \"x-factor\"]:x_factor:(1 2 4 6 max)" \ - "-sizequery[calculate the required size without burning anything]" \ - "-erase[erase the media]" \ - "-fullerase[erase all sectors of the disc]" \ - "-list[list all burning devices with paths suitable for -device]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - makehybrid) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "-hfs[generate an HFS+ filesystem]" \ - "-iso[generate an ISO9660 filesystem with Rock Ridge extensions]" \ - "-joliet[generate Joliet extensions to ISO9660]" \ - "-hfs-blessed-directory[blessed folder for booting Mac OS X]: :_directories" \ - "-hfs-openfolder[folder automatically opened]: :_directories" \ - "-hfs-startupfile-size[Startup File size]:bytes" \ - "-abstract-file[path to an ISO9660/Joliet Abstract file]: :_file" \ - "-bibliography-file[path to a ISO9660/Joliet Bibliography file]: :_file" \ - "-copyright-file[path to a ISO9660/Joliet Copyright file]: :_file" \ - "-application[creator application name]:creator name" \ - "-preparer[data preparer name]:preparer name" \ - "-publisher[publisher name]:publisher name" \ - "-system-id[system identifier]:system identifier" \ - "-keep-mac-specific[keep Macintosh-specific files in non-HFS+ filesystems]" \ - "-default-volume-name[default volume name for all filesystems]:name" \ - "-hfs-volume-name[volume name for HFS+ filesystem]:name" \ - "-iso-volume-name[volume name for ISO9660 filesystem]:name" \ - "-joliet-volume-name[volume name for Joliet]:name" \ - "-hide-all[glob expression to hide]:glob expression" \ - "-hide-hfs[glob expression to hide in HFS+]:glob expression" \ - "-hide-iso[glob expression to hide in ISO9660]:glob expression" \ - "-hide-joliet[glob expression to hide in Joliet]:glob expression" \ - "-print-size[print size estimate and quit]" \ - "-plistin[accept command-line options as a plist on stdin]" \ - "-ov[overwrite an existing file]" \ - "(-noverify)-verify[verify image checksums]" \ - "(-verify)-noverify" \ - "(-nokernel)-nokernel[attach with a helper process]" \ - "(-kernel)-kernel[attach without a helper process]" \ - "-o:target disk image:_files" \ - "1:source disk image or directory:_hdiutil_images" \ - && return 0 - ;; - compact) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "1:sparse image:_files -g '*.sparseimage(-.)'" && return 0 - ;; - info) - _arguments "$_common_options[@]" \ - "$_common_usage_options[-plist]" && return 0 - ;; - load) - _arguments "$_common_options[@]" && return 0 - ;; - checksum) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-type:image type:(UDIF-CRC32 UDIF-MD5 DC42 CRC28 CRC32 MD5)" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - chpass) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-recover]" \ - "$_common_usage_options[-srcimagekey]" \ - "-oldstdinpass[specify old password from standard input]" \ - "-newstdinpass[specify new password from standard input]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - unflatten) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - flatten) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "(-xml)-noxml[don\'t embed XML data for in-kernel attachment]" \ - "(-noxml)-xml" \ - "(-rsrcfork)-norsrcfork[don\'t embed resource fork data]" \ - "(-norsrcfork)-rsrcfork" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - hfsanalyze) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "1:disk image or device:_hdiutil_images" \ - && return 0 - ;; - mountvol) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-plist]" \ - "1: :_path_files -W /dev -g disk\*" && return 0 - ;; - unmount) - _arguments \ - "$_common_options[@]" \ - "-force[unmount filesystem regardless of open files]" \ - "1:device or mount point:_files" && return 0 - ;; - imageinfo) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-format[just print out the image format]" \ - "-checksum[just print out the image checksum]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - plugins) - _arguments \ - "$_common_options[@]" "$_common_usage_options[-plist]" && return 0 - ;; - internet-enable) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "(-yes -no -query)"{-yes,-no,-query} \ - "1: :_hdiutil_images" \ - && return 0 - ;; - - resize) - _arguments -C \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "(-sectors)-size[specify size]: :_hdiutil_imagesize" \ - "(-size)-sectors[specify size]:size (512 byte sectors)/min/max:" \ - "-imageonly[only resize image file]" \ - "-partitiononly[only resize partition(s) in the image]" \ - "-partitionNumber[partition to resize]:partition number" \ - "-growonly[only allow the image to grow]" \ - "-shrinkonly[only allow the image to shrink]" \ - "-nofinalgap[allow elimination of trailing free partition]" \ - "-limits[displays min/current/max size]" \ - "1:disk image:_files -g \*.dmg\(\|.bin\)\(-.\)" \ - && return 0 - ;; - segment) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-plist]" \ - "(-segmentSize)-segmentCount[number of segments]:number" \ - "(-segmentCount)-segmentSize[segment size]: :_hdiutil_imagesize" \ - "-firstSegmentSize[first segment size]: :_hdiutil_imagesize" \ - "-restricted[make restricted segments]" \ - "-o[first segment name]:name" \ - "1:source disk image:_files -g \*.dmg\(\|.bin\)\(-.\)" \ - && return 0 - ;; - pmap) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "-options[just print out the image checksum]: :->option" \ - "1: :_hdiutil_images" \ - && return 0 - - case "$state" in - option) - _values -s '' option \ - "r[process all without modification]" \ - "x[process 2K & 512 entries and merge]" \ - "s[return all quantities in sectors]" \ - "S[sort all entries by block number]" \ - "g[account for all unmapped space]" \ - "c[combine adjacent freespace entries]" \ - "f[extend last partition to device end]" \ - "v[synthesize single volumes as a single partition entry]" \ - "k[skip zero length entries]" \ - "K[skip all free & void partitions]" \ - "m[merge small free partitions into a previous partition]" \ - "i[ignore small free partitions caused by block alignment]" - ;; - esac - ;; - *) - _message "unknown hdiutil command: $words[1]" - _default - ;; - esac - return 1 -} - -_hdiutil "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_head b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_head deleted file mode 100644 index 0771b1e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_head +++ /dev/null @@ -1,45 +0,0 @@ -#compdef head ghead - -local curcontext=$curcontext state state_descr line expl opts args ret=1 -typeset -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-n --lines -c --bytes)'{-c+,--bytes=}'[print the first (or with -, all but the last) specified bytes]:number of bytes:->number' - '(-n --lines -c --bytes)'{-n+,--lines=}'[print the first (or with -, all but the last) specified lines]:number of lines:->number' - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[never print headers giving file names]' - '(-q --quiet --silent -v --verbose)'{-v,--verbose}'[always print headers giving file names]' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) -else - opts=(-A '-*') - args=( '(-c)-n+[display the first specified lines]:number of lines' ) - case $OSTYPE in - (freebsd*|darwin*|dragonfly*|netbsd*) - args+=( '(-n)-c+[display the first specified bytes]:number of bytes' ) - ;| - dragonfly*|netbsd*) - args+=( - '(-v)-q[never print headers giving file names]' - '(-q)-v[always print headers giving file names]' - ) - ;; - esac -fi - -_arguments -C -s -S $opts : $args '*:file:_files' && return 0 - -case $state in - (number) - local alts - [[ -z $PREFIX ]] && alts=( - 'sign:sign:((-\:"print all but the last specified bytes/lines" +\:"print the first specified bytes/lines (default)"))' - ) - compset -P '+' - alts+=( 'numbers: :_numbers -N $state_descr b\:512 K\:1024 KB\:1000 M\:1024\^2 MB\:1000\^2 G\:1024\^3 GB\:1000\^3 T\:1024\^4 TB\:1000\^4' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hexdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hexdump deleted file mode 100644 index f700ca68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hexdump +++ /dev/null @@ -1,35 +0,0 @@ -#compdef hexdump hd - -local -a args fmts optpar -fmts=( - {--one-byte-octal,-b}'[one-byte octal display]' - {--one-byte-char,-c}'[one-byte character display]' - {--two-bytes-decimal,-d}'[two-byte decimal display]' - {--two-bytes-octal,-o}'[two-byte octal display]' - {--two-bytes-hex,-x}'[two-byte hexadecimal display]' - {--format=,-e+}'[specify format string to be used for displaying data]:format' - {--format-file=,-f+}'[specify file that contains format strings]:file:_files' -) -args=( - '(H -n --length)'{--length=,-n+}'[interpret only specified amount of input]:length (bytes)' - '(H -s --skip)'{--skip=,-s+}'[skip specified bytes at the beginning]:offset (bytes)' - '(H -v --no-squeezing)'{--no-squeezing,-v}'[output identical lines]' -) - -[[ $service = hexdump ]] && fmts+=( {--canonical,-C}'[canonical hex+ASCII display]' ) - -if [[ $OSTYPE = linux* ]]; then - args+=( - '(-L --color)'{-L+,--color=}'[interpret color formatting specifiers colors are enabled by default]:mode' - + H - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) -else - # strip long options by taking every second element - print -v fmts -f '%2$s' -- "$fmts[@]" - print -v args -f '%2$s' -- "$args[@]" - optpar=( -A "-*" ) -fi - -_arguments -s -S $optpar '*:file:_files' $args + '(formats)' '(H)'$^fmts diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history deleted file mode 100644 index cd69ca17..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history +++ /dev/null @@ -1,65 +0,0 @@ -#autoload - -# Hm, this *can* sensibly be used as a completer. But it could also be used -# as a utility function, so maybe it should be moved into another directory. -# Or maybe not. Hm. -# -# -# Complete words from the history -# -# Code taken from _history_complete_words. -# -# Available styles: -# -# sort -- sort matches lexically (default is to sort by age) -# remove-all-dups -- -# remove /all/ duplicate matches rather than just consecutives -# range -- range of history words to complete - -local opt expl max slice hmax=$#historywords beg=2 - -if zstyle -t ":completion:${curcontext}:" remove-all-dups; then - opt=- -else - opt=-1 -fi - -if zstyle -t ":completion:${curcontext}:" sort; then - opt="${opt}J" -else - opt="${opt}V" -fi - -if zstyle -s ":completion:${curcontext}:" range max; then - if [[ $max = *:* ]]; then - slice=${max#*:} - max=${max%:*} - else - slice=$max - fi - [[ max -gt hmax ]] && max=$hmax -else - max=$hmax - slice=$max -fi - -PREFIX="$IPREFIX$PREFIX" -IPREFIX= -SUFFIX="$SUFFIX$ISUFFIX" -ISUFFIX= - -# We skip the first element of historywords so the current word doesn't -# interfere with the completion - -local -a hslice -while [[ $compstate[nmatches] -eq 0 && beg -lt max ]]; do - if [[ -n $compstate[quote] ]] - then hslice=( ${(Q)historywords[beg,beg+slice]} ) - else hslice=( ${historywords[beg,beg+slice]} ) - fi - _wanted "$opt" history-words expl 'history word' \ - compadd -Q -a hslice - (( beg+=slice )) -done - -(( $compstate[nmatches] )) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_complete_word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_complete_word deleted file mode 100644 index fe2a846d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_complete_word +++ /dev/null @@ -1,121 +0,0 @@ -#compdef -K _history-complete-older complete-word \e/ _history-complete-newer complete-word \e, -# -# Complete words from the history -# -# by Adam Spiers, with help gratefully received from -# Sven Wischnowsky and Bart Schaefer -# -# Available styles: -# -# list -- avoid to display lists of available matches -# stop -- stop before looping at beginning and end of matches -# sort -- sort matches lexically (default is to sort by age) -# remove-all-dups -- -# remove /all/ duplicate matches rather than just consecutives -# range -- range of history words to complete - -_history_complete_word () { - eval "$_comp_setup" - - local expl direction stop curcontext="$curcontext" - - if [[ -z "$curcontext" ]]; then - curcontext=history-words::: - else - curcontext="history-words${curcontext#*:}" - fi - - if [[ $WIDGET = *newer ]]; then - direction=newer - else - direction=older - fi - - zstyle -t ":completion:${curcontext}:history-words" stop && stop=yes - - zstyle -T ":completion:${curcontext}:history-words" list || compstate[list]='' - - if [[ $LASTWIDGET = _history-complete-* && - ( -n "$compstate[old_list]" || -n $_hist_stop ) ]]; then - if [[ "$direction" == older ]]; then - if [[ $_hist_stop = new ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=2 - _hist_stop= - elif [[ $_hist_stop = old ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=1 - _hist_stop= - elif [[ compstate[old_insert] -lt _hist_menu_length ]]; then - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] + 1 )) - elif [[ -n $stop ]]; then - _hist_stop=old - _message 'beginning of history reached' - return 1 - else - compstate[old_list]=keep - compstate[insert]=1 - fi - elif [[ "$direction" == 'newer' ]]; then - if [[ $_hist_stop = old ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=$(( $compstate[nmatches] - 1 )) - _hist_stop= - elif [[ $_hist_stop = new ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=$compstate[nmatches] - _hist_stop= - elif [[ compstate[old_insert] -gt 1 ]]; then - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] - 1 )) - elif [[ -n $stop ]]; then - _hist_stop=new - _message 'end of history reached' - return 1 - else - compstate[old_list]=keep - compstate[insert]=$_hist_menu_length - fi - fi - return 0 - else - _hist_stop= - _hist_old_prefix="$PREFIX" - _history_complete_word_gen_matches - fi - - (( $compstate[nmatches] )) -} - -_history_complete_word_gen_matches () { - - [[ -n "$_hist_stop" ]] && PREFIX="$_hist_old_prefix" - - _main_complete _history - - zstyle -T ":completion:${curcontext}:history-words" list || compstate[list]= - - _hist_menu_length="$compstate[nmatches]" - - if [[ $_lastcomp[insert] != *unambig* ]]; then - case "$direction" in - newer) compstate[insert]=$_hist_menu_length - [[ -n "$_hist_stop" ]] && (( compstate[insert]-- )) - ;; - older) compstate[insert]=1 - [[ -n "$_hist_stop" ]] && (( compstate[insert]++ )) - ;; - esac - fi - - _hist_stop= - - return -} - -_history_complete_word "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_modifiers b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_modifiers deleted file mode 100644 index 1a049d6c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_history_modifiers +++ /dev/null @@ -1,89 +0,0 @@ -#autoload - -# Complete history-style modifiers; the first : will have -# been matched and compset -p 1'd. -# The single argument is the type of context: -# h history -# q glob qualifier -# p parameter - -local -a list - -local type=$1 delim expl -integer global - -while true; do - if [[ -n $PREFIX ]]; then - local char=$PREFIX[1] - - global=0 - compset -p 1 - case $char in - ([hretpqQxlu\&]) - # single character modifiers - ;; - - (s) - # match delimiter string delimiter string delimiter - if [[ -z $PREFIX ]]; then - _delimiters modifier-s - return - fi - delim=$PREFIX[1] - compset -p 1 - if ! compset -P "[^${delim}]#${delim}[^${delim}]#${delim}"; then - if compset -P "[^${delim}]#${delim}"; then - _message "replacement string" - else - _message "original string" - fi - return - fi - ;; - - (g) - global=1 - continue - ;; - esac - - # modifier completely matched, see what's next. - compset -P : && continue - # if there's something other than colon next, bummer - [[ -n $PREFIX ]] && return 1 - - list=("\::modifier") - [[ $type = q ]] && list+=("):end of qualifiers") - # strictly we want a normal suffix if end of qualifiers - _describe -t delimiters "delimiter" list -Q -S '' - return - else - list=( - "s:substitute string" - "&:repeat substitution" - ) - if (( ! global )); then - list+=( - "a:absolute path, resolve '..' lexically" - "A:as ':a', then resolve symlinks" - "c:PATH search for command" - "g:globally apply s or &" - "h:head - strip trailing path element" - "t:tail - strip directories" - "r:root - strip suffix" - "e:leave only extension" - "Q:strip quotes" - "P:realpath, resolve '..' physically" - "l:lower case all words" - "u:upper case all words" - ) - [[ $type = h ]] && list+=( - "p:print without executing" - "x:quote words, breaking on whitespace" - ) - [[ $type = [hp] ]] && list+=("q:quote to escape further substitutions") - fi - _describe -t modifiers "modifier" list -Q -S '' - return - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_host b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_host deleted file mode 100644 index e1174d46..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_host +++ /dev/null @@ -1,23 +0,0 @@ -#compdef host - -# Note: This command is closely related to (and shares some options with) dig -_arguments -s -S -A '-*' : \ - '(: * -)-V[display version information]' \ - '(-6)-4[use IPv4 only]' \ - '(-4)-6[use IPv6 only]' \ - '(-v -t)-a[query for all record types or (with -l) list all zone records]' \ - '(-d -v)'{-d,-v}'[increase output verbosity]' \ - '-c+[specify query class]:query class:compadd -M "m\:{a-z}={A-Z}" - CH CS HS IN' \ - '-C[check SOA consistency]' \ - '-l[list zone records]' \ - '-N+[specify number of dots required to consider host name absolute]:number of dots' \ - '-r[query non-recursively (clear RD bit)]' \ - '-R+[specify number of retries for UDP queries]:number of retries [1]' \ - '-s[do not try next name server after SERVFAIL]' \ - '-t+[specify query type]: :_dns_types' \ - '-T[query via TCP]' \ - '*-m+[specify memory-usage debug flag]:debug flag:(record usage trace)' \ - '(-W)-w[disable query timeout (wait forever)]' \ - '(-w)-W+[specify query timeout]:query timeout (seconds) [5 (UDP), 10 (TCP)]' \ - '1: :_hosts' \ - '2::DNS server:_hosts' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hostname b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hostname deleted file mode 100644 index 40a3189a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hostname +++ /dev/null @@ -1,76 +0,0 @@ -#compdef hostname - -local variant=$OSTYPE ret=1 -local -a context line state state_descr args aopts=( -A '-*' ) -local -A opt_args - -# May be overridden below -args=( '(-4 -6 -d -f -i -r -s)1: :_guard "^-*" "host name"' ) - -# On badly behaved systems it may be dangerous to call `hostname --help` or -# similar, so for now we'll avoid _pick_variant and just trust this. In the -# future, we should replace this by a method that can safely detect Solaris, -# BusyBox, etc. (@todo) -[[ $OSTYPE == linux* ]] && -(( $+commands[nisdomainname] || $+commands[ypdomainname] )) && -variant+=-net-tools - -case $variant in - *-net-tools) - aopts=( ) - args=( - '(: * -)'{-h,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - + '(g)' # Get - '(: gs s)'{-A,--all-fqdns}'[display FQDNs resolved from network interface addresses]' - '(: gs s)'{-d,--domain}'[display DNS domain only]' - '(: gs s)'{-f,--fqdn,--long}'[display host name with DNS domain (FQDN)]' - '(: gs s)'{-i,--ip-address}'[display IP addresses for host (via DNS resolution)]' - '(: gs s)'{-I,--all-ip-addresses}'[display IP addresses for host (via network interfaces)]' - '(: gs s)'{-s,--short}'[display short host name only]' - + '(gs)' # Get/set - '(g)'{-y,--yp,--nis}'[display NIS domain only]' - + s # Set - '(-b --boot g)'{-b,--boot}'[always set a host name]' - '(: -F --file g)'{-F+,--file=}'[read host name to set from specified file]: :_files' - + o - '(-F --file g)1: :->host-or-domain' - ) - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '(: -4 -6 -d -f)-s[display short host name only]' - ) - ;| # MATCH AGAIN - darwin*|freebsd*) - args+=( - '(: -d -s)-f[display host name with DNS domain (FQDN)]' - ) - ;| # MATCH AGAIN - freebsd*) - args+=( - '(: -f -s)-d[display DNS domain only]' - ) - ;; - dragonfly*) - args+=( - '(: -6 -r)-4[use first IPv4 address on interface (with -i)]' - '(: -4 -r)-6[use first IPv6 address on interface (with -i)]' - '(: -r)-i+[retrieve host name via specified interface]: :_net_interfaces' - '(: -4 -6 -i)-r+[retrieve host name via specified IP address]: :_bind_addresses' - ) - ;; -esac - -_arguments -s -S $aopts : $args && ret=0 - -[[ $state == host-or-domain ]] && { - [[ -prefix -* ]] || - if [[ -n ${opt_args[(i)*-(-y|--yp|--nis)]} ]]; then - _message -e nis-domains 'NIS domain' && ret=0 - else - _message -e host-names 'host name' && ret=0 - fi -} - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hosts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hosts deleted file mode 100644 index 4057fee1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hosts +++ /dev/null @@ -1,78 +0,0 @@ -#compdef ftp rwho rup xping traceroute aaaa zone mx ns soa txt - -# avoid calling variable "hosts", it's an obvious candidate for use in -# zstyle -e '*' hosts 'reply=($hosts)' -local expl _hosts tmp useip - -if ! zstyle -a ":completion:${curcontext}:hosts" hosts _hosts; then - if (( $+_cache_hosts == 0 )); then - # uniquify - typeset -gUa _cache_hosts - local ipstrip='[:blank:]#[^[:blank:]]#' - - # This boolean style determines whether hosts completes IP addresses. The - # default is no (not using IP addresses). - zstyle -t ":completion:${curcontext}:hosts" use-ip && useip=yes - [[ -n $useip ]] && ipstrip= - if (( ${+commands[getent]} )); then - # pws: we were using the horrible ": ${(A)...:=}" syntax to assign - # to _cache_hosts, overriding the typeset as well as being unreadable - # and having obscure splitting behaviour. Why? We've just - # tested _cache_hosts doesn't exist. - _cache_hosts=(${(s: :)${(ps:\t:)${(f)~~"$(_call_program hosts getent hosts 2>/dev/null)"}##${~ipstrip}}}) - else - _cache_hosts=(${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##${~ipstrip}}}) - if (( ${+commands[ypcat]} )) && - tmp=$(_call_program hosts ypcat hosts.byname 2>/dev/null); then - _cache_hosts+=( ${=${(f)tmp}##${~ipstrip}} ) # If you use YP - fi - fi - - local khostfile - typeset -Ua khostfiles - - # This style specifies a list of files to look up for host names and IP - # addresses, if asked to. The files can contain comma separated host names - # and IP's, and any text on a line after the first whitespace,| or # is - # discarded. ssh's known_hosts files are thus supported. This style defaults - # to the list /etc/ssh/ssh_known_hosts, ~/.ssh/known_hosts - zstyle -a ":completion:${curcontext}:hosts" known-hosts-files khostfiles || - khostfiles=(/etc/ssh/ssh_known_hosts ~/.ssh/known_hosts) - - for khostfile in $khostfiles; do - if [[ -r $khostfile ]]; then - khosts=(${(s/,/j/,/u)${(f)"$(<$khostfile)"}%%[ |#]*}) - - # known_hosts syntax supports the host being in the form [hostname]:port - # The filter below extracts the hostname from lines using this format. - # - # known_hosts syntax supports wildcards. The filter below removes wildcard - # entries. - () { - local host - local -a match mbegin mend - khosts=() - for host; do - if [[ $host == *[*?]* ]]; then - continue - elif [[ $host = (#b)*\[(*)\]:[[:digit:]]#* ]]; then - khosts+=${match[1]} - else - khosts+=$host - fi - done - } "$khosts[@]" - - if [[ -z $useip ]]; then - khosts=(${${khosts:#(#s)[0-9]##.[0-9]##.[0-9]##.[0-9]##(#e)}:#(#s)[0-9a-f:]##(#e)}) - fi - _cache_hosts+=($khosts) - fi - done - fi - - _hosts=( "$_cache_hosts[@]" ) -fi - -_wanted hosts expl host \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - _hosts diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_htop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_htop deleted file mode 100644 index e8d2fffb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_htop +++ /dev/null @@ -1,55 +0,0 @@ -#compdef htop pcp-htop - -# Notes: -# - htop allows long options to be passed with a single dash; we don't account -# for this -# - htop parses optional arguments to -H and -u 'cleverly' by allowing the next -# word to be the optarg if it doesn't begin with a '-'; this should work here -# - There is a special version of htop designed to be used with PCP (Performance -# CoPilot); we don't fully account for this -# - Some of the ranges and defaults listed here had to be found in the source - -local MATCH MBEGIN MEND ret=1 -local -a context line state state_descr args tmp - -args=( - '(-d --delay)'{-d+,--delay=}'[specify update frequency]:delay (tenths of seconds) (1-100) [15]' - '(-C --no-color --no-colour)'{-C,--no-colo{,u}r}'[use monochrome colour scheme]' - '(-F --filter)'{-F+,--filter=}'[show only commands matching specified filter]:case-insensitive command-line sub-string:_process_names -a' - '(-)'{-h,--help}'[display usage information]' - '(-H --highlight-changes)'{-H+,--highlight-changes=}'[highlight new and old processes (optionally specify delay)]::delay (seconds) (1-86400) [5]' - '(-M --no-mouse)'{-M,--no-mouse}'[disable mouse]' - \*{-p+,--pid=}'[show only specified PIDs]: : _sequence _pids' - '--readonly[disable all system and process changing features]' - '(-s --sort-key)'{-s+,--sort-key=}'[sort by specified column]: :->sort-keys' - '(-t --tree)'{-t,--tree}'[show tree view of processes]' - '(-u --user)'{-u+,--user=}'[show only processes of current or specified user]:: : _users' - '(-U --no-unicode)'{-U,--no-unicode}'[disable Unicode]' - '(-)'{-V,--version}'[display version information]' -) - -[[ $OSTYPE == linux* ]] && -(( ! EUID || $+_comp_priv_prefix )) && -_pick_variant libcap=drop-capabilities $OSTYPE --help && -args+=( - '--drop-capabilities=-[drop specified capabilities]::mode [basic]:(( - off\:"do not drop capabilities" - basic\:"drop capabilities not needed for standard functionality (retains kill, renice, etc.)" - strict\:"drop capabilities not needed for core functionality" - ))' -) - -_arguments -s -S : $args && ret=0 - -case $state in - sort-keys) - tmp=( ${(f)"$(_call_program sort-keys $words[1] --sort-key help)"} ) - tmp=( ${tmp/#[[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${tmp/[[:space:]]##/:} ) - tmp=( ${tmp/(#m):[A-Z]/${(L)MATCH}} ) - _describe -t sort-keys 'column (key)' tmp && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hwinfo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hwinfo deleted file mode 100644 index 7dff8280..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_hwinfo +++ /dev/null @@ -1,79 +0,0 @@ -#compdef hwinfo - -_arguments \ - '--help[show usage info]' \ - '--version[show libhd version]' \ - '--short[just a short listing]' \ - '--log[write info to logfile]:logfile:_files' \ - '--debug[set debuglevel]:debug level:(1 2 3 4 5 6 7 8 9)' \ - '--dump-db[dump hardware data base, 0: external, 1: internal]:dumpdb:(0 1)' \ - '--bios' \ - '--block' \ - '--bluetooth' \ - '--braille' \ - '--bridge' \ - '--camera' \ - '--cdrom' \ - '--chipcard' \ - '--cpu' \ - '--disk' \ - '--dsl' \ - '--dvb' \ - '--floppy' \ - '--framebuffer' \ - '--gfxcard' \ - '--hub' \ - '--ide' \ - '--isapnp' \ - '--isdn' \ - '--joystick' \ - '--keyboard' \ - '--memory' \ - '--modem' \ - '--monitor' \ - '--mouse' \ - '--netcard' \ - '--network' \ - '--partition' \ - '--pci' \ - '--pcmcia' \ - '--pcmcia-ctrl' \ - '--pppoe' \ - '--printer' \ - '--scanner' \ - '--scsi' \ - '--smp' \ - '--sound' \ - '--storage-ctrl' \ - '--sys' \ - '--tape' \ - '--tv' \ - '--usb' \ - '--usb-ctrl' \ - '--vbe' \ - '--wlan' \ - '--zip' \ - '--all' \ - '--reallyall' && return 0 - - -# hwinfo-9.31-1.1 -# -# Usage: hwinfo [options] -# Probe for hardware. -# --short just a short listing -# --log logfile write info to logfile -# --debug level set debuglevel -# --version show libhd version -# --dump-db n dump hardware data base, 0: external, 1: internal -# --hw_item probe for hw_item -# hw_item is one of: -# all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, -# disk, dsl, dvb, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn, -# joystick, keyboard, memory, modem, monitor, mouse, netcard, network, -# partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi, smp, -# sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe, wlan, zip -# -# Note: debug info is shown only in the log file. (If you specify a -# log file the debug level is implicitly set to a reasonable value.) - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconv deleted file mode 100644 index bf04acfe..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconv +++ /dev/null @@ -1,81 +0,0 @@ -#compdef iconv - -local expl curcontext="$curcontext" state line variant ret=1 - -if _pick_variant -r variant libiconv='GNU*libiconv' glibc='(Free Soft|GNU*libc|GLIBC|Gentoo)' unix --version; then - local -a args - local exargs="-l --list -? --help --usage --version -V" - - args=( - "(-f --from-code $exargs)"{-f+,--from-code=}'[specify code set of input file]:code set:->from_codeset' - "(-t --to-code $exargs)"{-t+,--to-code=}'[specify code set for output]:code set:->to_codeset' - '(- 1 -l --list)'{-l,--list}'[list all character code sets]' - "($exargs)-c[omit invalid characters from output]" - "(-s --silent --verbose $exargs)"{-s,--silent}'[suppress warnings]' - '(-)'{-\?,--help}'[display help information]' - '(-)'{-V,--version}'[print program version]' - '1:input file:_files' - ) - - case $variant in - (libiconv) - args=( ${(R)args:#(|\*)(|\(*\))-[V\?]*} ) # remove -V and -? - args+=( - '--byte-subst=[format for unconvertible bytes]:format string' - '--widechar-subst=[format for unconvertible wide chars]:format string' - '--unicode-subst=[format for unconvertible Unicode chars]:format string' - ) - ;; - (glibc) - args+=( - '(-)--usage[display a short usage message]' - "(-o --output $exargs)"{-o+,--output=}'[specify output file]:output file:_files' - "(-s --silent $exargs)--verbose[print progress information]" - ) - ;; - esac - - _arguments -C -S -s : $args && return 0 - - if [[ $state = *_codeset ]]; then - # suffix is meaningful only for output encoding - if [[ $state = to_codeset ]] && compset -P '*[^/]/'; then - _wanted suffix expl suffix compadd "$@" /TRANSLIT /IGNORE && ret=0 - else - _wanted codesets expl 'code set' compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \ - ${$(_call_program codesets $words[1] --list)%//} && ret=0 - fi - fi - - return ret - -else - local LOCPATH="${LOCPATH:-/usr/lib/nls/loc}" - local -U codeset - - _arguments -C \ - '(-l)-f[specify code set of input file]:code set:->codeset' \ - '(-l)-t[specify code set for output]:code set:->codeset' \ - '(-l)-c[omit invalid characters from output]' \ - '(-l)-s[suppress warnings]' \ - '(- 1)-l[list all character code sets]' \ - '1:file:_files' && return 0 - - if [[ $state = codeset ]]; then - if [[ $OSTYPE = freebsd* ]]; then - codeset=( $(_call_program codesets $words[1] -l) ) - elif [[ -f /usr/lib/iconv/iconv_data ]]; then # IRIX & Solaris - codeset=( ${${(f)"$(</usr/lib/iconv/iconv_data)"}%%[[:blank:]]*} ) - codeset+=( /usr/lib/iconv/*%*.so(Ne.'reply=( ${${REPLY:t}%%%*} ${${REPLY:r}#*%} )'.) ) - elif [[ -d $LOCPATH/iconv ]]; then # OSF - codeset=( $LOCPATH/iconv/*(N:t) ) - codeset=( ${(j:_:s:_:)codeset} ) - else - return 1 - fi - - _wanted codesets expl 'code set' compadd -a codeset - fi - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconvconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconvconfig deleted file mode 100644 index a10e134e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iconvconfig +++ /dev/null @@ -1,13 +0,0 @@ -#compdef iconvconfig - -local exargs="-? --help --usage -V --version" - -_arguments -S -s \ - "($exargs)--nostdlib[do not search system directory]" \ - "(-o --output $exargs)"{-o+,--output=}'[specify output file]:output file:_files' \ - "($exargs)--prefix=[specify system dir prefix]:prefix:_files" \ - '(- *)'{-\?,--help}'[display help information]' \ - '(- *)--usage[display a short usage message]' \ - '(- *)'{-V,--version}'[print program version]' \ - '*:directory:_files -/' \ - && return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_id b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_id deleted file mode 100644 index a0a03faa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_id +++ /dev/null @@ -1,56 +0,0 @@ -#compdef id gid - -local args choices - -if _pick_variant gnu=GNU $OSTYPE --version; then - choices='--help --version -Z --context -g --group -G --groups -u --user' - _arguments \ - "($choices)"{-Z,--context}'[print only security context]' \ - "($choices)"{-g,--group}'[print only EGID]' \ - "($choices -r --real)"{-G,--groups}'[print all GIDs]' \ - '(-n --name --help --version)'{-n,--name}'[show name instead of number]' \ - '(-r --real -g --groups --help --version)'{-r,--real}'[show real ID instead of effective]' \ - "($choices)"{-u,--user}'[print only EUID]' \ - '(-z --zero --help --version)'{-z,--zero}'[delimit entries with NUL characters]' \ - '(- :)--help[display help information]' \ - '(- :)--version[display version]' \ - ':user:_users' -else - choices="-A -a -c -G -g -M -p -P -R -u" - args=( - "($choices)-g[print only EGID]" - "($choices -r)-G[print all GIDs]" - "($choices)-u[print only EUID]" - '(-A -c -M -P)-n[show name instead of number]' - '(-A -c -M -P)-r[show real ID instead of effective]' - ) - case $OSTYPE in - solaris*) - args+=( - '(-g -G -u -n -r)-a[show user name, user ID and all the groups]' - '(-g -G -u -n -r)-p[show project membership]' - ) - ;; - openbsd*) - args+=( - '(-)-c[display the login class]' - '(-)-p[make the output human readable]' - '(-)-R[display the routing table of the current process]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args+=( '(-)-P[print id in the form of a password file entry]' ) - ;| - darwin*|freebsd*) - args+=( - '(-)-A[print process audit user ID]' - '(-)-M[print MAC label of the current process]' - ) - ;| - freebsd*) args+=( '(-)-c[print current login class]' ) ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( '(-)-p[human readable output]' ) - ;; - esac - _arguments -s $args ':user:_users' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ifconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ifconfig deleted file mode 100644 index 25ddd55b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ifconfig +++ /dev/null @@ -1,90 +0,0 @@ -#compdef ifconfig - -local curcontext="$curcontext" state line ret=1 -local -a opts args alias debug updownlist - -alias=( '(-alias alias)'{,-}'alias[remove or establish alternate address for if]' ) -debug=( '(-debug debug)'{,-}'debug[disable or enable debugging code]' ) -updownlist=( - '(-a -d -C)-u[restrict to interfaces which are up]' - '(-a -u -C)-d[restrict to interfaces which are down]' - '(-a -C -m -L 1 *)-l[list interfaces]' -) - -case $OSTYPE in - darwin*) - args=( -s $updownlist ) - opts=( - $alias $debug delete dest_address ipdst nsellength - {,-}trailers {,-}link{0,1,2} - ) - ;; - freebsd*|dragonfly*) - args=( -s $updown - '(-a -l -u -d -m -L 1 *)-C[list interface cloners]' - '(-l -C)-m[list supported media]' - '(-l -C)-L[show address lifetime as time offset]' - ) - listopts=( - active caps chan countries mac mesh regdomain roam txparam txpower - scan sta wme - ) - opts=( $alias $debug $listopts - anycast lladdr media {,-}mediaopt {,delete}tunnel create destroy - {,un}plumb vlan {,-}vlandev metric prefixlen range phase ssid muid - stationname channel authmode {,-}powersave powersavesleep wepmode - {,-}wep {,-}nwkey add delete ether {,-}link{0,1,2} list wme wmm - roam roam:rssi roam:rate roaming - ) - ;| - dragonfly*) - args+=( '-n[disable auto-loading of kernel network interface driver]' ) - ;; - irix5*) opts=( $debug ) ;; - irix6*) - opts=( $debug {-,}highbw {,-}link{0,1,2} primary rspace sspace ) - args=( '-w[display additional information]' ) - ;; - linux*) - opts=( - '(-promisc promisc)'{,-}'promisc[disable or enable promiscuous mode]' - '(-allmulti allmulti)'{,-}'allmulti[disable or enable all-multicast]' - 'media[set physical port type]:medium type:(auto 10base2 10baseT AUI)' - 'hw[set hardware class]:hardware class:(ether ax25 ARCnet netrom)' - add del dstaddr io_addr irq mem_start multicast pointopoint - tunnel txqueuelen - ) - ;; - solaris*) - args=( - '-ad[apply to all down interfaces]' - '-adD[apply to all down interfaces not controlled by DHCP]' - '-au[apply to all up interfaces]' - '-auD[apply to all up interfaces not controlled by DHCP]' - ) - opts=( - 'auto-revarp[use RARP to acquire address]' - {,-}trailers {,-}private {,un}plumb - '(dhcp auto-dhcp)'{,auto-}'dhcp[use dhcp]' - primary wait drop extend ping release start status - ) - ;; -esac - -_arguments -C "$args[@]" \ - '-a[apply to all interfaces]' \ - '1:network interface:_net_interfaces -r ": \t\n\-"' \ - '::address family:(atalk ether inet inet6 ax25 ddp ipx netrom)' \ - '*:option:->options' && ret=0 - -[[ -n "$state" ]] && _values -S ' ' -w 'option' "$opts[@]" \ - '(down)up[activate interface]' \ - '(up)down[shut down interface]' \ - '(-arp arp)'{,-}'arp[disable or enable address resolution protocol]' \ - 'metric[set routing metric for interface]:routing metric' \ - 'mtu[set maximum transfer unit]:mtu' \ - 'netmask[specify network mask]:netmask' \ - 'broadcast[specify broadcast address]:broadcast address' \ - 'address[specify IP address of interface]:IP address' && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iftop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iftop deleted file mode 100644 index 05db3fa0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iftop +++ /dev/null @@ -1,27 +0,0 @@ -#compdef iftop - -_interfaces () { - local disp expl sep - _description interfaces expl 'network interface' - _net_interfaces "$expl[@]" - if zstyle -t ":completion:${curcontext}:interfaces" verbose; then - zstyle -s ":completion:${curcontext}:interfaces" list-separator sep || sep=-- - disp=( "any $sep capture on all interfaces" ) - compadd "$expl[@]" -ld disp any - else - compadd "$expl[@]" any - fi -} - -_arguments \ - '(-h -n -N -p -b -B -P -i -f -F -c)'-h'[print a summary of usage]' \ - -n"[don't do hostname lookups]" \ - -N"[don't resolve port number to service names]" \ - -p'[run in promiscuous mode]' \ - -P'[turn on port display]' \ - -b"[don't display bar graphs of traffic]" \ - -B'[display bandwidth rates in bytes/sec rather than bits/sec]' \ - '-i+[interface]:network interface:_interfaces' \ - '-f+[filter]:BPF filter' \ - '-F+[net/mask]:network/mask' \ - '-c+[config file]:config file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ignored b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ignored deleted file mode 100644 index 00dfc42f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ignored +++ /dev/null @@ -1,68 +0,0 @@ -#autoload - -# Use ignored matches. - -[[ _matcher_num -gt 1 || $compstate[ignored] -eq 0 ]] && return 1 - -local comp -integer ind - -if ! zstyle -a ":completion:${curcontext}:" completer comp; then - comp=( "${(@)_completers[1,_completer_num-1]}" ) - ind=${comp[(I)_ignored(|:*)]} - (( ind )) && comp=("${(@)comp[ind,-1]}") -fi - -local _comp_no_ignore=yes tmp expl \ - _completer _completer_num \ - _matcher _c_matcher _matchers _matcher_num - -_completer_num=1 - -for tmp in "$comp[@]"; do - if [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - if [[ "$tmp" != _ignored ]] && "$tmp"; then - if zstyle -s ":completion:${curcontext}:" single-ignored tmp && - [[ $compstate[old_list] != shown && - $compstate[nmatches] -eq 1 ]]; then - case "$tmp" in - show) compstate[insert]='' compstate[list]='list force' tmp='' ;; - menu) - compstate[insert]=menu - _description original expl original - compadd "$expl[@]" -S '' - "$PREFIX$SUFFIX" - ;; - esac - fi - - return 0 - fi - - (( _matcher_num++ )) - done - - (( _completer_num++ )) -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_imagemagick b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_imagemagick deleted file mode 100644 index b7671fe4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_imagemagick +++ /dev/null @@ -1,547 +0,0 @@ -#compdef animate composite combine convert display identify import mogrify montage xtp - -local state line expl curcontext="$curcontext" -local -a formats -typeset -A opt_args - -# Things that could be improved: -# -# - file names and types ($formats) -# - the -draw option -# - urls for xtp -# -# and certainly many other things... - -formats=(jpg jpeg jp2 j2k jpc jpx jpf tif tiff miff ras bmp cgm dcx ps eps fig fits fpx gif mpeg pbm pgm ppm pcd pcl pdf pcx png rad rgb rgba rle sgi html shtml tga ttf uil xcf xwd xbm xpm yuv) - -if (( $# )); then - _files "$@" -g "*.(#i)(${(j:|:)formats})(-.)" - return -fi - -case "$service" in - display) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colormap:colormap type:(shared private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-enhance[enhance noisy image]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-immutable[disallow image modifications]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-magnify:factor' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:3-D edges (raised)' \ - '*+raise:3-D edges (lowered)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-segment:cluster pixel number' \ - '*-shared_memory' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-texture:background texture image:_imagemagick' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-update:redisplay test time (seconds)' \ - '*-use_pixmap' \ - '*-verbose' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*-window_group' \ - '*-write:output filename:_files' \ - '*:picture file:_imagemagick' && return - ;; - - animate) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '*-colormap:colormap type:(Shared Private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dither[apply dithering]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-noop' \ - '*-pause:delay (seconds)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-scenes:image scene number' \ - '*-shared_memory' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-verbose[print image information]' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*:picture file:_imagemagick' && return - ;; - - import) - _x_arguments -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-border:border size (<width>x<height>):' \ - '-bordercolor:color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-debug' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-descend[descend window hierarchy]' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-frame[include window manager frame]' \ - '(- *)-help[display help information]' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-pause:delay (seconds)' \ - '-ping' \ - '-pointsize:Postscript font size' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '-scene:number of screen snapshots' \ - '-screen[get root window]' \ - '-silent[be quiet]' \ - '-snaps:number' \ - '-transparent:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-trim' \ - '-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '-verbose[print image information]' \ - '-window:window ID to get:_x_window' \ - ':output file:_files' && return - ;; - - montage) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-adjoin[join images]' \ - '*-background:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-frame[draw frame around image]' \ - '*-font:annotation font:_x_font' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '(- *)-help[display help information]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-mode:montage type:(Frame Unframe Concatenate)' \ - '*-monochrome[transform to black and white]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-shadow[add shadow]' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-stroke:color:_x_color' \ - '*-texture:background texture image:_imagemagick' \ - '*-tile:number of tiles (<width>x<height>)' \ - '*-title:image title' \ - '*-transparent:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '*-verbose[print image information]' \ - '*:picture file:_imagemagick' && return - ;; - - convert) - _arguments -C -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-affine[drawing transform matrix]:matrix' \ - '-alpha[set the alpha channel]:alpha' \ - '-antialias[remove pixel aliasing]' \ - '-authenticate[decrypt image with specified password]:password' \ - '-attenuate[lessen (or intensify) when adding noise to an image]:value' \ - '-append[append image sequence]' \ - '-average[average image sequence]' \ - '-background[specify background color]:color:_x_color' \ - '-blur:blur factor (0.0 - 99.9%%)' \ - '-border:border size (<width>x<height>)' \ - '-bordercolor:border color:_x_color' \ - '-box:annotation bounding box color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-channel:channel:(Red Green Blue Opacity Cyan Magenta Yellow Black)' \ - '-charcoal:charcoal drawing factor' \ - '-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '-clip' \ - '-coalesce[merge image sequence]' \ - '-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-contrast[enhance contrast]' \ - '+contrast[reduce contrast]' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-cycle:image colormap shift' \ - '-debug' \ - '-deconstruct[break down image sequence into parts]' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-despeckle[reduce speckles in image]' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '-edge:edge detection factor (0.0 - 99.9%%)' \ - '-emboss[emboss image]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-enhance[enhance image]' \ - '-equalize[histogram equalization]' \ - '-features[analyze image features (e.g. contrast, correlation)]:distance' \ - '-fill[specify color to use when filling a graphic primitive]:color:_x_color' \ - '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '-flatten[flatten a sequence of images]' \ - '-flip[vertical mirror image]' \ - '-flop[horizontal mirror image]' \ - '-font:annotation font:_x_font' \ - '-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '-fuzz:maximum distance for equal colors' \ - '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-implode:implosion factor (0.0 - 99.9%%)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-interpolative-resize[resize image using point sampled interpolation]:geometry' \ - '-label:label string' \ - '-layer:layer type:(Red Green Blue Matte)' \ - '-linewidth:line width' \ - '-loop:number of iterations (GIF animation)' \ - '-map[single image colormap file]:picture file for colors:_imagemagick' \ - '+map[all images colormap file]:picture file for colors:_imagemagick' \ - '-mask[associate a mask with the image]:file:_files' \ - '-matte[store matte channel]' \ - '-modulate:<brightness>,<saturation>,<hue>' \ - '-monochrome[transform to black and white]' \ - '-morph[morph image sequence]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-noise[noise peak elimination]' \ - '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '-normalize[use full color value range]' \ - '-opaque:image pen color:_x_color' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-paint:oil painting radius' \ - '-pen:font color:_x_color' \ - '-pointsize:Postscript font size' \ - '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \ - '-profile:information profile:->profile' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-raise:lighten or darken edges (<width>x<height>)' \ - '-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sample:scale factors (<width>x<height>)' \ - '-scene:image scene number' \ - '-seed:random number seed' \ - '-segment:segment thresholds (<cluster>x<smoothing>)' \ - '-shade:image shading (<azimuth>x<elevation>)' \ - '-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '-shear:shearing angles (<x>x<y> in degrees)' \ - '-size:image size (<width>x<height>+<offset>)' \ - '-solarize:solarization threshold' \ - '-spread:neighborhood size' \ - '-support[specify resize support]:support (>1.0 is blurry, < 1.0 is sharp)' \ - '-swirl:swirl tightness' \ - '-texture:background texture image:_imagemagick' \ - '-threshold:threshold for maximum intensity' \ - '-transparency:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '-verbose[print image information]' \ - '-view:FlashPix viewing parameters' \ - '-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - - if [[ "$state" = profile ]]; then - if compset -P 1 '*:'; then - _files - else - _wanted prefixes expl 'profile type' compadd icc: iptc: - fi - return - fi - ;; - - combine|composite) - _arguments -M 'm:{a-z}={A-Z}' \ - '-blend:blending factor (0.0 - 99.9%%)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-displace:displacements scales (<horizontal>x<vertical>)' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '+dither[render Postscript without aliasing]' \ - '-font:normal text font:_x_font' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-matte[store matte channel]' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-scene:image scene number' \ - '-stegano:watermark offset' \ - '-stereo[create stereo anaglyph]' \ - '-tile[repeat composite operation]' \ - '-treedepth:color reduction tree depth' \ - '-verbose[print image information]' \ - ':image file:_imagemagick' \ - ':composite file:_imagemagick' \ - ':mask or combined file:_imagemagick' \ - ':combined file:_files' && return - ;; - - mogrify) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-affine[drawing transform matrix]:matrix' \ - '*-antialias[remove pixel aliasing]' \ - '*-background[specify background color]:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:border color:_x_color' \ - '*-box:annotation bounding box color:_x_color' \ - '*-charcoal:charcoal drawing factor' \ - '*-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-cycle:image colormap shift' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-emboss[emboss image]' \ - '*-enhance[enhance image]' \ - '*-equalize[histogram equalization]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - "*-format:output file format:($formats)" \ - '*-font:annotation font:_x_font' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-fuzz:maximum distance for equal colors' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '*-implode:implosion factor (0.0 - 99.9%%)' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-layer:layer type:(Red Green Blue Matte)' \ - '*-linewidth:line width' \ - '*-loop:number of iterations (GIF animation)' \ - '*-map[single image colormap file]:picture file for colors:_imagemagick' \ - '*+map[all images colormap file]:picture file for colors:_imagemagick' \ - '*-matte[store matte channel]' \ - '*-modulate:<brightness>,<saturation>,<hue>' \ - '*-monochrome[transform to black and white]' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noise[noise peak elimination]' \ - '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '*-normalize[use full color value range]' \ - '*-opaque:image pen color:_x_color' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-paint:oil painting radius' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:lighten or darken edges (<width>x<height>)' \ - '*-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-scene:image scene number' \ - '*-seed:random number seed' \ - '*-segment:segment thresholds (<cluster>x<smoothing>)' \ - '*-shade:image shading (<azimuth>x<elevation>)' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-shave:shave edges (<width>x<height>{%%})' \ - '*-shear:shearing angles (<x>x<y> in degrees)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-solarize:solarization threshold' \ - '*-spread:neighborhood size' \ - '*-swirl:swirl tightness' \ - '*-texture:background texture image:_imagemagick' \ - '*-threshold:threshold for maximum intensity' \ - '*-transparency:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '*-verbose[print image information]' \ - '*-view:FlashPix viewing parameters' \ - '*-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - ;; - - xtp) - _arguments -M 'm:{a-z}={A-Z}' \ - '-account:password' \ - '-binary[retrieve files as binary]' \ - '-directory[list directory]' \ - '-exclude:regular expression for exclusion' \ - '-file:output file:_files' \ - '-get[get files]' \ - '-port:port: _ports' \ - '-proxy:host of proxy ftp daemon:_hosts' \ - '-print[print files]' \ - '-prune[process files from remote directory]' \ - '-put[put files]' \ - '-retrieve[retrieve matching files]' \ - '-timeout:maximum timeout' \ - '-type:remote system type:(UNIX VMS other)' \ - ':URL: _urls' && return - ;; - - identify) - _arguments \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-debug' '*-ping' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth[specify image depth]:image depth:(8 16)' \ - '*-format[specify format for image characteristics]:format' \ - '(- *)-help[display help information]' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-verbose[print more detailed info about image]' \ - '*:picture file:_imagemagick' && return - ;; - - *) _message 'eh?' ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_in_vared b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_in_vared deleted file mode 100644 index c3c8a20e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_in_vared +++ /dev/null @@ -1,35 +0,0 @@ -#compdef -vared- - -local also - -# Completion inside vared. - -if [[ $compstate[vared] = *\[* ]]; then - if [[ $compstate[vared] = *\]* ]]; then - # vared on an array-element - compstate[parameter]=${${compstate[vared]%%\]*}//\[/-} - compstate[context]=value - also=-value- - else - # vared on an array-value - compstate[parameter]=${compstate[vared]%%\[*} - compstate[context]=value - also=-value- - fi -else - # vared on a parameter, let's see if it is an array - compstate[parameter]=$compstate[vared] - if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then - compstate[context]=array_value - also=-array-value- - else - compstate[context]=value - also=-value- - fi -fi - -# Don't insert TAB in first column. Never. - -compstate[insert]="${compstate[insert]//tab /}" - -_dispatch "$also" "$also" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_inetadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_inetadm deleted file mode 100644 index 527cc5a7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_inetadm +++ /dev/null @@ -1,10 +0,0 @@ -#compdef inetadm - -_arguments -s \ - '-?[help]' \ - '-l[list service instance properties]:FMRI:_svcs_fmri -i' \ - '-e[enable specified instance]:FMRI:_svcs_fmri -i' \ - '-d[disable specified instance]:FMRI:_svcs_fmri -i' \ - '-p[list inet service properties]' \ - '-m[modify service instance properties]:FMRI:_svcs_fmri -i' \ - '-M[modify inet service properties]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_init_d b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_init_d deleted file mode 100644 index cdc37329..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_init_d +++ /dev/null @@ -1,125 +0,0 @@ -#compdef -p */(init|rc[0-9S]#).d/* - -local cmds script -local -a flags - -_compskip=all - -if [[ $OSTYPE = freebsd* ]]; then - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - local -a scriptpath - local name=$1 dir - # Known locations of init scripts - # C.f. Unix/Type/_services - scriptpath=(/etc/rc.d $(/bin/sh -c '. /etc/rc.subr; load_rc_config XXX; echo $local_startup' 2>/dev/null)) - - for dir in $scriptpath; do - if [[ -f $dir/$name ]]; then - echo $dir/$name - return 0 - fi - done - return 1 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local magic cmds cmd_prefix - - [[ -x $script ]] || return 1 - [[ $(read -u0 -k2 magic < $script && echo $magic) = '#!' ]] || return 0 - [[ -f /etc/rc.subr ]] && [[ -x /sbin/rcorder ]] || return 0 - grep -q '^ *\. */etc/rc\.subr *$' $script || return 0 - cmds=( - start stop restart rcvar status poll - $(/bin/sh -c "set -- rcvar; . $script >/dev/null; echo \$extra_commands" 2>/dev/null) - ) - - for cmd_prefix in {,one,fast,force,quiet}; do - echo ${cmds/#/$cmd_prefix} - done - - return 0 - } -elif [[ $OSTYPE = openbsd* ]]; then - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - echo /etc/rc.d/$1 - return 0 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local -a cmds disabled - - cmds=(start stop reload restart check) - disabled=(${${${(M)${(f)"$(< $script)"}:#rc_(${(~j:|:)cmds})=NO}#rc_}%=NO}) - echo ${cmds:|disabled} - } - - flags=('-d[print debug information]' '-f[forcibly start the daemon]') -else - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - local -a scriptpath - local name=$1 dir - # Known locations of init scripts - # C.f. Unix/Type/_services - scriptpath=(/etc/init.d /etc/rc.d /etc/rc.d/init.d) - - for dir in $scriptpath; do - if [[ -f $dir/$name ]]; then - echo $dir/$name - return 0 - fi - done - return 1 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local what magic cmds - local -a tmp - - [[ -x $script ]] || return 1 - - # If the file starts with `#!' we hope that this is a shell script - # and get lines looking like <space>foo|bar) with the words in $what. Note - # that we'll fail to match if any of the alternate patterns in the case - # clause are not enumerated (e.g., `start|stop|custom)` won't match) - tmp=( - status add delete clean list - load save show check {config,}test - standalone master graceful - debug debug{_,-}{up,down} dump{,{_,-}stats} - {force-,graceful-,try-,}{start,stop,restart,reload} - {start,stop}-htcacheclean - ) - what="((['\"]|)(${(j<|>)tmp})(['\"]|))" - - read -u0 -k2 magic < $script && [[ $magic = '#!' ]] && { - cmds=( ${(f)"$(< $script)"} ) - cmds=( ${(M)cmds:#[[:blank:]]#${~what}([[:blank:]]#\|[[:blank:]]#${~what})#[[:blank:]]#\)} ) - cmds=( ${${(j:|:s:|:)cmds}//[^-a-z_]} ) - } - - # This would be the pattern to use every line of the form <space>foo). - # Some people say this might match too many lines... - # - # cmds=( ${${(j:|:s:|:)${(M)${(f)"$(< $script)"}:#[[:blank:]]#(\'|)[a-z_|]##\'|)\)}}//[^a-z_]} ) - - echo $cmds - return 0 - } -fi - -script=$words[1] -[[ $script = */* ]] || script="$(_init_d_fullpath "$script")" - -cmds=( $(_init_d_get_cmds) ) || return 1 - -(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds || - cmds=(start stop) - -_arguments -s -A "-*" $flags ':init.d command:_sub_commands $cmds' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_initctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_initctl deleted file mode 100644 index b60bdbc5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_initctl +++ /dev/null @@ -1,184 +0,0 @@ -#compdef initctl start stop restart reload status -# Written by Bernhard Tittelbach -# based on completion script by Mildred - -typeset -g -a -U _initctl_events_list _initctl_eventargs_list - -# run show-config -e and if possible parse out all events and KEY= arguments -# otherwise provide some common values -_initctl_fillarray_events_args () -{ - setopt extendedglob - local showconfig="$(initctl show-config -e 2>| /dev/null)" - if [[ -n "$showconfig" ]]; then - _initctl_events_list=() - _initctl_eventargs_list=() - for cline in "${(f)showconfig}"; do - if [[ "$cline" == (#s)\ \ (stop\ on|start\ on|emit)\ (#b)([[:alpha:]-_]##)(*)(#e) ]]; then - _initctl_events_list+=($match[1]) - # this is a bit tricky, we take the string right of the matched event - # and parse for \sUPPERCASE=\S (in perl-re syntax) substrings until there are no more matches - # since we can't do multiple matches, we concatenated the remaining strings and try again - local stml="$match[2]" - while [[ "$stml" == (#b)(*)\ ([[:upper:]_]##\=)[^[:space:]](#b)(*) ]]; do - _initctl_eventargs_list+=($match[2]) - stml="$match[1] $match[3]" - done - unset stml - fi - done - else - _initctl_events_list=( socket login-session-start desktop-session-start virtual-filesystems local-filesystems remote-filesystems all-swaps filesystem mounting mounted net-device-up start-portmap runlevel unmounted-remote-filesystems ) - _initctl_eventargs_list=( PRIMARY_DEVICE_FOR_DISPLAY= EXIT_STATUS= EXIT_SIGNAL= RUNLEVEL= MOUNTPOINT= TYPE= INTERFACE= ) - fi - return 0 -} - -# list all upstart jobs, i.e. all files in /etc/init/ -_initctl_helper_jobs() -{ - _path_files -W "/etc/init/" -g "*.conf(-.:r)" -} - -# list events, generate array if necessary -_initctl_known_events() -{ - [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args - _values "Event" "$_initctl_events_list[@]" -} - -# list events, allow multiple choices, generate array if necessary -_initctl_multiple_known_events() -{ - [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args - _values -s "," "event" "$_initctl_events_list[@]" -} - -# list KEY= arguments, generate array if necessary -_initctl_known_eventargs() -{ - [[ ${#_initctl_eventargs_list} -eq 0 ]] && _initctl_fillarray_events_args - _values "argument key" "$_initctl_eventargs_list[@]" -} - -# describe and offer commands for initctl, then call matching completion function -_initctl_command() -{ - local cmds - cmds=( - start:"Start jobs" - stop:"Stop jobs" - restart:"Restart jobs" - reload:"Send SIGHUP to process instance" - status:"Query status of jobs" - list:"List known jobs" - emit:"Emit an event" - reload-configuration:"tell init to reload config files (generally inotify is used)" - version:"Request the version of the init daemon" - log-priority:"Change the minimum priority of log messages from the init daemon" - show-config:"Show start/stop/emit for processes" - check-config:"Find jobs than can't be started" - help:"display list of commands" - ) - - if (( CURRENT == 1 )); then - _describe -t command "initctl command" cmds - fi - - local cmd=$words[1] - - local curcontext="${curcontext%:*}:initctl-${cmd}" - _call_function ret _initctl_${cmd_completion_funcs[${cmd}]-${cmd_completion_default}} -} - -# completion for start/stop/restart/reload i.e. anything that take one job and multiple KEY= arguments's -_initctl_startstop() -{ - _arguments \ - '--no-wait[do not wait for operation to complete before exiting]' \ - "${common_args[@]}" \ - ':upstart job:_initctl_helper_jobs' \ - '*::argument key:_initctl_known_eventargs' -} - -# completion for anything that takes one job -_initctl_argjob() -{ - _arguments \ - "${common_args[@]}" \ - ':upstart job:_initctl_helper_jobs' \ - '*::' -} - -# completion for emit, providing options, one event and multiple KEY= arguments's -_initctl_emit() -{ - _arguments \ - '--no-wait[do not wait for event to finish before exiting]' \ - "${common_args[@]}" \ - ':event:_initctl_known_events' \ - '*::argument key:_initctl_known_eventargs' -} - -# the fallback, just the options -_initctl_basic() -{ - _arguments \ - "${common_args[@]}" -} - -# completion for show-config, additional option and one job -_initctl_show-config() -{ - _arguments \ - "(-e --enumerate)"{-e,--enumerate}"[enumerate emit lines]" \ - "${common_args[@]}" \ - '::upstart job:_initctl_helper_jobs' \ - '*::' -} - -# completion for show-config, additional options and one job -_initctl_check-config() -{ - _arguments \ - "(-i --ignore-events)"{-i,--ignore-events}"[list of comma-separated events to ignore]:Events:_initctl_multiple_known_events" \ - "(-w --warn)"{-w,--warn}"[treat any unknown jobs or events as error]" \ - "${common_args[@]}" \ - '::upstart job:_initctl_helper_jobs' \ - '*::' -} - -# after defining above functions, overwrite _initctl function so helper-functions are loaded only once -_initctl() -{ - local -a common_args - common_args=( - '--session[use D-Bus session bus to connect to init daemon (for testing)]' - '--system[talk via DBUS system bus instead of socket]' - '(-q --quiet)'{-q,--quiet}'[reduce output to errors only]' - '(-v --verbose)'{-v,--verbose}'[increase output to include informational messages]' - '--dest=[specify D-Bus name for init]:D-Bus name [com.ubuntu.Upstart]' - '--help[display help and exit]' - '--version[output version information and exit]' - ) - - # map each initctl function to a completion function - local -A cmd_completion_funcs - cmd_completion_funcs=( start startstop stop startstop restart startstop reload startstop show-config show-config status argjob emit emit check-config check-config ) - - # define fallback completion function - local cmd_completion_default=basic - - # depending on which command was used, call different completion functions - case $service in - initctl) - _arguments "${common_args[@]}" '*::initctl command:_initctl_command' - ;; - start|stop|restart|reload|status) - _call_function ret _initctl_${cmd_completion_funcs[${service}]-${cmd_completion_default}} - ;; - *) return 1 ;; - esac -} - -_initctl "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_install b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_install deleted file mode 100644 index 36411996..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_install +++ /dev/null @@ -1,113 +0,0 @@ -#compdef install ginstall - -local curcontext="$curcontext" lx ret=1 -local -a line state state_descr common_args args tmp -local -A opt_args val_args - -# These are *almost* common — non-GNU variants need to remove the long options -common_args=( - '(--backup)-b[create backups of destination files]' - '(-C -c --compare)'{-C,--compare}'[copy files; do nothing if identical destination file exists]' - '(-C -c --compare)-c[copy files (default)]' - '(-d --directory)'{-d,--directory}'[create directories]' - '(-g --group)'{-g+,--group=}'[specify destination file group]: :_groups' - '(-m --mode)'{-m+,--mode=}'[specify destination file mode]: :_file_modes' - '(-o --owner)'{-o+,--owner=}'[specify destination file owner]: :_users' - '(-p --preserve-timestamps)'{-p,--preserve-timestamps}'[preserve modification times]' - '(-s --strip)'{-s,--strip}'[strip binaries]' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '*: :_files' -) - -if _pick_variant gnu='Free Soft' unix --version; then - # Hide Linux-specific options on non-Linux platforms - [[ $OSTYPE == linux* ]] || lx='!' - args+=( - $common_args - '(-b --backup)--backup=[create backup; optionally specify method]:: :->controls' - "${lx}--context=-[like -Z, or specify SELinux security context to set]::SELinux security context:_selinux_contexts" - '-D[create all leading destination path components]' - '(: -)--help[display help information]' - "${lx}--preserve-context[preserve SELinux security context]" - '--strip-program=[specify program used to strip binaries]:strip program:_files' - '(-S --suffix)'{-S+,--suffix=}'[specify backup suffix]:backup suffix' - '(-t --target-directory)'{-t+,--target-directory=}'[copy source to specified directory]: :_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat destination as regular file]' - '(: -)--version[display version information]' - "${lx}-Z[set SELinux security context on destination files to default type]" - ) - -else - args+=( - ${common_args##((#s)|*\))(\*|)--*} - '-B+[specify backup suffix for -b]:backup suffix' - '-f+[specify destination file flags]: :_file_flags' - ) - [[ $OSTYPE == dragonfly* ]] && args+=( - '!-D+[no effect (compatibility with NetBSD)]: :_directories' - '-L+[use user/group database files from specified directory]: :_directories' - '-l[fall back to system files if user/group not found in -L directory]' - ) - [[ $OSTYPE == netbsd* ]] && args+=( - '-a+[specify shell command to run on files after install]:shell command' - '-r[use temporary files to perform safe copy]' - '-S+[specify arguments to pass to strip program]:arguments to strip program' - ) - [[ $OSTYPE == (net|open)bsd* ]] && { - # (Net|Open)BSD has no -v for some reason - args=( ${args##((#s)|*\))(\*|)-v*} ) - } - [[ $OSTYPE == openbsd* ]] && args+=( - '-D[create all leading destination path components]' - '-F[flush installed file contents to disk]' - ) - [[ $OSTYPE == (darwin|dragonfly)* ]] && args+=( - '-M[disable use of mmap(2)]' - ) - [[ $OSTYPE == (dragonfly|freebsd|netbsd)* ]] && args+=( - '(-C -c --compare)-l+[link files (rather than copy) using specified method]: :->linkflags' - '+N+[use user/group database files from specified directory]: :_directories' - '-U[indicate that install is unprivileged]' - ) - [[ $OSTYPE == (freebsd|netbsd)* ]] && args+=( - '-D+[specify destination directory used for metadata log]: :_directories' - '-h+[store digest in metadata log using specified method]: :->digests' - '-M+[log mtree(8) metadata for installed files to specified file]:metadata log file:_files' - '-T+[specify mtree(8) tags to store in metadata log]:mtree(8) tags' - ) - [[ $OSTYPE == netbsd* ]] || args+=( - '-S[use temporary files to perform safe copy]' - ) -fi - -_arguments -C -s -S : $args && ret=0 - -case $state in - controls) - tmp=( - {none,off}':never make backups' - {numbered,t}':make numbered backups' - {existing,nil}':make numbered backups if they already exist' - # 'never' actually means 'always'... - {simple,never}':make simple backups' - ) - _describe -t controls 'version control method' tmp && ret=0 - ;; - digests) - tmp=( none md5 rmd160 sha1 sha256 sha512 ) - [[ $OSTYPE == netbsd* ]] && tmp+=( sha384 ) - _values 'digest method' $tmp && ret=0 - ;; - linkflags) - tmp=( - 'h[hard links]' - 's[symlinks]' - 'm[mixed (hard links for files on same file system)]' - 'a[symlinks use absolute path]' - 'r[symlinks use relative path]' - ) - _values -S '' 'link flag' $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_invoke-rc.d b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_invoke-rc.d deleted file mode 100644 index cd8df28c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_invoke-rc.d +++ /dev/null @@ -1,11 +0,0 @@ -#compdef invoke-rc.d - -_arguments \ - '--quiet[quiet mode, no error messages are generated]' \ - '--force[run the initscript regardless of policy and subsystem]' \ - '--try-anyway[run the initscript even if a non-fatal error is found]' \ - '--disclose-deny[return 101 instead of 0 if action is denied]' \ - '--query[return one of status codes 100-106, does not run the script]' \ - '--no-fallback[ignore any fallback action requests by the policy layer]' \ - '1:service:_services' \ - '2:command:(start stop force-stop restart reload force-reload status)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ionice b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ionice deleted file mode 100644 index ba403ca5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ionice +++ /dev/null @@ -1,35 +0,0 @@ -#compdef ionice - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args - -_arguments -C -s -S \ - '(H -c --class)'{-c+,--class=}'[scheduling class]:class:((0\:none 1\:realtime 2\:best-effort 3\:idle))' \ - '(H -m --classdata)'{-n+,--classdata=}'[scheduling class priority]:class-priority:(( - 0\:high\ priority - {6..1}\: - 7\:low\ priority - ))' \ - '(H -t --ignore)'{-t,--ignore}'[ignore failures]' \ - '(H)*:: :->args' \ - + 'H' \ - '(- *)'{-V,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - + '(args)' \ - '(H)'{-p-,--pid=-}'[interpret args as process ID]::process id:_pids' \ - '(H)'{-P-,--pgid=-}'[specify process group IDs]::process group:_pgids' \ - '(H)'{-u-,--uid=-}'[act on running process owned by specified users]::user id' && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[args--p] || $+opt_args[args---pid] )); then - _pids && ret=0 - elif (( $+opt_args[args--P] || $+opt_args[args---pgid] )); then - _pgids && ret=0 - elif (( $+opt_args[args--u] || $+opt_args[args---uid] )); then - _message -e uids 'user id' - else - _normal && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iostat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iostat deleted file mode 100644 index 1152b0d8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iostat +++ /dev/null @@ -1,159 +0,0 @@ -#compdef iostat - -local -a args parser -parser=( -s -S -A '-*' ) - -case $OSTYPE:l in - *bsd*|dragonfly*) - args+=( - '-c+[repeat the display N times]:count' - '-C[display CPU statistics]' - '-d[display only device statistics]' - '-I[display total statistics for a given period, rather than average]' - '-T[display TTY statistics]' - '-w+[specify the duration of pauses between each display]:duration' - '*: :_bsd_disks' - ) - ;| - freebsd*|openbsd*|dragonfly*) - args+=( - '-M+[extract values of the name list from specified file]:core:_files' - '-N+[extract the name list from the specified file]:system:_files' - ) - ;| - freebsd*|dragonfly*) - args+=( - '-h[top mode]' - '-K[display block count in kilobytes, not block size]' - '-n+[display up to the specified number fo devices]:number of disks' - '-o[display old-style iostat device statistics]' - '*-t+[specify which type of device to display]: :_fbsd_device_types' - ) - ;| - freebsd*) - args+=( - '-x[show extended disk statistics]' - '-z[omit lines for devices with no activity]' - '(* -)-?[display a usage statement and exit]' - ) - ;; - dragonfly*) - args+=( - '-D[display more details]' - ) - ;; - openbsd*|netbsd*) - args+=( - '-D[display alternate disk statistics]' - ) - ;| - netbsd*) - args+=( - '-x[show extended disk statistics]' - '-y[report data on waiting and active requests]' - ) - ;; - aix*) - args=( - '(-b -q -Q -f -F)-a[displays the adapter throughput report]' - '(-b)-A[displays the legacy asynchronous IO utilization report, and turns off the display of TTY utilization report]' - '-b[displays the block I/O device utilization statistics]' - '(-b)-d[turns off the display of TTY utilization report or CPU utilization report]' - '(-b -f -F)-D[displays the extended tape/drive utilization report]' - '(-a -b -D)-f[displays the file system utilization report]' - '(-a -b -D)-F[displays the file system utilization report, and turns off other utilization reports]' - '(-b)-l[displays the output in long listing mode]' - '(-b -t)-m[displays the path utilization report]' - '(-b)-p[displays the tape utilization report]' - '(-b)-P[displays the POSIX asynchronous IO utilization report]' - '(-b)-q[specifies AIO queues and their request counts]' - '(-b)-Q[displays a list of all the mounted file systems and the associated queue numbers with their request counts]' - '(-b)-R[specifies that the reset of min* and max* values should happen at each interval]' - '(-b)-s[specifies the system throughput report]' - '(-b)-S[displays the processor statistics that are multiplied by a value of 10]:power' - '(-b -m)-t[turns off the display of disk utilization report]' - '-T[displays the time stamp]' - '(-b)-V[displays valid nonzero statistics]' - '(-b)-z[resets the disk input/output statistics]' - '(-b)-@[reports I/O activities of a workload partition]:workload:(ALL Global)' - '*:drives:_files' # not sure how to enumerate drives on aix - ) - ;; - solaris*) - args=( - '-c[report percentage of time the system spent in user/system mode, dtrace probes and idling]' - '-C[report extended disk statistics aggregated by controller id, when used with -x]' - '-d[report kilobytes transferred per second, transfers per second and average service time]' - '-D[report reads/writes per second and percentage disk utilization]' - '-e[display device error summary statistics]' - '-E[display all device error statistics]' - '-i[display Device ID instead of the Serial No, when used with -E]' - '-I[report counts in each interval]' - '-l[limit the number of disks included in the report]:number of disks' - '-m[report file system mount points]' - '-M[display data throughput in MB/sec instead of KB/sec]' - '-n[display names in descriptive format]' - '-p[report per-partition statistics]' - '-P[report per-partition statistics only]' - '-r[display data in comma-separated format]' - '-s[suppress message related to state changes]' - '-t[report the number of characters read and written to terminals per second]' - '-T[display a timestamp]:format:(( "u\:internal representation of time" "d\:standard date format" ))' - '-X[report statistics for lun.controller, for disks under scsi_vhci(7D) control]' - '-x[report extended disk statistics]' - '-Y[report statistics for lun.targetport and lun.targetport.controller, for disks under scsi_vhci(7D) control]' - '-z[ignore lines where data values are all zeros]' - '::device:( ${${${(f)"$(iostat -rx 1 1)"}[3,-1]}%%,*} )' - ) - ;; - darwin*) - args=( - '(- *)-?[display usage statement and exit]' - '-C[display CPU statistics]' - '-c+[number of times to display statistics]:count' - '-d[display only device statistics]' - '-I[display total statistics for a given period, rather than average]' - '-K[display block count in kilobytes]' - '-n+[limit the number of disks included in the report]:number of disks' - '-o[display old-style iostat device statistics]' - '-T[display TTY statistics]' - '-U[display system load averages]' - '-w+[specify the duration of pauses between each display]:duration' - '*::device:_files -W /dev -g "disk*"' - ) - ;; - *linux*) - parser=( -s ) - args=( - '-c[display CPU utilization report]' - '-d[display device utilization report]' - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' - '-f[specify alternative directory to read device statistics from]:directory:_directories' - '+f[specify additional directory to read device statistics from]:directory:_directories' - '*-g[display statistics for a group of devices]:group name' - '-H[only display global statistics for group]' - '(--human)-h[human readable device utilization report]' - '--human[print sizes in human readable format]' - '--pretty[make report easier to read by a human]' - '-j[display persistent device name]:name type:(ID LABEL PATH UUID)' - '(-m)-k[display statistics in kB/s]' - '(-k)-m[display statistics in MB/s]' - '-N[display registered device mapper names]' - '-o[display statistics in JSON]:format:(JSON)' - '-p[display statistics for block devices]' - '-t[display the time for each report]' - '(- *)-V[display version information]' - '-x[display extended statistics]' - '-y[omit first statistics report following system boot]' - '-z[omit output for devices lacking activity]' - '*::device:_files -W /dev -g "*(-%)"' - ) - ;; -esac - -if (( $#args )); then - _arguments $parser : $args - return -fi - -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ip deleted file mode 100644 index 9a7cbd82..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ip +++ /dev/null @@ -1,577 +0,0 @@ -#compdef ip - -# This is based on iproute2-ss061214. -# The manual and help text summaries are not consistent with the main -# manual text. I have based this on the main manual text, except where -# it's obviously deficient. - -# -# Values encoding simple types -# -local -a subcmd_dev net_intf_disp net_intf_list -# subcmd_dev=(/$'[[:alnum:][:punct:][:cntrl:][:digit:]]##\0'/ ':interfaces:network interface:_net_interfaces') -_find_net_interfaces -subcmd_dev=(/"(${(j.|.)net_intf_list})"$'\0'/ - ':interfaces:network interface:_net_interfaces') - -local -a subcmd_onoff -subcmd_onoff=(/$'(on|off)\0'/ ':onoff:state (on or off):(on off)') - -local -a subcmd_string -subcmd_string=(/$'[^\0]#\0'/ ':string:arbitrary string:( )') - -local -a subcmd_number -subcmd_number=(/$'[0-9]##\0'/ ':number:decimal number:( )') - -local xp='[[:xdigit:]][[:xdigit:]]' -local -a subcmd_lladdr -subcmd_lladdr=(/"${xp}:${xp}:${xp}:${xp}:${xp}:${xp}"$'\0'/ -':lladdress:link layer (MAC) address:( )') - -local -a subcmd_ipaddr -subcmd_ipaddr=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ':ipaddress:IP address (v4 or v6) with optional /<network-prefix-length>:( )' -) - -local -a subcmd_ipaddrs -local PATH=$PATH -PATH=/sbin:$PATH -subcmd_ipaddrs=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ":ipaddress:IP address (v4 or v6) currently set:( $(ip addr show | sed -n 's/^ *inet6* \([0-9a-f\.:/]*\) .*$/\1/p') )" -) -local -a subcmd_prefix_label -subcmd_prefix_label=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ":ipaddresslabel:IP addrlabel prefix currently set:( $(ip -6 addrlabel list 2>/dev/null | sed -n 's/^prefix \([0-9a-f\.:/]*\) .*$/\1/p') )" -) - - -local -a subcmd_scope -_regex_words scope "IP address scope" \ - 'global:address globally valid' \ - 'site:address valid for site (IPv6)' \ - 'link:address valid for single link' \ - 'host:address valid for this host' -subcmd_scope=("$reply[@]") - -local -a subcmd_nud -_regex_words nud "Neighbour Unreachability Detection state" \ - 'permanent:valid forever' \ - 'noarp:valid, not validated, removed if expired' \ - 'reachable:valid until reachability timeout' \ - 'stale:valid but suspicious' -subcmd_nud=("$reply[@]") - -local -a subcmd_rttype -_regex_words route-type "Route type" \ - 'unicast:real point-to-point route' \ - 'unreachable:generate Host Unreachable messages' \ - 'blackhole:silently discard' \ - 'prohibit:generate Communication Administratively Prohibited messages' \ - 'local:Loopback route' \ - 'broadcast:destinations are broadcast addresses' \ - 'throw:used with policy rules, generate Net Unreachable if no route' \ - 'nat:Network Address Translation route' \ - 'anycast:anycast addresses, not implemented' \ - 'multicast:multicast routing, not present in normal tables' -subcmd_rttype=("$reply[@]") - -local -a subcmd_route -# Route type is optional in route. -# There's an overall default but then the whole thing is missed -# out, and it's marked as optional anyway. -subcmd_route=("(" $subcmd_rttype "|" ")" $subcmd_ipaddr) - -local -a subcmd_tos -_regex_words tos "type of service" \ - 'lowdelay:low latency' \ - 'throughput:high bulk throughput' \ - 'reliability:high reliability' -subcmd_tos=("(" "$reply[@]" "|" - /$'(|0x)[[:xdigit:]]##\0'/ ":hex-number:8-bit hex number:( )" ")") - -local -a subcmd_lockmtu -subcmd_lockmtu=("(" /$'lock\0'/ ":lock:lock:(lock)" "|" ")" $subcmd_number ) - -local -a subcmd_nexthop -_regex_words nexthop 'nexthop route keyword' \ - 'via:specify nexthop router:$subcmd_ipaddr' \ - 'dev:specify output device:$subcmd_dev' \ - 'weight:specify relative quality of route:$subcmd_number' -subcmd_nexthop=("$reply[@]" "#") - -local -a subcmd_rtprotocol -_regex_words rtprotocol 'route protocol' \ - 'redirect:installed from ICMP redirect' \ - 'kernel:installed automatically by kernel' \ - 'boot:installed during boot sequence' \ - 'static:installed by administrator' \ - 'ra:installed by Router Discovery protocol' -subcmd_rtprotocol=("$reply[@]") - -local -a subcmd_rttable -_regex_words rttable 'routing table' \ - 'local:local routes' \ - 'main:main routing table' \ - 'default:default routing table' \ - 'unspec:unspecified routing table' -subcmd_rttable=("(" "$reply[@]" "|" $subcmd_number ")") - -local -a subcmd_rtrealm subcmd_rtrealms -_regex_words -t / rtrealm 'routing realm' \ - 'cosmos:everywhere' -subcmd_rtrealms=("(" "$reply[@]" "|" /$'[0-9]##/'/ - ':number:decimal number:( )' ")") - -_regex_words rtrealm 'routing realm' \ - 'cosmos:everywhere' -subcmd_rtrealm=("(" "$reply[@]" "|" $subcmd_number ")") -subcmd_rtrealms+=($subcmd_rtrealm) - -local -a subcmd_rtselector -_regex_words rtselmod 'routing selector modifier' \ - 'root:select minimum route prefix length to match' \ - 'match:select maximum route prefix length to match' \ - 'exact:select exact prefix length to match' -subcmd_rtselector=("(" "$reply[@]" "|" ")" $subcmd_ipaddr) - -local -a subcmd_family -_regex_words family 'protocol family' \ - 'inet:IPv4' \ - 'inet6:IPv6' \ - 'link:local, no networking protocol' -subcmd_family=("$reply[@]") - -local -a subcmd_ruletypes -_regex_words ruletype 'rule type' \ - 'unicast:rule applies to a route' \ - 'blackhole:rule silently drops packet' \ - 'unreachable:rule generates Network Unreachable messages' \ - 'prohibit:rule generates Communication Administratively Prohibited messages' \ - 'nat:rule prescribes translation of source IP address' -subcmd_ruletypes=("$reply[@]") - -local -a subcmd_tunnelmode -_regex_words tunnelmode 'tunnel mode' \ - 'ipip:IPv4 in IPv4 tunnel' \ - 'sit:Simple Internet Transition - IPv6 in IPv4 tunnel' \ - 'gre:Generic Route Encapsulation - IPv4/IPv6 in IPv4 tunnel' -subcmd_tunnelmode=("$reply[@]") - -local -a subcmd_files -subcmd_files=(/$'[^\0]##\0'/ ':file:file name:_files') - - -# -# The ip top-level commands. First link -# -local -a link_set_cmds -_regex_words \ - link-set-commands 'link set commands' \ - 'dev:specify device:$subcmd_dev' \ - 'u*p:change state to up' \ - 'do*wn:change state to down' \ - 'ar*p:change ARP flag on device:$subcmd_onoff' \ - 'mu*lticast:change MULTICAST flag on device:$subcmd_onoff' \ - 'pr*omisc:set promiscuous mode:$subcmd_onoff' \ - 'dy*namic:change DYNAMIC flag on device:$subcmd_onoff' \ - 'n*ame:change name of device:$subcmd_string' \ - 'txq*ueuelen:specify length of transmit queue:$subcmd_number' \ - 'txql*en:specify length of transmit queue:$subcmd_number' \ - 'm*tu:specify maximum transmit unit:$subcmd_number' \ - 'ad*dress:specify unicast link layer (MAC) address:$subcmd_lladdr' \ - 'br*oadcast:specify broadcast link layer (MAC) address:$subcmd_lladdr' \ - 'brd:specify broadcast link layer (MAC) address:$subcmd_lladdr' \ - 'p*eer:specify peer link layer (MAC) address:$subcmd_lladdr' -# can complete interface with no dev, subcommands can repeat... -link_set_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a link_show_cmds -_regex_words link-show-commands 'link show commands' \ - 'dev:specify device:$subcmd_dev' \ - 'up:limit display to running devices' -link_show_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a link_cmds -_regex_words \ - link-commands "link command" \ - 'h*elp:show help for command' \ - 'se*t:change device attributes:$link_set_cmds' \ - 'sh*ow:display device attributes:$link_show_cmds' -link_cmds=("$reply[@]") - - -# -# addr -# -local -a addr_add_cmds -# TODO: broadcast can take + or = -_regex_words addr-add-commands "addr add/remove/change/replace commands" \ - 'dev:specify device:$subcmd_dev' \ - 'lo*cal:specify local IP address:$subcmd_ipaddr' \ - 'p*eer:specify peer IP address (point-to-point):$subcmd_ipaddr' \ - 'b*roadcast:specify broadcast IP address:$subcmd_ipaddr' \ - 'la*bel:specify tag for device:$subcmd_string' \ - 's*cope:specify scope for address:$subcmd_scope' -# can complete IP address with no keyword -addr_add_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#" ) - -local -a addr_del_cmds -addr_del_cmds=("(" $subcmd_ipaddrs "|" "$reply[@]" ")" "#" ) - -local -a addr_show_cmds -# TODO: broadcast can take + or = -_regex_words addr-show-commands "addr show commands" \ - 'dev:specify device:$subcmd_dev' \ - 's*cope:specify scope for address:$subcmd_scope' \ - 't*o:limit to given IP address/prefix:$subcmd_ipaddr' \ - 'la*bel:list tags matching glob patter:$subcmd_string' \ - 'dynamic:list addresses from stateless configuration (IPv6)' \ - 'permanent:list non-dynamic addresses (IPv6)' \ - 'tentative:list addresses failing duplicate address detection (IPv6)' \ - 'deprecated:list deprecated addresses (IPv6)' \ - 'primary:list only primary addresses' \ - 'secondary:list only secondary addresses' -# can complete device with no keyword -addr_show_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a addr_cmds -_regex_words \ - addr-commands "addr command" \ - 'h*elp:show help for command' \ - 'a*dd:add new protocol address:$addr_add_cmds' \ - 'c*hange:change existing protocol address:$addr_add_cmds' \ - 'r*eplace:add or update protocol address:$addr_add_cmds' \ - 'd*elete:delete protocol address:$addr_del_cmds' \ - 's*how:show protocol address:$addr_show_cmds' \ - 'f*lush:flush protocol address:$addr_show_cmds' -addr_cmds=("$reply[@]") - -# -# addrlabel -# - -local -a addrlabel_add_cmds -_regex_words addrlabel-add-commands "addlabel add command" \ - 'p*refix: limit to given IP address/prefix' \ - 'd*ev: specify device:$subcmd_dev' \ - 'l*abel: number' -addrlabel_add_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a addrlabel_del_cmds -_regex_words addrlabel-add-commands "addlabel del command" \ - 'p*refix: limit to given IP address/prefix:$subcmd_prefix_label' \ - 'd*ev: specify device:$subcmd_dev' \ - 'l*abel: number:$subcmd_number' -addrlabel_del_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - - -local -a addrlabel_cmds -_regex_words \ - addrlabel-commands "addrlabel command" \ - 'h*elp: show help for command' \ - 'a*dd: add an address labels:$addrlabel_add_cmds' \ - 'd*el: delete an address labels:$addrlabel_del_cmds' \ - 'l*ist: list address labels' \ - 'f*lush: flush adderss labels' -addrlabel_cmds=("$reply[@]") - -# -# neigh -# -local -a neigh_add_cmds -_regex_words neigh-add-commands "neighbour add command" \ - 't*o:add new neighbour IP address:$subcmd_ipaddr' \ - 'dev:specify network device:$subcmd_dev' \ - 'l*laddr:specify link layer (MAC) address or null:$subcmd_lladdr' \ - 'n*ud:specify neighbour unreachability detection state:$subcmd_nud' -# to-address without keyword can appear first -neigh_add_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a neigh_del_cmds -_regex_words neigh-add-commands "neighbour delete command" \ - 't*o:remove neighbour IP address:$subcmd_ipaddr' \ - 'dev:specify network device:$subcmd_dev' -neigh_del_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a neigh_show_cmds -_regex_words neigh-show-commands "neighbour show command" \ - 't*o:select neighbours by prefix:$subcmd_ipaddr' \ - 'dev:select neighbours by device:$subcmd_dev' \ - 'u*nused:only list unused neighbours' \ - 'n*ud:only list neighbours in given state:$subcmd_nud' -neigh_show_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#" ) - -local -a neigh_cmds -_regex_words \ - neigh-commands "neigh command" \ - 'h*elp:show help for command' \ - 'a*dd:add new neighbour entry:$neigh_add_cmds' \ - 'c*hange:change existing neighbour entry:$neigh_add_cmds' \ - 'r*eplace:add or change neighbour entry:$neigh_add_cmds' \ - 'd*elete:delete neighbour entry:$neigh_del_cmds' \ - 's*how:list neighbour entries:$neigh_show_cmds' \ - 'f*lush:flush neighbour entries:$neigh_show_cmds' -neigh_cmds=("$reply[@]") - - -# -# route -# -local -a route_add_cmds -_regex_words route-add-commands "route add/change/replace command" \ - 'to:route destination prefix:$subcmd_route' \ - 'tos:type of service:$subcmd_tos' \ - 'ds*field:type of service:$subcmd_tos' \ - 'me*tric:preference value of route:$subcmd_number' \ - 'pre*ference:preference value of route:$subcmd_number' \ - 'ta*ble:select table by ID:$subcmd_rttable' \ - 'dev:select device:$subcmd_dev' \ - 'v*ia:select nexthop router:$subcmd_ipaddr' \ - 'sr*c:select preferred source address:$subcmd_ipaddr' \ - 're*alm:select routing realm:$subcmd_rtrealm' \ - 'mtu:select maximum transport unit:$subcmd_lockmtu' \ - 'w*indow:select maximal window in bytes:$subcmd_number' \ - 'rtt:select round trip time estimate:$subcmd_number' \ - 'rttv*ar:select initial round trip variance estimate:$subcmd_number' \ - 'ss*thresh:select initial slow start threshold estimate:$subcmd_number' \ - 'cw*nd:select clamp for congestion window (only if locked):$subcmd_number' \ - 'in*itcwnd:select max initial cwnd in MSS:$subcmd_number' \ - 'ad*vmss:select maximal segment size advertised:$subcmd_number' \ - 're*ordering:select maximal reordering for path:$subcmd_number' \ - 'ne*xthop:select nexthop of multipath route:$subcmd_nexthop' \ - 'sc*ope:select scope of destinations:$subcmd_scope' \ - 'pro*tocol:select routing protocol identifier:$subcmd_rtprotocol' \ - 'onl*ink:pretend nexthop is directly attached' \ - 'eq*ualize:allow packet by packet randomization' -# route can appear with no "to" -route_add_cmds=("(" $subcmd_route "|" ")" "$reply[@]" "#") - -local -a route_show_cmds -_regex_words route-show-commands "route show command" \ - 'to:select route via prefix:$subcmd_rtselector' \ - 'tos:type of service:$subcmd_tos' \ - 'ta*ble:select table by ID:$subcmd_rttable' \ - 'cl*oned:list only dynamically forked routes' \ - 'ca*ched:list only dynamically forked routes' \ - 'f*rom:select route via source address prefix:$subcmd_rtselector' \ - 'p*rotocol:select routing protocol identifier:$subcmd_rtprotocol' \ - 'sc*ope:select scope of destinations:$subcmd_scope' \ - 'ty*pe:route type:$subcmd_rttype' \ - 'dev:select device:$subcmd_dev' \ - 'v*ia:select nexthop router:$subcmd_ipaddr' \ - 'sr*c:select route via source prefix:$subcmd_ipaddr' \ - 'realm:select routing realm:$subcmd_rtrealm' \ - 'realms:select from/to routing realms:$subcmd_rtrealms' -# route selector can appear with no "to" -route_show_cmds=("(" $subcmd_rtselector "|" ")" "$reply[@]" "#") - -local -a route_get_cmds -_regex_words route-get-commands "route get commands" \ - 'to:route destination:$subcmd_ipaddr' \ - 'f*rom:route source:$subcmd_ipaddr' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:type of service:$subcmd_tos' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'oif:select output interface (device):$subcmd_dev' \ - 'c*onnected:use preferred address as source' -route_get_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a route_cmds -_regex_words \ - route-commands "route command" \ - 'h*elp:show help for command' \ - 'a*dd:add new network route:$route_add_cmds' \ - 'c*hange:change existing network route:$route_add_cmds' \ - 'r*eplace:add or change network route:$route_add_cmds' \ - 'd*elete:delete network route:$route_add_cmds' \ - 's*how:list network routes:$route_show_cmds' \ - 'f*lush:flush network routes:$route_show_cmds' \ - 'g*et:get a single network route:$route_get_cmds' -route_cmds=("$reply[@]") - - -# -# rule -# -local -a rule_add_cmds -_regex_words rule-add-commands 'ip rule add/delete commands' \ - 'ty*xpe:type of rule:$subcmd_ruletypes' \ - 'fr*om:select source prefix:$subcmd_ipaddr' \ - 'to:select destination prefix:$subcmd_ipaddr' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:select type of service:$subcmd_tos' \ - 'fw*mark:select fwmark:$subcmd_string' \ - 'pr*iority:select unique priority for rule:$subcmd_number' \ - 'ta*ble:select routing table by ID:$subcmd_rttable' \ - 're*alms:select from/to routing realms:$subcmd_rtrealms' \ - 'nat:select base of IP block to translate:$subcmd_ipaddr' - -rule_add_cmds=("(" $subcmd_ruletypes "|" ")" "$reply[@]" "#") - -local -a rule_cmds -_regex_words \ - rule-commands "rule command" \ - 'h*elp:show help for command' \ - 'a*dd:insert a new routing rule:$rule_add_cmds' \ - 'd*elete:delete a routing rule:$rule_add_cmds' \ - 'f*lush:flush rules and dump deleted rules' \ - 's*how:list routing rules' -rule_cmds=("$reply[@]") - - -# -# tunnel -# -local -a tunnel_add_cmds -_regex_words tunnel-add-commands 'tunnel add/change/delete commands' \ - 'na*me:select tunnel device name:$subcmd_dev' \ - 'm*ode:select tunnel mode:$subcmd_tunnelmode' \ - 'r*emote:select remote endpoint address:$subcmd_ipaddr' \ - 'l*ocal:select local address:$subcmd_ipaddr' \ - 'ttl:set fixed time to live, 1 to 255 or 0 (inherit):$subcmd_number' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:select type of service:$subcmd_tos' \ - 'dev:select device to bind tunnel to:$subcmd_dev' \ - 'no*pmtudisc:disable path maximum transport unit discovery' \ - 'ik*ey:set input key for GRE tunnel:$subcmd_ipaddr' \ - 'ok*ey:set output key for GRE tunnel:$subcmd_ipaddr' \ - 'k*ey:set bidirectional key for GRE tunnel:$subcmd_ipaddr' \ - 'ic*sum:enable input checksums for GRE tunnel' \ - 'oc*sum:enable output checksums for GRE tunnel' \ - 'c*sum:enable bidirectional checksums for GRE tunnel' \ - 'is*eq:serialize input packets on GRE tunnel' \ - 'os*eq:serialize output packets on GRE tunnel' \ - 's*eq:serialize packets bidirectionally on GRE tunnel' -# name is default... we always complete it as an interface, -# although that's not really right for "add". -tunnel_add_cmds=("$reply[@]" "#") - -local -a tunnel_cmds -_regex_words \ - tunnel-commands "tunnel command" \ - 'h*elp:show help for command' \ - 'a*dd:add a new IP tunnel:$tunnel_add_cmds' \ - 'c*hange:change an existing IP tunnel:$tunnel_add_cmds' \ - 'd*el:destroy an IP tunnel:$tunnel_add_cmds' \ - 's*how:list IP tunnels' -tunnel_cmds=("$reply[@]") - - -# -# maddr -# -local -a maddr_add_cmds -_regex_words maddr-add-commands "maddr add/delete command" \ - 'a*ddress:select link layer (MAC) address:$subcmd_lladdr' \ - 'dev:select device to bind multicast address to:$subcmd_dev' -maddr_add_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a maddr_show_cmds -_regex_words maddr-show-commands 'maddr show command' \ - 'dev:select device with multicast address(es):$subcmd_dev' -# device is default argument but if given the "dev" is useless -maddr_show_cmds=("(" $subcmd_dev "|" "$reply[@]" ")") - -local -a maddr_cmds -_regex_words \ - maddr-commands "maddr command" \ - 'h*elp:show help for command' \ - 'a*dd:add multicast address:$maddr_add_cmds' \ - 'd*elete:delete multicast address:$maddr_add_cmds' \ - 's*how:list multicast addresses:$maddr_show_cmds' -maddr_cmds=("$reply[@]") - - -# -# mroute -# -local -a mroute_show_cmds -_regex_words mroute-show-commands "mroute show command" \ - 'to:select destination prefix:$subcmd_ipaddr' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'from:select source prefix:$subcmd_ipaddr' -mroute_show_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]") - -local -a mroute_cmds -_regex_words \ - mroute-commands "mroute command" \ - 'h*elp:show help for command' \ - 's*how:list multicast routing cache entries:$mroute_show_cmds' -mroute_cmds=("$reply[@]") - - -# -# monitor -# -local -a monitor_cmds -_regex_words \ - monitor-commands "monitor command" \ - 'h*elp:show help for command' \ - 'all:monitor all changes' \ - 'link:monitor changes to links' \ - 'address:monitor changes to addresses' \ - 'route:monitor changes to routes' \ - 'file:read rtmon-generated log:$subcmd_files' -monitor_cmds=("$reply[@]") - - -# -# Global argument handling -# - -# Arguments to _regex_arguments, built up in array $args. -local -a args reply -args=( - # Command word. Don't care what that is. - /$'[^\0]#\0'/ -) - -# TODO: -# -b*atch <FILENAME> -# -force (for batch mode) -# -l*oops <COUNT> -# -n*etns <NETNS> -# -rc, -rcvbuf<SIZE> -_regex_words options "ip options" \ - '-h*uman:output statistics with human readable values' \ - '-i*ec:print human readable rates in IEC units (ie. 1K = 1024)' \ - '-s*tatistics:output statistics' \ - '-d*etails:output more detailed information' \ - '-c*olor:color output' \ - '-br*ief:brief output' \ - '-a*ll:executes specified command over all objects' \ - '-f*amily:select protocol family:$subcmd_family' \ - '-4:IPv4' \ - '-6:IPv6' \ - '-B:family bridge' \ - '-D:family DECnet' \ - '-I:family IPX' \ - '-M:family MPLS' \ - '-0:link protocol, no networking' \ - '-o*neline:output one record per line' \ - '-t*imestamp:display current time when using monitor option' \ - '-ts*hort:display current time in shorter format when using monitor option' \ - '-r*esolve:use system resolver for DNS names' -args+=("$reply[@]" "#") - -_regex_words \ - commands "ip command" \ - 'l*ink:configure network device:$link_cmds' \ - 'addrlabel:manage addrlabel:$addrlabel_cmds' \ - 'a*ddr:manage protocol address:$addr_cmds' \ - 'r*oute:manage routing table:$route_cmds' \ - 'ru*le:manage routing policy database:$rule_cmds' \ - 'n*eigh:manage neighbour/ARP tables:$neigh_cmds' \ - 't*unnel:configure tunnel:$tunnel_cmds' \ - 'm*addr:manage multicast addresses:$maddr_cmds' \ - 'mr*oute:manage multicast routing cache:$mroute_cmds' \ - 'mo*nitor:monitor state:$monitor_cmds' -args+=("$reply[@]") - -_regex_arguments _ip "${args[@]}" - -_ip "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipadm deleted file mode 100644 index 34d1eacb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipadm +++ /dev/null @@ -1,375 +0,0 @@ -#compdef ipadm -# Synced with the S11U1 build 19 man page - -_ipadm_ifs() { - local -a extra - - zparseopts -D -E -a extra /+: - - compadd "$@" - $(ipadm show-if -p -o ifname) $extra[2,-1] -} - -_ipadm_enabled_ifs() { - # Interfaces not marked "disabled" - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}:#disabled:*}#*:}" -} - -_ipadm_disabled_ifs() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}#disabled:*}:#*:*}" -} - -_ipadm_vnis() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#vni:*}:#*:*}" -} - -_ipadm_ipmps() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#ipmp:*}:#*:*}" -} - -_ipadm_get_possible_values() { - local -a proto poss - local cmd - - cmd=${${(M)words:#set-*}/set/show} - if [[ $cmd == "show-prop" ]]; then - # You have to specify a protocol for show-prop if you specify a - # property, so we loop through them all. - poss=() - for proto in ipv4 ipv6 icmp tcp udp sctp; do - poss=( $poss ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} -o possible $proto 2> /dev/null)//,/ } ) - done - poss=( ${(u)poss:#\?} ) - else - proto=${=opt_args[-m]:+-m $opt_args[-m]} - poss=( ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} $proto -o possible)//,/ } ) - fi - if [[ $poss[1] == [0-9]##-[0-9]## ]]; then - if (( $#poss > 1 )); then - _message -e "number in ranges ${(j:, :)poss}" - else - _message -e "number in range $poss" - fi - elif [[ -z $poss[1] ]]; then - _message -e "value" - else - compadd "$@" - $poss - fi -} - -_ipadm_addrobjs() { - compadd "$@" - $(ipadm show-addr -p -o addrobj) -} - -_ipadm_addrobjs_or_ifs() { - compadd "$@" - $(ipadm show-addr -p -o addrobj) \ - $(ipadm show-if -p -o ifname) -} - -_ipadm_protos() { - compadd "$@" - $(ipadm show-prop -c -o proto) -} - -_ipadm() { - local context state line expl - local -A opt_args - local -a subcmds - local -a if_properties if_propproperties if_properties2 - local -a addr_properties addr_propproperties - local -a addrobj_properties - local -a proto_ipv4_properties proto_ipv6_properties proto_tcp_properties - local -a proto_udp_properties proto_sctp_properties proto_icmp_properties - local -a proto_all_properties proto_propproperties - - subcmds=( - "help" - {"show","disable","enable"}"-if" - {"create","delete"}"-ip" - {"create","delete"}"-vni" - {"create","delete","add","remove"}"-ipmp" - {"set","reset","show"}"-ifprop" - {"create","delete","show","up","down","refresh","disable","enable"}"-addr" - {"set","reset","show"}"-addrprop" - {"set","reset","show"}"-prop" - ) - - if_properties=( "ifname" "class" "state" "active" "current" "persistent" "over" ) - - if_propproperties=( "ifname" "property" "proto" "perm" "current" "persistent" "default" "possible" ) - - if_properties2=( - "arp:value:_ipadm_get_possible_values" - "forwarding:value:_ipadm_get_possible_values" - "metric:value:_ipadm_get_possible_values" - "mtu:value:_ipadm_get_possible_values" - "nud:value:_ipadm_get_possible_values" - "usesrc:value:_ipadm_ifs -/ none" - "exchange_routes:value:_ipadm_get_possible_values" - "group:value:_ipadm_get_possible_values" - "standby:value:_ipadm_get_possible_values" - ) - - addr_properties=( - "broadcast:value:_ipadm_get_possible_values" - "deprecated:value:_ipadm_get_possible_values" - "prefixlen:value:_ipadm_get_possible_values" - "private:value:_ipadm_get_possible_values" - "reqhost:value:_ipadm_get_possible_values" - "transmit:value:_ipadm_get_possible_values" - "zone:value:_zones -t c" - ) - - addr_propproperties=( "addrobj" "property" "perm" "current" "persistent" "default" "possible" ) - - addrobj_properties=( - "addrobj" "type" "state" "current" "persistent" "addr" - "cid-type" "cid-value" "begin" "expire" "renew" - ) - - proto_ipv4_properties=( "hostmodel" "ttl" "forwarding" ) - proto_ipv6_properties=( "hostmodel" "hoplimit" "forwarding" ) - proto_tcp_properties=( "cong_default" "cong_enabled" "ecn" "extra_priv_ports" "max_buf" "recv_buf" - "send_buf" "sack" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) - proto_udp_properties=( "extra_priv_ports" "max_buf" "recv_buf" "send_buf" "smallest_anon_port" - "largest_anon_port" "smallest_nonpriv_port" ) - proto_sctp_properties=( "cong_default" "cong_enabled" "extra_priv_ports" "max_buf" "recv_buf" - "send_buf" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) - proto_icmp_properties=( "max_buf" "recv_buf" "send_buf" ) - proto_all_properties=( $proto_ipv4_properties $proto_ipv6_properties $proto_tcp_properties - $proto_udp_properties $proto_sctp_properties $proto_icmp_properties ) - proto_all_properties=( $^proto_all_properties:value:_ipadm_get_possible_values ) - - proto_propproperties=( "proto" "property" "perm" "current" "persistent" "default" "possible" ) - - if [[ $service == "ipadm" ]]; then - _arguments -C -A "-*" \ - '-\?[Help]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "ipadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - case $service in - ("help") - _arguments ':subcommand:($subcmds)' - ;; - - ("create-ip") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - ':interface name:' - ;; - - ("delete-ip") - _arguments -A "-*" \ - ':interface name:_ipadm_ifs' - ;; - - ("create-vni") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - ':VNI name:' - ;; - - ("delete-vni") - _arguments -A "-*" \ - ':VNI name:_ipadm_vnis' - ;; - - ("create-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:' - ;; - - ("delete-ipmp") - _arguments -A "-*" \ - '(-f --force)'{-f,--force}'[First remove all underlying interfaces from group]' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("add-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("remove-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("show-if") - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $if_properties' \ - ':interface name:_ipadm_ifs' - ;; - - ("disable-if") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':interface name:_ipadm_enabled_ifs' - ;; - - ("enable-if") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':interface name:_ipadm_disabled_ifs' - ;; - - ("set-ifprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $if_properties2' \ - ':interface name:_ipadm_ifs' - ;; - - ("reset-ifprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:($if_properties2)' \ - ':interface name:_ipadm_ifs' - ;; - - ("show-ifprop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $if_propproperties' \ - '(-p --prop)'{-p,--prop}'[Interface properties to display]:property:_values -s , "property" ${if_properties2%%\:*}' \ - ':interface name:_ipadm_ifs' - ;; - - ("create-addr") - # This causes all options and arguments following -T to be - # stuck into $opt_args[-T]. It feels hacky, but it seems - # to do the trick. - # XXX When -T is static, it's not necessary. - _arguments -C -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Address should be temporary]' \ - '-T[Address type]:*::address type:->newaddr' - - if [[ $state == "newaddr" ]]; then - - case ${opt_args[-T]#-T:} in - ("static:"*) - local -a addrthingsv4 - addrthingsv4=( "local:address: " "remote:address: ") - _arguments -A "-*" \ - '(-d --down)'{-d,--down}'[Address should be marked down]' \ - '(-a --address)'{-a,--address}'[Address specification]:address:_values -s , "address" $addrthingsv4' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("dhcp:"*) - _arguments -A "-*" \ - '(-w --wait)'{-w,--wait}'[Seconds to wait for completion]:number or "forever":{if [[ -prefix [0-9]## ]]; then _message -e "number of seconds"; else _wanted forever expl "number or \"forever\"" compadd forever; fi}' \ - '-h[Request a specific hostname]:hostname:' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("addrconf:"*) - local -a addrthingsv6 statefulness - addrthingsv6=( "local:interface id: " "remote:interface id: ") - statefulness=( "stateful:statefulness:(yes no)" "stateless:statelessness:(yes no)" ) - _arguments -A "-*" \ - '(-i --interface-id)'{-i,--interface-id}'[Interface ID]:address:_values -s , "interface id" $addrthingsv6' \ - '(-p --prop)'{-p,--prop}'[Statefulness configuration]:statefulness configuration:_values -s , "statefulness" $statefulness' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - (*) - _wanted commands expl "address type" compadd static dhcp addrconf - ;; - esac - fi - - ;; - - ("delete-addr") - _arguments -A "-*" \ - '(-r --release)'{-r,--release}'[Release DHCP-acquired address]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("show-addr") - _arguments -A "-*" \ - '(-d --dhcp -p --parseable)'{-d,--dhcp}'[Display DHCP status fields]' \ - '(-p --parseable -d --dhcp)'{-p,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $addrobj_properties' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ({"up","down","disable","enable"}"-addr") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("refresh-addr") - _arguments -A "-*" \ - '(-i --inform)'{-i,--inform}'[Retrieve DHCP parameters]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("set-addrprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $addr_properties' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("reset-addrprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:(${addr_properties%%\:*})' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("show-addrprop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $addr_propproperties' \ - '(-p --prop)'{-p,--prop}'[Address object properties to display]:property:_values -s , "property" ${addr_properties%%\:*}' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("set-prop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $proto_all_properties' \ - ':protocol name:_ipadm_protos' - ;; - - ("reset-prop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:(${proto_all_properties%%\:*})' \ - ':protocol name:_ipadm_protos' - ;; - - ("show-prop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $proto_propproperties' \ - '(-p --prop)'{-p,--prop}'[Protocol properties to display]:property:_values -s , "property" ${proto_all_properties%%\:*}' \ - ':protocol name:_ipadm_protos' - ;; - - (*) - _message "unknown ipadm subcommand: $service" - ;; - esac -} - -_ipadm "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipfw b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipfw deleted file mode 100644 index 49d0ef1e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipfw +++ /dev/null @@ -1,325 +0,0 @@ -#compdef ipfw - -local word=$'/[^ \t\0]#[ \t\0]/' comma next pqs nat -local -a actions address pathname ropts ca -local -A opt_args nat_options - -_ipfw_tables() { - local -a expl match opts all - zparseopts -D -E -a opts M+: x+: X+: J+: V+: o+: 1 2 a=all - _description -x ipfw-tables expl 'table' - match=( ${${${(M)${(f)"$(_call_program ipfw-tables - ipfw table all info 2>/dev/null)"}:#-*}#*\(}%%\)*} ) - if (( $#all )); then - match+=( all ) - compadd -D match -a match - [[ $#PREFIX -eq 0 && $#match -eq 1 && $match[1] = all ]] && compstate[insert]='' - fi - compadd "$opts[@]" "$expl[@]" "$@" -a match -} - -_ipfw_rules() { - local -a rules - rules=( ${${(f)"$(_call_program ipfw-rules ipfw list)"}/ /:} ) - _describe -x -t ipfw-rules rule rules "$@" -} - -ropts=( # rule options - bridged - defer-{immediate-,}action diverted{,-loopback,-output} - dst-{ip{,6,v6},port} established ext6hdr - fib flow flow-id frag gid jail - icmptypes icmp6types in out - ipid iplen ipoptions ipprecedence ipsec iptos dscp ipttl ipversion - keep-state layer2 limit lookup - MAC mac-type proto record-state recv xmit via - set-limit setup sockarg - src-{ip,ip6,port} tagged - tcpack tcpdatalen tcpflags tcpmss tcpseq tcpwin tcpoptions - uid verrevpath versrcreach antispoof -) - -nat_options=( - nat64lsn "prefix4 prefix6 states_chunk host_del_age pg_del_age tcp_syn_age tcp_est_age tcp_close_age udp_age icmp_age log -log allow_private -allow_private" - nat64stl "prefix6 table4 table6 log -log allow_private -allow_private" - nat64clat "clat_prefix plat_prefix log -log allow_private -allow_private" - nptv6 "int_prefix ext_prefix ext_if prefixlen" -) - -ca=( compadd -S " " -r " $compstate[quote]\t\n\-" ) - -address=( - \( $'/not[ \t\0]/' ':operators:operator:$ca not' \| \) - \( $'/(any|me|me6)[ \t\0]/' ':addresses:address:$ca any me me6' - \| '/table??/' ':tables:table:compadd -S "" -s\( table' - $word ':tables:table:_ipfw_tables -s\) -S ""' - \| // -'comma=0' - \( - // -'(( ! comma ))' - \( $'/[^, \t\0]#/' $'%[, \t\0]%' ':hosts:ip or host:_hosts -S, -r "/: \t\n\-"' - \| $'/[^},/:]##//' '/[]/' ': _message -e numbers "mask length"' - \| $'/[^},/:]##:/' '/[]/' ': _message -e numbers "mask"' - \| $'/([0-9]##.)(#c3)[0-9]##/' '/[]/' ':symbols:symbol:compadd -S "" / : ,' - \| // '%[1-9]%' '/[]/' ': _message -e ip-addresses "IP address"' \) - \( /,/ -'comma=0' \| // -'comma=1' \) - $'/([ \t\0]|)/' - \) \# - // -'(( comma ))' - \) -) -address=( - \( $'/[({][ \t]\0/' -'next=1' ':symbols:symbol:$ca - {' - \( // -'(( next ))' $address - \( $'/or[ \t\0]/' -'next=1' ':symbols:symbol:$ca - or \}' \| // -'next=0' \) - \) \# - $'/[})][ \t\0]/' - \| $address \) - \( - \( $'/not[ \t\0]/' ':specifiers:specifier:$ca - not' \| \) - $word -$'[[ $match != to? && -z ${(M)ropts:#${match%?}} ]]' ':ports:port:_sequence _ports' - \| \) -) - -actions=( - $'/[^\0]##\0(-[a-zA-Z0-9]##[ \t]#)#/' # skip over options, completed by _arguments but can - \( # be quoted in one argument which that doesn't handle - $'/add[ \t\0]/' ':firewall-commands:firewall configuration:$ca add' - \( $'/<->[ \t\0]/' ': _guard "[0-9]#" "rule number (00000-65535)"' \| \) - \( $'/set[ \t\0]/' ':specifiers:specifier:$ca set' $word ':sets:set:$ca -o numeric {0..31}' \| \) - \( $'/prob[ \t\0]/' ':specifiers:specifier:$ca prob' $word ': _message -e probabilities "match probability (0.0-1.0)"' \| \) - \( # rule actions - $'/check-state[ \t\0]/' $word ': _message -e flow-names "flow name"' - \| - \( $'/(divert|tee)[ \t\0]/' $word ': _message -e ports port' - \| $'/(fwd|forward)[ \t\0]/' - \( $word ': _guard "[0-9]#" "ip address"' - \| '/[^\0]#,/' ':specials:special:compadd -qS, tablearg' - $word ':ports:port:_ports -qS " "' \) - \| $'/(nat*|nptv6)[ \t\0]/' - \( $word ': _guard "[0-9]#" "nat instance"' - \| $word ':specials:special:$ca global tablearg' \) - \| $'/pipe[ \t\0]/' $word ': _message -e pipes "dummynet pipe"' - \| $'/queue[ \t\0]/' $word ': _message -e queues "dummynet queue"' - \| $'/(skipto|call)[ \t\0]/' \( /t/+ $word ':specials:special:$ca tablearg' \| '/[]/' ':ipfw-rules:rule:_ipfw_rules -qS " "' \) - \| $'/unreach[ \t\0]/' $word ':codes:code:$ca net host protocol port needfrag srcfail net-unknown host-unknown isolated net-prohib host-prohib tosnet toshost filter-prohib host-precedence precedence-cutoff' - \| $'/unreach6[ \t\0]/' $word ':codes:code:$ca no-route admin-prohib address port' - \| $'/(netgraph|ngtee)[ \t\0]/' $word ': _message -e cookies cookie' - \| $'/setfib[ \t\0]/' \( $word ': _guard "[0-9]#" "routing table"' \| '/[]/' ':specials:special:$ca tablearg' \) - \| $'/setdscp[ \t\0]/' \( $word ':dscps:dscp:$ca cs{0..7} af{1,2,3,4}{1,2,3} ef be' \| '/[]/' ':specials:special:$ca tablearg' \) - \| $'/tcp-setmss[ \t\0]/' $word ': _message -e mss mss' - \| $word \) - \( $'/log[ \t\0]/' ':specifiers:specifier:$ca log' - \( $'/logamount[ \t\0]/' ':specifiers:specifier:$ca logamount' $word ': _message -e limits "maximum count"' \| \) - \| \) - \( $'/altq[ \t\0]/' ':specifiers:specifier:$ca altq' $word ': _message -e queues queue' \| \) - \( $'/(tag|untag)[ \t\0]/' ':specifiers:specifier:$ca tag untag' $word ': _message -e numbers "tag (1-65534)"' \| \) - # rule body - \( \( $'/not[ \t\0]/' ':operators:operator:$ca not' \| \) - $'/(ip(v|)(4|6|)|all|icmp|ip|tcp|udp|sctp)[ \t\0]/' ':protocols:protocol:$ca ip ip4 ipv4 ip6 ipv6 all icmp tcp udp sctp' - $'/from[ \t\0]/' ':specifiers:specifier:$ca from' - $address - $'/to[ \t\0]/' ':specifiers:specifier:$ca to' - $address - \| \) - # rule options - \( $'///[ \t\0]/' ':rule-options:rule option:((//\:comment))' // ': _message -e comments comment' - \| $'/(dst|src)-ip(|6|v6)[ \t\0]/' $word ': _message -e addresses address' - \| $'/(dst|src)-port[ \t\0]/' $word ':ports:port:_sequence _ports' - \| $'/ext6hdr[ \t\0]/' $word ':headers:extended header:_sequence compadd - frag hopopt route rthdr0 rthdr2 dstopt ah esp' - \| $'/fib[ \t\0]/' $word ': _message -e routing-tables "routing table"' - \| $'/flow[ \t\0]/' '/table??/' ':tables:table:compadd -S "" -s\( table' - $word ':tables:table:_ipfw_tables -s\) -S ""' - \| $'/flow-id[ \t\0]/' $word ': _message -e flow-labels "flow label"' - \| $'/frag[ \t\0]/' $word ':fragmentation options:fragmentation option:_sequence compadd - df mf rf offset' - \| $'/gid[ \t\0]/' $word ':groups:group:_groups' - \| $'/jail[ \t\0]/' $word ':jails:jail:_jails' - \| $'/ipoptions[ \t\0]/' $word ':ip-options:ip option:_sequence compadd - ssrr lsrr rr ts' - \| $'/iptos[ \t\0]/' $word ':tos-fields:tos field:_sequence compadd - lowdelay throughput reliability mincost congestion' - \| $'/(set-|)limit[ \t\0]/' $word ':parameters:parameter to limit:$ca {src,dsr}-{addr,port}' - $word ': _message -e numbers "connection limit"' - \| $'/lookup[ \t\0]/' $word ':fields:field:$ca {src,dst}-{ip,port} uid jail' - $word ': _message -e names name' - \| $'/(#i)mac[ \t\0]/' $word ': _message -e mac-addresses "destination mac"' - $word ': _message -e mac-addresses "source mac"' - \| $'/proto[ \t\0]/' $word ': _message -e protocols "IP protocol"' - \| $'/(recv|xmit|via)[ \t\0]/' - \( $word ':interfaces:interface:_net_interfaces -qS " "' - \| $word ':ipfw-tables:table:_ipfw_tables -qS " "' - \| $'/any[ \t\0]/' ':interfaces:interface:$ca any' \) - \| $'/tcpflags[ \t\0]/' $word ':tcp-flags:tcp flag:_sequence compadd - fin syn rst psh ack urg' - \| $'/tcpoptions[ \t\0]/' $word ':tcp-options:tcp option:_sequence compadd - mss window sack ts cc' - \| $'/uid[ \t\0]/' $word ':users:user:_users -qS " "' - \| $'/(icmp(|6)types|ipid|iplen|ipprecedence|dscp|ipttl|ipversion|keep-state|mac-type|tagged|tcp(ack|datalen|mss|pack|seq|win))[ \t\0]/' $word ': _message -e values value' - \| $word ':rule-options:rule option:$ca -a ropts' - \) \# - \| - '/[]/' ':actions:action:$ca allow check-state count deny divert forward nat nat64lsn nat64stl nat64clat nptv6 pipe queue reset reset6 skipto call return tee unreach unreach6 netgraph setfib ngtee setfib setdscp tcp-setmss reass abort abort6' - \) - \| $'/set[ \t\0]show[ \t\0]/' - \| $'/set[ \t\0]move[ \t\0]/' - \( // %r% $'/rule[ \t\0]/' ': $ca rule' \| \) - $word ':ipfw-rules: :_ipfw_rules -qS " "' - $'/to[ \t\0]/' ': $ca to' - $word ':ipfw-rules: :_ipfw_rules' - \| $'/set[ \t\0]swap[ \t\0]/' - $word ':ipfw-sets:set:$ca -o numeric {0..31}' - $word ':ipfw-sets:set:compadd -o numeric {0..31}' - \| $'/set[ \t\0]/' '%[ed]%' - \( - $'/(en|dis)able[ \t\0]/' ':set-commands:set command:$ca -F line enable disable' - $'/<->[ \t\0]/' ':ipfw-sets:set:$ca -o numeric {0..31}' - $'/<->[ \t\0]/' ':ipfw-sets:set:$ca -o numeric {0..31}' \# - \) \# - \| - \( $'/set[ \t\0]/' ':firewall-commands:firewall configuration:$ca set' - \( $'/<->[ \t\0]/' ':sets:set:$ca -o numeric {0..31}' - \| '/[]/' ':set-commands:set command:$ca move swap show enable disable' \) - \| \) - \( $'/(list|show|delete)[ \t\0]/' ':firewall-commands:firewall configuration:$ca list show delete zero resetlog' - \( $'/[0-9]##-/' $word ':ipfw-rules: :_ipfw_rules -qS " "' - \| $word ':ipfw-rules: :_ipfw_rules -qS "-"' \) \# - \| $'/(zero|resetlog)[ \t\0]/' $word ':ipfw-rules: :_ipfw_rules -qS " "' \# - \| $'/flush[ \t\0]/' ':firewall-commands:firewall configuration:(flush)' - \| $'/table[ \t\0]/' ':commands:command:$ca table' - \( # lookup tables - $'/all[ \t\0]/' $word ':commands:table command:compadd destroy list info detail flush' - \| - $word ':tables:table:_ipfw_tables -a -qS " "' - \( $'/create[ \t\0]/' - \( $'/type[ \t\0]/' $word ':types:type:(addr iface number flow)' - \| $'/valtype[ \t\0]([^ \t\0]#,|)/' $word ':value-types:value type:compadd -qS, skipto pipe fib nat dscp tag divert netgraph limit ipv4 ipv6' - \| $'/algo[ \t\0]/' $word ':algorithms:lookup algorithm:$ca addr\:radix addr\:hash iface\:array number\:array flow\:hash' - \| $'/limit[ \t\0]/' $word ': _message -e numbers "maximum number of items"' - \| $word ':options:option:$ca -F line type valtype algo limit locked missing or-flush' \) \# - \| $'/modify[ \t\0]/' - $'/limit[ \t\0]/' ':options:option:$ca limit' - $word ': _message -e numbers "maximum number of items"' - \| $'/swap[ \t\0]/' - $word ':tables:table:_ipfw_tables -a' - \| $'/(atomic[ \t\0]|)add[ \t\0]/' \( - $word ': _message -e table-keys "table key"' - $word ': _message -e values value' \) \# - \| $'/delete[ \t\0]/' $word ': _message -e table-keys "table key"' \# - \| $'/lookup[ \t\0]/' $word ': _message -e addresses address' - \| - '/[]/' ':commands:table command:compadd - destroy lock unlock list info detail flush' - \| - $word ':commands:table command:$ca -Q - create modify swap add atomic\ add delete lookup' - \) - \) - \| $'/(nat64(lsn|stl|clat)|nptv6)[ \t\0]/' -'nat=${match%?}' ':commands:command:$ca nat64lsn nat64stl nat64clat nptv6' - $word ': _message -e names name' - \( $'/(config|create)[ \t\0]/' - \( $'/[^\0]#prefix([46]|)[ \t\0]/' $word ': _message -e prefixes prefix' - \| $'/states_chunks[ \t\0]/' $word ': _message -e numbers number' - \| $'/[^\0]#_age[ \t\0]/' ': _message -e seconds "age (seconds)"' - \| $'/table[46][ \t\0]/' $word ':ipfw-tables:ipfw table:_ipfw_tables -qS " "' - \| $'/ext_if[ \t\0]/' $word ':interfaces:interface:_net_interfaces -qS " "' - \| $'/prefixlen[ \t\0]/' ': _message -e lengths length' - \| $word ':options:option:$ca -F line $=nat_options[$nat]' \) \# - \| $'/(list|show)[ \t\0]/' - \( // -'[[ $nat = *lsn]' $word ':states:state:(states)' - \| // -'[[ $nat != *lsn]' \) - \| $'/stats[ \t\0]/' $word ':commands:command:(reset)' - \| - $word ':commands:command:$ca create config list show destroy stats' - \) - \) - \| # in-kernel NAT - $'/nat[ \t\0]/' ':commands:command:$ca nat' - $word ': _message -e numbers "nat instance"' - \( $'/config[ \t\0]/' - \( $'/if[ \t\0]/' $word ':interfaces:interface:_net_interfaces -qS " "' - \| $'/ip[ \t\0]/' $word ': _message -e ip-addresses "ip address"' - \| $'/redirect_addr[ \t\0]/' - $word ': _message -e ip-addresses "IP address"' - $word ': _message -e ip-addresses "IP address"' - \| $'/redirect_port[ \t\0]/' $word ':protocols:protocol:$ca sctp tcp udp' - '/[^:]##:/' ': _message -e ip-addresses "IP address"' - $word ':ports:port:_ports' - $word ':ports:port:_sequence _ports' - \| $'/redirect_proto[ \t\0]/' $word ':protocols:protocol:$ca sctp tcp udp' - $word ': _message -e ip-addresses "IP address"' - $word ': _message -e ip-addresses "IP address"' - \| $word ':parameters:config parameter:$ca ip if log deny_in same_ports unreg_only unreg_cgn reset reverse proxy_only skip_global redirect_port redirect_addr redirect_proto' - \) \# - \| $'/show[ \t\0]/' $word ':actions:action:(config log)' - \| '/[]/' ':commands:command:$ca config show' \) - \| # dummynet configuration - $'/(pipe|queue|sched)[ \t\0]/' -'pqs=${match%?}' ':dummynet-commands:dummynet configuration:$ca pipe queue sched' - $word ': _message -e numbers number' - $word ':options:config:$ca config' - \( $'/bw[ \t\0]/' - \( $word ':bandwidths: :_numbers -M "m:{a-z}={A-Z}" bandwidth {K,M,G}{bit,Byte}/s' - \| $word ':devices:device:_net_interfaces -qS " "' \) - \| $'/delay[ \t\0]/' $word ': _message -e numbers "propagation delay (ms)"' - \| $'/burst[ \t\0]/' $word ': _message -e numbers "size (bytes)"' - \| $'/profile[ \t\0]/' $word ':files:file:_files -qS " "' - \| $'/pipe[ \t\0]/' $word ': _message -e pipes pipe' - \| $'/weight[ \t\0]/' $word ': _message -e weights "weight (1-100) [1]"' - \| $'/type[ \t\0]/-' - \( $'/fq_(pie|codel)[ \t\0]/' - \( $'/limit[ \t\0]/' $word ': _message -e numbers "limit (packets) [10240]"' - \| $'/flows[ \t\0]/' $word ': _message -e numbers "flow queues [1024]"' - \| $'/quantum[ \t\0]/' ':parameters:parameter:$ca -F line quantum limit flows' \) \# - '/[]/' - \| $word ':types:scheduling algorithm:$ca fifo wf2q+ rr qfq fq_codel fq_pie fq_codel' \) - \| $'/buckets[ \t\0]/' $word ': _message -e sizes "hash table size (16-65536)"' - \| $'/mask[ \t\0]/' $word ':mask-specifiers:mask specifier:$ca dst-ip dst-ip6 src-ip src-ip6 dst-port src-port flow-id proto all' - \| $'/plr[ \t\0]/' $word ': _message -e numbers "packet loss rate (0.0-1.0)"' - \| $'/queue[ \t\0]/' $word ': _message -e sizes "queue size"' - \| $'/(red|gred)[ \t\0]/' $word ': _message -e thresholds thresholds' - \| $'/codel[ \t\0]/' - \( $'/(target|interval)[ \t\0]/' $word ': _message -e times "time (ms)"' - \| $'/(ecn|noecn)[ \t\0]/' ':options:option:$ca -F line target interval ecn noecn' \) \# - '/[]/' - \| $'/pie[ \t\0]/' - \( $'/(target|tupdate|max_burst)[ \t\0]/' $word ': _message -e times "time"' - \| $'/(alpha|beta)[ \t\0]/' $word ': _message -e weights weight' - \| $'/max_ecnth[ \t\0]/' $word ': _message -e probabilities probability' - \| $word ':options:option:$ca -F line alpha beta max_burst max_ecnth {,no}{ecn,capdrop,drand} onoff dre ts' \) \# - '/[]/' - \| // '-[[ $pqs = pipe ]]' $'/noerror[ \t\0]/' ':options:option:$ca -F line bw delay burst profile buckets mask noerror plr queue red gred codel pie' - \| // '-[[ $pqs = queue ]]' $'/noerror[ \t\0]/' ':options:option:$ca -F line pipe weight buckets mask noerror plr queue red gred codel pie' - \| // '-[[ $pqs = sched ]]' $'/[]/' ':options:option:$ca -F line type bw delay burst profile' - \) \# - \| # sysctl shortcuts - $'/(en|dis)able[ \t\0]/' ':sysctl-shortcuts:sysctl shortcut:$ca enable disable' - $word ':values:value:(firewall altq one_pass debug verbose dyn_keepalive)' - \| - $'/internal[ \t\0]/' ':commands:command:$ca internal' - $word ':lists:list:(iflist talist vlist)' - \) -) - -if (( $words[(I)-p*] )); then - pathname=( ':path:_files -P / -W /' ) -fi - -_regex_arguments _ipfw_actions "$actions[@]" - -if [[ -prefix *[$' \t']* ]]; then - # This allows from things like ipfw "-n add..." - _ipfw_actions - return -fi - -_arguments -s $pathname \ - '(-p)-a[show counter values when listing rules (implied by show)]' \ - '(-p)-b[show only the action and the comment]' \ - '-c[show rules in compact form]' \ - '(-p)-d[show dynamic rules in addition to static ones]' \ - '(-p)-D[act on dynamic states only]' \ - '-f[run without confirmation]' \ - '(- *)-h[display syntax summary]' \ - '(-p)-i[format values as IP addresses in table listings]' \ - '-n[only check syntax, make no changes]' \ - '-N[resolve addresses and service names in output]' \ - '-q[quiet output]' \ - '-S[show the set each rule belongs to]' \ - '(-p)-s+[sort pipes by field]:field (negative reverses):((0\:unsorted 1\:packets 2\:bytes 3\:total\ packets 4\:total\ bytes))' \ - '(-p -T)-t[show timestamp of last match, ctime() format]' \ - '(-p -t)-T[show timestamp of last match as seconds since epoch]' \ - '(-a -b -d -D -i -s -t -T *)-p+[specify preprocessor]:preprocessor:_command_names -e' \ - '*:::actions:= _ipfw_actions' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipsec b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipsec deleted file mode 100644 index 631d2bc9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipsec +++ /dev/null @@ -1,179 +0,0 @@ -#compdef ipsec strongswan - -# Completion for the ipsec script (aka strongswan on some systems) provided by -# FreeS/WAN, Openswan, Libreswan, and strongSwan. See also strongSwan's swanctl. -# -# As with swanctl, elevated privileges are usually required to complete SA names -# and the like; consider setting the gain-privileges style as follows: -# zstyle ':completion:*:(ipsec|strongswan)/*' gain-privileges yes -# -# @todo We don't complete pool names or virtual IPs - -# Complete connection (IKE SA) names and optionally SA/instance names -# --instances => also complete SA/instance names -(( $+functions[_ipsec_connections] )) || -_ipsec_connections() { - local -a instances tmp ipsec_conns ipsec_insts - - zparseopts -D -E -a instances - -instances - - tmp=( ${(f)${"$( - _call_program -p ipsec-status ${_ipsec_cmd:-$words[1]} statusall - )"#*$'\n'[[:space:]]#[Cc]onnections:[[:space:]]#$'\n'}} ) - tmp=( ${(@M)tmp:#[[:space:]]#[^[:space:]]##:[[:space:]]##?*} ) - tmp=( ${(@)${(@)tmp##[[:space:]]##}%%:*} ) - - ipsec_conns=( ${(@)tmp%%['[{']<->['}]']} ) - ipsec_insts=( ${(@M)tmp:#*['[{']<->['}]']} ) - - (( $#ipsec_conns )) || { - _message -e connections 'connection name' - return - } - - tmp=( 'connections:connection name:compadd -a - ipsec_conns' ) - (( $#instances && $#ipsec_insts )) && - tmp+=( 'instances:connection SA/instance name:compadd -a - ipsec_insts' ) - - _alternative $tmp -} - -# Complete arguments to /usr/lib/ipsec/starter. This is rarely invoked directly, -# and there is almost no documentation on it, but the start/restart commands -# pass options to it -(( $+functions[_ipsec_starter] )) || -_ipsec_starter() { - _arguments : \ - '(--nofork)--attach-gdb[start daemon under gdb (implies --nofork)]' \ - '--auto-update[specify select time-out]:select time-out (seconds)' \ - '--conf[specify path to ipsec.conf]:ipsec.conf file:_files' \ - '--daemon[specify daemon name]:daemon name' \ - '--nofork[do not fork daemon]' \ - + '(d)' \ - '--debug[set log level 2]' \ - '--debug-more[set log level 3]' \ - '--debug-all[set log level 4]' \ - '--nolog[set log level 0]' -} - -_ipsec() { - local ret=1 variant _ipsec_cmd=$words[1] - local -a context line state state_descr tmp - local -A opt_args - - _pick_variant -r variant \ - freeswan='(#i)frees/#wan' \ - libreswan='(#i)libreswan' \ - openswan='(#i)openswan' \ - strongswan='(#i)strongswan' \ - unix \ - --version - - # Provide only basic completion for non-strongSwan implementations - if [[ $variant == unix ]]; then - _default - return - elif [[ $variant == (free|libre|open)* ]]; then - tmp=( ${(f)"$( _call_program ipsec-help $words[1] --help )"} ) - tmp=( ${(@M)tmp:#($' '|$'\t')*} ) - tmp=( ${(@)tmp:#*[':/<>()[]']*} ) - tmp=( ${(f)${(F)tmp//[[:space:]]##/$'\n'}} ) - - _arguments -S -A '-*' : \ - '(: * -)--help[display help information]' \ - '(: * -)--version[display version information]' \ - "(-)1:command:(${(j< >)${(@q-)tmp}})" \ - '(-)2: :_default' - return - fi - - _arguments -A '-*' \ - '(: * -)--confdir[display path to configuration directory (IPSEC_CONFDIR)]' \ - '(: * -)--copyright[display copyright information]' \ - '(: * -)--directory[display path to libexec/utility directory (IPSEC_DIR)]' \ - '(: * -)--help[display help information]' \ - '(: * -)--piddir[display path to PID directory (IPSEC_PIDDIR)]' \ - '(: * -)--version[display version information]' \ - '(: * -)--versioncode[display brief version information]' \ - '1:command:(( - down\:"terminate IPsec connection/SA" - down-srcip\:"terminate IKE SAs by client virtual IP" - leases\:"display IP address/pool status" - listaacerts\:"display X.509 authorization authority certificates" - listacerts\:"display X.509 attribute certificates" - listalgs\:"display loaded algorithms" - listall\:"execute all list commands" - listcacerts\:"display X.509 certificate authority certificates" - listcainfos\:"display certificate authority information" - listcerts\:"display X.509/OpenPGP certificates" - listcounters\:"display IKE counter information" - listcrls\:"display certificate revocation lists" - listgroups\:"display groups for user authorization profiles" - listocsp\:"display OCSP revocation information" - listocspcerts\:"display X.509 OCSP signer certificates" - listplugins\:"display loaded plug-in features" - listpubkeys\:"display RSA public keys" - purgecerts\:"purge cached certificates" - purgecrl\:"purge cached certificate revocation lists" - purgeike\:"purge IKE SAs without a quick mode or CHILD_SA" - purgeocsp\:"purge cached OCSP information" - reload\:"reload entire configuration (send SIGUSR1)" - rereadacerts\:"re-read attribute certificates" - rereadaacerts\:"flush and re-read authorization authority certificates" - rereadall\:"execute all re-read commands" - rereadcacerts\:"flush and re-read certificate authority certificates" - rereadcrls\:"re-read certificate revocation lists" - rereadocspcerts\:"re-read OCSP certificates" - rereadsecrets\:"flush and re-read secrets" - resetcounters\:"reset IKE counter information" - restart\:"equivalent to stop + start" - route\:"insert kernel IPsec policy for connection" - start\:"start IKE daemon" - status\:"display concise connection status" - statusall\:"display detailed connection status" - stop\:"terminate all IPsec connections and stop IKE daemon" - stroke\:"issue stroke command" - unroute\:"remove kernel IPsec policy for connection" - up\:"bring up IPsec connection" - update\:"reload changes in configuration (send SIGHUP)" - ))' \ - '*:: :->next' \ - && ret=0 - - [[ $state == next ]] && - case $words[1] in - down) - _arguments : '1: :_ipsec_connections --instances' && ret=0 - ;; - listcounters|resetcounters|route|status|statusall|unroute|up) - _arguments : '1: :_ipsec_connections' && ret=0 - ;; - down-srcip) - _arguments : \ - '1:virtual IP address (start)' \ - '2::virtual IP address (end)' \ - && ret=0 - ;; - leases) - _arguments : '1:pool name' '2::virtual IP address' && ret=0 - ;; - list*~list(counters|plugins)) - _arguments : '--utc[use UTC for time fields]' && ret=0 - ;; - start|restart) - _ipsec_starter && ret=0 - ;; - stroke) - _arguments -s -S -A '-*' \ - '(: * -)'{-h,--help}'[display help information]' \ - '(-d --daemon)'{-d+,--daemon=}'[specify daemon name]:daemon name' \ - '1: :_guard "^-*" "stroke command"' \ - '*:stroke command argument:_default' \ - && ret=0 - ;; - esac - - return ret -} - -_ipsec "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipset deleted file mode 100644 index a4048090..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ipset +++ /dev/null @@ -1,142 +0,0 @@ -#compdef ipset - -local offset=0 -local -a args from_to hash cmds listopts addopts - -_set_types () { - _values -S \ "set type" \ - 'bitmap\:ip[uses a memory range to store IPv4 host (default) or IPv4 subnet addresses up to 65536 elements]'\ - 'bitmap\:ip,mac[uses a memory range to store an IPv4 host/subnet and mac address pair up to 65536 elements]'\ - 'bitmap\:port[uses a memory range to store port numbers independent of L4 protocol at up to 65536 elements]'\ - 'hash\:ip[stores IPv4/IPv6 host/subnet addresses. 0.0.0.0 and :: cannot be stored]'\ - 'hash\:net[stores varying sizes of IPv4/IPv6 addresses. 0.0.0.0 and :: cannot be stored]'\ - 'hash\:ip,port[stores IPv4/IPv6 addresses and port numbers, including L4 proto - port 0 cannot be stored]'\ - 'hash\:net,port[stores varying sizes of IPv4/IPv6 addresses and port numbers, including L4 proto]'\ - 'hash\:ip,port,ip[stores IPv4/IPv6 addresses, a port with L4 proto and another IPv4/IPv6 address]'\ - 'hash\:ip,port,net[stores an IPv4/IPv6 address, port with L4 proto and an arbitrary size IPv4/IPv6 subnet]'\ - 'hash\:net,iface[stores an IPv4/IPv6 address and an interface name]'\ - 'list\:set[a simple list which stores names of other sets]' -} - -#if [[ $words[2] = (-q|--quiet) ]]; then -# offset=1 -#fi - -_ipsets () { - local -a vals - vals=( ${${(M)${(f)"$(_call_program ipsets ipset -L)"}%Name: *}#Name: } ) - _describe -t ipsets "IP set" vals -} -_sets () { - _ipsets - local -a vals -} - -from_to=('(--network)--from[from IP or network (with --netmask)]:IP' - '(--network)--to[to IP or network (with --netmask)]:IP' - '(--from --to)--network[network]:IP/mask' -) - -hash=( '--hashsize[the initial hash size aligned to a power of 2]:hashsize [1024]' - '--maxelem[the maximum number of elements in the set]:max elements [65536]' - '--family[the protocol family of addresses to be stored in the set]:address family [inet]:(inet inet6)' - '--timeout[adds timeout support to the set with your specified value as default, (0 = forever)]:entrytimeout' - '--probes[max number of tries to resolve clashing, altering this is discouraged]:tries [8]' - '--resize[ratio of increasing hash size after unsuccessful <probes> of double-hashing, altering discouraged]:percent' -) - -case $words[offset+2]; in - -N|--create) - case $words[offset+4]; in - bitmap\:ip) - args=( $from_to - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - bitmap\:ip,mac) - args=( $from_to - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - bitmap\:port) - args=( '--from[from port]:port:_ports' - '--to[to port]:port:_ports' - ) - ;; - hash\:ip) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net) - args=( $hash ) - ;; - hash\:ip,port) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net,port) - args=( $hash ) - ;; - hash\:ip,port,ip) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:ip,port,net) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net,iface) - args=( $hash ) - ;; - list\:set) - args=( '--size[size of the new setlist]:size [8]' ) - ;; - esac - ;; -esac - -_ips () { - if [[ $CURRENT -eq ((offset+4)) ]]; then - local ips=1 default - local -a vals vals1 vals2 bindings - vals=( ${${${(f)"$(_call_program ipsets ipset -L $words[offset+3])"}[4,-1]}//\:/\\:} ) - for i in $vals; do - if [[ $i = Default\ binding\\:* ]]; then default=${i#Default binding\\: }; continue; fi - if [[ $i = (Header\\:*|Members\\:*|Size in memory\\:*|References\\:*) ]]; then continue; fi - if [[ $i = 'Bindings\:' ]]; then ips=0; continue; fi - if (( $ips )); then vals1+=$i; else bindings+=${i/ ->/:}; fi - done - _describe -t ips "IPs from $words[offset+3] set" vals1 - _describe -t special_values "special value" vals2 - fi -} - -cmds=(-N -X -F -E -W -S -R -A -D -T -B -U -H --create --destroy --flush --rename --swap --save --restore --add --del --test --help) -listopts=(-n --name -s --sorted -t --terse -r --resolve -L --list) -addopts=(--timeout --timeout -! --exist -A --add) - -_arguments \ - "($cmds $listopts $addopts)"{-N,--create}'[create a set]:set name::::_set_types' \ - "($cmds $listopts)"{-X,--destroy}'[destroy specified set (or all if none specified)]:set name:_sets' \ - "($cmds $listopts)"{-F,--flush}'[flush specified set (or all if none specified)]:set name:_sets' \ - "($cmds $listopts)"{-E,--rename}'[rename set]:current set name:_ipsets:new set name:' \ - "($cmds $listopts)"{-W,--swap}'[swap two sets]:::_ipsets:::_ipsets' \ - "($cmds -L --list -q --quiet )"{-L,--list}'[list the entries and bindings for the specified set (or all if none specified)]:::_sets' \ - "($cmds $listopts)"{-S,--save}'[save the given set (or all if none specified)]:::_sets' \ - "($cmds $listopts)"{-R,--restore}'[restore a saved session generated by --save from stdin]' \ - "($cmds $listopts)"{-A,--add}'[add an IP to a set]:::_ipsets:IP' \ - "($cmds $listopts)"{-D,--del}'[delete an IP from a set]:::_ipsets:::_ips' \ - "($cmds $listopts)"{-T,--test}'[test whether an IP is in a set]:::_ipsets:::_ips' \ - "($cmds $listopts)"{-H,--help}'[print help and settype specific help if settype specified]:::_set_types' \ - "(-q --quiet $listopts)"{-q,--quiet}'[suppress any output to stdout and stderr]' \ - "(-t --terse $listopts)"{-t,--terse}'[list set names and headers without entries]' \ - "(-r --resolve $listopts)"{-r,--resolve}'[enforce DNS name lookup of addresses, slow!]' \ - "(-! --exist $addopts)"{-!,--exist}'[ignore errors when creating an identical set, adding existing entry or deleting a non-existent one]'\ - "(--timeout --timeout $addopts)"{--timeout,--timeout}'[set the timeout for this entry. set must have been created with timeout support]:timeout'\ - "($cmds -s --sorted -q --quiet)"{-s,--sorted}'[sorted output]' \ - "($cmds -n --name -q --quiet)"{-n,--name}"[name output only; suppresses showing of set information]" \ - "$args[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iptables b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iptables deleted file mode 100644 index 27c801da..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iptables +++ /dev/null @@ -1,248 +0,0 @@ -#compdef iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore - -local curcontext="$curcontext" state line expl i ret=1 -local -a cmds rcmds ropts rules states prev args - -case $service in - iptables-save | ip6tables-save) - _arguments -s \ - {-c,--counters}'[include values of packet and byte counters in output]' \ - {-t,--table}'[specify table]:table:(filter nat mangle raw security)' - return - ;; - iptables-restore | ip6tables-restore) - _arguments -s \ - {-c,--counters}'[restore the values of all packet and byte counters]' \ - {-n,--noflush}"[don't flush the previous contents of the table]" - return - ;; -esac - -rcmds=( -A --append -D --delete -I --insert -R --replace ) -cmds=( - -L --list -F --flush -Z --zero -N --new --new-chain -X --delete-chain - -P --policy -E --rename-chain -h --help -V --version -) -ropts=( - -p --protocol -s --src --source -d --dst --destination -j --jump -i - --in-interface -o --out-interface -f --fragment -c --set-counters -) - -prev=( ${words[1,CURRENT-1]} ) -case ${prev[${prev[(I)-p|--protocol]}+1]}; in - tcp) - args=( - '--tcp-flags[match based on TCP flags in a packet]: :->tcp-flags: :->tcp-flags' - '--syn[match packets with the SYN flag set]' - '--tcp-option[match based on TCP options]:option' - ) - ;& - udp) - args+=( - '(--sport --source-port)'{--sport,--source-port}'[match packets based on source port]:*^!:port:_ports' - '(--dport --destination-port)'{--dport,--destination-port}'[match packets based on destination port]:*^!:port:_ports' - ) - ;; - icmp) args=( '--icmp-type[match specified ICMP type]:*^!:ICMP type:->icmp-types' ) ;; -esac - -case ${prev[${prev[(I)-j|--jump]}+1]}; in - DNAT) args+=( '(--to --to-destination)'{--to,--to-destination}':address' ) ;; - DSCP) - args+=( - '--set-dscp[set the DSCP field]:value' - '--set-dscp-class[set the DiffServ class]:class' - ) - ;; - ECN) args+=( '--ecn-tcp-remove[remove all ECN bits from TCP header]' ) ;; - LOG) - args+=( - '--log-level[specify level of logging]:log level:(debug info notice warning err crit alert emerg)' - '--log-prefix[specify prefix string for log message]:string' - '--log-tcp-sequence[log TCP sequence numbers]' - '--log-tcp-options[log TCP options]' - '--log-ip-options[log IP options]' - ) - ;; - MARK) args+=( '--set-mark[set fwmark in packet]:number' ) ;; - REDIRECT|MASQUERADE) args+=( '--to-ports[port (range) to map to]:port range:_ports' ) ;; - REJECT) args+=( '--reject-with[drop packet and send reply]:reject type:->reject-types' ) ;; - SNAT) args+=( '(--to --to-source)*'{--to,--to-source}'[specify address to map source to]:address' ) ;; - TCPMSS) - args+=( - '--set-mss[explicitly set MSS option]:value' - '--clamp-mss-to-pmtu[automatically clamp MSS value]' - ) - ;; - TOS) args+=( '--set-tos[set type of service field]:type of service:->tos' ) ;; - ULOG) - args+=( - '--ulog-nlgroup[specify netlink group used for logging]:netlink group' - '--ulog-prefix[specify prefix string for log message]:string' - '--ulog-cprange[specify size of each packet to be passed]:size (bytes)' - '--ulog-qthreshold[specify threshold of in-kernel queue]:size' - ) - ;; -esac - -# loop through all -m options preceding the cursor -local i=1 -typeset -U args -while - (( i=words[(ib.i.)-m|--match]+1 )) -(( i<CURRENT )); do - case ${words[i]}; in - ah) args+=( '--ahspi[match SPIs in AH header]:*^!:spi' ) ;; - conntrack) - args+=( - '--ctstate[match packet state]:state:->cfstates' - '--ctproto[match protocol]:protocol:_ports' - '--ctorigsrc[match original source address]:*^!:network:_hosts' - '--ctorigdst[match original destination address]:*^!:network:_hosts' - '--ctreplsrc[match reply source address]:*^!:network:_hosts' - '--ctrepldst[match reply destination address]:*^!:network:_hosts' - '--ctstatus[match internal conntrack states]:state:(NONE EXPECTED SEEN_REPLY ASSURED)' - '--ctexpire[match remaining lifetime]:time' - ) - ;; - dscp) - args+=( - '--dscp[match DSCP field]:value' - '--dscp-class[match the DiffServ class]:class' - ) - ;; - esp) args+=( '--espspi[match SPIs in ESP header]:*^!:spi' ) ;; - helper) args+=( '--helper[match packets related to a conntrack-helper]:helper:(ftp)' ) ;; - length) args+=( '--length[match packet length]:length' ) ;; - limit) - args+=( - '--limit[specify max matches limit]:number' - '--limit-burst[specify max burst before limit applies]:number' - ) - ;; - mac) args+=( '--mac-source[match source ethernet address]:*^!:ethernet address' ) ;; - mark) args+=( '--mark[match fwmark in packet]:number' ) ;; - multiport) - args+=( - '--source-ports[match packets based on source ports]:ports:->port-list' - '(--dports --destination-ports)'{--dports,--destination-ports}'[match packets based on destination ports]:ports:->port-list' - '--ports[match where source and destination ports are equal]:ports:->port-list' - ) - ;; - owner) - args+=( - '--uid-owner[match packet by user id of creating process]:user id' - '--gid-owner[match packet by ggroup id of creating process]:group id' - '--pid-owner[match packet by process id of creating process]:process id:_pids' - '--sid-owner[match packet by session id of creating process]:session id' - '--cmd-owner[match packet by name of creating command]:command:_command_names -e' - ) - ;; - physdev) - args+=( - '--physdev-in[specify bridge port via which packet is received]:name' - '--physdev-out[specify bridge port via which packet is sent]:name' - ) - ;; - pkttype) args+=( '--pkt-type[match link-layer packet type]:type:(unicast broadcast multicast)' ) ;; - state) - args+=( - '--state[match packet state]:state:->states' - ) - ;; - tos) args+=( '--tos[match type of service field]:type of service:->tos' ) ;; - ttl) args+=( '--ttl[match type to live]:TTL value' ) ;; - esac -done - -_arguments -C -s \ - '(-)'{-h,--help}'[print program information]' \ - '(-)'{-V,--version}'[print version information]' \ - '(-h --help -V --version)'{-t,--table}'[specify table]:table:(filter nat mangle raw security)' \ - "($rcmds $cmds)"{-A,--append}'[append rules to end of specified chain]:chain:->chains' \ - "($rcmds $cmds -c --set-counters)"{-D,--delete}'[delete rules from specified chain]:chain:->chains::rule number:->rulenums' \ - "($rcmds $cmds)"{-I,--insert}'[insert rules before specified rule number]:chain:->chains::rule number:->rulenums' \ - "($rcmds $cmds)"{-R,--replace}'[replace a rule]:chain:->chains::rule number:->rulenums' \ - "($rcmds "${(j. .)cmds:#(-Z|--zero)}" $ropts)"{-L,--list}'[list rules in selected chain]::chain:->chains' \ - "($rcmds $cmds $ropts)"{-F,--flush}'[flush specified chain (delete all rules)]::chain:->chains' \ - "($rcmds "${(j. .)cmds:#(-L|--list)}" $ropts)"{-Z,--zero}'[zero the packet and byte counters]::chain:->chains' \ - "($rcmds $cmds)"{-N,--new,--new-chain}'[create a new user-defined chain]:chain name' \ - "($rcmds $cmds)"{-X,--delete-chain}'[delete a user-defined chain]:: :->user-chains' \ - "($rcmds $cmds)"{-P,--policy}'[set the policy for a chain to given target]:chain:->chains:target:->targets' \ - "($rcmds $cmds)"{-E,--rename-chain}'[rename a user-defined chain]:old chain:->user-chains:new chain name' \ - "($cmds -p --protocol)"{-p,--protocol}'[specify protocol of rule]:*^!:protocol:(! tcp udp icmp all)' \ - "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_hosts' \ - "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_hosts' \ - "($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \ - "($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \ - "($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \ - "($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \ - "($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \ - '(-v --verbose)'{-v,--verbose}'[enable verbose output]' \ - '(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \ - '(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \ - '--line-numbers[print line numbers when listing]' \ - '--modprobe=[specify command to load modules with]:command:_command_names -e' \ - "($cmds)*"{-m,--match}'[extended match (may load extension)]:extension:(ah conntrack dscp esp helper icmp length limit mac mark multiport owner physdev pkttype state tcp tos ttl udp unclean)' \ - "$args[@]" && ret=0 - -case "$state" in - targets) - _wanted targets expl 'builtin target' compadd \ - ACCEPT DROP QUEUE RETURN DNAT DSCP ECN LOG MARK MASQUERADE MIRROR \ - REDIRECT REJECT SNAT TCPMSS TOS ULOG && ret=0 - ;& - user-chains) - _wanted chains expl 'user-defined chain' compadd \ - ${${${${(M)${(f)"$(_call_program chains $words[1] \ - ${(kv)opt_args[(i)-t|--table]} -nL \ - 2>/dev/null)"}:#Chain*}#* }%% *}:#(INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING)} && ret=0 - ;; - chains) - _wanted chains expl 'chain' compadd \ - ${${${(M)${(f)"$(_call_program chains $words[1] \ - ${(kv)opt_args[(i)-t|--table]} -nL \ - 2>/dev/null)"}:#Chain*}#* }%% *} && ret=0 - ;; - rulenums) - rules=( - ${${${(f)"$(_call_program chains $words[1] ${(kv)opt_args[(i)-t|--table]} \ - --line-numbers -nL ${(v)opt_args[(i)-D|--delete|-I|--insert|-R|--replace]%:*} \ - 2>/dev/null)"}[3,-1]}/ ##/:} - ) - _describe -t rulenum 'rule number' rules && ret=0 - ;; - tcp-flags) - _values -s , 'tcp flag' SYN ACK FIN RST URG PSH NONE ALL && ret=0 - ;; - icmp-types) - _wanted icmp-types expl 'icmp type' compadd \ - ${${${(f)"$(_call_program icmp-types ${words[1]} -p icmp --help \ - 2>/dev/null)"}[(r)any,-1]## #}%% *} && ret=0 - ;; - reject-types) - _wanted reject-types expl 'reject type' compadd \ - ${${${(f)"$(_call_program icmp-types ${words[1]} -j REJECT --help \ - 2>/dev/null)"}[(r)*types:,-1]## #}[2,-1]%% *} && ret=0 - ;; - *states) - states=( NEW ESTABLISHED RELATED INVALID ) - [[ "$state" = cf* ]] && states+=( SNAT DNAT ) - _values -s , 'state' $states && return - ;; - port-list) - compset -P '*,' - if compset -S ',*'; then - _ports && ret=0 - else - _ports -qS, && ret=0 - fi - ;; - tos) - _wanted tos expl 'type of service' compadd \ - ${${${(f)"$(_call_program tos ${words[1]} -m tos --help \ - 2>/dev/null)"}[(r)*16*,-1]## #}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_irssi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_irssi deleted file mode 100644 index ee1e1ef4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_irssi +++ /dev/null @@ -1,36 +0,0 @@ -#compdef irssi - -local expl - -_irssi_servers() { - local a - a=( $(grep "\(^[{ ]*address\)\|\([{ ]address\)[ ]*=" ~/.irssi/config | sed -e "s,^.*address *= *\"\([^\"]\+\).*,\1 ,g") ) - _wanted irc-servers expl 'irc server' compadd "$@" -a - a -} - -_irssi_ports() { - local a - a=( $(grep "\(^[{ ]*port\)\|\([{ ]port\)[ ]*=" ~/.irssi/config | sed -e "s,^.*port *= *\"\([^\"]\+\).*,\1,g") ) - _wanted ports expl 'port' compadd "$@" -a - a -} - -_irssi_nick() { - local a - a=( $(grep "\(^[{ ]*nick\)\|\([{ ]nick\)\|\([{ ]alternate_nick\)\|\(^[{ ]*alternate_nick\)[ ]*=" ~/.irssi/config | sed -e "s,^.*nick *= *\"\([^\"]\+\).*,\1,g") ) - _wanted nicknames expl 'nick' compadd "$@" -a - a -} - -_arguments -s \ - '--config=[config file]:config:_files' \ - '--home=[home dir location]:home:_dir_list' \ - '(-c --connect)'{-c,--connect=}'[connect to servers]:irc server:_irssi_servers' \ - '(-w --password)'{-w,--password=}'[password]:password' \ - '(-p --port)'{-p,--port=}'[specify a port]:port:_irssi_ports' \ - '-![disable autoconnect]' \ - '--noconnect[disable autoconnect]' \ - '(-n --nick)'{-n,--nick=}'[set nick name]:nick:_irssi_nick' \ - '(-h --hostname)'{-h,--hostname=}'[specify hostname]:hostname:_hosts' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display usage]' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ispell b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ispell deleted file mode 100644 index 6a3e86d4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ispell +++ /dev/null @@ -1,96 +0,0 @@ -#compdef ispell buildhash munchlist findaffix tryaffix icombine ijoin - -case "$service" in -ispell) - _arguments -s \ - '(-n -h)-t[input file is in TeX/LaTeX format]' \ - '(-t -h)-n[input file is in nroff/troff format]' \ - '(-n -t)-h[input file is in HTML format]' \ - '(-x)-b[create backup file]' \ - '(-b)-x[don'"'"'t create backup file]' \ - '(-C)-B[report run-together words as errors]' \ - '(-B)-C[take run-together words as compounds]' \ - '-P[don'"'"'t generate extra root/affix combinations]' \ - '-m[make possible root/affix combinations]' \ - '-S[sort guesses by probable correctness]' \ - '-d[specify alternate dictionary file]:dictionary file:_files' \ - '-p[specify alternate personal dictionary file]:personal dictionary file:_files' \ - '-w[specify additional word characters]:word characters:' \ - '-W[specify length of legal words]:length of legal words:' \ - '-T[specify formatter type]:formatter type:(nroff mm ms me man NeXT tex bib)' \ - '(-N)-M[show menu]' \ - '(-M)-N[don'"'"'t show menu]' \ - '-L-[specify number of context lines to show]:number of context lines:' \ - '-V[show non-7-bit characters escaped]' \ - '-l[produce list of misspelled words on stdout]' \ - '-s[stop after each line of input (SIGTSTP)]' \ - '-f[specify output file name]:output file:_files' \ - '(-A)-a[single line input/output mode]' \ - '(-a)-A[single line input/output mode (with include-files)]' \ - '(-e)-c[produce list of possible root words and affixes]' \ - '(-c)-e-[expand affix flags]::expansion level:((1\:normal 2\:append\ prepend\ original\ root/affix\ combination 3\:output\ multiple\ lines 4\:append\ root\ length\ ratios))' \ - '-D[dump affix tables]' \ - '*-v[show version]' \ - ':file to spell-check:_files' - ;; -buildhash) - _arguments \ - '(-c)-s[silent operation]' \ - '(: -s)-c[count mode]:count: :affix file:_files -g "*.(#i)aff(-.)"' \ - ':raw dictionary file:_files:' \ - ':affix file:_files -g "*.(#i)aff(-.)"' \ - ':hashed output file:_files "*.(#i)hash(-.)"' - ;; -munchlist) - _arguments -s \ - '-l[specify affix file]:affix file:_files -g "*.(#i)aff(-.)"' \ - '-c[specify converted output file name]:converted file name:_files' \ - '-T[specify string character type]:string character type:' \ - '-s[specify strip hash file]:hash file:_files "*.(#i)hash(-.)"' \ - '-D[debug mode]' \ - '-v[verbose mode]' \ - '-w[specify additional word characters]:word characters:' \ - '*:dictionary file:_files' - ;; -findaffix) - _arguments -s \ - '(-s)-p[search possible prefixes]' \ - '(-p)-s[search possible suffixes]' \ - '-f[sort affixes by frequency]' \ - '-c[clean output]' \ - '-m[specify minimum affix length]:minimum affix length:' \ - '-M[specify maximum affix length]:maximum affix length:' \ - '-e[specify header/trailer length of suppressed affixes]:header/trailer length of suppressed affixes:' \ - '-t[specify field separator character]:field separator character:' \ - '-l[specify minimum occurrence count]:minimum occurrence count:' \ - '*:dictionary file:_files' - ;; -tryaffix) - _arguments -s \ - '(-s)-p[estimate effectiveness of prefix]' \ - '(-p)-s[estimate effectiveness of suffix]' \ - '-c[write only summary of the results]' \ - ':expanded dictionary file:_files:' \ - '*:affix and optional addition:' - ;; -icombine) - _arguments \ - '-T[specify string character type]:string character type:' \ - ':affix file:_files -g "*.(#i)aff(-.)"' - ;; -ijoin) - _arguments -s \ - '(-u)-s[use signed comparison]' \ - '(-s)-u[use unsigned comparison]' \ - '-a[print lines for unpairable lines and normal output]:file number:(1 2)' \ - '-v[print lines for unpairable lines instead of normal output]:file number:(1 2)' \ - '-e[specify replacement string]:replacement string:' \ - '-o[specify output field list]:output field list:' \ - '-t[specify field separator character]:field separator character:' \ - '(-1 -2)-j-[specify join file and field]:file number:(1 2):field number:' \ - '(-j)-1[specify join field]:field number:' \ - '(-j)-2[specify join field]:field number:' \ - ':first input file:_files' \ - ':second input file:_files' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iwconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iwconfig deleted file mode 100644 index 07c028be..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_iwconfig +++ /dev/null @@ -1,70 +0,0 @@ -#compdef iwconfig - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - '(1 * -)--help[display help information]' \ - '(1 * -)--version[display version information]' \ - '1:network interface:_net_interfaces' \ - '*:parameter:->parameters' && ret=0 - -if [[ -n "$state" ]]; then - local -a arg - - case $words[CURRENT-1] in - essid) _wanted -x names expl 'network name' compadd off any on ;; - nwid|domain) _message -e ids 'network id' ;; - freq|channel) _message -e channels 'channel or frequency' ;; - sens) _message -e levels 'signal level' ;; - mode) - _wanted modes expl 'operating mode' compadd \ - Ad-Hoc Managed Master Repeater Secondary Monitor Auto - ;; - ap) _message -e access-points 'access point' ;; - nick*) _message -e names 'nickname' ;; - rate|bit*) _message -e bit-rates 'bit rate' ;; - rts*|frag*) _message -e sizes 'size' ;; - key|enc*) _message -e keys 'key' ;; - power) - arg=( - \*{min,max}'[modifier]' - '*off[disable power management]' - '*on[enable power management]' - '*all[receive all packets]' - 'unicast[receive unicast packets only]' - 'multicast[receive multicast and broadcast packets only]' - ) - ;& - min|max) - _values -S ' ' -w 'parameter' \ - 'period[set the period between wake ups]' \ - 'timeout[set timeout before sleep]' \ - $arg[@] && ret=0 - ;; - period|timeout) _message -e timeouts 'timeout' ;; - txpower) _message -e power 'transmit power' ;; - retry) _message -e retries 'retries' ;; - (modu) _wanted -x names expl 'modulation' compadd 11g CCK OFDMa auto ;; - *) - _values -S ' ' -w 'option' \ - 'essid[set the network name]' \ - '(nwid domain)'{nwid,domain}'[set the network ID]' \ - '(freq channel)'{freq,channel}'[set the operating frequency or channel]' \ - 'sens[set the sensitivity threshold]' \ - 'mode[set operating mode]' \ - 'ap[register with given access point]' \ - '(nick nickname)'nick{,name}'[set the nickname]' \ - '(rate bit)'{rate,bit}'[set the bitrate]' \ - 'rts[set packet size threshold for sending RTS]' \ - 'frag[set maximum packet fragment size]' \ - \*{key,enc}'[add encryption key]' \ - '*power[manipulate power management scheme parameters]' \ - 'txpower[set transmit power]' \ - 'retry[set number of retries]' \ - 'modu[force a specific set of modulations]' \ - 'commit[apply changes immediately]' && ret=0 - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jail deleted file mode 100644 index 26d0a6a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jail +++ /dev/null @@ -1,53 +0,0 @@ -#compdef jail - -local curcontext="$curcontext" ret=1 -local -a state state_descr line jails running alts suf -local -A opt_args - -_arguments -C -s \ - '-c[create a new jail]' \ - '-m[modify an existing jail]' \ - '-r[remove specified jail]' \ - '-d[allow changes to a dying jail]' \ - '-f+[specify configuration file]:config file [/etc/jail.conf]:_files' \ - '-h[resolve host.hostname and use IP addresses for the jail]' \ - '(-q)-i[output jail ID of new jails]' \ - '-J+[write a file containing parameters used to start the jail]:file:_files' \ - '-p+[limit the number of commands from exec.* that can run simultaneously]:limit' \ - '(-i -v)-q[suppress the message printed when a jail is created, modified or removed]' \ - '-R[remove jail without using the configuration file]' \ - '(-q)-v[print a message on every operation]' \ - '!-n+:name' '!-l' '!-s+:secure level' \!-{u,U}'+:user:_users' \ - '*:: :->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P 1 '(^name)='; then - case ${IPREFIX%=} in - command|exec.*st(art|op)*) _cmdstring && ret=0 ;; - depend) _jails && ret=0 ;; - path) _directories && ret=0 ;; - host|vnet) alts=( 'values:value:(inherit new)' ) ;; - ip[46]) alts=( 'values:value:(inherit new disable)' ) ;; - *_user) _users && ret=0 ;; - *) _message -e values 'value' ;; - esac - elif compset -P name= || [[ $#line = 1 ]]; then - if (( $+opt_args[-r] || $+opt_args[-m] )); then - alts=( 'jails:jail:_jails' ) - elif (( $+opt_args[-c] )); then - running=( ${${(f)"$(_call_program jails jls name)"}/ /:} ) - jails=( ${${(M)${(f)"$(<${opt_args[-f]:-/etc/jail.conf})"}:#[a-z]# #\{#(#e)}%% *} ) - alts=( "jails:jail:compadd - ${jails:|running}" ) - fi - fi - if [[ -z $IPREFIX ]]; then - compset -S '=*' || suf=( -qS = ) - alts+=( - 'parameters:parameter:compadd -r "\n\t\- =" - persist allow.{set_hostname,sysvipc,raw_sockets,chflags,mount{,.devfs,.fdescfs,.nullfs,.procfs,.linprocfs,.linsysfs,.tmpfs,.zfs},quotas,socket_af} mount.{devfs,fdescfs,procfs}' - 'parameters:parameter:compadd $suf - jid name path ip{4,6}{,.addr{,sel}} vnet host.hostname host securelevel devfs_ruleset children.{max,cur} enforce_statfs cpuset.id osrelease osreldate command exec.{{,pre,post}{start,stop},clean,jail_user,system{,_jail}_user,timeout,consolelog,fib} stop.timeout {vnet.,}interface ip_hostname mount{,.fstab} depend' - ) - fi - (( $#alts )) && _alternative $alts && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jails b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jails deleted file mode 100644 index 89e34ba4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jails +++ /dev/null @@ -1,33 +0,0 @@ -#autoload - -# Options: -# -# -0 include jid 0 as a match for the host system -# -o param jail parameter to complete instead of jid - -# e.g. name, path, ip4.addr, host.hostname - -local addhost host param desc=1 -local -a jails args expl -zparseopts -D -K -E 0=addhost o:=param -param=${param[2]:-name} - -jails=( ${${(f)"$(_call_program jails jls $param name)"}/ /:} ) -case $param in - jid) host=0 ;; - name) - host=0 - desc=0 - ;; - path) - host=/ - args=( -M 'r:|/=* r:|=*' ) - ;; - ip4.addr) args=( -M 'r:|.=* r:|=*' ) ;; -esac -[[ -n $addhost && -n $host ]] && jails+=( "$host:$HOST" ) - -if (( desc )); then - _describe -t jails jail jails "$@" "$args[@]" -else - _wanted jails expl jail compadd "$@" "$args[@]" - ${jails%:*} -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java deleted file mode 100644 index ff6e8264..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java +++ /dev/null @@ -1,644 +0,0 @@ -#compdef javac java javadoc appletviewer jar jdb javah javap extcheck rmic rmiregistry rmid serialver native2ascii keytool jarsigner policytool - -local expl tmp jdb_args jar_cmd match basedir ret=1 -local curcontext="$curcontext" state line jf -typeset -A opt_args tmpassoc - -jdb_args=() - -case "$service" in -javac|jar) - if compset -P @; then - _wanted files expl 'option file' _files - return - fi - ;| # continue -javac) - _arguments -C \ - '-g-[generate debugging information]:debug:->debug' \ - '-A-[specify option to annotation processors]:option' \ - '-implicit\:-[control generation of class files for implicitly loaded sources]:implicit:(class none)' \ - '-nowarn[generate no warnings]' \ - '-verbose[output messages about what the compiler is doing]' \ - '-deprecation[output source locations where deprecated APIs are used]' \ - '(-cp -classpath)'{-cp,-classpath}'[specify where to find user class files]:class path:->classpath' \ - '-sourcepath[specify where to find input source files]:source path:->sourcepath' \ - '-bootclasspath[override location of bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-endorseddirs[override location of endorsed standards path]:path:->extdirs' \ - '-extdirs[override location of installed extensions]:extensions directories:->extdirs' \ - '-d[specify where to place generated class files]:directory:_files -/' \ - '-encoding[specify character encoding used by source files]:encoding:->encoding' \ - '-proc\:-[control annotation processing]:annotation processing:(none only)' \ - '-processor[specify annotation processors to run]:class:_files' \ - '-processorpath[specify where to find annotation processors]:directory:_directories' \ - '-parameters[generate metadata for reflection on method parameters]' \ - '-s[specify directory for generated source files]:directory:_directories' \ - '-h[specify where to place generated native header files]:directory:_directories' \ - '-source[provide source compatibility with specified release]:release:(1.{2..8} {5..8})' \ - '-target[specify VM version]:release:(1.{1..5})' \ - '-profile[check that API used is available in the specified profile]:profile' \ - '(-)-help[print a synopsis of standard options]' \ - '(-)-version[print version information]' \ - '(-)-X[display information about non-standard options]' \ - '-J-[pass flag directly to the runtime system]:flag' \ - '-Werror[terminate compilation if warnings occur]' \ - '*:java source file:_files -g \*.java\(-.\)' && return 0 - ;; - -jdb) - jdb_args=( - '-host[specify host to connect to]:host:_hosts' - '-password[specify password]:password' - '-attach[attach to running VM]:address' - '-listen[wait for VM to connect]:address' - '-listenany[wait for VM to connect at any available address]' - '-launch[launch VM immediately]' - '-listconnectors[list the connectors available in this VM]' - '-connect[connect to target VM]:connector' - -dbgtrace -tclient -tserver - '-J-[java runtime option]:option' - ) - ;& - -java) - _arguments -C \ - "$jdb_args[@]" \ - -client -server -d32 -d64 \ - '-agentlib\:-:agent library' \ - '-agentpath\:-:path:_directories' \ - '-javaagent\:-:path:_directories' \ - '(-cp -classpath)'{-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-D-[specify a property]:property:->property' \ - \*{-enableassertions,-ea}-::class \ - \*{-disableassertions,-da}-::class \ - '(-enablesystemassertions -esa -disablesystemassertions -dsa)'{-enablesystemassertions,-esa,-disablesystemassertions,-dsa} \ - '(-verbose:class)-verbose[print class information]' \ - '(-verbose)-verbose\:class[print class information]' \ - '-verbose\:gc[print gc information]' \ - '-verbose\:jni[print JNI information]' \ - '(- 1)-version[print version]' \ - '-showversion[print version and continue]' \ - '(- 1)-'{\?,help}'[print help message]' \ - '(- 1)-X-[non-standard java option]:option' \ - '(- 1)-jar[specify a program encapsulated as jar]:jar:_files -g \*.jar\(-.\)' \ - '-splash\:-[show splash screen with specified image]:image:_files' \ - '(-):class:_java_class -m main ${(kv)opt_args[(i)(-classpath|-cp)]}' \ - '*::args:= _normal' \ - && return 0 - ;; - -javadoc) - _arguments -C \ - '-overview[specify overview file]:_files' \ - '-public[display public classes and members only]' \ - '-protected[display public/protected classes and members only (default)]' \ - '-package[display packages, public/protected classes and members only]' \ - '-private[display all classes and members]' \ - '-help[print help message]' \ - '-doclet[specify a doclet]:doclet:_java_class -t doclet ${(kv)opt_args[(i)-classpath]}' \ - '-docletpath[specify a path to search doclet]:doclet path:->docletpath' \ - '-sourcepath[specify path for source files]:source path:->sourcepath' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-exclude[specify a list of packages to exclude]:package list' \ - '-subpackages[specify subpackages to recursively load]:subpackage list' \ - '-breakiterator[compute first sentence with BreakIterator]' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-source[provide source compatibility with specified release]:release' \ - '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ - '-verbose[print verbose messages]' \ - '-locale[specify locale]:language_country_variant:' \ - '-encoding[specify character encoding for source files]:encoding:->encoding' \ - "-quiet[don't display status messages]" \ - '-J-[specify java option]:java option:' \ - '-X[print a synopsis of nonstandard options and exit]' \ - '-d[specify destination directory]:destination directory:_files -/' \ - '-use[display pages for use]' \ - '-version[include @version text]' \ - '-author[include @author text]' \ - '-splitindex[split index file for each alphabet]' \ - '-windowtitle[specify HTML title element]:title element:' \ - '-doctitle[specify title]:document title:' \ - '-header[specify header text]:header text:' \ - '-footer[specify footer text]:footer text:' \ - '-bottom[specify bottom text]:bottom text:' \ - '-link[generate a link to external reference classes]:document URL:' \ - '-linkoffline[generate a link for external reference class names]:document URL::package list URL:' \ - '-excludedocfilessubdir[exclude any doc-files subdirectories with given name]:name:_directories' \ - '-group[generate tables for each group]:group heading::package patterns:' \ - "-nodeprecated[don't include @deprecated information]" \ - '-noqualifier[exclude the list of qualifiers from the output]:qualifier list' \ - "-nosince[don't include @since information]" \ - "-notimestamp[don't include hidden time stamp]" \ - "-nodeprecatedlist[don't generate deprecated API list]" \ - "-notree[don't generate class and interface hierarchy]" \ - "-noindex[don't generate index]" \ - "-nohelp[don't generate help link]" \ - "-nonavbar[don't generate navigation bar]" \ - '-serialwarn[generate warning about @serial tag]' \ - '*-tag[specify single argument custom tag]:tag' \ - '-taglet[specify fully qualified name of Taglet to register]:taglet' \ - '-tagletpath[specify path to Taglets]:path:_directories' \ - '-charset[specify charset of generated documentation]:charset:->encoding' \ - '-helpfile[specify alternative help link]:helpfile path/filename:' \ - '-linksource[generate source in HTML]' \ - '-sourcetab[specify the number of spaces each tab takes up in the source]:spaces' \ - '-keywords[include HTML meta tags with package, class and member info]' \ - '-stylesheetfile[specify alternative HTML style sheet]:stylesheet path/filename:_directories' \ - '-docencoding[specify character encoding for output HTML files]:encoding:->encoding' \ - '*:package name, source file or @list:->docsrc' && ret=0 - ;; - -appletviewer) - _arguments -C \ - '-debug[run applet on jdb]' \ - '-encoding[specify character encoding for source files]:encoding:->encoding' \ - '-J-[specify java option]:java option:' \ - '*:URL:_urls' && return 0 - ;; - -jar) - if (( CURRENT == 2 )); then - compset -P - - _values -s '' 'jar command' \ - '( t x u)c[create new archive]' \ - '(c x u)t[list the table of archive]' \ - '(c t u)x[extract files from archive]' \ - '(c t x )u[update archive]' \ - 'f[specify archive file]' \ - 'v[verbose mode]' \ - '(e)m[specify manifest file]' \ - 'n[perform Pack200 normalization after creating a new archive]' \ - '(m)e[specify class of for application entry point]' \ - '0[store only without using ZIP compression]' \ - "M[don't create manifest file]" \ - "P[preserve leading / and .. components on file names]" \ - 'i[generate index information for specified jar files]' && return - else - jar_cmd="${words[2]#-}" - tmpassoc=( - m ':manifest file:_files' - e ':main class' - f ':archive file:_files -g "*.([ejw]ar|zip)(-.)"' - ) - _arguments '*-C[directory of class file]:directory:_directories' \ - '-J-[java runtime option]:option' \ - "${jar_cmd/[^-]*/:dummy:}" \ - ${${(s::)jar_cmd}/(#b)(?)/$tmpassoc[$match[1]]} \ - '*:file:->jararg' && return 0 - fi - ;; - -javah|javah_g) - _arguments -C \ - '-o[specify output file]:output file:_files' \ - '-d[specify destination directory]:directory:_files -/' \ - '-stubs[generate stubs]' \ - '-verbose[print verbose messages]' \ - '-help[print help message]' \ - '-version[print version]' \ - '-jni[JNI-style native method function prototypes]' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-old[generate old JDK1.0-style header files]' \ - '-force[force output]' \ - '-J-[java runtime option]:option' \ - '*:class:_java_class -m main ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -javap) - _arguments -C \ - '-help[print help message]' \ - '-version[print version information]' \ - {-v,-verbose}'[print additional information]' \ - '-l[line and local variable tables]' \ - '(-protected -package -p -private)-public[show only public classes and members]' \ - '(-public -package -p -private)-protected[show only protected/public classes and members]' \ - '(-public -protected -p -private)-package[show only package/protected/public classes and members (default)]' \ - '(-public -package -protected -p -private)'{-p,-private}'[show all classes and members]' \ - '-J-[specify java option]:java option:' \ - '-c[disassemble code]' \ - '-s[print internal type signatures]' \ - '-sysinfo[show system info (path, size, date, MD5 hash) of class being processed]' \ - '-constants[show final constants]' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ - '*:class:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -extcheck) - _arguments \ - '-verbose[print verbose messages]' \ - ':target jar file:_files -g \*.jar\(-.\)' && return 0 - ;; - -rmic) - _arguments -C \ - '-classpath[specify path for user class files]:class path:->classpath' \ - '-d[specify destination directory]:directory:_files -/' \ - '-depend[treat dependencies]' \ - '-g[enable debugging]' \ - '-J-[specify java option]:java option:' \ - '-keepgenerated[retain generated source files]' \ - '-nowarn[disable warnings]' \ - '-show[GUI mode]' \ - '-vcompat[compatible with JDK 1.1 and 1.2 (default)]' \ - '-verbose[print verbose messages]' \ - '-v1.1[JDK 1.1 stub protocol]' \ - '-v1.2[JDK 1.2 stub protocol]' \ - '*:package qualified class name:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -rmiregistry) - if (( CURRENT == 2 )); then - _wanted ports expl 'port to listen on' _ports && return - else - _message 'no more arguments' - fi - ;; - -rmid) - _arguments \ - '-C-[specify command line argument for child process]:command line argument for child process:' \ - '-log[specify log directory]:directory to place logs:_files -/' \ - '-port[specify port]:port:_ports' \ - '-stop[stop rmid]:' && return 0 - ;; - -serialver) - _arguments \ - '-classpath[specify where to find user class files]:class path:->classpath' \ - '(*)-show[display user interface]' \ - '(-show)*:class:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -native2ascii) - _arguments -C \ - '-reverse[convert Latin-1 (with \udddd) to native encoding]' \ - '-encoding[specify character encoding]:encoding:->encoding' \ - ':input file:_files' \ - ':output file:_files' && return 0 - ;; - -keytool) - _arguments \ - '-J-[specify java option]:java option:' \ - - genkey \ - '-genkey[command to generate a key pair]' \ - '-alias[alias]:alias:' \ - '-keyalg[key algorithm]:key algorithm:' \ - '-keysize[key size]:key size:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-dname[X.500 distinguish name]:X.500 distinguish name:' \ - '-keypass[password for private key]:password for private key:' \ - '-validity[valid days]:number of days:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - import \ - '-import[command to import certificate or certificate chain]' \ - '-alias[alias]:alias:' \ - '-file[specify certificate file]:certificate file:_files' \ - '-keypass[password for private key]:password for private key:' \ - '-noprompt[disable interaction with the user]' \ - '-trustcacerts[use cacerts]' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - selfcert \ - '-selfcert[command to generate X.509 v1 self-signed certificate]' \ - '-alias[alias]:alias:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-dname[X.500 distinguish name]:X.500 distinguish name:' \ - '-validity[valid days]:number of days:' \ - '-keypass[password for private key]:password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - identitydb \ - '-identitydb[command to read identity database]' \ - '-file[specify identity database file]:identity database file:_files' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - certreq \ - '-certreq[command to generate certificate signing request]' \ - '-alias[alias]:alias:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-file[specify certificate signing request file]:certificate signing request file:_files' \ - '-keypass[password for private key]:password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - export \ - '-export[command to store certificate]' \ - '-alias[alias]:alias:' \ - '-file[specify certificate file]:certificate file:_files' \ - '-rfc[make certificate format printable as RFC 1421]' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - list \ - '-list[command to print keystore entry]' \ - '-alias[alias]:alias:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '(-rfc)-v[make certificate format human-readable]' \ - '(-v)-rfc[make certificate format printable as RFC 1421]' \ - - printcert \ - '-printcert[command to print certificate in a human-readable format]' \ - '-file[specify certificate file]:certificate file:_files' \ - '-v[verbose mode]' \ - - keyclone \ - '-keyclone[command to create new keystore entry]' \ - '-alias[alias]:alias:' \ - '-dest[destination alias]:destination alias:' \ - '-keypass[password for private key]:password for private key:' \ - '-new[password for private key of new entry]:password for private key of new entry:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - storepasswd \ - '-storepasswd[command to change password for keystore]' \ - '-new[new password]:new password:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - keypasswd \ - '-keypasswd[command to change password for private key]' \ - '-alias[alias]:alias:' \ - '-keypass[old password for private key]:old password for private key:' \ - '-new[nwe password for private key]:new password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - delete \ - '-delete[command to delete entry]' \ - '-alias[alias]:alias:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - help \ - '(-J)-help[command to print help message]' && return 0 - ;; - -jarsigner) - _arguments \ - '-keystore[keystore location]:keystore location:_files' \ - '-storetype[specify keystore type]:store type:' \ - '-storepass[specify password for keystore]:password:' \ - '-keypass[specify password for private key]:password:' \ - '-sigfile[specify base file name of .SF and .DSA files to be generated]:sigfile:_files' \ - '-signedjar[specify signed JAR file]:_files -g "*.(jar|zip)(-.)"' \ - '(2)-verify[verify mode]' \ - '-certs[output certificate information in verify mode]' \ - '-verbose[print verbose messages]' \ - '-internalsf[old behaviour]' \ - '-sectionsonly[omit header of hash of the whole manifest file]' \ - '-J-[specify java option]:java option:' \ - ':jar file:_files -g "*.(jar|zip)(-.)"' \ - ':alias:' && return 0 - ;; - -policytool) - _arguments \ - '-file:policy file:_files' && return 0 - ;; - -*) - _message 'unknown command' - ;; -esac - -[[ -n "$state" ]] && -case "$state" in -debug) - if [[ -prefix :*, ]]; then - compset -P : - _values -s , "debug info" lines vars source && return - else - _description debuginfo expl "debug info" - compadd -P: "$expl[@]" none && ret=0 - compadd -P: -qS, "$expl[@]" lines vars source && ret=0 - fi - ;; - -classpath|sourcepath|bootstrapclasspath|docletpath) - compset -P '*:' - compset -S ':*' - _alternative \ - "classpath:$state:_path_files -qS: -g '*.(jar|zip)(-.)'" \ - "classpath:$state:_path_files -r': ' -/" && return - ;; - -extdirs) - compset -P '*:' - _path_files -/ && return - ;; - -encoding) - tmp=( - 'US-ASCII:American Standard Code for Information Interchange' - 'Cp1252:Windows Latin-1' - 'ISO-8859-1:ISO 8859-1, Latin alphabet No. 1 ' - 'ISO-8859-15:Latin alphabet No. 9 ' - 'UTF-8:Eight-bit UCS Transformation Format' - 'UTF-16:Sixteen-bit UCS Transformation Format, byte order identified by an' - 'UTF-16BE:Sixteen-bit UCS Transformation Format, big-endian byte order ' - 'UTF-16LE:Sixteen-bit UCS Transformation Format, little-endian byte order ' - 'ASCII:American Standard Code for Information Interchange' - 'ISO8859_1:ISO 8859-1, Latin alphabet No. 1' - 'UnicodeBig:Sixteen-bit Unicode Transformation Format, big-endian' - 'UnicodeBigUnmarked:Sixteen-bit Unicode Transformation Format, big-endian' - 'UnicodeLittle:Sixteen-bit Unicode Transformation Format, little-endian' - 'UnicodeLittleUnmarked:Sixteen-bit Unicode Transformation Format, little-endian' - 'UTF8:Eight-bit Unicode Transformation Format' - 'UTF-16:Sixteen-bit Unicode Transformation Format, byte order' - 'Big5:Big5, Traditional Chinese' - 'Big5_HKSCS:Big5 with Hong Kong extensions, Traditional Chinese' - 'Big5_Solaris:Big5 with seven additional Hanzi ideograph character mappings ' - 'Cp037:USA, Canada (Bilingual, French), Netherlands, Portugal, Brazil, Australia' - 'Cp273:IBM Austria, Germany' - 'Cp277:IBM Denmark, Norway' - 'Cp278:IBM Finland, Sweden' - 'Cp280:IBM Italy' - 'Cp284:IBM Catalan/Spain, Spanish Latin America' - 'Cp285:IBM United Kingdom, Ireland' - 'Cp297:IBM France' - 'Cp420:IBM Arabic' - 'Cp424:IBM Hebrew' - 'Cp437:MS-DOS United States, Australia, New Zealand, South Africa' - 'Cp500:EBCDIC 500V1' - 'Cp737:PC Greek' - 'Cp775:PC Baltic' - 'Cp838:IBM Thailand extended SBCS' - 'Cp850:MS-DOS Latin-1' - 'Cp852:MS-DOS Latin-2' - 'Cp855:IBM Cyrillic' - 'Cp856:IBM Hebrew' - 'Cp857:IBM Turkish' - 'Cp858:Variant of Cp850 with Euro character' - 'Cp860:MS-DOS Portuguese' - 'Cp861:MS-DOS Icelandic' - 'Cp862:PC Hebrew' - 'Cp863:MS-DOS Canadian French' - 'Cp864:PC Arabic' - 'Cp865:MS-DOS Nordic' - 'Cp866:MS-DOS Russian' - 'Cp868:MS-DOS Pakistan' - 'Cp869:IBM Modern Greek' - 'Cp870:IBM Multilingual Latin-2' - 'Cp871:IBM Iceland' - 'Cp874:IBM Thai' - 'Cp875:IBM Greek' - 'Cp918:IBM Pakistan (Urdu)' - 'Cp921:IBM Latvia, Lithuania (AIX, DOS)' - 'Cp922:IBM Estonia (AIX, DOS)' - 'Cp930:Japanese Katakana-Kanji mixed with 4370 UDC, superset of 5026' - 'Cp933:Korean Mixed with 1880 UDC, superset of 5029' - 'Cp935:Simplified Chinese Host mixed with 1880 UDC, superset of 5031' - 'Cp937:Traditional Chinese Host miexed with 6204 UDC, superset 5033' - 'Cp939:Japanese Latin Kanji mixed with 4370 UDC, superset of 5035' - 'Cp942:IBM OS/2 Japanese, superset of Cp932' - 'Cp942C:Variant of Cp942' - 'Cp943:IBM OS/2 Japanese, superset of Cp932 and Shift-JIS' - 'Cp943C:Variant of Cp943' - 'Cp948:OS/2 Chinese (Taiwan) superset of 938' - 'Cp949:PC Korean' - 'Cp949C:Variant of Cp949' - 'Cp950:PC Chinese (Hong Kong, Taiwan)' - 'Cp964:AIX Chinese (Taiwan)' - 'Cp970:AIX Korean' - 'Cp1006:IBM AIX Pakistan (Urdu)' - 'Cp1025:IBM Multilingual Cyrillic (Bulgaria, Bosnia)' - 'Cp1025:IBM Multilingual Cyrillic - Bulgaria, Bosnia, Herzegovinia, Macedonia (FYR)' - 'Cp1026:IBM Latin-5, Turkey' - 'Cp1046:IBM Arabic - Windows' - 'Cp1097:IBM Iran (Farsi)/Persian' - 'Cp1098:IBM Iran (Farsi)/Persian (PC)' - 'Cp1112:IBM Latvia, Lithuania' - 'Cp1122:IBM Estonia' - 'Cp1123:IBM Ukraine' - 'Cp1124:IBM AIX Ukraine' - 'Cp1140:Variant of Cp037 with Euro character' - 'Cp1141:Variant of Cp273 with Euro character' - 'Cp1142:Variant of Cp277 with Euro character' - 'Cp1143:Variant of Cp278 with Euro character' - 'Cp1144:Variant of Cp280 with Euro character' - 'Cp1145:Variant of Cp284 with Euro character' - 'Cp1146:Variant of Cp285 with Euro character' - 'Cp1147:Variant of Cp297 with Euro character' - 'Cp1148:Variant of Cp500 with Euro character' - 'Cp1149:Variant of Cp871 with Euro character' - 'Cp1250:Windows Eastern European' - 'Cp1251:Windows Cyrillic' - 'Cp1253:Windows Greek' - 'Cp1254:Windows Turkish' - 'Cp1255:Windows Hebrew' - 'Cp1256:Windows Arabic' - 'Cp1257:Windows Baltic' - 'Cp1258:Windows Vietnamese' - "Cp1381:IBM OS/2, DOS People's Republic of China (PRC)" - "Cp1383:IBM AIX People's Republic of China (PRC)" - 'Cp33722:IBM-eucJP - Japanese (superset of 5050)' - 'EUC_CN:GB2312, EUC encoding, Simplified Chinese' - 'EUC_JP:JIS X 0201, 0208, 0212, EUC encoding, Japanese' - 'EUC_KR:KS C 5601, EUC encoding, Korean' - 'EUC_TW:CNS11643 (Plane 1-3), EUC encoding, Traditional Chinese' - 'GB18030:Simplified Chinese, PRC standard' - 'GBK:GBK, Simplified Chinese' - 'ISCII91:ISCII91 encoding of Indic scripts' - 'ISO2022CN:ISO 2022 CN, Chinese (conversion to Unicode only)' - 'ISO2022CN_CNS:CNS 11643 in ISO 2022 CN form, Traditional Chinese' - 'ISO2022CN_GB:GB 2312 in ISO 2022 CN form, Simplified Chinese' - 'ISO2022JP:JIS X 0201, 0208 in ISO 2022 form, Japanese' - 'ISO2022KR:ISO 2022 KR, Korean' - 'ISO8859_2:ISO 8859-2, Latin alphabet No. 2' - 'ISO8859_3:ISO 8859-3, Latin alphabet No. 3' - 'ISO8859_4:ISO 8859-4, Latin alphabet No. 4' - 'ISO8859_5:ISO 8859-5, Latin/Cyrillic alphabet' - 'ISO8859_6:ISO 8859-6, Latin/Arabic alphabet' - 'ISO8859_7:ISO 8859-7, Latin/Greek alphabet' - 'ISO8859_8:ISO 8859-8, Latin/Hebrew alphabet' - 'ISO8859_9:ISO 8859-9, Latin alphabet No. 5' - 'ISO8859_13:ISO 8859-13, Latin alphabet No. 7' - 'ISO8859_15:ISO 8859-15, Latin alphabet No. 9' - 'JIS0201:JIS X 0201, Japanese' - 'JIS0208:JIS X 0208, Japanese' - 'JIS0212:JIS X 0212, Japanese' - 'JISAutoDetect:Detects and converts from Shift-JIS, EUC-JP, ISO 2022 JP' - 'Johab:Johab, Korean' - 'KOI8_R:KOI8-R, Russian' - 'MS874:Windows Thai' - 'MS932:Windows Japanese' - 'MS936:Windows Simplified Chinese' - 'MS949:Windows Korean' - 'MS950:Windows Traditional Chinese' - 'MacArabic:Macintosh Arabic' - 'MacCentralEurope:Macintosh Latin-2' - 'MacCroatian:Macintosh Croatian' - 'MacCyrillic:Macintosh Cyrillic' - 'MacDingbat:Macintosh Dingbat' - 'MacGreek:Macintosh Greek' - 'MacHebrew:Macintosh Hebrew' - 'MacIceland:Macintosh Iceland' - 'MacRoman:Macintosh Roman' - 'MacRomania:Macintosh Romania' - 'MacSymbol:Macintosh Symbol' - 'MacThai:Macintosh Thai' - 'MacTurkish:Macintosh Turkish' - 'MacUkraine:Macintosh Ukraine' - 'SJIS:Shift-JIS, Japanese' - 'TIS620:TIS620, Thai' - ) - _describe 'character encoding' tmp -- - ;; - -property) - if compset -P 1 '*='; then - _default && return - else - _message -e property-names 'property name' - fi - ;; - -docsrc) - if compset -P @; then - _wanted files expl 'package/source list file' _files && return - else - _wanted files expl 'package or source' _files -g '*.java(-.)' && return - fi - ;; - -jararg) - if [[ "$words[CURRENT - 2]" == -C ]]; then - _wanted file expl 'input file' _files -W "($words[CURRENT - 1])" && return - elif [[ $words[2] = *x* ]]; then - jf="$words[3]" - if [[ $jf != $_jar_cache_name && -f $jf ]]; then - _jar_cache_list=("${(@f)$($words[1] tf $jf)}") - _jar_cache_name=$jf - fi - _wanted files expl 'file from archive' _multi_parts / _jar_cache_list && return - else - _wanted files expl 'input file' _files && return - fi - ;; - -*) - _message "unknown state: $state" - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java_class b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java_class deleted file mode 100644 index 0e30e550..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_java_class +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -# Should probably add some sort of cache. -# Should we call _multi_parts instead of compadd? - -local classpath i expl -local -a c -local method type - -zparseopts -D -E -a classpath t:=type m:=method cp: classpath: -: "$classpath[@]" -classpath="${${classpath[2]:-${CLASSPATH:-.}}//\\:/:}" -: "$classpath[@]" - -for i in "${(s.:.)classpath}"; do - [[ -z $i ]] && i=. - if [[ -f $i ]] && [[ "$i" == *.(jar|zip|war|ear) ]]; then - c+=( ${${${(M)$(_call_program jar_classes jar -tf $i 2>/dev/null)##*.class}%%.class}:gs#/#.#} ) - elif [[ -d $i ]]; then - c+=( $i/**/*.class(.:r:s/.class//:s#$i/##:gs#/#.#) ) - fi -done - -_wanted classes expl 'java class' compadd "$@" -M 'r:|.=* r:|=*' -a - c - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jexec b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jexec deleted file mode 100644 index 6a2d05a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jexec +++ /dev/null @@ -1,21 +0,0 @@ -#compdef jexec - -_jexec_normal() { - local PATH=$PATH - local -a _comp_priv_prefix - # relative paths are relative to the jail's root - path=( "$(_call_program paths jls -j $words[1] path)"/$^path ) - shift 1 words; (( CURRENT-- )) - _normal -} - -_jexec() { - _arguments -s -S -A "-*" : \ - '-l[execute in a clean environment]' \ - '(-U)-u[host environment user whom command runs as]:host user:_users' \ - '(-u)-U[jail environment user whom command runs as]:jail user:_users' \ - '1:jail:_jails' \ - '*:: : _jexec_normal' -} - -_jexec "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jls deleted file mode 100644 index a6f8a7eb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jls +++ /dev/null @@ -1,19 +0,0 @@ -#compdef jls - -local curcontext=$curcontext state state_descr line -typeset -A opt_args - -_arguments -C -s -w -A '-*' : \ - '-d[include diying jails]' \ - '-h[print header line]' \ - "-N[print jail's name instead of numeric ID]" \ - '-n[print parameters in ``name=value'\'\'' format]' \ - '-q[quote parameter value when it contains whitespace, quotes or empty string]' \ - '-s[print parameters suitable for passing to jail(8)]' \ - '-v[print a multiple-line summary per jail]' \ - '-j[the jid or name of the jail to list]:jail:_jails' \ - '*: :->parameters' - -if [[ $state == parameters ]]; then - _values -w -S ' ' 'jail parameter' ${${${(f)"$(sysctl -N security.jail.param)"}%.#}##security.jail.param.#} -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs deleted file mode 100644 index bc35c44d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs +++ /dev/null @@ -1,84 +0,0 @@ -#autoload - -local expl disp jobs job jids pfx='%' desc how expls sep - -if [[ "$1" = -t ]]; then - zstyle -T ":completion:${curcontext}:jobs" prefix-needed && - [[ "$PREFIX" != %* && compstate[nmatches] -ne 0 ]] && return 1 - shift -fi -zstyle -t ":completion:${curcontext}:jobs" prefix-hidden && pfx='' -zstyle -T ":completion:${curcontext}:jobs" verbose && desc=yes - -if [[ "$1" = -r ]]; then - jids=( "${(@k)jobstates[(R)running*]}" ) - shift - expls='running job' -elif [[ "$1" = -s ]]; then - jids=( "${(@k)jobstates[(R)suspended*]}" ) - shift - expls='suspended job' -else - [[ "$1" = - ]] && shift - jids=( "${(@k)jobtexts}" ) - expls=job -fi - -if [[ -n "$desc" ]]; then - disp=() - zstyle -s ":completion:${curcontext}:jobs" list-separator sep || sep=-- - for job in "$jids[@]"; do - [[ -n "$desc" ]] && - disp=( "$disp[@]" "${pfx}${(r:2:: :)job} $sep ${(r:COLUMNS-8:: :)jobtexts[$job]}" ) - done -fi - -zstyle -s ":completion:${curcontext}:jobs" numbers how - -if [[ "$how" = (yes|true|on|1) ]]; then - jobs=( "$jids[@]" ) -else - local texts i text str tmp num max=0 - - # Find shortest unambiguous strings. - - texts=( "$jobtexts[@]" ) - jobs=() - for i in "$jids[@]"; do - text="$jobtexts[$i]" - str="${text%% *}" - if [[ "$text" = *\ * ]]; then - text="${text#* }" - else - text="" - fi - tmp=( "${(@M)texts:#${str}*}" ) - num=1 - while [[ -n "$text" && $#tmp -ge 2 ]]; do - str="${str} ${text%% *}" - if [[ "$text" = *\ * ]]; then - text="${text#* }" - else - text="" - fi - tmp=( "${(@M)texts:#${str}*}" ) - (( num++ )) - done - - [[ num -gt max ]] && max="$num" - - jobs=( "$jobs[@]" "$str" ) - done - - if [[ "$how" = [0-9]## && max -gt how ]]; then - jobs=( "$jids[@]" ) - else - [[ -z "$pfx" && -n "$desc" ]] && disp=( "${(@)disp#%}" ) - fi -fi - -if [[ -n "$desc" ]]; then - _wanted jobs expl "$expls" compadd "$@" -ld disp - "%$^jobs[@]" -else - _wanted jobs expl "$expls" compadd "$@" - "%$^jobs[@]" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_bg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_bg deleted file mode 100644 index 0c184220..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_bg +++ /dev/null @@ -1,3 +0,0 @@ -#compdef bg - -_jobs -s "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_builtin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_builtin deleted file mode 100644 index 70804cf0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_builtin +++ /dev/null @@ -1,10 +0,0 @@ -#compdef jobs - -_arguments -C -s \ - "(-d -l -p -r -s *)-Z[specify string to replace shell's argument and environment with]:string" \ - '(-Z)-d[show directory from which each job was started]' \ - '(-Z)-l[list process IDs]' \ - '(-Z)-p[list process groups]' \ - '(-Z -s)-r[list only running jobs]' \ - '(-Z -r)-s[list only stopped jobs]' \ - '(-Z)*::job:_jobs' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_fg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_fg deleted file mode 100644 index 57117f0d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jobs_fg +++ /dev/null @@ -1,3 +0,0 @@ -#compdef disown fg - -_jobs "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_joe b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_joe deleted file mode 100644 index 74b0bf1a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_joe +++ /dev/null @@ -1,39 +0,0 @@ -#compdef joe - -_arguments \ - '-asis[characters with codes >127 will be displayed non-inverted]' \ - '-backpath[backup file directory]:backup file directory:_files -/' \ - '-baud[inserts delays for baud rates below 19200]:baud rate:_baudrates' \ - '-beep[beep on command errors or when cursor goes past extremes]' \ - '-columns[sets the number of screen columns]:num of columns' \ - '-csmode[continued search mode]' \ - '-dopadding[catch up after long terminal commands]' \ - '-exask[^KX verify the file name that it is about to write]' \ - '-force[make sure that last line of the file has a line-feed]' \ - '-help[start editor with help screen on]' \ - '-keepup[update column number and control-key prefix after each keystroke]' \ - '-lightoff[make block highlighting go away after any block command]' \ - '-lines[set the number of screen lines]:num of screen lines' \ - '-marking[text between ^KB and the cursor is highlighted]' \ - '-mid[scroll window and make cursor go to center after]' \ - '-nobackups[prevents making backup files]' \ - '-nonotice[prevents displaying copyright notice on startup]' \ - '-nosta[eliminate top-most status line]' \ - '-noxon[turn off ^S/^Q processing]' \ - '-orphan[extra files get placed in orphaned buffers instead of new windows]' \ - '-pg[specify the number of lines to keep after PgUp/PgDn]:num of lines to keep' \ - '-skiptop[prevents use of top n screen lines]:num of top lines to skip' \ - '+-[number of lines]:number of lines' \ - '-crlf[use CR+LF as end of line sequence, instead of just LF]' \ - '-wordwrap[wrap the previous word when you type past the right margin]' \ - '-autoindent[indentation is duplicated onto the next line]' \ - '-overwrite[typing overwrites existing characters]' \ - '-lmargin[set the left margin]:left margin' \ - '-rmargin[set the right margin]:right margin' \ - '-tab[set the TAB character width]:tab width' \ - '-indentc[set the indentation character for ^K, and ^K.]:indent char for ^K, and ^K.' \ - '-istep[set the indentation step for ^K, and ^K.]:indent step for ^K, and ^K.' \ - '-linums[display line numbers before each line]' \ - '-rdonly[make file read-only]' \ - '-keymap[use an alternate section of joerc for keybindings]:keymap name' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_join b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_join deleted file mode 100644 index 4915a060..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_join +++ /dev/null @@ -1,29 +0,0 @@ -#compdef join gjoin - -local args variant -args=( - '*-a+[print unpairable lines from specified file]:file number:(1 2)' - '-e+[replace missing input fields with specified string]:replacement string' - "(-1 -2)-j+[join on specified field for both files]:field number" - '-o+[use specified output format]:format string' - '-t+[use specified character as field separator]:separator' - '*-v+[like -a, but suppress joined output lines]:file number:(1 2)' - '(-j -1 -j1)'{-j1,-1+}'[join on specified field of first file]:field number' - '(-j -2 -j2)'{-j2,-2+}'[join on specified field of second file]:field number' - '1:file:_files' '2:file:_files' -) -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args+=( - '(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing fields]' - '(-)--help[display help information]' - '(-)--version[output version information]' - '(--check-order --nocheck-order)'{--check-order,--nocheck-order} - '--header[treat first line in each file as field headers]' - '(-z --zero-terminated)'{-z,--zero-terminated}'[end lines with 0 byte, not newline]' - ) - ;; -esac - -_arguments -s $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jot deleted file mode 100644 index e8abcb7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jot +++ /dev/null @@ -1,82 +0,0 @@ -#compdef jot - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args - -_arguments -s -C : \ - '(-b)-r[generate random data instead of the default sequential data]' \ - '(-c -p -r -w)-b+[just print the specified word repeatedly]:word:' \ - '(-b -c -p)-w+[specify output format as in printf]:output format:->format' \ - '(-b -p -w)-c[same as -w %c]' \ - '-s+[separate the data by the specified string instead of newline]:string:' \ - '-n[do not print the final newline]' \ - '(-b -c -w)-p+[specify number of digits after decimal point]:precision:' \ - '(-)1: :_guard "^-*" "number of data"' \ - '2::lower bound:' \ - '3::upper bound:' \ - '4:: :->lastarg' && ret=0 - -case $state in - (format) - local -a flags digits conversions - flags=( - '#:alternative form' - ' :leave a blank before a positive number' - '+:always place a sign before a number' - '-:left adjust' - ) - digits=(0 1 2 3 4 5 6 7 8 9 .) - conversions=( - {d,i}':signed decimal' - 'o:unsigned octal' - 'u:unsigned decimal' - {x,X}':unsigned hexadecimal' - 'l'{d,i}':long signed decimal' - 'lo:long unsigned octal' - 'lu:long unsigned decimal' - 'l'{x,X}':long unsigned hexadecimal' - 'f:double number' - {e,E}':double number in scientific notation' - {g,G}':use %f or %e, whichever is more appropriate' - 'c:character' - ) - - compset -P '([^%]#%%)#' - if compset -P '[^%]#%'; then - # flags: (|\#)(| )(|+|-) - compset -P '(\#|\\\#)' && flags=( ${(@)flags:#\#*} ) - compset -P '( |\\ )' && flags=( ${(@)flags:#(\#| )*} ) - compset -P '(+|-)' || compset -P '[0-9]##' && flags=() - # width.precision: [0-9]#(|.[0-9]#) - if compset -P '.'; then - flags=() - digits=( ${(@)digits:#.} ) - fi - compset -P '[0-9]#' - # conversion specifier: ((|l)[diouxX]|[feEgGc]) - if compset -P '((|l)[diouxX]|[feEgGc])'; then - _message -e format-rest 'rest of the format' && ret=0 - else - local opts=( -S '' ) - _alternative -O opts 'flags:flag:(( $flags ))' \ - "width-precision:width.precision:($digits)" \ - 'conversion-specifiers:conversion specifier:(( $conversions ))' \ - && ret=0 - fi - else - local expl - compset -P '*' - _wanted start-specification expl 'start specification' \ - compadd -S '' % && ret=0 - fi - ;; - (lastarg) - if (( $+opt_args[-r] )); then - _message -e seeds 'random number seed' && ret=0 - else - _message -e steps 'step size' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jq b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jq deleted file mode 100644 index b8e41dd6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_jq +++ /dev/null @@ -1,37 +0,0 @@ -#compdef jq - -# last updated for jq-1.5-1-a5b5cbe (debian package 1.5+dfsg-1.3) - -# Note: -# Arguments to options must be in separate words. Thus, -# {-f,--from-file}'[foo]' -# is correct like that, without the usual {-f+,--from-file=} suffixes. -# -_arguments -S -s : \ - "--version[output jq's version number]" \ - "--seq[use application/json-seq ASCII RS/LF scheme in input and output]" \ - "--stream[parse input streamily (changes output)]" \ - '(-s --slurp)'{-s,--slurp}'[join input JSON objects to array before filtering]' \ - '(-R --raw-input)'{-R,--raw-input}'[consider each input line as a JSON strings]' \ - '(-n --null-input)'{-n,--null-input}'[input is ignored]' \ - '(-c --compact-output)'{-c,--compact-output}"[don't pretty-print]" \ - '(--indent)--tab[indent output using TAB characters]' \ - '(--tab)--indent[indent output using given number of spaces]:number of spaces (integer):(2 4 8)' \ - '(-C --color-output -M --monochrome-output)'{-C,--color-output}'[output in color]' \ - '(-C --color-output -M --monochrome-output)'{-M,--monochrome-output}'[output without color]' \ - '(-a --ascii-output)'{-a,--ascii-output}'[restrict output to ASCII]' \ - '--unbuffered[flush output after each JSON object]' \ - '(-S --sort-keys)'{-S,--sort-keys}'[output object keys in sorted order]' \ - '(-r --raw-output -j --join-output)'{-r,--raw-output}"[don't JSON-quote output if it's a string]" \ - '(-r --raw-output -j --join-output)'{-j,--join-output}"[like -r, without newlines between outputs]" \ - '(-f --from-file)'{-f,--from-file}'[read filter from file]:_files' \ - '-L+[prepend a directory to the module search path]:_directories' \ - '(-e --exit-status)'{-e,--exit-status}'[report "false" and "null" results via exit code]' \ - '*--arg[pre-set a variable to a string]:variable name: :value (string)' \ - '*--argjson[pre-set a variable to an object]:variable name: :value (JSON)' \ - '*--slurpfile[pre-set a variable to an array of JSON texts read from a file]:variable name: :file:_files' \ - '*--rawfile[pre-set a variable to the contents of a file]:variable name: :file:_files' \ - '--args[remaining arguments are string arguments, not files]' \ - '--jsonargs[remaining arguments are JSON arguments, not files]' \ - "1: :_guard '|[^-]' filter" \ - "*: :_files" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdeconnect b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdeconnect deleted file mode 100644 index ee186690..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdeconnect +++ /dev/null @@ -1,33 +0,0 @@ -#compdef kdeconnect-cli - -_kdeconnect_device-ids() { - compadd $(kdeconnect-cli --list-available --id-only) -} - -_arguments \ - '(-l --list-devices -a --list-available)'{-l,--list-devices}'[list all devices]' \ - '(-l --list-devices -a --list-available)'{-a,--list-available}'[list available (paired and reachable) devices]' \ - '--id-only[make --list-devices or --list-available print only the devices id, to ease scripting]' \ - '--refresh[search for devices in the network and re-establish connections]' \ - '(--pair --unpair)--pair[request pairing with the specified device]' \ - '--ring[find the device by ringing it]' \ - '(--pair --unpair)--unpair[stop pairing to the specified device]' \ - '(--ping --ping-msg)--ping[send a ping to the device]' \ - '(--ping --ping-msg)--ping-msg[send a ping to the device with the specified message]:message' \ - '--share[share a file to the device]:file:_files' \ - '--list-notifications[display the notifications on the device]' \ - '--lock[lock the specified device]' \ - '--send-sms[send an SMS. Requires --destination]:message' \ - '--destination[specify phone number to send the SMS to]:phone number' \ - '(-d --device -n --name)'{-d,--device}'[specify device ID]:id:_kdeconnect_device-ids' \ - '(-d --device -n --name)'{-n,--name}'[specify device name]:name' \ - '--encryption-info[get encryption info about the device]' \ - '--list-commands[list remote commands and their ids]' \ - '--execute-command[execute a remote command]:command id' \ - '(-k --send-keys)'{-k,--send-keys}'[send keys to the specified device]' \ - "--my-id[display this device's id and exit]" \ - '(-)'{-h,--help}'[display usage information]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)--author[show author information and exit]' \ - '(-)--license[show license information and exit]' \ - '--desktopfile[specify base file name of the desktop entry for this application]:file' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdump deleted file mode 100644 index e5c7c4cc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kdump +++ /dev/null @@ -1,84 +0,0 @@ -#compdef kdump - -_kdump_pid() { - local -a args pids - local -A assoc_pids - - if (( $+opt_args[-f] )); then - args=(-f $opt_args[-f]) - fi - pids=(${${${(f)"$(_call_program kdump-pids kdump $args)"}:#($'\t'| )*}## #}) - [[ $OSTYPE == netbsd* ]] && pids=(${pids/ ##[0-9]##/}) - pids=(${(u)${pids/ /:}%% *}) - for 1 in $pids; do - local pid=${1%%:*} process=${1#*:} - if (( $+assoc_pids[$pid] )); then - assoc_pids[$pid]+=", $process" - else - assoc_pids[$pid]=$process - fi - done - pids=() - for pid procs in ${(kv)assoc_pids}; do - pids+=($pid:$procs) - done - _describe -t kdump-pids 'kdump pid' pids -} - -local args=( - '-d[display numbers in decimal]' - '-f+[use the specified file (- for stdin)]:dump file:_files' - '-l[loop reading the trace file]' - '-m+[maximum I/O bytes to display]:max data bytes:' - '-n[suppress ad hoc translations]' - '-p+[show output only for the specified pid]: :_kdump_pid' - '(-E -T)-R[display relative timestamps]' - '(-E -R )-T[display absolute timestamps]' - '-t[select which tracepoints to display]: :_ktrace_points' -) - -case $OSTYPE; in - freebsd*|netbsd*) - args+=( - '(-R -T)-E[display elapsed timestamps]' - ) - ;| - freebsd*|openbsd*) - args+=( - '-H[display thread identifiers]' - ) - ;| - dragonfly*) - args+=( - '(-c -R)-a[display full human readable output]' - '-c[display the CPU the thread is running on]' - '-j[use a fixed format output]' - ) - ;; - freebsd*) - args+=( - '-A[display description of the ABI of traced process]' - '-r[symbolically display structure members]' - '-S[display system call numbers]' - '-s[suppress display of I/O data]' - ) - ;; - netbsd*) - args+=( - '-e[interpret system call maps using the specified emulation]:emulation:' - '-N[suppress system call name translation]' - '-X[Display GIO data in hex and ascii in groups of specified size]:size:(1 2 4 8 16)' - '-x[Display GIO data in hex and ascii]' - '1:dump file:_files' - ) - ;; - openbsd*) - args+=( - # XXX handle -TR - '-X[display I/O data in hex and ASCII]' - '-x[display I/O data in hex]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kfmclient b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kfmclient deleted file mode 100644 index 87080cf9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kfmclient +++ /dev/null @@ -1,105 +0,0 @@ -#compdef kfmclient kioclient - -# kfmclient is a command line interface for use with Konqueror, -# the KDE file manager and web browser. -# -# In KDE4, kioclient has similar syntax but doesn't necessarily talk -# to Konqueror ("kioclient exec ." by default starts Dolphin, for example). - -local expl -local -a context state line -typeset -A opt_args - -_arguments \ - '--help[show help message]' \ - '--help-qt[show Qt specific options]' \ - '--help-kde[show KDE specific options]' \ - '--help-all[show all options]' \ - '--author[show author information]' \ - '-v[show version information]' \ - '--version[show version information]' \ - '--license[show license information]' \ - '--commands[show available commands]' \ - '--display=:X display:_x_display' \ - '--session=:session id for restoring application: ' \ - '--cmap[use private colormap (8-bit display)]' \ - '--ncols=:limit on number of colors (8-bit display): ' \ - '--nograb[never grab mouse or keyboard]' \ - '--dograb[override nograb in debugger]' \ - '--sync[switch to synchronous mode when debugging]' \ - '--fn=:font name:_x_font' \ - '--font=:font name:_x_font' \ - '--bg=:background color:_x_color' \ - '--background=:background color:_x_color' \ - '--fg=:foreground color:_x_color' \ - '--foreround=:foreground color:_x_color' \ - '--btn=:button color:_x_color' \ - '--button=:button color:_x_color' \ - '--name=:application name: ' \ - '--title=:application title (caption): ' \ - '--visual=:specify visual:_x_visual' \ - '--inputstyle:X input method:(onthespot overthespot offthespot root)' \ - '--im:X Input Method server: ' \ - '--noxim[disable X Input Method]' \ - '--reverse[reverse widget layout]' \ - '--caption=:name in titlebar: ' \ - '--icon=:application icon: ' \ - '--miniicon=:icon in titlebar: ' \ - '--config=:configuration file:_files' \ - '--dcopserver=:DCOP server: ' \ - '--nocrashhandler[disable crash handler, allow core dumps]' \ - '--waitforwm[wait for a WM_NET compatible window manager]' \ - '--style=:GUI style for application: ' \ - '--geometry=:client window geometry:_x_geometry' \ - '1:client command:(openURL openProfile openProperties exec move -download copy sortDesktop configure configureDesktop)' \ - '2::args:->firstarg' \ - '3::args:->secondarg' && return 0 - -[[ $state = *arg ]] || return 1 - -# Argument to previous command. - -case $line[1] in - (openURL) - if [[ $state = secondarg ]]; then - _mime_types - return - elif [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; - - (openProfile) - if [[ $state = secondarg ]]; then - _webbrowser - return - elif [[ $state = firstarg ]]; then - local appdata=${$(kde-config --path data 2> /dev/null):-~/.kde/share/apps/} - _wanted profile expl 'Konqueror profile' \ - compadd -- ${(s/:/)^${appdata}}konqueror/profiles/*(:t) - return - fi - ;; - - (exec) - if [[ $state = secondarg ]]; then - # Look for a Desktop Action binding. - _wanted binding expl 'KDE binding' compadd -- ${${${(M)${(f)"$(<$file)"}:#"[Desktop Action "*"]"}%%\]}##"[Desktop Action "} - return - elif [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; - - (move|download|copy|openProperties) - if [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; -esac - -_message "no more arguments" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kill b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kill deleted file mode 100644 index b9dfde3f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kill +++ /dev/null @@ -1,22 +0,0 @@ -#compdef kill - -local curcontext="$curcontext" line state ret=1 -typeset -A opt_args - -_arguments -C \ - '(-s -l 1)-n[specify signal number]:signal number' \ - '(-n -l 1)-s[specify signal name]:signal:_signals -s' \ - '(-n -s)-l[list signal names or numbers of specified signals]:*:signal:_signals' \ - '(-n -s -l)1::signal:_signals -p -s' \ - '*:processes:->processes' && ret=0 - -if [[ -n "$state" ]]; then - local pgrp='process-groups:: _wanted ' - [[ -n "$opt_args[(i)-[ns]]${${(@)line:#--}}" && -prefix - ]] && pgrp+='-x ' - pgrp+="process-groups expl 'process-group' compadd - 0" - _alternative \ - 'processes:: _pids' \ - 'jobs:: _jobs -t' $pgrp && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_killall b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_killall deleted file mode 100644 index 3ddd3634..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_killall +++ /dev/null @@ -1,71 +0,0 @@ -#compdef killall killall5 - -if [[ $service = killall5 || $OSTYPE != (linux|*bsd|dragonfly|darwin)* ]]; then - _signals -p - return -fi - -typeset -a opts args -[[ $EUID = 0 || $_comp_priv_prefix[1] = sudo ]] && opts=( -a ) - -if _pick_variant psmisc=PSmisc unix --version; then - - local curcontext=$curcontext state state_descr line ret=1 - typeset -A opt_args - args=( - '(-e --exact)'{-e,--exact}'[require exact match for names longer than 15 chars]' - '(-I --ignore-case)'{-I,--ignore-case}'[do case insensitive process name match]' - '(-g --process-group)'{-g,--process-group}'[kill the process group to which the process belongs]' - '(-i --interactive)'{-i,--interactive}'[interactively ask for confirmation before killing]' - '(- : *)'{-l,--list}'[list all known signal names]' - '(-n --ns)'{-n+,--ns=}'[match against the PID namespace of the given PID]: : _pids' - '(-o --older-than)'{-o+,--older-than=}'[match only processes older than the specified time]:time:->time' - '(-q --quiet)'{-q,--quiet}'[do not complain if no processes were killed]' - '(-r --regexp)'{-r,--regexp}'[interpret process name as extended regular expression]' - '(1 -s --signal)'{-s+,--signal=}'[send the specified signal]: : _signals' - '(-u --user)'{-u+,--user=}'[kill only processes owned by specified user]: : _users' - '(-v --verbose)'{-v,--verbose}'[report if the signal was successfully sent]' - '(-w --wait)'{-w,--wait}'[wait for all killed processes to die]' - '(- : *)'{-V,--version}'[display version information]' - '(-y --younger-than)'{-y+,--younger-than=}'[match only processes younger than the specified time]:time:->time' - "1: : _alternative 'signals: :_signals -p' 'processes-names: :_process_names $opts'" - "*: :_process_names $opts" - ) - [[ $CURRENT = 2 || ( $CURRENT = 3 && $words[2] = (-Z|--context) ) ]] && \ - args+=( '(-Z --context)'{-Z+,--context=}'[specify SELinux security context]:regex pattern:_selinux_contexts' ) - - _arguments -s -S -C : $args && ret=0 - - case $state in - (time) - _numbers -fN age 's:seconds' 'm:minutes' 'h:hours' 'd:days' \ - 'w:weeks' 'M:months' 'y:years' - ;; - esac - - return ret - -else # bsd and darwin - - if [[ $OSTYPE == (freebsd|dragonfly)* ]]; then - args=( '-j+[kill processes in specified jail]: :_jails -0' ) - opts+=( -t ) # long process names must be truncated - fi - args+=( - '-v[be more verbose about what will be done]' - '-e[use effective user ID for -u option]' - '(- : *)-help[give a help on command usage and exit]' - '(- : *)-l[list names of available signals and exit]' - '-m[interpret specified name as a regular expression]' - '-s[show only what will be done, but do not send any signal]' - '-d[print info about processes matched, but do not send any signal]' - '-u+[limit to processes belonging to specified user]: : _users' - '-t+[limit to processes running on specified tty]: :_ttys -od' - "-c+[with -u or -t, limit to processes matching specified name]: :_process_names $opts" - '-z[do not skip zombies]' - "*: :_process_names $opts" - + '(signal)' -$signals[2,-3] - ) - _arguments -s -S -A '-*' : $args - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kld b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kld deleted file mode 100644 index 42fdc2bd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kld +++ /dev/null @@ -1,46 +0,0 @@ -#compdef kldload kldunload - -(( $+functions[_kld_module] )) || -_kld_module() { - local ret=1 - - compadd "$@" - /boot/{kernel,modules}/*.ko(-.:t) && ret=0 - _files "$@" -g '*.ko(-.)' && ret=0 - - return ret -} - -(( $+functions[_kld_unload] )) || -_kld_unload() { - compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $5 }' ) -} - -(( $+functions[_kld_unload_id] )) || -_kld_unload_id() { - compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $1 }' ) -} - -_kld() { - unset _cache_sysctlvars - - case "$service" in - kldload) - _arguments -s -S -A "-*" \ - "-n[don't try to load module if already loaded]" \ - '-v[be verbose]' \ - '-q[silence any extraneous warnings]' \ - '*:module to load:_kld_module' - ;; - - kldunload) - _arguments -s -S -A "-*" \ - '-f[force the unload]' \ - '-v[be verbose]' \ - '(-n)-i:module id to unload:_kld_unload_id' \ - '(-i)-n:module to unload:_kld_unload' \ - '*:module to unload:_kld_unload' - ;; - esac -} - -_kld "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_knock b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_knock deleted file mode 100644 index 3cf83e3c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_knock +++ /dev/null @@ -1,9 +0,0 @@ -#compdef knock - -_arguments \ - '(-u --udp)'{-u,--udp}'[UDP mode]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version -h --help -u --udp -v --verbose)'{-V,--version}'[display version]' \ - '(-h --help -u --udp -v --verbose -V --version)'{-h,--help}'[help]' \ - '1:host:_hosts' \ - '*:port:_ports' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kpartx b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kpartx deleted file mode 100644 index 79a8dd8a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kpartx +++ /dev/null @@ -1,14 +0,0 @@ -#compdef kpartx - -_arguments -s -S : \ - '(-d -u -l)-a[add partition mappings]' \ - '-r[read-only partition mappings]' \ - '(-a -u -l)-d[delete partition mappings]' \ - '(-a -d -l)-u[update partition mappings]' \ - '(-a -d -u)-l[list partition mappings]' \ - '-p[set device name-partition number delimiter]' \ - '-f[force creation of mappings]' \ - '-g[force GUID partition table]' \ - '-v[operate verbosely]' \ - '-n[return before the partitions are created]' '!(-n)-s' \ - '1: : _files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace deleted file mode 100644 index 9613ba2b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace +++ /dev/null @@ -1,30 +0,0 @@ -#compdef ktrace - -local args=( - '-a[append to the trace file]' - '(*)-C[disable tracing on all user owned processes or all processes if executed by root]' - '-c[clear the trace points]' - '-d[trace current descendants]' - '-f+[log trace to specified file]:trace file:_files' - '(-p *)-g+[enable/disable tracing on specified process group]:pgid:_pgids' - '-i[inherit trace flags on future children]' - '(-g *)-p+[enable/disable tracing on specified PID]: :_pids' - '-t+[select information to include in dump]:trace string:_ktrace_points' - '*:: : _normal -p ktrace' -) - -case $OSTYPE; in - openbsd*) - args+=( - '-B[process relocations immediately]' - ) - ;; - netbsd*) - args+=( - '-n[stop tracing if writes to the trace file would block]' - '-s[write to the trace file with synchronized I/O]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace_points b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace_points deleted file mode 100644 index 3068951f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ktrace_points +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -local points=( - 'c[trace system calls]' - 'i[trace I/O]' - 'n[trace namei translations]' - 's[trace signal processing]' - 'u[trace user data]' - '+[trace the default points]' -) - -case $OSTYPE in - dragonfly*|freebsd*|netbsd*) - points+=( - 'w[context switches]' - ) - ;| - freebsd*|openbsd*) - points+=( - 't[trace various structures]' - ) - ;| - freebsd*) - points+=( - 'f[trace page faults]' - 'p[trace capability check failures]' - 'y[trace sysctl(3) requests]' - ) - ;; - netbsd*) - points+=( - 'A[trace all tracepoints]' - 'a[trace exec arguments]' - 'e[trace emulation changes]' - 'f[trace open file descriptors after exec]' - 'S[trace MIB access (sysctl)]' - 'v[trace exec environment]' - '-[do not trace following trace points]' - ) - ;; - openbsd*) - points+=( - 'p[trace violation of pledge(2) restrictions]' - 'x[trace argument vector in execve(2)]' - 'X[trace environment in execve(2)]' - ) - ;; -esac - -_values -s '' 'ktrace point' $points diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kvno b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kvno deleted file mode 100644 index 9664e187..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_kvno +++ /dev/null @@ -1,25 +0,0 @@ -#compdef kvno - -local curcontext="$curcontext" state line ret=1 - -_arguments -C \ - '-c[specify credentials cache to use]:cache:_files' \ - '-e[specify encryption type]:encryption type' \ - '-q[suppress printing]' \ - '(- :)-h[display help information]' \ - '-P[acquire credentials for the principal during S4U2Self]' \ - '-S[specify the service name of the principal]:service' \ - '-U[specify user for S4U2Self]:user:_users' \ - ':principal:->principal' && ret=0 - -if [[ $state = principal ]]; then - if compset -P '*/'; then - _hosts && ret=0 - else - _alternative \ - 'users:user:_users' \ - 'services:service:compadd -S/ host' && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_last b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_last deleted file mode 100644 index 2013cc1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_last +++ /dev/null @@ -1,61 +0,0 @@ -#compdef last lastb - -local pattern arg args ttys -ttys=( /dev/tty*(N) /dev/pts/*(N) reboot ) -ttys=( ${ttys#/dev/} ) - -[[ $OSTYPE = linux-gnu ]] || args=( -A "-*" ) -for pattern arg in \ - '(solaris*|linux-gnu)' '(--hostlast)-a[display hostname in last column]' \ - '((free|net|open)bsd*|darwin*|dragonfly*)' '-h+[limit sessions by hostname]:host:_hosts' \ - '((free|open)bsd*)' '-s[report duration in seconds]' \ - '(freebsd*|openbsd*)' '-d+[limit sessions to those active at snapshot time]:time ([[CC]YY][MMDD]hhmm[.SS])' \ - '((net|free|open)bsd*|darwin*|dragonfly*)' '-t+[limit sessions by tty]:tty:_ttys -D' \ - 'openbsd*' '-c[calculate total time]' \ - '^darwin*' '(--file)-f+[specify account file]:file:_files' \ - '(solaris*|linux-gnu|freebsd*|openbsd*)' '(--limit)-n+[specify number of lines to show]:number' \ - '((open|net)bsd*|dragonfly*)' '-T[show more detailed time information including year and seconds]' \ - 'netbsd*' '-x[assume file is in wtmpx(5) format]' \ - 'netbsd*' '-n[show IP of remote hosts]' \ - 'freebsd*' '-w[show seconds in duration field]' \ - 'freebsd*' '-y[show year in session start time]' -do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) -done - -case $OSTYPE in - netbsd*|dragonfly*) - args+=( - '-H[specify width for host field]:width' - '-N[specify width for login name field]:width' - '-L[specify width for tty field]:width' - ) - ;; - linux-gnu) - args+=( - '(-a)--hostlast[display hostname in last column]' - '(-d --dns -i --ip)'{-d,--dns}'[translate IP to hostname]' - '(-f)--file=[specify account file]:file:_files' - '(-F --fulltimes)'{-F,--fulltimes}'[show full login and logout times and dates]' - '(-i --ip -d --dns)'{-i,--ip}'[show IP of remote hosts]' - '(-n)--limit=[specify number of lines to show]:number' - '(-R --nohostname)'{-R,--nohostname}'[suppress display of hostname field]' - '(-s --since)'{-s+,--since=}'[display lines since the specified time]:time (YYYYMMDDhhmmss)' - '(-t --until)'{-t+,--until=}'[display lines until the specified time]:time (YYYYMMDDhhmmss)' - '(-p --present)'{-p+,--present=}'[display who were present at the specified time]:time (YYYYMMDDhhmmss)' - '(-w --fullnames)'{-w,--fullnames}'[show full user and domain names]' - '(-x --system)'{-x,--system}'[display shutdown/runlevel entries]' - '--time-format=[show timestamps in the specified format]:format:(notime short full iso)' - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) - ;; -esac - -if [[ $OSTYPE = (linux-gnu|solaris*) ]]; then - args+=( '*:arg: _alternative "users:user:_users" "ttys:tty:_ttys -d" "ttys:tty:(reboot)"' ) -else - args+=( '*:user:_users' ) -fi - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ld_debug b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ld_debug deleted file mode 100644 index 5c10faa0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ld_debug +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -value-,LD_DEBUG,-default- - -local vals - -vals=( - 'libs[display library search paths]' - 'files[show processing of files and libraries]' - 'bindings[display symbol binding]' - 'reloc[display relocation processing]' - 'symbols[display symbol table processing]' - 'unused[show unused files]' - 'versions[show version processing]' - 'help[display help message]' -) - -case $OSTYPE in - solaris*) - vals+=( - 'basic[provide basic trace information/warnings]' - 'cap[display hardware/software capability processing]' - 'detail[provide more info in conjunction with other options]' - 'demangle[display C++ symbol names in their demangled form]' - 'init[display init and fini processing]' - 'long[display long object names without truncation]' - 'move[display move section processing]' - 'segments[display available output segments and address/offset processing]' - 'strtab[display information about string table compression]' - 'tls[display TLS processing info]' - ) - ;; - linux*) - vals+=( - 'all[combine all options]' - 'scopes[display scope information]' - 'statistics[display relocation statistics]' - ) - ;; -esac -_values -s , capability $vals - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldap deleted file mode 100644 index 8fa17e2f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldap +++ /dev/null @@ -1,87 +0,0 @@ -#compdef ldap - -local -a commands scopes -commands=( - search:'search a directory' -) -scopes=( - base:'base object only' - one:'one level' - sub:subtree -) - -_ldap_url() { - local nm=$compstate[nmatches] - local -a expl protocols suf_proto suf_scope tags - protocols=( - ldap:'TCP in plaintext' - ldaps:'TLS' - ldap+tls:'TCP and use StartTLS' - ldapi:'connect to a socket' - ) - - # [protocol://]host[:port][/basedn[?[attribute,...][?[scope][?[filter]]]]] - if ! compset -P '*://'; then - tags=(protocol) - compset -S ':*' || suf_proto=( -S :// ) - fi - - if ! compset -P '*/'; then - if compset -P '*:'; then - tags=(port) - compset -S '/*' - else - if ! compset -S '://*'; then - tags+=(host) - compset -S '[:/]*' - fi - fi - else - case $PREFIX in - *\?*\?*\?*) tags=(filter);; - *\?*\?*) tags=(scope); [[ -suffix \?* ]] || suf_scope=( -qS \? );; - *\?*) tags=(attribute);; - *) tags=(basedn);; - esac - compset -P '*\?' - compset -S '\?*' - fi - - _tags $tags - while _tags; do - _requested protocol && _describe -t protocol protocol protocols $suf_proto - _requested host && _hosts -S '' - _requested port expl port - _requested basedn expl 'base DN' - _requested attribute expl attribute - _requested scope && _describe -t scope scope scopes $suf_scope - _requested filter expl filter - [[ nm -ne compstate[nmatches] ]] && return 0 - done -} - -if (( CURRENT == 2 )); then - _describe command commands -else - shift words; (( CURRENT-- )) - case $words[1] in - search) - _arguments -s -S -A '-*' \ - '-b+[specify base DN]:base DN:' \ - '-c+[specify CA file]:CA file:' \ - '-D+[specify bind DN]:bind DN:' \ - '-H+[specify URL]: :_ldap_url' \ - '-L[output in LDIF]' \ - '-l+[specify time limit or 0 for no limit]:time limit [0]:' \ - '-s+[specify scope]:scope [sub]:(($scopes))' \ - '-v[be verbose]' \ - '-W[prompt for bind secret]' \ - '-w+[specify bind secret]:bind secret:' \ - '-x[use simple authentication]' \ - '-Z[use StartTLS]' \ - '-z+[specify maximum number of results or 0 for no limit]:size limit [0]:' \ - '::filter:' \ - '*:attribute:' - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldconfig deleted file mode 100644 index 16ce3d68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldconfig +++ /dev/null @@ -1,81 +0,0 @@ -#compdef ldconfig ldconfig.real - -local ret=1 -local -a args context line state state_descr -local -A opt_args - -case $OSTYPE in - linux*) - args=( - '(x -v --verbose)'{-v,--verbose}'[output verbosely]' \ - + x \ - '(: -)'{-\?,--help}'[display help information]' - '(: -)'{-p,--print-cache}'[display libraries in current cache]' - '(: -)--usage[display brief usage information]' - '(: -)'{-V,--version}'[display version information]' - + l - '(x o)-l[manually link individual libraries (library mode)]' - + o - '(x l -c --format)'{-c+,--format=}'[specify cache format]:cache format:(old new compat)' - '(x l)-C+[specify cache file to use instead of /etc/ld.so.cache]:cache file:_files' - '(x l)-f+[specify configuration file to use instead of /etc/ld.so.conf]:configuration file:_files' - '(x l -i --ignore-aux-cache)'{-i,--ignore-aux-cache}'[ignore auxiliary cache file]' - '(x l -N)-n[process only directories specified on command line (implies -N)]' - '(x l)-N[do not rebuild cache]' - '(x l)-r+[specify root directory]:root directory:_directories' - '(x l)-X[do not update symbolic links]' - ) - ;; - *bsd*|dragonfly*) - args=( - '(-U)-m[merge into the existing hints file]' - '(: -)-r[list the current contents of the hints file]' - );| - dragonfly*|freebsd*|openbsd*) - args+=( - '(-U)-R[rescan previously configured directories]' - );| - dragonfly*|freebsd*) - args+=( - '(-aout)-elf[generate hints for elf format shared libraries]' - '-f+[specify hints file]:hints file:_files' - '-i[run in insecure mode]' - );| - freebsd*|netbsd*|openbsd*) - args+=( - '-v[switch on verbose mode]' - );| - freebsd*|openbsd*) - args+=( - '-s[do not scan /usr/lib for shared libraries]' - );| - freebsd*) - args+=( - '-32[generate hints for 32-bit ABI shared libraries]' - '(-elf)-aout[generate hints for a.out format shared libraries]' - );| - netbsd*) - args+=( - '(-s)-c[do not scan directories in /etc/ls.so.conf]' - '(-s)-S[do not scan /usr/lib for shared libraries]' - '-s[do not scan /usr/lib or directories in /etc/ld.so.conf for shared libraries]' - );| - openbsd*) - args+=( - '(-m)-U[unconfigure specified directories or inaccessible directories if none specified]' - );| -esac - -_arguments -s -S : \ - '(x)*: :->files' \ - $args \ -&& ret=0 - -[[ $state == files ]] && -if [[ -n ${opt_args[(I)l--l]} ]]; then - _object_files && ret=0 -else - _directories && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldd deleted file mode 100644 index 3c7b088d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ldd +++ /dev/null @@ -1,43 +0,0 @@ -#compdef ldd - -if _pick_variant gnu='(Free Soft|GNU|GLIBC|Gentoo)' unix --version; then - args=( - '(- *)--version[display version information]' - '(- *)--help[display help information]' - '(-v --verbose)'{-v,--verbose}'[include symbol versioning information]' - '(-d --data-relocs)'{-d,--data-relocs}'[perform data relocations and report missing objects]' - '(-r --function-relocs)'{-r,--function-relocs}'[perform data/function relocations and report missing objects]' - '(-u --unused)'{-u,--unused}'[display any unused objects]' - ) -else - case $OSTYPE in - solaris*) - args=( - -s - '(-r)-d[check immediate references]' - '(-d)-r[check immediate and lazy references]' - '-u[display any unused objects]' - '-U[display any unreferenced, or unused dependencies]' - '-e[set specified environment variable]:environment variable:(LD_PRELOAD LD_LIBRARY_PATH LD_RUN_PATH LD_DEBUG LD_DEBUG_OUTPUT LD_NOCONFIG LD_NOAUXFLTR)' - '-f[check for insecure executable]' - '-i[display order of execution of initialization sections]' - '-L[enable lazy loading]' - '-l[force immediate processing of any filters]' - '-s[display search path used]' - '-v[displays all dependency relationships]' - ) - ;; - freebsd*) - args=( - '-a[show all objects that are needed by each loaded object]' - '-v[verbose listing of the dynamic linking headers]' - '-f+[specify format]:format:((%a\:program\ name %A\:environment\ name %o\:library\ name %p\:path\ to\ library %x\:load\ address))' - ) - ;; - esac -fi - -_arguments $args \ - '*: : _alternative - "executables:executable:_files -g \^\*.so\(\-\*\)" - "shared-objects:shared object:_files -g \*.so\(-.\)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_less b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_less deleted file mode 100644 index 69f75fd0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_less +++ /dev/null @@ -1,153 +0,0 @@ -#compdef less -value-,LESS,-default- -value-,LESSCHARSET,-default- - -local curcontext="$curcontext" fgbg=foreground ret=1 -local -a state line expl files basic suf - -case $service in - *LESSCHARSET*) - _wanted charsets expl 'character set' compadd ascii iso8859 latin1 latin9 \ - dos ebcdic IBM-1047 koi8-r next utf-8 - return - ;; - *LESS*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - ;; - *) - files=( '*:file:_files' ) - ;; -esac - -if compset -P '+[-0-9]#'; then - _describe 'less command' '( - g:goto\ line - F:scroll\ to\ end\ and\ keep\ reading\ file - G:go\ to\ end\ of\ file - %:go\ to\ position\ in\ file - p:go\ to\ position\ in\ file - )' - return -fi - -_arguments -S -s -A "[-+]*" \ - '(-? --help)'{-\?,--help}'[display summary of less commands]' \ - '(-a --search-skip-screen)'{-a,--search-skip-screen}'[skip current screen in searches]' \ - '(-A --SEARCH-SKIP-SCREEN)'{-A,--SEARCH-SKIP-SCREEN}"[start searches just after target line]" \ - '(-b --buffers)'{-b+,--buffers=}'[specify amount of buffer space used for each file]:buffer space (kilobytes)' \ - '(-B --auto-buffers)'{-B,--auto-buffers}"[don't automatically allocate buffers for pipes]" \ - '(-C --CLEAR-SCREEN -c --clear-screen)'{-c,--clear-screen}'[repaint screen instead of scrolling]' \ - '!(-c --clear-screen)'{-C,--CLEAR-SCREEN} \ - '(-d --dumb)'{-d,--dumb}'[suppress error message if terminal is dumb]' \ - '*'{-D+,--color=}'[set screen colors]: :->colors' \ - '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-e,--quit-at-eof}'[exit the second time end-of-file is reached]' \ - '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-E,--QUIT-AT-EOF}'[exit when end-of-file is reached]' \ - '(-f --force)'{-f,--force}'[force opening of non-regular files]' \ - '(-F --quit-if-one-screen)'{-F,--quit-if-one-screen}'[exit if entire file fits on first screen]' \ - '(-G --HILITE-SEARCH -g --hilite-search)'{-g,--hilite-search}'[highlight only one match for searches]' \ - '(-g --hilite-search -G --HILITE-SEARCH)'{-G,--HILITE-SEARCH}'[disable highlighting of search matches]' \ - '(-h --max-back-scroll)'{-h+,--max-back-scroll=}'[specify backward scroll limit]:backward scroll limit (lines)' \ - '(-I --IGNORE-CASE -i --ignore-case)'{-i,--ignore-case}'[ignore case in searches that lack uppercase]' \ - '(-i --ignore-case -I --IGNORE-CASE)'{-I,--IGNORE-CASE}'[ignore case in all searches]' \ - '(-j --jump-target)'{-j+,--jump-target}'[specify screen position of target lines]:position (line)' \ - '(-J --status-column)'{-J,--status-column}'[display status column on the left]' \ - \*{-k+,--lesskey-file=}'[use specified lesskey file]:lesskey file:_files' \ - '(-K --quit-on-intr)'{-K,--quit-on-intr}'[exit less in response to ctrl-c]' \ - '(-L --no-lessopen)'{-L,--no-lessopen}'[ignore the LESSOPEN environment variable]' \ - '(-M --LONG-PROMPT -m --long-prompt)'{-m,--long-prompt}'[prompt verbosely]' \ - '(-m --long-prompt -M --LONG-PROMPT)'{-M,--LONG-PROMPT}'[prompt very verbosely]' \ - '(-N --LINE-NUMBERS -n --line-numbers)'{-n,--line-numbers}"[don't keep track of line numbers]" \ - '(-n --line-numbers -N --LINE-NUMBERS)'{-N,--LINE-NUMBERS}'[show line numbers]' \ - '(* -O --LOG-FILE -o --log-file)'{-o+,--log-file=}'[copy input to file]:file:_files' \ - '(* -o --log-file -O --LOG-FILE)'{-O+,--LOG-FILE=}'[copy input to file, overwriting if necessary]:file:_files' \ - '(-p --pattern)'{-p+,--pattern=}'[start at specified pattern]:pattern' \ - \*{-P+,--prompt=}'[specify prompt format]:prompt:->prompts' \ - '(-Q --QUIET --SILENT -q --quiet --silent)'{-q,--quiet,--silent}'[never use bell]' \ - '(-q --quiet --silent -Q --QUIET --SILENT)'{-Q,--QUIET,--SILENT}'[limit use of bell]' \ - '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-r,--raw-control-chars}'[display raw control characters]' \ - '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-R,--RAW-CONTROL-CHARS}'[display control chars; keep track of screen effects]' \ - '(-s --squeeze-blank-lines)'{-s,--squeeze-blank-lines}'[squeeze consecutive blank lines down to one]' \ - '(-S --chop-long-lines)'{-S,--chop-long-lines}'[truncate long lines instead of folding]' \ - '(-t --tag)'{-t+,--tag=}'[edit file containing tag]:tag:->tags' \ - '(-T --tag-file)'{-T+,--tag-file=}'[specify tags file]:tags file:_files' \ - '(-u --underline-special)'{-u,--underline-special}'[send backspaces and carriage returns to the terminal]' \ - '(-U --UNDERLINE-SPECIAL)'{-U,--UNDERLINE-SPECIAL}'[treat backspaces, tabs and carriage returns as control characters]' \ - '(* -)'{-V,--version}'[display version information]' \ - '(-W --HILITE-UNREAD -w --hilite-unread)'{-w,--hilite-unread}'[highlight first unread line after forward page]' \ - '(-w --hilite-unread -W --HILITE-UNREAD)'{-W,--HILITE-UNREAD}'[highlight first unread line after forward movement]' \ - '(-x --tabs)'{-x+,--tabs=}'[set tab stops]:tab stops' \ - '(-X --no-init)'{-X,--no-init}'[disable use of terminal init string]' \ - '--no-keypad[disable use of keypad terminal init string]' \ - '(-y --max-forw-scroll)'{-y,--max-forw-scroll}'[specify forward scroll limit]' \ - '(-z --window)'{-z+,--window=}'[specify scrolling window size]:lines' \ - '(-\" --quotes)'{'-\"+',--quotes=}'[change quoting character]:quoting characters' \ - '(-~ --tilde)'{-~,--tilde}"[don't display tildes after end of file]" \ - '(-\# --shift)'{'-\#+',--shift=}"[specify amount to move when scrolling horizontally]:number" \ - '--file-size[automatically determine the size of the input file]' \ - '--incsearch[search file as each pattern character is typed in]' \ - '--line-num-width=[set the width of line number field]:width [7]' \ - '--follow-name[the F command changes file if the input file is renamed]' \ - '--mouse[enable mouse input]' \ - '--no-histdups[remove duplicates from command history]' \ - '--rscroll=[set the character used to mark truncated lines]:character [>]' \ - '--save-marks[retain marks across invocations of less]' \ - '--status-col-width=[set the width of the -J status column]:width [2]' \ - '--use-backslash[subsequent options use backslash as escape char]' \ - '--use-color[enable colored text]' \ - '--wheel-lines=[specify lines to move for each click of the mouse wheel]:lines' \ - "$files[@]" && ret=0 - - -if [[ -n "$state" ]]; then - case $state in - colors) - if compset -P 1 \?; then - [[ $IPREFIX[-1] != [a-z] ]] || compset -P 1 + || _describe 'color application' '( +:add\ to\ existing\ attribute )' - suf=( -S '' ) - compset -P 1 '([-a-zA-Z]|*.)' && fgbg=background && suf=() - basic=( B:blue C:cyan G:green K:black M:magenta R:red W:white Y:yellow ) - _describe -t colors "$fgbg color" \ - "( -:default ${(j. .)${(@)basic/:/:light\ }} ${(Lj. .)basic} )" "$suf[@]" && ret=0 - else - _describe 'text' '( - B:binary\ characters - C:control\ characters - E:errors\ and\ informational\ messages - M:mark\ letters\ in\ the\ status\ column - N:line\ numbers\ enabled\ via\ the\ -N\ option - P:prompts - R:the\ rscroll\ character - S:search\ results - W:the\ highlight\ enabled\ via\ the\ -w\ option - d:bold\ text - k:blinking\ text - s:standout\ text - u:underlined\ text - )' -S '' && ret=0 - fi - ;; - prompts) - if compset -p 1; then - _message -e prompt - else - _describe 'prompt' '( - s:short\ prompt - m:medium\ prompt - M:long\ prompt - h:help\ screen\ prompt - \=:\=\ command\ prompt - w:waiting\ prompt - )' && ret=0 - fi - ;; - tags) - if (( $+LESSGLOBALTAGS )); then - _global_tags && ret=0 - else - _ctags_tags && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lha b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lha deleted file mode 100644 index e8d47fcd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lha +++ /dev/null @@ -1,72 +0,0 @@ -#compdef lha - -local expl - -if (( CURRENT == 2 )); then - compset -P - - - local lhacmds - lhacmds=( - '( x l v u d m c p t)a[add \(or replace\) to archive]' - '(a l v u d m c p t)x[extract from archive]' - '(a x v u d m c p t)l[list]' - '(a x l u d m c p t)v[verbose List]' - '(a x l v d m c p t)u[update newer files to archive]' - '(a x l v u m c p t)d[delete from archive]' - '(a x l v u d c p t)m[move to archive]' - '(a x l v u d m p t)c[re-construct new archive]' - '(a x l v u d m c t)p[print to stdout from archive]' - '(a x l v u d m c p )t[test file CRC in archive]' - ) - - if [ "${words[2]#-}" != "" ]; then - lhacmds=($lhacmds - 'v[verbose]' - 'q[quiet]' - 'n[not execute]' - 'f[force\(over write at extract\)]' - 't[files are text files]' - 'e[text code convert from/to EUC]' - 'g[use generic format \(for compatibility\)]' - ) - case ${words[2]#-} in - a*|u*) - lhacmds=($lhacmds - 'd[delete files after]' - "z[don't compress files]" - '( 1 2)0[header level 0]' - '(0 2)1[header level 1]' - '(0 1 )2[header level 2]' - ) - ;; - c*) - lhacmds=($lhacmds 'd[delete files after]') - ;; - x*) - lhacmds=($lhacmds 'i[ignore directory path]') - ;; - esac - fi - - _values -s '' 'lha command' $lhacmds -elif (( CURRENT == 3 )); then - _wanted files expl 'lha file' _files -g '*.lzh(-.)' -else - case ${words[2]#-} in - l*|x*|d*) - if [ -f "$words[3]" ]; then - _lzh_cache_list=`$words[1] lq $words[3] | awk '{print $NF}'` - _lzh_cache_list=("${(@f)${_lzh_cache_list}}") - - _wanted files expl 'file from archive' _multi_parts / _lzh_cache_list - else - _message -r "archive file is not found : ${words[3]}" - return 1 - fi - - ;; - *) - _files - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_libvirt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_libvirt deleted file mode 100644 index a3ab5a68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_libvirt +++ /dev/null @@ -1,238 +0,0 @@ -#compdef virsh virt-admin virt-host-validate virt-pki-validate virt-xml-validate - -local curcontext="$curcontext" state line expl ret=1 -declare -A opt_args - -local exargs="-h --help -V -v --version=short --version=long" -local -a common_opts interact_cmds -common_opts=( - '(- *)'{-h,--help}'[print help information and exit]' - '(- *)'{-v,--version=short}'[print short version information and exit]' - '(- *)'{-V,--version=long}'[print long version information and exit]' - "(-c --connect $exargs)"{-c+,--connect=}'[specify connection URI]:URI:_hosts' - "(-d --debug -q --quiet $exargs)"{-d+,--debug=}'[set debug level]:level:(0 1 2 3 4)' - "(-l --log $exargs)"{-l+,--log=}'[specify log file]:file:_files' - "(-q --quiet -d --debug $exargs)"{-q,--quiet}'[quiet mode]' -) -interact_cmds=(cd echo exit quit connect) - -typeset -A dom_opts -dom_opts=( - console " " - destroy " " - edit " " - managedsave " " - reboot " " - reset " " - resume --state-paused - save " " - screenshot " " - send-key " " - shutdown --state-running - start --inactive - suspend --state-running - ttyconsole " " - undefine --inactive - vncdisplay " " -) -typeset -A iface_opts -iface_opts=( - iface-start --inactive -) -typeset -A net_opts -net_opts=( - net-start --inactive -) -typeset -A pool_opts -pool_opts=( - pool-start --inactive -) - -case $service in - virsh) - if (( ! $+_cache_virsh_cmds )); then - _cache_virsh_cmds=( ${${${${(f):-"$(_call_program commands virsh help)"}:#*:}/# ##}/ *} ) - local icmd - for icmd in $interact_cmds; do - _cache_virsh_cmds[$_cache_virsh_cmds[(i)$icmd]]=() - done - fi - if (( ! $+_cache_virsh_cmd_opts )); then - typeset -gA _cache_virsh_cmd_opts - fi - _arguments -A "-*" -C -S -s -w \ - "$common_opts[@]" \ - "(-e --escape $exargs)"{-e+,--escape=}'[set escape sequence for console]:sequence' \ - "(-k --keepalive-interval $exargs)"{-k+,--keepalive-interval=}'[set keepalive interval]:interval' \ - "(-K --keepalive-count $exargs)"{-K+,--keepalive-count=}'[set keepalive count]:count' \ - "(-r --readonly $exargs)"{-r,--readonly}'[connect readonly]' \ - "(-t --timing $exargs)"{-t,--timing}'[print timing information]' \ - '1:command:->virsh_cmds' \ - '*:cmdopt:->virsh_cmd_opts' && return - # We accept only virsh command options after the first non-option argument - # (i.e., the virsh command itself), this makes it so with the -A "-*" above - [[ -z $state ]] && state=virsh_cmd_opts - ;; - virt-admin) - if (( ! $+_cache_virt_admin_cmds )); then - _cache_virt_admin_cmds=( ${${${${(f):-"$(_call_program commands virt-admin help)"}:#*:}/# ##}/ *} ) - local icmd - for icmd in $interact_cmds; do - _cache_virt_admin_cmds[$_cache_virt_admin_cmds[(i)$icmd]]=() - done - fi - if (( ! $+_cache_virt_admin_cmd_opts )); then - typeset -gA _cache_virt_admin_cmd_opts - fi - _arguments -A "-*" -C -S -s -w \ - "$common_opts[@]" \ - '1:command:->virt_admin_cmds' \ - '*:cmdopt:->virt_admin_cmd_opts' && return - # Same as with virsh above - [[ -z $state ]] && state=virt_admin_cmd_opts - ;; - virt-host-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-v,--version}'[print version information and exit]' \ - '(- *)'{-q,--quiet}'[quiet mode]' \ - '1:hv-type:(qemu lxc bhyve)' && return - ;; - virt-pki-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-V,--version}'[print version information and exit]' \ - && return - ;; - virt-xml-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-V,--version}'[print version information and exit]' \ - '1:file:_files -g "*.xml(-.)"' \ - '2:schema:(domainsnapshot domain network storagepool storagevol nodedev capability nwfilter secret interface)' \ - && return - ;; -esac - -local -a conn_opt -if [[ -n ${(v)opt_args[(I)-c|--connect]} ]]; then - local uri=${(v)opt_args[(I)-c|--connect]} - uri=${uri//(#m)\\([\\:])/${MATCH[2]}} # opt_args elements are colon-escaped - # For the libvirt remote URI syntax, see: - # https://libvirt.org/guide/html/Application_Development_Guide-Architecture-Remote_URIs.html - [[ -z ${(Q)uri//([[:alnum:]]|+|:|\/|@|-|\.|\?|=)} ]] && \ - conn_opt=( -c $uri ) -fi - -case $state in - virsh_cmds) - _wanted commands expl 'virsh command' compadd -a _cache_virsh_cmds && ret=0 - ;; - virsh_cmd_opts) - if [[ $words[CURRENT-1] == --(dir|emulatorbin|file|mountpoint|*path|script|source-dev) || $words[CURRENT] == (/*|.*) ]]; then - _default - return 0 - fi - local cmd word - for word in ${words:1}; do - [[ -n "${_cache_virsh_cmds[(r)${(b)word}]}" ]] && cmd=$word && break - done - [[ -z $cmd ]] && return 1 - local -a values - case $words[CURRENT-1] in - --domain) - values=( $(_call_program domains "noglob virsh $conn_opt list ${dom_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted domains expl domain compadd ${=values} && return 0 - return 1 - ;; - --interface) - values=( ${${${${(f):-"$(_call_program interfaces "noglob virsh $conn_opt iface-list ${iface_opts[$cmd]:-"--all"}")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted interfaces expl interface compadd ${=values} && return 0 - return 1 - ;; - --network) - values=( $(_call_program networks "noglob virsh $conn_opt net-list ${net_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted networks expl network compadd ${=values} && return 0 - return 1 - ;; - --device) - values; values=( $(_call_program devices "noglob virsh $conn_opt nodedev-list") ) - [[ -n $values ]] && _wanted devices expl device compadd ${=values} && return 0 - return 1 - ;; - --nwfilter) - values=( ${${${${(f):-"$(_call_program nwfilters "noglob virsh $conn_opt nwfilter-list")"}/ UUID*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted nwfilters expl nwfilter compadd ${=values} && return 0 - return 1 - ;; - --pool) - values=( ${${${${(f):-"$(_call_program pools "noglob virsh $conn_opt pool-list ${pool_opts[$cmd]:-"--all"}")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted pools expl pool compadd ${=values} && return 0 - return 1 - ;; - --secret) - values=( ${${${${(f):-"$(_call_program secrets "noglob virsh $conn_opt secret-list")"}/ UUID*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted secrets expl secret compadd ${=values} && return 0 - return 1 - ;; - --snapshotname) - local dom ; (( ${(k)words[(I)--domain]} > 0 )) && dom=${words[1+${(k)words[(I)--domain]}]} - [[ -z $dom ]] && return 1 - values=( ${${${${(f):-"$(_call_program snapshots "noglob virsh $conn_opt snapshot-list --domain ${(q)dom} 2>/dev/null")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted snapshots expl snapshot compadd ${=values} && return 0 - return 1 - ;; - --vol) - local pool ; (( ${(k)words[(I)--pool]} > 0 )) && pool=${words[1+${(k)words[(I)--pool]}]} - [[ -z $pool ]] && return 1 - values=( ${${${${(f):-"$(_call_program volumes "noglob virsh $conn_opt vol-list --pool ${(q)pool} 2>/dev/null")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted volumes expl volume compadd ${=values} && return 0 - return 1 - ;; - esac - if [[ $cmd == help ]]; then - [[ $words[-1] == -* ]] && _values -w option --command && return 0 - if [[ $words[-2] == help || $words[-2] == --command ]]; then - _wanted commands expl command compadd ${=_cache_virsh_cmds} && return 0 - fi - return 1 - fi - # Allow passing domain without --domain with few of the most used commands - if [[ $cmd == (destroy|edit|reboot|reset|start|shutdown) ]]; then - if [[ $words[CURRENT-1] == $cmd ]]; then - values=( $(_call_program domains "noglob virsh $conn_opt list ${dom_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted domains expl domain compadd ${=values} && return 0 - fi - fi - [[ -z $_cache_virsh_cmd_opts[$cmd] ]] && \ - _cache_virsh_cmd_opts[$cmd]=${(M)${${${${=${(f)"$(_call_program options virsh help $cmd 2>&1)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*} - [[ -n ${=_cache_virsh_cmd_opts[$cmd]} ]] && \ - _values -w option ${(u)=_cache_virsh_cmd_opts[$cmd]} && ret=0 - ;; - virt_admin_cmds) - _wanted commands expl 'virt-admin command' compadd -a _cache_virt_admin_cmds && ret=0 - ;; - virt_admin_cmd_opts) - local cmd word - for word in ${words:1}; do - [[ -n "${_cache_virt_admin_cmds[(r)${(b)word}]}" ]] && cmd=$word && break - done - [[ -z $cmd ]] && return 1 - if [[ $words[CURRENT-1] == --server ]]; then - _wanted servers expl server compadd ${=${(S)${${(f)$(_call_program -p servers noglob virt-admin ${(Q)conn_opt} srv-list)}##*--- }//[0-9]* }} && return 0 - fi - if [[ $words[CURRENT-1] == --client ]]; then - local srv ; (( ${(k)words[(I)--server]} > 0 )) && srv=${words[1+${(k)words[(I)--server]}]} - [[ -z $srv ]] && return 1 - [[ -n ${srv//[[:alnum:]]} ]] && return 1 - _wanted clients expl client compadd ${=${${(f):-"$(_call_program -p clients noglob virt-admin ${(Q)conn_opt} srv-clients-list --server $srv 2>/dev/null)"}/ [a-z]*}//[^0-9]} && return 0 - fi - [[ -z $_cache_virt_admin_cmd_opts[$cmd] ]] && \ - _cache_virt_admin_cmd_opts[$cmd]=${(M)${${${${=${(f)"$(_call_program options virt-admin help $cmd 2>&1)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*} - [[ -n $_cache_virt_admin_cmd_opts[$cmd] ]] && \ - _values -w option ${(u)=_cache_virt_admin_cmd_opts[$cmd]} && ret=0 - ;; - -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lighttpd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lighttpd deleted file mode 100644 index c24b42d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lighttpd +++ /dev/null @@ -1,16 +0,0 @@ -#compdef lighty-enable-mod lighty-disable-mod - -local -a mods expl - -case "$service" in - lighty-enable-mod) - mods=( `echo /etc/lighttpd/conf-available/*.conf(N:r:t) | sed -e 's/\b[0-9][0-9]-//g'` ) - _wanted mods expl mod compadd -a mods - ;; - lighty-disable-mod) - mods=( `echo /etc/lighttpd/conf-enabled/*.conf(N:r:t) | sed -e 's/\b[0-9][0-9]-//g'` ) - _wanted mods expl mod compadd -a mods - ;; -esac - -return diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limit deleted file mode 100644 index 852c55c1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limit +++ /dev/null @@ -1,9 +0,0 @@ -#compdef limit - -if ! ((CURRENT % 2)); then - _limits -elif [[ $PREFIX = u* ]]; then - compadd unlimited -else - _message -e values "number and scaling factor" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limits b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limits deleted file mode 100644 index 11ee7efa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_limits +++ /dev/null @@ -1,5 +0,0 @@ -#compdef unlimit - -local expl - -_wanted limits expl 'process limit' compadd "$@" - ${${(f)"$(limit)"}%% *} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_links b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_links deleted file mode 100644 index 49593770..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_links +++ /dev/null @@ -1,147 +0,0 @@ -#compdef links links2 - -local curcontext="$curcontext" state line ign ret=1 -typeset -A opt_args - -(( $#words > 2 )) && ign='!' -_arguments -C \ - "${ign}-help[prints the help screen]" \ - "${ign}(- :)-version[prints the links version number and exit]" \ - "${ign}(- 1)-lookup[do hostname lookup]:hostname:_hosts" \ - '-g[run in graphics mode rather than plain text mode]' '!-no-g' \ - '-driver[graphics driver to use]:graphics driver:->graphics_drivers' \ - '-mode[specify graphics mode]:graphics mode' \ - '-display[specify X display]:display:_x_display' \ - '-force-html[treat files with unknown type as html rather than text]' \ - '-source[dump the source page]' \ - '-dump[dump the page as pure text]' \ - '-width[specify screen width for formatting with -dump]:width' \ - '-codepage[convert output to specified character set with -dump]:codepage' \ - '-anonymous[restrict links so that it can run on an anonymous account]' \ - '-no-connect[runs links as a separate instance]' \ - '-download-dir[default download directory]:_files -/' \ - '-language[set user interface language]:language' \ - '-max-connections[specify maximum number of concurrent connections]:connections [10]' \ - '-max-connections-to-host[maximum number of concurrent connection to a given host]:connections [2]' \ - '-retries[number of retries]:retries [3]' \ - '-receive-timeout[timeout on receive]:timeout (seconds) [120]' \ - '-unrestartable-receive-timeout[timeout on non-restartable connections]:timeout (seconds) [600]' \ - '-timeout-when-trying-multiple-addresses[specify timeout for connection when trying multiple addresses]:timeout (seconds)' \ - '-bind-address[use a specific local IP address]:IP address' \ - '-bind-address-ipv6[use a specific local IPv6 address]:IPv6 address' \ - "-no-libevent[don't use libevent library]" \ - "-no-openmp[don't use OpenMP]" \ - '-async-dns[asynchronous DNS resolver]:enable:((1\:on 0\:off))' \ - '-download-utime[set time of downloaded files to last modification time reported by server]:enable:((1\:on 0\:off))' \ - '-format-cache-size[number of formatted document pages cached]:pages [5]' \ - '-memory-cache-size[cache memory]:size (bytes) [1048576]' \ - '-image-cache-size[image cache memory]:size (bytes) [1048576]' \ - '-font-cache-size[specify font cache size]:size (bytes) [2097152]' \ - "-aggressive-cache[cache everything regardless of server's caching recommendations]:enable [1]:((1\\:on 0\\:off))" \ - '-address-preference[specify IP version preference]:preference:(( - 0\:system\ default - 1\:prefer\ IPv4 - 2\:prefer\ IPv6 - 3\:use\ only\ IPv4 - 4\:use\ only\ IPv6 - ))' \ - '-http-proxy[specify web proxy server]:proxy:->proxies' \ - '-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \ - '-https-proxy[specify https web proxy server]:proxy:->proxies' \ - '-socks-proxy[specify socks4a proxy server]:proxy:->sproxies' \ - '-append-text-to-dns-lookups[append text to dns lookups; useful for specifying fixed tor exit node]:text' \ - '-no-proxy-domains[use no proxy for specified domains]:domain list' \ - '-only-proxies[only initiate connections via proxy]:enable:((0\:off 1\:on))' \ - '-ssl.certificates[specify handling of invalid signatures]:handling:((0\:ignore 1\:warn 2\:reject))' \ - '-ssl.builtin-certificates[specify certificates to use]:certificates:((0\:system 1\:builtin))' \ - '-ssl.client-cert-key[specify user private key for client certificate authentication]:PEM file:_files' \ - '-ssl.client-cert-crt[specify user certificate for client certificate authentication]:PEM file:_files' \ - '-ssl.client-cert-password[specify password for the user private key]:password' \ - '-http-bugs.http10[specify HTTP version]:protocol [0]:((1\:force\ only\ HTTP\ 1.0 0\:use\ both\ HTTP\ 1.0\ and\ 1.1))' \ - '-http-bugs.allow-blacklist[use list of servers with broken HTTP/1.1 support]:allow [1]:(1 0)' \ - '-http-bugs.bug-no-accept-charset[specify sending of Accept-Charset field of HTTP header]:send [0]:(1 0)' \ - '-http-bugs.no-compression[advertise HTTP compression support]:advertise compression [0]:((0\:yes 1\:no))' \ - '-http-bugs.retry-internal-errors[retry on internal server errors (50x)]:retry [0]:((1\:yes 0\:no))' \ - '-http.fake-firefox[fake Firefox in the HTTP header]:enable [0]:((0\:no 1\:yes))' \ - '-http.do-not-track[send do not track request in the HTTP header]:enable [0]:(1 0)' \ - "-http.referer[control sending of referer URL in requests]:referer [4]:(( - 0\:don\'t\ send 1\:'send requested URL' 2\:'fake referer' 3\:'send real' - 4\:'send real only to the same server' - ))" \ - '-http.fake-user-agent[specify fake user agent value]:string' \ - '-http.extra-header[specify extra string added to HTTP header]:string' \ - '-ftp.anonymous-password[specify password for anonymous ftp access]:password' \ - '-ftp.use-passive[use ftp PASV command to bypass firewalls]:enable;(0 1)' \ - '-ftp.use-eprt-epsv[use EPRT and EPSV commands instead of PORT and PASV]:enable:(0 1)' \ - '-ftp.set-iptos[set IP type-of-service to high throughput on ftp connections]:enable:(0 1)' \ - '-smb.allow-hyperlinks-to-smb[allow hyperlinks to SMB protocol]:enable:(0 1)' \ - '-menu-font-size[specify size of font in menu]:size' \ - '-menu-background-color[specify menu background color in graphics mode]:color (0xRRGGBB)' \ - '-menu-foreground-color[specify menu foreground color in graphics mode]:color (0xRRGGBB)' \ - '-scroll-bar-area-color[set colour of scroll bar area]:colour (0xRRGGBB)' \ - '-scroll-bar-bar-color[set colour of scroll bar]:colour (0xRRGGBB)' \ - '-scroll-bar-frame-color[set colour of scroll bar frame]:colour (0xRRGGBB)' \ - '-bookmarks-file[specify file to store bookmarks]:file:_files' \ - '-bookmarks-codepage[specify character set of bookmarks file]:character set' \ - '-save-url-history[save URL history on exit]:enable:(0 1)' \ - '-display-red-gamma[specify red gamma of display]:gamma [2.2]' \ - '-display-green-gamma[specify green gamma of display]:gamma [2.2]' \ - '-display-blue-gamma[specify blue gamma of display]:gamma [2.2]' \ - '-user-gamma[specify additional gamma]:gamma [1]' \ - '-bfu-aspect[display aspect ration]' \ - '-dither-letters[do letter dithering]:enable:(0 1)' \ - '-display-optimize[optimize for display type]:display:((0\:CRT 1\:LCD\ RGB 2\:LCD\ BGR))' \ - '-gamma-correction[specify type of gamma correction]:gamma correction:((0\:8-bit 1\:16-bit 2\:auto\ detect))' \ - '-overwrite-instead-of-scroll[overwrite the screen instead of scrolling it]:enable:(0 1)' \ - '-html-assume-codepage[specify codepage to use if unspecified by server]:codepage' \ - '-html-hard-assume[always use character set from -html-assume-codepage]:enable:(0 1)' \ - '-html-tables[render tables]:enable:(0 1)' \ - '-html-frames[render frames]:enable:(0 1)' \ - '-html-images[display links to unnamed images as \[IMG\]]:enable:(0 1)' \ - '-html-image-names[display filename of an image]:enable:(0 1)' \ - '-html-display-images[display images in graphics mode]:enable:(0 1)' \ - '-html-image-scale[sScale images in graphics mode]:scaling (percent)' \ - '-html-bare-image-autoscale[autoscale images displayed on full screen]:enable:(0 1)' \ - '-html-numbered-links[number links in text mode allowing quick selection]:enable:(0 1)' \ - '-html-table-order[set ordering to walk tables]:ordering:((0\:rows 1\:columns))' \ - '-html-auto-refresh[process refresh or display link]:refresh:(1 0)' \ - '-html-target-in-new-window[allow opening new windows from html]' \ - '-html-margin[specify margin]:margin (spaces)' \ - '-html-user-font-size[specify font size in graphics mode]:size' \ - '-html-text-color[specify text color in text mode]:color (0..15)' \ - '-html-link-color[specify link color in text mode]:color (0..15)' \ - '-html-background-color[specify background color in text mode]:color (0..15)' \ - '-html-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \ - '-html-g-text-color[specify text color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-link-color[specify link color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-background-color[specify background color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-ignore-document-color[ignore colors from HTML in graphics mode]:ignore:(0 1)' \ - ':URL:->html' && ret=0 - -case $state in - html) - _alternative 'files:file:_files -g "*.x#html(-.)"' 'urls:URL:_urls' && ret=0 - ;; - graphics_drivers) - local -a vals - vals=( ${=${${${(f)"$(_call_program links-graphics-drivers $words[1] -driver help 2>&1)"}[-1]}//','/''}} ) - _describe -t links-graphics-drivers 'graphics driver' vals && ret=0 - ;; - sproxies) - if ! compset -P '*@'; then - _message -e users 'user id' - return - fi - ;& - proxies) - local suf=-S: - if compset -P '*:'; then - _message -e ports 'port number' - else - compset -S ':*' && suf= - _hosts $suf && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lintian b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lintian deleted file mode 100644 index 03491624..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lintian +++ /dev/null @@ -1,66 +0,0 @@ -#compdef lintian lintian-info - -local curcontext="$curcontext" state line expl cmds ret=1 - -case "$service" in - (lintian) - _arguments -s \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-S,--setup-lab}'[setup or update the laboratory]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-R,--remove-lab}'[remove the laboratory directory]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-c,--check}'[run all checks over the specified packages]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-C,--check-part}'[run only the specified checks]: :_values -s , "lintian check" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-X,--dont-check-part}'[run only the specified checks]: :_values -s , "lintian check" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-u,--unpack}'[unpack up to unpack level]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-r,--remove}'[clean packages up to current unpack level]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-d --debug)'{-d,--debug}'[debug]' \ - '--print-version[print unadorned version number]' \ - '(-i --info)'{-i,--info}'[print info about violations]' \ - '(-I --display-info)'{-I,--display-info}'[also display informational tags]' \ - '(-l --unpack-level)'{-l,--unpack-level}'[unpack level]:default unpack level:(0 1 2 none basic contents)' \ - '(-o --no-override)'{-o,--no-override}'[do not use the overrides file]' \ - '--show-overrides[output tags that have been overridden]' \ - '--color:when:(never always auto)' \ - '(-U --unpack-info)'{-U,--unpack-info}'[collect information]:info:_values -s , "collectible" changelog-file copyright-file debfiles debian-readme diffstat doc-base-files file-info init.d md5sums menu-files objdump-info override-file scripts source-control-file' \ - '(-m --md5sums)'{-m,--md5sums}'[check md5sums when processing a .changes file]' \ - '--allow-root[override warning when run with superuser privileges]' \ - '--cfg:config file:_files' \ - '--lab:laboratory dir:_files -/' \ - '--archivedir:archive directory:_files -/' \ - '--dist:distribution:(woody sarge sid)' \ - '--section:release:(main contrib non-free)' \ - '--arch:architecture:_deb_architectures' \ - '--root:root directory:_files -/' \ - '(-a --all)'{-a,--all}'[check all packages in the distribution]' \ - '(-b --binary)'{-b,--binary}'[the following packages are binary]' \ - '(-s --source)'{-s,--source}'[the following packages are source]' \ - '--udeb[the following packages are udebs]' \ - '(-p --packages-file)'{-p,--packages-file}'[process packages listed in file]:list:_files' \ - '*: :_deb_files -c' && return 0 - ;; - - (lintian-info) - _arguments -C '1: :->cmds' '*: :->args' && ret=0 - - case $state in - (cmds) - cmds=( - {-t,--tags}':print long description of arguments' - {-a,--annotate}':annotate override entries from stdin' - ) - _describe -t commands 'lintian-info command' cmds && ret=0 - ;; - (args) - case $line[1] in - -t|--tags) - _wanted tags expl 'tag' compadd $(command awk '/^Tag:/ { print $2 }' /usr/share/lintian/checks/*.desc) && ret=0 - ;; - esac - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list deleted file mode 100644 index a9aa46df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This completer function makes the other completer functions used -# insert possible completions only after the list has been shown at -# least once. - -[[ _matcher_num -gt 1 ]] && return 1 - -local pre suf expr - -# Get the strings to compare. - -if zstyle -t ":completion:${curcontext}:" word; then - pre="$HISTNO$LBUFFER" - suf="$RBUFFER" -else - pre="$PREFIX" - suf="$SUFFIX" -fi - -# Should we only show a list now? - -if zstyle -T ":completion:${curcontext}:" condition && - [[ "$pre" != "$_list_prefix" || "$suf" != "$_list_suffix" ]]; then - - # Yes. Tell the completion code about it and save the new values - # to compare the next time. - - compstate[insert]='' - compstate[list]='list force' - _list_prefix="$pre" - _list_suffix="$suf" -fi - -# We always return one, because we don't really do any work here. - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list_files deleted file mode 100644 index 0ea02a55..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_list_files +++ /dev/null @@ -1,69 +0,0 @@ -#autoload - -# Helper function for _path_files to handle the file-list style. - -# arguments: -# name of parameter containing file matches -# directory prefix -# Sets array listfiles to the display strings and the array -# listopts appropriately to be added to the compadd command line. - -local stat f elt what dir -local -a stylevals -integer ok - -listfiles=() -listopts=() - -zstyle -a ":completion:${curcontext}:" file-list stylevals || return 1 - -# TODO: more flexible way of handling the following? e.g. use $compstate? -case $WIDGETSTYLE in - (*complete*) - what=insert - ;; - - (*) - what=list - ;; -esac - -for elt in $stylevals; do - case $elt in - (*($what|all|true|1|yes)*=<->) - # use long format if no more than the given number of matches - (( ${(P)#1} <= ${elt##*=} )) && (( ok = 1 )) - break - ;; - - ([^=]#($what|all|true|1|yes)[^=]#) - # always use long format - (( ok = 1 )) - break - ;; - esac -done - -(( ok )) || return 1 - -zmodload -F zsh/stat b:zstat 2>/dev/null || return 1 - -dir=${2:+$2/} -dir=${(Q)dir} - -for f in ${(PQ)1}; do - if [[ ! -e "$dir$f" ]]; then - listfiles+=("$dir$f") - continue - fi - - # Borrowed from Functions/Example/zls - zstat -s -H stat -F "%b %e %H:%M" - "$dir$f" >/dev/null 2>&1 - - listfiles+=("$stat[mode] ${(l:3:)stat[nlink]} ${(r:8:)stat[uid]} \ - ${(r:8:)stat[gid]} ${(l:8:)stat[size]} $stat[mtime] $f") -done - -(( ${#listfiles} )) && listopts=(-d listfiles -l -o match) - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lldb b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lldb deleted file mode 100644 index eae8e1d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lldb +++ /dev/null @@ -1,56 +0,0 @@ -#compdef lldb - -local curcontext=$curcontext state state_descr line expl ret=1 -typeset -A opt_args -typeset -a opts args -[[ $EUID = 0 || $_comp_priv_prefix[1] = sudo ]] && opts=( -a ) - -args=( - '*'{-o+,--one-line}'[run one-line lldb command after loading executable]:lldb command: ' - '*'{-s+,--source}'[run lldb commands from a file after loading executable]:file:_files' - '*'{-O+,--one-line-before-file}'[run one-line lldb command before loading executable]:lldb command' - '*'{-S+,--source-before-file}'[run lldb commands from a file before loading executable]:file:_files' - '(-k --one-line-on-crash)'{-k+,--one-line-on-crash}'[run one-line lldb command if target crashes in batch mode]:lldb command' - '(-K --source-on-crash)'{-K+,--source-on-crash}'[run lldb commands from a file if target crashes in batch mode]:file:_files' - '(-b --batch)'{-b,--batch}'[run commands from -s -S -o -O and quit]' - '(-Q --source-quietly)'{-Q,--source-quietly}'[suppress output from -s, -S, -o or -O]' - '(-e --editor)'{-e,--editor}'[open source files using "external editor" mechanism]' - '(-x --no-lldbinit)'{-x,--no-lldbinit}'[do not automatically parse .lldbinit files]' - '(-X --no-use-colors)'{-X,--no-use-colors}'[do not use colors]' - '(-d --debug)'{-d,--debug}'[print extra information for debugging itself]' - '(-r --repl)'{-r,--repl}'[run lldb in REPL mode]' - '(-l --script-language)'{-l+,--script-language}'[use the specified scripting language]:language:(Python Perl Ruby Tcl)' - - info - '(-)'{-h,--help}'[print the usage information]' - '(-)'{-v,--version}'[print the current version number]' - '(-)'{-P,--python-path}'[print path to the lldb.py file]' - - file - '(-f --file)'{-f+,--file}'[specify executable file to debug]:executable:_files -g "*(-*)"' - '(-a --arch)'{-a+,--arch}'[use the specified architecture]:arch' - '(-c --core)'{-c+,--core}'[specify core file to open]:core file:_files -g "*core*(-.)"' - '*::executable and arguments:->exe_args' - - name - '(-n --attach-name)'{-n+,--attach-name}"[attach to the named process]: :_process_names $opts" - '(-w --wait-for)'{-w,--wait-for}'[wait for the specified process to launch]' - - pid - '(-p --attach-pid)'{-p+,--attach-pid}'[attach to the specified process]:pid:_pids' -) - -_arguments -C -s -S : $args && return 0 - -case $state in - (exe_args) - if [[ -z $opt_args[(I)file-(-f|--file)] ]]; then - if [[ $CURRENT -eq 1 ]]; then - _wanted executables expl 'executable' _files -g '*(-*)' && ret=0 - else - _normal && ret=0 - fi - else - words=( ${(v)opt_args[(i)file-(-f|--file)]} "$words[@]" ) - (( CURRENT++ )) - _normal && ret=0 - fi -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ln b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ln deleted file mode 100644 index 9d5efcab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ln +++ /dev/null @@ -1,95 +0,0 @@ -#compdef ln gln zf_ln - -local curcontext="$curcontext" state line ret=1 variant -local -A opt_args - -local -a args opts=( -A '-*' ) -args=( - '(-i)-f[remove existing destination files]' - '-s[create symbolic links instead of hard links]' -) - -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help -case $variant; in - gnu) - opts=() - args=( - '(-b --backup)-b[create a backup of each existing destination file]' \ - '(-b --backup)--backup=[create a backup of each existing destination file]::method:(( - none\:"never create backups" - off\:"never create backups" - numbered\:"create numbered backup" - t\:"create numbered backup" - existing\:"same as numbered if numbered backups exist, otherwise same as simple" - nil\:"same as numbered if numbered backups exist, otherwise same as simple" - simple\:"always create simple backups" - never\:"always create simple backups"))' - '(-d -F --directory)'{-d,-F,--directory}'[allow the superuser to attempt to hard link directories]' - '(-f --force)'{-f,--force}'[remove existing destination files]' - '(-i --interactive)'{-i,--interactive}'[prompt before removing destination files]' - '(-L --logical)'{-L,--logical}'[create hard links to symbolic link references]' - '(-n --no-dereference)'{-n,--no-dereference}'[treat destination symbolic link to a directory as if it were a normal file]' - '(-P --physical)'{-P,--physical}'[create hard links directly to symbolic links]' - '(-r --relative)'{-r,--relative}'[create symbolic links relative to link location]' - '(-s --symbolic)'{-s,--symbolic}'[create symbolic links instead of hard links]' - '(-S --suffix)'{-S,--suffix=}'[override default backup suffix]:suffix' - '(-t --target-directory)'{-t,--target-directory=}'[specify directory in which to create the links]: :_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat destination as a normal file]' - '(-v --verbose)'{-v,--verbose}'[print name of each linked file]' - '--help[display usage information and exit]' - '--version[display version information and exit]') - ;; - zsh) - args+=( - '-d[attempt to hard link directories]' - {-h,-n}'[do not dereference destination]' - '(-f)-i[prompt before removing destination files]') - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - {-h,-n}'[do not dereference destination]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-F[remove existing destination directories]' - '(-f)-i[prompt before removing destination files]' - '-v[print name of each linked file]' - ) - ;| - dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '(-L)-P[create hard links directly to symbolic links]' - '(-P)-L[create hard links to symbolic link references]' - ) - ;| - dragonfly*|freebsd*|netbsd*) - args+=( - "-w[warn if source of a symbolic link doesn't currently exist]" - ) - ;; -esac - -_arguments -C -s -S $opts : \ - $args \ - ':link target:_files' \ - '*:: :->files' && ret=0 - -case $state in - (files) - if [[ $variant == gnu && -n ${opt_args[(I)-t|--target-directory]} ]]; then - _wanted files expl 'link target' _files && ret=0 - else - if (( CURRENT == 2 )); then - local expl - _wanted files expl 'additional link target or link name' _files && ret=0 - else - _alternative \ - 'link-targets:additional link target:_files' \ - 'target-directories:target directory:_directories' && ret=0 - fi - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_loadkeys b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_loadkeys deleted file mode 100644 index d0a87b6f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_loadkeys +++ /dev/null @@ -1,19 +0,0 @@ -#compdef loadkeys - -case $OSTYPE in - linux*) - _arguments \ - '(--clearcompose -c)'{--clearcompose,-c}'[clear kernel compose table]' \ - '(--default -d)'{--default,-d}'[load default keymap file]' \ - '(--help -h)'{--help,-h}'[display help information]' \ - '(--mktable -m)'{--mktable,-m}'[output a "defkeymap.c" to stdout]' \ - '(--clearstrings)'{--clearstrings,-s}'[clear kernel string table]' \ - '*'{--verbose,-v}'[print more details]' \ - ':keymap:_files -W /usr/share/keymaps' - ;; - solaris*) - _files -W /usr/share/lib/keytables - ;; - - *) _default;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locale b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locale deleted file mode 100644 index b2ee14ee..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locale +++ /dev/null @@ -1,85 +0,0 @@ -#compdef locale - -local curcontext="$curcontext" state state_descr line expl ret=1 -typeset -A opt_args; local -a specs aopts - -if _pick_variant gnu='(Free Soft|GNU|GLIBC)' unix --version; then - - local exargs="-? --help --usage -V --version" - - aopts=( -A "-*" -C -S -s ) - specs=( - '(- *)'{-\?,--help}'[display help information]' - '(- *)--usage[display a short usage message]' - '(- *)'{-V,--version}'[print program version]' - - set1 - "(-a --all-locales $exargs)"{-a,--all-locales}'[list all available locales]' - "(-v --verbose $exargs)"{-v,--verbose}'[display additional information]' - - set2 - "(-m --charmaps $exargs)"{-m,--charmaps}'[list all available charmaps]' - - set3 - "(-c --category-name $exargs)"{-c,--category-name}'[print also locale category]' - "(-k --keyword-name $exargs)"{-k,--keyword-name}'[print also keyword of each value]' - '*:name:->catkey' - ) - -elif [[ $OSTYPE == openbsd* ]]; then - - specs=( - '(-m)-a[list all available locales]' - '(-a)-m[list all available charmaps]' - '(-a -m)1:name:(charmap)' - ) - -else - - aopts=( -C -A "-*" ) - specs=( - - set1 - '-a[list all available locales]' - - set2 - '-m[list all available charmaps]' - - set3 - '-c[print also locale category]' - '-k[print also keyword of each value]' - '*:name:->catkey' - ) -fi - -_arguments $aopts : $specs && ret=0 - -if [[ $state == catkey ]]; then - typeset -aU cats keys - - case $OSTYPE in - *bsd*) - # keywords from comparing locale -k list on netbsd and freebsd - # the additional keywords freebsd supports will be added via - # the reassignment of keys - keys+=( - charmap decimal_point thousands_sep grouping radixchar thousep int_curr_symbol - currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign - negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes - n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space - int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn d_t_fmt d_fmt - t_fmt am_str pm_str t_fmt_ampm day_1 day_2 day_3 day_4 day_5 day_6 day_7 abday_1 - abday_2 abday_3 abday_4 abday_5 abday_6 abday_7 mon_1 mon_2 mon_3 mon_4 mon_5 mon_6 - mon_7 mon_8 mon_9 mon_10 mon_11 mon_12 abmon_1 abmon_2 abmon_3 abmon_4 abmon_5 - abmon_6 abmon_7 abmon_8 abmon_9 abmon_10 abmon_11 abmon_12 era era_d_fmt era_d_t_fmt - era_t_fmt alt_digits yesexpr noexpr yesstr nostr - );| - (free|net|dragonfly)bsd*) (( words[(I)-k] )) && keys+=(list);; - *) - cats=( ${${${(f)"$(locale)"}%=*}%(LANG|LANGUAGE|LC_ALL)} ) - ;; - esac - - keys=( $keys ${${(f)"$(locale -k $cats 2>/dev/null)"}%=*} ) - if [[ $OSTYPE == freebsd* ]] && (( words[(I)list] )); then - _message -e values prefix && ret=0 - else - _wanted values expl name compadd "$@" -a - cats keys && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_localedef b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_localedef deleted file mode 100644 index 57637e3e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_localedef +++ /dev/null @@ -1,92 +0,0 @@ -#compdef localedef - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -if _pick_variant gnu='(Free Soft|GNU|GLIBC)' unix --version; then - - local exargs="-? --help --usage -V --version" - _arguments -A "-*" -C -S -s \ - '(- *)'{-\?,--help}'[display help information]' \ - '(- *)--usage[display a short usage message]' \ - '(- *)'{-V,--version}'[print program version]' \ - "(-A --alias-file $exargs)"{-A+,--alias-file=}'[specify locale alias file]:alias file:_files' \ - "($exargs)--prefix=[specify path prefix]:prefix:_files" \ - "(-c --force $exargs)"{-c,--force}'[force write despite of warnings]' \ - "(-v --verbose $exargs)"{-v,--verbose}'[display additional information]' \ - "($exargs)--quiet[suppress messages and warnings]" \ - - set1 \ - "(-f --charmap $exargs)"{-f+,--charmap=}'[specify locale charmap file]:charmap:->charmap' \ - "(-i --inputfile $exargs)"{-i+,--inputfile=}'[specify locale definition file]:locale file:_files' \ - "(-u --repertoire-map $exargs)"{-u+,--repertoire-map=}'[specify repertoire map file]:repertoire map file:_files' \ - '1:path:_files' \ - - set2 \ - "(--list-archive $exargs)--list-archive[list locales in archive]" \ - - set3 \ - "(--delete-from-archive $exargs)--delete-from-archive[delete locale from archive]" \ - '*:locale:->locale' \ - - set4 \ - "(--add-to-archive $exargs)--add-to-archive[add locale to archive]" \ - "(--replace $exargs)--replace[replace locale in archive]" \ - "(--no-archive $exargs)--no-archive[use subdir not archive]" \ - '*:compiled path:_files -/' \ - && return 0 - - case "$state" in - charmap) - if [[ $words[-1] == */* ]]; then - _wanted charmaps expl charmap _files && ret=0 - else - typeset -a charmaps - charmaps=( ${(f)"$(locale -m)"} ) - _wanted charmaps expl charmap compadd -a charmaps && ret=0 - fi - ;; - locale) - typeset -a locales - local pref=${opt_args[--prefix]} - local p=${pref:+--prefix} - locales=( ${(f)"$(localedef --list-archive $p $pref)"} ) - _wanted locales expl locale compadd -a locales && ret=0 - ;; - esac - - return ret - -else - - typeset -a u_opt bsd_opts - [[ $OSTYPE != darwin* ]] && u_opt=( - '-u+[specify target codeset]:codeset:_files' - ) - [[ $OSTYPE == (freebsd*|dragonfly*) ]] && bsd_opts=( - '-D[create BSD-style output]' \ - '-U[ignore undefined character symbols]' \ - '-v[verbose debug output]' \ - '-w+[specify width file]:width file:_files' \ - ) - - _arguments -A "-*" -C \ - '-c[force write despite of warnings]' \ - '-f+[specify locale charmap file]:charmap:->charmap' \ - '-i+[specify locale definition file]:locale file:_files' \ - $u_opt \ - $bsd_opts \ - '1:path:_files' \ - && return 0 - - case "$state" in - charmap) - if [[ $words[-1] == */* ]]; then - _wanted charmaps expl charmap _files && ret=0 - else - typeset -a charmaps - charmaps=( ${(f)"$(locale -m)"} ) - _wanted charmaps expl charmap compadd -a charmaps && ret=0 - fi - ;; - esac - - return ret - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locales b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locales deleted file mode 100644 index a449ebe1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locales +++ /dev/null @@ -1,12 +0,0 @@ -#compdef -value-,LANG,-default- -value-,LANGUAGE,-default- -P -value-,LC_*,-default- - -local expl locales - -if (( $+commands[locale] )); then - locales=( $(_call_program locales locale -a) ) - [[ $OSTYPE = *-gnu ]] && locales=( ${locales/utf8/UTF-8} ) -else - locales=( /usr/lib/locale/*(:t) ) -fi - -_wanted locales expl locale compadd -a "$@" - locales diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locate deleted file mode 100644 index af07473b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_locate +++ /dev/null @@ -1,96 +0,0 @@ -#compdef locate mlocate slocate glocate - -local variant=$service -local -a args -[[ $service = locate ]] && - _pick_variant -r variant glocate=findutils mlocate=mlocate slocate=secure $OSTYPE -V -args=( '(-)'{-V,--version}'[display version information]' ) - -case $variant in - [mg]locate) - args+=( - '(-A --all)'{-A,--all}'[only print entries that match all patterns]' - '(-E --non-existing -e --existing)'{-e,--existing}'[restrict display to existing files]' - '(-c --count)'{-c,--count}'[output the number of matching entries]' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case distinctions in patterns]' - '(-w --wholename -b --basename)'{-w,--wholename}'[match entire file path (default)]' - '(-w --wholename -b --basename)'{-b,--basename}'[match only the basename of files in the database]' - '(-P -H --no-follow -L --follow)'{-P,-H,--nofollow}"[don't follow symbolic links]" - '(-P -H --no-follow -L --follow)'{-L,--follow}'[follow symbolic links to find existing files (default)]' - '(-0 --null)'{-0,--null}'[output separated by NUL characters]' - '(-S --statistics)'{-S,--statistics}'[show database statistics]' - ) - ;| - - (mlocate) - # -r/--regexp mean no normal arguments, so shouldn't complete - # -m and --mmap are ignored, so don't bother - # -s and --stdio likewise - args=( -s -S : $args - \*{-d,--database=}'[use alternative database]:database:_sequence -s \: _files' - '(-)'{-h,--help}'[display help information]' - '(-l -n --limit)'{-l,-n,--limit=}'[limit search results]:file limit' - '(-q --quiet)'{-q,--quiet}"[don't report errors]" - '(:)*'{-r,--regexp=}'[search for given basic regexp]:basic regexp' - '--regex[patterns are extended regexps]' - ) - ;; - - (slocate) - # -d can take path - # -e can take a comma-separated list of directories. - # -f should complete list of file system types like mount - args=( -s -S : $args - -u'[create slocate database starting at path /]' - -U'[create slocate database starting at given path]:directory:_files -/' - -c'[parse GNU locate updatedb with -u, -U]' - -e'[exclude directories with -u, -U]: : _dir_list -s,' - -f'[exclude file system types from db with -u, -U]:file system:_file_systems' - -l'[security level]:level:(0 1)' - -q'[quiet mode]' - -n'[limit search results]:file limit ' - -i'[case insensitive search]' - {-r,--regexp=}'[use basic regular expression]:regexp' - {-o,--output=}'[specify database to create]:database:_files' - {-d,--database=}'[specify database to search]:database:_files' - '(-)'{-h,--help}'[display help information]' - {-v,--verbose}'[display files when creating database]' - ) - ;; - - (glocate) - args=( -s : $args - \*{-d,--database=}'[use alternative database]:database:_files' - '(-E --non-existing -e --existing)'{-E,--non-existing}'[restrict display to nonexistent files]' - '(-l --limit)'{-l,--limit=}'[limit search results]:file limit: ' - '--max-database-age[specify database age at which warning should be issued]:age (days) [8]' - '(-p --print)'{-p,--print}'[include search results with statistics or count]' - \*{-r,--regex=}'[patterns are regular expressions]:regexp' - --regextype='[select type of regular expression]:regex type [basic]:(findutils-default awk egrep ed emacs gnu-awk grep posix-awk posix-basic posix-egrep posix-extended posix-minimal-basic sed)' - '(-)'--help'[display help information]' - ) - ;; - - (freebsd|openbsd|dragonfly|darwin)*) - args=( -s -S -A '-*' - '(-S)-c[output the number of matching file names]' - '(-S)-i[ignore case distinctions in pattern and database]' - '(-S)-l[limit output to specified number of file names]:file limit ' - '(- *)-S[show database statistics and exit]' - ) - ;| - openbsd*) - args+=( '(-S)-b[match only the basename of files in the database]' ) - ;| - (freebsd|dragonfly|darwin)*) - args+=( - '(-S)-0[separate file names by NUL characters]' - '(-S)-m[use mmap(2) instead of stdio(3) (default)]' - '(-S)-s[use stdio(3) instead of mmap(2)]' - ) - ;| - (*) args+=( '(-S)*-d[specify database to search]:database:_files' ) ;; - -esac - -_arguments $args '*: :_guard "^-*" pattern' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logger b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logger deleted file mode 100644 index 0d47d2f0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logger +++ /dev/null @@ -1,80 +0,0 @@ -#compdef logger - -local variant ign -local -a args common -local -a priorities - -_pick_variant -r variant linux=util-linux busybox=BusyBox $OSTYPE -V - -priorities=( {kern,user,mail,daemon,auth,syslog,lpr,news,uucp,cron,authpriv,ftp,ntp,security,console,local{0..7}}.{emerg,panic,alert,crit,err,error,warn,warning,notice,info,debug} ) -args=( "(--id)-i[log the logger command's pid]" ) -common=( - '(-f --file --journald *)'{-f+,--file=}'[log contents of specified file]:file:_files' - '(-s --stderr)'{-s,--stderr}'[output message to standard error as well]' - '(-P --port)'{-P+,--port}'[use specified port for UDP or TCP connection]:port [514]:_ports' - '(-p --priority)'{-p+,--priority}'[mark message with specified priority]:priority:_multi_parts . priorities' - '(-t --tag)'{-t+,--tag}"[specify tag to mark log line with]:tag [$USER]" -) - -case $variant in - (net|open)bsd*) - args+=( ${(M)common:#*\)-[fpst]*} - '-c[write the message to the console if unable to use syslogd(8)]' - ) - ;| - dragonfly*|freebsd*) - args+=( - '(-6)-4[use IPv4 addresses only]' - '(-4)-6[use IPv6 addresses only]' - '-A[send the message to all addresses]' - ) - ;| - darwin*|dragonfly*) args+=( ${(M)common:#*\)-[sfpt]*} ) ;| - freebsd*) - args+=( ${common:#*\)--*} - "-H+[set value for hostname in message header]:hostname [${HOST%%.*}]" - '-h+[write to specified remote syslog server or socket]: : _alternative - "hosts\:server\:_hosts" - "sockets\:socket\:_files -g \*\(=\)"' - '-S+[specify source address and port when using -h]: :_bind_addresses -0bh' - ) - ;; - dragonfly*) - args+=( '-h+[write to specified remote syslog server]:server:_hosts' ) - ;; - busybox) args=( ${(M)common:#*\)-[spt]*} ) ;; # no -i - solaris*) args+=( ${(M)common:#*\)-[fpt]*} ) ;; - netbsd*) - args+=( - '-d+[log this in the structured data (SD) field]:sd field' - '-m+[specify message ID used for the message]:message id' - '-n[open log file immediately]' - ) - ;; - linux) - (( $#words > 2 )) && ign='!' - args+=( $common - "(-i)--id=-[log the given id, or otherwise the pid]::id [$$]:_pids" - '(* -e --skip-empty)'{-e,--skip-empty}"[don't log empty lines when processing files]" - '--no-act[do everything except the write the log]' - '--octet-count[use rfc6587 octet counting]' - '(*)--prio-prefix[look for a prefix on every line read from stdin]' - '(-S --size)'{-S+,--size=}'[specify maximum size for a single message]:size [1KiB]' - '(-n --server)'{-n+,--server=}'[write to specified remote syslog server]:server:_hosts' - '(-T --tcp -d --udp)'{-T,--tcp}'[use TCP only]' - '(-d --udp -T --tcp)'{-d,--udp}'[use UDP only]' - '(--rfc5424 --msgid --sd-id --sd-param)--rfc3164[use the obsolete BSD syslog protocol]' - '(--rfc3164)--rfc5424=-[use the syslog protocol (default for remote)]::without:_sequence compadd - notime notq nohost' - '(--rfc3164)*--sd-id=[specify rfc5424 structured data ID]:id' - '(--rfc3164)*--sd-param=[specify rfc5424 structured data name=value]:data' - '(--rfc3164)--msgid=[set rfc5424 message id field]:message id' - '(-u --socket)'{-u,--socket=}'[write to specified Unix socket]:socket:compadd -f -M "r\:|_=* r\:|=*" ${${(M)${(f)"$(</proc/net/unix)"}\:#* /*}##* }' - '--socket-errors=-[print connection errors when using Unix sockets]::state:(on off auto)' - '(* -f --file)--journald=-[write journald entry]::file:_files' - "${ign}(- *)"{-h,--help}'[display usage information]' - "${ign}(- *)"{-V,--version}'[display version information]' - ) - ;; -esac - -_arguments -s -S -A "-*" $args '*: :_guard "^-*" message' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logical_volumes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logical_volumes deleted file mode 100644 index bbfa0923..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_logical_volumes +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local expl list names disp sep - -list=( $(lsvg -l $(lsvg)|sed -e '2d'|awk '/[^:]* / {if ( $7 != "N/A" ) print $1 ":" $7; else print $1}' ) ) -names=(${list%%:*}) -if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep " $list - disp=(-d list) -else - disp=() -fi -_wanted logicalvolumes expl 'logical volume' \ - compadd "$disp[@]" "$@" - "$names[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_login_classes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_login_classes deleted file mode 100644 index a2e6983a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_login_classes +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local expl login_classes - -login_classes=(${${(M)${(f)"$(</etc/login.conf)"}:#[^#[:blank:]]*}%%[:|]*}) -if [[ $OSTYPE = openbsd* ]]; then - login_classes+=(/etc/login.conf.d/*(N:t)) -fi - -_description login-classes expl 'login class' -compadd "$@" "$expl[@]" - $login_classes diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_look b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_look deleted file mode 100644 index be8cf8c1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_look +++ /dev/null @@ -1,34 +0,0 @@ -#compdef look - -local curcontext="$curcontext" state line expl args sep='+' ret=1 -typeset -A opt_args - -case $OSTYPE in - linux*) - args=( - '(2 -a --alternative)'{-a,--alternative}'[use alternative dictionary file]' - '(-d --alphanum)'{-d,--alphanum}'[dictionary order]' - '(-f --ignore-case)'{-f,--ignore-case}'[case insensitive]' - '(-t --terminate)'{-t+,--terminate=}'[specify termination character]:termination character' - '(-)'{-h,--help}'[display help information]' - '(-)'{-V,--version}'[display version information]' - ) - ;; - solaris*) sep='-' ;& - *) - args=( -A "-*" - "-t${sep}[specify termination character]:termination character" - '-f[case insensitive]' - '-d[dictionary order]' - ) - ;; -esac - -_arguments -C -s -S $args \ - '1:string:->string' \ - '2:dictionary file:_files' && ret=0 - -[[ -n "$state" && ! -prefix - ]] && _wanted values expl 'word prefix' \ - compadd - $(_call_program words $words[1] '"$PREFIX"') && return - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_losetup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_losetup deleted file mode 100644 index f5a7ec1b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_losetup +++ /dev/null @@ -1,47 +0,0 @@ -#compdef losetup -value-,LOOPDEV_DEBUG,-default- - -if [[ $service = *LOOPDEV_DEBUG* ]]; then - local expl - _wanted values expl value compadd all - return -fi - -local device offset - -device='1:device:_files -g "/dev/loop<->"' -offset=( {-o,--offset}'+[specify data start is offset]:offset (bytes)' ) - -_arguments -s -S \ - - '(H)'\ - {-V,--version}'[display version information]' \ - {-h,--help}'[display help]' \ - - 'info' \ - '(-v --verbose)'{-v,--verbose}'[verbose mode]' \ - '(-o --offset -a --all)'{-a,--all}'[show the status of all loop devices]' \ - '(-O --output --output-all)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd - name autoclear back-file back-ino back-maj\:min maj\:min offset partscan ro sizelimit dio log-sec' \ - '(-O --output)--output-all[output all columns]' \ - '(-J --json --raw -O --output -n --noheadings)'{-J,--json}'[use JSON --list output format]' \ - '(-l --list)'{-l,--list}'[list currently used loop devices]' \ - '(-J --json)--raw[raw output format]' \ - '(-n --noheadings -J --json)'{-n,--noheadings}"[don't print headings in --list output]" \ - - '(resize)' \ - {-c,--set-capacity}'[reread the size of the file associated with the loop device]' \ - - 'detach' \ - '(-)'{--delete,--detach,-d}'[detach from specified loop device]' \ - "$device" \ - - '(detach-all)' \ - {-D,--detach-all}'[detach all associated loop devices]' \ - - 'create' \ - '--direct-io[open backing file with O_DIRECT]::enable:(on off)' \ - '(-f --find 1)'{-f,--find}'[find the first unused loop device]' \ - '(-L --nooverlap)'{-L,--nooverlap}'[avoid possible conflict between devices]' \ - '(-P --partscan)'{-P,--partscan}'[scan the partition table of newly created loop devices]' \ - '--sizelimit[limit device to specified size]:size (bytes)' \ - '(-b --sector-size)'{-b+,--sector-size=}'[set logical sector size of loop device]:size (bytes)' \ - '--show[print device name after setup]' \ - '(-r --read-only)'{-r,--read-only}'[set up a read-only loop device]' \ - "(-f)$device" \ - '2:file:_files' \ - - 'assoc' \ - '(-j --associated)'{-j,--associated}'[show the status of all loop devices associated with an file]:associated file:_files' \ - "(-f)$device" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lp deleted file mode 100644 index ad7e9720..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lp +++ /dev/null @@ -1,295 +0,0 @@ -#compdef lp lpr lpq lprm lpoptions lpstat lpinfo lpadmin - -_lp_get_printer() -{ - # No reason to call _lp_get_printer when service == lpstat or lpinfo. Others - # matched below. - case $service in - (lpr|lpq|lprm) - [[ "$words" == (#I)*-P* ]] && printer="${${words##*(#I)-P( |)}%% *}" - ;; - (lp) - [[ "$words" == (#I)*-d* ]] && printer="${${words##*(#I)-d( |)}%% *}" - ;; - (lpadmin) - [[ "$words" == (#I)*-p* ]] && printer="${${words##*(#I)-p( |)}%% *}" - ;; - (lpoptions) - [[ "$words" == (#I)*-(d|p)* ]] && \ - printer="${${words##*(#I)-(d|p)( |)}%% *}" - ;; - esac -} - -_lp_job_options() -{ - local expl printer - local -a lopts_with_args lopts_no_args desc_opts - - # Generic options (from lp manual page) - lopts_with_args=(collate job-{hold-until,priority,sheets} media - number-up{,-layout} orientation-requested outputorder page-border - page-ranges sides) - - lopts_no_args=(fit-to-page mirror) - - if [[ $service == 'lpadmin' ]]; then - # Extra options from lpadmin man page. - lopts_with_args+=(cupsIPPSupplies cupsSNMPSupplies job-k-limit - job-page-limit job-quota-period job-sheets-default name name-default - port-monitor printer-error-policy printer-is-shared printer-op-policy) - fi - - _lp_get_printer - [[ -n "$printer" ]] && printer=(-p $printer) - - # The program specified by the style list-printer-options should list jobs in - # the same style as lpoptions -l. - if compset -P 1 '*='; then - # List values for the option - case ${IPREFIX%=} in - (media) - compadd "$@" a4 letter legal - ;; - (orientation-requested) - desc_opts=( - '4:rotated 90 degrees counter-clockwise' - '5:rotated 90 degrees clockwise' - '6:rotated 180 degrees') - _describe "orientation requested" desc_opts - ;; - (job-sheets(|-*)) - compadd "$@" /usr/share/cups/banners/*(:t) - ;; - (sides) - compadd "$@" one-sided two-sided-{long,short}-edge - ;; - (number-up) - _description -V option-o-1 expl "pages per sheet" - compadd "$expl[@]" 2 4 6 9 16 - ;; - (number-up-layout) - _description -V option-o-1 expl "layout" - compadd "$expl[@]" btlr btrl lrbt lrtb rlbt rltb tblr tbrl - ;; - (cupsIPPSupplies|cupsSNMPSupplies|printer-is-shared) - compadd "$@" true false - ;; - (printer-error-policy) - compadd "$@" abort-job retry-job retry-current-job stop-printer - ;; - (Duplex|BRDuplex) - desc_opts=( - "DuplexTumble:flip short side" - "DuplexNoTumble:flip long side" - "None") - _describe "duplex option" desc_opts - ;; - - (*) - compadd "$@" \ - $(_call_program list-printer-options lpoptions $printer -l | \ - grep "^${IPREFIX%=}" | cut -d: -f2 | tr -d \* ) - ;; - esac - else - # List options - local eq_suffix - - # Don't add an '=' suffix when completing lpoptions -r - if [[ $service == lpoptions && $words[CURRENT-1] == "-r" ]]; then - eq_suffix=() - else - eq_suffix=(-S '=') - fi - - _description lpopts expl "generic printer option" - compadd "$expl[@]" $eq_suffix $lopts_with_args - compadd "$expl[@]" $lopts_no_args - - _description printeropts expl "printer specific option" - compadd "$expl[@]" $eq_suffix \ - $(_call_program list-printer-options \ - lpoptions $printer -l | cut -d/ -f1) - fi -} - -_lp_list_jobs() -{ - local ret=1 printer shown - local -a list disp strs - - _lp_get_printer - [[ -n "$printer" ]] && printer=(-P $printer) - - list=( ${(M)"${(f@)$(_call_program jobs lpq $printer 2> /dev/null)}":#[0-9]*} ) - - if (( $#list )); then - _tags users jobs - - while _tags; do - if _requested users; then - strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" ) - if [[ -z "$shown" ]] && - zstyle -T ":completion:${curcontext}:users" verbose; - then - disp=(-ld list) - shown=yes - else - disp=() - fi - _all_labels users expl user compadd "$disp[@]" -a strs || - _users && ret=0 - fi - if _requested jobs; then - strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" ) - if [[ -z "$shown" ]] && - zstyle -T ":completion:${curcontext}:jobs" verbose; then - disp=(-ld list) - shown=yes - else - disp=() - fi - _all_labels jobs expl job compadd "$disp[@]" -a strs && ret=0 - fi - (( ret )) || return 0 - done - else - _message 'no print jobs' - fi - return 1 -} - - -_lp() -{ - case $service in - (lpq) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '(-a)-P+[destination printer]:printer:_printers' \ - '(-P)-a[all printers]' \ - '-l[long listing]' \ - '*:poll interval (+seconds)' - ;; - - (lprm) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '-P+[destination printer]:printer:_printers' \ - '*:job id:_lp_list_jobs' - ;; - - (lpoptions) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '(-p -l -r -x)-d+[set default printer]:printer:_printers' \ - '(-l -x)*-o:job option:_lp_job_options' \ - '(-d -x)-p+[destination printer for options]:printer:_printers' \ - '(-d -o -r -x)-l[list options]' \ - '(-d -l -x)*-r:remove option:_lp_job_options' \ - '(-d -l -r -o)-x+[remove all options]:printer:_printers' - ;; - - (lpstat) - _arguments \ - '-E[force encryption]' \ - '-R[shows print job ranking]' \ - '-U:username (for connection to server):_users' \ - '-W:which job:(completed not-completed)' \ - '-a+[show accepting state]:printer:_printers' \ - '-c:printer class' \ - '-d[show current default destination]' \ - '-h:hostname (alternate server):_hosts' \ - '-l[long listing]' \ - '-o+[destinations]:printer:_printers' \ - '-p+:printer:_printers' \ - '-r[CUPS server running status]' \ - '-s[status summary]' \ - '-t[all status info]' \ - '-u[list jobs by users]:user:_users' \ - '-v+[show devices]:printer:_printers' - ;; - - (lpr) - _arguments \ - '-E[force encryption]' \ - '-H:hostname (alternate server):_hosts' \ - '(-C -J -T)'-{C,J,T}':job name' \ - '-P+[destination printer]:printer:_printers' \ - '-U:username (for connection to server):_users' \ - '-#[copies]:copies (1--100)' \ - '-h[disables banner printing]' \ - '-l[raw file]' \ - '-m[send an email on job completion]' \ - '*-o:print job option:_lp_job_options' \ - '-p[format with shaded header incl. date, time etc.]' \ - '-q[hold job for printing]' \ - '-r[delete files after printing]' \ - '*:PS/PDF file:_pspdf' - ;; - - (lp) - _arguments \ - '-E[force encryption]' \ - '-U[username (for connection to server)]:username:_users' \ - '-c[(OBSOLETE) copy to spool dir before printing]' \ - '-d+[destination printer]:printer:_printers' \ - '-h:hostname (alternate server):_hosts' \ - '-i[job id to modify]:job id' \ - '-m[send an email on job completion]' \ - '-n[copies]:copies (1--100)' \ - '*-o:print job option:_lp_job_options' \ - '-q[job priority -- 1 (lowest) to 100 (highest)]:priority' \ - "-s[don't report resulting job IDs]" \ - '-t[set the job name]:job name' \ - '-u[job submission username]:username:_users' \ - '-H[time to print]:print time (or enter hh\:mm):(hold immediate restart resume)' \ - '-P:page range list' \ - '*:PS/PDF file:_pspdf' - ;; - - (lpinfo) - _arguments \ - '-E[force encryption]' \ - '-U[username (for connection to server)]:username:_users' \ - '-h:hostname (alternate server):_hosts' \ - '-l[show a "long" listing of devices or drivers]' \ - {--exclude-schemes,--include-schemes}'[device/PPD schemes to filter from results]:scheme-list' \ - '(-v --timeout)--device-id[IEEE-1284 device ID to match]:device-id-string' \ - '(-v --timeout)--language:locale' \ - '(-v --timeout)--product[product to match]:name' \ - '(-v --timeout)--make-and-model[make and model to match]:name' \ - '(-v --timeout)-m[list available drivers]' \ - '(-m --device-id --language --make-and-model --product)--timeout[timeout when listing devices with -v]:timeout (seconds)' \ - '(-m --device-id --language --make-and-model --product)-v[list available devices]' - ;; - - (lpadmin) - _arguments \ - '-E[force encryption/enable destination]' \ - '-U[username (for connection to server)]:username:_users' \ - '-h:hostname (alternate server):_hosts' \ - '(-p -R -x -o)-d+[default printer]:printer:_printers' \ - '(-d -x)-p+[configure printer]:printer:_printers' \ - '(-p -R -d -o)-x+[delete printer]:printer:_printers' \ - '(-x -d)-R[name-default]:name-default' \ - '-c:printer class' \ - '-m:model' \ - '(-x -d)*-o:option:_lp_job_options' \ - '-r[remove from class]:class' \ - '-u[access policy]:access policy' \ - '-v[device-uri of printer queue]:device-uri' \ - '-D[text description of destination]:info' \ - '-L[location of the printer]:location' \ - '-P[PPD file to use]:PPD file:_files "*.(#i)ppd(-.)"' - esac -} - -_lp "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ls deleted file mode 100644 index df14e7e2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ls +++ /dev/null @@ -1,208 +0,0 @@ -#compdef ls gls - -local arguments is_gnu datef - -if ! _pick_variant gnu=gnu unix --help; then - arguments=( - '(-A)-a[list entries starting with .]' - '(-a)-A[list all except . and ..]' - '-d[list directory entries instead of contents]' - '-L[list referenced file for sym link]' - '-R[list subdirectories recursively]' - - '(-k)-h[print sizes in human readable form]' - '(-h)-k[print sizes in kilobytes]' - - '-i[print file inode numbers]' - '(-l -g -1 -C -m -x)-l[long listing]' - '(-l -g -C -m -x)-1[single column output]' - '(-l -g -1 -m -x)-C[list entries in columns sorted vertically]' - '(-l -g -1 -C -x)-m[comma separated]' - '(-l -g -1 -C -m)-x[sort horizontally]' - - '-s[display size of each file in blocks]' - - '(-u)-c[status change time]' - '(-c)-u[access time]' - - '-r[reverse sort order]' - - '(-t)-S[sort by size]' - '(-S)-t[sort by modification time]' - - '(-p)-F[append file type indicators]' - '(-F)-p[append file type indicators for directory]' - - '-n[numeric uid, gid]' - - '(-B -b -w -q)-q[hide control chars]' - - '*: :_files' - ) - if [[ "$OSTYPE" = (netbsd*|dragonfly*|freebsd*|openbsd*|darwin*) ]]; then - arguments+=( - '-T[show complete time information]' - '(-a -A -r -S -t)-f[output is not sorted]' - ) - fi - if [[ $OSTYPE = (netbsd*|dragonfly*|freebsd*|openbsd*) ]]; then - arguments+=( '-o[display file flags]' ) - fi - if [[ $OSTYPE = (netbsd*|dragonfly*|freebsd*|darwin*) ]]; then - arguments+=( - '(-B -b -w -q)-B[print octal escapes for control characters]' - '(-B -b -w -q)-b[as -B, but use C escape codes whenever possible]' - '(-B -b -w -q)-w[print raw characters]' - '-W[display whiteouts when scanning directories]' - ) - fi - if [[ $OSTYPE = (netbsd*|openbsd*|darwin*|solaris*) ]]; then - arguments+=( - '(-l -1 -C -m -x)-g[long listing but without owner information]' - ) - fi - if [[ $OSTYPE = netbsd* ]]; then - arguments+=( - '-M[output file sizes in comma-separated form]' - '-O[output only leaf (non-directory) files]' - '-P[print full pathname for each file]' - "-X[don't cross mount points when recursing]" - ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*|openbsd*|darwin*) ]]; then - arguments+=( '-H[follow symlinks on the command line]' ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*|darwin*) ]]; then - arguments+=( - '-G[enable colorized output]' - '-P[do not follow symlinks]' - ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*) ]]; then - arguments+=( - '(-A)-I[prevent -A from being automatically set for the super-user]' - '(-1 -C -m -x)-D+[specify format for date]:format: _date_formats' - ) - fi - if [[ $OSTYPE = dragonfly* ]]; then - arguments+=( - '-_[use GMT based date and time output with nanotime timestamp]' - '-y[display FSMID in long listing]' - ) - fi - if [[ $OSTYPE = (freebsd*|darwin*) ]]; then - arguments+=( '(-c -u)-U[file creation time]' ) - fi - if [[ $OSTYPE = freebsd* ]]; then - arguments+=( - '-,[print file sizes grouped and separated by thousands]' - '-y[with -t, sort filenames in the same order as the time]' - '-Z[display MAC label]' - '--color=-[control use of color]:color:(never always auto)' - ) - fi - if [[ $OSTYPE = darwin* ]]; then - arguments+=( - '-@[display extended attribute keys and sizes in long listing]' - '-e[display ACL in long listing]' - '(-l -1 -C -m -x)-o[long listing but without group information]' - '-O[display file flags]' - '-v[print raw characters]' - ) - fi - if [[ $OSTYPE = solaris* ]]; then - arguments+=( - '(-q)-b[print octal escapes for control characters]' - '(-l -1 -C -m -x)-o[long listing but without group information]' - '(-l -t -s -r -a)-f[interpret each argument as a directory]' - '(-E -l)-e[long listing with full and consistent date/time]' - '(-e -l)-E[long listing with ISO format date/time]' - '-H[follow symlinks on the command line]' - '-v[long listing with verbose ACL information]' - '-V[long listing with compact ACL information]' - '-@[long listing with marker for extended attribute information]' - ) - fi -else - [[ $PREFIX = *+* ]] && datef='formats:format: _date_formats' - arguments=( - '(--all -a -A --almost-all)'{--all,-a}'[list entries starting with .]' - '(--almost-all -A -a --all)'{--almost-all,-A}'[list all except . and ..]' - '--author[print the author of each file]' - '(--ignore-backups -B)'{--ignore-backups,-B}"[don't list entries ending with ~]" - '(--directory -d)'{--directory,-d}'[list directory entries instead of contents]' - '(--dired -D)'{--dired,-D}"[generate output designed for Emacs' dired mode]" - '*'{--ignore=,-I+}"[don't list entries matching pattern]:pattern: " - '(--dereference -L --dereference-command-line -H --dereference-command-line-symlink-to-dir)'{--dereference,-L}'[list referenced file for sym link]' - '(--dereference -L --dereference-command-line -H --dereference-command-line-symlink-to-dir)'{--dereference-command-line,-H}'[follow symlink on the command line]' - '(--dereference -L --dereference-command-line -H)'--dereference-command-line-symlink-to-dir - '(--recursive -R)'{--recursive,-R}'[list subdirectories recursively]' - - '(--no-group -G)'{--no-group,-G}'[inhibit display of group information]' - '(--block-size --human-readable -h --si --kilobytes -k)'{--human-readable,-h}'[print sizes in human readable form]' - '(--block-size --human-readable -h --si --kilobytes -k)--si[sizes in human readable form; powers of 1000]' - '(--inode -i)'{--inode,-i}'[print file inode numbers]' - - '(--format -l -g -o -1 -C -m -x)-l[long listing]' - '(--format -l -1 -C -m -x)-g[long listing but without owner information]' - --group-directories-first - '(--format -l --no-group -G -1 -C -m -x)-o[no group, long]' - '(--format -l -g -o -C -m -x)-1[single column output]' - '(--format -l -g -o -1 -m -x)-C[list entries in columns sorted vertically]' - '(--format -l -g -o -1 -C -x)-m[comma separated]' - '(--format -l -g -o -1 -C -m)-x[sort horizontally]' - '(-l -g -o -1 -C -m -x)--format=[specify output format]:format:(verbose long commas horizontal across vertical single-column)' - - '(--size -s -f)'{--size,-s}'[display size of each file in blocks]' - - '(--time -u)-c[status change time]' - '(--time -c)-u[access time]' - '(-c -u)--time=[specify time to show]:time:(ctime status use atime access)' - '--time-style=[show times using specified style]:style: _alternative "time-styles\:time style\:(full-iso long-iso iso locale)" $datef' - - '(-a --all -U -l --format -s --size -t --sort --full-time)-f[unsorted, all, short list]' - '(--reverse -r -U -f)'{--reverse,-r}'[reverse sort order]' - - '(--sort -t -U -v -X)-S[sort by size]' - '(--sort -S -U -v -X)-t[sort by modification time]' - '(--sort -S -t -v -X)-U[unsorted]' - '(--sort -S -t -U -X)-v[sort by version (filename treated numerically)]' - '(--sort -S -t -U -v)-X[sort by extension]' - '(-S -t -U -v -X)--sort=[specify sort key]:sort key:(size time none version extension)' - - '--color=-[control use of color]:color:(never always auto)' - "*--hide=[like -I, but overridden by -a or -A]:pattern: " - '--hyperlink=[output terminal codes to link files using file::// URI]::when:(none auto always)' - '(--classify -F --indicator-style -p --file-type)'{--classify,-F}'[append file type indicators]' - '(--file-type -p --indicator-style -F --classify)--file-type[append file type indicators except *]' - '(--file-type -p --indicator-style -F --classify)-p[append / to directories]' - '(-F --classify -p --file-type)--indicator-style=[specify indicator style]:indicator style:(none file-type classify slash)' - - '(-f)--full-time[list both full date and full time]' - - '(--block-size --human-readable -h --si --kilobytes -k)'{--kilobytes,-k}'[use block size of 1k]' - '(--human-readable -h --si --kilobytes -k)--block-size=[specify block size]:block size (bytes):(K M G T P E Z Y KB MB TB PB EB ZB YB)' - - '(--numeric-uid-gid -n)'{--numeric-uid-gid,-n}'[numeric uid, gid]' - '(--tabsize -T)'{--tabsize=,-T+}'[specify tab size]:tab size' - '(--width -w)'{--width=,-w+}'[specify screen width]:screen width' - - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--escape,-b}'[print octal escapes for control characters]' - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--literal,-N}'[print entry names without quoting]' - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--quote-name,-Q}'[quote names]' - '(-b --escape -N --literal -Q --quote-name)--quoting-style=[specify quoting style]:quoting style:(literal shell shell-always c escape clocale locale)' - - '(--hide-control-chars -q --show-control-chars)'{--hide-control-chars,-q}'[hide control chars]' - '(-q --hide-control-chars)--show-control-chars' - '(- :)--help[display help information]' - '(- :)--version[display version information]' - '*:file:_files' - ) - if [[ $OSTYPE = linux* ]]; then - arguments+=( - '(-Z --context)'{-Z,--context}'[print any security context of each file]' - ) - fi -fi - -_arguments -s -S : $arguments diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsattr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsattr deleted file mode 100644 index def0bd3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsattr +++ /dev/null @@ -1,11 +0,0 @@ -#compdef lsattr - -_arguments -s -S : \ - '-a[show all files, including hidden ones]' \ - '-d[list directory entries instead of contents]' \ - '-l[use long option names]' \ - "-p[show file's project number]" \ - '-R[act recursively]' \ - '-V[display version information]' \ - "-v[show file's version/generation number]" \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsblk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsblk deleted file mode 100644 index 8a9bc18b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsblk +++ /dev/null @@ -1,66 +0,0 @@ -#compdef lsblk - -local sep ret=1 -local -a values dedup suf -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C -s -S \ - '(H -E --dedup)'{-E+,--dedup=}'[de-duplicate output by specified column]:column:->columns' \ - '(H -a --all)'{-a,--all}'[print all devices]' \ - '(H -b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' \ - '(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \ - '(H -I --include)*'{-e,--exclude}'[exclude devices by major number]:major device number:->majorlist' \ - '(H -e --exclude)*'{-I+,--include=}'[show only devices with specified major numbers]:major device number:->majorlist' \ - '(H -n --noheadings)'{-n,--noheadings}"[don't print headings]" \ - '(H -p --paths)'{-p,--paths}'[print complete device path]' \ - '(H -s --inverse)'{-s,--inverse}'[reverse dependency order]' \ - '(H -x --sort)'{-x+,--sort=}'[sort output by specified column]:column:->columns' \ - '(H)--sysroot=[use specified directory as system root]:directory:_directories' \ - '*:device:_files -g "*(-%b)" -P / -W /' \ - + fields \ - '(H -D --discard -o --output -O --output-all)'{-D,--discard}'[output discard capabilities]' \ - '(H -z --zoned -o --output -O --output-all)'{-z,--zoned}'[output zone model]' \ - '(H -f --fs -o --output -O --output-all)'{-f,--fs}'[output info about filesystems]' \ - '(H -m --perms -o --output -O --output-all)'{-m,--perms}'[output info about permissions]' \ - '(H -S --scsi -o --output -O --output-all)'{-S,--scsi}'[output info about SCSI devices]' \ - '(H -t --topology -o --output -O --output-all)'{-t,--topology}'[output info about topology]' \ - '(H fields)'{-o+,--output=}'[specify output columns]:output column:->columnlist' \ - '(H fields)'{-O,--output-all}'[output all columns]' \ - + '(format)' \ - '(H)'{-i,--ascii}'[output ascii characters only]' \ - '(H)'{-J,--json}'[use JSON output format]' \ - '(H)'{-l,--list}'[use list format output]' \ - '(H)'{-T+,--tree=}'[use tree format output]:column:->columns' \ - '(H)'{-P,--pairs}'[use key="value" output format]' \ - '(H)'{-r,--raw}'[use raw output format]' \ - + 'H' \ - '(* -)'{-h,--help}'[display help information]' \ - '(* -)'{-V,--version}'[display version information]' && ret=0 - -case $state in - columnlist) - compset -P '+' || _describe -t list-prefixes prefix \ - '( +:"not replace but extend the list" )' -S '' && ret=0 - ;| - *list) - dedup=( ${(Ms.,.)PREFIX##*,} ${(Ms.,.)SUFFIX%%,*} ) - suf=( -qS , ) - compset -S ',*' && suf=() - compset -P '*,' - ;| - column*) - values=( - ${${${${(f)"$(_call_program columns lsblk -h)"}[(r)Available*,-2]## #}[2,-1]//:/\\:}/ /:} - ) - _describe -t fields column values -M 'm:{a-z}={A-Z}' $suf -F dedup && ret=0 - ;; - major*) - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - values=( ${${${(f)"$(</proc/devices)"}[(r)Block*,-1]## #}[2,-1]/ /:} ) - zformat -a values " $sep " $values - _wanted -V devices expl 'major device number' compadd $suf -d values -F dedup ${values%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lscfg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lscfg deleted file mode 100644 index f9e8f15c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lscfg +++ /dev/null @@ -1,22 +0,0 @@ -#compdef lscfg - -local state line expl curcontext="$curcontext" disp list devs sep - -_arguments -C -s \ - '-l[display device information for named device]:device:->device' \ - '-v[display vital product data for physical devices]' && return 0 - -if [[ "$state" = device ]]; then - devs=( ${${${${(f)"$(lscfg)"}[6,-1]:# *}##??}/ ##[^ ]# #/:} ) - if zstyle -T ":completion:${curcontext}:devices" verbose; then - zstyle -s ":completion:${curcontext}:devices" list-separator sep || sep=-- - zformat -a list " $sep " "$devs[@]" - disp=(-ld list) - else - disp=() - fi - _wanted devices expl 'device' compadd "$disp[@]" - "${devs[@]%%:*}" - return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsdev b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsdev deleted file mode 100644 index c54ed763..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsdev +++ /dev/null @@ -1,38 +0,0 @@ -#compdef lsdev - -local curcontext="${curcontext}" state line expl - -_arguments -C \ - '(-P)-C[list info about device in customized devices object class]' \ - '(-C -l)-P[list info about device in predefined object class]' \ - '-c[specify a device class]:device class:->classes' \ - '-f[read flags from file]:file:_files' \ - '-F[specify output format]:format:->columnnames' \ - '-H[display headers above columns]' \ - '-h[display command usage]' \ - '(-P)-l[specify device logical name]:device logical name' \ - '-r[display set of values in a column]:column name:->columnnames' \ - '(-P)-S[specify a device state]:device state:(Available Defined Stopped)' \ - '-s[specify a device subclass]:device subclass:->subclasses' \ - '-t[specify a device type name]:device type name:->devtypes' && return 0 - -case $state in - classes) - _wanted devclasses expl 'device class name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r class) - ;; - subclasses) - _wanted devsubclasses expl 'device subclass name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r subclass) - ;; - devtypes) - _wanted devtypes expl 'device type name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r type) - ;; - columnnames) - [[ $words[CURRENT-1] = -F ]] && compset -P '*[^a-zA-Z]' - _wanted devcolumnnames expl 'column name' \ - compadd - ${(s: :)words[(r)-C]:+name status location} \ - class subclass description type - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lslv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lslv deleted file mode 100644 index 5145c48c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lslv +++ /dev/null @@ -1,8 +0,0 @@ -#compdef lslv - -_arguments -C -s \ - '(-l -m)-p[display logical volume allocation map for the physical volume]:pv:_physical_volumes' \ - '(-p)-l[list physical volumes in logical volume]' \ - '(-p)-m[list partition numbers]' \ - '-n[accesses information from the descriptor area of physical volume]:pv:_physical_volumes' \ - '1:lv: _logical_volumes' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsns b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsns deleted file mode 100644 index 994101d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsns +++ /dev/null @@ -1,18 +0,0 @@ -#compdef lsns - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -s -S \ - '(-J --json)'{-J,--json}'[use JSON output format]' \ - '(-l --list)'{-l,--list}'[use list format output]' \ - '(-n --noheadings)'{-n,--noheadings}"[don't print headings]" \ - '(-o --output)'{-o,--output}'[define which output columns to use]:column:_sequence compadd -M "m\:{a-z}={A-Z}" - NS TYPE PATH NPROCS PID PPID COMMAND UID USER NETNSID NSFS' \ - '(-p --task)'{-p+,--task=}'[print process namespaces]:process id:_pids' \ - '(-r --raw)'{-r,--raw}'[use the raw output format]' \ - '(-u --notruncate)'{-u,--notruncate}"[don't truncate text in columns]" \ - '(-W --nowrap)'{-W,--nowrap}"[don't use multi-line representation]" \ - '(-t --type)'{-t+,--type=}'[filter by namespace type]:namespace type:(mnt net ipc user pid uts cgroup)' \ - "$ign(- *)"{-h,--help}'[display usage information]' \ - "$ign(- *)"{-V,--version}'[display version information]' \ - '*: :_guard "^-*" namespace' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsof b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsof deleted file mode 100644 index 8afb55e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsof +++ /dev/null @@ -1,127 +0,0 @@ -#compdef lsof - -local curcontext="$curcontext" ret=1 -local -a state line expl args vals fields alts suf hsuf pref - -case $OSTYPE in - linux*) - args=( - '-E[display endpoint info for pipes, sockets and pseudoterminal files but not files of the endpoints]' - '+E[display endpoint info for pipes, sockets and pseudoterminal files including files of the endpoints]' - '-X[skip reporting of info on network connections]' - ) - ;; - solaris*) - args=( - '-X[include deleted files]' - '-z[zone information]::zone:_zones' - ) - ;; -esac - -_arguments -C -s -S $args \ - '(-)'{-\?,-h}'[list help]' \ - '-a[AND selections]' \ - '-b[avoid kernel blocks]' \ - '-C[disable reporting of path name components]' \ - '+c[truncate command name to specified characters]:characters' \ - '-c[list files with specified command name beginning]:command name' \ - '+d[search for open instances for contents of specified dir]:search directory:_files -/' \ - '-d[specify list of file descriptors to exclude/include]:file descriptors:->filedes' \ - '+D[recursively search from specified dir]:search directory:_files -/' \ - '-D[direct use of device cache file]:function:((\?\:report\ device\ cache\ file\ paths b\:build\ the\ device\ cache\ file i\:ignore\ the\ device\ cache\ file r\:read\ the\ device\ cache\ file u\:read\ and\ update\ the\ device\ cache\ file))' \ - '*-+e[exempt filesystem from blocking kernel calls]:file system:_directories' \ - '-f[inhibit listing of kernel file structure info]::info type:->file-structures' \ - '+f[enable listing of kernel file structure info]::info type:->file-structures' \ - '-F[select output fields]:fields:->fields' \ - '-g[select by process group id]::process group id:_sequence -s , _pgids' \ - '(*)*-i[select internet files]::address:->addresses' \ - '-K+[select listing of tasks of processes]::value:((i\:ignore\ tasks))' \ - '-k[specify kernel name list file]:kernel file:_files' \ - '-l[inhibit conversion of UIDs to user names]' \ - '-L[list no link counts]' \ - '+L[list all link counts]::max link count for listed files' \ - '-m[specify kernel memory file]:kernel memory file:_files' \ - '-M[disable reporting of portmapper registrations]' \ - '+M[enable reporting of portmapper registrations]' \ - '-n[inhibit conversion of network numbers to hostnames]' \ - '-N[select listing of NFS files]' \ - '(-s)-o[list file offset]::digits for file offset' \ - '-O[avoid overheads of bypassing potential blocking]' \ - '-P[inhibit conversion of port numbers to port names]' \ - '-p[list files for specified processes]:process ID:_sequence -s , _pids' \ - '-r[repeat listing endlessly]::delay (seconds)' \ - '+r[repeat listing until no files listed]::delay (seconds)' \ - '-R[list parent PID]' \ - '(-o)-s+[list file size or exclude TCP/UDP files by state]::state:->states' \ - '-S[specify timeout for kernel functions that might deadlock]:timeout (seconds)' \ - '-T[select reporting of TCP/TPI info]::info type:((q\:queue\ length\ reporting s\:state\ reporting w\:window\ size\ reporting))' \ - '(+w -w)-t[terse output]' \ - '-u[list files owned by specified users]:user:_users -S,' \ - '-U[list Unix domain socket files]' \ - '(-)-v[list version info]' \ - '-V[indicate unsuccessfully searched for items]' \ - '(-t)+w[suppress warnings]' \ - '(-t)-w[enable warnings]' \ - '-x[cross filesystems/traverse symlinks with +d/+D]::type:((f\:filesystems s\:symlinks))' \ - '*:file:_files' && ret=0 - -case $state in - addresses) - if compset -P 1 '*:'; then - _ports && ret=0 - else - if compset -P 1 '*@'; then - pref=() - else - pref=( -P @ ) - suf=( -qS @ ) - [[ $PREFIX = (#i)(4|6|tcp|udp)* ]] || alts=( 'ip-versions:IP version:(4 6)' ) - compset -P '[46]' - alts+=( 'protocols:protocol:compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP' ) - fi - if compset -S '@*'; then - suf=() - else - hsuf=( -qS : ) - compset -S ':*' && hsuf=() - alts+=( "hosts:host:_hosts $pref $hsuf" ) - fi - - _alternative $alts && ret=0 - fi - ;; - fields) - fields=( ${${${${(f)"$($words[1] -F \? 2>&1)"}[2,-1]#??}// ##/:}:#(#s)[${PREFIX:-:}]:*} ) - compset -P '*' - _describe -t fields "field" fields -S '' && ret=0 - ;; - filedes) - _sequence -s , _wanted -x file-descriptors expl "file descriptor" compadd - \ - cwd err jld ltz mem mmap pd rtd tr txt v86 && ret=0 - ;; - file-structures) - vals=( - 'g[file flag abbreviations]' - 'G[file flags in hexadecimal]' - ) - [[ $OSTYPE != linux* ]] && vals+=( - 'c[file structure use count]' - 'f[file structure address]' - 'n[file structure node address]' - ) - _values 'kernel file structures' $vals && ret=0 - ;; - states) - if compset -P 1 '*:'; then - _sequence _wanted states expl state compadd - -M 'm:{a-z}={A-Z}' \ - CLOSED IDLE BOUND LISTEN ESTABLISHED SYN_SENT SYN_RCDV ESTABLISHED \ - CLOSE_WAIT FIN_WAIT1 CLOSING LAST_ACK FIN_WAIT_2 TIME_WAIT && ret=0 - else - compset -S ':*' || suf=( -qS : ) - _wanted protocols expl protocol compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lspv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lspv deleted file mode 100644 index 85b116cc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lspv +++ /dev/null @@ -1,9 +0,0 @@ -#compdef lspv - -_arguments -C -s \ - '(-p -M)-l[list logical volumes on physical volume]' \ - '(-l -M)-p[list partitions on physical volume]' \ - '(-l -p)-M[list mapping of physical and logical partition numbers]' \ - '-n[specify physical volume to access variable descriptor from]:physical volume:_physical_volumes' \ - '-v[specify volume group id to access info based on]:volume group id' \ - '1:physical volume:_physical_volumes' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsusb b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsusb deleted file mode 100644 index 129309b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsusb +++ /dev/null @@ -1,35 +0,0 @@ -#compdef lsusb - -local usbidsline vendorid pair ret=1 -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C \ - '(-v --verbose -t --tree)'{-v,--verbose}'[be verbose]' \ - '-s+[filter devices by bus and/or device number]:bus and/or devnum to show' \ - '-d+[filter devices by vendor/product ID]:vendor and product to show:->vendorproduct' \ - '-D+[display only specified device]:device:_files -g "*(-%)" -P / -W /' \ - '(-t --tree -v --verbose)'{-t,--tree}'[dump the physical USB device hierarchy as a tree]' \ - '(-)'{-V,--version}'[print version information]' \ - '(-)'{-h,--help}'[print help information]' && ret=0 - -if [[ -n $state && ${+_lsusb_vendors} -eq 0 ]]; then - typeset -A _lsusb_vendors _lsusb_devices - cat /usr/share/(misc|hwdata)/usb.ids | while IFS="" read usbidsline - do - case "$usbidsline" in - ((#b)([0-9a-f]##) ##(*)) - vendorid="$match[1]" - _lsusb_vendors[$vendorid]="$match[2]" - ;; - ( (#b)([0-9a-f]##) ##(*))) - pair="$vendorid:$match[1]" - _lsusb_devices[${pair}]="$match[2]" - ;; - esac - done -fi - -_wanted products expl 'vendor ID:product ID' compadd -k _lsusb_devices && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsvg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsvg deleted file mode 100644 index 028a670b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lsvg +++ /dev/null @@ -1,10 +0,0 @@ -#compdef lsvg - -_arguments -C -s \ - '(-i -l -M -p)-o[lists only active volume groups]' \ - '(-i -l -M -p)-n[specify physical volume to access variable descriptor from]:physical volume:_physical_volumes' \ - '(-o -n)-i[reads volume group names from standard input]' \ - '(-o -n -M -p)-l[list logical volumes in volume group]' \ - '(-o -n -l -p)-M[list mapping of physical and logical partition numbers]' \ - '(-o -n -l -M)-p[list physical volumes used by volume group]' \ - '*:volume group:_volume_groups' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ltrace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ltrace deleted file mode 100644 index b60f8c35..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ltrace +++ /dev/null @@ -1,35 +0,0 @@ -#compdef ltrace - -local root hlp="-h --help -V --version" - -(( EUID )) && root='!' - -_arguments -s -S $args \ - "(-c -a --align $hlp)"{-a+,--align=}"[align return values in a specific column]:column [$((COLUMNS*5/8))]" \ - "(-c $hlp)-A+[specify maximum number of array elements to print]:elements" \ - "(-c -b --no-signals $hlp)"{-b,--no-signals}"[don't print signals]" \ - "(-a --align -A -b --no-signals -i -n --indent -r -s -t -tt -ttt -T $hlp)-c[count time and calls, and report a summary on exit]" \ - "(-C --demangle $hlp)"{-C,--demangle}'[decode low-level symbol names into user-level names]' \ - "(-D --debug $hlp)"{-D+,--debug=}'[enable debugging]:mask:(help 77)' \ - "($hlp)*-e+[modify which library calls to trace]:filter" \ - "($hlp)-f[trace child processes]" \ - "($hlp)*"{-F+,--config=}'[load alternate configuration file]:file:_files' \ - '(- 1 *)'{-h,--help}'[display help information]' \ - "(-c $hlp)-i[print instruction pointer at time of call]" \ - "(-l --library $hlp)"{-l+,--library=}'[only trace symbols implemented by specified library]:library:_files' \ - "($hlp)-L[don't display library calls]" \ - "(-c -n --indent $hlp)"{-n+,--indent=}'[specify indent for each level of call nesting]:spaces' \ - "(-o --output $hlp)"{-o+,--output=}'[write the trace output to specified file]:file:_files' \ - "(: $hlp)-p+[attach to the process with specified process ID and begin tracing]:process ID:_pids" \ - "(-c $hlp)-r[print relative timestamps]" \ - "(-c $hlp)-s+[specify the maximum string size to print]:maximum string size [32]" \ - "($hlp)-S[trace system calls as well as library calls]" \ - "(-c -ttt $hlp)-t[prefix each line of the trace with the time of day]" \ - "(-c -ttt -tt $hlp)-tt[prefix each line of the trace with the time of day including the microseconds]" \ - "(-c -tt -t $hlp)-ttt[prefix each line of the trace with the number of seconds and microseconds since the epoch]" \ - "(-c $hlp)-T[show the time spent in each call]" \ - "${root}-u+[run as specified user]:user:_users" \ - '(- 1 *)'{-V,--version}'[display version information]' \ - "($hlp)*-x+[modify which static functions to trace]:filter" \ - '(-):command name: _command_names -e' \ - '*::arguments:_normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lua b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lua deleted file mode 100644 index 7254d381..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lua +++ /dev/null @@ -1,63 +0,0 @@ -#compdef lua -P lua[0-9.-]## - -# Complete lua library names. We go out of our way here to support sub-modules -# (of the format foo.bar.baz), even though the way `lua -l` handles those isn't -# very nice, because it might be useful for informational purposes -(( $+functions[_lua_libraries] )) || -_lua_libraries() { - local p pre - local -a tmp tmp2 - - # Get Lua's library search path - tmp=( ${(s<;>)${(@f)"$( - _call_program library-path $words[1] -e '"print(package.path)"' - )"}} ) - # Support C modules, which aren't explicitly included in the above - tmp+=( ${(@)${(@M)tmp:#*'?.lua'}/%.lua/.so} ) - - for p in ${(@u)tmp}; do - # Don't recurse infinitely into the current directory; we'll just trust - # that all other paths are sensible - if [[ $p == './?'* ]]; then - tmp=( ${~${${(b)p}/'\?'/'*'}}(#qN) ) - else - tmp=( ${~${${(b)p}/'\?'/'**/*'}}(#qN) ) - fi - tmp2+=( ${(@)tmp##${p%%'?'*}} ) - done - - tmp=( ${(@)tmp2%%(/init.lua|.lua|.so)} ) - tmp=( ${(@u)${(@)tmp//\//.}} ) - - _wanted -x libraries expl 'Lua library' compadd -a "$@" - tmp -} - -_lua() { - local ret=1 - local -a context expl line state state_descr - local -A opt_args - - # Stacking not supported, no arguments are exclusive except `-` - _arguments -S -A '-*' : \ - '*-e+[execute specified command string]:command string' \ - '-E[ignore environment variables]' \ - '-i[enter interactive mode]' \ - '*-l+[specify library or module to require]: :_lua_libraries' \ - '-v[display version information]' \ - '(1 -)-[stop argument parsing and execute script on stdin]' \ - '1:Lua script:_files' \ - '*:: :->arg' \ - && ret=0 - - [[ $state == arg ]] && - if [[ $line[1] == - ]]; then - _description files expl 'script argument' - _files "${(@)expl}" && ret=0 - else - _normal && ret=0 - fi - - return ret -} - -_lua "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_luarocks b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_luarocks deleted file mode 100644 index 42169c22..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_luarocks +++ /dev/null @@ -1,637 +0,0 @@ -#compdef luarocks - -# Start of options' arguments' helpers -(( $+functions[__luarocks_command] )) || -__luarocks_command(){ - local -a commands=( - build:'build/compile a rock' - config:'query information about the LuaRocks configuration' - doc:'show documentation for an installed rock' - download:'download a specific rock file from a rocks server' - help:'help on commands' - init:'initialize a directory for a Lua project using LuaRocks' - install:'install a rock' - lint:'check syntax of a rockspec' - list:'list currently installed rocks' - make:'compile package in current directory using a rockspec' - new_version:'auto-write a rockspec for a new version of a rock' - pack:'create a rock, packing sources or binaries' - path:'return the currently configured package path' - purge:'remove all installed rocks from a tree' - remove:'uninstall a rock' - search:'query the LuaRocks servers' - show:'show information about an installed rock' - test:'run the test suite in the current directory' - unpack:'unpack the contents of a rock' - upload:'upload a rockspec to the public rocks repository' - which:'indicate which file corresponds to a given module name' - write_rockspec:'write a template for a rockspec file' - ) - _describe -t commands 'command' commands "$@" -} - -local option_deps_modes='--deps-mode=[specify how to handle dependencies]:mode:__luarocks_deps_modes' - -local rockspec_options=( - '--license=[specify a license string]:license (e.g. "MIT/X11" or "GNU GPL v3")' - '--summary=[a short one-line description summary]:summary' - '--detailed=[a longer description string]:detailed description' - '--homepage=[project homepage]:URL:_urls' - '--lua-versions=[specify supported Lua versions]:lua version:_sequence compadd - 5.{1,2,3,4}' - '--rockspec-format=[rockspec format version, such as "1.0" or "1.1"]:VER: ' - '--lib=[comma separated list of C library files to link to]:library files' -) - -(( $+functions[__luarocks_deps_modes] )) || -__luarocks_deps_modes(){ - local modes=( - 'all:use all trees from the rocks_trees list for finding dependencies' - 'one:use only the current tree (possibly set with --tree)' - 'order:use trees based on order (use the current tree and all trees below it on the rocks_trees list)' - 'none:ignore dependencies altogether' - ) - _describe 'dependencies mode' modes -} -(( $+functions[__luarocks_rock_version] )) || -__luarocks_rock_version(){ - local i=2 - while [[ -n "${words[$i]}" ]]; do - if [[ ! "${words[$i]}" =~ '^-' ]]; then - case "$1" in - "external_or_local") - if [[ ! -f "${words[$i]}" ]]; then - _message -e "version for external rock ${words[$i]}" - return - else - _message -e "version for local rock ${words[$i]}" - fi - ;; - "installed") - tree="$2" - __luarocks_installed_rocks "${tree}" "${words[$i]}" - return - ;; - "new_version") - if [[ -f "${words[$i]}" ]]; then - _message -e "new version for rock ${words[$i]}" - return - fi - ;; - "new_rock") - _message -e "version for new rock ${words[$i]}" - return - ;; - esac - fi - i=$(( i + 1 )) - done -} - -(( $+functions[___luarocks_manually_store_cache_configs_paths] )) || -___luarocks_manually_store_cache_configs_paths(){ - user_config_path="$(_call_program user_config_path luarocks config --user-config)" - system_config_path="$(_call_program system_config_path luarocks config --system-config)" - { - print -r user_config_path=${(qq)user_config_path} - print -r system_config_path=${(qq)system_config_path} - } >! ${cache_dir}/luarocks_configs_paths -} -(( $+functions[___luarocks_manually_store_cache_configured_values] )) || -___luarocks_manually_store_cache_configured_values(){ - local default_trees=($(_call_program rock_trees luarocks config --rock-trees)) - # The following command usually gives somethins like this - # - # /home/me/.luarocks user - # /usr system - # - # We'll just use the 1st and 3rd elements in the array for the default trees - configured_user_tree="${default_trees[1]}" - configured_system_tree="${default_trees[3]}" - configured_lua_version="$(_call_program lua_ver luarocks config --lua-ver)" - { - print -r configured_lua_version=${(qq)configured_lua_version} - print -r configured_user_tree=${(qq)configured_user_tree} - print -r configured_system_tree=${(qq)configured_system_tree} - } >! ${cache_dir}/luarocks_configured_values -} -(( $+functions[___luarocks_installed_rocks_cache_policy] )) || -___luarocks_installed_rocks_cache_policy(){ - local cache_file="$1" - # Before checking the modification date of the manifests files vs the - # installed rocks cache files, we need to perform the following checks: - # - luarocks executable modification date vs modification date of cache file - # holding the default configuration files' locations - # ) if configuration files' locations were possibly changed, we need to: - # * set and cache the *possibly* new locations of the configuration files - # ) else: - # * retrieve from cache the configuration files' locations - # ) end if - # - configuration files' modification date vs modification date of cache file - # holding the values from `luarocks config --lua-ver` and `luarocks config - # --rock-trees` - # ) if the configuration files' locations were changed: - # * set and cache the values from the commands above - # ) else: - # ) if configuration files are newer: - # * set and cache the values from the commands above - # ) else: - # * retrieve from cache the values of the commands above - # ) end if - # ) end if - - # Decide which directory to retrieve cache from, and ensure it exists - local cache_dir - zstyle -s ":completion:${curcontext}:" cache-path cache_dir - : ${cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$cache_dir" ]]; then - [[ -e "$cache_dir" ]] && - _message "cache-dir ($cache_dir) isn't a directory\!" - fi - local where_luarocks="${commands[luarocks]}" - # luarocks_configured_values - local configured_lua_version configured_user_tree configured_system_tree - # luarocks_configs_paths - local user_config_path system_config_path - if [[ -e ${cache_dir}/luarocks_configs_paths ]]; then - if [[ ${where_luarocks} -nt ${cache_dir}/luarocks_configs_paths ]]; then - ___luarocks_manually_store_cache_configs_paths - else - . ${cache_dir}/luarocks_configs_paths - fi - else - ___luarocks_manually_store_cache_configs_paths - fi - if [[ -e ${cache_dir}/luarocks_configured_values ]]; then - if [[ ${user_config_path} -nt ${cache_dir}/luarocks_configured_values ]] || [[ ${system_config_path} -nt ${cache_dir}/luarocks_configured_values ]]; then - ___luarocks_manually_store_cache_configured_values - else - . ${cache_dir}/luarocks_configured_values - fi - else - ___luarocks_manually_store_cache_configured_values - fi - - local user_manifest_file="${configured_user_tree}/lib/luarocks/rocks-${configured_lua_version}/manifest" - local system_manifest_file="${configured_system_tree}/lib/luarocks/rocks-${configured_lua_version}/manifest" - local cache_status=0 - if [[ -f ${cache_file} ]]; then - if [[ -f ${user_manifest_file} ]]; then - if [[ ${cache_file} -nt ${user_manifest_file} ]]; then - cache_status=1 - fi - fi - if [[ -f ${system_manifest_file} ]]; then - if [[ ${cache_file} -nt ${system_manifest_file} ]]; then - cache_status=1 - fi - fi - fi - return cache_status -} -(( $+functions[__luarocks_installed_rocks] )) || -__luarocks_installed_rocks(){ - # This function optionally receives one argument of the tree in which - # installed rocks are searched for. If this argument is used, the installed - # rocks which will be completed by this function will not use the cache which - # is valid only for installed rocks on default trees like /usr/lib/luarocks - # and ~/.luarocks - # - # The second argument (optional as well) is meant for telling the function to - # complete a version of a installed rock and not the rock itself from the list - local tree="$1" - local complete_version_for_rock="$2" - if [[ -z ${tree} ]]; then - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy ___luarocks_installed_rocks_cache_policy - fi - if _cache_invalid luarocks_installed_list; then - rocks_list=($(luarocks list --porcelain)) - _store_cache luarocks_installed_list rocks_list - else - _retrieve_cache luarocks_installed_list - fi - if [[ -z ${rocks_list} ]]; then - _message -r "no installed rocks" - return - fi - if _cache_invalid luarocks_installed_names; then - rocks_names=() - for i in {1.."${#rocks_list[@]}"..4}; do - rocks_names+=("${rocks_list[$i]}") - done - _store_cache luarocks_installed_names rocks_names - else - _retrieve_cache luarocks_installed_names - fi - if _cache_invalid luarocks_installed_versions; then - rocks_versions=() - for i in {2.."${#rocks_list[@]}"..4}; do - rocks_versions+=("${rocks_list[$i]}") - done - _store_cache luarocks_installed_versions rocks_versions - else - _retrieve_cache luarocks_installed_versions - fi - if _cache_invalid luarocks_installed_descriptions; then - rocks_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_version_description="$(luarocks show ${rocks_names[$i]} ${rocks_versions[$i]} 2>/dev/null | head -2 | tail -1)" - total_length=${#name_version_description} - garbage_length="$((${#rocks_names[$i]} + ${#rocks_versions[$i]} + 5))" - description="${name_version_description[${garbage_length},${total_length}]}" - rocks_descriptions+=("${description}") - done - _store_cache luarocks_installed_descriptions rocks_descriptions - else - _retrieve_cache luarocks_installed_descriptions - fi - if _cache_invalid luarocks_installed_names_and_descriptions; then - rocks_names_and_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_and_description=${rocks_names[$i]}:"${rocks_versions[$i]} "${rocks_descriptions[$i]} - rocks_names_and_descriptions+=(${name_and_description}) - done - else - _store_cache luarocks_installed_names_and_descriptions rocks_names_and_descriptions - fi - else - rocks_list=($(luarocks --tree="${tree}" list --porcelain 2> /dev/null)) - if [[ -z ${rocks_list} ]]; then - _message "no installed rocks in the specified tree" - return - fi - rocks_names=() - for i in {1.."${#rocks_list[@]}"..4}; do - rocks_names+=("${rocks_list[$i]}") - done - rocks_versions=() - for i in {2.."${#rocks_list[@]}"..4}; do - rocks_versions+=("${rocks_list[$i]}") - done - rocks_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_version_description="$(luarocks show ${rocks_names[$i]} ${rocks_versions[$i]} 2> /dev/null | head -2 | tail -1)" - total_length=${#name_version_description} - garbage_length="$((${#rocks_names[$i]} + ${#rocks_versions[$i]} + 5))" - description="${name_version_description[${garbage_length},${total_length}]}" - rocks_descriptions+=("${description}") - done - rocks_names_and_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_and_description=${rocks_names[$i]}:"${rocks_versions[$i]} "${rocks_descriptions[$i]} - rocks_names_and_descriptions+=(${name_and_description}) - done - fi - if [[ -z "$complete_version_for_rock" ]]; then - _describe 'installed rock' rocks_names_and_descriptions - else - if [[ ! -z "${rocks_names[(r)${complete_version_for_rock}]}" ]]; then # checks if the requested rock exists in the list of rocks_names - local rock="${complete_version_for_rock}" - local first_match_index=${rocks_names[(i)${rock}]} - local last_match_index=${rocks_names[(I)${rock}]} - local versions=() - for i in {${first_match_index}..${last_match_index}}; do - versions+=("${rocks_versions[$i]}") - done - _values "rock's version" $versions - else - if [[ -z "${tree}" ]]; then - _message -r "no such rock installed" - else - _message -r "no such rock installed in tree ${tree}" - fi - fi - fi -} -# Used to complete one or more of the following: -# - .rockspec file -# - .src.rock file -# - external rock -(( $+functions[__luarocks_rock] )) || -__luarocks_rock(){ - local -a alts=() - while [[ $# -gt 0 ]]; do - arg="$1" - case "$arg" in - (rockspec) - alts+=('files:rock file:_files -g "*.rockspec(-.)"') - shift 1 - continue - ;; - (rockpack) - alts+=( ':rock file:_files -g "*.src.rock(-.)"' ) - shift 1 - continue - ;; - (external) - alts+=(':external rock:') - shift 1 - continue - ;; - (installed) - tree="$2" - alts+=(":local rock: __luarocks_installed_rocks ${tree}") - if [[ -z "${tree}" ]]; then - shift - else - shift 2 - fi - continue - ;; - esac - shift - continue - done - _alternative ${alts[@]} -} -(( $+functions[__luarocks_git_tags] )) || -__luarocks_git_tags(){ - # Copied straight from definition of _git - local expl - declare -a tags - tags=(${${(f)"$(_call_program tagrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) - __git_command_successful $pipestatus || return 1 - _wanted tags expl tag compadd -M 'r:|/=**' "$@" -a - tags -} - -# End of options' arguments' helpers & Start of sub commands helpers - -# arguments: -# - must: .rockspec file / external rock -# - optional: version (only when chossing external rock) -local make_command_options=( - '--pack-binary-rock[produce a .rock file with the contents of compilation inside the current directory instead of installing it]' - '--keep[do not remove previously installed versions of the rock after building a new one]' - '--branch=[override the `source.branch` field in the loaded rockspec]:branch name' -) -local build_command_options=( - "${make_command_options[@]}" - '--only-deps[installs only the dependencies of the rock]' - $option_deps_modes -) -(( $+functions[_luarocks_build] )) || -_luarocks_build(){ - _arguments -A "-*" \ - "${build_command_options[@]}" \ - '1: : __luarocks_rock "rockspec" "external"' \ - '2:: : __luarocks_rock_version "external_or_local"' -} -# arguments: -# - must: option -local config_command_options=( - '--lua-incdir[path to Lua header files]' - '--lua-libdir[path to Lua library files]' - '--lua-ver[lua version (in major.minor format)]' - '--system-config[location of the system config file]' - '--user-config[location of the user config file]' - '--rock-trees[rocks trees in useFirst the user tree, then the system tree]' -) -(( $+functions[_luarocks_config] )) || -_luarocks_config(){ - _arguments "${config_command_options[@]}" -} -# arguments: -# - must: installed rock -local doc_command_options=( - '--home[open the home page of project]' - '--list[list documentation files only]' -) -(( $+functions[_luarocks_doc] )) || -_luarocks_doc(){ - _arguments \ - "${doc_command_options[@]}" \ - "1: : __luarocks_rock installed ${opt_args[--tree]}" -} -# arguments: -# - must: external only rockspec -local download_command_options=( - '--all[download all files if there are multiple matches]' - '--source[download .src.rock if available]' - '--rockspec[download .rockspec if available]' - '--arch=[download rock for a specific architecture]:ARCH:' -) -(( $+functions[_luarocks_download] )) || -_luarocks_download(){ - _arguments -A "-*" \ - "${download_command_options[@]}" \ - '1: : __luarocks_rock "external"' \ - '2:: : __luarocks_rock_version "external_or_local"' -} -# arguments: -# must: luarocks sub command -(( $+functions[_luarocks_help] )) || -_luarocks_help(){ - _arguments '1: : __luarocks_command' -} - -(( $+functions[_luarocks_init] )) || -_luarocks_init(){ - _arguments $rockspec_options \ - '--reset[regenerate files if they already exist]' \ - '1: :_guard "^-*" "name"'\ - '2: :_guard "^-*" "version"' -} - -# arguments: -# - must: .rockspec file / external rock -# - optional: version -# NOTE: it receives the same argument as the build command and it accepts the same options as well -(( $+functions[_luarocks_install] )) || -_luarocks_install(){ - _luarocks_build -} -# arguments: -# - must: rockspec file (first and last) -(( $+functions[_luarocks_lint] )) || -_luarocks_lint(){ - _arguments '1:: : __luarocks_rock "rockspec"' -} -# arguments: -# NOTE: receives only options -local list_command_options=( - '--outdated[list only rocks for which there is a higher version available in the rocks server]' - '--porcelain[produce machine-friendly output]' -) -(( $+functions[_luarocks_list] )) || -_luarocks_list(){ - _arguments "${list_command_options[@]}" -} -# arguments: -# - optional: rockspec file -# NOTE: it's options were already described above. -(( $+functions[_luarocks_make] )) || -_luarocks_make(){ - _arguments '1:: : __luarocks_rock "rockspec"' -} -# arguments: -# - optional: .rockspec file / external rock -# - optional: version (unless a --tag was given) -# - optional: URL -local new_version_command_options=( - '--tag=[if no version is specified, this option'"'"'s argument is used instead]:tag:__luarocks_git_tags' -) -(( $+functions[_luarocks_new_version] )) || -_luarocks_new_version(){ - _arguments -A "-*" \ - "${new_version_command_options[@]}" \ - '1:: : __luarocks_rock "external" "rockspec"' \ - '2:: : __luarocks_rock_version "external_or_local"' \ - '3:: :_urls' -} -# arguments: -# - must: .rockspec file / external rock -# - optional: version -(( $+functions[_luarocks_pack] )) || -_luarocks_pack(){ - _luarocks_build -} -# arguments: -# NOTE: receives only options -local path_command_options=( - "--no-bin[don't export the PATH variable]" - '--append[append the paths to the existing paths]' - '--lr-path[export the Lua path (not formatted as shell command)]' - '--lr-cpath[export the Lua cpath (not formatted as shell command)]' - '--lr-bin[export the system path (not formatted as shell command)]' -) -(( $+functions[_luarocks_path] )) || -_luarocks_path(){ - _arguments "${path_command_options[@]}" -} -# NOTE: receives only options yet --tree is mandatory -# NOTE: --force can be used only in conjunction with --old-versions -local option_force='--force[force removing old versions when]' -local purge_command_options=( - '--old-versions[keep the highest-numbered version of each rock and remove the other ones]' - $option_force -) -(( $+functions[_luarocks_purge] )) || -_luarocks_purge(){ - _arguments "${purge_command_options[@]}" -} -# arguments: -# - must: locally installed rock -# - optional: version -local option_force_fast='--force-fast[works like --force but doesn'"'"'t reports forced removals]' -local remove_command_options=( - $option_deps_modes - $option_force - $option_force_fast -) -(( $+functions[_luarocks_remove] )) || -_luarocks_remove(){ - _arguments -A "-*" \ - "${remove_command_options[@]}" \ - "1: : __luarocks_rock installed ${opt_args[--tree]}" \ - "2:: : __luarocks_rock_version installed ${opt_args[--tree]}" -} -# arguments: -# - must: string as a search query -local search_command_options=( - '--source[return only rockspecs and source rocks]' - '--binary[return only pure Lua and binary rocks (rocks that can be used with the "install" command without requiring a C toolchain)]' - "--all[list all contents of the server that are suitable for this platform, don't filter by name]" - '--porcelain[produce machine readable output]' -) -(( $+functions[_luarocks_search] )) || -_luarocks_search(){ - _arguments \ - "${search_command_options[@]}" \ - '*: :_guard "^--*" "search query"' -} -# arguments: -# - must: installed rock -local show_command_options=( - '--home[home page of project]' - '--modules[all modules provided by this package as used by require()]' - '--deps[packages this package depends on]' - '--build-deps[show build-only dependencies for package]' - '--test-deps[show dependencies for testing package]' - '--rockspec[the full path of the rockspec file]' - '--mversion[the package version]' - '--rock-tree[local tree where rock is installed]' - '--rock-dir[data directory of the installed rock]' -) -(( $+functions[_luarocks_show] )) || -_luarocks_show(){ - _arguments \ - "${show_command_options[@]}" \ - "1: : __luarocks_rock installed "${opt_args[--tree]}"" \ - "2:: : __luarocks_rock_version installed ${opt_args[--tree]}" -} - -(( $+functions[_luarocks_test] )) || -_luarocks_test(){ - _arguments $option_deps_modes \ - '--test-type=[specify the test suite type manually]:test suite type' \ - '--reset[regenerate files if they already exist]' \ - '1: : __luarocks_rock' \ - '*:arg' -} - -# arguments: -# - must: rockpack file / external rock -# - optional: version (only when chossing external rock) -local unpack_command_options=( - '--force[unpack files even if the output directory already exists]' -) -(( $+functions[_luarocks_unpack] )) || -_luarocks_unpack(){ - _arguments \ - "${unpack_command_options[@]}" \ - '1: : __luarocks_rock "rockpack" "external"' -} -# arguments: -# - must: rockspec file -local upload_command_options=( - "--skip-pack[don't pack and send source rock]" - '(--temp-key)--api-key=[use and save specified API key]:api key' - '(--api-key)--temp-key=[use specified temporary API key in this invocation only]:api key' - '--force[replace existing rockspec if the same revision of a module already exists]' -) -(( $+functions[_luarocks_upload] )) || -_luarocks_upload(){ - _arguments \ - "${upload_command_options[@]}" \ - '1: : __luarocks_rock "rockspec"' -} - -(( $+functions[_luarocks_which] )) || -_luarocks_which(){ - _message -e modules 'module name' -} - -(( $+functions[_luarocks_write_rockspec] )) || -_luarocks_write_rockspec(){ - _arguments -A "-*" \ - "${rockspec_options[@]}" \ - '--output=[write the rockspec with the given file]:file:_files' \ - '--tag=[specify tag to use. Will attempt to extract version number from it]:tag:__git_tag' \ - '1::new rock name' \ - '2:: : __luarocks_rock_version "new_rock"' \ - '3:: :_urls' -} - -# The real thing -_arguments -C \ - '--dev[enable the sub-repositories in rocks servers]' \ - '(--server --only-server)--server=[fetch rocks/rockspecs from specified server]:host:_hosts' \ - '(--server --only-server)--only-server=[fetch rocks/rockspecs from specified server only]:host:_hosts' \ - '--only-sources=[restrict downloads to paths matching the given URL]:URL:_urls' \ - '--lua-dir=[specify location of lua installation]:path:_directories' \ - '--tree=[specify which tree to operate on]:tree:_directories' \ - '--local[use the tree in the user'"'"'s home directory]' \ - '--verbose[display verbose output of commands executed]' \ - '--timeout=[specify timeout for network operations]:timeout (seconds)' \ - '1: :__luarocks_command' \ - '*::arg:->args' - -case "$state" in - (args) - curcontext="${curcontext%:*:*}:luarocks-${words[1]}:" - if [[ $? != 1 ]]; then - _call_function ret _luarocks_${words[1]} - fi -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lynx b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lynx deleted file mode 100644 index d25b0397..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lynx +++ /dev/null @@ -1,172 +0,0 @@ -#compdef lynx - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '-accept_all_cookies[accept cookies without prompting if Set-Cookie handling is on (off)]' \ - '-anonymous[apply restrictions for anonymous account, see also -restrictions]' \ - "-assume_charset=[charset for documents that don't specify it]:character set:" \ - '-assume_local_charset=[charset assumed for local files]:character set:' \ - '-assume_unrec_charset=[use this instead of unrecognized charsets]:character set:' \ - '-auth=[authentication information for protected documents]:username\:password:' \ - '-base[prepend a request URL comment and BASE tag to text/html outputs for -source dumps]' \ - '-bibp=[specify a local bibp server (default http://bibhost/)]:bibp server:_urls' \ - '-blink[forces high intensity background colors for color mode, if available and supported by the terminal]' \ - '-book[use the bookmark page as the startfile (off)]' \ - '-buried_news[toggles scanning of news articles for buried references (on)]' \ - '-cache=[specify number of documents cached in memory]:number of documents:' \ - '-case[enable case sensitive user searching (off)]' \ - '-center[toggle center alignment in HTML TABLE (off)]' \ - '-cfg=[specifies a lynx.cfg file other than the default]:configuration file:_files' \ - '-child[exit on left-arrow in startfile, and disable save to disk]' \ - '-child_relaxed[exit on left-arrow in startfile (allows save to disk)]' \ - '-cmd_log=[log keystroke commands to the given file]:keystroke log:_files' \ - '-cmd_script=[read keystroke commands from the given file (see -cmd_log)]:keystroke log:_files' \ - '-color[forces color mode on, if available]' \ - '-collapse_br_tags[toggle collapsing of BR tags (on)]' \ - '-connect_timeout=[set the N-second connection timeout]:connection timeout (seconds) [18000]' \ - '-convert_to=[convert input]:format:_mime_types' \ - '-cookie_file=[specifies a file to use to read cookies]:cookie file:_files' \ - '-cookie_save_file=[specifies a file to use to store cookies]:cookie file:_files' \ - '-cookies[toggles handling of Set-Cookie headers (on)]' \ - '-core[toggles forced core dumps on fatal errors (off)]' \ - '-crawl[with -traversal, output each page to a file with -dump, format output as with -traversal, but to stdout]' \ - '-curses_pads[uses curses pad feature to support left/right shifting (on)]' \ - '-debug_partial[incremental display stages with MessageSecs delay (off)]' \ - '-default_colors[use terminal default foreground/background colors (on)]' \ - '-delay=[set NNN-second delay at statusline message]:delay (seconds) [0.000]' \ - "-display=[set the display variable for X exec'ed programs]:display:_x_display" \ - '-display_charset=[charset for the terminal output]:character set:' \ - "-dont_wrap_pre[inhibit wrapping of text in <pre> when -dump'ing and -crawl'ing, mark wrapped lines in interactive session (off)]" \ - '-dump[dump the first file to stdout and exit]' \ - '-editor=[enable edit mode with specified editor]:editor:_command_names -e' \ - '-emacskeys[enable emacs-like key movement (off)]' \ - "-enable_scrollback[toggles compatibility with comm programs' scrollback keys (may be incompatible with some curses packages) (off)]" \ - '-error_file=[write the HTTP status code here]:error file:_files' \ - '-exec[enable local program execution (normally not configured)]' \ - '-fileversions[include all versions of files in local VMS directory listings]' \ - '-force_empty_hrefless_a[force HREF-less 'A' elements to be empty (close them as soon as they are seen) (off)]' \ - '-force_html[forces the first document to be interpreted as HTML (off)]' \ - '-force_secure[toggle forcing of the secure flag for SSL cookies (off)]' \ - '-forms_options[toggles forms-based vs old-style options menu (on)]' \ - '-from[toggle transmission of From headers (on)]' \ - '-ftp[disable ftp access (off)]' \ - '-get_data[user data for get forms, read from stdin, terminated by '---' on a line]' \ - '-head[send a HEAD request (off)]' \ - '(- *)-help[print this usage message]' \ - '-hiddenlinks=[hidden links: options are merge, listonly, or ignore]:option:(merge listonly ignore)' \ - "-historical[toggles use of '>' or '-->' as terminator for comments (off)]" \ - '-homepage=[set homepage separate from start page]:URL:->html' \ - '-html5_charsets[toggle use of HTML5 charset replacements]' \ - '-image_links[toggles inclusion of links for all images (off)]' \ - '-index=[set the default index file to URL]:URL:->html' \ - '-ismap[toggles inclusion of ISMAP links when client-side MAPs are present (off)]' \ - '-justify[do justification of text (off)]' \ - '-link=[starting count for lnk#.dat files produced by -crawl (0)]:starting count:' \ - '-list_inline[with -dump, show links inline with text]' \ - '-listonly[with -dump, forces it to show only the list of links (off)]' \ - '-localhost[disable URLs that point to remote hosts (off)]' \ - '-locexec[enable local program execution from local files only (if lynx was compiled with local execution enabled)]' \ - '-lss=[specifies a lynx.lss file other than the default]:color-style file:_files' \ - '-mime_header[include mime headers and force source dump]' \ - '-minimal[toggles minimal versus valid comment parsing (on)]' \ - '-newschunksize=[number of articles in chunked news listings]:number of news articles:' \ - '-newsmaxchunk=[maximum news articles in listings before chunking]:maximum number of news articles:' \ - '-nobold[disable bold video-attribute]' \ - '-nobrowse[disable directory browsing]' \ - '-nocc[disable Cc: prompts for self copies of mailings (off)]' \ - '-nocolor[turn off color support]' \ - '-noexec[disable local program execution]' \ - '-nofilereferer[disable transmission of Referer headers for file URLs (on)]' \ - '-nolist[disable the link list feature in dumps (off)]' \ - '-nolog[disable mailing of error messages to document owners (on)]' \ - '-nomargins[disable the right/left margins in the default style-sheet (off)]' \ - '-nomore[disable -more- string in statusline messages]' \ - '-nonrestarting_sigwinch[make window size change handler non-restarting (off)]' \ - '-nonumbers[disable the link/form numbering feature in dumps (off)]' \ - '-nopause[disable forced pauses for statusline messages]' \ - '-noprint[disable some print functions, like -restrictions=print (off)]' \ - "-noredir[don't follow Location: redirection (off)]" \ - '-noreferer[disable transmission of Referer headers (off)]' \ - '-noreverse[disable reverse video-attribute]' \ - '-nosocks[disable SOCKS proxy usage by a SOCKSified Lynx]' \ - '-nostatus[disable the miscellaneous information messages (off)]' \ - '-notitle[disable the title at the top of each page (off)]' \ - '-nounderline[disable underline video-attribute]' \ - "-nozap=[disable checks for the 'z' key]:duration:(all initially full)" \ - '-number_fields[force numbering of links as well as form input fields (off)]' \ - '-number_links[force numbering of links (off)]' \ - '-partial[toggles display partial pages while downloading (on)]' \ - '-partial_thres=[number of lines to render before repainting display with partial-display logic (-1)]:number of lines:' \ - '-passive-ftp[toggles passive ftp connection (on)]' \ - '-pauth=[authentication information for protected proxy server]:username\:password:' \ - '-popup[toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons (off)]' \ - '-post_data[user data for post forms, read from stdin, terminated by '---' on a line]' \ - '-preparsed[show parsed text/html with -source and in source view to visualize how lynx behaves with invalid HTML (off)]' \ - '-prettysrc[do syntax highlighting and hyperlink handling in source view (off)]' \ - '-print[enable print functions (DEFAULT), opposite of -noprint (on)]' \ - '-pseudo_inlines[toggles pseudo-ALTs for inlines with no ALT string (on)]' \ - '-raw[toggles default setting of 8-bit character translations or CJK mode for the startup character set (off)]' \ - '-realm[restricts access to URLs in the starting realm (off)]' \ - '-read_timeout=[set the N-second read-timeout]:timeout (seconds) [18000]' \ - '-reload[flushes the cache on a proxy server (only the first document affected) (off)]' \ - '-restrictions=[use -restrictions to see list]:options:->restrictions' \ - '-resubmit_posts[toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List (off)]' \ - '-rlogin[disable rlogins (off)]' \ - '-scrollbar[toggles showing scrollbar (off)]' \ - '-scrollbar_arrow[toggles showing arrows at ends of the scrollbar (on)]' \ - '-selective[require .www_browsable files to browse directories]' \ - '-session=[resume from specified file on startup and save session to it on exit]:session file:_files' \ - '-sessionin=[resume session from specified file on startup]:session file:_files' \ - '-sessionout=[save session to specified file on exit]:session file:_files' \ - '-short_url[enables examination of beginning and end of long URL in status line (off)]' \ - "-show_cfg[show 'LYNX.CFG' setting (off)]" \ - '-show_cursor[toggles hiding of the cursor in the lower right corner (on)]' \ - '-show_rate[toggles display of transfer rate (on)]' \ - "-soft_dquotes[toggles emulation of the old Netscape and Mosaic bug which treated '>' as a co-terminator for double-quotes and tags (off)]" \ - '-source[dump the source of the first file to stdout and exit]' \ - '-stack_dump[disable SIGINT cleanup handler (off)]' \ - '-startfile_ok[allow non-http startfile and homepage with -validate (off)]' \ - '-stderr[write warning messages to standard error when -dump or -source is used (off)]' \ - '-stdin[read startfile from standard input (off)]' \ - '-tagsoup[use TagSoup rather than SortaSGML parser (off)]' \ - '-telnet[disable telnets (off)]' \ - '-term=[set terminal type]:terminal name:_terminals' \ - '-tlog[toggles use of a Lynx Trace Log for the current session (on)]' \ - '-tna[turn on "Textfields Need Activation" mode (off)]' \ - '-trace[turns on Lynx trace mode (off)]' \ - '-trace_mask=[customize Lynx trace mode]:trace mask:(0 1 2 3 4 5 6 7)' \ - '-traversal[traverse all http links derived from startfile]' \ - '-trim_blank_lines[toggle trimming of leading/trailing/collapsed-br blank lines (on)]' \ - '-trim_input_fields[trim input text/textarea fields in forms (off)]' \ - '-underline_links[toggles use of underline/bold attribute for links (off)]' \ - '-underscore[toggles use of _underline_ format in dumps (off)]' \ - '-unique_urls[toggle use of unique-urls setting for -dump and -listonly options (off)]' \ - '-use_mouse[turn on mouse support (off)]' \ - '-useragent=[set alternate Lynx User-Agent header]:user-agent header:' \ - '-validate[accept only http URLs (meant for validation) implies more restrictions than -anonymous, but goto is allowed for http and https (off)]' \ - '-verbose[toggles [LINK\], [IMAGE\] and [INLINE\] comments with filenames of these images (on)]' \ - '(- *)-version[print Lynx version information]' \ - '-vikeys[enable vi-like key movement (off)]' \ - '-width=[specify screen width for formatting of dumps]:number of columns [80]' \ - '-with_backspaces[emit backspaces in output if -dumping or -crawling]' \ - '-xhtml-parsing[enable XHTML 1.0 parsing (off)]' \ - ':URL:->html' && ret=0 - -case "$state" in -restrictions) - _values -s ',' 'restriction' \ - \? all bookmark bookmark_exec change_exec_perms chdir compileopts_info \ - default dired_support disk_save dotfiles download editor exec exec_frozen \ - externals file_url goto inside_ftp inside_news inside_rlogin \ - inside_telnet jump lynxcfg_info lynxcfg_xinfo lynxcgi mail multibook \ - news_post options_save outside_ftp outside_news outside_rlogin \ - outside_telnet print shell suspend telnet_port useragent && return - ;; -html) - _alternative 'files:file:_files -g "*.x#html#(-.)"' 'urls:URL:_urls' && return - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lz4 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lz4 deleted file mode 100644 index 6676943c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lz4 +++ /dev/null @@ -1,108 +0,0 @@ -#compdef lz4 lz4c lz4c32 lz4cat unlz4 - -# Notes: -# - All lz4 CLI tools take the same options — you can do `unlz4 --compress` if -# you want — and we complete accordingly. One can make a reasonable argument -# that we shouldn't, but...? -# - The only exceptions to the above are the legacy compression options (-c0, -# -hc, and so on) — only lz4c accepts these. Each of these options is -# interpreted separately otherwise (e.g., -c0 becomes equivalent to -c -0) -# - All these tools use a non-standard option-handling method that we don't -# fully support. For example, the tool will let you do things like `-b1e3i3` -# instead of `-b1 -e3 -i3` — we won't - -local ret=1 -local -a context line state state_descr expl args levels=( -{1..16} ) -local -A opt_args val_args - -args=( - + excl # Fully exclusive options - '(: -)'{-h,--help}'[display help information]' - '(: -)-H[display long help information]' - '(: -)'{-V,--version}'[display version information]' - + misc # Misc. arguments - '(-q -v --quiet --verbose)*'{-q,--quiet}'[reduce output verbosity]' - '(-q -v --quiet --verbose)*'{-v,--verbose}'[increase output verbosity]' - '*::: :->files' - + B # Benchmark/compress-mode options (not allowed with legacy format) - '(d t -l)*-B-[specify block property]: :->block-props' - '(d t -l --no-content-size)--content-size[record original uncompressed size]' - '(d t -l --no-frame-crc)--frame-crc[enable content checksum]' - '(d t -l --content-size)--no-content-size[do not record original uncompressed size]' - '(d t -l --frame-crc)--no-frame-crc[disable content checksum]' - '(d t -l --sparse)--no-sparse[disable sparse-file support]' - '(d t -l --no-sparse)--sparse[enable sparse-file support]' - + C # Compress/decompress-mode options - '(b t -c --stdout --to-stdout)'{-c,--stdout}'[write on standard output]' - '(b t -y)'{-f,--force}'[overwrite target without prompting, or cat on standard output]' - '(b t -k --keep --rm)'{-k,--keep}'[keep source file]' - '(b t -m -r --multiple)'{-m,--multiple}'[take multiple input files]' - '!(b -t -f -y --force)--no-force' - '(b t -m --multiple)-r[operate recursively on directories]' - '(b t -k --keep)--rm[remove source file]' - '!(b t -c --stdout)--to-stdout' - + b # Benchmark-mode options - "(C c d t)-b-[benchmark file using specified compression level]:: :->levels" - "(C c d t)-e-[specify upper compression level limit (with -b)]: :->levels" - '(C c d t)-i-[specify minimum evaluation time (with -b)]:evaluation time (seconds)' - + c # Compress-mode options - "(b d t ${(j< >)levels} -c0 -c1 -c2 -hc)"${^levels} - '(B b d t -m -r --multiple)-l[compress using legacy (Linux kernel) format]' - '(b d t -z --compress)'{-z,--compress}'[compress file]' - + d # Decompress-mode options - '(B b c d t)'{-d,--decompress}'[decompress file]' - '!(B b c d t)--uncompress' - + t # Test-mode options - '(B C b c d t)'{-t,--test}'[test integrity of compressed file]' -) -[[ $service == lz4c ]] && args+=( - + l # Legacy compress-mode options (not to be confused with the legacy format) - "(b d t ${(j< >)levels} -c1 -c2 -hc)-c0[use fast compression (like -0)]" - "(b d t ${(j< >)levels} -c0 -c2 -hc)-c1[use high compression (like -9)]" - "(b d t ${(j< >)levels} -c0 -c1 -c2 -hc)"{-c2,-hc}'[use very high compression (like -12)]' - '(b t -f --force)-y[overwrite target without prompting]' -) - -_arguments -s -S : $args && ret=0 - -case $state in - block-props) - # The usage help indicates that the use of an explicit byte value (-B32 or - # greater) is only for benchmarking, and indeed when such a value is given - # the tool prints a message prefixed with 'bench:'... but there is nothing - # that actually restricts this to the benchmark mode, so...? - _values 'predefined block property or block size in bytes (32+)' \ - '4[set block size to 64 KiB]' \ - '5[set block size to 256 KiB]' \ - '6[set block size to 1 MiB]' \ - '7[set block size to 4 MiB]' \ - 'D[enable block dependency]' \ - 'X[enable block checksum]' \ - && ret=0 - ;; - files) - if - (( CURRENT == 1 )) || - [[ -n ${opt_args[(i)*-(-b|-m|-r|--multiple)]} ]] - then - if [[ -n ${opt_args[(i)*--r]} ]]; then - _description files expl 'input file or directory' - else - _description files expl 'input file' - fi - _files "${(@)expl}" && ret=0 - elif (( CURRENT == 2 )); then - _description files expl 'output file' - _files "${(@)expl}" && ret=0 - else - _message 'no more arguments' && ret=0 - fi - ;; - levels) - _wanted levels expl 'compression level' \ - compadd -o numeric - ${levels/#-/} \ - && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lzop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lzop deleted file mode 100644 index 7661d117..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_lzop +++ /dev/null @@ -1,79 +0,0 @@ -#compdef lzop - -local expl state line decompress disp curcontext="$curcontext" sep ret=1 -typeset -A opt_args - -_arguments -C -s \ - '(-c --stdout --to-stdout)'{-c,--stdout,--to-stdout}'[write on standard output]' \ - '(-d --decompress --uncompress -x -extract)'{-d,--decompress,--uncompress}'[decompress]' \ - '(-x --extract -d --decompress --uncompress -n --name -p --path)'{-x,--extract}'[extract]' \ - '(-f --force)'{-f,--force}'[force overwrite]' \ - '(- *)'{-h,-H,--help}'[display help information]' \ - '(-l --list)'{-l,--list}'[list compressed file contents]' \ - '(-L --license)'{-L,--license}'[display software license]' \ - '(-n --no-name -N --name)'{-n,--no-name}'[do not save or restore the original name and time stamp]' \ - '(-N --name -n --no-name)'{-N,--name}'[save or restore the original name and time stamp]' \ - '--no-mode[do not restore original mode]' \ - '--no-time[do not restore original time stamp]' \ - '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress all warnings]' \ - '(-r --recursive)'{-r,--recursive}'[operate recursively on directories]' \ - '(-S --suffix)'{-S+,--suffix=}'[specify suffix for compressed files]:suffix' \ - '(-t --test)'{-t,--test}'[test compressed file integrity]' \ - \*{-v,--verbose}'[verbose mode]' \ - '(- *)'{-V,--version}'[display version number]' \ - '( -1 -2 -3 -4 -5 -6 -7 -8 -9 --best)--fast' \ - '(--fast -2 -3 -4 -5 -6 -7 -8 -9 --best)-1' \ - '(--fast -1 -3 -4 -5 -6 -7 -8 -9 --best)-2' \ - '(--fast -1 -2 -4 -5 -6 -7 -8 -9 --best)-3' \ - '(--fast -1 -2 -3 -5 -6 -7 -8 -9 --best)-4' \ - '(--fast -1 -2 -3 -4 -6 -7 -8 -9 --best)-5' \ - '(--fast -1 -2 -3 -4 -5 -7 -8 -9 --best)-6' \ - '(--fast -1 -2 -3 -4 -5 -6 -8 -9 --best)-7' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -9 --best)-8' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -8 --best)-9' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -8 -9 )--best' \ - '--ls=[list each compressed file in a format similar to ls -ln]:ls flag:->flags' \ - '--info[list internal header fields for each compressed file]' \ - '(-I --sysinfo)'{-I,--sysinfo}'[display information about the system]' \ - '(-o --outfile)'{-o,--outfile=}'[specify output file]:output file:_files' \ - '(-p --path)'{-p,--path=}'[write output files to specified directory]:directory:_files -/' \ - '(-F --no-checksum)'{-F,--no-checksum}'[do not store or verify a checksum]' \ - '(-k --keep -U --unlink --delete)'{-k,--keep}"[keep (don't delete) input files]" \ - '(-U --unlink --delete)'{-U,--unlink,--delete}'[delete input files]' \ - '--no-stdin[do not try to read stdin]' \ - '--no-warn[suppress all warnings]' \ - '--ignore-warn[suppress all warnings and never exit with status 2]' \ - '--no-color[do not use an color escape sequences]' \ - '--mono[assume a mono ANSI terminal]' \ - '--color[assume a color ANSI terminal]' \ - '--intro[display intro sequence]' \ - '--filter=[preprocess data with a special multimedia filter]:number' \ - '*:files:->files' && ret=0 - -case "$state" in - files) - if (( $+opt_args[-d] || $+opt_args[--decompress] || - $+opt_args[--uncompress] || $+opt_args[-x] || $+opt_args[--extract] || - $+opt_args[--test] || $+opt_args[-t] || $+opt_args[--list] || - $+opt_args[-l] || $+opt_args[--ls] || $+opt_args[--info] )); then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.[tl]zo(-.)' && ret=0 - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.[tl]zo(-.)' && ret=0 - fi - ;; - flags) - zstyle -s ":completion:${curcontext}:flags" list-separator sep || sep=-- - disp=( - "F $sep Append a \`*' for executable files" - "G $sep Inhibit display of group information" - "Q $sep Enclose file names in double quotes" ) - # The "Z" on the next line is sentinel to prevent the character class from being empty. - disp=( ${disp[@]:#[Z$PREFIX]*} ) - compset -P '[FGQ]#' - compadd -d disp - ${disp[@]%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_applications b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_applications deleted file mode 100644 index 7b633579..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_applications +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -_retrieve_mac_apps - -local expl -_wanted commands expl 'macOS application' \ - compadd "$@" - "${(@)${_mac_apps[@]:t}%.app}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_files_for_application b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_files_for_application deleted file mode 100644 index 885b064f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mac_files_for_application +++ /dev/null @@ -1,74 +0,0 @@ -#autoload - -_mac_rsrc_check() { - [[ ! -s "$REPLY/..namedfork/rsrc" ]] && return 1 - if [[ -x /Developer/Tools/GetFileInfo ]]; then - local ftype="$(command /Developer/Tools/GetFileInfo -t $REPLY)" - ftype="${ftype//\"/}" - [[ -n "$types[(r)$ftype]" ]] - else - grep --quiet "\(${(j/\|/)types}\)" "$REPLY/..namedfork/rsrc" - fi -} - -_mac_parse_info_plist() { - # For now, awk is used because builtin function "read" was too slow. - # '<' is used for the delimiter because some Info.plist files use CR as - # newline but read doesn't treat them as so - local s=' - BEGIN { RS="<" } - /^key>/ { sub(/key>/, ""); reading_key=$0 } - /^string>/ { - sub(/string>/, "") - if (reading_key == "CFBundleTypeExtensions") exts=exts " \"" $0 "\"" - if (reading_key == "CFBundleTypeOSTypes") types=types " \"" $0 "\"" - } - END { - print "exts=(" exts ")\ntypes=(" types ")" - } - ' - command awk $s "$app_path/Contents/Info.plist" | while read; do - eval "$REPLY" - done -} - -# Try to complete files for the specified application. -_mac_files_for_application() { - local -a opts - zparseopts -D -a opts q n 1 2 o+: P: S: r: R: W: x+: X+: M+: F: J+: V+: - - local app_path - _retrieve_mac_apps - app_path="${_mac_apps[(r)*/$1(|.app)]:-$1}" - - local -a glob_patterns - glob_patterns=() - - # Try to get extensions from "Info.plist" XML file. - if [[ -f "$app_path/Contents/Info.plist" ]]; then - local -a exts types - _mac_parse_info_plist - - if [[ -n "$exts[(r)\*]" ]]; then - glob_patterns=( "*" ) - else - if (( #exts != 0 )); then - glob_patterns+=( "*.(${(j/|/)exts})(N)" ) - fi - - if (( #types != 0 )); then - glob_patterns+=( "^*.[[:alnum:]]##(.Ne:_mac_rsrc_check:)" ) - fi - fi - else - glob_patterns=( "*" ) - fi - - case ${#glob_patterns} in - 0) return 1 ;; - 1) _files "$opts[@]" -g "$glob_patterns[1]" ;; - *) _files "$opts[@]" -g "{${(j/,/)glob_patterns}}" ;; - esac -} - -_mac_files_for_application "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_madison b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_madison deleted file mode 100644 index dfdf1b43..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_madison +++ /dev/null @@ -1,14 +0,0 @@ -#compdef madison rmadison - -_arguments \ - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source" -' \ - '(-b --binary)'{-b,--binary-type=}':type:(deb udeb)' \ - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' \ - '(-g --greaterorequal)'{-g,--greaterorequal} \ - '(-G --greaterthan)'{-G,--greaterthan} \ - '(-h --help)'{-h,--help} \ - '(-r --regex)'{-r,--regex} \ - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable' \ - '(-S --source-and-binary)'{-S,--source-and-binary} \ - '*:package:_deb_packages avail' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mail deleted file mode 100644 index d618cf36..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mail +++ /dev/null @@ -1,9 +0,0 @@ -#compdef mail mailx=mail Mail=mail mush zmail nail=mail - -_arguments -s \ - '(-f -u)*-b[specify a BCC recipient]:BCC recipient:_email_addresses -n $service' \ - '(-f -u)*-c[specify a CC recipient]:CC recipient:_email_addresses -n $service' \ - '(-b -c -u -s *)-f+[specify mail folder]:mailbox:_mailboxes' \ - '(-f -u)-s+[specify a subject]:subject' \ - "(-b -c -f -s *)-u+[read specified user's mail]:user:_users" \ - "(-f -u)*:recipient:_email_addresses -n $service" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mailboxes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mailboxes deleted file mode 100644 index 188e1a29..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mailboxes +++ /dev/null @@ -1,198 +0,0 @@ -#autoload - -_mailboxes() { - #emulate -L zsh - local expl ret=1 - local maildirectory pinedirectory - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - - if (( ! $+_mailbox_cache )) then - _mailbox_cache "$@" - fi - - case "${curcontext}:" in - (*:mail:*) - if [[ "$PREFIX" == +* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:(mush|zmail|zmlite):*) - if [[ "$PREFIX" == [%+]* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:mutt:*) - if [[ "$PREFIX" == (|-f)[+=]* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:pine:*) - # Files for pine must be absolute paths. - if [[ "$PREFIX" == (|-f)[/\~]* ]]; then - pinedirectory='' - _tags mailboxes files - else - _tags mailboxes - fi;; - (*) - if [[ "$PREFIX" == (|-f)+* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - esac - - while _tags; do - _requested mailboxes expl 'mailbox specification' _mua_mailboxes && ret=0 - - if _requested files expl 'mailbox file'; then - [[ "${curcontext}:" != *:(mail|mush|mutt|zmail|zmlite):* ]] && - compset -P -f - _files "$expl[@]" && ret=0 - fi - (( ret )) || return 0 - done - - return 1 -} - -_mailbox_cache () { - local i j _mc_tmp - local -aU dirboxes - local maildirectory pinedirectory muttrc - typeset -aU -g _mailbox_cache - typeset -aU -g _maildir_cache _mbox_cache _mh_cache _mutt_cache _pine_cache - - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - zstyle -s ":completion:${curcontext}:" muttrc muttrc || muttrc="~/.muttrc" - - [[ -f ${~muttrc:-.} ]] && - _mc_tmp=${=${(M)${(f)"$(<${~muttrc})"}:#mailboxes *}#mailboxes *} && - _mutt_cache=( ${=${(Xe)_mc_tmp}} ) - - _mbox_cache=( ${~maildirectory}/*(^/) ) - if [[ -n $pinedirectory ]]; then - _pine_cache=( ${~pinedirectory}/**/*(.) ) - else - _pine_cache=() - fi - - dirboxes=( ${~maildirectory}/*(/) ) - - while (( $#dirboxes )); do - i=${dirboxes[1]} - shift dirboxes - if [[ -d "$i/cur" ]]; then - _maildir_cache=( "${_maildir_cache[@]}" "$i" ) - elif j=( "$i"/<1-> ) && [[ -n "$j" ]]; then - _mh_cache=( "${_mh_cache[@]}" "$i" ) - dirboxes=( $dirboxes "$i"/*(/) ) - else - _mbox_cache=( "${_mbox_cache[@]}" "$i"/*(.) ) - dirboxes=( $dirboxes "$i"/*(/) ) - fi - done - - [[ -n "$mailpath" ]] && - _mailbox_cache=( "${_mailbox_cache[@]}" "${(@)mailpath%%\?*}" ) - - [[ -n "$MAIL" ]] && _mailbox_cache=( "${_mailbox_cache[@]}" $MAIL ) -} - -_mua_mailboxes() { - local -a mbox_short - local -aU mbox_names - local ret=1 - - local maildirectory pinedirectory - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - - case "${curcontext}:" in - (*:elm:*) # I've probably got this wrong, or at least incomplete - mbox_names=( "${_mbox_cache[@]}" "${_mailbox_cache[@]}" ) - mbox_short=( \! \< \> ) - ;; - (*:mail:*) - if compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" ) - fi - ;; - (*:mh:*) - local lastmhbox=$(mhpath) - if compset -P +; then - mbox_names=( "${(@)_mh_cache#$~maildirectory/}" ) - elif compset -P @; then - mbox_names=( "${(@)${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" ) - else - mbox_names=( +"${(@)^_mh_cache#$~maildirectory/}" - @"${(@)^${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" - "${_mh_cache[@]}" ) - fi - ;; - (*:mush:*) - if compset -P %; then - mbox_short=( "${(@k)userdirs}" ) - elif compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" ) - mbox_short=( \& % %"${(@k)^userdirs}" ) - fi - ;; - (*:mutt:*) - if compset -P '(|\\)='; then - mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}") - elif compset -P +; then - mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}") - else - mbox_names=( "${_mutt_cache[@]}" "${_mailbox_cache[@]}" - "${_maildir_cache[@]}" "${_mh_cache[@]}" ) - mbox_short=( \! \< \> ) - fi - ;; - (*:pine:*) - mbox_names=( "${_mbox_cache[@]}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - # Pine is like mail but with no leading `+' to disambiguate; - # any files not in $pinedirectory must be absolute paths. - if [[ -n $pinedirectory ]]; then - mbox_names+=( "${(@)_pine_cache#$~pinedirectory/}" ) - fi - ;; - (*:tkrat:*) # Has a couple of custom formats I haven't programmed for. - mbox_names=( "${_mbox_cache[@]}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - ;; - (*:(zmail|zmlite):*) - if compset -P %; then - mbox_short=( "${(@k)userdirs}" ) - elif compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - mbox_short=( \& % %"${(@k)^userdirs}" ) - fi - ;; - (*) # Some other program wants mailbox names? Use them all? - mbox_names=( "${_mailbox_cache[@]}" "${_mbox_cache[@]}" - "${_mh_cache[@]}" "${_mutt_cache[@]}" "${_pine_cache[@]}" ) - ;; - esac - - (( $#mbox_names )) && _multi_parts "$@" / mbox_names && ret=0 - (( $#mbox_short )) && compadd "$@" -a mbox_short && ret=0 - return ret -} - -_mailboxes "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_main_complete b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_main_complete deleted file mode 100644 index 169ca1f4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_main_complete +++ /dev/null @@ -1,422 +0,0 @@ -#autoload - -# The main loop of the completion code. This is what is called when -# completion is attempted from the command line. - -# Note that this function is parsed before $_comp_setup is evaluated, -# so that it should make conservative assumptions about the setting -# of the various options that affect parsing. - -# In case non-standard separators are in use. -local IFS=$' \t\n\0' - -# If you want to complete only set or unset options for the unsetopt -# and setopt builtin, un-comment these lines: -# -# local _options_set _options_unset -# -# _options_set=(${(k)options[(R)on]}) -# _options_unset=(${(k)options[(R)off]}) -# -# This is needed because completion functions may set options locally -# which makes the output of setopt and unsetopt reflect a different -# state than the global one for which you are completing. - -eval "$_comp_setup" - -local func funcs ret=1 tmp _compskip format nm call match min max i num\ - _completers _completer _completer_num curtag _comp_force_list \ - _matchers _matcher _c_matcher _matcher_num _comp_tags _comp_mesg \ - mesg str context state state_descr line opt_args val_args \ - curcontext="$curcontext" \ - _last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel \ - _tags_level=0 \ - _saved_exact="${compstate[exact]}" \ - _saved_lastprompt="${compstate[last_prompt]}" \ - _saved_list="${compstate[list]}" \ - _saved_insert="${compstate[insert]}" \ - _saved_colors="$ZLS_COLORS" \ - _saved_colors_set=${+ZLS_COLORS} \ - _ambiguous_color='' -# Hide any '_comp_priv_prefix' variable that happens to be defined in the calling scope. -local _comp_priv_prefix -unset _comp_priv_prefix - -# _precommand sets this to indicate we are following a precommand modifier -local -a precommands - -# Precommands which allow their wrapped command to be a builtin. -# All of these are necessarily builtins or reserved words themselves, -# but not all builtin precommands are listed here: -# for one, the 'command' builtin is excluded. -local -ar builtin_precommands=(- builtin eval exec nocorrect noglob time) - -typeset -U _lastdescr _comp_ignore _comp_colors - -{ - -[[ -z "$curcontext" ]] && curcontext=::: - -zstyle -s ":completion:${curcontext}:" insert-tab tmp || tmp=yes - -if [[ ( "$tmp" = *pending(|[[:blank:]]*) && PENDING -gt 0 ) || - ( "$tmp" = *pending=(#b)([0-9]##)(|[[:blank:]]*) && - PENDING -ge $match[1] ) ]]; then - compstate[insert]=tab - - return 0 -fi - -if [[ "$compstate[insert]" = tab* ]]; then - if [[ "$tmp" = (|*[[:blank:]])(yes|true|on|1)(|[[:blank:]]*) ]]; then - if [[ "$curcontext" != :* || -z "$compstate[vared]" ]] || - zstyle -t ":completion:vared${curcontext}:" insert-tab; then - return 0 - fi - fi - - compstate[insert]="${compstate[insert]//tab /}" -fi - -# Second attempt at GLOB_COMPLETE - -if [[ "$compstate[pattern_match]" = "*" && - "$_lastcomp[unambiguous]" = "$PREFIX" && - -n "$_lastcomp[unambiguous_cursor]" ]]; then - integer upos="$_lastcomp[unambiguous_cursor]" - SUFFIX="$PREFIX[upos,-1]$SUFFIX" - PREFIX="$PREFIX[1,upos-1]" -fi - -# Special completion contexts after `~' and `='. - -if [[ -z "$compstate[quote]" ]]; then - if [[ -o equals ]] && compset -P 1 '='; then - compstate[context]=equal - elif [[ "$PREFIX" != */* && "$PREFIX[1]" = '~' ]]; then - if [[ "$PREFIX" = '~['[^\]]# ]]; then - # Inside ~[...] should be treated as a subscript. - compset -p 2 - # To be consistent, we ignore all but the contents of the square - # brackets. - compset -S '\]*' - compstate[context]=subscript - [[ -n $_comps[-subscript-] ]] && $_comps[-subscript-] && return - else - compset -p 1 - compstate[context]=tilde - fi - fi -fi - -# Initial setup. - -_setup default -_def_menu_style=( "$_last_menu_style[@]" - -# We can't really do that because the current value of $MENUSELECT -# may be the one set by this function. -# There is a similar problem with $ZLS_COLORS in _setup. - -# ${MENUSELECT+select${MENUSELECT:+\=$MENUSELECT}} - - ) -_last_menu_style=() - -if zstyle -s ":completion:${curcontext}:default" list-prompt tmp; then - LISTPROMPT="$tmp" - zmodload -i zsh/complist -fi -if zstyle -s ":completion:${curcontext}:default" select-prompt tmp; then - MENUPROMPT="$tmp" - zmodload -i zsh/complist -fi -if zstyle -s ":completion:${curcontext}:default" select-scroll tmp; then - MENUSCROLL="$tmp" - zmodload -i zsh/complist -fi - -# Get the names of the completers to use in the positional parameters. - -if (( $# )); then - if [[ "$1" = - ]]; then - if [[ $# -lt 3 ]]; then - _completers=() - else - _completers=( "$2" ) - call=yes - fi - else - _completers=( "$@" ) - fi -else - zstyle -a ":completion:${curcontext}:" completer _completers || - _completers=( _complete _ignored ) -fi - -# And now just call the completer functions defined. - -_completer_num=1 - -# We assume localtraps to be in effect here ... -integer SECONDS=0 -TRAPINT() { - zle -M "Killed by signal in ${funcstack[2]} after ${SECONDS}s"; - zle -R - return 130 -} -TRAPQUIT() { - zle -M "Killed by signal in ${funcstack[2]} after ${SECONDS}s"; - zle -R - return 131 -} - -# Call the pre-functions. - -funcs=( "$compprefuncs[@]" ) -compprefuncs=() -for func in "$funcs[@]"; do - "$func" -done - -for tmp in "$_completers[@]"; do - - if [[ -n "$call" ]]; then - _completer="${tmp}" - elif [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - zstyle -t ":completion:${curcontext}:" show-completer && - zle -R "Trying completion for :completion:${curcontext}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - - _comp_mesg= - if [[ -n "$call" ]]; then - if "${(@)argv[3,-1]}"; then - ret=0 - break 2 - fi - elif "$tmp"; then - ret=0 - break 2 - fi - (( _matcher_num++ )) - done - [[ -n "$_comp_mesg" ]] && break - - (( _completer_num++ )) -done - -curcontext="${curcontext/:[^:]#:/::}" -if [[ $compstate[old_list] = keep ]]; then - # We are keeping the old list of matches, so keep the - # number of matches we found last time rather than the - # number just generated. - nm=$_lastcomp[nmatches] -else - nm=$compstate[nmatches] -fi - -if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then - [[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] && - _menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" ) - - tmp=$(( compstate[list_lines] + BUFFERLINES + 1 )) - - _menu_style=( "$_menu_style[@]" "$_def_menu_style[@]" ) - - if [[ "$compstate[list]" = *list(| *) && tmp -gt LINES && - ( -n "$_menu_style[(r)select=long-list]" || - -n "$_menu_style[(r)(yes|true|on|1)=long-list]" ) ]]; then - compstate[insert]=menu - elif [[ "$compstate[insert]" = "$_saved_insert" ]]; then - if [[ -n "$compstate[insert]" && - -n "$_menu_style[(r)(yes|true|1|on)=long]" && tmp -gt LINES ]]; then - compstate[insert]=menu - else - sel=( "${(@M)_menu_style:#(yes|true|1|on)*}" ) - - if (( $#sel )); then - min=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt min ]] && min="$num" - - (( min )) || break - done - fi - sel=( "${(@M)_menu_style:#(no|false|0|off)*}" ) - - if (( $#sel )); then - max=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt max ]] && max="$num" - - (( max )) || break - done - fi - if [[ ( -n "$min" && nm -ge min && ( -z "$max" || nm -lt max ) ) || - ( -n "$_menu_style[(r)auto*]" && - "$compstate[insert]" = automenu ) ]]; then - compstate[insert]=menu - elif [[ -n "$max" && nm -ge max ]]; then - compstate[insert]=unambiguous - elif [[ -n "$_menu_style[(r)auto*]" && - "$compstate[insert]" != automenu ]]; then - compstate[insert]=automenu-unambiguous - fi - fi - fi - - if [[ "$compstate[insert]" = *menu* ]]; then - [[ "$MENUSELECT" = 00 ]] && MENUSELECT=0 - if [[ -n "$_menu_style[(r)no-select*]" ]]; then - unset MENUSELECT - elif [[ -n "$_menu_style[(r)select=long*]" ]]; then - if [[ tmp -gt LINES ]]; then - zmodload -i zsh/complist - MENUSELECT=00 - fi - fi - if [[ "$MENUSELECT" != 00 ]]; then - sel=( "${(@M)_menu_style:#select*}" ) - - if (( $#sel )); then - min=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt min ]] && min="$num" - - (( min )) || break - done - - zmodload -i zsh/complist - MENUSELECT="$min" - else - unset MENUSELECT - fi - fi - if [[ -n "$MENUSELECT" ]]; then - if [[ -n "$_menu_style[(r)interactive*]" ]]; then - MENUMODE=interactive - elif [[ -n "$_menu_style[(r)search*]" ]]; then - if [[ -n "$_menu_style[(r)*backward*]" ]]; then - MENUMODE=search-backward - else - MENUMODE=search-forward - fi - else - unset MENUMODE - fi - fi - fi -elif [[ nm -lt 1 && -n "$_comp_mesg" ]]; then - compstate[insert]='' - compstate[list]='list force' -elif [[ nm -eq 0 && -z "$_comp_mesg" && - $#_lastdescr -ne 0 && $compstate[old_list] != keep ]] && - zstyle -s ":completion:${curcontext}:warnings" format format; then - - compstate[list]='list force' - compstate[insert]='' - - tmp=( "\`${(@)^_lastdescr:#}'" ) - - case $#tmp in - 1) str="$tmp[1]";; - 2) str="$tmp[1] or $tmp[2]";; - *) str="${(j:, :)tmp[1,-2]}, or $tmp[-1]";; - esac - - _setup warnings - zformat -f mesg "$format" "d:$str" "D:${(F)${(@)_lastdescr:#}}" - compadd -x "$mesg" -fi - -if [[ -n "$_ambiguous_color" ]]; then - local toquote='[=\(\)\|~^?*[\]#<>]' - local prefix=${${compstate[unambiguous]}[1,${compstate[unambiguous_cursor]}-1]} - [[ -n $prefix ]] && - _comp_colors+=( "=(#i)${prefix[1,-2]//?/(}${prefix[1,-2]//(#m)?/${MATCH/$~toquote/\\$MATCH}|)}${prefix[-1]//(#m)$~toquote/\\$MATCH}(#b)(?|)*==$_ambiguous_color" ) -fi - -[[ "$_comp_force_list" = always || - ( "$_comp_force_list" = ?* && nm -ge _comp_force_list ) ]] && - compstate[list]="${compstate[list]//messages} force" - -} always { - # Stuff we always do to clean up. - if [[ "$compstate[old_list]" = keep ]]; then - if [[ $_saved_colors_set = 1 ]]; then - ZLS_COLORS="$_saved_colors" - else - unset ZLS_COLORS - fi - elif (( $#_comp_colors )); then - ZLS_COLORS="${(j.:.)_comp_colors}" - else - unset ZLS_COLORS - fi -} - -# Now call the post-functions. - -funcs=( "$comppostfuncs[@]" ) -comppostfuncs=() -for func in "$funcs[@]"; do - "$func" -done - -_lastcomp=( "${(@kv)compstate}" ) -_lastcomp[nmatches]=$nm -_lastcomp[completer]="$_completer" -_lastcomp[prefix]="$PREFIX" -_lastcomp[suffix]="$SUFFIX" -_lastcomp[iprefix]="$IPREFIX" -_lastcomp[isuffix]="$ISUFFIX" -_lastcomp[qiprefix]="$QIPREFIX" -_lastcomp[qisuffix]="$QISUFFIX" -_lastcomp[tags]="$_comp_tags" - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make deleted file mode 100644 index ae91440f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make +++ /dev/null @@ -1,273 +0,0 @@ -#compdef make gmake pmake dmake freebsd-make bmake - -# TODO: Based on targets given on the command line, show only variables that -# are used in those targets and their dependencies. - -_make-expandVars() { - local open close var val front='' rest=$1 - - while [[ $rest == (#b)[^$]#($)* ]]; do - front=$front${rest[1,$mbegin[1]-1]} - rest=${rest[$mbegin[1],-1]} - - case $rest[2] in - ($) # '$$'. may not appear in target and variable's value - front=$front\$\$ - rest=${rest[3,-1]} - continue - ;; - (\() # Variable of the form $(foobar) - open='(' - close=')' - ;; - ({) # ${foobar} - open='{' - close='}' - ;; - ([[:alpha:]]) # $foobar. This is exactly $(f)oobar. - open='' - close='' - var=$rest[2] - ;; - (*) # bad parameter name - print -- $front$rest - return 1 - ;; - esac - - if [[ -n $open ]]; then - if [[ $rest == \$$open(#b)([[:alnum:]_]##)(#B)$close* ]]; then - var=$match - else # unmatched () or {}, or bad parameter name - print -- $front$rest - return 1 - fi - fi - - val='' - if [[ -n ${VAR_ARGS[(i)$var]} ]]; then - val=${VAR_ARGS[$var]} - else - if [[ -n $opt_args[(I)(-e|--environment-overrides)] ]]; then - if [[ $parameters[$var] == scalar-export* ]]; then - val=${(P)var} - elif [[ -n ${VARIABLES[(i)$var]} ]]; then - val=${VARIABLES[$var]} - fi - else - if [[ -n ${VARIABLES[(i)$var]} ]]; then - val=${VARIABLES[$var]} - elif [[ $parameters[$var] == scalar-export* ]]; then - val=${(P)var} - fi - fi - fi - rest=${rest//\$$open$var$close/$val} - done - - print -- ${front}${rest} -} - -_make-parseMakefile () { - local input var val target dep TAB=$'\t' tmp IFS= - - while read input - do - case "$input " in - # VARIABLE = value OR VARIABLE ?= value - ([[:alnum:]][[:alnum:]_]#[" "$TAB]#(\?|)=*) - var=${input%%[ $TAB]#(\?|)=*} - val=${input#*=} - val=${val##[ $TAB]#} - VARIABLES[$var]=$val - ;; - - # VARIABLE := value OR VARIABLE ::= value - # Evaluated immediately - ([[:alnum:]][[:alnum:]_]#[" "$TAB]#:(:|)=*) - var=${input%%[ $TAB]#:(:|)=*} - val=${input#*=} - val=${val##[ $TAB]#} - val=$(_make-expandVars $val) - VARIABLES[$var]=$val - ;; - - # TARGET: dependencies - # TARGET1 TARGET2 TARGET3: dependencies - ([[*?[:alnum:]$][^$TAB:=%]#:[^=]*) - target=$(_make-expandVars ${input%%:*}) - TARGETS+=( ${(z)target} ) - ;; - - # Include another makefile - (${~incl}" "*) - local f=${input##${~incl} ##} - if [[ $incl == '.include' ]] - then - f=${f#[\"<]} - f=${f%[\">]} - fi - f=$(_make-expandVars $f) - - if [[ -r $f ]] - then - _make-parseMakefile < $f - fi - ;; - esac - done -} - -_make() { - - local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir nul=$'\0' - local context state state_descr line - local -a option_specs - local -A VARIABLES VAR_ARGS opt_args - local -aU TARGETS keys - local -i cdir=-1 ret=1 - - # VAR=VAL on the current command line - for tmp in $words; do - if [[ $tmp == (#b)([[:alnum:]_]##)=(*) ]]; then - VAR_ARGS[${tmp[$mbegin[1],$mend[1]]}]=${(e)tmp[$mbegin[2],$mend[2]]} - fi - done - keys=( ${(k)VAR_ARGS} ) # to be used in 'compadd -F keys' - - _pick_variant -r is_gnu gnu=GNU unix -v -f - - if [[ $is_gnu == gnu ]] - then - incl="(-|)include" - option_specs=( - '(-B --always-make)'{-B,--always-make}'[unconditionally make all targets]' - '*'{-C,--directory=}'[change directory first]:change to directory:->cdir' - '-d[print lots of debug information]' - '--debug=-[print various types of debug information]:debug options:->debug' - '(-e --environment-overrides)'{-e,--environment-overrides}'[environment variables override makefiles]' - \*{-E+,--eval=-}'[evaluate string as a makefile statement]:string' - '(-f --file --makefile)'{-f,--file=,--makefile=}'[read specified file as a makefile]:makefile:->file' - '(- *)'{-h,--help}'[print help message and exit]' - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors from recipes]' - '*'{-I,--include-dir=}'[search specified directory for included makefiles]:search path for included makefile:->dir' - '(-j --jobs)'{-j+,--jobs=}'[allow specified number of parallel jobs; unlimited jobs with no arg]:: : _guard "[0-9]#" "number of jobs"' - '(-k --keep-going)'{-k,--keep-going}"[keep going when some targets can't be made]" - '(-l --load-average --max-load)'{-l,--load-average=,--max-load}"[don't start multiple jobs unless load is below specified value]:load" - '(-L --check-symlink-times)'{-L,--check-symlink-times}'[use the latest mtime between symlinks and target]' - '(-n --just-print --dry-run --recon)'{-n,--just-print,--dry-run,--recon}"[don't actually run any recipe; just print them]" - '*'{-o,--old-file=,--assume-old=}"[consider specified file to be old and don't remake it]:file not to remake:->file" - '(-O --output-sync)'{-O-,--output-sync=-}'[synchronize output of parallel jobs]::granularity for grouping output:compadd -E 0 none line target recurse' - '(-p --print-data-base)'{-p,--print-data-base}'[print makes internal database]' - '(-q --question)'{-q,--question}'[run no recipe; exit status says if up to date]' - '(-r --no-builtin-rules)'{-r,--no-builtin-rules}'[disable the built-in implicit rules]' - '(-R --no-builtin-variables)'{-R,--no-builtin-variables}'[disable the built-in variable settings]' - '(-s --silent --quiet)'{-s,--silent,--quiet}"[don't echo recipes]" - '--no-silent[echo recipes (disable --silent mode)]' - '(-S --no-keep-going --stop)'{-S,--no-keep-going,--stop}'[turns off -k]' - '(-t --touch)'{-t,--touch}'[touch targets instead of remaking them]' - '(- *)'{-v,--version}'[print the version number of make and exit]' - '(-w --print-directory)'{-w,--print-directory}'[print the current directory]' - '--no-print-directory[turn off -w, even if it was turned on implicitly]' - '*'{-W,--what-if=,--new-file=,--assume-new=}'[consider specified file to be infinitely new]:file to treat as modified:->file' - '--warn-undefined-variables[warn when an undefined variable is referenced]' - '--warn-undefined-functions[warn when an undefined user function is called]' - ) - else - # Basic make options only. - incl=.include - option_specs=( - '-C[change directory first]:directory:->cdir' - '-I[include directory for makefiles]:directory:->dir' - '-f[specify makefile]:makefile:->file' - '-o[specify file not to remake]:file not to remake:->file' - '-W[pretend file was modified]:file to treat as modified:->file' - ) - fi - - _arguments -s $option_specs \ - '*:make target:->target' && ret=0 - - [[ $state = cdir ]] && cdir=-2 - basedir=${(j./.)${${~"${(@s.:.):-$PWD:${(Q)${opt_args[-C]:-$opt_args[--directory]}//\\:/$nul}}"}[(R)/*,cdir]}//$nul/:} - VAR_ARGS[CURDIR]="${basedir}" - - case $state in - (*dir) - _description directories expl "$state_descr" - _files "$expl[@]" -W $basedir -/ && ret=0 - ;; - - (file) - _description files expl "$state_descr" - _files "$expl[@]" -W $basedir && ret=0 - ;; - - (debug) - _values -s , 'debug option' \ - '(b v i j m)a[all debugging output]' \ - 'b[basic debugging output]' \ - '(b)v[one level above basic]' \ - '(b)i[describe implicit rule searches (implies b)]' \ - 'j[show details on invocation of subcommands]' \ - 'm[enable debugging while remaking makefiles]' && ret=0 - ;; - - (target) - file=${(v)opt_args[(I)(-f|--file|--makefile)]} - if [[ -n $file ]] - then - [[ $file == [^/]* ]] && file=$basedir/$file - [[ -r $file ]] || file= - else - if [[ $is_gnu == gnu && -r $basedir/GNUmakefile ]] - then - file=$basedir/GNUmakefile - elif [[ -r $basedir/makefile ]] - then - file=$basedir/makefile - elif [[ -r $basedir/Makefile ]] - then - file=$basedir/Makefile - else - file='' - fi - fi - - if [[ -n "$file" ]] - then - if [[ $is_gnu == gnu ]] - then - if zstyle -t ":completion:${curcontext}:targets" call-command; then - _make-parseMakefile < <(_call_program targets "$words[1]" -nsp --no-print-directory -f "$file" --always-make 2> /dev/null) - else - _make-parseMakefile < $file - fi - else - if [[ $OSTYPE == (freebsd|dragonfly|netbsd)* || /$words[1] == */bmake* ]]; then - TARGETS+=(${=${(f)"$(_call_program targets "$words[1]" -s -f "$file" -V.ALLTARGETS 2> /dev/null)"}}) - _make-parseMakefile < <(_call_program targets "$words[1]" -nsdg1Fstdout -f "$file" .PHONY 2> /dev/null) - else - _make-parseMakefile < $file - fi - fi - fi - - if [[ $PREFIX == *'='* ]] - then - # Complete make variable as if shell variable - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value "$@" && ret=0 - else - _alternative \ - 'targets:make target:compadd -Q -a TARGETS' \ - 'variables:make variable:compadd -S = -F keys -k VARIABLES' \ - '*:file:_files -W $basedir' && ret=0 - fi - esac - - return ret -} - -_make "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make-kpkg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make-kpkg deleted file mode 100644 index 252627a7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_make-kpkg +++ /dev/null @@ -1,57 +0,0 @@ -#compdef make-kpkg - -local curcontext="$curcontext" state line -typeset -A opt_args - -_arguments -C \ - '--help[display help message]' \ - '--revision[change Debian revision number]:number:' \ - '--append-to-version[specify additional kernel sub-version]:suffix:' \ - '--added-modules[specify add-on modules]:module list:->addedmodules' \ - '--added-patches[specify additional patches]:patches list' \ - '--arch[specify architecture for cross-compilation]:architecture' \ - '--cross-compile[specify target string]:target' \ - '--subarch[specify subarchitecture]:subarchitecture:' \ - '--arch-in-name[include architecture in kernel image name]' \ - '--pgpsign[sign changes file]:name' \ - '--config[specify configuration target]:target:(oldconfig config menuconfig xconfig old menu x)' \ - '--targets[list known targets]' \ - '--noexec[pass -n option to make]' \ - '--verbose[show top level make commands]' \ - '--initrd[create image suitable for initrd]' \ - '(--bzimage)--zimage[make zImage instead of bzImage]' \ - '(--zimage)--bzimage[make bzImage instead of zImage]' \ - '--mkimage[command that produces an initrd image given a directory]:command:' \ - '--rootcmd[specify command for gaining root access]:root command:(sudo fakeroot)' \ - '--stem:package name stem:(kernel linux)' \ - '--us[unsigned source]' \ - '--uc[unsigned changelog]' \ - '*:target:(( \ - clean\:"clean the kernel source directory" \ - buildpackage\:"runs the targets clean and binary" \ - binary\:"all kernel packages" \ - binary-indep\:"arch independent packages" \ - binary-arch\:"arch dependent packages" \ - kernel-source\:"package of the kernel sources" \ - kernel-headers\:"package of the header files included in the kernel" \ - kernel-manual\:"package of the manual pages included in the kernel" \ - kernel-doc\:"package of the documentation included in the kernel" \ - kernel-image\:"package of the kernel image" \ - build\:"compiles the kernel" \ - modules\:"build all add-on modules" \ - modules-config\:"configure all add-on modules" \ - modules-image\:"build all add-on modules, but without source and diff files" \ - modules-clean\:"clean add-on modules" \ - configure\:"configure the kernel" \ - debian\:"creates the debian/ directory" \ - libc-kheaders\:"create the kernel headers package needed by libc" \ - ))' && return - -case "$state" in - (addedmodules) - compset -P '*,' - _alternative \ - 'moddirs:module dirs:_files -/ -S ,' \ - 'modules:loc module dirs:_files -/ -W ${MODULE_LOC:-/usr/src/modules} -S ,' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_man b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_man deleted file mode 100644 index dba1d13d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_man +++ /dev/null @@ -1,462 +0,0 @@ -#compdef man apropos whatis - -# Notes: -# - Solaris is seemingly the only OS that doesn't allow the `man n page` syntax; -# you must use `man -s n page` -# - We assume that Linux distributions are using either man-db or mandoc -# - @todo Would be nice to support completing the initial operand as a section -# name (on non-Solaris systems) -# - @todo We don't support the man-db feature of 'sub-pages' — that is, treating -# pairs of operands like `git diff` as `git-diff` -# - @todo Option exclusivity isn't super accurate -# - @todo Solaris man accepts a single hyphen as the first option to disable -# paging (like AIX's -c); we don't support that -# - @todo Linux apropos/whatis take options; we don't complete them yet - -_man() { - local dirs expl mrd awk variant noinsert - local -a context line state state_descr args modes - local -aU sects - local -A opt_args val_args sect_descs - - if [[ $service == man ]]; then - # We'll treat all mandoc-based systems (Alpine, various Illumos distros, - # etc.) as OpenBSD - _pick_variant -r variant openbsd='-S subsection' $OSTYPE --- - - modes=( - -f -K -k -l -R -w -W - --apropos - --global-apropos - --local-file - --location - --location-cat - --recode - --whatis - --where - --where-cat - ) - [[ $variant == darwin* ]] && modes+=( -t ) - - args=( - "(${(j< >)modes})"{-f,--whatis}'[display short description (like whatis)]' - "(${(j< >)modes})"{-k,--apropos}'[search for keyword (like apropos)]' - '(-M --manpath)'{-M+,--manpath=}'[specify manual search path]:manual search path:_sequence -s\: _directories' - ) - if [[ $variant == (darwin|dragonfly|freebsd|linux)* ]]; then - args+=( - '(-a -S -s --all --sections)'{-a,--all}'[display all matching pages]' - '(-P --pager)'{-P+,--pager=}'[specify output pager]:pager:_path_commands' - # @todo Could enumerate these - '(-p --preprocessor)'{-p+,--preprocessor=}'[specify roff preprocessor sequence]:preprocessor sequence' - ) - else - args+=( '(-s)-a[display all matching pages]' ) - fi - [[ $variant == (aix|solaris)* ]] || args+=( - '(-C --config-file)'{-C+,--config-file=}'[specify configuration file]:configuration file:_files' - "(${(j< >)modes})"{-w,--path,--where}'[display file locations]' - ) - [[ $variant == (aix|netbsd|openbsd)* ]] || args+=( - # @todo FreeBSD allows this to be given multiple times - '(-d --debug)'{-d,--debug}'[display debugging information]' - ) - [[ $variant == (darwin|dragonfly|freebsd|linux|solaris|aix)* ]] && args+=( - '(-7 -H -t --ascii --html --troff)'{-t,--troff}'[format man page using troff]' - ) - [[ $variant == (darwin|linux)* ]] && args+=( - "(${(j< >)modes})"{-K,--global-apropos}'[search for keyword in all pages]' - '(-m --systems)'{-m+,--systems=}'[search manual of specified system]:operating system' - ) - [[ $variant == (darwin|dragonfly|freebsd)* ]] && args+=( - '(: -)-h[display help information]' - '(-a)-S+[specify manual sections to search]: :->sects' - ) - [[ $variant == (dragonfly|freebsd)* ]] && args+=( - # @todo Could enumerate these - '-m[search manual of specified architecture]:architecture' - '-o[use non-localized man pages]' - ) - [[ $variant == (netbsd|openbsd)* ]] && args+=( - '-c[disable paging]' - '-m[augment manual search path]:manual search path:_sequence -s\: _directories' - '(-a)-s+[specify manual section to search]: :->sects' - ) - [[ $variant == linux* ]] && args+=( - '(: -)'{-\?,--help}'[display help information]' - '(-7 -t -H -T -Z --ascii --html --troff --troff-device --ditroff)'{-7,--ascii}'[translate man pages for 7-bit terminal]' - '(-D --default)'{-D,--default}'[reset man to default options]' - # @todo Could enumerate these - '(-E --encoding)'{-E+,--encoding=}'[specify output encoding]:encoding' - '(-e --extension)'{-e+,--extension=}'[specify sub-extension]:sub-extension' - '(-H --html)'{-H-,--html=-}'[produce HTML output for specified browser]::Web browser:_path_commands' - '(-i -I --ignore-case --match-case)'{-i,--ignore-case}'[search case-insensitively]' - '(-i -I --ignore-case --match-case)'{-I,--match-case}'[search case-sensitively]' - '(-L --locale)'{-L+,--locale=}'[specify locale]:locale:_locales' - "(${(j< >)modes})"{-l+,--local-file=}'[format and display specified file]:*:::manual file:_files' - "!(${(j< >)modes})"{--location,--location-cat} - '--names-only[match only page names (with --regex or --wildcard)]' - '(--nh --no-hyphenation)'{--nh,--no-hyphenation}'[disable hyphenation]' - '(--nj --no-justification)'{--nj,--no-justification}'[disable justification]' - '--no-subpages[do not combine pairs of page names into single page name]' - # @todo Could enumerate these - "(${(j< >)modes})"{-R+,--recode=}'[output man page in specified encoding]:encoding' - '(-r --prompt)'{-r+,--prompt=}'[specify prompt for less]:less prompt' - '(-a --all --wildcard)--regex[treat page name as regular expression]' - '(-a -S -s --all --sections)'{-S+,-s+,--sections=}'[specify manual sections to search]: :->sects' - # @todo Could enumerate these - '(-T -t --troff --troff-device)'{-T-,--troff-device=-}'[specify roff output device]::roff output device' - '(-u --update)'{-u,--update}'[update database caches]' - '(: -)--usage[display brief usage information]' - '(: -)'{-V,--version}'[display version information]' - "(${(j< >)modes})"{-W,--where-cat}'[display cat file locations]' - '--warnings=[enable specified groff warnings]:groff warnings' - '(-a --all --regex)--wildcard[treat page name as shell glob]' - # @todo Could enumerate these - '(-X --gxditview)'{-X-,--gxditview=-}'[display output in gxditview using specified DPI]::resolution (DPI) [75]' - # @todo Post-process how? - '(-t --troff -Z --ditroff)'{-Z,--ditroff}'[post-process output for chosen device]' - ) - [[ $variant == darwin* ]] && args+=( - # We use _files here because browsers are usually in /Applications, which - # typically isn't in PATH - '-B+[specify browser to use for HTML files]:Web browser:_files' - '-c[reformat source man page]' - # @todo -d should be exclusive with this above - '(-d)-D[display man page along with debugging information]' - '(-D -F --preformat)'{-F,--preformat}'[format man page only (do not display)]' - '-H+[specify command to render HTML as text]:HTML pager:_path_commands' - # --help and --version are undocumented but functional - '(: -)--help[display help information]' - # -s is also undocumented; it's provided for compatibility with Solaris - '!(-S)-s+: :->sects' - '(: -)'{-v,--version}'[display version information]' - "(${(j< >)modes})-W[display file locations, one per line, with no other information]" - ) - [[ $variant == netbsd* ]] && args+=( - '-h[display only synopsis lines]' - '(: -)-p[display manual search path]' - '-S+[display only man pages with file names matching specified string]:search string' - ) - [[ $variant == openbsd* ]] && args+=( - "(${(j< >)modes})-l+[format and display specified file]:*:::manual file:_files" - # @todo Could enumerate these - '-S[search manual of specified architecture]:architecture' - ) - [[ $variant == solaris* ]] && args+=( - "(${(j< >)modes})-l[display file locations]" - '-r[format man page only (do not display)]' - '(-a)-s+[specify manual sections to search]: :->sects' - # @todo Does this in fact want a file path? - '-T+[format man page using specified macro package]:macro package:_files' - ) - [[ $variant == aix* ]] && args+=( - '-c[display man page using cat]' - '-F[display only first matching entry]' - '-m[only search paths specified by -M/MANPATH]' - '-r[search remotely]' - ) - - # Strip (most) long options from non-Linux platforms - if [[ $variant == darwin* ]]; then - args=( ${(M)args:#((#s)|*\))(\*|)(-[^-]|--(help|path|pref|vers))*} ) - elif [[ $variant != linux* ]]; then - args=( ${(M)args:#((#s)|*\))(\*|)-[^-]*} ) - fi - fi - - _arguments -s -S : $args '*::: :->man' && return 0 - [[ -n $state ]] || return 1 - - if (( ! $#_manpath )); then - local mp - mp=( ${(s.:.)$(manpath 2>/dev/null)} ) - [[ "$mp" == *:* ]] && mp=( ${(s.:.)mp} ) - if (( $#mp )); then - _manpath=( $mp ) - elif (( $#manpath )); then - _manpath=( $manpath ) - fi - fi - - (( $#_manpath )) || - _manpath=( /usr/man(-/) /(opt|usr)/(pkg|dt|share|X11R6|local)/(cat|)man(-/) ) - - # Override man path - [[ -n ${opt_args[-M]} ]] && - _manpath=( ${(s<:>)opt_args[-M]} ) - - # Augment man path - [[ $variant == (netbsd|openbsd)* ]] && - [[ -n ${opt_args[-m]} ]] && - _manpath+=( ${(s<:>)opt_args[-m]} ) - - # `sman' is the SGML manual directory for Solaris 7. - # 1M is system administrator commands on SVR4 - - mrd=(${^_manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N)) - - # $sect is from the command line, the "3p" in "man 3p memcpy". - # It may also be a |-joined (and later in the code "()"-enclosed) list of - # section names. - # TODO: disentangle this to always be an array. - # $sect_dirname is from the filesystem, the "3" in "/usr/share/man/man3" - # These are used by _man_pages - local sect sect_dirname - - # Take care: We can't use the sections from these options until we've finished - # completing them; otherwise (e.g.) -s1:<TAB> will give no results - if - [[ $service != man ]] || [[ $state == sects ]] || (( $+opt_args[-a] )) - then - sect='*' - elif - [[ $variant == (darwin|linux)* ]] && - [[ -n ${opt_args[(i)-S|-s|--sections]} ]] - then - noinsert=1 - sect=${opt_args[${opt_args[(i)-S|-s|--sections]}]//[:,]/|} - elif - [[ $variant == (netbsd|openbsd|solaris)* ]] && (( $+opt_args[-s] )) - then - noinsert=1 - sect=${opt_args[-s]//,/|} - elif [[ $variant == (dragonfly|freebsd)* ]] && (( $+opt_args[-S] )); then - noinsert=1 - sect=${opt_args[-S]//:/|} - # It's only a small help, but, per man-db, we can avoid treating an initial - # operand like `8139too` as a section name by ensuring that only the first - # character is a digit. This doesn't do much for stuff like `2to3`, but we can - # at least special-case a few common patterns for now - elif - (( CURRENT > 1 )) && - [[ $variant != solaris* ]] && - [[ ${${(Q)words[1]}##(2to3|7z)*} == ([0-9](|[^0-9[:punct:]]*)|[lnopx]) ]] - then - noinsert=1 - sect=$words[1] - elif [[ -n ${sect:=$MANSECT} ]]; then - sect=${sect//:/|} - fi - - # Colons may have been escaped - sect=${(Q)sect} - - if [[ $sect = (<->*|[lnopx]) || $sect = *\|* ]]; then - sects=( ${(s.|.)sect} ) - - # Most man implementations support partial matching of a page's - # (sub-)section name — e.g., `3per` for `3perl`. The (sub-)section name may - # or may not correspond to the directory name (most systems combine - # sub-sections), but we'll assume that if it starts with a number and we're - # not on Solaris (which doesn't support this feature at all) that we can do - # a match against the leading number. This is irritating if you DO want the - # exact sub-section specified, but unfortunately there's no way to determine - # this programmatically — i guess we could add a style to control it - () { - for 1; do - if [[ $OSTYPE == solaris* || $1 != <->* ]]; then - dirs+=( $^_manpath/(sman|man|cat)$1(|.*)/ ) - else - dirs+=( $^_manpath/(sman|man|cat)${1%%[^0-9]#}*/ ) - fi - done - } $sects - - sect=${(j<|>)sects} - [[ $sect == *'|'* ]] && sect="($sect)" - awk="\$2 == \"$sect\" {print \$1}" - else - sect= - dirs=( $^_manpath/(sman|man|cat)*/ ) - awk='{print $1}' - fi - - # Ignore directories with no pages inside - dirs=( ${^dirs}(#qFN) ) - - # Solaris 11 and on have a man-index directory that doesn't contain manpages - dirs=( ${dirs:#*/man-index/} ) - sects=( ${(o)${${dirs##*(man|cat)}%.*}%/} ) - - # If we've got this far, we can build our look-up table for descriptions of - # the more common sections. Unless otherwise labelled, the more specific ones - # come from Solaris or one of its variants - (( $#sects )) && () { - sect_descs=( - 0 'library headers' - 1 'general commands' - 1cups 'CUPS commands' - 1m 'maintenance commands' - 1openssl 'OpenSSL commands' - 2 'system calls' - 3 'library functions' - 3c 'C library functions' - 3curses 'curses library functions' - 3elf 'ELF library functions' - 3f 'Fortran library functions' - 3lua 'Lua features' # NetBSD - 3mail 'mailbox library functions' - 3openssl 'OpenSSL library functions' - 3pam 'PAM library functions' - 3pool 'pool configuration library functions' - 3proc 'process control library functions' - 3x11 'Xlib functions' - 3xcurses 'curses library functions [X/Open]' - 4 'devices and drivers' - 5 'file formats and conventions' - 3openssl 'OpenSSL configuration files' - 6 'games' - 7 'miscellanea' - 8 'maintenance commands and procedures' - 9 'kernel features' - 9lua 'Lua kernel bindings' # NetBSD - l 'local documentation' # AIX, etc. — TCL on some systems? - n 'new documentation' # AIX, etc. - o 'old documentation' # AIX, etc. - p 'public documentation' # AIX, etc. - x 'X11 features' - ) - - # Add POSIX variants - for 1 in ${(k)sect_descs}; do - [[ $1 == <-> ]] || continue - sect_descs+=( "${1}p" "${sect_descs[$1]} [POSIX]" ) - done - - # Add OS-specific stuff that's too risky for or overrides the general list - [[ $OSTYPE == darwin* ]] && sect_descs+=( n 'Tcl/Tk features' ) - [[ $OSTYPE == openbsd* ]] && sect_descs+=( 3p 'Perl features' ) - # @todo Oracle Solaris 11.4 adopts the BSD/Linux structure, making many of - # these inaccurate — this should be handled accordingly in the future. If - # OSTYPE isn't helpful (since other Solaris descendants may not follow - # suit), we could perhaps use the presence of SysV-style sections under - # _manpath as the determinant - [[ $OSTYPE == solaris* ]] && sect_descs+=( - 1t 'Tcl/Tk features' - 3m 'mathematical library functions' - 4 'file formats and conventions' - 5 'miscellanea' - 7 'special files' - 7d 'devices' - 7fs 'file systems' - 7i 'ioctl requests' - 7m 'STREAMS modules' - 7p 'protocols' - 9e 'driver entry points' - 9f 'driver functions' - 9p 'driver properties' - 9s 'driver data structures' - ) - } - - [[ $state == sects ]] && { - local s - local -a specs - - (( $#sects )) || { - _message -e sections 'manual section' - return 1 - } - - # Build specs from descriptions - for s in $sects; do - specs+=( "${s}:${(b)sect_descs[$s]}" ) - done - specs=( ${specs%:} ) - - if [[ $variant == (darwin|dragonfly|freebsd|linux)* ]]; then - _sequence -s : _describe -t sections 'manual section' specs - elif [[ $variant == solaris* ]]; then - _sequence -s , _describe -t sections 'manual section' specs - else - _describe -t sections 'manual section' specs - fi - return - } - - if zstyle -t ":completion:${curcontext}:manuals" separate-sections; then - local d ret=1 - - (( $#sects )) || return 1 - - if [[ $PREFIX$SUFFIX == */* ]]; then - _tags manuals.${^sects} files - else - _tags manuals.${^sects} - fi - - while _tags; do - for sect_dirname in $sects; do - d=$sect_dirname - (( $+sect_descs[$d] )) && d+=" (${sect_descs[$d]})" - - _requested manuals.$sect_dirname expl "manual page, section $d" _man_pages && - ret=0 - done - [[ $PREFIX$SUFFIX == */* ]] && - _requested files expl directory _files -/ && ret=0 - (( ret )) || return 0 - done - ## To fall back to other sections' manpages when completing filenames, like - ## the 'else' codepath does: - # - # if (( ret )) && [[ $PREFIX$SUFFIX == */* ]]; then - # sect_dirname= - # _wanted manuals expl 'manual page' _man_pages && return - # fi - - return 1 - else - sect_dirname= - _wanted manuals expl 'manual page' _man_pages - fi -} - -_man_pages() { - local pages sopt tmp - - # What files corresponding to manual pages can end in. - local suf='.((?|<->*|ntcl)(|.gz|.bz2|.z|.Z|.lzma))' - - if [[ $PREFIX$SUFFIX = */* ]]; then - # Easy way to test for versions of man that allow file names. - # This can't be a normal man page reference. - # Try to complete by glob first. - if [[ -n $sect_dirname ]]; then - _path_files -g "*.*$sect_dirname*(|.gz|.bz2|.z|.Z|.lzma)" "$expl[@]" - else - _path_files -g "*$suf" "$expl[@]" && return - _path_files "$expl[@]" - fi - return $? - fi - - pages=( ${(M)dirs:#*$sect_dirname/} ) - pages=( ${^pages}/"*${sect:+.$sect"*"}" ) - pages=( ${^~pages}(N:t) ) - - (($#mrd)) && pages[$#pages+1]=($(awk $awk $mrd)) - - # Remove any compression suffix, then remove the minimum possible string - # beginning with .<->: that handles problem cases like files called - # `POSIX.1.5'. - - [[ $variant = solaris* ]] && sopt='-s ' - if ! ((CURRENT > 1 || noinsert)); then - zstyle -s ":completion:${curcontext}:manuals.$sect_dirname" insert-sections tmp - fi - case "$tmp" in - prepend|true|on|yes|1) - compadd "$@" -P "$sopt$sect_dirname " - ${pages%$~suf} - ;; - suffix) - compadd "$@" -s ".$sect_dirname" - ${pages%$~suf} - ;; - *) - compadd "$@" - ${pages%$~suf} - ;; - esac -} - -_man "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat deleted file mode 100644 index ff65167f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mat - -# Completion for mat 0.6.1 (https://tails.boum.org/blueprint/doc/mat) - -local curcontext="$curcontext" state line -typeset -A opt_args -_arguments \ - '(- *)'{-h,--help}'[show help message and exit]' \ - '(-a --add2archive)'{-a,--add2archive}'[add to output archive non-supported filetypes]' \ - '(-b --backup)'{-b,--backup}'[keep a backup copy]' \ - '(-L --low-pdf-quality)'{-L,--low-pdf-quality}'[produces a lighter, but lower quality PDF]' \ - '(-c --check -b --backup)'{-c,--check}'[check if a file is free of harmful metadatas]' \ - '(-d --display -b --backup)'{-d,--display}'[list all the harmful metadata of a file without removing them]' \ - '(- *)'{-l,--list}'[list all supported fileformats]' \ - '(- *)'{-v,--version}"[show program's version number and exit]" \ - '*:file:_files -g "*.(tif|tiff|png|jpeg|jpg|jpe|odt|fodt|odx|odp|fodp|ods|fods|odg|fodg|docx|docm|pptx|pptm|xlsx|xlsm|pdf|tar|tar.bz2|tar.gz|zip|mp3|mp2|mp1|mpa|ogg|oga|flac|torrent)"' - # they are all that are in --list - # might not be all the supported files - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat2 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat2 deleted file mode 100644 index 98dd1d05..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mat2 +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mat2 - -# Completion for mat2 0.11.0 (https://0xacab.org/jvoisin/mat2). - -local curcontext="$curcontext" state line -typeset -A opt_args -_arguments \ - '(- *)'{-h,--help}'[show help message and exit]' \ - '(-V --verbose)'{-V,--verbose}'[show more verbose status information]' \ - --unknown-members'[policy how to handle unknown members of archive-style files]:policy:(abort omit keep)' \ - --inplace'[clean in place, without backup]' \ - --no-sandbox"[disable bubblewrap's sandboxing]" \ - '(- *)'{-v,--version}"[show program's version number and exit]" \ - '(- *)'{-l,--list}'[list all supported fileformats]' \ - '(- *)'--check-dependencies'[check if mat2 has all the dependencies it needs]' \ - '(-L --lightweight -s --show)'{-L,--lightweight}'[remove SOME metadata]' \ - '(-s --show -L --lightweight)'{-s,--show}'[list harmful metadata detectable by mat2 without removing them]' \ - '*:file:_files -g "*.(epub|pdf|odc|odf|odg|odi|odp|ods|odt|pptx|xlsx|docx|torrent|ncx|tar|xhtml|xhtm|xht|zip|mp3|mpga|mp1|mp2|oga|opus|ogg|spx|flac|wav|gif|jpg|jpe|jfif|jpeg|png|svgz|svg|tiff|tif|bmp|ppm|css|htm|html|cxx|text|log|txt|hh|hxx|el|conf|cc|pm|f90|mpg4|m4v|mp4|wmv|avi)"' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_match deleted file mode 100644 index a6aaa3f0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_match +++ /dev/null @@ -1,81 +0,0 @@ -#autoload - -# This is intended to be used as a completer function after the normal -# completer as in: `zstyle ":completion:::::" completer _complete _match'. -# It temporarily switches on pattern matching, allowing you to try -# completion on patterns without having to setopt glob_complete. -# -# Note, however, that this is only really useful if you don't use the -# expand-or-complete function because otherwise the pattern will -# be expanded using globbing. - -### Shouldn't be needed any more: [[ _matcher_num -gt 1 ]] && return 1 - -local tmp opm="$compstate[pattern_match]" ret=1 orig ins -local oms="$_old_match_string" -local ocsi="$compstate[insert]" ocspi="$compstate[pattern_insert]" - -# Do nothing if we don't have a pattern. - -tmp="${${:-$PREFIX$SUFFIX}#[~=]}" -[[ "$tmp:q" = "$tmp" ]] && return 1 - -_old_match_string="$PREFIX$SUFFIX$HISTNO" - -_tags matches original - -zstyle -s ":completion:${curcontext}:" match-original orig -zstyle -s ":completion:${curcontext}:" insert-unambiguous ins - -# Try completion without inserting a `*'? - -if [[ -n "$orig" ]]; then - compstate[pattern_match]='-' - _complete && ret=0 - compstate[pattern_match]="$opm" - - # No completion with inserting `*'? - - [[ ret -eq 1 && "$orig" = only ]] && return 1 -fi - -if (( ret )); then - compstate[pattern_match]='*' - _complete && ret=0 - compstate[pattern_match]="$opm" -fi - -if (( ! ret )); then - - if [[ "$ins" = pattern && $compstate[nmatches] -gt 1 ]]; then - - [[ "$oms" = "$PREFIX$SUFFIX$HISTNO" && - "$compstate[insert]" = automenu-unambiguous ]] && - compstate[insert]=automenu - [[ "$compstate[insert]" != *menu ]] && - compstate[pattern_insert]= compstate[insert]= - -# We tried to be clever here, making completion insert unambiguous -# expansions as early as possible, but this is really hard to test -# and the code below probably does more harm than good. -# -# [[ $compstate[unambiguous_cursor] -gt $#compstate[unambiguous] ]] && -# ins=yes compstate[insert]="$ocsi" compstate[pattern_insert]="$ocspi" - fi - - if [[ "$ins" = (true|yes|on|1) && - $#compstate[unambiguous] -ge ${#:-${PREFIX}${SUFFIX}} ]] - then - compstate[pattern_insert]=unambiguous - elif _requested original && - { [[ compstate[nmatches] -gt 1 ]] || - zstyle -t ":completion:${curcontext}:" original }; then - local expl - - _description -V original expl original - - compadd "$expl[@]" -U -Q - "$PREFIX$SUFFIX" - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math deleted file mode 100644 index f82f1c0f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math +++ /dev/null @@ -1,14 +0,0 @@ -#compdef -math- let - -if [[ "$PREFIX" = *[^a-zA-Z0-9_]* ]]; then - IPREFIX="$IPREFIX${PREFIX%%[a-zA-Z0-9_]#}" - PREFIX="${PREFIX##*[^a-zA-Z0-9_]}" -fi -if [[ "$SUFFIX" = *[^a-zA-Z0-9_]* ]]; then - ISUFFIX="${SUFFIX##[a-zA-Z0-9_]#}$ISUFFIX" - SUFFIX="${SUFFIX%%[^a-zA-Z0-9_]*}" -fi - -_alternative 'math-parameters:math parameter: _math_params' \ - 'user-math-functions:user math function: _user_math_func' \ - 'module-math-functions:math function from zsh/mathfunc: _module_math_func' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math_params b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math_params deleted file mode 100644 index 8a4b9e1b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_math_params +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_parameters -g '(integer|float)*' || _parameters diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_matlab b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_matlab deleted file mode 100644 index 0a52b9df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_matlab +++ /dev/null @@ -1,23 +0,0 @@ -#compdef matlab - -_arguments : \ - {-h,-help}'[display arguments]' \ - '(-)-n[display final environment variables, and exit]' \ - '(-)-e[display all environment variables and values, and exit]' \ - '-arch[start MATLAB assuming architecture arch]:architecture:' \ - '-c[set location of the license file]:licensefile:_files' \ - '(-nodisplay)-display:display:_x_display' \ - '(-display)-nodisplay[do not display any X commands]' \ - '-nosplash[do not display the splash screen during startup]' \ - '-mwvisual[the default X visual to use for figure windows]:visualid:' \ - '(-nosoftwareopengl)-softwareopengl' '(-softwareopengl)-nosoftwareopengl' \ - '-singleCompThread[limit to single computational thread]' \ - '-debug[provide debugging information especially for X based problems]' \ - '(-nodesktop -nojvm)-desktop[allow the MATLAB desktop to be started by a process without a controlling terminal]' \ - '(-desktop -nojvm)-nodesktop[do not start the MATLAB desktop]' \ - '(-nodesktop -desktop)-nojvm[shut off all Java support by not starting the Java virtual machine]' \ - '-jdb[enable remote java debugging]::port [4444]:_ports' \ - '-r[start MATLAB and execute the MATLAB_command]:MATLAB_command:' \ - '-logfile[copy any command window output to a file]:log file:_files' \ - '-D-:debugger:_command_names -e' \ - '-nouserjavapath[ignore custom javaclasspath.txt and javalibrarypath.txt files]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_md5sum b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_md5sum deleted file mode 100644 index e0de826a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_md5sum +++ /dev/null @@ -1,53 +0,0 @@ -#compdef md5sum gmd5sum b2sum gb2sum sha1sum gsha1sum sha224sum gsha224sum sha256sum gsha256sum sha384sum gsha384sum sha512sum gsha512sum - -# This function covers the various digest utilities (which are all essentially -# the same program) from GNU Coreutils. It does NOT cover GNU `cksum` and `sum`, -# nor the various BSD digest utilities like `md5` and `sha1` — see `_cksum` for -# all of those. See `_shasum` for the `shasum` Perl script. -# -# @todo Support BusyBox? - -local type ign -local -a args - -case $service in - *md5*) type=MD5 ;; - *b2*) type=BLAKE2 ;; - *sha*) type=SHA${service//[^0-9]/} ;; -esac - -# General options -(( $#words > 2 )) && ign='!' -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' -) -# Summing options -args=( ${ign}${^args} - + sum - '(chk)--tag[create BSD-style checksums]' - '(chk -b -t --binary --text)'{-b,--binary}'[read in binary mode]' - '(chk -b -t --binary --text)'{-t,--text}'[read in text mode]' - '(chk -z --zero)'{-z,--zero}'[end each output line with NUL and disable filename escaping]' -) -# This is the only option that differs amongst all of these tools -[[ $service == *b2* ]] && args+=( - '(chk -l --length)'{-l+,--length=}'[specify digest length]:digest length (bits, multiples of 8)' -) -# Verification options -args+=( - + chk - '(sum -c --check)'{-c,--check}"[verify $type checksums from input files]" - "(sum)--ignore-missing[don't fail or report status for missing files]" - "(sum)--quiet[don't print OK for each verified file]" - '(sum -w --warn)--status[suppress all output]' - '(sum)--strict[exit non-zero for improperly formatted checksum lines]' - '(sum -w --status --warn)'{-w,--warn}'[warn about each improperly formatted checksum line]' -) -# Operands -args+=( - + operand - '*: :_files' -) - -_arguments -s -S : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdadm deleted file mode 100644 index 5b73ef4b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdadm +++ /dev/null @@ -1,179 +0,0 @@ -#compdef mdadm - -typeset -A opt_args -local -a args misc modes - -_raids_build () { - _values -S \ "MD device type" \ - 'linear[linear]' \ - {0,raid0,stripe}'[striping]' \ - {1,raid1,mirror}'[mirroring]' \ - {multipath,mp}'[multiple paths to one common physical storage device]' \ - 'faulty[injects faults]' -} - -_raids () { - _values -S \ "MD device type" \ - 'linear[linear]' \ - {0,raid0,stripe}'[striping]' \ - {1,raid1,mirror}'[mirroring]' \ - {4,raid4}'[RAID 4]' \ - {5,raid5}'[RAID 5]' \ - {6,raid6}'[RAID 6]' \ - {10,raid10}'[RAID 1+0]' \ - {multipath,mp}'[multiple paths to one common physical storage device]' \ - 'faulty[injects faults]' -} - -_layouts () { - case ${(v)opt_args[(I)-(l|-level)]} in - 5|raid5) - _values -S \ "RAID5 parity block layout" \ - {left-asymmetric,la}'[left-asymmetric]' \ - {left-symmetric,ls}'[left-symmetric]' \ - {right-asymmetric,ra}'[right-asymmetric]' \ - {right-symmetric,rs}'[right-symmetric]' - ;; - 10|raid10) - _values -s ' ' 'RAID10 layout with number of copies of each datablock' \ - 'n1[near copies]' \ - 'n2[near copies]' \ - 'n3[near copies]' \ - 'n4[near copies]' \ - 'n5[near copies]' \ - 'n6[near copies]' \ - 'n7[near copies]' \ - 'n8[near copies]' \ - 'n8[near copies]' \ - 'f1[far copies]' \ - 'f2[far copies]' \ - 'f3[far copies]' \ - 'f4[far copies]' \ - 'f5[far copies]' \ - 'f6[far copies]' \ - 'f7[far copies]' \ - 'f8[far copies]' \ - 'f9[far copies]' - ;; - faulty) - _values -S \ "failure mode" \ - {write-transient,wt}'[write-transient]' \ - {read-transient,rt}'[read-transient]' \ - {write-persistent,wp}'[write-persistent]' \ - {read-persistent,rp}'[read-persistent]' \ - write-all'[write-all]' \ - {read-fixable,rf}'[read-fixable]' \ - {clear,none}'[remove any pending or periodic failure modes]' \ - flush'[clear any persistent faults]' - esac -} - -if (( $+words[(r)-(A|-assemble)] )); then - args=( - '(--bitmap)'--bitmap='[bitmap file to use with the array]::bitmap file:_files' - '(--uuid -u)'{--uuid=,-u}'[UUID of array to assemble]:UUID' - '(--super-minor -m)'{--super-minor=,-m}'[minor number to look for in super-block]:minor number' - '(--name -N)'{--name=,-N}'[array name to look for in super-block]:array name' - '(--config -c)'{--config=,-c}'[config file]::config file:_files' - '(--scan -s)'{--scan,-s}'[scan config file for missing information]' - '(--run -R)'{--run,-R}'[try to start the array even if not enough devices for a full array are present]' - '(--force -f)'{--force,-f}'[assemble the array even if some superblocks appear out-of-date]' - '(--update -U)'{--update=,-U}'[update superblock]::update the superblock:(sparc2.2 summaries uuid resync byteorder super-minor)' - ) -fi - -if (( $+words[(r)-(B|-build)] )); then - args=( - '(--bitmap)'--bitmap='[file to store/find bitmap information in]::bitmap file:_files' - '(--chunk -c)'{--chunk=,-c}'[chunk size of kibibytes]:chunk size' - '(--rounding)'--rounding='[rounding factor for linear array (==chunk size)]:rounding factor' - '(--level -l)'{--level=,-l}'[RAID level]::RAID level:_raids_build' - '(--raid-devices -n)'{--raid-devices=,-n}'[number of active devices in array]:active devices number' - '(--bitmap-chunk)'--bitmap-chunk='[bitmap chunksize in Kilobytes]:bitmap chunk' - '(--delay -d)'{--delay=,-d}'[bitmap update delay in seconds]:bitmap update delay' - ) -fi - -if (( $+words[(r)-(C|-create)] )); then - args=( - '(--bitmap)'--bitmap='[create a bitmap for the array with the given filename]::bitmap file:_files' - '(--chunk -c)'{--chunk=,-c}'[chunk size of kibibytes]:chunk size' - '(--rounding)'--rounding='[rounding factor for linear array (==chunk size)]:rounding factor' - '(--level -l)'{--level=,-l}'[RAID level]::RAID level:_raids' - '(--parity -p --layout)'{--parity=,-p,--layout=}'[RAID5/6/10 parity algorithm, faulty mode]::layout:_layouts' - '(--raid-devices -n)'{--raid-devices=,-n}'[number of active devices in array]:active devices number' - '(--spare-devices -x)'{--spare-devices=,-x}'[number of spares (eXtras) devices in initial array]:spare devices number' - '(--size -z)'{--size=,-z}'[size (in K) of each drive in RAID1/4/5/6/10]:size of each drive' - '(--force -f)'{--force,-f}'[honour devices as listed on command line]' - '(--run -R)'{--run,-R}'[insist of running the array even if not all devices are present or some look odd]' - '(--readonly -o)'{--readonly,-o}'[start the array readonly]' - '(--name -N)'{--name=,-N}'[textual name for array - max 32 characters]:array name' - '(--bitmap-chunk)'--bitmap-chunk='[bitmap chunksize in Kilobytes]:bitmap chunk' - '(--delay -d)'{--delay,-d}'[bitmap update delay in seconds]:bitmap update delay' - ) -fi - -if (( $+words[(r)-([DEXQ]|-(detail|examine(|-bitmap)|query))] )); then - args=( - '(--zero-superblock)'--zero-superblock'[erase the MD superblock from a device]' - '(--run -R)'{--run,-R}'[start a partially built array]' - '(--stop -S)'{--stop,-S}'[deactivate array, releasing all resources]' - '(--readonly -o)'{--readonly,-o}'[mark array as readonly]' - '(--readwrite -w)'{--readwrite,-w}'[mark array as readwrite]' - '(--test -t)'{--test,-t}'[exit status 0 if ok, 1 if degrade, 2 if dead, 4 if missing]' - ) -fi - -if (( $+words[(r)-(F|-follow|-monitor)] )); then - args=( - '(--mail -m)'{--mail=,-m}'[address to mail alerts of failure to]:::_email_addresses' - '(--program -p --alert)'{--program=,-p,--alert=}'[program to run when an event is detected]::program:_files' - '(--delay -d)'{--delay=,-d}'[seconds of delay between polling state]:seconds' - '(--config -c)'{--config=,-c}'[specify a different config file]::config file:_files' - '(--scan -s)'{--scan,-s}'[find mail-address/program in config file]' - '(--daemonise -f)'{--daemonise,-f}'[fork and continue in child, parent exits]' - '(--pid-file -i)'{--pid-file=,-i}'[in daemon mode write pid to specified file instead of stdout]::PID file:_files' - '(--oneshot -1)'{--oneshot,-1}'[check for degraded arrays, then exit]' - '(--test -t)'{--test,-t}'[generate a TestMessage event against each array at startup]' - ) -fi - -if (( $+words[(r)-(G|-grow)] )); then - args=( - '(--size -z)'{--size=,-z}'[change the active size of devices in an array]:active size' - '(--raid-disks -n)'{--raid-disks=,-n}'[change the number of active devices in a RAID1 array]:number of active devices' - ) -fi - -_mds () { - local -a vals - if [ -r /etc/mdadm.conf ] ; then - local mdadm_conf=/etc/mdadm.conf - elif [ -r /etc/mdadm/mdadm.conf ] ; then - local mdadm_conf=/etc/mdadm/mdadm.conf - else - _message "could not find mdadm.conf" - return 1 - fi - vals=( ${${${(M)${(f)"$(< $mdadm_conf)"}##ARRAY *}//ARRAY /}%%[[:blank:]]*} ) - _describe -t mds "RAID device" vals - _arguments \ - "(-h --help)"{-h,--help}'[display a mode specific help message]' -} - -modes=(-A --assemble -B --build -C --create -F --follow --monitor -G --grow -h --help -V --version) -misc=(-D --detail -E --examine -X --examine-bitmap -Q --query) - -_arguments \ - "($misc $modes)"{-A,--assemble}'[assemble a pre-existing array]:::_mds' \ - "($misc $modes)"{-B,--build}'[build a legacy array without superblocks]:::_mds' \ - "($misc $modes)"{-C,--create}'[create a new array]' \ - "($misc $modes)"{-F,--follow,--monitor}'[select Monitor mode]' \ - "($misc $modes)"{-G,--grow}'[change the size or shape of an active array]' \ - "($modes -D --detail -E --examine -X --examine-bitmap)"{-D,--detail}'[print detail of one or more md devices]' \ - "($modes -D --detail -E --examine -X --examine-bitmap -Q --query)"{-E,--examine}'[print content of md superblock on device(s)]' \ - "($modes -Q --query)"{-Q,--query}'[examine a device]' \ - "($modes -E --examine -X --examine-bitmap)"{-X,--examine-bitmap}'[report information about a bitmap file]' \ - "(-)"{-h,--help}'[display general help message]' \ - "(-)"{-V,--version}'[print version information for mdadm]' \ - "$args[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdfind b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdfind deleted file mode 100644 index b38b0ee9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdfind +++ /dev/null @@ -1,29 +0,0 @@ -#compdef mdfind - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '(-count)-0[separate result paths by NUL]' \ - '(-0)-count[display count of results instead of paths]' \ - '(-literal)-interpret[interpret query as if entered in Spotlight search field]' \ - '(-interpret)-literal[interpret query as literal query string]' \ - '-live[provide live updates to query results]' \ - '-onlyin[limit search to specified directory]: :_directories' \ - '(: -s)*-name[search for files with names matching specified string]:file name string' \ - '-reprint[reprint -live results on update]' \ - '(: -name)-s[show contents of specified smart folder]: :->smart-folders' \ - '(-s -name)1: :_guard "^-*" "query"' \ -&& ret=0 - -[[ $state == smart-folders ]] && { - tmp=( "$HOME/Library/Saved Searches/"*.savedSearch(-.N:r:t) ) - if (( $#tmp )); then - _values 'smart folder' $tmp && ret=0 - else - _message 'smart folder' && ret=0 - fi -} - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdls deleted file mode 100644 index 853cafd0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdls +++ /dev/null @@ -1,9 +0,0 @@ -#compdef mdls - -# Note: The inconsistent use of the -o+ option variant here is deliberate -_arguments -s -S : \ - '*'{-n+,-name}'[restrict output to specified attribute]:attribute' \ - '(-p -plist)-nullMarker[specify string used for null values]:string' \ - '(-p -r -nullMarker -plist -raw)'{-p,-plist}'[output in XML plist format to specified file]:output file:_files' \ - '(-p -r -plist -raw)'{-r,-raw}'[print raw (NUL-delimited) attribute data]' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdutil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdutil deleted file mode 100644 index abac690a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mdutil +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mdutil - -# @todo This isn't fully comprehensive, but it's unclear from the documentation -# how some of these options are meant to work together or what kind of arguments -# they expect - -local -a volumes=( / /Volumes/*(N) ) - -_arguments -s -S : \ - '(-V)-a[apply to all volumes]' \ - '-d[disable Spotlight activity]' \ - '-E[erase and rebuild index]' \ - '-i[toggle indexing status]:indexing status:(on off)' \ - '-p[publish metadata]' \ - '-s[print indexing status]' \ - '(: -)-t[resolve files from specified file ID]:file ID, volume path, or device ID: :file ID' \ - "(-a)-V[apply to stores on specified volume]:volume:(${(j< >)${(@q-)volumes}})" \ - '-v[output verbosely]' \ - "*:volume:(${(j< >)${(@q-)volumes}})" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_members b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_members deleted file mode 100644 index ffe3d4d4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_members +++ /dev/null @@ -1,9 +0,0 @@ -#compdef members - -_arguments \ - '(-a --all)'{-a,--all}'[show all group members on one line]' \ - '(-p --primary)'{-p,--primary}'[show only primary group members]' \ - '(-s --secondary)'{-s,--secondary}'[show only secondary group members]' \ - '(-t --two-lines)'{-t,--two-lines}'[show only primary/secondary across two lines]' \ - '(-h --help)'{-h,--help}'[show help]' \ - ':group:_groups' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mencal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mencal deleted file mode 100644 index 4286b94c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mencal +++ /dev/null @@ -1,27 +0,0 @@ -#compdef mencal - -local curcontext="$curcontext" state line ret=1 - -_arguments -C \ - '(--monday -m)'{-m,--monday}'[monday as first day of work]' \ - '-1[current month]' \ - '-3[previous, current, and next month]' \ - '-y[all-year calendar]::year:' \ - '(--quiet -q)'{-q,--quiet}'[no top information]' \ - '(--nocolor -n)'{-n,--nocolor}'[noncolored output]' \ - '(--icolor -i)'{-i,--icolor}'[intersection color]:color:(red green blue yellow violet cyan shiny bold)' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-V,--version}'[print version information]' \ - \*{-c,--config}'[config]:options:->option' && ret=0 - -if [[ $state = option ]]; then - _values -s , 'config option' \ - '(s start)'{s,start}'[start day]:day' \ - '(l length)'{l,length}'[period length]:length' \ - '(d duration)'{d,duration}'[menstruation duration]:duration' \ - '(n name)'{n,name}'[name of subject]:name' \ - '(f file)'{f,file}'[filename]:file:_files' \ - '(c color)'{c,color}'[color for menstruation days]:color:(red green blue yellow violet cyan shiny bold)' && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_menu b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_menu deleted file mode 100644 index 0e12cb76..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_menu +++ /dev/null @@ -1,23 +0,0 @@ -#autoload - -[[ _matcher_num -gt 1 ]] && return 1 - -# This completer is an example showing how menu completion can be -# implemented with the new completion system. -# Use this one before the normal _complete completer, as in: -# -# zstyle ":completion:::::" completer _menu _complete - -if [[ -n "$compstate[old_list]" ]]; then - - # We have an old list, keep it and insert the next match. - - compstate[old_list]=keep - compstate[insert]=$((compstate[old_insert]+1)) -else - # No old list, make completion insert the first match. - - compstate[insert]=1 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mere b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mere deleted file mode 100644 index bd051e9f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mere +++ /dev/null @@ -1,3 +0,0 @@ -#compdef mere - -_files -g '*.[1-9]([a-z]|)(-.) *.man(-.)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mergechanges b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mergechanges deleted file mode 100644 index 607fdacb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mergechanges +++ /dev/null @@ -1,5 +0,0 @@ -#compdef mergechanges - -_arguments \ - '-f[output to file]' \ - '*:changes file:_files -g "*.changes(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_message b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_message deleted file mode 100644 index dbeed4a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_message +++ /dev/null @@ -1,45 +0,0 @@ -#autoload - -local format raw gopt - -if [[ "$1" = -e ]]; then - local expl ret=1 tag - - _comp_mesg=yes - - if (( $# > 2 )); then - tag="$2" - shift - else - tag="$curtag" - fi - _tags "$tag" && while _next_label "$tag" expl "$2"; do - compadd ${expl:/-X/-x} - ret=0 - done - - (( ! $compstate[nmatches] )) && [[ $compstate[insert] = *unambiguous* ]] && - compstate[insert]= - - return ret -fi - -gopt=() -zparseopts -D -a gopt 1 2 V J - -_tags messages || return 1 - -if [[ "$1" = -r ]]; then - raw=yes - shift - format="$1" -else - zstyle -s ":completion:${curcontext}:messages" format format || - zstyle -s ":completion:${curcontext}:descriptions" format format -fi - -if [[ -n "$format$raw" ]]; then - [[ -z "$raw" ]] && zformat -F format "$format" "d:$1" "${(@)argv[2,-1]}" - builtin compadd "$gopt[@]" -x "$format" - _comp_mesg=yes -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mh deleted file mode 100644 index 3eddd41a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mh +++ /dev/null @@ -1,111 +0,0 @@ -#compdef ali anno burst comp dist flist flists fmttest folder folders forw fnext fprev inc mark mhfixmsg mhlist mhmail mhn mhparam mhpath mhshow mhstore msgchk new next packf pick prev refile repl rmf rmm scan show sortm whom - -if [[ -z $commands[mhpath] ]]; then - _message "MH commands are not available" - return 1 -fi - -# Completion for all possible MH commands. -local mymhdir=${$(_call_program mhpath mhpath + 2>/dev/null):-~/Mail} -local mhlib=/usr/lib/mh - -local prev="$words[CURRENT-1]" expl - -if compset -P 1 -; then - # get list of options, which MH commands can generate themselves - # awk is just too icky to use for this, sorry. send me one if - # you come up with it. - local -a options disp - options=( - $($words[1] -help | perl -ne 'if (/^\s*-\(?(\S+)/) { - $n = $1; - $n =~ s/\)//g; - print $n =~ s/^\[([a-z]+)\]// ? "$n\n$1$n\n" : "$n\n"; - }') - ) - if zstyle -t ":completion:${curcontext}:options" prefix-hidden; then - _wanted options expl option compadd -d disp - "$options[@]" - else - disp=( -${options} ) - _wanted options expl option compadd -d disp - "$options[@]" - fi - return -elif compset -P 1 '[+@]' || [[ "$prev" = -draftfolder ]]; then - # Complete folder names. - local mhpath - - if [[ $IPREFIX != '@' ]]; then - [[ $IPREFIX = '+' ]] || IPREFIX=+ - mhpath=$mymhdir - else - mhpath=$(mhpath) - fi - - _wanted files expl 'MH folder' _path_files -W mhpath -/ -elif [[ "$prev" = -(editor|(whatnow|rmm|show|more)proc) ]]; then - _command_names -e -elif [[ "$prev" = -file ]]; then - _files -elif [[ "$prev" = -(form|audit|filter) ]]; then - # Need some MH template file, which may be in our own MH directory - # or with the standard library. - local mhfpath - # This is the only place we need mhlib, so leave the test till here. - mhlib=${${$(mhparam mhlproc 2>/dev/null):h}:-/usr/lib/mh} - mhfpath=($mymhdir $mhlib) - - _wanted files expl 'MH template file' _files -W mhfpath -g '*(-.)' -elif [[ $service = mhmail ]]; then - _email_addresses -elif [[ "$prev" = -(no|)cc ]]; then - _wanted -C "$prev" values expl 'CC address' compadd all to cc me -elif [[ "$prev" = -[rw]cache ]]; then - _wanted -C "$prev" values expl cache compadd public private never ask -elif [[ "$prev" = -textfield ]]; then - _wanted -C "$prev" -x headers expl header compadd -M 'm:{a-zA-Z}={A-Za-z}' \ - Subject From To cc -elif [[ "$prev" = -datefield ]]; then - _wanted -C "$prev" -x headers expl header compadd -M 'm:{a-zA-Z}={A-Za-z}' \ - Delivery-Date -elif [[ $service = mhparam ]]; then - _wanted parameters expl 'MH parameter' compadd - \ - ${${(f)"$(mhparam -all)"}%%:*} -elif [[ $service = ali ]]; then - _email_addresses -n MH -elif compset -P '*:'; then - _alternative \ - 'sequences:sub-sequence:(first last cur prev next)' - 'number: : _message -e number "number of messages"' -else - # Generate sequences. - local foldnam folddir f sequences mhneg ret=1 - - compset -P '*-' # ignore start of message range - - for f in $words; do - [[ $f = [@+]* ]] && foldnam=$f - done - if [[ $foldnam = '+'* ]]; then - folddir=$mymhdir/${foldnam#+} - elif [[ $foldnam = '@'* ]]; then - folddir=$(mhpath)/${foldnam#@} - else - folddir=$(mhpath) - # leaving foldnam empty works here - fi - - sequences=( ${${(f)"$(mark $foldnam 2>/dev/null)"}%%:*} ) - mhneg="$(mhparam Sequence-Negation)" && sequences=( {,$mhneg}$^sequences ) - sequences+=( all first last prev next ) - [[ $service = mhpath ]] && sequences+=( new ) - _tags sequences - while _tags; do - while _next_label sequences expl sequence; do - compadd -S ' ' -r '-: \t\n\-' "$expl[@]" -a sequences && ret=0 - _path_files -S ' ' -r '-: \t\n\-' "$expl[@]" -W folddir -g '<->(-.)' && - ret=0 - done - (( ret )) || return 0 - done - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mii-tool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mii-tool deleted file mode 100644 index 72c47a47..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mii-tool +++ /dev/null @@ -1,13 +0,0 @@ -#compdef mii-tool - -_arguments -s -S \ - '(- *)'{-V,--version}'[display version information]' \ - '(-v --verbose)'{-v,--verbose}'[verbose output]' \ - '(-R --reset)'{-R,--reset}'[reset MII to poweron state]' \ - '(-r --restart)'{-r,--restart}'[restart autonegotiation]' \ - '(-w --watch)'{-w,--watch}'[monitor for link status changes]' \ - '(-l --log)'{-l,--log}'[write events to syslog]' \ - '(-A --advertise)'{-A,--advertise=}'[advertise only specified media]:medium:_values -s , medium 1000baseTx-HD 1000baseTx-FD 100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD 1000baseTx 100baseTx 10baseT' \ - '(-F --force)'{-F,--force=}'[force specified medium]:medium:(100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD 100baseTx 10baseT)' \ - '(-p --phy)'{-p,--phy=}'[set PHY (MII address) to report]:MII address' \ - '*:interface:_net_interfaces' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mime_types b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mime_types deleted file mode 100644 index 18a332e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mime_types +++ /dev/null @@ -1,42 +0,0 @@ -#autoload - -local expl maintype -local -a default_type_files type_files match mbegin mend -integer ind - -default_type_files=(~/.mime.types /etc/mime.types) - -# This is the same style as used by zsh-mime-setup, with a different -# context. -if zstyle -a ":completion:${curcontext}:" mime-types type_files; then - while (( (ind = ${type_files[(I)+]}) > 0 )); do - type_files[$ind]=($default_type_files) - done -else - type_files=($default_type_files) -fi - -# -# Handle two different mime type formats; the simple -# format: -# application/x-pws-frobnicate psf pwsf -# and the extended format -# type=application/x-pws-frobnicate \ -# desc="PWS frobnicated widget" \ -# exts="pwsf,psf" -# which Netscape seems to like. -# - -if [[ $PREFIX = (#b)([^/]##)/* ]]; then - # Search for subtype. - maintype=$match[1] - compset -p $(( ${#maintype} + 1 )) - _wanted mime-subtypes expl 'MIME subtype' \ - compadd -- $(sed -ne "s%^\(type=\|\)${maintype}/\([^ ]*\).*$%\2%p" \ - $type_files 2>/dev/null) -else - # Search for main type. - _wanted mime-types expl 'MIME type' \ - compadd -S/ -- $(sed -ne "s/^type=//" \ - -e "s%^\(${PREFIX:-[a-z]}[^=\"]*\)/.*$%\1%p" $type_files 2>/dev/null) -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mixerctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mixerctl deleted file mode 100644 index d2a9ea3e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mixerctl +++ /dev/null @@ -1,11 +0,0 @@ -#compdef mixerctl - -: ${(A)_cache_mixerctlvars:=${${(f)"$(mixerctl -a)"}%%=*}} -_arguments -s -S -A "-*" \ - '(-q -t *)-a[Print all device variables and their current values]' \ - '-f[Specify an alternative audio mixing device]:file:_files -g "*(-%c)"' \ - '(-q -t)-n[Suppress printing of the variable name]' \ - '(-a -n -v)-q[Suppress all printing when setting a variable]' \ - '(-a -n -v)-t[Attempt to select the next possible value of an enum]' \ - '(-q -t)-v[Show all possible values of variables]' \ - '(-a)*:mixerctl variable:_multi_parts -i -S = -q . _cache_mixerctlvars' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkdir b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkdir deleted file mode 100644 index 4cd6bda3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkdir +++ /dev/null @@ -1,49 +0,0 @@ -#compdef mkdir gmkdir zf_mkdir - -local curcontext="$curcontext" variant ret=1 -local -a state line expl args aopts=( -A '-*' ) -typeset -A opt_args - -args=( - '(-m --mode)'{-m,--mode=}'[set permission mode]: :_file_modes' - '(-p --parents)'{-p,--parents}'[make parent directories as needed]' - '*: :->directories' -) - -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help - -case $variant in - gnu|freebsd*|dragonfly*|darwin*) - args+=( - '(-v --verbose)'{-v,--verbose}'[print message for each created directory]' - ) - ;| - gnu) - aopts=() - if [[ $OSTYPE == linux* ]]; then - args+=( - '(--context)-Z[set SELinux context]' - '(-Z)--context=-[set SELinux context]::SELinux context:_selinux_contexts' - ) - fi - args+=( - '(- :)--help[display help information]' - '(- :)--version[display version information]' - ) - ;; - *) # non-GNU: remove long options - args=( ${${${args:#(|*\))--*}//--[^ )]#/}/\( #\)/} ) - ;; -esac - -_arguments -C -s -S $aopts $args && ret=0 - -case "$state" in - directories) - _wanted directories expl \ - 'parent directory or name of directory to create' \ - _path_files -/ && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkfifo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkfifo deleted file mode 100644 index a055e4a1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkfifo +++ /dev/null @@ -1,20 +0,0 @@ -#compdef mkfifo gmkfifo - -local -a aopts args - -if _pick_variant gnu='Free Soft' unix --version; then - args=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-m --mode)'{-m+,--mode=}'[specify file mode]: :_file_modes' - ) - [[ $OSTYPE == linux* ]] && args+=( - '(--context)-Z[set SELinux security context to default]' - '(-Z)--context=-[like -Z, or specify SELinux security context]::SELinux security context:_selinux_contexts' - ) -else - aopts=( -A '-*' ) - args=( '-m+[specify file mode]: :_file_modes' ) -fi - -_arguments -s -S $aopts : '*:FIFO:_files' $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mknod b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mknod deleted file mode 100644 index 8f07328d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mknod +++ /dev/null @@ -1,45 +0,0 @@ -#compdef mknod gmknod - -# - @todo Major/minor device numbers could be completed using /proc/devices on -# Linux and e.g. `stat -f %Hr /dev/*` on BSD/Darwin -# - @todo Device numbers should not be completed given p or w types - -local -a aopts args - -if _pick_variant gnu='Free Soft' $OSTYPE --version; then - args=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-m --mode)'{-m+,--mode=}'[specify file mode]: :_file_modes' - '1:special file:_files' - '2:special file type:(( - b\:"block (buffered) special file" - {c,u}\:"character (unbuffered) special file" - p\:FIFO - ))' - '3:major device number' - '4:minor device number' - ) - [[ $OSTYPE == linux* ]] && args+=( - '(--context)-Z[set SELinux security context to default]' - '(-Z)--context=-[like -Z, or specify SELinux security context]::SELinux security context:_selinux_contexts' - ) -else - aopts=( -A '-*' ) - args=( - '-F+[specify device-number format]:device-number format:( - native 386bsd 4bsd bsdos freebsd hpux isc linux netbsd osf1 sco solaris - sunos svr3 svr4 ultrix - )' - '1:special file:_files' - '2:special file type:(( - b\:"block-type device" - c\:"character-type device" - w\:"whiteout node" - ))' - '3:major device number' - '4:minor device number' - ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkshortcut b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkshortcut deleted file mode 100644 index 7d5a49d8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkshortcut +++ /dev/null @@ -1,20 +0,0 @@ -#compdef mkshortcut mkshortcut.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--arguments -a)'{-a,--arguments=-}'[use specified arguments]:arguments' \ - '(--desc -d)'{-d,--desc=-}'[text for description/tooltip (defaults to POSIX path of TARGET)]:description' \ - '(--icon -i)'{-i,--icon=-}'[specify icon file for link to use]:icon file:_files' \ - '(--iconoffset -j)'{-j,--iconoffset=-}'[specify offset of icon in icon file]:offset' \ - '(--name -n)'{-n,--name=-}'[specify name for link]:file:_files' \ - '(--show -s)'{-s,--show=-}'[window to show: normal, minimized, maximized]:window state:(norm min max)' \ - '(--workingdir -w)'{-w,--workingdir=-}'[set working directory (defaults to directory path of TARGET)]:working directory:_files -/' \ - '(--allusers -A)'{-A,--allusers}"[use 'All Users' instead of current user for -D,-P]" \ - '(--desktop -D --smprograms -P)'{-D,--desktop}"[create link relative to 'Desktop' directory]" \ - '(--desktop -D --smprograms -P)'{-P,--smprograms}"[create link relative to Start Menu 'Programs' directory]" \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)--usage[display brief usage message]' \ - '(- 1)'{-v,--version}'[display version information]' \ - '(- 1)--license[display licensing information]' \ - '1:target:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mktemp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mktemp deleted file mode 100644 index 03fc89e3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mktemp +++ /dev/null @@ -1,43 +0,0 @@ -#compdef mktemp gmktemp - -local variant -local args - -_pick_variant -r variant busybox=BusyBox gnu='Free Soft' unix --version - -args=( - '(-d --directory)'{-d,--directory}'[make directory instead of file]' - '(: -)--help[display help information]' - '(-p --tmpdir)'{-p+,--tmpdir=}'[make relative to specified directory]: :_directories' - '(-q --quiet)'{-q,--quiet}'[suppress error messages]' - '--suffix=[append specified suffix to template]:template suffix' - '-t[interpret template as single path component relative to temp dir]' - '(-u --dry-run)'{-u,--dry-run}'[print file name only]' - '(: -)'{-V,--version}'[display version information]' - '1: :_guard "^-*" "template name"' -) - -# Non-GNU variants don't support long options (except BusyBox's --help) -if [[ $variant == *busybox* ]]; then # See also: _busybox - args=( ${args:#((#s)|*\))(\*|)--^help*} ) -elif [[ $variant != gnu ]]; then - args=( ${args:#((#s)|*\))(\*|)--*} ) -fi - -[[ $variant == gnu ]] || { - # BusyBox, OpenBSD, and Solaris have -p, but -t doesn't take an argument - if [[ $variant == *busybox* ]] || [[ $OSTYPE == (openbsd|solaris)* ]]; then - args=( ${args:#((#s)|*\))(\*|)-t*} ) - args+=( '-t[generate template relative to temp dir]' ) - # Dragonfly, FreeBSD, and Darwin take an argument to -t and support any number - # of template files. These OSes do not have -p and -V. - else - args=( ${args:#((#s)|*\))(1:*|(\*|)-[ptV]*)} ) - args+=( - '-t[generate template relative to temp dir using specified prefix]:template prefix' - '*: :_guard "^-*" "template name"' - ) - fi -} - -_arguments -s -S : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkzsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkzsh deleted file mode 100644 index e1dc0fbc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mkzsh +++ /dev/null @@ -1,7 +0,0 @@ -#compdef mkzsh mkzsh.exe - -_arguments -s -S \ - '(--allusers -A)'{-A,--allusers}'[creates item for All Users instead of just current user]' \ - '(--desktop -D)'{-D,--desktop}'[creates a Desktop icon for running /zsh.bat]' \ - '(--smprograms -P)'{-P,--smprograms}'[creates a Program menu item for running /zsh.bat]' \ - '(--help -h)'{-h,--help}'[display help information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module deleted file mode 100644 index 23cf0c58..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module +++ /dev/null @@ -1,179 +0,0 @@ -#compdef module - -# Main dispatcher -_module() -{ - _arguments -s \ - '(-H --help)'{--help,-H}'[display usage info]' \ - '(-V --version)'{--version,-V}'[module command version and configuration options]' \ - '(-f --force)'{--force,-f}'[force active dependency resolution]' \ - '(-t --terse)'{--terse,-t}'[display avail and list output in short format]' \ - '(-l --long)'{--long,-l}'[display avail and list output in long format]' \ - '(-h --human)'{--human,-h}'[display short output in human-readable format]' \ - '(-v --verbose)'{--verbose,-v}'[verbose]' \ - '(-s --silent)'{--silent,-s}'[disable verbose messages]' \ - '(-c --create)'{--create,-c}'[create caches]' \ - '(-i --icase)'{--icase,-i}'[case insensitive]' \ - '(-u --userlvl)'{--userlvl,-u}'[set user level to value]:level:(novice expert advanced)' \ - '*::module command:_module_command' -} - -(( $+functions[_module_command] )) || _module_command() -{ - local -a _module_cmds - - _module_cmds=( - "help:print the usage of each sub-command" - "load:load a module into the shell environment" - "add:load a module into the shell environment" - "unload:remove a module from the shell environment" - "rm:remove a module from the shell environment" - "switch:switch loaded a loaded module with another module" - "swap:switch loaded a loaded module with another module" - "display:display information about a module" - "show:display information about a module" - "list:list loaded modules" - "avail:list all available modules" - "use:add a directory to MODULEPATH" - "unuse:remove a directory from MODULEPATH" - "update:reload all loaded modules" - "clear:clear loaded modules information" - "purge:unload all loaded modules" - "refresh:refresh all non-persistent components of loaded modules" - "whatis:display module information" - "apropos:search for a given keyword in modules" - "keyword:search for a given keyword in modules" - "initadd:add or append a module to the user's shell init file" - "initprepend:add or prepend a module to the user's shell init files" - "initrm:remove a module from the user's shell init file" - "initswitch:switch modules in the user's shell init file" - "initlist:list all loaded modules in the user's shell init files" - "initclear:clear all modules from the user's shell init files" - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'module command' _module_cmds - else - local curcontext="$curcontext" ret - - cmd="${${_module_cmds[(r)$words[1]:*]%%:*}}" - # Deal with any aliases - case $cmd in - add) cmd="load";; - rm) cmd="unload";; - swap) cmd="switch";; - show) cmd="display";; - keyword) cmd="apropos";; - esac - - if (( $#cmd )); - then - local update_policy - curcontext="${curcontext%:*:*}:module-${cmd}:" - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - _call_function ret _module_$cmd || _message 'no more arguments' - else - _message "unknown module command: $words[1]" - fi - - return ret - fi -} - -# Fills the available modules cache -_module_available_modules() -{ - if [[ -n $MODULEPATH ]] && [[ ${+_available_modules} -eq 0 ]] - then - _available_modules=(${$(find -L ${(e)=MODULEPATH//:/ } -type f -print 2>/dev/null | grep -v \\.version | sed -e 's,\('${${(e)=MODULEPATH//:/\/\\\|}%\\\|}'\),,g' -e 's,^/*,,g' -e 's,\.lua$,,g'):#*\~}) - fi -} - -# Completion function for help -(( $+functions[_module_help] )) || _module_help() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for load|add -(( $+functions[_module_load] )) || _module_load() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for unload|rm -(( $+functions[_module_unload] )) || _module_unload() -{ - compadd "$@" -- ${=LOADEDMODULES//:/ } -} - -# Completion function for switch|swap -(( $+functions[_module_switch] )) || _module_switch() -{ - # Actually first argument could be a loaded module - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for display|show -(( $+functions[_module_display] )) || _module_display() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for avail -### No completion (yet?) - -# Completion function for use -(( $+functions[_module_use] )) || _module_use() -{ - _arguments -s \ - '(-a --append)'{--append,-a}'[append the directories instead of prepending]' \ - '*:directory:_files -/' -} - -# Completion function for unuse -(( $+functions[_module_unuse] )) || _module_unuse() -{ - compadd "$@" -- ${=MODULEPATH//:/ } -} - -# Completion function for whatis -(( $+functions[_module_whatis] )) || _module_whatis() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initadd -(( $+functions[_module_initadd] )) || _module_initadd() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initprepend -(( $+functions[_module_initprepend] )) || _module_initprepend() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initrm -(( $+functions[_module_initrm] )) || _module_initrm() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initswitch -(( $+functions[_module_initswitch] )) || _module_initswitch() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -_module "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module-assistant b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module-assistant deleted file mode 100644 index b2c1e56e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module-assistant +++ /dev/null @@ -1,37 +0,0 @@ -#compdef module-assistant m-a - -typeset -a _module_assistant_commands - -_module_assistant_commands=( - 'update[synchronize version index files]' - 'prepare[install required kernel headers package]' - 'fakesource[install required kernel source package]' - 'list[a print a list of details about available packages]' - 'list-available[b print a list of details about available packages]' - 'la[c print a list of details about available packages]' - 'list-installed[ print a list of details about installed packages]' - 'li[print a list of details about installed packages]' - 'search[search for packages]' - 'get[install specified source package]' - 'build[build specified packages]' - 'install[install specified packages]' - 'auto-install[do all necessary steps to install specified packages]' - 'clean[clear build directories of the kernel packages]' - 'purge[clear cache and remove all binary packages of source package]' -) - -_arguments -A \ - '(-h --help)'{-h,--help}'[print help screen]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose, show full paths, etc.]' \ - '(-q --quiet)'{-q,--quiet}'[the opposite of verbose]' \ - '(-n --no-rebuild)'{-n,--no-rebuild}'[do not rebuild when package exists]' \ - '(-i --ignore-failures)'{-i,--ignore-failures}'[do not stop on build failures]' \ - '(-s --apt-search)'{-s,--apt-search}'[search for installation candidates in the Debian archive]' \ - '(-f --force)'{-f,--force}'[force using new versions even when old ones exist]' \ - '(-u --userdir)'{-u,--userdir}'[specify a (writable) replacement directory for /var&/usr]:dir:_files -/' \ - '(-l --kvers-list)'{-l,--kvers-list}'[list of kernel versions to work on (default: current version)]:kernel version list:' \ - '(-k --kernel-dir)'{-k,--kernel-dir}'[list of kernel headers/source directories, comma separated]:list of dirs:_files -/' \ - '(-t --text-mode)'{-t,--text-mode}'[no progress bars]' \ - '1:list of commands:_values -s , subcommands "${_module_assistant_commands[@]}"' \ - '*:package: compadd /usr/src/modass/var_cache_modass/*.avail_version(N:t:r) /var/cache/modass/*.avail_version(N:t:r)' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module_math_func b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module_math_func deleted file mode 100644 index 5044bdf4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_module_math_func +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local mod -local -a funcs alts -local -a modules=( example mathfunc system ) - -for mod in $modules; do - funcs=( ${${${(f)"$(zmodload -Fl zsh/$mod 2>/dev/null)"}:#^+f:*}##+f:} ) - alts+=( "module-math-functions.${mod}:math function from zsh/${mod}:compadd -S '(' $funcs" ) -done - -_alternative $alts diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_modutils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_modutils deleted file mode 100644 index 3e46130a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_modutils +++ /dev/null @@ -1,172 +0,0 @@ -#compdef lsmod modinfo modprobe rmmod insmod - -_modules_caching_policy() -{ - # Rebuild if $modules_dir is newer than the cache, or every week. - local -a oldp - - oldp=( "$1"(Nmw+0) ) - (( $#oldp )) || [[ $modules_dir -nt $1 ]] -} - -_modutils() { - local curcontext="$curcontext" expl state line modules modaliases ign args ret=1 - local -A opt_args - local -a possible_modules_dirs=( - # Mostly every other distro - /lib/modules - # NixOS & possibly Guix - /run/booted-system/kernel-modules/lib/modules - ) - local modules_dir tested_modules_dir - for tested_modules_dir in "${possible_modules_dirs[@]}"; do - if [[ -d "$tested_modules_dir" ]]; then - modules_dir="$tested_modules_dir" - break - fi - done - - local update_policy - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _modules_caching_policy - fi - - args=( - '(-)'{-V,--version}'[display version information]' - '(-)'{-h,--help}'[display usage information]' - ) - - case "$service" in - lsmod) _arguments -s "$args[@]" && return ;; - - modinfo) - _arguments -s -C "$args[@]" \ - '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ - {-b+,--basedir=}'[use specified directory as filesystem root]:path:_directories' \ - '1:module file:->all-modules' \ - + '(field)' \ - {-a,--author}"[display the module's author]" \ - {-d,--description}"[display the module's description]" \ - {-l,--license}"[display the module's license]" \ - {-n,--filename}"[display the module's filename]" \ - {-p,--parameters}'[display the typed parameters that a module may support]' \ - {-F+,--field}"[display only selected module's information]:module_field:(alias author depends description filename intree license name parm sig_hashalgo sig_key signat signer srcversion vermagic)" \ - {-0,--null}'[use a null instead of newline in output]' && ret=0 - ;; - - modprobe) - ign='-h --help -V --version -c --showconfig --show-config' - _arguments -s -C "$args[@]" \ - "(-a --all $ign)"{-a,--all}'[load all matching modules]' \ - "(-n --show $ign)"{-n,--show}"[don't actually perform action]" \ - "(-q --quiet $ign)"{-q,--quiet}"[don't complain about insmod failures]" \ - "(-s --syslog $ign)"{-s,--syslog}'[report via syslog instead of stderr]' \ - "(-v --verbose $ign)"{-v,--verbose}'[print all commands as executed]' \ - '(-C --config)'{-C+,--config=}'[specify config file]:config file:_files' \ - "(-r --remove -a --all $ign)"{-r,--remove}'[remove module (stacks)]' \ - '--remove-dependencies[also remove modules depending on it]' \ - '(* -R --resolve-alias)'{-R,--resolve-alias}'[only lookup and print alias and exit]' \ - '--first-time[fail if module already inserted or removed]' \ - "(-a --all $ign)"{'-i[ignore install/remove commands in config file]','--ignore-install[ignore install commands in config file]','--ignore-remove[ignore remove commands in config file]'} \ - '(-b --use-blacklist)'{-b,--use-blacklist}'[apply blacklist to resolved alias]' \ - '(-f --force --force-modversions --force-vermagic)'{-f,--force}'[force module insertion or removal]' \ - "(-f --force)--force-modversion[ignore module's version]" \ - "(-f --force)--force-vermagic[ignore module's version magic]" \ - '(-D --show-depends)'{-D,--show-depends}'[only print module dependencies and exit]' \ - '(-)'{-c,--showconfig,--show-config}'[show current configuration]' \ - --{show,dump}'-modversions[dump module symbol version and exit]' \ - {-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \ - {-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ - '--show-exports[only print module exported symbol versions and exit]' \ - '(-n --dry-run --show)'{-n,--dry-run,--show}"[don't execute operations, just print]" \ - "(-c $ign)1:modules:->loadable-modules" \ - "(-c $ign)*:params:->params" && ret=0 - - [[ -n $state && -n ${opt_args[(i)(-r|--remove)]} ]] && state=loaded-modules - ;; - - rmmod) - _arguments -s -C "$args[@]" \ - '(-f --force)'{-f,--force}'[allow modules that are in use to be removed]' \ - '(-s --syslog)'{-s,--syslog}'[send errors to syslog]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '*:loaded module:->loaded-modules' && ret=0 - ;; - - insmod) - _arguments "$args[@]" \ - '1:module file:_files' \ - '*:module parameters' && ret=0 - ;; - esac - - case "$state" in - loaded-modules|loadable-modules) - if [[ -r /proc/modules ]]; then - loaded_modules=(${${(f)"$(</proc/modules)"}%% *}) - # For compatibility with old systems. Kernels nowadays provide - # `/proc/modules` which is more reliable and faster for us. - elif [[ -x /sbin/lsmod ]]; then - loaded_modules=(${${(f)"$(_call_program loaded-modules /sbin/lsmod)"}[2,-1]%% *}) - else - return 1 - fi - - if [[ $state = loaded-modules ]]; then - _wanted modules expl 'loaded module' compadd -a loaded_modules && ret=0 - return ret - fi - ;& - - all-modules) - local kver=${(v)opt_args[(i)(-S|-k|--set-version)]:-$(uname -r)} - - if [[ -z "$modules_dir" ]]; then - return - fi - if _cache_invalid modules-$kver || ! _retrieve_cache modules-$kver; - then - modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko|ko.gz|ko.xz)(.:t:r:r) ) - modaliases=( ${${${(M)${(f)"$(<$modules_dir/$kver/modules.alias)"}:#alias*}#alias }%% *} ) - _store_cache modules-$kver modules modaliases - fi - - if [[ -v opt_args[(i)(-R|--resolve-alias)] ]]; then - _tags module-aliases - else - _tags files modules module-aliases - fi - if [[ $state = loadable-modules ]]; then - modules=( ${modules:#(${(j:|:)~${=loaded_modules//_/-}})} ) - fi - - while _tags; do - _requested modules expl module compadd -a modules && ret=0 - _requested module-aliases expl 'module alias' compadd -a modaliases && ret=0 - _requested files expl "module file" _files -g '*.ko(-.)' && ret=0 - (( ret )) || break - done - ;; - - params) - if compset -P 1 '*='; then - _message -e value 'parameter value' - else - local params - params=( ${${(M)${(f)"$(_call_program module-parameters modinfo "$words[2]" 2>/dev/null)"}:#parm:*}##parm:[[:space:]]##} ) - compset -S '=*' - if (( $#params )); then - _values -S = -w 'module parameter' \ - ${${${(M)params:#*(:bool|\(bool\))}/:/[}/(bool| \(bool\))/]} ${^${params:#*(:bool|\(bool\))}/:/[}"]:auto added argument: " && ret=0 - else - _message -e parameter "module doesn't take parameters" - fi - fi - ;; - esac - - return ret -} - -_modutils "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mondo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mondo deleted file mode 100644 index 047a0412..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mondo +++ /dev/null @@ -1,54 +0,0 @@ -#compdef mondoarchive - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '(-V)-O[create backup]' \ - '(-O)-V[verify backup]' \ - '(-c -C -i -n -w)-c[use CD-R as backup media]:CD-R burn speed' \ - '(-c -C -i -n -w)-C[use CD-R as streaming device (experimental)]:CD-R burn speed' \ - '(-c -C -i -n -w)-i[use ISO image as backup media]' \ - '(-c -C -i -n -w)-n[use NFS mountpoint as backup media]:NFS mountpoint' \ - '(-c -C -i -n -w)-w[use CD-RW as backup media]:CD-RW burn speed' \ - '-D[differential backup]' \ - '-E[exclude path(s) from backup]:paths to exclude from backup:->quoted_path' \ - '-I[path(s) to backup]:paths to include in backup:->quoted_path' \ - '-d[backup device]:backup device' \ - '-g[run in fullscreen mode]' \ - '-k[path to kernel]:path to kernel:->kernel_or_magic' \ - '-m[manual eject]' \ - '-s[media size]:media size]' \ - '-x[non-linux partition]:non-linux partition:_files -g "*(%b)"' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9)-'{1,2,3,4,5,6,7,8,9}'[compression level]' \ - '-A[post ISO-creation command]:pre ISO-creation command' \ - '-B[pre iSO-creation command]:post ISO-creation command' \ - '-F[do not create floppy]' \ - '-H[create autorestore image]' \ - '-L[use lzo instead of bzip2]' \ - '-P[post-nuke tarball]:post-nuke tarball:_files -g "*.(#i)(tar.gz|tgz)(-.)"' \ - '-S[scratch directory]:scratch directory:_files -/' \ - '-T[temporary directory]:temporary directory:_files -/' \ - '-f[device with MBR]:device with MBR:_files -g "*(%b)"' \ - '-l[bootloader type]:bootloader type:(GRUB LILO)' && ret=0 - -case $state in - quoted_path) - local suf="/ \t\n" - [[ -n $compstate[quote] ]] && { suf="$compstate[quote]$suf"; compset -q; } - _files -r $suf && ret=0 - ;; - kernel_or_magic) - _tags kernel magic - while _tags; do - _requested magic expl "keyword" \ - compadd -- FAILSAFE && ret=0 - _requested kernel expl "path to kernel image" \ - _files && ret=0 - - (( ret )) || break - done - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_monotone b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_monotone deleted file mode 100644 index bcaab87f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_monotone +++ /dev/null @@ -1,43 +0,0 @@ -#compdef mtn - -local -a cmds -cmds=( - automate:automation db:database fdiff:debug fload:debug fmerge:debug - get_roster:debug identify:debug rcs_import:debug annotate:informative - cat:informative complete:informative diff:informative help:informative - list:informative log:informative ls:informative show_conflicts:informative - status:informative cert:key+cert chkeypass:key+cert dropkey:key+cert - genkey:key+cert trusted:key+cert pull:network push:network serve:network - sync:network privkey:packet\ i/o pubkey:packet\ i/o read:packet\ i/o - cvs_import:rcs approve:review comment:review disapprove:review tag:review - testresult:review checkout:tree co:tree explicit_merge:tree heads:tree - merge:tree merge_into_dir:tree migrate_workspace:tree propagate:tree - refresh_inodeprints:tree setup:tree set:vars unset:vars add:workspace - attr:workspace ci:workspace commit:workspace drop:workspace mv:workspace - pivot_root:workspace pluck:workspace rename:workspace revert:workspace - rm:workspace update:workspace -) - -_arguments \ - '--brief[print a brief version of the normal output]' \ - '--confdir[set location of configuration directory]:confdir:_files -/' \ - '(-d --db)'{-d,--db}'[set name of database]:dbname' \ - '--debug[print debug log to stderr while running]' \ - '--dump[file to dump debugging log to, on failure]:dumpfile:_files' \ - '--full-version[print detailed version number, then exit]' \ - '(-h --help)'{-h,--help}'[display help message]' \ - '(-k --key)'{-k,--key}'[set key for signatures]:key:' \ - '--keydir[set location of key store]:keydir:_files -/' \ - '--log[file to write the log to]:logfile:_files' \ - '--norc[do not load ~/.monotone/monotonerc or _MTN/monotonerc lua files]' \ - '--nostd[do not load standard lua hooks]' \ - '--pid-file[record process id of server]:arg:' \ - '--quiet[suppress verbose, informational and progress messages]' \ - '--rcfile[load extra rc file]:extra rcfile:_files' \ - '--reallyquiet[suppress warning, verbose, informational and progress messages]' \ - '--root[limit search for workspace to specified root]:root:_files -/' \ - '--ticker[set ticker style]:ticker style:(count dot none)' \ - '--version[print version number, then exit]' \ - '(-@ --xargs)'{-@,--xargs}'[insert command line arguments taken from the given file]:file:_files' \ - '1:command: _describe -t commands command cmds' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_moosic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_moosic deleted file mode 100644 index 475a0c75..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_moosic +++ /dev/null @@ -1,487 +0,0 @@ -#compdef moosic - -_moosic_add_cmds() { - - # querying for information - typeset -a queries - queries=( - "help:print brief description of command" - "current:print name of currently playing song" - "current-time:print the amount of time the current song has been playing" - "list:print the list of items in the current song queue" - "plainlist:print the current song queue without numbering each line" - "history:print a list of items that were recently played" - {status,state}":print the current state of the music daemon" - "length:print the number of items in the queue" - "ispaused:show whether the current song is paused or not" - "islooping:show whether the server is in loop mode" - "isadvancing:show whether the server is advancing through the song queue" - "version:print version information for client and server" - ) - - - # appending to song queue - typeset -a appending - appending=( - {append,add}":add the files to be played to the end of the song queue" - {pl-append,pl-add}":add the items listed in the given playlist files to end of queue" - "prepend:add the files to be played to the beginning of the song queue" - "pl-prepend:add the items in the given playlist files to beginning of queue" - "mixin:add the files to the song queue and reshuffle the entire queue" - "pl-mixin:add items in given playlist files to song queue and reshuffle the entire queue" - "replace:replace the current contents of the song queue with files listed" - "pl-replace:replace current contents of song queue with songs given in playlists" - "insert:insert the given items at a given point in the song queue" - "pl-insert:insert items from playlist files at specified point in queue" - "putback:reinsert current song at start of song queue" - "stagger-add:adds file list to end of queue after rearranging queue into staggered order" - "stagger-merge:adds given file list to queue in interleaved fashion" - "interval-add:inserts given songs with regular frequency specified by interval argument" - ) - - # removing - typeset -a removing - removing=( - {cut,del}":removes all song queue items in given range" - "crop:removes all song queue items that do not fall within given range" - "remove:remove all song queue items matching any one of given regexps" - "filter:remove all queue items not matching all given regexps" - "clear:clear song queue" - "wipe:clear song queue and stop current song" - ) - - # rearranging - typeset -a rearranging - rearranging=( - "move:move all items in given range to new position in song queue" - "move-pattern:moves all items matching the given regexp to new position" - "swap:trade places of songs in two specified ranges" - {shuffle,reshuffle}":reshuffle song queue within an optional range" - "sort:sort queue within optional range" - "reverse:reverse order of song queue" - "partial-sort:sort items matching each regexp" - "stagger:stagger items matching each regexp" - "sub:perform regular expression substitution on all items in queue" - "suball:like sub, but replace all occurrences of the pattern" - ) - - # general management - typeset -a general - general=( - "next:jumps ahead, number of songs optional" - "previous:retreats to previously played song" - "goto:jumps to next song matching regexp" - "gobackto:jumps back to most recent previous song matching regexp" - "noadvance:halt queue advancement" - "advance:resume queue advancement" - "toggle-advance:toggle queue advancement" - "stop:stop playing current song, stop processing queue, put current song back" - "pause:suspend current song to resume it later" - "unpause:unpause current song" - "play:resume playing" - "loop:turn loop mode on" - "noloop:turn loop mode off" - "toggle-loop:toggle loop mode" - "reconfigure:daemon reload configuration file" - "showconfig:show daemon filetype associations" - "start-server:starts new instance of daemon with given options" - {quit,exit,die}":quit daemon" - ) - - _describe queries queries -J queries - _describe appending appending -J appending - _describe removing removing -J removing - _describe rearranging rearranging -J rearranging - _describe general general -J general -} - -_moosic() { - typeset context state line - typeset -A opt_args - - typeset -a filelist_opts - filelist_opts=( - '(-g --shuffle-global)'{-g,--shuffle-global}'[shuffle filelist after directory expansion]' - '(-d --shuffle-dir)'{-d,--shuffle-dir}'[shuffle results of expanding the directories]' - '(-a --shuffle-args)'{-a,--shuffle-args}'[shuffle actual command line arguments]' - '(-o --inorder)'{-o,--inorder}'[do not shuffle filelist]' - '(-s --sort)'{-s,--sort}'[sort filelist lexicographically after expansion]' - '(-r --no-recurse)'{-r,--no-recurse}'[do not recurse through directories]' - '(-n --no-file-munge)'{-n,--no-file-munge}'[do not modify names in expanded filelist]' - '(-f --auto-find)'{-f,--auto-find}'[perform fuzzy search for music files]' - '(-F --auto-grep)'{-F,--auto-grep}'[like --auto-find but with regexp]' - '(-U --allow-unplayable)'{-U,--allow-unplayable}'[allow addition of unknown song types]' - ) - - typeset -a auto_opts - auto_opts=( - '(-m --music-dir)'{-m,--music-dir}'[directory used for auto-find, auto-grep]:directory:_files' - ) - - typeset -a main_opts - main_opts=( - '(-i --ignore-case)'{-i,--ignore-case}'[treat regexps as if they are case-insensitive]' - '(-S --showcommands)'{-S,--showcommands}'[show all moosic commands, then exit]' - '(-h --help)'{-h,--help}'[print help message then exit]' - '(-v --version)'{-v,--version}'[print version information, then exit]' - '(-c --config-dir)'{-c,--config-dir}'[configuration directory]:directory:_files' - '(-t --tcp)'{-t,--tcp}'[talk to server at specified host and port]:host\:port:' - '(-N --no-startserver)'{-N,--no-startserver}'[do not start moosicd server]' - ) - - typeset -a list_opts - list_opts=( - '(-C --current-in-list)'{-C,--current-in-list}'[print currently playing song in list]' - ) - - # GLOBAL ARGUMENTS - # do not use the -A option here. It will break the processing of - # positional arguments. - _arguments $main_opts $list_opts $auto_opts $filelist_opts \ - '1: :->cmd' \ - '*:: :->posarg' - - if [[ $state == cmd ]]; then - _moosic_add_cmds - elif [[ $state == posarg ]]; then - _moosic_cmd_${line[1]} - fi -} - -# Do something, but only if the current word is 2. -_do2() { - if (( CURRENT == 2 )); then - $@ - else - _message 'no more arguments' - fi -} - -### QUERY COMMANDS - -_moosic_cmd_help() { - _do2 '_moosic_add_cmds' -} - -_moosic_cmd_current() { - _message 'no arguments' -} - -_moosic_cmd_current-time() { - _do2 '_message' 'strftime string' -} - -_moosic_cmd_list() { - _do2 '_message' 'range' -} - -_moosic_cmd_plainlist() { - _do2 '_message' 'range' -} - -_moosic_cmd_history() { - _do2 '_message' 'maximum number of entries' -} - -_moosic_cmd_status() { - _message 'no arguments' -} - -_moosic_cmd_state() { - _message 'no arguments' -} - -_moosic_cmd_length() { - _message 'no arguments' -} - -_moosic_cmd_ispaused() { - _message 'no arguments' -} - -_moosic_cmd_islooping() { - _message 'no arguments' -} - -_moosic_cmd_isadvancing() { - _message 'no arguments' -} - -_moosic_cmd_version() { - _message 'no arguments' -} - -### APPENDING COMMANDS - -_moosic_song_files() -{ - _arguments -A '-*' $main_opts $filelist_opts $auto_opts \ - '*:song file:_files' -} - -_moosic_cmd_append() { - _moosic_song_files -} - -_moosic_cmd_add() { - _moosic_song_files -} - -_moosic_cmd_pl-append() { - _moosic_song_files -} - -_moosic_cmd_pl-add() { - _moosic_song_files -} - -_moosic_cmd_prepend() { - _moosic_song_files -} - -_moosic_cmd_pl-prepend() { - _moosic_song_files -} - -_moosic_cmd_mixin() { - _moosic_song_files -} - -_moosic_cmd_pl-mixin() { - _moosic_song_files -} - -_moosic_cmd_replace() { - _moosic_song_files -} - -_moosic_cmd_pl-replace() { - _moosic_song_files -} - -_moosic_cmd_insert() { - _moosic_song_files -} - -_moosic_cmd_pl-insert() { - _moosic_song_files -} - -_moosic_cmd_putback() { - _message 'no arguments' -} - -_moosic_cmd_stagger-add() { - _moosic_song_files -} - -_moosic_cmd_stagger-merge() { - _moosic_song_files -} - -_moosic_cmd_interval-add() { - _arguments -A '-*' $main_opts $filelist_opts \ - '1:interval:' \ - '*:song file:_files' -} - -### REMOVING COMMANDS - -_moosic_cmd_cut() { - _do2 '_message' 'range' -} - -_moosic_cmd_del() { - _do2 '_message' 'range' -} - -_moosic_cmd_crop() { - _do2 '_message' 'range' -} - -_moosic_cmd_remove() { - _do2 '_message' 'regex' -} - -_moosic_cmd_filter() { - _do2 '_message' 'regex' -} - -_moosic_cmd_clear() { - _message 'no arguments' -} - -_moosic_cmd_wipe() { - _message 'no arguments' -} - -### REARRANGING COMMANDS - -_moosic_cmd_move() { - _arguments -A '-*' $main_opts \ - '1:range:' \ - '2:index:' \ - '*:no more arguments:' -} - -_moosic_cmd_move-pattern() { - _arguments -A '-*' $main_opts \ - '1:regex:' \ - '2:index:' \ - '*:no more arguments:' -} - -_moosic_cmd_swap() { - _arguments -A '-*' $main_opts \ - '1:range:' \ - '2:range:' \ - '*:no more arguments:' -} - -_moosic_cmd_shuffle() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_reshuffle() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_sort() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_reverse() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_partial-sort() { - _do2 '_message' 'regex' -} - -_moosic_cmd_stagger() { - _do2 '_message' 'regex' -} - -_moosic_cmd_sub() { - _arguments -A '-*' $main_opts \ - '1:pattern:' \ - '2:replacement:' \ - '3:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_suball() { - _arguments -A '-*' $main_opts \ - '1:pattern:' \ - '2:replacement:' \ - '3:range (optional):' \ - '*:no more arguments:' -} - -### GENERAL COMMANDS - -_moosic_cmd_next() { - if (( CURRENT == 2 )); then - - typeset -a display display_cmd - if zstyle -a ":completion:${curcontext}:next" \ - 'command' display_cmd; then - $display_cmd - else - display=(${(f)"$(moosic list)"}) - fi - - typeset -a numbers - numbers=({1..${#display}}) - - compadd -V songs -d display -a numbers - else - _message 'no more arguments' - fi -} - -_moosic_cmd_previous() { - _do2 '_message' 'number to skip' -} - -_moosic_cmd_goto() { - _do2 '_message' 'regex' -} - -_moosic_cmd_gobackto() { - _do2 '_message' 'regex' -} - -_moosic_cmd_noadvance() { - _message 'no arguments' -} - -_moosic_cmd_advance() { - _message 'no arguments' -} - -_moosic_cmd_toggle-advance() { - _message 'no arguments' -} - -_moosic_cmd_stop() { - _message 'no arguments' -} - -_moosic_cmd_pause() { - _message 'no arguments' -} - -_moosic_cmd_unpause() { - _message 'no arguments' -} - -_moosic_cmd_play() { - _message 'no arguments' -} - -_moosic_cmd_loop() { - _message 'no arguments' -} - -_moosic_cmd_noloop() { - _message 'no arguments' -} - -_moosic_cmd_toggle-loop() { - _message 'no arguments' -} - -_moosic_cmd_reconfigure() { - _message 'no arguments' -} - -_moosic_cmd_showconfig() { - _message 'no arguments' -} - -_moosic_cmd_start-server() { - _message 'options' -} - -_moosic_cmd_quit() { - _message 'no arguments' -} - -_moosic_cmd_exit() { - _message 'no arguments' -} - -_moosic_cmd_die() { - _message 'no arguments' -} - -_moosic "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mosh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mosh deleted file mode 100644 index 7d125032..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mosh +++ /dev/null @@ -1,41 +0,0 @@ -#compdef mosh - -local curcontext="$curcontext" state line expl ret=1 -local -a _comp_priv_prefix - -_arguments -C \ - '(-)--help[display help information]' \ - '(-)--version[display version information]' \ - "--no-init[don't set terminal init string]" \ - '--ssh=[specify ssh command to setup session]:ssh command:_normal' \ - '--port=[specify server-side port range]:port:_sequence -n 2 -s \: _ports' \ - '(-a -n)--predict=[control speculative local echo]:mode:(adaptive always never)' \ - '(--predict -n)-a[synonym for --predict=always]' \ - '(--predict -a)-n[synonym for --predict=never]' \ - '(--family -6)-4[use IPv4 only]' \ - '(--family -4)-6[use IPv6 only]' \ - '(-4 -6)--family=[specify address family]:family [prefer-inet]:(inet inet6 auto all prefer-inet prefer-inet6)' \ - '--bind-server=[ask the server to reply from an IP address]:{ssh|any|IP}' \ - '--server[specify command to run server helper]:remote file:_files' \ - '--client[specify command to run client helper]:_command_names -e' \ - "--no-ssh-pty[don't allocate a pseudo tty on ssh connection]" \ - '--local[run mosh-server locally without using ssh]' \ - '--experimental-remote-ip=[select method for discovering remote IP address to use for mosh]:method:(local remote proxy)' \ - '1:remote host name:->userhost' \ - '*:::args:_normal' && ret=0 - -case $state in - userhost) - if compset -P '*@'; then - _wanted hosts expl 'remote host name' _ssh_hosts && ret=0 - elif compset -S '@*'; then - _wanted users expl 'login name' _combination -s '[:@]' my-accounts users-hosts users -S '' && ret=0 - else - _alternative \ - 'hosts:remote host name:_ssh_hosts' \ - 'users:login name:_combination -s "[:@]" my-accounts users-hosts users -qS@' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_most_recent_file b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_most_recent_file deleted file mode 100644 index e72cf5e8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_most_recent_file +++ /dev/null @@ -1,24 +0,0 @@ -#compdef -k complete-word \C-xm - -# Complete the most recently modified file matching the pattern on the line -# so far: globbing is active, i.e. *.txt will be expanded to the most recent -# file ending in .txt -# -# With a prefix argument, select the Nth most recent matching file; -# negative arguments work in the opposite direction, so for example -# `Esc - \C-x m' gets you the oldest file. - -local file tilde etilde -if [[ $PREFIX = \~*/* ]]; then - tilde=${PREFIX%%/*} - etilde=${~tilde} 2>/dev/null - # PREFIX and SUFFIX have full command line quoting in, but we want - # any globbing characters which are quoted to stay quoted. - eval "file=($PREFIX*$SUFFIX(om[${NUMERIC:-1}]N))" - file=(${file/#$etilde}) - file=($tilde${(q)^file}) -else - eval "file=($PREFIX*$SUFFIX(om[${NUMERIC:-1}]N))" - file=(${(q)file}) -fi -(( $#file )) && compadd -U -i "$IPREFIX" -I "$ISUFFIX" -f -Q -- $file diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mount b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mount deleted file mode 100644 index 301b9e58..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mount +++ /dev/null @@ -1,941 +0,0 @@ -#compdef mount umount - -if [[ "$OSTYPE" == cygwin ]]; then - if [[ "$service" == mount ]] ; then - _arguments -s \ - - mount \ - '(-b -t --text --binary)'{-b,--binary}'[Unix line endings LF]' \ - '(-f --force)'{-f,--force}'[be silent]' \ - '(-s -u --user --system)'{-s,--system}'[system-wide mount point]' \ - '(-t -b --binary --text)'{-t,--text}'[DOS line endings CR-LF]' \ - '(-u -s --system --user)'{-u,--user}'[user private mount point]' \ - '(-x -X --executable --cygwin-executable)'{-x,--executable}'[all files under mountpoint are executables]' \ - '(-x -X --executable --cygwin-executable)'{-X,--cygwin-executable}'[all files under mountpoint are cygwin executables]' \ - ':Windows path:' \ - ':Unix path:_path_files -P/ -W "(/)" -/' \ - - control \ - '(-)'{-i,--import-old-mounts}'[import old mounts]' \ - '(-)'{-p,--show-cygdrive-prefix}'[show cygdrive prefix]' \ - '(-)'{-c,--change-cygdrive-prefix}'[cygdrive prefix]:cygdrive prefix (POSIX path):_files -P/ -W "(/)" -/' \ - - return - else - local line - local -a wpaths upaths - mount | while read -r line; do - [[ $line == ?:\ * ]] && continue - wpaths+=( ${line%% on*} ) - upaths+=( ${${line##*on }%% type*} ) - done - _alternative \ - 'windowspath:Windows path:compadd -a wpaths' \ - 'unixpath:Unix path:compadd -a upaths' - return - fi -fi - -# This is table-driven: the tables for the values for the different -# file system types are directly below. The tables describing the -# arguments for the `mount' command for different operating systems -# are below these table. - -local curcontext="$curcontext" state line expl suf ret=1 -local args deffs=iso9660 tmp typeops=-t _nfs_access _fs_nfs _nfs_ufs \ -_fs_ufs _fs_efs _fs_cd9660 _fs_iso9660 _fs_cachefs _fs_s5fs _fs_tmpfs _fs_pcfs \ -_fs_hsfs _fs_advfs _fs_cdfs _fs_affs _fs_ext2 _fs_fat _fs_ext3 _fs_msdos \ -_fs_msdosfs _fs_umsdos _fs_vfat _fs_hpfs _fs_ntfs _fs_reiserfs _fs_smbfs \ -_fs_xfs _fs_std _fs_devfs _fs_fdesc _fs_kernfs _fs_linprocfs _fs_linsysfs \ -_fs_procfs _fs_btrfs _fs_ext4 - -typeset -A opt_args - -if (( ! $+_fs_any )); then - - local _fs_any - - # These are tables describing the possible values and their - # arguments for the `-o' option. There is one array per - # file system type (only for those that accept more values - # than those in the `_fs_any' array). The elements of the - # array are used as arguments to `_values'. The first tables - # are used by several systems while system specific tables are - # (re)defined in a "$OSTYPE" case. - - _fs_any=( - '(rw)ro[mount file system read-only]' - '(ro)rw[mount file system read-write]' - ) - _nfs_access=( - 'acregmin[specify cached file attributes minimum hold time]:cached file attributes minimum hold time' - 'acregmax[specify cached file attributes maximum hold time]:cached file attributes maximum hold time' - 'acdirmin[specify cached directory attributes minimum hold time]:cached directory attributes minimum hold time' - 'acdirmax[specify cached directory attributes maximum hold time]:cached directory attributes maximum hold time' - "actimeo[set all attributes' cache timeout]:cache timeout" - ) - _fs_nfs=( - 'rsize[specify read buffer size]:read buffer size:(8192)' - 'wsize[specify write buffer size]:write buffer size:(8192)' - '(soft)hard[hang process on server crash (so to say)]' - '(hard)soft[allow time out on server crash]' - '(nolock)lock[use locking]' - "(lock)nolock[don't use locking]" - 'timeo[specify initial timeout for UDP]:initial timeout for UDP' - 'retrans[set number of NFS retransmissions]:number of NFS retransmissions' - 'retry[specify number of mount failure retries]:mount failure retries' - '(fg)bg[retry in the background]' - '(bg)fg[retry in the foreground]' - '(nintr)intr[allow operations to be interrupted]' - '(intr)nintr[prevent operations from being interrupted]' - '(nfsv3)nfsv2[use NFS version 2]' - '(nfsv2)nfsv3[use NFS version 3]' - 'proto[specify protocol]:protocol:(udp tcp)' - 'port[specify server port number]:server port number' - 'proplist[allow property lists]' - "$_nfs_access[@]" - "nocto[don't get fresh attributes on open]" - "noac[don't set attribute caching]" - ) - _nfs_ufs=( - '(nodev)dev[interpret devices]' - "(dev)nodev[don't interpret devices]" - '(nosuid)suid[use suid and sgid bits]' - '(suid)nosuid[ignore suid and sgid bits]' - '(nosync)sync[do I/O synchronously]' - '(sync)nosync[do all I/O asynchronously]' - '(noexec)exec[permit execution of binaries]' - "(exec)noexec[don't allow execution of binaries]" - '(nogrpid)grpid[new file gets group ID of directory]' - '(grpid)nogrpid[new file gets fsgid of current process]' - ) - _fs_ufs=( - 'dirty[allow mount even if not cleanly unmounted]' - "$_nfs_ufs[@]" - ) - - case "$OSTYPE" in - aix*) - _fs_any=( - 'bsy[prevent mount over cwd of process]' - 'log[logical volume to log operations]:logical volume name' - 'nodev[cannot open devices from mount]' - 'nosuid[prevent running setuid/setgid from mount]' - "$_fs_any[@]" - ) - - _fs_nfs=( - '(fg)bg[mount in background]' - '(bg)fg[mount in foreground]' - 'vers[NFS version]:NFS version:(2 3)' - 'proto[specify transport protocol]' - 'retry[number of retries]:no. of retries' - 'rsize[read buffer size]:read buffer size' - 'wsize[write buffer size]:write buffer size' - 'llock[local locking]' - 'timeo[time-out period]:time-out period' - 'retrans[NFS transmissions]:no. of NFS transmissions' - 'port[IP port no]:IP port no' - '(hard)soft[error on no server response]' - '(soft)hard[retry pending server response]' - '(nointr)intr[allow keyboard interrupts on hard mount]' - '(intr)nointr[disallow keyboard interrupts on hard mount]' - 'posix[exchange pathconf info on NFS version 2 mount]' - 'secure[use DES encryption]' - 'grpid[inherit group id of parent directory]' - "(acl)noacl[don't use access control lists]" - '(noacl)acl[use access control lists for this mount]' - 'noac[no attribute or directory caching]' - 'shortdev[server lack support for 32-bit device special files]' - "$_nfs_access[@]" - ) - ;; - irix*) - _fs_any=( - 'nodev[cannot open devices from mount]' - 'nosuid[prevent running setuid/setgid from mount]' - 'grpid[inherit group id of parent directory]' - "$_fs_any[@]" - ) - - _fs_efs=( - 'raw[raw device pathname to filesystem]:raw device pathname:->devordir' - '(nofsck)fsck[fsck should check this filesystem by default]' - '(fsck)nofsck[fsck should not check this filesystem by default]' - '(noquota)quota[turn on quotas]' - '(quota)noquota[turn off quotas]' - 'lbsize[no of bytes transferred in each operation]:bytes' - ) - - _fs_iso9660=( - 'setx[set execute permissions on every file]' - 'notranslate[don'\''t translate filenames]' - 'cache[no of 2048 blocks for directory cache]:cache size' - 'noext[ignore rock ridge extensions]' - '(nosusp)susp[enable system use sharing protocol]' - '(susp)nosusp[disable system use sharing protocol]' - '(norrip)rrip[enable rock ridge extensions]' - '(rrip)norrip[disable rock ridge extensions]' - 'nmconv[specify filename translation]:filename translation:((c\:no\ translation l\:to\ lowercase m\:suppress\ version\ no))' - ) - - _fs_nfs=( - '(fg)bg[mount in background]' - '(bg)fg[mount in foreground]' - 'retry[number of retries]:no. of retries' - 'rsize[read buffer size]:read buffer size' - 'wsize[write buffer size]:write buffer size' - 'timeo[time-out period]:time-out period' - 'retrans[NFS transmissions]:no. of NFS transmissions' - 'port[IP port no]:IP port no' - '(hard)soft[error on no server response]' - '(soft)hard[retry pending server response]' - 'intr[allow keyboard interrupts on hard mount]' - 'noac[no attribute caching]' - 'private[use local locking and do not flush on last close]' - 'symttl[time-to-live of cached symbolic links]:seconds' - "$_nfs_access[@]" - ) - - _fs_cachefs=( - 'backfstype[type of the back file system]:back file system type:(efs nfs iso9660 dos hfs cachefs)' - 'backpath[specify back file system location]:back file system location:_files -/' - 'cachedir[name of the cache directory]:name of cache directory:_files -/' - 'cacheid[cache ID]:cache ID' - '(write-around)non-shared[cache not shared]' - '(non-shared)write-around[cache shared]' - 'noconst[disable consistency checking]' - 'local-access[check permissions locally]' - 'purge[purge any cached information]' - "$_nfs_access[@]" - ) - - ;; - solaris*) - _fs_s5fs=( - 'remount[remount file system]' - '(suid)nosuid[ignore suid and sgid bits]' - '(nosuid)suid[use suid and sgid bits]' - ) - _fs_ufs=( - "(atime)noatime[don't update access time]" - 'f[fake an /etc/mnttab entry]' - "m[don't make an /etc/mnttab entry]" - '(noforcedirection)forcedirection[do I/O synchronously]' - '(forcedirection)noforcedirection[do all I/O asynchronously]' - '(nointr)intr[allow operations to be interrupted]' - '(intr)nointr[prevent operations from being interrupted]' - "(nolargefiles)largefiles[don't restrict file size]" - '(largefiles)nolargefiles[restrict file size]' - '(nologging)logging[log transactions]' - '(logging)nologging[log transactions]' - 'onerror[action to recover from error]:action:(panic lock umount)' - 'quota[turn on quotas]' - '(ro rw)rq[mount file system read-write with quotas]' - "$_fs_s5fs[@]" - ) - _fs_tmpfs=( - 'size[set file system size]:size' - ) - _fs_pcfs=( - '(nofoldcase)foldcase[force filenames to lowercase]' - "(foldcase)nofoldcase[don't force filenames to lowercase]" - ) - _fs_hsfs=( - 'nrr[no rock ridge]' - 'notraildot[no trail dot when no extension]' - "nomaplcase[don't force lowercase]" - 'nosuid[ignore suid and sgid bits]' - ) - _fs_nfs=( - '(fg)bg[retry in the background]' - '(bg)fg[retry in the foreground]' - '(nogrpid)grpid[new file gets group ID of directory]' - '(grpid)nogrpid[new file gets fsgid of current process]' - '(nointr)intr[allow operations to be interrupted]' - '(intr)nointr[prevent operations from being interrupted]' - '(sec secure)kerberos[use kerberos authentication]' - 'noac[no attribute caching]' - 'port[server IP port number]:port' - 'posix[posix semantics]' - 'proto[specify protocol]:protocol:'\("$(grep -v '^#' /etc/netconfig 2> /dev/null | cut -d ' ' -f 1)"\) - 'public[force public file handle]' - '(noquota)quota[enable quotas]' - '(quota)noquota[disable quotas]' - 'timeo[specify initial timeout for UDP]:initial timeout for UDP' - 'retrans[set number of NFS retransmissions]:number of NFS retransmissions:(5)' - 'retry[specify number of mount failure retries]:mount failure retries:(10000)' - 'rsize[specify read buffer size]:read buffer size:(8192)' - 'wsize[specify write buffer size]:write buffer size:(8192)' - '(kerberos secure)sec[set the security mode]:security mode:(sys dh krb4 none)' - '(kerberos sec)secure[use Diffie-Hellman public key system]' - 'vers[set NFS version number]:NFS version number:(2 3)' - "$_nfs_access[@]" - "$_fs_s5fs[@]" - ) - _fs_cachefs=( - 'backfstype[type of the back file system]:back file system type:(nfs hsfs)' - 'backpath[specify back file system location]:back file system location:_files -/' - 'cacheid[specify a cache ID]:cache ID' - 'local-access[check permissions locally]' - 'noconst[disable cache consistency checking]' - 'purge[purge any cached information]' - '(suid)nosuid[ignore setuid and setgid bits]' - '(nosuid)suid[use setuid and setgid bits]' - '(write-around)non-shared[purge cache on writes]' - '(non-shared)write-around[keep file in cache on writes]' - "$_nfs_access[@]" - ) - ;; - osf*) - _fs_advfs=( - '(ro rw)rq[mount file system read-write]' - 'dual[allow mount even if same domain ID as already mounted domain]' - 'sync[do I/O synchronously]' - ) - _fs_cdfs=( - '(nodefperm)defperm[ignore permission bits]' - '(defperm)defperm[use permission bits]' - 'noversion[strip off version extension]' - 'rrip[use RRIP extensions]' - ) - _fs_nfs=( - "$_nfs_ufs[@]" - "$_fs_nfs[@]" - ) - ;; - linux*) - _fs_any=( - '(sync)async[do all I/O asynchronously]' - '(noatime)atime[update access time]' - '(norelatime)relatime[update atime relative to mtime/ctime]' - '(nostrictatime)strictatime[full atime updates]' - '(strictatime)nostrictatime[default atime update behaviour]' - '(rw suid dev exec async)defaults[use default options]' - '(nodev)dev[interpret devices]' - '(nodiratime)diratime[update directory access time]' - "(diratime)nodiratime[don't update directory access time]" - '(noexec)exec[permit execution of binaries]' - "noiversion[don't increment i_version inode field]" - '(nomand)mand[allow mandatory locks]' - "(atime)noatime[don't update access time]" - "(relatime)norelatime[update access time without regard to mtime/ctime]" - "(dev)nodev[don't interpret devices]" - "(exec)noexec[don't allow execution of binaries]" - "(mand)nomand[don'tallow mandatory locks]" - '(suid)nosuid[ignore suid and sgid bits]' - 'remount[mount already mounted file system]' - '(rw)ro[mount file system read-only]' - '(ro)rw[mount file system read-write]' - '(nosuid)suid[use suid and sgid bits]' - '(async)sync[do I/O synchronously]' - 'dirsync[perform directory updates synchronously]' - 'loop[use loopback device]::loopback device:_files' - 'encryption[enable encryption]:cypher' - 'keybits[set number of bits in encryption key]:key size:(64 128 160 192 256)' - 'offset[specify data start for loopback mount]:offset (bytes)' - '(loud)silent' '(silent)loud' - '(fscontext defcontext)context:context' - '(context)'{fscontext,defcontext}':context' - 'rootcontext:context' - ) - _fs_adfs=( - 'uid[set owner of root]:user ID' - 'gid[set group of root]:group ID' - 'ownmask[permission mask for ADFS "owner" permissions]:mask (octal)' - 'othmask[permission mask for ADFS "other" permissions]:mask (octal)' - ) - _fs_affs=( - 'uid[set owner of root]:user ID' - 'gid[set group of root]:group ID' - 'setuid[set owner of all files]:user ID' - 'setgid[set group of all files]:group ID' - 'mode[set file permissions]:file permission bits' - "protect[don't allow changes to permissions]" - 'usemp[set owner of root to owner of mount point]' - 'verbose[print message per mount]' - 'prefix[prefix before volume name when following link]:prefix string' - "volume[prefix before '/' when following link]:prefix string" - 'reserved[set number of unused blocks at start of device]:number of unused blocks' - 'root[specify location of the root block]:root block location' - 'bs[specify block size]:block size:(512 1024 2048 4192)' - ) - _fs_devpts=( - "uid[set owner of newly created pty's]:user ID" - "gid[set group of newly created pty's]:group ID" - "mode[set mode of newly created pty's]:file permission bits" - ) - _fs_ext2=( - '(noacl)acl[support POSIX access control lists]' - '(acl)noacl[do not support POSIX access control lists]' - '(minixdf)bsddf[select bsddf behavior]' - '(bsddf)minixdf[select bsddf behavior]' - '(nocheck)check[set checking level]::checking level:((normal\:check\ inode\ and\ block\ bitmaps\ on\ mount strict\:check\ on block\ deallocation none\:no\ checking))' - 'debug[print debugging info upon each (re)mount]' - 'errors[specify behavior on error]:error behavior:((continue\:ignore\ errors remount-ro\:remount\ file\ system\ read-only panic\:panic\ and\ halt\ system))' - '(nogrpid bsdgroups sysvgroups)grpid[new file gets group ID of directory]' - '(grpid nogrpid sysvgroups)bsdgroups[new file gets group ID of directory]' - '(grpid bsdgroups sysvgroups)nogrpid[new file gets fsgid of current process]' - '(grpid bsdgroups nogrpid)sysvgroups[new file gets fsgid of current process]' - 'nobh[do not attach buffer_heads to file pagecache]' - 'nouid32[disable 32-bit UIDs and GIDs]' - '(orlov)oldalloc[use old allocator for new inodes]' - '(oldalloc)orlov[use orlov allocator for new inodes]' - 'resgid[specify access to reserved space (group ID)]:group ID' - 'resuid[specify access to reserved space (user ID)]:user ID' - 'sb[specify super block number]:super block number' - '(nouser_xattr)user_xattr[support user extended attributes]' - '(user_xattr)nouser_xattr[do not support user extended attributes]' - ) - _fs_fat=( - 'blocksize[specify block size]:block size:(512 1024 2048)' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'dmask[specify umask for directories only]:umask value (octal)' - 'fmask[specify umask for files only]:umask value (octal)' - 'allow_utime[control permission check of mtime/atime]:value' - 'check[specify checking level]:checking level:((relaxed\:accept\ upper\ and\ lower\ case,\ truncate\ long\ name normal\:like\ '"'\`'"'relaxed'"\\'"',\ but\ reject\ special\ characters strict\:like\ '"'\`'"'normal'"\\'"',\ but\ no\ long\ parts))' - 'codepage[specify codepage for converting filenames to short form]:codepage' - 'conf[specify CR/NL conversion]:CR/NL conversion mode:((binary\:no\ translation text\:conversion\ on\ all\ files auto\:perform\ translation\ on\ file\ without\ binary\ extension))' - 'conv[convert form of text files]:mode:(binary text auto)' - 'cvf_format[use specified compressed volume format module]:module' - 'cvf_option[pass option to CVF module]:option' - 'debug[debug mode]' - 'fat[specify fat type]:fat type (bit):(12 16 32)' - 'iocharset[character set to use for converting from 8 bit to unicode]:character set' - 'tz[set timezone conversion]:zone:(UTC)' - 'quiet[quiet mode]' - ) - _fs_ext3=( - "$_fs_ext2[@]" - 'journal[update fs journal]:update or inode number:(update)' - 'journal_dev[specify new journal location]:device number' - 'noload[do not load journal]' - 'data[specify mode for data]:journalling mode:(journal ordered writeback)' - 'barrier[enable/disable barriers]:state:((0\:disabled 1\:enabled))' - 'commit[specify commit sync interval for data and metadata]:seconds' - ) - _fs_ext4=( - "$_fs_ext3[@]" - journal_checksum journal_sync_commit - inode_readahead:blocks stripe:blocks delalloc nodelalloc - {max,min}'_batch_time:time (usecs)' journal_ioprio:priority - abort {,no}auto_da_alloc {,no}discard nouid32 resize - {,no}block_validity dioread_{,no}lock i_version - ) - _fs_msdos=( "$_fs_fat[@]" ) - _fs_umsdos=( "$_fs_fat[@]" ) - _fs_vfat=( "$_fs_fat[@]" - '(utf8)uni_xlate[translate unicode to escaped sequences]' - 'posix[allow file names only differing in case]' - 'nonumtail[try short name before number extension]' - '(uni_xlate)utf8[mount the filesystem in UTF8 mode]' - 'shortname[specify handling of 8.3 filenames]:mode:(lower win95 winnt mixed)' - ) - _fs_hfs=( - 'creator[specify creator value]:creator' - 'type[specify type value]:type' - 'umask[specify umask]:umask value (octal)' - 'dir_umask[specify umask for directories only]:umask value (octal)' - 'file_umask[specify umask for files only]:umask value (octal)' - 'session[specify CDROM session to mount]:session' - 'part[specify partition number from device to use]:part' - 'quiet[do not complain about invalid mount options]' - ) - _fs_hpfs=( - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'case[specify file name conversion]:file name conversion:((lower\:convert\ to\ lower\ case asis\:no\ conversion))' - 'conv[specify CR elimination]:CR elimination:((binary\:no\ elimination test\:delete\ CRs\ \(e.g.\ before\ NL\) auto\:sometimes\ yes,\ sometimes\ not))' - "nocheck[don't abort mount on consistency check failure]" - ) - _fs_iso9660=( - 'norock[disable Rock Ridge extensions]' - 'nojoliet[disable Microsoft Joliet extensions]' - 'check[specify file name conversion]:file name conversion:((relaxed\:convert\ to\ lower\ case\ before\ lookup strict\:no\ conversion))' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'map[specify non-Rock Ridge name conversion]:file name conversion:((normal\:map\ upper\ to\ lower,\ ignore\ \;1,\ map\ \;\ to\ . off\:no\ conversion))' - 'mode[specify permissions]:file access permissions' - 'unhide[show hidden and associated files]' - 'block[specify block size]:block size:(512 1024 2048)' - 'cruft[ignore high bits of file length]' - 'session[select session number on multisession CD]:session' - 'sbsector[specify starting sector]:sector' - 'iocharset[character set when converting from 8 bit to unicode (Joliet)]:character set' - 'utf8[mount the filesystem in UTF8 mode (Joliet)]' - ) - _fs_jfs=( - 'iocharset[character set when converting from unicode to ascii]:character set' - 'resize[resize volume to specified number of blocks]:blocks' - '(integrity)nointegrity[do not write to the journal]' - '(nointegrity)integrity[commit metadata changes to the journal]' - 'errors[specify behavior on error]:error behavior:((continue\:ignore\ errors remount-ro\:remount\ file\ system\ read-only panic\:panic\ and\ halt\ system))' - ) - _fs_ntfs=( - 'iocharset[character set to use when returning file names]:character set' - '(uni_xlate)utf8[use UTF-8 for converting file names]' - '(utf8)uni_xlate[translate unicode to escaped sequences]:type:(0 1 2)' - 'posix[distinguish upper and lower case]:state:((0\:off 1\:on))' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - ) - _fs_reiserfs=( - 'conv[mount 3.5 fs using 3.6 format for new objects]' - 'hash[choose hash type]:hash function:(rupasov tea r5 detect)' - '(no_unhashed_relocation)hashed_relocation[tune the block allocator]' - 'noborder[disable border allocator algorithm]' - 'nolog[disable journalling]' - 'notail[disable packing of files into the tree]' - '(hashed_relocation)no_unhashed_relocation[tune the block allocator]' - 'replayonly[replay but do not mount]' - 'resize[assume the device has this many blocks]:number of blocks' - ) - _fs_smbfs=( "$_fs_nfs[@]" ) - _fs_tmpfs=( - 'size[set file system size]:size (bytes)' - 'mode[set root directory permissions]:mode' - 'nr_blocks[set number of blocks]:blocks' - 'nr_inodes[set number of inodes]:inodes' - ) - _fs_udf=( - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'unhide[show hidden and associated files]' - 'undelete[show deleted files]' - 'nostrict[unset strict conformance]' - 'bs[set the block size]:block size:2048' - 'novrs[skip volume sequence recognition]' - 'session[set the CDROM session]:session' - 'anchor[override standard anchor location]:anchor location:256' - 'lastblock[set the last block of the file system]:last block' - ) - _fs_ufs=( - 'ufstype[set ufs type]:ufs type:(old 44bsd sun sunx86 nextstep nextstep-cd openstep)' - 'onerror[set behaviour on error]:behaviour on error:(panic lock umount repair)' - ) - _fs_usbfs=( - 'devuid[set owner of device files]:user ID' - 'devgid[set group of device files]:group ID' - 'devmode[set mode of device files]:file permission bits' - 'busuid[set owner of bus directories]:user ID' - 'busgid[set group of bus directories]:group ID' - 'busmode[set mode of bus directories]:file permission bits' - 'listuid[set owner of file devices]:user ID' - 'listgid[set group of file devices]:group ID' - 'listmode[set mode of file devices]:file permission bits' - ) - _fs_xfs=( - 'biosize[specify preferred buffered I/O size]:base 2 logarithm:((13:8K 14:16K 15:32K 16:64K))' - '(xdsm)dmapi[enable DMAPI event callouts]' - '(dmapi)xdsm[enable DMAPI event callouts]' - 'logbufs[set number of in-memory log buffers]:(2 3 4 5 6 7 8)' - 'logbsize[set size of each in-memory log buffer]:(16384 32768)' - 'logdev[use external log device]:_files' - 'rtdev[use external realtime device]:_files' - 'noalign[do not align data allocations at stripe unit boundaries]' - 'noatime[do not update atime on reads]' - 'norecovery[do not run log recovery]' - 'nouuid[ignore the filesystem uuid]' - 'osyncisdsync[make O_SYNC behave as O_DSYNC]' - '(usrquota uqnoenforce)quota[enable user quotas]' - '(quota uqnoenforce)usrquota[enable user quotas]' - '(quota usrquota)uqnoenforce[enable user quotas without enforcement]' - '(gqnoenforce)grpquota[enable group quotas]' - '(grpquota)gqnoenforce[enable group quotas without enforcement]' - 'sunit[specify stripe unit]:size' - 'swidth[specify stripe width]:size' - ) - _fs_btrfs=( - 'subvol[mount a subvolume]:path' - 'subvolid[mount subvolume by id]:id' - 'device[scan device for filesystems]:device' - 'nodatasum[disable checksums of new files]' - 'nobarrier[disable use of device barriers]' - 'max_inline[set maximum space for inline data]:size (bytes)' - 'alloc_start[set where on disk allocations start]:number' - 'thread_pool[number of worker threads to allocate]:number' - '(compress-force)compress[enable compression]:algorithm:(zlib lzo no)' - '(compress)compress-force[enable compression for all files]:algorithm:(zlib lzo no)' - 'ssd[optimise behaviour for SSDs]' - 'ssd_spread[be strict about finding a large unused region for new allocations]' - 'discard[enable discard/TRIM on freed blocks]' - 'notreelog[disable the tree logging used for fsync]' - metadata_ratio:number {,no}space_cache clear_cache - user_subvol_rm_allowed autodefrag inode_cache - enospc_debug recovery check_int check_int_data - check_int_print_mask:number skip_balance - 'fatal_errors:action:(bug panic)' - ) - ;; - freebsd*|dragonfly*) - _fs_any=( - '(sync)async[do all I/O asynchronously]' - 'current[use current options on already mounted file system]' - 'force[force R/W mount of unclean filesystem]' - 'fstab[use options listed in /etc/fstab]' - 'noasync[do I/O synchronously]' - "noatime[don't update access time]" - 'noauto[can only be mounted explicitly]' - 'noclusterr[disable read clustering]' - 'noclusterw[disable write clustering]' - "nodev[don't interpret devices]" - "noexec[don't allow execution of binaries]" - 'nosuid[ignore suid and sgid bits]' - "nosymfollow[don't follow symlinks]" - 'rdonly[mount file system read-only]' - '(async)sync[do all I/O synchronously]' - 'suiddir[allow suid bits on directories]' - 'update[change status of already mounted filesystem]' - 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' - ) - _fs_cd9660=( - 'extatt[enable the use of extended attributes]' - 'gens[do not strip version numbers on files]' - 'nojoliet[do not use any Joliet extensions]' - 'norrip[do not use any Rockridge extensions]' - 'nostrictjoliet[relax checking for Supplementary Volume Descriptor Flags field]' - ) - _fs_std=( - "nodev[don't interpret devices]" - "noexec[don't allow execution of binaries]" - 'nosuid[ignore suid and sgid bits]' - 'rdonly[mount file system read-only]' - 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' - ) - _fs_devfs=( "$_fs_std[@]" ) - _fs_fdesc=( "$_fs_std[@]" ) - _fs_kernfs=( "$_fs_std[@]" ) - _fs_linprocfs=( "$_fs_std[@]" ) - _fs_linsysfs=( "$_fs_std[@]" ) - _fs_procfs=( "$_fs_std[@]" ) - _fs_msdos=( - 'shortnames[]' - 'longnames[]' - 'nowin95[]' - 'shortnames[force only the old MS-DOS 8.3 style filenames to be visible]' - 'longnames[force Windows 95 long filenames to be visible]' - 'nowin95[completely ignore Windows 95 extended file information]' - ) - if [[ "${OSTYPE}" = freebsd* ]]; then - _fs_msdosfs=( "$_fs_msdos[@]" ) - fi - ;; - esac -fi - -if [[ "$service" = mount ]]; then - - # Here are the tests and tables for the arguments and options for - # the `mount' program. This should set the `deffs' parameter if - # the default file system type is not `iso9660' (it should be set - # to the name of the default file system type), and set 'typeops' - # to the mount option for file system type selection when it is - # not '-t'. - - case "$OSTYPE" in - aix*) - args=( -s - '(:)-a[mount all filesystems in /etc/fstab]' - '-f[forced mount]' - '-n[remote node]:remote node:_hosts' - '-p[mount as removable file system]' - '-r[mount read-only]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-v[filesystem defined by /etc/vfs]:VfsName' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=jfs - ;; - irix*) - args=( -s - '-a[mount all filesystems in /etc/fstab]' - '-b[mount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' - '-c[check any dirty filesystems before mounting]' - "-f[fake a new /etc/mtab entry, but don't mount any filesystems]" - '-h[mount all filesystems associated with host]:host:_hosts' - '-n[mount filesystem without making entry in /etc/mtab]' - '-o[specify file system options]:file system option:->fsopt' - '-p[print list of mounted filesystems in format suitable for /etc/fstab]' - '-r[mount read-only]' - '-t[specify file system type]:file system type:_file_systems' - '-v[verbose]' - '-M[use alternate mtab]:alternate mtab:_files' - '-P[with -p, prepend prefix to paths]:prefix' - ) - deffs=efs - ;; - linux*) - local excl='-V --version -h --help' - args=( -s - '(- :)'{-h,--help}'[show help]' - '(- :)'{-V,--version}'[show version]' - "($excl -v --verbose)"{-v,--verbose}'[verbose mode]' - "($excl -p --pass-fd)"{-p+,--pass-fd=}'[specify file descriptor from which to read passphrase]:file descriptor:_file_descriptors' - "($excl -o : -a --all)"{-a,--all}'[mount all filesystems in fstab]' - "($excl -F --fork)"{-F,--fork}'[fork off one child per device]' - "($excl -f --fake)"{-f,--fake}'[fake mount]' - "($excl -i --internal-only)"{-i,--internal-only}"[don't call /sbin/mount.<fs> helper]" - "($excl)-l[output ext2, ext3, ext4 and XFS labels]" - "($excl -n --no-mtab)"{-n,--no-mtab}"[don't write /etc/mtab]" - "($excl)--no-canonicalize[don't convert paths to canonical form]" - "($excl)-s[tolerate sloppy mount options]" - "($excl -w -r --read-only)"{-r,--read-only}'[mount read-only]' - "($excl -r -w --rw)"{-w,--rw}'[mount read/write]' - "($excl)-L+[mount partition with specified label]:label:->labels" - "($excl)-U+[mount partition with specified uuid]:uuid" - "($excl -t --types)"{-t+,--types=}'[specify file system type]:file system type:_sequence -s , _file_systems' - "($excl -O --test-opts)"{-O+,--test-opts=}'[with -a, restrict filesystems by options]:file system option:->fsopt' - "($excl -a -O -o --options)"{-o+,--options=}'[specify file system options]:file system option:->fsopt' - '(: -)'{-B,--bind}'[remount part of filesystem elsewhere]:old directory:_directories:new directory:_directories' - '(: -)'{-R,--rbind}'[remount part of filesystem including submounts elsewhere]:old directory:_directories:new directory:_directories' - '(: -)'{-M,--move}'[move part of filesystem elsewhere]:old directory:_directories:new directory:_directories' - '(: -)--make-'{r,}{shared,slave,private,unbindable}':mount point:->udevordir' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - ;; - osf*) - args=( -s - '(-o :)-a[mount all filesystems in fstab]' - '-d[mount even if not unmounted]' - '-e[list all mount points]' - '-f[fake mount]' - '-l[display values of all file system options]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-u[remount file system]' - '-r[mount read-only]' - '-w[mount read/write]' - '-v[verbose]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=cdfs - ;; - solaris*) - args=( -s - '(-p -v)-a[mount all filesystems in fstab]' - '(-p -v)-F[specify file system type]:file system type:_file_systems' - '(-a -v)-p[print mounted file systems]' - '(-p -a)-v[print mounted file systems verbosely]' - '(-p -v)-V[echo command-line but do not execute]' - "(-p -v)-m[don't write /etc/mnttab]" - '(-p -v)-g[mount globally]' - '(-p -v)-o[specify file system options]:file system option:->fsopt' - '(-p -v)-O[overlay mount]' - '(-p -v)-r[mount read-only]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=hsfs - typeops=-F - ;; - freebsd*|dragonfly*|darwin*) - args=( -s - '(:)-a[mount all filesystems in fstab]' - '-d[cause everything to be done except for the actual system call]' - '-f[forced mount]' - '-o[specify file system options]:file system option:->fsopt' - '-p[print mounted file systems]' - '-r[mount readonly]' - '-t[specify file system type]:file system type:_sequence -s, _file_systems' - '-u[change status of already mounted filesystem]' - '-v[verbose mode]' - '-w[mount read/write]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=ufs - ;; - *) - # Default for all other systems. Dunno. - - args=( -s - '(-o :)-a[mount all filesystems in fstab]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-f[fake mount]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=ufs - ;; - esac - - _arguments -C "$args[@]" && ret=0 - -else - - # Completion for umount. - - case "$OSTYPE" in - aix*) - args=( - '(*)-a[unmount all mounted file systems]' - '-f[force unmount]' - '-n[remote node]:remote node:_hosts' - '-t[specify file system type]:file system type:_file_systems' - '*:dev or dir:->udevordir' - ) - ;; - irix*) - args=( - '-a[unmount all mounted file systems]' - '-b[unmount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' - '-h[unmount all filesystems associated with host]:host:_hosts' - '-k[kill all processes with files open on filesystems before unmounting]' - '-t[unmount all filesystems of specified type]:file system type:_file_systems' - '-v[verbose]' - ) - ;; - linux*) - local excl='-V --version -h --help' - args=( - '(- *)'{-h,--help}'[show help]' - '(- *)'{-V,--version}'[show version]' - "($excl -v --verbose)"{-v,--verbose}'[verbose mode]' - "($excl -n --no-mtab)"{-n,--no-mtab}"[don't write /etc/mtab]" - "($excl)-r[remount read-only on failure]" - "($excl)-d[for loopback mount, free loop device]" - "($excl)-i[don't call /sbin/umount.<fs> helper]" - "($excl *)-a[unmount all file systems from /etc/mtab]" - "($excl)-t[specify file system type]:file system type:_file_systems" - "($excl *)-O[with -a, restrict filesystems by options]:file system option:->fsopt" - "($excl)-f[force unmount]" - "($excl)-l[lazy unmount]" - '*:dev or dir:->udevordir' - ) - ;; - freebsd*|dragonfly*|darwin*) - args=( - '(*)-a[unmount all mounted file systems]' - '-A[unmount all mounted file systems except the root]' - '-f[force unmount]' - '-h[unmount all filesystems associated with host]:host:_hosts' - '-t[unmount all filesystems of specified type]:file system type:_sequence -s, _file_systems' - '-v[verbose mode]' - '*:dev or dir:->udevordir' - ) - ;; - solaris*) - args=( - '-a[unmount all mounted file systems]' - '-f[force unmount]' - '-V[echo command-line but do not execute]' - '-o[specify file system options]:file system option:->fsopt' - '*:dev or dir:->udevordir' - ) - ;; - *) - args=( - '-v[verbose mode]' - '(*)-a[unmount all file systems from /etc/mtab]' - '-t[specify file system type]:file system type:_file_systems' - '*:dev or dir:->udevordir' - ) - ;; - esac - - _arguments -C -s "$args[@]" && ret=0 - -fi - -case "$state" in -fsopt) - _tags options || return 1 - - eval 'tmp=(' '"$_fs_'${(s:,:)^${opt_args[$typeops]:-${deffs}}}'[@]"' ')' - tmp=( "$_fs_any[@]" "${(@)tmp:#}" ) - _values -s , 'file system option' "$tmp[@]" && ret=0 - ;; -devordir) - local dev_tmp mp_tmp mline - - if compset -P 1 '*:'; then - _wanted exports expl 'exported path' compadd \ - ${${(f)"$(path+=( {/usr,}/sbin(N) ) _call_program exports \ - showmount -e ${IPREFIX%:} 2>/dev/null)"}[2,-1]%% *} && ret=0 - return ret - fi - if compset -S ':*'; then - _hosts -S '' && ret=0 - return ret - fi - - case "$OSTYPE" in - dragonfly*) - while read mline; do - case $mline[(w)1] in - \#* ) - ;; - proc) - ;; - *) - [[ $mline[(w)3] == swap ]] || \ - dev_tmp+=( $mline[(w)1] ) \ - mp_tmp+=( $mline[(w)2] ) - ;; - esac - done < /etc/fstab - - _alternative \ - 'hosts:host:_hosts -S :' \ - 'devices:device:compadd -a dev_tmp' \ - 'directories:mount point:compadd -a mp_tmp' && ret=0 - ;; - freebsd*) - local _glabel - while read mline; do - case $mline[(w)1] in - \#* ) - ;; - proc) - ;; - *) - [[ $mline[(w)3] == swap ]] || \ - dev_tmp+=( $mline[(w)1] ) \ - mp_tmp+=( $mline[(w)2] ) - ;; - esac - done < /etc/fstab - - /sbin/ggatel list | while read mline; do - dev_tmp+=(/dev/$mline) - done - - # add glabel devices - _glabel=(${(M)${(f)"$(/sbin/glabel list)"}:#*Name:[[:space:]]*/*}) - for mline ($_glabel);do - dev_tmp+=( /dev/$mline[(w)3] ) - done - - _alternative \ - 'hosts:host:_hosts -S :' \ - 'devices:device:compadd -a dev_tmp' \ - 'directories:mount point:compadd -a mp_tmp' && ret=0 - ;; - *) - if (( ${${(s.,.)opt_args[-o]}[(I)loop(|=*)]} )) ; then - _wanted device-files expl 'loop device file' _files && ret=0 - else - _alternative \ - 'hosts:host:_hosts -S :' \ - 'files:device or mount point:_files -g "*(-%b,-/)"' && ret=0 - fi - ;; - esac - ;; -udevordir) - _umountable && ret=0 - ;; -labels) - _wanted labels expl 'disk label' compadd /dev/disk/by-label/*(:t) && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mozilla b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mozilla deleted file mode 100644 index 0be25b8d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mozilla +++ /dev/null @@ -1,150 +0,0 @@ -#compdef mozilla mozilla-firefox mozilla-xremote-client firefox iceweasel=firefox - -local curcontext="$curcontext" state line expl ret=1 suf -typeset -A opt_args - -local popts="-installer -CreateProfile -P -ProfileWizard -ProfileManager -SelectProfile" -local -a mozopts - -if [[ $service = *remote* ]]; then - state=remote -else - if [[ $service = *firefox* ]]; then - mozopts=( - '-browser[open browser window]' \ - '-console[start with debugging console]' \ - '-h[output help message]' \ - '-help[output help message]' \ - '-inspector[start with DOM Inspector]:URL to inspect:->location' \ - '-install-global-extension[install an extension]:extension to install:_files' \ - '-new-window[load URL in new window]:URL to load:->location' \ - '-new-tab[load URL in new tab]:URL to load:->location' \ - '-no-remote[run with multiple profiles]' \ - '-profile[specify profile file]:profile file:_files' \ - '-v[show version]' \ - '-version[show version]' \ - '-safe-mode[disable extensions and themes for this session]' - ) - else - mozopts=( - "($popts)-installer[start with 4.x migration window]" - "($popts)-ProfileWizard[start with profile wizard]" - "($popts)-SelectProfile[start with profile selection dialog]" - '-splash[enable splash screen]' - '-chat[start with IRC client]' - '-news[start with news]' - '-venkman[start with JavaScript debugger]' - '-terminal[start with command line terminal]' - '-mail[start with mail]' - '-compose[start with messenger compose]:URL:_urls' - ) - fi - _x_arguments -C $mozopts \ - '-height[height of startup window]:height' \ - '(-)'{-h,-help}'[show usage message]' \ - "($popts)-CreateProfile:profile" \ - '-width[width of startup window]:width' \ - '(-)'{-v,-version}'[show the version number and build date]' \ - "($popts)-P[start with profile]:profile:->profile" \ - "($popts)-ProfileManager[start with profile manager]" \ - '-UILocale:locale' \ - '-contentLocale:locale' \ - '-remote[execute a command in an existing Mozilla]:remote command:->remote' \ - '-jsconsole[start with JavaScript Console]' \ - '-edit[start with editor]:URL:_urls' \ - '-chrome[load the specified chrome]:URL:_urls' \ - '*:location:->urls' && ret=0 -fi - -[[ "$state" = "urls" ]] && - _files "$@" && return 0 - -# Handle mozilla remote commands -if [[ "$state" = "remote" ]]; then - local -a remote_commands - remote_commands=(openURL openFile saveAs mailto addBookmark ping) - - compset -P '*\(' - if compset -S '(|\\)\)*'; then - set - -S "" "$@" - else - set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@" - fi - case $IPREFIX in - openURL*) - if compset -P "*,"; then - _wanted option expl 'option' compadd "$@" new-tab new-window && ret=0 - else - compset -S ',*' - state=urls - fi - ;; - addBookmark*) state=urls;; - openFile*) _files "$@" -W ~;; - saveAs*) - if compset -P "*,"; then - _wanted types expl 'data type' \ - compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0 - else - compset -S ",*" || suf="," - _files -qS "$suf" -W ~ && ret=0 - fi - ;; - mailto*) - _email_addresses -s, -c && ret=0 - ;; - *) - compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}" - _wanted commands expl 'remote command' \ - compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \ - remote_commands && ret=0 - ;; - esac -fi - -if [[ "$state" = "urls" ]]; then - # Complete mozilla urls - if compset -P about: ; then - _wanted values expl 'about what' \ - compadd "$@" authors blank cache document fonts global hype image-cache \ - license logo memory-cache mozilla plugins && ret=0 - elif compset -P news: ; then - _newsgroups "$@" && ret=0 - elif compset -P mailto: ; then - _email_addresses -c && ret=0 - else - _tags prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' "$@"; do - _urls "$expl[@]" && ret=0 - compset -S '[^:]*' - compadd -S '' "$expl[@]" about: news: mailto: mocha: javascript: && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -if [[ $state == "profile" ]]; then - if [[ $service == *firefox* ]]; then - local -a profiles text profiledir - case "$OSTYPE" in - darwin*) profiledir=~/"Library/Application Support/Firefox" ;; - *) profiledir=~/.mozilla/firefox/ ;; - esac - profiles=(${(f)"$(< ${profiledir}/profiles.ini)"}) - profiles=(${(M)${profiles}:#(\[Profile|(Path|Name)=)*}) - text=${(F)profiles} - profiles=(${(f)text//(#b)\[Profile([0-9]##)\] -Name=([^ -]##|) -Path=([^ -]##|)/$match[2]}) - profiles=(${profiles%:}) - compadd $profiles - else - compadd ~/.mozilla/*/*.slt(\:h\:t) - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mpc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mpc deleted file mode 100644 index 7f7adc7b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mpc +++ /dev/null @@ -1,371 +0,0 @@ -#compdef mpc -value-,MPD_HOST,-default - -local OUT foo MPD_MUSIC_DIR MPC_PLAYLIST_MATCHER MPC_FORMAT_STRING - -# set this style to whatever --format string you want to use when -# constructing the list of playlist entries -zstyle -s ":completion:${curcontext}:*" mpc-format-string MPC_FORMAT_STRING -foo=(--format "${(q)MPC_FORMAT_STRING:-%file%}") - -# set this style to the music_directory of mpd to get _files based completion -# for commands like "add" -zstyle -s ":completion:${curcontext}:" mpd-music-directory MPD_MUSIC_DIR - -# matcher used for playlist completion -zstyle -s ":completion:${curcontext}:" mpd-playlist-matcher \ - MPC_PLAYLIST_MATCHER -: ${MPC_PLAYLIST_MATCHER:='m:{a-z}={A-Z} l:|=**'} - -# this one is used to configure the behaviour of _mpc_helper_songnumbers, -# see _pids for the original -zstyle -s ":completion:${curcontext}:song-numbers" insert-song-numbers \ - OUT || OUT=single - -_mpc_command() { - local mpc_cmds - - mpc_cmds=( - add:"append a song to the end of the current playlist" - cdprev:"compact disk player-like previous command" - channels:"list the channels that other clients have subscribed to" - clear:"clear the current playlist" - clearerror:"clear the current error" - crop:"remove all songs except for the currently playing song" - current:"show the currently playing song" - crossfade:"set and display crossfade settings" - del:"remove a song from the current playlist" - disable:"disable an output" - enable:"enable an output" - toggleoutput:"toggle an output" - outputset:"set output attributes" - idle:"wait until an event occurs" - idleloop:"loop waiting for events" - insert:"insert a song after the currently playing song in the playlist" - listall:"list all songs in the music directory" - load:"load file as a playlist" - ls:"list the contents of specified directory" - lsplaylists:"list currently available playlists" - mixrampdb:"set and display mixrampdb settings" - mixramdelay:"set and display mixrampdelay settings" - move:"move song in playlist" - next:"play the next song in the current playlist" - outputs:"show the current outputs" - pause:"pause the currently playing song" - play:"start playing" - playlist:"print the current playlist" - prev:"play the previous song in the current playlist" - prio:"change song priorities in the queue" - queued:"show the next queued song" - random:"toggle random mode, or specify state" - repeat:"toggle repeat mode, or specify state" - single:"toggle single mode, or specify state" - consume:"toggle consume mode, or specify state" - replaygain:"set or display the replay gain mode" - rm:"remove a playlist" - save:"save a playlist to file" - search:"search for a song" - searchadd:"search songs and add them to the current playlist" - searchplay:"search and play songs from the current playlist" - find:"search for a song, exact match" - findadd:"find songs and add them to the current playlist" - list:"list all tags of given type" - listneighbors:"list neighbors" - seek:"seek to the position specified in percent" - seekthrough:"seek by an amount of time within the song and playlist" - shuffle:"shuffle the current playlist" - stats:"display statistics about MPD" - stop:"stop the currently playing playlists" - toggle:"toggles Play/Pause, plays if stopped" - update:"scan music directory for updates" - rescan:"rescan music directory (including unchanged files)" - version:"report version of MPD" - volume:"set volume" - status:"display MPD status" - sendmessage:"send a message to the specified channel" - waitmessage:"wait for at least one message on the specified channel" - subscribe:"subscribe to the specified channel and continuously receive messages" - sticker:"sticker management" - mount:"list mounts or add a new mount" - unmount:"remove a mount" - ) - - if (( CURRENT == 1 )); then - _describe -t commands "mpc command" mpc_cmds || \ - _wanted commands expl "mpc command" compadd loadtab tab lstab - else - local cmd=$words[1] - local curcontext="${curcontext%:*:*}:mpc-${cmd}:" ret=1 - if ! _call_function ret _mpc_$cmd; then - _default && ret=0 - fi - return ret - fi -} - -_mpc_helper_bool() { - local expl states - states=(on off yes no 1 0 true false) - _wanted states expl boolean compadd -a states -} - -(( $+functions[_mpc_helper_songnumbers] )) || -_mpc_helper_songnumbers() { - local out sn list expl MATCH desc all NM ret=1 - - _tags song-numbers || return 1 - - if [[ "$PREFIX" = [0-9]# ]]; then - all=() - MATCH="*${(Q)PREFIX}[0-9]#*" - else - all=(-U) - MATCH="(#i)*${(Q)PREFIX}*" - NM="$compstate[nmatches]" - fi - - out=("${(@f)$(_call_program song-numbers $mpccmd $foo playlist)}") - out=("${(@M)out[@]:#${~MATCH}}") - - sn=("${(@)${(@M)out}//(#b)(#s)(\#|[ >]#)([0-9]#)*/$match[2]}") - list=("${(@Mr:COLUMNS-1:)out}") - - _wanted -V song-numbers expl 'song number' \ - compadd "$@" -ld list "$all[@]" -a sn && ret=0 - - if [[ -n "$all" ]]; then - case "$OUT" in - menu) - compstate[insert]=menu - ;; - single) - [[ $compstate[nmatches] -ne NM+1 ]] && - compstate[insert]= - ;; - *) - [[ ${#:-$PREFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu - ;; - esac - fi - - return ret -} - -(( $+functions[_mpc_helper_playlists] )) || -_mpc_helper_playlists() { - local list expl - list=(${(f)"$(_call_program playlists $mpccmd lsplaylists)"}) - _wanted playlists expl playlist compadd -M $MPC_PLAYLIST_MATCHER $expl -a list -} - -(( $+functions[_mpc_helper_files] )) || -_mpc_helper_files() { - if [[ -n $MPD_MUSIC_DIR ]]; then - _files -W $MPD_MUSIC_DIR - return - fi - - local -U list expl prefix=$PREFIX - if [[ $words[CURRENT] != */* ]]; then - list=( ${${(f)"$(_call_program files $mpccmd listall)"}%%/*}) - _wanted files expl file compadd -qS/ -a list - else - [[ $compstate[quote] = [\'\"] ]] && prefix="$compstate[quote]$PREFIX$compstate[quote]" - list=(${(f)"$($mpccmd tab -- ${(Q)prefix} 2>/dev/null)"}) - _wanted files expl file _multi_parts / list - fi -} - -(( $+functions[_mpc_helper_directories] )) || -_mpc_helper_directories() { - if [[ -n $MPD_MUSIC_DIR ]]; then - _files -/ -W $MPD_MUSIC_DIR - return - fi - - local -U list expl prefix=$PREFIX - if [[ $words[CURRENT] != */* ]]; then - list=( ${${(M)${(f)"$(_call_program directories $mpccmd listall)"}:#*/*}%%/*}) - _wanted directories expl directory compadd -qS/ -a list - else - [[ $compstate[quote] = [\'\"] ]] && prefix="$compstate[quote]$PREFIX$compstate[quote]" - list=(${(f)"$($mpccmd lstab -- ${(Q)prefix} 2>/dev/null)"}) - _wanted directories expl directory _multi_parts / list - fi -} - -(( $+functions[_mpc_helper_outputs] )) || -_mpc_helper_outputs() { - local vals outline - vals=(${${${${(M)${(f)"$(_call_program outputs $mpccmd outputs)"}:#Output * \(*\) is (en|dis)abled}##Output }%%\) is (en|dis)abled}/ \(/:}) - _describe -t outputs output vals -} - -_mpc_add() { - _mpc_helper_files -} - -_mpc_del() { - _mpc_helper_songnumbers -} - -_mpc_play() { - _mpc_helper_songnumbers -} - -_mpc_seek() { - _message -e position 'position ([+-][HH:MM:SS]|<0-100>%%)' -} - -_mpc_seekthrough() { - _message -e position 'position ([+-][HH:MM:SS])' -} - -_mpc_enable() { - _mpc_helper_outputs -} - -_mpc_disable() { - _mpc_helper_outputs -} - -_mpc_toggleoutput() { - _mpc_helper_outputs -} - -_mpc_outputset() { - if (( CURRENT == 2 )); then - _mpc_helper_outputs - else - _values -w -S = attribute \ - 'dop:setting:(1 0)' \ - 'allowed_formats:formats' - fi -} - -_mpc_move() { - if (( $#words <= 3 )); then - _mpc_helper_songnumbers - else - _message "nothing" - fi -} - -_mpc_listall() { - _mpc_helper_files -} - -_mpc_ls() { - _mpc_helper_directories -} - -_mpc_lstab() { - _mpc_helper_directories -} - -_mpc_load() { - _mpc_helper_playlists -} - -_mpc_loadtab() { - _mpc_helper_playlists -} - -_mpc_save() { - _mpc_helper_playlists -} - -_mpc_tab() { - _mpc_helper_files -} - -_mpc_rm() { - _mpc_helper_playlists -} - -_mpc_volume() { - local expl value="${${$(_call_program volume $mpccmd volume)#*:}%\%}" ret=1 - if [[ -prefix \+ && $value -lt 100 ]]; then - _wanted -V volume expl volume compadd $expl - +{1..$((100-value))} && ret=0 - elif [[ -prefix - && $value -gt 0 ]]; then - _wanted -V volume expl volume compadd $expl - -{1..$value} && ret=0 - else - _wanted -V volume expl volume compadd $expl - {0..100} && ret=0 - compstate[insert]=menu:$((value+1)) - fi - return ret -} - -_mpc_repeat() { - _mpc_helper_bool -} - -_mpc_random() { - _mpc_helper_bool -} - -_mpc_single() { - _mpc_helper_bool -} - -_mpc_consume() { - _mpc_helper_bool -} - -_mpc_current() { - _arguments --wait -} - -_mpc_search() { - local list expl - list=(album artist title track name genre date composer performer comment disc filename any) - - if ! (( $#words % 2 )); then - _wanted list expl table compadd $expl -a list - else - _message "pattern" - fi -} - -_mpc_find() { - _mpc_search "$@" -} - -_mpc_list() { - _mpc_search "$@" -} - -_mpc_update() { - _mpc_helper_files -} - -_mpc_rescan() { - _mpc_helper_files -} - -if [[ $service = *MPD_HOST* ]]; then - _hosts - return -fi - -local curcontext="$curcontext" state line expl ret=1 -local mpccmd="$words[1]" - -_arguments -C \ - '(-q --quiet --no-status -v --verbose)'{-v,--verbose}'[give verbose output]' \ - '(-q --quiet --no-status -v --verbose)'{-q,--quiet,--no-status}'[prevent printing song status on completion]' \ - '(-h --host)'{-h,--host=}'[connect to specified host]:_hosts' \ - '(-p --port)'{-p,--port=}'[connect to server port]:port' \ - '(-f --format)'{-f,--format=}'[specify the format of song display]:format string:->formats' \ - '(-w --wait)'{-w,--wait}'[wait for operation to finish (e.g. database update)]' \ - '(-r --range)'{-r,--range=}'[operate on a range (e.g. when loading a playlist)]:<start>\:<end>' \ - '*::mpc command:_mpc_command' && ret=0 - -if [[ $state = formats ]]; then - compset -P '([^%]|%[^%]#%)#' - _wanted metadata expl 'metadata delimiter' compadd -p % -S % \ - artist album albumartist comment composer date disc genre performer title \ - track time file position id prio mtime mdate && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mplayer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mplayer deleted file mode 100644 index 1f99a178..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mplayer +++ /dev/null @@ -1,165 +0,0 @@ -#compdef mplayer gmplayer - -local suf ret=1 curcontext="$curcontext" -local -a vals state line expl - -_x_arguments -C -s \ - '!-abs:buffer size' \ - '-ac[force usage of a specific audio codec]:audio codec attachment:->audio-codecs' \ - '-af[activate audio filters]:filter' -af-adv:option \ - '-afm[force usage of a specific audio codec family]:audio codec family:->audio-codec-families' \ - '-aid:audio channel id' \ - '-alang[select the DVD audio language]:country code' \ - '(-nosound)-ao[specify audio driver]:audio-driver attachment:->audio-drivers' \ - '-aofile:file:_files' \ - '(-nosound)*-aop[specify audio output filter]:audio output filter:->audio-plugins' \ - '-aspect:ratio' \ - '-audiofile:audio file:_files -g "(#i)*.(wav|mp3|ogg|opus)(-.)"' \ - -autoq:quality -autosync:factor \ - -bandwidth:bandwidth\ value -benchmark -bpp:depth \ - '(-nocache)-cache:cache size (kb)' \ - '-cdda:audio CD options:(spped paranoia generic-dev sector-size overlap toc-bias toc-offset skip noskip)' \ - '-cdrom-device:cdrom device:_files -g "*(-%b)"' \ - '-channels:playback channels:((2\:stereo 4\:surround 6\:full\ 5.1))' \ - '-chapter:chapter' -contract:value \ - '-csslib:libcss.so location:_files' \ - -cuefile -delay:delay -demuxer:number -dfbopts:value \ - '(-nodouble)-double[enable double buffering]' \ - '-dr[enable direct rendering]' \ - -dxr2:option -dumpaudio -dumpstream -dumpvideo \ - '-dumpfile:output file:_files' \ - -dumpmicrodvdsub -dumpmpsub -dumpsrtsub -dumpjacosub -dumpsami -dumpsub \ - '-dvd:title id' '-dvdauth:DVD device' \ - '-dvd-device:dvd device:_files -g "*(-%b)"' \ - '-dvdangle:angle id' '-dvdkey:key' \ - '-edl:edl file:_files' '-edlout:edl file:_files' -enqueue \ - '-fbmode:video mode' '-fbmodeconfig:config file:_files' \ - '-fb[specify framebuffer device to use]:device:_files -g "*(-%b)"' \ - '-ffactor:factor:(0 0.75 1 10)' \ - -flip '-font:font.desc file:_files' -forceidx -forcexv -format:format \ - '-fps[force frame rate]:frame-rate' \ - '-framedrop' \ - '-frames:frame number' \ - '-fs[fullscreen]' -fstype:type \ - -gui -{,gui}'wid:X window:_x_window' \ - {-h,-help,--help}'[display help info]' \ - -hardframedrop \-hr-mp3-seek \ - '-hue:video signal hue adjustment' \ - '(-rootwin)-icelayer:icewm layer:((0\:desktop 2\:below 4\:normal 6\:ontop 8\:dock 10\:abovedock 12\:menu))' \ - '(-use-stdin)-idx[rebuild index of the avi]' \ - '-ifo:ifo file:_files' '-include:config-file:_files' \ - '-input:command:(conf ar-delay ar-rate keylist cmdlist js-dev file)' \ - '-jpeg:option' -lavdopts:option \ - '-lircconf:lirc config file:_files' '-loop:repetitions' \ - '-mc[specify max sync correction]:max sync correction' \ - '-mf[specify option when decoding multiple PNG or JPEG files]:option' \ - '-mixer:mixer device:_files -g "*(-%b)"' \ - '-monitoraspect:ratio' -monitor_dotclock -monitor_{h,v}freq:frequency \ - '-ni[force usage of non-interlaced avi parser]' \ - -noaspect -noautosub -overlapsub -nooverlapsub -nowaveheader \ - '(-cache)-nocache' -nobps \ - '(-double)-nodouble' -nodshow -noextbased -noframedrop \ - -nograbpointer -nokeepaspect -noslices -nojoystick -nolirc -nortc \ - '(-ao -aop)-nosound' \ - '-osdlevel:osd-level:((0\:subtitles\ only 1\:volume\ +\ seek 2\:volume\ +\ seek\ +\ timer\ +\ percentage 3\:volume\ +\ seek\ +\ timer\ +\ percentage\ +\ total\ time))' \ - -panscan:value \ - '-passwd[specify password for http authentication]:password' \ - '-playlist:file:_files' \ - '-pp[apply postprocess filter]:filter attachment' -pphelp \ - -quiet -really-quiet -rootwin \ - -rawaudio:option -rawvideo:option \ - '-rtsp-stream-over-tcp' -saturation:value \ - '-sb[seek to byte position]:byte' \ - -screen{w,h}:pixels \ - '-sdp[input file is a SDP file]' -shuffle \ - '-skin[skin directory]:skin directory:_directories' \ - -skipopening -slave \ - '-sid[turn on DVD subtitles]:language id' \ - '-speed[set playback speed rate]:playback speed rate' \ - '-srate[specify frequency of audio playback]:frequency (Hz)' \ - '-ss[seek to given time position]:position ([[hh\:]mm\:]ss[.sss])' \ - '-sstep[specify time between displayed frames]:time (seconds)' \ - -ssf:mode -stop_xscreensaver \ - '-stereo:mode:((0\:stereo 1\:left\ channel 2\:right\ channel))' \ - '-sub[use specified subtitle file]:subtitle file:_files' \ - -subfps:rate -sub-bg-alpha:value -sub-bg-color:value -subcc -subcp:codepage -subdelay:seconds \ - -subpos:vertical\ position -s{ub,pu}'align:alignment:((0\:top 1\:center 2\:bottom))' \ - '-subfont-autoscale:mode:((0\:no\ autoscale 1\:proportional\ to\ height 2\:proportional\ to\ width 3\:proportional\ to\ diagonal))' \ - -subfont-blur:radius -subfont-encoding:encoding -subfont-osd-scale:coefficient -subfont-outline:thickness -subfont-text-scale:coefficient \ - -sub-no-text-pp -spuaa:mode -spugauss:gauss -sws:scalar\ type \ - '-tv[TV grabbing]:option' \ - -unicode -utf8 \ - '-user[specify username for http authentication]' \ - '(-idx)-use-stdin' \ - '-vcd[play video cd track]:track' \ - '-vc[force usage of a specific video codec]:video-codec attachment:->video-codecs' \ - '-v[enable verbose output]' \ - '*-vf[video output filters]:video output filters:->video-output-plugins' \ - '-vfm[force usage of a specific video codec family]:video-codec-family:(1 2 3 4 5)' \ - '-vid[select video channel]:video-channel' \ - '-vm[try to change to a better video mode]' \ - '-vo[specify video driver]:video-driver attachment:->video-drivers' \ - '-vop[specify video output filters]:video output filters:->video-output-plugins' \ - -vobsub:vobsub\ file -vobsubid:id -vsync \ - '-x[scale image to x width if driver supports]:width' \ - -xineramascreen:screen -xvidopts:option \ - '-xy[scale image by factor if driver supports]:factor' \ - '-y[scale image to y height if driver supports]:height' \ - '-z[specify compression level for png output]:compression-level:((0\:no\ compression 1 2 3 4 5 6\:default\ compression 7 8 9\:max\ compression))' \ - '-zoom[use software scaling, where available (use with -nofs)]' \ - -zrbw -zrcrop -zrdev -zrfd -zrhelp -zrnorm -zrquality -zr{h,v}dec -zr{x,y}doff \ - '(-use-stdin)*:video file:->mfiles' && ret=0 - -case "$state" in - mfiles) - _tags files urls - while _tags; do - _requested files expl 'media file' _files -g \ - "*.(#i)(asf|asx|avi|flac|flv|m1v|m2p|m2v|m4a|m4v|mjpg|mka|mkv|mov|mp3|mp4|mpe|mpeg|mpg|ogg|ogm|ogv|opus|qt|rm|ts|vob|wav|webm|wma|wmv)(-.)" && ret=0 - if _requested urls; then - while _next_label urls expl URL; do - _urls "$expl[@]" && ret=0 - compadd -S '' "$expl[@]" {dvd,vcd,cdda,cddb,tv}:// && ret=0 - done - fi - (( ret )) || return 0 - done - ;; - audio-codecs) - vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -ac help -quiet 2>/dev/null)"}[(r)ac:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} ) - _describe -t audio-codecs 'audio codec' vals && ret=0 - ;; - audio-drivers) - vals=( help ${${${(f)"$(_call_program audio-drivers mplayer -ao help 2>/dev/null)"}[(r) *,-1]#?}/ /:} ) - _describe -t audio-drivers 'audio driver' vals && ret=0 - ;; - audio-codec-families) - compset -P '*,' - compset -S ',*' - vals=( help ${${${(f)"$(_call_program audio-codec-families mplayer -afm help 2>/dev/null)"}[(r) [^:]#,-1]## ##}/ ##/:} ) - _describe -t audio-codec-families 'audio driver' vals && ret=0 - ;; - audio-plugins) - _values -s : 'audio output plugin' \ - 'list[specify list of plugins]:plugin:(resample surround format volume extrastereo volnorm delay)' \ - 'format[output format]:format' \ - 'fout[output frequency]:frequency (Hz)' \ - 'volume[volume level]:volume <0-255>' \ - 'mul[stereo coefficient]:coefficient' \ - 'softclip[compressor]' && ret=0 - ;; - video-codecs) - vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -vc help -quiet 2>/dev/null)"}[(r)vc:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} ) - _describe -t video-codecs 'video codec' vals && ret=0 - ;; - video-drivers) - vals=( help ${${${(f)"$(_call_program video-drivers mplayer -vo help 2>/dev/null)"}[(r) *,-1]#?}/ /:} ) - _describe -t video-drivers 'video driver' vals && ret=0 - ;; - video-output-plugins) - vals=( help ${${${${(f)"$(_call_program video-output-plugins mplayer -vop help 2>/dev/null)"}[(r) *,-1]}/ /}/ #: /:} ) - _describe -t video-output-plugins 'video output plugin' vals && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mt deleted file mode 100644 index 01b27634..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mt +++ /dev/null @@ -1,80 +0,0 @@ -#compdef mt - -local -a args cmds -local state line curcontext="$curcontext" ret=1 - -args=( '(-)-f[specify raw tape device]:tape device:_files' ) -cmds=( - {eof,weof}':write specified number of EOF marks at current position' - 'fsf:forward space by specified number of files' - 'fsr:forward space by specified number of records' - 'bsf:backward space by specified number of files' - 'bsr:backward space by specified number of records' - 'asf:absolute space to specified file number' - 'eom:go to end of recorded media on the tape' - 'rewind:rewind the tape' - {offline,rewoffl}':rewind and unload the tape' - 'status:print status information about the tape unit' - 'retension:rewind, wind to end of reel, rewind again - smoothes tape tension' - 'erase:erase the tape' -) - -if _pick_variant gnu=GNU unix --version; then - args=( - '(1 2 -)'{-V,--version}'[print version info]' - '(1 2 -)--help[display usage info]' - '(-V --version --help -f --file)'{-f,--file=}'[specify raw tape device]:tape device:_files' - '(-V --version --help)--rsh-command=[specify remote shell command]:rsh command:_command_names -e' - ) - # should really allow remote user@host for tape device - cmds+=( - 'bsfm:backward space by specified number of file marks' - 'fsfm:forward space by specified number of file marks' - 'fss:forward space by specified number of setmarks' - 'bss:backward space by specified number of setmarks' - 'wset:write specified number of setmarks at current position' - {eod,seod}':space to end of valid data' - 'setblk:set drive block size' - 'setdensity:set tape density code' - 'drvbuffer:set drive buffer code' - 'stoptions:set driver option bits' - 'stwrthreshold:set device write threshold' - 'seek:seek to specified block' - 'tell:tell the current block on tape' - 'densities:explain some common density codes' - 'datcompression:enquire or set compression status' - ) -elif [[ $OSTYPE = (freebsd|dragonfly)* ]]; then - cmds=( ${cmds:#(asf|eof):*} - 'smk:write specified number of setmarks at current position' - 'fss:forward space by specified number of setmarks' - 'bss:backward space by specified number of setmarks' - 'rdhpos:read hardware block position' - 'rdspos:read SCSI logical block position' - 'sethpos:set hardware block position' - 'setspos:set SCSI logical block position' - 'errstat:print error status info about device' - 'blocksize:set drive block size' - 'density:set tape density code' - 'geteotmodel:print the current EOT filemark model' - 'seteotmodel:set the current EOT filemark model' - 'eod:go to end of recorded media on the tape' - 'comp:set compression mode' - ) -elif [[ $OSTYPE = solaris* ]]; then - cmds+=( - 'nbsf:back space by specified number of files positioning at file start' - 'reserve:allow drive to remain reserved after close until explicit release' - 'release:re-establish release at close behaviour' - ) - if (( ! EUID )); then - cmds+=( 'forcereserve:break reservation of tape drive held by other host' ) - fi -fi - -_arguments -C "$args[@]" '(--help --version -V)1:operation:->operation' \ - '2:count:' && ret=0 - -[[ -n "$state" ]] && _describe -t operations 'operation' cmds && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtools b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtools deleted file mode 100644 index 63851b86..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtools +++ /dev/null @@ -1,156 +0,0 @@ -#compdef mattrib mcopy mdel mdu mcd mdeltree mdir mformat mlabel mmd mmount mmove mrd mread mren mtoolstest mtype - -(( $+functions[_mtools_drives] )) || -_mtools_drives() { - local expl - - _wanted drives expl drive compadd "$@" -M "m:{a-z}={A-Z}" \ - ${${(M)${(f)"$(mtoolstest)"}:#drive*}##drive } -} - -(( $+functions[_mtools_dosfiles] )) || -_mtools_dosfiles() { - local expl files dirs disp dirsonly suf='/' ret=1 - - zparseopts -D -E '/=dirsonly' - if compset -P '[A-Za-z]:'; then - _tags files - else - _tags files drives - fi - compset -P '*/' - if compset -S '/*'; then - suf='' - dirsonly=(1) - fi - - while _tags; do - _requested drives expl drive _mtools_drives -S '' && ret=0 - if _requested files; then - files=( ${(f)"$(mdir -aX $IPREFIX 2>/dev/null)"} ) - dirs=( ${${${(M)files:#*/}%/}##*/} ) - disp=( $dirs/ ) - while _next_label files expl 'file'; do - (( ! $#dirsonly )) && compadd "$@" "$expl[@]" -M 'm:{a-zA-Z}={A-Za-z}' \ - ${files##*/} && ret=0 - compadd "$@" "$expl[@]" -M 'm:{a-zA-Z}={A-Za-z}' -S "$suf" -q \ - -d disp -a dirs && ret=0 - done - fi - (( ret )) || return 0 - done - - return ret -} - -(( $+functions[_mtools_files] )) || -_mtools_files() { - local dos - - if [[ -prefix [a-zA-Z]: ]]; then - dos='files:file:_mtools_dosfiles' - else - dos='drives:drive:_mtools_drives -S ""' - fi - _alternative $dos 'files:file:_files' -} - -_mtools() { - local args Dopt oopt sopt topt vopt - - Dopt='(-V)-D[specify name clash handling]:clash option: - _values "name clash handling" - "o[overwrite primary names]" - "O[overwrite secondary names]" - "r[rename primary name]" - "R[rename secondary name]" - "a[autorename primary name]" - "A[autorename secondary name]" - "s[skip primary name]" - "S[skip secondary name]" - "m[ask user what to do with primary name]" - "M[ask user what to do with secondary name]"' - oopt='(-V)-o[no confirmation on overwrite of DOS files]' - sopt=( '(-V -s -/)'-{s,/}'[recurse subdirectories]' ) - topt='(-V)-t[perform text file translation]' - vopt='(-V)-v[verbose]' - - case $service in - mattrib) - args=( $mdfiles - '(-V)-+a[archive]' - '(-V)-+h[hidden]' - '(-V)-+r[readonly]' - '(-V)-+s[system]' - '(-V)-/[recurse subdirectories]' - '(-V)-X[concise output]' - '(-V)-p[replay mode]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mcopy|mread) - args=( $Dopt $oopt $sopt $topt $vopt - '(-V)-b[batch mode]' - '(-V)-p[preserve file attributes]' - '(-V)-Q[quit on failure]' - '(-V)-a[text mode transfer]' - '(-V)-n[no confirmation on overwrite of Unix files]' - '(-V)-m[preserve modification time]' - '(-V)*:source file:_mtools_files' - ) - ;; - mdeltree|mrd) - args=( $vopt '(-V)*:directory:_mtools_dosfiles -/' ) - ;; - mdel) - args=( $vopt '(-V)*:file:_mtools_dosfiles' ) - ;; - mdir) - args=( $Dopt $sopt - '(-V)-w[wide output]' - '(-V)-a[also list hidden files]' - '(-V)-f[fast - do not find free space]' - '(-V -b -X)'-{b,X}'[concise output]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mdu) - args=( - '(-V)-a[output for all files]' - '(-V)-s[summarize - output only for each argument]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mlabel) - args=( - '(-V -s)-c[clear existing label]' - '(-V -c)-s[show existing label]' - '(-V -N)-n[assign new random serial number]' - '(-V -n)-N[specify new serial number]:serial number' - '1:drive:_mtools_drives -S ""' - ) - ;; - mmd) - args=( $Dopt '(-V)*:directory:_mtools_dosfiles -/' ) - ;; - mmove|mren) - # target file should be completed relative to source here - args=( $Dopt $oopt $vopt '(-V)*:file:_mtools_dosfiles' ) - ;; - mtype) - args=( $topt - '(-V)-s[strip the high bit]' - '(-V)*:file:_mtools_files' - ) - ;; - mbadblocks|mmount|mformat|mtoolstest|mdrive) - args=( '(-V)1:drive:_mtools_drives' ) - ;; - mcd) args=( '(-V)*:directory:_mtools_dosfiles -/' ) ;; - esac - - _arguments -s -S "$args[@]" \ - '(-D -o -s -t -v -w -a -h -r -s -/ -X -p -f -b * 1)-V[display version information]' -} - -_mtools "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtr deleted file mode 100644 index 9a73cfbd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mtr +++ /dev/null @@ -1,60 +0,0 @@ -#compdef mtr - -_arguments -s -S \ - '(H -F --filename)'{-F,--filename}'[read hostnames from a file]' \ - '(H -6)-4[use IPv4 only]' \ - '(H -4)-6[use IPv6 only]' \ - '(H -I --interface)'{-I+,--interface=}'[use named network interface]: :_net_interfaces' \ - '(H -a --address)'{-a+,--address=}'[bind outgoing packets to specific interface]:source IP:_hosts' \ - '(H -f --first-ttl)'{-f+,--first-ttl=}'[specify TTL to start]:TTL [1]' \ - '(H -m --max-ttl)'{-m+,--max-ttl=}'[specify maximum number of hops to probe]:hops [30]' \ - '(H -U --max-unknown)'{-U+,--max-unknown=}'[specify maximum unknown hosts]:maximum [5]' \ - '(H -P --port)'{-P+,--port=}'[specify target port for TCP, SCTP or UDP]:port' \ - '(H -L --localport -T --tcp -S --sctp)'{-L+,--localport=}'[specify source port number for UDP]' \ - '(H -s --psize 2)'{-s+,--psize=}'[packet size]:packet size (bytes)' \ - '(H -B --bitpattern)'{-B+,--bitpattern=}'[specify bit pattern to use in payload]:number (0-255)' \ - '(H -i --interval)'{-i+,--interval=}'[specify ping interval]:interval (seconds)' \ - '(H -G --gracetime)'{-G+,--gracetime=}'[specify time to wait for responses]:wait time (seconds)' \ - '(H -Q --tos)'{-Q+,--tos=}'[specify type of service for IP header]:tos (0-255)' \ - '(H -e --mpls)'{-e,--mpls}'[display ICMP MPLS information]' \ - '(H -Z --timeout)'{-Z+,--timeout=}'[specify how long to keep probe sockets open before giving up on the connection]:timeout (seconds)' \ - '(H -r --report)'{-r,--report}'[report mode]' \ - '(H -w --report-wide)'{-w,--report-wide}"[wide report mode\: don't truncate hostnames]" \ - '(H -c --report-cycles)'{-c+,--report-cycles=}'[report cycles]:number of pings' \ - '(H)--displaymode=[select initial display mode]:display mode:((0\:statistics 1\:stripchart\ with\ latency 2\:stripchart\ without\ latency))' \ - '(H -n --no-dns)'{-n,--no-dns}'[no DNS lookups]' \ - '(H -b --show-ips)'{-b,--show-ips}'[show both IP numbers and host names]' \ - '(H -o --order)'{-o+,--order=}'[specify order of output fields]: :_values -S "" "field order" - "L[loss ratio]" - "D[dropped packets]" - "R[received packets]" - "S[sent packets]" - "N[newest RTT]" - "B[min/best RTT]" - "A[average RTT]" - "W[max/worst RTT]" - "V[standard deviation]" - "G[geometric mean]" - "J[current jitter]" - "M[jitter mean/average]" - "X[worst jitter]" - "I[interarrival jitter]"' \ - '(H -z --aslookup -y --ipinfo)'{-y+,--ipinfo=}'[select IP information in output]:information:((0\:display\ AS\ number 1\:display\ IP\ prefix 2\:display\ country\ code 3\:display\ RIR 4\:display\ allocation\ date))' \ - '(H -y --ipinfo -z --aslookup)'{-z,--aslookup}'[display AS number]' \ - '(H)1:destination host:_hosts' \ - '(H)2:packet size (bytes)' \ - + '(H)' \ - '(- 1 2)'{-h,--help}'[display help information]' \ - '(- 1 2)'{-v,--version}'[display version information]' \ - + '(proto)' \ - '(H)'{-u,--udp}'[use UDP instead of ICMP echo]' \ - '(H -s --psize)'{-T,--tcp}'[use TCP instead of ICMP echo]' \ - '(H)'{-S,--sctp}'[use SCTP instead of ICMP echo]' \ - + '(output)' \ - '(H)'{-t,--curses}'[curses UI]' \ - '(H)'{-g,--gtk}'[GTK+ UI]' \ - '(H)'{-p,--split}'[output for a split-user interface]' \ - '(H)'{-l,--raw}'[output raw format]' \ - '(H)'{-C,--csv}'[output comma separated values]' \ - '(H)'{-j,--json}'[output JSON]' \ - '(H)'{-x,--xml}'[output XML]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_multi_parts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_multi_parts deleted file mode 100644 index 8a77ff0f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_multi_parts +++ /dev/null @@ -1,261 +0,0 @@ -#autoload - -# This gets two arguments, a separator (which should be only one -# character) and an array. As usual, the array may be given by it's -# name or literal as in `(foo bar baz)' (words separated by spaces in -# parentheses). -# The parts of words from the array that are separated by the -# separator character are then completed independently. - -local sep pref npref i tmp2 group expl menu pre suf opre osuf orig cpre -local opts sopts matcher imm -typeset -U tmp1 matches - -# Get the options. - -zparseopts -D -a sopts \ - 'J+:=group' 'V+:=group' 'x+:=expl' 'X+:=expl' 'P:=opts' 'F:=opts' \ - S: r: R: q 1 2 o+: n 'f=opts' 'M+:=matcher' 'i=imm' - -sopts=( "$sopts[@]" "$opts[@]" ) -if (( $#matcher )); then - matcher="${matcher[2]}" -else - matcher= -fi - -# Get the arguments, first the separator, then the array. The array is -# stored in `tmp1'. Further on the array `matches' will always contain -# those words from the original array that still match everything we have -# tried to match while we walk through the string from the line. - -sep="$1" -if [[ "${2[1]}" = '(' ]]; then - tmp1=( ${=2[2,-2]} ) -else - tmp1=( "${(@P)2}" ) -fi - -# In `pre' and `suf' we will hold the prefix and the suffix from the -# line while we walk through them. The original string are used -# temporarily for matching. - -pre="$PREFIX" -suf="$SUFFIX" -opre="$PREFIX" -osuf="$SUFFIX" -orig="$PREFIX$SUFFIX" - -# Special handling for menu completion? - -[[ $compstate[insert] = (*menu|[0-9]*) || -n "$_comp_correct" || - ( $#compstate[pattern_match] -ne 0 && - "$orig" != "${orig:q}" ) ]] && menu=yes - -# In `pref' we collect the unambiguous prefix path. - -pref='' - -# If the string from the line matches at least one of the strings, -# we use only the matching strings. - -compadd -O matches -M "r:|${sep}=* r:|=* $matcher" -a tmp1 - -(( $#matches )) || matches=( "$tmp1[@]" ) - -while true; do - - # Get the prefix and suffix for matching. - - if [[ "$pre" = *${sep}* ]]; then - PREFIX="${pre%%${sep}*}" - SUFFIX="" - else - PREFIX="${pre}" - SUFFIX="${suf%%${sep}*}" - fi - - # Check if the component for some of the possible matches is equal - # to the string from the line. If there are such strings, we directly - # use the stuff from the line. This avoids having `foo' complete to - # both `foo' and `foobar'. - - if [[ -n "$PREFIX$SUFFIX" || "$pre" = ${sep}* ]]; then - tmp1=( "${(@M)matches:#${PREFIX}${SUFFIX}${sep}*}" ) - else - tmp1=() - fi - - if (( $#tmp1 )); then - npref="${PREFIX}${SUFFIX}${sep}" - else - # No exact match, see how many strings match what's on the line. - - builtin compadd -O tmp1 -M "r:|${sep}=* r:|=* $matcher" - "${(@)${(@)matches%%${sep}*}:#}" - - [[ $#tmp1 -eq 0 && -n "$_comp_correct" ]] && - compadd -O tmp1 -M "r:|${sep}=* r:|=* $matcher" - "${(@)${(@)matches%%${sep}*}:#}" - - if [[ $#tmp1 -eq 1 ]]; then - - # Only one match. If there are still separators from the line - # we just accept this component. Otherwise we insert what we - # have collected, probably giving it a separator character - # as a suffix. - - if [[ "$pre$suf" = *${sep}* ]]; then - npref="${tmp1[1]}${sep}" - else - matches=( "${(@M)matches:#${tmp1[1]}*}" ) - - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - - if [[ $#imm -ne 0 && $#matches -eq 1 ]] || - zstyle -t ":completion:${curcontext}:" expand suffix; then - compadd "$group[@]" "$expl[@]" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - $pref$matches - else - if (( $matches[(I)${tmp1[1]}${sep}*] )); then - compadd "$group[@]" "$expl[@]" -p "$pref" -r "$sep" -S "$sep" "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$tmp1[1]" - else - compadd "$group[@]" "$expl[@]" -p "$pref" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$tmp1[1]" - fi - fi - return - fi - elif (( $#tmp1 )); then - local ret=1 - - # More than one match. First we get all strings that match the - # rest from the line. - - PREFIX="$pre" - SUFFIX="$suf" - compadd -O matches -M "r:|${sep}=* r:|=* $matcher" -a matches - - if [[ "$pre" = *${sep}* ]]; then - PREFIX="${cpre}${pre%%${sep}*}" - SUFFIX="${sep}${pre#*${sep}}${suf}" - else - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - fi - - # The purpose of this check (or one purpose, anyway) seems to be to ensure - # that the suffix for the current segment on the command line doesn't - # match across segments. For example, we want $matches for a<TAB>c to - # include abc/d, but not abd/c. If we don't have anything on the command - # line for this segment, though, we can skip it. (The difference is only - # noticeable when there are a huge number of possibilities) - [[ -n $pre$suf ]] && - matches=( ${(@M)matches:#(${(j<|>)~${(@b)tmp1}})*} ) - - if ! zstyle -t ":completion:${curcontext}:" expand suffix || - [[ -n "$menu" || -z "$compstate[insert]" ]]; then - - # With menu completion we add only the ambiguous component with - # the prefix collected and a separator for the matches that - # have more components. - - tmp2="$pre$suf" - if [[ "$tmp2" = *${sep}* ]]; then - tmp2=(-s "${sep}${tmp2#*${sep}}") - else - tmp2=() - fi - - - compadd "$group[@]" "$expl[@]" -r "$sep" -S "$sep" "$opts[@]" \ - -p "$pref" "$tmp2[@]" -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*${sep}}%%${sep}*}:#}" && ret=0 - (( $matches[(I)${sep}*] )) && - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -p "$pref" \ - -M "r:|${sep}=* r:|=* $matcher" - "$sep" && ret=0 - compadd "$group[@]" "$expl[@]" -r "$sep" -S "$sep" "$opts[@]" \ - -p "$pref" "$tmp2[@]" -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*?${sep}?*}%%${sep}*}:#}" && ret=0 - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" -p "$pref" "$tmp2[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)matches:#*${sep}*}" && ret=0 - else - # With normal completion we add all matches one-by-one with - # the unmatched part as a suffix. This will insert the longest - # unambiguous string for all matching strings. - - compadd "$group[@]" "$expl[@]" "$opts[@]" \ - -p "$pref" -s "${i#*${sep}}" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*${sep}*}%%${sep}*}:#}" && ret=0 - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" -p "$pref" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)matches:#*${sep}*}" && ret=0 - fi - return ret - else - # We are here if no string matched what's on the line. In this - # case we insert the expanded prefix we collected if it differs - # from the original string from the line. - - { ! zstyle -t ":completion:${curcontext}:" expand prefix || - [[ "$orig" = "$pref$pre$suf" ]] } && return 1 - - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - - if [[ -n "$suf" ]]; then - compadd "$group[@]" "$expl[@]" -s "$suf" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref$pre" - else - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref$pre" - fi - return - fi - fi - - # We just accepted and/or expanded a component from the line. We - # remove it from the matches (using only those that have a least - # the skipped string) and ad it the `pref'. - - matches=( "${(@)${(@)${(@M)matches:#${npref}*}#*${sep}}:#}" ) - pref="$pref$npref" - - # Now we set `pre' and `suf' to their new values. - - if [[ "$pre" = *${sep}* ]]; then - cpre="${cpre}${pre%%${sep}*}${sep}" - pre="${pre#*${sep}}" - elif [[ "$suf" = *${sep}* ]]; then - cpre="${cpre}${pre}${suf%%${sep}*}${sep}" - pre="${suf#*${sep}}" - suf="" - else - # The string from the line is fully handled. If we collected an - # unambiguous prefix and that differs from the original string, - # we insert it. - - PREFIX="${opre}${osuf}" - SUFFIX="" - - if [[ -n "$pref" && "$orig" != "$pref" ]]; then - if [[ "$pref" = *${sep}*${sep} ]]; then - compadd "$group[@]" "$expl[@]" "$opts[@]" \ - -p "${pref%${sep}*${sep}}${sep}" -S "$sep" \ - -M "r:|${sep}=* r:|=* $matcher" - "${${pref%${sep}}##*${sep}}" - - elif [[ "$pref" = *${sep}* ]]; then - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -p "${pref%${sep}*}${sep}" \ - -M "r:|${sep}=* r:|=* $matcher" - "${pref##*${sep}}" - else - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref" - fi - fi - return - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mupdf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mupdf deleted file mode 100644 index 8a3c7645..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mupdf +++ /dev/null @@ -1,53 +0,0 @@ -#compdef mupdf - -local -a ext=( - cbt - cbz - tar - zip - epub - gproof - fb2 - htm - html - xhtml - xml - bmp - gif - hdp - j2k - jfif - jfif-tbnl - jp2 - jpe - jpeg - jpg - jpx - jxr - pam - pbm - pgm - png - pnm - ppm - tif - tiff - wdp - pdf - pclm - ai - svg - oxps - xps -) - -_arguments -S -s -A '-*' \ - '-p+[use specified password]:password:' \ - '-r+[specify initial zoom level]:resolution [72]:' \ - '-A+[specify anti-aliasing quality]:bits [8]:({0..8})' \ - '-C+[specify full-page tint:tint (RRGGBB) [FFFAF0]:' \ - '-W+[specify page width]:width:' \ - '-H+[specify page height]:height:' \ - '-S+[specify font size]:font size:' \ - '-U+[specify user style sheet]:CSS file:_files' \ - ': :_files -g "*(#i).(${(j:|:)ext})(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mutt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mutt deleted file mode 100644 index 67b974a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mutt +++ /dev/null @@ -1,28 +0,0 @@ -#compdef mutt - -_arguments -s -S \ - '::recipient:_email_addresses -n mutt' \ - '(- :)-A[expand given alias]:alias:_email_addresses -n mutt' \ - '*-a[attach file using MIME]::file attachment:_files' \ - '*-b[specify a BCC recipient]:BCC recipient:_email_addresses -n mutt' \ - '*-c[specify a CC recipient]:CC recipient:_email_addresses -n mutt' \ - '(- :)-D[print the value of all variables]' \ - '(-x)-E[edit the draft (-H) or include (-i) file]' \ - '-d+[log debugging output to ~/.muttdebug0]:level:(1 2 3 4 5)' \ - '-e+[specify a post-init configuration command]:post-init configuration' \ - '-f+[specify mailbox to load]:mailbox: _mailboxes' \ - '-F+[specify an init file]:init file:_files' \ - '(- :)-h[display help]' \ - '-H+[specify a draft file for message]:draft file:_files' \ - '-i+[specify file to include in message]:include file:_files' \ - '-m+[specify default mailbox type]:mailbox type:(mbox MMDF MH Maildir)' \ - '-n[bypass system configuration]' \ - '-p[resume postponed message]' \ - '(- :)-Q+[query a configuration variable]:variable:(${${(f)"$(_call_program variables mutt -D 2>/dev/null)"}%%( is|=)*})' \ - '-R[open in read-only mode]' \ - '-s+[specify a subject]:subject:' \ - '(- :)-v[display mutt version]' \ - '(-E)-x[emulate mailx compose]' \ - '-y[start listing mailboxes]' \ - '-z[start only if new messages]' \ - '-Z[open first mailbox with new mail]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mv deleted file mode 100644 index 84e43d47..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mv +++ /dev/null @@ -1,55 +0,0 @@ -#compdef mv gmv zf_mv - -local args variant aopts=( -A '-*' ) - -_pick_variant -r variant -b zsh gnu=GNU $OSTYPE --version -case $variant; in - gnu) - aopts=() - args=( - '(-b --backup -n --no-clobber)--backup=[make a backup of each existing destination file]: : _values "backup type" - {none,off}"[never make backups]" - {numbered,t}"[make numbered backups]" - {existing,nil}"[numbered backups, if they already exist]" - {simple,never}"[always make simple backups]"' - '(-b --backup -n --no-clobber)-b[make a backup of each existing destination file]' - '(-f --force -i --interactive -n --no-clobber)'{-f,--force}"[don't prompt before overwriting]" - '(-f --force -i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwriting existing file]' - '--strip-trailing-slashes[remove any trailing slashes from each source argument]' - '(-S --suffix)'{-S+,--suffix=}'[specify the backup suffix]:backup suffix [~]' - '(-t --target-directory)'{-t+,--target-directory=}'[move all source arguments into specified directory]:directory:_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat final argument as a normal file]' - '(-u --update)'{-u,--update}'[move only when destination file is older or missing]' - '(-v --verbose)'{-v,--verbose}'[show file names after they are moved]' - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) - [[ $OSTYPE = linux* ]] && args+=( - '(-Z --context)'{-Z,--context}'[set SELinux security context of destination file to default type]' - ) - ;; - *) - args=( - "(-i -n)-f[don't prompt before overwriting]" - '(-f -n)-i[prompt before overwriting existing file]' - ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( - "(-f -i)-n[don't overwrite existing file]" - ) - ;| - darwin*|dragonfly*|*bsd*) - args+=( - '-v[show file names after they are moved]' - ) - ;| - dragonfly*|freebsd*) - args+=( - "-h[if target is a symlink to a directory, don't follow it]" - ) - ;; -esac - -_arguments -s -S $aopts $args \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_my_accounts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_my_accounts deleted file mode 100644 index 267cdd6f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_my_accounts +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_user_at_host -t my-accounts "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_myrepos b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_myrepos deleted file mode 100644 index d26c1245..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_myrepos +++ /dev/null @@ -1,126 +0,0 @@ -#compdef mr - -# -# A zsh completion script for myrepos (http://myrepos.branchable.com/) -# - -# This script does not handle user defined alias nor user defined actions (lib, -# plugins) - - -local curcontext="$curcontext" state state_descr line ret=1 -local -a arguments -typeset -A opt_args -typeset -g mr_subcommands mr_alias - -arguments=( - '(-d --directory)'{-d,--directory}'[specify the topmost directory that mr should work in]:directory:_files -/' - '(-c --config)'{-c,--config}'[use the specified mrconfig file]:mrconfig:_files' - '(-f --force)'{-f,--force}'[force mr to act on repositories that would normally be skipped]' - '--force-env[force mr to execute even though potentially dangerous env variables]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - '(-m --minimal)'{-m,--minimal}'[minimise output]' - '(-q --quiet)'{-q,--quiet}"[suppress mr's usual output]" - '(-k --insecure)'{-k,--insecure}'[accept untrusted SSL certificates when bootstrapping]' - '(-s --stats)'{-s,--stats}'[expand the statistics line displayed at the end]' - '(-i --interactive)'{-i,--interactive}'[start a subshell if a repository fails to be processed]' - '(-n --no-recurse)'{-n,--no-recurse}'[specify the recursivity depth into repositories]::number' - '(-j --jobs)'{-j,--jobs}'[number of jobs run in parallel]::number' - '--cache[save the command result to ~/.mrcache/]' - '--cached[process cached commands]' - '--uncache[remove the cached output]' - '--top[cd to the top of the repo before running any commands]' - '(-t --trust-all)'{-t,--trust-all}'[trust all mrconfig files]' - \!{-p,--path} # this obsolete flag is ignored - ':mr commands:->subcommand' - '*::: := ->option-or-argument' -) - -_arguments -C $arguments && ret=0 - -case $state in - (subcommand) - - mr_subcommands=( - "checkout:check out any repositories that are not already checked out" - "update:update each repository" - "status:display a status report for each repository" - "clean:print/remove ignored or untracked files and other cruft" - "commit:commit changes to each repository" - "record:record changes to the local repository" - "fetch:fetch from each repository's remote repository" - "push:push committed local changes to remote repository" - "diff:show a diff of uncommitted changes" - "log:show the commit log" - "grep:search for a pattern in each repository" - "run:run the specified command in each repository" - "bootstrap:use a 'source' as .mrconfig file" - "list:list the repositories that mr will act on" - "register:register an existing repository in a mrconfig file" - "config:get and set value from a mrconfig file" - "offline:advise mr that it is in offline mode" - "online:advise mr that it is in online mode" - "remember:remember a command to be run later" - "help:display this help." - ) - - mr_alias=( - "co:check out any repositories that are not already checked out" - "ci:commit changes to each repository" - "ls:list the repositories that mr will act on" - ) - - _describe -t commands 'command' mr_subcommands -- mr_alias && ret=0 - - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (clean) - _arguments \ - '-f[allow removing the files]' \ - '*: :' && ret=0 - ;; - (commit|ci|record) - _arguments \ - '-m[allow specifying a commit message]' \ - '*: :' && ret=0 - ;; - (grep) - _message 'search pattern' - ;; - (run) - _message 'command to run' - ;; - (bootstrap) - if [[ $CURRENT -eq 2 ]]; then - _alternative \ - 'urls:URL:_urls' \ - 'local:local file or stdin:_files' - elif [[ $CURRENT -eq 3 ]]; then - _directories - fi - ;; - (register) - _directories - ;; - (config) - case $CURRENT in - (2) _message -e section 'section name';& - (3) _message -e setting '"setting" or "setting=value"';& - esac - ;; - (remember) - _describe -t commands 'command' mr_subcommands -- mr_alias && ret=0 - ;; - (checkout|co|update|status|fetch|push|diff|log|list|ls|offline|online|help) - _message 'no arguments' - ;; - (*) - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysql_utils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysql_utils deleted file mode 100644 index 9f70687b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysql_utils +++ /dev/null @@ -1,249 +0,0 @@ -#compdef mysql mysqlshow mysqldump mysqlimport mysqladmin - -_mysql_get_identity() { - local _mysql_pass _mysql_sock - - _mysql_user=${(v)opt_args[(i)-u|--user]} - _mysql_port=${(v)opt_args[(i)-P|--port]} - _mysql_host=${(v)opt_args[(i)-h|--host]} - _mysql_pass=${(v)opt_args[(i)-p|--password]} - _mysql_sock=${(v)opt_args[(i)-S|--socket]} - - _mysql_params=( - ${_mysql_user:+"--user=$_mysql_user"} - ${_mysql_host:+"--host=$_mysql_host"} - ${_mysql_port:+"--port=$_mysql_port"} - ${_mysql_pass:+"--password=$_mysql_pass"} - ${_mysql_sock:+"--socket=$_mysql_sock"} - ) -} - -_mysql_hosts() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted hosts expl 'server host' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_user:+users=${_mysql_user:q}} \ - ${_mysql_port:+ports=${_mysql_port:q}} \ - hosts - -} - -_mysql_ports() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted ports expl 'server port' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_user:+users=${_mysql_user:q}} \ - ${_mysql_host:+hosts=${_mysql_host:q}} \ - ports - -} - -_mysql_users() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted users expl 'server username' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_host:+hosts=${_mysql_host:q}} \ - ${_mysql_port:+ports=${_mysql_port:q}} \ - users - -} - -_mysql_databases() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - compadd "$@" - ${${(f)~~"$(_call_program databases \ - mysql "$_mysql_params[@]" <<<'show databases' 2>/dev/null)"}[2,-1]} -} - -_mysql_tables() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - compadd "$@" - ${${(f)~~"$(_call_program tables \ - mysql "$_mysql_params[@]" $1 <<< 'show tables' 2>/dev/null)"}[2,-1]} -} - -_mysql() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - '(--disable-auto-rehash)--auto-rehash[enable automatic rehashing]' \ - '(-t --table)'{-B,--batch}'[batch mode (no pretty ASCII)]' \ - '--character-sets-dir=[specify directory containing character sets]:directory:_directories' \ - '--default-character-set=[specify character set]:character set' \ - {-T,--debug-info}'[print debug info on exit]' \ - '(:)'{-D+,--database=}'[specify database to use]' \ - {-e+,--exec=}':[execute specified command]:mysql command' \ - {-f,--force}'[continue through errors]' \ - '(--disable-named-commands)'{-G,--named-commands}'[enable named commands]' \ - {-i,--ignore-spaces}'[ignore space after function names]' \ - --local-infile \ - {-b,--no-beep}'[turn off beep on error]' \ - {-H,--html}'[produce HTML output]' \ - {-x,--xml}'[produce XML output]' \ - '(--skip-line-numbers)--line-numbers[write line numbers for errors]' \ - "(--line-numbers)--skip-line-numbers[don't write line numbers for errors]" \ - {-n,--unbuffered}'[flush the buffer after each query]' \ - '--column-names[write column names in results]' \ - "--skip-column-names[don't write column names in results]" \ - {-o,--one-database}'[only update the default database]' \ - '--pager=[specify pager to use for displaying results]::pager' \ - '--prompt=[set the mysql prompt to specified value]:prompt' \ - {-q,--quick}'[disable caching of the result]' \ - {-r,--raw}'[write fields without conversion]' \ - {-s,--silent}'[silent mode]' \ - '(-B --batch)'{-t,--table}'[output in table format]' \ - '(-B --batch)--tee=[append all output to file]:file:_files' \ - {-U,--safe-updates}'[only allow UPDATE and DELETE that uses keys]' \ - {-E,--vertical}'[print query output vertically]' \ - {-w,--wait}'[wait and retry server connection if necessary]' \ - '(--pager)--disable-pager[print directly to stdout]' \ - '(--auto-rehash)--disable-auto-rehash[disable automatic hashing]' \ - '(-G --named-commands)--disable-named-commands' \ - ':MySQL database:_mysql_databases' -} - -_mysqlshow() { - _arguments -s \ - "$_mysql_common_opts[@]" \ - ':MySQL database to show:_mysql_databases' \ - ':table to show:{ _mysql_tables "$line[1]" }' \ - ':field wildcard' -} - -_mysqldump() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - {-a,--all}'[include all create options]' \ - {-c,--complete-insert}'[use complete insert statements]' \ - {-e,--extended-insert}'[allow new INSERT syntax]' \ - "--add-drop-table[add a 'drop table' before each create]" \ - "--add-locks[add locks around insert statements]" \ - "--allow-keywords[allow creation of column names that are keywords]" \ - "--delayed[insert rows with INSERT DELAYED]" \ - {-F,--flush-logs}'[flush logs file in server before dump]' \ - {-l,--lock-tables}'[lock all tables for read]' \ - {-t,--no-create-info}"[don't write table creation info]" \ - {-d,--no-data}"[don't write row information]" \ - '--opt[create fastest possible dump for reading]' \ - {-q,--quick}"[don't buffer, dump directly to stdout]" \ - {-T,--tab=}"[dump tab-separated text files for each table]:directory to store text files:_files -/" \ - {-w+,--where=}'[dump only selected records]:WHERE clause to limit records to dump: ' \ - '--fields-terminated-by=:(with --tab) fields in textfile terminated by ...:' \ - '--fields-enclosed-by=:(with --tab) fields in import file enclosed by ...:' \ - '--fields-optionally-enclosed-by=:(with --tab) fields in import file optionally enclosed by ...:' \ - '--fields-escaped-by=:(with --tab) fields in import file escaped by ...:' \ - '--lines-terminated-by=:(with --tab) lines in import file terminated by ...:' \ - ':MySQL database to dump:_mysql_databases' \ - '*:tables to dump:{ _mysql_tables "$line[1]" }' -} - -_mysqlimport() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - '(-c --columns)'{-c,--columns=}'[use only specified columns to import the data to]:column list' \ - '(-d --delete)'{-d,--delete}'[first delete all rows from table]' \ - '--fields-terminated-by=:fields in textfile terminated by ...:' \ - '--fields-enclosed-by=:fields in import file enclosed by ...:' \ - '--fields-optionally-enclosed-by=:fields in import file optionally enclosed by ...:' \ - '--fields-escaped-by=:fields in import file escaped by ...:' \ - '(-f --force)'{-f,--force}'[continue through errors]' \ - '(-r --replace -i --ignore)'{-i,--ignore}'[if duplicate key found, keep old row]' \ - '--ignore-lines=[ignore specified number of lines from input file]:number of lines' \ - '--lines-terminated-by=[specify line terminator in input file]:terminator' \ - '(-L --local)'{-L,--local}'[read all files through the client]' \ - '(-l --lock-tables)'{-l,--lock-tables}'[lock all tables for write]' \ - '--low-priority[use LOW_PRIORITY when updating the table]' \ - '(-i --ignore -r --replace)'{-r,--replace}'[if duplicate key found, replace old row]' \ - ':MySQL database:_mysql_databases' -} -_mysqladmin() { - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - _arguments -C -s \ - "$_mysql_common_opts[@]" \ - '(-f --force)'{-f,--force}'[continue through errors]' \ - '(-i --sleep)'{-i+,--sleep=}'[repeat commands periodically]:number of seconds between executions' \ - '(-s --silent)'{-s,--silent}"[silently exit if can't connect to server]" \ - '(-t --timeout)'{-t+,--timeout=}'[specify timeout for connection]:time (seconds)' \ - '(-w --wait)'{-w+,--wait=}'[wait and retry server connection if necessary]:number of retries' \ - '*::mysqladmin command:->mysqladmin-commands' && ret=0 - - if [[ -n "$state" ]]; then - if (( CURRENT == 1 )); then - _wanted commands expl 'mysqladmin command' compadd - \ - create drop extended-status \ - flush-{hosts,logs,status,tables,threads,privileges} \ - kill password ping processlist \ - reload refresh shutdown \ - status start-slave stop-slave variables version && ret=0 - else - case "${words[1]:t}" in - create|drop) - _wanted databases expl "MySQL database" _mysql_databases && ret=0 - ;; - kill) - _message -e ids 'thread id' - ;; - password) - _message -e passwords 'new password' - ;; - esac - fi - fi - - return ret -} - -_mysql_utils() { - local _mysql_common_opts _mysql_variables_opts - - _mysql_common_opts=( - '(- *)'{-\?,--help}'[display help]' - '(- *)'{-V,--version}'[display version information]' \ - {-\#+,--debug=}'[specify debug log file]:log file:_files' - '--print-defaults[print the program argument list and exit]' - "--no-defaults[don't read default options from any options file]" - '--defaults-file=[read defaults from the given file]:file:_files' - '--defaults-extra-file=[read specified file after the global files]:defaults file:_files' - '(-S --socket)'{-S+,--socket=}'[specify socket file to use for connection]:server socket file:_files' - '(-h --host)'{-h+,--host=}'[specify server hostname]:hostname:_mysql_hosts' - '(-P --port)'{-P+,--port=}'[specify port number for connection]:server port:_mysql_ports' - '(-u --user)'{-u+,--user=}'[specify username for login]:server username:_mysql_users' - '(-p --password)'{-p-,--password=}'[specify password to use for connection]:server password' - '(-C --compress)'{-C,--compress}'[use compression in server/client protocol]' - \*{-v,--verbose}'[more verbose output]' - ) - - _mysql_variables_opts=( - '--max_allowed_packet[maximum allowed packet size]:packet size (bytes)' - '--net_buffer_length[network buffer length]:buffer length (bytes)' - '--connect_timeout:timeout' - '--select_limit:limit' - '--max_join_size:size' - ) - - case "$service" in - mysql) - _mysql "$@" - ;; - mysqlshow) - _mysqlshow "$@" - ;; - mysqldump) - _mysqldump "$@" - ;; - mysqlimport) - _mysqlimport "$@" - ;; - mysqladmin) - _mysqladmin "$@" - ;; - esac -} - -_mysql_utils "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysqldiff b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysqldiff deleted file mode 100644 index 2515834e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_mysqldiff +++ /dev/null @@ -1,28 +0,0 @@ -#compdef mysqldiff - -_mysqldiff () { - _arguments -s \ - {-h{,1,2},--host{,1,2}=}':server hostname:_mysql_hosts' \ - {-p{,1,2},--password{,1,2}=}':server password: ' \ - {-u{,1,2},--user{,1,2}=}':server username:_mysql_users' \ - {-s{,1,2},--socket{,1,2}=}':server socket:_directories' \ - {-d,--debug=}':debugging level [1]:(1 2 3 4 5 6 7 8)' \ - {-i,--tolerant}':ignore DEFAULT and formatting changes: ' \ - {-k,--keep-old-tables}":don\'t output DROP TABLE commands: " \ - {-n,--no-old-defs}"[don't output old defs as comments]" \ - {-o,--only-both}'[only output changes for tables in both databases]' \ - {-t,--table-re}':restrict comparisons to tables matching a regexp: ' \ - {-A,--apply}':interactively patch database1 to match database2: ' \ - {-\?,--help}'[display usage]' \ - {1,2}':MySQL database:_mysql_db_or_file' -} - - -_mysql_db_or_file () { - _alternative \ - 'databases:MySQL database:_mysql_databases' \ - 'files:MySQL database definition file:_files -g "*.(my|)sql(-.)"' -} - -_mysql_utils -_mysqldiff "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nautilus b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nautilus deleted file mode 100644 index c32e5dc7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nautilus +++ /dev/null @@ -1,13 +0,0 @@ -#compdef nautilus - -_arguments \ - '--browser[open a browser window]' \ - '(--check -c)'{-c,--check}'[perform a quick set of self-check tests]' \ - '(--geometry -g)'{-g,--geometry=}':geometry:_x_geometry' \ - '(--no-default-window -n)'{-n,--no-default-window}'[only create windows for explicitly specified URIs]' \ - '--no-desktop[do not manage the desktop]' \ - '(--quit -q)'{-q,--quit}'[quit Nautilus]' \ - '--help[show a summary of options]' \ - '--version[show version]' \ - '*:URI: _alternative "files:file:_files" "urls:URL:_urls"' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nbsd_architectures b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nbsd_architectures deleted file mode 100644 index 441b874d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nbsd_architectures +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" amd64 evbarm evbmips evbppc hpcarm i386 sparc64 xen \ - acorn32 algor alpha amiga amigappc arc atari bebox cats cesfic cobalt dreamcast \ - emips epoc32 evbsh3 ews4800mips hp300 hppa hpcmips hpcsh ia64 ibmnws iyonix \ - landisk luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k \ - newsmips next68k ofppc pmax prep rs6000 sandpoint sbmips sgimips shark sparc \ - sun2 sun3 vax x68k zaurus diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ncftp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ncftp deleted file mode 100644 index 763a6134..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ncftp +++ /dev/null @@ -1,17 +0,0 @@ -#compdef ncftp lftp - -local expl bookmarks XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} - -if [[ $service = lftp ]]; then - bookmarks=$XDG_DATA_HOME/$service/bookmarks -else - bookmarks=$HOME/.$service/bookmarks -fi - -if [[ -f $bookmarks ]]; then - bookmarks=(${"${(f)$(<$bookmarks)}"%%[[:space:],]*}) - [[ $service == ncftp ]] && shift 2 bookmarks - _wanted bookmarks expl bookmark compadd -a bookmarks && return 0 -fi - -_hosts diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nedit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nedit deleted file mode 100644 index 75ca1bad..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nedit +++ /dev/null @@ -1,60 +0,0 @@ -#compdef nedit nedit-nc=nc ncl=nc - -local state line expl nedit_common curcontext="$curcontext" ret=1 -typeset -A opt_args - -nedit_common=( - '-read[open file read only]' - "-create[create file if it doesn't already exist]" - '-line[go to specified line number]:line number' - '-do[execute macro or action commands]:macro command' - '-lm[specify language mode]:language mode:->lang' - '-svrname[name the server]:nedit server name' - '(-noiconic -icon -iconic)'{-icon,-iconic}'[set initial window state to iconic]' - '*-tabbed[open all subsequent files in new tabs]' - '*-untabbed[open all subsequent files in new windows]' - '*-group[open all subsequent files as tabs in a new window]' - '(- *)'{-V,-version}'[display version information]' - '*-xrm:resource:_x_resource' - '*:file:_files' -) - -if [[ $service = nc ]]; then - _x_arguments -C -S \ - '(-noask)-ask[prompt if no server found]' \ - '(-ask)-noask[start a new server without asking if none found]' \ - "-wait[don't return to the shell until all files given are closed]" \ - '-timeout[timeout period when talking to server]:timeout (seconds)' \ - '-svrcmd[command to run server]:server command:_command_names -e' \ - "$nedit_common[@]" && ret=0 -else - _x_arguments -C -S \ - '-server[designate this session as an nedit server]' \ - '-tags[load ctags file]:tags file:_files' \ - '-tabs[specify tab width in characters]:tab width' \ - '(-nowrap -autowrap -noautowrap)-wrap[use continuous wrap mode]' \ - '(-wrap -autowrap -noautowrap)-nowrap[turn off continuous wrap mode]' \ - '(-wrap -nowrap -noautowrap)-autowrap[use auto-newline wrap mode]' \ - '(-wrap -nowrap -autowrap)-noautowrap[turn off auto-newline wrap mode]' \ - '(-noautoindent)-autoindent[maintain a running indent]' \ - '(-autoindent)-noautoindent[turn off autoindent]' \ - '(-noautosave)-autosave[maintain a backup copy of file being edited]' \ - "(-autosave)-noautosave[don't maintain a backup copy of file being edited]" \ - "(-iconic)-noiconic[don't set initial window state to iconic]" \ - '-rows[specify default height in characters for an editing window]:height' \ - '-columns[specify default width in characters for an editing window]:width' \ - '-font[specify font for text window]:font:_x_font' \ - '(-bg)-background:background color:_x_color' \ - '(-background)-bg[specify background color]:background color:_x_color' \ - '(-fg)-foreground:foreground color:_x_color' \ - '(-foreground)-fg[specify foreground color]:foreground color:_x_color' \ - '*-import[load additional preferences file]:nedit preferences file:_files' \ - "$nedit_common[@]" && ret=0 -fi - -[[ $state = lang && -f ~/.nedit ]] && - _wanted neditlanguages expl 'language mode' \ - compadd - ${(f)"$(sed -n \ - '/^nedit.languageMode/,/^nedit/ s/.* \([^:]*\).*/\1/p' < ~/.nedit)"} && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_net_interfaces b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_net_interfaces deleted file mode 100644 index 5be66d7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_net_interfaces +++ /dev/null @@ -1,9 +0,0 @@ -#compdef ifup ifdown - -local expl -local -a net_intf_disp net_intf_list - -_find_net_interfaces - -_wanted interfaces expl 'network interface' \ - compadd "$@" "$net_intf_disp[@]" - "${(@)net_intf_list%%:*}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netcat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netcat deleted file mode 100644 index 250d4c85..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netcat +++ /dev/null @@ -1,38 +0,0 @@ -#compdef nc netcat - -# handle name clash with the nedit client -if [[ $service = nc ]] && ! _pick_variant netcat=connect nedit -h; then - _nedit - return -fi - -if (( ! $#_cache_nc_args )); then - typeset -ga _cache_nc_args - local help="$(_call_program options $words[1] -h < /dev/null 2>&1)" - local -A optionmap - optionmap=( - '*-e prog*' '-e+[program to exec after connect]:program:_command_names -e' - '*-g gateway*' '-g+[source-routing hop point]:gateway:_hosts' - '*-G num*' '-G[source-routing pointer: 4, 8, 12]' - '*-i secs*' '-i+[delay interval for lines sent or ports scanned]:delay (secs)' - '*-l*' '-l[listen mode]' - '*-n*' '-n[numeric-only IP addresses, no DNS]' - '*-o file*' '-o+[hex dump of traffic]:file:_files' - '*-p port*' '-p+[local port number]:port:_ports' - '*-r*' '-r[randomize local and remote ports]' - '*-q secs*' '-q+[quit after EOF on stdin and delay of secs]:delay (secs)' - '*-t*' '-t[answer TELNET negotiation]' - '*-u*' '-u[UDP mode]' - '*-v*' '-v[verbose]' - '*-w secs*' '-w+[timeout for connects and final net reads]:timeout (secs)' - '*-z*' '-z[zero-I/O mode]' - '*-x*' '-x' - '*-b*' '-b[allow broadcasts]' - ) - _cache_nc_args=( $optionmap[(K)"$help"] ) -fi - -_arguments -s \ - "$_cache_nc_args[@]" \ - ':host:_hosts' \ - ':port:_ports' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netscape b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netscape deleted file mode 100644 index 78b2da64..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netscape +++ /dev/null @@ -1,93 +0,0 @@ -#compdef netscape - -local curcontext="$curcontext" state line expl ret=1 suf files -typeset -A opt_args - -_x_arguments -C \ - '-xrm:resource:_x_resource' \ - '-help[show usage message]' \ - '-version[show the version number and build date]' \ - '-visual[use a specific server visual]:visual:_x_visual -b' \ - '-install[install a private colormap]' \ - '-no-install[use the default colormap]' \ - '-ncols[max no. of colors to allocate for images]:n:' \ - '-mono[force 1-bit-deep image display]' \ - '-iconic[start up iconified]' \ - '-remote[execute a command in an existing Netscape]:remote command:->remote' \ - '-id[id of X window to send remote commands to]:window-id:' \ - '-raise[raise window following remote command]' \ - "-noraise[don't raise window following remote command]" \ - '-nethelp[show nethelp]' \ - -{dont-force-window-stacking,no-about-splash} \ - -{,no-}{,irix-}session-management \ - -{done-save,ignore}-geometry-prefs \ - -{component-bar,composer,edit,messenger,mail,discussions,news} \ - '*:location:->urls' && ret=0 - -# Handle netscape remote commands -if [[ "$state" = "remote" ]]; then - local -a remote_commands - remote_commands=(openURL openFile saveAs mailto addBookmark) - - compset -P '*\(' - if compset -S '(|\\)\)*'; then - set - -S "" "$@" - else - set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@" - fi - case $IPREFIX in - openURL*|addBookmark*) state=urls;; - openFile*) _files "$@" -W ~;; - saveAs*) - if compset -P "*,"; then - _wanted types expl 'data type' \ - compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0 - else - compset -S ",*" || suf="," - _files -qS "$suf" -W ~ && ret=0 - fi - ;; - mailto*) - _email_addresses -s, -c && ret=0 - ;; - *) - compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}" - _wanted commands expl 'remote command' \ - compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \ - remote_commands && ret=0 - ;; - esac -fi - -if [[ "$state" = "urls" ]]; then - _tags files urls - while _tags; do - _requested files expl 'file' _files "$@" && files=yes ret=0 - if _requested urls; then - # Complete netscape urls - if compset -P about: ; then - _wanted values expl 'about what' \ - compadd "$@" authors blank cache document fonts global hype \ - image-cache license logo memory-cache mozilla plugins && ret=0 - elif compset -P news: ; then - _newsgroups "$@" && ret=0 - elif compset -P mailto: ; then - _email_addresses -c && ret=0 - else - _tags prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' "$@"; do - _urls "$expl[@]" && ret=0 - compset -S '[^:]*' - compadd -S '' "$expl[@]" about: news: mailto: mocha: javascript: && ret=0 - done - (( ret )) || return 0 - done - [[ -z "$files" ]] && _tags files - fi - fi - (( ret )) || return 0 - done -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netstat deleted file mode 100644 index 67133dc6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_netstat +++ /dev/null @@ -1,354 +0,0 @@ -#compdef netstat - -local Wopt Xopt nopt="[don't resolve addresses to names]" -local lopt='[show only listening sockets]' -local zopt='-z[reset statistic counters after displaying them]' -local popt='(-f)-p+[filter by protocol]:protocol:compadd -a plist' -local Iopt='(-i)-I+[show information about the specified interface]:interface:_net_interfaces' -local set sel tblopt -local -A sets -local -a Mopts families flist plist args sockets extend interval verbose -local -a {sel_,}{bpf,dhcp,groups,interfaces,masquerade,media,memory,multicast,pcb,queues,rdomains,routing,statistics,wireless} - -case $OSTYPE in - linux-gnu) - families=( - '(-4 --inet)'{-4,--inet} - '(-6 --inet)'{-4,--inet6} - '(-A --protocol)'{-A+,--protocol=}':protocol:_sequence compadd - inet inet6 unix ipx ax25 netrom ddp bluetooth' - --unix -x --ip --tcpip --ax25 --x25 --rose --ash - --bluetooth --ipx --netrom --ddp --appletalk --econet --ec - ) - extend=( \*{-e,--extend}'[show additional information]' ) - verbose=( '(-v --verbose)'{-v,--verbose}'[show what is going on]' ) - args=( - '(-c --continuous)'{-c,--continuous}'[repeat information every second]' - '!(-n --numeric)'{-N,--symbolic} - '(-n --numeric)'{-n,--numeric}"$nopt" - --numeric-hosts --numeric-ports --numeric-users - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - - '(help)' - '(- 1)'{-h,--help}'[display usage information]' - '(- 1)'{-V,--version}'[display version information]' - ) - sets=( - routing '(--route|-[^-]#r*)' - groups '(--groups|-[^-]#g*)' - interfaces '(--interfaces|-[^-]#[iI]*)' - statistics '(--statistics|-[^-]#s*)' - masquerade '(--masquerade|-[^-]#M*)' - ) - - sel_routing=( '(-r --route)'{-r,--route}'[display routing table]' ) - sel_interfaces=( - '(-I --interfaces)-i[display interface table]' - '(-i -I --interfaces)'{--interface=-,-I=-}'[display interface table]::interface:_net_interfaces' - ) - sel_groups=( '(-g --groups)'{-g,--groups}'[display multicast group memberships]' ) - sel_masquerade=( '(-M --masquerade)'{-M,--masquerade}'[display masqueraded connections]' ) - [[ -e /proc/net/ip_masquerade ]] || sel_masquerade=( \!${^sel_masquerade} ) - sel_statistics=( '(-s --statistics -c --continuous -n --numeric --numeric-hosts --numeric-ports --numeric-users)'{-s,--statistics}'[display networking statistics]' ) - - sockets=( - $families $verbose - --tcp -t --udp -u --udplite -U --sctp -S --raw -w - '(-2 --l2cap)'{-2,--l2cap} - '(-f --rfcomm)'{-f,--rfcomm} - '(-a --all -l --listening)'{-l,--listening}$lopt - '(-a --all -l --listening)'{-a,--all}'[show all sockets]' - --symbolic -N --extend -e - '(--timers -o)'{--timers,-o}'[show information on networking timers]' - '(--program -p)'{--program,-p}'[show process id and program name for sockets]' - '(--wide -W)'{--wide,-W}"[don't truncate IP addresses in output]" - '(-Z --context)'{-Z,--context}'[display SELinux security context for sockets]' - ) - routing=( - $families $extend $verbose - '-C[display routing cache instead of FIB]' - ) - interfaces=( - $extend $verbose - '(-a --all)'{-a,--all}'[show interfaces that are not up]' - ) - groups=() - masquerade=( $extend ) - statistics=( $families ) - ;; - solaris*|darwin*|dragonfly*|freebsd*) - families=( '(-p -4 -6)-f+[specify address family]:address family:compadd -a flist' ) - ;| - freebsd*) - families+=( - '(-6 -f)-4[show IPv4 only]' - '(-4 -f)-6[show IPv6 only]' - ) - ;| - (open|net)bsd*) - popt='(-f)-p+[filter by protocol]:protocol:compadd - ${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]#}' - families=( - '(-u)-f+[specify address family]:address family:_sequence compadd - -a flist' - '(-f)-u[limit reports to the unix address family]' # undocumented on NetBSD - ) - ;| - *) # everything except linux - sets=( - routing '-[^-]#r*' - groups '-[^-]#g*' - interfaces '-[^-]#[iIw]*' - memory '-[^-]#m*' - statistics '-[^-]#s*' - ) - flist=( inet inet6 unix ) - verbose=( '-v[verbose]' ) - sel_routing=( '-r[display routing table]' ) - sel_groups=( '-g[display multicast group memberships]' ) - sel_interfaces=( $Iopt '-i[display interface table]' ) - sel_statistics=( '*-s[display per protocol statistics]' ) - sockets=( $families -n$nopt '-a[show all sockets]' ) - routing=( -n$nopt ) - interfaces=( $families -n$nopt ) - statistics=( $families ) - ;| - (open|net)bsd*) - sets+=( pcb '-[^-]#P*' ) - sel_pcb=( '-P+[display contents of the protocol control block]:pcb' ) - routing+=( $verbose '(-L)-s[show routing statistics]' ) - groups+=( $families - '(-s)-l[display wider fields for the IPv6 multicast routing table]' - '(-l)-s[show multicast routing statistics]' - ) - interfaces+=( - '(-p)-s[show interface statistics]' - ) - ;| - darwin*|dragonfly*|(net|free|open)bsd*) - sockets+=( '-A[show address of a PCB associated with sockets]' ) - interfaces+=( - '-b[show the number of bytes in and out]' - '-d[show the number of dropped packets]' - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - ) - routing=( $families ) - sel_memory=( '-m[display statistics recorded by the memory management routines]' ) - sel_interfaces+=( '(1 -a -f -i -p -s -u)-w+[display packet traffic at intervals]:interval (seconds)' ) - ;| - darwin*|dragonfly*|(net|free)bsd*) - interfaces+=( '-a[show multicast addresses currently in use]' ) - ;| - dragonfly*|(net|free|open)bsd*) - Mopts=( - '-M+[extract values from specified core]:core file:_files' - '-N+[extract name list from specified system image]:system image:_files' - ) - interfaces+=( - '-h[print all counters in human readable form]' - ) - sockets+=( $Mopts ) - ;| - darwin*|dragonfly*|freebsd*) - Wopt='-W+[avoid truncating fields even if it causes overflow]' - sockets+=( $Wopt - '-L[show size of listen queues]' - ) - groups+=( $Wopt ) - ;| - dragonfly*|netbsd*|freebsd*) - sockets+=( '(-n)-S[show network addresses as numbers but show ports symbolically]' ) - ;| - netbsd*|freebsd*) - sets+=( bpf '-[^-]#B*' ) - sel_bpf=( '-B[display statistics about bpf(4) peers]' ) - ;| - dragonfly*|freebsd*) - plist=( divert icmp igmp ip ipsec pim tcp udp icmp6 ip6 rip6 tcp udp pfkey ctrl data ) - sockets+=( $popt ) - statistics+=( $popt $zopt $Mopts ) - memory+=( $Mopts ) - routing+=( $Mopts $zopt - '(-A -a -f -l -n -W)*-s[show routing statistics]' - '-W[show path MTU for each route]' - ) - groups+=( $families $Mopts - '(-W)*-s[show multicast routing statistics; repeat to suppress those with zero counters]' - ) - ;| - - solaris2.<11->) - sets+=( dcache '-[^-]#d*' ) - sel_dcache=( '-d[display the destination cache entry table]' ) - dcache=( $families ) - args=( '-T+[specify time format]:time format:((u\:seconds\ since\ epoch d\:standard\ date\ format))' ) - sockets+=( - '-u[list user, pid and program that created network endpoint]' - '-k[show only sockets with kernel data path bypass enabled]' - '-L[only show state of sockets using SO_REUSEPORT load balancing]' - ) - ;& - solaris*) - args=( -A '-*' $args ) - interval=( - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - '2: :_guard "[0-9]#" "count"' - ) - sets+=( - dhcp '-[^-]#D*' - media '-[^-]#p*' - multicast '-[^-]#M*' - ) - sel_media=( '-p[display net to media tables]' ) - sel_memory=( '-m[display STREAMS memory statistics]' ) - sel_multicast=( '-M[display multicast routing tables]' ) - sel_dhcp=( '-D[display status of DHCP configured interfaces]' ) - sockets+=( - $verbose - '-R[show extended security attributes]' - '-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' - ) - routing+=( $verbose - '*-f+[filter routing table]:rule:_values -S \: "filter rule" $flist - "af[specify address family]\:family\:(inet inet6 unix)" - "outif[specify output interface]\:interface\:_net_interfaces" - "dst[specify destination IP]\:IP address" - "flags[select routes tagged with flags]\:flags"' \ - '-a[show state of all routing tables]' - '-R[show extended security attributes]' - ) - groups+=( $families -n$nopt $verbose ) - interfaces+=( $interval - '-a[show state of all interfaces]' - ) - statistics+=( - '-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' - ) - media=( -n$nopt $families ) - memory+=( $verbose $interval ) - multicast+=( - -n$nopt $families - '-s[show per protocol statistics]' - ) - dhcp=( $families $Iopt ) - ;; - darwin*) - sets+=( queues '-[^-]#q*' ) - sel_queues=( '*-q[display network interface send queue statistics]' ) - sel_memory=( \*$sel_memory ) - sockets+=( - '-l[show full IPv6 address]' - '-W[avoid truncating addresses]' - ) - routing+=( '-l[show mtu and use wider display]' ) - interfaces+=( - '(-x)-R[show reachability information]' - '-S[show interface link status and state]' - '(-R)-x[show extended reachability information]' - ) - queues=( $Iopt - '-c+[limit statistics to specified queue]:queue' - ) - groups+=( $families - '*-v[show link-layer memberships; repeat for timers and counters]' - ) - ;; - dragonfly*) - plist+=( carp ) - sockets+=( - '-P[show additional protocol-specific information]' - '-c+[access cpu specific route table]:cpu' - ) - interfaces+=( $zopt - '-B[show maximum buffer sizes instead of current buffer usage]' - '-t[show the contents of watchdog timers]' - '(-a -B -b -d -h -n -t -w)*-s[show protocol statistics; repeat to suppress those with zero counters]' - ) - routing+=( - '-A[show contents of internal Patricia tree structures]' - '-a[show protocol-cloned routes]' - ) - ;; - openbsd*) - sets+=( wireless '-W*' rdomains '-R' ) - sel_rdomains=( '-R[show all rdomains with associated interfaces and routing tables]' ) - sel_wireless=( '-W+[display per-interface IEEE 802.11 wireless statistics]:interface' ) - flist+=( local mpls ) - tblopt='-T+[select an alternate routing table to query]:routing table:_routing_tables' - sockets+=( -l$lopt $tblopt '-B[show buffer sizes for TCP sockets]' ) - routing+=( $Mopts $tblopt - '-A[show the internal addresses of the routing table]' - '-F[only show routes with gateway in the same address family as the destination]' - ) - interfaces+=( - '-c+[show specified number of updates, then exit]:count' - '-e[show only the number of errors on the interface]' - '-q[only show interfaces that have seen packets]' - '-t[show current value of the watchdog timer function]' - ) - statistics+=( $popt '-r[display routing statistics]' ) - groups+=( -n$nopt ) - pcb+=( $Mopts $verbose ) - ;; - netbsd*) - popt='(-f)-p+[filter by protocol]:protocol:compadd - ${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]#}' - Xopt='-X[force use of sysctl(3) when retrieving information]' - flist+=( arp ns atalk mpls local ) - sets+=( queues '-[^-]#q*' ) - sel_queues=( '-q[display software interrupt queue details for all protocols]' ) - routing+=( $Xopt - "(-s)-L[don't show link-level routes]" - '-T[show MPLS tags for the routing tables]' - ) - bpf+=( $Xopt $Iopt - '-s[show bpf(4) statistics]' - ) - interfaces+=( $Xopt ) - memory+=( $Xopt) statistics+=( $Xopt ) - pcb+=( $Mopts $popt ) - ;; - freebsd<13->.*) - sockets+=( - '-c[show TCP stack used for each session]' - '-C[show TCP congestion control algorithm and diagnostic]' - ) - ;& - freebsd<11->.*) - routing+=( '-F+[show specified routing table]:routing table' ) - bpf=( '-z[reset statistic counters after displaying them]' ) - statistics+=( $bpf[-1] ) - ;& - freebsd*) - flist+=( pfkey netgraph ng link ) - plist+=( sctp ipsec6 pfkey ) - - sets+=( netisr '-[^-]#Q*' ) - sel_netisr=( '-Q[display netisr(9) statistics]' ) - sockets+=( - '-R[show flowid and flowtype for each socket]' - '-T[show diagnostic information from the TCP control block]' - '-x[show socket buffer and TCP timer statistics]' - ) - interfaces+=( - $popt $Mopts $Iopt $Wopt - '-q+[exit after specified number of outputs]:number' - ) - bpf+=( $Iopt $zopt ) - ;; -esac - -# Ignore display specific options except the default (socket) display until a -# display has been selected. This is not strictly correct (options can be in -# any order) but makes the completion much more useful. Descriptions for -# options that select a specific display (option set) typically start with -# "display" to set them apart from other options. -sock='' -for set in ${(k)sets}; do - sel=sel_$set - if [[ -z $words[(r)$~sets[$set]] ]]; then - ign='!' - else - sock='!' - ign='' - fi - args+=( - "$set" ${(P)sel} ${ign}${(P)^set} ) -done -args+=( - sockets ${sock}${sockets} ) - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networkmanager b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networkmanager deleted file mode 100644 index 1e05252b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networkmanager +++ /dev/null @@ -1,401 +0,0 @@ -#compdef nmcli - -# compatible with NetworkManager 1.8.4 - -_networkmanager() { - local curcontext="$curcontext" state line - local nmcli="$words[1]" - - _arguments -C \ - '(-o -overview)-o'{,verview}'[overview mode (hide default values)]' \ - '(-p -pretty -t -terse)-t'{,erse}'[terse output]' \ - '(-p -pretty -t -terse)-p'{,retty}'[pretty output]' \ - '(-m -mode)-m'{,ode}'[output mode]:mode:(tabular multiline)' \ - '(-c -colors)-c'{,olors}'[whether to use colors in output]:value:(auto yes no)' \ - '(-f -fields)-f'{,ields}'[specify fields to output]:field:_nm_fields' \ - '(-f -fields -g -get-values -m -mode -p -pretty -t -terse)-g'{,et-values}'[shortcut for -m tabular -t -f]:field:_nm_fields' \ - '(-e -escape)-e'{,scape}'[escape column separators in values]:value:(yes no)' \ - '(-a -ask)-a'{,sk}'[ask for missing parameters]' \ - '(-s -show-secrets)-s'{,how-secrets}'[allow passwords to be displayed]' \ - '(-w -wait)-w'{,ait}'[set time limit on wait for operations to finish]:timeout (seconds)' \ - '(- *)-v'{,ersion}'[show program version]' \ - '(- *)-h'{,elp}'[print help]' \ - '1:command:(general networking radio connection device agent monitor help)' \ - '*::arg:->args' - - case $line[1] in - g*) _nm_general ;; - n*) _nm_networking ;; - r*) _nm_radio ;; - c*) _nm_connection ;; - d*) _nm_device ;; - a*) _nm_agent ;; - esac -} - -_nm_fields() { - _values -s , 'field to output' \ - all common \ - RUNNING VERSION STATE STARTUP CONNECTIVITY NETWORKING WIFI-HW WIFI WWAN-HW WWAN \ - NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE \ - DEVICE CONNECTION CON-UUID CON-PATH BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY -} - -_nm_general() { - _arguments "1:command:(status hostname permissions logging help)" - # TODO: provide completions for logging -} - -_nm_networking() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(on off connectivity help)" \ - "*::arg:->args" - - case $line[1] in - c*) _nm_networking_connectivity ;; - esac -} - -_nm_networking_connectivity() { - _arguments "1:flag:(check)" -} - -_nm_radio() { - _arguments \ - "1:type:(all wifi wwan help)" \ - "2:switch:(on off)" -} - -_nm_connection() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(show up down add modify clone edit delete monitor reload load import export help)" \ - "*::arg:->args" - - case $line[1] in - s*) _nm_connection_show ;; - u*) _nm_connection_up ;; - d*) _nm_connection_down ;; - # TODO: a*) _nm_connection_add ;; - m*) _nm_connection_modify ;; - c*) _nm_connection_clone ;; - e*) _nm_connection_edit ;; - de*) _nm_connection_delete ;; - mon*) _nm_connection_monitor ;; - l*) _nm_connection_load ;; - i*) _nm_connection_import ;; - ex*) _nm_connection_export ;; - esac -} - -_nm_connection_show() { - # TODO: add support for --order - _arguments \ - "--active" \ - "1:connection:_nm_connection_specs" -} - -_nm_connection_up() { - # TODO: add support for ifname, ap and passwd-file parameters - _arguments "1:connection:_nm_connection_specs" -} - -_nm_connection_down() { - _arguments "1:connection:_nm_connection_active" -} - -_nm_connection_modify() { - local curcontext="$curcontext" ret=1 - local -a state line expl properties - - _arguments -A "-*" \ - "--temporary" \ - "1:connection:_nm_connection_specs" \ - '2:option:->properties' \ - '3:value' && ret=0 - - if [[ -n "$state" ]]; then - properties=( ${${(f)"$(_call_program properties $nmcli -t connection show $line[1])"}%%:*} ) - _description properties expl property - _multi_parts "$expl[@]" . properties && ret=0 - fi - - return ret -} - -_nm_connection_clone() { - _arguments \ - "--temporary" \ - "1:connection:_nm_connection_specs" \ - "2:new name" -} - -_nm_connection_edit() { - # TODO: add support for adding new connections (type and con-name parameters) - _arguments "1:connection:_nm_connection_specs" -} - -_nm_connection_delete() { - _arguments "*:connection:_nm_connection_specs" -} - -_nm_connection_monitor() { - _arguments "*:connection:_nm_connection_specs" -} - -_nm_connection_load() { - _files -} - -_nm_connection_import() { - _arguments \ - "--temporary" \ - "1: :(type)" \ - "2:type:(vpnc openvpn pptp openconnect openswan libreswan ssh l2tp iodine)" \ - "3: :(file)" \ - "4:file:_files" -} - -_nm_connection_export() { - _arguments \ - "1:connection:_nm_connection_specs" \ - "2:file:_files" -} - -_nm_connection_specs() { - # TODO: add support for uuids and D-Bus paths - _nm_connection_ids -} - -_nm_connection_ids() { - local -a con_ids - con_ids=(${(f)"$(_call_program nmcli nmcli -t -f name connection)"}) - _describe 'select connection' con_ids -} - -_nm_connection_active() { - local -a con_ids - con_ids=(${(f)"$(_call_program nmcli nmcli -t -f name connection show --active)"}) - _describe 'select connection' con_ids -} - -_nm_device() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(status show set connect reapply modify disconnect delete monitor wifi lldp help)" \ - "*::arg:->args" - - case $line[1] in - sh*) _nm_device_show ;; - se*) _nm_device_set ;; - c*) _nm_device_connect ;; - r*) _nm_device_reapply ;; - mod*) _nm_device_modify ;; - d*) _nm_device_disconnect ;; - de*) _nm_device_delete ;; - m*) _nm_device_monitor ;; - w*) _nm_device_wifi ;; - l*) _nm_device_lldp ;; - esac -} - -_nm_device_show() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_set() { - # TODO: allow specifying both options, and in any order - _arguments \ - "1:interface:_nm_device_ifnames" \ - "2:property:(autoconnect managed)" \ - "3:switch:(yes no)" -} - -_nm_device_connect() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_reapply() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_modify() { - # TODO: add support for settings - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_disconnect() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_delete() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_monitor() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_wifi() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(list connect hotspot rescan show-password)" \ - "*::arg:->args" - - case $line[1] in - l*) _nm_device_wifi_list ;; - c*) _nm_device_wifi_connect ;; - ho*) _nm_device_wifi_hotspot ;; - r*) _nm_device_wifi_rescan ;; - s*) _nm_device_wifi_show-password ;; - esac -} - -_nm_device_wifi_list() { - # TODO: support bssid on its own - _arguments \ - '--rescan[force or disable network scan]:network scan:(yes no auto)' \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" \ - "3: :(bssid)" \ - "4:bssid:_nm_device_wifi_bssids" -} - -_nm_device_wifi_connect() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:ssid:_nm_device_wifi_ssids" \ - "*::arg:->args" - - if [[ -n $line[1] ]]; then - _nm_device_wifi_connect_opts - fi -} - -_nm_device_wifi_connect_opts() { - # TODO: there must be a cleaner way to implement this - local curcontext="$curcontext" state line - - _arguments -C \ - "1:property:(password wep-key-type ifname bssid name private hidden)" \ - "*::arg:->args" - - local min_line_len=2 - case $line[-2] in - password) - _arguments -C "1:password" "*::arg:->args" - ;; - wep-key-type) - _arguments -C "1:wep key type:(key phrase)" "*::arg:->args" - ;; - ifname) - _arguments -C "1:device:_nm_device_ifnames" "*::arg:->args" - ;; - bssid) - _arguments -C "1:bssid:_nm_device_wifi_bssids" "*::arg:->args" - ;; - name) - _arguments -C "1:name" "*::arg:->args" - ;; - private) - _arguments -C "1:private:(yes no)" "*::arg:->args" - ;; - hidden) - _arguments -C "1:hidden:(yes no)" "*::arg:->args" - ;; - *) - min_line_len=1 - ;; - esac - if [[ $#line > $min_line_len ]]; then - _nm_device_wifi_connect_opts - fi -} - -_nm_device_wifi_hotspot() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:property:(ifname con-name ssid band channel password)" \ - "*::arg:->args" - - local min_line_len=2 - case $line[-2] in - ifname) - _arguments -C "1:device:_nm_device_ifnames" "*::arg:->args" - ;; - con-name) - _arguments -C "1:connection name" "*::arg:->args" - ;; - ssid) - _arguments -C "1:ssid" "*::arg:->args" - ;; - band) - _arguments -C "1:band:(a bg)" "*::arg:->args" - ;; - channel) - _arguments -C "1:channel" "*::arg:->args" - ;; - password) - _arguments -C "1:password" "*::arg:->args" - ;; - *) - min_line_len=1 - ;; - esac - if [[ $#line > $min_line_len ]]; then - _nm_device_wifi_hotspot - fi -} - -_nm_device_wifi_rescan() { - # TODO: support ssid on its own and multiple ssids - _arguments \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" \ - "3: :(ssid)" \ - "4:ssid:_nm_device_wifi_ssids" -} - -_nm_device_wifi_show-password() { - _arguments \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" -} - -_nm_device_wifi_bssids() { - local -a bssids - bssids=(${(f)"$(_call_program nmcli nmcli -t -f bssid device wifi list)"}) - _describe 'select network' bssids -} - -_nm_device_wifi_ssids() { - local -a ssids - ssids=(${(f)"$(_call_program nmcli nmcli -t -f ssid device wifi list)"}) - _describe 'select network' ssids -} - -_nm_device_lldp() { - _arguments \ - "1: :(list)" \ - "2: :(ifname)" \ - "3:interface:_nm_device_ifnames" -} - -_nm_device_ifnames() { - local -a ifnames - ifnames=(${(f)"$(_call_program nmcli nmcli -t -f device device)"}) - _describe 'select device' ifnames -} - -_nm_agent() { - _arguments "1:type:(secret polkit all help)" -} - -_networkmanager "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networksetup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networksetup deleted file mode 100644 index 85a91e89..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_networksetup +++ /dev/null @@ -1,320 +0,0 @@ -#compdef networksetup - -# Notes: -# - Inconsistent option capitalisation is intentional; see networksetup(1) -# - Options related to user/log-in/system profiles are omitted, since they no -# longer function (despite appearing in the manual) -# - Each d/p/s could list associated d/p/s in the descriptions -# - Options that take multiple devices/services (e.g. -createBond) could exclude -# those previously specified on the command line -# - Bond, PPPoE, and VLAN functionality couldn't be tested; some option- -# arguments aren't completed (-deleteBond, -deleteVLAN, ...) -# - -createpppoeservice arguments in particular may not be right - -# Complete network devices -(( $+functions[_networksetup_devices] )) || -_networksetup_devices() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program network-devices $words[1] -listallhardwareports - )"} ) - tmp=( ${(@M)tmp##Device:*} ) - tmp=( ${(@)tmp##Device:[[:space:]]##} ) - - _wanted -x devices expl 'network device' compadd -a "$@" - tmp -} - -# Complete network locations -(( $+functions[_networksetup_locations] )) || -_networksetup_locations() { - local -a expl tmp - - tmp=( ${(f)"$( _call_program network-locations $words[1] -listlocations )"} ) - - _wanted -x locations expl 'network location' compadd -a "$@" - tmp -} - -# Complete hardware ports -(( $+functions[_networksetup_ports] )) || -_networksetup_ports() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program hardware-ports $words[1] -listallhardwareports - )"} ) - tmp=( ${(@M)tmp##Hardware Port:*} ) - tmp=( ${(@)tmp##Hardware Port:[[:space:]]##} ) - - _wanted -x ports expl 'hardware port' compadd -a "$@" - tmp -} - -# Complete network services -(( $+functions[_networksetup_services] )) || -_networksetup_services() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program network-services $words[1] -listallnetworkservices - )"} ) - # The command output doesn't distinguish between a leading asterisk used to - # indicate an inactive service and one that's just used in the service name - # itself... but the latter scenario seems uncommon, so we'll assume it's - # always the former - tmp=( ${(@)tmp#\*} ) - # The first line is an explanation of the asterisk thing; skip it - tmp=( ${(@)tmp[2,-1]} ) - - _wanted -x services expl 'network service' compadd -a "$@" - tmp -} - -# Complete Wi-Fi networks — this function expects the final argument to be the -# name of a wireless device (pre-escaped, as if taken from $words) -(( $+functions[_networksetup_wifi_networks] )) || -_networksetup_wifi_networks() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program wifi-networks $words[1] \ - -listpreferredwirelessnetworks ${(q-)@[-1]} - )"} ) - # Lines with Wi-Fi networks on them are prefixed by white space - tmp=( ${(@M)tmp##[[:space:]]*} ) - tmp=( ${(@)tmp##[[:space:]]##} ) - - shift -p # Discard device argument - _wanted -x wifi-networks expl 'Wi-Fi network' compadd -a "$@" - tmp -} - -_networksetup() { - local i j ret=1 - local -a context line state state_descr args tmp - local -A opt_args val_args proxies - - args=( - + '(cmd)' - '-addDeviceToBond[add specified device/port to bond]: :->dp: :->b' - '-addpreferredwirelessnetworkatindex[add preferred Wi-Fi network for specified device]: :->d: :->w:*::: :->wifi-idx-info' - '-connectpppoeservice[connect specified PPPoE service]: :->P' - '-create6to4service[create new 6to4 service]:6to4 service name' - '-createBond[create bond with specified devices/ports]:bond name: :*: :->dp' - '-createlocation[create new network location]:network location name: :*: :->s' - '-createnetworkservice[create new network service on specified device/port]: :->dp:network service name' - '-createpppoeservice[create new PPPoE service on specified device/port]: :->dp: :->s:PPPoE account name: :PPPoE password: :PPPoE service name' - '-createVLAN[create VLAN on specified device/port]:VLAN name: : :->dp:VLAN tag' - '-deleteBond[delete specified bond]: :->b' - '-deletelocation[delete specified network location]: :->l' - '-deletepppoeservice[delete specified PPPoE service]: :->P' - '-deleteVLAN[delete VLAN from specified device/port]:VLAN name: : :->dp:VLAN tag' - '-detectnewhardware[detect new network hardware]' - '-disconnectpppoeservice[disconnect specified PPPoE service]: :->P' - '-duplicatenetworkservice[duplicate specified network service]: :->s:network service name' - '-getadditionalroutes[list additional IPv4 routes for specified network service]: :->s' - '-getairportnetwork[display Wi-Fi network for specified device]: :->d' - '-getairportpower[display Wi-Fi power state for specified device]: :->d' - '-getautoproxyurl[display proxy auto-config URL for specified network service]: :->s' - '-getv6additionalroutes[list additional IPv6 routes for specified network service]: :->s' - '-getcomputername[display computer name]' - '-getcurrentlocation[display current network location]' - '-getdnsservers[display DNS info for specified network service]: :->s' - '-getinfo[display info for specified network service]: :->s' - '-getmacaddress[display MAC address for specified device/port]: :->dp' - '-getMedia[display media for specified device/port]: :->dp' - '-getMTU[display MTU for specified device/port]: :->dp' - '-getnetworkserviceenabled[get enabled state for specified network service]: :->s' - '-getpassiveftp[display passive FTP state for specified network service]: :->s' - '-getproxyautodiscovery[display proxy auto-discovery state for specified network service]: :->s' - '-getproxybypassdomains[display proxy bypass domains for specified network service]: :->s' - '-getsearchdomains[display DNS search domains for specified network service]: :->s' - '-help[display help information]' - '-isBondSupported[display whether device/port can be added to a bond]: :->dp' - '-listallhardwareports[list hardware ports]' - '-listallnetworkservices[list network services]' - '-listBonds[list bonds]' - '-listdevicesthatsupportVLAN[list devices that support VLANs]' - '-listlocations[list network locations]' - '-listnetworkserviceorder[list network services and their devices/ports in order]' - '-listpreferredwirelessnetworks[list preferred Wi-Fi networks for the specified device]: :->d' - '-listpppoeservices[list PPPoE services]' - '-listValidMedia[list valid media for specified device/port]: :->dp' - '-listValidMTURange[display valid MTU range for specified device/port]: :->dp' - '-listVLANs[list VLANs]' - '-ordernetworkservices[set network service order]:*: :->s' - '-printcommands[list commands]' - '-removeallpreferredwirelessnetwork[remove all preferred Wi-Fi networks from specified device]: :->d' - '-removeDeviceFromBond[remove specified device/port from bond]: :->dp: :->b' - '-removenetworkservice[remove specified network service]: :->s' - '-removepreferredwirelessnetwork[remove preferred Wi-Fi network from specified device]: :->d: :->w' - '-renamenetworkservice[rename specified network service]: :->s:network service name' - '-set6to4automatic[set specified 6to4 service to get relay address automatically]:6to4 service:->s' - '-set6to4manual[set specified 6to4 service to use manual relay address]:6to4 service:->s:relay address' - '-setadditionalroutes[set additional IPv4 routes for specified network service]: :->s:*::: :->routes-v4' - '-setairportnetwork[set Wi-Fi network for specified device]: :->d: :->w:Wi-Fi network password' - '-setairportpower[set Wi-Fi power state for specified device]: :->d:Wi-Fi power state:(on off)' - '-setautoproxyurl[set proxy auto-config URL for specified network service]: :->s:proxy auto-config URL:_urls' - '-setcomputername[set computer name]:computer name' - '-setbootp[set specified network service to use BOOTP]: :->s' - '-setdhcp[set specified network service to use DHCP]: :->s:client ID (optional)' - '-setdnsservers[set DNS servers for specified network service]: :->s:*:DNS server address' - '-setmanual[set specified network service to use manual IPv4 IP/subnet/router]: :->s:IP address: :subnet mask: :router address' - '-setmanualwithdhcprouter[set specified network service to use DHCP with manual IP]: :->s:IP address' - '-setMedia[set media for specified device/port]: :->dp: :->media:*:media option' - '-setMTU[set MTU for specified device/port]: :->dp: :->mtu' - '-setMTUAndMediaAutomatically[set specified device/port to automatically set MTU and media type]: :->dp' - '-setnetworkserviceenabled[set enabled state for specified network service]: :->s:network service enabled state:(on off)' - '-setpassiveftp[set passive FTP state for specified network service]: :->s:passive FTP state:(on off)' - '-setpppoeaccountname[set account name for specified PPPoE service]: :->P:PPPoE account name' - '-setpppoepassword[set password for specified PPPoE service]: :->P:PPPoE password' - '-setproxyautodiscovery[set proxy auto-discovery state for specified network service]: :->s:proxy auto-discovery state:(on off)' - '-setproxybypassdomains[set proxy bypass domains for specified network service]: :->s:*:proxy bypass domain' - '-setsearchdomains[set DNS search domains for specified network service]: :->s:*:DNS search domain' - '-setv6additionalroutes[set additional IPv6 routes for specified network service]: :->s:*::: :->routes-v6' - '-setv4automatic[set specified network service to get IPv4 address automatically]: :->s' - '-setv6automatic[set specified network service to get IPv6 address automatically]: :->s' - '-setv6linklocal[set specified network service to use link-local address only for IPv6]: :->s' - '-setv6manual[set specified network service to use manual IPv6 IP/prefix/router]: :->s:IP address: :prefix length: :router address' - '-setv4off[disable IPv4 for specified network service]: :->s' - '-setv6off[disable IPv6 for specified network service]: :->s' - '-showBondStatus[display status for specified bond]: :->b' - '-showpppoestatus[display status for specified PPPoE service]: :->P' - '-switchtolocation[switch to specified network location]: :->l' - ) - - proxies=( - ftp FTP - gopher Gopher - socks SOCKS - secureweb HTTPS - streaming RTSP - web HTTP - ) - - for i j in ${(kv)proxies}; do - args+=( - "-get${i}proxy[display $j proxy info for specified network service]: :->s" - "-set${i}proxy[set $j proxy info for specified network service]: :->s:*::: :->proxy-info" - "-set${i}proxystate[set $j proxy state for specified network service]: :->s:proxy state:(on off)" - ) - done - - _arguments : $args && ret=0 - - case $state in - b) _message -e bonds 'interface bond' && ret=0 ;; - d) _networksetup_devices && ret=0 ;; - l) _networksetup_locations && ret=0 ;; - p) _networksetup_ports && ret=0 ;; - P) _message -e pppoe-services 'PPPoE service' && ret=0 ;; - s) _networksetup_services && ret=0 ;; - dp) - _alternative \ - 'devices::_networksetup_devices' \ - 'ports::_networksetup_ports' \ - && ret=0 - ;; - dps) - _alternative \ - 'devices::_networksetup_devices' \ - 'ports::_networksetup_ports' \ - 'services::_networksetup_services' \ - && ret=0 - ;; - ps) - _alternative \ - 'ports::_networksetup_ports' \ - 'services::_networksetup_services' \ - && ret=0 - ;; - w) - # Wi-Fi network always follows device/port on command line - _networksetup_wifi_networks $words[(CURRENT - 1)] && ret=0 - ;; - media) - # Media type always follows device/port on command line - tmp=( ${(f)"$( - _call_program media-types $words[1] \ - -listValidMedia $words[(CURRENT - 1)] - )"} ) - tmp=( ${tmp##\**} ) # Error message - if (( $#tmp )); then - _describe -t media-types 'media type' tmp && ret=0 - else - _message -e media-types 'media type' && ret=0 - fi - ;; - mtu) - # MTU value always follows device/port on command line - tmp=( ${(f)"$( - _call_program mtu-ranges $words[1] \ - -listValidMTURange $words[(CURRENT - 1)] - )"} ) - tmp=( ${(M)tmp##Valid MTU Range:*} ) - tmp=( ${tmp##*:[[:space:]]#} ) - _message -e mtu-value "MTU value${tmp:+ (${tmp})}" && ret=0 - ;; - proxy-info) - (( CURRENT > 5 )) || - case $(( CURRENT % 5 )) in - 1) _message -e hosts 'proxy server address' && ret=0 ;; - 2) _message -e ports 'proxy port number' && ret=0 ;; - 3) _values 'authenticated proxy support' on off && ret=0 ;; - 4) - [[ $words[(CURRENT - 1)] == on ]] && - _message -e users 'proxy user name' && - ret=0 - ;; - 0) - [[ $words[(CURRENT - 2)] == on ]] && - _message -e passwords 'proxy password' && - ret=0 - ;; - esac - ;; - routes-v4) - case $(( CURRENT % 3 )) in - 1) _message -e addresses 'destination address' && ret=0 ;; - 2) _message -e masks 'subnet mask' && ret=0 ;; - 0) _message -e addresses 'router address' && ret=0 ;; - esac - ;; - routes-v6) - case $(( CURRENT % 3 )) in - 1) _message -e addresses 'destination address' && ret=0 ;; - 2) _message -e prefixes 'prefix length' && ret=0 ;; - 0) _message -e addresses 'router address' && ret=0 ;; - esac - ;; - wifi-idx-info) - (( CURRENT > 3 )) || - case $(( CURRENT % 3 )) in - 1) - _message -e wifi-indexes 'index in preferred Wi-Fi networks list' && - ret=0 - ;; - 2) - tmp=( - 'OPEN:none (unsecured)' - 'WPA:WPA Personal' - 'WPA2:WPA2 Personal' - 'WPA/WPA2:WPA/WPA2 Personal' - 'WPAE:WPA Enterprise' - 'WPA2E:WPA2 Enterprise' - 'WPAE/WPA2E:WPA/WPA2 Enterprise' - 'WEP:plain WEP' - '8021XWEP:802.1X WEP' - ) - _describe -t security-types 'Wi-Fi network security type' tmp && ret=0 - ;; - 0) - [[ ${(U)words[(CURRENT - 1)]} != OPEN ]] && - _message -e passwords 'Wi-Fi network password' && - ret=0 - ;; - esac - ;; - esac - - return ret -} - -_networksetup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_newsgroups b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_newsgroups deleted file mode 100644 index 74e878d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_newsgroups +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl - -: ${(A)_cache_newsgroups:=${${(f)"$(fgrep -vh \! ~/.newsrc*)"}%:*}} - -(( ${(w)#_cache_newsgroups} )) && _wanted newsgroups expl 'newsgroup' \ - _multi_parts "$@" -i . _cache_newsgroups - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_label b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_label deleted file mode 100644 index 64506d05..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_label +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -local __gopt __descr __spec - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -if comptags -A "$1" curtag __spec; then - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - _comp_tags="$_comp_tags $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - set -A $2 "${(P@)2}" "${(@)argv[4,-1]}" - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - set -A $2 "${(@)argv[4,-1]}" "${(P@)2}" - fi - - return 0 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_tags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_tags deleted file mode 100644 index 8522d7c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_next_tags +++ /dev/null @@ -1,141 +0,0 @@ -#compdef -k list-choices \C-xn - -# Main widget. - -_next_tags() { - eval "$_comp_setup" - - local ins ops="$PREFIX$SUFFIX" - - unfunction _all_labels _next_label - - _all_labels() { - local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev - - if [[ "$1" = - ]]; then - __prev=- - shift - fi - - __gopt=() - zparseopts -D -a __gopt 1 2 V J x - - __tmp=${argv[(ib:4:)-]} - __len=$# - if [[ __tmp -lt __len ]]; then - __pre=$(( __tmp-1 )) - __suf=$__tmp - elif [[ __tmp -eq $# ]]; then - __pre=-2 - __suf=$(( __len+1 )) - else - __pre=4 - __suf=5 - fi - - while comptags "-A$__prev" "$1" curtag __spec; do - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - [[ "$_next_tags_not" = *\ ${__spec}\ * ]] && continue - _comp_tags+=" $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - - "$4" "${(P@)2}" "${(@)argv[5,-1]}" && __ret=0 - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - - "${(@)argv[4,__pre]}" "${(P@)2}" "${(@)argv[__suf,-1]}" && __ret=0 - fi - done - - return __ret - } - - _next_label() { - local __gopt __descr __spec - - __gopt=() - zparseopts -D -a __gopt 1 2 V J x - - if comptags -A "$1" curtag __spec; then - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - [[ "$_next_tags_not" = *\ ${__spec}\ * ]] && continue - _comp_tags+=" $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - set -A $2 "${(P@)2}" "${(@)argv[4,-1]}" - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - set -A $2 "${(@)argv[4,-1]}" "${(P@)2}" - fi - - return 0 - fi - - return 1 - } - - if [[ "${LBUFFER%${PREFIX}}" = "$_next_tags_pre" ]]; then - PREFIX="$_next_tags_pfx" - SUFFIX="$_next_tags_sfx" - else - _next_tags_pre="${LBUFFER%${PREFIX}}" - if [[ "$LASTWIDGET" = (_next_tags|list-*|*complete*) ]]; then - PREFIX="$_lastcomp[prefix]" - SUFFIX="$_lastcomp[suffix]" - fi - fi - - _next_tags_not+=" $_lastcomp[tags]" - _next_tags_pfx="$PREFIX" - _next_tags_sfx="$SUFFIX" - - ins="${compstate[old_insert]:+1}" - - _main_complete _complete _next_tags_completer - - [[ $compstate[insert] = automenu ]] && compstate[insert]=automenu-unambiguous - [[ $compstate[insert] = *unambiguous && -n "$ops" && - -z "$_lastcomp[unambiguous]" ]] && compadd -Uns "$SUFFIX" - "$PREFIX" - - compstate[insert]="$ins" - compstate[list]='list force' - - compprefuncs+=( _next_tags_pre ) -} - -# Completer, for wrap-around. - -_next_tags_completer() { - _next_tags_not= - - _complete -} - -# Pre-completion function. - -_next_tags_pre() { - - # Probably `remove' our label functions. A better test would be nice, but - # I think one should still be able to edit the current word between - # attempts to complete it. - - if [[ -n $compstate[old_insert] && $WIDGET != _next_tags ]]; then - compstate[old_list]=keep - compstate[insert]=menu:2 - return 0 - elif [[ ${LBUFFER%${PREFIX}} != ${_next_tags_pre}* ]]; then - unfunction _all_labels _next_label - autoload -Uz _all_labels _next_label - else - compprefuncs+=( _next_tags_pre ) - fi -} - -_next_tags "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nginx b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nginx deleted file mode 100644 index 7d785c82..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nginx +++ /dev/null @@ -1,20 +0,0 @@ -#compdef nginx - -local -ah signals=( - 'quit\:shut down gracefully (SIGQUIT)' - 'reload\:reload configuration (SIGHUP)' - 'reopen\:re-open log files (SIGUSR1)' - 'stop\:shut down quickly (SIGTERM)' -) - -_arguments -s -S : \ - '(: * -)'{-\?,-h}'[display help information]' \ - '(: * -)-v[display version information]' \ - '(: * -)-V[display version information and configure options]' \ - '-c+[specify configuration file]:configuration file:_files' \ - '-g+[specify global configuration directives]:configuration directives' \ - '-p+[specify prefix path]:prefix path:_directories' \ - '(-s)-q[suppress non-error messages (with -t/-T)]' \ - "(-q -t -T)-s+[send specified signal to master process]:signal:((${(j< >)${(@q-)signals}}))" \ - '(-s -T)-t[test configuration]' \ - '(-s -t)-T[test and dump configuration]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ngrep b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ngrep deleted file mode 100644 index 92459782..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ngrep +++ /dev/null @@ -1,33 +0,0 @@ -#compdef ngrep - -_arguments -s -S \ - '(- 1 *)-h[display help information]' \ - '(- 1 *)-V[display version information]' \ - "-q[be quiet (don't print packet reception hash marks)]" \ - '-e[show empty packets]' \ - '-i[ignore case]' \ - '-v[invert match]' \ - "-R[don't do privilege revocation logic]" \ - '(-W)-x[print in alternate hexdump format]' \ - '-X[interpret match expression as hexadecimal]' \ - '-w[word-regex (expression must match as a word)]' \ - "-p[don't go into promiscuous mode]" \ - '-l[make stdout line buffered]' \ - '-D[replay pcap_dumps with their recorded time intervals]' \ - '-t[print timestamp every time a packet is matched]' \ - '-T[print delta timestamp every time a packet is matched specify twice for delta from first match]' \ - "-M[don't do multi-line match (do single-line match instead)]" \ - '(-d -s)-I+[read packet stream from pcap format file]:file:_files' \ - '-O+[dump matched packets in pcap format file]:file:_files' \ - '-n+[look at only specified number of packets]:packets' \ - '-A+[dump specified number of context packets after a match]:packets' \ - '(-I)-s+[set the bpf caplen]:length (bytes) [65535]' \ - '-S+[set the upper limit on size of packets matched]:size (bytes)' \ - '(-x)-W+[set the dump format]:packet display format:(normal byline single none)' \ - '-c+[force the column width to the specified size]:columns' \ - '-P+[set the non-printable display char to what is specified]:character [.]' \ - '-F+[read the bpf filter from the specified file]:file:_files' \ - '-N[show sub protocol number]' \ - '(-I)-d+[use specified device instead of the pcap default]:interface:_net_interfaces' \ - '1: :_guard "^-*" pattern' \ - '*::expression:_bpf_filters' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nice b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nice deleted file mode 100644 index 29070697..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nice +++ /dev/null @@ -1,14 +0,0 @@ -#compdef nice - -shift words -(( CURRENT-- )) - -if [[ $CURRENT -gt 1 && $words[1] = ([-+](-|)|-n)<-> ]]; then - shift words - (( CURRENT -- )) -elif [[ $CURRENT -gt 2 && $words[1] = -n ]]; then - shift 2 words - (( CURRENT -= 2 )) -fi - -_normal diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nkf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nkf deleted file mode 100644 index 0c4f06fb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nkf +++ /dev/null @@ -1,44 +0,0 @@ -#compdef nkf - -typeset -A opt_args - -local outputsshort="-j -s -e -w -w8 -w16 -w16b0 -w16b -w16l0 -w16l" -local outputs="$outputsshort --fj --unix --mac --windows --jis --euc --sjis --utf8 --utf16" -local inputs=${outputsshort:u} - -_arguments -s \ - '(-u)-b[Output is buffered]' \ - '(-b)-u[Output is unbuffered]' \ - '($outputs)'{-j,--jis}'[Output is JIS 7 bit]' \ - '($outputs)'{-e,--sjis}'[Output is Shift JIS]' \ - '($outputs)'{-s,--euc}'[Output is EUC-JP]' \ - '($outputs)'{-w,--utf8}'[Output is UTF-8 (No BOM)]' \ - '($outputs)-w8[Output is UTF-8 (BOM)]' \ - '($outputs)'{-w16,-w16b0,--utf16}'[Output is UTF-16 (BigEndian; No BOM)]' \ - '($outputs)-w16b[Output is UTF-16 (BigEndian; BOM)]' \ - '($outputs)-w16l0[Output is UTF-16 (Little Endian; No BOM)]' \ - '($outputs)-w16l[Output is UTF-16 (Little Endian; BOM)]' \ - '($outputs)--fj[Output is for fj]' \ - '($outputs)--unix[Output is for unix]' \ - '($outputs)--mac[Output is for Mac]' \ - '($outputs)--windows[Output is for Windows]' \ - '($inputs)-J[Input assumption is JIS 7 bit]' \ - '($inputs)-E[Input assumption is Shift JIS]' \ - '($inputs)-S[Input assumption is EUC-JP]' \ - '($inputs)-W[Input assumption is UTF-8 (No BOM)]' \ - '($inputs)-W8[Input assumption is UTF-8 (BOM)]' \ - '($inputs)-W16[Input assumption is UTF-16 (BigEndian; No BOM)]' \ - '($inputs)-W16b[Input assumption is UTF-16 (BigEndian; BOM)]' \ - '($inputs)-W16l0[Input assumption is UTF-16 (Little Endian; No BOM)]' \ - '($inputs)-W16l[Input assumption is UTF-16 (Little Endian; BOM)]' \ - '(-M)-m-[MIME decode]:mime decode:((B\:base64 Q\:quoted S\:strict N\:non-strict 0\:no-decode))' \ - '(-m)-M-[MIME encode]:mime encode:((\:header B\:base64 Q\:quoted))' \ - '-h-[hiragana<->katakana]:hirakata:((1\:hiragana-\>katakana 2\:katakana-\>hiragana 3\:both))' \ - '-L-[line mode]:line mode:((u\:LF w\:CRLF m\:CR))' \ - '-I[convert non ISO-2022-JP character to GETA]' \ - '(--cap-input --url-input)'{--cap-input,--url-input}'[Convert hex after \: or \%]' \ - '--overwrite[Overwrite original listed files by filtered result]' \ - '(-v --help)'{-v,--help}'[display help message]' \ - '*:file:_files' && return 0 - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nl deleted file mode 100644 index b3876dc6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nl +++ /dev/null @@ -1,40 +0,0 @@ -#compdef nl gnl - -local curcontext="$curcontext" state line args ret=1 - -args=( - '(-b --body-numbering)'{-b+,--body-numbering=}'[specify style for body lines]:style:->styles' - '(-d --section-delimiter)'{-d+,--section-delimiter=}'[separate logical pages with specified delimiter]:delimiter' - '(-f --footer-numbering)'{-f+,--footer-numbering=}'[specify style for footer lines]:style:->styles' - '(-h --header-numbering)'{-h+,--header-numbering=}'[specify style for header lines]:style:->styles' - '(-i --line-increment)'{-i+,--line-increment=}'[line number increment at each line]:increment' - '(-l --join-blank-lines)'{-l+,--join-blank-lines=}'[count consecutive empty lines as one]:number' - '(-n --number-format)'{-n+,--number-format=}'[specify format for line numbers]:format:((ln\:left\ justified rn\:right\ justified rz\:right\ justified\ with\ leading\ zeroes))' - '(-p --no-renumber)'{-p,--no-renumber}"[don't reset line numbers at logical pages]" - '(-s --number-separator)'{-s+,--number-separator=}'[add specified string after line numbers]:string' - '(-v --starting-line-number)'{-v+,--starting-line-number=}'[specify first line number on each logical page]:initial number' - '(-w --number-width)'{-w+,--number-width=}'[specify number of columns for line numbers]:columns' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) -else - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options -fi - -_arguments -C -s $args '*:file:_files' && ret=0 - -if [[ -n $state ]]; then - if compset -P p; then - _message -e regex 'regular expression' - else - _describe -t styles style '( p:number\ only\ lines\ matching\ regex )' -S '' -- '( - a:number\ all\ lines - t:number\ only\ non-empty\ lines - n:no\ line\ numbering - )' - fi -fi || return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nm deleted file mode 100644 index 888f1ef8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nm +++ /dev/null @@ -1,137 +0,0 @@ -#compdef nm eu-nm - -local args files variant - -files="*:object file:_object_files" -args=( - '(-A -o --print-file-name)'{-A,-o,--print-file-name}'[print name of input file on each line]' - '(--demangle --no-demangle)-C[decode symbol names]' - '(-D --dynamic)'{-D,--dynamic}'[display dynamic symbols instead of normal ones]' - '(-g --extern-only)'{-g,--extern-only}'[display only global symbols]' - '(-t --radix -o -x)'{-t,--radix}'[specify radix for numeric values]:radix:((d\:decimal o\:octal x\:hexadecimal))' -) - -if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfutils unix -V; then - args+=( - '(- *)--help[display help information]' - '(- *)'{-V,--version}'[display version information]' - '(-f --format -P --portability)-B[same as --format=bsd]' - '(-u --undefined-only)--defined-only[display only defined symbols]' - '(-f --format -P)--format=[specify output format]:format:(bsd sysv posix)' - '(-n --numeric-sort -p --no-sort --size-sort -v)'{-n,--numeric-sort}'[sort symbols numerically by address]' - '(-p --no-sort -n -v --numeric-sort -r --reverse-sort --size-sort)'{-p,--no-sort}'[do not sort symbols]' - '(-P --portability -B -f --format)'{-P,--portability}'[same as --format=posix]' - '(-r --reverse-sort -p --no-sort)'{-r,--reverse-sort}'[reverse sort order]' - '(-u --undefined-only --defined-only)'{-u,--undefined-only}'[display only undefined symbols]' - '(-a --debug-syms)'{-a,--debug-syms}'[display debugger-only symbols]' - '(-S --print-size)'{-S,--print-size}'[print size of defined symbols]' - '(-s --print-armap)'{-s,--print-armap}'[include index for symbols from archive members]' - ) - case $variant in - elftoolchain|binutils) - args+=( - '(-l --line-numbers)'{-l,--line-numbers}'[display source file and line numbers from debug information]' - "(-C --demangle)--no-demangle[don't decode symbol names]" - '(-p --no-sort -n -v --numeric-sort)--size-sort[sort symbols by size]' - '(-n --numeric-sort -p --no-sort --size-sort)-v[sort symbols numerically by address]' - '(- *)-h[display help information]' - ) - ;| - elftoolchain) - args=( ${args:#*(-C|-o|--portability)\[*} - '(-C --demangle)'{-C,--demangle=-}'[decode symbol names]::style:(auto gnu-v2 gnu-v3 arm)' - '(-g --extern-only)-e[only display global and static symbols]' - '(--format -P)-F+[specify output format]:format:(bsd sysv posix)' - '-o[with -P, same as -t o; otherwise same as -A]' - '(-t --radix)-x[print values in hexadecimal]' - ) - ;; - elfutils) - args+=( - '--mark-special[mark special symbols]' - '--color=[use color in output]:color:(always auto never)' - '(-C)--demangle[decode symbol names]' - '(--format -P)-f+[specify output format]:format:(bsd sysv posix)' - '(- *)--usage[give a short usage message]' - '(- *)-?[display help information]' - ) - ;; - binutils) - compset -P '@' && files='*:options file:_files' - args+=( - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-f --format -P)-f+[specify output format]:format:(bsd sysv posix)' - '(-C --no-demangle)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' - '--ifunc-chars=[specify characters to use for indirect function symbols]:characters for global/local indirect function symbols [ii]' - '--plugin[load specified plugin]:plugin' - '--special-syms[include special symbols in the output]' - '--synthetic[display synthetic symbols as well]' - "--target=[target object format]:target:(${${(@M)${(f)$(_call_program targets nm --help)}:#*supported targets:*}##*: })" - '--with-symbol-versions[display version strings after symbol names]' - ) - ;; - esac -else - case $OSTYPE in - (darwin*|openbsd*) - args=( - '(-A -o)'{-A,-o}'[prepend file name to each output line]' - '(-g)-a[display all symbols including those for debuggers]' - '(-a)-g[display only global symbols]' - '(-U)-u[display only undefined symbols]' - '(-p)-n[sort numerically rather than alphabetically]' - "(-n -r)-p[don't sort; display in symbol-table order]" - '(-p)-r[sort in reverse order]' - '(-j)-P[print information in a portable format]' - '(-j)-t[specify radix for numeric values (used with -P)]:radix:((d\:decimal o\:octal x\:hexadecimal))' - );| - (darwin*) - args+=( - "(-u)-U[don't display undefined symbols]" - '-f[display symbol table of dynamic library flat]' - '(-P -t -m)-j[just display symbol names (no value or type)]' - '-l[display .section_start if no symbol is in the section (used with -s)]' - '(-j)-m[use verbose format for Mach-O symbols]' - '-s[list only symbols in the specified section]:segment name: :section name: ' - "-x[display symbol table entry's fields in hexadecimal]" - '*-arch[select architecture from universal file]:architecture:(all i386 x86_64)' - );; - (openbsd*) - args+=( - '-C[decode low-level symbol names]' - '-D[display dynamic symbol table instead of normal symbol table]' - '-e[output extended information]' - '-s[show archive index]' - '-w[warn about non-object archive members]' - );; - (solaris*) - args=( ${args:#(|*\)(\*|))-[o-]*} - "-h[don't display column headers]" - '-l[distinguish WEAK symbols with * character]' - '(-t -x)-o[print values in octal]' - '(-v)-n[sort symbols by name]' - '(-P)-p[produce parsable output]' - '(-p)-P[portable output format]' - '(-r)-R[print archive name, object file and symbol name]' - '-r[prepend name of input file to each symbol name]' - '-s[print section name instead of index]' - '-u[print undefined symbols only]' - '(-n)-v[sort external symbols by value]' - '-V[display version of the nm command]' - '(-o -t)-x[print values in hexadecimal]' - );; - (*) - # minimal POSIX - args=( - '-A[print name of input file on each line]' - '(-u)-g[display only global symbols]' - '-P[print information in a portable format]' - '-t[specify radix for numeric values]:radix:((d\:decimal o\:octal x\:hexadecimal))' - '(-g)-u[display only undefined symbols]' - '-v[sort symbols by value instead of by name]' - );; - esac -fi - -_arguments -s -S : "$args[@]" $files diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nmap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nmap deleted file mode 100644 index 2a507baa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nmap +++ /dev/null @@ -1,78 +0,0 @@ -#compdef nmap - -local curcontext="$curcontext" state line suf ret=1 - -_arguments -C \ - '!-sI:zombie host:_hosts' \ - '!-P'{T,S,U}'+:port list' \ - '*-s-[specify scan type]:scan type:((S\:TCP\ SYN\ scan T\:TCP\ connect\(\)\ scan F\:stealth\ FIN\ scan X\:stealth\ Xmas\ tree\ scan N\:stealth\ null\ scan P\:ping\ scanning U\:UDP\ scan O\:IP\ protocol\ scan I\:idle\ scan A\:ACK\ scan W\:window\ scan R\:RPC\ scan L\:list\ scan V\:version\ detection))' \ - '-b[specify ftp relay host]:ftp relay host:_hosts' \ - '*-P-[specify probe types and options]:probe type/options:->probe-opts' \ - '-A[enable OS detection and version scanning]' \ - '-O[enable remote OS identification]' \ - '-6[enable IPv6 support]' \ - '-I[enable TCP reverse ident scanning]' \ - '-f[use tiny fragmented IP packets]' \ - '*-v[verbose mode]' \ - '-h[show help information]' \ - '*-o-[log results]:log format:->log-forms:log filename:_files' \ - '--resume[resume cancelled scan]:log filename:_files' \ - '--append-output[append results to any log files]' \ - '-iL[read target specifications from file]:file:_files' \ - '-iR[scan random hosts]:num hosts' \ - '-p[specify ports to try]:port numbers' \ - '-F[scan only ports listed in services file]' \ - '-D[perform decoy scan]:host list:_sequence -s, _hosts' \ - '-S[specify source address]:address:_hosts' \ - '-e[specify interface to use]:network interface:_net_interfaces' \ - '-g[specify source port number]:port number' \ - '--data-length[add random data to packets]:data length' \ - '(-R)-n[skip reverse DNS to speed things up]' \ - '(-n)-R[always do reverse DNS on targets]' \ - "-r[don't randomize order in which ports are scanned]" \ - '-ttl[specify IPv4 time to live for sent packets]' \ - '--randomize-hosts[scan hosts in random order]' \ - '-M[specify maximum number of parallel TCP connects]:maximum TCP connects' \ - '--packet-trace[show all packets sent in tcpdump-like format]' \ - '--version-trace[show packets related to version scanning]' \ - '--datadir[specify directory containing data files]:directory:_directories' \ - '-T[specify timing policy]:timing policy:(Paranoid Sneaky Polite Normal Aggressive Insane)' \ - '--host-timeout[specify maximum time for scanning a single host]:timeout (ms)' \ - '--max-rtt-timeout[maximum time for a probe response]:timeout (ms)' \ - '--min-rtt-timeout[minimum time to wait for a probe response]:time (ms)' \ - '--initial-rtt-timeout[specify initial probe timeout]:timeout (ms)' \ - '--max-parallelism[specify max number of scans to perform in parallel]:number' \ - '--min-parallelism[scan at least specified number of ports in parallel]:number' \ - '--scan-delay[specify minimum amount of time between probes]:delay (ms)' \ - '--interactive[go into interactive mode]' \ - '*:host:_hosts' && ret=0 - -case $state in - probe-opts) - _values -S '' 'probe type/option' \ - "0[don't try to ping hosts before scanning]" \ - 'T[use TCP "ping"]' \ - 'S[use SYN packets instead of ACK]' \ - 'U[send UDP probes]' \ - 'E[use a true ping]' \ - 'P[use an ICMP timestamp request]' \ - 'M[use a netmask request]' \ - 'B[use ACK and ICMP echo in parallel]' && ret=0 - ;; - log-forms) - _values 'log format' \ - 'N[human readable (normal)]' \ - 'X[XML]' \ - 'G[grepable]' \ - 'A[all]' \ - 'S[S|<ipT kiDdI3]' && ret=0 - ;; - host-list) - suf=() - compset -P '*,' - compset -S ',*' || suf=(-qS ,) - _hosts "$suf[@]" && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_normal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_normal deleted file mode 100644 index 0d84eae8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_normal +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -command-line- - -local _comp_command1 _comp_command2 _comp_command precommand -local -A opts - -zparseopts -A opts -D - P p+:-=precommand s -(( $+opts[-s] )) || _compskip= -(( $+opts[-P] )) && precommands=() -(( $#precommand )) && precommands+=(${precommand#-p}) - -# Check for a history reference to complete modifiers. -# $PREFIX has a quoted form of the !, so we can't test that -# (it might the start of a real argument), but words has the -# raw McCoy. -if [[ -o BANG_HIST && - ( ( $words[CURRENT] = \!*: && -z $compstate[quote] ) || - ( $words[CURRENT] = \"\!*: && $compstate[all_quotes] = \" ) ) ]]; then - # This looks like a real history expansion; in that case - # we'd better put the !'s back the way pfalstad intended. - PREFIX=${PREFIX//\\!/!} - compset -P '*:' - _history_modifiers h - return -fi - -# Completing in command position? - -if [[ CURRENT -eq 1 ]]; then - curcontext="${curcontext%:*:*}:-command-:" - - comp="$_comps[-command-]" - [[ -n "$comp" ]] && eval "$comp" && return - - return 1 -fi - -_set_command - -_dispatch ${(k)opts[-s]} "$_comp_command" \ - "$_comp_command1" "$_comp_command2" -default- diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nothing b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nothing deleted file mode 100644 index 1f69155a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nothing +++ /dev/null @@ -1,3 +0,0 @@ -#compdef true false log times clear logname whoami sync - -_message 'no argument or option' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_npm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_npm deleted file mode 100644 index c05f61c5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_npm +++ /dev/null @@ -1,14 +0,0 @@ -#compdef npm - -# Node Package Manager completion, letting npm do all the completion work - -if (( $+commands[npm] )); then - eval "$(NPM_CONFIG_UPDATE_NOTIFIER=false npm completion)" - # Monkey-patch their function to prevent update checks - functions[_npm_completion]=" - local -x NPM_CONFIG_UPDATE_NOTIFIER=false; - ${functions[_npm_completion]} - " - - _npm_completion "$@" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nsenter b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nsenter deleted file mode 100644 index 8e7c6bc4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nsenter +++ /dev/null @@ -1,28 +0,0 @@ -#compdef nsenter - -local ign -(( $#words > 2 )) && ign='!' - -_arguments -S -s \ - '(-a --all)'{-a,--all}'[enter all namespaces]' \ - '(-t --target)'{-t+,--target=}'[specify target process to get namespaces from]:pid:_pids' \ - '(-m --mount)'{-m-,--mount=-}'[enter mount namespace]::file:_files' \ - '(-u --uts)'{-u-,--uts=-}'[enter UTS namespace (hostname etc)]::file:_files' \ - '(-i --ipc)'{-i-,--ipc=-}'[enter System V IPC namespace]::file:_files' \ - '(-n --net)'{-n-,--net=-}'[enter network namespace]::file:_files' \ - '(-p --pid)'{-p-,--pid=-}'[enter pid namespace]::file:_files' \ - '(-C --cgroup)'{-C-,--cgroup=-}'[enter cgroup namespace]::file:_files' \ - '(-U --user)'{-U-,--user=-}'[enter user namespace]::file:_files' \ - '(-T --time)'{-T-,--time=-}'[enter time namespace]::file:_files' \ - '(-S --setuid)'{-S+,--setuid=}'[set uid in entered namespace]:uid [0]' \ - '(-G --setgid)'{-G+,--setgid=}'[set gid in entered namespace]:gid [0]' \ - "--preserve-credentials[don't touch uids or gids]" \ - '(-r --root)'{-r+,--root=}'[set the root directory]:directory:_directories' \ - '(-w --wd)'{-w+,--wd=}'[set the working directory]:directory:_directories' \ - '(-F --no-fork)'{-F,--no-fork}"[don't fork]" \ - '(-Z --follow-context)'{-Z,--follow-context}'[set SELinux context according to --target PID]' \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)"{-V,--version}'[display version information]' \ - '1: : _command_names -e' \ - '*::args :_normal' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nslookup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nslookup deleted file mode 100644 index 9bc80ab2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nslookup +++ /dev/null @@ -1,160 +0,0 @@ -#compdef nslookup - -# This may also be called from the `nslookup' wrapper function during -# `vared'iting a line. -# In this case this function tries to call other user-defined functions -# for certain contexts before adding completion. If these functions are -# defined, they are called and the default completions from this function -# are not added. The functions called are named `_nslookup_<state>', with -# `<state>' being any of: -# -# command -# When completing the first word on the line. -# redirect -# When completing after a redirection operator. -# -# Also, when completing after the first word, if the first word contains -# only lower case letters, we try to call the function `_nslookup_<word>', -# where `<word>' is the first word from the line. If the first word contains -# other characters than lower case letters, we try to call the function -# `_nslookup_host'. - -local state curcontext="$curcontext" expl ret=1 setopts -typeset -A opt_args - -setopts=( - 'all[print current values]' \ - '(nodebug)debug[simple debugging information]' \ - '(debug)nodebug[no simple debugging information]' \ - '(nod2)d2[extra debugging information]' \ - '(d2)nod2[no extra debugging information]' \ - '(nodefname)defname[append default domain name]' \ - '(defname)nodefname[don'"'"'t append default domain name]' \ - '(nosearch)search[append search list]' \ - '(search)nosearch[don'"'"'t append search list]' \ - '(norecurse)recurse[name server may query other servers]' \ - '(recurse)norecurse[name server may not query other servers]' \ - '(novc)vc[use virtual circuit]' \ - '(vc)novc[don'"'"'t use virtual circuit]' \ - '(noignoretc)ignoretc[ignore packet truncation errors]' \ - '(ignoretc)noignoretc[don'"'"'t ignore packet truncation errors]' \ - 'class[change query class]:query class:((in\:Internet\ class chaos\:CHAOS\ class hesiod\:MIT\ Athena\ Hesiod\ class any\:wildcard\ \(any\ of\ the\ above\)))' - "domain[change default domain]:default domain:_domains" - 'srchlist[change default domain and search list]: :->srchlist' - 'port[change name server port]:name server port:' - {query,}type'[change type of information query]:query information type:((a\:internet\ address cname\:canonical\ name\ for\ alias hinfo\:CPU\ and\ operating\ system\ type minfo\:mailbox\ or\ mail\ list\ information mx\:mail\ exchanger ns\:name\ server\ for\ zone ptr\:host\ name\ or\ other\ information soa\:domain\'"'"'s\ \`start-of-authority\'"'"'\ information txt\:text\ information uinfo\:user\ information wks\:supported\ well-known\ services))' - 'retry[change number of retries]:number of retries:' - 'root[change name of root server]:root server:_hosts' - 'timeout[change initial timeout interval]:timeout (seconds):' -) - -if [[ -n "$compcontext" ]]; then - if [[ CURRENT -eq 1 ]]; then - - _call_function ret _nslookup_command && return ret - - _alternative \ - 'commands:command:(server lserver root finger ls view help set exit)' \ - 'hosts:: _hosts' && ret=0 - return ret - elif [[ "$compstate[context]" = redirect ]]; then - - _call_function ret _nslookup_redirect && return ret - - _tags -C redirection files || return 1 - - if [[ "$words[1]" != (finger|ls) ]]; then - _message "redirection not allowed for command \`$words[1]'" - return 1 - elif [[ "$compstate[redirect]" = '>' ]]; then - _description files expl 'write to file' - elif [[ "$compstate[redirect]" = '>>' ]]; then - _description files expl 'append to file' - else - _message "unknown redirection operator \`$compstate[redirect]'" - return 1 - fi - - _files "$expl[@]" - return - fi - - if [[ "$words[1]" = [a-z]## ]]; then - _call_function ret _nslookup_$words[1] && return ret - else - _call_function ret _nslookup_host && return ret - fi - - case "$words[1]" in - (|l)server) - _wanted hosts expl 'new default server' _hosts - return - ;; - root|exit|help|\?) - return 1 - ;; - finger) - _message -e names 'finger name' - return 1 - ;; - ls) - _arguments -s \ - '-t[records of given type]:query information type:((a\:internet\ address cname\:canonical\ name\ for\ alias hinfo\:CPU\ and\ operating\ system\ type minfo\:mailbox\ or\ mail\ list\ information mx\:mail\ exchanger ns\:name\ server\ for\ zone ptr\:host\ name\ or\ other\ information soa\:domain\'"'"'s\ \`start-of-authority\'"'"'\ information txt\:text\ information uinfo\:user\ information wks\:supported\ well-known\ services))' \ - '-a[aliases of hosts in domain]' \ - '-d[all records]' \ - '-h[CPU and operating system information]' \ - '-s[well-known services]' \ - ":domain:_domains" - return - ;; - view) - _description files expl 'view file' - _files "$expl[@]" - return - ;; - set) - typeset -A val_args - - _values 'state information' "$setopts[@]" && ret=0 - - [[ -z "$state" ]] && return ret - ;; - *) - _wanted hosts expl 'server' _hosts - return - esac -fi - -# Now comes the command line option completion part. - -if [[ -z "$state" ]]; then - local line - typeset -A opt_args - - _arguments -C \ - "-${(@)^${(@M)setopts:#*\]:*}/\[/=[}" \ - "-${(@)^setopts:#(\(|*\]:)*}" \ - "${(@)^${(@)${(@M)setopts:#\(*}/\)/)-}/\(/(-}" \ - ':host to find:_hosts' \ - ':server:_hosts' && ret=0 -fi - -# This is completion after `srchlist' for both types. - -if [[ -n "$state" ]]; then - _tags domains || return 1 - - if compset -P '*/'; then - _description domains expl 'search list entry' - else - _description domains expl 'default domain name and first search list entry' - fi - if [[ -n "$_vals_cache_multi" ]]; then - _domains "$expl[@]" -qS/ -r "/\\- \\t\\n$_vals_cache_multi" - else - _domains "$expl[@]" -qS/ - fi - return -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numbers b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numbers deleted file mode 100644 index 97bb8b4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numbers +++ /dev/null @@ -1,87 +0,0 @@ -#autoload - -# Usage: _numbers [compadd options] [-t tag] [-f|-N] [-u units] [-l min] [-m max] \ -# [-d default] ["description"] [unit-suffix...] - -# -t : specify a tag (defaults to 'numbers') -# -u : indicate the units, e.g. seconds -# -l : lowest possible value -# -m : maximum possible value -# -d : default value -# -N : allow negative numbers (implied by range including a negative) -# -f : allow decimals (float) - -# For a unit-suffix, an initial colon indicates a unit that asserts the default -# otherwise, colons allow for descriptions, e.g: - -# :s:seconds m:minutes h:hours - -# unit-suffixes are not sorted by the completion system when listed -# Specify them in order of magnitude, this tends to be ascending unless -# the default is of a higher magnitude, in which case, descending. -# So for, example -# bytes kB MB GB -# s ms us ns -# Where the compadd options include matching control or suffixes, these -# are applied to the units - -# For each unit-suffix, the format style is looked up with the -# unit-suffixes tag and the results concatenated. Specs used are: -# x : the suffix -# X : suffix description -# d : indicate suffix is for the default unit -# i : list index -# r : reverse list index -# The latter three of these are useful with ternary expressions. - -# _description is called with the x token set to make the completed -# list of suffixes available to the normal format style - -local desc tag range suffixes suffix suffixfmt pat='<->' partial='' -local -a expl formats -local -a default max min keep tags units -local -i i -local -A opts - -zparseopts -K -D -A opts M+:=keep q:=keep s+:=keep S+:=keep J+: V+: 1 2 o+: n F: x+: X+: \ - t:=tags u:=units l:=min m:=max d:=default f=type e=type N=type - -desc="${1:-number}" tag="${tags[2]:-numbers}" -(( $# )) && shift - -[[ -n ${(M)type:#-f} ]] && pat='(<->.[0-9]#|[0-9]#.<->|<->)' partial='(|.)' -[[ -n ${(M)type:#-N} || $min[2] = -* || $max[2] = -* ]] && \ - pat="(|-)$pat" partial="(|-)$partial" - -if (( $#argv )) && compset -P "$pat"; then - zstyle -s ":completion:${curcontext}:units" list-separator sep || sep=-- - _description -V units expl unit - disp=( ${${argv#:}/:/ $sep } ) - compadd -M 'r:|/=* r:|=*' -d disp "$keep[@]" "$expl[@]" - ${${argv#:}%%:*} - return -elif [[ -prefix $~pat || $PREFIX = $~partial ]]; then - formats=( "h:$desc" ) - (( $#units )) && formats+=( m:${units[2]} ) desc+=" ($units[2])" - (( $#min )) && range="$min[2]-" - (( $#max )) && range="${range:--}$max[2]" - [[ -n $range ]] && formats+=( r:$range ) desc+=" ($range)" - (( $#default )) && formats+=( o:${default[2]} ) desc+=" [$default[2]]" - - zstyle -s ":completion:${curcontext}:unit-suffixes" format suffixfmt || \ - suffixfmt='%(d.%U.)%x%(d.%u.)%(r..|)' - for ((i=0;i<$#;i++)); do - zformat -f suffix "$suffixfmt" "x:${${argv[i+1]#:}%%:*}" \ - "X:${${argv[i+1]#:}#*:}" "d:${#${argv[i+1]}[1]#:}" \ - i:i r:$(( $# - i - 1)) - suffixes+="$suffix" - done - [[ -n $suffixes ]] && formats+=( x:$suffixes ) - - _comp_mesg=yes - _description -x $tag expl "$desc" $formats - [[ $compstate[insert] = *unambiguous* ]] && compstate[insert]= - compadd "$expl[@]" - return 0 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numfmt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numfmt deleted file mode 100644 index 999c412a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_numfmt +++ /dev/null @@ -1,24 +0,0 @@ -#compdef numfmt gnumfmt - -local units="((auto\:1K\ =\ 1000,\ 1Ki\ =\ 1024 si\:1K\ =\ 1000 iec\:1K\ =\ 1024 iec-i\:1Ki\ =\ 1024))" - -_arguments -S \ - '(H)--debug[print warnings about invalid input]' \ - '(H -z --zero-terminated -d --delimiter)'{-d+,--delimiter=}'[use specified field delimiter instead of whitespace]:delimiter' \ - '(H)--field=[replace numbers in specified input fields]:fields [1]' \ - '(H)--format=[use printf style floating-point format]:format' \ - "(H)--from=[auto-scale input numbers to specified units]:unit [none]:$units" \ - '(H)--from-unit=[specify the input unit size]:unit size [1]' \ - '(H)--grouping[use locale-defined digit grouping e.g. 1,000,000]' \ - '(H)--header=-[print (without converting) initial header lines]::header lines [1]' \ - '(H)--invalid=[specify failure mode for invalid numbers]:mode [abort]:(abort fail warn ignore)' \ - '(H)--padding=[pad the output to specified width]:width; positive - right-align; negative - left-align' \ - '(H)--round=[use specified method for rounding when scaling]:method [from-zero]:(up down from-zero towards-zero nearest)' \ - '(H)--suffix=[add suffix to output numbers and accept optional suffix in input numbers]:suffix' \ - "(H)--to=[auto-scale output numbers to specified unit]:unit:$units" \ - '(H)--to-unit=[specify output unit size]:unit size [1]' \ - '(H -z --zero-terminated -d --delimiter)'{-z,--zero-terminated}'[line delimiter is NUL, not newline]' \ - '(H)*: :_guard "^-*" number' \ - + 'H' \ - '(- *)--help[display usage information]' \ - '(- *)--version[display version information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nvram b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nvram deleted file mode 100644 index 8853b0be..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_nvram +++ /dev/null @@ -1,30 +0,0 @@ -#compdef nvram - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -# Note: -x can only be used with -f/-p, but must be used first to have effect -_arguments -s : \ - '(: -)-c[delete all NVRAM variables]' \ - '(: -)-d[delete specified NVRAM variable]: :->variables-ro' \ - '(: -)-f[set NVRAM variables from file]: :_files' \ - '(: -)-p[print all NVRAM variables]' \ - '(-c -d)-x[use XML format for input and output]' \ - '(-)*: :->variables-rw' \ -&& ret=0 - -[[ $state == variables-* ]] && { - tmp=( ${${(f)"$( _call_program variables $words[1] -p )"}%%[[:space:]]*} ) - - [[ $state == variables-rw ]] && - tmp=( ${^tmp}'::NVRAM variable value' ) - - if (( $#tmp )); then - _values -w 'NVRAM variable' $tmp && ret=0 - else - _message 'NVRAM variable' && ret=0 - fi -} - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_objdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_objdump deleted file mode 100644 index e2dde7e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_objdump +++ /dev/null @@ -1,198 +0,0 @@ -#compdef objdump eu-objdump llvm-objdump - -local curcontext="$curcontext" files variant ign ret=1 -local -a opts args state state_descr line -typeset -A opt_args - -files='*:object file:_object_files' -(( $#words > 2 )) && ign='!' -_pick_variant -r variant binutils=GNU elfutils=elfutils llvm=LLVM unix --version - -opts=( -s -S ) # options to _arguments itself -args=( - '(-d --disassemble)'{-d,--disassemble}'[display assembler code of executable sections]' - '(-r --reloc)'{-r,--reloc}'[display relocation information]' - '(-s --full-contents)'{-s,--full-contents}'[display the full contents of all sections requested]' - \*{-j+,--section=}'[only display information for section]:section:(.bss .data .dynamic .dynsym .got .interp .shstrtab .symtab .text)' -) - -case $variant in - binutils) - compset -P '@' && files='*:options file:_files' - args+=( - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-a --archive-headers)'{-a,--archive-headers}'[display archive header information]' - '(-f --file-headers)'{-f,--file-headers}'[display contents of the overall file header]' - '(-p --private-headers)'{-p,--private-headers}'[display object format specific file header contents]' - \*{-P+,--private=}'[display information specific to the object format]:option' - '(-h --section-headers --headers)'{-h,--section-headers,--headers}'[display contents of the section headers]' - '(-x --all-headers)'{-x,--all-headers}'[display the contents of all headers]' - '--disassemble=[display assembler contents for specified symbol]:symbol' - '(-D --disassemble-all)'{-D,--disassemble-all}'[display assembler contents of all sections]' - '(-S --source)'{-S,--source}'[intermix source code with disassembly]' - '--source-comment=-[prefix lines of source code with specified text]::text prefix [# ]' - '(-g --debugging)'{-g,--debugging}'[display debug information in object file]' - '(-e --debugging-tags)'{-e,--debugging-tags}'[display debug information using ctags style]' - '(-G --stabs)'{-G,--stabs}'[display (in raw form) any STABS info in the file]' - - '*-W-[display DWARF info in the file]::dwarf section:->short-dwarf-names' - '*--dwarf=-[display DWARF info in the file]::dwarf section:->dwarf-names' - - '--ctf=[display compact C type format info for section]:section' - '(-t --syms)'{-t,--syms}'[display the contents of the symbol table(s)]' - '(-T --dynamic-syms)'{-T,--dynamic-syms}'[display the contents of the dynamic symbol table]' - '(-R --dynamic-reloc)'{-R,--dynamic-reloc}'[display the dynamic relocation entries in the file]' - - "${ign}(- *)"{-v,--version}"[display version information]" - "${ign}(- *)"{-i,--info}"[list supported object formats and architectures]" - "${ign}(- *)"{-H,--help}"[display usage information]" - - '(-b --target)'{-b+,--target=}'[specify the target object format]:target:->bfdnames' - '(-m --architecture)'{-m+,--architecture=}'[specify the target architecture]:architecture:->architectures' - \*{-M+,--disassembler-options=}'[pass target specific information to the disassembler]:option:->disassembler_options' - - "(-E --endian)-E+[assume endianness when disassembling]:endianness:((B\:\"assume big endian format when disassembling\" L\:\"assume little endian format when disassembling\"))" - "(-E --endian)--endian=[assume endianness when disassembling]:endianness:((big\:\"assume big endian format when disassembling\" little\:\"assume little endian format when disassembling\"))" - - '--file-start-context[include context from start of file (with -S)]' - \*{-I+,--include=}'[add directory to search list for source files]:directory:_files -/' - '(-l --line-numbers)'{-l,--line-numbers}'[include line numbers and filenames in output]' - '(-F --file-offsets)'{-F,--file-offsets}'[include file offsets when displaying information]' - '(-C --demangle)-C[decode mangled/processed symbol names]' - '(-C --demangle)--demangle=-[decode mangled/processed symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-w --wide)'{-w,--wide}'[format output for more than 80 columns]' - '(-z --disassemble-zeroes)'{-z,--disassemble-zeroes}"[don't skip blocks of zeroes when disassembling]" - - '--start-address=[only process data whose address is >= ADDR]:address' - '--stop-address=[only process data whose address is < ADDR]:address' - "--no-addresses[don't print address alongside disassembly]" - '--prefix-addresses[print complete address alongside disassembly]' - '(--show-raw-insn --no-show-raw-insn)'--{,no-}show-raw-insn'[display hex alongside symbolic disassembly]' - '--insn-width=[display specified number of bytes on a single line with -d]:width (bytes)' - '--adjust-vma=[add offset to all displayed section addresses]:offset' - '--special-syms[include special symbols in symbol dumps]' - '--inlines[print all inlines for source line (with -l)]' - '--prefix=[add prefix to absolute paths for -S]:prefix' - '--prefix-strip=[strip initial directory names for -S]:level' - "--dwarf-depth=[don't display DIEs at specified or greater depth]:depth" - '--dwarf-start=[display DIEs at specified or deeper depth]:depth' - '--dwarf-check[perform additional dwarf internal consistency checks]' - '--ctf-parent=[use specified section as the CTF parent]:section' - '--visualize-jumps=-[visualize jumps by drawing ASCII art lines]::color:(color extended-color off)' - ) - ;; - elfutils) - args+=( - "--color=-[colorize the output]::when:(always auto never)" - "(- *)"{-\?,--help}"[display help]" - "(- *)--usage[display usage]" - "(- *)"{-V,--version}"[display program version]" - - ) - ;; - llvm) - opts=( -S ) # no option stacking - args=( # start over from an empty array - '-aarch64-neon-syntax=[choose style of NEON code (AArch64)]:style:(generic apple)' - '-arch=[select arch from a fat binary (with -macho)]:architecture:(i386 x86_64)' - '-arch-name=[specify target arch to disassemble for]:architecture:->llvm_targets' - '-archive-headers[print archive headers (with -macho)]' - '-archive-member-offsets[w -macho -archive-headers: print offset to each archive member]' - '-bind[display Mach-O binding info]' - '-color[use color syntax highlighting]' - '-data-in-code[print data in code table (with -macho)]' - "-dis-symname=[disassemble just the specified symbol's instructions (with -macho)]" - '(-disassemble -d)'{-disassemble,-d}'[display assembler mnemonics for machine instructions]' - '(-disassemble-all -D)'{-disassemble-all,-D}'[disassemble all instruction sections]' - '-dsym=[use the specified .dSYM file for debug info (with -macho)]:dsym file:_files' - '-dwarf=[dump of dwarf debug section]:section:(frames)' - "-dyld-id[print the shared library's id for dylib Mach-O file (with -macho)]" - '-dylibs-used[print the shared libraries used for linked Mach-O files (with -macho)]' - '-exports-trie[display Mach-O exported symbols]' - '-fault-map-section[display contents of faultmap section]' - '-filter-print-funcs=[only print IR for the specified functions]:function names' - '-full-leading-addr[print full leading address (with -macho)]' - '-g[print line information from debug info if available (with -macho)]' - '-indirect-symbols[print indirect symbol table (with -macho)]' - '-info-plist[print the info plist section (with -macho)]' - '-lazy-bind[display Mach-O lazy binding info]' - '(-line-numbers -l)'{-line-numbers,-l}'[display source line numbers with disassembly]' - '-link-opt-hints[print the linker optimization hints (with -macho)]' - '(-macho -m)'{-macho,-m}'[use Mach-O specific object file parser]' - '*-mattr=[target specific attributes]:attributes' - '-mcpu=[specify target cpu type]:cpu type' - '-no-leading-addr[print no leading address (with -macho)]' - '-no-leading-headers[print no leading headers]' - "-no-show-raw-insn[don't print instruction bytes when disassembling]" - "-no-symbolic-operands[don't print operands symbolically when disassembling (with -macho)]" - '-non-verbose[print info in non-verbose form (with -macho)]' - '-objc-meta-data[print Objective-C runtime meta data (with -macho)]' - '-print-after-all[print IR after each pass]' - '-print-before-all[print IR before each pass]' - '-print-imm-hex[use hex format for immediate values]' - '-private-header[display only the first format specific file header]' - '(-private-headers -p)'{-private-headers,-p}'[display format specific file headers]' - '-r[display the relocation entries in the file]' - '-raw-clang-ast[dump raw binary contents of clang AST section]' - '-rebase[display Mach-O rebasing info]' - '-rng-seed=[seed for the random number generator]:seed' - '-s[display contents of each section]' - \*{-section=,-j}'[operate on the specified section only]:section' - '(-section-headers -h)'{-section-headers,-h}'[display summaries of the headers for each section]' - '(-source -S)'{-source,-S}'[display source inlined with disassembly]' - '-start-address=[start disassembly at the specified address]:address' - '-stop-address=[stop disassembly at the specified address]:address' - '-t[display the symbol table]' - '-time-passes[time each pass, print elapsed time on exit]' - '-triple=[target triple to disassemble for]:triple' - '-universal-headers[print Mach-O universal headers (with -macho)]' - '-verify-dom-info[verify dominator info (time consuming)]' - '-unwind-info[display unwind information]' - '-weak-bind[display Mach-O weak binding info]' - '-x86-asm-syntax=[choose style of assembler code (x86)]:style:(att intel)' - "${ign}(- *)-help[display available options]" - "${ign}(- *)-help-list[display list of available options]" - "${ign}(- *)-version[display version of objdump]" - ) - ;; -esac - -_arguments $opts -C : "$args[@]" $files && ret=0 - -case "$state" in - short-dwarf-names) - _values -s "" "dwarf section" \ - "l[rawline]" "L[decodedline]" "i[info]" "a[abbrev]" "p[pubnames]" \ - "r[aranges]" "m[macro]" "f[frames]" "F[frames-interp]" "s[str]" \ - 'O[str-offsets]' \ - "o[loc]" "R[ranges]" "t[pubtypes]" "U[trace_info]" "u[trace_abbrev]" \ - "T[trace_aranges]" "g[gdb_index]" "A[addr]" "c[cu_index]" "k[links]" \ - "K[follow-links]" && ret=0 - ;; - dwarf-names) - _sequence _wanted dwarf-sections expl "dwarf section" compadd - \ - rawline decodedline info abbrev pubnames aranges macro frames \ - frames-interp str str-offsets loc Ranges pubtypes gdb_index trace_info \ - trace_abbrev trace_aranges addr cu_index links follow-links && ret=0 - ;; - bfdnames) - _wanted targets expl target compadd - \ - ${=${(M)${(f)"$(_call_program targets objdump --help)"}##* supported targets:*}##*: } && ret=0 - ;; - architectures) - _wanted architectures expl architecture compadd - \ - ${=${(M)${(f)"$(_call_program targets objdump --help)"}##* supported architectures:*}##*: } && ret=0 - ;; - disassembler_options) - _values -s , "disassembler option" "${(@)${(@)${(@M)${(f)${(ps.-M switch.)$(_call_program targets objdump --help)}[2]}:# [^ ]*}# }%% *}" && ret=0 - ;; - llvm_targets) - _values "target architecture" "${(z)${(@)${(f)$(_call_program targets - ${~words[1]} -version)##*Registered Targets:}/ -*}}" - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_classes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_classes deleted file mode 100644 index a0d669ca..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_classes +++ /dev/null @@ -1,6 +0,0 @@ -#compdef odmget odmshow odme - -local expl - -_wanted objectclasses expl 'object class' \ - _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc(-.)' "$@" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_files deleted file mode 100644 index 6b931372..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_object_files +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local expl - -_description files expl 'object file' - -__object_file() { - [[ -x $REPLY || $REPLY = *.(a|o|elf|dylib) || $REPLY = *.so(.<->)# || - $REPLY = (core*|*.core) ]] -} - -_files -g '*(-.e,__object_file,)' "$@" "${(@)expl}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_obsd_architectures b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_obsd_architectures deleted file mode 100644 index cec000a0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_obsd_architectures +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon sparc64 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_od b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_od deleted file mode 100644 index 7673a225..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_od +++ /dev/null @@ -1,83 +0,0 @@ -#compdef od god - -local curcontext="$curcontext" state state_descr line args ret=1 -local -A opt_args - -args=( - '(-A --address-radix)'{-A+,--address-radix=}'[file offset base]:base:((d\:decimal o\:octal x\:hexadecimal n\:none))' - '(-j --skip-bytes)'{-j+,--skip-bytes=}'[skip specified bytes]:bytes' - '(-N --read-bytes)'{-N+,--read-bytes=}'[dump at most specified bytes]:bytes' - '*'{-t+,--format=}'[specify output format]:format string:->format' - '(-v --output-duplicates)'{-v,--output-duplicates}'[do not use * to mark line suppression]' - '-a[output named characters (-t a)]' - '-b[output octal bytes (-t o1)]' - '-c[output characters with C-style escape (-t c)]' - '-d[output unsigned decimal shorts (-t u2)]' - '-f[output single-precision floats (-t fF)]' - {-h,-x}'[output hexadecimal shorts (-t x2)]' - '-i[output decimal integers (-t dI)]' - {-l,-I,-L}'[output decimal longs (-t dL)]' - {-o,-B}'[output octal shorts (-t o2)]' - '-s[output decimal shorts (-t d2)]' -) - -if _pick_variant gnu=GNU unix --version; then - # -h -B -I and -L are obsolescent and undocumented - args=( ${(R)args:#(|\*)(|\(*\))-[hBIL]*} ) - args+=( - '--traditional' - '--endian=[swap input bytes]:endianness:(big little)' - {-S+,--strings=-}'[output strings of at least specified bytes long]:length' - {-w-,--width=-}'[output specified bytes per line]:bytes' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - ) -else - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options - case "$OSTYPE" in - darwin*|freebsd*|dragonfly*|openbsd*) - args+=( - '-D[output unsigned decimal integers (-t u4)]' - {-e,-F}'[output double-precision floats (-t fD)]' - {-H,-X}'[output hexadecimal ints (-t x4)]' - '-O[output octal ints (-t o4)]' - ) - ;; - solaris*) - args=( - ${(M)args:#(|\*)(|\(*\))-[AjNtvbcdfosx]*} - '-C[output all printable characters and use C-style escapes]' - '-D[output unsigned decimal long words (-t u4)]' - '-F[output double-precision floats (-t f8)]' - '-O[output octal ints (-t o4)]' - '-S[output decimal ints (-t d4)]' - '-X[output hexadecimal ints (-t x4)]' - ) - ;; - (*) - # POSIX options only - args=( ${(M)args:#(|\*)(|\(*\))-[AjNtvbcdosx]*} ) - ;; - esac -fi - -_arguments -C -s -S : "$args[@]" '*: :_files' && return 0 - -case "$state" in - (format) - compset -P '*[acCSIL1248FDL]' - if compset -P '*[doux]'; then - args=( 'C:char' 'S:short' 'I:int' 'L:long' 1 2 4 8 ) - _describe -t integer-size 'size of integer' args && ret=0 - elif compset -P '*f'; then - args=( 'F:float' 'D:double' 'L:long double' ) - _describe -t float-size 'size of float' args && ret=0 - fi - args=( 'a:named character' 'c:character (C-style escape)' - 'd:decimal' 'o:octal' 'u:unsigned decimal' - 'x:hexadecimal' 'f:floating-point number' ) - _describe -t type-specifier 'type specifier' args && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_okular b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_okular deleted file mode 100644 index f08f81c6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_okular +++ /dev/null @@ -1,10 +0,0 @@ -#compdef okular -local extns - -extns="(pdf|ps|eps|dvi)(|.gz|.bz2)|djvu|tif|tiff|chm|cbr|cbz" - -_arguments \ - '(-p --page)'{-p,--page}'[page of the document to be shown]:page: ' \ - '--presentation[start the document in presentation mode]' \ - '--unique[unique instance control]' \ - "*:okular document:_files -g '*.(#i)($extns)(-.)'" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_oldlist b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_oldlist deleted file mode 100644 index 1cb37602..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_oldlist +++ /dev/null @@ -1,57 +0,0 @@ -#autoload - -[[ _matcher_num -gt 1 || $_lastcomp[nmatches] -eq 0 ]] && return 1 - -local list - -zstyle -s ":completion:${curcontext}:" old-list list - -# If this is a listing widget and there is already an old list, -# and either the style :oldlist:old-list is `always', or it is not `never' -# and the list is not already shown, then use the existing list for listing -# (even if it was generated by another widget). -# Do this also if there is an old list and it was generated by the -# completer named by the oldlist_list key. - -if [[ -n $compstate[old_list] && $list != never && - $LASTWIDGET != _complete_help && $WIDGET != _complete_help ]]; then - if [[ $WIDGETSTYLE = *list* && ( $list = always || $list != shown ) ]]; then - compstate[old_list]=keep - return 0 - elif [[ $list = *${_lastcomp[completer]}* ]]; then - [[ "$_lastcomp[insert]" = unambig* ]] && compstate[to_end]=single - compstate[old_list]=keep - if [[ -o automenu ]]; then - compstate[insert]=menu - else - compadd -Qs "$SUFFIX" - "$PREFIX" - fi - return 0 - fi -fi - -# If this is a completion widget, and we have a completion inserted already, -# and the style :oldlist:old-menu is `true', then we cycle through the -# existing list (even if it was generated by another widget). - -if [[ -z $compstate[old_insert] && -n $compstate[old_list] && - ( $_lastcomp[nmatches] -ne 0 || $WIDGET != $LASTWIDGET ) && - $LASTWIDGET != _complete_help && $WIDGET != _complete_help ]]; then - compstate[old_list]=keep - return 0 -elif [[ $WIDGETSTYLE = *complete(|-prefix|-word) ]] && - zstyle -T ":completion:${curcontext}:" old-menu; then - if [[ -n $compstate[old_insert] ]]; then - compstate[old_list]=keep - if [[ $WIDGETSTYLE = *reverse* ]]; then - compstate[insert]=$(( compstate[old_insert] - 1 )) - else - compstate[insert]=$(( compstate[old_insert] + 1 )) - fi - else - return 1 - fi - return 0 -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_open b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_open deleted file mode 100644 index 2563e5eb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_open +++ /dev/null @@ -1,83 +0,0 @@ -#compdef open - -# Notes: -# - open(1) says that -f opens the result in the default text editor. This is -# not true; the result is always opened in TextEdit unless another option is -# supplied to override it -# - We no longer try to restrict files to those associated with the specified -# app; this was a nice idea, but it's unreliable - -_open_absolute_application_path() { - local expl curcontext - zstyle -T ":completion:${curcontext}:files" prefix-needed && \ - [[ "$PREFIX" != [/~]* && compstate[nmatches] -ne 0 ]] && return 1 - _wanted files expl 'application file' _path_files -P "$PREFIX[1]" -W / -} - -_open() { - local curcontext=$curcontext ret=1 - local -a context expl line state state_descr tmp - local -A opt_args val_args - - # No +, and no -S (--args covers that) - _arguments -s -C : \ - '(-a -b -e -f -R -t)-a+[specify application name]: :->applications' \ - '(: * -)--args[pass remaining arguments to application]:*:::argument' \ - '(-a -b -e -f -R -t)-b+[specify application bundle identifier]: :->bundle-ids' \ - '(-a -b -e -f -R -t)-e[open with TextEdit]' \ - '(-h)-f[open standard input with TextEdit or specified application]' \ - '(-R)-F[open application with fresh state]' \ - '-g[do not bring application to foreground]' \ - '(-f)-h[open library header file]' \ - '(-R)-n[always open new instance of application]' \ - '(-a -b -e -f -F -n -s -t -W --args)-R[reveal in Finder]' \ - '(-R)-s+[specify SDK name/version]: :->sdks' \ - '(-a -b -e -f -R -t)-t[open with default text editor]' \ - '(-R)-W[wait for application to exit]' \ - '(-f)*: :->files' \ - && ret=0 - - case $state in - applications) - _alternative \ - "commands: :_mac_applications" \ - "files:: _open_absolute_application_path" \ - && ret=0 - ;; - bundle-ids) - autoload -Uz zargs - _retrieve_mac_apps - tmp=( ${(@)_mac_apps:#/System/Library/(Private|)Frameworks/*} ) - tmp=( ${(0)"$( - _call_program bundle-ids \ - zargs -n300 -P2 -- ${(@q)tmp} -- mdls -rn kMDItemCFBundleIdentifier - )"} ) - tmp=( ${(@)tmp:#\(null\)} ) - _values 'bundle identifier' $tmp com.apple.TextEdit && ret=0 - ;; - files) - if (( $+opt_args[-h] )); then - tmp=( - /System/Library/Frameworks/*/Headers/*.h(#q-.N:t) - /usr/local/include/**/*.h(#q-.N:t) - /usr/include/**/*.h(#q-.N:t) - ) - _describe -t headers 'header file' tmp && ret=0 - else - _webbrowser && ret=0 - fi - ;; - sdks) - tmp=( /Library/Developer/CommandLineTools/SDKs/*.*.sdk(#qN:t:r) ) - if (( $#tmp )); then - _describe -t sdks 'SDK name/version' tmp && ret=0 - else - _message -e sdks 'SDK name/version' && ret=0 - fi - ;; - esac - - return ret -} - -_open "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_openstack b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_openstack deleted file mode 100644 index d55686b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_openstack +++ /dev/null @@ -1,203 +0,0 @@ -#compdef openstack aodh barbican ceilometer cinder cloudkitty designate freezer glance gnocchi heat ironic keystone magnum manila mistral monasca murano neutron nova sahara senlin tacker trove vitrage watcher zun - -# https://wiki.openstack.org/wiki/OpenStackClients -# http://docs.openstack.org/user-guide/common/cli-install-openstack-command-line-clients.html - -local curcontext="$curcontext" state line expl ret=1 - -local -a clnts_compl_new clnts_compl_old clnts_swift_like - -# -# We support three different client categories: -# 1) Clients with new style complete command where output is like: -# -# cmds='alarm alarm-history capabilities complete help' -# cmds_alarm='create delete list show update' -# cmds_alarm_history='search show' -# cmds_alarm_history_search='-h --help -f --format -c --column --max-width --noindent --quote --query' -# -# 2) Clients with old style bash-completion command which does -# not separate options and commands: -# -# --tenant_id floatingip-delete bgp-peer-delete --default-prefixlen net-create [...] -# -# 3) Swift, slightly different from 2) -# -clnts_compl_new=( aodh barbican designate freezer gnocchi openstack vitrage watcher ) -clnts_compl_old=( ceilometer cinder cloudkitty glance heat ironic keystone magnum manila mistral monasca murano neutron nova sahara senlin tacker trove zun ) -clnts_swift_like=( swift ) - -# Python clients take quite some time to start up and some (openstack(1)) -# even go over the network for completions so we cache things pretty hard -if (( ! $+_cache_openstack_clnt_opts )); then - typeset -gA _cache_openstack_clnt_outputs - typeset -gA _cache_openstack_clnt_opts - typeset -gA _cache_openstack_clnt_cmds - typeset -gA _cache_openstack_clnt_cmds_opts -fi - -local -a conn_opts -local opt arg word -# Only openstack(1) requires parameters to provide completion info -if [[ $service == openstack && -n ${words[(r)--os-*]} ]]; then - if (( ! $+_cache_openstack_conn_opts )); then - _cache_openstack_conn_opts=( ${(M)${=${(f)"$($service help 2>/dev/null)"}}:#--os-*} ) - fi - # --os-tenant-id --os-tenant-name are deprecated but still widely used - for opt in ${=_cache_openstack_conn_opts} --os-tenant-id --os-tenant-name; do - arg= - for word in ${words:1}; do - [[ $word == $opt ]] && arg=$word && break - done - [[ -n $arg && -n ${arg##-*} ]] && conn_opts=( $conn_opts $opt $arg ) - done -fi - -# New style clients -if [[ -n ${clnts_compl_new[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - clnt_outputs is command raw output used later - _cache_openstack_clnt_outputs[$service]=${:-"$($service ${(Q)conn_opts} complete 2>/dev/null)"} - _cache_openstack_clnt_opts[$service]=${${${${(M)${${${${=${(f)"$($service help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.}%--os-} - fi - - # get worlds left of the curser into an array - local -a left_words - left_words=(${=LBUFFER}) - - # if curser is directly at a word (no space at the end), - # exclude the last word to offer right matches - # the last word could be a partial match that is later checked (prefix-needed) - local partial="" - if [[ "${LBUFFER[-1]}" != " " ]]; then - partial=${(@)left_words[-1]} - left_words=(${(@)left_words[1,$#left_words-1]}) - fi - # remove $service - left_words=(${left_words:1}) - - # filter out "help" - if [[ $left_words[1] == help ]]; then - left_words=(${(@)left_words[2,$#left_words]}) - fi - - # filter out options (-*) - left_words=(${left_words//-*}) - - local -a subcmd_array cmds_array cache_key_array cache_values - subcmd_array=() - cmds_array=(cmds) - cache_key_array=(${service}) - cache_values=() - local cache_key cmds - cache_key="" - cmds="" - - # Check for matches one level at a time - # example: "" server create - for word in "" ${(@)left_words}; do # first loop second loop third loop - subcmd_array=(${(@)subcmd_array} ${word}) # () (server) (server create) - cmds_array=(${(@)cmds_array} ${word}) # (cmds) (cmds server) (cmds server create) - cmds=${${(j:_:)cmds_array}/-/_} # cmds cmds_openstack cmds_server_create - cache_key_array=(${(@)cache_key_array} ${word}) # (openstack) (openstack server) (openstack server create) - cache_key=${${(j:_:)cache_key_array}/-/_} # openstack openstack_server openstack_server_create - - # lookup if current word is in cache_values of last elements - if [[ ${cache_values[(wI)${word}]} -gt 0 || $word == "" ]]; then - _cache_openstack_clnt_cmds[${cache_key}]=${${${_cache_openstack_clnt_outputs[${service}]}/* ${cmds}=\'}/\'*} - else - # unknown word: set cache_key to last cache_key and break - cache_key=${${(j:_:)${cache_key_array:0:${#cache_key_array}-1}}/-/_} - break - fi - # set cache_values for next loop - cache_values=${_cache_openstack_clnt_cmds[${cache_key}]} - done - - # Populate the command cache - if [[ -z $_cache_openstack_clnt_cmds[${cache_key}] ]]; then - _message "missing authentication options" - else - # add global options to completion list if current word start with -* - local extra_opts - if [[ $words[CURRENT] == -* ]]; then; - extra_opts=${_cache_openstack_clnt_opts[$service]} - fi - - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed \ - || [[ -n "${partial}" && ${${_cache_openstack_clnt_cmds[${cache_key}]}[(Iw)${partial}*]} -gt 0 || -prefix - ]] } \ - && _values -w option ${(u)=_cache_openstack_clnt_cmds[${cache_key}]} ${(u)=extra_opts} \ - && ret=0 - fi - - -# Old style clients -elif [[ -n ${clnts_compl_old[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - _cache_openstack_clnt_opts[$service]=${${${(M)${${${${=${(f)"$($service help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - _cache_openstack_clnt_cmds[$service]=${${(M)${=${(f)"$($service bash-completion 2>/dev/null)"}}:#[A-Za-z]*}/bash-completion} - fi - local cmd - # Determine the command - for word in ${words:1}; do - local s=${_cache_openstack_clnt_cmds[$service]} - [[ $s[(wI)$word] -gt 0 ]] && cmd=$word && break - done - # Populate command option cache - # Mostly no options for help, prevent consecutive calls with help here - if [[ -n $cmd && $cmd != help && -z $_cache_openstack_clnt_cmds_opts[$service$cmd] ]]; then - _cache_openstack_clnt_cmds_opts[$service$cmd]=${${${(M)${${${${=${(f)"$($service help $cmd 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - fi - # Special treatment for the help command - if [[ $cmd == help ]]; then - if [[ $words[CURRENT-1] == help && $words[CURRENT] != -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - else - _values -w option help && ret=0 - fi - # Client options - elif [[ -z $cmd && $words[CURRENT] == -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_opts[$service]} && ret=0 - # Commands - elif [[ -z $cmd ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - # Command options - else - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ -prefix - ]] } && \ - [[ -n $_cache_openstack_clnt_cmds_opts[$service$cmd] ]] && _values -w option ${(u)=_cache_openstack_clnt_cmds_opts[$service$cmd]//\:/\\\:} && ret=0 - fi - -# Swift like clients -elif [[ -n ${clnts_swift_like[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - clnt_outputs is command raw output used later - _cache_openstack_clnt_outputs[$service]=${(f)"$($service --help 2>/dev/null)"} - _cache_openstack_clnt_opts[$service]=${${${${(M)${${${${=_cache_openstack_clnt_outputs[$service]}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.}/=*} - _cache_openstack_clnt_cmds[$service]=${=${(M)${(M)${(f)_cache_openstack_clnt_outputs[$service]}:# [a-z]*}/ [A-Z]*}} - fi - local cmd - # Determine the command - for word in ${words:1}; do - local s=${_cache_openstack_clnt_cmds[$service]} - [[ $s[(wI)$word] -gt 0 ]] && cmd=$word && break - done - # Populate command option cache - if [[ -n $cmd && -z $_cache_openstack_clnt_cmds_opts[$service$cmd] ]]; then - _cache_openstack_clnt_cmds_opts[$service$cmd]=${${${(M)${${${${=${(f)"$($service $cmd --help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - fi - # Client options - if [[ -z $cmd && $words[CURRENT] == -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_opts[$service]} && ret=0 - # Commands - elif [[ -z $cmd ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - # Command options - else - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ -prefix - ]] } && \ - [[ -n $_cache_openstack_clnt_cmds_opts[$service$cmd] ]] && _values -w option ${(u)=_cache_openstack_clnt_cmds_opts[$service$cmd]//\:/\\\:} && ret=0 - fi - -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opkg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opkg deleted file mode 100644 index ddaefe1e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opkg +++ /dev/null @@ -1,468 +0,0 @@ -#compdef opkg ipkg - -# Notes: -# -# - This function has been designed with opkg in mind, but much of it should -# also work with ipkg. -# -# - Caching doesn't appear to save a HUGE amount of time given the scale of most -# opkg repos (compared to e.g. APT) and the resources available to the devices -# that use them. -# -# - _opkg_pkg_* functions can be called with --update to update their respective -# cache files without actually completing. -# -# - Lots of code redundancy here (@todo). -# -# Notable styles supported: -# -# % zstyle ':completion:*:opkg:*' use-cache <yes/no> -# Set to yes to enable caching of package names. Usually disabled by default. -# -# % zstyle ':completion:*:opkg:*' cache-path <directory> -# Set to a directory path to override the default cache-file directory. -# -# % zstyle ':completion:*:opkg:*' cache-persists <yes/no> -# Set to yes to keep cache data in memory for the remainder of the shell -# session. Most completion functions do this always, but opkg tends to be used -# on fairly resource-constrained devices, so it's disabled by default here. -# -# % zstyle ':completion:*:opkg:*' status-paths <pattern> ... -# Set to one or more paths or glob patterns to override the defaults used when -# checking cache validity. If any of the specified files has been modified -# more recently than the cache, the cache is considered invalid. -# -# % zstyle ':completion:*:opkg:*' conf-paths <pattern> ... -# Set to one or more paths or glob patterns to override the defaults used when -# searching opkg configuration data. -# -# Elevated privileges may be necessary to complete package names, etc.; consider -# setting the gain-privileges style as follows: -# zstyle ':completion:*:(ipkg|opkg)/*' gain-privileges yes - -## -# Check cache validity. -__opkg_cache_policy() { - local -a tmp - - # Always invalidate if it's been over a week - tmp=( $1(#qmw+1N) ) - (( $#tmp )) && return 0 - - zstyle -a ":completion:$curcontext:" status-paths tmp - - if (( $#tmp )); then - tmp=( $~tmp(#qN) ) - else - tmp=( - {/opt,/usr,/var}/lib/{i,o}pkg/status(#q-.N) - {/opt,/usr,/var}/lib/{i,o}pkg/lists/packages(#q-.N) - /opt/var/opkg-lists/packages(#q-.N) - ) - fi - - # Always invalidate if we found no status files - (( $#tmp )) || return 0 - - # Invalidate if any status file is newer than the cache file - for 2 in $tmp; do - [[ $2 -nt $1 ]] && return 0 - done - - return 1 -} - -## -# Search opkg config files. -__opkg_grep_conf() { - local -aU tmp - - zstyle -a ":completion:$curcontext:" conf-paths tmp - - if (( $#tmp )); then - tmp=( $~tmp(#qN) ) - else - tmp=( - {,/opt}/etc/{i,o}pkg*.conf(#q-.N) - {,/opt}/etc/{i,o}pkg/*.conf(#q-.N) - ) - fi - - (( $#tmp )) || return 1 - - GREP_OPTIONS= command grep -sE "$@" $tmp -} - -## -# Complete architecture/priority pair. -# -# Architecture names are essentially arbitrary (up to the packager), so we can't -# really complete every possibility here — but we'll account for most of the -# popular ones. -_opkg_arch_prio() { - local -a copts=( "$@" ) - local -aU tmp - - [[ -prefix *: ]] && { - _message priority - return - } - - # Already configured arches - tmp=( ${(f)"$( _call_program -p architectures $svc print-architecture )"} ) - tmp=( ${${tmp##arch[ ]##}%% *} ) - - tmp+=( - # 'Meta' arches - all any noarch - # Arches supported by entware-ng - armv5soft armv7soft mipselsf x86-32 x86-64 - # Arches mentioned in the optware-ng source - arm armeb fsg3be hpmv2 i686 ixp4xxbe ixp4xxle mssii nslu2 powerpc qemux86 - slugosbe slugosle - # Arches mentioned in the Ångström distribution's narcissus source - a780 ac100 akita am180x-evm am3517-crane am3517-evm am37x-evm archos5 - archos5it arm arm-oabi armeb armv4 armv4b armv4t armv4tb armv5 armv5-vfp - armv5e armv5e-vfp armv5eb armv5t armv5t-vfp armv5te armv5te-vfp armv5teb - armv6 armv6-vfp armv6t-vfp armv7 armv7-vfp armv7a armv7a-vfp armv7a-vfp-neon - armv7at2-vfp armv7at2-vfp-neon armv7t2-vfp at32stk1000 at91sam9263ek - atngw100 avr32 beagleboard beaglebone bug20 c6a816x-evm c6a816x_evm c7x0 - cm-t35 collie da830-omapl137-evm da850-omapl138-evm davinci-dvevm dht-walnut - dm355-evm dm355-leopard dm357-evm dm365-evm dm3730-am3715-evm dm37x-evm - dm6446-evm dm6467-evm dm6467t-evm dns323 eee701 efika h2200 h3900 h4000 - h5000 hawkboard htcalpine hx4700 i386 i486 i586 i686 igep0020 iwmmxt - ixp4xxbe ixp4xxle kuropro lsppchd lsppchg lspro mini2440 mini6410 mips - mv2120 n1200 n2100 neuros-osd2 nokia800 om-gta01 om-gta02 omap3-pandora - omap3-touchbook omap3evm omap4430-panda omap4430_panda omap5912osk omapzoom - omapzoom2 omapzoom36x openrd-base openrd-client overo palmt650 poodle - powerpc ppc ppc405 ppc603e qemuarm qemumips qemuppc qemux86 sheevaplug - simpad smartq5 spitz tosa ts409 tsx09 usrp-e1xx x86 - ) - - _values -O copts -w -S : architecture ${^tmp}:priority -} - -## -# Complete destination name. -_opkg_dest() { - local -a copts=( "$@" ) - local -aU tmp - - tmp=( ${(f)"$( __opkg_grep_conf '^\s*dest\s+\S+\s+\S+' )"} ) - tmp=( ${tmp##[[:space:]]#dest[[:space:]]##} ) - tmp=( ${tmp%%[[:space:]]*} ) - - (( $#tmp )) || { - _message destination - return - } - _values -O copts -w destination $tmp -} - -## -# Complete destination-name/path pair. -_opkg_dest_path() { - local -a copts=( "$@" ) - local -aU tmp - - tmp=( ${(f)"$( __opkg_grep_conf '^\s*dest\s+\S+\s+\S+' )"} ) - tmp=( ${tmp##[[:space:]]#dest[[:space:]]##} ) - tmp=( ${tmp%%[[:space:]]*} ) - - (( $#tmp )) || { - _message destination:path - return - } - _values -O copts -w -S : destination ${^tmp}': :_directories' -} - -## -# Complete any package name. -_opkg_pkg_all() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_all )) || _cache_invalid opkg-pkg-all } && - ! _retrieve_cache opkg-pkg-all && { - _opkg_cache_pkg_all=( ${(f)"$( - _call_program -p pkg-all ${svc:-opkg} list )"} - ) - _opkg_cache_pkg_all=( ${(@)_opkg_cache_pkg_all##[[:space:]]*} ) - _opkg_cache_pkg_all=( ${(@)_opkg_cache_pkg_all%%[[:space:]]*} ) - _store_cache opkg-pkg-all _opkg_cache_pkg_all - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_all )) || { - _message package - return - } - _values -O copts -w package $_opkg_cache_pkg_all -} - -## -# Complete installed package name. -_opkg_pkg_inst() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_inst )) || _cache_invalid opkg-pkg-inst } && - ! _retrieve_cache opkg-pkg-inst && { - _opkg_cache_pkg_inst=( ${(f)"$( - _call_program -p pkg-inst ${svc:-opkg} list-installed - )"} ) - _opkg_cache_pkg_inst=( ${(@)_opkg_cache_pkg_inst##[[:space:]]*} ) - _opkg_cache_pkg_inst=( ${(@)_opkg_cache_pkg_inst%%[[:space:]]*} ) - _store_cache opkg-pkg-inst _opkg_cache_pkg_inst - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_inst )) || { - _message 'installed package' - return - } - _values -O copts -w 'installed package' $_opkg_cache_pkg_inst -} - -## -# Complete new (installable) package name. -_opkg_pkg_new() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_new )) || _cache_invalid opkg-pkg-new } && - ! _retrieve_cache opkg-pkg-new && { - _opkg_pkg_all --update - _opkg_pkg_inst --update - _opkg_cache_pkg_new=( ${_opkg_cache_pkg_all:|_opkg_cache_pkg_inst} ) - _store_cache opkg-pkg-new _opkg_cache_pkg_new - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_new )) || { - _message 'installable package' - return - } - _values -O copts -w 'installable package' $_opkg_cache_pkg_new -} - -## -# Complete upgradeable package name. -_opkg_pkg_upgr() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_upgr )) || _cache_invalid opkg-pkg-upgr } && - ! _retrieve_cache opkg-pkg-upgr && { - _opkg_cache_pkg_upgr=( ${(f)"$( - _call_program -p pkg-upgr ${svc:-opkg} list-upgradable - )"} ) - _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr##[[:space:]]*} ) - _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr%%[[:space:]]*} ) - _store_cache opkg-pkg-upgr _opkg_cache_pkg_upgr - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_upgr )) || { - _message 'upgradable package' - return - } - _values -O copts -w 'upgradable package' $_opkg_cache_pkg_upgr -} - -_opkg() { - local curcontext=$curcontext ret=1 cache_policy help variant svc=$words[1] - local -a line state state_descr args tmp - local -A opt_args val_args - - if - zstyle -t ":completion:*:*:$service:*" cache-persists && - (( ! $+_opkg_cache_pkg_all )) - then - typeset -gaU _opkg_cache_pkg_all - typeset -gaU _opkg_cache_pkg_inst - typeset -gaU _opkg_cache_pkg_new - typeset -gaU _opkg_cache_pkg_upgr - else - local -aU _opkg_cache_pkg_all - local -aU _opkg_cache_pkg_inst - local -aU _opkg_cache_pkg_new - local -aU _opkg_cache_pkg_upgr - fi - - zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy - [[ -n $cache_policy ]] || - zstyle ":completion:*:*:$service:*" cache-policy __opkg_cache_policy - - # Options are ordered by long name. Alternative names not listed in the usage - # help are (mostly) ignored - args=( - '*--add-arch=[register architecture with priority]: :_opkg_arch_prio' - '*--add-dest=[register destination with path]: :_opkg_dest_path' - '--autoremove[remove unnecessary packages]' - '--combine[combine upgrade and install operations]' - '(-f --conf)'{-f+,--conf=}'[specify opkg config file]:config file:_files' - '(-d --dest)'{-d+,--dest=}'[specify root directory for package operations]: :_opkg_dest' - '--download-only[make no changes (download only)]' - '--force-checksum[ignore checksum mismatches]' - '--force-downgrade[allow package downgrades]' - '--force-depends[ignore failed dependencies]' - '(--force-maintainer --ignore-maintainer)--force-maintainer[overwrite local config files with upstream changes]' - '--force-overwrite[overwrite files from other packages]' - '--force-postinstall[always run postinstall scripts]' - '--force-reinstall[reinstall packages]' - # This is obnoxiously long; maybe add --force-removal-* to ignored-patterns - '--force-removal-of-dependent-packages[remove packages and all dependencies]' - '--force-remove[ignore failed prerm scripts]' - '--force-space[disable free-space checks]' - '(--force-maintainer --ignore-maintainer)--ignore-maintainer[ignore upstream changes to config files]' - '(-l --lists-dir)'{-l+,--lists-dir=}'[specify package-list directory]:list directory:_directories' - '(--noaction --test)'{--noaction,--test}'[make no changes (test only)]' - '--nodeps[do not follow dependencies]' - # Undocumented variant - '!(-o --offline --offline-root)--offline=:root directory:_directories' - '(-o --offline --offline-root)'{-o+,--offline-root=}'[specify root directory for offline package operations]:root directory:_directories' - '(-A --query-all)'{-A,--query-all}'[query all packages (not just installed)]' - '--recursive[remove packages and all their dependencies]' - '--size[show package sizes]' - '(-t --tmp-dir)'{-t+,--tmp-dir=}'[specify temp directory]:temp directory:_directories' - '(-V --verbosity)'{-V+,--verbosity=}'[specify output verbosity level]: :->verbosity-levels' - '(: -)'{-v,--version}'[display version information]' - '1: :->commands' - '*::: :->extra' - ) - - # There are a few different variants of opkg, but we'll concern ourselves - # mainly with OpenWRT/Entware vs (up-stream) Yocto - _pick_variant -r variant openwrt=--nocase yocto --help - - if [[ $variant == openwrt ]]; then - args+=( - '--cache=[specify cache directory]:cache directory:_directories' - '--nocase[match patterns case-insensitively]' - ) - else - args+=( - '*--add-exclude=[register package for exclusion]: :_opkg_pkg_all' - '--cache-dir=[specify cache directory]:cache directory:_directories' - '--host-cache-dir[do not place cache in offline root directory]' - '--no-install-recommends[do not install recommended packages]' - '--prefer-arch-to-version[prefer higher architecture priorities to higher versions]' - '--volatile-cache[use volatile download cache]' - ) - fi - - _arguments -s -S -C : $args && ret=0 - - case $state in - commands) - tmp=( - 'compare-versions[compare version numbers]' - 'configure[configure unpacked package]' - 'depends[display dependencies of package]' - 'download[download package]' - 'files[display files belonging to package]' - 'find[search package names and descriptions]' - 'flag[flag package]' - 'info[display package information]' - 'install[install package]' - 'list[display available packages]' - 'list-changed-conffiles[display user-modified config files]' - 'list-installed[display installed packages]' - 'list-upgradable[display upgradable packages]' - 'print-architecture[display installable architectures]' - 'remove[remove package]' - 'search[display packages providing file]' - 'status[display package status]' - 'update[update list of available packages]' - 'upgrade[upgrade installed package]' - 'whatconflicts[display what conflicts with package]' - 'whatdepends[display what depends on package]' - 'whatdependsrec[display what depends on package (recursive)]' - 'whatprovides[display what provides package]' - 'whatrecommends[display what recommends package]' - 'whatreplaces[display what replaces package]' - 'whatsuggests[display what suggests package]' - ) - [[ $variant == openwrt ]] || - tmp+=( 'clean[clean internal cache]' ) - - _values sub-command $tmp && ret=0 - ;; - verbosity-levels) - _values 'verbosity level' \ - '0[show errors only]' \ - '1[show normal messages (default)]' \ - '2[show informational message]' \ - '3[show debug messages (level 1)]' \ - '4[show debug messages (level 2)]' \ - && ret=0 - ;; - extra) - case $line[1] in - compare-versions) - case $CURRENT in - 1|3) _message 'version string' && ret=0 ;; - 2) - _values operator \ - '<<[earlier]' \ - '<=[earlier or equal]' \ - '=[equal]' \ - '>=[later or equal]' \ - '>>[later]' \ - && ret=0 - ;; - esac - ;; - configure|files|list-*|status) - (( CURRENT == 1 )) && _opkg_pkg_inst && ret=0 - ;; - depends|what*) - if [[ -n ${opt_args[(I)-A|--query-all]} ]]; then - _opkg_pkg_all && ret=0 - else - _opkg_pkg_inst && ret=0 - fi - ;; - download) - _opkg_pkg_all && ret=0 - ;; - find|info|list) - (( CURRENT == 1 )) && _opkg_pkg_all && ret=0 - ;; - flag) - if (( CURRENT == 1 )); then - _values flag hold noprune user ok installed unpacked && ret=0 - else - _opkg_pkg_inst && ret=0 - fi - ;; - install) - _opkg_pkg_new && ret=0 - ;; - remove) - _opkg_pkg_inst && ret=0 - ;; - search) - (( CURRENT == 1 )) && _files && ret=0 - ;; - upgrade) - _opkg_pkg_upgr && ret=0 - ;; - esac - ;; - esac - - (( ret && $#state )) && _message 'no more arguments' && ret=0 - return ret -} - -_opkg "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options deleted file mode 100644 index c6cf30d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -# This should be used to complete all option names. - -local expl - -_wanted zsh-options expl 'zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -k - options diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_set b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_set deleted file mode 100644 index ddb57c3e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_set +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -# Complete all set options. This relies on `_main_complete' to store the -# names of the options that were set when it was called in the array -# `_options_set'. - -local expl - -_wanted zsh-options expl 'set zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_set diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_unset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_unset deleted file mode 100644 index 32d58d42..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_options_unset +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -# Complete all unset options. This relies on `_main_complete' to store the -# names of the options that were unset when it was called in the array -# `_options_unset'. - -local expl - -_wanted zsh-options expl 'unset zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_unset diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opustools b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opustools deleted file mode 100644 index 1fd97798..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_opustools +++ /dev/null @@ -1,71 +0,0 @@ -#compdef opusenc opusdec opusinfo - -case $service in - opusenc) - _arguments -S \ - '1:input file:_files -g "*.(#i)(wav|flac|ogg|aif(|f))(-.)"' \ - '2:output file:_files -g "*.(#i)opus(-.)"' \ - '(- 1 *)'{-h,--help}'[show usage information]' \ - '(- 1 *)'{-V,--version}'[show version information]' \ - '(- 1 *)--help-picture[show help on attaching album art]' \ - '--quiet[enable quiet mode]' \ - '--bitrate[set target bitrate per channel]:target bitrate per channel (kbps) (6-256)' \ - '--comp[set encoding complexity]:encoding complexity (1-10) [10]:(1 2 3 4 5 6 7 8 9 10)' \ - '--cvbr[use constrained variable bitrate encoding]' \ - '--downmix-mono[downmix to mono]' \ - '--downmix-stereo[downmix to stereo (if >2 channels)]' \ - '--expect-loss[set expected packet loss]:expected packet loss (%%) (0-100) [0]' \ - '--framesize[set maximum frame size]:maximum frame size (milliseconds) [20]:(2.5 5 10 20 40 60)' \ - '--hard-cbr[use hard constant bitrate encoding]' \ - '--max-delay[set maximum container delay]:maximum container delay (milliseconds) (0-1000) [1000]' \ - '--music[tune low bitrates for music (override automatic detection)]' \ - '--no-phase-inv[disable use of phase inversion for intensity stereo]' \ - '--speech[tune low bitrates for speech (override automatic detection)]' \ - '--vbr[use variable bitrate encoding (default)]' \ - '--album[set album or collection]:album or collection' \ - '--date[set date of track]:date of track (YYYY, YYYY-MM, or YYYY-MM-DD):_dates -f "%F"' \ - '--discard-comments[discard metadata when transcoding]' \ - '--discard-pictures[discard pictures when transcoding]' \ - '--padding[reserve extra bytes for metadata]:padding size (bytes) [512]' \ - '--title[set track title]:track title' \ - '--tracknumber[set track number]:track number' \ - '*--artist[add artist or author]:artist or author' \ - '*--comment[add an extra comment]:comment (tag=val)' \ - '*--genre[add genre]:genre' \ - '*--picture[attach album art]:album art:_files -g "*.(#i)(jp(|e)g|png|gif)(-.)"' \ - '--ignorelength[ignore the data length in RIFF wav headers]' \ - '--raw-bits[set bits per sample for raw input]:bits per sample [16]:(8 16 24)' \ - '--raw-chan[set number of channels for raw input]:number of channels (1-255) [2]' \ - '--raw-endianness[set endianness for raw input]:endianness:(("0"\:"big endian" "1"\:"little endian"))' \ - '--raw-rate[set sampling rate for raw input]:sample rate (Hz) (100-768000) [48000]' \ - '--raw[interpret input as raw PCM data without headers]' \ - '--serial[force use of a specific stream serial number]:stream serial number' \ - '--save-range[save check values for every frame to a file]:output for check values:_files' \ - '--set-ctl-int[pass encoder control]:encoder control' - ;; - opusdec) - _arguments -S \ - '1:input file:_files -g "*.(#i)opus(-.)"' \ - '2::output file:_files -g "*.(#i)wav(-.)"' \ - '(- 1 *)'{-h,--help}'[show usage information]' \ - '(- 1 *)'{-V,--version}'[show version information]' \ - '(- 1 *)--help-picture[show help on attaching album art]' \ - '--quiet[enable quiet mode]' \ - '--rate[force decoding at given sample rate]:sample rate (Hz) (8000-192000)' \ - '--force-stereo[force decoding to stereo]' \ - '--gain[adjust output volume]:gain (dB) (negative is quieter)' \ - '--no-dither[do not dither 16-bit output]' \ - '--float[output 32-bit floating-point samples]' \ - '--force-wav[force RIFF wav header on output]' \ - '--packet-loss[simulate random packet loss]:packet loss probability (%%) (0-100)' \ - '--save-range[save check values for every frame to a file]:output for check values:_files' - ;; - opusinfo) - _arguments -s -S \ - '(- 1 *)-h[show usage information]' \ - '(- 1 *)-V[show version information]' \ - '*-q[make the output quieter]' \ - '*-v[make the output more verbose]' \ - '*:opus file:_files -g "*.(#i)opus(-.)"' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osascript b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osascript deleted file mode 100644 index 5e6cebab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osascript +++ /dev/null @@ -1,34 +0,0 @@ -#compdef osascript - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '-l+[specify script language]: :->languages' \ - '(:)*-e+[execute specified line of script]:script' \ - '-i[run interactively]' \ - '*-s+[specify output style]: :->modifiers' \ - '(-e)1:script file:_files' \ -&& ret=0 - -case $state in - languages) - # So far, the three languages specified here are the only ones supported, - # but adding the output of osalang makes this future-proof - _values 'script language' \ - AppleScript JavaScript 'Generic Scripting System' \ - ${(f)"$( _call_program languages command osalang )"} \ - && ret=0 - ;; - modifiers) - _values -S '' 'output modifier flag' \ - 'h[print values in human-readable form]' \ - 's[print values in recompilable source form]' \ - 'e[print script errors to stderr]' \ - 'o[print script errors to stdout]' \ - && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osc deleted file mode 100644 index 3c479aea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_osc +++ /dev/null @@ -1,149 +0,0 @@ -#compdef osc -# -# Copyright (C) 2009,2010 Holger Macht <holger@homac.de> -# -# This file is released under the GPLv2. -# -# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html -# -# Toggle verbose completions: zstyle ':completion:*:osc:*' verbose no -# zstyle ':completion:*:osc-subcommand:*' verbose no -# -# Use the variables $ZSH_OSC_BUILD_TARGETS_EXTRA and $ZSH_OSC_PROJECTS_EXTRA to -# extend the list of possible completions in your ~/.zshrc like that: -# export OSC_PROJECTS_EXTRA="Base:System Base:shells" -# -# version 0.2 -# - -OSC_BUILD_TARGETS="openSUSE_12.1 openSUSE_12.2 openSUSE_12.3 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP2" -OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:12.3 openSUSE:12.2 openSUSE:12.1" - -# user defined variables $OSC_BUILD_TARGETS_EXTRA and -# $OSC_PROJECTS_EXTRA can add to the project/build target list -OSC_BUILD_TARGETS="$OSC_BUILD_TARGETS $ZSH_OSC_BUILD_TARGETS_EXTRA" -OSC_PROJECTS="$OSC_PROJECTS $ZSH_OSC_PROJECTS_EXTRA" - -# Main dispatcher - -_osc() { - if (( CURRENT > 2 )) && [[ ${words[2]} != "help" ]]; then - # Remember the subcommand name - local cmd=${words[2]} - # Set the context for the subcommand. - curcontext="${curcontext%:*:*}:osc-subcommand" - # Narrow the range of words we are looking at to exclude `osc' - (( CURRENT-- )) - shift words - # Run the completion for the subcommand - if [ "$cmd" = "submitreq" -o "$cmd" = "sr" ]; then - _osc_cmd_submitreq - elif [ "$cmd" = "getbinaries" ]; then - _osc_cmd_getbinaries - elif [ "$cmd" = "checkout" -o "$cmd" = "co" -o "$cmd" = "branch" ]; then - _osc_cmd_checkout - elif [ "$cmd" = "buildlog" -o "$cmd" = "buildinfo" -o "$cmd" = "bl" ]; then - _osc_cmd_buildlog - else - _osc_cmd_do $cmd - fi - else - local hline - local -a cmdlist - local tag=0 - _call_program help-commands osc help | while read -A hline; do - # start parsing with "commands:" - [[ $hline[1] = "commands:" ]] && tag=1 - # stop parsing at the line starting with "For" - [[ $hline[1] = "For" ]] && tag=0 - [[ $tag = 0 ]] && continue - # all commands have to start with lower case letters - [[ $hline[1] =~ ^[A-Z] ]] && continue - (( ${#hline} < 2 )) && continue - - # ${hline[1]%,} truncates the last ',' - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - _describe -t osc-commands 'osc command' cmdlist - fi -} - -_osc_cmd_getbinaries() { - _arguments \ - '1:PROJECT:( `echo $OSC_PROJECTS` )' \ - '2:PACKAGE:(PACKAGE)' \ - '3:REPOSITORY:( `echo $OSC_BUILD_TARGETS` )' \ - '4:ARCHITECTURE:(i586 x86_64)' -} - -_osc_cmd_checkout() { - _arguments \ - '1:PROJECT:( `echo $OSC_PROJECTS` )' \ - '2:PACKAGE:(PACKAGE)' -} - -_osc_cmd_buildlog() { - _arguments \ - '1:REPOSITORY:( `echo $OSC_BUILD_TARGETS` )' \ - '2:ARCHITECTURE:(i586 x86_64)' -} - -_osc_cmd_submitreq() { - local hline - local -a cmdlist - local tag=0 - _call_program help-commands osc help $cmd | while read -A hline; do - # start parsing from "usage:" - [[ $hline[1] = "usage:" ]] && tag=1 - [[ $tag = 0 ]] && continue - - if [[ $hline[1] =~ ^osc ]]; then - shift hline; shift hline - elif ! [[ $hline[1] =~ ^- ]]; then - # Option has to start with a '-' or 'osc submitrequest' - continue - fi - - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - - done - - _describe -t osc-commands 'osc command' cmdlist -} - - -_osc_cmd_do() { - local hline - local -a cmdlist - local tag=0 - - # only start completion if there's some '-' on the line - if ! [ "$words[2]" = "-" ]; then - _complete - return - fi - - _call_program help-commands osc help $cmd | while read -A hline; do - # start parsing from "Options:" - [[ $hline[1] = "Options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # Option has to start with a '-' - [[ $hline[1] =~ ^- ]] || continue - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - - if [ -n "$cmdlist" ]; then - _describe -t osc-commands 'osc command' cmdlist - else - _complete - fi -} - -# Code to make sure _osc is run when we load it -_osc "$@" - - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_other_accounts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_other_accounts deleted file mode 100644 index 0eaac32c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_other_accounts +++ /dev/null @@ -1,3 +0,0 @@ -#compdef talk ntalk ytalk - -_user_at_host -t other-accounts "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_otool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_otool deleted file mode 100644 index c3fc70b9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_otool +++ /dev/null @@ -1,47 +0,0 @@ -#compdef otool llvm-otool -# -local opts args files variant curcontext=$context state state_descr line -typeset -A opt_args - -_arguments \ - '-a[display the archive header]' \ - '-S[display the contents of the __.SYMDEF file]' \ - '-f[display the universal headers]' \ - '-h[display the Mach header]' \ - '-l[display the load commands]' \ - '-L[display names and versions of shared libs that the object file uses]' \ - '-D[display just the internal name of shared lib]' \ - '-s[display the contents of the specified section]:segment name: :section name: ' \ - '-t[display the contents of (__TEXT,__text) section]' \ - '-d[display the contents of (__DATA,__data) section]' \ - '-o[display the contents of __OBJC segment]' \ - '-r[display the relocation entries]' \ - '-c[display the argument strings from a core file]' \ - '-I[display the indirect symbol table]' \ - '-T[display the table of contents for a dynamic shared library]' \ - '-R[display the reference table of a dynamic shared library]' \ - '-M[display the module table of dynamic shared library]' \ - '-H[display the two-level namespace hints table]' \ - '-G[display the data in code table]' \ - '-C[display the linker optimization hints]' \ - '-P[print the info_plist section as strings]' \ - '-p[with -t and -v/V: start disassembly from the specified symbol]:symbol name: ' \ - '-v[display verbosely (symbolically) when possible]' \ - '-V[display disassembled operands symbolically]' \ - "-X[don't print leading addresses/headers with disassembly]" \ - '-q[use the llvm disassembler (default)]' \ - '-mcpu=[use the specified cpu for the llvm disassembler]:target:->targets' \ - '-function_offsets[with disassembly, print decimal offset from the last label]' \ - '-j[with disassembly, print opcode bytes]' \ - "-Q[use otool's disassembler]" \ - '-arch[select the specified architecture from a universal file]:arch:(i386 x86_64)' \ - '-m[object file names are not assumed to be in archive(member) syntax]' \ - '(- *)--version[print version of otool]' \ - '*:file:_object_files' && return 0 - -case $state in - targets) - _values "target architecture" "${(z)${(@)${(f)$(_call_program targets - ${~words[1]} --version 2>/dev/null)##*Registered Targets:}/ -*}}" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pack b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pack deleted file mode 100644 index ccd1db8f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pack +++ /dev/null @@ -1,16 +0,0 @@ -#compdef pack unpack pcat=unpack - -local expl state line - -case $service in - pack) - _arguments -C \ - '-f[force packing even for files which will not benefit]' \ - '-[show statistics for files]' \ - '*:file to compress:_files -g "^*.z(-.)"' - ;; - unpack) - _description files expl 'compressed file' - _files "$expl[@]" -g '*.z(-.)' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pandoc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pandoc deleted file mode 100644 index b0fff80d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pandoc +++ /dev/null @@ -1,276 +0,0 @@ -#compdef pandoc - -# input or output formats with optional extensions -# required option: -T (input|output) -(( $+functions[_pandoc_format] )) || -_pandoc_format() { - local -a inout expl - zparseopts -D -E - T:=inout - local format=${PREFIX%%(+|-)*} - if compset -P '*(+|-)'; then - local pm=${IPREFIX[-1]} # '+' or '-' - local -a extensions=(${${$(pandoc --list-extensions=$format):#$pm*}#(+|-)}) - _wanted extensions expl 'extension' compadd -S '+' -r '-+ ' -a extensions - else - local -a formats=( $(pandoc --list-$inout[2]-formats) ) - _wanted formats expl 'format' compadd -S '+' -r '-+ ' -a formats - fi -} - -# all supported formats -(( $+functions[_pandoc_all_formats] )) || -_pandoc_all_formats(){ - local -a expl - local -aU formats - formats=( $(pandoc --list-input-formats) $(pandoc --list-output-formats) ) - _wanted formats expl 'format' compadd -a formats -} - -# pdf engine choice -(( $+functions[_pandoc_pdf_engine] )) || -_pandoc_pdf_engine(){ - _alternative \ - 'engines:engine:(pdflatex lualatex xelatex latexmk tectonic wkhtmltopdf weasyprint prince context pdfroff)' \ - 'engine-executables:engine executable:_files -g "*(#q*)"' -} - -# options to pass to --pdf-engine command -(( $+functions[_pandoc_pdf_engine_opts] )) || -_pandoc_pdf_engine_opts(){ - local pdf_engine=${opt_args[--pdf-engine]} - case ${pdf_engine} in - "pdflatex"|"lualatex"|"xelatex"|"xetex"|"latex"|"pdftex"|"tex"|"") - _tex - ;; - *) - _message "Options for ${pdf_engine}" - ;; - esac -} - -# data-dir specified by --data-dir option, or the default dir -_pandoc_default_dir() { - if (( $+opt_args[--data-dir] )); then - echo ${opt_args[--data-dir]:a} - else - # XXX Some versions of pandoc may output two user data directories: - # ~/.local/share/pandoc or ~/.pandoc - # Here we use only the first one. - pandoc --version | sed -ne 's/.*[Uu]ser data directory: \([^ ]*\).*/\1/p' - fi -} - -# template file in $PWD or data-dir/templates/, or URL -(( $+functions[_pandoc_template] )) || -_pandoc_template(){ - # find output format from '-t format' or '-o xxx.format' - local format=${${(v)opt_args[(i)(-t|--to|-w|--write)]}%%(+|-)*} - [[ -z $format ]] && format=${(v)opt_args[(i)(-o|--output)]:e} - local pat="'*'" # or '*.*' ? - [[ -n $format ]] && pat="'*.$format(-.)'" - local template_dir=$(_pandoc_default_dir)/templates - _alternative \ - "local-templates:local template:_files -g $pat" \ - "data-dir-templates:template in data-dir:_files -W $template_dir -g $pat" \ - 'urls: :_urls' -} - -# choose highlight-style -(( $+functions[_pandoc_highlight_style] )) || -_pandoc_highlight_style(){ - _alternative \ - 'styles:style:( $(pandoc --list-highlight-styles) )' \ - 'style-files:style file:_files -g "*.theme(-.)"' -} - -# filter file in $PWD, data-dir/filters/ or $PATH -(( $+functions[_pandoc_filter] )) || -_pandoc_filter(){ - local filters_dir=$(_pandoc_default_dir)/filters - _alternative \ - 'local-filters:local filter:_files' \ - 'data-dir-filters:filter in data-dir:_files -W filters_dir' \ - 'commands: : _command_names -e' -} - -# lua filter in $PWD or data-dir/filters/ -(( $+functions[_pandoc_lua_filter] )) || -_pandoc_lua_filter(){ - local filters_dir=$(_pandoc_default_dir)/filters - _alternative \ - 'local-filters:local filter:_files -g "*.lua(-.)"' \ - 'data-dir-filters:filter in data-dir:_files -W filters_dir -g "*.lua(-.)"' -} - -# default file in $PWD or data-dir/defaults/ -(( $+functions[_pandoc_defaults_file] )) || -_pandoc_defaults_file() { - local defaults_dir=$(_pandoc_default_dir)/defaults - _alternative \ - 'local-defaults:default file:_files -g "*.yaml(-.)"' \ - 'data-dir-defaults:default in data-dir:_files -W defaults_dir -g "*.yaml(-.)"' -} - -# choose reference location -(( $+functions[_pandoc_reference_location] )) || -_pandoc_reference_location(){ - local -a policies - policies=( - 'block:place references at the end of the current (top-level) block' - 'section:place references at the end of the current (top-level) section' - 'document:place references at the end of the document' - ) - _describe 'location' policies -} - -# choose top level division -(( $+functions[_pandoc_top_level_division] )) || -_pandoc_top_level_division(){ - _values 'top level division' default section chapter part -} - -# choose email obfusication -(( $+functions[_pandoc_email_obfusication] )) || -_pandoc_email_obfusication(){ - local -a policies - policies=( - 'none:leave mailto: links as they are' - 'javascript:obfuscates them using JavaScript' - 'references:obfuscates them by printing their letters as decimal or hexadecimal character references' - ) - _describe 'obfuscation policy [none]' policies -} - -# choose wrapping policy -(( $+functions[_pandoc_wrap] )) || -_pandoc_wrap() { - local -a policies - policies=( - 'auto:wrap lines to the column width specified by --columns (default 72)' - "none:don't wrap lines at all" - 'preserve:attempt to preserve the wrapping from the source document' - ) - _describe 'policy [auto]' policies -} - -# choose eol policy -(( $+functions[_pandoc_eol] )) || -_pandoc_eol() { - local -a policies - policies=( - 'native:line endings appropriate to the OS on which pandoc is being run' - 'crlf:windows' - 'lf:macOS/Linux/UNIX' - ) - _describe 'policy' policies -} - -# choose changes tracking policy -(( $+functions[_pandoc_track_changes] )) || -_pandoc_track_changes() { - local -a policies - policies=( - 'accept:insert all insertions, and ignore all deletions' - 'reject:inserts all deletions and ignores insertions' - 'all:puts in insertions, deletions, and comments, wrapped in spans with insertion, deletion, comment-start, and comment-end classes, respectively' - ) - _describe 'policy [accept]' policies -} - -# The real thing -_arguments -s \ - {-f+,-r+,--from=,--read=}'[specify input format]: :_pandoc_format -T input' \ - {-t+,-w+,--to=,--write=}'[specify output format]: :_pandoc_format -T output' \ - {-o+,--output=}'[write output to FILE instead of stdout]:file:_files' \ - '--data-dir=[specify the user data directory to search for pandoc data files]:data directory:_files -/' \ - {-d+,--defaults=}'[read default from YAML file]: :_pandoc_defaults_file' \ - '--shift-heading-level-by=[shift heading levels by specified number]:positive or negative integer: ' \ - '!--base-header-level=:number [1]:(1 2 3 4 5)' \ - '!--strip-empty-paragraphs[deprecated. Use the +empty_paragraphs extension instead]' \ - '--indented-code-classes=[classes to use for indented code blocks]:class list (comma-separated)' \ - '--default-image-extension=[specify a default extension to use when image paths/URLs have no extension]:extension: ' \ - '--file-scope[parse each file individually before combining for multifile documents]' \ - {\*-F+,\*--filter=}'[specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written]: :_pandoc_filter' \ - {\*-L+,\*--lua-filter=}"[transform the document by using pandoc's built-in lua filtering system]: :_pandoc_lua_filter" \ - {\*-M+,\*--metadata=}'[set the metadata field KEY to the value VALUE]:key\:value: ' \ - '*--metadata-file=[read metadata from file]:YAML or JSON file:_files' \ - {-p,--preserve-tabs}'[preserve tabs instead of converting them to spaces]' \ - '--tab-stop=[specify the number of spaces per tab]:spaces [4]' \ - '--track-changes=[specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature]: :_pandoc_track_changes' \ - '--extract-media=[extract media in source document to specified directory]:directory:_files -/' \ - '--abbreviations=[specifies a custom abbreviations file]:file:_files ' \ - {-s,--standalone}'[produce output with an appropriate header and footer]' \ - '--template=[use FILE as a custom template for the generated document. Implies --standalone]: :_pandoc_template' \ - {\*-V+,\*--variable=}'[set the variable KEY to the value VALUE]:key\:value: ' \ - '(- :)'{-D+,--print-default-template=}'[print the system default template for an output]:format:( $(pandoc --list-output-formats) )' \ - '(- :)--print-default-data-file=[print a system default data file]:file: ' \ - '--eol=[manually specify line endings (crlf|lf|native)]: :_pandoc_eol' \ - '--dpi=[specify the dpi (dots per inch) value for conversion from pixels to inch/centimeters and vice versa]:number: ' \ - '--wrap=[determine how text is wrapped in the output (the source code, not the rendered version)]: :_pandoc_wrap ' \ - '--columns=[specify length of lines in characters]:length [72]' \ - {--toc,--table-of-contents}'[include an automatically generated table of contents]' \ - '--toc-depth=[specify the number of section levels to include in the table of contents]:number' \ - '--strip-comments[strip out HTML comments in the Markdown or Textile source]' \ - '--no-highlight[disables syntax highlighting for code blocks and inlines]' \ - '--highlight-style=[specifies the coloring style to be used in highlighted source code]:style|file:_pandoc_highlight_style' \ - '(- :)--print-highlight-style=[prints a JSON version of a highlighting style]: :_pandoc_highlight_style' \ - '--syntax-definition=[load a KDE XML syntax definition file]:file:_files -g "*.xml(-.)"' \ - {\*-H+,\*--include-in-header=}'[include contents of FILE, verbatim, at the end of the header, implies --standalone]:file:_files' \ - {\*-B+,\*--include-before-body=}'[include contents of FILE, verbatim, at the beginning of the document body, implies --standalone]:file:_files' \ - {\*-A+,\*--include-end-body=}'[include contents of FILE, verbatim, at the end of the document body, implies --standalone]:file:_files' \ - '--resource-path=[list of paths to search for images and other resources]:searchpath:_dir_list' \ - '--request-header=[set the request header NAME to the value VAL when making HTTP requests]:name\:val: ' \ - '--no-check-certificate[disable the certificate verification]' \ - '--self-contained[produce a standalone HTML file with no external dependencies, using data: URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. Implies --standalone]' \ - '--html-q-tags[use <q> tags for quotes in HTML]' \ - '--ascii[use only ASCII characters in output, supported only for HTML and DocBook output]' \ - '--reference-links[use reference-style links, rather than inline links]' \ - '--reference-location=[specify where footnotes (and references, if reference-links is set) are placed (block|section|document)]: :_pandoc_reference_location' \ - '--markdown-headings[specify style for level1 and 2 headings in markdown output]:style [atx]:(setext atx)' \ - '!--atx-headers[use ATX-style headers in Markdown and AsciiDoc output]' \ - '--top-level-division=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output]: :_pandoc_top_level_division' \ - {-N,--number-sections}'[number section headings in LaTeX, ConTeXt, HTML, or EPUB output]' \ - '--number-offset=[offset for section headings in HTML output (ignored in other output formats)]:number[number,...] [0]' \ - '--listings[use the listings package for LaTeX code blocks]' \ - {-i,--incremental}'[make list items in slide shows display incrementally (one by one)]' \ - '--slide-level=[specifies that headers with the specified level create slides (for beamer, s5, slidy, slideous, dzslides)]:slide level:(1 2 3 4 5 6)' \ - '--section-divs[wrap sections in <section> tags (or <div> tags for html4)Use the section-divs package for LaTeX code blocks]' \ - '--email-obfusication=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output (none|javascript|references)]: :_pandoc_email_obfusication' \ - '--id-prefix=[specify a prefix to be added to all identifiers and internal links in HTML and DocBook output]:string: ' \ - {-T+,--title-prefix=}'[specify STRING as a prefix at the beginning of the title that appears in the HTML header]:string: ' \ - {\*-c+,\*--css=}'[link to a CSS style sheet]: :_urls' \ - '--reference-doc=[use the specified file as a style reference in producing a docx or ODT file]:file: ' \ - '--epub-subdirectory=[specify the subdirectory in the OCF container that is to hold the EPUB-specific contents]:directory:_files -/' \ - '--epub-cover-image=[use the specified image as the EPUB cover]:file:_files' \ - '--epub-metadata=[look in the specified XML file for metadata for the EPUB]:file:_files -g "*.xml(-.)"' \ - '*--epub-embed-font=[embed the specified font in the EPUB]:file:_files ' \ - '--epub-chapter-level=[specify the header level at which to split the EPUB into separate "chapter" files]:number:(1 2 3 4 5 6)' \ - '--ipynb-output=[specify how to tread ipynb output cells]:method:(all none best)' \ - '--pdf-engine=[use the specified engine when producing PDF output]:program:_pandoc_pdf_engine' \ - '*--pdf-engine-opt=[use the given string as a command-line argument to the pdf-engine]:string:_pandoc_pdf_engine_opts' \ - "*--bibliography=[set the bibliography field in the document's metadata to specified file]:file:_files -g '*.(bib|bibtex|copac|json|yaml|enl|xml|wos|medline|mods|ris)(-.)'" \ - "--csl=[set the csl field in the document's metadata to specified file]:file:_files -g '*.csl(-.)'" \ - '--citation-abbreviations=[set the citation-abbreviations field in the document'"'"'s metadata to FILE]:file:_files' \ - '--natbib[use natbib for citations in LaTeX output]' \ - '--biblatex[use biblatex for citations in LaTeX output]' \ - '--mathml[convert TeX math to MathML (in epub3, docbook4, docbook5, jats, html4 and html5)]' \ - '--webtex=[convert TeX formulas to <img> tags that link to an external script that converts formulas to images]:: :_urls' \ - '--mathjax=[use MathJax to display embedded TeX math in HTML output]:: :_urls' \ - '--katex=[use KaTeX to display embedded TeX math in HTML output]:: :_urls' \ - '--gladtex[Enclose TeX math in <eq> tags in HTML output]' \ - '--trace[enable tracing]' \ - '--dump-args[print information about command-line arguments to stdout, then exit]' \ - '--ignore-args[ignore command-line arguments (for use in wrapper scripts)]' \ - '--verbose[give verbose debugging output]' \ - '--quiet[suppress warning messages]' \ - '--fail-if-warnings[exit with error status if there are any warnings]' \ - '--log=[write log messages in machine-readable JSON format to FILE]:file:_files' \ - '(- :)--bash-completion[generate a bash completion script]' \ - '(- :)--list-input-formats[list supported input formats, one per line]' \ - '(- :)--list-output-formats[list supported output formats, one per line]' \ - '(- :)--list-extensions=[list supported extensions, one per line, preceded by a + or - indicating whether it is enabled by default in FORMAT]:format:_pandoc_all_formats' \ - '(- :)--list-highlight-languages[list supported languages for syntax highlighting, one per line]' \ - '(- :)--list-highlight-styles[list supported styles for syntax highlighting, one per line]' \ - '(- :)'{-v,--version}'[print version]' \ - '(- :)'{-h,--help}'[print help]' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameter b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameter deleted file mode 100644 index 7e778853..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameter +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -parameter- - -_parameters -e diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameters b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameters deleted file mode 100644 index b5da45c5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_parameters +++ /dev/null @@ -1,59 +0,0 @@ -#autoload - -# This should be used to complete parameter names if you need some of the -# extra options of compadd. It completes only non-local parameters. - -# If you specify a -g option with a pattern, the pattern will be used to -# restrict the type of parameters matched. - -if compset -P '*:'; then - _history_modifiers p - return -fi - -local i pfilt -local -i nm=$compstate[nmatches] -local -a expl pattern=( -g \* ) normal described verbose faked fakes tmp - -zstyle -t ":completion:${curcontext}:parameters" prefix-needed && - [[ $PREFIX != [_.]* ]] && - pfilt='[^_.]' -_description parameters expl parameter -zparseopts -D -K -E g:=pattern - -if zstyle -t ":completion:${curcontext}:parameters" extra-verbose; then - described=( - "${(@M)${(@k)parameters[(R)$~pattern[2]~*(hideval|local|special)*]}:#$~pfilt*}" - ) - compadd "$@" "$expl[@]" -D described -a - described - if (( $#described )); then - # Normally, calling typeset without flags would print the values of its - # arguments. However, inside a function, it instead declare its arguments - # as local variables and outputs nothing. Thus, to force it print out - # parameter values, we pass it the -m flag. - verbose=( - ${${${(f@)"$( typeset -m ${(@b)described} )"}/=/:}[@]//'\'/'\\'} - ) - _describe -t parameters parameter verbose "$@" "$expl[@]" - fi - - normal=( - "${(@M)${(@k)parameters[(R)$~pattern[2]~^(*(hideval|special)*)~*local*]}:#$~pfilt*}" - ) -else - normal=( "${(@M)${(@k)parameters[(R)$~pattern[2]~*local*]}:#$~pfilt*}" ) -fi - -if zstyle -a ":completion:${curcontext}:" fake-parameters tmp; then - for i in "$tmp[@]"; do - if [[ "$i" = *:* ]]; then - faked=( "$faked[@]" "$i" ) - else - fakes=( "$fakes[@]" "$i" ) - fi - done -fi -compadd "$@" "$expl[@]" - "$normal[@]" "${(@)fakes:|described}" \ - "${(@)${(@)${(@M)faked:#${~pattern[2]}}%%:*}:|described}" - -(( compstate[nmatches] > nm )) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_paste b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_paste deleted file mode 100644 index d9598bfe..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_paste +++ /dev/null @@ -1,19 +0,0 @@ -#compdef paste gpaste - -local -a args -local dopt='[specify delimiter list]:delimiter list [tab]' -local sopt='[paste one file at a time instead of in parallel]' - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter instead of newline]' - "(-d)--delimiters=$dopt" - "(-s)--serial$sopt" - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) -else - args=( -A "-?*" ) -fi - -_arguments -s $args "(--delimiters)-d+$dopt" "(--serial)-s$sopt" '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patch deleted file mode 100644 index c2725d46..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patch +++ /dev/null @@ -1,133 +0,0 @@ -#compdef patch gpatch - -if (( ! $+_patch_args )); then - local help="$(LC_ALL=C $words[1] --help 2>&1)" - local -A optionmap - local arg - local comp_p='compadd "$expl[@]" -S0 -r "1-9" - ""' - - [[ "$help" = *--[^h]* || "$help" = *\[-c\|-e\|-n\]* ]] && arg=+ - - optionmap=( - '*( -p NUM[, ]|\[-p (num|strip-count)\])*' '(--strip)-p+[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - '*\[--strip\[=strip-count\]\]*' '(-p)--strip=-[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - '* --strip=NUM[, ]*' '(-p)--strip=[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - - '*\[-Fmax-fuzz\]*' '(--fuzz)-F-[specify the maximum fuzz factor]:maximum fuzz factor:' - '*(\[-F max-fuzz\]| -F LINES[, ])*' '(--fuzz)-F+[specify the maximum fuzz factor]:maximum fuzz factor:' - '*(\[--fuzz=max-fuzz\]| --fuzz( |=)LINES[, ])*' '(-F)--fuzz=[specify the maximum fuzz factor]:maximum fuzz factor:' - - '*(\[-[a-zA-Z]#l[a-zA-Z]#\]| -l[, ])*' '(--ignore-whitespace)-l[ignore white space changes]' - '*(\[--ignore-whitespace\]| --ignore-whitespace[, ])*' '(-l)--ignore-whitespace[ignore white space changes]' - - '*(\[-[a-zA-Z]#c[a-zA-Z]#\]| -c[, ]|\[-c\|)*' '( -e -n -u --context --ed --normal --unified)-c[interpret context diff]' - '*(\[-[a-zA-Z]#e[a-zA-Z]#\]| -e[, ]|\|-e\|)*' '(-c -n -u --context --ed --normal --unified)-e[interpret ed script]' - '*(\[-[a-zA-Z]#n[a-zA-Z]#\]| -n[, ]|\|-n\])*' '(-c -e -u --context --ed --normal --unified)-n[interpret normal diff]' - '*(\[-[a-zA-Z]#u[a-zA-Z]#\]| -u[, ])*' '(-c -e -n --context --ed --normal --unified)-u[interpret unified diff]' - '*(\[--context\]| --context[, ])*' '(-c -e -n -u --ed --normal --unified)--context[interpret context diff]' - '*(\[--ed\]| --ed[, ])*' '(-c -e -n -u --context --normal --unified)--ed[interpret ed script]' - '*(\[--normal\]| --normal[, ])*' '(-c -e -n -u --context --ed --unified)--normal[interpret normal diff]' - '*(\[--unified\]| --unified[, ])*' '(-c -e -n -u --context --ed --normal )--unified[interpret unified diff]' - - '*(\[-[a-zA-Z]#N[a-zA-Z]#\]| -N[, ])*' '(--forward)-N[ignore reverse patches]' - '*(\[--forward\]| --forward[, ])*' '(-N)--forward[ignore reverse patches]' - '*(\[-[a-zA-Z]#R[a-zA-Z]#\]| -R[, ])*' '(--reverse)-R[reverse mode]' - '*(\[--reverse\]| --reverse[, ])*' '(-R)--reverse[reverse mode]' - - '*(\[-i patchfile\]| -i PATCHFILE[, ])*' '*-i+[specify input patch file]:patch file:_files' - '* --input=PATCHFILE[, ]*' '*--input=[specify input patch file]:patch file:_files' - - '*(\[-o out-file\]| -o FILE[, ]|\[-o outfile\])*' "(--output)-o${arg}[output file]:output file:_files" - '*(\[--output=out-file\]| --output=FILE[, ])*' '(-o)--output=[output file]:output file:_files' - '*(\[-r rej-name\]| -r FILE[, ]|\[-r rejectfile\])*' "(--reject-file)-r${arg}[reject file]:reject file:_files" - '*(\[--reject-file=rej-name\]| --reject-file=FILE[, ])*' '(-r)--reject-file=[reject file]:reject file:_files' - - '*(\[-D symbol\]| -D NAME[, ]|\[-D define\])*' '(--ifdef)-D+[cpp symbol]:symbol:' - '*(\[--ifdef=symbol\]| --ifdef=NAME[, ])*' '(-D)--ifdef=[cpp symbol]:symbol:' - - '* --merge*' '(--reject-file --reject-format -r)--merge[merge using conflict markers instead of creating reject files]' - - '*(\[-[a-zA-Z]#E[a-zA-Z]#\]| -E[, ])*' '(--remove-empty-files)-E[remove empty files]' - '*(\[--remove-empty-files\]| --remove-empty-files[, ])*' '(-E)--remove-empty-files[remove empty files]' - - '* -Z[, ]*' '( -T --set-utc --set-time)-Z[assume timestamp as UTC]' - '* -T[, ]*' '(-Z --set-utc --set-time)-T[assume timestamp as local time]' - '* --set-utc[, ]*' '(-Z -T --set-time)--set-utc[assume timestamp as UTC]' - '* --set-time[, ]*' '(-Z -T --set-utc )--set-time[assume timestamp as local time]' - - '* --quoting-style=WORD[, ]*' '--quoting-style=[quoting style]:quoting style:(literal shell shell-always c escape)' - - '*(\[-[a-zA-Z]#b[a-zA-Z]#\]| -b[, ])*' '(--backup)-b[backup original]' - '* --backup[, ]*' '(-b)--backup[backup original]' - '* --backup-if-mismatch[, ]*' '(--no-backup-if-mismatch)--backup-if-mismatch[back up if not match exactly]' - '* --no-backup-if-mismatch[, ]*' '(--backup-if-mismatch)--no-backup-if-mismatch[back up only if otherwise requested]' - - '*(\[-V {numbered,existing,simple}\]| -V STYLE[, ])*' "(--version-control)-V${arg}[backup method]:backup method:(numbered existing simple)" - '*\[-V t \| nil \| never\]*' '(-B)-V+[specify backup method]:backup method:((t\:numbered nil\:existing never\:simple))' - '*(\[--version-control={numbered,existing,simple}\]| --version-control=STYLE[, ])*' '(-V)--version-control=[backup method]:backup method:(numbered existing simple)' - - '*(\[-B backup-prefix\]| -B PREFIX[, ])*' "(--prefix)-B${arg}[specify backup prefix]:backup prefix:" - '*(\[--prefix=backup-prefix\]| --prefix=PREFIX[, ])*' '(-B)--prefix=[specify backup prefix]:backup prefix:' - '* -Y PREFIX[, ]*' '(--basename-prefix)-Y+[specify backup basename prefix]:backup basename prefix:' - '* --basename-prefix=PREFIX[, ]*' '(-Y)--basename-prefix=[specify backup basename prefix]:backup basename prefix:' - '*\[-b backup-ext\]*' "( -z --suffix)-b${arg}[specify backup suffix]:backup suffix:(.bak)" - '*\[-z backup-ext\]*' '(--suffix)-z+[specify backup suffix]:backup suffix [.orig]:(.bak)' - '* -z SUFFIX[, ]*' '(-b --suffix)-z+[specify backup suffix]:backup suffix:(.bak)' - '*(\[--suffix=backup-ext\]| --suffix=SUFFIX[, ])*' '(-b -z )--suffix=[specify backup suffix]:backup suffix:(.bak)' - - '* -g NUM[, ]*' '(--get)-g+[get from RCS etc.]:number:((1\:get -1\:ask))' - '* --get=NUM[, ]*' '(-g)--get=[get from RCS etc.]:number:((1\:get -1\:ask))' - - '* -g --get *' '(-G --get --no-get)-g[get from RCS or SCCS] -(-g -G --no-get)--get[get from RCS or SCCS]' - '* -G --no-get *' '(-g --get --no-get)-G[don'\''t get from RCS or SCCS] -(-g -G --get)--no-get[don'\''t get from RCS or SCCS]' - - '*(\[-[a-zA-Z]#f[a-zA-Z]#\]| -f[, ])*' '( -t --force --batch)-f[force mode]' - '*(\[-[a-zA-Z]#t[a-zA-Z]#\]| -t[, ])*' '(-f --force --batch)-t[batch mode]' - '*(\[--force\]| --force[, ])*' '(-f -t --batch)--force[force mode]' - '*(\[--batch\]| --batch[, ])*' '(-f -t --force )--batch[batch mode]' - - '*(\[-[a-zA-Z]#s[a-zA-Z]#\]| -s[, ])*' '( --quiet --silent)-s[silent mode]' - '*(\[--quiet\]| --quiet[, ])*' '(-s --silent)--quiet[silent mode]' - '*(\[--silent\]|--silent[, ])*' '(-s --quiet )--silent[silent mode]' - - '* --verbose[, ]*' '--verbose[verbose mode]' - - '*(\[-[a-zA-Z]#C[a-zA-Z]#\])*' '(--check)-C[only check that the patch would apply cleanly]' - '*\[--check\]*' '(-C)--check[only check that the patch would apply cleanly]' - '* --dry-run[, ]*' '--dry-run[only check that the patch would apply cleanly]' - - '*--posix*' '--posix[POSIX mode]' - - '*(\[-d directory\]| -d DIR[, ]|\[-d dir\])*' '(--directory)-d+[change the working directory]:chdir to:_files -/' - '*(\[--directory=directory\]| --directory=DIR[, ])*' '(-d)--directory=[change the working directory]:chdir to:_files -/' - - '* --reject-format=*' '--reject-format=[specify format of rejects]:format:(context unified)' - '* --read-only=*' '--read-only=[specify how to handle read-only input files]:behaviour [warn]: (ignore warn fail)' - - '* --binary[, ]*' '--binary[binary mode]' - - '*(\[-[a-zA-Z]#v[a-zA-Z]#\]| -v[, ])*' '(-)-v[print version]' - '*(\[--version\]| --version[, ])*' '(-)--version[print version]' - '* --help[, ]*' '(-)--help[print help message]' - - '*\[-[a-zA-Z]#S[a-zA-Z]#\]*' '*-S[ignore this patch]' - '*\[--skip\]*' '*--skip[ignore this patch]' - - '*\[--index-first\]*' '--index-first[take Index: line precedence]' - - '* --use-index-line *' '--use-index-line[deal with Index: line]' - '* --patch-root=DIR *' '--patch-root=[restrict paths]:patch root:_files -/' - - '* -U *' '(--unified-reject-files)-U[create unified reject files]' - '* --unified-reject-files *' '(-U)--unified-reject-files[create unified reject files]' - '* --global-reject-file=file *' '--global-reject-file=[put all rejects into one file]:file:_files' - ) - _patch_args=( - ${arg:+"-s"} - ${(fF)optionmap[(K)"$help"]} - ) -fi - -_arguments "${(@)_patch_args}" ':original file:_files' ':patch file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patchutils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patchutils deleted file mode 100644 index a5f6441b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_patchutils +++ /dev/null @@ -1,107 +0,0 @@ -#compdef combinediff interdiff filterdiff flipdiff grepdiff lsdiff splitdiff unwrapdiff - -local args -args=( - '(-)--help[display help information]' - '(-)--version[display version information]' -) - -case $service in - (inter|combine|filter|flip|ls|grep)diff) - args+=( - '(-p --strip-match=)'{-p,--strip-match=}'[specify number of path prefix components to strip]:number of path prefix components to strip' - '(-z --decompress)'{-z,--decompress}'[decompress .gz and .bz2 files]' - ) - ;| - interdiff|combinediff|flipdiff) - args+=( - '(-q --quiet)'{-q,--quiet}'[quieter output]' - '(-U --unified)'{-U,--unified=}'[specify lines of context to include]:lines of context' - \*{-d,--drop-context=}"[don't include context on files matching pattern]:pattern:_files" - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all whitespace changes in patches]' - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case differences]' - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of whitespace]' - '!(--in-place)--interpolate' '!-h' - '!(--no-revert-omitted --in-place)--combinediff' - '!(--no-revert-omitted)--flip' - '1:diff 1:_files' '2:diff 2:_files' - ) - ;| - interdiff) - args+=( - "--no-revert-omitted[don't revert files changed in only the first patch]" - ) - ;; - flipdiff) args+=( '--in-place[write output to original input files]' ) ;; - filterdiff|grepdiff|lsdiff) - args+=( - '(-i --include)'{-i,--include}'[include only files matching pattern]:pattern:_files' - '(-x --exclude)'{-x,--exclude}'[exclude files matching pattern]:pattern:_files' - '(-# --hunks)'{-#+,--hunks=}'[only list hunks within specified range]:range' - '--lines=[only list hunks containing lines within specified range]:range' - '(-F --files)'{-F+,--files=}'[only list files within specified range]:range' - '--strip=[remove specified number of pathname components before displaying]:components' - '--addprefix=[insert specified path prefix before displaying path names]:prefix:_directories' - '*:diff file:_files' - ) - ;| - grepdiff|lsdiff) - args+=( - '(-n --line-number)'{-n,--line-number}'[show line number at which each patch begins]' - '(-N --number-files)'{-N,--number-files}'[show file number before each filename]' - '(-s --status)'{-s,--status}'[mark added, modified and removed files]' - ) - ;| - lsdiff) - args+=( - '(-E --empty-files-as-removed)'{-E,--empty-files-as-removed}'[treat empty files as absent]' - \*{-v,--verbose}'[verbose operation]' - '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print the name of the patch file containing each patch]' - '!--filter' '!--grep' - ) - ;; - grepdiff|filterdiff) - args+=( - '(-I --include-from-file)'{-I+,--include-from-file=}'[include only files matching pattern listed in specified file]:file:_files' - '--annotate[annotate each hunk with the filename and hunk number]' - '--format=[use specified output format]:format:(unified context)' - '--addnewprefix=[insert specified path prefix before new file path names]:prefix:_directories' - '--addoldprefix=[insert specified path prefix before original file path names]:prefix:_directories' - '--as-numbered-lines=[display lines of selected hunks]:line numbers:(before after)' - "--remove-timestamps[don't include timestamps in output]" - ) - ;| - filterdiff) - args+=( - '(-X --exclude-from-file)'{-X+,--exclude-from-file=}'[exclude files matching any pattern listed in specified file]:file:_files' - '(-v --verbose --clean)'{-v,--verbose}'[always show non-diff lines in output]' - '(-v --verbose)--clean[always remove all non-diff lines from output]' - ) - ;; - grepdiff) - args+=( - '(-E --extended-regexp)'{-E,--extended-regexp}'[use extended regular expressions]' - '(-H --with-filename -h --no-filename)'{-h,--no-filename}"[don't print the name of the patch file containing each patch]" - '(-f --file)'{-f+,--file=}'[read regular expressions from file]:file:_files' - '--output-matching=[display the matching hunk- or file-level diffs]:level:(hunk file)' - '--only-match=[restrict regex to matching removals, additions or modifications]:limit:(rem removals add additions mod modifications all)' - ) - ;; - splitdiff) - args+=( - '-a[split every single file level patch]' - '-d[create file names such as a_b.c.patch for a patch that modifies a/b.c]' - '-D[write output files into specified directory]:_directories' - '-p[specify number of path prefix components to strip]:number of path prefix components to strip' - "-E[don't use .patch filename extension when writing output files]" - '1:diff file:_files' - ) - ;; - unwrapdiff) - args+=( '-v[verbose operation]' '*:diff file:_files' ) - ;; -esac - -_arguments -s $args - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_commands b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_commands deleted file mode 100644 index 4d5a6c5a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_commands +++ /dev/null @@ -1,105 +0,0 @@ -#autoload - -(( $+functions[_path_commands_caching_policy] )) || -_path_commands_caching_policy() { - -local file -local -a oldp dbfiles - -# rebuild if cache is more than a week old -oldp=( "$1"(Nmw+1) ) -(( $#oldp )) && return 0 - -dbfiles=(/usr/share/man/index.(bt|db|dir|pag)(N) \ - /usr/man/index.(bt|db|dir|pag)(N) \ - /var/cache/man/index.(bt|db|dir|pag)(N) \ - /var/catman/index.(bt|db|dir|pag)(N) \ - /usr/share/man/*/whatis(N)) - -for file in $dbfiles; do - [[ $file -nt $1 ]] && return 0 -done - -return 1 -} - -_call_whatis() { - case "$(whatis --version)" in - ("whatis from "*) - local -A args - zparseopts -D -A args s: r: - apropos "${args[-r]:-"$@"}" | fgrep "($args[-s]" - ;; - (*) whatis "$@";; - esac -} - -_path_commands() { -local need_desc expl ret=1 - -if zstyle -t ":completion:${curcontext}:" extra-verbose; then - local update_policy first - if [[ $+_command_descriptions -eq 0 ]]; then - first=yes - typeset -A -g _command_descriptions - fi - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" \ - cache-policy _path_commands_caching_policy - if ( [[ -n $first ]] || _cache_invalid command-descriptions ) && \ - ! _retrieve_cache command-descriptions; then - local line - for line in "${(f)$(_call_program command-descriptions _call_whatis -s 1 -r .\\\*\; _call_whatis -s 6 -r .\\\* 2>/dev/null)}"; do - [[ -n ${line:#(#b)([^ ]#) #\([^ ]#\)( #\[[^ ]#\]|)[ -]#(*)} ]] && continue; - [[ -z $match[1] || -z $match[3] || -z ${${match[1]}:#*:*} ]] && continue; - _command_descriptions[$match[1]]=$match[3] - done - _store_cache command-descriptions _command_descriptions - fi - - (( $#_command_descriptions )) && need_desc=yes -fi - -if [[ -n $need_desc ]]; then - typeset -a dcmds descs cmds matches - local desc cmd sep - compadd "$@" -O matches -k commands - for cmd in $matches; do - desc=$_command_descriptions[$cmd] - if [[ -z $desc ]]; then - cmds+=$cmd - else - dcmds+=$cmd - descs+="$cmd:$desc" - fi - done - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a descs " $sep " $descs - descs=("${(@r:COLUMNS-1:)descs}") - _wanted commands expl 'external command' \ - compadd "$@" -ld descs -a dcmds && ret=0 - _wanted commands expl 'external command' compadd "$@" -a cmds && ret=0 -else - _wanted commands expl 'external command' compadd "$@" -k commands && ret=0 -fi -# TODO: this is called from '_command_names -e' which is typically used in -# contexts (such as _env) that don't accept directory names. Should this -# 'if' block move up to the "_command_names -" branch of _command_names? -if [[ -o path_dirs ]]; then - local -a path_dirs - - if [[ $PREFIX$SUFFIX = */* ]]; then - path_dirs=( ${path:#.} ) - # Find command from path, not hashed - _wanted commands expl 'external command' _path_files -W path_dirs -g '*(-*)' && ret=0 - else - path_dirs=(${^path}/*(/N:t)) - (( ${#path_dirs} )) && - _wanted path-dirs expl 'directory in path' compadd "$@" -S / -a path_dirs && ret=0 - fi -fi - -return ret -} - -_path_commands "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_files deleted file mode 100644 index d46dcbe5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_path_files +++ /dev/null @@ -1,895 +0,0 @@ -#autoload - -local -a match mbegin mend - -local splitchars -if zstyle -s ":completion:${curcontext}:" file-split-chars splitchars; then - compset -P "*[${(q)splitchars}]" -fi - -# Look for glob qualifiers. Do this first: if we're really -# in a glob qualifier, we don't actually want to expand -# the earlier part of the path. We can't expand inside -# parentheses otherwise, so as we test that successfully -# we should be able to commit to glob qualifiers here. -# -# Extra nastiness to be careful about a quoted parenthesis. -# The initial tests look for parentheses with zero or an -# even number of backslashes in front. We also require that -# there was at least one character before the parenthesis for -# a bare glob qualifier. -# The later test looks for an outstanding quote. -if _have_glob_qual $PREFIX; then - local ret=1 - compset -p ${#match[1]} - compset -S '[^\)\|\~]#(|\))' - if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then - _globflags && ret=0 - else - if [[ $_comp_caller_options[extendedglob] == on ]]; then - local -a flags - flags=( - '#:introduce glob flag' - ) - _describe -t globflags "glob flag" flags -Q -S '' && ret=0 - fi - _globquals && ret=0 - fi - return ret -fi - -# Utility function for in-path completion. This allows `/u/l/b<TAB>' -# to complete to `/usr/local/bin'. - -local linepath realpath donepath prepath testpath exppath skips skipped -local tmp1 tmp2 tmp3 tmp4 i orig eorig pre suf tpre tsuf opre osuf cpre -local pats haspats ignore pfx pfxsfx sopt gopt opt sdirs ignpar cfopt listsfx -local nm=$compstate[nmatches] menu matcher mopts sort mid accex fake -local listfiles listopts tmpdisp origtmp1 Uopt -local accept_exact_dirs path_completion -integer npathcheck -local -a Mopts - -typeset -U prepaths exppaths - -exppaths=() - -# Get the options. - -zparseopts -a mopts \ - 'P:=pfx' 'S:=pfxsfx' 'q=pfxsfx' 'r:=pfxsfx' 'R:=pfxsfx' \ - 'W:=prepaths' 'F:=ignore' 'M+:=matcher' \ - J+: V+: x+: X+: 1 2 o+: n 'f=tmp1' '/=tmp1' 'g+:-=tmp1' - -sopt="-${(@j::M)${(@)tmp1#-}#?}" -(( $tmp1[(I)-[/g]*] )) && haspats=yes -(( $tmp1[(I)-g*] )) && gopt=yes -if (( $tmp1[(I)-/] )); then - pats="${(@)${(@M)tmp1:#-g*}#-g}" - pats=( '*(-/)' ${${(z):-x $pats}[2,-1]} ) -else - pats="${(@)${(@M)tmp1:#-g*}#-g}" - pats=( ${${(z):-x $pats}[2,-1]} ) -fi -pats=( "${(@)pats:# #}" ) - -if (( $#pfx )); then - compset -P "${(b)pfx[2]}" || pfxsfx=( "$pfx[@]" "$pfxsfx[@]" ) -fi - -if (( $#prepaths )); then - tmp1="${prepaths[2]}" - if [[ "$tmp1[1]" = '(' ]]; then - prepaths=( ${^=tmp1[2,-2]%/}/ ) - elif [[ "$tmp1[1]" = '/' ]]; then - prepaths=( "${tmp1%/}/" ) - else - prepaths=( ${(P)^tmp1%/}/ ) - (( ! $#prepaths )) && prepaths=( ${tmp1%/}/ ) - fi - (( ! $#prepaths )) && prepaths=( '' ) -else - prepaths=( '' ) -fi - -if (( $#ignore )); then - if [[ "${ignore[2]}" = \(* ]]; then - ignore=( ${=ignore[2][2,-2]} ) - else - ignore=( ${(P)ignore[2]} ) - fi -fi - -# If we were given no file selection option, we behave as if we were given -# a `-f'. - -if [[ "$sopt" = -(f|) ]]; then - if [[ -z "$gopt" ]]; then - sopt='-f' - pats=('*') - else - unset sopt - fi -fi - -if (( ! $mopts[(I)-[JVX]] )); then - local expl - - if [[ -z "$gopt" && "$sopt" = -/ ]]; then - _description directories expl directory - else - _description files expl file - fi - tmp1=$expl[(I)-M*] - if (( tmp1 )); then - if (( $#matcher )); then - matcher[2]="$matcher[2] $expl[1+tmp1]" - else - matcher=(-M "$expl[1+tmp1]") - fi - fi - mopts=( "$mopts[@]" "$expl[@]" ) -fi - -# If given no `-F' option, we may want to use $fignore, turned into patterns. - -[[ -z "$_comp_no_ignore" && $#ignore -eq 0 && - ( -z $gopt || "$pats" = \ #\*\ # ) && -n $FIGNORE ]] && - ignore=( "?*${^fignore[@]}" ) - -if (( $#ignore )); then - _comp_ignore=( "$_comp_ignore[@]" "$ignore[@]" ) - (( $mopts[(I)-F] )) || mopts=( "$mopts[@]" -F _comp_ignore ) -fi - -if [[ $#matcher -eq 0 && -o nocaseglob ]]; then - # If globbing is case insensitive and there's no matcher, - # do case-insensitive matching. - matcher=( -M 'm:{a-zA-Z}={A-Za-z}' ) -fi - -if (( $#matcher )); then - # Add the current matcher to the options to compadd. - mopts=( "$mopts[@]" "$matcher[@]" ) -fi - -if zstyle -s ":completion:${curcontext}:" file-sort tmp1; then - case "$tmp1" in - *size*) sort=oL;; - *links*) sort=ol;; - *(time|date|modi)*) sort=om;; - *access*) sort=oa;; - *(inode|change)*) sort=oc;; - *) sort=on;; - esac - [[ "$tmp1" = *rev* ]] && sort[1]=O - [[ "$tmp1" = *follow* ]] && sort="-${sort}-" - - if [[ "$sort" = on ]]; then - sort= - else - mopts=( -o nosort "${mopts[@]}" ) - - tmp2=() - for tmp1 in "$pats[@]"; do - if _have_glob_qual "$tmp1" complete; then - # unbalanced parenthesis is correct: match[1] contains the start, - # match[5] doesn't contain the end. - tmp2+=( "${match[1]}#q${sort})(${match[5]})" ) - else - tmp2+=( "${tmp1}(${sort})" ) - fi - done - pats=( "$tmp2[@]" ) - fi -fi - -# Check if we have to skip over sequences of slashes. The value of $skips -# is used below to match the pathname components we always have to accept -# immediately. - -if zstyle -t ":completion:${curcontext}:paths" squeeze-slashes; then - skips='((.|..|)/)##' -else - skips='((.|..)/)##' -fi - -zstyle -s ":completion:${curcontext}:paths" special-dirs sdirs -zstyle -t ":completion:${curcontext}:paths" list-suffixes && - listsfx=yes - -[[ "$pats" = ((|*[[:blank:]])\*(|[[:blank:]]*|\([^[:blank:]]##\))|*\([^[:blank:]]#/[^[:blank:]]#\)*) ]] && - sopt=$sopt/ - -zstyle -a ":completion:${curcontext}:paths" accept-exact accex -zstyle -a ":completion:${curcontext}:" fake-files fake - -zstyle -s ":completion:${curcontext}:" ignore-parents ignpar - -zstyle -t ":completion:${curcontext}:paths" accept-exact-dirs && - accept_exact_dirs=1 -zstyle -T ":completion:${curcontext}:paths" path-completion && - path_completion=1 - -if [[ -n "$compstate[pattern_match]" ]]; then - if { [[ -z "$SUFFIX" ]] && _have_glob_qual "$PREFIX" complete; } || - _have_glob_qual "$SUFFIX" complete; then - # Copy all glob qualifiers from the line to - # the patterns used when generating matches - tmp3=${match[5]} - if [[ -n "$SUFFIX" ]]; then - SUFFIX=${match[2]} - else - PREFIX=${match[2]} - fi - tmp2=() - for tmp1 in "$pats[@]"; do - if _have_glob_qual "$tmp1" complete; then - # unbalanced parenthesis is correct: match[1] contains the start, - # match[5] doesn't contain the end. - tmp2+=( "${match[1]}${tmp3}${match[5]})") - else - tmp2+=( "${tmp1}(${tmp3})" ) - fi - done - pats=( "$tmp2[@]" ) - fi -fi - -# We get the prefix and the suffix from the line and save the whole -# original string. Then we see if we will do menu completion. - -pre="$PREFIX" -suf="$SUFFIX" -opre="$PREFIX" -osuf="$SUFFIX" -orig="${PREFIX}${SUFFIX}" -eorig="$orig" - -[[ $compstate[insert] = (*menu|[0-9]*) || -n "$_comp_correct" || - ( -n "$compstate[pattern_match]" && - "${orig#\~}" != (|*[^\\])[][*?#~^\|\<\>]* ) ]] && menu=yes -if [[ -n "$_comp_correct" ]]; then - cfopt=- - Uopt=-U -else - Mopts=(-M "r:|/=* r:|=*") -fi - -# Now let's have a closer look at the string to complete. - -if [[ "$pre" = [^][*?#^\|\<\>\\]#(\`[^\`]#\`|\$)*/* && "$compstate[quote]" != \' ]]; then - - # If there is a parameter expansion in the word from the line, we try - # to complete the beast by expanding the prefix and completing anything - # after the first slash after the parameter expansion. - # This fails for things like `f/$foo/b/<TAB>' where the first `f' is - # meant as a partial path. - - linepath="${(M)pre##*\$[^/]##/}" - function { - # do not treat an unset parameter expansion as the empty string - setopt localoptions nounset - eval 'realpath=${(e)~linepath}' 2>/dev/null - } - [[ -z "$realpath" || "$realpath" = "$linepath" ]] && return 1 - pre="${pre#${linepath}}" - i='[^/]' - i="${#linepath//$i}" - orig="${orig[1,(in:i:)/][1,-2]}" - donepath= - prepaths=( '' ) -elif [[ "$pre[1]" = \~ && "$compstate[quote]" = (|\`) ]]; then - - # It begins with `~', so remember anything before the first slash to be able - # to report it to the completion code. Also get an expanded version of it - # (in `realpath'), so that we can generate the matches. Then remove that - # prefix from the string to complete, set `donepath' to build the correct - # paths and make sure that the loop below is run only once with an empty - # prefix path by setting `prepaths'. - - linepath="${pre[2,-1]%%/*}" - if [[ -z "$linepath" ]]; then - realpath="${HOME%/}/" - elif [[ "$linepath" = ([-+]|)[0-9]## ]]; then - if [[ "$linepath" != [-+]* ]]; then - tmp1="$linepath" - else - if [[ "$linepath" = -* ]]; then - tmp1=$(( $#dirstack $linepath )) - else - tmp1=$linepath[2,-1] - fi - [[ -o pushdminus ]] && tmp1=$(( $#dirstack - $tmp1 )) - fi - if (( ! tmp1 )); then - realpath=$PWD/ - elif [[ tmp1 -le $#dirstack ]]; then - realpath=$dirstack[tmp1]/ - else - _message 'not enough directory stack entries' - return 1 - fi - elif [[ "$linepath" = [-+] ]]; then - realpath=${~:-\~$linepath}/ - else - eval "realpath=~${linepath}/" 2>/dev/null - if [[ -z "$realpath" ]]; then - _message "unknown user \`$linepath'" - return 1 - fi - fi - linepath="~${linepath}/" - [[ "$realpath" = "$linepath" ]] && return 1 - pre="${pre#*/}" - orig="${orig#*/}" - donepath= - prepaths=( '' ) -else - # If the string does not start with a `~' we don't remove a prefix from the - # string. - - linepath= - realpath= - - if zstyle -s ":completion:${curcontext}:" preserve-prefix tmp1 && - [[ -n "$tmp1" && "$pre" = (#b)(${~tmp1})* ]]; then - - pre="$pre[${#match[1]}+1,-1]" - orig="$orig[${#match[1]}+1,-1]" - donepath="$match[1]" - prepaths=( '' ) - - elif [[ "$pre[1]" = / ]]; then - # If it is a absolute path name, we remove the first slash and put it in - # `donepath' meaning that we treat it as the path that was already handled. - # Also, we don't use the paths from `-W'. - - pre="$pre[2,-1]" - orig="$orig[2,-1]" - donepath='/' - prepaths=( '' ) - else - # The common case, we just use the string as it is, unless it begins with - # `./' or `../' in which case we don't use the paths from `-W'. - - [[ "$pre" = (.|..)/* ]] && prepaths=( '' ) - donepath= - fi -fi - -# Now we generate the matches. First we loop over all prefix paths given -# with the `-W' option. - -for prepath in "$prepaths[@]"; do - - # Get local copies of the prefix, suffix, and the prefix path to use - # in the following loop, which walks through the pathname components - # in the string from the line. - - skipped= - cpre= - - if [[ ( -n $accept_exact_dirs || -z $path_completion ) && \ - ${pre} = (#b)(*)/([^/]#) ]]; then - # We've been told either that we can accept an exact directory prefix - # immediately, or that path expansion is inhibited. Try the longest - # path prefix first: in the first case, this saves stats in the simple - # case and may get around automount behaviour if early components don't - # yet exist, and in the second case this is the prefix we want to keep. - # - # Explanation of substitution: For tmp1 and tpre, which are used further - # on, we need to remove quotes from everything that's not a pattern - # character, because the code that does the file generation only - # strips quotes from pattern characters (you know better than - # to ask why). - tmp1=${match[1]} - tpre=${match[2]} - tmp2=$tmp1 - tmp1=${tmp1//(#b)\\(?)/$match[1]} - tpre=${tpre//(#b)\\([^\\\]\[\^\~\(\)\#\*\?])/$match[1]} - # Theory: donepath needs the quoting of special characters - # still in it. However, we need it without at this point. - # (I think.) Note this is different from the above where we're - # doing something a bit different. - tmp3=${donepath//(#b)\\(?)/$match[1]} - while true; do - if [[ -z $path_completion || -d $prepath$realpath$tmp3$tmp2 ]]; then - tmp3=$tmp3$tmp1/ - # Now put donepath back the way it should be. (I think.) - donepath=${tmp3//(#b)([\\\]\[\^\~\(\)\#\*\?])/\\$match[1]} - pre=$tpre - break - elif [[ $tmp1 = (#b)(*)/([^/]#) ]]; then - tmp1=$match[1] - tpre=$match[2]/$tpre - else - break - fi - done - fi - - tpre="$pre" - tsuf="$suf" - # Now we strip quoting from pattern characters, too, because - # testpath is used as a literal string. I suppose we could - # alternatively use ${~testpath} later. - # - # I'm not sure if donepath itself should be entirely unquoted at - # some point but probably not here, since we need the quoted pattern - # characters in tmp1 below (I think). - testpath="${donepath//(#b)\\([\\\]\[\^\~\(\)\#\*\?])/$match[1]}" - - tmp2="${(M)tpre##${~skips}}" - tpre="${tpre#$tmp2}" - - tmp1=( "$prepath$realpath$donepath$tmp2" ) - - # count of attempts for pws non-canonical hack - (( npathcheck = 0 )) - while true; do - - origtmp1=("${tmp1[@]}") - # Get the prefix and suffix for matching. - - if [[ "$tpre" = */* ]]; then - PREFIX="${tpre%%/*}" - SUFFIX= - else - PREFIX="${tpre}" - SUFFIX="${tsuf%%/*}" - fi - - # Force auto-mounting. There might be a better way... - # Commented out in the hope that `pws non-canonical hack' - # down below does this for us. Can be uncommented if it - # doesn't. - - # : ${^tmp1}/${PREFIX}${SUFFIX}/.(/) - - # Get the matching files by globbing. - - tmp2=( "$tmp1[@]" ) - - if [[ "$tpre$tsuf" = (#b)*/(*) ]]; then - - # We are going to be looping over the leading path segments. - # This means we should not apply special-dirs handling unless - # the path tail is a fake directory that needs to be simulated, - # and we should not apply pattern matching until we are looking - # for files rather than for intermediate directories. - - if [[ -n "$fake${match[1]}" ]]; then - compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake - else - compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" '' fake - fi - elif [[ "$sopt" = *[/f]* ]]; then - compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake "$pats[@]" - else - compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" '' fake "$pats[@]" - fi - tmp1=( $~tmp1 ) 2> /dev/null - - if [[ -n "$PREFIX$SUFFIX" ]]; then - # See which of them match what's on the line. - - # pws non-canonical hack which seems to work so far... - # if we didn't match by globbing, check that there is - # something to match by explicit name. This is for - # `clever' filing systems where names pop into existence - # when referenced. - # - # As suggested by Bart, to make sure the "compfiles" checks - # still work we repeat the tests above if we successfully - # find something that might need adding, but we make sure - # we only do this once for completion of each path segment. - if (( ! $#tmp1 && npathcheck == 0 )); then - (( npathcheck = 1 )) - for tmp3 in "$tmp2[@]"; do - if [[ -n $tmp3 && $tmp3 != */ ]]; then - tmp3+=/ - fi - if [[ -e "$tmp3${(Q)PREFIX}${(Q)SUFFIX}" ]] then - (( npathcheck = 2 )) - fi - done - if (( npathcheck == 2 )); then - # repeat loop with same arguments - tmp1=("$origtmp1[@]") - continue - fi - fi - - if (( ! $#tmp1 )); then - tmp2=( ${^${tmp2:#/}}/$PREFIX$SUFFIX ) - elif [[ "$tmp1[1]" = */* ]]; then - if [[ -n "$_comp_correct" ]]; then - tmp2=( "$tmp1[@]" ) - builtin compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}" - - if [[ $#tmp1 -eq 0 ]]; then - tmp1=( "$tmp2[@]" ) - compadd -D tmp1 "$matcher[@]" - "${(@)tmp2:t}" - fi - else - tmp2=( "$tmp1[@]" ) - compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}" - fi - else - tmp2=( '' ) - compadd -D tmp1 "$matcher[@]" -a tmp1 - fi - - # If no file matches, save the expanded path and continue with - # the outer loop. - - if (( ! $#tmp1 )); then - if [[ "$tmp2[1]" = */* ]]; then - tmp2=( "${(@)tmp2#${prepath}${realpath}}" ) - if [[ "$tmp2[1]" = */* ]]; then - tmp2=( "${(@)tmp2:h}" ) - compquote tmp2 - if [[ "$tmp2" = */ ]]; then - exppaths=( "$exppaths[@]" ${^tmp2}${tpre}${tsuf} ) - else - exppaths=( "$exppaths[@]" ${^tmp2}/${tpre}${tsuf} ) - fi - elif [[ ${tpre}${tsuf} = */* ]]; then - exppaths=( "$exppaths[@]" ${tpre}${tsuf} ) - - ### this once was in an `else' (not `elif') - fi - fi - continue 2 - fi - elif (( ! $#tmp1 )); then - # A little extra hack: if we were completing `foo/<TAB>' and `foo' - # contains no files, this will normally produce no matches and other - # completers might think that's it's their time now. But if the next - # completer is _correct or something like that, this will result in - # an attempt to correct a valid directory name. So we just add the - # original string in such a case so that the command line doesn't - # change but other completers still think there are matches. - # We do this only if we weren't given a `-g' or `-/' option because - # otherwise this would keep `_files' from completing all filenames - # if none of the patterns match. - - if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then - pfxsfx=(-S '' "$pfxsfx[@]") - ### Don't remember what the break was good for. We explicitly - ### execute this only when there are no matches in the directory, - ### so why continue? - ### - ### tmp1=( "$tmp2[@]" ) - ### break - elif [[ -n "$haspats" && -z "$tpre$tsuf$suf" && "$pre" = */ ]]; then - PREFIX="${opre}" - SUFFIX="${osuf}" - compadd -nQS '' - "$linepath$donepath$orig" - tmp4=- - fi - continue 2 - fi - - if [[ -n "$ignpar" && -z "$_comp_no_ignore" && - "$tpre$tsuf" != */* && $#tmp1 -ne 0 && - ( "$ignpar" != *dir* || "$pats" = '*(-/)' ) && - ( "$ignpar" != *..* || "$tmp1[1]" = *../* ) ]]; then - - compfiles -i tmp1 ignore "$ignpar" "$prepath$realpath$donepath" - _comp_ignore+=( ${(@)ignore#$prepath$realpath$donepath} ) - - (( $#_comp_ignore && ! $mopts[(I)-F] )) && - mopts=( "$mopts[@]" -F _comp_ignore ) - fi - - # Step over to the next component, if any. - - if [[ "$tpre" = */* ]]; then - tpre="${tpre#*/}" - elif [[ "$tsuf" = */* ]]; then - tpre="${tsuf#*/}" - tsuf= - else - break - fi - - # There are more components, so skip over the next components and make a - # slash be added. - - #tmp1=( ${tmp1//(#b)([][()|*?^#~<>\\=])/\\${match[1]}} ) - tmp2="${(M)tpre##${~skips}}" - if [[ -n "$tmp2" ]]; then - skipped="/$tmp2" - tpre="${tpre#$tmp2}" - else - skipped=/ - fi - (( npathcheck = 0 )) - done - - # The next loop searches the first ambiguous component. - - tmp3="$pre$suf" - tpre="$pre" - tsuf="$suf" - if [[ -n "${prepath}${realpath}${testpath}" ]] - then - if [[ -o nocaseglob ]] - then - tmp1=( "${(@)tmp1#(#i)${prepath}${realpath}${testpath}}" ) - else - tmp1=( "${(@)tmp1#${prepath}${realpath}${testpath}}" ) - fi - fi - - while true; do - - # First we check if some of the files match the original string - # for this component. If there are some we remove all other - # names. This avoids having `foo' complete to `foo' and `foobar'. - # The return value is non-zero if the component is ambiguous. - - compfiles -r tmp1 "${(Q)tmp3}" - tmp4=$? - - if [[ "$tpre" = */* ]]; then - tmp2="${cpre}${tpre%%/*}" - PREFIX="${linepath}${donepath}${tmp2}" - SUFFIX="/${tpre#*/}${tsuf#*/}" - else - tmp2="${cpre}${tpre}" - PREFIX="${linepath}${donepath}${tmp2}" - SUFFIX="${tsuf}" - fi - - # This once tested `|| [[ -n "$compstate[pattern_match]" && - # "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]' but it should now be smart - # enough to handle multiple components with patterns. - - if (( tmp4 )); then - # The component we're checking is ambiguous. - # For menu completion we now add the possible completions - # for this component with the unambiguous prefix we have built - # and the rest of the string from the line as the suffix. - # For normal completion we add the rests of the filenames - # collected as the suffixes to make the completion code expand - # it as far as possible. - - tmp2="$testpath" - if [[ -n "$linepath" ]]; then - compquote -p tmp2 tmp1 - elif [[ -n "$tmp2" ]]; then - compquote -p tmp1 - compquote tmp2 - else - compquote tmp1 tmp2 - fi - - if [[ -z "$_comp_correct" && - "$compstate[pattern_match]" = \* && -n "$listsfx" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - PREFIX="$opre" - SUFFIX="$osuf" - fi - - # This once tested `-n $menu ||' but our menu-completion expert says - # that's not what we want. - - if [[ -z "$compstate[insert]" ]] || - { ! zstyle -t ":completion:${curcontext}:paths" expand suffix && - [[ -z "$listsfx" && - ( -n "$_comp_correct" || - -z "$compstate[pattern_match]" || "$SUFFIX" != */* || - "${SUFFIX#*/}" = (|*[^\\])[][*?#~^\|\<\>]* ) ]] }; then - # We have not been told to insert the match, so we are - # listing, or something. - (( tmp4 )) && zstyle -t ":completion:${curcontext}:paths" ambiguous && - compstate[to_end]= - if [[ "$tmp3" = */* ]]; then - if [[ -z "$listsfx" || "$tmp3" != */?* ]]; then - # I think this means we are expanding some directory - # back up the path. - tmp1=("${(@)tmp1%%/*}") - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" \ - -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "/${tmp3#*/}${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - else - # Same with a non-empty suffix - tmp1=("${(@)^tmp1%%/*}/${tmp3#*/}") - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" \ - -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - else - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - else - # We are inserting the match into the command line. - if [[ "$tmp3" = */* ]]; then - tmp4=( $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" - -W "$prepath$realpath$testpath" - "$pfxsfx[@]" $Mopts ) - if [[ -z "$listsfx" ]]; then - for i in "$tmp1[@]"; do - tmpdisp=("$i") - _list_files tmpdisp "$prepath$realpath$testpath" - compadd "$tmp4[@]" -s "${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp" - done - else - [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:gs./.*/}*" - - for i in "$tmp1[@]"; do - _list_files i "$prepath$realpath$testpath" - compadd "$tmp4[@]" $listopts - "$i" - done - fi - else - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - fi - tmp4=- - # Found an ambiguity, stop the loop over components. - break - fi - - # If we have checked all components, we stop now and add the - # strings collected after the loop. - - if [[ "$tmp3" != */* ]]; then - tmp4= - break - fi - - # Otherwise we add the unambiguous component to `testpath' and - # take it from the filenames. - - testpath="${testpath}${tmp1[1]%%/*}/" - - tmp3="${tmp3#*/}" - - if [[ "$tpre" = */* ]]; then - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - cpre="${cpre}${tmp1[1]%%/*}/" - else - cpre="${cpre}${tpre%%/*}/" - fi - tpre="${tpre#*/}" - elif [[ "$tsuf" = */* ]]; then - [[ "$tsuf" != /* ]] && mid="$testpath" - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - cpre="${cpre}${tmp1[1]%%/*}/" - else - cpre="${cpre}${tpre}/" - fi - tpre="${tsuf#*/}" - tsuf= - else - tpre= - tsuf= - fi - - tmp1=( "${(@)tmp1#*/}" ) - done - - if [[ -z "$tmp4" ]]; then - # I think this means it's finally time to add the matches, - # now we've collected contributions from all components. - if [[ "$mid" = */ ]]; then - # This seems to mean we're completing in the middle of the - # command line argument, i.e. not in the last component. - # There are two cases, depending on whether this part of - # the path itself has multiple directories or not. - PREFIX="${opre}" - SUFFIX="${osuf}" - - tmp4="${testpath#${mid}}" - if [[ $mid = */*/* ]]; then - # Multiple levels of directory involved. - tmp3="${mid%/*/}" - tmp2="${${mid%/}##*/}" - if [[ -n "$linepath" ]]; then - compquote -p tmp3 - else - compquote tmp3 - fi - compquote tmp4 tmp2 tmp1 - for i in "$tmp1[@]"; do - _list_files tmp2 "$prepath$realpath${mid%/*/}" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp3/" \ - -s "/$tmp4$i${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath${mid%/*/}/" \ - "$pfxsfx[@]" $Mopts $listopts - "$tmp2" - done - else - # Simpler case with fewer directories: avoid double counting. - tmp2="${${mid%/}##*/}" - compquote tmp4 tmp2 tmp1 - for i in "$tmp1[@]"; do - _list_files tmp2 "$prepath$realpath${mid%/*/}" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath" \ - -s "/$tmp4$i${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath" \ - "$pfxsfx[@]" $Mopts $listopts - "$tmp2" - done - fi - else - # This would seem to be where we're completing the last - # component of the path -- the normal one, in other words. - if [[ "$osuf" = */* ]]; then - PREFIX="${opre}${osuf}" - SUFFIX= - else - PREFIX="${opre}" - SUFFIX="${osuf}" - fi - tmp4="$testpath" - if [[ -n "$linepath" ]]; then - compquote -p tmp4 tmp1 - elif [[ -n "$tmp4" ]]; then - compquote -p tmp1 - compquote tmp4 - else - compquote tmp4 tmp1 - fi - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "${PREFIX#\~}$SUFFIX" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - # Pattern match, we need to be clever with matchers. - tmp1=("$linepath$tmp4${(@)^tmp1}") - _list_files tmp1 "$prepath$realpath" - compadd -Qf -W "$prepath$realpath" "$pfxsfx[@]" "$mopts[@]" \ - -M "r:|/=* r:|=*" $listopts -a tmp1 - else - # Not a pattern match - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf -p "${Uopt:+$IPREFIX}$linepath$tmp4" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" "$mopts[@]" $Mopts $listopts -a tmp1 - fi - fi - fi -done - -# If we are configured to expand paths as far as possible and we collected -# expanded paths that are different from the string on the line, we add -# them as possible matches. Do that only if we are currently trying the -# last entry in the matcher-list style, otherwise other match specs might -# make the suffix that didn't match this time match in one of the following -# attempts. - -if [[ _matcher_num -eq ${#_matchers} ]] && - zstyle -t ":completion:${curcontext}:paths" expand prefix && - [[ nm -eq compstate[nmatches] && $#exppaths -ne 0 && - "$linepath$exppaths" != "$eorig" ]]; then - PREFIX="${opre}" - SUFFIX="${osuf}" - compadd -Q "$mopts[@]" -S '' -M "r:|/=* r:|=*" -p "$linepath" -a exppaths -fi - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pax b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pax deleted file mode 100644 index 0ae58423..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pax +++ /dev/null @@ -1,47 +0,0 @@ -#compdef pax - -_arguments -s \ - '-r[read]' \ - '-w[write]' \ - '-a[append]' \ - '-b:block size:(512 1024 1536 2048 2560 3072 3584 4096 4608 5120 5632 6144 6656 7168 7680 8192 8704 9216 9728 10240 10752 11264 11776 12288 12800 13312 13824 14336 14848 15360 15872 16384 16896 17408 17920 18432 18944 19456 19968 20480 20992 21504 22016 22528 23040 23552 24064 24576 25088 25600 26112 26624 27136 27648 28160 28672 29184 29696 30208 30720 31232 31744 32256 32768 33280 33792 34304 34816 35328 35840 36352 36864 37376 37888 38400 38912 39424 39936 40448 40960 41472 41984 42496 43008 43520 44032 44544 45056 45568 46080 46592 47104 47616 48128 48640 49152 49664 50176 50688 51200 51712 52224 52736 53248 53760 54272 54784 55296 55808 56320 56832 57344 57856 58368 58880 59392 59904 60416 60928 61440 61952 62464 62976 63488 64000 64512 - 1k 2k 3k 4k 5k 6k 7k 8k 9k 10k 11k 12k 13k 14k 15k 16k 17k 18k 19k 20k - 21k 22k 23k 24k 25k 26k 27k 28k 29k 30k 31k 32k 33k 34k 35k 36k 37k 38k - 39k 40k 41k 42k 43k 44k 45k 46k 47k 48k 49k 50k 51k 52k 53k 54k 55k 56k - 57k 58k 59k 60k 61k 62k 63k - 1b 2b 3b 4b 5b 6b 7b 8b 9b 10b 11b 12b 13b 14b 15b 16b 17b 18b 19b 20b - 21b 22b 23b 24b 25b 26b 27b 28b 29b 30b 31b 32b 33b 34b 35b 36b 37b 38b - 39b 40b 41b 42b 43b 44b 45b 46b 47b 48b 49b 50b 51b 52b 53b 54b 55b 56b - 57b 58b 59b 60b 61b 62b 63b 64b 65b 66b 67b 68b 69b 70b 71b 72b 73b 74b - 75b 76b 77b 78b 79b 80b 81b 82b 83b 84b 85b 86b 87b 88b 89b 90b 91b 92b - 93b 94b 95b 96b 97b 98b 99b 100b 101b 102b 103b 104b 105b 106b 107b 108b - 109b 110b 111b 112b 113b 114b 115b 116b 117b 118b 119b 120b 121b 122b - 123b 124b 125b 126b)' \ - '-c[match all but specified]' \ - '-d[match only directory but not contents]' \ - '-f:archive:_files -g "*.(tar|cpio)(-.)"' \ - '-i[interactively rename files]' \ - '-j[filter archive through bzip2]' \ - '-k[do not overwrite existing files]' \ - '-l[hardlink files]' \ - '-n[select only the first match for each pattern]' \ - '-o:options:_values options write_opt\:writeopt\:\(nodir\)' \ - '-p:privileges:(a ae aem am amo amp ao ap e em em m mo mp o p)' \ - '-s:substitution expression:' \ - '-t[reset access times of files after access]' \ - '-u[ignore older files]' \ - '-v[verbose]' \ - '-x:output format:(cpio bcpio sv4cpio sv4crc tar ustar)' \ - '-B:maximum number of octets per archive:' \ - '-D[ignore older files by ctime]' \ - '-E:maximum number of consecutive read faults:' \ - '*-G:group:_groups' \ - '-H[follow only command-line symlinks]' \ - '-L[follow all symlinks]' \ - '-P[do not follow symlinks]' \ - '-T:time range:' \ - '*-U:user:_users' \ - '-X[do not descend into directories that have a different device ID]' \ - '-Y[ignore older files by ctime after file name mods]' \ - '-Z[ignore older files after file name mods]' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbcopy b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbcopy deleted file mode 100644 index deffd116..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbcopy +++ /dev/null @@ -1,30 +0,0 @@ -#compdef pbcopy pbpaste - -local ret=1 -local -a context line state state_descr args -local -A opt_args val_args - -args=( - '(-)-help[display help information]' - '-pboard[specify pasteboard to copy to or paste from]: :->pboards' -) -[[ $service == pbpaste ]] && args+=( - '-Prefer[specify type of data to prefer when pasting]: :->dtypes' -) - -_arguments : $args && ret=0 - -case $state in - dtypes) - _values 'data type' \ - 'txt[plain text]' \ - 'rtf[rich text]' \ - 'ps[encapsulated PostScript]' \ - && ret=0 - ;; - pboards) - _values pasteboard general ruler find font && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbm deleted file mode 100644 index 8b5576c5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbm +++ /dev/null @@ -1,891 +0,0 @@ -#compdef -P (p[bgpn]m*|*top[bgpn]m) - -# Completion for all (or most, you'll never know) pbmplus commands. -# For some of them there are special cases in the biggish `case' below. -# Note that since this function is a post-pattern function, these -# defaults can be overridden by simply defining completion functions -# for those commands whose arguments you want to complete differently. - -local pat expl ret=1 - -if [[ "$service" = pnm* ]]; then - pat='*.(#i)p[bgp]m(-.)' -elif [[ "$service" = *top[bgpn]m ]]; then - pat="*.(#i)${service%%top[bgpn]m}(-.)" -else - pat="*.(#i)${service[1,3]}(-.)" -fi - -if (( $# + $+_in_pbm )); then - _wanted files expl 'picture file' _path_files "$@" -g "$pat" - || - _files "$@" "$expl[@]" -g '*.(#i)p[bgp]m(-.)' - return -fi - -local _in_pbm=yes - -case "$service" in -asciitop[gn]m) - _arguments \ - '-d[specify divisor]:divisor' \ - ':height' ':width' ':file:_pbm' - ;; - -fitstopgm) - _arguments \ - '-image[specify image number]:image number' \ - ':file:_pbm' - ;; - -fitstopnm) - _arguments \ - '-image[specify image number]:image number' \ - '-noraw[produce ASCII pnm file]' \ - '(-min -max)-scanmax[force scanning data for minimum and maximum]' \ - '-printmax[only print minimum and maximum values]' \ - '(-scanmax)-min[override minimum value]:minimum value' \ - '(-scanmax)-max[override maximum value]:maximum value' \ - ':file:_pbm' - ;; - -g3topbm) - _arguments \ - '-kludge[ignore first few lines]' \ - '-reversebits[interpret bits least-significant first]' \ - '-stretch[duplicate each row]' \ - ':file:_pbm' - ;; - -giftopnm) - _arguments \ - '-alphaout=[output alpha channel]:file:_pbm' \ - '-verbose[verbose mode]' \ - '-comments[only print comment fields]' \ - '-image[specify image number]:image number' \ - ':file:_pbm' - ;; - -jpegtopnm) - _arguments \ - '-dct:dct method:(int fast float)' \ - -{nosmooth,adobe,notadobe,dumpexif,comments,verbose} \ - '-maxmemory:memory use limit (kB)' \ - '-exif=:file:_files' \ - '-tracelevel:trace level' \ - ':file:_pbm' - ;; - -macptopbm) - _arguments '-extraskip:number of bytes to skip' ':file:_pbm' - ;; - -pbmclean) - if [[ "$PREFIX" = -* ]]; then - _message -e neighbours 'maximum number of identical neighbours' - else - _pbm - fi - ;; - -pbmmake) - _arguments \ - '(-black -gray)-white[produce white pbm file]' \ - '(-white -gray)-black[produce black pbm file]' \ - '(-white -black)-gray[produce gray pbm file (stippled)]' \ - ':width' ':height' - ;; - -pbmmask) - _arguments '-expand[expand mask by one pixel]' ':file:_pbm' - ;; - -pbmpscale) - _arguments ':scale factor' ':file:_pbm' - ;; - -pbmreduce) - _arguments \ - '(-fs -threshold)-floyd[use Floyd-Steinberg error diffusion]' \ - '(-floyd -threshold)-fs[use Floyd-Steinberg error diffusion]' \ - '(-floy -fs)-threshold[use simple thresholding]' \ - '-value[specify thresholding value]:threshold value' \ - ':reduction factor' ':file:_pbm' - ;; - -pbmtext) - _arguments \ - '(-builtin)-font[specify font file]:font file:_files -g "*.(#i)pbm(-.)"' \ - '(-font)-builtin[select builtin font]:builtin font:(bdf fixed)' \ - '-space[add space between characters]:space (pixels)' \ - '*:text' - ;; - -pbmto10x) - _arguments '-h[use resolution 120 x 144]' ':file:_pbm' - ;; - -pbmtobg|pbmtobbnbg) - _arguments ':raster operation' ':x position' ':y position' - ;; - -pbmtoepsi) - _arguments '-bbonly[only create boundary box]' ':file:_pbm' - ;; - -pbmtolj) - _arguments \ - '-resolution[specify output device resolution]:resolution:(75 100 150 300 600)' \ - '-float[suppress positioning information]' \ - "-norest[don't write reset sequences]" \ - '(-delta -compress)-packbits[enable use of TIFF packbits compression]' \ - '(-packbits -compress)-delta[enable use of delta-between-rows compression]' \ - '(-packbits -delta)-compress[enable both compression schemes]' \ - ':file:_pbm' - ;; - -pbmtoln03) - _arguments \ - '-l[specify left margin]:left margin' \ - '-r[specify right margin]:right margin' \ - '-t[specify top margin]:top margin' \ - '-b[specify bottom margin]:bottom margin' \ - '-f[specify form length]:form length' ':file:_pbm' - ;; - -pbmtolps) - _arguments '-dpi[specify output resolution]:resolution' ':file:_pbm' - ;; - -pbmtomacp) - _arguments \ - '-l[specify left offset]:left offset' \ - '-r[specify right offset]:right offset' \ - '-t[specify top offset]:top offset' \ - '-b[specify bottom offset]:bottom offset' \ - ':file:_pbm' - ;; - -pbmtopgm) - _arguments ':width' ':height' ':file:_pbm' - ;; - -pbmtopk) - _arguments \ - '-s[set design size]:design size' \ - '-C[set coding scheme]:coding scheme' \ - '-F[set font family comment]:font family' \ - '-f[specify file with options]:option file:_files' \ - '*-c[specify next character number]:character number' \ - '*-W[specify TFM width of next character]:width' \ - '*-H[specify TFM height of next character]:height' \ - '*-D[specify TFM depth of next character]:depth' \ - '*-I[specify italic correction of next character]:italic correction' \ - '*-h[specify horizontal escapement of next character]:horizontal escapement' \ - '*-v[specify vertical escapement of next character]:vertical escapement' \ - '*-x[specify x offset of next character]:x offset' \ - '*-y[specify y offset of next character]:y offset' \ - ':pk file:_files -g "*.(#i)pk(-.)"' \ - ':tfm file:_files -g "*.(#i)tfm(-.)"' \ - '*:file:_pbm' - ;; - -pbmupc) - _arguments -s{1,2} ':product type' ':manufacturer code' ':product code' - ;; - -pgmcrater) - _arguments \ - '-number[specify number of craters]:number of craters' \ - '-gamma[specify gamma correction factor]:gamma factor' \ - '(-ysize)-height[specify picture height]:height' \ - '(-height)-ysize[specify picture height]:height' \ - '(-xsize)-width[specify picture width]:width' \ - '(-width)-xsize[specify picture width]:width' - ;; - -pgmkernel) - _arguments '-weight:weight' ':width' ':height' - ;; - -pgmnoise) - _arguments ':width' ':height' - ;; - -pgmnorm|ppmnorm) - _arguments \ - '(-bvalue)-bpercent[specify percentage to map to black]:black percentage' \ - '(-bpercent)-bvalue[specify pixel value to map to black]:black pixel value' \ - '(-wvalue)-wpercent[specify percentage to map to white]:white percentage' \ - '(-wpercent)-wvalue[specify pixel value to map to white]:white pixel value' \ - ':file:_pbm' - ;; - -pgmoil) - _arguments '-n[specify smear size]:smear size' ':file:_pbm' - ;; - -pgmramp) - _arguments \ - '(-tb -rectangle -ellipse)-lr[produce left to right ramp]' \ - '(-lr -rectangle -ellipse)-tb[produce top to bottom ramp]' \ - '(-lr -tb -ellipse)-rectangle[produce rectangular ramp]' \ - '(-lr -tb -rectangle)-ellipse[produce elliptical ramp]' \ - ':width' ':height' - ;; - -pgmtexture) - _arguments '-d[specify distance]:distance' ':file:_pbm' - ;; - -pgmtopbm) - _arguments \ - '(-fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-floyd[use FLoyd-Steinberg error diffusion]' \ - '(-floyd -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-fs[use FLoyd-Steinberg error diffusion]' \ - '(-floyd -fs -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-threshold[use simple thresholding]' \ - '(-floyd -fs -threshold -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value)-hilbert[use space filling curve halftoning (hilbert curve)]' \ - '(-floyd -fs -threshold -hilbert -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-dither8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \ - '(-floyd -fs -threshold -hilbert -dither8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-d8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-cluster3[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -cluster4 -c4 -cluster8 -c8 -value -clump)-c3[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -c4 -cluster8 -c8 -value -clump)-cluster4[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -cluster8 -c8 -value -clump)-c4[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -c8 -value -clump)-cluster8[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -value -clump)-c8[use 45 degree clustered dither]' \ - '-value[specify thresholding value]:threshold value' \ - '-clump[specify number of pixels per clump]:number of pixel' \ - ':file:_pbm' - ;; - -pgmtoppm) - if [[ CURRENT -eq 2 ]]; then - if compset -P '?*-'; then - _x_color - return - fi - _x_color && ret=0 - - _wanted options expl option compadd - -map && ret=0 - - return ret - elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then - _description files expl 'map file' - _files "$expl[@]" -g '*.(#i)ppm(-.)' - else - _pbm - fi - ;; - -pktopbm) - _arguments \ - '*-x[set width of next bitmap]:width' \ - '*-y[set height of next bitmap]:height' \ - '*-c[set next character number]:character number' \ - ':pk file:_files -g "*.(#i)pk(-.)"' \ - '*:file:_pbm' - ;; - -pngtopnm) - _arguments \ - -{verbose,alpha,mix,time} \ - '-background:color:_x_color' \ - '-gamma:value' '-text:file:_files' \ - ':file:_pbm' - ;; - -pnmalias) - _arguments \ - '-bgcolor[specify background color]:background color:_x_color' \ - '-fgcolor[specify background color]:foreground color:_x_color' \ - '(-bonly)-fonly[apply antialias only to foreground pixels]' \ - '(-fonly)-bonly[apply antialias only to background pixels]' \ - '(-balias)-falias[apply antialias to all pixels around foreground pixels]' \ - '(-falias)-balias[apply antialias to all pixels around foreground pixels]' \ - '-weight[set central aliasing weight]:central aliasing weight' \ - ':file:_pbm' - ;; - -pnmarith) - _arguments \ - '(-)'-{add,subtract,multiply,difference,minimum,maximum} \ - '*:file:_pbm' - ;; - -pnmcat) - _arguments \ - '(-black)-white[]' \ - '(-white)-black[]' \ - '(-lr -topbottom -tb -jleft -jright)-leftright[place pictures left to right]' \ - '(-leftright -topbottom -tb -jleft -jright)-lr[place pictures left to right]' \ - '(-tb -leftright -lr -jtop -jbottom)-topbottom[place pictures top to bottom]' \ - '(-topbottom -leftright -lr -jtop -jbottom)-tb[place pictures top to bottom]' \ - '(-topbottom -tb -jbottom -jleft -jright)-jtop[align pictures at top]' \ - '(-topbottom -tb -jtop -jleft -jright)-jbottom[align pictures at bottom]' \ - '(-leftright -lr -jright -jtop -jbottom)-jleft[align pictures at left side]' \ - '(-leftright -lr -jleft -jtop -jbottom)-jright[align pictures at right side]' \ - '*:file:_pbm' - ;; - -pnmcomp) - _arguments \ - '-invert[invert overlay pixel values]' \ - '(-align)-xoff[specify overlay x offset]:x offset' \ - '(-valign)-yoff[specify overlay y offset]:y offset' \ - '(-xoff)-align=[specify horizontal alignment for overlay image]:alignment:(left center right)' \ - '(-yoff)-valign=[specify vertical alignment for overlay image]:alignment:(top middle bottom)' \ - '-alpha[specify alpha mask file]:alpha mask file:_files -g "*.(#i)pgm(-.)"' \ - ':overlay file:_pbm' '*:file:_pbm' - ;; - -pnmconvol) - _arguments ':convolution file:_pbm' ':file:_pbm' - ;; - -pnmcrop) - _arguments \ - '(-black)-white' \ - '(-white)-black' \ - -sides \ - -{left,right,top,bottom} \ - -verbose \ - ':file:_pbm' - ;; - -pnmcut) - _arguments \ - '-left:left col' '-right:right col' '-top:top col' '-bottom:bottom col' \ - '-width:width' '-height:height' -pad -verbose \ - ':x position' ':y position' ':width' ':height' ':file:_pbm' - ;; - -pnmdepth) - _arguments ':new maximum value' ':file:_pbm' - ;; - -pnmenlarge) - _arguments ':enlargement factor' ':file:_pbm' - ;; - -pnmflip) - _arguments \ - \*-{leftright,lr,topbottom,tb,transpose,xy,rotate90,r90,ccw,rotate270,r270,cw,rotate180,r180} \ - ':file:_pbm' - ;; - -pnmgamma) - _arguments \ - -ungamma -cieramp \ - '1:gamma value or red gamma value' \ - '2: :{ _message -e gamma-values "green gamma value";_pbm }' \ - '3:blue gamma value' \ - '4:file:_pbm' - ;; - -pnmhisteq) - _arguments \ - '-verbose[verbose mode]' \ - '-gray[modify only gray pixels]' \ - '-rmap[specify input luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \ - '-wmap[specify output luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \ - ':file:_pbm' - ;; -pnmhistmap) - _arguments -{black,white,verbose} '-max:maximum value' ':file:_pbm' - ;; - -pnmindex) - _arguments \ - '-size[set size of index pictures]:image size' \ - '-across[specify number of pictures per ros]:images per row' \ - '-colors[specify maximum number of colors]:number of colors' \ - '-black[use black padding]' \ - '-title[specify a title to place at the top of the image]:title' \ - '(-noquant)-quant[enable quantization]' \ - '(-quant)-noquant[disable quantization]' \ - '*:file:_pbm' - ;; - -pnmmargin) - _arguments \ - '(-black -colors)-white' \ - '(-white -colors)-black' \ - '(-white -black)-color:color:_x_color' \ - ':border width' \ - ':file:_pbm' - ;; - -pnmnlfilt) - _arguments ':alpha value' ':radius' ':file:_pbm' - ;; - -pnmpad) - _arguments \ - '(-white)-black[add black border]' \ - '(-black)-white[add white border]' \ - '-l-[specify left border width]:left border width' \ - '-r-[specify right border width]:right border width' \ - '-t-[specify top border width]:top border width' \ - '-b-[specify bottom border width]: :_guard "[0-9]#" "bottom border width"' \ - ':file:_pbm' - ;; - -pnmpaste) - _arguments \ - '(-)'{-replace,-or,-and,-xor} \ - ':"from" picture file:_pbm' \ - :{x,y}' position' \ - ':"into" picture file:_pbm' - ;; - -pnmrotate) - _arguments '-noantialias' ':rotation angle' ':file:_pbm' - ;; - -pnmscale) - local -a scale - - [[ "$words[2]" = -* ]] || scale=( ':scale factor' ) - - _arguments \ - '(-)-reduce:reduction factor' \ - '(-reduce -xysize -pixels -width -xscale)-xsize:width' \ - '(-reduce -xysize -pixels -xsize -xscale)-width:width' \ - '(-reduce -xysize -pixels -height -yscale)-ysize:height' \ - '(-reduce -xysize -pixels -ysize -yscale)-height:height' \ - '(-reduce -xysize -pixels -width -xsize)-xscale:horizontal scale factor' \ - '(-reduce -xysize -pixels -height -ysize)-yscale:vertical scale factor' \ - '(-width -xsize -height -ysize -xscale -yscale -pixels)-xysize:width::height' \ - '(-width -xsize -height -ysize -xscale -yscale -xysize)-pixels:total number of pixels' \ - '-verbose' "$scale[@]" \ - ':file:_pbm' - ;; - -pnmshear) - _arguments '-noantialias' ':shearing angle' ':file:_pbm' - ;; - -pnmtile) - _arguments ':width' ':height' ':file:_pbm' - ;; - -pnmtoddif) - _arguments \ - '-resolution:horizontal resolution::vertical resolution' \ - ':file:_pbm' ':ddif file:_files -g "*.(#i)ddif(-.)"' - ;; - -pnmtofits) - _arguments '-max:maximum value' '-min:minimum value' ':file:_pbm' - ;; - -pnmtojpeg) - _arguments \ - '--exif=:file:_files' \ - '--quality=:quality' \ - --{grayscale,greyscale,optimize,progressive,verbose,baseline} \ - '--comment=:comment' \ - '--dct=:dct method:(int fast float)' \ - '--restart=:rows' \ - '--smooth=:strength' \ - '--maxmemory=:memory use limit (kB)' \ - '--qtables=:file:_files' \ - '--qslots=:table' \ - '--sample=:sampling factor' \ - '--scans:file:_files' \ - ':file:_pbm' - ;; - -pnmtopng) - _arguments \ - -{verbose,downscale,interlace,hist,force} \ - '-alpha:file:_files' '-gamma:value' \ - '-transparent::color:_x_color' '-background:color:_x_color' \ - '-chroma:wx::wy::rx::ry::gx::gy::bx::by' \ - '-phys:x::y::unit' \ - '-text:file:_files' '-ztxt:file:_files' \ - '-time:date ([yy]yy-mm-dd)::time (hh:mm:ss)' \ - '-filter:type:((0\:none 1\:sub 2\:up 3\:avg 4\:paeth))' \ - '-compression:level:(0 1 2 3 4 5 6 7 8 9)' \ - ':file:_pbm' - ;; - -pnmtops) - _arguments \ - '(-noturn)-turn' '(-turn)-noturn' \ - '(-nocenter)-center '(-center)-nocenter \ - '(-rle)-runlength' '(-runlength)-rle' \ - '(-imagewidth -imageheight)-scale:scale factor' \ - '-dpi:output resolution' \ - '(-scale -equalpixels)-imagewidth:width on page (inches)' \ - '(-scale -equalpixels)-imageheight:height on page (inches)' \ - '-width:page width' '-height:page height' \ - '(-imagewidth -imageheight)-equalpixels' \ - ':file:_pbm' - ;; - -pnmtorast) - _arguments '(-rle)-standard' '(-standard)-rle' ':file:_pbm' - ;; - -pnmtosgi) - _arguments \ - '(-rle)-verbatim' '(-verbatim)-rle' \ - '-imagename:image name' \ - ':file:_pbm' - ;; - -pnmtotiff) - _arguments \ - '(-packbits -lzw -g3 -g4 -2d -fill -predictor)-none' \ - '(-none -lzw -g3 -g4 -2d -fill -predictor)-packbits' \ - '(-none -packbits -g3 -g4 -2d -fill -predictor)-lzw' \ - '(-none -packbits -lzw -g4 -predictor)-g3' \ - '(-none -packbits -lzw -g3 -2d -fill -predictor)-g4' \ - '-2d' \ - '-fill' '-minisblack' \ - '(-lsb2msb)-msb2lsb' \ - '(-msb2lsb)-lsb2msb' \ - '-predictor:LZW predictor:((1\:without\ differencing 2\:with\ differencing))' \ - '-rowsperstrip:number of rows per strip' ':file:_pbm' - ;; - -pnmtoxwd) - _arguments \ - '-pseudodepth:depth of PseudoColor dumps' '-directcolor' \ - ':file:_pbm' - ;; - -ppm3d) - _arguments :{left,right}' picture file:_pbm' ':horizontal offset' - ;; - -ppmbrighten) - _arguments \ - '-n[normalize value]' \ - '-s[specify saturation difference]:saturation difference' \ - '-v[specify value difference]:value difference' \ - ':file:_pbm' - ;; - -ppmchange) - local curcontext="$curcontext" state line - - _arguments -C \ - "-closeness[specify how close a pixel's color should be]:closeness (percent)" \ - '-remainder[specify replacement for colours not given explicit replacement]:color:_x_color' \ - '*: :->args' && ret=0 - - if [[ -n "$state" ]]; then - if (( CURRENT & 1 )); then - _wanted colors expl 'new color' _x_color && ret=0 - else - _alternative \ - 'files:file:_pbm' \ - 'colors:old color:_x_color' && ret=0 - fi - fi - - return ret - ;; - -ppmdim) - _arguments ':diminishing factor' ':file:_pbm' - ;; - -ppmdist) - _arguments \ - '(-frequency)-intensity[sort colors by grayscale intensity]' \ - '(-intensity)-frequency[sort colors by frequency]' \ - ':file:_pbm' - ;; - -ppmdither) - _arguments \ - '-dim:matrix size' \ - '-red:number of red shades' \ - '-green:number of green shades' \ - '-blue:number of blue shades' \ - ':file:_pbm' - ;; - -ppmflash) - _arguments ':flash factor' ':file:_pbm' - ;; - -ppmforge) - _arguments \ - -{clouds,night} \ - '-dimension:fractal dimension' '-hour:hour angle' \ - '(-tilt)-inclination:inclination angle' \ - '(-inclination)-tilt:inclination angle' \ - '-mesh:FFT mesh size' '-power:elevations power factor' \ - '-glaciers:glacier elevation' '-ice:polar ice cap extent' \ - '-saturation:star color saturation' \ - '-seed:random number seed' \ - '-stars:minimum star pixel percentage' \ - '(-xsize)-width:width' '(-width)-xsize:width' \ - '(-ysize)-height:height' '(-height)-ysize:height' - ;; - -ppmmake) - _arguments ':color:_x_color' ':width' ':height' - ;; - -ppmmix) - _arguments ':fade factor' ':file:_pbm' ':file:_pbm' - ;; - -ppmntsc) - _arguments ':dim factor' ':file:_pbm' - ;; - -ppmpat) - _arguments \ - '(-)'-{gingham{2,3},g{2,3},madras,tartan,poles,squig,camo,anticamo} \ - ':width' ':height' - ;; - -ppmquant) - local opt=yes - - if [[ "$words[2]" = -(fs|floyd) ]]; then - (( CURRENT-- )) - shift 1 words - opt='' - fi - - if [[ CURRENT -eq 2 ]]; then - if [[ -n "$opt" ]]; then - _wanted options expl option compadd - -map -fs -floyd && ret=0 - else - _wanted options expl option compadd - -map && ret=0 - fi - _message -e numbers 'number of colors' - - return ret - elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then - _description files expl 'map file' - _files "$expl[@]" -g '*.(#i)ppm(-.)' - else - _pbm - fi - ;; - -ppmquantall) - _arguments \ - '-ext:extension' ': :_guard "[0-9]#" "number of colors"' \ - '*:file:_pbm' - ;; - -ppmshift) - _arguments ':shift value' ':file:_pbm' - ;; - -ppmspread) - _arguments ':maximum spread amount' ':file:_pbm' - ;; - -ppmtoacad) - _arguments \ - '(-poly)-dxb[write AutoCAD binary database import file]' \ - '(-dxb)-poly[render pixels as filled polygons]' \ - '-8[restrict colors to the 8 RGB shades]' \ - '(-background)-white[use white background]' \ - '(-white)-background:background color (0-255)' \ - '-aspect:pixel aspect ratio' \ - ':file:_pbm' - ;; - -ppmtobmp) - _arguments \ - '(-windows)-os2' '(-os2)-windows' \ - '-bpp[specify bits per pixel for BMP file]:bits per pixel:(1 4 8 24)' \ - ':file:_pbm' - ;; - -ppmtogif) - _arguments \ - '-interlace[produce interlaced GIF]' \ - '-sort[produce GIF with sorted color map]' \ - '-map[use colors in specified file]:map file:_files' \ - '(-alpha)-transparent[specify transparent color]:color' \ - '(-transparent)-alpha[specify PGM file containing alpha mask]:file:_pbm' \ - '-comment[include a comment in the GIF file]:comment text' \ - '-nolxw[skip LZW compression]' \ - ':file:_pbm' - ;; - -ppmtoicr) - _arguments \ - '-windowname:window name' '-expand:expansion factor' \ - '-display:display screen' '-rle' ':file:_pbm' - ;; - -ppmtoilbm) - _arguments \ - '(-mp -maxplanes)'{-mp,-maxplanes}':planes' \ - '(-fp -fixplanes)'{-fp,-fixplanes}':planes' \ - '(-hambits -hamplanes)'{-hambits,-hamplanes}':planes' \ - -normal -hamif -24if -dcif -hamforce -24force -dcforce \ - '(-dcbits -dcplanes)'{-dcbits,-dcplanes}':bits for red: :bits for green: :bits for blue' \ - -ecs -aga -ham6 -ham8 -compress '-cmethod:method:(none byterun1)' \ - '-map:ppm file:_pbm' -cmaponly -savemem \ - ':file:_pbm' - ;; - -ppmtomap) - _arguments -s{ort,quare} ':file:_pbm' - ;; - -ppmtomitsu) - _arguments \ - '-sharpness:sharpness:(1 2 3 4)' \ - '-enlarge:enlargement factor:(1 2 3)' \ - '-media:output media [1184x1350]:((A\:1216x1350 A4\:1184x1452 AS\:1216x1650 A4S\:1184x1754))' \ - '-copy:number of copies:(1 2 3 4 5 6 7 8 9)' \ - -{dpi300,tiny} ':file:_pbm' - ;; - -ppmtopcx) - _arguments -{24bit,packed} ':file:_pbm' - ;; - -ppmtopj) - _arguments \ - '-gamma:gamma value' '-xpos:x position' -{rle,center} \ - '-ypos:y position' '-back:background brightness:(dark lite)' \ - '-render:rendering algorithm:(none snap bw dither diffuse monodither monodiffuse clusterdither monoclusterdither)' \ - ':file:_pbm' - ;; - -ppmtopjxl) - _arguments \ - -{nopack,presentation,dark,diffuse,cluster,dither} \ - '-gamma:gamma value' \ - '-xshift:x shift' '-yshift:y shift' \ - '(-width -xscale)-xscale:width' \ - '(-xsize -xscale)-width:width' \ - '(-xsize -width)-xscale:horizontal scale factor' \ - '(-height -yscale)-ysize:height' \ - '(-ysize -yscale)-height:height' \ - '(-ysize -height)-yscale:vertical scale factor' \ - ':file:_pbm' - ;; - -ppmtosixel) - _arguments -{raw,margin} ':file:_pbm' - ;; - -ppmtotga) - _arguments -{mono,cmap,rgb,norle} ':file:_pbm' - ;; - -ppmtouil) - _arguments '-name:name prefix' ':file:_pbm' - ;; - -ppmtorle) - _arguments \ - '-name=:name prefix' \ - '-rgb=:X11 rgb file:_files' \ - '-alphamask=:pgm file:_pbm' \ - ':file:_pbm' - ;; - -ppmtoyuvsplit) - _arguments ':base name' ':file:_pbm' - ;; - -psidtopgm) - _arguments \ - ':width' ':height' ':bits per sample' \ - ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"' - ;; -pstopnm) - _arguments \ - '(-portrait)-landscape' \ - '(-landscape)-portrait' \ - '(-pgm -ppm)-pbm' \ - '(-pbm -ppm)-pgm' \ - '(-pbm -pgm)-ppm' \ - -{forceplain,help,nocrop,verbose} \ - '-llx:loxer left x position' '-lly:lower left y position' \ - '-urx:upper right x position' '-ury:upper right y position' \ - '-xborder:x border fraction' '-yborder:y border fraction' \ - '-xmax:maximum width' '-ymax:maximum height' \ - '-xsize:width' '-ysize:height' \ - ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"' - ;; - -rawtopgm) - _arguments \ - '-maxval:value' \ - '-bpp:bytes:(1 2)' \ - -littleendian \ - '(-bt -bottomfirst -rowskip)-'{bt,bottomfirst} \ - '-headerskip:header bytes to skip' \ - '(-bt -bottomfirst)-rowskip:row padding to skip' \ - ': :_guard "[0-9]#" width' ':height' ':grayscale bytes' - ;; - -rawtoppm) - _arguments \ - '-headerskip:header bytes to skip' \ - '-rowskip:row padding to skip' \ - '(-rgb -rbg -grb -gbr -brg -bgr)'-{rgb,rbg,grb,gbr,brg,bgr} \ - '(-interrow)-interpixel' \ - '(-interpixel)-interrow' \ - ': :_guard "[0-9]#" width' ':height' ':grayscale bytes' - ;; - -rgb3toppm) - if [[ CURRENT -eq 2 ]]; then - expl='red picture file' - elif [[ CURRENT -eq 3 ]]; then - expl='green picture file' - elif [[ CURRENT -eq 4 ]]; then - expl='blue picture file' - fi - - if [[ -n "$expl" ]]; then - _description files expl "$expl" - _files "$expl" -g '*.(#i)pgm(-.)' - fi - ;; - -rletopnm) - _arguments \ - '--alphaout=:alpha file:_pbm' \ - -{h,-headerdump,v,-verbose,p,-plain} \ - ':file:_pbm' - ;; - -sgitopnm) - _arguments '-verbose' '-channel:channel' ':file:_pbm' - ;; - -sldtoppm) - _arguments \ - -{adjust,dir,info,verbose} \ - '(-width -xsize)'-{width,xsize}:width \ - '(-height -ysize)'-{height,ysize}:height \ - '-scale:scale factor' \ - '(-lib -Lib)'-{l,L}'ib:slide name' \ - ':file:_pbm' - ;; - -yuvsplittoppm) - _arguments ':base name' ':width' ':height' '-ccir601' - ;; - -yuvtoppm) - _arguments ':width' ':height' ':image bytes' - ;; - -zeisstopnm) - _arguments '(-pgm -ppm)'-p{g,p}m ':file:_pbm' - ;; - -*) - _wanted files expl 'picture file' _path_files -g "$pat" || - _files "$expl[@]" -g '*.(#i)p[bgp]m(-.)' -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbuilder b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbuilder deleted file mode 100644 index 6377538b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pbuilder +++ /dev/null @@ -1,32 +0,0 @@ -#compdef pbuilder - -local expl - -if (( CURRENT == 2 )); then - _wanted tag expl 'pbuilder command' \ - compadd create update build execute clean login dumpconfig debuild \ - --create --update --build --execute --clean --login --dumpconfig --debuild -else - compset -n 1 - _arguments \ - '--basetgz:location:_files -g "*.tgz(-.)"' \ - '--buildplace:location:_files -/' \ - '--buildresult:location:_files -/' \ - '--mirror:URL:_urls' \ - '--othermirror:URL:_urls' \ - '--distribution:codename:_deb_codenames' \ - '--architecture:architecture:_deb_architectures' \ - '--components:component:(main contrib non-free)' \ - '--override-config' \ - '--hookdir:location:_files -/' \ - '--debbuildopts:dpkg-buildpackage options:' \ - '--logfile:log file:_files' \ - '--binary-arch' \ - '--bindmounts:bind mountpoints:_files -/' \ - '--debootstrapopts:debootstrap options:' \ - '--debootstrap:debootstrap implementation:(debootstrap cdebootstrap)' \ - '--save-after-login' \ - '--save-after-exec' \ - '--autocleanaptcache' \ - '*:source package:_files -g "*.dsc(-.)"' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdf deleted file mode 100644 index 60cee84e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdf +++ /dev/null @@ -1,20 +0,0 @@ -#compdef pdf2dsc pdf2ps pdfimages pdfinfo pdftopbm pdftops pdftotext pdfopt pdffonts kpdf apvlv epdfview - -local expl ext='' - -# ghostscript: -# pdf2dsc pdf2ps pdfopt -# xpdf: -# pdfimages pdfinfo pdftopbm pdftops pdftotext xpdf pdffonts -# KDE 3: -# kpdf -# KDE 4: -# okular - -if [[ "$1" == '-z' ]]; then - ext='(|.bz2|.gz|.Z)' - shift -fi - -_description files expl 'PDF file' -_files "$@" "$expl[@]" -g "*.(#i)pdf$ext(-.)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdftk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdftk deleted file mode 100644 index b26deb15..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pdftk +++ /dev/null @@ -1,61 +0,0 @@ -#compdef pdftk - -_pdfwithhandle() -{ - compset -P '(#I)[A-Z]=' - _files "$@" -g '(#i)*.pdf' -} - -local expl -local -a opts operations - -opts=(output encrypt_40bit encrypt_128bit allow owner_pw user_pw flatten - compress uncompress keep_first_id keep_final_id drop_xfa verbose - dont_ask do_ask) -operations=(cat attach_files unpack_files burst fill_form background stamp - generate_fdf multibackground multistamp dump_data dump_data_fields - update_info) - -case $words[CURRENT-1] in - ((input|owner|user)_pw) - _message "password, or PROMPT" - ;; - - (allow) - #_description permissions expl "permission" - #compadd $expl \ - _values -s , permission \ - Printing DegradedPrinting ModifyContents Assembly CopyContents \ - ScreenReaders ModifyAnnotations FillIn AllFeatures - ;; - - (attach_files) - _files "$@" - ;; - - (fill_form) - _wanted files expl 'FDF or XFDF file' _files -g '(#i)*.(fdf|xfdf)(-.)' - ;; - - ((multibackground|background|stamp|multistamp|output)) - _pdf - ;; - - (update_info) - _files - ;; - - (*) - false - ;; -esac && return 0 - -if [[ -n $words[(r)(${(j:|:)operations})] ]]; then - _description options expl "option" - compadd $@ $expl $opts -else - _tags files operations - _alternative \ - 'files:PDF file:_pdfwithhandle' \ - "operations:operation:($operations)" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perf deleted file mode 100644 index dd962160..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perf +++ /dev/null @@ -1,809 +0,0 @@ -#compdef perf - -local curcontext="$curcontext" curstate state line expl nm="$compstate[nmatches]" -local -a args opts cmd fields sortkeys -local -A exclude full short -local -i i skip - -exclude=( - --add \* --cgroup \* --definition \* --del \* - --detailed \* --dlarg \* --dsos \* --event \* --events \* - --fields \* --funcs \* --node-info \* --symbols \* --vars \* - --gtk '(--stdio --stdio2 --tui)' - --tui '(--gtk --stdio --stdio2)' - --stdio '(--gtk --tui --stdio2)' - --stdio2 '(--gtk --tui --stdio)' - --log-fd '(--output)' - --output '(--log-fd)' - --tracer '(-G --graph-funcs -g --nograph-funcs -F --funcs)' - --graph-funcs '(-g --nograph-funcs -N --notrace-funcs -T --trace-funcs -t --tracer)*' - --nograph-funcs '(-G --graph-funcs -N --notrace-funcs -T --trace-funcs -t --tracer)*' - --trace-funcs '(-N --notrace-funcs -G --graph-funcs -g --nograph-funcs -t --tracer)*' - --notrace-funcs '(-T --trace-funcs -G --graph-funcs -g --nograph-funcs -t --tracer)*' - --source '!(--no-source)' -) - -full=( - --addr-range '=[list traced records within address range]:range' - --affinity '=[set affinity mask of trace reading thread]:affinity:(node cpu)' - --aio '=[specify number of control blocks in asynchronous trace writing mode]:control blocks (1-4) [1]' - --all-cgroups '[record cgroup events]' - --all-cpus '[system-wide collection from all CPUs]' - --asm-raw '[show raw instruction encoding of assembly instructions]' - --aux-sample '=[sample AUX area]::options' - --baseline-only '[show only items with match in baseline]' - --branch-any '[sample any taken branches]' - --branch-filter '=[enable taken branch stack sampling]:mask' - --branch-stack '[use branch records for per branch histogram filling]' - --buffer-size '=[size of per-cpu buffer]: :_numbers size B K M G' - --build-ids '[inject build-ids into the output stream]' - --buildid-all '[handle build-id of all DSOs]' - --call-graph '=[enable call-graph (stacktrace) recording]:(fp dwarf)' - --cgroup '=[monitor event in named cgroup only]:cgroup' - --children '[accumulate callchains of children and show total overhead]' - --clang-opt '=:clang option' - --clang-path '=:clang binary:_command_names -e' - --clockid '=[specify clockid to use for events]:clock id' - --coalesce '=:coalesce field:_sequence compadd - pid tid iaddr dso' - --color-cpus '=[highlight given CPUs in map]:cpus' - --color-pids '=[highlight given pids in map]: :_sequence _pids' - --column-widths '=[use fixed column widths]:widths (comma-separated)' - --comms '=[restrict to specified comms]:comms' - --compression-level '=[produce compressed trace using specified level]:level (1-22) [1]' - --compute '=[set comparison method]:comparison method [delta-abs]:(delta delta-abs ratio wdiff)' - --control '=[listen on ctl-fd descriptor for command to control measurement]:descriptor' - --count '=[specify event period]:period' - --count-filter '=[only display functions with more than given number of events]:minimum number of events' - --cpu '=[restrict to specified CPUs]:cpus' - --cpus '=[restrict to specified CPUs]:cpus' - --cycles-hist '[show cycles histogram and standard deviation]' - --data '[record the sample addresses]' - --data-page-size '[record the sampled data address data page size]' - --definition '=[show trace-event definition converted from given probe-event]:event' - --delay '=[specify delay before starting measurement after program start]:delay (ms)' - --demangle '[demangle symbols]' - --demangle-kernel '[demangle kernel symbols]' - --detailed '[detailed run - start a lot of events]' - --disassembler-style '=[specify disassembler style]:style' - --dlarg '=:dlfilter argument' - --dlfilter '=[filter sample events using the given shared object]:file:_files -g "*.so(-.)"' - --dry-run '[parse options then exit]' - --dsos '=[only consider symbols in these dsos]:dso' - --dump-raw-trace '[dump raw trace in ASCII]' - --dump-symtab '[dump the symbol table used for profiling]' - --duration '=[show only events with duration over threshold]:minimum duration (ms)' - --entries '=[specify how many functions to display]:number of functions' - --event '=[select the PMU event]:event:->events' - --exclude-other '[only display entries with parent-match]' - --exclude-perf "[don't record events from perf itself]" - --exec '=[specify path to executable or shared library]:file:_files' - --expr '=[specify syscalls/events to trace]:syscall or event' - --field-separator '=[specify field separator]:separator' - --fields '=[specify output field]:field:->fields' - --filter '=[event filter]:filter' - --filter-pids '=[specify pids to filter]: :_sequence _pids' - --for-each-cgroup '=[expand events for each cgroup]:cgroup' - --force "[don't complain, do it]" - --format '=[specify output formatting style]:style:(default simple)' - --formula '[show formula]' - --freq '=[specify profile frequency]:frequency (Hz)' - --func-opts '=[specify function tracer options]:option:_sequence compadd - call-graph irq-info' - --funcs '=[show available functions]::filter' - --graph-funcs '=[select function_graph tracer and trace given functions]:function' - --graph-function '=[only print symbols and callees with --call-trace/--call-ret-trace]:symbol list' - --graph-opts '=[specify graph tracer options]: : _values -s , option nosleep-time noirqs verbose thresh\:duration depth\:depth' - --group '=[show event group information together]' - --group-sort-idx '=[sort output by specified event in group]:event index' - --gtk '[use the graphical interface]' - --guestkallsyms '=[provide copy of guest os /proc/kallsyms]:file:_files' - --guestmodules '=[provide copy of guest os /proc/modules]:file:_files' - --guestmount '=[specify guest os root file system mount directory]:path:_directories' - --guestvmlinux '=[provide guest os kernel]:kernel file:_files' - --hide_kernel_symbols '[hide kernel symbols]' - --hide_user_symbols '[hide user symbols]' - --hide-unresolved '[only display entries resolved to a symbol]' - --hierarchy '[show entries in a hierarchy]' - --ignore-callees '=[ignore callees of specified functions in call graphs]:functions (regex)' - --ignore-vmlinux '[ignore vmlinux files]' - --inherit '[trace child processes]' - --input '=[specify input file]:file:_files' - --interval-count '=[print counts for fixed number of times]:times' - --interval-print '=[print counts at regular interval]:interval (ms)' - --intr-regs '=[sample selected machine registers on interrupt]:register' - --inverted '[alias for inverted call graph]' - --iostat '=::default' - --itrace '=[specify instruction tracing options]:option:->itrace-opts' - --jit '[merge jitdump files into perf.data file]' - --kallsyms '=[specify kallsyms pathname]:path:_files' - --kcore '=[add specified kcore file to the cache]:file:_files' - --kernel '[show running kernel build id]' - --Latency '[show latency attributes (irqs/preemption disabled, etc)]' - --list '[list all cached files]' - --list-opts '[list available options]' - --log-fd '=[log output to file descriptor instead of stderr]:file descriptor:_file_descriptors' - --map-dump '=[specify BPF map to periodically dump]:BPF map' - --max-blocks '=[set maximum number of code blocks to dump with brstackinsn]:blocks' - --max-events '=[set maximum number of events to print]:events' - --max-size '=[limit the maximum size of the output file]: :_numbers size B K M G' - --max-stack '=[set maximum stack depth when parsing the callchain]:depth [kernel.perf_event_max_stack or 127]' - --metrics '=[monitor specified metrics or metric groups]:metric' - --min-stack '=[set minimum stack depth when parsing the callchain]:depth' - --mmap-flush '=[specify minimum size that is extracted from mmap data pages]: :_numbers -d 1 -u bytes size B K M G' - --mmap-pages '=[specify number of mmap data pages]:number of pages' - --modules '[load module symbols]' - --namespaces '[record namespaces events]' - --no-bpf-event "[don't record bpf events]" - --no-buildid "[don't collect buildids in perf.data]" - --no-buildid-cache "[don't update the buildid cache]" - --no-inherit "[child tasks don't inherit counters]" - --no-samples "[don't sample]" - --node-info '[show extra node info in report]' - --nograph-funcs "=[select function_graph tracer and don't trace given functions]:function" - --notrace-funcs "=[select function tracer and don't trace given functions]:function filter" - --null "[null run - don't start any counters]" - --num-thread-synthesize '=[specify number of threads to run for event synthesis]:threads' - --objdump '=[specify objdump binary to use for disassembly and annotations]:path:_command_names -e' - --order '=[specify compute sorting]:ordering [1]:(( - 0\:baseline\ overhead - 1\:computed\ value\ of\ column\ 1))' - --output '=[specify output file]:file:_files' - --parent '=[filter by parent caller]:parent (regex)' - --percent-limit "=[don't show entries under specified percentage]:percent" - --percent-type '=[set annotation percent type]:compadd {local,global}{period,hits}' - --percentage '=[set display of filtered entries percentages]:display:(relative absolute)' - --phys-data '[record/report sample physical addresses]' - --pid '=[restrict to specified process id]:process: _sequence _pids' - --post '=[specify command to run after to the measured command]: :_cmdstring' - --pre '=[specify command to run prior to the measured command]: :_cmdstring' - --prefix '=[add prefix to source file path names]:prefix:_directories' - --prefix-strip '=[strip elements from source file path names]:elements' - --pretty '=[specify pretty printing style]:key:(normal raw)' - --proc-map-timeout '=[specify per-thread proc mmap processing timeout]:timeout (ms)' - --quiet "[don't print any messages]" - --raw-samples '[collect raw sample records from all opened counters]' - --raw-trace '[show raw trace event output]' - --realtime '=[profile --addevents with specified priority]:RT SCHED_FIFO priority' - --repeat '=[specify amount of times to repeat the run]:repetitions' - --samples '=[specify number of samples to save per histogram entry for individual browsing]:samples' - --sched-stat '[get details of how long tasks slept]' - --show-cpu-utilization '[show sample percentage for different cpu modes]' - --show-info '[display extended perf.data information]' - --show-nr-samples '[show a column with the number of samples]' - --show-on-off-events '[show the --switch-on/off events too]' - --show-round-events '[display finished round events]' - --show-switch-events '[display context switch events]' - --show-total-period '[show a column with the sum of periods]' - --skip-missing '--skip-missing[skip symbols that cannot be annotated]' - --snapshot '=[select AUX area tracing snapshot mode]::snapshot capturing parameter' - --socket-filter '=[only show processor socket that match specified filter]:filter' - --sort '=[sort by specified keys]:key:->sort-keys' - --stat '[per-thread counts]' - --stdio '[use the stdio interface]' - --stdio-color '=[specify when to use colors in output]:mode [always]:(always never auto)' - --stdio2 '[use the stdio2 interface, non-interactive, TUI formatting]' - --stitch-lbr '[enable LBR callgraph stitching approach]' - --stop-bt '=[stop display of callgraph at these symbols]:symbol list' - --stream '[enable hot streams comparison]' - --strip '[strip non-synthesized events]' - --summary '[show only syscall summary with statistics]' - --switch-max-files '=[limit number of generated files to keep]:limit' - --switch-off '=[stop considering events after occurrence of specified event]:event' - --switch-on '=[consider events after occurrence of specified event]:event' - --switch-output '=[specify when to rotate output file]::signal or size [USR2]:_signals' - --switch-output-event '=[switch output event selector]:event:->events' - --sym-annotate '=[specify symbol to annotate]:symbol' - --symbol '=[specify symbol]:symbol' - --symbol-filter '=[only show symbols that match filter]:filter' - --symbols '=[only consider specified symbols]:symbol' - --symfs '=[look symbol files relative to specified directory]:directory:_directories' - --sync '[call sync() before starting a run]' - --system '[read and write system config file]' - --target-ns '=[obtain mount namespace information form the target pid]:pid:_processes' - --td-level '=[set the metrics level for the top-down statistics]:level' - --tid '=[restrict to specified threads]:tids' - --time '=[specify time span of interest]:time span (start,stop)' - --time-quantum '=[set time quantum for time sort key]: :_numbers -d 100ms "time quantum" ms us ns s' - --timeout '=[stop workload and print counts after a timeout period]:timeout (ms)' - --timestamp-filename '[append timestamp to output file name]' - --trace-fields '[show tracepoint fields]' - --trace-funcs '=[select function tracer and set function filter]:function filter' - --tracer '=[specify tracer to use]:tracer:(function_graph function)' - --tui '[use the curses interface]' - --uid '=[profile events in threads owned by uid]:uid:_users' - --user '[read and write user config file]' - --user-regs '=[sample selected machine registers on interrupt]:registers' - --vars '=[show available local variables at given probe point]:probe' - --vcpu '=[specify vcpu id to report]:vcpu' - --verbose '[be more verbose]' - --vm-time-correlation '=[correlate time between VM guests and the host]::options' - --vmlinux '=[specify vmlinux path]:vmlinux pathname:_files' - --weight '[sample by weight (on special events only)]' - --with-hits '[show only DSOs with hits]' - --with-summary '[show all syscalls and summary with statistics]' - --zero '[zero history across updates]' -) -short=( - --add -a - --all-cpus -a - --baseline-only -b - --branch-any -b - --build-ids -b - --cpu -C - --coalesce -c - --compute -c - --count -c - --delay -D - --dump-raw-trace -D - --data -d - --dsos -d - --event -e - --fields -F - --formula -F - --freq -F - --funcs -F - --force -f - --cgroup -G - --graph-funcs -G - --with-hits -H - --intr-regs -I - --show-info -I - --input -i - --no-inherit -i - --branch-filter -j - --jit -j - --clockid -k - --key -k - --vmlinux -k - --list -l - --disassembler-style -M - --buffer-size -m - --mmap-pages -m - --modules -m - --node-info -N - --no-buildid-cache -N - --no-samples -n - --show-nr-samples -n - --order -o - --output -o - --pid -p - --quiet -q - --raw-samples -R - --realtime -r - --repeat -r - --snapshot -S - --symbols -S - --with-summary -S - --sched-stat -s - --script -s - --sort -s - --summary -s - --timestamp -T - --tid -t - --tracer -t - --uid -u - --verbose -v - --weight -W - --column-widths -w - --field-separator -x - --compression-level -z - --zero -z -) - -cmd=( $words[1] ) -(( $#words > 2 )) && ign='!' - -_arguments -C -A "-*" \ - "${ign}(- *)"{-v,--version}'[display version information]' \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)-vv[print the compiled-in status of libraries]" \ - '(- *)--exec-path[display or set exec path]' \ - '(- *)--html-path[display html documentation path]' \ - "${ign}(- *)--list-opts[list available options]" \ - "${ign}(- *)--list-cmds[list available subcommands]" \ - '!(-p --paginate --no-pager)'{-p,--paginate} \ - --no-pager \ - '--buildid-dir=[setup buildid cache directory]: :_directories' \ - '--debugfs-dir=[set debugfs directory]: :_directories' \ - '--debug=[setup debug variable]: : _values -s, "debug option" - verbose\:level ordered-events data-convert stderr perf-event-open' \ - '1: :->subcmds' \ - '*:: :->args' - -while (( $#state )); do - curstate=$state - shift state - case $curstate in - subcmds) - subcmds=( - ${${${(f)"$(_call_program subcmds $cmd)"}[3,-2]## ##}/ ##(#m)?/:$MATCH[-1]:l} - 'help:display help information about perf' - ) - _describe 'subcommand' subcmds - ;; - subsubcmds) - _description commands expl command - compadd "$expl[@]" -a subcmds - ;; - args) - (( $#words < 3 )) && ign='' - cmd+=( $words[1] ) - curcontext="${curcontext%:*:*}:${(j.-.)cmd}:" - args=() - skip=0 - case ${(j.-.)cmd[2,-1]} in - kvm-*|top|stat) - full[--group]='[put the counters into a counter group]' - ;| - bench-[^-]##(|-all)) skip=1 opts=() subcmds=() ;| - - annotate) - full+=( - --full-paths "[don't shorten the displayed pathnames]" - --print-line "[print matching source lines (may be slow)]" - ) - short+=( - --print-line -l - --full-paths -P - --symbol -s - ) - args+=( - "--no-source[don't interleave source code with assembly code]" - '1:: :_guard "^-*" "symbol name"' - ) - ;; - - archive) - _arguments --help '1:file:_files' - break - ;; - - bench) - short+=( - --edge -E - --format -f - --nfds -f - --group -g - --iterations -i - --loop -l - --nr_loops -l - --nr-mmaps -m - --multiq -m - --nested -N - --noaffinity -n - --nonblocking -B - --nr-samples -n - --pipe -p - --randomize -R - -fruntime -r - --size -s - --thread -t - --threaded -T - ) - args=( - '1:subsystem:(sched syscall mem numa futex epoll internals all)' - '*:: :->args' - ) - full+=( - --group '=[specify number of groups]:groups' - --nr_loops '=[specify number of loops to run]:loops [100]' - --pipe '[use pipe() instead of socketpair()]' - --runtime '=[specify runtime]:runtime (seconds)' - --thread '[be multi thread instead of multi process]' - --threads '=[specify number of threads]:threads' - --loop '=[specify number of loops]:loops' - --iterations '=[number of iterations used to compute average]:iterarions' - --threaded '[specify threads/process based task setup]' - --size '=[specify size of memory buffers]: :_numbers -d 1MB size B KB MB GB TB' - ) - ;; - bench-sched) args=( '1:suite:(all messaging pipe)' '*:: :->args' ) ;; - bench-numa) args=( '1:suite:(all mem)' '*:: :->args' ) ;; - bench-mem) args=( '1:suite:(all memcpy memset find_bit)' '*:: :->args' ) ;; - bench-futex) - args=( '1:suite:(all hash wake wake-parallel requeue lock-pi)' '*:: :->args' ) - ;; - bench-epoll) args=( '1:suite:(all wait ctl)' '*:: :->args' ) ;; - bench-internals) args=( '1:suite:(all synthesize kallsyms-parse inject-build-id)' '*:: :->args' ) ;; - bench-syscall) args=( '1:suite:(all basic)' '*:: :->args' ) ;; - - buildid-cache) - full+=( - --add '=[add specified file to the cache]:file:_files' - --debuginfod '=[specify debuginfod URL to be used when retrieving perf.data binaries]:url:_urls' - --missing '=[list missing build ids in the cache for the specified]:file:_files' - --purge '=[purge all cached binaries including older caches which have specified path from the cache]:path:_files' - --purge-all '[purge all cached binaries - flush out entire cache]' - --remove '=[remove a cached binary which has same build-id of specified file from the cache]:file:_files' - --update '=[update specified file of the cache]:file:_files' - ) - short+=( - --kcore -k - --missing -M - --purge -p - --purge-all -P - --remove -r - --update -u - ) - ;; - c2c) - args+=( '1:commands:(record report)' '*:: :->args' ) - ;; - daemon) - full+=( - --base '=[specify base directory]:base directory:_directories' - --config '=[specify config file path]:config file:_files' - --foreground "[don't put process in background]" - --session '=[apply to specific session]:session' - ) - short[--foreground]=-f - args=( '1:action:(start stop signal ping)' '*:: :->args' ) - ;; - (kvm-|)buildid-list) - short[--kernel]=-k - ;; - config) - full[--list]='[show current config variables]' - ;; - data) - full+=( - --all '[convert all events]' - --to-json '=[convert to JSON format]:output file:_files' - --to-ctf '=[convert to CTF format]:output file:_files' - --tod '[convert time to wall clock time]' - ) - exclude+=( - --to-ctf '(--to-json)' - --to-json '(--to-ctf)' - ) - ;; - (kvm-|)diff) - short+=( - --baseline-only -b - --compute -c - --comms -C - --field-separator -t - --formula -F - --order -o - --period -p - ) - full+=( - --period '[show period values]' - ) - unset 'short[--pid]' - unset 'short[--tid]' - sortkeys=( pid comm dso symbol cpu parent srcline ) - ;; - evlist) - short+=( --group -g ) - ;; - ftrace) - short+=( - --nograph-funcs -g - --graph-funcs -G - --buffer-size -m - --notrace-funcs -N - --trace-funcs -T - --tracer -t - ) - unset 'short[--tid]' - ;; - help*) - short+=( -a --all -i --info -m --man -w --web ) - ;; - inject) - short+=( --jit -j --build-ids -b --sched-stat -s ) - ;; - kmem) - full+=( - --alloc '[show per-allocation statistics]' - --caller '[show per-callsite statistics]' - --raw-ip '[show raw ip instead of symbol]' - --line '=[show specified number of lines]:lines' - --live '[show live page stat]' - --slab '[analyze SLAB allocator events]' - --page '[analyze page allocator events]' - ) - short[--line]=-l - sortkeys=( - ptr callsite bytes hit pingpong frag - page order migtype gfp - ) - ;; - list) - short+=( --desc -d --long-desc -v ) - full+=( - --desc '[print extra event descriptions]' - --details '[print information on the perf event names and expressions used internally by events]' - --long-desc '[print longer event descriptions]' - ) - args=( '*::events:->event-types' ) - ;; - lock-info) - short[--map]=-m - short[--threads]=-t - full+=( - --map '[dump map of lock instances (address:name table)]' - --threads '[dump thread list in perf.data]' - ) - ;; - lock-report) - full[--key]='=[specify sort key]:key [acquired]:(acquired contended avg_wait wait_total wait_max wait_min)' - ;; - mem) - short[--phys-data]=-p - short[--type]=-t - short[--dump-raw-samples]=-D - full[--type]='=[select the memory operation type]:type:(load store)' - full[--dump-raw-samples]='[dump raw samples in ASCII]' - ;; - probe) - full+=( - --add '=[probe point definition]:probe' - --del '=[delete a probe event]:probe event' - --filter '=[set a filter]:filter' - --line '[show source code lines which can be probed]' - --max-probes '=[set how many probe points can be found for a probe]:probes' - --module '=[specify target module name or path]:module name or path:_directories' - --range '[show variables location range in scope]' - --source '=[specify path to kernel source]:path:_directories' - ) - short+=( - --definition -D - --del -d - --exec -x - --line -L - --module -m - --dry-run -n - --source -s - --vars -V - ) - unset 'exclude[--source]' - unset 'short[--list]' - ;; - timechart-record) - short+=( --io-only -I --callchain -g ) - full+=( - --callchain '[record callchain]' - --io-only '[record only IO data]' - ) - ;; - *record) - short+=( - --data -d - --clockid -k - --no-samples -n - --no-buildid -B - --no-buildid-cache -N - --period -P - --stat -s - ) - full+=( - --overwrite '[use overwrite mode]' - --period '[record the sample period]' - --timestamp '[record the sample timestamps]' - --transaction '[sample transaction flags (special events only)]' - ) - ;; - (c2c-|kvm-|)report) - short+=( - --branch-stack -b - --comms -c - --inverted -G - --call-graph -g - --parent -p - --threads -T - --field-separator -t - --exclude-other -x - ) - full+=( - --threads '[show per-thread event counters]' - ) - unset 'short[--pid]' - unset 'short[--tid]' - sortkeys=( - pid comm dso symbol parent cpu socket srcline weight local_weight cgroup_id - ) - fields=( - overhead period sample overhead overhead_sys overhead_us - overhead_guest_sys overhead_guest_us overhead_children - sample period pid comm dso symbol parent cpu socket - srcline srcfile local_weight weight transaction trace - symbol_size dso_size cgroup cgroup_id ipc_null time - code_page_size local_ins_lat ins_lat p_stage_cyc dso_from - dso_to symbol_from symbol_to mispredict abort in_tx - cycles srcline_from srcline_to ipc_lbr symbol_daddr - dso_daddr locked tlb mem snoop dcacheline symbol_iaddr - phys_daddr data_page_size blocked - ) - ;; - sched-latency) - short+=( - --CPU -C - --pids -p - ) - full+=( - --pids '[latency stats per pid instead of per comm]' - --CPU '=[specify CPU to profile on]:cpu' - ) - ;; - sched-timehist) - short+=( - --idle-hist -I - --migrations -M - --next -n - --cpu-visual -V - --wakeups -w - ) - full+=( - --cpu-visual '[add CPU visual]' - --idle-hist '[show idle events only]' - --migrations '[show migration events]' - --next '[show next task]' - --state '[show task state when sched-out]' - --wakeups '[show wakeup events]' - ) - ;; - (*-|)script) - short+=( --comms -c --gen-script -g --Latency -L --debug-mode -d ) - full+=( - --debug-mode '[do various checks like samples ordering and lost events]' - --gen-script '=[generate perf-script.xx script in specified language]:language' - --script '=[specify script file name]:script file name:_files' - ) - unset 'short[--pid]' - unset 'short[--dsos]' - unset 'short[--tid]' - fields=( - comm tid pid time cpu event trace ip sym dso addr symoff - srcline period iregs uregs brstack brstacksym flags - bpf-output brstackinsn brstackoff callindent insn insnlen - synth phys_addr metric misc ipc tod data_page_size - code_page_size - ) - ;; - *stat*) - full+=( - --big-num "[print large numbers with thousands' separators]" - --delay '=[wait after starting program]:delay (msecs)' - --key '=[specify key for sorting]:key:(sample time)' - --no-aggr '[disable CPU count aggregation]' - --transaction '[hardware transaction statistics]' - ) - short+=( - --no-aggr -A - --big-num -B - --detailed -d - --group -g - --interval-print -I - --metrics -M - --null -n - --sync -S - --transaction -T - ) - exclude+=( - --log-fd '(-o --output)' - --output '(--log-fd)' - ) - unset 'short[--quiet]' - ;; - test*) - short+=( --dont-fork -F --skip -s ) - full+=( - --dont-fork "[don't fork for testcase]" - --skip '=[specify tests to skip]:test' - ) - ;; - timechart) - short+=( --width -w --topology -t --proc-num -n --process -p ) - full+=( - --highlight '=[highlight tasks that outlast duration or with given name]:duration or name' - --io-skip-eagain "[don't draw EAGAIN IO events]" - --io-min-time '=[all IO faster than minimum time will visually appear longer]: :_numbers -u ns -d 1ms time ms us' - --io-merge-dist '=[merge events that are within specified time]: :_numbers -u ns -d 1us time ms us' - --process '=[select process]:process:_pids' - --proc-num '=[specify minimum number of tasks to print]:tasks' - --topology '[sort CPUs according to topology]' - --width '=[specify page width]:page width' - ) - ;; - (kvm-|)top) - full+=( - --delay '=[specify delay between refreshes]:delay (seconds)' - --comms '=[only consider symbols in specified comms]:comm' - --dsos '=[only consider symbols in these dsos]:dso' - --overwrite '[use a backward ring buffer]' - ) - short+=( - --count-filter -f - --delay -d - --dump-symtab -D - --entries -E - ) - unset 'short[--dsos]' - unset 'short[--fields]' - unset 'short[--force]' - unset 'short[--symbols]' - sortkeys=( - pid comm dso symbol parent srcline weight local_weight - abort in_tx transaction overhead sample period - ) - fields=( overhead period sample $sortkeys ) - ;; - trace) - short+=( - --pf -F - --summary -s - --time -T - ) - full+=( - --pf '=[trace pagefaults]::type [maj]:(all min maj)' - --time '[show full timestamp, not relative]' - ) - unset 'short[--no-inherit]' - ;; - esac - if (( !skip )); then - subcmds=( $(_call_program commands "$cmd --list-cmds|grep -v -e '^#' -e Unknown") ) - opts=( $(_call_program options "$cmd --list-opts|grep -v -e '^#' -e Unknown") ) - fi - - for (( i = $#opts; i; i-- )); do - opts[i]=( - ${exclude[$opts[i]]}${opts[i]}${full[$opts[i]]} - ${short[$opts[i]]:+${exclude[$opts[i]]}${short[$opts[i]]}${full[$opts[i]]/(#s)=/+}} - ) - done - (( $#subcmds)) && opts+=( - "${ign}(- *)--list-cmds[list available subcommands]" \ - '1: :->subsubcmds' - '*:: :->args' - ) - (( $#opts )) && opts+=( - "${ign}(- *)--help[display help information]" - "${ign}(- *)--list-opts[list available options]" - ) - _arguments -C $opts $args \ - "${ign}(- *)-h[display brief usage summary]" - ;; - event-types) - _wanted event-types expl 'event type' compadd - hw sw cache pmu tracepoint event_glob - ;& - events) - _wanted events expl event compadd - \ - ${${=${${(f)"$(_call_program events perf list hw sw cache pmu tracepoint event_glob)"}[2,-5]# }%% [ \[]*}:#OR} - ;; - itrace-opts) - _values -s '' "itrace option [ibxwpe]" \ - 'i[synthesize instructions events]' \ - 'b[synthesize branches events (branch misses for Arm SPE)]' \ - 'c[synthesize branches events (calls only)]' \ - 'r[synthesize branches events (returns only)]' \ - 'x[synthesize transactions events]' \ - 'w[synthesize ptwrite events]' \ - 'p[synthesize power events (incl. PSB events for Intel PT)]' \ - 'o[synthesize other events recorded due to the use of aux-output]' \ - 'e[synthesize error events]' \ - 'd[create a debug log]' \ - 'f[synthesize first level cache events]' \ - 'm[synthesize last level cache events]' \ - 'M[synthesize memory events]' \ - 't[synthesize TLB events]' \ - 'a[synthesize remote access events]' \ - 'g[synthesize a call chain (use with i or x)]' \ - 'G[synthesize a call chain on existing event records]' \ - 'l[synthesize last branch entries (use with i or x)]' \ - 'L[synthesize last branch entries on existing event records]' \ - 's[skip initial number of events]' \ - 'q[quicker (less detailed) decoding]' \ - 'Z[prefer to ignore timestamps (so-called "timeless" decoding)]' - ;; - fields) - _sequence _wanted fields expl 'field' compadd - -a fields - ;; - sort-keys) - _sequence _wanted sort-keys expl 'sort key' compadd - -a sortkeys - ;; - esac -done - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perforce b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perforce deleted file mode 100644 index a52ac1d0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perforce +++ /dev/null @@ -1,3162 +0,0 @@ -#compdef p4 p4d -value-,P4CLIENT,-default- -value-,P4PORT,-default- -value-,P4MERGE,-default- -value-,P4USER,-default- - -# Maintainer: Peter Stephenson <pws@csr.com>. - -# Increasingly loosely based on _cvs version 1.17. -# Completions currently based on Perforce release 2016.1. - -# Styles, tags and contexts -# ========================= -# -# If the `verbose' style is set (it is assumed by default), verbose -# descriptions are provided for many completed quantities derived -# dynamically such as subcommand names, labels, changes -- in fact, -# just about anything for which Perforce itself produces a verbose, -# one-line description. It may be turned off in the context of each -# subcommand e.g. -# zstyle ':completion:*:p4-labelsync:*' verbose false -# or for a particular tag, e.g. changes, -# zstyle ':completion:*:changes' verbose false -# or just for top-level completion (i.e. up to and including completion -# of the subcommand): -# zstyle ':completion:*:p4:*' verbose false -# or for p4 as a whole, -# zstyle ':completion:*:p4(-*|):*' verbose false -# This is actually handled by the `_describe' function underneath the -# Perforce completion system; it's mentioned here as verbosity adds -# significantly to a lot of the Perforce completions. -# -# Note that completing change numbers is not very useful if `verbose' is -# turned off. There is no speed advantage for turning it off, either. -# (Changes are also known as changelists or changesets. The functions -# and tags here all consistently use `changes'.) -# -# The style `max' can be set to a number which limits how many -# possibilities can be shown when selecting changes or jobs. This is -# handled within Perforce, so the completion code may limit the number even -# further. If not set explicitly, the value is taken to be 20 to avoid a -# huge database being output. Set it to a larger number if necessary. -# Setting it explicitly to zero removes the maximum. Because you see only -# the most recent, changes and jobs are shown in the order given by -# Perforce without further sorting. -# -# Completion of jobs can also be controlled by the `jobview' style. -# This uses the standard Perforce JobView syntax, and is applied -# in connection with the `max' style. In other words, -# if you set -# zstyle ':completion:*:p4-*:jobs' max 0 -# zstyle ':completion:*:p4-*:jobs' jobview 'user=pws' -# then jobs to be completed will be those from the output of -# p4 jobs -e 'user=pws' -# i.e. those assigned to Perforce user `pws'. -# -# Completion of changes can be controlled by the `changes' style. -# This takes additional arguments to be passed to `p4 changes'. -# An obvious example is: -# zstyle ':completion:*:p4-*:changes' changes -u $USER -# to limit changes to the present user. -# -# The style `all-files' is used to tell the completion system to -# complete any file in a given context. This is for use in places -# where it would, for example, only complete files opened for editing. -# See the next section for more. -# -# The style `depot-files' tells the system to complete files by asking -# Perforce for a list where it would otherwise complete files locally by -# the standard mechanism --- basically any time you don't use // notation -# and there is no restriction e.g. to opened files only. There is likely -# to be a significant speed penalty for this; it is turned off by default -# in all contexts. The advantage is that it cuts out files not maintained -# by Perforce. (Again, note this is a style, not a tag.) Contexts -# where this might be particularly useful include p4-diff or p4-diff2. -# -# The tags depot-files and depot-dirs also exist; they are used whenever -# the system is completing files or directories by asking Perforce -# to list them, rather than by using normal file completion. -# -# The tag subdirs is used to complete the special `...' which tells -# Perforce to search all subdirectories. Hence you can turn this -# feature off by suitably manipulating your tags. -# -# The function will usually try to limit the files it lists by -# context; for example, to just opened files. By default it does -# this by retrieving the complete list from Perforce and then -# relying on the completion system to do the matching. If this is -# slow, it is possible to set the style "glob", in which case the -# matching is done within Perforce, potentially reducing the amount of -# searching of Perforce's internal database. The tag used for -# this is the same as the command used to retrieve the file name: -# integrated, opened, resolved, dirs, files. The disadvantage -# of doing the matching within Perforce is that no matcher specification -# is applied; for example, it's not possible to match a_u.c against -# admin_utils.c. -# -# Actually, a hybrid strategy is used when the glob style is not set: the -# directory is passed literally to Perforce, but the file or directory -# being matched is passed as "*", so that matching on the contents of the -# directory is performed by the completion system. -# -# Experiment suggests that the glob style isn't usually needed: only -# "p4 integrated" is likely to be significantly slowed if no limiting -# pattern is applied, and completing only integrated files is uncommon. -# -# Completion of files and their revisions -# ======================================= -# -# File completion handles @ and # suffixes. If the filename is completed, -# typing @ or # removes the space which was automatically added. -# The context used has `at-suffix' or `hash-suffix' in the position -# before the tag to indicate suffix completion (as always, ^Xh will -# show you all possible contexts). This makes it possible -# to select changes, dates, labels and clients using the tag-order -# style. For example, -# zstyle ':completion:*:p4-*:at-suffix:*' tag-order changes '*' -# will force all completion after `@' to show changes first. Executing -# _next_tags (usually ^x^n) will cycle between that and the remaining -# tags (dates, labels, clients). I recommend, at least, keeping labels -# later than changes since the former are less useful and can take a long -# time to complete. -# -# A # is automatically quoted when handled in this way; if the file is -# typed by hand or the completion didn't finish (e.g. you typed a character -# in the middle of menu completion), you probably need to type `\#' by -# hand. The problem is that the completion system uses extended globbing -# and hence a pattern of the form `filename#' always matches `filename' -# (since e# matches any number of e's including one). Hence this can look -# like an expansion which expands to `filename'. -# -# After @, you can complete changes (note the use of the style `max' -# above), labels, clients or even dates, while after `#' you can -# complete numeric revisions or the special revision names head, none, -# have. These are available whether or not you completed the filename; if -# the file doesn't exist, numeric revisions won't work, but the rest will -# (though what Perforce will do with the resulting command is another matter). -# -# In addition, when completing after `file@', only changes specific to `file' -# will be shown (exactly the list of changes Perforce shows from the -# command `p4 changes file'). If this doesn't work, chances are that -# `file' does not exist. Having a multi-directory match (literal `...') -# in `file' should work fine, since `p4 changes' recognises all normal -# Perforce file syntax. -# -# Some perforce commands allow you to specify a range of revisions or -# changes as `file@1,@2' or `file#1,#2'. Currently, the second part of the -# revision range can always be completed (whether the command accepts them -# or not), but the comma after the first part of the range is only added -# automatically if the documentation suggests the command accepts ranges at -# that point. This is an auto-removable suffix, so it will disappear if -# you hit space or return. Typing a `#' at this point will insert a -# backslash, as before. The # and @ are never added automatically; you -# have to select one by hand. -# -# Perforce allows change and revision numbers to be preceded by =, <, <=, > -# or >=. See `p4 help undoc' for details. (In particular, `=' is -# an extremely useful shortcut when integrating single changes.) -# This syntax is handled, but currently the < and > must be quoted -# with a backslash, not by any other mechanism. For example, -# p4 files myfile@\>=3<TAB> -# will complete a change number. The valid syntax where the second -# change or revision in a range does not have the @ or # in front -# (for example `file@32183,32185') is not currently handled; the @ -# must be repeated. -# -# File completion for some functions is restricted by the Perforce -# status of the file; for example, `p4 opened' only completes opened -# files (surprised?) However, you can set the style (N.B. not tag) -# `all-files'; so, for example, you can turn off the limit in this case by -# zstyle ':completion:*:p4-opened:*' all-files true -# Normally the `file-patterns' style would be used to control matching, -# but as the file types are not selected by globbing it doesn't work here -# However, if you set the all-files style, all filename completion is done -# by the standard mechanism; in this case, the `file-patterns' style works -# as usual. The style `ignored-patterns' is available in any case, even -# without `all-files'; this is therefore generally the one to use. -# -# The style `whole-path' allows you complete the entire path to a file -# at once. This is useful in cases such as opened files where the -# list of files is likely to be short but may include files with -# widely different paths. As with the `glob' style, the tag is the -# Perforce disposition of the file: integrated, opened, resolved, dirs, -# files. For example, with -# zstyle ':completion:*:p4-revert:*:opened' whole-path true -# completion after `p4 revert' will offer you the entire depot path -# to a file rather than just part of the path at once (with the -# usual methods of disambiguation). Directory completion is turned -# off during a `whole-path' completion. The `whole-path' style can -# also take the value `absolute'; this means that an initial `/' -# activates `whole-path' completion, otherwise a relative file path -# will be completed in the normal way. For example, with -# zstyle ':completion:*:p4-revert:*:opened' whole-path absolute -# then after `p4 revert <TAB>' you are offered open files in the -# current directory plus directories; after `p4 revert /<TAB>' you -# are offered all open files in depot syntax. -# -# With `p4 diff', the shell will spot if you have used an option that -# allows you to diff unopened files (such as -f) and in that case offer -# all files; otherwise, it just offers opened files. -# -# Completion of changes -# ===================== -# -# There is various extra magic available any time change numbers -# are completed, regardless of how this was reached, i.e. -# `p4 fixes -c ...' and `p4 diff filename.c@...' are treated the same way. -# Note, however, these only work if you are at the point where a change -# number would be completed. -# -# Firstly, as mentioned above there is a maximum for the number of -# changes which will be shown, given by the style max, or defaulting to 20. -# Only the most recent changes will be shown. This is to avoid a speed -# penalty or clumsy output. If a positive numeric argument is given -# when changes are being completed, the maximum is set (unconditionally) -# to that number instead. -# -# It is also possible to give a negative numeric prefix to a listing widget -# (i.e. typically whatever is bound to ^D). If there is already a change -# number on the line, e.g. from cycling through a menu of choices, the full -# description for that change is shown in the format of a completion -# listing. [TODO: this could be made configurable with a style.] -# -# It may be necessary to abandon the current completion attempt before -# typing this to force the completion system to display the new text. -# Replacing delete-char-or-list with the following user defined widget -# (create with `zle -N ...') will force this for any negative prefix argument. -# (( ${NUMERIC:-0} < 0 )) && (( CURSOR = CURSOR )) -# zle delete-char-or-list -# -# Completion of jobs -# ================= -# -# Completing jobs uses the same logic for the numeric prefix as completing -# changes: a positive prefix changes the maximum number of jobs which -# will be shown, and a negative prefix when listing shows the full -# text for the job whose name is currently inserted on the command line. -# In this case, the entire text of the word being completed is assumed -# to constitute the job name (which is almost certainly correct). -# -# Completion of dates -# =================== -# -# In a file revision specification it is possible to give a date -# in the form file@YYYY/MM/DD:hh:mm:ss, which may be completed. This -# is ever so slightly less silly than it sounds. Any component entered -# by hand with the appropriate suffix will be ignored; any component -# completed will be set to the current value. Hence you can easily -# specify, say, one month ago by using the completed value for all -# components except the month and setting that to one less. The shell -# will also happily append the appropriate suffix if you try to complete -# after anything which is already the appropriate width. (Perforce -# supports two-digit years, but these are confusing and no longer -# particularly useful as they refer to the twentieth century, so -# the shell does not.) -# -# Calls to p4 -# =========== -# -# Much of the information from Perforce is provided by calls to p4 -# commands. This is done via the _call_program interface, as described -# in the zshcompsys manual page. Hence a suitable context with the -# `command' style allows the user to take control of this call. -# The tags used are the name of the p4 command, or in the case of -# calls to help subcommands, `help-<subcommand>'. Note that if the -# value of the style begins with `-', the arguments to the perforce -# command are appended to the remaining words of the style before calling -# the command. -# -# Programmes taking p4-style arguments -# ==================================== -# -# It is possible to use the _perforce completion with other commands -# which behave like a subcommand of p4 by setting the service type -# to p4-<subcommand>. For example, -# compdef _perforce p4cvsmap=p4-files -# says that the command `p4cvsmap' takes arguments like `p4 files'. -# Often the options will be different; if this is a problem, you -# will need to write your own completer which loads _perforce and -# calls its functions directly. You can add -global to the end -# of the service to say that the command also handles global -# Perforce options, comme ca: -# compdef _perforce p4reopen=p4-job-global -# -# Anything more complicated should be modelled on one of the -# _perforce_cmd_* handlers below. To get this to work, the full -# set of _perforce functions must be loaded; because of the way -# autoloading works, a trick is required: call "_perforce -l" which -# causes the function to be executed, loading all the associated -# functions as a side effect, but tells _perforce to return without -# generating any completions. For example, here is the completion -# for my `p4desc' function which is an enhanced version of `p4 describe' -# (without any handling for global Perforce arguments): -# -# #compdef p4desc -# -# _perforce -l -# -# _arguments -s : \ -# '-d-[select diff option]:diff option:((b\:ignore\ blanks c\:context d\:basic\ diff n\:RCS s\:summary u\:unified w\:ignore\ all\ whitespace))' \ -# '-s[short form]' \ -# '-j[select by job]:job:_perforce_jobs' \ -# '*::change:_perforce_changes' -# -# To add handling of global options to this, see the end of the _perforce -# function below. Something like: -# -# local -a _perforce_global_options _perforce_option_dispatch -# if _perforce_global_options; then -# _arguments -s : $_perforce_option_dispatch \ -# '<other stuff>' -# fi -# -# TODO -# ==== -# -# No mechanism is provided for completely ignoring certain files not -# handled by Perforce as with .cvsignore. This could be done ad hoc. -# However, the ignored-patterns style and the parameter $fignore are -# of course applied as usual, so setting ignored-patterns for the -# context `:completion:*:p4[-:]*' should work. - -_perforce() { - # rely on localoptions - setopt nonomatch - local p4cmd==p4 match mbegin mend - integer _perforce_cmd_ind - - # Localise variables used at different levels of the hierarchy. - local _perforce_exclude_change - - if [[ $1 = -l ]]; then - # Run to load _perforce and associated functions but do - # nothing else. - return - fi - - if [[ $service = -value-* ]]; then - # Completing parameter value. - # Some of these --- in particular P4PORT --- don't need - # the perforce server. - case $compstate[parameter] in - (P4PORT) - _perforce_hosts_ports - ;; - - (P4CLIENT) - _perforce_clients - ;; - - (P4MERGE) - _command_names -e - ;; - - (P4USER) - _perforce_users - ;; - esac - # We do not handle values anywhere else. - return - fi - - if [[ $p4cmd = '=p4' ]]; then - _message "p4 executable not found: completion not available" - return - fi - - # If we are at or after the command word, remember the - # global arguments to p4 as we will need to pass these down - # when generating completion lists. - # This is both an array and a function, but luckily I never - # get confused... - local -a _perforce_global_options - local -a _perforce_option_dispatch - - # If we are given a service of the form p4-cmd, treat this - # as if it was after `p4 cmd'. This provides an easy way in - # for scripts and functions that emulate the behaviour of - # p4 subcommands. Note we don't shorten the command line arguments. - if [[ $service = p4-(#b)(*) ]]; then - local curcontext="$curcontext" - local p4cmd=$words[1] cmd=$match[1] gbl - - if [[ $cmd = (#b)(*)-global ]]; then - # Handles global options. - cmd=$match[1] - _perforce_global_options && gbl=1 - fi - if (( $+functions[_perforce_cmd_$cmd] )); then - curcontext="${curcontext%:*:*}:p4-${cmd}:" - if [[ -n $gbl ]]; then - # We are handling global Perforce options as well as the - # arguments to the specific command. - # To handle the latter, we need the command name, plus - # all the arguments for the command with the global options - # removed. The function _perforce_service_dispatch handles - # this by unshifting the command ($p4cmd) into words, - # then dispatching for the Perforce subcommand $cmd. - # - # Has anyone noticed this is getting rather complicated? - _arguments -s : $_perforce_option_dispatch \ - "*::p4-$cmd arguments: _perforce_service_dispatch $p4cmd $cmd" - else - _perforce_cmd_$cmd - fi - # Don't try to do full command handling. - return - else - _message "unhandled _perforce service: $service" - return 1 - fi - fi - - if [[ $service = p4d ]]; then - _arguments -s : \ - '-d[run as daemon]' \ - '-f[run as single threaded server]' \ - '-i[run for inetd using sockets]' \ - '-q[suppress startup message]' \ - '-s[run as NT service]' \ - '-xi[switch server database to unicode mode and quit]' \ - '-xu[run database upgrade and quit]' \ - '-c[run command and exit]:command of some sort: ' \ - '-Id[specify description]:description: ' \ - '-In[specify unique name]:name: ' \ - '-jc[checkpoint, save and truncate journal]::optional prefix: ' \ - '-jd[checkpoint, not saving journal]::optional file:_files' \ - '-jj[save and truncate journal]::optional prefix: ' \ - '-jr[incremental restore from checkpoint/journal]:'\ -'file:_files:file:_files' \ - '-z[gzip checkpoint and journal files]' \ - '-h[show help]' \ - '-V[print server version]' \ - '-A[set audit log ($P4AUDIT)]:audit file:_files' \ - '-J[set journal file ($P4JOURNAL) or "off"]:journal file:_files' \ - '-L[set error log ($P4LOG or stderr)]:error log:_files' \ - '-p[set port ($P4PORT o perforce:1666)]:port:_perforce_hosts_ports' \ - '-r[set root directory ($P4ROOT)]:root directory:_path_files -g "*(/)"' \ - '-v[debug level]:level: ' - elif _perforce_global_options; then - _arguments -s : $_perforce_option_dispatch \ - '1:perforce command:_perforce_commands' - else - (( _perforce_cmd_ind-- )) - (( CURRENT -= _perforce_cmd_ind )) - shift $_perforce_cmd_ind words - _perforce_command_args - fi -} - - -# -# Command and argument dispatchers -# - -# Front end to _call_program to add in the global arguments -# passed to p4. The first argument is the tag, the remaining -# arguments are passed to p4. Typically the tag is the same -# as the first p4 argument. -(( $+functions[_perforce_call_p4] )) || -_perforce_call_p4() { - local cp_tag=$1 - shift - # This is for our own use for parsing, and we need English output, - # so... - local +x P4LANGUAGE - _call_program $cp_tag command p4 "${_perforce_global_options[@]}" "$@" -} - - -# The list of commands is cached in _perforce_cmd_list, but we -# only generate it via this function when we need it. -(( $+functions[_perforce_gen_cmd_list] )) || -_perforce_gen_cmd_list() { - (( ${+_perforce_cmd_list} )) || typeset -ga _perforce_cmd_list - local hline line match mbegin mend - # Output looks like <tab>command-name<space>description in words... - # Ignore blank lines and the heading line beginning `Perforce...' - # Just gets run once, then cached, so don't bother optimising - # this to a grossly unreadable parameter substitution. - _perforce_cmd_list=() - _perforce_call_p4 help-commands help commands | while read -A hline; do - if (( ${#hline} < 2 )); then - if (( ${#_perforce_cmd_list} )); then - # Ignore comments after the main list of commands, separate by blank - # line. - break - else - continue - fi - fi - [[ $hline[1] = (#i)perforce ]] && continue - _perforce_cmd_list+=("${hline[1]}:${hline[2,-1]}") - done - # Also cache the server version for nefarious purposes. - _perforce_call_p4 info info | while read line; do - if [[ $line = (#b)"Server version: "*/*/(<->.<->)(.[^/]|)/*" "* ]]; then - _perforce_server_version=$match[1] - fi - done - - # Unsupported commands: we could look through p4 help undoc, I suppose. - # I can't be bothered to check the date when they appeared any more, - # but let's at least check they're not already there. - local -a unsup - unsup=( - "attribute:set attributes for open file (EXPERIMENTAL)" - "dbschema:report meta database information" - "export:extract journal or checkpoint records" - "interchanges:report changes not yet integrated between branches" - "replicate:poll for journal changes and apply to another server" - "spec:allows limited changes to form specifications (admin)" - ) - for line in $unsup; do - if [[ ${_perforce_cmd_list[(r)${line%%:*}:*]} = '' ]]; then - _perforce_cmd_list+=($line) - fi - done -} - - -(( $+functions[_perforce_commands] )) || -_perforce_commands() { - (( ${#_perforce_cmd_list} )) || _perforce_gen_cmd_list - _describe -t p4-commands 'Perforce command' _perforce_cmd_list -} - - -(( $+functions[_perforce_command_args] )) || -_perforce_command_args() { - local curcontext="$curcontext" cmd=${words[1]} - if (( $+functions[_perforce_cmd_$cmd] )); then - curcontext="${curcontext%:*:*}:p4-${cmd}:" - _perforce_cmd_$cmd - else - _message "unhandled perforce command: $cmd" - fi -} - - -(( $+functions[_perforce_service_dispatch] )) || -_perforce_service_dispatch() { - # Put the original command name back, then dispatch for - # our Perforce handler. - words=($1 "$words[@]") - (( CURRENT++ )) - _perforce_cmd_$2 -} - - -# -# Helper functions -# - -(( $+functions[_perforce_global_options] )) || -_perforce_global_options() { - # Options with arguments we need to pass down when calling - # p4 from completers. There are no options without arguments - # we need to pass. (Don't pass down -L language since we - # parse based on English output.) - local argopts_pass="cCdHpPu" - # Other options which have arguments but we shouldn't pass down. - # There are some debugging options, but they tend to get used - # with the argument in the same word as the option, in which - # case they will be handled OK anyway. - local argopts_ignore="Lx" - - # The options we support in the form for _arguments. - # This is here for modularity and convenience, but note that since the - # actual dispatch takes place later, this is not local to this - # function and so must be made local in the caller. - _perforce_option_dispatch=( - '-c+[client]:client:_perforce_clients' \ - '-C+[charset]:charset:_perforce_charsets' \ - '-d+[current directory]:directory:_path_files -g "*(/)"' \ - '-H+[hostname]:host:_perforce_hosts' \ - '-G[python output]' \ - '-L+[message language]:language: ' \ - '-p+[server port]:port:_perforce_hosts_ports' \ - '-P+[password on server]:password: ' \ - '-s[output script tags]' \ - '-u+[user]:user name:_perforce_users' \ - '-x+[filename or -]:file:_perforce_files_or_minus' \ - '-z+[select output format]:output format:(tag)' - ) - - integer i - - # We need to try and check if we are before or after the - # subcommand, since some of the options with arguments, in particular -c, - # work differently. It didn't work if I just added '*::...' to the - # end of the arguments list, anyway. - for (( i = 2; i < CURRENT; i++ )); do - if [[ $words[i] = -[$argopts_pass$argopts_ignore] ]]; then - # word with following argument --- check this - # is less than the current word, else we are completing - # this and shouldn't pass it down - if [[ $(( i + 1 )) -lt $CURRENT && \ - $words[i] = -[$argopts_pass] ]]; then - _perforce_global_options+=(${words[i,i+1]}) - fi - (( i++ )) - elif [[ $words[i] = -[$argopts_pass]* ]]; then - # word including argument which we want to keep - _perforce_global_options+=(${words[i]}) - elif [[ $words[i] != -* ]]; then - break - fi - done - - (( _perforce_cmd_ind = i )) - (( _perforce_cmd_ind >= CURRENT )) -} - -(( $+functions[_perforce_branches] )) || -_perforce_branches() { - local bline match mbegin mend - local -a bl - bl=(${${${${(f)"$(_perforce_call_p4 branches branches 2>/dev/null)"}##Branch }//:/\\:}/ /:}) - [[ $#bl -eq 1 && $bl[1] = '' ]] && bl=() - (( $#bl )) && _describe -t branches 'Perforce branch' bl -} - - -(( $+functions[_perforce_changes] )) || -_perforce_changes() { - local cline match mbegin mend max ctype num comma file - local -a cl cstatus amax xargs - - zstyle -s ":completion:${curcontext}:changes" max max || max=20 - zstyle -a ":completion:${curcontext}:changes" changes xargs - if [[ ${NUMERIC:-0} -lt 0 && -z $compstate[insert] ]]; then - # Not inserting (i.e. just listing) and given a negative - # prefix argument. Instead of listing possible completions, - # show the full description for the change number on the line at - # the moment. - [[ $PREFIX = (|*[^[:digit:]])(#b)(<->) ]] && num+=$match[1] - [[ $SUFFIX = (#b)(<->)* ]] && num+=$match[1] - if [[ -n $num ]]; then - _message -r "$(_perforce_call_p4 describe describe $num)" - return 0 - fi - elif [[ ${NUMERIC:-0} -gt 0 ]]; then - max=$NUMERIC - fi - - (( max )) && amax=(-m $max) - - # Hack: assume the arguments we want are at the end. - while [[ $argv[-1] = -t? ]]; do - case $argv[-1] in - # Change embedded in filename; extract that and remove - # the corresponding prefix. Remove possible `#'s, too, - # in case we are looking at a range. - (-tf) - file=${${(Q)PREFIX}%%[\#@]*} - compset -P '*@(|\\\<|\\\>)(|=)' - ;; - - # Changes already submitted - (-ts) - cstatus=(-s submitted) - ctype="submitted " - ;; - - # Changes still pending - (-tp) - cstatus=(-s pending) - ctype="pending " - ;; - - # Changes still pending and on the current client. - # Many uses of pending changes must be on the current client - # to be meaningful, in particular submitting a change or - # associating a file or operation with a particular change. - (-tc) - # Don't like this way of extracting the client to use, - # but I don't see a simpler one. We do at least make sure - # we call p4 with the same arguments as we will use with p4 changes. - cstatus=(-s pending -c "$(_perforce_call_p4 client client -o | -awk '/^Client:/ { print $2 }')") - ctype="local pending " - ;; - - # Changes that were shelved - (-tS) - cstatus=(-s shelved) - ctype="shelved " - ;; - - # Range allowed: append comma and supply rules for - # removing and handling subsequent `#'. - (-tR) - comma=(-S, -R _perforce_file_suffix) - esac - argv=($argv[1,-2]) - done - # Limit to the 20 most recent changes by default to avoid huge - # output. - cl=( -${${${${${(f)"$(_perforce_call_p4 changes changes $amax $xargs $cstatus \$file)"}##Change\ }//:/\\:}//\ on\ /:}/\ by\ /\ } - ) - # "default" can't have shelved files in it... - [[ $ctype = shelved* ]] || cl+=("default:change not yet numbered") - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t changes "${ctype}change" cl -V changes-unsorted $comma -} - - -(( $+functions[_perforce_charsets] )) || -_perforce_charsets() { - local expl - _wanted charset expl 'character set' \ - compadd eucjp iso8859-1 shiftjis utf8 winansi -} - - -(( $+functions[_perforce_clients] )) || -_perforce_clients() { - local -a slash cl - - # Are we completing after an @, or a client view in a filespec? - if ! compset -P '*@'; then - compset -P '//' && slash=(-S/ -q) - fi - - cl=(${${${${(f)"$(_perforce_call_p4 clients clients)"}##Client\ }//:/\\:}/\ /:}) - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t clients 'Perforce client' cl $slash -} - - -(( $+functions[_perforce_counters] )) || -_perforce_counters() { - local cline match mbegin mend - local -a cl - - cl=(${${${${(f)"$(_perforce_call_p4 counters counters)"}//:/\\:}/\ /:}/\=/current value}) - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t counters 'Perforce counter' cl -} - - -(( $+functions[_perforce_counter_values] )) || -_perforce_counter_values() { - if [[ -n $words[CURRENT-1] ]]; then - local value="$(_perforce_call_p4 counter counter $words[CURRENT-1] 2>/dev/null)" - if [[ -n $value ]]; then - # No space. This allows stuff like incarg and decarg. - compstate[insert]=1 - _wanted value expl 'counter value' compadd $value - fi - fi -} - - -(( $+functions[_perforce_dates] )) || -_perforce_dates() { - # Only useful in a file spec after `@'. - compset -P '*@(|\\\<|\\\>)(|=)' - - # Date/time now in format required by Perforce. - local now="$(date +%Y:%m:%d:%T)" name prefix - local -a nowarray offer opts matchpats suffixes names - nowarray=(${(s.:.)now}) - - names=( year month day\ of\ month hour minute second) - suffixes=( / / : : : '' ) - - integer i - prefix=${(Q)PREFIX} - for (( i = 6; i >= 1; i-- )); do - # Match from the most specific back. - # The following is one of those occasions where zsh - # substitution skips to the right answer without ever - # passing through the real world on the way. - if [[ $prefix = *${(j.*.)~suffixes[1,i-1]}* ]]; then - (( i > 1 )) && compset -P "*$suffixes[i-1]" - # If what's there already is the right length, - # just accept it and add the suffix. - prefix=${(Q)PREFIX} - if [[ ${#prefix} = ${#nowarray[i]} ]]; then - offer=($prefix) - else - offer=($nowarray[i]) - fi - [[ -n $suffixes[i] ]] && opts=(-S $suffixes[i] -q) - name=$names[i] - break - fi - done - - _describe -t dates $name offer $opts -} - - -(( $+functions[_perforce_dbtables] )) || -_perforce_dbtables() { - local -a tables - tables=(archmap bodtext change changex counters depot domain have integ - integed ixtext label locks resolve rev revcx revdx revhx revsx trigger - user view working) - _describe -t db-table "DB table" tables -} - - -(( $+functions[_perforce_depots] )) || -_perforce_depots() { - local dline match mbegin mend - local -a dl - - dl=(${${${${(f)"$(_perforce_call_p4 depots depots)"}##Depot\ }//:/\\:}/\ /:}) - [[ $#dl -eq 1 && $dl[1] = '' ]] && dl=() - _describe -t depots 'depot name' dl -} - - -(( $+functions[_perforce_files_or_minus] )) || -_perforce_files_or_minus() { - _alternative 'minus:minus sign:(-)' 'files:file name:_files' -} - - -(( $+functions[_perforce_file_suffix] )) || -_perforce_file_suffix() { - # Used with compadd -R to handle @ or # after a file name. - # Differs from compadd -r '...' in that it quotes `#' if typed. - [[ $1 = 1 ]] || return - - if [[ $LBUFFER[-1] = [\ ,] ]]; then - if [[ $KEYS = '#' ]]; then - if [[ $LBUFFER[-1] = , ]]; then - # Range: no suffix removal but add a backslash - LBUFFER+=\\ - else - # Suffix removal with an added backslash - LBUFFER="$LBUFFER[1,-2]\\" - fi - elif [[ $KEYS = (*[^[:print:]]*|[[:blank:]\;\&\|]) || \ - ( $KEYS = @ && $LBUFFER[-1] = ' ' ) ]] ; then - # Normal suffix removal - LBUFFER="$LBUFFER[1,-2]" - fi - elif [[ $LBUFFER[-1] = / ]]; then - # Normal suffix removal for directories. - if [[ $KEYS = (*[^[:print:]]*|[[:blank:]\;\&\|/]) ]]; then - LBUFFER="$LBUFFER[1,-2]" - fi - fi -} - - -# Helper function for the helper function for the helper functions -# for the helper function _perforce_files. -# -# Check if we should do whole-path completion. -# The argument is the Perforce disposition of files are looking at. -_perforce_whole_path() { - local wp - - zstyle -s ":completion:${curcontext}:$1" whole-path wp - case $wp in - (true|yes|on|1) - return 0 - ;; - - (absolute) - [[ ${(Q)PREFIX} = /* ]] && return 0 - ;; - esac - - return 1 -} - -# -# Helper function for the helper function _perforce_retreive_files -# for the helper functions for the helper function _perforce files. -# -# This code retrieves the list of files with a glob filter and -# possibly a line filter specified by the caller. The line filter -# must match the entire line. -# -# Result returned in $files. -# -(( $+functions[_perforce_filter_files] )) || -_perforce_filter_files() { - local call="$1" - local globfilter="$2" - local linefilter="$3" - local line - - if [[ -n $linefilter ]]; then - files=( - ${${${(f)"$(_perforce_call_p4 $call $call $globfilter 2>/dev/null)"}:#${~linefilter}}%%\#*} - ) - else - files=( - ${${(f)"$(_perforce_call_p4 $call $call $globfilter 2>/dev/null)"}%%\#*} - ) - fi -} - -# -# Helper function for the helper functions for the helper function -# _perforce_files. This is common code to retrieve a list of files -# from Perforce. -# -# First argument is the p4 subcommand used to list the files. -# This is also used as a tag for the style to decide whether -# to limit the list within Perforce. It may have a colon -# followed by a shell pattern to match lines to be excluded -# from the match. -# -# Remaining arguments are additional arguments to compadd. -# -(( $+functions[_perforce_retrieve_files] )) || -_perforce_retrieve_files() { - local pfx exclude - local -a files match mbegin mend - - if [[ $1 = (#b)([^:]##):(*) ]]; then - 1=$match[1] - exclude=$match[2] - fi - - if _perforce_whole_path $1; then - _perforce_filter_files $1 '' $exclude - elif zstyle -t ":completion:${curcontext}:$1" glob; then - # Limit the list by using Perforce to glob the pattern. - # This may be faster, but won't use matcher specs etc. - pfx=${(Q)PREFIX} - compset -P '*/' - _perforce_filter_files $1 '"$pfx*${(Q)SUFFIX}"' $exclude - files=(${files##*/}) - else - # We need to limit the list to a directory. - if [[ $PREFIX = */* ]]; then - pfx="${(Q)${PREFIX%/*}}/*" - else - pfx="*" - fi - compset -P '*/' - _perforce_filter_files $1 '$pfx' $exclude - files=(${files##*/}) - fi - [[ $#files -eq 1 && $files[1] = '' ]] && files=() - shift - compadd "$@" -a files -} - - -# -# Helper functions for the helper function _perforce_files. These files -# are low-level enough that they don't handle tags; this is done -# by the _alternative handler in _perforce_files. -# - -(( $+functions[_perforce_integrated_files] )) || -_perforce_integrated_files() { - local pfx=${(Q)PREFIX} type - local -a files - - _perforce_retrieve_files integrated "$@" -} - - -(( $+functions[_perforce_opened_files] )) || -_perforce_opened_files() { - local csuf - - if [[ -n $_perforce_exclude_change ]]; then - if [[ $_perforce_exclude_change = default ]]; then - csuf=":* default change [^#]#" - else - csuf=":* change $_perforce_exclude_change [^#]#" - fi - fi - - _perforce_retrieve_files opened$csuf "$@" -} - - -(( $+functions[_perforce_resolved_files] )) || -_perforce_resolved_files() { - _perforce_retrieve_files resolved "$@" -} - - -# This has no other function than to offer to add the `...' used -# by Perforce to indicate a recursive search of directories. -# Bit pathetic, really. -# -# This has been causing odd effects with prefixes so is turned off. -#(( $+functions[_perforce_subdirs] )) || -#_perforce_subdirs() { -# if [[ $PREFIX = */* ]]; then -# local dir=${PREFIX%%[^/]#} -# compadd "$@" -J subdirs -p $dir ... -# else -# compadd "$@" -J subdirs ... -# fi -#} - - -(( $+functions[_perforce_depot_dirs] )) || -_perforce_depot_dirs() { - # Normal completion of directories in depots - - _perforce_retrieve_files dirs "$@" -S / -q -} - - -(( $+functions[_perforce_depot_files] )) || -_perforce_depot_files() { - # Normal completion of files in depots - - _perforce_retrieve_files files "$@" -R _perforce_file_suffix -} - - -(( $+functions[_perforce_client_dirs] )) || -_perforce_client_dirs() { - # This is a slightly odd addition which isn't often necessary. - # When completing directories in a client specification, Perforce - # doesn't tell you about intermediate directories which are in - # the client, but not in the depot. (Well... sometimes. I've - # had some odd results with this. I suspect there may be a bug - # but I don't really know enough to be sure.) - # - # For example, if my view contains - # //depot/branches/rev1.2/... //pws_client/branches/rev1.2/... - # then `p4 dirs "//pws_client/*"' won't mention the `branches' - # directory because the view actually starts lower down. So - # we add it by hand when necessary. - # - # We don't want to waste time on this, since it's not the usual - # case, so we cache the results where necessary. This means - # recording all the clients that we can later ask about if necessary. - # To flush the cache, `unset _perforce_client_list _perforce_client_dirs'. - if (( ! ${+_perforce_client_list} )); then - # Retrieve the list of clients. - typeset -gA _perforce_client_list - local -a tmplist - local tmpelt - tmplist=(${${${(f)"$(_perforce_call_p4 clients clients)"}##Client\ }%%\ *}) - [[ $#tmplist -eq 1 && $tmplist[1] = '' ]] && tmplist=() - for tmpelt in $tmplist; do - _perforce_client_list[$tmpelt]=1 - done - fi - - # See if the first path element is a client. Very often it - # will actually be a depot, so we test this as quickly as possible. - local client=${${PREFIX##//}%%/*} - [[ -z ${_perforce_client_list[$client]} ]] && return 1 - - local oldifs=$IFS IFS= type dir line dirs - - (( ${+_perforce_client_dirs} )) || typeset -gA _perforce_client_dirs - - if (( ${+_perforce_client_dirs[$client]} )); then - # Already cached, although may be empty. - dirs=${_perforce_client_dirs[$client]} - else - # We need to look at the View stanza of the client record - # to see what directories exist in the client view. - _perforce_call_p4 client "client -o $client" 2>/dev/null | while read line - do - case $line in - ([[:blank:]]##) - type= - ;; - - ((#b)([[:alpha:]]##):*) - type=${match[1]} - ;; - - (*) - if [[ $type = View ]]; then - dir=${${line##[[:blank:]]##//*[[:blank:]]//$client}%%/...(/*|)} - if [[ $#dir -gt 1 ]]; then - dirs+="${dirs:+ }${(q)dir##/}" - fi - fi - ;; - esac - done - fi - - (( ${#dirs} )) || return 1 - - # Turn our string of space-separated backquoted elements into an array. - dirs=(${(z)dirs}) - # Get the current prefix also as an array of elements - compset -P '//[^/]##/' - pfx=(${(s./.)${(Q)PREFIX}}) - - local -a ndirs - local match mbegin mend - # Check matching path segments - while (( ${#pfx} > 1 )); do - ndirs=() - for dir in $dirs; do - if [[ $dir = $pfx/(#b)(*) ]]; then - ndirs+=($match[1]) - fi - done - (( ${#ndirs} )) || return 1 - dirs=($ndirs) - shift pfx - compset -P '[^/]' - done - compadd -S / -q "$@" -- ${dirs%%/*} -} - -(( $+functions[_perforce_files] )) || -_perforce_files() { - local pfx fline expl opt match mbegin mend range type - local -a files types - - local dodirs unmaintained - # Suffix operations can modify context - local curcontext="$curcontext" - # Used to inhibit directory completion - local nodirs - - while (( $# )); do - if [[ $1 = -t(#b)(?) ]]; then - case $match[1] in - (d) - dodirs=-/ - ;; - - (u) - unmaintained=1 - ;; - - (i) - types+=(integrated) - ;; - - (o) - types+=(opened) - ;; - - (r) - types+=(resolved) - ;; - - (R) - range="-tR" - ;; - esac - fi - shift - done - - # Remove the quotes present in the word on the command line, - # since we will treat this as a literal string from now on. - # We might get into problems with characters recognised as - # special by p4 files and p4 dirs, but worry about that later. - pfx=${(Q)PREFIX} - - if [[ -prefix *@ ]]; then - # Modify context to indicate we are in a suffix. - curcontext="${curcontext%:*}:at-suffix" - # Check for existing range syntax - [[ $PREFIX = *[@\#]*,* ]] && range= - # After @ you can specify changes, clients, labels or dates. - # Note we don't remove the prefix here; we leave it to the - # subcommand. This is in case it needs information from - # the prefix; _perforce_changes uses this to limit the - # output to relevant changes. - _alternative \ - "changes:change:_perforce_changes $range -tf" \ - clients:client:_perforce_clients \ - "labels:label:_perforce_labels -tf" \ - 'dates:date (+ time):_perforce_dates' - elif [[ -prefix *\# ]]; then - # Modify context to indicate we are in a suffix. - curcontext="${curcontext%:*}:hash-suffix" - # Check for existing range syntax - [[ $PREFIX = *[@\#]*,* ]] && range= - # Remove longest possible tail match to get name --- this - # automatically handles filenames in ranges e.g. `foo#1,#3'. - # (Note the compset removes the maximum possible head match, - # so we only complete the second part of the range in that case.) - _perforce_revisions $range - elif [[ $PREFIX = //* ]]; then - # This specifies files already handled by Perforce, so there's - # no point trying to look for unmaintained files. Assume - # the user knows what they're doing. - local -a altfiles - integer whole_path - - for type in $types; do - _perforce_whole_path $type && whole_path=1 - done - - # If we're doing whole-path completion, and the user starts - # a completion early, assume they want just those files, - # rather than a client spec. This isn't necessarily the case, - # but there's an excellent chance it does fit the user's intention - # in a case where it's not really worth adding a special option. - # A client list can be huge and they're not actually used very - # often to refer to files. In fact, this whole completion - # probably ought to be optional (you can do it with tags if - # you really want). - if [[ $PREFIX = //[^/]# && $whole_path -eq 0 ]]; then - # Complete //clientname or //depot spec. - # Don't complete non-directories... - # I don't actually know if they are valid here. - altfiles+=("clients:Perforce client:_perforce_clients" - "depots:Perforce depot:_perforce_depots") - else - local donefiles=1 - if [[ -z $dodirs ]]; then - if [[ ${#types} -gt 0 ]] && - ! zstyle -t ":completion:${curcontext}:" all-files; then - for type in $types; do - altfiles+=("$type-files:$type file:_perforce_${type}_files") - done - (( whole_path )) && nodirs=1 - else - altfiles+=("depot-files:file in depot:_perforce_depot_files") - fi - fi - if [[ -z $nodirs ]]; then - # Intermediate directories in a client view. - # See function for notes. - altfiles+=("client-dirs:client directory:_perforce_client_dirs") - fi - fi - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs" -# "subdirs:subdirectory search:_perforce_subdirs" - ) - _alternative $altfiles - elif [[ -n $unmaintained ]]; then - # As directories are always umaintained, but may contain files - # we want to add, we'll always complete directories here. That's - # neater than the alternative of excluding them here and requesting - # them separately in the caller. The only client for this - # branch is currently 'p4 add'. - # - # Unmaintained files can't be integrated, opened - # or resolved, so treat as exclusive to other options (just as well, since - # this bit's messy). - local MATCH MBEGIN MEND - local -a omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - pfx="$match[1]" - pfx=${(e)~pfx} - # Exclude both files already known to perforce, plus - # those opened. There will be some overlap but we need - # to exclude files that are already opened for add. - omitpats=( - ${${${${(f)"$(_perforce_call_p4 files files \"\$pfx\*\$\{\(Q\)SUFFIX\}\" 2>/dev/null)"}%\#*}##*/}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ${${${${(f)"$(_perforce_call_p4 opened opened \"\$pfx\*\$\{\(Q\)SUFFIX\}\" 2>/dev/null)"}%\#*}##*/}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ) - - [[ $#omitpats -eq 1 && $omitpats[1] = '' ]] && omitpats=() - if (( ${#omitpats} )); then - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D)" - else - _path_files - fi - # Don't handle suffixes for non-entried files - elif (( ${#types} )) && ! zstyle -t ":completion:${curcontext}:" all-files - then - local -a altfiles - - for type in $types; do - altfiles+=("$type-files:$type file:_perforce_${type}_files") - _perforce_whole_path $type && nodirs=1 - done - - if [[ -z $nodirs ]]; then -# altfiles+=("subdirs:subdirectory search:_perforce_subdirs") - if zstyle -t ":completion:${curcontext}:" depot-files; then - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs") - else - altfiles+=("directories:directory:_path_files -/") - fi - fi - _alternative $altfiles - elif zstyle -t ":completion:${curcontext}:" depot-files; then - local -a altfiles - if [[ -z $dodirs ]]; then - altfiles+=("depot-files:file in depot:_perforce_depot_files") - fi - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs" -# "subdirs:subdirectory search:_perforce_subdirs" - ) - _alternative $altfiles - else - # Look locally. -# _alternative \ -# "files:file:_path_files -R _perforce_file_suffix $dodirs" \ -# "subdirs:subdirectory search:_perforce_subdirs" - _path_files -R _perforce_file_suffix $dodirs - fi -} - - -# -# Remaining helpers for other types of Perforce metadata. -# - -(( $+functions[_perforce_filetypes] )) || -_perforce_filetypes() { - local -a values - if compset -P '*+*'; then - # That second `*' is deliberate --- only complete the last - # letter since we can have a whole string of them. - values=( - "m:always set modtime on client" - "w:always writeable on client" - "x:set exec bit on client" - "k:full RCS keyword expansion" - "ko:RCS expansion only for Id, Header" - "l:exclusive open, disallow multiple opens" - "C:server stores compress file per revision" - "D:server stores deltas in RCS format" - "F:server stores full file per revision" - "S:server stores only head revision" - "X:externally archived file" - ) - _describe -t file-modifiers 'Perforce file modifier' values - else - values=( - "text:text, translate newlines" - "binary:raw bytes" - "symlink:symbolic link" - "apple:Mac resource + data" - "unicode:text, translate newlines, store as UTF-8") - _describe -t file-types 'Perforce file type' values -S+ -q - fi -} - - -(( $+functions[_perforce_fstat_fields] )) || -_perforce_fstat_fields() { - local sep - if [[ $argv[-1] = -tv ]]; then - # jobview, space is separator - sep=' ' - else - sep=',' - fi - local -a values - # yes, "phew", sorry. - # output from "p4 help fstat" gives fields like - # digest -- MD5 digest (fingerprint) - # etc. etc. - values=( - ${${${${(M)${(f)"$(_perforce_call_p4 help-fstat help fstat)"}:#[[:blank:]]#[a-zA-Z]##(|\#)[[:blank:]]##--*}##[[:blank:]]#}:#fstat *}//[[:blank:]]##--[[:blank:]]##/:} - ) - compset -P '*[,[:blank:]]' - _describe -t fstat-fields 'Perforce fstat field' values -S, -q -} - - -(( $+functions[_perforce_groups] )) || -_perforce_groups() { - local -a values - values=($(_perforce_call_p4 groups groups)) - _describe -t groups 'Perforce group' values -} - - -(( $+functions[_perforce_hosts] )) || -_perforce_hosts() { - local expl host - # Completion for p4 -H; other forms of host completion - # go through _perforce_hosts_ports. - # From Felix: if the client specifies a hostname, there's - # no point using any other host, since it won't work. - host=$(_perforce_call_p4 client client -o | - awk '$1 ~ /^Host:/ {print $2}' ) - if [[ -n $host ]]; then - _wanted hosts expl host compadd "$@" $host - else - _hosts - fi -} - - -(( $+functions[_perforce_hosts_ports] )) || -_perforce_hosts_ports() { - if compset -P '*:'; then - _ports - local expl - _wanted ports expl port compadd "$@" 1666 - else - # is this -q-able? - _hosts -S : - fi -} - -(( $+functions[_perforce_jobs] )) || -_perforce_jobs() { - # Optional argument is jobview for limiting jobs. - local jline match mbegin mend max jobview - local -a jl amax ajobview - - zstyle -s ":completion:${curcontext}:jobs" max max || max=20 - # Hack: if there is a job view, it is at the end. - # This is nasty, it's really unnecessarily difficult to - # pass arguments within completion functions... - if [[ $argv[-2] = -e ]]; then - ajobview=(-e "${(q)argv[-1]}") - argv=("${(@)argv[1,-3]}") - elif zstyle -s ":completion:${curcontext}:jobs" jobview jobview; then - ajobview=(-e "'$jobview'") - elif [[ -n $PREFIX ]]; then - # Extra quotes for the benefit of _call_program which does an "eval". - ajobview=(-e "'job=$PREFIX\\*$SUFFIX'") - fi - if [[ ${NUMERIC:-0} -lt 0 && -z $compstate[insert] ]]; then - # Not inserting (i.e. just listing) and given a negative - # prefix argument. Instead of listing possible completions, - # show the full description for the job which is on the line at - # the moment. - _message -r "$(_perforce_call_p4 jobs jobs -e \"'Job=\$PREFIX\$SUFFIX'\" -l 2>/dev/null)" - return 0 - elif [[ ${NUMERIC:-0} -gt 0 ]]; then - max=$NUMERIC - fi - - (( max )) && amax=(-m $max) - - _perforce_call_p4 jobs jobs $ajobview $amax | while read jline; do - if [[ $jline = (#b)([^[:blank:]]##)' '[^[:blank:]]##' '(*) ]]; then - jl+=("${match[1]}:${match[2]}") - fi - done - _describe -t jobs 'Perforce job' jl -V jobs-unsorted -} - -(( $+functions[_perforce_jobviews] )) || -_perforce_jobviews() { - # Jobviews (see `p4 help jobview') are ways of interrogating the - # jobs/fixes database. It's basically either a set of strings, - # or a set of key=value pairs, or some combination, separated - # by various logical operators. The `=' could be a comparison, - # but we don't currently bother with that here; it's a bit cumbersome - # to complete. - local line type oldifs=$IFS IFS= key value slash=/ - local match mbegin mend - # This is simply to split out two space-delimited words a backreferences. - local m2words - m2words='(#b)[[:blank:]]##([[:alnum:]]##)[[:blank:]]##([^[:blank:]]##)' - - local -a valuespec - local -A p4fields p4values - - # All the characters which can separate multiple match attempts. - # Ignore up to the last one. We don't try to complete these. - compset -P '*[[:blank:]\^\&\|\(\)]' - - # According to the manual, `p4 jobspec' requires admin privileges. - # If this is true even of `p4 jobspec -o', we are a bit screwed. - _perforce_call_p4 jobspec jobspec -o 2>/dev/null | while read line; do - case $line in - ([[:blank:]]##) - type= - ;; - - ((#b)([[:alpha:]]##):*) - type=${match[1]} - ;; - - (*) - case $type in - # This stanza tells us all the allowed fields. - (Fields) - if [[ $line = [[:blank:]]##<->${~m2words}* ]]; then - p4fields[${(L)match[1]}]=${match[2]} - fi - ;; - - # This stanza gives allowed values for the `select' types. - (Values) - if [[ $line = ${~m2words}* ]]; then - p4values[${(L)match[1]}]=${match[2]} - fi - ;; - esac - - ;; - esac - done - - IFS=$oldifs - - if (( ! ${#p4fields} )); then - # We didn't get anything; add the defaults. - p4fields=( - date date - description text - job word - status select - user word - ) - p4values=( - status open/suspended/closed - ) - fi - - for key in ${(k)p4fields}; do - if [[ -n ${p4values[$key]} ]]; then - valuespec+=("${key}:${p4fields[$key]}:(${p4values[$key]//$slash/ })") - elif [[ $key = job ]]; then - # Nothing special for jobs; add our own completion. - valuespec+=("${key}:Perforce job:_perforce_jobs") - elif [[ $key = user ]]; then - # Nothing provided for user; add our own completion. - valuespec+=("${key}:user:_perforce_users") - else - valuespec+=("${key}:${p4fields[$key]}: ") - fi - done - - _values 'Job specification parameter' $valuespec -} - -(( $+functions[_perforce_labels] )) || -_perforce_labels() { - local lline file - local -a ll match mbegin mend - - if [[ $argv[-1] = -tf ]]; then - argv=($argv[1,-2]) - # Completing after `@'. - file=${${(Q)PREFIX}%%@*} - compset -P '*@(|\\\<|\\\>)(|=)' - fi - - ll=(${${(f)"$(_perforce_call_p4 labels labels ${file:+\$file})"}//(#b)Label\ ([^[:blank:]]##)\ (*)/$match[1]:$match[2]}) - _describe -t labels 'Perforce label' ll -} - - -(( $+functions[_perforce_revisions] )) || -_perforce_revisions() { - # Doesn't handle standard completion options; requires space - # in front if used as action in _arguments. - - local rline match mbegin mend comma expl pfx - local -a rl - - if [[ $1 = -tR ]]; then - # handle ranges - comma=(-S, -R _perforce_file_suffix) - shift - fi - - # Beware of @foo,#bar; stupid but valid. - pfx=${${(Q)PREFIX}%%[\#@]*} - compset -P '*\#(|\\\<|\\\>)(|=)' - - # Numerical revision numbers, possibly with text. - if [[ -z $PREFIX || $PREFIX = <-> ]]; then - # always allowed (same as none) - rl+=(0) - _perforce_call_p4 filelog 'filelog $pfx' 2>/dev/null | while read rline; do - if [[ $rline = (#b)'... #'(<->)' change '(*) ]]; then - rl+=("${match[1]}:${match[2]}") - fi - done - fi - # Non-numerical (special) revision names. - if [[ -z $PREFIX || $PREFIX != <-> ]]; then - rl+=('head:head revision' 'none:empty revision' - 'have:current synced revision') - fi - _describe -t revisions 'revision' rl -V revisions-unsorted $comma -} - - -(( $+functions[_perforce_statuses] )) || -_perforce_statuses() { - # Perforce statuses are usually limited to a set of values - # given by the jobspec. - local jline match mbegin mend - local -a statuses - - _perforce_call_p4 jobspec jobspec -o | while read jline; do - if [[ $jline = (#b)Status[[:blank:]]##(*/*) ]]; then - statuses=(${(s./.)match[1]}) - break - fi - done - if (( !${#statuses} )); then - # Couldn't find anything from the jobspec; add defaults. - statuses=(closed open suspended) - fi - _describe -t statuses 'job status' statuses -} - - -(( $+functions[_perforce_submit_options] )) || -_perforce_submit_options() { - local -a soptions - soptions=('submitunchanged:submit all open files (default)' - 'revertunchanged:revert unchanged files' - 'leaveunchanged:move unchanged files to default changelist') - soptions+=(${^${soptions//:/+reopen:}}", leave submitted open") - _describe -t submit-options 'submit option' soptions -} - - -(( $+functions[_perforce_pids] )) || -_perforce_pids() { - local -a ul - - ul=(${${${${(f)"$(_perforce_call_p4 monitor monitor show 2>/dev/null)"}# *}//:/\\:}/\ /:}) - [[ $#ul -eq 1 && $ul[1] = '' ]] && ul=() - _describe -t id 'process ID' ul -} - - -(( $+functions[_perforce_users] )) || -_perforce_users() { - local -a ul - - ul=(${${${(f)"$(_perforce_call_p4 users users)"}//:/\\:}/\ /:}) - [[ $#ul -eq 1 && $ul[1] = '' ]] && ul=() - _describe -t users 'Perforce user' ul -} - - -(( $+functions[_perforce_users_or_groups] )) || -_perforce_users_or_groups() { - _alternative 'groups:Perforce group:_perforce_groups' \ - 'users:Perforce user:_perforce_users' -} - -(( $+functions[_perforce_variables] )) || -_perforce_variables() { - local line match mbegin mend expl - local -a vars - - _perforce_call_p4 help-environment help environment | while IFS= read line - do - if [[ $line = $'\t'(#b)([A-Z][A-Z0-9_]##)* ]]; then - vars+=($match[1]) - fi - done - - _wanted variable expl 'environment variable' compadd -S= -q $vars -} - -# -# Completions for p4 commands -# - -(( $+functions[_perforce_cmd_add] )) || -_perforce_cmd_add() { - _arguments -s : \ - '-c[add files to change]:change:_perforce_changes -tc' \ - '-d[reopen files for add]' \ - '-f[allow filenames with wild cards]' \ - '-I[do not perform ignore checking]' \ - '-n[preview add]' \ - '-t[set file type]:file type:_perforce_filetypes' \ - '*:file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_admin] )) || -_perforce_cmd_admin() { - if (( CURRENT == 2 )); then - local -a adcmds - adcmds=( - "checkpoint:checkpoint, save copy of journal file" - "dbstat:db tables" - "journal:save and truncate journal file" - "logstat:report sizes of log files" - "stop:stop the server") - _describe -t commands 'Perforce admin command' adcmds - else - case $words[2] in - (checkpoint|journal) - shift words - (( CURRENT-- )) - _arguments -s : \ - '-z[gzip journal file]' \ - '1::journal file prefix: ' - ;; - - (dbstat) - shift words - (( CURRENT -- )) - _arguments -s : \ - '-s[show sizes]' - esac - fi -} - - -(( $+functions[_perforce_cmd_annotate] )) || -_perforce_cmd_annotate() { - # New in release 2002.2. - # -c was new in about 2003.2. - _arguments -s : \ - '-a[include deleted files and lines]' \ - '-c[output change numbers]' \ - '-d-[select whitespace option]:whitespace option:(( -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-i[follow branches]' \ - '-I[follow all integrations]' \ - '-q[suppress one-line header]' \ - '-t[display binary files]' \ - '-u[output user and date]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_attribute] )) || -_perforce_cmd_attribute() { - # This is currently (2005.1) an unsupported command. - # See "p4 help undoc". - local limit - # If -f is present, search unopened files, else don't - [[ ${words[(I)-f]} -eq 0 ]] && limit=" -to" - _arguments -s : \ - '-n[attribute name]:name: ' \ - '-v[attribute value]:value: ' \ - '-e[use hex value]' \ - '-f[set attribute on submitted file]' \ - '-p[propagate attribute when opened]' \ - '(-v)-i[read attribute from standard input]' \ - "*::file:_perforce_files$limit" -} - - -(( $+functions[_perforce_cmd_branch] )) || -_perforce_cmd_branch() { - _arguments -s : \ - '(-o -S -P)-f[force operation]' \ - '(-o -i -S -P)-d[delete branch]' \ - '(-d -i -f)-o[write branch spec to standard output]' \ - '(-d -o -S -P)-i[read branch spec from standard input]' \ - '(-f -d -i)-S[expose internally generated mapping]:stream: ' \ - '(-f -d -i)-P[treat stream as a child of parent stream]:parent stream: ' \ - '(-i)*::branch name:_perforce_branches' -} - - -(( $+functions[_perforce_cmd_branches] )) || -_perforce_cmd_branches() { - _arguments -s : \ - '(-E)-e[list branches that match pattern]:pattern: ' \ - '(-e)-E[list branches that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-u[list branches owned by user]:user:_perforce_users' \ - '-m[limit output to max branches]:max branches: ' \ - '-t[display time and date]' -} - - -(( $+functions[_perforce_cmd_change] )) || -_perforce_cmd_change() { - local ctype - # Unless forcing or outputting, we don't - # complete committed changes since they can't be altered. - # If deleting and not forcing, the change must be on the current client. - if [[ ${words[(I)-*(f|o)*]} -eq 0 ]]; then - if [[ ${words[(I)-d]} -gt 0 ]]; then - ctype=" -tc" - else - ctype=" -tp" - fi - fi - _arguments -s : \ - '-f[force update of change]' \ - '-s[include fix status in job list]' \ - '(-u -I -o -i -t -U)-d[delete change]' \ - '(-u -d -o -i -t -U --serverid)-o[write change spec to the standard output]' \ - '(-O -I -d -o -i -t -U --serverid)-i[read change spec from the standard input]' \ - '(-s -d -o -i --serverid)-t[set type of change]:type:(public restricted)' \ - '-U[set user of empty change]:user:_perforce_users' \ - '-O[change is original number before submit]' \ - '-I[change is number of Identity field]' \ - '-u[force update of submitted change]' \ - '(-s -u -O -I -o -i -t -U)--serverid[specify server]:server ID: ' \ - "(-i)1::change:_perforce_changes$ctype" -} - - -(( $+functions[_perforce_cmd_changelist] )) || -_perforce_cmd_changelist() { - _perforce_cmd_change "$@" -} - - -(( $+functions[_perforce_cmd_changes] )) || -_perforce_cmd_changes() { - _arguments -s : \ - '-i[include integrated changes]' \ - '-t[display time and date]' \ - '-l[display full change text]' \ - '-L[display truncated change text]' \ - '-f[view restricted changes]' \ - '-c[display changes submitted by client]:client:_perforce_clients' \ - '-e[display changes above this change]:change:_perforce_changes' \ - '-m[limit to max changes]:max changes: ' \ - '-s[limit output to changes with status]:status:(pending shelved submitted)' \ - '-u[display changes owned by user]:user:_perforce_users' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_changelists] )) || -_perforce_cmd_changelists() { - _perforce_cmd_changes "$@" -} - - -(( $+functions[_perforce_cmd_clean] )) || -_perforce_cmd_clean() { - _arguments -s : \ - '-e[clean modified files]' \ - '-a[clean added files]' \ - '-d[clean deleted files]' \ - '-I[do not perform ignore checking]' \ - '-l[output relative paths]' \ - '-n[preview clean]' \ - '*:file:_perforce_files -tu' -} - - - -(( $+functions[_perforce_cmd_client] )) || -_perforce_cmd_client() { - _arguments -s : \ - '-f[force update of client]' \ - '-Fs[force delete with shelved changes]' \ - '(-t -o -S -c -s -i)-d[delete client]' \ - '(-f -d -Fs -s -i --serverid)-o[write client spec to standard output]' \ - '(-t -d -Fs -i --serverid)-S[create new client dedicated to stream]:stream: ' \ - '(-d -Fs -o -c -i --serverid)-s[switch client view without opening editor]' \ - '(-t -d -Fs -o -S -c -s --serverid)-i[read client spec from standard input]' \ - '-t[use client as template]:client:_perforce_clients' \ - '(-f -t -d -Fs -s -i --serverid)-c[yield client spec for stream at moment change was recorded]:change:_perforce_changes -ts' \ - '--serverid[specify server]:server ID: ' \ - '1::file:_perforce_clients' -} - - -(( $+functions[_perforce_cmd_clients] )) || -_perforce_cmd_clients() { - _arguments -s : \ - '-t[display time and date]' \ - '-u[list clients owned by user]:user:_perforce_users' \ - '(-E)-e[list clients that match pattern]:pattern: ' \ - '(-e)-E[list clients that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-m[limit to max clients]:max clients: ' \ - '-S[limit output to clients dedicated to stream]:stream: ' \ - '-U[list unloaded clients]' \ - '(-s)-a[display all clients]' \ - '(-a)-s[display clients dedicated to server]:server ID: ' -} - - -(( $+functions[_perforce_cmd_copy] )) || -_perforce_cmd_copy() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-r[reverse direction of copy]' \ - '-c[open files in change]:change:_perforce_changes -tc' \ - '-f[force creation of extra revisions]' \ - '-n[preview copy]' \ - '-m[limit copy to max files]:max files: ' \ - '-q[suppress normal output messages]' \ - '-v[do not modify client files]' \ - '(-b -s)-S[copy from stream to its parent]:stream: ' \ - '(-b -s)-P[generate branch view using a parent stream]:parent stream: ' \ - '(-b -s)-F[copy against stream'\''s expected flow]' \ - $fileargs -} - -(( $+functions[_perforce_cmd_counter] )) || -_perforce_cmd_counter() { - _arguments -s : \ - '-d[delete counter]' \ - '-f[set or delete internal counter]' \ - '-i[increment counter by 1]' \ - '-m[allow multiple operations]' \ - '1:counter:_perforce_counters' \ - '(-d -i)2::numeric value:_perforce_counter_values' -} - - -(( $+functions[_perforce_cmd_counters] )) || -_perforce_cmd_counters() { - _arguments -s : \ - '-e[list counters that match pattern]:pattern: ' \ - '-m[limit to max counters]:max counters: ' -} - - -(( $+functions[_perforce_cmd_cstat] )) || -_perforce_cmd_cstat() { - _arguments -s : \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_dbschema] )) || -_perforce_cmd_dbschema() { - if [[ $PREFIX = *:* ]]; then - _message 'table version' - else - _perforce_dbtables - fi -} - - -(( $+functions[_perforce_cmd_dbstat] )) || -_perforce_cmd_dbstat() { - _arguments -s : \ - '(-s)-h[histogram of leaf pages in DB table]' \ - '(-s)-a[all tables]' \ - '(-h -a)-s[report sizes of tables]' \ - '(-s -a)*::DB table:_perforce_dbtable' -} - - -(( $+functions[_perforce_cmd_delete] )) || -_perforce_cmd_delete() { - _arguments -s : \ - '-c[delete files for change]:change:_perforce_changes -tc' \ - '-n[preview delete]' \ - '-k[perform delete on server]' \ - '-v[delete unsynced files]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_depot] )) || -_perforce_cmd_depot() { - _arguments -s : \ - '(-t -o -i)-d[delete depot]' \ - '(-t -o -i)-f[force delete]' \ - '(-d -o -i)-t[insert value into type]:type: ' \ - '(-t -d -i -f)-o[write depot spec to standard output]' \ - '(-t -d -o -f)-i[read depot spec from standard input]' \ - '(-i)*::depot name:_perforce_depots' -} - - -(( $+functions[_perforce_cmd_depots] )) || -_perforce_cmd_depots() { - # No arguments - _arguments -s : -} - - -(( $+functions[_perforce_cmd_describe] )) || -_perforce_cmd_describe() { - _arguments -s : \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-s[omit diffs]' \ - '-S[list shelved files]' \ - '-f[force display of restricted change]' \ - '-O[change is original number before submit]' \ - '-I[change is number of Identity field]' \ - '-m[limit output to max files]:max files: ' \ - '*::change:_perforce_changes' -} - - -(( $+functions[_perforce_cmd_diff] )) || -_perforce_cmd_diff() { - local limit - [[ ${words[(I)-(f|sd|se|sl)]} -eq 0 ]] && limit=" -to" - _arguments -s : \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-f[diff every file]' \ - '-m[limit output to max files]:max files: ' \ - '-Od[limit output to files that differ]' \ - '-s-[filter options]:filter options:(( -a\:list\ opened\ files\ that\ differ\ from\ depot -b\:list\ modified\ integrated\ files -d\:list\ unopened\ missing\ files -e\:list\ unopened\ files\ that\ differ\ from\ depot -l\:list\ all\ unopened\ files\ with\ status -r\:list\ opened\ files\ that\ do\ not\ differ\ from\ depot))' \ - '-t[diff binary files]' \ - "*::file:_perforce_files$limit" -} - - -(( $+functions[_perforce_cmd_diff2] )) || -_perforce_cmd_diff2() { - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-Od[limit output to files that differ]' \ - '-q[omit identical files]' \ - '-t[diff binary files]' \ - '-u[use GNU diff -u format]' \ - '(-b)-S[use generated branch view from stream]:stream: ' \ - '(-b)-P[use generated branch view from parent stream]:parent stream: ' \ - '1::from file:_perforce_files' \ - '2::to file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_dirs] )) || -_perforce_cmd_dirs() { - _arguments -s : \ - '-C[list only directories in current client]' \ - '-D[include directories with only deleted files]' \ - '-H[list directories with synced files]' \ - '-S[limit output to depot directories mapped to stream'\''s client]:stream: ' \ - '*::directory:_perforce_files -td' -} - - -(( $+functions[_perforce_cmd_edit] )) || -_perforce_cmd_edit() { - _arguments -s : \ - '-c[edit files for change]:change:_perforce_changes -tc' \ - '-t[specify filetype]:filetype:_perforce_filetypes' \ - '-n[preview edit]' \ - '-k[edit files on server]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_export] )) || -_perforce_cmd_export() { - _arguments -s : \ - '(-j)-c[specify checkpoint number (/ position)]:checkpoint number: ' \ - '(-c)-j[specify journal number (/ position)]:journal number: ' \ - '(-j)-f[reformat non-textual data types]' \ - '(-j)-l[specify number of lines]:number of lines: ' \ - '(-j)-F[specify filter]:filter pattern: ' \ - '(-c)-r[raw format]' \ - '-J[specify file prefix]:file prefix: ' \ - '-T[space-separated list of tables not to export]' -} - - -(( $+functions[_perforce_cmd_filelog] )) || -_perforce_cmd_filelog() { - _arguments -s : \ - '-c[display files at change]:change:_perforce_changes -ts' \ - '-i[include inherited file history]' \ - '-h[display file content history]' \ - '-t[display time and date]' \ - '-l[display full change text]' \ - '-L[display truncated change text]' \ - '-m[display max number of revisions]:max revisions: ' \ - '-p[do not follow content of promoted task streams]' \ - '-s[display shortened form]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_files] )) || -_perforce_cmd_files() { - _arguments -s : \ - '-a[display all revisions in range]' \ - '-A[display files in archive depots]' \ - '-e[do not display deleted, purged or archived files]' \ - '-m[limit output to max files]:max files: ' \ - '-U[display files in unload depot]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_fix] )) || -_perforce_cmd_fix() { - local job - local -a jobs - - if [[ -n $words[(R)-d] && -n $words[(R)-c] && -n $words[$words[(i)-c]+1] ]] - then - # Deleting a fix from a change. We can find out which fixes - # are present. - local -a jobs - jobs=(${${(f)"$(_perforce_call_p4 fixes fixes -c $words[$words[(i)-c]+1])"}%" fixed by change "*}) - if (( ${#jobs} )); then - jobs=("Job="${^jobs}) - job=" -e \"${(j.|.)jobs}\"" - fi - fi - - _arguments -s : \ - '-d[delete fix]' \ - '-s[set status]:status:_perforce_statuses' \ - '-c[display jobs fixed by change]:change:_perforce_changes -ts' \ - "*::job:_perforce_jobs$job" -} - - -(( $+functions[_perforce_cmd_fixes] )) || -_perforce_cmd_fixes() { - _arguments -s : \ - '-j[list fixes for job]:job:_perforce_jobs' \ - '-c[list fixes for change]:change:_perforce_changes -tR' \ - '-i[include integrated changes]' \ - '-m[limit output to max fixes]:max fixes: ' \ - '*::fixed file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_flush] )) || -_perforce_cmd_flush() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax, including revision number]' \ - '-n[preview flush]' \ - '-N[preview flush with summary]' \ - '-q[suppress normal output messages]' \ - '-r[reopen moved files in new location]' \ - '-m[limit sync to max files]:max files: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_fstat] )) || -_perforce_cmd_fstat() { - local Oattr Aattr - if [[ ${_perforce_cmd_list[(r)attribute:*]} != '' ]]; then - # Unsupported feature, try not to show if not present - Oattr=' a\:output\ attributes d\:output\ digest e\:output\ values\ in\ hex' - Aattr='-A[restrict attributes by pattern]:attribute pattern: ' - fi - _arguments -s : \ - $Aattr \ - '-F[list only files satisfying filter]:filter:_perforce_fstat_fields -tv' \ - '-L[use full depot syntax, including revision number]' \ - '-T[return specified fields]:output field:_perforce_fstat_fields' \ - '-m[limits output to max files]:max files: ' \ - '-r[sort output in reverse order]' \ - '-c[display files modified by or after change]:change:_perforce_changes -ts' \ - '-e[list files modified by change]:change:_perforce_changes -ts' \ - "-O-[output options]:output options:(( -f\:all\ revisions -l\:fileSize\ and\ digest -p\:local\ file\ path -r\:pending\ integration -s\:exclude\ local\ path -$Oattr))" \ - '-R-[restrict files]:file restrictions:(( -c\:mapped\ in\ client -h\:synced\ to\ client -n\:opened\ not\ at\ head\ revision -o\:opened -r\:resolved -s\:shelved -u\:unresolved))' \ - '-S-[sort order]:sort by:(( -t\:filetype -d\:date -r\:head\ revision -h\:have\ revision -s\:filesize))' \ - '-U[display info about unload files in unload depot]' \ - '-C[limit output to mapped files (-Rc)]' \ - '-H[limit output to synced files (-Rh)]' \ - '-W[limit output to opened files (-Ro)]' \ - '-l[output fileSize and digest (-Ol)]' \ - '-P[output local file paths (-Op)]' \ - '-s[exclude local file paths (-Os)]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_grep] )) || -_perforce_cmd_grep() { - _arguments -s : \ - '-e[search pattern]:pattern: ' \ - '-a[search all revisions]' \ - '-i[case insensitive match]' \ - '-n[display matching line number]' \ - '-v[display files with non-matching lines]' \ - '-F[interpret pattern as fixed string]' \ - '-G[interpret pattern as regexp]' \ - '-L[display non-matching files]' \ - '-l[display matching files]' \ - '-s[suppress errors on long lines]' \ - '-t[search binary files]' \ - '-A[display N lines of trailing context]:lines: ' \ - '-B[display N lines of leading context]:lines: ' \ - '-C[display N lines of output context]:lines: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_group] )) || -_perforce_cmd_group() { - _arguments -s : \ - '-d[delete group]' \ - '-o[write group spec to standard output]' \ - '-i[read group spec from standard input]' \ - '(-o -A)-a[allow owner to modify group]' \ - '(-a -d)-A[allow admin user to add new group]' \ - '1::perforce group:_perforce_groups' -} - - -(( $+functions[_perforce_cmd_groups] )) || -_perforce_cmd_groups() { - _arguments -s : \ - '-i[display indirect membership by subgroups]' \ - '-m[limit output to max groups]:max groups: ' \ - '-v[display group data]' \ - '(-u -o)-g[display group with name]:group:_perforce_groups' \ - '(-g -o)-u[display all groups for user]:user:_perforce_users' \ - '(-g -u)-o[display all groups for owner]:owner:_perforce_users' \ - '(-g -u -o)1::user or group name:_perforce_users_or_groups' -} - - -(( $+functions[_perforce_cmd_have] )) || -_perforce_cmd_have() { - _perforce_files -} - - -(( $+functions[_perforce_cmd_help] )) || -_perforce_cmd_help() { - local hline - if (( ! ${#_perforce_help_list} )); then - (( ${+_perforce_help_list} )) || typeset -ga _perforce_help_list - # All commands have help. - (( ${#_perforce_cmd_list} )) || _perforce_gen_cmd_list - _perforce_help_list=($_perforce_cmd_list) - _perforce_call_p4 help help | while read -A hline; do - if [[ $hline[1] = p4 && $hline[2] = help ]]; then - _perforce_help_list+=("$hline[3]:${hline[4,-1]}") - fi - done - if [[ -z ${_perforce_help_list[(r)undoc:*]} ]]; then - _perforce_help_list+=("undoc:help for otherwise undocumented features") - fi - fi - _describe -t help-options 'Perforce help option' _perforce_help_list -} - - -(( $+functions[_perforce_cmd_info] )) || -_perforce_cmd_info() { - _arguments -s : \ - '-s[short output]' -} - - -(( $+functions[_perforce_cmd_integrate] )) || -_perforce_cmd_integrate() { - local range - # If -s is present, the first normal argument can't have revRange. - [[ ${words[(I)-s]} -eq 0 ]] && range=" -tR" - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-r)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-f[force integration]' \ - '-O-[output more information]:output options:(( -b\:show\ base\ revision\ for\ merge -r\:show\ scheduled\ resolves))' \ - '-R-[specify resolve schedule]:schedule:(( -b\:branch\ resolves -d\:delete\ resolves -s\:skip\ cherry-picked\ revisions\ already\ integrated))' \ - '-Di[retain revisions of deleted files]' \ - '-h[leave files at revision currently synced]' \ - '-m[limit integration to max files]:max files: ' \ - '-n[preview integration]' \ - '-q[suppress normal output messages]' \ - '-c[open in change]:change:_perforce_changes -tc' \ - '-v[do not modify client files]' \ - '-r[reverse direction of mapping]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - "1:file:_perforce_files$range" \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_integ] )) || -_perforce_cmd_integ() { - _perforce_cmd_integrate "$@" -} - -(( $+functions[_perforce_cmd_integrated] )) || -_perforce_cmd_integrated() { - _arguments -s : \ - '-r[reverse mapping in branch view]' \ - '-b[list files integrated from branch view]:branch:_perforce_branches' \ - '*::file:_perforce_files -ti' -} - - -# interchanges is an unsupported but useful command that reports -# changes that haven't been integrated between source and target; -# see "p4 help undoc". -(( $+functions[_perforce_cmd_interchanges] )) || -_perforce_cmd_interchanges() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '-f[list files that require integration]' \ - '-l[display full change text]' \ - '-t[display time and date]' \ - '(-S -P)-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-S -P)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-u[limit files submitted by user]:user:_perforce_users' \ - '-r[reverse mapping direction]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '-F[ignore stream'\''s expected flow]' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_istat] )) || -_perforce_cmd_istat() { - _arguments -s : \ - '-a[show status of integration in both directions]' \ - '-c[assume cache is stale]' \ - '-r[show status of integration from parent]' \ - '-s[show cached state without refreshing stale data]' \ - '1::stream: ' -} - - -(( $+functions[_perforce_cmd_job] )) || -_perforce_cmd_job() { - _arguments -s : \ - '(-d -o -i)-f[force setting of readonly fields]' \ - '(-f -o -i)-d[delete job]' \ - '(-f -d -i)-o[write job spec to standard output]' \ - '(-d -o)-i[read job spec from standard input]' \ - '(-i)1::job:_perforce_jobs' -} - - -(( $+functions[_perforce_cmd_jobs] )) || -_perforce_cmd_jobs() { - _arguments -s : \ - '-e[list jobs matching parameter]::_perforce_jobviews' \ - '-i[include integrated changes]' \ - '-l[display full job text]' \ - '-m[limit output to max jobs]:max jobs: ' \ - '-r[sort in reverse order]' \ - '(-e -i -l -m)-R[rebuild jobs table]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_jobspec] )) || -_perforce_cmd_jobspec() { - _arguments -s : \ - '-i[read form from stdin]' \ - '-o[write form from to stdout]' -} - - -(( $+functions[_perforce_cmd_key] )) || -_perforce_cmd_key() { - local -a keyargs - if [[ ${words[(I)-(d|i)]} -ne 0 ]]; then - keyargs=('1::name: ') - elif [[ ${words[(I)-m]} -ne 0 ]]; then - keyargs=('*::name value pairs: ') - else - keyargs=('1::name: ' '2::value: ') - fi - _arguments -s : \ - '(-i -m)-d[delete key]' \ - '(-d -m)-i[increment key value by 1]' \ - '(-d -i)-m[allow multiple operations]' \ - $keyargs -} - - -(( $+functions[_perforce_cmd_keys] )) || -_perforce_cmd_keys() { - _arguments -s : \ - '-e[list keys that match pattern]:pattern: ' \ - '-m[limit output to max keys]:max keys: ' -} - - -(( $+functions[_perforce_cmd_label] )) || -_perforce_cmd_label() { - _arguments -s : \ - '-f[force operation]' \ - '-t[copy view and options from label]:label:_perforce_labels' \ - '(-o -i -t)-d[delete label]' \ - '(-d -f -i -g)-o[write label spec to standard output]' \ - '(-o -d -t)-i[read label spec from standard input]' \ - '-g[update global label]' \ - '*::label:_perforce_labels' -} - - -(( $+functions[_perforce_cmd_labels] )) || -_perforce_cmd_labels() { - _arguments -s : \ - '-t[display time and date]' \ - '-u[list labels owned by user]:user:_perforce_users' \ - '(-E)-e[list labels that match pattern]:pattern: ' \ - '(-e)-E[list labels that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-m[limit output to max labels]:max labels: ' \ - '(-s)-a[display all labels]' \ - '(-a)-s[display labels from server]:server ID: ' \ - '-U[list unloaded labels]' \ - '1::file or revisions which must contain label:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_labelsync] )) || -_perforce_cmd_labelsync() { - _arguments -s : \ - '-l[specify label]:label:_perforce_labels' \ - '-a[add files to label]' \ - '-d[delete files from label]' \ - '-n[preview labelsync]' \ - '-q[suppress normal output messages]' \ - '-g[update global label]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_list] )) || -_perforce_cmd_list() { - _arguments -s : \ - '-l[use temporary list name]:list name: ' \ - '(-C)-d[delete list]' \ - '-C[limit files to client]' \ - '-M[forward list to master server]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_license] )) || -_perforce_cmd_license() { - _arguments -s : \ - '-o[write license to stdout]' \ - '-i[read license from stdin]' -} - - -(( $+functions[_perforce_cmd_lock] )) || -_perforce_cmd_lock() { - _arguments -s : \ - '-c[lock files for change]:change:_perforce_changes -tc' \ - '-g[lock files globally]' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_lockstat] )) || -_perforce_cmd_lockstat() { - _message 'no arguments' -} - - -(( $+functions[_perforce_cmd_logger] )) || -_perforce_cmd_logger() { - _arguments -s : \ - '-c[list events after sequence]:sequence: ' \ - '-t[list events after counter]:counter:_perforce_counters' -} - - - -(( $+functions[_perforce_cmd_login] )) || -_perforce_cmd_login() { - _arguments -s : \ - '-a[issue ticket on all host machines]' \ - '-h[issue ticket on host]:host: ' \ - '-p[display ticket, do not store]' \ - '-r[forward login to server]:remote spec: ' \ - '(-a -p -h)-s[display status of current ticket]' \ - '(-s)1::user:_perforce_users' -} - - -(( $+functions[_perforce_cmd_logout] )) || -_perforce_cmd_logout() { - _arguments -s : \ - '-a[invalidate ticket on server]' -} - - -(( $+functions[_perforce_cmd_logstat] )) || -_perforce_cmd_logstat() { - _message 'no arguments' -} - - -(( $+functions[_perforce_cmd_logtail] )) || -_perforce_cmd_logtail() { - _arguments -s : \ - '-b[specify block size]:block size [8192]' \ - '-s[specify start offset]:offset: ' \ - '-m[specify max blocks]:max blocks: ' -} - - -(( $+functions[_perforce_cmd_merge] )) || -_perforce_cmd_merge() { - local -a fileargs - if [[ ${words[(I)--from]} -ne 0 ]]; then - fileargs=('1:to file:_perforce_files -tR') - else - fileargs=('1:from file:_perforce_files -tR' - '2:to file:_perforce_files') - fi - _arguments -s : \ - '-F[merge against stream'\''s expected flow]' \ - '-Ob[show base revision for merge]' \ - '-q[suppress normal output messages]' \ - '--from[merge from stream other than the parent stream]:stream: ' \ - '-m[limit merge to max files]:max files: ' \ - '-n[preview merge]' \ - '-c[open in change]:change:_perforce_changes -tc' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_monitor] )) || -_perforce_cmd_monitor() { - if (( CURRENT > 2 )); then - case $words[2] in - (show) - shift words - (( CURRENT-- )) - _arguments -s : \ - '-a[show command arguments]' \ - '-e[show command environment]' \ - '-l[long output format]' - ;; - - (terminate) - _perforce_pids - ;; - - (clear) - _alternative 'pids:pid:_perforce_pids' 'all:all processes:(all)' - ;; - - (*) - _message "no such monitor command: $words[1]" - ;; - esac - else - local expl - _wanted monitor-command expl 'monitor command' compadd show terminate clear - fi -} - - -(( $+functions[_perforce_cmd_move] )) || -_perforce_cmd_move() { - _arguments -s : \ - '-c[reopen in change]:change:_perforce_changes -tc' \ - '-f[force move]' \ - '-t[specify new file type]:filetype:_perforce_filetypes' \ - '-n[preview move]' \ - '-k[perform move on server]' \ - '1::from file:_perforce_files -to' \ - '2::to file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_obliterate] )) || -_perforce_cmd_obliterate() { - if [[ ${words[(I)-y]} -gt 0 ]]; then - _message \ -": don't complete after -y; run obliterate without, then add the -y" - else - _arguments -s : \ - '-y[actually perform the operation]' \ - '*::file:_perforce_files -tR' - fi -} - - -(( $+functions[_perforce_cmd_opened] )) || -_perforce_cmd_opened() { - # You might think you could check for files opened on another - # client, and hence the -c completion should have the argument - # -tp, but currently Perforce doesn't allow that, so -tc is correct. - # This is true even if -a is also given. - _arguments -s : \ - '-a[list files for all clients]' \ - '-c[list files opened in change]:change:_perforce_changes -tc' \ - '-C[list files open in client]:client:_perforce_clients' \ - '-u[list files opened by user]:user name:_perforce_users' \ - '-m[limit output to max files]:max files: ' \ - '-s[short output]' \ - '-x[list exclusive files]' \ - '-g[list files opened on Commit Server]' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_passwd] )) || -_perforce_cmd_passwd() { - _arguments -s : \ - '-O[explicit old password]:old password: ' \ - '-P[explicit new password]:new password: ' \ - '1::user name:_perforce_users' -} - - -(( $+functions[_perforce_cmd_ping] )) || -_perforce_cmd_ping() { - _arguments -s : \ - '-c[specify count of messages]:count of messages: ' \ - '-t[specify total time of test]:time (seconds)' \ - '-i[specify iterations for test]:number of iterations: ' \ - '-f[transmit continuously without waiting for responses]' \ - '-p[specify pause between tests]:pause (seconds)' \ - '-s[specify send size]:send size (octets)' \ - '-r[specify receive size]:receive size (octets)' -} - - -(( $+functions[_perforce_cmd_populate] )) || -_perforce_cmd_populate() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '(-S -P)-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-S -P)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-r[reverse mapping direction]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '-d[description for submitted change]:description: ' \ - '-f[force deleted files to branch into target]' \ - '-n[preview populate]' \ - '-o[display files created by populate]' \ - '-m[limit max actions]:max actions: ' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_print] )) || -_perforce_cmd_print() { - _arguments -s : \ - '-a[print all revisions in range]' \ - '-A[print files in archive depots]' \ - '-k[suppress keyword expansion]' \ - '-o[redirect output to file]:file:_files' \ - '-q[suppress header]' \ - '-m[limit max files]:max files: ' \ - '-U[print files in unload depot]:unload file:_perforce_files' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_protect] )) || -_perforce_cmd_protect() { - _arguments -s : \ - '-o[write protection table to standard output]' \ - '-i[read protection table from standard input]' -} - - -(( $+functions[_perforce_cmd_protects] )) || -_perforce_cmd_protects() { - _arguments -s : \ - '(-g -u)-a[display protection lines for all users]' \ - '(-a -u)-g[display protection lines for group]:perforce group:_perforce_groups' \ - '(-a -g)-u[display protection lines for user]:perforce user:_perforce_users' \ - '-h[display protection lines for host]:host:_perforce_hosts' \ - '-m[report single word summary]' \ - '*:file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_prune] )) || -_perforce_cmd_prune() { - _arguments -s : \ - '-y[execute prune]' \ - '-S[stream to prune]:stream: ' -} - - -(( $+functions[_perforce_cmd_pull] )) || -_perforce_cmd_pull() { - _arguments -s : \ - '-i[repeat as specified]:seconds between repeats: ' \ - '-u[retrieve file content rather than journal]' \ - '-p[display information about pending transfers]' \ - '-J[specify prefix for journal file]:journal file prefix: ' -} - - -(( $+functions[_perforce_cmd_reconcile] )) || -_perforce_cmd_reconcile() { - _arguments -s : \ - '-n[preview reconcile]' \ - '-c[open files for change]:change:_perforce_changes -tc' \ - '-e[open modified files for edit]' \ - '-a[open new files for add]' \ - '-d[open removed files for delete]' \ - '-f[reformat filenames with wildcard characters]' \ - '-I[do not perform ignore checking]' \ - '-l[output relative paths]' \ - '-m[check file modification times]' \ - '-w[force client files to be updated to match depot]' \ - '-k[reconcile have list with client]' \ - '*:file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_rec] )) || -_perforce_cmd_rec() { - _perforce_cmd_reconcile "$@" -} - - -(( $+functions[_perforce_cmd_rename] )) || -_perforce_cmd_rename() { - _perforce_cmd_move "$@" -} - - -(( $+functions[_perforce_cmd_reopen] )) || -_perforce_cmd_reopen() { - # Assume user doesn't want to reopen to same changelist. - integer pos=${words[(I)-c]} - if (( pos )); then - _perforce_exclude_change=${words[pos+1]} - elif [[ -n ${words[(R)-c?*]} ]]; then - _perforce_exclude_change=${${words[(R)-c?*]}##-c} - fi - - _arguments -s : \ - '-c[reopen files for change]:change:_perforce_changes -tc' \ - '-t[specify new file type]:filetype:_perforce_filetypes' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_replicate] )) || -_perforce_cmd_replicate() { - _arguments -s : \ - '-i[specify interval in seconds]:interval: ' \ - '-j[specify journal number (/ position)]:journal number: ' \ - '-J[specify file prefix]:file prefix: ' \ - '-k[keep pipe open]' \ - '-o[specify output file]:output file:_files' \ - '-R[reconnect on failure, needs -i]' \ - '-s[specify file to track state]:state file:_files' \ - '-T[space-separate list of tables not to transfer]' \ - '-x[terminate when journal rotates]' \ - '*::->_command' -} - - -(( $+functions[_perforce_cmd_resolve] )) || -_perforce_cmd_resolve() { - _arguments -s : \ - '-A-[limit resolve attempts]:resolve attempts:(( -a\:resolve\ attributes -b\:resolve\ file\ branching -c\:resolve\ file\ content\ changes -d\:resolve\ file\ deletions -m\:resolve\ moved\ and\ renamed\ files -t\:resolve\ filetype\ changes -Q\:resolve\ charset\ changes -))' \ - '-a-[set automatic resolve]:resolve:(( -s\:skip\ files\ that\ need\ merging -m\:skip\ files\ with\ conflicts -f\:accept\ merged\ files\ with\ conflicts -t\:use\ theirs -y\:use\ yours))' \ - '-d-[control whitespace merging]:whitespace option:(( -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace\ altogether -l\:ignores\ line\ endings))' \ - '-f[re-resolve files]' \ - '-n[preview resolve]' \ - '-N[preview resolve with summary]' \ - '-o[display base file name and revision for merge]' \ - '-t[force textual merge]' \ - '-v[insert markers for all changes]' \ - '-c[limit resolve to change]:change:_perforce_changes -tc' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_resolved] )) || -_perforce_cmd_resolved() { - _arguments -s : \ - '-o[report revision used as base for resolve]' \ - '*::file:_perforce_files -tr' -} - - -(( $+functions[_perforce_cmd_revert] )) || -_perforce_cmd_revert() { - _arguments -s : \ - '-a[revert open unchanged files]' \ - '-n[preview revert]' \ - '-k[mark files as reverted on server]' \ - '-w[delete new files]' \ - '-c[revert files opened in change]:change:_perforce_changes -tc' \ - '-C[specify client]:client:_perforce_clients' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_review] )) || -_perforce_cmd_review() { - _arguments -s : \ - '-c[specify change]:change:_perforce_changes -ts' \ - '-t[specify counter]:counter:_perforce_counters' -} - - -(( $+functions[_perforce_cmd_reviews] )) || -_perforce_cmd_reviews() { - _arguments -s : \ - '-c[limit files submitted in change]:change:_perforce_changes -ts' \ - '-C[limit files opened in client]:client:_perforce_clients' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_set] )) || -_perforce_cmd_set() { - # Only works under Windoze but maybe we are on Cygwin. - _arguments -s : \ - '-q[remove origin]' \ - '-s[set for whole system]' \ - '-S[specify service]:service: ' \ - "*::environment variable:_perforce_variables" -} - - -(( $+functions[_perforce_cmd_shelve] )) || -_perforce_cmd_shelve() { - _arguments -s : \ - '-i[read change spec from standard input]' \ - '(-i)-c[shelve files in change]:change:_perforce_changes -tc' \ - '-f[overwrite existing shelved files]' \ - '-r[replace shelved files in change]' \ - '-a[handle unchanged files]:option:(submitunchanged leaveunchanged)' \ - '(-p -a -i -r)-d[delete shelved files]' \ - '-p[promote shelved change to commit server]' \ - '(-i -r)*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_status] )) || -_perforce_cmd_status() { - _arguments -s : \ - '-c[list files in change]:change:_perforce_changes -tc' \ - '-A[list all new, modified, and removed files]' \ - '-e[list modified files]' \ - '-a[list new files]' \ - '-d[list removed files]' \ - '-f[reformat filenames with wildcard characters]' \ - '-s[summarize output for new files]' \ - '-I[do not perform ignore checking]' \ - '-m[check file modification times]' \ - '-k[reconcile have list with client]' \ - '*:file:_perforce_files -tuo' -} - - -(( $+functions[_perforce_cmd_sizes] )) || -_perforce_cmd_sizes() { - _arguments -s : \ - '-a[list all revisions in range]' \ - '-b[specify blocksize]:blocksize (bytes)' \ - '(-H)-h[print sizes in human-readable form (GiB)]' \ - '(-h)-H[print sizes in human-readable form (GB)]' \ - '-m[limit max files]:max files: ' \ - '-s[sum the file sizes]' \ - '-S[display sizes for shelved files]' \ - '-z[omit lazy copies]' \ - '(-z -S)-A[display files in archive depots]' \ - '-U[display sizes for unload files]' \ - '*:file:_perforce_files -tR' -} - - -# TODO Add more logic for subcommands -#p4 stream edit -#p4 stream resolve [-a<flag>] [-n] [-o] -#p4 stream revert -(( $+functions[_perforce_cmd_stream] )) || -_perforce_cmd_stream() { - _arguments -s : \ - '(-o -v)-d[delete stream]' \ - '(-f)-o[write stream spec to standard output]' \ - '(-o -v)-P[insert value into parent field]:parent stream: ' \ - '(-o -v)-t[insert value into type field]:type: ' \ - '(-o -v)-i[read stream spec from standard input]' \ - '(-o -v)-f[force modification]' \ - '(-f)-v[expose client view]' \ - '1:stream name: ' -} - - -(( $+functions[_perforce_cmd_streams] )) || -_perforce_cmd_streams() { - _arguments -s : \ - '-F[limit files to pattern]:file pattern: ' \ - '-T[limit fields to list]:field list: ' \ - '-m[limit max streams]:max streams: ' \ - '-U[list unloaded task streams]' \ - '*:stream path: ' -} - - -(( $+functions[_perforce_cmd_spec] )) || -_perforce_cmd_spec() { - _arguments -s : \ - '-d[delete a custom spec]' \ - '-i[read spec from stdin]' \ - '-o[write spec to stdout]' \ - "*::spec type:(branch change client depot group job -label spec trigger typemap user)" -} - - -# TODO Figure out how --parallel will work -#p4 submit -i [-r -s -f option] --parallel=threads=N[,batch=N][,min=N] -(( $+functions[_perforce_cmd_submit] )) || -_perforce_cmd_submit() { - _arguments -s : \ - '(-s -d -e -i)-c[submit change]:change:_perforce_changes -tc' \ - '(-r -s -f -d -c -i --noretransfer)-e[submit shelved change]:change:_perforce_changes -tS' \ - '(-s -c -e -i --noretransfer)-d[specify description]:description: ' \ - '(-d -c -e --noretransfer)-i[read change spec from standard input]' \ - '-f[override submit option]:submit option:_perforce_submit_options' \ - '-r[reopen submitted files]' \ - '(-d -c)-s[include fix status in list]' \ - '--parallel[parallel file transfer options]:parallel options: ' \ - '--noretransfer[do not re-transfer submitted files]:no re-transfer?:(0 1)' \ - '*::file:_perforce_files -to -tr' -} - - -# TODO Figure out how --parallel will work -#--parallel=threads=N[,batch=N][,batchsize=N][,min=N][,minsize=N] -(( $+functions[_perforce_cmd_sync] )) || -_perforce_cmd_sync() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax]' \ - '-n[preview sync]' \ - '-N[preview sync with summary]' \ - '(-s -p)-k[update server without syncing files]' \ - '(-f -k -r -s)-p[sync client without updating server]' \ - '-q[suppress normal output messages]' \ - '(-s -p)-r[reopen moved files in new location]' \ - '(-f -k -r -p)-s[do not clobber modified files]' \ - '-m[limit max files to sync]:max files: ' \ - '--parallel[parallel file transfer options]:parallel options: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_tag] )) || -_perforce_cmd_tag() { - _arguments -s : \ - '-d[delete association between label and files]' \ - '-n[preview tag]' \ - '-g[update global label]' \ - '-U[create label with autoreload option]' \ - '-l[specify label]:label:_perforce_labels' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_tickets] )) || -_perforce_cmd_tickets() { - # No arguments. - _arguments -s : -} - - -(( $+functions[_perforce_cmd_triggers] )) || -_perforce_cmd_triggers() { - _arguments -s : \ - '-o[output form to stdout]' \ - '-i[read from stdin]' -} - - -(( $+functions[_perforce_cmd_typemap] )) || -_perforce_cmd_typemap() { - _arguments -s : \ - '-o[output table to stdout]' \ - '-i[read table from stdin]' -} - - -(( $+functions[_perforce_cmd_unlock] )) || -_perforce_cmd_unlock() { - _arguments -s : \ - '-s[unlock files from shelved change]:change:_perforce_changes -tS' \ - '-c[unlock files from change]:change:_perforce_changes -tc' \ - '-x[unlock exclusive files]' \ - '-f[unlock files owned by other users]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_unshelve] )) || -_perforce_cmd_unshelve() { - _arguments -s : \ - '-s[unshelve files from change]:change:_perforce_changes -tS' \ - '-c[unshelve files to change]:change:_perforce_changes -tc' \ - '-f[force clobbering of writeable files]' \ - '-n[preview unshelve]' \ - '-b[use branch view for unshelve]:branch:_perforce_branches' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '*::file, pattern allowed:_perforce_files' -} - - -(( $+functions[_perforce_cmd_update] )) || -_perforce_cmd_update() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax]' \ - '-n[preview update]' \ - '-N[preview update with summary]' \ - '-q[suppress normal output messages]' \ - '-m[limit max files to update]:max files: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_user] )) || -_perforce_cmd_user() { - _arguments -s : \ - '(-o -i)-d[delete user]' \ - '(-f -i -d)-o[write user spec to standard output]' \ - '(-o -d)-i[read user spec from standard input]' \ - '(-o)-f[force edit of user]' \ - '(-i)1::username:_perforce_users' -} - - -(( $+functions[_perforce_cmd_users] )) || -_perforce_cmd_users() { - _arguments -s : \ - '-m[limit output to max users]:max users: ' \ - '-a[output service and operator users]' \ - '-l[long output]' \ - '-r[list only replica users]' \ - '-c[list only central server users]' \ - '*::username:_perforce_users' -} - - -(( $+functions[_perforce_cmd_verify] )) || -_perforce_cmd_verify() { - _arguments -s : \ - '-m[limit revisions]:max revisions: ' \ - '-q[operate quietly]' \ - '-u[compute and save digest if missing]' \ - '-v[compute and save all digets]' \ - '-z[skip duplicates]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_where] )) || -_perforce_cmd_where() { - _perforce_files -} - - -(( $+functions[_perforce_cmd_workspace] )) || -_perforce_cmd_workspace() { - _perforce_cmd_client "$@" -} - - -(( $+functions[_perforce_cmd_workspaces] )) || -_perforce_cmd_workspaces() { - _perforce_cmd_clients "$@" -} - - -_perforce "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl deleted file mode 100644 index d7e8f1b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl +++ /dev/null @@ -1,144 +0,0 @@ -#compdef perl - -typeset -A opt_args - -_perl () { - _arguments -s \ - '-0-[input record separator ($/)]:: :_perl_input_seps' \ - '-a[autosplit mode with -n or -p (splits $_ into @F)]' \ - '-C-[control some unicode features]: :_perl_unicode_flags' \ - "-c[check syntax only (runs BEGIN and END blocks)]" \ - '( -dt -d: -dt:)-d[run scripts under debugger]' \ - '(-d -d: -dt:)-dt[run scripts under debugger (debugged code uses threads)]' \ - '(-d -dt -dt:)-d\:-[run under control of a debugging/tracing module]:debugging/tracing module:_perl_modules --strip-prefix --perl-hierarchy=Devel' \ - '(-d -dt -d: )-dt\:-[run under control of a debugging/tracing module (debugged coded uses threads)]:debugging/tracing module:_perl_modules --strip-prefix --perl-hierarchy=Devel' \ - '-D-[set debugging flags]: :_perl_debugging_flags' \ - '(1 -E)*-e+[run one line of program]:one line of program' \ - '(1 -e)*-E+[like -e but enable all optional features]:one line of program' \ - '-f[disable executing $Config{sitelib}/sitecustomize.pl at startup]' \ - '-F-[split() pattern for autosplit (-a)]:split() pattern, // is optional' \ - '-h[list help summary]' \ - '-i-[edit <> files in place (make backup if extension supplied)]:backup file extension: ' \ - '*-I-[specify @INC/#include directory (may be used more than once)]:include path:_files -/' \ - '-l-[enable line ending processing, specifies line terminator]:: :_perl_output_seps' \ - \*{-m,-M}"-[module.. executes \`use/no module...' before executing your script]:module:_perl_m_opt" \ - "-n[assume 'while (<>) { ... }' loop around your script]" \ - "-p[assume loop like -n but print line also like sed]" \ - "-s[enable some switch parsing for switches after script name]" \ - "-S[look for the script using PATH environment variable]" \ - '( -T)-t[turn on taint checks but only issue warnings]' \ - '(-t )-T[turn on taint checks]' \ - "-u[dump core after parsing script]" \ - "-U[allow unsafe operations]" \ - "-v[print version, patchlevel and license]" \ - "-V-[print perl configuration information]:configuration key:_perl_config_vars" \ - '( -W -X)-w[turn warnings on for compilation of your script (recommended)]' \ - "(-w -X)-W[enable all warnings (ignores 'no warnings')]" \ - "(-w -W )-X[disable all warnings (ignores 'use warnings')]" \ - '-x-[ignore text before #!perl line and optionally cd to directory]:directory to cd to:_files -/' \ - '1:Perl script:_files -g "*.(p[ml]|PL|t)(-.)"' \ - '*::args:= _perl_normal' -} - -_perl_normal() { - local expl - if [[ -z "$opt_args[(I)-(e|E)]" ]]; then - shift words - (( CURRENT-- )) - fi - _normal && ret=0 -} - -_perl_m_opt () { - compset -P '-' - - if compset -P 1 '*='; then - _message -e module-arguments 'module arguments, comma separated' - else - _perl_modules -S= -q - fi -} - -_perl_input_seps() { - if [[ $#PREFIX -eq 1 && $PREFIX != [0-9a-zA-Z] ]]; then - # convert a non-octal or potential option character into octal representation - compadd -i "$IPREFIX" -U $(( [##8] ##$PREFIX )) - else - _describe -x -t separators "input record separator, $/ in octal or hex (\0, if no argument) [\n]" '( - 0:paragraph\ mode - 777:slurp\ whole\ input\ files - )' || _comp_mesg=yes - fi -} - -_perl_output_seps() { - if [[ $#PREFIX -eq 1 && $PREFIX != [0-9a-zA-Z] ]]; then - # convert a non-octal or potential option character into octal representation - compadd -i "$IPREFIX" -U $(( [##8] ##$PREFIX )) - else - _message -e separators "output record separator, $\\ in octal or hex [$/]" - fi -} - -_perl_config_vars () { - if (( ! $+_perl_config_vars )); then - _perl_config_vars=( $(perl -MConfig -e 'print join("\n", keys %Config);') ) - fi - - local add_colon='-P:' - compset -P '*:' && add_colon='' - - local delimiter='\ ' - (( compstate[quoting] )) && delimiter=' ' - - compset -P '* ' && compset -q - compadd "$expl[@]" $add_colon -S$delimiter -q -a _perl_config_vars -} - -_perl_unicode_flags () { - _values -s '' 'unicode bitmask or flag' \ - '(S)I[ 1 STDIN is assumed to be in UTF-8]' \ - '(S)O[ 2 STDOUT will be in UTF-8]' \ - '(S)E[ 4 STDERR will be in UTF-8]' \ - '(I O E)S[ 7 I + O + E]' \ - '(D)i[ 8 UTF-8 is the default PerlIO layer for input streams]' \ - '(D)o[ 16 UTF-8 is the default PerlIO layer for output streams]' \ - '(i o)D[ 24 i + o]' \ - 'A[ 32 the @ARGV elements are expected to be strings encoded in UTF-8]' \ - 'L[ 64 make "IOEioA" conditional on the locale environment variables]' \ - 'a[256 set ${^UTF8CACHE} to -1, used for debugging]' \ -} - -_perl_debugging_flags () { - _values -s '' 'debug flag or bitmask' \ - 'p[ 1 tokenizing and parsing (with v, display parse stack)]' \ - 's[ 2 stack snapshots (with v, display all stacks)]' \ - 'l[ 4 context (loop) stack processing]' \ - 't[ 8 trace execution]' \ - 'o[ 16 method and overload resolution]' \ - 'c[ 32 string/numeric conversions]' \ - 'P[ 64 print profiling info, source file input state]' \ - 'm[ 128 memory and SV allocation]' \ - 'f[ 256 format processing]' \ - 'r[ 512 regular expression parsing and execution]' \ - 'x[ 1024 syntax tree dump]' \ - 'u[ 2048 tainting checks]' \ - 'U[ 4096 unofficial, user hacking (reserved for private, unreleased use)]' \ - 'X[ 16384 scratchpad allocation]' \ - 'D[ 32768 cleaning up]' \ - 'S[ 66536 Op slab allocation]' \ - 'T[ 131072 tokenising]' \ - 'R[ 262144 include reference counts of dumped variables (e.g. when using -Ds)]' \ - "J[ 524288 show s,t,P-debug (don't jump over) on opcodes within package DB]" \ - 'v[ 1048576 verbose: use in conjunction with other flags]' \ - 'C[ 2097152 copy-on-write]' \ - 'A[ 4194304 consistency checks on internal structures]' \ - 'q[ 8388608 quiet - currently only suppresses the "EXECUTING" message]' \ - 'M[ 16777216 trace smart match resolution]' \ - 'B[ 33554432 dump subroutine definitions, including special blocks like BEGIN]' \ - 'L[ 67108864 trace locale-related info]' \ - 'i[134217728 trace PerlIO layer processing]' \ - 'y[268435456 trace y///, tr/// compilation and execution]' -} - -_perl "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_basepods b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_basepods deleted file mode 100644 index 80a8c832..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_basepods +++ /dev/null @@ -1,32 +0,0 @@ -#autoload -# -# _perl_basepods - zsh completion function -# -# Adam Spiers <adam@spiers.net> -# -# Calculate all installed Perl base pods (perlfunc, perlfaq etc.). -# The result is cached for future use. -# - -if (( ! $+_perl_basepods )); then - typeset -agU _perl_basepods - - if (( ${+commands[basepods]} )); then - _perl_basepods=( ${$(basepods):t:r} ) - else - local podpath - - podpath=$(perl -MConfig -e 'print "$Config{installprivlib}/pod"') - - if [[ ! -e $podpath/perl.pod ]]; then - _message "can't find perl.pod from Config.pm; giving up" - return 1 - else - _perl_basepods=( ${podpath}/*.pod(:r:t) ) - fi - fi -fi - -local expl - -_wanted pods expl 'perl base pod' compadd -a "$@" - _perl_basepods diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_modules b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_modules deleted file mode 100644 index 3e11de9e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perl_modules +++ /dev/null @@ -1,153 +0,0 @@ -#compdef pmpath pmvers pmdesc pmload pmexp pmeth pmls pmcat pman pmfunc podgrep podtoc podpath -# -# _perl_modules - zsh completion function -# -# Adam Spiers <adam@spiers.net> -# -# Calculate all installed Perl modules. The result is cached -# for future use. -# -# Options: -# -# -t[types]: indicate file types; currently the only one is -tP, -# to include .pod files as well as modules. -# -# --perl-hierarchy=...: restrict results to modules under this hierarchy. -# Note that this does not affect the filesystem searching or caching, -# which always collect all results on the premise that anyone using -# completion of Perl modules will use the results in various contexts, -# so this only affects the results compadd'd. -# -# --strip-prefix: when using --perl-hierarchy, strip off that prefix when -# passing to compadd. -# -# All other options passed onto compadd. -# -# Available styles: -# -# * try-to-use-pminst -# -# Set this if you have pminst and want to use it. The zsh code -# actually produces better results because pminst misses modules of -# the form Foo/bar/Baz.pm through its clumsy -d && /^[A-Z]/ && prune -# algorithm (the zsh code does almost the same, but only misses -# modules which don't begin with an uppercase letter). - -_perl_modules () { - # Set a sensible default caching policy. This has to be done inside - # this function otherwise we wouldn't know the context for the style. - local update_policy sufpat=".pm" with_pod - local restrict_hierarchy='' - local -i strip_perl_prefix - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy \ - _perl_modules_caching_policy - fi - - if [[ -n $argv[(r)--perl-hierarchy=*] ]]; then - restrict_hierarchy="${argv[(r)--perl-hierarchy=*]#--perl-hierarchy=}" - restrict_hierarchy="${restrict_hierarchy%::}::" - argv[(r)--perl-hierarchy=*]=() - fi - if [[ -n $argv[(r)--strip-prefix] ]]; then - strip_perl_prefix=1 - argv[(r)--strip-prefix]=() - fi - if [[ -n $argv[(r)-tP] ]]; then - argv[(r)-tP]=() - sufpat="(.pm|.pod)" - with_pod=_with_pod - fi - - local perl perl_modules - if [[ $service == (perl|perldoc) ]] && whence -- ${${(Q)words[1]}%doc} >/dev/null; then - perl=$_ - perl_modules=_${${perl//[^[:alnum:]]/_}#_}_modules$with_pod - elif whence perl > /dev/null; then - perl=perl - perl_modules=_perl_modules$with_pod - else - perl= - perl_modules=_unknown_perl_modules$with_pod - fi - - if ( [[ ${(P)+perl_modules} -eq 0 ]] || _cache_invalid ${perl_modules#_} ) && - ! _retrieve_cache ${perl_modules#_}; - then - if zstyle -t ":completion:${curcontext}:modules" try-to-use-pminst && - (( ${+commands[pminst]} )); - then - set -A $perl_modules $(pminst) - else - local inc libdir new_pms - - if [[ -n $perl ]]; then - inc=( $( _call_program perl-inc ${(q)perl}$' -e \'print "@INC"\'' ) ) - else - # If perl isn't there, one wonders why the user's trying to - # complete Perl modules. Maybe her $path is wrong? - _message "didn't find perl on \$PATH; guessing @INC ..." - - inc=( /usr/lib/perl5{,/{site_perl/,}<5->.([0-9]##)}(N) - ${(s.:.)PERL5LIB} ) - fi - - typeset -agU $perl_modules # $perl_modules is global, no duplicates - set -A $perl_modules - - for libdir in $inc; do - # Ignore cwd - could be too expensive e.g. if we're near / - if [[ $libdir == '.' ]]; then continue; fi - - # Find all modules - if [[ -d $libdir && -x $libdir ]]; then - new_pms=( $libdir/{[A-Za-z]*/***/,}*${~sufpat}~*blib* ) - new_pms=( "${(@)new_pms##$libdir/##}" ) - fi - - # Convert to Perl nomenclature - new_pms=( ${new_pms:r:fs#/#::#} ) - - set -A $perl_modules $new_pms ${(P)perl_modules} - done - fi - - _store_cache ${perl_modules#_} $perl_modules - fi - - # Nothing above here should have filtered the results per-caller, so that - # the cache is always complete. From here on, it's safe to filter. - local -a perl_subset - if [[ -n $restrict_hierarchy ]]; then - perl_subset=( ${(PM)perl_modules:#${restrict_hierarchy}*} ) - if (( strip_perl_prefix )); then - perl_subset=( ${perl_subset#$restrict_hierarchy} ) - fi - perl_modules=perl_subset - fi - - local expl - _wanted modules expl 'Perl module' compadd "$@" -a - $perl_modules -} - -_perl_modules_caching_policy () { - local _perllocals - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - _perllocals=( /usr/lib/perl5/**/perllocal.pod ) - - if (( $#_perllocals )); then - for pod in $_perllocals; do - [[ "$pod" -nt "$1" ]] && return 0 - done - fi - - return 1 -} - -_perl_modules "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perldoc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perldoc deleted file mode 100644 index b724d74e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_perldoc +++ /dev/null @@ -1,68 +0,0 @@ -#compdef perldoc -value-,PERLDOC,-default- - -local curcontext="$curcontext" state line expl args ret=1 -typeset -A opt_args - -args=( '*:Perl pod page:->perl-pods' ) - -if [[ $service = *PERLDOC* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - args=() -fi - -_arguments -C -s -S -A "-*" \ - '(- *)-h[print help information]' \ - '(- *)-V[display version information]' \ - '-D[describe search for the item]' \ - '-t[use plain text output instead of nroff]' \ - '-u[show raw Pod source]' \ - '*-m[display entire module]:module:_perl_modules' \ - '-l[display only filename of the module found]' \ - '-F[consider arguments as filenames]' \ - '(-q -v)-f+[view documentation for Perl built-in function]:perl builtin function:->perl-builtin-funcs' \ - '(-f -v)-q+[search question headings in Perl FAQ]:regular expression' \ - '(-f -q)-v+[view documentation for predefined variable]:special variable:->perl-variables' \ - '(-d)-T[send output direct to stdout and not via pager]' \ - '(-T)-d+[specify output file]:output file:_files' \ - '-o+[specify output format]:output format:(man nroff pod rtf text tk xml latex)' \ - '-M[specifies module to use for formatting]:module:_perl_modules' \ - '-w[specify option to formatter]:option' \ - '-X[use an index if present]' \ - '-n+[specify replacement for nroff]:nroff replacement:_command_names -e' \ - '-r[recursive search]' \ - '-i[ignore case]' \ - "$args[@]" && ret=0 - -case $state in - perl-builtin-funcs) - : ${(A)_perl_builtin_funcs:=${(u)${${(M)${(f)"$(_call_program functions \ - perldoc -u perlfunc 2>/dev/null)"}:#\=item [a-z]*}#* }%%[^a-z]*}} - - _wanted functions expl 'perl built-in function' compadd "$@" -a - \ - _perl_builtin_funcs && ret=0 - ;; - - perl-pods) - if (( $+opt_args[-F] )); then - _wanted files expl 'Perl module or .pod' \ - _files -g "*.(pod|pm)(-.)" && ret=0 - else - _alternative \ - 'modules:module: _perl_modules -tP' \ - 'pods:base pod: _perl_basepods' \ - 'files:module or .pod file:_files -g "*.(pod|pm)(-.)"' && ret=0 - fi - ;; - - perl-variables) - : ${(A)_perl_special_vars:=${(u)${${${(M)${(f)"$(_call_program variables \ - perldoc -u perlvar 2>/dev/null)"}:#\=item [\$\@\%]*}#* }:#\$<I*}}} - - _wanted variables expl 'perl special variable' compadd "$@" -a - \ - _perl_special_vars && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfctl deleted file mode 100644 index 812e52bd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfctl +++ /dev/null @@ -1,121 +0,0 @@ -#compdef pfctl - -local pfctl_flush_modifiers pfctl_optimizer_level pfctl_show_modifiers pfctl_tables_command pfctl_debug_level -local -a args - -pfctl_flush_modifiers=( - 'rules:flush the filter rules' - 'states:flush the stable table' - 'Sources:flush the source tracking table' - 'info:flush the filter information' - 'Tables:flush the tables' - 'osfp:flush the passive operating system fingerprints' - 'all:flush all' -) - -pfctl_show_modifiers=( - 'queue:show the currently loaded queue rules' - 'rules:show the currently loaded filter rules' - 'Anchors:show the currently loaded anchors directly attached to the main ruleset' - 'states:show the contents of the state table' - 'Sources:show the contents of the source tracking table' - 'info:show filter information' - 'labels:show per-rule statistics of filter rules with labels' - 'timeouts:show the current global timeouts' - 'memory:show the current pool memory hard limits' - 'Tables:show the list of tables' - 'osfp:show the list of operating system fingerprints' - 'Interfaces:show the list of interfaces and interface drivers available to PF' - 'all:show all except for the lists of interfaces and operating system fingerprints' -) - -pfctl_optimizer_level=( - 'none:disable the ruleset optimizer' - 'basic:enable basic ruleset optimizations' - 'profile:enable basic ruleset optimizations with profiling' -) - -pfctl_tables_command=( - 'kill:kill a table' - 'flush:flush all addresses of a table' - 'add:add one or more addresses in a table' - 'delete:delete one or more addresses from a table' - 'expire:delete addresses which had their statistics cleared more than number seconds ago' - 'replace:replace the addresses of the table' - 'show:show the content (addresses) of a table' - 'test:test if the given addresses match a table' - 'zero:clear all the statistics of a table' - 'load:load only the table definitions from pf.conf(5)' -) - -_pf_ifaces() { - compadd "$@" - $(_call_program tables pfctl -s Interfaces) -} - -_pf_tables() { - compadd "$@" - $(_call_program tables pfctl -s Tables) -} - -case $OSTYPE in - openbsd*) - pfctl_debug_level=( - emerg alert crit err warning notice info debug - ) - args=( - '-L+[load pf states from specified state file]:file:_files' - "-N[don't perform domain name resolution]" - '-P[display ports using service names]' - '-S+[store pf state table in the specified file]:file:_files' - '-V+[select routing domain to be used to kill states]:routing domain:_routing_domains' - ) - ;; - (free|net)bsd*) - pfctl_debug_level=( - "none:don\'t generate debug messages" - 'urgent:generate debug messages only for serious errors' - 'misc:generate debug messages for various errors' - 'loud:generate debug messages for common conditions' - ) - pfctl_flush_modifiers+=( - 'nat:flush the NAT rules' - 'queue:flush the queue rules' - ) - pfctl_show_modifiers+=( - 'nat:show the currently loaded NAT rules' - ) - args=( - '-A[load only the queue rules present in the rule file]' - '-N[load only the NAT rules present in the rule file]' - '-O[load only the options present in the rule file]' - '-R[load only the filter rules present in the rule file]' - ) - ;| - freebsd*) - args+=( '-P[display ports numerically]' ) - ;; -esac - -_arguments -s $args \ - '-a[apply flags -f, -F, and -s only to the rules in the specified anchor]:anchor' \ - '-F+[flush the filter parameters specified by modifier]:modifier:(($pfctl_flush_modifiers))' \ - '-D+[define macro to be set to value]:macro' \ - '(-e)-d[disable the packet filter]' \ - '(-D)-e[enable the packet filter]' \ - '-f+[load the rules contained in a file]:configuration file:_files' \ - '-g[include output helpful for debugging]' \ - '(-)-h[display help information]' \ - '-i[restrict the operation to the given interface]:interface:_pf_ifaces' \ - '*-K[kill all of the source tracking entries originating from the specified host or network]:host or network:_hosts' \ - '*-k[kill all of the state entries originating from the specified host or network]:host or network:_hosts' \ - '-m[merge in explicitly given options without disturbing others]' \ - "-n[don't actually load rules, just parse them]" \ - '-o+[control the ruleset optimizer]:level:(($pfctl_optimizer_level))' \ - '-p+[use the device file device instead of the default /dev/pf]:device:_files' \ - '-q[only print errors and warnings]' \ - '-r[perform reverse DNS lookups on states when displaying them]' \ - '-s+[show the filter parameters specified by modifier]:modifier:(($pfctl_show_modifiers))' \ - '-T+[specify the command to apply to the table]:command:(($pfctl_tables_command))' \ - '-t[specify the name of the table]:table:_pf_tables' \ - '-v[produce more verbose output]' \ - '-x+[set the debug level]:debug level:(($pfctl_debug_level))' \ - '-z[clear per-rule statistics]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfexec b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfexec deleted file mode 100644 index e90f3322..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pfexec +++ /dev/null @@ -1,36 +0,0 @@ -#compdef pfexec - -# This is a _values-like function that completes privileges and !-prefixed -# privileges, comma-separated, and unique. -_privset() { - local expl p - local -a privs - - privs=( ${(f)"$(ppriv -l)"} all none zone basic ) - - # Ignore existing values - compset -P '*,' - # Ignore a leading !, maybe backslash-quoted - compset -P '\\#!' - - # Remove already-referenced privs - for p in ${(s:,:)${IPREFIX//\\#\!/}}; do - privs=( ${privs:#$p} ) - done - - _wanted privs expl 'privilege' compadd -qS , -a privs -} - -_pfexec() { - local cmd cpp - local -a _comp_priv_prefix - local -A opt_args - cmd="$words[1]" - cpp='_comp_priv_prefix=( $cmd ${(kv)opt_args[(I)-P]} )' - _arguments \ - '-P+[privileges to acquire]:privspec:_privset' \ - "(-): :{ $cpp; _command_names -e }" \ - "*:: :{ $cpp; _normal }" -} - -_pfexec "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgids b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgids deleted file mode 100644 index 25d0c4af..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgids +++ /dev/null @@ -1,5 +0,0 @@ -#autoload - -local expl - -_wanted pgids expl 'process group ID' compadd "$@" - ${(un)$(_call_program pgids ps -A -o pgid=)} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgrep b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgrep deleted file mode 100644 index 9c3ddf03..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pgrep +++ /dev/null @@ -1,191 +0,0 @@ -#compdef pgrep pkill - -# Notes: -# - We assume that Linux systems use procps-ng - specifically, procps-ng >=3.3.4 -# (which changed the behaviour of -f and added -a) -# - We don't really need to keep pgopts and pkopts separate, but it seems like -# it should make things a bit easier to follow - -local curcontext="$curcontext" state line ret=1 expl pgopts pkopts no -typeset -A opt_args -typeset -a arguments sig_arguments aopts - -# These arguments (a) are common to all variants (like -x), (b) are the most -# common amongst all variants (like -a), or (c) have a single unambiguous -# meaning amongst all variants (like --help). Many of them are filtered out or -# overridden below -arguments=( - '-a[include process ancestors in match list]' - '-c+[match only on specified login class]:login class:_login_classes' - '(-F --pidfile)'{-F+,--pidfile=}'[match only processes in specified PID file]:PID file:_files' - '(-f --full)'{-f,--full}'[match against full command line]' - '(-G --group)'{-G+,--group=}'[match only on specified real group IDs]: :_sequence _groups' - '(-g --pgroup)'{-g+,--pgroup=}'[match only on specified process group IDs]: :->pgid' - '(: * -)'{-h,--help}'[display help information]' - '-I[request confirmation before signalling each process]' - '-i[ignore case distinctions]' - '-j+[match only on specified jail IDs]:jail:_sequence _jails -0 -o jid' - '(-L --logpidfile)'{-L,--logpidfile}'[fail if PID file not locked (with -F)]' - '(-N)-M+[extract name list from specified core]:core file:_files' - '(-M)-N+[extract name list from specified system]:system file:_files' - '(-o -n --oldest --newest)'{-n,--newest}'[match newest process]' - '(-o -n --oldest --newest)'{-o,--oldest}'[match oldest process]' - '(-O --older)'{-O+,--older=}'[select where older than specified age]:age (seconds)' - '(-P --parent)'{-P+,--parent=}'[match only on specified parent process IDs]: :->ppid' - '(-l)-q[suppress normal output]' - '(-r --runstates)'{-r+,--runstates}'[match runstates]:run state:compadd -S "" D I R S T t W X Z' - '-S[search also in system processes (kernel threads)]' - '(-s --session)'{-s+,--session=}'[match only on specified process session IDs]: :->sid' - # _signals is OK here - we do it differently below - '(ss)--signal=[specify signal to send to process]: :_signals -s' - '-T+[match only on specified routing table]:routing table:_routing_tables' - '(-t --terminal)'{-t+,--terminal=}'[match only on specified controlling terminals]: :_sequence _ttys -do' - '(-U --uid)'{-U+,--uid=}'[match only on specified real user IDs]: :_sequence _users' - '(-u --euid)'{-u+,--euid=}'[match only on specified effective user IDs]: :_sequence _users' - '(-v --inverse)'{-v,--inverse}'[negate matching]' - '(-x --exact)'{-x,--exact}'[match process name or command line (with -f) exactly]' - '--ns=[match only on same namespaces as specified PID]: :_pids' - '--nslist=[match only on specified namespaces (with --ns)]:namespace:(ipc mnt net pid user uts)' - '(: * -)'{-V,--version}'[display version information]' - '-z+[match only on specified zone IDs]:zone:_sequence _zones' -) -[[ $service == pgrep ]] && arguments+=( - '(-d --delimiter)'{-d+,--delimiter=}'[specify output delimiter]:delimiter:compadd ${(s<>)IFS}' - '(-q)-l[display process name (and arguments with -f)]' - '(-w --lightweight)'{-w,--lightweight}'[show all thread IDs instead of PID]' -) -[[ $service == pkill ]] && arguments+=( - '(-e --echo)'{-e,--echo}'[display signalled process]' - '-l[display kill command]' -) - -case $OSTYPE in - linux*) - # Note: We deliberately exclude -v but not --inverse from pkill - pgopts=acdFfGghLlnoOPrstUuVvwx- - pkopts=ceFfGghLnoOPstUuVx- - arguments=( - ${arguments:#((#s)|*\))(\*|)-[acl]*} - '(-c --count)'{-c,--count}'[display count of matching processes]' - ) - [[ $service == pgrep ]] && arguments+=( - '(-a -l --list-full --list-name)'{-a,--list-full}'[display full command line]' - '(-a -l --list-full --list-name)'{-l,--list-name}'[display process name]' - ) - ;; - dragonfly*|freebsd*) - pgopts=acdFfGgijLlMNnoPqSstUuvx - pkopts=acFfGgIijLlMNnoPstUuvx - ;; - openbsd*) - pgopts=dfGglnoPqsTtUuvx - pkopts=fGgIlnoPqsTtUuvx - ;; - darwin*) - pgopts=adFfGgiLlnoPqtUuvx - pkopts=aFfGgIiLlnoPtUuvx - ;; - solaris*) - pgopts=cdfGglnoPsTtUuvxz - pkopts=cfGgnoPsTtUuvxz - arguments=( - ${arguments:#((#s)|*\))(\*|)-[cT]*} - '-c+[match only on specified contract IDs]: :->contract' - '-J+[match only on specified project IDs]: :->projid' - '-T+[match only on specified task IDs]: :->task' - ) - ;; - *) - pgopts=dfGgilnPstUuvx - pkopts=fGgilnPstUuvx - ;; -esac - -if [[ $service == pgrep ]]; then - arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pgopts]*} ) -else - arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pkopts]*} ) - - # Signals on non-Linux systems can only be completed as the first argument - (( CURRENT != 2 )) && [[ $OSTYPE != linux* ]] && no='!' - - # This is used for exclusion with --signal - sig_arguments=( + '(ss)' ) - - # This is very similar to _signals, but i've avoided it here because it - # doesn't behave the way i want it to - sig_arguments+=( $no'(--signal)-'${^signals[2,-3]} ) - sig_arguments+=( '!(--signal)-'{0..$(( $#signals - 3 ))} ) - - # Complete the -SIG* variant if it's requested - if [[ $PREFIX$SUFFIX == -S* ]]; then - sig_arguments+=( '(--signal)-SIG'${^${(@)signals[2,-3]:#<->}} ) - else - sig_arguments+=( '!(--signal)-SIG'${^${(@)signals[2,-3]:#<->}} ) - fi -fi - -if [[ $OSTYPE = dragonfly* ]]; then - arguments+=( '(-t)-T[match only processes associated with the current terminal]' ) -fi - -arguments+=( $sig_arguments + o '*: :->pname' ) - -[[ $OSTYPE == linux* ]] || aopts+=( -A '*-' ) -_arguments -C -s -S $aopts : $arguments && ret=0 - -# complete comma-separated list of various IDs -# $1: tag, $2: description, $3: keyword for 'ps -o' -_pgrep_sequence () { - _sequence _wanted $1 expl "$2" \ - compadd - ${(un)$(_call_program $1 ps -A -o $3=)} -} - -case $state in - (sid) - if [[ $OSTYPE == openbsd* ]]; then - _message 'session ID' - else - _pgrep_sequence session-ids 'session ID' sid - fi - ;; - (ppid) - _pgrep_sequence ppids 'parent process ID' ppid - ;; - (pgid) - _sequence _pgids - ;; - (projid) - _pgrep_sequence project-ids 'project ID' project - ;; - (contract) - _pgrep_sequence contract-ids 'contract ID' ctid - ;; - (task) - _pgrep_sequence task-ids 'task ID' taskid - ;; - (pname) - local ispat="pattern matching " - if (( ${+opt_args[-x]} )); then - ispat+="full " - fi - if (( ${+opt_args[-f]} )); then - local -a opts=( -lf ) - [[ $OSTYPE == linux* ]] && opts=( -a ) - local -a matches=( ${(f)"$( - _call_program process-args pgrep ${(@q)opts} -- \ - ${(q)${${:-$PREFIX$SUFFIX}:-.\*}} - )"} ) - local -a displ=( "${${matches[@]//:/\:}[@]/ /:}" ) - matches=( "${matches[@]##<-> }" ) - - local desc=$ispat'process command line' - _description process-args expl "$desc" - _describe -t process-args "$desc" displ matches "$@" -U "$expl[@]" - else - _wanted processes-names expl $ispat'process name' _process_names -a -t - fi - ;; -esac && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_php b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_php deleted file mode 100644 index 9a8f519b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_php +++ /dev/null @@ -1,177 +0,0 @@ -#compdef php -P php[0-9.-] - -# Notes: -# - We make no distinction between internal and user functions -# - We don't complete CGI options, which are rarely used interactively -# - Exclusivity on some of the miscellaneous options isn't very accurate -# - @todo Arguments to an -f script aren't completed accurately -- we need to -# massage words/CURRENT so that the -f arg becomes words[1], but if we just -# leave it at that the output will break if the script has any options of its -# own. We would want to complete script options only following `--`, as in -# `php -f /bin/foo -- -<TAB>` - -# Complete PHP class names -(( $+functions[_php_classes] )) || -_php_classes() { - local cmd - local -a tmp - - cmd='foreach ( get_declared_classes() as $c ) { echo "$c\n"; }' - tmp=( ${(f)"$( _call_program classes $words[1] -r ${(q)cmd} )"} ) - - _wanted -x classes expl 'PHP class' compadd -a "$@" - tmp -} - -# Complete PHP extensions/module names; use --zend for Zend extensions only -(( $+functions[_php_extensions] )) || -_php_extensions() { - local idx - local -a expl zend tmp - - zparseopts -a zend -D -E -- -zend - - # `php -m` lists all extensions under two sections called '[PHP Modules]' and - # '[Zend Modules]'. An extension can (but won't necessarily) exist under both - # of these at the same time - tmp=( ${(f)"$( _call_program extensions $words[1] -m )"} ) - idx=${tmp[(i)\[Zend Modules\]]} - - # Get only Zend extensions (for --rz) - if (( $#zend )); then - tmp=( ${(@)tmp[(idx+1),-1]} ) - # Get PHP extensions (for everything else) - else - tmp=( ${(@)tmp[2,(idx-1)]} ) - fi - - _wanted -x extensions expl 'PHP extension' compadd -a "$@" - tmp -} - -# Complete PHP function names -(( $+functions[_php_functions] )) || -_php_functions() { - local cmd - local -a expl tmp - - cmd=' - foreach ( get_defined_functions() as $a ) { - foreach ( $a as $f ) { - echo "$f\n"; - } - } - ' - tmp=( ${(f)"$( _call_program functions $words[1] -r ${(q)cmd} )"} ) - - _wanted -x functions expl 'PHP function' compadd -a "$@" - tmp -} - -_php() { - local curcontext=$curcontext php_suffix php_files ret=1 - local -a context expl line state state_descr args - local -A opt_args - - zstyle -s ":completion:${curcontext}:" suffixes php_suffix '|' || - php_suffix='php|php5|phar' - - php_files=":PHP file:_files -g '*.($php_suffix)(#q-.)'" - - args=( - + mc # Misc. options - '(-a --interactive)'{-a,--interactive}'[run interactively]' - '*'{-d+,--define=}'[define INI directive]: :->directive' - '(-e --profile-info)'{-e,--profile-info}'[generate extended information for debugger/profiler]' - '(-H --hide-args)'{-H,--hide-args}'[hide script name and arguments from external tools]' - '(fi im pb pf rf rn sc sv *)--ini[display configured INI paths]' - # Note: PHP does not automatically prepend extension_dir to extension file - # names (the way it does when parsing the INI file) at the command line - '*'{-z+,--zend-extension=}'[load specified Zend extension]:Zend extension:_files -g "*.so(|.*)(#q-.)"' - - + '(fi)' # File arguments - "(im pb pf rf sv)"{-f+,--file=}'[parse and/or execute specified file]'$php_files - '(-)1'$php_files - - + '(hv)' # Help/version options; kept separate by convention - '(- 1 *)'{-h,--help}'[display help information]' - '(- 1 *)'{-v,--version}'[display version information]' - '!(- 1 *)'{-\?,--usage} - - + '(im)' # Info/module options (exclusive with everything but -c/-n) - '(fi mc pb pf rf rn sc sv *)'{-i,--info}'[display configuration information (phpinfo())]' - '(fi mc pb pf rf rn sc sv *)'{-m,--modules}'[display installed extensions]' - - + '(in)' # php.ini set/disable options (unrelated to --ini!) - {-c+,--php-ini=}'[specify php.ini or containing directory]:INI file or directory:_files -g "*.ini(-.)"' - {-n,--no-php-ini}'[ignore php.ini]' - - + '(pb)' # Input-processing begin/end options - '(-B --process-begin fi im rf rn sc sv)'{-B+,--process-begin=}'[run specified PHP code before processing input lines]:PHP code:' - '(-E --process-end fi im rf rn sc sv)'{-E+,--process-end=}'[run specified PHP code after processing input lines]:PHP code:' - - + '(pf)' # Input-processing options - '(fi im rf rn sc sv)'{-R+,--process-code=}'[run specified PHP code for every input line]:PHP code:' - '(fi im rf rn sc sv)'{-F+,--process-file=}'[parse and execute specified file for every input line]'$php_files - - + '(rf)' # Reflection options - '(fi im rn pb pf sc sv *)'{--rc=,--rclass=}'[display information about specified class]: :_php_classes' - '(fi im rn pb pf sc sv *)'{--re=,--rextension=}'[display information about specified extension]: :_php_extensions' - '(fi im rn pb pf sc sv *)'{--rf=,--rfunction=}'[display information about specified function]: :_php_functions' - '(fi im rn pb pf sc sv *)'{--ri=,--rextinfo=}'[display configuration information about specified extension]: :_php_extensions' - '(fi im rn pb pf sc sv *)'{--rz=,--rzendextension=}'[display information about specified Zend extension]: :_php_extensions --zend' - - + '(rn)' # Run-script options - "(fi im pb pf rf sc sv)"{-r+,--run=}'[run specified PHP code]:PHP code:' - - + '(sc)' # Source-checking/formatting options - '(im pb pf rf rn sv *)'{-l,--syntax-check}'[check syntax only (lint)]' - '(im pb pf rf rn sv *)'{-s,--syntax-highlight}'[display HTML syntax-highlighted source]' - '!(im pb pf rf rn sv *)--syntax-highlighting' - '(im pb pf rf rn sv *)'{-w,--strip}'[display source stripped of comments and whitespace]' - - + sv # Built-in Web server options - '(-S --server fi im pb pf rf rn sc *)'{-S+,--server=}'[start Web server on specified address/port]: :->server' - '(-t --docroot fi im pb pf rf rn sc *)'{-t+,--docroot=}'[specify Web-server document root]:document root:_directories' - - + ar # Script-argument operands - '(-)*:: :->argument' - ) - - _arguments -C -s -S : $args && ret=0 - - case $state in - argument) - if [[ -n $opt_args[(i)(pb|pf|rn)-*] ]]; then - _description files expl 'script argument' - _files "${(@)expl}" && ret=0 - else - _normal && ret=0 - fi - ;; - directive) - local -a directives suf - local code='foreach (ini_get_all() as $k => $v) { echo "$k\n"; }' - directives=( ${(f)"$( - _call_program directives $words[1] -r ${(q)code} - )"} ) - if compset -P 1 '*='; then - _default && ret=0 - else - compset -S '=*' || suf=( -qS '=' ) - _wanted directives expl 'INI directive' \ - compadd "$suf[@]" -a directives && ret=0 - fi - ;; - server) - if compset -P '*:'; then - _wanted -2V port-numbers expl 'port number' \ - compadd 80 81 443 591 8000 8001 8008 8080 8443 && ret=0 - ret=0 - else - _wanted hosts expl 'local address' _bind_addresses -0bhK -qS: && ret=0 - fi - ;; - esac - - return ret -} - -_php "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_physical_volumes b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_physical_volumes deleted file mode 100644 index fd31edd0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_physical_volumes +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_wanted physicalvolumes expl 'physical volume' \ - compadd "$@" - $(lsdev -C -c disk -S a -F name) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pick_variant b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pick_variant deleted file mode 100644 index 9d705cf1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pick_variant +++ /dev/null @@ -1,49 +0,0 @@ -#autoload - -local output cmd pat pre -local -a var -local -A opts - -(( $+_cmd_variant )) || typeset -gA _cmd_variant - -zparseopts -D -A opts b: c: r: -: ${opts[-c]:=$words[1]} - -while [[ $1 = *=* ]]; do - var+=( "${1%%\=*}" "${1#*=}" ) - shift -done - -if (( ${#precommands:|builtin_precommands} )); then - pre=command -elif (( $+opts[-b] && ( $precommands[(I)builtin] || $+builtins[$opts[-c]] ) )); then - (( $+opts[-r] )) && : ${(P)opts[-r]::=$opts[-b]} - return 0 -elif (( $precommands[(I)builtin] )); then - pre=builtin -else - # Neither builtin nor command-forcing precommand specified, - # so no prefix is needed. - pre= -fi - -if [[ $pre != builtin ]] && (( $+_cmd_variant[$opts[-c]] )); then - (( $+opts[-r] )) && : ${(P)opts[-r]::=${_cmd_variant[$opts[-c]]}} - [[ $_cmd_variant[$opts[-c]] = "$1" ]] && return 1 - return 0 -fi - -output="$(_call_program variant $pre $opts[-c] "${@[2,-1]}" </dev/null 2>&1)" - -for cmd pat in "$var[@]"; do - if [[ $output = *$~pat* ]]; then - (( $+opts[-r] )) && : ${(P)opts[-r]::=$cmd} - _cmd_variant[$opts[-c]]="$cmd" - return 0 - fi -done - -(( $+opts[-r] )) && : ${(P)opts[-r]::=$1} -[[ $pre != builtin ]] && _cmd_variant[$opts[-c]]="$1" - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_picocom b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_picocom deleted file mode 100644 index 9059b03e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_picocom +++ /dev/null @@ -1,55 +0,0 @@ -#compdef picocom - -function _picocom_flowcontrol () { - local expl - local -a modes - modes=( x h n ) - _wanted flow-ctrl-mode expl 'flow control mode' compadd -a $expl -- modes -} - -function _picocom_paritymode () { - local expl - local -a modes - modes=( o e n ) - _wanted parity-mode expl 'parity mode' compadd -a $expl -- modes -} - -function _picocom_databits () { - local expl - local -a widths - widths=( 5 6 7 8 ) - _wanted data-bits expl 'data bits' compadd -a $expl -- widths -} - -function _picocom_escape () { - setopt localoptions braceccl - local expl - local -a ctrlchars - ctrlchars=( {a-z} _ '?' '[' '\' ']' '@' '^' ) - _wanted escape-key expl 'escape key' compadd -a $expl -- ctrlchars -} - -function _picocom () { - local -a args - - args=( '(--baud -b)'{--baud,-b}'[define baud-rate to set the terminal to]:baud rate:_baudrates' - '(--flow -f)'{--flow,-f}'[define type of flow control to use]:flow control:_picocom_flowcontrol' - '(--parity -p)'{--parity,-p}'[define type of parity to use]:parity mode:_picocom_paritymode' - '(--databits -d)'{--databits,-d}'[define the number of databits per word]:data bits:_picocom_databits' - '(--escape -e)'{--escape,-e}'[define command mode character]:escape character:_picocom_escape' - '(--echo -c)'{--echo,-c}'[enable local echo]' - '(--noinit -i)'{--noinit,-i}'[do not initialise serial port]' - '(--noreset -r)'{--noreset,-r}'[do not reset serial port]' - '(--nolock -l)'{--nolock,-l}'[do not lock serial port]' - '(--send-cmd -s)'{--send-cmd,-s}'[define file send command]:file send command:_cmdstring' - '(--receive-cmd -v)'{--receive-cmd,-v}'[define file receive command]:file receive command:_cmdstring' - '--imap[define input character map]:input character map:' - '--omap[define output character map]:output character map:' - '--emap[define local echo character map]:local echo character map:' - '(--help -h)'{--help,-h}'[display help message]' - '*:device:_files -g "*(-%c)"' ) - - _arguments -C : "${args[@]}" -} - -_picocom "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pidof b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pidof deleted file mode 100644 index dd0649ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pidof +++ /dev/null @@ -1,27 +0,0 @@ -#compdef pidof - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -local exargs="-h --help -V --version" -_arguments -C -s -w \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[print program version]' \ - "(-s --single-shot $exargs)"{-s,--single-shot}'[return one PID only]' \ - "(-c --check-root $exargs)"{-c,--check-root}'[omit processes with different root]' \ - '-q[quiet mode, only set the exit code]' \ - '(-w --with-workers)'{-w,--with-workers}'[show kernel workers too]' \ - "(-x $exargs)"-x'[include shells running named scripts]' \ - "($exargs)"\*{-o+,--omit-pid=}'[omit processes with PIDs]:pids:_sequence -s , _pids' \ - '(-S --separator)'{-S+,--separator=}'[specify separator put between PIDs]:separator' \ - '*:process:->procnames' \ - && return 0 - -case $state in - procnames) - # Handle defunct processes and "avahi-daemon:" - _wanted process-names expl process compadd ${${${${${(@)${(f)"$(ps -N --ppid 2 -p 2 o args=)"}%% *}##*/}%:}#\[}%]} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pids b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pids deleted file mode 100644 index d1523fc4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pids +++ /dev/null @@ -1,60 +0,0 @@ -#compdef pflags pcred pldd psig pstack pfiles pwdx pstop prun pwait - -# If given the `-m <pattern>' option, this tries to complete only pids -# of processes whose command line match the `<pattern>'. - -local out pids list expl match desc listargs all nm ret=1 - -_tags processes || return 1 - -if [[ "$1" = -m ]]; then - all=() - match="(*[[:blank:]]|)${PREFIX}[0-9]#${SUFFIX}[[:blank:]]*(/|[[:blank:]]-(#c,1))${2}([[:blank:]]*|)" - shift 2 -elif [[ "$PREFIX$SUFFIX" = ([%-]*|[0-9]#) ]]; then - all=() - match="(*[[:blank:]]|)${PREFIX}[0-9]#${SUFFIX}[[:blank:]]*" -else - all=(-P "$IPREFIX" -S "$ISUFFIX" -U) - match="*[[:blank:]]*[[/[:blank:]]$PREFIX*$SUFFIX*" - nm="$compstate[nmatches]" -fi - -while _tags; do - if _requested processes; then - while _next_label processes expl 'process ID'; do - out=( "${(@f)$(_call_program $curtag ps 2>/dev/null)}" ) - desc="$out[1]" - out=( "${(@M)out[2,-1]:#${~match}}" ) - - if [[ "$desc" = (#i)(|*[[:blank:]])pid(|[[:blank:]]*) ]]; then - pids=( "${(@)${(@M)out#${(l.${#desc[1,(r)(#i)[[:blank:]]pid]}..?.)~:-}[^[:blank:]]#}##*[[:blank:]]}" ) - else - pids=( "${(@)${(@M)out##[^0-9]#[0-9]#}##*[[:blank:]]}" ) - fi - - if zstyle -T ":completion:${curcontext}:$curtag" verbose; then - list=( "${(@Mr:COLUMNS-1:)out}" ) - desc=(-ld list) - else - desc=() - fi - compadd "$@" "$expl[@]" "$desc[@]" "$all[@]" -a pids && ret=0 - done - fi - (( ret )) || break -done - -if [[ -n "$all" ]]; then - zstyle -s ":completion:${curcontext}:processes" insert-ids out || out=menu - - case "$out" in - menu) compstate[insert]=menu ;; - single) [[ $compstate[nmatches] -ne nm+1 && $compstate[insert] != menu ]] && - compstate[insert]= ;; - *) [[ ${#:-$PREFIX$SUFFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pine b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pine deleted file mode 100644 index 12bd2915..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pine +++ /dev/null @@ -1,51 +0,0 @@ -#compdef pine pinef - -local optfile getopts='pine -conf' sortorder lusortorder opts send idx - -if (( $#_cache_pine_options )); then - for optfile in ~/.pinerc /etc/pine.conf; do - if [[ -f $optfile ]]; then - getopts="cat $optfile" - break - fi - done - _cache_pine_options=( $($=getopts | sed -n 's/^\([-a-z]*=\).*/-\1/p') ) -fi - -sortorder=( {subject,arrival,date,from,size}{,/reverse} ) -lusortorder=( dont-sort {nickname,fullname}{,-with-lists-last} ) - -opts=( -h -v -F -conf -create_lu -pinerc -copy_abook -copy_pinerc) # exclusive options -idx=( -f -c -i -I -n -o -sort ) # options used when viewing messages -send=( -attach -attachlist -attach_and_delete -url ) # options when sending - -_arguments -s \ - "($opts $idx $send -bail -d -k -z -r -p -P *)-h[display help]" \ - "($opts $idx $send -bail -d -k -z -r -p -P *)-v[display version information]" \ - "($opts $idx $send -r *)-F+[specify file to open and page through]:file:_files" \ - "($opts $idx $send *)-conf[print out fresh global configuration]" \ - "($opts $idx $send *)-pinerc[put fresh pinerc configuration in file]:file:_files" \ - "($opts $idx $send *)-create_lu[create .lu from script]:addressbook file:_files:sort order:(${(j: :)lusortorder})" \ - "($opts $idx $send *)-copy_pinerc:pinerc file:_files:remote folder" \ - "($opts $idx $send *)-copy_abook:addressbook file:_files:remote folder" \ - "($opts $idx -url)-attach[go directly into composer with given file]:file:_files" \ - "($opts $idx -url)-attachlist[go to composer with given files]:file:_files" \ - "($opts $idx -url)-attach_and_delete[go to composer, attach file, delete when finished]:file:_files" \ - "($opts $idx $send)-url[open the given URL]:URL:_email_addresses -c -P mailto\:" \ - "($opts $send)-f+[specify mailbox to load]:mailbox: _mailboxes" \ - "($opts $send)-c+[specify context to apply to -f arg]: :_guard '[0-9]#' number" \ - "($opts $send)-sort[specify sort order of folder]:sort order:(${(j: :)sortorder})" \ - "($opts $send)-i[go directly to index, bypassing main menu]" \ - "($opts $send)-I+[specify initial keystrokes to be executed]:keystrokes" \ - "($opts $send)-n+[entry in index to begin on]: :_guard '[0-9]#' number" \ - "($opts $send)-o[open first folder read-only]" \ - "(-F -h -v)-r[restricted - can only send mail to oneself]" \ - "(-h -v)-d[set debug level]:debug:(0 1 2 3 4 5 6 7 8 9 flush timestamp imap= numfiles= verbose=)" \ - \(${(j. .)opts:#-F}')-k[force use of function keys]' \ - \(${(j. .)opts:#-F}')-z[allow use of ^Z suspension]' \ - \(${(j. .)opts:#-F}')-p+[use alternate .pinerc file]:alternate pinerc:_files' \ - \(${(j. .)opts:#-F}')-P+[use alternate pine.conf file]:alternate pine.conf:_files' \ - \(${(j. .)opts:#-F}')-x[use configuration exceptions file]:configuration exceptions file:_files' \ - \(${(j. .)opts:#-F}")-bail[exit if pinerc file doesn't already exist]" \ - '*::recipient:_email_addresses -n pine' \ - ${^_cache_pine_options}':option value' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ping b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ping deleted file mode 100644 index d36a0f3a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ping +++ /dev/null @@ -1,239 +0,0 @@ -#compdef ping ping6 - -local variant -local -a args - -_pick_variant -r variant iputils=iputils $OSTYPE -V - -case ${variant}:${${service#ping}:-4} in - iputils*) args=( -A "-*" ) ;| - *) - args+=( - '-d[set SO_DEBUG on the socket]' - '-n[show network addresses as numbers]' - '-v[verbose output]' - ) - ;| - iputils*|aix*|*bsd*|darwin*|dragonfly*) - args+=( - '-c+[specify number of packets to send]:count' - '-f[flood ping]' - '-i+[specify delay between packets]:interval (seconds) [1]' - '-l+[send specified number of initial packets as fast as possible]:number of packets' - '-p+[specify pad bytes to fill sent packet with]:padding pattern' - '-q[quiet]' - '-s+[specify packet size]:size (bytes) [56]' - ) - ;| - iputils:*|solaris:*|(*bsd|darwin|dragonfly)*:4) - args+=( - '-L[disable loopback of multicast packets]' - '-R[record route]' - ) - ;| - iputils:*|solaris:*|((free|net)bsd|darwin|dragonfly)*:4) - args+=( '-r[bypass normal routing tables]' ) - ;| - (iputils|freebsd<13->.*):*|(freebsd<-12>.|netbsd|darwin|dragonfly)*:4) - args+=( '-a[audible bell for each packet]' ) - ;| - iputils:*|netbsd*:4|openbsd*) - args+=( '-w+[specify timeout after which ping exits]:deadline (seconds)' ) - ;| - iputils:*|openbsd*:4|solaris*) - args+=( - '-t+[set IP Time to Live for outgoing packets]:ttl' - ) - ;| - (*bsd|darwin|dragonfly)*) - args+=( '-I+[specify source interface for multicast packets]:interface:_net_interfaces' ) - ;| - freebsd<13->.*|openbsd*) - args+=( '-H[try reverse-lookups of addresses]' ) - ;| - freebsd*|darwin*|dragonfly*|netbsd*:6) - args+=( '-S+[specify source address]:source address' ) - ;| - freebsd*|darwin*|dragonfly*:4|netbsd*:4) - args+=( '-o[exit after receiving one packet]' ) - ;| - (*bsd|darwin|dragonfly)*:4) - args+=( "-D[set the don't fragment bit]" ) - ;| - (freebsd|openbsd|darwin)*:6) - args+=( '-D[disable IPv6 fragmentation]' ) - ;| - ((free|net)bsd|darwin|dragonfly)*:4) - args+=( '-Q[somewhat quiet]') - ;| - freebsd<-12>.*:6|darwin*:6|solaris*|netbsd*) - args+=( - '*-g+[specify gateway to use as the next hop to the destination]:gateway:_hosts' - ) - ;| - (*bsd|darwin|dragonfly)*:6) - args+=( '-h+[set the IPv6 hoplimit]:hop limit' ) - ;| - ((free|net)bsd|darwin|dragonfly)*:6) - args+=( - '-b+[set socket buffer size]:buffer size' - '-N[probe node information multicast group address]' - ) - ;| - (freebsd<-12>.|netbsd|darwin|dragonfly)*:6) - args+=( - '-a+[generate ICMPv6 Node Information Node Addresses query]:address type:(a c g s l A)' - '-H[try reverse-lookups of IPv6 addresses]' - '(-s)-t[generate ICMPv6 Node Information supported query types query]' - '(-s)-w[generate ICMPv6 Node Information DNS Name query]' '!(-s)-W' - ) - ;| - (*bsd|darwin)*:6) - args+=( '*-m[suppress fragmenting of packets into the minimum IPv6 MTU]' ) - ;| - freebsd*|darwin*|netbsd*:6) - args+=( '-P+[specify IPsec policy to be used for the probe]:policy' ) - ;| - solaris2.<11->) - args+=( - '-b[bypass global IPsec policy and send and receive packets in the clear]' - '-N+[specify a next-hop router that the probe packet should go through]:router:_hosts' - ) - ;| - freebsd<13->.*:6|(freebsd|darwin|dragonfly)*:4) - args+=( - '-A[audible bell for no packet]' - '-t+[specify timeout after which ping exits]:deadline (seconds)' - '-W+[specify time to wait for a response]:wait time (ms)' - ) - ;| - (freebsd|darwin|dragonfly)*:4) - args+=( - '-G+[specify maximum size for ICMP payload for sweeping pings]:size' - '-g+[specify minimum size for ICMP payload for sweeping pings]:size [0]' - '-h+[specify size increment for ICMP payload for sweeping pings]:size [1]' - '-M+[use ICMP_MASKREQ or ICMP_TSTAMP instead of ICMP_ECHO]:ICMP:(mask time)' - '-m+[set IP Time to Live for outgoing packets]:ttl' - '-T+[set IP Time to Live for multicasted packets]:ttl' - '-z+[specify type of service]:type of service' - ) - ;| - (freebsd<-12>.*|darwin*):6) - args+=( - '-R[audible bell for no packet]' - '-r[audible bell for each packet]' - ) - ;| - (iputils|freebsd<13->.*):4) - args+=( - '(-F -N)-4[use IPv4 only]' - '-6[use IPv6 only]' - ) - ;| - freebsd<13->.*:4) - args+=( - '-C+[add an 802.1p Ethernet Priority Code Point when sending a packet]:pcp:(-1 0 1 2 3 4 5 6 7)' - ) - ;| - freebsd<13->.*:6) - args+=( - '*-e+[specify gateway to use as the next hop to the destination]:gateway:_hosts' - '-k+[generate ICMPv6 Node Information Node Addresses query]:address type:(a c g s l A)' - '(-s)-O[generate ICMPv6 Node Information supported query types query]' - '*-u[suppress fragmentation to minimum MTU]' - '(-s)-Y[generate ICMPv6 Node Information DNS Name query with old packet format]' - '(-s)-y[generate ICMPv6 Node Information DNS Name query]' - '-E[enable transport-mode IPsec encapsulated security payload]' - '-Z[enables transport-mode IPsec authentication header]' - ) - ;| - freebsd<-12>.*:6) - args+=( - '-x+[specify time to wait for a response]:wait time (ms)' - '-X+[specify timeout after which ping exits]:deadline (seconds)' - ) - ;; - netbsd*:4) - args+=( - '-C[send timestamps in compat format]' - '-E+[specify IPsec policy to be used for the probe]:policy' - '-h+[specify target host]:host:_hosts' - '-P+[use a pseudo-random sequence for the data]' - '-T+[set IP Time to Live for outgoing packets]:ttl' - '-t+[specify type of service]:type of service' - ) - ;; - (dragonfly|netbsd)*:6) - args+=( '-R[inject reachability confirmation hint for target host/first hop]' ) - ;; - darwin*:4) - args+=( '-b+[bind the socket to specified interface for sending]:interface:_net_interfaces') - ;| - darwin*:6) - args+=( - '-B+[bind the socket to specified interface for sending]:interface:_net_interfaces' - '-G+[specify max,min,increment size for ICMP payload for sweeping pings]:max,min,incr (default min=0 incr=1)' - '-z+[specify traffic class]:traffic class' - ) - ;| - darwin*) - args+=( - '-C[prohibit socket from using cellular network interface]' - '-K+[specify network service type for sending ICMP packets]:serviece type:(BK_SYS BK BE RV AV RD OAM VI SIG VO)' - '-k+[specify traffic class to use for sending ICMP packets]:traffic class [CTL]:(BK_SYS BK BE RD OAM AV RV VI VO CTL)' - '--apple-connect[connects the socket to the destination address]' - '--apple-time[prints the time a packet was received]' - ) - ;; - openbsd*) - args+=( - '-E[audible bell for no packet]' - '-e[audible bell for each packet]' - '-g[provide a visual display of packets received and lost]' - '-T+[change TOS value]:TOS value:(critical inetcontrol lowdelay netcontrol throughput reliability ef af cs)' - '-V+[specify routing table to be used]:routing table:_routing_tables' - ) - ;; - iputils:*) - args+=( - '-A[adaptive]' - '-b[allow pinging a broadcast address]' - "-B[don't allow ping to change source address]" - '-D[print timestamp before each line]' - '(-4)-F+[allocate and set 20-bit flow label]:flow label (hex)' - '(-)-h[show usage information]' - '-I+[specify source interface]:interface:_net_interfaces' - '-m+[specify mark to tag outgoing packets]:mark' - "-M+[specify path MTU discovery strategy]:strategy:(( - do\:prohibit\ fragmentation,\ even\ local\ one - want\:do\ PMTU\ discovery - dont\:don\'t\ set\ DF\ flag))" - '(-4)-N+[send ICMPv6 node information queries instead of echo request]:sub option' - '-O[report outstanding ICMP ECHO reply before sending next packet]' - '-Q+[set Quality of Service-related bits in ICMP datagrams]:QoS TOS bits' - '-S+[set socket sndbuf]:sndbuf' - '-T+[set special IP timestamp options]:timestamp option:(tsonly tsandaddr tsprespec)' - '-U[print full user-to-user latency]' - '(-)-V[display version information]' - '-W+[specify time to wait for a response]:wait time (seconds)' - ) - ;; - solaris*) - args+=( - '-A+[specify address family]:address family:(inet inet6)' - '-F+[specify the flow label of probe packets]:number' - '-I+[specify delay between packets]:interval (seconds) [1]' - '-P+[specify type of service]:type of service (0-255) [0]' - '-U[send UDP packets instead of ICMP]' - '-a[ping all addresses, both IPv4 and IPv6 of multihomed destination]' - '-c+[specify the traffic class of probe packets]:traffic class (0-255)' - '-i+[specify source interface]:interface:_net_interfaces' - '-l[send the probe using loose source routing]' - '-p+[set base UDP port]:port [33434]' - '-s[send one datagram per second and collect statistics]' - ) - ;; -esac - -_arguments -s -S $args \ - '*:host:_hosts' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pip deleted file mode 100644 index bafc7f9e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pip +++ /dev/null @@ -1,213 +0,0 @@ -#compdef -P pip[0-9.]# - -# To get completion of installable packages, do: -# pip install pip-cache -# and then run: -# pip-cache update - -local curcontext="$curcontext" ret=1 -local -a state state_descr line -local -A opt_args -local python pip -local -a args subcommands packages - -pip=${words[1]} -python=${${pip}/pip/python} -[[ $python == $pip ]] && python=python - -args=( - '(* : -)'{-h,--help}'[display usage information]' - '--isolated[ignore environment variables and user configuration]' - \*{-v,--verbose}'[give more output]' - \*{-q,--quiet}"[give less output]" - '--log=[specify log file where a complete record will be kept]:file:_files' - '--proxy=[specify a proxy]:proxy ([user\:passwd@]proxy.server\:port)' - '--retries=[specify maximum number of retries each connection should attempt]:retries [5]' - '--timeout=[set the socket timeout]:timeout (seconds) [15]' - '--exists-action=[specify action when a path already exists]:action:((s\:switch i\:ignore w\:wipe b\:backup a\:abort))' - '--cert=[specify path to alternate CA bundle]:path:_files' - '--client-cert=[specify path to SSL client certificate]:certificate file:_files' - '(--no-cache-dir)--cache-dir=[specify location to store the cache data]: :_directories' - '(--cache-dir)--no-cache-dir[disable the cache]' - "--disable-pip-version-check[don't check whether a new version of pip is available]" -) - -subcommands=( - 'install:install packages' - 'download:download packages' - 'uninstall:uninstall packages' - 'freeze:output installed packages in requirements format' - 'list:list installed packages' - 'show:show information about installed packages' - 'check:verify installed packages have compatible dependencies' - 'search:search PyPI for packages' - 'wheel:build wheels from your requirements' - 'hash:compute hashes of package archives' - 'help:show available commands' -) - -_arguments -C $args \ - '(* : -)'{-V,--version}'[display version information]' \ - ':subcommand:->subcommand' \ - '*::options:->options' && ret=0 - -case $state in - subcommand) - _describe -t subcommands 'pip subcommand' subcommands && ret=0 - ;; - - options) - curcontext="${curcontext%:*}-$words[2]:" - - case $words[1] in - download|install|list|wheel) - args+=( - '--pre[include pre-release and development versions]' - '(-i --index-url)'{-i+,--index-url=}'[base URL of Python Package Index]:url:_urls' - '--extra-index-url=[extra URLs of package indexes to use in addition to --index-url]:url:_urls' - '--no-index[ignore package index (only looking at --find-links URLs instead)]' - '(-f --find-links)'{-f+,--find-links=}'[parse specified URL or HTML file for links to packages]:URL or file:_files -g "*.htm(|l)(-.)"' - '--process-dependency-links[enable the processing of dependency links]' - ) - ;| - download|(un|)install|freeze|wheel) - args+=( - '(-r --requirement)'{-r+,--requirement=}'[all the packages listed in the given requirements file]:requirements file:_files -g "(requirement*|*.txt)(-.)"' - ) - ;| - download|install|wheel) - args+=( - '!--use-wheel' '!--no-use-wheel' - "*--no-binary=[don't use binary packages]: :->package_list" - "*--only-binary=[don't use source packages]: :->package_list" - \*{-c+,--constraint=}'[constrain versions using the given constraints file]:constraints file:_files' - '(-e --editable)'{-e+,--editable=}'[install a package directly from a checkout]:directory or VCS+REPOS_URL[@REV]#egg=PACKAGE:_files -/' - '--src=[check out --editable packages into given directory]: :_directories' - '--ignore-requires-python[ignore the Requires-Python information]' - "--no-deps[don't install package dependencies]" - '(-b --build)'{-https://cloud.kiddleb+,--build=}'[specify directory to unpack packages into]: :_directories' - '--global-option=[extra global options to be supplied to the setup.py call before the install command]:options' - "--no-clean[don't clean up build directories]" - '--require-hashes[require a hash to check each requirement against]' - ) - ;| - - download) - args+=( - '(-d --dest)'{-d+,--dest=}'[download packages into given directory]: :_directories' - '--platform=[only download wheels compatible with platform]::platform' - '--python-version=[only download wheels compatible with specified Python interpreter version]:version' - '--implementation=[only download wheels compatible with specified Python implementation]:implementation:(pp jy cp ip py)' - ) - ;; - - install) - args+=( - '(-t --target)'{-t+,--target=}'[specify directory to install packages into]: :_directories' - '(-d --download)'{-d+,--download=}'[download packages into directory instead of installing them]: :_directories' - '(-U --upgrade)'{-U,--upgrade}'[upgrade all packages to the newest available version]' - '--upgrade-strategy=[determine how dependency upgrading should be handled]:strategy:(eager only-if-needed)' - '--force-reinstall[when upgrading, reinstall all packages even if they are already up-to-date]' - '(-I --ignore-installed)'{-I,--ignore-installed}'[ignore installed packages]' - "--no-install[download and unpack all packages, but don't actually install them]" - "--no-download[don't download any packages, just install the ones already downloaded]" - '--install-option=[extra arguments to be supplied to the setup.py install command]:options' - '--user[install to the user install directory, typically ~/.local]' - '--egg[install as self contained egg file, like easy_install does]' - '--root=[install everything relative to this alternate root directory]: :_directories' - '--strip-file-prefix=[strip given prefix from script paths in wheel RECORD]:prefix' - '--prefix=[specify installation prefix where lib, bin and other top-level folders are placed]: :_directories' - '(--no-compile)--compile[compile py files to pyc]' - "(--compile)--no-compile[don't compile py files to pyc]" - '*:package name:->packages_or_dirs' - ) - ;; - - uninstall) - args+=( - '(-y --yes)'{-y,--yes}"[don't ask for confirmation of uninstall deletions]" - ':installed package:->installed_packages' - ) - ;; - - freeze) - args+=( - '(-f --find-links)'{-f+,--find-links=}'[specify URL to look for packages at]:url:_urls' - '(-l --local)'{-l,--local}"[if in a virtualenv that has global access, don't list globally-installed packages]" - '--user[only output packages installed in user-site]' - '--all[include pip, setuptools, distribute and wheel in output]' - ) - ;; - - hash) - args+=( - '(-a --algorithm)'{-a+,--algorithm=}'[specify hash algorithm]:algorithm:(sha256 sha384 sha512)' - '*: :_files' - ) - ;; - - list) - args+=( - '(-o --outdated -u --uptodate)'{-o,--outdated}'[list outdated packages (excluding editables)]' - '(-u --uptodate -o --outdated)'{-u,--uptodate}'[list uptodated packages (excluding editables)]' - '(-e --editable)'{-e,--editable}'[list editable projects]' - '(-l --local)'{-l,--local}"[if in a virtualenv that has global access, don't list globally-installed packages]" - '--user[only output packages installed in user-site]' - '--format=[select the output format]:format [legacy]:(legacy columns freeze json)' - '--not-required[list packages that are not dependencies of installed packages]' - ) - ;; - - show) - args+=( - '(-f --files)'{-f,--files}'[show the full list of installed files for each package]' - ':installed package:->installed_packages' - ) - ;; - - search) - args+=( - '(-i --index)'{-i+,--index=}'[specify base URL of Python Package Index]:URL:_urls' - ) - ;; - - wheel) - args+=( - '(-w --wheel-dir)'{-w+,--wheel-dir=}"[build wheels into given directory]: :_directories" - "--build-option=[extra arguments to be supplied to 'setup.py bdist_wheel']:options" - ) - ;; - - help) - _describe -t subcommands 'pip subcommand' subcommands - return - ;; - - *) args+=( '*: :_default' ) ;; - esac - - _arguments -s -S $args && ret=0 - - case $state in - package_list) - packages=( ${(f)"$(_call_program packages pip-cache pkgnames)"} ) - _sequence _wanted packages expl package compadd - -a packages && ret=0 - ;; - - packages_or_dirs) - [[ -prefix - ]] || packages=( ${(f)"$(_call_program packages pip-cache pkgnames)"} ) - _alternative \ - 'all-packages:package:compadd -a packages' \ - 'directories:directory with setup.py:_directories' && ret=0 - ;; - - installed_packages) - packages=( $(_call_program fetch-installed \ - "env COMP_WORDS='pip uninstall' COMP_CWORD=2 PIP_AUTO_COMPLETE=1 $pip") ) - _wanted installed-packages expl 'installed package' compadd -a packages && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_piuparts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_piuparts deleted file mode 100644 index 1da0e85e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_piuparts +++ /dev/null @@ -1,30 +0,0 @@ -#compdef piuparts - -local context state line -typeset -A opt_args - -_arguments -s \ - '(-a --apt)'{-a,--apt} \ - '(-b --basetgz)'{-b,--basetgz=}':base tarball:_files' \ - '(-d --distribution)'{-d,--distribution=}':Debian distribution:(sarge etch sid experimental)' \ - '(-i --ignore)*'{-i,--ignore=}':file to ignore:_files' \ - '(-I --ignore-regexp)*'{-I,--ignore-regexp=}':expression to ignore' \ - '(-k --keep-tmpdir)'{-k,--keep-tmpdir} \ - '(-l --log-file)'{-l,--logfile=}':log file:_files' \ - '(-m --mirror)'{-m,--mirror=}':Debian mirror:_urls' \ - '(-n --no-ignores)'{-n,--no-ignores} \ - '(-p --pbuilder)'{-p,--pbuilder}'[use /var/cache/pbuilder/base.tgz]' \ - '(-s --save)'{-s,--save=}':target tarball:_files' \ - '(-t --tmpdir)'{-t,--tmpdir=}':temp dir:_files -/' \ - '-V[version]' \ - '*:package:->packages' && return 0 - -case "$state" in - (packages) - if (( $+opt_args[-a] )); then - _deb_packages avail - else - _deb_files - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg-config b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg-config deleted file mode 100644 index cae6a629..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg-config +++ /dev/null @@ -1,66 +0,0 @@ -#compdef pkg-config - -local arguments packages curcontext="$curcontext" state line expl ret=1 -declare -A opt_args - -# Up-to-date as of pkg-config 0.29-4 (debian package) man page synopsis -arguments=( - "--modversion[print the version information of a given package]" - "--version[print version information of pkg-config itself]" - "--atleast-pkgconfig-version=[require given version of pkg-config]:minimum version" - "(- *)"{--help,-\?}"[display a help message]" - "(- *)--usage[display brief usage message]" - "--print-errors[cause errors to be printed]" - "--short-errors[print short error messages]" - "--silence-errors[prevent the printing of errors]" - "--errors-to-stdout[print errors to stdout rather than stderr]" - "--cflags[print the preprocessor and compiler flags]" - "--cflags-only-I[output -I flags only]" - "--cflags-only-other[output cflags not covered by the cflags-only-I option]" - "--debug[show verbose debug information]" - "--libs[print the link flags]" - "--libs-only-L[print the -L and -R parts of \"--libs\"]" - "--libs-only-l[print the -l part of \"--libs\"]" - "--libs-only-other[output other libs]" - "--validate[syntax check a .pc file]" - "--list-all[list all known packages]" - "--variable=[return the value of the specified variable]:variable:->variable" - "--define-variable=[set the global value for a variable]:name value pair" - "--print-variables[list all variables defined in the package]" - "--uninstalled[return success if any \"-uninstalled\" packages are being used]" - "--exists[test whether the package exists or not]" - "--atleast-version=[test whether the version is at least that of the specified value]:least value" - "--exact-version=[test whether the version is exactly that of the specified value]:exact value" - "--max-version=[test whether the version is no greater than some specific value]:max version" - "--print-provides[list all modules the package provides]" - "--print-requires[list all modules the package requires]" - "--print-requires-private[list all modules the package requires for static linking (see --static)]" -# "--msvc-syntax[output linker flags in a form compatible with MSVC++ (Windows only)]" -# "--dont-define-prefix[disables automatic overriding of the variable \"prefix\" (Windows only)]" -# "--prefix-variable=[set the name of the variable \"prefix\" (Windows only)]:prefix value" - "*: :->packages" -) - -_arguments -C -S : $arguments && ret=0 - -case $state in - (packages) - packages=( ${${(f)"$(_call_program packages pkg-config --list-all)"}%% *} ) - _alternative \ - 'packages:package:compadd -a - packages' \ - 'files:package file:_files -g "*.pc(-.)"' \ - && ret=0 - ;; - - (variable) - if [[ $line[1] != '-' ]]; then - local -a variables=( ${${(f)"$(_call_program variables "pkg-config --print-variables -- ${(q)line[1]}")"}} ) - _wanted variables expl 'variable' compadd -a - variables && ret=0 - else - _message "variable" - fi - ;; - -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg5 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg5 deleted file mode 100644 index bcd4e3da..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg5 +++ /dev/null @@ -1,431 +0,0 @@ -#compdef pkg - -_pkg5_pkgs() { - local cache_policy cache_id=pkg5_installed_pkgs:$HOST:${pkg5_root//\//+} - typeset -a -g _pkg5_installed_pkgs - - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pkg5_installed_caching_policy - fi - - if ( [[ $#_pkg5_installed_pkgs -eq 0 ]] || _cache_invalid $cache_id ) && ! _retrieve_cache $cache_id; then - _pkg5_installed_pkgs=( $( - pkg -R $pkg5_root list -H | while read pkg junk; do - pkga=( ${(s:/:)pkg} ) - for i in {1..$#pkga}; do - print ${(j:/:)${pkga[$i,-1]}} - done - done) ) - _store_cache $cache_id _pkg5_installed_pkgs - fi - - compadd "$@" - ${_pkg5_installed_pkgs} -} - -_pkg5_pkgs_a() { - local cache_policy cache_id=pkg5_known_pkgs:$HOST:${pkg5_root//\//+} - typeset -a -g _pkg5_known_pkgs - - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pkg5_known_caching_policy - fi - - if ( [[ $#_pkg5_known_pkgs -eq 0 ]] || _cache_invalid $cache_id ) && ! _retrieve_cache $cache_id; then - _pkg5_known_pkgs=( $( - pkg -R $pkg5_root list -aH --no-refresh | while read pkg junk; do - pkga=( ${(s:/:)pkg} ) - for i in {1..$#pkga}; do - print ${(j:/:)${pkga[$i,-1]}} - done - done) ) - _store_cache $cache_id _pkg5_known_pkgs - fi - - compadd "$@" - ${_pkg5_known_pkgs} -} - -_pkg5_avoided_pkgs() { - compadd "$@" - $(pkg -R $pkg5_root unavoid) -} - -_pkg5_pubs() { - compadd "$@" - $(pkg -R $pkg5_root publisher -H | awk '{print $1}') -} - -_pkg5_variants() { - compadd "$@" - $(pkg -R $pkg5_root variant -H | awk '{print $1}') -} - -_pkg5_facets() { - compadd "$@" - $(pkg -R $pkg5_root facet -H | awk '{print $1}') -} - -_pkg5_known_caching_policy() { - [[ $pkg5_root/var/pkg/state/known/catalog.attrs -nt "$1" ]] -} - -_pkg5_installed_caching_policy() { - [[ $pkg5_root/var/pkg/state/installed/catalog.attrs -nt "$1" ]] -} - -_pkg5() { - local expl context state line pkg5_root prop - typeset -A opt_args - local -a subcmds pkg5_actions pkg5_cattr pkg5_sattr be_opts - local -a publisher_properties image_properties certs - - subcmds=( - install uninstall list update refresh version help - info search verify fix revert contents image-create - {change-,}{variant,facet} avoid unavoid history - {{un,}set-,}property {add,remove}-property-value - {{un,}set-,}publisher purge-history rebuild-index - update-format freeze unfreeze {{un,}set-,}mediator - ) - - pkg5_actions=( - set depend dir driver file group hardlink legacy license link - signature unknown user - ) - - # Pseudo attributes for the contents subcommand - pkg5_cattr=( - action.hash action.key action.name action.raw - pkg.fmri pkg.name pkg.publisher pkg.shortfmri - ) - - # Pseudo attributes for the search subcommand - pkg5_sattr=( - $pkg5_cattr search.match search.match_type - ) - - publisher_properties=( - "signature-policy:value:(ignore verify require-signatures require-names)" - "signature-required-names:value:" - ) - - image_properties=( - "be-policy:value:(default always-new create-backup when-required)" - "ca-path:value:_path_files -/" - "check-certificate-revocation:value:(true false)" - "flush-content-cache-on-success:value:(true false)" - "mirror-discovery:value:(true false)" - "send-uuid:value:(true false)" - "signature-policy:value:(ignore verify require-signatures require-names)" - "signature-required-names:value:" - "trust-anchor-directory:value:_path_files -/" - "use-system-repo:value:(true false)" - ) - - if [[ $service == "pkg" ]]; then - _arguments -C -A "-*" \ - '(-\? --help)'{-\?,--help}'[Help]' \ - '-R[Root directory]:directory:_path_files -/' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "pkg subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - pkg5_root=${${${opt_args[-R]}:-$PKG_IMAGE}:-/} - - certs=( $(pkg -R $pkg5_root property -H ca-path | awk '{print $2}')/* ) - - # Options common to subcommands which might have to deal with BEs. - # Note that --backup-be-name needs to precede --be-name in order to - # ensure that completion sees "--b" as being ambiguous. - be_opts=( - "(--require-new-be)--deny-new-be[Fail the operation if a new BE would be required]" - "(--deny-new-be)--require-new-be[Force a new BE to be created]" - "--backup-be-name[Specify the name for the backup BE]:BE name: " - "--be-name[Specify a BE name]:BE name: " - "--no-be-activate[Don't activate the new BE]" - "(--require-backup-be)--no-backup-be[Don't leave behind a backup BE]" - "(--no-backup-be)--require-backup-be[Force leaving behind a backup BE]" - ) - - case $service in - ("install") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - "--accept[Accept all licenses]" \ - "--licenses[Display all licenses]" \ - "--reject[Specify an FMRI to exclude from the result]:fmri:_pkg5_pkgs" \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - $be_opts \ - '*:package:_pkg5_pkgs_a' - ;; - - ("uninstall") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - $be_opts \ - "--no-index[Don't reindex search database]" \ - '*:package:_pkg5_pkgs' - ;; - - ("update") - _arguments -A "-*" \ - "-f[Don't check for pkg(5) updates]" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - "--accept[Accept all licenses]" \ - "--licenses[Display all licenses]" \ - $be_opts \ - "--reject[Specify an FMRI to exclude from the result]:fmri:_pkg5_pkgs" \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - '*:package:_pkg5_pkgs' - ;; - - ("list") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-a[Show not-installed packages]' \ - '-f[Show all versions]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '-n[Show newest versions]' \ - '-s[Show summaries]' \ - '-u[Show upgradable versions]' \ - '-v[Show verbose pkg: FMRIs]' \ - "--no-refresh[Don't refresh catalogs]" \ - '*:package:_pkg5_pkgs_a' - ;; - - ("refresh") - _arguments -A "-*" \ - "--full[Full refresh]" \ - '*:publisher:_pkg5_pubs' - ;; - - ("info") - _arguments -A "-*" \ - '--license[Display license text(s)]' \ - '(-r)-l[Installed package]' \ - '(-l)-r[Uninstalled package; fetch info from depot]:*:package:_pkg5_pkgs_a' \ - '*:package:_pkg5_pkgs' - ;; - - ("search") - _arguments -A "-*" \ - "(-p)-a[Show matching actions]" \ - '-l[Local search]' \ - '(-a)-p[Show packages]' \ - '-r[Remote search]' \ - '-H[Omit headers]' \ - '-I[Case sensitive search]' \ - '-s[Depot URI]' \ - '*-o[Attribute output]:attributes:_values -s , "attribute" $pkg5_sattr' \ - ':query:' - ;; - - ("verify") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '*:package:_pkg5_pkgs' - ;; - - ("fix") - _arguments -A "-*" \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - '*:package:_pkg5_pkgs' - ;; - - ("revert") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-v[Verbose]' \ - '--tagged[Revert all tagged files]:tag:' \ - $be_opts \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - '*:file:_path_files' - ;; - - ("contents") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-m[Print raw manifests]' \ - '*-a[Attribute matching]:attribute=pattern:' \ - '*-o[Attribute output]:attributes:_values -s , "attribute" $pkg5_cattr' \ - '*-s[Sort key]:attribute:' \ - '*-t[Action type]:action:_values -s , "action" $pkg5_actions' \ - '-r[Fetch manifests from depot]:*:package:_pkg5_pkgs_a' \ - '*:package:_pkg5_pkgs' - ;; - - ("image-create") - _arguments -A "-*" \ - '(-f --force)'{-f,--force}'[Force image creation]' \ - '(-F --full -P --partial -U --user)'{-F,--full}'[Full image]' \ - '(-F --full -P --partial -U --user)'{-P,--partial}'[Partial image]' \ - '(-F --full -P --partial -U --user)'{-U,--user}'[User image]' \ - '(-z --zone)'{-z,--zone}'[Zoned image]' \ - '-k[Path to SSL key]:file:_path_files' \ - '-c[Path to SSL cert]:file:_path_files' \ - "--no-refresh[Don't refresh catalogs]" \ - "*--variant[Specify image variants]:variant=instance:" \ - "*--facet[Specify image facets]:facet=True/False:" \ - '(-p --publisher)'{-p,--publisher}'[Specify publisher]:prefix=URI:' \ - ':directory:_path_files -/' - ;; - - ("change-variant") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet'] \ - '-v[Verbose'] \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - $be_opts \ - "*:variant:_values -s , 'variant' $(pkg -R $pkg5_root variant -H | awk '{print $1}')" \ - ;; - - ("change-facet") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet'] \ - '-v[Verbose'] \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - $be_opts \ - "*:facet:_values -s , 'facet' $(pkg -R $pkg5_root facet -H | awk '{print $1}')" \ - ;; - - ("variant") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:variant:_pkg5_variants' - ;; - - ("facet") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:facet:_pkg5_facets' - ;; - - ("avoid") - _arguments -A "-*" \ - '*:package:_pkg5_pkgs_a' - ;; - - ("unavoid") - _arguments -A "-*" \ - '*:package:_pkg5_avoided_pkgs' - ;; - - ("set-property") - _arguments -A "-*" \ - ':property:_values "property" $image_properties' \ - ':value:' - ;; - - ("add-property-value") - _arguments -A "-*" \ - ':property:_values "property" $image_properties' \ - ':value:' - ;; - - ("remove-property-value") - _arguments -A "-*" \ - ':property:(${image_properties%%\:*})' \ - ':value:' - ;; - - ("unset-property") - _arguments -A "-*" \ - '*:property:(${image_properties%%\:*})' - ;; - - ("property") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:property:(${image_properties%%\:*})' - ;; - - ("set-publisher") - _arguments -A "-*" \ - '-P[Make preferred]' \ - '(-e --enable)'{-e,--enable}'[Enable publisher]' \ - '(-d --disable)'{-d,--disable}'[Disable publisher]' \ - '(-g --add-origin)'{-g,--add-origin}'[Add origin URI]:uri:' \ - '(-G --remove-origin)'{-G,--remove-origin}'[Remove origin URI]:uri:' \ - '(-m --add-mirror)'{-m,--add-mirror}'[Add mirror URI]:uri:' \ - '(-M --remove-mirror)'{-M,--remove-mirror}'[Remove mirror URI]:uri:' \ - '-p[Repository URI]:url:' \ - "--no-refresh[Don't refresh catalogs]" \ - '--reset-uuid[Reset the image UUID for this publisher]' \ - '--sticky[Make this publisher sticky]' \ - '--non-sticky[Make this publisher non-sticky]' \ - '--search-after[Set publisher search-order]:publisher:_pkg5_pubs' \ - '--search-before[Set publisher search-order]:publisher:_pkg5_pubs' \ - '--approve-ca-cert[Add trusted CA certificate]:CA cert path:_path_files' \ - '--revoke-ca-cert[Revoke CA certificate]:CA cert hash:(${${certs#/etc/openssl/certs/}%.0})' \ - '--unset-ca-cert[Remove trusted CA certificate]:CA cert hash:' \ - '--set-property[Set publisher property]:property:_values "property" $publisher_properties' \ - '--unset-property[Remove publisher property]:property:(${publisher_properties%%\:*})' \ - '--add-property-value[Add publisher property value]:property:_values "property" $publisher_properties' \ - '--remove-property-value[Remove publisher property value]:property:(${publisher_properties%%\:*})' \ - ':publisher:_pkg5_pubs' - ;; - - ("unset-publisher") - _arguments -A "-*" \ - '*:publisher:_pkg5_pubs' - ;; - - ("publisher") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-P[Display only preferred publisher]' \ - '-n[Display only enabled publishers]' \ - '*:publisher:_pkg5_pubs' - ;; - - ("history") - local -a hist_columns - hist_columns=( - "be" "be_uuid" "client" "client_ver" "command" "finish" - "id" "new_be" "new_be_uuid" "operation" "outcome" - "reason" "snapshot" "start" "time" "user" - ) - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-l[Long history]' \ - '-n[Last n records]:number:' \ - '-o[Column]:number:_values -s , "column" $hist_columns' \ - '-t[Time range]' - ;; - - ("freeze"|"unfreeze") - ;; - - ("mediator"|"set-mediator"|"unset-mediator") - ;; - - (*) - _message "unknown pkg subcommand: $service" ;; - - esac -} - -_pkg5 "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg_instance b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg_instance deleted file mode 100644 index 3f4c4921..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkg_instance +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -local -A opts -local whicharg - -zparseopts -E -D -- '-_opts:=opts' - -whicharg=${opts#*:} - -case ${opts%:*} in -(installed) - compadd "$@" - ${opt_args[$whicharg]}/var/sadm/pkg/*/pkginfo(:h:t) - ;; -(spooled) - compadd "$@" - ${opt_args[$whicharg]}/*(:t) - ;; -(uninstalled) - compadd "$@" - ${opt_args[$whicharg]:-/var/spool/pkg}/*/pkgmap(:h:t) - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgadd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgadd deleted file mode 100644 index 7adc18a2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgadd +++ /dev/null @@ -1,32 +0,0 @@ -#compdef pkgadd - -_pkgadd_pass() { - _values -S : 'password descriptor' \ - '(file env console)pass[literal password]:password:' \ - '(pass file console)env[environment variable]:environment:_parameters -g "*export*"' \ - '(pass env console)file[file]:file:_files' \ - '(pass env file)console[from /dev/tty]' -} - -_pkgadd() { - _arguments -s \ - '-d[device]:device file:_files' \ - '-x[HTTP(S) proxy]:HTTP proxy: ' \ - '-k[keystore]:keystore:_files' \ - '-P[password to decrypt keystore]:password:_pkgadd_pass' \ - '-Y[select packages by category]:category: ' \ - - set1 \ - '-n[non-interactive mode]' \ - '-v[trace all scripts]' \ - '-a[admin file]:admin file:_files' \ - "-M[don't use vfstab file]" \ - '-R[root path]:root path:_files -/' \ - '-r[response file]:response file:_files' \ - '-V[alternate vfstab file]:vfstab file:_files' \ - '*:package instance:_pkg_instance --_opts uninstalled:-d' \ - - set2 \ - '-s[spool package]:spool directory:_files -/' \ - '*:package instance:_pkg_instance --_opts uninstalled:-d' -} - -_pkgadd "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgin deleted file mode 100644 index 662bed18..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgin +++ /dev/null @@ -1,79 +0,0 @@ -#compdef pkgin - -local curcontext="$curcontext" pkgin=$words[1] cmd ret=1 -local -a state state_descr line expl cmds short pkgs -local -A opt_args - -_arguments -s -S -C \ - '-c+[enable chrooting pkgin in the given repository]:chroot path:_directories' \ - '-d[download only]' \ - '-f[force database update]' \ - '-F[force package reinstall]' \ - '(- 1 *)-h[display usage information]' \ - '-l+[only include the packages with the specified status flags]:limit chars:(( - \=\:installed\ version\ is\ current - \<\:installed\ version\ is\ older - \>\:installed\ version\ is\ newer - ))' \ - '(-y)-n[assume "no" as default answer and print results of actions to be taken line per line]' \ - '-p[display results in a parsable format]' \ - '-P[display packages versions instead of globs (sd, sfd, srd)]' \ - '-t+[log package browsing (dependencies and impact) to specified log file]:log file:_files' \ - '(- 1 *)-v[display version information]' \ - '-V[be verbose when (un)installing]' \ - '(-n)-y[assume "yes" as default answer, except for autoremove]' \ - '1:command:->subcommands' \ - '*:: :->restargs' && ret=0 - -if [[ -n $state ]]; then - cmds=( ${${${(f)"$(_call_program commands $pkgin -h 2>&1)"}[3,-1]/ - (#b)(?)/:$match:l}%.} ) - short=( ${${cmds#*\(}/ #\)/} ) - cmds=( ${cmds// #\(*\)/} ) - if [[ $state = subcommands && ! -prefix - ]]; then - _describe -t commands "command" short -- cmds -M 'r:|-=* r:|=*' && ret=0 - return ret - fi - - cmd=${short[(I)${words[1]}:*]} - if (( cmd )); then - cmd=${cmds[cmd]%%:*} - else - cmd=$words[1] - fi - curcontext="${curcontext%:*}-$cmd" - case $cmd in - avail|autoremove|clean|export|(full-|)upgrade|show(|-no)-keep|update) - _nothing - ;; - import) - _wanted files expl file _files && ret=0 - ;; - install|pkg-(content|descr|build-defs)|provides|requires|show(|-full|-rev)-deps|show-pkg-category) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin avail)"}%%-[^- ]# *} && ret=0 - ;; - keep) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin show-no-keep)"}%%-[^- ]# *} && ret=0 - ;; - remove) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin list)"}%%-[^- ]# *} && ret=0 - ;; - search) - _message -e patterns pattern - ;; - show-category) - _wanted -x categories expl category compadd - /usr/pkgsrc/*~*/CVS(N/:t) && ret=0 - ;; - unkeep) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin show-keep)"}%%-[^- ]# *} && ret=0 - ;; - *) - _default && ret=0 - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkginfo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkginfo deleted file mode 100644 index eca9e057..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkginfo +++ /dev/null @@ -1,18 +0,0 @@ -#compdef pkginfo - -_arguments -s \ - '(-q -r -x)-l[long listing]' \ - '(-l -r -x)-q[quiet mode]' \ - '(-l -q -x)-r[relocation base]' \ - '(-l -q -r)-x[extracted listing]' \ - '-c[category]:category' \ - '-a[architecture]:architecture' \ - '-v[version]:version' \ - - set1 \ - '(-p)-i[select completely installed packages]' \ - '(-i)-p[select partially installed packages]' \ - '-R[root path]:root path:_files -/' \ - '*:package instance:_pkg_instance --_opts installed:set1--R' \ - - set2 \ - '-d[device]:device file:_files' \ - '*:package instance:_pkg_instance --_opts uninstalled:set2--d' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgrm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgrm deleted file mode 100644 index 1191a2d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgrm +++ /dev/null @@ -1,16 +0,0 @@ -#compdef pkgrm - -_arguments -s \ - '-Y[select packages by category]:category' \ - - set1 \ - '-n[non-interactive mode]' \ - '-v[trace all scripts]' \ - '-a[admin file]:admin file:_files' \ - "-A[force removal of all files]" \ - "-M[don't use vfstab file]" \ - '-R[root path]:root path:_files -/' \ - '-V[alternate vfstab file]:vfstab file:_files' \ - '*:package instance:_pkg_instance --_opts installed:set1--R' \ - - set2 \ - '-s[spool package]:spool directory:_files -/' \ - '*:package instance:_pkg_instance --_opts spooled:set2--s' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgtool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgtool deleted file mode 100644 index cb14099b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pkgtool +++ /dev/null @@ -1,55 +0,0 @@ -#compdef installpkg upgradepkg removepkg pkgtool explodepkg makepkg - -local expl - -case "$service" in - installpkg) - _arguments \ - '-warn[warn if files would be overwritten, but do not install]' \ - '-root=[specify alternate install location]:root directory:_path_files -/' \ - '-infobox[use dialog to draw an info box]' \ - '-menu[confirm package installation with a menu]' \ - "-ask[always ask on package installation regardless of package's priority]" \ - '-priority[provide a priority for the entire package list to use]:priority list:(ADD REC OPT SKP)' \ - '-tagfile[specify a different file to use for package priorities]:tagfile:_files -/' \ - '*:package file:_files -g "*.t[gblx]z(-.)"' - ;; - - removepkg) - _arguments \ - '-warn[list which files & directories would be removed, skip actual removal]' \ - '-preserve[reconstruct complete package subtree in /tmp/preserved_packages]' \ - '-copy[construct a copy of the package in /tmp/preserved_packages]' \ - '-keep[save the intermediate files created]' \ - '*:package:_files -W /var/log/packages/ -/' - ;; - - upgradepkg) - _arguments \ - '--install-new[install new packages in addition to upgrading existing ones]' \ - '--reinstall[upgrade even when the same version is already installed]' \ - '--verbose[show all the gory details of the upgrade]' \ - '*:package file:_files -g "*.t[gblx]z(-.)"' - ;; - - explodepkg) - _wanted file expl 'package file' _files -g '*.t[gblx]z(-.)' - ;; - - makepkg) - _arguments -s \ - '(--linkadd -l)'{--linkadd,-l}'[move symlinks into doinst.sh]:answer:(y n)' \ - '(--chown -c)'{--chown,-c}'[reset all permissions to root:root 755]:answer:(y n)' - ;; - - pkgtool) - _arguments \ - "-sets[install the disk sets A, B, C]" \ - "(-source_device)-source_mounted[don't attempt to unmount and remount source device with each disk]" \ - '-ignore_tagfile[install every package encountered regardless of tagfiles]' \ - '-tagfile[specify tagfile to be used for the installation]:tagfile:_files -/' \ - '-source_dir[specify directory containing each disk subdirectory]:source directory:_path_files -/' \ - '-target_dir[specify directory where the target root directory is located]:target directory:_path_files -/' \ - '(-source_mounted)-source_device[specify source device to install from]:source device:{compadd "$expl[@]" /dev/*}' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_plutil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_plutil deleted file mode 100644 index 8138a5c5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_plutil +++ /dev/null @@ -1,53 +0,0 @@ -#compdef plutil - -local ret=1 k v -local -a context line state state_descr tmp fmts=( xml1 binary1 json ) -local -A opt_args val_args types=( - -bool 'boolean' - -data 'base64-encoded data' - -date 'date (XML property-list format)' - -float '64-bit float' - -integer '64-bit integer' - -json 'JSON fragment' - -xml 'XML property list' -) - -_arguments -s -S : \ - '(: -)-help[display help information]' \ - '(-p -r)-s[suppress normal output]' \ - '*:input file:_files' \ - - set1 \ - '-lint[check input for syntax errors]' \ - - set2 \ - "(-extract -insert -replace -remove)-convert[convert to specified format]:output format:(${(j< >)fmts})" \ - "(-convert -insert -replace -remove)-extract[extract value at specified key path from property list]: :->k:output format:(${(j< >)fmts})" \ - '(-convert -extract -replace -remove)-insert[insert value at specified key path into property list]: :->k: :->t: :->v' \ - '(-convert -extract -insert -remove)-replace[replace value at specified key path in property list]: :->k: :->t: :->v' \ - '(-convert -extract -insert -replace)-remove[remove value at specified key path from property list]: :->k' \ - '(-o -extract -insert -replace -remove)-e[specify output file extension]:output file extension' \ - '(-e -extract -insert -replace -remove)-o[specify output file]:output file:_files' \ - '(-r -s)-p[pretty-print property list]' \ - '(-p -s)-r[pretty-print JSON]' \ -&& ret=0 - -case $state in - k) _message 'key path' && ret=0 ;; - t) - tmp=() - for k v in ${(kv)types}; do - tmp+=( "${k}[${v}]" ) - done - _values 'value type' $tmp && ret=0 - ;; - v) - if [[ $words[(CURRENT - 1)] == -bool ]]; then - _values $types[-bool] YES NO true false && ret=0 - elif (( $+types[$words[(CURRENT - 1)]] )); then - _message $types[$words[(CURRENT - 1)]] && ret=0 - else - _message value && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pmap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pmap deleted file mode 100644 index ba332153..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pmap +++ /dev/null @@ -1,20 +0,0 @@ -#compdef pmap -# based on procps-ng-3.3.15 - -_arguments -s \ - '(exit -A --range)'{-A+,--range}'[limit results to the specified address range]:low,high: ' \ - '(exit -q --quiet)'{-q,--quiet}'[do not display some header or footer lines]' \ - '(exit -p --show-path)'{-p,--show-path}'[show full path to files in the mapping column]' \ - '(exit)*: :_pids' \ - + '(format)' \ - '(exit)'{-d,--device}'[show the device format]' \ - '(exit)'{-x,--extended}'[show the extended format]' \ - '(exit)-X[show even more details than -x option]' \ - '(exit)-XX[show everything the kernel provides]' \ - '(exit)'{-c,--read-rc}'[read the default configuration]' \ - '(exit)'{-C+,--read-rc-from=}'[read the configuration from the specified file]: :_files' \ - + '(exit)' \ - '(- *)'{-n,--create-rc}'[create new default configuration and exit]' \ - '(- *)'{-N+,--create-rc-to=}'[create new configuration to the specified file and exit]: :_files' \ - '(- *)'{-h,--help}'[display help text and exit]' \ - '(- *)'{-V,--version}'[display version information and exit]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pon b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pon deleted file mode 100644 index ee19946c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pon +++ /dev/null @@ -1,23 +0,0 @@ -#compdef pon poff - -case "$service" in - (pon) - -_arguments \ - '(-q --quick)'{-q,--quick}'[hangs up after all ip-up scripts are run]' \ - '1:provider to call:_files -W /etc/ppp/peers' - - ;; - - (poff) -_arguments \ - '-r[drop the line and redial]' \ - '-d[toggle state of debug option]' \ - '-c[renegotiate compression]' \ - '-a[stop all pppds]' \ - '-h[help]' \ - '-v[version]' \ - '1:provider to disconnect:_files -W /etc/ppp/peers' - - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portaudit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portaudit deleted file mode 100644 index 788248d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portaudit +++ /dev/null @@ -1,14 +0,0 @@ -#compdef portaudit - -_arguments -s \ - '-a[vulnerability report for all installed packages]' \ - '-C[vulnerability report for the port in the current working directory]' \ - '-d[print creation date of the database]' \ - '-F[fetch the current database]' \ - '-q[quiet mode]' \ - '-V[show portaudit version number]' \ - '-v[verbose mode]' \ - '-X[download a fresh database from least days old]:days:' \ - '-f[check the packages listed in file]:file:_files' \ - '-r[restrict listed vulnerabilities with eregex pattern]:eregex:' \ - ':pkg-name:' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portlint b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portlint deleted file mode 100644 index 4cbeb20c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portlint +++ /dev/null @@ -1,17 +0,0 @@ -#compdef portlint - -_arguments -s \ - '-a[additional check for scripts/* and pkg-*]' \ - '-A[turn on all additional checks (equivalent to -abcNt)]' \ - '-b[warn $(VARIABLE)]' \ - '-c[committer mode]' \ - '-C[pedantic committer mode (equivalent to -abct)]' \ - '-g[group errors together to avoid duplication (disabled if -v is specified)]' \ - '-h[show summary of command line options]' \ - '-v[verbose mode]' \ - '-t[nit pick about use of spaces]' \ - '-N[writing a new port]' \ - '-V[print the version and exit]' \ - '-M[set make variables to ENV (ex. PORTSDIR=/usr/ports.work)]: :_guard ".#" "environment vars"' \ - '-B[allow # contiguous blank lines]: :_guard "[0-9]#" "numeric value"' \ - ':port directory:_files -/' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portmaster b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portmaster deleted file mode 100644 index ee6fefc6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portmaster +++ /dev/null @@ -1,112 +0,0 @@ -#compdef portmaster - -_portmaster_pkgs() { - compadd "$@" - ${PKG_DBDIR:-/var/db/pkg}/*(/:t) -} - -_portmaster_ports() { - local expl ret=1 _fbsd_ports _fbsd_cat - _fbsd_cat=(${PORTSDIR:-/usr/ports}/[a-z]*(/:t)) - if [[ $PREFIX != */* ]] ; then - _wanted cat_packages expl 'category/port' compadd -S '/' $_fbsd_cat - else - compset -P '*/' - _fbsd_ports=(${PORTSDIR:-/usr/ports}/$IPREFIX/*(/:t)) - _wanted cat_packages expl 'category/port' compadd $_fbsd_ports - fi - return ret -} - -_portmaster_pkgs_and_ports() { - local ret=1 - _portmaster_pkgs && ret=0 - _portmaster_ports && ret=0 - - return ret -} - -_portmaster() { - local specific_args common_args expunge_args standalone_args kid - standalone_args=( - '--clean-distfiles[delete distfiles not associated with an installed ports: interactive]' - '--clean-distfiles-all[delete distfiles not associated with an installed ports]' - '--check-depends[cross-check and update dependency information for all ports]' - '--check-port-dbdir[check for stale entries in /var/db/ports]' - '--list-origins[list directories from /usr/ports for root and leaf ports]' - '-l[list all installed ports by category]' - '-L[list all installed ports by category, and search for updates]' - {'(-help)-h','(-h)--help'}'[display help message]:' - '--version[display the version only]:' - ) - specific_args=( - '(-s -r -o)-e[expunge port using pkg_delete, and remove all distfiles]:name of port:_portmaster_pkgs' - '(-e -r -o)-s[clean out stale ports that used to be depended on]' - '(-e -s -o)-r[rebuild the specified port, and all ports that depend on it]:name/glob of port:_portmaster_pkgs' - '(-e -s -r)-o[replace the installed port with a port from a different origin]:new port dir:_portmaster_ports' - ) - expunge_args=( - '(-b)-B[prevents creation of the backup package for the installed port]' - '(-d)-D[no cleaning of distfiles]' - '(-D)-d[always clean distfiles]' - ) - common_args=( - "(-G)--force-config[run 'make config' for all ports]" - "-C[prevents 'make clean' from being run before building]" - '-H[hide details of the port build and install in a log file]' - "-K[prevents 'make clean' from being run after building]" - '(-B)-b[create and keep a backup package of an installed port]' - '-g[create a package of the new port]' - '-n[run through configure, but do not make or install any ports]' - '-t[recurse dependencies thoroughly, using all-depends-list]' - '-v[verbose output]' - '-w[save old shared libraries before deinstall]' - '-u[unattended mode]' - '(-i)-f[always rebuild ports]' - '(-f)-i[interactive update mode]' - '-m[any arguments to supply to make]:arguments for make:' - '-x[avoid building or updating ports that match this pattern]:glob pattern to exclude from building:' - '-p[specify the full path to a port directory]:a port directory:' - '--show-work[show what dependent ports are, and are not installed]' - '-R[restart an update, skipping ports already up to date]' - '-a[check all ports, update as necessary]' - '-F[fetch distfiles only]' - $expunge_args - $specific_args - ) - if (( CURRENT == 2 ));then - _arguments -s \ - $standalone_args \ - $common_args \ - '*:package or port:_portmaster_pkgs_and_ports' - else - case "$words[2]" in - --clean-distfiles|--clean-distfiles-all|--check-depends|--check-port-dbdir|--version|-help|-h) - return 0 - ;; - *) - if (( $words[(I)-(e|r)] ));then - _arguments -s \ - '*:package:_portmaster_pkgs' - elif (( kid=$words[(I)-o] ));then - if (( CURRENT == $kid + 1 ));then - _arguments -s \ - '*:replacement port:_portmaster_ports' - elif (( CURRENT == $kid + 2 )); then - _arguments -s \ - '*:package to replace:_portmaster_pkgs' - else - return 0 - fi - elif (( $words[(I)-s] ));then - return 0 - else - _arguments -s \ - $common_args \ - '*:package or port:_portmaster_pkgs_and_ports' - fi - ;; - esac - fi - } - - _portmaster "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ports b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ports deleted file mode 100644 index 8c8da531..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ports +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local expl ports - -if ! zstyle -a ":completion:${curcontext}:" ports ports; then - (( $+_cache_ports )) || - : ${(A)_cache_ports:=${${(M)${${(f)"$(</etc/services)"}:#\#*}#*/tcp}%%[ ]*}} - - ports=( "$_cache_ports[@]" ) -fi - -_wanted ports expl port compadd -a "$@" - ports diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portsnap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portsnap deleted file mode 100644 index b8e1c255..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_portsnap +++ /dev/null @@ -1,29 +0,0 @@ -#compdef portsnap - -local curcontext="$curcontext" state line flags -typeset -A opt_args - -flags=( - '(cron)fetch[fetch a compressed snapshot or update existing one]' - '(fetch)cron[sleep rand(3600) seconds, and then fetch updates]' - '(update)extract[extract snapshot, replacing existing files and dirs]' - '(extract)update[update ports tree to match current snapshot]' -) - -_arguments -C -s \ - '-d[store working files in workdir]:workdir:_files -/' \ - '-f[read configuration options from conffile]:conf file:_files' \ - '-I[update INDEX only. (update command only)]' \ - '-k[trust an RSA key with SHA256 hash of KEY]:RSA key:_files' \ - '-l[merge the specified local describes file into the INDEX]:file:_files' \ - '-p[location of uncompressed ports tree]:uncompressed ports tree:_files -/' \ - '-s[server from which to fetch updates]:server:_hosts' \ - '*:principal:->principal' && ret=0 - -if [[ $state == principal ]]; then - _alternative \ - ':file flag:_values -S " " -w "commands" $flags[@]' \ - '*:path:_files -/' -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postfix b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postfix deleted file mode 100644 index 006c950e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postfix +++ /dev/null @@ -1,163 +0,0 @@ -#compdef postconf postqueue postsuper - -# Last updated from postfix 3.1.0. - -local context state state_descr line -typeset -A opt_args -integer NORMARG - -_postfix_queue_id() { - local -a lines=( ${(f)"$(_call_program mailq 'mailq')"} ) - - # $enable_long_queue_ids = no - compadd "$@" -- ${${(M)lines:#(#s)([0-9A-F]##([*!]|) )*}/(#s)(#b)([0-9A-F]##)*/$match[1]} - - # $enable_long_queue_ids = yes - compadd "$@" -- ${${${(M)lines:#(#s)[0-9bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ](#c10)z*}%% *}%[*!]} -} - -# The first argument must be either 'd' or 'n', to complete parameters in -# `postconf -d -H` or `postconf -n -H` output, respectively. -_postfix_main_cf_parameter() { - local -a expl - local kind - - kind=$1; shift - case $kind in - (d) - # Note for the future: if $mail_version >= 3.1, we can pass -H instead of - # stripping the = signs by hand. - # - # don't bother to add -c in this case: the defaults don't depend on the config dir. - _wanted parameters expl 'main.cf parameter' compadd "$@" -- \ - ${${(f)"$(_call_program postconf_-d "${words[1]} -$kind")"}%% =*} - ;; - (n) - # Show the values too. - local -a kv=( ${${(f)"$(_call_program postconf_-n "${words[1]} ${opt_args[-c]+"-c ${opt_args[-c]}"} -$kind")"}/ = /:} ) - _describe -t parameters 'main.cf parameter' kv - ;; - (*) - return 1 # can't happen due to the guard above - ;; - esac -} - -_postfix_main_cf_parameter_and_value() { - # Note: be careful not to accidentally run 'postconf foo=bar' here. - # - # The '-P 1' syntax chooses the shortest match. If the '1' were removed, - # completing «postconf foo=bar=<TAB>» would change main.cf. So, don't remove - # it. - if compset -P 1 '*='; then - local value="`_call_program postconf-get-value-at-dir "${words[1]} ${opt_args[-c]+"-c ${opt_args[-c]}"} -h -- ${(q)IPREFIX%=}"`" - [[ -n $value ]] && compadd "$@" -- $value - else - _postfix_main_cf_parameter d -S= - fi -} - -case $service in - (postsuper) - _arguments -C -s : \ - '-p[purge old tempfiles]' \ - '-s[structure check and repair]' \ - '*-v[verbose]' \ - '-c[configdir]:config dir:_files -/' \ - '-d[delete]:queue id:_postfix_queue_id' \ - '-h[hold]:queue id:_postfix_queue_id' \ - '-H[release]:queue id:_postfix_queue_id' \ - '*-r[requeue]:queue id, or "ALL":_postfix_queue_id' \ - '1:queue:(hold incoming active deferred)' - ;; - (postqueue) - _arguments -C -s : \ - '*-v[enable verbose logging]' \ - '-c[configdir]:config dir:_files -/' \ - '(-f -i -j -p -s)-f[flush the queue]' \ - '(-f -i -j -p -s)-i[immediately deliver one message]:queue id:_postfix_queue_id' \ - '(-f -i -j -p -s)-j[print the queue in json]' \ - '(-f -i -j -p -s)-p[print the queue in traditional format]' \ - '(-f -i -j -p -s)-s[immediately deliver messages to specified site]:site:_hosts' - ;; - (postconf) - local -a file_ops=(-b -t -a -A -l -m -T) - local -a modes=(-F -M -P $file_ops -p) - local -a only_for_p=(-C -d -h -n) - local -a only_for_asterisk_dot_cf=(-e -f -o -x) - local -a args=( - # global - '-c[configdir]:config dir:_files -/' \ - '*-v[enable verbose logging]' - - # mode selection - "($modes $only_for_p -X -#)"'-F[operate on master.cf entry fields]' - "($modes $only_for_p -H )"'-M[operate on master.cf services entries]' - "($modes $only_for_p -#)"'-P[operate on master.cf parameter settings]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-b[display DSN text, expanded]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-t[display DSN text, unexpanded]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-a[list available SASL server plug-ins]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-A[list available SASL client plug-ins]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-l[list supported mailbox locking methods]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-m[list supported lookup table types]' - "($modes )"'-p[(default) print main.cf settings]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-T[print TLS information]:mode:(( - compile-version\:"OpenSSL compile-time version" - run-version\:"OpenSSL run-time version" - public-key-algorithms\:"supported public-key algorithms" - ))' - - # other options; comments indicate modes: - # -p only - '-C[display parameters from the specified class]:parameter class:(builtin service user all)' - '-d[print default values]' - '-h[print value only]' - '-n[show parameters changed in main.cf]' - - # all except $file_ops: - '-e[change parameter values]' - '-f[fold long output lines]' - '-o[set parameter value for this operation]: :_postfix_main_cf_parameter_and_value' - '-x[expand '\''$name'\'' in parameter values]' - - # -p -F -P only - '-H[show parameter name only]' - # -p -M -P only - '-X[remove parameters from main.cf/master.cf]' - # -p -M only - '-#[comment out parameters in main.cf/master.cf]' - - # $state - '*: :->positional' - ) - _arguments -C -s -S -n : "$args[@]" - - case $state in - (positional) - # Simulate the default - if [[ -z $opt_args[(i)${(j.|.)modes}] ]]; then - opt_args[-p]="" - fi - if [[ -n $opt_args[(i)(-b|-t)] ]]; then - local expl - if (( CURRENT == NORMARG )); then - _wanted files expl 'template file, or "" for default' _files - else - _nothing - fi - elif [[ -n $opt_args[(i)${(j.|.)file_ops}] ]]; then - _nothing - elif (( $+opt_args[-p] )); then - if (( $+opt_args[-e] )); then - _postfix_main_cf_parameter_and_value - elif [[ -n $opt_args[(i)(-X|-[#])] ]]; then - _postfix_main_cf_parameter n - else - _postfix_main_cf_parameter d - fi - else # one of the master.cf modes: -M -F -P - _message "arguments for $opt_args[(i)${(j.|.)modes}] mode" - fi - esac - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postgresql b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postgresql deleted file mode 100644 index 595eb1cb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postgresql +++ /dev/null @@ -1,1148 +0,0 @@ -#compdef clusterdb createdb createuser dropdb dropuser initdb pg_config pg_ctl pg_dump pg_dumpall pg_isready pg_restore pg_upgrade postgres postmaster psql reindexdb vacuumdb - -# Notes: -# - @todo We don't complete postgres:// URIs or conninfo strings, and we don't -# account for postgres:// URIs when calling psql -# - @todo We don't handle a few less-used tools like ecpg and pgbench -# - @todo We don't handle Debian's wrapper tools (pg_ctlcluster, &al.) - -# Construct conninfo string for use with completion helper functions -# -# -o <param> => include only specified parameters -# -O <param> => exclude specified parameters -# $1 => scalar parameter to store result in (conninfo by default) -# -# Explanation: -# -# Postgres supports a dizzying number of ways to specify connection parameters; -# in roughly ascending order of precedence, they are (where applicable): -# -# - PG* environment variables -# - Database name as first operand -# - User name as second operand -# - Options -d/-h/-p/-U -# - Conninfo string as first operand -# - URI as first operand -- authority/path component -# - URI as first operand -- query component -# -# The following command demonstrates four ways to pass the user name: -# -# PGUSER=foo1 psql 'postgres://foo2@localhost/mydb?user=foo3' -U foo4 -# -# In this case, per the above, the query component of the URI wins, and foo3 -# gets used. -# -# Many connection parameters can only be supplied via conninfo string, URI, or -# environment variable. Thus, in order for our helper functions to accurately -# obtain completion possibilities, it's preferable to normalise the various -# methods of supplying parameters. Since conninfo strings are easiest to -# construct, we'll use those. -# -# See also: -# -# - https://www.postgresql.org/docs/current/static/libpq-envars.html -# - https://www.postgresql.org/docs/current/static/libpq-connect.html -# - https://github.com/postgres/postgres/blob/master/src/bin/psql/startup.c -(( $+functions[__pgsql_get_conninfo] )) || -__pgsql_get_conninfo() { - local i_ - local -a conninfo_ - local -aU incl_ excl_ - - zparseopts -D -E -- o+:-=incl_ O+:-=excl_ - - (( $#incl_ )) && - incl_=( ${(@s<,>)${(@)${(@)incl_#-o}//[[:punct:][:space:]]/,}} ) - (( $#excl_ )) && - excl_=( ${(@s<,>)${(@)${(@)excl_#-O}//[[:punct:][:space:]]/,}} ) - - # Parameters supplied via options. We must quote parameter values for conninfo - # strings like foo='bar\'baz'. Should we also handle -l/--maintenance-db here? - [[ -n ${opt_args[(i)c-(-d|--dbname)]} ]] && - conninfo_+=( dbname="'${(Q)${(v)opt_args[(i)c-(-d|--dbname)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-h|--host)]} ]] && - conninfo_+=( host="${(Q)${(v)opt_args[(i)c-(-h|--host)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-p|--port)]} ]] && - conninfo_+=( port="'${(Q)${(v)opt_args[(i)c-(-p|--port)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-U|--user)]} ]] && - conninfo_+=( user="'${(Q)${(v)opt_args[(i)c-(-U|--user)]}//\'/\\\'}'" ) - - # Parameters supplied via operands -- since these have such a high precedence - # they can't do much for completing the above options, but they're still - # useful for the helper functions - case ${(Q)line[1]} in - # First operand is URI - postgres(ql|)://*) - # @todo To parse this properly we need to handle percent-encoding; it - # might be nice to have a utility function for that some day - ;; - # First operand is conninfo string. The user should have already properly - # quoted any parameter values here, so we don't need to re-quote - *'='*) - conninfo_+=( ${(z)${(Q)line[1]}} ) - # Normalise parameter pairs (note that empty values must be quoted) - for (( i_ = 1; i_ < $#conninfo_; i_++ )); do - # Parameter pair already one word (`param=value`) - if [[ $conninfo_[i_] == *?'='?* ]]; then - continue - # Parameter pair in three words (`param = value`) - elif [[ $conninfo_[(i_+1)] == '=' ]]; then - conninfo_[i_]+="=${conninfo_[(i_+2)]}" - conninfo_[(i_+1)]= - conninfo_[(i_+2)]= - (( i_ += 2 )) - # Parameter pair in two words (`param= value` or `param =value`) - else - conninfo_[i_]+=${conninfo_[(i_+1)]} - conninfo_[(i_+1)]= - (( i_ += 1 )) - fi - done - conninfo_=( $conninfo_ ) - ;; - # First and second operands may be database/user - *) - (( $+line[1] )) && conninfo_+=( dbname="'${(Q)line[1]//\'/\\\'}'" ) - (( $+line[2] )) && conninfo_+=( user="'${(Q)line[2]//\'/\\\'}'" ) - ;; - esac - - (( $#conninfo_ && $#incl_ )) && - conninfo_=( ${(M@)conninfo_:#(${(~j<|>)incl_})=*} ) - (( $#conninfo_ && $#excl_ )) && - conninfo_=( ${(@)conninfo_:#(${(~j<|>)excl_})=*} ) - - : ${(P)${1:-conninfo}::=${(j< >)conninfo_}} - return $(( $#conninfo_ ? 0 : 1 )) -} - -# Call psql and return results -# -f => keep empty lines -# $1 => array parameter to store results in -# $2 => _call_program tag -# $3 => preferred conninfo string (use '' if none) -# $4 ... => arguments to psql (usually -c ...); automatically quoted for eval -__pgsql_call_psql() { - local c_ f_ psql_=psql - local -a tmp_ - - [[ $1 == -f ]] && { - f_=1 - shift - } - - (( $# >= 4 )) || { - print -ru2 "$0: bad argument count" - return 1 - } - - # Use the psql from the command line if we can - [[ $service == psql ]] && psql_=$words[1] - - # Make a few attempts with common settings in case the first fails. Maybe this - # behaviour could be controlled by a user style - for c_ in $3{,' dbname=template1',' dbname=template1 user=postgres'}; do - c_+=' connect_timeout=4' - tmp_=( "${(@f)"$( - _call_program $2 $psql_ -qtAX ${(q)c_} ${(@q)@[4,-1]} - )"}" ) - (( f_ )) || tmp_=( $tmp_ ) - (( $#tmp_ )) && break - done - - : ${(PA)1::="${(@)tmp_}"} - return $(( $#tmp ? 0 : 1 )) -} - -# Complete PostgreSQL authentication methods -(( $+functions[__pgsql_auth_methods] )) || -__pgsql_auth_methods() { - # See https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html - local -a tmp=( - 'trust:allow unconditionally' - 'reject:reject unconditionally' - 'scram-sha-256:authenticate via SCRAM-SHA-256 challenge-response' - 'md5:authenticate via MD5 or SCRAM-SHA-256 challenge-response' - 'password:authenticate via clear-text password' - 'gss:authenticate via GSSAPI (TCP/IP only)' - 'sspi:authenticate via SSPI (Windows only)' - 'ident:authenticate via ident user name (TCP/IP only; local peer fall-back)' - 'peer:authenticate via local OS user name (local only)' - 'ldap:authenticate via LDAP' - 'radius:authenticate via RADIUS' - 'cert:authenticate via SSL client certificate' - 'pam:authenticate via PAM' - 'bsd:authenticate via BSD Authentication' - ) - _describe -t auth-methods 'PostgreSQL authentication method' tmp "$@" -} - -# Complete PostgreSQL run-time configuration parameters -(( $+functions[__pgsql_cfg_params] )) || -__pgsql_cfg_params() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp parameters "$conninfo" -c ' - SELECT name - FROM pg_catalog.pg_settings; - ' - - _wanted -x parameters expl 'PostgreSQL run-time configuration parameter' \ - compadd -a "$@" - tmp -} - -# Complete PostgreSQL run-time configuration parameters (name=value format) -(( $+functions[__pgsql_cfg_params_values] )) || -__pgsql_cfg_params_values() { - if compset -P '*='; then - _message -e values 'PostgreSQL run-time configuration-parameter value' - else - compset -S '=*' - __pgsql_cfg_params "$@" -qS= - fi -} - -# Complete PostgreSQL character encodings -(( $+functions[__pgsql_encodings] )) || -__pgsql_encodings() { - # These rarely change, and they're most needed when creating a new database, - # so trying to pull them from an existing one doesn't seem that helpful; see - # https://www.postgresql.org/docs/current/static/multibyte.html#CHARSET-TABLE - local -a expl tmp=( - BIG5 {WIN,Windows}950 - EUC_{CN,JP,JIS_2004,KR,TW} - GB18030 - GBK {WIN,Windows}936 - ISO_8859_{5..8} - JOHAB - KOI8{,R,U} - LATIN{1..10} ISO8859{{1..4},9,10,{13..16}} - MULE_INTERNAL - SJIS Mskanji ShiftJIS {WIN,Windows}932 - SHIFT_JIS_2004 - SQL_ASCII - UHC {WIN,Windows}949 - UTF8 Unicode - WIN{866,874,{1250..1258}} ALT WIN ABC TCVN{,5712} VSCII - ) - _wanted encodings expl 'PostgreSQL character encoding' compadd -a "$@" - tmp -} - -# Complete PostgreSQL server hosts -# -/ => exclude TCP/IP hosts (include directories only) -# -a => include UNIX-domain socket directories -(( $+functions[__pgsql_hosts] )) || -__pgsql_hosts() { - local -a copts tmp alts - local -A opts - - # We want the compadd options from _sequence, but -J screws with grouping - zparseopts -A opts -D -E -- / a J: - copts=( "$@" ) - - (( $+opts[-/] )) || { - tmp=( ${(s<,>)PGHOST} $${(s<,>)PGHOSTADDR} ) - (( $#tmp )) && alts+=( - "hosts:PostgreSQL server host:(${(j< >)${(@uq-)tmp}})" - ) - alts=( 'hosts:PostgreSQL server host:_hosts' ) - } - (( $+opts[-/] || $+opts[-a] )) && alts+=( - 'directories:PostgreSQL UNIX-domain socket directory:_directories' - ) - - _alternative -O copts $alts -} - -# Complete sequence of PostgreSQL host addresses and directories -(( $+functions[__pgsql_hosts_seq] )) || -__pgsql_hosts_seq() { - local -a opts - zparseopts -a opts -D -E -- / a - _sequence "$@" -s , __pgsql_hosts "${(@)opts}" -} - -# Complete PostgreSQL server port numbers -(( $+functions[__pgsql_ports] )) || -__pgsql_ports() { - local -a tmp=( - $PGPORT $PGPORTOLD $PGPORTNEW - 5432 # Customary - /tmp/.s.PGSQL.<->(#qN:e) # Customary - /var/run/postgresql/.s.PGSQL.<->(#qN:e) # Debian/Ubuntu - /var/pgsql_socket/.s.PGSQL.<->(#qN:e) # Weird macOS systems - /var/lib/pgsql/.s.PGSQL.<->(#qN:e) # Weird Linux systems - /var/lib/postgresql/.s.PGSQL.<->(#qN:e) # Weird Linux systems - ) - tmp=( ${(onu)tmp} ) - _wanted -2V ports expl 'PostgreSQL server port' compadd -a "$@" - tmp -} - -# Complete PostgreSQL special variables. This is brittle and over-engineered, -# but it suits the purpose for now -# --pset => complete \pset options -# --set => complete \set options (default) -(( $+functions[__pgsql_variables] )) || -__pgsql_variables() { - local which tmp2 - local -a expl tmp - local -A opts - - zparseopts -A opts -D -E -- -pset -set - - if (( $+opts[--pset] )); then - which=--pset - else - which=--set - fi - - __pgsql_call_psql -f tmp help-variables '' --help=variables - tmp+=( '' ) - - # `psql --help=variables` produces three sections like this: - # psql variables: - # Usage: - # psql --set=NAME=VALUE - # or \set NAME VALUE inside psql - # - # AUTOCOMMIT ... - # Here, we strip up to the --set= line, then remove the next few lines so they - # don't confuse us - tmp2=${${(F)tmp}#*[[:space:]]${which}=*$'\n'} - [[ $tmp2 == [[:space:]]#or\ * ]] && tmp2=${tmp2#*$'\n'} - [[ $tmp2 == [[:space:]]#$'\n'* ]] && tmp2=${tmp2#*$'\n'} - # Now we strip any following sections - tmp2=${tmp2%%$'\n\n'*} - # Now we extract the variable names - tmp=( ${(f)tmp2} ) - tmp=( ${(M)tmp:#\ \ [^[:space:]]##((#e)|[[:space:]]*)} ) - tmp=( ${(@)tmp#\ \ } ) - tmp=( ${(@)tmp%%[[:space:]]*} ) - - _wanted -x variables expl 'PostgreSQL special variable' \ - compadd -a "$@" - tmp -} - -# Complete PostgreSQL special variables (name=value format) -(( $+functions[__pgsql_variables_values] )) || -__pgsql_cfg_variables_values() { - if compset -P '*='; then - _message -e values 'PostgreSQL special-variable value' - else - compset -S '=*' - __pgsql_variables "$@" -qS= - fi -} - -# Complete PostgreSQL databases -(( $+functions[__pgsql_databases] )) || -__pgsql_databases() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo -O dbname - __pgsql_call_psql tmp databases "$conninfo" -c ' - SELECT datname - FROM pg_catalog.pg_database; - ' - # We can probably just assume that template0/1 will always exist; it's useful - # for database creation, anyway - tmp+=( $PGDATABASE template0 template1 ) - - _wanted databases expl 'PostgreSQL database' compadd -a "$@" - tmp -} - -# Complete PostgreSQL indexes -(( $+functions[__pgsql_indexes] )) || -__pgsql_indexes() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp indexes "$conninfo" -c ' - SELECT indexname - FROM pg_catalog.pg_indexes; - ' - - _wanted -x indexes expl 'PostgreSQL index' compadd -a "$@" - tmp -} - -# Complete PostgreSQL roles/users -# -a => include non-user (NOLOGIN) roles -(( $+functions[__pgsql_roles] )) || -__pgsql_roles() { - local conninfo which=role where - local -a expl tmp - local -A opts - - zparseopts -A opts -D -E -- a - (( $+opts[-a] )) || { - which=user - where='WHERE rolcanlogin = true' - } - - __pgsql_get_conninfo -O user - __pgsql_call_psql tmp users "$conninfo" -c " - SELECT rolname - FROM pg_catalog.pg_roles - $where; - " - tmp+=( $PGUSER ) - - _wanted -x users expl "PostgreSQL $which" compadd -a "$@" - tmp -} - -# Complete PostgreSQL schemas -(( $+functions[__pgsql_schemas] )) || -__pgsql_schemas() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp schemas "$conninfo" -c " - SELECT nspname - FROM pg_catalog.pg_namespace - WHERE nspname NOT LIKE 'pg_%' - AND nspname != 'information_schema'; - " - # Again, safe to assume this exists - tmp+=( public ) - - _wanted schemas expl 'PostgreSQL schema' compadd -a "$@" - tmp -} - -# Complete PostgreSQL tables -(( $+functions[__pgsql_tables] )) || -__pgsql_tables() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp tables "$conninfo" -c " - SELECT n.nspname || '.' || c.relname - FROM pg_catalog.pg_class AS c - LEFT JOIN pg_catalog.pg_namespace AS n - ON n.oid = c.relnamespace - WHERE c.relkind in ('r', '') - AND n.nspname != 'pg_catalog' - AND n.nspname != 'information_schema' - AND n.nspname NOT LIKE 'pg_toast%' - AND pg_catalog.pg_table_is_visible(c.oid); - " - - _wanted -x tables expl 'PostgreSQL table' compadd -a "$@" - tmp -} - -# Complete PostgreSQL tablespaces -(( $+functions[__pgsql_tablespaces] )) || -__pgsql_tablespaces() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp tablespaces "$conninfo" -c ' - SELECT spcname - FROM pg_catalog.pg_tablespace; - ' - # Again, safe to assume these exist - tmp+=( pg_default pg_global ) - - _wanted tablespaces expl 'PostgreSQL tablespace' compadd -a "$@" - tmp -} - -# Complete PostgreSQL text-search configurations -(( $+functions[__pgsql_ts_configs] )) || -__pgsql_ts_configs() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp ts-configs "$conninfo" -c " - SELECT n.nspname || '.' || t.cfgname - FROM pg_catalog.pg_ts_config AS t - LEFT JOIN pg_catalog.pg_namespace AS n - ON t.cfgnamespace = n.oid; - " - # We'll assume these exist since this tends to be needed on cluster init - tmp+=( pg_catalog.simple pg_catalog.english ) - - _wanted ts-configs expl 'PostgreSQL text-search configuration' \ - compadd -a "$@" - tmp -} - -# Complete clusterdb command -(( $+functions[_pgsql_clusterdb] )) || -_pgsql_clusterdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - # -q and -v are NOT exclusive - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + a # --all-mode options - '(c d n -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - '(a)*'{-t+,--table=}'[cluster specified table only]: :__pgsql_tables' - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete createdb command -(( $+functions[_pgsql_createdb] )) || -_pgsql_createdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_connm - + l # Locale options - '(l)'{-l+,--locale=}'[specify locale (both LC_COLLATE and LC_CTYPE)]: :_locales' - '(-l --locale)--lc-collate=[specify LC_COLLATE setting]: :_locales' - '(-l --locale)--lc-ctype=[specify LC_CTYPE setting]: :_locales' - + o # Other arguments - $common_opts_echo - '(-D --tablespace)'{-D+,--tablespace=}'[specify default tablespace]: :__pgsql_tablespaces' - '(-E --encoding)'{-E+,--encoding=}'[specify character encoding]: :__pgsql_encodings' - '(-O --owner)'{-O+,--owner=}'[specify owner]: :__pgsql_roles -a' - '(-T --template)'{-T+,--template=}'[specify template database to build from]: :__pgsql_databases' - # Possibly not useful to complete existing databases here - '1: :__pgsql_databases' - '2: :_guard "^-*" "database description"' - ) - _arguments -s -S : $args -} - -# Complete createuser command -(( $+functions[_pgsql_createuser] )) || -_pgsql_createuser() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - + '(d)' # CREATEDB options - {-d,--createdb}'[grant ability to create new databases (CREATEDB)]' - {-D,--no-createdb}'[do not grant ability to create new databases (NOCREATEDB)]' - + '(i)' # INHERIT options - {-i,--inherit}'[grant automatic privilege inheritance from role memberships (INHERIT)]' - {-I,--no-inherit}'[do not grant automatic privilege inheritance from role memberships (NOINHERIT)]' - + '(l)' # LOGIN options - {-l,--login}'[grant ability to log in as user (LOGIN)]' - {-L,--no-login}'[do not grant ability to log in as user (NOLOGIN)]' - + '(r)' # CREATEROLE options - {-r,--createrole}'[grant ability to create new roles (CREATEROLE)]' - {-R,--no-createrole}'[do not grant ability to create new roles (NOCREATEROLE)]' - + '(R)' # REPLICATION options - '--replication[grant replication privileges (REPLICATION)]' - '--no-replication[do not grant replication privileges (NOREPLICATION)]' - + '(s)' # SUPERUSER options - {-s,--superuser}'[grant super-user privileges (SUPERUSER)]' - {-S,--no-superuser}'[do not grant super-user privileges (NOSUPERUSER)]' - + o # Other arguments - $common_opts_echo - '(-c --connection-limit)'{-c+,--connection-limit=}'[specify connection limit for new role]:number of connections' - # No effect, kept for backwards compatibility - '!'{-E,--encrypted} - '*'{-g+,--role=}'[grant membership to specified role]: :__pgsql_roles -a' - '--interactive[prompt for settings not specified on command line]' - '(-P --pwprompt)'{-P,--pwprompt}'[prompt for new user password]' - # Again, possibly not useful to complete these - '1: :__pgsql_roles' - ) - _arguments -s -S : $args -} - -# Complete dropdb command -(( $+functions[_pgsql_dropdb] )) || -_pgsql_dropdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_connm - + o # Other arguments - $common_opts_echo - '(-i --interactive)'{-i,--interactive}'[prompt for confirmation]' - '--if-exists[skip non-existent database]' - '1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete dropuser command -(( $+functions[_pgsql_dropuser] )) || -_pgsql_dropuser() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - + o # Other arguments - $common_opts_echo - '(-i --interactive)'{-i,--interactive}'[prompt for confirmation (and user name if not specified)]' - '--if-exists[skip non-existent user]' - # We could use -a here, but it seems questionable - '1: :__pgsql_roles' - ) - _arguments -s -S : $args -} - -# Complete initdb command -(( $+functions[_pgsql_initdb] )) || -_pgsql_initdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + '(l)' # Locale options (general) - {-l+,--locale=}'[specify locale (all categories)]: :_locales' - '--no-locale[equivalent to --locale=C]' - + lc # Locale options (specific) -- unlike createdb, NOT exclusive with -l - '--lc-collate=[specify LC_COLLATE setting]: :_locales' - '--lc-ctype=[specify LC_CTYPE setting]: :_locales' - '--lc-messages=[specify LC_MESSAGES setting]: :_locales' - '--lc-monetary=[specify LC_MONETARY setting]: :_locales' - '--lc-numeric=[specify LC_NUMERIC setting]: :_locales' - '--lc-time=[specify LC_TIME setting]: :_locales' - + o # Other arguments - '(-A --auth)'{-A+,--auth=}'[specify authentication method (local and host)]: :__pgsql_auth_methods' - '--auth-host=[specify host (TCP/IP) authentication method]: :__pgsql_auth_methods' - '--auth-local=[specify local authentication method]: :__pgsql_auth_methods' - '(-d --debug)'{-d,--debug}'[output debug information]' - '(1 -D --pgdata)'{-D+,--pgdata=}'[specify data directory]:data directory:_directories' - '(-E --encoding)'{-E+,--encoding=}'[specify default character encoding]: :__pgsql_encodings' - '(-k --data-checksums)'{-k,--data-checksums}'[enable checksums on data pages]' - '-L+[specify input-file directory]:input-file directory:_directories' - '(-n --no-clean)'{-n,--no-clean}'[do not clean up after errors]' - '(-N --no-sync)'{-N,--no-sync}'[do not wait for disk sync]' - '(-W --pwprompt)--pwfile=[read super-user password from specified file]:password file:_files' - # This should be exclusive with everything but -D/1 - '(-S --sync-only)'{-S,--sync-only}'[safely write all database files and exit]' - '(-T --text-search-config)'{-T+,--text-search-config=}'[specify default text-search configuration]: :__pgsql_ts_configs' - # We could just use the OS user name here, idk - '(-U --username)'{-U+,--username=}'[specify super-user name]: :__pgsql_roles' - '(-W --pwfile --pwprompt)'{-W,--pwprompt}'[prompt for super-user password]' - '(-X --waldir)'{-X+,--waldir=}'[specify write-ahead log directory]:write-ahead log directory:_directories' - '(-D --pgdata)1:database data directory:_directories' - ) - _arguments -s -S : $args -} - -# Complete pg_config command -(( $+functions[_pgsql_pg_config] )) || -_pgsql_pg_config() { - local -a args=( - + x # Exclusive options - ${(@M)common_opts_excl:#*(-\?|--help)*} - + o # Other options - ${(@)${(@M)common_opts_excl:#*--version*}#\(*\)} - '--bindir[display location of user executables]' - '--cc[display C compiler (CC) used during build]' - '--cflags[display C compiler flags (CFLAGS) used during build]' - '--cflags_sl[display C compiler flags for shared libraries (CFLAGS_SL) used during build]' - '--configure[display configure options used during build]' - '--cppflags[display C preprocessor flags (CPPFLAGS) used during build]' - '--docdir[display location of documentation files]' - '--htmldir[display location of HTML documentation files]' - '--includedir[display location of C header files for client interfaces]' - '--includedir-server[display location of C header files for server interfaces]' - '--ldflags[display linker flags (LDFLAGS) used during build]' - '--ldflags_ex[display linker flags used executables (LDFLAGS_EX) used during build]' - '--ldflags_sl[display linker flags used shared libraries (LDFLAGS_SL) used during build]' - '--libs[display linker flags for external libraries (LIBS) used during build]' - '--libdir[display location of library object files]' - '--localedir[display location of locale support files]' - '--mandir[display location of manual pages]' - '--pgxs[display location of extension makefiles]' - '--pkgincludedir[display location of other C header files]' - '--pkglibdir[display location of module object files]' - '--sharedir[display location of architecture-independent support files]' - '--sysconfdir[display location of system-wide configuration files]' - ) - _arguments -s -S : $args -} - -# Complete pg_ctl command -# @todo Exclusivity isn't great here -- it's annoying to handle properly -# because pg_ctl accepts options interspersed with the sub-command name -(( $+functions[_pgsql_pg_ctl] )) || -_pgsql_pg_ctl() { - local -a cmds modes args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - - cmds=( - {init,initdb}'\:initialize database cluster' - 'kill\:kill process' - 'promote\:promote database server from stand-by to read/write mode' - 'reload\:reload database-server configuration' - 'restart\:restart database server' - 'start\:start database server' - 'status\:check status of database server' - 'stop\:stop database server' - ) - modes=( - {f,fast}'\:shut down cleanly, but without waiting for clients to disconnect' - {i,immediate}'\:shut down immediately and uncleanly' - {s,smart}'\:shut down cleanly after waiting for clients to disconnect' - ) - args=( - + x # Exclusive options - $common_opts_excl - + nk # Non-kill options - '(-D --pgdata)'{-D+,--pgdata=}'[specify data directory]:data directory:_directories' - + nks # Non-kill/status options - '(-s --silent)'{-s,--silent}'[suppress informational messages]' - + ikprs # Wait options - '(-t -W --no-wait --timeout)'{-t+,--timeout=}'[specify time-out interval (with -w)]:time-out interval (seconds)' - '(-w -W --no-wait --wait)'{-w,--wait}'[wait for operation to complete]' - '(-t -w -W --no-wait --timeout --wait)'{-W,--no-wait}'[do not wait for operation to complete]' - + isr # init/start/restart options - '*'{-o+,--options=}'[specify command-line options to initdb/postgres]:initdb/postgres command-line options' - '-p+[specify path to initdb/postgres executable]:initdb/postgres executable:_files -g "*(#q*)"' - + sr # start/restart options - '(-c --core-files)'{-c,--core-files}'[produce core files (where supported)]' - '(-l --log)'{-l+,--log=}'[log to specified file]:log file:_files' - + tr # stop/restart options - '(-m --mode)'{-m+,--mode=}"[specify shut-down mode]:shut-down mode:((${(j< >)${(@qq)modes}}))" - + o # Operands - "1:pg_ctl sub-command:((${(j< >)${(@qq)cmds}}))" - ) - [[ -n ${words[(r)*kill*]} ]] && args+=( '2: :_pids' ) - - _arguments -s -S : $args -} - -# Complete pg_dump/pg_dumpall commands -(( $+functions[_pgsql_pg_dump] )) || -_pgsql_pg_dump() { - local -a fmts args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - - fmts=( - {p,plain}'\:plain-text SQL script' - {c,custom}'\:custom-format archive' - {d,directory}'\:directory-format archive' - {t,tar}'\:tar-format archive' - ) - args+=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - '--role=[specify role used to create dump]: :__pgsql_roles -a' - ) - # pg_dump-specific connection options - [[ $service == pg_dump ]] && args+=( - '(1 -d --dbname)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - # @todo Complete this properly - '(-d --dbname)1:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - ) - # pg_dumpall-specific connection options - [[ $service == pg_dumpall ]] && args+=( - # Despite the name, -d here this actually takes a conninfo string - # @todo Complete this - '(1 -d --dbname)'{-d+,--dbname=}'[specify conninfo string]:conninfo string' - '(l --database)'{-l+,--database=}'[specify maintenance database name]: :__pgsql_databases' - ) - args+=( - + '(ds)' # Data/schema options - '(-c --clean)'{-a,--data-only}'[dump only data (not schema/definitions)]' - {-s,--schema-only}'[dump only schema/definitions (not data)]' - + '(in)' # Insert options - '(-o --oids)--column-inserts[output INSERT command with explicit column names for each row]' - # Equivalent to above? - '!(-o --oids)--attribute-inserts' - '(-o --oids)--inserts[output INSERT command for each row]' - ) - [[ $service == pg_dumpall ]] && args+=( - + '(grt)' # Globals/roles/tablespaces options - {-g,--globals-only}'[dump only roles and tablespaces (not databases)]' - {-r,--roles-only}'[dump only roles (not databases or tablespaces)]' - {-t,--tablespaces-only}'[dump only tablespaces (not databases or roles)]' - ) - # It would be nice to add '(with -Fp)' and so on where applicable, but it's - # tedious because of pg_dumpall - args+=( - + o # Other options - '(-a -c --clean --data-only)'{-c,--clean}'[output commands to clean objects before creating them]' - '(-o --oids in)'{-o,--oids}'[dump table object IDs]' - '(-O --no-owner)'{-O,--no-owner}'[do not output commands to set ownership of objects]' - '(-S --superuser)'{-S+,--superuser=}'[specify super-user name]: :__pgsql_roles' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '(-x --no-acl --no-privileges)'{-x,--no-acl,--no-privileges}'[do not dump access privileges]' - # Not meant for use by humans - '!--binary-upgrade' - '--disable-dollar-quoting[disable dollar-quoting of function bodies]' - '--disable-triggers[output commands to disable triggers before restoring (with -a)]' - '--if-exists[use conditional commands when cleaning objects (with -c)]' - '--lock-wait-timeout=[specify table-lock time-out interval]:time-out interval (milliseconds)' - '--no-publications[do not dump publications]' - '--no-security-labels[do not dump security labels]' - '--no-subscriptions[do not dump subscriptions]' - '--no-sync[do not wait for disk sync]' - '--no-tablespaces[do not output commands to select tablespaces]' - '--no-unlogged-table-data[do not dump data of unlogged tables]' - '--quote-all-identifiers[force quoting of all identifiers]' - '--use-set-session-authorization[output SET SESSION AUTHORIZATION commands to set ownership of objects]' - ) - [[ $service == pg_dump ]] && args+=( - # -b and -B are NOT exclusive - '(-b --blobs)'{-b,--blobs}'[dump large objects]' - '(-B --no-blobs)'{-B,--no-blobs}'[do not dump large objects]' - '(-C --create)'{-C,--create}'[output commands to create and reconnect to database]' - '(-E --encoding)'{-E+,--encoding=}'[specify dump character encoding]: :__pgsql_encodings' - '(-f --file)'{-f+,--file=}'[dump to specified file (or directory with -Fd)]:dump file/directory:_files' - '(-F --format)'{-F+,--format=}"[dump using specified output format]:output format:((${(j< >)${(@qq)fmts}}))" - '(-j --jobs)'{-j+,--jobs=}'[dump specified number of tables in parallel (with -Fd)]:number of jobs/tables' - '*'{-n+,--schema=}'[dump only objects in schema matching specified pattern]: :__pgsql_schemas' - '*'{-N+,--exclude-schema=}'[do not dump objects in schema matching specified pattern]: :__pgsql_schemas' - # No effect, kept for backwards compatibility - '!'{-R,--no-reconnect} - '*'{-t+,--table=}'[dump only tables matching specified pattern]: :__pgsql_tables' - '*'{-T+,--exclude-table=}'[do not dump tables matching specified pattern]: :__pgsql_tables' - '(-Z --compress)'{-Z+,--compress=}"[specify output compression level]:compression level:(${(j< >):-{0..9}})" - '--enable-row-security[dump with row security enabled]' - '*--exclude-table-data=[do not dump data for tables matching specified pattern]: :__pgsql_tables' - '--no-synchronized-snapshots[support -j with pre-9.2 servers]' - '*--section=[dump only specified section]:section:(pre-data data post-data)' - '--serializable-deferrable[dump using serializable transaction, avoiding failure]' - # @todo Complete this - '--snapshot=[dump from specified snapshot]: :__pgsql_snapshots' - '--strict-names[require -n/-t patterns to match at least one schema/table]' - ) - [[ $service == pg_dumpall ]] && args+=( - '(-f --file)'{-f+,--file=}'[dump to specified file]:dump file:_files' - '--no-role-passwords[do not dump passwords for roles]' - ) - _arguments -s -S : $args -} - -# Complete pg_isready command -(( $+functions[_pgsql_pg_isready] )) || -_pgsql_pg_isready() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - ${(@)common_opts_conn:#*--*password*} - # @todo Complete this properly - '(-d --dbname)'{-d+,--dbname=}'[specify database name, conninfo string, or URI]:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - '(-t --timeout)'{-t+,--timeout=}'[specify time-out interval]:time-out interval (seconds)' - + C # Misc. common options - '(-q --quiet)'{-q,--quiet}'[suppress normal output]' - ) - _arguments -s -S : $args -} - -# Complete pg_restore command -(( $+functions[_pgsql_pg_restore] )) || -_pgsql_pg_restore() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a fmts=( - # Plain-text is intentionally missing here - {c,custom}'\:custom-format archive' - {d,directory}'\:directory-format archive' - {t,tar}'\:tar-format archive' - ) - # It probably isn't that helpful to complete indexes, &c., from existing - # databases, but oh well - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - '(-d --dbname)'{-d+,--dbname=}'[restore to specified database]: :__pgsql_databases' - '--role=[specify role used to perform restore]: :__pgsql_roles -a' - + '(ds)' # Data/schema options - '(-c --clean)'{-a,--data-only}'[restore only data (not schema/definitions)]' - {-s,--schema-only}'[restore only schema/definitions (not data)]' - + o # Other arguments - '(-1 --single-transaction)'{-1,--single-transaction}'[perform restore as a single transaction]' - '(-a -c --clean --data-only)'{-c,--clean}'[clean objects before creating them]' - '(-C --create)'{-C,--create}'[create database before restoring to it]' - '(-e --exit-on-error)'{-e,--exit-error}'[exit immediately on error]' - '(-f --file)'{-f+,--file=}'[specify output file for generated script or listing]:output file:_files' - '(-F --format)'{-F+,--format=}"[specify archive format]:archive format:((${(j< >)${(@qq)fmts}}))" - '*'{-I+,--index=}'[restore only definition of specified index]: :__pgsql_indexes' - '(-j --jobs)'{-j+,--jobs=}'[restore in parallel with specified number of jobs]:number of jobs' - '(-l --list)'{-l,--list}'[list archive table of contents]' - '(-L --use-list)'{-L+,--use-list=}'[restore only archive elements in specified list file]:list file:_files' - '*'{-n+,--schema=}'[restore only objects in specified schema]: :__pgsql_schemas' - '*'{-N+,--exclude-schema=}'[do not restore objects in specified schema]: :__pgsql_schemas' - '(-O --no-owner)'{-O,--no-owner}'[do not restore ownership of objects from archive]' - '*'{-P+,--function=}'[restore only the specified function]:PostgreSQL function' - # No effect, kept for backwards compatibility - '!'{-R,--no-reconnect} - '(-S --superuser)'{-S+,--superuser=}'[specify super-user name]: :__pgsql_roles' - '*'{-t+,--table=}'[restore only specified table]: :__pgsql_tables' - '*'{-T+,--trigger=}'[restore only specified trigger]:PostgreSQL trigger' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '(-x --no-acl --no-privileges)'{-x,--no-acl,--no-privileges}'[do not dump access privileges]' - '--disable-triggers[disable triggers before restoring (with -a)]' - '--enable-row-security[restore with row security enabled]' - '--if-exists[use conditional commands when cleaning objects (with -c)]' - '--no-data-for-failed-tables[do not restore data if table creation failed]' - '--no-publications[do not restore publications]' - '--no-security-labels[do not restore security labels]' - '--no-subscriptions[do not restore subscriptions]' - '--no-tablespaces[do not restore tablespaces]' - '*--section=[dump only specified section]:section:(pre-data data post-data)' - '--strict-names[require -n/-t qualifiers to match at least one schema/table]' - '--use-set-session-authorization[use SET SESSION AUTHORIZATION commands to set ownership of objects]' - '1:archive file:_files' - ) - _arguments -s -S : $args -} - -# Complete pg_upgrade command -(( $+functions[_pgsql_pg_upgrade] )) || -_pgsql_pg_upgrade() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + o # Other options - '(-b --old-bindir)'{-b+,--old-bindir=}'[specify old executable directory]:old executable directory:_directories' - '(-B --new-bindir)'{-B+,--new-bindir=}'[specify new executable directory]:new executable directory:_directories' - '(-c --check)'{-c,--check}"[check clusters only (don't change any data)]" - '(-d --old-datadir)'{-d+,--old-datadir=}'[specify old data directory]:old data directory:_directories' - '(-D --new-datadir)'{-D+,--new-datadir=}'[specify new data directory]:new data directory:_directories' - '(-j --jobs)'{-j+,--jobs=}'[upgrade in parallel with specified number of jobs]:number of jobs' - '(-k --link)'{-k,--link}'[use hard links instead of copying files to new cluster]' - '*'{-o+,--old-options=}'[specify command-line options to old postgres]:old postgres command-line options' - '*'{-O+,--new-options=}'[specify command-line options to new postgres]:new postgres command-line options' - '(-p --old-port)'{-p+,--old-port=}'[specify old port number]:old port number:__pgsql_ports' - '(-P --new-port)'{-P+,--new-port=}'[specify new port number]:new port number:__pgsql_ports' - '(-r --retain)'{-r,--retain}'[retain SQL and log files even after successful completion]' - '(-U --username)'{-U+,--username=}'[specify cluster install user name]: :__pgsql_roles' - '(-v --verbose)'{-v,--verbose}'[log verbosely]' - ) - _arguments -s -S : $args -} - -# Complete postgres/postmaster commands -(( $+functions[_pgsql_postgres] )) || -_pgsql_postgres() { - local -a args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - args=( - + x # Exclusive options - $common_opts_excl - '--describe-config[dump internal configuration variables, descriptions, and defaults]' - + o # Other options - '-B+[specify number of shared buffers used by server processes]:number of shared buffers' - '*-c+[set specified run-time configuration parameter]: :__pgsql_cfg_params_values' - '-C+[display value of specified run-time configuration parameter]: :__pgsql_cfg_params' - '-d+[specify debug level]:debug level:(0 1 2 3 4 5)' - '-D+[specify configuration directory]:PostgreSQL configuration directory:_directories' - '-e[set default date style to European (DMY)]' - '-F[disable fsync calls]' - '(-i)-h+[specify TCP/IP address to listen on]:listening addresses:__pgsql_hosts_seq' - '(-h)-i[allow remote connections via TCP/IP]' - '-k+[specify directory of UNIX-domain socket to listen on]:UNIX-domain socket directory:__pgsql_hosts_seq -/' - '-l[enable secure connections using SSL]' - '-N+[specify max number of client connections]:number of client connections' - '*-o+[specify extra command-line options to pass down to postgres]:postgres command-line options' - '-p+[specify TCP/IP port or UNIX-domain socket file extension to listen on]: :__pgsql_ports' - '-s[display time information and other statistics after each command]' - '-S+[specify amount of memory for sort/hash operations]:amount of memory' - # These are 'semi-internal' options that we don't really complete, but we'll - # account for them anyway - '!'{-f+,-n,-O,-P,-t+,-T,-v+,-W+} - ) - # --single must be the first argument on the command line - (( CURRENT == 2 )) && args+=( - '--single[enter single-user mode]' - ) - (( CURRENT > 2 )) && [[ ${(Q)words[2]} == --single ]] && args+=( - '-E[echo SQL commands to stdout]' - '-j[use semicolon followed by two newlines as command-entry terminator]' - '-r+[send server log output to specified file]:log file:_files' - ) - - _arguments -s -S : $args -} - -# Complete psql command -(( $+functions[_pgsql_psql] )) || -_pgsql_psql() { - local -a args=( - + x # Exclusive options - ${(@M)common_opts_excl:#*version*} - '(: * -)'{-\?,--help=-}'[display help information]::help topic:(commands options variables)' - + c # Connection options - ${(@)common_opts_conn/#\(-U/(2 -U} - '(1 -d --dbname)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - # @todo Complete this properly - '(-d --dbname)1:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - # @todo This shouldn't be offered if the first operand isn't a dbname - '(-U --username)2: :__pgsql_roles' - + '(e)' # Echo options (ECHO variable) - {-a,--echo-all}'[echo all non-empty input lines back to stdout]' - {-b,--echo-errors}'[echo failed SQL commands to stderr]' - {-e,--echo-queries}'[echo SQL commands to stdout]' - + '(f)' # Format options - '(x)'{-A,--no-align}'[display results in unaligned format]' - '(sf sr)'{-H,--html}'[display results in HTML table format]' - + '(sf)' # Field-separator options - '(-H --html x)'{-F+,--field-separator=}'[specify field separator (with -A)]:field separator' - '(-H --html x)'{-z,--field-separator-zero}'[use NUL as field separator (with -A)]' - + '(sr)' # Record-separator options - '(-H --html x)'{-R+,--record-separator=}'[specify record separator (with -A)]:record separator' - '(-H --html x)'{-0,--record-separator-zero}'[use NUL as record separator (with -A)]' - + '(t)' # HTML-table options - '(-A --no-align sf sr)'{-T+,--table-attr=}'[specify HTML table attributes]:HTML attributes' - + '(x)' # Expanded-table-formatting options - '(-A --no-align sf sr)'{-x,--expanded}'[enable expanded table formatting]' - + o # Other options - '(-1 --single-transaction)'{-1,--single-transaction}'[wrap all commands in a single transaction (with -c/-f)]' - '*'{-c+,--command=}'[execute specified command string]:command string' - '(-E --echo-hidden)'{-E,--echo-hidden}'[echo queries generated by backslash commands]' - '*'{-f+,--file=}'[execute commands from specified file]:SQL file:_files' - # The documentation says that all other 'non-connection' options are ignored - # when this one is given... but it lies. There *are* several options that - # get ignored, but it's irritating to enumerate them - '(-l --list)'{-l,--list}'[display available databases]' - '(-L --log-file)'{-L+,--log-file=}'[also log query output to specified file]:log file:_files' - '(-n --no-readline)'{-n,--no-readline}'[do not use Readline for line editing and history]' - '(-o --output)'{-o+,--output=}'[write query output to specified file]:output file:_files' - '*'{-P+,--pset=}'[specify printing option]: :__pgsql_cfg_variables_values --pset' - '(-q --quiet)'{-q,--quiet}'[suppress informational output]' - '(-s --single-step)'{-s,--single-step}'[prompt before executing each command]' - '(-S --single-line)'{-S,--single-line}'[treat newlines as semicolons]' - '(-t --tuples-only)'{-t,--tuples-only}'[do not output columns names, row counts, etc.]' - '*'{-v+,--set=,--variable=}'[perform specified variable assignment]: :__pgsql_cfg_variables_values --set' - '(-X --no-psqlrc)'{-X,--no-psqlrc}'[do not read start-up files]' - ) - _arguments -s -S : $args -} - -# Complete reindexdb command -(( $+functions[_pgsql_reindexdb] )) || -_pgsql_reindexdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - # -q and -v are NOT exclusive. -q only seems to affect --all mode - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + a # --all-mode options - '(c d n o s -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - '(a s)*'{-i+,--index=}'[re-create specified index only]: :__pgsql_indexes' - '(a s)*'{-S+,--schema=}'[reindex specified schema only]: :__pgsql_schemas' - '(a s)*'{-t+,--table=}'[reindex specified table only]: :__pgsql_tables' - + s # --system-mode options - '(a n -s --system)'{-s,--system}"[reindex database's system catalogs]" - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete vacuumdb command -(( $+functions[_pgsql_vacuumdb] )) || -_pgsql_vacuumdb() { - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - '(-j --jobs)'{-j+,--jobs=}'[run specified number of vacuum/analyze commands in parallel]:number of jobs' - '--min-mxid-age=[specify minimum MXID age of tables to vacuum]:minimum MXID age' - '--min-xid-age=[specify minimum XID age of tables to vacuum]:minimum XID age' - '--skip-locked[skip relations that cannot be immediately locked]' - # -q and -v are NOT exclusive - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + f # Options incompatible with analyse-only options - '(Z)--disable-page-skipping[disable all page-skipping behavior]' - '(Z -f --full)'{-f,--full}'[perform full vacuum]' - '(Z -F --freeze)'{-F,--freze}'[aggressively freeze tuples]' - + '(z)' # Analyse options - {-z,--analyze}'[also calculate statistics for use by optimizer]' - + '(Z)' # Analyse-only options - '(f)'{-Z,--analyze-only}'[only calculate statistics for use by optimizer (no vacuum)]' - '(f)--analyze-in-stages[like -Z, but analyze in stages for faster results]' - + a # --all-mode options - '(c d n -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - # @todo When used with -z, &al., this accepts a column name in brackets. We - # don't complete that - '(a)*'{-t+,--table=}'[vacuum/analyze specified table(column) only]: :__pgsql_tables' - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Router -_postgresql() { - # Common exclusive options - local -a common_opts_excl=( - '(: * -)'{-\?,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - ) - # Common connection options - local -a common_opts_conn=( - '(-h --host)'{-h+,--host=}'[specify database server host or socket directory]: :__pgsql_hosts_seq -a' - '(-p --port)'{-p+,--port=}'[specify database server port]: :__pgsql_ports' - '(-U --username)'{-U+,--username=}'[specify user name to connect with]: :__pgsql_roles' - '(-w -W --no-password --password)'{-w,--no-password}'[never prompt for password on connect]' - '(-w -W --no-password --password)'{-W,--password}'[force prompt for password on connect]' - ) - # Common connection options + --maintenance-db - local -a common_opts_connm=( - $common_opts_conn - '--maintenance-db=[specify maintenance database name]: :__pgsql_databases' - ) - # Common echo options - local -a common_opts_echo=( - '(-e --echo)'{-e,--echo}'[echo generated commands to stdout]' - ) - - # Special case: pg_dumpall is handled as pg_dump - if [[ $service == pg_dumpall ]]; then - _pgsql_pg_dump "$@" - # Special case: postmaster is handled as postgres - elif [[ $service == postmaster ]]; then - _pgsql_postgres "$@" - elif (( $+functions[_pgsql_$service] )); then - _pgsql_$service "$@" - else - _message "unsupported PostgreSQL service: $service" - _default - fi -} - -_postgresql "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postscript b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postscript deleted file mode 100644 index 792a39b8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_postscript +++ /dev/null @@ -1,14 +0,0 @@ -#compdef ps2epsi ps2pdf psmulti pswrap ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2ps - -local expl ext='' - -# ghostscript: -# ps2epsi ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2ps - -if [[ "$1" == '-z' ]]; then - ext='(|.bz2|.gz|.Z)' - shift -fi - -_description files expl 'PostScript file' -_files "$@" "$expl[@]" -g "*.(#i)(ps|eps)$ext(-.)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_powerd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_powerd deleted file mode 100644 index c64abb5b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_powerd +++ /dev/null @@ -1,15 +0,0 @@ -#compdef powerd - -local powerd_mode -powerd_mode=(minimum maximum adaptative) -_arguments -s \ - "-a+[mode to use while on AC power]:mode:($powerd_mode)" \ - "-b+[mode to use while on battery power]:mode:($powerd_mode)" \ - '-i+[CPU idle percent level when begin to degrade performance]:percent [75]' \ - '-m+[minimum frequency to throttle down to]:frequency (MHz)' \ - '-M+[maximum frequency to throttle up to]:frequency (MHz)' \ - "-n+[mode to use normally when the AC line state is unknown]:mode:($powerd_mode)" \ - '-p+[polling interval for AC line state and system idle levels]:interval (ms) [250]:' \ - '-P+[alternative pidfile]:pidfile:_files' \ - '-r+[CPU idle percent level where to increase performance]:percent' \ - '-v[verbose mode]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pr deleted file mode 100644 index 2aeeb13b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pr +++ /dev/null @@ -1,103 +0,0 @@ -#compdef pr - -local curcontext=$curcontext variant msg ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -# take care of '+FIRST_PAGE[:LAST_PAGE]' (GNU) or '+FIRST_PAGE' (POSIX) -if _pick_variant -r variant gnu=GNU $OSTYPE --version; then - msg='FIRST_PAGE[:LAST_PAGE]' -else - msg='first page' -fi - -if [[ $words[CURRENT] = +* ]]; then - _message "$msg" && return -fi - -if (( ! ${words[(I)+[0-9]*]} )); then - # if +number is not on the command line - specs=( '(hv)--pages=[specify first and last page numbers]: : _message $msg' ) -fi - -# common specs -specs+=( - '(hv -a --across)'{-a,--across}'[with multi-column output, print columns across rather than down]' - '(hv -d --double-space)'{-d,--double-space}'[double space the output]' - '(hv -e --expand-tabs)'{-e-,--expand-tabs=-}'[expand tab (or specified char) with specified number of spaces]::number of spaces [8]:->char_number' - '(hv -h --header -t --omit-header)'{-h+,--header=}'[specify text used in header]:header: ' - '(hv -i --output-tabs)'{-i-,--output-tabs=-}'[replace specified number of spaces with tab (or specified char)]::number of spaces [8]:->char_number' - '(hv -l --length)'{-l+,--length=}'[specify the page length]:number of lines [66]: ' - '(hv -m --merge)'{-m,--merge}'[print all files in parallel, one in each column]' - '(hv -n --number-lines)'{-n-,--number-lines=-}'[number lines with specified separator and width]::number of digits [5]:->char_number' - '(hv -o --indent)'{-o+,--indent=}'[specify left margin]:margin [0]: ' - '(hv -r -no-file-warnings)'{-r,--no-file-warnings}'[omit warning when a file cannot be opened]' - '(hv -s --separator)'{-s-,--separator=-}'[specify column separator character]:character [tab]: ' - '(hv -t --omit-header -h --header)'{-t,--omit-header}'[omit page headers and trailers]' - '(hv -w --width)'{-w+,--width=}'[specify page width for multi-column output]:number of characters [72]: ' - '(hv)*: :_files' -) -# XXX: pr accepts -2 -3 -4 ... for specifying the number of columns. -# Here we offer only -2 and -3, and do so only if there is no -# -2 -3 -4 ... or --columns on the command line. -if (( ! ${words[(I)-([0-9]##*|-columns*)]} )); then - specs+=( {-2,-3}'[specify number of columns]' ) -fi - -if [[ $variant = gnu ]]; then - # GNU coreutils 8.32 - specs+=( - '(hv -c --show-control-chars)'{-c,--show-control-chars}'[use hat (^G) and octal backslash notation]' - '(hv -D --date-format)'{-D+,--date-format=}'[specify format for the header date]: :_date_formats' - '(hv -f -F --form-feed)'{-f,-F,--form-feed}'[use form feeds instead of newlines to separate pages]' - '(hv -J --join-lines)'{-J,--join-lines}'[merge full lines in multi-column output]' - '(hv -N --first-line-number)'{-N+,--first-line-number=}'[specify the line number of the 1st line]:number: ' - '(hv -S --sep-string)'{-S-,--sep-string=-}'[specify column separator string]:string: ' - '(hv -T --omit-pagination)'{-T,--omit-pagination}'[omit page headers and trailers, eliminate any pagination]' - '(hv -v --show-nonprinting)'{-v,--show-nonprinting}'[use octal backslash notation]' - '(hv -W --page-width)'{-W+,--page-width=}'[specify page width always]:number of characters [72]: ' - ) - if (( ! ${words[(I)-[0-9]##*]} )); then - # if -2 -3 -4 ... are not on the command line - specs+=( - '(hv)--columns=[specify number of columns]:number of columns: ' - + hv - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - fi -else - specs=( ${specs:#(|*\))--*} ) # remove long options - case $variant in - freebsd*|dragonfly*|darwin*|netbsd*) - specs+=( - '(-f)-F[use form feeds instead of newlines to separate pages]' - '(-F)-f[same as -F but pause before the 1st page if stdout is terminal]' - '-p[pause before each page if stdout is terminal]' - ) - ;| - freebsd*|dragonfly*|darwin*) - specs+=( '-L+[specify locale to use]: :_locales' ) - ;; - openbsd*) - specs+=( '(-f -F)'{-f,-F}'[use form feeds instead of newlines to separate pages]' ) - ;; - esac - optA=( -A '[-+]?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -C -s -S $optA : $specs && ret=0 - -case $state in - char_number) - # argument for option -e (and -i, -n) can be -e. -e10 or -e.10 - # where . is any non-digit character - if compset -p 1; then - _message "$state_descr" && ret=0 - else - _message "a character [tab] (optional), and $state_descr" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_precommand b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_precommand deleted file mode 100644 index fd88074c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_precommand +++ /dev/null @@ -1,6 +0,0 @@ -#compdef - nohup eval time rusage noglob nocorrect catchsegv aoss hilite eatmydata - -shift words -(( CURRENT-- )) - -_normal -p $service diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prefix b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prefix deleted file mode 100644 index 74be5f47..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prefix +++ /dev/null @@ -1,67 +0,0 @@ -#autoload - -# Try to ignore the suffix. A bit like e-o-c-prefix. - -[[ _matcher_num -gt 1 || -z "$SUFFIX" ]] && return 1 - -local comp curcontext="$curcontext" tmp suf="$SUFFIX" \ - _completer \ - _matcher _c_matcher _matchers _matcher_num -integer ind - -if ! zstyle -a ":completion:${curcontext}:" completer comp; then - comp=( "${(@)_completers[1,_completer_num-1]}" ) - ind=${comp[(I)_prefix(|:*)]} - (( ind )) && comp=("${(@)comp[ind,-1]}") -fi - -if zstyle -t ":completion:${curcontext}:" add-space; then - ISUFFIX=" $SUFFIX" -else - ISUFFIX="$SUFFIX" -fi -SUFFIX='' - -local _completer_num=1 - -for tmp in "$comp[@]"; do - if [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - - if [[ "$tmp" != _prefix ]] && "$tmp"; then - [[ compstate[nmatches] -gt 1 ]] && return 0 - compadd -U -i "$IPREFIX" -I "$ISUFFIX" - "${compstate[unambiguous]%$suf}x" - compstate[list]= - if [[ -n $compstate[unambiguous] ]]; then - compstate[insert]=unambiguous - else - compstate[insert]=0 - fi - return 0 - fi - (( _matcher_num++ )) - done - (( _completer_num++ )) -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_print b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_print deleted file mode 100644 index 0610cd4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_print +++ /dev/null @@ -1,97 +0,0 @@ -#compdef print printf - -local state expl line eflag pflag rflag rest ret=1 - -if [[ $service = print ]]; then - # -e flag available only after -R - eflag="${words[1,CURRENT-1][(r)-*R*]:+-e[enable escapes]}" - rflag='-r[ignore escape conventions of echo]' - - # -p flag only relevant if we have a coprocess - (:>&p) 2>/dev/null && - pflag='(-s -u -z)-p[print arguments to input of coprocess]' - - [[ -n ${words[(r)-*f]} ]] && rflag='-r[disable reuse of format string]' - - if [[ -n ${words[1,CURRENT][(r)-*P*]} ]]; then - rest='*: :->prompt' - else - rest='*: :_default' - fi - - _arguments -C -s -A "-*" -S \ - '-r[ignore escape conventions of echo]' \ - '(-r -b -f -m -s -S -l -N -o -O -i -c -u -p -z -D -P)-R[emulate BSD echo (no escapes, -n & -e flags only)]' \ - '-b[recognise bindkey escape sequences]' \ - '-m[remove arguments not matching specified pattern]:pattern' \ - '(-n -R -l -N -c -S)-f+[print arguments as for the printf builtin]:format:->printfformat' \ - '(-u -p -z -S)-s[place results in the history list]' \ - '(-a -f -c -C -i -l -o -O -N -u -p -v -z -s -x -X)-S[place results in the history list, after splitting argument into words]' \ - '(-c -f)-n[do not add a newline to the result]' \ - '(-N -c -f -S)-l[print arguments separated by newlines]' \ - '(-n -l -c -f -S)-N[print arguments separated and terminated by nulls]' \ - '(-O -S)-o[sort arguments in ascending order]' \ - '(-o -S)-O[sort arguments in descending order]' \ - '(-S)-i[case-insensitive sorting]' \ - '(-n -l -N -f -s -S -z)-a[with -c/-C, print arguments across before down]' \ - '(-n -l -N -f -C -s -S -z)-c[print arguments in columns]' \ - '(-n -l -N -f -c -s -S -z)-C+[print arguments in specified number of columns]:columns' \ - '(-s -S -p -z)-u+[specify file descriptor to print arguments to]:file descriptor:_file_descriptors' \ - '(-s -S -z -p -u)-v[store output in named parameter]:parameter:_parameters' \ - '(-s -S -p -u)-z[push arguments onto editing buffer stack]' \ - '-D[substitute any arguments which are named directories using ~ notation]' \ - '-P[perform prompt expansion]' \ - '(-X -f -a -C -c -s -S -z)-x+[expand leading tabs]:tab width' \ - '(-x -f -a -C -c -s -S -z)-X+[expand all tabs]:tab width' \ - $pflag $eflag $rflag $rest && ret=0 -elif [[ $service = printf ]]; then - state=printf -fi - -if [[ $state = printf ]]; then - _arguments -C -s -S \ - '-v[store output in named parameter]:parameter:_parameters' \ - '1:format:->printfformat' \ - '*: :_default' && ret=0 -fi - -if [[ $state = printfformat ]]; then - if [[ ${(Q)PREFIX} = *%[0-9\$#\ +*.\'-]# ]]; then - local -a specs - specs=( - '#:alternate form' - '0:zero pad to length' - '-:left adjust result' - ' :leave one space in front of positive number from signed conversion' - '+:always place sign before a number from signed conversion' - '*:field width in next argument' - '.:precision' - "':thousand separators" - 'c:print the first character of the argument' - 's:print the argument as a string' - {d,i}':signed decimal number or with leading " numeric value of following character' - 'o:unsigned octal number' - 'u:unsigned decimal number' - {x,X}':unsigned hexadecimal number, letters capitalized as x' - {e,E}':double number in scientific notation' - 'f:double number' - {g,G}':double number as %f or %e depending on size' - '%:a percent sign' - 'n:store number of printed bytes in parameter specified by argument' - 'b:as %s but interpret escape sequences in argument' - 'q:as %s but shell quote result' - ) - compset -P "*" - _describe -t print-format-specifiers 'print format specifier' specs -S '' - _message -e print-format-specifiers 'number' - else - _wanted print-format-specifiers expl 'print format specifier' compadd -S '' % - fi - ret=0 -elif [[ $state = prompt ]]; then - _default && ret=0 - # complete prompt specifiers without interfering too much with default completion - (( $#compstate[unambiguous] <= $#PREFIX || ! $#PREFIX )) && _ps1234 && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printenv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printenv deleted file mode 100644 index 8bff27c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printenv +++ /dev/null @@ -1,5 +0,0 @@ -#compdef printenv gprintenv - -local expl - -_wanted parameters expl 'environment variable' _parameters -g '*export*' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printers b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printers deleted file mode 100644 index d7039dbb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_printers +++ /dev/null @@ -1,110 +0,0 @@ -#compdef -value-,PRINTER,-default- -value-,LPDEST,-default- - -local expl ret=1 list disp sep tmp servopt -integer ind - -if (( $+commands[lsallq] )); then - # Use AIX's command to list print queues - _wanted printers expl printer compadd "$@" - $(lsallq) - return -fi - -zstyle -s ":completion:${curcontext}:printers" list-separator sep || sep=-- - -# If we've been given a different print server on the command line, -# list printers on that. This information shouldn't be cached. -# (I) searches backwards---this is good, since some commands, such -# as lpoptions, can take multiple -h arguments and we want the last -# one before the current argument. For lpr, -h might mean something -# else and the option is -H. -if [[ $service = lpr ]]; then - servopt=-H -else - servopt=-h -fi -if (( $+commands[lpstat] )); then - ind=${words[1,CURRENT][(I)${servopt}*]} - if (( ind > 0 )); then - if [[ $words[ind] = $servopt ]]; then - tmp=-h$words[ind+1] - else - tmp=-h${words[ind][3,-1]} - fi - _wanted printers expl printer compadd "$@" - \ - ${${(f)"$(_call_program printers lpstat $tmp -a 2>/dev/null)"}%% *} && - return - fi -fi - - -if (( ! $+_lp_cache )); then - local file entry names i - - file=( /etc/(printcap|printers.conf) ) - - _lp_cache=() - _lp_alias_cache=() - - if (( $#file )); then - while read entry; do - if [[ "$entry" = [^[:blank:]\#\*_]*:* ]]; then - names=( "${(s:|:)entry%%:*}" ) - if [[ "$entry" = *:description=* ]]; then - disp="${${entry##*:description=}%%:*}" - elif [[ $#names -gt 1 && "$names[-1]" = *\ * ]] ;then - disp="$names[-1]" - else - disp='' - fi - if [[ -n "$disp" ]]; then - _lp_cache+=( "${names[1]}:${disp}" ) - _lp_alias_cache+=( "${(@)^names[2,-1]:#*\ *}:${disp}" ) - else - _lp_cache+=( "${names[1]}" ) - _lp_alias_cache+=( "${(@)names[2,-1]:#*\ *}" ) - fi - fi - done < $file[1] - fi - - if (( $+commands[lpstat] )); then - # If lpstat it exists, it's possible there are some other - # printers there, so add them. - _call_program printers lpstat -a 2>/dev/null | while read entry; do - entry=${entry%%[[:blank:]]*} - if (( ${_lp_cache[(I)$entry:*]} == 0 )); then - _lp_cache+=( $entry ) - fi - done - fi - - if [[ $OSTYPE = solaris* ]] && (( ${+commands[ypcat]} )) && - tmp=$(_call_program printers ypcat printers.conf.byname 2>/dev/null); then - _lp_cache+=( ${${${(S)${(f)tmp}/(#b):*((#e)|description=([^:]#):)*/:${match[2]}|}%%|*}:#_default*} ) # If you use YP - fi - - (( $#_lp_cache )) || _lp_cache=( 'lp0:guessed default printer' ) - (( $#_lp_alias_cache )) || unset _lp_alias_cache -fi - -if zstyle -T ":completion:${curcontext}:printers" verbose; then - zformat -a list " $sep " "$_lp_cache[@]" - disp=(-ld list) -else - disp=() -fi -_wanted printers expl printer \ - compadd "$@" "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0 - -(( $+_lp_alias_cache )) || return 1 - -if zstyle -T ":completion:${curcontext}:printers" verbose; then - zformat -a list " $sep " "$_lp_alias_cache[@]" - disp=(-ld list) -else - disp=() -fi -_wanted printers expl printer \ - compadd "$@" "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0 - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_process_names b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_process_names deleted file mode 100644 index 4f184ccb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_process_names +++ /dev/null @@ -1,44 +0,0 @@ -#autoload -# -# complete names of running processes -# -# options: -# -a: include all processes (owned by others, no tty, etc.) -# -t: use truncated process names (e.g., those in /proc/PID/stat) -# (only on Linux and BSDs) -# -# this name has been used in _killall and documented in zshcompsys(1) -local tagname='processes-names' -typeset -a expl opts names all truncate - -zparseopts -E -D 'a=all' 't=truncate' -(( $#all )) && opts=( -A ) - -local hyphen='-' -# on Linux, use BSD-style option to include processes on other ttys -[[ $OSTYPE == linux* ]] && hyphen='' - -case $OSTYPE in - (linux*|freebsd*|openbsd*|netbsd*) - if (( $#truncate )); then - if [[ $OSTYPE == netbsd* ]]; then - opts+=(-co args=) - else - opts+=(${hyphen}o comm=) - fi - names=( ${${(f)"$(_call_program $tagname ps $opts 2>/dev/null)"}#-} ) - else - opts+=(${hyphen}o args=) - names=( ${(f)"$(_call_program $tagname ps $opts 2>/dev/null )"} ) - names=( ${${${${${names:#\[*]}%% *}%:}#-}:t} - ${${${(M)names:#\[*]}#\[}%]} ) - fi - ;; - (*) - # ignore -t option - opts+=(-o comm=) - names=( ${${${(f)"$(_call_program $tagname ps $opts 2>/dev/null)"}#-}:t} ) - ;; -esac - -_wanted $tagname expl 'process name' compadd "$@" -F '(ps)' -a - names diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_procstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_procstat deleted file mode 100644 index a1708f6a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_procstat +++ /dev/null @@ -1,26 +0,0 @@ -#compdef procstat - -_arguments -s -A "-*" -S \ - '-b[show binary information]' \ - '-c[show command line arguments]' \ - '-e[show environment variables]' \ - '-f[show file descriptor information]' \ - '-i[show signal pending and disposition]' \ - '-j[show signal pending and blocked information for process threads]' \ - '-k[show stacks of kernel threads]' \ - '-l[show resource limits]' \ - "-L[show LWP info for the process pertaining to it's signal driven exit]" \ - '-r[show resource usage]' \ - '-s[show security credential information]' \ - '-S[show cpuset information]' \ - '-t[show thread information]' \ - '-v[show virtual memory mappings]' \ - '-x[show ELF auxiliary vector]' \ - '-h[suppress table headers]' \ - '(1)-a[all processes]' \ - '-w+[repeat information after specified interval]:delay (seconds)' \ - '-C[print additional capability information for file descriptors]' \ - '-H[statistics per-thread rather than per-process]' \ - '-n[numeric form for signals]' \ - '1::core file:_path_files -g "*core*(-.)"' \ - '*:process id:_pids' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prompt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prompt deleted file mode 100644 index ef6aac35..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prompt +++ /dev/null @@ -1,9 +0,0 @@ -#compdef prompt - -_arguments -s \ - '-l[list themes]:*:' \ - '-c[show selected theme]:*:' \ - "-h[help]::prompt theme:($prompt_themes):*:" \ - "-p[preview theme(s)]:*:prompt theme:($prompt_themes)" \ - "-s[set and save theme]:prompt theme:($prompt_themes):*:" \ - ":prompt theme:($prompt_themes)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prove b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prove deleted file mode 100644 index 27a73fba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prove +++ /dev/null @@ -1,52 +0,0 @@ -#compdef prove -# -# prove(1) of TAP::Harness v3.25. Consider also: -# -# zstyle ':completion:*:*:prove:*' file-patterns '*.t:test\ files *(-/):directories' - -_arguments \ - '(- *)'{-h,--help}'[display help and exit]' \ - '(- *)'{-H,--man}'[display longer help and exit]' \ - '(- *)'{-V,--version}'[display version and exit]' \ - '(--quiet -q -Q --QUIET)'{-v,--verbose}'[print all test lines]' \ - {-l,--lib}'[add lib to path]' \ - {-b,--blib}'[add blib to path]' \ - '(--reverse)'{-s,--shuffle}'[run tests in random order]' \ - '(--nocolor)'{-c,--color}'[colored test output]' \ - '(--color -c)--nocolor[do not color test output]' \ - '(--nocount)--count[show x/y test count when not verbose]' \ - '(--count)--nocount[disable x/y test count]' \ - {-D,--dry}'[dry run]' \ - '--ext=[set extension for tests]:extension:' \ - {-f,--failures}'[show failed tests]' \ - {-o,--comments}'[show comments]' \ - '--ignore-exit[ignore exit status from test scripts]' \ - {-m,--merge}'[merge STDERR with STDOUT]' \ - {-r,--recurse}'[recurse into directories]' \ - '(-s --shuffle)--reverse[run tests in reverse order]' \ - '(-v --verbose)'{-q,--quiet}'[suppress some test output]' \ - '(-v --verbose)'{-Q,--QUIET}'[only print summary results]' \ - {-p,--parse}'[show full list of TAP parse errors]' \ - '--directives[only show results for which TODO or SKIP set]' \ - '--timer[print elapsed time]' \ - '--trap[trap ctrl-c and print summary on interrupt]' \ - '--normalize[normalize TAP output in verbose mode]' \ - '-T[enable tainting checks]' \ - '-t[enable tainting warnings]' \ - '-W[enable fatal warnings]' \ - '-w[enable warnings]' \ - '--norc[do not process .proverc]' \ - '*-I=[library paths to include]:libdir:_directories' \ - '*-P=[load plugin]:plugin:' \ - '*-M=[load a module]:module:_perl_m_opt' \ - {-e,--exec}'[interpreter to run the tests]:program: _command_names '{-e,--exec}':*::program arguments: _normal' \ - '--harness=[define test harness]:harness:' \ - '--formatter=[result formatter]:formatter:' \ - '--source=[load or configure a SourceHandler]:source:' \ - {-a,--archive}'[store output in archive file]:file:_files' \ - {-j,--jobs}'[run N jobs in parallel]:jobs:' \ - '*--state=[control persistent state]: :_values -s , state last failed passed all hot todo slow fast new old fresh save' \ - '--statefile=[specify file to use instead of .prove]:state file:_files' \ - '--rc=[custom rcfile]:file:_files' \ - '*--rules=[limit tests run (or not) in parallel]:rules' \ - '*:file or directory:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prstat deleted file mode 100644 index a9591912..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_prstat +++ /dev/null @@ -1,41 +0,0 @@ -#compdef prstat - -local d_opt sort_key -d_opt=( - "u"\:"seconds past the epoch" - "d"\:"standard date format" -) - -sort_key=( - "cpu"\:"process CPU usage" - "pri"\:"process priority" - "rss"\:"resident set size" - "size"\:"size of process image" - "time"\:"process execution time" -) - -_arguments -A "-*" \ - '-a[information about processes and users]' \ - '-c[new reports below previous reports instead of overprinting them]' \ - '-C[processes or lwps that are bound to processor sets in the list]:processor set list' \ - '-d[specify the representation of time]:time representation:(($d_opt))' \ - '-h[only processes or lwps whose home lgroup is in the list]:lgroup list' \ - '-H[information about home lgroup]' \ - '-j[only processes or lwps whose project ID is in the given list]:project list' \ - '-J[information about processes and projects]' \ - '-k[only processes or lwps whose task ID is in tasklist]:task list'\ - '-L[statistics for each light-weight process (LWP)]' \ - '-m[microstate process accounting information]' \ - '-n[restrict number of output lines]:ntop,[nbottom]' \ - '-p[only processes whose process ID is in the list]:PID list' \ - '-P[only processes or lwps which have most recently executed on a CPU in the list]:CPU list' \ - '-R[put prstat in the real time scheduling class]' \ - '-s[sort key (descending)]:sort key [cpu]:(($sort_key))' \ - '-S[sort key (ascending)]:sort key [cpu]:(($sort_key))' \ - '-t[total usage summary for each user]' \ - '-T[information about processes and tasks]' \ - '-u[only processes whose effective user ID is in the list]:UID:_users' \ - '-U[only processes whose real user ID is in the list]:UID:_users' \ - '-v[verbose process usage]' \ - '-z[only processes or LWPs whose zone ID is in the list]:zone ID' \ - '-Z[information about processes and zones]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps deleted file mode 100644 index 9b54cbcc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps +++ /dev/null @@ -1,244 +0,0 @@ -#compdef ps - -_ps_props() { - local opts - - if [[ $1 = -s ]]; then - shift - compset -P '[+-]' || _describe -t modifiers modifier \ - '( +:ascending\ order -:descending\ order )' -S '' - fi - - case $OSTYPE in - linux-gnu) opts=( ${${(f)"$(_call_program properties $words[1] L)"}%% *} ) ;; - *bsd*|dragonfly*|darwin*) opts=( $(_call_program properties $words[1] L) ) ;; - solaris*) opts=( ${=${(f)"$(_call_program properties $words[1] - 2>&1)"}[-3,-1]} ) ;; - esac - - compadd "$@" -a opts -} - -local curcontext="$curcontext" state line expl ret=1 -local short long pids -local -a args bsd bsdarg -local -A equivs - -args=( - '-a[select processes with tty except session leaders]' - {-A,-e}'[select every process]' - '-d[select all processes except session leaders]' - '*-p+[select processes by ID]:process ID:_sequence -s , _pids' - '*-G+[select processes by real group]:group:_sequence -s , _groups' - '*-g+[select processes by effective group or session]:group:_sequence -s , _groups' - '*-s+[select processes by session leaders]:session leader:_sequence -s , _pids' - '*-t+[select processes by attached terminal]:tty:_sequence -s , _ttys -Do' - '*-u+[select processes by effective user]:user:_sequence -s , _users' - '*-U+[select processes by real user]:user:_sequence -s , _users' - '-o+[specify output format]:property:_sequence -s , _ps_props -' - - '-c[show scheduler properties]' - '-f[full listing]' - '-j[show session ID and process group ID]' - '-l[long listing]' - '-L[show information about each light weight process]' - '-y[show RSS in place of ADDR (used with -l)]' -) - -bsd=( - 'a[include processes belonging to other users]' - '(j s u v X)l[output in long format]' - '(l s u v X)j[output in job control format]' - 'x[include processes with no controlling terminal]' - '(j l s u X)v[output in virtual memory format]' - '*w[wide output]' - 'L[display all format specifiers]' - 'S[include child process data with the parent]' - 'T[select processes attached to current terminal]' -) -bsdarg=( - '*p[select processes by ID]' - '*t[select processes by attached terminal]' - 'O[specify additional output fields]' - 'o[specify output format]' -) - -case $OSTYPE in - solaris2.<11->) - args+=( - '-h[select processes homed to the specified lgrp]:lgrp list' - '-H[show home lgroup of the process]' - ) - ;| - solaris*) - args+=( - '-P[show processor to which the process or lwp is bound]' - '*-z[select processes by zone]:zone list:_sequence _zones' - '-Z[show zone with which process is associated]' - ) - ;; - linux-gnu|dragonfly*|freebsd*|netbsd*|openbsd*) - bsd+=( - 'e[show environment after command]' - '(j l s v X)u[output in resource usage format]' - ) - bsdarg+=( - 'N[set namelist file for WCHAN display]' - '*U[select processes by effective user]' - ) - ;| - linux-gnu|dragonfly*|freebsd*|openbsd*) - bsd+=( 'H[show threads as if they were processes]' ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - bsd+=( - 'A[select every process]' - 'c[show just executable name for command]' - 'h[repeat header lines, one per page of output]' - '(r)m[sort by memory usage]' - '(m)r[sort by CPU usage]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - bsd+=( 'C[ignore resident time for CPU percentage]' ) - ;| - dragonfly*|freebsd*|netbsd*|openbsd*) - bsdarg+=( 'M[extract values from specified core]' ) - ;| - linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;| - darwin*|freebsd*) - bsd+=( 'X[skip processes with no controlling terminal]' ) - bsdarg+=( '*G[select processes by real group]' ) - ;| - freebsd*|dragonfly*) - bsd+=( 'f[show command and environment for swapped out processes]' ) - ;| - netbsd*|openbsd*) - bsdarg+=( 'W[extract swap information from specified file]' ) - ;| - freebsd*|netbsd*) - bsd+=( - 'd[show process hierarchy]' - ) - ;| - darwin*) - bsd+=( - 'd[select all processes except session leaders]' - 'E[show environment after command]' - 'f[full listing]' - 'M[show threads corresponding to each process]' - ) - bsdarg+=( - '*g[select processes by process group leader]' - '*U[select processes by real user]' - ) - if [[ $words[CURRENT] = -* ]]; then - bsd+=( 'e[select every process]' ) - bsdarg+=( 'u[select processes by user id]' ) - else - bsd+=( - 'e[show environment after command]' - '(j l v)u[output in resource usage format]' - ) - fi - ;; - dragonfly*) - bsd+=( 'R[subsort by parent/child chain]' ) - ;; - freebsd*) - bsd+=( - '*J[select processes by jail ID]' - 'Z[show mac label]' - ) - ;; - netbsd*) bsd+=( '(j l u v)s[output in thread format]' ) ;; - openbsd*) - bsd+=( - 'k[display information about kernel threads]' - ) - ;; - linux-gnu) - args+=( - '-O+[specify additional output fields]:property:_sequence -s , _ps_props -' - '(-N --deselect)'{-N,--deselect}'[negate selection: all processes except those selected]' - '*-C[select processes by command name]:command:_sequence -s , _command_names -e' - '*--ppid[select processes by parent process ID]:parent process:_sequence -S , _pids' - '(-f)-F[extra full format listing]' - '--context[show SELinux security context format]' - '-M[show security data]' - '(--forest -H)'{--forest,-H}'[show process hierarchy]' - '--headers[repeat header lines, one per page of output]' - '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width' - '(--lines --rows)'{--lines,--rows}'[set screen height]' - '--cumulative[include child process data with the parent]' - '-n[set namelist file for WCHAN display]:file:_files' - '(--no-headers --no-heading)'{--no-headers,--no-heading}'[suppress headers]' - '(-q --quick-pid -a -A -d -e -N --deselect -C -p --pid --ppid -G --Group -g --group -s --sid -t --tty -u --user -U --User --forest -H --sort)'{-q+,--quick-pid=}'[select processes by ID (quick mode)]:process ID:_sequence -s , _pids' - '--sort=[specify sort order]:order:_sequence -s , _ps_props -s' - '-w[wide output]' - '-m[show threads after processes]' - '-T[show threads, with SPID column]' - '-Z[show security context format (SELinux)]' - '(- *)--help[display help information]::subject:(simple list output threads misc all)' - '(- *)--info[display debugging information]' - '(- *)'{-V,--version}'[display version information]' - ) - equivs=( G Group g group p pid s sid t tty U User u user o format ) - for short long in ${(kv)equivs}; do - args+=( ${${(M)args:#(\*|)-$short*}/$short+/-$long=} ) - done - bsd+=( - 'c[show true command name]' - 'f[show process hierarchy]' - 'h[suppress header]' - 'm[show threads after processes]' - 'n[numeric output for WCHAN and USER]' - 'r[select running processes]' - '(j l u v X)s[output in signal format]' - 'V[display version information]' - '(j l s u v)X[output in register format]' - 'Z[show security data]' - ) - bsdarg+=( 'q[select processes by ID (quick mode)]' ) - ;; -esac - -if (( CURRENT > 1 )) && [[ $OSTYPE != (solaris*|linux-gnu) || - ( $OSTYPE = linux-gnu && $words[CURRENT-1] != -* ) ]]; then - case $words[CURRENT-1] in - *k) - local sopt - [[ $OSTYPE = linux-gnu ]] && sopt='-s' - _wanted -C option-k-1 properties expl 'property' \ - _sequence -s , _ps_props $sopt - && return ;; - *g) [[ $OSTYPE = darwin* ]] && _wanted -C option-g-1 processes \ - expl 'process ID' _sequence -s , _pids && return ;; - *G) _sequence -s , _groups && return ;; - *J) _sequence _jails -0 && return ;; - *[MNW]) _files && return ;; - *t) - _wanted -C option-t-1 ttys expl tty _sequence -s , _ttys -Do && return - ;; - *[pq]) _wanted -C "option-${words[CURRENT-1][-1]}-1" processes \ - expl 'process ID' _sequence -s , _pids && return ;; - *U) _wanted -C option-U-1 users expl user _sequence -s , _users && return ;; - *u) [[ $OSTYPE = darwin* && $words[CURRENT-1] = -* ]] && \ - _wanted -C option-u-1 users expl user _sequence -s , _users && return ;; - *[oO]) _wanted -C "option-${words[CURRENT-1][-1]}-1" properties \ - expl 'property' _sequence -s , _ps_props - && return ;; - esac -fi - -if [[ $OSTYPE = (*bsd*|darwin*|dragonfly*) ]]; then - compset -P - && pids=1 -else - [[ $OSTYPE = solaris* ]] || args+=( '*:: :->rest' ) - _arguments -C -s $args && ret=0 - [[ -z "$state" ]] && return ret -fi - -_values -s '' -S ' ' 'option' $bsd && ret=0 -_values -S ' ' 'option' $bsdarg && ret=0 -if [[ -z $pids ]]; then - _pids && ret=0 -fi -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps1234 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps1234 deleted file mode 100644 index 0ea2cdda..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ps1234 +++ /dev/null @@ -1,174 +0,0 @@ -#compdef -value-,PROMPT,-default- -value-,PROMPT2,-default- -value-,PROMPT3,-default- -value-,PROMPT4,-default- -value-,RPROMPT,-default- -value-,RPROMPT2,-default- -value-,PS1,-default- -value-,PS2,-default- -value-,PS3,-default- -value-,PS4,-default- -value-,RPS1,-default- -value-,RPS2,-default- -value-,SPROMPT,-default- - -local -a specs ccol -local expl grp cols bs suf pre changed=1 ret=1 -local -A ansi - -[[ -z $compstate[quote] ]] && bs='\' - -# first strip off any complete prompt specifications leaving only the -# current, incomplete, one -while (( changed )); do - changed=0 - compset -P '%[DFK](\\|){[^}]#}' && changed=1 # formats with arg: %x{...} - compset -P '%[0-9-\\]#[^DFK(0-9-<>\\\[]' && changed=1 # normal formats - compset -P '%[0-9-\\]#(<[^<]#<|>[^>]#>|\[[^\]]#\])' && changed=1 # truncations - compset -P '%[0-9-\\]#(\\|)\([0-9-]#[^0-9]?|[^%]' && changed=1 # start of ternary - compset -P '[^%]##' && changed=1 # sundry other characters - # %D/%F/%K without a following { ... } - [[ $PREFIX = %(-|)<->#[DFK](\\[^{]|[^{\\])* ]] && - compset -P '%[0-9\\-]#[DFK]' && changed=1 -done -[[ $PREFIX = %(-|)<->[FK](#e) ]] && compset -P '*' # F/K with number - -if compset -P '%[FK]'; then - # this should use -P but that somehow causes single quotes to be stripped - compset -P '(\\|){' || pre=( -p '{' ) - compset -S '(\\|)}*' || suf=( -S "$bs}" ) - ansi=( - black 30 - red 31 - green 32 - yellow 33 - blue 34 - magenta 35 - cyan 36 - white 37 - default 39 - ) - - _description -V ansi-colors expl 'ansi color' - grp="$expl[expl[(i)-J]+1]" - print -v ccol -f "($grp)=%s=%s" ${(kv)ansi} - _comp_colors+=( $ccol ) - compadd "$expl[@]" $suf $pre -k ansi && ret=0 - if (( $#suf )) && compset -P "(<->|%v)"; then - _wanted ansi-colors expl 'closing brace' compadd -S '' \} && ret=0 - elif (( $+terminfo[colors] )); then - (( cols = $terminfo[colors] - 1 )) - (( cols = cols > 255 ? 255 : cols )) - _description -V terminal-colors expl 'terminal color' - grp="$expl[expl[(i)-J]+1]" - compadd "$expl[@]" $suf $pre {0..$cols} - for c in {0..$cols}; do - _comp_colors+=( "($grp)=${c}=${${${(%):-%F{$c\}}#?\[}%m}" ) - done - else - _message -e terminal-colors "number" - fi -fi - -if compset -P '%[0-9-\\]#(\\|)\([0-9-]#[^0-9]'; then - # ternary conditional: first delimiter - compset -S '*' - _delimiters && ret=0 -elif compset -P '%[0-9-\\]#[<>\]]'; then - # truncation - _message -e replacements 'replacement string' -elif compset -P '%[0-9-\\]#(\\|)\([0-9-]#'; then - # ternary conditional: condition character - compset -S '[.:+/-%]*' || suf=( -S . ) - compset -S '*' - specs=( - '!:running with privileges' - '#:effective uid' - '?:exit status' - '_:at least n shell constructs started' - 'C:at least n path elements' - '/:at least n path elements' - '.:at least n path elements' - 'c:at least n path elements' - '~:at least n path elements' - 'D:month' - 'd:day of month' - 'g:effective gid' - 'j:number of jobs' - 'L:SHLVL' - 'l:number of characters already printed' - 'S:SECONDS parameter at least n' - 'T:current hour' - 't:current minute' - 'v:psvar has at least n elements' - 'V:element n of psvar is set and non-empty' - 'w:day of week (Sunday = 0)' - ) - [[ $IPREFIX != *- ]] && _describe -t ternary-prompt-expressions \ - 'ternary prompt format test character' specs $suf && ret=0 - _message -e numbers number -elif compset -P '%D(\\|){'; then - compset -S '(\\|)}*' - _date_formats zsh && ret=0 -elif [[ -prefix '%' ]] || - ! zstyle -t ":completion:${curcontext}:prompt-format-specifiers" prefix-needed -then - specs=( - 'm:hostname up to first .' - '_:status of parser' - '^:reversed status of parser' - 'd:current working directory' - '/:current working directory' - '~:current working directory, with ~ replacement' - 'N:name of current script or shell function' - 'x:name of file containing code being executed' - 'c:deprecated' - '.:deprecated' - 'C:deprecated' - 'F:start using fg color' - 'K:start using bg color' - 'G:counts as extra character inside %{...%}' - '(:ternary expression %(x.true-string.false-string)' - ) - compset -P '%' || pre=( -p '%' ) - if ! compset -P '(-|)<->'; then - if [[ $service == -value-,SPROMPT,* ]]; then - specs+=( - 'r:suggested correction' - 'R:corrected string' - ) - fi - specs+=( - '%:A %' - '):A )' - 'l:current line (tty) with /dev/tty stripped' - 'M:full hostname' - 'n:username' - 'y:current line (tty)' - '#:a # when root, % otherwise' - '?:return status of last command' - 'h:current history event number' - '!:current history event number' - 'i:current line number' - 'I:current source line number' - 'j:number of jobs' - 'L:$SHLVL' - 'D:date in yy-mm-dd format' - 'T:current time of day, 24-hour format' - 't:current time of day, 12-hour am/pm format' - '@:current time of day, 12-hour am/pm format' - '*:current time of day, 24-hour format with seconds' - 'w:the date in day-dd format' - 'W:the date in mm/dd/yy format' - 'D{:format string like strftime' - 'B:start bold' - 'b:stop bold' - 'E:clear to end of line' - 'U:start underline' - 'u:stop underline' - 'S:start standout' - 's:stop standout' - 'f:reset fg color' - 'k:reset bg color' - '{:start literal escape sequence' - '}:stop literal escape sequence' - 'v:value from $psvar array' - '<:truncation from left %len<string<' - '>:truncation from right %len>string>' - '[:truncation from who knows where' - ) - fi - _describe -t prompt-format-specifiers 'prompt format specifier' \ - specs -S '' $pre && ret=0 - (( ! $#pre )) && _message -e prompt-format-specifiers number -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pscp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pscp deleted file mode 100644 index c2b8dd97..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pscp +++ /dev/null @@ -1,18 +0,0 @@ -#compdef pscp pscp.exe -#Generated by Felix Rosencrantz - -_arguments \ - '-p[preserve file attributes]' \ - "-q[quiet, don't show statistics]" \ - '-r[copy directories recursively]' \ - '-v[show verbose messages]' \ - '-load[load settings from saved session]:session' \ - '-P[connect to specified port]:port:_ports' \ - '-l[connect with specified username]:username:_users' \ - '-pw[login with specified password]:password' \ - '(-1 -2)'{-1,-2}'[force use of particular SSH protocol version]' \ - '-C[enable compression]' \ - '-i[specify private key file for authentication]:private key file:_files' \ - '-batch[disable all interactive prompts]' \ - '-unsafe[allow server-side wildcards (DANGEROUS)]' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pspdf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pspdf deleted file mode 100644 index 1df3f860..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pspdf +++ /dev/null @@ -1,14 +0,0 @@ -#compdef gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii ghostview mgv pstoedit pstotgif - -local expl ext - -# ghostscript: -# gs gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii - -if [[ "$1" == '-z' ]]; then - ext='(|.gz|.Z)' - shift -fi - -_description files expl 'PostScript or PDF file' -_files "$@" "$expl[@]" -g "*.(#i)(pdf|ps|eps)$ext(-.)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_psutils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_psutils deleted file mode 100644 index 1dafb46c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_psutils +++ /dev/null @@ -1,119 +0,0 @@ -#compdef epsffit extractres fixdlsrps fixfmps fixmacps fixpsditps fixpspps fixscribeps fixtpps fixwfwps fixwpps fixwwps includeres psbook psmerge psnup psresize psselect pstops getafm showchar - -case "$service" in -epsffit) - _arguments \ - '-v[print version]' \ - '-c[centres the image in the bounding box given]' \ - '-r[rotates the image by 90 degrees anti-clockwise]' \ - '-a[alters the aspect ratio to fit the bounding box]' \ - '-s[adds a showpage at the end of the image]' \ - '-m[rotates the image to maximise the size]' \ - ':lower left x:' \ - ':lower left y:' \ - ':upper right x:' \ - ':upper right y:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psbook) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-s-[signature size]:signature size:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psnup) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - '(-P)-W-[input page width]:input paper width:' \ - '(-P)-H-[input page height]:input paper height:' \ - '(-W -H)-P-[input page paper]:input paper paper:(a3 a4 a5 b5 letter legal 10x14)' \ - '( -r -f)-l[landscape (rotated left)]' \ - '(-l -f)-r[seascape (rotated right)]' \ - '(-l -r )-f[flipped]' \ - '-c[column major layout]' \ - '-m-[margins around whole page]:margins around whole page:' \ - '-b-[border around individual pages]:border around individual pages:' \ - '-d-[draw borders]:line width for borders:' \ - '-s-[override scale]:scale:' \ - '( -4 -8 -n)-2[2 logical pages on a sheet]' \ - '(-2 -8 -n)-4[4 logical pages on a sheet]' \ - '(-2 -4 -n)-8[8 logical pages on a sheet]' \ - '(-2 -4 -8 )-n[n-up]:pages on a sheet:' \ - '-t-[layout tolerance]:layout tolerance:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psresize) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - '(-P)-W-[input page width]:input paper width:' \ - '(-P)-H-[input page height]:input paper height:' \ - '(-W -H)-P-[input page paper]:input paper paper:(a3 a4 a5 b5 letter legal 10x14)' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psselect) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-e[select even pages]' \ - '-o[select odd pages]' \ - '-r[reverse order]' \ - '-p-[pages]:pages:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -pstops) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-d-[draw borders]:line width for borders:' \ - '-b[no bind operator]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - ':[modulo\:][-]pageno[L][R][U][@scale][(xoff,yoff)][+|,]...:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -extractres) - _arguments \ - '-m[merge]' \ - ':input file:_postscript' - ;; -fixmacps) - _arguments \ - '-d[directory]:directory:_files -/' \ - '-n[name]:name:' \ - ':input file:_postscript' - ;; -psmerge) - _arguments \ - '-o-[output file]:output file:_postscript' \ - '-t[thorough]' \ - '*:input file:_postscript' - ;; -fixdlsrps|fixfmps|fixpsditps|fixpspps|fixscribeps|fixtpps|fixwfwps|fixwpps|fixwwps|includeres) - _postscript - ;; -getafm) - _arguments \ - ':font name:' - ;; -showchar) - _arguments \ - ':font name:' \ - ':character name:' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptree b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptree deleted file mode 100644 index 754979c3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptree +++ /dev/null @@ -1,7 +0,0 @@ -#compdef ptree - -_arguments -s \ - '-a[all processes]' \ - '-c[show contract memberships]' \ - '-z[show processes in zone]:zone:_zones' \ - '*: : _alternative "users:logged-in user:_users_on" "pids:pid:_pids"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptx b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptx deleted file mode 100644 index 12f1d2c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ptx +++ /dev/null @@ -1,54 +0,0 @@ -#compdef ptx - -local -a specs optA - -# common specs -specs=( - '(hv -b --break-file)'{-b+,--break-file=}'[use characters in specified file as word separators]:break file:_files' - '(hv -f --ignore-case)'{-f,--ignore-case}'[fold lower case to upper case for sorting]' - '(hv -g --gap-size)'{-g+,--gap-size=}'[specify gap size between output fields]:number of chars [3]: ' - '(hv -i --ignore-file)'{-i+,--ignore-file=}'[ignore keywords listed in specified file]:ignore file:_files' - '(hv -o --only-file)'{-o+,--only-file=}'[use only the keywords listed in specified file]:only file:_files' - '(hv -r --references)'{-r,--references}'[first field of each line is a reference]' - '(hv -w --width)'{-w+,--width=}'[specify page width, reference excluded]:number of characters [72]: ' -) - -if _pick_variant gnu=GNU unix --version; then - # GNU coreutils 8.32 - specs+=( - '(hv -A --auto-reference)'{-A,--auto-reference}'[output automatically generated references]' - '(hv -G --traditional)'{-G,--traditional}"[behave more like System V 'ptx']" - '(hv -F --flag-truncation)'{-F+,--flag-truncation=}'[specify string for flagging line truncations]:string [/]: ' - '(hv -M --macro-name)'{-M+,--macro-name=}"[specify macro name to use instead of 'xx']:macro name: " - '(hv)-O[generate output as roff directives]' - '(hv -R --right-side-refs)'{-R,--right-side-refs}'[put references at right, not counted in -w]' - '(hv -S --sentence-regexp)'{-S+,--sentence-regexp=}'[specify regexp for end of lines/sentences]:regexp: ' - '(hv)-T[generate output as TeX directives]' - '(hv -W --word-regexp -b --break-file)'{-W+,--word-regexp=}'[specify regexp to match each keyword]:regexp: ' - '(hv)--format=[specify the output format]:format:(roff tex)' - !{-t,--typeset-mode}'[not implemented]' - + hv - '(: * -)--help[display help and exit]' - '(: * -)--version[output version information and exit]' - ) - if (( $words[(I)(-G|--traditional)] )); then - specs+=( + arg '1:input file:_files' '2:output file:_files' ) - else - specs+=( + arg '(-G --traditional)*:input file:_files' ) - fi -else - # The only non-GNU implementation I can find is the one in - # heirloom-doctools. FreeBSD has a package for this. - specs=( ${specs:#(|*\))--*} ) # remove long options - # remove '+' from -b+ -g+ -i+ -o+ -w+ - local MATCH MBEGIN MEND - specs=( ${specs/(#m)-[bgiow]+/$MATCH[1,-2]} ) - specs+=( - '-t[prepare output for typesetter]' - '1:input file:_files' - '2:output file:_files' - ) - optA=( -A '-?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -s -S $optA : $specs diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pump deleted file mode 100644 index 08ec026e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pump +++ /dev/null @@ -1,24 +0,0 @@ -#compdef pump - -_arguments \ - '(-c --config-file=)'{-c,--config-file=}'[specify configuration file to use]:configuration file:_files' \ - '(-h --hostname=)'{-h,--hostname=}'[specify hostname to request]:hostname:_hosts' \ - '(-i --interface=)'{-i,--interface=}'[specify interface to configure]:interface:_net_interfaces' \ - '(-k --kill)'{-k,--kill}'[kill daemon (and disable all interfaces)]' \ - '(-l --lease=)'{-l,--lease=}'[specify lease time to request]:time (hours)' \ - '(-L --leasesecs=)'{-L,--leasesecs=}'[specify seconds to request for]:time (seconds)]' \ - '(-r --release)'{-r,--release}'[release interface]:interface:_net_interfaces' \ - '(-R --renew)'{-R,--renew}'[force immediate lease renewal]:interface:_net_interfaces' \ - '(-v --verbose)'{-v,--verbose}'[log verbose debug info]' \ - '(-s --status)'{-s,--status}'[display interface status]:interface:_net_interfaces' \ - '(-d --no-dns)'{-d,--no-dns}"[don't update resolv.conf]" \ - '(- *)'{-?,--help}'[display help information]' \ - "--no-gateway[don't set a gateway for this interface]" \ - "--no-setup[don't set up anything]" \ - "--no-resolvconf[don't set up resolvconf]" \ - '--no-bootp[ignore non-DHCP BOOTP responses]' \ - '--lookup-hostname[force lookup of hostname]' \ - '--script=[specify script to use]:script:_files' \ - "--win-client-ident[set the client identifier to match window's]" \ - '--usage[display brief usage message]' \ - ':interface:_net_interfaces' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_putclip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_putclip deleted file mode 100644 index bc7bd3bb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_putclip +++ /dev/null @@ -1,12 +0,0 @@ -#compdef putclip putclip.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[clipboard text will have DOS line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[clipboard text will have UNIX line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display brief usage message]' \ - '(-)--version[display version information]' \ - '(-)--license[display licensing information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pv deleted file mode 100644 index d02d3a35..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pv +++ /dev/null @@ -1,75 +0,0 @@ -#compdef pv - -local curcontext="$curcontext" ign Edesc ret=1 -local -a state state_descr line expl suf args fmts -local -A opt_args - -(( $#words > 2 )) && ign='!' -(( $+words[(r)-[^-]#E*] )) && Edesc=' and only report a read error once per file' -[[ $OSTYPE = linux* ]] && args=( - '(-d --watchfd)'{-d+,--watchfd=}'[watch file descriptor opened by process]:process\:fd:->pid-fds' \ -) - -_arguments -s -S $args \ - '(-p --progress -F --format)'{-p,--progress}'[show progress bar]' \ - '(-t --timer -F --format)'{-t,--timer}'[show elapsed time]' \ - '(-e --eta -F --format)'{-e,--eta}'[show estimated time of arrival]' \ - '(-I --fineta -F --format)'{-I,--fineta}'[show absolute estimated time of arrival]' \ - '(-r --rate -F --format)'{-r,--rate}'[show data transfer rate counter]' \ - '(-a --average-rate -F --format)'{-a,--average-rate}'[show data transfer average rate counter]' \ - '(-b --bytes -F --format)'{-b,--bytes}'[show number of bytes transferred]' \ - '(-T --buffer-percent -F --format)'{-T,--buffer-percent}'[show percentage of transfer buffer in use]' \ - '(-A --last-written -F --format)'{-A+,--last-written=}'[show number of bytes last written]:number (bytes)' \ - '(-F --format -p --progress -t --timer -e --eta -I --fineta -r --rate -a --average-rate -b --bytes -T --buffer-percent -A --last-written -F --format)'{-F+,--format=}'[set output format]:format:->formats' \ - '(-n --numeric -f --force)'{-n,--numeric}'[output percentages, not visual information]' \ - '(-q --quiet)'{-q,--quiet}"[don't output any transfer information at all, useful with -L]" \ - '(-W --wait)'{-W,--wait}'[display nothing until first byte transferred]' \ - '(-D --delay-start -R --remote)'{-D+,--delay-start=}'[display nothing until delay has passed]:delay (seconds)' \ - '(-s --size)'{-s+,--size=}'[set estimated data size]: :_numbers -u bytes size K M G T' \ - '(-l --line-mode -R --remote)'{-l,--line-mode}'[count lines instead of bytes]' \ - '(-0 --null -l --line-mode)'{-0,--null}'[lines are null-terminated]' \ - '(-i --interval)'{-i+,--interval=}'[update every after specified interval]:interval (seconds) [1]' \ - '(-w --width)'{-w+,--width}'[assume terminal is specified characters wide]:width' \ - '(-H --height)'{-H+,--height=}'[assume terminal is specified rows high]:height' \ - '(-N --name)'{-N+,--name=}'[prefix visual information with given name]:name' \ - '(-f --force -R --remote)'{-f,--force}'[output even if standard error is not a terminal]' \ - '(-c --cursor -R --remote)'{-c,--cursor}'[use cursor positioning escape sequences]' \ - '(-L --rate-limit)'{-L+,--rate-limit=}'[limit transfer rate]: :_numbers -u "bytes per second" rate K M G T' \ - '(-B --buffer-size)'{-B+,--buffer-size=}'[use a buffer size of given size]: :_numbers -u bytes size K M G T' \ - '(-C --no-splice)'{-C,--no-splice}'[never use splice(), always use read/write]' \ - '(-R --remote)*'{-E,--skip-errors}"[skip read errors in input${Edesc}]" \ - '(-S --stop-at-size -R --remote)'{-S,--stop-at-size}'[stop after --size bytes have been transferred]' \ - '(-R --remote -c --cursor -l --line-mode -f --force -D --delay-start -E --skip-errors -S --stop-at-size)'{-R+,--remote=}'[update settings of specified process]:process:_pids -m pv' \ - '(-P --pidfile)'{-P+,--pidfile=}'[save process id in a file]:file:_files' \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)"{-V,--version}'[display version information]' \ - '*:file:_files' && ret=0 - -case $state in - formats) - compset -P '(%?|%<->A|[^%])#' - fmts=( - 'p:progress bar' - 't:elapsed time' - 'e:estimated time remaining' - 'I:estimated time of completion' - 'r:current data transfer rate' - 'a:average data transfer rate' - 'b:bytes transferred so far' - 'T:percentage of transfer buffer in use' - 'N:name prefix' - '%:literal %' - ) - _describe -t format-specifiers 'format specifier' fmts -p % -S '' - ;; - pid-fds) - if compset -P 1 '*:'; then - _message -e file-descriptors 'file descriptor' - else - compset -S ':*' || suf=( -qS : ) - _pids $suf && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pwgen b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pwgen deleted file mode 100644 index f8ab1cb9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pwgen +++ /dev/null @@ -1,19 +0,0 @@ -#compdef pwgen - -_arguments -s -S \ - '(-h --help -c --capitalize -A --no-capitalize)'{-c,--capitalize}'[include at least one capital letter in the password]' \ - '(-h --help -c --capitalize -A --no-capitalize)'{-A,--no-capitalize}"[don't include capital letters in the password]" \ - '(-h --help -n --numerals -0 --no-numerals)'{-n,--numerals}'[include at least one number in the password]' \ - '(-h --help -n --numerals -0 --no-numerals)'{-0,--no-numerals}"[don't include numbers in the password]" \ - '(-h --help -y --symbols)'{-y,--symbols}'[include at least one special symbol in the password]' \ - '(-h --help -r --remove-chars)'{-r+,--remove-chars=}'[remove characters from the set of characters to generate passwords]:characters' \ - '(-h --help -s --secure)'{-s,--secure}'[generate completely random passwords]' \ - '(-h --help -B --ambiguous)'{-B,--ambiguous}"[don't include ambiguous characters in the password]" \ - '(- 1 2)'{-h,--help}'[print a help message]' \ - '(-h --help -H --sha1)'{-H+,--sha1=}'[use sha1 hash of given file as a (not so) random generator]:file:_files -S \# -qr "/ \t\n\-"' \ - '(-h --help -1)-C[print the generated passwords in columns]' \ - "(-h --help -C)-1[don't print the generated passwords in columns]" \ - '(-h --help -v --no-vowels)'{-v,--no-vowels}"[don't use any vowels so as to avoid accidental nasty words]" \ - '(-N --num-passwords 2)'{-N,--num-passwords}'[specify number of passwords to generate]' \ - '!-a' '!--alt-phonics' \ - '1: :_guard "^-*" "length"' '(-N --num-passwords)2: :_guard "^-*" "number of passwords"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pydoc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pydoc deleted file mode 100644 index 677c96ad..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_pydoc +++ /dev/null @@ -1,34 +0,0 @@ -#compdef -P pydoc[0-9.]# - -local curcontext=$curcontext state state_descr line ret=1 -typeset -A opt_args -local -a args - -args=( - '(- *)-k[search keyword]:keyword' - '(-k -g -w *)-p[start web server on specified port]:port number' - '(-)-w[write out HTML in current directory]' - '(-)*: :->lookup' -) - -if _pick_variant pydoc3='pydoc3 -b' pydoc2 -h; then - args+=( '(-k -w *)-b[start server and open browser]' ) -else - args+=( '(- *)-g[start gui]' ) -fi - -_arguments -C : $args && return 0 - -case $state in -(lookup) - if [[ $words[CURRENT] = */* ]]; then - _files && ret=0 - else - _alternative \ - 'keywords:keyword:compadd ${=${${(f)"$(_call_program keywords $words[1] keywords)"}[2,-1]}}' \ - 'topics:topic:compadd ${=${${(f)"$(_call_program topics $words[1] topics)"}[2,-1]}}' \ - 'modules:module:_python_modules' && ret=0 - fi -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python deleted file mode 100644 index e5bac18b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python +++ /dev/null @@ -1,60 +0,0 @@ -#compdef -P python[0-9.]# - -# Python 2.7 -# Python 3.9 - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args -local -a args - -if _pick_variant python3=Python\ 3 python2 --version; then - args=( - '(-bb)-b[issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]' - '(-b)-bb[issue errors about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]' - '--check-hash-based-pycs[configure how Python evaluates up-to-dateness of hash-based .pyc files]:mode:(always default never)' - "-I[isolate Python from the user's environment]" - '-q[do not print version and copyright messages]' - '-X[set implementation-specific option]:option' - ) -else - args=( - '-R[use a pseudo-random salt to make hash values unpredictable]' - '-Q+[division options]:division option:(old warn warnall new)' - '(-tt)-t[issue warnings about inconsistent tab usage]' - '(-t)-tt[issue errors about inconsistent tab usage]' - '-3[warn about Python 3.x incompatibilities]' - ) -fi - -_arguments -C -s -S "$args[@]" \ - "-B[don't write .py\[co\] files on import]" \ - '(1 -)-c+[program passed in as string (terminates option list)]:python command' \ - '-d[debug output from parser]' \ - '-E[ignore PYTHON* environment variables (such as PYTHONPATH)]' \ - '(1 * -)-h[display help information]' \ - '-i[inspect interactively after running script]' \ - '(1 -)-m+[run library module as a script (terminates option list)]:module:_python_modules' \ - '-O[optimize generated bytecode slightly]' \ - '-OO[remove doc-strings in addition to the -O optimizations]' \ - "-s[don't add user site directory to sys.path]" \ - "-S[don't imply 'import site' on initialization]" \ - '-u[unbuffered binary stdout and stderr]' \ - '(-vv)-v[trace module initialization and cleanup]' \ - '(-v)-vv[in addition to -v, trace all files checked when searching for a module]' \ - '(1 * -)-V[display version information]' \ - '-W+[warning control]:warning filter (action\:message\:category\:module\:lineno):(default always ignore module once error)' \ - '-x[skip first line of source, allowing use of non-Unix forms of #!cmd]' \ - '(-)1:Python script:_files -g "*.py(|c|o)(-.)"' \ - '*::script argument:= ->normal' && return - -case "$state" in - normal) - if [[ -z "$opt_args[(I)-(c|m)]" ]]; then - shift words - (( CURRENT-- )) - fi - _normal && return - ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python_modules b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python_modules deleted file mode 100644 index e82f8efb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_python_modules +++ /dev/null @@ -1,42 +0,0 @@ -#autoload - -_python_module_caching_policy () { - local -a newer - # rebuild if cache does not exist or is more than a week old - newer=( "$1"(Nmw-1) ) - return $#newer -} - -_python_modules () { - local update_policy python expl - - case $words[1] in - (python*) python=$words[1] ;; - (pydoc*) python=${words[1]/#pydoc/python} ;; - (*) python="python" ;; - esac - local cache_id=${${python//[^[:alnum:]]/_}#_}_modules - local array_name=_${cache_id} - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && \ - zstyle ":completion:${curcontext}:" \ - cache-policy _python_module_caching_policy - - if ( [[ ${(P)+array_name} -eq 0 ]] || _cache_invalid $cache_id ) && - ! _retrieve_cache $cache_id; then - - local script='import pkgutil -for importer, name, ispkg in pkgutil.iter_modules(): print(name)' - - typeset -agU $array_name - set -A $array_name \ - $(_call_program modules $python -c ${(q)script} 2>/dev/null) - - _store_cache $cache_id $array_name - fi - - _wanted modules expl module compadd "$@" -a -- $array_name -} - -_python_modules "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qdbus b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qdbus deleted file mode 100644 index 95a4d524..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qdbus +++ /dev/null @@ -1,114 +0,0 @@ -#compdef qdbus -# -# Copyright (C) 2015 Thomas Mitterfellner <thomas.mitterfellner@gmail.com> -# -# This file is released under the GPLv2. -# -# version 0.1 - -# get the type of a method: 1 means function, 2 means property -getType () { - case "$1" in - "method"*) echo 1 ;; - "property"*) echo 2 ;; - *) echo 0 ;; - esac -} - -# get the index of a method in an array of methods -getIndex () { - local e - local index - local type_ - index=0 - for e in "${@:2}"; do - index=$(( index + 1 )) - type_=$(getType "$e") - if [[ $type_ == 1 ]] ; then - if [[ "$e" == *"$1("* ]] ; then - echo $index - return 0 - fi - elif [[ $type_ == 2 ]] ; then - if [[ "$e" == *"$1" ]] ; then - echo $index - return 0 - fi - fi - done - echo 0 -} - -_qdbus() { - local curcontext="$curcontext" state line - local services - local path_ - local methods - local names - local types - local properties - local index - typeset -A opt_args - - _arguments "--system[connect to system bus]"\ - "--literal[print literal replies]"\ - "1:service name:->service"\ - "2:path:->path"\ - "3:method:->method"\ - "*:arguments:->arguments" - - case $state in - service) - services=( $(qdbus ${words[@]:1:-1} | grep -E '^([^:])') ) - compadd "$@" $services - ;; - - path) - path_=( $(qdbus ${words[@]:1:-1} 2>/dev/null) ) - - compadd "$@" $path_ - ;; - - method) - IFS=$'\n' - methods=( $(qdbus ${words[@]:1:-1} | \ - grep -e "^method" | \ - sed -r 's/method (.+) (.+)\((.*)\)/\2:\1(\3)/g' 2>/dev/null) ) - properties=( $(qdbus ${words[@]:1:-1} | \ - grep -e "^property" | \ - sed -r 's/property (.+) (.+) (.+)/\3:\1 \2/g' 2>/dev/null) ) - - _describe properties properties -J properties - _describe methods methods -J methods - ;; - - arguments) - IFS=$'\n' - - path_pos=$(( ${(M)#words:#--*} + 2)) - method_pos=$(( $path_pos + 2)) - names=( $(qdbus ${words[@]:1:$path_pos} | grep -e '^[mp]' 2>/dev/null) ) - index=$(getIndex "${words[$method_pos]}" $names[@]) - method=$names[$index] - - arg_pos=$(( ${#words} - $method_pos )) - if [[ $(getType "$method") -eq 1 ]] ; then - method_args="$(echo $method | sed -r 's/(.+) (.+) (.+)\((.*)\)/\4/g')" - IFS=$',' method_args_=(${=method_args}) - num_args=${#method_args_} - if [[ $arg_pos -le $num_args ]] ; then - _message "${method_args_[$arg_pos]}" - fi - else - property_=$(echo "$method" |\ - sed -r 's/property (.+) (.+) (.+)/\1 \2/g') - if [[ $arg_pos -eq 1 ]] ; then - - _message ${property_} - fi - fi - ;; - esac -} - -_qdbus "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qemu b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qemu deleted file mode 100644 index 7bc02c30..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qemu +++ /dev/null @@ -1,55 +0,0 @@ -#compdef -P qemu(|-system-*) - -_qemu_log_items () { - local -a opts hline - $service -d \? 2>/dev/null | while read -A hline; do - [[ $hline[1] = Log ]] && continue - opts=($opts "${hline[1]}[${hline[2,-1]}]") - done - _values -s , 'log item' $opts -} - -local _qemu_machines - -_qemu_machines=(${${${(f)"$($service -M \? 2>/dev/null)"}[2,-1]}%% *}) - -_arguments \ - '-'{fda,fdb,hda,hdb,hdc,hdd,cdrom}':disk image:_files' \ - '-M[target machine]:machine:('"${_qemu_machines:-none}"')' \ - '-boot[specify which image to boot from]:boot device:((a\:floppy\ image\ a c\:hard\ disk d\:cdrom))' \ - '-snapshot[write to temporary files instead of disk image files]' \ - '-no-fd-bootchk[disable boot sig checking for floppies in Bochs BIOS]' \ - '-m[specify virtual RAM size]:size (MB) [128]' \ - '-smp[set the number of CPUs]:number of CPUs [1]' \ - '-nographic[disable graphical output]' \ - '-vnc[listen on VNC display]:display:' \ - '-k[use keyboard layout]:keyboard layout language:(ar de-ch es fo fr-ca hu ja mk no pt-br sv da en-gb et fr fr-ch is lt nl pl ru th de en-us fi fr-be hr it lv nl-be pt sl tr)' \ - '-audio-help[show audio subsystem help]' \ - '-soundhw[enable audio and selected sound hardware]:cards to enable:(all)' \ - '-localtime[set rtc to local time]' \ - '-full-screen[start in full screen]' \ - '-pidfile:pidfile:_files' \ - '-win2k-hack' \ - '-usb[enable USB driver]' \ - '-usbdevice:usb device:' \ - '-net:net config:(none)' \ - '-tftp[allow tftp access to files starting with prefix]:tftp prefix:_files' \ - '-smb[allow SMB access to files in specified directory]:samba directory:_path_files -/' \ - '-redir[redirect TCP or UDP connections from host to guest]:redirection: ' \ - '-kernel[boot specified linux kernel]:kernel image:_files' \ - '-append[use specified kernel command line]:command line: ' \ - '-initrd[use specified initial ram disk]:ram disk:_files' \ - '-serial:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-parallel:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-monitor:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-s[wait gdb connection to port 1234]' \ - '-p[change gdb connection port]:port:_ports' \ - '-S[do not start CPU at startup]' \ - '-d[output log in /tmp/qemu.log]:log item:_qemu_log_items' \ - '-hdachs[force hard disk 0 geometry (usually qemu can guess it)]:hd0 geometry c,h,s:' \ - '-vga[select video card type]:card type:(std cirrus vmware qxl xenfb none)' \ - '-no-acpi[disable ACPI]' \ - '-loadvm[start right away with a saved state]:file:_files' \ - '-g[set initial graphic mode]:graphic mode:' \ - ':disk image:_files' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qiv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qiv deleted file mode 100644 index 35ceec09..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qiv +++ /dev/null @@ -1,50 +0,0 @@ -#compdef qiv - -_arguments -s \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '--display:display:_x_display' \ - \*{-F,--file}'[read file names from file]:file:_files' \ - '(-B --browse)'{-B,--browse}'[scan directory of file for browsing]' \ - '(-e --center)'{-e,--center}'[disable window centering]' \ - '(-C --cycle)'{-C,--cycle}"[don't cycle after last image]" \ - '(-w --fixed_width -W --fixed_zoom)'{-w,--fixed_width}'[use window with specified width]:width' \ - '(-w --fixed_width -W --fixed_zoom)'{-W,--fixed_zoom}'[use window with specified zoom factor]:zoom (percentage)' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-x,--root}'[use image as the current desktop background, centered]:image file:_files' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-y,--root_t}'[use image on the current desktop background, tiled]:image file:_files' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-z,--root_s}'[use image as the current desktop background, stretched]:image file:_files' \ - '(-m --maxpect)'{-m,--maxpect}'[expand image to fit screen size]' \ - '(-t --scale_down)'{-t,--scale_down}'[shrink images to fit screen size]' \ - "--trashbin[move files to user's trash bin instead of .qiv-trash when deleting]" \ - '(-b --brightness)'{-b,--brightness}'[set brightness]:brightness (-32..32)' \ - '(-c --contrast)'{-c,--contrast}'[set contrast]:contrast (-32..32)' \ - '(-g --gamma)'{-g,--gamma}'[set gamma]:gamma (-32..32)' \ - '(-n --no_filter)'{-n,--no_filter}'[disable filtering of images by extension]' \ - '(-i --no_statusbar -I --statusbar)'{-i,--no_statusbar}'[disable statusbar]' \ - '(-i --no_statusbar -I --statusbar)'{-I,--statusbar}'[enable statusbar]' \ - '(-p --transparency)'{-p,--transparency}'[enable transparency]' \ - '(-a --do_grab)'{-a,--do_grab}'[grab the pointer in windowed mode]' \ - '(-G --disable_grab)'{-G,--disable_grab}'[disable pointer grabbing in fullscreen mode]' \ - '(-o --bg_color)'{-o,--bg_color}'[set root background color]:color:_x_color' \ - '(-s --slide)'{-s,--slide}'[start slideshow immediately]' \ - '(-r --random)'{-r,--random}'[shuffle images for slideshow]' \ - '(-R --readonly)'{-R,--readonly}'[disable delete feature]' \ - '(-S --shuffle)'{-S,--shuffle}'[shuffle images for next/prev feature]' \ - '(-d --delay)'{-d,--delay}'[set slideshow delay]:delay (seconds)' \ - '(-f --fullscreen)'{-f,--fullscreen}'[use fullscreen window on startup]' \ - '(-P --ignore_path_sort)'{-P,--ignore_path_sort}'[sort images by just the filename]' \ - '(-M --merged_case_sort)'{-M,--merged_case_sort}'[sort images case-insensitively]' \ - '(-K --mtime_sort)'{-K,--mtime_sort}'[sort images by their modification time]' \ - '(-N --numeric_sort -K --mtime_sort)'{-N,--numeric_sort}'[numeric image sort]' \ - '(-D --no_sort -N --numeric_sort -K --mtime_sort -M --merged_case_sort -P --ignore_path_sort)'{-D,--no_sort}"[don't apply any sorting to the images]" \ - '(-T --watch)'{-T,--watch}'[reload the image if it changes]' \ - '(-u --recursivedir)'{-u,--recursivedir}'[recursively include all files]' \ - '(-L --followlinks)'{-L,--followlinks}'[follow symlinks to directories]' \ - '(-A --select_dir)'{-A,--select_dir}'[store selected files in specified directory]:directory [.qiv-select]:_directories' \ - '(-l --autorotate)'{-l,--autorotate}"[don't autorotate JPEGs according to EXIF rotation tag]" \ - '(-q --rotate)'{-q,--rotate}'[rotate image]:angle:((1\:90 2\:180 3\:270))' \ - '(-X --xineramascreen)'{-X,--xineramascreen}'[specify preferred screen]:screen' \ - '(-Y --source_profile)'{-Y,--source_profile}'[specify colour profile file as source profile]:colour profile file:_files' \ - '(-Z --display_profile)'{-Z,--display_profile}'[specify colour profile file as display profile]:colour profile file:_files' \ - '--vikeys[enable movement with h/j/k/l]' \ - '*:image file:_files -g "*.(#i)(bmp|eim|gif|ico|jp([eg]|eg)|pcx|png|p[pngb]m|pjpeg|svg|tif(|f)|wmf|x[pb]m)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qtplay b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qtplay deleted file mode 100644 index 839efee8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_qtplay +++ /dev/null @@ -1,20 +0,0 @@ -#compdef qtplay - -_arguments -S \ - '(- *)-cd[play a CD]' \ - '(-)-f[read files as playlist]:*:playlist:_files' \ - '-l[loop]' \ - '-q[quiet]' \ - '-Q[quicktime only]' \ - '-s[speak filenames]' \ - '-S[sound manager only]' \ - '-v[verbose]' \ - '-z[shuffle play]' \ - '-Z[random play]' \ - '-1[play one random file]' \ - '-t[specify update time]:update time (seconds)' \ - '-T[kill time]:ticks' \ - '-V[volume]:percentage of normal volume' \ - '(-)'{-\?,--help,-h}'[display help information]' \ - '(-)*:quicktime file:_files' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_quilt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_quilt deleted file mode 100644 index 01f8cfb8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_quilt +++ /dev/null @@ -1,277 +0,0 @@ -#compdef quilt - -local curcontext="$curcontext" state line -local help="(- : *)-h[show help information]" -local verbose='(-h)-v[verbose, more user friendly output]' -local color='(-h)--color=[use syntax coloring]:color:(always auto never)' -local pstyle='(-h)-p+[select patch style]:patch style:((0\:exclude\ top-level\ directory 1\:use\ .orig\ on\ top-level\ directory ab\:use\ a\ or\ b\ as\ top-level\ directory))' -local -a pform rcfile -local k - -pform=( - '(-U -c -C -h)-u[create a unified diff]' - '(-u -c -C -h)-U+[create a unified diff with num lines of context]:lines' - '(-u -U -C -h)-c[create a context diff]' - '(-u -U -c -h)-C+[create a context diff with num lines of context]:lines' -) -typeset -A opt_args - -_quilt_applied() { - local expl - _wanted -V patches expl patch compadd \ - ${(f)"$(_call_program patches quilt $rcfile applied)"} -} - -_quilt_series() { - local expl - _wanted -V patches expl 'patch' compadd \ - ${(f)"$(_call_program patches quilt $rcfile series)"} -} - -_quilt_unapplied() { - local expl - _wanted -V patches expl 'unapplied patch' compadd \ - ${(f)"$(_call_program patches quilt $rcfile unapplied)"} -} - -_arguments $help \ - '--trace[run the command in bash trace mode]' \ - '--quiltrc=[use the specified configuration file]:file:_files' \ - '--version[print the version number and exit]' \ - ':quilt command:->cmd' \ - '*:: :->subcmd' && return - -case $state in - ('') - return 1 - ;; - - (cmd) - # Divide the subcommands to categories. The categorization is our own; - # it's not based on any preexisting categorization in the quilt docs. - local -a manip=( - add:'add files to a patch' - delete:'remove a patch from the series' - edit:'add files to the topmost patch and open them in $EDITOR' - fold:'integrate an external patch into the topmost patch' - fork:'replace the topmost patch with a copy' - import:'add external patches to the series' - new:'add an empty patch to the series' - refresh:'update a patch with in-tree edits' - remove:'remove files from a given patch' - rename:"change a patch's name" - ) - local -a tree=( - pop:'unapply a patch to the tree' - push:'apply a patch to the tree' - revert:'discard in-tree changes to files in a given patch' - ) - local -a other=( - grep:'print file lines matching pattern' - header:"print or change a patch's prologue" - mail:'send patches by email' - setup:'initialize a source tree' - snapshot:'save a snapshot of the tree to diff against' - upgrade:'upgrade quilt metadata' - ) - local -a interrogate=( - annotate:'show which patches modify which lines' - applied:'print the list of patches up to a given patch' - diff:'print differences between files' - files:'print the list of files that a given patch changes' - graph:'generate a patches dependency graph' - next:'print the name of the patch that follows a given patch' - patches:'print the list of patches that touch a given file' - previous:'print the name of the patch that precedes a given patch' - series:'print the list of all patches' - top:'print the name of the last applied patch' - unapplied:'print the list of patches following a given patch' - ) - local -A cmdtypes=( - [manip]='series manipulator commands' - [tree]='tree manipulator commands' - [other]='other commands' - [interrogate]='series interrogator commands' - ) - local ret=1 - _tags ${cmdtypes// /-} - while _tags; do - for k in ${(ok)cmdtypes}; do - if _requested ${cmdtypes[$k]// /-} - then - _describe -t ${cmdtypes[$k]// /-} ${cmdtypes[$k]} $k && - ret=0 - fi - done - done - return ret - ;; - - (subcmd) - ;; -esac - -rcfile=( ${opt_args[--quiltrc]:+--quiltrc=${opt_args[--quiltrc]}} ) -case $words[1] in - add) - _arguments -S $help \ - '-P+[specify patch to add files to]:patch:_quilt_applied' \ - '*:file:_files' && return - ;; - annotate) - _arguments $help \ - '-P[stop checking for changes at the specified rather than the topmost patch]:patch:_quilt_series' \ - ':file:_files' && return - ;; - applied) _arguments $help ':quilt series:_quilt_series' && return ;; - delete) - _arguments -s $help \ - '(:)-n[delete the next patch after topmost]' \ - '-r[remove the deleted patch file from the patches directory as well]' \ - '--backup[rename the patch file to patch~ rather than deleting it]' \ - '(-n):patch:_quilt_series' && return - ;; - diff) - _arguments -s $help $pstyle $pform $color \ - "--no-timestamps[don't include file timestamps in patch headers]" \ - "--no-index[don't output Index: lines]" \ - '(-P --snapshot)-z[show changes relative to the topmost or specified patch]' \ - '-R[create a reverse diff]' \ - '(-z --snapshot)-P[create a diff for the specified patch]:patch:_quilt_series' \ - '--combine[create a combined diff for all patches between this patch and the patch specified with -P]:patch:_quilt_series' \ - '(-P -z)--snapshot[diff against snapshot]' \ - '--diff=[use the specified utility for generating the diff]:diff utility:_command_names -e' \ - '--sort[sort files by name]' \ - '*:file:_files' && return - ;; - edit) _arguments $help '*:file:_files' && return ;; - files) - _arguments -s $help $verbose \ - '-a[list all files in all applied patches]' \ - '-l[add patch name to output]' \ - '--combine[create a listing for all patches between this patch and the topmost or specified patch]::patch:_quilt_series' \ - ':patch:_quilt_series' && return - ;; - fold) - _arguments -s $help \ - '-R[apply patch in reverse]' \ - '-q[quiet operation]' \ - '-f[force apply]' \ - '-p+[specify number of pathname components to strip]:components to strip' && return - ;; - fork) _arguments $help ':patch name' && return ;; - graph) - _arguments $help \ - '--all[include all applied patches and their dependencies]' \ - '--reduce[eliminate transitive edges from the graph]' \ - '--lines=-[compute dependencies by looking at lines patches modify]::number of lines' \ - '--edge-labels=files[label graph edges with file names that adjacent patches modify]' \ - '-T ps[produce a PostScript output file]' \ - ':patch:_quilt_series' && return - ;; - grep) _grep && return ;; - header) - _arguments $help \ - '(-r -e -h)-a[append to existing patch header]' \ - '(-a -e -h)-r[replace existing patch header]' \ - '(-a -r -h)-e[edit the header in $EDITOR]' \ - '--strip-diffstat[strip diffstat output from the header]' \ - '--strip-trailing-whitespace[strip trailing whitespace at the end of lines of the header]' \ - '--backup[create backup copy of patch with tilde suffix]' \ - ':patch:_quilt_series' && return - ;; - import) - _arguments $help \ - '-p+[number of directory levels to strip when applying]:quilt select strip-level: ' \ - '-R[apply patch in reverse]' \ - '-P+[patch filename to use inside quilt]:quilt select patch filename: ' \ - '-f[overwrite/update existing patches]' \ - '-d+[header resolution when overwriting in existing patch]:resolution:((a\:all\ headers n\:new\ headers o\:old\ headers))' \ - '*:file:_files' && return - ;; - mail) - _arguments $help \ - '(-h -M)-m[introduction text to use]:introduction text' \ - '(-h -m)-M[read introduction text from file]:file:_files' \ - '--prefix=[use an alternate prefix in the bracketed part of the subjects generated]:quilt select prefix: ' \ - '--mbox=[store all messages in the specified file in mbox format]:file:_files' \ - '--send[send the messages directly]' \ - '--sender=[specify envelope sender address to use]:sender:_email_addresses -c' \ - '--from=[from header]:address:_email_addresses' \ - '--subject=[subject header]:subject' \ - '*--to=[append a recipient to the To header]:recipient:_email_addresses' \ - '*--cc=[append a recipient to the Cc header]:recipient:_email_addresses' \ - '*--bcc=[append a recipient to the Bcc header]:recipient:_email_addresses' \ - '--signature=[append specified signature file to messages]:file:_files' \ - '--reply-to=[add reply address to message]:address:_email_addresses' \ - '*:patch:_quilt_series' && return - ;; - new) _arguments $help $pstyle ':patch name' && return ;; - next) _arguments $help ':patch:_quilt_series' && return ;; - patches) _arguments -S $help $verbose $color '*:file:_files' && return ;; - pop) - _arguments -s $help $verbose \ - '-a[remove all applied patches]' \ - '-f[force remove]' \ - '-R[always verify if the patch removes cleanly]' \ - '-q[quiet operation]' \ - ':patch:_quilt_applied' && return - ;; - previous) _arguments $help ':patch:_quilt_series' && return ;; - push) - _arguments $help $verbose $color \ - '-a[apply all patches in the series file]' \ - '-q[quiet operation]' \ - '-f[force apply, even if the patch has rejects]' \ - '--fuzz=[set the maximum fuzz factor]:factor [2]' \ - '--merge=[merge the patch file into the original files]::merge scheme:(merge diff3)' \ - '--leave-rejects[leave around the reject files patch produced]' \ - ':quilt unapplied:_quilt_unapplied' && return - ;; - refresh) - _arguments -s $help $pstyle $pform \ - '-z-[create a new patch containing the changes instead of refreshing the topmost patch]::new patch name' \ - '--no-timestamps[do not include file timestamps in patch headers]' \ - '--no-index[do not output Index: lines]' \ - '--diffstat[add a diffstat section to the patch header, or replace the existing diffstat section]' \ - '-f[enforce refreshing of a patch that is not on top]' \ - '--backup[create a backup copy of the old version of a patch as patch~]' \ - '--sort[sort files by their name instead of preserving the original order]' \ - '--strip-trailing-whitespace[strip trailing whitespace at the end of lines]' \ - ':patch:_quilt_series' && return - ;; - remove) - _arguments $help \ - '-P[patch to remove]:patch:_quilt_series' \ - '*:file:_files' && return - ;; - rename) - _arguments $help \ - '(-h)-P[patch to rename]:patch:_quilt_series' \ - ':new name' && return - ;; - revert) - _arguments $help \ - '-P[revert changes in the named patch]:patch:_quilt_series' \ - '*:file:_files' && return - ;; - series) _arguments $help $verbose $color && return ;; - setup) - _arguments $help $verbose \ - '-d[specify path prefix for resulting source tree]:prefix:_files -W / -P /' \ - '--sourcedir[specify location of package sources]:directory:_directories' \ - '--fuzz=[set the maximum fuzz factor]:factor' \ - '(--fast)--slow[use the original, slow method to process the spec file]' \ - '(--slow)--fast[use an alternative, faster method to process the spec file]' \ - ':file:_files' && return - ;; - snapshot) _arguments $help '-d[only remove current snapshot]' && return ;; - unapplied) _arguments $help ':patch:_quilt_series' && return ;; - top|upgrade) _arguments $help && return ;; - *) - _default - return - ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rake b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rake deleted file mode 100644 index 10d62199..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rake +++ /dev/null @@ -1,51 +0,0 @@ -#compdef rake - -# rake, version 0.8.3 - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(--classic-namespace -C)'{--classic-namespace,-C}'[put Task and FileTask in the top level namespace]' \ - '(--dry-run -n)'{--dry-run,-n}'[do a dry run without executing actions]' \ - '(- *)'{--describe,-D}'[describe the tasks (matching the specified pattern), then exit]:pattern::' \ - '(--execute -e)'{--execute,-e}'[execute some Ruby code and exit]:Ruby code:' \ - '(--execute-print -p)'{--execute-print,-p}'[execute some Ruby code, print the result, then exit]:Ruby code:' \ - '(--execute-continue -E)'{--execute-continue,-E}'[execute some Ruby code, then continue with normal task processing]:Ruby code:' \ - '(- *)'{--help,-h,-H}'[display help information]' \ - \*{--libdir,-I}'[include specified directory in the search path for required modules]:library directory:_files -/' \ - '(--rakelibdir --rakelib -R)'{--rakelibdir,--rakelib,-R}'[auto-import any .rake files in the specified directory. (default is 'rakelib')]:rake library directory:_files -/' \ - '(--nosearch -N)'{--nosearch,-N}'[do not search parent directories for the Rakefile]' \ - '(- *)'{--prereqs,-P}'[display the tasks and prerequisites, then exit]' \ - '(--quiet -q --silent -s --verbose -v)'{--quiet,-q}'[do not log messages to standard output]' \ - '(--rakefile -f)'{--rakefile,-f}'[use specified file as the rakefile]:rake file:_files' \ - \*{--require,-r}'[require specified module before executing rakefile]:library:->library' \ - '(- *)--rules[trace the rules resolution]' \ - '(--quiet -q --silent -s --verbose -v)'{--silent,-s}"[like --quiet, but also suppresses the 'in directory' announcement]" \ - '(--system -g)'{--system,-g}'[using system wide (global) rakefiles (usually '~/.rake/*.rake')]' \ - '(- *)'{--tasks,-T}'[display the tasks (matching the specified pattern) with descriptions, then exit]:pattern::' \ - '(--trace -t)'{--trace,-t}'[turn on invoke/execute tracing, enable full backtrace]' \ - '(--quiet -q --silent -s --verbose -v)'{--verbose,-v}'[log message to standard output (default)]' \ - '(- *)'{--version,-V}'[display version information]' \ - '*:target:->target' && ret=0 - -case "$state" in - library) - local -a dirs - dirs=( $(_call_program directories ruby -e 'puts\ \$:' 2>/dev/null) ${(s.:.)opt_args[-I]} ) - _wanted libraries expl library _path_files -W dirs && ret=0 - ;; - target) - local -a targets - local all - zstyle -t ":completion:${curcontext}:targets" extended && all=-A - targets=( ${${(f)"$(_call_program targets $words[1] $all -sT $opt_args[(I)(-N|--nosearch)] ${(kv)opt_args[(I)(-f|--rakefile)]} 2>/dev/null)"}/(#b)rake ([^ ]##) ##\# (*)/${${match[1]}//:/\\:}:${match[2]:l}} ) - if (( ! ${targets[(I)rake aborted!]} )) then - _describe -t targets 'rake target' targets && ret=0 - else - _message -e targets 'rake target' - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ranlib b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ranlib deleted file mode 100644 index a506ea70..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ranlib +++ /dev/null @@ -1,13 +0,0 @@ -#compdef ranlib - -_arguments \ - "(-a)-s[preferred type ToC (default)]" \ - "(-s)-a[original type ToC]" \ - "-c[include common symbols]" \ - "(-T)-L[4.4bsd archive extended format #1 (default)]" \ - "(-L)-T[truncate names to 16 chars, per pre-4.4.bsd format]" \ - "-f[warn about fat archives]" \ - "-t[do not rebuild ToC (ignored)]" \ - "(-)-[no more options]" \ - "1:archive: _files" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rar b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rar deleted file mode 100644 index d1d38197..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rar +++ /dev/null @@ -1,136 +0,0 @@ -#compdef rar unrar - -local common expl - -common=( - '-ad[append archive name to destination path]' - '-ad1[create a separate folder for files unpacked from each archive]' - "-ad2[like -ad1 but use archives' own folders]" - '-ap[set path inside archive]' - '-av\-[disable authenticity verification check]' - '-c\-[disable comments show]' - '-cfg\-[disable read configuration]' - '-cl\-[convert names to lower case]' - '-cu[convert names to upper case]' - '-dh[open shared files]' - '-ep[exclude paths from name]' - '-f[freshen files]' - '-idn[hide archived names]' - '-idp[disable percentage display]' - '-ierr[send all messages to stderr]' - '-inul[disable all messages]' - '-kb[keep broken extracted files]' - '-o\+[overwrite existing files]' - '-o\-[do not overwrite existing files]' - '-ow[save or restore file owner and group]' - '-p+:password' - '-p\-[do not query password]' - '-r[recurse subdirectories]' - '-ta+[process files modified after a date]:date (YYYYMMDDHHMMSS)' - '-tb+[process files modified before a date]:date (YYYYMMDDHHMMSS)' - '-tn+[process files newer than a specified time]:time' - '-to+[process files older than a specified time]:time' - '-ts-[save or restore time]:time:((m\:modification c\:change a\:access p\:preserve))' - '-u[update files]' - '-v[create volumes with size autodetection or list all volumes]' - '-ver[file version control]' - '-vp[pause before each volume]' - '-x[exclude specified file]' - '-y[assume yes answer to all queries]' -) - -case $service in - unrar) - if (( CURRENT == 2 )); then - _values 'rar command' \ - 'e[extract files to current directory]' \ - 'l[list archive]' \ - 'lt[list archive (technical format)]' \ - 'lb[list archive (bare format)]' \ - 'p[print file to stdout]' \ - 't[test archive files]' \ - 'v[verbosely list archive]' \ - 'vt[verbosely list archive (technical format)]' \ - 'vb[verbosely list archive (bare format)]' \ - 'x[extract files with full path]' - else - _arguments -S \ - '-ep3[expand paths to full including the drive letter]' \ - '-idc[disable ___ display]' \ - '-idd[disable ___ display]' \ - '-idq[disable ___ display]' \ - '-n+:file to include:_files' \ - '-n@+:file of files to include:_files' \ - "$common[@]" \ - '*:RAR file:_files -g \*.rar\(-.\)' - fi - ;; - rar) - if (( CURRENT == 2 )); then - _values 'rar command' \ - 'a[add files to archive]' \ - 'c[add archive comment]' \ - 'cf[add files comment]' \ - 'cw[write archive comment to file]' \ - 'd[delete files from archive]' \ - 'e[extract files to current directory]' \ - 'f[freshen files in archive]' \ - 'i[find string in archives]' \ - 'k[lock archive]' \ - 'l[list archive]' \ - 'lt[list archive (technical format)]' \ - 'lb[list archive (bare format)]' \ - 'm[move to archive]' \ - 'mf[move to archive (files only)]' \ - 'p[print file to stdout]' \ - 'r[repair archive]' \ - 'rc[reconstruct missing volumes]' \ - 'rr[add data recovery record]' \ - 'rv[create recovery volumes]' \ - 's[convert archive to or from SFX]' \ - 't[test archive files]' \ - 'u[update files in archive]' \ - 'v[verbosely list archive]' \ - 'vt[verbosely list archive (technical format)]' \ - 'vb[verbosely list archive (bare format)]' \ - 'x[extract files with full path]' - else - _arguments -S \ - '-ag[generate archive name using the current date]' \ - '-as[synchronize archive contents]' \ - '-av[put authenticity verification (registered versions only)]' \ - '-df[delete files after archiving]' \ - '-ds[disable name sort for solid archive]' \ - '-e[set file exclude attributes]' \ - '-ed[do not add empty directories]' \ - '-en[do not put end of archive block]' \ - '-ep1[exclude base directory from names]' \ - '-ep2[expand paths to full]' \ - '-hp[encrypt both file data and headers]' \ - '-ilog[log errors to file (registered versions only)]' \ - '-isnd[enable sound]' \ - '-k[lock archive]' \ - '-m+[set compression level]:compression level:(( 0\:store 1\:fastest 2\:fast 3\:normal 4\:good 5\:maximal ))' \ - '-md+[dictionary size]:dictionary size (KB):( 64 128 256 512 1024 2048 4096 a b c d e f g )' \ - '-ms[specify file types to store]' \ - '-ol[save symbolic links as the link instead of the file]' \ - '-p[set password]' \ - '-r0[recurse subdirectories for wildcard names only]' \ - '-rr[add data recovery record]' \ - '-rv[create recovery volumes]' \ - '-s[create solid archive]' \ - '-se[create solid archive using extension]' \ - '-sv[create solid archive using volumes]' \ - '-s\-[disable solid archiving]' \ - '-sfx[create SFX archive]' \ - '-t[test files after archiving]' \ - '-tk[keep original archive time]' \ - '-tl[set archive time to latest file]' \ - '-vn[use the old style volume naming scheme]' \ - '-w+[assign work directory]:work directory:_files -/' \ - "$common[@]" \ - '-z+[read archive comment from file]:comment file:_files' \ - '*: :_files' - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcctl deleted file mode 100644 index 6cfebf42..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcctl +++ /dev/null @@ -1,51 +0,0 @@ -#compdef rcctl - -local context state line -local -a actions lsarg subcmds variables - -actions=(check reload restart start stop) -subcmds=(disable enable get getdef ls order set) -variables=(class flags status timeout user) -lsarg=( - 'all:all services and daemons' - 'failed:enabled but stopped daemons' - 'off:disabled services and daemons' - 'on:enabled services and daemons' - 'rogue:daemons which are disabled but currently running' - 'started:running daemons' - 'stopped:stopped daemons' -) - -if [[ $service == "rcctl" ]]; then - _arguments -C \ - '-d[print debug information]' \ - '-f[forcibly start the daemon]' \ - ':subcommand:('"$actions ${${${+words[(r)-[df]]}#1}/0/$subcmds}"\) \ - '*:: :->subcmd' && return - service="$words[1]" -fi - -case $service in - get|getdef) - _arguments \ - ':service:_services' \ - ':variable:compadd -a variables' - ;; - ls) - _arguments ':display a list of services and daemons matching:(($lsarg))' - ;; - order) - _arguments \ - ':service to start first:_services' \ - '*:service to start next:_services' - ;; - set) - _arguments \ - ':service:_services' \ - ':variable:compadd -a variables' \ - '*:argument:' - ;; - ${(~j:|:)actions}|disable|enable) - _arguments "*:service to $words[2]:_services" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rclone b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rclone deleted file mode 100644 index a2e3429f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rclone +++ /dev/null @@ -1,346 +0,0 @@ -#compdef rclone - -local curcontext="$curcontext" ret=1 -local -A opt_args -local -a state line commands remotes - -commands=( - "about\:'get quota information from the remote'" - "authorize\:'remote authorization'" - "cachestats\:'print cache stats for a remote'" - "cat\:'concatenate any files and send them to stdout'" - "check\:'check files on the source and destination match'" - "cleanup\:'clean up the remote if possible'" - "config\:'enter an interactive configuration session'" - "copy\:'copy files from source to dest, skipping already copied'" - "copyto\:'copy files from source to dest, skipping already copied'" - "copyurl\:'copy url content to dest'" - "cryptcheck\:'check the integrity of a crypted remote'" - "cryptdecode\:'return unencrypted file names'" - "dbhashsum\:'produce a Dropbox hash file for all the objects in the path'" - "dedupe\:'interactively find duplicate files and delete/rename them'" - "delete\:'remove the contents of path'" - "deletefile\:'remove a single file from remote'" - "genautocomplete\:'output completion script for a given shell'" - "gendocs\:'output markdown docs for rclone to the directory supplied'" - "hashsum\:'produce an hashsum file for all the objects in the path'" - "help\:'show help for rclone commands, flags and backends'" - "link\:'generate public link to file/folder'" - "listremotes\:'list all the remotes in the config file'" - "ls\:'list the objects in the path with size and path'" - "lsd\:'list all directories/containers/buckets in the path'" - "lsf\:'list directories and objects on remote:path formatted for parsing'" - "lsjson\:'list directories and objects in the path in JSON format'" - "lsl\:'list the objects in path with modification time, size and path'" - "md5sum\:'produce an md5sum file for all the objects in the path'" - "mkdir\:'make the path if it does not already exist'" - "mount\:'mount the remote as file system on a mountpoint'" - "move\:'move files from source to dest'" - "moveto\:'move file or directory from source to dest'" - "ncdu\:'explore a remote with a text based user interface'" - "obscure\:'obscure password for use in the rclone.conf'" - "purge\:'remove the path and all of its contents'" - "rc\:'run a command against a running rclone'" - "rcat\:'copy standard input to file on remote'" - "rcd\:'run rclone listening to remote control commands only'" - "rmdir\:'remove the path if empty'" - "rmdirs\:'remove empty directories under the path'" - "serve\:'serve a remote over a protocol'" - "settier\:'change storage class/tier of objects on remote'" - "sha1sum\:'produce an sha1sum file for all the objects in the path'" - "size\:'print the total size and number of objects on remote:path'" - "sync\:'make source and dest identical, modifying destination only'" - "touch\:'create new file or change file modification time'" - "tree\:'list the contents of the remote in a tree like fashion'" - "version\:'show the version number'" -) - -_arguments -C \ - ":command:(($commands))" \ - '--ask-password[prompt for password for encrypted configuration]' \ - "--auto-confirm[don't request console confirmation]" \ - '--backup-dir[make backups into hierarchy based at specified directory]:directory:_directories' \ - '--bind[specify socal address to bind to for outgoing connections]:IPv4, IPv6 or name' \ - '--buffer-size[specify in memory buffer size when reading files for each --transfer]:size [16M]' \ - '--bwlimit[specify bandwidth limit]: :_numbers -u kBytes/s limit b k M G' \ - '--cache-dir[specify directory rclone will use for caching]:directory [~/.cache/rclone]:_directories' \ - '--checkers[specify number of checkers to run in parallel]:number [8]': \ - '(-c --checksum)'{-c,--checksum}'[skip based on checksum & size, not mod-time & size]' \ - '--config[specify config file]:file [~/.config/rclone/rclone.conf]:_files' \ - '--contimeout[specify connect timeout]:duration [1m0s]' \ - '--cpuprofile[write cpu profile to specified file]:file:_files' \ - '(--delete-before --delete-during)--delete-after[when synchronizing, delete files on destination after transferring (default)]' \ - '(--delete-after --delete-during)--delete-before[when synchronizing, delete files on destination before transferring]' \ - '(--delete-before --delete-after)--delete-during[when synchronizing, delete files during transfer]' \ - '--delete-excluded[delete files on dest excluded from sync]' \ - '--disable[disable a comma separated list of features]:feature' \ - '(-n --dry-run)'{-n,--dry-run}'[do a trial run with no permanent changes]' \ - '--dump[list of items to dump from]:string:_sequence compadd - headers bodies requests responses auth filters goroutines openfiles' \ - '--dump-bodies[dump HTTP headers and bodies - may contain sensitive info]' \ - '--dump-headers[dump HTTP headers - may contain sensitive info]' \ - '--exclude[exclude files matching pattern]:stringArray' \ - '--exclude-from[read exclude patterns from file]:file:_files' \ - '--exclude-if-present[exclude directories if filename is present]:string' \ - '--fast-list[use recursive list if available]' \ - '--files-from[read list of source-file names from file]:file:_files' \ - {-f,--filter}'[add a file-filtering rule]:stringArray' \ - '--filter-from[read filtering patterns from a file]:file:_files' \ - '--ignore-case[ignore case in filters (case insensitive)]' \ - '--ignore-case-sync[ignore case when synchronizing]' \ - '--ignore-checksum[skip post copy check of checksums]' \ - '--ignore-errors[delete even if there are I/O errors]' \ - '--ignore-existing[skip all files that exist on destination]' \ - '--ignore-size[ignore size when skipping use mod-time or checksum]' \ - '(-I --ignore-times)'{-I,--ignore-times}"[don't skip files that match on size and time - transfer all files]" \ - "--immutable[don't modify files, fail if existing files have been modified]" \ - '--include[include files matching pattern]:stringArray' \ - '--include-from[read include patterns from file]:file:_files' \ - '--log-file[log everything to this file]:file:_files' \ - '--log-format[specify comma separated list of log format options]:string ["date,time"]' \ - '--log-level[specify log level]:string [NOTICE]:(DEBUG INFO NOTICE ERROR)' \ - '--low-level-retries[number of low level retries to do]:int [10]' \ - '--max-age[only transfer files younger than specified age]: :_numbers -u seconds age ms\:milliseconds \:s\:seconds m\:minutes h\:hours d\:days w\:weeks M\:months y\:years' \ - '--max-backlog[maximum number of objects in sync or check backlog]:int [10000]' \ - '--max-delete[when synchronizing, limit the number of deletes]:delete limit [-1]' \ - '--max-depth[limit the recursion depth]:depth [-1]' \ - '--max-size[only transfer files smaller than specified size]: :_numbers -u kBytes size \:k M G' \ - '--max-transfer[maximum size of data to transfer]:int [default off]' \ - '--memprofile[write memory profile to file]:file:_files' \ - '--min-age[only transfer files older than specified age]: :_numbers -u seconds age ms\:milliseconds \:s\:seconds m\:minutes h\:hours d\:days w\:weeks M\:months y\:years' \ - '--min-size[only transfer files bigger than specified size]: :_numbers -u kBytes size \:k M G' \ - '--modify-window[specify max time delta to be considered the same]:duration [1ns]' \ - '--multi-thread-cutoff[use multi-threaded downloads for files above specified size]:size (250M)' \ - '--multi-thread-streams[specify max number of streams to use for multi-threaded downloads]:number (4)' \ - "--no-check-certificate[don't verify the server SSL certificate (insecure)]" \ - "--no-gzip-encoding[don't set Accept-Encoding: gzip]" \ - '!--no-traverse' \ - "--no-update-modtime[don't update destination mod-time if files are identical]" \ - '(-P --progress)'{-P,--progress}'[show progress during transfer]' \ - {-q,--quiet}'[print as little as possible]' \ - '--rc[enable the remote control server]' \ - '--rc-addr[IPaddress\:port or \:port to bind server to]:string [localhost\:5572]' \ - '--rc-cert[SSL PEM key (concatenation of certificate and CA certificate)]:string' \ - '--rc-client-ca[client certificate authority to verify clients with]:string' \ - '--rc-files[path to local files to serve on the HTTP server]:directory:_path_files -/' \ - '--rc-htpasswd[htpasswd file - if not provided no authentication is done]:file:_files' \ - '--rc-job-expire-duration[expire finished async jobs older than specified duration]:duration (1m0s)' \ - '--rc-job-expire-interval[specify interval to check for expired async jobs]:interval (10s)' \ - '--rc-key[SSL PEM Private key]:string' \ - '--rc-max-header-bytes[maximum size of request header]:int [4096]' \ - "--rc-no-auth[don't require auth for certain methods]" \ - '--rc-pass[password for authentication]:string' \ - '--rc-realm[realm for authentication]:string [rclone]' \ - '--rc-serve[enable the serving of remote objects]' \ - '--rc-server-read-timeout[timeout for server reading data]:duration [1h0m0s]' \ - '--rc-server-write-timeout[timeout for server writing data]:duration [1h0m0s]' \ - '--rc-user[user name for authentication]:string' \ - '--retries[retry operations this many times if they fail]:int [3]' \ - '--retries-sleep[interval between retrying operations if they fail, e.g 500ms, 60s, 5m. (0 to disable)]:interval' \ - '--size-only[skip based on size only, not mod-time or checksum]' \ - '--stats[interval between printing stats, e.g 500ms, 60s, 5m. (0 to disable)]:duration [1m0s]' \ - '--stats-file-name-length[max file name length in stats. 0 for no limit]:int [40]' \ - '--stats-log-level[log level to show --stats output]:string [INFO]:(DEBUG INFO NOTICE ERROR)' \ - '--stats-one-line[make the stats fit on one line]' \ - '--stats-one-line-date[enable --stats-one-line and add current date/time prefix]' \ - '--stats-one-line-date-format[enable --stats-one-line-date and use custom formatted date]:date format' \ - '--stats-unit[specify units for data rate in stats]:unit [bytes]:(bits bytes)' \ - '--streaming-upload-cutoff[specify size cutoff for switching to chunked upload]:size [100k]' \ - '--suffix[specify suffix for use with --backup-dir]:string' \ - '--syslog[use syslog for logging]' \ - '--syslog-facility[facility for syslog, eg KERN,USER,...]:string [DAEMON]' \ - '--timeout[specify IO idle timeout]:duration [5m0s]' \ - '--tpslimit[limit HTTP transactions per second to this]:float' \ - '--tpslimit-burst[max burst of transactions for --tpslimit]:int [1]' \ - '--track-renames[when synchronizing, track file renames and do a server side move if possible]' \ - '--transfers[number of file transfers to run in parallel]:int [4]' \ - {-u,--update}'[skip files that are newer on the destination]' \ - '--use-server-modtime[use server modified time instead of object metadata]' \ - '--user-agent[set the user-agent to the specified string]:user-agent [rclone/version]' \ - \*{-v,--verbose}'[print lots more stuff]:count' \ - '--acd-auth-url[auth server URL]:string' \ - '--acd-client-id[Amazon Application Client ID]:string' \ - '--acd-client-secret[Amazon Application Client Secret]:string' \ - '--acd-templink-threshold[files >= this size will be downloaded via their tempLink]:size [9G]' \ - '--acd-token-url[token server url]:string' \ - '--acd-upload-wait-per-gb[additional time per GB to wait after a failed complete upload to see if it appears]:Duration [3m0s]' \ - '--alias-remote[remote or path to alias]:string' \ - '--azureblob-access-tier[access tier of blob: hot, cool or archive]:string' \ - '--azureblob-account[specify storage account name]:string' \ - '--azureblob-chunk-size[upload chunk size (<= 100MB)]:size [4M]' \ - '--azureblob-endpoint[endpoint for the service]:string' \ - '--azureblob-key[storage account key (leave blank to use connection string or SAS URL)]:string' \ - '--azureblob-list-chunk[size of blob list]:int [5000]' \ - '--azureblob-sas-url[SAS URL for container level access only]:string' \ - '--azureblob-upload-cutoff[cutoff for switching to chunked upload (<= 256MB)]:size [256M]' \ - '--b2-account[account ID or application key ID]:string' \ - '--b2-chunk-size[specify upload chunk size]:size [96M]' \ - '--b2-endpoint[endpoint for the service]:string' \ - '--b2-hard-delete[permanently delete files on remote removal, otherwise hide files]' \ - '--b2-key[application key]:string' \ - '--b2-test-mode[a flag string for X-Bz-Test-Mode header for debugging]:string' \ - '--b2-upload-cutoff[cutoff for switching to chunked upload]:size [200M]' \ - '--b2-versions[include old versions in directory listings]' \ - '--box-client-id[specify Box app client Id]:client ID' \ - '--box-client-secret[specify Box app client secret]:secret' \ - '--box-commit-retries[max number of times to try committing a multipart file]:int [100]' \ - '--box-upload-cutoff[cutoff for switching to multipart upload (>= 50MB)]:size [50M]' \ - '--cache-chunk-clean-interval[how often should the cache perform cleanups of the chunk storage]:Duration [1m0s]' \ - '--cache-chunk-no-memory[disable the in-memory cache for storing chunks during streaming]' \ - '--cache-chunk-path[directory to cache chunk files]:directory [~/.cache/rclone/cache-backend]:_path_files -/' \ - '--cache-chunk-size[the size of a chunk (partial file data)]:size [5M]' \ - '--cache-chunk-total-size[the total size that the chunks can take up on the local disk]:size [10G]' \ - '--cache-db-path[directory to store file structure metadata DB]:directory [~/.cache/rclone/cache-backend]:_path_files -/' \ - '--cache-db-purge[clear all the cached data for this remote on start]' \ - '--cache-db-wait-time[how long to wait for the DB to be available - 0 is unlimited]:Duration [1s]' \ - '--cache-info-age[how long to cache file structure information (directory listings, file size, times etc)]:duration [6h0m0s]' \ - '--cache-plex-insecure[skip all certificate verifications when connecting to the Plex server]:string' \ - '--cache-plex-password[the password of the Plex user]:string' \ - '--cache-plex-url[the URL of the Plex server]:string' \ - '--cache-plex-username[the username of the Plex user]:string' \ - '--cache-read-retries[how many times to retry a read from a cache storage]:int [10]' \ - '--cache-remote[remote to cache]:string' \ - '--cache-rps[limits the number of requests per second to the source FS (-1 to disable)]:int [-1]' \ - '--cache-tmp-upload-path[directory to keep temporary files until they are uploaded]:directory:_path_files -/' \ - '--cache-tmp-wait-time[how long should files be stored in local cache before being uploaded]:Duration [15s]' \ - '--cache-workers[how many workers should run in parallel to download chunks]:int [4]' \ - '--cache-writes[cache file data on writes through the FS]' \ - {-L,--copy-links}'[follow symlinks and copy the pointed to item]' \ - '--crypt-directory-name-encryption[option to either encrypt directory names or leave them intact. (default true)]' \ - '--crypt-filename-encryption[specify how to encrypt the filenames]:string [standard]' \ - '--crypt-password[specify password or pass phrase for encryption]:string' \ - '--crypt-password2[specify password or pass phrase for salt]:string' \ - '--crypt-remote[remote to encrypt/decrypt]:string' \ - '--crypt-show-mapping[for all files listed show how the names encrypt]' \ - '--drive-acknowledge-abuse[set to allow files which return cannotDownloadAbusiveFile to be downloaded]' \ - '--drive-allow-import-name-change[allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx)]' \ - '--drive-alternate-export[use alternate export URLs for google documents export.,]' \ - '--drive-auth-owner-only[only consider files owned by the authenticated user]' \ - '--drive-chunk-size[upload chunk size]:size [8M]' \ - '--drive-client-id[Google application client ID]:client ID' \ - '--drive-client-secret[Google application client secret]:secret' \ - '--drive-export-formats[list of preferred formats for downloading Google docs]:comma-separated format list [docx,xlsx,pptx,svg]' \ - '!--drive-formats:string' \ - '--drive-impersonate[impersonate specified user when using a service account]:user' \ - '--drive-import-formats[specify preferred formats for uploading Google docs]:formats' \ - '--drive-keep-revision-forever[keep new head revision of each file forever]' \ - '--drive-list-chunk[size of listing chunk 100-1000. 0 to disable]:int [1000]' \ - '--drive-root-folder-id[specify ID of the root folder]:string' \ - '--drive-scope[scope that rclone should use when requesting access from drive]:scope' \ - '--drive-server-side-across-configs[allow server side operations (eg copy) to work across different drive configs]' \ - '--drive-service-account-credentials[specify service account credentials JSON blob]:string' \ - '--drive-service-account-file[specify service account credentials JSON file path]:file:_files' \ - '--drive-shared-with-me[only show files that are shared with me]' \ - '--drive-size-as-quota[show storage quota usage for file size]' \ - '--drive-skip-gdocs[skip google documents in all listings]' \ - '--drive-team-drive[specify ID of the team drive]:ID' \ - '--drive-trashed-only[only show files that are in the trash]' \ - '--drive-upload-cutoff[cutoff for switching to chunked upload]:size [8M]' \ - '--drive-use-created-date[use file created date instead of modified date.,]' \ - '--drive-use-trash[send files to the trash instead of deleting permanently. (default true)]' \ - "--drive-v2-download-min-size[if object's are larger, use drive v2 API to download]:size [off]" \ - '--dropbox-chunk-size[specify upload chunk size]:size [48M]' \ - '--dropbox-client-id[specify Dropbox app client ID]:client ID' \ - '--dropbox-client-secret[specify Dropbox app client secret]:secret' \ - '--dropbox-impersonate[impersonate specified user]:user' \ - '--ftp-host[specify FTP host to connect to]:host:_hosts' \ - "--ftp-no-check-certificate[don't verify the TLS certificate of the server]" \ - '--ftp-pass[specify FTP password]:password' \ - '--ftp-port[specify FTP port]:port [21]:_ports' \ - '--ftp-tls[use FTP over TLS (implicit)]' \ - '--ftp-user[specify FTP username]::username' \ - '--gcs-bucket-acl[access control list for new buckets]:string' \ - '--gcs-client-id[Google application client id]:client id' \ - '--gcs-client-secret[Google application client secret]:secret' \ - '--gcs-location[specify location for the newly created buckets]:string' \ - '--gcs-object-acl[specify access control list for new objects]:string' \ - '--gcs-project-number[project number]:string' \ - '--gcs-service-account-file[service account credentials JSON file path]:file:_files' \ - '--gcs-storage-class[specify storage class to use when storing objects in Google cloud storage]:string' \ - '--http-url[URL of http host to connect to]:string' \ - '--hubic-chunk-size[above this size files will be chunked into a _segments container]:size [5G]' \ - '--hubic-client-id[Hubic client ID]:client ID' \ - '--hubic-client-secret[Hubic client secret]:secret' \ - '--jottacloud-hard-delete[delete files permanently rather than putting them into the trash]' \ - '--jottacloud-md5-memory-limit[files bigger than this will be cached on disk to calculate the MD5 if required]:size [10M]' \ - '--jottacloud-pass[password]:string' \ - '--jottacloud-unlink[remove existing public link to file/folder with link command rather than creating]' \ - '--jottacloud-user[user name]:string' \ - "--local-no-check-updated[don't check to see if the files change during upload]" \ - "--local-no-unicode-normalization[don't apply unicode normalization to paths and filenames (Deprecated)]" \ - '--local-nounc[disable UNC (long path names) conversion on windows]:string' \ - '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries (unix/macOS only)]" \ - '--onedrive-chunk-size[chunk size to upload files with - must be multiple of 320k]:size [10M]' \ - '--onedrive-client-id[specify Microsoft app client ID]:client ID' \ - '--onedrive-client-secret[specify Microsoft app client secret]:secret' \ - '--onedrive-drive-id[specify the ID of the drive to use]:string' \ - '--onedrive-drive-type[the type of the drive]:string:(personal business documentLibrary)' \ - '--onedrive-expose-onenote-files[set to make OneNote files show up in directory listings]' \ - '--opendrive-password[specify password]:string' \ - '--opendrive-username[specify username]:string' \ - '--pcloud-client-id[specify Pcloud app client ID]:client ID' \ - '--pcloud-client-secret[specify Pcloud app client secret]:secret' \ - '--s3-access-key-id[specify AWS access key ID]:string' \ - '--s3-acl[canned ACL used when creating buckets and storing or copying objects]:string' \ - '--s3-chunk-size[chunk size to use for uploading]:size [5M]' \ - "--s3-disable-checksum[don't store MD5 checksum with object metadata]" \ - '--s3-endpoint[endpoint for S3 API]:string' \ - '--s3-env-auth[get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars)]' \ - '--s3-force-path-style[if true use path style access if false use virtual hosted style. (default true)]' \ - '--s3-location-constraint[location constraint - must be set to match the region]:string' \ - '--s3-provider[choose your S3 provider]:string' \ - '--s3-region[region to connect to]:string' \ - '--s3-secret-access-key[AWS Secret access key (password)]:string' \ - '--s3-server-side-encryption[the server-side encryption algorithm used when storing this object in S3]:string' \ - '--s3-session-token[an AWS session token]:string' \ - '--s3-sse-kms-key-id[if using KMS ID you must provide the ARN of key]:string' \ - '--s3-storage-class[the storage class to use when storing new objects in S3]:string' \ - '--s3-upload-concurrency[concurrency for multipart uploads]:int [2]' \ - '--s3-v2-auth[if true use v2 authentication]' \ - '--s3-use-accelerate-endpoint[use the AWS S3 accelerated endpoint]' \ - '--sftp-ask-password[allow asking for SFTP password when needed]' \ - '--sftp-disable-hashcheck[disable the execution of SSH commands to determine if remote file hashing is available]' \ - '--sftp-host[SSH host to connect to]:string' \ - '--sftp-key-file[path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent]:string' \ - '--sftp-pass[SSH password, leave blank to use ssh-agent]:string' \ - '--sftp-path-override[override path used by SSH connection]:string' \ - '--sftp-port[SSH port, leave blank to use default]:string [22]' \ - '--sftp-set-modtime[set the modified time on the remote if set. (default true)]' \ - '--sftp-use-insecure-cipher[enable the use of the aes128-cbc cipher]' \ - '--sftp-user[SSH username, leave blank for current username]:string' \ - "--skip-links[don't warn about skipped symlinks]" \ - '--swift-auth[authentication URL for server (OS_AUTH_URL)]:string' \ - '--swift-auth-token[aUTH token from alternate authentication - optional (OS_AUTH_TOKEN)]:string' \ - '--swift-auth-version[AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)]:int' \ - '--swift-chunk-size[above this size files will be chunked into a _segments container]:size [5G]' \ - '--swift-domain[user domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)]:string' \ - '--swift-endpoint-type[endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)]:string [public]' \ - '--swift-env-auth[get swift credentials from environment variables in standard OpenStack form]' \ - '--swift-key[API key or password (OS_PASSWORD)]:string' \ - '--swift-region[region name - optional (OS_REGION_NAME)]:string' \ - '--swift-storage-policy[the storage policy to use when creating a new container]:string' \ - '--swift-storage-url[storage URL - optional (OS_STORAGE_URL)]:string' \ - '--swift-tenant[tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)]:string' \ - '--swift-tenant-domain[tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)]:string' \ - '--swift-tenant-id[tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)]:string' \ - '--swift-user[user name to log in (OS_USERNAME)]:string' \ - '--swift-user-id[user ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID)]:string' \ - '--union-remotes[list of space separated remotes]:string' \ - '--webdav-bearer-token[bearer token instead of user/pass (eg a Macaroon)]:string' \ - '--webdav-pass[password]:string' \ - '--webdav-url[URL of http host to connect to]:string' \ - '--webdav-user[user name]:string' \ - '--webdav-vendor[name of the Webdav site/service/software you are using]:string' \ - '--yandex-client-id[Yandex client ID]:client ID' \ - '--yandex-client-secret[Yandex client secret]:secret' \ - '--yandex-unlink[remove existing public link to file/folder with link command rather than creating]' \ - "*: :->files_or_remotes" \ - && ret=0 - -if [[ $state == 'files_or_remotes' ]]; then - remotes=( $(_call_program rclone-remotes rclone listremotes) ) - _alternative \ - "rclone-remotes:remote:compadd -a remotes" \ - "files:file:_files" && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcs deleted file mode 100644 index da9cfd3b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rcs +++ /dev/null @@ -1,26 +0,0 @@ -#compdef co ci rcs rcsdiff merge - -local ret=1 - -if [[ $service = merge ]]; then - _arguments \ - '-E[output unmerged changes, bracketing conflicts]' \ - '-A[output conflicts using the -A style of diff3]' \ - '-e[output unmerged changes]' \ - '*-L[specify labels for corresponding files]' \ - '-p[send results to standard output]' \ - '-q[do not warn about conflicts (quiet)]' \ - '-V[display version information]' \ - '1:file:_files' \ - '2:original file:_files' \ - '3:modified file:_files' && ret=0 -elif [[ -d RCS && $service != ci ]]; then - local rep expl - - rep=(RCS/*,v(D:t:s/\,v//)) - (( $#rep )) && _wanted files expl 'RCS file' compadd -a rep && ret=0 -fi - -[[ $service = ci || $service = rcs || ret -eq 1 ]] && _files && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rdesktop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rdesktop deleted file mode 100644 index 55a6ea7b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rdesktop +++ /dev/null @@ -1,114 +0,0 @@ -#compdef rdesktop xfreerdp - -local curcontext="$curcontext" state line expl args redir ret=1 -typeset -A opt_args - -case $service in - rdesktop) - args=( - '(-5)-4[use RDP version 4]' - '(-4)-5[use RDP version 5]' - '-b[force server to use bitmaps for screen updates]' - '-B[use X server backing store]' - '-E[disable encryption]' - "-m[don't send mouse motion events]" - '-C[use private colormap]' - '-S[single application mode]' - '-N[enable numlock synchronisation]' - '-P[enable bitmap caching]' - '*-r[device redirection]: :->redirection' - ) - ;; - xfreerdp) - args=( - '(-)'{-h,--help}'[display help information]' - "-o[don't redirect audio to client]" - '-s[set startup-shell]:shell' - '-t[connect to specified port]:port:_ports' - '--app[RemoteApp connection]' - '--ext[load an extension]:extension' - '--no-auth[disable authentication]' - '--authonly[authentication only, no UI]' - '--from-stdin[prompt for username, password, domain and hostname]' - '--no-fastpath[disable fast-path]' - '--gdi[graphics rendering]:backend:(hw sw)' - "--no-motion[don't send mouse motion events]" - '--no-osb[disable offscreen bitmaps]' - '--no-bmp-cache[disable bitmap cache]' - '--plugin[load a virtual channel plugin]:(cliprdr drdynvc rdpsnd rail rdpdbg rdpdr)' - '--rfx[enable RemoteFX]' - '--rfx-mode[RemoteFX operational flags]:mode:((v\:video i\:image))' - '--nsc[enable NSCodec]' - '--disable-wallpaper' - '--composition[enable desktop composition]' - '--disable-full-window-drag' - '--disable-menu-animations' - '--disable-theming' - '--kbd-list[list all keyboard layout ids used by -k]' - '--no-rdp[disable Standard RDP encryption]' - '--no-tls[disable TLS encryption]' - '--no-nla[disable network level authentication]' - '--ntlm[force NTLM authentication protocol version]:version:(1 2)' - '--certificate-name[specify logon certificate]:certificate' - '--ignore-certificate[ignore verification of logon certificate]' - '--sec[force protocol security]:security:(rdp tls nla)' - '--secure-checksum[use salted checksums with Standard RDP encryption]' - '--version[print version information]' - ) - ;; -esac - -_arguments -C -s $args \ - '-u[username]:username:_users' \ - '-d[domain]:domain' \ - '-s[shell]:startup shell' \ - '-c[working directory]:directory:_directories' \ - '-p[password]:password' \ - '-n[set reported client hostname]:client hostname:_hosts' \ - '-k[keyboard map]:keyboard map' \ - '(-f)-g[geometry]:geometry (WxH)' \ - '(-g)-f[fullscreen mode]' \ - '-D[hide window decorations]' \ - '-K[do not override window manager key bindings]' \ - '-T[set window title]:title' \ - '-X[embed in another window]:window:_x_window' \ - '-a[colour depth]:depth:(8 15 16 24 32)' \ - '-z[enable compression]' \ - '-x[bandwidth performance behaviour]:experience:((b\:broadband l\:lan m\:modem))' \ - '-0[attach to server console]' \ - ':server:->hostsport' && ret=0 - -case $state in - hostsport) - if compset -P '*:'; then - _ports && ret=0 - else - compset -S ':*' - _hosts && ret=0 - fi - ;; - redirection) - redir="${PREFIX%%:*}" - if compset -P 1 '*='; then - curcontext="${curcontext%:*}:$redir" - case $redir in - comport|lptport) _wanted devices expl device _files -g '*(-%)' && ret=0 ;; - disk) _directories && ret=0 ;; - printer) _printers && ret=0 ;; - scard) _message -e aliases 'alias name' ;; - esac - else - compset -S '=*' - _values -S : 'redirection' \ - 'comport:port' \ - 'disk:sharename' \ - 'lptport:lptport' \ - 'printer:printername:_printers -S=' \ - 'sound:sound:(local off remote)' \ - 'lspci' \ - 'scard:sound card name' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read deleted file mode 100644 index 1f733b0e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read +++ /dev/null @@ -1,21 +0,0 @@ -#compdef read - -local pflag - -# -p flag only relevant if we have a coprocess -(:>&p) 2>/dev/null && - pflag='(-q -s -u -z)-p[input is read from the coprocess]' - -_arguments -s -A "-*" -S \ - '-r[raw mode]' \ - '(-p -k -s -u -z)-q[read y or n character from terminal]' \ - '(-q)-k+[specify number of characters to read]:: :_guard "[0-9]#" "number of characters"' \ - '(-q -z)-t+[test if input is available before reading]:: :_guard "[0-9.]#" "timeout (seconds)"' \ - '(-q)-d[specify delimiter to terminate input instead of newline]:delimiter' \ - '(-q -s -u -p -t)-z[read entry from editor buffer stack]' \ - '(-E)-e[input read is echoed and not assigned]' \ - '(-e)-E[input read is echoed]' \ - '(-q -z -p)-s[suppress terminal echoing]' \ - '-A[first name is taken as an array]' \ - '(-q -z -p)-u+[specify file descriptor to read from]:file descriptor:_file_descriptors' \ - $pflag '1:varprompt:_vars -qS\?' '*:vars:_vars' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read_comp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read_comp deleted file mode 100644 index 3dd7f9ad..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_read_comp +++ /dev/null @@ -1,152 +0,0 @@ -#compdef -k complete-word \C-x\C-r - -# This allows an on-the-fly choice of completions. On typing the key -# sequence given above, you will be prompted for a string of arguments. If -# this string begins with `_', it will be taken as the name of a function to -# evaluate to generate the completions; unambiguous strings in the function -# name are automatically completed. -# -# Else it is taken to be a set of arguments for compadd to generate a list -# of choices. The possibilities are the same as the flags for generating -# completions given in the zshcompwid manual page. Note the arguments are -# verbatim: include minus signs, spaces, quotes, etc. -# -# On subsequent calls, the same completion will be re-performed. To -# force a new type of completion to be read, supply a numeric argument. -# -# For example, -# % bindkey | grep rever<C-xC-r> -# Completion: -b<RET> -# % bindkey | grep reverse-menu-complete _ -# -# Global variables used: -# _read_comp Last completion string read from user - -# emulate -L zsh -setopt localoptions extendedglob nobadpattern unset # xtrace promptsubst -# local PS4='%N:%i:$((#key))> ' - -typeset -g _read_comp -if [[ ${+NUMERIC} = 0 && -n $_read_comp ]]; then - if [[ $_read_comp = _* ]]; then - eval $_read_comp - else - eval "compadd $_read_comp" - fi - return -fi - -_read_comp= - -local key search str str2 newch funcs funcs2 exact msg list -integer pos - -msg="Completion: " - -zle -R $msg - -if ! read -k key; then - zle -cR '' - return 1 -fi - -while [[ '#key' -ne 10 && '#key' -ne 13 ]]; do - if [[ '#key' -eq 0 && '#key' -eq 3 || '#key' -eq 7 ]]; then - zle -cR '' - return 1 - fi - if [[ ( '#key' -eq 8 || '#key' -eq 127 ) && -n $str ]]; then - # delete character - str="$str[1,-2]" - exact= - list=() - elif [[ '#key' -eq 21 ]]; then - # ^U: delete line - str= - exact= - list=() - elif [[ '#key' -eq 4 && $str = _[^\ ]# && $str != *' '* ]]; then - # ^D: list completions - list=(${$(whence -m "$str*" 2>/dev/null)%: function}) - elif [[ ( -n $exact && $key != ' ' ) || '#key & 127' -lt 32 ]]; then - # If we've got an exact function, only allow a space after it. - # Don't try to insert non-printing characters. - if [[ -n $ZBEEP ]]; then - print -nb $ZBEEP - elif [[ -o beep ]]; then - print -n "\a" - fi - list=() - else - str="$str$key" - if [[ $str = _[^\ ]# ]]; then - # Rudimentary completion for function names. - # Allow arguments, i.e. don't do this after we've got a space. - funcs=(${$(whence -m "$str*" 2>/dev/null)%: function}) - if [[ -o autolist && $#str -gt 1 ]]; then - list=($funcs) - else - list=() - fi - if (( $#funcs == 1 )); then - # Exact match; prompt the user for a newline to confirm - str=$funcs[1] - exact=" (Confirm)" - elif (( $#funcs == 0 )); then - # We can't call zle beep, because this isn't a zle widget. - if [[ -n $ZBEEP ]]; then - print -nb $ZBEEP - elif [[ -o beep ]]; then - print -n "\a" - fi - str="$str[1,-2]" - list=() - else - # Add characters to the string until a name doesn't - # match any more, then backtrack one character to get - # the longest unambiguous match. - str2=$str - pos=$#str2 - while true; do - (( pos++ )) - newch=${funcs[1][pos]} - [[ -z $newch ]] && break - str2=$str2$newch - funcs2=(${funcs##$str2*}) - (( $#funcs2 )) && break - str=$str2 - done - fi - else - exact= - fi - fi - if (( $#list )); then - zle -R "$msg$str$exact" $list - else - zle -cR "$msg$str$exact" - fi - if ! read -k key; then - zle -cR '' - return 1 - fi -done - -if [[ -z $str ]]; then - # string must be non-zero - return 1 -elif [[ $str = _* ]] && ! whence ${str%% *} >& /dev/null; then - # a function must be known to the shell - return 1 -else - # remember the string for re-use - _read_comp=$str -fi - -zle -cR '' - -if [[ $str = _* ]]; then - eval $str -else - eval "compadd $str" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readelf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readelf deleted file mode 100644 index fc0fb7ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readelf +++ /dev/null @@ -1,83 +0,0 @@ -#compdef readelf eu-readelf - -local variant args sections - -sections=( .bss .data .dynamic .dynsym .got .interp .shstrtab .symtab .text ) -_pick_variant -r variant elftoolchain=elftoolchain elfutils=elfutils binutils --version - -args=( - '(-a --all)'{-a,--all}'[show all tables]' - '(-g --section-groups)'{-g,--section-groups}'[show section groups]' - '(-h --file-header)'{-h,--file-header}'[show file header]' - '(-l --program-headers --segments)'{-l,--program-headers,--segments}'[show program headers]' - '(-S --section-headers --sections)'{-S,--section-headers,--sections}'[show sections header]' - '(-r --relocs)'{-r,--relocs}'[show relocations (if present)]' - '(-d --dynamic)'{-d,--dynamic}'[show dynamic section (if present)]' - '(-V --version-info)'{-V,--version-info}'[show version sections (if present)]' - '(-A --arch-specific)'{-A,--arch-specific}'[show architecture specific information (if any)]' - '(-c --archive-index)'{-c,--archive-index}'[show symbol/file index in an archive]' - \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)" - \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)" - '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o O R t U u T g A c k K)' - '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links)' - '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]' - '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]' - '(- *)'{-H,--help}'[display help information]' - '(- *)'{-v,--version}'[display version information]' - "*:elf file:_object_files" -) - -case $variant in - elftoolchain|binutils) - args+=( - '(-t --section-details)'{-t,--section-details}'[show section details]' - '(-e --headers)'{-e,--headers}'[show file, program and sections headers]' - '(-s --syms --symbols)'{-s,--syms,--symbols}'[show symbol table]' - '(-n --notes)'{-n,--notes}'[show core notes (if present)]' - '(-u --unwind)'{-u,--unwind}'[show unwind info (if present)]' - '(-D --use-dynamic)'{-D,--use-dynamic}'[use dynamic section info when showing symbols]' - ) - ;| - elfutils|binutils) - args+=( - '--dyn-syms[show dynamic symbol table]' - ) - ;| - elfutils|elftoolchain) - args+=( - '(-z --decompress)'{-z,--decompress}'[show compression information; decompress before dumping data]' - ) - ;| - binutils) - args+=( - '!(-C --demangle)--no-demangle' - '(--demangle)-C[decode symbol names]' - '(-C)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat)' - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-L --lint --enable-checks)'{-L,--lint,--enable-checks}'[display warning messages for possible problems]' - \*{-R,--relocated-dump=}"[dump contents of specified section as relocated bytes]:section:($sections)" - "--dwarf-depth=[don't show DIEs at greater than specified depth]:depth" - '--dwarf-start=[show DIEs starting at specified depth or deeper]:depth' - '--ctf=[display compact C type format info from section]:section' - '--ctf-parent=[use specified section as the CTF parent]:section' - '--ctf-symbols=[use specified section as the CTF external symbol table]:section' - '--ctf-strings=[use specified section as the CTF external string table]:section' - '(-T --silent-truncation)'{-T,--silent-truncation}"[if a symbol name is truncated, don't add ... suffix]" - ) - ;; - elfutils) - args+=( - '--dwarf-skeleton=[find skeleton compile units (with -w)]:file:_files' - '--elf-section[used specified section as ELF input data]::section' - '(-e --exception)'{-e,--exception}'[show sections for exception handling]' - '(-N --numeric-addresses)'{-N,--numeric-addresses}"[don't find symbol names for addresses in DWARF data]" - '(--symbols)-s[show symbol table]' - '(-s)--symbols=-[show symbol table]::section:(.dynsym .symtab)' - '(--notes)-n[show core notes (if present)]' - '(-n)--notes=-[show core notes (if present)]::section' - ) - ;; -esac - -_arguments -s "$args[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readlink b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readlink deleted file mode 100644 index 36bd4375..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readlink +++ /dev/null @@ -1,48 +0,0 @@ -#compdef readlink greadlink - -local variant ret=1 -local -a context line state state_descr args copts aopts=( -A '-*' ) -local -A opt_args - -# We can't use groups here because it would complicate the option filtering -copts=( -e -f -m --canonicalize --canonicalize-existing --canonicalize-missing ) - -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - # Delimiter options - # (Note: GNU `readlink` won't let you use -n with multiple files) - '(-n -z --no-newline --zero)'{-n,--no-newline}'[suppress trailing newline]' - '(-n -z --no-newline --zero)'{-z,--zero}'[use NUL as output delimiter]' - # Verbosity options - '(-q -s -v --quiet --silent --verbose)'{-q,-s,--quiet,--silent}'[suppress most error messages]' - '(-q -s -v --quiet --silent --verbose)'{-v,--verbose}'[show error messages]' - # Canonicalisation options - "(${(j< >)copts})"{-e,--canonicalize-existing}'[canonicalize paths (all components must exist)]' - "(${(j< >)copts})"{-f,--canonicalize}'[canonicalize paths]' - "(${(j< >)copts})"{-m,--canonicalize-missing}'[canonicalize paths (components may be missing)]' -) - -# Filter out non-GNU options if applicable -if _pick_variant gnu='Free Soft' unix --version; then - aopts=( ) -else - case $OSTYPE in - darwin*) args=( ${(@M)args:#(|*\))-[n]\[*} ) ;; - netbsd*) args=( ${(@M)args:#(|*\))-[fnqsv]\[*} ) ;; - dragonfly*|*bsd*) args=( ${(@M)args:#(|*\))-[fn]\[*} ) ;; - *) args=( ) ;; - esac -fi - -_arguments -s -S $aopts : $args '*: :->files' && ret=0 - -# File arguments must be symlinks unless a canonicalisation option is given -[[ $state == files ]] && -if [[ ${opt_args[(i)(${~${(j<|>)copts}})]} ]]; then - _files && ret=0 -else - _files -g '*(@)' && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readshortcut b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readshortcut deleted file mode 100644 index 5611d567..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_readshortcut +++ /dev/null @@ -1,21 +0,0 @@ -#compdef readshortcut readshortcut.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--fields -f)'{-f,--fields}'[show field names]' \ - '(--unix -u --windows -w)'{-u,--unix}'[use Unix path format for display (default)]' \ - '(--unix -u --windows -w)'{-w,--windows}'[use Windows path format for display ]' \ - '(--target -t)'{-t,--target}'[display shortcut target]' \ - '(--working -g)'{-g,--working}'[display shortcut working directory]' \ - '(--args -r)'{-r,--args}'[display shortcut arguments]' \ - '(--showcmd -s)'{-s,--showcmd}'[display shortcut "show" command value]' \ - '(--icon -i)'{-i,--icon}'[display icon library location]' \ - '(--offset -j)'{-j,--offset}'[display icon library offset]' \ - '(--desc -d)'{-d,--desc}'[display shortcut description]' \ - '(--all -a)'{-a,--all}'[display all information]' \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)--usage[display brief usage message]' \ - '(- 1)'{-v,--version}'[display version information]' \ - '(- 1)--license[display licensing information]' \ - '1:shortcut:_files -g "*.lnk(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rebootin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rebootin deleted file mode 100644 index 284ff08f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rebootin +++ /dev/null @@ -1,29 +0,0 @@ -#compdef rebootin - -local context state line expl -typeset -A opt_args -local loader=${$(_call_program -p entries detectloader -q):-GRUB} - -_arguments -s \ - '-n[no immediate reboot just set the flags for next reboot]' \ - '-f[create a /fastboot file to reboot in fastboot mode]' \ - '*::arguments:->loader_entry' - -case $state in - loader_entry) - case $loader in - GRUB) - if [ -r /boot/grub/menu.lst ]; then - _wanted -C $context entries expl entry \ - compadd ${${(M)${(f)"$(</boot/grub/menu.lst)"}##title *}#title } - fi - ;; - LILO) - if [ -r /etc/lilo.conf ]; then - _wanted -C $context entries expl entry \ - compadd $(awk -F= '{ if ($0 ~ /label=/) print $2 }' /etc/lilo.conf) - fi - ;; - esac - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_redirect b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_redirect deleted file mode 100644 index e6da5d11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_redirect +++ /dev/null @@ -1,18 +0,0 @@ -#compdef -redirect- - -local strs _comp_command1 _comp_command2 _comp_command - -_set_command - -strs=( -default- ) - -if [[ "$CURRENT" != "1" ]]; then - strs=( "${_comp_command}" "$strs[@]" ) - if [[ -n "$_comp_command1" ]]; then - strs=( "${_comp_command1}" "$strs[@]" ) - [[ -n "$_comp_command2" ]] && - strs=( "${_comp_command2}" "$strs[@]" ) - fi -fi - -_dispatch -redirect-,{${compstate[redirect]},-default-},${^strs} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_arguments deleted file mode 100644 index 2e8fee8f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_arguments +++ /dev/null @@ -1,86 +0,0 @@ -#autoload - -## usage: _regex_arguments funcname regex - -# _regex_arguments compiles `regex' and emits the result of the state -# machine into the function `funcname'. `funcname' parses a command line -# according to `regex' and evaluates appropriate actions in `regex'. Before -# parsing the command line string is generated by concatenating `words' -# (before `PREFIX') and `PREFIX' with a separator NUL ($'\0'). - -# The `regex' is defined as follows. - -## regex word definition: - -# pattern = "/" ( glob | "[]" ) "/" [ "+" | "-" ] -# lookahead = "%" glob "%" -# guard = "-" zsh-code-to-eval -# caction = ":" tag ":" descr ":" zsh-code-to-eval -# action = "{" zsh-code-to-eval "}" - -## regex word sequence definition: - -# element = pattern [ lookahead ] [ guard ] [ caction ] -# -# regex = element -# | "(" regex ")" -# | regex "#" -# | ( regex | action ) # -# | regex "|" regex - -# example: - -# compdef _tst tst - -# _regex_arguments _tst /$'[^\0]#\0'/ /$'[^\0]#\0'/ :'compadd aaa' -# _tst complete `aaa' for first argument. -# First $'[^\0]#\0' is required to match with command name. - -# _regex_arguments _tst /$'[^\0]#\0'/ \( /$'[^\0]#\0'/ :'compadd aaa' /$'[^\0]#\0'/ :'compadd bbb' \) \# -# _tst complete `aaa' for (2i+1)th argument and `bbb' for (2i)th argument. - -# _regex_arguments _tst /$'[^\0]#\0'/ \( /$'[^\0]#\0'/ :'compadd aaa' \| /$'[^\0]#\0'/ :'compadd bbb' \) \# -# _tst complete `aaa' or `bbb'. - -## Recursive decent regex parser - -# return status of parser functions: - -# 0 : success -# 1 : parse error -# 2 : fatal parse error - -_ra_comp () { - _ra_actions=("$_ra_actions[@]" "$1") -} - -_regex_arguments () { - local regex funcname="$1" - shift - regex=(${@:/(#b):(*)/":_ra_comp ${(qqqq)match[1]}"}) - - eval \ - "$funcname"' () { - local _ra_p1 _ra_p2 _ra_left _ra_right _ra_com expl tmp nm="$compstate[nmatches]" - local _ra_actions _ra_line="${(pj:\0:)${(@)words[1,CURRENT - 1]:Q}}"$'\''\0'\''"$PREFIX" - _ra_actions=() - zregexparse -c _ra_p1 _ra_p2 "$_ra_line" '"${(j: :)${(qqqq)regex[@]}}"' - case "$?" in - 0|2) _message "no more arguments";; - 1) - if [[ "$_ra_line[_ra_p1 + 1, -1]" = *$'\''\0'\''* ]]; then - _message "parse failed before current word" - else - _ra_left="$_ra_line[_ra_p1 + 1, _ra_p2]" - _ra_right="$_ra_line[_ra_p2 + 1, -1]" - compset -p $(( $#PREFIX - $#_ra_line + $_ra_p1 )) - (( $#_ra_actions )) && _alternative "$_ra_actions[@]" - fi - ;; - 3) _message "invalid regex";; - esac - [[ nm -ne "$compstate[nmatches]" ]] - }' -} - -_regex_arguments "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_words b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_words deleted file mode 100644 index 90b4a973..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_regex_words +++ /dev/null @@ -1,52 +0,0 @@ -#autoload - -local opt OPTARG matches end -local term=$'\0' - -while getopts "t:" opt; do - case $opt in - (t) - term=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -local tag=$1 -local desc=$2 -shift 2 - -if (( $# )); then - reply=(\() -else - # ### Is this likely to happen in callers? Should we warn? - reply=() - return -fi - -integer i -local -a wds - -if [[ $term = $'\0' ]]; then - matches=":${tag}:${desc}:(( " - end="))" -else - matches=":${tag}:${desc}:_values -s ${(q)term} ${(q)desc}" -fi - -for (( i = 1; i <= $#; i++ )); do - wds=(${(s.:.)argv[i]}) - reply+=(/${wds[1]//\**/"[^$term]#"}"$term"/) - if [[ $term = $'\0' ]]; then - matches+="${wds[1]//\*}${wds[2]:+\\:${wds[2]//(#m)[: \(\)]/\\$MATCH}} " - else - matches+=" ${(q)${${wds[1]//\*}//(#m)[:\[\]]/\\$MATCH}}\\[${(q)${wds[2]//(#m)[:\[\]]/\\$MATCH}}\\]" - fi - eval "reply+=($wds[3])" - reply+=(\|) -done -reply+=( /'[]'/ "${matches}${end}" \) ) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_remote_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_remote_files deleted file mode 100644 index 93e1b7f4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_remote_files +++ /dev/null @@ -1,104 +0,0 @@ -#autoload - -# Complete files on remote systems using SSH (and other programs). Needs -# key-based authentication with no passwords or a running ssh-agent to work. -# -# Usage: -# _remote_files [-/] [-g glob] [-h host] [-W dir] -- <cmd> [<cmd options>] -# -# Options: -# - -/: only complete directories -# - -g: specify a pattern to match against files -# p, = and * glob qualifiers supported -# - -h: specify the remote host, default is ${IPREFIX%:} -# - -W: specify the parent directory to list files from, -# default is the home directory -# -# -# Commands: -# - ssh: Additional options for non-interactive use are automatically added -# (see below). -# - All other commands are used unaltered. -# -# Examples: -# - _remote_files -- ssh -# Use ssh to retrieve the remote paths. The "--" is not optional! -# - _remote_files --no-files -- ssh -2 -p 42 -# Use ssh with the option -2 and -p 42 to retrieve the remote paths and -# complete only directories. -# - _remote_files -- rsh -# Use rsh to retrieve the remote paths. - - -# There should be coloring based on all the different ls -F classifiers. -local expl rempat remfiles remdispf remdispd args cmd suf ret=1 -local -a args cmd_args -local glob host dir dirprefix - -if zstyle -T ":completion:${curcontext}:files" remote-access; then - - # Parse options to _remote_files. Stops at the first "--". - zparseopts -D -E -a args / g:=glob h:=host W:=dir - (( $#host)) && shift host || host="${IPREFIX%:}" - - args=( ${argv[1,(i)--]} ) - shift ${#args} - [[ $args[-1] = -- ]] && args[-1]=() - # Command to run on the remote system. - cmd="$1" - shift - - # Handle arguments to ssh. - if [[ $cmd == ssh ]]; then - zparseopts -D -E -a cmd_args p: 1 2 4 6 F: - cmd_args=( -o BatchMode=yes "$cmd_args[@]" -a -x ) - else - cmd_args=( "$@" ) - fi - - if (( $#dir )); then - dirprefix=${dir}/ - fi - - if [[ -z $QIPREFIX ]] - then rempat="${dirprefix}${PREFIX%%[^./][^/]#}\*" - else rempat="${dirprefix}${(q)PREFIX%%[^./][^/]#}\*" - fi - - # remote filenames - remfiles=(${(M)${(f)"$( - _call_program files $cmd $cmd_args $host \ - command ls -d1FL -- "$rempat" 2>/dev/null - )"}%%[^/]#(|/)}) - - compset -P '*/' - compset -S '/*' || (( ${args[(I)-/]} )) || suf='remote file' - - # display strings for remote files and directories - remdispf=(${remfiles:#*/}) - remdispd=(${(M)remfiles:#*/}) - - if (( $#glob )); then - match=( '(|[*=|])' ) - glob[2]="${glob[2]/(#b)\(((|^)[p=\*])\)(#e)/}" - glob[2]+="${${match[1]/p/\|}/\*/\*}" - remdispf=( ${(M)remdispf:#${~glob[2]}} ) - fi - - local -a autoremove - [[ -o autoremoveslash ]] && autoremove=(-r "/ \t\n\-") - - _tags remote-files - while _tags; do - while _next_label remote-files expl ${suf:-remote directory}; do - [[ -n $suf ]] && - compadd "$args[@]" "$expl[@]" -d remdispf -- ${(q)remdispf%[*=|]} && ret=0 - compadd ${suf:+-S/} $autoremove "$args[@]" "$expl[@]" -d remdispd \ - -- ${(q)remdispd%/} && ret=0 - done - (( ret )) || return 0 - done - return ret -else - _message -e remote-files 'remote file' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_renice b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_renice deleted file mode 100644 index 3b045734..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_renice +++ /dev/null @@ -1,21 +0,0 @@ -#compdef renice - -if [[ $CURRENT = 2 ]]; then - _message -e priority -else - local opts ret=1 - opts=( - '-g:interpret args as process group IDs' - '-u:interpret args as user names' - '-p:interpret args as process IDs' - ) - _describe -o option opts && ret=0 - - case ${(v)words[(I)-?]} in - -g) _pgids && ret=0 ;; - -u) _users && ret=0 ;; - *) _pids && ret=0;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_reprepro b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_reprepro deleted file mode 100644 index d1e124ee..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_reprepro +++ /dev/null @@ -1,71 +0,0 @@ -#compdef reprepro - -local curcontext="$curcontext" state line expl distfile ret=1 -typeset -A opt_args -local -a codenames - -_arguments -C \ - '(-h --help)'{-h,--help}'[display help]' \ - '*'{-v,-V,--verbose}'[be more verbose]' \ - '--silent[be less verbose]' \ - '(-b --basedir)'{-b,--basedir}':basedir:_files -/' \ - '--confdir:config dir:_files -/' \ - '--distdir:dist dir:_files -/' \ - '--logdir:log dir:_files -/' \ - '--overridedir:override dir:_files -/' \ - '--dbdir:db dir:_files -/' \ - '--listdir:list dir:_files -/' \ - '--methoddir:method dir:_files -/' \ - '(-C --component)'{-C,--component}':component:(component1 component2)' \ - '(-A --architecture)'{-A,--architecture}':architecture:_sequence -s "|" _deb_architectures -' \ - '(-T --type)'{-T,--type}':file type:(dsc deb udeb)' \ - '(-S --section)'{-S,--section}':section:(section1 section2)' \ - '(-P --priority)'{-P,--priority}':priority:(high low)' \ - '--export=:whether and how:(never changed normal force)' \ - '--ignore=:error type:(what otherwhat)' \ - '--nolistsdownload[do not download Release or index files]' \ - '--keepunreferencedfiles[do not delete files that are no longer used]' \ - '--keepunneededlists' \ - '--keepdirectories' \ - '--ask-passphrase' \ - '--noskipold' \ - '--waitforlock:count:' \ - '--spacecheck:behavior:(full none)' \ - '--dbsafetymargin:bytes count:' \ - '--safetymargin:bytes count:' \ - '--noguessgpgtty' \ - ':reprepro command:(export createsymlinks list listfilter remove update - iteratedupdate checkupdate predelete pull checkpull includedeb - includeudeb includedsc include processincoming check checkpool - rereference dumpreferences dumpunreferenced deleteunreferenced - reoverride dumptracks retrack removealltracks removetrack tidytracks - copy clearvanished gensnapshot rerunnotifiers)' \ - '*::subcmd:->subcmd' && ret=0 - -case "$state" in - subcmd) - case "$words[1]" in - (export|update|iteratedupdate|checkupdate|predelete|pull|checkpull|check) - if [[ -n "$opt_args[--confdir]" ]]; then - distfile=${opt_args[--confdir]}/distributions - elif [[ -n "$opt_args[-b]" ]]; then - distfile=${opt_args[-b]}/conf/distributions - elif [[ -n "$opt_args[--basedir]" ]]; then - distfile=${opt_args[--basedir]}/conf/distributions - elif [[ -n "$REPREPRO_BASE_DIR" ]]; then - distfile=${REPREPRO_BASE_DIR}/conf/distributions - else - distfile=$PWD/conf/distributions - fi - - codenames=($(awk '/^[Cc][Oo][Dd][Ee][Nn][Aa][Mm][Ee]: / {$1="";print}' "$distfile")) - _wanted -V 'codenames' expl 'codename' compadd -a codenames && ret=0 - ;; - (*) - _files && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_requested b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_requested deleted file mode 100644 index 4ba52ce7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_requested +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -local __gopt - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -if comptags -R "$1"; then - if [[ $# -gt 3 ]]; then - _all_labels - "$__gopt[@]" "$@" || return 1 - elif [[ $# -gt 1 ]]; then - _description "$__gopt[@]" "$@" - fi - return 0 -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_cache b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_cache deleted file mode 100644 index 43cdd79a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_cache +++ /dev/null @@ -1,31 +0,0 @@ -#autoload -# -# Retrieval component of completions caching layer - -local _cache_ident _cache_dir _cache_path _cache_policy -_cache_ident="$1" - -if zstyle -t ":completion:${curcontext}:" use-cache; then - # Decide which directory to retrieve cache from, and ensure it exists - zstyle -s ":completion:${curcontext}:" cache-path _cache_dir - : ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$_cache_dir" ]]; then - [[ -e "$_cache_dir" ]] && - _message "cache-dir ($_cache_dir) isn't a directory\!" - return 1 - fi - - _cache_path="$_cache_dir/$_cache_ident" - - if [[ -e "$_cache_path" ]]; then - _cache_invalid "$_cache_ident" && return 1 - - . "$_cache_path" - return 0 - else - return 1 - fi -else - return 1 -fi - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_mac_apps b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_mac_apps deleted file mode 100644 index 655170d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_retrieve_mac_apps +++ /dev/null @@ -1,109 +0,0 @@ -#autoload - -# Find paths of applications and preserve them into _mac_apps. -# Used by _mac_applications and _mac_files_for_application. - -_mac_apps_caching_policy () { - # Rebuild if cache is more than a day old - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) -} - - -# _mac_apps_*_retrieve -# -# Get search applications from directories specified in app_dir_root. -# Paths to applications are stored in _mac_apps. - -_mac_apps_spotlight_retrieve () { - typeset mdfind_query="kMDItemContentType == 'com.apple.application-*'" - - for i in ${app_dir_root}; do - _mac_apps+=(${(f)"$(_call_program command \ - mdfind -onlyin ${(q)i} ${(q)mdfind_query})"}) - done -} - -_mac_apps_old_retrieve () { - # Get directories which may contain applications - typeset -aU app_dir - if [[ -z "$app_dir" ]] && \ - ! zstyle -a ":completion:${curcontext}:commands" application-dir app_dir - then - typeset -a app_dir_stop_pattern - app_dir_stop_pattern=( "*.app" "contents#" "*data" "*plugins#" "*plug?ins#" "fonts#" "document[[:alpha:]]#" "*help" "resources#" "images#" "*configurations#" ) - typeset app_dir_pattern - app_dir_pattern="(^(#i)(${(j/|/)app_dir_stop_pattern}))" - app_dir=( ${^app_dir_root}/(${~app_dir_pattern}/)#(N) ) - fi - - # Get application bundles - local -a app_result - - if ! zstyle -t ":completion:${curcontext}:commands" ignore-bundle; then - app_result=( ${^app_dir}*/Contents/(MacOS|MacOSClassic)(N) ) - _mac_apps+=( ${app_result[@]%/Contents/MacOS*} ) - fi - - # Get single file applications - if ! zstyle -t ":completion:${curcontext}:commands" ignore-single; then - autoload -Uz zargs - local app_cand nargs envvars - app_cand=( ${^app_dir}^*.[a-z]#/..namedfork/rsrc(.UrN,.RN^U) ) - envvars="$(builtin typeset -x)" - nargs=$(( $(command sysctl -n kern.argmax) - $#envvars - 2048 )) - app_result="$(zargs --max-chars $nargs ${app_cand[@]} -- grep -l APPL)" - _mac_apps+=( ${${(f)app_result}%/..namedfork/rsrc} ) - fi -} - - -_retrieve_mac_apps() { - local cache_policy - zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _mac_apps_caching_policy - fi - - if ( (( ${#_mac_apps} == 0 )) || _cache_invalid Mac_applications ) \ - && ! _retrieve_cache Mac_applications; then - - # Get application search method - typeset retrieve - if ! zstyle -s ":completion:*:*:${service}:commands" search-method retrieve - then - if [[ "$( command mdutil -s / 2>&1 )" == *enabled* ]]; then - # / is indexed to use Spotlight - retrieve=_mac_apps_spotlight_retrieve - else - # Fall back to the old way - retrieve=_mac_apps_old_retrieve - fi - zstyle ":completion:*:*:${service}:commands" search-method $retrieve - fi - - # Get root directories to search applications - typeset -a app_dir_root - if ! zstyle -a ":completion:${curcontext}:" application-path app_dir_root - then - if [[ $retrieve = _mac_apps_old_retrieve ]]; then - app_dir_root=( - {,/Developer,/Network,/System,$HOME}/{Applications*(N),Desktop} - ) - app_dir_root=( $^app_dir_root(N) ) - else - app_dir_root=( / ) - fi - - zstyle ":completion:*" application-path $app_dir_root - fi - - typeset -g -Ua _mac_apps - $retrieve - - _store_cache Mac_applications _mac_apps - fi -} - -_retrieve_mac_apps "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ri b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ri deleted file mode 100644 index 4d5a7298..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ri +++ /dev/null @@ -1,93 +0,0 @@ -#compdef ri - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-v,--version}'[display the version of ri]' \ - '*'{-d+,--doc-dir=}'[directory to search for documentation]:ri doc directory:_directories' \ - '(-f --format)'{-f+,--format=}'[format to use when displaying output]:output format [bs]:(ansi bs markdown rdoc)' \ - '(-T --no-pager)'{-T,--no-pager}'[send output directly to stdout]' \ - '(-i --interactive)'{-i,--interactive}'[interactive mode]' \ - '(-a --all)'{-a,--all}'[show all documentation for a class or module]' \ - '(-l --list)'{-l,--list}'[list classes ri knows about]' \ - '--list-doc-dirs[list the directories from which ri will source documentation]' \ - '(-w --width)'{-w+,--width=}'[set the width of the output]:output width [72]' \ - '(-l --list)--server=-[run RDoc server on the given port]::port [8214]:_ports' \ - "--no-standard-docs[don't include documentation from the Ruby standard library, site_lib, installed gems, or ~/.rdoc]" \ - '(--no-use-cache --use-cache)--'{no-,}"use-cache[whether or not to use ri's cache]" \ - '(--no-system --system)--'{no-,}"system[include documentation from Ruby's standard library]" \ - '(--no-site --site)--'{no-,}'site[include documentation from libraries installed in site_lib]' \ - '(--no-gems --gems)--'{no-,}'gems[include documentation from RubyGems]' \ - '(--no-home --home)--'{no-,}'home[include documentation stored in ~/.rdoc]' \ - '--profile[run with the Ruby profiler]' \ - '--dump=[dump data from an ri cache or data file]:cache:_files' \ - '*:ri name:->ri-name' && return - -if [[ "$state" = ri-name ]]; then - local -a ri_dirs ri_ext ri_names ri_wants ri_names - local class_dir esc_name dir curtag tag descr expl - - if "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e 1 >/dev/null 2>&1; then - # Old-style Ruby 1.8.x RI - ri_dirs=( ${(f)"$(_call_program ri-names "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e '"o = RI::Options.instance; o.parse(ARGV); o.path.each { |p| puts p }"' -- ${(kv)opt_args[(I)-d|--doc-dir|--(system|site|gems|home)]})"} ) - ri_ext=yaml - elif "ruby${words[1]#ri}" -rrdoc/ri -rrdoc/ri/store -e 1 >/dev/null 2>&1; then - # Newer-style Ruby 1.9.2 RI - ri_dirs=( ${(f)"$(_call_program ri-names "$words[1]" ${(kv)opt_args[(I)-d|--doc-dir|--((no-|)(system|site|gems|home)|standard-docs)]} --list-doc-dirs -f bs -T)"} ) - ri_ext=ri - else - # New-style Ruby 1.9+ RI - ri_dirs=( ${(f)"$(_call_program ri-names "$words[1]" ${(kv)opt_args[(I)-d|--doc-dir|--((no-|)(system|site|gems|home)|standard-docs)]} --list-doc-dirs -f plain -T)"} ) - ri_ext=yaml - fi - - if compset -P '?*(::|\#|.)'; then - class_dir=${IPREFIX//(::|\#|.)/\/} - fi - esc_name=${${(Q)PREFIX}//(#b)([^A-Za-z0-9_])/$(printf %%%x ${(qq)match[1]})} - - case "$IPREFIX" in - (*::) ri_wants=( 'classes:class names' 'class-methods:class methods' );; - (*\#) ri_wants=( 'instance-methods:instance methods' );; - (*.) ri_wants=( 'class-methods:class methods' 'instance-methods:instance methods' );; - (*) ri_wants=( 'classes:class names' ) - esac - - for curtag in $ri_wants; do - tag=${curtag%%:*} - descr=${curtag#*:} - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - ri_wants=() - case "$tag" in - (classes) - for dir in $ri_dirs[@]; do - ri_wants+=( $dir/$class_dir*(-/:t) ) - done - ;; - (class-methods) - for dir in $ri_dirs[@]; do - fnames=( $dir/$class_dir*-c.$ri_ext(-.:t) ) - ri_wants+=( ${${fnames%-c.$ri_ext}//(#b)%(??)/$(print "\\x$match[1]")} ) - done - ;; - (instance-methods) - for dir in $ri_dirs[@]; do - fnames=( $dir/$class_dir*-i.$ri_ext(-.:t) ) - ri_wants+=( ${${fnames%-i.$ri_ext}//(#b)%(??)/$(print "\\x$match[1]")} ) - done - ;; - esac - ri_names=( ${(Q)ri_wants} ) - compadd -S '' -d ri_names -a "$expl[@]" ri_wants && ret=0 - done - (( ret )) || break - done - done -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rlogin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rlogin deleted file mode 100644 index 685e4e50..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rlogin +++ /dev/null @@ -1,75 +0,0 @@ -#compdef rlogin rsh remsh=rsh rcp - -_rlogin () { - case "$service" in - rlogin) - _arguments -s \ - '-8[allow 8-Bit data]' \ - '-e-[specify escape character]:escape character:' \ - '-l[specify login user name]:login as:_rlogin_users' \ - ':remote host name:_rlogin_hosts' - ;; - rsh|remsh) - local context state line ret=1 - typeset -A opt_args - local -a _comp_priv_prefix - - _arguments -s \ - '-n[ignore stdin]' \ - '-l[specify login user name]:login as:_rlogin_users' \ - ':remote host name:_rlogin_hosts' \ - '(-):command: _command_names -e' \ - '*::command:->command' && ret=0 - - if [[ -n "$state" ]]; then - shift 1 words - (( CURRENT-- )) - _normal && ret=0 - fi - return ret - ;; - rcp) - local curcontext="$curcontext" state line ret=1 expl - typeset -A opt_args - - _arguments -C -s \ - '-p[preserve modification times]' \ - '-r[recursively copy directories]' \ - '*:files:->files' && ret=0 - - if [[ -n "$state" ]]; then - if compset -P 1 '*:'; then - _remote_files -- rsh && ret=0 - elif compset -P 1 '*@'; then - _wanted hosts expl host _rlogin_hosts -S: && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:: _rlogin_all_hosts -S:' \ - 'users:: _rlogin_users -qS@' && ret=0 - fi - fi - return ret - ;; - esac -} - -_rlogin_users () { - _tags users && _combination -s '[:@]' my-accounts users-hosts users "$@" -} - -_rlogin_hosts () { - _tags hosts && - if [[ "$IPREFIX" == *@ ]]; then - _combination -s '[:@]' my-accounts users-hosts "users=${IPREFIX/@}" hosts "$@" - else - _combination -s '[:@]' my-accounts users-hosts \ - ${opt_args[-l]:+"users=${opt_args[-l]:q}"} hosts "$@" - fi -} - -_rlogin_all_hosts () { - _tags hosts && _combination -s '[:@]' my-accounts users-hosts hosts "$@" -} - -_rlogin "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rm deleted file mode 100644 index e66b77fa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rm +++ /dev/null @@ -1,78 +0,0 @@ -#compdef rm grm zf_rm - -local variant -declare -a args opts=( -A '-*' ) -args=( - '(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]' - '(-I --interactive)-i[prompt before every removal]' - '(-r -R --recursive)'{-r,-R,--recursive}'[remove directories and their contents recursively]' - '*:: :->file' -) -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help -case $variant; in - gnu) - opts=() - args+=( - '(-i --interactive)-I[prompt when removing many files]' - '(-i -I)--interactive=-[prompt under given condition (defaulting to always)]::when:((once\:"prompt when removing many files" - always\:"prompt before every removal"))' - '--one-file-system[stay within filesystems of files given as arguments]' - '( --preserve-root)--no-preserve-root[do not treat / specially]' - '(--no-preserve-root )--preserve-root[do not remove / (default)]' - '(-d --dir)'{-d,--dir}'[remove directories as well]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - '(- *)--help[display help message and exit]' - '(- *)--version[output version information and exit]' - ) - ;; - *) - args=(${args:#*)--*\[*}) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*|zsh) - args+=( - '-d[remove directories as well]' - ) - ;| - zsh) - args+=( - '-s[enable paranoid behavior]' - ) - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '-P[overwrite files before deleting them]' - '-v[explain what is being done]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-W[attempt to undelete named files]' - ) - ;| - dragonfly*|freebsd*|netbsd*) - args+=( - "-x[don't cross file systems when removing a hierarchy]" - ) - ;| - dragonfly*|freebsd*) - args+=( - '(-i)-I[prompt when removing many files]' - ) - ;; -esac - -local curcontext=$curcontext state line ret=1 -declare -A opt_args - -_arguments -C -s -S $opts \ - $args && ret=0 - -case $state in - (file) - (( CURRENT > 0 )) && line[CURRENT]=() - line=( ${line//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} ) - _files -F line && ret=0 - ;; -esac - -return $ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rmdir b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rmdir deleted file mode 100644 index 501ffb1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rmdir +++ /dev/null @@ -1,32 +0,0 @@ -#compdef rmdir grmdir zf_rmdir - -local variant -local -a args aopts=( -A '-*' ) - -args=( - '(-p --parents)'{-p,--parents}'[remove each component of the specified paths]' -) - -_pick_variant -r variant -b zsh gnu=GNU $OSTYPE --version -case $variant; in - gnu) - aopts=() - args+=( - '--ignore-fail-on-non-empty[ignore failure if directory is non-empty]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) - ;; - zsh) - args=() - ;; - *) - args=(${args:#*\)--*}) - ;| - dragonfly*|freebsd*) - args+=('-v[be verbose]') - ;; -esac - -_arguments -s -S $aopts \ - $args \ - '*: :_directories' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_route b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_route deleted file mode 100644 index 95df6d93..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_route +++ /dev/null @@ -1,256 +0,0 @@ -#compdef route - -local curcontext="$curcontext" expect ret=1 -local -a state state_descr line args families modifiers ignore sub sequential tags -local -A opt_args subcmds once params - -subcmds=( - add 'add a route' - flush 'remove all routes' - delete 'delete a specific route' - change 'change aspects of a route (such as its gateway)' - get 'lookup route for a destination' - monitor 'continuously report any changes to the routing information' -) -args=( - '-n[output addresses numerically]' - '(-q)-v[verbose output]' -) -modifiers=( - '-net:interpret destination as a network' - '-host:interpret destination as a host' -) -params=( - '-dst' target # does this definitely follow - '(-|)netmask' netmask - '(gw|-gateway)' gateway - metric metric - '(mss|window|-(send|recv)pipe)' size:bytes - '[i-]rtt' time:ms - -rttvar rttvar - -mtu mtu - '(dev|-ifscope|-ifp)' interface - -ifa address - -expire time:epoch - -hopcount hopcount - -tag tag - -prefixlen bits - '-(label|push|pop|swap)' label - -priority number # is it a number - -secattr secattr - '(-iw|-iwmax|-msl)' value - '-fib' table -) - -case $OSTYPE in - ^linux*) - args+=( '(-v)-q[suppress all output]' ) - families=( -inet -inet6 ) - modifiers+=( - '-dst:distinguish a destination' - '-gateway:distinguish a gateway address' - -netmask - -rtt -rttvar - -sendpipe -recvpipe - -mtu -hopcount - -expire - '-lock' '-lockrest' - -i{,nter}face:'indicate destination is directly reachable' - '-static:manually added route' - '-nostatic:pretend route added by kernel or daemon' - '-reject:emit an ICMP unreachable when matched' - '-blackhole:silently discard packets (during updates)' - '-proto1:set protocol specific routing flag #1' - '-proto2:set protocol specific routing flag #2' - ) - sequential=( target gateway netmask ) - ;| - *bsd*|darwin*|dragonfly*) - modifiers+=( - -link '-ifp' '-ifa' # do these need an argument: interface or address - '-prefixlen:indicate mask bits' - ) - ;| - (net|free)bsd*|darwin*|dragonfly*) - families+=( -xns ) - modifiers+=( '-xresolve:emit mesg on use (for external lookup)' ) - ;| - (net|open)bsd*|darwin*|dragonfly*) - modifiers+=( - '-cloning:generate a new route on use' - '-llinfo:validly translate proto addr to link addr' - ) - ;| - (net|open|free)bsd*|darwin*|dragonfly*) - args+=( - "-d[debug-only mode: don't update routing table]" - '-t[test-only mode: /dev/null used instead of a socket]' - ) - ;| - netbsd*|solaris*) - args+=( '-f[remove all routes first]' ) - ;| - (netbsd|darwin|dragonfly)*) - modifiers+=( '-proxy:make entry a link level proxy' ) - ;| - (netbsd|openbsd|dragonfly)*) - subcmds+=( show 'print out the routing table' ) - families+=( -mpls ) - ;| - (netbsd|darwin)*) - families+=( -atalk ) - ;| - (freebsd|darwin)*) - families+=( -osi ) - ;| - (openbsd|dragonfly)*) - modifiers+=( -push -pop -swap ) - ;| - freebsd*) - subcmds+=( - del $subcmds[delete] - show $subcmds[get] - ) - args+=( - '(-6)-4[specify IPv4 address family]' - '(-4)-6[specify IPv6 address family]' - ) - families+=( -4 -6 ) - modifiers+=( '-fib:specify a routing table' ) - ;; - netbsd*) - subcmds+=( flushall 'remove all routes including the default gateway' ) - args+=( - "-L[don't show link layer entries in routing table]" - '-S[print a space when a flag is missing to align flags]' - '-s[suppress all output from get except for the gateway]' - '-T[show tags in the route display]' - ) - modifiers+=( - '-tag' - '-noreject:clear reject flag' - '-noblackhole:clear blackhole flag' - ) - ;; - openbsd*) - subcmds+=( exec 'execute a command with alternate routing table' ) - args+=( - '-T+[select specified alternate routing table]:routing table:_routing_tables' - ) - modifiers+=( - -sa - '-label' - '-priority' - '-mpath:multiple gateways for a destination exist' - -mplslabel -in -out - ) - ;; - solaris*) - subcmds+=( show 'display list of routes applied at system startup' ) - args+=( - '-p[make changes to the route tables persistent across system restarts]' - '-R+[specify alternate root directory where changes are applied]:directory:_directories' - ) - modifiers+=( - "-private:don't advertise this route" - '-multirt:create the specified redundant route' - '-setsrc:assign the default source address' - '-secattr:security attributes' - ) - ;; - darwin*) - modifiers+=( -ifscope ) - ;| - dragonfly*) - modifiers+=( -iw -iwmax -msl ) - ;| - linux*) - args+=( - '(H -n)--numeric[output addresses numerically]' - '(H)*'{-e,--extend}'[display other/more information]' - '!(H -C --cache)'{-F,--fib} - '(H -C --cache)'{-C,--cache}'[display routing cache instead of FIB]' - + '(family)' - '-A+[use specified address family]:address family:(inet inet6 ax25 netrom ipx ddp x25)' - -4 -6 --inet --inet6 --ax25 --netrom --ipx --ddp --x25 - + '(H)' - '(1 *)'{-h,--help}'[display help information]' - '(1 *)'{-V,--version}'[display version information]' - ) - subcmds[del]=$subcmds[delete] - unset 'subcmds[monitor]' 'subcmds[get]' 'subcmds[change]' - modifiers+=( - netmask gw metric mss window irtt reject mod dyn reinstate - 'dev:force route to be associated with the specified device' - ) - sequential=( target interface ) - ;; -esac - -print -v sub -f '%s\\:%s' ${(kvq)subcmds} -_arguments -C -s -S "1:command:(($sub))" '*::args:->args' $args && ret=0 - -[[ -n $opt_args[(i)-[46]] ]] && families=() - -if [[ -n $state ]]; then - if [[ $line[1] = exec ]]; then - shift words - (( CURRENT-- )) - _normal - elif [[ $line[1] = (flush|monitor) ]]; then - sequential=() - fi - - for ((i=2;i<CURRENT;i++)); do - if [[ -n $expect ]]; then - sequential=( ${sequential:#$expect} ) - expect='' - continue - fi - - expect=${params[(K)$words[i]]} - if [[ -n $expect ]]; then - ignore+=( ${(Q)words[i]} ) - else - if [[ -n ${(M)${families%%:*}:#${(q)words[i]}} ]]; then - families=() - elif [[ -n ${(M)${modifiers%%:*}:#${(q)words[i]}} ]]; then - ignore+=( ${(q)words[i]} ) - elif [[ $words[1] != -lock ]]; then - shift sequential - fi - fi - done - - [[ -z $expect ]] && tags=( modifiers families ) - _tags values $tags - while _tags; do - if _requested values; then - case ${expect:-$sequential[1]} in - target) - if [[ -z $expect ]]; then - _wanted -x targets expl target compadd default && ret=0 - else - _message -e targets target - fi - ;; - interface) _net_interfaces && ret=0 ;; - size:bytes) _guard "[0-9]#" 'size (bytes)' ;; # _guard usage pointless - time:ms) _guard "[0-9]#" 'time (ms)' ;; - time:microseconds) _guard "[0-9]#" 'time (microseconds)' ;; - time:epoch) _guard "[0-9]#" 'expiration time (seconds since epoch)' ;; - rttvar) _guard "[0-9]#" 'time variance (microseconds)' ;; - mtu) _guard "[0-9]#" 'max MTU (bytes)' ;; - hopcount) _guard "[0-9]#" 'hop count' ;; - ssthresh) _message -e threshold 'ss threshold' ;; - bits) _guard "[0-9]#" 'bits' ;; - *) _guard "[^-]#" "${expect:-$sequential[1]}" ;; - esac - fi - _requested modifiers && _describe -t modifiers modifier modifiers -F ignore && ret=0 - _requested families expl 'address family' compadd -a families && ret=0 - (( ret )) || break - done -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_domains b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_domains deleted file mode 100644 index 4bb9f78b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_domains +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description routing-domains expl 'routing domain' -compadd "$@" "$expl[@]" - ${${(M)${(f)"$(_call_program routing-domains netstat -R)"}:#Rdomain *}#Rdomain } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_tables b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_tables deleted file mode 100644 index 3ba1931f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_routing_tables +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description routing-tables expl 'routing table' -compadd "$@" "$expl[@]" - ${(s: :)${${(M)${(f)"$(_call_program routing-tables netstat -R)"}:# Routing tables#: *}#*: }} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rpm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rpm deleted file mode 100644 index d00f8842..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rpm +++ /dev/null @@ -1,451 +0,0 @@ -#compdef rpm rpmbuild rpmkeys rpmsign rpmspec rpmquery rpmverify - -# This uses `_arguments' in a state-machine kind of way. These states -# have names and before executing the default action for such a state -# we try to call a function with the name `_rpm_<state>'. If such a -# function exists, we return with its return status immediately. This -# allows users to override the default completions by simply defining -# these functions. -# The states (and possible values for the `<state>' above) are: -# -# common -# complete for basic options like --querytags and --showrc -# query -# complete for `rpm -q' query -# verify -# complete for `rpm --verify' -# install -# complete for `rpm -i' or `rpm --install' -# upgrade -# complete for `rpm -U' or `rpm --upgrade' -# uninstall -# complete for `rpm -e' or `rpm --erase' -# build_b -# complete for `rpmbuild -bx' (the stage `x' is already completed) -# build_r -# complete for `rpmbuild -rx' (the stage `x' is already completed) -# build_t -# complete for `rpmbuild -tx' (the stage `x' is already completed) -# checksig -# complete for `rpm --checksig' -# package -# complete a RPM package name -# package_file -# complete a RPM package file name -# file_or_package -# an absolute path to any file (not a package file) or a package -# tags -# complete a tag name -# capability -# complete a capability -# relocate -# complete a `old=new' pair of paths -# setattrs -# complete for --setperms, --setugids, --setcaps and --restore -# public_keys -# complete for `rpmkeys --import' -# query_specs -# complete for `rpmspec --query' - -_rpm () { - local curcontext="$curcontext" state lstate line nm="$compstate[nmatches]" - typeset -A opt_args - local ret - local -a tmp expl opts commonopts selectopts fileopts pathopts buildopts queryopts - - commonopts=( - '(-v --verbose)--quiet[print as little as possible]' - '(--quiet)*'{-v,--verbose}'[verbose output]' - '--rcfile=:configuration file:_sequence -s \: _files' - '--httpproxy=:http proxy server:_hosts' - '--httpport=:http port number' - '--pipe=[pipes the output of rpm to the specified command]:pipe command:_cmdstring' - \*{-D,--define=}'[define a macro]:macro value' - '*--undefine=[undefine a macro]:macro:->macros' - '--target=[specify target platform]:arch-vendor-os' - '--macros=[read macros from specified files instead of the defaults]:file:_sequence -s \: _files' - '--load=[load a single macro file]:file:_files' - "--noplugins[don't enable any plugins]" - "--nodigest[don't verify package digest(s)]" - "--nosignature[don't verify package signature(s)]" - ) - - # package selection options of which only one can be used - selectopts=( - {-a,--all}'[query all packages]' - {-f,--file}'[query packages that own specified files]' - {-p,--package}'[query uninstalled packages]' - {-g,--group}'[query packages in one of specified groups]' - --pkgid --hdrid --tid --querybynumber - '--triggeredby' - '--whatconflicts' - '--whatrequires' - '--whatobsoletes' - '--whatprovides' - '--whatrecommends' - '--whatsuggests' - '--whatsupplements' - '--whatenhances' - '--nomanifest' - ) - sopts=${selectopts%\[*}\ --specfile - selectopts=( - "(* $sopts)"${selectopts[1,2]} - "($sopts)"${selectopts[3,-1]} - '(-a --all)*: :->package-select' - ) - - fileopts=( - '(-c --configfiles)'{-c,--configfiles}'[configuration files only]' - '(-d --docfiles)'{-d,--docfiles}'[documentation files only]' - '(-L --licensefiles)'{-L,--licensefiles}'[license files only]' - '(-A --artifactfiles)'{-A,--artifactfiles}'[artifact files only]' - '--noghost[exclude ghost files]' - '--noconfig[exclude config files]' - '--noartifact[exclude artifact files]' - ) - - pathopts=( - {-r,--root=}'[specify rpm root directory]:directory:_directories' - '--dbpath=[specify rpm database path]:path:_directories' - ) - - buildopts=( - '--rpmfcdebug[debug dependencies generation]' - '--buildroot=[override the build root]:build root directory:_directories' - '--build-in-place[run build in current directory]' - '--clean[remove the build tree after the packages are made]' - "--nobuild[don't execute any stages of the build]" - '--nodeps[do not verify build dependencies]' - '--nodirtokens[generate package header(s) compatible with (legacy) rpm v3 packaging]' - "--noclean[don't execute %clean stage of the build]" - "--noprep[don't execute %prep stage of the build]" - "--nocheck[don't execute %check stage of the build]" - '--rmsource[remove sources when done]' - '--rmspec[remove the spec file when done]' - '--short-circuit[skip straight to specified stage (only for c,i)]' - '*--with=[enable configure option for build]:option' - '*--without=[disable configure option for build]:option' - '--scm=[select the SCM to use with %autosetup]:scm [patch]:(patch gendiff git quilt)' - '*--buildpolicy=[set buildroot policy]:policy:->brp_policies' - '!--sign' - '--trace[trace macro expansion]' - "--nodebuginfo[don't generate debuginfo for this package]" - ) - - queryopts=( - '--conflicts' - '--obsoletes[list packages obsoleted by package]' - '--provides[list capabilities provided by package]' - '(-R)--requires[list capabilities on which packages depend]' - ) - - case $service in - rpm|rpmkeys) - opts+=( - '--import[import an armored public key]:*: :->public_keys' - {-K,--checksig}'[signature check mode]:*:sigcheck:->checksig' - ) - ;| - rpm|rpmdb) - opts+=( --{init,rebuild}'db:*: :->common' ) - ;| - rpm|rpmsign) - opts+=( - --{add,re}sign'[sign package(s)]:*: :->sign' - '--delsign[delete package signatures]:*: :->sign' - ) - ;| - rpm) - opts+=( - {-q+,--query}'[query mode]:*:query:->query' - {-V+,-y+,--verify}'[verify mode]:*:verify:->verify' - {-i+,--install}'[install mode]:*:install:->install' - {-U+,--upgrade}'[upgrade mode]:*:upgrade:->upgrade' - {-F+,--freshen}'[freshen mode]:*:upgrade:->upgrade' - {-e+,--erase}'[uninstall mode]:*:uninstall:->uninstall' - '--reinstall[reinstall mode]:*:install:->install' - '--setperms[set file permissions]:*:package:->setattrs' - '--setugids[set file owner/group]:*:package:->setattrs' - '--setcaps[set capabilities of files in the given package]:*:package:->setattrs' - '--restore[restore owner, group, permissions and capabilities of files in the given package]:*:package:->setattrs' - ) - ;; - rpmbuild) - [[ -prefix -r ]] && pathopts[1]= - opts+=( $buildopts - '(-r -t)-b+[build mode (spec file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b' - '(-b -t)-r+[build mode (source package)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b' - '(-b -r)-t+[build mode (tar file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_t' - --{rebuild,recompile}':*:source rpm file:->build_r' - ) - ;; - rpmspec) - opts+=( - {-P,--parse}'[parse spec files]:*: :->spec_files' - {-q,--query}'[query spec files]:*: :->query_specs' - ) - ;; - rpmquery) state=query ;; - rpmverify) state=verify ;; - esac - - [[ -z $state ]] && _arguments -C -s $pathopts $opts $commonopts \ - '(-)'{-\?,--help}'[print help information]' \ - '(-)--usage[print brief usage message]' \ - '(-)--version[print version number]' \ - \*{-E,--eval=}'[print macro expansion of given expression]:expression:->tags' \ - --{querytags,showrc}':*: :->common' - - # As long as we have a state name... - - while [[ -n "$state" ]]; do - - # First try to call a user-defined function. - - _call_function ret _rpm_$state && return ret - - # Copy the state and reset `state', to simplify the test above. - - lstate="$state" - state='' - tmp=() - - # Dispatch... - - case "$lstate" in - common) - _arguments -s -C $commonopts - ;; - query) - # --dump requires one of -{l,c,d} - # --triggers requires --script - _arguments -s -C \ - \!{-q,--query} $commonopts $selectopts $fileopts $pathopts $queryopts \ - '--dump[dump basic file information]' \ - \*--{qf,queryformat}'[specify format for package information]:rpm query format:->tags' \ - "($sopts)--specfile[query specified spec file as if it were a package]" \ - '(-i --info)'{-i,--info}'[display package information]' \ - '--changelog' '--changes' '--dupes' \ - '--last[order packages by install time]' \ - '--xml' \ - '--recommends[list capabilities recommended by packages]' \ - '(--requires)-R[list capabilities on which packages depend]' \ - '--suggests[list capabilities suggested by packages]' \ - '--supplements[list capabilities supplemented by packages]' \ - '(-s --state -l --list --filesbypkg)'{-l,--list}'[list files in package]' \ - '(-s --state -l --list)'{-s,--state}'[show file states]' \ - '--fileclass' '--filecolor' '--fileprovide' '--filerequire' \ - '--filecaps' '--filesbypkg[list files with package names]' \ - '--filetriggers[list filetrigger scriptlets]' \ - '--scripts[show (un)install scripts]' \ - {--triggers,--triggerscripts}'[show trigger scripts]' - ;; - query_specs) - _arguments -s -C \ - \!{-q,--query} $commonopts $pathopts $queryopts \ - --buildconflicts --buildrequires --trace \ - '*:spec file:->spec_files' - ;; - setattrs) - _arguments -s -C '!--set{perm,ugids,caps}' '!--restore' $selectopts - ;; - verify) - _arguments -s -C \ - \!{-V,--verify} $commonopts $selectopts $fileopts $pathopts \ - --no{deps,digest,files,scripts,signature,linkto,filedigest,size,user,group,mtime,mode,rdev,caps} - ;; - upgrade) - tmp=( '(--force)--oldpackage' ) - ;& - install) - _arguments -s -C \!{-i,--install,-U,--upgrade,-F,--freshen} $tmp \ - $commonopts $pathopts \ - '--excludepath=:file to exclude:_files -/' \ - '--relocate:relocate:->relocate' \ - '--prefix=[relocate the package]:package prefix directory:_files -/' \ - '(-h --hash)'{-h,--hash}'[print hash marks as package installs]' \ - '(--replacepkgs --replacefiles --oldpackage)--force' \ - '(--force)--'{replacefiles,replacepkgs} \ - --{aid,allfiles,badreloc,excludedocs,ignorearch,ignoreos,ignoresize,includedocs,justdb,percent,test} \ - --no{deps,filedigest,contexts,caps,order,suggest,pre,post,preun,postun,trigger{s,in,un,postun}} \ - '(--nopre --nopost --nopreun --nopostun)--noscripts' \ - '*:pkg file:->package_file' - ;; - uninstall) - _arguments -s -C \!{-e,--erase} \ - "${commonopts[@]}" "${pathopts[@]}" \ - --{allmatches,justdb,repackage,test} \ - --no{deps,scripts,preun,postun,trigger{s,un,postun}} \ - '*:package:->package' - ;; - build_b) tmp=( '*:spec file:_files -g "*.spec(-.)"' ) ;| - build_r) tmp=( '*:source package:_files -g "*.(#i)src.rpm(-.)"' ) ;| - build_t) tmp=( '*:tar file:_files -g "*.(#i)tar(.*|)(-.)"' ) ;| - build_?) - _arguments -s -C $buildopts $commonopts $pathopts "${tmp[@]}" \ - ;; - checksig) - _arguments -s -C \!-K \ - "${commonopts[@]}" \ - --no{gpg,pgp,md5,digest} \ - '*:package file:->package_file' - ;; - sign) - _arguments -s -C $commonopts $pathopts \ - '--signfiles[sign package(s) files]' \ - '--fskpath=[use file signing key]:key:_files' \ - '--fskpass[prompt for file signing key password]' \ - '--key-id=[specify key id/name to sign with]:key id' \ - '--digest-algo=[override default digest algorithm]:algorithm:(sha1 sha256 sha384 sha512)' \ - '*:package file:_files -g "*.(#i)rpm(-.)"' - ;; - package-select) - case "${opt_args[(i)${sopts// /|}]}" in - -f|--file) _files ;; - -p|--package) state=package_file ;; - -g|--group) state=groups ;; - --fileid|--pkgid) _message -e md5 md5 ;; - --hdrid) _message -e sha1 sha1 ;; - --querybynumber) _message -e value number ;; - --tid) _message -e ids 'transaction id' ;; - --what*) state=capabilities ;; - --specfile) state=spec_files ;; - *) state=package ;; - esac - ;; - macros) - local -a macros - macros=( ${${${(M)${(f)"$(_call_program macros rpm --showrc)"}:#(-|)[0-9]##[:=] ##*}#* }%%[[:blank:](]*} ) - _description macros expl macro - if zstyle -t ":completion:${curcontext}:macros" prefix-hidden; then - compadd "$expl[@]" -p '%' -a - macros - else - macros=( %${^macros} ) - compadd "$expl[@]" -a - macros - fi - ;; - target) - _wanted targets expl 'target platform' compadd \ - ${${(M)${(f)"$(_call_programs targets rpm --showrc)"}:#compatible archs*}##*: } - ;; - groups) - if ( (( ! $+_rpm_groups )) || _cache_invalid rpm-groups ) && - ! _retrieve_cache rpm-groups - then - typeset -gaU _rpm_groups - _rpm_groups=( - ${(f)"$(_call_program groups rpm -qa --queryformat '%\{group}\\n' 2>/dev/null)"} - ) - _store_cache RPM-groups _rpm_groups - fi - _wanted groups expl 'group' _multi_parts / _rpm_groups - ;; - file_or_package) - if [[ $PREFIX = /* ]]; then - _wanted files expl 'file' _files - else - state=package - fi - ;; - package) - if ( [[ ${+_rpms} -eq 0 ]] || _cache_invalid RPMs ) && - ! _retrieve_cache RPMs; - then - _rpms=( $(_call_program packages rpm -qa) ) - _store_cache RPMs _rpms - fi - _wanted packages expl 'package' \ - compadd -M 'r:|-=* r:|=*' - "$_rpms[@]" - ;; - spec_files) - _wanted specfiles expl 'spec file' \ - _files -g '*.spec(-.)' - ;; - package_file) - _wanted files expl 'package file' \ - _files -g '*.(#i)rpm(-.)' - if [[ -prefix 1 (f|ht)tp:// ]]; then - _wanted urls expl 'URL of rpm package file' \ - _urls -f -g '*.(#i)rpm(-.)' "${expl[@]}" - else - _wanted urls expl 'URL of rpm package file' \ - compadd -S '' "${expl[@]}" ftp:// http:// - fi - ;; - package_src) - _wanted files expl 'source package' _files -g '(#i)*.src.rpm(-.)' - ;; - tags) - local -a suf - if compset -P "*%*${${QIPREFIX:+{}:-\{}"; then - compset -S '(|\\)}*' || suf=( -S ${${QIPREFIX:+\}}:-\\\}} -r ": \}\t\n\-" ) - if compset -P '*:'; then - _wanted formats expl format compadd $suf - \ - armor arraysize base64 date day depflags deptype expand \ - fflags fstate fstatus hex octal humaniec humansi perms \ - pgpsig shescape triggertype vflags xml - else - _wanted tags expl 'rpm tag' compadd -M 'm:{a-z}={A-Z}' "$suf[@]" - \ - "${(L@)${(@f)$(_call_program tags rpm --querytags)}#RPMTAG_}" - fi - else - _message -e formats 'rpm query format' - fi - ;; - capabilities) - local match mbegin mend - if [[ "${opt_args[(i)${sopts// /|}]}" = --what(#b)(*) ]]; then - if [[ $match[1] = provides && -prefix / ]]; then - _wanted files expl file _files - else - _description capabilities expl capability - compadd ${${(f)"$(_call_program capabilities rpm -qa --queryformat '%\{$match[1]}\\n')"}:#\(none\)} - fi - fi - ;; - relocate) - if compset -P 1 '*='; then - _description directories expl 'new path' - else - _description directories expl 'old path' - fi - - _files "$expl[@]" -/ - ;; - public_keys) - _arguments -s -C \!--import $commonopts \ - '*:public key:_files' - ;; - brp_policies) - local rpmconfigdir=$(_call_program policies rpm -E '%\{_rpmconfigdir\}') - _wanted policies expl policy compadd $rpmconfigdir/brp-*(N:t:s/brp-//) - ;; - esac - - [[ $nm -ne $compstate[nmatches] ]] && return 0 - done - - return ret -} - -# set a sensible default caching policy -local update_policy -zstyle -s ":completion:*:*:rpm:*" cache-policy update_policy -if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:rpm:*" cache-policy _rpms_caching_policy -fi - -_rpms_caching_policy () { - # rebuild if cache is more than a week old - local -a oldp - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - pkg_indices=( /var/lib/rpm/{packages.rpm,Packages}(N) ) - for pkg_index in $pkg_indices; do - [[ "$pkg_index" -nt "$1" ]] && return 0 - done -} - -_rpm "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rrdtool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rrdtool deleted file mode 100644 index 96bdaf0d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rrdtool +++ /dev/null @@ -1,25 +0,0 @@ -#compdef rrdtool - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - ':rrdtool command:(create update updatev graph dump restore - last lastupdate first help info fetch tune - resize xport)' \ - '*:: :->subcmds' && ret=0 - -curcontext="${curcontext%:*}-$words[1]:" -case "$state" in - (subcmds) - case "$words[1]" in - (help) - _wanted -V 'subcommands' expl 'subcommand' compadd \ - create update updatev graph dump restore last lastupdate \ - first help info fetch tune resize xport - ;; - (*) - _files - ;; - esac - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rsync b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rsync deleted file mode 100644 index eb906e97..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rsync +++ /dev/null @@ -1,273 +0,0 @@ -#compdef rsync - -_rsync_user_or_host() { - local suf=$1 rsync - shift - - if compset -P 1 '*@'; then - local user=${PREFIX%%@*} - - _wanted -C user-at hosts expl "host for $user" \ - _combination -s '[:@]' "${tag}" users-hosts users="$user" hosts -S "$suf" "$@" - - elif compset -S '@*'; then - _wanted users expl "user" \ - _combination -s '[:@]' "${tag}" users-hosts users -q "$@" - - else - [[ $words[CURRENT] = rsync://* ]] || rsync='rsync:rsync: compadd -S "" rsync://' - _alternative \ - 'users:user:_users -S @' \ - "hosts:host:_hosts -S '$suf'" \ - $rsync - fi -} - -_rsync_remote_files() { -local expl remfiles remdispf remdispd remmodules suf ret=1 tag=accounts - -if compset -P '*::*/' || compset -P 'rsync://*/*/'; then - - remfiles=(${${(f)"$(_call_program files rsync ${words[CURRENT]%/*}/ 2>/dev/null)"}:#([ ]|MOTD:)*}) - - remdispf=(${remfiles:#d*}) - remdispd=(${(M)remfiles:#d*}) - - # $remdisp[fd] format: - # attrs size date time name - - _wanted files expl 'remote file or directory' \ - compadd -d remdispf ${${${${remdispf##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##} && ret=0 - - _wanted files expl 'remote file or directory' \ - compadd -S/ -d remdispd ${${${${remdispd##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##} || (( ! ret )) - -elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then - - local pat=${words[CURRENT]} - - if [[ $pat = *::* ]]; then - pat=${pat%::*}:: - else - pat=${pat%/*}/ - fi - - remfiles=(${${(f)"$(_call_program files rsync $pat 2>/dev/null)"}:#([ ]|MOTD:)*}) - remfiles=( ${(M)remfiles:#*$'\t'*} ) - - remmodules=(${remfiles/[ ]##/:}) - - _describe -V "remote modules" remmodules -S/ - -elif compset -P 'rsync://'; then - _rsync_user_or_host / "$@" -elif compset -P 1 '*:'; then - _remote_files -- ssh -else - _rsync_user_or_host : "$@" -fi - -} - -_rsync_info() { - local opts - opts=( ${${(M)${(f)"$(_call_program values $words[1] --info=help)"}:#*Mention*}/ ##Me/[me} ) - (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] ) - _values -s , 'info option' $opts ALL NONE HELP -} - -_rsync_debug() { - local opts - opts=( ${${(M)${(f)"$(_call_program values $words[1] --debug=help)"}:#*Debug*}/ ##De/[de} ) - (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] ) - _values -s , 'debug option' $opts ALL NONE HELP -} - -_rsync_files() { - _alternative "files:file:_files" "remote-files:remote file:_rsync_remote_files" -} - -_rsync_users_groups() { - local -a suf - if compset -P '*:'; then - _groups - else - compset -S ':*' || suf=( -qS ':' ) - _users $suf - fi -} - -_rsync() { - _arguments -s \ - '*'{-v,--verbose}'[increase verbosity]' \ - {--no-v,--no-verbose}'[turn off --verbose]' \ - '--bwlimit=[limit I/O bandwidth]: :_numbers -f -u "KiB per second" -d 1g limit B K M G T P' \ - '--outbuf=[set output buffering]:buffering:(none line block)' \ - '--port=[specify alternate port number]:port:(873)' \ - '--address=[bind to the specified address]:bind address:_bind_addresses' \ - '--log-file-format=[log updates using specified format]:format' \ - '--log-file=[log what rsync is doing to the specified file]:file:_files' \ - '(-T --temp-dir)'{-T+,--temp-dir=}'[create temporary files in specified directory]:directory:_directories' \ - '--sockopts=[specify custom TCP options]' \ - '(-4 -6 --ipv4 --ipv6)'{-4,--ipv4}'[prefer IPv4]' \ - '(-4 -6 --ipv4 --ipv6)'{-6,--ipv6}'[prefer IPv6]' \ - - daemon \ - '(-)'{-h,--help}'[display help information]' \ - '--config=[specify alternate rsyncd.conf file]:file:_files' \ - '--daemon[run as an rsync daemon]' \ - '--detach[detach from the parent]' \ - '(-M --dparam)'{-M+,--dparam=}'[override global daemon config parameter]:config parameter' \ - '--no-detach[do not detach from the parent]' \ - - client \ - '(-)--help[display help information]' \ - '*: :_rsync_files' \ - '--stderr=[change stderr output mode]:output mode [errors]:(errors all client)' \ - '(-q --quiet)'{-q,--quiet}'[suppress non-error messages]' \ - '--no-motd[suppress the daemon message-of-the-day output]' \ - '(-c --checksum)'{-c,--checksum}'[skip based on checksums, not mod-time & size]' \ - '(-a --archive)'{-a,--archive}'[archive mode; same as -rlptgoD (no -H)]' \ - '(-r --recursive)'{-r,--recursive}'[recurse into directories]' \ - {--no-r,--no-recursive}'[turn off --recursive]' \ - {--no-inc-recursive,--no-i-r}'[disable incremental recursive mode]' \ - '(-R --relative)'{-R,--relative}'[use relative path names]' \ - {--no-R,--no-relative}'[turn off --relative]' \ - {--no-implied-dirs,--no-i-d}'[do not send implied dirs with --relative]' \ - '(-b --backup)'{-b,--backup}'[make backups into hierarchy at indicated directory]' \ - '--backup-dir=[make backups into specified directory]:backup directory:_directories' \ - '--suffix=[set backup suffix]:suffix [~]' \ - '(-u --update)'{-u,--update}'[skip files that are newer on the receiving side]' \ - '--inplace[update destination files in-place]' \ - '(--append-verify)--append[append data onto shorter files]' \ - '(--append)--append-verify[append data onto shorter files, verifying old data]' \ - '(-A --acls)'{-A,--acls}'[preserve access-control lists]' \ - '(-X --xattrs)'{-X,--xattrs}'[preserve extended attributes]' \ - '--fake-super[use xattrs to save all file attributes]' \ - '(-d --dirs)'{-d,--dirs}'[transfer directories without recursing]' \ - {--no-d,--no-dirs}'[turn off --dirs]' \ - "--mkpath[create the destination's path component]" \ - '(-l --links)'{-l,--links}'[copy symlinks as symlinks]' \ - {--no-l,--no-links}'[turn off --links]' \ - '(-L --copy-links)'{-L,--copy-links}'[transform symlinks into referent file/dir]' \ - '(-k --copy-dirlinks)'{-k,--copy-dirlinks}'[transform a symlink to a dir into referent dir]' \ - '--copy-unsafe-links[only "unsafe" symlinks are transformed]' \ - '--safe-links[ignore symlinks that point outside the source tree]' \ - '(-H --hard-links)'{-H,--hard-links}'[preserve hard links]' \ - {--no-H,--no-hard-links}'[turn off --hard-links]' \ - '(-K --keep-dirlinks)'{-K,--keep-dirlinks}'[treat symlinked dir on receiver as dir]' \ - '(-p --perms -E --executability)'{-p,--perms}'[preserve permissions]' \ - {--no-p,--no-perms}'[turn off --perms]' \ - '--fileflags[preserve file-flags (aka chflags)]' \ - '(-E --executability)'{-E,--executability}'[preserve executability]' \ - '(-o --owner)'{-o,--owner}'[preserve owner]' \ - {--no-o,--no-owner}'[turn off --owner]' \ - '(-g --group)'{-g,--group}'[preserve group]' \ - {--no-g,--no-group}'[turn off --group]' \ - '(--devices --specials)-D[same as --devices --specials]' \ - '(-D)--devices[preserve devices]' \ - '--no-devices[turn off --devices]' \ - '(-D)--specials[preserve special files]' \ - '--no-specials[turn off --specials]' \ - '--no-D[turn off --devices and --specials]' \ - '(-t --times)'{-t,--times}'[preserve modification times]' \ - {--no-t,--no-times}'[turn off --times]' \ - \*{-U,--atimes}'[preserve access (use) times]' \ - '--open-noatime[avoid changing the atime on opened files]' \ - '(--crtimes -N)'{--crtimes,-N}'[preserve create times (newness)]' \ - '(-O --omit-dir-times)'{-O,--omit-dir-times}'[omit directories when preserving times]' \ - '(-J --omit-link-times)'{-J,--omit-link-times}'[omit symlinks when preserving times]' \ - '--chmod=[change destination permissions]:permissions' \ - '(-S --sparse)'{-S,--sparse}'[handle sparse files efficiently]' \ - '--write-devices[write to devices as files (implies --inplace)]' \ - '(-n --dry-run)'{-n,--dry-run}'[show what would have been transferred]' \ - '(-W --whole-file)'{-W,--whole-file}'[copy files whole (without delta-transfer algorithm)]' \ - {--no-W,--no-whole-file}'[turn off --whole-file]' \ - '(--cc --checksum-choice)'{--cc,--checksum-choice}'=[choose the checksum algorithms]:algorithm:_sequence -n 2 compadd - auto md4 md5 none' \ - '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries]" \ - '(-B --block-size)'{-B+,--block-size=}'[force a fixed checksum block-size]: :_numbers -f -u bytes -d 1g "block size" B K M G T P' \ - '(-e --rsh)'{-e+,--rsh=}'[specify the remote shell to use]:remote-shell command:(rsh ssh)' \ - '--rsync-path=[specify path to rsync on the remote machine]:remote command' \ - '--ignore-existing[ignore files that already exist on receiving side]' \ - '(--existing --ignore-non-existing)'{--existing,--ignore-non-existing}'[ignore files that do not exist on receiving side]' \ - '--remove-source-files[synchronized files are removed from sending side]' \ - '(--delete-before --delete-during --delete-after --delete-delay)--del[an alias for --delete-during]' \ - '--delete[delete files that do not exist on the sending side]' \ - '(--del --delete-during --delete-after --delete-delay)--delete-before[receiver deletes before transfer]' \ - '(--del --delete-before --delete-after --delete-delay)--delete-during[receiver deletes during transfer]' \ - '(--del --delete-before --delete-during --delete-delay)--delete-after[receiver deletes after transfer]' \ - '(--del --delete-before --delete-during --delete-after)--delete-delay[receiver deletes after transfer]' \ - '--delete-excluded[also delete excluded files on the receiving side]' \ - '--ignore-errors[delete even if there are I/O errors]' \ - --force{,-delete}'[force deletion of directories even if not empty]' \ - '--force-change[affect user-/system-immutable files/dirs]' \ - '--force-uchange[affect user-immutable files/dirs]' \ - '--force-schange[affect system-immutable files/dirs]' \ - "--max-delete=[don't delete more than NUM files]: :_numbers -f -u bytes size B K M G T P" \ - "--max-size=[don't transfer any file larger than specified size]: :_numbers -f -u bytes size B K M G T P" \ - '--min-size=[do not transfer any file smaller than specified size]:number' \ - '--max-alloc=[set limit to individual memory allocation]: :_numbers -f -u bytes -d 1g size B K M G T P' \ - '(-P)--partial[keep partially transferred files]' \ - '--no-partial[turn off --partial]' \ - '--partial-dir=[put a partially transferred file into specified directory]:directory:_directories' \ - '--super[receiver attempts super-user activities]' \ - '--no-super[receiver performs normal-user activities]' \ - '--delay-updates[put all updated files into place at end of transfer]' \ - '(-m --prune-empty-dirs)'{-m,--prune-empty-dirs}'[prune empty directory chains from file-list]' \ - '--numeric-ids[do not map uid/gid values by user/group name]' \ - '--timeout=[set I/O timeout in seconds for lulls in a transfer]:seconds' \ - '--contimeout=[set connect timeout in seconds for daemon connections]:seconds' \ - '(-I --ignore-times)'{-I,--ignore-times}"[don't skip files that match in size and mod-time]" \ - '--size-only[skip files that match in size]' \ - '(-@ --modify-window)'{-@+,--modify-window=}'[compare mod-times with reduced accuracy]:seconds' \ - '(-y --fuzzy)'{-y,--fuzzy}'[find similar file for basis if no destination file]' \ - '(--copy-dest --link-dest)*--compare-dest=[also compare destination files relative to specified directory]:directory:_directories' \ - '(--compare-dest --link-dest)*--copy-dest=[like --compare-dest, but also includes copies of unchanged files]:directory:_directories' \ - '(--compare-dest --copy-dest)*--link-dest=[hardlink to files in specified directory hierarchy when unchanged]:directory:_directories' \ - '(-z --compress)'{-z,--compress}'[compress file data during the transfer]' \ - '(--zc --compress-choice)'{--zc,--compress-choice}'=[override the automatic negotiation of the compression algorithm]:algorithm:(zstd lz4 zlibx zlib none)' \ - '(--zl --compress-level)'{--zl,--compress-level}'=[explicitly set compression level]:number' \ - '--skip-compress=[skip compressing files with a listed suffix]:suffixes' \ - '(-C --cvs-exclude)'{-C,--cvs-exclude}'[auto-ignore files the same way CVS does]' \ - '*'{-f+,--filter=}'[add a file-filtering rule]:rule' \ - '*-F[same as --filter="dir-merge /.rsync-filter", repeated: --filter="- .rsync-filter"]' \ - '--exclude-from=[read exclude patterns from specified file]:file:_files' \ - '*--exclude=[exclude files matching pattern]:pattern' \ - '--include-from=[read include patterns from specified file]:file:_files' \ - '*--include=[do not exclude files matching pattern]:pattern' \ - '--files-from=[read list of source-file names from specified file]:file:_files' \ - '(-0 --from0)'{-0,--from0}'[all *-from file lists are delimited by nulls]' \ - '(-s --protect-args)'{-s,--protect-args}'[no space-splitting; only wildcard special-chars]' \ - '--copy-as=[specify user & optional group for the copy]:user:_rsync_users_groups' \ - '--version[print version number]' \ - '*'{-h,--human-readable}'[output numbers in a human-readable format]' \ - '--blocking-io[use blocking I/O for the remote shell]' \ - '--no-blocking-io[turn off --blocking-io]' \ - '--stats[give some file-transfer stats]' \ - '(-8 --8-bit-output)'{-8,--8-bit-output}'[leave high-bit chars unescaped in output]' \ - '(-P)--progress[show progress during transfer]' \ - '--no-progress[turn off --progress]' \ - '(--partial --progress)-P[same as --partial --progress]' \ - '(-i --itemize-changes)'{-i,--itemize-changes}'[output a change-summary for all updates]' \ - '--log-format=[deprecated version of --out-format]' \ - '--out-format=[output updates using specified format]:format' \ - '--password-file=[read daemon-access password from file]:file:_files' \ - '--list-only[list the files instead of copying them]' \ - '--stop-after=[stop copying after specified time has elapsed]:time (minutes)' \ - '--stop-at=[stop copying when specified point in time is reached]:date/time (YYYY-MM-DDTHH\:MM):_dates -F -S "T"' \ - '(--only-write-batch)--write-batch=[write a batched update to the specified file]:file:_files' \ - '(--write-batch)--only-write-batch=[like --write-batch but w/o updating destination]:file:_files' \ - '--protocol=[force an older protocol version to be used]:number' \ - '--info=[fine-grained informational verbosity]:info option:_rsync_info' \ - '--debug=[fine-grained debug verbosity]:debug option:_rsync_debug' \ - '!(--stderr)--msgs2stderr' \ - '--munge-links[munge symlinks to make them safer, but unusable]' \ - '--ignore-missing-args[ignore missing source args without error]' \ - '--delete-missing-args[delete missing source args from destination]' \ - '(--usermap --chown)--usermap=[custom username mapping]:comma-separated mappings' \ - '(--groupmap --chown)--groupmap=[custom groupname mapping]:comma-separated mappings' \ - '(--usermap --groupmap --chown)--chown=[simple username/groupname mapping]:user and/or group:_rsync_users_groups' \ - '*'{-M+,--remote-option=}'[send option to the remote side only]:option string' \ - '--preallocate[preallocate the full length of new files]' \ - '--iconv=[request charset conversion of filenames]:number' \ - '--checksum-seed=:number' \ - '--read-batch=[read a batched update from the specified file]:file:_files' -} - -_rsync "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rubber b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rubber deleted file mode 100644 index bd97470d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_rubber +++ /dev/null @@ -1,67 +0,0 @@ -#compdef rubber rubber-pipe rubber-info - -local _rubber_version _rubber_path _rubber_modules _rubber_args - -eval $(rubber --version 2>/dev/null | sed 's/^.* \([^ ]*\): */_rubber_\1=/') -if [[ ${_rubber_version#0} != $_rubber_version ]]; then - _rubber_modules=( - $_rubber_path/rubber/modules/[^_]*.py(N:r:t) - ) -else - _rubber_modules=( - $_rubber_path/modules/*.rub(N:r:t) - $_rubber_path/rubber/rules/latex/[^_]*.py(N:r:t) - ) -fi - -_rubber_args=( - \*{-c,--command}'=[run specified directive command before parsing]:command' - \*{-e,--epilogue}'=[run specified directive command after parsing]:command' - '(-z --gzip)'{-z,--gzip}'[compress the final document]' - '(- *)'{-h,--help}'[show help information]' - '--into=[go to specified directory before compiling]:directory:_files -/' - '(-l --landscape)'{-l,--landscape}'[change paper orientation (if relevant)]' - '(-n --maxerr)'{-n,--maxerr}'=[display at most specified number of errors]:number' - \*{-m,--module}'=[use module]:module:($_rubber_modules)' - '--only=[only include the specified sources]:sources' - \*{-o,--post}'=[postprocess with module]:postprocessor:($_rubber_modules)' - '(-d --pdf -p -ps)'{-d,--pdf}'[produce PDF output instead of DVI]' - '(-p -ps -d --pdf)'{-p,--ps}'[produce a PostScript document]' - {-q,--quiet}'[suppress messages]' - \*{-r,--read}'[read additional directives from a file]:directives files:_files' - {-s,--short}'[display errors in compact form]' - \*{-I,--texpath}'=[add directory to the search path for LaTeX]:tex path:_files -/' - \*{-v,--verbose}'[increase verbosity]' - '--version[print version information and exit]' -) - -case "$service" in - rubber) - _arguments -s \ - "$_rubber_args[@]" \ - '--clean[remove produced files instead of compiling]' \ - {-f,--force}'[force at least one compilation]' \ - '--inplace[compile the documents from their source directory]' \ - \*{-W,--warn}'=[report warnings of the given type]:warnings:(all boxes misc refs)' \ - '*:LaTeX files:_files -g "*.(tex|dtx|lhs|w)(-.)"' - ;; - - rubber-pipe) - _arguments -s \ - "$_rubber_args[@]" \ - {-k,--keep}'[keep the temporary files after compiling]' \ - \*{-W,--warn}'=[report warnings of the given type]:warnings:(all boxes misc refs)' - ;; - - rubber-info) - _arguments -s \ - "$_rubber_args[@]" \ - '--boxes[report overfull and underfull boxes]' \ - '--check[report errors or warnings default action]' \ - '--deps[show the target file s dependencies]' \ - '--errors[show all errors that occurred during compilation]' \ - '--refs[show the list of undefined references]' \ - '--warnings[show all LaTeX warnings]' \ - ':LaTeX file:_files -g "*.(tex|dtx|lhs|w)(-.)"' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ruby b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ruby deleted file mode 100644 index 0e1f5dbc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ruby +++ /dev/null @@ -1,143 +0,0 @@ -#compdef ruby irb erb ruby-mri -P (ruby|[ei]rb)[0-9.]# -value-,RUBY(LIB|OPT|PATH),-default- - -local curcontext="$curcontext" state line expl desc RUBY ret=1 -typeset -A opt_args -local -a opts irb erb all common charsets suf - -all=( - '*-r+[require the library before executing your script]:library name:->library' - '(--internal-encoding)-U[set internal encoding to UTF-8]' - '(-E --encoding -K --external-encoding)'{-E+,--encoding=}'[specify default external and internal character encodings]:charset:->charsets' - '(1 * -)'{-h,--help}'[print help message]' - '(1 * -)--version[print the version]' -) - -common=( - '*-I+[specify $LOAD_PATH directory (may be used more than once)]:library directory:_files -/' - '-w[turn warnings on for your script]' - '-W-[set warning level]:warning level:((0\:silent 1\:medium 2\:verbose \\\:deprecated \\\:experimental))' - '(-)1:ruby script:_files -g "*.rb(-.)"' - '*::script argument:= ->normal' -) - -opts=( - '-0-[specify record separator]:input record separator in octal [\0]' - '-a[autosplit mode with -n or -p (splits $_ into $F)]' - '-c[check syntax only]' - '-C+[cd to directory before executing your script]:directory:_files -/' - '(-d --debug)'{-d,--debug}'[set debugging flags (set $DEBUG to true)]' - "(1)*-e+[one line script (several -e's allowed, omit program file)]:one line of script" - '-F-[split() pattern for autosplit (-a)]:input field separator:' - '-i-[edit ARGV files in place (make backup if extension supplied)]:suffix for in-place-edit mode:(.bak)' - '-K-[specifies KANJI (Japanese) code-set]:KANJI encoding:((e\:EUC-JP s\:Shift_JIS u\:UTF-8 N\:None))' - "-l[assume 'while gets(); ... end' loop around your script]" - "(-p)-n[assume 'while gets(); ... end' loop around your script]" - '(-n)-p[assume loop like -n but print line also like sed]' - '-s[enable some switch parsing for switches after script name]' - '-S[look for the script using PATH environment variable]' - '!-T-[turn on tainting checks]::taint level [1]:((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' - '(--verbose)-v[print version number, then turn on verbose mode]' - '(-v)--verbose[turn on verbose mode and disable script from stdin]' - '-x-[strip off text before #!ruby line and perhaps cd to directory]:directory:_files -/' - '(1 * -)--copyright[print the copyright]' - --{en,dis}'able=[enable or disable features]:feature:(gems did_you_mean rubyopt frozen_string_literal jit all)' - \!--{en,dis}able-{gems,rubyopt,all} - '--dump=[dump debug information]:information:_sequence compadd - insns yydebug parsetree parsetree_with_comment' - --{external,internal}'-encoding=:charset:->charsets' - '!'{-y,--yydebug} - '!--dump=:target:(version copyright usage yydebug syntax parsetree parsetree_with_comment insns)' - '--jit[enable jit with default options]' - '--jit-warnings[enable printing JIT warnings]' - '--jit-debug[enable JIT debugging (very slow)]' - '--jit-wait[wait until JIT compilation finishes every time (for testing)]' - '--jit-save-temps[save JIT temporary files]' - '--jit-verbose=-[print JIT logs of level num or less to stderr]:maximum log level [0]' - '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [100]' - '--jit-min-calls=-[specify number of calls to trigger JIT]:calls [10000]' -) - -irb=( - '-f[suppress read of ~/.irbrc]' - '(--noinspect)-m[bc mode (load mathn, fraction, matrix)]' - $opts[(r)*-d\[*] - '(--noinspect)--inspect[use inspect for output]' - "(--inspect)--noinspect[don't use inspect for output]" - '(--noreadline)--readline[use readline extension]' - "(--readline)--noreadline[don't use readline extension]" - '(--prompt --prompt-mode --inf-ruby-mode --simple-prompt --noprompt)'{--prompt,--prompt-mode}'[switch prompt mode]:prompt mode:(default simple xmp inf-ruby)' - '(--prompt --prompt-mode --inf-ruby-mode --simple-prompt --noprompt)'{--inf-ruby-mode,--simple-prompt,--noprompt} - '--tracer[display trace for each command execution]' - '--back-trace-limit[set limit for backtraces]:limit [16]:' - '!--irb_debug:level' - '--context-mode:n' - '(--noecho)--echo[show result]' - "(--echo)--noecho[don't show result]" - '--single-irb[share self with sub-irb]' - '(--noverbose)--verbose[show details]' - "(--verbose)--noverbose[don't show details]" -) - -erb=( - "-P[don't evaluate lines which start with %]" - '-T[specify trim mode]:mode [0]:((0\:EOL\ remains 1\:EOL\ removed\ if\ line\ ends\ with\ %\> 2\:EOL\ removed\ if\ line\ starts\ with\ \<%\ and\ ends\ with\ %\> -\:EOL\ is\ removed\ if\ line\ ends\ with\ -%\>,\ leading\ whitespace\ removed\ after\ \<%-))' - '(-d --debug)'{-d,--debug}'[set debugging flags (set $DEBUG to true)]' - '-n[used with -x, prepends line number to output]' - '-x[convert eRuby to Ruby]' -) - -case "$service" in - *RUBY(LIB|PATH)*) - _dir_list && return 0 - ;; - *RUBYOPT*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - _arguments -C -s : "${(@M)opts:#*-[IdvwrK](|[-+])\[*}" && ret=0 - RUBY=ruby - ;; - ruby[0-9.]#) - RUBY=$words[1] - _arguments -C -s -S : $opts $all $common && ret=0 - ;; - irb[0-9.]#) - RUBY=${words[1]/irb/ruby} - _arguments -C -s : $irb $all $common && ret=0 - ;; - erb[0-9.]#) - RUBY=${words[1]/erb/ruby} - _arguments -C -s : $erb $all \ - '*:erb file:_files -g "*.erb(-.)"' && ret=0 - ;; -esac - -case "$state" in - normal) - if (( ! $+opt_args[-e] )); then - shift words - (( CURRENT-- )) - fi - _normal && ret=0 - ;; - charsets) - charsets=( $(_call_program charsets $RUBY -e 'puts\ Encoding.list' 2>/dev/null) ) - # could also add Encoding.aliases.map(&:first) for aliases - desc='charset' - if [[ $curcontext = *option-(E|-encoding)-1 ]]; then - if compset -P '*:'; then - desc='internal charset' - else - desc='external charset' - compset -S ':*' || suf=( -S: ) - fi - fi - _wanted charsets expl $desc compadd $suf -a charsets && ret=0 - ;; - library) - local -a dirs - dirs=( $(_call_program libraries $RUBY -e 'puts\ \$:' 2>/dev/null) ${(s.:.)opt_args[-I]} ) - _wanted libraries expl library _path_files -W dirs && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_run-help b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_run-help deleted file mode 100644 index 10bb7f03..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_run-help +++ /dev/null @@ -1,7 +0,0 @@ -#compdef run-help -local d expl -local HELPDIR=${HELPDIR:-/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/share/zsh/5.9/help} -[[ -d $HELPDIR ]] && { - d=($HELPDIR/*(:t)) - (($#d)) && d+=('.' ':') && _wanted commands expl 'command' compadd -a d -} || _man diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_runit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_runit deleted file mode 100644 index 5c22cc54..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_runit +++ /dev/null @@ -1,73 +0,0 @@ -#compdef sv - -_sv_commands() { - local -a sv_ary - sv_ary=( - 'status':'get status of service (and log service if available)' - 'up':'start if service is running. If service stops, restart' - 'down':'send SIGTERM and SIGCONT if service is running. After it stops, do not restart' - 'once':'start if service is not running. Do not restart if it stops' - 'pause':'send SIGSTOP if service is running' - 'cont':'send SIGCONT if service is running' - 'hup':'send SIGHUP if service is running' - 'alarm':'send SIGALRM if service is running' - 'interrupt':'send SIGINT if service is running' - 'quit':'send SIGQUIT if service is running' - '1':'send SIGUSR1 if service is running' - '2':'send SIGUSR2 if service is running' - 'term':'send SIGTERM if service is running' - 'kill':'send SIGKILL if service is running' - 'exit':'send SIGTERM and SIGCONT if service is running. Do not restart service.' - ) - _describe -t commands "sv command" sv_ary -V sv_commands -} - -_sv_lsb() { - local -a sv_lsb_ary - sv_lsb_ary=( - 'start':'up with check/timeout' - 'stop':'down with check/timeout' - 'reload':'hup with check' - 'restart':'down and up with check' - 'shutdown':'exit with check/timeout' - 'force-stop':'stop with kill on timeout' - 'force-reload':'reload with kill on timeout' - 'force-restart':'restart with kill on timeout' - 'force-shutdown':'shutdown with kill on timeout' - 'try-restart':'restart if service is already running' - ) - - _describe -t lsb-commands "sv LSM init compat" sv_lsb_ary -V sv_init_compat -} - -_sv_additional() { - _describe -t additional-commands "sv additional command" '("check:check status of service")' -V sv_addl_comm -} - -local curcontext="$curcontext" state line -_arguments -C \ - '-v[verbose]' \ - '-w[wait time]:time (seconds)' \ - '1: :->command' \ - '*:: :->options' - -case $state in - (command) - _alternative \ - _sv_commands \ - _sv_lsb \ - _sv_additional - ;; - - (options) - local -a sv_services - local svdir=${SVDIR:-/etc/service} - sv_services=( - $svdir/*(N) - $svdir/*/log(N) - ) - - sv_services=( ${sv_services#$svdir/} ) - _describe -t services "sv service" sv_services - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_samba b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_samba deleted file mode 100644 index 6c7a64e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_samba +++ /dev/null @@ -1,113 +0,0 @@ -#compdef smbcontrol smbclient nmblookup smbstatus - -local curcontext="$curcontext" ret=1 -local -a state line expl msgs args ign - -(( CURRENT == 2 )) || ign='!' -args=( - '(-d --debuglevel)'{-d+,--debuglevel=}'[set debug level]:debug level (1..10) [1]' - '(-s --configfile)'{-s+,--configfile=}'[specify alternate smb.conf file]:config file:_files' - '(-l --log-basename)'{-l+,--log-basename=}'[specify base name for log files]:base name:_files' - '*--option=[set smb.conf option from command line]:option=value' - "${ign}(1 2 3 -)"{-\?,--help}'[display usage information]' - "${ign}(1 2 3 -)--usage[display brief usage information]" - "${ign}(1 2 3 - *)"{-V,--version}'[display version information]' -) - -case $service in - smbcontrol) - _arguments -C -S $args \ - '(-t --timeout)'{-t+,--timeout=}'[set timeout]:timeout (seconds)' \ - ':destination:(all nmbd smbd winbindd)' \ - ':message type:->message-types' \ - ':parameter:->parameters' && ret=0 - - case $state in - message-types) - msgs=( ${${${${${(f)"$(_call_program message-types smbcontrol -\? 2>&1)"}[(r)<message-type*,-1]}[2,-1]#?}/ ##(#b)(?)/:$match:l}%:( |\(null\))} ) - _describe -t message-types 'message type' msgs -M 'r:|-=* r:|=*' && ret=0 - ;; - parameters) - case $line[2] in - profile) - _wanted parameter expl 'parameter' compadd on off flush count && ret=0 - ;; - debug) _message -e levels 'debug level' ;; - ping) _message -e numbers 'number of ping messages' ;; - esac - ;; - esac - return ret - ;; - smbclient) - args+=( - '(-N -A)2: :_guard "^-*" password' - '(2 -R --name-resolve)'{-R+,--name-resolve=}'[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast' - '(2 -M --message -L --list -D --directory -T --tar)'{-M+,--message=}'[send message]:host:_hosts' - '(2 -I --ip-address)'{-I+,--ip-address=}'[specify IP address of server]:IP address' - '(2 -E --stderr)'{-E,--stderr}'[output messages to stderr]' - '(2 -M --message -D --directory -T --tar)'{-L+,--list=}'[list services on server]:host:_hosts' - '(-m --max-protocol)'{-m+,--max-protocol=}'[set the max protocol level]:level' - '(2 -T --tar -M --message -L --list)'{-T+,--tar=}'[specify tar options]:tar options' - '(2 -D --directory -M --message -L --list)'{-D+,--directory=}'[specify initial directory]:initial directory' - '(2 -c --command)'{-c,--command=}'[specify commands]:command string' - '(2 -b --send-buffer)'{-b+,--send-buffer=}'[change transmit/send buffer]:buffer size (bytes) [65520]' - '(-t --timeout)'{-t+,--timeout=}'[change the per-operation timeout]:timeout (seconds)' - '(2 -p --port)'{-p+,--port=}'[specify tcp port]:tcp port' - '(-g --grepable)'{-g,--grepable}'[produce grepable output]' - '(-q --quiet)'{-q,--quiet}'[suppress help message]' - '(-B --browse)'{-B,--browse}'[browse SMB servers using DNS]' - '(2 -d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' - '(2 -O --socket-options)'{-O+,--socket-options=}'[specify socket options]:socket options' - '(2 -n --netbiosname)'{-n+,--netbiosname=}'[specify local NetBIOS name]:local machine name' - '(2 -W --workgroup)'{-W+,--workgroup=}'[specify workgroup]:workgroup' - '(2 -i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' - '(2 -U --user)'{-U+,--user=}'[specify username]:username:_users' - '(2 -N --no-pass)'{-N,--no-pass}'[suppress password prompt]' - '(-k --kerberos)'{-k,--kerberos}'[use kerberos (active directory) authentication]' - '(2 -A --authentication-file)'{-A+,--authentication-file=}'[specify file containing username/password]:file:_files' - '(-S --signing)'{-S+,--signing=}'[set the client signing state]:state:(on off required)' - '(-P --machine-pass)'{-P,--machine-pass}'[use stored machine account password]' - '(-e --encrypt)'{-e,--encrypt}'[encrypt SMB transport]' - '(-C --use-ccache)'{-C,--use-ccache}'[use the winbind ccache for authentication]' - '--pw-nt-hash[the supplied password is the NT hash]' - ) - (( CURRENT == 2 )) && args+=( '1:service name:_hosts -P // -S /' ) - _arguments -s -S $args - ;; - nmblookup) - _arguments -s -S $args \ - '(-B --broadcast)'{-B+,--broadcast=}'[specify broadcast address]:broadcast address' \ - '(-f --flags)'{-f,--flags}'[list NMB flags returned]' \ - '(-U --unicast)'{-U+,--unicast=}'[specify unicast address]:unicast address' \ - '(-M --master-browser)'{-M,--master-browser}'[search for a master browser]' \ - '(-R --recursion)'{-R,--recursion}'[set recursion desired in packet]' \ - '(-S --status)'{-S,--status}'[lookup node status as well]' \ - '(-T --translate)'{-T,--translate}'[perform reverse DNS on IP addresses]' \ - '(-r --root-port)'{-r,--root-port}'[use root port 137]' \ - '(-A --lookup-by-ip)'{-A,--lookup-by-ip}'[query node status on IP address]' \ - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \ - '(-O --socket-options)'{-O+,--socket-options=}'[specify socket options to use]:socket option' \ - '(-n --netbiosname)'{-n+,--netbiosname=}'[specify primary netbios name]:netbios name' \ - '(-W --workgroup)'{-W+,--workgroup=}'[specify workgroup name]:workgroup name' \ - '(-i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' \ - '(h)*:NetBIOS name:_hosts' - ;; - smbstatus) - _arguments -s -S $args \ - {-b,--brief}'[brief output]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \ - '(-u --user)'{-u+,--user=}'[specify user to restrict information to]:user:_users' \ - '(-B --byterange)'{-B,--byterange}'[include byte range locks]' \ - '(-n --numeric)'{-n,--numeric}'[numeric uid/gid]' \ - '(-f --fast)'{-f,--fast}'[skip checks if processes still exist]' \ - + '(output)' \ - {-P,--profile}'[do profiling]' \ - {-R,--profile-rates}'[show call rates]' \ - {-L,--locks}'[list only locks]' \ - {-p,--processes}'[list smbd(8) processes]' \ - {-S,--shares}'[list only shares]' \ - {-N,--notify}'[list only notifies]' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_savecore b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_savecore deleted file mode 100644 index e112944e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_savecore +++ /dev/null @@ -1,12 +0,0 @@ -#compdef savecore - -_savecore() { - _arguments -s \ - '-L[take live dump]' \ - '-v[verbose]' \ - '-d[disregard dump header valid flag]' \ - '-f[save crash dump from file]:file:_files' \ - '::directory:_files -/' -} - -_savecore "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_say b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_say deleted file mode 100644 index 1459c737..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_say +++ /dev/null @@ -1,85 +0,0 @@ -#compdef say - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '(-a --audio-device)'{-a+,--audio-device=}'[specify audio device]: :->devices' \ - '--bit-rate=[specify bit rate]: :->bit-rates' \ - '--channels=[specify number of channels]:number of channels' \ - '--data-format=[specify output data format]: :->data-formats' \ - '(: -f --input-file)'{-f+,--input-file=}'[specify input file]:input file:_files' \ - '--file-format=[specify output file format]: :->file-formats' \ - '(-i --interactive)-i[display/highlight text as it is spoken]' \ - '(-i --interactive)--interactive=[display/highlight text as it is spoken]:: :->markups' \ - '(-o --output-file)'{-o+,--output-file=}'[specify output file]:output file:_files' \ - '(-n --network-send)'{-n+,--network-send=}'[specify network service/port]:network service/port' \ - '--progress[display progress meter]' \ - '--quality=[specify converter quality level]:quality level (0-127)' \ - '(-r --rate)'{-r+,--rate=}'[specify speech rate]:speech rate (words per minute)' \ - '(-v --voice)'{-v+,--voice=}'[specify voice]: :->voices' \ - '(-f)*: :_guard "^-*" "text to speak"' \ -&& ret=0 - -case $state in - bit-rates) - # A file format must have already been provided in order to complete these; - # also, not every file format supports bit-rate values - (( $+opt_args[--file-format] )) && { - tmp=( ${(f)"$( - _call_program bit-rates $words[1] \ - --file-format=${opt_args[--file-format]##*:} \ - --bit-rate='\?' - )"} ) - tmp=( ${tmp//[[:space:]]##/} ) - } - if (( $#tmp )); then - _values 'bit rate' $tmp && ret=0 - else - _message 'bit rate' && ret=0 - fi - ;; - data-formats) - # A file format must have already been provided in order to complete these - if (( ! $+opt_args[--file-format] )); then - _message 'data format' && ret=0 - else - tmp=( ${(f)"$( - _call_program data-formats $words[1] \ - --file-format=${opt_args[--file-format]##*:} \ - --data-format='\?' - )"} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${^tmp/[[:space:]]##/[}\] ) - _values 'data format' $tmp && ret=0 - fi - ;; - devices) - tmp=( ${(f)"$( _call_program devices $words[1] -a '\?' )"} ) - tmp=( ${tmp##[[:space:]]#[0-9]##[[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - _values 'audio device name or ID' $tmp && ret=0 - ;; - file-formats) - tmp=( ${(f)"$( _call_program file-formats $words[1] --file-format='\?' )"} ) - tmp=( ${tmp%%[[:space:]]##\(.*} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${^tmp/[[:space:]]##/[}\] ) - _values 'file format' $tmp && ret=0 - ;; - markups) - tmp=( bold smso smul ${(k)terminfo} ) - _alternative \ - 'colors:color:(black red green yellow blue magenta cyan white)' \ - "capabilities:terminfo capability:( ${(j< >)tmp} )" \ - && ret=0 - ;; - voices) - tmp=( ${(f)"$( _call_program voices $words[1] -v '\?' )"} ) - tmp=( ${tmp%%[[:space:]](#c2,)*} ) - _values voice $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sbuild b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sbuild deleted file mode 100644 index a32b5e8c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sbuild +++ /dev/null @@ -1,141 +0,0 @@ -#compdef sbuild - -_sbuild_distributions() { - _deb_codenames - compadd "$@" -- unstable -} - -_deb_identities() { - local identity - - if [[ -n "${DEBEMAIL}" ]]; then - if [[ -n "${DEBFULLNAME}" ]]; then - identity="${DEBFULLNAME} <${DEBEMAIL}>" - else - identity="${DEBEMAIL}" - fi - compadd "$@" -- "${identity}" - fi -} - -_sbuild_signing_keys() { - local -a expl lines uids - local line - - lines=( ${(M)${(f)"$(_call_program keys gpg -K --with-colons)"}:#uid:u*} ) - - for line in "${lines[@]}"; do - uids+=("${${(s.:.)line}[5][(ws:<:)2,(ws:>:)1]}") - done - - _description keys expl "gpg key" - compadd "$@" "$expl[@]" -- "${uids[@]}" -} - -_sbuild() { - _arguments \ - '(-h --help)'{-h,--help}'[show help message]' \ - '(-V --version)'{-V,--version}'[show version information]' \ - '(-D --debug)'{-D,--debug}'[enable debug output]' \ - '--add-depends=[add dependencies to source package]:packages' \ - '--add-conflicts=[add conflicts to source package]:packages' \ - '--add-depends-arch=[add arch dependencies to source package]:packages' \ - '--add-conflicts-arch=[add arch conflicts to source package]:packages' \ - '--add-depends-indep=[add indep dependencies to source package]:packages' \ - '--add-conflicts-indep=[add indep conflicts to source package]:packages' \ - '--arch=[architecture]:architecture:_deb_architectures' \ - '--host=[host architecture]:architecture:_deb_architectures' \ - '--build=[build architecture]:architecture:_deb_architectures' \ - '(-A --arch-all --no-arch-all)'{-A,--arch-all}'[build Architecture: all packages]' \ - '(-A --arch-all --no-arch-all)--no-arch-all[do not build Architecture: all packages]' \ - '(--arch-any --no-arch-any)--arch-any[build Architecture: any packages]' \ - '(--arch-any --no-arch-any)--no-arch-any[do not build Architecture: any packages]' \ - '(-b --batch)'{-b,--batch}'[operate in batchmode]' \ - '(-c --chroot)'{-c=,--chroot=}'[chroot to use]:chroot' \ - '(--chroot-mode)--chroot-mode=[chroot mode]:mode:(schroot sudo autopkgtest unshare)' \ - '(-d --dist)'{-d=,--dist=}'[distribution]:distribution:_sbuild_distributions' \ - '--archive=[use specified archive]' \ - '(--apt-clean --no-apt-clean)--apt-clean[force apt-get clean]' \ - '(--apt-clean --no-apt-clean)--no-apt-clean[do not apt-get clean]' \ - '(--apt-upgrade --no-apt-upgrade)--apt-upgrade[force apt-get upgrade]' \ - '(--apt-upgrade --no-apt-upgrade)--no-apt-upgrade[do not apt-get upgrade]' \ - '(--apt-distupgrade --no-apt-distupgrade)--apt-distupgrade[force apt-get distupgrade]' \ - '(--apt-distupgrade --no-apt-distupgrade)--no-apt-distupgrade[do not apt-get distupgrade]' \ - '(-m --maintainer)'{-m=,--maintainer=}'[maintainer field for .changes]:maintainer:_deb_identities' \ - '(-e --uploader)'{-e=,--uploader=}'[uploader field for .changes]:uploader:_deb_identities' \ - '(-k --keyid)'{-k=,--keyid=}'[GPG Key to sign packages]: :_sbuild_signing_keys' \ - '(-j --jobs)'{-j=,--jobs=}'[jobs to run simultaneously]:number of jobs' \ - '--debbuildopt=[option to dpkg-buildpackage]:option' \ - '--debbuildopts=[options to dpkg-buildpackage]:options' \ - '--dpkg-source-opt=[option to dpkg-source]:option' \ - '--dpkg-source-opts=[options to dpkg-source]:options' \ - '--mail-log-to=[send log to mail]:recipient:_email_addresses -c' \ - '--mailfrom=[mail from]:sender:_email_addresses -c' \ - '(-n --nolog)'{-n,--nolog}'[no build log file]' \ - '--profiles=[profiles for dpkg-buildpackage]:profile list (comma separated)' \ - '(-p --purge)'{-p=,--purge=}'[purge mode]:purge mode:(never successful always)' \ - '--purge-build=[build purge mode]:purge mode:(never successful always)' \ - '--purge-deps=[deps purge mode]:purge mode:(never successful always)' \ - '--purge-session=[session purge mode]:purge mode:(never successful always)' \ - '(-s --source --no-source)'{-s,--source}'[build source package]' \ - '(-s --source --no-source)--no-source[do not build source package]' \ - '--force-orig-source[force orig.tar.gz in .changes]' \ - '--use-snapshot[use latest gcc snapshot]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '--make-binNMU=[create binNMU with changelog entry]:changelog entry' \ - '--binNMU=[binNMU version]:version' \ - '--append-to-version=[append string to version]:string' \ - '--binNMU-timestamp=[binNMU timestamp]:timestamp' \ - '--binNMU-changelog=[use this file as binNMU changelog]:file:_files' \ - '--build-dir=[build directory]:directory:_files -/' \ - '(--clean-source --no-clean-source)--clean-source[clean inside an unpacked source tree]' \ - '(--clean-source --no-clean-source)--no-clean-source[do not clean inside an unpacked source tree]' \ - '(--run-lintian --no-run-lintian)--run-lintian[run lintian]' \ - '(--run-lintian --no-run-lintian)--no-run-lintian[do not run lintian]' \ - '(--no-run-lintian --lintian-opt)--lintian-opt=[option for lintian]:option' \ - '(--no-run-lintian --lintian-opts)--lintian-opts=[options for lintian]:options' \ - '(--run-piuparts --no-run-piuparts)--run-piuparts[run piuparts]' \ - '(--run-piuparts --no-run-piuparts)--no-run-piuparts[do not run piuparts]' \ - '(--no-run-piuparts --piuparts-opt)--piuparts-opt=[option for piuparts]:option' \ - '(--no-run-piuparts --piuparts-opts)--piuparts-opts=[options for piuparts]:options' \ - '(--no-run-piuparts --piuparts-root-arg)--piuparts-root-arg=[root-argion for piuparts]:argument' \ - '(--no-run-piuparts --piuparts-root-args)--piuparts-root-args=[root-argions for piuparts]:arguments' \ - '(--run-autopkgtest --no-run-autopkgtest)--run-autopkgtest[run autopkgtest]' \ - '(--run-autopkgtest --no-run-autopkgtest)--no-run-autopkgtest[do not run autopkgtest]' \ - '(--no-run-autopkgtest --autopkgtest-opt)--autopkgtest-opt=[option for autopkgtest]:option' \ - '(--no-run-autopkgtest --autopkgtest-opts)--autopkgtest-opts=[options for autopkgtest]:options' \ - '(--no-run-autopkgtest --autopkgtest-root-arg)--autopkgtest-root-arg=[root-argion for autopkgtest]:argument' \ - '(--no-run-autopkgtest --autopkgtest-root-args)--autopkgtest-root-args=[root-argions for autopkgtest]:arguments' \ - '--pre-build-commands=[run commands before starting anything]:commands' \ - '--chroot-setup-commands=[run commands after chroot initialization]:commands' \ - '--chroot-update-failed-commands=[run commands after chroot update fails]:commands' \ - '--build-deps-failed-commands=[run commands after installing build deps fails]:commands' \ - '--starting-build-commands=[run commands after dependencies are installed]:commands' \ - '--finished-build-commands=[run commands after package is built]:commands' \ - '--build-failed-commands=[run commands after dpkg-buildpackage fails]:commands' \ - '--chroot-cleanup-commands=[run commands after chroot cleanup]:commands' \ - '--post-build-commands=[run commands after package is built successfully]:commands' \ - '--post-build-failed-commands[run commands after package failed to build]:commands' \ - '--anything-failed-commands=[run commands for all --xxx-failed-commands option]:commands' \ - '--log-external-command-output[external commands output are logged]' \ - '--log-external-command-error[external commands error output are logged]' \ - '--build-dep-resolver=[resolver for build dependency]:resolver:(apt aptitude aspcud xapt null)' \ - '--aspcud-criteria=[Optimization for aspcud]:criteria' \ - '(--resolve-alternatives --no-resolve-alternatives)--resolve-alternatives[allow alternatives in Build-Depends*]' \ - '(--resolve-alternatives --no-resolve-alternatives)--no-resolve-alternatives[disallow alternatives in Build-Depends*]' \ - '--extra-package=[make a package or directory available to the resolver]:package:_files -g "*deb(-.)' \ - '--extra-repository=[add a repository to the resolver]:url' \ - '--extra-repository-key=[add key to the resolver]:key:_files -g "*.asc(-.)"' \ - '--build-path=[place to build the package inside chroot]:path:_files -/' \ - '--autopkgtest-virt-server=[autopkgtest virtualization server]:type:(schroot lxc chroot qemu ssh)' \ - '--autopkgtest-virt-server-opt=[option for autopkgtest virtialization server]:option' \ - '--autopkgtest-virt-server-opts=[options for autopkgtest virtialization server]:options' \ - '--sbuild-mode=[switch to buildd mode]:mode:(user buildd)' \ - '--stats-dir=[write stats to directory]:path:_files -/' \ - '--purge-extra-packages[remove all but strictly required dependencies (experimental)]' \ - '--bd-uninstallable-explainer=[choose the method to explain why dependencies failed]:method:(dose3 apt)' \ - '*:dsc file:_files -g "*.dsc(-.)"' - } - -_sbuild "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sc_usage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sc_usage deleted file mode 100644 index 17909ce6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sc_usage +++ /dev/null @@ -1,10 +0,0 @@ -#compdef sc_usage - -_arguments -s -A '-*' : \ - '-c+[specify code file to use]:code file:_files' \ - '-e[sort output by call count]' \ - '-l[use scrolling output style instead of window updating style]' \ - '-s+[specify sampling interval]:seconds' \ - '(- :)-E[specify command path and args to execute]: :_absolute_command_paths:*:: :_normal' \ - '1: : _alternative "processes:: _pids" - "processes-names:: _process_names -a"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sccs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sccs deleted file mode 100644 index 4083fe54..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sccs +++ /dev/null @@ -1,171 +0,0 @@ -#compdef sccs admin cdc comb delta get help prs prt rmdel sact sccsdiff unget val what - -(( $+functions[_sccs_files] )) || -_sccs_files() { - local dir expl ret=1 pref=$PREFIX ipref=$IPREFIX - dir="${(M)PREFIX##*/}$finalpath" - [[ $~dir = (.|..|)/* ]] || dir="${PROJECTDIR:-~+}/$dir" - compset -P "*/" - _wanted file expl file compadd "$@" - $~dir/s.*(N.:t:s/s.//) && ret=0 - PREFIX="$pref" - IPREFIX="$ipref" - _wanted sccs-files expl 'sccs file' _files -W ${PROJECTDIR:-~+} \ - -g 's.*(-.)' && ret=0 - - return ret -} - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args -local subcmds ropt copt sfiles finalpath - -subcmds=( - 'admin:modify the flags or checksum of an sccs history file' - 'cdc:annotate the commentary of an sccs delta' - 'check:check for files currently being edited' - 'clean:remove files that can be retrieved from sccs history' - 'comb:generate scripts to combine deltas' - 'create:create (initialize) history files' - 'deledit:check file in and straight out again' - 'delget:check file in and maintain read-only copy' - 'delta:check in changes' - 'diffs:compare working copy with version in sccs history' - 'edit:retrieve file for editing (check out)' - "enter:like create, but omits the final 'sccs get'" - 'fix:revise a (leaf) delta' - 'get:retrieve a version from the sccs history' - 'help:get information on sccs commands and error messages' - {info,tell}':list files being edited' - 'print:print history of specified files' - 'prs:display delta table for an sccs file' - 'prt:display the delta table, but omit the MR field' - 'rmdel:remove specified delta from history file' - 'sact:show editing activity status of an sccs file' - 'sccsdiff:compare two versions from sccs history' - {unedit,unget}':undo check out' - 'val:validate history file' - 'what:display any ID keyword strings in a file' -) - -ropt='-r+[specify sccs delta id]:sccs delta id' -copt='-c+[specify date]:date-stamp' -sfiles=':file:_files -g "s.*(-.)"' - -if [[ $service = sccs ]]; then - _arguments -C -A "-*" \ - '-r[run with real and not effective user ID]' \ - '-d+[specify root prefix]:root prefix:_directories' \ - '-p+[specify subdirectory of history file]:path to history file:_directories' \ - '*::command:->subcmd' && ret=0 - - if (( CURRENT == 1 )); then - _describe -t commands 'sccs command' subcmds && ret=0 - fi - (( ret )) || return 0 - - service="$words[1]" - sfiles=':file:_sccs_files' - curcontext="${curcontext%:*}-$service:" -fi -finalpath="${opt_args[-p]:-SCCS}" - -case $service in - admin) - _arguments "$ropt" "$sfiles" \ - '-b[force encoding of binary data]' \ - '-h[check structure of s.file]' \ - '-n[create a new history file]' \ - '-z[recompute file checksum]' \ - '-a+[add access for a user or group]:user or group:_users' \ - '-e+[erase access for a user or group]:user or group:_users' \ - '-d+[delete flag from file]:flag' \ - '-f+[set specified flag]:flag' \ - '-i+[initialise history from specified file]:file:_files' \ - '-m+[insert specified MR numbers into commentary]' \ - '-t+[insert descriptive text from specified file]:file:_files' \ - '-y+[specify comment for initial delta]' - ;; - cdc) - _arguments "$ropt" "$sfiles" \ - '-m+[specify MR numbers to add/delete in delta comment]' \ - '-y+[specify the comment]:comment' \ - ;; - check|info|tell) - _arguments "$sfiles" \ - '-b[ignore branches]' \ - '(-U)-u+[restrict to files being modified by specified user]::user:_users' \ - '(-u)-U[restrict to files being modified by current user]' - ;; - clean) - _arguments '-b[ignore branches]' - ;; - comb) - _arguments "$sfiles" \ - '-o[access reconstructed file at delta to be created]' \ - '-s[generate script that will produce a report]' \ - '-p+[specify SID of oldest delta to preserve]:sccs delta id' - '-c+[specify list of deltas to preserve]:sccs delta list' - ;; - sact|print) _sccs_files;; - create|enter) _files;; - deledit|delget|delta) - _arguments "$sfiles" \ - '-s[silent]' \ - '-y+[specify delta commentary]:comment' \ - ;; - diffs) - _diff_options diff "$sfiles" "$ropt" "$copt" \ - '-C[output a context diff]' - ;; - edit|get) - _arguments "$sfiles" "$ropt" "$copt" \ - '-e[retrieve for editing]' \ - '-k[retrieve writable copy without checking out]' \ - '-m[precede each line with the delta in which it was added]' \ - '-p[produce retrieved version on standard output]' \ - '-s[silent]' - ;; - fix) _arguments "$ropt" "$sfiles";; - help) - [[ $PREFIX$SUFFIX = [0-9]# ]] && - _message -e message-codes "sccs message code" - subcmds+=( "stuck:help on help" ) - _describe -t commands 'sccs command' subcmds - ;; - prs) - _arguments "$sfiles" "$ropt" "$copt" \ - '-a[include all deltas including those marked removed]' \ - '-e[display delta info for all deltas earlier than that specified]' \ - '-l[display delta info for all deltas later than that specified]' \ - '-d+[specify format of report]:data spec' - ;; - prt) - _arguments "$sfiles" "$copt" \ - '-a[include all deltas including those marked removed]' \ - '-b[print the body of the s.file]' \ - '-d[print delta table entries]' \ - '(-d -i -u -f -t)-e[everything - imply other options]' \ - '-i[print serial numbers of included, excluded and ignored deltas]' \ - '-s[print first line only of delta table entries]' \ - '-t[print descriptive text held in s.file]' \ - '-u[print usernames of users allowed to make deltas]' \ - '-r+[exclude delta entries newer than date]:date-time' \ - '-y+[exclude delta entries prior to sid]' - ;; - rmdel) _arguments "$ropt" "$sfiles";; - sccsdiff) _diff_options diff "$ropt" "$sfiles";; - unedit|unget) - _arguments "$sfiles" "$ropt" \ - '-s[silent]' \ - '-n[retain the retrieved version]' - ;; - val) - _arguments "$sfiles" "$ropt" \ - '-s[silent]' \ - '-m+[compare specified name with the ID keyword in the s.file]:name' \ - '-y+[compare specified type with the ID keyword]:type' - ;; - what) _arguments '-s[stop after first occurrence]' '*:file:_files';; - - *) _message "unknown sccs command: $service";; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sched b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sched deleted file mode 100644 index 88870868..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sched +++ /dev/null @@ -1,21 +0,0 @@ -#compdef sched - -local expl lines disp - -if [[ CURRENT -eq 2 ]]; then - if compset -P -; then - lines=(${(f)"$(sched)"}) - if zstyle -T ":completion:${curcontext}:jobs" verbose; then - disp=( -ld lines ) - else - disp=() - fi - [[ -z $lines ]] || _wanted jobs expl 'scheduled job' \ - compadd "$disp[@]" - {1..$#lines} - return - else - _message -e times 'time specification' - return 1 - fi -fi -compset -n 3 && _normal diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schedtool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schedtool deleted file mode 100644 index 869f146e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schedtool +++ /dev/null @@ -1,25 +0,0 @@ -#compdef schedtool - -local curcontext="$curcontext" line state ret=1 - -_arguments -C \ - '(-p -F -R -B -I -D -M)-N[for SCHED_NORMAL]' \ - '( -N -R -B -I -D -M)-F[for SCHED_FIFO]' \ - '( -N -F -B -I -D -M)-R[for SCHED_RR]' \ - '(-p -N -F -R -I -D -M)-B[for SCHED_BATCH]' \ - '( -N -F -R -B -D -M)-I[for SCHED_ISO]' \ - '(-p -N -F -R -B -I -M)-D[for SCHED_IDLEPRIO]' \ - '( -N -F -R -B -I -D )-M[for manual mode; raw number for POLICY]:raw policy number' \ - '( -N -B -D )-p[usually 1-99; only for FIFO, RR or ISO]:static priority' \ - '-a[cpu affinity]:mask or list' \ - '-n[set niceness to NICE_LEVEL]:priority' \ - '-e[start COMMAND with specified policy/priority]:program: _command_names -e:*::program arguments: _normal' \ - '-v[be verbose]' \ - '*:processes:->processes' && ret=0 - -if [[ -n "$state" ]]; then - _alternative \ - 'processes:: _pids' && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schroot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schroot deleted file mode 100644 index 117df45e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_schroot +++ /dev/null @@ -1,36 +0,0 @@ -#compdef schroot - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots and active sessions]' \ - '--all-chroots[select all chroots]' \ - '--all-sessions[select all active sessions]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-u --user)'{-u,--user=}'[username (default current user)]:user:_users' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '--location[print location of selected chroots]' \ - '--config[dump configuration of selected chroots]' \ - '(-p --preserve-environment)'{-p,--preserve-environment}'[preserve user environment]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-b --begin-session)'{-b,--begin-session}'[begin a session; returns a session ID]' \ - '(-r --run-session)'{-r,--run-session}'[run an existing session]' \ - '--recover-session[recover an existing session]' \ - '(-e --end-session)'{-e,--end-session}'[end an existing session]' \ - '(-f --force)'{-f,--force}'[force operation]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - (chroot) - _wanted tag expl 'chroot' \ - compadd $(schroot -l -a) - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scl deleted file mode 100644 index b9eaff11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scl +++ /dev/null @@ -1,39 +0,0 @@ -#compdef scl - -local curcontext="$curcontext" dashes ret=1 -local -a state line force alts cmd - -[[ $words[2] = deregister ]] && - force=( '--force[deregister even SCL installed as packages]' ) - -_arguments -C $force \ - '(- 1)'{-l,--list}'[list installed software collections or packages within a collection]' \ - '(-l --list)1:action:(enable run load unload list-collections list-enabled list-packages man register deregister)' \ - '(- *)--help' \ - '(-)*:collections:->collections' && ret=0 - -if [[ -n $state ]]; then - (( $#line > 1 )) && curcontext="${curcontext%:*}-$line[1]:" - if [[ $line[1] = register ]]; then - _directories -P / -W / - return - fi - if (( ${dashes:=$words[(I)--]} )); then - shift dashes words - (( CURRENT -= dashes )) - _normal - return - fi - if [[ $CURRENT -gt 3 && $words[CURRENT] = - ]]; then - compadd - -- - return - fi - [[ $line[1] = enable && $CURRENT -gt 3 ]] && - cmd='command:command:_cmdstring' - - _alternative 'collections:collection:compadd - $(_call_program collections "${words[1]} list-collections || ${words[1]} -l")' \ - $cmd && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scons b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scons deleted file mode 100644 index 77fe6dfb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scons +++ /dev/null @@ -1,59 +0,0 @@ -#compdef scons - -_arguments -s -S \ - '(-c --clean --remove)-'{c,-clean,-remove}'[remove specified targets and dependencies]' \ - '(-C --directory)-'{C,-directory=}'[change to specified directory first]:directory:_directories' \ - '--cache-debug=[print CacheDir debug info to file]:file:_files' \ - '(--cache-disable --no-cache)--'{cache-disable,no-cache}"[don't retrieve built targets from cache]" \ - '(--cache-force --cache-populate)--'{cache-force,cache-populate}'[copy already-built targets into cache]' \ - "--cache-readonly[don't update CacheDir with built targets]" \ - '--cache-show[print build actions for files from cache]' \ - '--config=[set Configure mode]:mode:(auto force cache)' \ - '(-u --up --search-up -U)-D[search up for SConstruct; build default targets]' \ - '--debug=[print debugging information]:type:( - count duplicate explain findlibs includes memoizer memory objects pdb prepare presub stacktrace time)' \ - '--diskcheck=[enable specific on-disk checks]:check:(all none match rcs sccs)' \ - '--duplicate=[set preferred file duplication methods]:file duplication methods:( - hard-soft-copy soft-hard-copy hard-copy soft-copy copy)' \ - '(-f --file --makefile --sconstruct)-'{f,-file=,-makefile=,-sconstruct=}'[specify SConstruct file]:file:_files' \ - '(-)-'{h,-help}'[display defined usage information]' \ - '(-)-'{H,-help-options}'[display usage information]' \ - '(-i -ignore-errors)-'{i,-ignore-errors}'[ignore errors from build actions]' \ - \*{-I,--include-dir=}'[add directory to search Python modules]:directory:_directories' \ - '(--implicit-deps-changed --implicit-deps-unchanged)--implicit-cache[cache scanned dependencies]' \ - '(--implicit-cache --implicit-deps-changed)--implicit-deps-changed[rescan dependencies]' \ - '(--implicit-cache --implicit-deps-unchanged)--implicit-deps-unchanged[ignore changes to scanned dependencies]' \ - '--interactive[start interactive mode]' \ - '(-j --jobs)-'{j,jobs=}'[specify no of jobs to run in parallel]' \ - '(-k --keep-going)-'{k,-keep-going}'[continue after an error]' \ - '--max-drift=[set the maximum clock drift]:drift (seconds)' \ - '--md5-chunksize=[set chunksize for MD5 signature computation]:size (kB)' \ - '(-n --just-print --dry-run --recon)-'{n,-just-print,-dry-run,-recon}"[print commands but don't run them]" \ - "--no-site-dir[don't use the usual site_scons directory]" \ - '--profile=[profile scons]:output file:_files' \ - '(-q --question)-'{q,question}'[query whether up-to-date]' \ - '-Q[suppress progress messages]' \ - '--random[build dependencies in random order]' \ - '(-s --silent --quiet)-'{s,-silent,-quiet}"[don't print commands]" \ - '--site-dir=[specify site_scons directory]:directory:_directories' \ - '--stack-size[set stacksize of threads]:size (kB)' \ - '--taskmastertrace=[trace node evaluation to file]:file' \ - '--tree=[print dependency tree]:format:(all derived prune status)' \ - '(-u --up --search-up -D -U)-'{u,-up,-search-up}'[search up for SConstruct; build current directory]' \ - '(-u --up --search-up -D)-U[search up for SConstruct; build Default targets]' \ - '(-)-'{v,-version}'[print version information]' \ - \*{--warn=,--warning=}'[enable or disable warnings]:type:( - all cache-write-error corrupt-sconsign dependency deprecated - deprecated-copy deprecated-source-signatures deprecated-target-signatures - duplicate-environment fortran-cxx-mix link misleading-keywords - missing-sconscript no-md5-module no-metaclass-support no-object-count - no-parallel-support python-version reserved-variable stack-size no-all - no-cache-write-error no-corrupt-sconsign no-dependency no-deprecated - no-deprecated-copy no-deprecated-source-signatures - no-deprecated-target-signatures no-duplicate-environment - no-fortran-cxx-mix no-link no-misleading-keywords no-missing-sconscript - no-no-md5-module no-no-metaclass-support no-no-object-count - no-no-parallel-support no-python-version no-reserved-variable - no-stack-size)' \ - \*{-Y,--repository}'[search specified repository for files]:repository:_files' \ - '*:target:_default' # Doesn't seem to be a simple way to get a list of targets diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_screen b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_screen deleted file mode 100644 index 6d47d263..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_screen +++ /dev/null @@ -1,142 +0,0 @@ -#compdef screen - -local curcontext="$curcontext" state line expl ret=1 -local scr_cmds sessions - -scr_cmds=( - acladd aclchg acldel aclgrp - aclumask activity addacl allpartial - altscreen at attrcolor autodetach - autonuke backtick bce bd_bc_down - bd_bc_left bd_bc_right bd_bc_up bd_bell - bd_braille_table bd_eightdot bd_info bd_link - bd_lower_left bd_lower_right bd_ncrc bd_port - bd_scroll bd_skip bd_start_braille bd_type - bd_upper_left bd_upper_right bd_width bell_msg - bind bindkey blanker blankerprg - break breaktype bufferfile c1 - caption chacl charset chdir - clear colon command compacthist - console copy crlf debug - defautonuke defbce defbreaktype defc1 - defcharset defencoding defescape defflow - defgr defhstatus defkanji deflog - deflogin defmode defmonitor defnonblock - defobuflimit defscrollback defshell defsilence - defslowpaste defutf8 defwrap defwritelock - detach digraph dinfo displays - dumptermcap echo encoding escape - eval exec fit flow - focus gr hardcopy hardcopy_append - hardcopydir hardstatus height help - history hstatus idle ignorecase - info kanji kill lastmsg - license lockscreen log logfile - login logtstamp mapdefault mapnotnext - maptimeout markkeys maxwin meta - monitor msgminwait msgwait multiuser - nethack next nonblock number - obuflimit only other partial - password paste pastefont pow_break - pow_detach pow_detach_msg prev printcmd - process quit readbuf readreg - redisplay register remove removebuf - reset resize screen scrollback - select sessionname setenv setsid - shell shelltitle silence silencewait - sleep slowpaste sorendition source - split startup_message stuff su - suspend term termcap termcapinfo - terminfo time title umask - unsetenv utf8 vbell vbell_msg - vbellwait verbose version wall - width windowlist windows wrap - writebuf writelock xoff xon - zmodem zombie -) - -_arguments -C \ - '(-6)-4[resolve hostnames only to IPv4 addresses]' \ - '(-4)-4[resolve hostnames only to IPv6 addresses]' \ - "-a[force all capabilities into each window's termcap]" \ - '-A[adapt all windows to the new display width & height]' \ - "-c[read configuration file instead of '.screenrc']:config file:_files" \ - '-d[detach the elsewhere running screen (with -r: reattach here)]: :->attached-sessions' \ - '-dmS[start as daemon, screen session in detached mode]:session name' \ - '-D[detach and logout remote (with -r: reattach here)]: :->attached-sessions' \ - '-e[change command characters]:command characters' \ - '-f-[set flow control]:flow control:((n\:flow\ control\ off a\:flow\ control\ auto \:flow\ control\ on))' \ - '-h[set the size of the scrollback history buffer]:buffer size' \ - '-i[interrupt output sooner when flow control is on]' \ - "(-l)-ln[login mode off (don't update utmp database)]" \ - '(-ln)-l[login mode on (update utmp database)]' \ - '(- *)'{-ls,-list}'[list sessions/socket directory]: :->any-sessions' \ - "-L[terminal's last character can be safely updated]" \ - '-Logfile[set logfile name]:log file:_files' \ - '-m[ignore $STY variable, do create a new screen session]' \ - '-O[choose optimal output rather than exact vt100 emulation]' \ - '-p[preselect the named window]:window number or name:((\=\:windowlist -\:blank\ window \:window\ number))' \ - '-q[quiet startup, exit with non-zero return code if unsuccessful]' \ - '-Q[send response to stdout of command query process]:screen command:(echo info lastmsg number select time title windows)' \ - '-r[reattach to a detached screen process]: :->detached-sessions' \ - '-Dr: :->any-sessions' \ - '-dr: :->any-sessions' \ - '-R[reattach if possible, otherwise start a new session]: :->detached-sessions' \ - '-DR: :->any-sessions' \ - '-dR: :->any-sessions' \ - '-s[shell to execute rather than $SHELL]:shell name: _command_names -e' \ - '-S[name this session <pid>.sockname instead of <pid>.<tty>.<host>]:session name:->any-sessions' \ - "-t[set title (window's name)]:title" \ - '-T[use term as $TERM for windows, rather than "screen"]:terminal type:_terminals' \ - '-U[tell screen to use UTF-8 encoding]' \ - '(- *)-v[print screen version]' \ - '(- *)-wipe[do nothing, clean up SockDir]: :->any-sessions' \ - '-x[attach to a not detached screen (multi display mode)]: :->attached-sessions' \ - '-Dx: :->any-sessions' \ - '-dx: :->any-sessions' \ - '-X[execute command as a screen command in the specified session]:screen command:(${scr_cmds[@]})' \ - '*:: :->normal' && ret=0 - -if [[ -n $state ]]; then - case $state in - normal) - if (( CURRENT == 1 )) && [[ $PREFIX == /dev/* ]]; then - _path_files -g '*(%)' - elif (( CURRENT == 2 )) && [[ ${words[1]} == /dev/* ]]; then - _baudrates - elif (( CURRENT > 2 )) && [[ ${words[1]} == /dev/* ]]; then - _message "no more parameters" - else - _normal - fi - ;; - attached-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*[Aa]ttached*}##[[:blank:]]}%%[[:blank:]]*} - ) - ;; - detached-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*[Dd]etached*}##[[:blank:]]}%%[[:blank:]]*} - ) - ;; - any-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*tached*}##[[:blank:]]}%%[[:blank:]]*} - ) - esac - - # check if initial PID is necessary to make sessions unambiguous - if [[ ${#${(u)sessions#*.}} -lt $#sessions ]]; then - _wanted screen-sessions expl "${state%-*} screen process" \ - compadd -a sessions - else - _wanted screen-sessions expl "${state%-*} screen process" \ - compadd ${sessions#*.} - fi -fi && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_script b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_script deleted file mode 100644 index 7a3960be..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_script +++ /dev/null @@ -1,84 +0,0 @@ -#compdef script scriptreplay - -local args hlp="-h --help -V --version" - -if [[ $service = scriptreplay ]]; then - _arguments -S -s \ - "(1 -t --timing -T --log-timing $hlp)"{-t+,-T+,--timing=,--log-timing=}'[specify file containing timing output]:timing file:_files' \ - "(-I --log-in -B --log-io $hlp)"{-I+,--log-in=}'[specify file containing terminal input]:file:_files' \ - "(2 -s --typescript -B --log-io $hlp)"{-s+,-O+,--typescript=,--log-out=}'[specify file containing terminal output]:typescript file:_files' \ - "(-B --log-io -I --log-in -s -O --typescript --log-out $hlp)"{-B,--log-io}'[specify file containing terminal input and output]' \ - "($hlp)--summary[display overview about recorded session and exit]" \ - "(3 -d --divisor $hlp)"{-d+,--divisor=}'[speed up replay]:factor' \ - "(-m --maxdelay $hlp)"{-m+,--maxdelay=}'[set maximum delay between updates]:delay (seconds)' \ - "(-x --stream $hlp)"{-x+,--stream=}'[specify stream type]:name:(out in signal or info)' \ - "(-c --cr-mode $hlp)"{-c+,--cr-mode=}'[specify CR char mode]:mode:(auto never always)' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[display version information]' \ - "(-t --timing $hlp):timing file:_files" \ - "(-s --typescript -O --log-out $hlp):typescript file:_files" \ - "(-d --divisor $hlp): :_guard '[0-9.]#' 'timing divisor'" - return -fi - -case $OSTYPE in - linux*) - args=( -S - "(-I --log-in $hlp)"{-I,--log-in}'[log stdin to file]:file:_files' - "(-O --log-out $hlp)"{-O,--log-out}'[log stdout to file]:file:_files' - "(-B --log-io $hlp)"{-B,--log-io}'[log stdin and stdout to file]:file:_files' - "(-T --log-timing -t --timing $hlp)"{-T+,--log-timing=}'[log timing information to file]:file:_files' - "(-m --logging-format $hlp)"{-m+,--logging-format=}'[specify log file format]:format:(classic advanced)' - "(-a --append $hlp)"{-a,--append}'[append to the log file]' - "(-c --command $hlp)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring' - "(-e --return $hlp)"{-e,--return}'[return exit status of the child process]' - "(-f --flush $hlp)"{-f,--flush}'[flush output after each write]' - "(-E --echo $hlp)"{-E+,--echo=}'[echo input]:when:(auto always never)' - "($hlp)--force[use output file even when it is a link]" - "(-o --output-limit $hlp)"{-o+,--output-limit=}'[terminate if output files exceed specified size]:size (bytes)' - "(-q --quiet $hlp)"{-q,--quiet}'[be quiet]' - "(-t --timing $hlp)"{-t-,--timing=-}'[output timing data]::timing file:_files' - '(- 1)'{-h,--help}'[display help information]' - '(- 1)'{-V,--version}'[display version information]' - ) - ;; - darwin*|dragonfly*|netbsd*|freebsd*) - args=( - '-q[be quiet: suppress display of starting and ending lines]' - '(-a -r -k)-d[suppress sleeps when playing back a session]' - '(-a -r -k -t)-p[play back a recorded session]' - '(-d -p)-r[record a session with input, output and timing data]' - ) - ;| - netbsd*|openbsd*) - args+=( - '-c[run specified command instead of a shell]:command:_cmdstring' - ) - ;| - netbsd*) - args+=( '-f[flush output after each write]' ) - ;| - freebsd*) - args+=( - '-f[use filemon(4)]' - ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( - '-F[send output to specified named pipe]:fifo:_files -g "*(p)"' - '-t+[specify interval of data flushing]:interval (seconds)' - '-k[log keys sent to the program as well as output]' - '*:::arguments: _normal' - ) - ;| - darwin*|freebsd*) - ;| - *) - args+=( - '(-p -d)-a[append output]' - ) - ;; -esac - -_arguments -s $args \ - "($hlp):typescript file:_files" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scselect b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scselect deleted file mode 100644 index ff7d2610..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scselect +++ /dev/null @@ -1,39 +0,0 @@ -#compdef scselect - -local ret=1 u l -local -a context line state state_descr tmp loc1 loc2 -local -A opt_args - -_arguments -s -S : \ - '-n[delay changing until next boot]' \ - '1: :->locations' \ -&& ret=0 - -[[ $state == locations ]] && { - # For some reason scselect expects location names to be encoded in Mac OS - # Roman; in order to prevent completed arguments from breaking the tool, we'll - # insert the UUID instead if the name would contain incompatible characters - tmp=( ${(f)"$( _call_program locations $words[1] )"} ) - tmp=( ${tmp[2,-1]} ) - tmp=( ${tmp##[*[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${tmp/[[:space:]]##\(/$'\0'} ) - tmp=( ${tmp%\)} ) - - for u l in "${(@0)tmp}"; do - loc1+=( "${l}:${u}" ) - if [[ $l == [[:ascii:]]## ]]; then - loc2+=( $l ) - else - loc2+=( $u ) - fi - done - - if (( $#loc1 )); then - _describe location loc1 loc2 && ret=0 - else - _message location && ret=0 - fi -} - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scutil b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scutil deleted file mode 100644 index 6c0a84d6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_scutil +++ /dev/null @@ -1,56 +0,0 @@ -#compdef scutil - -local ret=1 -local -a context line state state_descr -local -A opt_args val_args - -# Don't complete host names unless we have -r (this is weird, but the obvious -# alternative (exclusion sets) currently doesn't work properly with option -# stacking) -(( ! $words[(I)-*] || ($words[(I)-W] && ! $words[(I)-r]) )) && -: ${PREFIX:=-} - -# @todo We could complete nc-cmd arguments better if we wanted to -_arguments -s -S -A '-*' : \ - + '(g1)' \ - '(: -)--dns[display current DNS configuration]' \ - '(: -)--get[display specified preference]: :->prefs' \ - '(: -)--nc[interact with VPN connections]: :->nc-cmd:*:argument' \ - '(: -)--prefs[interface with raw preference data]:preference file:_files' \ - '(: -)--proxy[display current proxy configuration]' \ - '(: -)--set[set specified preference]: :->prefs:value' \ - + g2 \ - '(g1 g3)-r[check network reachability]' \ - '(g1 g3)-W[monitor (watch) network reachability]' \ - '(g1 g3)1:host:_hosts' \ - '(g1 g3)2::host:_hosts' \ - + g3 \ - '(g1 g2)-w[wait for key to exist in dynamic store]' \ - '(g1 g2)-t+[specify timeout]:timeout (seconds)' \ -&& ret=0 - -case $state in - nc-cmd) - _values command \ - 'disablevpn[disable specified service or VPN application type]' \ - 'enablevpn[enable specified service or VPN application type]' \ - 'help[display command help]' \ - 'list[list services]' \ - 'ondemand[display VPN on-demand information]' \ - 'resume[resume specified service]' \ - 'select[make specified service active]' \ - 'show[display configuration information for specified service]' \ - 'start[start specified service]' \ - 'statistics[display statistics for specified service]' \ - 'status[display status for specified service]' \ - 'stop[stop specified service]' \ - 'suspend[suspend specified service]' \ - 'trigger[trigger VPN on-demand with specified host]' \ - && ret=0 - ;; - prefs) - _values preference ComputerName HostName LocalHostName && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seafile b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seafile deleted file mode 100644 index bd36c0ac..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seafile +++ /dev/null @@ -1,33 +0,0 @@ -#compdef seaf-cli - -local -a commands - -commands=( - "init\:'initialize config directory'" - "start\:'start seafile daemon'" - "stop\:'stop seafile daemon'" - "list\:'list local libraries'" - "list-remote\:'list remote libraries'" - "status\:'show syncing status'" - "download\:'download a library from seafile server'" - "download-by-name\:'download a library defined by name from seafile server'" - "sync\:'sync a library with an existing foler'" - "desync\:'desync a library with seafile server'" - "create\:'create a library'" - "config\:'configure seafile client'" -) - -_arguments \ - ":command:(($commands))" \ - {-h,--help}'[show help]' \ - {-c,--confdir}'[specify config directory]:config directory:_files -/' \ - {-d,--dir,--folder}'[directory]:directory:_directories' \ - {-s,--server}'[URL for seafile server]':server \ - {-u,--username}'[username]':username \ - {-p,--password}'[password]':password \ - {-a,--tfa}'[two-factor authentication]':tfa \ - {-l,--library}'[library id]':library \ - {-e,--libpasswd}'[library password]':libpasswd \ - {-k,--key}'[configuration key]':key \ - {-v,--value}'[configuration value]':value \ - "*: :_files" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sed b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sed deleted file mode 100644 index 79a010c9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sed +++ /dev/null @@ -1,255 +0,0 @@ -#compdef sed gsed psed s2p - -local variant inplace extended ign sep separator -local -i nest=0 -local -a args aopts sedexpr cmds_none cmds_slash cmds_end substflags expl bsnl nl labels excl dedup -local -a step range negate mods -aopts=( -A '-*' ) -bsnl=( $'\\\n' ) -nl=$'\n' -compquote nl - -cmds_none=( - '{:start group' - 'q:quit after printing pattern space' - 'h:copy pattern space to hold space' - '\::place label' - '#:comment' - '=:print current line number' - 'a:append text' - 'i:insert text' - 'r:append contents of file' - 'b:branch' - 't:branch if s command has been successful' - 'c:replace line with text' - 'l:list current line in visually unambiguous form' - 'w:write pattern space to file' -) -cmds_slash=( - 's:substitute regex' - 'y:transliterate characters' -) -cmds_end=( - 'd:delete pattern space' - 'D:delete up to the first newline in the pattern space' - 'g:copy hold space to pattern space' - 'G:append hold space to pattern space' - 'H:append pattern space to hold space' - 'n:read the next line of input into pattern space' - 'N:append the next line of input to the pattern space' - 'p:print the current pattern space' - 'P:print up to the first newline of the current pattern space' - 'x:exchange hold and pattern spaces' - '}:end group' -) -substflags=( - 'g:replace all matches to the regular expression' - 'p:print new pattern space if substitution made' - 'w:write result to named file if substitution made' -) -args=( - '(-n --quiet --silent)'{-n,--quiet,--silent}'[suppress automatic printing of pattern space]' - '(1)*'{-e+,--expression=}'[specify sed commands to run]:sed script:_sed_expressions' - '(1)*'{-f+,--file=}'[add contents of file to commands to run]:file:_files' - '(-e)1:sed script:_sed_expressions' - '*:input file:_files' -) -inplace='[edit files in-place, running scripts separately for each file]:: :_guard "^(*[@/; ]*|?(#c6,)|-*)" "suffix for backup"' -extended='[use extended regular expressions]' - -if [[ $service = (psed|s2p) ]]; then - args=( - "${(@)args:#(|\(*\))(|\*)--*}" - '-a[delay opening files listed with w function]' - ) -elif _pick_variant -r variant gnu=GNU unix --version; then - aopts=( ) - (( $#words > 2 )) && ign='!' - args+=( - '--debug[annotate program execution]' - '--follow-symlinks[follow symlinks when processing in place]' - '(-i --in-place -s --separate)'{-i-,--in-place=-}$inplace - '(-c --copy)'{-c,--copy}'[copy instead of rename when shuffling files in in-place mode]' - '(-l --line-length)'{-l+,--line-length=}'[specify line-wrap length for the l command]' - '(-r)--posix[disable GNU extensions]' - '(-E -r --regexp-extended)'{-E,-r,--regexp-extended}$extended - '(-s --separate)'{-s,--separate}'[consider files separately instead of as a combined stream]' - '--sandbox[block commands that can affect the system (r/w/W/e)]' - '(-u --unbuffered)'{-u,--unbuffered}'[disable data buffering]' - '(-z --null-data)'{-z,--null-data}'[separate lines by NUL characters]' - "${ign}(- 1 :)--help[print program usage]" - "${ign}(- 1 :)--version[print program version]" - ) - if [[ -z ${words[(r)--posix]} ]]; then - cmds_none+=( - 'R:append a line from file' - 'T:branch if no s command has been successful' - 'W:write the first line of pattern space to file' - 'v:fail if GNU extensions not supported or older than specified version' - ) - cmds_end+=( - "e:execute a command and include it's output" - 'F:print the filename of the current input file' - 'Q:quit' - 'z:empty the pattern space' - ) - substflags+=( - 'e:execute pattern space as a command and replace with result' - {i,I}':case-insensitive regular expression matching' - {m,M}':multi-line matching' - ) - fi -else - args=( "${(@)args:#(|\(*\))(|\*)--*}" ) - case $OSTYPE in - openbsd*|freebsd*|netbsd*|darwin*|dragonfly*) - args+=( - '(-r -E)'-E$extended - '-a[delay opening files listed with w function]' - ) - ;| - openbsd*|freebsd*|netbsd*|dragonfly*) args+=( '(-r -E)'-r$extended ) ;| - darwin*|freebsd*|netbsd*|openbsd*|dragonfly*) args+=( '-i+'$inplace ) ;| - darwin*|freebsd*|netbsd*|dragonfly*) args+=( '-l[make output line buffered]' ) ;| - freebsd*|dragonfly*) args+=( '-u[disable data buffering]' ) ;| - freebsd*|netbsd*|dragonfly*) - args+=( - '-I+[edit files in-place, treating all files as a single input stream]:: :_guard "^(*[@/; \\\]*|?(#c6,)|-*)" "suffix for backup"' - ) - ;; - openbsd*) args+=( '-u[make output line buffered]' ) ;; - esac -fi - -zstyle -s ":completion:${curcontext}:address-forms" list-separator separator || separator=-- -step=( "~ $separator step" ) -negate=( "! $separator negated" ) -range=( ", $separator range" ) -mods=( "I $separator case-insensitive" "M $separator multi-line" ) - -sedexpr=( - \( /$'*\0[ \t\n]#'/ \) # strip off any preceding arguments - handled by _arguments - \( - # Handle an optional address range - \( - \( - \( - '///' '/[^/]#//' ':regexes:regex:' # skip /pattern/ - \| - '/\\(?)/' -'sep=${match#?}' # handle \xpatternx - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':regexes:regex:' - \) - $'/[ \t]#/' - \( \| '/[IM]##/' -'dedup=( ${(s..)match} )' ':address-forms:address form:compadd -S "" -d mods -F dedup I M' \) \# - \| - '/([0-9]##|$)[ \t]#/' # line number - \( - '/\~[ \t]#/' # addr1~N - '/[0-9]##[ \t]#/' ': _message -e steps "number - match where line number is a multiple"' - \| '//' ':address-forms:address form:compadd -S "" -d step \~' \) - \| - '/[]/' ': _guard "^([sy]|[^0-9$/\\\]*)" "address - line number or /pattern/"' - \) - \( # range end, also optional - '/[ \t]#,[ \t]#/' -'excl=( \\\# : )' # exclude comments and labels after ranges - \( - '///' '/[^/]#//' ':regexes:regex:' # handle /pattern/ - \| - '/\\(?)/' -'sep=${match#?}' # handle \xpatternx - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':regexes:regex - 2:' - \| - '/+[ \t]#/' # addr1,+N - '/[0-9]##/' ': _message -e number "number of following lines"' - \| - '/\~[ \t]#/' # addr1,~N - '/[0-9]##/' ': _message -e number "following lines until line number is a multiple of specified number"' - \| - '/([0-9]##|$)/' # line number - \| - '/[]/' ': _message -e ranges "ending line - [+~]number, $ or /pattern/"' - \) - \| - '//' -'excl=( \\\# : )' ':address-forms:address form:compadd -S "" -d range ,' - \) - \( - '/!/' ':address-forms:address form:compadd -S "" -d negate !' - \| \) - \| // -'excl=( \{ )' \) # { ... } is only useful following a range so exclude { - - $'/[ \t]#/' -'(( nest )) || excl+=( \} )' # whitespace + exclude } without preceding { - \( # First commands, for which the pattern fully terminates them - '/e[ \t]#/' $'/((\\\n|\\[^\n]|[^\\\n])##\n|[\n;])/' ':commands:command:_cmdstring' # GNU extension - \| - $'/{[ ;\t\n]#/' -'((++nest,1))' # opening brace - \| - '/\#/' # comments - $'/[^\n]##\n[\n; \t]#/' ':comments:comment:' - \| - $'/[aci]/' # a, c and i commands - \( - $'/[ \t]#/' -'[[ $variant = gnu && $+opt_args[--posix] = 0 ]]' # GNU allows, e.g. 'c string' - \| - $'/[ \t]#/' $'/\\\n/' ':newlines:newline:compadd -Q -S "" "$bsnl"' - \) - $'/(\\\n|\\[^\n]|[^\\\n])##\n[\n; \t]#/' ':strings:string:' - \| - $'/[RrwW][ \t]#/' $'/[^\n]##\n[\n; \t]#/' ':files:file:_files -S ""' - \| # Now commands with shared termination handling - \( - # branches/labels, GNU sed allows an empty label - $'/[:btT][ \t]#/' $'/[^ \t\n;]#/' $'%[ \t\n;]%' -'labels+=( $match )' - ':labels:label: _wanted -x labels expl label compadd -S "" -a labels' - \| - '/l/' $'/[ \t]#<->/' ':width:width:' - \| - '/s(?)/' -'sep=${match#s}' # Substitutions - \( '/\\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# - '/?/' -'[[ $match = $sep ]]' ':regexes:source regex:' - \( '/\\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# - '/?/' -'[[ $match = $sep ]]' ':regexes:substitute string (back-references with & and \1 .. \9):' - \( # Substitution flags - $'/w[ \t]#/' $'/[^\n]##/' $'%\n%' ':files:file:_files -S ""' - \| - # pass existing flags, building exclusion list from them - $'/[gpiImM0-9]#/' -'excl=( ${(s..)${${${match/[iI]/iI}/[mM]/mM}}/e/ew} )' - \( - '//' -'[[ -z ${excl[(r)[0-9]]} ]]' # exclude if numbers already there - '//' '%[^egpiImM0-9]%' ': _message -e numbers "number - substitute nth match"' - \| - '//' '%[^egpiImM0-9]%' $':flags:flag: _describe -t flags flag substflags -S "" -F excl' - \) - \) - \| - '/y(?)/' -'sep=${match#y}' # Character transliterations - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':source:source:' - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':dest:dest:' - \| - '/[qQ]/' -'[[ $variant = gnu && $+opt_args[--posix] = 0 ]]' - $'/[\t ]#<->/' '%[^0-9]%' ':exit-codes:exit code:' - \| - '/[=dDFhHgGnNpPqQxz]/' # stand-alone commands that take no argument - \( $'/[ \t]#/' $'%[#\n;}]%' \| $'/[ \t]/' '/[]/' ': _message "no arguments"' \| \) - \| - $'/v[ \t]#/' $'/[^\n;}]#/' $'%[\n;}]%' ':versions:version:' - \| - $'/}[ \t]#/' -'((--nest,1))' # closing } - \| - /'[]'/ ':commands:command: _describe -t sed-commands "sed command" cmds_none -S "" -F excl -- cmds_slash -S / -- cmds_end -F excl -r \; -S $nl' - \) - $'/[ \t]#/' - \( $'/}[ \t]#/' -'((--nest,1))' \| \) # closing } is allowed by GNU sed without preceding ; or newline - \( - '/\#/' $'/[^\n]##\n[\n; \t]#/' ':comments:comment:' # line end comments - \| - # add in and auto-removable newline if command is terminated - $'/[;\n][ ;\t\n]#/' $':separators:separator:compadd -r ";" -S $nl ""' - \| - $'/{[ \t]#/' -'((++nest,1))' # opening {, keep count of nesting level - \) - \) - \) \# -) - -_regex_arguments _sed_expressions "$sedexpr[@]" - -_arguments -s -S $aopts : "$args[@]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_contexts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_contexts deleted file mode 100644 index 4c2cf428..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_contexts +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -local -a parts suf - -parts=( users roles types ) -while compset -P 1 '*:' && (( $+parts[1] )) ; do - shift parts -done -if (( $+parts[1] )); then - compset -S ':*' || suf=( -S : ) - _selinux_$parts[1] $suf -else - _message -e selinux-ranges 'selinux range' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_roles b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_roles deleted file mode 100644 index 92b4c36c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_roles +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local -a seroles expl - -seroles=( ${(f)"$(_call_program selinux-roles seinfo --flat -r)"} ) -_description selinux-roles expl "selinux role" -compadd "$@" "$expl[@]" -a seroles diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_types b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_types deleted file mode 100644 index ef31f45d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_types +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local -a setypes expl - -setypes=( ${(f)"$(_call_program selinux-types seinfo --flat -t)"} ) -_description selinux-types expl "selinux type" -compadd "$@" "$expl[@]" -a setypes diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_users b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_users deleted file mode 100644 index f046c92c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_selinux_users +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -local -a seusers expl - -seusers=( ${(f)"$(_call_program selinux-users seinfo --flat -u)"} ) -(( $#seusers )) || seusers=( guest_u root staff_u sysadm_u system_u unconfined_u user_u ) -_description selinux-users expl "selinux user" -compadd "$@" "$expl[@]" -a seusers diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sep_parts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sep_parts deleted file mode 100644 index 6fcf54ec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sep_parts +++ /dev/null @@ -1,146 +0,0 @@ -#autoload - -# This function can be used to separately complete parts of strings -# where each part may be one of a set of matches and different parts -# have different sets. -# Arguments are alternately arrays and separator strings. Arrays may -# be given by name or literally as words separated by white space in -# parentheses, e.g.: -# -# _sep_parts '(foo bar)' @ hosts -# -# This will make this function complete the strings `foo' and `bar'. -# If the string on the line contains a `@', the substring after it -# will be completed from the array `hosts'. Of course more arrays -# may be given, each preceded by another separator string. -# -# This function understands the `-J group', `-V group', and -# `-X explanation' options. - -local str arr sep test testarr tmparr prefix suffixes autosuffix -local matchflags opt group expl nm=$compstate[nmatches] opre osuf opts matcher - -# Get the options. - -zparseopts -D -a opts 'J+:=group' 'V+:=group' P: F: S: r: R: q 1 2 o+: n \ - 'x+:=expl' 'X+:=expl' 'M+:=matcher' - -# Get the string from the line. - -opre="$PREFIX" -osuf="$SUFFIX" -str="$PREFIX$SUFFIX" -SUFFIX="" -prefix="" - -# Walk through the arguments to find the longest unambiguous prefix. - -while [[ $# -gt 1 ]]; do - # Get the next array and separator. - arr="$1" - sep="$2" - - if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr - fi - - # Is the separator on the line? - - [[ "$str" != *${sep}* ]] && break - - # Get the matching array elements. - - PREFIX="${str%%(|\\)${sep}*}" - builtin compadd -O testarr "$matcher[@]" -a "$arr" - [[ $#testarr -eq 0 && -n "$_comp_correct" ]] && - compadd -O testarr "$matcher[@]" -a "$arr" - - # If there are no matches we give up. If there is more than one - # match, this is the part we will complete. - - (( $#testarr )) || return 1 - [[ $#testarr -gt 1 ]] && break - - # Only one match, add it to the prefix and skip over it in `str', - # continuing with the next array and separator. - - prefix="${prefix}${testarr[1]}${sep}" - str="${str#*${sep}}" - shift 2 -done - -# Get the array to work upon. - -arr="$1" -if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr -fi - -if [[ $# -le 1 || "$str" != *${2}* ]]; then - # No more separators, build the matches. - - PREFIX="$str" - builtin compadd -O testarr "$matcher[@]" -a "$arr" - [[ $#testarr -eq 0 && -n "$_comp_correct" ]] && - compadd -O testarr "$matcher[@]" -a "$arr" -fi - -[[ $#testarr -eq 0 || ${#testarr[1]} -eq 0 ]] && return 1 - -# Now we build the suffixes to give to the completion code. - -shift -suffixes=("") -autosuffix=() - -while [[ $# -gt 0 && "$str" == *${1}* ]]; do - # Remove anything up to the suffix. - - str="${str#*${1}}" - - # Again, we get the string from the line up to the next separator - # and build a pattern from it. - - if [[ $# -gt 2 ]]; then - PREFIX="${str%%${3}*}" - else - PREFIX="$str" - fi - - # We incrementally add suffixes by appending to them the separators - # and the strings from the next array that match the pattern we built. - - arr="$2" - if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr - fi - - builtin compadd -O tmparr "$matcher[@]" -a "$arr" - [[ $#tmparr -eq 0 && -n "$_comp_correct" ]] && - compadd -O tmparr "$matcher[@]" - "$arr" - - suffixes=("${(@)^suffixes[@]}${(q)1}${(@)^tmparr}") - - shift 2 -done - -# If we were given at least one more separator we make the completion -# code offer it by appending it as a autoremovable suffix. - -(( $# )) && autosuffix=(-qS "${(q)1}") - -# Add the matches for each of the suffixes. - -PREFIX="$pre" -SUFFIX="$suf" -for i in "$suffixes[@]"; do - compadd -U "$group[@]" "$expl[@]" "$autosuffix[@]" "$opts[@]" \ - -i "$IPREFIX" -I "$ISUFFIX" -p "$prefix" -s "$i" -a testarr -done - -# This sets the return value to indicate that we added matches (or not). - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seq b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seq deleted file mode 100644 index 5b825675..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_seq +++ /dev/null @@ -1,28 +0,0 @@ -#compdef seq gseq - -local variant args - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( ':: :_guard "^-[^0-9]*" '{first,step,last} ) -case $variant in - gnu) - args+=( - '(--help --version)'{-f+,--format=}'[use printf style floating-point format]:format' - '(--help --version -s --separator)'{-s+,--separator=}'[use specified separator for numbers]:separator [\n]' - '(--help --version -w --equal-width)'{-w,--equal-width}'[equalize width by padding with leading zeroes]' - '(- 1 2 3)--help[display usage information]' - '(- 1 2 3)--version[display version information]' - ) - ;; - *) - args+=( - '-f+[use printf style floating-point format]:format' - '-s+[use specified separator for numbers]:separator [\n]' - '-t+[use specified string to terminate numbers]:string [\n]' - '-w[equalize width by padding with leading zeroes]' - ) - ;; -esac - -_arguments -s -A '-[^1-9]*' $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sequence b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sequence deleted file mode 100644 index 1a87c175..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sequence +++ /dev/null @@ -1,40 +0,0 @@ -#autoload - -# a separated list where each component of the list uses the same -# function. - -# -n num : number of items in list [default is unlimited] -# -s sep : specify separator [defaults to comma] -# -d : duplicate values allowed - -local curcontext="$curcontext" nm="$compstate[nmatches]" pre qsep nosep minus -local -a opts sep num pref suf cont end uniq dedup garbage - -zparseopts -D -a opts s:=sep n:=num p:=pref i:=pref P:=pref I:=suf S:=suf \ - q=suf r:=suf R:=suf C:=cont F:=garbage d=uniq M+: J+: V+: 1 2 o+: X+: x+: -(( $#cont )) && curcontext="${curcontext%:*}:$cont[2]" -(( $#sep )) || sep[2]=, - -if (( $+suf[(r)-S] )); then - end="${(q)suf[suf[(i)-S]+1]}" - (( $#end )) && compset -S ${end}\* && suf=() && nosep=1 -fi - -qsep="${sep[2]}" -compquote -p qsep -if (( ! $#uniq )); then - (( $+pref[(r)-P] )) && pre="${(q)pref[pref[(i)-P]+1]}" - dedup=( "${(@)${(@ps.$qsep.)PREFIX#$pre}[1,-2]}" "${(@)${(@ps.$qsep.)SUFFIX}[2,-1]}" ) - [[ -n $compstate[quoting] ]] || dedup=( ${(Q)dedup} ) -fi - -if (( $#num )) && compset -P $(( num[2] - 1 )) \*${(q)qsep}; then - pref=() -else - (( ! nosep && (!$#num || num[2] > 1) )) && suf=( -S ${qsep} -r "$end[1]${(q)qsep[1]} \t\n\-" ) - compset -S ${(q)qsep}\* && suf=() - compset -P \*${(q)qsep} && pref=() -fi - -(( minus = argv[(ib:2:)-] )) -"${(@)argv[1,minus-1]}" "$opts[@]" -F dedup "$pref[@]" "$suf[@]" "${(@)argv[minus+1,-1]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_service b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_service deleted file mode 100644 index 1216f57a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_service +++ /dev/null @@ -1,42 +0,0 @@ -#compdef service - -# *:: for last argument looks more like a hack but it is -# the simplest way known to me to reset $words and keep -# _sub_command happy - -# we are interested in init service only -local args actions ctx="${curcontext}argument-1:" -zstyle -T ":completion:${ctx}" tag-order && \ - zstyle ":completion:${ctx}" tag-order init - -case $OSTYPE in - freebsd<11->.*) - args=( '-j+[perform actions in specified jail]:jail:_jails' ) - ;& - freebsd*|dragonfly*) - actions=( - '(*)-r[show the results of boot time rcorder]' - '(*)-R[restart all enabled local services]' - ) - ;& - netbsd*) - _arguments -s $args \ - '(-e -R)-v[verbose]' \ - '*::service argument:_init_d' \ - + '(actions)' $actions \ - '(*)-e[show services that are enabled]' \ - '(*)-l[list all scripts in /etc/rc.d and the local startup directory]' \ - ':service name:_services' - ;; - *) - _arguments -s \ - '(-d --debug)'{-d,--debug}'[turn debugging on]' \ - '(- :)'{-h,--help}'[print help information]' \ - '(- :)'{-v,--version}'[print version information]' \ - '(-)'{-f,--full-restart}'[restart service]' \ - '(- :)'{-R,--full-restart-all}'[restart all services]' \ - '(- :)'{-s,--status-all}'[print status of all services]' \ - ':service name:_services' \ - '*::service argument: _init_d' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_services b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_services deleted file mode 100644 index 3dd1e123..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_services +++ /dev/null @@ -1,36 +0,0 @@ -#autoload - -local -a inits xinetds alls -local expl ret=1 - -if [[ $OSTYPE = freebsd* ]]; then - if [[ -x /usr/sbin/service ]]; then - alls=( $(service -l) ) && ret=0 - - _wanted services expl service compadd "$@" - $alls[@] && ret=0 - fi -elif chkconfig --list > /dev/null 2>&1; then - alls=( ${(f)"$(LANGUAGE=C LANG=C LC_ALL=C chkconfig --list 2> /dev/null)"} ) - inits=( ${${${alls[1,(r)xinetd based*]}[1,-2]}/%[[:space:]]*/} ) - xinetds=( ${${${${alls[(r)xinetd based*,-1]}[2,-1]}/#[[:space:]]#}/%:*} ) - - _alternative \ - 'init:init service:compadd -a inits' \ - 'xinetd:xinetd service:compadd -a xinetds' && ret=0 -else - local -a scriptpath - local dir - # Known locations of init scripts - # C.f. Unix/Commands/_init_d - scriptpath=(/etc/init.d /etc/rc.d /etc/rc.d/init.d) - - for dir in $scriptpath; do - if [[ -d $dir ]]; then - break - fi - done - _wanted services expl service compadd "$@" - $dir/*(-*:t) && - ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set deleted file mode 100644 index 27c7f3c7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set +++ /dev/null @@ -1,25 +0,0 @@ -#compdef set - -noglob _arguments -s -S \ - - list '+[list names of parameters]' - others \ - '-o+[set specified option]:option:_options' \ - '+o+[unset specified option]:option:_options' \ - '-s[sort arguments in descending order]' \ - '+s[sort arguments in ascending order]' \ - '-A+[define array with specified name]:array:_arrays' \ - '+A+[replace initial elements in specified array]:array:_arrays' \ - {-,+}0[correct] {-,+}1[printexitvalue] {-,+}2[no-badpattern] \ - {-,+}3[no-nomatch] {-,+}4[globdots] {-,+}5[notify] {-,+}6[bgnice] \ - {-,+}7[ignoreeof] {-,+}8[markdirs] {-,+}9[autolist] {-,+}B[no-beep] \ - {-,+}C[no-clobber] {-,+}D[pushdtohome] {-,+}E[pushdsilent] {-,+}F[no-glob] \ - {-,+}G[nullglob] {-,+}H[rmstarsilent] {-,+}I[ignorebraces] {-,+}J[autocd] \ - {-,+}K[no-banghist] {-,+}L[sunkeyboardhack] {-,+}M[singlelinezle] \ - {-,+}N[autopushd] {-,+}O[correctall] {-,+}P[rcexpandparam] {-,+}Q[pathdirs] \ - {-,+}R[longlistjobs] {-,+}S[recexact] {-,+}T[cdablevars] \ - {-,+}U[mailwarning] {-,+}V[no-promptcr] {-,+}W[autoresume] \ - {-,+}X[listtypes] {-,+}Y[menucomplete] {-,+}Z[zle] {-,+}a[allexport] \ - {-,+}d[no-globalrcs] {-,+}e[errexit] {-,+}f[no-rcs] {-,+}g[histignorespace] \ - {-,+}h[histignoredups] {-,+}i[interactive] {-,+}k[interactivecomments] \ - {-,+}l[login] {-,+}m[monitor] {-,+}n[no-exec] {-,+}p[privileged] \ - {-,+}r[restricted] {-,+}t[singlecommand] {-,+}u[no-unset] {-,+}v[verbose] \ - {-,+}w[chaselinks] {-,+}x[xtrace] {-,+}y[shwordsplit] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set_command b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set_command deleted file mode 100644 index 6b491088..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_set_command +++ /dev/null @@ -1,31 +0,0 @@ -#autoload - -# This sets the parameters _comp_command1, _comp_command2 and _comp_command -# in the calling function. - -local command - -command="$words[1]" - -[[ -z "$command" ]] && return - -if (( $+builtins[$command] + $+functions[$command] )); then - _comp_command1="$command" - _comp_command="$_comp_command1" -elif [[ "$command[1]" = '=' ]]; then - eval _comp_command2\=$command - _comp_command1="$command[2,-1]" - _comp_command="$_comp_command2" -elif [[ "$command" = ..#/* ]]; then - _comp_command1="${PWD}/$command" - _comp_command2="${command:t}" - _comp_command="$_comp_command2" -elif [[ "$command" = */* ]]; then - _comp_command1="$command" - _comp_command2="${command:t}" - _comp_command="$_comp_command2" -else - _comp_command1="$command" - _comp_command2="$commands[$command]" - _comp_command="$_comp_command1" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setfacl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setfacl deleted file mode 100644 index 14be49d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setfacl +++ /dev/null @@ -1,35 +0,0 @@ -#compdef setfacl setfacl.exe - -if _pick_variant cygwin=cygwin unix --version; then -# cygwin 1.5.25 -_arguments -s -S \ - '(-d --delete)'{-d,--delete}'[delete one or more specified ACL entries]:ACL entry' \ - '(-f --file)'{-f,--file}'[set ACL entries for FILE to ACL entries read from a ACL_FILE]:ACL file:_files' \ - '(-m --modify)'{-m,--modify}'[modify one or more specified ACL entries]:ACL entry' \ - '(-r --replace)'{-r,--replace}'[replace mask entry with maximum permissions needed for the file group class]' \ - '(-s --substitute)'{-s,--substitute}'[substitute specified ACL entries for the \[ACL of FILE\]]:ACL entry' \ - '(- *)'{-h,--help}'[output usage information and exit]' \ - '(- *)'{-v,--version}'[output version information and exit]' \ - '*: :_files' -else -_arguments -s -S \ - '(-m --modify)'{-m,--modify=}'[modify the current ACL]:ACL:' \ - '(-M --modify-file)'{-M,--modify-file=}'[read ACL entries to modify from file]:file:_files' \ - '(-x --remove)'{-x,--remove=}'[remove ACL entries]:ACL:' \ - '(-X --remove-file)'{-X,--remove-file=}'[read ACL entries to remove from file]:file:_files' \ - '(-b --remove-all)'{-b,--remove-all}'[remove all extended ACL entries]' \ - '(-k --remove-default)'{-k,--remove-default}'[remove the default ACL]' \ - '--set=[set the ACL, replacing the current ACL]:ACL:' \ - '--set-file=[read ACL entries to set from file]:file:_files' \ - '--mask[do recalculate the effective rights mask]' \ - '(-n --no-mask)'{-n,--no-mask}'[don'"'"'t recalculate the effective rights mask]' \ - '(-d --default)'{-d,--default}'[operations apply to the default ACL]' \ - '(-R --recursive)'{-R,--recursive}'[recurse into subdirectories]' \ - '(-L --logical)'{-L,--logical}'[logical walk, follow symbolic links]' \ - '(-P --physical)'{-P,--physical}'[physical walk, do not follow symbolic links]' \ - '--restore=[restore ACLs]:file:_files' \ - '--test[test mode (ACLs are not modified)]' \ - '(- *)'{-v,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - '*: :_files' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setopt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setopt deleted file mode 100644 index 86c0965f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setopt +++ /dev/null @@ -1,17 +0,0 @@ -#compdef setopt unsetopt - -local expl ret=1 -local -a onopts offopts -onopts=( ${(k)_comp_caller_options[(R)on]} printexitvalue ) -offopts=( ${(k)_comp_caller_options[(R)off]} printexitvalue ) -typeset -U onopts offopts -case $service in - setopt) onopts=(no$onopts) ;; - unsetopt) offopts=(no$offopts) ;; -esac -_wanted zsh-options expl 'zsh options (set)' \ - compadd -J 'enabled options' -M 'M:_= M:{A-Z}={a-z}' -k - onopts && ret=0 -_wanted zsh-options expl 'zsh options (unset)' \ - compadd -J 'disabled options' -M 'M:_= M:{A-Z}={a-z}' -k - offopts && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setpriv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setpriv deleted file mode 100644 index 196f2f62..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setpriv +++ /dev/null @@ -1,107 +0,0 @@ -#compdef setpriv - -__setpriv_prctl_securebits_set_elements() { - local -a expl - local -a bits - - bits=( - noroot noroot_locked - no_setuid_fixup no_setuid_fixup_locked - keep_caps_locked - ) - - if ! compset -P '[+-]'; then - _description minus-or-plus expl "-/+" - compadd "${(@)expl}" -qS '' {+,-} - return - fi - - _description minus-plus-securebits expl "prctl securebit" - compadd "${(@)expl}" "$@" -a - bits -} - -__setpriv_numbered_caps() { - # The cap_ prefix. - # We override the suffix from _sequence with -S '' to stay adjacent - # to the following number. - if ! compset -P cap_; then - compadd -S '' "$@" -n - cap_ - return - fi - # A capability number; i.e. a non-negative integer. - # We can't complete integers, so no matches. - if ! compset -P '[0-9]##'; then - local -a expl - _description -x numbers expl "capability number" - compadd -S '' "${(@)expl}" -n - - return - fi - # The numbered cap expression is complete. - compadd "$@" -n - '' -} - -__setpriv_cap_set_elements() { - # '-' or '+', followed by one of the following: - # - a capability name - # - the word 'all' - # - 'cap_[0-9]+' (to specify unknown capabilities). - if ! compset -P '[+-]'; then - local -a expl - _description minus-or-plus expl "-/+" - compadd "${(@)expl}" -qS '' + - - return - fi - - # We pass through compadd options generated by _sequence. - local -a sequence_argv=( "$@" ) - - _alternative -O sequence_argv \ - 'special-words:drop/obtain all caps:(all)' \ - 'capabilities: :_capabilities' \ - 'numbered-capabilities:cap_N:__setpriv_numbered_caps' \ - # -} - -__setpriv_death_signals() { - _alternative \ - 'special-words:keep or clear:(keep clear)' \ - 'signals:UNIX signal:_signals' \ - # -} - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args - -_arguments -C -S -s \ - '(- : *)'{-h,--help}'[print help and exit]' \ - '(- : *)'{-V,--version}'[print version information and exit]' \ - '(- : *)'{-d,--dump}'[display the current privilege state]:*: :->option-dump' \ - '(--groups --init-groups --keep-groups)--clear-groups[clear supplementary groups]' \ - '(--clear-groups --init-groups --keep-groups)--groups[set supplementary groups]: : _sequence _groups' \ - '(--clear-groups --groups --init-groups)--keep-groups[preserve supplementary groups]' \ - '(--clear-groups --groups --keep-groups)--init-groups[initialize supplementary groups]' \ - '--inh-caps[set inheritable caps]: : _sequence __setpriv_cap_set_elements' \ - '--ambient-caps[set ambient caps]: : _sequence __setpriv_cap_set_elements' \ - '--bounding-set[set the cap bounding set]: : _sequence __setpriv_cap_set_elements' \ - '(- : *)--list-caps[list all known capabilities]' \ - '--no-new-privs[set NO_NEW_PRIVS]' \ - '--rgid[set real UNIX group id]:UNIX group:_groups' \ - '--egid[set effective UNIX group id]:UNIX group:_groups' \ - '--regid[set real and effective UNIX group id]:UNIX group:_groups' \ - '--ruid[set real UNIX user id]:UNIX user:_users' \ - '--euid[set effective UNIX user id]:UNIX user:_users' \ - '--reuid[set real and effective UNIX user id]:UNIX user:_users' \ - '--securebits[set "process securebits"]: : _sequence __setpriv_prctl_securebits_set_elements' \ - '--pdeathsig[keep, clear, or set parent death signal]: : __setpriv_death_signals' \ - '--selinux-label[request a selinux label]:SELinux labels: ' \ - '--apparmor-profile[request an apparmor profile]:AppArmor profiles: ' \ - '--reset-env[set environment as for a classic login shell]' \ - '*:::command:_normal' \ - && return 0 - -case $state in - option-dump) - _arguments -S '*'{-d,--dump}'[display the current privilege state]' - ;; - *) ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setsid b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setsid deleted file mode 100644 index d248925a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setsid +++ /dev/null @@ -1,9 +0,0 @@ -#compdef setsid - -_arguments -s -S -A '-*' : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-c --ctty)'{-c,--ctty}'[set controlling terminal to current one]' \ - '(-f --fork)'{-f,--fork}'[always fork]' \ - '(-w --wait)'{-w,--wait}'[wait for program to exit, and use same return code]' \ - '*:: : _normal -p $service' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setup deleted file mode 100644 index ca975332..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setup +++ /dev/null @@ -1,79 +0,0 @@ -#autoload - -local val nm="$compstate[nmatches]" - -[[ $# -eq 1 ]] && 2="$1" - -if zstyle -a ":completion:${curcontext}:$1" list-colors val; then - zmodload -i zsh/complist - if [[ "$1" = default ]]; then - _comp_colors=( "$val[@]" ) - else - _comp_colors+=( "(${2})${(@)^val:#(|\(*\)*)}" "${(M@)val:#\(*\)*}" ) - fi - -# Here is the problem mentioned in _main_complete. - -# elif [[ "$1" = default && -n "$ZLS_COLORS$ZLS_COLOURS" ]]; then -# zmodload -i zsh/complist -# ZLS_COLORS="$ZLS_COLORS$ZLS_COLOURS" - -elif [[ "$1" = default ]]; then - unset ZLS_COLORS ZLS_COLOURS -fi - -# What we'd like is to test that the show-ambiguity style pattern is more -# specific than the list-colors style pattern, but that's not possible yet -if zstyle -s ":completion:${curcontext}:$1" show-ambiguity val; then - zmodload -i zsh/complist - [[ $val = (yes|true|on) ]] && _ambiguous_color=4 || _ambiguous_color=$val -fi - -if zstyle -t ":completion:${curcontext}:$1" list-packed; then - compstate[list]="${compstate[list]} packed" -elif [[ $? -eq 1 ]]; then - compstate[list]="${compstate[list]:gs/packed//}" -else - compstate[list]="$_saved_list" -fi - -if zstyle -t ":completion:${curcontext}:$1" list-rows-first; then - compstate[list]="${compstate[list]} rows" -elif [[ $? -eq 1 ]]; then - compstate[list]="${compstate[list]:gs/rows//}" -else - compstate[list]="$_saved_list" -fi - -if zstyle -t ":completion:${curcontext}:$1" last-prompt; then - compstate[last_prompt]=yes -elif [[ $? -eq 1 ]]; then - compstate[last_prompt]='' -else - compstate[last_prompt]="$_saved_lastprompt" -fi - -if zstyle -t ":completion:${curcontext}:$1" accept-exact; then - compstate[exact]=accept -elif [[ $? -eq 1 ]]; then - compstate[exact]='' -else - compstate[exact]="$_saved_exact" -fi - -[[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] && - _menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" ) - -if zstyle -a ":completion:${curcontext}:$1" menu val; then - _last_nmatches=$nm - _last_menu_style=( "$val[@]" ) -else - _last_nmatches=-1 -fi - -[[ "$_comp_force_list" != always ]] && - zstyle -s ":completion:${curcontext}:$1" force-list val && - [[ "$val" = always || - ( "$val" = [0-9]## && - ( -z "$_comp_force_list" || _comp_force_list -gt val ) ) ]] && - _comp_force_list="$val" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setxkbmap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setxkbmap deleted file mode 100644 index 882a6f93..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_setxkbmap +++ /dev/null @@ -1,101 +0,0 @@ -#compdef setxkbmap - -# TODO: -# model, option, symbols and types suggestions -# take -layout and -variant into account - -_setxkbmap() { - emulate -L zsh - setopt extendedglob - - # xkb files may be in different places depending on system - local dir sourcedir fullname - local -a searchdirs=(${XDG_DATA_HOME:-~/.local/share} ${(s.:.)XDG_DATA_DIRS:-/usr/lib:/usr/share:/usr/local/lib:/usr/local/share}) - for dir in $searchdirs; do - fullname="$dir/X11/xkb" - if [ -d $fullname ] ; then - sourcedir=$fullname - break - fi - done - [ -d $sourcedir ] || return 1 - - local -a arguments - - arguments=( - '-compat[compatibility map]:compatibility:_setxkbmap_compat' - '-config[configuration file]:configuration:_files' - '-display[display]:display:_x_display' - '-geometry[geometry component]:geometry:_setxkbmap_geometry' - '-model[model name]:model:' - '-option[xkb option]:option:' - '(-)'-print'[print component names]' - '-rules[rules file]:rules:_files' - '-symbols[symbols components]:symbols:' - '(-)'{-help,-h}'[display help message]' - '-synch[force synchronization]' - '-types[types components]:types:' - '(-verbose -v)'{-verbose,-v}'[set verbosity level]:verbosity:(0 1 2 3 4 5 6 7 8 9)' - '*::keyboard:_setxkbmap_dispatcher' - ) - _arguments $arguments -} - -_setxkbmap_dispatcher () { - - case $CURRENT in - 1) - _setxkbmap_layout - ;; - 2) - _setxkbmap_variant "$words[1]" - ;; - esac -} - -_setxkbmap_files () { - local dir="$1" - local label="$2" - - local -a fullpath shortpath expl - - fullpath=($sourcedir/$dir/**/*~*README(.)) - shortpath=(${fullpath#$sourcedir\/$dir\/}) - - _wanted layout expl $label compadd -a - shortpath - -} - -(( $+functions[_setxkbmap_compat] )) || -_setxkbmap_compat() { - _setxkbmap_files "compat" "compatibility" -} - -(( $+functions[_setxkbmap_layout] )) || -_setxkbmap_layout () { - _setxkbmap_files "symbols" "layout" -} - -(( $+functions[_setxkbmap_geometry] )) || -_setxkbmap_geometry () { - _setxkbmap_files "geometry" "geometry" -} - -(( $+functions[_setxkbmap_variant] )) || -_setxkbmap_variant () { - local file=$sourcedir/symbols/${1} - local -a variants lines expl - - if [ ! -f $file ]; then - _message "no such layout: ${1}" - return 1 - fi - - lines=("${(f)$(< ${file})}") - variants=(${${${(M)lines:#*xkb_symbols*\"([^\"])##\"*}##*xkb_symbols([^\"])##\"}%%\"*}) - - _wanted variant expl 'variant' compadd -a variants - -} - -_setxkbmap "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sh deleted file mode 100644 index f0f18d4b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sh +++ /dev/null @@ -1,36 +0,0 @@ -#compdef sh ash csh dash ksh ksh88 ksh93 mksh oksh pdksh rc tcsh yash - -local bourne argv0 -local -a args all_opts=( -{{0..9},{A..Z},{a..z}} ) - -[[ $service == (csh|?csh|fish|rc) ]] || bourne=1 - -# Bourne-style shells support +x variants -# @todo Uncomment when workers/45422 is fixed -# (( bourne )) && all_opts+=( ${all_opts/#-/+} ) -# Bourne-style shells take argv[0] as the second argument to -c -(( bourne )) && argv0=':argv[0]:' - -# All of the recognised shells support at least these arguments -args=( - "(1 -)-c[execute specified command string]: :_cmdstring$argv0" - '-e[exit immediately on non-zero return]' - '-i[act as interactive shell]' - '-l[act as login shell]' - '-x[print command trace]' - '1:script file:_files' - '*:: :_files' -) -# Bourne-style shells support -o/+o option. Not all of them support -ooption in -# the same argument, but we'll allow it here for those that do -(( bourne )) && args+=( - '-o+[set specified option]:option:' - '+o+[unset specified option]:option:' -) -# Since this is a generic function we don't know what other options these shells -# support, but we don't want them to break the ones listed above, so we'll just -# ignore any other single-alphanumeric option. Obviously this doesn't account -# for long options -args+=( '!'${^${all_opts:#(${(~j<|>)${(@M)${(@M)args#(*[\*\)]|)[+-]?}%[+-]?}})}} ) - -_arguments -s -S -A '-*' : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shasum b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shasum deleted file mode 100644 index 950a4776..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shasum +++ /dev/null @@ -1,24 +0,0 @@ -#compdef shasum -P shasum(|5).* - -# This function covers the `shasum` script included with Perl (and notably the -# primary SHA digest tool on macOS). See `_md5sum` for the GNU digest utilities -# and `_cksum` for the BSD ones. -# -# @todo It's possible that someone could symlink this script to `sha1sum` or -# whatever; we might want to detect that some day. - -_arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - '(: -)'{-v,--version}'[display version information]' \ - + '(sum)' \ - '(chk)'{-0,--01}'[read in BITS mode]' \ - '(chk)'{-b,--binary}'[read in binary mode]' \ - '(chk)'{-p,--portable}'[read in portable mode]' \ - '(chk)'{-t,--text}'[read in text mode]' \ - + 'chk' \ - '(sum)'{-c,--check}'[verify checksums from input files]' \ - '(sum -s -w --status --warn)'{-s,--status}'[suppress all output]' \ - '(sum -s -w --status --warn)'{-w,--warn}'[warn about each improperly formatted checksum line]' \ - + misc \ - '(-a --algorithm)'{-a+,--algorithm=}'[specify algorithm]:algorithm:(1 224 256 384 512 512224 512256)' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_showmount b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_showmount deleted file mode 100644 index 91309119..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_showmount +++ /dev/null @@ -1,10 +0,0 @@ -#compdef showmount - -_arguments \ - '(-a --all)'{-a,--all}'[list both hostname and mounted dir in host:dir format]' \ - '(-d --directories)'{-d,--directories}'[list only the directories mounted by some client]' \ - '(-e --exports)'{-e,--exports}'[show server export list]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-v --version)'{-v,--version}'[version]' \ - '--no-headers[suppress descriptive headers from output]' \ - ':host:_hosts' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shred b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shred deleted file mode 100644 index ce583bee..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shred +++ /dev/null @@ -1,19 +0,0 @@ -#compdef shred gshred - -_arguments -s -S : \ - '(: * -)--help[display help information]' \ - '(: * -)--version[display version information]' \ - '(-f --force)'{-f,--force}'[bypass lack of write permissions]' \ - '(-n --iterations)'{-n+,--iterations=}'[specify number of overwrites]:overwrites [3]' \ - '--random-source=[get random bytes from specified file]:random source file:_files' \ - '(-s --size)'{-s+,--size=}'[shred specified number of bytes]:bytes' \ - '(--remove)-u[deallocate and remove file after overwriting]' \ - '(-u)--remove=-[like -u, or specify how to remove]::how to remove [wipesync]:(( - unlink\:"use standard unlink call" - wipe\:"like unlink, but obfuscate bytes in name first" - wipesync\:"like wipe, but sync each obfuscated byte to disk" - ))' \ - '(-v --verbose)'{-v,--verbose}'[display progress]' \ - '(-x --exact)'{-x,--exact}'[do not round file sizes up to nearest block]' \ - '(-z --zero)'{-z,--zero}'[add final overwrite with zeros]' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shuf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shuf deleted file mode 100644 index 83f42e6d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shuf +++ /dev/null @@ -1,28 +0,0 @@ -#compdef shuf gshuf - -local ret=1 -local -a context line state state_descr -local -A opt_args - -_arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '(-n --head-count)'{-n+,--head-count=}'[limit output to specified number of lines]:output line limit' \ - '(-o --output)'{-o+,--output=}'[write result to specified file]:output file:_files' \ - '--random-source=[use specified file as source of random bytes]: :_files' \ - '(-r --repeat)'{-r,--repeat}'[allow output lines to repeat]' \ - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter]' \ - '(-i --input-range)*: :->operands' \ - + '(excl)' \ - {-e,--echo}'[treat operands as input lines]' \ - '(:)'{-i+,--input-range=}'[treat specified numbers as input lines]:number range (x-y)' \ -&& ret=0 - -[[ $state == operands ]] && -if [[ -n ${opt_args[(i)excl-(-e|--echo)]} ]]; then - _message 'input line' && ret=0 -else - _files && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shutdown b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shutdown deleted file mode 100644 index a237b14e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_shutdown +++ /dev/null @@ -1,77 +0,0 @@ -#compdef shutdown - -local -a args - -if [[ -d /etc/systemd ]]; then - _arguments \ - '--help[display usage information]' \ - '(-H --halt)'{-H,--halt}'[halt the machine]' \ - '(-P --poweroff -h)'{-P,--poweroff,-h}'[power-off the machine (default)]' \ - '(-r --reboot)'{-r,--reboot}'[reboot the machine]' \ - "(--no-wall)-k[don't shutdown, just write wall message]" \ - "(-k)--no-wall[don't send a wall message]" \ - '-c[cancel pending shutdown]' \ - '1: :_guard "^-*" "time (now/hh\:mm/+mins)"' \ - '*:warning message' - return -fi - -case $OSTYPE in - *bsd*|dragonfly*|linux*|darwin*) - args=( - '-h[halt the system after shutdown]' - '-r[reboot the system]' - '-k[kick everybody off]' - '-n[prevent file system cache from being flushed]' - '1: :_guard "^-*" "time (now/hh\:mm/+mins)"' - '*:warning message' - ) - ;| - *bsd*|dragonfly*) - args+=( - '-p[turn off power after shutdown]' - ) - ;| - (net|open)bsd*) - args+=( - '-d[cause system to perform a dump]' - '-f[create /fastboot so that file systems will not be checked during the next boot]' - ) - ;| - freebsd*|dragonfly*) - args+=( - '-o[execute halt or reboot instead of sending a signal to init]' - ) - ;| - freebsd<12->.*) - args+=( - '-c[power cycle the system instead of halting if possible]' - ) - ;; - netbsd*) - args+=( - '-b[specify boot string to pass to reboot]:boot string' - '-v[enable verbose console messages]' - '-x[enable debug console messages]' - '-z[silence some console messages]' - '-D[prevent shutdown from detaching from the tty]' - ) - ;; - darwin*) - args+=( - '-o[execute halt or reboot instead of sending a signal to launchd]' - '-s[put the system to sleep]' - '-u[with -h, wait 5 minutes before removing power]' - ) - ;; - solaris2.<11->) args=( '(-i)-r[reboot]' ) ;& - solaris*) - args+=( - '(-r)-i+[specify init-state]:init state:((0\:stop 1\:administrative s\:single\ user 5 6\:reboot))' - '-y[pre-answer yes to confirmation question]' - '-g+[specify grace period]:grace period (seconds) [60]' - ) - ;; -esac - -_arguments $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signals b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signals deleted file mode 100644 index ffb01eba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signals +++ /dev/null @@ -1,48 +0,0 @@ -#autoload - -# Options (only in separate words): -# -# -a use all signals (even the pseudo-signals) -# -p needs a `-' prefix -# -s SIG prefix allowed -# -# A `-' or `--' as the first argument is ignored. - -local expl minus pre sigs -local first last # keep these as strings for -z/-n tests - -zparseopts -D -K -E 'p=minus' 'a=last' 's=pre' -if [[ -z "$last" ]]; then - first=2 - last=-3 -else - first=1 - last=-1 -fi -[[ -n "$minus" ]] && minus='-' - -[[ "$1" = -(|-) ]] && shift - -if [[ -z "$minus" ]] || - ! zstyle -T ":completion:${curcontext}:signals" prefix-needed || - [[ -prefix -* ]]; then - local disp tmp - - if zstyle -t ":completion:${curcontext}:signals" prefix-hidden; then - tmp=( "${(@)signals[first,last]}" ) - disp=(-d tmp) - else - disp=() - fi - - if [[ -n "$pre" && $PREFIX = ${minus}S* ]]; then - sigs=( "${minus}SIG${(@)^${(@)signals[first,last]:#<->}}" ) - (( $#disp )) && tmp=( "$tmp[@]" "${(@)signals[first,last]}" ) - else - sigs=() - fi - - _wanted signals expl signal \ - compadd "$@" "$disp[@]" -M 'm:{a-z}={A-Z}' - \ - "${minus}${(@)^signals[first,last]}" "$sigs[@]" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signify b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signify deleted file mode 100644 index 91e97e81..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_signify +++ /dev/null @@ -1,33 +0,0 @@ -#compdef signify - -_arguments -s -S -A "-*" : \ - - checksum \ - '-C[verify a signed checksum list and the checksum for each file]' \ - '-p+[public key]:public key:_files' \ - '-q[quiet mode]' \ - '-t+[specify key type]:key type' \ - '-x+[specify signature file]:signature file:_files' \ - '*:file:_files' \ - - generate \ - '-G[generate a new key pair]' \ - '-c+[specify comment]:comment' \ - "-n[don't ask for passphrase]" \ - '-p+[specify public key file]:public key:_files' \ - '-s+[specify secret key file]:secret key:_files' \ - - sign \ - '-S[sign a message and create a signature]' \ - '-e[embed the message after the signature]' \ - '-n[store a zero time stamp in the gzip(1) header (with -z)]' \ - '-m+[specify file containing message to sign]:message file:_files' \ - '-s+[specify secret key file]:secret key:_files' \ - '-x+[specify signature file]:signature file:_files' \ - '-z[embed signature in gzip header]' \ - - verify \ - '-V[verify the message and signature match]' \ - '-e[extract the message from the signature]' \ - '-m+[specify file containing message to verify or destination to extract]:message file:_files' \ - '-p+[specify public key file]:public key:_files' \ - '-q[quiet mode]' \ - '-t+[restrict verification to specified key type]:key type:((base\:"base sets" fw\:firmware pkg\:packages syspatch\:syspatches))' \ - '-x+[specify signature file]:signature file:_files' \ - '-z[verify signature in gzip header]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sisu b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sisu deleted file mode 100644 index 0250581c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sisu +++ /dev/null @@ -1,62 +0,0 @@ -#compdef sisu - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -s -C -M 'r:|[_-]=* r:|=*' \ - '(--convert --to -C)-U[prints to screen url output map of available output possibilities]' \ - '(--convert --to -C)-u[url mapping of output files for requested processing flags]' \ - '(--convert --to -C)-V[more verbose than -v]' \ - '(--convert --to -C)-v[verbose]' \ - '--no-ocn[-\[hHp\]switches off object citation numbering]' \ - '--no-annotate[-\[mhHpoxXabN\] strips output text of additional editors endnotes]' \ - '(--convert --to -C)-A[plaintext with dos line-feeds, footnotes follow paragraphs in which they occur]' \ - '(--convert --to -C)-a[plaintext with Unix line-feeds, footnotes follow paragraphs in which they occur]' \ - '(--convert --to -C)-b[XHTML output]' \ - '(- *)-C[initialise site]' \ - '(--convert --to -C)-c[toggle screen color on or off depending on set default]' \ - '(--convert --to -C)-E[plaintext with dos line-feeds, endnotes following main text]' \ - '(--convert --to -C)-e[plaintext with Unix line-feeds, endnotes following main text]' \ - '(--convert --to -C)-F[generate sample cgi web search form \[--webserv=webrick for sisu webrick url\]]' \ - '(--convert --to -C -h)-H[HTML output, without link suffixes]' \ - '(--convert --to -C -H)-h[HTML output]' \ - '(--convert --to -C)-I[texinfo output, not maintained]' \ - '(--convert --to -C)-L[print license info]' \ - '(--convert --to -C)-M[maintenance mode, retain intermediate processing files]' \ - '(--convert --to -C)-m[create intermediate markup file, metaverse, assumed for most output instructions]' \ - '(--convert --to -C)-N[document content certificate, output document digests]' \ - '(--convert --to -C)-n[skip intermediate markup, skip -m]' \ - '(--convert --to -C)-o[Open Document text format output]' \ - '(--convert --to -C)-p[LaTeX pdf output]' \ - '(--convert --to -C)-q[quiet mode]' \ - '(--convert --to -C)-R[post output to remote host using rsync, requires pre-configuration]' \ - '(--convert --to -C)-r[post output to remote host using scp, requires pre-configuration]' \ - '(--convert --to -C)-S[produces and shares tarred gzipped markup source document with associated images etc.]' \ - '(--convert --to -C)-s[shares markup source]' \ - '(--convert --to -C)-t[termsheet, preprocessing]' \ - '(- *)-W[starts ruby webrick server]' \ - '(--convert --to -C)-w[concordance file]' \ - '(--convert --to -C)-X[XML dom style]' \ - '(--convert --to -C)-x[XML sax style]' \ - '(--convert --to -C)-y[output summary page, manifest of existing generated output]' \ - '(--convert --to -C)-Z[zap delete/destroy output]' \ - '--import[-\[Dd\] imports document to database]' \ - '--update[-\[Dd\] updates document in database]' \ - '--remove[-\[Dd\] removes document from database]' \ - '--dropall[-\[Dd\] drops database, tables, indexes, all!]' \ - '--create[-\[Dd\] creates new database - tables, indexes, etc.]' \ - '--recreate[-\[Dd\] drops database, killing data and creates new empty database - tables, indexes, etc.]' \ - '(--convert --to -C)-D[postgresql database instruction]' \ - '(--convert --to -C)-d[sqlite database instruction]' \ - '(- *)--help[display help information]' \ - '(--convert --to -C -2 -3 -4 -5)-1[shortcut, initial default -mNHwpy]' \ - '(--convert --to -C -1 -3 -4 -5)-2[shortcut, initial default -mNHwpaoy]' \ - '(--convert --to -C -1 -2 -4 -5)-3[shortcut, initial default -mNHwpaobxXy]' \ - '(--convert --to -C -1 -2 -3 -5)-4[shortcut, initial default -mNHwpaobxXDy --import]' \ - '(--convert --to -C -1 -2 -3 -4)-5[shortcut, initial default -mNHwpaobxXDy --update]' \ - '--to=node[XML node based input representation, experimental]' \ - '--to=sax[XML sax based input representation, experimental]' \ - '--to=dom[XML dom based input representation, experimental]' \ - '--convert=footnotes[embedded footnotes]' \ - '--to=current[current markup]' \ - '*:SiSU files:_files -g "*.(sst|ssm)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slabtop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slabtop deleted file mode 100644 index 5c8919d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slabtop +++ /dev/null @@ -1,22 +0,0 @@ -#compdef slabtop -# based on procps-ng-3.3.15 - -local -a criteria=( - 'a:number of active objects' - 'b:objects per slab' - 'c:cache size' - 'l:number of slabs' - 'v:number of active slabs' - 'n:name' - 'o:number of objects' - 'p:page per slab' - 's:object size' - 'u:cache utilization' -) - -_arguments -s \ - '(-d --delay -o --once)'{-d+,--delay=}'[specify the delay between updates]:seconds: ' \ - '(-s --sort)'{-s+,--sort=}'[specify the sort criteria]:criteria:(($criteria))' \ - '(-d --delay -o --once)'{-o,--once}'[display the output once and exit]' \ - '(-)'{-V,--version}'[display version information and exit]' \ - '(-)'{-h,--help}'[display usage information and exit]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slrn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slrn deleted file mode 100644 index 299b2a74..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_slrn +++ /dev/null @@ -1,25 +0,0 @@ -#compdef slrn - -_arguments \ - '-n[do not check for new groups]' \ - '-h[NNTP host]:NNTP host:_hosts' \ - '-p[NNTP port]:NNTP port:_ports' \ - '-f[name of the newsrc file to use]:newsrc file:_files' \ - '(-C\-)-C[use colors]' \ - "(-C)-C\-[don't use colors]" \ - '-d[get new text descriptions of each group from server]' \ - '-i[specify initialization file to use]:config file:_files' \ - '-D-[add predefined preprocessing token]' \ - '-k[do not process score file]' \ - '-k0[process score file but inhibit expensive scores]' \ - '-a[use active file for getting new news]' \ - '-m[force XTerm mouse reporting]' \ - '-w[wait for a key before switching to full screen mode]' \ - '--create[create a newsrc file by getting list of groups from server]' \ - '--debug[write debugging output to specified file]:debug file:_files' \ - '(-)--help[show help information]' \ - '--inews[use an external inews program to post articles]' \ - '--kill-log[keep a log of articles killed by the scorefile]:log file:_files' \ - '--nntp[use builtin NNTP support]' \ - '--pull[spool outgoing articles locally]' \ - '--spool[read directly from spool]' \ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smartmontools b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smartmontools deleted file mode 100644 index fe649666..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smartmontools +++ /dev/null @@ -1,61 +0,0 @@ -#compdef smartctl - -local context state state_descr line - -_arguments -s -S \ - '(H -i --info)'{-i,--info}'[show identity information for device]' \ - '(H)--identify=-[show words and bits from identification data]: : _values -S "" "words and bits" - "(n v)b[print all bits]" - "w[print all words]" - "(b v)n[suppress printing bits]" - "(b n)v[print all bits from valid words]"' \ - '(H)*'{-g+,--get=}'[get device setting]:setting:(all aam apm lookahead security wcache rcache wcreorder)' \ - '(H -a --all -x --xall -H --health -i --info -c --capabilities -A --attributes --scan --scan-open)'{-a,--all}'[show all SMART information for device]' \ - '(H -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes --scan --scan-open)'{-x,--xall}'[show all information for device]' \ - '(H 1 --scan-open --identify -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes)--scan[scan for devices]' \ - '(H 1 --scan --identify -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes)--scan-open[scan for devices and try to open each device]' \ - '(H -q --quietmode)'{-q+,--quietmode=}'[set smartctl quiet mode]:quiet mode:(errorsonly silent noserial)' \ - '(H -d --device)'{-d+,--device=}'[specify device type]:device type:(ata scsi nvme sat usbcypress usbjmicron usbprolific usbsunplus marvell areca 3ware hpt megaraid cciss auto test)' \ - '(H)*'{-T+,--tolerance=}'[specify how tolerant smartctl should be of ATA SMART command failures]:tolerance:(normal conservative permissive verypermissive)' \ - '(H -b --badsum)'{-b+,--badsum=}'[set action if checksum error is detected]:action:(warn exit ignore)' \ - '(H)*'{-r+,--report=}'[report transactions]:transaction type:(ioctl ataioctl scsiioctl nvmeioctl)' \ - '(H -n --nocheck)'{-n+,--nocheck=}'[exit if the device is in a low-power mode]:power mode causing exit:(never sleep standby idle)' \ - '(H -s --smart)--smart=[enable/disable SMART on device]:enable:(on off)' \ - '(H -o --offlineauto)'{-o+,--offlineauto=}'[enable/disable automatic offline test on device]:enable:(on off)' \ - '(H -S --saveauto)'{-S+,--saveauto=}'[enable/disable attribute autosave on device]:enable:(on off)' \ - '(H -s --set)'{-s+,--set=}'[enable/disable/change device setting]:setting:->settings' \ - '(H -H --health)'{-H,--health}'[show device SMART health status]' \ - '(H -c --capabilities)'{-c,--capabilities}'[show device SMART capabilities]' \ - '(H -A --attributes)'{-A,--attributes}'[show device SMART vendor-specific attributes and values]' \ - '(H)*'{-f+,--format=}'[set output format for attributes]:format:(old brief hex,id hex,val hex)' \ - '(H)*'{-l+,--log=}'[show device log]:log:(error selftest selective directory xerror xselftest background sasphy sataphy scttemp scttempsts scttemphist scttempint scterc devstat ssd gplog smartlog nvmelog)' \ - '(H)*'{-v+,--vendorattribute=}'[set display option for vendor attribute]:vendor attribute:->vendorattrs' \ - '(H -F --firmwarebug)'{-F+,--firmwarebug=}'[use firmware bug workaround]:bug:(none nologdir samsung samsung2 samsung3 xerrorlba swapid)' \ - '(H -P --presets)'{-P+,--presets=}'[specify whether to use drive-specific presets]:preset usage:(use ignore show showall)' \ - '(H -B --drivedb)'{-B+,--drivedb=}'[read drive database from file]:file:->plusfiles' \ - '(H -t --test)'{-t+,--test=}'[run specified self-test]:self-test:(offline short long conveyance force vendor select pending afterselect,on afterselect,off scttempint)' \ - '(H -C --captive)'{-C,--captive}'[run self-test in captive mode]' \ - '(H -X --abort)'{-X,--abort}'[abort any non-captive self-test]' \ - '(H --scan --scan-open)1:disk device:_files -g "*(-%)" -P / -W /' \ - + 'H' \ - '(- 1)'{-h,--help,--usage}'[display help information]' \ - '(- 1)'{-V,--version,--copyright,--license}'[display version, licence and build information]' && return - -case $state in - vendorattrs) - _wanted -C $context vendor-attributes expl 'vendor attribute' compadd - \ - ${${${(f)"$(_call_program vendor-attributes $words[1] -v help)"}[(r)*help*,-1]#$'\t'}%%\[*} - ;; - plusfiles) - compset -P \+ || state_descr[1]+=" (prefix with + to prepend entries)" - _wanted -C $context files expl $state_descr _files - ;; - settings) - local values - [[ $context = option-s-1 ]] && - values+=( {on\[en,off\[dis}'able SMART on device]' ) - - _values -S , setting $values {aam,apm,standby}':value' \ - {lookahead,{w,r}cache,wcreorder}':enable:(on off)' security security-freeze - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smit deleted file mode 100644 index f0222950..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_smit +++ /dev/null @@ -1,25 +0,0 @@ -#compdef smit smitty - -local state line expl curcontext="$curcontext" - -_arguments -C \ - '-s[specify smit.script file]:smit.script file:_files' \ - '-l[specify smit.log file]:smit.log file:_files' \ - '-C[use curses interface]' \ - '-D[debug mode]' \ - '-d[FastPath is dialogue screen]' \ - '-f[allow redirection of stdin and stdout]' \ - '-h[display help/usage message]' \ - '-M[start smit in windows mode]' \ - '-m[FastPath is menu screen]' \ - '-n[FastPath is selector screen]' \ - '-o[alternate SMIT/ODM database]' \ - '-t[generate trace information]' \ - '-v[verbose]' \ - '-x[do not run any execute commands]' \ - '-X[do not run any commands]' \ - '1:fast path:->fastpath' - -[[ "$state" = fastpath ]] && (( $+commands[odmget] )) && - _wanted fastpaths expl 'fast path' compadd \ - $(odmget sm_cmd_hdr sm_name_hdr|sed -n 's/^ id = \"\(.*\)\"/\1/p') diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_snoop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_snoop deleted file mode 100644 index 77798a73..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_snoop +++ /dev/null @@ -1,32 +0,0 @@ -#compdef snoop - -local -a args - -[[ $OSTYPE = solaris2.<11-> ]] && args=( - '-I+[capture packets from specified interface]:interface:_net_interfaces' -) -_arguments -s -S -A "-*" \ - '-a[generate audio signal on receiving packets]' \ - '-c+[quit after capturing specified number of packets]:number of packets' \ - '-d+[capture packets from specified device]:device:_net_interfaces' \ - '-i+[display packets previously captured to file]:file:_files' \ - '-n+[use file as IP address-to-name mapping table]:file:_files' \ - '-o+[save captured packets to file]:file:_files' \ - '-p+[display one or more packets from captured file]:first packet number [ , last packet number]' \ - "-q[don't display packet counter when capturing to file]" \ - "-r[don't resolve IP addresses to names]" \ - '-s[truncate each packet after specified number of bytes]:length (bytes)' \ - '-t+[specify time-stamp presentation]:time-stamp mode:(( - r\:relative\ to\ first\ packet - a\:absolute - d\:delta\ -\ since\ previous\ packet - ))' \ - '-C[list code generated from filter expression]' \ - '-D[display number of packets dropped on the summary line]' \ - '-N[create IP-address-to-name mapping table file (used with -i)]' \ - '-P[capture packets in non-promiscuous mode]' \ - '-S[display size of the entire link layer frame in bytes]' \ - '-V[verbose summary mode]' \ - '-v[verbose mode]' \ - '-x+[display offset and length of packet in HEX and ASCII]:offset [ , length]' \ - '*::expression:= _bpf_filters' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_socket b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_socket deleted file mode 100644 index 9db31c9a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_socket +++ /dev/null @@ -1,56 +0,0 @@ -#compdef socket - -# Style used: -# -# hosts-ports -# The style that contains pairs `host:port'. - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -[[ $CURRENT -eq 2 ]] && - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || - [[ "$PREFIX" = -* ]] } && - _wanted options expl option compadd - -version - -_arguments -C -s \ - '-b[background]' \ - '-c[crlf]' \ - '-f[fork]' \ - '-q[quit]' \ - '-r[read only]' \ - '-v[verbose]' \ - '-w[write only]' \ - '-s[server]' \ - '-l[loop]' \ - '-p[program]:command:->command' \ - ':arg1:->arg1' \ - ':arg2:->arg2' && ret=0 - -case "$state" in -command) - compset -q - if [[ $CURRENT -eq 1 ]]; then - _command_names -e "$@" && ret=0 - else - _normal && ret=0 - fi - ;; - -arg1) - if (( $+opt_args[-s] )); then - _ports && ret=0 - else - _wanted hosts expl 'host' _combination '' hosts-ports hosts - && ret=0 - fi - ;; - -arg2) - if (( ! $+opt_args[-s] )); then - _wanted ports expl 'port to connect' \ - _combination '' hosts-ports hosts="${line[1]:q}" ports - && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sockstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sockstat deleted file mode 100644 index 1d7973db..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sockstat +++ /dev/null @@ -1,55 +0,0 @@ -#compdef sockstat -local -a args protocols -local proto - -case $OSTYPE in - *bsd*) - args=( - '-4[show AF_INET (IPv4) sockets]' - '-6[show AF_INET6 (IPv6) sockets]' - '-c[show connected sockets]' - '-l[show listening sockets]' - '*-p+[specify port number]:port numbers (comma delimited)' - '-u[show AF_LOCAL (UNIX) sockets]' - ) - ;| - freebsd<12->.*) - args+=( - '-S[display the protocol stack if applicable]' - '-U[display the remote UDP encapsulation port number if applicable]' - '-v[verbose mode]' - '-w[use wider field size for displaying addresses]' - ) - ;| - freebsd*) - for proto in ${${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]*}}; do - case $proto in - *\#*) - protocols+=(${${${(j: :)${(q)=proto}}// *\# /\[}/%/\]}) - ;; - *) - protocols+=(${${(j: :)${=proto}}// */}) - esac - done - - args+=( - '*-j[show sockets belonging to JID]: : _jails -0 -o jid' - '-L[exclude loopback]' - '*-P+[specify protocol]: : _values -s , protocols $protocols' - '-s[display protocol state if applicable]' - ) - ;; - netbsd*) - args+=( - '*-f+[only show specified address family]:address family:(inet inet6 local unix)' - '-n[no symbolic names for addresses/ports]' - ) - ;; -esac - -if (( $#args )); then - _arguments -s -w : $args - return -fi - -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_softwareupdate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_softwareupdate deleted file mode 100644 index 6054fd76..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_softwareupdate +++ /dev/null @@ -1,75 +0,0 @@ -#compdef softwareupdate - -_softwareupdate_ignored_update_name() { - if [[ -z "$_softwareupdate_ignored_updates" ]]; then - local res="$(_call_program pkgs softwareupdate --ignored)" - _softwareupdate_ignored_updates=("${(Qs/, /)${${res#Current ignored updates: \(}%\)}}") - fi - if (( ${#_softwareupdate_ignored_updates} > 0 )); then - _wanted pkgs expl "ignored package" compadd -a _softwareupdate_ignored_updates && return 0 - fi - return 1 -} - -_softwareupdate_update_name() { - local name line - if [[ -z "$_softwareupdate_updates" ]]; then - _softwareupdate_updates=() - for line in ${(f)"$(_call_program pkgs softwareupdate --list)"}; do - if [[ $line == ' '* ]]; then - name="${line# ? }" - elif [[ -n "$name" ]]; then - _softwareupdate_updates+=("$name:${line# }") - name="" - fi - done - fi - if (( ${#_softwareupdate_updates} > 0 )); then - _describe -t pkgs "update name" _softwareupdate_updates && return 0 - fi - return 1 -} - -_softwareupdate() { - local context state line expl - typeset -A opt_args - - _arguments -R \ - '(-h --help -l --list)-q[quiet mode]' \ - {-l,--list}'[list all available updates]:*:' \ - {-d,--download}'[download to directory set in InternetConfig]:*:' \ - {-i,--install}'[install (requires root)]:*: :->install' \ - '--ignored[show or manage ignored updates list (per-user)]:*:: :->ignored' \ - '--schedule[scheduler preferences (per-user)]:automatic checking:(on off)' \ - {-h,--help}'[print command usage]:*:' && return 0 - - case "$state" in - install) - _arguments \ - '(* -a --all)'{-a,--all}'[all available active updates]' \ - '(* -r --req)'{-r,--req}'[all required active updates]' \ - '*:update name:_softwareupdate_update_name' && return 0 - ;; - ignored) - local -a ignored_subcmd - ignored_subcmd=(add remove) - - if (( CURRENT == 1 )); then - _describe -t commands "subcommand" ignored_subcmd && return 0 - fi - case $words[1] in - add) - _softwareupdate_update_name && return 0 - ;; - remove) - _arguments \ - '(* -a --all)'{-a,--all}'[all available active updates]' \ - '*:update name:_softwareupdate_ignored_update_name' && return 0 - ;; - esac - ;; - esac - return 1 -} - -_softwareupdate "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sort b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sort deleted file mode 100644 index a463cf4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sort +++ /dev/null @@ -1,80 +0,0 @@ -#compdef sort gsort - -local args variant -local ordering='(-d --dictionary-order -g --general-numeric-sort -M --month-sort -h --human-numeric-sort -n --numeric-sort --sort -V --version-sort --help --version)' - -args=( - "(-c --check -C -m --merge -s --stable)-c[check whether input is sorted; don't sort]" - '(-c --check -C -m --merge)'{-m,--merge}"[merge already sorted files; don't sort]" - '(-o --output)'{-o+,--output=}'[write result to file instead of standard output]:output file:_files' - \*{-T+,--temporary-directory=}'[specify directory for temporary files]:directory:_directories' - '(-u --unique)'{-u,--unique}'[with -c, check for strict ordering; without -c, output only the first of an equal run]' - "$ordering"{-d,--dictionary-order}'[consider only blanks and alphanumeric characters]' - '(-f --ignore-case)'{-f,--ignore-case}'[fold lower case to upper case characters]' - '(-i --ignore-nonprinting)'{-i,--ignore-nonprinting}'[consider only printable characters]' - "$ordering"{-n,--numeric-sort}'[compare according to string numerical value]' - '(-r --reverse)'{-r,--reverse}'[reverse the result of comparisons]' - '(-b --ignore-leading-blanks)'{-b,--ignore-leading-blanks}'[ignore leading blanks]' - '(-t --field-separator)'{-t+,--field-separator=}'[specify field separator instead of non-blank to blank transition]:separator' - \*{-k+,--key=}'[specified start and end fields for key]:key field' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - dragonfly*|netbsd*|openbsd*|freebsd*|darwin*|gnu) - args+=( - '(-s --stable)'{-s,--stable}'[preserve original order of lines with the same key]' - ) - ;| - netbsd*|openbsd*|freebsd*|darwin*|gnu|solaris2.<11->) - args+=( - "(-c --check -C)-C[check whether input is sorted silently; don't sort]" - ) - ;| - openbsd*|freebsd*|darwin*|gnu) - args+=( - '(-z --zero-terminated)'{-z,--zero-terminated}'[end lines with 0 byte, not newline]' - ) - ;| - freebsd*|darwin*|gnu) - args+=( - "(-c --check -C)--check=-[check whether input is sorted; don't sort]::bad line handling:(diagnose-first silent quiet)" - "$ordering"{-g,--general-numeric-sort}'[compare according to general numeric value]' - "$ordering"{-M,--month-sort}"[compare (unknown) < 'JAN' < ... < 'DEC']" - "$ordering"{-h,--human-numeric-sort}'[compare human readable numbers (e.g., 2K 1G)]' - "$ordering"{-R,--random-sort}'[sort by random hash of keys]' - "$ordering"{-V,--version-sort}'[sort version numbers]' - "$ordering--sort=[specify comparator]:comparator:(general-numeric human-numeric month numeric random version)" - '(-i --ignore-nonprinting)'{-i,--ignore-nonprinting}'[consider only printable characters]' - '--random-source=[get random bytes from file]:file:_files' - '--batch-size=[maximum inputs to merge]:number' - '--compress-program=[specify program to compress temporary files with]:program:(gzip bzip2 lzop xz)' - '--debug[annotate the part of the line used to sort]' - '(*)--files0-from=[read input files from file]:file:_files' - '(-S --buffer-size)'{-S+,--buffer-size=}'[specify size for main memory buffer]:size' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - ;| - netbsd*|dragonfly*) - args+=( - "${ordering}-l[sort by string length of field]" - "(-s)-S[don't use stable sort]" - ) - ;| - openbsd*) - args+=( - '-H[use a merge sort instead of a radix sort]' - '-R[specify record separator]:separator' - ) - ;| - gnu) - args+=( '--parallel=[set number of sorts run concurrently]:number' ) - ;; - freebsd*|darwin*) - args+=( --radixsort --mergesort --qsort --heapsort --mmap ) - ;; - *) args=( "${(@)args:#(|\(*\))(|\*)--*}" ) ;; -esac - -_arguments -s -S $args '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_source b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_source deleted file mode 100644 index 96b6c21b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_source +++ /dev/null @@ -1,14 +0,0 @@ -#compdef source . - -if [[ CURRENT -ge 3 ]]; then - compset -n 2 - _normal -else - if [[ -prefix */ && ! -o pathdirs ]]; then - _files - elif [[ $service = . ]]; then - _files -W path - else - _files -W "(. $path)" - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_spamassassin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_spamassassin deleted file mode 100644 index ffe6c7d5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_spamassassin +++ /dev/null @@ -1,15 +0,0 @@ -#compdef spamassassin - -_arguments \ - '-P[pipe to STDOUT]' \ - '-e[error code on spam]' \ - '-h[help]' \ - '-t[test mode]' \ - '-r[report message as verified spam]' \ - '-w[set from addr of reply mail]:fromaddr:_user_at_host' \ - '-l[log to file]:filename:_files' \ - '-L[perform only local tests]' \ - '-d[remove SpamAssassin markup]' \ - '-c[config]:config file:_files' \ - '-p[score preferences]:preference file:_files' \ - '-D[diagnostic output]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_split b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_split deleted file mode 100644 index c5ab0dc9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_split +++ /dev/null @@ -1,64 +0,0 @@ -#compdef split gsplit - -local curcontext="$curcontext" variant ret=1 -local -A opt_args -local -a state line args - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( - '-a+[generate suffixes of specified length]:length [2]' \ - '(-l -p -n)-b+[put specified size in bytes in each output file]:size (bytes)' \ - '(-b -p -n)-l+[put specified number of lines/records in each output file]:lines' \ - '1:file:_files' \ - '2: :_guard "^-*" "prefix [x]"' -) - -case $variant in - gnu) - args=( -C - '(H -a --suffix-length)'{-a+,--suffix-length=}'[generate suffixes of specified length]:length [2]' - '(H)--additional-suffix=[append an additional suffix to file names]:suffix' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-b+,--bytes=}'[put specified size in bytes in each output file]:size (bytes)' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-C+,--line-bytes=}'[put whole lines/records up to size limit in each output file]:size (bytes)' - '(H --numeric-suffixes -x --hex-suffixes)-d[use numeric suffixes starting at 0]' - '(H -d -x --hex-suffixes)--numeric-suffixes=-[use numeric suffixes]::start value [0]' - '(H -d --numeric-suffixes --hex-suffixes)-x[use hex suffixes starting at 0]' - '(H -d --numeric-suffixes -x)--hex-suffixes=-[use hex suffixes]::start value [0]' - '(H -e --elide-empty-files)'{-e,--elide-empty-files}"[don't generate empty output files with '-n']" - '(H)--filter=[write to shell command; filename is in $FILE]:command:_cmdstring' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-l+,--lines=}'[put specified number of lines/records in each output file]:lines' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-n+,--number=}'[generate specified number of output files]:chunks:->chunks' - '(H -t --separator)'{-t+,--separator=}'[use specified record separator instead of newline]:separator' - '(H -u --unbuffered)'{-u,--unbuffered}"[immediately copy input to output with '-n r/...']" - '(H)--verbose[print a diagnostic just before each output file is opened]' - '(H)1:file:_files' - '(H)2: :_guard "^-*" "prefix [x]"' - + 'H' - '(- 1 2)--help[display usage information]' - '(- 1 2)--version[display version information]' - ) - ;; - (free|net)bsd*) - args+=( '(-b -l -p)-n+[generate specified number of output files]:output files' ) - ;| - darwin*|freebsd*) - args+=( - '(-b -l -n)-p+[split the file whenever a line matches specified pattern]:pattern' - ) - ;| - freebsd*) args+=( '-d[use numeric suffixes]' ) ;; -esac - -_arguments -s -S $args && ret=0 - -if [[ $state = chunks ]]; then - if [[ ! -prefix *[0-9/]* ]]; then - _alternative 'modifiers: :_values -s/ "modifier" "l[don'\''t split lines/records]" "r[round robin distribution]"' \ - 'lines: :_guard "[0-9/]#" lines' && ret=0 - else - _message -e lines lines - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqlite b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqlite deleted file mode 100644 index 7ef3c6da..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqlite +++ /dev/null @@ -1,82 +0,0 @@ -#compdef sqlite sqlite3 - -local opt display_opt sqlite3 ign -local -a options output_modes exclusive dashes - -[[ $service = sqlite3 ]] && sqlite3=true || unset sqlite3 - -# sqlite options require a single hyphen, but -# sqlite3 allows options with one or two -dashes=( '' ) -(( $+sqlite3 )) && dashes+=( - ) - -options=( - '(-init --init)'$^dashes'-init[startup file]:file containing SQLite commands:_files' - $^dashes'-echo[echo commands]' -) - -exclusive=( {,-}-{no,}header ) -options+=( - "($exclusive)"$^dashes'-header[turn headers on]' - "($exclusive)"$^dashes'-noheader[turn headers off]' -) - -output_modes=( column HTML line list ) -(( $+sqlite3 )) && output_modes+=( ascii box csv json markdown quote table tabs ) -exclusive=( $^dashes-${^output_modes:l} ) -for display_opt in $output_modes ; do - # finagle the description to match the way SQLite's -help formats them - opt=$display_opt:l - [[ $opt = $display_opt ]] && display_opt="'$display_opt'" - options+=( "($exclusive)"$^dashes"-${opt}[set output mode to $display_opt]" ) -done - -(( $#words == 2 )) || ign='!' -options+=( - $^dashes'-separator[set output field separator]:output field separator [|]' - $^dashes'-nullvalue[set text string for null values]:string' - "$ign(- :)"$^dashes'-version[show SQLite version]' - "$ign(- :)"$^dashes'-help[show help]' - '1:SQLite database file:_files' - '(- :)2: :_guard "^-*" "SQL to run"' -) - -(( $+sqlite3 )) && options+=( - $^dashes'-A+[run .archive with arguments and exit]' - $^dashes'-append[append the database to the end of the file]' - $^dashes'-bail[stop after hitting an error]' - $^dashes'-cmd[run specified command before reading stdin]:sqlite meta-command' - $^dashes'-deserialize[open the database using sqlite3_deserialize()]' - '(-*batch -*interactive)'$^dashes'-batch[force batch I/O]' - '(-*batch -*interactive)'$^dashes'-interactive[force interactive I/O]' - $^dashes'-lookaside[specify size and number of entries for lookaside memory]:size (bytes): :entries' - $^dashes'-maxsize[specify maximum size for a --deserialize database]:size' - $^dashes'-memtrace[trace all memory allocations and deallocations]' - $^dashes'-mmap[set default mmap size]:size' - $^dashes'-newline[set output row separator]:separator [\n]' - $^dashes'-nofollow[refuse to open symbolic links to database files]' - $^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots' - $^dashes'-readonly[open the database read-only]' - $^dashes'-stats[print memory stats before each finalize]' - $^dashes'-vfs[use specified default VFS]:vfs:(unix-dotfile unix-excl unix-none unix-namedsem)' - $^dashes'-zip[open the file as a ZIP Archive]' -) - -if [[ -n $words[(r)-A*] ]]; then - options=( -s -w : '(-A --A)'${^dashes}-A "(-f --file -a --append)"${(M)options:#1:*} - '(-v --verbose)'{-v,--verbose}'[print each filename as it is processed]' - '(1 -a --append -f --file)'{-f+,--file=}'[specify archive file]:archive file:_files' - '(1 -a --append -f --file)'{-a,--append=}'[operate on specified file opened using the apndvfs VFS]:archive file:_files' - '(-C --directory)'{-C+,--directory=}'[change to specified directory to read/extract files]:directory:_directories' - '(-n --dryrun)'{-n,--dryrun}'[show the SQL that would have occurred]' - '*:file:_files' - + '(commands)' \ - '(-c --create)'{-c,--create}'[create a new archive]' - '(-u --update)'{-u,--update}'[update or add files to an existing archive]' - '(-i --insert)'{-i,--insert}'[like -u but always add even if mtime unchanged]' - '(-t --list)'{-t,--list}'[list contents of archive]' - '(-x --extract)'{-x,--extract}'[extract files from archive]' - ) -fi - -_arguments $options diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqsh deleted file mode 100644 index 5caf7f98..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sqsh +++ /dev/null @@ -1,51 +0,0 @@ -#compdef sqsh - -_sybase_server() { - local interfaces - - if [[ -n "$opt_args[-I]" ]]; then - interfaces=${(e)~opt_args[-I]:Q} - elif [[ -n "$opt_args[-y]" ]]; then - interfaces=${(e)~opt_args[-y]:Q}/interfaces - else - interfaces=$SYBASE/interfaces - fi - - [[ -f $interfaces ]] && compadd ${${(f)"$(<$interfaces)"}:#[[:space:]#]*} -} - -_arguments : \ - '-A[adjust TDS packet size (512)]:packet size (bytes):(512 1024 1536 2048)' \ - '-B[turn off file buffering on startup]' \ - '-C[send sql statement to server]:sql' \ - '-D[change database context on startup]:database' \ - '-E[replace default editor (vi)]:editor' \ - '-H[set the client hostname]:reported hostname' \ - '-I[alternate interfaces file]:interface file:_files' \ - '-J[client character set]:charset' \ - '*-L[set the value of a given variable]:variable=value' \ - '-P[Sybase password (NULL)]:password' \ - '-S[name of Sybase server (\$DSQUERY)]:_sybase_server' \ - '-U[name of Sybase user]:username' \ - '-X[enable client password encryption]' \ - '-a[max. # of errors before abort]:number' \ - '-b[suppress banner message on startup]' \ - '*-c[alias for the ''go'' command]:go alias' \ - '-d[min. severity level to display]:severity level (0-22)' \ - '-e[echo batch prior to executing]' \ - '-f[min. severity level for failure]:failure severity' \ - '-h[disable headers and footers]' \ - '-i[read input from file]:_files' \ - '-k[specify alternate keywords file]:_files' \ - '-l[set debugging level]' \ - '-m[set display mode (normal)]:display style:(horiz vert bcp html meta pretty none)' \ - '-n[set chained transaction mode]:chained transaction mode:(on off)' \ - '-o[direct all output to file]:_files' \ - '-p[display performance stats]' \ - '-r[specify name of .sqshrc]:_files' \ - '-s[alternate column separator (\t)]:column separator' \ - '-t[filter batches through program]:filter program:_files -g "*(*)"' \ - '-v[display current version and exit]' \ - '-w[adjust result display width]:number' \ - '-y[override value of $SYBASE]:_directories' \ - '-z[alternate display language]:language' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ss b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ss deleted file mode 100644 index 2a1cfcb7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ss +++ /dev/null @@ -1,112 +0,0 @@ -#compdef ss - -local curcontext="$curcontext" suf ret=1 -local -a state line expl pref filt -local -A opt_args -local info="-h -V --help --version" -local sx="state exclude" - -_arguments -C -s \ - "(- *)"{-h,--help}'[show option summary]' \ - "(- *)"{-V,--version}'[show version information]' \ - "($info -n --numeric)"{-n,--numeric}"[don't resolve service names]" \ - "($info -r --resolve)"{-r,--resolve}'[resolve host addresses]' \ - "($info -a --all -l --listening)"{-a,--all}'[display all sockets]' \ - "($info -l --listening -a --all)"{-l,--listening}'[display listening sockets]' \ - "($info -o --options -e --extended)"{-o,--options}'[show timer information]' \ - "($info -e --extended -o --options)"{-e,--extended}'[show detailed information]' \ - "($info -m --memory)"{-m,--memory}'[show socket memory usage]' \ - "($info -p --processes)"{-p,--processes}'[show process using each socket]' \ - "($info -i --info)"{-i,--info}'[show internal TCP information]' \ - "($info)--tipcinfo[show internal tipc socket information]" \ - "($info -s --summary)"{-s,--summary}'[print summary statistics]' \ - "($info)--tos[show tos and priority information]" \ - "($info -b --bpf)"{-b,--bpf}'[show bpf filter socket information]' \ - "($info -E --events)"{-E,--events}'[continually display sockets as they are destroyed]' \ - "($info -Z --context)"{-Z,--context}'[display process SELinux security contexts]' \ - "($info -z --contexts)"{-z,--contexts}'[display process and socket SELinux security contexts]' \ - "($info -N --net)"{-N,--net}'[switch to specified network namespace]:network namespace' \ - "($info -4 --ipv4 -6 --ipv6)"{-4,--ipv4}'[display only IP version 4 sockets]' \ - "($info -4 --ipv4 -6 --ipv6)"{-6,--ipv6}'[display only IP version 6 sockets]' \ - "($info -0 --packet)"{-0,--packet}'[display PACKET sockets]' \ - "($info -t --tcp)"{-t,--tcp}'[display TCP sockets]' \ - "($info -S --sctp)"{-S,--sctp}'[display SCTP sockets]' \ - "($info -u --udp)"{-u,--udp}'[display UDP sockets]' \ - "($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \ - "($info -w --raw)"{-w,--raw}'[display RAW sockets]' \ - "($info -x --unix)"{-x,--unix}'[display Unix domain sockets]' \ - "($info)--tipc[display only TIPC sockets]" \ - "($info)--xdp[display only XDP sockets]" \ - "($info)--vsock[display only vsock sockets]" \ - "($info -f --family)"{-f+,--family=}'[display sockets of specified type]:family:(inet inet6 link unix netlink vsock tipc xdp help)' \ - "($info -K --kill)"{-K,--kill}'[forcibly close sockets, display what was closed]' \ - "($info -H --no-header)"{-H,--no-header}'[suppress header line]' \ - "($info -O --oneline)"{-O,--oneline}"[print socket's data on a single line]" \ - "($info -A --query --socket)"{-A+,--query=,--socket=}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram vsock_stream vsock_dgram tipc' \ - "($info -D)"{-D+,--diag=}'[dump raw info to file]:file:_files' \ - "($info -F)"{-F+,--filter=}'[read filter information from a file]:file:_files' \ - "($info)*: :->filter" && ret=0 - -if [[ -n $state ]]; then - case $words[CURRENT-1] in - (d|s)port) - _wanted operators expl operator \ - compadd \< \> \= \>= \<= \== \!= eq ge gt lt le ne && ret=0 - ;; - dst|src) - if compset -P unix: || (( $+opt_args[-x] + $+opt_args[--unix] )) || [[ $opt_args[-f] = unix ]]; then - _files -g '*(=)' && ret=0 - elif compset -P nl:; then - if compset -P \*:; then - _pids && ret=0 - else - _message channel - fi - elif compset -P link:; then - compset -P \*: && _message ifindex || _message protocol - else - compset -P 'inet(6|):' - pref=$? - compset -S ':*' || suf="-qS:" - if compset -P \*:; then - _ports && ret=0 - elif compset -P \*/; then - _wanted netmasks expl netmask compadd $suf {1..31} && ret=0 - elif (( pref )); then - _alternative \ - "hosts:host:_hosts $suf" \ - "prefixes:prefix:compadd $suf nl link unix" && ret=0 - else - _hosts $suf && ret=0 - fi - fi - ;; - state|exclude) - _wanted states expl state compadd -M 'm:{a-zA-Z_}={A-Za-z-}' \ - ESTABLISHED SYN-SENT SYN-RECV FIN-WAIT-1 FIN-WAIT-2 TIME-WAIT \ - CLOSED CLOSE-WAIT LAST-ACK LISTENING CLOSING \ - all connected synchronized bucket big && ret=0 - ;; - *) - if [[ $words[CURRENT-2] = (d|s)port ]]; then - compset -P '*:' || pref=(-P :) - _ports $pref - return - else - (( $#line > 1 )) && [[ ${words[CURRENT-1]:Q} != (and|or|\() ]] && - filt=( "($sx)*"{and,or} ) - _values -w -s ' ' -S ' ' filter $filt \ - "*state[sockets in specified state]" \ - "*exclude[sockets not in specified state]" \ - "($sx)*src[local address/port of socket]" \ - "($sx)*dst[peer address/port of socket]" \ - "($sx)*dport[peer port]: :(lt gt ge)" \ - "($sx)*sport[local port]" \ - "($sx)*autobound[socket bound to ephemeral port]" \ - "($sx)*"{not,\(,\)} && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh deleted file mode 100644 index 2385272f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh +++ /dev/null @@ -1,747 +0,0 @@ -#compdef ssh slogin=ssh scp ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sftp - -# TODO: sshd, ssh-keysign - -_ssh () { - local curcontext="$curcontext" state line expl suf arg ret=1 - local args sigargs common common_transfer options algopt tmp p1 file cmn cmds sdesc tdesc - typeset -A opt_args tsizes - - common=( - '(-6)-4[force ssh to use IPv4 addresses only]' - '(-4)-6[force ssh to use IPv6 addresses only]' - '-A[enable forwarding of the authentication agent connection]' - '-C[compress data]' - '-c+[select encryption cipher]:encryption cipher:->ciphers' - '-F+[specify alternate config file]:config file:_files' - '*-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' - '*-o+[specify extra options]:option string:->option' - ) - common_transfer=( - '-J+[connect via a jump host]: :->userhost' - '-l+[limit used bandwidth]:bandwidth (Kbit/s)' - '-P+[specify port on remote host]:port number on remote host' - '-p[preserve modification times, access times and modes]' - '-q[disable progress meter and warnings]' - '-r[recursively copy directories (follows symbolic links)]' - '-S+[specify ssh program]:path to ssh:_command_names -e' \ - '-v[verbose mode]' - ) - algopt='-E+[specify hash algorithm for fingerprints]:algorithm:(md5 sha256)' - - case "$service" in - ssh) - (( $+words[(r)-[^-]#t*] )) && tdesc=' even if there is no controlling tty' - _arguments -C -s \ - '(-A)-a[disable forwarding of authentication agent connection]' \ - '-B+[bind to specified interface before attempting to connect]:interface:_net_interfaces' \ - '(-P)-b+[specify interface to transmit on]:bind address:_bind_addresses' \ - '-D+[specify a dynamic port forwarding]:dynamic port forwarding:->dynforward' \ - '-e+[set escape character]:escape character (or `none'\''):' \ - '-E+[append log output to file instead of stderr]:_files' \ - '(-n)-f[go to background]' \ - '-g[allow remote hosts to connect to local forwarded ports]' \ - '-G[output configuration and exit]' \ - '-I+[specify smartcard device]:device:_files' \ - '-J+[connect via a jump host]: :->userhost' \ - '-K[enable GSSAPI-based authentication and forwarding]' \ - '-k[disable forwarding of GSSAPI credentials]' \ - '*-L+[specify local port forwarding]:local port forwarding:->forward' \ - '-l+[specify login name]:login name:_ssh_users' \ - '-M[master mode for connection sharing]' \ - '-m+[specify mac algorithms]: :->macs' \ - "-N[don't execute a remote command]" \ - '-n[redirect stdin from /dev/null]' \ - '-O+[control an active connection multiplexing master process]:multiplex control command:((check\:"check master process is running" exit\:"request the master to exit" forward\:"request forward without command execution" stop\:"request the master to stop accepting further multiplexing requests" cancel\:"cancel existing forwardings with -L and/or -R" proxy))' \ - '-P[use non privileged port]' \ - '-p+[specify port on remote host]:port number on remote host' \ - '(-v)*-q[quiet operation]' \ - '*-R+[specify remote port forwarding]:remote port forwarding:->forward' \ - '-S+[specify location of control socket for connection sharing]:path to control socket:_files' \ - '-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries"))' \ - '-s[invoke subsystem]' \ - '(-t)-T[disable pseudo-tty allocation]' \ - "(-T)*-t[force pseudo-tty allocation${tdesc}]" \ - '-V[show version number]' \ - '(-q)*-v[verbose mode (multiple increase verbosity, up to 3)]' \ - '-W+[forward standard input and output to host]:stdinout forward:->hostport' \ - '-w+[request tunnel device forwarding]:local_tun[\:remote_tun] (integer or "any"):' \ - '(-x -Y)-X[enable (untrusted) X11 forwarding]' \ - '(-X -Y)-x[disable X11 forwarding]' \ - '(-x -X)-Y[enable trusted X11 forwarding]' \ - '-y[send log info via syslog instead of stderr]' \ - ':remote host name:->userhost' \ - '*::args:->command' "$common[@]" && ret=0 - ;; - scp) - _arguments -C -s \ - '-3[copy through local host, not directly between the remote hosts]' \ - '-B[batch mode (don'\''t ask for passphrases)]' \ - '-T[disable strict filename checking]' \ - '*:file:->file' "$common[@]" "$common_transfer[@]" && ret=0 - ;; - ssh-add) - if [[ $OSTYPE != darwin* || $APPLE_SSH_ADD_BEHAVIOR == openssh ]]; then - args=( - '-K[load resident keys from a FIDO authenticator]' - ) - else - [[ ${APPLE_SSH_ADD_BEHAVIOR:-macos} == macos ]] && args=( - '-A[add identities from keychain]' - '-K[update keychain when adding/removing identities]' - ) - fi - [[ $OSTYPE == darwin<20->.* ]] && args+=( - '--apple-load-keychain[add identities from keychain]' - '--apple-use-keychain[update keychain when adding/removing identities]' - ) - _arguments -s : $args \ - '-c[identity is subject to confirmation via SSH_ASKPASS]' \ - '-D[delete all identities]' \ - '-d[remove identity]' \ - $algopt \ - '-e+[remove keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \ - '-k[load plain private keys only and skip certificates]' \ - '-K[load resident keys from a FIDO authenticator]' \ - '-L[list public key parameters of all identities in the agent]'\ - '-l[list all identities]' \ - '-m+[specify minimum remaining signatures before maximum is changed]:number' \ - '-M+[specify maximum number of signatures]:number' \ - '-S+[use specified library when adding FIDO authenticator-hosted keys]:library:_files' \ - '-s+[add keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \ - '-t+[set maximum lifetime for identity]:maximum lifetime (in seconds or time format):' \ - "-T[test usability of identity files' private keys]:*:public key file:_files -g '*.pub(-.)'" \ - '*-v[verbose mode]' \ - '-q[be quiet after a successful operation]' \ - '-X[unlock the agent]' \ - '-x[lock the agent with a password]' \ - '*:SSH identity file:_files' - return - ;; - ssh-agent) - _arguments -s \ - '(-k)-a+[specify UNIX-domain socket to bind agent to]:UNIX-domain socket:_files' \ - '(-k -s)-c[force csh-style shell]' \ - '(-k)-d[debug mode]' \ - '(-k)-D[foreground mode]' \ - "(-k)$algopt" \ - '-k[kill current agent]' \ - '(-k)-P[specify PKCS#11 shared library whitelist]:PKCS#11 library whitelist pattern' \ - '(-k -c)-s[force sh-style shell]' \ - '-t[set default maximum lifetime for identities]:maximum lifetime (in seconds or time format):' \ - '-v[verbose mode]' \ - '*::command: _normal' - return - ;; - ssh-keygen) - # options can be in any order but use ! to limit those shown for the first argument - (( CURRENT == 2 )) && p1='!' - args=( '!-z:number' ) - options=( - application - 'challenge\:path\:_files' - device - no-touch-required - resident - user - verify-required - 'write-attestation\:path\:_files' - ) - sdesc='certify keys with CA key' - if (( $+words[(r)-[IhUDnV]*] )); then - args=( '-z[specify serial number]:serial number' ) - options=( - clear critical\:name extension\:name force-command\:command\:_cmdstring - no-agent-forwarding no-port-forwarding no-pty no-user-rc no-x11-forwarding - permit-agent-forwarding permit-port-forwarding permit-pty permit-user-rc - permit-x11-forwarding source-address\:source\ address - ) - fi - (( $+words[(r)-[ku]] )) && args=( '-z[specify version number]:version number' ) && - sdesc='specify CA public key file' - file=key - (( $+words[(r)-[FHR]] )) && file=known_hosts - if (( $+words[(r)-M*] )); then - file=input - args+=( '*:output file:_files' ) - options=( - lines:number - 'start-line\:line number' - checkpoint\:file:_files - 'memory\:size (mbytes)' - 'start\:start point (hex-value)' - generator\:value - ) - fi - (( $+words[(r)-A] )) && file='prefix for host key' - if (( $+words[(r)-[kIQ]] )); then - file=krl - args+=( '*:file:_files' ) - fi - if (( arg = $words[(I)-Y*] )); then - [[ $words[arg] = -Y?* ]] || (( arg++ )) - case ${words[arg]#-Y} in - ^find-*) sigargs+=( "$p1-n+[specify namespace]:namespace" ) ;| - check*|find*|verify) - sigargs+=( "$p1-s+[specify signature file]:signature file:-files" ) - ;| - sign) sigargs+=( '*:file:_files' ) ;; - verify) - args=() - sigargs+=( - '-I+[specify signer identity]:identity' - '-r+[specify revocation file]:revocation file:_files' - ) - ;; - esac - fi - cmds=( -p -i -e -y -c -l -B -D -F -H -K -R -r -M -s -L -A -k -Q -Y ) # basic commands - cmn=( -a -b -P -N -C -l -m -O -v -w -Z ) # options common to many basic commands (except -f which is common to most) - cms=( -E -q -t -g -M -I -h -n -V -u -U ) # options specific to one basic command - tsizes=( - dsa 1024 - ecdsa '256 384 521' # values appear in key names as listed with ssh -Q key - 521 really is correct - rsa '1024 2048 4096' - ) - _arguments -s $args \ - "${p1}(${${(@)cmds:#-[pcKAO]}} ${${(@)cms:#-[t]}} -O)-a+[specify number of rounds]:rounds [16]" \ - "(${${(@)cmds:#-M}} -P ${${(@)cms:#-[MS]}})-b+[specify number of bits in key]:bits in key [2048]:"'compadd ${expl\:/-X/-x} ${_comp_mesg\:=-} ${=tsizes[${opt_args[create--t]\:-rsa}]}' \ - "$p1(${${(@)cmds:#-[pc]}} -b $cms)-P+[provide old passphrase]:old passphrase" \ - "(${${(@)cmds:#-p}} -v ${${(@)cms:#-[qt]}})-N+[provide new passphrase]:new passphrase" \ - "(${${(@)cmds:#-c}} -v $cms)-C+[provide new comment]:new comment" \ - "(-D -I -h -n -V -A)-f+[$file file]:$file file:_files" \ - "$p1(${${(@)cmds:#-[FE]}} ${${(@)cmn:#-v}} ${${(@)cms:#-E}})-l[show fingerprint of key file]" \ - "$p1(${${(@)cmds:#-[iep]}} $cms)-m+[specify conversion format]:format [RFC4716]:(PEM PKCS8 RFC4716)" \ - "$p1*-O+[specify a key/value option]: : _values 'option' $options" \ - "(${${(@)cmds:#-[lGT]}} ${${(@)cmn:#-[bv]}} -f)*-v[verbose mode]" \ - "$p1(${${(@)cmds:#-K}} -P ${${(@)cms:#-[qt]}})-w+[specify library used when creating FISO authenticator-hosted keys]:library:_files -g '*.(so|dylib)(|.<->)(-.)'" \ - "$p1(${${(@)cmds:#-p}} -l ${${(@)cms:#-[qt]}})-Z+[specify encryption cipher to use when writing a private key file]:cipher:compadd - $(_call_program ciphers ssh -Q cipher)" \ - - '(commands)' \ - "(-b -l -C -O -v -w)-p[change passphrase of private key file]" \ - "(${${(@)cmn:#-m}})-i[import key to OpenSSH format]" \ - "(${${(@)cmn:#-m}})-e[export key to SECSH file format]" \ - "($cmn)-y[get public key from private key]" \ - "(${${(@)cmn:#-[aCP]}})-c[change comment in private and public key files]" \ - "($cmn)-B[show the bubblebabble digest of key]" \ - "(-)-D+[download key stored in smartcard reader]:reader" \ - "(${${(@)cmn:#-[lv]}})-F+[search for host in known_hosts file]:host:_ssh_hosts" \ - "($cmn)-H[hash names in known_hosts file]" \ - "(${${(@)cmn:#-[aw]}} -f)-K[download resident keys from a FIDO authenticator]" \ - "($cmn)-R+[remove host from known_hosts file]:host:_ssh_hosts" \ - "(${${(@)cmn:#-O}})-M+[moduli generation]:action:(( - generate\:generate\ candidates\ for\ DH-GEX\ moduli - screen\:screen\ candidates\ for\ DH-GEX\ moduli - ))" \ - "($cmn)-L[print the contents of a certificate]" \ - "(${${(@)cmn:#-a}})-A[generate host keys for all key types]" \ - "($cmn)-Q[test whether keys have been revoked in a KRL]" \ - "($cmn)-Y+[signature action]:action:(( - find-principals\:find\ the\ principal\ associated\ with\ the\ public\ key\ of\ a\ signature - sign\:sign\ a\ file\ using\ SSH\ key - verify\:verify\ a\ signature\ generated\ using\ the\ sign\ option - check-novalidate\:check\ signature\ structure - ))" \ - - finger \ - "$p1($cmn)$algopt" \ - - create \ - '(-P -l)-q[silence ssh-keygen]' \ - "(-P -l)-t+[specify the type of the key to create]:key type:(rsa dsa ecdsa ed25519 ecdsa-sk ed25519-sk)" \ - - dns \ - "($cmn)-r[print DNS resource record]:hostname:_hosts" \ - "$p1($cmn)-g[use generic DNS format]" \ - - certify \ - "($cmn)-s[$sdesc]:CA key:_files" \ - "$p1($cmn -f -k -u)-I+[specify key identifier to include in certificate]:key id" \ - "$p1($cmn -f -k -u)-h[generate host certificate instead of a user certificate]" \ - "$p1($cmn -f -k -u -D)-U[indicate that CA key is held by ssh-agent]" \ - "$p1($cmn -f -k -u -U)-D+[indicate the CA key is stored in a PKCS#11 token]:PKCS11 shared library:_files -g '*.(so|dylib)(|.<->)(-.)'" \ - "$p1($cmn -f -k -u)-n+[specify user/host principal names to include in certificate]:principals" \ - "$p1($cmn -f -u)-V+[specify certificate validity interval]:interval" \ - "($cmn -I -h -n -D -O -U -V)-k[generate a KRL file]" \ - "$p1($cmn -I -h -n -D -O -U -V)-u[update a KRL]" \ - - signature \ - $sigargs - return - ;; - ssh-keyscan) - _arguments \ - '(-6)-4[force ssh to use IPv4 addresses only]' \ - '(-4)-6[force ssh to use IPv6 addresses only]' \ - '-c[request certificates from target hosts instead of plain keys]' \ - '-D[print keys found as SSHFP DNS records]' \ - '*-f+[read hosts from file, one per line]:file:_files' \ - '-H[hash all hostnames and addresses in the output]' \ - '-p+[specify port on remote host]:port number on remote host' \ - '-T+[specify timeout]:timeout (seconds) [5]' \ - '-t+[specify key types to fetch from scanned hosts]:key type:_sequence compadd - rsa dsa ecdsa ed25519' \ - '-v[verbose mode]' - return - ;; - sftp) - _arguments -C -s \ - '-a[attempt to continue interrupted transfers]' \ - '-B+[specify buffer size]:buffer size (bytes) [32768]' \ - '-b+[specify batch file to read]:batch file:_files' \ - '-D+[connect directly to a local sftp server]:sftp server path' \ - '-f[request that files be flushed immediately after transfer]' \ - '-N[disable implicit quiet mode set by -b]' \ - '-R+[specify number of outstanding requests]:number of requests [64]' \ - '-s+[specify SSH2 subsystem or path to sftp server on the remote host]:subsystem/path' \ - '1:file:->rfile' '*:file:->file' "$common[@]" "$common_transfer[@]" && ret=0 - ;; - ssh-copy-id) - _arguments \ - '-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' \ - '-f[copy keys without trying to check if they are already installed]' \ - '-n[dry run - no keys are actually copied]' \ - '*-o+[specify ssh options]:option string:->option' \ - '-p+[specify port on remote host]:port number on remote host' \ - '(- 1)'{-h,-\?}'[display usage information]' \ - ':remote host name:->userhost' && ret=0 - ;; - esac - - while [[ -n "$state" ]]; do - lstate="$state" - state='' - - case "$lstate" in - option) - if compset -P 1 '*='; then - case "${IPREFIX#-o}" in - (#i)(ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedkeytypes|hostbasedkeytypes)=) - if ! compset -P '[+-]'; then - _wanted prefix expl 'relative to default' compadd - + - && ret=0 - fi - ;; - esac - case "${IPREFIX#-o}" in - (#i)(afstokenpassing|batchmode|canonicalizefallbacklocal|challengeresponseauthentication|checkhostip|clearallforwardings|compression|enablesshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx11trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssapikeyexchange|gssapirenewalforcesrekey|gssapitrustdns|hashknownhosts|hostbasedauthentication|identitiesonly|kbdinteractiveauthentication|(tcp|)keepalive|nohostauthenticationforlocalhost|passwordauthentication|permitlocalcommand|proxyusefdpass|pubkeyauthentication|rhosts(|rsa)authentication|rsaauthentication|streamlocalbindunlink|usersh|kerberos(authentication|tgtpassing)|useprivilegedport|visualhostkey)=*) - _wanted values expl 'truth value' compadd yes no && ret=0 - ;; - (#i)addressfamily=*) - _wanted values expl 'address family' compadd any inet inet6 && ret=0 - ;; - (#i)bindaddress=*) - _wanted bind-addresses expl 'bind address' _bind_addresses && ret=0 - ;; - (#i)canonicaldomains=*) - _message -e 'canonical domains (space separated)' && ret=0 - ;; - (#i)canonicalizehostname=*) - _wanted values expl 'truthish value' compadd yes no always && ret=0 - ;; - (#i)canonicalizemaxdots=*) - _message -e 'number of dots' && ret=0 - ;; - (#i)canonicalizepermittedcnames=*) - _message -e 'CNAME rule list (source_domain_list:target_domain_list, each pattern list comma separated)' && ret=0 - ;; - (#i)ciphers=*) - state=ciphers - ;; - (#i)connectionattempts=*) - _message -e 'connection attempts' && ret=0 - ;; - (#i)connecttimeout=*) - _message -e 'connection timeout' && ret=0 - ;; - (#i)controlmaster=*) - _wanted values expl 'truthish value' compadd yes no auto autoask && ret=0 - ;; - (#i)controlpath=*) - _description files expl 'path to control socket' - _files "$expl[@]" && ret=0 - ;; - (#i)controlpersist=*) - _message -e 'timeout' - ret=0 - _wanted values expl 'truth value' compadd yes no && ret=0 - ;; - (#i)escapechar=*) - _message -e 'escape character (or `none'\'')' - ret=0 - ;; - (#i)fingerprinthash=*) - _values 'fingerprint hash algorithm' \ - md5 ripemd160 sha1 sha256 sha384 sha512 && ret=0 - ;; - (#i)forwardx11timeout=*) - _message -e 'timeout' - ret=0 - ;; - (#i)globalknownhostsfile=*) - _description files expl 'global file with known hosts' - _files "$expl[@]" && ret=0 - ;; - (#i)hostname=*) - _wanted hosts expl 'real host name to log into' _ssh_hosts && ret=0 - ;; - (#i)(hostbasedkeytypes|hostkeyalgorithms|pubkeyacceptedkeytypes)=*) - _wanted key-types expl 'key type' _sequence compadd - $(_call_program key-types ssh -Q key) && ret=0 - ;; - (#i)identityfile=*) - _description files expl 'SSH identity file' - _files "$expl[@]" && ret=0 - ;; - (#i)ignoreunknown=*) - _message -e 'pattern list' && ret=0 - ;; - (#i)ipqos=*) - local descr - if [[ $PREFIX = *\ *\ * ]]; then return 1; fi - if compset -P '* '; then - descr='QoS for non-interactive sessions' - else - descr='QoS [for interactive sessions if second value given, separated by white space]' - fi - _values $descr 'af11' 'af12' 'af13' 'af14' 'af22' \ - 'af23' 'af31' 'af32' 'af33' 'af41' 'af42' 'af43' \ - 'cs0' 'cs1' 'cs2' 'cs3' 'cs4' 'cs5' 'cs6' 'cs7' 'ef' \ - 'lowdelay' 'throughput' 'reliability' && ret=0 - ;; - (#i)(local|remote)forward=*) - state=forward - ;; - (#i)dynamicforward=*) - state=dynforward - ;; - (#i)kbdinteractivedevices=*) - _values -s , 'keyboard-interactive authentication method' \ - 'bsdauth' 'pam' 'skey' && ret=0 - ;; - (#i)(kexalgorithms|gssapikexalgorithms)=*) - _wanted algorithms expl 'key exchange algorithm' _sequence compadd - \ - $(_call_program algorithms ssh -Q kex) && ret=0 - ;; - (#i)localcommand=*) - _description commands expl 'run command locally after connecting' - _command_names && ret=0 - ;; - (#i)loglevel=*) - _values 'log level' QUIET FATAL ERROR INFO VERBOSE\ - DEBUG DEBUG1 DEBUG2 DEBUG3 && ret=0 - ;; - (#i)macs=*) - state=macs - ;; - (#i)numberofpasswordprompts=*) - _message -e 'number of password prompts' - ret=0 - ;; - (#i)pkcs11provider=*) - _description files expl 'PKCS#11 shared library' - _files -g '*.(so|dylib)(|.<->)(-.)' "$expl[@]" && ret=0 - ;; - (#i)port=*) - _message -e 'port number on remote host' - ret=0 - ;; - (#i)preferredauthentications=*) - _values -s , 'authentication method' gssapi-with-mic \ - hostbased publickey keyboard-interactive password && ret=0 - ;; - (#i)protocol=*) - _values -s , 'protocol version' \ - '1' \ - '2' && ret=0 - ;; - (#i)(proxy|remote)command=*) - _cmdstring && ret=0 - ;; - (#i)rekeylimit=*) - _message -e 'maximum number of bytes transmitted before renegotiating session key' - ret=0 - ;; - (#i)requesttty=*) - _values 'request a pseudo-tty' \ - 'no[never request a TTY]' \ - 'yes[always request a TTY when stdin is a TTY]' \ - 'force[always request a TTY]' \ - 'auto[request a TTY when opening a login session]' && ret=0 - ;; - (#i)revokedhostkeys=*) - _description files expl 'revoked host keys file' - _files "$expl[@]" && ret=0 - ;; - (#i)sendenv=*) - _wanted envs expl 'environment variable' _parameters -g 'scalar*export*' && ret=0 - ;; - (#i)serveralivecountmax=*) - _message -e 'number of alive messages without replies before disconnecting' - ret=0 - ;; - (#i)serveraliveinterval=*) - _message -e 'timeout in seconds since last data was received to send alive message' - ret=0 - ;; - (#i)streamlocalbindmask=*) - _message -e 'octal mask' && ret=0 - ;; - (#i)stricthostkeychecking=*) - _wanted values expl 'value' compadd yes no ask accept-new off && ret=0 - ;; - (#i)syslogfacility=*) - _wanted facilities expl 'facility' compadd -M 'm:{a-z}={A-Z}' DAEMON USER AUTH LOCAL{0,1,2,3,4,5,6,7} && ret=0 - ;; - (#i)(verifyhostkeydns|updatehostkeys)=*) - _wanted values expl 'truthish value' compadd yes no ask && ret=0 - ;; - (#i)transport=*) - _values 'transport protocol' TCP SCTP && ret=0 - ;; - (#i)tunnel=*) - _values 'request device forwarding' \ - 'yes' \ - 'point-to-point' \ - 'ethernet' \ - 'no' && ret=0 - ;; - (#i)tunneldevice=*) - _message -e 'local_tun[:remote_tun] (integer or "any")' - ret=0 - ;; - (#i)userknownhostsfile=*) - _description files expl 'user file with known hosts' - _files "$expl[@]" && ret=0 - ;; - (#i)user=*) - _wanted users expl 'user to log in as' _ssh_users && ret=0 - ;; - (#i)xauthlocation=*) - _description files expl 'xauth program' - _files "$expl[@]" -g '*(-*)' && ret=0 - ;; - esac - else - # old options are after the empty "\"-line - _wanted values expl 'configure file option' \ - compadd -M 'm:{a-z}={A-Z} r:[^A-Z]||[A-Z]=* r:|=*' -q -S '=' - \ - AddKeysToAgent \ - AddressFamily \ - BatchMode \ - BindAddress \ - CanonicalDomains \ - CanonicalizeFallbackLocal \ - CanonicalizeHostname \ - CanonicalizeMaxDots \ - CanonicalizePermittedCNAMEs \ - CASignatureAlgorithms \ - CertificateFile \ - ChallengeResponseAuthentication \ - CheckHostIP \ - Ciphers \ - ClearAllForwardings \ - Compression \ - ConnectionAttempts \ - ConnectTimeout \ - ControlMaster \ - ControlPath \ - ControlPersist \ - DynamicForward \ - EnableSSHKeysign \ - EscapeChar \ - ExitOnForwardFailure \ - FingerprintHash \ - ForwardAgent \ - ForwardX11 \ - ForwardX11Timeout \ - ForwardX11Trusted \ - GatewayPorts \ - GlobalKnownHostsFile \ - GSSAPIAuthentication \ - GSSAPIClientIdentity \ - GSSAPIDelegateCredentials \ - GSSAPIKeyExchange \ - GSSAPIRenewalForcesRekey \ - GSSAPIServerIdentity \ - GSSAPITrustDns \ - GSSAPIKexAlgorithms \ - HashKnownHosts \ - HostbasedAuthentication \ - HostbasedKeyTypes \ - HostKeyAlgorithms \ - HostKeyAlias \ - HostName \ - IdentitiesOnly \ - IdentityAgent \ - IdentityFile \ - IgnoreUnknown \ - IPQoS \ - KbdInteractiveAuthentication \ - KbdInteractiveDevices \ - KexAlgorithms \ - LocalCommand \ - LocalForward \ - LogLevel \ - MACs \ - NoHostAuthenticationForLocalhost \ - NumberOfPasswordPrompts \ - PasswordAuthentication \ - PermitLocalCommand \ - PKCS11Provider \ - Port \ - PreferredAuthentications \ - ProxyCommand \ - ProxyJump \ - ProxyUseFdpass \ - PubkeyAcceptedKeyTypes \ - PubkeyAuthentication \ - RekeyLimit \ - RemoteCommand \ - RemoteForward \ - RequestTTY \ - RevokedHostKeys \ - RhostsRSAAuthentication \ - RSAAuthentication \ - SendEnv \ - ServerAliveCountMax \ - ServerAliveInterval \ - SetEnv \ - StreamLocalBindMask \ - StreamLocalBindUnlink \ - StrictHostKeyChecking \ - SyslogFacility \ - TCPKeepAlive \ - Tunnel \ - TunnelDevice \ - UpdateHostKeys \ - UsePrivilegedPort \ - User \ - UserKnownHostsFile \ - VerifyHostKeyDNS \ - VisualHostKey \ - XAuthLocation \ - \ - AFSTokenPassing \ - FallBackToRsh \ - KeepAlive \ - KerberosAuthentication \ - KerberosTgtPassing \ - PreferredAuthentications \ - ProtocolKeepAlives \ - RhostsAuthentication \ - SetupTimeOut \ - SmartcardDevice \ - UseRsh \ - && ret=0 - fi - ;; - forward) - local port=false host=false listen=false bind=false - if compset -P 1 '*:'; then - if [[ $IPREFIX != (*=|)<-65535>: ]]; then - if compset -P 1 '*:'; then - if compset -P '*:'; then - port=true - else - host=true - fi - else - listen=true - ret=0 - fi - else - if compset -P '*:'; then - port=true - else - host=true - fi - fi - else - listen=true - bind=true - fi - $port && { _message -e port-numbers 'port number'; ret=0 } - $listen && { _message -e port-numbers 'listen-port number'; ret=0 } - $host && { _wanted hosts expl host _ssh_hosts -S: && ret=0 } - $bind && { _wanted bind-addresses expl bind-address _bind_addresses -S: && ret=0 } - return ret - ;; - dynforward) - _message -e port-numbers 'listen-port number' - if ! compset -P '*:'; then - _wanted bind-addresses expl bind-address _bind_addresses -qS: - fi - return 0 - ;; - hostport) - if compset -P '*:'; then - _message -e port-numbers 'port number' - ret=0 - else - _wanted hosts expl host _ssh_hosts -S: && ret=0 - fi - return ret - ;; - macs) - _wanted macs expl 'MAC algorithm' _sequence compadd - $(_call_program macs ssh -Q mac) - return - ;; - ciphers) - _wanted ciphers expl 'encryption cipher' _sequence compadd - $(_call_program ciphers ssh -Q cipher) - return - ;; - command) - if (( $+opt_args[-s] )); then - _wanted subsystems expl subsystem compadd sftp - return - fi - local -a _comp_priv_prefix - shift 1 words - (( CURRENT-- )) - _normal - return - ;; - userhost) - if compset -P '*@'; then - _wanted hosts expl 'remote host name' _ssh_hosts && ret=0 - elif compset -S '@*'; then - _wanted users expl 'login name' _ssh_users -S '' && ret=0 - else - if (( $+opt_args[-l] )); then - tmp=() - else - tmp=( 'users:login name:_ssh_users -qS@' ) - fi - _alternative \ - 'hosts:remote host name:_ssh_hosts' \ - "$tmp[@]" && ret=0 - fi - ;; - file) - if compset -P 1 '[^./][^/]#:'; then - _remote_files -- ssh ${(kv)~opt_args[(I)-[FP1246]]/-P/-p} && ret=0 - elif compset -P 1 '*@'; then - suf=( -S '' ) - compset -S ':*' || suf=( -r: -S: ) - _wanted hosts expl 'remote host name' _ssh_hosts $suf && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:remote host name:_ssh_hosts -r: -S:' \ - 'users:user:_ssh_users -qS@' && ret=0 - fi - ;; - rfile) - if compset -P 1 '*:'; then - _remote_files -- ssh && ret=0 - elif compset -P 1 '*@'; then - _wanted hosts expl host _ssh_hosts -r: -S: && ret=0 - else - _alternative \ - 'hosts:remote host name:_ssh_hosts -r: -S:' \ - 'users:user:_ssh_users -qS@' && ret=0 - fi - ;; - esac - done - - return ret -} - -_ssh_users () { - _combination -s '[:@]' my-accounts users-hosts users "$@" -} - -_ssh "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh_hosts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh_hosts deleted file mode 100644 index a4a08ad9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ssh_hosts +++ /dev/null @@ -1,54 +0,0 @@ -#autoload - -local -a config_hosts -local config -integer ind - -# If users-hosts matches, we shouldn't complete anything else. -if [[ "$IPREFIX" == *@ ]]; then - _combination -s '[:@]' my-accounts users-hosts "users=${IPREFIX/@}" hosts "$@" && return -else - _combination -s '[:@]' my-accounts users-hosts \ - ${opt_args[-l]:+"users=${opt_args[-l]:q}"} hosts "$@" && return -fi -if (( ind = ${words[(I)-F]} )); then - config=${~words[ind+1]} 2>/dev/null -else - config="$HOME/.ssh/config" -fi -if [[ -r $config ]]; then - local key line host - local -a lines=("${(@f)$(<"$config")}") 2>/dev/null - local -a match_args - local idx=1 - while (( idx <= $#lines )); do - IFS=$'=\t ' read -r key line <<<"${lines[idx]}" - if [[ "$key" == ((#i)match) ]]; then - match_args=(${(z)line}) - while [[ $#match_args -ge 2 ]]; do - if [[ "${match_args[1]}" == (#i)(canonical|final|(|original)host) ]]; then - key="Host" - line="${match_args[2]//,/ }" - break - fi - shift 2 match_args - done - fi - case "$key" in - ((#i)include) - lines[idx]=("${(@f)$(cd $HOME/.ssh; cat ${(z)~line})}") 2>/dev/null;; - ((#i)host(|name)) - for host in ${(z)line}; do - case $host in - (*[*?]*) ;; - (*) config_hosts+=("$host") ;; - esac - done ;& - (*) (( ++idx ));; - esac - done - if (( ${#config_hosts} )); then - _wanted hosts expl 'remote host name' \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" $config_hosts - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sshfs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sshfs deleted file mode 100644 index 3467fbd8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sshfs +++ /dev/null @@ -1,73 +0,0 @@ -#compdef sshfs - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args -integer ret=1 - -# TODO: in the "user@host" argument, the "user@" part should be optional -_arguments -C -S : \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-V,--version}'[display version information]' \ - '-p[specify TCP port]:tcp port:_ports' \ - '-C[enable compression]' \ - '-F[specify ssh config file]:file:_files' \ - '*-o[specify mount options]:options:->options' \ - '(-d --debug -f)'{-d,--debug}'[enable debug output]' \ - '-f[foreground]' \ - '-s[disable multithreaded operation]' \ - ':remote directory:_user_at_host -S:' \ - ':mountpoint:_files -/' && ret=0 - -if [[ $state == options ]]; then - # TODO complete ssh(1) options - _values -s , "options to ssh, sshfs, mount, or FUSE" \ - 'port:number' \ - 'compression: :(yes no)' \ - reconnect delay_connect sshfs_sync no_readahead sync_readdir \ - sshfs_debug \ - 'cache: :(yes no)' \ - 'cache_timeout:timeout (seconds)' \ - 'dir_cache:cache setting:(yes no)' \ - 'dcache_max_size:size [10000]' \ - 'dcache_timeout:timeout (seconds) [20]' \ - dcache_{stat,dir,link}_timeout:'timeout (seconds)' \ - 'dcache_clean_interval:interval [60]' \ - 'dcache_min_clean_interval:interval [5]' \ - 'workaround:workaround:(none all rename renamexdev delaysrv truncate nobuflimit fstat createmode)' \ - 'idmap:user/group mapping:(none user file)' \ - uidfile:file:_files \ - gidfile:file:_files \ - 'nomap:type:(ignore error)' \ - 'ssh_command:ssh command:_command_names' \ - 'ssh_protocol:version:(1 2)' \ - sftp_server:path:_files \ - directport:port:_ports \ - slave disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \ - debug \ - allow_other allow_root auto_unmount nonempty default_permissions \ - fsname:filesystem\ name \ - subtype:filesystem\ type \ - large_read \ - max_read:max\ size \ - hard_remove use_ino readdir_ino direct_io kernel_cache auto_cache noauto_cache \ - 'umask:permissions' \ - 'uid:owner' 'gid:group' \ - 'entry_timeout:timeout (seconds) [1]' \ - 'negative_timeout:timeout (seconds) [0]' \ - 'attr_timeout:timeout (seconds) [1]' \ - 'ac_attr_timeout:timeout (seconds) [= attr_timeout]' \ - noforget \ - 'remember:time (seconds)' \ - nopath intr \ - 'intr_signal:signal [10]' \ - modules:module \ - max_write:size \ - max_readahead:readahead \ - max_background:number \ - congestion_threshold:threshold \ - async_read sync_read atomic_o_trunc big_writes no_remote_lock no_remote_flock \ - no_remote_posix_lock splice_write splice_move splice_read \ - from_code:charset to_code:charset subdir:_directories rellinks norellinks && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stat deleted file mode 100644 index 03abe88a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stat +++ /dev/null @@ -1,90 +0,0 @@ -#compdef stat gstat zstat - -# Notes: -# - @todo It would be nice to complete the -c/-f format strings some day -# - @todo It should be possible to complete NFS file handles on FreeBSD and -# Dragonfly by parsing the output of `lsof -N`, but it's not available by -# default — is there another way? - -local expl variant ret=1 -local -a context line state state_descr args aopts=( -A '-*' ) -local -A opt_args - -_pick_variant -r variant -b zsh gnu='Free Soft' $OSTYPE --version - -case $variant in - zsh) - args=( - "(-H)-A[assign the results to array, don't print]:array variable:_parameters -g '*array*'" - - set1 - +device +inode +mode +nlink +uid +gid +rdev - +size +atime +mtime +ctime +blksize +block +link - "(-A)-H[assign the results to associative array, don't print]:associative array variable:_parameters -g '*association*'" - '(:)-f[stat the specified file descriptor]:file descriptor:_file_descriptors' - '(-s)-F[specify strftime(3) format string]: :_date_formats zsh' - '(-s)-g[show times in GMT/UTC]' - # Note that this has the *opposite* effect of other variants' -L option! - "-L[don't dereference symbolic links; use lstat(2)]" - '(-N)-n[always show names of files]' - '(-n)-N[never show names of files]' - '-o[print file modes in octal rather than decimal]' - '-r[print raw data]' - '(-o)-s[print mode, UID, GID, and times as strings]' - '(-T)-t[always show type names]' - '(-t)-T[never show type names]' - '*: :_files' - - set2 - '-l[list stat types]' - ) - ;; - gnu) - aopts=( ) - args=( - '*: :_files' - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-L --dereference)'{-L,--dereference}'[dereference symbolic links]' - + '(d)' # Display options - {-c+,--format=}'[display per the specified format string]:format string' - {-f,--file-system}'[display file-system status instead of file status]' - '--printf=[display as with -c, but interpret backslash escapes like printf(3)]' - {-t,--terse}'[display in terse format]' - ) - ;; - darwin*|dragonfly*|*bsd*) - args=( - '*: :->files-or-handles' - '(-H)-L[dereference symbolic links]' - '-q[suppress error messages about lstat(2)/stat(2) failure]' - + '(d)' # Primary display options - '(-F)-f+[display per the specified format string]:format string' - '-l[display in `ls -lT` format]' - '(-F -t)-r[display in raw (numerical) format]' - '(-F -t)-s[display in shell variable-assignment format]' - '(-F)-x[display in verbose (Linux-style) format]' - + D # Secondary display options - '(-f -r -s -x)-F[append file type indicators (implies -l)]' - '-n[suppress terminating newlines]' - '(-r -s)-t+[specify strftime(3) format string]: :_date_formats' - ) - ;| # MATCH AGAIN - dragonfly*|freebsd*) - args+=( - + df - '(-L)-H[treat arguments as hexadecimal-formatted NFS file handles]' - ) - ;; -esac - -(( $#args )) || args=( '*: :_files' ) - -_arguments -s -S $aopts : $args && ret=0 - -[[ $state == files-or-handles ]] && -if [[ -n ${opt_args[(i)*--H]} ]]; then - _message -e nfs-handles 'NFS file handle' -else - _files && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stdbuf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stdbuf deleted file mode 100644 index 4b7d98ba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stdbuf +++ /dev/null @@ -1,32 +0,0 @@ -#compdef stdbuf gstdbuf - -local -a short long buf args -local i opt gnu=0 - -short=( -e -i -o ) -long=( --error --input --output ) -buf=( err in out ) - -opt='[set initial buffering for std${buf[i]}]: : _alternative - "sizes\: \: _numbers -u bytes size k M G" - "modes\:mode\:((0\:unbuffered L\:line\ buffered' -if _pick_variant gnu=GNU freebsd --version; then - gnu=1 - args=( - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) -else - opt+=' B\:fully\ buffered' -fi -opt+='))"' - -for ((i=1;i<=3;i++)); do - args+=( "(${long[i]})${short[i]}+${(e)opt}" ) - (( gnu )) && args+=( - "(${short[i]})${long[i]}=${(e)opt}" - ) -done -(( CURRENT > 2 )) && args+=( '*::command:_normal' ) - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stgit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stgit deleted file mode 100644 index e31af460..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stgit +++ /dev/null @@ -1,52 +0,0 @@ -#compdef stg - -typeset -a subcmds - -subcmds=( ${${${(M)${(f)"$(stg help 2> /dev/null)"}## *}# }/#(#b)([^[:space:]]##)[[:space:]]##(*)/$match[1]:$match[2]} ) - -local curcontext="$curcontext" expl -local subcmd -local ret=1 - -if (( CURRENT == 2 )); then - _describe -t commands 'stgit command' subcmds && ret=0 -else - shift words - (( CURRENT-- )) - subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - - case $subcmd in - (push) - _wanted -V unapplied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##- *}#- } \ - && ret=0 - ;; - (pop) - _wanted -V applied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##[+>] *}#[+>] } \ - && ret=0 - ;; - (edit|files|goto|rename|log|float|delete|sink|mail|sync|show|pick|hide|squash) - _wanted -V patches expl "patch" \ - compadd $(stg series --noprefix 2> /dev/null) \ - && ret=0 - ;; - (ref*) - last_word="$words[$CURRENT-1]" - refresh_patch_options=( -p --patch ) - if [[ -n ${refresh_patch_options[(r)$last_word]} ]]; then - _wanted -V applied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##[+>] *}#[+>] } \ - && ret=0 - else - _files && ret=0 - fi - ;; - (*) - _files && ret=0 - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_store_cache b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_store_cache deleted file mode 100644 index b08ff114..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_store_cache +++ /dev/null @@ -1,64 +0,0 @@ -#autoload -# -# Storage component of completions caching layer - -local _cache_ident _cache_ident_dir _cache_dir -_cache_ident="$1" - -if zstyle -t ":completion:${curcontext}:" use-cache; then - # Decide which directory to cache to, and ensure it exists - zstyle -s ":completion:${curcontext}:" cache-path _cache_dir - : ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$_cache_dir" ]]; then - if [[ -e "$_cache_dir" ]]; then - _message "cache-dir style points to a non-directory\!" - else - # if module load fails, we *should* be okay using normal mkdir so - # we load feature b:mkdir instead of b:zf_mkdir; note that modules - # loaded in a sub-shell don't affect the parent. - ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_dir" - ) 2>/dev/null - if [[ ! -d "$_cache_dir" ]]; then - _message "couldn't create cache-dir $_cache_dir" - return 1 - fi - fi - fi - _cache_ident_dir="$_cache_dir/$_cache_ident" - _cache_ident_dir="$_cache_ident_dir:h" - - if [[ ! -d "$_cache_ident_dir" ]]; then - if [[ -e "$_cache_ident_dir" ]]; then - _message "cache ident dir points to a non-directory:$_cache_ident_dir" - else - # See also rationale in zmodload above - ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_ident_dir" - ) 2>/dev/null - if [[ ! -d "$_cache_ident_dir" ]]; then - _message "couldn't create cache-ident_dir $_cache_ident_dir" - return 1 - fi - fi - fi - - - shift - for var; do - case ${(Pt)var} in - (*readonly*) ;; - (*(association|array)*) - # Dump the array as a here-document to reduce parsing overhead - # when reloading the cache with "source" from _retrieve_cache - print -r "$var=( "'${(Q)"${(z)$(<<\EO:'"$var" - print -r "${(kv@Pqq)^^var}" - print -r "EO:$var" - print -r ')}"} )' - ;; - (*) print -r "$var=${(Pqq)^^var}";; - esac - done >! "$_cache_dir/$_cache_ident" -else - return 1 -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stow b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stow deleted file mode 100644 index 6a315fc5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stow +++ /dev/null @@ -1,87 +0,0 @@ -#compdef stow chkstow - -# -# A zsh completion script for GNU stow (https://www.gnu.org/software/stow/) -# - -(( $+functions[__stow_packages] )) || -__stow_packages() { - local stow_dir=${(Q)1} - local -a stow_pkg_list=( $stow_dir/*(-/N:t) ) - - if [[ ${#stow_pkg_list} -gt 0 ]]; then - _values -C "package from $stow_dir" ${${stow_pkg_list//\\/\\\\}//:/\\:} - else - _message "no package found in $stow_dir" - fi -} - -case $service in - stow) - local state line curcontext="$curcontext" ret=1 - typeset -A opt_args - # Others local variables - local stow_dir arguments - - arguments=( - '(- *)'{--help,-h}'[show help]' - '(- *)'{--version,-V}'[show version number]' - '(-d --dir)'{-d+,--dir=}'[set the stow dir (default is current dir)]:stow dir [$PWD]:_files -/' - '(-t --target)'{-t+,--target=}'[set the target dir (default is parent of stow dir)]:target dir [../$PWD]:_files -/' - # Several distinct actions can be specified in a single invocation - # of the stow command (stow/unstow/restow). However, neither the - # stow command nor this script will prevent you from using - # different actions on the same package. - '*'{-S,--stow}'[stow the package names that follow]: :->stow_package' - '*'{-D,--delete}'[unstow the package names that follow]: :->stow_package' - '*'{-R,--restow}'[restow (unstow and stow again) the package names that follow]: :->stow_package' - '--adopt[adopt already existing plain file]' - '--ignore=[ignore files ending with this perl regex]:regexp:' - "--defer=[don't stow files beginning with this perl regex]:regexp:" - '--override=[force stowing files beginning with this perl regex]:regexp:' - '--no-folding[disable any further tree folding or tree refolding]' - '--dotfiles[enable special handling for dotfiles]' - '(-p --compat)'{-p,--compat}'[use legacy algorithm for unstowing]' - '(-n -no --simulate)'{-n,--no,--simulate}'[do not actually make any filesystem changes]' - '*-v[increase verbosity]' - '*--verbose=-[increase verbosity]::level:(0 1 2 3 4 5)' - '*:stow package:->stow_package' - ) - - _arguments -s -C $arguments && ret=0 - - case $state in - (stow_package) - if (( $+opt_args[-d] )) ; then - stow_dir="$opt_args[-d]" - elif (( $+opt_args[--dir] )) ; then - stow_dir="$opt_args[--dir]" - elif [[ ${(t)STOW_DIR} == *export* ]] && [[ -n "$STOW_DIR" ]]; then - # if not provided from the command line, for the stow command, the stow - # directory is assumed to be the value of the "STOW_DIR" environment - # variable... - stow_dir="$STOW_DIR" - else - # ...if unset, the stow directory is assumed to be the current directory - stow_dir="$PWD" - fi - - __stow_packages "$stow_dir" && ret=0 - - ;; - esac - - return ret - ;; - chkstow) - local arguments - arguments=( - '(-t --target)'{-t+,--target=}'[set the target directory (default is /usr/local/)]:target dir:_files -/' - '(-b --badlinks)'{-b,--badlinks}'[report symlinks that point to non-existent files (default mode)]' - '(-a --aliens)'{-a,--aliens}'[report non-symlinks in the target directory]' - '(-l --list)'{-l,--list}'[list packages in the target directory]' - ) - _arguments $arguments - ;; -esac - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strace deleted file mode 100644 index b3b6f509..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strace +++ /dev/null @@ -1,163 +0,0 @@ -#compdef strace strace64 - -local curcontext="$curcontext" root -local -i prec=1 form=1 ret=1 -local -a state line expl alts suf -typeset -A opt_args - -(( EUID && ! $+_comp_priv_prefix )) && root='!' - -_arguments -C -s \ - \*{-E+,--env=}'[set or remove exported environment variable]:variable:->envars' \ - '(:)*'{-p+,--attach=}'[attach to the process with specified process ID and begin tracing]:process ID:_pids' \ - "${root}(-u --user)"{-u+,--user=}'[run as specified user]:user:_users' \ - '(-b --detach-on)'{-b+,--detach-on=}'[detach from process on specified syscall]:syscall:(execve)' \ - '(--daemonize)-D[run tracer as detached grandchild, keeping traced process as direct child of calling process]' \ - '(-D)--daemonize=-[specify how to run tracer process]::method:(grandchild pgroup session)' \ - '(-f --follow-forks)'{-f,--follow-forks}'[trace child processes as they are created by currently traced processes]' \ - '(-I --interruptible)'{-I+,--interruptible=}'[specify when strace can be interrupted by signals]:interruptible:((1\:"no signals are blocked" 2\:"fatal signals are blocked while decoding syscall (default)" 3\:"fatal signals are always blocked (default with -o)" 4\:"fatal signals and SIGTSTP are always blocked"))' \ - \*{-e+,--trace=}'[select events to trace or how to trace]:system call:->expressions' \ - \*{-P+,--path=}'[trace only system calls accessing given path]:path:_files' \ - '(-z -Z --successful-only --failed-only)'{-z,--successful-only}'[trace only system calls that return success]' \ - '(-z -Z --successful-only --failed-only)'{-Z,--failed-only}'[trace only system calls that return an error]' \ - '(-a --columns)'{-a+,--columns=}'[align return values in a specific column]:column number [40]' \ - '(-i --instruction-pointer -c --summary-only)'{-i,--instruction-pointer}'[print instruction pointer at time of syscall]' \ - '(-c --summary-only -k --stack-traces)'{-k,--stack-traces}'[obtain stack trace between each syscall]' \ - '(-n --syscall-number)'{-n,--syscall-number}'[print syscall number]' \ - '(-o --output)'{-o+,--output=}'[send trace output to the specified file]:output file:->file-pipe' \ - '(-A --output-append-mode)'{-A,--output-append-mode}'[open the file provided with the -o option in append mode]' \ - '--output-separately[output to separate files for child processes (by appending pid to file names)]' \ - '(--quiet)-q[suppress messages about attaching, detaching etc]' \ - '(-q --quiet)-qq[suppress messages about process exit status]' \ - '(-q -qq --quiet)-qqq[suppress all suppressible messages]' \ - '(-q -qq -qqq)--quiet=[suppress messages about attaching, detaching etc]:suppression:_sequence compadd - attach personality exit all' \ - '(--relative-timestamps -c --summary-only)-r[print a relative timestamp upon entry to each system call]' \ - '(-r -c --summary-only)--relative-timestamps=-[print a relative timestamp upon entry to each system call]:precision [us]:compadd -o nosort s ms us ns' \ - '(--absolute-timestamps)-t[prefix each line of the trace with the wall clock time]' \ - '(-t)--absolute-timestamps=-[prefix each line of the trace with the wall clock time]:: :->time-formats' \ - '!(-t --absolute-timestamps)--timestamps=-:: :->time-formats' \ - '(-s --string-limit)'{-s+,--string-limit=}'[specify the maximum string size to print]:maximum string size [32]' \ - '(-c --summary-only -ttt)-t[prefix each line of the trace with the time of day]' \ - '(-c --summary-only -ttt -tt)-tt[prefix each line of the trace with the time of day including the microseconds]' \ - '(-c --summary-only -tt -t)-ttt[prefix each line of the trace with the number of seconds and microseconds since the epoch]' \ - '(--syscall-times -c --summary-only)-T[show the time spent in system calls]' \ - '(-T -c --summary-only)--syscall-times=-[show the time spent in system calls]::precision [us]:compadd -o nosort s ms us ns' \ - '(-v --no-abbrev)'{-v,--no-abbrev}'[print unabbreviated versions of environment, stat, termios, etc. calls]' \ - '(-xx --strings-in-hex)-x[print all non-ASCII strings in hexadecimal string format]' \ - '(-x --strings-in-hex)-xx[print all strings in hexadecimal string format]' \ - '(-x -xx)--strings-in-hex=[specify strings to print in hexadecimal format]:string type:(all non-ascii)' \ - '(-X --const-print-style)'{-X+,--const-print-style=}'[set the format for printing of named constants and flags]:format:(raw abbrev verbose)' \ - '(-c --summary-only -yy --decode-fds)-y[print paths associated with file descriptor arguments]' \ - '(-c --summary-only -y --decode-fds)-yy[print protocol specific information associated with socket file descriptors]' \ - '(-c --summary-only -y -yy)--decode-fds=-[print information associated with file descriptors]::information [none]:_sequence compadd - none all path socket dev pidfd' \ - '(-c --summary-only -C --summary -i --instruction-pointer -k --stack-traces -r --relative-timestamps -ff -t -tt -ttt --absolute-timestamps -T --syscall-times -y -yy --decode-fds)'{-c,--summary-only}'[count time, calls, and errors for each system call and report a summary]' \ - '(-c --summary-only -C --summary)'{-C,--summary}'[count time, calls, and errors for each system call and report a summary in addition to regular output]' \ - '(-O --summary-syscall-overhead)'{-O+,--summary-syscall-overhead=}'[specify overhead for tracing system calls]:overhead (microseconds)' \ - '(-S --summary-sort-by)'{-S+,--summary-sort-by=}'[sort the output of the histogram (-c option) by the specified criterion]:sort criterion [time]:(time min-time max-time avg-time calls errors name nothing)' \ - '(-U --summary-columns)'{-U+,--summary-columns=}'[show specific columns in the summary report]:column:_sequence compadd - time-percent total-time min-time max-time avg-time calls errors name' \ - '(-w --summary-wall-clock)'{-w,--summary-wall-clock}'[summarise syscall latency]' \ - '(-c --summary-only -C)-ff[write each process trace to <filename>.<pid> (when using -o <filename>]' \ - '(-d --debug)'{-d,--debug}'[show debug output of strace itself on standard error]' \ - '(- 1 *)'{-h,--help}'[display help information]' \ - '--seccomp-bpf[enable seccomp-bpf filtering]' \ - '(- 1 *)'{-V,--version}'[display version information]' \ - '(-):command name: _command_names -e' \ - '*::arguments:_normal' && ret=0 - -case $state in - expressions) - _values -C -S = 'qualifying expression' \ - 'trace[trace specified set of system calls only]:system calls:->syscalls' \ - 'abbrev[abbreviate the output from printing each member of large structures]:system call:_sequence _sys_calls -a -n' \ - 'verbose[dereference structures for the specified set of system calls]:system call:_sequence _sys_calls -a -n' \ - 'raw[print raw, undecoded arguments for the specified set of system calls]:system call:_sequence _sys_calls -a -n' \ - 'signal[trace only the specified subset of signals]:signal:_sequence _signals -s -M "B\:!="' \ - 'read[perform a full hex and ASCII dump of all the data read from listed file descriptors]:file descriptor:_sequence _file_descriptors' \ - 'write[perform a full hex and ASCII dump of all the data written to listed file descriptors]:file descriptor:_sequence _file_descriptors' \ - 'fault[perform syscall fault injection]:system call:_sys_calls -a -n' \ - 'inject[perform syscall tampering]:system call:_sys_calls -a -n' \ - 'status[trace system calls with given return status]:status:->status' \ - 'quiet[suppress various information messages]:message [none]:_sequence compadd - none attach exit path-resolution personality thread-execve superseded' \ - 'kvm[print the exit reason of kvm vcpu]: :(vcpu)' \ - 'decode-fds[print information associated with file descriptors]:information [none]:_sequence compadd - none all path socket dev pidfd' && ret=0 - if [[ $state = status ]]; then - _values -s , 'return status [all]' \ - all successful failed \ - "unfinished[system calls that don't return]" \ - 'unavailable[system calls that return but strace fails to fetch the error]' \ - 'detached[system calls where strace detaches before the return]' && ret=0 - elif [[ $words[CURRENT] != *=* || $state = syscalls ]]; then - local dedup sets - compset -P '!' - dedup=( ${(Ms.,.)PREFIX##*,} ${(Ms.,.)SUFFIX%%,*} ) - compset -S ',*' || suf=( "-qS," ) - compset -P '*,' - if compset -P /; then - _wanted syscalls expl "system call (regex)" _sys_calls -a -n $suf -F dedup && ret=0 - else - sets=( - '%clock:trace system calls that read or modify system clocks' - '%creds:trace system calls that read or modify user and group identifiers or capability sets' - {%,}'file:trace all system calls which take a file name as an argument' - {%,}'process:trace all system calls which involve process management' - {%net,{%,}network}':trace all the network related system calls' - {%,}'signal:trace all signal related system calls' - {%,}'ipc:trace all IPC related system calls' - {%,}'desc:trace all file descriptor related system calls' - {%,}'memory:trace all memory mapping related system calls' - '%stat:trace variants of stat' - '%lstat:trace variants of lstat' - '%fstat:trace variants of fstat and fstatat' - '%%stat:trace variants of all syscalls used for requesting file status' - '%statfs:trace variants of statfs' - '%fstatfs:trace variants of fstatfs' - '%%statfs:trace variants of all syscalls used for file system statistics' - '%pure:trace syscalls that always succeed and have no arguments' - ) - _alternative \ - "sets:related system call: _describe -t traces 'related system call' sets -F dedup $suf" \ - "syscalls:system call:_sys_calls -a -n $suf -F dedup" && ret=0 - fi - fi - ;; - file-pipe) - compset -P '\\' - if (( ! $+opt_args[-ff] )) && compset -P '(!|\|)'; then - compset -q - if (( CURRENT == 1 )); then - _command_names -e && ret=0 - else - _normal && ret=0 - fi - else - _files && ret=0 - fi - ;; - envars) - if [[ -prefix *=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value && ret=0 - else - _parameters -qS= -g "*export*" && ret=0 - fi - ;; - time-formats) - alts=() - compset -P '(precision:*|s|ms|us|ns),' && prec=0 - compset -P '(format:*|none|time|unix),' && form=0 - compset -S ',*' || (( !prec + !form )) || suf=( -S , ) - if compset -P 'precision:'; then - form=0 - elif compset -P 'format:'; then - prec=0 - else - alts=( 'prefixes:prefix:compadd -S ":" ${${(s. .):-format x}[form]} ${${(s. .):-precision x}[prec]}' ) - fi - (( prec )) && alts+=( 'precisions:precision [s]:compadd -o nosort $suf s ms us ns' ) - (( form )) && alts+=( 'formats:format [time]:compadd $suf none time unix' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strftime b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strftime deleted file mode 100644 index a57a76ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strftime +++ /dev/null @@ -1,16 +0,0 @@ -#compdef strftime - -local expl two='epoch time' - -if (( words[(I)-r] )); then - two='date string' -fi - -_arguments -S -A '-*' -s \ - '-n[omit trailing newline]' \ - '-q[run quietly]' \ - '(3)-r[reverse lookup using strptime]' \ - '-s+[assign result to parameter]:param:_parameters' \ - '1:format: _date_formats zsh' \ - "2:$two" \ - '3:nanoseconds' \ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strings b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strings deleted file mode 100644 index 685daa28..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strings +++ /dev/null @@ -1,73 +0,0 @@ -#compdef strings gstrings eu-strings - -local args variant format bytes -format='[precede each string by its byte offset in the file]:format:((d\:decimal o\:octal x\:hexadecimal))' -bytes='[specify minimum string length]:length (bytes) [4]' -args=( - '(-t --radix)-o[precede each string by its decimal byte offset]' - '!(-n --bytes)-'{1,2,3,4,5,6,7,8,9} -) - -if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfutils unix -V; then - args+=( - '(-a --all -d --data)'{-a,--all}'[look everywhere in file, not just initialised data space of object files]' - '(-e --encoding)'{-e+,--encoding=}'[select character size and endianness]:character type:(( - s\:7-bit - S\:8-bit - b\:16-bit\ big-endian - l\:16-bit\ little-endian - B\:32-bit\ big-endian - L\:32-bit\ little-endian))' - '(-f --print-file-name)'{-f,--print-file-name}'[print name of the file before each string]' - '(-n --bytes)'{-n+,--bytes=}"$bytes" - '(-d -t --radix)'{-t+,--radix=}"$format" - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) - case $variant in - elfutils|binutils) - args+=( '(- *)-V[display version information]' ) - ;| - elftoolchain|binutils) - args+=( - '(- *)-h[display help information]' - '(- *)-v[display version information]' - ) - ;| - binutils) - args+=( - '(-a --all -d --data)'{-d,--data}'[only print strings from file data sections]' - '(-w --include-all-whitespace)'{-w,--include-all-whitespace}'[include all whitespace as valid string characters]' - '(-T --target)'{-T+,--target=}'[specify binary file format]:format:compadd - ${(z)${(M)${(f)"$(_call_program targets strings --help)"}##* supported targets*}##*\: }' - '(-s --output-separator)'{-s+,--output-separator=}'[specify string used to separate strings in output]:separator' - ) - ;; - elfutils) - args+=( - '(- *)--usage[display a short usage message]' - '(- *)-?[display help information]' - ) - ;; - esac -else - args+=( - "(-d)-t+$format" - "-n+$bytes" - '-a[look everywhere in file, not just initialised data space of object files]' - ) - case $OSTYPE in - darwin*) - local -a arch - arch=( ${(z)${${"$(_call_program architectures strings -arch - 2>&1)"}#*flags are: }%%$'\n'*} all ) - args+=( '-arch[specify the architecture]:architecture:compadd -a arch' ) - ;; - esac -fi - -if compset -P '@'; then - _files - return -fi - -_arguments -S -s $args \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strip deleted file mode 100644 index 3e1a6b69..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_strip +++ /dev/null @@ -1,96 +0,0 @@ -#compdef strip - -local curcontext=$curcontext state line ret=1 -declare -A opt_args -declare -a args - -if _pick_variant gnu=GNU solaris --version; then - if [[ -prefix @* ]]; then - compset -P '@' - - local expl - - _description files expl 'command-line-options file' - _files "$expl[@]" - return - fi - args=( - '(-F --target)'{-F+,--target=}'[object code format to use]:bfd name:->bfdnames' - '(-)--help[display usage information]' - '(-)--info[display list of architectures and object formats]' - '(-I --input-target)'{-I+,--input-target=}'[object code format of input]:bfd name:->bfdnames' - '(-O --output-target)'{-O+,--output-target=}'[object code format of output]:bfd name:->bfdnames' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]' - '*'{-R+,--remove-section=}'[remove given sections]:section name' - '--remove-relocations=[remove relocations from specified section]:section' - '(-s --strip-all)'{-s,--strip-all}'[remove all symbols]' - '(-g -S -d --strip-debug)'{-g,-S,-d,--strip-debug}'[remove debugging symbols]' - '--strip-dwo[remove all DWARF .dwo sections]' - '--strip-unneeded[remove symbols not needed for relocation processing]' - '!(--no-merge-notes)'{-M,--merge-notes} - "--no-merge-notes[don't attempt to remove redundant notes]" - '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name' - '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name' - "*--keep-section=[don't strip given section]:section" - '(*)-o+[output file]:output file:_files' - '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]' - '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]' - '(-x --discard-all)'{-x,--discard-all}'[remove non-global symbols]' - '(-X --discard-locals)'{-X,--discard-locals}'[remove compiler-generated local symbols]' - '--keep-file-symbols[retain symbols specifying source file names]' - '--only-keep-debug[remove everything except debugging information]' - '(-)'{-V,--version}'[display version information and exit]' - '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]') -else - case $OSTYPE in - solaris*) - args=( - '-l[strip line information only]' - '-V[display version information on stderr and exit]' - '-x[do not strip the symbol table]') - ;; - darwin*) - local -a arch - arch=( ${(z)${${"$(_call_program architectures - strings -arch - 2>&1)"}#*flags are: }%%$'\n'*} all ) - args=( - '-u[save all undefined symbols]' - '-r[save all symbols referenced dynamically]' - '-s[save global symbols listed in the specified file]:file:_files' - '-R[remove global symbols listed in the specified file]:file:_files' - '-i[ignore symbols listed in -s/-R file but are not in the object files]' - '-d[save debug symbols in files listed in the specified file]:file:_file' - '-A[save all global absolute symbols and Objective-C class symbols]' - '-n[save all N_SECT global symbols]' - '-S[remove debug symbols]' - '-X[remove local symbols whose names begin with L]' - '-T[remove Swift symbols]' - '-N[remove all nlist symbols and string tables from binaries used by dyld]' - '-x[remove all local symbols]' - '-c[remove section contents of dynamic library to create stub library]' - '-o[write the result to specified file]:output file:_files' - '-no_uuid[remove only LC_UUID load command]' - '-no_split_info[remove LC_SEGMENT_SPLIT_INFO load command]' - '-no_code_signature_warning[not warn when code signature would be invalid in the output]' - '-arch[specify the architecture]:architecture:( $arch )' ) - ;; - esac -fi - -_arguments \ - $args \ - '1:executable:_files -g "*(-*)"' \ - '*::executable:_files -g "*(-*)"' && ret=0 - -case $state in - (bfdnames) - local expl - declare -a bfdnames - - bfdnames=(${=${(M)${(f)"$(_call_program bfdnames strip --help)"}:#strip: supported targets: *}#strip: supported targets: }) - _describe -t bfdnames 'bfd name' bfdnames && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stty b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stty deleted file mode 100644 index 73347c5b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_stty +++ /dev/null @@ -1,18 +0,0 @@ -#compdef stty gstty - -local expl - -if [[ "$words[CURRENT-1]" = \ - (*erase|discard|status|dsusp|intr|kill|lnext|quit|reprint|start|s*p) ]]; then - _wanted characters expl 'control character' compadd '^-' '^h' '^?' '^c' '^u' -else - compset -P '[-+]' - _wanted values expl setting \ - compadd rows columns intr quit erase kill eof eol eol2 start stop \ - susp dsusp reprint discard werase lnext parenb parodd cs8 \ - cstopb hupcl cread clocal parext ignbrk brkint ignpar \ - parmrk inpck istrip inlcr igncr icrnl iuclc ixon ixany ixoff \ - imaxbel isig icanon xcase echo echoe echok echonl noflsh \ - tostop echoctl echoprt echoke flusho pending iexten opost \ - olcuc onlcr ocrnl onocr onlret ofill ofdel raw sane -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_su b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_su deleted file mode 100644 index 1af751a1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_su +++ /dev/null @@ -1,114 +0,0 @@ -#compdef su - -local -A opt_args -local -a args context state line expl -local first='(-)${norm}:user name:_users' -integer norm=1 strip -local shell usr - -(( $words[(i)-(l|-login)] < CURRENT )) || args=( '-[use a login shell]' ) -case $OSTYPE in - linux*) - # Some of these options only apply to util-linux, not shadow-utils - args=( -S $args - '(-c --command --session-command *)'{-c+,--command=}'[pass command to shell]:command string:_cmdstring' - "(-c --command *)--session-command=[pass command to shell and don't create a new session]:command string:_cmdstring" - '(--fast -f)'{-f,--fast}'[pass -f to shell]' - '(-l --login -m -p --preserve-environment)'{-l,--login}'[use a login shell]' - '(-l --login -m -p --preserve-environment)'{-m,-p,--preserve-environment}"[don't reset environment]" - '(-s --shell)'{-s+,--shell=}'[run the specified shell]:shell:->shells' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - (( $#_comp_priv_prefix || EUID == 0 )) && args+=( - '(-g --group)'{-g+,--group=}'[specify primary group]:group:_groups' - \*{-G+,--supp-group=}'[specify supplemental group]:group:_groups' - ) - first="(--help --version)${first#???}" - ;; - *bsd*|darwin*|dragonfly*) - args+=( - '-f[if the invoked shell is csh, prevent it from reading .cshrc]' - '(-m)-l[use a login shell]' - "(-l)-m[don't reset environment]" - ) - ;| - *bsd*|dragonfly*) - args+=( - '-c+[use settings from specified login class]:class:_login_classes' - ) - ;| - freebsd*) args+=( '-s[set the MAC label]' ) ;; - openbsd*) - args+=( - # See login.conf(5) - '(-K)-a+[specify authentication type]:authentication type:( - activ chpass crypto lchpass passwd radius reject skey snk token yubikey - )' - '(-a)-K[shorthand for -a passwd]' - '-s+[run the specified shell]:shell:->shells' - '-L[loop until login succeeds]' - ) - ;; - netbsd*) - args+=( - '-d[use a login shell but retain current directory]' - "-K[don't use Kerberos]" - ) - ;; -esac - -if (( $words[(i)-] < CURRENT )); then - args=( ${args:#*-(-login|l|)\[*} '1:-' ) - norm=2 -fi - -# This is set so that _command_names will understand that we're completing for -# a privileged command, but _call_program won't actually prepend anything to -# commands if gain-privileges is enabled (which would be undesirable here since -# su always prompts for a password). We delay setting it until this point so it -# doesn't cause issues for the check above -local -a _comp_priv_prefix=( '' ) -_arguments $args ${(e)first} "*:shell arguments:= ->rest" && return - -usr=${${(Q)line[norm]}/--/root} -# OpenBSD supports appending a log-in method to the user name, as in usr:radius -[[ $OSTYPE == openbsd* ]] && usr=${usr%:*} - -# Normal users generally don't appear in passwd on macOS; try the Directory -# Service first -if [[ $OSTYPE == darwin* ]] && (( $+commands[dscl] )); then - shell=${"$( - _call_program shells dscl . -read /Users/${(q)usr} UserShell - )"#UserShell: } -fi - -if [[ -n $shell ]]; then - : # Found above -elif (( ${#${(@M)args:#*-s[+\[]*:*}} && $#opt_args[(i)-(s|-shell)] )); then - shell=${(v)opt_args[(i)-(s|-shell)]} -elif (( ${+commands[getent]} )); then - shell="${$(_call_program shells getent passwd ${(q)usr})##*:}" -else - shell="${${(M@)${(@f)$(</etc/passwd)}:#${usr}:*}##*:}" -fi - -case $state in - shells) - _wanted -C $context shells expl shell compadd ${(f)^"$(</etc/shells)"}(N) - return - ;; - rest) - if [[ -z $shell || $shell = */(nologin|false) ]]; then - _message "-s option required, $usr has no shell" - else - (( strip = $#words - $#line + norm )) - (( CURRENT -= strip - 1 )) - words[2,strip]=() - _dispatch ${service}:${context} $shell $shell:t -default- - return - fi - ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sub_commands b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sub_commands deleted file mode 100644 index 429931a1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sub_commands +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl - -if [[ CURRENT -eq 2 ]]; then - _wanted commands expl command compadd "$@" -else - _message 'no more arguments' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sublimetext b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sublimetext deleted file mode 100644 index 5382e5db..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sublimetext +++ /dev/null @@ -1,15 +0,0 @@ -#compdef subl - -_arguments -s -S : \ - '(-a -n --add --new-window)'{-a,--add}'[add to current window]' \ - '(-b --background)'{-b,--background}"[don't activate application]" \ - '--command[run specified command]:command' \ - '(: -)'{-h,--help}'[display help information]' \ - '(-a -n --add --new-window)'{-n,--new-window}'[open new window]' \ - '--project[load specified project]:project file:_files' \ - '(-s --stay)'{-s,--stay}'[keep application activated]' \ - '--safe-mode[launch using sandboxed (clean) environment]' \ - '--launch-or-new-window[only open new window if application is open]' \ - '(: -)'{-v,--version}'[display version information]' \ - '(-w --wait)'{-w,--wait}'[wait for files to close]' \ - '*:file or directory:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subscript b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subscript deleted file mode 100644 index 25cedd19..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subscript +++ /dev/null @@ -1,133 +0,0 @@ -#compdef -subscript- - -local expl ind osuf flags sep - -[[ $ISUFFIX = *\]* ]] || osuf=\] - -if [[ "$1" = -q ]]; then - compquote osuf - osuf+=' ' - shift -fi - -compset -P '\(([^\(\)]|\(*\))##\)' # remove subscript flags - -# Look for a dynamic name expansion. Completion only gives us -# the stuff inside the square brackets; we need to find out what's -# outside. We ought to check for quoting, really, but given we've -# got to the subscript code " ~[" is pretty likely to be a dynamic -# name expansion. Also expand in anything that looks like an assignment -# or colon list. -integer pos=$((CURSOR+1)) -while [[ pos -gt 1 && $BUFFER[pos-1] != '[' ]]; do (( pos-- )); done -if [[ $BUFFER[1,pos-1] = (|*[[:space:]:=]##)\~\[ ]]; then - _dynamic_directory_name -elif [[ "$PREFIX" = :* ]]; then - _wanted characters expl 'character class' \ - compadd -p: -S ':]' alnum alpha ascii blank cntrl digit graph \ - lower print punct space upper xdigit IFS IDENT IFSSPACE WORD -elif compset -P '\('; then - local match - compset -S '\)*' - - if [[ $PREFIX = (#b)*([bns])(?|)(*) ]]; then - local f=$match[1] d=$match[2] e=$match[2] v=$match[3] - [[ $f = s && ${(Pt)${compstate[parameter]}} != scalar* ]] && return 1 - if [[ -z $d ]]; then - _message -e delimiters 'delimiter' - return - else - case $d in - (\() e=\);; - (\[) e=\];; - (\{) e=\};; - esac - if [[ $v != *$e* ]]; then - case $f in - (s) _message 'separator string';; - (b|n) [[ $v = <-># ]] && _message 'number' || return 1;; - esac - [[ -n $v && $SUFFIX$ISUFFIX != *$e* ]] && _message 'delimiter' - return 0 - fi - fi - fi - - case ${(Pt)${compstate[parameter]}} in - assoc*) flags=( - '(R k K i I)r[any one value matched by subscript as pattern]' - '(r k K i I)R[all values matched by subscript as pattern]' - '(r R K i I)k[any one value where subscript matched by key as pattern]' - '(r R k i I)K[all values where subscript matched by key as pattern]' - '(r R k K I)i[any one key matched by subscript as pattern]' - '(r R k K i)I[all keys matched by subscript as pattern]' - 'e[interpret * or @ as a single key]' - );; - (|scalar*)) flags=( - 'f[make subscripting work on lines of scalar]' - 'w[make subscripting work on words of scalar]' - 's[specify word separator]' - 'p[recognise escape sequences in subsequent s flag]' - );& - array*) flags=($flags - 'e[interpret * or @ as a single key and use plain string matching]' - 'n[Nth lowest/highest index with i/I/r/R flag]' - 'b[begin with specified element]' - '(r R k K i)I[highest index of value matched by subscript]' - '(r R k K I)i[lowest index of value matched by subscript]' - '(r k K i I)R[value matched by subscript at highest index]' - '(R k K i I)r[value matched by subscript at lowest index]' - );; - esac - - _values -s '' 'subscript flag' $flags -elif [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then - local suf MATCH MBEGIN MEND - local -a keys - keys=("${(@)${(@k)${(P)compstate[parameter]}}//(#m)[\$\\\[\]\(\)\{\}]/\\$MATCH}") - keys=("${(@)keys//#%(#m)[*@]/(e)$MATCH}") - [[ "$RBUFFER" != (|\\)\]* ]] && suf="$osuf" - - _wanted association-keys expl 'association key' \ - compadd -Q -S "$suf" -a keys -elif [[ ${(Pt)${compstate[parameter]}} = array* ]]; then - local list i j ret=1 disp - - _tags indexes parameters - - while _tags; do - if _requested indexes; then - ind=( {1..${#${(P)${compstate[parameter]}}}} ) - if zstyle -T ":completion:${curcontext}:indexes" verbose; then - list=() - for i in "$ind[@]"; do - if [[ "$i" = ${PREFIX}*${SUFFIX} ]]; then - list+=( "${i}:$(print -D -- ${(P)${compstate[parameter]}[$i]})" ) - else - list+=( '' ) - fi - done - zstyle -s ":completion:${curcontext}:indexes" list-separator sep || sep=-- - zformat -a list " $sep " "$list[@]" - disp=( -d list) - else - disp=() - fi - - if [[ "$RBUFFER" = (|\\)\]* ]]; then - _all_labels -V indexes expl 'array index' \ - compadd -S '' "$disp[@]" -a ind && ret=0 - else - _all_labels -V indexes expl 'array index' \ - compadd -S "$osuf" "$disp[@]" -a ind && ret=0 - fi - fi - _requested parameters && _parameters && ret=0 - - (( ret )) || return 0 - done - - return 1 -else - _dispatch -math- -math- -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subversion b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subversion deleted file mode 100644 index 8fc46a29..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_subversion +++ /dev/null @@ -1,549 +0,0 @@ -#compdef svn svnlite=svn svnadmin svnadmin-static=svnadmin svnliteadmin=svnadmin - -_svn () { - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - # Colons in values must be escaped. - local -A show_item_keys=( - kind "the kind of TARGET (file or dir)" - url "the URL of TARGET in the repository" - relative-url "the repository-relative URL" - repos-root-url "the repository root URL" - repos-uuid "the repository UUID" - repos-size "the size of TARGET in the repository (for files only)" - revision "the revision of TARGET" - last-changed-revision "the most recent revision in which TARGET was changed" - last-changed-date "the date of the last-changed revision" - last-changed-author "the author of the last-changed revision" - wc-root "the working copy root path" - schedule "'normal', 'add', 'delete', 'replace'" - depth "'infinity', 'immediates', 'files', 'empty', 'exclude'" - changelist "the changelist this file was added to, if any" - ) - - local update_policy - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _svn_caching_policy - fi - - _arguments -C -A "-*" \ - '(-)--help[print help information]' \ - '(*)--version[print client version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - - local _svn_help_takes_verbose - if _cache_invalid svn-help-takes-verbose || ! _retrieve_cache svn-help-takes-verbose; then - [[ $(_call_program svn-help-v svn help help) == *--verbose* ]] - _svn_help_takes_verbose=$(( ! $? )) - _store_cache svn-help-takes-verbose _svn_help_takes_verbose - fi - if (( _svn_help_takes_verbose )); then - readonly dash_v="-v" - else - readonly dash_v - fi - unset _svn_help_takes_verbose - - if [[ -n $state ]] && (( ! $+_svn_cmds )); then - typeset -gHA _svn_cmds - if _cache_invalid svn-cmds || ! _retrieve_cache svn-cmds; then - _svn_cmds=( - ${=${(f)${${"$(_call_program commands svn help $dash_v)"#l#*Available subcommands:}%%Subversion is a tool*}}/(#s)[[:space:]]#(#b)([a-z-]##)[[:space:]]#(\([a-z, ?-]##\))#/$match[1] :$match[1]${match[2]:+:${${match[2]//[(),]}// /:}}:} - ) - if (( $? == 0 )); then - _store_cache svn-cmds _svn_cmds - else - # Ensure we enter this block again on the next <TAB>. - unset _svn_cmds - fi - fi - fi - - case $state in - cmds) - _wanted commands expl 'svn command' _svn_commands && ret=0 - ;; - args) - local cmd args usage idx - - cmd="${${(k)_svn_cmds[(R)*:$words[1]:*]}:-${(k)_svn_cmds[(i):$words[1]:]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:svn-${cmd}:" - - if _cache_invalid svn-${cmd}-usage || \ - ! _retrieve_cache svn-${cmd}-usage; - then - usage=${${(M)${(f)"$(_call_program options svn help $dash_v -- $cmd)"}:#usage:*}#usage:*$cmd] } - _store_cache svn-${cmd}-usage usage - fi - if _cache_invalid svn-${cmd}-usage || \ - ! _retrieve_cache svn-${cmd}-args; - then - args=( - ${=${${${(M)${(f)"$(_call_program options svn help $dash_v -- $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)(-##)([[:alpha:]]##) \[--([a-z-]##)\](:arg:)#/(--$match[3])$match[1]$match[2]$match[4] ($match[1]$match[2])--$match[3]$match[4]} - ) - while (( idx=$args[(I)*--accept:arg:] )); do - args[idx]=( --accept'=:automatic conflict resolution action:((working\:working base\:base recommended\:recommended '"`for i j in p postpone mc mine-conflict tc theirs-conflict mf mine-full tf theirs-full e edit l launch; do print -rn $i\\\\:$j $j\\\\:$j ""; done `"'))' ) - done - while (( idx=$args[(I)*--c(l|hangelist):arg:] )); do - args[idx]=( \*{--cl,--changelist}'=:change list:_svn_changelists' ) - done - while (( idx=$args[(I)*--config-dir:arg:] )); do - args[idx]=( --config-dir'=:config dir:_directories' ) - done - while (( idx=$args[(I)*--config-option:arg:] )); do - args[idx]=( '*--config-option=: :_svn_config_options' ) - done - while (( idx=$args[(I)*--depth:arg:] )); do - args[idx]=( --depth'=:operation depth (how far to recurse):(empty files immediates infinity)' ) - done - while (( idx=$args[(I)*(-F|--file):arg:] )); do - args[idx]=( '(-F --file)'{-F+,--file=}':log message file:_files' ) - done - while (( idx=$args[(I)*--set-depth:arg:] )); do - args[idx]=( --set-depth'=[make working copy deeper or shallower]:new depth:(exclude empty files immediates infinity)' ) - done - while (( idx=$args[(I)*--trust-server-cert-failures:arg:] )); do - args[idx]=( --trust-server-cert-failures'=:failures:_values -s , "certificate failures to ignore" "unknown-ca[unknown authority]" "cn-mismatch[hostname mismatch]" "expired[certificate expired]" "not-yet-valid[certificate not yet valid]" "other[all other failures]"' ) - done - while (( idx=$args[(I)*--show-item:arg:] )); do - # (q) to quote the parentheses in the value - args[idx]=( --show-item'=:item key:(('"`for i j in ${(kv)show_item_keys}; do print -rn - $i\\\\:"${(q)j}" ""; done`"'))' ) - done - # All other options get {-x+,--long-x=} - args=( ${args/(#b)(--[A-Za-z0-9-]##):arg:/$match[1]=:arg:} ) - args=( ${args/(#b)([^=]):arg:/$match[1]+:arg:} ) - _store_cache svn-${cmd}-args args - fi - - case $cmd in; - (add) - args+=( - '*:file: _svn_modified "addable"' - ) - ;; - (auth) - args+=( - '*:auth pattern: ' - ) - ;; - (changelist) - args[(r)--remove]='(1)--remove' - args+=( - '(--remove)1:changelist name:_svn_changelists' - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (commit) - args=( - ${args/(#b)(*--file*):arg:/$match[1]:file:_files} - '*:file: _svn_modified "committable"' - ) - ;; - (delete) - args+=( - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (diff) - args+=( - '*: : _alternative "files:file: _svn_modified revertable" "urls:URL:_svn_urls"' - ) - ;; - (help) - args+=( - '*::sub command:_svn_commands' - ) - ;; - (import) - args+=( - '1:project directory or import location: _alternative "files:file:_files" "urls:URL:_svn_urls"' - '2:import location: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (log) - args+=( - '1: : _alternative "files:file:_files -g \*\(e:_svn_controlled:\)" "urls:URL:_svn_urls"' - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (mergeinfo) - args[(r)--show-revs=:arg:]=( '--show-revs=:revisions:(merged eligible)' ) - ;; - (patch) - args+=( - '1:patch file:_files' - '2::working copy to patch:_files' - ) - ;; - (propget|propedit|propdel) - args+=( - '1:property name:_svn_props' - '2:target: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (propset) - args=( - ':propname:(svn:ignore svn:keywords svn:executable svn:eol-style svn:mime-type svn:externals svn:needs-lock svn:global-ignores svn:auto-props)' - ':propval:->propset_propval' - ${args/(#b)(*--file*):arg:/$match[1]:file:_files} - '*:path or url: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (resolve|resolved) - args+=( - '*:file:_files -g "*(e:_svn_conflicts:)"' - ) - ;; - (revert) - args+=( - '*:file: _svn_modified "revertable"' - ) - ;; - (x-unshelve) - args+=( '1:shelf name:compadd - ${(f)"$(_call_program shelves svn x-shelves --quiet)"}' '2::shelf version' ) - ;; - (*) - case $usage in - *(SRC|DST|TARGET|URL*PATH)*) - args+=( - '*: : _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - *URL*) args+=( ':URL:_svn_urls' ) ;; - *PATH*) args+=( '*:file:_files' ) ;; - esac - ;; - esac - - _arguments "$args[@]" && ret=0 - case $state in - (propset_propval) - case $words[2] in - (svn:executable|svn:needs-lock) compadd yes;; - (svn:keywords) - compset -q - # '_values -w' only excludes words in argv[1] or later, so - # install a dummy argv[0]. This affects Foo in [[svn propset - # svn:keywords 'Foo Bar Baz <TAB>]]. - words=( dummy $words ); (( ++CURRENT )) - _values -s ' ' -w "keywords (or custom)" \ - '(URL HeadURL)'{URL,HeadURL}'[URL for the head version of the file]' \ - '(Author LastChangedBy)'{Author,LastChangedBy}'[last person to modify the file]' \ - '(Date LastChangedDate)'{Date,LastChangedDate}'[date/time the file was last modified]' \ - '(Rev Revision LastChangedRevision)'{Rev,Revision,LastChangedRevision}'[last revision the file changed]' \ - Id'[compressed summary of URL,Revision,Date,Author]' \ - Header"[like 'Id' but includes the full URL]";; - (svn:eol-style) compadd - CR LF CRLF native;; - (svn:mime-type) _mime_types;; - (*) _message 'property value';; - esac - esac - - else - _message "unknown svn command: $words[1]" - fi - ;; - esac - - return ret -} - -_svnadmin () { - local curcontext="$curcontext" state line ret=1 - integer NORMARG - local context state_descr - typeset -A opt_args - - _arguments -C \ - '(-)--help[print help information]' \ - '(- *)--version[print client version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - - if [[ -n $state ]] && (( ! $+_svnadmin_cmds )); then - typeset -gHA _svnadmin_cmds - _svnadmin_cmds=( - ${=${(f)${${"$(_call_program commands svnadmin help)"#l#*Available subcommands:}}}/(#s)[[:space:]]#(#b)([-a-z]##)[[:space:]]#(\([a-z, ?]##\))#/$match[1] :$match[1]${match[2]:+:${${match[2]//[(),]}// /:}}:} - ) - fi - - case $state in - cmds) - _wanted commands expl 'svnadmin command' _svnadmin_commands && ret=0 - ;; - args) - local cmd args usage - - cmd="${${(k)_svnadmin_cmds[(R)*:$words[1]:*]}:-${(k)_svnadmin_cmds[(i):$words[1]:]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:svnadmin-${cmd}:" - - usage=${${(M)${(f)"$(_call_program options svnadmin help $cmd)"}:#$cmd: usage:*}#$cmd: usage: svnadmin $cmd } - args=( - ${=${${${(M)${(f)"$(_call_program options svnadmin help $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)-([[:alpha:]]) \[--([a-z-]##)\](:arg:)#/(--$match[2])-$match[1]$match[3] (-$match[1])--$match[2]$match[3]} - ) - # All options get {-x+,--long-x=} - args=( ${args/(#b)(--[A-Za-z0-9-]##):arg:/$match[1]=:arg:} ) - args=( ${args/(#b)([^=]):arg:/$match[1]+:arg:} ) - if [[ $usage == *REPOS_PATH* ]]; then - args+=( ":repository path:_files -/" ) - case $cmd in - (freeze) - args+=( "*:arguments:->normal" ) - ;; - (hotcopy) - args+=( ":new repository:_files -/" ) - ;; - (setlog) - args+=( ": :_files" ) - ;; - (setrevprop) - args+=( ":property name" ":property value file:_files" ) - ;; - (delrevprop) - args+=( ":property name" ) - ;; - esac - elif [[ $cmd = help ]]; then - args+=( "*:subcommand:_svnadmin_commands" ) - fi - - _arguments -n -s -S : "$args[@]" && ret=0 - - case $state in - # Test cases: - # svnadmin freeze . rsync --<TAB> offers --file - # svnadmin freeze -- . rsync -<TAB> offers rsync's options - # - # Note: the NORMARG calculations here include one positional argument - # (the '.') before the command. - (normal) - if (( ${words[(i)--]} < CURRENT )); then - words[1,NORMARG]=() - (( CURRENT -= NORMARG )) - _normal && ret=0 - elif (( NORMARG+1 == CURRENT )); then - # ### don't allow --options in this case - # TODO: this should just use '_normal -F "(-*)"', but _normal ignores its arguments. - _command_names -e && ret=0 - fi - ;; - esac - else - _message "unknown svnadmin command: $words[1]" - fi - ;; - esac - - return ret -} - -(( $+functions[_svn_controlled] )) || -_svn_controlled() { - # For svn<=1.6, this was implemented as: - # [[ -f ${(M)REPLY##*/}.svn/text-base/${REPLY##*/}.svn-base ]] - # However, because that implementation returns false for all files on svn>=1.7, and - # because 1.6 has been deprecated for 8 years and EOL for 6 years, we opt to DTRT - # for >=1.7. Therefore: - - # TODO: Reimplement this function for svn>=1.7. - # (Use 'svn st' or 'svn info', not 'svn ls') - return 0 -} - - -(( $+functions[_svn_conflicts] )) || -_svn_conflicts() { - # ### These strings are actually translatable - # - # The asterisks are to support an optional extension; see - # "preserved-conflict-file-exts" in ~/.subversion/config. - () { (( $# > 0 )) } $REPLY.(mine|r<->|working*|merge-left*|merge-right*)(NY1) -} - -(( $+functions[_svn_modified] )) || -_svn_modified() { - setopt localoptions extendedglob - - local depth dir expl maybe_quiet partial_word space=' ' - - local svn_context=$1 - - local partial_word=${(Q)words[CURRENT]} - if [[ -z $partial_word ]]; then - dir="./" - elif [[ -d $partial_word ]]; then - dir=$partial_word - else - dir=${partial_word:h} - fi - - if zstyle -T ":completion:${curcontext}:${curtag}" verbose; then - depth=infinity - else - depth=immediates - fi - - if [[ $svn_context = addable ]]; then - maybe_quiet="" - else - maybe_quiet="-q" - fi - - local -a status_lines - # Run 'status' - status_lines=( ${(f)"$(_call_program modified-files "svn status $maybe_quiet --depth=${(q)depth} -- ${(q)dir}")"} ) - # Filter to only the right set of statuses - case $svn_context in - (committable) - status_lines=( ${(M)status_lines:#(#s)([ADMR]?|?M)${space}???${space}${space}*} ) - ;; - (revertable) - status_lines=( ${(M)status_lines:#(#s)([ACDMR~!]?|?[CM])${space}????${space}*} ) - ;; - (addable) - # The 'D' is just in case there's an unversioned file of the same name as the deleted file - status_lines=( ${(M)status_lines:#(#s)[?ID]${space}${space}???${space}${space}*} ) - ;; - esac - # Strip the 7 status-letter columns and the column of spaces - status_lines=( ${status_lines#????????} ) - # Strip one leading space. This is in case `svn status` ever adds another - # column. If that hasn't happened and you're reading this comment because - # the following line broke your use of filenames that start with a literal - # space, well, nice to meet you! I didn't know you existed. - status_lines=( ${status_lines#${space}} ) - - _wanted svn-modified expl 'modified files in svn' \ - compadd - "${status_lines[@]}" -} - -(( $+functions[_svn_remote_paths] )) || -_svn_remote_paths() { - local expl remfiles remdispf remdispd suf ret=1 pfx='\^/' sub='^/' - - # prefix must match a valid repository path format, either standard style - # schema://host/path/.. or ^/path/.. specifying a path relative to the - # root of the working directory repository. In the second form, allow the - # leading '^' be escaped in case the user has the extendedglob option set. - [[ -prefix *://*/ ]] || - [[ -f .svn/entries && ( -prefix '^/' || -prefix '\^/' ) ]] || - return 1 - - # return if remote access is not permitted - zstyle -T ":completion:${curcontext}:" remote-access || return 1 - - remfiles=( ${(f)"$(svn list $IPREFIX${${PREFIX%%[^/]#}/#$pfx/$sub} 2>/dev/null)"} ) - (( $? == 0 )) || return 1 - - # you might consider trying to return early if $#remfiles is zero, - # but for whatever reason remfiles will always contain at least a - # single empty string; that case is handled correctly below. - - compset -P '*/' - compset -S '/*' || suf=file - remdispf=(${remfiles:#*/}) - remdispd=(${(M)remfiles:#*/}) - _tags files - while _tags; do - while _next_label files expl ${suf:-directory}; do - # add files, unless there is a '/' immediately to the right - [[ -n $suf ]] && - compadd -S ' ' -q "$@" "$expl[@]" -d remdispf $remdispf && ret=0 - # add directories; use empty suffix if there is a '/' immediately to the right - compadd -S "${suf:+/}" -q "$@" "$expl[@]" -d remdispd ${remdispd%/} && ret=0 - done - (( ret )) || return 0 - done - - return 1 -} - -(( $+functions[_svn_urls] )) || -_svn_urls() { - local urlsch expl ret=1 - - # first try completing a remote path; if successful, we are all done.. - _svn_remote_paths && return 0 - - # allow configuring svn repository locations using the 'urls' zstyle. - # always attempt completion of these because then matcher-list styles - # which do substring matching will work correctly. - _urls -S/ && ret=0 - - if [[ ! -prefix *://? ]] ; then - zstyle -a ":completion:${curcontext}:" url-schemas urlsch \ - || urlsch=( file:// http:// https:// svn:// svn+ssh:// ) - - if (( $#urlsch )) ; then - compset -S '[^:]*' - _wanted url-schemas expl 'URL schema' compadd -S '' - $urlsch[@] && ret=0 - fi - fi - - return ret -} - -(( $+functions[_svn_commands] )) || -_svn_commands() { - compadd "$@" -k _svn_cmds || compadd "$@" ${(s.:.)_svn_cmds} -} - -(( $+functions[_svnadmin_command] )) || -_svnadmin_commands() { - compadd "$@" -k _svnadmin_cmds || compadd "$@" ${(s.:.)_svnadmin_cmds} -} - -(( $+functions[_svn_config_options] )) || -_svn_config_options() { - local -a expl suf - local cfgfile - compset -S ':*' || suf=( -qS : ) - if compset -P 2 '*:'; then - if compset -P '*='; then - _message -e values 'value' - else - _message -e options 'option' - fi - elif compset -P 1 '*:'; then - cfgfile=( ~/.subversion/${(M)${IPREFIX%:}%(config|servers)}(N) /dev/null ) - _description sections expl 'section' - compadd $suf "$expl[@]" ${${${(M)${(f)"$(<${cfgfile[1]})"}:#\[*\]}#\[}%\]} - else - _description config-files expl 'configuration file' - compadd $suf "$expl[@]" config servers - fi -} - -(( $+functions[_svn_props] )) || -_svn_props() { - local properties - - properties=( ${${(M)${(f)"$(svn proplist 2>/dev/null)"}:# [^ ]*}# } ) - compadd "$@" -a properties && return 0 -} - -(( $+functions[_svn_changelists] )) || -_svn_changelists() { - local cls - - cls=( ${${${(M)${(f)"$(_call_program changelists svn status 2>/dev/null)"}:#--- Changelist*}%??}##*\'} ) - compadd "$@" -a cls && return 0 -} - -_subversion () { - case $service in - (svn) _svn "$@" ;; - (svnadmin) _svnadmin "$@" ;; - esac -} - -_svn_caching_policy() { - [[ =$service -nt $1 ]] -} - -_subversion "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sudo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sudo deleted file mode 100644 index 29e5e6d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sudo +++ /dev/null @@ -1,66 +0,0 @@ -#compdef sudo sudoedit - -setopt localoptions extended_glob - -local environ e cmd cpp -local -a args _comp_priv_prefix -local -A opt_args - -zstyle -a ":completion:${curcontext}:" environ environ - -for e in "${environ[@]}" -do local -x "$e" -done - -args=( - '(-A --askpass)'{-A,--askpass}'[use a helper program for password prompting]' - '(-B --bell)'{-B,--bell}'[ring bell when prompting]' - '(-C --close-from)'{-C+,--close-from=}'[close file descriptors]:lowest fd to close' - '(-D --chdir)'{-D+,--chdir=}'[change the working directory before running command]:directory:_directories' - '(-g --group)'{-g+,--group=}'[run command as the specified group name or ID]:group:_groups' - '(-)'{-h,--help}'[display help message and exit]' - '(-h --host)'{-h+,--host=}'[run command on host]:host:_hosts' - '(-K --remove-timestamp)'{-K,--remove-timestamp}'[remove timestamp file completely]' - '(-k --reset-timestamp)'{-k,--reset-timestamp}'[invalidate timestamp file]' - \*{-l,--list}"[list user's privileges or check a specific command]" - '(-n --non-interactive)'{-n,--non-interactive}'[non-interactive mode, no prompts are used]' - '(-p --prompt)'{-p+,--prompt=}'[use the specified password prompt]:prompt' - '(-R --chroot)'{-R+,--chroot=}'[change the root directory before running command]:directory:_directories' - '(-r --role)'{-r+,--role=}'[create SELinux security context with specified role]: :_selinux_roles' - '(-S --stdin)'{-S,--stdin}'[read password from standard input]' - '(-t --type)'{-t+,--type=}'[create SELinux security context with specified type]: :_selinux_types' - '(-T --command-timeout)'{-T+,--command-timeout=}'[terminate command after specified time limit]:timeout' - '(-U --other-user)'{-U+,--other-user=}'[in list mode, display privileges for user]:user:_users' - '(-u --user)'{-u+,--user=}'[run command (or edit file) as specified user]:user:_users' - '(-)'{-V,--version}'[display version information and exit]' - '(-v --validate)'{-v,--validate}"[update user's timestamp without running a command]" -) - -# Does -e appears before the first word that doesn't begin with a hyphen? -# The way (i) works in subscripts, the test will always be true if all the -# words begin with a hyphen. -# -# TODO: use _arguments' $opt_args to detect the cases '-u jrandom -e' and '-Ae' -if [[ $service = sudoedit ]] || (( $words[(i)-e] < $words[(i)^(*sudo|-[^-]*)] )) ; then - args=( -A "-*" $args '!(-V --version -h --help)-e' '*:file:_files' ) -else - cmd="$words[1]" - cpp='_comp_priv_prefix=( - $cmd -n - ${(kv)opt_args[(I)(-[ugHEP]|--(user|group|set-home|preserve-env|preserve-groups))]} - )' - args+=( - '(-e --edit 1 *)'{-e,--edit}'[edit files instead of running a command]' \ - '(-s --shell)'{-s,--shell}'[run shell as the target user; a command may also be specified]' \ - '(-i --login)'{-i,--login}'[run login shell as the target user; a command may also be specified]' \ - '(-b --background -i --login -s --shell -e --edit)'{-b,--background}'[run command in the background]' \ - '(--preserve-env -i --login -s --shell -e --edit)-E[preserve user environment when running command]' \ - '(-E -i --login -s --shell -e --edit)--preserve-env=-[preserve user environment when running command]::environment variable:_sequence _parameters -g "*export*"' \ - '(-H --set-home -i --login -s --shell -e --edit)'{-H,--set-home}"[set HOME variable to target user's home dir]" \ - '(-P --preserve-groups -i -login -s --shell -e --edit)'{-P,--preserve-groups}"[preserve group vector instead of setting to target's]" \ - "(-)1: :{ $cpp; _command_names -e }" - "*:: :{ $cpp; _normal }" - ) -fi - -_arguments -s -S $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_suffix_alias_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_suffix_alias_files deleted file mode 100644 index 1c2c8ebb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_suffix_alias_files +++ /dev/null @@ -1,21 +0,0 @@ -#autoload - -# Complete files for which a suffix alias exists. - -local expl pat - -(( ${#saliases} )) || return 1 - -if (( ${#saliases} == 1 )); then - pat="*.${(kq)saliases}" -else - local -a tmpa - # This is so we can quote the alias names against expansion - # without quoting the `|' which needs to be active in the pattern - # --- remember that an alias name can be pretty much anything. - tmpa=(${(kq)saliases}) - pat="*.(${(kj.|.)tmpa})" -fi - -# _wanted is called for us by _command_names -_path_files "$@" -g $pat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_surfraw b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_surfraw deleted file mode 100644 index d153cd49..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_surfraw +++ /dev/null @@ -1,453 +0,0 @@ -#compdef surfraw sr - -local curcontext="$curcontext" expl state line args ret=1 - -_arguments -C -A \ - '-browser=[set browser]:browser:_command_names' \ - '-elvi[list web sites that can be searched]' \ - '-escape-url-args=[apply url escaping to arguments]:bool:(yes no)' \ - '(-g -graphical)'{-g,-graphical}'[get some windowed sin]' \ - '-help[display help information]' \ - '-quiet:bool:(yes no)' \ - '-new[start in a new window]' \ - '(-t -text)'{-t,-text}'[back to the yellow brick road]' \ - '(-q -quote)'{-q,-quote}'[quote arguments with quote characters]' \ - '-version[display version information]' \ - ':elvi:->elvi' \ - '*::arg:->subcmd' && ret=0 - -case $state in - subcmd) - args=( - '-help[display help information]' - '*: :_guard "^-*" "search string"' - ) - case "$words[1]" in - ask|cia|cnn|deblogs|excite|filesearching|foldoc|happypenguin|slashdot|slinuxdoc|sundocs|sunsolve|xxx) - _message -e strings 'search string' - ;; - alioth) - _arguments $args \ - '-type=-:search type:(soft skill people)' && ret=0 - ;; - altavista) - _arguments $args \ - '-results=-:[number of results to return]' && ret=0 - ;; - amazon) - _arguments $args \ - '-country=-:country code:(uk de fr jp us)' \ - '-search=-:topic:(all auctions books cars classical \ - dvd electronics garden kitchen music \ - outlet photo software toys tools \ - vhs videogames zshops wireless)' && ret=0 - ;; - austlii) - _arguments $args \ - '-method=-:search method:(any all phrase title boolean)' \ - '-results=-:[number of results to return]:number' && ret=0 - ;; - bbcnews) - _arguments $args \ - '-scope=-:search scope:(world uk)' && ret=0 - ;; - cddb) - _arguments $args \ - '-artists[search artists]' \ - '-albums[search albums]' \ - '-songs[search songs]' \ - '-all[search all artists, albums and songs]' && ret=0 - ;; - cite) - _arguments \ - '-results=-:[number of results to return]' \ - '*:search string' && ret=0 - ;; - ctan) - _arguments $args \ - '-name[search by filename]' \ - '-desc[search descriptions (default)]'\ - '-doc[search documentation]' - ;; - currency) - _arguments \ - '-l[list all known currency symbols]' \ - '-from=-:currency symbol:(EUR USD GBP CAD AUD JPY INR NZD CHF ZAR)' \ - '-to=-:currency symbol:(EUR USD GBP CAD AUD JPY INR NZD CHF ZAR)' \ - '*:currency amount' && ret=0 - ;; - cve) - _message -e numbers 'CVE Number' - ;; - debbugs) - _arguments \ - '-search=:search type:(pkg src bug maint tag submitter severity tag)' \ - '-arc[show archived bugs]' \ - '-raw[do not sort by status or severity]' \ - '-rb[reverse order of bugs shown]' \ - '-rst[reverse order of statuses shown]' \ - '-rse[reverse order of severities shown]' \ - '-merge[sisplay merged bugs only once]' \ - '-nohead[so not show table of contents header]' \ - '-nofoot[so not show statistics in the footer]' \ - '-mbox[view results in mbox format]' \ - '-incstat=-[include given status list]:status:_values -s , status open - forwarded pending fixed done' \ - '-exstat=-[exclude given status list]:status:_values -s , status open - forwarded pending fixed done' \ - '-incsev=-[include given severities]:severity:_values -s , severity - critical grave serious important normal minor wishlist fixed' \ - '-exsev=-[exclude given severities]:severity:_values -s , severity - critical grave serious important normal minor wishlist fixed' \ - '-inctag=-[include given tags]:tag:_values -s , tag potato woody sarge - sarge-ignore sid experimental confirmed d-i fixed - fixed-in-experimental fixed-upstream help moreinfo patch pending - security unreproducible upstream wontfix' \ - '-extag=-[exclude given tags]:tag:_values -s , tag potato woody sarge - sarge-ignore sid experimental confirmed d-i fixed - fixed-in-experimental fixed-upstream help moreinfo patch pending - security unreproducible upstream wontfix' \ - '*:package:_deb_packages avail' && ret=0 - ;; - debcontents) - _arguments \ - '-arch=-[search specific architecture]:architecture:(i386 m68k alpha sparc powerpc arm)' \ - '-distro=-[search specific distribution]:distribution:(stable testing unstable)' \ - '*:package:_deb_packages avail' && ret=0 - ;; - deblists) - _arguments $args \ - '-shelp[go to search help page]' \ - '-results=-[specify number of results to return]:number' \ - '-dates=-[quarters to search]:date' \ - '-case[use case sensitive search]' \ - '-errors=-[specify errors allowed]:errors:(0 1 2 best)' \ - '-partial[allow partial matches]' \ - '-sameline[semi-colon separated words must appear on same line]' \ - '-lines=-[specify maximum lines per message]:lines:(0 5 10 50 100)' \ - '-list=-[specify list to search]:list:(68k accessibility admintool - alpha amd64 announce apache arm autobuild beowulf books boot bsd - cd cd-vendors cdwrite changes chinese chinese-big5 chinese-gb - commercial consultants ctte curiosa custom dak debbugs deity - desktop devel devel-announce devel-changes devel-french - devel-games devel-italian devel-m68k-changes devel-portuguese - devel-powerpc-changes devel-s390-changes devel-spanish - devel-sparc-changes doc dpkg edu emacsen embedded esperanto - events-eu events-na faq firewall french gcc glibc gtk-gnome hams - handheld hppa hurd i18n ia64 ipv6 isp italian japanese java jr kde - kernel l10n-arabic l10n-catalan l10n-czech l10n-danish l10n-dutch - l10n-english l10n-finnish l10n-french l10n-german l10n-greek - l10n-hungarian l10n-italian l10n-korean l10n-polish - l10n-portuguese l10n-romanian l10n-russian l10n-spanish - l10n-turkish laespiral laptop lcs-eng legal lex lint-maint lsb - lsb-confcall lsb-discuss lsb-impl lsb-spec lsb-test med mentors - mips mirrors multimedia newmaint newmaint-admin newmaint-discuss - news news-french news-german news-portuguese nonprofit ocaml-maint - openoffice parisc perl pilot policy pool powerpc project publicity - python qa qa-packages qa-private qt-kde release ruby russian s390 - s390-changes security security-announce sgml simplified-chinese - snapshots sparc sparc-changes spi-announce spi-general ssh superh - testing tetex-maint toolchain ultralinux user user-catalan - user-danish user-de user-french user-german user-icelandic - user-indonesian user-polish user-portuguese user-spanish - user-swedish user-turkish user-ukrainian vgui-discuss vote win32 - wnpp women www x)' && ret=0 - ;; - debpackages) - _arguments \ - '-release=-:search release:(all main non-US contrib non-free)' \ - '-distro=-:search distribution:(all stable testing unstable)' \ - '*:package:_deb_packages avail' && ret=0 - ;; - debpts) - _arguments $args \ - '-doc[view PTS documentation]' && ret=0 - ;; - debsec) - _message -e strings 'package name, bug number or CVE ID' - ;; - deja) - _arguments $args \ - '-results=-:[number of results to return]' \ - '-m[search for Message-ID]' && ret=0 - ;; - dmoz) - _arguments $args \ - '-cat=-[specify category]:category:(All Arts Business Computers Games - Health Home Kids_and_Teens News Recreation Reference Regional - Science Shopping Society Sports World Adult)' \ - '-type=-:type:((c\:categories\ only s\:sites\ only b\:both))' \ - '-kids[sites for kids]' \ - '-teens[sites for teens]' \ - '-mteens[sites for mature teens]' && ret=0 - ;; - ebay) - _arguments $args \ - '-country=-:country:(com de uk fr)' \ - '-results=-:[number of results to return]:number' && ret=0 - ;; - etym) - _wanted dictword expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - fast) - _arguments $args \ - '-type=-:search type:(all any phrase)' && ret=0 - ;; - freebsd) - _arguments $args \ - '-mail=-[search mailing lists]:enable:(yes no)' \ - '-gg=-[search [Google Groups]:enable:(yes no)' \ - '-pr=-[query problem reports]:enable:(yes no)' \ - '-cvs=-[query cvsweb]:enable:(yes no)' \ - '-mid=-[query mailing lists by Message-ID]:enable:(yes no)' \ - '-ps=-[go to the port survey page]:enable:(yes no)' \ - '-prs=-[go to the problem report survey page]:enable:(yes no)' \ - '-elogs=-[go to the build error logs page]:enable:(yes no)' && ret=0 - ;; - freedb) - _arguments $args \ - '-artists[search artists]' \ - '-albums[search albums]' \ - '-songs[search songs]' \ - '-rest[search the rest of the data]' \ - '-all[search all fields]' \ - '-bycat[sort results by category]' \ - '*-cat=-:category:(all blues classical country data folk - jazz misc newage reggae rock soundtrack)' && ret=0 - ;; - freshmeat) - _deb_packages avail && ret=0 - ;; - fsfdir) - _arguments $args - ;; - google) - _arguments $args \ - '(-l --lucky)'{-l,--lucky}'[feeling lucky?]' \ - '-results=-:[number of results to return]:' \ - '-search=-:topic:(bsd linux mac unclesam)' && ret=0 - ;; - gutenberg) - _arguments $args \ - '-title[search titles (default)]' - '-author[search authors]' - '-num[search etext numbers]' - ;; - imdb) - _arguments $args \ - '-category=-:category:(All Titles MyMovies People Characters Quotes Bios Plots)' && ret=0 - ;; - ixquick) - _arguments $args \ - '-search=-:search type:(web pics)' \ - '-lang=-:language:(english dansk deutsch espanol francais italiano nederlands norsk polski portugues suomi svenska turkce jiantizhongwen nihongo fantizhengwen hangul)' - ;; - jake) - _arguments $args \ - '-method=-:search type:(title issn)' \ - '-volume=-:volume' \ - '-issue=-:issue' \ - '-spage=-:start page' \ - '-epage=-:end page' \ - '-year=-:year' && ret=0 - ;; - leodict) - _arguments \ - '-tol=:special character tolerance:(off standard high)' \ - '-to=:language:(de en either)' \ - '-lang=:webpage is in this language:(en de)' \ - '-link=:link results:(on off)' \ - '-head=:display headlines:(on off)' \ - '-grid=:show results in grid:(on off)' \ - '-spell=:spelling tolerance:(off standard force)' \ - '*:dictionary word:->words' && ret=0 - - [[ "$state" = words ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - netbsd|openbsd) - _arguments $args \ - '-mail=-[search mailinglists]:enable:(no yes)' \ - '-pr=-[query problem reports]:enable:(no yes)' && ret=0 - ;; - pgpkeys) - _arguments \ - '-s[display key signatures]' \ - '*:key ID or email' && ret=0 - ;; - pubmed) - _arguments $args \ - '-db=-:[specify database]:database:(PubMed Nucleotide Protein Genome - Structure Popset)' && ret=0 - ;; - rfc) - _arguments $args \ - '-results=-:[specify number of results to return]:number' \ - '-pdf[return files as PDFs]' \ - '-rev[reverse order of results]' \ - '-exact[match exact words (instead of prefixes)]' \ - '-abs[show abstracts]' \ - '-keywords[show keywords]' \ - "-nodirect[don't try and go direct to RFC]" \ - '-ftp[retrieve RFCs via FTP instead of HTTP]' \ - '-field=-:search field:(all number title author keyword)' \ - '-search=-:collection:(all rfc std bcp fyi)' && ret=0 - ;; - scaleplus) - _arguments $args \ - '-results=-:[number of results to return]' && ret=0 - ;; - sourceforge) - _arguments \ - '-exact=-[require all words}:enable:(yes no)' \ - '-type=:search type:(soft people freshmeat)' \ - '*:project:_deb_packages avail' && ret=0 - ;; - stockquote) - _arguments $args \ - '-provider=-[select quote provider]:provider:(yahoo nasdaq quote)' && ret=0 - ;; - thesaurus|webster) - _wanted words expl 'word' compadd $(look "${PREFIX}") && ret=0 - ;; - rae) - _wanted dictionary expl 'palabra diccionario' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - translate) - _arguments \ - '-from=-:language:(de en es fr it ja ko pt ru zh)' \ - '-to=-:language:(de en es fr it ja ko pt ru zh)' \ - '-provider=-[select translation service provider]:provider:(raging bablefish)' \ - '*:dictionary word:->dictword' && ret=0 - - [[ "$state" = dictword ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - rhyme) - _arguments \ - '-method=-:type of word correlation:(perfect syn hom cons rel sub spell pic shake def)' \ - '*:dictionary word:->dictword' && ret=0 - - [[ "$state" = dictword ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - w3css) - _arguments \ - '-warnings=-[specify level of warnings displayed]:warning level:(all normal important none)' \ - '-profile=-:CSS profile:(none css1 css2 css3 svg svgbasic svgtiny mobile atsv-tv tv)' \ - '-medium=-:user medium:(all aural braille embossed handheld print projection - screen tty tv presentation)' \ - :URL:_urls && ret=0 - ;; - w3html) - _arguments \ - '-usage[go to validator help page]' \ - '-encoding=-[set page encoding]' \ - '-encfb[fall back to encoding rather than override]' \ - '-doctype=-":[set page doctype]:' \ - '-docfb[fall back to doctype rather than override]' \ - '-nv[be less verbose]' \ - '-showsource[show page source]' \ - '-showoutline[show page outline (headings)]' \ - '-showparsetree[show parse tree]' \ - '-excludeatt[exclude attributes from parse tree]' \ - '-err[validate Error (404) pages]' \ - :URL:_urls && ret=0 - ;; - w3link) - _arguments \ - '-r[check linked documents recursively]' \ - '-d=-[recursion depth]:depth' \ - '-s[summary only]' \ - '-hiderd[hide redirects]' \ - '-dhiderd[hide redirects for directories only]' \ - "-nolang[don't send the Accept-Language: header]" \ - '-cookie[save options in a cookie]' \ - :URL:_urls && ret=0 - ;; - w3rdf) - _arguments \ - '-output=-:output type:(Triples Graphs Both)' \ - '-format=-:graph format:(PNG_EMBED PNG_LINK SVG_LINK SVG_EMBED - GIF_EMBED \ GIF_LINK PS_LINK HP_PCL_LINK HP_GL_LINK ISV_ZVTM)' \ - '-savedot[save GraphViz DOT file]' \ - '-ntriples[display triples in N-Triples format]' \ - '-embedded[RDF is not enclosed in <RDF> tags]' \ - '-useme[grant w3c permission to save the RDF for developing test cases]' \ - '-anon[make anonymous nodes unlabelled]' \ - '-fontsize=-:font Size:(10 12 14 16 20)' \ - '-orient=-:orientation:(TB LR)' \ - '-node=-:node Colour:(Black Blue Darkgreen Red)' \ - '-nodetext=-[node text color]:color:(Black Blue Darkgreen Red)' \ - '-arc=-[arc color]:color:(Black Blue Darkgreen Red)' \ - '-arctext=-:[arc text color]:color:(Black Blue Darkgreen Red)' \ - :URL:_urls && ret=0 - ;; - wayback) - _arguments $args \ - '-syear=-[start search from this year]:year' \ - '-smonth=-:[start search from this month]:month:(jan feb mar apr may jun jul aug sep oct nov dec)' \ - '-sday=-[start search from this day]:number' \ - '-eyear=-[end search in this year]:year' \ - '-emonth=-[end search in this month]:month:(jan feb mar apr may jun jul aug sep oct nov dec)' \ - '-eday=-[end search in this day]:number' \ - '-list[list all pages that match search criteria]' \ - '-dups[show dups]' \ - '-compare[compare pages]' \ - '-pdf[show as PDF]' \ - '-alias=-[how to handle site aliases]:alias:(merge show hide)' \ - '-redir=-[how to handle redirections]:redir:(hide flag show)' \ - '-type=-[file type to search for]:type:(image audio video binary text pdf)' - ;; - wetandwild) - _arguments \ - '-city=-[town or City or (US only) zipcode]:' \ - '-country=-[two letter domain-style country code]:' \ - '-state=-[specify state, province or region]:state' && ret=0 - ;; - wikipedia) - _arguments $args \ - '-language=-:[two letter language code]:' && ret=0 - ;; - woffle) - _arguments $args \ - '-method=-:search method:(and or bool)' \ - '-format=-:result format:(short long)' \ - '-sort=-:sort method:(score revscore time revtime title revtitle)' && ret=0 - ;; - yahoo) - _arguments $args \ - '-results=-[specify number of results to return]:number' && ret=0 - ;; - yubnub) - _message -e commands 'Yubnub Command' - ;; - *) - _message -e strings 'search string' - ;; - esac - ;; - elvi) - local -UT XDG_CONFIG_DIRS xdg_config_dirs - local it - # list the applets - set -- ${${(f)"$(_call_program elvi surfraw -elvi)"}%%[[:space:]]##-- *} - shift # the first line is a header: remove it - # then list the bookmarks - for it in \ - $^xdg_config_dirs/surfraw/bookmarks(Nr) \ - /etc/xdg/surfraw/bookmarks(Nr) \ - /etc/surfraw.bookmarks(Nr) \ - ${XDG_CONFIG_HOME-$HOME/.config}/surfraw/bookmarks(Nr) \ - $HOME/.surfraw.bookmarks(Nr) - do - read -d'\0' it < $it - set -- "$@" ${${(f)it}%%[[:space:]]*} - done - _wanted elvi expl elvi compadd "$@" && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcadm deleted file mode 100644 index 22780d03..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcadm +++ /dev/null @@ -1,75 +0,0 @@ -#compdef svcadm - -local curcontext="$curcontext" state line expl subcmds -typeset -A opt_args - -subcmds=( enable disable restart refresh mark delegate clear milestone ) - -if [[ $service == "svcadm" ]]; then - _arguments -C -A "-*" \ - '-v[print actions verbosely]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl 'svcadm subcommand' compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" -fi - -case $service in - (enable) - _arguments -A "-*" \ - '-r[recursively enable dependencies]' \ - '-s[wait for service to come online]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (disable) - _arguments -A "-*" \ - '-s[wait for service to become disabled]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (mark) - _arguments -A "-*" \ - '-I[change state immediately]' \ - "-s[wait for service to reach the new state]" \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - ':state:(degraded maintenance)' \ - ':instance FMRI:_svcs_fmri -i' - ;; - - (restart|refresh|clear) - _arguments \ - "-s[wait for service to $service]" \ - '-T[timeout for -s]:timeout (seconds)' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (delegate) - _arguments -A "-*" \ - '-s[wait for instances to come online]' \ - '-T[timeout for -s]:timeout (seconds)' \ - ':restarter FMRI:_svcs_fmri -r' \ - '*:FMRI:_svcs_fmri -i' - ;; - - (milestone) - _arguments -A "-*" \ - '-d[make milestone the default]' \ - '-s[wait for the transition to the new milestone]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '*:milestone FMRI:_svcs_fmri -m' - ;; - - (*) - _message "unknown svcadm subcommand: $service" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svccfg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svccfg deleted file mode 100644 index 00dad366..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svccfg +++ /dev/null @@ -1,131 +0,0 @@ -#compdef svccfg - -local curcontext="$curcontext" ret=1 -local -a state line expl subcmds args -local -A opt_args - -# Subcommands that don't make sense on the commandline are missing -subcmds=( - apply export extract import inventory validate - add delete list - addpg addpropvalue delcust delpg delprop delpropvalue describe - editprop listpg listprop listcust setenv setprop unsetenv - setnotify listnotify delnotify - listsnap revert selectsnap - refresh - help -) - -_arguments -s -A "-*" \ - '-v[verbose]' \ - '-s+[specify fmri on which to operate]:fmri:_svcs_fmri -c' \ - '(1 *)-f+[read commands from file]:command file:_files' \ - '1: :->subcmds' \ - '*:: :->args' && ret=0 - -case $state in - subcmds) - _wanted commands expl 'svccfg subcommand' compadd -a subcmds && ret=0 - ;; - args) - curcontext="${curcontext%:*}-$words[1]:" - - case $words[1] in - import) - _arguments \ - '-V[verify property updates]' \ - ':file:_files' - ;; - - apply|inventory) _files ;; - - validate) - _alternative 'files:file:_files' 'fmris:fmri:_svcs_fmri -c' - ;; - - export) _svcs_fmri -c ;; - - delete) - _arguments \ - '-f[force deletion if online or degraded]' \ - '*:fmri:_svcs_fmri -c' - ;; - - describe) - local fmri=$opt_args[-s] - _arguments -A "-*" \ - '-v[give all information]' \ - '-t[show only template data]' \ - ':property group or property:->properties' - - if [[ -n $state ]]; then - fmris=( ${(f)"$(_call_program properties svcs -H -o fmri $fmri)"} ) - if (( $#fmris > 1 )); then - _message "'$fmri' is ambiguous" - return 1 - fi - - # Get all the property names for the FMRI - props=( ${${${(f)"$(_call_program properties svccfg -s $fmri describe)"}:# *}%% *} ) - - _multi_parts "$@" - / props && ret=0 - fi - ;; - - extract|add|delete|list|addpg|addpropvalue|delcust|delpg|delprop) - ;; - - delpropvalue|editprop|listpg|listcust|setenv|setprop|unsetenv) - ;; - - listprop) - _arguments \ - '-l+[print the layer the value came from]:layer:(manifest system-profile enterprise-profile site-profile node-profile sysconfig-profile admin current all)' \ - '(-o)-f[print the file a property came from]' \ - '(-f)-o+[select fields to print]:field:_sequence compadd - propname pgname instname servicename layer proptype value file masked time' \ - '*-G+[specify property group]:property group' \ - '-P+[specify property name]:property name' && ret=0 - ;; - - setnotify) - args=( '2:notification parameter:->parameters' ) - ;& - listnotify|delnotify|selectsnap) - _arguments $args \ - '-g[apply to notification parameters in svc:/system/svc/global:default]' \ - '1: :->tsets-classes' - - case $state in - tsets-classes) - local states=( uninitialized offline online degraded maintenance disabled ) - _alternative \ - 'state-transitions:state transition:_sequence compadd - all {to-,from-,}$^states' \ - 'event-classes:event class:_sequence compadd - problem-{diagnosed,updated,repaired,resolved}' && ret=0 - ;; - parameters) - if compset -P 'mailto:'; then - _email_addresses -c && ret=0 - elif compset -P 'snmp:'; then - _wanted values expl value compadd active inactive && ret=9 - else - _wanted uri-formats expl 'URI format' compadd -S: mailto snmp && ret=0 - fi - ;; - esac - ;; - - revert) - _wanted snapshots expl snapshot compadd initial previous running start && ret=0 - ;; - - refresh|listsnap) - _message 'no more arguments' - ;; - *) # fallback to default completion for unknown subcommands - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcprop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcprop deleted file mode 100644 index 19c65d3c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcprop +++ /dev/null @@ -1,20 +0,0 @@ -#compdef svcprop - -_arguments -s \ - '-f[designate properties by their FMRI]' \ - '-q[quiet]' \ - '-t[use multi-property output format]' \ - '-v[verbose]' \ - - set1 \ - '-w[wait for the selected property or property group to change]' \ - '-p[print values of named property or property group]' \ - ':FMRI:_svcs_fmri -i' \ - - set2 \ - '-a[display all properties]' \ - '-g[group type filter]:group type' \ - '*-l[properties from a layer]:layer:(admin site-profile system-profile manifest)' \ - '(-c -s)-C[retrieve properties without composition]' \ - '(-C -s)-c[retrieve properties with composition]' \ - '(-c -C)-s[retrieve properties from snapshot]:snapshot' \ - '*-p[print values of named property or property group]' \ - '*:FMRI:_svcs_fmri -i' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs deleted file mode 100644 index c1f01ad1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs +++ /dev/null @@ -1,28 +0,0 @@ -#compdef svcs - -local -a cols - -cols=( - ctid\:"contract id" desc\:"description" fmri\:"fmri" - inst\:"instance name" nsta\:"next state (abbr)" nstate\:"next state" - scope\:"scope name" svc\:"service name" sta\:"state (abbr)" - state\:"state" stime\:"start time" astate\:"name for current auxiliary state" - nrun\:"time of next scheduled run for periodic services" - lrun\:"time of the last run for periodic services" -) - -_arguments -s \ - '(-l -x -d -D)-a[list all instances]' \ - '(-l -x -D -a -R)-d[list dependencies]' \ - '(-l -x -d -a -R)-D[list dependents]' \ - '(-l -x)-H[suppress header line]' \ - '(-x -d -D -a -R -s)-l[print detailed status about services and instances]' \ - '(-l -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \ - '(-l -x)-p[list processes]' \ - '(-l -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \ - '(-l -x)-s[sort by a column]:column:(($cols))' \ - '(-l -x)-S[reverse sort by a column]:column:(($cols))' \ - '-v[verbose columns]' \ - '(-l)-x[display explanation for service states]' \ - '(-l -x)-\?[print help]' \ - '*:FMRI or pattern:_svcs_fmri -i' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs_fmri b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs_fmri deleted file mode 100644 index b090461c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svcs_fmri +++ /dev/null @@ -1,96 +0,0 @@ -#autoload - -_svcs_fmri() { - local type="$argv[$#]" - local fmri_abbrevs m i expl - typeset -a -g _smf_fmris - - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _smf_caching_policy - fi - # The cache really must be per-host - local cache_id=smf_fmri:$HOST - - # TODO: Do something useful with the expand and/or ambiguous styles. - case $type in - (-i|-c) - # We probably also need an option to eliminate ambiguous - # results for use in places where that's not allowed. - - # Grab all FMRIs that have a word beginning with $PREFIX, - # making sure not to return the portion of the FMRI before - # $PREFIX. Use the cache if it exists and the user wants to. - if ( [[ $#_smf_fmris -eq 0 ]] || _cache_invalid $cache_id ) \ - && ! _retrieve_cache $cache_id; then - _smf_fmris=( ${(f)"$(svcs -a -H -o fmri)"} ) - _store_cache $cache_id _smf_fmris - fi - # Each element of the array is removed which doesn't match - # (^|.*/)$PREFIX.* - fmri_abbrevs=( ${(M)_smf_fmris:#((#s)|*[/:])$PREFIX*} ) - - # Go through the remaining elements and remove the characters - # in front of $PREFIX. - for ((i = 1; i <= $#fmri_abbrevs; i++ )); do - # Either one of these will work, but they're too - # greedy, preventing multiple matches below. - fmri_abbrevs[i]=${${fmri_abbrevs[i]}/((#s)|*[\/:])(#b)($PREFIX*)/$match[1]} - #fmri_abbrevs[i]=${${(M)${fmri_abbrevs[i]}:#(#b)((#s)|*/)$PREFIX*}#$match[1]} - done - - # Remove the "default" instance identifier if it's the only - # instance for a given service (not for svccfg). - if [[ $type == "-i" ]]; then - local -a svcs insts nabbrevs - local s - svcs=( ${(u)fmri_abbrevs%:*} ) - for s in $svcs; do - insts=( ${(@M)fmri_abbrevs:#$s:*} ) - if [[ $#insts -eq 1 && $insts[1] == *":default" ]]; then - nabbrevs=($nabbrevs ${insts//:default}) - elif [[ $#insts -eq 0 ]]; then - # Turns out we're completing the - # instance name. - nabbrevs=($nabbrevs $s) - else - nabbrevs=($nabbrevs $insts) - fi - done - fmri_abbrevs=( $nabbrevs ) - fi - - # After playing with _multi_parts, I'm not sure it's actually - # that useful. - # _wanted fmri expl "full or unambiguously abbreviated FMRIs" \ - # _multi_parts -i / fmri_abbrevs - - _wanted fmri expl "full or unambiguously abbreviated FMRI" \ - compadd $fmri_abbrevs - ;; - - (-m) - _wanted fmri expl "milestone FMRI" \ - compadd $(svcs -H -o fmri svc:/milestone/\*) all - ;; - - (-r) - # TODO: need some way to pick out only restarters - _wanted fmri expl "restarter FMRI" \ - compadd master reset svc:/network/inetd:default - ;; - - (*) - _message "unknown argument to _svcs_fmri: $type" - ;; - esac -} - -_smf_caching_policy() { - # /etc/svc/repository.db is not a public interface, so this is kinda - # grody. - [[ ! -f "$1" || /etc/svc/repository.db -nt "$1" ]] -} - -_svcs_fmri "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svn-buildpackage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svn-buildpackage deleted file mode 100644 index e0f92589..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_svn-buildpackage +++ /dev/null @@ -1,51 +0,0 @@ -#compdef svn-buildpackage - -_arguments \ - '--svn-builder=[use CMD as build command instead of dpkg-buildpackage]:build command: _command_names -e' \ - '--svn-ignore-new[do not stop on svn conflicts or new/changed files]' \ - '--svn-dont-clean[do not run debian/rules clean (default: clean first)]' \ - '--svn-no-links[do not use file links (default: use links where possible)]' \ - '--svn-dont-purge[do not wipe the build directory (default: purge after build)]' \ - '--svn-reuse[reuse an existing build directory, copy trunk over it]' \ - '--svn-export[just prepares the build directory and exits]' \ - '--svn-tag[final build: Export && build && tag && dch -i]' \ - '--svn-retag[replace an existing tag directory if found while tagging]' \ - '--svn-only-tag[tags the current trunk directory without building]' \ - '--svn-noautodch[do not add a new Debian changelog entry when done]' \ - '--svn-lintian[run lintian after the build]' \ - '--svn-linda[like --svn-lintian, run linda instead]' \ - '--svn-move[move package files to .. after successful build]' \ - '--svn-move-to=:target dir:_files -/' \ - '--svn-pkg:package name:_deb_packages avail' \ - '--svn-override[override config variables]:list:' \ - '--svn-prebuild:hook: _command_names -e' \ - '--svn-postbuild:hook: _command_names -e' \ - '--svn-pretag:hook: _command_names -e' \ - '--svn-posttag:hook: _command_names -e' \ - '--svn-verbose[more verbose program output]' \ - '--svn-noninteractive[turn off interactive mode]' \ - '-b[binary-only build, no source]' \ - '-B[binary-only build, no source or arch-indep binaries]' \ - '-S[source-only build, no binaries]' \ - '-s-:source generation:((i\:default a\:force\ inclusion\ of\ original\ source d\:force\ exclusion\ of\ original\ source))' \ - '-a-:architecture:_deb_architectures' \ - '-v-:version' \ - '-C-:changes description:_files' \ - '-m-:maintainer address:_email_addresses' \ - '-e-:maintainer address:_email_addresses' \ - '(-d)-D[check build dependencies and conflicts]' \ - '(-D)-d[do not check build dependencies and conflicts]' \ - '-W[turn certain errors into warnings]' \ - '-E[negates previously-set -W]' \ - '-nc[do not clean source tree]' \ - '-tc[clean the source tree after build]' \ - '-r-:gain-root command: _command_names -e' \ - '-p-:sign command: _command_names -e' \ - '-k-:key ID:' \ - '-us[do not sign source package]' \ - '-uc[do not sign .changes file]' \ - '*-i-:ignore regexp:' \ - '*-I-:ignore filename:_files' \ - '--admindir=:dpkg database dir:_files -/' \ - '(-h --help)'{-h,--help}'[show usage message]' \ - '--version[show version]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sw_vers b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sw_vers deleted file mode 100644 index 11814e0b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sw_vers +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sw_vers - -_arguments : \ - '(-)-buildVersion[display build version only]' \ - '(-)-productName[display product name only]' \ - '(-)-productVersion[display product version only]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swaks b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swaks deleted file mode 100644 index 0e92221b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swaks +++ /dev/null @@ -1,56 +0,0 @@ -#compdef swaks - -local ign - -(( $#words > 2 )) && ign='!' -_arguments \ - '(-s --server -p --port)'{-s+,--server=}'[target host[:port\]]:host[\:port]:_hosts' \ - '(-p --port)'{-p+,--port=}'[target port number]:port number:(25 465 587)' \ - '--copy-routing[derive target host:port from email address domain part]:email address domain part' \ - '(-t --to)'{-t+,--to=}':envelope recipient(s):_sequence _email_addresses -c' \ - '(-f --from)'{-f+,--from=}':envelope sender:_email_addresses -c' \ - '(--ehlo --lhlo -h --helo)'{-h+,--ehlo,--helo,--lhlo}':HELO string:_hosts' \ - '(-q --quit-after)'{-q+,--quit-after=}'[stop transaction early]:stop point:(( - CONNECT\:banner BANNER\:banner - FIRST-HELO\:first\ HELO FIRST-EHLO\:first\ HELO - XCLIENT\:XCLIENT - TLS\:TLS\ negotiation - HELO\:second\ HELO EHLO\:second\ HELO - AUTH\:authentication - MAIL\:MAIL\ FROM FROM\:MAIL\ FROM - RCPT\:RCPT\ TO TO\:RCPT\ TO - ))' \ - '--protocol=:protocol variant:(( - SMTP\:HELO\ 25 - SSMTP\:EHLO\ 465 - SSMTPA\:EHLO\ 465\ authenticated - SMTPS\:HELO\ 465 - ESMTP\:EHLO\ 25 - ESMTPA\:EHLO\ 25\ authenticated - ESMTPS\:EHLO\ STARTTLS\ 25 - ESMTPSA\:EHLO\ STARTTLS\ 25\ authenticated - ))' \ - '(-tls -tlsos --tls-optional-strict)-tls[TLS required]' \ - '(-tls -tlsos --tls-optional-strict)'{-tlsos,--tls-optional-strict}'[TLS iff offered by target]' \ - '(-tlsc --tls-on-connect)'{-tlsc,--tls-on-connect}'[TLS on connect (port 465)]' \ - '(-tlsp --tls-protocol)'{-tlsp,--tls-protocol=}':TLS protocol:(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)' \ - '-tls-cipher:OpenSSL cipher string: ' \ - '--tls-verify[verify TLS certificates]' \ - '--tls-ca-path=:OpenSSL CAfile or CAdir:_files' \ - '--tls-get-peer-cert=-:file to write (omit for STDOUT)' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-a+,--auth=}'[use authentication, failing if no common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-ao,--auth-optional=}'[use authentication if common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-aos,--auth-optional-strict=}'[use authentication]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-ap --auth-password)'{-ap,--auth-password=}'[provide the password to be used for authentication]::password' \ - \*{-ae,--auth-extra=}'[add extra information to authentication process]: :_values keywords - {realm,domain,dmd5-{serv-type,host,serv-name}}\:value' \ - \*{-am,--auth-map=}'[map alternate names for authentication types]:alias=type,...' \ - '(-apt --auth-plaintext)'{-apt,--auth-plaintext}'[show auth strings in plaintext when printing on screen]' \ - '(-ahp --auth-hide-password)'{-ahp,--auth-hide-password}'[replace passwords with dummy string when printing to terminal]' \ - '(-d --data)'{-d+,--data=}'[specify DATA payload]:filename (or string with tokens):_files' \ - '*'{-ah,--add-header=}'[add headers]:<Header>\: Value' \ - '*'{-h,--header=}'[replace headers]:<Header>\: Value' \ - "${ign}(-)--support[display capabilities and exit]" \ - "--dump[display results of option processing but send no mail]" \ - "${ign}(-)--help[display usage information]" \ - "${ign}(-)--version[display version information]" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swanctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swanctl deleted file mode 100644 index ba2f5402..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swanctl +++ /dev/null @@ -1,225 +0,0 @@ -#compdef swanctl - -# Completion for strongSwan's swanctl. See also ipsec, which is deprecated but -# still supported by strongSwan, and also used by Openswan/Libreswan. -# -# Note that in most cases elevated privileges are required to connect to the -# VICI socket, so the gain-privileges style may be necessary to complete SA -# names and the like: zstyle ':completion:*:swanctl/*' gain-privileges yes -# -# Other notes: -# - One of swanctl's selling points is that it can provide 'raw' structured -# responses for scripting, etc. In practice, though, the output formatted for -# humans seems easier to 'parse' from the shell than the plist-like raw output -# - @todo We don't complete authority names, pool names, peer IPs, etc. - -# Complete connection names, SA names, or SA unique IDs. The distinctions -# between concepts like 'connections' and 'SAs' are very blurry here, partially -# for convenience and partially due to author confusion -# --child => complete only child/CHILD_SA names/IDs -# --ids => complete unique SA IDs rather than connection/SA names -# --ike => complete only connection/IKE_SA names/IDs -(( $+functions[_swanctl_connections] )) || -_swanctl_connections() { - local i which - local -a expl tmp matches - local -A opts - - zparseopts -D -E -A opts - -child -ids -ike - - tmp=( ${(@M)${(f)"$( - _call_program -p swanctl-sas $words[1] -l - )"}:#[^:]##: \#<->*} ) - (( $+opts[--ids] )) || tmp+=( ${(@M)${(f)"$( - _call_program -p swanctl-conns $words[1] -L - )"}:#[^:]##: ([A-Z][A-Za-z0-9]#|),*} ) - - for i in $tmp; do - if (( $+opts[--child] )) && [[ $i != [[:space:]]* ]]; then - continue - elif (( $+opts[--ike] )) && [[ $i == [[:space:]]* ]]; then - continue - fi - - # <name>: #<unique id>, ... - i=${i//[#:,]/ } - - if (( $+opts[--ids] )); then - matches+=( "${i[(w)2]}:${i[(w)1]} #${i[(w)2]}" ) - else - matches+=( ${i[(w)1]} ) - fi - done - - if (( $+opts[--ids] )); then - matches=( ${(onu)matches} ) - if (( $+opts[--child] )); then - which=CHILD_ - elif (( $+opts[--ike] )); then - which=IKE_ - fi - _describe -x2Vt sa-ids "${which}SA unique ID" matches - else - if (( $+opts[--child] )); then - which='child ' - elif (( $+opts[--ike] )); then - which='IKE ' - fi - _wanted -x connections expl "${which}connection/SA name" compadd - $matches - fi -} - -_swanctl() { - # Although swanctl will correctly parse multiple short options in the first - # word, as in `swanctl -lh`, it won't actually *do* anything with the - # subsequent options -- so we'll require that they be separated. Also, --help - # doesn't take any further options, so just stop if we've got that - if (( CURRENT == 2 )) || [[ $words[2] == (-h*|--help) ]]; then - _arguments : \ - '(-)'{-a,--load-pools}'[(re)load pool configuration]' \ - '(-)'{-A,--list-pools}'[display loaded pool configurations]' \ - '(-)'{-b,--load-authorities}'[(re)load authority configuration]' \ - '(-)'{-B,--list-authorities}'[display loaded authority configurations]' \ - '(-)'{-c,--load-conns}'[(re)load connection configuration]' \ - '(-)'{-C,--counters}'[display or reset IKE event counters]' \ - '(-)'{-d,--redirect}'[redirect IKE_SA]' \ - '(-)'{-f,--flush-certs}'[flush cached certificates]' \ - '(-)'{-g,--list-algs}'[display loaded algorithms]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-i,--initiate}'[initiate a connection]' \ - '(-)'{-l,--list-sas}'[display currently active IKE_SAs]' \ - '(-)'{-L,--list-conns}'[display loaded configurations]' \ - '(-)'{-m,--monitor-sa}'[monitor for IKE_SA and CHILD_SA changes]' \ - '(-)'{-p,--install}'[install trap or shunt policy]' \ - '(-)'{-P,--list-pols}'[display currently installed policies]' \ - '(-)'{-q,--load-all}'[load credentials, authorities, pools, and connections]' \ - '(-)'{-r,--reload-settings}'[reload daemon strongswan.conf]' \ - '(-)'{-R,--rekey}'[rekey SA]' \ - '(-)'{-s,--load-creds}'[(re)load credentials]' \ - '(-)'{-S,--stats}'[display daemon statistics]' \ - '(-)'{-t,--terminate}'[terminate connection]' \ - '(-)'{-T,--log}'[trace logging output]' \ - '(-)'{-u,--uninstall}'[uninstall trap or shunt policy]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-x,--list-certs}'[display stored certificates]' - return - fi - - local ret=1 cmd - local -a args cert_flags cert_types - - cert_flags=( aa any ca none ocsp ) - cert_types=( ocsp_response pubkey x509 x509_ac x509_crl ) - - if [[ $words[2] == -[^-]* ]]; then - cmd=${(M)words[2]#??} - else - cmd=$words[2] - fi - words=( $words[1] "${(@)words[3,-1]}" ) - (( CURRENT-- )) - - # Technically, only -v, -u, and -+ are truly global command options. However, - # in practice, all commands also support -h, -P, and -r - args=( - '(: * -)'{-h,--help}'[display help information]' - '(-P -r --pretty --raw)'{-P,--pretty}'[dump raw response message in pretty print]' - '(-P -r --pretty --raw)'{-r,--raw}'[dump raw response message]' - # https://wiki.strongswan.org/projects/strongswan/wiki/LoggerConfiguration - # https://github.com/strongswan/strongswan/blob/master/src/libstrongswan/utils/debug.h - '(-v --debug)'{-v+,--debug=}'[specify debug level]:debug level [1]:(( - -1\:"absolutely silent (SILENT)" - 0\:"basic auditing (AUDIT)" - 1\:"generic control flow with errors (CTRL)" - 2\:"detailed control flow (DIAG)" - 3\:"raw binary blobs (RAW)" - 4\:"sensitive data (PRIVATE)" - ))' - '(-u --uri)'{-u+,--uri=}'[specify service URI to connect to]:VICI service URI:_urls' - '(-+ --options)'{'-\++',--options=}'[read command-line options from specified file]:options file:_files' - ) - - case $cmd in - -A|--list-pools) args+=( - '(-n --name)'{-n+,--name=}'[filter by specified pool name]:pool name' - '(-l --leases)'{-l,--leases}'[display leases of each pool]' - ) ;; - -B|--list-authorities) args+=( - '(-n --name)'{-n+,--name=}'[filter by specified authority name]:authority name' - ) ;; - -C|--counters) args+=( - '(-a -n --all --name)'{-a,--all}'[display/reset counters for all tracked connections]' - '(-a -n --all --name)'{-n+,--name=}'[specify connection name]: :_swanctl_connections --ike' - '(-r --reset)'{-r,--reset}'[reset counters]' - ) ;; - -d|--redirect) args+=( - '(-d --peer-id)'{-d+,--peer-id=}'[redirect by IKE_SA matching specified peer identity]:peer identity' - '(-g --gateway)'{-g+,--gateway=}'[redirect to specified gateway]:target gateway' - '(-i --ike)'{-i+,--ike=}'[redirect by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[redirect by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - '(-p --peer-ip)'{-p+,--peer-ip=}'[redirect by IKE_SA matching specified peer IP]:peer IP address' - ) ;; - -f|--flush-certs) args+=( - '(-t --type)'{-t+,--type=}"[filter by specified certificate type]:certificate type:( - ${(j< >)${(@q-)cert_types}} - )" - ) ;; - -i|--initiate) args+=( - '(-c --child)'{-c+,--child=}'[specify CHILD_SA name]: :_swanctl_connections --child' - '(-i --ike)'{-i+,--ike=}"[specify CHILD_SA's connection name]: :_swanctl_connections --ike" - '(-t --timeout)'{-t+,--timeout=}'[specify timeout before detaching]:timeout (seconds)' - ) ;; - -l|--list-sas) args+=( - '(-i --ike)'{-i+,--ike=}'[filter by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[filter by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - '(-n --noblock)'{-n,--noblock}'[do not wait for IKE_SAs in use]' - ) ;; - -p|-u|--install|--uninstall) args+=( - '(-c --child)'{-c+,--child=}'[specify CHILD_SA name]: :_swanctl_connections --child' - '(-i --ike)'{-i+,--ike=}"[specify CHILD_SA's connection name]: :_swanctl_connections --ike" - ) ;; - -P|--list-pols) args+=( - '(-c --child)'{-c+,--child=}'[filter by specified CHILD_SA name]: :_swanctl_connections --child' - '(-d --drop)'{-d,--drop}'[list drop policies]' - '(-p --pass)'{-p,--pass}'[list bypass policies]' - '(-t --trap)'{-t,--trap}'[list trap policies]' - ) ;; - -q|-s|--load-all|--load-creds) args+=( - '(-c --clear)'{-c,--clear}'[clear previously loaded credentials]' - '(-n --noprompt)'{-n,--noprompt}'[do not prompt for passwords]' - ) ;; - -R|--rekey) args+=( - '(-c --child)'{-c+,--child=}'[rekey by specified CHILD_SA name]: :_swanctl_connections --child' - '(-C --child-id)'{-C+,--child-id=}'[rekey by specified CHILD_SA unique ID]: :_swanctl_connections --ids --child' - '(-i --ike)'{-i+,--ike=}'[rekey by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[rekey by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - ) ;; - -t|--terminate) args+=( - '(-t --timeout)'{-t+,--timeout=}'[specify timeout before detaching]:timeout (seconds)' - '(-c --child)'{-c+,--child=}'[terminate by specified CHILD_SA name]: :_swanctl_connections --child' - '(-C --child-id)'{-C+,--child-id=}'[terminate by specified CHILD_SA unique ID]: :_swanctl_connections --ids --child' - '(-i --ike)'{-i+,--ike=}'[terminate by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[terminate by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - ) ;; - -v|--version) args+=( - '(-d --daemon)'{-d,--daemon}'[query daemon version]' - ) ;; - -x|--list-certs) args+=( - '(-f --flag)'{-f+,--flag=}"[filter by specified X.509 certificate flag]:certificate flag:( - ${(j< >)${(@q-)cert_flags}} - )" - '(-p --pem)'{-p,--pem}'[display PEM encoding of certificate]' - '(-s --subject)'{-s+,--subject=}'[filter by specified certificate subject]:certificate subject' - '(-S --short)'{-S,--short}'[omit some certificate details]' - '(-t --type)'{-t+,--type=}"[filter by specified certificate type]:certificate type:( - ${(j< >)${(@q-)cert_types}} - )" - '(-u --utc)'{-u,--utc}'[use UTC for time fields]' - ) ;; - esac - - _arguments -s -S : $args && ret=0 - return ret -} - -_swanctl "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swift b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swift deleted file mode 100644 index 6776f0de..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_swift +++ /dev/null @@ -1,123 +0,0 @@ -#compdef swift swiftc - -# swift(1) and swiftc(1) are part of the Swift programming language. -# https://swift.org/ - -local -a common_options swiftc_mode_options swiftc_additional_options -local -A swiftc_modes - -common_options=( - '-assert-config[specify the assert_configuration replacement]:config:(Debug Release Unchecked DisableReplacement)' - '*-D[marks a conditional compilation flag as true]:flag:' - '*-framework[specifies a framework which should be linked against]:framework:' - '*-F[add directory to framework search path]:path:_files -/' - '(-gnone)-gdwarf-types[emit full DWARF type info]' - '(-gnone)-gline-tables-only[emit minimal debug info for backtraces only]' - '(-gdwarf-types -gline-tables-only -g)-gnone[do not emit debug info]' - '(-gnone)-g[emit debug info]' - '(- : *)-help[display available options]' - '-index-store-path[store indexing data to the specified path]:directory:_files -/' - '*-I[add directory to the import search path]:path:_files -/' - '-j[number of commands to execute in parallel]:count:' - '*-L[add directory to library link search path]:path:_files -/' - '*-l-[specifies a library which should be linked against]:library:' - '-module-cache-path[specifies the Clang module cache path]:path:_files -/' - '-module-link-name[library to link against when using this module]:name:' - '-module-name[name of the module to build]:name:' - '-nostdimport[do not search the standard library import path for modules]' - '-num-threads[enable multi-threading and specify number of threads]:count:' - '(-Ounchecked -O)-Onone[compile without any optimization]' - '(-Onone)-Ounchecked[compile with optimizations and remove runtime safety checks]' - '(-Onone)-O[compile with optimizations]' - '-sdk[compile against SDK]:sdk:_files -/' - '-static-stdlib[statically link the Swift standard library]' - '-suppress-warnings[suppress all warnings]' - '-target-cpu[generate code for a particular CPU variant]:cpu' - '-target[generate code for the given target]:target' - '-use-ld=-[specifies the linker to be used]:linker:_files -/' - '(- : *)-version[print version information and exit]' - '-v[show commands to run and use verbose output]' - '-warnings-as-errors[treat warnings as errors]' - '*-Xcc[pass argument to the C/C++/Objective-C compiler]:arg:' - '*-Xlinker[specifies an option which should be passed to the linker]:option:' -) - -swiftc_modes=( - -dump-ast 'parse and type-check input file(s) and dump AST(s)' - -dump-parse 'parse input file(s) and dump AST(s)' - -dump-type-refinement-contexts - 'type-check input file(s) and dump type refinement contexts(s)' - -emit-assembly 'emit assembly file(s) (-S)' - -emit-bc 'emit LLVM BC file(s)' - -emit-executable 'emit a linked executable' - -emit-ir 'emit LLVM IR file(s)' - -emit-library 'emit a linked library' - -emit-object 'emit object file(s) (-c)' - -emit-sibgen 'emit serialized AST + raw SIL file(s)' - -emit-sib 'emit serialized AST + canonical SIL file(s)' - -emit-silgen 'emit raw SIL file(s)' - -emit-sil 'emit canonical SIL file(s)' - -parse 'parse input file(s)' - -print-ast 'parse and type-check input file(s) and pretty print AST(s)' -) -local mode -for mode in ${(k)swiftc_modes}; do - # Mode options are mutually exclusive - swiftc_mode_options+=("(${(k)swiftc_modes})${mode}[$swiftc_modes[$mode]]") -done - -swiftc_additional_options=( - '-application-extension[restrict code to those available for App Extensions]' - '-embed-bitcode-marker[embed placeholder LLVM IR data as a marker]' - '-embed-bitcode[embed LLVM IR bitcode as data]' - '-emit-dependencies[emit basic Make-compatible dependencies files]' - '-emit-module-path[emit an importable module to the specified path]:path:_files -/' - '-emit-module[emit an importable module]' - '-emit-objc-header-path[emit an Objective-C header file to the specified path]:path:_files -/' - '-emit-objc-header[emit an Objective-C header file]' - '-fixit-all[apply all fixits from diagnostics without any filtering]' - '-fixit-code[get compiler fixits as code edits]' - '-import-underlying-module[implicitly imports the Objective-C half of a module]' - '-output-file-map[a file which specifies the location of outputs]:path:_files' - '-o[write output to specified file]:path:_files' - '-parse-as-library[parse the input file(s) as libraries, not scripts]' - '-parse-sil[parse the input file as SIL code, not Swift source]' - '-parseable-output[emit textual output in a parseable format]' - '-profile-coverage-mapping[generate coverage data for use with profiled execution counts]' - '-profile-generate[generate instrumented code to collect execution counts]' - '-sanitize-coverage=-[specify the type of coverage instrumentation for Sanitizers and additional options separated by commas]:type:' - '*-sanitize=-[turn on runtime checks for erroneous behavior]:check:' - '-save-temps[save intermediate compilation results]' - '-serialize-diagnostics[serialize diagnostics in a binary format]' - '-tools-directory[look for external executables (ld, clang, binutils) in the specified directory]:directory:_files -/' - '-whole-module-optimization[optimize input files together instead of individually]' -) - -case "$words[1]" in - swift) - # The name swift conflicts with the command with the same name from the - # OpenStack project. We delegate completion to _openstack if swift(1) is - # detected to be from OpenStack. - local variant - _pick_variant -r variant openstack=OpenStack swiftlang='Swift compiler' unknown --help - case $variant in - openstack) - _openstack "$@" - ;; - swiftlang) - _arguments \ - "$common_options[@]" \ - '*:input:_files' - ;; - *) - _default "$@" - esac - ;; - swiftc) - _arguments \ - "$swiftc_mode_options[@]" \ - "$common_options[@]" \ - "$swiftc_additional_options[@]" \ - '*:input:_files' - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sys_calls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sys_calls deleted file mode 100644 index dadf2b1a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sys_calls +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -# Options: -# -# -a add "all" as an additional match -# -n add "none" as an additional match - -local expl all none -local ifile=/usr/include/sys/syscall.h -local -au syscalls - -zparseopts -D -K -E a=all n=none - -[[ $OSTYPE = linux* ]] && ifile=/usr/include/bits/syscall.h -syscalls=( ${${${(M)${(f)"$(<$ifile)"}:#\#[[:blank:]]#define[[:blank:]]##SYS_*}#*[[:blank:]]SYS_}%%[[:blank:]]*} ) 2>/dev/null -[[ -n $all ]] && syscalls+=( all ) -[[ -n $none ]] && syscalls+=( none ) - -_description syscalls expl 'system call' -compadd "$@" "$expl[@]" -a syscalls diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysclean b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysclean deleted file mode 100644 index 75586164..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysclean +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sysclean - -_arguments -s : \ - '(-p)-a[include filenames used by installed packages]' \ - '-i[include ignored filenames]' \ - '(-a)-p[output package names that are using obsolete files]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysctl deleted file mode 100644 index 0416ca05..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysctl +++ /dev/null @@ -1,94 +0,0 @@ -#compdef sysctl - -local -a args sysctlvars - -case $OSTYPE in - linux*) - args=( - {-e,--ignore}'[ignore errors about unknown keys]' - '(-n -N --names)'{-N,--names}'[show only variable names]' - '(-N -n --values)'{-n,--values}'[show only variable values]' - '(-)'{-w,--write}'[write mode]' - '(-A -a -w --system *)'{-p,--load=}'[specify file to load sysctl settings from]:file (can be regexp):_files' - {-q,--quiet}'[do not display names and values when setting variables]' - '(-e --ignore -w --write -A -a --all *)'{-A,-a,--all}'[display all variables]' - ) - if _pick_variant ng=procps-ng procps --version; then - args+=( - '--deprecated[include deprecated parameters in --all listing]' - {-b,--binary}'[print value without new line]' - '(-p --load)--system[load settings from all system config files]' - {-r+,--pattern=}'[only apply to variables matching specified pattern]:extended regexp' - ) - else - args=( ${args:#((#s)|*\))(\*|)--*} ) # remove long options - fi - _arguments -S -A "-*" : $args \ - '(- :)'{-h,--help}'[display help text and exit]' \ - '(- :)'{-V,--version}'[display version info and exit]' \ - '*:sysctl variable:_files -W /proc/sys' - ;; - freebsd<11->.*) - args+=( - '-B[specify buffer size for reading]:buffer size' - '-t[display type of variable]' - ) - ;| - freebsd<10->.*) - args+=( - '-f+[specify file of name/value pairs to process first]:file:_files' - '-T[display only variables that are settable via loader]' - '-W[display only writable variables that are not statistical]' - ) - ;| - darwin*|freebsd*) - args+=( '-h[format output for human readability]' ) - ;| - darwin*|dragonfly*|freebsd*) - sysctlvars=( $(_call_program sysctl-variables sysctl -aN) ) - _arguments -s -S -A "-*" $args \ - '(-a -o *)-A[equivalent to -o -a (for compatibility)]' \ - '(*)-a[list all]' \ - '-b[binary output]' \ - '-d[print the description of the variable instead of its value]' \ - '(-N -n)-e[separate name and value with =]' \ - "-i[silently exit if variable doesn't exist]" \ - '(-n)-N[show only variable names]' \ - '(-N)-n[show only variable values]' \ - '(-x)-o[show opaques as well (values suppressed)]' \ - '-q[suppress some warnings]' \ - '(* -o)-X[equivalent to -x -a (for compatibility)]' \ - '(-o)-x[show opaques as well (entire values)]' \ - '*:sysctl variable:_multi_parts -i -S = -q . sysctlvars' - ;; - openbsd*) - sysctlvars=( ${${${(f)"$(_call_program sysctl-variables - sysctl -a 2>/dev/null)"}%%=*}:# *} ) - _arguments -S -s -A "-*" \ - '(-A -q *)-a[list all string and integer variables]' \ - '(-a -q *)-A[list all known variables]' \ - '-n[show only values]' \ - '(-a -A)-q[suppress all output when setting a variable]' \ - '*:sysctl variable:_multi_parts -i -S = -q . sysctlvars' - ;; - netbsd*) - sysctlvars=( ${${${(f)"$(_call_program sysctl-variables - sysctl -a 2>/dev/null)"}%% =*}%%:*} ) - _arguments -S -s -A "-*" : \ - '(-a -f -M -q -w)-A[list all known variables]' \ - '(-A -f -M -q -w *)-a[list all string and integer variables]' \ - '(-M -w -x)-d[print the description of the variable instead of its value]' \ - '(-f -M -w)-e[separate name and value with =]' \ - '(-a -A -w *)-f[read variable from specified file]:file:_files' \ - '(-a -A -d -r -x -w)-M[print entire MIB instead of just value]' \ - '-n[show only variable values]' \ - '(-A -a -M)-q[silently ignore nonexistent variables]' \ - '(-M -x)-r[binary output]' \ - '(-a -A -d -e -f -M -r)-w[write mode]' \ - '(-d -M -r)*-x[hex output. -xx for hexdump-like output]' \ - '*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . sysctlvars' - ;; - *) - _default - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysmerge b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysmerge deleted file mode 100644 index 00ee1829..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysmerge +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sysmerge - -_arguments -s : \ - '-b[run non-interactively]' \ - '-d[do not take any automatic action]' \ - '-p[only compare configuration of packages]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_syspatch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_syspatch deleted file mode 100644 index 850636d0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_syspatch +++ /dev/null @@ -1,7 +0,0 @@ -#compdef syspatch - -_arguments \ - '( -l -R -r)-c[list available patches]' \ - '(-c -R -r)-l[list installed patches]' \ - '(-c -l -r)-R[revert all patches]' \ - '(-c -l -R )-r[revert the most recently installed patch]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysrc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysrc deleted file mode 100644 index 892dac40..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysrc +++ /dev/null @@ -1,94 +0,0 @@ -#compdef sysrc - -_sysrc_caching_policy() { - local -a oldp - oldp=( "$1"(Nm+1) ) - (( $#oldp )) -} - -_sysrc() { - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - local -a rc_conf_vars - - _arguments -C -s -A '-*' : \ - '(-l)-e[print variables as sh(1) compatible syntax]' \ - '-E[list only existing files]' \ - '(-l)-q[quiet mode]' \ - '(-L)-s+[process additional rc.conf.d entries for specified service name]:service name:_services' \ - '(-L)*-f+[operate on specified file(s), not \`rc_conf_files'\'']: : _files' \ - '(-l)-v[verbose mode]' \ - '*:configuration variable:->confvars' \ - - set \ - '(-A)-a[list all non-default configuration variables]' \ - '(-a)-A[list all configuration variables]' \ - '-c[check only, return success if vars are set]' \ - '-d[print variable(s) description]' \ - '-D[print default value(s) only]' \ - '-F[print only the last rc.conf(5) file each directive is in]' \ - '(- *)-h[print short usage message]' \ - '(- *)--help[print full usage message]' \ - '-i[ignore unknown variables]' \ - '-j+[jail to operate within]:jail:_jails' \ - '-n[print only variable values]' \ - '-N[print only variable names]' \ - '-R+[specify an alternative root]:alternative root:_files -/' \ - '(- *)--version[print version information]' \ - '-x[remove specified variables from specified file(s)]' \ - - lists \ - '(-e -q -v)-l[list config files used at startup]' \ - - lista \ - '(-s -f)-L[list all configuration files including rc.conf.d entries]' && ret=0 - - if [[ $state == confvars ]]; then - local k v opt - if (( $+opt_args[lista--L] )); then - _services && ret=0 - elif compset -P 1 '*='; then - case $IPREFIX in - *_enable=) _wanted values expl value compadd YES NO && ret=0 ;; - *_program=) _files -g "*(-*)" && ret=0 ;; - *_interface(|s)=) _net_interfaces && ret=0 ;; - *) _message -e values value ;; - esac - else - if zstyle -T ":completion:${curcontext%:*}:values" verbose; then - opt=d - else - opt=N - fi - - if ! zstyle -m ":completion:${curcontext%:*}:values" cache-policy '*'; then - zstyle ":completion:${curcontext%:*}:values" cache-policy _sysrc_caching_policy - fi - - if _cache_invalid sysrc/rc_conf_vars || - ! _retrieve_cache sysrc/rc_conf_vars; then - - _call_program sysrc-cmd sysrc -A$opt | while read -r k v; do - [[ $k = DEBUG* ]] && continue - if [[ -z $v ]]; then - rc_conf_vars+=( ${k%:} ) - else - rc_conf_vars+=( "${k%:}[${${v//]/\\]}//:/\\:}]" ) - fi - v= - done - - _store_cache sysrc/rc_conf_vars rc_conf_vars - fi - - if (( $#rc_conf_vars )); then - if [[ $opt == N ]]; then - _values -w variable ${^rc_conf_vars%%\[*}'::value' && ret=0 - else - _values -w variable ${^rc_conf_vars}'::value' && ret=0 - fi - fi - fi - fi - - return ret -} - -_sysrc "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysstat deleted file mode 100644 index 5620da73..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysstat +++ /dev/null @@ -1,161 +0,0 @@ -#compdef mpstat cifsiostat isag sadf sar pidstat -#TODO: -# sysstat-nfsiostat - there seems to be two nfsiostat(1)s. one from oracle and one by redhat. - -_mpstat() { - _arguments -S : \ - '(-n -u -I -N -P)-A[equivalent to -n -u -I ALL -N ALL -P ALL]' \ - '(-A)-I[report interrupt statistics]:interrupt:(SUM CPU SCPU ALL)' \ - '(-A)-N[specify NUMA nodes]:NUMA node' \ - '(-A)-n[report summary CPU statistics based on NUMA node placement]' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '-o[display statistics in JSON]:format:(JSON)' \ - '(-A)-P[specify processor number]:processor: _values -s "," processor ALL {0..$(_call_program processors getconf _NPROCESSORS_ONLN)}' \ - '-T[display topology elements in the CPU report]' \ - '-u[report CPU utilization]' \ - '(- 1 2)-V[display version information]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_cifsiostat() { - _arguments : \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '-h[human readable]' \ - '(-m)-k[display statistics in kB/s]' \ - '(-k)-m[display statistics in MB/s]' \ - '-t[print timestamp for each report]' \ - '(- 1 2)-V[print version number]' \ - '--human[print sizes in human readable format]' \ - '--pretty[make the CIFS report easier to read by a human]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_isag() { - _arguments : \ - '-p[specify path to daily data files]:path:_files -/' \ - '-c[specify configuration file]:configuration file:_files' \ - '-ght[specify height of the chart]:height' \ - '-gwd[specify width of the chart]:width' -} - -_sadf() { - local i ret=1 - # any options after `--' are for sar(1) - if (( CURRENT <= $words[(i)--] )); then - _arguments : \ - '-C[display comments in file]' \ - '-c[convert an old datafile to the new format]' \ - '-e[set ending time of report]:ending time (HH\:MM\:SS)' \ - '-H[display only the header of the report]' \ - '(-g -j -p -r -x)-h[print on a single line when used with -d]' \ - '-O[specify output options]: : _values -s , option - autoscale bwcol customcol height\:value oneday packed showidle showinfo showtoc skipempty hz\:value pcparchive\:name\:_files debug' \ - '-P[restrict processor dependent statistics]:processor number(zero indexed) or ALL:(ALL)' \ - '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ - '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ - '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ - '-s[set starting time of report]:starting time (HH\:MM\:SS)"' \ - '(-t -U)-T[display timestamp in local time]' \ - '(-T -U)-t[display timestamp in file\''s original localtime]' \ - '(-t -T)-U[display in seconds since epoch (UTC)]' \ - '(- 1 2 3)-V[print version number]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' \ - '3:data file:_files' \ - + '(format)' \ - '-d[output file in SQL format]' \ - '-g[print data in SVG format]' \ - '-j[output file in JSON]' \ - '-l[export the contents of the data file to a PCP (Performance Co-Pilot) archive]' \ - '-p[print in format parsable by tools like awk]' \ - '-r[print raw contents of data file]' \ - '-x[output file in XML]' \ - && ret=0 - else - (( i = words[(i)--] - 1, CURRENT -= i )) - shift i words - _sar && ret=0 - fi - return ret -} - -_sar() { - _arguments -s : \ - '-A[equivalent to -bBdFHqrRSuvwWy -I SUM -I XALL -m ALL -n ALL -r ALL -u ALL -P ALL]' \ - '-B[report paging statistics]' \ - '-b[report I/O and transfer rate statistics]' \ - '-C[display comments from sadc]' \ - '-D[use saYYYYMMDD instead of saDD as the standard system activity daily data file name]' \ - '-d[report activity for each block device]' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ - '-e[set ending time of report]:ending time (HH\:MM\:SS)' \ - '-F[display statistics for mounted filesystems]' \ - '-f[extract records from file]:record:_files' \ - '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ - '-H[report hugepages utilization]' \ - '(--human -p)-h[make output easier to read: implies --human and -p]' \ - '(- 1 2)--help[display usage information]' \ - '--human[print sizes in human readable format]' \ - '*-I[report statistics for interrupts]: : _values -s "," interrupt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SUM ALL XALL' \ - '-i[select records as close as possible to interval]:interval' \ - '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ - '-j[display persistent device names]:type:(ID LABEL PATH UUID)' \ - '-m[report power management statistics]:keyword:_sequence compadd - CPU FAN FREQ IN TEMP USB ALL' \ - '-n[report network statistics]:keyword:_sequence compadd - DEV EDEV NFS NFSD SOCK IP EIP ICMP EICMP TCP ETCP UDP SOCK6 IP6 EIP6 ICMP6 EICMP6 UDP6 FC SOFT ALL' \ - '-o[save readings to file in binary form]:file:_files' \ - '-P[report per-processor statistics]:processor: _values -s "," processors ALL' \ - '-p[pretty-print device names]' \ - '-q[report queue length and load averages]::keyword:(CPU IO LOAD MEM PSI ALL)' \ - '-R[report memory statistics]' \ - '-r[report memory utilization statistics]:: :(ALL)' \ - '-S[report swap space utilization]' \ - '-s[set starting time of report]:start time (HH\:MM\:SS)' \ - '--sadc[print name of data collector]' \ - '-t[display timestamps in original local time of file creator]' \ - '-u[report CPU utilization]:: :(ALL)' \ - '(- 1 2)-V[display version information]' \ - '-v[report status of kernel tables]' \ - '-W[report swapping statistics]' \ - '-w[report task creation and system switching activity]' \ - '-y[report TTY device activity]' \ - '-z[omit output for any devices lacking activity during sample period]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_pidstat() { - _arguments -s : \ - '-C[filter tasks by string]:task filter' \ - '-d[report I/O statistics]' \ - '-e[execute specified program and monitor it with pidstat]:*::command: _normal' \ - '-H[display timestamp in seconds since the epoch]' \ - '-h[display horizontally]' \ - '-I[divide CPU usage by number of processors]' \ - '-l[display process name along with arguments]' \ - '*-p[select pid]:pid: _sequence _pids' \ - '-R[report realtime priority and scheduling policy information]' \ - '-r[report page faults and memory]' \ - '-s[report stack utilization]' \ - '-T[specifies what to monitor]:type:(TASK CHILD ALL)' \ - '-t[display statistics for threads]' \ - '-U[display real username of tasks]::username:_users' \ - '-u[report cpu utilization]' \ - '(- 1 2)-V[display version information]' \ - '-v[display values from kernel table]' \ - '-w[report task switching activity]' \ - '-G[include only processes with specified name]:process name' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '--human[print sizes in human readable format]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_sysstat() { - local ret - _call_function ret _$service && return ret -} - -_sysstat "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_systat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_systat deleted file mode 100644 index 03df0763..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_systat +++ /dev/null @@ -1,92 +0,0 @@ -#compdef systat - -local -a screens opts -local pre -case $OSTYPE in - freebsd*) - pre=- - screens=( - 'pigs:processes consuming the most CPU time' - 'sctp:SCTP statistics' - icmp{6,}':ICMP statistics' - ip{6,}':IP and UDP statistics' - 'tcp:TCP statistics' - 'iostat:processor and disk statistics' - 'swap:swap space statistics' - 'vmstat:virtual memory statistics' - 'netstat:network connection statistics' - 'ifstat:network traffic statistics' - 'zarc:display arc cache usage' - ) - ;; - openbsd*) - screens=( - 'buckets:kernel malloc(9) bucket statistics' - 'cpu:per CPU, usage statistics' - 'ifstat:interface statistics' - 'iostat:disk throughput statistics' - 'malloc:malloc(9) type statistics' - 'mbufs:mbuf usage statistics' - 'netstat:network connection statistics' - 'nfsclient:NFS client statistics' - 'nfsserver:NFS server statistics' - 'pf:pf(4) filter statistics' - 'pigs:processes consuming the most CPU time' - 'pool:pool(9) statistics' - 'queues:pf(4) queue statistics' - 'rules:pf(4) rule statistics' - 'sensors:display hardware sensors values' - 'states:pf(4) states statistics' - 'swap:swap space usage' - 'vmstat:virtual memory statistics' - ) - opts=( - '-a[display all lines]' - '-B[raw, non-interactive mode (two screen updates)]' - '-b[raw, non-interactive mode (one screen update)]' - '-d[exit after `count'\'' updates]:count' - '-h[human readable output]' - '-i[interactive mode]' - '-N[resolve network addresses to names]' - '-n[do not resolve network addresses to names]' - '-s[screen refresh interval]:refresh interval (seconds)' - '-w[maximum width of output in raw mode]:width' - ) - ;; - netbsd*) - screens=( - 'all:cycle through all displays' - 'bufcache:filesystem buffer statistics' - 'df:disk usage statistics' - 'inet.icmp:ICMP statistics' - 'inet.ip:IPv4 and UDP statistics' - 'inet.tcp:TCP statistics' - 'inet.tcpsyn:TCP ``syncache'\'\'' statistics' - 'inet6.ip6:IPv6 statistics' - 'iostat:disk throughput statistics' - 'mbufs:mbuf usage statistics' - 'netstat:network connection statistics' - 'pigs:processes consuming the most CPU time' - 'ps:``ps -aux'\'\'' in a loop' - 'swap:swap space usage' - 'syscall:per system call statistics' - 'vmstat:virtual memory statistics' - ) - opts=( - '-M[alternative source to extract values from]:core:_files' - '-N[alternative source to extract the name list from]:system:_files' - '(-t -w)-b[show the chosen display once and exit]' - "-n[don't resolve IP addresses]" - '(-b)-w[refresh interval]:refresh interval' - "(-b)-t[specify amount of refreshes for each screen in 'all' display mode]:turns" - ) -esac - -if (( $#screens )); then - _arguments -M 'r:|.=* r:|=*' : $opts \ - '1:systat(1) display:(( ${pre}$^screens ))' \ - '2:refresh interval' - return -fi - -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_system_profiler b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_system_profiler deleted file mode 100644 index fe197579..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_system_profiler +++ /dev/null @@ -1,20 +0,0 @@ -#compdef system_profiler - -typeset -A opt_args -local context state state_descr line -local -a _data_types - -# TODO: Should this be static? Calling `system_profiler -listDataTypes` takes -# about 0.07-0.08 secs on my machine. Does this list ever change (between -# different versions of OS X)? -_data_types=( SP{AirPort,Applications,Audio,Bluetooth,Camera,CardReader,Component,ConfigurationProfile,DeveloperTools,Diagnostics,DisabledSoftware,DiscBurning,Displays,Ethernet,Extensions,FibreChannel,FireWire,Firewall,Fonts,Frameworks,Hardware,HardwareRAID,InstallHistory,Logs,ManagedClient,Memory,Network,NetworkLocation,NetworkVolume,PCI,ParallelATA,ParallelSCSI,Power,PrefPane,Printers,PrintersSoftware,SAS,SPI,SerialATA,Software,StartupItem,Storage,SyncServices,Thunderbolt,USB,UniversalAccess,WWAN}DataType ) -# the dynamic alternative is: -#_data_types=( ${${(f)"$(_call_program path system_profiler -listDataTypes 2>/dev/null)"}[2,-1]} ) - -_arguments \ - '(- *)-usage' \ - '(- *)-listDataTypes[lists the available datatypes]' \ - '(-listDataTypes -usage)-xml[generate xml output]' \ - '(-listDataTypes -usage)-detailLevel[level of detail for the report]:detail level:(mini basic full)' \ - '(-listDataTypes -usage)-timeout+[maximum time to wait in seconds]' \ - '(-listDataTypes -usage)*:data type:'"($_data_types)" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysupgrade b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysupgrade deleted file mode 100644 index b1144b0d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_sysupgrade +++ /dev/null @@ -1,9 +0,0 @@ -#compdef sysupgrade - -_arguments -s -S -A '-*' : \ - '-f[force an already applied upgrade]' \ - '-k[keep the downloaded files]' \ - '-n[do not reboot]' \ - '(-s)-r[upgrade to the next release]' \ - '(-r)-s[upgrade to a snapshot]' \ - ':installurl:' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tac b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tac deleted file mode 100644 index 083fce91..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tac +++ /dev/null @@ -1,15 +0,0 @@ -#compdef tac gtac - -# NetBSD (at least) has its own bare-bones version of this tool -_pick_variant gnu='Free Soft' unix --version || { - _default - return -} - -_arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '(-b --before)'{-b,--before}'[attach separator before instead of after]' \ - '(-r --regex)'{-r,--regex}'[treat separator as regular expression (with -s)]' \ - '(-s --separator)'{-s+,--separator=}'[use specified separator instead of newline]:separator' \ - '*: :_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tags deleted file mode 100644 index 63087e20..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tags +++ /dev/null @@ -1,67 +0,0 @@ -#autoload - -local prev - -# A `--' as the first argument says that we should tell comptags to use -# the preceding function nesting level. This is only documented here because -# if everything goes well, users won't have to worry about it and should -# not mess with it. - -if [[ "$1" = -- ]]; then - prev=- - shift -fi - -if (( $# )); then - - # We have arguments: the tags supported in this context. - - local curcontext="$curcontext" order tag nodef tmp - - if [[ "$1" = -C?* ]]; then - curcontext="${curcontext%:*}:${1[3,-1]}" - shift - elif [[ "$1" = -C ]]; then - curcontext="${curcontext%:*}:${2}" - shift 2 - fi - - [[ "$1" = -(|-) ]] && shift - - zstyle -a ":completion:${curcontext}:" group-order order && - compgroups "$order[@]" - - # Set and remember offered tags. - - comptags "-i$prev" "$curcontext" "$@" - - # Sort the tags. - - if [[ -n "$_sort_tags" ]]; then - "$_sort_tags" "$@" - else - zstyle -a ":completion:${curcontext}:" tag-order order || - (( ! ${@[(I)options]} )) || - order=('(|*-)argument-* (|*-)option[-+]* values' options) - - for tag in $order; do - case $tag in - -) nodef=yes;; - \!*) comptry "${(@)argv:#(${(j:|:)~${=~tag[2,-1]}})}";; - ?*) comptry -m "$tag";; - esac - done - - [[ -z "$nodef" ]] && comptry "$@" - fi - - # Return non-zero if at least one set of tags should be used. - - comptags "-T$prev" - - return -fi - -# The other mode: switch to the next set of tags. - -comptags "-N$prev" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tail deleted file mode 100644 index e54a0b06..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tail +++ /dev/null @@ -1,66 +0,0 @@ -#compdef tail gtail - -local curcontext=$curcontext state state_descr line opts args ret=1 -typeset -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-n --lines -c --bytes)'{-c+,--bytes=}'[print the last specified bytes; with +, start at the specified byte]:number of bytes:->number' - '(-n --lines -c --bytes)'{-n+,--lines=}'[print the last specified lines; with +, start at the specified line]:number of lines:->number' - '(-F -f)--follow=-[output appended data as the file grows]::how:(name descriptor)' - '(-F --follow)-f[same as --follow=descriptor]' - '(-f --follow --retry)-F[same as --follow=name --retry]' - '--max-unchanged-stats=[with --follow=name, check file rename after the specified number of iterations]:number of iterations' - '(-s --sleep-interval)'{-s+,--sleep-interval=}'[with -f, sleep the specified seconds between iterations]:seconds' - '--pid=[with -f, terminate after the specified process dies]:pid:_pids' - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[never output headers giving file names]' - '(-q --quiet --silent -v --verbose)'{-v,--verbose}'[always output headers giving file names]' - '--retry[keep trying to open a file even when it becomes inaccessible]' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) -else - opts=(-A '-*') - args=( - '(-b -n)-c+[start at the specified byte]:bytes relative to the end (with +, beginning) of file' - '(-b -c)-n+[start at the specified line]:lines relative to the end (with +, beginning) of file' - '(-F -r)-f[wait for new data to be appended to the file]' - ) - case $OSTYPE in - (freebsd*|darwin*|dragonfly*|netbsd*|openbsd*|solaris*) - args+=( - '(-f -F)-r[display the file in reverse order]' - ) - ;| - (freebsd*|darwin*|dragonfly*|netbsd*|openbsd*) - args+=( - '(-c -n)-b+[start at the specified block (512-byte)]:blocks relative to the end (with +, beginning) of file' - ) - ;| - (freebsd*|darwin*|dragonfly*|netbsd*) - args+=( - '(-f -r)-F[implies -f, but also detect file rename]' - '(-v)-q[never output headers giving file names]' - ) - ;| - (dragonfly*|netbsd*) - args+=( '(-q)-v[always output headers giving file names]' ) - ;; - esac -fi - -_arguments -C -s -S $opts : $args '*:file:_files' && return - -case $state in - (number) - local alts - [[ -z $PREFIX ]] && alts=( - 'sign:sign:((-\:"print all but the last specified bytes/lines" +\:"print the first specified bytes/lines (default)"))' - ) - compset -P '+' - alts+=( 'numbers: :_numbers -N $state_descr b\:512 K\:1024 KB\:1000 M\:1024\^2 MB\:1000\^2 G\:1024\^3 GB\:1000\^3 T\:1024\^4 TB\:1000\^4' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar deleted file mode 100644 index f9901c0c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar +++ /dev/null @@ -1,192 +0,0 @@ -#compdef tar gtar star bsdtar - -# Tar completion. Features: -# - Tries to collect tar commands from second position, single letter -# option, and long options. -# - `tar' can be called anything, will use the correct name -# - Uses the function `_tar_archive' to complete archive files. -# - Tries to find out if compressed archives should be used. -# - Completes files inside archive. This is supposed to look pretty -# much as if the files are in an ordinary directory hierarchy. -# Handles extraction from compressed archives (GNU tar). -# - Anywhere -- appears, gets a list of long options to complete from -# tar itself (GNU tar) -# - Things like --directory=... are also completed correctly. - -local _tar_cmd tf tmp tmpb del index - -# First we collect in `_tar_cmd' single letter options describing what -# should be done with the archive and if it is compressed. This -# collected from options arguments that start with only one hyphen, -# from some of the possible long options, and from the second word if -# that does not start with a hyphen. - -if _pick_variant gnu=GNU libarchive=libarchive unix --version; then - case "$($service --version)" in - ("tar (GNU tar) "(#b)([0-9.-]##)*) - autoload -z is-at-least - is-at-least 1.14.91 "$match[1]" || _cmd_variant[$service]="gnu-old" - ;; - esac -fi - -tmp=("${(@M)words:#-[^-]*}") -_tar_cmd="${(j::)tmp#-}" - -(( $words[(I)--(un|)gzip] )) && _tar_cmd="z$_tar_cmd" -(( $words[(I)--(un|)compress] )) && _tar_cmd="Z$_tar_cmd" -(( $words[(I)--bzip2] )) && _tar_cmd="j$_tar_cmd" -(( $words[(I)--xz] )) && _tar_cmd="J$_tar_cmd" -(( $words[(I)--list] )) && _tar_cmd="t$_tar_cmd" -(( $words[(I)--(extract|get)] )) && _tar_cmd="x$_tar_cmd" -(( $words[(I)--create] )) && _tar_cmd="c$_tar_cmd" - -# Other ways of finding out what we're doing: first -# look in the first argument if it's not an option -if [[ "$words[2]" = *[txcdruA]*~-* ]]; then - _tar_cmd="$words[2]$_tar_cmd" -elif [[ $_tar_cmd != *[txcdruA]* && CURRENT -gt 2 ]]; then - # look for more obscure long options: these aren't all handled. - (( $words[(I)--(diff|compare)] )) && _tar_cmd="d$_tar_cmd" - (( $words[(I)--append] )) && _tar_cmd="r$_tar_cmd" - (( $words[(I)--update] )) && _tar_cmd="u$_tar_cmd" - (( $words[(I)--(con|)catenate] )) && _tar_cmd="A$_tar_cmd" - (( $words[(I)--delete] )) && del=1 -fi - -# Next, we try to find the archive name and store it in `tf'. The name -# is searched after a `--file=' long option, in the third word if the -# second one didn't start with a hyphen but contained a `f', and after -# an option argument starting with only one hyphen and containing a `f'. -# unless that option argument also contains a `C'. - -tmp="$words[(I)--file=*]" -tmpb="$words[(I)-*Cf*~--*]" - -if (( tmp )); then - tf=${~words[tmp][8,-1]} - _tar_cmd="f$_tar_cmd" -elif [[ "$words[2]" != -* && "$words[2]" = *f* ]]; then - tf=${~words[3]} - _tar_cmd="f$_tar_cmd" -elif (( tmpb )); then - tf=${~words[tmpb+2]} - wdir=${~words[tmpb+1]} - _tar_cmd="Cf$_tar_cmd" -else - tmp="${words[(I)-*f*~--*]}" - if (( tmp )); then - tf=${~words[tmp+1]} - _tar_cmd="f$_tar_cmd" - fi -fi 2>/dev/null - -# See if we should use a path prefix. We have to use eval as the dir can -# be any unevaluated thing which appears on the command line, including a -# parameter. - -# This isn't used right now. - -tmp=${words[(r)--dir[a-z]#=*]} - -if [[ -n $tmp ]]; then - eval "wdir=(${tmp#*=})" -fi - -# Now we complete... - -if [[ "$PREFIX" = --* ]]; then - - # ...long options after `--'. - - _arguments '-f+:' '-C+:' '*: : true' -- -l '--owner=*:user:_users' \ - '--group=*:group:_groups' \ - '--atime-preserve*::method:(replace system)' \ - '--*-script=NAME:script file:_files' \ - '--format=*:format:(gnu oldgnu pax posix ustar v7)' \ - '--quoting-style=*:quoting style:(literal shell shell-always c c-maybe escape locale clocale)' \ - '--totals*=SIGNAL*::signal:(HUP QUIT INT USR1 USR2)' \ - '*=(PROG|COMMAND)*:program:_command_names -e' \ - '*=ARCHIVE*:archive: _tar_archive' \ - '*=FILE*:file:_files' \ - '*=DIR*:directory:_files -/' \ - '*=CONTROL*::version control:(t numbered nil existing never simple)' - -elif [[ ( CURRENT -gt 2 && "$words[CURRENT-1]" = -[^C]#f* && - "$words[CURRENT-1]" != --* ) || - ( CURRENT -eq 3 && "$words[2]" = [^C]#f* && "$words[2]" != -* ) || - ( CURRENT -gt 2 && "$words[CURRENT-2]" = -*C*f* && - "$words[CURRENT-2]" != --* && "$words[CURRENT-1]" != --* ) || - ( CURRENT -eq 4 && "$words[2]" = *C*f* && "$words[2]" != -* ) ]]; then - - # ...archive files if we think they are wanted here. - - _tar_archive - -elif [[ ( CURRENT -gt 2 && "$words[CURRENT-1]" = -[^f]#C*) || - ( CURRENT -eq 3 && "$words[2]" = [^f]#C* ) ]]; then - - # a directory for -C - - _directories - -elif [[ ( "$_tar_cmd" = *[xt]* || -n $del ) && -n "$tf" ]]; then - - # ...and files from the archive if we found an archive name and tar - # commands. We run `tar t...' on the file, keeping the list of - # filenames cached, plus the name of the tarfile so we know if it - # changes. We skip this test if the alleged archive is not a file. - - local largs=-tf expl - - if [[ $_tar_cmd = *z* ]]; then - largs=-tzf - elif [[ $_tar_cmd = *j* ]]; then - largs=-tjf - elif [[ $_tar_cmd = *y* ]]; then - largs=-tyf - elif [[ $_tar_cmd = *Z* ]]; then - largs=-tZf - elif [[ $_tar_cmd = *I* ]]; then - largs=-tIf - elif [[ $_tar_cmd = *J* ]]; then - largs=-tJf - else - # Some random compression program - tmp="${words[(r)--use-comp*]}" - [[ -n $tmp ]] && largs=($tmp -tf) - fi - - if [[ $tf != $_tar_cache_name && -f $tf ]]; then - _tar_cache_list=("${(@f)$($words[1] $largs $tf)}") - _tar_cache_name=$tf - fi - - _wanted files expl 'file from archive' _multi_parts / _tar_cache_list -elif (( CURRENT == 2 )); then - # ignore leading - since we complete option letters anyway - compset -P - - _values -s '' 'tar function' \ - '(c t u x)A[append to an archive]' \ - '(A t u x)c[create a new archive]' \ - '(A c u x)t[list archive contents]' \ - '(A c t x)u[update archive]' \ - '(A c t u)x[extract files from an archive]' \ - 'v[verbose output]' \ - 'f[specify archive file or device]' -else - if ! (( index=$words[(I)-*C*] )); then - if [[ $words[2] = [^f]#C* ]]; then - index=1 - elif [[ $words[2] = *f*C* ]]; then - index=2 - fi - fi - if (( index )); then - index=${~${(Q)words[index+1]}} - [[ $index = (.|..|)/* ]] || index=~+/$index - _files -W $index - else - _files - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar_archive b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar_archive deleted file mode 100644 index bc49c4a3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tar_archive +++ /dev/null @@ -1,32 +0,0 @@ -#autoload - -# This is used to generate filenames usable as a tar archive. This may -# get one argument, a collection of tar option characters that may be -# used to find out what kind of filename is needed. If no argument is -# given but the parameter `_tar_cmd' is set, that is used. -# If your version of `tar' supports this you may want to complete -# things like `host:file' or `user@host:file' here. - -local expl - -[[ $# -eq 0 && $+_tar_cmd -ne 0 ]] && set "$_tar_cmd" - -_description files expl 'archive file' - -if [[ "$1" = *[urtx]* ]]; then - if [[ "$1" = *[zZ]* ]]; then - _files "$expl[@]" -g '*.((tar|TAR).(gz|GZ|Z)|tgz)(-.)' - elif [[ "$1" = *[Ijy]* ]]; then - _files "$expl[@]" -g '*.(tar|TAR).bz2(-.)' - elif [[ "$1" = *J* ]]; then - _files "$expl[@]" -g '*.(tar|TAR).(lzma|xz)(-.)' - elif [[ "$_cmd_variant[$service]" == gnu ]]; then - _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|taz|taZ|tz2|tbz2|tlz))(-.)' - elif [[ "$_cmd_variant[$service]" == libarchive ]]; then - _files "$expl[@]" -g '*.((tar|TAR|cpio)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|tzo|taz|tbz2|tz2|tlz|tZ|7z|ar|iso|deb|cab|lha|mtree|rar|warc|xar|zip))(-.)' - else - _files "$expl[@]" -g '*.(tar|TAR)(-.)' - fi -else - _files "$expl[@]" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tardy b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tardy deleted file mode 100644 index a843968c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tardy +++ /dev/null @@ -1,30 +0,0 @@ -#compdef tardy - -_arguments \ - '-Block_Size:number:' \ - '-Clean_Meta' \ - '-Clean_Print' \ - '-Clean_Space' \ - '-Clean' \ - '-DownCase' \ - '-Group:group:_groups' \ - '-Group_NAme:group:_groups' \ - '-Group_NUmber:group:_groups' \ - '-Help' \ - '-Input_ForMaT:input format:(tar list)' \ - '-List' \ - '-No_Directories' \ - '-Mode_Clear:bits:' \ - '-Mode_Set:bits:' \ - '-Now' \ - '-Old_Type' \ - '-Output_ForMaT:output format:(ustar tar-bsd cpio cpio-old-ascii v7)' \ - '-Prefix:string:' \ - '-PROgress' \ - '-Remove_Prefix:number or string:' \ - '-UpCase' \ - '-User:user:_users' \ - '-User_NAme:user:_users' \ - '-User_NUmber:user:_users' \ - '-VERSion' \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpdump deleted file mode 100644 index 9aad84d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpdump +++ /dev/null @@ -1,194 +0,0 @@ -#compdef tcpdump - -local args ret=1 -local root -(( EUID )) && root='!' - -_tcpdump_interfaces() { - local disp expl sep interfaces - [[ $OSTYPE != openbsd* ]] && - interfaces=( ${${${${(f)"$(_call_program interfaces tcpdump -D)"}#<->.}//[()]/}/ /:} ) - if (( $#interfaces )); then - _describe -t interfaces 'network interface' interfaces - else - _description interfaces expl 'network interface' - _net_interfaces "$expl[@]" - if zstyle -t ":completion:${curcontext}:interfaces" verbose; then - zstyle -s ":completion:${curcontext}:interfaces" list-separator sep || sep=-- - disp=( "any $sep capture on all interfaces" ) - compadd "$expl[@]" -ld disp any - else - compadd "$expl[@]" any - fi - fi -} - -_esp_secrets () { - if [[ $OSTYPE = openbsd* ]]; then - _values -S : 'ESP algorithm' \ - aes128:secret \ - aes128-hmac96:secret \ - blowfish:secret \ - blowfish-hmac96:secret \ - cast:secret \ - cast-hmac96:secret \ - des3:secret \ - des3-hmac96:secret \ - des:secret \ - des-hmac96:secret - else - _values -S : 'ESP algorithm' \ - 'des-cbc:secret' \ - '3des-cbc:secret' \ - 'blowfish-cbc:secret' \ - 'rc3-cbc:secret' \ - 'cast128-cbc:secret' \ - none - fi -} - -_packet_types () { - local -a types - types=( - 'cnfp:Cisco NetFlow protocol' - 'rpc:Remote Procedure Call' - 'rtp:Real-Time Applications protocol' - 'rtcp:Real-Time Applications control protocol' - 'vat:Visual Audio Tool' - 'wb:distributed White Board' - ) - if [[ $OSTYPE = openbsd* ]]; then - types+=( - 'sack:RFC 2018 TCP Selective Acknowledgements Options' - 'vrrp:Virtual Router Redundancy Protocol' - 'tcp:Transmission Control Protocol' - ) - else - types+=( - 'aodv:Ad-hoc On-demand Distance Vector protocol' - 'carp:Common Address Redundancy Protocol' - 'radius:RADIUS' - 'snmp:Simple Network Management Protocol' - 'tftp:Trivial File Transfer Protocol' - 'vxlan:Virtual eXtensible Local Area Network' - 'zmtpl:ZeroMQ Message Transport Protocol' - ) - fi - _describe -t packet-types 'packet type' types -} - -_time_stamp_types () { - local vals - vals=( ${${${(ps:\n :)"$(_call_program time-stamp-types tcpdump -J ${(kv)opt_args[(i)-i|--interface]} 2>&1)"}[2,-1]:#*cannot be set*}/ /:} ) - _describe -t time-stamp-types "time stamp type" vals -} - -_data_link_types () { - local vals expl - if (( $+opt_args[(i)-i|--interface] )); then - vals=( ${${${(s: :)"$(_call_program data-link-types tcpdump -L ${(kv)opt_args[(i)-i|--interface]} 2>&1)"}[2,-1]}/ /:} ) - _describe -t data-link-types "data link type (${(v)opt_args[(i)-i|--interface]})" vals - else - _wanted data-link-types expl "data link type (general)" \ - compadd EN10MB LINUX_SLL - fi -} - -_bpf_filter () { -} - -args=( - '-A[print each packet in ASCII]' - '-c+[exit after receiving specified number of packets]:number of packets' - '(-ddd)-d[dump the compiled packet-matching code in a human readable form]' - '(-ddd)-dd[dump packet-matching code as a C program fragment]' - '(-d -dd)-ddd[dump packet-matching code as decimal numbers (preceded with a count)]' - "-E[decrypting IPsec ESP packets]:spi@ipaddr::algo\:secret:_esp_secrets" - '-e[print the link-level header on each dump line]' - '-F+[specify input file for the filter expression]:filter expression file:_files' - "-f[print 'foreign' IPv4 addresses numerically]" - '-l[make stdout line buffered]' - "-N[don't print domain name qualification of host names]" - "(-nn)-n[don't convert addresses to names]" - "-O[don't run the packet-matching code optimizer]" - '(-p --no-promiscuous-mode)'{-p,--no-promiscuous-mode}"[don't put the interface into promiscuous mode]" - '-q[quick (quiet?) output]' - '-r+[read packets from file]:input file:_files' - '(-S --absolute-tcp-sequence-numbers)'{-S,--absolute-tcp-sequence-numbers}'[print absolute TCP sequence numbers]' - '-T+[interpret captured packets as specified type]:packet type:_packet_types' - "(-tt -ttt -tttt -ttttt)-t[don't print a timestamp on each dump line]" - '(-t -ttt -tttt -ttttt)-tt[print an unformatted timestamp on each dump line]' - '(-vv -vvv)-v[slightly more verbose output]' - '(-v -vvv)-vv[more verbose output]' - '-w+[write the raw packets to file]:output file:_files' - '-X[print each packet (minus its link level header) in hex and ASCII]' - '-x[print each packet (minus its link level header) in hex]' - '(-y --linktype)'{-y+,--linktype=}'[set the data link type to use while capturing packets]: :_data_link_types' -) - -if [[ $OSTYPE = openbsd* ]]; then - args=( - '-i+[specify interface]:interface:_tcpdump_interfaces' - - listd - '-L[list data link types for the interface]' - - capture - ${(R)args:#(|\*)(|\(*\))--*} # removes any long-options - '(-n)-a[attempt to convert network and broadcast addresses to names]' - '-B+[specify drop action to be used when filter expression matches a packet]:drop action:(pass capture drop)' - '-D[select packet flowing in specified direction]:direction:(in out)' - '-I[print the interface on each dump line]' - '-o[print a guess of the possible operating system(s)]' - '-s+[specify amount of data to snarf from each packet]:length (bytes) [116]' - '(-t -tt -tttt -ttttt)-ttt[print day and month in timestamp]' - '(-t -tt -ttt -ttttt)-tttt[print timestamp difference between packets]' - '(-t -tt -ttt -tttt)-ttttt[print timestamp difference since the first packet]' - ) -else - args=( - '(-i --interface -D --list-interfaces)'{-i+,--interface=}'[specify interface]:interface:_tcpdump_interfaces' - - listt - '(-J --list-time-stamp-types)'{-J,--list-time-stamp-types}'[list supported time stamp types]' - - listd - '(-L --list-data-link-types)'{-L,--list-data-link-types}'[list data link types for the interface]' - - capture - $args - '(-B --buffer-size)'{-B+,--buffer-size=}'[set the operating system capture buffer size]:size (kiB)' - '-b[print the AS number in BGP packets in ASDOT notation]' - '-C+[specify output file size]:output file size (MB)' - '(-)'{-D,--list-interfaces}'[print the list of the network interfaces available on the system]' - '-G+[rotate dump file specified with -w at specified interval]:interval (seconds)' - '-H[attempt to detect 802.11s draft mesh headers]' - '(- *)'{-h,--help}'[display help information]' - '(- *)--version[display version information]' - '(-I --monitor-mode)'{-I,--monitor-mode}'[put the Wi-Fi interface in monitor mode]' - '--immediate-mode[deliver packets to tcpdump as soon as they arrive without buffering]' - '-I[put the interface in monitor mode]' - '(-j --time-stamp-type)'{-j+,--time-stamp-type=}'[set the time stamp type for the capture]: :_time_stamp_types' - '--time-stamp-precision=[set the time stamp precision for the capture]:precision [micro]:(micro nano)' - '(-K --dont-verify-checksums)'{-K,--dont-verify-checksums}"[don't verify IP, TCP, or UDP checksums]" - '*-m+[load SMI MIB module definitions]:SMI MIB module definition:_files' - "(-n)-nn[don't convert protocol and port numbers to names]" - '-M+[specify shared secret for validating the digests in TCP segments with the TCP-MD5 option]:secret' - '(-# --number)'{-\#,--number}'[print an optional packet number at the beginning of the line]' - '(-O --no-optimize)'{-O,--no-optimize}"[don't run the packet-matching code optimizer]" - '(-s --snapshot-length)'{-s+,--snapshot-length=}'[specify amount of data to snarf from each packet]:length (bytes) [65535]' - '(-t -tt -tttt -ttttt)-ttt[print a delta (in micro-seconds) on each line since previous line]' - '(-t -tt -ttt -ttttt)-tttt[print a timestamp in default format preceded by date on each dump line]' - '(-t -tt -ttt -tttt)-ttttt[print a delta (in micro-seconds) on each line since first line]' - '(-U --packet-buffered)'{-U,--packet-buffered}'[make output packet-buffered when saving to file (-w)]' - '-u[print undecoded NFS handles]' - '-V+[read a list of filenames from specified file]:file:_files' - '(-v -vv)-vvv[most verbose output]' - '-W+[limit the number of created files (-C)]:number of files' - '(-X)-XX[print each packet, including its link level header, in hex and ASCII]' - '(-x)-xx[print each packet, including its link level header, in hex]' - "${root}(-Z --relinquish-privileges)"{-Z+,--relinquish-privileges=}'[drop privileges and run as specified user]:user:_users' - '-z+[specify command to run on files (with -C or -G)]:command:_command_names -e' - ) -fi -[[ $OSTYPE = freebsd* ]] && args+=( - '-R[assume ESP/AH packets to be based on old specification (RFC1825 to RFC1829)]' -) - -_arguments -s $args \ - '*::BPF filter:= _bpf_filters' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpsys b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpsys deleted file mode 100644 index 1240ffbf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcpsys +++ /dev/null @@ -1,41 +0,0 @@ -#compdef tcp_open - -local curcontext="$curcontext" state line expl -local -A opt_args -local -a argargs sesslist - -case $service in - (tcp_open) - argargs=( - '(-a -f -l)-s[open session(s)]' - '(-a -f -s)-l[open list of sessions]' - '(-f -s -l)-a[open session for accept on fd]:fd' - '(-a -s -l)-f[open session for accept on fd]:fd' - '-q[quiet mode]' - '-z[no zle handler]' - ) - if [[ -n $words[(R)-(a|f)*] ]]; then - argargs+=(':session:->session') - elif [[ -n $words[(R)-(l|s)*] ]]; then - argargs+=('*:session:->session') - else - argargs+=(':host:_hosts' ':port:_ports' '*:session:->session') - fi - _arguments -C $argargs - ;; -esac - -while (( $#state )); do - case "$state[1]" in - (sessionlist) - compset -P '*,' - ;& - - (session) - sesslist=(${${${(f)"$(<~/.ztcp_sessions)"}:#[[:space:]]#\#*}/ /:}) - _describe -t sessions 'TCP session' sesslist && return - ;; - - esac - shift state -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcptraceroute b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcptraceroute deleted file mode 100644 index 7c03837a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tcptraceroute +++ /dev/null @@ -1,22 +0,0 @@ -#compdef tcptraceroute - -_arguments \ - '-n[no reverse lookups]' \ - '-N[always reverse lookup]' \ - '-f:first ttl:' \ - '-m:maximum ttl:' \ - '-p:local tcp port:_ports' \ - '-s:source address:_hosts' \ - '-i:interface for outgoing packets:_net_interfaces' \ - '-q:number of probes to each hop:' \ - '-w:timeout in seconds:' \ - '-S[set TCP SYN flag]' \ - '-A[set TCP ACK flag]' \ - '-E[send ECN SYN packets]' \ - '-t:IP TOS:' \ - '-F[set IP don'"'"'t fragment bit]' \ - '-l:total packet length:' \ - '-d[enable debugging]' \ - ':destination:_hosts' \ - ':port:_ports' \ - ':length:' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tee b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tee deleted file mode 100644 index 66ef66e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tee +++ /dev/null @@ -1,32 +0,0 @@ -#compdef tee gtee - -local ret=1 -local -a context line state state_descr args -local -A opt_args - -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - '(-a --append)'{-a,--append}'[append to files instead of overwriting]' - '(-i --ignore-interrupts)'{-i,--ignore-interrupts}'[ignore interrupt signals]' - '(--output-error)-p[warn on errors writing to non-pipes]' - '(-p)--output-error=[specify write-error behavior]: :->errmodes' -) - -# Filter out non-GNU options if applicable -_pick_variant gnu='Free Soft' unix --version || -args=( ${(@M)args:#(|*\))-[ai]\[*} ) - -_arguments -s -S : $args '*: :_files' && ret=0 - -[[ $state == errmodes ]] && { - args=( - 'exit[exit on errors writing to any output]' - 'exit-nopipe[exit on errors writing to non-pipes]' - 'warn[warn on errors writing to any output]' - 'warn-nopipe[warn on errors writing to non-pipes]' - ) - _values 'error mode' $args && ret=0 -} - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_telnet b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_telnet deleted file mode 100644 index 1674eedd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_telnet +++ /dev/null @@ -1,91 +0,0 @@ -#compdef telnet - -# Parameter used: -# -# telnet_hosts_ports_users -# The array that contains 3-tuples `host:port:user'. - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -if (( ! $+_telnet_args )); then - local help="$(_call_program options 'telnet -\?' < /dev/null 2>&1)" - local -A optionmap - optionmap=( - '*\[-4\]*' '-4[force IPv4 address resolution]' - '*\[-6\]*' '-6[force IPv6 address resolution]' - '*\[-8\]*' '-8[allow 8-Bit data]' - '*\[-E\]*' '-E[disable an escape character]' - '*\[-K\]*' '-K[no automatic login]' - '*\[-L\]*' '-L[allow 8-Bit data on output]' - '*\[-N\]*' '-N[suppress reverse lookup]' - '*\[-S tos\]*' '-S+:IP type-of-service:' - '*\[-X atype\]*' '-X+:authentication type to disable:' - '*\[-a\]*' '-a[attempt automatic login]' - '*\[-c\]*' '-c[disable .telnetrc]' - '*\[-d\]*' '-d[debug mode]' - '*\[-e char\]*' '-e+[specify escape character]:escape character:' - '*\[-f/*' '-f' - '*/-F\]*' '-F' - '*\[-k realm\]*' '-k+:realm:' - '*\[-l user\]*' '-l+[specify user]:user:->users' - '*\[-n tracefile\]*' '-n+[specify tracefile]:tracefile:_files' - '*\[-r\]*' '-r[rlogin like user interface]' - '*\[-s src_addr\]*' '-s+[set source IP address]:src_addr:' - '*\[ -b addr \]*' '-b+[set source IP address]:src_addr:' - '*\[-x\]*' '-x' - '*\[-t transcom\]*' '-t+:transcom:' - '*\[-noasynch\]*' '-noasynch' - '*\[-noasyncnet\]*' '-noasyncnet' - '*\[-noasynctty\]*' '-noasynctty' - '*\[-z ssl\]*' '*-z[SSL parameters]:SSL parameter:->ssl' - ) - _telnet_args=($optionmap[(K)"$help"]) - (( $#_telnet_args )) || _telnet_args=( '-l+[specify user]:user:->users' ) -fi - -_arguments -C -s \ - "$_telnet_args[@]" \ - ':host:->hosts' \ - ':port:->ports' && ret=0 - -case "$state" in -ssl) - _values -w 'SSL parameter' \ - 'debug[send SSL debugging info to stderr]' \ - '(nossl)ssl[negotiate SSL connection]' \ - '(ssl)nossl[switch off SSL negotiation]' \ - 'certrequired[require server certificate]' \ - 'secure[no fallback to unencrypted mode]' \ - 'verbose[be verbose about certificates, etc.]' \ - 'verify[set SSL verify flags]:int' \ - 'cert[specify certificate file]:certificate file:_path_files' \ - 'key[specify key file]:key file:_path_files' \ - 'cipher[set preferred cipher list]:cipher' && ret=0 - ;; - -hosts) - _wanted hosts expl host \ - _combination -s '[@:]' '' users-hosts-ports \ - ${opt_args[-l]:+users=${opt_args[-l]:q}} \ - hosts - && ret=0 - ;; - -ports) - _wanted ports expl port \ - _combination -s '[@:]' '' users-hosts-ports \ - ${opt_args[-l]:+users=${opt_args[-l]:q}} \ - hosts="${line[1]:q}" \ - ports - && ret=0 - ;; - -users) - _wanted users expl user \ - _combination -s '[@:]' '' users-hosts-ports \ - ${line[2]:+hosts="${line[2]:q}"} \ - ${line[3]:+ports="${line[3]:q}"} \ - users - && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_terminals b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_terminals deleted file mode 100644 index 04ece116..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_terminals +++ /dev/null @@ -1,8 +0,0 @@ -#compdef infocmp -value-,TERM,-default- - -local desc expl - -desc=( $TERMINFO ~/.terminfo $TERMINFO_DIRS /usr/{,share/}{,lib/}terminfo /{etc,lib}/terminfo ) - -_wanted terminals expl 'terminal name' \ - compadd "$@" - $desc/*/*(N:t) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tex b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tex deleted file mode 100644 index f1428c49..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tex +++ /dev/null @@ -1,29 +0,0 @@ -#compdef tex latex slitex pdftex pdflatex jadetex pdfjadetex xetex=tex xelatex=latex latexmk - -_arguments : \ - '-enc[enable encTeX extensions]' \ - '(-no-file-line-error -file-line-error)'{-no,}'-file-line-error[enable/disable file\:line\:error style messages]' \ - '-fmt=-[use FMTNAME instead of program name or a %& line]:FMTNAME:' \ - '-halt-on-error[stop processing at the first error]' \ - '-ini[be initex, for dumping formats]' \ - '-interaction[set interaction mode]:STRING:(batchmode nonstopmode scrollmode errorstopmode)' \ - '-ipc[send DVI output to a socket as well as the usual output file]' \ - '-ipc-start[as -ipc, and also start the server at the other end]' \ - '-jobname=-[set the job name]:STRING:' \ - '-kpathsea-debug=-[set path searching debugging flags according to the bits of NUMBER]:NUMBER:' \ - '(-no-mktex -mktex)'{-no,}'-mktex=-[enable/disable mktexFMT generation]:FMT:(tex tfm)' \ - '-mltex[enable MLTeX extensions]' \ - '-output-comment=-[DVI file comment]:STRING:' \ - '-output-directory=-[directory to write files to]:DIR:' \ - '(-no-parse-first-line -parse-first-line)'{-no,}'-parse-first-line[disable/enable parsing of the first line of the input file]' \ - '-progname=-[set program (and fmt) name]:STRING:' \ - '-recorder[enable filename recorder]' \ - '(-no-shell-escape -shell-escape)'{-no,}-shell-escape'[enable/disable \\write18{SHELL COMMAND}]' \ - '-shell-restricted[enable restricted \\write18]' \ - '-src-specials[insert source specials into the DVI file]' \ - '-src-specials=-[insert source specials in certain places of the DVI file]:WHERE:_values -s , WHERE cr display hbox math par parend vbox' \ - '-translate-file=-[use the TCX file TCXNAME]:TCXNAME:' \ - '-8bit[make all characters printable by default]' \ - '-help[display this help and exit]' \ - '-version[output version information and exit]' \ - '*:TeX or LaTeX file:_files -g "*.(tex|TEX|texinfo|texi|dtx)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texi deleted file mode 100644 index 10ccfa28..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texi +++ /dev/null @@ -1,6 +0,0 @@ -#compdef -P (texi(2*|ndex)) - -local expl - -_description files expl 'texinfo file' -_files "$@" "$expl[@]" -g '*.(texinfo|texi)(-.)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texinfo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texinfo deleted file mode 100644 index 2f5d0f91..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_texinfo +++ /dev/null @@ -1,330 +0,0 @@ -#compdef info tkinfo pinfo install-info makeinfo texi2any texi2dvi pdftexi2dvi texi2pdf texindex - -_info_nodes_caching_policy() { - local dir oldp - for dir in $^infopath/usr/share/info}/dir(.N); do - # rebuild if any dir file is newer than cache - [[ $dir -nt $1 ]] && return - done - # and if we didn't find a dir file, rebuild if cache older than a month - if [[ -z $dir ]]; then - oldp=( "$1"(mM+1) ) - (( $#oldp )) && return - fi - return 1 -} - -_info_retrieve_nodes() { - # expects $cmd, $hash and $infopath to be set - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy \ - _info_nodes_caching_policy - fi - - if _cache_invalid info-nodes-$hash || ! _retrieve_cache info-nodes-$hash; then - set -A _cache_info_nodes_$hash \ - ${${${${(f)"$(INFOPATH="${(j.:.)infopath}" _call_program info-nodes $cmd -k '')"}%%\" --*}#??}/\)/:} - _store_cache info-nodes-$hash _cache_info_nodes_$hash - fi -} - -local curcontext="$curcontext" state line cmd ret=1 -local -A opt_args infodirs - -case $service in - info) - cmd=${words[1]} - _arguments -C -s -S \ - '(-a --all)'{-a,--all}'[use all matching manuals]' \ - '(: -)'{-k+,--apropos=}'[look up string in indices]:search string: ' \ - \*{-d+,--directory=}'[add directory to infopath]:info dir:_files -/' \ - '--dribble=[record keystrokes]:file with keystrokes:_files' \ - '(-f --file 1)'{-f+,--file=}'[specify Info manual to visit]:info manual:->infofiles+' \ - '(: - -h --help)'{-h,--help}'[display usage]' \ - '(-o --output -O)--index-search=[search for matching index entry]:search string:->index-entries' \ - '(--index-search -o --output -O)'{-o+,--output=}'[dump selected nodes to filename]:filename:_files -g "*(-.)"' \ - '--init-file=[specify initialisation file]:file:_files' \ - '(-n --node)'{-n+,--node=}'[specify nodes in first visited Info file]:node:->nodes' \ - '--no-raw-escapes[output escapes as literal text]' \ - '--restore=[read keystrokes from file]:filename:_files -g "*(-.)"' \ - '(--index-search -o --output -O --show-options --usage)'{-O,--show-options,--usage}'[go to command-line options node]' \ - '--strict-node-location[(for debugging) use Info file pointers as-is]' \ - '--subnodes[recursively output menu items]' \ - \*{-v,--variable}'[assign to Info variable]:variable' \ - '--vi-keys[use Vi-like key bindings]' \ - '(: -)--version[display version information]' \ - '(-w --where --location)'{-w,--where,--location}'[print physical location of Info file]' \ - '(-x --debug)'{-x+,--debug=}'[set debugging level]:number' \ - '1:menu item:->infomanuals' \ - '2:node:->nodes' && ret=0 - - infodirs=( "${(@Qkv)opt_args[(I)(-d|--directory)]}" ) - ;; - install-info) - if _pick_variant debian=Debian gnu --version; then - _arguments -S \ - '(* -)--help[display help information]' \ - '(* -)--version[display version information]' \ - '(--maxwidth --align --calign)--remove[delete existing entries]' \ - '(--maxwidth --align --calign)--remove-exactly[delete existing entries taking exact entry name]' \ - '--section[specify section to add entry in]:regexp::title' \ - '--infodir=[specify directory containing dir file]:info directory:_files -/' \ - '--align=[specify minimum indentation for description]:indentation' \ - '--calign=[specify minimum indentation for continuation lines of description]:indentation' \ - '--maxwidth=[specify maximum width of dir file]:width' \ - '--quiet[suppress informational output]' \ - '--description=[specify description for menu entry]:description' \ - '--menuentry=[specify the menu entry for dir file]:menu entry' \ - '--keep-old=[inhibit replacement of existing entries/removal of empty sections]' \ - "--test[don't update dir file]" \ - '--debug[enable debugging]' \ - '*:info file:_files -g "*.info(-.)"' - return - else - _arguments \ - '--add-once[add only to first matching section]' \ - '--align=[specify minimum indentation for description]:indentation' \ - '--calign=[specify minimum indentation for continuation lines of description]:indentation' \ - '--debug[report what is being done]' \ - '(--delete --remove)'{--delete,--remove}'[delete existing entries]' \ - '--description=[specify description for menu entry]:description' \ - '(2)--dir-file=[specify dir file]:dir file:_files -g "dir(-.)"' \ - '(--test --dry-run)'{--dry-run,--test}"[don't update dir file]" \ - \*{--entry,--item}'[specify directory entry to add]:text' \ - '--defsection=[like --section, but only use text if no sections present in info file]:text' \ - {--maxwidth,--max-width}'=[specify maximum width of dir file]:width' \ - '(- 1 2)--help[display help information]' \ - '(1)--info-file=[specify info file to install in the directory]:info file:_files -g "*.info(-.)"' \ - '(2)--info-dir=[specify directory containing dir file]:info directory:_files -/' \ - '--keep-old=[inhibit replacement of existing entries/removal of empty sections]' \ - '(--name --menuentry)'{--name,--menuentry}'=[specify the menu entry for dir file]:menu entry' \ - "--no-indent[don't format new entries in the DIR file]" \ - '--quiet[suppress warnings]' \ - '--regex=[specify sections for file entries using a regex]:regex' \ - '--remove-exactly[delete existing entries taking exact entry name]' \ - '(--delete --remove)--section=[put new entries in specified section]:section' \ - '--silent[no output except errors]' \ - '(- 1 2)--version[display version information]' \ - '1:info file:_files -g "*.info(-.)"' \ - '2:dir file:_files -g "dir(-.)"' - return - fi - ;; - makeinfo|texi2any) - _arguments -s \ - '--error-limit=[specify number of errors to quit after]:number [100]' \ - '--document-language=[specify locale to use in translating Texinfo keywords]:locale [C]:_locales' \ - '--force[preserve output even if errors]' \ - '(* -)--help[display help]' \ - '--no-validate[suppress node cross-reference validation]' \ - '--no-warn[suppress warnings]' \ - '--conf-dir=[specify additional directory for configuration files]:directory:_directories' \ - '--init-file=[specify initialisation file]:file:_files' \ - \*{-c+,--set-customization-variable=}'[set customization variable]:variable' \ - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \ - '(* -)--version[display version info]' \ - '(--html --xml --plaintext)--docbook[output in DocBook XML format]' \ - '(--docbook --xml --plaintext)--html[output in HTML format]' \ - '--no-headers[suppress node separators and menus]' \ - '(--docbook --html --plaintext)--xml[output in XML (TexinfoML) format]' \ - '(--docbook --html --xml)--plaintext[output in plain text format]' \ - '--dvi[output in dvi format]' \ - '--dvipdf[output in pdf format]' \ - '--ps[output in ps format]' \ - '--pdf[output in pdf format]' \ - '(-E --macro-expand)'{-E,--macro-expand}'[output macro-expanded source to specified file]:file:_files' \ - '(--docbook --xml)--no-split[suppress splitting of output]' \ - '--no-number-sections[output chapter and section numbers]' \ - '!(--no-number-sections)--number-sections' \ - '(-o --output=)'{-o,--output}'[specify output file]:output file:_files' \ - '(--docbook --html --xml)--disable-encoding[output special characters]' \ - '!(--disable-encoding)--enable-encoding' \ - '(--docbook --html --xml)--fill-column=[specify width to break lines at]:width [72]' \ - '(--docbook --html --xml)--footnote-style=[specify style for output of footnotes]:((separate\:in\ own\ node end\:at\ end\ of\ node))' \ - '(--docbook --html --xml)--paragraph-indent=[specify spaces to indent paragraphs by]:indent [3]' \ - '(--docbook --html --xml)--split-size=[split Info files at specified size]:size [300000]' \ - '(--docbook --xml --plaintext)--css-include=[specify file in include in HTML <style> output]:file:_files' \ - '(--docbook --xml --plaintext)--css-ref=[generate reference to a CSS file]:URL:_urls' \ - '(--docbook --xml --plaintext)--internal-links=[produce list of internal links in a file]:file:_files' \ - '(--docbook --xml --plaintext)--split=[split output at specified boundary]:split boundary:(chapter section node)' \ - '(--docbook --xml --plaintext)--transliterate-file-names[produce file names in ASCII transliteration]' \ - '(--docbook --xml --plaintext)--node-files[produce redirection files for nodes]' \ - '-Xopt=[specify option to texi2dvi]:options' \ - '-D[define variable]:variable' \ - '-I[specify directory to append to @include search path]:directory:_files -/' \ - '-P[specify directory to prepend to @include search path]:directory:_files -/' \ - '-U[undefine variable]:variable' \ - '(--docbook --no-ifdocbook)--ifdocbook[process @ifdocbook and @docbook even when not generating Docbook]' \ - '(--html --no-ifhtml)--ifhtml[process @ifhtml and @html when not generating HTML]' \ - '(--no-ifinfo)--ifinfo[process @ifinfo even when not generating Info]' \ - '(--plaintext --no-ifplaintext)--ifplaintext[process @ifplaintext even when not generating plain text]' \ - '(--no-iftex)--iftex[process @iftex and @tex text]' \ - '(--xml --no-ifxml)--ifxml[process @ifxml and @xml]' \ - "(--ifdocbook --html --xml --plaintext)--no-ifdocbook[don't process @ifdocbook and @docbook text]" \ - "(--ifhtml --docbook --xml --plaintext)--no-ifhtml[don't process @ifhtml and @html text]" \ - "(--ifinfo --docbook --html --xml --plaintext)--no-ifinfo[don't process @ifinfo text]" \ - "(--ifplaintext --docbook --html --xml)--no-ifplaintext[don't process @ifplaintext text]" \ - "(--iftex --docbook --html --xml --plaintext)--no-iftex[don't process @iftex and @tex text]" \ - "(--ifxml --docbook --html --xml --plaintext)--no-ifxml[don't process @ifxml and @xml text]" \ - '*:texinfo file:_texi' - return - ;; - (pdf|)texi2(dvi|pdf)) - _arguments -s \ - '(-b --batch)'{-b,--batch}'[no interaction]' \ - '(-D --debug)'{-D,--debug}'[turn on shell debugging (set -x)]' \ - '(- *)'{-h,--help}'[display help information]' \ - '(-o --output)'{-o,--output=}'[specify output file]:output file:_files' \ - '(-q -s --quiet --silent -V --verbose)'{-q,-s,--silent,--quiet}'[no output except errors]' \ - '(-q -s --quiet --silent -V --verbose)'{-V,--verbose}'[report on what is done]' \ - '(- *)'{-v,--version}'[display version information]' \ - "--max-iterations=[don't process files more than specified times]:iterations [7]" \ - '--mostly-clean[remove the auxiliary files and directories]' \ - '-@[use @input instead of \input; for preloaded Texinfo]' \ - '(-p --pdf --dvipdf --html --info --ps --text)--dvi[output a DVI file]' \ - '(-p --pdf --dvi --html --info --ps --text)--dvipdf[output a PDF file via DVI]' \ - '(-p --pdf --dvi --dvipdf --info --ps --text)--html[output an HTML file]' \ - '(-p --pdf --dvi --dvipdf --html --ps --text)--info[output an Info file]' \ - '(-p --pdf --dvi --dvipdf --html --info --ps --text)'{-p,--pdf}'[use pdftex or pdflatex for processing]' \ - '(-p --pdf --dvi --dvipdf --html --info --text)--ps[output a PostScript file]' \ - '(-p --pdf --dvi --dvipdf --html --info --ps)--text[output a plain text file]' \ - '(-e -E --expand)'{-e,-E,--expand}'[force macro expansion using makeinfo]' \ - '-I[specify search dir for texinfo files]:directory:_files -/' \ - '(-l --language)'{-l,--language}'[specify language of input file]:language:(LaTeX Texinfo)' \ - "--no-line-error[don't pass --file-line-error to TeX]" \ - '--shell-escape[pass --shell-escape to TeX]' \ - '--src-specials[pass --src-specials to TeX]' \ - \*{-t,--command,--texinfo}'[specify command to insert after @setfilename]:command' \ - '--translate-file=[use given charset translation file for TeX]:file:_files' \ - '(--tidy -c --clean)--build=[specify build mode]:build mode:(local tidy clean)' \ - '(--tidy -c --clean --build)--tidy[same as --build=tidy]' \ - '(--tidy -c --clean --build)'{--tidy,-c,--clean}'[same as --build=clean]' \ - '--build-dir=[specify build directory]:directory:_directories' \ - '*:file:_texi' - return - ;; - texindex) - _arguments -S \ - '(* -)--help[display help]' \ - '(* -)--version[display version info]' \ - '*:texinfo file:_texi' - return - ;; - tkinfo) - cmd=$commands[info] - _x_arguments -C \ - '(-)--help' \ - '-+'{headers,buttons,balloons,scrollthrough,pagesep,showdir} \ - '-linklook:menu display:(color font underline)' \ - '-highlight:link display:(color inverse underline)' \ - '-searchlook:search match display:(color inverse underline)' \ - '-iconic' \ - '-dir:info path:_dir_list' \ - '-file:info file:->infofiles' \ - '-node:info node:->nodes' \ - '*::menu items:->infomanuals' && ret=0 - info=( info ${(kv)opt_args[(I)-file]/-file/-f} ) - ;; - pinfo) - cmd=$commands[info] - _arguments -s -S \ - '(- *)'{-h,--help}'[print usage information]' \ - '(- *)'{-v,--version}'[print version information]' \ - {-m,--manual}'[use man page]:*:: := _dispatch man man' \ - '(-r --raw-filename -f --file)'{-r,--raw-filename,-f,--file}'[use raw filename]' \ - '(-a --apropos)'{-a,--apropos}'[call apropos if nothing found]' \ - {-p,--plain-apropos}'[call only apropos]:*:: := _dispatch apropos apropos' \ - '(-c --cut-man-headers)'{-c,--cut-man-headers}'[cut out repeated man headers]' \ - '(-l --long-manual-links)'{-l,--long-manual-links}'[use long link names in manuals]' \ - '(-s --squeeze-manlines)'{-s,--squeeze-manlines}'[cut empty lines from manual pages]' \ - '(-d --dont-handle-without-tag-table)'{-d,--dont-handle-without-tag-table}"[don't display texinfo pages without tag table]" \ - '(-t --force-manual-tag-table)'{-t,--force-manual-tag-table}'[force manual detection of tag table]' \ - '(-l --long-manual-links)'{-l,--long-manual-links}'[use long link names in manuals]' \ - '(-x --clear-at-exit)'{-x,--clear-at-exit}'[clear screen at exit]' \ - '--node=[jump directly to specified node]:node:->nodes' \ - '--rcfile=[use alternate rcfile]:file:_files' \ - '1:menu item:->infomanuals' && ret=0 - file=${line[1]} - ;; -esac - -if [[ -n $state ]]; then - local chr cache file q - local -a expl suf tags - local -i36 hash=5381 - local -aU infopath=( /usr/share/info ${commands[info]:h:h}/share/info ${(s.:.)INFOPATH} $infodirs ) - infopath=( $^infopath(N) ) - # run simple hash function on infopath - for chr in "${(s..)infopath}"; do - (( hash += (hash << 5) + ##$chr )) - done - typeset +i -l hash=${hash#*\#} - cache=_cache_info_nodes_$hash - typeset -gHU $cache - - if [[ $state = infomanuals ]]; then - [[ -z $compstate[quote] ]] && q='\\' - if compset -P "${q}\("; then - if [[ -prefix *\) ]]; then - file="${PREFIX%%\)*}" - compset -P 1 '*\)' - state=nodes - else - compset -S "${q}\)*" || suf=( -S "${q[1]})" ) - state=infofiles - fi - fi - fi - - [[ -z $file ]] && file=${opt_args[-f]:-$line[1]} - if [[ $state = info* ]]; then - local -aU files=( $^infopath/*.info(|.gz|.bz2)(-.:t:s/.gz//:s/.bz2//:r) ) - local items - if (( ! $#files )); then - _info_retrieve_nodes - files=( ${(P)cache%%:*} ) - fi - items=( ${${${(M)${(f)"$(_call_program menu-items info -o-)"}:#(#s)\* *: \(*}#??}%%\)*} ) - files+=( ${items##*\(} ) - tags=( info-files ) - if [[ $state = infofiles+ && $PREFIX$SUFFX = */* ]]; then - # local files allowed - tags+=(files) - fi - if [[ $state != infofiles* ]]; then - tags+=( menu-items ) - items=( ${items%:*} ) - fi - elif [[ $state = nodes ]]; then - tags=( menu-items ) - if [[ -n $file ]]; then - _info_retrieve_nodes - nodes=( ${(@PM)cache:#${file}:*} ) - tags+=( info-nodes ) - fi - items=( ${${${(M)${(f)"$(_call_program menu-items info -o- $file)"}:#(#s)\* *::*}%%::*}#??} ) - elif [[ $state = index-entries ]]; then - if [[ -n $file ]]; then - tags=( index-entries ) - items=( ${${${(M)${(f)"$(_call_program index-entries info -o- --all --index-search= $file)"}:#(#s)\* *:*}%%:*}#??} ) - else - _message -e index-entries $state_descr - fi - fi - - _tags $tags - - while _tags; do - _requested info-files expl 'info file' compadd $suf -M 'm:{a-zA-Z}={A-Za-z}' -a files && ret=0 - _requested menu-items expl 'menu item' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a items && ret=0 - _requested -x index-entries expl 'index entry' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a items && ret=0 - _requested info-nodes expl 'node' compadd -M 'm:{a-zA-Z}={A-Za-z}' ${nodes#*:} && ret=0 - _requested files expl 'file' && _files -g '*.info(|.gz|.bz2)' - - (( ret )) || break - done -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tidy b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tidy deleted file mode 100644 index 35ceb7e5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tidy +++ /dev/null @@ -1,62 +0,0 @@ -#compdef tidy - -local -a opts - -opts=( ${${${(s.</option>.)"$(_call_program options $words[1] -xml-config)"}##*<name>}/<\/name>*<type>/;} ) -opts=( ${opts/;Integer*/:number} ) -opts=( ${opts/;Boolean*/:boolean:(yes no)} ) -opts=( ${opts/;AutoBool*/:value:(auto yes no)} ) -opts=( ${opts/;(String|Tag|Attributes)*/:value} ) -opts=( ${opts/(#bi);(enum|Encoding|DocType)*<default>(*)<*<example>([^<]#)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} ) -opts=( ${(M)opts:#*:*} ) - -_arguments -s -A "-*" --$^opts \ - '(-indent -i)'{-indent,-i}'[indent element content]' \ - '-wrap[wrap text at the specified column]:column [68]' \ - '(-upper -u)'{-upper,-u}'[force tags to upper case (default is lower case)]' \ - '(-clean -c)'{-clean,-c}'[replace FONT, NOBR and CENTER tags by CSS]' \ - '(-bare -b)'{-bare,-b}'[strip out smart quotes and em dashes, etc.]' \ - '(-gdoc -g)'{-gdoc,-g}'[produce clean version of html exported by Google Docs]' \ - '(-numeric -n)'{-numeric,-n}'[output numeric rather than named entities]' \ - '(-errors -e)'{-errors,-e}'[only show errors]' \ - '(-quiet -q)'{-quiet,-q}'[suppress nonessential output]' \ - '-omit[omit optional start and end tags]' \ - '-xml[specify the input is well formed XML]' \ - '(-asxml -asxhtml -ashtml)'{-asxml,-asxhtml}'[convert HTML to well formed XHTML]' \ - '(-asxml -asxhtml)-ashtml[force XHTML to well formed HTML]' \ - '-access[do additional accessibility checks (<level> = 1, 2, 3)]:priority level:(${access[@]})' \ - '-raw[output values above 127 without conversion to entities]' \ - '(-out -o)'{-out,-o}'[specify the output markup file]:output file:_files' \ - '-config[set configuration options from the specified <file>]:configuration file:_files' \ - '-f[write errors to the specified <file>]:error file:_files' \ - '(-modify -m)'{-modify,-m}'[modify the original input files]' \ - '(- *)'{-version,-v}'[show the version of Tidy]' \ - '(- *)'{-help,-h,-\?}'[list the command line options]' \ - '(- *)-help-config[list all configuration options]' \ - '(- *)-help-env[show details of environment and runtime configuration]' \ - '(- *)-show-config[list the current configuration settings]' \ - '(- *)-export-config[list the current settings in config file form]' \ - '(- *)-export-default-config[list the default settings in config file form]' \ - "(*)-help-option[show a description of specified configuration option]:config option:(${(@j. .)opts%%:*})" \ - '(-lang -language)'{-lang,-language}'[set the two-letter language code]:language:_locales' \ - '-xml-help[list the command line options in XML format]' \ - '-xml-config[list all configuration options in XML format]' \ - "-xml-strings[output all of Tidy's strings in XML format]" \ - '-xml-error-strings[output error constants and strings in XML format]' \ - '-xml-options-strings[output option descriptions in XML format]' \ - '-options[specify file containing configuration settings]:config file:_files' \ - '*:file:_files' \ - + '(encoding)' \ - '-ascii[use US-ASCII for output, ISO-8859-1 for input]' \ - '-latin0[use US-ASCII for output, ISO-8859-1 for input]' \ - '-latin1[use ISO-8859-1 for both input and output]' \ - '-iso2022[use ISO-2022 for both input and output]' \ - '-utf8[use UTF-8 for both input and output]' \ - '-mac[use MacRoman for input, US-ASCII for output]' \ - '-win1252[use Windows-1252 for input, US-ASCII for output]' \ - '-ibm858[use IBM-858 (CP850+Euro) for input, US-ASCII for output]' \ - '-utf16le[use UTF-16LE for both input and output]' \ - '-utf16be[use UTF-16BE for both input and output]' \ - '-utf16[use UTF-16 for both input and output]' \ - '-shiftjis[use Shift_JIS for both input and output]' \ - '-big5[use Big5 for both input and output]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tiff b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tiff deleted file mode 100644 index ef12777d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tiff +++ /dev/null @@ -1,273 +0,0 @@ -#compdef -P (tiff*|*2tiff|pal2rgb) - -local pat expl ret=1 - -if [[ "$service" = *2tiff ]]; then - pat="*.(#i)${service}(-.)" -else - pat='*.(#i)tiff(-.)' -fi - -if [[ $# -ne 0 || $+_in_tiff -ne 0 ]]; then - if (( ! $# )); then - _description files expl 'picture file' - set -- "$expl[@]" - fi - _wanted files expl 'picture file' _path_files "$@" -g "$pat" - || - _files "$@" "$expl[@]" -g '*.(#i)tif(|f)(-.)' - return -fi - -local _in_tiff=yes - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -case "$service" in -tiff2bw) - _arguments -C \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-r+[specify rows per strip]:rows per strip' \ - '-R+[specify percentage of red channel]:percentage' \ - '-G+[specify percentage of green channel]:percentage' \ - '-B+[specify percentage of blue channel]:percentage' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiff2pdf) - _arguments -s \ - '-o+[specify output file]:output file:_files -g "*.(#i)pdf(-.)"' \ - '(-z -d)-j[compress with JPEG]' \ - '(-j -d)-z[compress with Zip/Deflate]' \ - '-q+[specify compression quality]:quality' \ - '-n[no compressed data passthrough]' \ - "(-z -j)-d[don't compress]" \ - '-i[invert colors]' \ - '-u+[set distance unit]:unit:((i\:inches m\:centimeters))' \ - '-x+[set x resolution]:resolution (dots per unit)' \ - '-y+[set y resolution]:resolution (dots per unit)' \ - '-w+[specify width in units]:width' \ - '-l+[specify length in units]:length' \ - '-r+[specify scope for resolution settings]:scope:((d\:images\ without\ resolution o\:all\ images))' \ - '-p+[specify paper size]:paper size:(letter legal A4)' \ - '-F[make the tiff fill the PDF page]' \ - '-f[set PDF "Fit Window" user preference]' \ - '-e+[specify date]:date (YYYYMMDDHHMMSS)' \ - '-c+[set document creator, overrides image software default]:creator' \ - '-a+[set document author, overrides image artist default]:author' \ - '-t+[set document title, overrides image document name default]:title' \ - '-s+[set document subject, overrides image image description default]:subject' \ - '-k+[set document keywords]:keywords' \ - '-b[set PDF "Interpolate" user preference]' \ - '-m+[set memory allocation limit]:limit (MiB)' \ - '(- :)-h[display usage information]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' - ;; -tiff2ps) - _arguments -s \ - '!(-2 -3 -8 -m)-1' \ - '(-3)-2[generate PostScript Level 2 output]' \ - '(-2)-3[generate PostScript Level 3 output]' \ - '-8[disable use of ASCII85 encoding with PostScript Level 2/3]' \ - '-a[generate output for all IFDs]' \ - '-b+[set the bottom margin]:margin (inches)' \ - '-c[center image]' \ - '-C+[set postscript document creator name]:creator' \ - '-d+[set initial TIFF directory]:initial TIFF directory' \ - '(-e)-D[print two pages per sheet (duplex)]' \ - '(-p -D -T)-e[generate Encapsulated PostScript]' \ - '-h+[set printed page height]:height (inches)' \ - '-w+[set printed page width]:width (inches)' \ - '(-W)-H+[split image if height is more than specified value]:limit (inches)' \ - '(-H)-W+[split image if width is more than specified value]:limit (inches)' \ - '-L+[specify overlap for split images]:overlap (inches)' \ - '-i+[enable/disable (Nz/0) pixel interpolation]:state [enabled]:((0\:disable 1\:enable))' \ - '-l+[set the left margin]:margin (inches)' \ - '-m[use "imagemask" operator instead of "image"]' \ - '-M+[set memory allocation limit]:limit (MiB)' \ - '-o+[set initial TIFF directory (file offset)]:file offset (bytes)' \ - '(-e)-p[generate non-Encapsulated PostScript]' \ - '-O+[specify output file]:output file:_files -g "*.(#i)(|e)ps(-.)"' \ - '-P+[set PageOrientation DSC comment to Landscape or Portrait]:orientation:(L P)' \ - '-r+[rotate image]:rotation:(90 180 270 auto)' \ - '-s[generate output for a single image]' \ - '-t+[set postscript document title]:title' \ - '(-e)-T[print pages for top edge binding]' \ - '(-y)-x[override resolution units as centimeters]' \ - '(-x)-y[override resolution units as inches]' \ - '-z[enable printing in the deadzone]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffcmp) - _arguments -s \ - '-l[list all differing bytes]' \ - '-z+[list specified number of bytes that differs between the files]:bytes' \ - '-t[ignore differences in directories]' \ - ':first input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':second input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffcp) - _arguments -C -s \ - '-a[append to output instead of overwriting]' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-p+[set sample packing]:sample packing:(contig separate)' \ - '(-t)-s[write output in strips]' \ - '(-s)-t[write output in tiles]' \ - '-x[force the merged tiff pages in sequence]' \ - '-8[write BigTIFF instead of default ClassicTIFF]' \ - '(-L)-B[write output in big-endian byte order instead of native ordering]' \ - '(-B)-L[write output in little-endian byte order instead of native ordering]' \ - '-M[disable use of memory-mapped files]' \ - '-C[disable strip chopping]' \ - '-i[ignore read errors]' \ - '-b+[specify bias (dark) monochrome image to be subtracted from all others]:file:_files' \ - '-,=-[specify substitute character for image indices]:character [,]' \ - '-m+[set memory allocation limit]:limit (MiB)' \ - '-r+[specify rows per strip]:rows per strip' \ - '-w+[specify output tile width]:output tile width' \ - '-l+[specify output tile length]:output tile length' \ - '-f+[specify fill order]:fill order:(lsb2msb msb2lsb)' \ - '*:TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffdither) - _arguments -C \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-f+[specify fill order]:fill order:(lsb2msb msb2lsb)' \ - '-r+[specify rows per strip]:rows per strip' \ - '-t+[set threshold for dithering]:dither threshold value [128]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffdump) - _arguments \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-h[print numbers in hexadecimal]' \ - '-m+[change number of indirect items printed]:items [24]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffinfo) - _arguments -s \ - '-c[display colormap and color/gray response curves]' \ - '-D[read and decompress data]' \ - '-d[print decompressed data]' \ - '-j[display JPEG-related tags]' \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-r[read/display raw image data instead of decoded data]' \ - '-s[display offsets and byte counts for all data strips]' \ - '-i[ignore read errors]' \ - '-f+[force fill order]:fill order:(lsb2msb msb2lsb)' \ - '-w[display raw data in words]' \ - '-z[enable strip chopping]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffmedian) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-C+[specify number of colormap entries]:number of colormap entries' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-f[use Floyd-Steinberg dithering]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffsplit) - _arguments \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file prefix' && ret=0 - ;; -fax2tiff) - _arguments -s \ - '!(-1 -2 -3 -4)-'{1,3} \ - '(-1 -4)-2[input is Group 3, 2d encoded]' \ - '(-1 -2 -A)-4[input is Group 4 encoded]' \ - '-U[input is uncompressed]' \ - '(-4)-A[input is EOL-aligned]' \ - '-B[0 in input means black]' \ - '-M[input is msb-to-lsb]' \ - '-R+[specify resolution]:resolution (lines per inch) [196]' \ - '-X+[specify input data width]:width [1728]' \ - '-o+[specify output file]:output file:_files -g "*.(#i)tif(|f)(-.)"' \ - '(-5 -p)-8[generate G4-encoded output]' \ - '-u[generate uncompressed output]' \ - '(-8)-5[generate 1d encoded output]' \ - "(-8)-p[don't align EOL codes]" \ - '-c[generate `classic'"'"' TIFF format]' \ - '-m[output in msb-to-lsb order]' \ - '-r+[specify rows per strip]:rows per strip' \ - '-s[stretch image by duplicating all rows]' \ - '-v[verbose mode]' \ - '-z[generate LZW compressed output]' \ - ':FAX input file:_files -g "*.(#i)(g[34]|fax)(-.)"' && ret=0 - ;; -gif2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - ':input GIF file:_files -g "*.(#i)gif(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -ppm2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-R+[specify resolution]:resolution (dots/inch)' \ - ':input GIF file:_files -g "*.(#i)ppm(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -ras2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - ':input raster image file:_files -g "*.(#i)ras(|t)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -pal2rgb) - _arguments -C \ - '-C+[specify number of bits for colormap entries]:bits for colormap entries:(8 16)' \ - '-p+[set sample packing]:sample packing:(contig separate)' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-r+[specify rows per strip]:rows per strip' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -*) - _description files expl 'picture file' - _files "$expl[@]" -g "$pat" && ret=0 -esac - -if [[ -n "$state" ]]; then - if [[ "$PREFIX" = *:* ]]; then - local scheme="${PREFIX%%:*}" - - compset -P 1 '*:' - - case "$scheme" in - g3) - _values -s : 'FAX Group 3 option' \ - '(2d)1d[use 1D-encoding]' \ - '(1d)2d[use 2D-encoding]' \ - 'fill[byte-align EOL codes]' && ret=0 - ;; - jpeg) - _message -e values "compression quality (0-100), or \`r' (output RGB)" - ret=0 - ;; - lzw|lzma|zip|zstd|webp) - _values 'LZW and deflate option' \ - '1[without differencing]' \ - '2[with differencing]' && ret=0 - ;; - esac - else - _tags values - while _tags; do - while _next_label values expl 'compression scheme'; do - compadd "$expl[@]" - none jbig g4 packbits sgilog && ret=0 - compadd "$expl[@]" -qS: - lzw zip lzma zstd webp jpeg g3 && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde deleted file mode 100644 index 4b5cfaa0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde +++ /dev/null @@ -1,32 +0,0 @@ -#compdef -tilde- - -# We use all named directories and user names here. If this is too slow -# for you or if there are too many of them, you may want to use -# `compadd -qS/ -a friends' or something like that. - -[[ -n "$compstate[quote]" ]] && return 1 - -local expl suf ret=1 - -if [[ "$SUFFIX" = */* ]]; then - ISUFFIX="/${SUFFIX#*/}$ISUFFIX" - SUFFIX="${SUFFIX%%/*}" - suf=(-S '') -else - suf=(-qS/) -fi - -_tags users named-directories directory-stack - -while _tags; do - _requested users && _users "$suf[@]" "$@" && ret=0 - - _requested named-directories expl 'named directory' \ - compadd "$suf[@]" "$@" -k nameddirs && ret=0 - - _requested directory-stack && _directory_stack "$suf[@]" && ret=0 - - (( ret )) || return 0 -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde_files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde_files deleted file mode 100644 index 0ee12332..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tilde_files +++ /dev/null @@ -1,39 +0,0 @@ -#autoload - -# Complete files and expand tilde expansions in it. - -if [[ ( -o magicequalsubst && "$IPREFIX" = *\= ) || $argv[(I)-W*] -ne 0 ]]; then - _files "$@" - return -fi - -case "$PREFIX" in -\~/*) - IPREFIX="${IPREFIX}${HOME}/" - PREFIX="${PREFIX[3,-1]}" - _files "$@" -W "${HOME}" - ;; -\~*/*) - local user="${PREFIX[2,-1]%%/*}" - - if (( $+userdirs[$user] )); then - user="$userdirs[$user]" - elif (( $+nameddirs[$user] )); then - user="$nameddirs[$user]" - else - _message "unknown user \`$user'" - return 1 - fi - IPREFIX="${IPREFIX}${user%/}/" - PREFIX="${PREFIX#*/}" - _files "$@" -W "$user" - ;; -\~*) - compset -p 1 - local -a expl=( "$@" ) - _alternative -O expl users:user:_users named-directories:'named directory':'compadd -k nameddirs' - ;; -*) - _files "$@" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone deleted file mode 100644 index 1562daab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone +++ /dev/null @@ -1,10 +0,0 @@ -#compdef -value-,TZ,-default- - -local expl - -if (( ! $+_zoneinfo_dirs )); then - _zoneinfo_dirs=( /etc/zoneinfo /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) ) -fi - -_wanted time-zones expl 'time zone' \ - _files -g '[A-Z]*' -M 'm:{a-z}={A-Z}' -W _zoneinfo_dirs "$@" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone.orig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone.orig deleted file mode 100644 index a7b63adc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_time_zone.orig +++ /dev/null @@ -1,10 +0,0 @@ -#compdef -value-,TZ,-default- - -local expl - -if (( ! $+_zoneinfo_dirs )); then - _zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) ) -fi - -_wanted time-zones expl 'time zone' \ - _files -g '[A-Z]*' -M 'm:{a-z}={A-Z}' -W _zoneinfo_dirs "$@" - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_timeout b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_timeout deleted file mode 100644 index c041283a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_timeout +++ /dev/null @@ -1,20 +0,0 @@ -#compdef timeout gtimeout - -local args - -if [[ $service = g* || $OSTYPE != *(freebsd|netbsd|openbsd)* ]]; then - # GNU coreutils or DFly as opposed to Free/Net/OpenBSD implementation - args=( - '(-v --verbose)'{-v,--verbose}'[indicate when signal is sent upon timeout]' - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) -fi - -_arguments -S -A "-" $args \ - '--preserve-status[always exit with the same status as command even if it times out]' \ - "--foreground[don't propagate timeout to the command children]" \ - '(-s --signal)'{-s,--signal}'[specify the signal to send on timeout]:signal:_signals' \ - '(-k --kill-after)'{-k,--kill-after}'[followup first signal with SIGKILL if command persists after specified time]:time' \ - '1: :_numbers -f -u seconds duration :s:seconds m:minutes h:hours d:days' \ - '*:::command:_normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tin deleted file mode 100644 index 61d203d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tin +++ /dev/null @@ -1,54 +0,0 @@ -#compdef tin rtin - -local newshosts expl state line curcontext="$curcontext" ret=1 - -_arguments -C -s \ - '(-6)-4[force connecting via IPv4]' \ - '(-4)-6[force connecting via IPv6]' \ - '-a[toggle color flag]' \ - '-A[force authentication on connect]' \ - '-c[mark all news as read in subscribed groups]' \ - "-d[don't show newsgroup descriptions]" \ - '-f[specify newsrc file to use]:newsrc file:_files' \ - '-G[specify limit to articles/group to get]:number of articles/group to get' \ - '-g[specify NNTP server]:NNTP server:->newshosts' \ - '-h[display help on tin usage]' \ - '-H[display help information]' \ - '-I[specify news index file directory]:news index file directory:_files -/' \ - '-l[get number of articles per group from the active file]' \ - '-m[specify mailbox directory]:mailbox directory:_files -/' \ - '-M[mail new news to specified user]:user:_users' \ - '-n[only read subscribed groups from server]' \ - '-N[mail new news to yourself]' \ - '-o[post all postponed articles and exit]' \ - '-p[specify port to connect to NNTP server]:NNTP port:_ports' \ - "-q[don't check for new newsgroups]" \ - '-Q[quick start. Same as -nqd]' \ - ${${service:#r*}:+-r\[read news remotely over NNTP\]} \ - '-R[read news saved with -S]' \ - '-s[specify saved news directory]:saved news directory:_files -/' \ - '-S[save new news for later reading]' \ - '-u[update index files]' \ - '-U[update index files in the background while reading news]' \ - '-v[verbose output in batch mode]' \ - '-V[display version information]' \ - '-w[post an article and exit]' \ - "-X[don't save any files on quit]" \ - '-z[start if any unread news]' \ - '-Z[return status to indicate if any unread news]' \ - '::newsgroup:_newsgroups' && return 0 - -if [[ "$state" = newshosts ]]; then - newshosts=( ${${(f)"$(<${TIN_HOMEDIR:-$HOME}/.tin/newsrctable)"}%%\#*} ) 2>/dev/null - _tags hosts nicknames - while _tags; do - _requested hosts expl 'NNTP server hostname' \ - compadd ${=newshosts#*[[:blank:]]##[^[:blank:]]*[[:blank:]]} && ret=0 - _requested nicknames expl 'NNTP server nickname' \ - compadd -M 'r:|.=* r:|=*' ${newshosts%%[[:blank:]]*} && ret=0 - (( ret )) || return 0 - done -fi - -return 1 - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tla b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tla deleted file mode 100644 index ec7e76d4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tla +++ /dev/null @@ -1,631 +0,0 @@ -#compdef tla - -autoload -z is-at-least -local TLA=$words[1] -local tla_version -local hide_short - -# ask the user which version of tla this is -if ! zstyle -s ":completion:${curcontext}:" tla-version tla_version; then - # ask tla instead - tla_version="$($TLA --version)" - if [[ "${${(f)tla_version}[1]}" == The\ GNU\ Arch\ Revision\ Control\ System\ \(tla\)\ (#b)([0-9.]##) ]]; then - tla_version="$match[1]" - else - tla_version="${${$($TLA --version)#tla tla-}%% from regexps.com*}" - [[ $tla_version == *[a-zA-Z]* ]] && tla_version=1.3 # tla doesn't know - fi -fi - -# test whether to hide short options from completion -if zstyle -s ":completion:${curcontext}:" hide-shortopts hide_short; then - case $hide_short in - true|yes|on|1) hide_short='!' ;; - *) hide_short='' ;; - esac -fi - -# completion functions - -(( $+functions[_tla_archives] )) || -_tla_archives () { _arch_archives tla "$@" } - -(( $+functions[_tla_categories] )) || -_tla_categories () { _arch_namespace tla 1 "$argv[@]" } - -(( $+functions[_tla_branches] )) || -_tla_branches () {_arch_namespace tla 2 "$argv[@]" } - -(( $+functions[_tla_versions] )) || -_tla_versions () { _arch_namespace tla 3 "$argv[@]" } - -(( $+functions[_tla_revisions] )) || -_tla_revisions () { _arch_namespace tla 4 "$argv[@]" } - -(( $+functions[_tla_local_revisions] )) || -_tla_local_revisions () { - local expl1 expl2 tree_version=`$TLA tree-version` - _description -V applied-patches expl1 "patch from this version" - _description -V other-patches expl2 "patch from other versions" - compadd "$expl1[@]" `$TLA logs` - compadd "$expl2[@]" `$TLA logs --full $($TLA log-versions | grep -v $tree_version)` - # This is incredibly slow. - # Should complete based on -A, -R, -d -} - -(( $+functions[_tla_config] )) || -_tla_config () { - - # zsh 4.1.1+ is recommended; 4.0.6 gives the error below when doing - # tla build-config e<TAB> - # _path_files:322: no matches found: configs//e/.(/) - # whereas 4.1.1 completes correctly - - local configdir root ret=1 n expl - - n=$opt_args[(i)(-d|--dir)] - [[ -n "$n" ]] && configdir=$opt_args[$n] - root="$(_call_program tla $TLA tree-root ${configdir} 2>&1)" - if (( $? )); then - _message -e messages "Error: $root" - return $ret - fi - - if [[ -d "$root/configs" ]]; then - configdir=("$root/configs") - _description files expl 'config file' - _files -W configdir "$expl[@]" && ret=0 - else - _message -e messages "No configs/ directory in tree whose root is $root" - fi - return $ret -} - -(( $+functions[_tla_limit] )) || -_tla_limit () { #presently only does push-mirror style limits - [[ $words[$CURRENT] == *@* ]] && return 1 - - local expl archive - archive=${words[(r)*@*]:-$($TLA my-default-archive 2> /dev/null)} - if [ $archive ]; then - - if [[ $PREFIX != *--* ]]; then - _description -V categories expl "category in $archive" - compadd -q -S -- "$expl[@]" `$TLA categories -A $archive` - else - _tla_namespace_branches 3 - fi - fi -} - -(( $+functions[_tla_tree_or_rev] )) || -_tla_tree_or_rev () { - _alternative 'trees:tree:_files -/' 'revisions:revision:_tla_revisions' -} - -(( $+functions[_tla_libraries] )) || -_tla_libraries () { - local libraries expl - libraries=($(_call_program tla $TLA my-revision-library)) - _description -V libraries expl "revision library" - compadd "$expl[@]" -a libraries -} - -(( $+functions[_tla_my_revision_library] )) || -_tla_my_revision_library () { - if [[ -n $words[(r)-d] ]] || [[ -n $words[(r)--delete] ]]; then - _tla_libraries - else - _files -/ - fi -} - -(( $+functions[_tla_log_versions] )) || -_tla_log_versions () { - local logs expl - if is-at-least 1.1 $tla_version; then - logs=($(_call_program tla $TLA log-versions)) - else - logs=($(_call_program tla $TLA logs)) - fi - _description -V versions expl "log version" - compadd "$expl[@]" -a logs -} - -# command argument definitions -# commands with different versions - -local cmd_register_archive cmd_archives cmd_ls_archives cmd_redo -local cmd_redo_changes cmd_changes cmd_what_changed cmd_categories -local cmd_branches cmd_versions cmd_cacherev cmd_logs cmd_log_versions -local cmd_log_ls cmd_update cmd_join_branch cmd_replay cmd_deltapatch -local cmd_delta_patch cmd_apply_delta cmd_sync_tree cmd_make_sync_tree -local cmd_delta cmd_revdelta cmd_library_categories cmd_library_branches -local cmd_library_versions cmd_library_revisions -local cmd_archive_register - -cmd_log_ls=('*:version:_tla_log_versions') -cmd_log_versions=() -# the options should only complete items that are in the tree - -if is-at-least 1.1 $tla_version; then - cmd_register_archive=('::archive:_tla_archives' ':location:_files -/') - cmd_archive_register=($cmd_register_archive) - cmd_archives=('::regex:') - cmd_redo=('::changeset:_files -/') - cmd_changes=('::revision:_tla_revisions' - # ':separator:(--)' '*::limit:_files' - #don't understand the limit usage - ) - cmd_categories=('::archive:_tla_archives') - cmd_branches=('::category:_tla_categories') - cmd_versions=('::branch:_tla_branches') - cmd_cacherev=('::revision:_tla_revisions') - #should only complete non-cached revisions - - cmd_logs=($cmd_log_ls) - cmd_update=('::revision:_tla_revisions') - cmd_join_branch=(':revision:_tla_revisions') - #should only complete continuation revisions - - cmd_replay=('*::revision:_tla_revisions') - cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev') - cmd_sync_tree=(':revision:_tla_revisions') - cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev' '::DEST:_files -/') - cmd_library_categories=('::archive:_tla_archives --library') - cmd_library_branches=('::category:_tla_categories --library') - cmd_library_versions=('::branch:_tla_branches --library') - cmd_library_revisions=('::version:_tla_versions --library') -else - cmd_register_archive=(':archive:_tla_archives' ':location:_files -/') - cmd_archives=() - cmd_redo=() - cmd_changes=('::revision:_tla_revisions') - cmd_categories=() - cmd_branches=(':category:_tla_categories') - cmd_versions=(':branch:_tla_branches') - cmd_cacherev=(':revision:_tla_revisions' '::dir:_files -/') - cmd_logs=($cmd_log_versions) - cmd_update=(':dir:_files -/' '::newdir:_files -/' - '::revision:_tla_revisions') - cmd_join_branch=(':dir:_files -/' '::newdir:_files -/' - ':revision:_tla_revisions') - cmd_replay=(':dir:_files -/' '::newdir:_files -/' '::revision:_tla_revisions') - cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev' - ':UPON:_tla_tree_or_rev' '::DEST:_files -/') - cmd_sync_tree=(':dir:_files -/' '::newdir:_files -/' - ':revision:_tla_revisions') - cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev') - cmd_library_categories=() - cmd_library_branches=(':category:_tla_categories --library') - cmd_library_versions=(':branch:_tla_branches --library') - cmd_library_revisions=(':version:_tla_versions --library') -fi - -cmd_ls_archives=($cmd_archives) -cmd_redo_changes=($cmd_redo) -cmd_what_changed=($cmd_changes) -cmd_delta_patch=($cmd_deltapatch) -cmd_apply_delta=($cmd_deltapatch) -cmd_make_sync_tree=($cmd_sync_tree) -cmd_revdelta=($cmd_delta) - -# commands the same in all versions - -local cmd_help -cmd_help=() - -local cmd_my_id -cmd_my_id=('::id-string:') - -local cmd_my_default_archive -cmd_my_default_archive=('::archive:_tla_archives') - -local cmd_whereis_archive -cmd_whereis_archive=(':archive:_tla_archives') - -local cmd_init_tree -cmd_init_tree=('::version:_tla_versions') - -local cmd_tree_root -cmd_tree_root=('::directory:_files -/') - -local cmd_tree_version -cmd_tree_version=('::directory:_files -/') - -local cmd_set_tree_version -cmd_set_tree_version=(':version:_tla_versions') - -local cmd_build_config cmd_buildcfg -cmd_build_config=(':config:_tla_config') -cmd_buildcfg=($cmd_build_config) - -local cmd_cat_config cmd_catcfg cmd_cfgcat -cmd_cat_config=(':config:_tla_config') -cmd_catcfg=($cmd_cat_config) -cmd_cfgcat=($cmd_cat_config) - -local cmd_undo cmd_undo_changes -cmd_undo=('::revision:_tla_revisions') -cmd_undo_changes=($cmd_undo) - -local cmd_file_diffs -cmd_file_diffs=(':file:_files' '::revision:_tla_revisions') - -local cmd_file_find -cmd_file_find=(':file:_files' '::revision:_tla_revisions') - -local cmd_inventory cmd_srcfind -cmd_inventory=('::separator:(--)' '*:directory:_files -/') -cmd_srcfind=($cmd_inventory) - -local cmd_tree_lint cmd_lint -cmd_tree_lint=('::directory:_files -/') -cmd_lint=($cmd_tree_lint) - -local cmd_id cmd_invtag -cmd_id=('*:file:_files') -cmd_invtag=($cmd_id) - -local cmd_id_tagging_method cmd_tagging_method methods -cmd_id_tagging_method=('::tagging method:(($methods))') -methods=( - 'names:use naming conventions only' - 'implicit:use naming conventions but permit for inventory tags' - 'tagline:use naming conventions but permit for inventory tags' - 'explicit:require explicit designation of source' -) -cmd_tagging_method=($cmd_id_tagging_method) - -local cmd_add cmd_add_id cmd_add_tag -cmd_add=('*:file to add:_files') -cmd_add_id=($cmd_add) -cmd_add_tag=($cmd_add) - -local cmd_delete cmd_delete_id cmd_delete_tag -cmd_delete=('*:file to delete:_files') -cmd_delete_id=($cmd_delete) -cmd_delete_tag=($cmd_delete) - -local cmd_move cmd_move_id cmd_move_tag -cmd_move_id=(':old name:_files' ':new name:_files') -cmd_move_id=($cmd_move) -cmd_move_tag=($cmd_move) -#would be nice not to offer dirs for newname if oldname is a file, and -#vice versa - -local cmd_mv -cmd_mv=('*:file:_files') -# not really right, but close enough - -local cmd_default_id cmd_explicit_default cmd_default_tag -cmd_default_id=('::TAG-PREFIX:') -cmd_explicit_default=($cmd_default_id) -cmd_default_tag=($cmd_default_id) - -local cmd_tagging_defaults cmd_id_tagging_defaults -cmd_tagging_defaults=() -cmd_id_tagging_defaults=($cmd_tagging_defaults) - -local cmd_changeset cmd_mkpatch -cmd_changeset=( - ':ORIG:_files -/' - ':MOD:_files -/' - ':DEST:_files -/' - '*:file:_files' -) -cmd_mkpatch=("$cmd_changeset[@]") - -local cmd_dopatch cmd_do_changeset cmd_apply_changeset -cmd_dopatch=(':changeset:_files -/' ':target:_files -/') -cmd_do_changeset=($cmd_dopatch) -cmd_apply_changeset=($cmd_dopatch) - -local cmd_show_changeset -cmd_show_changeset=('::changeset:_files -/') - -local cmd_make_archive -cmd_make_archive=('::name:' ':location:_files -/') - -local cmd_archive_setup -cmd_archive_setup=('*:version:_tla_branches --trailing-dashes') - -local cmd_make_category -cmd_make_category=(':category:_tla_archives -S /') - -local cmd_make_branch -cmd_make_branch=(':branch:_tla_categories --trailing-dashes') - -local cmd_make_version -cmd_make_version=(':version:_tla_branches --trailing-dashes') - -local cmd_import cmd_imprev -cmd_import=('::version:_tla_versions') -cmd_imprev=($cmd_import) - -local cmd_commit cmd_cmtrev -cmd_commit=('::version:_tla_versions' ':separator:(--)' '*:file:_files') -cmd_cmtrev=($cmd_commit) - -local cmd_get cmd_getrev -cmd_get=(':revision:_tla_revisions' '::directory:_files -/') -cmd_getrev=($cmd_get) - -local cmd_get_patch cmd_get_changeset -cmd_get_patch=(':revision:_tla_revisions' '::dir:_files -/') -cmd_get_changeset=($cmd_get_patch) - -local cmd_lock_revision -cmd_lock_revision=(':revision:_tla_revisions') - -local cmd_push_mirror cmd_archive_mirror -cmd_push_mirror=( - '::FROM or MINE:_tla_archives' - '::TO:_tla_archives' - '::LIMIT:_tla_limit' -) -cmd_archive_mirror=($cmd_push_mirror) - -local cmd_revisions -cmd_revisions=('::version:_tla_versions') - -local cmd_ancestry -cmd_ancestry=('::revision:_tla_revisions') - -local cmd_ancestry_graph -cmd_ancestry_graph=('::revision:_tla_revisions') - -local cmd_cat_archive_log -cmd_cat_archive_log=(':revision:_tla_revisions') - -local cmd_cachedrevs -cmd_cachedrevs=(':version:_tla_versions') - -local cmd_uncacherev -cmd_uncacherev=(':revision:_tla_revisions' '::dir:_files -/') - -local cmd_archive_meta_info -cmd_archive_meta_info=(':item-name:((name\:foo mirror\:bar))') - -local cmd_archive_snapshot -cmd_archive_snapshot=(':dir:_files -/' '::limit:_tla_revisions') - -local cmd_archive_version -cmd_archive_version=() - -local cmd_archive_fixup -cmd_archive_fixup=() - -local cmd_make_log -cmd_make_log=('::version:_tla_versions') - -local cmd_add_log cmd_add_log_version -cmd_add_log=(':version:_tla_versions') -cmd_add_log_version=($cmd_add_log) - -local cmd_remove_log cmd_remove_log_version -cmd_remove_log=(':version:_tla_log_versions') -cmd_remove_log_version=($cmd_remove_log) - -local cmd_abrowse -cmd_abrowse=('::LIMIT:_tla_revisions') - -local cmd_cat_log -cmd_cat_log=(':revision-spec:_tla_local_revisions') - -local cmd_changelog -cmd_changelog=('::version:_tla_versions') - -local cmd_log_for_merge -cmd_log_for_merge=('::version:_tla_versions') - -local cmd_merges -cmd_merges=(':INTO:_tla_revisions' '::FROM:_tla_revisions') - -local cmd_new_merges -cmd_new_merges=('::version:_tla_versions') - -local cmd_tag cmd_tagrev cmd_branch -cmd_tag=(':SOURCE-REVISION:_tla_revisions' ':TAG-VERSION:_tla_versions') -cmd_tagrev=($cmd_tag) -cmd_branch=($cmd_tag) - -local cmd_star_merge -cmd_star_merge=(':FROM:_tla_revisions') - -local cmd_missing cmd_whats_missing -cmd_missing=('::revision:_tla_revisions') -cmd_whats_missing=($cmd_missing) - -local cmd_pristines cmd_ls_pristines -cmd_pristines=('::limit:_tla_revisions') -cmd_ls_pristines=($cmd_pristines) - -local cmd_lock_pristine -cmd_lock_pristine=(':revision:_tla_revisions') - -local cmd_add_pristine -cmd_add_pristine=(':revision:_tla_revisions') - -local cmd_find_pristine -cmd_find_pristine=(':revision:_tla_revisions') - -local cmd_my_revision_library cmd_library_dir -cmd_my_revision_library=(':library:_tla_my_revision_library') -cmd_library_dir=($my_revision_library) - -local cmd_library_find -cmd_library_find=(':revision:_tla_revisions --library') - -local cmd_library_add -cmd_library_add=(':revision:_tla_revisions --exclude-library-revisions') - -local cmd_library_remove -cmd_library_remove=(':revision:_tla_revisions --library') - -local cmd_library_archives -cmd_library_archives=() - -local cmd_library_log -cmd_library_log=(':revision:_tla_revisions --library') - -local cmd_library_file -cmd_library_file=(':file:_files' ':revision:_tla_revisions --library') - -local cmd_grab -cmd_grab=(':location:_files') - -local cmd_parse_package_name -cmd_parse_package_name=(':name:') - -local cmd_valid_package_name -cmd_valid_package_name=(':name:') - -local cmd_library_config -cmd_library_config=(':library:_tla_libraries') - -local cmd_rbrowse -cmd_rbrowse=('::regular expression:') - -local cmd_rm -cmd_rm=('*:file:_files') - -local cmd_escape -cmd_escape=(':string:') - -local cmd_diff -cmd_diff=('::revision:_tla_revisions') - -local cmd_export -cmd_export=(':revision:_tla_revisions' ':dir:_files -/') - -#mutually exclusive options - -local -A excludes -excludes=( -# This first line means that if --output was given, don't complete -# --no-output or --keep. The converse is not true. ---output '--no-output --keep' ---no-output --output - ---silent ' --quiet --report --verbose --debug' ---quiet '--silent --report --verbose --debug' ---report '--silent --quiet --verbose --debug' ---verbose '--silent --quiet --report --debug' ---debug '--silent --quiet --report --verbose ' - ---sparse --non-sparse ---non-sparse --sparse - ---files ' --directories --both' ---directories '--files --both' ---both '--files --directories ' - ---mirror --mirror-from ---mirror-from --mirror - ---no-cached --cached-tags ---cached-tags --no-cached - ---non-greedy --greedy ---greedy --non-greedy -) - -_tla_main () { - typeset -A opt_args - local arguments - if (( CURRENT > 2 )); then - local cmd=${words[2]} - local var_cmd=cmd_${cmd//-/_} - curcontext="${curcontext%:*:*}:tla-$cmd:" - (( CURRENT-- )) - shift words - - arguments=() - local input - input=(${${(M)${(f)"$($TLA $cmd -h)"}:# *}# }) - - local i j=1 - local short long arg desc action - short=() - long=() - arg=() - desc=() - action=() - for (( i=1 ; i <= ${#input} ; i++ )); do - [[ "$input[i]" != *[^\ ]* ]] && continue # stupid blank lines - short[j]="${${${input[i]}[1,2]}#--}" - long[j]="${${input[i]#-?, }%% *}" - - arg[j]="${${${input[i]%% *}##* }##-*}" - [[ $long[j] == --archive ]] && arg[j]=ARCHIVE # tla doesn't mention this - - desc[j]="${input[i]##* }" - if [[ "$input[i+1]" == \ *[^\ ]* ]]; then # description continues - (( i++ )) - desc[j]="$desc[j] ${input[i]##* }" - fi - [[ "$short[j]" == -[hHV] ]] && continue - desc[j]="${${desc[j]//\[/\\[}//\]/\\]}" # escape brackets - - case $arg[j] in - DIR|PATCH-DIR|DEST|OUTPUT|PATH) - action[j]='_files -/' ;; - FILES|FILE|SNAP-FILE) - action[j]='_files' ;; - MASTER|MASTER-SOURCE|ARCHIVE) - action[j]='_tla_archives' ;; - CATEGORY) - action[j]='_tla_categories' ;; - BRANCH) - action[j]='_tla_branches' ;; - VERSION) - action[j]='_tla_versions' ;; - CFG) - action[j]='_tla_configs' ;; - LIB) - action[j]='_tla_libraries' ;; -# PATCH,FILE) # not sure how to complete this -# action[j]='_tla_patch_file' ;; - *) - action[j]='' ;; - esac - - (( j++ )) - - done - - local excluded k - for (( i = 1 ; i < j ; i++ )); do - excluded=($short[i] $long[i]) - foreach opt (${=excludes[$long[i]]}) - k=$long[(i)$opt] - excluded=($excluded $short[k] $long[k]) - #excludes matching short options too :-) - end - - - # generate arguments to _arguments ;-) - # make long and short options mutually exclusive - [ $short[i] ] && arguments=("$arguments[@]" - "${hide_short}(${excluded})${short[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - [ $long[i] ] && arguments=("$arguments[@]" - "(${excluded})${long[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - done - - arguments=("$arguments[@]" "${(@P)var_cmd-*:FILE:_files}") - else - local help - local -U cmds - help=(${(f)"$($TLA help)"}) - cmds=(${${${${(M)help:#* :*}/ #: #/:}%% ##}## #}) - arguments=(':command:(($cmds))') - fi - _arguments -S -A '-*' \ - {"${hide_short}(: -)-V",'(: -)--version'}'[display version]' \ - {"${hide_short}(: -)-h",'(: -)--help'}'[display help]' \ - '(: -)-H[display verbose help]' \ - "$arguments[@]" -} - -_tla_main "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tload b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tload deleted file mode 100644 index 29fddfc3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tload +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tload -# based on procps-ng-3.3.15 - -_arguments -s \ - '(-s --scale)'{-s+,--scale=}'[specify the vertical scale]:number of characters between tics: ' \ - '(-d --delay)'{-d+,--delay=}'[specify the delay between updates]:seconds: ' \ - '(- *)'{-h,--help}'[display help and exit]' \ - '(- *)'{-V,--version}'[display version information and exit]' \ - '1: :_ttys -o' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tmux b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tmux deleted file mode 100644 index 844af58f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tmux +++ /dev/null @@ -1,1899 +0,0 @@ -#compdef tmux - -# tmux <http://tmux.github.io> completion for zsh <http://zsh.sf.net>. -# -# Configuration: -# -# - On some OSs, the directory for tmux's server sockets may not be -# the default (which is /tmp/tmux-<uid>/), but say -# /var/run/tmux/tmux-<uid>, in which case the completion for -# 'tmux -L <tab>' will not be able to find the sockets in the default -# location (debian does this, for instance); tell _tmux the right place -# to look: -# % zstyle ':completion:*:*:tmux:*:sockets' socketdir "/var/run/tmux/tmux-${UID}" -# -# - tmux knows a *lot* of sub-commands, hence 'tmux <tab>' returns a lot -# of possible completions. _tmux knows about all commands and their aliases. -# By default, both are offered. If you do not care about the aliases, do this: -# % zstyle ':completion:*:*:tmux:*:subcommands' mode 'commands' -# -# The same can be done to only return aliases by setting the above style -# to 'aliases'. The default value is 'both' (but actually every value -# different from 'commands' and 'aliases' will have the same effect). -# -# 'lsw' is an alias for 'list-windows' for example; note that not all -# commands have aliases. So probably, either the default 'both' or -# 'commands' makes most sense for this style. -# -# - For finer grained control over what is suggested as possible completions, -# the 'ignored-patterns' style may be used; suppose you think that only -# '*-window' or '*-windows' are worth being completed. You would get that -# behaviour like this: -# % zstyle ':completion:*:*:tmux:*:subcommands' ignored-patterns '^*-window(|s)' -# -# Some tmux commands currently do not work if called from a shell prompt, -# so it would make sense to ignore them per default (at the time of writing, -# those commands are choose-{session,client,window}, confirm-before and -# find-window. This would ignore them: -# % zstyle ':completion:*:*:tmux:*:subcommands' ignored-patterns \ -# 'choose-*' 'confirm-before' 'find-window' -# -# The configuration for subcommand completions may be done in -# this context: ':completion:*:*:tmux-<sub-command>:*:*' -# -# TODO: -# -# - Implement __tmux-style (possibly using existing helpers like -# __tmux-attributes and __tmux-colours) -# - in _tmux-list-panes, use __tmux-windows or __tmux-sessions -# depending on -s is among the sub-commands current command line. - -# Global variables; setup the first time _tmux is called. -# For $_tmux_commands[] generation, see the very end of this file. -typeset -ga _tmux_commands=() _tmux_aliases=() -typeset -gA _tmux_aliasmap - -_tmux_aliasmap=( - # clients and sessions - attach attach-session - detach detach-client - has has-session - lockc lock-client - locks lock-session - lsc list-clients - lscm list-commands - ls list-sessions - new new-session - refresh refresh-client - rename rename-session - showmsgs show-messages - source source-file - start start-server - suspendc suspend-client - switchc switch-client - - # windows and panes - breakp break-pane - capturep capture-pane - displayp display-panes - findw find-window - joinp join-pane - killp kill-pane - killw kill-window - last last-window - lastp last-pane - linkw link-window - lsp list-panes - lsw list-windows - movep move-pane - movew move-window - neww new-window - nextl next-layout - next next-window - pipep pipe-pane - prev previous-window - prevl previous-layout - renamew rename-window - resizep resize-pane - resizew resize-window - respawnp respawn-pane - respawnw respawn-window - rotatew rotate-window - selectl select-layout - selectp select-pane - selectw select-window - splitw split-window - swapp swap-pane - swapw swap-window - unlinkw unlink-window - - # key bindings - bind bind-key - lsk list-keys - send send-keys - unbind unbind-key - - # options - set set-option - setw set-window-option - show show-options - showw show-window-options - - # environment - setenv set-environment - showenv show-environment - - # status line - confirm confirm-before - menu display-menu - display display-message - popup display-popup - - # buffers - clearhist clear-history - deleteb delete-buffer - lsb list-buffers - loadb load-buffer - pasteb paste-buffer - saveb save-buffer - setb set-buffer - showb show-buffer - - # miscellaneous - if if-shell - lock lock-server - run run-shell - info server-info - wait wait-for -) - -# --- Sub-command functions --- -# These *must* be called _tmux-*(); The description generation relies on -# them being named that way. *No* other functions may match that pattern. -# Other utility functions should be named __tmux-*() (see below). -# -# Another thing, the description generation needs, is handling of -# $tmux_describe: If that parameter is non-empty, the sub-command function -# should only print a description of the sub-command it handles and return -# immediately after doing so. -# -# To add support for a new sub-command, you only have to add a new -# _tmux-<foo>() function below (preferably alphabetically sorted), that -# behaves like described above; and add a alias->command pair in the -# _tmux_aliasmap associative array above (if the command in fact has an -# alias). The rest should just work[tm]. - -_tmux-attach-session() { - [[ -n ${tmux_describe} ]] && print "attach or switch to a session" && return - - _arguments -s \ - '-c+[specify working directory for the session]:directory:_directories' \ - '-d[detach other clients attached to target session]' \ - '-f+[set client flags]: :_tmux_client_flags' \ - '-r[put the client into read-only mode]' \ - '-t+[specify target session]:target session: __tmux-sessions-separately' \ - "-E[don't apply update-environment option]" \ - '-x[with -d, send SIGHUP to the parent of the attached client]' -} - -_tmux-bind-key() { - [[ -n ${tmux_describe} ]] && print "bind a key to a command" && return - _arguments -s -A "-*" \ - '-n[make the binding work without the need for the prefix key]' \ - '-r[the key may repeat]' \ - '-N+[attach a note to the key]:note' \ - '-T+[specify key table for the binding]:key table' \ - '1:key' \ - '*:::template:= _tmux' -} - -_tmux-break-pane() { - [[ -n ${tmux_describe} ]] && print "break a pane from an existing into a new window" && return - _arguments -s \ - '(-b)-a[move window to next index after]' \ - '(-a)-b[move window to next index before]' \ - "-d[don't make the new window become the active one]" \ - '-F+[specify output format]:format:__tmux-formats' \ - '-P[print information of new window after it has been created]' \ - '-n+[specify window name]:name' \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify destination window]:pane:__tmux-panes' -} - -_tmux-capture-pane() { - [[ -n ${tmux_describe} ]] && print "capture the contents of a pane to a buffer" && return - _arguments -s \ - '-a[use alternate screen]' \ - '(-p)-b+[choose target buffer]:target buffer:__tmux-buffers' \ - '-C[escape non-printable characters as octal \\ooo]' \ - '-e[include escape sequences for attributes etc]' \ - '-E[specify last line to capture]:line number (- means last line)' \ - '(-N)-J[join wrapped lines and preserve trailing space]' \ - '(-J)-N[preserve trailing space]' \ - '-q[ignore errors when trying to access alternate screen]' \ - '(-b)-p[print data to stdout]' \ - '-P[only capture beginnings of as-yet incomplete escape sequences]' \ - '-S[specify start line to capture]:first line (- means start of scrollback)' \ - '-t+[choose source pane]:source pane:__tmux-panes' -} - -_tmux-choose-buffer() { - [[ -n ${tmux_describe} ]] && print "put a pane into buffer choice mode" && return - _arguments -s \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:= _tmux' -} - -_tmux-choose-client() { - [[ -n ${tmux_describe} ]] && print "put a window into client choice mode" && return - _arguments -s \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:= _tmux' -} - -_tmux-choose-tree() { - [[ -n ${tmux_describe} ]] && print "put a window into tree choice mode" && return - _arguments -s \ - '-G[include all sessions in any session groups in the tree rather than only the first]' \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-s[choose among sessions]' \ - '-t+[specify target window]:session:__tmux-windows' \ - '-w[choose among windows]' \ - '*:::template:= _tmux' -} - -_tmux-clear-history() { - [[ -n ${tmux_describe} ]] && print "remove and clear history for a pane" && return - _arguments '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-clock-mode() { - [[ -n ${tmux_describe} ]] && print "enter clock mode" && return - _arguments '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-command-prompt() { - [[ -n ${tmux_describe} ]] && print "open the tmux command prompt in a client" && return - _arguments -s \ - '-1[only accept one key press]' \ - '-k[only accept one key press and translate it to a key name]' \ - '-N[accept only numeric key presses]' \ - '-i[execute the command every time the prompt input changes]' \ - '-I+[specify list of initial inputs]:initial-text (comma-separated list)' \ - '-p+[specify list of prompts]:prompts (comma-separated list)' \ - '-t+[specify target client]:client:__tmux-clients' \ - '(-W)-T[prompt is for a target - tab complete as appropriate]' \ - '(-T)-W[prompt is for a window - tab complete as appropriate]' \ - '*:::template:= _tmux' -} - -_tmux-confirm-before() { - [[ -n ${tmux_describe} ]] && print "run a command but ask for confirmation before" && return - _arguments -s \ - '-p+[specify prompt]:prompt string' \ - '-t+[specify target client]:client:__tmux-clients' \ - '*:::command:= _tmux' -} - -_tmux-copy-mode() { - [[ -n ${tmux_describe} ]] && print "enter copy mode" && return - _arguments -s \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-e[scrolling to the bottom should exit copy mode]' \ - '-H[hide the position indicator in the top right]' \ - '-q[cancel copy mode and any other modes]' \ - '-u[scroll up one page]' \ - '-M[begin a mouse drag]' -} - -_tmux-customize-mode() { - [[ -n ${tmux_describe} ]] && print "enter customize mode" && return - _arguments -s \ - '-F+[specify format for each item in the tree]:format:__tmux-formats' \ - '-f+[specify initial filter]:filter:__tmux-formats' \ - '-N[start without the option information]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-Z[zoom the pane]' -} - -_tmux-delete-buffer() { - [[ -n ${tmux_describe} ]] && print "delete a paste buffer" && return - _arguments '-b+[specify target buffer name]:buffer:__tmux-buffers' -} - -_tmux-detach-client() { - [[ -n ${tmux_describe} ]] && print "detach a client from the server" && return - _arguments -s \ - '-a[kill all clients except for the named by -t]' \ - '-P[send SIGHUP to parent process]' \ - '-E+[run specified shell command to replace the client]:shell command:_cmdstring' \ - '-s+[specify target session and kill its clients]:session:__tmux-sessions-attached' \ - '-t+[specify target client]:client:__tmux-clients' -} - -_tmux-display-menu() { - [[ -n ${tmux_describe} ]] && print "display a menu" && return - local curcontext="$curcontext" ret=1 - local -a state line expl - _arguments -C -s -S -A "-*" \ - '-c+[specify target client]:client:__tmux-clients' \ - "-O[don't close menu if mouse is released without making a selection]" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-T+[specify title]:title' \ - '-x+[specify horizontal position]: : _alternative "columns\: \:_guard \[0-9\]\# column" "positions\:position\:((R\:right P\:bottom M\:mouse W\:window))"' \ - '-y+[specify vertical position]: : _alternative "rows\: \:_guard \[0-9\]\# row" "positions\:position\:((P\:left M\:mouse S\:status\ line))"' \ - '*::: :->options' && ret=0 - - if [[ -n $state ]]; then - case $(( CURRENT % 3 )) in - 1) _message -e menu-options 'menu option' ;; - 2) _message -e keys 'shortcut key' ;; - 0) - compset -q - words=( menu "$words[@]" ) - (( CURRENT++ )) - _tmux && ret=0 - ;; - esac - fi - - return ret -} - -_tmux-display-message() { - [[ -n ${tmux_describe} ]] && print "display a message in the status line" && return - _arguments -s -S -A "-*" \ - '(-p -F :)-a[list the format variables and their values]' \ - '-I[forward any input read from stdin to the target pane]' \ - '-N[ignore key presses and only close after the delay]' \ - '-c+[specify target client]:client:__tmux-clients' \ - '-d+[time to display message]:delay (milliseconds)' \ - '(-a)-p[print message to stdout]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '(-a)-F+[specify output format]:format:__tmux-formats' \ - '(-a)-v[print verbose logging as the format is parsed]' \ - ':message:__tmux-formats' -} - -_tmux-display-panes() { - [[ -n ${tmux_describe} ]] && print "display an indicator for each visible pane" && return - _arguments -S \ - "-b[don't block other commands until indicator is closed]" \ - '-d+[time to show indicator for]:duration (ms)' \ - '-t+[specify target client]:client:__tmux-clients' \ - '*:::command:= _tmux' -} - -_tmux-display-popup() { - [[ -n ${tmux_describe} ]] && print "display a popup box over a pane" && return - _arguments -s \ - '-C[close any popup on the client]' \ - '-c+[specify target client]:client:__tmux-clients' \ - '-d+[specify working directory for the command]:directory:_directories' \ - '-E[close the popup when the command exits]' \ - '-w+[specify width]:width' \ - '-h+[specify height]:height' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-x+[specify horizontal position]:position' \ - '-y+[specify vertical position]:position' \ - ':shell command:_cmdstring' -} - -_tmux-find-window() { - [[ -n ${tmux_describe} ]] && print "search for a pattern in windows" && return - _arguments -s \ - '-i[ignore case]' \ - '-r[use regular expression matching]' \ - '-C[match visible contents]' \ - '-N[match window name]' \ - '-T[match window title]' \ - '-t+[specify target window]:window:__tmux-windows' \ - '-Z[zoom the pane]' \ - ':window search pattern' -} - -_tmux-has-session() { - [[ -n ${tmux_describe} ]] && print "check and report if a session exists on the server" && return - _arguments '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-if-shell() { - [[ -n ${tmux_describe} ]] && print "execute a tmux command if a shell-command succeeded" && return - local curcontext="$curcontext" state line ret=1 - _arguments -C -s \ - '-b[run shell command in background]' \ - "-F[don't execute shell command but use it as a string-value]" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '1:shell command:_cmdstring' \ - '2:tmux command (success):->tmuxcmd' \ - '3:tmux command (failure):->tmuxcmd' && ret=0 - if [[ -n $state ]]; then - compset -q - _tmux && ret=0 - fi -} - -_tmux-join-pane() { - [[ -n ${tmux_describe} ]] && print "split a pane and move an existing one into the new space" && return - # -p removed from documentation but still works, or use -l and append % - _arguments -s \ - '-b[join source pane left of or above target pane]' \ - "-d[don't make the new window become the active one]" \ - '(-l)-f[span the full size]' \ - '-h[split horizontally]' \ - '-v[split vertically]' \ - "(-p)-l[define new pane's size]:size" \ - "!(-f -l)-p+:size (percentage)" \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-kill-pane() { - [[ -n ${tmux_describe} ]] && print "destroy a given pane" && return - _arguments -s \ - '-a[kill all panes except the one specified by -t]' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-kill-server() { - [[ -n ${tmux_describe} ]] && print "kill clients, sessions and server" && return - __tmux-nothing-else -} - -_tmux-kill-session() { - [[ -n ${tmux_describe} ]] && print "destroy a given session" && return - _arguments -s \ - '-a[kill all session except the one specified by -t]' \ - '-t+[specify target session]:session:__tmux-sessions' \ - '-C[clear alerts (bell, activity, silence) in all windows linked to the session]' -} - -_tmux-kill-window() { - [[ -n ${tmux_describe} ]] && print "destroy a given window" && return - _arguments -s \ - '-a[kill all windows except the one specified by -t]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-last-pane() { - [[ -n ${tmux_describe} ]] && print "select the previously selected pane" && return - _arguments -s \ - '-d[disable input to the pane]' \ - '-e[enable input to the pane]' \ - '-Z[keep window zoomed if it was zoomed]' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-last-window() { - [[ -n ${tmux_describe} ]] && print "select the previously selected window" && return - _arguments '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-link-window() { - [[ -n ${tmux_describe} ]] && print "link a window to another" && return - _arguments -s \ - '(-b)-a[move window to next index after destination window]' \ - '(-a)-b[move window to next index before destination window]' \ - "-d[don't make the new window become the active one]" \ - '-k[kill the target window if it exists]' \ - '-s+[specify source window]:window:__tmux-windows' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-list-buffers() { - [[ -n ${tmux_describe} ]] && print "list paste buffers of a session" && return - _arguments \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' -} - -_tmux-list-clients() { - [[ -n ${tmux_describe} ]] && print "list clients attached to server" && return - _arguments -s \ - '-F+[specify output format]:format:__tmux-formats' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-list-commands() { - [[ -n ${tmux_describe} ]] && print "list supported sub-commands" && return - _arguments '-F+[specify format]:format:__tmux-formats' '1:sub-command:_tmux' -} - -_tmux-list-keys() { - [[ -n ${tmux_describe} ]] && print "list all key-bindings" && return - _arguments -s \ - '-1[list only the first matching key]' \ - '-a[list the command for keys that do have a note]' \ - '-N[list only keys with attached notes]' \ - '-P+[specify a prefix to print before each key]:prefix' \ - '-T+[specify key table]:key table' -} - -_tmux-list-panes() { - [[ -n ${tmux_describe} ]] && print "list panes of a window" && return - local -a args - if (( ${+words[(r)-*s*]} )); then - args=( '-t+[specify target session]:session:__tmux-sessions' ) - else - args=( '-t+[specify target window]:window:__tmux-windows' ) - fi - _arguments -s $args \ - '-a[list all panes the server possesses]' \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-s[if specified, -t chooses a session]' -} - -_tmux-list-sessions() { - [[ -n ${tmux_describe} ]] && print "list sessions managed by server" && return - _arguments \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' -} - -_tmux-list-windows() { - [[ -n ${tmux_describe} ]] && print "list windows of a session" && return - _arguments -s \ - '-a[list all windows the tmux server possesses]' \ - '-F[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-load-buffer() { - [[ -n ${tmux_describe} ]] && print "load a file into a paste buffer" && return - _arguments -A "-*" -S \ - '-b+[specify target buffer name]:buffer:__tmux-buffers' \ - '-t+[specify target client]:client:__tmux-clients' \ - '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ - '1:file:_files' -} - -_tmux-lock-client() { - [[ -n ${tmux_describe} ]] && print "lock a client" && return - _arguments '-t+[specify client]:client:__tmux-clients' -} - -_tmux-lock-server() { - [[ -n ${tmux_describe} ]] && print "lock all clients attached to the server" && return - __tmux-nothing-else -} - -_tmux-lock-session() { - [[ -n ${tmux_describe} ]] && print "lock all clients attached to a session" && return - _arguments '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-move-pane() { - _tmux-join-pane "$@" -} - -_tmux-move-window() { - [[ -n ${tmux_describe} ]] && print "move a window to another" && return - _arguments -s \ - '(-b)-a[move window to next index after destination window]' \ - '(-a)-b[move window to next index before destination window]' \ - "-d[don't make the new window become the active one]" \ - '-k[kill the target window if it exists]' \ - '-s+[specify source window]:window:__tmux-windows' \ - '-r[renumber windows in session in sequential order]' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-new-session() { - [[ -n ${tmux_describe} ]] && print "create a new session" && return - _arguments -s -A "-*" -S \ - '-c+[specify working directory for the session]:directory:_directories' \ - '-A[attach to existing session if it already exists]' \ - "-d[don't attach new session to current terminal]" \ - "-D[with -A, detach other clients attached to session]" \ - "-E[don't apply update-environment option]" \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[specify client flags]: :_tmux_client_flags' \ - '-n+[specify initial window name]:window name' \ - '-P[print information about new session after it is created]' \ - '-s+[name the session]:session name:__tmux-sessions' \ - '-t+[specify target session]:session:__tmux-sessions' \ - '-x[specify width]:width' \ - '-y[specify height]:height' \ - '-X[with -D, send SIGHUP to the parent of the attached client]' \ - '*:: :_cmdambivalent' -} - -_tmux-new-window() { - [[ -n ${tmux_describe} ]] && print "create a new window" && return - _arguments -s -A "-*" -S \ - '(-b)-a[insert new window at next index after target]' \ - '(-a)-b[insert new window at next index before target]' \ - '-c+[specify working directory for the session]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - "(-S)-d[don't make the new window become the active one]" \ - '-F+[specify output format]:format:__tmux-formats' \ - '-k[destroy it if the specified window exists]' \ - '-n+[specify a window name]:window name' \ - '-P[print information about new window after it is created]' \ - '(-d)-S[select window if name already exists]' \ - '-t+[specify target window]:window:__tmux-windows' \ - '*:: :_cmdambivalent' -} - -_tmux-next-layout() { - [[ -n ${tmux_describe} ]] && print "move a window to the next layout" && return - _arguments '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-next-window() { - [[ -n ${tmux_describe} ]] && print "move to the next window in a session" && return - _arguments -s \ - '-a[move to the next window with an alert]' \ - '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-paste-buffer() { - [[ -n ${tmux_describe} ]] && print "insert a paste buffer into the window" && return - _arguments -s \ - '-b+[specify buffer]:source buffer:__tmux-buffers' \ - '-d[remove buffer from stack after pasting]' \ - '-p[use bracketed paste mode if the application requested it]' \ - "-r[don't replace LF with CR when pasting]" \ - '-s+[specify separator]:separator' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-pipe-pane() { - [[ -n ${tmux_describe} ]] && print "pipe output from a pane to a shell command" && return - _arguments -s -A "-*" -S \ - '-I[write stdout from command to the pane as if it were typed]' \ - '-O[pipe output from the pane to the command (default unless -I used)]' \ - '-o[only open a pipe if none is currently opened]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - ':shell command:_cmdstring' -} - -_tmux-previous-layout() { - [[ -n ${tmux_describe} ]] && print "move a window to the previous layout" && return - _arguments '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-previous-window() { - [[ -n ${tmux_describe} ]] && print "move to the previous window in a session" && return - _arguments -s \ - '-a[move to the previous window with an alert]' \ - '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-refresh-client() { - [[ -n ${tmux_describe} ]] && print "refresh a client" && return - _arguments -s -A "-*" -S \ - '-B+[set a subscription to a format for a control mode client]:subscription' \ - '-A+[allow a control mode client to trigger actions on a pane]:pane:__tmux-panes -P% -S\:' \ - '-C+[set the width and height of a control client]:width,height' \ - '-c[reset so that the position follows the cursor]' \ - '-D[move visible portion of window down]' \ - '-f+[set client flags]:flag:_tmux_client_flags' \ - '-L[move visible portion of window left]' \ - '-l[request clipboard from the client and store it in a new paste buf using xterm(1) escape sequence]' \ - "-S[only update the client's status bar]" \ - '-t+[specify target client]:client:__tmux-clients' \ - '-R[move visible portion of window right]' \ - '-U[move visible portion of window up]' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-rename-session() { - [[ -n ${tmux_describe} ]] && print "rename a session" && return - _arguments -s -A "-*" -S \ - '-t+[specify target session]:session:__tmux-sessions' \ - ':new session name' -} - -_tmux-rename-window() { - [[ -n ${tmux_describe} ]] && print "rename a window" && return - _arguments -s -A "-*" -S \ - '-t+[specify target window]:window:__tmux-windows' \ - ':new window name' -} - -_tmux-resize-pane() { - [[ -n ${tmux_describe} ]] && print "resize a pane" && return - _arguments -s -A "-*" -S \ - '-D[resize downward]' \ - '-L[resize to the left]' \ - '-M[begin mouse resizing]' \ - '-R[resize to the right]' \ - '-U[resize upward]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-T[trim lines below the cursor position and moves lines out of the history to replace them]' \ - '-x+[specify width]:width' \ - '-y+[specify height]:height' \ - '-Z[toggle zoom of pane]' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-resize-window() { - [[ -n ${tmux_describe} ]] && print "resize a window" && return - _arguments -s -A "-*" -S : \ - '-A[set size of largest session containing the window]' \ - '-a[set size of smallest session containing the window]' \ - '-D[resize downward]' \ - '-L[resize to the left]' \ - '-R[resize to the right]' \ - '-U[resize upward]' \ - '-t+[specify target pane]:pane:__tmux-windows' \ - '-x+[specify width]:width' \ - '-y+[specify height]:height' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-respawn-pane() { - [[ -n ${tmux_describe} ]] && print "reuse a pane in which a command has exited" && return - _arguments -s -A "-*" -S \ - '-c+[specify a new working directory for the pane]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-k[kill window if it is in use]' \ - '-t+[specify target pane]:pane:__tmux-pane' \ - ':command:_cmdambivalent' -} - -_tmux-respawn-window() { - [[ -n ${tmux_describe} ]] && print "reuse a window in which a command has exited" && return - _arguments -s -A "-*" -S \ - '-c+[specify a new working directory for the window]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-k[kill window if it is in use]' \ - '-t+[specify target window]:window:__tmux-windows' \ - ':command:_cmdambivalent' -} - -_tmux-rotate-window() { - [[ -n ${tmux_describe} ]] && print "rotate positions of panes in a window" && return - _arguments -s \ - '-D[rotate downward]' \ - '-U[rotate upward]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-run-shell() { - [[ -n ${tmux_describe} ]] && print "execute a command without creating a new window" && return - local curcontext="$curcontext" ret=1 - local -a state line expl - _arguments -C -s -A "-*" -S \ - '-b[run command in background]' \ - '(1)-C[run a tmux command]' \ - '-d+[specify delay before starting the command]:delay (seconds)' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '(2)1:command:_cmdstring' \ - '2:tmux command:->tmux-commands' && ret=0 - - if [[ -n $state ]]; then - compset -q - words=( run "$words[@]" ) - (( CURRENT++ )) - _tmux && ret=0 - fi -} - -_tmux-save-buffer() { - [[ -n ${tmux_describe} ]] && print "save a paste buffer to a file" && return - _arguments -s \ - '-a[append to rather than overwriting file]' \ - '-b+[specify a target buffer index]:buffer:__tmux-buffers' -} - -_tmux-select-layout() { - [[ -n ${tmux_describe} ]] && print "choose a layout for a pane" && return - _arguments -s -A "-*" -S \ - '-E[spread the current pane and any panes next to it out evenly]' \ - '-n[behave like next-layout]' \ - '-o[revert to previous layout]' \ - '-p[behave like previous-layout]' \ - '-t+[specify a target pane]:target pane:__tmux-panes' \ - ':layout:(even-horizontal even-vertical main-horizontal main-vertical tiled)' -} - -_tmux-select-pane() { - [[ -n ${tmux_describe} ]] && print "make a pane the active one in the window" && return - # -P and -g have been removed from the documentation in tmux 3 but still work - _arguments -s \ - '-D[move to the pane below target]' \ - '-d[disable input to the pane]' \ - '-e[enable input to the pane]' \ - '-g[show current pane style]' \ - '-l[behave like last-pane]' \ - '-L[move to the pane left of target]' \ - '-M[clear marked pane]' \ - '-m[set marked pane]' \ - '-R[move to the pane right of target]' \ - '-U[move to the pane above target]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-P+[set pane style]:style:__tmux-style' \ - '-T+[set the pane title]:title' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-select-window() { - [[ -n ${tmux_describe} ]] && print "select a window" && return - _arguments -s \ - '-l[behave like last-window]' \ - '-n[behave like next-window]' \ - '-p[behave like previous-window]' \ - '-T[if selected window is the current behave like last-window]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-send-keys() { - [[ -n ${tmux_describe} ]] && print "send key(s) to a window" && return - _arguments -s -A "-*" -S \ - '(-H)-l[disable key name lookup and send data literally]' \ - '-F[expand formats in arguments where appropriate]' \ - '(-l)-H[interpret key as hexadecimal number for an ASCII character]' \ - '-R[reset terminal state]' \ - '-M[pass through a mouse event]' \ - '-X[send a command into copy mode]' \ - '-N+[specify repeat count]:repeat count' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '*:key' -} - -_tmux-send-prefix() { - [[ -n ${tmux_describe} ]] && print "send the prefix key to a window" && return - _arguments -s \ - '-2[send secondary prefix key]' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-server-info() { - [[ -n ${tmux_describe} ]] && print "show server information" && return - __tmux-nothing-else -} - -_tmux-set-buffer() { - [[ -n ${tmux_describe} ]] && print "set contents of a paster buffer" && return - _arguments -s -A "-*" -S \ - '-a[append to rather than overwriting target buffer]' \ - '-b+[specify target buffer index]:pane:__tmux-buffers' \ - '-n+[specify new buffer name]:buffer-name' \ - '-t+[specify target client]:client:__tmux-clients' \ - '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ - ':data' -} - -_tmux-set-environment() { - [[ -n ${tmux_describe} ]] && print "(un)set an environment variable" && return - local mode=session action=add - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s -A "-*" -S : \ - '-F[expand value as a format]' \ - '(-t)-g[modify global environment]' \ - '-h[mark the variable as hidden]' \ - '(-u)-r[remove variable before starting new processes]' \ - '(-r)-u[unset a variable]' \ - '(-g)-t[specify target session]:target session:__tmux-sessions' \ - ': :->name' '(-u -r)2: :->value' && ret=0 - - if (( ${+opt_args[-g]} )); then - mode=global - fi - if (( ${+opt_args[-u]} )); then - action=unset - fi - if (( ${+opt_args[-r]} )); then - action=remove - fi - - # TODO: the exclusion "(-g -r)2:" doesn't work, so simulate it here - if [[ $action == (remove|unset) ]] && [[ $state == value ]]; then - __tmux-nothing-else - else - __tmux-environment-variables $mode $state $action && ret=0 - fi - return ret -} - -_tmux-set-option() { - [[ -n ${tmux_describe} ]] && print "set a session option" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-a[append to string options]' \ - '-F[expand formats in the option value]' \ - '-g[set a global session option]' \ - '-o[prevent setting of an option that is already set]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-u[unset a non-global option]' \ - '-U[unset a pane option across all panes in the window]' \ - '(-w -s)-p[change pane (no session) options]' \ - '(-p -s)-w[change window (not session) options]' \ - '(-p -w)-s[change server (not session) options]' \ - '-t+[specify target session]:target session:__tmux-sessions' \ - '*:: :->name_or_value' && ret=0 - - if (( ${+opt_args[-w]} )); then - mode=window - elif (( ${+opt_args[-s]} )); then - mode=server - fi - __tmux-options-complete ${mode} ${state} && ret=0 - return ret -} - -_tmux-set-window-option() { - [[ -n ${tmux_describe} ]] && print "set a window option" && return - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-a[append to string options]' \ - '-F[expand formats in the option value]' \ - '-g[set a global window option]' \ - '-o[prevent setting of an option that is already set]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-u[unset a non-global option]' \ - '-t+[specify target window]:target window:__tmux-windows' \ - '*:: :->name_or_value' && ret=0 - __tmux-options-complete window ${state} && ret=0 - return ret -} - -_tmux-set-hook() { - [[ -n ${tmux_describe} ]] && print "set a hook to a command" && return - _arguments -s \ - '-a[append to hook]' \ - '(-R)-g[add hook to global list]' \ - '(-g -u)-R[run hook immediately]' \ - '(-w)-p[set pane hooks]' \ - '(-p)-w[set window hooks]' \ - '(-R)-u[unset a hook]' \ - '-t+[specify target session]:session:__tmux-sessions' \ - ':hook name:_tmux_hooks' \ - '*:::command:= _tmux' -} - -_tmux-show-hooks() { - [[ -n ${tmux_describe} ]] && print "show the global list of hooks" && return - _arguments -s -S -A "-*" \ - '-g[show global list of hooks]' \ - '(-w)-p[show pane hooks]' \ - '(-p)-w[show window hooks]' \ - '-t+[specify target session]:session:__tmux-sessions' \ -} - -_tmux-show-buffer() { - [[ -n ${tmux_describe} ]] && print "display the contents of a paste buffer" && return - _arguments '-b[specify target buffer index]:pane:->buffer' -} - -_tmux-show-environment() { - [[ -n ${tmux_describe} ]] && print "display the environment" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -A "-*" -s : \ - '(-t)-g[show global environment]' \ - '-h[show hidden variables]' \ - '-s[format output as Bourne shell commands]' \ - '(-g)-t+[specify target session]:target session:__tmux-sessions' \ - '1:: :->name' && ret=0 - - if (( ${+opt_args[-g]} )); then - mode=global - fi - - __tmux-environment-variables $mode $state show && ret=0 - return ret -} - -_tmux-show-messages() { - [[ -n ${tmux_describe} ]] && print "show client's message log" && return - _arguments -s \ - '-J[show debugging information about running jobs]' \ - '-T[show debugging information about involved terminals]' \ - '-t+[specify target client]:client:__tmux-clients' -} - -_tmux-show-options() { - [[ -n ${tmux_describe} ]] && print "show session options" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-A[include options inherited from a parent set]' \ - '-H[include hooks]' \ - '-g[show global options]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-v[show only the option value, not the name]' \ - '(-s -w)-p[show pane (not session) options]' \ - '(-p -w)-s[show server (not session) options]' \ - '(-p -s)-w[show window (not session) options]' \ - '-t+[specify target session]:target session:__tmux-sessions' \ - '*:: :->name_or_value' && ret=0 - - if (( ${+opt_args[-w]} )); then - mode=window - elif (( ${+opt_args[-s]} )); then - mode=server - fi - __tmux-options-complete ${mode} ${state} && ret=0 - return ret -} - -_tmux-show-window-options() { - [[ -n ${tmux_describe} ]] && print "show window options" && return - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-g[show global options]' \ - '-v[show only the option value, not the name]' \ - '-t+[specify target window]:target window:__tmux-windows' \ - '*:: :->name_or_value' && ret=0 - __tmux-options-complete window ${state} && ret=0 - return ret -} - -_tmux-source-file() { - [[ -n ${tmux_describe} ]] && print "execute tmux commands from a file" && return - _arguments \ - '-F[expand path as a format]' \ - '-n[file is parsed but no commands are executed]' \ - "-q[don't report error if path doesn't exist]" \ - '-v[show parsed commands and line numbers if possible]' \ - '*:path:_directories' -} - -_tmux-split-window() { - [[ -n ${tmux_describe} ]] && print "splits a pane into two" && return - # -p removed from documentation but still works, or use -l and append % - _arguments -s \ - '-b[create new pane left of or above target pane]' \ - "-d[don't make the new window become the active one]" \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-F+[specify output format]:format:__tmux-formats' \ - '(-l)-f[create new pane spanning full window width or height]' \ - '-h[split horizontally]' \ - '-v[split vertically]' \ - "(-p)-l[define new pane's size]:size" \ - "!(-f -l)-p+:size (percentage)" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-Z[zoom the pane]' \ - '(:)-I[create empty pane and forward stdin to it]' \ - ':command:_cmdambivalent' - # Yes, __tmux-panes is correct here. The behaviour was changed - # in recent tmux versions and makes more sense. Except that - # changing the command's name might annoy users. So it stays like - # this. -} - -_tmux-start-server() { - [[ -n ${tmux_describe} ]] && print "start a tmux server" && return - __tmux-nothing-else -} - -_tmux-suspend-client() { - [[ -n ${tmux_describe} ]] && print "suspend a client" && return - _arguments '-t+[specify destination client]:client:__tmux-clients' -} - -_tmux-swap-pane() { - [[ -n ${tmux_describe} ]] && print "swap two panes" && return - _arguments -s \ - '-D[move pane down]' \ - '-U[move pane up]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - "-d[don't change the active pane]" \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify destination pane]:pane:__tmux-panes' -} - -_tmux-swap-window() { - [[ -n ${tmux_describe} ]] && print "swap two windows" && return - _arguments -s \ - "-d[don't make the new window become the active one]" \ - '-s+[specify source window]:window:__tmux-windows' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-switch-client() { - [[ -n ${tmux_describe} ]] && print "switch the client to another session" && return - _arguments -s \ - '-c+[specify a target client]:client:__tmux-clients' \ - "-E[don't apply update-environment option]" \ - '-l[move client to last session]' \ - '-n[move client to next session]' \ - '-p[move client to previous session]' \ - '-r[toggle read-only flag of client]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-unbind-key() { - [[ -n ${tmux_describe} ]] && print "unbind a key" && return - local curcontext="$curcontext" state line keytable - local -a ow - - ow=( "${words[@]}" ) - _arguments -C -s \ - '-a[remove all key bindings]' \ - '-n[remove a non-prefix binding]' \ - '-q[prevent errors being returned]' \ - '-T[specify key table]:key table' \ - '*:: :->boundkeys' - - [[ ${state} != 'boundkeys' ]] && return - keytable="$(__tmux-get-optarg -t "${ow[@]}")" - if [[ -n ${keytable} ]]; then - __tmux-bound-keys -t ${keytable} - return - fi - __tmux-bound-keys -} - -_tmux-unlink-window() { - [[ -n ${tmux_describe} ]] && print "unlink a window" && return - _arguments -s \ - '-k[kill the window if it is only in one session]' \ - '-t+[specify target window]:target window:__tmux-windows' -} - -_tmux-wait-for() { - [[ -n ${tmux_describe} ]] && print "wait for an event or trigger it" && return - _arguments -s \ - '-L[lock the named channel]' \ - '-S[send signal to channel]' \ - '-U[unlock the named channel]' \ - ':event channel' -} - -# --- Utility functions --- -# They should be called __tmux-*() and kept separate from the -# sub-command functions. - -function __tmux-attributes() { - local -a attr already - attr=( default bright bold dim underscore blink reverse hidden italics ) - compset -P '*,' - already=( ${(s<,>)IPREFIX} ) - _describe -t tmux-attribute 'tmux attribute' attr -S, -F already -q -} - -function __tmux-buffers() { - local expl - local -a buffers - - if [[ ${(t)bopts} != *array* ]]; then - local -a bopts; bopts=() - fi - - buffers=( ${${(f)"$(command tmux 2> /dev/null list-buffers "${bopts[@]}")"}/:[ $'\t']##/:} ) - _describe -t buffers 'buffer' buffers -} - -function __tmux-bound-keys() { - local expl - local -a keys - - keys=( ${${${${(f)"$(command tmux 2> /dev/null list-keys "$@")"}/:[ $'\t']##/:}/(#s)[ $'\t']##/}/(#s):/\\:} ) - _describe -t keys 'key' keys -} - -function __tmux-clients() { - local expl - local -a clients - clients=( ${${(f)"$(command tmux 2> /dev/null list-clients)"}/:[ $'\t']##/:} ) - _describe -t clients 'client' clients -} - -function __tmux-environment-variables() { - local mode="$1" state="$2" action="$3" - - local -a dash_g - case $mode in - (global) dash_g=(-g);; - (session) dash_g=();; - (*) return 1;; # bug in the caller - esac - - local hint - case $action in - (add|remove) hint=" (or specify a new one)";; - (unset|show) hint="";; - (*) return 1;; # bug in the caller - esac - - case ${state} in - (name) - local -a vars_and_vals=( ${(@f)"$(command tmux 2>/dev/null show-env $dash_g)"} ) - local -a descriptions - local k_v k v - for k_v in $vars_and_vals; do - k=${k_v%%=*} - if [[ $k == -* ]]; then - k=${k#-} - v='(remove)' - else - v=${k_v#*=} - fi - descriptions+=( "${k//:/\\:}:$v" ) - done - # TODO: this if/else is because '_describe ${hint:+"-x"}' prints the "No matches" error in addition to the message. - local msg="${dash_g[1]:+"global "}environment variable${hint}" - if _describe -t parameters $msg descriptions; then - : - elif [[ -n $hint ]]; then - _message -e $msg - fi - ;; - (value) - local var_and_val=${(@f)"$(command tmux 2>/dev/null show-env $dash_g -- ${(Q)words[-2]})"} - # TODO: this if/else is because '_description -x' prints the "No matches" error in addition to the message. - if [[ -n $var_and_val ]]; then - local -a expl - _description -x parameter-values expl "value for ${words[-2]}" - compadd "$expl[@]" - ${var_and_val#*=} - else - _message -e "value for ${words[-2]}" - fi - ;; - (*) - return 1 - ;; - esac -} - -__tmux-formats() { - local hash='#' open='{' close='}' paren='(' quest='?' - local tmux_variables expl - compquote hash open close paren quest - compset -p ${#PREFIX%$hash*} - if compset -P "${(q)hash}${open}"; then - if compset -P "${(q)quest}"; then - close=, - elif ! compset -P "([bdt]|s/[^/]#/[^/]#/|=(-|)<->):"; then - _describe -t operators operator '( - \?:conditional - \=:length\ limit - )' -S '' -- '( - m:fnmatch\ comparison - t:convert\ time\ to\ string - b:basename - c:search\ for\ fnmatch\ pattern\ in\ pane\ content - d:dirname - \==:comparison - \!=:comparison - )' -S : -- '( - s:substitution - )' -S / -- '( - \|\|:either\ of\ two\ conditions - \&\&:both\ of\ two\ conditions - )' -S , - fi - tmux_variables=( - 'alternate_on:if pane is in alternate screen' - 'alternate_saved_x:saved cursor X in alternate screen' - 'alternate_saved_y:saved cursor Y in alternate screen' - 'buffer_created:time buffer created' - 'buffer_name:name of buffer' - 'buffer_sample:sample of start of buffer' - 'buffer_size:size of the specified buffer in bytes' - 'client_activity:time client last had activity' - 'client_created:time client created' - 'client_control_mode:1 if client is in control mode' - 'client_discarded:bytes discarded when client behind' - 'client_height:height of client' - 'client_key_table:current key table' - "client_last_session:name of the client's last session" - 'client_name:name of client' - 'client_pid:PID of client process' - 'client_prefix:1 if prefix key has been pressed' - 'client_readonly:1 if client is readonly' - "client_session:name of the client's session" - 'client_termname:terminal name of client' - 'client_termtype:terminal type of client' - 'client_tty:pseudo terminal of client' - 'client_utf8:1 if client supports utf8' - 'client_width:width of client' - 'client_written:bytes written to client' - 'command:name of command in use, if any' - 'command_list_name:command name if listing commands' - 'command_list_alias:command alias if listing commands' - 'command_list_usage:command usage if listing commands' - 'cursor_flag:pane cursor flag' - 'cursor_character:character at cursor in pane' - 'cursor_x:cursor X position in pane' - 'cursor_y:cursor Y position in pane' - 'history_bytes:number of bytes in window history' - 'history_limit:maximum window history lines' - 'history_size:size of history in lines' - 'hook:name of running hook, if any' - 'hook_pane:ID of pane where hook was run, if any' - 'hook_session:ID of session where hook was run, if any' - 'hook_session_name:name of session where hook was run, if any' - 'hook_window:ID of window where hook was run, if any' - 'hook_window_name:name of window where hook was run, if any' - 'host:hostname of local host' - 'host_short:hostname of local host (no domain name)' - 'insert_flag:pane insert flag' - 'keypad_cursor_flag:pane keypad cursor flag' - 'keypad_flag:pane keypad flag' - 'line:line number in the list' - 'mouse_any_flag:pane mouse any flag' - 'mouse_button_flag:pane mouse button flag' - 'mouse_standard_flag:pane mouse standard flag' - 'mouse_all_flag:pane mouse all flag' - 'pane_active:1 if active pane' - 'pane_at_bottom:1 if pane is at the bottom of window' - 'pane_at_left:1 if pane is at the left of window' - 'pane_at_right:1 if pane is at the right of window' - 'pane_at_top:1 if pane is at the top of window' - 'pane_bottom:bottom of pane' - 'pane_current_command:current command if available' - 'pane_dead:1 if pane is dead' - 'pane_dead_status:exit status of process in dead pane' - 'pane_format:1 if format is for a pane (not assuming the current)' - 'pane_height:height of pane' - 'pane_id:unique pane ID' - 'pane_in_mode:if pane is in a mode' - 'pane_input_off:if input to pane is disabled' - 'pane_index:index of pane' - 'pane_left:left of pane' - 'pane_mode:name of pane mode, if any.' - 'pane_pid:PID of first process in pane' - 'pane_pipe:1 if pane is being piped' - 'pane_right:right of pane' - 'pane_search_string:last search string in copy mode' - 'pane_start_command:command pane started with' - 'pane_synchronized:if pane is synchronized' - 'pane_tabs:pane tab positions' - 'pane_title:title of pane' - 'pane_top:top of pane' - 'pane_tty:pseudo terminal of pane' - 'pane_width:width of pane' - 'pid:server PID' - 'rectangle_toggle:1 if rectangle selection is activated' - 'scroll_region_lower:bottom of scroll region in pane' - 'scroll_region_upper:top of scroll region in pane' - 'scroll_position:scroll position in copy mode' - 'selection_present:1 if selection started in copy mode' - 'session_alerts:list of window indexes with alerts' - 'session_attached:number of clients session is attached to' - 'session_activity:time of session last activity' - 'session_created:time session created' - 'session_format:1 if format is for a session (not assuming the current)' - 'session_last_attached:time session last attached' - 'session_group:name of session group' - 'session_group_size:size of session group' - 'session_group_list:list of sessions in group' - 'session_grouped:1 if session in a group' - 'session_id:unique session ID' - 'session_many_attached:1 if multiple clients attached' - 'session_name:name of session' - 'session_stack:window indexes in most recent order' - 'session_width:width of session' - 'session_windows:number of windows in session' - 'socket_path:server socket path' - 'start_time:server start time' - 'version:server version' - 'window_activity:time of window last activity' - 'window_activity_flag:1 if window has activity' - 'window_active:1 if window active' - 'window_bell_flag:1 if window has bell' - 'window_flags:window flags' - 'window_format:1 if format is for a window (not assuming the current)' - 'window_height:height of window' - 'window_id:unique window ID' - 'window_index:index of window' - 'window_last_flag:1 if window is the last used' - 'window_layout:window layout description, ignoring zoomed window panes' - 'window_linked:1 if window is linked across sessions' - 'window_name:name of window' - 'window_offset_x:X offset into window if larger than client' - 'window_offset_y:Y offset into window if larger than client' - 'window_panes:number of panes in window' - 'window_silence_flag:1 if window has silence alert' - 'window_stack_index:index in session most recent stack' - 'window_visible_layout:window layout description, respecting zoomed window panes' - 'window_width:width of window' - 'window_zoomed_flag:1 if window is zoomed' - 'wrap_flag:pane wrap flag' - ) - _describe -t variables variable tmux_variables -S "$close" - elif compset -P "${(q)hash}${(q)paren}"; then - compset -S '(\\|)\)*' - _cmdstring - elif [[ $PREFIX = ${hash}* ]]; then - _describe -t variables variable '( - \#H:local\ hostname - \#h:short\ local\ hostname - \#D:pane\ id - \#P:pane\ index - \#T:pane\ title - \#S:session\ name - \#F:window\ flags - \#I:window\ index - \#W:window\ name - )' -S '' - else - _wanted format-specifiers expl 'format specifier' compadd -S '' \# - fi -} - -function __tmux-colours() { - local -a colnames - colnames=( default black red green yellow blue magenta cyan white colourN:"replace N by a number between 0 and 255" ) - compset -P 'colour*' - if [[ -z ${IPREFIX} ]]; then - _describe -t tmux-colours 'colour' colnames - else - _message 'colour number 0..255' - fi -} - -_tmux_hooks() { - _alternative \ - 'hooks:hook name:(alert-activity alert-bell alert-silence client-attached client-detached client-resized client-session-changed pane-died pane-exited pane-set-clipboard session-created session-closed session-renamed window-linked window-renamed window-unlinked)' \ - 'post-hooks:command post-hook:compadd - after-${_tmux_aliasmap}' -} - -_tmux_client_flags() { - _values -s , flag active-pane ignore-size no-output \ - 'pause-after:time (seconds)' read-only wait-exit -} - -function __tmux-get-optarg() { - local opt="$1" - local -i i - shift - - for (( i = 1; i <= $#; i++ )); do - if [[ ${argv[$i]} == ${opt} ]]; then - if [[ ${argv[$(( i + 1 ))]} != -* ]]; then - print -- ${argv[$(( i + 1 ))]} - fi - return - fi - done -} - -__tmux-nothing-else() { - _message -e "no further arguments" -} - -function __tmux-option-guard() { - local mode opt guard int_guard - mode="$1" - opt="$2" - shift; shift - local -a options desc - int_guard='_guard "[0-9]#" "'${opt}': numeric value"' - if [[ ${mode} == 'session' ]]; then - options=( - 'activity-action:DESC:any none current other' - 'assume-paste-time:'${int_guard} - 'base-index:'${int_guard} - 'bell-action:DESC:any none current other' - 'default-command:MSG:command string' - 'default-shell:MSG:shell executable' - 'default-size:MSG:XxY' - 'destroy-unattached:DESC:on off' - 'detach-on-destroy:DESC:on off' - 'display-panes-colour:__tmux-colours' - 'display-panes-active-colour:__tmux-colours' - 'display-panes-time:'${int_guard} - 'display-time:'${int_guard} - 'history-limit:'${int_guard} - 'lock-after-time:'${int_guard} - 'lock-command:MSG:command string' - 'message-command-style:__tmux-style' - 'message-style:__tmux-style' - 'mouse:DESC:on off' - 'prefix:MSG:primary prefix key' - 'prefix2:MSG:secondary prefix key' - 'renumber-windows:DESC:on off' - 'repeat-time:'${int_guard} - 'set-titles:DESC:on off' - 'set-titles-string:MSG:title format string' - 'silence-action:DESC:any none current other' - 'status:DESC:on off' - 'status-format:MSG:format string' - 'status-interval:'${int_guard} - 'status-justify:DESC:left centre right' - 'status-keys:DESC:vi emacs' - 'status-left:MSG:format string' - 'status-left-length:'${int_guard} - 'status-left-style:__tmux-style' - 'status-position:DESC:top bottom' - 'status-right:MSG:format string' - 'status-right-length:'${int_guard} - 'status-right-style:__tmux-style' - 'status-style:__tmux-style' - 'update-environment:MSG:string listing env. variables' - 'user-keys:MSG:key' - 'visual-activity:DESC:on off' - 'visual-bell:DESC:on off' - 'visual-silence:DESC:on off' - 'word-separators:MSG:separator string' - ) - elif [[ ${mode} == 'server' ]]; then - options=( - 'buffer-limit:'${int_guard} - 'command-alias:MSG:alias' - 'default-terminal:MSG:terminal string' - 'escape-time:'${int_guard} - 'exit-empty:DESC:on off' - 'exit-unattached:DESC:on off' - 'focus-events:DESC:on off' - 'history-file:_path-files -g "*(-.)"' - 'message-limit:'${int_guard} - 'set-clipboard:DESC:on off' - 'terminal-overrides:MSG:overrides string' - ) - else - options=( - 'aggressive-resize:DESC:on off' - 'allow-rename:DESC:on off' - 'alternate-screen:DESC:on off' - 'automatic-rename:DESC:on off' - 'automatic-rename-format:DESC:__tmux-format' - 'clock-mode-colour:__tmux-colours' - 'clock-mode-style:DESC:12 24' - 'main-pane-height:'${int_guard} - 'main-pane-width:'${int_guard} - 'mode-keys:DESC:vi emacs' - 'mode-style:__tmux-style' - 'monitor-activity:DESC:on off' - 'monitor-bell:DESC:on off' - 'monitor-silence:DESC:on off' - 'other-pane-height:'${int_guard} - 'other-pane-width:'${int_guard} - 'pane-active-border-style:__tmux-style' - 'pane-base-index:'${int_guard} - 'pane-border-format:MSG:pane border status string' - 'pane-border-status:DESC:off top bottom' - 'pane-border-style:__tmux-style' - 'remain-on-exit:DESC:on off' - 'synchronize-panes:DESC:on off' - 'window-active-style:__tmux-style' - 'window-status-activity-style:__tmux-style' - 'window-status-bell-style:__tmux-style' - 'window-status-current-format:MSG:status format string' - 'window-status-current-style:__tmux-style' - 'window-status-format:MSG:status format string' - 'window-status-last-style:__tmux-style' - 'window-status-separator:MSG:separator string' - 'window-status-style:__tmux-style' - 'window-size:MSG:XxY' - 'window-style:__tmux-style' - 'wrap-search:DESC:on off' - 'xterm-keys:DESC:on off' - ) - fi - - guard=${(M)options:#$opt:*} - if [[ -z ${guard} ]]; then - _message "unknown ${mode} option: ${opt}" - return - fi - guard=${guard#*:} - case ${guard} in - ('') ;; - (MSG:*) - _message -e ${guard#*:} - ;; - (DESC:*) - eval "desc=( ${guard#*:} )" - _describe -t "tmux-${mode}-option-value" "${opt}" desc - ;; - (*) - eval ${guard} - ;; - esac -} - -function __tmux-session-options() { - local -a tmux_session_options - tmux_session_options=( - 'activity-action:set action on window activity when monitor-activity is on' - 'assume-paste-time:assume keys are pasted instead of typed if this fast' - 'base-index:define where to start numbering' - 'bell-action:set action on window bell' - 'default-command:default command for new windows' - 'default-shell:default shell executable' - 'default-size:set the default size of windows when the size is not set' - 'destroy-unattached:destroy session if no client is attached' - 'detach-on-destroy:detach client if attached session is destroyed' - 'display-panes-colour:colour used for display-panes' - 'display-panes-active-colour:colour for active pane in display-panes' - 'display-panes-time:time (in msecs) of display-panes output' - 'display-time:time (in msecs) messages are displayed' - 'history-limit:number of copy-mode lines per window' - 'key-table:default key table' - 'lock-after-time:lock sessions after N seconds' - 'lock-command:command to run for locking a client' - 'message-command-style:status line message command style' - 'message-style:status line message style' - 'mouse:enable mouse support' - 'prefix:primary prefix key' - 'prefix2:secondary prefix key' - 'renumber-windows:renumber windows if a window is closed' - 'repeat-time:time for multiple commands without prefix-key presses' - 'set-titles:try to set xterm window titles' - 'set-titles-string:format used by set-titles' - 'silence-action:set action on window silence when monitor-silence is on' - 'status:show or hide the status bar' - 'status-format:specify the format to be used for each line of the status line' - 'status-interval:interval (in seconds) for status bar updates' - 'status-justify:position of the window list in status bar' - 'status-keys:mode to use in status bar modes (vi/emacs)' - 'status-left:format to use left in status bar' - 'status-left-length:maximum length of the left part of the status bar' - 'status-left-style:style of left part of status line' - 'status-position:status line position' - 'status-right:format to use right in status bar' - 'status-right-length:maximum length of the right part of the status bar' - 'status-right-style:style of right part of status line' - 'status-style:style status line' - "update-environment:list of variables to be copied to a session's environment" - 'user-keys:set list of user-defined key escape sequences' - 'visual-activity:display status line messages upon activity' - 'visual-bell:use visual bell instead of audible' - 'visual-silence:print a message if monitor-silence is on' - 'word-separators:string of characters considered word separators' - ) - _describe -t tmux-options 'tmux session option' tmux_session_options -} - -function __tmux-options-complete() { - local mode="$1" state="$2" - - case ${state} in - name_or_value) - if (( CURRENT == 1 )) && [[ ${mode} == 'session' ]]; then - __tmux-session-options - elif (( CURRENT == 1 )) && [[ ${mode} == 'server' ]]; then - __tmux-server-options - elif (( CURRENT == 1 )) && [[ ${mode} == 'window' ]]; then - __tmux-window-options - elif (( CURRENT == 2 )); then - __tmux-option-guard ${mode} ${words[1]} - else - __tmux-nothing-else - fi - ;; - esac -} - -function __tmux-panes() { - local expl line orig="$IPREFIX" - local -i num - local -a panes opts - - compset -P '*.' && opts=( -t "${${IPREFIX%.}#$orig}" ) - num=0 - command tmux 2> /dev/null list-panes "${opts[@]}" | while IFS= read -r line; do - panes+=( $(( num++ )):${line//:/} ) - done - _describe -t panes 'pane' panes "$@" - if [[ ${IPREFIX} != *. ]]; then - _wanted windows expl 'window' __tmux-windows -S. - fi -} - -function __tmux-server-options() { - local -a tmux_server_options - tmux_server_options=( - 'buffer-limit:number of buffers kept per session' - 'command-alias:custom command aliases' - 'default-terminal:default terminal definition string' - 'escape-time:set timeout to detect single escape characters (in msecs)' - 'exit-unattached:make server exit if it has no attached clients' - 'exit-empty:exit when there are no active sessions' - 'focus-events:request focus events from terminal' - 'history-file:tmux command history file name' - 'message-limit:set size of message log per client' - 'set-clipboard:use esc sequences to set terminal clipboard' - 'terminal-overrides:override terminal descriptions' - ) - _describe -t tmux-server-options 'tmux server option' tmux_server_options -} - -function __tmux-sessions() { - local -a sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - _describe -t sessions 'session' sessions "$@" -} - -function __tmux-sessions-attached() { - local -a sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - sessions=( ${(M)sessions:#*"(attached)"} ) - _describe -t sessions 'attached session' sessions "$@" -} - -# Complete attached-sessions and detached-sessions as separate tags. -function __tmux-sessions-separately() { - local ret=1 - local -a sessions detached_sessions attached_sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - detached_sessions=( ${sessions:#*"(attached)"} ) - attached_sessions=( ${(M)sessions:#*"(attached)"} ) - - # ### This seems to work without a _tags loop but not with it. I suspect - # ### that has something to do with _describe doing its own _tags loop. - _tags detached-sessions attached-sessions - # Placing detached before attached means the default behaviour of this - # function better suits its only current caller, _tmux-attach-session(). - _requested detached-sessions && _describe -t detached-sessions 'detached session' detached_sessions "$@" && ret=0 - _requested attached-sessions && _describe -t attached-sessions 'attached session' attached_sessions "$@" && ret=0 - - return ret -} - -function __tmux-socket-name() { - local expl sdir - local curcontext="${curcontext}" - local -a socks - zstyle -s ":completion:${curcontext}:sockets" socketdir sdir || sdir="${TMUX_TMPDIR:-/tmp}/tmux-${UID}" - socks=(${sdir}/*(=:t)) - _wanted socket expl 'socket name' compadd ${expl} -- ${socks} -} - -function __tmux-style() { - _message 'not implemented yet' -} - -function __tmux-window-options() { - local -a tmux_window_options - tmux_window_options=( - 'aggressive-resize:aggressively resize windows' - 'allow-rename:allow programs to change window titles' - 'alternate-screen:allow alternate screen feature to be used' - 'automatic-rename:attempt to automatically rename windows' - 'automatic-rename-format:format for automatic renames' - 'clock-mode-colour:set clock colour' - 'clock-mode-style:set clock hour format (12/24)' - 'main-pane-height:set height for main-* layouts' - 'main-pane-width:set width for main-* layouts' - 'mode-keys:mode to use in copy and choice modes (vi/emacs)' - 'mode-style:set window modes style' - 'monitor-activity:monitor window activity' - 'monitor-bell:monitor for a bell in the window' - 'monitor-silence:monitor window for inactivity' - 'other-pane-height:height of other panes' - 'other-pane-width:width of other panes' - 'pane-active-border-style:style of border of active pane' - 'pane-base-index:integer at which to start indexing panes' - 'pane-border-format:set pane border format string' - 'pane-border-status:turn border status off or set its position' - 'pane-border-style:style of border pane' - "remain-on-exit:don't destroy windows after the program exits" - 'synchronize-panes:send input to all panes of a window' - 'window-active-style:style of active window' - 'window-status-activity-style:style of status bar activity tag' - 'window-status-bell-style:style of status bar bell tag' - 'window-status-current-format:set status line format for active window' - 'window-status-current-style:style of current window in status bar' - 'window-status-format:set status line format for all but the active window' - 'window-status-last-style:style of last window in status bar' - 'window-status-separator:separator drawn between windows in status line' - 'window-status-style:general status bar style' - 'window-size:indicate how to automatically size windows' - 'window-style:style of window' - 'wrap-search:search wrap around at the end of a pane' - 'xterm-keys:generate xterm-style function key sequences' - ) - _describe -t tmux-window-options 'tmux window option' tmux_window_options -} - -function __tmux-windows() { - local expl - local -a wins opts - - compset -P '*:' - if [[ -n ${IPREFIX} ]]; then - opts=( -t "${IPREFIX%:}" ) - else - opts=( ) - fi - wins=( ${${(M)${(f)"$(command tmux 2> /dev/null list-windows "${opts[@]}")"}:#<->*}/:[ $'\t']##/:} ) - _describe -t windows 'window' wins "$@" - if [[ ${IPREFIX} != *: ]]; then - _wanted sessions expl 'session' __tmux-sessions -S: - fi -} - -# And here is the actual _tmux(), that puts it all together: -_tmux() { - local curcontext="${curcontext}" state line ret=1 - local mode - local tmuxcommand - local tmux_describe - - _arguments -C -s -w \ - '-2[force using 256 colours]' \ - '-c[execute a shell command]:command name:_command_names' \ - '-C[start tmux in control mode. -CC disables echo]' \ - "-D[don't start the tmux server as a daemon]" \ - '-f[specify configuration file]:tmux config file:_files -g "*(-.)"' \ - '-l[behave like a login shell]' \ - '-L[specify socket name]:socket name:__tmux-socket-name' \ - "-N[don't start the server even if the command would normally do so]" \ - '-S[specify socket path]:server socket:_path_files -g "*(=,/)"' \ - '-T+[set terminal features for the client]: : _values -s , 256 clipboard ccolour cstyle extkeys focus margins mouse overline rectfill RGB strikethrough sync title usstyle' \ - '-u[force using UTF-8]' \ - '-v[request verbose logging]' \ - '-V[report tmux version]' \ - '*:: :->subcommand_or_options' && ret=0 - - [[ -z $state ]] && return ret - - if (( CURRENT == 1 )); then - zstyle -s ":completion:${curcontext}:subcommands" mode mode || mode='both' - if [[ ${mode} == 'commands' ]]; then - _describe -t subcommands 'tmux command' _tmux_commands && ret=0 - elif [[ ${mode} == 'aliases' ]]; then - _describe -t subcommands 'tmux alias' _tmux_aliases && ret=0 - else - _describe -t subcommands 'tmux command or alias' _tmux_commands -- _tmux_aliases && ret=0 - fi - else - tmuxcommand="${words[1]}" - if [[ -n ${_tmux_aliasmap[$tmuxcommand]} ]] ; then - tmuxcommand="${_tmux_aliasmap[$tmuxcommand]}" - fi - if ! (( ${+functions[_tmux-$tmuxcommand]} )); then - local low high - low=$_tmux_commands[(i)$tmuxcommand*] - high=$_tmux_commands[(I)$tmuxcommand*] - if (( low == high )); then - tmuxcommand=${_tmux_commands[low]%%:*} - elif (( low < high )); then - _message "ambiguous command $tmuxcommand" - else - _message "subcommand $tmuxcommand not known" - _normal && ret=0 - fi - fi - curcontext="${curcontext%:*}-${tmuxcommand}:" - _call_function ret _tmux-${tmuxcommand} - fi - return ret -} - -# description generation follows; only done on 1st _tmux call. -local f desc -local -A rev -local tmux_describe -tmux_describe='yes, please' -for f in ${(k)_tmux_aliasmap} ; do - rev+=( ${_tmux_aliasmap[$f]} $f ) -done -for f in ${(M)${(k)functions}:#_tmux-*} ; do - desc="$($f)" - _tmux_commands+=( "${f#_tmux-}${desc:+:$desc}" ) - [[ -n ${rev[${f#_tmux-}]} ]] && _tmux_aliases+=( "${rev[${f#_tmux-}]}${desc:+:$desc}" ) -done - -_tmux "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_todo.sh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_todo.sh deleted file mode 100644 index 99b6bb69..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_todo.sh +++ /dev/null @@ -1,178 +0,0 @@ -#compdef todo.sh - -# See http://todotxt.com for todo.sh. -# -# Featurettes: -# - "replace" will complete the original text for editing -# - completing priorities will cycle through A to Z (even without -# menu completion) -# - list and listall will complete +<project> and @<where> from -# values in existing entries -# - will complete after + and @ if typed in message text - -setopt localoptions braceccl - -local expl curcontext="$curcontext" state line pri nextstate item -local -a cmdlist itemlist match mbegin mend -integer NORMARG - -_arguments -s -n : \ - '-@[hide context names]' \ - '-\+[hide project names]' \ - '-c[color mode]' \ - '-d[alternate config file]:config file:_files' \ - '-f[force, no confirmation]' \ - '-h[display help]' \ - '-p[plain mode, no colours]' \ - '-P[hide priority labels]' \ - "-a[don't auto-archive tasks when done]" \ - '-A[auto-archive tasks when done]' \ - '-n[automatically remove blank lines]' \ - '-N[preserve line numbers]' \ - '-t[add current date to task on creation]' \ - "-T[don't add current date to task]" \ - '-v[verbose mode, confirmation messages]' \ - '-vv[extra verbose (debug)]' \ - '-V[display version etc.]' \ - '-x[disable final filter]' \ - '1:command:->commands' \ - '*:arguments:->arguments' && return 0 - -local projmsg="context or project" -local txtmsg="text with contexts or projects" - -# Skip "command" as command prefix if words after -if [[ $words[NORMARG] == command && NORMARG -lt CURRENT ]]; then - (( NORMARG++ )) -fi - -case $state in - (commands) - cmdlist=( - "add:add TODO ITEM to todo.txt." - "addm:add TODO ITEMs, one per line, to todo.txt." - "addto:add text to file (not item)" - "append:adds to item on line NUMBER the text TEXT." - "archive:moves done items from todo.txt to done.txt." - "command:run internal commands only" - "deduplicate:removes duplicate lines from todo.txt." - "del:deletes the item on line NUMBER in todo.txt." - "depri:remove prioritization from item" - "done:marks task(s) on line ITEM# as done in todo.txt" - "do:marks item on line NUMBER as done in todo.txt." - "help:display help" - "list:displays all todo items containing TERM(s), sorted by priority." - "listall:displays items including done ones containing TERM(s)" - "listaddons:lists all added and overridden actions in the actions directory." - "listcon:list all contexts" - "listfile:display all files in .todo directory" - "listpri:displays all items prioritized at PRIORITY." - "listproj:lists all the projects in todo.txt." - "move:move item between files" - "prepend:adds to the beginning of the item on line NUMBER text TEXT." - "pri:adds or replace in NUMBER the priority PRIORITY (upper case letter)." - "replace:replace in NUMBER the TEXT." - "remdup:remove exact duplicates from todo.txt." - "report:adds the number of open and done items to report.txt." - "showhelp:list the one-line usage of all built-in and add-on actions." - ) - _describe -t todo-commands 'todo.sh command' cmdlist - ;; - - (arguments) - case $words[NORMARG] in - (append|command|del|move|mv|prepend|pri|replace|rm) - if (( NORMARG == CURRENT - 1 )); then - nextstate=item - else - case $words[NORMARG] in - (pri) - nextstate=pri - ;; - (append|prepend) - nextstate=proj - ;; - (move|mv) - nextstate=file - ;; - (replace) - item=${words[CURRENT-1]##0##} - compadd -Q -- "${(qq)$(todo.sh -p list "^[ 0]*$item " | sed '/^--/,$d')##<-> (\([A-Z]\) |)}" - ;; - esac - fi - ;; - - (depri|do|dp|done) - nextstate=item - ;; - - (a|add|addm|list|ls|listall|lsa) - nextstate=proj - ;; - - (addto) - if (( NORMARG == CURRENT - 1 )); then - nextstate=file - else - nexstate=proj - fi - ;; - - (listfile|lf) - if (( NORMARG == CURRENT -1 )); then - nextstate=file - else - _message "Term to search file for" - fi - ;; - - (listpri|lsp) - nextstate=pri - ;; - - (*) - return 1 - ;; - esac - ;; -esac - -case $nextstate in - (file) - _path_files -W ~/.todo - ;; - - (item) - itemlist=(${${(M)${(f)"$(todo.sh -p list | sed '/^--/,$d')"}##<-> *}/(#b)(<->) (*)/${match[1]}:${match[2]}}) - _describe -t todo-items 'todo item' itemlist - ;; - - (pri) - if [[ $words[CURRENT] = (|[A-Z]) ]]; then - if [[ $words[CURRENT] = (|Z) ]]; then - pri=A - else - # cycle priority - pri=$words[CURRENT] - pri=${(#)$(( #pri + 1 ))} - fi - _wanted priority expl 'priority' compadd -U -S '' -- $pri - else - _wanted priority expl 'priority' compadd {A-Z} - fi - ;; - - (proj) - # This completes stuff beginning with + (projects) or @ (contexts); - # these are todo.sh conventions. - if [[ ! -prefix + && ! -prefix @ ]]; then - projmsg=$txtmsg - fi - # In case there are quotes, ignore anything up to whitespace before - # the + or @ (which may not even be there yet). - compset -P '*[[:space:]]' - _wanted search expl $projmsg \ - compadd $(todo.sh lsprj) $(todo.sh lsc) - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toilet b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toilet deleted file mode 100644 index a8867769..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toilet +++ /dev/null @@ -1,21 +0,0 @@ -#compdef toilet - -local fontdir -typeset -A opt_args - -fontdir=$(_call_program path toilet -I2 2>/dev/null) - -_arguments \ - '(-f --font)'{-f,--font}'[specify font]:font:_files -W ${~opt_args[-d]\:-$fontdir} -g \*\[ft\]lf\*\(-.\:r\)' \ - '(-d --directory)'{-d,--directory}'[specify font directory]:font directory:_files -/' \ - '(-t --termwidth -w --width)'{-w,--width}'[set output width]:width:' \ - '(-t --termwidth -w --width)'{-t,--termwidth}'[adapt to terminal width]' \ - '(-F --filter)'{-F,--filter}'[apply filter to text]:filter:(gay metal)' \ - '--gay[rainbow filter]' \ - '--metal[metal filter]' \ - '--irc[output IRC color codes]' \ - '--html[output HTML document]' \ - '--tga[output TGA document]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-I --infocode)'{-I,--infocode}'[print FIGlet-compatible infocode]:code:' \ - '(-v --version)'{-v,--version}'[version]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toolchain-source b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toolchain-source deleted file mode 100644 index 25dd83df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_toolchain-source +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tpkg-install tpkg-make tpkg-debarch tpkg-update tpkg-install-libc - -local expl - -(( CURRENT == 2 )) && -_wanted target expl 'target platform' \ - compadd alpha-linux arm-linux hppa-linux i{3..6}86-linux ia32-linux ia64-linux m68k-linux \ - mipsel-linux mips-linux ppc-linux powerpc-linux sparc-linux s390-linux - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_top b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_top deleted file mode 100644 index 692df790..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_top +++ /dev/null @@ -1,190 +0,0 @@ -#compdef top - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a specs fields order opts - -opts=( -s -w -C ) - -case $OSTYPE in - *linux*) - # based on procps-ng-3.3.15 - fields=( - '%CPU:CPU usage' '%MEM:memory usage (res)' 'CGROUPS:control groups' - 'CODE:code size' 'COMMAND:Command name/line' 'DATA:data + stack size' - 'ENVIRON:environment variables' 'Flags:task flags' 'GID:group id' - 'GROUP:group name' 'NI:nice value' 'P:last used CPU (SMP)' - 'PGRP:process group id' 'PID:process id' 'PPID:parent pid' 'PR:priority' - 'RES:resident memory size' 'RUID:real user id' 'RUSER:real uid' - 'S:process status' 'SHR:shared memory size' 'SID:session id' - 'SUID:saved uid' 'SUPGIDS:supplementary gids' - 'SUPGRPS:supplementary group names' 'SUSER:saved username' - 'SWAP:swapped sized' 'TGID:thread gid' 'TIME:CPU time' - 'TIME+:CPU time (hundredths)' 'TPGID:TTY gid' 'TTY:controlling TTY' - 'UID:user id' 'USED:memory in use' 'USER:user name' - 'VIRT:virtual memory size' 'WCHAN:sleeping in function' - 'nDRT:dirty pages count' 'nMaj:major page count' 'nMin:minor page count' - 'nTH:number of threads' 'nsIPC:IPC namespace' 'nsMNT:MNT namespace' - 'nsNET:NET namespace' 'nsPID:PID namespace' 'nsUSER:USER namespace' - 'nsUTS:UTS namespace' 'vMj:major page fault count delta' - 'vMn:minor page fault count delta' 'LXC:lxc container name' - 'OOMa:out of memory adjustment factor' 'OOMs:out of memory source' - 'Rsan:resident anonymous memory size' - 'RSfd:resident file-backed memory size' 'RSlk:resident locked memory size' - 'RSsh:resident shared memory size' 'CGNAME:control group name' - 'NU:last known NUMA node' - ) - order=( '+:descending (default)' '-:ascending' ) - local -a units=( 'k:KiB' 'm:MiB' 'g:GiB' 't:TiB' 'p:PiB' 'e:EiB' ) - specs=( - '(-)-'{h,v}'[show version and usage]' - '-b[batch mode]' - '-c[command line/program name toggle]' - '-d+[delay time interval]:interval' - '-E+[specify the memory scaling unit]: : _describe -V -t units unit units' - '-H[threads mode operation]' - '-i[idle process toggle]' - '-n+[number of iterations]:number of iterations' - '-o+[override sort field]:fieldname:->sortkey' - '-O[output field names]' - '(-u -U)*-p+[monitor pids]: :_sequence -s , _pids' - '-s[secure mode operation]' - '-S[cumulative time toggle]' - '(-U -p)-u+[effective user filter mode]: :_users' - '(-u -p)-U+[user filter mode]: :_users' - '-w+[output width override]::number' - '-1[single/separate cpu states toggle]' - );; - freebsd*|openbsd*) - fields=( cpu size res time pri pid ) - specs=( - '-b[batch mode]' - '-d+[show only specified number of displays then exit]:count:' - '-H[display individual threads]' - '-I[do not display idle processes]' - '-i[interactive mode]' - '-n[non-interactive mode (identical to batch mode)]' - '-p+[filter by the specified pid]: :_pids' - '-q[renice top to -20]' - '-S[show system processes]' - '-s+[specify delay interval]:seconds:' - '-u[do not translate uid to name]' - '1: :_guard "^-*" "number of processes to display"' - );| - freebsd*) - fields+=( threads total read write fault vcsw ivcsw jid swap ) - specs+=( - '-C[CPU display mode]' - '-a[display command names via argv]' - '-j[display the jail ID]' - '-t[do not display the top process]' - '-m+[specify statistic type]:type:(( cpu\:default io ))' - '-o+[sort process display by the specified field]:field:( $fields )' - '-P[per-cpu CPU usage statistics]' - '(1 -)-v[write version number and exit]' - '-w[display approximate swap usage]' - "-z[don't display system idle process]" - '-J+[show processes owned by the specified jail]:jail:_jails -0' - '-U+[show processes owned by the specified username]: :_users' - );; - openbsd*) - fields+=( command ) - order=( '-:reverse order' ) - specs+=( - '-1[combine CPU statistic into one line]' - '-t[show the routing table instead of the wait channel]' - '-C[show command arguments as well as process name]' - '-g+[filter processes by the specified string]:string' - '-o+[sort process display by the specified field]:field:->sortkey' - '-T+[filter processes by the specified routing table]:routing table:_routing_tables' - '-U+[filter processes by the specified user]: :_users -M "L\:|-="' - );; - darwin*) - local -a modes - opts=( -C ) # no option stacking - modes=( - 'a:count events cumulatively' - 'd:count events relative to the previous sample' - 'e:count events using absolute counters' - 'n:non-event mode (default)' - ) - fields=( - 'pid:process id' - 'command:command name' - 'cpu:CPU usage' - 'cpu_me:CPU time charged to me by other processes' - 'cpu_others:CPU time charged to other processes by me' - 'csw:number of context switches' - 'time:execution time' - {threads,th}':number of threads' - {ports,prt}':number of Mach ports' - {mregion,mreg,reg}':number of memory regions' - 'mem:internal memory size' - 'rprvt:resident private address space size' - 'purg:purgeable memory size' - 'vsize:total memory size' - 'vprvt:private address space size' - 'kprvt:private kernel memory size' - 'kshrd:shared kernel memory size' - 'pgrp:process group id' - 'ppid:parent process id' - {state,pstate}':process state' - 'uid:user id' - {wq,'#wq',workqueue}':workqueue total/running' - {faults,fault}':number of page faults' - {cow,cow_faults}':copy-on-write faults' - {user,username}':username' - 'msgsent:total number of Mach messages sent' - 'msgrecv:total number of Mach messages received' - 'sysbsd:total BSD syscalls' - 'sysmach:total Mach syscalls' - 'pageins:total pageins' - 'boosts:number of boosts held by the process' - 'instrs:number of instructions retired by the process' - 'cycles:number of cycles spent in the process' - ) - order=( '-:descending (default)' '+:ascending' ) - specs=( - '-a[count events cumulatively]' - '-c[set event counting mode]:mode:(( $modes ))' - '-d[count events relative to the previous sample]' - '-e[count events using absolute counters]' - '-F[do not calculate statistics on shared libraries]' - '-f[calculate statistics on shared libraries]' - '(-)-h[print usage information and exit]' - '-i+[specify interval between samples for -f option]:interval' - '-l+[logging mode. output specified number of samples periodically]:number of samples' - '-ncols[output specified number of columns in logging mode]:number of columns' - '-n+[only display up to the specified number of processes]:number of processes:' - '-O+[specify the secondary sort key]:key:->sortkey' - '-o+[specify the primary sort key]:key:->sortkey' - '-R[do not traverse and report memory object map for each process]' - '-r[traverse and report memory object map for each process]' - '-S[display global statistics for swap and purgeable memory]' - '-s[set the delay between update]:number of seconds' - '-stats[only display the specified fields]:list of fields:->fieldlist' - '*-pid[only display the specified process]:pid:_pids' - {-user,-U+}'[only display processes owned by the specified user]:user:_users' - '-u[same as -o cpu -O time]' - );; -esac - -if (( $#specs == 0 )); then - _default - return -fi - -_arguments $opts : "$specs[@]" && ret=0 - -case $state in - (sortkey) - compset -P '(+|-)' && order=() - _alternative 'sort-orders:sort order:(( $order ))' \ - 'sort-keys:sort key:(( $fields ))' && ret=0 - ;; - (fieldlist) - _sequence -s , _describe -t fields 'field' fields && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_topgit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_topgit deleted file mode 100644 index f447456d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_topgit +++ /dev/null @@ -1,8 +0,0 @@ -#compdef tg -local expl - -if (( CURRENT == 2 )); then - _wanted subcmd expl 'topgit command' compadd create delete export import info patch remote summary update -else - _files -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_totd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_totd deleted file mode 100644 index 4d55d29b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_totd +++ /dev/null @@ -1,13 +0,0 @@ -#compdef totdconfig - -_arguments \ - - set1 \ - '-a[add totd specific options]' \ - '-D[add totd specific config into dhclient-enter-hooks]' \ - '-d:name server:_hosts' \ - '-l[configure resolv.conf]' \ - - set2 \ - '-r:config to remove:(dhcp totd resolv all)' \ - - set3 \ - '-h[help]' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_touch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_touch deleted file mode 100644 index 9b914475..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_touch +++ /dev/null @@ -1,45 +0,0 @@ -#compdef touch gtouch - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( - '-a[change access time (atime)]' - '-m[change modification time (mtime)]' - '(-r -d --date --reference 1)-t+[use specified time]:time ([[CC]YY]MMDDhhmm[.SS])' -) -case $variant in - gnu) - args+=( - '(-c --no-create)'{-c,--no-create}"[don't create file if it doesn't exist]" - '(-h --no-dereference)'{-h,--no-dereference}'[act on symbolic links themselves]' - '(-t -d --date -r --reference)'{-r+,--reference=}'[use corresponding times from specified reference file]:file:_files' - '(-t -d --date -r --reference)'{-d+,--date=}'[use specified date/time]:date/time' - '*--time=[change specified time]:time:(atime access use mtime modify)' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args+=( - '(-c 1)-A+[adjust time stamps by relative value]:time delta ([[-][hh]mm]SS)' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( '-h[act on symbolic links themselves]' ) - ;| - dragonfly*|freebsd*|openbsd*|solaris*) - args+=( '(-r -t 1)-d+[use specified date/time]:date/time' ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|solaris*) - args+=( '1:: :_guard "[0-9]#" "timespec (MMDDhhmm[YY])"' ) - ;| - *) # not GNU - args=( -A "-*" $args - "(-A)-c[don't create file if it doesn't exist]" - '(-t -d 1)-r+[use corresponding times from specified reference file]:file:_files' - ) - ;; -esac - -_arguments -s -S $args '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tpb b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tpb deleted file mode 100644 index 2bdee094..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tpb +++ /dev/null @@ -1,20 +0,0 @@ -#compdef tpb - -_arguments \ - '(-h --help)'{-h,--help}'[help]' \ - '(-d --daemon)'{-d,--daemon}'[start up as daemon]' \ - '(-c --config)'{-c,--config=}':config file:_files' \ - '(-A --apm)'{-A,--apm=}':state:(on off)' \ - '(-P --powermgt)'{-P,--powermgt=}':state:(on off)' \ - '(-x --xevents)'{-x,--xevents=}':state:(on off)' \ - '(-m --mixer)'{-m,--mixer=}':state:(on off)' \ - '(-o --osd)'{-o,--osd=}':state:(on off)' \ - '(-p --poll)'{-p,--poll=}':delay (microseconds)' \ - '(-t --thinkpad)'{-t,--thinkpad=}':command to execute:_command_names' \ - '(-H --home)'{-H,--home=}':command to execute:_command_names' \ - '(-S --search)'{-S,--search=}':command to execute:_command_names' \ - '(-M --mail)'{-M,--mail=}':command to execute:_command_names' \ - '(-W --wireless)'{-W,--wireless=}':command to execute:_command_names' \ - '(-C --callback)'{-C,--callback=}':command to execute:_command_names' \ - '(-v --verbose)'{-v,--verbose=}'[print information about pressed keys]' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tput deleted file mode 100644 index abba3e8c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tput +++ /dev/null @@ -1,18 +0,0 @@ -#compdef tput -local -a args - -case $OSTYPE in - *linux*) - args=( - - set1 - '-S[allows more than one capability per invocation of tput]' - - set2 - '-V[reports the version of ncurses used for tput]' - ) -esac - -_arguments : \ - $args - set3 \ - '(-S -V)-T+[terminal type]:terminal type:_terminals' \ - '1:terminal capability:( init reset longname ${(k)terminfo} )' \ - '*:capability parameters:{ [[ $words[1] != (init|reset|longname) ]] && _message parameter }' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tr deleted file mode 100644 index 1cfe1200..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tr +++ /dev/null @@ -1,53 +0,0 @@ -#compdef tr gtr - -local curcontext="$curcontext" state line expl ret=1 -local args variant k -local -A descr -descr=( - -c '[complement characters specified by first string]' - -d '[delete specified characters from input]' - -s '[squeeze repeated instances of character to a single instance]' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args=( - '(-c -C --complement)'{-c,-C,--complement}"${descr[-c]}" - '(-d --delete 2)'{-d,--delete}"${descr[-d]}" - '(-s --squeeze-repeats)'{-s,--squeeze-repeats}"${descr[-s]}" - '(- 1 2)--help[display help information]' - '(- 1 2)--version[display version information]' - ) - ;; - darwin*|dragonfly*|*bsd*) - args+=( "(-c)-C$descr[-c]" ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( '-u[guarantee that output is unbuffered]' ) - ;| - *) - for k in c d s; do - args+=( -$k$descr[-$k] ) - done - ;; -esac - -_arguments -C -s $args \ - '1:character set:->chsets' \ - '2:character set:->chsets' && ret=0 - -if [[ -n $state ]]; then - if compset -P '*\[:'; then - _wanted characters expl 'character class' \ - compadd -S ":${${QIPREFIX:+]}:-\]}$compstate[quote] " \ - alnum alpha blank cntrl digit graph lower print punct space upper \ - xdigit && return - elif compset -P '*\\'; then - _describe -t characters character \ - '(\\\\:backslash a:alert b:backspace f:form\ feed n:new\ line r:return t:tab v:vertical\ tab)' -S '' && return - fi - _message -e characters 'character set' -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tracepath b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tracepath deleted file mode 100644 index f0f777d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tracepath +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tracepath tracepath6 - -_arguments -s -S \ - '-n[print IP addresses numerically]' \ - '-b[print both host names and IP addresses]' \ - '-l+[set the initial packet length]:length (bytes)' \ - '-m+[set maximum hops]:maximum [30]' \ - '-p+[set initial destination port to use]:port:_ports' \ - ':destination:_hosts' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_transmission b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_transmission deleted file mode 100644 index a640f3dd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_transmission +++ /dev/null @@ -1,497 +0,0 @@ -#compdef transmission-remote - -# arrays of options - -# `general_options`: *options* which can be used for any action -local exclusive_auth_options='(-n --auth -ne --authenv -N --netrc)' -local general_options=( - {-d,--debug}'[enable debugging mode]' - $exclusive_auth_options{-n+,--auth=}'[set the username and password for authentication]:username\:password: ' - $exclusive_auth_options{-ne,--authenv}'[set the authentication information from the TR_AUTH environment variable]' - $exclusive_auth_options{-N+,--netrc=}'[set the authentication information from a netrc file]:file:_files' - '--find[tell Transmission where to look for the current torrents'"'"' data]' -) -# `general_actions`: *actions* that can be specified when a specific set of torrents is either specified or either not -local general_actions=( - '(- :)'{-gsr,--global-seedratio}'[all torrents, unless overridden by a per-torrent setting, should seed until a specific ratio]:ratio (kB/s)' - '(- :)'{-GSR,--no-global-seedratio}'[all torrents, unless overridden by a per-torrent setting, should seed regardless of ratio]' - '(- :)'{-pr,--peers}'[set the maximum number of peers]:number: ' - '(- :)'{-d+,--downlimit=}'[limit the maximum download speed to limit kB/s]:limit (kB/s)' - '(- :)'{-D,--no-downlimit}'[disable download speed limits]' -) -# `global_only_actions`: *actions* that can be specified only when no specific torrent is specified -local global_only_actions=( - '(- :)'{-as,--alt-speed}'[use the alternate Limits]' - '(- :)'{-AS,--not-alt-speed}'[don'"'"'t use the alternate Limits]' - '(- :)'{-asd,--alt-speed-downlimit}'[limit the alternate download speed to limit kilobytes per second]' - '(- :)'{-asu,--alt-speed-uplimit}'[limit the alternate upload speed to limit kilobytes per second]' - '(- :)'{-asc,--alt-speed-scheduler}'[use the scheduled on/off times]' - '(- :)'{-asc,--not-alt-speed-scheduler}'[don'"'"'t use the scheduled on/off times]' - '(- :)--alt-speed-time-begin[time to start using the alt speed limits]:time (HHMM)' - '(- :)--alt-speed-time-end[time to stop using the alt speed limits]:time (HHMM)' - '(- :)--alt-speed-days[set the number of days on which to enable the speed scheduler]:days:_transmission-remote_days' - '(- :)--torrent-done-script[specify a file to run each time a torrent finishes]:script:_files' - '(- :)--no-torrent-done-script[don'"'"'t run any script when a torrent finishes]' - '(- :)'{-e+,--cache=}'[set the session'"'"'s maximum memory cache size in MiB]:size (MiB):' - '(- :)'{-er,--encryption-required}'[encrypt all peer connections]' - '(- :)'{-ep,--encryption-preferred}'[prefer encrypted peer connections]' - '(- :)'{-et,--encryption-tolerated}'[prefer unencrypted peer connections]' - '(- :)'{-h,--help}'[print command-line option descriptions]' - '(- :)--exit[tell the Transmission to initiate a shutdown]' - '(- :)'{-V,--version}'[show version number and exit]' - {-t,--torrent=}'[set the current torrent(s) for use by subsequent options]:torrent:_transmission-remote_torrent' - '(- :)'{-si,--session-info}'[list session information from the server]' - '(- :)'{-st,--session-stats}'[list statistical information from the server]' - {-a+,--add=}'[add torrents to transmission]:filename\|url:_transmission-remote_add' - '(- :)'{-l,--list}'[list all torrents]' - '(- :)'{-p,--port}'[set the port for use when listening for incoming peer connections]:port:' - '(- :)--start-paused[start added torrents paused]' - '(- :)--no-start-paused[start added torrents unpaused]' - '(- :)'{-m,--portmap}'[enable portmapping via NAT-PMP or UPnP]' - '(- :)'{-M,--no-portmap}'[disable portmapping]' - '(- :)'{-o,--dht}'[enable distributed hash table]' - '(- :)'{-O,--no-dht}'[disable distributed hash table]' - '(- :)'{-u,--uplimit}'[limit the maximum upload speed to limit kB/s]:limit (kB/s)' - '(- :)'{-U,--no-uplimit}'[disable upload speed limits]' - '(- :)--utp[enable uTP for peer connections]' - '(- :)--no-utp[disable uTP for peer connections]' - '(- :)'{-x,--pex}'[enable peer exchange (PEX)]' - '(- :)'{-X,--no-pex}'[disable peer exchange (PEX)]' - '(- :)'{-y,--lss}'[enable local peer discovery (LPD)]' - '(- :)'{-Y,--no-lss}'[disable local peer discovery (LPD)]' - '(- :)'{-pi,--peer-info}"[list the current torrent's connected peers]" - "(- :)--blocklist-update[update blocklist from URL specified in remote client's settings with blocklist-url key]" - '*:host\:port:_hosts' -) -# `torrent_add_options`: *options* that can be used only when *adding* a torrent -local torrent_add_options=( - '(-C --no-incomplete-dir)'{-c+,--incomplete-dir=}'[when adding new torrents, store their contents in directory until the torrent is done]:directory:_directories' - '(-c --incomplete-dir)'{-C,--no-incomplete-dir}'[don'"'"'t store incomplete torrents in a different directory]' - {-w+,--download-dir=}"[when used in conjunction with --add, set the new torrent's download directory]:directory:_directories" -) -# `torrent_action_only_actions`: *actions* that can be specified only when explicitly selecting a specific set of torrents -local torrent_action_only_actions=( - {-f,--files}'[get a file list for the current torrent(s)]' - {-g,--get}'[mark file(s) for download]:torrent_file:_transmission-remote_torrent_get' - {-G,--no-get}'[mark file(s) for not downloading]:torrent_file:_transmission-remote_torrent_no_get' - {-i,--info}'[show details of the current torrent(s)]' - {-if,--info-files}'[list the specified torrent'"'"'s files]' - {-ip,--info-peers}'[list the specified torrent'"'"'s peers]' - {-ic,--info-pieces}'[list the specified torrent'"'"'s pieces]' - {-it,--info-trackers}'[list the specified torrent'"'"'s trackers]' - '--trash-torrent[delete torrents after adding]' - '--no-trash-torrent[do not delete torrents after adding]' - {-td+,--tracker-add=}'[add a tracker to a torrent]:tracker:_urls' - {-tr+,--tracker-remove=}'[remove a tracker from a torrent]:tracker_id:_transmission-remote_torrent_tracker_id' - {-s,--start}'[start the current torrent(s)]' - {-S,--stop}'[stop the current torrent(s) from downloading or seeding]' - {-r,--remove}'[remove the current torrent(s) without deleting the downloaded data]' - {-rad,--remove-and-delete}'[remove the current torrent(s) and delete the downloaded data]' - '--reannounce[reannounce the current torrent(s)]' - "--move[move the current torrents' data from their current locations to the specified directory]:directory:_directories" - {-sr+,--seedratio=}'[let the current torrent(s) seed until a specific ratio]:ratio' - {-SR,--no-seedratio}'[let the current torrent(s) use the global seedratio settings]' - {-hl,--honor-session}'[make the current torrent(s) honor the session limits]' - {-HL,--no-honor-session}'[make the current torrent(s) not honor the session limits]' - {-Bh,--bandwidth-high}'[give this torrent first chance at available bandwidth]' - {-Bn,--bandwidth-normal}'[give this torrent the bandwidth left over by high priority torrents]' - {-Bl,--bandwidth-low}'[give this torrent the bandwidth left over by high and normal priority torrents]' - {-ph,--priority-high}'[try to download the specified file(s) first]:torrent_file:_transmission-remote_torrent_priority_not_high' - {-pn,--priority-normal}'[try to download the specified files normally]:torrent_file:_transmission-remote_torrent_priority_not_normal' - {-pl,--priority-low}'[try to download the specified files last]:torrent_file:_transmission-remote_torrent_priority_not_low' - {-v,--verify}'[verify the current torrent(s)]' -) - -# helper functions - -# complete argument specified after global only action: `--alt-speed-days` -# completes days in a list such as "2,4-6". -(( $+functions[_transmission-remote_days] )) || -_transmission-remote_days(){ - _values -s , -S '-' days {1..7} -} -# complete argument specified after global only action: `--add` -(( $+functions[_transmission-remote_add] )) || -_transmission-remote_add(){ -_alternative \ - 'args:torrent:_files -g ".torrent(-.)"' \ - 'args:url:_urls' -} -# complete torrents -(( $+functions[_transmission-remote_torrent] )) || -_transmission-remote_torrent(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local torrents_list_lines=(${(f)"$(transmission-remote "${authentication_args}" --list 2> /dev/null)"}) - local -a parts - local -a torrents_ids torrents_names - # While iterating through every line in the output above, we don't need the - # first and last line which are just a header and summary - for (( t = 2; t < ${#torrents_list_lines[@]} - 1; ++t )); do - parts=(${(@s. .)torrents_list_lines[$t]}) - torrents_ids+=("${parts[1]}") - torrents_names+=("${parts[10,${#parts[@]}]}") - done - _describe -t torrents torrent torrents_names torrents_ids -} -# complete action specified after *--torrent*: `--get` -(( $+functions[_transmission-remote_torrent_get] )) || -_transmission-remote_torrent_get(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[4]} == "No" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked for not downloading in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--no-get` -(( $+functions[_transmission-remote_torrent_no_get] )) || -_transmission-remote_torrent_no_get(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[4]} == "Yes" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked for downloading in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-low` or `--priority-normal` -(( $+functions[_transmission-remote_torrent_priority_not_high] )) || -_transmission-remote_torrent_priority_not_high(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "High" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-low` or `--priority-high` -(( $+functions[_transmission-remote_torrent_priority_not_normal] )) || -_transmission-remote_torrent_priority_not_normal(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "Normal" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-normal` or `--priority-high` -(( $+functions[_transmission-remote_torrent_priority_not_low] )) || -_transmission-remote_torrent_priority_not_low(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "Low" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--tracker-remove` -(( $+functions[_transmission-remote_torrent_tracker_id] )) || -_transmission-remote_torrent_tracker_id(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local trackers_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent $selected_torrent --info-trackers 2> /dev/null)"}) - local -a parts - local -a trackers_urls trackers_ids - for (( t = 1; t < ${#trackers_info_lines[@]}; ++t )); do - parts=(${(@s. .)trackers_info_lines[$t]}) - if [[ ( ${parts[1]} == "Tracker" && ${parts[2]} =~ "[0-9]+:" ) ]]; then - trackers_ids+=("${parts[2]%:}") - # descriptions passed to _describe need to have their ':' quoted. - trackers_urls+=("${parts[3]//:/\\:}") - fi - done - if [[ -z "${trackers_ids}" ]]; then - _message -r "Specified torrent has no trackers" - return - fi - _describe -t trackers-remove "tracker" trackers_urls trackers_ids -} - -# The real thing goes here -_arguments \ - "${general_options[@]}" \ - "${global_only_actions[@]}" \ - "${general_actions[@]}" \ - "${torrent_add_options[@]}" \ - "${torrent_action_only_actions[@]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trap deleted file mode 100644 index 0fc9ec2e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trap +++ /dev/null @@ -1,10 +0,0 @@ -#compdef trap - -local expl - -if [[ CURRENT -eq 2 ]]; then - compset -q - _normal -else - _signals -a -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trash deleted file mode 100644 index 65871643..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_trash +++ /dev/null @@ -1,22 +0,0 @@ -#compdef trash - -# We only provide completion for Ali Rantakari's trash utility. There are/were a -# few others floating around with that name, but this is the one available as -# `trash` in Homebrew and MacPorts -_pick_variant ali='(Rantakari|hasseg)' other --version && { - # The hidden options here are options to rm that trash silently (and - # undocumentedly) ignores. Some options are not made mutually exclusive where - # they technically could be, for compatibility with aliases, etc. - _arguments -s -S -A '-*' : \ - '!-'{d,f,i,r,P,R,W} \ - '(: * -F -l -v)-e[empty trash]' \ - '-F[use Finder instead of system API]' \ - '(: * -e -F -s -y)-l[list items in trash]' \ - '(: * -F -l -v)-s[securely empty trash]' \ - '-v[increase output verbosity]' \ - '-y[skip confirmation prompts (with -e or -s)]' \ - '*: :_files' - return -} - -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tree b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tree deleted file mode 100644 index 59524912..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tree +++ /dev/null @@ -1,55 +0,0 @@ -#compdef tree - -_arguments -s -S \ - '-a[show all files, including hidden ones]' \ - '-d[list directories only]' \ - '-l[follow symlinks that point to directories]' \ - '-f[print full path prefix for each file]' \ - '-x[stay on current filesystem]' \ - '-L[specify max tree depth to descend]:level' \ - '-R[recursively cross down the tree and execute tree again]' \ - '-P[only list files matching a pattern]:pattern:_files' \ - "-I[don't list files matching a pattern]:pattern:_files" \ - '--ignore-case[ignore case when pattern matching]' \ - '--matchdirs[include directory names in -P pattern matching]' \ - '--noreport[omit file and directory report at end]' \ - '--charset=[character set for HTML and for line drawing]:charset' \ - "--filelimit=[don't descend directories with more than specified number of entries]:entries" \ - '--timefmt=[use specified time format]:format:_date_formats' \ - '-o[output to specified file]:file:_files' \ - '--du[print directory sizes]' \ - '--prune[exclude empty directories from the output]' \ - '(-N)-q[print non-printable characters as question mark, not caret]' \ - '(-q)-N[print non-printable characters as is, not as caret]' \ - '-Q[quote filenames with double quotes]' \ - '-p[print file type and permissions, like ls -l]' \ - '-u[print file owner]' \ - '-g[print file group]' \ - '(-h --si)-s[print size of each file in bytes]' \ - '(-s --si)-h[print human readable file size]' \ - '(-s -h)--si[print human readable file size in SI units (powers of 1000)]' \ - '-D[print last modification date or change time (with -c)]' \ - '-F[append descriptive character to end, like ls -F]' \ - '--inodes[print inode numbers]' \ - '--device[print device number to which file or directory belongs]' \ - '(--sort -t -c -U)-v[sort the output as version]' \ - '(-v --sort -c -U)-t[sort output by modification time]' \ - '(-v --sort -t -U)-c[sort output by change time]' \ - '(-v --sort -t -c -r --dirsfirst)-U[leave files unsorted]' \ - '(-U)-r[sort in reversed order]' \ - '(-v -t -c -U)--sort[sort in specified order]:order:(name version size mtime ctime)' \ - '(-U)--dirsfirst[list directories before files]' \ - "-i[don't print indentation lines]" \ - '(-S -X)-A[use ANSI line graphics hack when printing indentation lines]' \ - '(-A -X)-S[use console (CP437) line graphics]' \ - '(-C)-n[turn colorization off always, over-ridden by the -C option]' \ - '(-n)-C[turn colorization on always]' \ - '(-A -S -n -C -J -H -T --nolinks)-X[XML output]' \ - '(-A -S -n -C -X -H -T --nolinks)-J[JSON output]' \ - '(-n -C -X)-H[turn on HTML output]:base HREF' \ - '(-n -C -X)-T[title for HTML output]:title' \ - '(-n -C -X)--nolinks[turn off hyperlinks in HTML output]' \ - '--fromfile[read paths from specified files]' \ - '(-)--version[version of tree]' \ - '(-)--help[verbose usage listing]' \ - '*:directory:_files -/' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truncate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truncate deleted file mode 100644 index 117be970..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truncate +++ /dev/null @@ -1,69 +0,0 @@ -#compdef truncate - -local curcontext=$curcontext variant rs ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -_pick_variant -r variant gnu=GNU $OSTYPE --version -[[ $variant != gnu ]] && rs='-r -s' # -r/-s mutually exclusive - -# common specs -specs=( - '(hv -c --no-create)'{-c,--no-create}'[do not create any files]' - "(hv $rs -r --reference)"{-r+,--reference=}'[base size on the specified file]:reference file:_files' - "(hv $rs -s --size)"{-s+,--size=}'[set or adjust the file size by specified bytes]:size:->size' - '(hv)*: :_files' -) - -case $variant in - gnu) # GNU coreutils 8.32 - specs+=( - '(hv -o --io-blocks)'{-o,--io-blocks}'[treat the specified size as number of IO blocks instead of bytes]' - + 'hv' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - ;; - *) # FreeBSD/DragonFly - specs=( ${specs:#(|*\))--*} ) # remove long options - optA=( -A '-*' ) - ;; -esac - -_arguments -C -s -S : $specs && ret=0 - -case $state in - size) - local unit=bytes - (( ${#opt_args[(I)(-o|--io-blocks)]} )) && unit=blocks - local -a suffix=( K:1024 M G T ) - local -a prefix=( '+:extend by' '-:reduce by' ) - local prefix_char='[-+]' - case $variant in - gnu|freebsd*) - prefix+=( '/:round down to multiple of' '%:round up to multiple of' ) - ;| - gnu) - suffix=( K:1024 KB:1000 {M,G,T,P,E,Z,Y}{,B} ) - prefix+=( '<:at most' '>:at least' ) - prefix_char='([-+/%]|\\[<>])' - ;; - freebsd*) - prefix_char='[-+/%]' - ;; - esac - local -a numbers=( _numbers -u $unit size $suffix ) - - if compset -P "$prefix_char"; then - $numbers && ret=0 - elif (( ${#opt_args[(I)(-r|--reference)]} )); then - # prefix is required if the reference file is given - _describe -t 'prefixes' 'prefix' prefix && ret=0 - else - _alternative "prefixes:prefix:((${(@q)prefix}))" \ - "sizes: :$numbers" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truss b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truss deleted file mode 100644 index b798f03c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_truss +++ /dev/null @@ -1,82 +0,0 @@ -#compdef truss - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args -local args faults - -args=( - '(-c)-a[show argument strings with exec system call]' - '(-a -d -D -e -E -l -r -v -w -x)-c[count traced system calls, signals etc]' - '(-c)-d[include timestamps in output]' - '(-c)-D[include delta timestamps in output]' - '(-c)-e[show environment strings with exec system call]' - '-f[follow child processes created after a fork]' - '-o+[specify trace output file]:output file:_files' -) - -case $OSTYPE in - solaris2.<11->) - args+=( '(-c)-A[include absolute timestamps in output]' ) - ;| - aix*|solaris*) - args+=( - '(-c)-E[include delta timestamps of time spent within the system call]' - "-i[don't display interruptible sleeping system calls]" - '(-c)-l[include LWP id in each line of output]' - '-m+[specify machine faults to trace]: :->faults' - '(-c)-r+[show full contents of the I/O buffer for each read()]:file descriptor' - '-s+[specify signals to trace]:signal:_sequence _signals -M "B\:!="' - '-S+[specify signals at which process should be stopped and abandoned]:signal:_sequence _signals -M "B\:!="' - '-t+[specify system calls to trace or exclude]:system call:_sequence _sys_calls -a -M "B\:!="' - '-T+[specify system calls at which process should be stopped and abandoned]:system call:_sequence _sys_calls -a -M "B\:!="' - '*-u+[user-level function call tracing]: :->userfuncs' - '-U+[specify user-level functions at which process should be stopped and abandoned]: :->userfuncs' - '(-c)-v+[enable verbose output of structures for specified system calls]:system call:_sequence _sys_calls -a -M "B\:!="' - '(-c)-w+[show full contents of the I/O buffer for each write()]:file descriptor' - '(-c)-x+[enable raw output of structures for specified system calls]:system call:_sequence _sys_calls -a' - '-p[trace specified existing processes]' - ) - ;; - dragonfly*|freebsd*) - args+=( - '-s+[specify the maximum string size to print]:maximum string size [32]' - "(-c)-S[don't report signals received by the process]" - '(*)-p[trace specified existing processes]:pid:_pids' - ) - ;| - freebsd<10->.*) - args+=( '-H[include thread ID in the output of each event]' ) - ;; -esac - -_arguments -C -s : $args \ - '*::arguments:->args' && ret=0 - -case $state in - faults) - faults=( all ${${${(M)${(f)"$(</usr/include/sys/fault.h)"}:#?define[[:blank:]]##FLT*}#*[[:blank:]]FLT}%%[[:blank:]]*} ) 2>/dev/null - _sequence _wanted faults expl fault compadd - -M 'B:!=' -M 'B:[Ff][Ll][Tt]=' -M 'm:{a-z}={A-Z}' -a faults && ret=0 - ;; - args) - if [[ $OSTYPE = solaris* ]] && (( $+opt_args[-p] )); then - _pids && ret=0 - elif (( CURRENT == 1 )); then - _command_names -e && ret=0 - else - _normal && ret=0 - fi - ;; - userfuncs) - if [[ -prefix *: ]]; then - _message -e functions function - else - compset -P '*,' - compset -S '[,:]*' - _description -x libs expl lib - compadd "$expl[@]" -S '' lib && ret=0 - compadd "$expl[@]" -qS, a.out && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tty b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tty deleted file mode 100644 index 83897509..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tty +++ /dev/null @@ -1,18 +0,0 @@ -#compdef tty gtty - -local -a args - -if _pick_variant gnu='Free Soft' unix --version; then - args=( - '(-)--help[display help information]' - '(-)--version[display version information]' - '(-s --quiet --silent)'{-s,--quiet,--silent}'[suppress normal output]' - ) -else - args=( '-s[suppress normal output]' ) - [[ $OSTYPE == solaris* ]] && args+=( - "-l[display terminal's synchronous line number]" - ) -fi - -_arguments -s -S : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttyctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttyctl deleted file mode 100644 index 45527b07..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttyctl +++ /dev/null @@ -1,4 +0,0 @@ -#compdef ttyctl - -_arguments '(-u)-f[freeze terminal settings]' \ - '(-f)-u[unfreeze terminal settings]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttys b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttys deleted file mode 100644 index 3c40466c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ttys +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -# Options: -# -# -d strip /dev/ prefix from matches -# -D matches allowed with or without /dev/ prefix -# -o only complete those ttys to which processes are attached - -local -a ttys expl pre -local stripdev optdev open - -zparseopts -D -K -E d=stripdev D=optdev o=open - -if [[ -n $open ]]; then - ttys=( ${(u)${${(f)"$(_call_program open-ttys ps -Ao tty=)"}:#\?*}%% *} ) - _description open-ttys expl 'open tty' -else - ttys=( /dev/tty?*(N) /dev/pts/^ptmx(N) ) - ttys=( ${ttys#/dev/} ) - _description ttys expl 'tty' -fi -[[ -z $stripdev ]] && pre=( -p /dev/ ) - -[[ -n $optdev ]] && compadd "$@" "$expl[@]" -M 'r:|/=* r:|=*' -a ttys && return -compadd "$@" "$expl[@]" "$pre[@]" -M 'r:|/=* r:|=*' -a ttys diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tune2fs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tune2fs deleted file mode 100644 index 3d64f266..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_tune2fs +++ /dev/null @@ -1,35 +0,0 @@ -#compdef tune2fs - -_arguments -s -S \ - '-c+[set max mounts between checks]:number of mounts' \ - '-C+[set mount count]:number of mounts' \ - '-e+[set error behavior]:error behavior:(continue remount-ro panic)' \ - '-E+[set extended options]: :_values -s , "extended option" - clearmmp - "mmp_update_interval\:interval (seconds)" - "stride\:stride size (blocks)" - "stripe_width\:stipe width (blocks)" - "hash_alg\:hash algorithm\:(legacy half_md4 tea)" - "mount_opts\:mount option" - "(^test_fs)test_fs" - "(test_fs)^test_fs"' \ - '-f[force tune2fs to complete even in the face of errors]' \ - '-g+[set the group which can use reserved filesystem blocks]:group:_groups' \ - '-i+[interval between checks]:duration' \ - '-I+[set inode size]:inode size' \ - '-j[add an ext3 journal to the filesystem]' \ - '-J+[journal options]: :_values -s , option "size[specify journal size]\:size" "location\:location" "device[use external journal]\:block device\:_files"' \ - '-l[list the contents of the filesystem superblock]' \ - '-L+[set the volume label of the filesystem]:label' \ - '-m+[set the percentage of reserved filesystem blocks]:percentage' \ - '-M+[set the last-mounted directory for the filesystem]:directory:_files -/' \ - '-o+[mount options]:options:_values -s , debug bsdgroups user_xattr acl uid16 journal_data journal_data_ordered journal_data_writeback nobarrier block_validity discard nodelalloc' \ - '-O+[set or clear filesystem features]: :_values -s , feature 64bit dir_index dir_nlink ea_inode encrypt extent extra_isize filetype flex_bg has_journal large_dir huge_file large_file metadata_csum metadata_csum_seed mmp project quota read-only resize_inode sparse_super uninit_bg' \ - '-r+[set the number of reserved filesystem blocks]:number' \ - '-Q+[set quota feature on the superblock]: :_values -s , "quota option" usrquota grpquota prjquota' \ - '-s+[set sparse super feature]:state:((0\:off 1\:on))' \ - '-T+[set time last checked]:time specifier (YYYYMMDD[HH[MM[SS]]])' \ - '-u+[set user who can use reserved filesystem blocks]:user:_users' \ - '-U+[set filesystem UUID]:UUID or special:(clear random time)' \ - '-z+[save old contents of file system block to undo file]:undo file:_files' \ - ':device:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twidge b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twidge deleted file mode 100644 index d8b3b3de..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twidge +++ /dev/null @@ -1,77 +0,0 @@ -#compdef twidge -## completion for twidge 1.0.8, based on twidge(1) - -function _twidge_command { - typeset -a twidge_commands - typeset -i skip=1 - - twidge lscommands | while read cmd desc; do - if [[ $cmd == ---* ]] { - skip=0 - continue - } - if (( skip )) { - continue - } - twidge_commands+="${cmd}:${desc}" - done - - _describe command twidge_commands -} - -function _twidge_args { - typeset -a args_common args_more args_other args_update - - args_common=( - '(-a --all)'{-a,--all}'[receive all content]' - '(-e --exec)'{-e,--exec}'[execute command for each retrieved item]:command' - '(-l --long)'{-l,--long}'[long output format]' - '(-m --mailto)'{-m,--mailto}'[mail retrieved items]:mail address' - ) - - args_more=( - '(-s --saveid)'{-s,--saveid}'[save ID of most recent message]' - '(-u --unseen)'{-u,--unseen}'[only show unseen messages]' - ) - - args_other=( - '(-U --username)'{-U,--username}'[show updates of different user]:username' - ) - - args_update=( - '(-i --inreplyto)'{-i,--inreplyto}'[update in reply to a message]:message id' - '(-i --inreplyto 1)-r[read RFC2822 Mail]' - ':status' - ) - - case ${words[1]} in - lsarchive) - _arguments $args_common $args_more $args_other - ;; - ls(dm(|archive)|recent|replies|rt(|archive|replies))) - _arguments $args_common $args_more - ;; - lsfollow(ers|ing)) - _arguments $args_common :username - ;; - dmsend) - _arguments :recipient :status - ;; - (un|)follow) - _message username - ;; - update) - _arguments $args_update - ;; - esac -} - -function _twidge { - _arguments \ - '(-c --config)'{-c,--config}'[config file]:file:_files' \ - '(-d --debug)'{-d,--debug}'[enable debugging output]' \ - '(-): :_twidge_command' \ - '(-)*:: :_twidge_args' -} - -_twidge "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twisted b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twisted deleted file mode 100644 index 102a6780..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_twisted +++ /dev/null @@ -1,33 +0,0 @@ -#compdef twist twistd trial conch cftp ckeygen pyhtmlizer tkconch -# -# This is the ZSH completion file for Twisted commands. It calls the current -# command-line with the special "--_shell-completion" option which is handled -# by twisted.python.usage. t.p.usage then generates zsh code on stdout to -# handle the completions for this particular command-line. -# -# 3rd parties that wish to provide zsh completion for commands that -# use t.p.usage may copy this file and change the first line to reference -# the name(s) of their command(s). -# -# This file is included in the official Zsh distribution as -# Completion/Unix/Command/_twisted - -# redirect stderr to /dev/null otherwise deprecation warnings may get puked all -# over the user's terminal if completing options for a deprecated command. -# Redirect stderr to a file to debug errors. -local cmd output -cmd=("$words[@]" --_shell-completion zsh:$CURRENT) -output=$("$cmd[@]" 2>/dev/null) - -if [[ $output == "#compdef "* ]]; then - # Looks like we got a valid completion function - so eval it to produce - # the completion matches. - eval $output -else - echo "\nCompletion error running command:" ${(qqq)cmd} - echo -n "If output below is unhelpful you may need to edit this file and " - echo "redirect stderr to a file." - echo "Expected completion function, but instead got:" - echo $output - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_typeset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_typeset deleted file mode 100644 index 05884237..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_typeset +++ /dev/null @@ -1,149 +0,0 @@ -#compdef autoload declare export functions integer float local readonly typeset - -local expl state state_descr line func i use curcontext="$curcontext" ret=1 -local fopts="-f -k -z +k +z" -local popts="-A -E -F -L -R -T -Z -a -g -h -H -i -l -r -x" -local -A allargs opt_args -local -a args - -allargs=( - A "($fopts -E -F -L -R -T -U -Z -a -i -m)-A[specify that arguments refer to associative arrays]" - E "($fopts -A -F -L -R -T -U -Z -a -i -m)-E[floating point, use engineering notation on output]" - F "($fopts -A -E -L -R -T -U -Z -a -i -m)-F[floating point, use fixed point decimal on output]" - L "($fopts -A -E -F -i)-L+[left justify and remove leading blanks from value]:width" - R "($fopts -A -E -F -i)-R+[right justify and fill with leading blanks]:width" - T "($fopts -A -E -F -a -g -h -i -l -m -t)-T[tie scalar to array or trace function]" - Tf "($popts -t)-T[trace execution of this function only]" - Tp "($fopts -A -E -F -a -g -h -i -l -m -t)-T[tie scalar to array]" - U '(-A -E -F -i)-U[keep array values unique and suppress alias expansion for functions]' - Uf '-U[suppress alias expansion for functions]' - Up '(-E -F -i)-+U[keep array values unique]' - X '+X[immediately autoload function]' - Z "($fopts -A -E -F -i)-Z+[right justify and fill with leading zeros]:width" - a "($fopts -A -E -F -T -i)-a[specify that arguments refer to arrays]" - df "-d[default absolute path autoload to fpath]" - f "($popts)-f[specify that arguments refer to functions]" - g "($fopts -T)-+g[do not restrict parameter to local scope]" - h "($fopts -T)-+h[hide specialness of parameter]" - H "($fopts -T)-+H[hide value of parameter in listings]" - i "($fopts -A -E -F -T)-+i[represent internally as an integer]" - k "($popts -w -z)-+k[mark function for ksh-style autoloading]" - l "($popts -T)-l[convert the value to lowercase]" - m '(-A -E -F -T -i)-m[treat arguments as patterns]' - p '-p+[output parameters in form of calls to typeset]::option:((1\:multi-line\ output\ of\ arrays))' - r '(-f)-+r[mark parameters as readonly]' - rf '-r[remember autoload path]' - Rf '-R[remember autoload path, error if not found]' - t '(-T)-+t[tag parameters and turn on execution tracing for functions]' - tf '(-T)-+t[turn on execution tracing for functions]' - tp '(-T)-+t[tag parameters]' - u '-u[convert the value to uppercase or mark function for autoloading]' - uf '-u[mark function for autoloadling]' - up '-u[convert the value to uppercase]' - w '(-k -z)-w[specify that arguments refer to files compiled with zcompile]' - W '-+W[turn on WARN_NESTED_VAR for function]' - x "($fopts)-+x[export parameter]" - z "($popts -k -w)-+z[mark function for zsh-style autoloading]" -) - -use="AEFHLRTUZafghiklmprtuxz" - -case ${service} in - autoload) - use="URTXdkrtwz" - func=f - ;; - float) use="EFHghlprtux";; - functions) - use="UkmTtuzW" - func=f - args=( - '(-k -t -T -u -U -W -x -z -M +M +k +t +W +z)-+M[define mathematical function]' - '(-k -m -t -T -u -U -W -x -z +M +k +t +W +z)-s[define mathematical function that takes a string argument]' - '(-M)-x+[specify spaces to use for indentation]:spaces' - '(-* +*)-c[copy shell function to another name]:old name:_functions:new name:_functions' - ) - ;; - integer) - use="Hghilprtux" - allargs[i]='-i+[specify arithmetic base for output]:: :_guard "[0-9]#" base' \ - ;; - readonly) use="${use/r/}" ;; - local) use="${use//[fgkz]/}" ;; - export) use="${use//[fgkxz]/}" ;; -esac - -[[ -z "${words[(r)-*[aA]*]}" ]] || func=p -[[ -z "${words[(r)-*f*]}" ]] || func=f - -# This function uses whacky features of _arguments which means we -# need to look for options to the command beforehand. -local onopts offopts -onopts=${(j..)${${words[1,CURRENT-1]:#^-[^-]*}##-}} -offopts=${(j..)${${words[1,CURRENT-1]:#^+*}##+}} - -for ((i=1;i<=$#use;++i)); do - args+=( ${allargs[${use[$i]}${${(s::)use[$i]}[(r)[dUurRtT]]:+$func}]} ) -done - -_arguments -C -s -A "-*" -S "${args[@]}" '*::vars:= ->vars_eq' && ret=0 - -if [[ "$state" = vars_eq ]]; then - if [[ $func = f ]]; then - if (( $+opt_args[+M] || ( $+opt_args[-M] && $+opt_args[-m] ) )); then - _wanted functions expl 'math function' compadd -F line - \ - ${${${(f)"$(functions -M)"}##*-M }%% *} && ret=0 - elif (( $+opt_args[-M] )); then - _arguments ':new math function:_functions' \ - ":minimum arguments${(k)opt_args[-s]:+:(1)}" \ - ":maximum arguments${(k)opt_args[-s]:+:(1)}" \ - ':shell function:_functions' && ret=0 - elif (( $+opt_args[-w] )); then - _wanted files expl 'zwc file' _files -g '*.zwc(-.)' && ret=0 - elif [[ $service = autoload || -n $opt_args[(i)-[uU]] ]]; then - if [[ ${"${(e)PREFIX}"[1]} = [/~] ]] && _files; then - # Autoload by absolute path - ret=0 - else - args=(${^fpath}/*(-.:t)) - # Filter out functions already loaded or marked for autoload. - local -a funckeys - funckeys=(${(k)functions}) - args=(${args:|funckeys}) - _wanted functions expl 'shell function' compadd -a args && ret=0 - fi - elif [[ -n $onopts$offopts ]]; then - if [[ -n $offopts ]]; then - args=(${(f)"$(functions +${offopts//[^UXkmtTuz]/})"}) - else - args=(${(k)functions}) - fi - if [[ -n $onopts ]]; then - local -a funckeys - funckeys=(${(f)"$(functions +${onopts//[^UXkmtTuz]/})"}) - args=(${args:|funckeys}) - fi - if zstyle -t ":completion:${curcontext}:functions" prefix-needed && - [[ $PREFIX != [_.]* ]]; then - args=(${args:#_*}) - fi - _wanted functions expl 'shell function' compadd -a args && ret=0 - else - _functions && ret=0 - fi - elif [[ "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value && ret=0 - elif (( $+opt_args[-a] || $+opt_args[-A] )); then - _parameters -q && ret=0 - elif (( $+opt_args[-T] )); then - _arguments \ - ':scalar parameter:_parameters -g "*scalar*" -q -S "="' \ - ':array parameter:_parameters -g "*array*"' \ - ':separator character' && ret=0 - else - _parameters -q -S '=' && ret=0 - fi -fi -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ulimit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ulimit deleted file mode 100644 index 0526821d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ulimit +++ /dev/null @@ -1,19 +0,0 @@ -#compdef ulimit - -[[ $PREFIX = u* ]] && compadd unlimited && return 0 - -_arguments -s \ - '-H[set hard limits]' \ - '-S[set soft and hard limits (with -H)]' \ - '(-H -S -c -d -f -l -m -n -s -t *)-a[list all current resource limits]' \ - '-c[core dump size limit]:max core dump size (512-byte blocks)' \ - '-d[maximum size of data segment]:maximum size of data segment (K-bytes)' \ - '-f[size of largest file allowed]:size of largest file allowed (512-byte blocks)' \ - '-l[maximum size of locked in memory]:maximum size of locked in memory (K-bytes)' \ - '-m[maximum size of physical memory]:maximum size of physical memory (K-bytes)' \ - '-n[maximum no. of open file descriptors]:maximum no. of open file descriptors' \ - '-s[stack size limit]:stack size limit (K-bytes)' \ - '-t[maximum cpu time per process]:maximum cpu time per process (seconds)' \ - '-u[processes available to the user]:processes' \ - '-v[maximum size of virtual memory]:maximum size of virtual memory (K-bytes)' \ - '*:size of largest file allowed' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uml b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uml deleted file mode 100644 index 1a5619f7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uml +++ /dev/null @@ -1,149 +0,0 @@ -#compdef linux uml_moo uml_mconsole uml_switch tunctl - -local curcontext="$curcontext" state st line expl suf ret=1 -typeset -A opt_args - -case $service in - uml_moo) - _arguments '1:COW file:_files -g "*cow*(-.)"' '2:new backing file:_files' - return - ;; - uml_switch) - _arguments \ - '-unix[listen on specified pair of sockets]:control socket: :data socket' \ - '-hub[act like a hub]' - return - ;; - uml_mconsole) - if (( CURRENT == 2 )); then - _wanted socket expl 'socket name' compadd {~/.uml,/tmp}/*/mconsole(N=:h:t) && ret=0 - elif [[ $words[CURRENT-1] = config ]]; then - if [[ -prefix ubd || -prefix eth ]]; then - state=option - else - _wanted device expl device compadd -S '' ubd eth && ret=0 - fi - elif [[ $words[CURRENT-1] = remove ]]; then - _wanted device expl device compadd ubd{0..7} eth{0..9} && ret=0 - elif (( CURRENT == 3 )); then - _values 'command' \ - 'version[print the UML kernel version number]' \ - 'help[print help]' \ - 'halt[shutdown UML system immediately]' \ - 'reboot[reboot the UML system immediately]' \ - 'config[add a new device to the virtual machine]' \ - 'remove[delete a device from the virtual machine]' \ - 'sysrq[perform sysrq action]:key:((r\:turn\ of\ keyboard\ raw\ mode k\:secure\ access\ key b\:reboot o\:shutdown s\:sync u\:remount p\:dump\ registers t\:dump\ tasks m\:dump\ memory e\:SIGTERM\ to\ all i\:SIGKILL\ to\ all l\:SIGKILL\ to\ all\ inc.\ init h\:help {0..9}\:console\ log\ level))' \ - 'cad[invoke ctrl-alt-del handler]' \ - 'stop[pause the UML]' \ - 'go[continue the UML]' \ - && ret=0 - else - _message 'no more arguments' - fi - ;; - linux) - _arguments -C \ - '(* -)--version[display kernel version number]' \ - '(* -)--help[print usage information]' \ - '(* -)--showconfig[show kernel configuration]' \ - '(-)*:option:->option' && ret=0 - ;; - tunctl) - _arguments \ - '(-d)-b[brief output]' \ - '-f[specify tun clone device]:tun clone device:_files' \ - '(-d)-u[specify owner]:owner:_users' \ - '(-b -u -t)-d[specify devicename to delete]:device name:(tap{0..9})' \ - '(-d)-t[specify devicename]:device name:(tap{0..9})' - return - ;; -esac - -while [[ -n $state ]]; do - st=$state - unset state - case $st in - option) - if compset -P '(ssl|con)[0-9]#='; then - state=channel - continue - elif compset -P con; then - _message -e consoles 'console number' - return - elif compset -P ssl; then - _message -e serial 'serial line number' - return - elif compset -P 'ubd[0-7](|r)(|s)='; then - compset -P '*,' - _files && return - elif compset -P ubd; then - _message -e devices 'device number' - return - elif compset -P 'eth[0-9]##='; then - if compset -P 1 '*,'; then - _message -e options option - else - _wanted transports expl transports compadd -S, \ - ethertap tuntap daemon mcast slip && return - fi - return - elif compset -P eth; then - _message -e ethernet number - return - fi - compadd -n -S '' con ssl ubd eth && ret=0 - _values -C -w "option" \ - 'mem[specify amount of "physical" memory to allocate]:memory' \ - 'iomem[configure file as named IO memory region]:arg:->iomem' \ - 'gdb[attach gdb to specified channel]:channel:->channel' \ - 'gdb-pid[specify pid of debugger]:debugger pid:_pids' \ - 'debugtrace[cause tracing thread to wait for debugger]' \ - 'honeypot[put process stacks in the same location as on host]' \ - 'debug[start kernel under gdb control]' \ - 'root[specify root filesystem]:root device' \ - 'umid[specify name for this UML machine]:name' \ - 'uml_dir[location to place pid and umid files]:directory:_directories' \ - 'initrd[boot from initrd image]:initrd file:_files' \ - 'jail[enable protection of kernel memory from processes]' \ - '*con[attach a console to a host channel]:channel:->channel' \ - '*ssl[attach a serial line to a host channel]:channel:->channel' \ - 'fake_ide[create ide0 entries which map onto ubd devices]' \ - '*ubd[associate device with host file]' \ - 'fakehd[change the ubd device name to "hd"]' \ - '*eth[configure a network device]' \ - 'ncpus[specify number of virtual processors to start]:processors' \ - 'mode[force UML to run in specified mode]:mode:(tt)' \ - 'mconsole[request mconsole driver to send a message to socket]:socket' \ - 'xterm[specify alternate terminal emulator]:terminal emulator:->xterm' \ - 'dsp[specify host dsp device]:dsp device:_files' \ - 'mixer[specify host mixer device]:mixer device:_files' \ - 'umn[specify ip address for host side of slip device]' && ret=0 - ;; - iomem) - if compset -P '*,'; then - _files && ret=0 - else - _message -e name - fi - ;; - channel) - compset -P '*,' || suf=( -S , ) - _values -S : ${suf/S/s} "channel" \ - pty pts xterm \ - 'tty:tty:_files $suf' \ - "fd:file descriptor:_file_descriptors $suf" && ret=0 - ;; - xterm) - if compset -P 2 '*,'; then - _wanted -x argument expl 'execute switch' compadd - -e -x && ret=0 - elif compset -P 1 '*,'; then - _wanted -x argument expl 'title switch' compadd -S , - -t -T -title && ret=0 - else - _wanted command expl 'terminal emulator' _command_names -e -S , && ret=0 - fi - ;; - esac -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_umountable b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_umountable deleted file mode 100644 index 7ffce5bb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_umountable +++ /dev/null @@ -1,44 +0,0 @@ -#autoload -local tmp -local dev_tmp dpath_tmp mp_tmp mline - -case "$OSTYPE" in -linux*|irix*) - tmp=( "${(@f)$(< /etc/mtab)}" ) - dev_tmp=( "${(@)${(@)tmp%% *}:#none}" ) - mp_tmp=( "${(@)${(@)tmp#* }%% *}" ) - ;; -freebsd*|dragonfly*) - /sbin/mount | while read mline; do - dev_tmp+=( $mline[(w)1] ) - mp_tmp+=( $mline[(w)3] ) - done -;; -darwin*) - tmp=( "${(@f)$(/sbin/mount)}" ) - dev_tmp=( "${(@)${(@)tmp%% *}:#map}" ) - mp_tmp=( "${(@)${(@)tmp#* on }%% \(*}" ) - ;; -*) - /sbin/mount | while read mline; do - mp_tmp+=( $mline[(w)1] ) - dev_tmp+=( $mline[(w)3] ) - done - ;; -esac - -local MATCH MBEGIN MEND -# The complicated substitution for mount point names is required because -# characters in /etc/mtab that might confuse programs reading the names -# are encoded as exactly 3 octal digits, like for example \040 for space. -# The cleaner-looking ${(g::)mp_tmp} might consume too many digits. -# Both mp_tmp and dev_tmp are derived from /etc/mtab or "mount" output. -mp_tmp=("${(@)mp_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}") -dev_tmp=("${(@)dev_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}") -dpath_tmp=( "${(@M)dev_tmp:#/*}" ) -dev_tmp=( "${(@)dev_tmp:#/*}" ) - -_alternative \ - 'device-labels:device label:compadd -a dev_tmp' \ - 'device-paths: device path:_canonical_paths -A dpath_tmp -N -M "r:|/=* r:|=*" device-paths device\ path' \ - 'directories:mount point:_canonical_paths -A mp_tmp -N -M "r:|/=* r:|=*" directories mount\ point' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unace deleted file mode 100644 index 8226ec28..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unace +++ /dev/null @@ -1,18 +0,0 @@ -#compdef unace - -_arguments -S \ - '-c[show comments]' \ - '-f[full path matching]' \ - '-o[overwrite files]' \ - '-p+[specify password]:password' \ - '-y[assume yes on all queries]' \ - '-x+[specify files to exclude]:files' \ - '-h[print help information]' \ - '1:unace command:(( - e\:extract\ files - l\:list\ archive - t\:test\ archive\ integrity - v\:list\ archive\ \(verbose\) - x\:extract\ files\ with\ full\ path - ))' \ - '*:files:_files -g "*.ace(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uname b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uname deleted file mode 100644 index c58f2edf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uname +++ /dev/null @@ -1,90 +0,0 @@ -#compdef uname guname - -typeset -A _uname_args -local -a args - -case $LANG in - de_*) - _uname_args=( - all "alle Grundinformationen ausgeben" - kernel-name "Namen des Kernels ausgeben" - nodename "Netzwerknamen der Maschine ausgeben" - kernel-release "Release-Nummer des Kernels ausgeben" - kernel-version "Version des Kernels ausgeben" - os-release "Release-Nummer des Betriebssystems ausgeben" - machine "Maschinentyp (Hardware) ausgeben" - processor "Typ des Prozessors ausgeben" - hardware-platform "Hardwareplattform ausgeben" - operating-system "Namen des Betriebssystems ausgeben" - help "Hilfe anzeigen und beenden" - version "Versionsinformation anzeigen und beenden" - ) - ;; - (*) - _uname_args=( - all "print all basic information" - kernel-name "print kernel name" - nodename "print network node hostname" - kernel-release "print kernel release" - kernel-version "print kernel version" - os-release "print operating system release level" - machine "print machine hardware name" - processor "print processor type" - hardware-platform "print hardware platform" - operating-system "print name of the operating system" - help "display help information" - version "output version information and exit" - ) - ;; -esac - -if _pick_variant gnu="Free Soft" unix --version; then - _arguments -s \ - '(-)'{--all,-a}'['$_uname_args[all]']' \ - '(--kernel-name -s)'{--kernel-name,-s}'['$_uname_args[kernel-name]']' \ - '(--nodename -n)'{--nodename,-n}'['$_uname_args[nodename]']' \ - '(--kernel-release -r)'{--kernel-release,-r}'['$_uname_args[kernel-release]']' \ - '(--kernel-version -v)'{--kernel-version,-v}'['$_uname_args[kernel-version]']' \ - '(--machine -m)'{--machine,-m}'['$_uname_args[machine]']' \ - '(--processor -p)'{--processor,-p}'['$_uname_args[processor]']' \ - '(--hardware-platform -i)'{--hardware-platform,-i}'['$_uname_args[hardware-platform]']' \ - '(--operating-system -o)'{--operating-system,-o}'['$_uname_args[operating-system]']' \ - '(-)--help['$_uname_args[help]']' \ - '(-)--version['$_uname_args[version]']' -else - args=( - "(-m -n -r -s -v)-a[${_uname_args[all]}]" - '-m[print hardware class]' - "-n[${_uname_args[nodename]}]" - "-p[${_uname_args[processor]}]" - "-r[${_uname_args[os-release]}]" - "-s[${_uname_args[operating-system]}]" - '-v[print detailed operating system version]' - ) - case $OSTYPE in - freebsd*|dragonfly*) - args+=( - '-i[print kernel ident]' - '-K[print kernel version]' - '-U[print user environment version]' - ) - ;| - dragonfly*) - args+=( - '-P[write ABI string for dports / pkgng, including odd-to-even version-munging]' - '-PP[write ABI string for dports / pkgng, without version-munging]' - ) - ;; - freebsd<13->.*) - args+=( "-b[print kernel's linker-generated build-id]" ) - ;; - solaris*) - args+=( - '-i[print platform name]' - '-S[set system name]:system name' - '-X[print expanded system information]' - ) - ;; - esac - _arguments -s $args -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unexpand b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unexpand deleted file mode 100644 index b548b3c3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unexpand +++ /dev/null @@ -1,37 +0,0 @@ -#compdef unexpand gunexpand expand gexpand - -local all tabs -local -a args - -all="convert all whitespace, instead of just initial whitespace" -tabs="[use comma separated list of tab positions]:list of tab positions" - -if _pick_variant gnu="Free Soft" unix --version; then - if [[ $service = *un* ]]; then - args=( - "(-a --help --version)--all[$all]" - '(--help --version)--first-only[convert only leading sequences of whitespace]' - ) - else - args=( - '(-i --initial --help --version)'{-i,--initial}"[don't convert tabs after non blanks]" - ) - fi - - args+=( - "(-t --help --version)--tabs=${tabs}" - '(* -)--help[display usage information]' - '(* -)--version[display version information]' - ) -elif [[ $OSTYPE = (*bsd*|dragonfly*|darwin*) ]]; then - args=( -A "-*" ) -fi -[[ $service = *un* ]] && args+=( "(--all --help --version)-a[$all]" ) - -# Most (un)expand variants, excluding BusyBox, allow e.g. -4 instead of -t4 -[[ $_cmd_variant[$service] == *busybox* ]] || -args+=( '!(-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -t --tabs)-'{0..9} ) - -_arguments -s -S "$args[@]" \ - "(--tabs --help)-t+${tabs}" \ - '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unhash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unhash deleted file mode 100644 index ff0c03f4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unhash +++ /dev/null @@ -1,9 +0,0 @@ -#compdef unhash - -_arguments -s -S \ - '(-a -f -s *)-d[remove named directories]:*:named directory:compadd -k nameddirs' \ - '(-d -f -s *)-a[remove aliases]:*:alias:_aliases' \ - '(-a -d -f *)-s[remove suffix aliases]:*:suffix alias:_aliases -s s' \ - '(-d -a -s *)-f[remove functions]:*:shell function:_functions' \ - '-m[treat arguments as patterns]' \ - '(-a -d -f -m)*:command: _command_names -e' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uniq b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uniq deleted file mode 100644 index e123a94c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uniq +++ /dev/null @@ -1,34 +0,0 @@ -#compdef uniq guniq - -local args - -args=( - '(-c --count)'{-c,--count}'[prefix lines by the number of occurrences]' - '(-d --repeated)'{-d,--repeated}'[only print duplicate lines]' - '(--all-repeated)-D-[print all duplicate lines]' - '(-D)--all-repeated=-[print all duplicate lines]::delimit method [none]:(none prepend separate)' - '(-f --skip-fields)'{-f,--skip-fields=}'[avoid comparing initial fields]:number of fields' - '--group=-[show all items]::group separation [separate]:(separate prepend append both)' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing]' - '(-s --skip-chars)'{-s,--skip-chars=}'[avoid comparing initial characters]:number of characters' - '(-t --separator)'{-t,--separator=}'[specify field delimiter]:separator' - '(-u --unique)'{-u,--unique}'[only print unique lines]' - '(-w --check-chars)'{-w,--check-chars=}'[specify maximum number of characters to compare]:characters' - '(-W --check-fields)'{-W,--check-fields=}'[specify maximum number of fields to compare]:fields' - '(-z --zero-terminated)'{-z,--zero-terminated}'[delimit lines with null character, not newline]' - '(- *)--help[display help information]' - '(- *)--version[display version information]' -) - -if ! _pick_variant gnu=Free\ Soft unix --version; then - local optchars="cdufs" - if [[ "$OSTYPE" == (darwin|dragonfly|freebsd|openbsd)* ]]; then - optchars+=i - fi - [[ $OSTYPE = freebsd* ]] && optchars+=D - args=( ${(M)args:#(|\*)(|\(*\))-[$optchars]*} ) -fi - -_arguments "$args[@]" \ - '1::input file:_files' \ - '2::output file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unison b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unison deleted file mode 100644 index 91fa57e5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unison +++ /dev/null @@ -1,89 +0,0 @@ -#compdef unison - -local context state line -typeset -A opt_args - -_arguments \ - '-auto[automatically accept default (nonconflicting) actions]' \ - '-batch[batch mode\: ask no questions at all]' \ - '-doc[show documentation]:topic:(about people lists status copying ack install tutorial basics failures running ssh news all topics)' \ - '-follow[add a pattern to the follow list]:pattern:' \ - '-force[force changes from this replica to the other]:replica:' \ - '-group[synchronize group attributes]' \ - '-ignore[add a pattern to the ignore list]:pattern:' \ - '-ignorenot[add a pattern to the ignorenot list]:pattern:' \ - '-owner[synchronize owner]' \ - '-path[path to synchronize]:path:_files' \ - '-perms[part of the permissions which is synchronized]:perms:' \ - '-prefer[choose this replicas version for conflicting changes]:replica:' \ - '-root[root of a replica (should be used exactly twice)]:path:_files -/' \ - '-silent[print nothing except error messages]' \ - '-terse[suppress status messages]' \ - '-testserver[exit immediately after the connection to the server]' \ - '-times[synchronize modification times]' \ - '-version[print version and exit]' \ - '-addprefsto[add new prefs to]:file:_files' \ - '-addversionno[add version number to name of unison on server]' \ - '-backup[add a pattern to the backup list]:pattern:' \ - '-backupcurr[add a pattern to the backupcurr list]:pattern:' \ - '-backupcurrnot[add a pattern to the backupcurrnot list]:pattern:' \ - '-backupdir[directory for storing centralized backups]:directory:_files -/' \ - '-backuploc[where backups are stored]:backup location:(local central)' \ - '-backupnot[add a pattern to the backupnot list]:pattern:' \ - '-backupprefix[prefix for the names of backup files]:prefix:' \ - '-backups[keep backup copies of all files]' \ - '-backupsuffix[a suffix to be added to names of backup files]:suffix:' \ - '-confirmbigdel[ask about whole-replica (or path) deletes (default true)]' \ - '-confirmmerge[ask for confirmation before committing results of a merge]' \ - '-contactquietly[suppress the "contacting server" message during startup]' \ - '-copyprog[external program for copying large files]:program:_files -g "*(-x)"' \ - '-copyprogrest[variant of copyprog for resuming partial transfers]:program:_files -g "*(-x)"' \ - '-copyquoterem[add quotes to remote file name for copyprog]:quote style:(true false default)]' \ - '-copythreshold[use copyprog on files bigger than this]:size (kb):' \ - '-debug:debug module:(all verbose)' \ - '-diff[command for showing differences between files]:program:_files -g "*(-x)"' \ - '-dontchmod[when set, never use the chmod system call]' \ - '-dumbtty[do not change terminal settings in text UI]' \ - '-fastcheck:fast update detection:(true false default)' \ - '-forcepartial[add a pattern to the forcepartial list]:pattern:' \ - '-height[height of main window in graphical interface]:number (lines):' \ - '-host[bind the socket to this host name in server socket mode]:host:_hosts' \ - '-ignorecase[identify upper/lowercase filenames]:ignorecase:(true false default)' \ - '-ignorelocks[ignore locks left over from previous run (dangerous!)]' \ - '-immutable[add a pattern to the immutable list]:pattern:' \ - '-immutablenot[add a pattern to the immutablenot list]:pattern:' \ - '-key[define a keyboard shortcut for this profile (in some UIs)]:shortcut:' \ - '-killserver[kill server when done (even when using sockets)]' \ - '-label[provide a descriptive string label for this profile]:label:' \ - '-log[record actions in logfile (default true)]' \ - '-logfile:logfile name:_files' \ - '-maxbackups[number of backed up versions of a file]:number:' \ - '-maxthreads[maximum number of simultaneous file transfers]:number:' \ - '-merge[add a pattern to the merge list]:pattern:' \ - '-mountpoint[abort if this path does not exist]:mountpoint:_files -/' \ - "-numericids[don't map uid/gid values by user/group names]" \ - '-preferpartial[add a pattern to the preferpartial list]:pattern:' \ - '-pretendwin[use creation times for detecting updates]' \ - '-repeat[synchronize repeatedly (text interface only)]:repeat:' \ - '-retry[re-try failed synchronizations N times (text ui only)]:retry times:' \ - '-rootalias[register alias for canonical root names]:root alias:' \ - '-rsrc:synchronize resource forks:(true false default)' \ - '-rsync[activate the rsync transfer mode (default true)]' \ - '-selftest[run internal tests and exit]' \ - '-servercmd[name of unison executable on remote server]:program:_files -g "*(-x)"' \ - '-showarchive[show "true names" (for rootalias) of roots and archive]' \ - '-socket[act as a server on a socket]:socket:_files -g "*(-=)"' \ - '-sortbysize[list changed files by size, not name]' \ - '-sortfirst[add a pattern to the sortfirst list]:pattern:' \ - '-sortlast[add a pattern to the sortlast list]:pattern:' \ - '-sortnewfirst[list new before changed files]' \ - '-sshargs[other arguments (if any) for remote shell command]:ssh args:' \ - '-sshcmd[path to the ssh executable]:program:_files -g "*(-x)"' \ - '-ui:user interface:(text graphic)' \ - '-xferbycopying[optimize transfers using local copies (default true)]' \ - '*:profile:->profile' - -if [[ $state == profile ]]; then - local -a profiles=( ${UNISON:-~/.unison}/*.prf(N:t:r) ) - compadd "$@" -a profiles -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_units b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_units deleted file mode 100644 index 6d86f4dc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_units +++ /dev/null @@ -1,82 +0,0 @@ -#compdef units - -local curcontext="$curcontext" state line expl -integer ret=1 -typeset -A opt_args - -# Command line completion for Solaris units isn't very useful; this -# may be standard old-fashioned behaviour. However, it does let you -# find out the units that are available before running units -# interactively. - -# GNU options, but these aren't very intrusive for other versions. -_arguments -C -s -S \ - '(-c --check --check-verbose)'{-c,--check}'[check units are reducible]' \ - '(-c --check)--check-verbose[verbosely check units are reducible]' \ - '(-o --output-format)'{-o,--output-format}'[specify output format]:printf format' \ - '(-f --file)'{-f,--file}'[specify file with units]:units file:_files' \ - '(-m --minus)'{-m,--minus}'[- is subtraction]' \ - '(-p --product)'{-p,--product}'[binary - is product]' \ - '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress prompts and statistics]' \ - '(-s --strict)'{-s,--strict}'[suppress conversion to reciprocal units]' \ - '(-t --terse)'{-t,--terse}'[make conversion output briefer]' \ - '(-v --verbose)'{-v,--verbose}'[make output more verbose]' \ - '(- *)'{-h,--help}'[show help information and exit]' \ - '(- *)'{-V,--version}'[show version information and exit]' \ - '*:unit expression:->expr' && return 0 - -[[ $state = expr ]] || return 1 - -# It's very likely there's a quoted expression, since things like '2 seconds' -# need to be a single argument. Units themselves don't have special -# characters, so it's safe to take just the characters around the -# cursor. -compset -P '*[^[:alnum:]]' -compset -S '[^[:alnum:]]*' - -# Find the units data. -local datfile -local -a testfiles -testfiles=( - /usr/share/units.dat # GNU on Fedora - /usr/share/units/units.dat # on gentoo - /usr/share/units/definitions.units # on Debian, units 2.00 and newer - /usr/local/share/units.dat # GNU DIY install - /usr/share/lib/unittab # Solaris - /usr/share/misc/units.lib # OpenBSD [as of 2020]; also FreeBSD 9.1 - /usr/share/misc/definitions.units # FreeBSD 12.1 - /usr/share/misc/units.dat # on Debian, units 1.88 and older -) - -datfile=${opt_args[-f]:-${opt_args[--file]}} -if [[ -z $datfile ]]; then - for datfile in $testfiles; do - [[ -f $datfile ]] && break - done -fi - -if [[ ! -f $datfile ]]; then - _message "Data file for units not found." - return -fi - -local -a all units pfxs -# Solaris uses / to start a comment, else #. -# could cache this, but it's not that big a deal... -all=($(awk '$1 !~ /^[\/#]/ { print $1 }' $datfile)) -# prefixes end in a - -pfxs=(${${all:#^[[:alnum:]]##-}%%-}) -# units may include regular or piecewise linear functions -units=(${${all:#^[[:alnum:]]##([\(\]]*|)}%%\(*}) - -if (( ${#units} )); then - _alternative 'unitprefixes:unit prefix:compadd -S "" -a pfxs' \ - 'units:unit:compadd -a units' && ret=0 - # attempt to skip a prefix - if (( ${#pfxs} )) && compset -P "(${(j.|.)pfxs})"; then - _wanted units expl unit compadd -a units && ret=0 - fi - return ret -else - _message "No unit definitions found." -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unshare b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unshare deleted file mode 100644 index ff6f7042..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_unshare +++ /dev/null @@ -1,40 +0,0 @@ -#compdef unshare - -local ign -(( $#words > 2 )) && ign='!' - -# a different unshare exists on some systems -if [[ $OSTYPE != linux* ]]; then - _default - return -fi - -_arguments -S -s \ - '(-m --mount)'{-m-,--mount=-}'[enter mount namespace]::file:_files' \ - '(-u --uts)'{-u-,--uts=-}'[enter UTS namespace (hostname etc)]::file:_files' \ - '(-i --ipc)'{-i-,--ipc=-}'[enter System V IPC namespace]::file:_files' \ - '(-n --net)'{-n-,--net=-}'[enter network namespace]::file:_files' \ - '(-p --pid)'{-p-,--pid=-}'[enter pid namespace]::file:_files' \ - '(-U --user)'{-U-,--user=-}'[enter user namespace]::file:_files' \ - '(-C --cgroup)'{-C-,--cgroup=-}'[enter cgroup namespace]::file:_files' \ - '(-T --time)'{-T-,--time=-}'[enter time namespace]::file:_files' \ - '(-f --fork)'{-f,--fork}"[fork before launching]" \ - '(-r --map-root-user)--map-user=[map current user to uid (implies --user)]:user:_users' \ - '--map-group=[map current group to gid (implies --user)]:group:_groups' \ - '(-r --map-root-user -c --map-current-user --map-user)'{-r,--map-root-user}'[map current user to root (implies --user)]' \ - '(-c --map-current-user)'{-c,--map-current-user}'[map current user to itself (implies --user)]' \ - '(-f --fork)--kill-child=-[when dying, kill the forked child (implies --fork)]::signal [KILL]:_signals' \ - '--mount-proc=-[mount proc filesystem first (implies --mount)]::mount point [/proc]:_directories' \ - '--propagation=[modify mount propagation in mount namespace]:propagation flag:(slave shared private unchanged)' \ - '--setgroups=[control the setgroups syscall in user namespaces]:grant setgroups:(allow deny)' \ - '--keep-caps[retain capabilities granted in user namespaces]' \ - '(-R --root)'{-R+,--root=}'[set the root directory]:directory:_directories' \ - '(-w --wd)'{-w+,--wd=}'[set the working directory]:directory:_directories' \ - '(-S --setuid)'{-S+,--setuid=}'[set uid in entered namespace]:uid [0]' \ - '(-G --setgid)'{-G+,--setgid=}'[set gid in entered namespace]:gid [0]' \ - '--monotonic=[set clock monotonic offset in time namespaces]:offset (seconds)' \ - '--boottime=[set clock boottime offset in time namespaces]:offset (seconds)' \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)"{-V,--version}'[display version information]' \ - '1: : _command_names -e' \ - '*::args :_normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-alternatives b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-alternatives deleted file mode 100644 index 31128dd8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-alternatives +++ /dev/null @@ -1,69 +0,0 @@ -#compdef update-alternatives - -local curcontext="$curcontext" state line alterdir ret - -if [[ -d /var/lib/dpkg/alternatives ]]; then - alterdir=/var/lib/dpkg/alternatives -elif [[ -d /var/lib/rpm/alternatives/ ]]; then - alterdir=/var/lib/rpm/alternatives -fi - -_arguments -C \ - '--verbose' \ - '--quiet' \ - '--test' \ - '--help' \ - '--version' \ - '--altdir:altdir:_files -/' \ - '--admindir:admindir:_files -/' \ - '--log:log file:_files -/' \ - '--force' \ - '--skip-auto' \ - '--install:*::alt:= ->install' \ - '--remove:*::alt:= ->remove' \ - '--remove-all:name:_files -W "$alterdir"' \ - '--auto:name:_files -W "$alterdir"' \ - '--display:name:_files -W "$alterdir"' \ - '--query:name:_files -W "$alterdir"' \ - '--list:name:_files -W "$alterdir"' \ - '--get-selections' \ - '--set-selections' \ - '--config:name:_files -W "$alterdir"' \ - '--set:name:_files -W "$alterdir":path:_files -/' \ - '--all' && return - -while true; do - case "$state" in - islave) - _call_function ret _update_alternatives_$state && return ret - state= - _arguments -C \ - '1:link:_files' \ - '2:name:_files -W "$alterdir"' \ - '3:path:_files' \ - '--slave:*::more:= ->islave' && return - [[ -z $state ]] && return 1 - ;; - - install) - _call_function ret _update_alternatives_$state && return ret - _arguments -C \ - '1:link:_files' \ - '2:name:_files -W "$alterdir"' \ - '3:path:_files' \ - '4:priority:' \ - '--slave:*::slave:= ->islave' && return - [[ -z $state ]] && return 1 - ;; - - remove) - _call_function ret _update_alternatives_$state && return ret - _arguments \ - '1:name:_files -W "$alterdir"' \ - '2:path:_files' - return - ;; - - *) return 1 ;; - esac -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-rc.d b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-rc.d deleted file mode 100644 index 68b81dc7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_update-rc.d +++ /dev/null @@ -1,28 +0,0 @@ -#compdef update-rc.d - -local curcontext="$curcontext" state line expl - -_arguments -C \ - '-n[show actions without performing them]' \ - '-f[force removal of symlinks]' \ - '1:service:_services' \ - '2:command:(remove defaults start stop)' \ - '*::args:->args' && return - -case $words[2] in - defaults) - _message -e number 'sequence number' - ;; - remove) - _message 'no more arguments' - ;; - st*) - case ${words[CURRENT-1]} in - .) _wanted commands expl commands compadd start stop && return ;; - start|stop) _message -e number 'sequence number' ;; - *) _message -e runlevels run\ level ;; - esac - ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uptime b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uptime deleted file mode 100644 index 58b4d991..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uptime +++ /dev/null @@ -1,26 +0,0 @@ -#compdef uptime guptime - -local variant - -_pick_variant -r variant procps=procps gnu='Free Soft' unix --version - -case $variant in - procps) - _arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - '(: -)'{-V,--version}'[display version information]' \ - + '(excl)' \ - {-p,--pretty}'[display uptime in pretty format]' \ - {-s,--since}'[display date/time of system boot]' - return - ;; - gnu) - _arguments -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '1:utmp/wtmp file:_files' - return - ;; - # *BSD, Darwin, Solaris, BusyBox - *) _message 'no more arguments'; return 1 ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urls deleted file mode 100644 index f9cdd58c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urls +++ /dev/null @@ -1,182 +0,0 @@ -#compdef -value-,WWW_HOME,-default- -P -value-,(ftp|http(|s))_proxy,-default- - -# Configuration styles used: -# -# urls -# The path to a directory containing a URL database, such as: -# -# % cd ~/.zsh/urls -# % find . -ls -# ... drwxr-xr-x ... 512 Sep 3 02:46 . -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http -# ... drwxr-xr-x ... 512 Sep 3 02:52 ./http/www.zsh.org -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla/workers -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla/workers/1999 -# ... -rw-r--r-- ... 0 Sep 3 03:01 ./http/www.zsh.org/mla/workers/1999/index.html -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http/sunsite.dk -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http/sunsite.dk/zsh -# ... drwxr-xr-x ... 512 Sep 3 02:47 ./bookmark -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./bookmark/zsh -# ... -rw-r--r-- ... 27 Sep 3 02:47 ./bookmark/zsh/home -# ... -rw-r--r-- ... 20 Sep 3 02:48 ./bookmark/zsh/meta -# % cat bookmark/zsh/home -# http://sunsite.dk/zsh/ -# % cat bookmark/zsh/meta -# http://www.zsh.org/ -# -# Alternatively it may contain the path to a normal file and the URLs will -# be taken from that. Or the style may contain the URLs as its values. -# -# local -# Specify a local web server as an array with three elements: -# <hostname> <doc root> <user area> -# where hostname is the name of the web server, doc root is the path to -# the default web pages for the server and user area is the directory -# name used by a user placing web pages within their home area. -# E.g.: -# zstyle ':completion:*:urls' local www /usr/local/apache/htdocs public_html - -local ipre scheme host user uhosts ret=1 expl match glob suf -local localhttp -zstyle -a ":completion:${curcontext}:urls" local localhttp -local localhttp_servername="$localhttp[1]" -local localhttp_documentroot="$localhttp[2]" -local localhttp_userdir="$localhttp[3]" - -zstyle -a ":completion:${curcontext}:urls" urls urls - -if [[ $#urls -gt 1 || ( $#urls -eq 1 && ! -d $urls[1] ) ]]; then - [[ $#urls -eq 1 && -f $urls[1] ]] && urls=( $(< $urls[1]) ) - _wanted urls expl 'URL' compadd "$@" -a urls && return 0 - urls=() -fi - -urls="$urls[1]" - -glob=(-g '*(^/)') -zparseopts -D -K -E 'g:=glob' - -ipre="$IPREFIX" - -if ! compset -P '(#b)([-+.a-z0-9]#):'; then - _tags -C argument prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' -S '' "$@"; do - compset -S '[^:/]*' && compstate[to_end]='' - [[ -d $urls/bookmark ]] && - compadd "$expl[@]" bookmark: && ret=0 - compadd "$expl[@]" file: ftp:// gopher:// http:// https:// && ret=0 - done - (( ret )) || return 0 - done - return 1 -fi -scheme="$match[1]" - -case "$scheme" in - (http(|s)|(|s)ftp|scp|gopher) - if ! compset -P //; then - _wanted -C "$scheme" prefixes expl 'end of prefix' compadd -S '' "$@" // - return - fi - ;; - file|unix) - [[ -prefix //(127.0.0.1|localhost)/ ]] && compset -P '//(127.0.0.1|localhost)' - [[ -prefix /// ]] && compset -P // - if ! compset -P //; then - _tags -C file files - while _tags; do - while _next_label files expl 'local file'; do - if [[ -prefix / ]]; then - _path_files "$expl[@]" -S '' "${glob[@]}" && ret=0 - _path_files "$expl[@]" -S/ -r '/' -/ && ret=0 - elif [[ -z "$PREFIX" ]]; then - compadd -S '/' -r '/' "$expl[@]" "$@" - "${PWD%/}" && ret=0 - fi - done - (( ret )) || return 0 - done - return 1 - fi - ;; - bookmark) - if [[ -f "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" && - -s "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" ]]; then - _wanted -C bookmark bookmarks expl bookmark \ - compadd "$@" -U - \ - "$ipre$(<"$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}")" && ret=0 - else - _tags -C bookmark files - while _tags; do - while _next_label files expl 'bookmark'; do - _path_files -W "$urls/$scheme" "$expl[@]" -S '' "${glob[@]}" && - ret=0 - _path_files -W "$urls/$scheme" -S/ -r '/' "$expl[@]" -/ && ret=0 - done - (( ret )) || return 0 - done - fi - return ret - ;; -esac - -# Complete hosts -if ! compset -P '(#b)([^:/]#)([:/])'; then - uhosts=($urls/$scheme/$PREFIX*$SUFFIX(/:t)) - - _tags hosts - while _tags; do - while _next_label hosts expl host; do - compset -S '[:/]*' || suf="/" - (( $#uhosts )) || _hosts -S "$suf" -r '/:' "$expl[@]" && ret=0 - [[ "$scheme" = http ]] && uhosts=($uhosts $localhttp_servername) - compadd -S "$suf" -r '/:' "$expl[@]" -a uhosts && ret=0 - done - (( ret )) || return 0 - done - return 1 -fi -host="$match[1]" - -[[ $match[2] = ':' ]] && ! compset -P '<->/' && _message -e ports 'port number' && return 0 - -# Complete part after hostname - -_tags remote-files files || return 1 - -if [[ "$localhttp_servername" = "$host" ]]; then - if compset -P \~; then - if ! compset -P '(#b)([^/]#)/'; then - _users -S/ "$@" - return - fi - user="$match[1]" - while _tags; do - while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W ~$user/$localhttp_userdir "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W ~$user/$localhttp_userdir-/ && ret=0 - done - (( ret )) || return 0 - done - else - while _tags; do - while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W $localhttp_documentroot "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W $localhttp_documentroot -/ && ret=0 - done - (( ret )) || return 0 - done - fi -else - while _tags; do - (( $#urls )) && while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W $urls/$scheme/$host "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W $urls/$scheme/$host -/ && ret=0 - done - [[ $scheme = (scp|sftp) ]] && _requested remote-files && - _remote_files -h $host -- ssh && ret=0 - (( ret )) || return 0 - done -fi -return $ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urpmi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urpmi deleted file mode 100644 index 21c44ffa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urpmi +++ /dev/null @@ -1,297 +0,0 @@ -#compdef urpme urpmi urpmi.addmedia urpmi.removemedia urpmi.update urpmq urpmf parsehdlist - -_urpmi_media() { - # TODO should we probe for active media only? - compadd "$@" - ${(f)"$(urpmq --list-media 2> /dev/null)"} -} - -_urpmi_rpms() { - local ret=1 expl - - _tags rpms files - - while _tags; do - if _requested rpms expl 'urpmi RPM'; then - local -a pkgs - pkgs=( $(urpmq --list 2> /dev/null \ - ${(k)opt_args[--media]:-${opt_args[--searchmedia]:+--media}} \ - ${(v)opt_args[--media]}${opt_args[--searchmedia]:+${opt_args[--media]:+,}${opt_args[--searchmedia]}} \ - ${(k)opt_args[--excludemedia]} ${(v)opt_args[--excludemedia]} - ) - ) - compadd "$expl[@]" -a pkgs && ret=0 - fi - - _requested files expl '(S)RPM file' \ - _files -g '*.(#i)rpm(-.)' && ret=0 - - (( ret )) || break - done - - return ret -} - -# TODO add completion of remote directory for SSH, rsync, ftp -_urpmi_media_url() { - local expl ret=1 - - if compset -P file:// || compset -P removable://; then - _files "$@" -W / -/ && ret=0 - elif [[ -prefix '(ftp|http)://' ]]; then - _urls "$@" && ret=0 - else - if (( ${+opt_args[--virtual]} )); then - _wanted mediatype expl 'type of media' \ - compadd -S "" "$@" -- file:// && ret=0 - else - _wanted mediatype expl 'type of media' \ - compadd -S "" "$@" -- ssh:// rsync:// file:// http:// ftp:// removable:// && ret=0 - fi - fi - - return ret -} - -_urpme_package() { - local -a _rpms - _rpms=( $(_call_program packages rpm -qa) ) - compadd "$@" -a _rpms -} - -_urpmi_parallel_alias() { - # placeholder as I do not actually have parallel system to test - return 1 -} - -_urpmi() { - local ret=1 help="--help -h" - local -a opts_help opts_net opts_verbose opts_inst_rem opts_search opts_media - - opts_help=( - "(: -)"{--help,-h}"[print usage information]" - ) - - opts_net=( - "($help --wget)--curl[use curl to retrieve distant files]" - "($help)--limit-rate[limit the download speed]:download speed (b/s)" - "($help)--proxy:proxy host:_hosts" - "($help)--proxy-user:proxy user:_users" - "($help --curl)--wget[use wget to retrieve distant files]" - ) - - opts_verbose=( - "(--help -h -v)-q[quiet mode]" - "(--help -h -q)-v[verbose mode]" - ) - opts_inst_rem=( - "($help)--auto[automatically select a package in choices]" - "($help)--force[force invocation even if some packages do not exist]" - "($help)--parallel[distributed urpmi across machines of alias]:urpmi alias name:_urpmi_parallel_alias" - "($help)--root[use another root for rpm installation]:root directory:_files -/" - "($help)--test[test only, do not modify system]" - "($help)-a[select all matches on command line]" - ) - - opts_search=( - "($help --fuzzy -z)"{--fuzzy,-y}"[return all matches even if exact match exists]" - "($help -p -P)-p[allow search in provides to find package]" - "($help -p -P)-P[do not search in provides to find package]" - ) - - opts_media=( - "($help)--excludemedia[do not use the given media]:urpmi media:_sequence _urpmi_media" - "($help --update --use-distrib)--media[use only the media listed by comma]:urpmi media:_sequence _urpmi_media" - "($help)--searchmedia[use only the given media to search requested (or updated) packages]:urpmi media:_urpmi_media" - "($help)--sortmedia[sort media according to substrings separated by comma]:urpmi media:_sequence _urpmi_media" - "($help)--synthesis[use the given synthesis instead of urpmi db]:synthesis file:_url" - "($help --media --use-distrib)--update[use only update media]" - "($help --media --update)--use-distrib[configure urpmi on the fly from a distrib tree]:installation media:_urpmi_media_url" - ) - - case "$service" in - urpme ) - _arguments -A '-*' \ - $opts_help \ - $opts_inst_rem \ - "--auto[do not ask any question]" \ - "-v[verbose]" \ - ": :_urpme_package" && ret=0 - ;; - urpmi.addmedia ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - "($help)--arch[use specified architecture]:Mandrake architecture: " \ - "($help :)--distrib[automatically create all media from an installation medium]:media URL:_urpmi_media_url" \ - "($help)--from[use specified url for list of mirrors]:mirror URL:_url" \ - "($help)--no-md5sum[disable MD5SUM file checking]" \ - "($help --probe-hdlist --probe-synthesis)--no-probe[do not try to find any synthesis or hdlist file]" \ - "($help --no-probe --probe-synthesis)--probe-hdlist[try to find and use hdlist file]" \ - "($help --no-probe --probe-hdlist)--probe-synthesis[try to find and use synthesis file]" \ - "($help)--update[mark as update media]" \ - "($help)--version[use specified distribution version]:Mandrake version: " \ - "($help)--virtual[create virtual media which are always up-to-date]" \ - "($help)-c[clean headers cache directory]" \ - "($help)-f[force generation of hdlist files]" \ - "($help --distrib):name of media: " \ - "($help --distrib):media URL:_urpmi_media_url" \ - "($help --distrib): :(with)" \ - "($help --distrib):relative path to hdlist file" \ - && ret=0 - ;; - urpmi.removemedia ) - _arguments -A '-*' \ - $opts_help \ - $opts_verbose \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help :)-a[select all media]" \ - "($help)-c[clean headers cache directory]" \ - "($help)-y[fuzzy matching on media names]" \ - "(-a)"{,\*}":media:_sequence _urpmi_media" \ - && ret=0 - ;; - urpmi.update ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help)--force-key[force update of gpg key]" \ - "($help : -a)--update[update only update media]" \ - "($help --update :)-a[select all non-removable media]" \ - "($help)-c[clean /var/cache/urpmi/headers on exit]" \ - "($help)*-f[force generation of hdlist files]" \ - "($help -a)"{,\*}":media:_sequence _urpmi_media" \ - && ret=0 - ;; - urpmi ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - $opts_inst_rem \ - $opts_search \ - $opts_media \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help)--allow-force[allow asking user to install packages without dependencies checking and integrity]" \ - "($help)--allow-nodeps[allow asking user to install packages without dependencies checking]" \ - "($help)--auto-select[automatically select packages to upgrade the system]" \ - "($help --env)--bug[output a bug report in given directory]:directory for bug report:_files -/" \ - "($help -X)--best-output[automatically select text or X interface]" \ - "($help --noclean)--clean[remove rpm from cache before anything else]" \ - "($help --clean)--noclean[keep rpm not used in cache]" \ - "($help --bug)--env[use specific environment (typically result of --bug)]:directory for bug report:_files -/" \ - "($help)--excludedocs[exclude docs files]: " \ - "($help)--excludepath[exclude path separated by comma]:path: " \ - "($help)--install-src[install only source package (no binaries)]" \ - "($help)--keep[keep existing packages if possible]" \ - "($help)--more-choices[propose more choices than the default]" \ - "($help --no-resume)--resume[resume transfer of partially-downloaded files]" \ - "($help --resume)--no-resume[do not resume transfer of partially-downloaded files]" \ - "($help)--root[use another root for rpm installation]:root directory:_files -/" \ - "($help)--skip[packages which installation should be skipped]:packages: " \ - "($help)--split-length[small transaction length]:transaction length: " \ - "($help)--split-level[split in small transaction]:transaction size: " \ - "($help --src -s)"{--src,-s}"[next package is source package]" \ - "($help)--strict-arch[upgrade only packages with the same architecture]" \ - "($help)--no-uninstall[never ask to uninstall a package, abort the installation]" \ - "($help --verify-rpm)--no-verify-rpm[do not verify rpm signature before installation]" \ - "($help --no-verify-rpm)--verify-rpm[verify rpm signature before installation]" \ - "($help)-a[select all packages matching command line]" \ - "($help -m -M)-m[choose minimum closure of requires (default)]" \ - "($help -m -M)-M[choose maximum closure of requires]" \ - "($help --best-output)-X[use X interface]" \ - "($help)"{,\*}": :_urpmi_rpms" \ - && ret=0 - ;; - urpmq ) - _arguments -A '-*' \ - $opts_help \ - $opts_media \ - $opts_search \ - "($help)--auto-select[automatically select packages for upgrading the system]" \ - "($help)--force[ignore non-existent packages]" \ - "($help)--headers[extract headers for package listed from urpmi db to stdout]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list[list available packages]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-media[list available media]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-url[list available url]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-nodes[list available nodes]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-aliases[list available aliases]" \ - "($help)--sources[show full path to package file]" \ - "($help --src -s)"{--src,-s}"[next package is source package]" \ - "($help)--summary[print RPM summary]" \ - "($help)-c[complete output with package to be removed]" \ - "($help)-d[extend query to package dependencies]" \ - "($help)-f[print version, release and arch with name]" \ - "($help)-g[print groups too with name]" \ - "($help)-i[print useful information in human readable form]" \ - "($help)-l[list files in package]" \ - "($help)-r[print version and release too with name]" \ - "($help)-R[reverse search to what requires package]" \ - "($help)-u[remove package if a better version is already installed]" \ - "($help -list --list-media --list-url --list-nodes --list-aliases)*:urpmi package name":_urpmi_rpms \ - && ret=0 - ;; - urpmf ) - # TODO this is not complete, some operators are missing - _arguments -A '-*' \ - $opts_help \ - $opts_media \ - "($help --name --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--all[print all tags]" \ - "($help --all --name)--buildhost[print tag buildhost: build host]" \ - "($help --all --name)--conflicts[print tag conflicts: all conflicts]" \ - "($help --all --name)--description[print tag description: description]" \ - "($help --all --name)--epoch[print tag epoch: epoch]" \ - "($help --all --name)--files[print tag files: all files]" \ - "($help --all --name)--group[print tag group: group]" \ - "($help --all --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--name[print only package names]" \ - "($help --all --name)--obsoletes[print tag obsoletes: all obsoletes]" \ - "($help --verbose)--quiet[do not print tag name]" \ - "($help --all --name)--packager[print tag packager: packager]" \ - "($help --all --name)--provides[print tag provides: all provides]" \ - "($help --all --name)--requires[print tag requires: all requires]" \ - "($help --all --name)--size[print tag size: size]" \ - "($help --all --name)--sourcerpm[print tag sourcerpm: source rpm]" \ - "($help --all --name)--summary[print tag summary: summary]" \ - "($help)--uniq[do not print identical lines]" \ - "($help --all --name)--url[print tag url: url]" \ - "($help --quiet)--verbose[verbose mode]" \ - "($help)*-a[binary AND operator]" \ - "($help)-i[ignore case distinctions in every pattern]" \ - "($help)-f[print version, release and arch with name]" \ - "($help)-e[include perl code directly as perl -e]:perl code: " \ - "($help)*-o[binary OR operator]" \ - && ret=0 - ;; - parsehdlist ) - # TODO this is not complete, some operators are missing - _arguments -A '-*' \ - $opts_help \ - "($help --interactive --quiet --name --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--all[print all tags]" \ - "($help --all --interactive --name)--buildhost[print tag buildhost: build host]" \ - "($help --all --interactive --name)--conflicts[print tag conflicts: all conflicts]" \ - "($help --all --interactive --name)--description[print tag description: description]" \ - "($help --all --interactive --name)--epoch[print tag epoch: epoch]" \ - "($help --all --interactive --name)--files[print tag files: all files]" \ - "($help --all --interactive --name)--group[print tag group: group]" \ - "($help --all --interactive --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--name[print only package names]" \ - "($help --all --interactive --name)--obsoletes[print tag obsoletes: all obsoletes]" \ - "($help --interactive)--quiet[do not print tag name]" \ - "($help --all --interactive --name)--packager[print tag packager: packager]" \ - "($help --all --interactive --name)--provides[print tag provides: all provides]" \ - "($help --all --interactive --name)--requires[print tag requires: all requires]" \ - "($help --all --interactive --name)--size[print tag size: size]" \ - "($help --all --interactive --name)--sourcerpm[print tag sourcerpm: source rpm]" \ - "($help --all --interactive --name)--summary[print tag summary: summary]" \ - "($help)--uniq[do not print identical lines]" \ - "($help --all --interactive --name)--url[print tag url: url]" \ - "*:hdlist file:_files -g '*.cz(-.)'" \ - && ret=0 - ;; - esac - - return ret -} - -_urpmi "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urxvt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urxvt deleted file mode 100644 index 2d7c0957..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_urxvt +++ /dev/null @@ -1,72 +0,0 @@ -#compdef rxvt urxvt urxvtc urxvt256c urxvt256cc urxvt256c-ml urxvt256c-mlc - -local curcontext="$curcontext" state line expl ret=1 -local -a suf long_args -typeset -A opt_args -typeset -U extensions - -[[ -prefix -- ]] || zstyle -T ":completion:${curcontext}:options" prefix-needed && - : ${(A)long_args:=${${${${${${${(M)${(f)"$(urxvt --help 2>&1)"}:# *:*}/ /--}// /}/fontname/fontname:->fonts}/:color/:color:_x_color}/boolean/boolean:(true false)}/:(searchpath|file)/:path:_files}} - -_x_arguments \ - -+{rv,ls,j,ss,ptab,sb,sr,st,si,sk,sw,ip,tr,ut,vb,tcw,insecure,uc,bc,pb,is,override-redirect,hold,bl,sbg,ssc,ssr} \ - '-tn[specify value of TERM]:terminal type:_terminals' \ - '-C[intercept console messages]' \ - '-iconic[start iconic]' \ - '-cd[start shell in specific directory]:directory:_files -/' \ - '-sbt[scroll bar thickness]:pixels' \ - '-tint[tint color]:color:_x_color' \ - '-fade[make colors darker when losing focus]:percentage' \ - '-fadecolor[specify target color for off-focus fading]:color:_x_color' \ - '-sh[shade background when tinting]:percentage' \ - '-bg[background color]:color:_x_color' \ - '-fg[foreground color]:color:_x_color' \ - '-hc[highlight color]:color:_x_color' \ - '-cr[cursor color]:color:_x_color' \ - '-pr[pointer color]:color:_x_color' \ - '-pr2[pointer background color]:color:_x_color' \ - '-bd[border color]:color:_x_color' \ - '-pixmap:pixmap:_files' \ - '-icon[specify icon image]:image file:_files' \ - '-fn:normal font:->fonts' \ - '-fb:bold font:->fonts' \ - '-fi:italic font:->fonts' \ - '-fbi:bold italic font:->fonts' \ - '-im:input method:(SCIM)' \ - '-pe[enable perl extension]:perl extension:->extensions' \ - '-pt:input style:(OverTheSpot OffTheSpot Root)' \ - '-imlocale:locale input method:_locales' \ - '-imfont:fontset for styles OverTheSpot and OffTheSpot:_x_font' \ - '-name:client instance, icon, and title strings' \ - '(-T -title)'{-T,-title}':title name for window' \ - '-n:icon name for window' \ - '-sl:save lines' \ - '-embed:window id to embed terminal in:_x_window' \ - '-pty-fd:file descriptor of pty to use' \ - {-bw,-w}':external border (pixels)' \ - '-b:internal border (pixels)' \ - '-lsp:number of extra pixels between rows' \ - '-letsp:letter spacing adjustment' \ - '-mod:meta modifier:_x_modifier' \ - '-e:program: _command_names -e:*::program arguments: _normal' \ - '-help[print help]' \ - '--help[list long options]' $long_args && ret=0 - -case $state in - fonts) - if compset -P xft:; then - _xft_fonts && ret=0 - else - _x_font && ret=0 - fi - ;; - extensions) - compset -S ',*' || suf=( -qS , ) - compset -P '*,'; compset -P - - extensions=( {$commands[urxvt]:h:h,/usr,/usr/local}/lib{,64}/urxvt/perl(N) ) - _wanted extensions expl 'perl extension' compadd $suf[@] default \ - $extensions/*(:t) && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_usbconfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_usbconfig deleted file mode 100644 index e7da8132..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_usbconfig +++ /dev/null @@ -1,63 +0,0 @@ -#compdef usbconfig - -local curcontext="$curcontext" i ret=1 -local -a state line expl devices ids partial args - -_arguments -C \ - '(-d)-u[limit device range to given USBUS unit]:bus:->buses' \ - '(-d)-a[limit device range to given USB device index]:address:->addresses' \ - '(-a -u)-d[limit device range to given unit and address]:device:->devices' \ - '-i[specify interface index]:interface index' \ - '(- 1)-h[display usage information]' \ - '(-)1:command:compadd -M "r:|_=* r:|=*" - set_config set_alt set_template get_template add_dev_quirk_vplh - remove_dev_quirk_vplh add_quirk remove_quirk detach_kernel_driver - dump_quirk_names dump_device_quirks dump_all_desc dump_device_desc - dump_curr_config_desc dump_all_config_desc dump_string dump_info show_ifdrv - suspend resume power_off power_save power_on reset list do_request' \ - '*::: := ->args' && ret=0 - -case $state in - buses) partial=( ${(kv)=opt_args[(i)-a]:--a 1} ) i=1 ;| - addresses) partial=( ${(kv)opt_args[(i)-u]} ) i=2 ;& - buses) - devices=( ${${(f)"$(_call_program usb-devices usbconfig $partial list)"}:#No device*} ) - ids=( ${${(MSI.i.)devices##[^0-9]<->}#?} ) - _wanted usb-$state expl ${state%es} compadd -ld devices -o numeric -a ids && ret=0 - ;; - devices) - devices=( ${${${(f)"$(_call_program usb-devices usbconfig list)"}/: /:}:#No device*} ) - if (( $#devices )); then - _describe -t usb-devices device devices -M 'B:=ugen' && ret=0 - else - _message -e usb-devices device - fi - ;; - args) - curcontext="${curcontext%:*}-$line[1]:" - case $line[1] in - set_config) args=( '1:cfg index' ) ;; - set_alt) args=( '1:alt index' ) ;; - set_template) args=( '1:template (see usb_template(4))' ) ;; - (add|remove)_dev_quirk_vplh) args=( -C - ':vendor id' ':product id' ':low revision' - ':high revision' ':quirk:->quirks' - ) ;; - (add|remove)_quirk) args=( -C '1:quirk:->quirks' ) ;; - dump_string) args=( '1:index' ) ;; - do_request) args=( :bmReqTyp :bReq :wVal :wIdx :wLen '*:data' ) ;; - esac - if (( $#args )); then - _arguments $args && ret=0 - else - _message 'no more arguments' - fi - if [[ $state = quirks ]]; then - _wanted quirks expl quirk compadd \ - -M 'm:{:lower:}={:upper:} r:|_=* r:|=* b:=UQ_' \ - ${${(f)"$(_call_program quirks usbconfig dump_quirk_names)"}:#*list of*} && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uscan b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uscan deleted file mode 100644 index 699d5c34..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_uscan +++ /dev/null @@ -1,17 +0,0 @@ -#compdef uscan - -_arguments \ - '(--report --no-download --download)'{--report,--no-download}'[report but do not download]' \ - '--debug[dump downloaded pages to stdout]' \ - '(--report --no-download --download)--download[report and download]' \ - '(--pasv --no-pasv)--pasv[force passive mode for ftp]' \ - '(--pasv --no-pasv)--no-pasv[do not use passive mode for ftp]' \ - '(--symlink --no-symlink)--symlink[make orig.tar.gz symlinks]' \ - '(--symlink --no-symlink)--no-symlink[do not make orig.tar.gz symlinks]' \ - '(--verbose --no-verbose)--verbose[give verbose output]' \ - '(--verbose --no-verbose)--no-verbose[do not give verbose output]' \ - '--check-dirname-level:level:((0\:never\ check\ the\ directory\ name 1\:only\ check\ directory\ name\ if\ we\ had\ to\ change\ directory 2\:always\ check\ the\ directory\ name))' \ - '--check-dirname-regex:perl regex' \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any configuration files]' \ - '--help[display help information]' \ - '--version[display version information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_admin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_admin deleted file mode 100644 index db1c977a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_admin +++ /dev/null @@ -1,172 +0,0 @@ -#compdef useradd usermod groupadd groupmod - -local -a args shells logindefs -local defex - -# this handles solaris, netbsd, openbsd and linux -case ${service%???}:${(M)service%???}:$OSTYPE in - user:*) - if [[ -r /etc/shells ]]; then - shells=( ${${(f)"$(</etc/shells)"}:#\#*} ) - else - shells=( ${(M)commands:#*/(|[abckz]|tc|ba)sh} ) - fi - args+=( - '(-D -c --commend)'{-c+,--comment=}'[comment]:comment' - '(-D -d --home -b --base-dir)'{-d+,--home=}"[specify home directory]:home directory:_directories -W /" - '(-D -e --expiredate)'{-e+,--expiredate}'[specify expiration date]:expiration date (YYYY-MM-DD)' - '(-D -f --inactive)'{-f+,--inactive=}'[specify inactive days]:inactive days' - '(-D -g --gid)'{-g+,--gid=}'[specify primary group]:initial group:_groups' - '(-D -G --groups)'{-G+,--groups=}'[specify supplementary groups]:supplementary group:_sequence _groups' - '(-D -s --shell)'{-s+,--shell=}"[shell]:shell:( $shells /bin/false )" - '(-D -u --uid)'{-u+,--uid=}'[specify uid]:uid' - '(-D -o --non-unique)'{-o,--non-unique}'[allow non unique uid]' - ) - ;| - user:add:*) - [[ $OSTYPE = linux* ]] && defex=" -k -K -M -p -r -R -Z" - [[ $OSTYPE = (net|open)bsd* ]] && defex=" -p -v" - args+=( - "(-c -d -G -m -l -N -u -U -o -n -S$defex)"{-D,--defaults}'[show or modify defaults]' - '(-D -M -k --skel)'{-k,--skel}'[skeleton home directory]:skeleton directory:_directories -W /' - '(-D -M -m --create-home)'{-m,--create-home}'[create home directory]' - ':username' - ) - ;| - user:add:linux*) - logindefs=( # see login.defs(5) - CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP - PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX - SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX - SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK - ) - args+=( - '(-l --no-log-init)'{-l,--no-log-init}"[don't add user to lastlog and faillog databases]" - '(-m --create-home -M --no-create-home)'{-M,--no-create-home}"[don't create user's home directory, regardless of /etc/login.defs]" - '(-N --no-user-group -U --user-group)'{-N,--no-user-group}"[don't create a group with the same name as the user]" - '(-N --no-user-group -U --user-group)'{-U,--user-group}"[create a group with the same name as the user]" - ) - ;| - user:add:(^solaris2.<-10>)) - args+=( - '(-b --base-dir -d --home-dir)'{-b,--base-dir=}'[specify base directory for new home directory]:directory:_directories' - ) - ;| - user:*:(net|open)bsd*) - args+=( - '-L[specify login class]:login class:_login_classes' - '-p+[specify encrypted password]:encrypted password' - ) - ;| - user:add:(net|open)bsd*) - args+=( '-r[specify UID range]:low.high' ) - ;| - user:add:netbsd*) - args+=( '-M[specify home directory permissions]:permissions (octal)' ) - ;| - user:mod:netbsd*) - args+=( '-C[lock or unlock account]:locked:(yes no)' ) - ;| - user:*:netbsd*) - args+=( - '-F[force password change on first login]' - '-S[allow samba usernames with a trailing dollar]' - ) - ;| - user:mod:openbsd*) - args+=( - '(-G)-S+[set supplementary groups]:supplementary group:_sequence _groups' - "(-U)-Z[lock the account by adding \'-\' to password and shell]" - '(-Z)-U[unlock the account]' - ) - ;| - *:*:(net|open)bsd*) - args+=( '-v[verbose mode - explain commands as they are executed]' ) - ;| - *:*:solaris2.<11->) - args+=( '-S[specify repository]:repository:(files ldap)' ) - ;| - user:*:solaris2.<11->) - args+=( - '-A[specify authorizations]:authorization' - \*{-K,--key=}'[set user attributes]:user attribute' - '-P[specify execution profiles]:profile' - '-R[specify roles]:role' - '-p[specify projects]:project' - ) - ;| - user:mod:solaris2.<11->) - args+=( - '-q[specify host or netgroup to qualify extended attributes]:host or netgroup:_hosts' - ) - ;| - user:mod:linux*) - args+=( - '(-a --append)'{-a,--append}'[add user to supplementary groups without removing from other groups]' - \*{-v,--add-subuids}'[add a range of subordinate uids]:uids (first-last)' - \*{-V,--del-subuids}'[remove a range of subordinate uids]:uids (first-last)' - \*{-w,--add-subgids}'[add a range of subordinate gids]:gids (first-last)' - \*{-W,--del-subgids}'[remove a range of subordinate gids]:gids (first-last)' - ) - ;| - user:mod:*) - args+=( - '(-l --no-log-init)'{-l,--no-log-init}'[specify new user name]:new username' - '(-m --move-home)'{-m,--move-home}'[move home directory contents to new location]' - ':username:_users' - ) - ;| - user:*:linux*) - args+=( - '(-U --unlock --lock -L -p)'{-L,--lock}"[lock user's password]" - '(-U --unlock --lock -L -p)'{-U,--unlock}"[unlock user's password]" - '(-Z --selinux-user)'{-Z,--selinux-user}"[specify SELinux user for the user's login]:user" - ) - ;| - group:*) - args+=( - '(-g --gid)'{-g+,--gid=}'[specify gid]:gid' - '(-o --non-unique)'{-o,--non-unique}'[allow non unique gid]' - ) - ;| - group:add:linux*) - logindefs=( GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN ) - args+=( - '(-r --system)'{-r,--system}'[create a system account]' - '(-f --force)'{-f,--force}'[exit successfully if group already exists; cancel -g if GID in use]' - ) - ;| - group:*:solaris2.<11->) - args+=( '-U[add users to the group]:user:_sequence _users' ) - ;| - *:add:linux*) - args+=( - \*{-K,--key=}'[override /etc/login.defs defaults]:key: _values 'key' ${^logindefs}\:value' - ) - ;| - group:add:netbsd*) - args+=( '-r[specify GID range]:low.high' ) - ;| - *:*:linux*) - args+=( - '(-R --root)'{-R,--root=}'[specify directory to chroot into]:directory:_directories' - '(-P --prefix)'{-P,--prefix=}"[specify root directory to apply changes in but don't chroot]:directory:_directories" - '(-D -U -L -p --password)'{-p+,--password=}'[specify encrypted password]:encrypted password' - '(-)'{-h,--help}'[display help information]' - ) - ;| - group:add:*) - args+=( ':group name' ) - ;| - group:mod:*) - args+=( - '(-n --new-name)'{-n,--new-name}'[specify new group name]:new group name' - ':group:_groups' - ) - ;| - ^*:linux*) - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options - ;| -esac - -_arguments -A "-*" -s $args[@] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_at_host b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_at_host deleted file mode 100644 index a242ddeb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_at_host +++ /dev/null @@ -1,31 +0,0 @@ -#autoload - -# Complete user/host combinations. Normally this looks for the style -# `users-hosts' for the tag `accounts'. A different tag may be given -# with `-t tag'. -# A `-' or `--' as the first argument is ignored. - -local expl suf tag=accounts - -if [[ "$1" = -t?* ]]; then - tag="${1[3,-1]}" - shift -elif [[ "$1" = -t ]]; then - tag="$2" - shift 2 -fi - -[[ "$1" = -(|-) ]] && shift - -if [[ -prefix 1 *@ ]]; then - local user=${PREFIX%%@*} - - compset -P 1 '*@' - - _wanted -C user-at hosts expl "host for $user" \ - _combination -s '[:@]' "${tag}" users-hosts users="$user" hosts "$@" - -else - compset -S '@*' || suf="@" - _wanted users expl "user" \ - _combination -s '[:@]' "${tag}" users-hosts users -S "$suf" -q "$@" - -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_expand b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_expand deleted file mode 100644 index ee39bb17..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_expand +++ /dev/null @@ -1,147 +0,0 @@ -#autoload - -# This completer function is an addition to the _expand completer that -# allows the user to define their own expansions. It does not replace -# the _expand completer. -# -# This function will allow other completer functions to be called if -# the expansions done produce no result or do not change the original -# word from the line. - -setopt localoptions nonomatch - -[[ _matcher_num -gt 1 ]] && return 1 - -local exp word sort expr expl subd suf=" " asp tmp spec REPLY -local -a specs reply - -if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" -else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" -fi - -# In exp we will collect the expansions. - -exp=("$word") - -# Now look for user completions. - -zstyle -a ":completion:${curcontext}:" user-expand specs || return 1 - -for spec in $specs; do - REPLY= - case $spec in - ('$'[[:IDENT:]]##) - # Spec is an associative array with explicit keys. - # Surely there's a better way of doing an associative array - # lookup from its name? - eval tmp='${'$spec[2,-1]'[$word]}' - if [[ -n $tmp ]]; then - exp=("$tmp") - break - fi - ;; - - ('_'*) - reply=() - $spec $word - if (( ${#reply} )); then - exp=("${reply[@]}") - break - fi - ;; - esac -done - -[[ $#exp -eq 1 && "$exp[1]" = "$word" ]] && return 1 - -# Now add as matches whatever the user requested. - -zstyle -s ":completion:${curcontext}:" sort sort - -[[ "$sort" = (yes|true|1|on) ]] && exp=( "${(@o)exp}" ) - -if zstyle -s ":completion:${curcontext}:" add-space tmp; then - if [[ "$tmp" != *subst* || "$word" != *\$* || "$exp[1]" = *\$* ]]; then - [[ "$tmp" = *file* ]] && asp=file - [[ "$tmp" = *(yes|true|1|on|subst)* ]] && asp="yes$asp" - fi -else - asp=file -fi - -# If there is only one expansion, add a suitable suffix - -if (( $#exp == 1 )); then - if [[ -d ${exp[1]} && "$exp[1]" != */ ]]; then - suf=/ - elif [[ "$asp" = yes* || - ( "$asp" = *file && -f "${exp[1]}" ) ]]; then - suf=' ' - else - suf= - fi -fi - -if [[ -z "$compstate[insert]" ]] ;then - if [[ "$sort" = menu ]]; then - _description expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - fi - - compadd "$expl[@]" -UQ -qS "$suf" -a exp -else - _tags all-expansions expansions original - - if [[ $#exp -ge 1 ]] && _requested expansions; then - local i j normal space dir - - if [[ "$sort" = menu ]]; then - _description expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - fi - normal=() - space=() - dir=() - - for i in "$exp[@]"; do - j="${i}" - if [[ -d "$j" && "$i" != */ ]]; then - dir=( "$dir[@]" "$i" ) - elif [[ "$asp" = yes* || ( "$asp" = *file && -f "$j" ) ]]; then - space=( "$space[@]" "$i" ) - else - normal=( "$normal[@]" "$i" ) - fi - done - (( $#dir )) && compadd "$expl[@]" -UQ -qS/ -a dir - (( $#space )) && compadd "$expl[@]" -UQ -qS " " -a space - (( $#normal )) && compadd "$expl[@]" -UQ -qS "" -a normal - fi - if _requested all-expansions; then - local disp dstr - - if [[ "$sort" = menu ]]; then - _description all-expansions expl "all expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V all-expansions expl "all expansions${REPLY:+: $REPLY}" "o:$word" - fi - if [[ "${#${exp}}" -ge COLUMNS ]]; then - disp=( -ld dstr ) - dstr=( "${(r:COLUMNS-5:)exp} ..." ) - else - disp=() - fi - [[ -o multios ]] && exp=($exp[1] $compstate[redirect]${^exp[2,-1]}) - compadd "$disp[@]" "$expl[@]" -UQ -qS "$suf" - "$exp" - fi - - _requested original expl original && compadd "$expl[@]" -UQ - "$word" - - compstate[insert]=menu -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_math_func b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_math_func deleted file mode 100644 index 35a49d50..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_user_math_func +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl -local -a funcs - -funcs=(${${${(f)"$(functions -M)"}##functions -M }%% *}) - -_wanted user-math-functions expl 'user math function' \ - compadd -S '(' -q "$@" -a funcs diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users deleted file mode 100644 index 2ea3b145..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users +++ /dev/null @@ -1,10 +0,0 @@ -#compdef passwd groups userdel chage chfn - -local expl users - -if zstyle -a ":completion:${curcontext}:users" users users; then - _wanted users expl user compadd "$@" -a - users - return -fi - -_wanted users expl user compadd "$@" -k - userdirs diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users_on b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users_on deleted file mode 100644 index ccda5b8f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_users_on +++ /dev/null @@ -1,11 +0,0 @@ -#compdef write - -local expl - -if (( $+commands[users] )); then - _wanted users expl 'users logged on' \ - compadd "$@" - $(_call_program users users) && return 0 -else - # Other methods of finding out users logged on should be added here - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_valgrind b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_valgrind deleted file mode 100644 index b4bb3248..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_valgrind +++ /dev/null @@ -1,266 +0,0 @@ -#compdef valgrind -value-,VALGRIND_OPTS,-default- - -local curcontext="$curcontext" state line -local -a cmd common_{own_malloc,read_varinfo,report_errors,partial} -local -a args args_{addrcheck,drd,memcheck,cachegrind,helgrind,lackey,massif,none,exp_{bbv,dhat,sgcheck}} - -cmd=( - '1: : _command_names -e' - '*::args :_normal' -) - -if [[ $service = *_OPTS* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - cmd=() -fi - -common_own_malloc=( - '--alignment=-[set minimum alignment of heap allocations]:number [16]' - '--redzone-size=-[set minimum size of redzones added before/after heap blocks]:size (bytes) [16]' - '--xtree-memory=-[profile heap memory in an xtree [none]:(none allocs full)' - '--xtree-memory-file=-[specify xtree memory report file]:file [xtmemory.kcg.%%p]:_files' -) - -common_read_varinfo=( - '--read-var-info=-[read DWARF3 debug info]:enable:(yes no)' -) - -common_report_errors=( - '--xml=-[output everything in XML]:enable:(yes no)' - '--xml-fd=-[send XML output to file descriptor]:file descriptor:_file_descriptors' - '--xml-file=-[send XML output to specified file]:file:_files' - '--xml-socket=-[send XML output to specified socket]:socket:_hosts' - '--xml-user-comment=-[copy specified string verbatim to XML output]:string' - '--demangle=-[automatically demangle C++ names]:enable:(yes no)' \ - '--num-callers=-[specify no of callers to show in stack traces]:number' \ - '--error-limit=-[stop showing new errors if too many]:enable:(yes no)' \ - '--exit-on-first-error=-[exit on the first error]:enable:(yes no)' \ - '--error-exitcode=-[exit code to return if errors found]:exit code' \ - '--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \ - '(--show-error-list)-s[show detected errors list and suppression counts at exit]' \ - '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no)' - '--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \ - '--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \ - '--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \ - '--suppressions=-[suppress errors described in specified file]:file:_files' \ - '--gen-suppressions=-[print suppressions for errors detected]:enable:(yes no)' \ - '--input-fd=-[specify file descriptor for input]:file descriptor:_file_descriptors' \ - '--max-stackframe=-[assume stack switch for SP changes larger than specified size]:size (bytes)' \ - "--main-stacksize=-[set size of main thread's stack]:size (bytes)" \ -) -[[ $OSTYPE = darwin* ]] && common_report_errors+=( - '--dsymutil=-[run dsymutil on Mac OS X when helpful]:enable [yes]:(yes no)' -) - -common_partial='--partial-loads-ok=-:enable:(yes no)' - -args_addrcheck=( - $common_own_malloc - $common_mem_null - '--leak-check=-[search for memory leaks at exit]:enable [summary]:(no summary full)' - '--leak-resolution=-[specify differentiation of leak stack traces]:level [high]:(low med high)' - '(--show-reachable --show-possibly-lost)--show-leak-kinds=-[specify leak kinds to show]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable' - '--errors-for-leak-kinds=-[specify which leak kinds are errors]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable all none' - '--leak-check-heuristics=-[specify heuristics to use for during leak searches]:heuristic:_sequence compadd - stdstring length64 newarray multipleinheritance all none' - '(--show-leak-kinds)--show-reachable=-[show reachable blocks in leak check]:enable:(yes no)' - '(--show-leak-kinds)--show-possibly-lost=-:enable:(yes no)' - '--xtree-leak=-[output leak result in xtree format]:enable [no]:(yes no)' - '--xtree-leak-file=-[specify xtree leak report file]:file [xtleak.kcg.%%p]:_files' - '--undef-value-errors=-[check for undefined value errors]:enable [yes]:(yes no)' - '--track-origins=-[show origins of undefined values]:enable [no]:(yes no)' - $common_partial - '--expensive-definedness-checks=-[use extra-precise definedness tracking]:enable [auto]:(no auto yes)' - '--freelist-vol=-[specify volume of freed blocks queue]:blocks [20000000]' - '--freelist-big-blocks=-[release first blocks larger than specified size]:size [1000000]' - '--workaround-gcc296-bugs=-:enable [no]:(yes no)' - '--ignore-ranges=-[assume given addresses are OK]:address ranges' - "--ignore-range-below-sp=-[don't report errors for accesses at the given offsets below SP]:offsets" - "--malloc-fill=-[fill malloc'd areas with given value]:value (hex)" - "--free-fill=-[fill free'd areas with given value]:value (hex)" - "--keep-stacktraces=-[control which stack traces to keep for malloc'd/free'd areas]:stack traces [alloc-and-free]:(alloc free alloc-and-free alloc-then-free none)" - "--show-mismatched-frees=-[show frees that don't match the allocator]:enable [yes]:(yes no)" -) - -args_drd=( - $common_own_malloc - $common_read_varinfo - $common_report_errors - '--check-stack-var=-[detect data races on stack variables]:enable [no]:(yes no)' - '--exclusive-threshold=-[print an error if any mutex or writer lock is held longer than specified time]:time (ms)' - '--first-race-only=-[report only the first detected data race]:enable [no]:(yes no)' - '--free-is-write=-[report races between accessing memory and freeing memory]:enable [no]:(yes no)' - '--join-list-vol=-[specify how many joined threads to retain memory access information for]:number of threads [10]' - '--report-signal-unlocked=-[report calls to pthread_cond_signal etc where the mutex is not locked]:enable [yes]:(yes no)' - '--segment-merging=-[control segment merging]:enable [yes]:(yes no)' - '--segment-merging-interval=-[perform segment merging only after the specified number of new segments have been created]:number of segments [10]' - '--shared-threshold=-[print an error if a reader lock is held longer than the specified time]:time (ms)' - '--show-confl-seg=-[show conflicting segments in race reports]:enable [yes]:(yes no)' - '--show-stack-usage=-[print stack usage at thread exit time]:enable [no]:(yes no)' - '--ignore-thread-creation=-[control whether all activities during thread creation should be ignored]:enable [no]:(yes no)' - '*--ptrace-addr=-[trace all load and store activity for specified address even after free]:address' - '*--trace-addr=-[trace all load and store activity for specified address]:address' - '--trace-alloc=-[trace all memory allocations and deallocations]:enable [no]:(yes no)' - '--trace-barrier=-[trace all barrier activity]:enable [no]:(yes no)' - '--trace-cond=-[trace all condition variable activity]:enable [no]:(yes no)' - '--trace-fork-join=-[trace all thread creation and all thread termination events]:enable [no]:(yes no)' - '--trace-hb=-[trace execution of the ANNOTATE_HAPPENS_BEFORE(), ANNOTATE_HAPPENS_AFTER() and ANNOTATE_HAPPENS_DONE() client requests]:enable [no]:(yes no)' - '--trace-mutex=-[trace all mutex activity]:enable [no]:(yes no)' - '--trace-rwlock=-[trace all reader-writer lock activity]:enable [no]:(yes no)' - '--trace-semaphore=-[trace all semaphore activity]:enable [no]:(yes no)' -) - -args_memcheck=( - $args_addrcheck - $common_read_varinfo - $common_report_errors -) - -args_cachegrind=( - '--I1=-[set I1 cache manually]:size,assoc,line_size' - '--D1=-[set D1 cache manually]:size,assoc,line_size' - '--LL=-[set LL cache manually]:size,assoc,line_size' - '--cache-sim=-[collect cache stats]:enable [yes]:(yes no)' - '--branch-sim=-[collect branch prediction stats]:enable [no]:(yes no)' - '--cachegrind-out-file=-[specify output file name]:file name [cachegrind.out.%%p]:_files' -) - -args_helgrind=( - $common_own_malloc - $common_read_varinfo - $common_report_errors - '--free-is-write=-[treat heap frees as writes]:enable [no]:(yes no)' - '--track-lockorders=-[show lock ordering errors]:enable [yes]:(no yes)' - '--history-level=-[specify amount of history to show for data races]:level [full]:(( - full\:show\ both\ stack\ traces\ for\ a\ data\ race\ \(slow\) - approx\:full\ trace\ for\ one\ thread,\ approx\ for\ the\ other\ \(faster\) - none\:only\ show\ trace\ for\ one\ thread\ in\ a\ race\ \(fastest\) - ))' - '--delta-stacktrace=-[derive a stacktrace from the previous stacktrace]:enable:(yes no)' - '--conflict-cache-size=-[specify size of full history cache]:size [2000000]' - '--check-stack-refs=-[race-check reads and writes on the main stack and thread stacks]:enable [yes]:(no yes)' - '--ignore-thread-creation=-[ignore activities during thread creation]:enable [no]:(yes no)' -) - -args_lackey=( - '--basic-counts=-[count instructions, jumps, etc.]:enable [yes]:(yes no)' - '--detailed-counts=-[count loads, stores and alu ops]:enable [no]:(yes no)' - '--trace-mem=-[trace all loads and stores]:enable [no]:(yes no)' - '--trace-superblocks=-[trace all superblock entries]:enable [no]:(yes no)' - '--fnname=-[count calls to specified name]:name [main]' -) - -args_massif=( - $common_own_malloc - '--heap=-[profile heap blocks]:enable [yes]:(yes no)' - '--heap-admin=-[specify average admin bytes per heap block]:size (bytes) [8]' - '--stacks=-[profile stacks]:enable [no]:(yes no)' - '--pages-as-heap=-[profile memory at the page level]:enable [no]:(yes no)' - '--depth=-[depth of contexts]:depth [30]' - '*--alloc-fn=-[specify alloc function]:function' - '*--ignore-fn=-[ignore heap allocations within specified function]:function' - '--threshold=-[specify significance threshold]:threshold (percentage) [1.0]' - '--peak-inaccuracy=-[specify maximum peak inaccuracy]:inaccuracy (percentage) [1.0]' - "--time-unit=-[specify time unit]:unit [i]:(( - i\:instructions\ executed - ms\:milliseconds - b\:heap\ bytes\ alloc\'d/dealloc\'d - ))" - '--detailed-freq=-[every Nth snapshot should be detailed]:snapshot interval [10]' - '--max-snapshots=-[specofy maximum number of snapshots recorded]:maximum [100]' - '--massif-out-file=-[specify output file name]:filename [massif.out.%%p]:_files' -) - -args_exp_bbv=( - '--bb-out-file=-[specify filename for BBV info]:filename:_files' - '--pc-out-file=-[specify filename for BB addresses and function names]:filename:_files' - '--interval-size=-[specify interval size]:size (instructions) [100000000]' - '--instr-count-only=-[only print total instruction count]:enable:(yes no)' -) - -args_exp_dhat=( - '--show-top-n=-[show specified number of the top alloc points]:number [10]' - '--sort-by=-[sort the allocation points by specified metric]:metric [max-bytes-live]:(( - max-bytes-live\:maximum\ live\ bytes - tot-bytes-allocd\:bytes\ allocated\ in\ total\ \(turnover\) - max-blocks-live\:maximum\ live\ blocks - tot-blocks-allocd\:blocks\ allocated\ in\ total\ \(turnover\) - ))' -) - -args_exp_sgcheck=( - $common_partial - $common_report_errors - '--enable-sg-checks=-[enable stack & global array checking]:enable [yes]:(yes no)' -) - -args_none=( - $common_mem_null -) - -args="args_${${${words[(r)--tool=*]#*=}/-/_}:-memcheck}" - -_arguments -C ${(P)args} $cmd \ - '(--version)--tool=-[specify valgrind tool]:valgrind tool:->tools' \ - '(-h --help)'{-h,--help}'[show help information]' \ - '--help-debug[show help info including debugging options]' \ - '--help-dyn-options[show the dynamically changeable options]' \ - '(-)--version[show version]' \ - '(-q --quiet)'{-q,--quiet}'[run silently; only print error msgs]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '--trace-children=-[valgrind-ise child processes]:enable:(yes no)' \ - '--trace-children-skip=-[specify a list of executables not to trace into]:executables' \ - '--trace-children-skip-by-arg=-[specify a list of executables matched by argv not to trace into]:executables' \ - '--child-silent-after-fork=-[omit child output between fork & exec]:enable:(yes no)' \ - '--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \ - '--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \ - '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \ - '--track-fds=-[track open file descriptors]:enable:(yes no)' \ - '--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \ - '--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \ - '--log-file=-[log messages to specified file with pid appended]:file:_files' \ - '--log-socket=-[log messages to socket]:ipaddr\:port' \ - '*--fullpath-after=-[show full source paths in call stacks]::prefix to remove from paths:_directories' \ - '--extra-debuginfo-path=-[specify absolute path to search for additional debug symbols]:path:_directories' \ - '--debuginfo-server=-[specify server to query for debug symbols]:server:_hosts' \ - "--allow-mismatched-debuginfo=-[accept debuginfo objects that don't match the main object]:enable [no]:(yes no)" \ - '--smc-check=-[check for self-modifying code]:checks [all-non-file]:(none stack all all-non-file)' \ - '--read-inline-info=-[read debug info about inlined functions to improve stack traces]:enable:(yes no)' \ - '--vgdb-poll=-[specify gdbserver poll max]:basic blocks [5000]' \ - '--vgdb-shadow-registers=-[let gdb see the shadow registers]:enable [yes]:(yes no)' \ - '--vgdb-prefix=-[specify prefix for bgdb FIFOs]:prefix:_files' \ - '--run-libc-freeres=-[free up glibc memory at exit]:enable [yes]:(yes no)' \ - '--run-cxx-freeres=-[free up libstdc++ memory at exit]:enable [yes]:(yes no)' \ - '--sim-hints=-[activate unusual sim behaviours]:hint [none]:_sequence compadd - lax-ioctls lax-doors fuse-compatible enable-outer no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none' \ - '--fair-sched=-[schedule threads fairly on multicore systems]:enable [no]:(yes no try)' \ - '--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_sequence compadd - bproc android-no-hw-tls android-gpu-sgx5xx android-gpu-adreno3xx' \ - '--merge-recursive-frames=-[merge frames between identical program counters in specified max frames]:frames [0]' \ - '--num-transtab-sectors=-[specify size of translated code cache]:size (sectors) [32]' \ - '--avg-transtab-entry-size=-[specify average size of a translated basic block]:size (bytes)' \ - '--aspace-minaddr=-[avoid mapping memory below address]:address (0xPP) [guessed]' \ - "--valgrind-stacksize=-[specify size of valgrind (host) thread's stack]:size (bytes) [1048576]" \ - '--show-emwarns=-[show warnings about emulation limits]:enable [no]:(yes no)' \ - '*--require-text-symbol=-[abort run if the specified shared object lacks specified symbol]:\:soname pattern\:symbol pattern' \ - '*--soname-synonyms=-[specify patterns to map sonames to replacements]:soname=replacement' \ - '--sigill-diagnostics=-[warn about illegal instructions]:enable [yes]:(yes no)' \ - '--unw-stack-scan-thresh=-[enable stack-scan unwind if fewer than specified number of good frames found]:frames' \ - '--resync-filter=-[attempt to avoid expensive address-space-resync operations]:enable:(yes no verbose)' \ - '--max-threads=-[specify maximum number of threads that valgrind can handle]:threads [500]' \ - && return - -typeset -a tools - -if [[ -n "$state" ]]; then - # `valgrind --tool=` no longer works. - # The method below is even more hackish, but the only one I could find. - # Basically uses debug output to find out the directory where the tools are - # present and lists all executables in that directory. - # Hope the program provides a neater interface some day! - tools=( ${${${${(M)${(f)"$(_call_program tools $words[1] --tool=something -d 2>&1)"}:#*launcher launching *something*}##*launcher launching }%%something*}:-${commands[valgrind]:h:h}/lib/valgrind/}*~*.*(*:t) ) - tools=( ${tools%-*-*} ) - typeset -U tools - _wanted tools exl 'valgrind tool' compadd -a tools && return -fi - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_value b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_value deleted file mode 100644 index 5e74100c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_value +++ /dev/null @@ -1,50 +0,0 @@ -#compdef -value- -array-value- -value-,-default-,-default- - -# You can customize completion for different parameters by writing -# functions with the tag-line `#compdef -value-,<name>,<command>' where -# <name> is the name of the parameter (or name-key when completing an -# associative array value) and <command> is either `-default-' or the -# name of the command from the command-line. - -if [[ "$service" != -value-,* ]]; then - local strs ctx= - - strs=( -default- ) - - if [[ "$compstate[context]" != *value && -n "$_comp_command1" ]]; then - ctx="${_comp_command}" - strs=( "${_comp_command1}" "$strs[@]" ) - [[ -n "$_comp_command2" ]] && - strs=( "${_comp_command2}" "$strs[@]" ) - fi - - _dispatch -value-,${compstate[parameter]},$ctx \ - -value-,{${compstate[parameter]},-default-},${^strs} -else - if [[ "$compstate[parameter]" != *-* && - "$compstate[context]" = array_value && - "${(Pt)${compstate[parameter]}}" = assoc* ]]; then - local expl - if (( CURRENT & 1 )); then - _wanted association-keys expl 'association key' \ - compadd -k "$compstate[parameter]" - else - compstate[parameter]="${compstate[parameter]}-${words[CURRENT-1]}" - - _dispatch -value-,${compstate[parameter]}, \ - -value-,{${compstate[parameter]},-default-},-default- - fi - else - local pats - - if { zstyle -a ":completion:${curcontext}:" assign-list pats && - [[ "$compstate[parameter]" = (${(j:|:)~pats}) ]] } || - [[ "$PREFIX$SUFFIX" = *:* ]]; then - compset -P '*:' - compset -S ':*' - _default -r '\-\n\t /:' "$@" - else - _default "$@" - fi - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_values b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_values deleted file mode 100644 index 5ed79e89..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_values +++ /dev/null @@ -1,160 +0,0 @@ -#autoload - -local subopts opt usecc garbage keep - -subopts=() -zparseopts -D -a garbage s+:=keep S+:=keep w+=keep C=usecc O:=subopts \ - M: J: V: 1 2 o+: n F: X: - -(( $#subopts )) && subopts=( "${(@P)subopts[2]}" ) - -if compvalues -i "$keep[@]" "$@"; then - - local noargs args opts descr action expl sep argsep subc test='*' - local oldcontext="$curcontext" - - compvalues -S argsep - compvalues -s sep && [[ -n "$sep" ]] && test="[^${(q)sep}]#" - - if ! compvalues -D descr action; then - - _tags values || return 1 - - curcontext="${oldcontext%:*}:values" - - compvalues -V noargs args opts - - if [[ -n "$argsep" && "$PREFIX" = *${argsep}${~test} ]]; then - local name - - name="${PREFIX%%${argsep}*}" - if compvalues -L "$name" descr action; then - IPREFIX="${IPREFIX}${name}${argsep}" - PREFIX="${PREFIX#*${argsep}}" - else - local prefix suffix - - prefix="${PREFIX#*${argsep}}" - suffix="$SUFFIX" - PREFIX="$name" - SUFFIX='' - args=( "$args[@]" "$opts[@]" ) - compadd -M 'r:|[_-]=* r:|=*' -D args - "${(@)args[@]%%:*}" - - [[ $#args -ne 1 ]] && return 1 - - PREFIX="$prefix" - SUFFIX="$suffix" - IPREFIX="${IPREFIX}${args[1]%%:*}${argsep}" - compvalues -L "${args[1]%%:*}" descr action subc - curcontext="${oldcontext%:*}:$subc" - fi - else - compvalues -d descr - if compvalues -s sep; then - sep=( "-qS" "$sep" ) - else - sep=() - fi - - _describe "$descr" \ - noargs "$sep[@]" -M 'r:|[_-]=* r:|=*' -- \ - args -S "${argsep}" -M 'r:|[_-]=* r:|=*' -- \ - opts -qS "${argsep}" -r "${argsep}${sep[2]} \\t\\n\\-" -M 'r:|[_-]=* r:|=*' - - curcontext="$oldcontext" - - return - fi - else - compvalues -C subc - curcontext="${oldcontext%:*}:$subc" - fi - - if ! _tags arguments; then - curcontext="$oldcontext" - return 1 - fi - - _description arguments expl "$descr" - - # We add the separator character as a autoremovable suffix unless - # we have only one possible value left. - - sep=() - [[ ${#snames}+${#names}+${#onames} -ne 1 ]] && compvalues -s sep && - expl=( "-qS$sep" "$expl[@]" ) sep=( "-qS$sep" ) - - if [[ "$action" = -\>* ]]; then - compvalues -v val_args - state="${${action[3,-1]##[ ]#}%%[ ]#}" - state_descr="$descr" - if [[ -n "$usecc" ]]; then - curcontext="${oldcontext%:*}:$subc" - else - context="$subc" - fi - compstate[restore]='' - return 1 - else - typeset -A val_args - - compvalues -v val_args - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - _message -e arguments "$descr" - return 1 - - elif [[ "$action" = \(\(*\)\) ]]; then - local ws - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" "$sep[@]" - - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels arguments expl "$descr" compadd "$subopts[@]" "$sep[@]" -a - ws - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label arguments expl "$descr"; do - eval "$action[2,-2]" - done - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label arguments expl "$descr"; do - "$action[@]" - done - else - - # Otherwise we call it with the description-arguments built above. - - eval "action=( $action )" - while _next_label arguments expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" - done - fi - fi - - curcontext="$oldcontext" - - [[ nm -ne "$compstate[nmatches]" ]] -else - curcontext="$oldcontext" - - return 1; -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vared b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vared deleted file mode 100644 index aba64880..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vared +++ /dev/null @@ -1,14 +0,0 @@ -#compdef vared - -_arguments -s -A "-*" \ - '(-a)-A[edit associative array]' \ - '(-A)-a[edit array parameter]' \ - "-c[create parameter or change type]" \ - '-p+[specify left prompt]:prompt' \ - '-r+[specify right prompt]:right prompt' \ - '-i+[specify initialisation widget]:widget:_widgets' \ - '-f+[specify finish widget]:widget:_widgets' \ - '-h[allow access to history]' \ - '-e[exit on EOF (^D)]' \ - '1:parameter spec:_vars' - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vars b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vars deleted file mode 100644 index ec59c03b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vars +++ /dev/null @@ -1,25 +0,0 @@ -#compdef getopts unset - -# This will handle completion of keys of associative arrays, e.g. at -# `vared foo[<TAB>' could complete to `vared foo[key]'. - -local ret=1 - -if [[ $PREFIX = *\[* ]]; then - compstate[parameter]=${PREFIX%%(|\\)\[*} - - IPREFIX=${PREFIX%%\[*}\[ - PREFIX=${PREFIX#*\[} - - _subscript -q -else - _parameters -g '^a*' "$@" && ret=0 - - if compset -S '\[*'; then - set - -S "" "$@" - else - set - -qS"${${QIPREFIX:+[}:-\[}" "$@" - fi - _parameters -g 'a*' "$@" && ret=0 - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info deleted file mode 100644 index fdb28de6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info +++ /dev/null @@ -1,31 +0,0 @@ -#compdef vcs_info_hookadd vcs_info_hookdel - -local -a hook_types=( - gen-applied-string - gen-hg-bookmark-string - gen-mqguards-string - gen-unapplied-string - no-vcs - post-backend - post-quilt - pre-addon-quilt - pre-get-data - set-branch-format - set-hgrev-format - set-message - set-patch-format - start-up -) - -local -a specs -case $service in - (vcs_info_hookdel) - specs=( '-a[remove all occurrences, not just the first]' ) - ;; -esac - -# TODO: for vcs_info_hookdel complete only functions installed for that hook -_arguments : \ - $specs \ - ":hook type:($hook_types)" \ - '*:hook function:_vcs_info_hooks' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info_hooks b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info_hooks deleted file mode 100644 index bad91500..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vcs_info_hooks +++ /dev/null @@ -1,2 +0,0 @@ -#autoload -compadd - ${functions[(I)+vi-*]#+vi-} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vi deleted file mode 100644 index 6201299a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vi +++ /dev/null @@ -1,47 +0,0 @@ -#compdef ex vi view - -local -a args - -if _pick_variant vim='(N|)VIM' vi --version; then - _vim - return -fi - -args=( - '-c+[execute command on the first file loaded]:command:' - '-r[recover the named files]' - '-t+[start editing at the specified tag]:tag:' - '-w+[set window size to specified number of lines]:lines:' - '*: :_files' -) - -[[ $service != view ]] && args+=( - '-R[set readonly]' -) - -[[ $service == ex ]] && args+=( - '-s[enter batch mode]' - '-v[start in vi mode]' -) - -case $OSTYPE in - *bsd*|dragonfly*) - args+=( - "-F[don't copy the entire file on start]" - '-S[set the secure option]' - ) - [[ $service != ex ]] && args+=( - '-e[start in ex mode]' - ) - ;| - netbsd*) - args+=( - '-G[start in gtags mode]' - ) - [[ $service == vi ]] && args+=( - '-l[set the lisp and showmatch options]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim deleted file mode 100644 index 5c6054e7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim +++ /dev/null @@ -1,160 +0,0 @@ -#compdef vim gvim gex gview nvim rvim rview rgvim rgview evim eview vimdiff gvimdiff mvim - -(( $+functions[_vim_files] )) || -_vim_files () { - case $PREFIX in - (+*) _files -P './' $* && return 0 ;; - ((scp|http(|s)|(|s)ftp):*) _urls ;; - (*) _files $* ;; - esac - case $PREFIX in - (+) _message -e 'start at a given line (default: end of file)' ;; - (+<1->) _message -e 'line number' ;; - esac -} - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -local arguments - -arguments=( - '-m[modifications (writing files) not allowed]' - '-M[modifications in text not allowed]' - '-b[binary mode]' - '-l[lisp mode]' - '-V-[verbosity level]::verbosity [10]:->verbosity' - '-D[debugging mode]' - '-n[no swap file (memory only)]' - {-r,-L}'[list swap files and exit or recover from a swap file]::swap file:_vim_files -g "*.sw?(-.)"' - '(-H)-A[start in Arabic mode]' - '(-A)-H[start in Hebrew mode]' - '-u[use given vimrc file instead of default .vimrc]:config:->config' - "--noplugin[don't load plugin scripts]" - '-o-[number of windows to open (default: one for each file)]::window count: ' - '-O-[number of windows to vertically split open (default is one for each file)]::window count: ' - '-p-[number of tabs to open (default: one for each file)]::tab count: ' - '(* -t)-q+[quickfix file]::file:_files' - '*--cmd[execute given command before loading any RC files]:command: ' - '-c[execute given command after loading the first file]:command: ' - '-S[source a session file after loading the first file]::session file:_files' - '-s[read normal-mode commands from script file]:script file:_files' - '-w[append all typed commands to given file]:output file:_files' - '-W[write all typed commands to given file, overwriting existing file]:output file:_files' - '--startuptime[write startup timing messages to given file]:log file:_files' - '(- *)'{-h,--help}'[print help and exit]' - '(- *)--version[print version information and exit]' - '(* -q)-t+[edit file where tag is defined]:tag:_complete_tag' - '(-t -q)*:file:_vim_files' -) -if [[ $service = nvim ]]; then - arguments+=( - '(-e -E -es -Es -s -d)-e[ex mode, read stdin as ex command]' - '(-e -E -es -Es -s -d)-E[ex mode, read stdin as text]' - '(-e -E -es -Es -s -d)-es[silent mode, read stdin as ex command]' - '(-e -E -es -Es -s -d)-Es[silent mode, read stdin as text]' - '-i[use the specified shada file]:shada file:_files' - '(- *)-v[print version information and exit]' - '(- *)--api-info[print msgpack-encoded api-metadata and exit]' - '--headless[do not start user interface]' - '--embed[use standard input and output as a msgpack-rpc channel]' - '--listen[start RPC server on the specified socket or named pipe]:address' - ) -else - arguments+=( - '(-v -E -d -y)-e[ex mode]' - '(-v -e -d -y)-E[improved ex mode]' - '( -e -E -s -d -y)-v[vi mode]' - '(-v -e -E -s -d )-y[easy mode]' - '-C[start in compatible mode]' - '-N[start in incompatible mode]' - '-nb[start as NetBean server]' - '-T[set terminal type]:::_terminals' - '--not-a-term[skip warning for input/output not being a terminal]' - '--ttyfail[exit if input or output is not a terminal]' - '-X[do not connect to X server]' - '-x[edit encrypted files]' - '--remote[edit given files in a vim server if possible]:*:file:_vim_files' - '--remote-silent[as --remote but without complaining if not possible]:*:file:_vim_files' - '--remote-wait[as --remote but wait for files to have been edited]:*:file:_vim_files' - '--remote-wait-silent[as --remote-wait but without complaining if not possible]:*:file:_vim_files' - '--remote-send[send given keys to vim server if possible]:keys: ' - '--remote-tab[as --remote but open tab page for each file]:*:file:_vim_files' - '--remote-tab-silent[as --remote-silent but open tab page for each file]:*:file:_vim_files' - '--remote-tab-wait[as --remote-wait but open tab page for each file]:*:file:_vim_files' - '--remote-tab-wait-silent[as --remote-wait-silent but open tab page for each file]:*:file:_vim_files' - '--remote-expr[evaluate given expression in a vim server and print result]:expression: ' - '--literal[do not expand wildcards in arguments (this is useless with ZSH)]' - '(- *)--serverlist[list available vim servers and exit]' - '--servername[name of vim server to send to or name of server to become]:server name:->server' - '--socketid[run GVIM in another window]' - '-i[use specified viminfo file]:viminfo file [~/.viminfo]:_files' - '--clean[start with defaults in non-compatible mode]' - ) -fi -[[ $service != *g* && $service != nvim ]] && arguments+='-g[start with GUI]' -[[ $service != r* ]] && arguments+='-Z[restricted mode]' -[[ $service != *diff ]] && arguments+='(-v -e -E -es -Es -s -y)-d[diff mode]' -[[ $service != *view ]] && arguments+='-R[readonly mode]' -[[ $service = *g* ]] || (( ${words[(I)-g]} )) && arguments+=( - '(--nofork -f)'{--nofork,-f}'[do not detach the GUI version from the shell]' - '(-background -bg)'{-background,-bg}'[use specified color for the background]:color:_x_color' - '(-foreground -fg)'{-foreground,-fg}'[use specified color for normal text]:color:_x_color' - '-font:font:_xft_fonts' - '-geometry:geometry:_x_geometry' - '-iconic[start vim iconified]' - '(-rv -reverse)'{-rv,-reverse}'[use reverse video]' - '-display:display:_x_display' - '--role[set unique role to identify main window]:role' - '--socketid[open vim inside another GTK widget]:xid' - '--echo-wid[echo window ID on stdout]' - '-U[use given gvimrc file instead of default .gvimrc]:gui config:->configgui' -) - -_arguments -C -S $arguments && ret=0 - -if [[ "$state" = server ]]; then - local -a servers - servers=( ${(f)"$(_call_program servers $words[1] --serverlist 2>/dev/null)"} ) - _wanted servers expl server compadd -M 'm:{a-z}={A-Z}' -a servers && ret=0 -elif [[ $state = verbosity ]]; then - _tags numbers files - while _tags; do - _requested numbers && _describe -V 'verbosity [10]' "( - 0:don\'t' display any messages' - 1:'display when viminfo file is read or written' - 2:'display sourced files' - 5:'display every searched tag-file' - 8:'display files that trigger autocommands' - 9:'display every triggered autocommand' - 12:'display every executed function' - 13:'report every thrown, caught, finished, or discarded exception' - 14:'display anything pending in a :finally clause' - 15:'display every executed ex-command' - )" && ret=0 - if _requested files expl 'file for verbose output'; then - compset -P '[0-9]#' - _files "$expl[@]" && ret=0 - fi - (( ret )) || break - done -elif [[ "$state" = config* ]]; then - _tags special files - local names=( - "NONE:'skip initialization from files and environment variables'" - "NORC:'same as NONE, but load plugins'" - ) - # gvim only supports -U NONE to skip GUI initialization. - [[ $state != configgui || $service != *g* ]] && names+=( - "DEFAULTS:'same as NONE, but loads defaults.vim'" - ) - while _tags; do - _requested special && _describe -V 'special' "(${(F)names})" && ret=0 - if _requested files expl 'rc file'; then - _files "$expl[@]" && ret=0 - fi - (( ret )) || break - done -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim-addons b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim-addons deleted file mode 100644 index 76f70149..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vim-addons +++ /dev/null @@ -1,51 +0,0 @@ -#compdef vim-addons - -local context state line expl ret=1 -typeset -A opt_args - -_arguments \ - '(-q --query)'{-q,--query}'[be quiet and make the output more parseable]' \ - '(-r --registry-dir)'{-r,--registry-dir}'[set the registry directory]' \ - '(-s --source-dir)'{-s,--source-dir}'[set addon source directory]' \ - '(-t --target-dir -w --system-wide)'{-t,--target-dir}'[set addon target directory]' \ - '(-v --verbose -z --silent)'{-v,--verbose}'[increase verbosity]' \ - '(y --system-dir)'{-y,--system-dir}'[set system-wide target directory]' \ - '(-)'{-h,--help}'[show help information]' \ - '(-w --system-wide -t --target-dir)'{-w,--system-wide}'[use system-wide target directory]' \ - '(-z --silent -v --verbose)'{-z,--silent}'[suppress most output]' \ - '1:commands:(( - install\:install\ specified\ addons - remove\:remove\ specified\ addons - list\:list\ available\ addons\ in\ registry - status\:list\ status\ of\ addons - disable\:disable\ specified\ addons - enable\:undo\ effects\ of\ previous\ disable - files\:list\ files\ composing\ the\ specified\ addon - show\:display\ detailed\ information\ on\ specified\ addon - ))' \ - '*: :->args' && ret=0 - -case $state in - args) - case $line[1] in - install) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*removed}%$'\t'*} && ret=0 - ;; - enable) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*disabled}%$'\t'*} && ret=0 - ;; - remove) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*(disabled|installed)}%$'\t'*} && ret=0 - ;; - *) - _wanted -C $context addons expl 'addon' compadd - \ - $(_call_program addons vim-addons list) && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_visudo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_visudo deleted file mode 100644 index 2cb6d85a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_visudo +++ /dev/null @@ -1,12 +0,0 @@ -#compdef visudo - -_arguments -s -S : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-f --file)'{-f+,--file=}'[specify sudoers file]:sudoers file:_files' \ - + c \ - '(x -c --check)'{-c,--check}'[check sudoers file for errors only]' \ - '(-q --quiet)'{-q,--quiet}'[suppress error messages (with -c)]' \ - '(x -s --strict)'{-s,--strict}'[enable strict checking]' \ - + '(x)' \ - '(c)'{-x+,--export=}'[export sudoers file to specified JSON output file]:JSON output file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmctl deleted file mode 100644 index 873bb567..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmctl +++ /dev/null @@ -1,95 +0,0 @@ -#compdef vmctl - -local -a subcommands alts - -_vm_names() { - local expl - _description virtual-machines expl 'virtual machine' - compadd "$@" "$expl[@]" - ${${${(@f)"$(_call_program virtual-machines vmctl status)"}[2,-1]}##* } -} - -_vm_switches() { - local expl - _description virtual-switches expl 'virtual switch' - [[ -r /etc/vm.conf ]] && - compadd "$@" "$expl[@]" - ${${${(M)${(f)"$(</etc/vm.conf)"}:#switch *}##switch ##\"#}%%\"# *} -} - -subcommands=( - console:'connect to the console of the VM' - create:'create a VM disk image' - load:'load additional configuration' - log:'change logging verbosity' - pause:'pause a VM' - receive:'receive a VM from stdin' - reload:'remove stopped VMs and reload config' - reset:'reset specified component' - send:'send VM to stdout and terminate it' - {show,status}:'list VMs running or just the specified id' - start:'start a VM' - stop:'stop a VM' - unpause:'resume a VM' - wait:'wait until specified VM has stopped' -) - -if (( CURRENT == 2 )); then - _describe subcommand subcommands -else - local curcontext="${curcontext%:*}-${words[2]}:" - shift words; (( CURRENT-- )) - case $words[1] in - console|pause|send|show|status|unpause|wait) - _vm_names - ;; - create) - compset -P '(raw|qcow2):' || alts=( - 'prefixes:prefix:compadd -S: raw qcow2' - ) - _arguments \ - '-s+[specify size]:size' \ - '(-i)-b+[specify base disk]:base image:_files' \ - '(-b)-i+[copy and convert input disk]:disk image:_files' \ - '1:disk: _alternative "files:path:_files" $alts' - ;; - load) - _arguments ':configuration file:_files' - ;; - log) - _arguments ':logging verbosity:(brief verbose)' - ;; - receive) - _arguments ':name: ' - ;; - reset) - _arguments ':reset option:(( - all\:"reset the running state" - switches\:"reset the configured switches" - vms\:"reset and terminate all VMs" - ))' - ;; - start) - _arguments -s \ - '-B+[force system to boot from specified device for this boot]:device:(cdrom disk net)' \ - '-b+[boot with the specified kernel or BIOS image]:boot image:_files' \ - '-c[automatically connect to the VM console]' \ - '*-d+[disk image file]:disk image:_files' \ - '-i+[number of network interfaces]:number: ' \ - '-L[add a local network interface]' \ - '-m+[specify memory size]:memory size (megabytes) [512]' \ - '-n+[specify switch to attach]: :_vm_switches' \ - '-r+[specify ISO image file for virtual CD-ROM]:ISO image:_files -g "*.iso(-.)"' \ - '-t+[use existing VM as a template]: :_vm_names' \ - '1: :_vm_names' - ;; - stop) - _arguments \ - '(1)-a[stop all running VMs]' \ - '-f[forcefully stop without attempting a graceful shutdown]' \ - '-w[wait until the VM has been terminated]' \ - '(-a)1: :_vm_names' - ;; - *) - _default - ;; - esac -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmstat deleted file mode 100644 index e05bc88b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vmstat +++ /dev/null @@ -1,126 +0,0 @@ -#compdef vmstat - -local -a specs -case $OSTYPE in - *linux*) - specs=( - '(-w --wide)'{-w,--wide}'[wide output]' - '(-t --timestamp)'{-t,--timestamp}'[show timestamp]' - '(-n --one-header)'{-n,--one-header}'[do not redisplay header]' - '(-S --unit)'{-S+,--unit=}'[specify unit for displayed sizes]:unit prefix [K]:((k\:1000 K\:1024 m\:1000000 M\:1048576))' - '(-C --full-cache)'{-C,--full-cache}'[add further cache lines to main cache]' - '1: :_guard "[0-9]#" "interval (seconds)"' '2:count' - + '(action)' \ - '(- :)'{-h,--help}'[display help information]' - '(- :)'{-V,--version}'[display version information]' - {-a,--active}'[show active/inactive memory]' - '(- :)'{-f,--forks}'[show number of forks since boot]' - '(-S --unit -t --timestamp -w --wide)'{-m,--slabs}'[show slabinfo]' - '(-w --wide -n --one-header -t --timestamp :)'{-s,--stats}'[show event counter statistics]' - {-d,--disk}'[show disk statistics]' - {-p+,--partition=}'[show partition specific statistics]:partition:_files -W /dev -g "*(-%)"' - '(- :)'{-D,--disk-sum}'[summarize disk statistics]' - ) - ;; - *bsd*|dragonfly*) - specs=( - '-c+[specify number of times to refresh the display]:count' - '-i[report the number of interrupts taken by devices since boot]' - '-M+[specify core file to extract values associated with the name list from]:core:_files' - '-N+[specify file to extract the name list from]:system:_files' - '-w+[specify delay between each display]:delay (seconds)' - '*: :_bsd_disks' - ) - ;| - *bsd*) - specs+=( - '-f[report on the number fork syscalls since boot and pages of virtual memory for each]' - ) - ;| - freebsd*|dragonfly*) - specs+=( - '-m[report on the usage of kernel dynamic memory allocated using malloc(9) by type]' - '-n+[change the maximum number of disks to display]:number of disks to display [2]' - '*-p+[specify which types of devices to display]: :->devices' - '-s[display the contents of the SUM structure]' - '-z[report on memory used by the kernel zone allocator, uma(9), by zone]' - ) - ;| - freebsd*) - specs+=( - '-a[include statistics about all interrupts]' - '-h[human readable memory columns output]' - '-H[scriptable memory columns output]' - '-o[list virtual memory objects]' - '-P[report per-cpu system/user/idle cpu statistics]' - ) - ;| - (net|open)bsd*) - specs+=( - '-m[report usage of kernel dynamic memory listed first by size of allocation then type of usage]' - '-s[display the contents of the UVMEXP structure]' - '-v[print more verbose information]' - ) - ;| - openbsd*) - specs+=( - '-t[report on the number of page in and page reclaims since boot]' - '-z[include statistics about all interrupts]' - ) - ;; - netbsd*) - specs+=( - '-C[report on kernel memory caches]' - '-e[report the values of system event counters]' - '-H[report all hash table statistics]' - '-h+[dump specified hash table]:hash table:->hashes' - '-L[list all hash tables]' - '-l[list UVM histories maintained by the kernel]' - '-t[display contents of the vmtotal structure]' - '-U[dump all UVM histories]' - '-u+[dump specified UVM history]:uvm' - '-W[print more information about kernel memory pools]' - ) - ;; - dragonfly*) - specs+=( - '-b[use brief format for formatted numbers]' - '-o[report usage of kernel object cache]' - '-u[output unformatted numeric values]' - '-v[include IRQ numbers and IRQ target CPU numbers before device names (with -i)]' - ) - ;; - solaris2.<11->) - specs+=( '(-i -s)-T+[specify time format]:time format:((u\:seconds\ since\ epoch d\:standard\ date\ format))' ) - ;& - solaris*) - specs+=( - '-q[suppress messages related to state changes]' - + '(actions)' \ - '(-T)-i[report the number of interrupts taken by devices since boot]' - '-p[report paging activity]' - '(-T)-s[display the total number of system events since boot]' - '-S[report on swapping rather than paging activity]' - '::disk:_files -W /dev -g "*(-%b)"' - ': :_guard "[0-9]#" "interval (seconds)"' '::count' - ) - ;; -esac - -if (( $#specs )); then - local curcontext=$curcontext state state_descr line ret=1 - typeset -A opt_args - - _arguments -C -s -w -A '-*' : "$specs[@]" && ret=0 - - if [[ $state == devices ]]; then - _fbsd_device_types && ret=0 - elif [[ $state == hashes ]]; then - local -a tables - tables=( ${${${(f)"$(_call_program hashes $words[1] -L)"}[2,-1]#?}/ ##/:} ) - _describe -t hashes 'hash table' tables && ret=0 - fi - return ret -fi - -_default diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vnc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vnc deleted file mode 100644 index 7d818cfe..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vnc +++ /dev/null @@ -1,97 +0,0 @@ -#compdef vncserver vncviewer xvncviewer xtightvncviewer xvnc4viewer - -local displays args -displays=( ~/.vnc/$HOST:<->.pid(N:r:t:s/$HOST//) ) -displays=( \\${^displays} ) - -case $service in - vncserver) - # currently missing: bc, c, nologo, r, ttyxx, v - # Don't know values for -nolisten (other than tcp). - _arguments \ - - start \ - '-name:desktop name:_x_name' \ - '-a[mouse acceleration (pixels)]:#:' \ - '-ac[disable access control restrictions]' \ - '-audit[set audit trail level]:int:' \ - '-auth[select authorization file]:file:_files' \ - '-bs[disable any backing store support]' \ - '-c[turns off key-click]' \ - '-cc[default color visual class]:int:' \ - '-co[color database file]:file:_files' \ - '-core[generate core dump on fatal error]' \ - '-dpi[screen resolution in dots per inch]:int:' \ - '-deferglyphs[defer loading of glyphs]:type:(none all 16)' \ - '-f[bell base]:level (0-100):' \ - '-fc[cursor font]:string:' \ - '-fn[default font name]:string:' \ - '-fp[default font path]:string:' \ - '-help[prints message with these options]' \ - '-I[ignore all remaining arguments]' \ - '-ld[limit data space to N Kb]:int:' \ - '-lf[limit number of open files to N]:int:' \ - '-ls[limit stack space to N Kb]:int:' \ - '-nolock[disable the locking mechanism]' \ - '-logo[enable logo in screen saver]' \ - "-nolisten[don't listen on protocol]:protocol:(tcp)" \ - '-p[screen-saver pattern duration (minutes)]:time (minutes):' \ - '-pn[accept failure to listen on all ports]' \ - '-nopn[reject failure to listen on all ports]' \ - '-r[turns off auto-repeat]' \ - '-s[screen-saver timeout (minutes)]:timeout (minutes):' \ - '-su[disable any save under support]' \ - '-t[mouse threshold]:pixels:' \ - '-terminate[terminate at server reset]' \ - '-to[connection time out]:time:' \ - '-tst[disable testing extensions]' \ - '-v[screen-saver without video blanking]' \ - '-wm[WhenMapped default backing-store]' \ - '-x[loads named extension at init time ]:string:' \ - '-query[contact named host for XDMCP]:host-name:_hosts' \ - '-broadcast[broadcast for XDMCP]' \ - '-indirect[contact named host for indirect XDMCP]:host-name:_hosts' \ - '-port[UDP port number to send messages to]:port:' \ - '-once[Terminate server after one session]' \ - '-class[specify display class to send in manage]:display-class:' \ - '-cookie[specify the magic cookie for XDMCP]:xdm-auth-bits:' \ - '-displayID[manufacturer display ID for request]:display-id:' \ - '-geometry:geometry:(1600x1200 1280x1024 1152x864 1024x768 800x600 640x480)' \ - '-depth:pixel depth:(8 16 24 32)' \ - '-pixelformat:pixel format' \ - '-udpinputport[UDP port for keyboard/pointer data]:port:' \ - '-rfbport[TCP port for RFB protocol]:port:' \ - '-rfbwait[max time in ms to wait for RFB client]:time:' \ - "-nocursor[don't put up a cursor]" \ - '-rfbauth[use authentication on RFB protocol]:passwd-file:_files' \ - '-httpd[serve files via HTTP from here]:dir:_files -/' \ - '-httpport[port for HTTP]:port:' \ - '-deferupdate[specify time to defer updates by]:time (ms) [40]' \ - '-economictranslate[less memory-hungry translation]' \ - '-lazytight[disable "gradient" filter in tight encoding]' \ - '-desktop[specify VNC desktop name]:name [x11]' \ - '-alwaysshared[always treat new clients as shared]' \ - '-nevershared[never treat new clients as shared]' \ - "-dontdisconnect[don't disconnect existing clients for new non-shared connections]" \ - '-viewonly[let clients only to view the desktop]' \ - '-localhost[only allow connections from localhost]' \ - '-interface[only bind to specified interface address]:ipaddr:' \ - '-inetd[Xvnc is launched by inetd]' \ - '-compatiblekbd[set META key = ALT key as in the original VNC]' \ - '-version[report Xvnc version on stderr]' \ - '1:: :_guard "(|:[0-9]#)" "display number"' \ - - kill \ - "-kill:display number:($displays)" \ - - help \ - '-help' - ;; - *vncviewer) - _xt_arguments -shared -viewonly -fullscreen -bgr233 -owncmap -truecolour \ - '-encodings: :_values -s " " encoding copyrect hextile corre rre raw' \ - '-depth:depth' \ - '-passwd:file:_files' \ - '(1)-listen:display number' \ - '-via:host:_hosts' \ - '(-listen)1::display:_x_display' - ;; -esac - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_volume_groups b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_volume_groups deleted file mode 100644 index 8b8bebfa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_volume_groups +++ /dev/null @@ -1,5 +0,0 @@ -#autoload - -local expl - -_wanted volumegroups expl 'volume group' compadd "$@" - $(lsvg) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vorbis b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vorbis deleted file mode 100644 index 6c94469f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vorbis +++ /dev/null @@ -1,148 +0,0 @@ -#compdef oggenc ogg123 ogginfo oggdec vorbiscomment - -local curcontext="$curcontext" ret=1 -local -a alts expl state line suf - -case $service in - oggenc) - _arguments -C -s -S \ - '(-Q --quiet)'{-Q,--quiet}'[produce no output to stderr]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-V,--version}'[display version information]' \ - '(-k --skeleton)'{-k,--skeleton}'[add an Ogg Skeleton bitstream]' \ - '(-r --raw)'{-r,--raw}'[assume input data is raw, little-endian with no header information]' \ - '(-B --raw-bits)'{-B+,--raw-bits=}'[set raw mode input sample size in bits]:sample size [16]:(8 16)' \ - '(-C --raw-chan)'{-C+,--raw-chan=}'[set raw mode input number of channels]:number of channels [2]' \ - '(-R --raw-rate)'{-R+,--raw-rate=}'[set raw mode input sample rate]:sample rate [44100]:(44100 48000)' \ - '--raw-endianness=[set raw mode endianness]:endianness [0]:((0\:big\ endian 1\:little\ endian))' \ - '(-b --bitrate)'{-b+,--bitrate=}'[set encoding to the bitrate closest to that specified]:bitrate (kb/s)' \ - '--managed[enable the bitrate management engine]' \ - '(-m --min-bitrate)'{-m+,--min-bitrate=}'[set minimum bitrate]:bitrate (kb/s)' \ - '(-M --max-bitrate)'{-M+,--max-bitrate=}'[set maximum bitrate]:bitrate (kb/s)' \ - '*--advanced-encode-option=:option name:_values option - "lowpass_frequency[set the lowpass frequency]\:frequency (kHz)" - "impulse_noisetune[set a noise floor bias]\:bias (-15..0)" - "bitrate_hard_max[set the allowed bitrate maximum for the encoded file]\:bitrate (kb/s)" - "bitrate_hard_min[set the allowed bitrate minimum for the encoded file]\:bitrate (kb/s)" - "bit_reservoir_bits[set the total size of the bit reservoir]\:bits" - "bit_reservoir_bias[set the behavior bias of the bit reservoir]\:bias (0..1)" - "bitrate_average[set the average bitrate for the file]\:bitrate (kb/s)" - "bitrate_average_damping[set the reaction time for the average bitrate tracker]\:time (seconds)" - "disable_coupling[disable use of channel coupling for multichannel encoding]"' \ - '(-q --quality)'{-q+,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \ - '--resample=[resample input to the given sample rate before encoding]:sample rate (Hz)' \ - '--downmix[down mix input from stereo to mono]' \ - '--scale=[set input scaling factor]:scaling factor' \ - '(-s --serial)'{-s+,--serial=}'[force a specific serial number in the output stream]:serial number' \ - "--discard-comments[don't copy comments from FLAC file to output Ogg Vorbis file]" \ - '--ignorelength[ignore the datalength in Wave headers]' \ - '(-o --output)'{-o+,--output=}'[write the Ogg Vorbis stream to output_file]:files:->oggfiles' \ - '(-n --names)'{-n+,--names=}'[specify pattern for producing filenames]:string' \ - '(-X --name-remove)'{-X+,--name-remove=}'[remove specified characters from output filenames]:characters' \ - '(-P --name-replace)'{-P+,--name-replace=}'[specify replacement characters for those removed]:characters' \ - '--utf8[interpret command-line parameters as already being UTF-8 encoded]' \ - \*{-c+,--comment=}'[add the string comment as an extra comment]:comment' \ - \*{-d+,--date=}'[set the date comment field to the given value]:date' \ - \*{-N+,--tracknum=}'[set the track number comment field to the given value]:track number' \ - \*{-t+,--title=}'[set the track title comment field to title]:title' \ - \*{-l+,--album=}'[set the album comment field to album]:album' \ - \*{-a+,--artist=}'[set the artist comment field in the comments to artist]:artist' \ - \*{-G+,--genre=}'[set the genre comment field in the comments to genre]:genre' \ - \*{-L+,--lyrics=}'[include lyrics from specified file]:lyrics file:_files -g "*.(srt|lrc)(-.)"' \ - \*{-Y+,--lyrics-language=}'[specify language for the lyrics]:language' \ - '*:input file:_files -g "(#i)*.(flac|wav|aiff)(-.)"' && ret=0 - ;; - ogg123) - _arguments -C -s -S \ - \*{-d+,--device=}'[output device]:device:(aixs alsa arts au esd irix macosx nas null oss pulse raw roar sndio sun wav wmm)' \ - \*{-f+,--files=}'[output filename for a previously specified file device]:output filename:_files -g "(#i)*.(wav|au|raw)(-.)"' \ - '--audio-buffer=[specify size of output audio buffer]:size (kilobytes)' \ - \*{-o,--device-option=}'[assign device option values]:device option:->devopts' \ - '(-@ --list)'{-@+,--list=}'[play all of the files from a playlist]:playlist:_files' \ - '(-r --repeat)'{-r,--repeat}'[repeat playlist indefinitely]' \ - '(-R --remote)'{-R,--remote}'[use remote control interface]' \ - '(-z --shuffle -Z --random)'{-z,--shuffle}'[shuffle list of files before playing]' \ - '(-Z --random -z --shuffle -r --repeat)'{-Z,--random}'[play files randomly until interrupted]' \ - '(-b --buffer)'{-b+,--buffer=}'[specify size of input buffer (HTTP only)]:size (kilobytes)' \ - '(-p --prebuffer)'{-p+,--prebuffer=}'[delay playback until proportion of buffer filled (HTTP only)]:percent' \ - '(-k --skip)'{-k+,--skip=}"[skip up to specified time]:start time ([[hh\:]mm\:]ss[.d])" \ - '(-K --end)'{-K+,--end=}"[end after specified time]:end time ([[hh\:]mm\:]ss[.d])" \ - '(-x --nth)'{-x+,--nth=}"[play every 'n'th block]:number"\ - '(-y --ntimes)'{-y+,--ntimes=}"[repeat every 'n'th block]:number" \ - '(-l --delay)'{-l+,--delay=}'[set delay between two SIGINTs to quit]:delay (ms)' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(-q --quiet -v --verbose)'{--quiet,-q}'[quiet mode]' \ - '(-q --quiet)*'{-v,--verbose}'[increase verbosity]' \ - '(- *)'{-V,--version}'[display version information]' \ - \*{-c-,--config=-}'[specify config options]: :_values option - "default_device\:device" - "shuffle\:value\:(0 1)" - "repeat\:value\:(0 1)"' \ - '*:sound file or directory:->urls-or-files' && ret=0 - ;; - ogginfo) - _arguments -S \ - '(- *)-h[display usage information]' \ - '(- *)-V[display version information]' \ - '(-)*-q[quiet mode]' \ - '(-)-v[verbose mode]' \ - '(-h)*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0 - ;; - oggdec) - _arguments -s -S \ - '(-Q --quiet)'{-Q,--quiet}'[quiet mode]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-V,--version}'[display version information]' \ - '(-b --bits)'{-b+,--bits=}'[bits per sample]:bits per sample:(8 16)' \ - '(-e --endianness)'{-e+,--endianness=}'[set endianness for 16-bit output]:endianness [0]:((0\:little-endian\ \(Intel\ byte\ order\) 1\:big-endian\ \(sane\ byte\ order\)))' \ - '(-s --sign)'{-s+,--sign=}'[set signedness for output]:signedness [1]:((0\:unsigned 1\:signed))' \ - '(-R --raw)'{-R,--raw}'[output in raw format]' \ - '(-o --output)'{-o+,--output=}'[write output to specified filename]:output filename:_files' \ - '*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0 - ;; - vorbiscomment) - _arguments -s -S \ - '(-l --list)*'{-t+,--tag=}'[specify a comment tag on the commandline]:tag=value' \ - '(-c --commentfile)'{-c+,--commentfile=}'[specify comment file]:file:_files' \ - '(-R --raw)'{-R,--raw}'[read and write comments in UTF-8]' \ - '(-e --escapes)'{-e,--escapes}'[use \\n-style escapes to allow multiline comments]' \ - '1:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' \ - '(-l --list)2:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' \ - + '(actions)' \ - '(2 -t --tag)'{-l,--list}'[list the comments (default)]' \ - {-a,--append}'[append comments]' \ - {-w,--write}'[write comments, replacing the existing ones]' \ - '(-)'{-h,--help}'[display usage information]' \ - '(-)'{-V,--version}'[display version information]' && ret=0 - ;; -esac - -if [[ -n $state ]]; then - case $state in - urls-or-files) - if [[ -prefix 1 (f|ht)tp(|s):// ]]; then - alts=( 'urls:URL of sound file:_urls -f -g "*.(#i)(ogg|flax|spx)(-.)"' ) - else - alts=( 'urls:URL of sound file:compadd -S "" ftp:// http:// https://' ) - fi - _alternative \ - 'files:sound file or directory:_files -g "(#i)*.(ogg|flac|spx)"' \ - $alts && ret=0 - ;; - devopts) - if compset -P 1 '*:'; then - _message -e value value - else - _description device-options expl 'device option' - if ! compset -S ':*'; then - compadd "$expl[@]" - debug verbose quiet && ret=0 - suf=( -qS : ) - fi - compadd $suf "$expl[@]" - matrix dev buffer_time period_time use_mmap \ - multi host buf_size dsp server sink byteorder id && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vpnc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vpnc deleted file mode 100644 index 9c4f4d41..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vpnc +++ /dev/null @@ -1,54 +0,0 @@ -#compdef vpnc vpnc-connect - -local ign - -(( $#words > 2 )) && ign='!' -_arguments \ - "${ign}(- : *)--version[display version information]" \ - "${ign}(- : *)--"{,long-}'help[display usage information]' \ - '--gateway=[specify IP/name of IPSec gateway]: :_hosts' \ - '--id=[specify group name]: :_groups' \ - '--username=[specify username]: :_users' \ - '--domain=[specify domain name for authentication]: :_domains' \ - '--xauth-inter[enable interactive extended authentication]' \ - '--vendor=[specify IPSec gateway vendor]:vendor:(cisco netscreen)' \ - '--natt-mode=[specify NAT-Traversal method to use]:NAT-traversal method [natt]:(( - natt\:NAT-T\ as\ defined\ in\ RFC3947 - none\:disable\ use\ of\ any\ NAT-T\ method - force-natt\:always\ use\ NAT-T\ encapsulation\ even\ without\ presence\ of\ a\ NAT\ device - cisco-udp\:Cisco\ proprietary\ UDP\ encapsulation,\ commonly\ over\ port\ 10000 - ))' \ - '--script=[specify command executed using system() to configure the interface, routing and so on]: : _command_names -e' \ - '--dh=[specify the IKE DH group]:group:(dh1 dh2 dh5)' \ - '--pfs=[specify Diffie-Hellman group to use for PFS]:group:(nopfs dh1 dh2 dh5 server)' \ - '--enable-1des[enable weak single DES encryption]' \ - '--enable-no-encryption[use no encryption for data traffic (key exchange still encrypted)]' \ - '--application-version=[specify application version to report]:application version' \ - '--ifname=[specify visible name of the TUN/TAP interface]:interface name' \ - '--ifmode=[specify mode of TUN/TAP interface]:mode [tun]:(tun tap)' \ - '--ifmtu=[set MTU for TUN/TAP device]:MTU (0-65535) [0 - automatic]' \ - "--debug[show verbose debug messages]:debug information:(( - 0\:don\'t\ print\ debug\ information - 1\:print\ minimal\ debug\ information - 2\:show\ state\ machine\ and\ packet/payload\ type\ information - 3\:dump\ everything\ excluding\ authentication\ data - 99\:dump\ everything\ including\ authentication\ data\ \(e.g.\ passwords\) - ))" \ - "--no-detach[don't detach from the console after login]" \ - '--pid-file=[store the pid of background process in specified file]:pid file:_files' \ - '--local-addr=[specify local IP to use for ISAKMP/ESP/...]: :_hosts' \ - '--local-port=[specify local ISAKMP port number to use]:ISAKMP port number (0-65535) [500]' \ - '--udp-port=[specify local UDP port number to use]:udp port (0-65535) [10000]' \ - '--dpd-idle=[send DPD packet after not receiving anything for specified time]:timeout (seconds) [600]' \ - "--non-inter[don't ask anything, exit on missing options]" \ - '--auth-mode=[specify authentication mode]:authentication mode [psk]:(( - psk\:pre-shared\ key - cert\:server\ +\ client\ certificate - hybrid\:server\ certificate\ +\ xauth - ))' \ - '--ca-file=[specify CA-PEM-File]:CA-PEM file:_files -g "*.pem(-.)"' \ - '--ca-dir=[specify trusted CA-Directory]:CA directory:_files -/' \ - '--target-network=[specify target network]:network/netmask' \ - '--password-helper=[specify password helper executable]: : _command_names -e' \ - '--print-config[print configuration in form that can be used as vpnc.conf]' \ - '*:configuration [default]:compadd - /etc/vpnc/*.conf(N:t:r)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vserver b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vserver deleted file mode 100644 index 36a61c45..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_vserver +++ /dev/null @@ -1,131 +0,0 @@ -#compdef vserver - -_vserver () { - - # local variables - local curcontext="$curcontext" state line expl ret=1 - local cmd=$words[3] - - # dispatch - case "$cmd" in - apt-cache|apt-config|apt-get) - compset -n 3 - _dispatch $cmd:t $cmd $cmd:t -default- && ret=0 - ;; - exec) - _arguments -C \ - '1: :->vsnames' \ - '2: :->cmds' \ - '3:command name: _command_names -e' \ - '*::arguments: _normal' && ret=0 - ;; - stop|restart|condrestart|enter|running|status) - _arguments -C \ - '1: :->vsnames' \ - '2: :->cmds' \ - '*::arguments: _message "no more arguments"' && ret=0 - ;; - *) - _arguments -C \ - '(-)--help[print help information]' \ - '(- *)--version[print client version information]' \ - '1: :->vsnames' \ - '2: :->cmds' \ - '*:: :->args' && ret=0 - ;; - esac - - # cache initialization - if [[ -n "$state" ]]; then - if (( ! $+_cache_vserver_cfgdir )); then - typeset -g _cache_vserver_cfgdir_initialized - _vserver_cache_cfgdir - fi - if (( ! $+_cache_vserver_vsnames )); then - typeset -g _cache_vserver_vsnames_initialized - _vserver_cache_vsnames - fi - if (( ! $+_cache_vserver_cmds )); then - typeset -g _cache_vserver_cmds_initialized - _vserver_cache_cmds - fi - fi - - case "$state" in - vsnames) - _wanted commands expl 'vserver name' _vserver_vsnames && ret=0 - ;; - cmds) - _wanted commands expl 'vserver command' _vserver_commands && ret=0 - ;; - args) - local args - if $+args; then - _arguments "$args[@]" && ret=0 - else - ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_vserver_commands] )) || -_vserver_commands() { - compadd "$@" -k _cache_vserver_cmds || compadd "$@" ${(s.:.)_cache_vserver_cmds} -} - -(( $+functions[_svk_list_patches] )) || -_vserver_vsnames() { - local expl - _wanted vserver expl 'vserver name' compadd -S '' $_cache_vserver_vsnames[@] -} - -(( $+functions[_vserver_cache_cfgdir] )) || -_vserver_cache_cfgdir() { - if [[ "$_cache_vserver_cfgdir_initialized" != true ]]; then - typeset -ga _cache_vserver_cfgdir - _cache_vserver_cfgdir=`vserver-info info SYSINFO | grep '^ *cfg-Directory' | awk '{print $2}'` - _cache_vserver_cfgdir_initialized=true - fi -} - -(( $+functions[_vserver_cache_vsnames] )) || -_vserver_cache_vsnames() { - if [[ "$_cache_vserver_vsnames_initialized" != true ]]; then - typeset -ga _cache_vserver_vsnames - _cache_vserver_vsnames=( $_cache_vserver_cfgdir/*(/:t) ) - _cache_vserver_vsnames_initialized=true - fi -} - -(( $+functions[_vserver_cache_cmds] )) || -_vserver_cache_cmds() { - if [[ "$_cache_vserver_cmds_initialized" != true ]]; then - typeset -ga _cache_vserver_cmds - _cache_vserver_cmds=( - start - stop - restart - condrestart - suexec - exec - enter - chkconfig - running - status - build - unify - pkg - apt-get - apt-config - apt-cache - rpm - pkgmgmt - ) - _cache_vserver_cmds_initialized=true - fi -} - -_vserver "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w deleted file mode 100644 index 69751c5e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w +++ /dev/null @@ -1,48 +0,0 @@ -#compdef w - -local args - -case $OSTYPE in - linux*) - args=( - '(H -f --from)'{-f,--from}'[toggle display of remote hostname]' - '(H -h)--no-header[suppress the heading]' - '(H -i --ip-addr)'{-i,--ip-addr}'[display IP address instead of hostname]' - '(H -o --old-style -s --short)'{-o,--old-style}'[old style output format]' - '(H -s --short -o --old-style)'{-s,--short}'[use short output format]' - '(H -u --no-current)'{-u,--no-current}'[ignore the username while figuring out the current process and cpu times]' - '(H -n --no-truncat)'{-n,--no-truncat}'[non-truncated listing (large)]' - + H - '(-)--help[display help information]' - '(-)'{-V,--version}'[display version information]' - ) - ;; - *bsd*|darwin*|dragonfly*) - args+=( '-i[sort output by idle time]' ) - ;| - openbsd*) - args+=( '-a[translate network addresses into names]' ) - ;| - (free|net)bsd*|dragonfly*) - args+=( '-n[show network addresses as numbers]' ) - ;| - *bsd*|dragonfly*) - args+=( - '-M+[extract values from specified core]:core file:_files' - '-N+[extract name list from specified system]:system file:_files' - ) - ;| - freebsd*|dragonfly*) - args+=( '-d[dump process list on a per controlling tty basis]' ) - ;| - solaris*) - args+=( '!(-s -w -l)'{-l,-w} - '-s[short output form]' - '(-)-u[produce only the heading line]' - ) - ;| -esac - -_arguments -S -s \ - '(--no-header)-h[suppress the heading]' \ - '*:user:_users' $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w3m b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w3m deleted file mode 100644 index de425cfb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_w3m +++ /dev/null @@ -1,100 +0,0 @@ -#compdef w3m - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '-t[set tab width]:tab width:' \ - '-r[ignore backspace effect]' \ - '-l[specify number of preserved lines]:number of lines [10000]' \ - '-I[document charset]:charset:->charset' \ - '-O[display/output charset]:charset:->charset' \ - '( -s -j)-e[EUC-JP]' \ - '(-e -j)-s[Shift_JIS]' \ - '(-e -s )-j[JIS]' \ - '(-v *)-B[load bookmark]' \ - '-bookmark[specify bookmark file]:bookmark file:_files' \ - '-T[specify content-type]:content type:_mime_types' \ - '-m[internet message mode]' \ - '(-B *)-v[visual startup mode]' \ - '-M[monochrome display]' \ - '-N[open URL of command line on each new tab]' \ - '-F[automatically render frames]' \ - '-cols[specify column width (used with -dump)]:column width' \ - '-ppc[specify the number of pixels per character (4.0...32.0)]:number of pixels (4.0...32.0):' \ - '-ppl[specify the number of pixels per line (4.0...64.0)]:number of pixels (4.0...64.0):' \ - '( -dump_head -dump_source -dump_both -dump_extra)-dump[dump formatted page into stdout]' \ - '(-dump -dump_source -dump_both -dump_extra)-dump_head[dump HEAD and source into stdout]' \ - '(-dump -dump_head -dump_both -dump_extra)-dump_source[dump page source into stdout]' \ - '(-dump -dump_head -dump_source -dump_extra)-dump_both[dump HEAD and source into stdout]' \ - '(-dump -dump_head -dump_source -dump_both )-dump_extra[dump HEAD, source, and extra information into stdout]' \ - '-post[use POST method with file content]:POST data file:_files' \ - '-header[insert string as a header]:header:' \ - '+-[goto specified line]:line number:_guard "[0-9]#" "line number"' \ - '-num[show line number]' \ - '-session[use specified session]:id' \ - "-no-proxy[don't use proxy]" \ - '(-6)-4[IPv4 only (-o dns_order=4)]' \ - '(-4)-6[IPv6 only (-o dns_order=6)]' \ - "-no-mouse[don't use mouse]" \ - '(-no-cookie)-cookie[use cookie]' \ - "(-cookie)-no-cookie[don't use cookie]" \ - '(-no-graph)-graph[use DEC special graphics for border of table and menu]' \ - '(-graph)-no-graph[use ASCII character for border of table and menu]' \ - '-S[squeeze multiple blank lines]' \ - '-W[toggle search wrap mode]' \ - "-X[don't use termcap init/deinit]" \ - '-title=[set buffer name to terminal title string]:terminal:_terminals' \ - '*-o[assign value to config option]:option=value:->option' \ - '(- *)-show-option[print all config options]' \ - '-config[specify config file]:configuration file:_files' \ - '(- *)-help[print usage information]' \ - '(- *)-version[print version information]' \ - '-debug' \ - '(-B -v)*:URL:->html' && ret=0 - -local -a suf - -case "$state" in - charset) - local -a charsets - charsets=( - US-ASCII ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 - ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 - ISO-8859-13 ISO-8859-14 ISO-8859-15 ISO-8859-16 EUC-JP Shift_JIS - Shift_JISX0213 ISO-2022-JP ISO-2022-JP-2 ISO-2022-JP-3 EUC-CN GBK GB18030 - HZ-GB-2312 ISO-2022-CN EUC-TW Big5 HKSCS EUC-KR UHC Johab ISO-2022-KR - TIS-620 TCVN-5712 VISCII VPS KOI8-R KOI8-U NeXTSTEP CP437 CP737 CP775 - CP850 CP852 CP855 CP856 CP857 CP860 CP861 CP862 CP863 CP864 CP865 CP866 - CP869 CP874 CP1006 CP1250 CP1251 CP1252 CP1253 CP1254 CP1255 CP1256 - CP1257 CP1258 UTF-8 UTF-7 - ) - _wanted charsets expl 'character set' compadd -a charsets && ret=0 - ;; - html) - local -a bookmarks w3mhistory - if [[ -s ~/.w3m/bookmark.html ]]; then - bookmarks=( ${${(M)${(f)"$(<~/.w3m/bookmark.html)"}:#<li>*}/(#b)<li><a href=\"(*)\">*/$match[1]} ) - fi - if [[ -s ~/.w3m/history ]]; then - w3mhistory=( ${(f)"$(<~/.w3m/history)"} ) - fi - _alternative \ - 'files:file:_files -g "*.x#html(-.)"' \ - 'urls:URL:_urls' \ - 'bookmarks:bookmark:compadd -a bookmarks' \ - 'history:history:compadd -a w3mhistory' && ret=0 - ;; - option) - local -a options - options=( ${${(M)${(f)"$(_call_program options $words[1] -show-option 2>/dev/null)"}:# -o *}/(#b) -o (*)=[^ ]#[[:blank:]]##(*)/$match[1]:${match[2]:l}} ) - if compset -P 1 '*='; then - _message -e values 'value' - else - compset -S '=*' || suf=( -S '=' ) - _describe -t options 'option' options "$suf[@]" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wait b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wait deleted file mode 100644 index c007cab9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wait +++ /dev/null @@ -1,3 +0,0 @@ -#compdef wait - -_alternative 'processes:: _pids' 'jobs:: _jobs -t' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wajig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wajig deleted file mode 100644 index 630507e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wajig +++ /dev/null @@ -1,78 +0,0 @@ -#compdef wajig - -local curcontext="$curcontext" state line expl cmds argno ret=1 - -_arguments -C -s \ - '(- 1 *)'{-h,--help}'[print usage message]' \ - '(- 1 *)--version[display version information]' \ - '(-q --quiet)'{-q,--quiet}'[do everything quietly]' \ - '(-s --simulate)'{-s,--simulate}"[trace but don't execute]" \ - '(-t --teaching)'{-t,--teaching}'[trace the sequence of commands performed]' \ - '(-v --verbose)'{-v,--verbose}'[increase (or set) the level of verbosity]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( ${(f)"$( _call_program commands $words[1] commands )"} ) - cmds=( ${(@)cmds/(#b)([^ ]##) ##(?)(*)/$match[1]:${match[2]:l}${match[3]//:/\\:}} ) - - _describe -t commands 'wajig command' cmds && ret=0 - ;; - args) - (( argno = $#line-1 )) - case ${line[1]:gs/-/} in - autoalts|autoalternatives|updatealts) - ((argno==1)) && _wanted alternatives expl alternative \ - _files -W /var/lib/dpkg/alternatives && ret=0 - ;; - listfiles|repackage|package) - ((argno==1)) || break - ;& - hold|large|readme|reconfigure|reinstall|remove|removedepend|showremove|size?|upgrade) - _wanted package expl 'package' _deb_packages installed && ret=0 - ;; - purgedepend) - ((argno==1)) && _wanted package expl 'package' _deb_packages xinstalled && ret=0 - ;; - purge) - _wanted package expl 'package' _deb_packages xinstalled && ret=0 - ;; - autoinstall|force|showinstall|installr|recommended|installrs|installs|suggested|install/*) - _wanted package expl 'package' _deb_packages uninstalled && ret=0 - ;; - install) - _alternative \ - 'packages:package:_deb_packages uninstalled' \ - 'files:package file:_files -g "*.deb(-.)"' && ret=0 - ;; - bug|bugs|dependents|geturl) - ((argno==1)) || break - ;& - available|build|builddepend|changelog|describe|whatis|detail|details|show|news|policy|download|source|status|recdownload) - _wanted package expl 'package' _deb_packages available && ret=0 - ;; - unhold) - _wanted package expl 'package' _deb_packages held && ret=0 - ;; - filedownload|downloadfile|fileinstall|installfile|fileremove|removefile|indfile) - ((argno==1)) && _files && ret=0 - ;; - whichpkg) - _files - ;; - rpminstall|rpmtodeb|rpm2deb) - ((argno==1)) && _files -g '*.rpm(-.)' && ret=0 - ;; - searchapt) - _wanted distributions expl distribution \ - compadd stable testing unstable && ret=0 - ;; - reload|restart|start|stop) - ((argno==1)) && _services && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wakeup_capable_devices b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wakeup_capable_devices deleted file mode 100644 index daad43b7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wakeup_capable_devices +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local ret=1 item devline expl -typeset -a desc - -_call_program wakeup-capable-devices acpitool -w 2> /dev/null | -while read devline; do - [[ -n ${devline:#(#b)([0-9]#).[[:space:]]#([^[:space:]]#)[[:space:]]#[0-9]#[[:space:]]#(*)} ]] && continue - zformat -f item "${match[1]}:%8d (currently ${match[3]})" d:${match[2]} - desc+=$item -done - -_describe -t wakeup-capable-devices 'wakeup capable device' desc "$@" && ret=0 - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanna-build b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanna-build deleted file mode 100644 index 779906af..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanna-build +++ /dev/null @@ -1,44 +0,0 @@ -#compdef wanna-build - -_arguments \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '--take[take package for building]' \ - '(-f --failed)'{-f,--failed}'[record as failed]' \ - '(-u --uploaded)'{-u,--uploaded}'[record as uploaded]' \ - '(-n --no-build)'{-n,--no-build}'[record as undesired]' \ - '--dep-wait[record as waiting for source dependencies]' \ - '--merge-quinn[merge quinn-diff output into database]' \ - '--merge-partial-quinn[merge partial quinn-diff output into database]' \ - '--merge-packages[merge Packages files into database]' \ - '--merge-sources[merge Sources files into database]' \ - '--merge-all' \ - '--pretend-avail[pretend that given packages are available now]' \ - '(-i --info)'{-i,--info=}':source package:_deb_packages avail' \ - '(-l --list)'{-l,--list=}':state:(needs-build building uploaded failed installed dep-wait not-for-us all failed-removed dep-wait-removed install-wait reupload-wait)' \ - '(-m --message)'{-m,--message=}':message:' \ - '(-o --override)'{-o,--override}"[override another user's lock]" \ - '(-U --user)'{-U,--user=}':user name:' \ - '--import:ASCII file:_files' \ - '--export:ASCII file:_files' \ - '--create-db[create database]' \ - '--correct-compare' \ - '(-N --no-propagation)'{-N,--no-propagation} \ - '(-D --no-down-propagation)'{-D,--no-down-propagation} \ - '--give-back[give package back]' \ - '--forget' \ - '--forget-user' \ - '--binNMU:version:' \ - '--perm-build-priority:priority:' \ - '--build-priority:priority:' \ - '(-d --dist)'{-d,--dist=}':distribution:(stable testing unstable all)' \ - '(-O --order)'{-O,--order=}':ordering:(P S p s n c b)' \ - '(-b --database)'{-b,--database=}':database:' \ - '(-A --arch)'{-A,--arch=}':architecture:' \ - '(-c --category)'{-c,--category=}':category:(uploaded-fixed-pkg fix-expected reminder-sent nmu-offered easy medium hard compiler-error none)' \ - '(-a --min-age)'{-a,--min-age=}':minimum age:' \ - '--max-age:maximum age:' \ - '--manual-edit' \ - '--maintlock-create' \ - '--maintlock-remove' \ - '--clean-db' \ - ':package_version:_deb_packages avail' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanted b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanted deleted file mode 100644 index 5bba7fd6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wanted +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -local -a __targs __gopt - -zparseopts -D -a __gopt 1 2 V J x C:=__targs - -_tags "$__targs[@]" "$1" - -while _tags; do - _all_labels "$__gopt[@]" "$@" && return 0 -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch deleted file mode 100644 index fff3d56f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch +++ /dev/null @@ -1,42 +0,0 @@ -#compdef watch - -local variant ret=1 -local -a context line state state_descr -local -A opt_args - -_pick_variant -r variant procps=procps $OSTYPE --version - -case $variant in - (procps) - _arguments -s -S -A '-*' : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-v,--version}'[display version information]' \ - '(-b --beep)'{-b,--beep}'[beep on non-zero command exit]' \ - '(-c --color)'{-c,--color}'[interpret ANSI color/style sequences]' \ - '(-d --differences)'{-d-,--differences=-}'[highlight changes between updates]::how to highlight:(permanent)' \ - '(-e --errexit)'{-e,--errexit}'[freeze updates on non-zero command exit]' \ - '(-g --chgexit)'{-g,--chgexit}'[exit on command output change]' \ - '(-n --interval)'{-n+,--interval=}'[specify update interval]:update interval (seconds) [2]' \ - '(-p --precise)'{-p,--precise}'[run command at precise intervals]' \ - '(-t --no-title)'{-t,--no-title}'[disable header]' \ - '(-x --exec)'{-x,--exec}'[pass command to exec(2) instead of `sh -c`]' \ - '(-)*::: :->cmd' \ - && ret=0 - - [[ $state == cmd ]] && - if - (( CURRENT == 1 )) && - [[ $words[1] == (\"|\'|\$\')* ]] && - [[ -z $opt_args[(i)(-x|--exec)] ]] - then - _cmdstring && ret=0 - else - _normal && ret=0 - fi - ;; - # watch(1) has completely different semantics on freebsd compared to linux, hence: - (freebsd*|dragonfly*) _watch-snoop "$@" && ret=0 ;; - (*) _default && ret=0 ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch-snoop b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch-snoop deleted file mode 100644 index 1a4af07c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_watch-snoop +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -# watch [-cinotW] [-f snpdev] [tty] - -_arguments -w -S -s : \ - "-c[reconnect on close]" \ - "-f:snp(4) device: " \ - "-i[force interactive mode even when stdout is not a tty]" \ - "-n[disable the ability to switch the watched tty interactively]" \ - "-o[reconnect on overflow]" \ - "-t[print date and time at start]" \ - "-W[allow write access to observed tty]" \ - "(-): : _ttys -Do" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wc deleted file mode 100644 index 49a03ba2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wc +++ /dev/null @@ -1,26 +0,0 @@ -#compdef wc gwc - -local args - -args=( - '(-c --bytes)'{-c,--bytes}'[print byte counts]' - '(-C -m --chars)'{-m,--chars}'[print character counts]' - '(-w --words)'{-w,--words}'[print word counts]' - '(-l --lines)'{-l,--lines}'[print line counts]' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(*)--files0-from=[read NUL-terminated file list from specified file]:file:_files' - '(-L --max-line-length)'{-L,--max-line-length}'[print longest line lengths]' - ) -else - args=( -A "-*" "${(@)args:#(|\(*\))(|\*)--*}" ) - case $OSTYPE in - freebsd*|netbsd*) args+=( '-L[print longest line lengths]' ) ;; - openbsd*) args+=( '-h[human readable: use unit suffixes]' ) ;; - solaris*) args+=( ${${(M)args:#*-m\[*}//-m\[/-C\[} ) ;; - esac -fi - -_arguments -s -S $args '*:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_webbrowser b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_webbrowser deleted file mode 100644 index e4f5fe09..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_webbrowser +++ /dev/null @@ -1,3 +0,0 @@ -#compdef amaya arena chimera dillo dwb express galeon grail gzilla hotjava konqueror light mmm Mosaic netrik opera opera-next retawq skipstone www xmosaic zen - -_alternative 'files: :_files' 'urls: :_urls' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wget deleted file mode 100644 index 50fd7791..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wget +++ /dev/null @@ -1,222 +0,0 @@ -#compdef wget - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C -s \ - '(- *)'{--version,-V}'[display version info]' \ - '(- *)'{--help,-h}'[display help]' \ - '(--background -b)'{--background,-b}'[run in background]' \ - '(--execute -e)'{--execute=,-e+}'[execute .wgetrc command]:.wgetrc command' \ - '(--output-file -o --append-output -a)'{--output-file=,-o+}'[specify output logfile]:log file to output:_files' \ - '(--append-output -a --output-file -o)'{--append-output=,-a+}'[specify output logfile to append to]:log file to append:_files' \ - '(--debug -d)'{--debug,-d}'[turn on debug output]' \ - '(--quiet -q --verbose -v --no-verbose -nv)'{--quiet,-q}'[turn off output]' \ - '(--quiet -q --verbose -v --no-verbose -nv)'{--verbose,-v}'[turn on verbose output]' \ - '*-n+[turn off flags]:flags:->noflags' \ - '--report-speed=:type:(bits)' \ - '(--input-file -i)'{--input-file=,-i+}'[specify input file]:file containing URLs:_files' \ - '--input-metalink=[download files covered in local Metalink file]:file:_files' \ - '(--force-html -F)'{--force-html,-F}'[treat input file as html]' \ - '(--base -B)'{--base=,-B+}'[prepend URL to relative links]:base URL:_urls' \ - '--config=[specify config file]:config file:_files' \ - '(--config)--no-config' '--rejected-log=:file:_files' \ - '(--tries -t)'{--tries=,-t+}'[set number of retries]:number of retries' \ - '--retry-connrefused[retry even if connection is refused]' \ - '--retry-on-http-error=[specify list of HTTP errors to retry]:http error' \ - '(--output-document -O)'{--output-document=,-O+}'[specify file to write documents to]:output file:_files' \ - '(--continue -c)'{--continue,-c}'[continue getting an existing file]' \ - '--start-pos=:offset' '--show-progress' \ - '--progress=[set progress gauge type]:gauge type:->gauge' \ - '(--timestamping -N)'{--timestamping,-N}'[retrieve only files newer than existing]' \ - '--no-if-modified-since' \ - "--no-use-server-timestamps[don't set the local file's timestamp by the one on the server]" \ - '(--server-response -S)'{--server-response,-S}'[print server response]' \ - "--spider[don't download anything]" \ - '(--timeout -T)'{--timeout=,-T+}'[set all timeout values]:timeout (seconds)' \ - '--dns-servers=[specify DNS servers to query]:DNS server:_sequence _hosts' \ - '--bind-dns-address=[bind DNS resolver to specified address]:hostname or IP on local host' \ - '(--timeout -T)--dns-timeout=[set the DNS lookup timeout]:DNS lookup timeout (seconds)' \ - '(--timeout -T)--connect-timeout=[set the connect timeout]:connect timeout (seconds)' \ - '(--timeout -T)--read-timeout=[set the read timeout]:read timeout (seconds)' \ - '(--wait -w)'{--wait=,-w+}'[specify wait between retrievals]:time (seconds)' \ - '(--random-wait)--waitretry=:time (seconds)' \ - '(--waitretry)--random-wait[random wait time between retrievals]' \ - '--no-proxy[explicitly turn off proxy]' \ - '(--quota -Q)'{--quota=,-Q+}'[set retrieval quota]:number' \ - '--bind-address=[specify address to bind to (hostname or IP)]:bind address:_bind_addresses' \ - '--limit-rate=[specify limit to download rate]:download rate limit' \ - '--no-dns-cache[disable caching DNS lookups]' \ - '--restrict-file-names=[restrict chars in file names to ones OS allows]:OS:->restrict' \ - '--ignore-case[ignore case when matching files/directories]' \ - '(-4 --inet4-only -6 --inet6-only)'{-4,--inet4-only}'[connect only to IPv4 addresses]' \ - '(-4 --inet4-only -6 --inet6-only)'{-6,--inet6-only}'[connect only to IPv6 addresses]' \ - '--prefer-family=[connect first to addresses of specified family]:address family:(IPv6 IPv4 none)' \ - '(--http-user --ftp-user)--user[set both ftp and http user]:user' \ - '(--http-password --ftp-password)--password[set both ftp and http password]:password' \ - '(--password --http-password --ftp-password)--ask-password:[prompt for passwords]' \ - '--use-askpass=:command:_command_names -e' \ - '--no-iri[turn off IRI support]' \ - '--local-encoding=[specify local encoding for IRIs]:encoding' \ - '--remote-encoding=[specify default remote encoding]:encoding' \ - '--unlink[remove file before clobber]' \ - '--keep-badhash[Keep files with checksum mismatch (append .badhash)]' \ - '--metalink-index=[metalink application/metalink4+xml metaurl ordinal]:number' \ - '--metalink-over-http[use Metalink metadata from HTTP response headers]' \ - '--preferred-location[preferred location for Metalink resources]' \ - '--xattr[turn on storage of metadata in extended file attributes]' \ - '(-nd --no-directories)'{-nd,--no-directories}"[don't create directories]" \ - '(--force-directories -x)'{--force-directories,-x}'[force creation of directories]' \ - '(-nH --no-host-directories)'{-nH,--no-host-directories}"[don't create host directories]" \ - '--protocol-directories[use protocol name in directories]' \ - '(--directory-prefix -P)'{--directory-prefix=,-P+}'[specify prefix to save files to]:prefix:_files -/' \ - '--cut-dirs=:number:' \ - '(--user)--http-user=:user' \ - '(--password --ask-password)--http-password=:password' \ - '--no-cache[disallow server-cached data]' \ - '--default-page=[specify default page name, normally index.html]:default page [index.html]' \ - '(--adjust-extension -E)'{--adjust-extension,-E}'[save all HTML/CSS documents with proper extensions]' \ - "--ignore-length[ignore \`Content-Length' header field]" \ - '*--header=[send a custom HTTP header]:header:->header' \ - '--compression=:compression:(auto gzip none)' \ - '--max-redirect=:number' \ - '--proxy-user=:user' \ - '--proxy-password=:password' \ - '--referer=:URL:_urls' \ - '--save-headers[save http headers]' \ - '(--user-agent -U)'{--user-agent=,-U+}'[specify user agent to identify as]:user-agent' \ - '--no-http-keep-alive[disable HTTP keep-alive]' \ - '--no-cookies[turn cookies off]' \ - '--load-cookies=[specify file to load cookies from]:cookie file:_files' \ - '--save-cookies=[specify file to save cookies to]:cookie file:_files' \ - '--keep-session-cookies[load and save session cookies]' \ - '--post-data=[use the POST method with specified data]:data to send' \ - '--post-file=[use the POST method; sending contents of a file]:file:_files' \ - '--method=[use specified HTTP method]:method:(GET POST HEAD DELETE)' \ - '(--body-file)--body-data=[send string as data]:string' \ - '(--body-data)--body-file=[send contents of file]:file:_files' \ - '--content-disposition[honor the Content-Disposition header when choosing local file names]' \ - '--content-on-error[output received content on server errors]' \ - "--auth-no-challenge[send basic HTTP authentication without first waiting for server's challenge]" \ - '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2 PFS)' \ - --https-only \ - "--no-check-certificate[don't check the server certificate]" \ - '--certificate=[specify client certificate]:client certificate file:_files' \ - '--certificate-type=[specify client certificate type]:certificate type:(PEM DER)' \ - '--private-key=[specify private key file]:key file:_files' \ - '--private-key-type=[specify private key type]:key type:key type:(PEM DER)' \ - "--ca-certificate=[specify file with bundle of CA's]:file:_files" \ - "--ca-directory=[specify dir where hash list of CA's are stored]:directory:_directories" \ - '--crl-file=[specify file with bundle of CRLs]:file:_files' \ - '--pinnedpubkey=:file:_files' \ - '--random-file[specify file with random data for seeding generator]:file:_files' \ - '--egd-file=[specify filename of EGD socket]:file:_files' \ - '--ciphers=[set the priority string (GnuTLS) or cipher list string (OpenSSL) directly]:string' \ - '--no-hsts[disable HSTS]' \ - '--hsts-file[specify path of HSTS database]:file:_files' \ - '(--user)--ftp-user=:user' \ - '(--password --ask-password)--ftp-password=:password' \ - "--no-remove-listing[don't remove \`.listing' files]" \ - '--no-glob[turn off FTP file name globbing]' \ - '--no-passive-ftp' \ - '--preserve-permissions[preserve remote file permissions with ftp]' \ - --retr-symlinks --ftps-implicit --ftps-resume-ssl \ - --ftps-clear-data-connection --ftps-fallback-to-ftp \ - '--warc-file=:file:_files' --warc-header=:string --warc-max-size=:number \ - --warc-cdx --warc-dedup=:file:_files --no-warc-compression --no-warc-digests \ - --no-warc-keep-log --warc-tempdir=:directory:_directories \ - '(--recursive -r)'{--recursive,-r}'[recurse subdirectories]' \ - '(--level -l)'{--level=,-l+}'[specify maximum recursion depth]:level' \ - '--delete-after' \ - '(--convert-links -k)'{--convert-links,-k}'[convert links to be relative]' \ - --convert-file-only \ - '--backups=:max backups' \ - '(--backup-converted -K)'{--backup-converted,-K}'[backup files before conversion]' \ - '(--mirror -m -r -N -l)'{--mirror,-m}'[mirror (-r -N -l inf --no-remove-listing)]' \ - '(--page-requisites -p)'{--page-requisites,-p}'[get all images needed to display page]' \ - '--strict-comments[turn on strict (SGML) handling of HTML comments]' \ - '(--accept -A)'{--accept=,-A+}'[specify accepted extensions]:extensions' \ - '(--reject -R)'{--reject=,-R+}'[specify rejected extensions]:extensions' \ - --{accept,reject}-regex=:regex '--regex-type=:regex type:(posix pcre)' \ - '(--domains -D)'{--domains=,-D+}'[specify accepted domains]:domains:_domains' \ - '--exclude-domains=:rejected domain:_sequence _domains' \ - '--follow-ftp' \ - '--follow-tags=:HTML tags:' \ - '--ignore-tags=[specify ignored HTML tags]:HTML tags' \ - '(--span-hosts -H)'{--span-hosts,-H}'[span hosts]' \ - '(--relative -L)'{--relative,-L}'[follow relative links only]' \ - '(--include-directories -I)'{--include-directories=,-I+}'[include directories]:allowed directories' \ - '--trust-server-names' \ - '(--exclude-directories -X)'{--exclude-directories=,-X+}'[exclude directories]:excluded directories' \ - '(-np --no-parent)'{-np,--no-parent}"[don't ascend to parent directory]" \ - '--no-verbose' \ - '--no-clobber' \ - '--no-netrc' \ - '--no-use-server-timestamps[do not set timestamp to server provided value]' \ - '--htmlify=:htmlify:' \ - '--no:no:->noflags' \ - '*:URL:_urls' && return 0 - -case "$state" in - gauge) - _values -S : 'progress gauge type' \ - 'dot:style:(default binary mega giga micro)' \ - 'bar:force:(force)' - ;; - noflags) - _values -s '' 'option' \ - 'v[non verbose]' \ - 'H[no host directories]' \ - 'd[no directories]' \ - 'c[no clobber]' \ - 'p[no parent]' - ;; - restrict) - _values -s , 'filename char restriction' \ - '(windows)unix' \ - '(unix)windows' \ - '(unix windows)nocontrol' \ - ascii \ - '(uppercase)lowercase' \ - '(lowercase)uppercase' - ;; - header) - local -a headers - local suf=': ' - compquote suf - headers=( - Accept{,-{Charset,Encoding,Language,Datetime}} - Authorization - Cache-Control - Connection - Cookie - Content-{Length,MD5,Type} - Date - Expect - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Max-Forwards - Pragma - Proxy-Authorization - Range - Referer - TE - Upgrade - User-Agent - Via - Warning - X-Requested-With - X-Do-Not-Track - DNT - X-Forwarded-For - X-ATT-DeviceId - X-Wap-Profile - ) - _wanted headers expl 'HTTP header' compadd -S $suf -a headers - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whereis b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whereis deleted file mode 100644 index 6f11b516..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whereis +++ /dev/null @@ -1,3 +0,0 @@ -#compdef whereis - -_command_names -e diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_which b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_which deleted file mode 100644 index 9b789c86..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_which +++ /dev/null @@ -1,41 +0,0 @@ -#compdef which whence where type - -local farg aarg xarg cargs args state line curcontext="$curcontext" ret=1 - -cargs=( \ - '(-v -c)-w[print command type]' \ - '-p[always do a path search]' \ - '-m[treat the arguments as patterns]' \ - '(-S)-s[print symlink free path as well]' \ - '(-s)-S[show steps in the resolution of symlinks]' \ - '*:commands:->command' ) -farg='-f[output contents of functions]' -aarg='-a[print all occurrences in path]' -xarg='-x+[specify spaces to use for indentation in function expansion]:spaces' - -case ${service} in - whence) - _arguments -C -s -A "-*" -S \ - '(-c -w)-v[verbose output]' \ - '(-v -w)-c[csh-like output]' \ - "${cargs[@]}" "$farg" "$aarg" && ret=0 - ;; - where) _arguments -C -s -A "-*" -S "${cargs[@]}" "$xarg" && ret=0;; - which) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$xarg" && ret=0;; - type) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$farg" && ret=0;; -esac - -if [[ "$state" = command ]]; then - - args=( "$@" ) - - _alternative -O args \ - 'commands:external command:_path_commands' \ - 'builtins:builtin command:compadd -k builtins' \ - 'functions:shell function:compadd -k functions' \ - 'aliases:alias:compadd -k aliases' \ - 'reserved-words:reserved word:compadd -k reswords' && ret=0 - -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_who b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_who deleted file mode 100644 index 1f901af1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_who +++ /dev/null @@ -1,64 +0,0 @@ -#compdef who gwho - -local args variant - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( - '(Q -a --all -b --boot -d --dead -l --login -p --process -q --count -r --runlevel -t --time -T -w --mesg --message --writable -u --users)'{-a,--all}'[same as -b -d --login -p -r -t -T -u]' - '(Q -b --boot)'{-b,--boot}'[print time of last system boot]' - '(Q -d --dead -a --all)'{-d,--dead}'[print dead processes]' - '(Q -H --heading)'{-H,--heading}'[print line of column headings]' - '(Q -l --login)'{-l,--login}'[print system login processes]' - '(Q)--lookup[canonicalize hostnames via DNS]' - '(Q)-m[print information about current terminal]' - '(Q -p --process)'{-p,--process}'[print active processes spawned by init]' - '(Q -r --runlevel)'{-r,--runlevel}'[print current runlevel]' - '(Q -t --time)'{-t,--time}'[print last system clock change]' - '(Q -T -w --mesg --message --writable)'{-T,-w,--mesg,--message,--writable}"[show user's message acceptance status as +, - or ?]" - '(Q -u --users)'{-u,--users}'[show idle time]' - '!(Q -a)-s' '!(Q -a)--short' - + Q - '(-)'{-q,--count}'[print only login names and number of users logged on]' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - ;; - darwin*|dragonfly*|netbsd*|solaris*) - args=( - '(Q -a)-d[print dead processes]' - '(Q -a)-l[print system login processes]' - '(Q -a)-p[print active processes spawned by init]' - '(Q -a)-r[print current runlevel]' - '(Q -a)-t[print last system clock change]' - ) - ;| - dragonfly*|netbsd*) - args+=( '(Q)-v[show process exit status, session id etc]' ) - ;| - (net|free)bsd*|darwin*|dragonfly*|solaris*) - args+=( - '(Q -b -d -p -r -T -u)-a[print all entries]' - '(Q -a)-b[print time of last system boot]' - '!(Q -a)-s' - ) - ;| - *) - args+=( - '(Q)-H[print line of column headings]' - '(Q)-m[print information about current terminal]' - "(Q -a)-T[show user's message acceptance status as +, - or ?]" - '(Q -a)-u[show idle time]' - + Q '(-a -b -d -H -l -m -p -r -s -t -T -v)-q[print only login names and number of users logged on]' - ) - ;| - solaris*) - args+=( - '(-a -b -d -H -l -m -p -r -s -t -T)-n+[specify number of users to list per line]:number' - ) - ;; -esac - -_arguments -s -S ':file:_files' $args diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whois b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whois deleted file mode 100644 index a8180f60..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_whois +++ /dev/null @@ -1,225 +0,0 @@ -#compdef whois fwhois - -_whois () { - local _whois_comp - _whois_setup - case "$0" in - fwhois) _whois_fwhois;; - *) $_whois_comp;; - esac -} - -(( $+functions[_whois_setup] )) || -_whois_setup () { - (( $+_whois_defaultserver )) || - _whois_defaultserver='whois.internic.net' - - (( $+_whois_servers )) || { - typeset -gUa _whois_servers - _whois_servers=( - $_whois_defaultserver - domain-registry.nl - is.nic.pw - whois.apnic.net:p - whois.arin.net:a - whois.aunic.net - whois.berkeley.edu - whois.cdnnet.ca - whois.dns.pt - whois.funet.fi - whois.gb.com - whois.gb.net - whois.internic.net - whois.jpl.nasa.gov - whois.nic-se.se - whois.nic.ad.jp - whois.nic.af - whois.nic.as - whois.nic.br - whois.nic.bt - whois.nic.ch - whois.nic.cx - whois.nic.fr - whois.nic.gov:g - whois.nic.hm - whois.nic.it - whois.nic.li - whois.nic.lk - whois.nic.mil:d - whois.nic.mx - whois.nic.nu - whois.nic.or.kr - whois.nic.sh - whois.nic.tj - whois.nic.tm - whois.nic.uk - whois.ripe.net:r - whois.ripn.net:R - whois.sics.se - whois.stanford.edu - whois.uk.com - www.nic.at - $(functions -m '_whois:*' | - awk '/^undefined _whois:/ {print substr($2,8,length($2)-7)} - /^_whois:/ {print substr($1,8,length($1)-7)}') - ) - } - - (( $+_whois_arguments )) || { - local help="$(whois </dev/null 2>&1)" - local tmp opt opts - local hostopt=-h+ - - if [[ $help = *"user[@<whois.server>]"* ]]; then - _whois_comp=_whois_fwhois - elif [[ $help = *(name\ ...|OBJECT...)* ]]; then - _whois_comp=_whois_multi - else - _whois_comp=_whois_single - hostopt=-h - fi - - _whois_arguments=() - - if [[ $help = *"-p PORT"* ]]; then - _whois_arguments=("$_whois_arguments[@]" - '-p[port]:port:_whois_ports' - ) - fi - - tmp="${(j::)${(@)${(@M)_whois_servers:#*:?}##*:}}" - if [[ $help = (#b)*\[-([$tmp]##)\]* ]]; then - tmp=(${(s::)match[1]}) - else - tmp=() - fi - - if [[ $help = *"-h host"* ]]; then - tmp=($tmp h) - fi - - for opt in $tmp; do - opts=(-${^tmp:#$opt}) - if (( $#opts )); then opts="($opts)"; else opts=; fi - if [[ $opt = h ]]; then - _whois_arguments=("$_whois_arguments[@]" - "${opts}${hostopt}:host:_whois_hosts") - else - _whois_arguments=("$_whois_arguments[@]" - "${opts}-${opt}[${${(@M)_whois_servers:#*:$opt}%:?}]") - fi - done - } -} - -_whois_single () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local tmp host - - _arguments -C \ - "$_whois_arguments[@]" \ - ':identifier:->identifier' && return 0 - - case "$state" in - identifier) - if [[ -z "$QIPREFIX" && -z "$PREFIX" ]]; then - compadd -QS '' \' - return - fi - compset -q - host="${opt_args[-h]:-$_whois_defaultserver}" - for tmp in $_whois_servers; do - if [[ $tmp = *:? && $+opt_args[-${tmp##*:}] -ne 0 ]]; then - host="${tmp%:?}" - break - fi - done - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$expl[@]" - else - _message -e identifiers "identifier" - fi - ;; - esac -} - -_whois_multi () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local tmp host - - _arguments -C \ - "$_whois_arguments[@]" \ - '*::identifier:->identifier' && return 0 - - case "$state" in - identifier) - host="${opt_args[-h]:-$_whois_defaultserver}" - for tmp in $_whois_servers; do - if [[ $tmp = *:? && $+opt_args[-${tmp##*:}] -ne 0 ]]; then - host="${tmp%:?}" - break - fi - done - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$expl[@]" - else - _message -e identifiers "identifier" - fi - ;; - esac -} - -_whois_fwhois () { - if compset -P '*@'; then - _whois_hosts "$@" - else - if [[ -z "$QIPREFIX" && -z "$PREFIX" ]]; then - compadd -QS '' \' - return - fi - compset -q - host="$_whois_defaultserver" - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$@" - else - _message -e identifiers "identifier" - fi - fi -} - -_whois_hosts () { - _tags hosts && - compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' \ - - ${_whois_servers%:?} || _hosts "$@" -} - -_whois_ports () { - _tags ports && compadd "$@" - whois || _ports "$@" -} - -(( $+functions[_whois:whois.internic.net] )) || -_whois:whois.internic.net () { - if (( CURRENT == 1 )); then - local expl - - _wanted strings expl string compadd HELP DOMAIN HOST - else - _message -e strings 'string' - fi -} - -(( $+functions[_whois:whois.nic.ad.jp] )) || -_whois:whois.nic.ad.jp () { - if (( CURRENT == 1 )); then - local expl - - _wanted strings expl string compadd HELP DOM NET HOST PERSON CONN COM - else - _message -e strings 'string' - fi -} - -_whois "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_widgets b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_widgets deleted file mode 100644 index fdab2814..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_widgets +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl pattern - -pattern=( -g \* ) -zparseopts -D -K -E g:=pattern - -_description widgets expl widget -compadd "$@" "$expl[@]" -M 'r:|-=* r:|=*' - "${(@k)widgets[(R)${pattern[2]}]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wiggle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wiggle deleted file mode 100644 index 1d747a47..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wiggle +++ /dev/null @@ -1,25 +0,0 @@ -#compdef wiggle - -local fns='-m --merge -d --diff -x --extract -B --browse' - -_arguments \ - "($fns -1 -2 -3)"{-m,--merge}'[select the merge function]' \ - "($fns -3 3)"{-d,--diff}'[display differences between files]' \ - "($fns 2 3)"{-x,--extract}'[extract one branch of a patch or merge file]' \ - '(-w --words -l --lines)'{-w,--words}'[make operations and display word based]' \ - '(-l --lines -w --words --non-space)'{-l,--lines}'[make operations and display line based]' \ - '(-l --lines)--non-space[words are separated by spaces]' \ - '(-p --patch)'{-p,--patch}'[treat last named file as a patch]' \ - '(-r --replace)'{-r,--replace}'[replace original file with merged output]' \ - '--no-backup[never save original file (as name.porig)]' \ - '(-R --reverse -x --extract)'{-R,--reverse}'[swap the files or revert changes]' \ - '(-2 -3 -m --merge)-1[select branch]' \ - '(-1 -3 -m --merge)-2[select branch]' \ - '(-1 -2 -m --merge)-3[select branch]' \ - '(1 2 3 -)'{-h,--help}'[display help information]' \ - '(1 2 3 -)'{-V,--version}'[display version information]' \ - '(-v --verbose -q --quiet)'{-v,--verbose}'[enable verbose output]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[enable quiet output]' \ - '1:file:_files' \ - '2:file:_files' \ - '3:file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wipefs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wipefs deleted file mode 100644 index 8642aab9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wipefs +++ /dev/null @@ -1,26 +0,0 @@ -#compdef wipefs - -_arguments -s -S \ - '(H -a --all)'{-a,--all}'[wipe all magic strings]' \ - '(H -b --backup)'{-b,--backup}'[create a signature backup in $HOME]' \ - '(H -f --force)'{-f,--force}'[force erasure]' \ - '(H -i --no-headings -J --json -p --parsable)'{-i,--no-headings}"[don't print headings]" \ - '(H -J --json -i --no-headings -p --parsable)'{-J,--json}'[use JSON output format]' \ - '(H -n --no-act)'{-n,--no-act}'[do everything except the actual write() call]' \ - '(H -o --offset)'{-o+,--offset=}'[specify offset to erase]:offset (bytes)' \ - '(H -O --output)'{-O+,--output=}'[specify columns to display]: : _values -s, "column" - "uuid[partition/filesystem UUID]" - "label[filesystem label]" - "length[magic string length]" - "type[superblock type]" - "offset[magic string offset]" - "usage[type description]" - "device[block device name]"' \ - '(H -p --parsable -i --no-headings -J --json)'{-p,--parsable}'[print out in parsable instead of printable format]' \ - '(H -q --quiet)'{-q,--quiet}'[suppress output messages]' \ - '(H -t --types)'{-t+,--types=}'[limit the set of filesystem, RAIDs or partition tables]:type:_file_systems' \ - '(H)--lock=-[use exclusive device lock]::mode:(yes no nonblock)' \ - '(H)*:disk device:_files -g "*(-%)" -P / -W /' \ - + '(H)' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[display version information]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wpa_cli b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wpa_cli deleted file mode 100644 index e1342ca8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_wpa_cli +++ /dev/null @@ -1,13 +0,0 @@ -#compdef wpa_cli - -_arguments \ - '-p:path to ctrl sockets:_files -g "*(=)"' \ - '-i:ifname:_net_interfaces' \ - '-h[help]' \ - '-v[shown version information]' \ - '-B[run a daemon in the background]' \ - '-a[run in daemon mode]:action file:_files' \ - '-P:pid file:_files' \ - '-g:global ctrl:_files -g "*(=)"' \ - '-G:ping interval:' \ - ':command:(status ping mib help interface level license quit set logon logoff pmksa reassociate preauthenticate identity password new_password pin otp passphrase bssid list_networks select_network enable_network disable_network add_network remove_network set_network get_network save_config disconnect reconnect scan scan_results bss get_capability reconfigure terminate interface_add interface_remove interface_list ap_scan stkstart ft_ds wps_pbc wps_pin wps_reg)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_arguments deleted file mode 100644 index 25eaf12a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_arguments +++ /dev/null @@ -1,35 +0,0 @@ -#compdef -P */X11(|R<4->)/* - -local ret long xargs opts rawret nm="$compstate[nmatches]" - -xargs=( - '-display:display:_x_display' - '-geometry:geometry:_x_geometry' -) - -(( $# )) || xargs=( "$xargs[@]" '*:default: _default' ) - -long=$argv[(I)--] -if (( long )); then - argv[long]=( "$xargs[@]" -- ) -else - set -- "$@" "$xargs[@]" -fi - -opts=() -while [[ $1 = -(O*|[CRWsw]) ]]; do - opts=($opts $1) - [[ $1 = -R ]] && rawret=yes - shift -done - -_arguments -R "$opts[@]" "$@" - -ret=$? - -if [[ "$ret" = 300 ]]; then - compstate[restore]='' - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_borderwidth b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_borderwidth deleted file mode 100644 index 9e20f025..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_borderwidth +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e values 'border width' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_color b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_color deleted file mode 100644 index 845a3568..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_color +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This tries to automatically find the rgb.txt color database. If this -# in an unusual place on your system or you want a personal database, -# you can use the configuration key: -# -# colors_path -# Path to a file containing the names of colors you want to -# complete. In the form of a X11 rgb.txt file. - -local expl - -if (( ! $+_cache_x_colors )); then - typeset -ga _cache_x_colors - local file - - # Cache of color names doesn't exist yet, create it. - - zstyle -s ":completion:${curcontext}:colors" path file - if [[ -n "$file" ]]; then - _cache_x_colors=( "${(@)${(@f)$(< $file)}[2,-1]##* }" ) - elif (( $+commands[showrgb] )); then - _cache_x_colors=( "${(@)${(@)${(@f)$(_call_program colors showrgb)}[2,-1]##* }:#* *}" ) - else - file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt(N) ) - - (( $#file )) && - _cache_x_colors=( "${(@)${(@)${(@f)$(< $file[1])}[2,-1]##* }:#* *}" ) - fi - - # Stupid default value. - - (( $#_cache_x_colors )) || _cache_x_colors=(white black gray red blue green) -fi - -_wanted colors expl 'color specification' compadd "$@" -M \ - 'm:{a-z}={A-Z} m:-=\ r:[^ A-Z0-9]||[ A-Z0-9]=* r:|=*' -a - _cache_x_colors diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_colormapid b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_colormapid deleted file mode 100644 index 61b0a72f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_colormapid +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -local expl list desc - -_tags colormapids || return 1 - -list=(${(f)"$(xprop -root -f RGB_COLOR_MAP 32xcccccccxx ': $0\n'|awk -F'[ ():]' '/^[a-zA-Z_]+\(RGB_COLOR_MAP\)/ {print $5, "--", $1}')"}) - -if zstyle -T ":completion:${curcontext}:colormap-id" verbose; then - desc=(-ld list) -else - desc=() -fi - -_wanted colormapids expl 'colormap id' \ - compadd "$@" "$desc[@]" - "${(@)list%% *}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_cursor b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_cursor deleted file mode 100644 index 466aea0c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_cursor +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -local expl - -if (( ! $+_cursor_cache )); then - local file - - file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/cursorfont.h(N) ) - - if (( $#file )); then - _cursor_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#*XC_*}[2,-1]#* XC_}% *}" ) - else - _cursor_cache=( X_cursor ) - fi -fi - -_wanted cursors expl 'cursor name' \ - compadd "$@" -M 'm:-=_ r:|_=*' -a - _cursor_cache diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_display b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_display deleted file mode 100644 index c093ac94..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_display +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -value-,DISPLAY,-default- - -_tags displays && _hosts -S ':0 ' -r : diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_extension b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_extension deleted file mode 100644 index 4e410a82..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_extension +++ /dev/null @@ -1,19 +0,0 @@ -#autoload - -local expl - -_tags extensions || return 1 - -(( $+_xe_cache )) || _xe_cache=( "${(@)${(@f)$(xdpyinfo)}[(r)number of extensions:*,-1][2,(r)default screen number:*][1,-2]//[ ]}" ) - -if [[ "$1" = -a ]]; then - shift - - _wanted extensions expl 'X extension' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]" -else - [[ "$1" = - ]] && shift - - _wanted extensions expl 'X extension' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _xe_cache -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_font b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_font deleted file mode 100644 index 1202d821..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_font +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -local expl - -_tags fonts || return 1 - -# This *has* to be improved some day... - -if (( ! $+_font_cache )); then - typeset -gU _font_cache - - _font_cache=( ${(f)"$(_call_program fonts xlsfonts)"} ) -fi - -_wanted fonts expl font \ - compadd -M 'r:|-=* r:|=*' "$@" -a - _font_cache diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_geometry b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_geometry deleted file mode 100644 index 32ea9cb1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_geometry +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e geometries 'geometry' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_keysym b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_keysym deleted file mode 100644 index 84212e71..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_keysym +++ /dev/null @@ -1,22 +0,0 @@ -#autoload - -local expl - -_tags keysyms || return 1 - -if (( ! $+_keysym_cache )); then - local file - - file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/keysymdef.h(N) ) - - if (( $#file )); then - _keysym_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#\#define[ ]##XK_*}#\#define[ ]##XK_}%%[ ]*}" ) - else - _keysym_cache=( BackSpace Tab Linefeed Clear Return Pause Escape - Delete Left Right Up Down Space Home Begin End - F{1,2,3,4,5,6,7,8,9,10,11,12} ) - fi -fi - -_wanted keysyms expl 'key symbol' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _keysym_cache diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_locale b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_locale deleted file mode 100644 index be8eded8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_locale +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e locales 'locale' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_modifier b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_modifier deleted file mode 100644 index 490d12ef..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_modifier +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl - -_wanted modifiers expl modifier \ - compadd "$@" -M 'm:{a-z}={A-Z}' - \ - Shift Lock Control Mod1 Mod2 Mod3 Mod4 Mod5 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_name b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_name deleted file mode 100644 index 58626fde..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_name +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e names 'name' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_resource b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_resource deleted file mode 100644 index 0aa3ae9a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_resource +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e resources 'resource' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_selection_timeout b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_selection_timeout deleted file mode 100644 index 6430b301..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_selection_timeout +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e values 'selection timeout' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_title b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_title deleted file mode 100644 index fd73db68..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_title +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e titles 'title' -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_utils b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_utils deleted file mode 100644 index 4b98ec48..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_utils +++ /dev/null @@ -1,210 +0,0 @@ -#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb xprop xlsatoms xlsclients - -local curcontext="$curcontext" state state_descr line expl ret=1 - -case "$service" in -xdpyinfo) - _x_arguments \ - -queryExtensions \ - '-ext:extension: _x_extension -a' \ - -version - ;; -xwininfo) - _x_arguments \ - -{help,int,children,tree,stats,bits,events,size,wm,shape,frame,all,english,metric} \ - '(-id -name)-root' \ - '(-id -root)-name:name: _x_window -n' \ - '(-name -root)-id:id: _x_window' - ;; -xprop) - _x_arguments -C \ - -{help,frame,notype,spy} \ - '-grammar[show grammar for command line options]' \ - '(-id -name)-root[use the root window as the target window]' \ - '(-id -root)-name[specify target window by name]:name: _x_window -n' \ - '(-name -root)-id[specify target window by window id]:id: _x_window' \ - '-font[display the properties of a font]:font: _x_font' \ - '-len[show at most n bytes of any property]:n' \ - '*-fs[read more property formats from file]:file: _files' \ - '*-remove[specify an atom to remove from the target window]:property atom:->atoms' \ - '*-set[specify an atom and a value to set on the target window]:property atom:->atoms:value' \ - '*-f:property atom:->atoms:format: ::dformat' \ - '*:property atoms:->atoms' - ;; -xlsatoms) - _x_arguments -C \ - '*-format[printf-style format to use]:format' \ - '*-range[atom values to list]:[num]-[num]' \ - '*-name[name of single atom to print]:atom:->atoms' - ;; -xlsclients) - _x_arguments -C \ - '-a[list all clients on all screens]' \ - '-l[long format adding window/icon names and class hints]' \ - '-m[maximum characters of command to include]:characters' - ;; -xkill) - _x_arguments \ - -version \ - -frame \ - '(-id)-all' \ - '(-all)-id:window: _x_window' \ - '-button:selection button:(any 1 2 3 4 5)' - ;; -xfontsel) - _xt_arguments \ - -{print,scaled} \ - '-pattern:font pattern:_x_font' \ - '-sample:sample text' \ - '-sample16:16-bit sample text' \ - '-sampleUCS:ISO10646 sample text' - ;; -xfd) - _xt_arguments \ - '-fn:font: _x_font' \ - '-fa:font: _xft_fonts' \ - -{box,center} \ - '-start:first character number' \ - '-bc:box border color:_x_color' \ - '-rows:number of rows' \ - '-columns:number of columns' - ;; -xev) - _x_arguments \ - '-bw:border width' \ - '-bs:type of backing store:(NotUseful WhenMapped Always)' \ - '-id:id:_x_window' \ - '-s[use save-under]' \ - '-name:window name' \ - '-rv' \ - '*-event:event mask:(keyboard mouse expose visibility structure substructure focus property colormap owner_grab_button randr)' - ;; -xhost) - local type tmp match - - if [[ -z $PREFIX ]]; then - _describe prefixes '(-:disallow +:allow)' -S '' -r '' - fi - - if compset -P '-'; then - tmp=(${(f)"$(xhost)"}) - shift tmp - tmp=(${tmp:#LOCAL:|<*>}) - if [[ "$tmp" = *:* ]]; then - if compset -P 1 '(#b)(*):'; then - type="$match[1]" - _tags displays - while _tags; do - while _next_label displays expl 'disallow access'; do - { compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' - \ - ${${(M)tmp:#(#i)$type:*}#(#i)$type:} || - _hosts "$expl[@]" } && ret=0 - done - (( ret )) || return 0 - done - else - _alternative \ - 'types:name family:compadd -S: ${(L)tmp%%:*}' \ - 'hosts:host:compadd ${(@)tmp#*:}' && ret=0 - fi - else - _tags displays - while _tags; do - while _next_label displays expl 'disallow access'; do - { compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' -a tmp || - _hosts "$expl[@]" } && ret=0 - done - (( ret )) || return 0 - done - fi - else - compset -P + - - if [[ "$PREFIX" = *:* ]]; then - type="${(L)PREFIX%%:*}" - compset -P 1 '*:' - - case "$type" in - inet) _hosts && ret=0;; - dnet) _message -e decnet-hosts 'DECnet host';; - nis) _message -e network-names 'Secure RPC network name';; - krb) _message -e principals 'Kerberos V5 principal';; - esac - else - _alternative \ - 'types:name family:compadd -S: - inet dnet nis krb' \ - 'hosts:: _hosts' && ret=0 - fi - fi - return ret - ;; -xon) - _arguments \ - -{access,debug,nols} \ - '-name:window name' \ - '-screen:screen number' \ - '-user:remote user name:_users' \ - ':remote host:_hosts' \ - '(-):command: _command_names -e' \ - '*:command: _normal' - ;; -xsetroot) - _x_arguments \ - -{help,version,def,default,gray,grey,rv,reverse} \ - '-cursor:cursor file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\):mask file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\|mask\)\(-.\)' \ - '-cursor_name:cursor name:_x_cursor' \ - '-xcf:cursor file:_files:size' \ - '-bitmap:bitmap file:_files -g \*.\(\#i\)xbm\(-.\)' \ - '-mod:x grid distance (1-16): :y grid distance (1-16)' \ - '-fg:foreground color:_x_color' \ - '-bg:background color:_x_color' \ - '-solid:screen solid color:_x_color' \ - '-name:root window name' - ;; -xwd) - _x_arguments \ - -{debug,help,nobdrs,xy,frame,root,icmap,screen,silent} \ - '-out:output file:_files' \ - '-add:pixel change value' \ - '-id:id: _x_window' \ - '-name:name: _x_window -n' - ;; -xwud) - _x_arguments \ - -{help,new,noclick,raw,rv,scale} \ - '-bg:background color:_x_color' \ - '-fg:foreground color:_x_color' \ - '-in:input file:_files -g \*.\(\#i\)xwd\(-.\)' \ - '-plane:image plane to display' \ - '-std:standard colormap:(best default gray red blue green)' \ - '-vis:visual:_x_visual' - ;; -xrdb) - _x_arguments \ - -{help,quiet,symbols,retain,version} \ - '(-all -screen -screens)-global' \ - '(-global -screen -screens)-all' \ - '(-global -all -screens)-screen' \ - '(-global -all -screen)-screens' \ - '-n[only display on stdout]' \ - '(-nocpp)-cpp:preprocessor program:_files -g \*\(-\*\)' \ - '(-cpp)-nocpp' \ - '(-load -override -merge -remove)-query' \ - '(-query -override -merge -remove)-load' \ - '(-query -load -merge -remove)-override' \ - '(-query -load -override -remove)-merge' \ - '(-query -load -override -merge)-remove' \ - '-edit:output file:_files' \ - '-backup:backup extension' \ - '*-D-:symbol to define' \ - '*-U-:symbol to undefine' \ - '*-I-:include directory:_files -/' \ - '*:defaults file:_files' - ;; -esac && ret=0 - -if [[ $state == atoms ]]; then - _wanted atoms expl "$state_descr" compadd ${${(f)"$(_call_program atoms xlsatoms 2> /dev/null)"}#*$'\t'} && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_visual b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_visual deleted file mode 100644 index b2820844..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_visual +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -local expl - -# with the -b option, include `Best' in the matches -local best="${argv[(r)-b]:+Best}" -argv[(i)-b]=() - -_wanted visuals expl visual compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' - \ - $best DirectColor TrueColor PseudoColor StaticColor GrayScale StaticGray diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_window b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_window deleted file mode 100644 index 15bb87fc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_x_window +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -local list expl - -_tags windows || return 1 - -list=( "${(@)${(M@)${(@f)$(_call_program windows xwininfo -root -tree)}:#[ ]#0x[0-9a-f]# \"*}##[ ]#}" ) - -if [[ "$1" = -n ]]; then - shift - - _wanted windows expl 'window name' \ - compadd "$@" -d list - "${(@)${(@)list#*\"}%%\"*}" -else - [[ "$1" = - ]] && shift - - _wanted windows expl 'window ID' compadd "$@" -d list - "${(@)list%% *}" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xargs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xargs deleted file mode 100644 index 8e23a04b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xargs +++ /dev/null @@ -1,65 +0,0 @@ -#compdef xargs gxargs - -local args variant - -args=( - '(-l -L --max-lines -n --max-args -s --max-chars)'{-n+,--max-args=}'[specify maximum number of arguments for each line]:number of arguments' \ - '(-l -L --max-lines -n --max-args -s --max-chars)'{-s+,--max-chars=}'[specify maximum characters per command line]:maximum command line length' - '(-p --verbose -t --interactive)'{-p,--interactive}'[prompt user for each command]' - '(-p --verbose -t --interactive)'{-t,--verbose}'[verbose - echo each command]' - '(-x --exit)'{-x,--exit}'[exit if max size exceeded]' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu|darwin*|freebsd*|netbsd*|openbsd*) - args+=( - '(--max-procs -P)'{-P,--max-procs}'[parallel mode]:maximum processes' '!-r' - ) - ;| - dragonfly*|darwin*|freebsd*|netbsd*|openbsd*) - args=( "${(@)args:#(|\(*\))(|\*)--*}" - '-0[expect NUL characters as input separators]' - '-J[specify marker for position of arguments]:marker' - '-R[specify maximum arguments that -I will replace in]:replacements' - ) - ;| - freebsd*|netbsd*|dragonfly*) - args+=( - '-S[space that -I can use for replacements]:size (bytes) [255]' - ) - ;; - solaris*|gnu) - args+=( - '(-x -I)'{-i-,--replace}'[specify replacement string for command line]::replacement string' - '(-n -L -x)-l-[call program for every number of lines]:number of input lines' - '(-E -e --eof)'{-e-,--eof=}'[specify EOF marker]:end-of-file marker' - ) - ;| - solaris*) args=( "${(@)args:#(|\(*\))(|\*)--*}" ) ;| - solaris2.<11->) - args+=( '-0[expect NUL characters as input separators]' ) - ;; - gnu) - args+=( - '(-a --arg-file)'{-a+,--arg-file=}'[read input items from specified file]:file:_files' - '(-0 --null -d --delimiter)'{-0,--null}'[expect NUL characters as input separators]' - '(-d --delimiter -0 --null)'{-d+,--delimiter=}'[specify delimiter of input items]:delimiter' - '(-l -L --max-lines -n --max-args -s --max-chars)--max-lines=-[call program for every number of lines]::number of input lines' - '(-o --open-tty)'{-o,--open-tty}'[reopen stdin as /dev/tty in the child process before executing the command]' - '--process-slot-var=[set environment variable to unique value in child processes]:variable:_parameters -g "*export*"' - '(-r --no-run-if-empty)'{-r,--no-run-if-empty}"[don't run command in absence of input]" - '(- *)--help[show help information]' - '(- *)--version[show version information]' - '--show-limits[show OS imposed limits to command-line length]' - ) - ;; -esac - -_arguments -s $args \ - '-E[specify EOF marker]:end-of-file marker' \ - '(-x -i)-I[specify replacement string for command line]:replacement string' \ - '(-n -l)-L[call program for every number of lines]:number of input lines' \ - '(-):command: _command_names -e' \ - '*::args: _normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xauth b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xauth deleted file mode 100644 index 22ebffec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xauth +++ /dev/null @@ -1,117 +0,0 @@ -#compdef xauth - -local state context line expl ret=1 -typeset -A opt_args -local tmp cmd - -_arguments -s \ - '-f[specify authfile]:authfile:_files' \ - '(-q)-v[verbose mode]' \ - '(-v)-q[quiet mode]' \ - '-b[break locks]' \ - '-i[ignore locks]' \ - '*::command:->command' && ret=0 - -while [[ -n "$state" ]]; do - tmp="$state" - state= - case "$tmp" in - command) - if (( CURRENT == 1 )); then - state=subcommands - else - cmd="$words[1]" - curcontext="${curcontext%:*:*}:xauth-${cmd}:" - case "$cmd" in - add) - _arguments \ - ':display name:->displayname' \ - ':protocol name:->protocolname' \ - ':hexkey:' && ret=0 - ;; - - generate) - if (( CURRENT == 2 )); then - state=displayname - elif (( CURRENT == 3 )); then - state=protocolname - else - case "$words[CURRENT-1]" in - timeout) _message -e values 'timeout (seconds)';; - group) _message -e ids 'group-id';; - data) _message -e values 'hexdata';; - *) - _wanted options expl 'xauth generate option' \ - compadd trusted untrusted timeout group data && ret=0 - ;; - esac - fi - ;; - - extract|nextract) - case "$CURRENT" in - 2) _wanted files expl 'filename to write auth data' _files && ret=0;; - *) state=displayname;; - esac - ;; - - list|nlist) - state=displayname - ;; - - merge|nmerge) - _wanted files expl 'filename to read auth data' _files && ret=0 - ;; - - remove) - state=displayname - ;; - - source) - _wanted files expl 'filename to source' _files && ret=0 - ;; - - info|exit|quit|\?) - ;; - - help) - state=subcommands - ;; - esac - fi - ;; - - subcommands) - tmp=( - 'add:add entry' - 'generate:use server to generate entry' - 'extract:extract entries into file' - 'nextract:numerically extract entries' - 'list:list entries' - 'nlist:numerically list entries' - 'merge:merge entries from files' - 'nmerge:numerically merge entries' - 'remove:remove entries' - 'source:read commands from file' - 'info:print information about entries' - 'exit:save changes and exit program' - 'quit:abort changes and exit program' - 'help:print help' - '?:list available commands' - ) - _describe 'xauth command' tmp -- && ret=0 - ;; - - protocolname) - _wanted values expl 'authorization protocol' \ - compadd MIT-MAGIC-COOKIE-1 XDM-AUTHORIZATION-1 SUN-DES-1 MIT-KERBEROS-5 && ret=0 - ;; - - displayname) - { _wanted values expl 'display name' \ - compadd - ${${(f)"$(xauth list)"}%% *} || _x_display } && ret=0 - ;; - esac -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xautolock b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xautolock deleted file mode 100644 index 4d01a1dd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xautolock +++ /dev/null @@ -1,25 +0,0 @@ -#compdef xautolock -_arguments \ - '(-enable -toggle)-disable' \ - '(-disable -toggle)-enable' \ - '(-locknow)-unlocknow' \ - '(-unlocknow)-locknow' \ - '(-restart)-exit' \ - '(-exit)-restart' \ - '-killer:program: _command_names -e' \ - '-locker:program: _command_names -e' \ - '-notifier:program: _command_names -e' \ - '-nowlocker:program: _command_names -e' \ - -bell:percent: \ - -cornerdelay:seconds: \ - -cornerredelay:seconds: \ - -corners:corners: \ - -cornersize:pixels: \ - -killtime:minutes: \ - -noclose{,out,err} \ - -notify:seconds: \ - -time:minutes: \ - -secure \ - -resetsaver \ - -detectsleep \ - -{help,version} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xclip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xclip deleted file mode 100644 index 509a15b7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xclip +++ /dev/null @@ -1,18 +0,0 @@ -#compdef xclip - -_arguments \ - '(-i -in -o -out)'{-i,-in}'[read text into X selection (default)]' \ - '(* -i -in -o -out)'{-o,-out}'[print selection to standard output]' \ - '(-o -out -f -filter -quiet)'{-f,-filter}'[copy input additionally to standard output]' \ - {-l,-loops}'[number of selection requests to wait before exiting]:number' \ - {-t,-target}'[specify data format]:format:($(_call_program targets xclip -o -t TARGETS))' \ - {-d,-display}'[X display to connect to]:display:_x_display' \ - '(-)'{-h,-help}'[display usage information]' \ - '(-selection)-selection[selection to access]:selection:(primary secondary clipboard buffer-cut)' \ - "-noutf8[operate in legacy, non-Unicode, mode]" \ - '(-r -rmlastnl)'{-r,-rmlastnl}'[remove the last newline character if present]' \ - '(-)-version[display version information]' \ - '(-quiet -verbose)-silent[errors only, run in background]' \ - "(-silent -verbose)-quiet[run in foreground, show what's happening]" \ - '(-silent -quiet)-verbose[running commentary]' \ - '(-o -out)*:input file:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xcode-select b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xcode-select deleted file mode 100644 index a24b1a6f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xcode-select +++ /dev/null @@ -1,10 +0,0 @@ -#compdef xcode-select - -# No -s, no -o+ form options -_arguments : \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)--install[install command-line developer tools]' \ - '(-)'{-p,--print-path}'[display path of active developer directory]' \ - '(-)'{-r,--reset}'[reset to default developer directory]' \ - '(-)'{-s,--switch}'[specify path of active developer directory]:developer directory:_files -/' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xdvi b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xdvi deleted file mode 100644 index c33e67bc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xdvi +++ /dev/null @@ -1,30 +0,0 @@ -#compdef xdvi - -_xt_arguments \ - -+{allowshell,copy,expert,hush{,chars,checksums,specials},keep,l,no{ghostscript,grey,gssafer,makepk,postscript,scan},safer,thorough,underlink,version} \ - +{altfont,base,browser,cr,debug,density,gamma,gspalette,hl,icongeometry,interpreter,margin,mfmode,offsets,p,paper,shrink,S,sidemargin,topmargin,xoffset,yoffset,grid{1,2,3},mgs{,1,2,3,4,5}} \ - '-altfont:default font' \ - '-base:base URL' \ - '-browser:WWW browser:_command_names -e' \ - '-cr:cursor color:_x_color' \ - '-debug:debugging bitmask:((1\:bitmaps 2\:dvi\ translation 4\:pk\ reading 8\:batch\ operation 16\:events 32\:file\ opening 64\:PostScript\ communication 128\:Kpathsea\ statistics 256\:Kpathsea\ hash\ table\ lookups 512\:Kpathsea\ path\ definitions 1024\:Kpathsea\ path\ expansion 2048\:Kpathsea\ searches))' \ - '-density:font shrink density' \ - '-gamma:anti-aliasing factor [1.0]' \ - -grid{1,2,3}':grid color:_x_color' \ - '-gspalette:Ghostscript palette:(Color Greyscale Monochrome)' \ - '-hl:page highlight color:_x_color' \ - '-icongeometry:icon geometry:_x_geometry' \ - '-interpreter:Ghostscript program:_command_names -e' \ - '-margin:margin size' \ - '-mfmode:metafont string' \ - -mgs{,1,2,3,4,5}':magnifier size' \ - '-offsets:offset size' \ - '-p:font size (pixel per inch)' \ - '-paper:paper size (<width>x<height> or ...):(us usr legal foolscap a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 b4 b5 b6 b7 c1 c2 c3 c4 c5 c6 c7 a1r a2r a3r a4r a5r a6r a7r)' \ - '-shrink:shrink factor' \ - '-S:font shrink density' \ - '-sidemargin:side margin' \ - '-topmargin:top margin' \ - '-xoffset:horizontal offset' \ - '-yoffset:vertical offset' \ - '*:DVI file:_files -g "*.(#i)dvi(|.Z|.gz|.bz2)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xfig b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xfig deleted file mode 100644 index 4d1e38f5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xfig +++ /dev/null @@ -1,34 +0,0 @@ -#compdef xfig - -_x_arguments \ - -{help,Landscape,Portrait,debug,dontswitchcmap,flushleft,inches,inverse,latexfonts,left,metric,monochrome,multiple,noscalablefonts,notrack,right,scalablefonts,showallbuttons,single,specialtext,tablet,track} \ - '-bold:bold font:_x_font' \ - '-button:button font:_x_font' \ - '-but_per_row:number of buttons' \ - '-cbg:canvas background color:_x_color' \ - '-cfg:canvas foreground color:_x_color' \ - '-depth:visual depth' \ - '-exportlanguage:export language:(box latex epic eepic eepicemu pictex ibmgl eps ps pstex textyl tpic pic mf acad pcx png gif jpeg tiff ppm xbm xpm)' \ - '-iconGeometry:icon geometry:_x_geometry' \ - '-internalBW:internal border width' \ - '-keyfile:compose key file:_files' \ - '-magnification:magnification factor' \ - '-max_image_colors:maximum number of colors' \ - '-normal:normal font:_x_font' \ - '-papersize:output paper size:((Letter\:8.5\"\ x\ 11\" Legal\:8.5\"\ x\ 14\" Ledger\:17\"\ x\ 11\" Tabloid\:11\"\ x\ 17\" A\:8.5\"\ x\ 11\" B\:11\"\ x\ 17\" C\:17\"\ x\ 22\" D\:22\"\ x\ 34\" E\:34\"\ x\ 44\" A4\:21\ cm\ x\ 29.7\ cm A3\:29.7\ cm\ x\ 42\ cm A2\:42\ cm\ x\ 59.4\ cm A1\:59.4\ cm\ x\ 84.1\ cm A0\:84.1\ cm\ x\ 118.9\ cm B%\:18.2\ cm\ x\ 25.7\ cm))' \ - '-pheight:canvas height' \ - '-pwidth:canvas width' \ - '-spellcheckcommand:program: _command_names -e' \ - '-startfillstyle:fill style (-1 to 21)' \ - '-startfontsize:font size (in points)' \ - '-startgridmode:grid mode:((0\:no\ grid 1\:1/4\ inch\ or\ 5\ mm 2\:1/2\ inch\ or\ 1\ cm 3\:1\ inch\ or\ 2\ cm))' \ - '-startlatexfont:latex font' \ - '-startlinewidth:line width' \ - '-startposnmode:positioning mode:((0\:any 1\:1/16\ inch\ or\ 1\ mm 2\:1/4\ inch\ or\ 5\ mm 3\:1/2\ inch\ or\ 1\ cm 4\:1\ inch\ or\ 2\ cm))' \ - '-startpsfont:postscript font' \ - '-starttextstep:text step' \ - '-userscale:scale factor' \ - '-userunit:unit string' \ - '-visual:visual:_x_visual' \ - '-zoom:zoom scale' \ - '*:xfig file:_files -g "*.(#i)(|x)fig(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xft_fonts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xft_fonts deleted file mode 100644 index 991838d6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xft_fonts +++ /dev/null @@ -1,43 +0,0 @@ -#compdef fc-list fc-match - -local -a expl suf -local font=${${PREFIX//-[0-9]##:/:}%:*}: ret=1 -local attr - -compset -S ':*' || suf=( -S: -r "-: \t\n\-" ) -if compset -P '*:'; then - attr="${PREFIX%\=*}" - if compset -P '*='; then - case $attr in - hintstyle) - _wanted value expl 'value' compadd "$suf[@]" \ - hint{none,slight,medium,full} && ret=0 - ;; - *) - _wanted value expl 'value' compadd "$suf[@]" \ - ${${(f)"$(_call_program font-attrs - fc-list $font $attr 2>/dev/null)"//,/$'\n'}##*=} && ret=0 - ;; - esac - else - _tags elements {weight,slant}-constants - while _tags; do - _requested elements expl element compadd -qS= hintstyle hinting autohint \ - size ${${(u)${(M)${(f)"$(_call_program elements - fc-list -v $font 2>/dev/null)"}:# [a-z]*}%%:*}#?} && ret=0 - _requested weight-constants expl 'weight constant' compadd "$suf[@]" \ - thin bold regular medium semibold heavy roman && ret=0 - _requested slant-constants expl 'slant constant' compadd "$suf[@]" \ - roman italic oblique && ret=0 - - (( ret )) || break - done - fi -elif compset -P '*[^\\]-'; then - _message -e size 'point size' && ret=0 -else - _wanted fonts expl font compadd "$suf[@]" \ - ${(us:,:)$(_call_program fonts fc-list -f '%\{family\},' 2>/dev/null)} && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xinput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xinput deleted file mode 100644 index 2bbadd65..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xinput +++ /dev/null @@ -1,139 +0,0 @@ -#compdef xinput - -local curcontext="$curcontext" xinput=${words[1]} desc subcmd out ret=1 -local match mbegin mend -local -a state state_descr line args cmds ids names disp expl -local -A opt_args - -cmds=( - 'get-feedbacks:display device feedbacks' - 'set-ptr-feedback:change pointer acceleration (or feedback) parameters ' - 'set-integer-feedback:change value of an integer device feedback' - 'get-button-map:get the button mapping of a device' - 'set-button-map:change the button mapping of a device' - set-pointer - "set-mode:set a device's mode" - 'list:list input devices or device features' - "query-state:query a device's state" - 'test:perpetual display of extended events from a device' - 'create-master:create a new pair of master devices on an XI2-enabled server' - 'remove-master:remove a master and its paired master device' - 'reattach:reattach a slave to a master' - 'float:remove a slave from its current master device' - 'set-cp:set the ClientPointer for the client owning window to master' - 'test-xi2:perpetual display of XI2 events' - 'map-to-output:restrict movements of the absolute device to an RandR crtc' - 'list-props:list properties that can be set for a device' - set-int-prop set-float-prop set-atom-prop - 'watch-props:perpetual display of property changes' - 'delete-prop:delete a property from a device' - 'set-prop:set a property to a given value' - 'disable:disable a device' - 'enable:enable a device' - 'help:display usage information' - 'version:display version information for program and server' -) - -if (( CURRENT == 2 )); then - if [[ -prefix - ]]; then - cmds=( --$^cmds ) - desc=option - else - desc=command - fi - _describe -t ${desc}s $desc cmds -M 'r:|-=* r:|=*' - return -fi - -subcmd=${words[2]#--} -curcontext="${curcontext%:*}-$subcmd:" - -args=( '1:device:->devices' ) -case $subcmd in - (set|delete)-*prop) args+=( '2:property:->properties' ) ;| - set-*prop) args+=( '*:value' ) ;| - set-ptr-feedback) args+=( '2:threshold' '3:num' '4:denom' ) ;; - set-integer-feedback) args+=( '2:feedback id' '3:value' ) ;; - set-button-map) - args+=( '*:::button mapping:compadd -F words -o numeric {1..12}' ) - ;; - set-pointer) args+=( '2:x index' '3:y index' ) ;; - set-mode) args+=( '2:mode:(ABSOLUTE RELATIVE)' ) ;; - list) args+=( '(-)--short' '(-)--long' '(-)--name-only' '(-)--id-only' ) ;; - test) args+=( '-proximity' ) ;; - create-master) - args=( - '1:prefix' - '2:send core events [1]:((0\:false 1\:true))' - '3:enable [1]:((0\:false 1\:true))' - ) - ;; - remove-master) - args=( - '1:master:->devices' - '2:slave setting:(Floating AttachToMaster)' - '3:pointer master:->devices' - '4:keyboard master:->devices' - ) - ;; - reattach) args=( '1:slave:->devices' '2:master:->devices' ) ;; - float) args=( '1:slave:->devices' ) ;; - set-cp) args=( '1:window:_x_window' '2:device:->devices' ) ;; - test-xi2) args+=( '--root[select events on the root window only]' ) ;; - map-to-output) args+=( '2:output:->outputs' ) ;; - list-props) args=( '*:device:->devices' ) ;; - set-int-prop) args+=( '3:format:compadd -o numeric 8 16 32' ) ;; - set-prop) - args+=( - '--type=-:type:(atom float int)' - '--format=-:format:compadd -o numeric 8 16 32' - ) - ;; - help|version) _message 'no more arguments'; return 1 ;; -esac - -shift words -(( CURRENT-- )) -_arguments -C -A "-*" $args && ret=0 - -case $state in - devices) - _description input-devices expl $state_descr - - ids=( ${${(f)"$(_call_program input-devices $xinput list --id-only)"}#? } ) - names=( ${${(f)"$(_call_program input-devices $xinput list --name-only)"}#? } ) - disp=( ${(f)"$(_call_program input-devices $xinput list --short)"} ) - - if [[ $PREFIX$SUFFIX = [^-]*[^0-9]* ]]; then - # match based on the names but insert IDs - compadd "$expl[@]" -M 'b:=* m:{[:lower:]}={[:upper:]}' -D ids -D disp -a names - compadd "$expl[@]" -U -ld disp -a ids && ret=0 - - zstyle -s ":completion:${curcontext}:input-devices" insert-ids out || out=menu - case "$out" in - menu) compstate[insert]=menu ;; - single) [[ $#ids -ne 1 && $compstate[insert] != menu ]] && - compstate[insert]= ;; - *) [[ ${#:-$PREFIX$SUFFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu ;; - esac - else - compadd "$expl[@]" -M 'B:0=' -o nosort -ld disp -a ids && ret=0 - fi - ;; - properties) - _description input-properties expl 'property' - disp=( ${${${${(M)${(f)"$(_call_program input-properties - $xinput list-props $line[1] - )"}:#[[:blank:]]*}##[[:blank:]]#}%%:*}:/(#b)(*) \((<->)\)/$match[2]:$match[1]} - ) - _describe -t input-properties $state_descr disp -o numeric && ret=0 - ;; - outputs) - _description outputs expl 'output' - compadd "$expl[@]" - ${${(M)${(f)"$(_call_program outputs - xrandr)"}:#* connected*}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xloadimage b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xloadimage deleted file mode 100644 index c7c628e4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xloadimage +++ /dev/null @@ -1,90 +0,0 @@ -#compdef xli xloadimage xsetbg xview - -local rc ipath extension filter type args - -if rc=( ${(f)"$($words[1] -path)"} ); then - # xli - filter=( .Z ) - args=( - '-cache[force caching of entire input]' - "-delete[enable deleting images with 'x' key]" - '-dispgamma[specify gamma correction]' - '-fillscreen[use whole screen, zooming image]' - '-focus[take keyboard focus]' - '-path[display image path and suffixes]' - -dumpcore - '*-iscale[scale image]:scale factor' - '*-c'{,olor}'dither[dither image]' - '*-expand[expand image to 24-bit]' - '*-xpm[specify xpm color map]:color context key:((m\:mono g4\:4\ level\ gray g\:gray c\:color))' - ) -else - # xloadimage - rc=( ${(f)"$($words[1] -configuration)"} ) - filter=( ${${(Q)rc[4,-1]%% -*}# } ) - type=( ${(f)"$($words[1] -supported)"} ) - args=( - '-configuration[display image path, suffixes and filters]' - '-dump[dump image into file]:image type:( '${(F)${(M)type:#*Yes*}%% *}' ):filename:_files' - -slideshow - '*-type[force type of image]:type name:( '${(F)type[3,-1]%% *}' )' - '*-shrink[shrink image to fit display]' - '*-tile[tile image to fill display]' - '*-global[following option applies to all images]' - ) -fi -ipath=( . ${=${(M)rc:#*path:*}#*:} ) -extension=( ${=${(M)rc:#*extensions:*}#*:} ) -# set default file extensions if there are none -(( $#extension )) || extension=( - .gif .jpg .jpeg .png .rle .csun .msun .sun .face - .xbm .bm .fbm .pcx .ppm .pgm .pbm .tga .xpm -) - -# all options are valid after -help so no exclusion lists below -_x_arguments "$args[@]" \ - '-default[set root background to default]' \ - '-fit[use default visual and colormap]' \ - '-fullscreen[use whole screen, surrounding image with border]' \ - "-goto[specify image to display at end]:image name:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})(-.)'" \ - '(*)-help[display information on options]' \ - '-identity[identify supplied images instead of displaying]' \ - '-install[forcibly install image colormap on focus]' \ - '-list[list images]' \ - '-onroot[display to root window]' \ - '-path[display image path and suffixes]' \ - '-pixmap[force the use of a pixmap as backing-store]' \ - '-private[force use of a private colormap]' \ - '-quiet[quiet operation]' \ - '-supported[list supported image types]' \ - '-verbose[verbose operation]' \ - '-version[display version info]' \ - '-view[view image in window]' \ - '-visual[force use of a specific visual]:visual:_x_visual' \ - '-windowid[set background pixmap of specific window]:window id:_x_window' \ - -fork -debug \ - '*-border[specify background color]:background color:_x_color' \ - '*-brighten[brighten/darken image]:percentage multiplier' \ - '*-colors[specify maximum colors in image]:colors' \ - '*-delay[delay before advancing to next image]:seconds' \ - '*-dither[dither color image to mono]' \ - '*-gamma[specify gamma of display image was intended for]:gamma' \ - '*-gr'{a,e}'y[convert image to grayscale]' \ - '*-idelay[specify delay for this image]' \ - '*-smooth[smooth a color image]' \ - '*-xzoom[zoom X axis of image]:percentage' \ - '*-yzoon[zoom Y axis of image]:percentage' \ - '*-zoom:percentage' \ - '*-newoptions[reset options]' \ - '*-at[specify coordinates to load next image at]' \ - '*-background[specify background color for next image]:color:_x_color' \ - '*-center[center next image on base image]' \ - '*-clip:X,Y,W,H' \ - '*-foreground[specify foreground color for next image]:color:_x_color' \ - '*-halftone[force halftone dithering]' \ - '*-invert[invert a monochrome image]' \ - '*-merge[merge image onto the base image]' \ - "*-name[specify image name]:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})(-.)'" \ - '*-normalize' \ - '*-rotate[rotate image clockwise]:degrees of rotation:(90 180 270)' \ - "*:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filter})(-.)'" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlsoft b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlsoft deleted file mode 100644 index 08b123e5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlsoft +++ /dev/null @@ -1,142 +0,0 @@ -#compdef xsltproc xmllint -value-,XML_CATALOG_FILES,-default- - -# xmllint: using libxml version 20904 -# xsltproc: using libxml 20904, libxslt 10129 and libexslt 817 - -local -a encoding - -encoding=( - UTF-8 - UTF-16 - ISO-10646-UCS-2 - ISO-10646-UCS-4 - ISO-8859-1 - ISO-8859-2 - ISO-8859-3 - ISO-8859-4 - ISO-8859-5 - ISO-8859-6 - ISO-8859-7 - ISO-8859-8 - ISO-8859-9 - ISO-2022-JP - SHIFT_JIS - EUC-JP -) - -case $service in - xsltproc) - _arguments \ - '(-)'{--version,-V}'[show libxml and libxslt versions]' \ - '(--verbose -v)'{--verbose,-v}"[show logs of what's happening]" \ - '(--output -o)'{--output,-o}'[specify output file]:output file:_files' \ - '--timing[display the time used]' \ - '--repeat[run the transformation 20 times]' \ - '--debug[dump the tree of the result instead]' \ - '--dumpextensions[dump registered extension elements and functions]' \ - '--novalid[skip the DTD loading phase]' \ - '--nodtdattr[do not default attributes from the DTD]' \ - '--noout[do not dump the result]' \ - '--maxdepth[increase the maximum depth]:depth' \ - '--maxvars[increase the maximum variables]:variables' \ - '--maxparserdepth[increase the maximum parser depth]:depth' \ - '--seed-rand[initialise random number generator]:seed' \ - '--html[input document is an HTML file]' \ - '--encoding[the input document character encoding]:encoding:(${encoding[@]})' \ - '*--param[pass a parameter,value pair]:name::value (xpath expression)' \ - '*--stringparam[pass a parameter]:name::value' \ - '--path[provide a set of paths for resources]:path:_dir_list' \ - '--nonet[refuse to fetch DTDs or entities over network]' \ - '--nowrite[refuse to write to any file or resource]' \ - '--nomkdir[refuse to create directories]' \ - '--writesubtree[allow file write only with the path subtree]:path:_files -/' \ - '--catalogs[use SGML catalogs]' \ - '--xinclude[do XInclude processing on document input]' \ - '--xincludestyle[do XInclude processing on stylesheets]' \ - '--load-trace[print trace of all external entities loaded]' \ - {--profile,--norman}'[dump profiling information]' \ - '1:stylesheet:_files -g "*.xslt#(-.)"' \ - ':file:_files -g "*.xml(-.)"' && return - ;; - xmllint) - _arguments \ - '--version[display the version of the XML library used]' \ - '--debug[dump a debug tree of the in-memory document]' \ - '--shell[run a navigating shell]' \ - '--debugent[debug the entities defined in the document]' \ - '--copy[used to test the internal copy implementation]' \ - '--recover[output what was parsable on broken XML documents]' \ - '--huge[remove any internal arbitrary parser limits]' \ - '--noent[substitute entity references by their value]' \ - '--noenc[ignore any encoding specified inside the document]' \ - "(--output -o)--noout[don't output the result tree]" \ - '--path[provide a set of paths for resources]:path:_dir_list' \ - '--load-trace[print trace of all external entities loaded]' \ - '--nonet[refuse to fetch DTDs or entities over network]' \ - '--nocompact[do not generate compact text nodes]' \ - '--htmlout[output results as HTML]' \ - '--nowrap[do not put HTML doc wrapper]' \ - '--valid[validate the document in addition to std well-formed check]' \ - '(--dtdvalid --relaxng --schema)--postvalid[do a posteriori validation, i.e after parsing]' \ - '(--postvalid --relaxng --schema --dtdvalidfpi)--dtdvalid[do a posteriori validation against a given DTD]:DTD:_webbrowser' \ - '(--postvalid --relaxng --schema --dtdvalid)--dtdvalidfpi[as --dtdvalid but specify DTD with public identifier]:DTD identifier' \ - '--quiet[be quiet when successful]' \ - '--timing[print some timings]' \ - '(--noout --output -o)'{--output,-o}'[save to a given file]:output file:_files' \ - '--repeat[repeat 100 times, for timing or profiling]' \ - '--insert[ad-hoc test for valid insertions]' \ - '--compress[turn on gzip compression of output]' \ - '--html[use the HTML parser]' \ - '--xmlout[use the XML serializer when using --html]' \ - '--nodefdtd[do not default HTML doctype]' \ - '--push[use the push mode of the parser]' \ - '--pushsmall[use the push mode of the parser using tiny increments]' \ - '--memory[parse from memory]' \ - '--maxmem[limit memory allocation]:bytes' \ - '--nowarning[do not emit warnings from parser/validator]' \ - '--noblanks[drop (ignorable?) blanks spaces]' \ - '--nocdata[replace cdata section with text nodes]' \ - '--format[reformat/reindent the input]' \ - '--encode[output in the given encoding]:encoding:(${encoding[@]})' \ - '--dropdtd[remove the DOCTYPE of the input docs]' \ - "--pretty[pretty-print in a particular style]:style:((0\:don\'t\ pretty\ print 1\:reformat 2\:add\ whitespace))" \ - '--c14n[save in W3C canonical format]' \ - '--c14n11[save in W3C canonical format v1.1 (with comments)]' \ - '--exc-c14n[save in W3C exclusive canonical format]' \ - '--nsclean[remove redundant namespace declarations]' \ - '(--nocatalogs)--catalogs[use SGML catalogs]' \ - '(--catalogs)--nocatalogs[deactivate all catalogs]' \ - '--auto[generate a small doc on the fly]' \ - '(--noxincludenode)--xinclude[do XInclude processing]' \ - '(--xinclude)--noxincludenode[do XInclude processing but do not generate XInclude nodes]' \ - '--nofixup-base-uris[do not fixup xml:base uris]' \ - '--loaddtd[fetch external DTD]' \ - '--dtdattr[loaddtd + populate the tree with inherited attributes]' \ - '--stream[use the streaming interface to process very large files]' \ - '--walker[create a reader and walk though the resulting doc]' \ - '--pattern[test the pattern support]:pattern value' \ - '--chkregister[verify the node registration code]' \ - '(--dtdvalid --postvalid --schema)--relaxng[do RelaxNG validation against specified schema]:schema:_webbrowser' \ - '(--dtdvalid --postvalid --relaxng)--schema[do validation against specified WXS schema]:schema:_webbrowser' \ - '(--dtdvalid --postvalid --relaxng)--schematron[do validation against specified schematron]:schema:_webbrowser' \ - '--sax1[use the old SAX1 interfaces for processing]' \ - '--sax[do not build a tree but work just at the SAX level]' \ - '--oldxml10[use XML-1.0 parsing rules before the 5th edition]' \ - '(--noout)--xpath[evaluate the XPath expression, implies --noout]:XPath expression' \ - '*:XML file:_webbrowser' && return - ;; - *XML_CATALOG_FILES*) - compset -q - if [[ -prefix *: ]]; then - _urls - return - fi - - compset -S ':*' - _alternative \ - 'files:catalog file:_files' \ - 'url-schemas:URL schema:compadd -S "" file:///' && return - ;; -esac - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlstarlet b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlstarlet deleted file mode 100644 index 4c825704..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmlstarlet +++ /dev/null @@ -1,177 +0,0 @@ -#compdef xmlstarlet xml - -local curcontext="$curcontext" ret=1 -local -a args state line suf - -args=( '(- *)--help[display usage information]' ) -_arguments -C -A "-*" $args \ - '(-q --quiet)'{-q,--quiet}'[no error output]' \ - "--no-doc-namespace[don't extract namespace bindings from input doc]" \ - '!(--no-doc-namespace)--doc-namespace' \ - '(-)--version[display version information]' \ - '1:command:(( - ed{,it}\:edit\ or\ update\ documents - sel{,ect}\:select\ date\ or\ query\ documents - tr{,ransform}\:transform\ documents\ using\ XSLT - val{,idate}\:validate\ documents - fo{,rmat}\:format\ documents - el{,ements}\:display\ element\ structure - {c14n,canonic}\:XML\ canonicalization - l{s,ist}\:list\ directory\ as\ XML - esc{,ape}\:escape\ special\ XML\ characters - unesc{,ape}\:unescape\ special\ XML\ characters - {pyx,xmln}\:convert\ XML\ into\ the\ line-oriented\ PYX\ format - {p2x,depyx}\:convert\ PYX\ into\ XML - ))' \ - '*: :->args' && ret=0 - -if [[ -n $state ]]; then - shift words - (( CURRENT-- )) - curcontext="${curcontext%:*:*}:$service-${words[1]}:" - case $words[1] in - el(|ements)|fo(|rmat)|sel(|ect)|c14n|canonic|xmln|pyx) - args+=( '1:file:_files -g "(#i)*.xml(-.)"' ) - ;| - ed(|it)|sel(|ect)) - args+=( '*-N[predefine namespaces]:namespace' ) - ;| - c14n|canonic|ed(|it)|fo(|rmat)|sel(|ect)|tr(|ansform)|val(|idate)) - args+=( '--net[allow fetching of DTDs or entities over network]' ) - ;| - fo(|rmat)|tr(|ansform)) - args+=( '(-o --omit-decl)'{-o,--omit-decl}'[omit XML declaration]' ) - ;| - - ed(|it)) - args=( - '(opt)*'{-d,--delete}'[remove element]:xpath expression' - '(opt)*'{-i,--insert}'[add element before node matched by expression]:xpath expression - insert before matched node' - '(opt)*'{-a,--append}'[add element after node matched by expression]:xpath expression - insert after matched node' - '(opt)*'{-s,--subnode}'[add element as a child of node matched by expression]:xpath expression for parent modes' - '(opt)*'{-m,--move}'[move element]:xpath expression: :xpath expression' - '(opt)*'{-r,--rename}'[rename element]:xpath expression' - '(opt)*'{-u,--update}'[update element]:xpath expression' - '*:file:_files -g "(#i)*.xml(-.)"' - + opt $args - '(-P -S --pf --ps)'{-P,-S,--pf,--ps}'[preserve whitespace nodes]' - '(-O --omit-decl)'{-O,--omit-decl}'[omit XML declaration]' - '(-L --inplace)'{-L,--inplace}'[edit file inplace]' - ) - if [[ -n ${${words[2,CURRENT-1]}[(r)-([ias]|-insert|-append|-subnode)]} ]]; then - args=( - '(opt)*'{-t,--type}'[specify type of node to add]:type:(elem text attr)' - '(opt)*'{-n,--name}'[specify name of node to add]:name' - $args - ) - fi - if [[ -n ${${words[2,CURRENT-1]}[(r)-([iasru]|-insert|-append|-subnode|-rename|-update)]} ]]; then - args=( '(opt)*'{-v,--value}'[specify value of node to add or name of renamed node]:value' $args ) - fi - ;; - el(|ements)) - args+=( - '(-)-a[show attributes as well]' - '(-)-v[show attributes and their values]' - '(-)-u[print out sorted unique lines]' - '(-)-d-[print out sorted unique lines up to specified depth]:depth' - ) - ;; - fo(|rmat)) - args+=( - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-n,--noindent}"[don't indent]" - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-t,--indent-tab}'[indent output with tabs]' - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-s,--indent-spaces}'[indent output with specified number of spaces]:spaces' - '(-R --recover)'{-R,--recover}'[try to recover what is parsable]' - '(-D --dropdtd)'{-D,--dropdtd}'[remove the DOCTYPE of the input docs]' - '(-C --nocdata)'{-C,--nocdata}'[replace cdata section with text nodes]' - '(-N --nsclean)'{-N,--nsclean}'[remove redundant namespace declarations]' - '(-e --encode)'{-e,--encode}'[output in the specified encoding]:encoding' - '(-H --html)'{-H,--html}'[input is HTML]' - ) - ;; - sel(|ect)) - [[ -n ${${words[2,CURRENT-1]}[(r)-t]} ]] && args+=( - \*{-c,--copy-of}'[print copy of XPath expression]:xpath expression' - \*{-v,--value-of}'[print value of XPath expression]:xpath expression' - \*{-o,--output}'[output string literal]:string' - \*{-n,--nl}'[print new line]' - \*{-f,--inp-name}'[print input file name (or URL)]' - \*{-m,--match}'[match XPath expression]:xpath expression' - \*{-v,--var}'[declare a variable]:variable' - \*{-i,--if,--elif}'[check condition]:condition' - '*--else[check if previous conditions failed]' - \*{-e,--elem}'[print out specified element]:element' - \*{-b,--break}'[break nesting]' - \*{-s,--sort}'[specify sort order]:order:->ordering:xpath expression' - ) - args+=( - '(opt)*-t[start query template]' - + opt - '(-Q --quiet)'{-Q,--quiet}"[don't write anything to standard output]" - '(-C --comp)'{-C,--comp}'[display generated XSLT]' - '(-R --root)'{-R,--root}'[print root element]' - '(-T --text -e --elem)'{-T,--text}'[output is text]' - '(-I --indent)'{-I,--indent}'[indent output]' - '(-D --xml-decl)'{-D,--xml-decl}"[don't omit xml declaration line]" - '(-B --noblanks)'{-B,--noblanks}'[remove insignificant spaces from XML tree]' - '(-E --encode)'{-E,--encode}'[output in the specified encoding]:encoding' - ) - ;; - tr(|ansform)) - args+=( - '(--embed -E)'{--embed,-E}'[allow applying embedded stylesheet]' - '(1 * -)--show-ext[show list of extensions]' - '--val[allow validation against DTD or schema]' - '--xinclude[do XInclude processing on document input]' - '--maxdepth[increase the maximum depth]:val' - '--html[input is HTML]' - '1:xsl file:_files -g "(#i)*.xsl(|t)(-.)"' - '*:xml file:_files' - ) - ;; - val(|idate)) - args+=( - '!(-d --dtd -s --xsd -r --relaxng)'{-w,--well-formed} - '(-d --dtd -s --xsd -r --relaxng)'{-d,--dtd}'[validate against DTD]:file:_files -g "(#i)*.dtd(-.)"' - '(-d --dtd -s --xsd -r --relaxng)'{-s,--xsd}'[validate against XSD schema]:schema file:_files -g "(#i)*.xsd(-.)"' - '(-E --embed)'{-E,--embed}'[validate using embedded DTD]' - '(-d --dtd -s --xsd -r --relaxng)'{-r,--relaxng}'[validate against schema]:schema file:_files -g "(#i)*.rng(-.)"' - '(-e --err)'{-e,--err}'[print verbose error messages on stderr]' - '(-S --stop)'{-S,--stop}'[stop on first error]' - '(-b --list-bad -g --list-good)'{-b,--list-bad}"[list only files that don't validate]" - '(-b --list-bad -g --list-good -q --quiet)'{-g,--list-good}'[list only files that validate]' - '(-b --list-bad -g --list-good -q --quiet)'{-q,--quiet}"[don't list files (return result code only)]" - '*:file:_files -g "(#i)*.xml(-.)"' - ) - ;; - c14n|canonic) - args+=( - '!(-)--with-comments' - '(-)--without-comments[XML file canonicalization without comments]' - '(-)--exc-with-comments[exclusive XML file canonicalization with comments]' - '(-)--exc-without-comments[exclusive XML file canonicalization without comments]' - '2:xpath file:_files' - '3:namespace prefix list' - ) - ;; - (un|)esc(|ape)) args+=( '1: :_guard "^-*" string' ) ;; - ls|list) args+=( '1:path:_directories' ) ;; - depyx|p2x) args+=( '1:pyx file:_files' ) ;; - esac - _arguments -C -A "-*" $args && ret=0 - case $state in - ordering) - compset -S ':*' || suf=( -S : ) - if compset -P 2 '*:'; then - _describe -t case-order case-order '(U:upper-first L:lower-first)' && ret=0 - elif compset -P 1 '*:'; then - _describe -t data-type data-type '(N:numeric T:text)' $suf && ret=0 - else - _describe -t order order '(A:ascending D:descending)' $suf && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmms2 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmms2 deleted file mode 100644 index ca2383b2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmms2 +++ /dev/null @@ -1,211 +0,0 @@ -#compdef xmms2 - -_xmms2_command() { - local xmms2_cmds - - xmms2_cmds=( - add:"adds a URL to the playlist" - addarg:"adds one URL with arguments to the playlist" - addid:"adds a Medialib id to the playlist" - insert:"inserts one URL at a specific position" - insertid:"inserts one Medialib id at a specific position" - radd:"adds a directory recursively to the playlist" - clear:"clears the playlist" - shuffle:"shuffles the playlist" - sort:"sort the playlist; use a space delimiter for multiple properties" - remove:"removes something from the playlist" - list:"lists the playlist" - addpls:"Adds the contents of a playlist file to the playlist" - play:"starts playback" - stop:"stops playback" - toggleplay:"toggles playback status between play/pause" - pause:"pause playback" - next:"play next song" - prev:"play previous song" - seek:"seek to a specific place in current song" - jump:"take a leap in the playlist" - move:"move a entry in the playlist" - volume:"set volume for a channel" - volume_list:"list volume levels for each channel" - mlib:"medialib manipulation - type 'xmms2 mlib' for more extensive help" - playlist:"playlist manipulation - type 'xmms2 playlist' for more extensive help" - coll:"collection manipulation - type 'xmms2 coll' for more extensive help" - browse:"browse server file lists" - status:"go into status mode" - info:"information about current entry" - current:"formatted information about the current entry" - config:"set a config value" - config_list:"list all config values" - plugin_list:"list all plugins loaded in the server" - stats:"get statistics from server" - quit:"make the server quit" - help:"print help about a command" - ) - - if (( CURRENT == 1 )); then - _describe -t command "xmms2 command" xmms2_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[1] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_$cmd -} - - _xmms2_jump() { - songlist=(${"$(xmms2 list)"}) - playlistitems=() - for song ($songlist); do - if [[ $song = (#b)' '\[(<->)/(<->)\]' '(*)' '\((*)\) ]]; then - playlistitems+=("$match[1][$match[3]]") - fi - done - - _values -s ' ' 'playlist item' ${(On)playlistitems} - -} - -_xmms2_mlib() { - local mlib_cmds - mlib_cmds=( - add:"Add 'url' to medialib" - loadall:"Load everything from the mlib to the playlist" - searchadd:"Search for, and add songs to playlist" - search:"Search for songs matching criteria" - addpath:"Import metadata from all media files under 'path'" - rehash:"Force the medialib to check whether its data is up to date" - remove:"Remove an entry from medialib" - setstr:"Set a string property together with a medialib entry." - setint:"Set a int property together with a medialib entry." - rmprop:"Remove a property from a medialib entry" - addcover:"Add a cover image on id(s)." - - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 mlib command" mlib_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_$cmd - -} - - -_xmms2_playlist() { - local playlist_cmds - playlist_cmds=( - list:"List all available playlists" - create:"Create a playlist" - type:"Set the type of the playlist (list, queue, pshuffle)" - load:"Load 'playlistname' stored in medialib" - remove:"Remove a playlist" - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 playlist command" playlist_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_playlist_$cmd -} - -_xmms2_playlist_load() { - local list - list=($(xmms2 playlist list)) - _describe -t command "xmms2 playlist" list -} - - -_xmms2_playlist_remove() { - local list - list=($(xmms2 playlist list)) - _describe -t command "xmms2 playlist" list -} - - -_xmms2_coll() { - local coll_cmds - coll_cmds=( - save:"Save a pattern as a collection" - rename:"Rename a collection" - list:"List all collections in a given namespace" - query:"Display all the media in a collection" - queryadd:"Add all media in a collection to active playlist" - find:"Find all collections that contain the given media" - get:"Display the structure of a collection" - remove:"Remove a saved collection" - attr:"Get/set an attribute for a saved collection" - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 collection command" coll_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_coll_$cmd -} - -_xmms2_coll_helper() { - local list - list=($(xmms2 coll list)) - _describe -t command "xmms2 playlist" list -} - -_xmms2_coll_rename() { - _xmms2_coll_helper -} - -_xmms2_coll_remove() { - _xmms2_coll_helper -} - -_xmms2_coll_get() { - _xmms2_coll_helper -} - -_xmms2_coll_query() { - _xmms2_coll_helper -} - -_xmms2_coll_queryadd() { - _xmms2_coll_helper -} - -_xmms2_coll_attr() { - _xmms2_coll_helper -} - -_xmms2_add() { - _files -} - -_xmms2_radd() { - _dirs -} - -_xmms2_addpls() { - local expl - _description files expl 'playlist' - _files "$expl[@]" -g '*.([mM]3[uU]|[pP][lL][sS])(-.)' -} - -_xmms2() { -_arguments \ - '--format[specify the format of song display]:format string' \ - '--no-status[prevent printing song status on completion]' \ - '*::xmms2 command:_xmms2_command' -} - -_xmms2 "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmodmap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmodmap deleted file mode 100644 index 928b6b24..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xmodmap +++ /dev/null @@ -1,96 +0,0 @@ -#compdef xmodmap - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_x_arguments -C \ - -{help,grammar,verbose,quiet} \ - '-n[only show what would be done]' \ - '*-e[specify expression]:expression:->expr' \ - '-pm[print modifier map]' \ - '-pk[print keymap table]' \ - '-pke[print keymap table as expressions]' \ - '-pp[print pointer map]' \ - ':X mapping file:_files' && ret=0 - -if [[ -n "$state" ]]; then - local expl expr="${PREFIX##[ ]#}" what suf - - if compset -P '[^ ]##[ ]##'; then - case "$expr" in - keycode*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - what=ksyms - elif [[ "$expr" = *[\ \ ]##[^\ \ ]##[\ \ ] ]]; then - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - else - _message -e keys 'key code or `any'"'" - fi - ;; - keysym*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - what=ksyms - elif [[ "$expr" = *[\ \ ]##[^\ \ ]##[\ \ ] ]]; then - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - else - what=ksym-eq - fi - ;; - clear*) - what=mods - ;; - (add|remove)*) - if compset -P '*[ ]##'; then - what=ksyms - else - what=mods-eq - fi - ;; - pointer*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - _description values expl 'button code' - compadd "$expl[@]" -qS ' ' 1 2 3 4 5 default - return - else - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - fi - ;; - esac - - if [[ "$what" = *eq* ]]; then - suf=(-S ' = ') - elif [[ "$what" = *ksyms* ]]; then - if [[ -n "$compstate[quote]" ]]; then - suf=(-S "$compstate[quote] " -r "$compstate[quote] ") - else - suf=(-qS ' ') - fi - else - suf=() - fi - - [[ "$what" = *mods* ]] && _x_modifier "$suf[@]" && ret=0 - [[ "$what" = *ksym* ]] && _x_keysym "$suf[@]" && ret=0 - - else - _tags commands - while _tags; do - while _next_label commands expl command; do - compadd "$expl[@]" -S ' ' keycode keysym clear add remove && ret=0 - compadd "$expl[@]" -S ' = ' pointer && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xournal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xournal deleted file mode 100644 index c36210c2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xournal +++ /dev/null @@ -1,6 +0,0 @@ -#compdef xournal - -local expl - -_description files expl 'PDF or Xournal file' -_files "$@" "$expl[@]" -g '*.(#i){xoj,pdf}(-.)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xpdf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xpdf deleted file mode 100644 index 261af028..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xpdf +++ /dev/null @@ -1,35 +0,0 @@ -#compdef xpdf zxpdf - -_xt_arguments \ - '-g[initial window geometry]:geometry:_x_geometry' \ - '-cmap[install a private colormap]' \ - '-rgb[biggest RGB cube to allocate]:int:' \ - '-mattecolor[color of background outside page area]:color:' \ - '-papercolor[color of paper background]:color:' \ - '-z[initial zoom level]:zoom level:' \ - '-t1lib[enable t1lib font rasterizer]:bool:(yes no)' \ - '-freetype[enable FreeType font rasterizer]:bool:(yes no)' \ - '-aa[enable font anti-aliasing]:bool:(yes no)' \ - '-aaVector[enable vector anti-aliasing]:bool:(yes no)' \ - '-cont[start in continuous view mode]' \ - '-exec[execute command on xpdf remote server]:command:' \ - '-ps[default PostScript file name or command]:file or command:_files' \ - '-paper[paper size]:paper size:(letter legal A4 A3 match)' \ - '-paperw[paper width]:points:' \ - '-paperh[paper height]:points:' \ - '-level1i[generate Level 1 PostScript]' \ - '-enc[output text encoding name]:name:' \ - '-eol[output end-of-line convention]:convention:(unix dos mac)' \ - '-opw[owner password]:password:' \ - '-upw[user password]:password:' \ - '-fullscreen[run in full-screen (presentation) mode]' \ - '-remote[start/contact xpdf remote server with specified name]:server:_hosts' \ - '-reload[reload xpdf remove server window (with -remote only)]' \ - '-raise[raise xpdf remote server window (with -remote only)]' \ - '-quit[kill xpdf remote server (with -remote only)]' \ - '-cmd[print commands as they are executed]' \ - '-q[do not print any messages or errors]' \ - '-cfg[configuration file to use in place of .xpdfrc]:file:_files' \ - '-v[print copyright and version info]' \ - '(-h -help --help -?)'{-h,-help,--help,-\?}'[print usage information]' \ - ':PDF: _pdf '"${${service/xpdf/}:+-z}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xrandr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xrandr deleted file mode 100644 index 2551e195..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xrandr +++ /dev/null @@ -1,83 +0,0 @@ -#compdef xrandr - -local curcontext="$curcontext" state line expl state_descr -typeset -A opt_args - -_arguments -C \ - '(-d -display)'{-d,-display}':X display:_x_display' \ - '-help[display help]' \ - '(-o --orientation)'{-o,--orientation}':rotation:(normal inverted left right 0 1 2 3)' \ - '(-q --query)'{-q,--query}'[display current state]' \ - '(-s --size)'{-s,--size}':size:' \ - '(-r --rate --refresh)'{*-r,*--rate,*--refresh}':target refresh rate:' \ - '(-v --version)'{-v,--version}'[display version]' \ - '-x[reflect across X axis]' \ - '-y[reflect across Y axis]' \ - '--screen:X screen number' \ - '--verbose[be more verbose]' \ - '--dryrun' \ - '--nograb' \ - '(--prop --properties)'{--prop,--properties}'[display the contents of properties for each output]' \ - '--fb:size:' \ - '--fbmm:size:' \ - '--dpi:dpi:' \ - "*--output:output to reconfigure:->outputs" \ - '*--auto' \ - "*--mode:mode:->modes" \ - '*--preferred' \ - '*--pos:position:' \ - '*--reflect:axes:(normal x y xy)' \ - '*--rotate:rotation:(normal inverted left right)' \ - "*--left-of:relative position to:->outputs" \ - "*--right-of:relative position to:->outputs" \ - "*--above:relative position to:->outputs" \ - "*--below:relative position to:->outputs" \ - "*--same-as:relative position to:->outputs" \ - '*--set:property:(Backlight scaling\ mode):value:->value' \ - '*--scale:output scaling:' \ - '*--transform:transformation matrix:' \ - '*--filter:mode:(nearest bilinear)' \ - '*--off[disable the output]' \ - '*--crtc:crtc to use:' \ - '*--panning:panning:' \ - '*--gamma:r\:g\:b:' \ - '*--primary' \ - '--noprimary' \ - '*--newmode:name: :clock MHz: :hdisp: :hsync-start: :hsync-end: :htotal: :vdisp: :vsync-start: :vsync-end: :vtotal:' \ - '*--rmmode:Mode name:' \ - "*--addmode:output:->outputs:name" \ - "*--delmode:output:->outputs:name" \ - '--listproviders' \ - '--setprovideroutputsource:provider:->providers:source:->providers' \ - '--setprovideroffloadsink:provider:->providers:sink:->providers' \ - '--listmonitors' \ - '--listactivemonitors' \ - '--setmonitor:name' \ - '--delmonitor:name' \ - && return 0 - -case $state in - value) - case $words[CURRENT-1] in - (scaling*" mode") - _description value expl "output property 'scaling mode'" - compadd "$@" "$expl[@]" None Full Center Full\ aspect && return 0 - ;; - esac - ;; - outputs) - local -a xrandr_output=(${(f)"$(_call_program outputs xrandr)"}) - _alternative \ - 'connected:connected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* connected*}%% *}}')' \ - 'disconnected:disconnected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* disconnected*}%% *}}')' \ - && return 0 - ;; - modes) - _wanted modes expl mode compadd \ - ${(Mun)$(_call_program modes xrandr):#[0-9]##x[0-9]##} && return 0 - ;; - providers) - local -a xrandr_providers=(${(f)"$(_call_program providers xrandr --listproviders)"}) - _wanted xrandr-providers expl $state_descr compadd ${${xrandr_providers}[2,-1]##*:} && return 0 - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xscreensaver b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xscreensaver deleted file mode 100644 index 1b57104b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xscreensaver +++ /dev/null @@ -1,17 +0,0 @@ -#compdef xscreensaver-command - -_arguments \ - '-demo[ask the xscreensaver process to enter interactive demo mode]' \ - '-prefs[ask the xscreensaver process to bring up the preferences panel]' \ - '-activate[turn on the screensaver]' \ - '-deactivate[turn off the screensaver]' \ - '-cycle[stop the current graphics demo and run a new one]' \ - '-next' \ - '-prev' \ - '-select[but runs the Nth element in the list of hacks]:element number:' \ - '-exit[causes the xscreensaver process to exit gracefully]' \ - '-restart[restart the screensaver process]' \ - '-lock[lock the screen immediately]' \ - '-version[prints the version of xscreensaver that is currently running]' \ - '-time[prints the time at which the screensaver last activated or deactivated]' \ - '-watch[prints a line each time the screensaver changes state]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xset deleted file mode 100644 index adda47f0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xset +++ /dev/null @@ -1,198 +0,0 @@ -#compdef xset - -local word=$'[^\0]#\0' -local nul=$'\0' - -local guard='-_xset_guard ${match[1]%?}' - -_xset_guard () { - local opt="$1" o - (( no[$opt]-- )) - for o in ${=eo[$opt]}; do - no[$o]=0 - done - : -} - -_xset_compopts () { - local expl - local opt tmp - - tmp=() - for opt in ${(k)no[(R)*~0]} - do - if (( $+desc[$opt] )); then - tmp=("$tmp[@]" "$opt:$desc[$opt]") - else - tmp=("$tmp[@]" "$opt") - fi - done - _describe -O options tmp -- || - _describe -O options allopts -- -} - -_xset_compfpadd () { - _files "$expl[@]" -/ -} - -_xset_compfpdel () { - compadd "$expl[@]" - ${(s:,:)${"$(xset q)"##* -Font Path: - #}%% -*} -} - -_regex_arguments _xset_parse \ - "/$word/" \ - \( "/-d(isplay|)$nul/" "$guard" "/$word/" ':option-display:display:_x_display' \ - \| "/-c$nul/" "$guard" \ - \| "/c$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-c-bool:click:(on off)' \ - \| "/[0-9]##$nul/" ':option-c-volume:volume:' \ - \| \) \ - \| "/-b$nul/" "$guard" \ - \| "/b$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-b-bool:bell:(on off)' \ - \| "/[0-9]##$nul/" ':option-b-volume:bell volume:' \ - \( "/[0-9]##$nul/" ':option-b-pitch:bell pitch:' \ - \( "/[0-9]##$nul/" ':option-b-duration:bell duration:' \ - \| \) \ - \| \) \ - \| \) \ - \| "/bc$nul/" "$guard" \ - \| "/-bc$nul/" "$guard" \ - \| "/fp$nul/" "$guard" "/$word/" ':option-fp:font path:(default rehash)' \ - \| "/(fp[+=]|[+]fp)$nul/" "$guard" "/$word/" ':option-fp-add:font path:{compset -P "*,"; _xset_compfpadd}' \ - \| "/(fp-|-fp)$nul/" "$guard" "/$word/" ':option-fp-del:font path:{compset -P "*,"; _xset_compfpdel}' \ - \| "/-led$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-led-number:led number:' \ - \| \) \ - \| "/led$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-led-bool:led:(on off)' \ - \| "/[0-9]##$nul/" ':option-led-number:led number:' \ - \| \) \ - \| "/m(ouse|)$nul/" "$guard" \ - \( "/default$nul/" ':option-mouse-default:mouse parameter:(default)' \ - \| "/[0-9]##(/[0-9]##|)$nul/" ':option-mouse-mult-div:accel_mult/accel_div:' \ - \( "/[0-9]##$nul/" ':option-mouse-threshold:threshold:' \ - \| \) \ - \| \) \ - \| "/[-+]dpms$nul/" "$guard" \ - \| "/dpms$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-dpms-standby:standby timeout:' \ - \( "/[0-9]##$nul/" ':option-dpms-suspend:suspend timeout:' \ - \( "/[0-9]##$nul/" ':option-dpms-off:off timeout:' \ - \| \) \ - \| \) \ - \| "/force$nul/" ':option-dpms-force:force DPMS state:(force)' \ - "/(on|standby|suspend|off)$nul/" ':option-dpms-state:DPMS state:(on standby suspend off)' \ - \) \ - \| "/s$nul/" "$guard" \ - \( "/(blank|noblank|expose|noexpose|default|on|activate|reset)$nul/" \ - ':option-s:screen saver:(blank noblank expose noexpose default on activate reset off)' \ - \| "/off$nul/" \( "/off$nul/" ':option-s-off-period:period off:(off)' \| \) \ - \| "/[0-9]##$nul/" ':option-s-timeout: :_numbers -u seconds length' \ - \( "/[0-9]##$nul/" ':option-s-period: :_numbers -u seconds period' \ - \| \) \ - \| \) \ - \| "/-r$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-r-keycode:keycode:' \ - \| \) \ - \| "/r$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-r-autorepeat:autorepeat:(on off)' \ - \| "/[0-9]##$nul/" ':option-r-keycode:keycode:' \ - \| \) \ - \| "/p$nul/" "$guard" \ - "/[0-9]##$nul/" ':option-p-pixel:pixel:' \ - "/$word/" ':option-p-color:color:_x_color' \ - \| "/(-|)k$nul/" "$guard" \ - \| "/(-|)q$nul/" "$guard" \ - \| "/[]/" ':options:options:_xset_compopts' \ - \) \# - -_xset () { - local expl allopts opt - typeset -A desc no eo - - desc=( - b 'specify bell parameters' - -b 'disable bell' - bc 'enable bug compatibility' - -bc 'disable bug compatibility' - c 'control key click' - -c 'disable key click' - -dpms 'disable DPMS' - +dpms 'enable DPMS' - dpms 'specify DPMS parameter' - fp\= 'set font path' - fp 'control font path' - -fp 'remove font path elements' - fp- 'remove font path elements' - +fp 'prepend font path elements' - fp+ 'append font path elements' - led 'control keyboard LEDs' - -led 'turn off all LEDs' - m 'specify mouse parameters' - mouse 'specify mouse parameters' - p 'specify pixel color values' - r 'enable autorepeat' - -r 'disable autorepeat' - s 'specify screen saver parameters' - q 'query current information' - k 'enable lock' - -k 'disable lock' - -display 'display' - ) - - no=( - -display 1 -d 0 - -c 1 c 1 - -b 1 b 1 - -bc 1 bc 1 - fp 1 fp= 1 +fp 1 fp+ 1 -fp 1 fp- 1 - -led 1 led 1 - mouse 1 m 0 - +dpms 1 -dpms 1 dpms 1 - s 1 - -r 1 r 1 - p 1 - -k 1 k 1 - -q 0 q 1 - ) - - allopts=() - for opt in ${(k)no} - do - if (( $+desc[$opt] )); then - allopts=("$allopts[@]" "$opt:$desc[$opt]") - else - allopts=("$allopts[@]" "$opt") - fi - done - - eo=( - -display '-display -d' - -d '-display -d' - -c '-c c' - c '-c c' - -b '-b b' - b '-b b' - -bc '-bc bc' - bc '-bc bc' - fp+ 'fp fp=' - fp- 'fp fp=' - +fp 'fp fp=' - -fp 'fp fp=' - m 'm mouse' - mouse 'm mouse' - -dpms '+dpms -dpms dpms' - +dpms '+dpms -dpms dpms' - dpms '+dpms -dpms dpms' - -k '-k k' - k '-k k' - ) - - _xset_parse -} - -_xset "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_arguments deleted file mode 100644 index e2efda61..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_arguments +++ /dev/null @@ -1,71 +0,0 @@ -#autoload - -# How to convert XrmOptionDescRec: - -# XrmOptionDescRec optionDescList[] = { -# ... -# {option, specifier, argKind, value}, -# ... -# }; - -# argKind argument for _xt_arguments -# XrmoptionNoArg option -# XrmoptionIsArg option -# XrmoptionStickyArg option-:message:action -# XrmoptionSepArg option:message:action -# XrmoptionResArg option:message:_x_resource -# XrmoptionSkipArg option:message:action -# XrmoptionSkipLine option:*::message:action -# XrmoptionSkipNArgs option:message[1]:action[1]:...:message[value]:action[value] - -# cf. XrmParseCommand(3X11), X11R6.4/xc/lib/Xt/Initialize.c, X(5) - -local ret long xargs opts rawret nm="$compstate[nmatches]" - -xargs=( - -+{rv,synchronous} - -{reverse,iconic} - '-background:background color:_x_color' - '-bd:border color:_x_color' - '-bg:background color:_x_color' - '-bordercolor:border color:_x_color' - '-borderwidth:border width:_x_borderwidth' - '-bw:border width:_x_borderwidth' - '-display:display:_x_display' - '-fg:foreground color:_x_color' - '-font:font:_x_font' - '-fn:font:_x_font' - '-foreground:foreground color:_x_color' - '-geometry:geometry:_x_geometry' - '-name:name:_x_name' - '-selectionTimeout:selection timeout (milliseconds):_x_selection_timeout' - '-title:title:_x_title' - '-xnllanguage:locale:_x_locale' - '*-xrm:resource:_x_resource' - '-xtsessionID:session ID:_xt_session_id' -) - -long=$argv[(I)--] -if (( long )); then - argv[long]=( "$xargs[@]" -- ) -else - set -- "$@" "$xargs[@]" -fi - -opts=() -while [[ $1 = -(O*|[CRWsw]) ]]; do - opts=($opts $1) - [[ $1 = -R ]] && rawret=yes - shift -done - -_arguments -R "$opts[@]" "$@" - -ret=$? - -if [[ "$ret" = 300 ]]; then - compstate[restore]='' - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_session_id b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_session_id deleted file mode 100644 index 3db911c7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xt_session_id +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_message -e ids 'session ID' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xterm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xterm deleted file mode 100644 index 180c2eb2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xterm +++ /dev/null @@ -1,32 +0,0 @@ -#compdef xterm - -_xt_arguments \ - -+{132,ah,ai,aw,bc,bdc,cb,cjk_width,cm,cn,cu,dc,fbb,fbx,fullscreen,hf,hm,hold,ie,im,itc,j,k8,l,lc,ls,maximized,mb,mesg,mk_width,nul,pc,pob,rvc,rw,s,samename,sb,sf,si,sk,sm,sp,t,u8,uc,ulc,ulit,ut,vb,wc,wf} \ - -{version,help,leftbar,rightbar,C} \ - '-report-'{charclass,colors,fonts,icons,xres} \ - '-T:title' \ - '-b:inner border size:' \ - '-baudrate:rate [38400]' \ - '-bcf:time text cursor is off when blinking (milliseconds):' \ - '-bcn:time text cursor is on when blinking (milliseconds):' \ - '-cc:character class:' \ - '-class:string' \ - '-cr:text cursor color:_x_color' \ - '-e:program: _command_names -e:*::program arguments: _normal' \ - '-fa:font pattern:_xft_fonts' \ - '-fb:bold font:_x_font' \ - '-fi:icon font:_x_font' \ - '-hc:background color for highlighted text:_x_color' \ - '-mc:multi-click threshold (milliseconds):' \ - '-ms:pointer cursor color:_x_color' \ - '-n:icon name' \ - '-nb:margin bell number:' \ - '-selbg:color:_x_color' \ - '-selfg:color:_x_color' \ - '-sh:scaling' \ - '-sl:save lines:' \ - '-ti:terminal ID:_terminals' \ - '-tm:terminal setting:' \ - '-tn:terminal type:' \ - '-ziconbeep:iconbeep (percent):' \ - '-S-:pseudo-terminal and file descriptor:' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xv deleted file mode 100644 index 513a953d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xv +++ /dev/null @@ -1,45 +0,0 @@ -#compdef xv - -_x_arguments \ - -{help,quick24,slow24,best24,noqcheck,pkludge,RM} \ - -+{fixed,rw,perfect,owncmap,stdcmap,cecmap,ninstall,8,24,root,noresetroot,max,maxpect,quit,clear,cmap,imap,cemap,cmtmap,vsmap,nopos,dither,smooth,raw,acrop,4x3,hflip,vflip,norm,hist,mono,rv,wloop,random,loadclear,nofreecols,rgb,hsv,lbrowse,nostat,2xlimit,nolimits,close,iconic,viewonly,poll,vsperfect,vsdisable,nodecor} \ - '-fg:foreground color:_x_color' \ - '-bg:background color:_x_color' \ - '-hi:top left shadow color:_x_color' \ - '-lo:bottom right shadow color:_x_color' \ - '-bw:border width' \ - '-geometry:geometry:_x_geometry' \ - '-expand:expansion factor' \ - '-aspect:aspect ratio (e.g. 4:3)' \ - '-ncols:maximum number of colors used' \ - '-rmode:root display mode:((0\:tiling 1\:integer\ tiling 2\:mirrored\ tiling 3\:integer\ mirrored\ tiling 4\:centered\ tiling 5\:centered\ tiling\ on\ solid\ background 6\:centered\ tiling\ on\ '\\\''warp'\\\''\ background 7\:centered\ tiling\ on\ '\\\''brick'\\\''\ background 8\:symmetrical\ tiling 9\:symmetrical\ mirrored\ tiling))' \ - '-rfg:root foreground color:_x_color' \ - '-rbg:root background color:_x_color' \ - '-cgeom:control window geometry:_x_geometry' \ - '-igeom:info window geometry:_x_geometry' \ - '-cegeom:color editor window geometry:_x_geometry' \ - '-cmtgeometry:comments window geometry:_x_geometry' \ - '-tgeometry:text view window geometry:_x_geometry' \ - '-vsgeometry:visual schauzer geometry:_x_geometry' \ - '-crop:left border: :top border: :width: :height' \ - '-rotate:rotation angle:(0 90 -90 +90 180 -180 +180 270 -270 +270)' \ - '-gamma:gamma value' \ - '-cgamma:red gamma value: :green gamma value: :blue gamma value' \ - '-preset:default preset (1-4):(1 2 3 4)' \ - '-white:'"'"'white'"'"' color:_x_color' \ - '-black:'"'"'black'"'"' color:_x_color' \ - '-wait:seconds to wait' \ - '-visual:visual:_x_visual' \ - '-cursor:cursor character number' \ - '-icgeometry:icon geometry:_x_geometry' \ - '-dir:directory:_files -/' \ - '-flist:file list file:_files' \ - '-drift:x movement correction: :y movement correction' \ - '-mfn:mono spaced font:_x_font' \ - '-name:window name:_x_name' \ - '-+grabdelay:grab delay (seconds)' \ - '-gsdev:ghostscript device' \ - '-gsres:ghostscript resolution' \ - '-gsgeom:ghostscript page size' \ - '-DEBUG:debug level' \ - '*:picture file:_files -g \*.\(\#i\)\(png\|gif\|jpeg\|jpg\|tiff\|tif\|pbm\|pgm\|ppm\|xbm\|xpm\|ras\(\|t\)\|tga\|rle\|rgb\|bmp\|pcx\|fits\|pm\)\(-.\)' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xwit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xwit deleted file mode 100644 index eb616ada..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xwit +++ /dev/null @@ -1,176 +0,0 @@ -#compdef xwit - -local word=$'[^\0]#\0' -local nul=$'\0' - -local guard='-_xwit_guard ${match[1]%?}' - -_xwit_guard () { - local opt="$1" o - (( no[$opt]-- )) - for o in ${=eo[$opt]}; do - no[$o]=0 - done - : -} - -_xwit_compopts () { - local expl - local opt tmp - - tmp=() - for opt in ${(k)no[(R)*~0]} - do - if (( $+desc[$opt] )); then - tmp=("$tmp[@]" "$opt:$desc[$opt]") - else - tmp=("$tmp[@]" "$opt") - fi - done - _describe -o options tmp -- || - _describe -o options allopts -- - -# compadd "$expl[@]" - ${(k)no[(R)*~0]} || -# compadd "$expl[@]" - ${(k)no} -} - -_regex_arguments _xwit_parse \ - "/$word/" \ - \( "/-display$nul/" "$guard" "/$word/" ':option-display:display:_x_display' \ - \| "/-(sync|pop|open|iconify|unmap|root|current|select|(no|)(save|backingstore|saveunder))$nul/" "$guard" \ - \| "/-resize$nul/" "$guard" \ - "/$word/" ':option-resize-width:width:' \ - "/$word/" ':option-resize-height:height:' \ - \| "/-rows$nul/" "$guard" "/$word/" ':option-rows:rows:' \ - \| "/-columns$nul/" "$guard" "/$word/" ':option-columns:columns:' \ - \| "/-move$nul/" "$guard" \ - "/$word/" ':option-move-x:x:' \ - "/$word/" ':option-move-y:y:' \ - \| "/-rmove$nul/" "$guard" \ - "/$word/" ':option-rmove-x:x:' \ - "/$word/" ':option-rmove-y:y:' \ - \| "/-warp$nul/" "$guard" \ - "/$word/" ':option-warp-x:x:' \ - "/$word/" ':option-warp-y:y:' \ - \| "/-rwarp$nul/" "$guard" \ - "/$word/" ':option-rwarp-x:x:' \ - "/$word/" ':option-rwarp-y:y:' \ - \| "/-colormap$nul/" "$guard" \ - "/$word/" ':option-colormap:colormapid:_x_colormapid' \ - \| "/-(name|label)$nul/" "$guard" \ - "/$word/" ':option-name:name:_x_name' \ - \| "/-iconname$nul/" "$guard" \ - "/$word/" ':option-name:iconname:_x_name' \ - \| "/-bitmap$nul/" "$guard" \ - "/$word/" ':option-bitmap:bitmap file:_files -g *.xbm\(-.\)' \ - \| "/-mask$nul/" "$guard" \ - "/$word/" ':option-mask:mask file:_files -g *.xbm\(-.\)' \ - \| "/-iconmove$nul/" "$guard" \ - "/$word/" ':option-iconmove-x:x:' \ - "/$word/" ':option-iconmove-y:y:' \ - \| "/-id$nul/" "$guard" "/$word/" ':option-id:window id:_x_window' \ - \| "/-(no|)keyrepeat$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-keyrepeat-keycode:keycode:{[[ -prefix [0-9]# ]] && _message -e keycodes keycode}' \ - \( "/-$nul/" "/[0-9]##$nul/" \ - ':option-keyrepeat-last-keycode:last keycode:{[[ -prefix [0-9]# ]] && _message -e keycodes "last keycode"}' \| \) \) \# \ - \| "/-names$nul/" "$guard" \ - "/$word/" ':option-names:window name:_x_window -n' \# \ - \| "/[]/" ':options:option:_xwit_compopts' \ - \) \# - -_xwit () { - local expl allopts - typeset -A desc no eo - - desc=( - -display 'specify display' - -sync 'synchronous mode' - -pop 'pop up window' - -open 'pop up window' - -iconify 'iconify window' - -unmap 'iconify window by unmapping' - -root 'select the root window' - -current 'select the window under current pointer' - -select 'select the window interactively' - -save 'activate screen saver' - -backingstore 'enable backingstore' - -saveunder 'enable saveunder' - -nosave 'reset screen saver' - -nobackingstore 'disable backingstore' - -nosaveunder 'disable saveunder' - -resize 'resize window' - -rows 'resize window rows' - -columns 'resize window columns' - -move 'move window' - -rmove 'move window relatively' - -warp 'warp pointer' - -rwarp 'warp pointer relatively' - -colormap 'install colormap' - -name 'specify window name' - -label 'specify window name' - -iconname 'specify icon name' - -bitmap 'specify icon bitmap' - -mask 'specify icon mask' - -iconmove 'move icon' - -id 'select the window by window-ID' - -keyrepeat 'enable keyrepeat' - -nokeyrepeat 'disable keyrepeat' - -names 'select the window by name' - ) - - no=( - -display 1 - -sync 1 - -pop 1 -open 0 - -iconify 1 - -unmap 1 - -root 1 - -current 1 - -select 1 - -save 1 - -backingstore 1 - -saveunder 1 - -nosave 1 - -nobackingstore 1 - -nosaveunder 1 - -resize 1 - -rows 1 - -columns 1 - -move 1 - -rmove 1 - -warp 1 - -rwarp 1 - -colormap 1 - -name 1 -label 0 - -iconname 1 - -bitmap 1 - -mask 1 - -iconmove 1 - -id 1 - -keyrepeat 1 - -nokeyrepeat 1 - -names 1 - ) - - allopts=() - for opt in ${(k)no} - do - if (( $+desc[$opt] )); then - allopts=("$allopts[@]" "$opt:$desc[$opt]") - else - allopts=("$allopts[@]" "$opt") - fi - done - - eo=( - -root '-root -current -select -id -names' - -current '-root -current -select -id -names' - -select '-root -current -select -id -names' - -id '-root -current -select -id -names' - -names '-root -current -select -id -names' - ) - - _xwit_parse -} - -_xwit "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xxd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xxd deleted file mode 100644 index 31d26ab6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xxd +++ /dev/null @@ -1,48 +0,0 @@ -#compdef xxd - -local arguments - -# Output options compatibility matrix -# -# 0 - options conflict -# 1 - options coexist -# -# (The matrix is symmetric, so implied values are not shown.) -# -# bEipru -# bx10000 -# E-x0001 -# i--x001 -# p---x11 -# r----x0 -# u-----x - -# xxd supports either double or single dashes on long options. -[[ -prefix -- ]] && compset -P - - -arguments=( - # output options - '(-b -bits -i -include -p -postscript -plain -ps -r -revert -u -uppercase)'{-b,-bits}'[output in binary digits, rather than hex]' - '( -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-E,-EBCDIC}'[print human-readable part in EBCDIC rather than ASCII]' - '(-i -include -p -postscript -plain -ps -r -revert)'{-e,-endian}'[little-endian dump]' - '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-i,-include}'[output in C include file style]' - '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -C -capitalize )'{-p,-postscript,-plain,-ps}'[read or write a plain hexdump (no line numbers or ASCII rendering)]' - - '(-b -bits -E -EBCDIC -i -include -r -revert -u -uppercase)'{-r,-revert}'[reverse mode\: read a hex dump and output binary data]' - '(-b -bits -r -revert -u -uppercase)'{-u,-uppercase}'[output upper-case hex digits]' - - '(- :)'{-h,-help}'[display usage message]' - '(- :)'{-v,-version}'[show program version]' - '*'{-a,-autoskip}"[a single '*' replaces runs of NUL (toggleable)]" - '(-C -capitalize)'{-C,-capitalize}'[capitalize variable names in C include file style]' - {-c+,-cols}'[specify number of octets per line]: :_guard "[0-9a-fA-Fx]#" "number of octets per line"' - {-g+,-groupsize}'[specify the number of octets per group]: :_guard "[0-9]#" "number of octets per group"' - {-l+,-len}'[specify number of octets to output]: :_guard "[0-9]#" "number of octets to output"' - {-o+,-offset}'[add specified offset to displayed file position]:offset' - '-d[show offset in decimal instead of hex]' - {-s,-skip,-seek}'[specify file offset to dump from]: :_guard "[0-9]#" "file offset to dump from (absolute or relative)"' - - ': :_files' -) - -_arguments -S $arguments diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xz b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xz deleted file mode 100644 index a4dfea1f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_xz +++ /dev/null @@ -1,86 +0,0 @@ -#compdef xz unxz xzcat=unxz lzma=xz unlzma=unxz lzcat=unxz -redirect-,<,unxz=unxz -redirect-,>,xz=unxz -redirect-,<,xz=xz -value-,XZ_OPT,-default- -value-,XZ_DEFAULTS,-default- - -local decompress files expl state line curcontext="$curcontext" ret=1 -typeset -A opt_args - -files=( '(--files --files0)*:files:->files' ) -case "$service" in - *XZ_*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - files=() - ;& - xz) decompress=no;& - unxz) _arguments -C -s -S "$files[@]" \ - '--robot[use machine-parsable messages]' \ - + 'common' \ - '(I -k --keep)'{-k,--keep}"[keep (don't delete) input files]" \ - '(I -f --force)'{-f,--force}'[force overwrite]' \ - '(I -c --stdout)'{-c,--stdout}'[write on standard output]' \ - '(I)*'{-q,--quiet}'[suppress all warnings]' \ - '(I)*'{-v,--verbose}'[verbose mode]' \ - '(I * --files --files0)--files=-[read list of files to process from file]::file:_files' \ - '(I * --files --files0)--files0=-[read null terminated list of files to process from file]::file:_files' \ - '(I -F --format)'{-F,--format}'=[specify file format]:format:(auto xz lzma raw)' \ - '(I -T --threads)'{-T+,--threads=}'[use specified number of threads]:threads [1]' \ - '(I -M --memlimit --memory)'{-M+,--memlimit=,--memory=}'[set memory usage limit]:memory usage' \ - '(I)--no-adjust[give error if settings exceed memory limit]' \ - '(I -Q --no-warn)'{-Q,--no-warn}'[make warnings not affect exit status]' \ - + 'comp' \ - "(I decomp)"{-z,--compress}'[compress]' \ - '(I decomp -e --extreme)'{-e,--extreme}'[try to improve compression ratio by using more CPU time]' \ - '(I decomp -S --suffix)'{-S+,--suffix=}'[use specified suffix for compressed files]:suffix [.xz]' \ - '(I decomp -C --check)'{-C,--check}'=[integrity check type]:check type:(none crc32 crc64 sha256)' \ - '(I decomp)--block-size=[start a new .xz block after specified bytes of input]:size' \ - '(I decomp)--block-list=[start a new .xz block after specified intervals of uncompressed data]:size' \ - '(I decomp)--flush-timeout=[specify maximum time between flushing of output]:time (ms) [0]' \ - '(I decomp)--memlimit-compress=[set memory usage limit for compression]:memory usage' \ - + 'decomp' \ - '(I comp level filters)'{-d,--decompress}'[decompress]' \ - '(I comp level filters)'{-t,--test}'[test compressed file integrity]' \ - '(I comp level filters)'{-l,--list}'[list information about .xz files]' \ - "(I comp level filters)--ignore-check[don't verify integrity when decompressing]" \ - '(I comp level filters)--single-stream[decompress only the first stream]' \ - "(I comp level filters)--no-sparse[don't create sparse files when decompressing]" \ - '(I comp level filters)--memlimit-decompress=[set memory usage limit for decompression]:memory usage' \ - + '(I)' \ - '(* comp decomp level filters common)--info-memory[display amount of RAM and memory usage limits]' \ - '(- *)'{-h,--help}'[display help message]' \ - '(- *)'{-H,--long-help}'[display the long help (lists also the advanced options)]' \ - '(* comp decomp level filters common)'{-V,--version}'[display version number]' \ - + '(level)' \ - '(I filters decomp)-'{-best,-fast,1,2,3,4,5,6,7,8,9} \ - + filters \ - '(I level decomp --extreme)'--{x86,powerpc,ia64,arm,armthumb,sparc}=-'[add a branch/call/jump filter]::option:->bcj-options' \ - '(I level decomp --extreme)'--lzma{1,2}=-'[add lzma filter]::option:->lzma-options' \ - '(I level decomp --extreme)--delta=-[add delta filter]::option:->delta-options' && ret=0 - ;; -esac - -case $state in - files) - (( $+opt_args[-z] || $+opt_args[--compress] )) && decompress=no - [[ -n ${(k)opt_args[(i)decomp*]} ]] && unset decompress - if [[ -z "$decompress" ]]; then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.(xz|txz|lzma|tlz)(-.)' && return - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(xz|txz|lzma|tlz)(-.)' && return - fi - ;; - lzma-options) - _values -s , options 'preset:preset' 'dict:size' 'lc:context bits' \ - 'lp:position bits' 'pb:position bites' 'mf:matchfinder:(hc3 hc4 bt2 bt3 bt4)' \ - 'mode:mode:(fast normal)' 'nice:length' 'depth:depth' && ret=0 - ;; - bcj-options) - _values options 'start:offset' && return - ;; - delta-options) - _values options 'dist:distance' && return - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yafc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yafc deleted file mode 100644 index 946c0b4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yafc +++ /dev/null @@ -1,44 +0,0 @@ -#compdef yafc - -_yafc() { - local arguments - arguments=( - '(--anon -a)'{--anon,-a}'[try an anonymous login]' - '(--debug -d)'{--debug,-d}'[print all messages to/from server]' - '(--dump-rc -D)'{--dump-rc,-D}'[print the default configuration file]' - '(--mechanism -m)'{--mechanism=-,-m}'[specify a security mechanism]:security mechanism:(krb4 krb5 none)' - '(--norc -n)'{--norc,-n}"[don't read the users configuration file]" - '(--noproxy -p)'{--noproxy,-p}"[don't connect via the proxy]" - '(--quiet -q)'{--quiet,-q}"[don't print the welcome message]" - '(--rcfile -r)'{--rcfile=-,-r}'[specify a configuration file]:configuration file:_files' - '(--trace -t)'{--trace=-,-t-}'[specify a trace file]:trace file:_files' - '(--noauto -u)'{--noauto,-u}"[don't login automatically]" - '(--noalias -U)'{--noalias,-U}'[as --noauto, but bookmark aliases is disabled]' - '(--verbose -v)'{--verbose,-v}'[print all responses received]' - '(--wait -w)'{--wait,-w=}'[specify a waiting time between connection attempts]:wait time (seconds)' - '(--workdir -W)'{--workdir=,-W+}'[use a different working directory]:working directory:_directories' - '(- *)'{--version,-V}'[print version information]' - '(- *)'{--help,-h}'[print a short help description]' - '*:address:_yafc_address' - ) - - _arguments -S -s $arguments -} - - (( $+functions[_yafc_bookmarks] )) || -_yafc_bookmarks() { - local bkmfile=~/.yafc/bookmarks - - if [[ -f $bkmfile ]]; then - local -a bkms expl - bkms=(${${${(M)"${(f)$(<$bkmfile)}":#machine*alias ##\'*\' #}##machine*alias ##\'}%%\' #}) #" vim syntax goes crazy - _wanted bookmarks expl 'bookmark' compadd "$@" -a - bkms - fi -} - - (( $+functions[_yafc_address] )) || -_yafc_address() { - _alternative 'bookmarks:bookmark:_yafc_bookmarks' '_hosts' -} - -_yafc "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yast b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yast deleted file mode 100644 index 98585f06..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yast +++ /dev/null @@ -1,14 +0,0 @@ -#compdef yast yast2 - -_arguments \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)'{-l,--list}'[list all available modules]' \ - '(-g --geometry --ncurses)'{-g,--geometry}'[specify default window size]:_x_geometry' \ - '--qt[use the QT graphical frontend]' \ - '--gtk[use the GTK graphical frontend]' \ - '--ncurses[use the curses text-mode frontend]' \ - '--noborder[no window manager border for main window]' \ - '--fullscreen[use full screen]' \ - '(-)'{-i,--install}'[install package]:*:package file:_files -g "*.rpm(-.)"' \ - '(-)--remove[remove package]:*:package' \ - '1:module:( ${${(f)"$($words[1] -l 2>/dev/null)"}[2,-1]##* } )' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yodl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yodl deleted file mode 100644 index 55cbc0a5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yodl +++ /dev/null @@ -1,14 +0,0 @@ -#compdef -P yodl(|2*) - -_arguments -s \ - '-D-[define symbol]:define symbol:' \ - '-I-[set include directory]:include directory:_files -/' \ - '-l-[set live data policy]:live data policy:((0\:suppress\ SYSTEM\ and\ PIPETHROUGH 1\:require\ user\ confirmation 2\:display\ macros 3\:no\ confirmation,\ no\ display))' \ - '-o-[specify output file]:output file:_files' \ - '-P-[specify preload command]:preload command:' \ - '-p-[specify maximum number of passes]:maximum number of passes:' \ - '-t[enable tracing mode]' \ - '-v[enable verbose mode]' \ - '-w[enable warnings]' \ - '-h[show usage information]' \ - '*:YODL input file:_files -g "*.(#i)yo(|dl)(-.)"' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yp deleted file mode 100644 index ed376143..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yp +++ /dev/null @@ -1,114 +0,0 @@ -#compdef ypcat ypmatch yppasswd ypwhich ypset ypserv ypbind yppush yppoll ypxfr domainname - -local curcontext="$curcontext" line state expl args ret=1 -typeset -A opt_args - -if (( ! $+_cache_yp_maps )); then - typeset -ga _cache_yp_maps _cache_yp_nicks - _cache_yp_maps=( "${(@)${(@f)$(_call_program maps ypwhich -m)}%% *}" ) - _cache_yp_nicks=( "${(@)${(@)${(@f)$(_call_program names ypwhich -x)}#*\"}%%\"*}" ) -fi - -args=( - '(-x)-d[specify domain]:domain name' \ - '(-x)-k[display keys]' \ - '(-x)-t[inhibit nicknames]' \ - '(: -d -k -t)-x[display nicknames]' \ -) - -case "$service" in -ypcat) - _arguments -C -s $args ':map name:->map' && ret=0 - ;; -ypmatch) - _arguments -C -s $args '::key map:->keymap' ':map name:->map' && - ret=0 - ;; -yppasswd) - _users - return - ;; -ypwhich) - _arguments -C \ - '(-x)-d[specify domain]:domain name' \ - '(-x -V2 -m -t)-V1[identify version 1 servers]' \ - '(-x -V1 -m -t)-V2[identify version 2 servers]' \ - '(: -x -V1 -V2 -m)-t[specify map name]:map name:->maponly' \ - '(: -x -V1 -V2 -t)-m[specify map or nick name]:map or nick name:->map' \ - '(: -d -m -t -V1 -V2)-x[display nicknames]' \ - ':host:_hosts' && ret=0 - ;; -ypset) - _arguments -C \ - '(-V2)-V1[bind version 1 servers]' \ - '(-V1)-V2[bind version 2 servers]' \ - '-d[specify domain]:domain name' \ - '-h[set NIS binding on specified host]:host:_hosts' \ - ':server:_hosts' && ret=0 - ;; -ypserv) - _arguments -C \ - '-a[specify database routines]:database routines:((b\:btree d\:dbm/ndbm h\:hash))' && ret=0 - ;; -ypbind) - _arguments -C \ - '-s[allow secure mode for ypbind]' \ - '-S[set domain and servers]:domain:->servers' \ - '(-ypsetme)-ypset[accept all ypset requests]' \ - '(-ypset)-ypsetme[accept only local ypset requests]' && ret=0 - ;; -yppush) - _arguments -C \ - '-d[specify domain]:domain name' \ - '-v[print messages]' \ - ':map name:->map' && ret=0 - ;; -yppoll) - _arguments -C \ - '-d[specify domain]:domain name' \ - '-h[ask specified yp server]:host:_hosts' \ - ':map name:->map' && ret=0 - ;; -ypxfr) - _arguments -C \ - '-a[specify database routines]:database routines:((b\:btree d\:dbm/ndbm h\:hash))' \ - '-f[force transfer]' \ - "-c[don't clear current map]" \ - '-d[specify domain]:domain name' \ - '-h[get map from specified host instead of master]:host:_hosts' \ - '-C[call back]:transaction ID: :program number: :IP address: :port number' \ - ':map name:->map' && ret=0 - ;; -domainname) - _message -e new-domains 'new domain name' - return 1 - ;; -esac - -[[ "$state" = keymap ]] && _message -e keys 'key' - -if [[ "$state" = map* ]]; then - if [[ $+opt_args[-t] -eq 0 && "$state" != maponly ]]; then - _tags maps nicknames - else - _tags maps - fi - - while _tags; do - # The `-M ...' allows `pa.n<TAB>' to complete to `passwd.byname'. - _requested maps expl 'map name' \ - compadd -M 'l:.|by=by l:.|=by r:|.=* r:|=*' -a \ - _cache_yp_maps && ret=0 - _requested nicknames expl nicknames \ - compadd -a _cache_yp_nicks && ret=0 - (( ret )) || return 0 - done -elif [[ "$state" = servers ]]; then - if compset -P '*,'; then - _wanted hosts expl server _hosts -qS, && ret=0 - else - _message -e domains 'domain name' - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yum b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yum deleted file mode 100644 index 9425ba57..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_yum +++ /dev/null @@ -1,537 +0,0 @@ -#compdef yum yumdb - -# Main dispatcher -_yum() { - local curcontext="$curcontext" state lstate line - - if [[ $service = yumdb ]]; then - _yumdb - return - fi - - _arguments -s \ - '(- *)'{-h,--help}'[show the help message]' \ - '(-t --tolerant)'{-t,--tolerant}'[be tolerant of errors]' \ - '(-C --cacheonly)'{-C,--cacheonly}'[run entirely from cache]' \ - '(-c --config)'{-c,--config=}'[config file location]:Yum conf file:_files' \ - '(-R --randomwait)'{-R,--randomwait=}'[specify maximum command wait time]:max wait time (minutes)' \ - '(-d --debuglevel)'{-d,--debuglevel=}'[debug level (0-10)]:debug level' \ - '--showduplicates[show duplicates, in repos, in list/search commands]' \ - '(-e --errorlevel)'{-e,--errorlevel=}'[error level (0-10)]:error level' \ - '--rpmverbosity=[specify rpm debug level]:debug level' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[quiet operation]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[verbose operation]' \ - '(-y --assumeyes --assumeno)'{-y,--assumeyes}'[answer yes to all questions]' \ - '(-y --assumeyes --assumeno)--assumeno[answer no to all questions]' \ - '(- *)--version[display version information]' \ - '--installroot=[set install root]:install root:_files -/' \ - '*--enablerepo=[enable or or more repositories]:repository:_sequence _yum_disabled_repos' \ - '*--disablerepo=[disable one or more repositories]:repository:_sequence _yum_enabled_repos' \ - \*{-x,--exclude=}'[exclude package by name or glob]:package:_yum_all_pkgs' \ - '--disableexcludes=[disable exclude]:exclude:(all main)' \ - '--disableincludes=[disable include]:include' \ - '--obsoletes[enable obsoletes processing during updates]' \ - '--noplugins[disable yum plugins]' \ - '--nogpgcheck[disable gpg signature checking]' \ - '--disableplugin=[disable plugin]:plugin' \ - '--enableplugin=[enable plugin]:plugin' \ - '--skip-broken[skip packages with depsolving problems]' \ - '--color=[control whether color is used]:(always auto never)' \ - '--releasever=[set value of $releasever in yum config and repo files]:value' \ - "--downloadonly[don't update, just download]" \ - '--downloaddir=[specify alternate directory to store packages]:directory:_directories' \ - '--setopt=[set arbitrary config and repo options]:option' \ - '--bugfix[include bugfix relevant packages in updates]' \ - '--security[include security relevant packages in updates]' \ - '--advisory=[include packages needed to fix the given advisory]:advisory' \ - '--bzs=[include packages needed to fix the given BZ]:BZ' \ - '--cves=[include packages needed to fix the given CVE]:CVE' \ - '--sec-severity=[include security relevant packages matching specific severity]:severity' \ - {*-x,*--exclude=}'[exclude package(s) by name or glob]:exclude packages' \ - '*::yum command:_yum_command' -} - -_yumdb() { - local curcontext="$curcontext" desc ret=1 - local -a state line - - _arguments -C \ - '(- 1)--version[display version information]' \ - '(- 1)'{-h,--help}'[display help information]' \ - '--noplugins[disable yum plugin support]' \ - '(-c --config)'{-c,--config=}'[specify config file location]:Yum conf file:_files' \ - '1:command:(( - get\:get\ value\ of\ given\ key - set\:set\ value\ of\ given\ key - del\:delete\ given\ key - rename\:rename\ given\ key - rename-force\:rename\ given\ key,\ potentially\ removing\ new-key - copy\:copy\ given\ key - copy-force\:copy\ given\ key,\ potentially\ removing\ new-key - search\:search\ packages\ for\ given\ key - exist\:list\ packages\ that\ have\ given\ key - unset\:list\ packages\ that\ lack\ given\ key - info\:display\ data\ in\ the\ yumdb - sync\:add\ package\ data\ from\ repositories - sync-force\:replace\ package\ data\ from\ repositories - undeleted shell - ))' \ - '*:: :->args' && ret=0 - - if [[ -n $state ]]; then - case $CURRENT:$words[1] in - 3:set|<3->:search) - case $words[2] in - reason) _wanted reasons expl reason compadd user dep ;; - *) _message -e values value ;; - esac - ;; - 3:(copy|rename)*) desc='new key';& - 2:(^(info|sync))) - _wanted -x keys expl "${desc:-key}" compadd \ - checksum_data checksum_type command_line from_repo from_repo_revision \ - from_repo_timestamp reason releasever installonly origin_url changed_by && ret=0 - ;; - *) _yum_act_on_installed_pkgs && ret=0 ;; - esac - fi - return ret -} - -(( $+functions[_yum_command] )) || _yum_command() -{ - local -a _yum_cmds - _yum_cmds=( - "install:install the latest version of a package or group of packages" - "erase:remove an installed package (with its dependencies)" - "remove:remove an installed package (with its dependencies)" - "clean:clean local yum cache" - "deplist:gives a list of all dependencies for a package" - "check-update:check if any updates are available" - "info:get description of available packages" - "list:is used to list various information about packages" - "groupinfo:get info on package groups" - "groupinstall:install a package group or groups" - "groupremove:remove a package group or groups" - "grouplist:list package groups" - "groupupdate:update a package group or groups" - "localinstall:install packages with local rpm files" - "localupdate:update packages with local rpm files" - "makecache:makes a local yum cache" - "provides:find out which package provides some feature or file" - "whatprovides:find out which package provides some feature or file" - "resolvedep:list packages providing the specified dependencies" - "search:find any packages matching pattern" - "shell:enter the 'yum shell'" - "update:update one or more packages" - "upgrade:upgrade one or more packages" - "update-to:update one or more packages taking obsoletes into account" - "upgrade-to:upgrade one or more packages taking obsoletes into account" - "history:view past transactions" - "help:produce help for all or given command" - "load-transaction:load a saved transaction from a textfile" - "load-ts:load a saved transaction from a textfile" - "check:check for problems in the rpmdb" - "reinstall:reinstall a package" - "downgrade:downgrade a package" - "repolist:display the configured software repositories" - "distribution-synchronization:synchronize installed packages to the latest available versions" - "distro-sync:synchronize installed packages to the latest available versions" - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'yum command' _yum_cmds - else - local curcontext="$curcontext" ret=1 - - cmd="${${_yum_cmds[(r)$words[1]:*]%%:*}}" - # Deal with any aliases - case $cmd in - remove) cmd="erase";; - whatprovides) cmd="provides";; - upgrade) cmd="update";; - upgrade-to) cmd="update";; - update-to) cmd="update";; - load-ts) cmd="load-transaction";; - distro-sync) cmd="distribution-synchronization";; - esac - - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:yum-${cmd}:" - - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _yum_caching_policy - fi - - if [ "$cmd" = "help" ]; then - if (( CURRENT == 2 )); then - _describe -t commands 'yum command' _yum_cmds && ret=0 - else - # help takes one argument - _message 'no more arguments' - fi - elif ! _call_function ret _yum-$cmd; then - _default && ret=0 - fi - else - # fallback to default completion for unknown commands - _default && ret=0 - fi - return ret - fi -} - -# Expand next argument after 'yum check' -_yum-check() { - ##chkargs=("dependencies" "duplicates" "obsoletes" "provides" "all") # according to man page - ##chkargs=("dependencies" "duplicates" "all") # according to help - #chkargs=("dependencies" "duplicates" "provides" "all") # what works for me - _values -w 'check argument' dependencies duplicates provides all -} - -# Expand next argument after 'yum repolist' -_yum-repolist() { - _yum_get_repos - _alternative \ - 'filters:filter:(all enabled disabled)' \ - 'repositories:repository:compadd -a yum_enabled_repos yum_disabled_repos' -} - -_yum_ids() { - # the last argument will be the first valid transaction ID to be suggested - # all other arguments are forwarded to compadd - # - # maxid is the last transaction ID known to yum - local maxid - - maxid=${${(M)${(f)"$(_call_program transactions yum history stats)"}:#Transactions:*}##* } - - # `$@' are the arguments - # `${(@)@[...]}' selects a subrange from $@ - # `${(@)@[1,-2]}' are all except the last argument - # `$@[$#]' is the last argument, e.g. the first suggestable ID - compadd "${(@)@[1,-2]}" -o numeric -M "B:0=" {$@[$#]..$maxid} -} - -_yum_ranges() { - if compset -P 1 '*..'; then - _yum_ids "$@" ${(S)IPREFIX#..} - elif compset -S '..*'; then - _yum_ids "$@" 1 - else - _yum_ids "$@" -S '..' 1 - fi -} - -# Expand next argument after 'yum history' -_yum-history() { - local expl - if (( CURRENT == 2 )); then - _wanted commands expl "yum history command" compadd info list \ - packages-list packages-info summary addon-info redo undo \ - roll-back new sync stats - elif (( CURRENT == 3 )); then - local -a ID_commands - local -a ID_range_commands - local -a package_commands - local -a alts - alts=() - #ID_commands=('summary' 'info' 'list' 'stats' 'addon-info') - ID_commands=('addon-info') - ID_range_commands=('summary' 'info' 'list' 'stats') - package_commands=('summary' 'info' 'list' 'stats' 'packages-list' 'packages-info') - #package_commands=('packages-list' 'packages-info') - # packages-list, packages-info : needs package name - # summary, info, list, stats : ID, ID range, package name - # addon-info : ID - # redo, undo, roll-back, sync : unknown - - [[ -n "${ID_commands[(r)$words[2]]}" ]] && alts+=('special:special ID:(last)') - [[ -n "${ID_commands[(r)$words[2]]}" ]] && alts+=('regular:ID:_yum_ids 1') - [[ -n "${ID_range_commands[(r)$words[2]]}" ]] && alts+=('regular:transaction range:_yum_ranges') - [[ -n "${ID_range_commands[(r)$words[2]]}" ]] && alts+=('special:all transactions:(all)') - [[ -n "${package_commands[(r)$words[2]]}" ]] && alts+=("package:package:_yum_act_on_installed_pkgs") - - if (( ${+alts[1]} )) ; then - _alternative "$alts[@]" - else - _default - fi - elif (( CURRENT == 4 )); then - if [ "$words[2]" = "addon-info" ]; then - _wanted arguments expl 'additional option' compadd saved_tx - fi - fi -} - - -# Fills the all pkg cache -_yum_all_pkgs() -{ - (( $+_yum_all_pkgs[1] )) && return - if _cache_invalid yum-all-packages || ! _retrieve_cache yum-all-packages; then - _yum_all_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list all)"}// *}:#*.*} ) - _store_cache yum-all-packages _yum_all_pkgs - fi -} - -# Fills the installed pkg cache -_yum_installed_pkgs() -{ - (( $+_yum_installed_pkgs[1] )) && return - if _cache_invalid yum-installed || ! _retrieve_cache yum-installed; then - _yum_installed_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list installed)"}// *}:#*.*} ) - _store_cache yum-installed _yum_installed_pkgs - fi -} - -# Fills the available pkg cache -_yum_available_pkgs() -{ - (( $+_yum_available_pkgs[1] )) && return - if _cache_invalid yum-available || ! _retrieve_cache yum-available; then - _yum_available_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list available)"}// *}:#*.*} ) - _store_cache yum-available _yum_available_pkgs - fi -} - -# Fills the upgrade pkg cache -_yum_upgrade_pkgs() -{ - (( $+_yum_upgrade_pkgs[1] )) && return - if _cache_invalid yum-upgrade || ! _retrieve_cache yum-upgrade; then - _yum_upgrade_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list upgrade)"}// *}:#*.*} ) - _store_cache yum-upgrade _yum_upgrade_pkgs - fi -} - -# Gets the list of defined repos -_yum_get_repos() { - local trepo - local -a tarray - tarray=( $(egrep -h '(^\[.*\]|^enabled.*=)' /etc/yum.repos.d/*.repo /etc/yum.conf | sed -e 's/ //g' | sed -e 's/\[//g' | sed -e 's/\].*$//g' 2>/dev/null) ) - local -i eindex=0 - local -i dindex=0 - for line in $tarray; do - if [[ "$line" = "enabled=1" ]]; then - yum_enabled_repos=($enabled_yum_repos $trepo) - elif [[ "$line" = "enabled=0" ]]; then - yum_disabled_repos=($yum_disabled_repos $trepo) - elif [[ "$line" != "main" ]]; then - trepo=$line - fi - done -} - -_yum_disabled_repos() { - _yum_get_repos - compadd "$@" -a -- yum_disabled_repos -} - -_yum_enabled_repos() { - _yum_get_repos - compadd "$@" -a -- yum_enabled_repos -} - -# Suggest installed packages -_yum_act_on_installed_pkgs() { - local expl - _yum_installed_pkgs - _wanted packages expl 'package' compadd "$@" -a -- _yum_installed_pkgs -} - -# Completion function for distribution-synchronization|distro-sync -(( $+functions[_yum-distribution-synchronization] )) || _yum-distribution-synchronization() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for erase|remove -(( $+functions[_yum-erase] )) || _yum-erase() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for downgrade -(( $+functions[_yum-downgrade] )) || _yum-downgrade() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for reinstall -(( $+functions[_yum-reinstall] )) || _yum-reinstall() -{ - _yum_act_on_installed_pkgs "$@" -} - -(( $+functions[_yum-groupinfo] )) || _yum-groupinfo() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C)"}:# *}# } -} - -(( $+functions[_yum-groupinstall] )) || _yum-groupinstall() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C)"}:# *}# } -} - -(( $+functions[_yum-groupremove] )) || _yum-groupremove() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C installed)"}:# *}# } -} - -(( $+functions[_yum-groupupdate] )) || _yum-groupupdate() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C installed)"}:# *}# } -} - -# Completion function for install -(( $+functions[_yum-install] )) || _yum-install() -{ - if ! [[ $PREFIX == */* ]]; then - _yum_available_pkgs - fi - - local ret=1 - _tags files packages - while _tags; do - if _requested files; then - compadd "$@" -a -- _yum_available_pkgs - fi - if _requested packages; then - _call_function - _yum_localinstall - fi - (( ret )) || break - done - return ret -} - -# Completion function for load-transaction -(( $+functions[_yum-load-transaction] )) || _yum-load-transaction() -{ - _files -} - -# Completion function for localinstall -(( $+functions[_yum-localinstall] )) || _yum-localinstall() -{ - _files -/ -g '(#i)*.rpm(-.)' -} - -# Completion function for localupdate -(( $+functions[_yum-localupdate] )) || _yum-localupdate() -{ - _files -/ -g '(#i)*.rpm(-.)' -} - -# Completion function for update/upgrade -(( $+functions[_yum-update] )) || _yum-update() -{ - local expl - _yum_upgrade_pkgs - _wanted packages expl package compadd "$@" -a _yum_upgrade_pkgs -} - -# Completion function for deplist -(( $+functions[_yum-deplist] )) || _yum-deplist() -{ - local expl - _yum_available_pkgs - _wanted packages expl package compadd "$@" -a _yum_available_pkgs -} - -_yum_all() -{ - _yum_all_pkgs - compadd "$@" -a -- _yum_all_pkgs -} - -_yum_list_or_info() -{ - local -a listlist - listlist=( - "all:all packages in repositories" - "available:packages available in repositories" - "updates:packages with updates available" - "installed:installed packages" - "extras:packages installed that are not available in any yum repository" - "obsoletes:packages installed that are obsoleted" - "recent:packages recently added to repositories" - ) - - if (( CURRENT == 2 )); then - _describe -t filters "filter" listlist || _yum_all - else - # offer packages selected by the subcommand - case $words[2] in - installed) _yum-erase;; - available) _yum-install;; - updates) _yum-update;; - *extras|obsoletes|recent) - _wanted packages expl package compadd \ - ${(M)${${(f)"$(_call_program packages yum -C list $words[2])"}// *}:#*.*} - ;; - *) _yum_all;; - esac - fi -} - -# Completion function for list -(( $+functions[_yum-list] )) || _yum-list() -{ - _yum_list_or_info -} - -# Completion function for info -(( $+functions[_yum-info] )) || _yum-info() -{ - _yum_list_or_info -} - -# Completion function for provides|whatprovides -(( $+functions[_yum-provides] )) || _yum-provides() -{ - _files -} - -# Completion function for clean -(( $+functions[_yum-clean] )) || _yum-clean() -{ - _values -w "Yum clean sub-commands" \ - "all[all cache]" \ - "cache[all cache]" \ - "dbcache[DB cache]" \ - "headers[cache headers]" \ - "packages[cache packages]" \ - "metadata[cache meta-data]" -} - -_yum_caching_policy() { - local _yumrepomds - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw-1) ) - (( $#oldp )) || return 0 - - _yumrepomds=( /var/cache/yum/**/repomd.xml ) - - if (( $#_yumrepomds )); then - for repo in $_yumrepomds; do - [[ "$repo" -nt "$1" ]] && return 0 - done - fi - - return 1 -} - -_yum "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zargs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zargs deleted file mode 100644 index 94a35e3a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zargs +++ /dev/null @@ -1,48 +0,0 @@ -#compdef zargs -value-,-default-,-command- - -local arguments eofstr pos=$((CURRENT)) numeofs=0 ret=1 cmdpos=1 - -#this doesn't handle '--' on the command line, only -- -#it also by extension doesn't handle eofstr being the empty string -#it also doesn't handle eofstr being -e or --eof, and everything will -# probably also be confused if the command at the end takes a -e, --eof= or -- -eofstr=${${${${words[(r)(--eof=*|-e*)]}#--eof=}#-e}:---} -while { - pos=$(( words[(b:pos-1:I)$eofstr] )) - (( numeofs == 0 )) && (( cmdpos = pos )) - (( pos )) && (( numeofs++ )) - (( pos )) -} {} -case $numeofs in - 0) - #zargs arguments - arguments=( - '(--eof -e)'{--eof=,-e+}'[change the end-of-input-args string from "--" to eof-str]' - '(--exit -x)'{--exit,-x}'[exit if the size (see --max-chars) is exceeded]' - '--help[print summary and exit]' - '(--interactive -p)'{--interactive,-p}'[prompt before executing each command line]' - '(--max-args -n)'{--max-args=,-n+}'[use at most max-args arguments per command line]' - '(--max-chars -s)'{--max-chars=,-s+}'[use at most max-chars characters per command line]' - '(--max-lines -l)'{--max-lines=,-l+}'[use at most max-lines of the input-args per command line]' - '(--max-procs -P)'{--max-procs=,-P+}'[run up to max-procs command lines in the background at once]' - '(--no-run-if-empty -r)'{--no-run-if-empty,-r}'[do nothing if there are no input arguments before the eof-str]' - '(--null -0)'{--null,-0}'[split each input-arg at null bytes, for xargs compatibility]' - '(--replace -i)'{--replace=,-i}'[substitute replace-str in the initial-args by each initial-arg]' - '(--verbose -t)'{--verbose,-t}'[print each command line to stderr before executing it]' - '--version[print the version number of zargs and exit]' - ) - _arguments -S -s $arguments[@] && ret=0 - ;; - 1) - #argument list for command - _files && ret=0 - ;; - *) - #command and command arguments - shift cmdpos words - (( CURRENT -= cmdpos )) - _normal - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zattr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zattr deleted file mode 100644 index e48047f6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zattr +++ /dev/null @@ -1,35 +0,0 @@ -#compdef zgetattr zsetattr zdelattr zlistattr - -local context state line expl ret=1 REPLY - -case $service in -zgetattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' \ - '3:parameter' -;; -zsetattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' \ - '3:value' -;; -zdelattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' -;; -zlistattr) -_arguments \ - '1:file:_files' \ - '2:parameter' -;; -esac && ret=0 - -if [[ $state = attrs ]]; then - zlistattr ${(Q)${~line[1]}} REPLY 2> /dev/null - _wanted -C "$context[1]" attrs expl 'attribute' compadd -a REPLY && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc deleted file mode 100644 index 093a7a91..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc +++ /dev/null @@ -1,7 +0,0 @@ -#compdef zcalc - -_arguments -s -w -S : \ - '-#[specify default base]:base: ' \ - '-f[force floating point for all expressions]' \ - '-e[treat command line as expressions to be output immediately]' \ - '*:expression: ' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc_line b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc_line deleted file mode 100644 index ab8e42df..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcalc_line +++ /dev/null @@ -1,81 +0,0 @@ -#compdef -zcalc-line- - -# This handles completion of a zcalc command line read via vared. - -_zcalc_line_escapes() { - local -a cmds - cmds=( - "!:shell escape" - "q:quit" - "norm:normal output format" - "sci:scientific output format" - "fix:fixed point output format" - "eng:engineering (power of 1000) output format" - "raw:raw output format" - "local:make variables local" - "function:define math function (also \:func or \:f)" - ) - cmds=("\:"${^cmds}) - _describe -t command-escapes "command escape" cmds -Q -} - -_zcalc_line() { - local expl - - if [[ CURRENT -eq 1 && $words[1] != ":"(\\|)"!"* ]]; then - local -a alts - if [[ $words[1] = (|:*) ]]; then - alts=("command-escapes:command escape:_zcalc_line_escapes") - fi - if [[ $words[1] = (|[^:]*) ]]; then - alts+=("math:math formula:_math") - fi - _alternative $alts - return - fi - - case $words[1] in - (":"(\\|)"!"*) - if [[ $words[1] = ":"(\\|)"!" && CURRENT -gt 1 ]]; then - shift words - (( CURRENT-- )) - else - words[1]=${words[1]##:(\\|)\!} - compset -P ':(\\|)!' - fi - _normal - ;; - - (:function) - # completing already defined user math functions is in fact exactly - # the wrong thing to do since currently zmathfuncdef won't overwrite, - # but it may jog the user's memory... - if (( CURRENT == 2 )); then - _wanted math-functions expl 'math function' \ - compadd -- ${${(k)functions:#^zsh_math_func_*}##zsh_math_func_} - else - _math - fi - ;; - - (:local) - _parameter - ;; - - (:(fix|sci|eng)) - if (( CURRENT == 2 )); then - _message "precision" - fi - ;& - - (:*) - _message "no more arguments" - ;; - - ([^:]*) - _math - ;; - esac -} - -_zcalc_line "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcat deleted file mode 100644 index baa7bd79..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcat +++ /dev/null @@ -1,7 +0,0 @@ -#compdef zcat - -if _pick_variant gz='(GNU|NetBSD|Apple)' unix --license; then - _gzip "$@" -else - _compress "$@" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcompile b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcompile deleted file mode 100644 index 727ead3b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zcompile +++ /dev/null @@ -1,29 +0,0 @@ -#compdef zcompile - -local state line expl curcontext="$curcontext" ret=1 -typeset -A opt_args - -_arguments -C -s \ - "(-t -c -m -a)-U[don't expand aliases]" \ - '(-t -M)-R[mark as read]' \ - '(-t -R)-M[mark as mapped]' \ - '(-t -c -m -a)*-k[ksh-style autoloading]' \ - '(-t -c -m -a)*-z[zsh-style autoloading]' \ - '(-t -U -z -k)-c[currently defined functions]' \ - '(-t -U -z -k)-m[use names as patterns]' \ - '(-t -U -z -k)-a[write autoload functions]' \ - '(-M -R -U -z -k -a -c -m)-t[show table of contents]' \ - '(-M -R -U -a -c -m -t):file:->file' \ - '*:function:->function' && ret=0 - -if [[ $state = function && -n $opt_args[(i)-[ac]] ]]; then - _wanted functions expl 'function to write' compadd -k functions && ret=0 -elif [[ -n $opt_args[(i)-[tca]] ]]; then - _description files expl 'zwc file' - _files -g '*.zwc(-.)' "$expl[@]" && ret=0 -else - _description files expl 'file' - _files "$expl[@]" && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zdump deleted file mode 100644 index f96bdd76..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zdump +++ /dev/null @@ -1,6 +0,0 @@ -#compdef zdump - -_arguments \ - '-v[lowest possible]' \ - '-c[cutoff]:cutoff year:' \ - '*:time zone:_time_zone' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zeal b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zeal deleted file mode 100644 index 334331d4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zeal +++ /dev/null @@ -1,43 +0,0 @@ -#compdef zeal - -local curcontext="$curcontext" cfg docset setdir mbegin mend ret=1 -local -a state line expl suf docsets globbed match -local -A opt_args dsets - -_arguments -S \ - ':query:->queries' \ - + '(opt)' \ - {-h,--help}'[display help information]' \ - {-v,--version}'[display version information]' \ - {-f,--force}'[force the application to run]' && ret=0 - -if [[ -n $state ]]; then - cfg=${XDG_CONFIG_HOME:-~/.config}/Zeal/Zeal.conf - if [[ -r $cfg ]]; then - docsets=${${(M)${(f)"$(<$cfg)"}:#path=*}#path=} - else - docsets=${XDG_DATA_HOME:-~/.local/share}/Zeal/Zeal/docsets - fi - for docset in $docsets/*.docset/Contents/Info.plist(N); do - setdir=${docset:h:h:r:t:l:gs/+/p} - [[ $(<$docset) = *DocSetPlatformFamily\<[^\<]#\<string\>(#b)([^\<]#)* ]] || - match=( ${docset:h:h:r:t:l:gs/+/p} ) - dsets+=( $match[1] ${docset:h} ) - done - if compset -P 1 '*:'; then - globbed=( ${dsets[${IPREFIX%:}]}/Resources/docSet.dsidx(N[1]) ) - if (( $+commands[sqlite3] )) && [[ -e $globbed ]]; then - _description queries expl 'query' - compadd "$expl[@]" - ${(f)"$(_call_program queries - sqlite3 $globbed 'select name from searchIndex')"} && ret=0 - else - _message -e queries 'query' - fi - else - compset -S ':*' || suf=( -qS : ) - _description docsets expl 'docset' - compadd "$expl[@]" $suf -k dsets && ret=0 - fi -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zed b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zed deleted file mode 100644 index f84993d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zed +++ /dev/null @@ -1,16 +0,0 @@ -#compdef zed fned histed - -case $service in -(fned) _arguments -S : ':shell function:_functions';; -(histed) _arguments -S : \ - '1:history file:_files' \ - '2:history size: ';; -(zed) _arguments -S : \ - '(-h 1 3 4)-f[edit function]' \ - '(-h 1 3 4)-x+[specify spaces to use for indentation in function expansion]:spaces' \ - '(-f -x 1 2)-h[edit history]' \ - '(- 2 3 4)1:file:_files' \ - '(3 4)2:shell function:_functions' \ - '3:history file:_files -g "*(D)"' \ - '4:history size';; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs deleted file mode 100644 index be4a64b3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs +++ /dev/null @@ -1,1350 +0,0 @@ -#compdef zfs zdb zpool - -local curcontext="$curcontext" implementation nm="$compstate[nmatches]" -local -a state curstate line state_descr expl alts args -typeset -A opt_args val_args -local MATCH MBEGIN MEND -local -a subcmds -local -a share_nfs_ro_properties share_nfs_rw_properties -local -a share_smb_ro_properties share_smb_rw_properties -local -a share_ro_properties share_rw_properties -local -a difffields delegatable_perms key_properties -local -a ds_types sum_algorithms comp_algorithms dedup_algorithms - -local -a ds_propnames ro_ds_props rw_ds_props ci_ds_props # dataset properties -local -a po_propnames ro_po_props rw_po_props ci_po_props # pool properties - -_pick_variant -r implementation -c 'zpool upgrade -v' openzfs='This system supports ZFS pool feature flags' solaris - -ds_types=( filesystem snapshot volume all ) -sum_algorithms=( on off fletcher2 fletcher4 sha256 ) -comp_algorithms=( on off lzjb lz4 gzip gzip-{1..9} zle ) -dedup_algorithms=( on off verify sha256 sha256,verify ) - -ro_po_props=( # readonly - 'all[all properties]' - 'allocated[space allocated]' - 'capacity[space used (percentage)]' - 'dedupratio[deduplication ratio]' - 'free[space unallocated]' - 'health[health status]' - 'size[total size]' -) -ci_po_props=( # only set at create or import - 'altroot[alternate root directory]:path:_directories' - 'guid[unique identifier]:identifier' - 'readonly[whether the pool can be modified]:value:(on off)' -) -rw_po_props=( - 'autoexpand[automatic pool expansion]:value:(on off)' - 'autoreplace[automatic device replacement]:value:(on off)' - 'bootfs[default bootable dataset]:dataset:_zfs_dataset' - 'cachefile[pool configuration cache file location]:value' - 'dedupditto[threshold for number of copies]:value [0]' - 'delegation[delegated administration]:value:(on off)' - 'failmode[failure-mode behavior]:value:(wait continue panic)' - "listshares[show shares in 'zfs list']:value:(on off)" - "listsnaps[show snapshots in 'zfs list']:value:(on off)" - 'version[pool version]:version' -) - -# TODO: userused@ and groupused@ could have more extensive handling -ro_ds_props=( - name type creation space used available referenced compressratio mounted - origin usedbychildren usedbydataset usedbyrefreservation usedbysnapshots - defer_destroy userused@ userrefs groupused@ keystatus -) -ci_ds_props=( - 'casesensitivity:value:(sensitive insensitive mixed)' - 'normalization:value:(none formC formD formKC formKD)' - 'utf8only:value:(on off)' -) -rw_ds_props=( - 'aclinherit:value:(discard noallow restricted passthrough passthrough-x)' - 'atime:value:(on off)' - 'canmount:value:(on off noauto)' - "checksum:value:($sum_algorithms)" - "compression:value:($comp_algorithms)" - 'copies:value:(1 2 3)' - "dedup:value:($dedup_algorithms)" - 'devices:value:(on off)' - 'encryption:value:(off on aes128-ccm aes-192-ccm aes-256-ccm aes-128-gcm aes-192-gcm aes-256-gcm)' - 'exec:value:(on off)' - 'groupquota@' - 'logbias:value:(latency throughput)' - "mountpoint: : _alternative \ - 'properties:property:(none legacy)' \ - 'paths:mountpoint:_directories -W / -P /'" - 'multilevel:value:(on off)' - 'nbmand:value:(on off)' - 'primarycache:value:(all none metadata)' - 'quota: :->quotas' - 'readonly:value:(on off)' - 'recordsize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M)' - 'refquota: :->quotas' - "refreservation: : _alternative \ - 'sizes: :_numbers -M \"m:{a-zA-Z}={A-Za-z}\" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(auto none)'" - 'reservation: :->quotas' - 'rstchown:value:(on off)' - 'secondarycache:value:(all none metadata)' - 'setuid:value:(on off)' - 'shadow:value' # TODO: complete URI|none - 'share:share properties' - 'snapdir:value:(hidden visible)' - 'sync:value:(standard always disabled)' - 'userquota@' - 'version:value' - 'volsize:size:_numbers -M "m:{a-zA-Z}={A-Za-z}" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' -) - -case $service:$implementation in - *:openzfs) - ds_types+=( bookmark ) - sum_algorithms+=( noparity sha512 skein edonr ) - comp_algorithms+=( zstd zstd-{1..19} zstd-fast zstd-fast-{{1..9}{,0},100,500,1000} ) - dedup_algorithms+=( {sha512,skein}{,\,verify} edonr,verify ) - share_rw_properties=( sharesmb:option sharenfs:option ) - ro_po_props+=( - 'expandsize[uninitialized space within the pool]' - 'fragmentation[amount of fragmentation in the pool]' - 'freeing[amount of space remaining to be reclaimed]' - 'used[amount of storage space used within the pool]' - 'load_guid[unique identifier generated when pool is loaded]' - ) - ci_po_props+=( - 'ashift[pool sector size exponent]:exponent:((9\:512 10\:1024 11\:2048 12\:4096 13\:8192 14\:16384 15\:32768 16\:65536))' - ) - rw_po_props+=( - 'autotrim[periodically trim recently freed space]:value:(on off)' - 'comment[text string that is available even if the pool becomes faulted]:value' - 'multihost[perform pool activity check during import]:value:(on off)' - ) - rw_ds_props+=( - 'aclmode:value:(discard groupmask passthrough restricted)' - 'acltype:value:(off noacl nfsv4 posix posixacl)' - 'mlslabel:value:(none)' # TODO: list sensitivity labels - 'redundant_metadata:value:(all most)' - 'vscan:value:(on off)' - 'xattr:value:(on off dir sa)' - "filesystem_limit: :{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ -prefix n ]]; then compadd none; else _message -e limits 'number or none'; fi}" - "snapshot_limit: :{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ -prefix n ]]; then compadd none; else _message -e limits 'number or none'; fi}" - 'volmode:mode:(( - default\:use\ system-wide\ tunable - full\:expose\ as\ block\ devices - geom\:expose\ as\ block\ devices - dev\:hide\ partitions - none\:not\ exposed\ outside\ zfs - ))' - ) - ro_ds_props+=( - createtxg clones filesystem_count guid logicalreferenced logicalused - receive_resume_token refcompressratio snapshot_count volblocksize written - ) - delegatable_perms=( - bookmark load-key change-key userobjquota userobjused groupobjquota - groupobjused projectused projectquota projectobjused projectobjquota - ) - ;| - *:solaris) - ds_types+=( share ) - sum_algorithms+=( sha256+mac ) - share_nfs_ro_properties=( share.nfs.all ) - share_nfs_rw_properties=( - 'share.nfs:value:(on off)' - 'share.nfs.aclok:value:(on off)' - 'share.nfs.aclfab:value:(on off)' - 'share.nfs.anon:uid' - 'share.nfs.charset.'{cp932,euc-{cn,jpns,kr,tw},iso8859-{1,2,5,6,7,8,9,13,15},koi8-r,shift_jis}':access-list' - 'share.nfs.index:file:_files' - 'share.nfs.labeled:value:(on off)' - 'share.nfs.noaclfab:value:(on off)' - 'share.nfs.log:nfslog.conf tag' - 'share.nfs.nosub:value:(on off)' - 'share.nfs.nosuid:value:(on off)' - 'share.nfs.public:value:(on off)' - 'share.nfs.sec:security-mode-list' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.{ro,root,rw}':access-list' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.root_mapping':uid' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.window':credential lifetime (seconds)' - 'share.nfs.sec.sys.resvport:value:(on off)' - ) - share_smb_ro_properties=( share.smb.all ) - share_smb_rw_properties=( - 'share.smb:value:(on off)' - 'share.smb.abe' - 'share.smb.ad-container' - 'share.smb.catia:value:(on off)' - 'share.smb.csc:value:(disabled manual auto vdo)' - 'share.smb.dfsroot:value:(on off)' - 'share.smb.encrypt:value:(on off)' - 'share.smb.guestok:value:(on off)' - 'share.smb.oplocks:value:(disabled enabled)' - 'share.smb.cont_avail:value:(on off)' - 'share.smb.'{none,ro,rw}':access-list' - ) - share_ro_properties=( - share.all share.fs share.name share.point share.protocols share.state - $share_nfs_ro_properties $share_smb_ro_properties - ) - share_rw_properties=( - 'share.desc:description' - 'share.auto:value:(on off)' - 'share.autoname:value' - 'share.nfs.cksum:value' - 'share.path:path' - $share_nfs_rw_properties $share_smb_rw_properties - ) - ro_po_props+=( - 'lastscrub[start time of the last successful scrub]' - ) - rw_po_props+=( - 'clustered[pool is imported as a global pool in Oracle Solaris Cluster]:value:(on off)' - 'scrubinternal[time interval between scheduled scrubs]:interval' - ) - ro_ds_props+=( keychangedate rekeydate effective{read,write}limit ) - rw_ds_props+=( - 'aclmode:value:(discard mask passthrough)' - "defaultreadlimit: : _alternative \ - 'sizes: :_guard \[0-9\]\#\(\|\[BKMGTPEZ\]\) size\ \(bytes\ per\ second\)' \ - 'properties:property:(none)'" - "defaultwritelimit: : _alternative \ - 'sizes: :_guard \[0-9\]\#\(\|\[BKMGTPEZ\]\) size\ \(bytes\ per\ second\)' \ - 'properties:property:(none)'" - 'defaultuserquota:->quotas' - 'defaultgroupquota: :->quotas' - 'keysource:value:->keysources' - ) - ci_ds_props+=( - 'volblocksize:value:compadd -o nosort 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M' - ) - difffields=( - object parent size links linkschange name oldname user group - ctime mtime atime crtime mountpoint dataset_name - ) - delegatable_perms=( key keychange ) - ;| - zfs:openzfs) - subcmds+=( - bookmark change-key load-key program project projectspace redact - unload-key wait - ) - ;| - zpool:openzfs) - subcmds+=( - checkpoint events labelclear initialize reopen resilver sync trim wait - version - ) - ;| - zfs:solaris) - subcmds+=( key help ) - ;| - zpool:solaris) - subcmds+=( help label monitor ) - ;| - - zfs:*) - subcmds+=( - create destroy clone promote rename snapshot rollback list set get - inherit mount unmount share unshare send receive allow unallow upgrade - userspace groupspace hold holds release diff - ) - [[ $OSTYPE = freebsd<7->.* ]] && subcmds+=( jail unjail ) - ;; - zpool:*) - subcmds+=( - add attach clear create destroy detach export get history import iostat - list offline online reguid remove replace scrub set split status upgrade - ) - ;; -esac - -case $OSTYPE in - solaris*) - rw_ds_props+=( 'zoned:value:(on off)' ) - ;; - freebsd*) - [[ $OSTYPE = freebsd<-12>.* ]] && subcmds+=( remap ) - rw_ds_props+=( 'jailed:value:(on off)' ) - ;; - linux-gnu) - rw_ds_props+=( 'relatime:value:(on off)' ) - ci_ds_props+=( - {,fs,def,root}'context:SELinux context:_selinux_contexts' - ) - ;; -esac - -delegatable_perms+=( - allow clone create destroy diff hold key keychange mount promote receive - release rename rollback send share snapshot groupquota groupused userprop - userused ${ci_ds_props%%:*} -) - -key_properties=( - 'keylocation:location [prompt]:_files -P file\:// -W /' - 'keyformat:format:(raw hex passphrase)' - 'pbkdf2iters:iterations [350000]' -) - -ro_ds_props+=( $share_ro_properties ) -rw_ds_props+=( $share_rw_properties ) -ci_ds_props+=( $rw_ds_props ) - -ds_propnames=( ${rw_ds_props%%:*} ) -po_propnames=( ${ro_po_props%%:*} ${ci_po_props%%:*} ${rw_po_props%%:*} ) - - -case $service in - zfs|zpool) - _arguments -C -A "-*" \ - '-?[display usage information]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "subcommand" compadd -a subcmds - return - fi - curcontext="${curcontext%:*}-$words[1]:" - ;; - zdb) - if [[ $implementation = openzfs ]]; then - args=( - '-mm[also display free space histogram associated with each metaslab]' - {-mmm,-MM}'[display more free space information]' - {-mmmm,-MMM}'[display every spacemap record]' - '-DD[display a histogram of deduplication statistics]' - '-DDD[display deduplication statistics independently for each table]' - '-DDDD[dump the contents of the deduplication tables describing duplicate blocks]' - '-DDDDD[also dump the contents of the deduplication tables describing unique blocks]' - '-E+[decode and display block from a given embedded block pointer]:word' - '(-l)-ll+[like -l but display L2ARC log blocks]:device:_files' - '(-l -ll)-lll+[like -l but display every configuration, unique or not]:device:_files' - "-q[don't print labels (with -l)]" - '-k[examine the checkpointed state of the pool]' - '-M[display the offset, spacemap, and free space of each metaslab]' \ - '-O+[look up the specified path inside of the dataset]:dataset:_zfs_dataset:path:_files' - '-o+[set the given global libzpool variable]:variable' - '-r+[copy the specified path inside of the dataset to the specified destination]:dataset:_zfs_dataset:path:_files:destination:_files' - '-x+[copy all blocks accessed to files in the specified directory]:directory:_directories' - '-V[attempt verbatim import]' - '-Y[attempt all possible combinations when reconstructing indirect split blocks]' - '-y[perform validation for livelists that are being deleted]' - ) - else - args=( - '-?[display usage information]' - '-M+[dump MOS contents]:contents: _values -s , raw_config all objset dir pool_props metaslab sync_bplist dtl config spares l2cache history errlog_scrub errlog_last bpmap-vdev bpmap_defer_obj dtl-scan ddt2' - '-r[dump datasets recursively]' - '-z[report zombies only]' - '-V[verify DDT xtree block data]' - "-a[don't import l2arc cache data]" - '-f[attempt to force import (with -e)]' - '-w+[specify directory to save shadow copy of all accessed disk locations]: :_directories' - '-x+[set kernel tunable]:tunable' - '-G[dump the contents of the zfs_dbgmsg buffer before exiting]' - '-I[limit the number of outstanding checksum I/Os to the specified value]' - ) - fi - _arguments -A "-*" -S $args \ - '(-C)-b[display block statistics]' \ - '(-C)*-c[verify checksum of metadata blocks]' \ - '(-b -c -d)-C[display configuration information]' \ - '(-C)*-d[display dataset information]' \ - '-h[display pool history]' \ - '-i[display intent log (ZIL) information]' \ - '-l+[read the vdev labels from the specified device]:device:_files' \ - '-m[display the offset, spacemap, and free space of each metaslab]' \ - '-s[report statistics on zdb I/O]' \ - '*-u[also display the uberblocks on the device (with -l)]' \ - '*-v[enable verbose output]' \ - '-D[display deduplication statistics]' \ - '-S[simulate the effects of deduplication, displaying constructed DDT as with -DD]' \ - '-L[disable leak detection and the loading of space maps]' \ - '-R+[read and display a block from the specified device]:device' \ - "-A[don't abort should any assertion fail]" \ - "-AA[enable panic recovery]" \ - '-F[try progressively older transactions until pool is readable]' \ - '-U+[specify cache file to use]:cache file [/etc/zfs/zpool.cache]:_files' \ - '-X[attempt "extreme" transaction rewind]' \ - '-e[operate on an exported pool]' \ - '-p[specify path under which to search for devices (with -e)]:path:_files' \ - '-P[use exact (parsable) numeric output]' \ - '-t+[specify the highest transaction to use when searching for uberblocks]:transaction' \ - '1:pool:_zfs_pool' - return - ;; -esac - -case $service:$words[1] in - zfs:create) - [[ $implementation = openzfs ]] && args=( - '-P[print machine-parsable verbose information about the created dataset]' - '-n[do a dry-run, no dataset will be created]' - '-v[print verbose information about the created dataset]' - ) - _arguments -C -A "-*" -S $args \ - '-p[create parent datasets]' \ - '*-o+[set initial propertyvalue]:property:->create-properties' \ - - set1 \ - ':filesystem:_zfs_dataset -t fs -e "parent dataset"' \ - - set2 \ - '-s[create sparse volume]' \ - '-b+[set volblocksize]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes blocksize \:B {k,M,G,T,P,E,Z}{,B}' \ - '-V+[set size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes size \:B {k,M,G,T,P,E,Z}{,B}' \ - ':volume:_zfs_dataset -t fs -e "parent dataset"' - ;; - - zfs:destroy) - if [[ $implementation = openzfs ]]; then - args=( - '-n[do a dry-run, no data will be deleted]' - '-p[print machine-parsable verbose information about the deleted data]' - '-v[print verbose information about the deleted data]' - ) - else - args=( '-s[destroy snapshots synchronously - only return when blocks freed]' ) - fi - _arguments -A "-*" -S $args \ - '-r[recursively destroy all children]' \ - '-R[recursively destroy all dependents]' \ - '(-f)-d[delete or mark deferred]' \ - '(-d)-f[force unmounts]' \ - ':dataset:_zfs_dataset -t fs -t vol ${=${opt_args[(i)-f]:--t snap}:/-f/} ${=${opt_args[(i)-*]:--t bookmark}:/-?/}' - ;; - - zfs:snap(|shot)) - _arguments -C -A "-*" -S \ - '-r[recursively snapshot all descendant datasets]' \ - '*-o+[set property]:property:->create-properties' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol -S@' - ;; - - zfs:rollback) - _arguments -A "-*" -S \ - '-r[recursively destroy more recent snapshots]' \ - '-R[recursively destroy more recent snapshots and clones]' \ - '-f[force unmounts]' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:clone) - [[ $implementation = solaris ]] && args+=( - '-K[create encryption key]' - ) - _arguments -C -A "-*" -S $args \ - '-p[create parent datasets]' \ - '*-o+[set property]:property:->create-properties' \ - ':snapshot:_zfs_dataset -t snap' \ - ':filesystem/volume:_zfs_dataset -t fs -e "parent dataset"' - ;; - - zfs:promote) - _arguments \ - ':filesystem:_zfs_dataset -t clone' \ - ;; - - zfs:rename) - [[ $implementation = openzfs ]] && args=( - '(-r -u)-f[force unmount any filesystems]' - "(-r -f)-u[don't remount file systems during rename]" - ) - _arguments -A "-*" -S $args \ - '(-r)-p[create parent datasets]' \ - '(-p -u -f)-r[recursively rename snapshots of all descendent datasets]' \ - ':dataset:_zfs_dataset -r1' \ - ':dataset:_zfs_dataset -r2' - ;; - - zfs:bookmark) - _arguments \ - ':snapshot or bookmark:_zfs_dataset -t snap -t bookmark' \ - ':bookmark' - ;; - - zfs:program) - _arguments -A "-*" -S \ - '-j[display channel program output in JSON format]' \ - '-n[execute a read-only channel program]' \ - '-t+[limit the number of Lua instructions to execute]:instruction limit' \ - '-m+[specify memory limit]:memory limit (bytes) [10MB]' \ - ':pool:_zfs_pool' \ - ':script:_files' \ - '*: :_default' - ;; - - zfs:list) - if [[ $implementation = solaris ]]; then - args=( '-I+[specify dataset states to display instead of normal datasets]:dataset state:_sequence compadd - receiving resumable hidden all' ) - else - args=( '-p[use exact (parsable) numeric output]' ) - fi - _arguments -A "-*" -S $args \ - '(-d)-r[recursively display children]' \ - '-H[suppress printing of headers]' \ - '(-r)-d+[depth]:value' \ - '-o+[specify properties to list]: :_values -s , "property" $ro_ds_props $ds_propnames' \ - '*-s+[specify sort key (ascending)]: :_values "property" $ro_ds_props $ds_propnames' \ - '*-S+[specify sort key (descending)]: :_values "property" $ro_ds_props $ds_propnames' \ - '-t+[specify dataset types to list]: :_values -s , "dataset type" $ds_types' \ - '*:filesystem/volume/snapshot/path:_zfs_dataset -p' - ;; - - zfs:set) - [[ $implementation = solaris ]] && args=( - '-r[recursively apply value]' \ - ) - _arguments -C -A "-*" -S $args \ - ':property:->set-properties' \ - '*:filesystem/volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:get) - if [[ $implementation == openzfs ]]; then - args=( '-t+[specify dataset types to display]: :_values -s , "dataset type" $ds_types' ) - else - args=( '-e[expand property sublists to any depth]' ) - fi - _arguments -A "-*" -S $args \ - "(-d)-r[recursively display children's properties]" \ - '(-r)-d+[depth]:value' \ - '-H[suppress printing of headers]' \ - '-p[use exact (parsable) numeric output]' \ - '-s+[specify sources]: :_values -s , "source" local default inherited received temporary none' \ - '-o+[specify fields]: :_values -s , "field" name property received value source' \ - ':property:_values -s , "property" $ro_ds_props $ds_propnames all' \ - '*:filesystem/volume/snapshot:_zfs_dataset' - ;; - - zfs:inherit) - _arguments -C -A "-*" -S \ - '-r[recursively inherit property for all children]' \ - '-S[revert to received property value]' \ - ':property:_values "property" $ro_ds_props ${rw_ds_props%%:*}' \ - '*:filesystem/volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:remap) - _arguments \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:upgrade) - _arguments -A "-*" -S \ - '(- :)-v[display supported ZFS versions]' \ - '(-v :)-a[upgrade all filesystems on all pools]' \ - '(-v)-r[upgrade descendent filesystems, too]' \ - '(-v)-V+[upgrade to specified version]:version' \ - '(-a -v):filesystem:_zfs_dataset -t fs' - ;; - - zfs:(user|group)space) - args=( - '-n[print numeric ID]' - '-i[translate SID to POSIX ID]' - ) - ;& # fall-through - zfs:projectspace) - [[ $implementation = solaris ]] && args+=( - '(- *)'{-h,--help}'[display usage information]' - ) - _arguments -A "-*" -S $args \ - '-H[suppress printing of headers, tab-delimit columns]' \ - '-p[use exact (parsable) numeric output]' \ - '-o+[specify properties to list]:property:_values -s , "property" type name used quota' \ - '*-s+[specify sort key (ascending)]: :_values "property" type name used quota' \ - '*-S+[specify sort key (descending)]: :_values "property" type name used quota' \ - '-t+[specify types to list]:type:_values -s , "type" all posixuser smbuser posixgroup smbgroup' \ - '*:filesystem/volume/snapshot:_zfs_dataset' - ;; - - zfs:project) - _arguments -A "-*" -S \ - '(-r -C -k -p -s)-d[act on the directory project ID and inherit flag, not its children]' \ - '(-d)-r[act on subdirectories recursively]' \ - '(-0 -c -d -s)-C[clear project inherit flag and/or ID on the file(s) or directories]' \ - '(-0 -c -d -p -s)-k[keep the project ID unchanged]' \ - '(-k -C -s)-c[check project ID and inherit flag on the file(s) or directories]' \ - '(-k -C -s)-0[print file name with a trailing NUL instead of newline]' \ - '(-k)-p+[specify project ID]:project ID' \ - '(-0 -c -k -C)-s[set project inherit flag on the given file(s) or directories]' \ - '*:file:_files' - ;; - - zfs:mount) - [[ $OSTYPE != freebsd* ]] && args=( '-O[overlay mount]' ) - [[ $implementation = openzfs ]] && args+=( - '-l[load keys for encrypted filesystems as they are being mounted]' - ) - _arguments -A "-*" -S $args \ - '-o+[specify temporary file system options]: :_values -s , "option" {,no}{atime,dev,exec,relatime,suid,xattr} ro rw' \ - '-v[report mount progress]' \ - '-f[force mount]' \ - '(:)-a[mount all available ZFS filesystems]' \ - '(-a):filesystem:_zfs_dataset -t fs' - ;; - - zfs:u(|n)mount) - [[ $implementation = openzfs ]] && args+=( - '-u[unload keys for any unmounted encryption roots]' - ) - _arguments -A "-*" -S $args \ - '-f[force unmount]' \ - '(:)-a[unmount all ZFS filesystems]' \ - '(-a):dataset or mountpoint:_zfs_dataset -t fs -t mtpt' - ;; - - zfs:share) - [[ $implementation = solaris ]] && args=( - - set2 \ - '-r[share filesystems recursively]' \ - ':dataset:_zfs_dataset -t fs' \ - - set3 \ - '*-o+[create a share with specified properties]: :_values -w "share properties" $share_rw_properties' \ - '-u[create a share without sharing it]' \ - ':dataset:_zfs_dataset -t fs' \ - ) - _arguments -A "-*" -S \ - - set1 \ - '-a[share all available ZFS filesystems]' \ - $args \ - - set4 \ - ':dataset or mountpoint:_zfs_dataset -t fs -t mtpt -t share' - ;; - - zfs:unshare) - [[ $implementation = solaris ]] && args=( - - set2 - '-r[unshare filesystems recursively]' - ':filesystem:_zfs_dataset -t fs' - ) - _arguments -A "-*" -S $args \ - - set1 \ - '-a[unshare all shared ZFS filesystems]' \ - - set3 \ - ':filesystem:_zfs_dataset -t fs -t mtpt -t share' - ;; - - zfs:send) - if [[ $implementation = openzfs ]]; then - args=( - '(-L --large-block)'{-L,--large-block}'[generate a stream which may contain blocks larger than 128KB]' - '(-P --parsable)'{-P,--parsable}'[print machine-parsable verbose information about the stream generated]' - '(-e --embed)'{-e,--embed}'[more compact stream for blocks stored with the embedded_data feature]' - '(-c --compressed)'{-c,--compressed}'[more compact stream for compressed blocks]' - '(-h --holds)'{-h,--holds}'[send snapshot holds]' - '-V[set the process title to a per-second report of how much data has been send]' - '-t[create a send stream that resumes an interrupted receive]:resume token' - '(-w --raw)'{-w,--raw}'[keep encrypted data exactly as it exists on disk]' - - redact - '(-h -V -t -w --raw)--redact[generate a redacted send stream]' - - saved - '(-S --saved)'{-S,--saved}'[generate stream from partially received dataset]' - ) - else - args=( - '-w+[send compressed filesystem blocks as compressed in the stream]:compression:(compress none)' - '-m+[limit amount of memory used by deduplication processing]: :_numbers -u bytes "memory size" K M G' - '-s+[set stream options]:token:(streamsize check nocheck memsize)' - '-C[read a receive checkpoint from stdin]' - '-c[create a self-contained stream]' - '(-R)-r[generate a recursive stream package]' - ) - fi - _arguments -A "-*" -S \ - '-b[send only received property values]' \ - '(-I)-i[generate an incremental stream]:snapshot:_zfs_dataset -t snap' \ - '-D[perform dedup processing]' \ - "-n[don't send the stream]" \ - '-p[send properties]' \ - '-v[verbose]' \ - '(-i)-I[generate an incremental stream with intermediary snapshots]:snapshot:_zfs_dataset -t snap' \ - '(-r)-R[generate a replication stream package]' \ - ':snapshot:_zfs_dataset -t snap -t bookmark' \ - $args - ;; - - zfs:redact) - _arguments \ - ':snapshot:_zfs_dataset -t snap' \ - ':bookmark:_zfs_dataset -t bookmark' \ - ':redaction snapshot:_zfs_dataset -t snap' - ;; - - zfs:(receive|recv)) - if [[ $implementation = openzfs ]]; then - args=( - '-h[skip the receive of holds]' - '-s[if the receive is interrupted, save the partially received state]' - '(- set2)-A[abort an interrupted zfs recv -s, deleting its saved partially received state]' - ) - [[ $OSTYPE != linux* ]] && args+=( - '-M[force an unmount of the file system while receiving a snapshot]' - ) - else - args=( '(-)-C[write a receive checkpoint to stdout]' ) - fi - _arguments -A "-*" -S $args \ - '-v[verbose]' \ - "-n[don't receive the stream]" \ - '-F[force a rollback if necessary]' \ - '-u[filesystem is not mounted]' \ - '-o[include property change in the stream]:property' \ - '-x[exclude property change from the stream]:property' \ - - set1 \ - ':filesystem/volume/snapshot:_zfs_dataset' \ - - set2 \ - '(-e)-d[set path prefix from stream, excluding only pool name]' \ - '(-d)-e[set path prefix from stream, using last path element]' \ - ':filesystem:_zfs_dataset -t fs' - ;; - - zfs:allow) - _arguments -C -A "-*" -S \ - '(-g -e -c -s)-u[delegate to user]' \ - '(-u -e -c -s)-g[delegate to group]' \ - '(1 -g -u -c -s)-e[delegate to everyone]' \ - '(1 -u -g -e -l -d -s)-c[set permissions for newly-created descendant filesystems]' \ - '(-u -g -e -l -d -c)-s[define or modify permission sets]:permission set' \ - '(-c -s)-l[allow for named dataset]' \ - '(-c -s)-d[allow for descendent datasets]' \ - '1: :->first' \ - ':permission list:_values -s , "permission or set" $delegatable_perms' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol' - - if [[ -n $state ]]; then - case $opt_args[(I)-[ugs]] in - ^-[ug]) alts+=( 'permission-sets: :_guard "(|@*)" "permission set"' ) ;| - ^-[gs]) alts+=( 'users:user:_users' ) ;| - ^-[us]) alts+=( 'groups:group:_groups' ) ;| - '') - alts+=( - 'all:everyone:(everyone)' - 'filesystems:filesystem/volume:_zfs_dataset -t fs -t vol' - ) - ;; - esac - _alternative $alts - fi - ;; - - zfs:unallow) - _arguments -A "-*" -S \ - '-r[recursive removal]' \ - '(-e -g -s -c)-u[user]' \ - '(-e -u -s -c)-g[group]' \ - '(1 -g -u -s -c)-e[everyone]' \ - '(1 -u -g -e -s -l -d)-c[create-time permissions]' \ - '(-e -u -g -c)-s[remove permissions from or delete a permission set]:permission set' \ - '(-c -s)-l[allow for named dataset]' \ - '(-c -s)-d[allow for descendent datasets]' \ - '1: :->first' \ - '::permissions or sets:_values -s , "permission or set" $delegatable_perms' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol' - - if [[ -n $state ]]; then - case $opt_args[(I)-[ugs]] in - ^-[ug]) alts+=( 'permission-sets: :_guard "(|@*)" "permission set"' ) ;| - ^-[gs]) alts+=( 'users:user:_users' ) ;| - ^-[us]) alts+=( 'groups:group:_groups' ) ;| - '') alts+=( 'all:everyone:(everyone)' ) ;; - esac - _alternative $alts - fi - ;; - - zfs:hold) - _arguments -A "-*" -S \ - '-r[apply hold recursively]' \ - ':tag' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:holds) - [[ $implementation = openzfs ]] && args=( - '-H[suppress printing of headers, tab-delimit columns]' - ) - [[ $OSTYPE = freebsd<-12>.* ]] && args+=( - # features were lost with the openzfs rebase - '-p[use exact (parsable) numeric output]' - '(-r)-d+[depth]:value' - ) - _arguments -A "-*" -S $args \ - '(-d)-r[list holds recursively]' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:release) - _arguments -A "-*" -S \ - '-r[release holds recursively]' \ - ':tag' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:diff) - [[ $implementation = solaris ]] && args=( - '(-E)-e[only show new and changed files, no deleted]' - '*-o+[show specified fields]:field:_values "field" $difffields' - '-q[silence warnings for missing snapshots on recursive datasets]' - '-N[enumerate new child datasets (with -r)]' - '(1 -e)-E[show difference from empty]' - ) - _arguments -A "-*" -S $args \ - '-F[add column for filetype character, similar to ls(1)]' \ - '-H[suppress printing of headers and arrows, tab-delimit columns]' \ - '-t[add column for ctime]' \ - '(-E)1:snapshot:_zfs_dataset -t snap' \ - '2:snapshot or filesystem:_zfs_dataset -t snap -t fs' - ;; - - zfs:wait) - _arguments -A "-*" -S \ - '-t[specify background activity]:activity:(deleteq)' \ - ':filesystem:_zfs_dataset' - ;; - - zfs:key) - _arguments -C -A "-*" -S \ - '-t+[only apply to given dataset type]: :_values -s , "dataset type" $ds_types' \ - '(-u -c -K -f -o)-l[load the encryption key]' \ - "(-u -c -K -f -o)-M[don't mount file systems after loading their keys]" \ - "(-u -c -K -f -o)-S[don't share file systems after loading their keys]" \ - '(-l -c -K -o -M -S)-u[unload the encryption key]' \ - '(-l -c -K -o -M -S)-f[force unmount the dataset before unloading the encryption key]' \ - '(-l -u -K -f -M -S)-c[change the encryption key]' \ - '(-l -u -K -f -M -S)-o+[change a property]:property:->keysources' \ - '(-l -c -u -f -o -M -S)-K[create a new data encryption key]' \ - '(1 -r)-a[apply to all datasets in all pools]' \ - '(-a)-r[apply recursively]' \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:load-key) - _arguments -A "-*" -S \ - "-L+[specify location of user's encryption key]:key location [prompt]:_files -P file\:// -W /" \ - '(:)-a[load keys for all encryption roots in all imported pools]' \ - '-n[do a dry-run, simply check that the provided key is correct]' \ - '-r[load keys for datasets recursively]' \ - '(-a):filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:unload-key) - _arguments -A "-*" -S \ - '(:)-a[unload keys for all encryption roots in all imported pools]' \ - '-r[unload keys for datasets recursively]' \ - '(-a):filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:change-key) - _arguments -A "-*" -S \ - '(-o)-i[make filesystem inherit key from its parent]' \ - '-l[ensure key is loaded before attempting to change it]' \ - '(-i)*-o+[change encryption key property]: :_values -s , "property" $key_properties' \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:jail|zfs:unjail) - _arguments \ - '1: : _jails' \ - '2:filesystem:_zfs_dataset -t fs' - ;; - - zfs:help) - _arguments -A "-*" -S \ - - set1 \ - ':command:($subcmds $delegatable_perms $ro_ds_props ${rw_ds_props%%:*} properties)' \ - - set2 \ - '(2)-l[display property information]' \ - ':help topic:(property)' \ - ':property:($delegatable_perms $ro_ds_props ${rw_ds_props%%:*})' - ;; - - zpool:help) - _arguments -A "-*" -S \ - - commands \ - ':command:($subcmds)' \ - - properties \ - '(2)-l[display property information]' \ - ':help topic:(property)' \ - ':property:(${po_propnames%%\[*})' - ;; - - zpool:add) - if [[ $implementation = openzfs ]]; then - args=( - '-g[display vdev, GUIDs instead of the normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' \ - '-P[display real paths for vdevs instead of only the last component of the path]' - ) - elif [[ $implementation = solaris ]]; then - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args \ - '-f[force use of in-use devices]' \ - '-n[display configuration without modifying pool]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->virtual-devices' - ;; - - zpool:attach) - if [[ $implementation = openzfs ]]; then - args=( - '-w[wait until new device has finished resilvering before returning]' - '-s[reconstruct sequentially to restore redundancy as quickly as possible]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' - ) - fi - _arguments -A "-*" -S $args \ - '-f[force attach, even if in use]' \ - ':pool:_zfs_pool' \ - ':virtual device:->pool-devices' \ - ':virtual device:->disk-devices' - ;; - - zpool:checkpoint) - _arguments -A "-*" -S \ - '(-d --discard)'{-d,--discard}'[discard an existing checkpoint from the pool]' \ - '(-w --wait)'{-w,--wait}'[wait until the checkpoint has finished being discarded before returning]' \ - ':pool:_zfs_pool' - ;; - - zpool:clear) - [[ $implementation = solaris ]] && args=( - '-f[ignore fmadm acquit and fmadm repair failures]' - ) - _arguments -C -A "-*" -S $args \ - '-F[discard transactions to allow pool opening]' \ - '-n[with -F, check if discarding transactions would work]' \ - '-X[(undocumented) extreme rewind of transactions]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:create) - if [[ $implementation = openzfs ]]; then - args=( - "-d[don't enable any features on the new pool]" - ) - else - args=( - '-B[create EFI boot partition on whole disks]' - '-l[display configuration in /dev/chassis location form]' - "-N[create pool but don't mount or share]" - ) - fi - _arguments -C -A "-*" -S $args \ - '-o+[set pool property at creation time]:property:->newpool-properties' \ - '-O+[set dataset property at creation time]:property:->create-properties' \ - '-f[force use of in-use devices]' \ - '-n[display configuration without creating pool]' \ - '-R+[use alternate root]:alternate root:_directories' \ - '-m+[set mountpoint for root dataset]:mountpoint' \ - '-t+[use a temporary pool name]:pool name' \ - ':pool :_guard "^-*" "pool name"' \ - '*: :->virtual-devices' - ;; - - zpool:destroy) - _arguments -A "-*" -S \ - '-f[force active datasets to be unmounted]' \ - ':pool:_zfs_pool' - ;; - - zpool:detach) - _arguments -C \ - ':pool:_zfs_pool' \ - ':virtual device:->pool-devices' - ;; - - zpool:events) - _arguments -A "-*" -S \ - '(- 1)-c[clear all previous events]' \ - '-f[follow mode - continue running, showing new events]' \ - '-H[suppress headers and tab-delimit fields]' \ - '-v[print the entire payload for each event]' \ - '(-c)1:pool:_zfs_pool' - ;; - - zpool:export) - [[ $implementation = openzfs ]] && args=( '(*)-a[export all pools]' ) - _arguments -A "-*" -S $args \ - '-f[forcefully unmount all datasets]' \ - '*:pool:_zfs_pool' - ;; - - zpool:get) - [[ $implementation = solaris ]] && args=( - '-s+[specify sources to display]: :_values -s "source" local default none' - ) - _arguments -A "-*" -S $args \ - '-H[suppress headers and tab-delimit fields]' \ - '-p[display numbers in parseable (exact) values]' \ - '-o+[specify fields to display]: : _values -s , field name property value source' \ - ':property:_values -s , "property" $po_propnames' \ - '*:pool:_zfs_pool' - ;; - - zpool:history) - _arguments -A "-*" -S \ - '-i[display internal events]' \ - '-l[long format]' \ - '*:pool:_zfs_pool' - ;; - - zpool:import) - # TODO: -o should complete mount options, too - if [[ $implementation = openzfs ]]; then - args=( - '-t[new pool name is temporary]' - '-l[request encryption keys for all encrypted datasets]' - '--rewind-to-checkpoint[rewind pool to the checkpointed state]' - '-s[scan using the default search path]' - '(-F -X)-T[specify the txg to use for rollback]' - ) - else - args=( - '(-a)-t+[use a temporary pool name]:pool name' - '-l[display configuration in /dev/chassis location form]' - ) - fi - _arguments -C -A "-*" -S $args \ - '(1 2 -t)-a[search for and import all pools found]' \ - '-D[destroyed pools only]' \ - '(-d)*-c+[use cache file]:cache file:_files' \ - '(-c -D)*-d+[search for devices or files in directory]:directory:_files -/' \ - '-F[recovery mode: discard transactions if required]' \ - '-X[(undocumented) extreme rewind of transactions]' \ - '!-V' \ - '-f[force import]' \ - '-m[ignore missing log devices]' \ - '-N[import pool without mounting any filesystems]' \ - "-n[with -F; don't perform input]" \ - '-R+[specify alternate root]:alternate root:_files -/' \ - '-o+[set pool or dataset property]:property:->import-properties' \ - '1:pool name or id:_zfs_pool' \ - '2::new pool name' - ;; - - zpool:initialize) - _arguments -A "-*" -S \ - '(-s --suspend -c --cancel)'{-c,--cancel}'[cancel initializing on specified devices]' \ - '(-s --suspend -c --cancel)'{-s,--suspend}'[suspend initializing on specified devices]' \ - '(-w --wait)'{-w,--wait}'[wait until devices have finished initializing before returning]' \ - ':pool:_zfs_pool' \ - '*:device:pool-devices' - ;; - - zpool:iostat) - if [[ $implementation = openzfs ]]; then - args=( - '-c[run scripts on each vdev]:script:_files -W "($ZPOOL_SCRIPTS_PATH /etc/zfs/zpool.d ~/.zpool.d)"' - '-g[display vdev GUIDs instead of normal device names]' - '-H[suppress headers and tab-delimit fields]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-n[print headers only once]' - '-p[display numbers in parsable (exact) values and times in nanoseconds]' - '-P[display full paths for vdevs instead of only the last component of the path]' - "-r[print request size histograms for the leaf vdev's IO]" - '-y[omit statistics since boot]' - '-w[display latency histograms]' - '-l[include average latency statistics]' - '-q[include active queue statistics]' - ) - else - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-v[verbose statistics]' \ - '*::pool:_zfs_pool' \ - '::interval' \ - '::count' - ;; - - zpool:label) - _arguments -C -A "-*" -S \ - '(-c)*-d+[specify path in which to search for devices or files]:path:_directories' \ - '(-d)-c+[read configuration from specified cache file]:cache file:_files' \ - '(-R)-C[clear ZFS metadata on an inactive pool or device]' \ - '(-C)-R[recover ZFS metadata for a pool]' \ - '1::pool:_zfs_pool' \ - '2:device:->pool-devices' - ;; - - zpool:labelclear) - _arguments -A "-*" -S \ - '-f[treat exported or foreign devices as inactive]' \ - '*:virtual device:_files' - ;; - - zpool:list) - [[ $implementation = openzfs ]] && args=( - '-g[display vdev GUIDs instead of normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-p[display numbers in parsable (exact) values]' - '-P[display full paths for vdevs instead of only the last component of the path]' - '-v[report usage statistics for individual vdevs within the pool]' - ) - _arguments -A "-*" -S $args \ - '-H[suppress headers and tab-delimit fields]' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-o+[specify fields to list]: :_values -s , "field" $po_propnames' \ - '::pool:_zfs_pool' - ;; - - zpool:monitor) - _arguments -A "-*" -S \ - '-t+[specify provider]:provider:(send receive scrub resilver ddtmigrate destroy)' \ - '-o+[specify fields]: :_values -s , field done other pctdone pool provider speed starttime tag timeleft timestmp total' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-p[use machine-parseable output format]' \ - '1:pool:_zfs_pool' \ - '2:interval' \ - '3:count' - ;; - - zpool:offline) - [[ $implementation = openzfs ]] && args=( - '-f[force disk into faulted state]' - ) - _arguments -C -A "-*" -S $args \ - '-t[offline until next reboot]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:online) - _arguments -C -A "-*" -S \ - '-e[expand device to use all available space]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:reopen) - _arguments -A "-*" -S \ - "-n[don't restart an in-progress scrub operation]" \ - '1:pool:_zfs_pool' - ;; - - zpool:reguid) - _zfs_pool - ;; - - zpool:remove) - [[ $implementation = openzfs ]] && args=( - '(-s)-w[wait until removal has completed before returning]' - ) - _arguments -C -A "-*" -S $args \ - "(-s)-n[don't perform the removal, display mapping table memory use]" \ - '(-s)-p[with -n, display numbers in parseable (exact) values]' \ - '(- *)-s[stop and cancel an in-progress removal]' \ - '1:pool:_zfs_pool' \ - '*:device:->pool-devices' - ;; - - zpool:replace) - [[ $implementation = openzfs ]] && args=( - '-w[wait until replacement has completed before returning]' - '-s[reconstruct sequentially to restore redundancy as quickly as possible]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' - ) - _arguments -A "-*" -S $args \ - '-f[force attach, even if in use]' \ - ':pool:_zfs_pool' \ - ':virtual device:_files' \ - '::virtual device:_files' - ;; - - zpool:(resilver|sync)) - _arguments \ - '*:pool:_zfs_pool' - ;; - - zpool:scrub) - [[ $implementation = openzfs ]] && args=( - '(-s)-p[pause scrubbing]' - '-w[wait until scrub has completed before returning]' - ) - _arguments -A "-*" -S $args \ - '(-p)-s[stop scrubbing]' \ - '*:pool:_zfs_pool' - ;; - - zpool:set) - _arguments -C -A "-*" -S \ - ':property:->set-pool-properties' \ - '*:pool:_zfs_pool' - ;; - - zpool:split) - if [[ $implementation = solaris ]]; then - args=( '-l[display configuration in /dev/chassis location form]' ) - else - args=( - '-g[display vdev GUIDs instead of normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-l[request encryption keys for encrypted datasets]' - '-P[display full paths for vdevs instead of only the last component of the path]' - ) - fi - _arguments -C -A "-*" -S $args \ - '-R+[specify alternate root]:alternate root:_files -/' \ - '-n[display configuration without splitting]' \ - '-o+[set pool or dataset property]:property:->import-properties' \ - ':pool name or id:_zfs_pool' \ - ':new pool name' \ - '*:virtual device:->pool-devices' - ;; - - zpool:status) - if [[ $implementation = openzfs ]]; then - args=( - '-D[display a histogram of deduplication statistics]' - '-c[run scripts on each vdev]:script:_files -W "($ZPOOL_SCRIPTS_PATH /etc/zfs/zpool.d ~/.zpool.d)"' - '-i[display vdev initialization status]' - '-g[display vdev GUIDs instead of the normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-p[display numbers in parsable (exact) values and times in nanoseconds]' - '-P[display full paths for vdevs instead of only the last component of the path]' - '-s[display the number of leaf VDEV slow IOs]' - '-t[display vdev TRIM status]' - ) - else - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args\ - '-v[verbose information]' \ - '-x[show only unhealthy pools]' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '*::pool:_zfs_pool' \ - ':: :_guard "[0-9]#" interval' \ - ':: :_guard "[0-9]#" count' - ;; - - zpool:trim) - _arguments -C -A "-*" -S \ - '(-d --secure)'{-d,--secure}'[initiate a secure TRIM]' \ - '(-r --rate)'{-r,--rate}'[set rate at which the TRIM operation progresses]:rate (bytes per second)' \ - '(-c --cancel)'{-c,--cancel}'[cancel trimming]' \ - '(-s --suspend)'{-s,--suspend}'[suspend trimming]' \ - '(-w --wait)'{-w,--wait}'[wait until devices are done being trimmed]' \ - '1:pool:_zfs_pool' \ - '*:device:->pool-devices' - ;; - - zpool:upgrade) - _arguments -A "-*" -S \ - '(- *)-v[display ZFS versions and descriptions]' - "(-v)-V+[upgrade to given version]:version" \ - '(-v *)-a[upgrade all pools]' \ - '(-a -v)*:pool:_zfs_pool' - ;; - - zpool:wait) - _arguments -A "-*" -S \ - '-H[suppress printing of headers, tab-delimit columns]' \ - '-P[use exact (parsable) numeric output]' \ - '-t+[specify background activity]: : _values -s , activity discard free initialize replace remove resilver scrub trim' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - ':pool:_zfs_pool' \ - ':interval' - ;; - - *) - _default - ;; -esac - -while (( $#state )); do - curstate=$state - state=() - case $curstate in - virtual-devices) - local -a vdevtypes - vdevtypes=( mirror raidz{,1,2,3} spare log cache ) - if [[ $implementation = openzfs ]]; then - vdevtypes+=( draid{,1,2,3} dedup special ) - else - vdevtypes+=( meta ) - fi - # cache can't be a mirror - [[ $words[CURRENT-1] != cache ]] && alts=( - 'vdev-types:vdev type:compadd -a vdevtypes' - ) - [[ -prefix / ]] || alts+=( - 'disk-vdevs:disk vdev:_files -g "*(-%)" -W /dev' - ) - _alternative $alts 'file-vdevs:file vdev:_files -W / -P /' - ;; - - pool-devices) - local -a devices - devices=( ${${${(M)${(f)"$(_call_program devices zpool status $line[1])"}:#$'\t' *}##[[:blank:]]#}%%[[:blank:]]*} ) - if (( $#devices )); then - _description devices expl "$state_descr" - compadd "$expl[@]" -a devices - break - fi - ;& # fall-through if we found none - - disk-devices) - [[ -prefix / ]] || alts=( - 'disk-vdevs:disk vdev:_files -g "*(-%)" -W /dev' - ) - _alternative $alts 'file-vdevs:file vdev:_files -W / -P /' - ;; - - keysources) - local -a suf - - compset -S ",*" || suf=(-S ,) - if compset -P 1 "*,"; then - _alternative \ - 'zfs-keylocator-prompt:"prompt" locator:(prompt)' \ - 'zfs-keylocator-file:file locator:_files' \ - 'zfs-keylocator-pkcs11: : _message -e zfs-keylocator-pkcs11 "PKCS#11 locator"' \ - 'zfs-keylocator-https: : _message -e zfs-keylocator-https "HTTPS URL locator"' - else - _description keysource-formats expl "keysource format" - compadd $suf -q "$expl[@]" "$@" raw hex passphrase - fi - ;; - - quotas) - _alternative \ - 'sizes: :_numbers -M "m:{a-zA-Z}={A-Za-z}" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(none)' - ;; - - import-properties) args=( $ci_ds_props $rw_ds_props $ci_po_props ) ;| - create-properties) args=( $ci_ds_props ) ;| - set-properties) args=( $rw_ds_props ) ;| - newpool-properties) args=( $rw_po_props $ci_po_props ) ;| - set-pool-properties) args=( $rw_po_props ) ;| - - *-properties) - if compset -P 1 '(#m)*@'; then - if compset -P 1 '*='; then - case $MATCH in - *quota@) _alternative \ - 'sizes: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes size \:B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(none)' - ;; - esac - else - case $MATCH in - user*@) _users -S = ;; - group*@) _groups -S = ;; - project*@) _message -e projects project ;; - esac - fi - else - _wanted values expl "$state_descr" compadd -S@ ${${(M)args:#*@}%@} - _values -C "$state_descr" ${args:#*@} - fi - ;; - esac -done - -[[ nm -ne "$compstate[nmatches]" ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_dataset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_dataset deleted file mode 100644 index 7edcfd5d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_dataset +++ /dev/null @@ -1,80 +0,0 @@ -#autoload - -local -a type expl_type_arr rsrc rdst paths_allowed -local -a typearg datasetlist expl mlist -local expl_type - -# -e takes an argument which is passed as the "descr" argument to _wanted -# -p indicates that filesystem paths, not just dataset names, are allowed -# -r1 indicates that we're completing the source of a rename -# -r2 indicates that we're completing the destination of a rename -# -t takes arguments (what kinds of datasets) and can appear multiple times -zparseopts -D -E e:=expl_type_arr p=paths_allowed r1=rsrc r2=rdst t+:=type - -[[ -n $type[(r)fs] ]] && typearg=( filesystem ) -[[ -n $type[(r)vol] ]] && typearg+=( volume ) -[[ -n $type[(r)snap] ]] && typearg+=( snapshot ) -[[ -n $type[(r)share] && $implementation = solaris ]] && typearg+=( share ) -[[ -n $type[(r)bookmark] && $implementation = openzfs ]] && - typearg+=( bookmark ) -if [[ -n $typearg ]]; then - typearg=( -t ${(j:,:)typearg} ) -# We know we're in zfs list if paths_allowed is non-empty. -elif [[ -n $opt_args[-t] && ${#paths_allowed} -gt 0 ]]; then - typearg=( -t $opt_args[-t] ) -fi - -if [[ ${#paths_allowed} -gt 0 && $PREFIX == /* ]]; then - _path_files - return -fi - -if [[ ${#rsrc} -gt 0 ]]; then - # With the -r option to zfs rename, we can only rename snapshots. With the - # -p option, we can only rename filesystems and volumes. - if [[ -n $words[(r)-r] ]]; then - typearg=( -t snapshot ) - elif [[ -n $words[(r)-p] ]]; then - typearg=( -t filesystem,volume ) - elif [[ $implementation == openzfs ]]; then - typearg=( -t filesystem,snapshot,volume ) - else - typearg=( -t filesystem,share,snapshot,volume ) - fi -fi - -if [[ ${#rdst} -gt 0 ]]; then - if [[ ${words[CURRENT - 1]} == *@* ]]; then - # If we're renaming snapshots, there's nothing to complete, so - # we simply give instructions. (In non-recursive cases, we - # could put the name of the snapshotted dataset first, but why - # bother with the long form?) - _message -e 'snapshot name (beginning with "@")' - return - else - # The parent dataset must be a filesystem, and can't rename - # a dataset into another pool. Plus we hardcode the expl. - typearg=( -t filesystem -r ${${words[CURRENT - 1]}%%/*} ) - expl_type_arr=( -e "parent dataset" ) - fi -fi - -if [[ -n $type[(r)clone] ]]; then - datasetlist=( ${(f)"$(zfs list -H -o name,origin -t filesystem 2>/dev/null | awk -F$'\t' "\$2 != \"-\" {print \$1}")":#no cloned filesystems available} ) -else - datasetlist=( ${(f)"$(zfs list -H -o name $typearg 2>/dev/null)":#no datasets available} ) -fi - -expl_type=${typearg[2,-1]//,/\/} -if [[ -n $type[(r)mtpt] ]]; then - mlist=( ${(f)"$(zfs list -H -o mountpoint $typearg 2>/dev/null)":#no mountpoints available} ) - datasetlist=( $datasetlist $mlist ) - expl_type="$expl_type/mountpoint" -fi - -if [[ -n $expl_type_arr[2] ]]; then - expl_type=$expl_type_arr[2] -fi - -_description datasets expl "$expl_type" -_multi_parts "$@" "$expl[@]" -q / datasetlist diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_pool b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_pool deleted file mode 100644 index 7db865c7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zfs_pool +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -compadd "$@" - $(zpool list -H -o name) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zftp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zftp deleted file mode 100644 index a41d72ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zftp +++ /dev/null @@ -1,93 +0,0 @@ -#compdef -P zf* - -# Completion for zftp builtin and zf* functions. The functions -# zfcd_match and zfget_match (also used for old-style completion) -# need to be installed for remote file and directory completion to work. - -# emulate -L zsh - -# Don't try any more completion after this. -_compskip=all - -local subcom expl curcontext="${curcontext}" - -if [[ $service = zftp ]]; then - if [[ $CURRENT -eq 2 ]]; then - _wanted commands expl sub-command \ - compadd open params user login type ascii binary mode put \ - putat get getat append appendat ls dir local remote mkdir rmdir \ - session rmsession - return - fi - subcom=$words[2] - curcontext="${curcontext/:zftp:/:zftp-${words[2]}:}" -else - subcom=$service -fi - -case $subcom in - *(cd|ls|dir)) - # complete remote directories - [[ -z ${functions[zfcd_match]} ]] && autoload -Uz zfcd_match - _tags directories && zfcd_match $PREFIX $SUFFIX - ;; - - *(get(|at)|gcp|delete|remote)) - # complete remote files - [[ -z ${functions[zfget_match]} ]] && autoload -Uz zfget_match - _tags files && zfget_match $PREFIX $SUFFIX - ;; - - *(put(|at)|pcp)) - # complete local files - _files - ;; - - *(open|anon|params)) - # complete hosts: should do cleverer stuff with user names - _hosts - ;; - - *(goto|mark)) - # complete bookmarks. First decide if ncftp mode is go. - if [[ $words[2] = -*n* ]]; then - if [[ -f ~/.ncftp/bookmarks ]]; then - _wanted bookmarks expl bookmark \ - compadd - $(awk -F, 'NR > 2 { print $1 }' ~/.ncftp/bookmarks) - fi - else - if [[ -f ${ZFTP_BMFILE:=${ZDOTDIR:-$HOME}/.zfbkmarks} ]]; then - _wanted bookmarks expl bookmark \ - compadd - $(awk '{print $1}' $ZFTP_BMFILE) - fi - fi - ;; - - *session) - # complete sessions, excluding the current one. - _wanted sessions expl 'another FTP session' \ - compadd - ${$(zftp session):#$ZFTP_SESSION} - ;; - - *transfer) - # complete arguments like sess1:file1 sess2:file2 - if [[ $PREFIX = *:* ]]; then - # complete file in the given session - _tags files || return 1 - local sess=${PREFIX%%:*} oldsess=$ZFTP_SESSION - compset -p $(( $#sess + 1 )) - [[ -n $sess ]] && zftp session $sess - zfget_match $PREFIX $SUFFIX - [[ -n $sess && -n $oldsess ]] && zftp session $oldsess - else - # note here we can complete the current session - _wanted sessions expl 'FTP session' compadd -S : - $(zftp session) - fi - ;; - - *) - # dunno... try ordinary completion after all. - _compskip='' - return 1 - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zip deleted file mode 100644 index cfa51be3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zip +++ /dev/null @@ -1,181 +0,0 @@ -#compdef zip unzip zipinfo - -local suffixes suf zipfile uzi testfile -local expl curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -case $service in - zip) - _arguments -C -s -S \ - '(-u --update)'{-u,--update}'[update: only changed or new files]' \ - '(-f --freshen)'{-f,--freshen}'[freshen: update existing files only (no files added)]' \ - '(-FS --filesync)'{-FS,--filesync}'[filesync: update if date or size changed]' \ - '(-d --delete)'{-d,--delete}'[delete: delete files from archive]' \ - '(-U --copy)'{-U,--copy}'[copy: select files in archive to copy]' \ - '-r[recurse into directories]' \ - '(-m --move)'{-m,--move}'[after archive created, delete original files]' \ - '(-j --junk-paths)'{-j,--junk-paths}'[junk directory names (store just file names)]' \ - '-q[quiet operation]' \ - '-v[verbose operation/print version info]' \ - '(-c --entry-comments)'{-c,--entry-comments}'[prompt for one-line comment for each entry]' \ - '(-z --archive-comment)'{-z,--archive-comment}'[prompt for comment for archive]' \ - '(-@ --names-stdin)'{-@,--names-stdin}'[read names to zip from stdin]' \ - '-o[make zipfile as old as latest entry]' \ - '(-i --include)'{-i,--include}'[include files that match a pattern]:*(-*|@):pattern:_files' \ - '(-x --exclude)'{-x,--exclude}'[exclude files that match a pattern]:*(-*|@):pattern:_files' \ - '-l[convert LF to CR LF]' \ - '-ll[convert CR LF to LF]' \ - '-R[recurse current dir and match patterns]' \ - '-t+[exclude files modified before specified date]:date (mmddyyyy)' \ - '-tt+[exclude files modified on or after specified date]:date (mmddyyyy)' \ - '( -1 -2 -3 -4 -5 -6 -7 -8 -9)-0[store only]' \ - '(-0 -2 -3 -4 -5 -6 -7 -8 -9)-1[compress faster]' \ - '(-0 -1 -3 -4 -5 -6 -7 -8 -9)-2' \ - '(-0 -1 -2 -4 -5 -6 -7 -8 -9)-3' \ - '(-0 -1 -2 -3 -5 -6 -7 -8 -9)-4' \ - '(-0 -1 -2 -3 -4 -6 -7 -8 -9)-5' \ - '(-0 -1 -2 -3 -4 -5 -7 -8 -9)-6' \ - '(-0 -1 -2 -3 -4 -5 -6 -8 -9)-7' \ - '(-0 -1 -2 -3 -4 -5 -6 -7 -9)-8' \ - '(-0 -1 -2 -3 -4 -5 -6 -7 -8 )-9[compress better]' \ - '(-Z --compression-method)'{-Z+,--compression-method=}'[specify compression method]:method:(store deflate bzip2)' \ - '(-e --encrypt)'{-e,--encrypt}'[encrypt using (weak) PKZip 2.0 encryption, prompt for password]' \ - '-P+[specify password for standard encryption]:password' \ - '-s+[create split archive with splits of specified size]:size (MB)' \ - '-sp[pause after each split to allow changing disks]' \ - '-sb[ring bell when pausing between splits]' \ - '-sv[be verbose about creating splits]' \ - '(-O --out)'{-O,--out=}'[output to new archive]:archive' \ - '(-FI --fifo)'{-FI,--fifo}'[support reading from a pipe]' \ - '(-db --display-bytes)'{-db,--display-bytes}'[display running count of bytes processed and bytes to go]' \ - '(-dc --display-counts)'{-dc,--display-counts}'[display running count of entries done and entries to go]' \ - '(-dd --display-dots)'{-dd,--display-dots}'[display dots while each entry is zipped]' \ - '(-dg --display-globaldots)'{-dg,--display-globaldots}'[display dots for the archive instead of each file]' \ - '(-ds --dot-size)'{-ds,--dot-size=}'[specify size at which a dot is output while processing files]:size [10MB]' \ - '(-du --display-usize)'{-du,--display-usize}'[display original uncompressed size for each entry as added]' \ - '(-dv --display-volume)'{-dv,--display-volume}'[display volume (disk) number in format in_disk>out_disk]' \ - '(-lf --logfile-path)'{-lf,--logfile-path=}'[specify log file]:file:_files' \ - '(-la --log-append)'{-la,--log-append}'[append to existing log file]' \ - '(-li --log-info)'{-li,--log-info}'[include info messages in log]' \ - '(-T --test)'{-T,--test}'[test zipfile integrity]' \ - '(-TT --unzip-command)'{-TT,--unzip-command=}'[specify command for testing archive]:command [unzip -tqq]:_cmdstring' \ - '(-F --fix)'{-F,--fix}'[fix zipfile]' \ - '(-F --fix -FF --fixfix)'{-FF,--fixfix}'[try harder to fix zipfile]' \ - '(-DF --dif)'{-DF,--dif}'[only include files that have changed or are new as compared to the input archive]' \ - '-sf[show files to operate on and exit]' \ - '-su[as -sf but show escaped UTF-8 Unicode names also]' \ - '-su[as -sf but show escaped UTF-8 Unicode names instead]' \ - '-UN=[specify Unicode path mismatch handling]:mismatch handling:(Quit Warn Ignore No Escape UTF8)' \ - '(-A --adjust-sfx)'{-A,--adjust-sfx}'[adjust self-extracting exe]' \ - '(-J --junk-sfx)'{-J,--junk-sfx}'[junk zip file prefix (unzipsfx)]' \ - '(-b --temp-path)'{-b,--temp-path}'[specify location for temporary archive]:path for temporary archive:_directories' \ - '-nw[no wildcards]' \ - '(-X --no-extra)'{-X,--no-extra}'[eXclude eXtra file attributes]' \ - '(-y --symlinks)'{-y,--symlinks}'[store symbolic links as the link instead of the referenced file]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-h2,--more-help}'[display extended help information]' \ - '(-g --grow)'{-g,--grow}'[allow growing existing zipfile]' \ - '(-L --license)'{-L,--license}'[display license]' \ - '(-D --no-dir-entries)'{-D,--no-dir-entries}"[don't add directory entries]" \ - '-n[specify suffixes of files not to be compressed]:suffixes:->suffixes' \ - "(-f -d -R -q -c -b -@ -F -FF -A -T -y -e -h -u -m -g -j -l -ll -L -v -z -t -tt -o -D -J -X -n -0 -1 -2 -3 -4 -5 -6 -7 -8 -9):zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' && ret=0 - ;; - unzip) - _arguments -C -s -S \ - '(-Z)-M[page output]' \ - - unzip \ - '(-f -u -l -t -z -d -p)-c[extract files to stdout including file names]' \ - '(-p -u -l -t -z)-f[freshen existing files; create none]' \ - '(-f -u -l -t -z -c -d)-p[extract files to stdout]' \ - '(-p -f -l -t -z)-u[update files; create if necessary]' \ - '(-p -f -u -t -z -d)-l[list files]' \ - '(-p -f -u -l -z -d)-t[test compressed archive data]' \ - '-T[timestamp archive to latest]' \ - '(-p -f -u -l -t -d)-z[display archive comment]' \ - '(-p -l -t -z)-d+[specify directory to extract files to]:directory:_files -/' \ - '(-p -l -t -z -o)-n[never overwrite existing files]' \ - '(-p -l -t -z -n)-o[overwrite files without prompting]' \ - "(-p -l -t -z)-j[junk paths (don't make directories)]" \ - '-C[match filenames case-insensitively]' \ - '(-p -l -t -z)-X[restore UID/GID info]' \ - '-q[quiet]' '-qq[quieter]' \ - '(-l -t -z)-a[auto-convert any text files]' \ - '(-l -t -z)-aa[treat all files as text]' \ - '(-l -t -z)-b[treat all files as binary]' \ - '(-l -t -z)-B[save backup copy of each overwritten file]' \ - '(-DD)-D[skip restoration of timestamps for extracted directories]' \ - '(-D)-DD[skip restoration of timestamps for all entries]' \ - '-v[verbose/display version info]' \ - '(-c -p -z -LL)-L[lowercase filenames from case-insensitive file systems]' \ - '(-c -p -z -L)-LL[lowercase all filenames]' \ - '-K[keep setuid/setgid/sticky permissions]' \ - '-P[specify password for decryption]:password' \ - '(-UU)-U[use escapes for all non-ASCII Unicode]' \ - '(-U)-UU[ignore any Unicode fields]' \ - '-W[modify pattern matching so only ** matches /]' \ - '-\:[allow extraction outside of extraction base directory]' \ - '-^[allow control characters in extracted entries]' \ - '-i[include the following names]:*-*:pattern' \ - '-x[exclude the following names]:*-*:pattern' \ - "(-p -f -u -l -t -z -n -o -j -C -X -q -qq -a -aa -v -L -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' \ - - help \ - '-hh[display detailed help information]' \ - - zipinfo \ - '-Z[zipinfo mode]:zipinfomode:->zipinfo' && ret=0 - ;; -esac - -[[ $state == zipinfo ]] && uzi="-Z[zipinfo mode]" - -if [[ $service == zipinfo ]] || [[ -n $uzi ]]; then - _arguments -C -s -S \ - $uzi \ - '(-2 -s -m -l -v -h -t -T -z)-1[filenames only]' \ - '(-1 -s -m -l -v -T)-2[just filenames but allow -h/-t/-z]' \ - '(-1 -2 -m -l -v -h -t)-s[short format]' \ - '(-1 -2 -s -l -v -h -t)-m[medium format]' \ - '(-1 -2 -s -m -v -h -t)-l[long format]' \ - '(-1 -2 -s -m -l -h -z)-v[verbose, multi-page format]' \ - '(-1 -s -m -l -v)-h[print header line]' \ - '(-1 -v)-z[print zipfile comment]' \ - '-C[match filenames case-insensitively]' \ - '(-1 -s -m -l)-t[print totals]' \ - '(-1 -2)-T[use sortable decimal format for file times]' \ - '-M[page output]' \ - '-x[exclude the following names]' \ - "(-1 -2 -s -m -l -v -h -z -C -t -T -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' && ret=0 -fi - -case $state in - suffixes) - suffixes=( *.*(N:e) ) - _sequence -s : _wanted -x suffixes expl suffix compadd - .$^suffixes && return - ;; - files) - if [[ $service = zip ]] && (( ! ${+opt_args[-d]} )); then - _wanted files expl zfile _files -g '^(#i)*.(zip|xpi|[ejw]ar)(-.)' && return - else - testfile=${~${(Q)line[1]}} - if [[ -f $testfile ]]; then - zipfile=$testfile - elif [[ -f $testfile.zip ]]; then - zipfile=$testfile.zip - elif [[ -f $testfile.ZIP ]]; then - zipfile=$testfile.ZIP - else - return 1 - fi 2>/dev/null - if [[ $zipfile != $_zip_cache_name ]]; then - _zip_cache_name="$zipfile" - _zip_cache_list=( ${(f)"$(zipinfo -1 -- $_zip_cache_name)"} ) - fi - _wanted files expl 'file from archive' \ - _multi_parts / _zip_cache_list && return - fi - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zle deleted file mode 100644 index 0b8ef7a1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zle +++ /dev/null @@ -1,75 +0,0 @@ -#compdef zle - -local expl ret=1 -local -a opts compwids state line context - -compwids=(accept-and-menu-complete - complete-word - delete-char-or-list - expand-or-complete - expand-or-complete-prefix - list-choices - menu-complete - menu-expand-or-complete - reverse-menu-complete) - -opts=(-A -C -D -F -L -M -N -R -T -U -a -c -l -r \* :) - -_arguments -s -S \ - "($opts)-A[define widget alias]:old widget:->widget :new widget:->widget" \ - "($opts)-C[define completion widget]:new widget name:->comp-widget :completion widget:->builtin-comp-widget :widget shell function:->function" \ - "($opts)-D[delete widget]:*:widget:->widget" \ - \(${(j. .)opts:#-[lFT]}')-L[with -l, list as commands]' \ - \(${(j. .)opts:#-[La]}')-l+[list user-defined widgets]:*:-:->listing' \ - \(${(j. .)opts:#-l}')-a[with -l, list all widgets]' \ - "(: * ${(j. .)opts:#-[Lw]})-F[install file descriptor handler]:file descriptor:_file_descriptors::handler:_functions" \ - "!($opts)-K:keymap:compadd -a keymaps" \ - "($opts)-M[display message]:message: " \ - "($opts)-N[define new widget]:widget name:->widget-or-function ::widget shell function:->function" \ - \(${(j. .)opts:#-c}')-R+[redisplay]:*:-:->redisplay' \ - \(${(j. .)opts:#-R}')-c[with -R, clear listing]' \ - "($opts)-U[unget to input stack]:string: " \ - '(: *)-T[manipulate transformations]:transformation:(tc):function:_functions' \ - \(${(j. .)opts:#-T}')-r[remove transformations]' \ - '(-):widget:->widget' \ - '(-)*::widget args:->args' && ret=0 - -[[ $state == listing ]] && - _arguments -s -S '!-l' \ - "(-a)-L[list as commands]" \ - "(-L)-a[list all widgets]" \ - '*:widget name:->widget' && ret=0 - -case "$state[1]" in - (args) - _arguments \ - '(-N)-n[numeric prefix]:number:' \ - '(-n)-N[reset numeric prefix]' \ - '-K[specify temporary keymap]:keymap:compadd -a keymaps' \ - '-w[set $WIDGET to reflect widget being called]' \ - '(-)*:widget arguments: ' && ret=0 - ;; - (widget*) - _wanted -C "$context[1]" widgets expl "${state_descr[1]:-widget}" _widgets && ret=0 - ;| - (*function) - _wanted -C "$context[1]" functions expl 'widget shell function' \ - compadd -M 'r:|-=* r:|=*' -k functions && - ret=0 - ;; - (comp-widget) - _wanted -C "$context[1]" widgets expl 'completion widget' \ - _widgets -g "(*:|)(.|)(${(j(|))compwids})(|:*)" && ret=0 - ;& - (builtin-comp-widget) - _wanted -C "$context[1]" widgets expl 'builtin completion widget' \ - compadd -M 'r:|-=* r:|=*' -k "widgets[(I)(.|)(${(j(|))compwids})]" && ret=0 - ;; - (redisplay) - _arguments -s -S '!-R' \ - "-c[clear listing]" \ - ":status line" "*:strings to list" && ret=0 - ;; -esac - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zlogin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zlogin deleted file mode 100644 index 14211430..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zlogin +++ /dev/null @@ -1,16 +0,0 @@ -#compdef zlogin -# Synced with the Nevada build 162 man page - -local -a _comp_priv_prefix -_arguments -s \ - '-E[disable escape character]' \ - '-e[specify escape character]:character' \ - '-l[specify username]:username:_users' \ - ':zonename:_zones' \ - - set1 \ - '-C[connect to zone console]' \ - '-d[disconnect on zone halt]' \ - - set2 \ - '-S["safe" login mode]' \ - '(-):command name: _command_names -e' \ - '*::utility: _normal' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmodload b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmodload deleted file mode 100644 index f3e38c0f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmodload +++ /dev/null @@ -1,78 +0,0 @@ -#compdef zmodload - -local suf comp state line expl curcontext="$curcontext" ret=1 NORMARG -typeset -A opt_args -suf=() - -_arguments -n -C -S -s \ - '(-R -P -i -u -d -a -b -c -I -p -f -e -F -m)-A[create module aliases]' \ - '(-)-R[remove module aliases]' \ - '(-A -R -F -L -m -P -l -e)-u[unload module]' \ - '(-d -e -l)-a[autoload module]' \ - '(-c -d -I -p -f -F -P -l -m -A -R)-b[autoload module for builtins]' \ - '(-b -d -I -p -f -F -P -l -m -A -R)-c[autoload module for condition codes]' \ - '(-A -R -F -I -P -a -b -c -e -f -i -l -m -p)-d[list or specify module dependencies]' \ - '(-i -u -d -a -b -c -p -f -L -R)-e[test if modules are loaded]' \ - '(-b -c -d -I -p -F -P -l -m -A -R)-f[autoload module for math functions]' \ - '(-u -b -c -d -p -f -A -R -I)-F[handle features]' \ - '(-u -b -c -d -p -f -A -R -I)-m[treat feature arguments as patterns]' \ - '(-d -e)-i[suppress error if command would do nothing]' \ - '(-d -e -L)-s[suppress error if module is not available]' \ - '(-b -c -d -p -f -F -P -m)-I[define infix condition names]' \ - '(-u -b -c -d -p -f -A -R)-l[list features]' \ - '(-e -u)-L[output in the form of calls to zmodload]' \ - '(-b -c -d -I -f -F -P -l -m -A -R)-p[autoload module for parameters]' \ - '(-u -b -c -d -p -f -A -R)-P[array param for features]:array name:_parameters' \ - '(-)*:param:->params' && ret=0 - -[[ $state = params ]] || return ret - -if (( $+opt_args[-A] )); then - compset -S '=*' || compset -P '*=' || suf=( -S '=' ) -fi - -if (( $+opt_args[-F] && CURRENT > NORMARG )); then - local module=$words[NORMARG] - local -a features - - if [[ $modules[$module] != loaded ]]; then - _message -e features "feature for unloaded module" - else - zmodload -lFP features $module - if compset -P -; then - # only enabled features needed - features=(${${features:#-*}##?}) - elif compset -P +; then - # only disabled features needed - features=(${${features:#+*}##?}) - else - # complete opposite of current feature state, + is default - features=(${${features#-}/(#s)+/-}) - fi - _wanted features expl feature compadd -a features - fi -else - comp=( files aliases ) - if (( $+opt_args[-u] )); then - if (( $+opt_args[-b] || $+opt_args[-a] )); then - comp=( builtins ) - else - comp=( loadedmodules aliases ) - fi - fi - (( $+opt_args[-a] && CURRENT > 3 )) && comp=( builtins ) - - _tags "$comp[@]" - while _tags; do - _requested builtins expl 'builtin command' \ - compadd "$@" -k builtins && ret=0 - _requested loadedmodules expl 'loaded module' \ - compadd -k 'modules[(R)loaded]' && ret=0 - _requested files expl 'module file' \ - _files -W module_path -g '*.(dll|s[ol]|bundle)(:r)' && ret=0 - _requested aliases expl 'module alias' \ - compadd "$suf[@]" -k 'modules[(R)alias*]' && ret=0 - (( ret )) || return 0 - done - return ret -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmv deleted file mode 100644 index df5cb511..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zmv +++ /dev/null @@ -1,18 +0,0 @@ -#compdef zmv zln zcp - -_arguments -s -S -A '-*' \ - '(-C -L -s -p)-M[force mv]' \ - '(-M -L -s -p)-C[force cp]' \ - '(-M -C -p)-L[force ln]' \ - '-f[force overwriting of destination files]' \ - '-i[interactive: prompt for each operation]' \ - '-n[no execution: just print what would happen]' \ - '-Q[force bare glob qualifiers on]' \ - '(-C -M)-s[symbolic, passed down to ln]' \ - '-v[verbose: print line as it is executed]' \ - '-o[specify options to pass to underlying command]: opt string' \ - '(-M -C -L -s)-p+[specify program to run instead of cp, ln or mv]:program:_command_names -e' \ - '(-W)-w[implicitly add parenthesis to wildcards in the pattern]' \ - '(-w)-W[like -w, but turn wildcards in replacement patterns into references]' \ - '1:source pattern:_files' \ - '2:destination pattern:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zoneadm b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zoneadm deleted file mode 100644 index ab63dc0b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zoneadm +++ /dev/null @@ -1,163 +0,0 @@ -#compdef zoneadm -# Synced with the S11U1 man page - -_zoneadm_bootargs() { - # This is a subset of the arguments to kernel(1M) - _arguments -A "-*" \ - '-i[Alternate init]:path:_path_files' \ - '-m[SMF options]:option:_values "SMF option" debug milestone= quiet verbose' \ - '-s[Boot single user]' -} - -_zoneadm() { - local context state line expl - typeset -A opt_args - local -a subcmds fields - local -a solaris_attach solaris_install - local -a solaris10_attach solaris10_install - local -a extended_create_options extended_destroy_options - local brand brand_args - - subcmds=( - attach boot clone detach halt help install list mark move - ready reboot uninstall verify - ) - - extended_create_options=( - "force-zpool-import" - "force-zpool-create:ZFS pool: " - "force-zpool-create-all" - ) - - extended_destroy_options=( - "force-zpool-destroy:ZFS pool: " - "force-zpool-destroy-all" - ) - - solaris_attach=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to zonepath]:directory:_path_files -/' - ) - solaris_install=( - - set1 - '-c[Path to certificate]:path:_path_files' - '*-e[Additional package]:package:' - '-k[Path to key]:path:_path_files' - '-P[Publisher/URI mapping]:publisher:' - - set2 - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to installed zone root]:directory:path_files -/' - '-p[Preserve system configuration]' - '-s[Install silently]' - '-u[Unconfigure after installation]' - '-v[Verbose]' - ) - - solaris10_attach=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to zonepath]:directory:_path_files -/' - ) - solaris10_install=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to installed zone root]:directory:path_files -/' - '-p[Preserve system configuration]' - '-s[Install silently]' - '-u[Unconfigure after installation]' - '-v[Verbose]' - ) - - if [[ $service == "zoneadm" ]]; then - _arguments -C -A "-*" \ - '-R[Alternate root]:alternate root:_path_files -/' \ - '-u[Zone UUID]:zone UUID: ' \ - '-z[Zone name]:zone name:_zones' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "zoneadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - case $service in - ("boot") - # Completion of boot arguments after -- is kinda hacky. - _arguments -S -A "-*" \ - '-w[Force writable root]' \ - '-W[Boot in transient r/w mode]' \ - '*:boot options:_zoneadm_bootargs' - ;; - - ("clone") - _arguments -A "-*" \ - '-m[Clone mode]:mode:_values "mode" copy' \ - '-s[Source snapshot]:snapshot:_zfs_dataset -t snap' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ':source zone:_zones' - ;; - - ("attach") - if [[ -n $opt_args[-z] ]]; then - brand=${"${(@s,:,)$(zoneadm -z $opt_args[-z] list -p)}"[6]} - brand_args=${brand}_attach - fi - _arguments -A "-*" \ - '-F[Force attach]' \ - '-n[Path to zone manifest]:path to zone manifest:_path_files' \ - '-u[Update on attach]' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ${(P)brand_args} - ;; - - ("detach") - _arguments -A "-*" \ - '-n[Dry run]' - ;; - - ("halt"|"ready"|"reboot"|"verify") - ;; - - - ("help") - _wanted commands expl "zoneadm subcommand" compadd -a subcmds - ;; - - ("install") - if [[ -n $opt_args[-z] ]]; then - brand=${"${(@s,:,)$(zoneadm -z $opt_args[-z] list -p)}"[6]} - brand_args=${brand}_install - fi - _arguments -A "-*" \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ${(P)brand_args} - ;; - - ("list") - _arguments -A "-*" \ - '-c[Configured zones]' \ - '-i[Installed zones]' \ - '(-v)-p[Parsable output]' \ - '(-p)-v[Verbose mode]' - ;; - - ("mark") - _arguments -A "-*" \ - ':state:(incomplete unavailable)' - ;; - - ("move") - _arguments -A "-*" \ - ':new zone path:_path_files -/' - ;; - - ("uninstall") - _arguments -A "-*" \ - '-F[Force]' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_destroy_options' - ;; - esac -} - -_zoneadm "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zones b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zones deleted file mode 100644 index 92064d2b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zones +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local -a type typearg expl - -zparseopts -D -E -a type t+: - -[[ -n $type[(r)c] ]] && typearg=-c -[[ -n $type[(r)i] ]] && typearg=-i - -_description zones expl zone -compadd "$@" "$expl[@]" - ${="$(_call_program zones /usr/sbin/zoneadm list $typearg)"} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zparseopts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zparseopts deleted file mode 100644 index e13a9108..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zparseopts +++ /dev/null @@ -1,37 +0,0 @@ -#compdef zparseopts - -local ret=1 -local -a context line state state_descr alts opts -local -A opt_args - -_arguments -A '-*' : \ - '-a+[specify array in which to store parsed options]:array:_parameters -g "*array*~*readonly*"' \ - '-A+[specify association in which to store parsed options]:association:_parameters -g "*association*~*readonly*"' \ - '-D[remove parsed options from positional parameters]' \ - "-E[don't stop parsing at first parameter not described by specs]" \ - '-F[abort parsing and print error at first option-like parameter not described by specs]' \ - '-K[preserve contents of arrays/associations when specs are not matched]' \ - '-M[enable mapping among equivalent options with opt1=opt2 spec form]' \ - '(-)-[end zparseopts options; specs follow]' \ - '*: :->spec' \ -&& ret=0 - -[[ $state == spec ]] && -if compset -P '*='; then - alts=() - (( $+opt_args[-M] )) && { - opts=( $line ) - [[ $opts[1] == (-|--) ]] && shift opts - opts=( ${(@)opts%%(+|)(:|:-|::|)(=*|)} ) - opts=( ${(@)opts:#${words[CURRENT]%%=*}} ) - alts+=( "spec-opt-names:spec option name:(${(j< >)${(@q+)opts}})" ) - } - alts+=( 'parameters:array:_parameters -g "*array*~*readonly*"' ) - _alternative $alts && ret=0 -else - # Not great, but close enough for now - compset -S '=*' - _message -e spec-opts 'spec option (name[+][:|:-|::])' && ret=0 -fi - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zpty b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zpty deleted file mode 100644 index 99251aa0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zpty +++ /dev/null @@ -1,62 +0,0 @@ -#compdef zpty - -local state line list names expl sep curcontext="$curcontext" -typeset -A opt_args - -_arguments -C -s -S \ - '(-r -w -t -n -L -d)-e[echo input characters]' \ - '(-r -w -t -n -L -d)-b[io to pseudo-terminal blocking]' \ - '(-r -w -t -n -L -e -b)-d[delete command]:*:name:->name' \ - '(-r -L -t -e -b -d)-w[send string to command]:name:->name:*:strings to write' \ - '(-r -L -t -e -b -d)-n[do not add a newline to the result]' \ - '(: -r -w -t -n -e -b -d)-L[list defined commands as calls]' \ - '(: -w -n -L -e -b -d)-r[read string from command]:name:->name:param: _vars:pattern:' \ - '(: -w -n -L -e -b -d)-t[test if output is available before reading]' \ - '(-r -w -t -n -L -d):zpty command name:' \ - '(-r -w -t -n -L -d):cmd: _command_names -e' \ - '(-r -w -t -n -L -d)*::args:_precommand' && return 0 - -# One could use sets, but that's more expensive and zpty is simple enough. -# -# _arguments -C -s -S \ -# - read \ -# '-r[read string from command]' \ -# '-t[test if output is available first]' \ -# ':name:->name' \ -# ':param: _vars' \ -# ':pattern:' \ -# - write \ -# '-w[send string to command]' \ -# '-n[do not add a newline to the result]' \ -# ':name:->name' \ -# '*:strings to write' \ -# - list \ -# '-L[list defined commands as calls]' \ -# - delete \ -# '-d[delete command]' \ -# '*:name:->name' \ -# - start \ -# '-e[echo input characters]' \ -# '-b[io to pseudo-terminal blocking]' \ -# ':zpty command name:' \ -# ':cmd: _command_names -e' \ -# '*::args:_precommand' && return 0 - - -if [[ $state = name ]]; then - if ! zmodload -e zsh/zpty; then - _message "zpty module not loaded" - return 1 - fi - list=( ${${(f)"$(zpty)"}#*\) } ) - names=( ${list%%:*} ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep" ${${(f)"$(zpty)"}#*\) } - _wanted names expl 'zpty command name' compadd -d list -a names - else - _wanted names expl 'zpty command name' compadd -a names - fi -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh deleted file mode 100644 index e6292a63..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh +++ /dev/null @@ -1,26 +0,0 @@ -#compdef zsh - -local curcontext=$curcontext state state_descr line expl not='!' -typeset -A opt_args - -[[ $CURRENT = 2 ]] && not='' - -_arguments -S -s : \ - ${not}'--emulate[specify emulation mode]:mode:(zsh sh ksh csh)' \ - '*-o+[set named option]:option:_options' \ - '*+o+[unset named option]:option:_options' \ - '(1 -s --shinstdin)'{-s,--shinstdin}'[read commands from standard input]' \ - '(-)-b[end of option processing, like --]' \ - '(1 -)-c[run a command]:command:_cmdstring' \ - '(-)1:script file:_files' \ - '*::script arguments:->args' -- && return 0 - -case $state in - (args) - if [[ -n ${opt_args[(I)-c|-s|--shinstdin]} ]]; then - _files - else - _normal - fi - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh-mime-handler b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh-mime-handler deleted file mode 100644 index 000be2b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsh-mime-handler +++ /dev/null @@ -1,19 +0,0 @@ -#compdef zsh-mime-handler - -# Given that the handler is likely to change the start of the command -# line, we'll try to maintain the position from the end of the words -# array. Hence for example CURRENT gets decremented by one if the -# handler drops off the start. -integer end_offset=$(( ${#words} - CURRENT )) - -# zsh-mime-handler -l is supposed to print out the command line -# with quoting to turn it into a full executable line. So -# we need to use shell splitting to turn it into words and -# then unquoting on those words. -words=(${(z)"$(zsh-mime-handler -l "${(@)words[2,-1]}")"}) -# Careful unquoting: we need to keep a '' as a separate word. -words=("${(@Q)words}") - -(( CURRENT = ${#words} - end_offset )) - -_normal diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsocket b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsocket deleted file mode 100644 index eeed9f1d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zsocket +++ /dev/null @@ -1,14 +0,0 @@ -#compdef zsocket - -_arguments -s -w -A "-*" \ - '-v[verbose output]' \ - '-d[target file descriptor]:fd:_file_descriptors' \ - - outbound \ - '1: :_files' \ - - listen \ - '-l[open a socket listening]' \ - '1: :_files' \ - - accept \ - '-a[accept an incoming connection]' \ - '-t[return if no incoming connections are pending]' \ - '1:fd:{ (( words[(I)-*a*] )) && _file_descriptors }' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zstyle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zstyle deleted file mode 100644 index 0c81c2f2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zstyle +++ /dev/null @@ -1,688 +0,0 @@ -#compdef zstyle - -local state context ostate line expl ctop suf -local nm=$compstate[nmatches] taglist patterns contexts MATCH -integer MBEGIN MEND -typeset -A opt_args styles - -# Assoc array of styles; the values give the possible top-level -# contexts: -# c completion -# d chpwd -# e line editor -# v vcs_info -# z zftp -# or any combination of the above, -# followed by a colon, followed by a state to enter, empty if none. -styles=( - accept-exact c:bool - accept-exact-dirs c:bool - add-space c:bool - ambiguous c:bool - assign-list c:_parameters - auto-description c: - avoid-completer c:completer - break-keys c: - cache-path c:_directories - cache-policy c:_functions - call-command c:bool - command c:command - command-path c:_dir_list - commands c: - complete c:bool - complete-options c:bool - completer c:completer - condition c:bool - cursor c:cursor - delimiters c: - disabled c:bool - domains c: - environ c:environ - expand c: - extra-verbose c:bool - fake c: - fake-always c: - fake-files c:fake-files - fake-parameters c:fake-params - file-list c:bool - file-patterns c:filepat - file-sort c:fsort - filter c: - force-list c: - format c: - glob c:bool - global c:bool - group-name c: - group-order c:tag - groups c:_groups - hidden c:bool - hosts c:_hosts - hosts-ports c:host-port - ignore-line c:ignline - ignore-parents c:ignorepar - ignored-patterns c: - insert-ids c:insert-ids - insert-sections c:insert-sections - insert-tab c:bool - insert-unambiguous c:insunambig - keep-prefix c:keep-prefix - last-prompt c:bool - list ce:listwhen - list-colors c: - list-dirs-first c:bool - list-grouped c:bool - list-packed c:bool - list-prompt c: - list-rows-first c:bool - list-separator c:separator - list-suffixes c:bool - local c: - mail-directory c:_directories - match-original c:match-orig - matcher c: - matcher-list c: - max-errors c: - max-matches-width c:max-matches-width - menu c:boolauto - muttrc c:_files - numbers c:bool - old-list c:bool - old-matches c:oldmatches - old-menu c:bool - original c:bool - packageset c:packageset - path c:_directories - pager c:_command_names - path-completion c:bool - pine-directory c:_directories - ports c:_ports - prefix-hidden c:bool - prefix-needed c:bool - preserve-prefix c:preserve-prefix - range c: - recent-dirs-insert c:recent-dirs-insert - recursive-files c: - regular c:bool - rehash c:bool - remote-access c:bool - remove-all-dups c:bool - select-prompt c: - select-scroll c: - separate-sections c:bool - show-ambiguity c: - show-completer c:bool - single-ignored c:single-ignored - sort c:sort-order - special-dirs c:sdirs - squeeze-slashes c:bool - stop c:stop - strip-comments c:bool - subst-globs-only c:bool - substitute c:bool - suffix c:bool - tag-order c:tag-order - try-to-use-pminst c:bool - urls c:_urls - use-cache c:bool - use-compctl c:urgh - use-ip c:bool - use-perl c:bool - users c:_users - users-hosts c:user-host - users-hosts-ports c:user-host-port - verbose ce:bool - word c:bool - - recent-dirs-default d:bool - recent-dirs-file d:_files - recent-dirs-max d: - recent-dirs-prune d: - recent-dirs-pushd d:bool - - auto-previous e:bool - break-keys e: - cursor e: - edit-buffer e:bool - edit-previous e:bool - editor e: - insert-kept e: - leave-cursor e:bool - match e: - prompt e: - stop-keys e: - toggle e:bool - url-globbers e: - url-local-schema e: - url-metas e: - url-other-schema e: - url-seps e: - whence e: - word-chars e: - word-class e: - word-style e:word-style - word-context e: - - formats v:vcs-format - actionformats v:vcs-format - branchformat v:branch-format - nvcsformats v: - hgrevformat v:hgrev-format - stgitformat v:stg-format - patch-format v:patch-format - nopatch-format v:patch-format - max-exports v: - enable v:vcs - disable v:vcs - disable-patterns v: - check-for-changes v:bool - check-for-staged-changes - v:bool - stagedstr v: - unstagedstr v: - command v:_command_names - use-server v:bool - use-simple v:bool - get-revision v:bool - get-mq v:bool - get-bookmarks v:bool - get-unapplied v:bool - debug v:bool - hooks v:_vcs_info_hooks - use-prompt-escapes v:bool - use-quilt v:bool - quilt-standalone v:bool - quilt-patch-dir v:_directories - quiltcommand v:_command_names - - chpwd z:bool - progress z:progress - remote-glob z:bool - titlebar z:bool - update z: -) - -taglist=( - accounts all-expansions all-files arguments arrays association-keys - bookmarks builtins characters colormapids colors commands contexts - corrections cursors default descriptions devices directories - directory-stack displays expansions extensions files flags fstypes - fonts functions globbed-files groups history-words hosts indexes - interfaces jobs keymaps keysyms libraries limits local-directories - mailboxes manuals maps messages modifiers modules my-accounts - named-directories names newsgroups nicknames options original - other-accounts packages parameters path-directories paths pods ports - prefixes printers processes processes-names ps regex sequences - sessions signals strings styles tags targets timezones types urls - users values variant visuals warnings widgets windows zsh-options - email-address ${(k)functions[(I)_email-*]#_} -) - -# Be careful with the context arguments here. They like to masquerade. -_arguments -C -A '-*' \ - '(: -)-L[output in form of zstyle commands]:pattern for context patterns:->metapatterns:style:->metastyles' \ - '(: -)-d[delete style definitions]:verbatim context pattern:->patterns:*:styles:->pstyles' \ - '(: -)-e[value is evaluated when style is looked up]:context pattern:->contexts:style:->styles:*:command:_cmdstring' \ - '(: -)-g[retrieve style definition]:array parameter:_parameters -g "*array*":verbatim context pattern:->patterns:styles:->pstyles' \ - '(: -)-s[retrieve style value as string]:context name:->contexts:style:->styles:scalar parameter:_parameters -g "*scalar*":separator: ' \ - '(: -)-b[retrieve style value as boolean]:context name:->contexts:style:->styles:scalar parameter:_parameters -g "*scalar*"' \ - '(: -)-a[retrieve style value as array]:context name:->contexts:style:->styles:array parameter:_parameters -g "*array*"' \ - '(: -)-t[test a style, returning false if it'\''s undefined]:context name:->contexts:style:->styles:*:strings to test presence of: ' \ - '(: -)-T[test a style, returning true if it'\''s undefined]:context name:->contexts:style:->styles:*:strings to test presence of: ' \ - '(: -)-m[pattern-match values of a style]:context name:->contexts:style:->styles:pattern: ' \ - ':context pattern:->contexts' ':style:->styles' '*:argument:->style-arg' - -while (( $#state )); do - case "$state[1]" in - # 'contexts' completes either full context names (for -t/-s/-a), or context - # patterns (for 'zstyle :foo bar' and -e). - (contexts) - if [[ ! -prefix :*: ]]; then - _wanted contexts expl "$state_descr" compadd -P : -qS : chpwd completion vcs_info zftp zle - elif compset -P :completion:; then - contexts=( functions _completers cmdorcont argument tag ) - elif compset -P :vcs_info:; then - contexts=( vcs-string user-context repo-root-name ) - elif compset -P :zle:; then - _wanted widgets expl widget _widgets -qS : - fi - if (( $#contexts )); then - for ostate in $contexts; do - compset -P '[^:]#:' || break - done - suf=() - compset -S ':*' || suf=( -qS: ) - [[ $ostate = $contexts[-1] ]] && suf=() - if compset -P '(|\\)\((*\||)'; then # handle (x|y) patterns - suf=() - compset -S '(|\\)[)|]*' || - suf=( -S "${${QIPREFIX:+|}:-\|}" -r "${${QIPREFIX:+|}:-\\\\} \t)" ) - fi - state+=( "$ostate" ) - fi - ;; - - # 'patterns' completes context patterns that are set, for -d/-g. - (patterns) - zstyle -g patterns - _wanted contexts expl "$state_descr" compadd -a patterns - ;; - - # 'metapatterns': patterns that are matched not against contexts, but - # against patterns. - (metapatterns) - zstyle -g patterns - patterns=( "${(@b)patterns}" ) - _wanted contexts expl "$state_descr" compadd -a patterns - ;; - - # 'metastyles': styles that are set on context patterns matching the given - # metapattern. - (metastyles) - # Anonymous function to shadow the global $styles assoc - () { - local metapattern=${(Q)${${opt_args[-L]%:*}//(#m)\\([\\:])/${MATCH[2]}}} - local -a metastyles styles - local pattern - zstyle -g patterns - for pattern in "${(@M)patterns:#${~metapattern}}"; do - zstyle -g styles $pattern - metastyles+=( "${styles[@]}" ) - done - _wanted styles expl "$state_descr" compadd -a metastyles - unset pattern - unset metastyles - } - ;; - - # 'pstyles': complete styles that are set for the verbatim context pattern - # specified on the command line. (If the user has set no zstyles, this - # will complete nothing.) - (pstyles) - local -a pstyles - local pattern - if (( $+opt_args[-d] )); then - pattern=${opt_args[-d]} - pattern=${pattern%":${(b)PREFIX}"} # remove style - pattern=${pattern//(#m)\\([\\:])/${MATCH[2]}} # undo _arguments escaping - pattern=${(Q)pattern} # undo command-line escaping (assumes no noglob) - zstyle -g pstyles $pattern - elif (( $+opt_args[-g] )); then - pattern=${opt_args[-g]} - pattern=${pattern%":${(b)PREFIX}"} # remove style - pattern=${pattern#*:} # remove array name - pattern=${pattern//(#m)\\([\\:])/${MATCH[2]}} # undo _arguments escaping - pattern=${(Q)pattern} # undo command-line escaping (assumes no noglob) - zstyle -g pstyles $pattern - fi - _wanted styles expl style compadd -a pstyles - unset pattern - unset pstyles - ;; - - # 'styles': complete all styles that may be set in the context given on the - # command line. This is independent of what styles are set. - (styles) - # Get the top-level context we're completing for, if any. - if [[ -n $line[1] ]]; then - # zstyle :something <TAB> - local the_context=$line[1] - else - # zstyle -x :something <TAB> - local joined_value=${(v)opt_args[(i)(-e|-s|-b|-a|-t|-T|-m)]} - local the_context=${(Q)joined_value[0, ${joined_value[(i)[^\\]:]}-2 ]} - fi - # Note: for 'zstyle :something <TAB>' and for 'zstyle -e :something <TAB>', - # $the_context is a context pattern; for -s,-b,-a,-t,-T,-m, it is a context - # name. We currently draw no distinction between these two cases. - case $the_context in - (:completion:*) - ctop=c - ;; - - (:chwpd:*) - ctop=d - ;; - - (:zftp:*) - ctop=z - ;; - - (:vcs_info:*) - ctop=v - ;; - - (:zle:*) - ctop=e - ;; - - (*) - ctop=a-z - ;; - esac - _wanted styles expl style \ - compadd -M 'r:|-=* r:|=*' -k "styles[(R)[^:]#[$ctop][^:]#:*]" - ;; - - (style-arg) - state+=( "${styles[${(Q)line[2]}]#*:}" ) - ;; - - (argument) - _message -e arguments argument - ;; - - (bool) - _wanted values expl boolean compadd true false - ;; - - (boolauto) - _wanted values expl boolean \ - compadd true false auto select search search-backward interactive - ;; - - (cmdorcont) - _alternative -O suf \ - 'commands:command:_path_commands' \ - 'contexts:context:(-array-value- -brace-parameter- -command- -condition- -math- -parameter- -redirect- -subscript- -value-)' - ;; - - (cursor) - _wanted values expl 'cursor positioning' compadd complete key default - ;; - - (completer) - _wanted values expl completer _completers -p - ;; - - (environ) - if [[ "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value - else - suf=() - compset -S '=*' || suf=(-S '=') - _parameters -q $suf - fi - ;; - - (fsort) - _wanted values expl 'how to sort files' \ - compadd name size links time date modification access inode change reverse - ;; - - (function) - _wanted control-functions expl 'control function' \ - compadd predict-on all-matches - ;; - - (functions) - _wanted comp-widgets expl 'completion widget' \ - compadd $suf -M 'r:|-=* r:|=*' - all-matches complete-debug complete-tag \ - correct-word expand-word expand-alias-word history-words \ - ${${${(M)${(f)"$(_call_program comp-widgets zle -l)"}:#*-C*}:#_*}/ -C*} - ;; - - (user-host-port) - if [[ $PREFIX != *[@:]* ]]; then - _users -S @ - elif [[ $PREFIX = *[@:]*[[@:]* ]]; then - compset -P 2 '*[:@]' - _ports - else - compset -P 1 '*[:@]' - _hosts -S : - fi - ;; - - (host-port) - if [[ $PREFIX != *:* ]]; then - _hosts -S : - else - compset -P 1 '*:' - _ports - fi - ;; - - (listwhen) - _wanted values expl 'when to list completions' \ - compadd always never sometimes - ;; - - (packageset) - _wanted values expl 'default package set' \ - compadd available installed uninstalled - ;; - - (progress) - _wanted values expl 'progress meter style' \ - compadd none bar percent - ;; - - (sdirs) - _wanted values expl 'whether to complete . or ..' \ - compadd true false .. - ;; - - (stop) - _wanted values expl 'when to insert matches' \ - compadd true false verbose - ;; - - (tag) - _wanted tags expl tag compadd $suf -a taglist - ;; - - (tag-order) - if compset -P '*:*:'; then - _message -e descriptions description - elif compset -P '*:'; then - _message -e labels 'tag label' - else - suf=() - compset -S ':*' || suf=( -qS: ) - _wanted values expl tag compadd $suf -a taglist - fi - ;; - - (filepat) - if compset -P '*:*:'; then - _message -e descriptions description - elif compset -P '*:'; then - _message -e tags tag - else - _message -e patterns 'glob pattern' - fi - ;; - - (user-host) - if [[ $PREFIX = *[@:]* ]]; then - compset -P '*[@:]' - _hosts - else - _users -S @ - fi - ;; - - (ignorepar) - _wanted values expl 'which parents to ignore' \ - compadd parent pwd .. directory - ;; - - (single-ignored) - _wanted values expl 'how to handle a single ignored match' \ - compadd - show menu - ;; - - (command) - shift 3 words - (( CURRENT -= 3 )) - _normal - ;; - - (insert-ids) - _wanted values expl 'when to insert process IDs' \ - compadd - menu single longer - ;; - - (insert-sections) - _wanted values expl 'where to insert man page section' \ - compadd - true false prepend suffix - ;; - - (fake-files) - _message -e fakes 'prefix and names' - ;; - - (fake-params) - if compset -P '*:'; then - _wanted values expl 'parameter type' compadd scalar array integer - else - suf='' - compset -S ':*' || suf='-qS:' - _wanted values expl 'fake parameter' _parameters $suf - fi - ;; - - (ignline) - _wanted values expl 'ignore strings on the line' compadd true false current current-shown other - ;; - - (keep-prefix) - _wanted values expl 'keep prefix' compadd true false changed - ;; - - (match-orig) - _wanted values expl "match without inserting \`*'" compadd only both - ;; - - (oldmatches) - _wanted values expl 'use list of old matches' compadd true false only - ;; - - (insunambig) - _wanted values expl 'insert unambiguous string' compadd true false pattern - ;; - - (preserve-prefix) - _message -e prefixes 'pattern matching prefix to keep' - ;; - - (recent-dirs-insert) - _wanted values expl 'inserting recent directories' \ - compadd true false always fallback both - ;; - - (separator) - _message -e separators 'separator string' - ;; - - (sort-order) - _wanted sort-orders expl 'sort order' compadd -F line - true false match nosort numeric reverse - ;; - - (max-matches-width) - _message -e numbers 'maximum display width for matches' - ;; - - (urgh) - _wanted values expl no compadd no false off 0 - ;; - - (word-style) - _wanted word-styles expl 'word style' compadd {normal,specified,unspecified,shell,whitespace}-subword - ;; - - (vcs-string) - _wanted vcs expl vcs compadd $suf - \ - ${${(f)"$(_call_program vcs vcs_info_printsys 2>/dev/null)"}:#\#*} - ;; - - (vcs) - _wanted vcs expl vcs compadd \ - ${${(f)"$(_call_program vcs vcs_info_printsys 2>/dev/null)"}:#(\#|*-)*} - ;; - - (user-context) - _wanted user-contexts expl 'user context' compadd $suf default command - ;; - - (repo-root-name) - _message -e names 'repository root name' - ;; - - (vcs-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 's[the vcs in use]' \ - 'b[the current branch]' \ - 'a[an identifier describing the action]' \ - 'i[current revision no/id]' \ - 'c[details of staged changes]' \ - 'u[details of unstaged changes]' \ - 'r[repository name]' \ - 'S[subdirectory within repository]' \ - 'm[misc replacement - backend specific]' - else - _message -e formats 'vcs format' - fi - ;; - - (branch-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'b[the current branch]' \ - 'r[current revision number]' - else - _message -e formats 'vcs format' - fi - ;; - - (hgrev-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'h[current revision hash (global)]' \ - 'r[current revision number (local)]' - else - _message -e formats 'vcs format' - fi - ;; - - (stg-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'p[patch currently on top of the stack]' \ - 'c[the number of unapplied patches]' - else - _message -e formats 'vcs format' - fi - ;; - - (patch-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'p[name of top-most patch (applied-string)]' \ - 'u[number of unapplied patches (unapplied-string)]' \ - 'n[number of applied patches]' \ - 'c[number of unapplied patches]' \ - 'a[number of all patches]' \ - 'g[names of active mq guards (hg backend)]' \ - 'G[number of active mq guards (hg backend)]' - else - _message -e formats 'vcs format' - fi - ;; - - (_*) - ${=state[1]} $suf - ;; - esac - shift state -done - -[[ $compstate[nmatches] != $nm ]] diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ztodo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ztodo deleted file mode 100644 index 73be91e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_ztodo +++ /dev/null @@ -1,30 +0,0 @@ -#compdef ztodo - -_ztodo_entries() { - local -a entries - - entries=(${${${${(f)"$(_call_program ztodo-entry ztodo list)"}#[[:space:]]##}/:[[:space:]]##/:}%:[[:space:]]#}) - _describe -t ztodo-entry 'todo entry' entries "$@" -} - -local -a args reply -args=( - /$'[^\0]#\0'/ -) - -local -a todo_entry -todo_entry=( - /$'[^\0]#\0'/ ':ztodo-entry:todo entry:_ztodo_entries' -) - -_regex_words \ - commands "ztodo command" \ - 'add:add entry' \ - 'del:delete entry:$todo_entry' \ - 'clear:clear todo list' \ - 'list:show todo list' -args+=("$reply[@]") - -_regex_arguments _ztodo "${args[@]}" - -_ztodo "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zypper b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zypper deleted file mode 100644 index 3f3402bd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/_zypper +++ /dev/null @@ -1,185 +0,0 @@ -#compdef zypper -# -# Copyright (C) 2009 Holger Macht <holger@homac.de> -# Copyright (C) 2014 Thomas Mitterfellner <thomas.mitterfellner@gmail.com> -# Copyright (C) 2014 Mariusz Fik <fisiu@opensuse.org> -# -# This file is released under the GPLv2. -# -# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html -# -# Toggle verbose completions: zstyle ':completion:*:zypper:*' verbose no -# zstyle ':completion:*:zypper-subcommand:*' verbose no -# -# version 0.3 -# -# Main dispatcher - -function _zypper_caching_policy () { - # rebuild if zsh's cache is older than zypper's - if test /var/cache/zypp/raw -nt "$1"; then - return 0 - else - return 1 - fi -} - -_zypper() { - typeset -A opt_args - local context curcontext="$curcontext" state line - - if (( CURRENT > 2 )) && [[ ${words[2]} != "help" ]]; then - # Remember the subcommand name - local cmd=${words[2]} - # Set the context for the subcommand. - curcontext="${curcontext%:*:*}:zypper-subcommand" - # Narrow the range of words we are looking at to exclude `zypper' - (( CURRENT-- )) - shift words - - _zypper_cmd_do $cmd - else - local hline - local -a cmdlist - local tag=0 - _call_program help-commands LANG=C zypper help | sed -e ':a;N;$!ba;s/\n\t\t\t\t/ /g' | while read -A hline; do - # start parsing with "Global Options:" - [[ $hline =~ "^Global Options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # skip empty lines - [[ $hline =~ ^\s*$ ]] && continue - # all commands have to start with lower case letters - [[ $hline == [[:upper:]]* ]] && continue - (( ${#hline} < 2 )) && continue - - # cut comma at end of command - hline[1]=`echo $hline[1] | sed -e 's/\(^.*\),/\1/'` - - # ${hline[1]%,} truncates the last ',' - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - _describe -t zypper-commands 'zypper command' cmdlist - fi -} - -_all_repos() { - local -a repos - repos=( $(zypper -q lr | tail -n +3 | cut -d'|' -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_enabled_repos() { - repos=( $(zypper -x lr | grep 'enabled="1"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_disabled_repos() { - repos=( $(zypper -x lr | grep 'enabled="0"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_zypper_cmd_do() { - typeset -A opt_args - local context state line - local hline - local -a cmdlist - local tag=0 - local curcontext="$curcontext" - - zstyle ":completion:${curcontext}:" use-cache on - zstyle ":completion:${curcontext}:" cache-policy _zypper_caching_policy - - _call_program help-commands LANG=C zypper help $cmd | while read -A hline; do - # start parsing from "Options:" - [[ $hline =~ "^Command options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # Option has to start with a '-' - [[ $hline[1] =~ ^- ]] || continue - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - - if [ -n "$cmdlist" ]; then - local -a repos - - # special completion lists for certain options (mainly repos) - case ${words[CURRENT - 1]} in - --from) - repos=( $(zypper -x lr | grep 'enabled="1"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return - ;; - (--enable|-e) - case $cmd in - (mr|modifyrepo) - _disabled_repos && return - ;; - esac - ;; - (--disable|-d) - case $cmd in - (mr|modifyrepo) - _enabled_repos && return - ;; - esac - ;; - (--type|-t) - local -a types - case $cmd in - (if|info|se|search|in|install) - types=( pattern srcpackage package patch ) - _describe -t types 'package type' types && return - ;; - esac - ;; - esac - - # all options available for the active main command - _describe -t zypper-commands 'zypper command' cmdlist - - case $cmd in - (lr|repos) - _all_repos - ;; - (in|install) - local expl - _description files expl 'RPM file' - _files "$expl[@]" -g '*.(#i)rpm(.)' - ;; - esac - - # only suggest packages if at least one character is given - if [[ ${words[CURRENT]} =~ "^[0-9a-zA-Z]" ]] ; then - local -a pkglist - - if ( [[ ${+_zypp_all_raw} -eq 0 ]] || _cache_invalid ZYPPER_ALL_RAW ) && ! _retrieve_cache ZYPPER_ALL_RAW; - then - _zypp_all_raw=$(zypper -x -q se | grep '<solvable' | cut -d \" -f 2,4) - _zypp_all=( $(echo $_zypp_all_raw | grep 'installed' | cut -d\" -f 2) ) - _zypp_not_installed=( $(echo $_zypp_all_raw | grep 'not-installed' | cut -d\" -f 2 ) ) - _zypp_installed=( $(echo $_zypp_all_raw | grep '^installed' | cut -d\" -f 2 ) ) - _store_cache ZYPPER_ALL_RAW _zypp_all_raw _zypp_all _zypp_not_installed _zypp_installed - fi - - case $cmd in - (in|install) - pkglist=( $_zypp_not_installed ) - compadd $pkglist && return - ;; - (rm|remove|up|update) - pkglist=( $_zypp_installed ) - compadd $pkglist && return - ;; - (if|info|se|search) - pkglist=( $_zypp_all ) - compadd $pkglist && return - ;; - esac - fi - else - _complete - fi -} - -# Code to make sure _zypper is run when we load it -_zypper "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zle-hook-widget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zle-hook-widget deleted file mode 100644 index 4d804908..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zle-hook-widget +++ /dev/null @@ -1,186 +0,0 @@ -# Add to HOOK the given WIDGET -# -# HOOK is one of isearch-exit, isearch-update, line-pre-redraw, line-init, -# line-finish, history-line-set, keymap-select (the zle- prefix is allowed -# but not required). If a widget corresponding to HOOK already exists, it -# is preserved and called first in the new set of HOOK widgets. -# -# With -d, remove the WIDGET from the hook instead; deletes the hook -# linkage if it is empty. -# -# -D behaves like -d, but pattern characters are active in WIDGET, so -# any matching widget will be deleted from the hook. -# -# Without -d, if the WIDGET is not already defined, a function having the -# same name is marked for autoload; -U is passed down to autoload if that -# is given, as are -z and -k. (This is harmless if the function is -# already defined.) The WIDGET is then created with zle -N. -# -# The -L option lists the hooks and their associated widgets. - -# This is probably more safeguarding than necessary -zmodload -e zsh/zle || return 1 -{ zmodload zsh/parameter && zmodload zsh/zleparameter } || { - print -u2 "add-zle-hook-widget: Need parameter modules for zle hooks" - return 1 -} - -() { # Preserve caller global option settings - -emulate -L zsh - -# Setup - create the base functions for hook widgets that call the others - -local -a hooktypes=( zle-isearch-exit zle-isearch-update - zle-line-pre-redraw zle-line-init zle-line-finish - zle-history-line-set zle-keymap-select ) -# Stash in zstyle to make it global -zstyle zle-hook types ${hooktypes#zle-} - -# Relying on multifuncdef option here -function azhw:${^hooktypes} { - local -a hook_widgets - local hook - # Values of these styles look like number:name - # and we run them in number order - zstyle -a $WIDGET widgets hook_widgets - for hook in "${(@)${(@on)hook_widgets[@]}#<->:}"; do - if [[ "$hook" = user:* ]]; then - # Preserve $WIDGET within the renamed widget - zle "$hook" -f "nolast" -N -- "$@" - else - zle "$hook" -f "nolast" -Nw -- "$@" - fi || return - done - return 0 -} - -# Redefine ourself with the setup left out - -function add-zle-hook-widget { - local -a hooktypes - zstyle -a zle-hook types hooktypes - - # This part copied from add-zsh-hook - local usage="Usage: $funcstack[1] hook widgetname\nValid hooks are:\n $hooktypes" - - local opt - local -a autoopts - integer del list help - - while getopts "dDhLUzk" opt; do - case $opt in - (d) - del=1 - ;; - - (D) - del=2 - ;; - - (h) - help=1 - ;; - - (L) - list=1 - ;; - - ([Uzk]) - autoopts+=(-$opt) - ;; - - (*) - return 1 - ;; - esac - done - shift $(( OPTIND - 1 )) - - 1=${1#zle-} # Strip prefix not stored in zle-hook types style - - if (( list )); then - zstyle -L "zle-(${1:-${(@j:|:)hooktypes[@]}})" widgets - return $? - elif (( help || $# != 2 || ${hooktypes[(I)$1]} == 0 )); then - print -u$(( 2 - help )) $usage - return $(( 1 - help )) - fi - - local -aU extant_hooks - local hook="zle-$1" - local fn="$2" - - if (( del )); then - # delete, if hook is set - if zstyle -g extant_hooks "$hook" widgets; then - if (( del == 2 )); then - set -A extant_hooks ${extant_hooks[@]:#(<->:|)${~fn}} - else - set -A extant_hooks ${extant_hooks[@]:#(<->:|)$fn} - fi - # unset if no remaining entries - if (( ${#extant_hooks} )); then - zstyle "$hook" widgets "${extant_hooks[@]}" - else - zstyle -d "$hook" widgets - fi - fi - else - # Check whether attempting to add a widget named for the hook - if [[ "$fn" = "$hook" ]]; then - if (( ${+widgets[$fn]} )); then - print -u2 "$funcstack[1]: Cannot hook $fn to itself" - return 1 - fi - # No point in building the array until another is added - autoload "${autoopts[@]}" -- "$fn" - zle -N "$fn" - return 0 - fi - integer i=${#options[ksharrays]}-2 - zstyle -g extant_hooks "$hook" widgets - # Check for an existing widget, add it as the first hook - if [[ ${widgets[$hook]:-} != "user:azhw:$hook" ]]; then - if [[ -n ${widgets[$hook]:-} ]]; then - zle -A "$hook" "${widgets[$hook]}" - extant_hooks=(0:"${widgets[$hook]}" "${extant_hooks[@]}") - fi - zle -N "$hook" azhw:"$hook" - fi - # Add new widget only if not already in the hook list - if [[ -z ${(M)extant_hooks[@]:#(<->:|)$fn} ]]; then - # no index and not already hooked - # assign largest existing index plus 1 - i=${${(On@)${(@M)extant_hooks[@]#<->:}%:}[i]:-0}+1 - else - return 0 - fi - extant_hooks+=("${i}:${fn}") - zstyle -- "$hook" widgets "${extant_hooks[@]}" - if (( ! ${+widgets[$fn]} )); then - autoload "${autoopts[@]}" -- "$fn" - zle -N -- "$fn" - fi - if (( ! ${+widgets[$hook]} )); then - zle -N "$hook" azhw:"$hook" - fi - fi -} - -} "$@" # Resume caller global options - -# Handle zsh autoloading conventions: -# - "file" appears last in zsh_eval_context when "source"-ing -# - "evalautofunc" appears with kshautoload set or autoload -k -# - "loadautofunc" appears with kshautoload unset or autoload -z -# - use of autoload +X cannot reliably be detected, use best guess -case "$zsh_eval_context" in -*file) ;; -*evalautofunc) ;; -*loadautofunc) add-zle-hook-widget "$@";; -*) [[ -o kshautoload ]] || add-zle-hook-widget "$@";; -esac -# Note fallback here is equivalent to the usual best-guess used by -# functions written for zsh before $zsh_eval_context was available -# so this case-statement is backward-compatible. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zsh-hook b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zsh-hook deleted file mode 100644 index 3bc952e2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/add-zsh-hook +++ /dev/null @@ -1,93 +0,0 @@ -# Add to HOOK the given FUNCTION. -# HOOK is one of chpwd, precmd, preexec, periodic, zshaddhistory, -# zshexit, zsh_directory_name (the _functions subscript is not required). -# -# With -d, remove the function from the hook instead; delete the hook -# variable if it is empty. -# -# -D behaves like -d, but pattern characters are active in the -# function name, so any matching function will be deleted from the hook. -# -# Without -d, the FUNCTION is marked for autoload; -U is passed down to -# autoload if that is given, as are -z and -k. (This is harmless if the -# function is actually defined inline.) - -emulate -L zsh - -local -a hooktypes -hooktypes=( - chpwd precmd preexec periodic zshaddhistory zshexit - zsh_directory_name -) -local usage="Usage: add-zsh-hook hook function\nValid hooks are:\n $hooktypes" - -local opt -local -a autoopts -integer del list help - -while getopts "dDhLUzk" opt; do - case $opt in - (d) - del=1 - ;; - - (D) - del=2 - ;; - - (h) - help=1 - ;; - - (L) - list=1 - ;; - - ([Uzk]) - autoopts+=(-$opt) - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -if (( list )); then - typeset -mp "(${1:-${(@j:|:)hooktypes}})_functions" - return $? -elif (( help || $# != 2 || ${hooktypes[(I)$1]} == 0 )); then - print -u$(( 2 - help )) $usage - return $(( 1 - help )) -fi - -local hook="${1}_functions" -local fn="$2" - -if (( del )); then - # delete, if hook is set - if (( ${(P)+hook} )); then - if (( del == 2 )); then - set -A $hook ${(P)hook:#${~fn}} - else - set -A $hook ${(P)hook:#$fn} - fi - # unset if no remaining entries --- this can give better - # performance in some cases - if (( ! ${(P)#hook} )); then - unset $hook - fi - fi -else - if (( ${(P)+hook} )); then - if (( ${${(P)hook}[(I)$fn]} == 0 )); then - typeset -ga $hook - set -A $hook ${(P)hook} $fn - fi - else - typeset -ga $hook - set -A $hook $fn - fi - autoload $autoopts -- $fn -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/after b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/after deleted file mode 100644 index 7fb0166f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/after +++ /dev/null @@ -1,67 +0,0 @@ -# Glob qualifier function, e.g -# -# print *(e:after 2014/08/01:) -# print *(e-after today:12:00-) -# -# If named before: -# Match files modified before a given time. -# -# If named after: -# Match files modified after a given time. Use as glob qualifier. -# N.B.: "after" actually includes the given time as it is to second -# precision (it would be inconvenient to exclude the first second of a date). -# It should therefore more logically be called "from", but that's a less -# obvious name. -# -# File to test is in $REPLY. -# -# Similar to age, but only takes at most one data, which is -# compared directly with the current time. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# == 1 )); then - if [[ $1 = :* ]]; then - timefmt="%Y/%m/%d:%H:%M:%S" - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - case $0 in - (after) - (( mtime >= date1 )) - ;; - - (before) - (( mtime < date1 )) - ;; - - (*) - print "$0: must be named 'after' or 'before'" >&2 - return 1 - ;; - esac -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/age b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/age deleted file mode 100644 index 50755d61..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/age +++ /dev/null @@ -1,85 +0,0 @@ -# Match the age of a file, for use as a glob qualifier. Can -# take one or two arguments, which can be supplied by one of two -# ways (always the same for both arguments): -# -# print *(e:age 2006/10/04 2006/10/09:) -# -# Match all files modified between the start of those dates. -# -# print *(e:age 2006/10/04:) -# -# Match all files modified on that date. If the second argument is -# omitted it is taken to be exactly 24 hours after the first argument -# (even if the first argument contains a time). -# -# print *(e-age 2006/10/04:10:15 2006/10/04:10:45-) -# -# Supply times. All the time and formats handled by calendar_scandate -# are allowed, but whitespace must be quoted to ensure age receives -# the correct arguments. -# -# AGEREF=2006/10/04:10:15 -# AGEREF2=2006/10/04:10:45 -# print *(+age) -# -# The same example using the other form of argument passing. The -# dates stay in effect until unset, but will be overridden if -# any argument is passed in the first format. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# >= 1 )); then - if [[ $1 = :* ]]; then - if (( $# > 1 )); then - timefmt="%Y/%m/%d:%H:%M:%S" - else - timefmt="%Y/%m/%d" - fi - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi - # if 1 argument given, never use globally defined AGEREF2 - if [[ $2 = :* ]]; then - zstat -A tmp -F "%Y/%m/%d:%H:%M:%S" +mtime -- ${2#:} || return 1 - local AGEREF2=$tmp[1] - else - local AGEREF2=$2 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - if [[ -n $AGEREF2 ]]; then - if [[ $AGEREF2 = +* ]]; then - calendar_scandate -rt $AGEREF2[2,-1] || return 1 - (( date2 = date1 + REPLY )) - else - calendar_scandate -t $AGEREF2 || return 1 - date2=$REPLY - fi - else - (( date2 = date1 + 24 * 60 * 60 )) - fi - - (( date1 <= mtime && mtime <= date2 )) -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/allopt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/allopt deleted file mode 100644 index 5d5d2885..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/allopt +++ /dev/null @@ -1,25 +0,0 @@ -# This function lists options with the no's in front removed for -# improved comprehension, i.e. `norcs off' becomes `rcs on'. -# The format is otherwise like that with `kshoptionprint' set, -# i.e. you can see all options whether on or off. -# It can take a list of option names or parts thereof to search for -# via egrep. -# -# Written by Sweth Chandramouli with hacks by Bart Schaefer. - -listalloptions () { - local OPT_NAME OPT_VALUE IFS=$' \t\n' - builtin set -o | while read OPT_NAME OPT_VALUE ; do - if [[ ${OPT_NAME#no} != ${OPT_NAME} ]] ; then - OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}} - OPT_NAME=${OPT_NAME#no} - fi - echo "${(r:21:)OPT_NAME} ${OPT_VALUE}" - done -} - -if [[ -n $@ ]]; then - listalloptions | egrep "${(j.|.)@}" -else - listalloptions -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-kill-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-kill-word-match deleted file mode 100644 index f04614c8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-kill-word-match +++ /dev/null @@ -1,37 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word done -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle ${WIDGET##backward-} - return -fi - -while (( count-- )); do - - match-words-by-style - - word="$matched_words[2]$matched_words[3]" - - if [[ -n $word ]]; then - if [[ -n $done || $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$word$CUTBUFFER" - else - zle copy-region-as-kill -- "$word" - fi - LBUFFER=$matched_words[1] - else - return 1 - fi - done=1 -done - -zle -f 'kill' - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-word-match deleted file mode 100644 index bda10d1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/backward-word-match +++ /dev/null @@ -1,29 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = - count )) - zle ${WIDGET/backward/forward} - return -fi - -while (( count-- )); do - - match-words-by-style - - word=$matched_words[2]$matched_words[3] - - if [[ -n $word ]]; then - (( CURSOR -= ${#word} )) - else - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bashcompinit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bashcompinit deleted file mode 100644 index adb659ca..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bashcompinit +++ /dev/null @@ -1,180 +0,0 @@ -#autoload - -_bash_complete() { - local ret=1 - local -a suf matches - local -x COMP_POINT COMP_CWORD - local -a COMP_WORDS COMPREPLY BASH_VERSINFO - local -x COMP_LINE="$words" - local -A savejobstates savejobtexts - - (( COMP_POINT = 1 + ${#${(j. .)words[1,CURRENT-1]}} + $#QIPREFIX + $#IPREFIX + $#PREFIX )) - (( COMP_CWORD = CURRENT - 1)) - COMP_WORDS=( "${words[@]}" ) - BASH_VERSINFO=( 2 05b 0 1 release ) - - savejobstates=( ${(kv)jobstates} ) - savejobtexts=( ${(kv)jobtexts} ) - - [[ ${argv[${argv[(I)nospace]:-0}-1]} = -o ]] && suf=( -S '' ) - - matches=( ${(f)"$(compgen $@ -- ${words[CURRENT]})"} ) - - if [[ -n $matches ]]; then - if [[ ${argv[${argv[(I)filenames]:-0}-1]} = -o ]]; then - compset -P '*/' && matches=( ${matches##*/} ) - compset -S '/*' && matches=( ${matches%%/*} ) - compadd -f "${suf[@]}" -a matches && ret=0 - else - compadd "${suf[@]}" - "${(@)${(Q@)matches}:#*\ }" && ret=0 - compadd -S ' ' - ${${(M)${(Q)matches}:#*\ }% } && ret=0 - fi - fi - - if (( ret )); then - if [[ ${argv[${argv[(I)default]:-0}-1]} = -o ]]; then - _default "${suf[@]}" && ret=0 - elif [[ ${argv[${argv[(I)dirnames]:-0}-1]} = -o ]]; then - _directories "${suf[@]}" && ret=0 - fi - fi - - return ret -} - -compgen() { - local opts prefix suffix job OPTARG OPTIND ret=1 - local -a name res results jids - local -A shortopts - - # words changes behavior: words[1] -> words[0] - emulate -L sh - setopt kshglob noshglob braceexpand nokshautoload - - shortopts=( - a alias b builtin c command d directory e export f file - g group j job k keyword u user v variable - ) - - while getopts "o:A:G:C:F:P:S:W:X:abcdefgjkuv" name; do - case $name in - [abcdefgjkuv]) OPTARG="${shortopts[$name]}" ;& - A) - case $OPTARG in - alias) results+=( "${(k)aliases[@]}" ) ;; - arrayvar) results+=( "${(k@)parameters[(R)array*]}" ) ;; - binding) results+=( "${(k)widgets[@]}" ) ;; - builtin) results+=( "${(k)builtins[@]}" "${(k)dis_builtins[@]}" ) ;; - command) - results+=( - "${(k)commands[@]}" "${(k)aliases[@]}" "${(k)builtins[@]}" - "${(k)functions[@]}" "${(k)reswords[@]}" - ) - ;; - directory) - setopt bareglobqual - results+=( ${IPREFIX}${PREFIX}*${SUFFIX}${ISUFFIX}(N-/) ) - setopt nobareglobqual - ;; - disabled) results+=( "${(k)dis_builtins[@]}" ) ;; - enabled) results+=( "${(k)builtins[@]}" ) ;; - export) results+=( "${(k)parameters[(R)*export*]}" ) ;; - file) - setopt bareglobqual - results+=( ${IPREFIX}${PREFIX}*${SUFFIX}${ISUFFIX}(N) ) - setopt nobareglobqual - ;; - function) results+=( "${(k)functions[@]}" ) ;; - group) - emulate zsh - _groups -U -O res - emulate sh - setopt kshglob noshglob braceexpand - results+=( "${res[@]}" ) - ;; - hostname) - emulate zsh - _hosts -U -O res - emulate sh - setopt kshglob noshglob braceexpand - results+=( "${res[@]}" ) - ;; - job) results+=( "${savejobtexts[@]%% *}" );; - keyword) results+=( "${(k)reswords[@]}" ) ;; - running) - jids=( "${(@k)savejobstates[(R)running*]}" ) - for job in "${jids[@]}"; do - results+=( ${savejobtexts[$job]%% *} ) - done - ;; - stopped) - jids=( "${(@k)savejobstates[(R)suspended*]}" ) - for job in "${jids[@]}"; do - results+=( ${savejobtexts[$job]%% *} ) - done - ;; - setopt|shopt) results+=( "${(k)options[@]}" ) ;; - signal) results+=( "SIG${^signals[@]}" ) ;; - user) results+=( "${(k)userdirs[@]}" ) ;; - variable) results+=( "${(k)parameters[@]}" ) ;; - helptopic) ;; - esac - ;; - F) - COMPREPLY=() - local -a args - args=( "${words[0]}" "${@[-1]}" "${words[CURRENT-2]}" ) - (){ - # There may be more things we need to add to this typeset to - # protect bash functions from compsys special variable names - typeset -h words - $OPTARG "${args[@]}" - } - results+=( "${COMPREPLY[@]}" ) - ;; - G) - setopt nullglob - results+=( ${~OPTARG} ) - unsetopt nullglob - ;; - W) results+=( ${(Q)~=OPTARG} ) ;; - C) results+=( $(eval $OPTARG) ) ;; - P) prefix="$OPTARG" ;; - S) suffix="$OPTARG" ;; - X) - if [[ ${OPTARG[0]} = '!' ]]; then - results=( "${(M)results[@]:#${OPTARG#?}}" ) - else - results=( "${results[@]:#$OPTARG}" ) - fi - ;; - esac - done - - # support for the last, `word' option to compgen. Zsh's matching does a - # better job but if you need to, comment this in and use compadd -U - # (( $# >= OPTIND)) && results=( "${(M)results[@]:#${@[-1]}*}" ) - - print -l -r -- "$prefix${^results[@]}$suffix" -} - -complete() { - emulate -L zsh - local args void cmd print remove - args=( "$@" ) - zparseopts -D -a void o: A: G: W: C: F: P: S: X: a b c d e f g j k u v \ - p=print r=remove - if [[ -n $print ]]; then - printf 'complete %2$s %1$s\n' "${(@kv)_comps[(R)_bash*]#* }" - elif [[ -n $remove ]]; then - for cmd; do - unset "_comps[$cmd]" - done - else - compdef _bash_complete\ ${(j. .)${(q)args[1,-1-$#]}} "$@" - fi -} - -unfunction bashcompinit -autoload -Uz bashcompinit -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/before b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/before deleted file mode 100644 index 7fb0166f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/before +++ /dev/null @@ -1,67 +0,0 @@ -# Glob qualifier function, e.g -# -# print *(e:after 2014/08/01:) -# print *(e-after today:12:00-) -# -# If named before: -# Match files modified before a given time. -# -# If named after: -# Match files modified after a given time. Use as glob qualifier. -# N.B.: "after" actually includes the given time as it is to second -# precision (it would be inconvenient to exclude the first second of a date). -# It should therefore more logically be called "from", but that's a less -# obvious name. -# -# File to test is in $REPLY. -# -# Similar to age, but only takes at most one data, which is -# compared directly with the current time. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# == 1 )); then - if [[ $1 = :* ]]; then - timefmt="%Y/%m/%d:%H:%M:%S" - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - case $0 in - (after) - (( mtime >= date1 )) - ;; - - (before) - (( mtime < date1 )) - ;; - - (*) - print "$0: must be named 'after' or 'before'" >&2 - return 1 - ;; - esac -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-magic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-magic deleted file mode 100644 index 840091b4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-magic +++ /dev/null @@ -1,222 +0,0 @@ -# Starting with zsh-5.1, ZLE began to recognize the "bracketed paste" -# capability of terminal emulators, that is, the sequences $'\e[200~' to -# start a paste and $'\e[201~' to indicate the end of the pasted text. -# Pastes are handled by the bracketed-paste widget and insert literally -# into the editor buffer rather than being interpreted as keystrokes. -# -# This disables some common usages where the self-insert widget has been -# replaced in order to accomplish some extra processing. An example is -# the contributed url-quote-magic widget. The bracketed-paste-magic -# widget replaces bracketed-paste with a wrapper that re-enables these -# self-insert actions, and other actions as selected by the zstyles -# described below. -# -# Setup: -# autoload -Uz bracketed-paste-magic -# zle -N bracketed-paste bracketed-paste-magic - -# The following zstyles may be set to control processing of pasted text. -# -# active-widgets -# Looked up in the context :bracketed-paste-magic to obtain a list of -# patterns that match widget names that should be activated during the -# paste. All other key sequences are processed as "zle .self-insert". -# The default is 'self-*' so any user-defined widgets named with that -# prefix are active along with the builtin self-insert. If this style is -# not set (note: it must be explicitly deleted after loading this -# function, otherwise it becomes set by default) or has no value, no -# widgets are active and the pasted text is inserted literally. If the -# value includes undefined-key, any unknown sequences are discarded from -# the pasted text. -# -# inactive-keys -# This is the inverse of active-widgets, it lists key sequences that -# always use "zle .self-insert" even when bound to an active-widget. -# Note that this is a list of literal key sequences, not patterns. -# This style is in context :bracketed-paste-magic and has no default. -# -# paste-init -# paste-finish -# Also looked up in the context :bracketed-paste-magic, these styles -# each are a list of function names. They are executed in widget -# context but are called as functions (NOT as widgets with "zle name"). -# As with hooks, the functions are called in order until one of them -# returns a nonzero exit status. The parameter PASTED contains the -# current state of the pasted text, other ZLE parameters are as usual. -# Although a nonzero status stops each list of functions, it does NOT -# abort the entire paste operation; use "zle send-break" for that. - -# IMPORTANT: During processing of the paste (after paste-init and -# before paste-finish), BUFFER starts empty and history is restricted, -# so cursor motions etc. may not pass outside of the pasted content. -# However, the paste-init functions have access to the full history and -# the original BUFFER, so they may for example move words from BUFFER -# into PASTED to make those words visible to the active-widgets. - -# Establish default values for styles, but only if not already set -zstyle -m :bracketed-paste-magic active-widgets '*' || - zstyle ':bracketed-paste-magic' active-widgets 'self-*' - -# Helper/example paste-init for exposing a word prefix inside PASTED. -# Useful with url-quote-magic if you have http://... on the line and -# are pasting additional text on the end of the URL. -# -# Usage: -# zstyle :bracketed-paste-magic paste-init backward-extend-paste -# -# TODO: rewrite this using match-words-by-style -# -backward-extend-paste() { - emulate -L zsh - integer bep_mark=$MARK bep_region=$REGION_ACTIVE - if (( REGION_ACTIVE && MARK < CURSOR )); then - zle .exchange-point-and-mark - fi - if (( CURSOR )); then - local -a bep_words=( ${(z)LBUFFER} ) - if [[ -n $bep_words[-1] && $LBUFFER = *$bep_words[-1] ]]; then - PASTED=$bep_words[-1]$PASTED - LBUFFER=${LBUFFER%${bep_words[-1]}} - fi - fi - if (( MARK > bep_mark )); then - zle .exchange-point-and-mark - fi - REGION_ACTIVE=$bep_region -} - -# Example paste-finish for quoting the pasted text. -# -# Usage e.g.: -# zstyle :bracketed-paste-magic paste-finish quote-paste -# zstyle :bracketed-paste-magic:finish quote-style qqq -# -# Using "zstyle -e" to examine $PASTED lets you choose different quotes -# depending on context. -# -# To forcibly turn off numeric prefix quoting, use e.g.: -# zstyle :bracketed-paste-magic:finish quote-style none -# -quote-paste() { - emulate -L zsh - local qstyle - # If there's a quoting style, be sure .bracketed-paste leaves it alone - zstyle -s :bracketed-paste-magic:finish quote-style qstyle && NUMERIC=1 - case $qstyle in - (b) PASTED=${(b)PASTED};; - (q-) PASTED=${(q-)PASTED};; - (\\|q) PASTED=${(q)PASTED};; - (\'|qq) PASTED=${(qq)PASTED};; - (\"|qqq) PASTED=${(qqq)PASTED};; - (\$|qqqq) PASTED=${(qqqq)PASTED};; - (Q) PASTED=${(Q)PASTED};; - esac -} - -# Now the actual function - -bracketed-paste-magic() { - if [[ "$LASTWIDGET" = *vi-set-buffer ]]; then - # Fast exit in the vi-mode cut-buffer context - zle .bracketed-paste - return - else - # Capture the pasted text in $PASTED - local PASTED REPLY - zle .bracketed-paste PASTED - fi - - # Really necessary to go to this much effort? - local bpm_emulate="$(emulate)" bpm_opts="$-" - - emulate -L zsh - local -a bpm_hooks bpm_inactive - local bpm_func bpm_active bpm_keymap=$KEYMAP - - # Run the paste-init functions - if zstyle -a :bracketed-paste-magic paste-init bpm_hooks; then - for bpm_func in $bpm_hooks; do - if (( $+functions[$bpm_func] )); then - function () { - emulate -L $bpm_emulate; set -$bpm_opts - $bpm_func || break - } - fi - done - fi - - zstyle -a :bracketed-paste-magic inactive-keys bpm_inactive - if zstyle -s :bracketed-paste-magic active-widgets bpm_active '|'; then - # Save context, create a clean slate for the paste - integer bpm_mark=$MARK bpm_region=$REGION_ACTIVE - integer bpm_numeric=${NUMERIC:-1} - integer bpm_limit=$UNDO_LIMIT_NO bpm_undo=$UNDO_CHANGE_NO - zle .split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - BUFFER= - CURSOR=1 - fc -p -a /dev/null 0 0 - if [[ $bmp_keymap = vicmd ]]; then - zle -K viins - fi - - # There are active widgets. Reprocess $PASTED as keystrokes. - NUMERIC=1 - zle -U - "$PASTED" - - # Just in case there are active undo widgets - - while [[ -n $PASTED ]] && zle .read-command; do - PASTED=${PASTED#$KEYS} - if [[ $KEYS = ${(~j:|:)${(b)bpm_inactive}} ]]; then - zle .self-insert - else - case $REPLY in - (${~bpm_active}) function () { - emulate -L $bpm_emulate; set -$bpm_opts - zle $REPLY -w - };; - (*) zle .self-insert;; - esac - fi - done - PASTED=$BUFFER - - # Restore state - zle -K $bpm_keymap - fc -P - MARK=$bpm_mark - REGION_ACTIVE=$bpm_region - NUMERIC=$bpm_numeric - zle .undo $bpm_undo - UNDO_LIMIT_NO=$bpm_limit - fi - - # PASTED has been updated, run the paste-finish functions - if zstyle -a :bracketed-paste-magic paste-finish bpm_hooks; then - for bpm_func in $bpm_hooks; do - if (( $+functions[$bpm_func] )); then - function () { - emulate -L $bpm_emulate; set -$bpm_opts - $bpm_func || break - } - fi - done - fi - - # Reprocess $PASTED as an actual paste this time - zle -U - $PASTED$'\e[201~' # append paste-end marker - zle .bracketed-paste -- "$@" - zle .split-undo - - # Arrange to display highlighting if necessary - if [[ -z $zle_highlight || -n ${(M)zle_highlight:#paste:*} ]]; then - zle -R - zle .read-command && zle -U - "$KEYS" - fi -} - -# Handle zsh autoloading conventions -if [[ "$zsh_eval_context" = *loadautofunc && ! -o kshautoload ]]; then - bracketed-paste-magic "$@" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-url-magic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-url-magic deleted file mode 100644 index b894696b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/bracketed-paste-url-magic +++ /dev/null @@ -1,44 +0,0 @@ -# bracketed-paste-url-magic quotes pasted urls automatically, if the -# paste exactly starts with a url, eg no spaces or other characters precede it -# -# If the numeric argument is provided (eg, pressing alt-0 or alt-1 in emacs mode, -# or just the number by itself in vi command mode), then -# 0 is the default and means auto detect urls -# 1 means always quote -# any other value means never quote -# -# To use this widget, put this in your startup files (eg, .zshrc) -# -# autoload -Uz bracketed-paste-url-magic -# zle -N bracketed-paste bracketed-paste-url-magic -# -# You can customize which schemas are to be quoted by using -# -# zstyle :bracketed-paste-url-magic schema http https ftp -# -# The default can be seen just below. - -local -a schema -zstyle -a :bracketed-paste-url-magic schema schema || schema=(http:// https:// ftp:// ftps:// file:// ssh:// sftp:// magnet:) - -local wantquote=${NUMERIC:-0} -local content -local start=$#LBUFFER - -zle .$WIDGET -N content - -if (( $wantquote == 0 )); then - if [[ $content = (${(~j:|:)schema})* ]]; then - wantquote=1 - fi -fi - -if (( $wantquote == 1 )); then - content=${(q-)content} -fi - -LBUFFER+=$content - -YANK_START=$start -YANK_END=$#LBUFFER -zle -f yank diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar deleted file mode 100644 index aff39b36..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar +++ /dev/null @@ -1,445 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local line showline restline REPLY REPLY2 userange nobackup datefmt -local calendar donefile sched newfile warnstr mywarnstr newdate -integer time start stop today ndays y m d next=-1 shown done nodone -integer verbose warntime mywarntime t tcalc tsched i rstat remaining -integer showcount icount repeating repeattime resched showall brief -local -a calendar_entries calendar_addlines -local -a times calopts showprog lockfiles match mbegin mend tmplines -local -A reply - -zmodload -i zsh/datetime || return 1 -zmodload -i zsh/zutil || return 1 -zmodload -F zsh/files b:zf_ln || return 1 - -autoload -Uz calendar_{add,parse,read,scandate,show,lockfiles} - -# Read the calendar file from the calendar-file style -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar -newfile=$calendar.new.$HOST.$$ -zstyle -s ':datetime:calendar:' done-file donefile || donefile="$calendar.done" -# Read the programme to show the message from the show-prog style. -zstyle -a ':datetime:calendar:' show-prog showprog || - showprog=(calendar_show) -# Amount of time before an event when it should be flagged. -# May be overridden in individual entries -zstyle -s ':datetime:calendar:' warn-time warnstr || warnstr="0:05" -# default to standard ctime date/time format -zstyle -s ':datetime:calendar:' date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - -if [[ -n $warnstr ]]; then - if [[ $warnstr = <-> ]]; then - (( warntime = warnstr )) - elif ! calendar_scandate -ar $warnstr; then - print >&2 \ - "warn-time value '$warnstr' not understood; using default 5 minutes" - warnstr="5 mins" - (( warntime = 5 * 60 )) - else - (( warntime = REPLY )) - fi -fi - -[[ -f $calendar ]] || return 1 - -# We're not using getopts because we want +... to refer to a -# relative time, not an option, and allow some other additions -# like handling -<->. -integer opti=0 -local opt optrest optarg - -while [[ ${argv[opti+1]} = -* ]]; do - (( opti++ )) - opt=${argv[opti][2]} - optrest=${argv[opti][3,-1]} - [[ -z $opt || $opt = - ]] && break - while [[ -n $opt ]]; do - case $opt in - ######################## - # Options with arguments - ######################## - ([BCnS]) - if [[ -n $optrest ]]; then - optarg=$optrest - optrest= - elif (( opti < $# )); then - optarg=$argv[++opti] - optrest= - else - print -r "$0: option -$opt requires an argument." >&2 - return 1 - fi - case $opt in - (B) - # Brief, with number of lines to show. - brief=$optarg - if (( brief <= 0 )); then - print -r "$0: option -$opt requires a positive integer." >&2 - return 1 - fi - ;; - - (C) - # Pick the calendar file, overriding style and default. - calendar=$optarg - ;; - - (n) - # Show this many remaining events regardless of date. - showcount=$optarg - if (( showcount <= 0 )); then - print -r "$0: option -$opt requires a positive integer." >&2 - return 1 - fi - ;; - - (S) - # Explicitly specify a show programme, overriding style and default. - # Colons in the argument are turned into space. - showprog=(${(s.:.)optarg}) - ;; - esac - ;; - - ########################### - # Options without arguments - ########################### - (a) - # Show all entries - (( showall = 1 )) - ;; - - (b) - # Brief: don't show continuation lines - (( brief = 1 )) - ;; - - (d) - # Move out of date items to the done file. - (( done = 1 )) - ;; - - (D) - # Don't use done; needed with sched - (( nodone = 1 )) - ;; - - (r) - # Show all remaining options in the calendar, i.e. - # respect start time but ignore end time. - # Any argument is treated as a start time. - (( remaining = 1 )) - ;; - - (s) - # Use the "sched" builtin to scan at the appropriate time. - sched=sched - (( done = 1 )) - ;; - - (v) - # Verbose - verbose=1 - ;; - - (<->) - # Shorthand for -n <-> - showcount=$opt - ;; - - (*) - print "$0: unrecognised option: -$opt" >&2 - return 1 - ;; - esac - opt=$optrest[1] - optrest=$optrest[2,-1] - done -done -calopts=($argv[1,opti]) -shift $(( opti )) - -# Use of donefile requires explicit or implicit option request, plus -# no explicit -D. It may already be empty because of the style. -(( done && !nodone )) || donefile= - -if (( $# > 1 || ($# == 1 && remaining) )); then - if [[ $1 = now ]]; then - start=$EPOCHSECONDS - elif [[ $1 = <-> ]]; then - start=$1 - else - if ! calendar_scandate -a $1; then - print "$0: failed to parse date/time: $1" >&2 - return 1 - fi - start=$REPLY - fi - shift -else - # Get the time at which today started. - y=${(%):-"%D{%Y}"} m=${(%):-"%D{%m}"} d=${(%):-"%D{%d}"} - strftime -s today -r "%Y/%m/%d" "$y/$m/$d" - start=$today -fi -# day of week of start time -strftime -s wd "%u" $start - -if (( $# && !remaining )); then - if [[ $1 = +* ]]; then - if ! calendar_scandate -a -R $start ${1[2,-1]}; then - print "$0: failed to parse relative time: $1" >&2 - return 1 - fi - (( stop = REPLY )) - elif [[ $1 = <-> ]]; then - stop=$1 - else - if ! calendar_scandate -a $1; then - print "$0: failed to parse date/time: $1" >&2 - return 1 - fi - stop=$REPLY - fi - if (( stop < start )); then - strftime -s REPLY $datefmt $start - strftime -s REPLY2 $datefmt $stop - print "$0: requested end time is before start time: - start: $REPLY - end: $REPLY2" >&2 - return 1 - fi - shift -else - # By default, show 2 days. If it's Friday (5) show up to end - # of Monday (4) days; likewise on Saturday show 3 days. - # If -r, this is calculated but not used. This is paranoia, - # to avoid an unusable value of stop; but it shouldn't get used. - case $wd in - (5) - ndays=4 - ;; - - (6) - ndays=3 - ;; - - (*) - ndays=2 - ;; - esac - stop=$(( start + ndays * 24 * 60 * 60 )) -fi - -if (( $# )); then - print "Usage: $0 [ start-date-time stop-date-time ]" >&2 - return 1 -fi - -autoload -Uz matchdate - -[[ -n $donefile ]] && rm -f $newfile - -if (( verbose )); then - print -n "start: " - strftime $datefmt $start - print -n "stop: " - if (( remaining )); then - print "none" - else - strftime $datefmt $stop - fi -fi - -local mycmds="${TMPPREFIX:-/tmp/zsh}.calendar_cmds.$$" -zf_ln -fn =(<<<'') $mycmds || return 1 - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if [[ -n $donefile ]]; then - # Attempt to lock both $donefile and $calendar. - # Don't lock $newfile; we've tried our best to make - # the name unique. - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null && - zsystem flock $donefile 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar $donefile || exit 1 - fi - fi - - calendar_read $calendar - for line in $calendar_entries; do - calendar_parse $line || continue - - # Extract returned parameters from $reply - # Time of event - (( t = ${reply[time]} )) - # Remainder of line including RPT and WARN stuff: we need - # to keep these for rescheduling. - restline=$reply[text1] - # Look for specific warn time. - if [[ -n ${reply[warntime]} ]]; then - (( mywarntime = t - ${reply[warntime]} )) - mywarnstr=${reply[warnstr]} - else - (( mywarntime = warntime )) - mywarnstr=$warnstr - fi - # Look for a repeat time. - if [[ -n ${reply[rpttime]} ]]; then - # The actual time of the next event, which appears as text - (( repeattime = ${reply[rpttime]} )) - (( repeating = 1 )) - else - (( repeating = 0 )) - fi - # Finished extracting parameters from $reply - - if (( verbose )); then - print "Examining: $line" - print -n " Date/time: " - strftime $datefmt $t - if [[ -n $sched ]]; then - print " Warning $mywarntime seconds ($mywarnstr) before" - fi - fi - (( shown = 0 )) - if (( brief )); then - tmplines=("${(f)line}") - showline=${(F)${${tmplines[1,brief]}}} - else - showline=$line - fi - match=() - # Strip continuation lines starting " #". - while [[ $showline = (#b)(*$'\n')[[:space:]]##\#[^$'\n']##(|$'\n'(*)) ]]; do - showline="$match[1]$match[3]" - done - # Strip trailing empty lines - showline=${showline%%[[:space:]]#} - if (( showall || (t >= start && (remaining || t <= stop || icount < showcount)) )) - then - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - (( icount++ )) - # Doesn't count as "shown" unless the event has now passed. - (( t <= EPOCHSECONDS )) && (( shown = 1 )) - elif [[ -n $sched ]]; then - (( tsched = t - mywarntime )) - if (( tsched >= start && tsched <= stop)); then - showline="due in ${mywarnstr}: $showline" - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - elif (( tsched < start )); then - # We haven't actually shown it, but it's in the past, - # so treat it the same. Should probably rename this variable. - (( shown = 1 )) - fi - fi - if [[ -n $sched ]]; then - if (( shown && repeating )); then - # Done and dusted, but a repeated event is due. - strftime -s newdate $datefmt $repeattime - if [[ $newdate != *[[:space:]] && $restline != [[:space:]]* ]]; then - newdate+=" " - fi - calendar_addlines+=("$newdate$restline") - - # We'll add this back in below, but we check in case the - # repeated event is the next one due. It's not - # actually a disaster if there's an error and we fail - # to add the time. Always try to reschedule this event. - (( tcalc = repeattime, resched = 1 )) - else - (( tcalc = t )) - fi - - if (( tcalc - mywarntime > EPOCHSECONDS )); then - # schedule for a warning - (( tsched = tcalc - mywarntime, resched = 1 )) - else - # schedule for event itself - (( tsched = tcalc )) - # but don't schedule unless the event has not yet been shown. - (( !shown )) && (( resched = 1 )) - fi - if (( resched && (next < 0 || tsched < next) )); then - (( next = tsched )) - fi - fi - if [[ -n $donefile ]]; then - if (( shown )); then - # Done and dusted. - if ! print -r $line >>$donefile; then - if (( done != 3 )); then - (( done = 3 )) - print "Failed to append to $donefile" >&2 - fi - elif (( done != 3 )); then - (( done = 2 )) - fi - else - # Still not over. - if ! print -r $line >>$newfile; then - if (( done != 3 )); then - (( done = 3 )) - print "Failed to append to $newfile" >&2 - fi - elif (( done != 3 )); then - (( done = 2 )) - fi - fi - fi - done - - if [[ -n $sched ]]; then - if [[ $next -ge 0 ]]; then - # Remove any existing calendar scheduling. - i=${"${(@)zsh_scheduled_events#*:*:}"[(I)calendar -s*]} - { - (( i )) && print sched -$i - print -r -- ${(qq)sched} $next calendar "${calopts[@]}" $next $next - } >>$mycmds - else - showline="No more calendar events: calendar not rescheduled. -Run \"calendar -s\" again if you add to it." - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - fi - fi - - if (( done == 2 )); then - if ! mv $calendar $calendar.old; then - print "Couldn't back up $calendar to $calendar.old. -New calendar left in $newfile." >&2 - (( rstat = 1 )) - elif ! mv $newfile $calendar; then - print "Failed to rename $newfile to $calendar. -Old calendar left in $calendar.old." >&2 - (( rstat = 1 )) - fi - nobackup=-B - elif [[ -n $donefile ]]; then - rm -f $newfile - fi - - # Reschedule repeating events. - for line in $calendar_addlines; do - calendar_add -L $nobackup $line - done -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} - -exit $rstat -) && { - # Tasks that need to be in the current shell - [[ -s $mycmds ]] && . $mycmds - rm -f $mycmds -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_add b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_add deleted file mode 100755 index 0b76b8cf..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_add +++ /dev/null @@ -1,259 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# All arguments are joined with spaces and inserted into the calendar -# file at the appropriate point. -# -# While the function compares the date of the new entry with dates in the -# existing calendar file, it does not do any sorting; it inserts the new -# entry before the first existing entry with a later date and time. - -emulate -L zsh -setopt extendedglob # xtrace - -local context=":datetime:calendar_add:" -local vdatefmt="%Y%m%dT%H%M%S" -local d='[[:digit:]]' - -local calendar newfile REPLY lastline opt text occur -local -a calendar_entries lockfiles reply occurrences -integer my_date done rstat nolock nobackup new_recurring -integer keep_my_uid -local -A reply parse_new parse_old -local -a match mbegin mend -local my_uid their_uid - -autoload -Uz calendar_{parse,read,lockfiles} - -while getopts "BL" opt; do - case $opt in - (B) - nobackup=1 - ;; - - (L) - nolock=1 - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -# Read the calendar file from the calendar-file style -zstyle -s $context calendar-file calendar || - calendar=~/calendar -newfile=$calendar.new.$HOST.$$ - -local addline="$*" -if ! calendar_parse $addline; then - print "$0: failed to parse date/time" >&2 - return 1 -fi -parse_new=("${(@kv)reply}") -(( my_date = $parse_new[time] )) -if zstyle -t $context reformat-date; then - local datefmt - zstyle -s $context date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - strftime -s REPLY $datefmt $parse_new[time] - addline="$REPLY $parse_new[text1]" -fi -if [[ -n $parse_new[rptstr] ]]; then - (( new_recurring = 1 )) - if [[ $parse_new[rptstr] = CANCELLED ]]; then - (( done = 1 )) - elif [[ $addline = (#b)(*[[:space:]\#]RECURRENCE[[:space:]]##)([^[:space:]]##)([[:space:]]*|) ]]; then - # Use the updated recurrence time - strftime -s REPLY $vdatefmt ${parse_new[schedrpttime]} - addline="${match[1]}$REPLY${match[3]}" - else - # Add a recurrence time - [[ $addline = *$'\n' ]] || addline+=$'\n' - strftime -s REPLY $vdatefmt ${parse_new[schedrpttime]} - addline+=" # RECURRENCE $REPLY" - fi -fi - -# $calendar doesn't necessarily exist yet. - -# Match a UID, a unique identifier for the entry inherited from -# text/calendar format. -local uidpat='(|*[[:space:]])UID[[:space:]]##(#b)([[:xdigit:]]##)(|[[:space:]]*)' -if [[ $addline = ${~uidpat} ]]; then - my_uid=${(U)match[1]} -fi - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if (( ! nolock )); then - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - fi - - if [[ -f $calendar ]]; then - calendar_read $calendar - - if [[ -n $my_uid ]]; then - # Pre-scan to events with the same UID - for line in $calendar_entries; do - calendar_parse $line || continue - parse_old=("${(@kv)reply}") - # Recurring with a UID? - if [[ $line = ${~uidpat} ]]; then - their_uid=${(U)match[1]} - if [[ $their_uid = $my_uid ]]; then - # Deal with recurrences and also some add some - # extra magic for cancellation. - - # See if we have found a recurrent version - if [[ -z $parse_old[rpttime] ]]; then - # No, so assume this is a straightforward replacement - # of a non-recurring event. - - # Is this a cancellation of a non-recurring event? - # Look for an OCCURRENCE in the form - # OCCURRENCE 20100513T110000 CANCELLED - # although we don't bother looking at the date/time--- - # it's one-off, so this should already be unique. - if [[ $new_recurring -eq 0 && \ - $parse_new[text1] = (|*[[:space:]\#])"OCCURRENCE"[[:space:]]##([^[:space:]]##[[:space:]]##CANCELLED)(|[[:space:]]*) ]]; then - # Yes, so skip both the old and new events. - (( done = 1 )) - fi - # We'll skip this UID when we encounter it again. - continue - fi - if (( new_recurring )); then - # Replacing a recurrence; there can be only one. - # TBD: do we replace existing occurrences of the - # replaced recurrent event? I'm guessing not, but - # if we keep the UID then maybe we should. - # - # TBD: ick, suppose we're cancelling an even that - # we added to a recurring sequence but didn't replace - # the recurrence. We might get RPT CANCELLED for this. - # That would be bad. Should invent better way of - # cancelling non-recurring event. - continue - else - # The recorded event is recurring, but the new one is a - # one-off event. If there are embedded OCCURRENCE declarations, - # use those. - # - # TBD: We could be clever about text associated - # with the occurrence. Copying the entire text - # of the meeting seems like overkill but people often - # add specific remarks about why this occurrence was - # moved/cancelled. - # - # TBD: one case we don't yet handle is cancelling - # something that isn't replacing a recurrence, i.e. - # something we added as OCCURRENCE XXXXXXXXTXXXXXX <when>. - # If we're adding a CANCELLED occurrence we should - # look to see if it matches <when> and if so simply - # delete that occurrence. - # - # TBD: one nasty case is if the new occurrence - # occurs before the current scheduled time. As we - # never look backwards we'll miss it. - text=$addline - occurrences=() - while [[ $text = (#b)(|*[[:space:]\#])"OCCURRENCE"[[:space:]]##([^[:space:]]##[[:space:]]##[^[:space:]]##)(|[[:space:]]*) ]]; do - occurrences+=($match[2]) - text="$match[1] $match[3]" - done - if (( ! ${#occurrences} )); then - # No embedded occurrences. We'll manufacture one - # that doesn't refer to an original recurrence. - strftime -s REPLY $vdatefmt $my_date - occurrences=("XXXXXXXXTXXXXXX $REPLY") - fi - # Add these occurrences, checking if they replace - # an existing one. - for occur in ${(o)occurrences}; do - REPLY=${occur%%[[:space:]]*} - # Only update occurrences that refer to genuine - # recurrences. - if [[ $REPLY = [[:digit:]](#c8)T[[:digit:]](#c6) && $line = (#b)(|*[[:space:]\#])(OCCURRENCE[[:space:]]##)${REPLY}[[:space:]]##[^[:space:]]##(|[[:space:]]*) ]]; then - # Yes, update in situ - line="${match[1]}${match[2]}$occur${match[3]}" - else - # No, append. - [[ $line = *$'\n' ]] || line+=$'\n' - line+=" # OCCURRENCE $occur" - fi - done - # The line we're adding now corresponds to the - # original event. We'll skip the matching UID - # in the file below, however. - addline=$line - # We need to work out which event is next, so - # reparse. - if calendar_parse $addline; then - parse_new=("${(@kv)reply}") - (( my_date = ${parse_new[time]} )) - if zstyle -t $context reformat-date; then - zstyle -s $context date-format datefmt - strftime -s REPLY $datefmt $parse_new[time] - addline="$REPLY $parse_new[text1]" - fi - fi - fi - fi - fi - done - fi - - { - for line in $calendar_entries; do - calendar_parse $line || continue - parse_old=("${(@kv)reply}") - if (( ! done && ${parse_old[time]} > my_date )); then - print -r -- $addline - (( done = 1 )) - fi - # We've already merged any information on the same UID - # with our new text, probably. - if [[ $keep_my_uid -eq 0 && -n $my_uid && $line = ${~uidpat} ]]; then - their_uid=${(U)match[1]} - [[ $my_uid = $their_uid ]] && continue - fi - if [[ $parse_old[time] -eq $my_date && $line = $addline ]]; then - (( done )) && continue # paranoia: shouldn't happen - (( done = 1 )) - fi - print -r -- $line - done - (( done )) || print -r -- $addline - } >$newfile - if (( ! nobackup )); then - if ! mv $calendar $calendar.old; then - print "Couldn't back up $calendar to $calendar.old. -New calendar left in $newfile." >&2 - (( rstat = 1 )) - fi - fi - else - (( done )) || print -r -- $addline >$newfile - fi - - if (( !rstat )) && ! mv $newfile $calendar; then - print "Failed to rename $newfile to $calendar. -Old calendar left in $calendar.old." >&2 - (( rstat = 1 )) - fi -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} - -exit $rstat -) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_edit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_edit deleted file mode 100644 index ae888504..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_edit +++ /dev/null @@ -1,37 +0,0 @@ -local line calendar -local -a lockfiles editor - -integer cal_running - -if (( $# )); then - editor=("$@") -else - editor=(${VISUAL:-${EDITOR:-vi}}) -fi - -sched | while read line; do - [[ $line = *" calendar -s "<->" "<-> ]] && (( cal_running = 1 )) -done - -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - - eval $editor \$calendar -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} -) - -(( cal_running )) && calendar -s diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_lockfiles b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_lockfiles deleted file mode 100644 index 93fbce06..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_lockfiles +++ /dev/null @@ -1,55 +0,0 @@ -# Lock the given files. -# Append the names of lockfiles to the array lockfiles. - -local file lockfile msgdone -# Number of attempts to lock a file. Probably not worth stylising. -integer lockattempts=4 loadtried - -# The lockfile name is not stylised: it has to be a fixed -# derivative of the main fail. -for file; do - lockfile=$file.lockfile - for (( i = 0; i <= lockattempts; i++ )); do - if ln -s $file $lockfile >/dev/null 2>&1; then - lockfiles+=($lockfile) - break - fi - if zle && [[ -z $msgdone ]]; then - msgdone="${lockfile}: waiting to acquire lock" - zle -M $msgdone - fi - if (( ! loadtried )); then - zmodload -i zsh/zselect 2>/dev/null - (( loadtried = 1 )) - fi - if zmodload -e zsh/zselect; then - # This gives us finer grained timing (100th second). - # Randomize the sleep between .1 and 2 seconds so that - # we are much less likely to have multiple instances - # retrying at once. - zselect -t $(( 10 + RANDOM * 190 / 32768 )) - else - sleep 1 - fi - done - if [[ -n $msgdone ]]; then - zle -M ${msgdone//?/ } - msgdone= - fi - if [[ ${lockfiles[-1]} != $lockfile ]]; then - msgdone="Failed to lock $file; giving up after $lockattempts attempts. -Another instance of calendar may be using it. -Delete $lockfiles if you believe this to be an error." - if zle; then - zle -M $msgdone - else - print $msgdone >&2 - fi - # The parent should take action to delete any lockfiles - # already locked. Typically this won't be necessary, since - # we will always lock the main calendar file first. - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_parse b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_parse deleted file mode 100644 index fabaf741..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_parse +++ /dev/null @@ -1,176 +0,0 @@ -# Parse the line passed down in the first argument as a calendar entry. -# Sets the values parsed into the associative array reply, consisting of: -# time The time as an integer (as per EPOCHSECONDS) of the (next) event. -# text1 The text from the line not including the date/time, but -# including any WARN or RPT text. This is useful for rescheduling -# events, since the keywords need to be retained in this case. -# warntime Any warning time (WARN keyword) as an integer, else an empty -# string. This is the time of the warning in units of EPOCHSECONDS, -# not the parsed version of the original number (which was a time -# difference). -# warnstr Any warning time as the original string (e.g. "5 mins"), not -# including the WARN keyword. -# schedrpttime The next scheduled recurrence (which may be cancelled -# or rescheduled). -# rpttime The actual occurrence time: the event may have been rescheduled, -# in which case this is the time of the actual event (for use in -# programming warnings etc.) rather than that of the normal -# recurrence (which is recorded by calendar_add as RECURRENCE). -# -# rptstr Any repeat/recurrence time as the original string. -# text2 The text from the line with the date and other keywords and -# values removed. -# -# Note that here an "integer" is a string of digits, not an internally -# formatted integer. -# -# Return status 1 if parsing failed. reply is set to an empty -# in this case. Note the caller is responsible for -# making reply local. - -emulate -L zsh -setopt extendedglob - -local vdatefmt="%Y%m%dT%H%M%S" - -local REPLY REPLY2 timefmt occurrence skip try_to_recover before after -local -a match mbegin mend -integer now then replaced firstsched schedrpt -# Any text matching "OCCURRENCE <timestamp> <disposition>" -# may occur multiple times. We set occurrences[<timestamp>]=disposition. -local -A occurrences - -autoload -Uz calendar_scandate - -typeset -gA reply - -reply=() - -if (( $# != 1 )); then - print "Usage: $0 calendar-entry" >&2 - return 2 -fi - -# This call sets REPLY to the date and time in seconds since the epoch, -# REPLY2 to the line with the date and time removed. -calendar_scandate -as $1 || return 1 -reply[time]=$(( REPLY )) -schedrpt=${reply[time]} -reply[text1]=${REPLY2##[[:space:]]#} -reply[text2]=${reply[text1]} - -while true; do - - case ${reply[text2]} in - # First check for a scheduled repeat time. If we don't find one - # we'll use the normal time. - ((#b)(*[[:space:]\#])RECURRENCE[[:space:]]##([^[:space:]]##)([[:space:]]*|)) - strftime -rs then $vdatefmt ${match[2]} || - print "format: $vdatefmt, string ${match[2]}" >&2 - schedrpt=$then - reply[text2]="${match[1]}${match[3]##[ ]#}" - ;; - - # Look for specific warn time. - ((#b)(|*[[:space:],])WARN[[:space:]](*)) - if calendar_scandate -asm -R $reply[time] $match[2]; then - reply[warntime]=$REPLY - reply[warnstr]=${match[2]%%"$REPLY2"} - # Remove spaces and tabs but not newlines from trailing text, - # else the formatting looks funny. - reply[text2]="${match[1]}${REPLY2##[ ]#}" - else - # Just remove the keyword for further parsing - reply[text2]="${match[1]}${match[2]##[ ]#}" - fi - ;; - - ((#b)(|*[[:space:],])RPT[[:space:]](*)) - before=${match[1]} - after=${match[2]} - if [[ $after = CANCELLED(|[[:space:]]*) ]]; then - reply[text2]="$before${match[2]##[ ]#}" - reply[rptstr]=CANCELLED - reply[rpttime]=CANCELLED - reply[schedrpttime]=CANCELLED - elif calendar_scandate -a -R $schedrpt $after; then - # It's possible to calculate a recurrence, however we don't - # do that yet. For now just keep the current time as - # the recurrence. Hence we ignore REPLY. - reply[text2]="$before${REPLY2##[ ]#}" - reply[rptstr]=${after%%"$REPLY2"} - # Until we find an individual occurrence, the actual time - # of the event is the regular one. - reply[rpttime]=$schedrpt - else - # Just remove the keyword for further parsing - reply[text2]="$before${after##[[:space:]]#}" - fi - ;; - - ((#b)(|*[[:space:]\#])OCCURRENCE[[:space:]]##([^[:space:]]##)[[:space:]]##([^[:space:]]##)(*)) - occurrences[${match[2]}]="${match[3]}" - # as above - reply[text2]="${match[1]}${match[4]##[ ]#}" - ;; - - (*) - break - ;; - esac -done - -if [[ -n ${reply[rpttime]} && ${reply[rptstr]} != CANCELLED ]]; then - # Recurring event. We need to find out when it recurs. - (( now = EPOCHSECONDS )) - - # First find the next recurrence. - replaced=0 - reply[schedrpttime]=$schedrpt - if (( schedrpt >= now )); then - firstsched=$schedrpt - fi - while (( ${reply[schedrpttime]} < now || replaced )); do - if ! calendar_scandate -a -R ${reply[schedrpttime]} ${reply[rptstr]}; then - break - fi - if (( REPLY <= ${reply[schedrpttime]} )); then - # going backwards --- pathological case - break; - fi - reply[schedrpttime]=$REPLY - reply[rpttime]=$REPLY - if (( ${reply[schedrpttime]} > now && firstsched == 0 )); then - firstsched=$REPLY - fi - replaced=0 - # do we have an occurrence to compare against? - if (( ${#occurrences} )); then - strftime -s timefmt $vdatefmt ${reply[schedrpttime]} - occurrence=$occurrences[$timefmt] - if [[ -n $occurrence ]]; then - # Yes, this replaces the scheduled one. - replaced=1 - fi - fi - done - # Now look through occurrences (values only) and see which are (i) still - # to happen (ii) early than the current rpttime. - for occurrence in $occurrences; do - if [[ $occurrence != CANCELLED ]]; then - strftime -rs then $vdatefmt $occurrence || - print "format: $vdatefmt, string $occurrence" >&2 - if (( then > now && then < ${reply[rpttime]} )); then - reply[rpttime]=$then - fi - fi - done - # Finally, update the scheduled repeat time to the earliest - # possible value. This is so that if an occurrence replacement is - # cancelled we pick up the regular one. Can this happen? Dunno. - reply[schedrpttime]=$firstsched -fi - -reply[text2]="${reply[text2]##[[:space:],]#}" - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_read b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_read deleted file mode 100644 index ed163887..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_read +++ /dev/null @@ -1,35 +0,0 @@ -# Utility for "calendar" to read entries into the array calendar_entries. -# This should be local to the caller. -# The only argument is the file to read. We expect options etc. to -# be correct. -# -# This is based on Emacs calendar syntax, which has two implications: -# - Lines beginning with whitespace are continuation lines. -# Hence we have to read the entire file first to determine entries. -# - Lines beginning with "&" are inhibited from producing marks in -# Emacs calendar window. This is irrelevant to us, so we -# we simply remove leading ampersands. This is necessary since -# we expect the date to start at the beginning of the line. -# -# TODO: Emacs has some special handling for entries where the first line -# has only the date and continuation lines indicate times. Actually, -# it doesn't parse the times as far as I can see, but if we want to -# handle that format sensibly we would need to here. It could -# be tricky to get right. - -local calendar=$1 line -local -a lines - -lines=(${(f)"$(<$calendar)"}) - -calendar_entries=() -# ignore blank lines -for line in $lines; do - if [[ $line = [[:space:]]* ]]; then - if (( ${#calendar_entries} )); then - calendar_entries[-1]+=$'\n'$line - fi - else - calendar_entries+=(${line##\&}) - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_scandate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_scandate deleted file mode 100644 index b3a58370..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_scandate +++ /dev/null @@ -1,801 +0,0 @@ -# Scan a line for various common date and time formats. -# Set REPLY to the number of seconds since the epoch at which that -# time occurs. The time does not need to be matched; this will -# produce midnight at the start of the date. -# -# Absolute times -# -# The rules below are fairly complicated, to allow any natural (and -# some highly unnatural but nonetheless common) combination of -# time and date used by English speakers. It is recommended that, -# rather than exploring the intricacies of the system, users find -# a date format that is natural to them and stick to it. This -# will avoid unexpected effects. Various key facts should be noted, -# explained in more detail below: -# -# - In particular, note the confusion between month/day/year and -# day/month/year when the month is numeric; this format should be -# avoided if at all possible. Many alternatives are available. -# - However, there is currently no localization support, so month -# names must be English (though only the first three letters are required). -# The same applies to days of the week if they occur (they are not useful). -# - The year must be given in full to avoid confusion, and only years -# from 1900 to 2099 inclusive are matched. -# - Although timezones are parsed (complicated formats may not be recognized), -# they are then ignored; no time adjustment is made. -# - Embedding of times within dates (e.g. "Wed Jun 16 09:30:00 BST 2010") -# causes horrific problems because of the combination of the many -# possible date and time formats to match. The approach taken -# here is to match the time, remove it, and see if the nearby text -# looks like a date. The problem is that the time matched may not -# be that associated with the date, in which case the time will be -# ignored. To minimise this, when the argument "-a" is given to -# anchor the date/time to the start of the line, we never look -# beyond a newline. So if any date/time strings in the text -# are on separate lines the problem is avoided. -# - If you feel sophisticated enough and wish to avoid any ambiguity, -# you can use RFC 2445 date/time strings, for example 20100601T170000. -# These are parsed in one go. -# -# The following give some obvious examples; users finding here -# a format they like and not subject to vagaries of style may skip -# the full description. As dates and times are matched separately -# (even though the time may be embedded in the date), any date format -# may be mixed with any format for the time of day provide the -# separators are clear (whitespace, colons, commas). -# 2007/04/03 13:13 -# 2007/04/03:13:13 -# 2007/04/03 1:13 pm -# 3rd April 2007, 13:13 -# April 3rd 2007 1:13 p.m. -# Apr 3, 2007 13:13 -# Tue Apr 03 13:13:00 2007 -# 13:13 2007/apr/3 -# -# Times are parsed and extracted before dates. They must use colons -# to separate hours and minutes, though a dot is allowed before seconds -# if they are present. This limits time formats to -# HH:MM[:SS[.FFFFF]] [am|pm|a.m.|p.m.] -# HH:MM.SS[.FFFFF] [am|pm|a.m.|p.m.] -# in which square brackets indicate optional elements, possibly with -# alternatives. Fractions of a second are recognised but ignored. -# Unless -r or -R are given (see below), a date is mandatory but a time of day is -# not; the time returned is at the start of the date. -# -# Time zones are not handled, though if one is matched following a time -# specification it will be removed to allow a surrounding date to be -# parsed. This only happens if the format of the timezone is not too -# wacky: -# +0100 -# GMT -# GMT-7 -# CET+1CDT -# etc. are all understood, but any part of the timezone that is not numeric -# must have exactly three capital letters in the name. -# -# Dates suffer from the ambiguity between DD/MM/YYYY and MM/DD/YYYY. It is -# recommended this form is avoided with purely numeric dates, but use of -# ordinals, eg. 3rd/04/2007, will resolve the ambiguity as the ordinal is -# always parsed as the day of the month. Years must be four digits (and -# the first two must be 19 or 20); 03/04/08 is not recognised. Other -# numbers may have leading zeroes, but they are not required. The -# following are handled: -# YYYY/MM/DD -# YYYY-MM-DD -# YYYY/MNM/DD -# YYYY-MNM-DD -# DD[th|st|rd] MNM[,] YYYY -# DD[th|st|rd] MNM[,] current year assumed -# MNM DD[th|st|rd][,] YYYY -# MNM DD[th|st|rd][,] current year assumed -# DD[th|st|rd]/MM[,] YYYY -# DD[th|st|rd]/MM/YYYY -# MM/DD[th|st|rd][,] YYYY -# MM/DD[th|st|rd]/YYYY -# Here, MNM is at least the first three letters of a month name, -# matched case-insensitively. The remainder of the month name may appear but -# its contents are irrelevant, so janissary, febrile, martial, apricot, -# etc. are happily handled. -# -# Note there are only two cases that assume the current year, the -# form "Jun 20" or "14 September" (the only two commonly occurring -# forms, apart from a "the" in some forms of English, which isn't -# currently supported). Such dates will of course become ambiguous -# in the future, so should ideally be avoided. -# -# Times may follow dates with a colon, e.g. 1965/07/12:09:45; this -# is in order to provide a format with no whitespace. A comma -# and whitespace are allowed, e.g. "1965/07/12, 09:45". -# Currently the order of these separators is not checked, so -# illogical formats such as "1965/07/12, : ,09:45" will also -# be matched. Otherwise, a time is only recognised as being associated -# with a date if there is only whitespace in between, or if the time -# was embedded in the date. -# -# Days of the week are not scanned, but will be ignored if they occur -# at the start of the date pattern only. -# -# For example, the standard date format: -# Fri Aug 18 17:00:48 BST 2006 -# is handled by matching HH:MM:SS and removing it together with the -# matched (but unused) time zone. This leaves the following: -# Fri Aug 18 2006 -# "Fri" is ignored and the rest is matched according to the sixth of -# the standard rules. -# -# Relative times -# ============== -# -# The option -r allows a relative time. Years (or ys, yrs, or without s), -# months (or mths, mons, mnths, months, or without s --- "m", "ms" and -# "mns" are ambiguous and are not handled), weeks (or ws, wks, or without -# s) and days (or ds, dys, days, or without s), hours (or hs, hrs, with or -# without s), minutes (or mins, with or without s) and seconds (or ss, -# secs, with or without s) are understood. Spaces between the numbers -# are optional, but are required between items, although a comma -# may be used (with or without spaces). -# -# Note that a year here is 365.25 days and a month is 30 days. -# -# With -R start_time, a relative time is parsed and start_time is treated -# as the start of the period. This allows months and years to be calculated -# accurately. If the option -m (minus) is also given the relative time is -# taken backwards from the start time. -# -# This allows forms like: -# 30 years 3 months 4 days 3:42:41 -# 14 days 5 hours -# 4d,10hr -# In this case absolute dates are ignored. - -emulate -L zsh -setopt extendedglob # xtrace - -zmodload -i zsh/datetime || return 1 - -# separator characters before time or between time and date -# allow , - or : before the time: this allows spaceless but still -# relatively logical dates like 2006/09/19:14:27 -# don't allow / before time ! the above -# is not 19 hours 14 mins and 27 seconds after anything. -local tschars="[-,:[:blank:]]" -# start pattern for time when anchored -local tspat_anchor="(${tschars}#)" -# ... when not anchored -local tspat_noanchor="(|*${tschars})" -# separator characters between elements. comma is fairly -# natural punctuation; otherwise only allow whitespace. -local schars="[.,[:space:]]" -local -a dayarr -dayarr=(sun mon tue wed thu fri sat) -local daypat="${schars}#((#B)(${(j.|.)dayarr})[a-z]#~month*)" -# Start pattern for date: treat , as space for simplicity. This -# is illogical at the start but saves lots of minor fiddling later. -# Date start pattern when anchored at the start. -# We need to be able to ignore the day here, although (for consistency -# with the unanchored case) we don't remove it until later. -# (The problem in the other case is that matching anything before -# the day of the week is greedy, so the day of the week gets ignored -# if it's optional.) -local dspat_anchor="(|(#B)(${daypat}|)(#b)${schars}#)" -local dspat_anchor_noday="(|${schars}#)" -# Date start pattern when not anchored at the start. -local dspat_noanchor="(|*${schars})" -# end pattern for relative times: similar remark about use of $schars. -local repat="(|s)(|${schars}*)" -# not locale-dependent! I don't know how to get the months out -# of the system for the purpose of finding out where they occur. -# We may need some completely different heuristic. -local monthpat="(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]#" -integer daysecs=$(( 24 * 60 * 60 )) -local d="[[:digit:]]" - -integer year year2 month month2 day day2 hour minute second then nth wday wday2 -local opt line orig_line mname MATCH MBEGIN MEND tz test rest_line -local -a match mbegin mend -# Flags that we found a date or a time (maybe a relative time) -integer date_found time_found -# Flag that it's OK to have a time only -integer time_ok -# Indices of positions of start and end of time and dates found. -# These are actual character indices as zsh would normally use, i.e. -# line[time_start,time_end] is the string for the time. -integer time_start time_end date_start date_end -integer anchor anchor_end debug setvar -integer relative relative_start reladd reldate relsign=1 newadd h1 h2 hd - -while getopts "aAdmrR:st" opt; do - case $opt in - (a) - # anchor - (( anchor = 1 )) - ;; - - (A) - # anchor at end, too - (( anchor = 1, anchor_end = 1 )) - ;; - - (d) - # enable debug output - (( debug = 1 )) - ;; - - (m) - # relative with negative offsets - (( relsign = -1 )) - ;; - - (r) - # relative with no fixed start - (( relative = 1 )) - ;; - - (R) - # relative with fixed start supplied - (( relative_start = OPTARG, relative = 2 )) - ;; - - (s) - (( setvar = 1 )) - ;; - - (t) - (( time_ok = 1 )) - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -line=$1 - -local dspat dspat_noday tspat -if (( anchor )); then - # Anchored at the start. - dspat=$dspat_anchor - dspat_noday=$dspat_anchor_noday - if (( relative )); then - tspat=$tspat_anchor - else - # We'll test later if the time is associated with the date. - tspat=$tspat_noanchor - fi - # We can save a huge amount of grief (I've discovered) if when - # we're anchored to the start we ignore anything after a newline. - # However, don't do this if we're anchored to the end. The - # match should fail if there are extra lines in that case. - if [[ anchor_end -eq 0 && $line = (#b)([^$'\n']##)($'\n'*) ]]; then - line=$match[1] - rest_line=$match[2] - fi -else - dspat=$dspat_noanchor - dspat_noday=$dspat_noanchor - tspat=$tspat_noanchor -fi -orig_line=$line - -# Look for a time separately; we need colons for this. -# We want to look for the first time to ensure it's associated -# with a date at the start of the line. Of course there may be -# a time followed by some other text followed by a date, but -# in that case the whole thing is too ambiguous to worry about -# (and we don't need to worry about this for a calendar entry where -# the date must be at the start). -# -# We do this by minimal matching at the head, i.e. ${...#...}. -# To use a case statement we'd need to be able to request non-greedy -# matching for a pattern. -local rest -# HH:MM:SECONDS am/pm with optional decimal seconds -rest=${line#(#ibm)${~tspat}(<0-12>):(<0-59>)[.:]((<0-59>)(.<->|))[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} -if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - second=$match[5] - [[ $match[7] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 -fi -if (( time_found == 0 )); then - # no seconds, am/pm - rest=${line#(#ibm)${~tspat}(<0-12>):(<0-59>)[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - [[ $match[4] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 - fi -fi -if (( time_found == 0 )); then - # no colon, even, but a.m./p.m. indicator - rest=${line#(#ibm)${~tspat}(<0-12>)[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=0 - [[ $match[3] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 - fi -fi -if (( time_found == 0 )); then - # 24 hour clock, with seconds - rest=${line#(#ibm)${~tspat}(<0-24>):(<0-59>)[.:]((<0-59>)(.<->|))(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - second=$match[5] - time_found=1 - fi -fi -if (( time_found == 0 )); then - rest=${line#(#ibm)${~tspat}(<0-24>):(<0-59>)(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - time_found=1 - fi -fi -if (( time_found == 0 )); then - # Combined date and time formats: here we can use an anchor because - # we know the complete format. - (( anchor )) && tspat=$tspat_anchor - # RFC 2445 - rest=${line#(#ibm)${~tspat}(|\"[^\"]##\":)($~d$~d$~d$~d)($~d$~d)($~d$~d)T($~d$~d)($~d$~d)($~d$~d)([[:space:]]#|(#e))} - if [[ $rest != $line ]]; then - year=$match[3] - month=$match[4] - day=$match[5] - hour=$match[6] - minute=$match[7] - second=$match[8] - # signal don't need to take account of time in date... - time_found=2 - date_found=1 - date_start=$mbegin[3] - date_end=$mend[-1] - fi -fi -(( hour == 24 )) && hour=0 - -if (( time_found && ! date_found )); then - # time was found; if data also found already, process below. - time_start=$mbegin[2] - time_end=$mend[-1] - # Remove the timespec because it may be in the middle of - # the date (as in the output of "date". - # There may be a time zone, too, which we don't yet handle. - # (It's not in POSIX strptime() and libraries don't support it well.) - # This attempts to remove some of the weirder forms. - if [[ $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z]|[-+][0-9][0-9][0-9][0-9])([[:space:]]|(#e))* || \ - $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z](|[-+])<0-12>)([[:space:]]|(#e))* || \ - $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z](|[-+])<0-12>[A-Z][A-Z][A-Z])([[:space:]]|(#e))* ]]; then - (( time_end += ${mend[-1]} )) - tz=$match[1] - fi - line=$line[1,time_start-1]$line[time_end+1,-1] - (( debug )) && print "line after time: $line" -fi - -if (( relative == 0 && date_found == 0 )); then - # Date. - case $line in - # Look for YEAR[-/.]MONTH[-/.]DAY - ((#bi)${~dspat}((19|20)[0-9][0-9])[-/](<1-12>)[-/](<1-31>)*) - year=$match[2] - month=$match[4] - day=$match[5] - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Same with month name - ((#bi)${~dspat}((19|20)[0-9][0-9])[-/]${~monthpat}[-/](<1-31>)*) - year=$match[2] - mname=$match[4] - day=$match[5] - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Look for DAY[th/st/nd/rd] MNAME[,] YEAR - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)[[:space:]]##${~monthpat}(|,)[[:space:]]##((19|20)[0-9][0-9])*) - day=$match[2] - mname=$match[4] - year=$match[6] - date_start=$mbegin[2] date_end=$mend[6] - date_found=1 - ;; - - # Look for MNAME DAY[th/st/nd/rd][,] YEAR - ((#bi)${~dspat}${~monthpat}[[:space:]]##(<1-31>)(|th|st|nd|rd)(|,)[[:space:]]##((19|20)[0-9][0-9])*) - mname=$match[2] - day=$match[3] - year=$match[6] - date_start=$mbegin[2] date_end=$mend[6] - date_found=1 - ;; - - # Look for DAY[th/st/nd/rd] MNAME; assume current year - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)[[:space:]]##${~monthpat}(|,)([[:space:]]##*|)) - day=$match[2] - mname=$match[4] - strftime -s year "%Y" $EPOCHSECONDS - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Look for MNAME DAY[th/st/nd/rd]; assume current year - ((#bi)${~dspat}${~monthpat}[[:space:]]##(<1-31>)(|th|st|nd|rd)(|,)([[:space:]]##*|)) - mname=$match[2] - day=$match[3] - strftime -s year "%Y" $EPOCHSECONDS - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Now it gets a bit ambiguous. - # Look for DAY[th/st/nd/rd][/]MONTH[/ ,]YEAR - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)/(<1-12>)((|,)[[:space:]]##|/)((19|20)[0-9][0-9])*) - day=$match[2] - month=$match[4] - year=$match[7] - date_start=$mbegin[2] date_end=$mend[7] - date_found=1 - ;; - - # Look for MONTH[/]DAY[th/st/nd/rd][/ ,]YEAR - ((#bi)${~dspat}(<1-12>)/(<1-31>)(|th|st|nd|rd)((|,)[[:space:]]##|/)((19|20)[0-9][0-9])*) - month=$match[2] - day=$match[3] - year=$match[7] - date_start=$mbegin[2] date_end=$mend[7] - date_found=1 - ;; - - # Look for WEEKDAY - ((#bi)${~dspat_noday}(${~daypat})(|${~schars})*) - integer wday_now wday - local wdaystr=${(L)match[3]} - date_start=$mbegin[2] date_end=$mend[2] - - # Find the day number. - local -a wdays - # This is the ordering of %w in strtfime (zero-offset). - wdays=(sun mon tue wed thu fri sat sun) - (( wday = ${wdays[(i)$wdaystr]} - 1 )) - - # Find the date for that day. - (( then = EPOCHSECONDS )) - strftime -s wday_now "%w" $then - # Day is either today or in the past. - (( wday_now < wday )) && (( wday_now += 7 )) - (( then -= (wday_now - wday) * 24 * 60 * 60 )) - strftime -s year "%Y" $then - strftime -s month "%m" $then - strftime -s day "%d" $then - date_found=1 - ;; - - # Look for "today", "yesterday", "tomorrow" - ((#bi)${~dspat_noday}(yesterday|today|tomorrow|now)(|${~schars})*) - (( then = EPOCHSECONDS )) - case ${(L)match[2]} in - (yesterday) - (( then -= daysecs )) - ;; - - (tomorrow) - (( then += daysecs )) - ;; - - (now) - time_found=1 time_end=0 time_start=1 - strftime -s hour "%H" $then - strftime -s minute "%M" $then - strftime -s second "%S" $then - ;; - esac - strftime -s year "%Y" $then - strftime -s month "%m" $then - strftime -s day "%d" $then - date_start=$mbegin[2] date_end=$mend[2] - date_found=1 - ;; - esac -fi - -if (( date_found || (time_ok && time_found) )); then - # date found - # see if there's a day at the start - if (( date_found )); then - if [[ ${line[1,$date_start-1]} = (#bi)${~daypat}${~schars}# ]]; then - date_start=$mbegin[1] - fi - line=${line[1,$date_start-1]}${line[$date_end+1,-1]} - fi - if (( time_found == 1 )); then - if (( date_found )); then - # If we found a time, it must be associated with the date, - # or we can't use it. Since we removed the time from the - # string to find the date, however, it's complicated to - # know where both were found. Reconstruct the date indices of - # the original string. - if (( time_start <= date_start )); then - # Time came before start of date; add length in. - (( date_start += time_end - time_start + 1 )) - fi - if (( time_start <= date_end )); then - (( date_end += time_end - time_start + 1 )) - fi - - if (( time_end + 1 < date_start )); then - # If time wholly before date, OK if only separator characters - # in between. (This allows some illogical stuff with commas - # but that's probably not important.) - if [[ ${orig_line[time_end+1,date_start-1]} != ${~schars}# ]]; then - # Clearly this can't work if anchor is set. In principle, - # we could match the date and ignore the time if it wasn't. - # However, that seems dodgy. - return 1 - else - # Form massaged line by removing the entire date/time chunk. - line="${orig_line[1,time_start-1]}${orig_line[date_end+1,-1]}" - fi - elif (( date_end + 1 < time_start )); then - # If date wholly before time, OK if only time separator characters - # in between. This allows 2006/10/12:13:43 etc. - if [[ ${orig_line[date_end+1,time_start-1]} != ${~tschars}# ]]; then - # Here, we assume the time is associated with something later - # in the line. This is pretty much inevitable for the sort - # of use we are expecting. For example, - # 2006/10/24 Meeting from early, may go on till 12:00. - # or with some uses of the calendar system, - # 2006/10/24 MR 1 Another pointless meeting WARN 01:00 - # The 01:00 says warn an hour before, not that the meeting starts - # at 1 am. About the only safe way round would be to force - # a time to be present, but that's not how the traditional - # calendar programme works. - # - # Hence we need to reconstruct. - (( time_found = 0, hour = 0, minute = 0, second = 0 )) - line="${orig_line[1,date_start-1]}${orig_line[date_end+1,-1]}" - else - # As above. - line="${orig_line[1,date_start-1]}${orig_line[time_end+1,-1]}" - fi - fi - else - # Time only. - # We didn't test anchors for time originally, since it - # might have been embedded in the date. If there's no date, - # we need to test specially. - if (( anchor )) && - [[ ${orig_line[1,time_start-1]} != ${~tschars}# ]]; then - # Anchor at start failed. - return 1 - fi - strftime -s year "%Y" $EPOCHSECONDS - strftime -s month "%m" $EPOCHSECONDS - strftime -s day "%d" $EPOCHSECONDS - # Date now handled. - (( date_found = 1 )) - fi - if (( debug )); then - print "Time string: $time_start,$time_end:" \ - "'$orig_line[time_start,time_end]'" - (( date_ok )) && print "Date string: $date_start,$date_end:" \ - "'$orig_line[date_start,date_end]'" - print "Remaining line: '$line$rest_line'" - fi - fi -fi - -if (( relative )); then - if (( relative == 2 )); then - # Relative years and months are variable, and we may need to - # be careful about days. - strftime -s year "%Y" $relative_start - strftime -s month "%m" $relative_start - strftime -s day "%d" $relative_start - strftime -rs then "%Y:%m:%d" "${year}:${month}:${day}" - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(y|yr|year|yearly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - if (( relative == 2 )); then - # We need the difference between relative_start & the - # time ${match[2]} years later. This means keeping the month and - # day the same and changing the year. - (( year2 = year + relsign * ${match[2]} )) - strftime -rs reldate "%Y:%m:%d" "${year2}:${month}:${day}" - - # If we've gone from a leap year to a non-leap year, go back a day. - strftime -s month2 "%m" $reldate - (( month2 != month )) && (( reldate -= daysecs )) - - # Keep this as a difference for now since we may need to add in other stuff. - (( reladd += reldate - then )) - else - (( reladd += relsign * ((365*4+1) * daysecs * ${match[2]} + 1) / 4 )) - fi - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(mth|mon|mnth|month|monthly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - if (( relative == 2 )); then - # Need to add on ${match[2]} months as above. - (( month2 = month + relsign * ${match[2]} )) - if (( month2 <= 0 )); then - # going backwards beyond start of given year - (( year2 = year + month2 / 12 - 1, month2 = month2 + (year-year2)*12 )) - else - (( year2 = year + (month2 - 1)/ 12, month2 = (month2 - 1) % 12 + 1 )) - fi - strftime -rs reldate "%Y:%m:%d" "${year2}:${month2}:${day}" - - # If we've gone past the end of the month because it was too short, - # we have two options (i) get the damn calendar fixed (ii) wind - # back to the end of the previous month. (ii) is easier for now. - if (( day > 28 )); then - while true; do - strftime -s day2 "%d" $reldate - # There are only up to 3 days in it, so just wind back one at a - # time. Saves counting. - (( day2 >= 28 )) && break - (( reldate -= daysecs )) - done - fi - - (( reladd += reldate - then )) - else - (( reladd += relsign * 30 * daysecs * ${match[2]} )) - fi - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - # For the next three items we accumulate adjustments in "newadd". - # See note below for why they are special. - if [[ $relative = 2 && $line = (#bi)${~dspat_noday}(<->)(th|rd|nd|st)(${~daypat})(|${~schars}*) ]]; then - nth=$match[2] - test=${(L)${${match[4]##${~schars}#}%%${~schars}#}[1,3]} - wday=${dayarr[(I)$test]} - if (( wday )); then - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - # We want weekday 0 to 6 - (( wday-- )) - (( reldate = relative_start + reladd )) - strftime -s year2 "%Y" $reldate - strftime -s month2 "%m" $reldate - # Find day of week of the first of the month we've landed on. - strftime -rs then "%Y:%m:%d" "${year2}:${month2}:1" - strftime -s wday2 "%w" $then - # Calculate day of month - (( day = 1 + (wday - wday2) + (nth - 1) * 7 )) - (( wday < wday2 )) && (( day += 7 )) - # whereas the day of the month calculated so far is... - strftime -s day2 "%d" $reldate - # so we need to compensate by... - (( newadd += (day - day2) * daysecs )) - fi - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(w|wk|week|weekly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( newadd += relsign * 7 * daysecs * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(d|dy|day|daily)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( newadd += relsign * daysecs * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if (( relative == 2 && newadd )); then - # You thought a day was always the same time? Ho, ho, ho. - # If the clocks go forward or back, we can gain or lose - # an hour. Check this by seeing what the hour is before - # and after adding the number of days. If it changes, - # remove the difference. - # - # We need this correction for days (including days of a given - # month) and weeks. - # We don't need it for years and months because we calculated - # those by actually looking at the calendar for a given - # time of day, so the adjustment came out in the wash. - # We don't need it for hours or smaller periods because - # presumably if a user asks for something in 3 hours time - # they don't mean 4 hours if the clocks went back and - # 2 hours if they went forward. At least, I think so. - # Consider: - # % calendar_showdate +2d,1hr - # Sun Mar 25 00:37:00 GMT 2007 - # % calendar_showdate +2d,2hr - # Sun Mar 25 02:37:09 BST 2007 - # At first sight that looks wrong because the clock appears - # to jump two hours. (Yes, it took me all of 9 seconds to - # edit the line.) But actually it's only jumped the hour - # you asked for, because one is in GMT and the other in BST. - # In principle you could say the same thing about days: - # Sun Mar 25 00:00:00 GMT 2007 and Mon Mar 26 01:00:00 BST 2007 - # are a day apart. But usually if you say "same time next Tuesday" - # you mean "when the clock says the same time, even if someone - # has nipped in and adjusted it in the mean time", although - # for some reason you don't usually bother saying that. - # - # Hope that's clear. - strftime -s h1 "%H" $(( relative_start + reladd )) - strftime -s h2 "%H" $(( relative_start + reladd + newadd )) - (( hd = h2 - h1 )) - # and of course we might go past midnight... - if (( hd > 12 )); then - (( hd -= 24 )) - elif (( hd < -12 )); then - (( hd += 24 )) - fi - (( newadd -= hd * 3600 )) - fi - (( reladd += newadd )) - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(h|hr|hour|hourly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( reladd += relsign * 60 * 60 * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->)[[:space:]]#(min|minute)${~repat} ]]; then - (( reladd += relsign * 60 * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->)[[:space:]]#(s|sec|second)${~repat} ]]; then - (( reladd += relsign * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi -fi - -if (( relative )); then - # If no date was found, we're in trouble unless we found a time. - if (( time_found )); then - if (( anchor_end )); then - # must be left with only separator characters - if [[ $line != ${~schars}# ]]; then - return 1 - fi - fi - # relative_start is zero if we're not using it - (( reladd += (hour * 60 + minute) * 60 + second )) - typeset -g REPLY - (( REPLY = relative_start + reladd )) - [[ -n $setvar ]] && typeset -g REPLY2="$line$rest_line" - return 0 - fi - return 1 -elif (( date_found == 0 )); then - return 1 -fi - -if (( anchor_end )); then - # must be left with only separator characters - if [[ $line != ${~schars}# ]]; then - return 1 - fi -fi - -local fmt nums -if [[ -n $mname ]]; then - fmt="%Y %b %d %H %M %S" - nums="$year $mname $day $hour $minute $second" -else - fmt="%Y %m %d %H %M %S" - nums="$year $month $day $hour $minute $second" -fi - -strftime -s REPLY -r $fmt $nums - -[[ -n $setvar ]] && typeset -g REPLY2="$line$rest_line" - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_show b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_show deleted file mode 100644 index 0e236fd1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_show +++ /dev/null @@ -1,36 +0,0 @@ -integer start=$1 stop=$2 -shift 2 - -[[ -o zle ]] && zle -I -print -r "$*" - -local -a cmd -zmodload -i zsh/parameter || return - -# Use xmessage to display the message if the start and stop time -# are the same, indicating we have been scheduled to display it. -# Don't do this if there's already an notification/message for the same user. -# HERE: this should be configurable and we should be able to do -# better if xmessage isn't available, e.g. wish. -if [[ -n $DISPLAY && $start -eq $stop ]]; then - if [[ -n ${commands[kdialog]} && -n $KDE_SESSION_UID ]] - then - # We're in a KDE session, most probably. - # Simple: - cmd=(kdialog --msgbox) - # Alternative: - # calendar_knotify_show() { - # dcop knotify default notify calendar zsh "$*" '' '' 2 0 - # } - # cmd=(calendar_knotify_show) - elif [[ -n ${commands[xmessage]} ]]; then - cmd=(xmessage -center) - fi - if [[ -n $cmd[1] ]] && - ! ps -u$UID | grep $cmd[1] >/dev/null 2>&1; then - # turn off job control for this - ($cmd "$*" &) - fi -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_showdate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_showdate deleted file mode 100644 index a8985513..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_showdate +++ /dev/null @@ -1,77 +0,0 @@ -emulate -L zsh -setopt extendedglob -zmodload -i zsh/datetime - -local optm datefmt opt -integer optr replyset - -zstyle -s ':datetime:calendar_showdate:' date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - -# Memo to myself: both + and - are documented as giving relative -# times, so it's not a good idea to rewrite this to use getopts. -# We need to detect the small number of options this can actually -# handle. -while [[ $1 = -r || $1 = -- || $1 = -f* ]]; do - case $1 in - (-r) - shift - REPLY=0 - optr=1 - ;; - - (-f*) - if [[ $1 = -f?* ]]; then - datefmt=$1[3,-1] - shift - else - shift - if [[ -z $1 || $1 != *%* ]]; then - print "$0: -f requires a date/time specification" >&2 - return 1 - fi - datefmt=$1 - shift - fi - ;; - - (--) - shift - break - ;; - esac -done - -(( optr )) || local REPLY - -if (( ! $# )); then - print "Usage: $0 datespec [ ... ]" >&2 - return 1 -fi - -while (( $# )); do - optm= - if [[ $1 = [-+]* ]]; then - # relative - [[ $1 = -* ]] && optm=-m - 1=${1[2,-1]} - # if this is the first argument, use current time - # don't make assumptions about type of reply in case global - if (( ! replyset )); then - REPLY=$EPOCHSECONDS - replyset=1 - fi - fi - - if (( replyset )); then - calendar_scandate $optm -R $REPLY -aA $1 || return 1 - replyset=1 - else - calendar_scandate -aA $1 || return 1 - fi - - shift -done - -(( optr )) && return -strftime $datefmt $REPLY diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_sort b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_sort deleted file mode 100644 index 171d4f98..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/calendar_sort +++ /dev/null @@ -1,77 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz calendar_{read,scandate,lockfiles} - -local calendar line REPLY new lockfile -local -a calendar_entries -local -a times lines_sorted lines_unsorted lines_failed lockfiles -integer i - -# Read the calendar file from the calendar-file style -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - - new=$calendar.new.$$ - calendar_read $calendar - if [[ ${#calendar_entries} -eq 0 || \ - ( ${#calendar_entries} -eq 1 && -z $calendar_entries[1] ) ]]; then - return 0 - fi - - for line in $calendar_entries; do - if calendar_scandate -a $line; then - lines_unsorted+=("${(l.16..0.)REPLY}:$line") - else - lines_failed+=($line) - fi - done - - if (( ${#lines_unsorted} )); then - lines_sorted=(${${(o)lines_unsorted}##[0-9]##:}) - fi - - { - for line in "${lines_failed[@]}"; do - print "$line # BAD DATE" - done - (( ${#lines_sorted} )) && print -l "${lines_sorted[@]}" - } > $new - - if [[ ! -s $new ]]; then - print "Writing to $new failed." - return 1 - elif (( ${#lines_failed} )); then - print "Warning: lines with date that couldn't be parsed. -Output (with unparseable dates marked) left in $new" - return 1 - fi - - if ! mv $calendar $calendar.old; then - print "Couldn't back-up $calendar to $calendar.old. -New calendar left in $new" - return 1 - fi - if ! mv $new $calendar; then - print "Failed to rename $new to $calendar. -Old calendar left in $calendar.old" - return 1 - fi - - print "Old calendar left in $calendar.old" -} always { - (( ${#lockfiles} )) && rm -rf $lockfiles -} -) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/capitalize-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/capitalize-word-match deleted file mode 100644 index aa25b8e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/capitalize-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n $word ]]; then - LBUFFER+=${(C)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/catch b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/catch deleted file mode 100644 index 6afd664d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/catch +++ /dev/null @@ -1,41 +0,0 @@ -# Catch an exception. Returns 0 if the exception in question was caught. -# The first argument gives the exception to catch, which may be a -# pattern. -# This must be within an always-block. A typical set of handlers looks -# like: -# { -# # try block; something here throws exceptions -# } always { -# if catch MyExcept; then -# # Handler code goes here. -# print Handling exception MyExcept -# elif catch *; then -# # This is the way to implement a catch-all. -# print Handling any other exception -# fi -# } -# As with other languages, exceptions do not need to be handled -# within an always block and may propagate to a handler further up the -# call chain. -# -# It is possible to throw an exception from within the handler by -# using "throw". -# -# The shell variable $CAUGHT is set to the last exception caught, -# which is useful if the argument to "catch" was a pattern. -# -# Use "function" keyword in case catch is already an alias. -function catch { - if [[ $TRY_BLOCK_ERROR -gt 0 && $EXCEPTION = ${~1} ]]; then - (( TRY_BLOCK_ERROR = 0 )) - typeset -g CAUGHT="$EXCEPTION" - unset EXCEPTION - return 0 - fi - - return 1 -} -# Never use globbing with "catch". -alias catch="noglob catch" - -catch "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cdr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cdr deleted file mode 100644 index 43745e5a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cdr +++ /dev/null @@ -1,336 +0,0 @@ -# Description -# =========== -# -# Change to a recently used directory recorded in a file so that the -# recent file list persists across sessions. -# -# To use this system, -# -# autoload -Uz chpwd_recent_dirs cdr add-zsh-hook -# add-zsh-hook chpwd chpwd_recent_dirs -# -# (add-zsh-hook appeared in zsh version 4.3.4.) This ensures that all -# directories you change to interactively are registered. The -# chpwd_recent_dirs function does some guesswork to see if you are "really" -# changing directory permanently, see below. -# -# The argument to cdr is a number corresponding to the Nth most recently -# changed-to directory starting at 1 for the immediately preceding -# directory (the current directory is remembered but is not offered as a -# destination). You can use directory arguments if you set the -# recent-dirs-default style, see below; however, it should be noted -# that if you do you gain nothing over using cd directly (the recent -# directory list is updated in either case). -# -# If the argument is omitted, 1 is assumed. -# -# Completion is available if compinit has been run; menu selection is -# recommended, using -# -# zstyle ':completion:*:*:cdr:*:*' menu selection -# -# and also the verbose style to ensure the directory is shown (this -# is on by default). -# -# Options -# ======= -# -# "cdr -l" lists the numbers and the corresponding directories in -# abbreviated form (i.e. with "~" substitution reapplied), one per line. -# The directories here are not quoted (this would only be an issue if a -# directory name contained a newline). This is used by the completion -# system. -# -# "cdr -r" sets the parameter "reply" to the current set of directories. -# -# "cdr -e" allows you to edit the list of directories, one per line. The -# list can be edited to any extent you like; no sanity checking is -# performed. Completion is available. No quoting is necessary (except for -# newlines, where I have in any case no sympathy); directories are in -# unabbreviated from and contain an absolute path, i.e. they start with / -# (and only /). Usually the first entry should be left as the current -# directory. -# -# "cdr -p 'pattern'" prunes anything matching the given extended glob -# pattern from the directory list. The match is against the fully -# expanded directory path and the full string must match (use wildcards -# at the ends if needed). If output is going to a terminal, the -# function will print the new list for the user to confirm; this can be -# skipped by giving -P instead of -p. -# -# Details of directory handling -# ============================= -# -# Recent directories are saved to a file immediately and hence are -# preserved across sessions. Note currently no file locking is applied: -# the list is updated immediately on interactive commands and nowhere else -# (unlike history), and it is assumed you are only going to change -# directory in one window at once. This is not safe on shared accounts, -# but in any case the system has limited utility when someone else is -# changing to a different set of directories behind your back. -# -# To make this a little safer, only directory changes instituted from the -# command line, either directly or indirectly through shell function calls -# (but not through subshells, evals, traps, completion functions and the -# like) are saved. This works best in versions of the shell from 4.3.11 -# which has facilities to check the evaluation context. Shell functions -# should use cd -q or pushd -q to avoid side effects if the change to the -# directory is to be invisible at the command line. See the function -# chpwd_recent_dirs for more details. -# -# Styles -# ====== -# -# Various styles are available. The context for setting styles should be -# ':chpwd:*' in case the meaning of the context is extended in future, for -# example: -# -# zstyle ':chpwd:*' recent-dirs-max 0 -# -# although the style name is specific enough that a context of '*' should -# be fine in practice. The only exception is recent-dirs-insert, which is -# used exclusively by the completion system and so has the usual completion -# system context (':completion:*' if nothing more specific is needed, -# though again '*' should be fine in practice). -# -# recent-dirs-default -# If true, and the command is expecting a recent directory index, and -# either there is more than one argument or the argument is not an -# integer, then fall through to "cd". This allows the lazy to use only -# one command for directory changing. Completion recognises this, too; -# see recent-dirs-insert for how to control completion when this option -# is in use. -# -# recent-dirs-file -# The file where the list of directories is saved. The default -# is ${ZDOTDIR:-$HOME}/.chpwd-recent-dirs, i.e. this is in your -# home directory unless you have set ZDOTDIR to point somewhere else. -# Directory names are saved in $'...' quoted form, so each line -# in the file can be supplied directly to the shell as an argument. -# -# The value of this style may be an array. In this case, the first -# file in the list will always be used for saving directories while any -# other files are left untouched. When reading the recent directory -# list, if there are fewer than the maximum number of entries in the -# first file, the contents of later files in the array will be appended -# with duplicates removed from the list shown. The contents of the two -# files are not sorted together, i.e. all the entries in the first file -# are shown first. The special value "+" can appear in the list to -# indicate the default file should be read at that point. This allows -# effects like the following: -# -# zstyle recent-dirs-file ':chpwd:*' ~/.chpwd-recent-dirs-${TTY##*/} + -# -# Recent directories are read from a file numbered according to -# the terminal. If there are insufficient entries the list -# is supplemented from the default file. -# -# recent-dirs-insert -# Used by completion. If recent-dirs-default is true, then setting -# this to true causes the actual directory, rather than its index, to -# be inserted on the command line; this has the same effect as using -# the corresponding index, but makes the history clearer and the line -# easier to edit. With this setting, if part of an argument was -# already typed, normal directory completion rather than recent -# directory completion is done; this is because recent directory -# completion is expected to be done by cycling through entries menu -# fashion. However, if the value of the style is "always", then only -# recent directories will be completed; in that case, use the cd -# command when you want to complete other directories. If the value is -# "fallback", recent directories will be tried first, then normal -# directory completion is performed if recent directory completion -# failed to find a match. Finally, if the value is "both" then both -# sets of completions are presented; the usual tag mechanism can be -# used to distinguish results, with recent directories tagged as -# "recent-dirs". Note that the recent directories inserted are -# abbreviated with directory names where appropriate. -# -# recent-dirs-max -# The maximum number of directories to save to the file. If -# this is zero or negative there is no maximum. The default is 20. -# Note this includes the current directory, which isn't offered, -# so the highest number of directories you will be offered -# is one less than the maximum. -# -# recent-dirs-prune -# This style is an array determining what directories should (or should -# not) be added to the recent list. Elements of the array can include: -# parent -# Prune parents (more accurately, ancestors) from the recent list. -# If present, changing directly down by any number of directories -# causes the current directory to be overwritten. For example, -# changing from ~pws to ~pws/some/other/dir causes ~pws not to be -# left on the recent directory stack. This only applies to direct -# changes to descendant directories; earlier directories on the -# list are not pruned. For example, changing from ~pws/yet/another -# to ~pws/some/other/dir does not cause ~pws to be pruned. -# pattern:<pattern> -# Gives a zsh pattern for directories that should not be -# added to the recent list (if not already there). This element -# can be repeated to add different patterns. For example, -# 'pattern:/tmp(|/*)' stops /tmp or its descendants from being -# added. The EXTENDED_GLOB option is always turned on for -# these patterns. -# -# recent-dirs-pushd -# If set to true, cdr will use pushd instead of cd to change the -# directory, so the directory is saved on the directory stack. As the -# directory stack is completely separate from the list of files saved -# by the mechanism used in this file there is no obvious reason to do -# this. -# -# Use with dynamic directory naming -# ================================= -# -# It is possible to refer to recent directories using the dynamic directory -# name syntax that appeared in zsh version 4.3.7. If you create and -# autoload a function zsh_directory_name containing the following code, -# ~[1] will refer to the most recent directory other than $PWD, and so on. -# This also includes completion (version 4.3.11 is required for this to -# work; previous versions needed the file _dynamic_directory_name to -# be overloaded). -# -# if [[ $1 = n ]]; then -# if [[ $2 = <-> ]]; then -# # Recent directory -# typeset -ga reply -# autoload -Uz cdr -# cdr -r -# if [[ -n ${reply[$2]} ]]; then -# reply=(${reply[$2]}) -# return 0 -# else -# reply=() -# return 1 -# fi -# fi -# elif [[ $1 = c ]]; then -# if [[ $PREFIX = <-> || -z $PREFIX ]]; then -# typeset -a keys values -# -# values=(${${(f)"$(cdr -l)"}/ ##/:}) -# keys=(${values%%:*}) -# -# _describe -t dir-index 'recent directory index' \ -# values keys -V unsorted -S']' -# return -# fi -# fi -# return 1 - - -emulate -L zsh -setopt extendedglob - -autoload -Uz chpwd_recent_filehandler chpwd_recent_add - -integer list set_reply i bad edit force_prune -local opt dir prune -local -aU dirs - -while getopts "elp:P:r" opt; do - case $opt in - (e) - edit=1 - ;; - - (l) - list=1 - ;; - - ([pP]) - prune=$OPTARG - edit=1 - [[ $opt = P ]] && force_prune=1 - ;; - - (r) - set_reply=1 - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -if (( set_reply )); then - typeset -ga reply -else - local -a reply -fi - -if (( list || set_reply || edit )); then - (( $# )) && bad=1 -else - if [[ $#1 -eq 0 ]]; then - 1=1 - elif [[ $# -ne 1 || $1 != <-> ]]; then - if zstyle -t ':chpwd:' recent-dirs-default; then - cd "$@" - return - else - bad=1 - fi - fi -fi - -if (( bad )); then - print "Usage: $0 [-l | -r | <dir-num> ] -Use $0 -l or completion to see possible directories." - return 1 -fi - -chpwd_recent_filehandler - -if [[ $PWD != $reply[1] ]]; then - # When we first start we don't have the current directory. - # Add it now for consistency. - chpwd_recent_add $PWD && chpwd_recent_filehandler $reply -fi - -if (( edit )); then - if [[ -n $prune ]]; then - reply=(${reply:#$~prune}) - if [[ force_prune -eq 0 && -t 1 ]]; then - print -nrl "New list:" $reply 'Accept? ' - if ! read -q; then - print - return 1 - fi - print - fi - else - local compcontext='directories:directory:_path_files -/' - IFS=' -' vared reply || return 1 - fi - chpwd_recent_filehandler $reply -fi - -# Skip current directory if present (may have been pruned). -[[ $reply[1] = $PWD ]] && reply=($reply[2,-1]) - -if (( list )); then - dirs=($reply) - for (( i = 1; i <= ${#dirs}; i++ )); do - print -n ${(r.5.)i} - print -r ${(D)dirs[i]} - done - return -fi - -(( set_reply || edit )) && return - -if (( $1 > ${#reply} )); then - print "Not enough directories ($(( ${#dirs} - 1)) possibilities)" >&2 - return 1 -fi -dir=${reply[$1]} - -if zstyle -t ':chpwd:' recent-dirs-pushd; then - pushd -- $dir -else - cd -- $dir -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/checkmail b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/checkmail deleted file mode 100755 index de177a66..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/checkmail +++ /dev/null @@ -1,27 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# -# This autoloadable function checks the folders specified as arguments -# for new mails. The arguments are interpreted in exactly the same way -# as the mailpath special zsh parameter (see zshparam(1)). -# -# If no arguments are given mailpath is used. If mailpath is empty, $MAIL -# is used and if that is also empty, /var/spool/mail/$LOGNAME is used. -# This function requires zsh-3.0.1 or newer. -# - -emulate -L zsh -local file message - -for file in "${@:-${mailpath[@]:-${MAIL:-/var/spool/mail/$LOGNAME}}}" -do - message="${${(M)file%%\?*}#\?}" - file="${file%%\?*}" - if [[ -d "$file" ]] then - file=( "$file"/**/*(.ND) ) - if (($#file)) then - checkmail ${^file}\?$message - fi - elif test -s "$file" -a -N "$file"; then # this also sets $_ to $file - print -r -- "${(e)message:-You have new mail.}" - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_add b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_add deleted file mode 100644 index 49ec8d1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_add +++ /dev/null @@ -1,24 +0,0 @@ -# Helper for chpwd_recent_dirs. -# Add a directory to the reply array unless we're skipping it. -# If skipping, return non-zero status. - -local pat -local add=$1 -local -a prune patterns - -zstyle -a ':chpwd:' recent-dirs-prune prune -if (( ${#prune} )); then - patterns=(${${prune:#^pattern:*}##pattern:}) -fi - -for pat in $patterns; do - if [[ $add =~ ${~pat} ]]; then - return 1 - fi -done - -if [[ ${prune[(I)parent]} -ne 0 && $add = $reply[1]/* ]]; then - # replace - reply=($reply[2,-1]) -fi -reply=($add $reply) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_dirs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_dirs deleted file mode 100644 index 78608eea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_dirs +++ /dev/null @@ -1,44 +0,0 @@ -# Save the current directory in the stack of most recently used directories. - -emulate -L zsh -setopt extendedglob - -local -aU reply -integer changed - -autoload -Uz chpwd_recent_filehandler chpwd_recent_add - -# Don't save if this is not interactive, or is in a subshell. -# Don't save if this is not being called directly from the top level -# of the shell via a straightforward sequence of shell functions. -# So this is called -# - on any straightforward cd or pushd (including AUTO_CD) -# - any time cd or pushd is called from a function invoked directly -# or indirectly from the command line, e.g. if pushd is a function -# fixing the order of directories that got broken years ago -# but it is not called any time -# - the shell is not interactive -# - we forked -# - we are being eval'd, including for some special purpose such -# as a style -# - we are not called from the top-level command loop, for example -# we are in a completion function (which is called from zle -# when the main top-level command interpreter isn't running) -# - obviously, when cd -q is in use (that's what the option is for). -# -# For compatibility with older shells, skip this test if $ZSH_EVAL_CONTEXT -# isn't set. This will never be the case inside a shell function when -# the variable is implemented. -if [[ ! -o interactive || $ZSH_SUBSHELL -ne 0 || \ - ( -n $ZSH_EVAL_CONTEXT && \ - $ZSH_EVAL_CONTEXT != toplevel(:[a-z]#func|)# ) ]]; then - return -fi - -chpwd_recent_filehandler - -if [[ $reply[1] != $PWD ]]; then - chpwd_recent_add $PWD && changed=1 - - (( changed )) && chpwd_recent_filehandler $reply -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_filehandler b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_filehandler deleted file mode 100644 index 688612be..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/chpwd_recent_filehandler +++ /dev/null @@ -1,47 +0,0 @@ -# With arguments, output those files to the recent directory file. -# With no arguments, read in the directories from the file into $reply. -# -# Handles recent-dirs-file and recent-dirs-max styles. - -emulate -L zsh -setopt extendedglob - -integer max -local file line -local -a files dir -local default=${ZDOTDIR:-$HOME}/.chpwd-recent-dirs - -if zstyle -a ':chpwd:' recent-dirs-file files; then - files=(${files//(#s)+(#e)/$default}) -fi -if (( ${#files} == 0 )); then - files=($default) -fi - -zstyle -s ':chpwd:' recent-dirs-max max || max=20 - -if (( $# )); then - if (( max > 0 && ${#argv} > max )); then - argv=(${argv[1,max]}) - fi - # Quote on write. - # Use $'...' quoting... this fixes newlines and other nastiness. - print -rl ${(qqqq)argv} >${files[1]} -else - typeset -g reply - # Unquote on read. - reply=() - for file in $files; do - [[ -r $file ]] || continue - # Strip anything after the directory from the line. - # At the moment there isn't anything, but we'll make this - # future proof. - for line in ${(f)"$(<$file)"}; do - dir=(${(z)line}) - reply+=(${(Q)${dir[1]}}) - if (( max > 0 && ${#reply} == max )); then - break 2 - fi - done - done -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/colors b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/colors deleted file mode 100644 index 5e9d77d1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/colors +++ /dev/null @@ -1,120 +0,0 @@ -# Put standard ANSI color codes in shell parameters for easy use. -# Note that some terminals do not support all combinations. - -emulate -L zsh - -typeset -Ag color colour - -color=( -# Codes listed in this array are from ECMA-48, Section 8.3.117, p. 61. -# Those that are commented out are not widely supported or aren't closely -# enough related to color manipulation, but are included for completeness. - -# Attribute codes: - 00 none # 20 gothic - 01 bold # 21 double-underline - 02 faint 22 normal - 03 italic 23 no-italic # no-gothic - 04 underline 24 no-underline - 05 blink 25 no-blink -# 06 fast-blink # 26 proportional - 07 reverse 27 no-reverse -# 07 standout 27 no-standout - 08 conceal 28 no-conceal -# 09 strikethrough # 29 no-strikethrough - -# Font selection: -# 10 font-default -# 11 font-first -# 12 font-second -# 13 font-third -# 14 font-fourth -# 15 font-fifth -# 16 font-sixth -# 17 font-seventh -# 18 font-eighth -# 19 font-ninth - -# Text color codes: - 30 black 40 bg-black - 31 red 41 bg-red - 32 green 42 bg-green - 33 yellow 43 bg-yellow - 34 blue 44 bg-blue - 35 magenta 45 bg-magenta - 36 cyan 46 bg-cyan - 37 white 47 bg-white -# 38 iso-8316-6 # 48 bg-iso-8316-6 - 39 default 49 bg-default - -# Other codes: -# 50 no-proportional -# 51 border-rectangle -# 52 border-circle -# 53 overline -# 54 no-border -# 55 no-overline -# 56 through 59 reserved - -# Ideogram markings: -# 60 underline-or-right -# 61 double-underline-or-right -# 62 overline-or-left -# 63 double-overline-or-left -# 64 stress -# 65 no-ideogram-marking -) - -# A word about black and white: The "normal" shade of white is really a -# very pale grey on many terminals; to get truly white text, you have to -# use bold white, and to get a truly white background you have to use -# bold reverse white bg-xxx where xxx is your desired foreground color -# (and which means the foreground is also bold). - -# Map in both directions; could do this with e.g. ${(k)colors[(i)normal]}, -# but it's clearer to include them all both ways. - -local k -for k in ${(k)color}; do color[${color[$k]}]=$k; done - -# Add "fg-" keys for all the text colors, for clarity. - -for k in ${color[(I)3?]}; do color[fg-${color[$k]}]=$k; done - -# This is inaccurate, but the prompt theme system needs it. - -for k in grey gray; do - color[$k]=${color[black]} - color[fg-$k]=${color[$k]} - color[bg-$k]=${color[bg-black]} -done - -# Assistance for the color-blind. - -colour=(${(kv)color}) # A case where ksh namerefs would be useful ... - -# The following are terminal escape sequences used by colored prompt themes. - -local lc=$'\e[' rc=m # Standard ANSI terminal escape values - -typeset -Hg reset_color bold_color -reset_color="$lc${color[none]}$rc" -bold_color="$lc${color[bold]}$rc" - -# Foreground - -typeset -AHg fg fg_bold fg_no_bold -for k in ${(k)color[(I)fg-*]}; do - fg[${k#fg-}]="$lc${color[$k]}$rc" - fg_bold[${k#fg-}]="$lc${color[bold]};${color[$k]}$rc" - fg_no_bold[${k#fg-}]="$lc${color[normal]};${color[$k]}$rc" -done - -# Background - -typeset -AHg bg bg_bold bg_no_bold -for k in ${(k)color[(I)bg-*]}; do - bg[${k#bg-}]="$lc${color[$k]}$rc" - bg_bold[${k#bg-}]="$lc${color[bold]};${color[$k]}$rc" - bg_no_bold[${k#bg-}]="$lc${color[normal]};${color[$k]}$rc" -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compaudit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compaudit deleted file mode 100644 index 93a04312..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compaudit +++ /dev/null @@ -1,176 +0,0 @@ -# So that this file can also be read with `.' or `source' ... -compaudit() { # Define and then call - -# Audit the fpath to assure that it contains all the directories needed by -# the completion system, and that those directories are at least unlikely -# to contain dangerous files. This is far from perfect, as the modes or -# ownership of files or directories might change between the time of the -# audit and the time the function is executed. - -# This function is designed to be called from compinit, which assumes that -# it is in the same directory, i.e., it can be autoloaded from the initial -# fpath as compinit was. Most local parameter names in this function must -# therefore be the same as those used in compinit. - -emulate -L zsh -setopt extendedglob - -[[ -n $commands[getent] ]] || getent() { - if [[ $1 = hosts ]]; then - sed 's/#.*//' /etc/$1 | grep -w $2 - elif [[ $2 = <-> ]]; then - grep ":$2:[^:]*$" /etc/$1 - else - grep "^$2:" /etc/$1 - fi -} - -# The positional parameters are the directories to check, else fpath. -if (( $# )); then - local _compdir='' -elif (( $#fpath == 0 )); then - print 'compaudit: No directories in $fpath, cannot continue' 1>&2 - return 1 -else - set -- $fpath -fi - -# _i_check is defined by compinit; used here as a test for whether this -# function is running standalone or was called by compinit. If called -# by compinit, we use parameters that are defined in compinit's scope, -# otherwise we make them local here. -(( $+_i_check )) || { - local _i_q _i_line _i_file _i_fail=verbose - local -a _i_files _i_addfiles _i_wdirs _i_wfiles - local -a -U +h fpath -} - -fpath=( $* ) - -# _compdir may be defined by the user; see the compinit documentation. -# If it isn't defined, we want it to point somewhere sensible, but the -# user is allowed to set it to empty to bypass the check below. -(( $+_compdir )) || { - local _compdir=${fpath[(r)*/$ZSH_VERSION/*]} - [[ -z $_compdir ]] && _compdir=$fpath[1] - ### [[ -d $_compdir/../Base ]] && _compdir=${_compdir:h} -} - -_i_wdirs=() -_i_wfiles=() - -_i_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) -if [[ -n $_compdir ]]; then - if [[ $#_i_files -lt 20 || $_compdir = */Base || -d $_compdir/Base ]]; then - # Too few files: we need some more directories, or we need to check - # that all directories (not just Base) are present. - _i_addfiles=() - if [[ -d $_compdir/Base/Core ]]; then - # Add all the Completion subdirectories (CVS-layout) - _i_addfiles=(${_compdir}/*/*(/^M)) - elif [[ -d $_compdir/Base ]]; then - # Likewise (installation-layout) - _i_addfiles=(${_compdir}/*(/^M)) - fi - for _i_line in {1..$#_i_addfiles}; do - (( $_i_line )) || break - _i_file=${_i_addfiles[$_i_line]} - [[ -d $_i_file && -z ${fpath[(r)$_i_file]} ]] || - _i_addfiles[$_i_line]= - done - fpath=($fpath $_i_addfiles) - _i_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) - fi -fi - -[[ $_i_fail == use ]] && return 0 - -# We will always allow files to be owned by root and the owner of the -# present process. -local _i_owners="u0u${EUID}" - -# Places we will look for a link to the executable -local -a _i_exes -_i_exes=( - /proc/$$/exe - /proc/$$/object/a.out - ) -local _i_exe - -# If we can find out who owns the executable, we will allow files to -# be owned by that user, too. The argument is that if you don't trust -# the owner of the executable, it's way too late to worry about it now... -for _i_exe in $_i_exes; do - if [[ -e $_i_exe ]] ;then - if zmodload -F zsh/stat b:zstat 2>/dev/null; then - local -A _i_stathash - if zstat -H _i_stathash $_i_exe && - [[ $_i_stathash[uid] -ne 0 ]]; then - _i_owners+="u${_i_stathash[uid]}" - fi - fi - break - fi -done - -# We search for: -# - world/group-writable directories in fpath not owned by $_i_owners -# - parent-directories of directories in fpath that are world/group-writable -# and not owned by $_i_owners (that would allow someone to put a -# digest file for one of the directories into the parent directory) -# - digest files for one of the directories in fpath not owned by $_i_owners -# - and for files in directories from fpath not owned by $_i_owners -# (including zwc files) - -_i_wdirs=( ${^fpath}(N-f:g+w:,-f:o+w:,-^${_i_owners}) - ${^fpath:h}(N-f:g+w:,-f:o+w:,-^${_i_owners}) ) - -# RedHat Linux "per-user groups" check. This is tricky, because it's very -# difficult to tell whether the sysadmin has put someone else into your -# "private" group (e.g., via the default group field in /etc/passwd, or -# by NFS group sharing with an untrustworthy machine). So we must assume -# that this has not happened, and pick the best group. - -if (( $#_i_wdirs )); then - local GROUP GROUPMEM _i_pw _i_gid - if ((UID == EUID )); then - getent group $LOGNAME | IFS=: read GROUP _i_pw _i_gid GROUPMEM - else - getent group $EGID | IFS=: read GROUP _i_pw _i_gid GROUPMEM - fi - - if [[ $GROUP == $LOGNAME && ( -z $GROUPMEM || $GROUPMEM == $LOGNAME ) ]] - then - _i_wdirs=( ${^_i_wdirs}(N-f:g+w:^g:${GROUP}:,-f:o+w:,-^${_i_owners}) ) - fi -fi - -if [[ -f /etc/debian_version ]] -then - local _i_ulwdirs - _i_ulwdirs=( ${(M)_i_wdirs:#/usr/local/*} ) - _i_wdirs=( ${_i_wdirs:#/usr/local/*} ${^_i_ulwdirs}(Nf:g+ws:^g:staff:,f:o+w:,^u0) ) -fi - -_i_wdirs=( $_i_wdirs ${^fpath}.zwc^([^_]*|*~)(N-^${_i_owners}) ) -_i_wfiles=( ${^fpath}/^([^_]*|*~)(N-^${_i_owners}) ) - -case "${#_i_wdirs}:${#_i_wfiles}" in -(0:0) _i_q= ;; -(0:*) _i_q=files ;; -(*:0) _i_q=directories ;; -(*:*) _i_q='directories and files' ;; -esac - -if [[ -n "$_i_q" ]]; then - [[ $_i_fail == verbose ]] && { - print There are insecure ${_i_q}: 1>&2 - print -l - $_i_wdirs $_i_wfiles - } - return 1 -fi -return 0 - -} # Define and then call - -compaudit "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compdump b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compdump deleted file mode 100644 index 6daf92f9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compdump +++ /dev/null @@ -1,141 +0,0 @@ -# This is a function to dump the definitions for new-style -# completion defined by 'compinit' in the same directory. The output -# should be directed into the "compinit.dump" in the same directory as -# compinit. If you rename init, just stick .dump onto the end of whatever -# you have called it and put it in the same directory. This is handled -# automatically if you invoke compinit with the option -d. -# -# You will need to update the dump every time you add a new completion. -# To do this, simply remove the .dump file, start a new shell, and -# create the .dump file as before. Again, compinit -d handles this -# automatically. - -# Print the number of files used for completion. This is used in compinit -# to see if auto-dump should re-dump the dump-file. - -emulate -L zsh -setopt extendedglob noshglob - -typeset _d_file _d_f _d_fd _d_bks _d_line _d_als _d_files _d_name _d_tmp - -_d_file=${_comp_dumpfile-${0:h}/compinit.dump}.$HOST.$$ -[[ $_d_file = //* ]] && _d_file=${_d_file[2,-1]} - -[[ -w ${_d_file:h} ]] || return 1 - -_d_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) - -if [[ -n "$_comp_secure" ]]; then - _d_wdirs=( ${^fpath}(Nf:g+w:,f:o+w:,^u0u${EUID}) ) - _d_wfiles=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N^u0u${EUID}) ) - - (( $#_d_wfiles )) && _d_files=( "${(@)_d_files:#(${(j:|:)_d_wfiles})}" ) - (( $#_d_wdirs )) && _d_files=( "${(@)_d_files:#(${(j:|:)_d_wdirs})/*}" ) -fi - -exec {_d_fd}>$_d_file -print "#files: $#_d_files\tversion: $ZSH_VERSION" >& $_d_fd - -# Dump the arrays _comps, _services and _patcomps. The quoting -# hieroglyphics ensure that a single quote inside a variable is itself -# correctly quoted. - -print "\n_comps=(" >& $_d_fd -for _d_f in ${(ok)_comps}; do - print -r - "${(qq)_d_f}" "${(qq)_comps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_services=(" >& $_d_fd -for _d_f in ${(ok)_services}; do - print -r - "${(qq)_d_f}" "${(qq)_services[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_patcomps=(" >& $_d_fd -for _d_f in ${(ok)_patcomps}; do - print -r - "${(qq)_d_f}" "${(qq)_patcomps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -_d_tmp="_postpatcomps" -print "\n_postpatcomps=(" >& $_d_fd -for _d_f in ${(ok)_postpatcomps}; do - print -r - "${(qq)_d_f}" "${(qq)_postpatcomps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_compautos=(" >& $_d_fd -for _d_f in "${(ok@)_compautos}"; do - print -r - "${(qq)_d_f}" "${(qq)_compautos[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print >& $_d_fd - -# Now dump the key bindings. We dump all bindings for zle widgets -# whose names start with a underscore. -# We need both the zle -C's and the bindkey's to recreate. -# We can ignore any zle -C which rebinds a standard widget (second -# argument to zle does not begin with a `_'). - -_d_bks=() -typeset _d_complist= -zle -lL | - while read -rA _d_line; do - if [[ ${_d_line[3]} = _* && ${_d_line[5]} = _* ]]; then - if [[ -z "$_d_complist" && ${_d_line[4]} = .menu-select ]]; then - print 'zmodload -i zsh/complist' - _d_complist=yes - fi - print -r - ${_d_line} - _d_bks+=(${_d_line[3]}) - fi - done >& $_d_fd -bindkey | - while read -rA _d_line; do - if [[ ${_d_line[2]} = (${(j.|.)~_d_bks}) ]]; then - print -r "bindkey '${_d_line[1][2,-2]}' ${_d_line[2]}" - fi - done >& $_d_fd - -print >& $_d_fd - - -# Autoloads: look for all defined functions beginning with `_' (that also -# exists in fpath: see workers/38547). - -_d_als=($^fpath/(${(o~j.|.)$(typeset +fm '_*')})(N:t)) - -# print them out: about five to a line looks neat - -integer _i=5 -print -n autoload -Uz >& $_d_fd -while (( $#_d_als )); do - if (( ! $+_compautos[$_d_als[1]] )); then - print -n " $_d_als[1]" - if (( ! --_i && $#_d_als > 1 )); then - _i=5 - print -n ' \\\n ' - fi - fi - shift _d_als -done >& $_d_fd - -print >& $_d_fd - -local _c -for _c in "${(ok@)_compautos}"; do - print "autoload -Uz $_compautos[$_c] $_c" >& $_d_fd -done - -print >& $_d_fd - -print "typeset -gUa _comp_assocs" >& $_d_fd -print "_comp_assocs=( ${(qq)_comp_assocs} )" >& $_d_fd -exec {_d_fd}>&- - -mv -f $_d_file ${_d_file%.$HOST.$$} - -unfunction compdump -autoload -Uz compdump diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinit deleted file mode 100644 index 5cb527fa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinit +++ /dev/null @@ -1,573 +0,0 @@ -# Initialisation for new style completion. This mainly contains some helper -# functions and setup. Everything else is split into different files that -# will automatically be made autoloaded (see the end of this file). The -# names of the files that will be considered for autoloading are those that -# begin with an underscores (like `_condition). -# -# The first line of each of these files is read and must indicate what -# should be done with its contents: -# -# `#compdef <names ...>' -# If the first line looks like this, the file is autoloaded as a -# function and that function will be called to generate the matches -# when completing for one of the commands whose <names> are given. -# The names may also be interspersed with `-T <assoc>' options -# specifying for which set of functions this should be added. -# -# `#compdef -[pP] <patterns ...>' -# This defines a function that should be called to generate matches -# for commands whose name matches <pattern>. Note that only one pattern -# may be given. -# -# `#compdef -k <style> [ <key-sequence> ... ]' -# This is used to bind special completions to all the given -# <key-sequence>(s). The <style> is the name of one of the built-in -# completion widgets (complete-word, delete-char-or-list, -# expand-or-complete, expand-or-complete-prefix, list-choices, -# menu-complete, menu-expand-or-complete, or reverse-menu-complete). -# This creates a widget behaving like <style> so that the -# completions are chosen as given in the rest of the file, -# rather than by the context. The widget has the same name as -# the autoload file and can be bound using bindkey in the normal way. -# -# `#compdef -K <widget-name> <style> <key-sequence> [ ... ]' -# This is similar to -k, except it takes any number of sets of -# three arguments. In each set, the widget <widget-name> will -# be defined, which will behave as <style>, as with -k, and will -# be bound to <key-sequence>, exactly one of which must be defined. -# <widget-name> must be different for each: this must begin with an -# underscore, else one will be added, and should not clash with other -# completion widgets (names based on the name of the function are the -# clearest), but is otherwise arbitrary. It can be tested in the -# function by the parameter $WIDGET. -# -# `#autoload [ <options> ]' -# This is for helper functions that are not used to -# generate matches, but should automatically be loaded -# when they are called. The <options> will be given to the -# autoload builtin when making the function autoloaded. Note -# that this need not include `-U' and `-z'. -# -# Note that no white space is allowed between the `#' and the rest of -# the string. -# -# Functions that are used to generate matches should return zero if they -# were able to add matches and non-zero otherwise. -# -# See the file `compdump' for how to speed up initialisation. - -# If we got the `-d'-flag, we will automatically dump the new state (at -# the end). This takes the dumpfile as an argument. -d (with the -# default dumpfile) is now the default; to turn off dumping use -D. - -# If the dumpfile is being regenerated and you don't know why, you can use -# the -w flag to see if it was because -D was passed, zsh version mismatched, -# or number of files in $fpath differed. - -# The -C flag bypasses both the check for rebuilding the dump file and the -# usual call to compaudit; the -i flag causes insecure directories found by -# compaudit to be ignored, and the -u flag causes all directories found by -# compaudit to be used (without security checking). Otherwise the user is -# queried for whether to use or ignore the insecure directories (which -# means compinit should not be called from non-interactive shells). - -emulate -L zsh -setopt extendedglob - -typeset _i_dumpfile _i_files _i_line _i_done _i_dir _i_autodump=1 -typeset _i_tag _i_file _i_addfiles _i_fail=ask _i_check=yes _i_name _i_why - -while [[ $# -gt 0 && $1 = -[dDiuCw] ]]; do - case "$1" in - -d) - _i_autodump=1 - shift - if [[ $# -gt 0 && "$1" != -[dfQC] ]]; then - _i_dumpfile="$1" - shift - fi - ;; - -D) - _i_autodump=0 - shift - ;; - -i) - _i_fail=ign - shift - ;; - -u) - _i_fail=use - shift - ;; - -C) - _i_check= - shift - ;; - -w) - _i_why=1 - shift - ;; - esac -done - -# The associative arrays containing the definitions for the commands and -# services. - -typeset -gHA _comps _services _patcomps _postpatcomps - -# `_compautos' contains the names and options for autoloaded functions -# that get options. - -typeset -gHA _compautos - -# The associative array use to report information about the last -# completion to the outside. - -typeset -gHA _lastcomp - -# Remember dumpfile. -if [[ -n $_i_dumpfile ]]; then - # Explicitly supplied dumpfile. - typeset -g _comp_dumpfile="$_i_dumpfile" -else - typeset -g _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump" -fi - -# The standard options set in completion functions. - -typeset -gHa _comp_options -_comp_options=( - bareglobqual - extendedglob - glob - multibyte - multifuncdef - nullglob - rcexpandparam - unset - NO_allexport - NO_aliases - NO_cshnullglob - NO_cshjunkiequotes - NO_errexit - NO_errreturn - NO_globassign - NO_globsubst - NO_histsubstpattern - NO_ignorebraces - NO_ignoreclosebraces - NO_kshglob - NO_ksharrays - NO_kshtypeset - NO_markdirs - NO_octalzeroes - NO_posixbuiltins - NO_posixidentifiers - NO_shwordsplit - NO_shglob - NO_typesettounset - NO_warnnestedvar - NO_warncreateglobal -) - -# And this one should be `eval'ed at the beginning of every entry point -# to the completion system. It sets up what we currently consider a -# sane environment. That means we set the options above, make sure we -# have a valid stdin descriptor (zle closes it before calling widgets) -# and don't get confused by user's ZERR trap handlers. - -typeset -gH _comp_setup='local -A _comp_caller_options; - _comp_caller_options=(${(kv)options[@]}); - setopt localoptions localtraps localpatterns ${_comp_options[@]}; - local IFS=$'\'\ \\t\\r\\n\\0\''; - builtin enable -p \| \~ \( \? \* \[ \< \^ \# 2>&-; - exec </dev/null; - trap - ZERR; - local -a reply; - local REPLY; - local REPORTTIME; - unset REPORTTIME' - -# These can hold names of functions that are to be called before/after all -# matches have been generated. - -typeset -ga compprefuncs comppostfuncs -compprefuncs=() -comppostfuncs=() - -# Loading it now ensures that the `funcstack' parameter is always correct. - -: $funcstack - -# This function is used to register or delete completion functions. For -# registering completion functions, it is invoked with the name of the -# function as it's first argument (after the options). The other -# arguments depend on what type of completion function is defined. If -# none of the `-p' and `-k' options is given a function for a command is -# defined. The arguments after the function name are then interpreted as -# the names of the command for which the function generates matches. -# With the `-p' option a function for a name pattern is defined. This -# function will be invoked when completing for a command whose name -# matches the pattern given as argument after the function name (in this -# case only one argument is accepted). -# The option `-P' is like `-p', but the function will be called after -# trying to find a function defined for the command on the line if no -# such function could be found. -# With the `-k' option a function for a special completion keys is -# defined and immediately bound to those keys. Here, the extra arguments -# are the name of one of the builtin completion widgets and any number -# of key specifications as accepted by the `bindkey' builtin. -# In any case the `-a' option may be given which makes the function -# whose name is given as the first argument be autoloaded. When defining -# a function for command names the `-n' option may be given and keeps -# the definitions from overriding any previous definitions for the -# commands; with `-k', the `-n' option prevents compdef from rebinding -# a key sequence which is already bound. -# For deleting definitions, the `-d' option must be given. Without the -# `-p' option, this deletes definitions for functions for the commands -# whose names are given as arguments. If combined with the `-p' option -# it deletes the definitions for the patterns given as argument. -# The `-d' option may not be combined with the `-k' option, i.e. -# definitions for key function can not be removed. -# -# Examples: -# -# compdef -a foo bar baz -# make the completion for the commands `bar' and `baz' use the -# function `foo' and make this function be autoloaded -# -# compdef -p foo 'c*' -# make completion for all command whose name begins with a `c' -# generate matches by calling the function `foo' before generating -# matches defined for the command itself -# -# compdef -k foo list-choices '^X^M' '\C-xm' -# make the function `foo' be invoked when typing `Control-X Control-M' -# or `Control-X m'; the function should generate matches and will -# behave like the `list-choices' builtin widget -# -# compdef -d bar baz -# delete the definitions for the command names `bar' and `baz' - -compdef() { - local opt autol type func delete eval new i ret=0 cmd svc - local -a match mbegin mend - - emulate -L zsh - setopt extendedglob - - # Get the options. - - if (( ! $# )); then - print -u2 "$0: I need arguments" - return 1 - fi - - while getopts "anpPkKde" opt; do - case "$opt" in - a) autol=yes;; - n) new=yes;; - [pPkK]) if [[ -n "$type" ]]; then - # Error if both `-p' and `-k' are given (or one of them - # twice). - print -u2 "$0: type already set to $type" - return 1 - fi - if [[ "$opt" = p ]]; then - type=pattern - elif [[ "$opt" = P ]]; then - type=postpattern - elif [[ "$opt" = K ]]; then - type=widgetkey - else - type=key - fi - ;; - d) delete=yes;; - e) eval=yes;; - esac - done - shift OPTIND-1 - - if (( ! $# )); then - print -u2 "$0: I need arguments" - return 1 - fi - - if [[ -z "$delete" ]]; then - # If the first word contains an equal sign, all words must contain one - # and we define which services to use for the commands. - - if [[ -z "$eval" ]] && [[ "$1" = *\=* ]]; then - while (( $# )); do - if [[ "$1" = *\=* ]]; then - cmd="${1%%\=*}" - svc="${1#*\=}" - func="$_comps[${_services[(r)$svc]:-$svc}]" - [[ -n ${_services[$svc]} ]] && - svc=${_services[$svc]} - [[ -z "$func" ]] && - func="${${_patcomps[(K)$svc][1]}:-${_postpatcomps[(K)$svc][1]}}" - if [[ -n "$func" ]]; then - _comps[$cmd]="$func" - _services[$cmd]="$svc" - else - print -u2 "$0: unknown command or service: $svc" - ret=1 - fi - else - print -u2 "$0: invalid argument: $1" - ret=1 - fi - shift - done - - return ret - fi - - # Adding definitions, first get the name of the function name - # and probably do autoloading. - - func="$1" - [[ -n "$autol" ]] && autoload -rUz "$func" - shift - - case "$type" in - widgetkey) - while [[ -n $1 ]]; do - if [[ $# -lt 3 ]]; then - print -u2 "$0: compdef -K requires <widget> <comp-widget> <key>" - return 1 - fi - [[ $1 = _* ]] || 1="_$1" - [[ $2 = .* ]] || 2=".$2" - [[ $2 = .menu-select ]] && zmodload -i zsh/complist - zle -C "$1" "$2" "$func" - if [[ -n $new ]]; then - bindkey "$3" | IFS=$' \t' read -A opt - [[ $opt[-1] = undefined-key ]] && bindkey "$3" "$1" - else - bindkey "$3" "$1" - fi - shift 3 - done - ;; - key) - if [[ $# -lt 2 ]]; then - print -u2 "$0: missing keys" - return 1 - fi - - # Define the widget. - if [[ $1 = .* ]]; then - [[ $1 = .menu-select ]] && zmodload -i zsh/complist - zle -C "$func" "$1" "$func" - else - [[ $1 = menu-select ]] && zmodload -i zsh/complist - zle -C "$func" ".$1" "$func" - fi - shift - - # And bind the keys... - for i; do - if [[ -n $new ]]; then - bindkey "$i" | IFS=$' \t' read -A opt - [[ $opt[-1] = undefined-key ]] || continue - fi - bindkey "$i" "$func" - done - ;; - *) - # For commands store the function name in the - # associative array, command names as keys. - while (( $# )); do - if [[ "$1" = -N ]]; then - type=normal - elif [[ "$1" = -p ]]; then - type=pattern - elif [[ "$1" = -P ]]; then - type=postpattern - else - case "$type" in - pattern) - if [[ $1 = (#b)(*)=(*) ]]; then - _patcomps[$match[1]]="=$match[2]=$func" - else - _patcomps[$1]="$func" - fi - ;; - postpattern) - if [[ $1 = (#b)(*)=(*) ]]; then - _postpatcomps[$match[1]]="=$match[2]=$func" - else - _postpatcomps[$1]="$func" - fi - ;; - *) - if [[ "$1" = *\=* ]]; then - cmd="${1%%\=*}" - svc=yes - else - cmd="$1" - svc= - fi - if [[ -z "$new" || -z "${_comps[$1]}" ]]; then - _comps[$cmd]="$func" - [[ -n "$svc" ]] && _services[$cmd]="${1#*\=}" - fi - ;; - esac - fi - shift - done - ;; - esac - else - # Handle the `-d' option, deleting. - - case "$type" in - pattern) - unset "_patcomps[$^@]" - ;; - postpattern) - unset "_postpatcomps[$^@]" - ;; - key) - # Oops, cannot do that yet. - - print -u2 "$0: cannot restore key bindings" - return 1 - ;; - *) - unset "_comps[$^@]" - esac - fi -} - -# Now we automatically make the definition files autoloaded. - -typeset _i_wdirs _i_wfiles - -_i_wdirs=() -_i_wfiles=() - -autoload -RUz compaudit -if [[ -n "$_i_check" ]]; then - typeset _i_q - if ! eval compaudit; then - if [[ -n "$_i_q" ]]; then - if [[ "$_i_fail" = ask ]]; then - if ! read -q \ -"?zsh compinit: insecure $_i_q, run compaudit for list. -Ignore insecure $_i_q and continue [y] or abort compinit [n]? "; then - print -u2 "$0: initialization aborted" - unfunction compinit compdef - unset _comp_dumpfile _comp_secure compprefuncs comppostfuncs \ - _comps _patcomps _postpatcomps _compautos _lastcomp - - return 1 - fi - fi - fpath=(${fpath:|_i_wdirs}) - (( $#_i_wfiles )) && _i_files=( "${(@)_i_files:#(${(j:|:)_i_wfiles%.zwc})}" ) - (( $#_i_wdirs )) && _i_files=( "${(@)_i_files:#(${(j:|:)_i_wdirs%.zwc})/*}" ) - fi - typeset -g _comp_secure=yes - fi -fi - -# Make sure compdump is available, even if we aren't going to use it. -autoload -RUz compdump compinstall - -# If we have a dump file, load it. - -_i_done='' - -if [[ -f "$_comp_dumpfile" ]]; then - if [[ -n "$_i_check" ]]; then - IFS=$' \t' read -rA _i_line < "$_comp_dumpfile" - if [[ _i_autodump -eq 1 && $_i_line[2] -eq $#_i_files && - $ZSH_VERSION = $_i_line[4] ]] - then - builtin . "$_comp_dumpfile" - _i_done=yes - elif [[ _i_why -eq 1 ]]; then - print -nu2 "Loading dump file skipped, regenerating" - local pre=" because: " - if [[ _i_autodump -ne 1 ]]; then - print -nu2 $pre"-D flag given" - pre=", " - fi - if [[ $_i_line[2] -ne $#_i_files ]]; then - print -nu2 $pre"number of files in dump $_i_line[2] differ from files found in \$fpath $#_i_files" - pre=", " - fi - if [[ $ZSH_VERSION != $_i_line[4] ]]; then - print -nu2 $pre"zsh version changed from $_i_line[4] to $ZSH_VERSION" - fi - print -u2 - fi - else - builtin . "$_comp_dumpfile" - _i_done=yes - fi -elif [[ _i_why -eq 1 ]]; then - print -u2 "No existing compdump file found, regenerating" -fi -if [[ -z "$_i_done" ]]; then - typeset -A _i_test - - for _i_dir in $fpath; do - [[ $_i_dir = . ]] && continue - (( $_i_wdirs[(I)$_i_dir] )) && continue - for _i_file in $_i_dir/^([^_]*|*~|*.zwc)(N); do - _i_name="${_i_file:t}" - (( $+_i_test[$_i_name] + $_i_wfiles[(I)$_i_file] )) && continue - _i_test[$_i_name]=yes - IFS=$' \t' read -rA _i_line < $_i_file - _i_tag=$_i_line[1] - shift _i_line - case $_i_tag in - (\#compdef) - if [[ $_i_line[1] = -[pPkK](n|) ]]; then - compdef ${_i_line[1]}na "${_i_name}" "${(@)_i_line[2,-1]}" - else - compdef -na "${_i_name}" "${_i_line[@]}" - fi - ;; - (\#autoload) - autoload -rUz "$_i_line[@]" ${_i_name} - [[ "$_i_line" != \ # ]] && _compautos[${_i_name}]="$_i_line" - ;; - esac - done - done - - # If autodumping was requested, do it now. - - if [[ $_i_autodump = 1 ]]; then - compdump - fi -fi - -# Rebind the standard widgets -for _i_line in complete-word delete-char-or-list expand-or-complete \ - expand-or-complete-prefix list-choices menu-complete \ - menu-expand-or-complete reverse-menu-complete; do - zle -C $_i_line .$_i_line _main_complete -done -zle -la menu-select && zle -C menu-select .menu-select _main_complete - -# If the default completer set includes _expand, and tab is bound -# to expand-or-complete, rebind it to complete-word instead. -bindkey '^i' | IFS=$' \t' read -A _i_line -if [[ ${_i_line[2]} = expand-or-complete ]] && - zstyle -a ':completion:' completer _i_line && - (( ${_i_line[(i)_expand]} <= ${#_i_line} )); then - bindkey '^i' complete-word -fi - -unfunction compinit compaudit -autoload -RUz compinit compaudit - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinstall b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinstall deleted file mode 100644 index 2e4b2f4e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/compinstall +++ /dev/null @@ -1,2013 +0,0 @@ -# Configure the completion system. - -emulate -L zsh -setopt extendedglob - -zmodload -F zsh/files b:zf_ln || return 1 - -local key -local compcontext=-default- - -__ci_tidyup() { - unfunction -m __ci_\* 2>/dev/null - unfunction compinstall - autoload -Uz compinstall -} - -__ci_newline() { - read -k \ - key"?${1:---- Hit newline to continue or \`q' to exit without saving --- }" - print - if [[ $key = [qQ] ]]; then - print "compinstall aborted." - __ci_tidyup - return 1 - else - return 0 - fi -} - -typeset startline='# The following lines were added by compinstall' -typeset endline='# End of lines added by compinstall' -typeset ifile line fpath_line compinit_args opt detect basic line2 -typeset -A styles -typeset match mbegin mend warn_unknown warn_old warn_comment output -integer lines_found - -while getopts "do" opt; do - case $opt in - (d) - # Detect an existing compinstall setup. - detect=1 - ;; - - (o) - # Output basic setup information only. - basic=1 - ;; - esac -done - -# -# Check the user's .zshrc, if any. -# -# This relies on the stuff we find being only minimally edited from -# the stuff we originally saved. A better way of doing this would -# almost certainly be to use the style mechanism directly: save the -# current styles in a variable, delete all styles, read in and evaluate -# any styles found, manipulate styles directly using zstyle, write out -# using zstyle -L, and if necessary restore the original styles. One -# day I may even do that. -# - -__ci_test_ifile() { - [[ -f $1 ]] && grep "$endline" $1 >/dev/null 2>&1 -} - -local foundold=false -if zstyle -s :compinstall filename ifile && - __ci_test_ifile $ifile; then - foundold=true -else - ifile=${ZDOTDIR:-~}/.zshrc - if __ci_test_ifile ${ZDOTDIR:-~}/.compinstall; then - ifile=${ZDOTDIR:-~}/.compinstall - foundold=true - elif __ci_test_ifile $ifile; then - foundold=true - fi -fi - - -if [[ -n $detect ]]; then - __ci_tidyup - [[ $foundold = true ]] - return -fi - - -__ci_output() { - print -r "$startline" - [[ -n $output ]] && print -r "$output" - if [[ -n $ifile ]]; then - line="zstyle :compinstall filename ${(qq)ifile}" - print -r "$line" - eval "$line" - fi - - [[ -n $fpath_line ]] && print -r "$fpath_line" - - print -r " -autoload -Uz compinit -compinit${compinit_args:+ $compinit_args}" - - print -r "$endline" -} - - -if [[ -n $basic ]]; then - __ci_output - __ci_tidyup - return -fi - -local newifile=$ifile -if [[ $foundold = true ]]; then - if [[ $newifile != [~/]* ]]; then - newifile=${ZDOTDIR:-~}/$newifile - print "[Existing completion definition file is not absolute path: -updating to $newifile]" - fi - print "I have found completion definitions in $newifile. -If you want me to read these, just hit return. Otherwise, edit the file -name to look for definitions somewhere else, or delete the whole line -in order not to use existing definitions." - vared -ch -p 'file> ' newifile - if [[ -n $newifile && $newifile != [/~]* ]]; then - newifile=$PWD/$newifile - print "[Not absolute path: updating to $newifile]" - fi - [[ -z $newifile || ! -f $newifile ]] && foundold=false -else - print "I haven't found any existing completion definitions. -If you have some already defined by compinstall, edit the name of the -file where these can be found. Note that this will only work if they -are exactly the form in which compinstall inserted them. If you leave -the line as it is, or empty, I won't search." - while true; do - vared -ch -p 'file> ' newifile || break - if [[ -n $newifile && $newifile != [/~]* ]]; then - newifile=$PWD/$newifile - print "[Not absolute path: updating to $newifile]" - fi - if [[ -n $newifile && $ifile != $newifile ]]; then - if __ci_test_ifile $newifile; then - foundold=true - break - fi - print "I couldn't find any definitions there. Edit a new filename, or -leave the line blank to ignore it." - else - break - fi - done -fi -ifile=${~newifile} - -if [[ $foundold = true ]]; then - sed -n "/^[ ]*$startline/,/^[ ]*$endline/p" $ifile | - # We can't use the default read behaviour to handle continuation lines - # since it messes up internal backslashes. - while read -r line; do - # detect real continuation backslashes by checking there are an - # odd number together. i think this is reliable since the only - # other way of quoting a backslash involves following it with - # a closing quote. - while [[ $line = *\\ ]]; do - line2=${(M)line%%\\##} - (( ${#line2} & 1 )) || break - read -r line2 || break - line="${line[1,-2]}$line2" - done - (( lines_found++ )) - if [[ $line = *'$fpath'* ]]; then - fpath_line=$line - if [[ $line != *\) ]]; then - while read -r line; do - fpath_line="$fpath_line -$line" - [[ $line = *\) ]] && break - done - fi - elif [[ $line = (#b)[[:blank:]]#zstyle[[:blank:]]##(\'[^\']#\')\ -[[:blank:]]##([^[:blank:]]##)[[:blank:]]##(*) ]]; then - styles[$match[2]]="${styles[$match[2]]:+${styles[$match[2]]} -}${(Q)match[1]} -${match[3]}" - elif [[ $line = [[:blank:]]#compconf* ]]; then - warn_old=1 - elif [[ $line == $startline || $line == $endline ]]; then - # no-op - elif [[ $line = [[:blank:]]#\#* ]]; then - warn_comment=1 - elif [[ $line = [[:blank:]]#compinit[[:blank:]]##(#b)([^[:blank:]]*) ]] - then - compinit_args=$match[1] - elif [[ $line != [[:blank:]]# && - $line != [[:blank:]]#'autoload '*' compinit' && - $line != [[:blank:]]#compinit && - $line != [[:blank:]]#zstyle[[:blank:]]#:compinstall* ]]; then - warn_unknown="${warn_unknown:+$warn_unknown -}$line" - fi - done -fi - -# -# Print warnings about what we found in .zshrc. -# - -if [[ -n $warn_old ]]; then - print "\ -WARNING: your configuration appears to contain commands for the 3.1.6 -configuration system. You will have to reconfigure from scratch and the -existing configuration commands will be overwritten. If you wish to preserve -the old commands, you should quit, copy them somewhere else, then rerun -compinstall. Sorry." -elif [[ -n $warn_unknown ]]; then - print "\ -WARNING: your configuration contains bits not understood by compinstall, -which will not be retained (shown below). If you wish to retain these, you -should quit, copy them somewhere else, and then rerun compinstall. - -$warn_unknown" -elif [[ -n $warn_comment ]]; then - print "All the comments in your configuration section will be lost. -If you want to keep them, you should copy them somewhere else first." -elif (( ! $lines_found )); then - print "Starting a new completion configuration from scratch." - if [[ -n $ifile && ! -d $ifile ]]; then - print -n "This will be " - if [[ ! -f $ifile ]]; then - print "written to the new file $ifile." - elif [[ ! -w $ifile ]]; then - print "written to the file ~/.compinstall for copying to $ifile." - ifile=$HOME/.compinstall - else - print "appended to the file $ifile. It is up to you to ensure -that these lines are actually executed. They will not be if your .zshrc -usually returns before the end." - fi - fi -fi -print "Note that you will be given a chance to save the new setup -somewhere else at the end." - - -__ci_newline || return 1 - - -typeset d compdir subdirs lines - -# -# Make sure we have the completion functions in $fpath. -# - -__ci_set_compdir() { - for d in $*; do - # If we find both the functions more than once, assume the later - # one is the standard set. - if [[ -f $d/compinit && -f $d/compdump ]]; then - compdir=$d - fi - done -} - -__ci_set_compdir $fpath - -if [[ -d $compdir/Base/Core ]]; then - subdirs=2 -elif [[ -d $compdir/Base ]]; then - subdirs=1 - ### compdir=${compdir:h} -fi - -if [[ -z $compdir ]]; then - # Start up a new zsh and get its default fpath. If some swine has - # tinkered with this in /etc/zshenv we're out of luck. - lines=(${(f)"$(zsh -fc 'print -l $ZSH_VERSION $fpath')"}) - line=$lines[1] - shift lines - # If the zsh in that path isn't right, maybe the user's shell is elsewhere. - if [[ $line != $ZSH_VERSION && -x $SHELL ]]; then - lines=(${(f)"$($SHELL -fc 'print -l $ZSH_VERSION $fpath' 2>/dev/null)"}) - line=$lines[1] - shift lines - fi - if [[ $line != $ZSH_VERSION ]]; then - print "Hmmm, the zsh in your path is not what's running, nor is \$SHELL. -That's bad. -" - fi - __ci_set_compdir $lines - if [[ -n $compdir ]]; then - print "\ -I've found the completion directories and will add them to your \$fpath, -but they should already be there at shell startup, so something (probably -an unconditional assignment in a startup file) is taking them out. You -might want to check this, although what I'm doing should work." - if [[ -n $fpath_line ]]; then - print "\ - -What's more, there is already an \$fpath assignment in your completion -setup. This gives me cause for concern. I will override this, but don't -be surprised if it doesn't go according to plan. If you have not -initialised completion in this shell, you should do so, then run -compinstall again." - fi - fi - if [[ $subdirs = 2 ]]; then - fpath_line=($compdir/[A-Z]*/[A-Z]*) - fpath_line="fpath=($fpath ${(F)fpath_line})" - elif [[ -n $subdirs ]]; then - fpath_line=($compdir/[A-Z]*) - fpath_line="fpath=($fpath ${(F)fpath_line})" - fi -else - if [[ $subdirs = 2 ]]; then - print "Completion directories $compdir/*/* -are already in your \$fpath, good." - elif [[ -n $subdirs ]]; then - print "Completion directories $compdir/* -are already in your \$fpath, good." - else - print "Completion directory $compdir -is already in your \$fpath, good." - fi - if [[ -n $fpath_line ]]; then - print "I shall keep the existing \$fpath=( ... ) assignment." - fi -fi - -if [[ -z $compdir ]]; then - print "\ -The zsh in your path doesn't seem to have completion directories in the -function autoload path (\$fpath). This suggests the shell wasn't installed -for completion. If you want to use it, you will need to locate all the -completion functions yourself and install them in your \$fpath. I will -continue, but don't expect this to have much effect until you do. - -If you are planning to continue using the old compctl system for -completion, compinstall won't do you any good anyway." -fi - -__ci_newline || return 1 - - -# -# Code for changing styles -# - -typeset defcontext=":completion:*" -typeset curcontext=$defcontext - -# -# Utility functions -# - -# -# Get the style $1 for $curcontext into $2. -# -__ci_get_this_style() { - typeset -A tassoc - local style=$1 scalar=$2 - - tassoc=(${(f)styles[$style]}) - eval "$scalar=\${tassoc[\$curcontext]}" -} - -# -# Set the style $1 for $curcontext using scalar $2 for the value for this -# context. If $2 is null, delete the context (this may not be correct for -# all styles). Don't do any extra quotation. -# $2 gives the name of the scalar for symmetry with __ci_get_this_style. -# -__ci_set_this_style() { - local style=$1 scalar=$2 k - typeset -A tassoc - tassoc=(${(f)styles[$style]}) - - if [[ -n ${(P)scalar} ]]; then - tassoc[$curcontext]=${(P)scalar} - else - unset "tassoc[$curcontext]" - fi - - styles[$style]= - for k in ${(ko)tassoc}; do - styles[$style]="${styles[$style]:+$styles[$style] -}$k -${tassoc[$k]}" - done -} - -# -# Functions displaying menus -# - -__ci_change_context() { - clear - print "\ - *** compinstall: change context *** - -The context tells the completion system under what circumstances your -value will be used. It has this form: - :completion:<function-name>:<completer>:<command>:<argument>:<tag> -See the documentation for more detail on each of these components. The -default context \`$defcontext' matches everywhere in completion, unless you -define a more specific pattern which matches the completion context being -used. \`More specific' means either a string instead of a pattern, or a -longer pattern instead of a shorter pattern. - -Edit a new context, or leave the line blank to reset the context to the -default value. Note that you do not require quotes around the context, -which will automatically be added later. Line editing and history are -available. -" - - vared -eh -p 'context> ' curcontext - [[ -z $curcontext ]] && curcontext=$defcontext -} - - -__ci_toggle_completer() { - # used locally within __ci_do_completers - if [[ -n $completers[$1] ]]; then - completers[$1]= - else - completers[$1]=1 - fi -} - -__ci_do_minor_completer_options() { - # Set the options for the minor completers. - local key cond word olist omenu moriginal aspace tmparr - __ci_get_this_style condition cond - [[ -n $cond ]] && cond=${(Q)cond} - __ci_get_this_style word word - __ci_get_this_style old-list olist - __ci_get_this_style old-menu omenu - __ci_get_this_style match-original moriginal - __ci_get_this_style add-space aspace - - while true; do - - # insert-unambiguous can be handled somewhere else. - clear - print "\ - *** compinstall: minor completer options *** - -Current context: $curcontext - -l. Set options for _list: condition for delay and comparison. -o. Set options for _oldlist: when to keep old list. -m. Set options for _match: whether to assume a \`*' at the cursor. -p. Set options for _prefix: whether to add a space before the suffix. - -q. Return to the previous menu without saving. -0. Done setting completer options. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - [lL]) print "\ -You can set a condition under which the _list completer will delay completion -until the second keypress. It should evaluate to a number; a non-zero value -turns this behaviour on. It can include parameters, in particular NUMERIC -to refer to a numeric argument. For example, \`NUMERIC != 1' forces the -delay unless you give an argument 1 to the command. Leave it blank to -assume the condition is true." - vared -eh -c -p 'condition> ' cond - print -n " -_list will usually compare the contents of the entire line with its previous -contents to decided if it has been changed since the last keypress. You -can instead perform this comparison on just the current word, ignoring -the rest of the command line. Do you want to do this? (y/n) [n] " - word= - read -q key && word=true - print - ;; - [oO]) print "\ -_oldlist can keep a generated completion list for reshowing in the usual -way, e.g. with ^D, even if the list was generated by some special completion -command. The default behaviour of _oldlist is to show this list if it was -not already visible, otherwise to generate the standard completion listing, -but you can force it always to be shown, or make it never shown. -Alternatively, you can specify a list of completers for which _oldlist will -be used. Choose: - -d. Default behaviour. -a. Always show old list. -n. Never show old list. -s. Specify a list of completers. -" - - while true; do - read -k key'?--- Hit selection --- ' - print - case $key in - [dD]) olist= - ;; - [aA]) olist=always - ;; - [nN]) olist=never - ;; - [sS]) olist= - tmparr=(_complete _approximate _correct _match _expand) - while true; do - clear - print "\ - *** compinstall: choosing completers to have _oldlist behaviour *** - -Type any of: - -1. _complete -2. _approximate -3. _correct -4. _match -5. _expand - -or 0 to end, or - to delete the last choice." - if [[ -n $olist ]]; then - print "\ -Current choices: - $olist" - fi - read -k key'?--- Hit selection --- ' - print - case $key in - 0) break - ;; - -) olist=(${olist[1,-2]}) - ;; - [1-5]) olist=($olist $tmparr[$key]) - ;; - esac - done - ;; - *) print "Type one of d, a, n or s." - continue - ;; - esac - break - done - - print -n " -_oldlist can keep the old completion list for use in menu completion, e.g. by -repeatedly hitting tab, even if the list was generated by some special -completion command. This is the default behaviour of _oldlist, but -you can turn it off, so that hitting tab would use the standard completion -list. - -Do you want to turn it off? (y/n) [n] " - omenu= - read -q key && omenu=false - ;; - [mM]) print "\ -The _match completer will usually assume there is a \`*' at the cursor -position when trying pattern matches. For example, \`f*n<TAB>e' would -be able to complete to \`filename', not just to patterns matching \`f*ne'. -(Note that this assumes you have the option COMPLETE_IN_WORD set, else all -completion takes place at the end of the word.) You can tell _match not -to assume there is a \`*', or to try first without the \`*', then with it. -Type one of: - -a. Always assume \`*' at cursor position. -n. Never assume \`*' at cursor position. -w. Try without the \`*', then with it if that fails." - while true; do - read -k key'?--- Hit selection --- ' - print - case $key in - a) moriginal= - ;; - n) moriginal=only - ;; - w) moriginal=both - ;; - *) print "Type one of a, n or w." - continue - ;; - esac - break - done - ;; - [pP]) print -n "\ -The _prefix completer completes only what is behind the cursor, ignoring -completely what is after, even if there is no space at the cursor position. -However, you can force it to add a space between the resulting completion -and the part ignored. For example, \`f<TAB>bar' might expand to \`filebar' -without this, and to \`file bar' with it. Do wish _prefix to add the -space? (y/n) [n] " - aspace= - read -q key && aspace=true - ;; - [qQ]) return 1 - ;; - esac - - done - - [[ -n $cond && $cond != [[:alnum:]]## ]] && cond=${(qq)cond} - __ci_set_this_style condition cond - __ci_set_this_style word word - __ci_set_this_style old-list olist - __ci_set_this_style old-menu omenu - __ci_set_this_style match-original moriginal - __ci_set_this_style add-space aspace - - return 0 -} - -__ci_do_minor_completers() { - # Set the minor completers not handled by __ci_do_completers. - # Called within __ci_do_completers, so inherits the environment. - # It's only divided off to keep the menus short. - - local key - - while true; do - - clear - print "\ - *** compinstall: minor completer menu *** - -Current context: $curcontext - -The following completers are available. Those marked \`(*)' are already -set for the context shown above. Note none of these are required for -normal completion behaviour. - -1. ${${completers[_ignored]:+(*)}:- } _ignored: $ckeys[_ignored] -2. ${${completers[_list]:+(*)}:- } _list: $ckeys[_list] -3. ${${completers[_oldlist]:+(*)}:- } _oldlist: $ckeys[_oldlist] -4. ${${completers[_match]:+(*)}:- } _match: $ckeys[_match] -5. ${${completers[_prefix]:+(*)}:- } _prefix: $ckeys[_prefix] - -o. Set options for the completers above. -q. Return without saving. -0. Done setting minor completers. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_toggle_completer _ignored - if [[ -n $completers[_ignored] ]]; then - print "\ -I am inserting the \`ignored' completer immediately after normal -completion. You can move it later in the list by hand, if you prefer, so -that ignored completions are only used after, for example, approximations. -To do this, edit $ifile, look for the zstyle ... completers line, and -move \`_ignored' to where you want it. This will be retained if you use -compinstall again provided you don't go into the completers menu. -" - # TODO: we could be more careful about keeping the user's - # order, particularly with multiple completers. - read -k key'?--- Hit any key to continue --- ' - print - fi - ;; - 2) __ci_toggle_completer _list - ;; - 3) __ci_toggle_completer _oldlist - ;; - 4) __ci_toggle_completer _match - ;; - 5) __ci_toggle_completer _prefix - ;; - o) __ci_do_minor_completer_options - ;; - q) return 1 - ;; - esac - - done - - return 0 -} - -__ci_do_completer_options() { - # Set options for the main completers; called from __ci_do_completers. - - local maxe errors prompt glob subst compl cond - - __ci_get_this_style max-errors errors - __ci_get_this_style prompt prompt - [[ -n $prompt ]] && prompt=${(Q)prompt} - __ci_get_this_style glob glob - [[ -n $glob ]] && glob=${(Q)glob} - __ci_get_this_style substitute subst - [[ -n $subst ]] && subst=${(Q)subst} - __ci_get_this_style completions compl - [[ -n $compl ]] && compl=${(Q)compl} - - while true; do - - clear - print "\ - *** compinstall: completer options *** - -Current context: $curcontext - -The following options are available. Note that these require the relevant -completers to be present, as set in the menu above this one. - -a. Set options for approximation or correction. -e. Set options for expansion. -q. Return without saving. - -0. Done setting options. -" - - read -k key'?--- Hit selection --- ' - print - - # We handle approximation and correction together to avoid having - # to be too particular about context. - case $key in - a) clear - print "\ -Approximation and correction can correct the errors in what you have typed, -up to a maximum number of errors which you can specify. Each \`error' -is the omission of a character, the addition of a superfluous character, -the substitution of one character by an incorrect one, or transposition of -two different characters. - -Current context: $curcontext - -To have different values for approximation and correction, you should -change the context appropriately. For approximation, use -\`:completion:*:approximate:*' and for correction use -\`:completion:*:correct:*'. - -Enter maximum number of errors allowed: -" - maxe= - while true; do - vared -eh -c -p "number> " maxe - [[ $maxe = [[:digit:]]## ]] && break - print "Please enter a number" - maxe= - done - while true; do - print "\nSelect behaviour of numeric prefix. - -1. Numeric prefix is not used by approximation or completion. -2. Numeric prefix, if provided, gives max number of errors allowed, - replacing the number you just typed for that one completion. -3. Numeric prefix, if provided, prevents approximation or completion - from taking place at all for that one completion. -" - read -k -- key'?--- Hit selection --- ' - print - [[ $key = [123] ]] || continue - case $key in - 2) maxe="$maxe numeric" - ;; - 3) maxe="$maxe not-numeric" - ;; - esac - print " -You can edit a prompt which will appear above lists of corrections. The -string \`%e' inside the prompt will be replaced with the number of errors -found. Leave blank for no prompt. Quotation marks will be added -automatically." - vared -eh -c -p "prompt> " prompt - break - done - errors=$maxe - ;; - e) while true; do - clear - print "\ -The _expand completer can be tuned to perform any of globbing (filename -generation), substitution (anything with a \`\$' or backquote), or -normal completion (which is useful for inserting all possible completions -into the command line). For each feature, a 1 turns it on, while a 0 turns -it off; if the feature is unset, that expansion will *not* be performed. - -You can also give more complicated mathematical expressions, which can use -the parameter NUMERIC to refer to the numeric argument. For example, the -expression \`NUMERIC == 2' means that the expansion takes effect if you -type ESC-2 (Emacs mode) or 2 (Vi command mode) before the expansion. -Quotes will be added automatically as needed. - -g. Set condition to perform globbing: ${glob:-unset} -s. Set condition to perform substitution: ${subst:-unset} -c. Set condition to perform completion: ${compl:-unset} -0. Done setting conditions (will not be saved until you leave options) -" - read -k key'?--- Enter selection --- ' - print - - case $key in - g) vared -eh -c -p 'globbing condition> ' glob - ;; - s) vared -eh -c -p 'substitution condition> ' subst - ;; - c) vared -eh -c -p 'completion condition> ' compl - ;; - esac - - [[ $key = 0 ]] && break - - done - ;; - q) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - __ci_set_this_style max-errors errors - [[ -n $prompt ]] && prompt=${(qq)prompt} - __ci_set_this_style prompt prompt - [[ -n $glob && $glob != [[:alnum:]]## ]] && glob=${(qq)glob} - __ci_set_this_style glob glob - [[ -n $subst && $subst != [[:alnum:]]## ]] && subst=${(qq)subst} - __ci_set_this_style substitute subst - [[ -n $compl && $compl != [[:alnum:]]## ]] && compl=${(qq)compl} - __ci_set_this_style completions compl - - key= - return 0 -} - -__ci_do_completers() { - # Set the completers for the current context. - # This is mostly done via a series of toggles. - - typeset -A completers ckeys - local c clist newc - __ci_get_this_style completer newc - for c in ${=newc}; do - completers[$c]=1 - done - if (( ${#completers} == 0 )); then - completers[_complete]=1 - completers[_ignored]=1 - fi - clist=(_list _oldlist _menu _expand _complete _ignored - _match _correct _approximate _prefix) - - # TODO: these are a bit brief, so could provide some more detailed help. - ckeys=(_complete 'Basic completion.' - _approximate -'Approximate completion: completion with correction of existing word.' - _correct -'Correction: correct existing word, no completion.' - _expand -'Expansion: use globbing and parameter substitution, if possible.' - - _ignored -'Use patterns that were previously ignored if no matches so far.' - _list -'Only list matches until the second time you hit TAB.' - _oldlist -'Keep matches generated by special completion functions.' - _match -'If completion fails, retry with pattern matching.' - _prefix -'If completion fails, retry ignoring the part after the cursor.' - ) - - # TODO: You'll need to handle the bindkey to make _expand work. - # TODO: _prefix completer should make sure completeinword is set. - - while true; do - - clear - print "\ - *** compinstall: completer menu *** - -Current context: $curcontext - -The following completers are available. Those marked \`(*)' are already -set for the context shown above. If none are selected, the completers will -not be set for this context at all. - -1. ${${completers[_complete]:+(*)}:- } $ckeys[_complete] -2. ${${completers[_approximate]:+(*)}:- } $ckeys[_approximate] -3. ${${completers[_correct]:+(*)}:- } $ckeys[_correct] -4. ${${completers[_expand]:+(*)}:- } $ckeys[_expand] - -o. Set options for the completers above. -m. Set completers that modify the behaviour of the four main ones above. -q. Return without saving. -0. Done setting completers. -" - read -k key'?--- Hit selection --- ' - print - - case $key in - 1) __ci_toggle_completer _complete - ;; - 2) __ci_toggle_completer _approximate - ;; - 3) __ci_toggle_completer _correct - ;; - 4) __ci_toggle_completer _expand - ;; - [mM]) __ci_do_minor_completers || return - continue - ;; - [oO]) __ci_do_completer_options || return - continue - ;; - q) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - newc= - for c in $clist; do - [[ -n $completers[$c] ]] && newc="${newc:+$newc }$c" - done - [[ -z $newc ]] && newc="''" - __ci_set_this_style completer newc -} - -__ci_toggle_matcher() { - # Toggle on/off the matcher in array $1 for element $2 - if [[ ${${(P)1}[$2]} = ' ' ]]; then - # toggle on - eval "${1}[$2]=$2" - if [[ $1 = n* ]]; then - # no matcher turned on, turn off the others - c_list[$2]=' ' - C_list[$2]=' ' - p_list[$2]=' ' - s_list[$2]=' ' - else - # something else turned on, turn off no matcher - n_list[$2]=' ' - fi - return 0 - else - # toggle off - eval "${1}[$2]=' '" - if [[ $c_list[$2] == ' ' && $C_list[$2] == ' ' && \ - $p_list[$2] == ' ' && $s_list[$2] == ' ' ]]; then - a_or_r[$2]=' ' - fi - return 1 - fi -} - -__ci_do_matchers() { - # Set matchers via the matcher-list style. - # We just offer a pre-programmed set of possible matchers, but these - # cover the most common usages for matchers in a general context. - # More specific use of matchers is usually covered by completion functions. - - local mlist m_ci m_pw m_sub c_list C_list p_list s_list pw_seps key key2 elt - local pw_dstar a_or_r i - integer eltcnt lastnz - - __ci_get_this_style matcher-list mlist - # $mlist is the once and future list of matchers. We don't quote it - # until the end; the eval effectively does de-quoting. - eval "mlist=($mlist)" - # ?_list say whether the four possible matchers are set for passes 1, - # 2, 3, 4, in an easy-to-read manner, i.e. the Nth part of the string - # is one of N (on) or space (off). - a_or_r=" " # replace by default - n_list=" " # null completion, i.e. standard - c_list=" " # case match one way - C_list=" " # case match both ways - p_list=" " # partial word completion - s_list=" " # substring completion - # $pw_seps gives the separators used for partial-word completion - # by element of the matcher list; these can be edited separately. - pw_seps=('._-' '._-' '._-' '._-') - pw_dstar=('' '' '' '') - - # See what's in the matcher initially. If these have been edited, - # we're in trouble, but that's pretty much true of everything. - for (( eltcnt = 1; eltcnt <= $#mlist; eltcnt++ )); do - [[ $mlist[eltcnt] == "+"* ]] && a_or_r[$eltcnt]='+' - [[ -z $mlist[$eltcnt] ]] && n_list[$eltcnt]=$eltcnt - # Accept the old form of lower/upper correspondence, but we'll - # output the new one instead. - [[ $mlist[$eltcnt] = *"m:{a-z}={A-Z}"* ]] && c_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{[:lower:]}={[:upper:]}"* ]] && - c_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{a-zA-Z}={A-Za-z}"* ]] && C_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{[:lower:][:upper:]}={[:upper:][:lower:]}"* ]] && - C_list[$eltcnt]=$eltcnt - # For partial word stuff, we use backreferences to find out what - # the set of separators was. - if [[ $mlist[$eltcnt] = (#b)*"r:|["([^\]]#)"]=*"#" r:|=*"* ]]; then - p_list[$eltcnt]=$eltcnt - pw_seps[$eltcnt]=${match[1]} - [[ $mlist[$eltcnt] = *"=**"* ]] && pw_dstar[$eltcnt]='*' - fi - # Just look for the left matcher for substring, since the right matcher - # might have been handled as part of a partial-word spec. - [[ $mlist[$eltcnt] = *"l:|=*"* ]] && s_list[$eltcnt]=$eltcnt - done - - while true; do - clear - print "\ - *** compinstall: matcher menu *** - -\`Matchers' compare the completion code with the possible matches in some -special way. Numbers in parentheses show matchers to be tried and the order. -The same number can be assigned to different matchers, meaning apply at the -same time. Omit a sequence number to try normal matching at that point. -A \`+' in the first line indicates the element is added to preceding matchers -instead of replacing them; toggle this with \`t'. You don't need to set -all four, or indeed any matchers --- then the style will not be set. - - ($a_or_r)\ - \`+' indicates add to previous matchers, else replace -n. ($n_list)\ - No matchers; you may want to try this as the first choice. -c. ($c_list)\ - Case-insensitive completion (lowercase matches uppercase) -C. ($C_list)\ - Case-insensitive completion (lower/uppercase match each other) -p. ($p_list)\ - Partial-word completion: expand 'f.b' to 'foo.bar', etc., in one go. - You can choose the separators (here \`.') used each time. -s. ($s_list)\ - Substring completion: complete on substrings, not just initial - strings. Warning: it is recommended this not be used for element 1. - -t. Toggle replacing previous matchers (\` ' at top) or add (\`+') -q. Return without saving. -0. Done setting matchers. -" - - read -k key'?--- Hit selection --- ' - print - - if [[ $key = [nNcCpPsS] ]]; then - while true; do - read -k key2'?Set/unset for element number (1234)? ' - print - [[ $key2 = [1234] ]] && break - print "Only 1, 2, 3 and 4 are handled." - done - fi - - case $key in - [nN]) __ci_toggle_matcher n_list $key2 - if [[ $n_list[$key2] != ' ' ]]; then - fi - ;; - c) __ci_toggle_matcher c_list $key2 - ;; - C) __ci_toggle_matcher C_list $key2 - ;; - [pP]) if __ci_toggle_matcher p_list $key2; then - print "\ -Edit the set of characters which terminate partial words. Typically -these are punctuation characters, such as \`.', \`_' and \`-'. -The expression will automatically be quoted. -" - vared -eh -p 'characters> ' -c 'pw_seps['$key2']' - # Paranoia: we don't know if there's a ']' in that string, - # which will wreck the spec unless it's at the start. Other - # quotes are OK, since they are picked up at the ${(qq)...} - # step. - if [[ $pw_seps[$key2] = *']'* ]]; then - pw_seps[$key2]="]${pw_seps[$key2]//\\\]}" - fi - print -n " -You can allow the partial-word terminators to be matched in the pattern, -too: then for example \`c.u' would expand to \`comp.source.unix', whereas -usually you would need to type an extra intervening dot. Do you wish the -terminators to be matched in this way? (y/n) [n] " - pw_dstar[$key2]= - read -q key && pw_dstar[$key2]='*' - fi - ;; - [tT]) - read -k key2'?Toggle augment/replace for elements number (1234)? ' - if [[ $key2 == [1234] ]]; then - if [[ $a_or_r[$key2] == ' ' ]]; then - a_or_r[$key2]='+' - else - a_or_r[$key2]=' ' - fi - else - print "Only 1, 2, 3 and 4 are handled." - fi - ;; - [sS]) __ci_toggle_matcher s_list $key2 - ;; - [qQ]) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - # Keep track of the last element which was non-empty; all the rest - # are junked. - lastnz=0 - - # Now we just reverse the first for-loop, looking for set matchers - # and reconstructing the elements of the matcher array. - for (( eltcnt = 1; eltcnt <= 4; eltcnt++ )); do - elt= - [[ $c_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }m:{[:lower:]}={[:upper:]}" - [[ $C_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }m:{[:lower:][:upper:]}={[:upper:][:lower:]}" - [[ $p_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }r:|[${pw_seps[$eltcnt]}]=*${pw_dstar[$eltcnt]}\ - r:|=*${pw_dstar[$eltcnt]}" - if [[ $s_list[$eltcnt] != ' ' ]]; then - if [[ $elt = *"r:|=*"* ]]; then - elt="${elt:+$elt }l:|=*" - else - elt="${elt:+$elt }l:|=* r:|=*" - fi - fi - [[ $a_or_r[$eltcnt] != ' ' ]] && elt="+$elt" - [[ -n $elt || $n_list[$eltcnt] != ' ' ]] && lastnz=$eltcnt - mlist[$eltcnt]=$elt - done - - if (( ! $lastnz )); then - # No matchers set, so just make the style empty: __ci_set_this_style - # will omit it completely. - mlist= - else - # Quote the entire list: this correctly quotes element by element, - # praise be to Sven. - mlist=(${(qq)mlist[1,$lastnz]}) - # Make it a scalar just for safety's sake. - mlist="$mlist" - fi - __ci_set_this_style matcher-list mlist - - return 0 -} - -__ci_do_list_format() { - local key format groupn verbose listp autod haslistp - __ci_get_this_style format format - [[ -n $format ]] && format=${(Q)format} - __ci_get_this_style group-name groupn - __ci_get_this_style verbose verbose - __ci_get_this_style list-prompt listp - [[ -n $listp ]] && haslistp=1 - listp=${(Q)listp} - __ci_get_this_style auto-description autod - [[ -n $autod ]] && autod=${(Q)autod} - - while true; do - clear - print "\ - *** compinstall: order and descriptions in completion lists *** -Type the appropriate number for more information on how this would affect -listings. - -1. Print a message above completion lists describing what is being - completed. - -2. Make different types of completion appear in separate lists. - -3. Make completion verbose, using option descriptions etc. (on by default). - -4. Make single-valued options display the value's description as - part of the option's description. - -q. Return without saving. -0. Done setting options for formatting of completion lists. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -You can set a string which is displayed on a line above the list of matches -for completions. A \`%d' in this string will be replaced by a brief -description of the type of completion. For example, if you set the -string to \`Completing %d', and type ^D to show a list of files, the line -\`Completing files' will appear above that list. Enter an empty line to -turn this feature off. If you enter something which doesn't include \`%d', -then \`%d' will be appended. Quotation will be added automatically. -" - vared -eh -p 'description> ' -c format - if [[ -n $format && $format != *%d* ]]; then - [[ $format = *[[:blank:]] ]] || format="$format " - format="$format%d" - fi - ;; - 2) print "\ -Normally, all possible completions are listed together in a single list, and -if you have set a description with 1) above, the descriptions are listed -together above that. However, you can specify that different types of -completion appear in separate lists; any description appears above its -own list. For example, external commands and shell functions would appear -in separate lists when you are completing a command name. Do you -want to turn this on? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) groupn="''" - ;; - [nN]) groupn= - ;; - esac - ;; - 3) print "By default, completion uses a \`verbose' setting. This -affects different completions in different ways. For example, many -well-known commands have short, uninformative option names; in some cases, -completion will indicate what the options do when offering to complete them. -If you prefer shorter listings you can turn this off. What setting to -you want? -" - while true; do - read -k key'?[v]erbose, [n]ot verbose, [k]eep old setting? ' - print - [[ $key = [vVnNkK] ]] && break - done - case $key in - # might as well be explicit, particularly since it's - # the only way to override an existing `false' value. - [vV]) verbose=true - ;; - [nN]) verbose=false - ;; - esac - ;; - 4) print "\ -Many commands have options which take a single argument. In some cases, -completion is not set up to describe the option even though it has a -description for the argument. You can enter a string containing \`%d', -which will be replaced by the description for the option. For -example, if you enter the string \`specify: %d', and an option -ifile -exists which has an argument whose description is \`input file', then the -description \`specify: input file' will appear when the option itself -is listed. As this long explanation suggests, this is only occasionally -useful. Enter an empty line to turn this feature off. If you enter -something which doesn't include \`%d', then \`%d' will be appended. -Quotation will be added automatically. -" - vared -eh -p 'auto-description> ' -c autod - if [[ -n $autod && $autod != *%d* ]]; then - [[ $autod = *[[:blank:]] ]] || autod="$autod " - autod="$autod%d" - fi - ;; - q) return 1 - ;; - esac - done - - [[ -n $format ]] && format=${(qq)format} - __ci_set_this_style format format - __ci_set_this_style group-name groupn - __ci_set_this_style verbose verbose - [[ -n $autod ]] && autod=${(qq)autod} - __ci_set_this_style auto-description autod -} - -__ci_do_insertion() { - local key insertu original # sort - - __ci_get_this_style insert-unambiguous insertu - __ci_get_this_style original original - - while true; do - clear - print "\ - *** compinstall: options for inserting completions *** - -1. In completers that change what you have already typed, insert any - unambiguous prefix rather than go straight to menu completion. - -2. In completers which correct what you have typed, keep what you - originally typed as one of the list of possible completions. - -q. Return without saving. -0. Done setting options for insertion. -" - read -k key'?-- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -The completers which do pattern matching and correction often alter the -string which is already on the line, in the first case because it was a -pattern and in the second case because what you typed was wrong. -Since the possible completions can bear little or no resemblance to one -another in those cases, so that typing extra characters to resolve the -completion doesn't make much sense, menu completion is usually turned on -straight away to allow you to pick the completion you want. This style -tells completion that if there is a common, unambiguous prefix in this -case, you would prefer that to be inserted rather than going straight -to menu completion. Do you want this? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) insertu=true - ;; - [nN]) insertu=false - ;; - esac - ;; - 2) print "\ -For completers which correct what you have typed, you sometimes want -to keep the original string instead, so if the correction was ambiguous -the original string is always listed as a possible completion. However, -if there was just one completion it is usually accepted. You can -force completion to offer the original string as a possibility even in -this case. Do you want this? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) original=true - ;; - [nN]) original=false - ;; - esac - ;; - [qQ]) return 1 - ;; - esac - - done - - __ci_set_this_style insert-unambiguous insertu - __ci_set_this_style original original - # __ci_set_this_style sort sort - - return 0; -} - - -__ci_do_selection() { - local key listc menu select amenu elt listp selectp haslistp hasselectp - integer num - - __ci_get_this_style list-colors listc - __ci_get_this_style menu menu - __ci_get_this_style list-prompt listp - [[ -n $listp ]] && haslistp=1 - listp=${(Q)listp} - __ci_get_this_style select-prompt selectp - [[ -n $selectp ]] && hasselectp=1 - selectp=${(Q)selectp} - - while true; do - clear - print "\ - *** compinstall: options for colouring and selecting in lists *** - -1. Use coloured lists for listing completions. - -2. Use cursor keys to select completions from completion lists. - -3. Allow scrolling of long selection lists and set the prompt. - -q. Return without saving. -0. Done setting options for insertion. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -Zsh can produce coloured completion listings where different file types -etc. appear in different colours. If you want to tailor that to your -own needs, you will have to edit ~/.zshrc. Here you have the choice of: - -1. Using the default colours. -2. Using the colours already set up for GNU ls via the \$LS_COLORS - environment variable. Note this must be set before the completion - configuration code is executed. -3. Turn colouring off. -0. Leave the setting the way it is. Choose this if you have a custom - setting and you don't want to lose it. -" - while true; do - read -k key'?Enter 1, 2, 3, 0: ' - print - [[ $key = [1230] ]] && break - done - case $key in - 1) listc="''" - ;; - 2) listc='${(s.:.)LS_COLORS}' - ;; - 3) listc= - ;; - esac - ;; - 2) print "\ -If you use zsh's menu completion and the feature that all short completion -lists appear below the line on which you are editing, you can enable -\`menu selection', which lets you pick a completion with the cursor keys: -the choice is highlighted, and hitting return accepts it. Note that -this only happens when you are already using menu completion. This -feature can be set so that it is only enabled when there are a certain -number of completions. Please enter: - -- 0 or 1, to turn this feature on unconditionally -- a higher number to turn this feature on when there are that many - completions -- an \`l' for \`long' to turn it on for listings which don't fit on the - screen. -- an \`ll' for \`long list' to turn it on for completions which don't fit - on the screen, even for commands which only do listing of completions. - This may be combined with a number which will be used in ordinary selection. -- a negative number to turn this feature off -- an empty line to leave the setting the way it is. -" - # Better to parse and display the current setting. - while true; do - vared -eh -p 'value> ' select - [[ -z $select || $select = ((-|)<->|l|<->#ll<->#) ]] && break; - print "Type a number, l, ll, ll<num>, or an empty line." >&2 - done - amenu=(${=menu}) - elt=${amenu[(i)*select*]} - [[ $elt -eq 0 || $elt -gt $#amenu ]] && elt= - case $select in - <->) if [[ -n $elt ]]; then - amenu[$elt]="select=$select" - else - amenu=($amenu "select=$select") - fi - menu="$amenu" - ;; - *ll*) num=${(RS)select##ll} - select="select=long-list" - [[ -n $num ]] && select="$select select=$num" - if [[ -n $elt ]]; then - amenu[$elt]=$select - else - amenu=($amenu $select) - fi - menu="$amenu" - ;; - l#) if [[ -n $elt ]]; then - amenu[$elt]="select=long" - else - amenu=($amenu "select=long") - fi - menu="$amenu" - ;; - -<->) if [[ -n $elt ]]; then - # i never liked the way indexing was done anyway - if [[ $elt -eq 1 ]]; then - amenu=($amenu[$elt+1,-1]) - else - amenu=($amenu[1,$elt-1] $amenu[$elt+1,-1]) - fi - fi - menu="$amenu" - ;; - esac - if [[ $menu = *select* ]]; then - print "\ -You can also set a prompt to use for menu selection when it would scroll -off the screen. Unless this is set, you won't see a prompt, but the feature -is still enabled. - -Edit a prompt below. It can contain \`%l' to show the number of matches -as \`current_number/total_number', \`%p' to show the fraction of -the way down the list, or font-control sequences such as %B, %U, %S and -the corresponding %b, %u, %s; quotes will be added automatically. Delete -the whole line to turn it off. Hit return to keep the current value. -" - [[ -z $hasselectp ]] && - selectp='%SScrolling active: current selection at %p%s' - vared -eh -p 'prompt> ' -c selectp - [[ -z $selectp ]] && hasselectp= - fi - ;; - 3) print "\ -You can make completion lists scroll when they don't fit on the screen. -Note this is different from scrolling in menu selection --- a more basic -pager is used which should work even with fairly stupid terminals. - -To enable this, edit a prompt to show when scrolling is active; an empty -string turns this feature off. It can contain \`%l' to show the number of -matches as \`current_number/total_number', \`%p' to show the fraction of -the way down the list, or font-control sequences such as %B, %U, %S and the -corresponding %b, %u, %s; quotes will be added automatically. Delete the -whole line to turn this behaviour off, in which case the display of -completions which don't fit on the screen is controlled by the LISTMAX -parameter (currently ${LISTMAX:-unset}), which specifies the maximum number -to show without asking. Hit return to keep the current value. -" - [[ -z $haslistp ]] && - listp='%SAt %p: Hit TAB for more, or the character to insert%s' - vared -eh -p 'prompt> ' -c listp - [[ -z $listp ]] && haslistp= - ;; - q) return 1 - ;; - esac - done - - __ci_set_this_style list-colors listc - __ci_set_this_style menu menu - [[ -n $haslistp ]] && listp=${(qq)listp} - __ci_set_this_style list-prompt listp - [[ -n $hasselectp ]] && selectp=${(qq)selectp} - __ci_set_this_style select-prompt selectp - - return 0 -} - - -__ci_do_display() { - local key usec - - __ci_get_this_style use-compctl usec - - while true; do - clear - print "\ - *** compinstall: display and insertion options *** - -1. Change appearance of completion lists: allows descriptions of - completions to appear and sorting of different types of completions. - -2. Change how completions are inserted: includes options for sorting, - and keeping the original or an unambiguous prefix with correction etc. - -3. Configure coloured/highlighted completion lists, selection of items - and scrolling. - -4. Change whether old-style \`compctl' completions will be used. - -q. Return without saving. -0. Done setting display and insertion options. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_list_format - ;; - 2) __ci_do_insertion - ;; - 3) __ci_do_selection - ;; - 4) print "\ -Completions defined by the new completion system (the one you are -configuring) always take precedence over the old sort defined with compctl. -You can choose whether or not you want to search for a compctl-defined -completion if no new completion was found for a command. The default -behaviour is only to check for compctl-defined completions if the required -library, zsh/compctl, is already loaded. (If not, this implies that -compctl has not been called.) Do you want to test for compctl-defined -completions? -" - while true; do - read -k key'?[y]es, [n]o, if [l]oaded, [k]eep old setting? ' - print - [[ $key = [yYnNlLkK] ]] && break - done - case $key in - [yY]) usec=true - ;; - [nN]) usec=false - ;; - [lL]) usec= - ;; - esac - ;; - q) return 1 - ;; - esac - - done - - __ci_set_this_style use-compctl usec - - return 0 -} - - -# file-sort, special-dirs, ignore-parents, -# squeeze-slashes, -__ci_do_file_styles() { - local key files cursor expand speciald ignorep squeezes select - local prefon suffon lssuffixes preserve - - __ci_get_this_style file-sort files - __ci_get_this_style ignore-parents ignorep - __ci_get_this_style special-dirs speciald - __ci_get_this_style squeeze-slashes squeezes - __ci_get_this_style expand expand - __ci_get_this_style list-suffixes lssuffixes - __ci_get_this_style preserve-prefix preserve - [[ -n $preserve ]] && preserve=${(Q)preserve} - - while true; do - clear - print "\ - *** compinstall: options for filename completion *** - -1. Choose how to sort the displayed list of filename matches. - -2. In expressions with .., don't include directories already implied. - -3. Allow completion of . and .. for the bone idle. - -4. When expanding paths, \`foo//bar' is treated as \`foo/bar'. - -5. Configure how multiple paths are expanded and displayed, - e.g. /f/b -> /foo/bar - -6. Keep certain prefixes unchanged, such as \`//resource/'. - -q. Return without saving. -0. Done setting options for filename completion. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - (1) print "\ -Filenames listed as possible completions are usually displayed in -alphabetical order. You can alternatively choose: - s File size - l Number of (hard) links - m Modification time - a Access time - i Inode change time - n File name - k Keep the current setting -You can also specify the reverse of any of the above orders (except \`k'): to -do this, type the appropriate letter in upper case. -" - while true; do - read -k key'?--- Hit selection --- ' - print - [[ $key = [sSlLmMaAiInNkK] ]] && break - done - case $key in - ([sS]) files=size;; - ([lL]) files=links;; - ([mM]) files=modification;; - ([aA]) files=access;; - ([iI]) files=inode;; - ([nN]) files=name;; - esac - if [[ $key = [SLAMIN] ]]; then - # slam it into reverse - files="$files reverse" - fi - ;; - (2) print "\ -When you type an expression containing \`..', you may usually not want to -be offered certain directories for completion. - p Don't offer parents: in \`foo/bar/../', don't make \`bar' a completion. - c Don't offer the current directory, e.g. after \`../'. - o Only perform the two tests if there is a real \`..' in the word so far. - d Only perform the two tests when completing directory names. - 0 None of the above; use normal completion. - k Keep the current settings. -You may specify any combination of p, c, o, d including at least one of p -and c, or you may specify either 0 or k. Note that the _ignored completer -functions in the normal way, i.e. you would be able to complete the -directories in question if nothing else matched. -" - while true; do - vared -eh -p 'selection> ' select - [[ ( $select = [pPcCoOdD]# && $select = *[pPcC]* ) - || $select = [0kK] ]] && break - print "Type any combination of p, c, o, d, or type 0 or k" - done - case $select in - (0) ignorep= - ;; - ([pPcCoOdD]#) - ignorep=() - [[ $select = *[pP]* ]] && ignorep=($ignorep parent) - [[ $select = *[cC]* ]] && ignorep=($ignorep pwd) - [[ $select = *[oO]* ]] && ignorep=($ignorep ..) - [[ $select = *[dD]* ]] && ignorep=($ignorep directory) - ;; - esac - ;; - (3) print "\ -Filename completion does not usually offer the directory names \`.' and -\`..' as choices. However, some immensely lazy people can't even be -bothered to type these. Do you wish to be offered \`.' and \`..' as -choices ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type y, n or k." - done - case $key in - ([yY]) speciald=true;; - ([nN]) speciald=;; - esac - ;; - (4) print "\ -Filename completion can complete sets of path segments at once, for example -\`/u/X/l/X' to \`/usr/X11R6/lib/X11'. Normally this means that multiple -slashes in filenames are treated as matching multiple directories. For -example, \`foo//bar' could expand to \`foo/datthe/bar'. You can, however, -stick to the usual UNIX convention that multiple slashes are treated as -a single slash. Do you wish to treat multiple slashes the same as just -one ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) squeezes=true;; - ([nN]) squeezes=;; - esac - ;; - (5) if [[ $expand = *prefix* ]]; then - prefon=prefix - else - prefon= - fi - if [[ $expand = *suffix* ]]; then - suffon=suffix - else - suffon= - fi - print " -When expanding /f/b, the shell will attempt to match /f*/b* (e.g. /foo/bar), -and so on to any depth. If the first part of the expansion fails, by default -the shell will not expand the remainder. However, you can force it always -to expand the first part. Currently this feature is ${${prefon:+on}:-off}. -Do you want it on ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) prefon=prefix;; - ([nN]) prefon=prefix;; - esac - print " -Further, if /f*/b* is ambiguous, the shell will usually only expand -as far as the part that is unambiguous; for example, if /foo/bar and -/food/basket exist, it will wait for you to choose either /foo or /food, -and not attempt to expand the rest of the match. However, you can force -it to add all possible completions for you to resolve conflicts in the -normal way. Currently this feature is ${${suffon:+on}:-off}. -Do you want it on ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) suffon=suffix;; - ([nN]) suffon=suffix;; - esac - expand=${prefon:+$prefon${suffon:+ }}${suffon} - - if [[ $lssuffixes = (1|[tT]|[yY]|[oO])* ]]; then - lssuffixes=true - else - lssuffixes= - fi - print " -When listing expansions of /f/b such as /foo/bar, /foo/bad, /failed/bag, -the shell will usually only show the first part of the path if it is -ambiguous, hence /foo will appear twice. It is possible to show the -full path in this case. Currently this feature is ${${lssuffixes:+on}:-off}. -Do you want this behaviour ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) lssuffixes=true;; - ([nN]) lssuffixes=;; - esac - ;; - (6) print "\ -On some systems, there are special forms for the start of a filename -which should be left alone by the completion system. For example, Cygwin -uses a double slash to indicate a network resource, hence a prefix of -the form \`//resource/' should be left alone. This style gives a pattern -to match any such prefixes; alternatives separated by \`|' are therefore -possible. Edit the pattern as you like. If this is empty, the shell will not -handle any prefixes specially." - if [[ -z $preserve ]]; then - preserve="//[^/]##/" - print " -Accept the default to handle network resources as just described." - fi - vared -eh -p "pattern> " preserve - ;; - (q) return 1 - ;; - esac - - done - - __ci_set_this_style file-sort files - __ci_set_this_style ignore-parents ignorep - __ci_set_this_style special-dirs speciald - __ci_set_this_style squeeze-slashes squeezes - __ci_set_this_style expand expand - __ci_set_this_style list-suffixes lssuffixes - # pattern, always quote - [[ -n $preserve ]] && preserve=${(qq)preserve} - __ci_set_this_style preserve-prefix preserve - - return 0 -} - - -# TODO: history completion, jobs, prefix-needed 'n' stuff. -__ci_do_misc() { - local key - - while true; do - clear - print "\ - *** compinstall: options for particular types of completion *** - -1. Options for file completion. - -q. Return without saving. -0. Done setting options for particular completions. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_file_styles - ;; - q) return 1 - ;; - esac - - done - - return 0; -} - - -# TODO: it should probably be possible to set completion options via -# compinstall, even though they've been around for years. - -while true; do - clear - print "\ - *** compinstall: main menu *** -Note that hitting \`q' in menus does not abort the set of changes from -lower level menus. However, quitting at top level will ensure that nothing -at all is actually written out. - -1. Completers: choose completion behaviour for tasks such as - approximation, spell-checking, expansion. - -2. Matching control: set behaviour for case-insensitive matching, - extended (partial-word) matching and substring matching. - -3. Styles for changing the way completions are displayed and inserted. - -4. Styles for particular completions. - -c. Change context (plus more information on contexts). - -q. Return without saving. -0. Save and exit. -" - - __ci_newline \ - "--- Hit choice --- " || return 1 - - # note this is a string test: we require the `0' to have been typed. - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_completers - ;; - 2) __ci_do_matchers - ;; - 3) __ci_do_display - ;; - 4) __ci_do_misc - ;; - c) __ci_change_context - ;; - esac -done - - -if (( $#styles )); then - typeset style stylevals context values - for style in ${(ko)styles}; do - stylevals=(${(f)styles[$style]}) - while (( $#stylevals )); do - output="$output -zstyle ${(qq)stylevals[1]} $style ${stylevals[2]}" - shift 2 stylevals - done - done -fi - -if [[ -z $ifile || -d $ifile ]] || - ! read -q key"?Save new settings to $ifile ([y]es, [n]o)? "; then - print "Enter file to save in (~ will be expanded), or return to abort:" - ifile= - vared -ch -p 'file> ' ifile - if [[ $ifile != [/~]* ]]; then - ifile=$PWD/$ifile - print "[Not absolute path; updating to $ifile]" - fi - ifile=${~ifile} -fi - -local tmpout=${TMPPREFIX:-/tmp/zsh}compinstall$$ -zf_ln -fn =(<<<'') $tmpout && # safe tempfile creation -zf_ln -fn =(<<<'') ${tmpout}x || return 1 - -# -# Assemble the complete set of lines to -# insert. -# -__ci_output >>$tmpout - -if [[ -n $ifile ]]; then - if [[ $ifile != *(zshrc|zlogin|zshenv) ]]; then - print "\ -If you want this file to be run automatically, you should add - . $ifile -to your .zshrc. compinstall will remember the name of this file for -future use." - __ci_newline || return 1 - fi - # - # Now use sed to update the file. - # - if [[ -f $ifile ]]; then - cp $ifile ${ifile}\~ && - print "Copied old file to ${ifile}~." - else - touch $ifile - fi - if { { grep "$endline" $ifile >/dev/null 2>&1 && - sed -e "/^[ ]*$endline/r $tmpout -/^[ ]*$startline/,/^[ ]*$endline/d" $ifile >>${tmpout}x } || - { cp $ifile ${tmpout}x && cat $tmpout >>${tmpout}x } } && - cp ${tmpout}x $ifile && rm -f ${tmpout}x; then - print "\nSuccessfully added compinstall lines to $ifile." - rm -f $tmpout - else - print "\nFailure adding lines to $ifile. Lines left in \`$tmpout'" - fi - rm -f ${tmpout}x -elif read -q key'?Print them to stdout instead ([y]es, [n]o)? '; then - cat $tmpout - rm -f $tmpout -fi - -if read -q key'?Set new styles for immediate use ([y]es, [n]o)? '; then - eval $output - print "The new settings are now in effect. Note this will not remove old -styles you have deleted until you restart the shell." -fi - -__ci_tidyup -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/copy-earlier-word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/copy-earlier-word deleted file mode 100644 index 90e862da..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/copy-earlier-word +++ /dev/null @@ -1,26 +0,0 @@ -# Copy the word before the one you last copied --- call repeatedly -# to cycle through the list of words on the history line. -# -# Words in combination with insert-last-word to use the line reached, -# and start from the word before last. Otherwise, it will operate on -# the current line. - -emulate -L zsh -setopt typesetsilent - -typeset -g __copyword -if (( ${NUMERIC:-0} )); then - # 1 means last word, 2 second last, etc. - (( __copyword = ${NUMERIC:-0} )) - zstyle -s :$WIDGET widget __copywidget -elif [[ -n $__copyword && $WIDGET = $LASTWIDGET ]]; then - (( __copyword-- )) -elif [[ $LASTWIDGET = *insert-last-word ]]; then - __copyword=-2 - typeset -g __copywidget=$LASTWIDGET -else - __copyword=-1 - zstyle -s :$WIDGET widget __copywidget -fi - -zle ${__copywidget:-.insert-last-word} 0 $__copyword diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cycle-completion-positions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cycle-completion-positions deleted file mode 100644 index 34a2d817..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/cycle-completion-positions +++ /dev/null @@ -1,16 +0,0 @@ -# This may be called after a completion that inserted the unambiguous -# (i.e. non-menu- and non-single-match-) string into the command line. -# If there are multiple positions in the string with missing or differing -# characters, repeatedly calling this widget cycles between all these -# positions. - -emulate -L zsh -setopt extendedglob - -local p="$_lastcomp[insert_positions]" - -if [[ $p = ((#s)|*:)${CURSOR}:* ]]; then - CURSOR=${${p#(|*:)${CURSOR}:}%%:*} -elif [[ -n $p ]]; then - CURSOR=${p%%:*} -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/define-composed-chars b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/define-composed-chars deleted file mode 100644 index 15d693a3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/define-composed-chars +++ /dev/null @@ -1,469 +0,0 @@ -# This is not a widget function, it is only a helper for insert-composed-char -# to cut down on resident memory use. - -emulate -L zsh -setopt cbases - -# The associative array zsh_accent_chars is indexed by the -# accent. The values are sets of character / Unicode pairs for -# the character with the given accent. The Unicode value is -# a hex index with no base discriminator; essentially a UCS-4 index -# with the leading zeroes suppressed. -typeset -gA zsh_accented_chars - -# Save quite a lot of space by using short names internally. -local -A z -local a b - -# grave -a=\! -z[$a]="\ -A C0 E C8 I CC O D2 U D9 a E0 e E8 i EC o F2 u F9 N 1F8 n 1F9 \ -" -# acute -a=\' -z[$a]="\ -A C1 E C9 I CD O D3 U DA Y DD a E1 e E9 i ED o F3 u FA y FD C 106 c 107 \ -L 139 l 13A N 143 n 144 R 154 r 155 S 15A s 15B Z 179 z 17A \ -" -# circumflex -a=\> -z[$a]="\ -A C2 E CA I CE O D4 U DB a E2 e EA i EE o F4 u FB C 108 c 109 G 11C g 11d \ -H 124 h 125 J 134 j 135 S 15C s 15D W 174 w 175 Y 176 y 177 \ -" -# tilde -a=\? -z[$a]="\ -A C3 E 1EBC N D1 O D5 a E3 e 1EBD n F1 o F5 I 128 i 129 U 168 u 169 \ -" -# macron (d-, D- give eth) -a=- -z[$a]="\ -A 100 a 101 d F0 D D0 E 112 e 113 I 12a i 12b O 14C o 14D U 16A u 16B \ -" -# breve -a=\( -z[$a]="\ -A 102 a 103 E 114 e 115 G 11E g 11F I 12C i 12D O 14E o 14F U 16C u 16D " -# dot above, small i with no dot, or l with middle dot -a=. -z[$a]="\ -\ -C 10A c 10b E 116 e 117 G 120 g 121 I 130 i 131 L 13F l 140 Z 17B z 17C \ -" -# diaeresis / Umlaut -a=: -z[$a]="\ -A C4 E CB I CF O D6 U DC a E4 e EB i EF o F6 u FC y FF Y 178 \ -" -# cedilla -a=, -z[$a]="\ -C C7 c E7 G 122 g 123 K 136 k 137 L 13B l 13C N 145 n 146 R 156 r 157 \ -S 15E s 15F T 162 t 163 \ -" -# underline (_) would go here -# stroke through -a=/ -z[$a]="\ -O D8 o F8 D 110 d 111 H 126 h 127 L 141 l 142 T 166 t 167 b 180 \ -" -# double acute -a=\" -z[$a]="\ -O 150 o 151 U 170 u 171\ -" -# ogonek -a=\; -z[$a]="\ -A 104 a 105 E 118 e 119 I 12E i 12F U 172 u 173 \ -" -# caron -a=\< -z[$a]="\ -C 10C c 10D D 10E d 10F E 11A e 11B L 13D l 13E N 147 n 148 R 158 r 159 \ -S 160 s 161 T 164 t 165 Z 17D z 17E \ -" -# ring above -a=0 -z[$a]="\ -A C5 a E5 U 16E u 16F \ -" -# hook above -a=2 -z[$a]="\ -A 1EA2 a 1EA3 E 1EBA e 1EBA \ -" -# horn, also right quotation marks -a=9 -z[$a]="\ -O 1A0 o 1A1 U 1Af u 1b0 ' 2019 . 201A \" 201D : 201E \ -" -# left quotation marks -a=6 -z[$a]="\ -' 2018 \" 201C \ -" -# reversed quotation marks for convenience -a=\' -z[$a]+=" \ -9 201B \ -" -a=\" -z[$a]+=" \ -9 201F \ -" - -# ligature with E -a=E -z[$a]="\ -A C6 O 152 \ -" -# ligature with e -a=e -z[$a]="\ -a E6 o 153 \ -" -# ligature with J -a=J -z[$a]="\ -I 132 \ -" -# ligature with j -a=j -z[$a]="\ -i 133 \ -" -# ligature with f -a=f -z[$a]="\ -f FB00 \ -" -# ligature with i -a=i -z[$a]="\ -f FB01 \ -" -# ligature with l -a=l -z[$a]="\ -f FB02 \ -" -# ligature with t -a=t -z[$a]="\ -f FB05 s FB06 \ -" -# eszett -a=s -z[$a]="\ -s DF \ -" -# upper case thorn -a=H -z[$a]="\ -T DE \ -" -# lower case thorn -a=h -z[$a]="\ -t FE \ -" - -# Arabic characters -a=\+ -z[$a]+=" \ -, 60C ; 61B ? 61F a 627 b 628 t 62A g 62C x 62E d 62F r 631 z 632 s 633 \ -c 635 e 639 i 63A + 640 f 641 q 642 k 643 l 644 m 645 n 646 h 647 w 648 \ -j 649 y 64A : 64B \" 64C = 64D / 64E ' 64F 1 650 3 651 0 652 p 67E v 6A4 \ -" -a=\' -z[$a]+=" H 621" -z[a]+=" \ -0 6F0 1 6F1 2 6F2 3 6F3 4 6F4 5 6F5 6 6F6 7 6F7 8 6F8 9 6F9 \ -" -z[d]+=" d 636" -z[f]+=" g 6AF" -z[H]+=" a 623 w 624 y 626 z 638" -z[h]+=" a 625" -z[j]+=" t 637" -z[k]+=" t 62B h 62D d 630" -z[M]+=" a 622" -z[m]+=" t 629" -z[n]+=" s 634" -z[S]+=" a 670" - -# Cyrillic characters -a=\= -z[$a]+=" \ -A 410 B 411 V 412 G 413 D 414 E 415 Z 417 I 418 J 419 K 41A L 41B \ -M 41C N 41D O 41E P 41F R 420 S 421 T 422 U 423 F 424 H 425 C 426 \ -Y 42B \ -a 430 b 431 v 432 g 433 d 434 e 435 z 437 i 438 j 439 k 43A l 43B \ -m 43C n 43D o 43E p 43F r 440 s 441 t 442 u 443 f 444 h 445 c 446 \ -y 44B \ -" -z[%]+=" \ -D 402 G 403 J 408 V 40E Z 416 C 427 S 428 z 436 c 447 s 448 \ -d 452 g 453 j 458 v 45E \ -" -z[A]+=" J 42F" -z[a]+=" j 44F" -z[c]+=" S 429 s 449" -z[E]+=" I 404 J 42D" -z[e]+=" j 44D i 454" -z[I]+=" I 406 Y 407" -z[i]+=" i 456 y 457" -z[J]+=" L 409 N 40A K 40C" -z[j]+=" l 459 n 45A k 45C" -z[O]+=" I 401" -z[o]+=" i 451" -z[S]+=" D 405" -z[s]+=" T 40B d 455 t 45B" -z[U]+=" J 42E" -z[u]+=" j 44E" -z[Z]+=" D 40F" -z[z]+=" d 45F" -a=\" -z[$a]+=" = 42A % 42C" -a=\' -z[$a]+=" = 44A % 44C" -z[3]+=" \ -Y 462 y 463 O 46A o 46B F 472 f 473 V 474 v 475 C 480 c 481 \ -G 490 g 491 \ -" - -# Greek characters -a=% -z[$a]+=" \ -A 386 E 388 Y 389 I 38A O 38C U 38E W 38F \ -a 3Ac e 3Ad y 3Ae i 3AF \ -o 3CC u 3CD w 3CE ' 3F4 \ -" -a=\* -z[$a]+=" \ -A 391 B 392 G 393 D 394 E 395 Z 396 Y 397 H 398 I 399 K 39A L 39B \ -M 39C N 39D C 39E O 39F P 3A0 R 3A1 S 3A3 T 3A4 U 3A5 F 3A6 X 3A7 \ -Q 3A8 W 3A9 J 3AA V 3Ab \ -a 3B1 b 3B2 g 3B3 d 3B4 e 3B5 z 3B6 y 3b7 h 3B8 i 3B9 k 3Ba l 3BB \ -m 3BC n 3BD c 3BE o 3BF p 3C0 r 3C1 s 3C3 t 3C4 u 3C5 f 3C6 x 3C7 \ -q 3C8 w 3C9 j 3CA v 3CB \ -" -a=3 -z[$a]+=" \ -i 390 u 3B0 T 3DA t 3DB M 3DC m 3DD K 3DE k 3DF P 3E0 p 3E1 j 3F5 \ -" -z[s]+=" * 3C2" -z[G]+=" ' 3D8 , 3D9" - -# Hebrew characters -a=+ -z[$a]+=" \ -A 5D0 B 5D1 G 5D2 D 5D3 H 5D4 W 5D5 Z 5D6 X 5D7 J 5D9 K 5DB L 5Dc M 5dE \ -N 5E0 S 5E1 E 5E2 P 5E4 Q 5E7 R 5E8 T 5EA \ -" -a=j -z[$a]+=" T 5D8 Z 5E5" -a=% -z[$a]+=" K 5DA M 5DD N 5DF P 5E3 " -a=J -z[$a]+=" Z 5e6" -a=h -z[$a]+=" S 5e9" - -# Superscripts -a=S -z[$a]+=" \ -0 2070 1 B9 2 B2 3 B3 4 2074 5 2075 6 2076 7 2077 8 2078 9 2079 \ -+ 207a - 207b = 207C ( 207D ) 207E n 207f \ -" -# Subscripts -a=s -z[$a]+=" \ -0 2080 1 2081 2 2082 3 2083 4 2084 5 2085 6 2086 7 2087 8 2088 9 2089 \ -+ 208a - 208b = 208C ( 208D ) 208E \ -" - -typeset -i 16 -Z 4 ia -typeset -i 16 -Z 6 iuni -# Extended width characters ^A, ^B, ... (not RFC1345) -for (( ia = 0x21; ia < 0x7f; ia++ )); do - (( iuni = ia + 0xff00 - 0x20 )) - eval a="\$'\\x${ia##0x}'" - z[$a]+=" ^ ${iuni##0x}" -done - -# Card suits: here first character is the interesting one -for a b in S 2660 H 2661 D 2662 C 2663; do - z[$a]+=" c $b" -done - -# Music: ditto -for a b in d 2669 8 266a 2 266b b 266d x 266e X 266f; do - z[$a]+=" M $b" -done - -# Remaining characters are handled as separate pairs. -# We need to remember that the assoc array is keyed by the second character. -# Left square bracket -a=\( -z[$a]+=" < 5B" -# Reverse solidus (backslash to you and me). -a=/ -z[$a]+=" / 5C" -# Right square bracket, circumflex -a=\> -z[$a]+=" ) 5D ' 5E" -# Grave a -a=\! -z[$a]+=" ' 60" -# diglyphys for (usually) standard characters {, |, }, ~ -a=\! -z[$a]+=" ( 7B" -z[$a]+=" ! 7C" -a=\) -z[$a]+=" ! 7D" -a=\? -z[$a]+=" ' 7E" -# non-breaking space -z[S]+=" N A0" -# inverted exclamation mark -z[I]+=" ! A1" -# cent -z[t]+=" C A2" -# pound sterling -z[d]+=" P A3" -# currency -z[u]+=" C A4" -# yen -z[e]+=" Y A5" -# broken bar -z[B]+=" B A6" -# section -z[E]+=" S A7" -# lonely diaeresis -z[:]+=" ' A8" -# copyright -z[o]+=" C A9" -# spanish feminine ordinal -z[a]+=" - AA" -# left guillemet -a=\< -z[$a]+=" < AB" -z[O]+=" N AC" -# soft hyphen -z[-]+=" - AD" -# registered -z[g]+=" R AE" -# lonely macron -z[m]+=" ' AF" -# degree -z[G]+=" D B0" -# degree centigrade -z[C]+=" o 2103" -# degree fahrenheit -z[F]+=" o 2109" -# numero -z[0]+=" N 2116" -# +/- -z[-]+=" + B1" -# lonely acute -a=\' -z[$a]+=" ' B4" -# micro -z[y]+=" M B5" -# pilcrow (paragraph) -z[I]+=" P B6" -# Middle dot -z[M]+=" . B7" -# Lonely cedilla -z[,]+=" ' B8" -# spanish masculine ordinal -z[o]+=" - BA" -# right guillemet -a=\> -z[$a]+=" > BB" -# fractions -z[4]+=" 1 BC 3 BE" -z[2]+=" 1 BD" -# inverted question mark -z[I]+=" ? BF" -# multiplication -z[X]+=" * D7" -# division -z[:]+=" - F7" -# kra -z[k]+=" k 138" -# apostrophe n -z[n]+=" ' 149" -# Lappish ng -z[G]+=" N 14A" -z[g]+=" n 14B" -# OI -z[I]+=" O 1A2" -z[i]+=" o 1A3" -# yr -z[r]+=" y 1A6" -# ezh -z[D]+=" E 1B7" -# euro (I invented this but it's logical) -z[u]+=" E 20AC" -# hyphen -z[1]+=" - 2010" -# en dash -z[N]+=" - 2013" -# em dash -z[M]+=" - 2014" -# horizontal bar, vertical and horizontal ellipsis -z[3]+=" - 2015 : 22EE . 22EF" -# double vertical line, double low line -z[2]+=" ! 2016 = 2017" -# dagger and double dagger -z[-]+=" / 2020" -z[=]+=" / 2021" -# per mille -z[0]+=" % 2030" -# For all, partial derivative, there exists, empty set -z[A]+=" F 2200" -z[P]+=" d 2202" -z[E]+=" T 2203" -z[0]+=" / 2205" -# Increment, del (nabla), element of, contains, product, sum -z[E]+=" D 2206" -z[B]+=" N 2207" -z[-]+=" ( 2208" -a=\) -z[$a]+=" - 220b" -z[P]+=" * 220F" -z[Z]+=" + 2211" -# Minus, minus or plus, asterisk, ring, bullet -z[2]+=" - 2212" -z[+]+=" - 2213" -z[-]+=" * 2217" -z[b]+=" O 2218 S 2219" -# square root, proportional to, infinity -z[T]+=" R 221A" -a=\( -z[$a]+=" 0 221D" -z[0]+=" 0 221E" -# Female and male -z[m]+=" F 2640" -z[l]+=" M 2642" -# Commercial AT -z[t]+=" A 40" -# Prime, double prime, triple prime -a=\' -z[$a]+=" 1 2032 2 2033 3 2034" -# Arrows -z[-]+=" < 2190" -a=\! -z[$a]+=" - 2191" -a=\> -z[$a]+=" - 2192 < 2194 = 21D2" -z[v]+=" - 2193" -z[D]+=" U 2195" -a=\= -z[$a]+=" < 21D0 = 21D4" - -zsh_accented_chars=("${(kv)z[@]}") diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/delete-whole-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/delete-whole-word-match deleted file mode 100644 index 3d52dd3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/delete-whole-word-match +++ /dev/null @@ -1,54 +0,0 @@ -# Delete the entire word around the cursor. Does not handle -# a prefix argument; either the cursor is in the word or it isn't. -# The word may be just before the cursor, e.g. -# print this is a line -# ^ here -# and then the word before (i.e. `this') will be deleted. -# -# If the widget has the name `kill' in, the text deleted will be -# saved for future yanking in the normal way. - -emulate -L zsh -setopt extendedglob - -local curcontext=:zle:$WIDGET -local -A matched_words -# Start and end of range of characters to remove. -integer pos1 pos2 - -autoload -Uz match-words-by-style -match-words-by-style - -if (( ${matched_words[is-word-start]} )); then - # The word we are deleting starts at the cursor position. - pos1=$CURSOR -else - # Not, so delete any wordcharacters before, too - pos1="${#matched_words[start]}" -fi - -if [[ -n "${matched_words[ws-after-cursor]}" ]]; then - # There's whitespace at the cursor position, so only delete - # up to the cursor position. - (( pos2 = CURSOR + 1 )) -else - # No whitespace at the cursor position, so delete the - # current character and any following wordcharacters. - (( pos2 = CURSOR + ${#matched_words[word-after-cursor]} + 1 )) -fi - -# Move the cursor then delete the block in one go for the -# purpose of undoing (and yanking, if appropriate). -(( CURSOR = pos1 )) - -# If the widget name includes the word `kill', the removed -# text goes into the cutbuffer in the standard way. -if [[ $WIDGET = *kill* ]]; then - local word="${BUFFER[pos1+1,pos2-1]}" - if [[ $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$CUTBUFFER$word" - else - zle copy-region-as-kill -- "$word" - fi -fi -BUFFER="${BUFFER[1,pos1]}${BUFFER[pos2,-1]}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-case-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-case-word-match deleted file mode 100644 index 3da9159c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-case-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n word ]]; then - LBUFFER+=${(L)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-line-or-beginning-search b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-line-or-beginning-search deleted file mode 100644 index 4c713f19..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/down-line-or-beginning-search +++ /dev/null @@ -1,23 +0,0 @@ -# Like down-line-or-search, but uses the whole line prefix up to the -# cursor position for searching forwards. - -emulate -L zsh - -typeset -g __searching __savecursor - -if [[ ${+NUMERIC} -eq 0 && - ( $LASTWIDGET = $__searching || $RBUFFER != *$'\n'* ) ]] -then - [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor - __searching=$WIDGET - __savecursor=$CURSOR - if zle .history-beginning-search-forward; then - [[ $RBUFFER = *$'\n'* ]] || - zstyle -T ':zle:down-line-or-beginning-search' leave-cursor && - zle .end-of-line - return - fi - [[ $RBUFFER = *$'\n'* ]] || return -fi -__searching='' -zle .down-line-or-history diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/edit-command-line b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/edit-command-line deleted file mode 100644 index 5f7ea321..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/edit-command-line +++ /dev/null @@ -1,83 +0,0 @@ -# Edit the command line using your usual editor. -# Binding this to '!' in the vi command mode map, -# autoload -Uz edit-command-line -# zle -N edit-command-line -# bindkey -M vicmd '!' edit-command-line -# will give ksh-like behaviour for that key, -# except that it will handle multi-line buffers properly. - -emulate -L zsh -local left right prebuffer buffer=$BUFFER lbuffer=$LBUFFER -local TMPSUFFIX=.zsh -# set up parameters depending on which context we are called from, -# see below comment for more details -if (( REGION_ACTIVE )); then - if (( CURSOR < MARK )); then - left=$CURSOR right=$MARK - lbuffer= - else - left=$MARK right=$CURSOR - lbuffer[right-left,-1]= - fi - (( left++ )) - buffer=$BUFFER[left,right] -elif (( ! ZLE_RECURSIVE )); then - prebuffer=$PREBUFFER -fi - -() { - exec </dev/tty - - # Compute the cursor's position in bytes, not characters. - setopt localoptions nomultibyte noksharrays - - (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[2] - - # Open the editor, placing the cursor at the right place if we know how. - local -a editor - zstyle -a :zle:$WIDGET editor editor - if (( ! $#editor )); then - editor=( "${(@Q)${(z)${VISUAL:-${EDITOR:-vi}}}}" ) - fi - case $editor in - (*vim*) - integer byteoffset=$(( $#prebuffer + $#lbuffer + 1 )) - "${(@)editor}" -c "normal! ${byteoffset}go" -- $1;; - (*emacs*) - local lines=( "${(@f):-"$prebuffer$lbuffer"}" ) - "${(@)editor}" +${#lines}:$((${#lines[-1]} + 1)) $1;; - (*) "${(@)editor}" $1;; - esac - - (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[1] - - # Replace the buffer with the editor output. - # avoid drawing a new prompt when we can: - # - in recursive-edit, the send-break will just cancel the recursive-edit - # rather than reload the line from print -z so in that case we want to - # just set $BUFFER (unfortunately, recursive-edit doesn't reset CONTEXT - # or PREBUFFER so we have to explicitly handle this case, which overrides - # the following point) - # - when we are at PS2 (CONTEXT == cont && ! ZLE_RECURSIVE) we do want the - # break or otherwise the text from PREBUFFER will be inserted twice - # - when the region is active, we only want to change the parts of BUFFER - # covered by the region, and any PREBUFFER stays as PREBUFFER - # - in all other cases (that I can think of) we also just want to set - # $BUFFER directly. - if (( REGION_ACTIVE )); then - # adjust the length of the region to the length of the edited text - local prelen=$#BUFFER - BUFFER[left,right]="$(<$1)" - if (( MARK > CURSOR )); then - (( MARK += $#BUFFER - prelen )) - else - (( CURSOR += $#BUFFER - prelen )) - fi - elif [[ $CONTEXT != cont ]] || (( ZLE_RECURSIVE )); then - BUFFER="$(<$1)" - else - print -Rz - "$(<$1)" - zle send-break - fi - -} =(<<<"$prebuffer$buffer") diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/expand-absolute-path b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/expand-absolute-path deleted file mode 100644 index 4887f3c6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/expand-absolute-path +++ /dev/null @@ -1,19 +0,0 @@ -# expand-absolute-path -# This is a ZLE widget to expand the absolute path to a file, -# using directory naming to shorten the path where possible. - -emulate -L zsh -setopt extendedglob cbases - -autoload -Uz modify-current-argument - -if (( ! ${+functions[glob-expand-absolute-path]} )); then - glob-expand-absolute-path() { - local -a files - files=(${~1}(N:P)) - (( ${#files} )) || return - REPLY=${(D)files[1]} - } -fi - -modify-current-argument glob-expand-absolute-path diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/forward-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/forward-word-match deleted file mode 100644 index e5b5ef3a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/forward-word-match +++ /dev/null @@ -1,43 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle ${WIDGET/forward/backward} - return -fi - -while (( count-- )); do - match-words-by-style - - if zstyle -t $curcontext skip-whitespace-first; then - # Standard non-zsh behaviour: skip leading whitespace and the word. - word=$matched_words[4]$matched_words[5] - else - # Traditional zsh behaviour. - # For some reason forward-word doesn't work like the other word - # commands; it skips whitespace only after any matched word - # characters. - if [[ -n $matched_words[4] ]]; then - # just skip the whitespace - word=$matched_words[4] - else - # skip the word and trailing whitespace - word=$matched_words[5]$matched_words[6] - fi - fi - - if [[ -n $word ]]; then - (( CURSOR += ${#word} )) - else - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/getjobs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/getjobs deleted file mode 100644 index f85ccf5b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/getjobs +++ /dev/null @@ -1,29 +0,0 @@ -# Call this from the preexec function like so: -# preexec() { -# getjobs "${(z)2}" # Use "${(z)1}" prior to zsh-4.0.1 -# } -setopt localoptions noshwordsplit noksharrays -local texts -case $1 in - fg|bg) shift; [[ -n $1 ]] || set -- %% ;; - %*) ;; - *) return 0 ;; -esac -repeat $# -do - # This case statement emulates jobs.c:getjob() - case $1 in - [\;\&\|]|\|\||\&\&) break ;; - %(|[%+])) 1=${(k)jobstates[(r)*:+:*]} ;; - %-) 1=${(k)jobstates[(r)*:-:*]} ;; - %<->) 1=${1#%} ;; - %[?]*) 1=${${(Ok)jobtexts[(R)*${1#%[?]}*]}[1]} ;; - *) 1=${${(Ok)jobtexts[(R)$1*]}[1]} ;; - esac - [[ -n $1 ]] && texts=($texts ${jobtexts[$1]}) - shift -done -# Remove the "-s" below if you'd prefer that this just report -# what jobs are being affected rather than modify the history -(( $#texts )) && print -s ${(j:; :)texts} "$*" -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/harden b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/harden deleted file mode 100755 index 0058382b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/harden +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# harden a link (convert it to a singly linked file) -cp $1 $1.foo -rm $1 -mv $1.foo $1 - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-beginning-search-menu b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-beginning-search-menu deleted file mode 100644 index 0e1bbc73..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-beginning-search-menu +++ /dev/null @@ -1,125 +0,0 @@ -# Menu-driven alternative to history-beginning-search-backward. -# As it uses a menu there is no sense of "forward" or "backward", however; -# the entire history is searched. -# -# Configuration: -# autoload -Uz history-beginning-search-menu -# zle -N history-beginning-search-menu -# bindkey '\eP' history-beginning-search-menu -# -# Example: -# % /bin/su<ESC-P> -# Enter digit: -# 1 /bin/su -c 'make install' 4 /bin/su - perforce -# 2 /bin/su 5 /bin/su -c -# 3 /bin/su -c 'chown pws:pws **/*(u0)' -# -# Typing "1" expands the line to -# % /bin/su -c 'make install' -# -# With a prefix argument, the search is not anchored to the beginning, -# so for example "/su" could expand to "p4 files //depot/support/..." -# -# If this is bound to a widget containing "-end", e.g. -# zle -N history-beginning-search-menu-end history-beginning-search-menu -# then the cursor is put at the end of the line, else it is left -# after the matched characters. -# -# If this is bound to a widget containing "-space", then any space in -# the line so far is matched as a wildcard. (This means putting a space -# at the start of the line is equivalent to specifying a prefix -# argument.) - -emulate -L zsh -setopt extendedglob - -zmodload -i zsh/parameter - -local -aU matches -local -a display - -local search=$LBUFFER MATCH MBEGIN MEND - -search=${search//(#m)[\][()\\*?#<>~^]/\\$MATCH} -if [[ $WIDGET = *-space* ]]; then - # We need to quote metacharacters in the search string - # since they are otherwise active in the reverse subscript. - # We need to avoid quoting other characters since they aren't - # and just stay quoted, rather annoyingly. - search=${search// /*} -fi - -if (( ${+NUMERIC} )); then - matches=(${(o)history[(R)*${search}*]}) -else - matches=(${(o)history[(R)${search}*]}) -fi - -# Filter out any match that's the same as the original. -# Note this isn't a pattern this time. -matches=(${matches:#${LBUFFER}}) - -integer n=${#matches} -integer width=${#n} - -(( n == 0 )) && return 1 - -# Hey, this works... -integer i -display=(${matches/(#m)*/${(l.$width..0.):-$((++i))} $MATCH}) -zle -R "Enter digit${${width##1}:+s}:" $display - -integer i -local char chars - -# Hmmm... this isn't great. The only way of clearing the display -# appears to be to overwrite it completely. I think that's because -# displaying strings in this way doesn't set the completion list -# properly. -display=(${display//?/ }) - -# Abort on first non-digit entry instead of requiring all -# characters to be typed (as "read -k$width chars" would do). -for (( i = 0; i < $width; i++ )); do - read -k char - if [[ $char != [[:digit:]] ]]; then - zle -R '' $display - return 1 - fi - chars+=$char -done - -if [[ $chars -eq 0 || $chars -gt $n ]]; then - zle -R '' $display - return 1 -fi - -integer newcursor -if [[ $WIDGET != *-end* ]]; then - if (( ${+NUMERIC} )); then - # Advance cursor so that it's still after the string typed - local -a match mbegin mend - if [[ $matches[$chars] = (#b)(*${LBUFFER})* ]]; then - newcursor=${#match[1]} - fi - else - # Maintain cursor - newcursor=$CURSOR - fi -fi - -# Find the history lines that contain the matched string and -# go to the last one. This allows accept-line-and-down-history etc. -# to work. -local -a lines -local matchq=${matches[$chars]//(#m)[\][|()\\*?#<>~^]/\\$MATCH} -lines=(${(kon)history[(R)$matchq]}) -HISTNO=$lines[-1] - -if (( newcursor )); then - CURSOR=$newcursor -elif [[ $WIDGET = *-end* ]]; then - CURSOR=${#BUFFER} -fi - -zle -R '' $display diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-pattern-search b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-pattern-search deleted file mode 100644 index 0e3103e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-pattern-search +++ /dev/null @@ -1,83 +0,0 @@ -# Prompt for an search in the history for a pattern. -# Patterns to search are standard zsh patterns, but may include -# ^ at the start or $ at the end to anchor the pattern to the -# start or end of the history entry respectively. -# -# To search backwards, create a widget history-pattern-search-backward: -# zle -N history-pattern-search-backward history-pattern-search -# and to search forwards, create history-pattern-search-forward -# zle -N history-pattern-search-forward history-pattern-search - -# Use extended globbing by default. -emulate -L zsh -setopt extendedglob - -# Load required features. -autoload -Uz read-from-minibuffer -zmodload -i zsh/parameter - -local REPLY dir new -integer i -local -a found match mbegin mend - -# Decide if we are searching backwards or forwards. -if [[ $WIDGET = *forward* ]]; then - dir="forw" -else - dir="rev" -fi - -# Read pattern. Prompt could be made customisable. -read-from-minibuffer "pat ($dir): " $_last_history_pattern_search - -_last_history_pattern_search=$REPLY - -# Abort if bad status or nothing entered -[[ $? -ne 0 || -z $REPLY ]] && return 0 - -# Handle start-of-line anchor. -if [[ $REPLY = \^* ]]; then - REPLY=$REPLY[2,-1] -else - REPLY="*$REPLY" -fi - -# Handle end-of-line anchor. -if [[ $REPLY = *\$ ]]; then - REPLY=$REPLY[1,-2] -else - REPLY="$REPLY*" -fi - -# Search history for pattern. -# As $history is an associative array we can get all matches. -found=(${(kon)history[(R)$REPLY]}) - -if [[ $dir = forw ]]; then - # Searching forward. Look back through matches until we - # get back to the current history number. - for (( i = ${#found}; i >= 1; i-- )); do - (( $found[$i] <= HISTNO )) && break - new=$found[$i] - done -else - # Searching backward. Look forward through matches until we - # reach the current history number. - for (( i = 1; i <= ${#found}; i++ )); do - (( $found[$i] >= HISTNO )) && break - new=$found[$i] - done -fi - -if [[ -n $new ]]; then - # Match found. Move to line. - HISTNO=$new - if [[ $REPLY = *\* && $history[$new] = (#b)(${~REPLY[1,-2]})* ]]; then - # If not anchored to the end, move to the end of the pattern - # we were searching for. - CURSOR=$mend[1] - fi - return 0 -else - return 1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-search-end b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-search-end deleted file mode 100644 index fd58bb5f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/history-search-end +++ /dev/null @@ -1,29 +0,0 @@ -# function history-search-end { -# -# This implements functions like history-beginning-search-{back,for}ward, -# but takes the cursor to the end of the line after moving in the -# history, like history-search-{back,for}ward. To use them: -# zle -N history-beginning-search-backward-end history-search-end -# zle -N history-beginning-search-forward-end history-search-end -# bindkey '...' history-beginning-search-backward-end -# bindkey '...' history-beginning-search-forward-end - -integer cursor=$CURSOR mark=$MARK - -if [[ $LASTWIDGET = history-beginning-search-*-end ]]; then - # Last widget called set $MARK. - CURSOR=$MARK -else - MARK=$CURSOR -fi - -if zle .${WIDGET%-end}; then - # success, go to end of line - zle .end-of-line -else - # failure, restore position - CURSOR=$cursor - MARK=$mark - return 1 -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incarg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incarg deleted file mode 100644 index cff0cfe4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incarg +++ /dev/null @@ -1,43 +0,0 @@ -# Shell function to increment an integer either under the cursor or just -# to the left of it. Use -# autoload -Uz incarg -# zle -N incarg -# bindkey "..." incarg -# to define it. For example, -# echo 41 -# ^^^ cursor anywhere here -# with incarg gives -# echo 42 -# with the cursor in the same place. -# -# A numeric argument gives a number other than 1 to add (may be negative). -# If you're going to do it a lot with one particular number, you can set -# the parameter incarg to that number (a numeric argument still takes -# precedence). - -emulate -L zsh -setopt extendedglob - -local rrest lrest num - -rrest=${RBUFFER##[0-9]#} -if [[ $RBUFFER = [0-9]* ]]; then - if [[ -z $rrest ]]; then - num=$RBUFFER - else - num=${RBUFFER[1,-$#rrest-1]} - fi -fi - -lrest=${LBUFFER%%[0-9]#} -if [[ $LBUFFER = *[0-9] ]]; then - if [[ -z $lrest ]]; then - num="$LBUFFER$num" - else - num="${LBUFFER[$#lrest+1,-1]}$num" - fi -fi - -[[ -n $num ]] && (( num += ${NUMERIC:-${incarg:-1}} )) - -BUFFER="$lrest$num$rrest" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incremental-complete-word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incremental-complete-word deleted file mode 100644 index ccc00754..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/incremental-complete-word +++ /dev/null @@ -1,137 +0,0 @@ -# Autoload this function, run `zle -N <func-name>' and bind <func-name> -# to a key. - - -# This allows incremental completion of a word. After starting this -# command, a list of completion choices can be shown after every character -# you type, which you can delete with ^h or DEL. RET will accept the -# completion so far. You can hit TAB to do normal completion, ^g to -# abort back to the state when you started, and ^d to list the matches. -# -# This works only with the new function based completion system. - -# Recommended settings: -# zstyle ':completion:incremental:*' completer _complete _ignored -# zstyle :incremental stop-keys $'[\e\C-b\C-f\C-n\C-p\C-u-\C-x]' - -# BUGS: -# The _oldlist completer breaks incremental completion. Use a context- -# specific completer zstyle as shown above to disable the _oldlist -# completer in this function. - -# The main widget function. - -incremental-complete-word() { - emulate -L zsh - unsetopt autolist menucomplete automenu # doesn't work well - - local key lbuf="$LBUFFER" rbuf="$RBUFFER" pmpt pstr word - local lastl lastr wid twid num post toolong - local curcontext="${curcontext}" stop brk - - [[ -z "$curcontext" ]] && curcontext=::: - curcontext="incremental:${curcontext#*:}" - - zstyle -s ":incremental" prompt pmpt || - pmpt='incremental (%c): %u%s %l' - zstyle -s ":incremental" stop-keys stop - zstyle -s ":incremental" break-keys brk - - if zstyle -t ":incremental" list; then - wid=list-choices - post=( icw-list-helper ) - else - wid=complete-word - post=() - fi - - comppostfuncs=( "$post[@]" ) - zle $wid "$@" - LBUFFER="$lbuf" - RBUFFER="$rbuf" - num=$_lastcomp[nmatches] - if (( ! num )); then - word='' - state='-no match-' - elif [[ "${LBUFFER}${RBUFFER}" = *${_lastcomp[unambiguous]}* ]]; then - word='' - state='-no prefix-' - else - word="${_lastcomp[unambiguous]}" - state='' - fi - zformat -f pstr "$pmpt" "u:${word}" "s:$state" "n:$num" \ - "l:$toolong" "c:${_lastcomp[completer]}" - zle -R "$pstr" - read -k key - - while [[ '#key' -ne '#\\r' && '#key' -ne '#\\n' && - '#key' -ne '#\\C-g' ]]; do - twid=$wid - if [[ "$key" = ${~stop} ]]; then - zle -U - "$key" - return - elif [[ "$key" = ${~brk} ]]; then - return - elif [[ '#key' -eq '#\\C-h' || '#key' -eq '#\\C-?' ]]; then - [[ $#LBUFFER -gt $#l ]] && LBUFFER="$LBUFFER[1,-2]" - elif [[ '#key' -eq '#\\t' ]]; then - zle complete-word "$@" - lbuf="$LBUFFER" - rbuf="$RBUFFER" - elif [[ '#key' -eq '#\\C-d' ]]; then - twid=list-choices - else - LBUFFER="$LBUFFER$key" - fi - if (( ! PENDING )); then - lastl="$LBUFFER" - lastr="$RBUFFER" - [[ "$twid" = "$wid" ]] && comppostfuncs=( "$post[@]" ) - toolong='' - zle $twid "$@" - LBUFFER="$lastl" - RBUFFER="$lastr" - num=$_lastcomp[nmatches] - if (( ! num )); then - word='' - state='-no match-' - elif [[ "${LBUFFER}${RBUFFER}" = *${_lastcomp[unambiguous]}* ]]; then - word='' - state='-no prefix-' - else - word="${_lastcomp[unambiguous]}" - state='' - fi - zformat -f pstr "$pmpt" "u:${word}" "s:$state" "n:$num" \ - "l:$toolong" "c:${_lastcomp[completer]}" - zle -R "$pstr" - else - zle -R - fi - read -k key - done - - if [[ '#key' -eq '#\\C-g' ]]; then - LBUFFER="$lbuf" - RBUFFER="$rbuf" - fi - zle -Rc -} - -# Helper function used as a completion post-function used to make sure that -# the list of matches in only shown if it fits on the screen. - -icw-list-helper() { - - # +1 for the status line we will add... - - if [[ compstate[list_lines]+BUFFERLINES+1 -gt LINES ]]; then - compstate[list]='list explanations messages' - [[ compstate[list_lines]+BUFFERLINES+1 -gt LINES ]] && compstate[list]='' - - toolong='...' - fi -} - -incremental-complete-word "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-composed-char b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-composed-char deleted file mode 100644 index 636895a8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-composed-char +++ /dev/null @@ -1,187 +0,0 @@ -# Accented characters. Inputs two keys. There are two types: those -# with a base character followed by an accent (see below for codes for -# accents), and those with a two-character mnemonic for the composed -# character. These are (with the exception of the Euro) the codes -# given by RFC 1345. Note that some codes in RFC 1345 require three -# characters to be input; none of these are handled. -# -# For best results zsh should have been built with support for -# multibyte characters (--enable-multibyte), but single character sets -# also work. -# -# Outputs the character converted from Unicode into the local representation. -# (The conversion is done within the shell, using whatever facilities -# the C library provides.) -# -# When used as a zle widget, the character is inserted at the cursor -# position. With a numeric argument, preview in status line; outside zle, -# print character (and newline) to standard output. -# -# The set of accented characters is reasonably complete up to U+0180, the -# set of special characters less so. However, it mostly gives up at that -# point. Adding new Unicode characters is easy, however. Please send any -# additions to zsh-workers@zsh.org . -# -# Some of the accent codes are a little more obscure than others. -# ! Grave -# ' Acute -# > Circumflex -# ? Tilde -# - Macron. (A horizontal bar over the letter.) -# ( Breve. (A shallow dish shape over the letter.) -# . Dot above, or no dot with lower case i, or dot in the middle of L or l. -# : Diaeresis (Umlaut) -# , Cedilla -# _ Underline (none of these currently) -# / Stroke through character -# " Double acute -# ; Ogonek. (A little forward facing hook at the bottom right -# of the character.) -# < Caron. (A little v over the letter.) -# 0 Circle -# 2 Hook -# 9 Horn -# Hence A! is upper case A with a grave, c, is lower case c with cedilla. -# -# Some other composed characters: -# Various ligatures: -# AE ae OE oe IJ ij -# -# ASCII characters not on all keyboards: -# <( [ -# // \ -# )> ] -# (! { -# !! | -# !) } -# '? ~ -# -# Special letters: -# ss Eszett (schafes S) -# D- d- TH th Eth and thorn -# kk kra -# 'n 'n -# NG ng ng -# OI oi OI -# yr yr -# ED ezh -# -# Currency symbols: -# Ct Cent -# Pd Pound sterling -# Cu Currency -# Ye Yen -# Eu Euro (not in RFC 1345 but logical) -# -# Punctuation -# !I Inverted ! -# BB Broken vertical bar -# SE Section -# Co Copyright -# -a Spanish feminine ordinal indicator -# << Left guillemet -# -- Soft hyphen -# Rg Registered trade mark -# PI Pilcrow (paragraph) -# -o Spanish masculine ordinal indicator -# >> Right guillemet -# ?I Inverted question mark -# -1 Hyphen -# -N en dash -# -M em dash -# -3 horizontal bar -# :3 vertical ellipsis -# .3 horizontal midline ellipsis -# !2 double vertical line -# =2 double low line -# '6 Left single quote -# '9 Right single quote -# .9 "Right" low quote -# 9' Reversed "right" quote -# "6 Left double quote -# "9 Right double quote -# :9 "Right" low double quote -# 9" Reversed "right" double quote -# /- Dagger -# /= Double dagger -# -# Mathematical -# DG Degree -# +- +/- -# 2S Superscript 2 -# 3S Superscript 3 -# My Micro -# .M Middle dot -# 1S Superscript 1 -# 14 Quarter -# 12 Half -# 34 Three quarters -# *X Multiplication -# -: Division -# %0 Per mille -# -# Accents with no base character -# '> Circumflex (caret) -# '! Grave (backtick) -# ', Cedilla -# ': Diaeresis (Umlaut) -# 'm Macron -# '' Acute - -emulate -L zsh -setopt cbases extendedglob printeightbit - -local accent basechar ochar error - -if [[ -n $WIDGET ]]; then - error=(zle -M) -else - error=print -fi - -if (( ${+zsh_accented_chars} == 0 )); then - # Save quite a lot of memory by running and then erasing - # the function that defines the characters. - autoload -Uz define-composed-chars - define-composed-chars - unfunction define-composed-chars -fi - -if (( $# )); then - basechar=${1[1]} - if [[ $1 = ? ]]; then - shift - else - 1=${1[2,-1]} - fi -else - read -k basechar || return 1 -fi - -if (( $# )); then - accent=${1[1]} -else - read -k accent || return 1 -fi - -local -A charmap -# just in case someone is monkeying with IFS... -charmap=(${(s. .)zsh_accented_chars[$accent]}) - -if [[ ${#charmap} -eq 0 || -z $charmap[$basechar] ]]; then - $error "Combination ${basechar}${accent} is not available." - return 1 -fi - -if [[ -z $WIDGET ]]; then - [[ -t 1 ]] && print - print "\U${(l.8..0.)charmap[$basechar]}" -else - ochar="$(print -n "\U${(l.8..0.)charmap[$basechar]}")" - - if (( ${+NUMERIC} )); then - $error "Character ${(l.8..0.)charmap[$basechar]}: $ochar" - else - LBUFFER+=$ochar - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-files b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-files deleted file mode 100644 index 2d13d82d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-files +++ /dev/null @@ -1,42 +0,0 @@ -# insert-files() { - -# Autoload this function, run `zle -N <func-name>' and bind <func-name> -# to a key. - -# This function allows you type a file pattern, and see the results of the -# expansion at each step. When you hit return, they will be inserted into -# the command line. - -emulate -L zsh -setopt nobadpattern - -local key str files - -files=( *(N:q) ) -if (( $#files )); then - zle -R "files: ${str}_" "$files[@]" -else - zle -R "files: ${str}_ (failed)" -fi -read -k key -while [[ '#key' -ne '#\\r' && '#key' -ne '#\\n' && - '#key' -ne '#\\C-g' ]]; do - if [[ '#key' -eq '#\\C-h' || '#key' -eq '#\\C-?' ]]; then - [[ -n "$str" ]] && str="$str[1,-2]" - else - str="$str$key" - fi - eval "files=( \${~str}*(N:q) )" - if (( $#files )); then - zle -R "files: ${str}_" "$files[@]" - else - zle -R "files: ${str}_ (failed)" - fi - read -k key -done -zle -Rc -if [[ '#key' -ne '#\\C-g' && $#files -gt 0 ]]; then - [[ "$LBUFFER[-1]" = ' ' ]] || files=('' "$files[@]") - LBUFFER="$LBUFFER$files " -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-unicode-char b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-unicode-char deleted file mode 100644 index b943fb7f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/insert-unicode-char +++ /dev/null @@ -1,22 +0,0 @@ -# Make hex integers appear as 0x... -setopt localoptions cbases - -integer -g _insert_unicode_ready - -if [[ $LASTWIDGET = insert-unicode-char && $_insert_unicode_ready -eq 1 ]] -then - # Second call; we should have a usable prefix. - # If we don't, give up. - (( ${+NUMERIC} )) || return 1 - # Convert it back to hex, padded with zeroes to 8 digits plus the 0x... - local -i 16 -Z 10 arg=$NUMERIC - # ...and use print to turn this into a Unicode character. - LBUFFER+="$(print -n "\U${arg##0x}")" - integer -g _insert_unicode_ready=0 -else - # Set the base to 16... - zle argument-base 16 - # ...wait for user to type hex keys then call this widget again. - zle universal-argument - integer -g _insert_unicode_ready=1 -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/is-at-least b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/is-at-least deleted file mode 100644 index d4ff3552..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/is-at-least +++ /dev/null @@ -1,56 +0,0 @@ -# -# Test whether $ZSH_VERSION (or some value of your choice, if a second argument -# is provided) is greater than or equal to x.y.z-r (in argument one). In fact, -# it'll accept any dot/dash-separated string of numbers as its second argument -# and compare it to the dot/dash-separated first argument. Leading non-number -# parts of a segment (such as the "zefram" in 3.1.2-zefram4) are not considered -# when the comparison is done; only the numbers matter. Any left-out segments -# in the first argument that are present in the version string compared are -# considered as zeroes, eg 3 == 3.0 == 3.0.0 == 3.0.0.0 and so on. -# -# Usage examples: -# is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS -# is-at-least 3.1.0 && setopt HIST_REDUCE_BLANKS -# is-at-least 586 $MACHTYPE && echo 'You could be running Mandrake!' -# is-at-least $ZSH_VERSION || print 'Something fishy here.' -# -# Note that segments that contain no digits at all are ignored, and leading -# text is discarded if trailing digits follow, because this was the meaning -# of certain zsh version strings in the early 2000s. Other segments that -# begin with digits are compared using NUMERIC_GLOB_SORT semantics, and any -# other segments starting with text are compared lexically. - -emulate -L zsh - -local IFS=".-" min_cnt=0 ver_cnt=0 part min_ver version order - -min_ver=(${=1}) -version=(${=2:-$ZSH_VERSION} 0) - -while (( $min_cnt <= ${#min_ver} )); do - while [[ "$part" != <-> ]]; do - (( ++ver_cnt > ${#version} )) && return 0 - if [[ ${version[ver_cnt]} = *[0-9][^0-9]* ]]; then - # Contains a number followed by text. Not a zsh version string. - order=( ${version[ver_cnt]} ${min_ver[ver_cnt]} ) - if [[ ${version[ver_cnt]} = <->* ]]; then - # Leading digits, compare by sorting with numeric order. - [[ $order != ${${(On)order}} ]] && return 1 - else - # No leading digits, compare by sorting in lexical order. - [[ $order != ${${(O)order}} ]] && return 1 - fi - [[ $order[1] != $order[2] ]] && return 0 - fi - part=${version[ver_cnt]##*[^0-9]} - done - - while true; do - (( ++min_cnt > ${#min_ver} )) && return 0 - [[ ${min_ver[min_cnt]} = <-> ]] && break - done - - (( part > min_ver[min_cnt] )) && return 0 - (( part < min_ver[min_cnt] )) && return 1 - part='' -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keeper b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keeper deleted file mode 100644 index a4012577..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keeper +++ /dev/null @@ -1,96 +0,0 @@ -## -# The "keeper" function suite originally appeared in several zsh-users -# posts in the fall of 2004. It was published in summary form in the -# Shell Corner column on UnixReview.com in January 2005 at the URL -# <http://www.unixreview.com/documents/s=9513/ur0501a/ur0501a.htm> -# -# Article still available on the Wayback Machine: -# <http://web.archive.org/web/20050207041146/http://www.unixreview.com/documents/s=9513/ur0501a/ur0501a.htm> -# -# A few minor edits have been made to those functions for this file. Key -# bindings are commented out to avoid clashes with any existing bindings. -## - -declare -a kept - -# The "keep" function accepts a set of file patterns as the positional -# parameters or a series of lines (expected to represent file names) on -# standard input. It stores the expansion of those patterns, or the input -# lines, in the global variable $kept, and then displays the result -# formatted in columns, similar to an "ls" listing. Its alias, also named -# "keep", prevents the file patterns from being expanded when the command -# line is executed; they're expanded in the assignment to $kept instead, -# so that the local settings of nonomatch etc. are applied. - -function keep { - setopt localoptions nomarkdirs nonomatch nocshnullglob nullglob - setopt noksharrays noshwordsplit - kept=($~*) - if [[ ! -t 0 ]]; then - local line - while read -r line; do - kept+=( $line ) - done - fi - print -Rc - ${^kept%/}(T) -} -alias keep='noglob keep' - -# The function "_insert_kept" copies the value of $kept to the cursor -# position. If a prefix of a name is immediately to the left of the -# cursor, then only the subset of $kept that matches that prefix is -# copied, as is usual for completion. The examples bind it to two -# different widgets, "insert-kept-result" and "expand-kept-result". If -# invoked via the "expand-kept-result" widget, it replaces a pattern on -# the command line with the matching words from the $kept array. - -_insert_kept() { - (( $#kept )) || return 1 - local action - zstyle -s :completion:$curcontext insert-kept action - if [[ -n $action ]] - then compstate[insert]=$action - elif [[ $WIDGET = *expand* ]] - then compstate[insert]=all - fi - if [[ $WIDGET = *expand* ]] - then compadd -U ${(M)kept:#${~words[CURRENT]}} - else compadd -a kept - fi -} - -zle -C insert-kept-result complete-word _generic -zstyle ':completion:insert-kept-result:*' completer _insert_kept -# bindkey '^Xk' insert-kept-result - -zle -C expand-kept-result complete-word _generic -zstyle ':completion:expand-kept-result:*' completer _insert_kept -# bindkey '^XK' expand-kept-result - -# The "_expand_word_and_keep" function stores the expansions computed by -# the "_expand" completer in the global $kept for later retrieval by -# "_insert_kept". - -_expand_word_and_keep() { - { - function compadd { - local -A args - zparseopts -E -A args J: - if [[ $args[-J] == all-expansions ]] - then - builtin compadd -A kept "$@" - kept=( ${(Q)${(z)kept}} ) - fi - builtin compadd "$@" - } - _expand_word - } always { - unfunction compadd - } -} - -zle -C _expand_word complete-word _expand_word_and_keep - -# This style is required to segregate the all-expansions group for -# purposes of _expand_word_and_keep. -zstyle ':completion:expand-word:expand:::all-expansions' group-name '' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keymap+widget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keymap+widget deleted file mode 100644 index c3e70ccb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/keymap+widget +++ /dev/null @@ -1,95 +0,0 @@ -#autoload - -## -# self-insert-by-keymap originally appeared in zsh-users/10559 (July 2006). -# Changes have been made to the widget naming scheme, based on feedback on -# the mailing list thread. -## - -emulate -L zsh -zmodload -i zsh/zleparameter || return 1 - -# Rebind the most common widgets to override in multiple keymaps. Ideally -# complete-word would also be in this list, but so many other things -# already rebind complete-word that doing so here is a waste of effort. - -local -a m -local w='' k='' -for w in self-insert accept-line forward-char backward-char \ - up-{,line-or-}history down-{,line-or-}history \ - magic-space backward-delete-char delete-char-or-list -do - - # If this is run early enough that all the widgets are still builtins, - # no explicit remapping is needed. If they've already been rebound, - # it's not safe to assume we can do so again. - - if [[ $widgets[$w] != (builtin|user:$w-by-keymap) ]] - then - m+="Cannot rebind $w: $widgets[$w]" - continue - fi - - function $w-by-keymap { - if (( $+widgets[$KEYMAP+$WIDGET] == 1 )) - then zle $KEYMAP+$WIDGET "$@" - else zle .$WIDGET "$@" - fi - } - - zle -N $w $w-by-keymap - -done - -[[ -n $m ]] && { zle && zle -M "${(F)m}" || print -l -u2 -R $m } - -return 0 - -# With this in place, you should rarely need "zle -N self-insert frob" -# again. Instead you do this: -# -# bindkey -N frobber main -# zle -N frobber+self-insert frob -# -# Then, whenever you wish to replace self-insert with frob, change -# keymaps: -# -# zle recursive-edit -K frobber - -# Here's a simple example, which improves upon the caps-lock example in -# the zsh manual entry for recursive-edit: -# -# ucase+self-insert() { -# LBUFFER+=${(U)KEYS[-1]} -# } -# zle -N ucase+self-insert -# caps-lock() { -# bindkey -N ucase $KEYMAP -# bindkey -M ucase "$KEYS" .accept-line -# zle recursive-edit -K ucase || zle send-break -# } -# zle -N caps-lock -# -# To turn this on, pick a key sequence (I've chosen ctrl-x shift-L) and -# bind the caps-lock widget to it: -# -# bindkey -M main '^XL' caps-lock - -# Another example of using a continuation widget to propagate accept-line -# (or any other binding from the original keymap) through the caller: -# -# bindkey -N newkeymap $KEYMAP -# recursive-edit-and-accept() { -# local -a __accepted -# zle -N newkeymap+accept-line end-recursive-edit -# zle recursive-edit -K newkeymap || zle send-break -# if [[ ${__accepted[0]} != end-recursive-edit ]] -# then zle "${__accepted[@]}"; return -# else return 0 -# fi -# } -# end-recursive-edit() { -# __accepted=($WIDGET ${=NUMERIC:+-n $NUMERIC} "$@") -# zle .accept-line -# return 0 -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/kill-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/kill-word-match deleted file mode 100644 index ffc5be72..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/kill-word-match +++ /dev/null @@ -1,36 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word done -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle backward-$WIDGET - return -fi - -while (( count-- )); do - match-words-by-style - - word="${(j..)matched_words[4,5]}" - - if [[ -n $word ]]; then - if [[ -n $done || $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$CUTBUFFER$word" - else - zle copy-region-as-kill -- $word - fi - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi - done=1 -done - -zle -f 'kill' - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-word-context b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-word-context deleted file mode 100644 index 8793483f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-word-context +++ /dev/null @@ -1,50 +0,0 @@ -# See if we can extend the word context to something more specific. -# curcontext must be set to the base context by this point; it -# will be appended to directly. - -emulate -L zsh -setopt extendedglob - -local -a worcon bufwords -local pat tag lastword word backword forword -integer iword between - -zstyle -a $curcontext word-context worcon || return 0 - -if (( ${#worcon} % 2 )); then - zle -M "Bad word-context style in context $curcontext" - return -fi - -bufwords=(${(z)LBUFFER}) -iword=${#bufwords} -lastword=${bufwords[-1]} -bufwords=(${(z)BUFFER}) - -if [[ $lastword = ${bufwords[iword]} ]]; then - # If the word immediately left of the cursor is complete, - # we're not on it for forward operations. - forword=${bufwords[iword+1]} - # If, furthermore, we're on whitespace, then we're between words. - # It can't be significant whitespace because the previous word is complete. - [[ $RBUFFER[1] = [[:space:]] ]] && between=1 -else - # We're on a word. - forword=${bufwords[iword]} -fi -backword=${bufwords[iword]} - -if [[ between -ne 0 && $curcontext = *between* ]]; then - word=' ' -elif [[ $curcontext = *back* ]]; then - word=$backword -else - word=$forword -fi - -for pat tag in "${worcon[@]}"; do - if [[ $word = ${~pat} ]]; then - curcontext+=":$tag" - return - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-words-by-style b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-words-by-style deleted file mode 100644 index fc59c276..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/match-words-by-style +++ /dev/null @@ -1,296 +0,0 @@ -# Match words by the style given below. The matching depends on the -# cursor position. The matched_words array is set to the matched portions -# separately. These look like: -# <stuff-at-start> <word-before-cursor> <whitespace-before-cursor> -# <whitespace-after-cursor> <word-after-cursor> <whitespace-after-word> -# <stuff-at-end> -# where the cursor position is always after the third item and `after' -# is to be interpreted as `after or on'. -# -# matched_words may be an associative array, in which case the -# values above are now given by the elements named start, word-before-cursor, -# ws-before-cursor, ws-after-cursor, word-after-cursor, ws-after-word, -# end. In addition, the element is-word-start is 1 if the cursor -# is on the start of a word; this is non-trivial in the case of subword -# (camel case) matching as there may be no white space to test. -# -# Some of the array elements will be empty; this depends on the style. -# For example -# foo bar rod stick -# ^ -# with the cursor where indicated will with typical settings produce the -# elements `foo ', `bar', ` ', ` ', `rod', ` ' and `stick'. -# -# The style word-style can be set to indicate what a word is. -# The three possibilities are: -# -# shell Words are shell words, i.e. elements of a command line. -# whitespace Words are space delimited words; only space or tab characters -# are considered to terminated a word. -# normal (the default): the usual zle logic is applied, with all -# alphanumeric characters plus any characters in $WORDCHARS -# considered parts of a word. The style word-chars overrides -# the parameter. (Any currently undefined value will be -# treated as `normal', but this should not be relied upon.) -# specified Similar to normal, except that only the words given -# in the string (and not also alphanumeric characters) -# are to be considered parts of words. -# unspecified The negation of `specified': the characters given -# are those that aren't to be considered parts of a word. -# They should probably include white space. -# -# In the case of the `normal' or `(un)specified', more control on the -# behaviour can be obtained by setting the style `word-chars' for the -# current context. The value is used to override $WORDCHARS locally. -# Hence, -# zstyle ':zle:transpose-words*' word-style normal -# zstyle ':zle:transpose-words*' word-chars '' -# will force bash-style word recognition, i.e only alphanumeric characters -# are considered parts of a word. It is up to the function which calls -# match-words-by-style to set the context in the variable curcontext, -# else a default context will be used (not recommended). -# -# You can override the use of word-chars with the style word-class. -# This specifies the same information, but as a character class. -# The surrounding square brackets shouldn't be given, but anything -# which can appear inside is allowed. For example, -# zstyle ':zle:*' word-class '-:[:alnum:]' -# is valid. Note the usual care with `]' , `^' and `-' must be taken if -# they need to appear as individual characters rather than for grouping. -# -# The final style is `skip-chars'. This is an integer; that many -# characters counting the one under the cursor will be treated as -# whitespace regardless and added to the front of the fourth element of -# matched_words. The default is zero, i.e. the character under the cursor -# will appear in <whitespace-after-cursor> if it is whitespace, else in -# <word-after-cursor>. This style is mostly useful for forcing -# transposition to ignore the current character. -# -# The values of the styles can be overridden by options to the function: -# -w <word-style> -# -s <skip-chars> -# -c <word-class> -# -C <word-chars> - -emulate -L zsh -setopt extendedglob - -local wordstyle spacepat wordpat1 wordpat2 opt charskip wordchars wordclass -local match mbegin mend pat1 pat2 word1 word2 ws1 ws2 ws3 skip -local nwords MATCH MBEGIN MEND subwordrange - -local curcontext=${curcontext:-:zle:match-words-by-style} - -autoload -Uz match-word-context -match-word-context - -while getopts "w:s:c:C:r:" opt; do - case $opt in - (w) - wordstyle=$OPTARG - ;; - - (s) - skip=$OPTARG - ;; - - (c) - wordclass=$OPTARG - ;; - - (C) - wordchars=$OPTARG - ;; - - (r) - subwordrange=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done - -[[ -z $wordstyle ]] && zstyle -s $curcontext word-style wordstyle -[[ -z $skip ]] && zstyle -s $curcontext skip-chars skip -[[ -z $skip ]] && skip=0 - -case $wordstyle in - (*shell*) local bufwords - # This splits the line into words as the shell understands them. - bufwords=(${(Z:n:)LBUFFER}) - nwords=${#bufwords} - wordpat1="${(q)bufwords[-1]}" - - # Take substring of RBUFFER to skip over $skip characters - # from the cursor position. - bufwords=(${(Z:n:)RBUFFER[1+$skip,-1]}) - wordpat2="${(q)bufwords[1]}" - spacepat='[[:space:]]#' - - # Assume the words are at the top level, i.e. if we are inside - # 'something with spaces' then we need to ignore the embedded - # spaces and consider the whole word. - bufwords=(${(Z:n:)BUFFER}) - if (( ${#bufwords[$nwords]} > ${#wordpat1} )); then - # Yes, we're in the middle of a shell word. - # Find out what's in front. - eval pat1='${LBUFFER%%(#b)('${wordpat1}')('${spacepat}')}' - # Now everything from ${#pat1}+1 is wordy - wordpat1=${LBUFFER[${#pat1}+1,-1]} - wordpat2=${RBUFFER[1,${#bufwords[$nwords]}-${#wordpat1}+1]} - - wordpat1=${(q)wordpat1} - wordpat2=${(q)wordpat2} - fi - ;; - (*space*) spacepat='[[:space:]]#' - wordpat1='[^[:space:]]##' - wordpat2=$wordpat1 - ;; - (*) local wc - # See if there is a character class. - wc=$wordclass - if [[ -n $wc ]] || zstyle -s $curcontext word-class wc; then - # Treat as a character class: do minimal quoting. - wc=${wc//(#m)[\'\"\`\$\(\)\^]/\\$MATCH} - else - # See if there is a local version of $WORDCHARS. - wc=$wordchars - if [[ -z $wc ]]; then - zstyle -s $curcontext word-chars wc || - wc=$WORDCHARS - fi - if [[ $wc = (#b)(?*)-(*) ]]; then - # We need to bring any `-' to the front to avoid confusing - # character classes... we get away with `]' since in zsh - # this isn't a pattern character if it's quoted. - wc=-$match[1]$match[2] - fi - wc="${(q)wc}" - fi - # Quote $wc where necessary, because we don't want those - # characters to be considered as pattern characters later on. - if [[ $wordstyle = *specified* ]]; then - if [[ $wordstyle != *unspecified* ]]; then - # The given set of characters are the word characters, nothing else - wordpat1="[${wc}]##" - # anything else is a space. - spacepat="[^${wc}]#" - else - # The other way round. - wordpat1="[^${wc}]##" - spacepat="[${wc}]#" - fi - else - # Normal: similar, but add alphanumerics. - wordpat1="[${wc}[:alnum:]]##" - spacepat="[^${wc}[:alnum:]]#" - fi - wordpat2=$wordpat1 - ;; -esac - -# The eval makes any special characters in the parameters active. -# In particular, we need the surrounding `[' s to be `real'. -# This is why we quoted the wordpats in the `shell' option, where -# they have to be treated as literal strings at this point. -match=() -eval pat1='${LBUFFER%%(#b)('${wordpat1}')('${spacepat}')}' -word1=$match[1] -ws1=$match[2] - -if [[ $wordstyle = *subword* ]]; then - if [[ -z $subwordrange ]] && - ! zstyle -s $curcontext subword-range subwordrange; then - subwordrange='[:upper:]' - fi - # The rule here is that a word boundary may be an upper case letter - # followed by a lower case letter, or an upper case letter at - # the start of a group of upper case letters. To make - # it easier to be consistent, we just use anything that - # isn't an upper case character instead of a lower case - # character. - # Here the initial "*" will match greedily, so we get the - # last such match, as we want. - integer epos - if [[ $word1 = (#b)(*)([${~subwordrange}][^${~subwordrange}]*) ]]; then - (( epos = ${#match[1]} )) - fi - if [[ $word1 = (#b)(*[^${~subwordrange}])([${~subwordrange}]*) ]]; then - (( ${#match[1]} > epos )) && (( epos = ${#match[1]} )) - fi - if (( epos > 0 )); then - pat1+=$word1[1,epos] - word1=$word1[epos+1,-1] - fi -fi - -match=() -charskip=${(l:skip::?:)} - -eval pat2='${RBUFFER##(#b)('${charskip}${spacepat}')('\ -${wordpat2}')('${spacepat}')}' -if [[ -n $match[2] ]]; then - ws2=$match[1] - word2=$match[2] - ws3=$match[3] -else - # No more words, so anything left is white space after cursor. - ws2=$RBUFFER - pat2= -fi - -integer wordstart -[[ ( -n $ws1 || -n $ws2 ) && -n $word2 ]] && wordstart=1 -if [[ $wordstyle = *subword* ]]; then - # Do we have a group of upper case characters at the start - # of word2 (that don't form the entire word)? - # Again, rely on greedy matching of first pattern. - if [[ $word2 = (#b)([${~subwordrange}][${~subwordrange}]##)(*) && - -n $match[2] ]]; then - # Yes, so the last one is new word boundary. - (( epos = ${#match[1]} - 1 )) - # Otherwise, are we in the middle of a word? - # In other, er, words, we've got something on the left with no - # white space following and something that doesn't start a word here. - elif [[ -n $word1 && -z $ws1 && -z $ws2 && \ - $word2 = (#b)([^${~subwordrange}]##)* ]]; then - (( epos = ${#match[1]} )) - # Otherwise, do we have upper followed by non-upper not - # at the start? Ignore the initial character, we already - # know it's a word boundary so it can be an upper case character - # if it wants. - elif [[ $word2 = (#b)(?[^${~subwordrange}]##)[${~subwordrange}]* ]]; then - (( epos = ${#match[1]} )) - (( wordstart = 1 )) - else - (( epos = 0 )) - fi - if (( epos )); then - # Careful: if we matched a subword there's no whitespace immediately - # after the matched word, so ws3 should be empty and any existing - # value tacked onto pat2. - pat2="${word2[epos+1,-1]}$ws3$pat2" - ws3= - word2=$word2[1,epos] - fi -fi - -# matched_words should be local to caller. -# Just fix type here. -if [[ ${(t)matched_words} = *association* ]]; then - matched_words=( - start "$pat1" - word-before-cursor "$word1" - ws-before-cursor "$ws1" - ws-after-cursor "$ws2" - word-after-cursor "$word2" - ws-after-word "$ws3" - end "$pat2" - is-word-start $wordstart - ) -else - matched_words=("$pat1" "$word1" "$ws1" "$ws2" "$word2" "$ws3" "$pat2") -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/mere b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/mere deleted file mode 100644 index 410be9ab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/mere +++ /dev/null @@ -1,89 +0,0 @@ -# read a man page - -setopt localoptions extendedglob - -local manual="$1" col=col terminal=man magic line - -# /usr/bin/col on SunOS 4 doesn't support -x. -if [[ -x /usr/5bin/col ]]; then - col=/usr/5bin/col; -fi - -# SunOS 5 has no `man' terminal. -if [[ -d /usr/share/lib/nterm && - ! -e /usr/share/lib/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# HP-UX has no `man' terminal. -if [[ -d /usr/share/lib/term && - ! -e /usr/share/lib/term/tab$terminal ]]; then - terminal=lp; -fi - -# IRIX has no `man' terminal. -if [[ -d /usr/lib/nterm && - ! -e /usr/lib/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# Unixware has no `man' terminal. -if [[ -d /usr/ucblib/doctools/nterm && - ! -e /usr/ucblib/doctools/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# Solaris has SGML manuals. -if [[ -f /usr/lib/sgml/sgml2roff ]] && - [[ "$(read -er < $manual)" = "<!DOCTYPE"* ]]; then - /usr/lib/sgml/sgml2roff $manual | { - read -r line - if [[ $line = ".so "* ]]; then - # There is no cascading .so directive. - # On Solaris 7, at least. - /usr/lib/sgml/sgml2roff ${line#.so } - else - print -lr - "$line" - cat - fi - } -else - read -u0 -k 2 magic < $manual - case $magic in - $'\037\235') zcat $manual;; - $'\037\213') gzip -dc $manual;; - *) cat $manual;; - esac -fi | ( - # cd is required to work soelim called by nroff. - case $manual in - */man/man*/*) cd ${manual:h:h};; - */man/sman*/*) cd ${manual:h:h};; - esac - read -r line - # The first line beginning with '\" shows preprocessors. - # Unknown preprocessors is ignored. - if [[ $line = "'\\\" "* ]]; then - typeset -A filter - filter=( - e neqn - g grap - p pic - r refer - t tbl - v vgrind - ) - eval ${(j:|:)${${(s::)line#\'\\\" }//(#m)?/$filter[$MATCH]}} - elif [[ $line = "'\\\"! "* ]]; then - typeset -A filter - filter=( - eqn neqn - ) - eval ${(j:|:)${${${${(s:|:)line#\'\\\"! }# ##}% ##}//(#m)*/$filter[$MATCH]}} - else - print -lr - "$line" - cat - fi | - nroff -T$terminal -man | $col -x -) | -${=MANPAGER:-${PAGER:-more}} -s diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/modify-current-argument b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/modify-current-argument deleted file mode 100644 index 941eb80a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/modify-current-argument +++ /dev/null @@ -1,84 +0,0 @@ -# Take an expression suitable for interpolation in double quotes that -# performs a replacement on the parameter "ARG". Replaces the -# shell argument (which may be a quoted string) under or before the -# cursor with that. Ensure the expression is suitable quoted. -# -# For example, to uppercase the entire shell argument: -# modify-current-argument '${(U)ARG}' -# To strip the current quoting from the word (whether backslashes or -# single, double or dollar quotes) and use single quotes instead: -# modify-current-argument '${(qq)${(Q)ARG}}' - -# Retain most options from the calling function for the eval. -# Reset some that might confuse things. -setopt localoptions noksharrays multibyte - -local -a reply -integer posword poschar fromend endoffset -local REPLY REPLY2 - -autoload -Uz split-shell-arguments -split-shell-arguments - -(( posword = REPLY, poschar = REPLY2 )) - -# Can't do this unless there's some text under or left of us. -(( posword < 2 )) && return 1 - -# Get the index of the word we want. -if (( posword & 1 )); then - # Odd position; need previous word. - (( posword-- )) - # Pretend position was just after the end of it. - (( poschar = ${#reply[posword]} + 1 )) -fi - -# Work out offset from end of string -(( fromend = $poschar - ${#reply[posword]} - 1 )) -if (( fromend >= -1 )); then - # Cursor is near the end of the word, we'll try to keep it there. - endoffset=1 -fi - -# Length of all characters before current. -# Force use of character (not index) counting and join without IFS. -integer wordoff="${(cj..)#reply[1,posword-1]}" - -# Replacement for current word. This could do anything to ${reply[posword]}. -local ARG="${reply[posword]}" repl -if [[ $1 != *ARG* ]]; then - REPLY= - $1 $ARG || return 1 - repl=$REPLY -else - eval repl=\"$1\" -fi - -if (( !endoffset )) && [[ ${repl[fromend,-1]} = ${ARG[fromend,-1]} ]]; then - # If the part of the string from here to the end hasn't changed, - # leave the cursor this distance from the end instead of the beginning. - endoffset=1 -fi - -# New line: all words before and after current word, with -# no additional spaces since we've already got the whitespace -# and the replacement word in the middle. -local left="${(j..)reply[1,posword-1]}${repl}" -local right="${(j..)reply[posword+1,-1]}" - -if [[ endoffset -ne 0 && ${#repl} -ne 0 ]]; then - # Place cursor relative to end. - LBUFFER="$left" - RBUFFER="$right" - (( CURSOR += fromend )) -else - BUFFER="$left$right" - - # Keep cursor at same position in replaced word. - # Redundant here, but useful if $repl changes the length. - # Limit to the next position after the end of the word. - integer repmax=$(( ${#repl} + 1 )) - # Remember CURSOR starts from offset 0 for some reason, so - # subtract 1 from positions. - (( CURSOR = wordoff + (poschar > repmax ? repmax : poschar) - 1 )) -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/move-line-in-buffer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/move-line-in-buffer deleted file mode 100644 index 5f37a9d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/move-line-in-buffer +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -# Line motions that do not leave the current history entry, -# for editing in multi-line buffers. - -# To use: -# autoload -Uz move-line-in-buffer -# zle -N up-line-in-buffer move-line-in-buffer -# zle -N down-line-in-buffer move-line-in-buffer -# -# then bindkey as you prefer - -local hno=$HISTNO curs=$CURSOR -zle .${WIDGET:s/in-buffer/or-history} "$@" && - (( HISTNO != hno && (HISTNO=hno, CURSOR=curs) )) -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region deleted file mode 100644 index 261d821a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region +++ /dev/null @@ -1,155 +0,0 @@ -# Restrict the start of the editable line to the region between cursor -# and mark (including the character at the end). Can be bound used as -# a zle widget, or called as a function from another widget. -# -# Optionally accepts exactly two arguments, which are used instead of -# $CURSOR and $MARK as limits to the range. -# -# Upon exit, $MARK is always the start of the edited range and $CURSOR -# the end of the range, even if they began in the opposite order. -# -# Other options: -# -p pretext show "pretext" instead of the buffer text before the region. -# -P posttext show "posttext" instead of the buffer text after the region. -# Either or both may be empty. -# -n Only replace the text before or after the region with -# the -p or -P options if the text was not empty. -# -l lbufvar $lbufvar is assigned the value of $LBUFFER and -# -r rbufvar $rbufvar is assigned the value of $RBUFFER -# from any recursive edit (i.e. not with -S or -R). Neither -# lbufvar nor rbufvar may begin with the prefix "_ntr_". -# -S statevar -# -R statevar -# Save or restore the state in/from the parameter named statevar. In -# either case no recursive editing takes place; this will typically be -# done within the calling function between calls with -S and -R. The -# statevar may not begin with the prefix "_ntr_" which is reserved for -# parameters within narrow-to-region. - -# set the minimum of options to avoid changing behaviour away from -# user preferences from within recursive-edit -setopt localoptions noshwordsplit noksharrays - -local _ntr_newbuf _ntr_lbuf_return _ntr_rbuf_return -local _ntr_predisplay=$PREDISPLAY _ntr_postdisplay=$POSTDISPLAY -integer _ntr_savelim=UNDO_LIMIT_NO _ntr_changeno _ntr_histno=HISTNO -integer _ntr_start _ntr_end _ntr_swap _ntr_cursor=$CURSOR _ntr_mark=$MARK -integer _ntr_stat - -local _ntr_opt _ntr_pretext _ntr_posttext _ntr_usepretext _ntr_useposttext -local _ntr_nonempty _ntr_save _ntr_restore _ntr_lbuffer _ntr_rbuffer - -while getopts "l:np:P:r:R:S:" _ntr_opt; do - case $_ntr_opt in - (l) _ntr_lbuf_return=$OPTARG - ;; - (n) _ntr_nonempty=1 - ;; - (p) _ntr_pretext=$OPTARG _ntr_usepretext=1 - ;; - (P) _ntr_posttext=$OPTARG _ntr_useposttext=1 - ;; - (r) _ntr_rbuf_return=$OPTARG - ;; - (R) _ntr_restore=$OPTARG - ;; - (S) _ntr_save=$OPTARG - ;; - (*) [[ $_ntr_opt != '?' ]] && print "$0: unhandled option: $_ntr_opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ $_ntr_restore = _ntr_* || $_ntr_save = _ntr_* || - $_ntr_lbuf_return = _ntr_* || $_ntr_rbuf_return = _ntr_* ]]; then - zle -M "$0: _ntr_ prefix is reserved" >&2 - return 1 -fi - -if [[ -n $_ntr_save || -z $_ntr_restore ]]; then - - if (( $# )); then - if (( $# != 2 )); then - zle -M "$0: supply zero or two arguments" >&2 - return 1 - fi - _ntr_start=$1 - _ntr_end=$2 - else - _ntr_start=$MARK - _ntr_end=$CURSOR - fi - - if (( _ntr_start > _ntr_end )); then - _ntr_swap=_ntr_start - _ntr_start=_ntr_end - _ntr_end=_ntr_swap - fi - - (( _ntr_cursor -= _ntr_start, _ntr_mark -= _ntr_start )) - - _ntr_lbuffer=${BUFFER[1,_ntr_start]} - if [[ -z $_ntr_usepretext || ( -n $_ntr_nonempty && -z $_ntr_lbuffer ) ]] - then - _ntr_pretext=$_ntr_lbuffer - fi - _ntr_rbuffer=${BUFFER[_ntr_end+1,-1]} - if [[ -z $_ntr_useposttext || ( -n $_ntr_nonempty && -z $_ntr_rbuffer ) ]] - then - _ntr_posttext=$_ntr_rbuffer - fi - _ntr_changeno=$UNDO_CHANGE_NO - PREDISPLAY="$_ntr_predisplay$_ntr_pretext" - POSTDISPLAY="$_ntr_posttext$_ntr_postdisplay" - - if [[ -n $_ntr_save ]]; then - builtin typeset -ga $_ntr_save - set -A $_ntr_save "${_ntr_predisplay}" "${_ntr_postdisplay}" \ - "${_ntr_savelim}" "${_ntr_changeno}" \ - "${_ntr_start}" "${_ntr_end}" "${_ntr_histno}" || return 1 - fi - - BUFFER=${BUFFER[_ntr_start+1,_ntr_end]} - CURSOR=$_ntr_cursor - MARK=$_ntr_mark - zle split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO -fi - -if [[ -z $_ntr_save && -z $_ntr_restore ]]; then - zle recursive-edit - _ntr_stat=$? - - [[ -n $_ntr_lbuf_return ]] && - builtin typeset -g ${_ntr_lbuf_return}="${LBUFFER}" - [[ -n $_ntr_rbuf_return ]] && - builtin typeset -g ${_ntr_rbuf_return}="${RBUFFER}" -fi - -if [[ -n $_ntr_restore || -z $_ntr_save ]]; then - if [[ -n $_ntr_restore ]]; then - if ! { _ntr_predisplay="${${(@P)_ntr_restore}[1]}" - _ntr_postdisplay="${${(@P)_ntr_restore}[2]}" - _ntr_savelim="${${(@P)_ntr_restore}[3]}" - _ntr_changeno="${${(@P)_ntr_restore}[4]}" - _ntr_start="${${(@P)_ntr_restore}[5]}" - _ntr_end="${${(@P)_ntr_restore}[6]}" - _ntr_histno="${${(@P)_ntr_restore}[7]}" }; then - zle -M Failed. >&2 - return 1 - fi - fi - - _ntr_newbuf="$BUFFER" - HISTNO=_ntr_histno - zle undo $_ntr_changeno - PREDISPLAY=$_ntr_predisplay - POSTDISPLAY=$_ntr_postdisplay - BUFFER[_ntr_start+1,_ntr_end]="$_ntr_newbuf" - (( MARK = _ntr_start, CURSOR = _ntr_start + ${#_ntr_newbuf} )) - UNDO_LIMIT_NO=_ntr_savelim -fi - -return $_ntr_stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region-invisible b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region-invisible deleted file mode 100644 index 312522d0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/narrow-to-region-invisible +++ /dev/null @@ -1,5 +0,0 @@ -# As narrow-to-region, but replaces the text outside the editable region -# with `...' if it was non-empty. Can be used directly as a widget. - -autoload -Uz narrow-to-region -narrow-to-region -p '...' -P '...' -n diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/nslookup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/nslookup deleted file mode 100644 index 8c11909d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/nslookup +++ /dev/null @@ -1,47 +0,0 @@ -# Simple wrapper function for `nslookup'. With completion if you are using -# the function based completion system. - -if [[ $argv[(I)-] -eq 0 && $argv[(I)[^-]*] -ne 0 ]]; then - command nslookup "$@" - return -fi - -setopt localoptions localtraps completealiases - -local tmp line compcontext=nslookup curcontext='nslookup:::' pmpt -local pager opager="$PAGER" -typeset +g -x PAGER=cat - -zmodload -e zsh/zpty || zmodload -i zsh/zpty - -trap 'return 130' INT -trap 'zpty -d nslookup' EXIT - -pmpt=() -zstyle -s ':nslookup' prompt tmp && pmpt=(-p "$tmp") -zstyle -s ':nslookup' rprompt tmp && pmpt=("$pmpt[@]" -r "$tmp") -zstyle -s ':nslookup' pager tmp && - [[ -z "$pager" ]] && pager="${opager:-more}" -(( $#pmpt )) || pmpt=(-p '> ') - -zpty nslookup command nslookup "${(q)@}" - -zpty -r nslookup line '*> ' -print -nr "$line" - -while line=''; vared -he "$pmpt[@]" line; do - print -s "$line" - [[ "$line" = exit ]] && break - - zpty -w nslookup "$line" - - zpty -r nslookup line '(|* -)> ' - if [[ -n "$pager" && ${#${(f)line}} -gt LINES ]]; then - print -nr "$line" | eval "$pager" - else - print -nr "$line" - fi -done - -zpty -w nslookup 'exit' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/pick-web-browser b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/pick-web-browser deleted file mode 100644 index 26f4b6bb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/pick-web-browser +++ /dev/null @@ -1,161 +0,0 @@ -# Function to find a web browser to run on a URL or file. -# Can also be run as a script. It is suitable for use as -# a suffix alias: -# alias -s html=pick-web-browser -# -# The single argument is the URL or file name which may be of any type. -# The only processing which occurs is that if the argument is a file, -# it is converted into a URL. As the function takes account of -# any necessary conversions to the file name (for example, if it -# contains spaces), it is generally preferable to pass in raw file -# names rather than convert them to URLs elsewhere. -# -# The function takes account of the fact that many X Windows browsers -# which are already running on the current display can take a command -# to pass the URL to that process for handling. A typical sign -# that this has happened is that apparently nothing happens --- you -# need to check the browser window. -# -# If no $DISPLAY is set, the function tries to start a terminal-based -# browser instead. - -emulate -L zsh -setopt extendedglob cbases nonomatch warncreateglobal - -zmodload -i zsh/zutil - -local -a xbrowsers ttybrowsers - -# X Windows browsers which might be running and can accept -# a remote URL. -zstyle -a :mime: x-browsers xbrowsers || - xbrowsers=(firefox mozilla netscape opera konqueror) -# Preferred command line browsers. -zstyle -a :mime: tty-browsers ttybrowsers || - ttybrowsers=(elinks links lynx) -# Characters in addition to alphanumerics which can appear literally -# in a URL. `-' should be the first if it appears, so append others -# to the end. -local litc="-_./" - -local -a windows remoteargs match mbegin mend -local url browser command - -url=$1 -if [[ -f $url ]]; then - if [[ $url = *[^-_[:alnum:]]* ]]; then - # Convert special characters into hex escapes. - local sofar - while [[ $url = (#b)([${litc}[:alnum:]]#)([^${litc}[:alnum:]])(*) ]] - do - sofar+="$match[1]%${$(( [#16] ##$match[2] ))##0x}" - url=$match[3] - done - url="$sofar$url" - fi - - # Turn this into a local URL - if [[ $url = /* ]]; then - url=file://$url - else - url=file://$PWD/$url - fi -fi - -local bstyle -local -a bstyles -zstyle -a :mime: browser-styles bstyles || bstyles=(running x tty) - -for bstyle in $bstyles; do - case $bstyle in - (running) - [[ -z $DISPLAY ]] && continue - # X Windows running - - # Get the name of all windows running; use the internal name, not - # the friendly name, which is less useful. - - windows=(${(ou)${(M)${(f)"$(xwininfo -root -all)"}:#*\"*\"\:[[:space:]]\(\"*}/(#b)*\"*\"\:[[:space:]]\(\"(*)\"[[:space:]]\"*\"\)*/$match[1]}) - #windows=(${(f)"$(xwininfo -root -all | - # perl -ne '/.*"(.*)": \("(.*)" "(.*)"\).*/ and $w{$2} = 1; - # END { print join("\n", keys %w), "\n" }')"}) - - # Is any browser we've heard of running? - for browser in $xbrowsers; do - # Some browser executables call themselves <browser>-bin - if [[ $windows[(I)(#i)$browser(|[.-]bin)] -ne 0 ]]; then - if zstyle -s ":mime:browser:running:${browser}:" command command; then - # The (q)'s here and below are pure paranoia: no browser - # name is going to include metacharacters, and we already - # converted difficult characters in the URL to hex. - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command - else - case $browser in - (konqueror) - # kfmclient is less hairy and better supported than direct - # use of dcop. Run kfmclient --commands - # for more information. Note that as konqueror is a fully - # featured file manager, this will actually do complete - # MIME handling, not just web pages. - kfmclient openURL $url || - dcop $(dcop|grep konqueror) default openBrowserWindow $url - ;; - - (firefox) - # open in new tab - $browser -new-tab $url - ;; - - (opera) - $browser -newpage $url - ;; - - (*) - # Mozilla bells and whistles are described at: - # http://www.mozilla.org/unix/remote.html - $browser -remote "openURL($url)" - ;; - esac - fi - return - fi - done - ;; - - (x) - [[ -z $DISPLAY ]] && continue - # Start our preferred X Windows browser in the background. - for browser in $xbrowsers; do - if eval "[[ =$browser != \\=$browser ]]"; then - if zstyle -s ":mime:browser:new:${browser}:" command command; then - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command "&" - else - # The following is to make the job text more readable. - eval ${(q)browser} ${(q)url} "&" - fi - return - fi - done - ;; - - (tty) - # Start up dumb terminal browser. - for browser in $ttybrowsers; do - if eval "[[ =$browser != \\=$browser ]]"; then - if zstyle -s ":mime:browser:new:${browser}" command command; then - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command - else - $browser $url - fi - return - fi - done - ;; - esac -done - -# No eligible browser. -return 255 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/predict-on b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/predict-on deleted file mode 100644 index 57fe048d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/predict-on +++ /dev/null @@ -1,149 +0,0 @@ -# This set of functions implements a sort of magic history searching. -# After predict-on, typing characters causes the editor to look backward -# in the history for the first line beginning with what you have typed so -# far. After predict-off, editing returns to normal for the line found. -# In fact, you often don't even need to use predict-off, because if the -# line doesn't match something in the history, adding a key performs -# standard completion --- though editing in the middle is liable to delete -# the rest of the line. -# -# With the function based completion system (which is needed for this), -# you should be able to type TAB at almost any point to advance the cursor -# to the next "interesting" character position (usually the end of the -# current word, but sometimes somewhere in the middle of the word). And -# of course as soon as the entire line is what you want, you can accept -# with RETURN, without needing to move the cursor to the end first. -# -# To use it: -# autoload -Uz predict-on -# zle -N predict-on -# zle -N predict-off -# bindkey '...' predict-on -# bindkey '...' predict-off -# Note that all functions are defined when you first type the predict-on -# key, which means typing the predict-off key before that gives a harmless -# error message. - -predict-on() { - zle -N self-insert insert-and-predict - zle -N magic-space insert-and-predict - zle -N backward-delete-char delete-backward-and-predict - zle -N delete-char-or-list delete-no-predict - zstyle -t :predict verbose && zle -M predict-on - return 0 -} -predict-off() { - zle -A .self-insert self-insert - zle -A .magic-space magic-space - zle -A .backward-delete-char backward-delete-char - zstyle -t :predict verbose && zle -M predict-off - return 0 -} -insert-and-predict () { - setopt localoptions noshwordsplit noksharrays - - if [[ $LBUFFER == *$'\012'* ]] || (( PENDING )) - then - # Editing a multiline buffer or pasting in a chunk of text; - # it's unlikely prediction is wanted - zstyle -t ":predict" toggle && predict-off - zle .$WIDGET "$@" - return - elif [[ ${RBUFFER[1]} == ${KEYS[-1]} ]] - then - # Same as what's typed, just move on - ((++CURSOR)) - else - LBUFFER="$LBUFFER$KEYS" - if [[ $LASTWIDGET == (self-insert|magic-space|backward-delete-char) || - $LASTWIDGET == (complete-word|accept-*|predict-*|zle-line-init) ]] - then - if ! zle .history-beginning-search-backward - then - RBUFFER="" - if [[ ${KEYS[-1]} != ' ' ]] - then - unsetopt automenu recexact - integer curs=$CURSOR pos nchar=${#LBUFFER//[^${KEYS[-1]}]} - local -a +h comppostfuncs - local crs curcontext="predict:${${curcontext:-:::}#*:}" - - comppostfuncs=( predict-limit-list ) - zle complete-word - # Decide where to leave the cursor. The dummy loop is used to - # get out of that `case'. - repeat 1 - do - zstyle -s ":predict" cursor crs - case $crs in - (complete) - # At the place where the completion left it, if it is after - # the character typed. - [[ ${LBUFFER[-1]} = ${KEYS[-1]} ]] && break - ;& - (key) - # Or maybe at the n'th occurrence of the character typed. - pos=${BUFFER[(in:nchar:)${KEYS[-1]}]} - if [[ pos -gt curs ]] - then - CURSOR=$pos - break - fi - ;& - (*) - # Or else at the previous position. - CURSOR=$curs - esac - done - fi - fi - else - zstyle -t ":predict" toggle && predict-off - fi - fi - return 0 -} -delete-backward-and-predict() { - if (( $#LBUFFER > 1 )) - then - setopt localoptions noshwordsplit noksharrays - # When editing a multiline buffer, it's unlikely prediction is wanted; - # or if the last widget was e.g. a motion, then probably the intent is - # to actually edit the line, not change the search prefix. - if [[ $LBUFFER = *$'\012'* || - $LASTWIDGET != (self-insert|magic-space|backward-delete-char) ]] - then - zstyle -t ":predict" toggle && predict-off - LBUFFER="$LBUFFER[1,-2]" - else - ((--CURSOR)) - zle .history-beginning-search-forward || RBUFFER="" - return 0 - fi - else - zle .kill-whole-line - fi -} -delete-no-predict() { - [[ $WIDGET != delete-char-or-list || -n $RBUFFER ]] && predict-off - zle .$WIDGET "$@" -} - -# This is a helper function for autocompletion to prevent long lists -# of matches from forcing a "do you wish to see all ...?" prompt. - -predict-limit-list() { - if (( compstate[list_lines]+BUFFERLINES > LINES || - ( compstate[list_max] != 0 && - compstate[nmatches] > compstate[list_max] ) )) - then - compstate[list]='' - elif zstyle -t ":predict" list always - then - compstate[list]='force list' - fi -} - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || predict-on "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam1_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam1_setup deleted file mode 100644 index 27a613ca..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam1_setup +++ /dev/null @@ -1,55 +0,0 @@ -# adam1 prompt theme - -prompt_adam1_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt adam1 [<color1> [<color2> [<color3>]]] - -where the colors are for the user@host background, current working -directory, and current working directory if the prompt is split over -two lines respectively. The default colors are blue, cyan and green. -This theme works best with a dark background. - -Recommended fonts for this theme: nexus or vga or similar. If you -don't have any of these, then specify the `plain' option to use 7-bit -replacements for the 8-bit characters. -EOF -} - -prompt_adam1_setup () { - setopt localoptions nowarncreateglobal - prompt_adam1_color1=${1:-'blue'} - prompt_adam1_color2=${2:-'cyan'} - prompt_adam1_color3=${3:-'green'} - - base_prompt="%K{$prompt_adam1_color1}%n@%m%k " - post_prompt="%b%f%k" - - setopt localoptions extendedglob - base_prompt_no_color="${base_prompt//(%K{[^\\\}]#\}|%k)/}" - post_prompt_no_color="${post_prompt//(%K{[^\\\}]#\}|%k)/}" - - add-zsh-hook precmd prompt_adam1_precmd -} - -prompt_adam1_precmd () { - setopt localoptions noxtrace nowarncreateglobal - local base_prompt_expanded_no_color base_prompt_etc - local prompt_length space_left - - base_prompt_expanded_no_color=$(print -P "$base_prompt_no_color") - base_prompt_etc=$(print -P "$base_prompt%(4~|...|)%3~") - prompt_length=${#base_prompt_etc} - if [[ $prompt_length -lt 40 ]]; then - path_prompt="%B%F{$prompt_adam1_color2}%(4~|...|)%3~%F{white}" - else - space_left=$(( $COLUMNS - $#base_prompt_expanded_no_color - 2 )) - path_prompt="%B%F{$prompt_adam1_color3}%${space_left}<...<%~$prompt_newline%F{white}" - fi - PS1="$base_prompt$path_prompt %# $post_prompt" - PS2="$base_prompt$path_prompt %_> $post_prompt" - PS3="$base_prompt$path_prompt ?# $post_prompt" -} - -prompt_adam1_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam2_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam2_setup deleted file mode 100644 index b9445116..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_adam2_setup +++ /dev/null @@ -1,119 +0,0 @@ -# adam2 prompt theme - -prompt_adam2_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt adam2 [ 8bit ] [<color1> [<color2> [<color3>] [<color4>]] - -where the colors are for the hyphens, current directory, user@host, -and user input bits respectively. The default colors are cyan, green, -cyan, and white. This theme works best with a dark background. - -If you have either UTF-8 or the `nexus' or `vga' console fonts or similar, -you can specify the `8bit' option to use 8-bit replacements for the -7-bit characters. - -And you probably thought adam1 was overkill ... -EOF -} - -prompt_adam2_setup () { - # Some can't be local - setopt localoptions nowarncreateglobal - local prompt_gfx_tlc prompt_gfx_mlc prompt_gfx_blc - - if [[ $1 == '8bit' ]]; then - shift - if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then - prompt_gfx_tlc=$'\xe2\x94\x8c' - prompt_gfx_mlc=$'\xe2\x94\x9c' - prompt_gfx_blc=$'\xe2\x94\x94' - prompt_gfx_hyphen=$'\xe2\x94\x80' - else - prompt_gfx_tlc=$'\xda' - prompt_gfx_mlc=$'\xc3' - prompt_gfx_blc=$'\xc0' - prompt_gfx_hyphen=$'\xc4' - fi - else - prompt_gfx_tlc='.' - prompt_gfx_mlc='|' - prompt_gfx_blc='\`' - prompt_gfx_hyphen='-' - fi - - # Colour scheme - prompt_adam2_color1=${1:-'cyan'} # hyphens - prompt_adam2_color2=${2:-'green'} # current directory - prompt_adam2_color3=${3:-'cyan'} # user@host - prompt_adam2_color4=${4:-'white'} # user input - - local prompt_gfx_bbox - prompt_gfx_tbox="%B%F{$prompt_adam2_color1}${prompt_gfx_tlc}%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}" - prompt_gfx_bbox="%B%F{$prompt_adam2_color1}${prompt_gfx_blc}${prompt_gfx_hyphen}%b%F{$prompt_adam2_color1}" - - # This is a cute hack. Well I like it, anyway. - prompt_gfx_bbox_to_mbox=$'%{\e[A\r'"%}%B%F{$prompt_adam2_color1}${prompt_gfx_mlc}%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}%{"$'\e[B%}' - - prompt_l_paren="%B%F{black}(" - prompt_r_paren="%B%F{black})" - - prompt_user_host="%b%F{$prompt_adam2_color3}%n%B%F{$prompt_adam2_color3}@%b%F{$prompt_adam2_color3}%m" - - prompt_line_1a="$prompt_gfx_tbox$prompt_l_paren%B%F{$prompt_adam2_color2}%~$prompt_r_paren%b%F{$prompt_adam2_color1}" - prompt_line_1b="$prompt_l_paren$prompt_user_host$prompt_r_paren%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}" - - prompt_line_2="$prompt_gfx_bbox${prompt_gfx_hyphen}%B%F{white}" - - prompt_char="%(!.#.>)" - - prompt_opts=(cr subst percent) - - add-zsh-hook precmd prompt_adam2_precmd -} - -prompt_adam2_precmd() { - setopt localoptions extendedglob noxtrace nowarncreateglobal - local prompt_line_1 - - prompt_adam2_choose_prompt - - PS1="$prompt_line_1$prompt_newline$prompt_line_2%B%F{white}$prompt_char %b%f%k" - PS2="$prompt_line_2$prompt_gfx_bbox_to_mbox%B%F{white}%_> %b%f%k" - PS3="$prompt_line_2$prompt_gfx_bbox_to_mbox%B%F{white}?# %b%f%k" - zle_highlight[(r)default:*]="default:fg=$prompt_adam2_color4,bold" -} - -prompt_adam2_choose_prompt () { - local prompt_line_1a_width=${#${(S%%)prompt_line_1a//(\%([KF1]|)\{*\}|\%[Bbkf])}} - local prompt_line_1b_width=${#${(S%%)prompt_line_1b//(\%([KF1]|)\{*\}|\%[Bbkf])}} - - local prompt_padding_size=$(( COLUMNS - - prompt_line_1a_width - - prompt_line_1b_width )) - - # Try to fit in long path and user@host. - if (( prompt_padding_size > 0 )); then - local prompt_padding - eval "prompt_padding=\${(l:${prompt_padding_size}::${prompt_gfx_hyphen}:)_empty_zz}" - prompt_line_1="$prompt_line_1a$prompt_padding$prompt_line_1b" - return - fi - - prompt_padding_size=$(( COLUMNS - prompt_line_1a_width )) - - # Didn't fit; try to fit in just long path. - if (( prompt_padding_size > 0 )); then - local prompt_padding - eval "prompt_padding=\${(l:${prompt_padding_size}::${prompt_gfx_hyphen}:)_empty_zz}" - prompt_line_1="$prompt_line_1a$prompt_padding" - return - fi - - # Still didn't fit; truncate - local prompt_pwd_size=$(( COLUMNS - 5 )) - prompt_line_1="$prompt_gfx_tbox$prompt_l_paren%B%F{$prompt_adam2_color2}%$prompt_pwd_size<...<%~%<<$prompt_r_paren%b%F{$prompt_adam2_color1}$prompt_gfx_hyphen" -} - -prompt_adam2_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bart_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bart_setup deleted file mode 100644 index 6de41223..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bart_setup +++ /dev/null @@ -1,244 +0,0 @@ -zmodload -i zsh/parameter || return 1 - -prompt_bart_help () { - setopt localoptions nocshnullcmd noshnullcmd - [[ $ZSH_VERSION < 4.2.2 ]] && - print 'Requires ZSH_VERSION 4.2.2'$'\n' - <<-\EOF - This prompt gives the effect of left and right prompts on the upper - line of a two-line prompt. It also illustrates including history - text in the prompt. The lower line is initialized from the last - (or only) line of whatever prompt was previously in effect. - - prompt bart [on|off] [color...] - - You may provide up to five colors, though only three colors (red, - blue, and the default foreground) are used if no arguments are - given. The defaults look best on a light background. - - No background colors or hardwired cursor motion escapes are used, - and it is not necessary to setopt promptsubst. - - The "off" token temporarily disables the theme; "on" restores it. - Note, this does NOT fully reset to the original prompt state, it - only hides/reveals the extra lines above the command line and - removes the supporting hooks. - EOF - [[ $(read -sek 1 "?${(%):-%S[press return]%s}") == [Qq] ]] && - print -nP '\r%E' && return - <<-\EOF - - The "upper left prompt" looks like: - machine [last command] /current/working/dir - The first three color arguments apply to these components. The - last command is shown in standout mode if the exit status was - nonzero, or underlined if the job was stopped. - - If the last command is too wide to fit without truncating the - current directory, it is put on a middle line by itself. The - current directory uses %~, so namedir abbreviation applies. - - The "upper right prompt" looks like: - date time - The fourth color is used for the date, and the first again for the - time. As with RPS1, first the date and then the time disappear as - the upper left prompt grows too wide. The clock is not live; it - changes only after each command, as does the rest of the prompt. - EOF - [[ $(read -sek 1 "?${(%):-%S[press return]%s}") == [Qq] ]] && - print -nP '\r%E' && return - <<-\EOF - - When RPS1 (RPROMPT) is set before this prompt is selected and a - fifth color is specified, that color is turned on before RPS1 is - displayed and reset after it. Other color changes within RPS1, if - any, remain in effect. This also applies to RPS2 (RPROMPT2). - If a fifth color is specified and there is no RPS2, PS2 (PROMPT2) - is colored and moved to RPS2. Changes to RPS1/RPS2 are currently - not reverted when the theme is switched off. These work best with - the TRANSIENT_RPROMPT option, which must be set separately. - - This theme hijacks psvar[7] through [9] to avoid having to reset - the entire PS1 string on every command. It uses TRAPWINCH to set - the position of the upper right prompt on a window resize, so the - prompt may not match the window width until the next command. - - When setopt nopromptcr is in effect, an ANSI terminal protocol - exchange is attempted in order to determine the current cursor - column, and the width of the upper prompt is adjusted accordingly. - If your terminal is not ANSI compliant, this may cause unexpected - behavior, and in any case it may consume typeahead. (Recommended - workaround is to setopt promptcr.) - EOF - [[ $(read -sek 1 "?${(%):-%S[done]%s}") == $'\n' ]] || - print -nP '\n%E' -} - -integer -g PSCOL=1 -typeset -g PSCMD= - -prompt_bart_preexec () { - setopt localoptions noxtrace noshwordsplit noksharrays unset - local -a cmd; cmd=( ${(z)3} ) - if [[ $cmd[1] = fg ]] - then - shift cmd - cmd[1]=${cmd[1]:-%+} - fi - if [[ $#cmd -eq 1 && $cmd[1] = %* ]] - then - PSCMD=$jobtexts[$cmd[1]] - elif [[ -o autoresume && -n $jobtexts[%?$2] ]] - then - PSCMD=$jobtexts[%?$2] - else - # Use history text to avoid alias expansion - PSCMD=$history[$HISTCMD] - fi - return 0 -} - -prompt_bart_precmd () { - setopt localoptions noxtrace noksharrays unset - local zero='%([BSUbfksu]|[FB]{*})' escape colno lineno - - : "${PSCMD:=$history[$[HISTCMD-1]]}" # Default to history text - - # Using psvar here protects against unwanted promptsubst expansions. - - psvar[7]="$PSCMD" - psvar[8]='' # No padding until we compute it - psvar[9]=() - - # Reset the truncation widths for upcoming computations - ((PSCOL == 1)) || { PSCOL=1 ; prompt_bart_ps1 } - if [[ -o promptcr ]] - then - # Emulate the 4.3.x promptsp option if it isn't available - eval '[[ -o promptsp ]] 2>/dev/null' || - print -nP "${(l.COLUMNS.. .)}\e[s${(pl.COLUMNS..\b.)}%E\e[u" >$TTY - else IFS='[;' read -s -d R escape\?$'\e[6n' lineno PSCOL <$TTY - fi - ((PSCOL == 1)) || prompt_bart_ps1 - ((colno = COLUMNS-PSCOL)) - - # Compute the size of the upper left prompt and set psvar[9] if needed. - ((${#${(f)${(%%)${(S)PS1//$~zero/}}}[1]} > colno)) && psvar[9]='' - - # Compute and set the padding between upper left and right prompts. - (((colno -= ${#${(f)${(%%)${(S)PS1//$~zero/}}}[1]}) > 0)) && - psvar[8]=${(l:colno:: :)} -} - -prompt_bart_ps1 () { - setopt localoptions noxtrace noksharrays - - local -ah ps1 - local -h host hist1 hist2 dir space date time rs="%b%f%k" - local -h eon="%(?.[.%20(?.[%U.%S[))" eoff="%(?.].%20(?.%u].]%s))" - - # Set up the components of the upper line - host="%{$fg[%m]%}%m$rs" - hist1="%9(v. . %{$fg[%h]%}$eon%7v$eoff$rs )" - hist2=$'%9(v.\n'"%{$fg[%h]%}$eon%7v$eoff$rs.)" - dir="%{$fg[%~]%}%8~$rs" - space=%8v - date="%{$fg[%D]%}%D$rs" # Prefer "%{$fg[%D]%}%W$rs" in the USA? - time="%{$fg[%@]%}%@$rs" - - # This is just a tad silly ... - [[ $prompt_theme[1] = oliver ]] && PS1='[%h%0(?..:%?)]%# ' || - PS1=${PS1//$prompt_newline/$'\n'} - - # Assemble the new prompt - ps1=( ${(f)PS1} ) # Split the existing prompt at newlines - ps1=( - "%$[COLUMNS-PSCOL]>..>" # Begin truncation (upper left prompt) - "$host" - "$hist1" # Empty when too wide for one line - "$dir" - "%<<" # End truncation (end upper left prompt) - "$space" # Pad line to upper right position - "%$[COLUMNS-PSCOL-15](l. . $date)" - "%$[COLUMNS-PSCOL-7](l.. $time)" - "$hist2" # Empty when $hist1 is not empty - $'\n' - $ps1[-1] # Keep last line of the existing prompt - ) - PS1="${(j::)ps1}" -} - -prompt_bart_winch () { - setopt localoptions nolocaltraps noksharrays unset - - # Delete ourself from TRAPWINCH if not using our precmd insert. - [[ $precmd_functions = *prompt_bart_precmd* ]] && prompt_bart_ps1 || - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}" -} - -prompt_bart_setup () { - setopt localoptions nolocaltraps noksharrays unset - typeset -gA fg - - # A few extra niceties ... - repeat 1; do case "$1:l" in - (off|disable) - add-zsh-hook -D precmd "prompt_*_precmd" - add-zsh-hook -D preexec "prompt_*_preexec" - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}" - [[ $prompt_theme[1] = bart ]] && PS1=${${(f)PS1}[-1]} - return 1 # Prevent change of $prompt_theme - ;; - (on|enable) - shift - [[ $prompt_theme[1] = bart ]] && break - ;& - (*) - # Use the fg assoc to hold our selected colors ... - # This used to be provided by the function colors, but is now - # set directly from here. There should be no clash if both - # are in use. - fg[%m]="%F{${1:-red}}" - fg[%h]="%F{${2:-blue}}" - fg[%~]="%F{${3:-default}}" - fg[%D]="%F{${4:-default}}" - fg[%@]="%F{${1:-red}}" - ;; - esac; done - - prompt_bart_ps1 - - if (($# > 4)) - then - # No RPS1 by default because prompt_off_setup doesn't fix it. - if (($#RPS1)) - then - RPS1="%F{$5}$RPS1%f" - fi - # RPS2 is less obvious so don't mind that it's not restored. - if (($#RPS2)) - then - RPS2="%F{$5}$RPS2%f" - else - RPS2="%F{$5}<${${PS2//\%_/%^}%> }%f" - PS2='' - fi - fi - # Paste our special commands into precmd and TRAPWINCH - - add-zsh-hook precmd prompt_bart_precmd - add-zsh-hook preexec prompt_bart_preexec - prompt_cleanup \ - 'functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}"' - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch} - prompt_bart_winch" - - return 0 -} - -prompt_bart_preview () { - local +h PS1='%# ' - prompt_preview_theme bart "$@" -} - -[[ -o kshautoload ]] || prompt_bart_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bigfade_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bigfade_setup deleted file mode 100644 index 2d95f314..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_bigfade_setup +++ /dev/null @@ -1,50 +0,0 @@ -# Generic large colour fade-bar prompt theme from bashprompt -# Created by James Manning <jmm@raleigh.ibm.com> -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_bigfade_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt bigfade [<fade-bar> [<userhost> [<date> [<cwd>]]]] - -where the parameters are the colors for the fade-bar, user@host text, -date text, and current working directory respectively. The default -colors are blue, white, white, and yellow. This theme works best with -a dark background. - - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_bigfade_setup () { - local fadebar=${1:-'blue'} - local userhost=${2:-'white'} - local date=${3:-'white'} - local cwd=${4:-'yellow'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%B%F{$fadebar}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$userhost}%K{$fadebar}%n@%m%b%k%f%F{$fadebar}%K{black}$schars[260]$schars[261]$schars[262]$schars[333]%b%f%k%F{$fadebar}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$date}%K{black} %D{%a %b %d} %D{%I:%M:%S%P}$prompt_newline%B%F{$cwd}%K{black}%d>%b%f%k " - PS2="%B%F{$fadebar}$schars[333]$schars[262]$schars[261]$schars[260]%b%F{$fadebar}%K{black}$schars[260]$schars[261]$schars[262]$schars[333]%F{$fadebar}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$fadebar}>%b%f%k " - - prompt_opts=(cr subst percent) -} - -prompt_bigfade_preview () { - if (( ! $#* )); then - prompt_preview_theme bigfade - print - prompt_preview_theme bigfade red white grey white - else - prompt_preview_theme bigfade "$@" - fi -} - -prompt_bigfade_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_clint_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_clint_setup deleted file mode 100644 index 876d3040..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_clint_setup +++ /dev/null @@ -1,73 +0,0 @@ -# clint prompt theme - -prompt_clint_help () { - cat <<'EOF' - - prompt clint [<color1> [<color2> [<color3> [<color4> [<color5>]]]]] - - defaults are red, cyan, green, yellow, and white, respectively. - -EOF -} - -prompt_clint_setup () { - local -a pcc - local -A pc - local p_date p_tty p_plat p_ver p_userpwd p_apm p_shlvlhist p_rc p_end p_win - - autoload -Uz vcs_info - - pcc[1]=${1:-${${SSH_CLIENT+'yellow'}:-'red'}} - pcc[2]=${2:-'cyan'} - pcc[3]=${3:-'green'} - pcc[4]=${4:-'yellow'} - pcc[5]=${5:-'white'} - - pc['\[']="%F{$pcc[1]}[" - pc['\]']="%F{$pcc[1]}]" - pc['<']="%F{$pcc[1]}<" - pc['>']="%F{$pcc[1]}>" - pc['\(']="%F{$pcc[1]}(" - pc['\)']="%F{$pcc[1]})" - - p_date="$pc['\[']%F{$pcc[2]}%D{%a %y/%m/%d %R %Z}$pc['\]']" - p_tty="$pc['\[']%F{$pcc[3]}%l$pc['\]']" - p_plat="$pc['\[']%F{$pcc[2]}${MACHTYPE}/${OSTYPE}/$(uname -r)$pc['\]']" - p_ver="$pc['\[']%F{$pcc[2]}${ZSH_VERSION}$pc['\]']" - - [[ -n "$WINDOW" ]] && p_win="$pc['\(']%F{$pcc[4]}$WINDOW$pc['\)']" - - p_userpwd="$pc['<']%F{$pcc[3]}%n@%m$p_win%F{$pcc[5]}:%F{$pcc[4]}%~$pc['>']" - local p_vcs="%(2v.%U%2v%u.)" - - p_shlvlhist="%fzsh%(2L./$SHLVL.) %B%h%b " - p_rc="%(?..[%?%1v] )" - p_end="%f%B%#%b " - - typeset -ga zle_highlight - zle_highlight[(r)default:*]=default:$pcc[2] - - prompt="$p_date$p_tty$p_plat$p_ver -$p_userpwd -$p_shlvlhist$p_rc$p_vcs$p_end" - PS2='%(4_.\.)%3_> %E' - - add-zsh-hook precmd prompt_clint_precmd -} - -prompt_clint_precmd () { - setopt noxtrace noksharrays localoptions - local exitstatus=$? - local git_dir git_ref - - psvar=() - [[ $exitstatus -ge 128 ]] && psvar[1]=" $signals[$exitstatus-127]" || - psvar[1]="" - - [[ -o interactive ]] && jobs -l - - vcs_info - [[ -n $vcs_info_msg_0_ ]] && psvar[2]="$vcs_info_msg_0_" -} - -prompt_clint_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_default_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_default_setup deleted file mode 100644 index aed74eb6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_default_setup +++ /dev/null @@ -1,7 +0,0 @@ -PS1='%m%# ' -PS2='%_> ' -PS3='?# ' -PS4='+%N:%i> ' -unset RPS1 RPS2 RPROMPT RPROMPT2 - -prompt_opts=( cr percent sp ) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite2_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite2_setup deleted file mode 100644 index 754bf60b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite2_setup +++ /dev/null @@ -1,58 +0,0 @@ -# Created by icetrey <trey@imagin.net> -# Added by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_elite2_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt elite2 [<text-color> [<parentheses-color>]] - -The default colors are both cyan. This theme works best with a dark -background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_elite2_setup () { - local text_col=${1:-'cyan'} - local parens_col=${2:-$text_col} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - local text="%b%F{$text_col}" - local parens="%B%F{$parens_col}" - local punct="%B%F{black}" - local reset="%b%f" - - local lpar="$parens($text" - local rpar="$parens)$text" - - PS1="$punct$schars[332]$text$schars[304]$lpar%n$punct@$text%m$rpar$schars[304]$lpar%!$punct/$text%y$rpar$schars[304]$lpar%D{%I:%M%P}$punct:$text%D{%m/%d/%y}$rpar$schars[304]$punct-$reset$prompt_newline$punct$schars[300]$text$schars[304]$lpar%#$punct:$text%~$rpar$schars[304]$punct-$reset " - - PS2="$parens$schars[304]$text$schars[304]$punct-$reset " - - prompt_opts=(cr subst percent) -} - -prompt_elite2_preview () { - local color colors - colors=(red yellow green blue magenta) - - if (( ! $#* )); then - for (( i = 1; i <= $#colors; i++ )); do - color=$colors[$i] - prompt_preview_theme elite2 $color - (( i < $#colors )) && print - done - else - prompt_preview_theme elite2 "$@" - fi -} - -prompt_elite2_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite_setup deleted file mode 100644 index 0d57f50a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_elite_setup +++ /dev/null @@ -1,44 +0,0 @@ -# Created by KrON from windowmaker on IRC -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_elite_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt elite [<text-color> [<punctuation-color>]] - -The default colors are red and blue respectively. This theme is -intended for use with a black background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_elite_setup () { - local text=${1:-'red'} - local punctuation=${2:-'blue'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%F{$text}$schars[332]$schars[304]%F{$punctuation}(%F{$text}%n%F{$punctuation}@%F{$text}%m%F{$punctuation})%F{$text}-%F{$punctuation}(%F{$text}%D{%I:%M%P}%F{$punctuation}-:-%F{$text}%D{%m}%F{$punctuation}%F{$text}/%D{%d}%F{$punctuation})%F{$text}$schars[304]-%F{$punctuation}$schars[371]%F{$text}-$schars[371]$schars[371]%F{$punctuation}$schars[372]$prompt_newline%F{$text}$schars[300]$schars[304]%F{$punctuation}(%F{$text}%1~%F{$punctuation})%F{$text}$schars[304]$schars[371]%F{$punctuation}$schars[372]%f" - PS2="> " - - prompt_opts=(cr subst percent) -} - -prompt_elite_preview () { - if (( ! $#* )); then - prompt_preview_theme elite - print - prompt_preview_theme elite green yellow - else - prompt_preview_theme elite "$@" - fi -} - -prompt_elite_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fade_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fade_setup deleted file mode 100644 index d915cc0d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fade_setup +++ /dev/null @@ -1,56 +0,0 @@ -# Generic colour fade-bar prompt theme from bashprompt -# Created by Jim Foltz <aa204@acorn.net> -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_fade_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt fade [<fade-bar-and-cwd> [<userhost> [<date>]]] - -where the parameters are the colors for the fade-bar and current -working directory, user@host text, and date text respectively. The -default colors are green, white, and white. This theme works best -with a dark background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -# emacs shell-script mode gets confused with ' in heredoc above - -prompt_fade_setup () { - local fadebar_cwd=${1:-'green'} - local userhost=${2:-'white'} - local date=${3:-'white'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%F{$fadebar_cwd}%B%K{$fadebar_cwd}$schars[333]$schars[262]$schars[261]$schars[260]%F{$userhost}%K{$fadebar_cwd}%B%n@%m%b%F{$fadebar_cwd}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%F{$date}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P} $prompt_newline%F{$fadebar_cwd}%K{black}%B%~/%b%k%f " - PS2="%F{$fadebar_cwd}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%f%k>" - - prompt_opts=(cr subst percent) -} - -prompt_fade_preview () { - local color colors - colors=(red yellow green blue magenta) - - if (( ! $#* )); then - for (( i = 1; i <= $#colors; i++ )); do - color=$colors[$i] - prompt_preview_theme fade $color - print - done - prompt_preview_theme fade white grey blue - else - prompt_preview_theme fade "$@" - fi -} - -prompt_fade_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fire_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fire_setup deleted file mode 100644 index 7bb8367d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_fire_setup +++ /dev/null @@ -1,62 +0,0 @@ -# Fire prompt theme from bashprompt -# Inspired by Raster (Carsten Haitzler of Red Hat Advanced Development Labs) -# Created by BadlandZ -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_fire_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt fire [<fire1> [<fire2> [<fire3> [<userhost> [<date> [<cwd>]]]]]] - -where the parameters are the three fire colors, and the colors for the -user@host text, date text, and current working directory respectively. -The default colors are yellow, yellow, red, white, white, and yellow. -This theme works best with a dark background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_fire_setup () { - local fire1=${1:-'yellow'} - local fire2=${2:-'yellow'} - local fire3=${3:-'red'} - local userhost=${4:-'white'} - local date=${5:-'white'} - local cwd=${6:-'yellow'} - - local -a schars - autoload -Uz prompt_special_chars - prompt_special_chars - - local GRAD1="%{$schars[333]$schars[262]$schars[261]$schars[260]%}" - local GRAD2="%{$schars[260]$schars[261]$schars[262]$schars[333]%}" - local COLOR1="%B%F{$fire1}%K{$fire2}" - local COLOR2="%B%F{$userhost}%K{$fire2}" - local COLOR3="%b%F{$fire3}%K{$fire2}" - local COLOR4="%b%F{$fire3}%K{black}" - local COLOR5="%B%F{$cwd}%K{black}" - local COLOR6="%B%F{$date}%K{black}" - local GRAD0="%b%f%k" - - PS1=$COLOR1$GRAD1$COLOR2'%n@%m'$COLOR3$GRAD2$COLOR4$GRAD1$COLOR6' %D{%a %b %d} %D{%I:%M:%S%P} '$prompt_newline$COLOR5'%~/'$GRAD0' ' - PS2=$COLOR1$GRAD1$COLOR3$GRAD2$COLOR4$GRAD1$COLOR5'>'$GRAD0' ' - - prompt_opts=(cr subst percent) -} - -prompt_fire_preview () { - if (( ! $#* )); then - prompt_preview_theme fire - print - prompt_preview_theme fire red magenta blue white white white - else - prompt_preview_theme fire "$@" - fi -} - -prompt_fire_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_off_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_off_setup deleted file mode 100644 index e6d16bfd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_off_setup +++ /dev/null @@ -1,10 +0,0 @@ -# Very simple prompt - -prompt_default_setup 2>/dev/null - -PS1="%# " -PS2="> " -PS3='?# ' -PS4='+> ' - -prompt_opts=( cr percent sp ) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_oliver_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_oliver_setup deleted file mode 100644 index 2df91995..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_oliver_setup +++ /dev/null @@ -1,45 +0,0 @@ -# oliver prompt theme - -prompt_oliver_help() { - cat <<'ENDHELP' -With this prompt theme, the prompt contains the current directory, -history number, number of jobs (if non-zero) and the previous -command's exit code (if non-zero) and a final character which -depends on privileges. - -The colour of the prompt depends on two associative arrays - -$pcolour and $tcolour. Each array is indexed by the name of the -local host. Alternatively, the colour can be set with parameters -to prompt. To specify colours, use English words like 'yellow', -optionally preceded by 'bold'. - -The hostname and username are also included unless they are in the -$normal_hosts or $normal_users array. -ENDHELP -} - -prompt_oliver_setup() { - prompt_opts=( cr subst percent ) - - [[ "${(t)pcolour}" != assoc* ]] && typeset -Ag pcolour - [[ "${(t)tcolour}" != assoc* ]] && typeset -Ag tcolour - local pcol=${1:-${pcolour[${HOST:=`hostname`}]:-bold}} - local pcolr="%F{${${pcol#bold}:-default}}" - [[ $pcol = bold* ]] && pcolr=%B$pcolr - - local tcol=${2:-${tcolour[$HOST]}} - local tcolr="fg=${${tcol#bold}:-default}" - [[ $tcol = bold* ]] && tcolr=bold,$tcolr - - local a host="%m:" user="%n " - [[ $HOST == (${(j(|))~normal_hosts}) ]] && host="" - [[ $LOGNAME == (root|${(j(|))~normal_users}) ]] && user="" - - PS1="$pcolr$user$host%~%"'$((COLUMNS-12))'"(l.$prompt_newline. )[%h%1(j.%%%j.)%0(?..:%?)]%# %b%f%k" RPS2='<%^' - PS2='' - - typeset -ga zle_highlight - zle_highlight[(r)default:*]=default:$tcolr -} - -prompt_oliver_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_pws_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_pws_setup deleted file mode 100644 index c9892141..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_pws_setup +++ /dev/null @@ -1,22 +0,0 @@ -# pws prompt theme - -prompt_pws_help() { - cat <<'EOF' -Simple prompt which tries to display only the information you need. -- highlighted parenthesised status if last command had non-zero status -- bold + if shell is not at top level (may need tweaking if there - is another shell in the process history of your terminal) -- number of background jobs in square brackets if non-zero -- time in yellow on black, with Ding! on the hour. -I usually use this in a white on black terminal. -EOF -} - -prompt_pws_setup() { - PS1='%K{white}%F{red}%(?..(%?%))'\ -'%K{black}%F{white}%B%(2L.+.)%(1j.[%j].)'\ -'%F{yellow}%(t.Ding!.%D{%L:%M})'\ -'%f%k%b%# ' -} - -prompt_pws_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_redhat_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_redhat_setup deleted file mode 100644 index 5adf2d7c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_redhat_setup +++ /dev/null @@ -1,12 +0,0 @@ -# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net> -# Red Hat Default Prompt -# Styled like the default prompt in Red Hat 5.1 -# -prompt_redhat_setup () { - PS1='[%n@%m %1~]%(#.#.$) ' - PS2="> " - - prompt_opts=( cr percent ) -} - -prompt_redhat_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_restore_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_restore_setup deleted file mode 100644 index b77dbe81..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_restore_setup +++ /dev/null @@ -1,3 +0,0 @@ -# Damn that was easy -zstyle -t :prompt-theme cleanup -zstyle -t :prompt-theme restore diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_special_chars b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_special_chars deleted file mode 100644 index 82a1f2d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_special_chars +++ /dev/null @@ -1,26 +0,0 @@ -# Utility function to set up some special characters -# used by prompts. -# -# These used to be defined to characters found in particular -# character sets (e.g. IBM852) which now aren't widely used. -# We still provide them in that form if the current character -# set isn't UTF-8. We could in principle use iconv if available. - -typeset -gA schars - -if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then - schars[300]=$'\xe2\x94\x94' - schars[304]=$'\xe2\x94\x8c' - schars[332]=$'\xe2\x94\x8c' - schars[333]=$'\xe2\x96\x88' - schars[371]=$'\xc2\xa8' - schars[372]=$'\xcb\x99' - schars[262]=$'\xe2\x96\x93' - schars[261]=$'\xe2\x96\x92' - schars[260]=$'\xe2\x96\x91' -else - local code - for code in 300 304 332 333 371 372 262 261 260; do - eval "schars[$code]=\$'\\$code'" - done -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_suse_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_suse_setup deleted file mode 100644 index 9cc4d31a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_suse_setup +++ /dev/null @@ -1,12 +0,0 @@ -# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net> -# SuSE Default Prompt -# Styled like the default prompt in SuSE 5.2 -# -prompt_suse_setup () { - PS1="%n@%m:%~/ > " - PS2="> " - - prompt_opts=( cr percent ) -} - -prompt_suse_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_walters_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_walters_setup deleted file mode 100644 index 9fea574d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_walters_setup +++ /dev/null @@ -1,26 +0,0 @@ -prompt_walters_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt walters [<color1>] - -where the color is for the right-hand prompt. - -This prompt was stolen from Colin Walters <walters@debian.org>, -who gives credit to Michel Daenzer <daenzer@debian.org>. -EOF -} - -prompt_walters_setup () { - -if [[ "$TERM" != "dumb" ]]; then - PS1='%B%(?..[%?] )%b%n@%U%m%u> ' - RPS1="%F{${1:-green}}%~%f" -else - PS1="%(?..[%?] )%n@%m:%~> " -fi - - prompt_opts=(cr percent) -} - -prompt_walters_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_zefram_setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_zefram_setup deleted file mode 100644 index a138a520..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/prompt_zefram_setup +++ /dev/null @@ -1,19 +0,0 @@ -function prompt_zefram_precmd { - local exitstatus=$? - setopt localoptions noxtrace noksharrays - psvar=(SIG) - [[ $exitstatus -gt 128 ]] && psvar[1]=SIG$signals[$exitstatus-127] - [[ $psvar[1] = SIG ]] && psvar[1]=$exitstatus - jobs % >/dev/null 2>&1 && psvar[2]= -} - -function prompt_zefram_setup { - PS1='[%(2L.%L/.)'$ZSH_VERSION']%(?..%B{%v}%b)%n%(2v.%B@%b.@)%m:%B%~%b%(!.#.>) ' - PS2='%(4_:... :)%3_> ' - - prompt_opts=( cr subst percent ) - - add-zsh-hook precmd prompt_zefram_precmd -} - -prompt_zefram_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptinit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptinit deleted file mode 100644 index 0c06699e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptinit +++ /dev/null @@ -1,255 +0,0 @@ -## -## zsh prompt themes extension -## by Adam Spiers <adam@spiers.net> -## -## Load with `autoload -Uz promptinit; promptinit'. -## Type `prompt -h' for help. -## - -typeset -gaU prompt_themes -typeset -ga prompt_theme -typeset -g prompt_newline -prompt_themes=() - -promptinit () { - emulate -L zsh - setopt extendedglob - autoload -Uz add-zsh-hook add-zle-hook-widget - - local ppath='' name theme - local -a match mbegin mend - - # Autoload all prompt_*_setup functions in fpath - for theme in $^fpath/prompt_*_setup(N); do - if [[ $theme == */prompt_(#b)(*)_setup ]]; then - name="$match[1]" - if [[ -r "$theme" ]]; then - prompt_themes=($prompt_themes $name) - autoload -Uz prompt_${name}_setup - else - print "Couldn't read file $theme containing theme $name." - fi - else - print "Eh? Mismatch between glob patterns in promptinit." - fi - done - - # Variables common to all prompt styles - prompt_newline=$'\n%{\r%}' -} - -prompt_preview_safely() { - emulate -L zsh - print -P "%b%f%k" - if [[ -z "$prompt_themes[(r)$1]" ]]; then - print "Unknown theme: $1" - return - fi - - # Run this in a subshell, so we don't need to clean up afterwards. - ( - # Execute current theme's cleanup sequence, if any. - zstyle -t :prompt-theme cleanup - - # If we can't find a _preview function, run the _setup function to see if - # it will create one. - typeset +f prompt_${1}_preview >&/dev/null || - prompt_${1}_setup - - # ...then try again. - if typeset +f prompt_${1}_preview >&/dev/null; then - prompt_${1}_preview "$@[2,-1]" - else - prompt_preview_theme "$@" - fi - ) -} - -set_prompt() { - emulate -L zsh - local opt preview theme usage old_theme - - usage='Usage: prompt <options> -Options: - -c Show currently selected theme and parameters - -l List currently available prompt themes - -p [<themes>] Preview given themes (defaults to all except current theme) - -h [<theme>] Display help (for given theme) - -s <theme> Set and save theme - <theme> Switch to new theme immediately (changes not saved) - -Use prompt -h <theme> for help on specific themes.' - - getopts "chlps:" opt - case "$opt" in - c) if [[ -n $prompt_theme ]]; then - print -n "Current prompt theme" - (( $#prompt_theme > 1 )) && print -n " with parameters" - print " is:\n $prompt_theme" - else - print "Current prompt is not a theme." - fi - return - ;; - h) if [[ -n "$2" && -n $prompt_themes[(r)$2] ]]; then - # Run this in a subshell, so we don't need to clean up afterwards. - ( - # Execute current theme's cleanup sequence, if any. - zstyle -t :prompt-theme cleanup - - # If we can't find a _help function, run the _setup function to see - # if it will create one. - typeset +f prompt_$2_help >/dev/null || - prompt_$2_setup - - # ...then try again. - if typeset +f prompt_$2_help >/dev/null; then - print "Help for $2 theme:\n" - prompt_$2_help - else - print "No help available for $2 theme." - fi - print "\nType \`prompt -p $2' to preview the theme, \`prompt $2'" - print "to try it out, and \`prompt -s $2' to use it in future sessions." - ) - else - print "$usage" - fi - ;; - l) print Currently available prompt themes: - print $prompt_themes - return - ;; - p) preview=( ${prompt_themes:#$prompt_theme} ) - (( $#* > 1 )) && preview=( "$@[2,-1]" ) - for theme in $preview; do - prompt_preview_safely "$=theme" - done - print -P "%b%f%k" - ;; - s) print "Set and save not yet implemented. Please ensure your ~/.zshrc" - print "contains something similar to the following:\n" - print " autoload -Uz promptinit" - print " promptinit" - print " prompt $*[2,-1]" - shift - ;& - *) if [[ "$1" == 'random' ]]; then - local random_themes - if (( $#* == 1 )); then - random_themes=( $prompt_themes ) - else - random_themes=( "$@[2,-1]" ) - fi - local i=$(( ( $RANDOM % $#random_themes ) + 1 )) - argv=( "${=random_themes[$i]}" ) - fi - if [[ -z "$1" || -z $prompt_themes[(r)$1] ]]; then - print "$usage" - return - fi - - # Reset some commonly altered bits to the default - local hook - for hook in chpwd precmd preexec periodic zshaddhistory zshexit \ - zsh_directory_name; do - add-zsh-hook -D "$hook" "prompt_*_$hook" - done - for hook in isearch-exit isearch-update line-pre-redraw line-init \ - line-finish history-line-set keymap-select; do - add-zle-hook-widget -D "$hook" "prompt_*_$hook" - done - typeset -ga zle_highlight=( ${zle_highlight:#default:*} ) - (( ${#zle_highlight} )) || unset zle_highlight - - zstyle -t :prompt-theme cleanup - prompt_$1_setup "$@[2,-1]" && prompt_theme=( "$@" ) - ;; - esac -} - -prompt_cleanup () { - local -a cleanup_hooks theme_active - if ! zstyle -g cleanup_hooks :prompt-theme cleanup; then - if ! zstyle -g theme_active :prompt-theme restore; then - print -u2 "prompt_cleanup: no prompt theme active" - return 1 - fi - - # Set the cleanup sequence up. - zstyle -e :prompt-theme cleanup \ - 'zstyle -d :prompt-theme cleanup;' \ - 'reply=(yes)' - zstyle -g cleanup_hooks :prompt-theme cleanup - fi - - cleanup_hooks+=(';' "$@") - zstyle -e :prompt-theme cleanup "${cleanup_hooks[@]}" -} - -prompt () { - local -a prompt_opts theme_active - - zstyle -g theme_active :prompt-theme restore || { - # This is done here rather than in set_prompt so that it - # is safe and sane for set_prompt to setopt localoptions, - # which will be cleared before we arrive back here again. - # This is also why we pass around the prompt_opts array. - [[ -o promptbang ]] && prompt_opts+=(bang) - [[ -o promptcr ]] && prompt_opts+=(cr) - [[ -o promptpercent ]] && prompt_opts+=(percent) - [[ -o promptsp ]] && prompt_opts+=(sp) - [[ -o promptsubst ]] && prompt_opts+=(subst) - zstyle -e :prompt-theme restore " - zstyle -d :prompt-theme restore - prompt_default_setup - ${PS1+PS1=${(q+)PS1}} - ${PS2+PS2=${(q+)PS2}} - ${PS3+PS3=${(q+)PS3}} - ${PS4+PS4=${(q+)PS4}} - ${RPS1+RPS1=${(q+)RPS1}} - ${RPS2+RPS2=${(q+)RPS2}} - ${RPROMPT+RPROMPT=${(q+)RPROMPT}} - ${RPROMPT2+RPROMPT2=${(q+)RPROMPT2}} - ${PSVAR+PSVAR=${(q+)PSVAR}} - prompt_opts=( $prompt_opts[*] ) - reply=( yes ) - " - } - set_prompt "$@" - - (( ${#prompt_opts} )) && - setopt noprompt{bang,cr,percent,sp,subst} "prompt${^prompt_opts[@]}" - - true -} - -prompt_preview_theme () { - emulate -L zsh - - # Minimal preview for prompts that don't supply one - local -a prompt_opts - print -n "$1 theme" - (( $#* > 1 )) && print -n " with parameters \`$*[2,-1]'" - print ":" - zstyle -t :prompt-theme cleanup - prompt_${1}_setup "$@[2,-1]" - (( ${#prompt_opts} )) && - setopt noprompt{bang,cr,percent,sp,subst} "prompt${^prompt_opts[@]}" - - [[ -n ${chpwd_functions[(r)prompt_${1}_chpwd]} ]] && - prompt_${1}_chpwd - [[ -n ${precmd_functions[(r)prompt_${1}_precmd]} ]] && - prompt_${1}_precmd - - # We'd like to call zle-line-init/finish hooks, too, but that's not possible - # while the ZLE is not active. - - [[ -o promptcr ]] && print -n $'\r' - :; print -P -- "${PS1}command arg1 arg2 ... argn" - - [[ -n ${preexec_functions[(r)prompt_${1}_preexec]} ]] && - prompt_${1}_preexec -} - -[[ -o kshautoload ]] || promptinit "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptnl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptnl deleted file mode 100644 index 155d5877..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/promptnl +++ /dev/null @@ -1,95 +0,0 @@ -# Add `autoload promptnl' to your .zshrc, and include a call to promptnl -# near the end of your precmd function. -# -# When promptnl runs, it asks the terminal to send back the current -# position of the cursor. If the cursor is in column 1, it does nothing; -# otherwise it prints a newline. Thus you get a newline exactly when one -# is needed. -# -# Of course this can make it appear that `print -n' and friends have -# failed to suppress the final newline; so promptnl outputs the value -# of the EOLMARK parameter before the newline, with prompt sequences -# expanded. So you can for example use EOLMARK='%B!%b' to put a bold -# exclamation point at the end of the actual output. - -# There's another way to accomplish the equivalent, without reading the -# cursor position from the terminal. Skip to the end of the file to see -# that other way. - -emulate -L zsh - -# VT100 and ANSI terminals will report the cursor position when sent -# the sequence ESC [ 6 n -- it comes back as ESC [ column ; line R -# with of course no trailing newline. Column and line are 1-based. - -local RECV='' SEND='\e[6n' REPLY=X - -# If you are on a very slow tty, you may need to increase WAIT here. -integer WAIT=1 - -# Make sure there's no typeahead, or it'll confuse things. Remove -# this block entirely to use this function in 3.0.x at your own risk. -while read -t -k 1 -do - RECV=$RECV$REPLY -done -if [[ -n $RECV ]] -then - print -z -r -- $RECV - RECV='' - REPLY=X -fi - -# This is annoying, but zsh immediately resets it properly, so ... -stty -echo - -# Output the SEND sequence and read back into RECV. In case this is -# not a terminal that understands SEND, do a non-blocking read and -# retry for at most WAIT seconds before giving up. Requires 3.1.9. -# For 3.0.x, remove "-t" but don't call this on the wrong terminal! - -print -n $SEND - -integer N=$SECONDS -while [[ $REPLY != R ]] && ((SECONDS - N <= WAIT)) -do - if read -t -k 1 - then - ((N=SECONDS)) - RECV=$RECV$REPLY - fi -done - -# If the cursor is not in the first column, emit EOLMARK and newline. - -(( ${${${RECV#*\;}%R}:-0} > 1 )) && print -P -- $EOLMARK - -return 0 - -# OK, now here's the other way. Works on any auto-margin terminal, which -# includes most terminals that respond to ESC [ 6 n as far as I know. It -# prints a line of spaces exactly as wide as the terminal, then prints a -# carriage return. If there are any characters already on the line, this -# will cause the line to wrap, otherwise it won't. - -: setopt nopromptcr -: PS1="%{${(pl:COLUMNS+1:: ::\r:)}%}$PS1" - -# On a very slow connection, you might be able to see the spaces getting -# drawn and then overwritten, so reading the cursor position might work -# better in that circumstance because it transmits fewer characters. It -# also doesn't work if you resize the terminal. - -# To get the EOLMARK behavior, simply adjust the COLUMNS+1 expression to -# account for the width of the mark, and include it. For example: - -: setopt nopromptcr -: PS1="%{%S<EOL>%s${(pl:COLUMNS-4:: ::\r:)}%}$PS1" - -# The important bit is that the total width of the string inside %{...%} -# has to be COLUMNS+1, where the extra character is the \r. However, I -# recommend using a one-character EOLMARK to avoid having the line wrap -# in the middle of the marker string: - -setopt nopromptcr -PS1="%{%S#%s${(pl:COLUMNS:: ::\r:)}%}$PS1" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/quote-and-complete-word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/quote-and-complete-word deleted file mode 100644 index a8c0618a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/quote-and-complete-word +++ /dev/null @@ -1,46 +0,0 @@ -#autoload - -# This widget uses the completion system to double-quote the current word -# if it is not already quoted, then attempts to complete normally. If the -# normal completion fails, the quotes are removed again. -# -# To use it: -# autoload -Uz quote-and-complete-word -# zle -N quote-and-complete-word -# bindkey '\t' quote-and-complete-word -# -# BUG: The "undo" mechanism is confused by multiple calls to completion -# widgets from the same normal widget. - -# Note: It's important that this function's name ends in "complete-word". -# The _oldlist completer does nothing unless the widget has that suffix. - -quote-and-complete-word () { - setopt localoptions unset noshwordsplit noksharrays - local lbuf=$LBUFFER rbuf=$RBUFFER last=$LASTWIDGET - if [[ $last != $WIDGET ]] - then - local oldcontext=$curcontext - local curcontext="${WIDGET}:${${curcontext:-:::}#*:}" - zle complete-word - curcontext=$oldcontext - fi - zle complete-word - local ret=$? - if [[ _lastcomp[nmatches] -eq 0 && $last != $WIDGET ]] - then - LBUFFER=$lbuf RBUFFER=$rbuf - fi - return ret -} - -_force_quote () { - [[ -z $compstate[quoting] ]] && - compstate[to_end]='' && - compadd -U -S "$SUFFIX" -I "$ISUFFIX"\" -i \""$IPREFIX" "${(Q)PREFIX}" -} -zstyle ':completion:quote-and-complete-word:*' completer _force_quote - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || quote-and-complete-word "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/read-from-minibuffer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/read-from-minibuffer deleted file mode 100644 index 09dc68f9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/read-from-minibuffer +++ /dev/null @@ -1,60 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local opt keys -integer stat - -while getopts "k:" opt; do - case $opt in - # Read the given number of keys. This is a bit - # ropey for more than a single key. - (k) - keys=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -local readprompt="$1" lbuf_init="$2" rbuf_init="$3" -integer savelim=$UNDO_LIMIT_NO changeno=$UNDO_CHANGE_NO - -{ -# Use anonymous function to make sure special values get restored, -# even if this function is called as a widget. -# local +h ensures special parameters stay special. -() { - local pretext="$PREDISPLAY$LBUFFER$RBUFFER$POSTDISPLAY -" - local +h LBUFFER="$lbuf_init" - local +h RBUFFER="$rbuf_init" - local +h PREDISPLAY="$pretext${readprompt:-? }" - local +h POSTDISPLAY= - local +h -a region_highlight - region_highlight=("P${#pretext} ${#PREDISPLAY} bold") - - if [[ -n $keys ]]; then - zle -R - read -k $keys - stat=$? - else - local NUMERIC - unset NUMERIC - zle split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - zle recursive-edit -K main - stat=$? - (( stat )) || REPLY=$BUFFER - fi -} -} always { - # This removes the edits relating to the read from the undo history. - # These aren't useful once we get back to the main editing buffer. - zle undo $changeno - UNDO_LIMIT_NO=savelim -} - -return $stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/regexp-replace b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/regexp-replace deleted file mode 100644 index d4408f0f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/regexp-replace +++ /dev/null @@ -1,91 +0,0 @@ -# Replace all occurrences of a regular expression in a variable. The -# variable is modified directly. Respects the setting of the -# option RE_MATCH_PCRE. -# -# First argument: *name* (not contents) of variable. -# Second argument: regular expression -# Third argument: replacement string. This can contain all forms of -# $ and backtick substitutions; in particular, $MATCH will be replaced -# by the portion of the string matched by the regular expression. - -# we use positional parameters instead of variables to avoid -# clashing with the user's variable. Make sure we start with 3 and only -# 3 elements: -argv=("$1" "$2" "$3") - -# $4 records whether pcre is enabled as that information would otherwise -# be lost after emulate -L zsh -4=0 -[[ -o re_match_pcre ]] && 4=1 - -emulate -L zsh - - -local MATCH MBEGIN MEND -local -a match mbegin mend - -if (( $4 )); then - # if using pcre, we're using pcre_match and a running offset - # That's needed for ^, \A, \b, and look-behind operators to work - # properly. - - zmodload zsh/pcre || return 2 - pcre_compile -- "$2" && pcre_study || return 2 - - # $4 is the current *byte* offset, $5, $6 reserved for later use - 4=0 6= - - local ZPCRE_OP - while pcre_match -b -n $4 -- "${(P)1}"; do - # append offsets and computed replacement to the array - # we need to perform the evaluation in a scalar assignment so that if - # it generates an array, the elements are converted to string (by - # joining with the first character of $IFS as usual) - 5=${(e)3} - argv+=(${(s: :)ZPCRE_OP} "$5") - - # for 0-width matches, increase offset by 1 to avoid - # infinite loop - 4=$((argv[-2] + (argv[-3] == argv[-2]))) - done - - (($# > 6)) || return # no match - - set +o multibyte - - # $5 contains the result, $6 the current offset - 5= 6=1 - for 2 3 4 in "$@[7,-1]"; do - 5+=${(P)1[$6,$2]}$4 - 6=$(($3 + 1)) - done - 5+=${(P)1[$6,-1]} -else - # in ERE, we can't use an offset so ^, (and \<, \b, \B, [[:<:]] where - # available) won't work properly. - - # $4 is the string to be matched - 4=${(P)1} - - while [[ -n $4 ]]; do - if [[ $4 =~ $2 ]]; then - # append initial part and substituted match - 5+=${4[1,MBEGIN-1]}${(e)3} - # truncate remaining string - if ((MEND < MBEGIN)); then - # zero-width match, skip one character for the next match - ((MEND++)) - 5+=${4[1]} - fi - 4=${4[MEND+1,-1]} - # indicate we did something - 6=1 - else - break - fi - done - [[ -n $6 ]] || return # no match - 5+=$4 -fi - -eval $1=\$5 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/relative b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/relative deleted file mode 100644 index 432f2e2d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/relative +++ /dev/null @@ -1,28 +0,0 @@ -# Print the a relative path from the second directory to the first, -# defaulting the second directory to $PWD if none is specified. -emulate -L zsh || return 1 - -[[ $1 != /* ]] && print $1 && return -[[ -f $1 ]] && 3=$1:t 1=$1:h -[[ -d $1 && -d ${2:=$PWD} ]] || return 1 -[[ $1 -ef $2 ]] && print ${3:-.} && return - -# The simplest way to eliminate symlinks and ./ and ../ in the paths: -1=$(cd $1; pwd -r) -2=$(cd $2; pwd -r) - -local -a cur abs -cur=(${(s:/:)2}) # Split 'current' directory into cur -abs=(${(s:/:)1} $3) # Split target directory into abs - -# Compute the length of the common prefix, or discover a subdirectory: -integer i=1 -while [[ i -le $#abs && $abs[i] == $cur[i] ]] -do - ((++i > $#cur)) && print ${(j:/:)abs[i,-1]} && return -done - -2=${(j:/:)cur[i,-1]/*/..} # Up to the common prefix directory and -1=${(j:/:)abs[i,-1]} # down to the target directory or file - -print $2${1:+/$1} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-argument b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-argument deleted file mode 100644 index 0ef3de7b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-argument +++ /dev/null @@ -1,48 +0,0 @@ -# Replace an argument to a command, delimited by normal shell syntax. -# Prompts for the replacement. -# With no numeric argument, replace the current argument. -# With a numeric argument, replace that argument: 0 = command word, -# as in history expansion. -# If editing buffer is empty, use previous history line. - -autoload -Uz split-shell-arguments read-from-minibuffer - -if (( ${#BUFFER} == 0 )); then - (( HISTNO-- )) - CURSOR=${#BUFFER} -fi - -local widget=$WIDGET numeric -integer cursor=CURSOR -if (( ${+NUMERIC} )); then - numeric=$NUMERIC -fi -local reply REPLY REPLY2 -integer index -split-shell-arguments - -if [[ -n $numeric ]]; then - if (( numeric < 0 )); then - (( index = ${#reply} - 1 + 2*(numeric+1) )) - else - (( index = 2 + 2*numeric )) - fi -else - (( index = REPLY & ~1 )) -fi - -local edit -if [[ $widget = *edit* ]]; then - edit=$reply[$index] -fi -read-from-minibuffer "Replace $reply[$index] with: " $edit || return 1 - -integer diff=$(( ${#REPLY} - ${#reply[$index]} )) -reply[$index]=$REPLY - -BUFFER=${(j..)reply} -if (( cursor > REPLY2 )); then - (( CURSOR = cursor + diff )) -else - (( CURSOR = REPLY2 )) -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string deleted file mode 100644 index 68aac28d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string +++ /dev/null @@ -1,42 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz read-from-minibuffer replace-string-again - -local p1 p2 -integer changeno=$UNDO_CHANGE_NO - -{ - -if [[ -n $_replace_string_src ]]; then - p1="[$_replace_string_src -> $_replace_string_rep]"$'\n' -fi - -p1+="Replace: " -p2=" with: " - -# Saving curwidget is necessary to avoid the widget name being overwritten. -local REPLY previous curwidget=$WIDGET - -if (( ${+NUMERIC} )); then - (( $NUMERIC > 0 )) && previous=1 -else - zstyle -t ":zle:$WIDGET" edit-previous && previous=1 -fi - -read-from-minibuffer $p1 ${previous:+$_replace_string_src} || return 1 -if [[ -n $REPLY ]]; then - typeset -g _replace_string_src=$REPLY - - read-from-minibuffer "$p1$_replace_string_src$p2" \ - ${previous:+$_replace_string_rep} || return 1 - typeset -g _replace_string_rep=$REPLY -fi - -} always { - # Undo back to the original line; we don't want the - # undo history of editing the strings left. - zle undo $changeno -} - -replace-string-again $curwidget diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string-again b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string-again deleted file mode 100644 index dac3db75..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/replace-string-again +++ /dev/null @@ -1,54 +0,0 @@ -# Back end for replace-string; can be called as a widget to repeat -# the previous replacement. _replace_string_src and _replace_string_rep -# are global. - -# When called from replace-string, we need to use the widget -# name passed to decide whether to do pattern matching: the widget -# may since have been overwritten. -local MATCH MBEGIN MEND curwidget=${1:-$WIDGET} -local -a match mbegin mend - -if [[ -z $_replace_string_src ]]; then - zle -M "No string to replace." - return 1 -fi - -if [[ $curwidget = *(pattern|regex)* ]]; then - local rep2 - # The following horror is so that an & preceded by an even - # number of backslashes is active, without stripping backslashes, - # while preceded by an odd number of backslashes is inactive, - # with one backslash being stripped. A similar logic applies - # to \digit. - local rep=$_replace_string_rep - while [[ $rep = (#b)([^\\]#)(\\\\)#(\\|)(\&|\\<->|\\\{<->\})(*) ]]; do - if [[ -n $match[3] ]]; then - # Expression is quoted, strip quotes - rep2="${match[1]}${match[2]}${match[4]}" - else - rep2+="${match[1]}${match[2]}" - if [[ $match[4] = \& ]]; then - rep2+='${MATCH}' - elif [[ $match[4] = \\\{* ]]; then - rep2+='${match['${match[4][3,-2]}']}' - else - rep2+='${match['${match[4][2,-1]}']}' - fi - fi - rep=${match[5]} - done - rep2+=$rep - if [[ $curwidget = *regex* ]]; then - autoload -Uz regexp-replace - integer ret=1 - regexp-replace LBUFFER $_replace_string_src $rep2 && ret=0 - regexp-replace RBUFFER $_replace_string_src $rep2 && ret=0 - return ret - else - LBUFFER=${LBUFFER//(#bm)$~_replace_string_src/${(e)rep2}} - RBUFFER=${RBUFFER//(#bm)$~_replace_string_src/${(e)rep2}} - fi -else - LBUFFER=${LBUFFER//$_replace_string_src/$_replace_string_rep} - RBUFFER=${RBUFFER//$_replace_string_src/$_replace_string_rep} -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help deleted file mode 100755 index 9580baa8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help +++ /dev/null @@ -1,129 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# -# Figure out where to get the best help, and get it. -# -# Install this function by placing it in your FPATH and then -# adding to your .zshrc the lines: -# unalias run-help -# autoload -Uz run-help -# - -emulate -RL zsh - -local HELPDIR="${HELPDIR:-/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/share/zsh/5.9/help}" - -[[ $1 == "." ]] && 1="dot" -[[ $1 == ":" ]] && 1="colon" - -# Check whether Util/helpfiles has been used to generate zsh help -if [[ $# == 0 || $1 == "-l" ]] -then - if [[ -d $HELPDIR ]] - then - echo "Here is a list of topics for which special help is available:" - echo "" - print -rc $HELPDIR/*(:t) - else - echo "There is no list of special help topics available at this time." - fi - return 0 -elif [[ -n "${HELPDIR:-}" && -r $HELPDIR/$1 && $1 != compctl ]] -then - ${=PAGER:-more} $HELPDIR/$1 - return $? -fi - -# No zsh help; use "whence" to figure out where else we might look -local what places noalias newline=' -' -integer i=0 didman=0 - -places=( "${(@f)$(builtin whence -va $1)}" ) -if [[ $places = *"not found"* && $1 != ${(Q)1} ]]; then - # Different when unquoted, so try stripping quotes. - places=( "${(@f)$(builtin whence -va ${(Q)1})}" ) - if (( ${#places} )); then - set -- "${(Q)@}" - fi - # Quotation is significant to aliases, so suppress lookup. - noalias=1 -fi - -{ -while ((i++ < $#places)) -do - what=$places[$i] - [[ -n $noalias && $what = *" is an alias "* ]] && continue - builtin print -r $what - case $what in - (*( is an alias for (noglob|nocorrect))*) - [[ ${what[(w)7]:t} != ${what[(w)1]} ]] && - run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)7]:t} - ;; - (*( is an alias)*) - [[ ${what[(w)6]:t} != ${what[(w)1]} ]] && - run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)6]:t} - ;; - (*( is a * function)) - case ${what[(w)1]} in - (comp*) man zshcompsys;; - (zf*) man zshftpsys;; - (run-help) man zshcontrib;; - (*) builtin functions ${what[(w)1]} | ${=PAGER:-more};; - esac;; - (*( is a * builtin)) - case ${what[(w)1]} in - (compctl) man zshcompctl;; - (comp*) man zshcompwid;; - (bindkey|vared|zle) man zshzle;; - (*setopt) man zshoptions;; - (cap|getcap|setcap) ;& - (clone) ;& - (ln|mkdir|mv|rm|rmdir|sync) ;& - (sched) ;& - (echotc|echoti|sched|stat|zprof|zpty|zsocket|zstyle|ztcp) man zshmodules;; - (zftp) man zshftpsys;; - (*) man zshbuiltins;; - esac - ;; - (*( is hashed to *)) - man ${what[(w)-1]:t} - ;; - (*( is a reserved word)) - man zshmisc - ;; - (*) - if ((! didman++)) - then - if whence "run-help-$1:t" >/dev/null - then - local cmd_args - builtin getln cmd_args - builtin print -z "$cmd_args" - cmd_args=( ${(z)cmd_args} ) - - # Discard the command itself & everything before it. - shift $cmd_args[(i)${run_help_orig_cmd:-$1}] cmd_args || - return - - # Discard options, parameter assignments & paths. - cmd_args=( ${cmd_args[@]:#([-+]*|*=*|*/*|\~*)} ) - - eval "run-help-$1:t ${(@q)cmd_args}" - else - POSIXLY_CORRECT=1 man $@:t - fi - fi - ;; - esac - if ((i < $#places && ! didman)) - then - builtin print -nP "%SPress any key for more help or q to quit%s" - builtin read -k what - [[ $what != $newline ]] && echo - [[ $what == [qQ] ]] && break - fi -done -} always { - unset run_help_orig_cmd -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-btrfs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-btrfs deleted file mode 100644 index cb139e9b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-btrfs +++ /dev/null @@ -1,18 +0,0 @@ -case $1 in - (b*) man btrfs-balance ;; - (c*) man btrfs-check ;; - (d*) man btrfs-device ;; - (f*) man btrfs-filesystem ;; - (i*) man btrfs-inspect-internal ;; - (p*) man btrfs-property ;; - (qg*) man btrfs-qgroup ;; - (qu*) man btrfs-quota ;; - (rec*) man btrfs-receive ;; - (rep*) man btrfs-replace ;; - (resc*) man btrfs-rescue ;; - (rest*) man btrfs-restore ;; - (sc*) man btrfs-scrub ;; - (se*) man btrfs-send ;; - (su*) man btrfs-subvolume ;; - (*) man btrfs ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-git b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-git deleted file mode 100644 index a841f89d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-git +++ /dev/null @@ -1 +0,0 @@ -git help ${1:-git} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-ip b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-ip deleted file mode 100755 index d594f280..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-ip +++ /dev/null @@ -1,38 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# Install this function by placing it in your FPATH and then -# adding to your .zshrc the line if you use run-help function: -# autoload -Uz run-help-ip - -if [ $# -eq 0 ]; then - man ip - return -fi - -if ! man -w ip-address >/dev/null 2>&1; then - man ip - return -fi - -case $1 in - (addrl*) man ip-addrlabel ;; - (a*) man ip-address ;; - (l2*) man ip-l2tp ;; - (li*) man ip-link ;; - (ma*) man ip-maddress ;; - (mo*) man ip-monitor ;; - (mr*) man ip-mroute ;; - (nei*) man ip-neighbour ;; - (netc*) man ip-netconf ;; - (netn*) man ip-netns ;; - (nt*) man ip-ntable ;; - (ro*) man ip-route ;; - (ru*) man ip-rule ;; - (tcp*) man ip-tcp_metrics ;; - (to*) man ip-token ;; - (tu*) man ip-tunnel ;; - (xf*) man ip-xfrm ;; - (*) man ip ;; -esac - -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-openssl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-openssl deleted file mode 100644 index c528418c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-openssl +++ /dev/null @@ -1,7 +0,0 @@ - -if [ $# -eq 0 ]; then - man openssl -else - man $1 -fi - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-p4 b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-p4 deleted file mode 100644 index e48a4d06..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-p4 +++ /dev/null @@ -1,5 +0,0 @@ -if (( ! $# )); then - p4 help commands -else - p4 help $1 -fi | ${=PAGER:-more} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-sudo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-sudo deleted file mode 100644 index a8fa7aa0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-sudo +++ /dev/null @@ -1,7 +0,0 @@ - -if [ $# -eq 0 ]; then - man sudo -else - run-help $1 -fi - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svk deleted file mode 100644 index 78253824..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svk +++ /dev/null @@ -1 +0,0 @@ -svk help $1 | ${=PAGER:-more} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svn b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svn deleted file mode 100644 index d55a493a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/run-help-svn +++ /dev/null @@ -1 +0,0 @@ -svn help $1 | ${=PAGER:-more} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-bracketed b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-bracketed deleted file mode 100644 index 0cb4d0e7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-bracketed +++ /dev/null @@ -1,58 +0,0 @@ -# Text object for matching characters between matching pairs of brackets -# -# So for example, given (( i+1 )), the vi command ci( will change -# all the text between matching colons. -# -# The following is an example of how to enable this: -# autoload -U select-bracketed -# zle -N select-bracketed -# for m in visual viopp; do -# for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do -# bindkey -M $m $c select-bracketed -# done -# done - -setopt localoptions noksharrays - -local style=${${1:-$KEYS}[1]} matching="(){}[]<>bbBB" -local -i find=${NUMERIC:-1} idx=${matching[(I)[${${1:-$KEYS}[2]}]]}%9 -(( idx )) || return 1 # no corresponding closing bracket -local lmatch=${matching[1 + ((idx-1) & ~1)]} -local rmatch=${matching[1 + ((idx-1) | 1)]} -local -i start=CURSOR+1 end=CURSOR+1 rfind=find - -[[ $BUFFER[start] = "$rmatch" ]] && (( start--, end-- )) -if (( REGION_ACTIVE && MARK != CURSOR)); then - (( MARK < CURSOR && (start=end=MARK+1) )) - local -i origstart=start-1 - [[ $style = i ]] && (( origstart-- )) -fi - -while (( find )); do - for (( ; find && start; --start )); do - case $BUFFER[start] in - "$lmatch") (( find-- )) ;; - "$rmatch") (( find++ )) ;; - esac - done - - (( find )) && return 1 # opening bracket not found - - while (( rfind && end++ < $#BUFFER )); do - case $BUFFER[end] in - "$lmatch") (( rfind++ )) ;; - "$rmatch") (( rfind-- )) ;; - esac - done - - (( rfind )) && return 1 # closing bracket not found - - (( REGION_ACTIVE && MARK != CURSOR && start >= origstart && - ( find=rfind=${NUMERIC:-1} ) )) -done - -[[ $style = i ]] && (( start++, end-- )) -(( REGION_ACTIVE = !!REGION_ACTIVE )) -[[ $KEYMAP = vicmd ]] && (( REGION_ACTIVE && end-- )) -MARK=$start -CURSOR=$end diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-quoted b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-quoted deleted file mode 100644 index 904f1e46..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-quoted +++ /dev/null @@ -1,71 +0,0 @@ -# Text object for matching characters between a particular delimiter -# -# So for example, given "text", the vi command vi" will select -# all the text between the double quotes -# -# The following is an example of how to enable this: -# autoload -U select-quoted -# zle -N select-quoted -# for m in visual viopp; do -# for c in {a,i}{\',\",\`}; do -# bindkey -M $m $c select-quoted -# done -# done - -setopt localoptions noksharrays - -local matching=${${1:-$KEYS}[2]} -local -i start=CURSOR+2 end=CURSOR+2 found=0 alt=0 count=0 - -if ((REGION_ACTIVE )); then - if (( MARK < CURSOR )); then - start=MARK+2 - else - end=MARK+2 - fi -fi - -[[ $BUFFER[CURSOR+1] = $matching && $BUFFER[CURSOR] != \\ ]] && count=1 -while (( (count || ! alt) && --start )) && [[ $BUFFER[start] != $'\n' ]]; do - if [[ $BUFFER[start] = "$matching" ]]; then - if [[ $BUFFER[start-1] = \\ ]]; then - (( start-- )) - elif (( ! found )); then - found=start - else - (( ! alt )) && alt=start - (( count && ++count )) - fi - fi -done - -for (( start=CURSOR+2; ! found && start+1 < $#BUFFER; start++ )); do - case $BUFFER[start] in - $'\n') return 1 ;; - \\) (( start++ )) ;; - "$matching") - (( end=start+1, found=start )) - ;; - esac -done - -[[ $BUFFER[end-1] = \\ ]] && (( end++ )) -until [[ $BUFFER[end] == "$matching" ]]; do - [[ $BUFFER[end] = \\ ]] && (( end++ )) - if [[ $BUFFER[end] = $'\n' ]] || (( ++end > $#BUFFER )); then - end=0 - break - fi -done - -if (( alt && (!end || count == 2) )); then - end=found - found=alt -fi -(( end )) || return 1 - -[[ ${${1:-$KEYS}[1]} = a ]] && (( found-- )) || (( end-- )) -(( REGION_ACTIVE = !!REGION_ACTIVE )) -[[ $KEYMAP = vicmd ]] && (( REGION_ACTIVE && end-- )) -MARK=found -CURSOR=end diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-match deleted file mode 100644 index 8440852a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-match +++ /dev/null @@ -1,120 +0,0 @@ -# Select the entire word around the cursor. Intended for use as -# a vim-style text object in vi mode but with customisable -# word boundaries. -# -# For example: -# autoload -U select-word-match -# zle -N select-in-camel select-word-match -# bindkey -M viopp ic select-in-camel -# zstyle ':zle:*-camel' word-style normal-subword - -emulate -L zsh -setopt extendedglob - -local curcontext=:zle:$WIDGET -local -A matched_words -# Start and end of range of characters -integer pos1 pos2 num=${NUMERIC:-1} -local style word - -# choose between inner word or a word style of widget -for style in $1 ${${WIDGET#*-}[1]} $KEYS[1] "i"; do - [[ $style = [ai] ]] && break -done - -autoload -Uz match-words-by-style - -while (( num-- )); do - if (( MARK > CURSOR )); then - # if cursor is at the start of the selection, just move back a word - match-words-by-style - if [[ $style = i && -n $matched_words[ws-before-cursor] ]]; then - word=$matched_words[ws-before-cursor] - else - word=$matched_words[word-before-cursor]$matched_words[ws-before-cursor] - fi - if [[ -n $word ]]; then - (( CURSOR -= ${#word} )) - else - return 1 - fi - elif (( MARK >= 0 && MARK < CURSOR )); then - # cursor at the end, move forward a word - (( CURSOR+1 == $#BUFFER )) && return 1 - (( CURSOR++ )) - match-words-by-style - if [[ -n $matched_words[ws-after-cursor] ]]; then - if [[ $style = i ]]; then - # just skip the whitespace - word=$matched_words[ws-after-cursor] - else - # skip the whitespace plus word - word=$matched_words[ws-after-cursor]$matched_words[word-after-cursor] - fi - else - if [[ $style = i ]]; then - # skip the word - word=$matched_words[word-after-cursor] - else - # skip word and following whitespace - word=$matched_words[word-after-cursor]$matched_words[ws-after-word] - fi - fi - (( CURSOR += ${#word} - 1 )) - else - match-words-by-style - - if (( ${matched_words[is-word-start]} )); then - # The word we are selecting starts at the cursor position. - pos1=$CURSOR - else - # No whitespace before us, so select any wordcharacters there. - pos1="${#matched_words[start]}" - fi - - if [[ -n "${matched_words[ws-after-cursor]}" ]]; then - if [[ -n "${matched_words[ws-before-cursor]}" ]] || (( CURSOR == 0 )); then - # whitespace either side, select it - (( pos1 = CURSOR - ${#matched_words[ws-before-cursor]} )) - (( pos2 = CURSOR + ${#matched_words[ws-after-cursor]} )) - else - # There's whitespace at the cursor position, so only select - # up to the cursor position. - (( pos2 = CURSOR + 1 )) - fi - else - # No whitespace at the cursor position, so select the - # current character and any following wordcharacters. - (( pos2 = CURSOR + ${#matched_words[word-after-cursor]} )) - fi - - if [[ $style = a ]]; then - if [[ -n "${matched_words[ws-after-cursor]}" && ( -n "${matched_words[ws-before-cursor]}" || CURSOR -eq 0 ) ]]; then - # in the middle of whitespace so grab a word - if [[ -n "${matched_words[word-after-cursor]}" ]]; then - (( pos2 += ${#matched_words[word-after-cursor]} )) # preferably the one after - else - (( pos1 -= ${#matched_words[word-before-cursor]} )) # otherwise the one before - fi - elif [[ -n "${matched_words[ws-after-word]}" ]]; then - (( pos2 += ${#matched_words[ws-after-word]} )) - elif [[ -n "${matched_words[ws-before-cursor]}" ]]; then - # couldn't grab whitespace forwards so try backwards - (( pos1 -= ${#matched_words[ws-before-cursor]} )) - elif (( pos1 > 0 )); then - # There might have been whitespace before the word - (( CURSOR = pos1 )) - match-words-by-style - if [[ -n "${matched_words[ws-before-cursor]}" ]]; then - (( pos1 -= ${#matched_words[ws-before-cursor]} )) - fi - fi - fi - - (( MARK = pos1, CURSOR = pos2-1 )) - fi -done - -if [[ $KEYMAP == vicmd ]] && (( !REGION_ACTIVE )); then - (( CURSOR++ )) # Need to include cursor position for operators -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-style b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-style deleted file mode 100644 index 1e472229..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/select-word-style +++ /dev/null @@ -1,100 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local -a word_functions - -word_functions=(backward-kill-word backward-word - capitalize-word down-case-word - forward-word kill-word - transpose-words up-case-word) - -[[ -z $1 ]] && autoload -Uz read-from-minibuffer - -local REPLY detail f wordstyle teststyle - -if ! zle -l $word_functions[1]; then - for f in $word_functions; do - autoload -Uz $f-match - zle -N $f $f-match - done -fi - - -while true; do - if [[ -n $WIDGET && -z $1 ]]; then - read-from-minibuffer -k1 "Word styles (hit return for more detail): -(b)ash (n)ormal (s)hell (w)hitespace (d)efault (q)uit -(B), (N), (S), (W) as above with subword matching -${detail}? " || return 1 - else - REPLY=$1 - fi - - detail= - - case $REPLY in - ([bB]*) - # bash style - wordstyle=standard - zstyle ':zle:*' word-chars '' - zstyle ':zle:*' skip-whitespace-first true - ;; - - ([nN]*) - # normal zsh style - wordstyle=standard - zstyle ':zle:*' word-chars "$WORDCHARS" - zstyle ':zle:*' skip-whitespace-first false - ;; - - ([sS]*) - # shell command arguments or special tokens - wordstyle=shell - zstyle ':zle:*' skip-whitespace-first false - ;; - - ([wW]*) - # whitespace-delimited - wordstyle=space - zstyle ':zle:*' skip-whitespace-first false - ;; - - (d*) - # default: could also return widgets to builtins here - wordstyle= - zstyle -d ':zle:*' word-chars - zstyle -d ':zle:*' skip-whitespace-first - ;; - - (q*) - # quit without setting - return 1 - ;; - - (*) - detail="\ -(b)ash: Word characters are alphanumerics only -(n)ormal: Word characters are alphanumerics plus \$WORDCHARS -(s)hell: Words are command arguments using shell syntax -(w)hitespace: Words are whitespace-delimited -(d)efault: Use default, no special handling (usually same as \`n') -(q)uit: Quit without setting a new style -" - if [[ -z $WIDGET || -n $1 ]]; then - print "Usage: $0 word-style -where word-style is one of the characters in parentheses: -$detail" >&2 - return 1 - fi - continue - ;; - esac - - if [[ -n $wordstyle ]]; then - if [[ $REPLY = [[:upper:]]* ]]; then - wordstyle+=-subword - fi - zstyle ':zle:*' word-style $wordstyle - fi - return -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/send-invisible b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/send-invisible deleted file mode 100644 index d31fc76a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/send-invisible +++ /dev/null @@ -1,85 +0,0 @@ -#autoload - -# send-invisible reads a line from the terminal, displaying an -# asterisk for each character typed. It stores the line in the -# global variable INVISIBLE, and when finished reading, inserts -# the string ${INVISIBLE} into the original command buffer. - -# If one argument is given, it is the prompt. The default is -# "Non-echoed text: " - -# If two or three arguments are given, they form the prefix and -# suffix of the inserted INVISIBLE. Defaults are '${' and '}' -# but these can be replaced, for example with '"${' and '}"' to -# enclose the whole word in double quotes, or '${(z)' and '}' to -# split the value of $INVISIBLE like the shell parser. - -# To use: -# autoload -Uz send-invisible -# zle -N send-invisible -# bindkey '^X ' send-invisible -# Or more elaborately: -# hidden-command() { send-invisible '% ' '${(z)' '}' } -# zle -N hidden-command -# bindkey '^X%' hidden-command - -# Shamelessly cribbed from read-from-minibuffer. - -emulate -L zsh - -# Hide the value of INVISIBLE in any output of set and typeset -typeset -g -H INVISIBLE= - -local pretext="$PREDISPLAY$LBUFFER$RBUFFER$POSTDISPLAY"$'\n' - -# Can't directly make these locals because send-invisible is -# called as a widget, so these special variables are already -# local at the current level and wouldn't get restored -local save_lbuffer=$LBUFFER -local save_rbuffer=$RBUFFER -local save_predisplay=$PREDISPLAY -local save_postdisplay=$POSTDISPLAY -local -a save_region_highlight -save_region_highlight=("${region_highlight[@]}") - -{ - local lb rb opn=${2:-'${'} cls=${3:-'}'} - LBUFFER= - RBUFFER= - PREDISPLAY="$pretext${1:-Non-echoed text: }" - POSTDISPLAY= - region_highlight=("P${(m)#pretext} ${(m)#PREDISPLAY} bold") - - while zle -R && zle .read-command - do - # There are probably more commands that should go into - # the first clause here to harmlessly beep, because ... - case $REPLY in - (send-invisible|run-help|undefined-key|where-is|which-command) - zle .beep;; - (push-*|send-break) INVISIBLE=;& - (accept-*) break;; - (*) - LBUFFER=$lb - RBUFFER=$rb - zle $REPLY # ... this could expose something - lb=$LBUFFER - rb=$RBUFFER - INVISIBLE=$BUFFER - LBUFFER=${(l:$#LBUFFER::*:):-} - RBUFFER=${(l:$#RBUFFER::*:):-} - ;; - esac - done -} always { - LBUFFER=$save_lbuffer - RBUFFER=$save_rbuffer - PREDISPLAY=$save_predisplay - POSTDISPLAY=$save_postdisplay - region_highlight=("${save_region_highlight[@]}") - zle -R - - # Now that the highlight has been restored with all the old - # text and cursor positioning, insert the new text. - LBUFFER+=${INVISIBLE:+${opn}INVISIBLE${cls}} -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/smart-insert-last-word b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/smart-insert-last-word deleted file mode 100644 index 05f23cba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/smart-insert-last-word +++ /dev/null @@ -1,126 +0,0 @@ -# smart-insert-last-word -# Inspired by Christoph Lange <langec@gmx.de> from zsh-users/3265; -# rewritten to correct multiple-call behavior after zsh-users/3270; -# modified to work with copy-earlier-word after zsh-users/5832. -# Edited further per zsh-users/10881 and zsh-users/10884. -# -# This function as a ZLE widget can replace insert-last-word, like so: -# -# zle -N insert-last-word smart-insert-last-word -# -# With a numeric prefix, behaves like insert-last-word, except that words -# in comments are ignored when interactive_comments is set. -# -# Otherwise, the rightmost "interesting" word from any previous command is -# found and inserted. The default definition of "interesting" is that the -# word contains at least one alphabetic character, slash, or backslash. -# This definition can be overridden by use of a style like so: -# -# zstyle :insert-last-word match '*[[:alpha:]/\\]*' -# -# For example, you might want to include words that contain spaces: -# -# zstyle :insert-last-word match '*[[:alpha:][:space:]/\\]*' -# -# Or include numbers as long as the word is at least two characters long: -# -# zstyle :insert-last-word match '*([[:digit:]]?|[[:alpha:]/\\])*' -# -# That causes redirections like "2>" to be included. -# -# Note also that the style is looked up based on the widget name, so you -# can bind this function to different widgets to use different patterns: -# -# zle -N insert-last-assignment smart-insert-last-word -# zstyle :insert-last-assignment match '[[:alpha:]][][[:alnum:]]#=*' -# bindkey '\e=' insert-last-assignment -# -# The "auto-previous" style, if set to a true value, causes the search to -# proceed upward through the history until an interesting word is found. -# If auto-previous is unset or false and there is no interesting word, the -# last word is returned. - -emulate -L zsh -setopt extendedglob nohistignoredups - -# Begin by preserving completion suffix if any -zle auto-suffix-retain - -# Not strictly necessary: -# (($+_ilw_hist)) || integer -g _ilw_hist _ilw_count _ilw_cursor _ilw_lcursor _ilw_changeno -# (($+_ilw_result)) || typeset -g _ilw_result - -integer cursor=$CURSOR lcursor=$CURSOR -local lastcmd pattern numeric=$NUMERIC - -# Save state for repeated calls -if (( HISTNO == _ilw_hist && cursor == _ilw_cursor && - UNDO_CHANGE_NO == _ilw_changeno )) && [[ $BUFFER == $_ilw_result ]] -then - NUMERIC=$[_ilw_count+1] - lcursor=$_ilw_lcursor -else - NUMERIC=1 - typeset -g _ilw_lcursor=$lcursor -fi -# Handle the up to three arguments of .insert-last-word -if (( $+1 )) -then - if (( $+3 )); then - ((NUMERIC = -($1))) - else - ((NUMERIC = _ilw_count - $1)) - fi - (( NUMERIC )) || LBUFFER[lcursor+1,cursor+1]='' - numeric=$((-(${2:--numeric}))) -fi -typeset -g _ilw_hist=$HISTNO -typeset -g _ilw_count=$NUMERIC - -if [[ -z "$numeric" ]] -then - zstyle -s :$WIDGET match pattern || pattern='*[[:alpha:]/\\]*' -fi - -# Note that we must use .up-history for navigation here because of -# possible "holes" in the $history hash (the result of dup expiry). -# We need $history because $BUFFER retains edits in progress as the -# user moves around the history, but we search the unedited lines. - -{ - zmodload -i zsh/parameter - zle .end-of-history # Start from final command - zle .up-history || return 1 # Retrieve previous command - local buffer=$history[$HISTNO] # Get unedited history line - lastcmd=( ${${(z)buffer}:#\;} ) # Split into shell words - if [[ -n "$pattern" ]] - then - # This is the "smart" part -- search right-to-left and - # latest-to-earliest through the history for a word. - integer n=0 found=$lastcmd[(I)$pattern] - if zstyle -t :$WIDGET auto-previous - then - while (( found == 0 && ++n )) - do - zle .up-history || return 1 - buffer=$history[$HISTNO] - lastcmd=( ${${(z)buffer}:#\;} ) - found=$lastcmd[(I)$pattern] - done - fi - # The following accounts for 1-based index - (( found-- > 0 && (numeric = $#lastcmd - found) )) - fi -} always { - HISTNO=$_ilw_hist # Return to current command - CURSOR=$cursor # Restore cursor position - NUMERIC=${numeric:-1} # In case of fall-through -} - -(( NUMERIC > $#lastcmd )) && return 1 - -LBUFFER[lcursor+1,cursor+1]=$lastcmd[-NUMERIC] -typeset -g _ilw_cursor=$CURSOR _ilw_result=$BUFFER - -# This is necessary to update UNDO_CHANGE_NO immediately -zle split-undo && typeset -g _ilw_changeno=$UNDO_CHANGE_NO diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/split-shell-arguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/split-shell-arguments deleted file mode 100644 index 11a92871..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/split-shell-arguments +++ /dev/null @@ -1,57 +0,0 @@ -# Split a command line into shell arguments and whitespace in $reply. -# Odd elements (starting from 1) are whitespace, even elements -# are shell arguments (possibly quoted strings). Whitespace at -# start and end is always included in the array but may be an empty string. -# $REPLY holds NO_KSH_ARRAYS index of current word in $reply. -# $REPLY2 holds NO_KSH_ARRAYS index of current character in current word. -# Hence ${reply[$REPLY][$REPLY2]} is the character under the cursor. -# -# reply, REPLY, REPLY2 should therefore be local to the enclosing function. - -emulate -L zsh -setopt extendedglob - -local -a bufwords lbufwords -local word -integer pos=1 cpos=$((CURSOR+1)) opos iword ichar - -bufwords=(${(Z+n+)BUFFER}) - -typeset -ga reply -reply=() -while [[ ${BUFFER[pos]} = [[:space:]] ]]; do - (( pos++ )) -done -reply+=${BUFFER[1,pos-1]} -(( cpos < pos )) && (( iword = 1, ichar = cpos )) - -for word in "${bufwords[@]}"; do - (( opos = pos )) - (( pos += ${#word} )) - reply+=("$word") - if (( iword == 0 && cpos < pos )); then - (( iword = ${#reply} )) - (( ichar = cpos - opos + 1 )) - fi - - (( opos = pos )) - while [[ ${BUFFER[pos]} = [[:space:]] ]]; do - (( pos++ )) - done - reply+=("${BUFFER[opos,pos-1]}") - if (( iword == 0 && cpos < pos )); then - (( iword = ${#reply} )) - (( ichar = cpos - opos + 1 )) - fi -done - -typeset -g REPLY REPLY2 -if (( iword == 0 )); then - # At the end of the line, so off the indexable positions - # (but still a valid cursor position). - (( REPLY = ${#reply} )) - (( REPLY2 = 1 )) -else - (( REPLY = iword )) - (( REPLY2 = ichar )) -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/sticky-note b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/sticky-note deleted file mode 100755 index 30888d26..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/sticky-note +++ /dev/null @@ -1,138 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -fi -# A zsh sticky-note ("post-it") application. Load this file as a function: -# autoload -Uz sticky-note -# -# It may then be bound as a widget: -# zle -N sticky-note -# And/or run as a command: -# sticky-note -# sticky-note -b -# sticky-note -l ... -# The -b option is like "zed -b": it installs keymaps/bindings only. -# Use the -l option to list previous sticky notes. Most options of the -# "fc -l" command are supported, for selecting which notes to display. -# If "sticky-note -l" is run from inside a widget, the cursor is moved -# to the top left of the terminal before display and returned to its -# original position after display. The -l option is implicitly added -# when sticky-note is called from zle-line-init, to avoid inadvertently -# trapping the user inside the note editor. -# -# Otherwise, invoke the line editor with the previous notes available -# as an editor history. Two quick taps on the return/enter key finish -# the note, or you can use ^X^W as usual (ZZ in vicmd mode). - -# The application is configured by three zstyles, all using the context -# ":sticky-note". The first two styles are "notefile" and "maxnotes" -# to name the file in which notes are stored and the maximum number of -# notes to retain: -# zstyle :sticky-note notefile ~/.zsticky -# zstyle :sticky-note maxnotes 1000 - -# The "theme" style may be set to control the appearance of the notes. -# The style is an associative array; the current set of values (defaults -# in parens) are: -# bg => name or ANSI escape for background color (yellow) -# fg => name or ANSI escape for foreground color (black) -# color => ANSI escape for color scheme ($theme[bg]$theme[fg]) -# reset => ANSI escape to restore "normal" colors -# Values given as names are looked up in the $bg and $fg arrays from the -# "colors" function. If a "color" field is set, the "bg" and "fg" fields -# are not used. Example: -# zstyle :sticky-note theme \ -# bg red \ -# fg $fg_bold[yellow] - -# For backwards compatibility with an earlier version, the notefile may -# also be named by the STICKYFILE variable (defaults to $HOME/.zsticky). -# The number of notes stored may be given by STICKYSIZE (1000). - -# I encourage all you creative people to contribute enhancements ... - -emulate -LR zsh -setopt nobanghist extendedhistory histignoredups - -local STICKYFILE=${STICKYFILE:-$HOME/.zsticky} -local STICKYSIZE=${STICKYSIZE:-1000} -local sticky stickyfile stickysize - -zstyle -s :sticky-note notefile stickyfile || stickyfile=$STICKYFILE -zstyle -s :sticky-note maxnotes stickysize || stickysize=$STICKYSIZE - -# Set up keybindings (adapted from "zed") -if ! bindkey -M sticky >& /dev/null -then - bindkey -N sticky main - bindkey -M sticky ^X^W accept-line - bindkey -M sticky ^M^M accept-line # Two quick RETs ends note - bindkey -M sticky ^M self-insert-unmeta -fi -if ! bindkey -M sticky-vicmd >& /dev/null -then - bindkey -N sticky-vicmd vicmd - bindkey -M sticky-vicmd ZZ accept-line -fi - -[[ "$1" == -b ]] && return 0 - -# Look up color theme -local -A theme -(($+bg && $+fg)) || { autoload -Uz colors; colors } -zstyle -m :sticky-note theme '*' || { - zstyle :sticky-note theme bg yellow fg black -} -zstyle -a :sticky-note theme theme -(( ${+bg[$theme[bg]]} )) && theme[bg]=$bg[$theme[bg]] -(( ${+fg[$theme[fg]]} )) && theme[fg]=$fg[$theme[fg]] -(( ${+theme[color]} )) || theme[color]=$theme[bg]$theme[fg] -(( ${+theme[reset]} )) || theme[reset]=$reset_color - -# If invoked as a widget, behave a bit like run-help -if zle -then - zmodload -i zsh/parameter - if [[ $* == -*l* || $functrace == *zle-line-init:* ]] - then - fc -ap $stickyfile $stickysize $stickysize - echoti sc - echoti home - print -nr "$theme[color]" - fc -l "${@:--1}" | while read -r sticky; do print -- "$sticky"; done - print -nr "$theme[reset]" - echoti rc - elif [[ $CONTEXT = (cont|select|vared) ]] - then - zle -M "No stickies during ${${(z)PREBUFFER}[1]:-$CONTEXT}, sorry" - zle .beep - zle -R - else - zle .push-line - BUFFER=sticky-note - zle .accept-line - fi - return 0 -fi - -# Invoked as a command, behave like zed, but write a history file -fc -ap $stickyfile $stickysize $stickysize - -# With a -l option, list the existing sticky notes -if [[ "$*" == -*l* ]] -then - print -nr "$theme[color]" - # Use read/print loop to interpolate "\n" in history lines - fc -f "$@" | while read -r sticky; do print -- "$sticky"; done - print -nr "$theme[reset]" - return 0 -fi - -# Edit a new sticky note and add it to the stickyfile -while vared -h -p "%{$theme[color]%}" -M sticky -m sticky-vicmd sticky -do - { - [[ -n "$sticky" ]] && print -s -- "$sticky" - } always { - (( TRY_BLOCK_ERROR = 0 )) - } && break - echo -n -e '\a' -done -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/surround b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/surround deleted file mode 100644 index b51b77c0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/surround +++ /dev/null @@ -1,80 +0,0 @@ -# Implementation of some functionality of the popular vim surround plugin. -# Allows "surroundings" to be changes: parentheses, brackets and quotes. - -# To use -# autoload -Uz surround -# zle -N delete-surround surround -# zle -N add-surround surround -# zle -N change-surround surround -# bindkey -a cs change-surround -# bindkey -a ds delete-surround -# bindkey -a ys add-surround -# bindkey -M visual S add-surround -# -# This doesn't allow yss to operate on a line but VS will work - -setopt localoptions noksharrays -autoload -Uz select-quoted select-bracketed -local before after -local -A matching -matching=( \( \) \{ \} \< \> \[ \] ) - -zle -f vichange -case $WIDGET in - change-*) - local MARK="$MARK" CURSOR="$CURSOR" call - read -k 1 before - if [[ ${(kvj::)matching} = *$before* ]]; then - call=select-bracketed - else - call=select-quoted - fi - read -k 1 after - $call "a$before" || return 1 - before="$after" - if [[ -n $matching[$before] ]]; then - after=" $matching[$before]" - before+=' ' - elif [[ -n $matching[(r)[$before:q]] ]]; then - before="${(k)matching[(r)[$before:q]]}" - fi - BUFFER[CURSOR]="$after" - BUFFER[MARK+1]="$before" - CURSOR=MARK - ;; - delete-*) - local MARK="$MARK" CURSOR="$CURSOR" call - read -k 1 before - if [[ ${(kvj::)matching} = *$before* ]]; then - call=select-bracketed - else - call=select-quoted - fi - if $call "a$before"; then - BUFFER[CURSOR]='' - BUFFER[MARK+1]='' - CURSOR=MARK - fi - ;; - add-*) - local save_cut="$CUTBUFFER" - zle .vi-change || return - local save_cur="$CURSOR" - zle .vi-cmd-mode - read -k 1 before - after="$before" - if [[ -n $matching[$before] ]]; then - after=" $matching[$before]" - before+=' ' - elif [[ -n $matching[(r)[$before:q]] ]]; then - before="${(k)matching[(r)[$before:q]]}" - fi - CUTBUFFER="$before$CUTBUFFER$after" - if [[ CURSOR -eq 0 || $BUFFER[CURSOR] = $'\n' ]]; then - zle .vi-put-before -n 1 - else - zle .vi-put-after -n 1 - fi - CUTBUFFER="$save_cut" CURSOR="$save_cur" - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_alias b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_alias deleted file mode 100644 index 59fe6781..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_alias +++ /dev/null @@ -1,156 +0,0 @@ -# Create an alias for a TCP session. -# -# The syntax is similar to the `alias' builtin. Aliases with a trailing -# `=' are assigned, while those without are listed. -# -# The alias can be used to refer to the session, however any output -# from the session will be shown using information for the base -# session name. Likewise, any other reference to the session's file -# descriptor will cause the original session name rather than the alias to -# be used. -# -# It is an error to attempt to create an alias for a non-existent session. -# The alias will be removed when the session is closed. -# -# An alias can be reused without the session having to be closed. -# However, a base session name cannot be used as an alias. If this -# becomes necessary, the base session should be renamed with tcp_rename -# first. -# -# With no arguments, list aliases. -# -# With the option -d, delete the alias. No value is allowed in this case. -# -# With the option -q (quiet), just return status 1 on failure. This -# does not apply to bad syntax, which is always reported. Bad syntax -# includes deleting aliases when supplying a value. - -emulate -L zsh -setopt extendedglob cbases - -local opt quiet base value alias delete arg match mbegin mend fd array -integer stat index - -while getopts "qd" opt; do - case $opt in - (q) quiet=1 - ;; - (d) delete=1 - ;; - (*) return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if (( ! $# )); then - if (( ${#tcp_aliases} )); then - for fd value in ${(kv)tcp_aliases}; do - for alias in ${=value}; do - print -r - \ - "${alias}: alias for session ${tcp_by_fd[$fd]:-unnamed fd $fd}" - done - done - fi - return 0 -fi - -for arg in $*; do - if [[ $arg = (#b)([^=]##)=(*) ]]; then - if [[ -n $delete ]]; then - print "$0: value given with deletion command." >&2 - stat=1 - continue - fi - alias=$match[1] - base=$match[2] - if [[ -z $base ]]; then - # hmm, this is very nearly a syntax error... - [[ -z $quiet ]] && print "$0: empty value for alias $alias" >&2 - stat=1 - continue - fi - if [[ ${+tcp_by_name} -eq 0 || -z ${tcp_by_name[$base]} ]]; then - [[ -z $quiet ]] && print "$0: no base session \`$base' for alias" - stat=1 - continue - fi - if [[ -n ${tcp_by_name[$alias]} ]]; then - # already exists, OK if this is an alias... - fd=${tcp_by_name[$alias]} - array=(${=tcp_aliases[$fd]}) - if [[ -n ${array[(r)$alias]} ]]; then - # yes, we're OK; delete the old alias. - unset "tcp_by_name[$alias]" - index=${array[(i)$alias]} - array=(${array[1,index-1]} ${array[index+1,-1]}) - if [[ -z "$array" ]]; then - unset "tcp_aliases[$fd]" - else - tcp_aliases[$fd]="$array" - fi - else - # oops - if [[ -z $quiet ]]; then - print "$0: \`$alias' is already a session name." >&2 - fi - stat=1 - continue - fi - fi - (( ! ${+tcp_aliases} )) && typeset -gA tcp_aliases - fd=${tcp_by_name[$base]} - if [[ -n ${tcp_aliases[$fd]} ]]; then - tcp_aliases[$fd]+=" $alias" - else - tcp_aliases[$fd]=$alias - fi - tcp_by_name[$alias]=$fd - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_alias]} )); then - tcp_on_alias $alias $fd - fi - fi - else - alias=$arg - fd=${tcp_by_name[$alias]} - if [[ -z $fd ]]; then - print "$0: no such alias \`$alias'" >&2 - stat=1 - continue - fi - # OK if this is an alias... - array=(${=tcp_aliases[$fd]}) - if [[ -n ${array[(r)$alias]} ]]; then - # yes, we're OK - if [[ -n $delete ]]; then - unset "tcp_by_name[$alias]" - index=${array[(i)$alias]} - array=(${array[1,index-1]} ${array[index+1,-1]}) - if [[ -z "$array" ]]; then - unset "tcp_aliases[$fd]" - else - tcp_aliases[$fd]="$array" - fi - - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_unalias]} )); then - tcp_on_unalias $alias $fd - fi - fi - else - print -r - \ - "${alias}: alias for session ${tcp_by_fd[$fd]:-unnamed fd $fd}" - fi - else - # oops - if [[ -z $quiet ]]; then - print "$0: \`$alias' is a session name." >&2 - fi - stat=1 - continue - fi - fi -done - -return $stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_close b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_close deleted file mode 100644 index 9c876786..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_close +++ /dev/null @@ -1,134 +0,0 @@ -# Usage: -# tcp_close [-q] [ -a | session ... ] -# -a means all sessions. -# -n means don't close a fake session's fd. -# -q means quiet. -# -# Accepts the -s and -l arguments for consistency with other functions, -# but there is no particular gain in using them -emulate -L zsh -setopt extendedglob cbases - -local all quiet opt alias noclose -local -a sessnames - -while getopts "aql:ns:" opt; do - case $opt in - (a) all=1 - ;; - (q) quiet=1 - ;; - (l) sessnames+=(${(s.,.)OPTARG}) - ;; - (n) noclose=1 - ;; - (s) sessnames+=($OPTARG) - ;; - (*) return 1 - ;; - esac -done - -(( OPTIND > 1 )) && shift $(( OPTIND - 1)) - -if [[ -n $all ]]; then - if (( $# )); then - print "Usage: $0 [ -q ] [ -a | [ session ... ] ]" >&2 - return 1 - fi - sessnames=(${(k)tcp_by_name}) - if (( ! ${#sessnames} )); then - [[ -z $quiet ]] && print "No TCP sessions open." >&2 - return 1 - fi -fi - -sessnames+=($*) - -if (( ! ${#sessnames} )); then - sessnames+=($TCP_SESS) -fi - -if (( ! ${#sessnames} )); then - [[ -z $quiet ]] && print "No current TCP session." >&2 - return 1 -fi - -local tcp_sess fd -integer stat curstat - -# Check to see if the fd is opened for a TCP session, or was opened -# to a pre-existing fd. We could remember this from tcp_open. -local -A ztcp_fds -local line match mbegin mend - -if zmodload -e zsh/net/tcp; then - ztcp | while read line; do - if [[ $line = (#b)*fd\ ([0-9]##) ]]; then - ztcp_fds[$match[1]]=1 - fi - done -fi - -for tcp_sess in $sessnames; do - curstat=0 - fd=${tcp_by_name[$tcp_sess]} - if [[ -z $fd ]]; then - print "No TCP session $tcp_sess!" >&2 - stat=1 - continue - fi - # We need the base name if this is an alias. - tcp_sess=${tcp_by_fd[$fd]} - if [[ -z $tcp_sess ]]; then - if [[ -z $quiet ]]; then - print "Aaargh! Session for fd $fd has disappeared!" >&2 - fi - stat=1 - continue - fi - - if [[ ${+tcp_aliases} -ne 0 && -n ${tcp_aliases[$fd]} ]]; then - for alias in ${=tcp_aliases[$fd]}; do - if (( ${+functions[tcp_on_unalias]} )); then - tcp_on_unalias $alias $fd - fi - unset "tcp_by_name[$alias]" - done - unset "tcp_aliases[$fd]" - fi - - # Don't return just because the zle handler couldn't be uninstalled... - if [[ -o zle ]]; then - zle -F $fd || print "[Ignoring...]" >&2 - fi - - if [[ -n $ztcp_fds[$fd] ]]; then - # It's a ztcp session. - if ! ztcp -c $fd; then - stat=1 - curstat=1 - fi - elif [[ -z $noclose ]]; then - # It's not, just close it normally. - # Careful: syntax for closing fd's is quite strict. - if [[ ${#fd} -gt 1 ]]; then - [[ -z $quiet ]] && print "Can't close fd $fd; will leave open." >&2 - else - eval "exec $fd>&-" - fi - fi - - unset "tcp_by_name[$tcp_sess]" - unset "tcp_by_fd[$fd]" - if [[ -z $quiet && $curstat -eq 0 ]]; then - print "Session $tcp_sess successfully closed." - fi - [[ $tcp_sess = $TCP_SESS ]] && unset TCP_SESS - - if (( ${+functions[tcp_on_close]} )); then - tcp_on_close $tcp_sess $fd - fi -done - -return $stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_command b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_command deleted file mode 100644 index 8a4f0250..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_command +++ /dev/null @@ -1,3 +0,0 @@ -tcp_send $* || return 1 -tcp_read -d -t ${TCP_TIMEOUT:=0.3} -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_expect b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_expect deleted file mode 100644 index eef39ad0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_expect +++ /dev/null @@ -1,141 +0,0 @@ -# Expect one of a series of regular expressions from $TCP_SESS. -# Can make backreferences to be handled by $match. Returns 0 for -# successful match, 1 for error, 2 for timeout. -# -# This function has no facility for conditionally calling code based -# the regular expression found. This should be done in the calling code -# by testing $TCP_LINE, which contains the line which matched the -# regular expression. The complete set of lines read while waiting for -# this line is available in the array $tcp_expect_lines (including $TCP_LINE -# itself which will be the final element). Alternatively, use -p pind -# which sets $pind to the index of the pattern which matched. It -# will be set to 0 otherwise. -# -# Many of the options are passed straight down to tcp_read. -# -# Options: -# -a Run tcp_expect across all sessions; the first pattern matched -# from any session is used. The TCP output prompt can be -# used to decide which session matched. -# -l list -# Comma-separated list of sessions as for tcp_read. -# -p pv If the Nth of a series of patterns matches, set the parameter -# whose name is given by $pv to N; in the case of a timeout, -# set it to -1; otherwise (unless the function exited prematurely), -# set it to 0. -# To avoid namespace clashes, the parameter's name must -# not begin with `_expect'. -# -P pv This is similar to -p, however in this case the -# arguments to tcp_expect following the options are expected -# to start with a prefix "<tag>:". The parameter $pv is -# then set to the value "<tag>" rather than the numeric -# index of the parameter. The string "timeout" is used -# as the tag for a timeout specified by -t and -T and -# on a failed match the variable is set to the empty string. -# It is not an error for multiple arguments to have -# the same tag or to use a reserved value of the tag. -# -q Quiet, passed down to tcp_read. Bad option and argument -# usage is always reported. -# -s sess -# Expect from session sess. May be repeated for multiple sessions. -# -t to Timeout in seconds (may be floating point) per read operation. -# tcp_expect will only time out if every read operation takes longer -# than to -# -T TO Overall timeout; tcp_expect will time out if the overall operation -# takes longer than this many seconds. -emulate -L zsh -setopt extendedglob - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from another function, use that - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -# Variables are all named _expect_* to avoid problems with the -p param. -local _expect_opt _expect_pvar _expect_state _expect_arg _expect_ind -local -a _expect_read_args -float _expect_to1 _expect_to_all _expect_to _expect_new_to -integer _expect_i _expect_stat _expect_states - -while getopts "al:p:P:qs:t:T:" _expect_opt; do - case $_expect_opt in - (a) _expect_read_args+=(-a) - ;; - (l) _expect_read_args+=(-l $OPTARG) - ;; - ([pP]) _expect_pvar=$OPTARG - if [[ $_expect_pvar != [a-zA-Z_][a-zA-Z_0-9]# ]]; then - print "invalid parameter name: $_expect_pvar" >&2 - return 1 - fi - if [[ $_expect_pvar = _expect* ]]; then - print "$0: parameter names staring \`_expect' are reserved." - return 1 - fi - if [[ $_expect_opt = "P" ]]; then - eval "$_expect_pvar=0" - _expect_states=1 - else - eval "$_expect_pvar=" - fi - ;; - (q) _expect_read_args+=(-q) - ;; - (s) _expect_read_args+=(-s $OPTARG) - ;; - (t) _expect_to1=$OPTARG - ;; - (T) _expect_to_all=$(( SECONDS + $OPTARG )) - ;; - (\?) return 1 - ;; - (*) print Unhandled option $_expect_opt, complain >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -typeset -ga tcp_expect_lines -tcp_expect_lines=() -while true; do - if (( _expect_to_all || _expect_to1 )); then - _expect_to=0 - (( _expect_to1 )) && (( _expect_to = _expect_to1 )) - if (( _expect_to_all )); then - # overall timeout, see if it has already triggered - if (( (_expect_new_to = (_expect_to_all - SECONDS)) <= 0 )); then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=-1" - return 2 - fi - if (( _expect_to <= 0 || _expect_new_to < _expect_to )); then - _expect_to=$_expect_new_to - fi - fi - tcp_read $_expect_read_args -t $_expect_to - _expect_stat=$? - else - tcp_read $_expect_read_args -b - _expect_stat=$? - fi - if (( _expect_stat )); then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=-1" - return $_expect_stat - fi - tcp_expect_lines+=($TCP_LINE) - for (( _expect_i = 1; _expect_i <= $#; _expect_i++ )); do - if [[ _expect_states -ne 0 && $argv[_expect_i] = (#b)([^:]#):(*) ]]; then - _expect_ind=$match[1] - _expect_arg=$match[2] - else - _expect_ind=$_expect_i - _expect_arg=$argv[_expect_i] - fi - if [[ "$TCP_LINE" = ${~_expect_arg} ]]; then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=\$_expect_ind" - return 0 - fi - done -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_fd_handler b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_fd_handler deleted file mode 100644 index 9f2e8cd0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_fd_handler +++ /dev/null @@ -1,40 +0,0 @@ -local line fd=$1 sess=${tcp_by_fd[$1]} -local TCP_HANDLER_ACTIVE=1 -if [[ -n $sess ]] -then - local TCP_INVALIDATE_ZLE - if (( $# > 2 )); then - zle -I - ## debugging only - # print "Flags on the play:" ${argv[3,-1]} - else - TCP_INVALIDATE_ZLE=1 - fi - if ! tcp_read -d -u $fd; then - if (( ${+functions[tcp_on_awol]} )); then - tcp_on_awol $sess $fd - (( $? == 100 )) || return $? - fi - [[ -n $TCP_INVALIDATE_ZLE ]] && zle -I - print "[TCP fd $fd (session $sess) gone awol; removing from poll list]" >& 2 - zle -F $fd - return 1 - fi - return 0 -else - zle -I - # Handle fds not in the TCP set similarly. - # This does the drain thing, to try and get as much data out as possible. - if ! read -u $fd line; then - print "[Reading on $fd failed; removing from poll list]" >& 2 - zle -F $fd - return 1 - fi - line="fd$fd:$line" - local newline - while read -u $fd -t newline; do - line="${line} -fd$fd:$newline" - done -fi -print -r - $line diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_log b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_log deleted file mode 100644 index 04f3735f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_log +++ /dev/null @@ -1,94 +0,0 @@ -# Log TCP output. -# -# Argument: Output filename. -# -# Options: -# -a Append. Otherwise the existing file is truncated without warning. -# (N.B.: even if logging was already active to it!) -# -s Per-session logs. Output to <filename>1, <filename>2, etc. -# -c Close logging. -# -n/-N Turn off or on normal output; output only goes to the logfile, if -# any. Otherwise, output also appears interactively. This -# can be given with -c (or any other option), then no output -# goes anywhere. However, input is still handled by the usual -# mechanisms --- $tcp_lines and $TCP_LINE are still set, hence -# tcp_expect still works. Equivalent to (un)setting TCP_SILENT. -# -# With no options and no arguments, print the current configuration. -# -# Per-session logs are raw output, otherwise $TCP_PROMPT is prepended -# to each line. - -emulate -L zsh -setopt cbases extendedglob - -local opt append sess close -integer activity -while getopts "ascnN" opt; do - (( activity++ )) - case $opt in - # append to existing file - a) append=1 - ;; - # per-session - s) sess=1 - ;; - # close - c) close=1 - ;; - # turn off interactive output - n) TCP_SILENT=1 - ;; - # turn on interactive output - N) unset TCP_SILENT - ;; - # incorrect option - \?) return 1 - ;; - # correct option I forgot about - *) print "$0: option -$opt not handled, oops." >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1)) - -if [[ -n $close ]]; then - if (( $# )); then - print "$0: too many arguments for -c" >&2 - return 1 - fi - unset TCP_LOG TCP_LOG_SESS - return 0 -fi - -if (( $# == 0 && ! activity )); then - print "\ -Per-session log: ${TCP_LOG_SESS:-<none>} -Overall log: ${TCP_LOG:-<none>} -Silent? ${${TCP_SILENT:+yes}:-no}" - return 0 -fi - -if (( $# != 1 )); then - print "$0: wrong number of arguments" >&2 - return 1 -fi - -if [[ -n $sess ]]; then - typeset -g TCP_LOG_SESS=$1 - if [[ -z $append ]]; then - local sesslogs - integer i - sesslogs=(${TCP_LOG_SESS}*(N)) - # yes, i know i can do this with multios - for (( i = 1; i <= $#sesslogs; i++ )); do - : >$sesslogs[$i] - done - fi -else - typeset -g TCP_LOG=$1 - [[ -z $append ]] && : >$TCP_LOG -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_open b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_open deleted file mode 100644 index a04403c7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_open +++ /dev/null @@ -1,224 +0,0 @@ -# Open a TCP session, add it to the list, handle it with zle if that's running. -# Unless using -a, -f, -l or -s, first two arguments are host and port. -# -# Remaining argument, if any, is the name of the session, which mustn't -# clash with an existing one. If none is given, the number of the -# connection is used (i.e. first connection is 1, etc.), or the first -# available integer if that is already in use. -# -# Session names, whether provided on the command line or in the -# .ztcp_sessions file should not be `clever'. A clever name is one -# with characters that won't work. This includes whitespace and an -# inconsistent set of punctuation characters. If in doubt, stick -# to alphanumeric, underscore and non-initial hyphen. -# -# -a fd Accept a connection on fd and make that the session. -# This will block until a successful incoming connection is received. -# -# fd is probably a value returned by ztcp -l; no front-end -# is currently provided for that but it should simply be -# a matter of calling `ztcp -l port' and storing $REPLY, then -# closing the listened port with `ztcp -c $stored_fd'. -# -# -f fd `Fake' tcp connection on the given file descriptor. This -# could be, for example, a file descriptor already opened to -# a named pipe. It should not be a regular file, however. -# Note that it is not a good idea for two different sessions -# to be attempting to read from the same named pipe, so if -# both ends of the pipe are to be handled by zsh, at least -# one should use the `-z' option. -# -# -l sesslist -# -s sessname -# Open by session name or comma separated list; either may -# be repeated as many times as necessary. The session must be -# listed in the file ${ZDOTDIR:-$HOME}/.ztcp_sessions. Lines in -# this file look exactly like a tcp_open command line except the -# session name is at the start, for example -# sess1 pwspc 2811 -# has the effect of -# tcp_open pwspc 2811 sess1 -# Remaining arguments (other than options) to tcp_open are -# not allowed. Options in .ztcp_sessions are not handled. -# The file must be edited by hand. -# -# -z Don't install a zle handler for reading on the file descriptor. -# Otherwise, if zle is enabled, the file descriptor will -# be tested while at the shell prompt and any input automatically -# printed in the same way as job control notification. -# -# If a session is successfully opened, and if the function `tcp_on_open' -# exists, it is run with the arguments session_name, session_fd. - -emulate -L zsh -setopt extendedglob cbases - -# Global set up for TCP function suite. - -zmodload -i zsh/net/tcp || return 1 -zmodload -i zsh/zutil -autoload -Uz tcp_alias tcp_close tcp_command tcp_expect tcp_fd_handler -autoload -Uz tcp_log tcp_output tcp_proxy tcp_read tcp_rename tcp_send -autoload -Uz tcp_sess tcp_spam tcp_talk tcp_wait tcp_point tcp_shoot - -# TCP_SECONDS_START is only set if we override TCP_SECONDS locally, -# so provide a global value for convenience. Should probably always be 0. -(( ${+TCP_SECONDS_START} )) || typeset -gF TCP_SECONDS_START - -# Processing for new connection. - -local opt accept fake nozle sessfile sess quiet -local -a sessnames sessargs -integer stat - -while getopts "a:f:l:qs:z" opt; do - case $opt in - (a) accept=$OPTARG - if [[ $accept != [[:digit:]]## ]]; then - print "option -a takes a file descriptor" >&2 - return 1 - fi - ;; - (f) fake=$OPTARG - if [[ $fake != [[:digit:]]## ]]; then - print "option -f takes a file descriptor" >&2 - return 1 - fi - ;; - (l) sessnames+=(${(s.,.)OPTARG}) - ;; - (q) quiet=1 - ;; - (s) sessnames+=($OPTARG) - ;; - (z) nozle=1 - ;; - (*) return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -(( ${+tcp_by_fd} )) || typeset -gA tcp_by_fd -(( ${+tcp_by_name} )) || typeset -gA tcp_by_name -typeset -A sessassoc - -if (( ${#sessnames} )); then - if [[ $# -ne 0 || -n $accept || -n $fake ]]; then - print "Incompatible arguments with \`-s' option." >&2 - return 1 - fi - for sess in ${sessnames}; do - sessassoc[$sess]= - done - - sessfile=${ZDOTDIR:-$HOME}/.ztcp_sessions - if [[ ! -r $sessfile ]]; then - print "No session file: $sessfile" >&2 - return 1 - fi - while read -A sessargs; do - [[ ${sessargs[1]} = '#'* ]] && continue - if (( ${+sessassoc[${sessargs[1]}]} )); then - sessassoc[${sessargs[1]}]="${sessargs[2,-1]}" - fi - done < $sessfile - for sess in ${sessnames}; do - if [[ -z $sessassoc[$sess] ]]; then - print "Couldn't find session $sess in $sessfile." >&2 - return 1 - fi - done -else - if [[ -z $accept && -z $fake ]]; then - if (( $# < 2 )); then - set -- wrong number of arguments - else - host=$1 port=$2 - shift $(( $# > 1 ? 2 : 1 )) - fi - fi - if [[ -n $1 ]]; then - sessnames=($1) - shift - else - sessnames=($(( ${#tcp_by_fd} + 1 ))) - while [[ -n $tcp_by_name[$sessnames[1]] ]]; do - (( sessnames[1]++ )) - done - fi - sessassoc[$sessnames[1]]="$host $port" -fi - -if (( $# )); then - print "Usage: $0 [-z] [-a fd | -f fd | host port [ session ] ] - $0 [-z] [ -s session | -l sesslist ] ..." >&2 - return 1 -fi - -local REPLY fd -for sess in $sessnames; do - if [[ -n $tcp_by_name[$sess] ]]; then - print "Session \`$sess' already exists." >&2 - return 1 - fi - - sessargs=() - if [[ -n $fake ]]; then - fd=$fake; - else - if [[ -n $accept ]]; then - ztcp -a $accept || return 1 - else - sessargs=(${=sessassoc[$sess]}) - ztcp $sessargs || return 1 - fi - fd=$REPLY - fi - - tcp_by_fd[$fd]=$sess - tcp_by_name[$sess]=$fd - - [[ -o zle && -z $nozle ]] && zle -F $fd tcp_fd_handler - - # needed for new completion system, so I'm not too sanguine - # about requiring this here... - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_open]} )); then - if ! tcp_on_open $sess $fd; then - if [[ -z $quiet ]]; then - if (( ${#sessargs} )); then - print "Session $sess" \ -"(host $sessargs[1], port $sessargs[2] fd $fd): tcp_on_open FAILED." - else - print "Session $sess (fd $fd) tcp_on_open FAILED." - fi - tcp_close -- $sess - else - tcp_close -q -- $sess - fi - stat=1 - continue - fi - fi - fi - - if [[ -z $quiet ]]; then - if (( ${#sessargs} )); then - print "Session $sess" \ -"(host $sessargs[1], port $sessargs[2] fd $fd) opened OK." - else - print "Session $sess (fd $fd) opened OK." - fi - fi -done - -if [[ -z $TCP_SESS || -z $tcp_by_name[$TCP_SESS] ]]; then - # careful in case we closed it again... - if [[ -n $tcp_by_name[$sessnames[1]] ]]; then - [[ -z $quiet ]] && print "Setting default TCP session $sessnames[1]" - typeset -g TCP_SESS=$sessnames[1] - fi -fi - -return $stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_output b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_output deleted file mode 100644 index 22e818e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_output +++ /dev/null @@ -1,73 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local opt tprompt sess read_fd tpat quiet cursess - -while getopts "F:P:qS:" opt; do - case $opt in - (F) read_fd=$OPTARG - ;; - (P) tprompt=$OPTARG - ;; - (q) quiet=1 - ;; - (S) sess=$OPTARG - ;; - (*) [[ $opt != \? ]] && print -r "Can't handle option $opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -# Per-session logs don't have the session discriminator in front. -if [[ -n $TCP_LOG_SESS ]]; then - print -r -- "$*" >>${TCP_LOG_SESS}.$sess -fi -# Always add the TCP prompt. We used only to do this with -# multiple sessions, but it seems always to be useful to know -# where data is coming from; also, it allows more predictable -# behaviour in tcp_expect. -if [[ -n $tprompt ]]; then - if [[ $sess = $TCP_SESS ]]; then - cursess="c:1" - else - cursess="c:0" - fi - zformat -f REPLY $tprompt "s:$sess" "f:$read_fd" $cursess - if [[ $REPLY = %P* ]]; then - REPLY=${(%)${REPLY##%P}} - fi - # We will pass this back up. - REPLY="$REPLY$*" -else - REPLY="$*" -fi -if [[ -n $TCP_LOG ]]; then - print -r -- $REPLY >>${TCP_LOG} -fi - -if [[ -z $quiet ]]; then - local skip= - if [[ ${#tcp_filter} -ne 0 ]]; then - # Allow tcp_filter to be an associative array, though - # it doesn't *need* to be. - for tpat in ${(v)tcp_filter}; do - [[ $REPLY = ${~tpat} ]] && skip=1 && break - done - fi - if [[ -z $skip ]]; then - # Check flag passed down probably from tcp_fd_handler: - # if we have output, we are in zle and need to fix the display first. - # (The shell is supposed to be smart enough that you can replace - # all the following with - # [[ -o zle ]] && zle -I - # but I haven't dared try it yet.) - if [[ -n $TCP_INVALIDATE_ZLE ]]; then - zle -I - # Only do this the first time. - unset TCP_INVALIDATE_ZLE - fi - print -r -- $REPLY - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_point b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_point deleted file mode 100644 index 6a8f75d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_point +++ /dev/null @@ -1,29 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - - -if [[ $# -ne 1 ]]; then - print "Usage: $0 port -Listen on the given port; send anything that arrives to standard output." >&2 - return 1 -fi - -local REPLY lfd afd -if ! ztcp -l $1; then - print "Failed to listen on port $1" >&2 - return 1 -fi - -lfd=$REPLY - -if ! ztcp -a $lfd; then - print "Failed to accept on fd $lfd" >&2 - ztcp -c $lfd -fi - -afd=$REPLY - -cat <&$afd - -ztcp -c $lfd -ztcp -c $afd diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_proxy b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_proxy deleted file mode 100644 index 3f19bd3d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_proxy +++ /dev/null @@ -1,31 +0,0 @@ -# Listen on the given port and for every connection, start a new -# command (defaults to $SHELL) in the background on the accepted fd. -# WARNING: this can leave your host open to the universe. For use -# in a restricted fashion on a secure network. -# -# Remote logins are much more efficient... - -local TCP_LISTEN_FD -trap '[[ -n $TCP_LISTEN_FD ]] && ztcp -c $TCP_LISTEN_FD; return 1' \ - HUP INT TERM EXIT PIPE - -if [[ $1 != <-> ]]; then - print "Usage: $0 port [cmd args... ]" >&2 - return 1 -fi - -integer port=$1 -shift -ztcp -l $port || return 1 -TCP_LISTEN_FD=$REPLY - -(( $# )) || set -- ${SHELL:-zsh} -local cmd=$1 -shift - -while ztcp -a $TCP_LISTEN_FD; do - # hack to expand aliases without screwing up arguments - eval $cmd '$* <&$REPLY >&$REPLY 2>&$REPLY &' - # Close the session fd; we don't need it here any more. - ztcp -c $REPLY -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_read b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_read deleted file mode 100644 index ba9185ed..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_read +++ /dev/null @@ -1,229 +0,0 @@ -# Helper function for reading input from a TCP connection. -# Actually, the input doesn't need to be a TCP connection at all, it -# is simply an input file descriptor. However, it must be contained -# in ${tcp_by_fd[$TCP_SESS]}. This is set by tcp_open, but may be -# set by hand. (Note, however, the blocking/timeout behaviour is usually -# not implemented for reading from regular files.) -# -# The default behaviour is simply to read any single available line from -# the input fd and print it. If a line is read, it is stored in the -# parameter $TCP_LINE; this always contains the last line successfully -# read. Any chunk of lines read in are stored in the array $tcp_lines; -# this always contains a complete list of all lines read in by a single -# execution of this function and hence may be empty. The fd corresponding -# to $TCP_LINE is stored in $TCP_LINE_FD (this can be turned into a -# session by looking up in $tcp_by_fd). -# -# Printed lines are preceded by $TCP_PROMPT. This may contain two -# percent escapes: %s for the current session, %f for the current file -# descriptor. The default is `T[%s]:'. The prompt is not printed -# to per-session logs where the source is unambiguous. -# -# The function returns 0 if a read succeeded, even if (using -d) a -# subsequent read failed. -# -# The behaviour is modified by the following options. -# -# -a Read from all fds, not just the one given by TCP_SESS. -# -# -b The first read blocks until some data is available for reading. -# -# -d Drain all pending input; loop until no data is available. -# -# -l sess1,sess2,... -# Gives a list of sessions to read on. Equivalent to -# -u ${tcp_by_name[sess1]} -u ${tcp_by_name[sess2]} ... -# Multiple -l options also work. -# -# -q Quiet; if $TCP_SESS is not set, just return 1, but don't print -# an error message. -# -# -s sess -# Gives a single session; the option may be repeated. -# -# -t TO On each read (the only read unless -d was also given), time out -# if nothing was available after TO seconds (may be floating point). -# Otherwise, the function will return immediately when no data is -# available. -# -# If combined with -b, the function will always wait for the -# first data to become available; hence this is not useful unless -# -d is specified along with -b, in which case the timeout applies -# to data after the first line. -# -u fd Read from fd instead of the default session; may be repeated for -# multiple sessions. Can be a comma-separated list, too. -# -T TO This sets an overall timeout, again in seconds. - -emulate -L zsh -setopt extendedglob cbases -# set -x - -zmodload -i zsh/mathfunc - -local opt drain line quiet block read_fd all sess key val noprint -local -A read_fds -read_fds=() -float timeout timeout_all endtime -integer stat - -while getopts "abdl:qs:t:T:u:" opt; do - case $opt in - # Read all sessions. - (a) all=1 - ;; - # Block until we receive something. - (b) block=1 - ;; - # Drain all pending input. - (d) drain=1 - ;; - (l) for sess in ${(s.,.)OPTARG}; do - read_fd=${tcp_by_name[$sess]} - if [[ -z $read_fd ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - read_fds[$read_fd]=1 - done - ;; - - # Don't print an error message if there is no TCP connection, - # just return 1. - (q) quiet=1 - ;; - # Add a single session to the list - (s) read_fd=${tcp_by_name[$OPTARG]} - if [[ -z $read_fd ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - read_fds[$read_fd]=1 - ;; - # Per-read timeout: wait this many seconds before - # each read. - (t) timeout=$OPTARG - [[ -n $TCP_READ_DEBUG ]] && print "Timeout per-operations is $timeout" >&2 - ;; - # Overall timeout: return after this many seconds. - (T) timeout_all=$OPTARG - ;; - # Read from given fd(s). - (u) for read_fd in ${(s.,.)OPTARG}; do - if [[ $read_fd != (0x[[:xdigit:]]##|[[:digit:]]##) ]]; then - print "Bad fd in $OPTARG" >&2 - return 1 - fi - read_fds[$((read_fd))]=1 - done - ;; - (*) [[ $opt != \? ]] && print "Unhandled option, complain: $opt" >&2 - return 1 - ;; - esac -done - -if [[ -n $all ]]; then - read_fds=(${(kv)tcp_by_fd}) -elif (( ! $#read_fds )); then - if [[ -z $TCP_SESS ]]; then - [[ -z $quiet ]] && print "No tcp connection open." >&2 - return 1 - elif [[ -z $tcp_by_name[$TCP_SESS] ]]; then - print "TCP session $TCP_SESS has gorn!" >&2 - return 1 - fi - read_fds[$tcp_by_name[$TCP_SESS]]=1 -fi - -typeset -ga tcp_lines -tcp_lines=() - -local helper_stat=2 skip tpat reply REPLY -float newtimeout - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from another function, don't override - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -if (( timeout_all )); then - (( endtime = SECONDS + timeout_all )) -fi - -zmodload -i zsh/zselect - -if [[ -n $block ]]; then - if (( timeout_all )); then - # zselect -t uses 100ths of a second - zselect -t $(( int(100*timeout_all + 0.5) )) ${(k)read_fds} || - return $helper_stat - else - zselect ${(k)read_fds} || return $helper_stat - fi -fi - -while (( ${#read_fds} )); do - if [[ -n $block ]]; then - # We already have data waiting this time through. - unset block - else - if (( timeout_all )); then - (( (newtimeout = endtime - SECONDS) <= 0 )) && return 2 - if (( ! timeout || newtimeout < timeout )); then - (( timeout = newtimeout )) - fi - fi - if (( timeout )); then - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: selecting timeout $timeout on ${(k)read_fds}]" >&2 - fi - zselect -t $(( int(timeout*100 + 0.5) )) ${(k)read_fds} || - return $helper_stat - else - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: selecting no timeout on ${(k)read_fds}]" >&2 - fi - zselect -t 0 ${(k)read_fds} || return $helper_stat - fi - fi - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: returned fds ${reply}]" >&2 - fi - for read_fd in ${reply[2,-1]}; do - if ! read -u $read_fd -r line; then - unset "read_fds[$read_fd]" - stat=1 - continue - fi - - helper_stat=0 - sess=${tcp_by_fd[$read_fd]} - - # Handle user-defined triggers - noprint=${TCP_SILENT:+-q} - if (( ${+tcp_on_read} )); then - # Call the function given in the key for each matching value. - # It is this way round because function names must be - # unique, while patterns do not need to be. Furthermore, - # this keeps the use of subscripting under control. - for key val in ${(kv)tcp_on_read}; do - if [[ $line = ${~val} ]]; then - $key "$sess" "$line" || noprint=-q - fi - done - fi - - tcp_output -P "${TCP_PROMPT=<-[%s] }" -S $sess -F $read_fd \ - $noprint -- "$line" - # REPLY is now set to the line with an appropriate prompt. - tcp_lines+=($REPLY) - typeset -g TCP_LINE="$REPLY" TCP_LINE_FD="$read_fd" - - # Only handle one line from one device at a time unless draining. - [[ -z $drain ]] && return $stat - done -done - -return $stat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_rename b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_rename deleted file mode 100644 index 8d926ca0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_rename +++ /dev/null @@ -1,43 +0,0 @@ -# Rename session OLD (defaults to current session) to session NEW. -# Does not handle aliases; use tcp_alias for all alias redefinitions. - -local old new - -if (( $# == 1 )); then - old=$TCP_SESS - new=$1 -elif (( $# == 2 )); then - old=$1 - new=$2 -else - print "Usage: $0 OLD NEW" >&2 - return 1 -fi - -local fd=$tcp_by_name[$old] -if [[ -z $fd ]]; then - print "No such session: $old" >&2 - return 1 -fi -if [[ -n $tcp_by_name[$new] ]]; then - print "Session $new already exists." >&2 - return 1 -fi -# Can't rename an alias -if [[ $tcp_by_fd[$fd] != $old ]]; then - print "Use tcp_alias to redefine an alias." >&2 - return 1 -fi - -tcp_by_name[$new]=$fd -unset "tcp_by_name[$old]" - -tcp_by_fd[$fd]=$new - -[[ $TCP_SESS = $old ]] && TCP_SESS=$new - -if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_rename]} )); then - tcp_on_rename $new $fd $old - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_send b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_send deleted file mode 100644 index 86dda640..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_send +++ /dev/null @@ -1,87 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - -local opt quiet all sess fd nonewline cat line -local -a sessions write_fds -integer mystat - -while getopts "acl:nqs:" opt; do - case $opt in - (a) all=1 - ;; - (c) cat=1 - ;; - (n) nonewline=-n - ;; - (q) quiet=1 - ;; - (l) for sess in ${(s.,.)OPTARG}; do - if [[ -z ${tcp_by_name[$sess]} ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - sessions+=($sess) - done - ;; - (s) if [[ -z $tcp_by_name[$OPTARG] ]]; then - print "No such session: $OPTARG" >&2 - return 1 - fi - sessions+=($OPTARG) - ;; - (*) [[ $opt != '?' ]] && print "Unhandled option, complain: $opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ -n $all ]]; then - sessions=(${(k)tcp_by_name}) -elif (( ! ${#sessions} )); then - sessions=($TCP_SESS) -fi -if (( ! $#sessions )); then - if [[ -z $quiet ]]; then - print "No current TCP session open." >&2 - fi - return 1 -fi - -# Writing on a TCP connection closed by the remote end can cause SIGPIPE. -# The following test is reasonably robust, though in principle we can -# mistake a SIGPIPE owing to another fd. That doesn't seem like a big worry. -# `emulate -L zsh' will already have set localtraps. -local TCP_FD_CLOSED -trap 'TCP_FD_CLOSED=1' PIPE - -local TCP_SESS - -while true; do - if [[ -n $cat ]]; then - read -r line || break - else - line="$*" - fi - for TCP_SESS in $sessions; do - fd=${tcp_by_name[$TCP_SESS]} - if [[ -z $fd ]]; then - print "No such session: $TCP_SESS" >&2 - mystat=1 - continue - fi - print -u $fd $nonewline -r -- $line - if [[ $? -ne 0 || -n $TCP_FD_CLOSED ]]; then - print "Session ${TCP_SESS}: fd $fd unusable." >&2 - unset TCP_FD_CLOSED - mystat=1 - continue - fi - if [[ -n $TCP_OUTPUT ]]; then - tcp_output -P "$TCP_OUTPUT" -S $TCP_SESS -F $fd -q "${(j. .)*}" - fi - done - [[ -z $cat ]] && break -done - -return $mystat diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_sess b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_sess deleted file mode 100644 index cc6d42f8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_sess +++ /dev/null @@ -1,39 +0,0 @@ -# try to disguise parameters from the eval'd command in case it's a function. -integer __myfd=1 - -if [[ -n $1 ]]; then - if [[ -z $tcp_by_name[$1] ]]; then - print no such session: $1 - __myfd=2 - elif [[ -n $2 ]]; then - local TCP_SESS=$1 - shift - # A bit tricky: make sure the first argument gets re-evaluated, - # so as to get aliases etc. to work, but make sure the remainder - # don't, so as not to bugger up quoting. This ought to work the - # vast majority of the time, anyway. - local __cmd=$1 - shift - eval $__cmd \$\* - return - else - typeset -g TCP_SESS=$1 - return 0; - fi -fi - -# Print out the list of sessions, first the number, than the corresponding -# file descriptor. The current session, if any, is marked with an asterisk. -local cur name fd -for name in ${(ko)tcp_by_name}; do - fd=${tcp_by_name[$name]} - # mark current session with an asterisk - if [[ ${TCP_SESS} = $name ]]; then - cur=" *" - else - cur= - fi - print -u $__myfd "sess:$name; fd:$fd$cur" -done - -return $(( __myfd - 1 )) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_shoot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_shoot deleted file mode 100644 index c485c140..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_shoot +++ /dev/null @@ -1,21 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local REPLY tfd - -if [[ $# -ne 2 ]]; then - print "Usage: $0 host port -Connect to the given host and port; send standard input." >&2 - return 1 -fi - -if ! ztcp $1 $2; then - print "Failed to open connection to host $1 port $2" >&2 - return 1 -fi - -tfd=$REPLY - -cat >&$tfd - -ztcp -c $tfd diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_spam b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_spam deleted file mode 100644 index 345be7f2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_spam +++ /dev/null @@ -1,117 +0,0 @@ -# SPAM is a registered trademark of Hormel Foods Corporation. -# -# -a all connections, override $tcp_spam_list and $tcp_no_spam_list. -# If not given and tcp_spam_list is set to a list of sessions, -# only those will be spammed. If tcp_no_spam_list is set, those -# will (also) be excluded from spamming. -# -e use `eval' to run the command list instead of executing as -# a normal command line. -# -l sess1,sess2 give comma separated list of sessions to spam -# -r reverse, spam in opposite order (default is alphabetic, -r means -# omegapsiic). Note tcp_spam_list is not sorted (but may be reversed). -# -t transmit, send data to slave rather than executing command for eac -# session. -# -v verbose, list session being spammed in turn -# -# If the function tcp_on_spam is defined, it is called for each link -# with the first argument set to the session name, and the remainder the -# command line to be executed. If it sets the parameter REPLY to `done', -# the command line will not then be executed by tcp_spam, else it will. - -emulate -L zsh -setopt extendedglob - -local cursess=$TCP_SESS sessstr -local TCP_SESS cmd opt verbose reverse sesslist transmit all eval -local match mbegin mend REPLY -local -a sessions - -while getopts "ael:rtv" opt; do - case $opt in - (a) all=1 - ;; - (e) eval=1 - ;; - (l) sessions+=(${(s.,.)OPTARG}) - ;; - (r) reverse=1 - ;; - (s) sessions+=($OPTARG) - ;; - (t) transmit=-t - ;; - (v) verbose=1 - ;; - (*) [[ $opt != '?' ]] && print "Option $opt not handled." >&2 - print "Sorry, spam's off." >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -local name -if [[ -n $all ]]; then - sessions=(${(ko)tcp_by_name}) -elif (( ! ${#sessions} )); then - if (( ${#tcp_spam_list} )); then - sessions=($tcp_spam_list) - else - sessions=(${(ko)tcp_by_name}) - fi - if (( ${#tcp_no_spam_list} )); then - for name in ${tcp_no_spam_list}; do - sessions=(${sessions:#$name}) - done - fi -fi - -if [[ -n $reverse ]]; then - local tmp - integer i - for (( i = 1; i <= ${#sessions}/2; i++ )); do - tmp=${sessions[i]} - sessions[i]=${sessions[-i]} - sessions[-i]=$tmp - done -fi - -if (( ! ${#sessions} )); then - print "No connections to spam." >&2 - return 1 -fi -if (( ! $# )); then - print "No commands given." >&2 - return 1 -fi - -if [[ -n $transmit ]]; then - cmd=tcp_send -elif [[ -z $eval ]]; then - cmd=$1 - shift -fi - -: ${TCP_PROMPT:=T[%s]:} - -for TCP_SESS in $sessions; do - REPLY= - if (( ${+functions[tcp_on_spam]} )); then - tcp_on_spam $TCP_SESS $cmd $* - [[ $REPLY = done ]] && continue - fi - if [[ -n $verbose ]]; then - if [[ $TCP_SESS = $cursess ]]; then - sessstr="c:1" - else - sessstr="c:0" - fi - zformat -f REPLY $TCP_PROMPT "s:$TCP_SESS" \ - "f:${tcp_by_name[$TCP_SESS]}" $sessstr && print -r $REPLY - fi - if [[ -n $eval ]]; then - eval $* - else - eval $cmd '$*' - fi -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_talk b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_talk deleted file mode 100644 index 9376b943..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_talk +++ /dev/null @@ -1,50 +0,0 @@ -# Make line editor input go straight to the current TCP session. -# Returns when the string $TCP_TALK_ESCAPE (default :) is read on its own. -# Otherwise, $TCP_TALK_ESCAPE followed by whitespace at the start of a line -# is stripped off and the rest of the line passed to the shell. -# -# History is not currently handled, because this is difficult. - -: ${TCP_TALK_ESCAPE:=:} - -tcp-accept-line-or-exit() { - emulate -L zsh - setopt extendedglob - local match mbegin mend - - if [[ $BUFFER = ${TCP_TALK_ESCAPE}[[:blank:]]#(#b)(*) ]]; then - if [[ -z $match[1] ]]; then - BUFFER= - zle -A .accept-line accept-line - PS1=$TCP_SAVE_PS1 - unset TCP_SAVE_PS1 - zle -I - print '\r[Normal keyboard input restored]' >&2 - else - BUFFER=$match[1] - fi - zle .accept-line - else - # BUGS: is deleted from the command line and doesn't appear in - # the history. - - # The following attempt to get the BUFFER into the history falls - # foul of the fact that we need to accept the current line first. - # But we don't actually want to accept the current line at all. - # print -s -r - $BUFFER - - # This is my function to send data over a TCP connection; replace - # it with something else or nothing. - tcp_send $BUFFER - BUFFER= - fi -} - -TCP_SAVE_PS1=${PS1##\[T*\]} -if [[ -o prompt_subst ]]; then - PS1="T[\$TCP_SESS]$TCP_SAVE_PS1" -else - PS1="[T]$TCP_SAVE_PS1" -fi -zle -N tcp-accept-line-or-exit -zle -A tcp-accept-line-or-exit accept-line diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_wait b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_wait deleted file mode 100644 index ee04cf23..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tcp_wait +++ /dev/null @@ -1,18 +0,0 @@ -# Wait for given number of seconds, reading any data from -# all TCP connections while doing so. - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from tcp_expect, don't override - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -typeset to end - -(( to = $1, end = SECONDS + to )) -while (( SECONDS < end )); do - tcp_read -a -T $to - (( to = end - SECONDS )) -done -return diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-apply b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-apply deleted file mode 100755 index b12b2ecd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-apply +++ /dev/null @@ -1,59 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# This script creates a test repository for testing the git backend's behaviour during rebase-apply operations. -# -# It works in ./vcs-test/. -# -# Suggested zshrc settings: -# -# autoload vcs_info -# precmd() { vcs_info; typeset -pm vcs\* } -# zstyle ':vcs_info:*' actionformats %m -# zstyle ':vcs_info:*' patch-format '[%n+%c=%a] [%p] [%u]' -# zstyle :vcs_info:\*gen-applied-string\* hooks f1 -# +vi-f1() { typeset -p argv hook_com } -# zstyle :vcs_info:\*gen-unapplied-string\* hooks f2 -# +vi-f2() { typeset -p argv hook_com } -# zstyle :vcs_info:\* get-unapplied true -# -mkdir "vcs-test" -cd "vcs-test" -git init - -append_lines() { for 1; do echo line from r$1 >> iota && git commit -am "r$1: Append a line"; done } - -echo "This is the file 'iota'." > iota -git add iota -git commit -m "r1: Add iota" -git tag rebase_onto_this HEAD - -# Make another change to iota -append_lines 2 -git tag rebase_from_this HEAD - -# Make non-conflicting changes -for 1 in 3 4 5 6; do - touch kappa$1 - git add kappa$1 - git commit -m "r${1}: non-conflicting change" -done - -# Make more changes to iota -append_lines 7 8 9 - -# Specify a rebase that would create the history [1,3,4,5,6,7,8,9]. -# This will conflict because r7 depends on r2 which is not included. -git checkout -b myref -case $0:P in - (*/test-repo-git-rebase-apply) - git rebase --onto=rebase_onto_this rebase_from_this myref - ;; - (*/test-repo-git-rebase-merge) - git -c core.editor=true rebase -i --onto=rebase_onto_this rebase_from_this myref - ;; - (*) - echo >&2 "$0: unrecognized basename" - ;; -esac - - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-merge b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-merge deleted file mode 100755 index b12b2ecd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/test-repo-git-rebase-merge +++ /dev/null @@ -1,59 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# This script creates a test repository for testing the git backend's behaviour during rebase-apply operations. -# -# It works in ./vcs-test/. -# -# Suggested zshrc settings: -# -# autoload vcs_info -# precmd() { vcs_info; typeset -pm vcs\* } -# zstyle ':vcs_info:*' actionformats %m -# zstyle ':vcs_info:*' patch-format '[%n+%c=%a] [%p] [%u]' -# zstyle :vcs_info:\*gen-applied-string\* hooks f1 -# +vi-f1() { typeset -p argv hook_com } -# zstyle :vcs_info:\*gen-unapplied-string\* hooks f2 -# +vi-f2() { typeset -p argv hook_com } -# zstyle :vcs_info:\* get-unapplied true -# -mkdir "vcs-test" -cd "vcs-test" -git init - -append_lines() { for 1; do echo line from r$1 >> iota && git commit -am "r$1: Append a line"; done } - -echo "This is the file 'iota'." > iota -git add iota -git commit -m "r1: Add iota" -git tag rebase_onto_this HEAD - -# Make another change to iota -append_lines 2 -git tag rebase_from_this HEAD - -# Make non-conflicting changes -for 1 in 3 4 5 6; do - touch kappa$1 - git add kappa$1 - git commit -m "r${1}: non-conflicting change" -done - -# Make more changes to iota -append_lines 7 8 9 - -# Specify a rebase that would create the history [1,3,4,5,6,7,8,9]. -# This will conflict because r7 depends on r2 which is not included. -git checkout -b myref -case $0:P in - (*/test-repo-git-rebase-apply) - git rebase --onto=rebase_onto_this rebase_from_this myref - ;; - (*/test-repo-git-rebase-merge) - git -c core.editor=true rebase -i --onto=rebase_onto_this rebase_from_this myref - ;; - (*) - echo >&2 "$0: unrecognized basename" - ;; -esac - - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetris b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetris deleted file mode 100644 index 697f2c74..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetris +++ /dev/null @@ -1,243 +0,0 @@ -# Someone once accused zsh of not being as complete as Emacs, because it -# lacks Tetris and an adventure game. -# -# autoload -Uz tetris -# zle -N tetris -# bindkey '...' tetris - -emulate -L zsh - -tetris_hsz=11 -tetris_vsz=20 -typeset -ga tetris_shapes -tetris_shapes=( - 0x0f00 0x4444 0x0f00 0x4444 - 0x4e00 0x4c40 0x0e40 0x4640 - 0x6600 0x6600 0x6600 0x6600 - 0x4620 0x6c00 0x4620 0x6c00 - 0x2640 0x6300 0x2640 0x6300 - 0x6440 0x8e00 0x44c0 0x0e20 - 0xc440 0x0e80 0x4460 0x2e00 -) -typeset -gA tetris_rotations -tetris_rotations=( - 0x0f00 0x4444 0x4444 0x0f00 - 0x4e00 0x4c40 0x4c40 0x0e40 0x0e40 0x4640 0x4640 0x4e00 - 0x6600 0x6600 - 0x4620 0x6c00 0x6c00 0x4620 - 0x2640 0x6300 0x6300 0x2640 - 0x6440 0x8e00 0x8e00 0x44c0 0x44c0 0x0e20 0x0e20 0x6440 - 0xc440 0x0e80 0x0e80 0x4460 0x4460 0x2e00 0x2e00 0xc440 -) - -tetris_blankline= -for ((tetris_i=tetris_hsz; tetris_i--; )); do - tetris_blankline="$tetris_blankline " -done -tetris_blankboard= -for ((tetris_i=tetris_vsz; tetris_i--; )); do - tetris_blankboard="$tetris_blankboard$tetris_blankline" -done - -bindkey -N tetris -bindkey -R -M tetris '\000-\377' tetris-timeout -for ((tetris_i=256; tetris_i--; )); do - bindkey -M tetris 'T\'$(([##8]tetris_i)) tetris-timeout -done -bindkey -M tetris Ta tetris-left -bindkey -M tetris Tj tetris-left -bindkey -M tetris Ts tetris-rotate -bindkey -M tetris Tk tetris-rotate -bindkey -M tetris Td tetris-right -bindkey -M tetris Tl tetris-right -bindkey -M tetris 'T ' tetris-drop -bindkey -M tetris Tq tetris-quit - -unset tetris_board tetris_score - -zle -N tetris -function tetris { - emulate -L zsh - if ! zle; then - print -u2 "Use M-x tetris RET to play tetris." - return 2 - fi - tetris_saved_state="BUFFER=${BUFFER:q};CURSOR=${CURSOR:q};MARK=${MARK:q};zle -K ${KEYMAP:q}" - tetris_speed=$((100.0/KEYTIMEOUT)) - zle -K tetris - if [[ ${tetris_board+set} == set ]]; then - tetris-timeout - else - tetris_board=$tetris_blankboard - tetris_score=0 - tetris-new-block - fi -} - -function tetris-new-block { - emulate -L zsh - tetris_block=$tetris_shapes[1+RANDOM%$#tetris_shapes] - tetris_block_y=0 - tetris_block_x=4 - if ! tetris-block-fits; then - tetris-place-block "#" - tetris-render-screen - unset tetris_board tetris_score - tetris-quit - return - fi - tetris-place-block "*" - tetris-timed-move -} - -zle -N tetris-left -function tetris-left { - emulate -L zsh - tetris-place-block " " - (( tetris_block_x-- )) - tetris-block-fits || (( tetris_block_x++ )) - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-right -function tetris-right { - emulate -L zsh - tetris-place-block " " - (( tetris_block_x++ )) - tetris-block-fits || (( tetris_block_x-- )) - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-rotate -function tetris-rotate { - emulate -L zsh - tetris-place-block " " - local save_block=$tetris_block - tetris_block=$tetris_rotations[$tetris_block] - tetris-block-fits || tetris_block=$save_block - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-drop -function tetris-drop { - emulate -L zsh - tetris-place-block " " - ((tetris_block_y++)) - while tetris-block-fits; do - ((tetris_block_y++)) - done - ((tetris_block_y--)) - tetris-block-dropped -} - -zle -N tetris-timeout -function tetris-timeout { - emulate -L zsh - tetris-place-block " " - ((tetris_block_y++)) - if tetris-block-fits; then - tetris-place-block "*" - tetris-timed-move - return - fi - ((tetris_block_y--)) - tetris-block-dropped -} - -function tetris-block-dropped { - emulate -L zsh - tetris-place-block "O" - local fl=${tetris_blankline// /O} i=$((tetris_block_y*tetris_hsz)) y - for ((y=0; y!=4; y++)); do - if [[ $tetris_board[i+1,i+tetris_hsz] == $fl ]]; then - tetris_board[i+1,i+tetris_hsz]= - tetris_board=$tetris_blankline$tetris_board - ((tetris_score++)) - fi - ((i += tetris_hsz)) - done - tetris-new-block -} - -function tetris-block-fits { - emulate -L zsh - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - if ((tetris_block&b)); then - ((x+tetris_block_x >= 0)) || return 1 - ((x+tetris_block_x < tetris_hsz)) || return 1 - ((y+tetris_block_y >= 0)) || return 1 - ((y+tetris_block_y < tetris_vsz)) || return 1 - [[ $tetris_board[i] == " " ]] || return 1 - fi - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done - return 0 -} - -function tetris-place-block { - emulate -L zsh - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - ((tetris_block&b)) && tetris_board[i]=$1 - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done -} - -function tetris-timed-move { - emulate -L zsh - tetris-render-screen - LBUFFER= - RBUFFER=$'\n'$tetris_screen - zle -R - zle -U T -} - -function tetris-render-screen { - emulate -L zsh - setopt extendedglob - local s i extras - extras=( - "Score: $tetris_score" - "" - "Game parameters: ${tetris_hsz}x$tetris_vsz, ${tetris_speed}Hz" - "" - "Keys: left: a j" - " rotate: s k" - " right: d l" - " drop: space" - " quit: q" - ) - for ((i=0; i!=tetris_vsz; i++)); do - s="$s|${${${${${tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]}//O/()}//\*/**}// / }//\#/##}|"${extras[1]+ $extras[1]}$'\n' - extras[1]=() - done - s="$s+${tetris_blankline// /--}+" - tetris_screen=$s -} - -zle -N tetris-quit -function tetris-quit { - emulate -L zsh - if [[ ! -o always_last_prompt ]]; then - BUFFER= - zle -M $tetris_screen - fi - eval $tetris_saved_state - if [[ -o always_last_prompt ]]; then - zle -M $tetris_screen - fi -} - -tetris "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetriscurses b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetriscurses deleted file mode 100644 index 37145608..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/tetriscurses +++ /dev/null @@ -1,386 +0,0 @@ -# I noticed we don't ship any contrib and/or example scripts using the -# zcurses module, and also that the builtin tetris is sort of boring, so -# I figured I'd port it to curses. It works pretty well, but I noticed -# two problems with the zcurses module in the process: -# -# 1. the HAVE_USE_DEFAULT_COLORS define seems to never be defined? -# -# 2a. resizing the window causes 'zcurses input' to wait forever for a -# key, even with a timeout defined. -# -# Bart says: -# >This probably has something to do with the special-casing around wgetch() -# >for signals handled by the "trap" command. See the big comment in -# >Src/Modules/curses.c lines 1073-1103. -# -# >It may be problematic to mix curses with the generic signal handling in -# >the main shell. We may need to swap in a SIGWINCH handler wrapper while -# >the curses UI is active, and restore the main handler when leaving it. -# -# 2b. resizing the window doesn't cause an event while running the -# program, but if i resize before starting(?) i get an event RESIZE on -# my first input call. -# -# Bart says: -# >There's probably some state that needs to be cleared on entry to -# >zccmd_input() so that curses doesn't see something left over from the -# >previous signal. Unfortunately I don't know what that would be. - -if (( $LINES < 22 || $COLUMNS < 46 )); then - echo >&2 'terminal needs to be at least 22 lines and 46 columns' - return -fi - -emulate -L zsh - -typeset -a tetris_shapes -tetris_shapes=( - 0x0f00 0x4444 0x0f00 0x4444 - 0x4e00 0x4c40 0x0e40 0x4640 - 0x6600 0x6600 0x6600 0x6600 - 0x4620 0x6c00 0x4620 0x6c00 - 0x2640 0x6300 0x2640 0x6300 - 0x6440 0x8e00 0x44c0 0x0e20 - 0xc440 0x0e80 0x4460 0x2e00 -) -typeset -A tetris_rotations -tetris_rotations=( - 0x0f00 0x4444 0x4444 0x0f00 - 0x4e00 0x4c40 0x4c40 0x0e40 0x0e40 0x4640 0x4640 0x4e00 - 0x6600 0x6600 - 0x4620 0x6c00 0x6c00 0x4620 - 0x2640 0x6300 0x6300 0x2640 - 0x6440 0x8e00 0x8e00 0x44c0 0x44c0 0x0e20 0x0e20 0x6440 - 0xc440 0x0e80 0x0e80 0x4460 0x4460 0x2e00 0x2e00 0xc440 -) -local tetris_vsz=20 tetris_hsz=11 -local tetris_blankline=${(l:11:: :)} -local tetris_blankboard=${(j::):-${(l:11:: :)}${(s: :)^${(l:20:: :)}}} - -local tetris_board=$tetris_blankboard -local tetris_score=0 -local tetris_lines=0 - -local tetris_{block{,_next,_x,_y},i} - -function __tetris-next-block { - tetris_block_next=$tetris_shapes[1+RANDOM%$#tetris_shapes] -} - -function __tetris-new-block { - tetris_block=$tetris_block_next - __tetris-next-block - __tetris-draw-next-block - tetris_block_y=0 - tetris_block_x=4 - if ! __tetris-block-fits; then - __tetris-game-over - fi - __tetris-place-block "*" -} - -function __tetris-left { - __tetris-place-block " " - (( tetris_block_x-- )) - __tetris-block-fits || (( tetris_block_x++ )) - __tetris-place-block "*" -} - -function __tetris-right { - __tetris-place-block " " - (( tetris_block_x++ )) - __tetris-block-fits || (( tetris_block_x-- )) - __tetris-place-block "*" -} - -function __tetris-rotate { - __tetris-place-block " " - local save_block=$tetris_block - tetris_block=$tetris_rotations[$tetris_block] - __tetris-block-fits || tetris_block=$save_block - __tetris-place-block "*" -} - -function __tetris-drop { - __tetris-place-block " " - ((tetris_block_y++)) - while __tetris-block-fits; do - ((tetris_block_y++)) - ((tetris_score+=2)) - done - ((tetris_block_y--)) - __tetris-block-dropped -} - -function __tetris-timeout { - __tetris-place-block " " - ((tetris_block_y++)) - if __tetris-block-fits; then - __tetris-place-block "*" - return - fi - ((tetris_block_y--)) - __tetris-block-dropped -} - -function __tetris-block-dropped { - integer bonus=1 - __tetris-place-block "O" - local fl=${tetris_blankline// /O} i=$((tetris_block_y*tetris_hsz)) - repeat 4; do - if [[ $tetris_board[i+1,i+tetris_hsz] == $fl ]]; then - if (( fancygraphics )); then for char in {7..1}; do - tetris_board[i+1,i+tetris_hsz]=${tetris_blankline// /$char} - __tetris-render-screen - zcurses timeout score 50 - zcurses input score - done; fi - tetris_board[i+1,i+tetris_hsz]= - tetris_board=$tetris_blankline$tetris_board - ((tetris_score+=100*(bonus++*(tetris_lines/10+10)))) - ((tetris_lines+=1)) - if ((tetris_lines % 10 == 0)); then - ((timestep = timestep * 0.80)) - fi - fi - ((i += tetris_hsz)) - done - __tetris-new-block -} - -function __tetris-block-fits { - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - if ((tetris_block&b)); then - ((x+tetris_block_x >= 0)) || return 1 - ((x+tetris_block_x < tetris_hsz)) || return 1 - ((y+tetris_block_y >= 0)) || return 1 - ((y+tetris_block_y < tetris_vsz)) || return 1 - [[ $tetris_board[i] == " " ]] || return 1 - fi - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done - return 0 -} - -function __tetris-draw-next-block { - local tetris_preview - local y x i=1 b=0x8000 - for ((y=0; y!=4; y++)); do - tetris_preview=" " - for ((x=0; x!=4; x++)); do - ((tetris_block_next&b)) && tetris_preview[i]=\* - ((b >>= 1)) - ((i++)) - done - i=1 - zcurses move preview $((y+1)) 1 - zcurses string preview ${${${tetris_preview//O/$filled_block}//\*/$active_block}// / } - done -} - -function __tetris-place-block { - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - ((tetris_block&b)) && tetris_board[i]=$1 - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done -} - -function __tetris-render-screen { - local i x piece - setopt localoptions histsubstpattern extendedglob - local -a match mbegin mend - local -A animation - animation=( 7 ▇▇ 6 ▆▆ 5 ▅▅ 4 ▄▄ 3 ▃▃ 2 ▂▂ 1 ▁▁ ) - for (( i = 0; i < tetris_vsz; i++ )); do - zcurses move gamearea $(( i + 1 )) 1 - zcurses string gamearea ${${${${${tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]}//O/$filled_block}//\*/$active_block}// / }//(#b)([1-7])/$animation[$match[1]]} - done - - zcurses clear score - zcurses move score 1 1 - zcurses string score "Score: $tetris_score"$'\ -'" Lines: $tetris_lines"$'\ -'" Speed: ${timestep%.*} ms" - - zcurses border gamearea - zcurses border score - zcurses border preview - zcurses refresh gamearea score preview $debug -} - -function __tetris-game-over { - gameover=1 -} - -function __tetris-new-game { - gameover=0 - timestep=1000 - tetris_score=0 - tetris_lines=0 - __tetris-next-block - __tetris-new-block - __tetris-render-screen -} - -function __tetris-game-over-screen { - __tetris-debug "Died with $tetris_score points!" - tetris_board=$tetris_blankboard - local text="You got $tetris_score points!" - local gameover_height=4 gameover_width=$(( $#text + 2 )) - zcurses addwin gameover $gameover_height $gameover_width \ - $(( off_y + (game_height-gameover_height)/2 )) \ - $(( off_x + (game_width+score_width-gameover_width)/2 )) - zcurses move gameover 1 1 - zcurses string gameover $text - text='Play again? [yn]' - zcurses move gameover 2 $(( (gameover_width - $#text)/2 )) - zcurses string gameover $text - zcurses border gameover - keepplaying= - until [[ $keepplaying = [ynq] ]]; do - zcurses input gameover keepplaying - done - zcurses delwin gameover - zcurses refresh stdscr - zcurses timeout gamearea ${timestep%.*} - __tetris-new-game -} - -function __tetris-debug { - if [[ -z $debug ]]; then - return - fi - zcurses scroll debug -1 - zcurses move debug 0 0 - zcurses string debug "$1" -} - -function __tetris-remove-wins { - local delwin - local -a delwins - delwins=(gamearea score debug gameover help preview) - for delwin in ${delwins:*zcurses_windows}; do - zcurses delwin $delwin - done -} - -function __tetris-help { - local i - local help_height=9 help_width=23 - zcurses addwin help $help_height $help_width \ - $(( off_y + (game_height - help_height) / 2 )) \ - $(( off_x + (game_width + score_width - help_width) / 2 )) - zcurses move help 1 1 - zcurses string help $'left: h, j, left\ - right: right, n, l\ - rotate: up, c, i\ - soft drop: down, t, k\ - hard drop: space\ - quit: q\ - press space to return' - zcurses border help - until [[ $i == [\ q] ]]; do - zcurses input help i - if [[ $i == q ]]; then - keepplaying=n - fi - done - zcurses delwin help - zcurses refresh stdscr -} - -zmodload zsh/curses && { - zcurses init - __tetris-remove-wins - zcurses refresh - echoti civis - local debug= - if (( ${@[(I)--debug|-d]} )); then - debug=debug - fi - local off_x off_y - local game_height=22 game_width=25 - local score_height=5 score_width=20 - local preview_height=6 preview_width=10 - local filled_block active_block - local fancygraphics - if zmodload zsh/langinfo && [[ $langinfo[CODESET] = UTF-8 ]]; then - filled_block=██ - active_block=▒▒ - fancygraphics=${@[(I)--silly]} - else - filled_block='[]' - active_block='()' - fancygraphics=0 - fi - off_x=$(( (COLUMNS-game_width-score_width-1) / 2 )) - off_y=$(( (LINES-game_height) / 2 )) - zcurses clear stdscr redraw - zcurses refresh stdscr - zcurses addwin gamearea $game_height $game_width $off_y $off_x - zcurses scroll gamearea off - zcurses addwin score $score_height $score_width \ - $off_y $(( off_x + game_width + 1 )) - zcurses scroll score off - zcurses addwin preview $preview_height $preview_width \ - $(( off_y + score_height )) $(( off_x + game_width + 1 )) - zcurses scroll preview off - if [[ -n $debug ]]; then - zcurses addwin debug $(( game_height - score_height - preview_height - 1 )) \ - $score_width \ - $(( off_y + score_height + preview_height ))\ - $(( off_x + game_width + 1 )) - fi - typeset -F SECONDS - local now prev timestep timeout key kkey keepplaying=y gameover=0 - prev=$SECONDS - __tetris-new-game - zcurses timeout gamearea 0 - while [[ $keepplaying == y ]]; do - if zcurses input gamearea key kkey; then - __tetris-debug "got input $key$kkey" - case $key$kkey in - LEFT|h|j) __tetris-left;; - RIGHT|n|l) __tetris-right;; - UP|c|i) __tetris-rotate;; - DOWN|t|k) __tetris-timeout; ((tetris_score++)); prev=$SECONDS;; - " ") __tetris-drop;; - q) break;; - F1|H) __tetris-help;; - esac - else - __tetris-debug "timed out" - __tetris-timeout - fi - now=$SECONDS - if (( prev + timestep/1000. < now )); then - (( prev += timestep/1000. )) - fi - timeout=${$(( 1000.*(prev + timestep/1000. - now) + 1 ))%.*} - if (( timeout < 0 )); then - __tetris-debug "BUG: timeout < 0" - timeout=${timestep%.*} - fi - zcurses timeout gamearea $timeout - __tetris-debug "timeout: $timeout" - - __tetris-render-screen - if [[ $gameover == 1 ]]; then - __tetris-game-over-screen - fi - done -} always { - __tetris-remove-wins - echoti cnorm - zcurses end -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/throw b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/throw deleted file mode 100644 index 5c732699..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/throw +++ /dev/null @@ -1,30 +0,0 @@ -# Throw an exception. -# The first argument is a string giving the exception. Other arguments -# are ignored. -# -# This is designed to be called somewhere inside a "try-block", i.e. -# some code of the form: -# { -# # try-block -# } always { -# # always-block -# } -# although as normal with exceptions it might be hidden deep inside -# other code. Note, however, that it must be code running within the -# current shell; with shells, unlike other languages, it is quite easy -# to miss points at which the shell forks. -# -# If there is nothing to catch an exception, this behaves like any -# other shell error, aborting to the command prompt or abandoning a -# script. - -# The following must not be local. -typeset -g EXCEPTION="$1" -readonly THROW -if (( TRY_BLOCK_ERROR == 0 )); then - # We are throwing an exception from the middle of an always-block. - # We can do this by restoring the error status from the try-block. - (( TRY_BLOCK_ERROR = 1 )) -fi -# Raise an error, but don't show an error message. -THROW= 2>/dev/null diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-lines b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-lines deleted file mode 100644 index 06e1da4a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-lines +++ /dev/null @@ -1,43 +0,0 @@ -# Transpose lines. This is like in emacs: with a positive argument -# (default 1) the current line and the previous line are swapped and the -# cursor goes down one line; with a negative argument the previous two -# lines are swapped and the cursor goes up one line. - -emulate -L zsh -setopt extendedglob # xtrace - -local -a match mbegin mend -integer count=${NUMERIC:-1} -local init prev lline final rrline - -if (( ${NUMERIC:-1} < 0 )); then - while (( count++ )); do - [[ $LBUFFER != (#b)(|*$'\n')([^$'\n']#$'\n')([^$'\n']#$'\n')([^$'\n']#) ]] && return 1 - - LBUFFER=$match[1]$match[3] - RBUFFER=$match[2]$match[4]$RBUFFER - done -else - while (( count-- )); do - [[ $LBUFFER != (#b)(*)$'\n'([^$'\n']#) ]] && return 1 - - prev=$match[1] - lline=$match[2] - - if [[ $prev = (#b)(*$'\n')([^$'\n']#) ]]; then - init=$match[1] - prev=$match[2] - fi - - if [[ $RBUFFER = (#b)([^$'\n']#)$'\n'(*) ]]; then - rline=$match[1] - final=$match[2] - prev+=$'\n' - else - rline=$RBUFFER - fi - - LBUFFER=$init$lline$rline$'\n'$prev - RBUFFER=$final - done -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-words-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-words-match deleted file mode 100644 index 4d2ac71f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/transpose-words-match +++ /dev/null @@ -1,48 +0,0 @@ -# Transpose words, matching the words using match-words-by-style, q.v. -# The group of word characters preceding the cursor (not necessarily -# immediately) are transposed with the group of word characters following -# the cursor (again, not necessarily immediately). -# -# Note the style skip-chars, used in the context of the current widget. -# This gives a number of character starting from the cursor position -# which are never considered part of a word and hence are always left -# alone. The default is 0 and typically the only useful alternative -# is one. This would have the effect that `fooXbar' with the cursor -# on X would be turned into `barXfoo' with the cursor still on the X, -# regardless of what the character X is. - -emulate -L zsh -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" -local -a matched_words -integer count=${NUMERIC:-1} neg - -(( count < 0 )) && (( count = -count, neg = 1 )) - -if [[ $WIDGET == transpose-words ]]; then - # default is to be a drop-in replacement, check styles for change - zstyle -m $curcontext skip-chars \* || - zstyle -m $curcontext word-style '*subword*' || - { [[ $LBUFFER[-1] != [[:space:]] && $RBUFFER[1] != [[:space:]] || - -z ${RBUFFER//[[:space:]]/} ]] && zle backward-word } -fi - -while (( count-- > 0 )); do - match-words-by-style - - [[ -z "$matched_words[2]$matched_words[5]" ]] && return 1 - - if (( neg )); then - LBUFFER="$matched_words[1]" - RBUFFER="$matched_words[5]${(j..)matched_words[3,4]}\ -$matched_words[2]${(j..)matched_words[6,7]}" - else - LBUFFER="$matched_words[1]$matched_words[5]${(j..)matched_words[3,4]}\ -$matched_words[2]" - RBUFFER="${(j..)matched_words[6,7]}" - fi - -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-case-word-match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-case-word-match deleted file mode 100644 index a2423952..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-case-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n $word ]]; then - LBUFFER+=${(U)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-line-or-beginning-search b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-line-or-beginning-search deleted file mode 100644 index bdc39335..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/up-line-or-beginning-search +++ /dev/null @@ -1,22 +0,0 @@ -# Like up-line-or-search, but uses the whole line prefix up to the -# cursor position for searching backwards. - -emulate -L zsh - -typeset -g __searching __savecursor - -if [[ $LBUFFER == *$'\n'* ]]; then - zle .up-line-or-history - __searching='' -elif [[ -n $PREBUFFER ]] && - zstyle -t ':zle:up-line-or-beginning-search' edit-buffer -then - zle .push-line-or-edit -else - [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor - __savecursor=$CURSOR - __searching=$WIDGET - zle .history-beginning-search-backward - zstyle -T ':zle:up-line-or-beginning-search' leave-cursor && - zle .end-of-line -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/url-quote-magic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/url-quote-magic deleted file mode 100644 index cb7bf727..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/url-quote-magic +++ /dev/null @@ -1,156 +0,0 @@ -# Functions to make it easier to type URLs as command line arguments. As -# you type, the input character is analyzed and, if it may need quoting, -# the current word is checked for a URI scheme. If one is found and the -# current word is not already in quotes, a backslash is inserted before -# the input character. - -# Setup: -# autoload -Uz url-quote-magic -# zle -N self-insert url-quote-magic - -# As of zsh-5.1, the following may also be necessary in order to apply -# quoting to copy-pasted URLs: -# autoload -Uz bracketed-paste-magic -# zle -N bracketed-paste bracketed-paste-magic -# See also backward-extend-paste in bracketed-paste-magic source file. - -# A number of zstyles may be set to control the quoting behavior. -# -# url-metas -# This style is looked up in the context :url-quote-magic:SCHEME (where -# SCHEME is that of the current URL, e.g. "ftp"). The value is a string -# listing the characters to be treated as globbing metacharacters when -# appearing in a URL using that scheme. The default is to quote all zsh -# extended globbing characters, excluding '<' and '>' but including -# braces (as in brace expansion). See also url-seps. -# -# url-seps -# Like url-metas, but lists characters that should be considered command -# separators, redirections, history references, etc. The default is to -# quote the standard set of shell separators, excluding those that -# overlap with the extended globbing characters, but including '<' and -# '>' and the first character of $histchars. -# -# url-globbers -# This style is looked up in the context :url-quote-magic. The values -# form a list of command names that are expected to do their own globbing -# on the URL string. This implies that they are aliased to use the -# "noglob" modifier. When the first word on the line matches one of the -# values AND the URL refers to a local file (see url-local-schema), only -# the url-seps characters are quoted; the url-metas are left alone, -# allowing them to affect command-line parsing, completion, etc. The -# default values are a literal "noglob" plus (when the zsh/parameter -# module is available) any commands aliased to the helper function -# "urlglobber" or its alias "globurl". -# -# url-local-schema -# This style is always looked up in the context :urlglobber, even though -# it is used by both url-quote-magic and urlglobber. The values form -# a list of URI schema that should be treated as referring to local files -# by their real local path names, as opposed to files which are specified -# relative to a web-server-defined document root. The defaults are "ftp" -# and "file". -# -# url-other-schema -# Like url-local-schema, but lists all other URI schema upon which -# urlglobber and url-quote-magic should act. If the URI on the -# command line does not have a scheme appearing either in this list or in -# url-local-schema, it is not magically quoted. The default values are -# "http", "https", and "ftp". When a scheme appears both here and in -# url-local-schema, it is quoted differently depending on whether the -# command name appears in url-globbers. - -# TODO: -# Add a style for "document root" for globbing local URLs. -# Turn this on at colon, and off again at space or accept. -# Use compsys for nested quoting analysis and command parsing. - -# Establish default values for styles, but only if not already set -local -a reply match mbegin mend - -zstyle -m ':url-quote-magic:\*' url-metas '*' || - zstyle ':url-quote-magic:*' url-metas '*?[]^(|)~#{}=' - -zstyle -m ':url-quote-magic:\*' url-seps '*' || - zstyle -e ':url-quote-magic:*' url-seps 'reply=(";&<>${histchars[1]}")' - -zstyle -m :url-quote-magic url-globbers '*' || - zstyle -e :url-quote-magic url-globbers \ - 'zmodload -i zsh/parameter; - reply=( noglob - ${(k)galiases[(R)(* |)(noglob|urlglobber|globurl) *]:-} - ${(k)aliases[(R)(* |)(noglob|urlglobber|globurl) *]:-} )' - -zstyle -m ':urlglobber' url-local-schema '*' || - zstyle ':urlglobber' url-local-schema ftp file - -zstyle -m ':urlglobber' url-other-schema '*' || - zstyle ':urlglobber' url-other-schema http https ftp - -# Define the "urlglobber" helper function and shorthand "globurl" alias - -function urlglobber { - local -a args globbed localschema otherschema reply - local arg command="$1" - shift - zstyle -s :urlglobber url-local-schema localschema '|' - zstyle -s :urlglobber url-other-schema otherschema '|' - for arg - do - case "${arg}" in - ((${~localschema}):/(|/localhost)/*) - globbed=( ${~${arg##ftp://(localhost|)}} ) - args[$#args+1]=( "${(M)arg##(${~localchema})://(localhost|)}${(@)^globbed}" ) - ;; - ((${~otherschema}):*) args[${#args}+1]="$arg";; - (*) args[${#args}+1]=( ${~arg} );; - esac - done - "$command" "${(@)args}" -} -alias globurl='noglob urlglobber ' - -# Finally, define (and execute if necessary) the function we really want - -function url-quote-magic { - setopt localoptions noksharrays extendedglob - local qkey="${(q)KEYS}" - local -a reply match mbegin mend - if [[ "$KEYS" != "$qkey" ]] - then - local lbuf="$LBUFFER$qkey" - if [[ "${(Q)LBUFFER}$KEYS" == "${(Q)lbuf}" ]] - then - local -a words - words=("${(@Q)${(z)lbuf}}") - local urlseps urlmetas urlglobbers localschema otherschema - if [[ "$words[-1]" == (#b)([^:]##):* ]] - then - zstyle -s ":url-quote-magic:$match[1]" url-seps urlseps '' - zstyle -s ":url-quote-magic:$match[1]" url-metas urlmetas '' - fi - zstyle -s :url-quote-magic url-globbers urlglobbers '|' - zstyle -s :urlglobber url-other-schema otherschema '|' - if [[ "$words[1]" == ${~urlglobbers} ]] - then - zstyle -s :urlglobber url-local-schema localschema '|' - else - localschema=' ' - fi - case "$words[-1]" in - (*[\'\"]*) ;; - ((${~localschema}):/(|/localhost)/*) - [[ "$urlseps" == *"$KEYS"* ]] && - LBUFFER="$LBUFFER\\" ;; - ((${~otherschema}):*) - [[ "$urlseps$urlmetas" == *"$KEYS"* ]] && - LBUFFER="$LBUFFER\\" ;; - esac - fi - fi - zle .self-insert -} - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || url-quote-magic "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info deleted file mode 100644 index 786b6191..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info +++ /dev/null @@ -1,154 +0,0 @@ -## vim:ft=zsh:foldmethod=marker -## -## vcs_info - provide version control information -## -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## -## This file and all corresponding files in Functions/VCS_Info/ are -## distributed under the same BSD-ish license as zsh itself. -## - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local file func sys -local -a static_functions msgs -local -i maxexports - -static_functions=( - VCS_INFO_adjust - VCS_INFO_bydir_detect - VCS_INFO_check_com - VCS_INFO_formats - VCS_INFO_get_cmd - VCS_INFO_hexdump - VCS_INFO_hook - VCS_INFO_set-patch-format - VCS_INFO_set-branch-format - VCS_INFO_maxexports - VCS_INFO_nvcsformats - VCS_INFO_patch2subject - VCS_INFO_quilt - VCS_INFO_reposub - VCS_INFO_set - - vcs_info_hookadd - vcs_info_hookdel - vcs_info_lastmsg - vcs_info_printsys - vcs_info_setsys -) - -for func in ${static_functions} ; do - autoload -Uz ${func} -done - -[[ -n ${(Mk)parameters:#vcs_info_msg_<->_} ]] && unset ${parameters[(I)vcs_info_msg_<->_]} -VCS_INFO_maxexports -VCS_INFO_set --nvcs '-preinit-' -vcs_info_setsys - -# and now, finally create the real vcs_info function -vcs_info () { - emulate -L zsh - setopt extendedglob NO_warn_create_global - - [[ -r . ]] || return 0 - - local pat - local -i found retval - local -a enabled disabled dps - local usercontext vcs rrn quiltmode - local -x LC_MESSAGES - local -i maxexports - local -a msgs - - # vcs_comm is used internally for passing values among VCS_INFO_* functions. - # It is not part of the public API. - # - # hook_com, backend_misc, and user_data are public API; see zshcontrib(1) - # and Misc/vcs_info-examples. - local -A vcs_comm hook_com backend_misc user_data - - LC_MESSAGES=C - if [[ -n ${LC_ALL} ]]; then - local -x LANG - LANG=${LC_ALL} - local -x LC_ALL - fi - vcs='-init-'; rrn='-all-'; quiltmode='addon' - usercontext=${1:-default} - - VCS_INFO_hook "start-up" - retval=$? - if (( retval == 1 )); then - return 0 - elif (( retval == 2 )); then - # This needs `max-exports' set. We're still setting it again later - # for more specific contexts. - VCS_INFO_maxexports - VCS_INFO_set --nvcs - return 0 - fi - - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "enable" enabled - (( ${#enabled} == 0 )) && enabled=( all ) - - if [[ -n ${(M)enabled:#(#i)none} ]] ; then - [[ -n ${vcs_info_msg_0_} ]] && VCS_INFO_set --nvcs - return 0 - fi - - if [[ -n ${(M)enabled:#(#i)all} ]] ; then - enabled=( ${VCS_INFO_backends} ) - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "disable" disabled - fi - - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "disable-patterns" dps - - for pat in ${dps} ; do - if [[ ${PWD} == ${~pat} ]] ; then - VCS_INFO_maxexports - [[ -n ${vcs_info_msg_0_} ]] && VCS_INFO_set --nvcs - return 0 - fi - done - - VCS_INFO_maxexports - - (( found = 0 )) - for vcs in ${enabled} ; do - [[ -n ${(M)disabled:#${vcs}} ]] && continue - if (( ${+functions[VCS_INFO_detect_${vcs}]} == 0 )) ; then - printf 'vcs_info: configured unknown backend: '\''%s'\''\n' ${vcs} - printf 'vcs_info: use '\''vcs_info_printsys'\'' to find supported systems.\n' - continue - fi - vcs_comm=() - VCS_INFO_get_cmd - VCS_INFO_detect_${vcs} && (( found = 1 )) && break - done - - (( found == 0 )) && { - vcs='-quilt-'; quiltmode='standalone' - VCS_INFO_quilt standalone || VCS_INFO_set --nvcs - return 0 - } - - VCS_INFO_hook "pre-get-data" - retval=$? - if (( retval == 1 )); then - return 0 - elif (( retval == 2 )); then - VCS_INFO_set --nvcs - return 0 - fi - - VCS_INFO_get_data_${vcs} || { - VCS_INFO_set --nvcs - return 1 - } - - VCS_INFO_set - return 0 -} - -vcs_info "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookadd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookadd deleted file mode 100644 index 867f7e27..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookadd +++ /dev/null @@ -1,22 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -if (( ${#argv} < 2 )); then - print 'usage: vcs_info_hookadd <HOOK> <FUNCTION(s)...>' - return 1 -fi - -local hook func context -local -a old - -hook=$1 -shift -context=":vcs_info-static_hooks:${hook}" - -zstyle -a "${context}" hooks old -zstyle "${context}" hooks "${old[@]}" "$@" -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookdel b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookdel deleted file mode 100644 index e09a0575..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_hookdel +++ /dev/null @@ -1,45 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -local -i all - -if [[ "x$1" == 'x-a' ]]; then - all=1 - shift -else - all=0 -fi - -if (( ${#argv} < 2 )); then - print 'usage: vcs_info_hookdel [-a] <HOOK> <FUNCTION(s)...>' - return 1 -fi - -local hook func context -local -a old - -hook=$1 -shift -context=":vcs_info-static_hooks:${hook}" - -zstyle -a "${context}" hooks old || return 0 -for func in "$@"; do - if [[ -n ${(M)old:#$func} ]]; then - old[(Re)$func]=() - else - printf 'Not statically registered to `%s'\'': "%s"\n' \ - "${hook}" "${func}" - continue - fi - if (( all )); then - while [[ -n ${(M)old:#$func} ]]; do - old[(Re)$func]=() - done - fi -done -zstyle "${context}" hooks "${old[@]}" -return $? diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_lastmsg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_lastmsg deleted file mode 100644 index 438567ce..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_lastmsg +++ /dev/null @@ -1,19 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh - -local -i i -local -i maxexports - -VCS_INFO_maxexports -for i in {0..$((maxexports - 1))} ; do - printf -- '$vcs_info_msg_%d_: "' $i - if zstyle -T ':vcs_info:formats:command:-all-' use-prompt-escapes ; then - print -nP -- ${(P)${:-vcs_info_msg_${i}_}} - else - print -n -- ${(P)${:-vcs_info_msg_${i}_}} - fi - printf '"\n' -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_printsys b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_printsys deleted file mode 100644 index b44b9c9b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_printsys +++ /dev/null @@ -1,45 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -local sys -local -a disabled enabled -local -A vcs_comm - -zstyle -a ":vcs_info:-init-:${1:-default}:-all-" "enable" enabled -(( ${#enabled} == 0 )) && enabled=( all ) - -if (( ${+VCS_INFO_backends} == 0 )); then - autoload -Uz vcs_info_setsys - vcs_info_setsys -fi - -if [[ -n ${(M)enabled:#(#i)all} ]] ; then - enabled=( ${VCS_INFO_backends} ) - zstyle -a ":vcs_info:-init-:${1:-default}:-all-" "disable" disabled -else - for sys in ${VCS_INFO_backends} ; do - [[ -z ${(M)enabled:#$sys} ]] && disabled+=( ${sys} ) - done - enabled=( ${VCS_INFO_backends} ) -fi - -print -l '## list of supported version control backends:' \ - '## disabled systems are prefixed by a hash sign (#)' - -for sys in ${VCS_INFO_backends} ; do - [[ -n ${(M)disabled:#${sys}} ]] && printf '#' - printf '%s\n' ${sys} -done - -print -l '## flavours (cannot be used in the enable or disable styles; they' \ - '## are enabled and disabled with their master [git-svn -> git])' \ - '## they *can* be used in contexts: '\'':vcs_info:git-svn:*'\''.' - -for sys in ${VCS_INFO_backends} ; do - VCS_INFO_detect_${sys} --flavours -done -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_setsys b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_setsys deleted file mode 100644 index a4c3036b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vcs_info_setsys +++ /dev/null @@ -1,25 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob typeset_silent - -local sys -typeset -ga VCS_INFO_backends -local -a match mbegin mend - -VCS_INFO_backends=() - -for file in ${^fpath}/VCS_INFO_get_data_*~*(\~|.zwc)(N) ; do - file=${file:t} - : ${file:#(#b)VCS_INFO_get_data_(*)} - sys=${match[1]} - - [[ -n ${(M)VCS_INFO_backends:#${sys}} ]] && continue - VCS_INFO_backends+=(${sys}) - autoload -Uz VCS_INFO_detect_${sys} - autoload -Uz VCS_INFO_get_data_${sys} -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vi-pipe b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vi-pipe deleted file mode 100644 index 1729cb6e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/vi-pipe +++ /dev/null @@ -1,39 +0,0 @@ -# Example of a widget that takes a vi motion - -# Filter part of buffer corresponding to a vi motion through an external -# program. - -# To enable with vi compatible bindings use: -# autoload -Uz vi-pipe -# bindkey -a '!' vi-pipe - -setopt localoptions noksharrays - -autoload -Uz read-from-minibuffer -local _save_cut="$CUTBUFFER" REPLY - -# mark this widget as a vi change so it can be repeated as a whole -zle -f vichange - -# force movement to default to line mode -(( REGION_ACTIVE )) || zle -U V -# Use the standard vi-change to accept a vi motion. -zle .vi-change || return -read-from-minibuffer "!" -zle .vi-cmd-mode -local _save_cur=$CURSOR - -# cut buffer contains the deleted text and can be modified -CUTBUFFER=$(eval "$REPLY" <<<"$CUTBUFFER") - -# put the modified text back in position. -if [[ CURSOR -eq 0 || $BUFFER[CURSOR] = $'\n' ]]; then - # at the beginning of a line, vi-delete won't have moved the cursor - # back to a previous line - zle .vi-put-before -n 1 -else - zle .vi-put-after -n 1 -fi - -# restore cut buffer and cursor to the start of the range -CUTBUFFER="$_save_cut" CURSOR="$_save_cur" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/which-command b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/which-command deleted file mode 100644 index 6e15c32a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/which-command +++ /dev/null @@ -1,42 +0,0 @@ -zmodload -i zsh/parameter zsh/zutil - -zle -I - -local -a whencecmd wds - -# Set the whence style to your favourite function -# (but NOT which-command!) -zstyle -a :zle:$WIDGET whence whencecmd || whencecmd=(whence -c --) - -wds=(${(z)LBUFFER}) -local wd barewd -local -A seen - -while true; do - wd=${wds[1]} - barewd=${(Q)wd} - - if [[ $barewd != $wd || -n $seen[$barewd] ]]; then - # quoted or already expanded, see if original word is an alias... - if [[ -z $seen[$barewd] && -n $aliases[$wd] ]]; then - # yes, so we need to decode that, with no extra expansion... - $whencecmd $wd - seen[$wd]=1 - wds=(${(z)aliases[$wd]}) - continue - else - # use unquoted word, don't expand alias - (unalias -- $barewd 2>/dev/null; $whencecmd $barewd) - fi - else - # turn on globsubst for =ls etc. - $whencecmd ${~barewd} - if [[ -n $aliases[$barewd] && -z $seen[$barewd] ]]; then - # Recursively expand aliases - seen[$barewd]=1 - wds=(${(z)aliases[$barewd]}) - continue - fi - fi - break -done diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/xtermctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/xtermctl deleted file mode 100644 index 04083819..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/xtermctl +++ /dev/null @@ -1,120 +0,0 @@ -# Put standard xterm/dtterm window control codes in shell parameters for -# easy use. Note that some terminals do not support all combinations. - -# autoload -Uz xtermctl ; xtermctl -# xtermctl --explain - -# Run once to set up; implements two functions: -# xterm-tell control [args] -# xterm-ask control -# See xtermseq below for valid control names. -ask returns values in -# $reply except for label and title which are returned in $REPLY. - -# E.g. one way to maximize the window (see caveat below): -# xterm-ask screen_chars -# xterm-tell size_chars $reply - -# Might there be terminfo names for these controls? -typeset -Ag xtermseq -xtermseq=( - 1 deiconify 2 iconify - '3;X;Y' position - '4;H;W' size_pixels - 5 raise 6 lower - 7 refresh - '8;H;W' size_chars - '9;0' unmaximize '9;1' maximize - 11 get_iconify - 13 get_position - 14 get_size_pixels - 18 get_size_chars - 19 get_screen_chars - 20 get_label - 21 get_title -) - -local k -for k in ${(k)xtermseq}; do xtermseq[${xtermseq[$k]}]=$k; done - -# TODO (maybe): Populate hashes with completed control sequences similar -# to the $fg and $bg mappings created by Functions/Misc/colors - -function xterm-tell { - local seq=${${${xtermseq[$1]:?no such control}/[HX]/$2}/[WY]/$3} - print -nr -- $'\e['"${seq}"t -} - -# The following use of "read -st 2 ..." with the control sequences in -# the prompt string requires zsh 4.3.5-dev-1 or later (zsh-users/12600 -# or equivalent patch). - -function xterm-ask { - local esc - unset REPLY reply - 1=get_${1#get_} - local seq=${xtermseq[$1]:?no such control} - case $1 in - (get_(label|title)) - read -st 2 -rk 3 esc$'?\e['"${seq}"t || return 1 - read -srd $'\e' - read -srk 1 esc - ;; - (get_*) - read -st 2 -rk 2 esc$'?\e['"${seq}"t || return 1 - IFS=';' read -Arsd t - (( $#reply > 2 )) && shift reply - ;; - esac - return 0 -} - -local documentation; read -rd $'\e' documentation <<'EOdoc' <<<$'\e' - -CSI = "control sequence introducer": ESC [ -OSC = "operating system command": ESC ] -ST = "string terminator": ESC backslash -Ps = "parameter string": (see list below) - -All control sequences described here begin with CSI and end with "t". -Note that there are no spaces in control sequences or responses, -except possibly for the text responses for label and title; spaces -shown below are for readability. - -Window manipulation (from dtterm, as well as extensions). These -controls may be disabled using the allowWindowOps resource. Valid -values for the first (and any additional parameters) are: - -Ps = 1 -> De-iconify window. -Ps = 2 -> Iconify window. -Ps = 3 ; x ; y -> Move window to [x, y]. -Ps = 4 ; height ; width -> Resize the xterm window in pixels. -Ps = 5 -> Raise the xterm window to the front of the stacking order. -Ps = 6 -> Lower the xterm window to the bottom of the stacking order. -Ps = 7 -> Refresh the xterm window. -Ps = 8 ; height ; width -> Resize the text area in characters. -Ps = 9 ; 0 -> Restore maximized window. -Ps = 9 ; 1 -> Maximize window (i.e., resize to screen size). -Ps = 1 1 -> Report xterm window state. - If the xterm window is open (non-iconified), returns CSI 1 t . - If the xterm window is iconified, returns CSI 2 t . -Ps = 1 3 -> Report xterm window position as CSI 3 ; x; yt -Ps = 1 4 -> Report xterm window in pixels as CSI 4 ; height ; width t -Ps = 1 8 -> Report size of text area as CSI 8 ; height ; width t -Ps = 1 9 -> Report size of screen in characters as CSI 9 ; height ; width t -Ps = 2 0 -> Report xterm window's icon label as OSC L label ST -Ps = 2 1 -> Report xterm window's title as OSC l title ST -Ps >= 2 4 -> Resize to Ps lines (DECSLPP) - -The size of the screen in characters is often reported inaccurately. - -Gnome-terminal as of v2.16 responds to 13/14/18/19 but fails to insert -the Ps digit 3/4/8/9 between the CSI and the reported dimensions, and -does not appear to respond to any of Ps in 1-9. Window managers may -also affect behavior; the Gnome desktop allows xterm to resize or -iconify itself but won't reliably let it reposition itself. - -EOdoc - -[[ -n "${(M)@:#--explain}" ]] && print "$documentation" - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zargs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zargs deleted file mode 100644 index 81916a3a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zargs +++ /dev/null @@ -1,319 +0,0 @@ -# function zargs { -# -# This function works like GNU xargs, except that instead of reading lines -# of arguments from the standard input, it takes them from the command -# line. This is possible/useful because, especially with recursive glob -# operators, zsh often can construct a command line for a shell function -# that is longer than can be accepted by an external command. -# -# Like xargs, zargs exits with the following status: -# 0 if it succeeds -# 123 if any invocation of the command exited with status 1-125 -# 124 if the command exited with status 255 -# 125 if the command is killed by a signal -# 126 if the command cannot be run -# 127 if the command is not found -# 1 if some other error occurred. -# -# The full set of GNU xargs options is supported (see help text below); -# although --eof and --max-lines therefore have odd names, they have -# analogous meanings to their xargs counterparts. Also zargs --help is -# a lot more helpful than xargs --help, at least as of xargs 4.1. -# -# Note that "--" is used both to end the options and to begin the command, -# so to specify some options along with an empty set of input-args, one -# must repeat the "--" as TWO consecutive arguments, e.g.: -# zargs --verbose -- -- print There are no input-args -# If there is at least one input-arg, the first "--" may be omitted: -# zargs -p -i one -- print There is just {} input-arg -# Obviously, if there is no command, the second "--" may be omitted: -# zargs -n2 These words will be echoed in five lines of two -# -# BUGS: -# -# In the interests of expediency, numeric options (max-procs, max-lines, -# etc.) are range-checked only when their values make a difference to the -# end result. Because of the way zsh handles variables in math context, -# it's possible to pass the name of a variable as the value of a numeric -# option, and the value of that variable becomes the value of the option. -# -# "Killed by a signal" is determined by the usual shell rule that $? is -# the signal number plus 128, so zargs can be fooled by a command that -# explicitly exits with 129+. Also, zsh prior to 4.1.x returns 1 rather -# than 127 for "command not found" so this function incorrectly returns -# 123 in that case if used with zsh 4.0.x. -# -# Because of "wait" limitations, --max-procs spawns max-procs jobs, then -# waits for all of those, then spawns another batch, etc. -# -# The maximum number of parallel jobs for which exit status is available -# is determined by the sysconf CHILD_MAX parameter, which can't be read -# or changed from within the shell. -# -# Differences from POSIX xargs: -# -# * POSIX requires a space between -I/-L/-n/-s and their numeric argument; -# zargs uses zparseopts, which does not require the space. -# -# * POSIX -L and -n are mutually exclusive and effectively synonymous; -# zargs accepts both and considers -n to be a limit on the total number -# of arguments per command line, that is, including the initial-args. -# Thus the following fails with "argument list too long": -# zargs -n 3 -- echo Here are four words -# The smallest limit implied by the combination of -L and -n is used. -# -# * POSIX implies the last of -n/-i/-I/-l/-L on the command line is meant -# to cancel any of those that precede it. (This is unspecified for -# -I/-L and implementations reportedly differ.) In zargs, -i/-I have -# this behavior, as do -l/-L, but when -i/-I appear anywhere then -l/-L -# are ignored (forced to 1). -# -# * The use of SIGUSR1 and SIGUSR2 to change the number of parallel jobs -# is not supported. - -# First, capture the current setopts as "sticky emulation" -if zmodload zsh/parameter -then - emulate $(emulate -l) -c "\ - _zarun() { - options=( ${(j: :kv)options[@]} monitor off zle off )"' - eval "$@" - }' -else - # Warning? - emulate $(emulate -l) -c '_zarun() { eval "$@" }' -fi - -emulate -L zsh || return 1 -local -a opts eof n s l P i - -local ZARGS_VERSION="1.7" - -if zparseopts -a opts -D -- \ - -eof::=eof e::=eof \ - -exit x \ - -help \ - -interactive p \ - -max-args:=n n:=n \ - -max-chars:=s s:=s \ - -max-lines::=l l::=l L:=l \ - -max-procs:=P P:=P \ - -no-run-if-empty r \ - -null 0 \ - -replace::=i i::=i I:=i \ - -verbose t \ - -version -then - if (( $opts[(I)--version] )) - then - print -u2 zargs version $ZARGS_VERSION zsh $ZSH_VERSION - fi - if (( $opts[(I)--help] )) - then - >&2 <<-\HELP - Usage: zargs [options --] [input-args] [-- command [initial-args]] - - If command and initial-args are omitted, "print -r --" is used. - - Options: - --eof[=eof-str], -e[eof-str] - Change the end-of-input-args string from "--" to eof-str. If - given as --eof=, an empty argument is the end; as --eof or -e, - with no (or an empty) eof-str, all arguments are input-args. - --exit, -x - Exit if the size (see --max-chars) is exceeded. - --help - Print this summary and exit. - --interactive, -p - Prompt before executing each command line. - --max-args=max-args, -n max-args - Use at most max-args arguments per command line. - --max-chars=max-chars, -s max-chars - Use at most max-chars characters per command line. - --max-lines[=max-lines], -l[max-lines] - Use at most max-lines of the input-args per command line. - This option is misnamed for xargs compatibility. - --max-procs=max-procs, -P max-procs - Run up to max-procs command lines in the background at once. - --no-run-if-empty, -r - Do nothing if there are no input arguments before the eof-str. - --null, -0 - Split each input-arg at null bytes, for xargs compatibility. - --replace[=replace-str], -i[replace-str] - Substitute replace-str in the initial-args by each initial-arg. - Implies --exit --max-lines=1. - --verbose, -t - Print each command line to stderr before executing it. - --version - Print the version number of zargs and exit. -HELP - return 0 - fi - if (( $opts[(I)--version] )) - then - return 0 - fi - if (( $#i )) - then - l=1 - i=${${${i##-(i|I|-replace(=|))}[-1]}:-\{\}} - opts[(r)-x]=-x - # The following is not how xargs is documented, - # but GNU xargs does behave as if -i implies -r. - opts[(r)-r]=-r - fi - if (( $#P )) - then - P=${${P##-(P|-max-procs(=|))}:-1} - if [[ x${P} != x$[P] ]] - then - print -u2 zargs: invalid number for -P option - return 1 - fi - else P=1 - fi -else - return 1 -fi - -local -i end c=0 -if [[ $eof == -(e|-eof) ]]; then ((end=ARGC+1)) -elif (( $#eof )); then end=$argv[(i)${eof##-(e|-eof=)}] -else end=$argv[(i)--] -fi -local -a args call command; command=( "${(@)argv[end+1,-1]}" ) - -if (( $opts[(I)-(null|0)] )) -then set -- "${(@ps:\000:)argv[1,end-1]}" -else set -- "${(@)argv[1,end-1]}" -fi - -if (( $#command )) -then (( c = $#command - 1 )) -else command=( print -r -- ) -fi - -local wait bg -local execute=' - if (( $opts[(I)-(-interactive|p)] )) - then read -q "?$call?..." || continue - elif (( $opts[(I)-(-verbose|t)] )) - then print -u2 -r -- "$call" - fi - _zarun "{ - \"\${call[@]}\" - } $bg"' -local ret=0 analyze=' - case $? in - (0) ;; - (<1-125>|128) ret=123;; - (255) return 124;; - (<129-254>) return 125;; - (126) return 126;; - (127) return 127;; - (*) return 1;; - esac' - -if (( ARGC == 0 )) -then - if (( $opts[(I)-(-no-run-if-empty|r)] )) - then return 0 - else - call=($command) - # Use "repeat" here so "continue" won't complain. - repeat 1; do eval "$execute ; $analyze"; done - return $ret - fi -fi - -n=${${n##-(n|-max-args(=|))}:-$[ARGC+c]} -if (( n <= 0 )) -then - print -u2 'zargs: value for max-args must be >= 1' - return 1 -fi - -if (( n > c )) -then (( n -= c )) -else - print -u2 zargs: argument list too long - return 1 -fi - -s=${${s##-(s|-max-chars(=|))}:-20480} -if (( s <= 0 )) -then - print -u2 'zargs: value for max-chars must be >= 1' - return 1 -fi - -l=${${${l##*-(l|L|-max-lines(=|))}[-1]}:-${${l[1]:+1}:-$ARGC}} -if (( l <= 0 )) -then - print -u2 'zargs: value for max-lines must be >= 1' - return 1 -fi - -P=${${P##-(P|-max-procs(=|))}:-1} -if (( P < 0 )) -then - print -u2 'zargs: value for max-procs must be >= 0' - return 1 -fi - -if (( P != 1 && ARGC > 1 )) -then - # These setopts are necessary for "wait" on multiple jobs to work. - setopt nonotify nomonitor - local -a _zajobs - local j - bg='& _zajobs+=( $! )' - wait='wait' - analyze=' - for j in $_zajobs; do - wait $j - '"$analyze"' - done; _zajobs=()' -fi - -# Everything has to be in a subshell so that we don't "wait" for any -# unrelated jobs of the parent shell. -( - -while ((ARGC)) -do - if (( P == 0 || P > ARGC )) - then (( P = ARGC )) - fi - - repeat $P - do - ((ARGC)) || break - for (( end=l; end && ${(c)#argv[1,end]} > s; end/=2 )) { } - (( end > n && ( end = n ) )) - args=( "${(@)argv[1,end]}" ) - shift $((end > ARGC ? ARGC : end)) - if (( $#i )) - then call=( "${(@)command/$i/$args}" ) - else call=( "${(@)command}" "${(@)args}" ) - fi - if (( ${(c)#call} > s )) - then - print -u2 zargs: cannot fit single argument within size limit - # GNU xargs exits here whether or not -x, - # but that just makes the option useless. - (( $opts[(I)-(-exit|x)] )) && return 1 - continue - else - eval "$execute" - fi - done - - eval "$wait - $analyze" -done -return $ret - -) - -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc deleted file mode 100755 index f7ffb8fa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc +++ /dev/null @@ -1,473 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -i -# -# Zsh calculator. Understands most ordinary arithmetic expressions. -# Line editing and history are available. A blank line or `q' quits. -# -# Runs as a script or a function. If used as a function, the history -# is remembered for reuse in a later call (and also currently in the -# shell's own history). There are various problems using this as a -# script, so a function is recommended. -# -# The prompt shows a number for the current line. The corresponding -# result can be referred to with $<line-no>, e.g. -# 1> 32 + 10 -# 42 -# 2> $1 ** 2 -# 1764 -# The set of remembered numbers is primed with anything given on the -# command line. For example, -# zcalc '2 * 16' -# 1> 32 # printed by function -# 2> $1 + 2 # typed by user -# 34 -# 3> -# Here, 32 is stored as $1. This works in the obvious way for any -# number of arguments. -# -# If the mathfunc library is available, probably understands most system -# mathematical functions. The left parenthesis must be adjacent to the -# end of the function name, to distinguish from shell parameters -# (translation: to prevent the maintainers from having to write proper -# lookahead parsing). For example, -# 1> sqrt(2) -# 1.4142135623730951 -# is right, but `sqrt (2)' will give you an error. -# -# You can do things with parameters like -# 1> pi = 4.0 * atan(1) -# too. These go into global parameters, so be careful. You can declare -# local variables, however: -# 1> local pi -# but note this can't appear on the same line as a calculation. Don't -# use the variables listed in the `local' and `integer' lines below -# (translation: I can't be bothered to provide a sandbox). -# -# You can declare or delete math functions (implemented via zmathfuncdef): -# 1> function cube $1 * $1 * $1 -# This has a single compulsory argument. Note the function takes care of -# the punctuation. To delete the function, put nothing (at all) after -# the function name: -# 1> function cube -# -# Some constants are already available: (case sensitive as always): -# PI pi, i.e. 3.1415926545897931 -# E e, i.e. 2.7182818284590455 -# -# You can also change the output base. -# 1> [#16] -# 1> -# Changes the default output to hexadecimal with numbers preceded by `16#'. -# Note the line isn't remembered. -# 2> [##16] -# 2> -# Change the default output base to hexadecimal with no prefix. -# 3> [#] -# Reset the default output base. -# -# This is based on the builtin feature that you can change the output base -# of a given expression. For example, -# 1> [##16] 32 + 20 / 2 -# 2A -# 2> -# prints the result of the calculation in hexadecimal. -# -# You can't change the default input base, but the shell allows any small -# integer as a base: -# 1> 2#1111 -# 15 -# 2> [##13] 13#6 * 13#9 -# 42 -# and the standard C-like notation with a leading 0x for hexadecimal is -# also understood. However, leading 0 for octal is not understood --- it's -# too confusing in a calculator. Use 8#777 etc. -# -# Options: -#<base> is the same as a line containing just `[#<base>], -# similarly -##<base>; they set the default output base, with and without -# a base discriminator in front, respectively. -# -# With the option -e, the arguments are evaluated as if entered -# interactively. So, for example: -# zcalc -e -\#16 -e 1055 -# prints -# 0x41f -# Any number of expressions may be given and they are evaluated -# sequentially just as if read automatically. - -emulate -L zsh -setopt extendedglob typesetsilent - -zcalc_show_value() { - if [[ -n $_base ]]; then - print -- $(( $_base $1 )) - elif [[ $1 = *.* ]] || (( _outdigits )); then - # With normal output, ensure trailing "." doesn't get lost. - if [[ -z $_forms[_outform] || ($_outform -eq 1 && $1 = *.) ]]; then - print -- $(( $1 )) - else - printf "$_forms[_outform]\n" $_outdigits $1 - fi - else - printf "%d\n" $1 - fi -} - -# For testing in ZLE functions. -local ZCALC_ACTIVE=1 - -# TODO: make local variables that shouldn't be visible in expressions -# begin with _. -local _line ans _base _defbase _forms match mbegin mend -local psvar _optlist _opt _arg _tmp -local compcontext="-zcalc-line-" -integer _num _outdigits _outform=1 _expression_mode -integer _rpn_mode _matched _show_stack _i _n -integer _max_stack _push -local -a _expressions stack - -# We use our own history file with an automatic pop on exit. -history -ap "${ZDOTDIR:-$HOME}/.zcalc_history" - -_forms=( '%2$g' '%.*g' '%.*f' '%.*E' '') - -local _mathfuncs -if zmodload -i zsh/mathfunc 2>/dev/null; then - zmodload -P _mathfuncs -FL zsh/mathfunc - _mathfuncs="("${(j.|.)${_mathfuncs##f:}}")" -fi -local -A _userfuncs -for _line in ${(f)"$(functions -M)"}; do - match=(${=_line}) - # get minimum number of arguments - _userfuncs[${match[3]}]=${match[4]} -done -_line= -autoload -Uz zmathfuncdef - -if (( ! ${+ZCALCPROMPT} )); then - typeset -g ZCALCPROMPT="%1v> " -fi - -# Supply some constants. -float PI E -(( PI = 4 * atan(1), E = exp(1) )) - -if [[ -f "${ZDOTDIR:-$HOME}/.zcalcrc" ]]; then - . "${ZDOTDIR:-$HOME}/.zcalcrc" || return 1 -fi - -# Process command line -while [[ -n $1 && $1 = -(|[#-]*|f|e|r(<->|)) ]]; do - _optlist=${1[2,-1]} - shift - [[ $_optlist = (|-) ]] && break - while [[ -n $_optlist ]]; do - _opt=${_optlist[1]} - _optlist=${_optlist[2,-1]} - case $_opt in - ('#') # Default base - if [[ -n $_optlist ]]; then - _arg=$_optlist - _optlist= - elif [[ -n $1 ]]; then - _arg=$1 - shift - else - print -- "-# requires an argument" >&2 - return 1 - fi - if [[ $_arg != (|\#)[[:digit:]]## ]]; then - print -- "-# requires a decimal number as an argument" >&2 - return 1 - fi - _defbase="[#${_arg}]" - ;; - (f) # Force floating point operation - setopt forcefloat - ;; - (e) # Arguments are expressions - (( _expression_mode = 1 )); - ;; - (r) # RPN mode. - (( _rpn_mode = 1 )) - ZCALC_ACTIVE=rpn - if [[ $_optlist = (#b)(<->)* ]]; then - (( _show_stack = ${match[1]} )) - _optlist=${_optlist[${#match[1]}+1,-2]} - fi - ;; - esac - done -done - -if (( _expression_mode )); then - _expressions=("$@") - argv=() -fi - -for (( _num = 1; _num <= $#; _num++ )); do - # Make sure all arguments have been evaluated. - # The `$' before the second argv forces string rather than numeric - # substitution. - (( argv[$_num] = $argv[$_num] )) - print "$_num> $argv[$_num]" -done - -psvar[1]=$_num -local _prev_line _cont_prompt -while (( _expression_mode )) || - vared -cehp "${_cont_prompt}${ZCALCPROMPT}" _line; do - if (( _expression_mode )); then - (( ${#_expressions} )) || break - _line=$_expressions[1] - shift _expressions - fi - if [[ $_line = (|*[^\\])('\\')#'\' ]]; then - _prev_line+=$_line[1,-2] - _cont_prompt="..." - _line= - continue - fi - _line="$_prev_line$_line" - _prev_line= - _cont_prompt= - # Test whether there are as many open as close - # parentheses in the _line so far. - if [[ ${#_line//[^\(]} -gt ${#_line//[^\)]} ]]; then - _prev_line+=$_line - _cont_prompt="..." - _line= - continue - fi - [[ -z $_line ]] && break - # special cases - # Set default base if `[#16]' or `[##16]' etc. on its own. - # Unset it if `[#]' or `[##]'. - if [[ $_line = (#b)[[:blank:]]#('[#'(\#|)((<->|)(|_|_<->))']')[[:blank:]]#(*) ]]; then - if [[ -z $match[6] ]]; then - if [[ -z $match[3] ]]; then - _defbase= - else - _defbase=$match[1] - fi - print -s -- $_line - print -- $(( ${_defbase} ans )) - _line= - continue - else - _base=$match[1] - fi - else - _base=$_defbase - fi - - print -s -- $_line - - _line="${${_line##[[:blank:]]#}%%[[:blank:]]#}" - case "$_line" in - # Escapes begin with a colon - (:(\\|)\!*) - # shell escape: handle completion's habit of quoting the ! - eval ${_line##:(\\|)\![[:blank:]]#} - _line= - continue - ;; - - ((:|)q) - # Exit - return 0 - ;; - - ((:|)norm) # restore output format to default - _outform=1 - ;; - - ((:|)sci[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=2 - ;; - - ((:|)fix[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=3 - ;; - - ((:|)eng[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=4 - ;; - - (:raw) - _outform=5 - ;; - - ((:|)local([[:blank:]]##*|)) - eval ${_line##:} - _line= - continue - ;; - - ((function|:f(unc(tion|)|))[[:blank:]]##(#b)([^[:blank:]]##)(|[[:blank:]]##([^[:blank:]]*))) - zmathfuncdef $match[1] $match[3] - _userfuncs[$match[1]]=${$(functions -Mm $match[1])[4]} - _line= - continue - ;; - - (:*) - print "Unrecognised escape" - _line= - continue - ;; - - (\$[[:IDENT:]]##) - # Display only, no calculation - _line=${_line##\$} - print -r -- ${(P)_line} - _line= - continue - ;; - - (*) - _line=${${_line##[[:blank:]]##}%%[[:blank:]]##} - if [[ _rpn_mode -ne 0 && $_line != '' ]]; then - _push=1 - _matched=1 - case $_line in - (\<[[:IDENT:]]##) - ans=${(P)${_line##\<}} - ;; - - (\=|pop|\>[[:IDENT:]]#) - if (( ${#stack} < 1 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - case $_line in - (=) - ans=${stack[1]} - ;; - (pop|\>) - _push=0 - shift stack - ;; - (\>[[:IDENT:]]##) - if [[ ${_line##\>} = (_*|stack|ans|PI|E) ]]; then - print "${_line##\>}: reserved variable" >&2 - _line= - continue - fi - local ${_line##\>} - (( ${_line##\>} = ${stack[1]} )) - _push=0 - shift stack - ;; - (*) - print "BUG in special RPN functions" >&2 - _line= - continue - ;; - esac - ;; - - (+|-|\^|\||\&|\*|/|\*\*|\>\>|\<\</) - # Operators with two arguments - if (( ${#stack} < 2 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - eval "(( ans = \${stack[2]} $_line \${stack[1]} ))" - shift 2 stack - ;; - - (ldexp|jn|yn|scalb|xy|\<\>) - # Functions with two arguments - if (( ${#stack} < 2 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - if [[ $_line = (xy|\<\>) ]]; then - _tmp=${stack[1]} - stack[1]=${stack[2]} - stack[2]=$_tmp - _push=0 - else - eval "(( ans = ${_line}(\${stack[2]},\${stack[1]}) ))" - shift 2 stack - fi - ;; - - (${~_mathfuncs}) - # Functions with a single argument. - # This is actually a superset, but we should have matched - # any that shouldn't be in it in previous cases. - if (( ${#stack} < 1 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - eval "(( ans = ${_line}(\${stack[1]}) ))" - shift stack - ;; - - (${(kj.|.)~_userfuncs}) - # Get minimum number of arguments to user function - _n=${_userfuncs[$_line]} - if (( ${#stack} < n_ )); then - print -r -- "${_line}: not enough values ($_n) on stack" >&2 - _line= - continue - fi - _line+="(" - # least recent elements on stack are earlier arguments - for (( _i = _n; _i > 0; _i-- )); do - _line+=${stack[_i]} - (( _i > 1 )) && _line+="," - done - _line+=")" - shift $_n stack - eval "(( ans = $_line ))" - ;; - - (*) - # Treat as expression evaluating to new value to go on stack. - _matched=0 - ;; - esac - else - _matched=0 - fi - if (( ! _matched )); then - # Latest value is stored` as a string, because it might be floating - # point or integer --- we don't know till after the evaluation, and - # arrays always store scalars anyway. - # - # Since it's a string, we'd better make sure we know which - # base it's in, so don't change that until we actually print it. - if ! eval "ans=\$(( $_line ))"; then - _line= - continue - fi - # on error $ans is not set; let user re-edit _line - [[ -n $ans ]] || continue - fi - argv[_num++]=$ans - psvar[1]=$_num - (( _push )) && stack=($ans $stack) - ;; - esac - if (( _show_stack )); then - (( _max_stack = (_show_stack > ${#stack}) ? ${#stack} : _show_stack )) - for (( _i = _max_stack; _i > 0; _i-- )); do - printf "%3d: " $_i - zcalc_show_value ${stack[_i]} - done - else - zcalc_show_value $ans - fi - _line= -done - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc-auto-insert b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc-auto-insert deleted file mode 100644 index e1affd1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zcalc-auto-insert +++ /dev/null @@ -1,9 +0,0 @@ -# Bind to a binary operator keystroke for use with zcalc -# Not useful in RPN mode. - -if [[ -n $ZCALC_ACTIVE && $ZCALC_ACTIVE != rpn ]]; then - if [[ $CURSOR -eq 0 || $LBUFFER[-1] = "(" ]]; then - LBUFFER+=${ZCALC_AUTO_INSERT_PREFIX:-"ans "} - fi -fi -zle .self-insert diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed deleted file mode 100755 index d57be75c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed +++ /dev/null @@ -1,188 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# zed -# -# No other shell could do this. -# Edit small files with the command line editor. -# Use ^X^W to save (or ZZ in vicmd mode), ^C to abort. -# Option -f: edit shell functions. (Also if called as fned.) -# Option -h: edit shell history. (Also if called as histed.) - -setopt localoptions noksharrays - -local var opts zed_file_name -# We do not want timeout while we are editing a file -integer TMOUT=0 okargs=1 fun hist bind -local -a expand - -zparseopts -D -A opts f h b x: -fun=$+opts[-f] -hist=$+opts[-h] -bind=$+opts[-b] -if [[ $opts[-x] == <-> ]]; then - expand=(-x $opts[-x]) -elif (( $+opts[-x] )); then - print -r "Integer expected after -x: $opts[-x]" >&2 - return 1 -fi - -[[ $0 = fned ]] && fun=1 -[[ $0 = histed ]] && hist=1 -(( hist && $# <= 2 )) && okargs=$# -(( bind )) && okargs=0 - -if (( $# != okargs || bind + fun + hist > 1 )); then - echo 'Usage: -zed filename -zed -f [ -x N ] function -zed -h [ filename [ size ] ] -zed -b' >&2 - return 1 -fi - -local curcontext=zed::: - -() { - # Matching used in zstyle -m: hide result from caller. - # Variables not used directly here. - local -a match mbegin mend - zstyle -m ":completion:zed:*" insert-tab '*' || - zstyle ":completion:zed:*" insert-tab yes -} - -zmodload zsh/terminfo 2>/dev/null - -__zed_pg_up() -{ - integer count=$(( LINES / 2 - 1 )) - while (( count -- )); do - zle up-line - done -} - -__zed_pg_down() -{ - integer count=$(( LINES / 2 - 1 )) - while (( count -- )); do - zle down-line - done -} - -if ! zle -la __zed_pg_up __zed_pg_down; then - zle -N __zed_pg_up - zle -N __zed_pg_down -fi - -if (( bind )) || ! bindkey -M zed >&/dev/null; then - # Make the zed keymap a copy of the current main. - bindkey -N zed main - # Save the current main. In zle widgets called from - # zed we may want to set this temporally. - bindkey -A main zed-normal-keymap - - # Define a widget to use at startup, undo shouldn't clear initial buffer - __zed_init() { - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - } - zle -N __zed_init - - # Assign some default keys. - # Depending on your stty's, you may be able to use ^J as accept-line, else: - - # The following isn't useful if we are copying viins, but that's - # a nicety. - bindkey -M zed '^x^w' accept-line - bindkey -M zed '^M' self-insert-unmeta - - [[ ${+terminfo} = 1 ]] && { - [[ -n "$terminfo[kpp]" ]] && bindkey -M zed "$terminfo[kpp]" __zed_pg_up - [[ -n "$terminfo[knp]" ]] && bindkey -M zed "$terminfo[knp]" __zed_pg_down - [[ -n "$terminfo[khome]" ]] && bindkey -M zed "$terminfo[khome]" beginning-of-line - [[ -n "$terminfo[kend]" ]] && bindkey -M zed "$terminfo[kend]" end-of-line - - # Fallback to well known code as terminfo might be wrong (often) sometimes - bindkey -M zed "^[[H" beginning-of-line - bindkey -M zed "^[[F" end-of-line - } - - # Make zed-set-file-name available. - # Assume it's in fpath; there's no error at this point if it isn't - autoload -Uz zed-set-file-name - zle -N zed-set-file-name -fi -if (( bind )) || ! bindkey -M zed-vicmd >&/dev/null; then - bindkey -N zed-vicmd vicmd - - bindkey -M zed-vicmd "ZZ" accept-line - [[ ${+terminfo} = 1 ]] && { - [[ -n "$terminfo[kpp]" ]] && bindkey -M zed-vicmd "$terminfo[kpp]" __zed_pg_up - [[ -n "$terminfo[knp]" ]] && bindkey -M zed-vicmd "$terminfo[knp]" __zed_pg_down - [[ -n "$terminfo[khome]" ]] && bindkey -M zed-vicmd "$terminfo[khome]" vi-beginning-of-line - [[ -n "$terminfo[kend]" ]] && bindkey -M zed-vicmd "$terminfo[kend]" vi-end-of-line - - # Fallback to well known code as terminfo might be wrong (often) sometimes - bindkey -M zed-vicmd "^[[H" vi-beginning-of-line - bindkey -M zed-vicmd "^[[F" vi-end-of-line - } -fi - -(( bind )) && return 0 - -# don't mangle !'s -setopt localoptions nobanghist - -if ((fun)) then - var="$(functions $expand -- "$1")" - # If function is undefined but autoloadable, load it - if [[ $var = *\#\ undefined* ]] then - var="$(autoload +X "$1"; functions -- "$1")" - elif [[ -z $var ]] then - var="${(q-)1} () { -}" - fi - vared -M zed -m zed-vicmd -i __zed_init var && eval function "$var" -elif ((hist)) then - if [[ -n $1 ]]; then - { fc -p -a "$1" ${2:-$({ wc -l <"$1" } 2>/dev/null)} || return } - let HISTSIZE++ - print -s "" # Work around fc -p limitation - fi - # When editing the current shell history, the "zed -h" command is not - # itself included because the current event is not added to the ring - # until the next prompt is printed. This means "zed -h" is prepended - # to the result of the edit, because of the way "print -s" is defined. - var=( "${(@Oav)history}" ) - IFS=$'\n' vared -M zed -m zed-vicmd -i __zed_init var - if (( ? )); then - [[ -n $1 ]] && unset HISTFILE - else - local HISTSIZE=0 savehist=$#var - fc -R /dev/null # Remove entries other than those added here - HISTSIZE=$savehist # Resets on function exit because local - [[ -n $1 ]] && SAVEHIST=$savehist # Resets via foregoing fc -a - for (( hist=1; hist <= savehist; hist++ )) - do print -rs -- "$var[hist]" - done - if [[ -n $zed_file_name ]]; then - fc -W "$zed_file_name" - [[ -n $1 ]] && unset HISTFILE - fi - # Note prepend effect when global HISTSIZE greater than $savehist. - # This does not affect file editing. - fi -else - zed_file_name="$1" - [[ -f $1 ]] && var="$(<"$1")" - while vared -M zed -m zed-vicmd -i __zed_init var - do - { - print -r -- "$var" >| "$zed_file_name" - } always { - (( TRY_BLOCK_ERROR = 0 )) - } && break - echo -n -e '\a' - done -fi - -return 0 - -# End of zed diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed-set-file-name b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed-set-file-name deleted file mode 100644 index 74561066..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zed-set-file-name +++ /dev/null @@ -1,26 +0,0 @@ -emulate -L zsh - -autoload -Uz read-from-minibuffer - -case $curcontext in - (zed:::) - local curcontext=zed-set-file-name::: - # The call to vared from zed does the equivalent of - # bindkey -A zed main - # which confuses read-from-minibuffer. Fix it. - bindkey -A zed-normal-keymap main;; - (zed-set-file-name:::) - zle -M "zed-set-file-name: may not be called recursively" - return 1;; - (*) - zle -M "zed-set-file-name: not called from within zed" - return 1;; -esac -{ - local REPLY - read-from-minibuffer "File name: " - zed_file_name=$REPLY -} always { - # Re-install the zed keymap in the way vared should have all along - zle -K zed -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfanon b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfanon deleted file mode 100644 index 336609bd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfanon +++ /dev/null @@ -1,69 +0,0 @@ -# function zfanon { - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfanon -local opt opt_1 dir - -while getopts :1 opt; do - [[ $opt = "?" ]] && print "zfanon: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ -z $EMAIL_ADDR ]]; then - # Exercise in futility. There's a poem by Wallace Stevens - # called something like `N ways of looking at a blackbird', - # where N is somewhere around 0x14 to 0x18. Now zftp is - # ashamed to present `N ways of looking at a hostname'. - local domain host - # First, maybe we've already got it. Zen-like. - if [[ $HOST = *.* ]]; then - # assume this is the full host name - host=$HOST - elif [[ -f /etc/resolv.conf ]]; then - # Next, maybe we've got resolv.conf. - domain=${${=${(M)${(f)"$(</etc/resolv.conf)"}:#domain*}}[2]} - [[ -n $domain ]] && host=$HOST.$domain - fi - # Next, maybe we've got nslookup. May not work on LINUX. - [[ -z $host ]] && host=${${=${(M)${(f)"$(nslookup $HOST 2>/dev/null)"}:#Name:*}}[2]} - if [[ -z $host ]]; then - # we're running out of ideas, but this should work. - # after all, i wrote it... - # don't want user to know about this, too embarrassed. - local oldvb=$ZFTP_VERBOSE oldtm=$ZFTP_TMOUT - ZFTP_VERBOSE= - ZFTP_TMOUT=5 - if zftp open $host >& /dev/null; then - host=$ZFTP_HOST - zftp close $host - fi - ZFTP_VERBOSE=$oldvb - ZFTP_TMOUT=$oldtm - fi - if [[ -z $host ]]; then - print "Can't get your hostname. Define \$EMAIL_ADDR by hand." - return 1; - fi - EMAIL_ADDR="$USER@$host" - print "Using $EMAIL_ADDR as anonymous FTP password." -fi - -if [[ $1 = */* ]]; then - 1=${1##ftp://} - dir=${1#*/} - 1=${1%%/*} -fi - -if [[ $opt_1 = 1 ]]; then - zftp open $1 anonymous $EMAIL_ADDR || return 1 -else - zftp params $1 anonymous $EMAIL_ADDR - zftp open || return 1 -fi - -if [[ -n $dir ]]; then - zfcd $dir -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfautocheck b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfautocheck deleted file mode 100644 index a8b24ef0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfautocheck +++ /dev/null @@ -1,41 +0,0 @@ -# function zfautocheck { -# This function is used to implement auto-open behaviour. -# -# With first argument including n, don't change to the old directory; else do. -# -# Set do_close to 1 if the connection was not previously open, 0 otherwise -# With first argument including d, don't set do_close to 1. Broadly -# speaking, we use this mechanism to shut the connection after use -# if the connection had been explicitly closed (i.e. didn't time out, -# which zftp test investigates) and we are not using a directory -# command, which implies we are looking for something so should stay open -# for it. - -# Remember the old location: will be overwritten by -# a successful open. -local lastloc=$zfconfig[lastloc_$ZFTP_SESSION] - -# Don't print out user messages when re-opening the connection. -local ZFTP_VERBOSE=${ZFTP_VERBOSE//0} - -# Unset the delay counter from the progress meter in case there was an -# abnormal exit. -(( ${+zftpseconds} )) && unset zftpseconds - -if [[ -z $ZFTP_HOST ]]; then - zfopen || return 1 - [[ $1 == *d* ]] || do_close=1 -elif zftp test 2>/dev/null; then - return 0 -else - zfopen || return 1 -fi - -if [[ $1 == *n* ]]; then - return 0 -elif [[ -n $lastloc && $ZFTP_HOST == ${lastloc%%:*} ]]; then - # don't print directory since we're just going back where we were. - zfcd ${lastloc#*:} >& /dev/null -fi - -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd deleted file mode 100644 index 381d83ee..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd +++ /dev/null @@ -1,58 +0,0 @@ -# function zfcd { -# zfcd: change directory on the remote server. -# -# Currently has the following features: -# --- an initial string matching $HOME in the directory is turned back into ~ -# to be re-interpreted by the remote server. -# --- zfcd with no arguments changes directory to '~' -# --- `zfcd old new' and `zfcd -' work analagously to cd -# --- if the connection is not currently open, it will try to -# re-open it with the stored parameters as set by zfopen. -# If the connection timed out, however, it won't know until -# too late. In that case, just try the same zfcd command again -# (but now `zfcd -' and `zfcd old new' won't work). - -# hack: if directory begins with $HOME, turn it back into ~ -# there are two reasons for this: -# first, a ~ on the command line gets expanded even with noglob. -# (I suppose this is correct, but I wouldn't like to swear to it.) -# second, we can no do 'zfcd $PWD' and the like, and that will -# work just as long as the directory structures under the home match. - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfcd - -if [[ $1 = /* ]]; then - zfautocheck -dn || return 1 -else - zfautocheck -d || return 1 -fi - -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -if (( $# == 0 )); then - # Emulate `cd' behaviour - set -- '~' -elif [[ $# -eq 1 && $1 = - ]]; then - # Emulate `cd -' behaviour. - set -- $zfconfig[lastdir_$ZFTP_SESSION] -elif [[ $# -eq 2 ]]; then - # Emulate `cd old new' behaviour. - # We have to find a character not in $1 or $2; ! is a good bet. - eval set -- "\${ZFTP_PWD:s!$1!$2!}" -fi - -# We have to remember the current directory before changing it -# if we want to keep it. -local lastdir=$ZFTP_PWD - -if zftp cd "$@" && [[ $lastdir != $ZFTP_PWD ]]; then - # Invalidate current directory listing. - rm -f $zfconfig[curdir_$ZFTP_SESSION] - zfconfig[lastdir_$ZFTP_SESSION]=$lastdir -fi - -print $zfconfig[lastloc_$ZFTP_SESSION] -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd_match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd_match deleted file mode 100644 index d977983b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcd_match +++ /dev/null @@ -1,52 +0,0 @@ -# function zfcd_match { - -emulate -L zsh -setopt extendedglob - -# see zfcd for details of this hack -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -# error messages only -local ZFTP_VERBOSE=45 -# should we redirect 2>/dev/null or let the user see it? - -local -a match mbegin mend - -if [[ $ZFTP_SYSTEM = UNIX* ]]; then - # hoo, aren't we lucky: this makes things so much easier - setopt rcexpandparam - local dir - if [[ $1 = ?*/* ]]; then - dir=${1%/*} - elif [[ $1 = /* ]]; then - dir=/ - fi - # If we're using -F, we get away with using a directory - # to list, but not a glob. Don't ask me why. - reply=(${(M)${(f)"$(zftp ls -lF $dir)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##\/}) - - # If ls -lF doesn't work, try dir ... - if ! (($#reply)); then - reply=(${(M)${(f)"$(zftp dir $dir)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - fi - reply=(${reply/(#b)d([^[:space:]]##[[:space:]]##)(#c8)([^\/]##)\/#/$match[2]}) -# () { -# zftp ls -LF $dir >|$1 -# reply=($(awk '/\/$/ { print substr($1, 1, length($1)-1) }' $1)) -# } =(<<<'') - [[ -n $dir && $dir != */ ]] && dir="$dir/" - if [[ -n $WIDGET ]]; then - _wanted directories expl 'remote directory' \ - compadd -S/ -q -P "$dir" - $reply - elif [[ -n $dir ]]; then - reply=(${dir}$reply) - fi -else - # I simply don't know what to do here. - # Just use the list of files for the current directory. - zfget_match $* -fi - -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcget deleted file mode 100644 index 569ee9de..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcget +++ /dev/null @@ -1,75 +0,0 @@ -# function zfcget { -# Continuation get of files from remote server. -# For each file, if it's shorter here, try to get the remainder from -# over there. This requires the server to support the REST command -# in the way many do but RFC959 doesn't specify. -# Options: -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfcget -local loc rem stat=0 opt opt_G opt_t remlist locst remst -local rstat tsize - -while getopts :Gt opt; do - [[ $opt = '?' ]] && print "zfcget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist = $HOME || $remlist = $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=${rem:t} - if [[ ! -f $loc ]]; then - # File does not yet exist - zftp get $rem >$loc || stat=$? - else - # Compare the sizes. - locst=($(zftp local $loc)) - () { - zftp remote $rem >|$1 - rstat=$? - remst=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not support SIZE command.\n" \ - "Assuming you know what you're doing..." 2>&1 - zftp getat $rem $locst[1] >>$loc || stat=$? - continue - elif [[ $rstat = 1 ]]; then - print "Remote file not found: $rem" 2>&1 - continue - fi - if [[ $locst[1] -gt $remst[1] ]]; then - print "Local file is larger!" 2>&1 - continue; - elif [[ $locst[1] == $remst[1] ]]; then - print "Files are already the same size." 2>&1 - continue - else - if zftp getat $rem $locst[1] >>$loc; then - [[ $opt_t = 1 ]] && zfrtime $loc $rem $remst[2] - else - stat=1 - fi - fi - fi - done - fi -done - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfclose b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfclose deleted file mode 100644 index b1823fb4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfclose +++ /dev/null @@ -1,4 +0,0 @@ -# function zfclose { -[[ $curcontext = :zf* ]] || local curcontext=:zfclose -zftp close -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcput deleted file mode 100644 index eafecde7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfcput +++ /dev/null @@ -1,77 +0,0 @@ -# function zfcput { -# Continuation put of files from remote server. -# For each file, if it's shorter over there, put the remainder from -# over here. This uses append, which is standard, so unlike zfcget it's -# expected to work on any reasonable server... err, as long as it -# supports SIZE and MDTM. (It could be enhanced so you can enter the -# size so far by hand.) You should probably be in binary transfer -# mode, thought it's not enforced. -# -# To read from midway through a local file, `tail +<n>c' is used. -# It would be nice to find a way of doing this which works on all OS's. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfcput -local loc rem stat=0 locst remst offs tailtype - -# find how tail works. this is intensely annoying, since it's completely -# standard in C. od's no use, since we can only skip whole blocks. -if [[ $(echo abcd | tail +2c) = bcd ]]; then - tailtype=c -elif [[ $(echo abcd | tail --bytes=+2) = bcd ]]; then - tailtype=b -else - print "I can't get your \`tail' to start from arbitrary characters.\n" \ - "If you know how to do this, let me know." 2>&1 - return 1 -fi - -for loc in $*; do - # zfcd directory hack to put the front back to ~ - rem=$loc - if [[ $rem = $HOME || $rem = $HOME/* ]]; then - rem="~${rem#$HOME}" - fi - if [[ ! -r $loc ]]; then - print "Can't read file $loc" - stat=1 - else - # Compare the sizes. - locst=($(zftp local $loc)) - () { - zftp remote $rem >|$1 - rstat=$? - remst=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not support remote status commands.\n" \ - "You will have to find out the size by hand and use zftp append." 2>&1 - stat=1 - continue - elif [[ $rstat = 1 ]]; then - # Not found, so just do a standard put. - zftp put $rem <$loc - elif [[ $remst[1] -gt $locst[1] ]]; then - print "Remote file is larger!" 2>&1 - continue; - elif [[ $locst[1] == $remst[1] ]]; then - print "Files are already the same size." 2>&1 - continue - else - # tail +<N>c takes the count of the character - # to start from, not the offset from zero. if we did - # this with years, then 2000 would be 1999. no y2k bug! - # brilliant. - (( offs = $remst[1] + 1 )) - if [[ $tailtype = c ]]; then - tail +${offs}c $loc | zftp append $rem || stat=1 - else - tail --bytes=+$offs $loc | zftp append $rem || stat=1 - fi - fi - fi -done - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfdir b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfdir deleted file mode 100644 index 5ec0ebf8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfdir +++ /dev/null @@ -1,109 +0,0 @@ -# function zfdir { -# Long directory of remote server. -# The remote directory is cached. In fact, two caches are kept: -# one of the standard listing of the current directory, i.e. zfdir -# with no arguments, and another for everything else. -# To access the appropriate cache, just use zfdir with the same -# arguments as previously. zfdir -r will also re-use the `everything -# else' cache; you can always reuse the current directory cache just -# with zfdir on its own. -# -# The current directory cache is emptied when the directory changes; -# the other is kept until a new zfdir with a non-empty argument list. -# Both are removed when the connection is closed. -# -# zfdir -f will force the existing cache to be ignored, e.g. if you know -# or suspect the directory has changed. -# zfdir -d will remove both caches without listing anything. -# If you need to pass -r, -f or -d to the dir itself, use zfdir -- -d etc.; -# unrecognised options are passed through to dir, but zfdir options must -# appear first and unmixed with the others. - -emulate -L zsh -setopt extendedglob - -[[ $curcontext = :zf* ]] || local curcontext=:zfdir -local file opt optlist redir i newargs force -local curdir=$zfconfig[curdir_$ZFTP_SESSION] -local otherdir=$zfconfig[otherdir_$ZFTP_SESSION] - -while [[ $1 = -* ]]; do - if [[ $1 = - || $1 = -- ]]; then - shift; - break; - elif [[ $1 != -[rfd]## ]]; then - # pass options through to ls - break; - fi - optlist=${1#-} - for (( i = 1; i <= $#optlist; i++)); do - opt=$optlist[$i] - case $optlist[$i] in - r) redir=1 - ;; - f) force=1 - ;; - d) [[ -n $curdir && -f $curdir ]] && rm -f $curdir - [[ -n $otherdir && -f $otherdir ]] && rm -f $otherdir - zffcache -d - return 0 - ;; - esac - done - shift -done - -zfautocheck -d || return 1 - -# directory hack, see zfcd -for (( i = 1; i <= $#argv; i++ )); do - if [[ $argv[$i] = $HOME || $argv[$i] = $HOME/* ]]; then - argv[$i]="~${argv[$i]#$HOME}" - fi -done - -if [[ $# -eq 0 && $redir -ne 1 ]]; then - # Cache it in the current directory file. This means that repeated - # calls to zfdir with no arguments always use a cached file. - if [[ -z $curdir ]]; then - curdir=${TMPPREFIX}zfcurdir_${ZFTP_SESSION}_$$ - zfconfig[curdir_$ZFTP_SESSION]=$curdir - fi - file=$curdir -else - # Last directly looked at was not the current one, or at least - # had non-standard arguments. - if [[ -z $otherdir ]]; then - otherdir=${TMPPREFIX}zfotherdir_${ZFTP_SESSION}_$$ - zfconfig[otherdir_$ZFTP_SESSION]=$otherdir - fi - file=$otherdir - newargs="$*" - if [[ -f $file && -n $newargs && $force -ne 1 ]]; then - # Don't use the cached file if the arguments changed. - # Even in zfdir -r new_args ... - [[ $newargs = $zfconfig[otherargs_$ZFTP_SESSION] ]] || rm -f $file - fi - [[ -n $newargs ]] && zfconfig[otherargs_$ZFTP_SESSION]=$newargs -fi - -if [[ $force -eq 1 ]]; then - rm -f $file - # if it looks like current directory has changed, better invalidate - # the filename cache, too. - (( $# == 0 )) && zffcache -d -fi - -if [[ -n $file && -f $file ]]; then - eval ${PAGER:-more} \$file -else - if (zftp test); then - # Works OK in subshells - zftp dir $* | tee $file | eval ${PAGER:-more} - else - # Doesn't work in subshells (IRIX 6.2 --- why?) - zftp dir $* >$file - eval ${PAGER:-more} $file - fi -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zffcache b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zffcache deleted file mode 100644 index b609c210..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zffcache +++ /dev/null @@ -1,23 +0,0 @@ -# Generate an array name for storing the cache for the current session, -# storing it in fcache_name, then generate the cache for the current -# directory, or with argument -d clear the cache. - -[[ $1 = -d ]] && local fcache_name - -fcache_name=$zfconfig[fcache_$ZFTP_SESSION] -if [[ -z $fcache_name ]]; then - local vals - vals=(${(v)zfconfig[(I)fcache_*]##zftp_fcache_}) - integer i - while [[ -n ${vals[(r)zftp_fcache_$i]} ]]; do - (( i++ )) - done - fcache_name=zftp_fcache_$i - zfconfig[fcache_$ZFTP_SESSION]=$fcache_name -fi - -if [[ $1 = -d ]]; then - unset $fcache_name -elif (( ${(P)#fcache_name} == 0 )); then - eval "$fcache_name=(\${(f)\"\$(zftp ls)\"})" -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgcp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgcp deleted file mode 100644 index c9045c95..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgcp +++ /dev/null @@ -1,73 +0,0 @@ -# function zfgcp { -# ZFTP get as copy: i.e. first arguments are remote, last is local. -# Supposed to work exactly like a normal copy otherwise, i.e. -# zfgcp rfile lfile -# or -# zfgcp rfile1 rfile2 rfile3 ... ldir -# Options: -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. -# -# If there is no current connection, try to use the existing set of open -# parameters to establish one and close it immediately afterwards. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfgcp -local opt remlist rem loc opt_G opt_t -integer stat do_close - -while getopts :Gt opt; do - [[ $opt = '?' ]] && print "zfgcp: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -# hmm, we should really check this after expanding the glob, -# but we shouldn't expand the last argument remotely anyway. -if [[ $# -gt 2 && ! -d $argv[-1] ]]; then - print "zfgcp: last argument must be a directory." 2>&1 - return 1 -elif [[ $# == 1 ]]; then - print "zfgcp: not enough arguments." 2>&1 - return 1 -fi - -if [[ -d $argv[-1] ]]; then - local dir=$argv[-1] - argv[-1]= - for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist = $HOME || $remlist = $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=$dir/${rem:t} - if zftp get $rem >$loc; then - [[ $opt_t = 1 ]] && zfrtime $rem $loc - else - stat=1 - fi - done - fi - done -else - if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" - fi - zftp get $1 >$2 || stat=$? -fi - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget deleted file mode 100644 index ad9658ec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget +++ /dev/null @@ -1,62 +0,0 @@ -# function zfget { -# Get files from remote server. Options: -# -c cat: dump files to stdout. -# alias zfcat="zfget -c" -# zfpage() { zfget -c "$@" | eval $PAGER } -# are sensible things to do, but aren't done for you. Note the -# second doesn't work on all OS's. -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. This has -# no effect with the -c option. -# -# If the connection is not currently open, try to open it with the current -# parameters (set by a previous zfopen or zfparams), then close it after -# use. The file is put in the current directory (i.e. using the basename -# of the remote file only); for more control, use zfgcp. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfget -local loc rem opt remlist opt_G opt_t opt_c -integer stat do_close - -while getopts :Gtc opt; do - [[ $opt = '?' ]] && print "zfget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist == $HOME || $remlist == $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - if [[ -n $opt_c ]]; then - zftp get $rem - stat=$? - else - loc=${rem:t} - if zftp get $rem >$loc; then - [[ $opt_t = 1 ]] && zfrtime $rem $loc - else - stat=1 - fi - fi - done - fi -done - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget_match b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget_match deleted file mode 100644 index a440cace..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfget_match +++ /dev/null @@ -1,51 +0,0 @@ -# function zfget_match { - -emulate -L zsh -zmodload -F zsh/files b:zf_ln || return 1 - -# the zfcd hack: this may not be necessary here -if [[ $1 == $HOME || $1 == $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -if [[ $ZFTP_SYSTEM == UNIX* && $1 == */* ]]; then - setopt localoptions clobber extendedglob - local tmpf=${TMPPREFIX}zfgm$$ - zf_ln -fn =(<<<'') $tmpf || return 1 - - if [[ -n $WIDGET ]]; then - local dir=${1%/*} - [[ $dir = */ ]] || dir="$dir/" - zftp ls -LF $dir >$tmpf - local reply1 reply2 - - # dirs in reply1, files in reply2 - reply1=(${${(M)${${(f)"$(<$tmpf)"}##$dir}:#*/}%/}) - reply2=(${${${${(f)"$(<$tmpf)"}##$dir}%\*}:#*/}) - - # try dir if ls -F doesn't work - if ! (($#reply1)); then - zftp dir $dir >$tmpf - reply1=(${(M)${(f)"$(<$tmpf)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - reply1=(${reply1/(#b)d([^[:space:]]##[[:space:]]##)(#c8)([^\/]##)\/#/$match[2]}) - - reply2=(${${(f)"$(<$tmpf)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - reply2=(${reply2/(#b)([^[:space:]]##[[:space:]]##)(#c8)(?##)/$match[2]}) - fi - _wanted directories expl 'remote directory' compadd -S/ -q -P $dir - $reply1 - _wanted files expl 'remote file' compadd -P $dir - $reply2 - else - # On the first argument to ls, we usually get away with a glob. - zftp ls "$1*$2" >$tmpf - reply=($(<$tmpf)) - fi -else - local fcache_name - zffcache - if [[ -n $WIDGET ]]; then - _wanted files expl 'remote file' compadd -F fignore - ${(P)fcache_name} - else - reply=(${(P)fcache_name}); - fi -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgoto b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgoto deleted file mode 100644 index 86942721..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfgoto +++ /dev/null @@ -1,81 +0,0 @@ -# zfgoto bname -# Go to bookmark bname, a location on a remote FTP host. Unless -# this was the last session or is for anonymous FTP, prompt for -# the user's password. -# -# Maybe this should try and look for an appropriate session to use -# for the transfer. - -emulate -L zsh -setopt extendedglob -[[ $curcontext = :zf* ]] || local curcontext=:zfgoto - -# Set ZFTP_BMFILE if not already set. This should agree with -# the corresponding line in zfmark. -: ${ZFTP_BMFILE:=${ZFDOTDIR:-$HOME}/.zfbkmarks} - -typeset -A bkmarks -local line opt_n opt - -while getopts :n opt; do - [[ $opt = '?' ]] && print "zfgoto: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if (( $# != 1 )); then - print "Usage: zfgoto bookmark" >&2 - return 1 -fi - -if [[ -n $opt_n && -f ~/.ncftp/bookmarks ]]; then - local oldifs=$IFS - IFS=, - while read -rA line; do - bkmarks[$line[1]]="${line[3]:-anonymous}@${line[2]}:${line[6]}" - done < ~/.ncftp/bookmarks - IFS=$oldifs -elif [[ -f $ZFTP_BMFILE ]]; then - # read in file: could optimise this by recording last read time - # comparing with file - while read -r line; do - # ignore blank and comment lines - [[ $line = [[:blank:]]# || $line = [[:blank:]]#'#'* ]] && continue - bkmarks[${line%% *}]="${line#* }" - done <$ZFTP_BMFILE -fi - -line=${bkmarks[$1]} - -if [[ -z $line ]]; then - print "Bookmark \`$1' not found" >&2 - return 1 -fi - -local user host dir -user=${line%%@*} -line=${line#*@} -host=${line%%:*} -dir=${line#*:} - -if [[ $ZFTP_USER = $user && $ZFTP_HOST = $host ]]; then - # We're already there, just change directory - zfcd ${dir:-~} -elif [[ $user = ftp || $user = anonymous ]]; then - # Anonymous ftp, so we don't need password etc. - zfanon $host && [[ -n $dir ]] && zfcd $dir -elif [[ $zfconfig[lastloc_$ZFTP_SESSION] = ${host}:* && - $user = $zfconfig[lastuser_$ZFTP_SESSION] ]]; then - # This was the last session, so assume it's still setup in the - # open parameters - zfopen && [[ -n $dir ]] && zfcd $dir -else - # Last try: see if it's in the parameters. - local params - params=($(zftp params)) - if [[ $host = $params[1] && $user = $params[2] ]]; then - zfopen && [[ -n $dir ]] && zfcd $dir - else - zfopen $host $user && [[ -n $dir ]] && zfcd $dir - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfhere b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfhere deleted file mode 100644 index 8fa607e2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfhere +++ /dev/null @@ -1,6 +0,0 @@ -# function zfhere { -# Change to the directory corresponding to $PWD on the server. -# See zfcd for how this works. -[[ $curcontext = :zf* ]] || local curcontext=:zfhere -zfcd $PWD -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfinit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfinit deleted file mode 100644 index 5587a824..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfinit +++ /dev/null @@ -1,72 +0,0 @@ -emulate -L zsh - -if [[ $1 != -n ]]; then - zmodload -i zsh/net/tcp || return 1 - zmodload -ia zsh/zftp zftp || return 1 -fi - -if zmodload -i zsh/zutil; then - local arr - # Set defaults for styles if none set. - zstyle -g arr ':zftp:*' progress || zstyle ':zftp:*' progress bar - zstyle -g arr ':zftp:*' update || zstyle ':zftp:*' update 1 - zstyle -g arr ':zftp:*' titlebar || zstyle ':zftp:*' titlebar true - if functions chpwd >&/dev/null && ! zstyle -g arr ':zftp:*' chpwd; then - zstyle ':zftp:*' chpwd true - fi - - typeset -gA zfconfig - zfconfig=(lastsession default) -fi - -alias zfcd='noglob zfcd' -alias zfget='noglob zfget' -alias zfls='noglob zfls' -alias zfdir='noglob zfdir' -alias zfuget='noglob zfuget' - -autoload -Uz zfanon zfautocheck zfcd zfcd_match zfcget zfclose zfcput -autoload -Uz zfdir zffcache zfgcp zfget zfget_match zfgoto zfhere zfinit zfls -autoload -Uz zfmark zfopen zfparams zfpcp zfput zfrglob zfrtime zfsession -autoload -Uz zfstat zftp_chpwd zftp_progress zftransfer zftype zfuget zfuput - -# -# zftp completions: only use these if new-style completion is not -# active. -# -if [[ ${#_patcomps} -eq 0 || -z ${_patcomps[(r)_zf*]} ]] && - (compctl >/dev/null 2>&1); then - # only way of getting that noglob out of the way: this is unnecessary with - # widget-based completion - setopt completealiases - - compctl -f -x 'p[1]' \ - -k '(open params user login type ascii binary mode put putat - get getat append appendat ls dir local remote mkdir rmdir delete - close quit)' - \ - 'w[1,cd][1,ls][1,dir][1,rmdir]' -K zfcd_match -S/ -q - \ - 'W[1,get*]' -K zfget_match - 'w[1,delete][1,remote]' -K zfget_match - \ - 'w[1,open][1,params]' -k hosts - \ - 'w[1,session]' -s '${$(zftp session):#$ZFTP_SESSION}' -- zftp - compctl -K zfcd_match -S/ -q zfcd zfdir zfls - compctl -K zfget_match zfget zfgcp zfuget zfcget - compctl -k hosts zfanon zfopen zfparams - compctl -s \ - '$(awk '\''{print $1}'\'' ${ZFTP_BMFILE:-${ZDOTDIR:-$HOME}/.zfbkmarks})' \ - -x 'W[1,-*n*]' \ - -s '$(awk -F, '\''NR > 2 { print $1 }'\'' ~/.ncftp/bookmarks)' -- \ - zfgoto zfmark - compctl -s '${$(zftp session):#$ZFTP_SESSION}' zfsession - # in _zftp for new completion, but hard to inline into a compctl - zftransfer_match() { - local sess=${1%%:*} oldsess=$ZFTP_SESSION - [[ -n $sess ]] && zftp session $sess - zfget_match ${1#*:} $2 - [[ -n $sess && -n $oldsess ]] && zftp session $oldsess - reply=(${sess}:${^reply}) - } - compctl -s '$(zftp session)' -S : -x 'C[0,*:*]' \ - -K zftransfer_match -- zftransfer -fi - -return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfls b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfls deleted file mode 100644 index 73211b46..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfls +++ /dev/null @@ -1,14 +0,0 @@ -# function zfls { - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfls - -# directory hack, see zfcd -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -zfautocheck -d - -zftp ls $* -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfmark b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfmark deleted file mode 100644 index e81cc27d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfmark +++ /dev/null @@ -1,51 +0,0 @@ -# zfmark [bname] -# Set a bookmark for the current zftp connection, or use the -# information about the last session if there isn't one. -# A bookmark includes both the host *and* the directory on that host. -# -# Without bname, list the current bookmarks and their locations. - -emulate -L zsh -setopt extendedglob -[[ $curcontext = :zf* ]] || local curcontext=:zfmark - -# Set ZFTP_BMFILE if not already set. This should agree with -# the corresponding line in zfgoto. -: ${ZFTP_BMFILE:=${ZDOTDIR:-$HOME}/.zfbkmarks} - -typeset -A bkmarks -local line - -if [[ -f $ZFTP_BMFILE ]]; then - # read in file: could optimise this by recording last read time - # comparing with file - while read -r line; do - # ignore blank and comment lines - [[ $line = [[:blank:]]# || $line = [[:blank:]]#'#'* ]] && continue - bkmarks[${line%% *}]="${line#* }" - done <$ZFTP_BMFILE -fi - -if (( $# == 0 )); then - for line in ${(ko)bkmarks}; do - print -r- "$line ${bkmarks[$line]}" - done - return 0 -elif (( $# > 1 )); then - print "Usage: zfmark [bookmark]" >&2 - return 1 -fi - -if [[ -n $ZFTP_HOST ]]; then - bkmarks[$1]="${ZFTP_USER}@${ZFTP_HOST}:${ZFTP_PWD}" -elif [[ -n $zfconfig[lastloc_$ZFTP_SESSION] ]]; then - bkmarks[$1]="${zfconig[lastuser_$ZFTP_SESSION]}@\ -${zfconfig[lastloc_$ZFTP_SESSION]}" -else - print "No current or recent ZFTP session to bookmark." >&2 - return 1 -fi - -for line in ${(ko)bkmarks}; do - print -r- "$line ${bkmarks[$line]}" -done >$ZFTP_BMFILE diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfopen b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfopen deleted file mode 100644 index 30e9cbfc..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfopen +++ /dev/null @@ -1,51 +0,0 @@ -# function zfopen { -# Use zftp params to set parameters for open, rather than sending -# them straight to open. That way they are stored for a future open -# command. -# -# With option -1 (just this 1ce), don't do that. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfopen -local opt dir opt_1 setparams - -while getopts :1 opt; do - [[ $opt = "?" ]] && print "zfopen: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -# This is where we should try and do same name-lookupage in -# both .netrc and .ncftp/bookmarks . We could even try saving -# the info in their for new hosts, like ncftp does. - -if [[ $1 = */* ]]; then - 1=${1##ftp://} - dir=${1#*/} - 1=${1%%/*} -fi - -if [[ $opt_1 = 1 ]]; then - zftp open $* || return 1 - if [[ $# = 1 ]]; then - if ! zftp login; then - zftp close - return 1 - fi - fi -else - # set parameters, but only if there was at least a host - (( $# > 0 )) && zfparams $* && setparams=1 - # now call with no parameters - if ! zftp open; then - [[ -n $ZFTP_HOST ]] && zftp close - [[ -n $setparams ]] && zfparams - - return 1 - fi -fi - -if [[ -n $dir ]]; then - zfcd $dir -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfparams b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfparams deleted file mode 100644 index 59fea0ed..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfparams +++ /dev/null @@ -1,27 +0,0 @@ -# function zfparams { - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfparams - -if [[ $# -eq 1 && $1 = - ]]; then - # Delete existing parameter set. - local sess=$ZFTP_SESSION key - key=${zfconfig[fcache_$sess]} - [[ -n $key ]] && unset $key - for key in fcache lastloc lastdir curdir otherdir otherargs lastuser; do - unset "zfconfig[${key}_${sess}]" - done -elif (( $# > 0 )); then - # Set to prompt for any user or password if not given. - # Don't worry about accounts here. - (( $# < 2 )) && 2='?' - if (( $# < 3 )); then - if [[ $2 = '?'* ]]; then - 3="?Password on ${1}: " - else - 3="?Password for ${2##\\?} on ${1}: " - fi - fi -fi -zftp params $* -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfpcp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfpcp deleted file mode 100644 index e74ee34f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfpcp +++ /dev/null @@ -1,51 +0,0 @@ -# function zfpcp { -# ZFTP put as copy: i.e. first arguments are remote, last is local. -# Currently only supports -# zfcp lfile rfile -# if there are two arguments, or the second one is . or .., or ends -# with a slash -# or -# zfcp lfile1 lfile2 lfile3 ... rdir -# if there are more than two (because otherwise it doesn't -# know if the last argument is a directory on the remote machine). -# However, if the remote machine plays ball by telling us `Is a directory' -# when we try to copy to a directory, zfpcp will then try to do the correct -# thing. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfpcp -local rem loc -integer stat do_close - -zfautocheck || return 1 - -if [[ $# -gt 2 || $2 = (.|..) || $2 = */ ]]; then - local dir=$argv[-1] - argv[-1]= - # zfcd directory hack to put the front back to ~ - if [[ $dir = $HOME || $dir = $HOME/* ]]; then - dir="~${dir#$HOME}" - fi - [[ -n $dir && $dir != */ ]] || dir="$dir/" - for loc in $*; do - rem=$dir${loc:t} - zftp put $rem <$loc || stat=1 - done -else - if [[ $2 = $HOME || $2 = $HOME/* ]]; then - 2="~${2#$HOME}" - fi - zftp put $2 <$1 - stat=$? - if [[ stat -ne 0 && $ZFTP_CODE = 553 && $ZFTP_REPLY = *'Is a directory'* ]] - then - zftp put $2/$1:t <$1 - stat=$? - fi -fi - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfput deleted file mode 100644 index 68ef5be5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfput +++ /dev/null @@ -1,68 +0,0 @@ -# function zfput { -# Simple put: dump every file under the same name, but stripping -# off any directory parts to get the remote filename (i.e. always -# goes into current remote directory). Use zfpcp to specify new -# file name or new directory at remote end. -# -# -r means put recursively: any directories encountered will have -# all their contents to arbitrary depth transferred. Note that -# this creates the required directories. Any files in subdirectories -# whose names begin with a `.' will also be included. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfput -local opt opt_r -integer stat do_close abort - -while getopts :r opt; do - [[ $opt = '?' ]] && print "zfget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck - -zfput_sub() { - local subdirs loc rem - integer stat - subdirs=() - - for loc in $*; do - if [[ -n $opt_r ]]; then - if [[ -d $loc ]]; then - subdirs=($subdirs $loc) - continue - else - rem=$loc - fi - else - rem=${loc:t} - fi - - zftp put $rem <$loc - (( $? )) && stat=$? - if ! zftp test; then - abort=1 - (( stat )) || stat=1 - break; - fi - done - - while (( $#subdirs && ! abort )); do - zftp mkdir ${subdirs[1]} - zfput_sub ${subdirs[1]}/*(ND) - (( $? )) && stat=$? - shift subdirs - done - - return $stat -} - -zfput_sub $* -stat=$? - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrglob b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrglob deleted file mode 100644 index 677b85f4..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrglob +++ /dev/null @@ -1,70 +0,0 @@ -# function zfrglob { -# Do the remote globbing for zfput, etc. -# We have two choices: -# (1) Get the entire file list and match it one by one -# locally against the pattern. -# Causes problems if we are globbing directories (rare, presumably). -# But: we can cache the current directory, which -# we need for completion anyway. Works on any OS if you -# stick with a single directory. This is the default. -# (2) Use remote globbing, i.e. pass it to ls at the site. -# Faster, but only works with UNIX, and only basic globbing. -# We do this if the remote-glob style (or $zfrglob for -# backward compatibility) is set. - -# There is only one argument, the variable containing the -# pattern to be globbed. We set this back to an array containing -# all the matches. - -emulate -L zsh -setopt extendedglob - -local pat dir nondir files i zfrglob - -zstyle -t "$curcontext" remote-glob && zfrglob=1 - -eval pat=\$$1 - -# Check if we really need to do anything. Look for standard -# globbing characters, and if we are -# using zsh for the actual pattern matching also look for -# extendedglob characters. -if [[ $pat != *[][*?]* && - ( -n $zfrglob || $pat != *[(|)#^]* ) ]]; then - return 0 -fi - -if [[ $zfrglob != '' ]]; then - () { - zftp ls "$pat" >|$1 2>/dev/null - eval "$1=(\$(<\$1))" - } =(<<<'temporary file') -else - if [[ $ZFTP_SYSTEM = UNIX* && $pat = */* ]]; then - # not the current directory and we know how to handle paths - if [[ $pat = ?*/* ]]; then - # careful not to remove too many slashes - dir=${pat%/*} - else - dir=/ - fi - nondir=${pat##*/} - () { - zftp ls "$dir" 2>/dev/null >|$1 - files=($(<$1)) - } =(<<<'temporary file') - files=(${files:t}) - else - # we just have to do an ls and hope that's right - local fcache_name - zffcache - nondir=$pat - files=(${(P)fcache_name}) - fi - # now we want to see which of the $files match $nondir: - # ${...:/foo} deletes occurrences of foo matching a complete word, - # while the ^ inverts the sense so that anything not matching the - # pattern in $nondir is excluded. - eval "$1=(\${files:/^\${~nondir}})" -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrtime b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrtime deleted file mode 100644 index b1653d61..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfrtime +++ /dev/null @@ -1,43 +0,0 @@ -# function zfrtime { -# Set the modification time of file LOCAL to that of REMOTE. -# If the optional TIME is passed, it should be in the FTP format -# CCYYMMDDhhmmSS, i.e. no dot before the seconds, and in GMT. -# This is what both `zftp remote' and `zftp local' return. -# -# Unfortunately, since the time returned from FTP is GMT and -# your file needs to be set in local time, we need to do some -# hacking around with time. - -emulate -L zsh -zmodload zsh/datetime - -local time gmtime loctime year mon mday hr min sec y tmpdate -local -i days_since_epoch - -if [[ -n $3 ]]; then - time=$3 -else - time=($(zftp remote $2 2>/dev/null)) - [[ -n $time ]] && time=$time[2] -fi -[[ -z $time ]] && return 1 - -year=$time[1,4] -mon=$time[5,6] -mday=$time[7,8] -hr=$time[9,10] -min=$time[11,12] -sec=$time[13,14] - -#count the number of days since epoch without the current day -for y in {1970..$(( $year - 1))}; do - strftime -s tmpdate -r "%Y/%m/%d" ${y}/12/31 - days_since_epoch+=$(strftime "%j" $tmpdate) -done -strftime -s tmpdate -r "%Y/%m/%d" $year/$mon/$(( $mday - 1 )) -days_since_epoch+=$(strftime "%j" $tmpdate) -# convert the time in number of seconds (this should be equivalent to timegm) -time=$(( $sec + 60 * ( $min + 60 * ($hr + 24 * $days_since_epoch)) )) -#Convert it back to CCYYMMDDhhmmSS -strftime -s time "%Y%m%d%H%M%S" ${EPOCHSECONDS} -touch -t ${time[1,12]}.${time[13,14]} $1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfsession b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfsession deleted file mode 100644 index 79d4da93..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfsession +++ /dev/null @@ -1,72 +0,0 @@ -# function zfsession { -# Change or list the sessions for the current zftp connection. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfsession -local opt opt_l opt_v opt_o opt_d hadopts - -while getopts ":lovd" opt; do - [[ $opt = "?" ]] && print "zfsession: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" - hadopts=1 -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ $# -gt 1 || (( -n $hadopts && -z $opt_d ) && $# -gt 0 ) ]] -then - print "Usage: zfsession ( [ -lvod ] | session )" 1>&2 - return 1 -fi - -if [[ -n $opt_v ]]; then - local sess - for sess in $(zftp session); do - print -n "${(r.15.. ..:.)sess}\t${zfconfig[lastloc_$sess]:-not connected}" - if [[ $sess = $ZFTP_SESSION ]]; then - print " *" - else - print - fi - done -elif [[ -n $opt_l ]]; then - zftp session -fi - -if [[ -n $opt_o ]]; then - if [[ $zfconfig[lastsession] != $ZFTP_SESSION ]]; then - local cursession=$ZFTP_SESSION - zftp session $zfconfig[lastsession] - zfconfig[lastsession]=$cursession - print $ZFTP_SESSION - else - print "zfsession: no previous session." >&2 - return 1 - fi -fi - -if [[ -n $opt_d ]]; then - local del=${1:-$ZFTP_SESSION} key - key=${zfconfig[fcache_$del]} - [[ -n $key ]] && unset $key - for key in fcache lastloc lastdir curdir otherdir otherargs lastuser; do - unset "zfconfig[${key}_${del}]" - done - zftp rmsession $del - return -fi - -[[ -n $hadopts ]] && return $stat - -if [[ $# = 0 ]]; then - print $ZFTP_SESSION - return -fi - -local oldsession=${ZFTP_SESSION:-default} -zftp session $1 -if [[ $ZFTP_SESSION != $oldsession ]]; then - zfconfig[lastsession]=$oldsession - zftp_chpwd -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfstat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfstat deleted file mode 100644 index 7fa07d4c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfstat +++ /dev/null @@ -1,82 +0,0 @@ -# function zfstat { -# Give a zftp status report using local variables. -# With option -v, connect to the remote host and ask it what it -# thinks the status is. - -setopt localoptions unset -unsetopt ksharrays - -[[ $curcontext = :zf* ]] || local curcontext=:zfstat -local i stat=0 opt opt_v - -while getopts :v opt; do - [[ $opt = "?" ]] && print "zfstat: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -[[ -n $ZFTP_SESSION ]] && print "Session:\t$ZFTP_SESSION" - -if [[ -n $ZFTP_HOST ]]; then - print "Host:\t\t$ZFTP_HOST" - print "Port:\t\t$ZFTP_PORT" - print "IP:\t\t$ZFTP_IP" - [[ -n $ZFTP_SYSTEM ]] && print "System type:\t$ZFTP_SYSTEM" - if [[ -n $ZFTP_USER ]]; then - print "User:\t\t$ZFTP_USER " - [[ -n $ZFTP_ACCOUNT ]] && print "Account:\t$AFTP_ACCOUNT" - print "Directory:\t$ZFTP_PWD" - print -n "Transfer type:\t" - if [[ $ZFTP_TYPE = "I" ]]; then - print Image - elif [[ $ZFTP_TYPE = "A" ]]; then - print Ascii - else - print Unknown - fi - print -n "Transfer mode:\t" - if [[ $ZFTP_MODE = "S" ]]; then - print Stream - elif [[ $ZFTP_MODE = "B" ]]; then - print Block - else - print Unknown - fi - else - print "No user logged in." - fi -else - print "Not connected." - [[ -n $zfconfig[lastloc_$ZFTP_SESSION] ]] && - print "Last location:\t$zfconfig[lastloc_$ZFTP_SESSION]" - stat=1 -fi - -# things which may be set even if not connected: -[[ -n $ZFTP_REPLY ]] && print "Last reply:\t$ZFTP_REPLY" -print "Verbosity:\t$ZFTP_VERBOSE" -print "Timeout:\t$ZFTP_TMOUT" -print -n "Preferences:\t" -for (( i = 1; i <= ${#ZFTP_PREFS}; i++ )); do - case $ZFTP_PREFS[$i] in - [pP]) print -n "Passive " - ;; - [sS]) print -n "Sendport " - ;; - [dD]) print -n "Dumb " - ;; - *) print -n "$ZFTP_PREFS[$i]???" - esac -done -print - -if [[ -n $ZFTP_HOST && $opt_v = 1 ]]; then - zfautocheck -d - print "Status of remote server:" - # make sure we print the reply - local ZFTP_VERBOSE=045 - zftp quote STAT -fi - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_chpwd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_chpwd deleted file mode 100644 index f661fa3e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_chpwd +++ /dev/null @@ -1,42 +0,0 @@ -# function zftp_chpwd { -# You may want to alter chpwd to call this when $ZFTP_USER is set. - -# If the directory really changed... -if [[ $ZFTP_PWD != $zfconfig[lastdir_$ZFTP_SESSION] ]]; then - # ...and also empty the stored directory listing cache. - # As this function is called when we close the connection, this - # is the only place we need to do these two things. - local curdir=$zfconfig[curdir_$ZFTP_SESSION] - [[ -n $curdir && -f $curdir ]] && rm -f $curdir - zfconfig[otherargs_$ZFTP_SESSION]= - zffcache -d -fi - -if [[ -z $ZFTP_USER ]]; then - # last call, after an FTP logout - - # delete the non-current cached directory - [[ -n $zfotherdir && -f $zfotherdir ]] && rm -f $zfotherdir - - # don't keep lastdir between opens (do keep lastloc) - zfconfig[lastdir_$ZFTP_SESSION]= - - # return the display to standard - zstyle -t ":zftp$curcontext" chpwd && chpwd -else - [[ -n $ZFTP_PWD ]] && zfconfig[lastdir_$ZFTP_SESSION]=$ZFTP_PWD - zfconfig[lastloc_$ZFTP_SESSION]="$ZFTP_HOST:$ZFTP_PWD" - zfconfig[lastuser_$ZFTP_SESSION]="$ZFTP_USER" - local args - if [[ -t 1 && -t 2 ]] && zstyle -t ":zftp$curcontext" titlebar; then - local str=$zfconfig[lastloc_$ZFTP_SESSION] - [[ ${#str} -lt 70 ]] && str="%m: %~ $str" - case $TERM in - sun-cmd) print -Pn "\033]l$str\033\\" - ;; - *xterm*|rxvt|dtterm|Eterm|kterm) print -Pn "\033]2;$str\a" - ;; - esac - fi -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_progress b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_progress deleted file mode 100644 index 6bc87328..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftp_progress +++ /dev/null @@ -1,54 +0,0 @@ -# function zftp_progress { -# Basic progress metre, showing the percent of the file transferred. -# You want growing bars? You gottem. -# styles used (context :zftp:zfparent_function:): -# progress -# empty or `none' no progress meter -# `bar' use a growing bar of inverse video -# `percent' or other non-blank show the percentage transferred -# If size of remote file is not available, `bar' or `percent' just show -# bytes. -# update -# Minimum time in seconds between updates of the progress display. - -local style update=1 - -# What style: either bar for growing bars, or anything else for simple -# percentage. For bar we need to have the terminal width in COLUMNS, -# which is often set automatically, but you never know. -zstyle -s ":zftp$curcontext" progress style -# How many seconds to wait before printing an updated progress report. -zstyle -s ":zftp$curcontext" update update - -# Don't show progress unless stderr is a terminal -[[ ! -t 2 || $style = (|none) ]] && return 0 - -if [[ -n $ZFTP_TRANSFER ]]; then - # avoid a `parameter unset' message - [[ $ZFTP_TRANSFER != *F ]] && - (( ${+zftpseconds} )) && (( SECONDS - zftpseconds < update )) && return - # size is usually ZFTP_SIZE, but zftransfer may set ZFTP_TSIZE - local size=${ZFTP_TSIZE:-$ZFTP_SIZE} - if [[ ${size:-0} -ne 0 ]]; then - local frac="$(( ZFTP_COUNT * 100 / size ))%" - if [[ $style = bar && ${+COLUMNS} = 1 && $COLUMNS -gt 0 ]]; then - if (( ! ${+zftpseconds} )); then - print "$ZFTP_FILE ($size bytes): $ZFTP_TRANSFER" 1>&2 - fi - integer maxwidth=$(( COLUMNS - 7 )) - local width="$(( ZFTP_COUNT * maxwidth / size ))" - print -nP "\r%S${(l:width:):-}%s${(l:maxwidth-width:):-}: ${frac}%%" 1>&2 - else - print -n "\r$ZFTP_FILE ($size bytes): $ZFTP_TRANSFER $frac" 1>&2 - fi - else - print -n "\r$ZFTP_FILE: $ZFTP_TRANSFER $ZFTP_COUNT" 1>&2 - fi - if [[ $ZFTP_TRANSFER = *F && ${+zftpseconds} = 1 ]]; then - unset zftpseconds - print 1>&2 - else - typeset -g zftpseconds=$SECONDS - fi -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftransfer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftransfer deleted file mode 100644 index c97ae464..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftransfer +++ /dev/null @@ -1,66 +0,0 @@ -# function zftransfer { -# Transfer files between two distinct sessions. No remote globbing -# is done, since only single pairs can be transferred. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zftransfer -local sess1 sess2 file1 file2 oldsess=${ZFTP_SESSION} - -if [[ $# -ne 2 ]]; then - print "Usage: zftransfer sess1:file1 sess2:file2" 1>&2 - return 1 -fi - -if [[ $1 = *:* ]]; then - sess1=${1%%:*} - file1=${1#*:} -fi -: ${sess1:=$ZFTP_SESSION} - -if [[ $2 = *:* ]]; then - sess2=${2%%:*} - file2=${2#*:} -fi -: ${sess2:=$ZFTP_SESSION} -if [[ -z $file2 || $file2 = */ ]]; then - file2="${file2}${file1:t}" -fi - -if [[ $sess1 = $sess2 ]]; then - print "zftransfer: must use two distinct sessions." 1>&2 - return 1 -fi - -zftp session $sess1 -zfautocheck || return 1 - -# It's more useful to show the progress for the second part -# of the pipeline, but unfortunately that can't necessarily get -# the size from the pipe --- and if it does, it's probably wrong. -# To avoid that, try to get the size and set it for the progress to -# see. -local style -zstyle -s ':zftp:zftransfer' progress style -if [[ -n $style && $style != none ]]; then - local ZFTP_TSIZE array - () { - zftp remote $file1 >|$1 2>/dev/null - array=($(<$1)) - } =(<<<'temporary file') - [[ $#array -eq 2 ]] && ZFTP_TSIZE=$array[1] -fi - -# We do the RHS of the pipeline in a subshell, too, so that -# the LHS can get SIGPIPE when it exits. -{ zstyle '*' progress none - zftp get $file1 } | -( zftp session $sess2 - zfautocheck && zftp put $file2 ) - -local stat=$? - -zftp session $oldsess - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftype b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftype deleted file mode 100644 index 81f95dec..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zftype +++ /dev/null @@ -1,29 +0,0 @@ -# function zftype { -local type -[[ $curcontext = :zf* ]] || local curcontext=:zftype - -zfautocheck -d - -if (( $# == 0 )); then - type=$(zftp type) - if [[ $type = I ]]; then - print "Current type is image (binary)" - return 0 - elif [[ $type = A ]]; then - print "Current type is ASCII" - return 0 - else - return 1 - fi -else - if [[ $1 == (#i)a(sc(ii|)|) ]]; then - type=A - elif [[ $1 == (#i)i(m(age|)|) || $1 == (#i)b(in(ary|)|) ]]; then - type=I - else - print "Type not recognised: $1" 2>&1 - return 1 - fi - zftp type $type -fi -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuget b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuget deleted file mode 100644 index 2850975e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuget +++ /dev/null @@ -1,129 +0,0 @@ -# function zfuget { -# Get a list of files from the server with update. -# In other words, only retrieve files which are newer than local -# ones. This depends on the clocks being adjusted correctly -# (i.e. if one is fifteen minutes out, for the next fifteen minutes -# updates may not be correctly calculated). However, difficult -# cases --- where the files are the same size, but the remote is newer, -# or have different sizes, but the local is newer -- are prompted for. -# -# Files are globbed on the remote host --- assuming, of course, they -# haven't already been globbed local, so use 'noglob' e.g. as -# `alias zfuget="noglob zfuget"'. -# -# Options: -# -G Glob: turn off globbing -# -v verbose: print more about the files listed. -# -s silent: don't ask, just guess. The guesses are: -# - if the files have different sizes but remote is older ) grab -# - if they have the same size but remote is newer ) -# which is safe if the remote files are always the right ones. -# -t time: update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfuget -local loc rem locstats remstats doit -local rstat remlist opt opt_v opt_s opt_G opt_t -integer stat do_close - -zfuget_print_time() { - local tim=$1 - print -n "$tim[1,4]/$tim[5,6]/$tim[7,8] $tim[9,10]:$tim[11,12].$tim[13,14]" - print -n GMT -} - -zfuget_print () { - print -n "\nremote $rem (" - zfuget_print_time $remstats[2] - print -n ", $remstats[1] bytes)\nlocal $loc (" - zfuget_print_time $locstats[2] - print ", $locstats[1] bytes)" -} - -while getopts :vsGt opt; do - [[ $opt = "?" ]] && print "zfuget: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist == $HOME || $remlist == $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_n != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=${rem:t} - doit=y - remstats=() - if [[ -f $loc ]]; then - () { - zftp local $loc >|$1 - locstats=($(<$1)) - zftp remote $rem >|$1 - rstat=$? - remstats=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not implement full command set required." 1>&2 - return 1 - elif [[ $rstat = 1 ]]; then - print "File not found on server: $rem" 1>&2 - stat=1 - continue - fi - [[ $opt_v = 1 ]] && zfuget_print - if (( $locstats[1] != $remstats[1] )); then - # Files have different sizes - if [[ $locstats[2] > $remstats[2] && $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuget_print - print "Local file $loc more recent than remote," 1>&2 - print -n "but sizes are different. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # Files have same size - if [[ $locstats[2] < $remstats[2] ]]; then - if [[ $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuget_print - print "Local file $loc has same size as remote," 1>&2 - print -n "but local file is older. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # presumably same file, so don't get it. - [[ $opt_v = 1 ]] && print Not transferring - doit=n - fi - fi - else - [[ $opt_v = 1 ]] && print New file $loc - fi - if [[ $doit = y ]]; then - if zftp get $rem >$loc; then - if [[ $opt_t = 1 ]]; then - # if $remstats is set, it's second element is the remote time - zfrtime $loc $rem $remstats[2] - fi - else - stat=$? - fi - - fi - done - fi -done - -(( do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuput b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuput deleted file mode 100644 index f4e6a0fd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zfuput +++ /dev/null @@ -1,101 +0,0 @@ -# function zfuput { -# Put a list of files from the server with update. -# See zfuget for details. -# -# Options: -# -v verbose: print more about the files listed. -# -s silent: don't ask, just guess. The guesses are: -# - if the files have different sizes but remote is older ) grab -# - if they have the same size but remote is newer ) -# which is safe if the remote files are always the right ones. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfuput -local loc rem locstats remstats doit -local rstat opt opt_v opt_s -integer stat do_close - -zfuput_print_time() { - local tim=$1 - print -n "$tim[1,4]/$tim[5,6]/$tim[7,8] $tim[9,10]:$tim[11,12].$tim[13,14]" - print -n GMT -} - -zfuput_print () { - print -n "\nremote $rem (" - zfuput_print_time $remstats[2] - print -n ", $remstats[1] bytes)\nlocal $loc (" - zfuput_print_time $locstats[2] - print ", $locstats[1] bytes)" -} - -while getopts :vs opt; do - [[ $opt = "?" ]] && print "zfuget: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -if [[ $ZFTP_VERBOSE = *5* ]]; then - # should we turn it off locally? - print "Messages with code 550 are harmless." >&2 -fi - -for rem in $*; do - loc=${rem:t} - doit=y - remstats=() - if [[ ! -f $loc ]]; then - print "$loc: file not found" >&2 - stat=1 - continue - fi - () { - zftp local $loc >|$1 - locstats=($(<$1)) - zftp remote $rem >|$1 - rstat=$? - remstats=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not implement full command set required." 1>&2 - return 1 - elif [[ $rstat = 1 ]]; then - [[ $opt_v = 1 ]] && print New file $loc - else - [[ $opt_v = 1 ]] && zfuput_print - if (( $locstats[1] != $remstats[1] )); then - # Files have different sizes - if [[ $locstats[2] < $remstats[2] && $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuput_print - print "Remote file $rem more recent than local," 1>&2 - print -n "but sizes are different. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # Files have same size - if [[ $locstats[2] > $remstats[2] ]]; then - if [[ $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuput_print - print "Remote file $rem has same size as local," 1>&2 - print -n "but remote file is older. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # presumably same file, so don't get it. - [[ $opt_v = 1 ]] && print Not transferring - doit=n - fi - fi - fi - if [[ $doit = y ]]; then - zftp put $rem <$loc || stat=$? - fi -done - -(( do_close )) && zfclose - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zkbd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zkbd deleted file mode 100755 index 3873dfd3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zkbd +++ /dev/null @@ -1,272 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f - -[[ -o interactive ]] && { - local -hi ARGC # local is a no-op outside of a function - (ARGC=0) 2>/dev/null || { # so ARGC remains read-only for "source" - print -u2 ${0}: must be run as a function or shell script, not sourced - return 1 - } -} - -emulate -RL zsh -local zkbd term key seq - -zkbd=${ZDOTDIR:-$HOME}/.zkbd -[[ -d $zkbd ]] || mkdir $zkbd || return 1 - -trap 'unfunction getmbkey getseq; command rm -f $zkbd/$TERM.tmp' 0 -trap "return 1" 1 2 15 - -getmbkey () { - local k='' i - for ((i=10; i>0; --i)) - do - read -t -k 1 k && break - sleep 1 - done - [[ -n $k ]] || return 1 - [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0 - # We might not be done yet, thanks to multibyte characters - local mbk=$k - while read -t -k 1 k - do - mbk=$mbk$k - done - print -Rn $mbk -} - -getseq () { - trap "stty ${$(stty -g 2>/dev/null):-echo -raw}" 0 1 2 15 - stty raw -echo - local k='' seq='' i - for ((i=10; i>0; --i)) - do - read -t -k 1 k && break - sleep 1 - done - [[ -n $k ]] || return 1 - [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0 - seq=$k - while read -t -k 1 k - do - seq=$seq$k - done - print -Rn ${(V)seq} -} - -read term"?Enter current terminal type: [$TERM] " -[[ -n $term ]] && TERM=$term -print 'typeset -g -A key\n' > $zkbd/$TERM.tmp || return 1 - -cat <<\EOF - -We will now test some features of your keyboard and terminal. - -If you do not press the requested keys within 10 seconds, key reading will -abort. If your keyboard does not have a requested key, press Space to -skip to the next key. - -EOF - -local ctrl alt meta - -print -n "Hold down Ctrl and press X: " -ctrl=$(getmbkey) || return 1 -print - -if [[ $ctrl != $'\030' ]] -then - print "Your keyboard does not have a working Ctrl key?" - print "Giving up ..." - return 1 -else - print -fi - -print "Your Meta key may have a Microsoft Windows logo on the cap." -print -n "Hold down Meta and press X: " -meta=$(getmbkey) || return 1 -print - -if [[ $meta == x ]] -then - print "Your keyboard or terminal does not recognize the Meta key." - unset meta -elif [[ $meta > $'\177' ]] -then - print "Your keyboard uses the Meta key to send high-order characters." -else - unset meta -fi -print - -print -n "Hold down Alt and press X: " -alt=$(getmbkey) || return 1 -print - -if [[ $alt == x ]] -then - print "Your keyboard or terminal does not recognize the Alt key." - unset alt -elif [[ $alt == $meta ]] -then - print "Your keyboard does not distinguish Alt from Meta." -elif [[ $alt > $'\177' ]] -then - print "Your keyboard uses the Alt key to send high-order characters." -else - unset alt -fi - -if (( $+alt + $+meta == 0 )) -then - print $'\n---------\n' - if [[ -o multibyte ]] - then cat <<EOF -You are using zsh in MULTIBYTE mode to support modern character sets (for -languages other than English). To use the Meta or Alt keys, you probably -need to revert to single-byte mode with a command such as - - unsetopt MULTIBYTE -EOF - else cat <<EOF -Your current terminal and keyboard configuration does not appear to use -high-order characters. You may be able to enable the Meta or Alt keys -with a command such as - - stty pass8 -EOF - fi - cat <<EOF - -If you want to use these extra keys with zsh, try adding the above command -to your ${ZDOTDIR:-$HOME}/.zshrc file. - -See also "man stty" or the documentation for your terminal or emulator. -EOF -fi - -(( $+alt || $+meta )) && cat <<EOF - ---------- - -You may enable keybindings that use the \ -${meta:+Meta}${meta:+${alt:+ and }}${alt:+Alt} key${meta:+${alt:+s}} \ -by adding - - bindkey -m - -to your ${ZDOTDIR:-$HOME}/.zshrc file. - -EOF - -read -k 1 key"?Press a key to proceed: " -[[ $key != $'\n' ]] && print - -cat <<\EOF - ---------- - -You will now be asked to press in turn each of the 12 function keys, then -the Backspace key, the 6 common keypad keys found on typical PC keyboards, -plus the 4 arrow keys, and finally the Menu key (near Ctrl on the right). -If your keyboard does not have the requested key, press Space to skip to -the next key. - -Do not type ahead! Wait at least one second after pressing each key for -zsh to read the entire sequence and prompt for the next key. If a key -sequence does not echo within 2 seconds after you press it, that key may -not be sending any sequence at all. In this case zsh is not able to make -use of that key. Press Space to skip to the next key. - -EOF - -read -k 1 key"?Press a key when ready to begin: " -[[ $key != $'\n' ]] && print - -cat <<\EOF - -If you do not press a key within 10 seconds, key reading will abort. -If you make a mistake, stop typing and wait, then run this program again. - -EOF - -# There are 509 combinations of the following three arrays that represent -# possible keystrokes. (Actually, Sun keyboards don't have Meta or Menu, -# though some have R{1..12} keys as well, so really there are either 433 -# or 517 combinations; but some X11 apps map Shift-F{1..11} to emulate the -# unmodified Sun keys, so really only the 345 PC combinations are usable. -# Let's not even get into distinguishing Left and Right Shift/Alt/Meta.) -# No one would ever want to type them all into this program (would they?), -# so by default ask for the 23 unmodified PC keys. If you uncomment more, -# you should fix the introductory text above. - -local -a pckeys sunkeys modifiers -pckeys=(F{1..12} - Backspace Insert Home PageUp - Delete End PageDown - Up - Left Down Right - Menu - ) -sunkeys=(Stop Again - Props Undo - Front Copy - Open Paste - Find Cut - Help - ) -modifiers=(Shift- # Control- Alt- Meta- - # Control-Shift- Alt-Shift- Meta-Shift- - # Control-Alt- Control-Meta- Alt-Meta- - # Control-Alt-Shift- Control-Meta-Shift- - # Alt-Meta-Shift- Control-Alt-Meta-Shift- - ) - -exec 3>/dev/tty - -for key in $pckeys # $^modifiers$^pckeys $sunkeys $^modifiers$^sunkeys -do - print -u3 -Rn "Press $key: " - seq="$(getseq)" || return 1 - print "key[$key]='${(q)seq}'" - print -u3 -R $seq -done >> $zkbd/$TERM.tmp - -source $zkbd/$TERM.tmp || return 1 -if [[ "${key[Delete]}" == "${key[Backspace]}" ]] -then - print - print Warning: Backspace and Delete key both send "${(q)key[Delete]}" -else - if [[ "${key[Delete]}" != "^?" ]] - then - print - print Warning: Delete key sends "${(q)key[Delete]}" '(not ^?)' - fi - if [[ "${key[Backspace]}" != "^H" ]] - then - print - print Warning: Backspace sends "${(q)key[Backspace]}" - fi -fi - -local termID=${${DISPLAY:t}:-$VENDOR-$OSTYPE} termFile=$zkbd/$TERM.tmp -command mv $termFile $zkbd/$TERM-$termID && termFile=$zkbd/$TERM-$termID - -cat <<EOF - -Parameter assignments for the keys you typed have been written to the file: -$termFile - -You may read this file into ${ZDOTDIR:-$HOME}/.zshrc or another startup -file with the "source" or "." commands, then reference the \$key parameter -in bindkey commands, for example like this: - - source ${(D)zkbd}/\$TERM-\${\${DISPLAY:t}:-\$VENDOR-\$OSTYPE} - [[ -n \${key[Left]} ]] && bindkey "\${key[Left]}" backward-char - [[ -n \${key[Right]} ]] && bindkey "\${key[Right]}" forward-char - # etc. - -Adjust the name of the file being sourced, as necessary. -EOF diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfunc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfunc deleted file mode 100644 index 12d2c2f3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfunc +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -zsh_math_func_min() { - emulate -L zsh - local result=$1 - shift - local arg - for arg ; do - (( arg < result )) - case $? in - (0) (( result = arg ));; - (1) ;; - (*) return $?;; - esac - done - (( result )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M min 1 -1 zsh_math_func_min # at least one argument - -zsh_math_func_max() { - emulate -L zsh - local result=$1 - shift - local arg - for arg ; do - (( arg > result )) - case $? in - (0) (( result = arg ));; - (1) ;; - (*) return $?;; - esac - done - (( result )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M max 1 -1 zsh_math_func_max # at least one argument - -zsh_math_func_sum() { - emulate -L zsh - local sum - local arg - for arg ; do - (( sum += arg )) - done - (( sum )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M sum 0 -1 zsh_math_func_sum - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfuncdef b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfuncdef deleted file mode 100644 index 5ed991f6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmathfuncdef +++ /dev/null @@ -1,87 +0,0 @@ -# Define a mathematical function with its definition and smart(ish) -# guessing of the number of arguments. Doesn't overload for different -# numbers of arguments, but that could be done. Type overloading would be -# more fraught. - -emulate -L zsh -setopt extendedglob -local -a match mbegin mend line -local func - -if (( $# > 2 )); then - print "Usage: $0 [name [body]]" >&2 - return 1 -fi - -zmodload -i zsh/parameter || return 1 - -if (( $# == 0 )); then - functions -M | while read -A line; do - func=${functions[$line[6]]} - if [[ $func = (#b)[[:space:]]#\(\([[:space:]]#(*[^[:space:]])[[:space:]]#\)\) ]]; then - print "zmathfuncdef $line[3] ${(qq)match[1]}" - fi - done - return 0 -fi - -local mname=$1 -local fname="zsh_math_func_$1" - -if (( $# == 1 )); then - functions +M $mname && unfunction $fname - return 0 -elif [[ -n $functions[$fname] ]]; then - functions +M $mname -fi - -integer iarg=0 ioptarg -local body=$2 - -# count compulsory arguments -while [[ $body = *'$'(\{|)$((iarg+1))(|[^:[:digit:]]*) ]]; do - (( iarg++ )) -done - -# count optional arguments -(( ioptarg = iarg )) -while [[ $body = *'${'$((ioptarg+1))':-'* ]]; do - (( ioptarg++ )) -done - -functions -M $mname $iarg $ioptarg $fname || return 1 - -# See if we need to autoload a math function from the standard -# library. -if ! zmodload -e zsh/mathfunc; then - local -a mathfuncs match mbegin mend loads - local mathfuncpat bodysearch - - # generate pattern to match all known math functions - mathfuncs=(abs acos acosh asin asinh atan atanh cbrt ceil cos cosh erf erfc - exp expm1 fabs float floor gamma int j0 j1 lgamma log log10 log1p logb - sin sinh sqrt tan tanh y0 y1 signgam copysign fmod hypot nextafter jn yn - ldexp scalb rand48) - mathfuncpat="(${(j.|.)mathfuncs})" - bodysearch=$body - while [[ $bodysearch = (#b)(*[^[:alnum]]|)([[:alnum:]]##)\((*) ]]; do - # save worrying about search order... - bodysearch=$match[1]$match[3] - if [[ $match[2] = ${~mathfuncpat} ]]; then - # Uses function from math library. - loads+=($match[2]) - fi - done - if (( ${#loads} )); then - zmodload -af zsh/mathfunc $loads - fi -fi - -{ - eval "$fname() { (( $body )); true }" -} always { - # Remove math function if shell function definition failed. - if (( TRY_BLOCK_ERROR )); then - functions +M $mname - fi -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmv b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmv deleted file mode 100644 index 269fe5ba..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zmv +++ /dev/null @@ -1,299 +0,0 @@ -# function zmv { -# zmv, zcp, zln: -# -# This is a multiple move based on zsh pattern matching. To get the full -# power of it, you need a postgraduate degree in zsh. However, simple -# tasks work OK, so if that's all you need, here are some basic examples: -# zmv '(*).txt' '$1.lis' -# Rename foo.txt to foo.lis, etc. The parenthesis is the thing that -# gets replaced by the $1 (not the `*', as happens in mmv, and note the -# `$', not `=', so that you need to quote both words). -# zmv '(**/)(*).txt '$1$2.lis' -# The same, but scanning through subdirectories. The $1 becomes the full -# path. Note that you need to write it like this; you can't get away with -# '(**/*).txt'. -# zmv -w '**/*.txt' '$1$2.lis' -# noglob zmv -W **/*.txt **/*.lis -# These are the lazy version of the one above; with -w, zsh inserts the -# parentheses for you in the search pattern, and with -W it also inserts -# the numbered variables for you in the replacement pattern. The catch -# in the first version is that you don't need the / in the replacement -# pattern. (It's not really a catch, since $1 can be empty.) Note that -# -W actually inserts ${1}, ${2}, etc., so it works even if you put a -# number after a wildcard (such as zmv -W '*1.txt' '*2.txt'). -# zmv -C '**/(*).txt' ~/save/'$1'.lis -# Copy, instead of move, all .txt files in subdirectories to .lis files -# in the single directory `~/save'. Note that the ~ was not quoted. -# You can test things safely by using the `-n' (no, not now) option. -# Clashes, where multiple files are renamed or copied to the same one, are -# picked up. -# -# Here's a more detailed description. -# -# Use zsh pattern matching to move, copy or link files, depending on -# the last two characters of the function name. The general syntax is -# zmv '<inpat>' '<outstring>' -# <inpat> is a globbing pattern, so it should be quoted to prevent it from -# immediate expansion, while <outstring> is a string that will be -# re-evaluated and hence may contain parameter substitutions, which should -# also be quoted. Each set of parentheses in <inpat> (apart from those -# around glob qualifiers, if you use the -Q option, and globbing flags) may -# be referred to by a positional parameter in <outstring>, i.e. the first -# (...) matched is given by $1, and so on. For example, -# zmv '([a-z])(*).txt' '${(C)1}$2.txt' -# renames algernon.txt to Algernon.txt, boris.txt to Boris.txt and so on. -# The original file matched can be referred to as $f in the second -# argument; accidental or deliberate use of other parameters is at owner's -# risk and is not covered by the (non-existent) guarantee. -# -# As usual in zsh, /'s don't work inside parentheses. There is a special -# case for (**/) and (***/): these have the expected effect that the -# entire relevant path will be substituted by the appropriate positional -# parameter. -# -# There is a shortcut avoiding the use of parenthesis with the option -w -# (with wildcards), which picks out any expressions `*', `?', `<range>' -# (<->, <1-10>, etc.), `[...]', possibly followed by `#'s, `**/', `***/', and -# automatically parenthesises them. (You should quote any ['s or ]'s which -# appear inside [...] and which do not come from ranges of the form -# `[:alpha:]'.) So for example, in -# zmv -w '[[:upper:]]*' '${(L)1}$2' -# the $1 refers to the expression `[[:upper:]]' and the $2 refers to -# `*'. Thus this finds any file with an upper case first character and -# renames it to one with a lowercase first character. Note that any -# existing parentheses are active, too, so you must count accordingly. -# Furthermore, an expression like '(?)' will be rewritten as '((?))' --- in -# other words, parenthesising of wildcards is independent of any existing -# parentheses. -# -# Any file whose name is not changed by the substitution is simply ignored. -# Any error --- a substitution resulted in an empty string, two -# substitutions gave the same result, the destination was an existing -# regular file and -f was not given --- causes the entire function to abort -# without doing anything. -# -# Options: -# -f force overwriting of destination files. Not currently passed -# down to the mv/cp/ln command due to vagaries of implementations -# (but you can use -o-f to do that). -# -i interactive: show each line to be executed and ask the user whether -# to execute it. Y or y will execute it, anything else will skip it. -# Note that you just need to type one character. -# -n no execution: print what would happen, but don't do it. -# -q Turn bare glob qualifiers off: now assumed by default, so this -# has no effect. -# -Q Force bare glob qualifiers on. Don't turn this on unless you are -# actually using glob qualifiers in a pattern (see below). -# -s symbolic, passed down to ln; only works with zln or z?? -L. -# -v verbose: print line as it's being executed. -# -o <optstring> -# <optstring> will be split into words and passed down verbatim -# to the cp, ln or mv called to perform the work. It will probably -# begin with a `-'. -# -p <program> -# Call <program> instead of cp, ln or mv. Whatever it does, it should -# at least understand the form '<program> -- <oldname> <newname>', -# where <oldname> and <newname> are filenames generated. <program> -# will be split into words. -# -P <program> -# As -p, but the program doesn't understand the "--" convention. -# In this case the file names must already be sane. -# -w Pick out wildcard parts of the pattern, as described above, and -# implicitly add parentheses for referring to them. -# -W Just like -w, with the addition of turning wildcards in the -# replacement pattern into sequential ${1} .. ${N} references. -# -C -# -L -# -M Force cp, ln or mv, respectively, regardless of the name of the -# function. -# -# Bugs: -# Parenthesised expressions can be confused with glob qualifiers, for -# example a trailing '(*)' would be treated as a glob qualifier in -# ordinary globbing. This has proved so annoying that glob qualifiers -# are now turned off by default. To force the use of glob qualifiers, -# give the flag -Q. -# -# The pattern is always treated as an extendedglob pattern. This -# can also be interpreted as a feature. -# -# Unbugs: -# You don't need braces around the 1 in expressions like '$1t' as -# non-positional parameters may not start with a number, although -# paranoiacs like the author will probably put them there anyway. - -emulate -RL zsh -setopt extendedglob - -local f g args match mbegin mend files action myname tmpf opt exec -local opt_f opt_i opt_n opt_q opt_Q opt_s opt_M opt_C opt_L -local opt_o opt_p opt_P opt_v opt_w opt_W MATCH MBEGIN MEND -local pat repl errstr fpat hasglobqual opat -typeset -A from to -integer stat - -local dashes=-- - -myname=${(%):-%N} - -while getopts ":o:p:P:MCLfinqQsvwW" opt; do - if [[ $opt = "?" ]]; then - print -r -- "$myname: unrecognized option: -$OPTARG" >&2 - return 1 - fi - eval "opt_$opt=\${OPTARG:--\$opt}" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -[[ -z $opt_Q ]] && setopt nobareglobqual -[[ -n $opt_M ]] && action=mv -[[ -n $opt_C ]] && action=cp -[[ -n $opt_L ]] && action=ln -[[ -n $opt_p ]] && action=$opt_p -[[ -n $opt_P ]] && action=$opt_P dashes= - -if [[ -z $action ]]; then - action=$myname[-2,-1] - - if [[ $action != (cp|mv|ln) ]]; then - print -r "$myname: action $action not recognised: must be cp, mv or ln." >&2 - return 1 - fi -fi - -if (( $# != 2 )); then - print -P "Usage: - %N [OPTIONS] oldpattern newpattern -where oldpattern contains parenthesis surrounding patterns which will -be replaced in turn by \$1, \$2, ... in newpattern. For example, - %N '(*).lis' '\$1.txt' -renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt', -and so on. Something simpler (for basic commands) is the -W option: - %N -W '*.lis' '*.txt' -This does the same thing as the first command, but with automatic conversion -of the wildcards into the appropriate syntax. If you combine this with -noglob, you don't even need to quote the arguments. For example, - alias mmv='noglob zmv -W' - mmv *.c.orig orig/*.c" >&2 - return 1 -fi - -pat=$1 -repl=$2 -shift 2 - -if [[ -n $opt_s && $action != ln ]]; then - print -r -- "$myname: invalid option: -s" >&2 - return 1 -fi - -if [[ -n $opt_w || -n $opt_W ]]; then - # Parenthesise all wildcards. - local tmp find - integer cnt=0 - # Well, this seems to work. - # The tricky bit is getting all forms of [...] correct, but as long - # as we require inactive bits to be backslashed its not so bad. - find='(#m)((\*\*##/|[*?]|<[0-9]#-[0-9]#>|\[(^|)(\]|)(\[:[a-z]##:\]|\\?|[^\]])##\])\##|?\###)' - tmp="${pat//${~find}/$[++cnt]}" - if [[ $cnt = 0 ]]; then - print -r -- "$myname: warning: no wildcards were found in search pattern" >&2 - else - pat="${pat//${~find}/($MATCH)}" - fi - if [[ -n $opt_W ]]; then - # Turn wildcards into ${1} .. ${N} references. - local open='${' close='}' - integer N=0 - repl="${repl//${~find}/$open$[++N]$close}" - if [[ $N != $cnt ]]; then - print -P "%N: error: number of wildcards in each pattern must match" >&2 - return 1 - fi - if [[ $N = 0 ]]; then - print -P "%N: warning: no wildcards were found in replacement pattern" >&2 - fi - fi -fi - -if [[ -n $opt_Q && $pat = (#b)(*)\([^\)\|\~]##\) ]]; then - hasglobqual=q - # strip off qualifiers for use as ordinary pattern - opat=$match[1] -fi - -if [[ $pat = (#b)(*)\((\*\*##/)\)(*) ]]; then - fpat="$match[1]$match[2]$match[3]" - # Now make sure we do depth-first searching. - # This is so that the names of any files are altered before the - # names of the directories they are in. - if [[ -n $opt_Q && -n $hasglobqual ]]; then - fpat[-1]="odon)" - else - setopt bareglobqual - fpat="${fpat}(odon)" - fi -else - fpat=$pat -fi -files=(${~fpat}) - -[[ -n $hasglobqual ]] && pat=$opat - -errs=() - -for f in $files; do - if [[ $pat = (#b)(*)\(\*\*##/\)(*) ]]; then - # This looks like a recursive glob. This isn't good enough, - # because we should really enforce that $match[1] and $match[2] - # don't match slashes unless they were explicitly given. But - # it's a start. It's fine for the classic case where (**/) is - # at the start of the pattern. - pat="$match[1](*/|)$match[2]" - fi - [[ -e $f && $f = (#b)${~pat} ]] || continue - set -- "$match[@]" - { { - g=${(Xe)repl} - } 2> /dev/null } always { - if (( TRY_BLOCK_ERROR )); then - print -r -- "$myname: syntax error in replacement" >&2 - return 1 - fi - } - if [[ -z $g ]]; then - errs+=("\`$f' expanded to an empty string") - elif [[ $f = $g ]]; then - # don't cause error: more useful just to skip - # errs=($errs "$f not altered by substitution") - [[ -n $opt_v ]] && print -r -- "$f not altered, ignored" - continue - elif [[ -n $from[$g] && ! -d $g ]]; then - errs+=("$f and $from[$g] both map to $g") - elif [[ -f $g && -z $opt_f && ! ($f -ef $g && $action = mv) ]]; then - errs+=("file exists: $g") - fi - from[$g]=$f - to[$f]=$g -done - -if (( $#errs )); then - print -r -- "$myname: error(s) in substitution:" >&2 - print -lr -- $errs >&2 - return 1 -fi - -for f in $files; do - [[ -z $to[$f] ]] && continue - exec=(${=action} ${=opt_o} $opt_s $dashes $f $to[$f]) - [[ -n $opt_i$opt_n$opt_v ]] && print -r -- ${(q-)exec} - if [[ -n $opt_i ]]; then - read -q 'opt?Execute? ' || continue - fi - if [[ -z $opt_n ]]; then - $exec || stat=1 - fi -done - -return $stat -# } diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zrecompile b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zrecompile deleted file mode 100644 index d9fc5502..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zrecompile +++ /dev/null @@ -1,249 +0,0 @@ -# This tries to find wordcode files and automatically re-compile them if -# at least one of the original files is newer than the wordcode file. -# This will only work if the original files were added with their full -# paths or if the names stored in the wordcode files are relative to the -# directory where the wordcode file is. -# -# Arguments are the names of wordcode files and directories containing -# wordcode files that should be checked. If no arguments are given, the -# directories and wordcode files in $fpath are used. -# -# And then there are two options: -# -t: Only check if there are wordcode files that have to be -# re-compiled. The return status is zero if there are files -# that need to be re-compiled and non-zero otherwise. -# -q: Be quiet, i.e.: only set the return status. -# -p: If this is given, the arguments are interpreted differently: -# they should form one or more sets of arguments for zcompile, -# separated by `--'. For example: -# -# zrecompile -p \ -# -R ~/.zshrc -- \ -# -M ~/.zcompdump -- \ -# ~/zsh/comp.zwc ~/zsh/Completion/*/_* \ -# -# This makes ~/.zshrc be compiled into ~/.zshrc.zwc if that doesn't -# exist or if it is older than ~/.zshrc. The wordcode file will be -# marked for reading instead of mapping. The same is done for -# ~/.zcompdump and ~/.zcompdump.zwc, but the wordcode file is marked -# for mapping. The last line re-creates the file ~/zsh/comp.zwc if -# any of the files matching the given pattern is newer than it. -# -# Without the -t option, the return status is zero if all wordcode files -# that needed re-compilation could be compiled and non-zero if compilation -# for at least one of the files failed. - -setopt localoptions extendedglob noshwordsplit noksharrays - -local opt check quiet zwc files re file pre ret map tmp mesg pats - -tmp=() -while getopts ":tqp" opt; do - case $opt in - t) check=yes ;; - q) quiet=yes ;; - p) pats=yes ;; - *) - if [[ -n $pats ]]; then - tmp=( $tmp $OPTARG ) - else - print -u2 zrecompile: bad option: -$OPTARG - return 1 - fi - esac -done -shift OPTIND-${#tmp}-1 - -if [[ -n $check ]]; then - ret=1 -else - ret=0 -fi - -if [[ -n $pats ]]; then - local end num - - while (( $# )); do - end=$argv[(i)--] - - if [[ end -le $# ]]; then - files=( $argv[1,end-1] ) - shift end - else - files=( $argv ) - argv=() - fi - - tmp=() - map=() - OPTIND=1 - while getopts :MR opt $files; do - case $opt in - [MR]) map=( -$opt ) ;; - *) tmp=( $tmp $files[OPTIND] );; - esac - done - shift OPTIND-1 files - (( $#files )) || continue - - files=( $files[1] ${files[2,-1]:#*(.zwc|~)} ) - - (( $#files )) || continue - - zwc=${files[1]%.zwc}.zwc - shift 1 files - - (( $#files )) || files=( ${zwc%.zwc} ) - - if [[ -f $zwc ]]; then - num=$(zcompile -t $zwc | wc -l) - if [[ num-1 -ne $#files ]]; then - re=yes - else - re= - for file in $files; do - if [[ $file -nt $zwc ]]; then - re=yes - break - fi - done - fi - else - re=yes - fi - - if [[ -n $re ]]; then - if [[ -n $check ]]; then - - # ... say so. - - [[ -z $quiet ]] && print $zwc needs re-compilation - ret=0 - else - - # ... or do it. - - [[ -z $quiet ]] && print -n "re-compiling ${zwc}: " - - # If the file is mapped, it might be mapped right now, so keep the - # old file by renaming it. - - if [[ -z "$quiet" ]] && - { [[ ! -f $zwc ]] || mv -f $zwc ${zwc}.old } && - zcompile $map $tmp $zwc $files; then - print succeeded - elif ! { { [[ ! -f $zwc ]] || mv -f $zwc ${zwc}.old } && - zcompile $map $tmp $zwc $files 2> /dev/null } then - [[ -z $quiet ]] && print "re-compiling ${zwc}: failed" - ret=1 - fi - fi - fi - done - - return ret -fi - -# Get the names of wordcode files. - -if (( $# )); then - argv=( ${^argv}/*.zwc(ND) ${^argv}.zwc(ND) ${(M)argv:#*.zwc} ) -else - argv=( ${^fpath}/*.zwc(ND) ${^fpath}.zwc(ND) ${(M)fpath:#*.zwc} ) -fi - -# We only handle *.zwc files. zcompile only handles *.zwc files. Everybody -# seems to handle only *.zwc files. - -argv=( ${^argv%.zwc}.zwc ) - -for zwc; do - - # Get the files in the wordcode file. - - files=( ${(f)"$(zcompile -t $zwc)"} ) - - # See if the wordcode file will be mapped. - - if [[ $files[1] = *\(mapped\)* ]]; then - map=-M - mesg='succeeded (old saved)' - else - map=-R - mesg=succeeded - fi - - # Get the path prefix of the wordcode file to prepend it to names of - # original files that are relative pathnames. - - if [[ $zwc = */* ]]; then - pre=${zwc%/*}/ - else - pre= - fi - - # Maybe this is even for an older version of the shell? - - if [[ $files[1] != *$ZSH_VERSION ]]; then - re=yes - else - re= - fi - - files=( ${pre}${^files[2,-1]:#/*} ${(M)files[2,-1]:#/*} ) - - # If the version is correct, compare the age of every original file - # to the age of the wordcode file. - - [[ -z $re ]] && - for file in $files; do - if [[ $file -nt $zwc ]]; then - re=yes - break - fi - done - - if [[ -n $re ]]; then - - # The wordcode files needs re-compilation... - - if [[ -n $check ]]; then - - # ... say so. - - [[ -z $quiet ]] && print $zwc needs re-compilation - ret=0 - else - - # ... or do it. - - [[ -z $quiet ]] && print -n "re-compiling ${zwc}: " - - tmp=( ${^files}(N) ) - - # Here is the call to zcompile, but if we can't find all the original - # files, we don't try compilation. - - if [[ $#tmp -ne $#files ]]; then - [[ -z $quiet ]] && print 'failed (missing files)' - ret=1 - else - - # If the file is mapped, it might be mapped right now, so keep the - # old file by renaming it. - - if [[ -z "$quiet" ]] && - mv -f $zwc ${zwc}.old && - zcompile $map $zwc $files; then - print $mesg - elif ! { mv -f $zwc ${zwc}.old && - zcompile $map $zwc $files 2> /dev/null } then - [[ -z $quiet ]] && print "re-compiling ${zwc}: failed" - ret=1 - fi - fi - fi - fi -done - -return ret diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-contexts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-contexts deleted file mode 100644 index 08f12515..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-contexts +++ /dev/null @@ -1,24 +0,0 @@ -# Helper for zsh-mime-handler. -# -# Pass in a zstyle option, a suffix, which might include multiple parts -# (e.g. pdf.gz), plus remaining zstyle arguments plus arguments to zstyle. -# Try to match the style starting with the longest possible suffix. - -local context suffix option - -option=$1 -shift -suffix=$1 -shift - -while true; do - context=":mime:.${suffix}:" - zstyle $option $context "$@" && return 0 - if [[ $suffix = *.* ]]; then - suffix=${suffix#*.} - else - break - fi -done - -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-handler b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-handler deleted file mode 100644 index 288a0796..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-handler +++ /dev/null @@ -1,323 +0,0 @@ -# Handler for MIME types using associative arrays -# zsh_mime_handlers and zsh_mime_flags set up by zsh-mime-setup. -# -# The only flags it handles are copiousoutput and needsterminal. -# copiousoutput is assumed to imply needsterminal. Apart from -# those, it tries to be a bit cunning about quoting, which -# can be a nightmare in MIME handling. If it sees something like -# netscape %s -# and it only has one file to handle (the usual case) then it will handle it -# internally just by appending a file. -# -# Anything else is handled by passing to sh -c, which is the only think -# with a high probability of working. If it sees something with -# quotes, e.g. -# /usr/bin/links "%s" -# it will assume someone else has tried to fix the quoting problem and not -# do that. If it sees something with no quotes but other metacharacters, -# e.g. -# cat %s | handler -# then it will do any quoting and pass the result to sh -c. -# So for example if the argument is "My File", the command executed -# is supposedly -# sh -c 'cat My\ File | handler' -# -# This note is mostly here so you can work out what I tried to do when -# it goes horribly wrong. - -local autocd -[[ -o autocd ]] && autocd=autocd - -emulate -L zsh -setopt extendedglob cbases nullglob $autocd - -# We need zformat from zsh/zutil for %s replacement. -zmodload -i zsh/zutil - -autoload -Uz zsh-mime-contexts - -# Look for options. Because of the way this is usually invoked, -# (there is always a command to be handled), only handle options -# up to second last argument. -local opt -integer list -while (( $# - $OPTIND > 0 )); do - if getopts "l" opt; then - case $opt in - (l) - list=1 - ;; - - (*) - return 1 - ;; - esac - else - break - fi -done -shift $(( OPTIND - 1 )) - -# Always called with a filename argument first. -# There might be other arguments; don't really know what to do -# with these, but if they came from e.g. `*.ps' then we might -# just as well pass them all down. However, we just take the -# suffix from the first since that's what invoked us via suffix -s. - -local suffix s -local -a match mbegin mend - -suffix=${1:t} -if [[ $suffix != *.* ]]; then - "No suffix in command: $1" >&2 - return 1 -fi -suffix=${suffix#*.} - -local handler flags no_sh no_bg arg bg_flag="&" -integer i -local -a exec_asis hand_nonex exec_never - -# Set to a list of patterns which are ignored and executed as they are, -# despite being called for interpretation by the mime handler. -# Defaults to executable files, which ensures that they are executed as -# they are, even if they have a suffix. -zsh-mime-contexts -a $suffix execute-as-is exec_asis || exec_asis=('*(*)' '*(/)') -zsh-mime-contexts -a $suffix execute-never exec_never - -# Set to a list of patterns for which the handler will be used even -# if the file doesn't exist on the disk. -zsh-mime-contexts -a $suffix handle-nonexistent hand_nonex || - hand_nonex=('[[:alpha:]]#:/*') - -# Set to true if the job should be disowned. -zsh-mime-contexts -t $suffix disown && bg_flag="&!" - -local pattern -local -a files - -# Search some path for the file, if required. -# We do this before any other tests that need to find the -# actual file or its directory. -local dir -local -a filepath -if zsh-mime-contexts -t $suffix find-file-in-path && [[ $1 != /* ]] && - [[ $1 != */* || -o pathdirs ]]; then - zsh-mime-contexts -a $suffix file-path filepath || filepath=($path) - for dir in $filepath; do - if [[ -e $dir/$1 ]]; then - 1=$dir/$1 - break - fi - done -fi - -# In case the pattern contains glob qualifiers, as it does by default, -# we need to do real globbing, not just pattern matching. -# The strategy is to glob the files in the directory using the -# pattern and see if the one we've been passed is in the list. -local dirpref=${1%/*} -if [[ $dirpref = $1 ]]; then - dirpref= -else - dirpref+=/ -fi - -for pattern in $exec_asis; do - files=(${dirpref}${~pattern}) - if [[ -n ${files[(r)$1]} ]]; then - for pattern in $exec_never; do - [[ ${1:P} = ${~pattern} ]] && break 2 - done - if (( list )); then - for (( i = 1; i <= $#; i++ )); do - (( i == 1 )) || print -n " " - arg=${argv[i]} - if [[ -n $arg ]]; then - print -rn -- ${(q)arg} - else - print "''" - fi - done - print - else - "$@" - fi - return - fi -done - -if [[ ! -e $1 ]]; then - local nonex_ok - for pattern in $hand_nonex; do - if [[ $1 = ${~pattern} ]]; then - nonex_ok=1 - break - fi - done - if [[ -z $nonex_ok ]]; then - if (( list )); then - print -r -- "${(q)@}" - else - "$@" - fi - return - fi -fi - -if ! zsh-mime-contexts -s $suffix handler handler; then - # Look for handler starting with longest suffix match. - # Typically we'd only get a match for the shortest, but don't assume so. - s=$suffix - while true; do - handler="${zsh_mime_handlers[$s]}" - if [[ -n $handler ]]; then - break - fi - if [[ $s = *.* ]]; then - s=${s#*.} - else - break - fi - done - if [[ -z $handler ]]; then - if [[ $suffix = *.* ]]; then - print "No handler specified for suffix .$suffix or any final part" >&2 - else - print "No handler specified for suffix .$suffix" >&2 - fi - return 1 - fi -fi -if ! zsh-mime-contexts -s $suffix flags flags; then - # Same again for flags. - s=$suffix - while true; do - flags="${zsh_mime_flags[$suffix]}" - if [[ -n $flags ]]; then - break - fi - if [[ $s = *.* ]]; then - s=${s#*.} - else - break - fi - done -fi - -# Set to yes if we use eval instead of sh -c for complicated mailcap lines -# Can possibly break some mailcap entries which expect sh compatibility, -# but is faster, as a new process is not spawned. -zsh-mime-contexts -t $suffix current-shell && no_sh=yes - -# Set to yes if the process shouldn't be backgrounded even if it doesn't need a -# terminal and display is set. -zsh-mime-contexts -t $suffix never-background && no_bg=yes - -local hasmeta stdin - -# See if the handler has shell metacharacters in. -# Don't count whitespace since we can split that when it's unquoted. -if [[ $handler = *[\\\;\*\?\|\"\'\`\$]* ]]; then - hasmeta=1 -fi - -local -a execargs files - -if [[ $handler = *%s* ]]; then - # We need to replace %s with the file(s). - local command - if [[ -n $hasmeta || $# -gt 1 ]]; then - # The handler is complicated, either due to special - # characters or multiple files. We are going to pass it - # down to sh, since it's probably written for sh syntax. - # - # See if it's a good idea to quote the filename(s). - # It isn't if there are already quotes in the handler, since - # that means somebody already tried to take account of that. - if [[ $handler = *[\'\"]* ]]; then - # Probably we ought not even to handle multiple - # arguments, but at least the error message ought - # to make it obvious what's going on. - zformat -f command $handler s:"$argv[1]" - else - zformat -f command $handler s:"${(q)argv[1]}" - fi - if (( list )); then - execargs=(${(Q)${(z)command}} ${argv[1,-1]}) - elif [[ $no_sh = yes ]]; then - execargs=(eval $command) - else - execargs=(sh -c $command) - fi - else - # Simple command, one filename. - # Split and add the file without extra quoting, - # since later we will just execute the array as is. - for command in ${=handler}; do - zformat -f command $command s:"$1" - execargs+=($command) - done - fi -else - # If there's no %s, the input is supposed to come from stdin. - stdin=1 - if [[ -n $hasmeta && $no_sh != yes && list -eq 0 ]]; then - execargs=(sh -c "$handler") - else - execargs=(${=handler}) - fi -fi - -if (( list )); then - for (( i = 1; i <= ${#execargs}; i++ )); do - (( i == 1 )) || print -n " " - arg=${execargs[i]} - if [[ -n $arg ]]; then - print -rn -- ${(q)arg} - else - print -n "''" - fi - done - print - return 0 -fi - -# Now execute the command in the appropriate fashion. -if [[ $flags = *copiousoutput* ]]; then - # We need to page the output. - # Careful in case PAGER is a set of commands and arguments. - local -a pager - zsh-mime-contexts -a $suffix pager pager || pager=(${=PAGER:-more}) - if [[ -n $stdin ]]; then - cat $argv | $execargs | $pager - else - $execargs | eval ${PAGER:-more} - fi -elif [[ $no_bg = yes || $flags = *needsterminal* || -z $DISPLAY ]]; then - # Needs a terminal, so run synchronously. - # Obviously, if $DISPLAY is empty but the handler needs a - # GUI we are in trouble anyway. However, it's possible for - # the handler to be smart about this, like pick-web-browser, - # and even if it just produces an error message it's better to - # have it run synchronously. - if [[ -n $stdin ]]; then - cat $argv | $execargs - else - $execargs - fi -else - # Doesn't need a terminal and we have a $DISPLAY, so run - # it in the background. sh probably isn't smart enough to - # exec the last command in the list, but it's not a big deal. - # - # The following Rococo construction is to try to make - # the job output for the backgrounded command descriptive. - # Otherwise it's equivalent to removing the eval and all the quotes, - # including the (q) flags. - if [[ -n $stdin ]]; then - eval cat ${(q)argv} "|" ${(q)execargs} $bg_flag - else - eval ${(q)execargs} $bg_flag - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-setup b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-setup deleted file mode 100644 index 35f6e6b6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-mime-setup +++ /dev/null @@ -1,376 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - -local opt o_verbose o_list i - -autoload -Uz zsh-mime-handler - -while getopts "flv" opt; do - case $opt in - # List: show existing suffixes and their handlers then exit. - (l) - o_list=1 - ;; - - # Verbose; print diagnostics to stdout. - (v) - o_verbose=1 - ;; - - # Force; discard any existing settings before reading. - (f) - unset -m zsh_mime_\* - ;; - - (*) - [[ $opt = \? ]] || print -r "Option $opt not handled, complain" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - - -if [[ -n $o_list ]]; then - # List and return. Remember that suffixes may be overridden by styles. - # However, we require some sort of standard handler to be present, - # so we don't need to search styles for suffixes that aren't - # handled. Yet. - local list_word - local -a handlers - if (( $# )); then - handlers=(${(k)zsh_mime_handlers[(I)${(j.|.)*}]}) - else - handlers=(${(k)zsh_mime_handlers}) - fi - for suffix in ${(o)handlers}; do - zstyle -s ":mime:.$suffix:" handler list_word || - list_word=${zsh_mime_handlers[$suffix]} - print ${(r.10.)suffix}$list_word - zstyle -s ":mime:.$suffix:" flags list_word || - list_word=${zsh_mime_flags[$suffix]} - if [[ -n $list_word ]]; then - print " flags: $list_word" - fi - done - return 0 -fi - - -# Handler for each suffix. -(( ${+zsh_mime_handlers} )) || typeset -gA zsh_mime_handlers -# Corresponding flags, if any, for handler -(( ${+zsh_mime_flags} )) || typeset -gA zsh_mime_flags - -# Internal maps read from MIME configuration files. -# Note we don't remember the types, just the mappings from suffixes -# to handlers and their flags. -typeset -A suffix_type_map type_handler_map type_flags_map - -local -a default_type_files default_cap_files -local -a type_files cap_files array match mbegin mend -local file line type suffix exts elt flags line2 -integer ind - -default_type_files=(~/.mime.types /etc/mime.types) -default_cap_files=(~/.mailcap /etc/mailcap) - -# Customizable list of files to examine. -if zstyle -a :mime: mime-types type_files; then - while (( (ind = ${type_files[(I)+]}) > 0 )); do - type_files[$ind]=($default_type_files) - done -else - type_files=($default_type_files) -fi - -if zstyle -a :mime: mailcap cap_files; then - while (( (ind = ${cap_files[(I)+]}) > 0 )); do - cap_files[$ind]=($default_cap_files) - done -else - cap_files=($default_cap_files) -fi - -{ - mime-setup-add-type() { - local type suffix - local -a array - - type=$1 - shift - - while (( $# )); do - # `.ps' instead of `ps' has been noted - suffix=${1##.} - shift - - if [[ -z $suffix_type_map[$suffix] ]]; then - [[ -n $o_verbose ]] && - print -r "Adding type $type for $suffix" >&2 - suffix_type_map[$suffix]=$type - else - # Skip duplicates. - array=(${=suffix_type_map[$suffix]}) - if [[ ${array[(I)$type]} -eq 0 ]]; then - [[ -n $o_verbose ]] && - print -r "Appending type $type for already defined $suffix" >&2 - suffix_type_map[$suffix]+=" $type" - fi - fi - done - } - - # Loop through files to find suffixes for MIME types. - # Earlier entries take precedence, so the files need to be listed - # with the user's own first. This also means pre-existing - # values in suffix_type_map are respected. - for file in $type_files; do - [[ -r $file ]] || continue - - # For once we rely on the fact that read handles continuation - # lines ending in backslashes, i.e. there's no -r. - while read line; do - # Skip blank or comment lines. - [[ $line = [[:space:]]#(\#*|) ]] && continue - - # There are two types of line you find in MIME type files. - # The original simple sort contains the type name then suffixes - # separated by whitespace. However, Netscape insists - # on adding lines with backslash continuation with - # key="value" pairs. So we'd better handle both. - if [[ $line = *=* ]]; then - # Gory. - # This relies on the fact that a typical entry: - # type=video/x-mpeg2 desc="MPEG2 Video" exts="mpv2,mp2v" - # looks like a parameter assignment. However, we really - # don't want to be screwed up by future extensions, - # so we split the elements to an array and pick out the - # ones we're interested in. - type= exts= - - # Syntactically split line to preserve quoted words. - array=(${(z)line}) - for elt in $array; do - if [[ $elt = (type|exts)=* ]]; then - eval $elt - fi - done - - # Get extensions by splitting on comma - array=(${(s.,.)exts}) - - [[ -n $type ]] && mime-setup-add-type $type $array - else - # Simple. - mime-setup-add-type ${=line} - fi - done <$file - done -} always { - unfunction mime-setup-add-type >&/dev/null -} - -local -a pats_prio o_prios -local o_overwrite sentinel -typeset -A type_prio_flags_map type_prio_src_map type_prio_mprio_map -integer src_id prio mprio - -# A list of keywords indicating the methods used to break ties amongst multiple -# entries. The following keywords are accepted: -# files: The order of files read: Entries from files read earlier are preferred -# (The default value of the variable is a list with this keyword alone) -# priority: The priority flag is matched in the entry. Can be a value from 0 to -# 9. The default priority is 5. Higher priorities are preferred. -# flags: See the mailcap-prio-flags option -# place: Always overrides. Useful for specifying that entries read later are -# preferred. -# -# As the program reads mailcap entries, if it encounters a duplicate -# entry, each of the keywords in the list are checked to see if the new -# entry can override the existing entry. If none of the keywords are able -# to decide whether the new entry should be preferred to the older one, the -# new entry is discarded. -zstyle -a :mime: mailcap-priorities o_prios || o_prios=(files) - -# This style is used as an argument for the flags test in mailcap-priorities. -# This is a list of patterns, each of which is tested against the flags for the -# mailcap entry. An match with a pattern ahead in the list is preferred as -# opposed to a match later in the list. An unmatched item is least preferred. -zstyle -a :mime: mailcap-prio-flags pats_prio - -# Loop through files to find handlers for types. -((src_id = 0)) -for file in $cap_files; do - [[ -r $file ]] || continue - - ((src_id = src_id + 1)) - # Oh, great. We need to preserve backslashes inside the line, - # but need to manage continuation lines. - while read -r line; do - # Skip blank or comment lines. - [[ $line = [[:space:]]#(\#*|) ]] && continue - - while [[ $line = (#b)(*)\\ ]]; do - line=$match[1] - read -r line2 || break - line+=$line2 - done - - # Guess what, this file has a completely different format. - # See mailcap(4). - # The biggest unpleasantness here is that the fields are - # delimited by semicolons, but the command field, which - # is the one we want to extract, may itself contain backslashed - # semicolons. - if [[ $line = (#b)[[:space:]]#([^[:space:]\;]##)[[:space:]]#\;(*) ]] - then - # this is the only form we can handle, but there's no point - # issuing a warning for other forms. - type=$match[1] - line=$match[2] - # See if it has flags after the command. - if [[ $line = (#b)(([^\;\\]|\\\;|\\[^\;])#)\;(*) ]]; then - line=$match[1] - flags=$match[3] - else - flags= - fi - # Remove quotes from semicolons - line=${line//\\\;/\;} - # and remove any surrounding white space --- this might - # make the handler empty. - line=${${line##[[:space:]]#}%%[[:space:]]} - - ((prio = 0)) - for i in $pats_prio; do - # print -r "Comparing $i with '$flags'" >&2 - [[ $flags = ${~i} ]] && break - # print -r "Comparison failed" >&2 - ((prio = prio + 1)) - done - ((mprio=5)) - [[ $flags = (#b)*priority=([0-9])* ]] && mprio=$match[1] - sentinel=no - if [[ -n $type_handler_map[$type] ]]; then - for i in $o_prios; do - case $i in - (files) - if [[ $src_id -lt $type_prio_src_map[$type] ]]; then - sentinel=yes; break - elif [[ $src_id -gt $type_prio_src_map[$type] ]]; then - sentinel=no; break - fi - ;; - (priority) - if [[ $mprio -gt $type_prio_mprio_map[$type] ]]; then - sentinel=yes; break - elif [[ $mprio -lt $type_prio_mprio_map[$type] ]]; then - sentinel=no; break - fi - ;; - (flags) - if [[ $prio -lt $type_prio_flags_map[$type] ]]; then - sentinel=yes; break - elif [[ $prio -gt $type_prio_flags_map[$type] ]]; then - sentinel=no; break - fi - ;; - (place) - sentinel=yes - break - ;; - esac - done - else - sentinel=yes - fi - - if [[ $sentinel = yes ]]; then - if [[ -n $o_verbose ]]; then - if [[ -n $type_handler_map[$type] ]]; then - print -r "Overriding" >&2 - else - print -r "Adding" >&2 - fi - print -r " handler for type $type:" >&2 - print -r " $line" >&2 - fi - type_handler_map[$type]=$line - type_flags_map[$type]=$flags - type_prio_src_map[$type]=$src_id - type_prio_flags_map[$type]=$prio - type_prio_mprio_map[$type]=$mprio - if [[ -n $flags && -n $o_verbose ]]; then - print -r " with flags $flags" >&2 - fi - elif [[ -n $o_verbose ]]; then - print -r "Skipping handler for already defined type $type:" >&2 - print -r " $line" >&2 - if [[ -n $flags ]]; then - print -r " with flags $flags" >&2 - fi - fi - fi - done <$file -done - - -# Check for styles which override whatever is in the file. -# We need to make sure there is a handler set up; for some -# uses we may need to defer checking styles until zsh-mime-handler. -# How much we need to do here is a moot point. -zstyle -L | while read line; do - array=(${(Q)${(z)line}}) - if [[ $array[3] = (handler|flags) && \ - $array[2] = (#b):mime:.([^:]##):(*) ]]; then - suffix=$match[1] - # Make sure there is a suffix alias set up for this. - alias -s $suffix >&/dev/null || alias -s $suffix=zsh-mime-handler - # Also for upper case variant - alias -s ${(U)suffix} >&/dev/null || alias -s ${(U)suffix}=zsh-mime-handler - fi -done - -# Now associate the suffixes directly with handlers. -# We just look for the first one with a handler. -# If there is no handler, we don't bother registering an alias -# for the suffix. - -for suffix line in ${(kv)suffix_type_map}; do - # Skip if we already have a handler. - [[ -n $zsh_mime_handlers[$suffix] ]] && continue - - # Split the space-separated list of types. - array=(${=line}) - - # Find the first type with a handler. - line2= - for type in $array; do - line2=${type_handler_map[$type]} - [[ -n $line2 ]] && break - done - - # See if there is a generic type/* handler. - # TODO: do we need to consider other forms of wildcard? - if [[ -z $line2 ]]; then - for type in $array; do - type="${type%%/*}/*" - line2=${type_handler_map[$type]} - [[ -n $line2 ]] && break - done - fi - - if [[ -n $line2 ]]; then - # Found a type with a handler. - # Install the zsh handler as an alias, but never override - # existing suffix handling. - alias -s $suffix >&/dev/null || alias -s $suffix=zsh-mime-handler - alias -s ${(U)suffix} >&/dev/null || alias -s ${(U)suffix}=zsh-mime-handler - - zsh_mime_handlers[$suffix]=$line2 - zsh_mime_flags[$suffix]=$type_flags_map[$type] - fi -done - -true diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-newuser-install b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-newuser-install deleted file mode 100644 index 9e911d07..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh-newuser-install +++ /dev/null @@ -1,1119 +0,0 @@ -# Function to install startup files for a new user. -# Currently it only creates or edits .zshrc. -# -# It can be run again by giving it the option "-f". - -# Sanitize environment. -emulate -L zsh -setopt extendedglob nonomatch warncreateglobal - -# How the function will be referred to. -local myname=zsh-newuser-install - -# Quick test not requiring any setting up. -# Don't run if we're root. (These variables are provided by the shell.) -if (( EUID == 0 || UID == 0 )); then - if [[ $1 = -f ]]; then - print -r "$myname: won't run as root. Read the manual." >&2 - fi - return 1 -fi - -# clear is missing in some Cygwin configurations (lacking ncurses) -if ! ( clear >/dev/null 2>/dev/null ); then - if zmodload zsh/termcap 2>/dev/null; then - clear() { echotc cl; } - else - clear() { print -n "\e[H\e[J"; } - fi -fi - -# The directory in which to look for and save .zshrc. -local zd=${ZDOTDIR:-$HOME} -# The same directory in a user friendly form, i.e. with ~ replacement. -# (We don't want to use glob_subst since that has other side effects.) -local zdmsg -# The message used if an other blank .zshrc is created. -local msg="# Created by newuser for $ZSH_VERSION" -# The lines marking the start and end of the section edited. -local startline="# Lines configured by $myname" -local endline="# End of lines configured by $myname" -# Prompts used for reading a key. The initial "?" is required. -local shortprompt="?--- Type a key --- " -local longprompt="?--- Type one of the keys in parentheses --- " -# Prefix for all temporary files. Any files starting with this -# will be removed at the end of the script. -local tmpfile=${TMPPREFIX:-/tmp/zsh}-zni-$$ -# Report of the state of settings for the top-level menu. -local -A install_state -# Values of all parameters etc. to be saved (including -# those read in from the existing file.) -local -A parsed_parameters parsed_options parsed_bindings parsed_keymaps -# Corresponding state in a user-readable form. -local -A state_parameters state_options state_bindings state_keymaps -# Indicate whether an option defaults on or off. -local -A default_options -# Lines read in from between $startline and $endline which were -# not understood. These are retained but moved out of that section -# with a message. -local -a unparsed -# Lines used in submenus: the setting to output in a form -# that can be exeucuted (an assignment, setopt or unsetopt), a brief message -# about the setting, and the state copied from and to state_parameters or -# state_options. Elements of all three arrays must correspond. -local -a output_lines display_lines state_lines -# Variable indicating some of the lines in the above variables -# have been read in, i.e. the user has already configured the -# particular set of settings. -integer lines_read -# Lines to set up completion. This is special as it is only -# edited by compinstall, not this function. -local -a completion_lines -# Utility variables -local -a reply match mbegin mend -# Key read from user, used all over the place. -local key -# For default replies from read -local REPLY -integer save lines_found - -install_state[history]=Recommended -install_state[completion]=Recommended -install_state[bindkey]=Recommended - -# Don't save anything if interrupted. -trap 'save=0' HUP INT QUIT - -# Substitute an initial ~ for human consumption. -if [[ $zd = $HOME(#b)(|/*) ]]; then - zdmsg="~$match[1]" -else - zdmsg=$zd -fi - -# Don't run if we can't write to $zd. -# Assume this is a temporary condition and exit silently--- -# if this really is a new user this probably isn't the right -# time for screeds of explanation. -if [[ ! -w $zd ]]; then - if [[ $1 = -f ]]; then - print -r "$myname: can't write to $zdmsg." >&2 - fi - return 1 -fi - -# Don't run unless we can talk to the user. -if [[ ! -t 0 || ! -t 1 ]]; then - if [[ $1 = -f ]]; then - print -r "$myname: can only be used interactively." >&2 - fi - return 1 -fi - -# Don't run unless terminal is sane. -if (( ${LINES:-0} < 15 || ${COLUMNS:-0} < 72 )); then - return 1 -fi - -if [[ $1 != -f ]]; then - # The zsh/newuser module already tests for the following, so this test only - # triggers if zsh-newuser-install is run by hand. - if [[ -e $zd/.zshenv || -e $zd/.zprofile || \ - -e $zd/.zshrc || -e $zd/.zlogin ]]; then - print -r "$myname: startup files exist, aborting. - -Use the argument -f if you want to force the function to be run again." >&2 - return 1 - fi -fi - -# start of try block for tidy-up in always block -{ - -######################################################################## -# Utility functions -######################################################################## - -# All internal functions start with __zni_. These will be removed -# when the main function exits. - -# Read existing lines from .zshrc, if any. -__zni_retrieve_lines() { - local line - - reply=() - - lines_found=0 - - [[ -f $zd/.zshrc ]] || return 1 - - grep "$startline" $zd/.zshrc 1>/dev/null 2>&1 || return 1 - - lines_found=1 - - sed -n "/^[ ]*$startline/,/^[ ]*$endline/p" $zd/.zshrc | - while read -r line; do - reply+=($line) - done - - return 0 -} - - -# First argument is a state; other arguments are lines -# to parse. They should either contain single assignments or -# setopt or unsetopt statements. The state for each parameter -# or option so parsed is set to the value given by the first argument. -__zni_parse_lines() { - local line opt warned first - local -a args - local state=$1 - - shift - - for line in "$@"; do - case $line in - ((#b)[[:blank:]]#([[:IDENT:]]##)=(*)) - parsed_parameters[$match[1]]=$match[2] - state_parameters[$match[1]]=$state - ;; - - ((#b)[[:blank:]]#(un|)setopt[[:blank:]]##(*)) - # TBD: handle setopt noX / unsetopt X - for opt in ${=match[2]}; do - opt=${${opt//(#m)[[:upper:]]/${(L)MATCH}}//_} - if [[ $match[1] = un ]]; then - parsed_options[$opt]=off - else - parsed_options[$opt]=on - fi - state_options[$opt]=$state - done - ;; - - ((#b)[[:blank:]]#bindkey[[:blank:]]##(*)) - args=(${(z)match[1]}) - # store keys unquoted: will need quoting for output. - first=${(Q)args[1]} - shift args - if [[ $first = -[ev] && ${#args} -eq 0 ]]; then - case $first in - (-e) - parsed_keymaps[main]=emacs - ;; - - (-v) - parsed_keymaps[main]=vi - ;; - esac - state_keymaps[main]=$state - else - # TODO: handling keymap options - parsed_bindings[first]=${args[2,-1]} - state_bindings[first]=$state - fi - ;; - - ([[:blank:]]#($startline|$endline|)) - ;; - - (*) - unparsed+=($line) - print -r "WARNING: failed to understand line: - $line -which will be retained but not edited." - warned=1 - ;; - esac - done - - if [[ -n $warned ]]; then - read -k key$shortprompt - fi -} - -# Apply defaults. Arguments in the form -# -p parameter_name default_value description -# ... -# -o option_name default=on|off description -# ... -# Options on by default should begin !, e.g. !nomatch. They -# will still appear under the base option but with an indication that -# the default is on. The default applies to the base option. Hack, sorry. -# -b bindkey_string default_value description -# ... -# -B default_keymap=emacs|vi|none description -# -# They're not really defaults (they're not the same as the -# builtin defaults), so the description output is "not yet saved". -# -# All variables to be edited in this section must be mentioned, -# though defaults can be blank in which case nothing will be -# saved unless the variable is set by the user. The description -# is then "no value set". -# -# -B is a bit strange: it's simply designed to allow the user to -# select "bindkey -e" for Emacs or "bindkey -v" for vi. It only -# takes a single argument. Real key bindings use -b. -# -# This operation transfers some subset of settings from the parsed_* -# and state_* variables to the *_lines variables for editing. -__zni_apply_defaults() { - local un suf - - # Reset the lines to be edited. - state_lines=() - display_lines=() - output_lines=() - lines_read=0 - - case $1 in - (-p) - shift - while [[ $# -gt 0 && $1 != -* ]]; do - # skip default if it was read in - if [[ -z $state_parameters[$1] ]]; then - parsed_parameters[$1]=$2 - if [[ -n $2 ]]; then - state_parameters[$1]="not yet saved" - else - state_parameters[$1]="no value set" - fi - elif [[ $state_parameters[$1] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_parameters[$1]) - display_lines+=("$3") - output_lines+=("$1=$parsed_parameters[$1]") - - shift 3 - done - ;; - - (-o) - shift - while [[ $# -gt 0 && $1 != -* ]]; do - # skip default if there was a setting - if [[ $1 != ${1##!} ]]; then - argv[1]=${1##!} - default_options[$1]=on - else - default_options[$1]=off - fi - if [[ -z $state_options[$1] ]]; then - parsed_options[$1]=$2 - if [[ -n $2 ]]; then - state_options[$1]="not yet saved" - else - state_options[$1]="no value set" - fi - elif [[ $state_options[$1] = saved ]]; then - (( lines_read++ )) - fi - if [[ $parsed_options[$1] = on ]]; then - un= - suf= - elif [[ -z $parsed_options[$1] && $default_options[$1] = on ]] - then - un= - suf=", default on" - else - # display as unsetopt even if no value to save yet - un=un - suf= - fi - state_lines+=("$state_options[$1]$suf") - display_lines+=("$3") - output_lines+=("${un}setopt $1") - - shift 3 - done - ;; - - (-b) - shift - # this will barf on bindings beginning -; there's no good - # reason to rebind that, even in vi command mode, so perhaps - # we just add it to the sanity checks when we get around to them. - while [[ $# -gt 0 && $1 != -* ]]; do - if [[ -z $state_bindings[$1] ]]; then - parsed_bindings[$1]=$2 - if [[ -n $2 ]]; then - state_bindings[$1]="not yet saved" - else - state_bindings[$1]="no value set" - fi - elif [[ $state_bindings[$1] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_bindings[$1]) - display_lines+=("$3") - output_lines+=("bindkey ${(qq)1}${2:+ $2}") - - shift 3 - done - ;; - - (-B) - shift - if [[ -z $state_keymaps[main] ]]; then - parsed_keymaps[main]=$1 - if [[ $1 = none ]]; then - state_keymaps[main]="no value set" - else - state_keymaps[main]="not yet saved" - fi - elif [[ $state_keymaps[main] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_keymaps[main]) - display_lines+=("$2") - # display as -e even if no value to save yet - if [[ $parsed_keymaps[main] = vi ]]; then - output_lines+=("bindkey -v") - else - output_lines+=("bindkey -e") - fi - - shift 2 - ;; - esac -} - - -# Display and edit the settings given by the set of *_lines arrays. -# If requested by the user, apply the settings, updating the -# parsed_* and state_* variables. -__zni_display_and_edit() { - integer i changes - local default edval ldisp rdisp - local -a states displays outputs tstval - - states=("${state_lines[@]}") - displays=("${display_lines[@]}") - outputs=("${output_lines[@]}") - - if [[ -n ${states[(r)not yet saved]} ]]; then - # default should be installed, unless user says otherwise - (( changes++ )) - fi - - while true; do - clear - print -r $1 - # snicker... - print -r ${(l.${#1}..=.):-} - print - if (( $# > 1 )); then - print -rl $argv[2,-1] - print - fi - - # Output each setting with a description and state. - for (( i = 1; i <= ${#output_lines}; i++ )); do - default=${states[$i]%%,*} - if [[ $default = ("no value set"|"not to be saved"*) ]]; then - ldisp="# $outputs[$i]" - else - ldisp=$outputs[$i] - fi - rdisp=${default:+($default)} - print -r "# ($i) $displays[$i] -$ldisp${(l.$COLUMNS-${#ldisp}-${#rdisp}-1.):-}$rdisp" - done - - if (( changes )); then - print -r " -# (0) Remember edits and return to main menu (does not save file yet) -# (q) Abandon edits and return to main menu -" - else - print -r " -# (0) or (q) Return to main menu (no changes made yet) -" - fi - read -k key$longprompt - print - - if [[ $key = <-> && $key -ge 1 && $key -le ${#outputs} ]]; then - (( i = key )) - case $outputs[$i] in - ((#b)(|un)setopt' '(*)) - # Try to locate the appropriate section in the manual. - # I personally have no wish whatsoever to make this - # use sed or awk. Suggestions welcome. - if [[ -s $tmpfile-man-options ]]; then - perl -ne 's/^(\s*)([A-Z]+)_?([A-Z]*)_?([A-Z]*)(\s*\(.+\)|\s*\<.+\>)*\s*$/\L$1$2$3$4\n/ and "'$match[2]'" =~ /^(|no)\L$2$3$4$/ and $print = 1 and next; next unless $print; exit if /^\s*$/; print; ' <$tmpfile-man-options >$tmpfile-man 2>/dev/null - else - rm -f $tmpfile-man - fi - while true; do - clear - if [[ -s $tmpfile-man ]]; then - read <$tmpfile-man - print "Option $match[2]:" - cat $tmpfile-man - print - else - print "Option $match[2]: $displays[$i]" - fi - print "The option $match[2] is currently ${match[1]:+un}set. -Type: - (s) to set it (turn it on) - (u) to unset it (turn it off) - (n) neither to set or unset it (use shell default: \ -$default_options[$match[2]]) - (k) or (q) to keep the current setting:" - read -k key$shortprompt - print - - case $key in - (s) - (( changes++ )) - outputs[$i]="setopt $match[2]" - states[$i]="set but not saved" - ;; - - (u) - (( changes++ )) - outputs[$i]="unsetopt $match[2]" - states[$i]="set but not saved" - ;; - - (n) - (( changes++ )) - outputs[$i]="unsetopt $match[2]" - states[$i]="no value set" - ;; - - ([kq]) - ;; - - (*) - continue - ;; - esac - break; - done - ;; - - ((#b)([^=]##)=(*)) - if [[ -s $tmpfile-man-param ]]; then - perl -ne 's/^(\s*)([A-Z]+)(\s*\<.+\>)*\s*$/$1$2\n/ and "$2" eq "'$match[1]'" and $print = 1; next unless $print; exit if /^\s*$/; print;' <$tmpfile-man-param >$tmpfile-man 2>/dev/null - else - rm -f $tmpfile-man - fi - if [[ -s $tmpfile-man ]]; then - print -n Variable - cat $tmpfile-man - print - else - print -r "Variable ${match[1]}: $displays[$i]" - fi - print -r "Edit a value. If it is left blank, nothing will be saved:" - edval=$match[2] - if vared -M emacs -p "$match[1]> " -h edval; then - # check this assignment doesn't produce multiple words - # e.g. "HISTFILE=never rm -f ~" does produce multiple words... - # this isn't perfect, e.g. "(this would get split on assignment)", - # but that's fairly benign. - tstval=(${=edval}) - if (( ${#tstval} > 1 )); then - print "Error: value isn't a single word. -Use quotes or backslashes if your value contains spaces. -Note that you shouldn't quote an initial ~ in file names." >&2 - read -k key$shortprompt - # now check the assignment works... - # don't suppress any errors, they may be useful. - # this means we need to suppress warncreateglobal. - elif ! ( typeset -g $match[1]; eval "$match[1]=$edval" ); then - print "Error: bad shell syntax in value. -The value will be assigned to the variable exactly as you enter it. -Make sure all quotes are paired." >&2 - read -k key$shortprompt - else - outputs[$i]="$match[1]=$edval" - if [[ -n $edval ]]; then - states[$i]="set but not saved" - else - states[$i]="no value set" - fi - (( changes++ )) - fi - else - read -k key'?--- Edit abandoned, type a key --- ' - fi - ;; - - (bindkey' '-[ev]) - while true; do - print -nr "Pick a keymap (set of keys) to use when editing. -Type: - (e) for Emacs keymap (recommended unless you are vi user) - (v) for Vi keymap - (n) not to set a keymap (allow shell to choose) - (k) to keep the current setting, " - if [[ ${state_lines[$i]%%,*} = ("no value set"|"not to be saved") ]] - then - print -r "(n):" - elif [[ $output_lines[$i] = *-v ]]; then - print -r "(v):" - else - print -r "(e):" - fi - read -k key$longprompt - case $key in - (e) - (( changes++ )) - outputs[$i]="bindkey -e" - states[$i]="set but not saved" - ;; - - (v) - (( changes++ )) - outputs[$i]="bindkey -v" - states[$i]="set but not saved" - ;; - - (n) - (( changes++ )) - outputs[$i]="bindkey -e" - states[$i]="not to be saved" - ;; - - (k) - ;; - - (*) - continue - ;; - esac - break - done - ;; - - (bindkey' '*) - # TODO: this needs writing. We need to be able to read - # keys and translate them, sanity check them, and ideally - # handle keymaps, at least vi command and insert. - ;; - - (*) - print "*** Internal error: bad setting '$outputs[$i]' ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - ;; - esac - elif [[ $key = 0 ]]; then - # Update the *_lines variables - state_lines=("${states[@]}") - display_lines=("${displays[@]}") - output_lines=("${outputs[@]}") - - # Also save any lines suitably marked to parsed_* and state_* - # by rerunning __zni_parse_lines on each such line. - for (( i = 1; i <= ${#output_lines}; i++ )); do - if [[ ${state_lines[$i]%%,*} = \ - ("set but not saved"|"not to be saved"|"not yet saved") ]] - then - __zni_parse_lines ${state_lines[$i]%%,*} $output_lines[$i] - fi - done - - return $(( changes == 0 )) - elif [[ $key = [qQ] ]]; then - return 1 - fi - done -} - - -# Print and dispatch a submenu. -# The first argument is the title. The remaining arguments -# are pairs of descriptions and functions to execute. -# There shouldn't be more than 9 entries. -# The usual entries 0 and q are added automatically. -__zni_submenu() { - local title=$1 - local desc func - local -a descs funcs - integer i - - shift - - clear - print -r $title - print -r ${(l.${#title}..=.):-} - - for desc func; do - if [[ -z $func ]]; then - print "*** Internal error: bad argument set for __zni_submenu ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - return 1 - fi - - descs+=($desc) - funcs+=($func) - done - - while true; do - for (( i = 1; i <= ${#descs}; i++ )); do - print -r " -($i) $descs[$i]" - done - print -r " -(0) or (q) Return to previous menu" - - read -k key$longprompt - - if [[ $key = [0qQ] ]]; then - return 1 - elif (( key >= 1 && key <= ${#funcs} )); then - $funcs[$key] - fi - done -} - - -# Save all values that have been edited to .zshrc. -__zni_save() { - local key optline newline - local -a on_opts off_opts lines lines2 - integer i - - # Record lines containing parameter settings, sorted. - for key in ${(ok)parsed_parameters}; do - if [[ $state_parameters[$key] != ("no value set"|"not to be saved") ]] - then - lines+=("$key=$parsed_parameters[$key]") - fi - done - - # Search through sorted options, make list of those to - # be turned on and off. Those marked "no value set" aren't - # to be output. - for key in ${(ok)parsed_options}; do - if [[ $state_options[$key] != ("no value set"|"not to be saved") ]]; then - if [[ $parsed_options[$key] = on ]]; then - on_opts+=($key) - else - off_opts+=($key) - fi - fi - done - - # Construct lines of options to turn on, keeping them short. - optline="setopt" - for (( i = 1; i <= ${#on_opts}; i++ )); do - newline="$optline $on_opts[$i]" - if [[ ${#newline} -ge 72 ]]; then - lines+=($optline) - optline="setopt $on_opts[$i]" - else - optline=$newline - fi - if (( i == ${#on_opts} )); then - lines+=($optline) - fi - done - - # Construct lines of options to turn off, keeping them short. - optline="unsetopt" - for (( i = 1; i <= ${#off_opts}; i++ )); do - newline="$optline $off_opts[$i]" - if [[ ${#newline} -ge 72 ]]; then - lines+=($optline) - optline="unsetopt $off_opts[$i]" - else - optline=$newline - fi - if (( i == ${#off_opts} )); then - lines+=($optline) - fi - done - - # Construct lines of bindkey commands. First the keymap. - if [[ $state_keymaps[main] != (|"no value set"|"not to be saved") ]]; then - case $parsed_keymaps[main] in - (emacs) - lines+=("bindkey -e") - ;; - - (vi) - lines+=("bindkey -v") - ;; - - (none) - ;; - - (*) - print -r "\ -*** Internal error: bad type $parsed_keymaps[main] for keymap ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - ;; - esac - fi - # Now bindings. - for key in ${(ok)parsed_bindings}; do - if [[ $state_bindings[$key] != ("no value set"|"not to be saved") ]]; then - lines+=("bindkey ${(qq)key} ${parsed_bindings[$key]}") - fi - done - - # Save the lines with a start and end marker to a temporary file. - print -rl $startline $lines $endline >$tmpfile - - if (( ${#unparsed} )); then - print "# The following lines were read by $myname. -# They were moved here as they could not be understood. -# $(date) -${(F)unparsed} -# End of lines moved by $myname." >>$tmpfile - fi - - if grep "$startline" $zd/.zshrc 1>/dev/null 2>&1; then - # Found the start line; replace the section. - # We could this by reading the lines in zsh, but in case - # the .zshrc is huge it's perhaps better to use sed. - sed -e "/^[ ]*$endline/r $tmpfile -/^[ ]*$startline/,/^[ ]*$endline/d" $zd/.zshrc >${tmpfile}.repl && - cp ${tmpfile}.repl $zd/.zshrc - else - # No current start marker; just append. - cat $tmpfile >>$zd/.zshrc - fi -} - - -######################################################################## -# Specific configurations -######################################################################## - -__zni_history_config() { - __zni_apply_defaults -p \ - HISTSIZE 1000 "Number of lines of history kept within the shell." \ - HISTFILE $zdmsg/.histfile "File where history is saved." \ - SAVEHIST 1000 "Number of lines of history to save to \$HISTFILE." - - if __zni_display_and_edit "History configuration"; then - install_state[history]="Unsaved changes" - save=1 - fi -} - - -__zni_completion_config() { - autoload -Uz compinstall - if compinstall -d; then - print "The completion system has already been activated. -You can run the configuration tool (compinstall) at any time by typing - autoload -Uz compinstall - compinstall -Do you wish to run it now [y/n]?" - read -k key$shortprompt - if [[ $key = [yY] ]]; then - compinstall - fi - print - else - while true; do - clear - print "The new completion system (compsys) allows you to complete -commands, arguments and special shell syntax such as variables. It provides -completions for a wide range of commonly used commands in most cases simply -by typing the TAB key. Documentation is in the zshcompsys manual page. -If it is not turned on, only a few simple completions such as filenames -are available but the time to start the shell is slightly shorter. - -You can: - (1) Turn on completion with the default options. - - (2) Run the configuration tool (compinstall). You can also run - this from the command line with the following commands: - autoload -Uz compinstall - compinstall - if you don't want to configure completion now. - - (0) Don't turn on completion. -" - read -k key$longprompt - case $key in - (1) - completion_lines=${(f)"$(compinstall -o)"} - install_state[completion]="Unsaved changes" - save=1 - ;; - - (2) - if compinstall; then - install_state[completion]="Configured" - # compinstall has done it's thing, so we don't need - # to write anything. - completion_lines=() - fi - ;; - - (0) - completion_lines=() - install_state[completion]="Recommended" - ;; - - (*) - continue - ;; - esac - break - done - fi -} - -__zni_bindkey_config() { - __zni_apply_defaults -B emacs "Change default editing configuration" - - if __zni_display_and_edit "Default editing configuration" \ - "The keys in the shell's line editor can be made to behave either" \ - "like Emacs or like Vi, two common Unix editors. If you have no" \ - "experience of either, Emacs is recommended. If you don't pick one," \ - "the shell will try to guess based on the EDITOR environment variable." \ - "Usually it's better to pick one explicitly."; then - install_state[bindkey]="Unsaved changes" - save=1 - fi -} - -__zni_completion_save() { - if (( ${#completion_lines} )); then - # We don't try to replace existing lines of completion configuration --- - # that's up to compinstall. We should already have tested that - # there was no existing completion set up. - print -rl $completion_lines >>$zd/.zshrc - fi -} - - -__zni_options_config() { - # when we have enough, should use: - # __zni_submenu "Common shell options" - - # This is deliberately just a tiny selection. - # Feel free to extend it, but if you do, consider using __zni_submenu. - # The "no" prefix is used to indicate options on by default. - __zni_apply_defaults -o autocd '' "Change directory given just path." \ - extendedglob '' "Use additional pattern matching features." \ - '!nomatch' '' "Unmatched patterns cause an error." \ - '!beep' '' "Beep on errors." \ - notify '' "Immediately report changes in background job status." - - if __zni_display_and_edit "Common shell options" \ - "The following are some of the shell options that are most often used." \ - "The descriptions are very brief; if you would like more information," \ - "read the zshoptions manual page (type \"man zshoptions\")."; then - install_state[options]="Unsaved changes" - save=1 - fi -} - - -######################################################################## -# Main function -######################################################################## - -# Read and parse any existing lines, in case the function -# was called again. -__zni_retrieve_lines && - __zni_parse_lines saved "$reply[@]" - -if [[ $state_parameters[HISTORY] = saved ]]; then - install_state[history]="Saved" -fi -autoload -Uz compinstall -zstyle :compinstall filename $zd/.zshrc -if compinstall -d; then - install_state[completion]="Saved" -fi - - -# skip initial screen if the function was deliberately run by the user. -if [[ $1 != -f ]]; then - clear - print -r "This is the Z Shell configuration function for new users, -$myname. -You are seeing this message because you have no zsh startup files -(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory -$zdmsg). This function can help you with a few settings that should -make your use of the shell easier. - -You can: - -(q) Quit and do nothing. The function will be run again next time." - if [[ ! -f $zd/.zshrc ]]; then - print -r " -(0) Exit, creating the file $zdmsg/.zshrc containing just a comment. - That will prevent this function being run again." - fi - print -r " -(1) Continue to the main menu. -" - if [[ -f /etc/zsh/newuser.zshrc.recommended ]]; then - print -r "(2) Populate your $zdmsg/.zshrc with the configuration recommended - by the system administrator and exit (you will need to edit - the file by hand, if so desired). -" - fi - - read -k key$longprompt - print - - case $key in - ([qQ]) - return 0 - ;; - - (0) - print -r $msg >$zd/.zshrc - return 0 - ;; - - (1) - ;; - - (2) - cp /etc/zsh/newuser.zshrc.recommended $zd/.zshrc - source $zd/.zshrc - return 0 - ;; - - (*) - print -r "Aborting." - if [[ $1 != -f ]]; then - print "\ -The function will be run again next time. To prevent this, execute: - touch $zdmsg/.zshrc" - fi - return 1 - ;; - esac -fi - - -print -r "Attempting to extract information from manual pages..." -(man zshoptions | col -b > $tmpfile-man-options; - man zshparam | col -b > $tmpfile-man-param) 2>/dev/null - -while true; do - clear - print -nr "Please pick one of the following options: - -(1) Configure settings for history, i.e. command lines remembered - and saved by the shell.\ -${install_state[history]:+ ($install_state[history].)} - -(2) " - if [[ $install_state[completion] = Recommended ]]; then - print -nr "Configure" - else - print -nr "Use" - fi - print -r " the new completion system.\ -${install_state[completion]:+ ($install_state[completion].)} - -(3) Configure how keys behave when editing command lines.\ -${install_state[bindkey]:+ ($install_state[bindkey].)} - -(4) Pick some of the more common shell options. These are simple \"on\" - or \"off\" switches controlling the shell's features. \ -${install_state[options]:+ ($install_state[options].)} -" - print -nr "(0) Exit, " - if (( save )); then - print -r "saving the new settings. They will take effect immediately." - elif [[ -f $zd/.zshrc ]]; then - print -r "leaving the existing $zdmsg/.zshrc alone." - else - print -r "creating a blank $zdmsg/.zshrc file." - fi - print -r " -(a) Abort all settings and start from scratch. Note this will overwrite - any settings from $myname already in the startup file. - It will not alter any of your other settings, however." - if [[ $1 = -f ]]; then - print -r " -(q) Quit and do nothing else." - else - print -r " -(q) Quit and do nothing else. The function will be run again next time." - fi - - read -k key$longprompt - print - - case $key in - ([qQ]) - break - ;; - - ([aA]) - parsed_parameters=() - state_parameters=() - parsed_options=() - state_options=() - parsed_keymaps=() - state_keymaps=() - parsed_bindings=() - state_bindings=() - unparsed=() - ;; - - (0) - clear - if (( save )); then - if [[ -f $zd/.zshrc ]]; then - cp $zd/.zshrc $zd/.zshrc.zni && - print -r "Copied old '$zdmsg/.zshrc' to '$zdmsg/.zshrc.zni'. -" - fi - - __zni_save - __zni_completion_save - elif [[ ! -f $zd/.zshrc ]]; then - print -r $msg >$zd/.zshrc - fi - if [[ $1 != -f ]]; then - print -r "The function will not be run in future, but you can run -it yourself as follows: - autoload -Uz $myname - $myname -f - -The code added to $zdmsg/.zshrc is marked by the lines -$startline -$endline -You should not edit anything between these lines if you intend to -run $myname again. You may, however, edit any other part -of the file." - fi - break - ;; - - (1) - __zni_history_config - ;; - - (2) - __zni_completion_config - ;; - - (3) - __zni_bindkey_config - ;; - - (4) - __zni_options_config - ;; - esac -done - -} always { - # Tidy up: always executed unless the shell is stopped dead - # in its tracks. - unfunction -m $myname __zni_\* - rm -f $tmpfile* -} diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_cdr b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_cdr deleted file mode 100644 index b653e7c3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_cdr +++ /dev/null @@ -1,26 +0,0 @@ -if [[ $1 = n ]]; then - if [[ $2 = <-> ]]; then - # Recent directory - autoload -Uz cdr - cdr -r - if [[ -n ${reply[$2]} ]]; then - typeset -ga reply=(${reply[$2]}) - return 0 - else - typeset -ga reply=() - return 1 - fi - fi -elif [[ $1 = c ]]; then - if [[ $PREFIX = <-> || -z $PREFIX ]]; then - typeset -a keys values - values=(${${(f)"$(cdr -l)"}/ ##/:}) - keys=(${values%%:*}) - local addsuffix - [[ $ISUFFIX = *\]* ]] || addsuffix='-S]' - _describe -t dir-index 'recent directory index' \ - values -V unsorted $addsuffix - return - fi -fi -return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_generic b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_generic deleted file mode 100644 index df21af59..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zsh_directory_name_generic +++ /dev/null @@ -1,158 +0,0 @@ -## zsh_directory_name_generic -# -# This function is useful as a hook function for the zsh_directory_name -# facility. -# -# See the zsh-contrib manual page for more. - -emulate -L zsh -setopt extendedglob -local -a match mbegin mend - -# The variable containing the top level mapping. -local _zdn_topvar - -zmodload -i zsh/parameter -zstyle -s ":zdn:${funcstack[2]}:" mapping _zdn_topvar || _zdn_topvar=zdn_top - -if (( ! ${(P)#_zdn_topvar} )); then - print -r -- "$0: $_zdn_topvar is not set" >&2 - return 1 -fi - -local _zdn_var=$_zdn_topvar -local -A _zdn_assoc - -if [[ $1 = n ]]; then - # Turning a name into a directory. - local _zdn_name=$2 - local -a _zdn_words - local _zdn_dir _zdn_cpt - - _zdn_words=(${(s.:.)_zdn_name}) - while (( ${#_zdn_words} )); do - if [[ -z ${_zdn_var} ]]; then - print -r -- "$0: too many components in directory name \`$_zdn_name'" >&2 - return 1 - fi - - # Subscripting (P)_zdn_var directly seems not to work. - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpt=${_zdn_assoc[${_zdn_words[1]}]} - shift _zdn_words - - if [[ -z $_zdn_cpt ]]; then - # If top level component, just try another expansion - if [[ $_zdn_var != $_zdn_topvar ]]; then - # Committed to this expansion, so report failure. - print -r -- "$0: no expansion for directory name \`$_zdn_name'" >&2 - fi - return 1 - fi - if [[ $_zdn_cpt = (#b)(*)/:([[:IDENT:]]##) ]]; then - _zdn_cpt=$match[1] - _zdn_var=$match[2] - else - # may be empty - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - _zdn_dir=${_zdn_dir:+$_zdn_dir/}$_zdn_cpt - done - if (( ${#_zdn_dir} )); then - typeset -ag reply - reply=($_zdn_dir) - return 0 - fi -elif [[ $1 = d ]]; then - # Turning a directory into a name. - local _zdn_dir=$2 - local _zdn_rest=$_zdn_dir - local -a _zdn_cpts - local _zdn_pref _zdn_pref_raw _zdn_matched _zdn_cpt _zdn_name - local _zdn_pref_matched _zdn_rest_matched - integer _zdn_matchlen _zdn_len1 - - while [[ -n $_zdn_var && -n $_zdn_rest ]]; do - _zdn_matchlen=0 - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpts=(${(Ov)_zdn_assoc}) - _zdn_cpt='' - for _zdn_pref_raw in $_zdn_cpts; do - _zdn_pref=${_zdn_pref_raw%/:*} - [[ -z $_zdn_pref ]] && continue - if [[ $_zdn_rest = $_zdn_pref(#b)(/|)(*) ]]; then - _zdn_len1=${#_zdn_pref} - if (( _zdn_len1 > _zdn_matchlen )); then - _zdn_matchlen=$_zdn_len1 - _zdn_cpt=${(k)_zdn_assoc[(r)$_zdn_pref_raw]} - # if we matched a /, too, add it... - _zdn_pref_matched=$_zdn_pref$match[1] - _zdn_rest_matched=$match[2] - fi - fi - done - if (( _zdn_matchlen )); then - _zdn_matched+=$_zdn_pref_matched - _zdn_rest=$_zdn_rest_matched - fi - if [[ -n $_zdn_cpt ]]; then - _zdn_name+=${_zdn_name:+${_zdh_name}:}$_zdn_cpt - if [[ ${_zdn_assoc[$_zdn_cpt]} = (#b)*/:([[:IDENT:]]##) ]]; then - _zdn_var=$match[1] - else - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - else - break - fi - done - if [[ -n $_zdn_name ]]; then - # matched something, so report that. - integer _zdn_len=${#_zdn_matched} - [[ $_zdn_matched[-1] = / ]] && (( _zdn_len-- )) - typeset -ag reply - reply=($_zdn_name $_zdn_len) - return 0 - fi - # else let someone else have a go. -elif [[ $1 = c ]]; then - # Completion - - if [[ -n $SUFFIX ]]; then - _message "Can't complete in the middle of a dynamic directory name" - else - local -a _zdn_cpts - local _zdn_word _zdn_cpt _zdn_desc _zdn_sofar expl - - while [[ -n ${_zdn_var} && ${PREFIX} = (#b)([^:]##):* ]]; do - _zdn_word=$match[1] - compset -P '[^:]##:' - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpt=${_zdn_assoc[$_zdn_word]} - # We only complete at the end so must match here - [[ -z $_zdn_cpt ]] && return 1 - if [[ $_zdn_cpt = (#b)(*)/:([[:IDENT:]]##) ]]; then - _zdn_cpt=$match[1] - _zdn_var=$match[2] - else - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - _zdn_sofar+=${_zdn_sofar:+${_zdn_sofar}/}$_zdn_cpt - done - if [[ -n $_zdn_var ]]; then - _zdn_assoc=(${(Pkv)_zdn_var}) - local -a _zdn_cpts - for _zdn_cpt _zdn_desc in ${(kv)_zdn_assoc}; do - [[ $_zdn_cpt = :* ]] && continue - _zdn_cpts+=(${_zdn_cpt}:${_zdn_desc%/:[[:IDENT:]]##}) - done - _describe -t dirnames "directory name under ${_zdn_sofar%%/}" \ - _zdn_cpts -S: -r ':]' - return - fi - fi -fi - -# Failed -return 1 -## end diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zstyle+ b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zstyle+ deleted file mode 100644 index 81b4f055..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/zstyle+ +++ /dev/null @@ -1,35 +0,0 @@ -# This makes defining styles a bit simpler by using a single `+' as a -# special token that allows one to append a context name to the -# previously used context name. Like this: -# -# zstyle+ ':foo:bar' style1 value1 \ -# + ':baz' style2 value2 \ -# + ':frob' style3 value3 -# -# This defines style1 with value1 for the context :foo:bar as usual. -# But it also defines styles2 with value2 for the context :foo:bar:baz -# and style3 with value3 for :foo:bar:frob. -# Of course, any of the sub-contexts after the plus signs may be -# empty strings to re-use the previous context unchanged. -# -# If you don't want to change all your calls to `zstyle' to use -# `zstyle+' you can use an alias `alias zstyle=zstyle+' and make sure -# the completion functions are autoloaded without alias expansion (the -# -U option to the autoload builtin). The completion system normally -# loads its functions with without alias expansion. - -case "$1" in --*) zstyle "$@";; - -*) setopt localoptions noksharrays - integer i - local context="$1" - 1='' - for ((i=2; $#; ++i)); do - if [[ $i -gt $# || "$argv[i]" == '+' ]]; then - zstyle "$context${(@)argv[1,i-1]}" - shift "i > $# ? $# : i" # Stupid shift error on i > $# - i=1 - fi - done;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/ztodo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/ztodo deleted file mode 100644 index 439f3c5d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/functions/ztodo +++ /dev/null @@ -1,62 +0,0 @@ -# vim: set ft=zsh et sw=2 sts=2: - -emulate -L zsh -setopt no_sh_word_split null_glob no_ksh_arrays -typeset -gHA __ztodolist -typeset -gH __ztodolastwrite -local cachefile short_format list_format -local tmp needupdate=0 -local -a todos - -zstyle -s ':ztodo:*' cache-file cachefile || - cachefile="~/.ztodolist" -zstyle -s ':ztodo:*' short-format short_format || - short_format="You have %n thing%1(n..s) to do here." -zstyle -s ':ztodo:*' list-format list_format || - list_format="%-2n: %e" - -tmp=(${~tmp::=$cachefile(ms-$(( ${(%)tmp::="%D{%s}"} - ${__ztodolastwrite:-0} )))}) -(( $#tmp )) && - . $~cachefile - -todos=( ${(ps:\0:)__ztodolist[$PWD]} ) - -if (( $# )); then - case "$1" in - (add) - shift - todos=( $todos "$*" ) - needupdate=1 - ;; - (del) - shift - todos[$1]=() - needupdate=1 - ;; - (clear) - shift - todos=() - needupdate=1 - ;; - (list) - shift - local i - for (( i = 1; i <= $#todos; i++ )); do - zformat -f tmp $list_format n:$i e:"${todos[$i]//\%/%%}" - print -P "$tmp" - done - ;; - esac -else - if [[ $#todos -gt 0 ]]; then - zformat -f tmp $short_format n:$#todos - print -P "$tmp" - fi -fi - -(( $#todos )) && - __ztodolist[$PWD]=${(pj:\0:)todos} || - unset "__ztodolist[$PWD]" -(( needupdate )) && - print -r "__ztodolist=( ${(kv@qq)^^__ztodolist} )" > ${~cachefile} -__ztodolastwrite="${(%)tmp::="%D{%s}"}" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/alias b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/alias deleted file mode 100644 index a746af24..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/alias +++ /dev/null @@ -1,48 +0,0 @@ -alias [ {+|-}gmrsL ] [ name[=value] ... ] - For each name with a corresponding value, define an alias with - that value. A trailing space in value causes the next word to - be checked for alias expansion. If the -g flag is present, de- - fine a global alias; global aliases are expanded even if they do - not occur in command position: - - % perldoc --help 2>&1 | grep 'built-in functions' - -f Search Perl built-in functions - % alias -g HG='--help 2>&1 | grep' - % perldoc HG 'built-in functions' - -f Search Perl built-in functions - - If the -s flag is present, define a suffix alias: if the command - word on a command line is in the form `text.name', where text is - any non-empty string, it is replaced by the text `value - text.name'. Note that name is treated as a literal string, not - a pattern. A trailing space in value is not special in this - case. For example, - - alias -s ps='gv --' - - will cause the command `*.ps' to be expanded to `gv -- *.ps'. - As alias expansion is carried out earlier than globbing, the - `*.ps' will then be expanded. Suffix aliases constitute a dif- - ferent name space from other aliases (so in the above example it - is still possible to create an alias for the command ps) and the - two sets are never listed together. - - For each name with no value, print the value of name, if any. - With no arguments, print all currently defined aliases other - than suffix aliases. If the -m flag is given the arguments are - taken as patterns (they should be quoted to preserve them from - being interpreted as glob patterns), and the aliases matching - these patterns are printed. When printing aliases and one of - the -g, -r or -s flags is present, restrict the printing to - global, regular or suffix aliases, respectively; a regular alias - is one which is neither a global nor a suffix alias. Using `+' - instead of `-', or ending the option list with a single `+', - prevents the values of the aliases from being printed. - - If the -L flag is present, then print each alias in a manner - suitable for putting in a startup script. The exit status is - nonzero if a name (with no value) is given for which no alias - has been defined. - - For more on aliases, include common problems, see the section - ALIASING in zshmisc(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/autoload b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/autoload deleted file mode 100644 index bc3a0294..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/autoload +++ /dev/null @@ -1,83 +0,0 @@ -autoload [ {+|-}RTUXdkmrtWz ] [ -w ] [ name ... ] - See the section `Autoloading Functions' in zshmisc(1) for full - details. The fpath parameter will be searched to find the func- - tion definition when the function is first referenced. - - If name consists of an absolute path, the function is defined to - load from the file given (searching as usual for dump files in - the given location). The name of the function is the basename - (non-directory part) of the file. It is normally an error if - the function is not found in the given location; however, if the - option -d is given, searching for the function defaults to - $fpath. If a function is loaded by absolute path, any functions - loaded from it that are marked for autoload without an absolute - path have the load path of the parent function temporarily - prepended to $fpath. - - If the option -r or -R is given, the function is searched for - immediately and the location is recorded internally for use when - the function is executed; a relative path is expanded using the - value of $PWD. This protects against a change to $fpath after - the call to autoload. With -r, if the function is not found, it - is silently left unresolved until execution; with -R, an error - message is printed and command processing aborted immediately - the search fails, i.e. at the autoload command rather than at - function execution.. - - The flag -X may be used only inside a shell function. It causes - the calling function to be marked for autoloading and then imme- - diately loaded and executed, with the current array of posi- - tional parameters as arguments. This replaces the previous def- - inition of the function. If no function definition is found, an - error is printed and the function remains undefined and marked - for autoloading. If an argument is given, it is used as a di- - rectory (i.e. it does not include the name of the function) in - which the function is to be found; this may be combined with the - -d option to allow the function search to default to $fpath if - it is not in the given location. - - The flag +X attempts to load each name as an autoloaded func- - tion, but does not execute it. The exit status is zero (suc- - cess) if the function was not previously defined and a defini- - tion for it was found. This does not replace any existing defi- - nition of the function. The exit status is nonzero (failure) if - the function was already defined or when no definition was - found. In the latter case the function remains undefined and - marked for autoloading. If ksh-style autoloading is enabled, - the function created will contain the contents of the file plus - a call to the function itself appended to it, thus giving normal - ksh autoloading behaviour on the first call to the function. If - the -m flag is also given each name is treated as a pattern and - all functions already marked for autoload that match the pattern - are loaded. - - With the -t flag, turn on execution tracing; with -T, turn on - execution tracing only for the current function, turning it off - on entry to any called functions that do not also have tracing - enabled. - - With the -U flag, alias expansion is suppressed when the func- - tion is loaded. - - With the -w flag, the names are taken as names of files compiled - with the zcompile builtin, and all functions defined in them are - marked for autoloading. - - The flags -z and -k mark the function to be autoloaded using the - zsh or ksh style, as if the option KSH_AUTOLOAD were unset or - were set, respectively. The flags override the setting of the - option at the time the function is loaded. - - Note that the autoload command makes no attempt to ensure the - shell options set during the loading or execution of the file - have any particular value. For this, the emulate command can be - used: - - emulate zsh -c 'autoload -Uz func' - - arranges that when func is loaded the shell is in native zsh em- - ulation, and this emulation is also applied when func is run. - - Some of the functions of autoload are also provided by functions - -u or functions -U, but autoload is a more comprehensive inter- - face. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bg deleted file mode 100644 index fb5e5c52..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bg +++ /dev/null @@ -1,4 +0,0 @@ -bg [ job ... ] -job ... & - Put each specified job in the background, or the current job if - none is specified. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bindkey b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bindkey deleted file mode 100644 index ceb9aaed..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bindkey +++ /dev/null @@ -1,2 +0,0 @@ -bindkey - See the section `Zle Builtins' in zshzle(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/break b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/break deleted file mode 100644 index 63c0bf65..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/break +++ /dev/null @@ -1,4 +0,0 @@ -break [ n ] - Exit from an enclosing for, while, until, select or repeat loop. - If an arithmetic expression n is specified, then break n levels - instead of just one. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/builtin b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/builtin deleted file mode 100644 index 60842df2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/builtin +++ /dev/null @@ -1,2 +0,0 @@ -builtin name [ args ... ] - Executes the builtin name, with the given args. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bye b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bye deleted file mode 100644 index 04b5d681..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/bye +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cap deleted file mode 100644 index fe60b5bb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cap +++ /dev/null @@ -1 +0,0 @@ -cap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cd deleted file mode 100644 index 34c6ad93..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/cd +++ /dev/null @@ -1,54 +0,0 @@ -cd [ -qsLP ] [ arg ] -cd [ -qsLP ] old new -cd [ -qsLP ] {+|-}n - Change the current directory. In the first form, change the - current directory to arg, or to the value of $HOME if arg is not - specified. If arg is `-', change to the previous directory. - - Otherwise, if arg begins with a slash, attempt to change to the - directory given by arg. - - If arg does not begin with a slash, the behaviour depends on - whether the current directory `.' occurs in the list of directo- - ries contained in the shell parameter cdpath. If it does not, - first attempt to change to the directory arg under the current - directory, and if that fails but cdpath is set and contains at - least one element attempt to change to the directory arg under - each component of cdpath in turn until successful. If `.' oc- - curs in cdpath, then cdpath is searched strictly in order so - that `.' is only tried at the appropriate point. - - The order of testing cdpath is modified if the option POSIX_CD - is set, as described in the documentation for the option. - - If no directory is found, the option CDABLE_VARS is set, and a - parameter named arg exists whose value begins with a slash, - treat its value as the directory. In that case, the parameter - is added to the named directory hash table. - - The second form of cd substitutes the string new for the string - old in the name of the current directory, and tries to change to - this new directory. - - The third form of cd extracts an entry from the directory stack, - and changes to that directory. An argument of the form `+n' - identifies a stack entry by counting from the left of the list - shown by the dirs command, starting with zero. An argument of - the form `-n' counts from the right. If the PUSHD_MINUS option - is set, the meanings of `+' and `-' in this context are swapped. - If the POSIX_CD option is set, this form of cd is not recognised - and will be interpreted as the first form. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array chpwd_functions are not called. - This is useful for calls to cd that do not change the environ- - ment seen by an interactive user. - - If the -s option is specified, cd refuses to change the current - directory if the given pathname contains symlinks. If the -P - option is given or the CHASE_LINKS option is set, symbolic links - are resolved to their true values. If the -L option is given - symbolic links are retained in the directory (and not resolved) - regardless of the state of the CHASE_LINKS option. - -chdir Same as cd. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/chdir b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/chdir deleted file mode 100644 index 34c6ad93..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/chdir +++ /dev/null @@ -1,54 +0,0 @@ -cd [ -qsLP ] [ arg ] -cd [ -qsLP ] old new -cd [ -qsLP ] {+|-}n - Change the current directory. In the first form, change the - current directory to arg, or to the value of $HOME if arg is not - specified. If arg is `-', change to the previous directory. - - Otherwise, if arg begins with a slash, attempt to change to the - directory given by arg. - - If arg does not begin with a slash, the behaviour depends on - whether the current directory `.' occurs in the list of directo- - ries contained in the shell parameter cdpath. If it does not, - first attempt to change to the directory arg under the current - directory, and if that fails but cdpath is set and contains at - least one element attempt to change to the directory arg under - each component of cdpath in turn until successful. If `.' oc- - curs in cdpath, then cdpath is searched strictly in order so - that `.' is only tried at the appropriate point. - - The order of testing cdpath is modified if the option POSIX_CD - is set, as described in the documentation for the option. - - If no directory is found, the option CDABLE_VARS is set, and a - parameter named arg exists whose value begins with a slash, - treat its value as the directory. In that case, the parameter - is added to the named directory hash table. - - The second form of cd substitutes the string new for the string - old in the name of the current directory, and tries to change to - this new directory. - - The third form of cd extracts an entry from the directory stack, - and changes to that directory. An argument of the form `+n' - identifies a stack entry by counting from the left of the list - shown by the dirs command, starting with zero. An argument of - the form `-n' counts from the right. If the PUSHD_MINUS option - is set, the meanings of `+' and `-' in this context are swapped. - If the POSIX_CD option is set, this form of cd is not recognised - and will be interpreted as the first form. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array chpwd_functions are not called. - This is useful for calls to cd that do not change the environ- - ment seen by an interactive user. - - If the -s option is specified, cd refuses to change the current - directory if the given pathname contains symlinks. If the -P - option is given or the CHASE_LINKS option is set, symbolic links - are resolved to their true values. If the -L option is given - symbolic links are retained in the directory (and not resolved) - regardless of the state of the CHASE_LINKS option. - -chdir Same as cd. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/clone b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/clone deleted file mode 100644 index a2f618b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/clone +++ /dev/null @@ -1 +0,0 @@ -clone See the section `The zsh/clone Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/colon b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/colon deleted file mode 100644 index 5f0c340e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/colon +++ /dev/null @@ -1,4 +0,0 @@ -: [ arg ... ] - This command does nothing, although normal argument expansions - is performed which may have effects on shell parameters. A zero - exit status is returned. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/command b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/command deleted file mode 100644 index f81b08ea..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/command +++ /dev/null @@ -1,10 +0,0 @@ -command [ -pvV ] simple command - The simple command argument is taken as an external command in- - stead of a function or builtin and is executed. If the - POSIX_BUILTINS option is set, builtins will also be executed but - certain special properties of them are suppressed. The -p flag - causes a default path to be searched instead of that in $path. - With the -v flag, command is similar to whence and with -V, it - is equivalent to whence -v. - - See also the section `Precommand Modifiers' in zshmisc(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comparguments b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comparguments deleted file mode 100644 index 10a2c0d0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comparguments +++ /dev/null @@ -1,2 +0,0 @@ -comparguments - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compcall b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compcall deleted file mode 100644 index b483147a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compcall +++ /dev/null @@ -1,2 +0,0 @@ -compcall - See the section `The zsh/compctl Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compctl deleted file mode 100644 index 28173681..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compctl +++ /dev/null @@ -1,2 +0,0 @@ -compctl - See the section `The zsh/compctl Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compdescribe b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compdescribe deleted file mode 100644 index 0a81aa92..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compdescribe +++ /dev/null @@ -1,2 +0,0 @@ -compdescribe - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compfiles b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compfiles deleted file mode 100644 index 14436f5d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compfiles +++ /dev/null @@ -1,2 +0,0 @@ -compfiles - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compgroups b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compgroups deleted file mode 100644 index 5126b18c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compgroups +++ /dev/null @@ -1,2 +0,0 @@ -compgroups - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compquote b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compquote deleted file mode 100644 index bde5916c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compquote +++ /dev/null @@ -1,2 +0,0 @@ -compquote - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptags b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptags deleted file mode 100644 index a7ef796f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptags +++ /dev/null @@ -1,2 +0,0 @@ -comptags - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptry b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptry deleted file mode 100644 index 08ca4c15..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/comptry +++ /dev/null @@ -1,2 +0,0 @@ -comptry - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compvalues b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compvalues deleted file mode 100644 index 0d85bafd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/compvalues +++ /dev/null @@ -1,2 +0,0 @@ -compvalues - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/continue b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/continue deleted file mode 100644 index ac0cadfa..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/continue +++ /dev/null @@ -1,5 +0,0 @@ -continue [ n ] - Resume the next iteration of the enclosing for, while, until, - select or repeat loop. If an arithmetic expression n is speci- - fied, break out of n-1 loops and resume at the nth enclosing - loop. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/declare b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/declare deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/declare +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dirs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dirs deleted file mode 100644 index c2c8e031..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dirs +++ /dev/null @@ -1,17 +0,0 @@ -dirs [ -c ] [ arg ... ] -dirs [ -lpv ] - With no arguments, print the contents of the directory stack. - Directories are added to this stack with the pushd command, and - removed with the cd or popd commands. If arguments are speci- - fied, load them onto the directory stack, replacing anything - that was there, and push the current directory onto the stack. - - -c clear the directory stack. - - -l print directory names in full instead of using of using ~ - expressions (see Dynamic and Static named directories in - zshexpn(1)). - - -p print directory entries one per line. - - -v number the directories in the stack when printing. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disable b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disable deleted file mode 100644 index 3d2e4a4f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disable +++ /dev/null @@ -1,85 +0,0 @@ -disable [ -afmprs ] name ... - Temporarily disable the named hash table elements or patterns. - The default is to disable builtin commands. This allows you to - use an external command with the same name as a builtin command. - The -a option causes disable to act on regular or global - aliases. The -s option causes disable to act on suffix aliases. - The -f option causes disable to act on shell functions. The -r - options causes disable to act on reserved words. Without argu- - ments all disabled hash table elements from the corresponding - hash table are printed. With the -m flag the arguments are - taken as patterns (which should be quoted to prevent them from - undergoing filename expansion), and all hash table elements from - the corresponding hash table matching these patterns are dis- - abled. Disabled objects can be enabled with the enable command. - - With the option -p, name ... refer to elements of the shell's - pattern syntax as described in the section `Filename Genera- - tion'. Certain elements can be disabled separately, as given - below. - - Note that patterns not allowed by the current settings for the - options EXTENDED_GLOB, KSH_GLOB and SH_GLOB are never enabled, - regardless of the setting here. For example, if EXTENDED_GLOB - is not active, the pattern ^ is ineffective even if `disable -p - "^"' has not been issued. The list below indicates any option - settings that restrict the use of the pattern. It should be - noted that setting SH_GLOB has a wider effect than merely dis- - abling patterns as certain expressions, in particular those in- - volving parentheses, are parsed differently. - - The following patterns may be disabled; all the strings need - quoting on the command line to prevent them from being inter- - preted immediately as patterns and the patterns are shown below - in single quotes as a reminder. - - '?' The pattern character ? wherever it occurs, including - when preceding a parenthesis with KSH_GLOB. - - '*' The pattern character * wherever it occurs, including re- - cursive globbing and when preceding a parenthesis with - KSH_GLOB. - - '[' Character classes. - - '<' (NO_SH_GLOB) - Numeric ranges. - - '|' (NO_SH_GLOB) - Alternation in grouped patterns, case statements, or - KSH_GLOB parenthesised expressions. - - '(' (NO_SH_GLOB) - Grouping using single parentheses. Disabling this does - not disable the use of parentheses for KSH_GLOB where - they are introduced by a special character, nor for glob - qualifiers (use `setopt NO_BARE_GLOB_QUAL' to disable - glob qualifiers that use parentheses only). - - '~' (EXTENDED_GLOB) - Exclusion in the form A~B. - - '^' (EXTENDED_GLOB) - Exclusion in the form A^B. - - '#' (EXTENDED_GLOB) - The pattern character # wherever it occurs, both for rep- - etition of a previous pattern and for indicating globbing - flags. - - '?(' (KSH_GLOB) - The grouping form ?(...). Note this is also disabled if - '?' is disabled. - - '*(' (KSH_GLOB) - The grouping form *(...). Note this is also disabled if - '*' is disabled. - - '+(' (KSH_GLOB) - The grouping form +(...). - - '!(' (KSH_GLOB) - The grouping form !(...). - - '@(' (KSH_GLOB) - The grouping form @(...). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disown b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disown deleted file mode 100644 index 254d641e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/disown +++ /dev/null @@ -1,14 +0,0 @@ -disown [ job ... ] -job ... &| -job ... &! - Remove the specified jobs from the job table; the shell will no - longer report their status, and will not complain if you try to - exit an interactive shell with them running or stopped. If no - job is specified, disown the current job. - - If the jobs are currently stopped and the AUTO_CONTINUE option - is not set, a warning is printed containing information about - how to make them running after they have been disowned. If one - of the latter two forms is used, the jobs will automatically be - made running, independent of the setting of the AUTO_CONTINUE - option. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dot b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dot deleted file mode 100644 index 2d969a50..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/dot +++ /dev/null @@ -1,22 +0,0 @@ -. file [ arg ... ] - Read commands from file and execute them in the current shell - environment. - - If file does not contain a slash, or if PATH_DIRS is set, the - shell looks in the components of $path to find the directory - containing file. Files in the current directory are not read - unless `.' appears somewhere in $path. If a file named - `file.zwc' is found, is newer than file, and is the compiled - form (created with the zcompile builtin) of file, then commands - are read from that file instead of file. - - If any arguments arg are given, they become the positional pa- - rameters; the old positional parameters are restored when the - file is done executing. However, if no arguments are given, the - positional parameters remain those of the calling context, and - no restoring is done. - - If file was not found the return status is 127; if file was - found but contained a syntax error the return status is 126; - else the return status is the exit status of the last command - executed. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echo b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echo deleted file mode 100644 index 24299d6f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echo +++ /dev/null @@ -1,33 +0,0 @@ -echo [ -neE ] [ arg ... ] - Write each arg on the standard output, with a space separating - each one. If the -n flag is not present, print a newline at the - end. echo recognizes the following escape sequences: - - \a bell character - \b backspace - \c suppress subsequent characters and final newline - \e escape - \f form feed - \n linefeed (newline) - \r carriage return - \t horizontal tab - \v vertical tab - \\ backslash - \0NNN character code in octal - \xNN character code in hexadecimal - \uNNNN unicode character code in hexadecimal - \UNNNNNNNN - unicode character code in hexadecimal - - The -E flag, or the BSD_ECHO option, can be used to disable - these escape sequences. In the latter case, -e flag can be used - to enable them. - - Note that for standards compliance a double dash does not termi- - nate option processing; instead, it is printed directly. How- - ever, a single dash does terminate option processing, so the - first dash, possibly following options, is not printed, but ev- - erything following it is printed as an argument. The single - dash behaviour is different from other shells. For a more por- - table way of printing text, see printf, and for a more control- - lable way of printing text within zsh, see print. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echotc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echotc deleted file mode 100644 index 36f630f3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echotc +++ /dev/null @@ -1 +0,0 @@ -echotc See the section `The zsh/termcap Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echoti b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echoti deleted file mode 100644 index 042a8397..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/echoti +++ /dev/null @@ -1 +0,0 @@ -echoti See the section `The zsh/terminfo Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/emulate b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/emulate deleted file mode 100644 index 7bf40218..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/emulate +++ /dev/null @@ -1,108 +0,0 @@ -emulate [ -lLR ] [ {zsh|sh|ksh|csh} [ flags ... ] ] - Without any argument print current emulation mode. - - With single argument set up zsh options to emulate the specified - shell as much as possible. csh will never be fully emulated. - If the argument is not one of the shells listed above, zsh will - be used as a default; more precisely, the tests performed on the - argument are the same as those used to determine the emulation - at startup based on the shell name, see the section COMPATIBIL- - ITY in zsh(1) . In addition to setting shell options, the com- - mand also restores the pristine state of pattern enables, as if - all patterns had been enabled using enable -p. - - If the emulate command occurs inside a function that has been - marked for execution tracing with functions -t then the xtrace - option will be turned on regardless of emulation mode or other - options. Note that code executed inside the function by the ., - source, or eval commands is not considered to be running di- - rectly from the function, hence does not provoke this behaviour. - - If the -R switch is given, all settable options are reset to - their default value corresponding to the specified emulation - mode, except for certain options describing the interactive en- - vironment; otherwise, only those options likely to cause porta- - bility problems in scripts and functions are altered. If the -L - switch is given, the options LOCAL_OPTIONS, LOCAL_PATTERNS and - LOCAL_TRAPS will be set as well, causing the effects of the emu- - late command and any setopt, disable -p or enable -p, and trap - commands to be local to the immediately surrounding shell func- - tion, if any; normally these options are turned off in all emu- - lation modes except ksh. The -L switch is mutually exclusive - with the use of -c in flags. - - If there is a single argument and the -l switch is given, the - options that would be set or unset (the latter indicated with - the prefix `no') are listed. -l can be combined with -L or -R - and the list will be modified in the appropriate way. Note the - list does not depend on the current setting of options, i.e. it - includes all options that may in principle change, not just - those that would actually change. - - The flags may be any of the invocation-time flags described in - the section INVOCATION in zsh(1), except that `-o EMACS' and `-o - VI' may not be used. Flags such as `+r'/`+o RESTRICTED' may be - prohibited in some circumstances. - - If -c arg appears in flags, arg is evaluated while the requested - emulation is temporarily in effect. In this case the emulation - mode and all options are restored to their previous values be- - fore emulate returns. The -R switch may precede the name of the - shell to emulate; note this has a meaning distinct from includ- - ing -R in flags. - - Use of -c enables `sticky' emulation mode for functions defined - within the evaluated expression: the emulation mode is associ- - ated thereafter with the function so that whenever the function - is executed the emulation (respecting the -R switch, if present) - and all options are set (and pattern disables cleared) before - entry to the function, and the state is restored after exit. If - the function is called when the sticky emulation is already in - effect, either within an `emulate shell -c' expression or within - another function with the same sticky emulation, entry and exit - from the function do not cause options to be altered (except due - to standard processing such as the LOCAL_OPTIONS option). This - also applies to functions marked for autoload within the sticky - emulation; the appropriate set of options will be applied at the - point the function is loaded as well as when it is run. - - For example: - - emulate sh -c 'fni() { setopt cshnullglob; } - fno() { fni; }' - fno - - The two functions fni and fno are defined with sticky sh emula- - tion. fno is then executed, causing options associated with em- - ulations to be set to their values in sh. fno then calls fni; - because fni is also marked for sticky sh emulation, no option - changes take place on entry to or exit from it. Hence the op- - tion cshnullglob, turned off by sh emulation, will be turned on - within fni and remain on return to fno. On exit from fno, the - emulation mode and all options will be restored to the state - they were in before entry to the temporary emulation. - - The documentation above is typically sufficient for the intended - purpose of executing code designed for other shells in a suit- - able environment. More detailed rules follow. - 1. The sticky emulation environment provided by `emulate - shell -c' is identical to that provided by entry to a - function marked for sticky emulation as a consequence of - being defined in such an environment. Hence, for exam- - ple, the sticky emulation is inherited by subfunctions - defined within functions with sticky emulation. - 2. No change of options takes place on entry to or exit from - functions that are not marked for sticky emulation, other - than those that would normally take place, even if those - functions are called within sticky emulation. - 3. No special handling is provided for functions marked for - autoload nor for functions present in wordcode created by - the zcompile command. - 4. The presence or absence of the -R switch to emulate cor- - responds to different sticky emulation modes, so for ex- - ample `emulate sh -c', `emulate -R sh -c' and `emulate - csh -c' are treated as three distinct sticky emulations. - 5. Difference in shell options supplied in addition to the - basic emulation also mean the sticky emulations are dif- - ferent, so for example `emulate zsh -c' and `emulate zsh - -o cbases -c' are treated as distinct sticky emulations. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/enable b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/enable deleted file mode 100644 index ecf1329c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/enable +++ /dev/null @@ -1,20 +0,0 @@ -enable [ -afmprs ] name ... - Enable the named hash table elements, presumably disabled ear- - lier with disable. The default is to enable builtin commands. - The -a option causes enable to act on regular or global aliases. - The -s option causes enable to act on suffix aliases. The -f - option causes enable to act on shell functions. The -r option - causes enable to act on reserved words. Without arguments all - enabled hash table elements from the corresponding hash table - are printed. With the -m flag the arguments are taken as pat- - terns (should be quoted) and all hash table elements from the - corresponding hash table matching these patterns are enabled. - Enabled objects can be disabled with the disable builtin com- - mand. - - enable -p reenables patterns disabled with disable -p. Note - that it does not override globbing options; for example, `enable - -p "~"' does not cause the pattern character ~ to be active un- - less the EXTENDED_GLOB option is also set. To enable all possi- - ble patterns (so that they may be individually disabled with - disable -p), use `setopt EXTENDED_GLOB KSH_GLOB NO_SH_GLOB'. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/eval b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/eval deleted file mode 100644 index 3c04cf30..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/eval +++ /dev/null @@ -1,6 +0,0 @@ -eval [ arg ... ] - Read the arguments as input to the shell and execute the result- - ing command(s) in the current shell process. The return status - is the same as if the commands had been executed directly by the - shell; if there are no args or they contain no commands (i.e. - are an empty string or whitespace) the return status is zero. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exec b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exec deleted file mode 100644 index baaddc64..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exec +++ /dev/null @@ -1,18 +0,0 @@ -exec [ -cl ] [ -a argv0 ] [ command [ arg ... ] ] - Replace the current shell with command rather than forking. If - command is a shell builtin command or a shell function, the - shell executes it, and exits when the command is complete. - - With -c clear the environment; with -l prepend - to the argv[0] - string of the command executed (to simulate a login shell); with - -a argv0 set the argv[0] string of the command executed. See - the section `Precommand Modifiers' in zshmisc(1). - - If the option POSIX_BUILTINS is set, command is never inter- - preted as a shell builtin command or shell function. This means - further precommand modifiers such as builtin and noglob are also - not interpreted within the shell. Hence command is always found - by searching the command path. - - If command is omitted but any redirections are specified, then - the redirections will take effect in the current shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exit deleted file mode 100644 index 04b5d681..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/exit +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/export b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/export deleted file mode 100644 index 88ec7fe1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/export +++ /dev/null @@ -1,5 +0,0 @@ -export [ name[=value] ... ] - The specified names are marked for automatic export to the envi- - ronment of subsequently executed commands. Equivalent to type- - set -gx. If a parameter specified does not already exist, it is - created in the global scope. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/false b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/false deleted file mode 100644 index 29e75204..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/false +++ /dev/null @@ -1,2 +0,0 @@ -false [ arg ... ] - Do nothing and return an exit status of 1. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fc b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fc deleted file mode 100644 index 5a4b149e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fc +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fg b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fg deleted file mode 100644 index da889733..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/fg +++ /dev/null @@ -1,4 +0,0 @@ -fg [ job ... ] -job ... - Bring each specified job in turn to the foreground. If no job - is specified, resume the current job. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/float b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/float deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/float +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/functions b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/functions deleted file mode 100644 index 37472368..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/functions +++ /dev/null @@ -1,116 +0,0 @@ -functions [ {+|-}UkmtTuWz ] [ -x num ] [ name ... ] -functions -c oldfn newfn -functions -M [-s] mathfn [ min [ max [ shellfn ] ] ] -functions -M [ -m pattern ... ] -functions +M [ -m ] mathfn ... - Equivalent to typeset -f, with the exception of the -c, -x, -M - and -W options. For functions -u and functions -U, see au- - toload, which provides additional options. For functions -t and - functions -T, see typeset -f. - - The -x option indicates that any functions output will have each - leading tab for indentation, added by the shell to show syntac- - tic structure, expanded to the given number num of spaces. num - can also be 0 to suppress all indentation. - - The -W option turns on the option WARN_NESTED_VAR for the named - function or functions only. The option is turned off at the - start of nested functions (apart from anonoymous functions) un- - less the called function also has the -W attribute. - - The -c option causes oldfn to be copied to newfn. The copy is - efficiently handled internally by reference counting. If oldfn - was marked for autoload it is first loaded and if this fails the - copy fails. Either function may subsequently be redefined with- - out affecting the other. A typical idiom is that oldfn is the - name of a library shell function which is then redefined to call - newfn, thereby installing a modified version of the function. - - The -M and +M flags - - Use of the -M option may not be combined with any of the options - handled by typeset -f. - - functions -M mathfn defines mathfn as the name of a mathematical - function recognised in all forms of arithmetical expressions; - see the section `Arithmetic Evaluation' in zshmisc(1). By de- - fault mathfn may take any number of comma-separated arguments. - If min is given, it must have exactly min args; if min and max - are both given, it must have at least min and at most max args. - max may be -1 to indicate that there is no upper limit. - - By default the function is implemented by a shell function of - the same name; if shellfn is specified it gives the name of the - corresponding shell function while mathfn remains the name used - in arithmetical expressions. The name of the function in $0 is - mathfn (not shellfn as would usually be the case), provided the - option FUNCTION_ARGZERO is in effect. The positional parameters - in the shell function correspond to the arguments of the mathe- - matical function call. - - The result of the last arithmetical expression evaluated inside - the shell function gives the result of the mathematical func- - tion. This is not limited to arithmetic substitutions of the - form $((...)), but also includes arithmetical expressions evalu- - ated in any other way, including by the let builtin, by ((...)) - statements, and even by the return builtin and by array sub- - scripts. Therefore, care must be taken not to use syntactical - constructs that perform arithmetic evaluation after evaluating - what is to be the result of the function. For example: - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - return 0 - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - This will print `0' because of the return. - - Commenting the return out would lead to a different problem: the - ((...)) statement would become the last statement in the func- - tion, so the return status ($?) of the function would be - non-zero (indicating failure) whenever the arithmetic result of - the function would happen to be zero (numerically): - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - } - functions -M cube 1 1 zmath_cube - print $(( cube(0) )) - - Instead, the true builtin can be used: - - # RIGHT - zmath_cube() { - (( $1 * $1 * $1 )) - true - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - If the additional option -s is given to functions -M, the argu- - ment to the function is a single string: anything between the - opening and matching closing parenthesis is passed to the func- - tion as a single argument, even if it includes commas or white - space. The minimum and maximum argument specifiers must there- - fore be 1 if given. An empty argument list is passed as a - zero-length string. Thus, the following string function takes a - single argument, including the commas, and prints 11: - - stringfn() { (( $#1 )); true } - functions -Ms stringfn - print $(( stringfn(foo,bar,rod) )) - - functions -M with no arguments lists all such user-defined func- - tions in the same form as a definition. With the additional op- - tion -m and a list of arguments, all functions whose mathfn - matches one of the pattern arguments are listed. - - function +M removes the list of mathematical functions; with the - additional option -m the arguments are treated as patterns and - all functions whose mathfn matches the pattern are removed. - Note that the shell function implementing the behaviour is not - removed (regardless of whether its name coincides with mathfn). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getcap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getcap deleted file mode 100644 index 3e4a51b2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getcap +++ /dev/null @@ -1 +0,0 @@ -getcap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getln b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getln deleted file mode 100644 index 88c93813..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getln +++ /dev/null @@ -1,3 +0,0 @@ -getln [ -AclneE ] name ... - Read the top value from the buffer stack and put it in the shell - parameter name. Equivalent to read -zr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getopts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getopts deleted file mode 100644 index ef58eefd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/getopts +++ /dev/null @@ -1,31 +0,0 @@ -getopts optstring name [ arg ... ] - Checks the args for legal options. If the args are omitted, use - the positional parameters. A valid option argument begins with - a `+' or a `-'. An argument not beginning with a `+' or a `-', - or the argument `--', ends the options. Note that a single `-' - is not considered a valid option argument. optstring contains - the letters that getopts recognizes. If a letter is followed by - a `:', that option requires an argument. The options can be - separated from the argument by blanks. - - Each time it is invoked, getopts places the option letter it - finds in the shell parameter name, prepended with a `+' when arg - begins with a `+'. The index of the next arg is stored in - OPTIND. The option argument, if any, is stored in OPTARG. - - The first option to be examined may be changed by explicitly as- - signing to OPTIND. OPTIND has an initial value of 1, and is - normally set to 1 upon entry to a shell function and restored - upon exit. (The POSIX_BUILTINS option disables this, and also - changes the way the value is calculated to match other shells.) - OPTARG is not reset and retains its value from the most recent - call to getopts. If either of OPTIND or OPTARG is explicitly - unset, it remains unset, and the index or option argument is not - stored. The option itself is still stored in name in this case. - - A leading `:' in optstring causes getopts to store the letter of - any invalid option in OPTARG, and to set name to `?' for an un- - known option and to `:' when a required argument is missing. - Otherwise, getopts sets name to `?' and prints an error message - when an option is invalid. The exit status is nonzero when - there are no more options. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/hash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/hash deleted file mode 100644 index c1dfb49f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/hash +++ /dev/null @@ -1,50 +0,0 @@ -hash [ -Ldfmrv ] [ name[=value] ] ... - hash can be used to directly modify the contents of the command - hash table, and the named directory hash table. Normally one - would modify these tables by modifying one's PATH (for the com- - mand hash table) or by creating appropriate shell parameters - (for the named directory hash table). The choice of hash table - to work on is determined by the -d option; without the option - the command hash table is used, and with the option the named - directory hash table is used. - - A command name starting with a / is never hashed, whether by ex- - plicit use of the hash command or otherwise. Such a command is - always found by direct look up in the file system. - - Given no arguments, and neither the -r or -f options, the se- - lected hash table will be listed in full. - - The -r option causes the selected hash table to be emptied. It - will be subsequently rebuilt in the normal fashion. The -f op- - tion causes the selected hash table to be fully rebuilt immedi- - ately. For the command hash table this hashes all the absolute - directories in the PATH, and for the named directory hash table - this adds all users' home directories. These two options cannot - be used with any arguments. - - The -m option causes the arguments to be taken as patterns - (which should be quoted) and the elements of the hash table - matching those patterns are printed. This is the only way to - display a limited selection of hash table elements. - - For each name with a corresponding value, put `name' in the se- - lected hash table, associating it with the pathname `value'. In - the command hash table, this means that whenever `name' is used - as a command argument, the shell will try to execute the file - given by `value'. In the named directory hash table, this means - that `value' may be referred to as `~name'. - - For each name with no corresponding value, attempt to add name - to the hash table, checking what the appropriate value is in the - normal manner for that hash table. If an appropriate value - can't be found, then the hash table will be unchanged. - - The -v option causes hash table entries to be listed as they are - added by explicit specification. If has no effect if used with - -f. - - If the -L flag is present, then each hash table entry is printed - in the form of a call to hash. - -rehash Same as hash -r. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/history b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/history deleted file mode 100644 index 5a4b149e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/history +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/integer b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/integer deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/integer +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/jobs b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/jobs deleted file mode 100644 index 12dda21d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/jobs +++ /dev/null @@ -1,33 +0,0 @@ -jobs [ -dlprs ] [ job ... ] -jobs -Z string - Lists information about each given job, or all jobs if job is - omitted. The -l flag lists process IDs, and the -p flag lists - process groups. If the -r flag is specified only running jobs - will be listed and if the -s flag is given only stopped jobs are - shown. If the -d flag is given, the directory from which the - job was started (which may not be the current directory of the - job) will also be shown. - - The -Z option replaces the shell's argument and environment - space with the given string, truncated if necessary to fit. - This will normally be visible in ps (ps(1)) listings. This fea- - ture is typically used by daemons, to indicate their state. - - Full job control is only available in the top-level interactive - shell, not in commands run in the left hand side of pipelines or - within the (...) construct. However, a snapshot of the job - state at that point is taken, so it is still possible to use the - jobs builtin, or any parameter providing job information. This - gives information about the state of jobs at the point the sub- - shell was created. If background processes are created within - the subshell, then instead information about those processes is - provided. - - For example, - - sleep 10 & # Job in background - ( # Shell forks - jobs # Shows information about "sleep 10 &" - sleep 5 & # Process in background (no job control) - jobs # Shows information about "sleep 5 &" - ) diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/kill b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/kill deleted file mode 100644 index c68d4670..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/kill +++ /dev/null @@ -1,24 +0,0 @@ -kill [ -s signal_name | -n signal_number | -sig ] job ... -kill -l [ sig ... ] - Sends either SIGTERM or the specified signal to the given jobs - or processes. Signals are given by number or by names, with or - without the `SIG' prefix. If the signal being sent is not - `KILL' or `CONT', then the job will be sent a `CONT' signal if - it is stopped. The argument job can be the process ID of a job - not in the job list. In the second form, kill -l, if sig is not - specified the signal names are listed. Otherwise, for each sig - that is a name, the corresponding signal number is listed. For - each sig that is a signal number or a number representing the - exit status of a process which was terminated or stopped by a - signal the name of the signal is printed. - - On some systems, alternative signal names are allowed for a few - signals. Typical examples are SIGCHLD and SIGCLD or SIGPOLL and - SIGIO, assuming they correspond to the same signal number. kill - -l will only list the preferred form, however kill -l alt will - show if the alternative form corresponds to a signal number. - For example, under Linux kill -l IO and kill -l POLL both output - 29, hence kill -IO and kill -POLL have the same effect. - - Many systems will allow process IDs to be negative to kill a - process group or zero to kill the current process group. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/let b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/let deleted file mode 100644 index 96f3dc16..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/let +++ /dev/null @@ -1,6 +0,0 @@ -let arg ... - Evaluate each arg as an arithmetic expression. See the section - `Arithmetic Evaluation' in zshmisc(1) for a description of - arithmetic expressions. The exit status is 0 if the value of - the last expression is nonzero, 1 if it is zero, and 2 if an er- - ror occurred. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/limit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/limit deleted file mode 100644 index 1e31b122..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/limit +++ /dev/null @@ -1,91 +0,0 @@ -limit [ -hs ] [ resource [ limit ] ] ... - Set or display resource limits. Unless the -s flag is given, - the limit applies only the children of the shell. If -s is - given without other arguments, the resource limits of the cur- - rent shell is set to the previously set resource limits of the - children. - - If limit is not specified, print the current limit placed on re- - source, otherwise set the limit to the specified value. If the - -h flag is given, use hard limits instead of soft limits. If no - resource is given, print all limits. - - When looping over multiple resources, the shell will abort imme- - diately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue try- - ing to set the remaining limits. - - resource can be one of: - - addressspace - Maximum amount of address space used. - aiomemorylocked - Maximum amount of memory locked in RAM for AIO opera- - tions. - aiooperations - Maximum number of AIO operations. - cachedthreads - Maximum number of cached threads. - coredumpsize - Maximum size of a core dump. - cputime - Maximum CPU seconds per process. - datasize - Maximum data size (including stack) for each process. - descriptors - Maximum value for a file descriptor. - filesize - Largest single file allowed. - kqueues - Maximum number of kqueues allocated. - maxproc - Maximum number of processes. - maxpthreads - Maximum number of threads per process. - memorylocked - Maximum amount of memory locked in RAM. - memoryuse - Maximum resident set size. - msgqueue - Maximum number of bytes in POSIX message queues. - posixlocks - Maximum number of POSIX locks per user. - pseudoterminals - Maximum number of pseudo-terminals. - resident - Maximum resident set size. - sigpending - Maximum number of pending signals. - sockbufsize - Maximum size of all socket buffers. - stacksize - Maximum stack size for each process. - swapsize - Maximum amount of swap used. - vmemorysize - Maximum amount of virtual memory. - - Which of these resource limits are available depends on the sys- - tem. resource can be abbreviated to any unambiguous prefix. It - can also be an integer, which corresponds to the integer defined - for the resource by the operating system. - - If argument corresponds to a number which is out of the range of - the resources configured into the shell, the shell will try to - read or write the limit anyway, and will report an error if this - fails. As the shell does not store such resources internally, - an attempt to set the limit will fail unless the -s option is - present. - - limit is a number, with an optional scaling factor, as follows: - - nh hours - nk kilobytes (default) - nm megabytes or minutes - ng gigabytes - [mm:]ss - minutes and seconds - - The limit command is not made available by default when the - shell starts in a mode emulating another shell. It can be made - available with the command `zmodload -F zsh/rlimits b:limit'. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/local b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/local deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/local +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/logout b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/logout deleted file mode 100644 index 04b5d681..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/logout +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/noglob b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/noglob deleted file mode 100644 index 7dfc94c6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/noglob +++ /dev/null @@ -1,2 +0,0 @@ -noglob simple command - See the section `Precommand Modifiers' in zshmisc(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/popd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/popd deleted file mode 100644 index d6201367..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/popd +++ /dev/null @@ -1,14 +0,0 @@ -popd [ -q ] [ {+|-}n ] - Remove an entry from the directory stack, and perform a cd to - the new top directory. With no argument, the current top entry - is removed. An argument of the form `+n' identifies a stack en- - try by counting from the left of the list shown by the dirs com- - mand, starting with zero. An argument of the form -n counts - from the right. If the PUSHD_MINUS option is set, the meanings - of `+' and `-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array $chpwd_functions are not called, - and the new directory stack is not printed. This is useful for - calls to popd that do not change the environment seen by an in- - teractive user. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/print b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/print deleted file mode 100644 index fd6dd0b0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/print +++ /dev/null @@ -1,120 +0,0 @@ -print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ] - [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ] - With the `-f' option the arguments are printed as described by - printf. With no flags or with the flag `-', the arguments are - printed on the standard output as described by echo, with the - following differences: the escape sequence `\M-x' (or `\Mx') - metafies the character x (sets the highest bit), `\C-x' (or - `\Cx') produces a control character (`\C-@' and `\C-?' give the - characters NULL and delete), a character code in octal is repre- - sented by `\NNN' (instead of `\0NNN'), and `\E' is a synonym for - `\e'. Finally, if not in an escape sequence, `\' escapes the - following character and is not printed. - - -a Print arguments with the column incrementing first. Only - useful with the -c and -C options. - - -b Recognize all the escape sequences defined for the bind- - key command, see the section `Zle Builtins' in zshzle(1). - - -c Print the arguments in columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -C cols - Print the arguments in cols columns. Unless -a is also - given, arguments are printed with the row incrementing - first. - - -D Treat the arguments as paths, replacing directory pre- - fixes with ~ expressions corresponding to directory - names, as appropriate. - - -i If given together with -o or -O, sorting is performed - case-independently. - - -l Print the arguments separated by newlines instead of spa- - ces. Note: if the list of arguments is empty, print -l - will still output one empty line. To print a possi- - bly-empty list of arguments one per line, use print -C1, - as in `print -rC1 -- "$list[@]"'. - - -m Take the first argument as a pattern (should be quoted), - and remove it from the argument list together with subse- - quent arguments that do not match this pattern. - - -n Do not add a newline to the output. - - -N Print the arguments separated and terminated by nulls. - Again, print -rNC1 -- "$list[@]" is a canonical way to - print an arbitrary list as null-delimited records. - - -o Print the arguments sorted in ascending order. - - -O Print the arguments sorted in descending order. - - -p Print the arguments to the input of the coprocess. - - -P Perform prompt expansion (see EXPANSION OF PROMPT SE- - QUENCES in zshmisc(1)). In combination with `-f', prompt - escape sequences are parsed only within interpolated ar- - guments, not within the format string. - - -r Ignore the escape conventions of echo. - - -R Emulate the BSD echo command, which does not process es- - cape sequences unless the -e flag is given. The -n flag - suppresses the trailing newline. Only the -e and -n - flags are recognized after -R; all other arguments and - options are printed. - - -s Place the results in the history list instead of on the - standard output. Each argument to the print command is - treated as a single word in the history, regardless of - its content. - - -S Place the results in the history list instead of on the - standard output. In this case only a single argument is - allowed; it will be split into words as if it were a full - shell command line. The effect is similar to reading the - line from a history file with the HIST_LEX_WORDS option - active. - - -u n Print the arguments to file descriptor n. - - -v name - Store the printed arguments as the value of the parameter - name. - - -x tab-stop - Expand leading tabs on each line of output in the printed - string assuming a tab stop every tab-stop characters. - This is appropriate for formatting code that may be in- - dented with tabs. Note that leading tabs of any argument - to print, not just the first, are expanded, even if print - is using spaces to separate arguments (the column count - is maintained across arguments but may be incorrect on - output owing to previous unexpanded tabs). - - The start of the output of each print command is assumed - to be aligned with a tab stop. Widths of multibyte char- - acters are handled if the option MULTIBYTE is in effect. - This option is ignored if other formatting options are in - effect, namely column alignment or printf style, or if - output is to a special location such as shell history or - the command line editor. - - -X tab-stop - This is similar to -x, except that all tabs in the - printed string are expanded. This is appropriate if tabs - in the arguments are being used to produce a table for- - mat. - - -z Push the arguments onto the editing buffer stack, sepa- - rated by spaces. - - If any of `-m', `-o' or `-O' are used in combination with `-f' - and there are no arguments (after the removal process in the - case of `-m') then nothing is printed. - -pushln [ arg ... ] - Equivalent to print -nz. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/printf b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/printf deleted file mode 100644 index ba097a5e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/printf +++ /dev/null @@ -1,35 +0,0 @@ -printf [ -v name ] format [ arg ... ] - Print the arguments according to the format specification. For- - matting rules are the same as used in C. The same escape se- - quences as for echo are recognised in the format. All C conver- - sion specifications ending in one of csdiouxXeEfgGn are handled. - In addition to this, `%b' can be used instead of `%s' to cause - escape sequences in the argument to be recognised and `%q' can - be used to quote the argument in such a way that allows it to be - reused as shell input. With the numeric format specifiers, if - the corresponding argument starts with a quote character, the - numeric value of the following character is used as the number - to print; otherwise the argument is evaluated as an arithmetic - expression. See the section `Arithmetic Evaluation' in zsh- - misc(1) for a description of arithmetic expressions. With `%n', - the corresponding argument is taken as an identifier which is - created as an integer parameter. - - Normally, conversion specifications are applied to each argument - in order but they can explicitly specify the nth argument is to - be used by replacing `%' by `%n$' and `*' by `*n$'. It is rec- - ommended that you do not mix references of this explicit style - with the normal style and the handling of such mixed styles may - be subject to future change. - - If arguments remain unused after formatting, the format string - is reused until all arguments have been consumed. With the print - builtin, this can be suppressed by using the -r option. If more - arguments are required by the format than have been specified, - the behaviour is as if zero or an empty string had been speci- - fied as the argument. - - The -v option causes the output to be stored as the value of the - parameter name, instead of printed. If name is an array and the - format string is reused when consuming arguments then one array - element will be used for each use of the format string. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushd deleted file mode 100644 index a15718d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushd +++ /dev/null @@ -1,31 +0,0 @@ -pushd [ -qsLP ] [ arg ] -pushd [ -qsLP ] old new -pushd [ -qsLP ] {+|-}n - Change the current directory, and push the old current directory - onto the directory stack. In the first form, change the current - directory to arg. If arg is not specified, change to the second - directory on the stack (that is, exchange the top two entries), - or change to $HOME if the PUSHD_TO_HOME option is set or if - there is only one entry on the stack. Otherwise, arg is inter- - preted as it would be by cd. The meaning of old and new in the - second form is also the same as for cd. - - The third form of pushd changes directory by rotating the direc- - tory list. An argument of the form `+n' identifies a stack en- - try by counting from the left of the list shown by the dirs com- - mand, starting with zero. An argument of the form `-n' counts - from the right. If the PUSHD_MINUS option is set, the meanings - of `+' and `-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array $chpwd_functions are not called, - and the new directory stack is not printed. This is useful for - calls to pushd that do not change the environment seen by an in- - teractive user. - - If the option -q is not specified and the shell option - PUSHD_SILENT is not set, the directory stack will be printed af- - ter a pushd is performed. - - The options -s, -L and -P have the same meanings as for the cd - builtin. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushln b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushln deleted file mode 100644 index fd6dd0b0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pushln +++ /dev/null @@ -1,120 +0,0 @@ -print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ] - [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ] - With the `-f' option the arguments are printed as described by - printf. With no flags or with the flag `-', the arguments are - printed on the standard output as described by echo, with the - following differences: the escape sequence `\M-x' (or `\Mx') - metafies the character x (sets the highest bit), `\C-x' (or - `\Cx') produces a control character (`\C-@' and `\C-?' give the - characters NULL and delete), a character code in octal is repre- - sented by `\NNN' (instead of `\0NNN'), and `\E' is a synonym for - `\e'. Finally, if not in an escape sequence, `\' escapes the - following character and is not printed. - - -a Print arguments with the column incrementing first. Only - useful with the -c and -C options. - - -b Recognize all the escape sequences defined for the bind- - key command, see the section `Zle Builtins' in zshzle(1). - - -c Print the arguments in columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -C cols - Print the arguments in cols columns. Unless -a is also - given, arguments are printed with the row incrementing - first. - - -D Treat the arguments as paths, replacing directory pre- - fixes with ~ expressions corresponding to directory - names, as appropriate. - - -i If given together with -o or -O, sorting is performed - case-independently. - - -l Print the arguments separated by newlines instead of spa- - ces. Note: if the list of arguments is empty, print -l - will still output one empty line. To print a possi- - bly-empty list of arguments one per line, use print -C1, - as in `print -rC1 -- "$list[@]"'. - - -m Take the first argument as a pattern (should be quoted), - and remove it from the argument list together with subse- - quent arguments that do not match this pattern. - - -n Do not add a newline to the output. - - -N Print the arguments separated and terminated by nulls. - Again, print -rNC1 -- "$list[@]" is a canonical way to - print an arbitrary list as null-delimited records. - - -o Print the arguments sorted in ascending order. - - -O Print the arguments sorted in descending order. - - -p Print the arguments to the input of the coprocess. - - -P Perform prompt expansion (see EXPANSION OF PROMPT SE- - QUENCES in zshmisc(1)). In combination with `-f', prompt - escape sequences are parsed only within interpolated ar- - guments, not within the format string. - - -r Ignore the escape conventions of echo. - - -R Emulate the BSD echo command, which does not process es- - cape sequences unless the -e flag is given. The -n flag - suppresses the trailing newline. Only the -e and -n - flags are recognized after -R; all other arguments and - options are printed. - - -s Place the results in the history list instead of on the - standard output. Each argument to the print command is - treated as a single word in the history, regardless of - its content. - - -S Place the results in the history list instead of on the - standard output. In this case only a single argument is - allowed; it will be split into words as if it were a full - shell command line. The effect is similar to reading the - line from a history file with the HIST_LEX_WORDS option - active. - - -u n Print the arguments to file descriptor n. - - -v name - Store the printed arguments as the value of the parameter - name. - - -x tab-stop - Expand leading tabs on each line of output in the printed - string assuming a tab stop every tab-stop characters. - This is appropriate for formatting code that may be in- - dented with tabs. Note that leading tabs of any argument - to print, not just the first, are expanded, even if print - is using spaces to separate arguments (the column count - is maintained across arguments but may be incorrect on - output owing to previous unexpanded tabs). - - The start of the output of each print command is assumed - to be aligned with a tab stop. Widths of multibyte char- - acters are handled if the option MULTIBYTE is in effect. - This option is ignored if other formatting options are in - effect, namely column alignment or printf style, or if - output is to a special location such as shell history or - the command line editor. - - -X tab-stop - This is similar to -x, except that all tabs in the - printed string are expanded. This is appropriate if tabs - in the arguments are being used to produce a table for- - mat. - - -z Push the arguments onto the editing buffer stack, sepa- - rated by spaces. - - If any of `-m', `-o' or `-O' are used in combination with `-f' - and there are no arguments (after the removal process in the - case of `-m') then nothing is printed. - -pushln [ arg ... ] - Equivalent to print -nz. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pwd b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pwd deleted file mode 100644 index 2de3de7e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/pwd +++ /dev/null @@ -1,5 +0,0 @@ -pwd [ -rLP ] - Print the absolute pathname of the current working directory. - If the -r or the -P flag is specified, or the CHASE_LINKS option - is set and the -L flag is not given, the printed path will not - contain symbolic links. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/r b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/r deleted file mode 100644 index 5a4b149e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/r +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/read b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/read deleted file mode 100644 index c293bda2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/read +++ /dev/null @@ -1,113 +0,0 @@ -read [ -rszpqAclneE ] [ -t [ num ] ] [ -k [ num ] ] [ -d delim ] - [ -u n ] [ [name][?prompt] ] [ name ... ] - Read one line and break it into fields using the characters in - $IFS as separators, except as noted below. The first field is - assigned to the first name, the second field to the second name, - etc., with leftover fields assigned to the last name. If name - is omitted then REPLY is used for scalars and reply for arrays. - - -r Raw mode: a `\' at the end of a line does not signify - line continuation and backslashes in the line don't quote - the following character and are not removed. - - -s Don't echo back characters if reading from the terminal. - - -q Read only one character from the terminal and set name to - `y' if this character was `y' or `Y' and to `n' other- - wise. With this flag set the return status is zero only - if the character was `y' or `Y'. This option may be used - with a timeout (see -t); if the read times out, or en- - counters end of file, status 2 is returned. Input is - read from the terminal unless one of -u or -p is present. - This option may also be used within zle widgets. - - -k [ num ] - Read only one (or num) characters. All are assigned to - the first name, without word splitting. This flag is ig- - nored when -q is present. Input is read from the termi- - nal unless one of -u or -p is present. This option may - also be used within zle widgets. - - Note that despite the mnemonic `key' this option does - read full characters, which may consist of multiple bytes - if the option MULTIBYTE is set. - - -z Read one entry from the editor buffer stack and assign it - to the first name, without word splitting. Text is - pushed onto the stack with `print -z' or with push-line - from the line editor (see zshzle(1)). This flag is ig- - nored when the -k or -q flags are present. - - -e - -E The input read is printed (echoed) to the standard out- - put. If the -e flag is used, no input is assigned to the - parameters. - - -A The first name is taken as the name of an array and all - words are assigned to it. - - -c - -l These flags are allowed only if called inside a function - used for completion (specified with the -K flag to com- - pctl). If the -c flag is given, the words of the current - command are read. If the -l flag is given, the whole line - is assigned as a scalar. If both flags are present, -l - is used and -c is ignored. - - -n Together with -c, the number of the word the cursor is on - is read. With -l, the index of the character the cursor - is on is read. Note that the command name is word number - 1, not word 0, and that when the cursor is at the end of - the line, its character index is the length of the line - plus one. - - -u n Input is read from file descriptor n. - - -p Input is read from the coprocess. - - -d delim - Input is terminated by the first character of delim in- - stead of by newline. - - -t [ num ] - Test if input is available before attempting to read. If - num is present, it must begin with a digit and will be - evaluated to give a number of seconds, which may be a - floating point number; in this case the read times out if - input is not available within this time. If num is not - present, it is taken to be zero, so that read returns im- - mediately if no input is available. If no input is - available, return status 1 and do not set any variables. - - This option is not available when reading from the editor - buffer with -z, when called from within completion with - -c or -l, with -q which clears the input queue before - reading, or within zle where other mechanisms should be - used to test for input. - - Note that read does not attempt to alter the input pro- - cessing mode. The default mode is canonical input, in - which an entire line is read at a time, so usually `read - -t' will not read anything until an entire line has been - typed. However, when reading from the terminal with -k - input is processed one key at a time; in this case, only - availability of the first character is tested, so that - e.g. `read -t -k 2' can still block on the second charac- - ter. Use two instances of `read -t -k' if this is not - what is wanted. - - If the first argument contains a `?', the remainder of this word - is used as a prompt on standard error when the shell is interac- - tive. - - The value (exit status) of read is 1 when an end-of-file is en- - countered, or when -c or -l is present and the command is not - called from a compctl function, or as described for -q. Other- - wise the value is 0. - - The behavior of some combinations of the -k, -p, -q, -u and -z - flags is undefined. Presently -q cancels all the others, -p - cancels -u, -k cancels -z, and otherwise -z cancels both -p and - -u. - - The -c or -l flags cancel any and all of -kpquz. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/readonly b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/readonly deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/readonly +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/rehash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/rehash deleted file mode 100644 index c1dfb49f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/rehash +++ /dev/null @@ -1,50 +0,0 @@ -hash [ -Ldfmrv ] [ name[=value] ] ... - hash can be used to directly modify the contents of the command - hash table, and the named directory hash table. Normally one - would modify these tables by modifying one's PATH (for the com- - mand hash table) or by creating appropriate shell parameters - (for the named directory hash table). The choice of hash table - to work on is determined by the -d option; without the option - the command hash table is used, and with the option the named - directory hash table is used. - - A command name starting with a / is never hashed, whether by ex- - plicit use of the hash command or otherwise. Such a command is - always found by direct look up in the file system. - - Given no arguments, and neither the -r or -f options, the se- - lected hash table will be listed in full. - - The -r option causes the selected hash table to be emptied. It - will be subsequently rebuilt in the normal fashion. The -f op- - tion causes the selected hash table to be fully rebuilt immedi- - ately. For the command hash table this hashes all the absolute - directories in the PATH, and for the named directory hash table - this adds all users' home directories. These two options cannot - be used with any arguments. - - The -m option causes the arguments to be taken as patterns - (which should be quoted) and the elements of the hash table - matching those patterns are printed. This is the only way to - display a limited selection of hash table elements. - - For each name with a corresponding value, put `name' in the se- - lected hash table, associating it with the pathname `value'. In - the command hash table, this means that whenever `name' is used - as a command argument, the shell will try to execute the file - given by `value'. In the named directory hash table, this means - that `value' may be referred to as `~name'. - - For each name with no corresponding value, attempt to add name - to the hash table, checking what the appropriate value is in the - normal manner for that hash table. If an appropriate value - can't be found, then the hash table will be unchanged. - - The -v option causes hash table entries to be listed as they are - added by explicit specification. If has no effect if used with - -f. - - If the -L flag is present, then each hash table entry is printed - in the form of a call to hash. - -rehash Same as hash -r. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/return b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/return deleted file mode 100644 index 4f7c6abd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/return +++ /dev/null @@ -1,21 +0,0 @@ -return [ n ] - Causes a shell function or `.' script to return to the invoking - script with the return status specified by an arithmetic expres- - sion n. For example, the following prints `42': - - () { integer foo=40; return "foo + 2" } - echo $? - - If n is omitted, the return status is that of the last command - executed. - - If return was executed from a trap in a TRAPNAL function, the - effect is different for zero and non-zero return status. With - zero status (or after an implicit return at the end of the - trap), the shell will return to whatever it was previously pro- - cessing; with a non-zero status, the shell will behave as inter- - rupted except that the return status of the trap is retained. - Note that the numeric value of the signal which caused the trap - is passed as the first argument, so the statement `return - "128+$1"' will return the same status as if the signal had not - been trapped. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/sched b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/sched deleted file mode 100644 index a85eb8d9..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/sched +++ /dev/null @@ -1 +0,0 @@ -sched See the section `The zsh/sched Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/set b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/set deleted file mode 100644 index cb5637e1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/set +++ /dev/null @@ -1,46 +0,0 @@ -set [ {+|-}options | {+|-}o [ option_name ] ] ... [ {+|-}A [ name ] ] - [ arg ... ] - Set the options for the shell and/or set the positional parame- - ters, or declare and set an array. If the -s option is given, - it causes the specified arguments to be sorted before assigning - them to the positional parameters (or to the array name if -A is - used). With +s sort arguments in descending order. For the - meaning of the other flags, see zshoptions(1). Flags may be - specified by name using the -o option. If no option name is sup- - plied with -o, the current option states are printed: see the - description of setopt below for more information on the format. - With +o they are printed in a form that can be used as input to - the shell. - - If the -A flag is specified, name is set to an array containing - the given args; if no name is specified, all arrays are printed - together with their values. - - If +A is used and name is an array, the given arguments will re- - place the initial elements of that array; if no name is speci- - fied, all arrays are printed without their values. - - The behaviour of arguments after -A name or +A name depends on - whether the option KSH_ARRAYS is set. If it is not set, all ar- - guments following name are treated as values for the array, re- - gardless of their form. If the option is set, normal option - processing continues at that point; only regular arguments are - treated as values for the array. This means that - - set -A array -x -- foo - - sets array to `-x -- foo' if KSH_ARRAYS is not set, but sets the - array to foo and turns on the option `-x' if it is set. - - If the -A flag is not present, but there are arguments beyond - the options, the positional parameters are set. If the option - list (if any) is terminated by `--', and there are no further - arguments, the positional parameters will be unset. - - If no arguments and no `--' are given, then the names and values - of all parameters are printed on the standard output. If the - only argument is `+', the names of all parameters are printed. - - For historical reasons, `set -' is treated as `set +xv' and `set - - args' as `set +xv -- args' when in any other emulation mode - than zsh's native mode. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setcap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setcap deleted file mode 100644 index 0646a704..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setcap +++ /dev/null @@ -1 +0,0 @@ -setcap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setopt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setopt deleted file mode 100644 index 37eec1db..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/setopt +++ /dev/null @@ -1,27 +0,0 @@ -setopt [ {+|-}options | {+|-}o option_name ] [ -m ] [ name ... ] - Set the options for the shell. All options specified either - with flags or by name are set. - - If no arguments are supplied, the names of all options currently - set are printed. The form is chosen so as to minimize the dif- - ferences from the default options for the current emulation (the - default emulation being native zsh, shown as <Z> in zshop- - tions(1)). Options that are on by default for the emulation are - shown with the prefix no only if they are off, while other op- - tions are shown without the prefix no and only if they are on. - In addition to options changed from the default state by the - user, any options activated automatically by the shell (for ex- - ample, SHIN_STDIN or INTERACTIVE) will be shown in the list. - The format is further modified by the option KSH_OPTION_PRINT, - however the rationale for choosing options with or without the - no prefix remains the same in this case. - - If the -m flag is given the arguments are taken as patterns - (which should be quoted to protect them from filename expan- - sion), and all options with names matching these patterns are - set. - - Note that a bad option name does not cause execution of subse- - quent shell code to be aborted; this is behaviour is different - from that of `set -o'. This is because set is regarded as a - special builtin by the POSIX standard, but setopt is not. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/shift b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/shift deleted file mode 100644 index bb46a8f1..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/shift +++ /dev/null @@ -1,8 +0,0 @@ -shift [ -p ] [ n ] [ name ... ] - The positional parameters ${n+1} ... are renamed to $1 ..., - where n is an arithmetic expression that defaults to 1. If any - names are given then the arrays with these names are shifted in- - stead of the positional parameters. - - If the option -p is given arguments are instead removed (popped) - from the end rather than the start of the array. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/source b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/source deleted file mode 100644 index 5b622a7e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/source +++ /dev/null @@ -1,4 +0,0 @@ -source file [ arg ... ] - Same as `.', except that the current directory is always - searched and is always searched first, before directories in - $path. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/stat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/stat deleted file mode 100644 index f18d9e7f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/stat +++ /dev/null @@ -1 +0,0 @@ -stat See the section `The zsh/stat Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/suspend b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/suspend deleted file mode 100644 index 82cacb14..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/suspend +++ /dev/null @@ -1,4 +0,0 @@ -suspend [ -f ] - Suspend the execution of the shell (send it a SIGTSTP) until it - receives a SIGCONT. Unless the -f option is given, this will - refuse to suspend a login shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/test b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/test deleted file mode 100644 index 9abe33fd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/test +++ /dev/null @@ -1,20 +0,0 @@ -test [ arg ... ] -[ [ arg ... ] ] - Like the system version of test. Added for compatibility; use - conditional expressions instead (see the section `Conditional - Expressions'). The main differences between the conditional ex- - pression syntax and the test and [ builtins are: these commands - are not handled syntactically, so for example an empty variable - expansion may cause an argument to be omitted; syntax errors - cause status 2 to be returned instead of a shell error; and - arithmetic operators expect integer arguments rather than arith- - metic expressions. - - The command attempts to implement POSIX and its extensions where - these are specified. Unfortunately there are intrinsic ambigui- - ties in the syntax; in particular there is no distinction be- - tween test operators and strings that resemble them. The stan- - dard attempts to resolve these for small numbers of arguments - (up to four); for five or more arguments compatibility cannot be - relied on. Users are urged wherever possible to use the `[[' - test syntax which does not have these ambiguities. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/times b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/times deleted file mode 100644 index 0c08c120..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/times +++ /dev/null @@ -1,2 +0,0 @@ -times Print the accumulated user and system times for the shell and - for processes run from the shell. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/trap b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/trap deleted file mode 100644 index f83cde2f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/trap +++ /dev/null @@ -1,72 +0,0 @@ -trap [ arg ] [ sig ... ] - arg is a series of commands (usually quoted to protect it from - immediate evaluation by the shell) to be read and executed when - the shell receives any of the signals specified by one or more - sig args. Each sig can be given as a number, or as the name of - a signal either with or without the string SIG in front (e.g. 1, - HUP, and SIGHUP are all the same signal). - - If arg is `-', then the specified signals are reset to their de- - faults, or, if no sig args are present, all traps are reset. - - If arg is an empty string, then the specified signals are ig- - nored by the shell (and by the commands it invokes). - - If arg is omitted but one or more sig args are provided (i.e. - the first argument is a valid signal number or name), the effect - is the same as if arg had been specified as `-'. - - The trap command with no arguments prints a list of commands as- - sociated with each signal. - - If sig is ZERR then arg will be executed after each command with - a nonzero exit status. ERR is an alias for ZERR on systems that - have no SIGERR signal (this is the usual case). - - If sig is DEBUG then arg will be executed before each command if - the option DEBUG_BEFORE_CMD is set (as it is by default), else - after each command. Here, a `command' is what is described as a - `sublist' in the shell grammar, see the section SIMPLE COMMANDS - & PIPELINES in zshmisc(1). If DEBUG_BEFORE_CMD is set various - additional features are available. First, it is possible to - skip the next command by setting the option ERR_EXIT; see the - description of the ERR_EXIT option in zshoptions(1). Also, the - shell parameter ZSH_DEBUG_CMD is set to the string corresponding - to the command to be executed following the trap. Note that - this string is reconstructed from the internal format and may - not be formatted the same way as the original text. The parame- - ter is unset after the trap is executed. - - If sig is 0 or EXIT and the trap statement is executed inside - the body of a function, then the command arg is executed after - the function completes. The value of $? at the start of execu- - tion is the exit status of the shell or the return status of the - function exiting. If sig is 0 or EXIT and the trap statement is - not executed inside the body of a function, then the command arg - is executed when the shell terminates; the trap runs before any - zshexit hook functions. - - ZERR, DEBUG, and EXIT traps are not executed inside other traps. - ZERR and DEBUG traps are kept within subshells, while other - traps are reset. - - Note that traps defined with the trap builtin are slightly dif- - ferent from those defined as `TRAPNAL () { ... }', as the latter - have their own function environment (line numbers, local vari- - ables, etc.) while the former use the environment of the command - in which they were called. For example, - - trap 'print $LINENO' DEBUG - - will print the line number of a command executed after it has - run, while - - TRAPDEBUG() { print $LINENO; } - - will always print the number zero. - - Alternative signal names are allowed as described under kill - above. Defining a trap under either name causes any trap under - an alternative name to be removed. However, it is recommended - that for consistency users stick exclusively to one name or an- - other. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/true b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/true deleted file mode 100644 index 65e09dc3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/true +++ /dev/null @@ -1,2 +0,0 @@ -true [ arg ... ] - Do nothing and return an exit status of 0. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ttyctl b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ttyctl deleted file mode 100644 index bcccb345..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ttyctl +++ /dev/null @@ -1,22 +0,0 @@ -ttyctl [ -fu ] - The -f option freezes the tty (i.e. terminal or terminal emula- - tor), and -u unfreezes it. When the tty is frozen, no changes - made to the tty settings by external programs will be honored by - the shell, except for changes in the size of the screen; the - shell will simply reset the settings to their previous values as - soon as each command exits or is suspended. Thus, stty and sim- - ilar programs have no effect when the tty is frozen. Freezing - the tty does not cause the current state to be remembered: in- - stead, it causes future changes to the state to be blocked. - - Without options it reports whether the terminal is frozen or - not. - - Note that, regardless of whether the tty is frozen or not, the - shell needs to change the settings when the line editor starts, - so unfreezing the tty does not guarantee settings made on the - command line are preserved. Strings of commands run between - editing the command line will see a consistent tty state. See - also the shell variable STTY for a means of initialising the tty - before running external commands and/or freezing the tty around - a single command. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/type b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/type deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/type +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/typeset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/typeset deleted file mode 100644 index 9d5253e6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/typeset +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ulimit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ulimit deleted file mode 100644 index 8f2f6355..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ulimit +++ /dev/null @@ -1,59 +0,0 @@ -ulimit [ -HSa ] [ { -bcdfiklmnpqrsTtvwx | -N resource } [ limit ] ... ] - Set or display resource limits of the shell and the processes - started by the shell. The value of limit can be a number in the - unit specified below or one of the values `unlimited', which re- - moves the limit on the resource, or `hard', which uses the cur- - rent value of the hard limit on the resource. - - By default, only soft limits are manipulated. If the -H flag is - given use hard limits instead of soft limits. If the -S flag is - given together with the -H flag set both hard and soft limits. - - If no options are used, the file size limit (-f) is assumed. - - If limit is omitted the current value of the specified resources - are printed. When more than one resource value is printed, the - limit name and unit is printed before each value. - - When looping over multiple resources, the shell will abort imme- - diately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue try- - ing to set the remaining limits. - - Not all the following resources are supported on all systems. - Running ulimit -a will show which are supported. - - -a Lists all of the current resource limits. - -b Socket buffer size in bytes (N.B. not kilobytes) - -c 512-byte blocks on the size of core dumps. - -d Kilobytes on the size of the data segment. - -f 512-byte blocks on the size of files written. - -i The number of pending signals. - -k The number of kqueues allocated. - -l Kilobytes on the size of locked-in memory. - -m Kilobytes on the size of physical memory. - -n open file descriptors. - -p The number of pseudo-terminals. - -q Bytes in POSIX message queues. - -r Maximum real time priority. On some systems where this - is not available, such as NetBSD, this has the same ef- - fect as -T for compatibility with sh. - -s Kilobytes on the size of the stack. - -T The number of simultaneous threads available to the user. - -t CPU seconds to be used. - -u The number of processes available to the user. - -v Kilobytes on the size of virtual memory. On some systems - this refers to the limit called `address space'. - -w Kilobytes on the size of swapped out memory. - -x The number of locks on files. - - A resource may also be specified by integer in the form `-N re- - source', where resource corresponds to the integer defined for - the resource by the operating system. This may be used to set - the limits for resources known to the shell which do not corre- - spond to option letters. Such limits will be shown by number in - the output of `ulimit -a'. - - The number may alternatively be out of the range of limits com- - piled into the shell. The shell will try to read or write the - limit anyway, and will report an error if this fails. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/umask b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/umask deleted file mode 100644 index 593b5dc0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/umask +++ /dev/null @@ -1,8 +0,0 @@ -umask [ -S ] [ mask ] - The umask is set to mask. mask can be either an octal number or - a symbolic value as described in the chmod(1) man page. If mask - is omitted, the current value is printed. The -S option causes - the mask to be printed as a symbolic value. Otherwise, the mask - is printed as an octal number. Note that in the symbolic form - the permissions you specify are those which are to be allowed - (not denied) to the users specified. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unalias b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unalias deleted file mode 100644 index 8dd6121a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unalias +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unfunction b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unfunction deleted file mode 100644 index 8dd6121a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unfunction +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unhash b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unhash deleted file mode 100644 index 8dd6121a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unhash +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unlimit b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unlimit deleted file mode 100644 index 8c6c4697..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unlimit +++ /dev/null @@ -1,10 +0,0 @@ -unlimit [ -hs ] resource ... - The resource limit for each resource is set to the hard limit. - If the -h flag is given and the shell has appropriate privi- - leges, the hard resource limit for each resource is removed. - The resources of the shell process are only changed if the -s - flag is given. - - The unlimit command is not made available by default when the - shell starts in a mode emulating another shell. It can be made - available with the command `zmodload -F zsh/rlimits b:unlimit'. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unset b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unset deleted file mode 100644 index 3e818364..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unset +++ /dev/null @@ -1,20 +0,0 @@ -unset [ -fmv ] name ... - Each named parameter is unset. Local parameters remain local - even if unset; they appear unset within scope, but the previous - value will still reappear when the scope ends. - - Individual elements of associative array parameters may be unset - by using subscript syntax on name, which should be quoted (or - the entire command prefixed with noglob) to protect the sub- - script from filename generation. - - If the -m flag is specified the arguments are taken as patterns - (should be quoted) and all parameters with matching names are - unset. Note that this cannot be used when unsetting associative - array elements, as the subscript will be treated as part of the - pattern. - - The -v flag specifies that name refers to parameters. This is - the default behaviour. - - unset -f is equivalent to unfunction. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unsetopt b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unsetopt deleted file mode 100644 index f9ef22d3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/unsetopt +++ /dev/null @@ -1,8 +0,0 @@ -unsetopt [ {+|-}options | {+|-}o option_name ] [ name ... ] - Unset the options for the shell. All options specified either - with flags or by name are unset. If no arguments are supplied, - the names of all options currently unset are printed. If the -m - flag is given the arguments are taken as patterns (which should - be quoted to preserve them from being interpreted as glob pat- - terns), and all options with names matching these patterns are - unset. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/vared b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/vared deleted file mode 100644 index f920ca75..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/vared +++ /dev/null @@ -1 +0,0 @@ -vared See the section `Zle Builtins' in zshzle(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/wait b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/wait deleted file mode 100644 index 75312727..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/wait +++ /dev/null @@ -1,25 +0,0 @@ -wait [ job ... ] - Wait for the specified jobs or processes. If job is not given - then all currently active child processes are waited for. Each - job can be either a job specification or the process ID of a job - in the job table. The exit status from this command is that of - the job waited for. If job represents an unknown job or process - ID, a warning is printed (unless the POSIX_BUILTINS option is - set) and the exit status is 127. - - It is possible to wait for recent processes (specified by - process ID, not by job) that were running in the background even - if the process has exited. Typically the process ID will be - recorded by capturing the value of the variable $! immediately - after the process has been started. There is a limit on the - number of process IDs remembered by the shell; this is given by - the value of the system configuration parameter CHILD_MAX. When - this limit is reached, older process IDs are discarded, least - recently started processes first. - - Note there is no protection against the process ID wrapping, - i.e. if the wait is not executed soon enough there is a chance - the process waited for is the wrong one. A conflict implies - both process IDs have been generated by the shell, as other pro- - cesses are not recorded, and that the user is potentially inter- - ested in both, so this problem is intrinsic to process IDs. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/whence b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/whence deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/whence +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/where b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/where deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/where +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/which b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/which deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/which +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zcompile b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zcompile deleted file mode 100644 index e649320a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zcompile +++ /dev/null @@ -1,122 +0,0 @@ -zcompile [ -U ] [ -z | -k ] [ -R | -M ] file [ name ... ] -zcompile -ca [ -m ] [ -R | -M ] file [ name ... ] -zcompile -t file [ name ... ] - This builtin command can be used to compile functions or - scripts, storing the compiled form in a file, and to examine - files containing the compiled form. This allows faster au- - toloading of functions and sourcing of scripts by avoiding pars- - ing of the text when the files are read. - - The first form (without the -c, -a or -t options) creates a com- - piled file. If only the file argument is given, the output file - has the name `file.zwc' and will be placed in the same directory - as the file. The shell will load the compiled file instead of - the normal function file when the function is autoloaded; see - the section `Autoloading Functions' in zshmisc(1) for a descrip- - tion of how autoloaded functions are searched. The extension - .zwc stands for `zsh word code'. - - If there is at least one name argument, all the named files are - compiled into the output file given as the first argument. If - file does not end in .zwc, this extension is automatically ap- - pended. Files containing multiple compiled functions are called - `digest' files, and are intended to be used as elements of the - FPATH/fpath special array. - - The second form, with the -c or -a options, writes the compiled - definitions for all the named functions into file. For -c, the - names must be functions currently defined in the shell, not - those marked for autoloading. Undefined functions that are - marked for autoloading may be written by using the -a option, in - which case the fpath is searched and the contents of the defini- - tion files for those functions, if found, are compiled into - file. If both -c and -a are given, names of both defined func- - tions and functions marked for autoloading may be given. In ei- - ther case, the functions in files written with the -c or -a op- - tion will be autoloaded as if the KSH_AUTOLOAD option were un- - set. - - The reason for handling loaded and not-yet-loaded functions with - different options is that some definition files for autoloading - define multiple functions, including the function with the same - name as the file, and, at the end, call that function. In such - cases the output of `zcompile -c' does not include the addi- - tional functions defined in the file, and any other initializa- - tion code in the file is lost. Using `zcompile -a' captures all - this extra information. - - If the -m option is combined with -c or -a, the names are used - as patterns and all functions whose names match one of these - patterns will be written. If no name is given, the definitions - of all functions currently defined or marked as autoloaded will - be written. - - Note the second form cannot be used for compiling functions that - include redirections as part of the definition rather than - within the body of the function; for example - - fn1() { { ... } >~/logfile } - - can be compiled but - - fn1() { ... } >~/logfile - - cannot. It is possible to use the first form of zcompile to - compile autoloadable functions that include the full function - definition instead of just the body of the function. - - The third form, with the -t option, examines an existing com- - piled file. Without further arguments, the names of the origi- - nal files compiled into it are listed. The first line of output - shows the version of the shell which compiled the file and how - the file will be used (i.e. by reading it directly or by mapping - it into memory). With arguments, nothing is output and the re- - turn status is set to zero if definitions for all names were - found in the compiled file, and non-zero if the definition for - at least one name was not found. - - Other options: - - -U Aliases are not expanded when compiling the named files. - - -R When the compiled file is read, its contents are copied - into the shell's memory, rather than memory-mapped (see - -M). This happens automatically on systems that do not - support memory mapping. - - When compiling scripts instead of autoloadable functions, - it is often desirable to use this option; otherwise the - whole file, including the code to define functions which - have already been defined, will remain mapped, conse- - quently wasting memory. - - -M The compiled file is mapped into the shell's memory when - read. This is done in such a way that multiple instances - of the shell running on the same host will share this - mapped file. If neither -R nor -M is given, the zcompile - builtin decides what to do based on the size of the com- - piled file. - - -k - -z These options are used when the compiled file contains - functions which are to be autoloaded. If -z is given, the - function will be autoloaded as if the KSH_AUTOLOAD option - is not set, even if it is set at the time the compiled - file is read, while if the -k is given, the function will - be loaded as if KSH_AUTOLOAD is set. These options also - take precedence over any -k or -z options specified to - the autoload builtin. If neither of these options is - given, the function will be loaded as determined by the - setting of the KSH_AUTOLOAD option at the time the com- - piled file is read. - - These options may also appear as many times as necessary - between the listed names to specify the loading style of - all following functions, up to the next -k or -z. - - The created file always contains two versions of the com- - piled format, one for big-endian machines and one for - small-endian machines. The upshot of this is that the - compiled file is machine independent and if it is read or - mapped, only one half of the file is actually used (and - mapped). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zformat b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zformat deleted file mode 100644 index f962636e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zformat +++ /dev/null @@ -1,2 +0,0 @@ -zformat - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zftp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zftp deleted file mode 100644 index 2c66b3a7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zftp +++ /dev/null @@ -1 +0,0 @@ -zftp See the section `The zsh/zftp Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zle deleted file mode 100644 index d79eedef..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zle +++ /dev/null @@ -1 +0,0 @@ -zle See the section `Zle Builtins' in zshzle(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zmodload b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zmodload deleted file mode 100644 index 735241b5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zmodload +++ /dev/null @@ -1,308 +0,0 @@ -zmodload [ -dL ] [ -s ] [ ... ] -zmodload -F [ -alLme -P param ] module [ [+-]feature ... ] -zmodload -e [ -A ] [ ... ] -zmodload [ -a [ -bcpf [ -I ] ] ] [ -iL ] ... -zmodload -u [ -abcdpf [ -I ] ] [ -iL ] ... -zmodload -A [ -L ] [ modalias[=module] ... ] -zmodload -R modalias ... - Performs operations relating to zsh's loadable modules. Loading - of modules while the shell is running (`dynamical loading') is - not available on all operating systems, or on all installations - on a particular operating system, although the zmodload command - itself is always available and can be used to manipulate modules - built into versions of the shell executable without dynamical - loading. - - Without arguments the names of all currently loaded binary mod- - ules are printed. The -L option causes this list to be in the - form of a series of zmodload commands. Forms with arguments - are: - - zmodload [ -is ] name ... - zmodload -u [ -i ] name ... - In the simplest case, zmodload loads a binary module. - The module must be in a file with a name consisting of - the specified name followed by a standard suffix, usually - `.so' (`.sl' on HPUX). If the module to be loaded is al- - ready loaded the duplicate module is ignored. If zmod- - load detects an inconsistency, such as an invalid module - name or circular dependency list, the current code block - is aborted. If it is available, the module is loaded if - necessary, while if it is not available, non-zero status - is silently returned. The option -i is accepted for com- - patibility but has no effect. - - The named module is searched for in the same way a com- - mand is, using $module_path instead of $path. However, - the path search is performed even when the module name - contains a `/', which it usually does. There is no way - to prevent the path search. - - If the module supports features (see below), zmodload - tries to enable all features when loading a module. If - the module was successfully loaded but not all features - could be enabled, zmodload returns status 2. - - If the option -s is given, no error is printed if the - module was not available (though other errors indicating - a problem with the module are printed). The return sta- - tus indicates if the module was loaded. This is appro- - priate if the caller considers the module optional. - - With -u, zmodload unloads modules. The same name must be - given that was given when the module was loaded, but it - is not necessary for the module to exist in the file sys- - tem. The -i option suppresses the error if the module is - already unloaded (or was never loaded). - - Each module has a boot and a cleanup function. The mod- - ule will not be loaded if its boot function fails. Simi- - larly a module can only be unloaded if its cleanup func- - tion runs successfully. - - zmodload -F [ -almLe -P param ] module [ [+-]feature ... ] - zmodload -F allows more selective control over the fea- - tures provided by modules. With no options apart from - -F, the module named module is loaded, if it was not al- - ready loaded, and the list of features is set to the re- - quired state. If no features are specified, the module - is loaded, if it was not already loaded, but the state of - features is unchanged. Each feature may be preceded by a - + to turn the feature on, or - to turn it off; the + is - assumed if neither character is present. Any feature not - explicitly mentioned is left in its current state; if the - module was not previously loaded this means any such fea- - tures will remain disabled. The return status is zero if - all features were set, 1 if the module failed to load, - and 2 if some features could not be set (for example, a - parameter couldn't be added because there was a different - parameter of the same name) but the module was loaded. - - The standard features are builtins, conditions, parame- - ters and math functions; these are indicated by the pre- - fix `b:', `c:' (`C:' for an infix condition), `p:' and - `f:', respectively, followed by the name that the corre- - sponding feature would have in the shell. For example, - `b:strftime' indicates a builtin named strftime and - p:EPOCHSECONDS indicates a parameter named EPOCHSECONDS. - The module may provide other (`abstract') features of its - own as indicated by its documentation; these have no pre- - fix. - - With -l or -L, features provided by the module are - listed. With -l alone, a list of features together with - their states is shown, one feature per line. With -L - alone, a zmodload -F command that would cause enabled - features of the module to be turned on is shown. With - -lL, a zmodload -F command that would cause all the fea- - tures to be set to their current state is shown. If one - of these combinations is given with the option -P param - then the parameter param is set to an array of features, - either features together with their state or (if -L alone - is given) enabled features. - - With the option -L the module name may be omitted; then a - list of all enabled features for all modules providing - features is printed in the form of zmodload -F commands. - If -l is also given, the state of both enabled and dis- - abled features is output in that form. - - A set of features may be provided together with -l or -L - and a module name; in that case only the state of those - features is considered. Each feature may be preceded by - + or - but the character has no effect. If no set of - features is provided, all features are considered. - - With -e, the command first tests that the module is - loaded; if it is not, status 1 is returned. If the mod- - ule is loaded, the list of features given as an argument - is examined. Any feature given with no prefix is simply - tested to see if the module provides it; any feature - given with a prefix + or - is tested to see if is pro- - vided and in the given state. If the tests on all fea- - tures in the list succeed, status 0 is returned, else - status 1. - - With -m, each entry in the given list of features is - taken as a pattern to be matched against the list of fea- - tures provided by the module. An initial + or - must be - given explicitly. This may not be combined with the -a - option as autoloads must be specified explicitly. - - With -a, the given list of features is marked for au- - toload from the specified module, which may not yet be - loaded. An optional + may appear before the feature - name. If the feature is prefixed with -, any existing - autoload is removed. The options -l and -L may be used - to list autoloads. Autoloading is specific to individual - features; when the module is loaded only the requested - feature is enabled. Autoload requests are preserved if - the module is subsequently unloaded until an explicit - `zmodload -Fa module -feature' is issued. It is not an - error to request an autoload for a feature of a module - that is already loaded. - - When the module is loaded each autoload is checked - against the features actually provided by the module; if - the feature is not provided the autoload request is - deleted. A warning message is output; if the module is - being loaded to provide a different feature, and that au- - toload is successful, there is no effect on the status of - the current command. If the module is already loaded at - the time when zmodload -Fa is run, an error message is - printed and status 1 returned. - - zmodload -Fa can be used with the -l, -L, -e and -P op- - tions for listing and testing the existence of autoload- - able features. In this case -l is ignored if -L is spec- - ified. zmodload -FaL with no module name lists autoloads - for all modules. - - Note that only standard features as described above can - be autoloaded; other features require the module to be - loaded before enabling. - - zmodload -d [ -L ] [ name ] - zmodload -d name dep ... - zmodload -ud name [ dep ... ] - The -d option can be used to specify module dependencies. - The modules named in the second and subsequent arguments - will be loaded before the module named in the first argu- - ment. - - With -d and one argument, all dependencies for that mod- - ule are listed. With -d and no arguments, all module de- - pendencies are listed. This listing is by default in a - Makefile-like format. The -L option changes this format - to a list of zmodload -d commands. - - If -d and -u are both used, dependencies are removed. If - only one argument is given, all dependencies for that - module are removed. - - zmodload -ab [ -L ] - zmodload -ab [ -i ] name [ builtin ... ] - zmodload -ub [ -i ] builtin ... - The -ab option defines autoloaded builtins. It defines - the specified builtins. When any of those builtins is - called, the module specified in the first argument is - loaded and all its features are enabled (for selective - control of features use `zmodload -F -a' as described - above). If only the name is given, one builtin is de- - fined, with the same name as the module. -i suppresses - the error if the builtin is already defined or au- - toloaded, but not if another builtin of the same name is - already defined. - - With -ab and no arguments, all autoloaded builtins are - listed, with the module name (if different) shown in - parentheses after the builtin name. The -L option - changes this format to a list of zmodload -a commands. - - If -b is used together with the -u option, it removes - builtins previously defined with -ab. This is only pos- - sible if the builtin is not yet loaded. -i suppresses - the error if the builtin is already removed (or never ex- - isted). - - Autoload requests are retained if the module is subse- - quently unloaded until an explicit `zmodload -ub builtin' - is issued. - - zmodload -ac [ -IL ] - zmodload -ac [ -iI ] name [ cond ... ] - zmodload -uc [ -iI ] cond ... - The -ac option is used to define autoloaded condition - codes. The cond strings give the names of the conditions - defined by the module. The optional -I option is used to - define infix condition names. Without this option prefix - condition names are defined. - - If given no condition names, all defined names are listed - (as a series of zmodload commands if the -L option is - given). - - The -uc option removes definitions for autoloaded condi- - tions. - - zmodload -ap [ -L ] - zmodload -ap [ -i ] name [ parameter ... ] - zmodload -up [ -i ] parameter ... - The -p option is like the -b and -c options, but makes - zmodload work on autoloaded parameters instead. - - zmodload -af [ -L ] - zmodload -af [ -i ] name [ function ... ] - zmodload -uf [ -i ] function ... - The -f option is like the -b, -p, and -c options, but - makes zmodload work on autoloaded math functions instead. - - zmodload -a [ -L ] - zmodload -a [ -i ] name [ builtin ... ] - zmodload -ua [ -i ] builtin ... - Equivalent to -ab and -ub. - - zmodload -e [ -A ] [ string ... ] - The -e option without arguments lists all loaded modules; - if the -A option is also given, module aliases corre- - sponding to loaded modules are also shown. If arguments - are provided, nothing is printed; the return status is - set to zero if all strings given as arguments are names - of loaded modules and to one if at least on string is not - the name of a loaded module. This can be used to test - for the availability of things implemented by modules. - In this case, any aliases are automatically resolved and - the -A flag is not used. - - zmodload -A [ -L ] [ modalias[=module] ... ] - For each argument, if both modalias and module are given, - define modalias to be an alias for the module module. If - the module modalias is ever subsequently requested, ei- - ther via a call to zmodload or implicitly, the shell will - attempt to load module instead. If module is not given, - show the definition of modalias. If no arguments are - given, list all defined module aliases. When listing, if - the -L flag was also given, list the definition as a - zmodload command to recreate the alias. - - The existence of aliases for modules is completely inde- - pendent of whether the name resolved is actually loaded - as a module: while the alias exists, loading and unload- - ing the module under any alias has exactly the same ef- - fect as using the resolved name, and does not affect the - connection between the alias and the resolved name which - can be removed either by zmodload -R or by redefining the - alias. Chains of aliases (i.e. where the first resolved - name is itself an alias) are valid so long as these are - not circular. As the aliases take the same format as - module names, they may include path separators: in this - case, there is no requirement for any part of the path - named to exist as the alias will be resolved first. For - example, `any/old/alias' is always a valid alias. - - Dependencies added to aliased modules are actually added - to the resolved module; these remain if the alias is re- - moved. It is valid to create an alias whose name is one - of the standard shell modules and which resolves to a - different module. However, if a module has dependencies, - it will not be possible to use the module name as an - alias as the module will already be marked as a loadable - module in its own right. - - Apart from the above, aliases can be used in the zmodload - command anywhere module names are required. However, - aliases will not be shown in lists of loaded modules with - a bare `zmodload'. - - zmodload -R modalias ... - For each modalias argument that was previously defined as - a module alias via zmodload -A, delete the alias. If any - was not defined, an error is caused and the remainder of - the line is ignored. - - Note that zsh makes no distinction between modules that were - linked into the shell and modules that are loaded dynamically. - In both cases this builtin command has to be used to make avail- - able the builtins and other things defined by modules (unless - the module is autoloaded on these definitions). This is true - even for systems that don't support dynamic loading of modules. diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zparseopts b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zparseopts deleted file mode 100644 index 82608a2c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zparseopts +++ /dev/null @@ -1,2 +0,0 @@ -zparseopts - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zprof b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zprof deleted file mode 100644 index 7885238c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zprof +++ /dev/null @@ -1 +0,0 @@ -zprof See the section `The zsh/zprof Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zpty b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zpty deleted file mode 100644 index 1e169fd3..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zpty +++ /dev/null @@ -1 +0,0 @@ -zpty See the section `The zsh/zpty Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zregexparse b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zregexparse deleted file mode 100644 index 717fb78a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zregexparse +++ /dev/null @@ -1,2 +0,0 @@ -zregexparse - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zsocket b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zsocket deleted file mode 100644 index 6e6f81fb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zsocket +++ /dev/null @@ -1,2 +0,0 @@ -zsocket - See the section `The zsh/net/socket Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zstyle b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zstyle deleted file mode 100644 index 654a4041..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/zstyle +++ /dev/null @@ -1 +0,0 @@ -zstyle See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ztcp b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ztcp deleted file mode 100644 index 9b9d62f6..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/help/ztcp +++ /dev/null @@ -1 +0,0 @@ -ztcp See the section `The zsh/net/tcp Module' in zshmodules(1). diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/scripts/newuser b/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/scripts/newuser deleted file mode 100644 index b5d74210..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/5.9/scripts/newuser +++ /dev/null @@ -1,8 +0,0 @@ -# zsh script sourced at startup when a user is found to have -# no startup files. See the documentation for the zsh/newuser -# module in zshmodules(1). - -if functions zsh-newuser-install >/dev/null 2>&1 || - autoload -U +X zsh-newuser-install; then - zsh-newuser-install -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/init.zsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/init.zsh deleted file mode 100644 index 5ef4b434..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/init.zsh +++ /dev/null @@ -1,3 +0,0 @@ - -# Source module files. -source "${0:h}/nix.plugin.zsh" || return 1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh deleted file mode 100644 index 29833e18..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh +++ /dev/null @@ -1,31 +0,0 @@ -# Nix Install -alias ni='nix-env -iA' - -# Nix Search -alias ns='nix-env -qaP' - -function prompt_nix_shell_precmd { - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" || ${IN_NIX_RUN} && ${IN_NIX_RUN} != "0" ]]; then - if [[ -n ${IN_WHICH_NIX_SHELL} ]] then - NIX_SHELL_NAME=": ${IN_WHICH_NIX_SHELL}" - fi - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" ]]; then - NAME="nix-shell" - else - NAME="nix-run" - fi - NIX_PROMPT="%F{8}[%F{3}${NAME}${NIX_SHELL_NAME}%F{8}]%f" - if [[ $PROMPT != *"$NIX_PROMPT"* ]] then - PROMPT="$NIX_PROMPT $PROMPT" - fi - fi -} - -function prompt_nix_shell_setup { - autoload -Uz add-zsh-hook - add-zsh-hook precmd prompt_nix_shell_precmd -} - -# Add this to your zshrc if you want the prompt prefixed with `[nix-shell]` -# when you're in a nix-shell environment. -# prompt_nix_shell_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix.plugin.zsh b/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix.plugin.zsh deleted file mode 100644 index 29833e18..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/plugins/nix/nix.plugin.zsh +++ /dev/null @@ -1,31 +0,0 @@ -# Nix Install -alias ni='nix-env -iA' - -# Nix Search -alias ns='nix-env -qaP' - -function prompt_nix_shell_precmd { - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" || ${IN_NIX_RUN} && ${IN_NIX_RUN} != "0" ]]; then - if [[ -n ${IN_WHICH_NIX_SHELL} ]] then - NIX_SHELL_NAME=": ${IN_WHICH_NIX_SHELL}" - fi - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" ]]; then - NAME="nix-shell" - else - NAME="nix-run" - fi - NIX_PROMPT="%F{8}[%F{3}${NAME}${NIX_SHELL_NAME}%F{8}]%f" - if [[ $PROMPT != *"$NIX_PROMPT"* ]] then - PROMPT="$NIX_PROMPT $PROMPT" - fi - fi -} - -function prompt_nix_shell_setup { - autoload -Uz add-zsh-hook - add-zsh-hook precmd prompt_nix_shell_precmd -} - -# Add this to your zshrc if you want the prompt prefixed with `[nix-shell]` -# when you're in a nix-shell environment. -# prompt_nix_shell_setup "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_aws b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_aws deleted file mode 100644 index c1b2c124..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_aws +++ /dev/null @@ -1,60 +0,0 @@ -# Source this file to activate auto completion for zsh using the bash -# compatibility helper. Make sure to run `compinit` before, which should be -# given usually. -# -# % source /path/to/zsh_complete.sh -# -# Typically that would be called somewhere in your .zshrc. -# -# Note, the overwrite of _bash_complete() is to export COMP_LINE and COMP_POINT -# That is only required for zsh <= edab1d3dbe61da7efe5f1ac0e40444b2ec9b9570 -# -# https://github.com/zsh-users/zsh/commit/edab1d3dbe61da7efe5f1ac0e40444b2ec9b9570 -# -# zsh releases prior to that version do not export the required env variables! - -autoload -Uz bashcompinit -bashcompinit -i - -_bash_complete() { - local ret=1 - local -a suf matches - local -x COMP_POINT COMP_CWORD - local -a COMP_WORDS COMPREPLY BASH_VERSINFO - local -x COMP_LINE="$words" - local -A savejobstates savejobtexts - - (( COMP_POINT = 1 + ${#${(j. .)words[1,CURRENT]}} + $#QIPREFIX + $#IPREFIX + $#PREFIX )) - (( COMP_CWORD = CURRENT - 1)) - COMP_WORDS=( $words ) - BASH_VERSINFO=( 2 05b 0 1 release ) - - savejobstates=( ${(kv)jobstates} ) - savejobtexts=( ${(kv)jobtexts} ) - - [[ ${argv[${argv[(I)nospace]:-0}-1]} = -o ]] && suf=( -S '' ) - - matches=( ${(f)"$(compgen $@ -- ${words[CURRENT]})"} ) - - if [[ -n $matches ]]; then - if [[ ${argv[${argv[(I)filenames]:-0}-1]} = -o ]]; then - compset -P '*/' && matches=( ${matches##*/} ) - compset -S '/*' && matches=( ${matches%%/*} ) - compadd -Q -f "${suf[@]}" -a matches && ret=0 - else - compadd -Q "${suf[@]}" -a matches && ret=0 - fi - fi - - if (( ret )); then - if [[ ${argv[${argv[(I)default]:-0}-1]} = -o ]]; then - _default "${suf[@]}" && ret=0 - elif [[ ${argv[${argv[(I)dirnames]:-0}-1]} = -o ]]; then - _directories "${suf[@]}" && ret=0 - fi - fi - - return ret -} - -complete -C aws_completer aws diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_az b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_az deleted file mode 100644 index 16b7da81..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_az +++ /dev/null @@ -1,81 +0,0 @@ -#compdef az -# Run something, muting output or redirecting it to the debug stream -# depending on the value of _ARC_DEBUG. -# If ARGCOMPLETE_USE_TEMPFILES is set, use tempfiles for IPC. -__python_argcomplete_run() { - if [[ -z "${ARGCOMPLETE_USE_TEMPFILES-}" ]]; then - __python_argcomplete_run_inner "$@" - return - fi - local tmpfile="$(mktemp)" - _ARGCOMPLETE_STDOUT_FILENAME="$tmpfile" __python_argcomplete_run_inner "$@" - local code=$? - cat "$tmpfile" - rm "$tmpfile" - return $code -} - -__python_argcomplete_run_inner() { - if [[ -z "${_ARC_DEBUG-}" ]]; then - "$@" 8>&1 9>&2 1>/dev/null 2>&1 </dev/null - else - "$@" 8>&1 9>&2 1>&9 2>&1 </dev/null - fi -} - -_python_argcomplete() { - local IFS=$'\013' - local script="" - if [[ -n "${ZSH_VERSION-}" ]]; then - local completions - completions=($(IFS="$IFS" \ - COMP_LINE="$BUFFER" \ - COMP_POINT="$CURSOR" \ - _ARGCOMPLETE=1 \ - _ARGCOMPLETE_SHELL="zsh" \ - _ARGCOMPLETE_SUPPRESS_SPACE=1 \ - __python_argcomplete_run ${script:-${words[1]}})) - local nosort=() - local nospace=() - if is-at-least 5.8; then - nosort=(-o nosort) - fi - if [[ "${completions-}" =~ ([^\\]): && "${match[1]}" =~ [=/:] ]]; then - nospace=(-S '') - fi - _describe "${words[1]}" completions "${nosort[@]}" "${nospace[@]}" - else - local SUPPRESS_SPACE=0 - if compopt +o nospace 2> /dev/null; then - SUPPRESS_SPACE=1 - fi - COMPREPLY=($(IFS="$IFS" \ - COMP_LINE="$COMP_LINE" \ - COMP_POINT="$COMP_POINT" \ - COMP_TYPE="$COMP_TYPE" \ - _ARGCOMPLETE_COMP_WORDBREAKS="$COMP_WORDBREAKS" \ - _ARGCOMPLETE=1 \ - _ARGCOMPLETE_SHELL="bash" \ - _ARGCOMPLETE_SUPPRESS_SPACE=$SUPPRESS_SPACE \ - __python_argcomplete_run ${script:-$1})) - if [[ $? != 0 ]]; then - unset COMPREPLY - elif [[ $SUPPRESS_SPACE == 1 ]] && [[ "${COMPREPLY-}" =~ [=/:]$ ]]; then - compopt -o nospace - fi - fi -} -if [[ -z "${ZSH_VERSION-}" ]]; then - complete -o nospace -o default -o bashdefault -F _python_argcomplete az -else - # When called by the Zsh completion system, this will end with - # "loadautofunc" when initially autoloaded and "shfunc" later on, otherwise, - # the script was "eval"-ed so use "compdef" to register it with the - # completion system - autoload is-at-least - if [[ $zsh_eval_context == *func ]]; then - _python_argcomplete "$@" - else - compdef _python_argcomplete az - fi -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bat b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bat deleted file mode 100644 index 9789868f..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bat +++ /dev/null @@ -1,115 +0,0 @@ -#compdef bat - -local curcontext="$curcontext" ret=1 -local -a state state_descr line -typeset -A opt_args - -(( $+functions[_bat_cache_subcommand] )) || -_bat_cache_subcommand() { - local -a args - args=( - '(-b --build -c --clear)'{-b,--build}'[initialize or update the syntax/theme cache]' - '(-b --build -c --clear)'{-c,--clear}'[remove the cached syntax definitions and themes]' - --source='[specify directory to load syntaxes and themes from]:directory:_files -/' - --target='[specify directory to store the cached syntax and theme set in]:directory:_files -/' - --blank'[create completely new syntax and theme sets]' - --acknowledgements'[build acknowledgements.bin]' - '(: -)'{-h,--help}'[show help information]' - ) - - _arguments -S -s $args -} - -(( $+functions[_bat_main] )) || -_bat_main() { - local -a args - args=( - '(-A --show-all)'{-A,--show-all}'[show non-printable characters (space, tab, newline, ..)]' - --nonprintable-notation='[specify how to display non-printable characters when using --show-all]:notation:(caret unicode)' - \*{-p,--plain}'[show plain style (alias for `--style=plain`), repeat twice to disable automatic paging (alias for `--paging=never`)]' - '(-l --language)'{-l+,--language=}'[set the language for syntax highlighting]:language:->languages' - \*{-H+,--highlight-line=}'[highlight specified block of lines]:start\:end' - \*--file-name='[specify the name to display for a file]:name:_files' - '(-d --diff)'--diff'[only show lines that have been added/removed/modified]' - --diff-context='[specify lines of context around added/removed/modified lines when using `--diff`]:lines' - --tabs='[set the tab width]:tab width [4]' - --wrap='[specify the text-wrapping mode]:mode [auto]:(auto never character)' - '!(--wrap)'{-S,--chop-long-lines} - --terminal-width='[explicitly set the width of the terminal instead of determining it automatically]:width' - '(-n --number --diff --diff-context)'{-n,--number}'[show line numbers]' - --color='[specify when to use colors]:when:(auto never always)' - --italic-text='[use italics in output]:when:(always never)' - --decorations='[specify when to show the decorations]:when:(auto never always)' - --paging='[specify when to use the pager]:when:(auto never always)' - '(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps' - '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->theme_preferences' - '(--theme-dark)'--theme-dark='[set the color theme for syntax highlighting for dark backgrounds]:theme:->themes' - '(--theme-light)'--theme-light='[set the color theme for syntax highlighting for light backgrounds]:theme:->themes' - '(: --list-themes --list-languages -L)'--list-themes'[show all supported highlighting themes]' - --style='[comma-separated list of style elements to display]: : _values "style [default]" - default auto full plain changes header header-filename header-filesize grid rule numbers snip' - \*{-r+,--line-range=}'[only print the specified line range]:start\:end' - '(* -)'{-L,--list-languages}'[display all supported languages]' - -P'[disable paging]' - "--no-config[don't use the configuration file]" - "--no-custom-assets[don't load custom assets]" - '(--no-lessopen)'--lessopen'[enable the $LESSOPEN preprocessor]' - '(--lessopen)'--no-lessopen'[disable the $LESSOPEN preprocessor if enabled (overrides --lessopen)]' - '(* -)'--config-dir"[show bat's configuration directory]" - '(* -)'--config-file'[show path to the configuration file]' - '(* -)'--generate-config-file'[generate a default configuration file]' - '(* -)'--cache-dir"[show bat's cache directory]" - '(* -)'{-h,--help}'[show help information]' - '(* -)'{-V,--version}'[show version information]' - '*: :{ _files || compadd cache }' - ) - - _arguments -S -s $args && ret=0 - - case "$state" in - syntax-maps) - if ! compset -P '*:'; then - _message -e patterns 'glob pattern:language' - return - fi - ;& # fall-through - - languages) - local IFS=$'\n' - local -a languages - languages=( $(bat --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') ) - - _describe 'language' languages && ret=0 - ;; - - themes) - local -a themes expl - themes=(${(f)"$(_call_program themes bat --list-themes)"} ) - - _wanted themes expl 'theme' compadd -a themes && ret=0 - ;; - theme_preferences) - local -a themes expl - themes=(auto dark light auto:always auto:system ${(f)"$(_call_program themes bat --list-themes)"} ) - - _wanted themes expl 'theme' compadd -a themes && ret=0 - ;; - esac - - return ret -} - -case $words[2] in - cache) - ## Completion of the 'cache' command itself is removed for better UX - ## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802 - shift words - (( CURRENT-- )) - curcontext="${curcontext%:*}-${words[1]}:" - _bat_cache_subcommand - ;; - - *) - _bat_main - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bun b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bun deleted file mode 100644 index ca9fbfae..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_bun +++ /dev/null @@ -1,966 +0,0 @@ -#compdef bun - -_bun_add_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '*: :->package' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--production[Don'"'"'t install devDependencies]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '--global[Add a package globally]' \ - '-g[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' \ - '--dev[Add dependence to "devDependencies]' \ - '-d[Add dependence to "devDependencies]' \ - '-D[]' \ - '--development[]' \ - '--optional[Add dependency to "optionalDependencies]' \ - '--peer[Add dependency to "peerDependencies]' \ - '--exact[Add the exact version instead of the ^range]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - package) - _bun_add_param_package_completion - - ;; - esac -} - -_bun_unlink_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '*: :->package' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--production[Don'"'"'t install devDependencies]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '--global[Add a package globally]' \ - '-g[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - package) - # TODO: error: bun unlink {packageName} not implemented yet - - ;; - esac -} - -_bun_link_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '*: :->package' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--production[Don'"'"'t install devDependencies]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '--global[Add a package globally]' \ - '-g[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - package) - _bun_link_param_package_completion - - ;; - esac -} - -_bun_bun_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '*: :->file' \ - '--version[Show version and exit]' \ - '-V[Show version and exit]' \ - '--cwd[Change directory]:cwd' \ - '--help[Show command help]' \ - '-h[Show command help]' \ - '--use[Use a framework, e.g. "next"]:use' && - ret=0 - - case $state in - file) - _files - - ;; - esac -} - -_bun_init_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '-y[Answer yes to all prompts]:' \ - '--yes[Answer yes to all prompts]:' && - ret=0 - -} - -_bun_create_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - '*: :->args' && - ret=0 - - case $state in - cmd2) - _alternative 'args:create:((next-app\:"Next.js app" react-app\:"React app"))' - - ;; - args) - case $line[2] in - next) - pmargs=( - '1: :->cmd' - '2: :->cmd2' - '3: :->file' - '--force[Overwrite existing files]' - '--no-install[Don'"'"'t install node_modules]' - '--no-git[Don'"'"'t create a git repository]' - '--verbose[verbose]' - '--no-package-json[Disable package.json transforms]' - '--open[On finish, start bun & open in-browser]' - ) - - # ---- Command: create next - _arguments -s -C \ - $pmargs && - ret=0 - - case $state in - file) - _files - - ;; - esac - - ;; - react) - - # ---- Command: create react - _arguments -s -C \ - $pmargs && - ret=0 - - case $state in - file) - _files - - ;; - esac - - ;; - *) - - # ---- Command: create from other template - _arguments -s -C \ - $pmargs && - ret=0 - - case $state in - file) - _files - - ;; - esac - - ;; - esac - - ;; - - esac -} - -_bun_pm_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - '*: :->args' && - ret=0 - - case $state in - cmd2) - sub_commands=( - 'bin\:"print the path to bin folder" ' - 'ls\:"list the dependency tree according to the current lockfile" ' - 'hash\:"generate & print the hash of the current lockfile" ' - 'hash-string\:"print the string used to hash the lockfile" ' - 'hash-print\:"print the hash stored in the current lockfile" ' - 'cache\:"print the path to the cache folder" ' - ) - - _alternative "args:cmd3:(($sub_commands))" - - ;; - args) - case $line[2] in - cache) - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - ':::(rm)' && - ret=0 - - ;; - bin) - pmargs=( - "-g[print the global path to bin folder]" - ) - - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - $pmargs && - ret=0 - - ;; - ls) - pmargs=( - "--all[list the entire dependency tree according to the current lockfile]" - ) - - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - $pmargs && - ret=0 - - ;; - esac - - ;; - esac -} - -_bun_install_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--production[Don'"'"'t install devDependencies]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '--global[Add a package globally]' \ - '-g[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' \ - '--dev[Add dependence to "devDependencies]' \ - '-d[Add dependence to "devDependencies]' \ - '--development[]' \ - '-D[]' \ - '--optional[Add dependency to "optionalDependencies]' \ - '--peer[Add dependency to "peerDependencies]' \ - '--exact[Add the exact version instead of the ^range]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - esac -} - -_bun_remove_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '*: :->package' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--production[Don'"'"'t install devDependencies]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '--global[Add a package globally]' \ - '-g[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - package) - _bun_remove_param_package_completion - - ;; - esac -} - -_bun_run_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '2: :->script' \ - '*: :->other' \ - '--help[Display this help and exit]' \ - '-h[Display this help and exit]' \ - '--bun[Force a script or package to use Bun'"'"'s runtime instead of Node.js (via symlinking node)]' \ - '-b[Force a script or package to use Bun'"'"'s runtime instead of Node.js (via symlinking node)]' \ - '--cwd[Absolute path to resolve files & entry points from. This just changes the process cwd]:cwd' \ - '--config[Config file to load bun from (e.g. -c bunfig.toml]: :->config' \ - '-c[Config file to load bun from (e.g. -c bunfig.toml]: :->config' \ - '--env-file[Load environment variables from the specified file(s)]:env-file' \ - '--extension-order[Defaults to: .tsx,.ts,.jsx,.js,.json]:extension-order' \ - '--jsx-factory[Changes the function called when compiling JSX elements using the classic JSX runtime]:jsx-factory' \ - '--jsx-fragment[Changes the function called when compiling JSX fragments]:jsx-fragment' \ - '--jsx-import-source[Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: "react"]:jsx-import-source' \ - '--jsx-runtime["automatic" (default) or "classic"]: :->jsx-runtime' \ - '--preload[Import a module before other modules are loaded]:preload' \ - '-r[Import a module before other modules are loaded]:preload' \ - '--main-fields[Main fields to lookup in package.json. Defaults to --target dependent]:main-fields' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--version[Print version and exit]' \ - '-v[Print version and exit]' \ - '--revision[Print version with revision and exit]' \ - '--tsconfig-override[Load tsconfig from path instead of cwd/tsconfig.json]:tsconfig-override' \ - '--define[Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:"development". Values are parsed as JSON.]:define' \ - '-d[Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:"development". Values are parsed as JSON.]:define' \ - '--external[Exclude module from transpilation (can use * wildcards). ex: -e react]:external' \ - '-e[Exclude module from transpilation (can use * wildcards). ex: -e react]:external' \ - '--loader[Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi]:loader' \ - '--packages[Exclude dependencies from bundle, e.g. --packages external. Valid options: bundle, external]:packages' \ - '-l[Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi]:loader' \ - '--origin[Rewrite import URLs to start with --origin. Default: ""]:origin' \ - '-u[Rewrite import URLs to start with --origin. Default: ""]:origin' \ - '--port[Port to serve bun'"'"'s dev server on. Default: '"'"'3000'"'"']:port' \ - '-p[Port to serve bun'"'"'s dev server on. Default: '"'"'3000'"'"']:port' \ - '--smol[Use less memory, but run garbage collection more often]' \ - '--minify[Minify (experimental)]' \ - '--minify-syntax[Minify syntax and inline data (experimental)]' \ - '--minify-whitespace[Minify Whitespace (experimental)]' \ - '--minify-identifiers[Minify identifiers]' \ - '--no-macros[Disable macros from being executed in the bundler, transpiler and runtime]' \ - '--target[The intended execution environment for the bundle. "browser", "bun" or "node"]: :->target' \ - '--inspect[Activate Bun'"'"'s Debugger]:inspect' \ - '--inspect-wait[Activate Bun'"'"'s Debugger, wait for a connection before executing]:inspect-wait' \ - '--inspect-brk[Activate Bun'"'"'s Debugger, set breakpoint on first line of code and wait]:inspect-brk' \ - '--hot[Enable auto reload in bun'"'"'s JavaScript runtime]' \ - '--watch[Automatically restart bun'"'"'s JavaScript runtime on file change]' \ - '--no-install[Disable auto install in bun'"'"'s JavaScript runtime]' \ - '--install[Install dependencies automatically when no node_modules are present, default: "auto". "force" to ignore node_modules, fallback to install any missing]: :->install_' \ - '-i[Automatically install dependencies and use global cache in bun'"'"'s runtime, equivalent to --install=fallback'] \ - '--prefer-offline[Skip staleness checks for packages in bun'"'"'s JavaScript runtime and resolve from disk]' \ - '--prefer-latest[Use the latest matching versions of packages in bun'"'"'s JavaScript runtime, always checking npm]' \ - '--silent[Don'"'"'t repeat the command for bun run]' \ - '--dump-environment-variables[Dump environment variables from .env and process as JSON and quit. Useful for debugging]' \ - '--dump-limits[Dump system limits. Userful for debugging]' && - ret=0 - - case $state in - script) - curcontext="${curcontext%:*:*}:bun-grouped" - _bun_run_param_script_completion - - ;; - jsx-runtime) - _alternative 'args:cmd3:((classic automatic))' - - ;; - target) - _alternative 'args:cmd3:((browser bun node))' - - ;; - install_) - _alternative 'args:cmd3:((auto force fallback))' - - ;; - other) - _files - - ;; - esac - -} - -_bun_upgrade_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '--canary[Upgrade to canary build]' && - ret=0 - -} - -_bun_build_completion() { - _arguments -s -C \ - '1: :->cmd' \ - '*: :->file' \ - '--outfile[Write the output to a specific file (default: stdout)]:outfile' \ - '--outdir[Write the output to a directory (required for splitting)]:outdir' \ - '--minify[Enable all minification flags]' \ - '--minify-whitespace[Remove unneeded whitespace]' \ - '--minify-syntax[Transform code to use less syntax]' \ - '--minify-identifiers[Shorten variable names]' \ - '--sourcemap[Generate sourcemaps]: :->sourcemap' \ - '--target[The intended execution environment for the bundle. "browser", "bun" or "node"]: :->target' \ - '--splitting[Whether to enable code splitting (requires --outdir)]' \ - '--compile[generating a standalone binary from a TypeScript or JavaScript file]' \ - '--format[Specifies the module format to be used in the generated bundles]: :->format' && - ret=0 - - case $state in - file) - _files - - ;; - target) - _alternative 'args:cmd3:((browser bun node))' - - ;; - sourcemap) - _alternative 'args:cmd3:((none external inline))' - - ;; - format) - - _alternative 'args:cmd3:((esm cjs iife))' - ;; - esac -} - -_bun_update_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '-y[Write a yarn.lock file (yarn v1)]' \ - '--yarn[Write a yarn.lock file (yarn v1)]' \ - '-p[Don'"'"'t install devDependencies]' \ - '--production[Don'"'"'t install devDependencies]' \ - '--no-save[Don'"'"'t save a lockfile]' \ - '--save[Save to package.json]' \ - '--dry-run[Don'"'"'t install anything]' \ - '--frozen-lockfile[Disallow changes to lockfile]' \ - '-f[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--force[Always request the latest versions from the registry & reinstall all dependencies]' \ - '--cache-dir[Store & load cached data from a specific directory path]:cache-dir' \ - '--no-cache[Ignore manifest cache entirely]' \ - '--silent[Don'"'"'t log anything]' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--no-verify[Skip verifying integrity of newly downloaded packages]' \ - '--ignore-scripts[Skip lifecycle scripts in the package.json (dependency scripts are never run)]' \ - '-g[Add a package globally]' \ - '--global[Add a package globally]' \ - '--cwd[Set a specific cwd]:cwd' \ - '--backend[Platform-specific optimizations for installing dependencies]:backend:("copyfile" "hardlink" "symlink")' \ - '--link-native-bins[Link "bin" from a matching platform-specific dependency instead. Default: esbuild, turbo]:link-native-bins' \ - '--help[Print this help menu]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - esac -} - -_bun_outdated_completion() { - _arguments -s -C \ - '--cwd[Set a specific cwd]:cwd' \ - '--verbose[Excessively verbose logging]' \ - '--no-progress[Disable the progress bar]' \ - '--help[Print this help menu]' && - ret=0 - - case $state in - config) - _bun_list_bunfig_toml - - ;; - esac -} - -_bun_test_completion() { - _arguments -s -C \ - '1: :->cmd1' \ - '*: :->file' \ - '-h[Display this help and exit]' \ - '--help[Display this help and exit]' \ - '-b[Force a script or package to use Bun.js instead of Node.js (via symlinking node)]' \ - '--bun[Force a script or package to use Bun.js instead of Node.js (via symlinking node)]' \ - '--cwd[Set a specific cwd]:cwd' \ - '-c[Load config(bunfig.toml)]: :->config' \ - '--config[Load config(bunfig.toml)]: :->config' \ - '--env-file[Load environment variables from the specified file(s)]:env-file' \ - '--extension-order[Defaults to: .tsx,.ts,.jsx,.js,.json]:extension-order' \ - '--jsx-factory[Changes the function called when compiling JSX elements using the classic JSX runtime]:jsx-factory' \ - '--jsx-fragment[Changes the function called when compiling JSX fragments]:jsx-fragment' \ - '--jsx-import-source[Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: "react"]:jsx-import-source' \ - '--jsx-runtime["automatic" (default) or "classic"]: :->jsx-runtime' \ - '--preload[Import a module before other modules are loaded]:preload' \ - '-r[Import a module before other modules are loaded]:preload' \ - '--main-fields[Main fields to lookup in package.json. Defaults to --target dependent]:main-fields' \ - '--no-summary[Don'"'"'t print a summary]' \ - '--version[Print version and exit]' \ - '-v[Print version and exit]' \ - '--revision[Print version with revision and exit]' \ - '--tsconfig-override[Load tsconfig from path instead of cwd/tsconfig.json]:tsconfig-override' \ - '--define[Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:"development". Values are parsed as JSON.]:define' \ - '-d[Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:"development". Values are parsed as JSON.]:define' \ - '--external[Exclude module from transpilation (can use * wildcards). ex: -e react]:external' \ - '-e[Exclude module from transpilation (can use * wildcards). ex: -e react]:external' \ - '--loader[Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi]:loader' \ - '-l[Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi]:loader' \ - '--origin[Rewrite import URLs to start with --origin. Default: ""]:origin' \ - '-u[Rewrite import URLs to start with --origin. Default: ""]:origin' \ - '--port[Port to serve bun'"'"'s dev server on. Default: '"'"'3000'"'"']:port' \ - '-p[Port to serve bun'"'"'s dev server on. Default: '"'"'3000'"'"']:port' \ - '--smol[Use less memory, but run garbage collection more often]' \ - '--minify[Minify (experimental)]' \ - '--minify-syntax[Minify syntax and inline data (experimental)]' \ - '--minify-identifiers[Minify identifiers]' \ - '--no-macros[Disable macros from being executed in the bundler, transpiler and runtime]' \ - '--target[The intended execution environment for the bundle. "browser", "bun" or "node"]: :->target' \ - '--inspect[Activate Bun'"'"'s Debugger]:inspect' \ - '--inspect-wait[Activate Bun'"'"'s Debugger, wait for a connection before executing]:inspect-wait' \ - '--inspect-brk[Activate Bun'"'"'s Debugger, set breakpoint on first line of code and wait]:inspect-brk' \ - '--watch[Automatically restart bun'"'"'s JavaScript runtime on file change]' \ - '--timeout[Set the per-test timeout in milliseconds, default is 5000.]:timeout' \ - '--update-snapshots[Update snapshot files]' \ - '--rerun-each[Re-run each test file <NUMBER> times, helps catch certain bugs]:rerun' \ - '--only[Only run tests that are marked with "test.only()"]' \ - '--todo[Include tests that are marked with "test.todo()"]' \ - '--coverage[Generate a coverage profile]' \ - '--bail[Exit the test suite after <NUMBER> failures. If you do not specify a number, it defaults to 1.]:bail' \ - '--test-name-pattern[Run only tests with a name that matches the given regex]:pattern' \ - '-t[Run only tests with a name that matches the given regex]:pattern' && - ret=0 - - case $state in - file) - _bun_test_param_script_completion - - ;; - config) - _files - - ;; - - esac - -} - -_bun() { - zstyle ':completion:*:*:bun:*' group-name '' - zstyle ':completion:*:*:bun-grouped:*' group-name '' - - zstyle ':completion:*:*:bun::descriptions' format '%F{green}-- %d --%f' - zstyle ':completion:*:*:bun-grouped:*' format '%F{green}-- %d --%f' - # zstyle ':completion:*:options' list-colors '=^(-- *)=34' - - local program=bun - typeset -A opt_args - local curcontext="$curcontext" state line context - - # ---- Command: - _arguments -s \ - '1: :->cmd' \ - '*: :->args' && - ret=0 - - case $state in - cmd) - local -a scripts_list - IFS=$'\n' scripts_list=($(SHELL=zsh bun getcompletes i)) - scripts="scripts:scripts:((${scripts_list//:/\\\\:}))" - IFS=$'\n' files_list=($(SHELL=zsh bun getcompletes j)) - - main_commands=( - 'run\:"Run JavaScript with Bun, a package.json script, or a bin" ' - 'test\:"Run unit tests with Bun" ' - 'x\:"Install and execute a package bin (bunx)" ' - 'repl\:"Start a REPL session with Bun" ' - 'init\:"Start an empty Bun project from a blank template" ' - 'create\:"Create a new project from a template (bun c)" ' - 'install\:"Install dependencies for a package.json (bun i)" ' - 'add\:"Add a dependency to package.json (bun a)" ' - 'remove\:"Remove a dependency from package.json (bun rm)" ' - 'update\:"Update outdated dependencies & save to package.json" ' - 'outdated\:"Display the latest versions of outdated dependencies" ' - 'link\:"Link an npm package globally" ' - 'unlink\:"Globally unlink an npm package" ' - 'pm\:"More commands for managing packages" ' - 'build\:"Bundle TypeScript & JavaScript into a single file" ' - 'upgrade\:"Get the latest version of bun" ' - 'help\:"Show all supported flags and commands" ' - ) - main_commands=($main_commands) - _alternative "$scripts" "args:command:(($main_commands))" "files:files:(($files_list))" - - ;; - args) - case $line[1] in - add|a) - _bun_add_completion - - ;; - unlink) - _bun_unlink_completion - - ;; - link) - _bun_link_completion - - ;; - bun) - _bun_bun_completion - - ;; - init) - _bun_init_completion - - ;; - create|c) - _bun_create_completion - - ;; - x) - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - '*: :->args' && - ret=0 - ;; - pm) - _bun_pm_completion - - ;; - install|i) - _bun_install_completion - - ;; - remove|rm) - _bun_remove_completion - - ;; - run) - _bun_run_completion - - ;; - upgrade) - _bun_upgrade_completion - - ;; - build) - _bun_build_completion - - ;; - update) - _bun_update_completion - - ;; - outdated) - _bun_outdated_completion - - ;; - 'test') - _bun_test_completion - - ;; - help) - # ---- Command: help - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - '*: :->args' && - ret=0 - - case $state in - cmd2) - curcontext="${curcontext%:*:*}:bun-grouped" - _alternative "args:command:(($main_commands))" - - ;; - args) - case $line[2] in - add) - _bun_add_completion - - ;; - unlink) - _bun_unlink_completion - - ;; - link) - _bun_link_completion - - ;; - bun) - _bun_bun_completion - - ;; - init) - _bun_init_completion - - ;; - create) - _bun_create_completion - - ;; - x) - _arguments -s -C \ - '1: :->cmd' \ - '2: :->cmd2' \ - '*: :->args' && - ret=0 - ;; - pm) - _bun_pm_completion - - ;; - install) - _bun_install_completion - - ;; - remove) - _bun_remove_completion - - ;; - run) - _bun_run_completion - - ;; - upgrade) - _bun_upgrade_completion - - ;; - build) - _bun_build_completion - - ;; - update) - _bun_update_completion - - ;; - outdated) - _bun_outdated_completion - - ;; - 'test') - _bun_test_completion - - ;; - esac - - ;; - esac - - ;; - esac - - ;; - esac -} - -_bun_list_bunfig_toml() { - # _alternative "files:file:_files -g '*.toml'" - _files -} - -_bun_run_param_script_completion() { - local -a scripts_list - IFS=$'\n' scripts_list=($(SHELL=zsh bun getcompletes s)) - IFS=$'\n' bins=($(SHELL=zsh bun getcompletes b)) - - _alternative "scripts:scripts:((${scripts_list//:/\\\\:}))" - _alternative "bin:bin:((${bins//:/\\\\:}))" - _alternative "files:file:_files -g '*.(js|ts|jsx|tsx|wasm)'" -} - -_bun_link_param_package_completion() { - # Read packages from ~/.bun/install/global/node_modules - install_env=$BUN_INSTALL - install_dir=${(P)install_env:-$HOME/.bun} - global_node_modules=$install_dir/install/global/node_modules - - local -a packages_full_path=(${global_node_modules}/*(N)) - packages=$(echo $packages_full_path | tr ' ' '\n' | xargs basename) - _alternative "dirs:directory:(($packages))" -} - -_bun_remove_param_package_completion() { - if ! command -v jq &>/dev/null; then - return - fi - - # TODO: move to "bun getcompletes" - if [ -f "package.json" ]; then - local dependencies=$(jq -r '.dependencies | keys[]' package.json) - local dev_dependencies=$(jq -r '.devDependencies | keys[]' package.json) - _alternative "deps:dependency:(($dependencies))" - _alternative "deps:dependency:(($dev_dependencies))" - fi -} - -_bun_test_param_script_completion() { - local -a scripts_list - - _alternative "files:file:_files -g '*(_|.)(test|spec).(js|ts|jsx|tsx)'" -} - -_set_remove() { - comm -23 <(echo $1 | sort | tr " " "\n") <(echo $2 | sort | tr " " "\n") 2>/dev/null -} - -_bun_add_param_package_completion() { - - IFS=$'\n' inexact=($(history -n bun | grep -E "^bun add " | cut -c 9- | uniq)) - IFS=$'\n' exact=($($inexact | grep -E "^$words[$CURRENT]")) - IFS=$'\n' packages=($(SHELL=zsh bun getcompletes a $words[$CURRENT])) - - to_print=$inexact - if [ ! -z "$exact" -a "$exact" != " " ]; then - to_print=$exact - fi - - if [ ! -z "$to_print" -a "$to_print" != " " ]; then - if [ ! -z "$packages" -a "$packages" != " " ]; then - _describe -1 -t to_print 'History' to_print - _describe -1 -t packages "Popular" packages - return - fi - - _describe -1 -t to_print 'History' to_print - return - fi - - if [ ! -z "$packages" -a "$packages" != " " ]; then - _describe -1 -t packages "Popular" packages - return - fi - -} - -__bun_dynamic_comp() { - local comp="" - - for arg in scripts; do - local line - while read -r line; do - local name="$line" - local desc="$line" - name="${name%$'\t'*}" - desc="${desc/*$'\t'/}" - echo - done <<<"$arg" - done - - return $comp -} - -if ! command -v compinit >/dev/null; then - autoload -U compinit && compinit -fi - -compdef _bun bun diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_dive b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_dive deleted file mode 100644 index a3bf00eb..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_dive +++ /dev/null @@ -1,212 +0,0 @@ -#compdef dive -compdef _dive dive - -# zsh completion for dive -*- shell-script -*- - -__dive_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_dive() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __dive_debug "\n========= starting completion logic ==========" - __dive_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __dive_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __dive_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., dive -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} __complete ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __dive_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __dive_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __dive_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __dive_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __dive_debug "No directive found. Setting do default" - directive=0 - fi - - __dive_debug "directive: ${directive}" - __dive_debug "completions: ${out}" - __dive_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __dive_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __dive_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __dive_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __dive_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __dive_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __dive_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __dive_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __dive_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __dive_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __dive_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __dive_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __dive_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __dive_debug "_describe did not find completions." - __dive_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __dive_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __dive_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_dive" ]; then - _dive -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_docker b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_docker deleted file mode 100644 index 5a151205..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_docker +++ /dev/null @@ -1,212 +0,0 @@ -#compdef docker -compdef _docker docker - -# zsh completion for docker -*- shell-script -*- - -__docker_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_docker() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __docker_debug "\n========= starting completion logic ==========" - __docker_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __docker_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __docker_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., docker -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} __complete ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __docker_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __docker_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __docker_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __docker_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __docker_debug "No directive found. Setting do default" - directive=0 - fi - - __docker_debug "directive: ${directive}" - __docker_debug "completions: ${out}" - __docker_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __docker_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __docker_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __docker_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __docker_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __docker_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __docker_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __docker_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __docker_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __docker_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __docker_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __docker_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __docker_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __docker_debug "_describe did not find completions." - __docker_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __docker_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __docker_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_docker" ]; then - _docker -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_eza b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_eza deleted file mode 100644 index 6f6a4b81..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_eza +++ /dev/null @@ -1,78 +0,0 @@ -#compdef eza - -# Save this file as _eza in /usr/local/share/zsh/site-functions or in any -# other folder in $fpath. E.g. save it in a folder called ~/.zfunc and add a -# line containing `fpath=(~/.zfunc $fpath)` somewhere before `compinit` in your -# ~/.zshrc. - -__eza() { - # Give completions using the `_arguments` utility function with - # `-s` for option stacking like `eza -ab` for `eza -a -b` and - # `-S` for delimiting options with `--` like in `eza -- -a`. - _arguments -s -S \ - "(- *)"{-v,--version}"[Show version of eza]" \ - "(- *)"--help"[Show list of command-line options]" \ - {-1,--oneline}"[Display one entry per line]" \ - {-l,--long}"[Display extended file metadata as a table]" \ - {-G,--grid}"[Display entries as a grid]" \ - {-x,--across}"[Sort the grid across, rather than downwards]" \ - {-R,--recurse}"[Recurse into directories]" \ - {-T,--tree}"[Recurse into directories as a tree]" \ - {-X,--dereference}"[Dereference symbolic links when displaying file information]" \ - {-F,--classify}"[Display type indicator by file names]:(when):(always auto automatic never)" \ - --colo{,u}r="[When to use terminal colours]:(when):(always auto automatic never)" \ - --colo{,u}r-scale"[highlight levels of 'field' distinctly]:(fields):(all age size)" \ - --colo{,u}r-scale-mode"[Use gradient or fixed colors in --color-scale]:(mode):(fixed gradient)" \ - --icons="[When to display icons]:(when):(always auto automatic never)" \ - --no-quotes"[Don't quote filenames with spaces]" \ - --hyperlink"[Display entries as hyperlinks]" \ - --absolute"[Display entries with their absolute path]:(mode):(on follow off)" \ - --follow-symlinks"[Drill down into symbolic links that point to directories]" \ - --group-directories-first"[Sort directories before other files]" \ - --group-directories-last"[Sort directories after other files]" \ - --git-ignore"[Ignore files mentioned in '.gitignore']" \ - {-a,--all}"[Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories]" \ - {-A,--almost-all}"[Equivalent to --all; included for compatibility with \'ls -A\']" \ - {-d,--list-dirs}"[List directories like regular files]" \ - {-D,--only-dirs}"[List only directories]" \ - --no-symlinks"[Do not show symbolic links]" \ - --show-symlinks"[Explictly show symbolic links: for use with '--only-dirs'| '--only-files']" \ - {-f,--only-files}"[List only files]" \ - {-L,--level}"+[Limit the depth of recursion]" \ - {-w,--width}"+[Limits column output of grid, 0 implies auto-width]" \ - {-r,--reverse}"[Reverse the sort order]" \ - {-s,--sort}="[Which field to sort by]:(sort field):(accessed age changed created date extension Extension filename Filename inode modified oldest name Name newest none size time type)" \ - {-I,--ignore-glob}"[Ignore files that match these glob patterns]" \ - {-b,--binary}"[List file sizes with binary prefixes]" \ - {-B,--bytes}"[List file sizes in bytes, without any prefixes]" \ - --changed"[Use the changed timestamp field]" \ - {-g,--group}"[List each file's group]" \ - {-h,--header}"[Add a header row to each column]" \ - {-H,--links}"[List each file's number of hard links]" \ - {-i,--inode}"[List each file's inode number]" \ - {-m,--modified}"[Use the modified timestamp field]" \ - {-n,--numeric}"[List numeric user and group IDs.]" \ - {-S,--blocksize}"[List each file's size of allocated file system blocks.]" \ - {-t,--time}="[Which time field to show]:(time field):(accessed changed created modified)" \ - --time-style="[How to format timestamps]:(time style):(default iso long-iso full-iso relative +FORMAT)" \ - --total-size"[Show recursive directory size (unix only)]" \ - --no-permissions"[Suppress the permissions field]" \ - {-o,--octal-permissions}"[List each file's permission in octal format]" \ - --no-filesize"[Suppress the filesize field]" \ - --no-user"[Suppress the user field]" \ - --no-time"[Suppress the time field]" \ - {-u,--accessed}"[Use the accessed timestamp field]" \ - {-U,--created}"[Use the created timestamp field]" \ - --git"[List each file's Git status, if tracked]" \ - --no-git"[Suppress Git status]" \ - --git-repos"[List each git-repos status and branch name]" \ - --git-repos-no-status"[List each git-repos branch name (much faster)]" \ - {-@,--extended}"[List each file's extended attributes and sizes]" \ - {-Z,--context}"[List each file's security context]" \ - {-M,--mounts}"[Show mount details (long mode only)]" \ - '*:filename:_files' \ - --smart-group"[Only show group if it has a different name from owner]" \ - --stdin"[When piping to eza. Read file names from stdin]" -} - -__eza diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fastfetch b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fastfetch deleted file mode 100644 index 08b92c90..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fastfetch +++ /dev/null @@ -1,113 +0,0 @@ -#compdef fastfetch - -function _fastfetch() { - - whence python3 &> /dev/null - if [ $? -ne 0 ] - then - return - fi - - local state - - local -a opts=("${(f)$( - python3 <<EOF -import json -import subprocess -import sys - - -def main(): - data: dict[str, list[dict]] = json.loads( - subprocess.check_output(["fastfetch", "--help-raw"]) - ) - - for key in data: - for flag in data[key]: - if flag["long"] == "logo-color-[1-9]": - for i in range(1, 10): - command_prefix = f"--logo-color-{i}[{flag['desc']} ({i})]" - print_command(command_prefix, flag) - continue - - if flag.get("pseudo", False): - continue - - if "short" in flag: - command_prefix = f"-{flag['short']}[{flag['desc']}]" - print_command(command_prefix, flag) - - if "long" in flag: - command_prefix = f"--{flag['long']}[{flag['desc']}]" - print_command(command_prefix, flag) - - -def print_command(command_prefix: str, flag: dict): - if "arg" in flag: - type: str = flag["arg"]["type"] - if type == "bool": - print(f"{command_prefix}::bool:(true false)") - elif type == "color": - print(f"{command_prefix}:color:->colors") - elif type == "command": - print(f"{command_prefix}::module:->modules") - elif type == "config": - print(f"{command_prefix}:preset:->presets") - elif type == "enum": - temp: str = " ".join(flag["arg"]["enum"]) - print(f'{command_prefix}:type:({temp})') - elif type == "logo": - print(f"{command_prefix}:logo:->logos") - elif type == "structure": - print(f"{command_prefix}:structure:->structures") - elif type == "path": - print(f"{command_prefix}::path:_files") - else: - print(f"{command_prefix}:") - else: - print(f"{command_prefix}") - - -if __name__ == "__main__": - try: - main() - except Exception: - sys.exit(1) -EOF - )}") - - _arguments "$opts[@]" - - case $state in - colors) - local -a colors=(black red green yellow blue magenta cyan white default) - _describe 'color' colors - ;; - modules) - local -a modules=("${(f)$(fastfetch --list-modules autocompletion)}") - modules=(${(L)^modules[@]%%:*}-format format color) - _describe 'module' modules - ;; - presets) - local -a presets=( - "${(f)$(fastfetch --list-presets autocompletion)}" - "none:Disable loading config file" - ) - _describe 'preset' presets || _files - ;; - structures) - local -a structures=("${(f)$(fastfetch --list-modules autocompletion)}") - _describe 'structure' structures - ;; - logos) - local -a logos=( - "${(f)$(fastfetch --list-logos autocompletion)}" - "none:Don't print logo" - "small:Print small ascii logo if available" - ) - _describe 'logo' logos - ;; - esac -} - -_fastfetch "$@" diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fd b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fd deleted file mode 100644 index 8055467d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fd +++ /dev/null @@ -1,285 +0,0 @@ -#compdef fd - -## -# zsh completion function for fd -# -# Based on ripgrep completion function. -# Originally based on code from the zsh-users project — see copyright notice -# below. - -autoload -U is-at-least - -_fd() { - local curcontext="$curcontext" no='!' ret=1 - local -a context line state state_descr _arguments_options fd_types fd_args - local -A opt_args - - if is-at-least 5.2; then - _arguments_options=( -s -S ) - else - _arguments_options=( -s ) - fi - - fd_types=( - {f,file}'\:"regular files"' - {d,directory}'\:"directories"' - {l,symlink}'\:"symbolic links"' - {e,empty}'\:"empty files or directories"' - {x,executable}'\:"executable (files)"' - {b,block-device}'\:"block devices"' - {c,char-device}'\:"character devices"' - {s,socket}'\:"sockets"' - {p,pipe}'\:"named pipes (FIFOs)"' - ) - - # Do not complete rare options unless either the current prefix - # matches one of those options or the user has the `complete-all` - # style set. Note that this prefix check has to be updated manually to account - # for all of the potential negation options listed below! - if - # (--[bpsu]* => match all options marked with '$no') - [[ $PREFIX$SUFFIX == --[bopsun]* ]] || - zstyle -t ":complete:$curcontext:*" complete-all - then - no= - fi - - # We make heavy use of argument groups here to prevent the option specs from - # growing unwieldy. These aren't supported in zsh <5.4, though, so we'll strip - # them out below if necessary. This makes the exclusions inaccurate on those - # older versions, but oh well — it's not that big a deal - fd_args=( - + '(hidden)' # hidden files - {-H,--hidden}'[search hidden files/directories]' - - + '(no-ignore-full)' # all ignore files - '(no-ignore-partial)'{-I,--no-ignore}"[don't respect .(git|fd)ignore and global ignore files]" - $no'(no-ignore-partial)*'{-u,--unrestricted}'[alias for --no-ignore, when repeated also alias for --hidden]' - - + no-ignore-partial # some ignore files - "(no-ignore-full --no-ignore-vcs)--no-ignore-vcs[don't respect .gitignore files]" - "!(no-ignore-full --no-global-ignore-file)--no-global-ignore-file[don't respect the global ignore file]" - $no'(no-ignore-full --no-ignore-parent)--no-ignore-parent[]' - - + '(case)' # case-sensitivity - {-s,--case-sensitive}'[perform a case-sensitive search]' - {-i,--ignore-case}'[perform a case-insensitive search]' - - + '(regex-pattern)' # regex-based search pattern - '(no-regex-pattern)--regex[perform a regex-based search (default)]' - - + '(no-regex-pattern)' # non-regex-based search pattern - {-g,--glob}'[perform a glob-based search]' - {-F,--fixed-strings}'[treat pattern as literal string instead of a regex]' - - + '(no-require-git)' - "$no(no-ignore-full --no-ignore-vcs --no-require-git)--no-require-git[don't require git repo to respect gitignores]" - - + '(match-full)' # match against full path - {-p,--full-path}'[match the pattern against the full path instead of the basename]' - - + '(follow)' # follow symlinks - {-L,--follow}'[follow symbolic links to directories]' - - + '(abs-path)' # show absolute paths - '(long-listing)'{-a,--absolute-path}'[show absolute paths instead of relative paths]' - - + '(null-sep)' # use null separator for output - '(long-listing)'{-0,--print0}'[separate search results by the null character]' - - + '(long-listing)' # long-listing output - '(abs-path null-sep max-results exec-cmds)'{-l,--list-details}'[use a long listing format with file metadata]' - - + '(max-results)' # max number of results - '(long-listing exec-cmds)--max-results=[limit number of search results to given count and quit]:count' - '(long-listing exec-cmds)-1[limit to a single search result and quit]' - - + '(fs-errors)' # file-system errors - $no'--show-errors[enable the display of filesystem errors]' - - + '(fs-traversal)' # file-system traversal - $no"--one-file-system[don't descend into directories on other file systems]" - '!--mount' - '!--xdev' - - + dir-depth # directory depth - '(--exact-depth -d --max-depth)'{-d+,--max-depth=}'[set max directory depth to descend when searching]:depth' - '!(--exact-depth -d --max-depth)--maxdepth:depth' - '(--exact-depth --min-depth)--min-depth=[set directory depth to descend before start searching]:depth' - '(--exact-depth -d --max-depth --maxdepth --min-depth)--exact-depth=[only search at the exact given directory depth]:depth' - - + prune # pruning - "--prune[don't traverse into matching directories]" - - + filter-misc # filter search - '*'{-t+,--type=}"[filter search by type]:type:(($fd_types))" - '*'{-e+,--extension=}'[filter search by file extension]:extension' - '*'{-E+,--exclude=}'[exclude files/directories that match the given glob pattern]:glob pattern' - '*'{-S+,--size=}'[limit search by file size]:size limit:->size' - '(-o --owner)'{-o+,--owner=}'[filter by owning user and/or group]:owner and/or group:->owner' - - + ignore-file # extra ignore files - '*--ignore-file=[add a custom, low-precedence ignore-file with .gitignore format]: :_files' - - + '(filter-mtime-newer)' # filter by files modified after than - '--changed-within=[limit search to files/directories modified within the given date/duration]:date or duration' - '--changed-after=[alias for --changed-within]:date/duration' - '!--change-newer-than=:date/duration' - '!--newer=:date/duration' - - + '(filter-mtime-older)' # filter by files modified before than - '--changed-before=[limit search to files/directories modified before the given date/duration]:date or duration' - '!--change-older-than=:date/duration' - '!--older=:date/duration' - - + '(color)' # colorize output - {-c+,--color=}'[declare when to colorize search results]:when to colorize:(( - auto\:"show colors if the output goes to an interactive console (default)" - never\:"do not use colorized output" - always\:"always use colorized output" - ))' - - '--hyperlink=-[add hyperlinks to output paths]::when:(auto never always)' - - + '(threads)' - {-j+,--threads=}'[set the number of threads for searching and executing]:number of threads' - - + '(exec-cmds)' # execute command - '(long-listing max-results)'{-x+,--exec=}'[execute command for each search result]:command: _command_names -e:*\;::program arguments: _normal' - '(long-listing max-results)'{-X+,--exec-batch=}'[execute command for all search results at once]:command: _command_names -e:*\;::program arguments: _normal' - '(long-listing max-results)--batch-size=[max number of args for each -X call]:size' - - + other - '!(--max-buffer-time)--max-buffer-time=[set amount of time to buffer before showing output]:time (ms)' - - + '(about)' # about flags - '(: * -)'{-h,--help}'[display help message]' - '(: * -)'{-V,--version}'[display version information]' - - + path-sep # set path separator for output - $no'(--path-separator)--path-separator=[set the path separator to use when printing file paths]:path separator' - - + search-path - $no'(--base-directory)--base-directory=[change the current working directory to the given path]:directory:_files -/' - $no'(*)*--search-path=[set search path (instead of positional <path> arguments)]:directory:_files -/' - - + strip-cwd-prefix - $no'(strip-cwd-prefix exec-cmds)--strip-cwd-prefix=-[When to strip ./]::when:(always never auto)' - - + and - '--and=[additional required search path]:pattern' - - - + args # positional arguments - '1: :_guard "^-*" pattern' - '(--search-path)*:directory:_files -/' - ) - - # Strip out argument groups where unsupported (see above) - is-at-least 5.4 || - fd_args=( ${(@)args:#(#i)(+|[a-z0-9][a-z0-9_-]#|\([a-z0-9][a-z0-9_-]#\))} ) - - _arguments $_arguments_options : $fd_args && ret=0 - - case ${state} in - owner) - compset -P '(\\|)\!' - if compset -P '*:'; then - _groups && ret=0 - else - if - compset -S ':*' || - # Do not add the colon suffix when completing "!user<TAB> - # (with a starting double-quote) otherwise pressing tab again - # after the inserted colon "!user:<TAB> will complete history modifiers - [[ $IPREFIX == (\\|\!)* && ($QIPREFIX == \"* && -z $QISUFFIX) ]] - then - _users && ret=0 - else - local q - # Since quotes are needed when using the negation prefix !, - # automatically remove the colon suffix also when closing the quote - if [[ $QIPREFIX == [\'\"]* ]]; then - q=${QIPREFIX:0:1} - fi - _users -r ": \t\n\-$q" -S : && ret=0 - fi - fi - ;; - - size) - if compset -P '[-+][0-9]##'; then - local -a suff=( - 'B:bytes' - 'K:kilobytes (10^3 = 1000 bytes)' - 'M:megabytes (10^6 = 1000^2 bytes)' - 'G:gigabytes (10^9 = 1000^3 bytes)' - 'T:terabytes (10^12 = 1000^4 bytes)' - 'Ki:kibibytes ( 2^10 = 1024 bytes)' - 'Mi:mebibytes ( 2^20 = 1024^2 bytes)' - 'Gi:gigibytes ( 2^30 = 1024^3 bytes)' - 'Ti:tebibytes ( 2^40 = 1024^4 bytes)' - ) - _describe -t units 'size limit units' suff -V 'units' - elif compset -P '[-+]'; then - _message -e 'size limit number (full format: <+-><number><unit>)' - else - _values 'size limit prefix (full format: <prefix><number><unit>)' \ - '\+[file size must be greater or equal to]'\ - '-[file size must be less than or equal to]' && ret=0 - fi - ;; - esac - - return ret -} - -_fd "$@" - -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 GitHub zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for fd -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * smancill (https://github.com/smancill) -# -# ------------------------------------------------------------------------------ - -# Local Variables: -# mode: shell-script -# coding: utf-8-unix -# indent-tabs-mode: nil -# sh-indentation: 2 -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fnm b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fnm deleted file mode 100644 index 7d99a2d7..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_fnm +++ /dev/null @@ -1,544 +0,0 @@ -#compdef fnm - -autoload -U is-at-least - -_fnm() { - typeset -A opt_args - typeset -a _arguments_options - local ret=1 - - if is-at-least 5.2; then - _arguments_options=(-s -S -C) - else - _arguments_options=(-s -C) - fi - - local context curcontext="$curcontext" state line - _arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--multishell-path=[Where the current node version link is stored. This value will be populated automatically by evaluating \`fnm env\` in your shell profile. Read more about it using \`fnm help env\`]:MULTISHELL_PATH:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'-V[Print version]' \ -'--version[Print version]' \ -":: :_fnm_commands" \ -"*::: :->fnm" \ -&& ret=0 - case $state in - (fnm) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:fnm-command-$line[1]:" - case $line[1] in - (list-remote) -_arguments "${_arguments_options[@]}" : \ -'--filter=[Filter versions by a user-defined version or a semver range]:FILTER: ' \ -'--lts=[Show only LTS versions (optionally filter by LTS codename)]' \ -'--sort=[Version sorting order]:SORT:((desc\:"Sort versions in descending order (latest to earliest)" -asc\:"Sort versions in ascending order (earliest to latest)"))' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--latest[Only show the latest matching version]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(ls-remote) -_arguments "${_arguments_options[@]}" : \ -'--filter=[Filter versions by a user-defined version or a semver range]:FILTER: ' \ -'--lts=[Show only LTS versions (optionally filter by LTS codename)]' \ -'--sort=[Version sorting order]:SORT:((desc\:"Sort versions in descending order (latest to earliest)" -asc\:"Sort versions in ascending order (earliest to latest)"))' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--latest[Only show the latest matching version]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(list) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(ls) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(install) -_arguments "${_arguments_options[@]}" : \ -'--progress=[Show an interactive progress bar for the download status]:PROGRESS:(auto never always)' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'(--latest)--lts[Install latest LTS]' \ -'(--lts)--latest[Install latest version]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'::version -- A version string. Can be a partial semver or a LTS version name by the format lts/NAME:' \ -&& ret=0 -;; -(i) -_arguments "${_arguments_options[@]}" : \ -'--progress=[Show an interactive progress bar for the download status]:PROGRESS:(auto never always)' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'(--latest)--lts[Install latest LTS]' \ -'(--lts)--latest[Install latest version]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'::version -- A version string. Can be a partial semver or a LTS version name by the format lts/NAME:' \ -&& ret=0 -;; -(use) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--install-if-missing[Install the version if it isn'\''t installed yet]' \ -'--silent-if-unchanged[Don'\''t output a message identifying the version being used if it will not change due to execution of this command]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'::version:' \ -&& ret=0 -;; -(env) -_arguments "${_arguments_options[@]}" : \ -'--shell=[The shell syntax to use. Infers when missing]:SHELL:(bash zsh fish powershell)' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'(--shell)--json[Print JSON instead of shell commands]' \ -'--multi[Deprecated. This is the default now]' \ -'--use-on-cd[Print the script to change Node versions every directory change]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(completions) -_arguments "${_arguments_options[@]}" : \ -'--shell=[The shell syntax to use. Infers when missing]:SHELL:(bash zsh fish powershell)' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(alias) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -':to_version:' \ -':name:' \ -&& ret=0 -;; -(unalias) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -':requested_alias:' \ -&& ret=0 -;; -(default) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -':version:' \ -&& ret=0 -;; -(current) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(exec) -_arguments "${_arguments_options[@]}" : \ -'--using=[Either an explicit version, or a filename with the version written in it]:VERSION: ' \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--using-file[Deprecated. This is the default now]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'*::arguments -- The command to run:' \ -&& ret=0 -;; -(uninstall) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'::version:' \ -&& ret=0 -;; -(uni) -_arguments "${_arguments_options[@]}" : \ -'--node-dist-mirror=[<https\://nodejs.org/dist/> mirror]:NODE_DIST_MIRROR: ' \ -'--fnm-dir=[The root directory of fnm installations]:BASE_DIR:_files' \ -'--log-level=[The log level of fnm commands]:LOG_LEVEL:(quiet error info)' \ -'--arch=[Override the architecture of the installed Node binary. Defaults to arch of fnm binary]:ARCH: ' \ -'--version-file-strategy=[A strategy for how to resolve the Node version. Used whenever \`fnm use\` or \`fnm install\` is called without a version, or when \`--use-on-cd\` is configured on evaluation]:VERSION_FILE_STRATEGY:((local\:"Use the local version of Node defined within the current directory" -recursive\:"Use the version of Node defined within the current directory and all parent directories"))' \ -'--resolve-engines=[Resolve \`engines.node\` field in \`package.json\` whenever a \`.node-version\` or \`.nvmrc\` file is not present. This feature is enabled by default. To disable it, provide \`--resolve-engines=false\`.]' \ -'--corepack-enabled[Enable corepack support for each new installation. This will make fnm call \`corepack enable\` on every Node.js installation. For more information about corepack see <https\://nodejs.org/api/corepack.html>]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'::version:' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_fnm__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:fnm-help-command-$line[1]:" - case $line[1] in - (list-remote) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(list) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(install) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(use) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(env) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(completions) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(alias) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(unalias) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(default) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(current) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(exec) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(uninstall) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -} - -(( $+functions[_fnm_commands] )) || -_fnm_commands() { - local commands; commands=( -'list-remote:List all remote Node.js versions' \ -'ls-remote:List all remote Node.js versions' \ -'list:List all locally installed Node.js versions' \ -'ls:List all locally installed Node.js versions' \ -'install:Install a new Node.js version' \ -'i:Install a new Node.js version' \ -'use:Change Node.js version' \ -'env:Print and set up required environment variables for fnm' \ -'completions:Print shell completions to stdout' \ -'alias:Alias a version to a common name' \ -'unalias:Remove an alias definition' \ -'default:Set a version as the default version' \ -'current:Print the current Node.js version' \ -'exec:Run a command within fnm context' \ -'uninstall:Uninstall a Node.js version' \ -'uni:Uninstall a Node.js version' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'fnm commands' commands "$@" -} -(( $+functions[_alias_commands] )) || -_alias_commands() { - local commands; commands=() - _describe -t commands 'alias commands' commands "$@" -} -(( $+functions[_completions_commands] )) || -_completions_commands() { - local commands; commands=() - _describe -t commands 'completions commands' commands "$@" -} -(( $+functions[_current_commands] )) || -_current_commands() { - local commands; commands=() - _describe -t commands 'current commands' commands "$@" -} -(( $+functions[_default_commands] )) || -_default_commands() { - local commands; commands=() - _describe -t commands 'default commands' commands "$@" -} -(( $+functions[_env_commands] )) || -_env_commands() { - local commands; commands=() - _describe -t commands 'env commands' commands "$@" -} -(( $+functions[_exec_commands] )) || -_exec_commands() { - local commands; commands=() - _describe -t commands 'exec commands' commands "$@" -} -(( $+functions[_fnm__help_commands] )) || -_fnm__help_commands() { - local commands; commands=( -'list-remote:List all remote Node.js versions' \ -'list:List all locally installed Node.js versions' \ -'install:Install a new Node.js version' \ -'use:Change Node.js version' \ -'env:Print and set up required environment variables for fnm' \ -'completions:Print shell completions to stdout' \ -'alias:Alias a version to a common name' \ -'unalias:Remove an alias definition' \ -'default:Set a version as the default version' \ -'current:Print the current Node.js version' \ -'exec:Run a command within fnm context' \ -'uninstall:Uninstall a Node.js version' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'fnm help commands' commands "$@" -} -(( $+functions[_fnm__help__alias_commands] )) || -_fnm__help__alias_commands() { - local commands; commands=() - _describe -t commands 'fnm help alias commands' commands "$@" -} -(( $+functions[_fnm__help__completions_commands] )) || -_fnm__help__completions_commands() { - local commands; commands=() - _describe -t commands 'fnm help completions commands' commands "$@" -} -(( $+functions[_fnm__help__current_commands] )) || -_fnm__help__current_commands() { - local commands; commands=() - _describe -t commands 'fnm help current commands' commands "$@" -} -(( $+functions[_fnm__help__default_commands] )) || -_fnm__help__default_commands() { - local commands; commands=() - _describe -t commands 'fnm help default commands' commands "$@" -} -(( $+functions[_fnm__help__env_commands] )) || -_fnm__help__env_commands() { - local commands; commands=() - _describe -t commands 'fnm help env commands' commands "$@" -} -(( $+functions[_fnm__help__exec_commands] )) || -_fnm__help__exec_commands() { - local commands; commands=() - _describe -t commands 'fnm help exec commands' commands "$@" -} -(( $+functions[_fnm__help__help_commands] )) || -_fnm__help__help_commands() { - local commands; commands=() - _describe -t commands 'fnm help help commands' commands "$@" -} -(( $+functions[_fnm__help__install_commands] )) || -_fnm__help__install_commands() { - local commands; commands=() - _describe -t commands 'fnm help install commands' commands "$@" -} -(( $+functions[_fnm__help__list_commands] )) || -_fnm__help__list_commands() { - local commands; commands=() - _describe -t commands 'fnm help list commands' commands "$@" -} -(( $+functions[_fnm__help__list-remote_commands] )) || -_fnm__help__list-remote_commands() { - local commands; commands=() - _describe -t commands 'fnm help list-remote commands' commands "$@" -} -(( $+functions[_fnm__help__unalias_commands] )) || -_fnm__help__unalias_commands() { - local commands; commands=() - _describe -t commands 'fnm help unalias commands' commands "$@" -} -(( $+functions[_fnm__help__uninstall_commands] )) || -_fnm__help__uninstall_commands() { - local commands; commands=() - _describe -t commands 'fnm help uninstall commands' commands "$@" -} -(( $+functions[_fnm__help__use_commands] )) || -_fnm__help__use_commands() { - local commands; commands=() - _describe -t commands 'fnm help use commands' commands "$@" -} -(( $+functions[_install_commands] )) || -_install_commands() { - local commands; commands=() - _describe -t commands 'install commands' commands "$@" -} -(( $+functions[_list_commands] )) || -_list_commands() { - local commands; commands=() - _describe -t commands 'list commands' commands "$@" -} -(( $+functions[_list-remote_commands] )) || -_list-remote_commands() { - local commands; commands=() - _describe -t commands 'list-remote commands' commands "$@" -} -(( $+functions[_unalias_commands] )) || -_unalias_commands() { - local commands; commands=() - _describe -t commands 'unalias commands' commands "$@" -} -(( $+functions[_uninstall_commands] )) || -_uninstall_commands() { - local commands; commands=() - _describe -t commands 'uninstall commands' commands "$@" -} -(( $+functions[_use_commands] )) || -_use_commands() { - local commands; commands=() - _describe -t commands 'use commands' commands "$@" -} - -if [ "$funcstack[1]" = "_fnm" ]; then - _fnm "$@" -else - compdef _fnm fnm -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_git-lfs b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_git-lfs deleted file mode 100644 index 9603af77..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_git-lfs +++ /dev/null @@ -1,212 +0,0 @@ -#compdef git-lfs -compdef _git-lfs git-lfs - -# zsh completion for git-lfs -*- shell-script -*- - -__git-lfs_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_git-lfs() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __git-lfs_debug "\n========= starting completion logic ==========" - __git-lfs_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __git-lfs_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __git-lfs_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., git-lfs -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="git-${words[1]#*git-} __completeNoDesc ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __git-lfs_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __git-lfs_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __git-lfs_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __git-lfs_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __git-lfs_debug "No directive found. Setting do default" - directive=0 - fi - - __git-lfs_debug "directive: ${directive}" - __git-lfs_debug "completions: ${out}" - __git-lfs_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __git-lfs_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __git-lfs_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __git-lfs_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __git-lfs_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __git-lfs_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __git-lfs_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __git-lfs_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __git-lfs_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __git-lfs_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __git-lfs_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __git-lfs_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __git-lfs_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __git-lfs_debug "_describe did not find completions." - __git-lfs_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __git-lfs_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __git-lfs_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_git-lfs" ]; then - _git-lfs -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_golangci-lint b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_golangci-lint deleted file mode 100644 index ab448450..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_golangci-lint +++ /dev/null @@ -1,212 +0,0 @@ -#compdef golangci-lint -compdef _golangci-lint golangci-lint - -# zsh completion for golangci-lint -*- shell-script -*- - -__golangci-lint_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_golangci-lint() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __golangci-lint_debug "\n========= starting completion logic ==========" - __golangci-lint_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __golangci-lint_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __golangci-lint_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., golangci-lint -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} __complete ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __golangci-lint_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __golangci-lint_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __golangci-lint_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __golangci-lint_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __golangci-lint_debug "No directive found. Setting do default" - directive=0 - fi - - __golangci-lint_debug "directive: ${directive}" - __golangci-lint_debug "completions: ${out}" - __golangci-lint_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __golangci-lint_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __golangci-lint_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __golangci-lint_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __golangci-lint_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __golangci-lint_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __golangci-lint_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __golangci-lint_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __golangci-lint_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __golangci-lint_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __golangci-lint_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __golangci-lint_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __golangci-lint_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __golangci-lint_debug "_describe did not find completions." - __golangci-lint_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __golangci-lint_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __golangci-lint_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_golangci-lint" ]; then - _golangci-lint -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_mpv b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_mpv deleted file mode 100644 index cb3c00e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_mpv +++ /dev/null @@ -1,269 +0,0 @@ -#compdef mpv - -# ZSH completion for mpv -# -# For customization, see: -# https://github.com/mpv-player/mpv/wiki/Zsh-completion-customization - -# -# This file is part of mpv. -# -# mpv is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# mpv is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with mpv. If not, see <http://www.gnu.org/licenses/>. -# - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args - -local -a match mbegin mend -local MATCH MBEGIN MEND - -# By default, don't complete URLs unless no files match -local -a tag_order -zstyle -a ":completion:*:*:$service:*" tag-order tag_order || - zstyle ":completion:*:*:$service:*" tag-order '!urls' - -local -a urls -zstyle -a ":completion:*:*:$service:*:urls" urls urls || - zstyle ":completion:*:*:$service:*:urls" urls av://lavfi:testsrc av://lavfi:sine - -typeset -ga _mpv_completion_arguments _mpv_completion_protocols - -function _mpv_generate_arguments { - - _mpv_completion_arguments=() - - local -a option_aliases=() - - local list_options_line - for list_options_line in "${(@f)$($~words[1] --no-config --list-options)}"; do - - [[ $list_options_line =~ $'^[ \t]+--([^ \t]+)[ \t]*(.*)' ]] || continue - - local name=$match[1] desc=$match[2] - - if [[ $desc == Flag* ]]; then - - _mpv_completion_arguments+="$name" - if [[ $name != (\{|\}|v|list-options) ]]; then - # Negated version - _mpv_completion_arguments+="no-$name" - fi - - elif [[ -z $desc ]]; then - - # Sub-option for list option - - if [[ $name == *-(clr|help) ]]; then - # Like a flag - _mpv_completion_arguments+="$name" - else - # Find the parent option and use that with this option's name - _mpv_completion_arguments+="${(S)_mpv_completion_arguments[(R)${name%-*}=*]/*=/$name=}" - fi - - elif [[ $desc == Print* ]]; then - - _mpv_completion_arguments+="$name" - - elif [[ $desc =~ $'^alias for (--)?([^ \t]+)' ]]; then - - # Save this for later; we might not have parsed the target option yet - option_aliases+="$name $match[2]" - - elif [[ $desc =~ $'^removed ' ]]; then - - # skip - - else - - # Option takes argument - - local entry="$name=-:${desc//:/\\:}:" - - if [[ $desc =~ '^Choices: ([^(]*)' ]]; then - - local -a choices=(${(s: :)match[1]}) - entry+="($choices)" - # If "no" is one of the choices, it can also be negated like a flag - # (--no-whatever is equivalent to --whatever=no). - if (( ${+choices[(r)no]} )); then - _mpv_completion_arguments+="no-$name" - fi - - elif [[ $desc == *'[file]'* ]]; then - - entry+='->files' - - elif [[ $desc = 'Object settings list'* || $name == (profile|audio-device|vulkan-device) ]]; then - - entry+="->parse-help-$name" - - elif [[ $name == show-profile ]]; then - - entry+="->parse-help-profile" - - elif [[ $name == h(|elp) ]]; then - - entry+="->help-options" - - fi - - _mpv_completion_arguments+="$entry" - - fi - - done - - # Process aliases - local to_from real_name arg_spec - for to_from in $option_aliases; do - # to_from='alias-name real-name' - real_name=${to_from##* } - for arg_spec in "$real_name" "$real_name=*" "no-$real_name"; do - arg_spec=${_mpv_completion_arguments[(r)$arg_spec]} - [[ -n $arg_spec ]] && - _mpv_completion_arguments+="${arg_spec/$real_name/${to_from%% *}}" - done - done - - # Older versions of zsh have a bug where they won't complete an option listed - # after one that's a prefix of it. To work around this, we can sort the - # options by length, longest first, so that any prefix of an option will be - # listed after it. On newer versions of zsh where the bug is fixed, we skip - # this to avoid slowing down the first tab press any more than we have to. - autoload -Uz is-at-least - if ! is-at-least 5.2; then - # If this were a real language, we wouldn't have to sort by prepending the - # length, sorting the whole thing numerically, and then removing it again. - local -a sort_tmp=() - for arg_spec in $_mpv_completion_arguments; do - sort_tmp+=${#arg_spec%%=*}_$arg_spec - done - _mpv_completion_arguments=(${${(On)sort_tmp}/#*_}) - fi - -} - -function _mpv_generate_protocols { - _mpv_completion_protocols=() - local list_protos_line - for list_protos_line in "${(@f)$($~words[1] --no-config --list-protocols)}"; do - if [[ $list_protos_line =~ $'^[ \t]+(.*)' ]]; then - _mpv_completion_protocols+="$match[1]" - fi - done -} - -function _mpv_generate_if_changed { - # Called with $1 = 'arguments' or 'protocols'. Generates the respective list - # on the first run and re-generates it if the executable being completed for - # is different than the one we used to generate the cached list. - typeset -gA _mpv_completion_binary - local current_binary=${~words[1]:c} - zmodload -F zsh/stat b:zstat - current_binary+=T$(zstat +mtime $current_binary) - if [[ $_mpv_completion_binary[$1] != $current_binary ]]; then - # Use PCRE for regular expression matching if possible. This approximately - # halves the execution time of generate_arguments compared to the default - # POSIX regex, which translates to a more responsive first tab press. - # However, we can't rely on PCRE being available, so we keep all our - # patterns POSIX-compatible. - zmodload -s -F zsh/pcre C:pcre-match && setopt re_match_pcre - _mpv_generate_$1 - _mpv_completion_binary[$1]=$current_binary - fi -} - -# Only consider generating arguments if the argument being completed looks like -# an option. This way, the user should never see a delay when just completing a -# filename. -if [[ $words[$CURRENT] == -* ]]; then - _mpv_generate_if_changed arguments -fi - -local rc=1 - -_arguments -C -S \*--$_mpv_completion_arguments '*:files:->mfiles' && rc=0 - -case $state in - - parse-help-*) - local option_name=${state#parse-help-} - local no_config="--no-config" - # Can't do non-capturing groups without pcre, so we index the ones we want - local pattern name_group=1 desc_group=2 - case $option_name in - audio-device|vulkan-device) - pattern=$'^[ \t]+'\''([^'\'']*)'\'$'[ \t]+''\((.*)\)' - ;; - profile) - # The generic pattern would actually work in most cases for --profile, - # but would break if a profile name contained spaces. This stricter one - # only breaks if a profile name contains tabs. - pattern=$'^\t([^\t]*)\t(.*)' - # We actually want config so we can autocomplete the user's profiles - no_config="" - ;; - *) - pattern=$'^[ \t]+(--'${option_name}$'=)?([^ \t]+)[ \t]*[-:]?[ \t]*(.*)' - name_group=2 desc_group=3 - ;; - esac - local -a values - local current - for current in "${(@f)$($~words[1] ${no_config} --${option_name}=help)}"; do - [[ $current =~ $pattern ]] || continue; - local name=${match[name_group]//:/\\:} desc=${match[desc_group]} - if [[ -n $desc ]]; then - values+="${name}:${desc}" - else - values+="${name}" - fi - done - (( $#values )) && { - compset -P '*,' - compset -S ',*' - _describe "$state_descr" values -r ',=: \t\n\-' && rc=0 - } - ;; - - files) - compset -P '*,' - compset -S ',*' - _files -r ',/ \t\n\-' && rc=0 - ;; - - mfiles) - local expl - _tags files urls - while _tags; do - _requested files expl 'media file' _files && rc=0 - if _requested urls; then - while _next_label urls expl URL; do - _urls "$expl[@]" && rc=0 - _mpv_generate_if_changed protocols - compadd -S '' "$expl[@]" $_mpv_completion_protocols && rc=0 - done - fi - (( rc )) || return 0 - done - ;; - - help-options) - compadd ${${${_mpv_completion_arguments%%=*}:#no-*}:#*-(add|append|clr|pre|set|remove|toggle)} - ;; - -esac - -return rc diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-build b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-build deleted file mode 100644 index b7143e31..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-build +++ /dev/null @@ -1,32 +0,0 @@ -#compdef nix-build -#autoload - -_nix-common-options - -local -a _nix_build_opts=( - $__nix_expr_opts - $__nix_common_store_opts - '*'{--attr,-A}'[build a package from file (default: ./default.nix)]:package:_nix_complete_attr_paths' - --check'[Rebuild derivation]' - '--drv-link[Add a symlink to the store derivation]:Symlink Name:( )' - '--add-drv-link[Shorthand for --drv-link ./derivation]' - '--no-out-link[Do not create a symlink to the output path]' - {--out-link,-o}'[Name of the output symlink]:Output Symlink Name:( )' -) - -# TODO: Undocumented args to possibly add -# --add-root -# --check -# --quiet -# --command -# --exclude -# --pure -# --impure -# --packages,-p - -_arguments \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_dry_run \ - $_nix_build_opts \ - '*:Paths:_nix_path' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-channel b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-channel deleted file mode 100644 index b879ee6e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-channel +++ /dev/null @@ -1,20 +0,0 @@ -#compdef nix-channel -#autoload - -local context state state_descr line -typeset -A opt_args - -_nix-common-options - -_arguments \ - '(- *)--add[Subscribe to a channel]:Channel URL:_urls::Channel Name:( )'\ - '(- *)--remove[Unsubscribe from a channel]:Channel Name:->nix_channels'\ - '(- *)--list[List subscribed channels]'\ - '(- *)--update[Update and activate channels]:Channel Name:->nix_channels'\ - '(- *)--rollback[Revert the previous nix-channel --update]' - -case $state in - nix-channels) - local -a channels=(${${(f)"$(nix-channel --list)"}%% *}) - _values 'Nix Channels' ${channels} -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-collect-garbage b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-collect-garbage deleted file mode 100644 index 55cf8935..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-collect-garbage +++ /dev/null @@ -1,9 +0,0 @@ -#compdef nix-collect-garbage -#autoload - -_nix-common-options - -_arguments \ - '(--delete-old -d)'{--delete-old,-d}'[Delete all old generations of all profiles]'\ - '--delete-older-than[Delete generations older than the given time]:Time such as 30d:( )'\ - $__nix_dry_run \ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-common-options b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-common-options deleted file mode 100644 index ace6b997..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-common-options +++ /dev/null @@ -1,614 +0,0 @@ -#autoload - -if [[ $_NIX_SHELL_COMPLETION_LOADED ]]; then - # No point in re-defining these functions each time we do a completion - return 0 -fi - -# Simple completion function to select a system -# List gathered from: https://github.com/NixOS/nixpkgs/blob/master/lib/platforms.nix -_nix_systems () { - _values 'Systems' \ - i686-linux x86_64-linux \ - armv5tel-linux armv6l-linux armv7l-linux mips64el-linux \ - x86_64-darwin \ - i686-freebsd x86_64-freebsd \ - i686-openbsd x86_64-openbsd \ - i686-netbsd x86_64-netbsd \ - i686-cygwin x86_64-cygwin -} - -# Completion function to select an angle-bracket expression from the nix path -# Assumptions: No '=' in the actual path components in NIX_PATH -# TODO: Complete files in /some/path for expressions like <nixpkgs/pkgs/...> -# IMPROVEMENT: Remove '<nixos-config>' since that seems rather useless(?) -_nix_shortcuts () { - local nix_path=(${(s.:.)NIX_PATH}) - local named=(${(M)nix_path:#*=*}) - local dirs=(${nix_path:#*=*}) - local valid_dir_globs=($^dirs"/*/default.nix(N:h:t)") - local valid_dirs=(${~valid_dir_globs}) - local names=(${named%%=*}) - if [[ "$valid_dirs" || "$names" ]]; then - _values shortcuts "<"${^valid_dirs}">" "<"${^names}">" - fi -} - -_nix_path() { - _alternative \ - 'nixpkgs:Nixpkgs:_nix_shortcuts' \ - 'path:File Path:_nix_complete_dotnix_files' -} - -_nix_complete_dotnix_files () { - _alternative \ - "file:Local file:_path_files -g '*.nix(N) *(N-/)'" \ - 'shortcuts:Shortcuts:_nix_shortcuts' \ - 'channel:Channel:(channel: - channel:nixos-13.10 - channel:nixos-14.04 channel:nixos-14.04-small - channel:nixos-14.12 channel:nixos-14.12-small - channel:nixos-15.09 channel:nixos-15.09-small - channel:nixos-16.03 channel:nixos-16.03-small - channel:nixos-16.09 channel:nixos-16.09-small - channel:nixos-17.03 channel:nixos-17.03-small - channel:nixos-17.09 channel:nixos-17.09-small - channel:nixos-18.03 channel:nixos-18.03-small - channel:nixos-18.09 channel:nixos-18.09-small - channel:nixos-19.03 channel:nixos-19.03-small - channel:nixos-19.09 channel:nixos-19.09-small - channel:nixos-20.03 channel:nixos-20.03-small - channel:nixos-20.09 channel:nixos-20.09-small - channel:nixos-21.05 channel:nixos-21.05-small - channel:nixos-21.11 channel:nixos-21.11-small - channel:nixos-22.05 channel:nixos-22.05-small - channel:nixos-22.11 channel:nixos-22.11-small - channel:nixos-unstable channel:nixos-unstable-small - channel:nixpkgs-unstable)' \ - 'url:URL:(https:// http://)' -} # see: https://channels.nixos.org/ - -_nix_complete_includes () { - local cur=${words[$CURRENT]} - local -a nixpath=(${(s.:.)NIX_PATH}) - local -a path_names - local p - for p in ${nixpath[*]}; do - [[ "$p" == *=* ]] && \ - path_names+=(${p%=*}:Path:_nix_complete_dotnix_files) - done - if [[ $cur == *=* ]]; then - path_names+=(${cur%=*}:Path:_nix_complete_dotnix_files) - fi - if [[ "$path_names" ]]; then - _alternative \ - "nixpath:nixpath:_values -s = 'Nix path name' $path_names" \ - 'file:Path:_path_files -/' - else - _path_files -/ - fi - return -} - -_nix_generations () { - # List of package names with version numbers stripped - setopt extendedglob - local -a generations=(${${${(f)"$(nix-env --list-generations)"}## #}/ /:}) - _describe -V "Nix Generations" generations -} - -_nix_installed_packages () { - # List of package names with version numbers stripped - # with the alternative to specify store paths - local extra_help=$1 - local prefix='-P ./' - local current_word=$words[$CURRENT] - # When referencing an absolute path we can't prefix with ./ - if [[ -z ${current_word:##(/*|\~/*)} && -n $current_word ]]; then - prefix="" - fi - local -a packages=(${${(f)"$(nix-env -q)"}%%-[0-9]*}) - - _alternative \ - "package:packages:_values 'Installed package $extra_help' $packages" \ - "file:Store path to package:_files ${prefix}" -} - - -# Generate nix code creating the default expression used by 'nix-env -iA' -_nix_gen_defexpr () { - setopt local_options null_glob - local -A result # name -> path map - - # Search depth first for directories containing 'default.nix' - # nix-env -iA prioritize the user's channels in case of name collision - # Not sure how collisions in user-created directories are resolved. - local -aU initialQueue=($1/channels $1/channels_root $1/*) - local -a queue=($initialQueue) - - while [[ ${#queue} > 0 ]]; do - local current=$queue[1] - shift queue - if [[ -e $current/default.nix ]]; then - local name=$(basename $current) - if [[ -z $result[$name] ]]; then - result[$name]=$current - fi - else - queue=($current/* $queue) - fi - done - - local nix_expr="{\n" - for name expr_path in ${(kv)result}; do - nix_expr+="${name} = import ${expr_path};" - nix_expr+="\n" - done - nix_expr+="}" - - echo $nix_expr -} - - -# Complete attribute names using $1 as the toplevel expression NB: If calling -# this function from an action spec you need to prefix it with a space so that -# eg. _arguments won't pass it options which it doesn't expect, ie: -# `: _nix_attr_paths` -_nix_attr_paths () { - - local cur=${${words[$CURRENT]#(\'|\")}%(\'|\")} - - # Starting with '.' causes _sep_parts to complain, so exit early. - # This also guards against error output when completion './files' with nix. - if [[ $cur == .* ]]; then - return - fi - - local defexpr=$1 - local attr_path="" - if [[ $cur == *.* ]]; then - attr_path=${cur%.*} - fi - - # attr1.attr3 -> ("attr1" "attr2") - local -a paths=(${(s,.,)attr_path}) - # Add quotes in a second step to avoid ("") when empty - paths=(${${paths/%/\"}/#/\"}) - - # Auto call any functions in the attribute path. This isn't a language - # feature, but done by nix when passing attributes on the command line. - local -a result - result=($(_nix_eval_stdin <<NIX_FILE - let - autocall = setOrLambda: - if builtins.isFunction setOrLambda then - setOrLambda {} - else - setOrLambda; - - top = autocall ($defexpr); - names = [ ${paths[*]} ]; - - # Returns attr.name calling it if it's a function - reducer = set: name: - autocall (builtins.getAttr name set); - result = builtins.foldl' reducer top names; #' - in - if builtins.isAttrs result then - builtins.attrNames result - else - "" -NIX_FILE - )) - - # If the eval failed return the error message - if [[ $? > 0 ]]; then - _message "Eval failed, can't complete (an URL might not be cached): -$result" - return 1 - fi - - local -a prefix=() - if [[ -n $attr_path ]]; then - for i in ${=attr_path//./ }; do - prefix+=("($i)" .) - done - fi - - local package="" - _wanted package package "Attribute path" \ - _sep_parts $prefix result \. - return $? -} - -function _nix_eval_stdin () { - setopt local_options pipefail - # Build up a modified NIX_PATH using -I and --include - local i override="" - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[i]}" in - -I|--include) - override+=${override:+:}${words[$((i+1))]} - ;; - esac - done - override+=${override:+:}${NIX_PATH} - - # Resolve channel: syntax - while [[ "$override" == *(=|:)channel:* ]]; do - local channel=${override#*channel:} - channel="channel:"${channel%%:*} - local url="https://nixos.org/channels/"${channel:8}"/nixexprs.tar.xz" - # Replace the channel with its url - override=${override/"$channel"/"$url"} - done - - # Resolve any url to a cache, else we might trigger a blocking download - while [[ "$override" == *https://* ]]; do - # Find the first url - local url=${override#*https://} - # Strip everything starting with the first colon - url="https://"${url%%:*} - local cache=$(_nix_resolve_url "$url") - # Replace the url with the cache - override=${override/"$url"/"$cache"} - done - - NIX_PATH=$override nix-instantiate --eval - 2>/dev/null | tr '[]"' ' ' - return $? -} - - -# Generate the top level expression in all the various ways the different -# commands expects it to be built. Then generate completions by calling -# _nix_attr_paths $defexpr -_nix_complete_attr_paths () { - - local defexpr="" - local file=$(_nix_get_file_arg) - if [[ "$file" ]]; then - # Extract --arg and --argstr into $args - local i=1 args="" name="" value="" - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[$i]}" in - --arg) - name=${(Q)words[$((i+1))]} - value=${(Q)words[$((i+2))]} - args+="$name = $value;" - i=$((i+2)) - ;; - --argstr) - name=${(Q)words[$((i+1))]} - value=${(Q)words[$((i+2))]} - args+="$name = \"$value\";" - i=$((i+2)) - ;; - esac - done - args=${args:+{$args}} - - local opt - defexpr="import $file $args" - for opt in $words; do - case $opt in - --expr|-[^-]#E[^-]#) - defexpr="($file) $args" - break - ;; - esac - done - else - if [[ $service == nix-env ]]; then - defexpr=$(_nix_gen_defexpr ~/.nix-defexpr) - - elif [[ $service == nix ]]; then - # Extract the channels from NIX_PATH and -I/--include - local -a channels=(${(s.:.)NIX_PATH}) - # Add -I/--include afterwards, so they will shadow the NIX_PATH - channels+=(${(s.:.)opt_args[-I]}) - channels+=(${(s.:.)opt_args[--include]}) - - # Add the names in an associative array to avoid duplicates - local -A names - local channel name - for channel in $channels; do - name=${channel%%=*} - nix_path=${channel#*=} - if [[ $name != $channel ]]; then - # Only add paths with a name, not sure how they work - names[$name]=1 - fi - done - - defexpr=$'{ ' - for name in ${(@k)names}; do - # nixos-config isn't useful or possible to complete - [[ $name == nixos-config ]] && continue - defexpr+="$name = import <${name}>; " - done - defexpr+=' }' - fi - fi - - if [[ $defexpr ]]; then - _nix_attr_paths $defexpr - fi -} - -function _nix_resolve_url () { - local url=$1 - local version="$($service --version)" - local input - if [[ "${version##* }" == 1.11.* ]]; then - # works for nix 1.11 - input="$url" - else - # works for nix 1.12 - input="${url##*/}\0$url" - fi - local sha - sha=$(nix-hash --flat --base32 --type sha256 <(printf "$input")) - local cache=${XDG_CACHE_HOME:-~/.cache}/nix/tarballs - local link="$cache"/"$sha"-file - if [[ -e "$link" ]]; then - echo "$cache/$(basename $(readlink $link))-unpacked" - fi -} - -function _nix_get_file_arg () { - - local file="" - if [[ "$service" == (nix-env|nix) ]]; then - local i - # Extract the last seen -f/--file argument - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[i]}" in - --file|-f) - file=${words[$((i+1))]} - ;; - -f\.) - # -f. is accepted shorthand for -f . - file=. - ;; - esac - done - elif [[ $line ]]; then - file=$line[1] - elif [[ -e shell.nix && $service == nix-shell ]]; then - file=shell.nix - elif [[ -e default.nix ]]; then - file=default.nix - fi - - # Remove one level of shell quoting to make sure we see the same value as - # the nix-* program will see. - # ($opt_args and $line contain the verbatim string: - # eg. given `nix-shell '<nixpkgs>' -A ` $line[1] will be `'<nixpkgs>'` while - # nix-shell will see `<nixpkgs>`) - file=${(Q)file} - - if [[ "file" ]]; then - # Expand channel: syntax - if [[ "$file" == channel:* ]]; then - file="https://nixos.org/channels/"${file:8}"/nixexprs.tar.xz" - fi - - if [[ -e $file ]]; then - # If the path exist use the absolute path to make sure import will - # accept it. - # (Otherwise the path is likely a <nixpkgs> notation) - file=${file:a} - elif [[ "$file" == https://* ]]; then - file=$(_nix_resolve_url $file) - fi - fi - print -n -- $file -} - -function _nix_complete_function_arg () { - local file=$(_nix_get_file_arg) - local func=${file:+import $file} opt - local i exclude="" - for ((i=1; i < ${#words}; i++)); do - case "${words[$i]}" in - --expr|-[^-]#E[^-]#) - func="$file" - ;; - --arg|--argstr) - # Don't add the name we're currently typing - [[ $i == $((CURRENT - 1)) ]] && continue - exclude+=${exclude:+|}${words[$((i+1))]} - ;; - esac - done - if [[ ! $func ]]; then - return - fi - local -a names - names=($(_nix_eval_stdin 2>&1 <<NIX_FILE - if builtins.typeOf ($func) == "lambda" then - builtins.attrNames (builtins.functionArgs ($func)) - else - "" -NIX_FILE - )) - if [[ $? > 0 ]]; then - _message "Eval failed, can't complete (an URL might not be cached): -$names" - return 1 - fi - names=(${names:#(${~exclude})}) - [[ "$names" ]] && _values "Argument name" $names -} - -_nix_profiles () { - local prefix='-P /nix/var/nix/profiles/ -W /nix/var/nix/profiles/' - local cur=$words[$CURRENT] - if [[ $cur ]]; then - prefix="" - fi - _path_files -/ ${=prefix} -} - -# Either true or false: useful for completing many Nix options -_nix_options_bool () { - _values true false -} -# List gathered from: https://nixos.org/nix/manual/#sec-conf-file -# TODO: Complete the value as well, not just the key -_nix_options () { - # Complete nix options with descriptions - local -a nix_options - # Strip the header line, remove leading spaces and replace separating - # whitespace with ':' - nix_options=(${${${${(f)"$(nix --help-config)"}:1:-1}/# /}/ ##/:}) - _describe -t nix_options "Option" nix_options -} - -_nix_options_value () { - # Print the description of the option we're setting - local OPTION=$words[$(($CURRENT - 1))] - # Remove lines not starting with " $OPTION " and strip eveything up to the - # last two consecutive spaces - local description=${${${(f)"$(nix --help-config)"}:#^( $OPTION *)}/* /} - local -a values=() - case "$description" in - Whether*) - _values $description true false - ;; - *) - _path_files - ;; - esac -} - -_nix_run_command_names () { - local cmd chan - - if (( ${+commands[sqlite3]} )); then - # Extract the channels from NIX_PATH and -I/--include - # Add -I/--include afterwards, so they will shadow the NIX_PATH - local -a nix_path=( - ${(s.:.)NIX_PATH} - ${(s.:.)opt_args[-I]} - ${(s.:.)opt_args[--include]} - ) - - # channels: key - channel name, value - path to channel - local -A channels - for chan in $nix_path; do - if [[ $chan = *=* ]]; then - # name=path - channels[${chan%%=*}]=${chan#*=} - else - # path to directory with channels - for chan in $chan/*(-/); do - channels[$chan:t]=$chan - done - fi - done - - # pkg_cmds is list of commands inside packages - # This is an associative array to avoid duplicates. - local -A pkg_cmds - for chan in ${(k)channels}; do - # Extract args with prefix "$chan." - local -a pkgs=( "${${(M)words[@]:#"$chan".*}[@]##"$chan".}" ) - (( ${#pkgs} )) || continue - - local db=${channels[$chan]}/programs.sqlite - [ -f "$db" ] || continue - - pkgs=( "'${^pkgs[@]//\'/''}'" ) # SQL-quote - local query="SELECT name FROM programs WHERE package IN (${(j:,:)pkgs})" - - for cmd in $(sqlite3 "$db" "$query"); do - pkg_cmds[$cmd]= - done - done - - compadd -X 'Package commands' -- ${(k)pkg_cmds} - fi - - _command_names -e -X 'All commands' -} - -## Common options - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell, nixops -__nix_boilerplate_opts=( - '(- *)--help[Print help message and exit]' - '(- *)--version[Print version number and exit]' -) - -# Used in: nix-collect-garbage, nix-env, nix-store, nixops -__nix_dry_run='--dry-run[Show what would be done without doing it]' - -# Used in: nix-collect-garbage, nix-store -__nix_gc_common=( - '(- --print* --delete)--print-roots[Print roots used by garbage collector]' - '(- --print* --delete)--print-live[Print store paths reachable from roots]' - '(- --print* --delete)--print-dead[Print store paths not reachable from roots]' - '(- --print* --delete)--delete[Garbage collect all dead paths from the store]' -) - -# Used in: nixos-install, nix_common_opts -__nix_search_path_args=( - '*-I[add a path to the list of locations used to look up <...> file names]:include path:_nix_complete_includes' -) - -__nix_repair='--repair[Fix corrupted or missing store paths by redownloading or rebuilding]'; - -__nix_expr_opts=( - '(--expr -E)'{--expr,-E}'[interpret command line args as Nix expressions]' -) - -# Misc Nix options accepted by nixos-rebuild -__nix_common_nixos_rebuild=( - $__nix_search_path_args - $__nix_repair - '(--verbose -v)*'{--verbose,-v}'[Increase verbosity of diagnostic messages]' - '(--no-build-output -Q)'{--no-build-output,-Q}'[silence output to stdout and stderr]' - '(--max-jobs -j)'{--max-jobs,-j}'[max number of build jobs in parallel]:jobs:' - '--cores[threads per job (e.g. -j argument to make)]:cores:' - '(--keep-going -k)'{--keep-going,-k}"[keep going until all builds are finished]" - '(--keep-failed -K)'{--keep-failed,-K}'[keep failed builds (usually in /tmp)]' - '--fallback[If binary download fails, fall back on building from source]' - '--show-trace[Print stack trace of evaluation errors]' - '*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value' -) - -__nix_common_nixos_build_vms=( - '*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value' -) - -__nix_common_store_opts=( - '--add-root[register result as a root of the garbage collector]:path (Hint /nix/var/nix/gcroots):_path_files -/' - '--indirect[store gc root outside GC roots directory]' -) - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell and nix-store -__nix_extra_build_opts=( - '--max-silent-time[max seconds without getting stdout/err from builder]:Seconds:' - '--timeout[max seconds builders should run]:seconds:' - '--readonly-mode[do not open Nix database]' - '--log-format[configure how output is formatted]:output format:((pretty\:"Default" escapes\:"Indicate nesting with escape codes" flat\:"Remove all nesting"))' -) - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell -__nix_common_opts=( - $__nix_common_nixos_rebuild - $__nix_args_opts - $__nix_extra_build_opts - '*--include[add a path to the list of locations used to look up <...> file names]:include path:_nix_complete_includes' - '*--arg[argument to pass to the Nix function]:Name:_nix_complete_function_arg:Value: ' - '*--argstr[pass a string]:Name:_nix_complete_function_arg:String: ' -) - -# Options for nix-store --realise, used by nix-build -__nix_store_realise_opts=( - $__nix_dry_run - '--check[rebuild and see if output is deterministic]' -) - -_NIX_SHELL_COMPLETION_LOADED=1 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-copy-closure b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-copy-closure deleted file mode 100644 index 56d18887..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-copy-closure +++ /dev/null @@ -1,14 +0,0 @@ -#compdef nix-copy-closure -#autoload - -_nix-common-options - -_arguments \ - '(--from)--to[Copy the closure to the remote machine (default)]'\ - '(--to)--from[Copy the closure from the remote machine]'\ - '--sign[Cryptographically sign to allow sharing between untrusted users on trusted machines]'\ - '--gzip[Enable compression of the SSH connection]'\ - '--include-outputs[Also copy outputs of store derivations included in the closure]'\ - '(--use-substitutes -s)'{--use-substitutes,-s}'[Download files from the binary cache if possible]'\ - '1:user@machine:_user_at_host'\ - '2:paths:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-env b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-env deleted file mode 100644 index 43ff4a3c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-env +++ /dev/null @@ -1,170 +0,0 @@ -#compdef nix-env -#autoload - -emulate -L zsh -setopt extendedglob - -local context state state_descr line -typeset -A opt_args - -_nix-common-options - -local -a _1st_arguments -_1st_arguments=( - {--install,-i}"[Install package]" - {--upgrade,-u}"[Upgrade package]" - {--uninstall,-e}"[Uninstall package]" - --set-flag'[Modify meta attribute of installed package]:Name:->flag_name:Value:->flag_value:*:Packages: _nix_installed_packages' - {--query,-q}"[List information about derivations]" - {--switch-profile,-S}"[Set the current profile path]" - "--list-generations[Print a list of all generations in the active profile]" - "--delete-generations[Delete specified generations]" - {--switch-generation,-G}"[Activate specified generation]" - "--rollback[Switch to the previous generation of active profile]" -) - -local -a _nix_env_common_opts=( - $__nix_common_opts - '(--profile -p)'{--profile,-p}'[Specify the profile to use]:Path:_nix_profiles' - $__nix_dry_run - '--system-filter[Only show derivations matching the specified platform]:system:_nix_systems' -) - -local -a _nix_env_b=( - '(--prebuilt-only -b)'{--prebuilt-only,-b}'[Fail if there is no pre-built binary available]' -) - -local _nix_env_from_profile -_nix_env_from_profile='--from-profile[Fetch store paths from another profile]:Profile:_nix_profiles' - -# Workaround: -# opt_args doesn't record plain options, so we can't use that -local expect_attr_paths=false -local opt -for opt in $words; do - case $opt in - --attr|-[^-]#A[^-]#) - expect_attr_paths=true - ;; - esac -done - -local -a command_options=() -# Look for a main option in the input and setup command_options appropriately -for opt in $words; do -case "$opt" in - --install|-[^-]#i[^-]#) - command_options=( - $_nix_env_common_opts - '(--attr -A)'{--attr,-A}'[Specify packages by attribute path instead of name]' - $_nix_env_b - $_nix_env_from_profile - '(--preserve-installed -P)'{--preserve-installed,-P}'[Do not remove derivations with the same name]' - '(--remove-all -r)'{--remove-all,-r}'[Remove all previously installed packages prior to installing]' - '*:Package:{if $expect_attr_paths; then - _nix_complete_attr_paths; - else - _nix_installed_packages "(use -A/--attr to access all packages)" - fi}') - break - ;; - --upgrade|-[^-]#u[^-]#) - command_options=( - $_nix_env_common_opts - $_nix_env_b - $_nix_env_from_profile - '(-lt -leq -eq --always)--lt[Upgrade derivations with newer versions (default)]' - '(-lt -leq -eq --always)--leq[Upgrade derivations with the same or newer version]' - '(-lt -leq -eq --always)--eq[Upgrade derivations with equivalent versions]' - '(-lt -leq -eq --always)--always[Upgrade even if version number decreases]' - '*:Packages: _nix_installed_packages') - break - ;; - --uninstall|-[^-]#e[^-]#) - command_options=( - ${_nix_env_common_opts:#'(--attr -A)'*} - '*::Packages: _nix_installed_packages') - break - ;; - --set-flag) - break - ;; - --query|-[^-]#q[^-]#) - command_options=( - $_nix_env_common_opts - '(--available -a)'{--available,-a}'[display all installable derivations]' - $_nix_env_b - '(--status -s)'{--status,-s}'[print status of derivation]' - '(--attr-path -P)'{--attr-path,-P}'[print attribute path of derivations]' - '--no-name[suppress printing of name attribute]' - '(--compare-versions -c)'{--compare-versions,-c}'[compare installed and available version]' - '--system[print system attribute]' - '--drv-path[print store derivation path]' - '--out-path[print output path]' - '--description[print description]' - '--xml[print output as xml]' - '--json[print output as json]' - '--meta[Print all meta attributes: only available with --xml]') - break - ;; - --switch-profile|-[^-]#S[^-]#) - command_options=($_nix_env_common_opts ':Profile:_nix_profiles') - break - ;; - --delete-generations) - command_options=($_nix_env_common_opts '*::Generations:_nix_generations') - break - ;; - --switch-generation|-[^-]#G[^-]#) - command_options=($_nix_env_common_opts '::Generations:_nix_generations') - break - ;; - --list-generations) - command_options=($_nix_env_common_opts) - break - ;; - --[^-]*|-[^-]#) - # Complete common options if the user has started writing something else - command_options=($_nix_env_common_opts) - ;; -esac -done - -# Let _arguments handle the rest, with _1st_arguments being mutually exclusive -# under the main_options group -_arguments -s $command_options \ - '*'{--file,-f}'[Specify Nix expression used to obtain derivations]:Path to file:_nix_path'\ - '-f.[evaluate ./default.nix rather than the default]' \ - $__nix_boilerplate_opts \ - - '(main_options)' \ - $_1st_arguments - -# Handle the --set-flag option -case $state in - flag_name) - local -a _set_flag_attrs=( - 'priority:Resolve package name conflicts' - 'keep:Prevent package from being upgraded' - 'active:Package is symlinked to profile' - ) - _describe -t commands "Package flag" _set_flag_attrs - break - ;; - flag_value) - local flag_name=$words[$(($CURRENT - 1))] - case $flag_name in - priority) - _message "Number, lower priority values denote a higher priority" - break - ;; - keep) - _values "TF" true false - break - ;; - active) - _values "TF" true false - break - ;; - esac - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-hash b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-hash deleted file mode 100644 index cf81fccd..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-hash +++ /dev/null @@ -1,16 +0,0 @@ -#compdef nix-hash -#autoload - -_nix-common-options - -local -a ig -ig=( '--to-base16' '--to-base32' ) - -_arguments \ - '(- *)--to-base16[Convert a base 32 hash to hexadecimal]:Hash:( )' \ - '(- *)--to-base32[Convert a hexadecimal hash to base 32]:Hash:( )' \ - "($ig)--flat[Print hash of regular files rather than their NAR dump]" \ - "($ig)--base32[Print hash in base 32 rather than hexadecimal]" \ - "($ig)--truncate[Truncate hashes to 160 bits]" \ - "($ig)--type[Hash algorithm to use]:hashAlgo:(md5 sha1 sha256 sha512)" \ - "($ig)*:Store Paths:_files" && return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-install-package b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-install-package deleted file mode 100644 index 6d53a016..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-install-package +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nix-install-package -#autoload - -_nix-common-options - -_arguments \ - '--non-interactive[Do not open a terminal window and do not ask for confirmation]' \ - '(--profile -p)'{--profile,-p}'[Profile to install the package into]:Profile:_nix_profiles' \ - '--set[Install the package as the profile so that the profile contains nothing else]' \ - '(1)--url[URL to download the package file from]:URL:_urls' \ - '(--url)1:Package File:_files -g \*.nixpkg' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-instantiate b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-instantiate deleted file mode 100644 index b79cc47e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-instantiate +++ /dev/null @@ -1,23 +0,0 @@ -#compdef nix-instantiate -#autoload - -_nix-common-options - -# --no-location: undocumented arg -# --repair: undocumented arg -_arguments \ - - regular \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_common_store_opts \ - $__nix_expr_opts \ - '*'{--attr,-A}'[build a .drv from file (default: ./default.nix)]:package:_nix_complete_attr_paths' \ - '--xml[Print output from --eval as XML]'\ - '--json[Print output from --eval as JSON]'\ - '--parse[Just parse the input files and print their abstract syntax trees]'\ - '--eval[Just parse and evaluate the input files, and print the resulting values]'\ - '--strict[Cause --eval to recursively evaluate list elements and attributes]'\ - '--read-write-mode[Perform evaluation in read/write mode]'\ - '*:File to instantiate (default\: ./default.nix):_nix_path' \ - - find-file \ - "--find-file[Look up the given files on Nix's search path]:*:Lookup file using <...> logic:"\ diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-prefetch-url b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-prefetch-url deleted file mode 100644 index ed39e3f8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-prefetch-url +++ /dev/null @@ -1,24 +0,0 @@ -#compdef nix-prefetch-url -#autoload - -_nix-common-options - -_resource() { - local -a others=( - 'https\://:HTTPS URL' - 'http\://:HTTP URL' - 'mirror\://:Mirror defined in nixpkgs') - _alternative \ - 'url:Other: _describe "URLS and special options" others' \ - 'path:Local path (adds file url prefix):_path_files -P "file://"' -} - -_arguments \ - $__nix_search_path_args \ - '--unpack[Unpack tarball/zip first]'\ - '--print-path[Print the resulting store path]'\ - '--type[Use the specified hash algorithm]:Hash Algorithm:(md5 sha1 sha256 sha512)'\ - '--name[Override the resulting nix store filename]:nix store filename:'\ - '*'{--attr,-A}'[Fetch the src of derivation (eg. mpv.src)]:src (eg. mpv.src): _nix_complete_attr_paths'\ - '1:URL or a local nix file:_resource'\ - '2::Hash:( )' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-push b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-push deleted file mode 100644 index 9e050eb8..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-push +++ /dev/null @@ -1,15 +0,0 @@ -#compdef nix-push -#autoload - -_nix-common-options - -_arguments \ - '--dest[Set the destination directory]:Destination directory:_path_files -/'\ - '(--none)--bzip2[Compress NARs using bzip2 instead of xz -9]'\ - '(--bzip2)--none[Do not compress NARs]'\ - '--force[Overwrite .narinfo files if they already exist]'\ - '--link[Hard link files into the destination directory rather than copying]'\ - '(--manifest-path)--manifest[Force the generation of a manifest suitable for use by nix-pull]'\ - '(--manifest)--manifest-path[Like --manifest, but specify the manifest filename]:Manifest filename:_files'\ - '--url-prefix[Specify the prefix URL used in the Manifest]:Prefix URL:_urls'\ - '*:Derivation Paths:_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-shell b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-shell deleted file mode 100644 index ab16ae90..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-shell +++ /dev/null @@ -1,36 +0,0 @@ -#compdef nix-shell -#autoload - -_nix-common-options - -local -a _nix_shell_opts=( - '--command[Run a command instead of starting an interactive shell]:Command:_command_names' - '--exclude[Do not build any dependencies which match this regex]:Regex:( )' - '--pure[Clear the environment before starting the interactive shell]' - '--run[Run a command in a non-interactive shell instead of starting an interactive shell]:Command:_command_names' - '*'{--attr,-A}"[setup a build shell for package]:package:_nix_complete_attr_paths" -) - -local norm_arguments='*:Paths:_nix_path' -local word -for word in $words; do - case "$word" in - --packages|-[^-]#p[^-]#) - norm_arguments='*:Packages: _nix_attr_paths "import <nixpkgs>"' - break - ;; - --expr|-[^-]#E[^-]#) - norm_arguments='*:Expression:' - ;; - esac -done - -_arguments \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_dry_run \ - $_nix_shell_opts \ - $norm_arguments \ - - '(group)' \ - $__nix_expr_opts \ - {--packages,-p}'[run with packages from <nixpkgs> (override usinge -I)]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-store b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-store deleted file mode 100644 index 149942e0..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nix-store +++ /dev/null @@ -1,144 +0,0 @@ -#compdef nix-store -#autoload - - -local context state state_descr line -typeset -A opt_args - -setopt extendedglob - -_nix-common-options - -local -a cmd_arguments=( - $__nix_boilerplate_opts - {--realise,-r}'[Build the specified store paths]' - '--serve[provide access to the nix store over stdin/stdout]' - '--gc[Perform garbage collection on the Nix store]' - '--delete[Delete store paths from the Nix store if it is safe to do so]' - {--query,-q}'[Display information about store paths]' - '--add[Add paths to the Nix store]' - '--verify[Verify the consistency of the Nix database and store]' - '--verify-path[Compare the contents of each store path to the hashes stored in the database]' - '--repair-path[Attempt to repair the specified paths by redownloading them]' - '--dump[Produce a NAR file containing the contents of the given path]' - '--restore[Unpack a NAR archive, read from stdin, to the given path]' - '--export[Serialize the specified store paths to stdout in a format which can be imported]' - '--import[Read searialized store paths from stdin and add them to the Nix store]' - '--optimise[Find identical files in the Nix store and hardlink them together to reduce disk usage]' - {--read-log,-l}'[Print the build log of the specified store paths]' - '--dump-db[Dump Nix database to stdout]' - '--load-db[Read a dump of the Nix database]' - '--print-env[Print the environment of a derivation as shell code]' - '--query-failed-paths[Print out store paths which failed to build]' - '--clear-failed-paths[Clear the "failed" state of the given store path]' - '--generate-binary-cache-key[generate an Ed25519 key pair to sign build outputs]:key-name::secret-key-file:_files:public-key-file:_files' -) - -# Common nix-store options -local -a common_opts=( - '*:Store Paths:_files' - $__nix_repair - $__nix_common_store_opts - $__nix_common_nixos_rebuild - $__nix_extra_build_opts -) - -local -a command_options -local opt -for opt in $words; do -case "$opt" in - --realise|-[^-]#r[^-]#) - command_options=( - $common_opts - $__nix_store_realise_opts - ) - break - ;; - --serve) - command_options=( - $common_opts - '--write[allow writing to the nix store]' - ) - break - ;; - --gc) - command_options=( - $common_opts - $__nix_gc_common - '--max-freed[stop the gc after freeing n bytes]:bytes:' - ) - break - ;; - --delete) - command_options=( - $common_opts - '--ignore-liveness[Ignore reachability from roots]' - ) - break - ;; - --query|-[^-]#q[^-]#) - command_options+=( - '(--use-output -u)'{--use-output,-u}'[Apply the query to the output path of any store derivations]' - '(--force-realise -f)'{--force-realise,-f}'[Realise each argument to the query first]' - ) - - local subopt - for subopt in $words; do - case "$subopt" in - --requisites|-R) - command_options+=( - $common_opts - '--include-outputs[Also include the output paths of store derivations]' - ) - break - ;; - --outputs|--references|--referrers|--referrers-closure|--deriver|-d|--graph|--tree|--binding|-b|--hash|--size|--roots) - command_options+=($common_opts) - break - ;; - esac - done - - command_options+=( - + '(query_subcmds)' - '--outputs[Print the output paths of the given store derivations]' - {--requisites,-R}'[Print the closure of the given store paths]' - '--references[Print immediate dependencies of the given store paths]' - '--referrers[Print store paths which refer to these paths]' - '--referrers-closure[Print the closure under the referrers relation]' - '--deriver[Print the deriver of the store paths]' - '--graph[Print the references graph of the store paths in Graphviz format]' - '--tree[Print the references graph of the store paths as an ASCII tree]' - {--binding,-b}'[Print the value of an attribute of the store derivations]:name:' - '--hash[Print the SHA-256 hash of the contents of the store paths]' - '--size[Print the size in bytes of the contents of the store paths]' - '--roots[Print the garbage collector roots that point to the store paths]' - ) - break - ;; - --verify) - command_options=( - $common_opts - '--check-contents[Compute and validate the SHA-256 hash of each store item]' - ) - break - ;; - --add|--verify-path|--repair-path|--dump|--restore|--export|--read-log|-l|--print-env) - command_options=($common_opts) - break - ;; - --dump-db|--load-db|--query-failed-paths|--optimise) - # nothing to complete - return - ;; - --[^-]*|-[^-]#) - # Complete common options if the user has started writing something else - command_options=($common_opts) - ;; -esac -done - -_arguments -s \ - $command_options \ - + '(main_options)' \ - $cmd_arguments && return 0 diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixops b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixops deleted file mode 100644 index 7c056257..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixops +++ /dev/null @@ -1,204 +0,0 @@ -#compdef nixops -#autoload - -_nix-common-options - -# List of valid commands -local -a _1st_arguments -_1st_arguments=( - "list:list all known deployments"\ - "create:create a new deployment"\ - "modify:modify an existing deployment"\ - "clone:clone an existing deployment"\ - "delete:delete a deployment"\ - "info:show the state of the deployment"\ - "check:check the state of the machines in the network"\ - "set-args:persistently set arguments to the deployment specification"\ - "deploy:deploy the network configuration"\ - "send-keys:send encryption keys"\ - "destroy:destroy all resources in the specified deployment"\ - "stop:stop all virtual machines in the network"\ - "start:start all virtual machines in the network"\ - "reboot:reboot all virtual machines in the network"\ - "show-physical:print the physical network expression"\ - "ssh:login on the specified machine via SSH"\ - "ssh-for-each:execute a command on each machine via SSH"\ - "scp:copy files to or from the specified machine via scp"\ - "rename:rename machine in network"\ - "backup:make snapshots of persistent disks in network (EC2-only)"\ - "backup-status:get status of backups"\ - "remove-backup:remove a given backup"\ - "clean-backups:remove old backups"\ - "restore:restore machines based on snapshots of persistent disks in network (EC2-only)"\ - "show-option:print the value of a configuration option"\ - "list-generations:list previous configurations to which you can roll back"\ - "rollback:roll back to a previous configuration"\ - "delete-generation:remove a previous configuration"\ - "show-console-output:print the machines console output on stdout"\ - "dump-nix-paths:dump Nix paths referenced in deployments"\ - "export:export the state of a deployment"\ - "import:import deployments into the state file"\ - "edit:open the deployment specification in \$EDITOR"\ - ) - -# Options valid for every command -local -a _nixops_common_arguments -_nixops_common_arguments=( - '(--state -s)'{--state,-s}'[Path to state file that contains the deployments]:Statefile:_files -g \*.nixops'\ - '(--deployment -d)'{--deployment,-d}'[UUID or symbolic name of deployment on which to operate]'\ - '--confirm[Automatically confirm "dangerous" actions]'\ - '--debug[Turn on debugging output]'\ -) - -local -a _nixops_include_exclude -_nixops_include_exclude=( - '--include[Only operate on the specified machines]:Machine Names:_hosts' \ - '--exclude[Do not operate on the specified machines]:Machine Names:_hosts' \ -) - -local -a _nixops_search_path_args -_nixops_search_path_args=( - '-I[Add path to the Nix expression search path for all future evaluations]:Path:_nix_complete_includes' \ -) - -_arguments \ - $__nix_boilerplate_opts \ - '*:: :->subcmds' && return 0 - -if (( CURRENT==1 )); then - _describe -t commands "nixos-container subcommands" _1st_arguments - return -fi - -case "$words[1]" in - create) - _arguments \ - $_nixops_common_arguments\ - $_nixops_search_path_args \ - '*:Nix Expressions:_nix_complete_dotnix_files' - ;; - modify) - _arguments \ - $_nixops_common_arguments\ - $_nixops_search_path_args \ - '(--name -n)'{--name,-n}'[Change the symbolic name]:New Name:( )'\ - ;; - clone) - _arguments \ - $_nixops_common_arguments\ - '(--name -n)'{--name,-n}'[Symbolic name for the new deployment]'\ - ;; - delete) - _arguments \ - $_nixops_common_arguments\ - '--all[Delete all deployments in the state file]'\ - '--force[]' - ;; - deploy) - _arguments \ - $_nixops_common_arguments\ - '(--kill-obsolete -k)'{--kill-obsolete,-k}'[Destroy machines no longer listed in the deployment specification]'\ - $__nix_dry_run \ - $__nix_repair \ - '--create-only[Create missing machines only: build nothing and do not touch existing machines]'\ - '--build-only[Build the configuration without creating or deploying machines]'\ - '--copy-only[Do everything except activate the new configuration]'\ - '--check[Check that deployed machines are correctly configured]'\ - '--allow-reboot[Allow NixOps to reboot the instance if necessary]'\ - '--force-reboot[Reboot the machine to activate the new configuration]'\ - '--allow-recreate[Recreate resources that have disappeared]'\ - $_nixops_include_exclude \ - $_nixops_search_path_args \ - '--max-concurrent-copy[Set the maximum concurrent nix-copy-closure processes (Default 5)]:Number:( )' - ;; - destroy) - _arguments \ - $_nixops_common_arguments\ - '--all[Destroy all deployments]'\ - $_nixops_include_exclude \ - ;; - stop) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - start) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - info) - _arguments \ - $_nixops_common_arguments\ - '--all[Print information about all resources in all known deployments]'\ - '--plain[Print in a more easily parsed format]'\ - '--no-eval[Do not evaluate the deployment specification]' - ;; - check) - _arguments \ - $_nixops_common_arguments\ - '--all[Check all machines in all known deployments]' - ;; - ssh) - _arguments \ - $_nixops_common_arguments\ - '--include-keys[]' - ;; - ssh-for-each) - _arguments \ - $_nixops_common_arguments\ - '(--parallel -p)'{--parallel,-p}'[Execute the command on each machine in parallel]'\ - $_nixops_include_exclude \ - ;; - reboot) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - '--no-wait[Do not wait until the machines have finished rebooting]' - ;; - backup) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - restore) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - '--devices[Restore only the persistent disks which are mapped to the specified device names]:Device names:( )'\ - '--backup-id[Restore the persistent disks of all machines to a given backup except the ones listed here.]:Backup ids:( )' - ;; - show-option) - _arguments \ - $_nixops_common_arguments\ - '--xml[Format output as XML]'\ - '1:machine:_hosts'\ - '2:option:( )' - ;; - set-args) - _arguments \ - $_nixops_common_arguments\ - '--arg[Set the function argument]:Name:( ):Value:( )'\ - '--argstr[Like --arg but the value is a string]:Name:( ):Value:( )'\ - '--unset[Remove a previously set function argument]:Name:( )' - ;; - show-console-output) - _arguments \ - $_nixops_common_arguments\ - '1:machine:_hosts' - ;; - export) - _arguments \ - $_nixops_common_arguments\ - '--all[Apply to all deployments]' - ;; - import) - _arguments \ - $_nixops_common_arguments\ - '--include-keys[]' - ;; - *) - _arguments \ - $_nixops_common_arguments\ - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-build-vms b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-build-vms deleted file mode 100644 index d1046aae..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-build-vms +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nixos-build-vms -#autoload - -_nix-common-options - -_arguments \ - $__nix_common_nixos_build_vms \ - '--show-trace[Show a trace of the output]'\ - "--no-out-link[Do not create a 'result' symlink]"\ - "--help[Show help]"\ - '1:Network Nix Expression:_nix_complete_dotnix_files' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-container b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-container deleted file mode 100644 index 93ebca9c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-container +++ /dev/null @@ -1,70 +0,0 @@ -#compdef nixos-container -#autoload - -_nix-common-options - -_containers () { - containers=($(nixos-container list)) - _wanted containers expl 'containers' compadd -a containers -} - -local -a _1st_arguments -_1st_arguments=( - 'list:Show list of containers'\ - 'create:Create a container'\ - 'destroy:Destroy a container'\ - 'start:Start a container'\ - 'stop:Stop a container'\ - 'status:Get status of a container'\ - 'update:Update container'\ - 'login:Login to a container'\ - 'root-login:Login to a container as root (no password needed)'\ - 'run:Run a container'\ - 'show-ip:Display the IP of a container'\ - 'show-host-key:Display the host key of a container' - ) - -_arguments \ - '(- 1 *)--help[Display help]'\ - '*:: :->subcmds' && return 0 - -if (( CURRENT==1 )); then - _describe -t commands "nixos-container subcommands" _1st_arguments - return -fi - -local _container_name='1:Container Name:_containers'; -local _container_config='--config[Config]:Config:( )'; -local _container_file='--config-file[Path to the container config file]:Path:_files'; - -case "$words[1]" in - create) - _arguments\ - $_container_name\ - $_container_config\ - $_container_file\ - '--system-path[System path]:Path:_files'\ - '--ensure-unique-name[Avoid name conflicts with other containers]'\ - '--auto-start[Start the container immediately]'\ - '--nixos-path[Path to <nixpkgs/nixos>]:Path:_files'\ - '--host-address[Host IP of the veth interface]:host address:'\ - '--local-address[IPv4 address assined to the interface in the container]:local address:'\ - '--bridge[Put the host-side of the veth-pair into the named bridge]:Bridge interface'\ - '--port[Port forwarding]:port forwarding' - ;; - run) - # TODO: There are a few more arguments in this case - _arguments\ - $_container_name\ - ;; - update) - _arguments\ - $_container_name\ - $_container_config\ - $_container_file - ;; - destroy|start|stop|status|login|root-login|show-ip|show-host-key) - _arguments\ - $_container_name - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-generate-config b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-generate-config deleted file mode 100644 index b8299857..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-generate-config +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nixos-generate-config -#autoload - -_nix-common-options - -_arguments \ - '--force[Overwrite /etc/nixos/configuration.nix if it exists]:'\ - '--root[Directory to treat as root of filesystem]:Root directory:_path_files -/'\ - '--dir[Directory to write configuration files to (Default /etc/nixos)]:Output directory:_path_files -/'\ - '--no-filesystems[Omit file system information from hardware configuration]'\ - '--show-hardware-config[Print hardware configuration to stdout without writing anything to disk]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-install b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-install deleted file mode 100644 index cca5b389..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-install +++ /dev/null @@ -1,10 +0,0 @@ -#compdef nixos-install -#autoload - -_nix-common-options - -_arguments \ - $__nix_search_path_args \ - '--root[Treat the given directory as the root of the NixOS installation]:Installation Root:_path_files -/'\ - '--show-trace[Print a stack trace in case of evaluation errors]'\ - '--chroot[Chroot into given installation]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-option b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-option deleted file mode 100644 index 0b44ca4e..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-option +++ /dev/null @@ -1,23 +0,0 @@ -#compdef nixos-option -#autoload -_nix-common-options # import _nix_attr_paths etc. - -_nixos-option-opts() { - local mods= - if [[ -n "$NIX_PATH" && "$NIX_PATH" =~ "nixos-config=" ]]; then - mods="(import <nixos-config>)" - fi - local options=' - with import <nixpkgs/lib>; - (evalModules { - modules = import <nixpkgs/nixos/modules/module-list.nix> ++ [ '"$mods"' ]; - }).config - ' - - _nix_attr_paths $options -} - -_arguments \ - $__nix_search_path_args \ - '--all[Print the values of all options.]' \ - ':NixOS module options:_nixos-option-opts' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-rebuild b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-rebuild deleted file mode 100644 index 3586f24d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-rebuild +++ /dev/null @@ -1,32 +0,0 @@ -#compdef nixos-rebuild -#autoload - -_nix-common-options - -local -a _1st_arguments -_1st_arguments=( - 'switch:Build, activate, and update boot default' - 'boot:Build and update boot default without activating' - 'test:Build and activate without updating boot default' - 'build:Build without activating or updating boot default' - 'dry-build:Show what store paths would be built or downloaded without building' - 'dry-activate:Build and show what changes would be performed by the activation' - 'build-vm:Create a script which starts a VM with the built configuration' - 'build-vm-with-bootloader:Like build-vm, but boot using regular boot loader' -) - -_arguments \ - $__nix_common_nixos_rebuild \ - '--upgrade[Fetch the latest version of NixOS from the NixOS channel]'\ - '--install-bootloader[(Re)install bootloader on the configured device]'\ - "--no-build-nix[Don't build Nix package manager]"\ - '--fast[Equivalent to --no-build-nix --show-trace]'\ - '--rollback[Roll back to the previous configuration]'\ - '(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\ - '1:: :->subcmds' && return 0 - -case $state in - subcmds) - _describe -t commands "nixos-rebuild subcommands" _1st_arguments - ;; -esac diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-version b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-version deleted file mode 100644 index a193606b..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_nixos-version +++ /dev/null @@ -1,9 +0,0 @@ -#compdef nixos-version -#autoload - -_nix-common-options - -_arguments \ - '(- *)'{--hash,--revision}'[Show the full SHA1 hash of the Git commit from which this configuration was built.]'\ - '--configuration-revision[Show the configuration revision if available.]'\ - '--json[Print a JSON representation of the versions of NixOS and the top-level configuration flake.]' diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_op b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_op deleted file mode 100644 index c154ea13..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_op +++ /dev/null @@ -1,212 +0,0 @@ -#compdef op -compdef _op op - -# zsh completion for op -*- shell-script -*- - -__op_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_op() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __op_debug "\n========= starting completion logic ==========" - __op_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __op_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __op_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., op -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} __complete ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __op_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __op_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __op_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __op_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __op_debug "No directive found. Setting do default" - directive=0 - fi - - __op_debug "directive: ${directive}" - __op_debug "completions: ${out}" - __op_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __op_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __op_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __op_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __op_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __op_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __op_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __op_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __op_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __op_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __op_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __op_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __op_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __op_debug "_describe did not find completions." - __op_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __op_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __op_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_op" ]; then - _op -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pip b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pip deleted file mode 100644 index 6a320eab..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pip +++ /dev/null @@ -1,17 +0,0 @@ - -# pip zsh completion start -#compdef -P pip[0-9.]# -__pip() { - compadd $( COMP_WORDS="$words[*]" \ - COMP_CWORD=$((CURRENT-1)) \ - PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null ) -} -if [[ $zsh_eval_context[-1] == loadautofunc ]]; then - # autoload from fpath, call function directly - __pip "$@" -else - # eval/source/. command, register function for later - compdef __pip -P 'pip[0-9.]#' -fi -# pip zsh completion end - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pipenv b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pipenv deleted file mode 100644 index 6060e345..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pipenv +++ /dev/null @@ -1,41 +0,0 @@ -#compdef pipenv - -_pipenv_completion() { - local -a completions - local -a completions_with_descriptions - local -a response - (( ! $+commands[pipenv] )) && return 1 - - response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) _PIPENV_COMPLETE=zsh_complete pipenv)}") - - for type key descr in ${response}; do - if [[ "$type" == "plain" ]]; then - if [[ "$descr" == "_" ]]; then - completions+=("$key") - else - completions_with_descriptions+=("$key":"$descr") - fi - elif [[ "$type" == "dir" ]]; then - _path_files -/ - elif [[ "$type" == "file" ]]; then - _path_files -f - fi - done - - if [ -n "$completions_with_descriptions" ]; then - _describe -V unsorted completions_with_descriptions -U - fi - - if [ -n "$completions" ]; then - compadd -U -V unsorted -a completions - fi -} - -if [[ $zsh_eval_context[-1] == loadautofunc ]]; then - # autoload from fpath, call function directly - _pipenv_completion "$@" -else - # eval/source/. command, register function for later - compdef _pipenv_completion pipenv -fi - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pnpm b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pnpm deleted file mode 100644 index 3aa45e11..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_pnpm +++ /dev/null @@ -1,29 +0,0 @@ -#compdef pnpm -#compdef pnpm -###-begin-pnpm-completion-### -if type compdef &>/dev/null; then - _pnpm_completion () { - local reply - local si=$IFS - - IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" SHELL=zsh pnpm completion-server -- "${words[@]}")) - IFS=$si - - if [ "$reply" = "__tabtab_complete_files__" ]; then - _files - else - _describe 'values' reply - fi - } - # When called by the Zsh completion system, this will end with - # "loadautofunc" when initially autoloaded and "shfunc" later on, otherwise, - # the script was "eval"-ed so use "compdef" to register it with the - # completion system - if [[ $zsh_eval_context == *func ]]; then - _pnpm_completion "$@" - else - compdef _pnpm_completion pnpm - fi -fi -###-end-pnpm-completion-### - diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_poetry b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_poetry deleted file mode 100644 index 0c64803d..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_poetry +++ /dev/null @@ -1,217 +0,0 @@ -#compdef poetry - -_poetry_3a7023af2161f746_complete() -{ - local state com cur - local -a opts - local -a coms - - cur=${words[${#words[@]}]} - - # lookup for command - for word in ${words[@]:1}; do - if [[ $word != -* ]]; then - com=$word - break - fi - done - - if [[ ${cur} == --* ]]; then - state="option" - opts+=("--ansi:Force ANSI output." "--directory:The working directory for the Poetry command \(defaults to the current working directory\). All command-line arguments will be resolved relative to the given directory." "--help:Display help for the given command. When no command is given display help for the list command." "--no-ansi:Disable ANSI output." "--no-cache:Disables Poetry source caches." "--no-interaction:Do not ask any interactive question." "--no-plugins:Disables plugins." "--project:Specify another path as the project root. All command-line arguments will be resolved relative to the current working directory." "--quiet:Do not output any message." "--verbose:Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug." "--version:Display this application version.") - elif [[ $cur == $com ]]; then - state="command" - coms+=("about:Shows information about Poetry." "add:Adds a new dependency to pyproject.toml and installs it." "build:Builds a package, as a tarball and a wheel by default." "'cache clear':Clears a Poetry cache by name." "'cache list':List Poetry\'s caches." "check:Validates the content of the pyproject.toml file and its consistency with the poetry.lock file." "config:Manages configuration settings." "'debug info':Shows debug information." "'debug resolve':Debugs dependency resolution." "'debug tags':Shows compatible tags for your project\'s current active environment." "'env activate':Print the command to activate a virtual environment." "'env info':Displays information about the current environment." "'env list':Lists all virtualenvs associated with the current project." "'env remove':Remove virtual environments associated with the project." "'env use':Activates or creates a new virtualenv for the current project." "help:Displays help for a command." "init:Creates a basic pyproject.toml file in the current directory." "install:Installs the project dependencies." "list:Lists commands." "lock:Locks the project dependencies." "new:Creates a new Python project at <path\>." "publish:Publishes a package to a remote repository." "'python install':Install the specified Python version from the Python Standalone Builds project. \(experimental feature\)" "'python list':Shows Python versions available for this environment. \(experimental feature\)" "'python remove':Remove the specified Python version if managed by Poetry. \(experimental feature\)" "remove:Removes a package from the project dependencies." "run:Runs a command in the appropriate environment." "search:Searches for packages on remote repositories." "'self add':Add additional packages to Poetry\'s runtime environment." "'self install':Install locked packages \(incl. addons\) required by this Poetry installation." "'self lock':Lock the Poetry installation\'s system requirements." "'self remove':Remove additional packages from Poetry\'s runtime environment." "'self show':Show packages from Poetry\'s runtime environment." "'self show plugins':Shows information about the currently installed plugins." "'self sync':Sync Poetry\'s own environment according to the locked packages \(incl. addons\) required by this Poetry installation." "'self update':Updates Poetry to the latest version." "show:Shows information about packages." "'source add':Add source configuration for project." "'source remove':Remove source configured for the project." "'source show':Show information about sources configured for the project." "sync:Update the project\'s environment according to the lockfile." "update:Update the dependencies as according to the pyproject.toml file." "version:Shows the version of the project or bumps it when a valid bump rule is provided.") - fi - - case $state in - (command) - _describe 'command' coms - ;; - (option) - case "$com" in - - (about) - opts+=() - ;; - - (add) - opts+=("--allow-prereleases:Accept prereleases." "--dev:Add as a development dependency. \(shortcut for \'-G dev\'\)" "--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--editable:Add vcs/path dependencies as editable." "--extras:Extras to activate for the dependency." "--group:The group to add the dependency to." "--lock:Do not perform operations \(only update the lockfile\)." "--markers:Environment markers which describe when the dependency should be installed." "--optional:Add as an optional dependency to an extra." "--platform:Platforms for which the dependency must be installed." "--python:Python version for which the dependency must be installed." "--source:Name of the source to use to install the package.") - ;; - - (build) - opts+=("--clean:Clean output directory before building." "--config-settings:Provide config settings that should be passed to backend in <key\>=<value\> format." "--format:Limit the format to either sdist or wheel." "--local-version:Add or replace a local version label to the build. \(Deprecated\)" "--output:Set output directory for build artifacts. Default is \`dist\`.") - ;; - - ('cache clear') - opts+=("--all:Clear all entries in the cache.") - ;; - - ('cache list') - opts+=() - ;; - - (check) - opts+=("--lock:Checks that poetry.lock exists for the current version of pyproject.toml." "--strict:Fail if check reports warnings.") - ;; - - (config) - opts+=("--list:List configuration settings." "--local:Set/Get from the project\'s local configuration." "--migrate:Migrate outdated configuration settings." "--unset:Unset configuration setting.") - ;; - - ('debug info') - opts+=() - ;; - - ('debug resolve') - opts+=("--extras:Extras to activate for the dependency." "--install:Show what would be installed for the current system." "--python:Python version\(s\) to use for resolution." "--tree:Display the dependency tree.") - ;; - - ('debug tags') - opts+=() - ;; - - ('env activate') - opts+=() - ;; - - ('env info') - opts+=("--executable:Only display the environment\'s python executable path." "--path:Only display the environment\'s path.") - ;; - - ('env list') - opts+=("--full-path:Output the full paths of the virtualenvs.") - ;; - - ('env remove') - opts+=("--all:Remove all managed virtual environments associated with the project.") - ;; - - ('env use') - opts+=() - ;; - - (help) - opts+=() - ;; - - (init) - opts+=("--author:Author name of the package." "--dependency:Package to require, with an optional version constraint, e.g. requests:\^2.10.0 or requests=2.11.1." "--description:Description of the package." "--dev-dependency:Package to require for development, with an optional version constraint, e.g. requests:\^2.10.0 or requests=2.11.1." "--license:License of the package." "--name:Name of the package." "--python:Compatible Python versions.") - ;; - - (install) - opts+=("--all-extras:Install all extra dependencies." "--all-groups:Install dependencies from all groups." "--compile:Compile Python source files to bytecode." "--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--extras:Extra sets of dependencies to install." "--no-directory:Do not install any directory path dependencies\; useful to install dependencies without source code, e.g. for caching of Docker layers\)" "--no-root:Do not install the root package \(the current project\)." "--only:The only dependency groups to include." "--only-root:Exclude all dependencies." "--sync:Synchronize the environment with the locked packages and the specified groups. \(Deprecated\)" "--with:The optional dependency groups to include." "--without:The dependency groups to ignore.") - ;; - - (list) - opts+=() - ;; - - (lock) - opts+=("--regenerate:Ignore existing lock file and overwrite it with a new lock file created from scratch.") - ;; - - (new) - opts+=("--author:Author name of the package." "--dependency:Package to require, with an optional version constraint, e.g. requests:\^2.10.0 or requests=2.11.1." "--description:Description of the package." "--dev-dependency:Package to require for development, with an optional version constraint, e.g. requests:\^2.10.0 or requests=2.11.1." "--flat:Use the flat layout for the project." "--interactive:Allow interactive specification of project configuration." "--license:License of the package." "--name:Set the resulting package name." "--python:Compatible Python versions." "--readme:Specify the readme file format. Default is md." "--src:Use the src layout for the project. Deprecated: This is the default option now.") - ;; - - (publish) - opts+=("--build:Build the package before publishing." "--cert:Certificate authority to access the repository." "--client-cert:Client certificate to access the repository." "--dist-dir:Dist directory where built artifact are stored. Default is \`dist\`." "--dry-run:Perform all actions except upload the package." "--password:The password to access the repository." "--repository:The repository to publish the package to." "--skip-existing:Ignore errors from files already existing in the repository." "--username:The username to access the repository.") - ;; - - ('python install') - opts+=("--clean:Clean up installation if check fails." "--free-threaded:Use free-threaded version if available." "--implementation:Python implementation to use. \(cpython, pypy\)" "--reinstall:Reinstall if installation already exists.") - ;; - - ('python list') - opts+=("--all:List all versions, including those available for download." "--implementation:Python implementation to search for." "--managed:List only Poetry managed Python versions.") - ;; - - ('python remove') - opts+=("--implementation:Python implementation to use. \(cpython, pypy\)") - ;; - - (remove) - opts+=("--dev:Remove a package from the development dependencies. \(shortcut for \'-G dev\'\)" "--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--group:The group to remove the dependency from." "--lock:Do not perform operations \(only update the lockfile\).") - ;; - - (run) - opts+=() - ;; - - (search) - opts+=() - ;; - - ('self add') - opts+=("--allow-prereleases:Accept prereleases." "--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--editable:Add vcs/path dependencies as editable." "--extras:Extras to activate for the dependency." "--source:Name of the source to use to install the package.") - ;; - - ('self install') - opts+=("--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--sync:Synchronize the environment with the locked packages and the specified groups. \(Deprecated\)") - ;; - - ('self lock') - opts+=("--regenerate:Ignore existing lock file and overwrite it with a new lock file created from scratch.") - ;; - - ('self remove') - opts+=("--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\).") - ;; - - ('self show') - opts+=("--addons:List only add-on packages installed." "--latest:Show the latest version." "--outdated:Show the latest version but only for packages that are outdated." "--tree:List the dependencies as a tree.") - ;; - - ('self show plugins') - opts+=() - ;; - - ('self sync') - opts+=("--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\).") - ;; - - ('self update') - opts+=("--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--preview:Allow the installation of pre-release versions.") - ;; - - (show) - opts+=("--all:Show all packages \(even those not compatible with current system\)." "--latest:Show the latest version." "--no-truncate:Do not truncate the output based on the terminal width." "--only:The only dependency groups to include." "--outdated:Show the latest version but only for packages that are outdated." "--top-level:Show only top-level dependencies." "--tree:List the dependencies as a tree." "--why:When showing the full list, or a --tree for a single package, display whether they are a direct dependency or required by other packages" "--with:The optional dependency groups to include." "--without:The dependency groups to ignore.") - ;; - - ('source add') - opts+=("--priority:Set the priority of this source. One of: primary, supplemental, explicit. Defaults to primary, but will switch to supplemental in a later release.") - ;; - - ('source remove') - opts+=() - ;; - - ('source show') - opts+=() - ;; - - (sync) - opts+=("--all-extras:Install all extra dependencies." "--all-groups:Install dependencies from all groups." "--compile:Compile Python source files to bytecode." "--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--extras:Extra sets of dependencies to install." "--no-directory:Do not install any directory path dependencies\; useful to install dependencies without source code, e.g. for caching of Docker layers\)" "--no-root:Do not install the root package \(the current project\)." "--only:The only dependency groups to include." "--only-root:Exclude all dependencies." "--with:The optional dependency groups to include." "--without:The dependency groups to ignore.") - ;; - - (update) - opts+=("--dry-run:Output the operations but do not execute anything \(implicitly enables --verbose\)." "--lock:Do not perform operations \(only update the lockfile\)." "--only:The only dependency groups to include." "--sync:Synchronize the environment with the locked packages and the specified groups." "--with:The optional dependency groups to include." "--without:The dependency groups to ignore.") - ;; - - (version) - opts+=("--dry-run:Do not update pyproject.toml file" "--next-phase:Increment the phase of the current version" "--short:Output the version number only") - ;; - - esac - - _describe 'option' opts - ;; - *) - # fallback to file completion - _arguments '*:file:_files' - esac -} - -_poetry_3a7023af2161f746_complete "$@" -compdef _poetry_3a7023af2161f746_complete /private/tmp/nix-build-python3.13-poetry-2.1.3.drv-0/source/poetry diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_rg b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_rg deleted file mode 100644 index a1d7acd5..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_rg +++ /dev/null @@ -1,665 +0,0 @@ -#compdef rg - -## -# zsh completion function for ripgrep -# -# Run ci/test-complete after building to ensure that the options supported by -# this function stay in synch with the `rg` binary. -# -# For convenience, a completion reference guide is included at the bottom of -# this file. -# -# Originally based on code from the zsh-users project — see copyright notice -# below. - -_rg() { - local curcontext=$curcontext no='!' descr ret=1 - local -a context line state state_descr args tmp suf - local -A opt_args - - # ripgrep has many options which negate the effect of a more common one — for - # example, `--no-column` to negate `--column`, and `--messages` to negate - # `--no-messages`. There are so many of these, and they're so infrequently - # used, that some users will probably find it irritating if they're completed - # indiscriminately, so let's not do that unless either the current prefix - # matches one of those negation options or the user has the `complete-all` - # style set. Note that this prefix check has to be updated manually to account - # for all of the potential negation options listed below! - if - # We also want to list all of these options during testing - [[ $_RG_COMPLETE_LIST_ARGS == (1|t*|y*) ]] || - # (--[imnp]* => --ignore*, --messages, --no-*, --pcre2-unicode) - [[ $PREFIX$SUFFIX == --[imnp]* ]] || - zstyle -t ":completion:${curcontext}:" complete-all - then - no= - fi - - # We make heavy use of argument groups here to prevent the option specs from - # growing unwieldy. These aren't supported in zsh <5.4, though, so we'll strip - # them out below if necessary. This makes the exclusions inaccurate on those - # older versions, but oh well — it's not that big a deal - args=( - + '(exclusive)' # Misc. fully exclusive options - '(: * -)'{-h,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - '(: * -)'--pcre2-version'[print the version of PCRE2 used by ripgrep, if available]' - - + '(buffered)' # buffering options - '--line-buffered[force line buffering]' - $no"--no-line-buffered[don't force line buffering]" - '--block-buffered[force block buffering]' - $no"--no-block-buffered[don't force block buffering]" - - + '(case)' # Case-sensitivity options - {-i,--ignore-case}'[search case-insensitively]' - {-s,--case-sensitive}'[search case-sensitively]' - {-S,--smart-case}'[search case-insensitively if pattern is all lowercase]' - - + '(context-a)' # Context (after) options - '(context-c)'{-A+,--after-context=}'[specify lines to show after each match]:number of lines' - - + '(context-b)' # Context (before) options - '(context-c)'{-B+,--before-context=}'[specify lines to show before each match]:number of lines' - - + '(context-c)' # Context (combined) options - '(context-a context-b)'{-C+,--context=}'[specify lines to show before and after each match]:number of lines' - - + '(column)' # Column options - '--column[show column numbers for matches]' - $no"--no-column[don't show column numbers for matches]" - - + '(count)' # Counting options - {-c,--count}'[only show count of matching lines for each file]' - '--count-matches[only show count of individual matches for each file]' - '--include-zero[include files with zero matches in summary]' - $no"--no-include-zero[don't include files with zero matches in summary]" - - + '(encoding)' # Encoding options - {-E+,--encoding=}'[specify text encoding of files to search]: :_rg_encodings' - $no'--no-encoding[use default text encoding]' - - + '(engine)' # Engine choice options - '--engine=[select which regex engine to use]:when:(( - default\:"use default engine" - pcre2\:"identical to --pcre2" - auto\:"identical to --auto-hybrid-regex" - ))' - - + file # File-input options - '(1)*'{-f+,--file=}'[specify file containing patterns to search for]: :_files' - - + '(file-match)' # Files with/without match options - '(stats)'{-l,--files-with-matches}'[only show names of files with matches]' - '(stats)--files-without-match[only show names of files without matches]' - - + '(file-name)' # File-name options - {-H,--with-filename}'[show file name for matches]' - {-I,--no-filename}"[don't show file name for matches]" - - + '(file-system)' # File system options - "--one-file-system[don't descend into directories on other file systems]" - $no'--no-one-file-system[descend into directories on other file systems]' - - + '(fixed)' # Fixed-string options - {-F,--fixed-strings}'[treat pattern as literal string instead of regular expression]' - $no"--no-fixed-strings[don't treat pattern as literal string]" - - + '(follow)' # Symlink-following options - {-L,--follow}'[follow symlinks]' - $no"--no-follow[don't follow symlinks]" - - + '(generate)' # Options for generating ancillary data - '--generate=[generate man page or completion scripts]:when:(( - man\:"man page" - complete-bash\:"shell completions for bash" - complete-zsh\:"shell completions for zsh" - complete-fish\:"shell completions for fish" - complete-powershell\:"shell completions for PowerShell" - ))' - - + glob # File-glob options - '*'{-g+,--glob=}'[include/exclude files matching specified glob]:glob' - '*--iglob=[include/exclude files matching specified case-insensitive glob]:glob' - - + '(glob-case-insensitive)' # File-glob case sensitivity options - '--glob-case-insensitive[treat -g/--glob patterns case insensitively]' - $no'--no-glob-case-insensitive[treat -g/--glob patterns case sensitively]' - - + '(heading)' # Heading options - '(pretty-vimgrep)--heading[show matches grouped by file name]' - "(pretty-vimgrep)--no-heading[don't show matches grouped by file name]" - - + '(hidden)' # Hidden-file options - {-.,--hidden}'[search hidden files and directories]' - $no"--no-hidden[don't search hidden files and directories]" - - + '(hybrid)' # hybrid regex options - '--auto-hybrid-regex[DEPRECATED: dynamically use PCRE2 if necessary]' - $no"--no-auto-hybrid-regex[DEPRECATED: don't dynamically use PCRE2 if necessary]" - - + '(ignore)' # Ignore-file options - "(--no-ignore-global --no-ignore-parent --no-ignore-vcs --no-ignore-dot)--no-ignore[don't respect ignore files]" - $no'(--ignore-global --ignore-parent --ignore-vcs --ignore-dot)--ignore[respect ignore files]' - - + '(ignore-file-case-insensitive)' # Ignore-file case sensitivity options - '--ignore-file-case-insensitive[process ignore files case insensitively]' - $no'--no-ignore-file-case-insensitive[process ignore files case sensitively]' - - + '(ignore-exclude)' # Local exclude (ignore)-file options - "--no-ignore-exclude[don't respect local exclude (ignore) files]" - $no'--ignore-exclude[respect local exclude (ignore) files]' - - + '(ignore-global)' # Global ignore-file options - "--no-ignore-global[don't respect global ignore files]" - $no'--ignore-global[respect global ignore files]' - - + '(ignore-parent)' # Parent ignore-file options - "--no-ignore-parent[don't respect ignore files in parent directories]" - $no'--ignore-parent[respect ignore files in parent directories]' - - + '(ignore-vcs)' # VCS ignore-file options - "--no-ignore-vcs[don't respect version control ignore files]" - $no'--ignore-vcs[respect version control ignore files]' - - + '(require-git)' # git specific settings - "--no-require-git[don't require git repository to respect gitignore rules]" - $no'--require-git[require git repository to respect gitignore rules]' - - + '(ignore-dot)' # .ignore options - "--no-ignore-dot[don't respect .ignore files]" - $no'--ignore-dot[respect .ignore files]' - - + '(ignore-files)' # custom global ignore file options - "--no-ignore-files[don't respect --ignore-file flags]" - $no'--ignore-files[respect --ignore-file files]' - - + '(json)' # JSON options - '--json[output results in JSON Lines format]' - $no"--no-json[don't output results in JSON Lines format]" - - + '(line-number)' # Line-number options - {-n,--line-number}'[show line numbers for matches]' - {-N,--no-line-number}"[don't show line numbers for matches]" - - + '(line-terminator)' # Line-terminator options - '--crlf[use CRLF as line terminator]' - $no"--no-crlf[don't use CRLF as line terminator]" - '(text)--null-data[use NUL as line terminator]' - - + '(max-columns-preview)' # max column preview options - '--max-columns-preview[show preview for long lines (with -M)]' - $no"--no-max-columns-preview[don't show preview for long lines (with -M)]" - - + '(max-depth)' # Directory-depth options - {-d,--max-depth}'[specify max number of directories to descend]:number of directories' - '--maxdepth=[alias for --max-depth]:number of directories' - '!--maxdepth=:number of directories' - - + '(messages)' # Error-message options - '(--no-ignore-messages)--no-messages[suppress some error messages]' - $no"--messages[don't suppress error messages affected by --no-messages]" - - + '(messages-ignore)' # Ignore-error message options - "--no-ignore-messages[don't show ignore-file parse error messages]" - $no'--ignore-messages[show ignore-file parse error messages]' - - + '(mmap)' # mmap options - '--mmap[search using memory maps when possible]' - "--no-mmap[don't search using memory maps]" - - + '(multiline)' # Multiline options - {-U,--multiline}'[permit matching across multiple lines]' - $no'(multiline-dotall)--no-multiline[restrict matches to at most one line each]' - - + '(multiline-dotall)' # Multiline DOTALL options - '(--no-multiline)--multiline-dotall[allow "." to match newline (with -U)]' - $no"(--no-multiline)--no-multiline-dotall[don't allow \".\" to match newline (with -U)]" - - + '(only)' # Only-match options - {-o,--only-matching}'[show only matching part of each line]' - - + '(passthru)' # Pass-through options - '(--vimgrep)--passthru[show both matching and non-matching lines]' - '(--vimgrep)--passthrough[alias for --passthru]' - - + '(pcre2)' # PCRE2 options - {-P,--pcre2}'[enable matching with PCRE2]' - $no'(pcre2-unicode)--no-pcre2[disable matching with PCRE2]' - - + '(pcre2-unicode)' # PCRE2 Unicode options - $no'(--no-pcre2 --no-pcre2-unicode)--pcre2-unicode[DEPRECATED: enable PCRE2 Unicode mode (with -P)]' - '(--no-pcre2 --pcre2-unicode)--no-pcre2-unicode[DEPRECATED: disable PCRE2 Unicode mode (with -P)]' - - + '(pre)' # Preprocessing options - '(-z --search-zip)--pre=[specify preprocessor utility]:preprocessor utility:_command_names -e' - $no'--no-pre[disable preprocessor utility]' - - + pre-glob # Preprocessing glob options - '*--pre-glob[include/exclude files for preprocessing with --pre]' - - + '(pretty-vimgrep)' # Pretty/vimgrep display options - '(heading)'{-p,--pretty}'[alias for --color=always --heading -n]' - '(heading passthru)--vimgrep[show results in vim-compatible format]' - - + regexp # Explicit pattern options - '(1 file)*'{-e+,--regexp=}'[specify pattern]:pattern' - - + '(replace)' # Replacement options - {-r+,--replace=}'[specify string used to replace matches]:replace string' - - + '(sort)' # File-sorting options - '(threads)--sort=[sort results in ascending order (disables parallelism)]:sort method:(( - none\:"no sorting" - path\:"sort by file path" - modified\:"sort by last modified time" - accessed\:"sort by last accessed time" - created\:"sort by creation time" - ))' - '(threads)--sortr=[sort results in descending order (disables parallelism)]:sort method:(( - none\:"no sorting" - path\:"sort by file path" - modified\:"sort by last modified time" - accessed\:"sort by last accessed time" - created\:"sort by creation time" - ))' - '(threads)--sort-files[DEPRECATED: sort results by file path (disables parallelism)]' - $no"--no-sort-files[DEPRECATED: do not sort results]" - - + '(stats)' # Statistics options - '(--files file-match)--stats[show search statistics]' - $no"--no-stats[don't show search statistics]" - - + '(text)' # Binary-search options - {-a,--text}'[search binary files as if they were text]' - "--binary[search binary files, don't print binary data]" - $no"--no-binary[don't search binary files]" - $no"(--null-data)--no-text[don't search binary files as if they were text]" - - + '(threads)' # Thread-count options - '(sort)'{-j+,--threads=}'[specify approximate number of threads to use]:number of threads' - - + '(trim)' # Trim options - '--trim[trim any ASCII whitespace prefix from each line]' - $no"--no-trim[don't trim ASCII whitespace prefix from each line]" - - + type # Type options - '*'{-t+,--type=}'[only search files matching specified type]: :_rg_types' - '*--type-add=[add new glob for specified file type]: :->typespec' - '*--type-clear=[clear globs previously defined for specified file type]: :_rg_types' - # This should actually be exclusive with everything but other type options - '(: *)--type-list[show all supported file types and their associated globs]' - '*'{-T+,--type-not=}"[don't search files matching specified file type]: :_rg_types" - - + '(word-line)' # Whole-word/line match options - {-w,--word-regexp}'[only show matches surrounded by word boundaries]' - {-x,--line-regexp}'[only show matches surrounded by line boundaries]' - - + '(unicode)' # Unicode options - $no'--unicode[enable Unicode mode]' - '--no-unicode[disable Unicode mode]' - - + '(zip)' # Compression options - '(--pre)'{-z,--search-zip}'[search in compressed files]' - $no"--no-search-zip[don't search in compressed files]" - - + misc # Other options — no need to separate these at the moment - '(-b --byte-offset)'{-b,--byte-offset}'[show 0-based byte offset for each matching line]' - $no"--no-byte-offset[don't show byte offsets for each matching line]" - '--color=[specify when to use colors in output]:when:(( - never\:"never use colors" - auto\:"use colors or not based on stdout, TERM, etc." - always\:"always use colors" - ansi\:"always use ANSI colors (even on Windows)" - ))' - '*--colors=[specify color and style settings]: :->colorspec' - '--context-separator=[specify string used to separate non-continuous context lines in output]:separator' - $no"--no-context-separator[don't print context separators]" - '--debug[show debug messages]' - '--field-context-separator[set string to delimit fields in context lines]' - '--field-match-separator[set string to delimit fields in matching lines]' - '--hostname-bin=[executable for getting system hostname]:hostname executable:_command_names -e' - '--hyperlink-format=[specify pattern for hyperlinks]:pattern' - '--trace[show more verbose debug messages]' - '--dfa-size-limit=[specify upper size limit of generated DFA]:DFA size (bytes)' - "(1 stats)--files[show each file that would be searched (but don't search)]" - '*--ignore-file=[specify additional ignore file]:ignore file:_files' - '(-v --invert-match)'{-v,--invert-match}'[invert matching]' - $no"--no-invert-match[do not invert matching]" - '(-M --max-columns)'{-M+,--max-columns=}'[specify max length of lines to print]:number of bytes' - '(-m --max-count)'{-m+,--max-count=}'[specify max number of matches per file]:number of matches' - '--max-filesize=[specify size above which files should be ignored]:file size (bytes)' - "--no-config[don't load configuration files]" - '(-0 --null)'{-0,--null}'[print NUL byte after file names]' - '--path-separator=[specify path separator to use when printing file names]:separator' - '(-q --quiet)'{-q,--quiet}'[suppress normal output]' - '--regex-size-limit=[specify upper size limit of compiled regex]:regex size (bytes)' - '*'{-u,--unrestricted}'[reduce level of "smart" searching]' - '--stop-on-nonmatch[stop on first non-matching line after a matching one]' - - + operand # Operands - '(--files --type-list file regexp)1: :_guard "^-*" pattern' - '(--type-list)*: :_files' - ) - - # This is used with test-complete to verify that there are no options - # listed in the help output that aren't also defined here - [[ $_RG_COMPLETE_LIST_ARGS == (1|t*|y*) ]] && { - print -rl - $args - return 0 - } - - # Strip out argument groups where unsupported (see above) - [[ $ZSH_VERSION == (4|5.<0-3>)(.*)# ]] && - args=( ${(@)args:#(#i)(+|[a-z0-9][a-z0-9_-]#|\([a-z0-9][a-z0-9_-]#\))} ) - - _arguments -C -s -S : $args && ret=0 - - case $state in - colorspec) - if [[ ${IPREFIX#--*=}$PREFIX == [^:]# ]]; then - suf=( -qS: ) - tmp=( - 'column:specify coloring for column numbers' - 'line:specify coloring for line numbers' - 'match:specify coloring for match text' - 'path:specify coloring for file names' - ) - descr='color/style type' - elif [[ ${IPREFIX#--*=}$PREFIX == (column|line|match|path):[^:]# ]]; then - suf=( -qS: ) - tmp=( - 'none:clear color/style for type' - 'bg:specify background color' - 'fg:specify foreground color' - 'style:specify text style' - ) - descr='color/style attribute' - elif [[ ${IPREFIX#--*=}$PREFIX == [^:]##:(bg|fg):[^:]# ]]; then - tmp=( black blue green red cyan magenta yellow white ) - descr='color name or r,g,b' - elif [[ ${IPREFIX#--*=}$PREFIX == [^:]##:style:[^:]# ]]; then - tmp=( {,no}bold {,no}intense {,no}underline ) - descr='style name' - else - _message -e colorspec 'no more arguments' - fi - - (( $#tmp )) && { - compset -P '*:' - _describe -t colorspec $descr tmp $suf && ret=0 - } - ;; - - typespec) - if compset -P '[^:]##:include:'; then - _sequence -s , _rg_types && ret=0 - # @todo This bit in particular could be better, but it's a little - # complex, and attempting to solve it seems to run us up against a crash - # bug — zsh # 40362 - elif compset -P '[^:]##:'; then - _message 'glob or include directive' && ret=1 - elif [[ ! -prefix *:* ]]; then - _rg_types -qS : && ret=0 - fi - ;; - esac - - return ret -} - -# Complete encodings -_rg_encodings() { - local -a expl - local -aU _encodings - - _encodings=( -# This is impossible to read, but these encodings rarely if ever change, so -# it probably does not matter. They are derived from the list given here: -# https://encoding.spec.whatwg.org/#concept-encoding-get -# -# The globbing here works in both fish and zsh (though they expand it in -# different orders). It may work in other shells too. - -{{,us-}ascii,arabic,chinese,cyrillic,greek{,8},hebrew,korean} -logical visual mac {,cs}macintosh x-mac-{cyrillic,roman,ukrainian} -866 ibm{819,866} csibm866 -big5{,-hkscs} {cn-,cs}big5 x-x-big5 -cp{819,866,125{0,1,2,3,4,5,6,7,8}} x-cp125{0,1,2,3,4,5,6,7,8} -csiso2022{jp,kr} csiso8859{6,8}{e,i} -csisolatin{1,2,3,4,5,6,9} csisolatin{arabic,cyrillic,greek,hebrew} -ecma-{114,118} asmo-708 elot_928 sun_eu_greek -euc-{jp,kr} x-euc-jp cseuckr cseucpkdfmtjapanese -{,x-}gbk csiso58gb231280 gb18030 {,cs}gb2312 gb_2312{,-80} hz-gb-2312 -iso-2022-{cn,cn-ext,jp,kr} -iso8859{,-}{1,2,3,4,5,6,7,8,9,10,11,13,14,15} -iso-8859-{1,2,3,4,5,6,7,8,9,10,11,{6,8}-{e,i},13,14,15,16} iso_8859-{1,2,3,4,5,6,7,8,9,15} -iso_8859-{1,2,6,7}:1987 iso_8859-{3,4,5,8}:1988 iso_8859-9:1989 -iso-ir-{58,100,101,109,110,126,127,138,144,148,149,157} -koi{,8,8-r,8-ru,8-u,8_r} cskoi8r -ks_c_5601-{1987,1989} ksc{,_}5691 csksc56011987 -latin{1,2,3,4,5,6} l{1,2,3,4,5,6,9} -shift{-,_}jis csshiftjis {,x-}sjis ms_kanji ms932 -utf{,-}8 utf-16{,be,le} unicode-1-1-utf-8 -windows-{31j,874,949,125{0,1,2,3,4,5,6,7,8}} dos-874 tis-620 ansi_x3.4-1968 -x-user-defined auto none - ) - - _wanted encodings expl encoding compadd -a "$@" - _encodings -} - -# Complete file types -_rg_types() { - local -a expl - local -aU _types - - _types=( ${(@)${(f)"$( _call_program types $words[1] --type-list )"}//:[[:space:]]##/:} ) - - if zstyle -t ":completion:${curcontext}:types" extra-verbose; then - _describe -t types 'file type' _types - else - _wanted types expl 'file type' compadd "$@" - ${(@)_types%%:*} - fi -} - -_rg "$@" - -################################################################################ -# ZSH COMPLETION REFERENCE -# -# For the convenience of developers who aren't especially familiar with zsh -# completion functions, a brief reference guide follows. This is in no way -# comprehensive; it covers just enough of the basic structure, syntax, and -# conventions to help someone make simple changes like adding new options. For -# more complete documentation regarding zsh completion functions, please see the -# following: -# -# * http://zsh.sourceforge.net/Doc/Release/Completion-System.html -# * https://github.com/zsh-users/zsh/blob/master/Etc/completion-style-guide -# -# OVERVIEW -# -# Most zsh completion functions are defined in terms of `_arguments`, which is a -# shell function that takes a series of argument specifications. The specs for -# `rg` are stored in an array, which is common for more complex functions; the -# elements of the array are passed to `_arguments` on invocation. -# -# ARGUMENT-SPECIFICATION SYNTAX -# -# The following is a contrived example of the argument specs for a simple tool: -# -# '(: * -)'{-h,--help}'[display help information]' -# '(-q -v --quiet --verbose)'{-q,--quiet}'[decrease output verbosity]' -# '!(-q -v --quiet --verbose)--silent' -# '(-q -v --quiet --verbose)'{-v,--verbose}'[increase output verbosity]' -# '--color=[specify when to use colors]:when:(always never auto)' -# '*:example file:_files' -# -# Although there may appear to be six specs here, there are actually nine; we -# use brace expansion to combine specs for options that go by multiple names, -# like `-q` and `--quiet`. This is customary, and ties in with the fact that zsh -# merges completion possibilities together when they have the same description. -# -# The first line defines the option `-h`/`--help`. With most tools, it isn't -# useful to complete anything after `--help` because it effectively overrides -# all others; the `(: * -)` at the beginning of the spec tells zsh not to -# complete any other operands (`:` and `*`) or options (`-`) after this one has -# been used. The `[...]` at the end associates a description with `-h`/`--help`; -# as mentioned, zsh will see the identical descriptions and merge these options -# together when offering completion possibilities. -# -# The next line defines `-q`/`--quiet`. Here we don't want to suppress further -# completions entirely, but we don't want to offer `-q` if `--quiet` has been -# given (since they do the same thing), nor do we want to offer `-v` (since it -# doesn't make sense to be quiet and verbose at the same time). We don't need to -# tell zsh not to offer `--quiet` a second time, since that's the default -# behaviour, but since this line expands to two specs describing `-q` *and* -# `--quiet` we do need to explicitly list all of them here. -# -# The next line defines a hidden option `--silent` — maybe it's a deprecated -# synonym for `--quiet`. The leading `!` indicates that zsh shouldn't offer this -# option during completion. The benefit of providing a spec for an option that -# shouldn't be completed is that, if someone *does* use it, we can correctly -# suppress completion of other options afterwards. -# -# The next line defines `-v`/`--verbose`; this works just like `-q`/`--quiet`. -# -# The next line defines `--color`. In this example, `--color` doesn't have a -# corresponding short option, so we don't need to use brace expansion. Further, -# there are no other options it's exclusive with (just itself), so we don't need -# to define those at the beginning. However, it does take a mandatory argument. -# The `=` at the end of `--color=` indicates that the argument may appear either -# like `--color always` or like `--color=always`; this is how most GNU-style -# command-line tools work. The corresponding short option would normally use `+` -# — for example, `-c+` would allow either `-c always` or `-calways`. For this -# option, the arguments are known ahead of time, so we can simply list them in -# parentheses at the end (`when` is used as the description for the argument). -# -# The last line defines an operand (a non-option argument). In this example, the -# operand can be used any number of times (the leading `*`), and it should be a -# file path, so we tell zsh to call the `_files` function to complete it. The -# `example file` in the middle is the description to use for this operand; we -# could use a space instead to accept the default provided by `_files`. -# -# GROUPING ARGUMENT SPECIFICATIONS -# -# Newer versions of zsh support grouping argument specs together. All specs -# following a `+` and then a group name are considered to be members of the -# named group. Grouping is useful mostly for organisational purposes; it makes -# the relationship between different options more obvious, and makes it easier -# to specify exclusions. -# -# We could rewrite our example above using grouping as follows: -# -# '(: * -)'{-h,--help}'[display help information]' -# '--color=[specify when to use colors]:when:(always never auto)' -# '*:example file:_files' -# + '(verbosity)' -# {-q,--quiet}'[decrease output verbosity]' -# '!--silent' -# {-v,--verbose}'[increase output verbosity]' -# -# Here we take advantage of a useful feature of spec grouping — when the group -# name is surrounded by parentheses, as in `(verbosity)`, it tells zsh that all -# of the options in that group are exclusive with each other. As a result, we -# don't need to manually list out the exclusions at the beginning of each -# option. -# -# Groups can also be referred to by name in other argument specs; for example: -# -# '(xyz)--aaa' '*: :_files' -# + xyz --xxx --yyy --zzz -# -# Here we use the group name `xyz` to tell zsh that `--xxx`, `--yyy`, and -# `--zzz` are not to be completed after `--aaa`. This makes the exclusion list -# much more compact and reusable. -# -# CONVENTIONS -# -# zsh completion functions generally adhere to the following conventions: -# -# * Use two spaces for indentation -# * Combine specs for options with different names using brace expansion -# * In combined specs, list the short option first (as in `{-a,--text}`) -# * Use `+` or `=` as described above for options that take arguments -# * Provide a description for all options, option-arguments, and operands -# * Capitalise/punctuate argument descriptions as phrases, not complete -# sentences — 'display help information', never 'Display help information.' -# (but still capitalise acronyms and proper names) -# * Write argument descriptions as verb phrases — 'display x', 'enable y', -# 'use z' -# * Word descriptions to make it clear when an option expects an argument; -# usually this is done with the word 'specify', as in 'specify x' or -# 'use specified x') -# * Write argument descriptions as tersely as possible — for example, articles -# like 'a' and 'the' should be omitted unless it would be confusing -# -# Other conventions currently used by this function: -# -# * Order argument specs alphabetically by group name, then option name -# * Group options that are directly related, mutually exclusive, or frequently -# referenced by other argument specs -# * Use only characters in the set [a-z0-9_-] in group names -# * Order exclusion lists as follows: short options, long options, groups -# * Use American English in descriptions -# * Use 'don't' in descriptions instead of 'do not' -# * Word descriptions for related options as similarly as possible. For example, -# `--foo[enable foo]` and `--no-foo[disable foo]`, or `--foo[use foo]` and -# `--no-foo[don't use foo]` -# * Word descriptions to make it clear when an option only makes sense with -# another option, usually by adding '(with -x)' to the end -# * Don't quote strings or variables unnecessarily. When quotes are required, -# prefer single-quotes to double-quotes -# * Prefix option specs with `$no` when the option serves only to negate the -# behaviour of another option that must be provided explicitly by the user. -# This prevents rarely used options from cluttering up the completion menu -################################################################################ - -# ------------------------------------------------------------------------------ -# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the zsh-users nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------ -# Description -# ----------- -# -# Completion script for ripgrep -# -# ------------------------------------------------------------------------------ -# Authors -# ------- -# -# * arcizan <ghostrevery@gmail.com> -# * MaskRay <i@maskray.me> -# -# ------------------------------------------------------------------------------ - -# Local Variables: -# mode: shell-script -# coding: utf-8-unix -# indent-tabs-mode: nil -# sh-indentation: 2 -# sh-basic-offset: 2 -# End: -# vim: ft=zsh sw=2 ts=2 et diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_ruff b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_ruff deleted file mode 100644 index 6697e324..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_ruff +++ /dev/null @@ -1,9561 +0,0 @@ -#compdef ruff - -autoload -U is-at-least - -_ruff() { - typeset -A opt_args - typeset -a _arguments_options - local ret=1 - - if is-at-least 5.2; then - _arguments_options=(-s -S -C) - else - _arguments_options=(-s -C) - fi - - local context curcontext="$curcontext" state line - _arguments "${_arguments_options[@]}" : \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'-V[Print version]' \ -'--version[Print version]' \ -":: :_ruff_commands" \ -"*::: :->ruff" \ -&& ret=0 - case $state in - (ruff) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:ruff-command-$line[1]:" - case $line[1] in - (check) -_arguments "${_arguments_options[@]}" : \ -'--output-format=[Output serialization format for violations. The default serialization format is "full"]:OUTPUT_FORMAT:(concise full json json-lines junit grouped github gitlab pylint rdjson azure sarif)' \ -'-o+[Specify file to write the linter output to (default\: stdout)]:OUTPUT_FILE:_files' \ -'--output-file=[Specify file to write the linter output to (default\: stdout)]:OUTPUT_FILE:_files' \ -'--target-version=[The minimum Python version that should be supported]:TARGET_VERSION:(py37 py38 py39 py310 py311 py312 py313 py314)' \ -'*--select=[Comma-separated list of rule codes to enable (or ALL, to enable all rules)]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--ignore=[Comma-separated list of rule codes to disable]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--extend-select=[Like --select, but adds additional rule codes on top of those already specified]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--extend-ignore=[Like --ignore. (Deprecated\: You can just use --ignore instead.)]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--per-file-ignores=[List of mappings from file pattern to code to exclude]:PER_FILE_IGNORES:_default' \ -'*--extend-per-file-ignores=[Like \`--per-file-ignores\`, but adds additional ignores on top of those already specified]:EXTEND_PER_FILE_IGNORES:_default' \ -'*--exclude=[List of paths, used to omit files and/or directories from analysis]:FILE_PATTERN:_default' \ -'*--extend-exclude=[Like --exclude, but adds additional files and directories on top of those already excluded]:FILE_PATTERN:_default' \ -'*--fixable=[List of rule codes to treat as eligible for fix. Only applicable when fix itself is enabled (e.g., via \`--fix\`)]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--unfixable=[List of rule codes to treat as ineligible for fix. Only applicable when fix itself is enabled (e.g., via \`--fix\`)]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--extend-fixable=[Like --fixable, but adds additional rule codes on top of those already specified]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'*--extend-unfixable=[Like --unfixable. (Deprecated\: You can just use --unfixable instead.)]:RULE_CODE:((ALL\:"all rules" -AIR\:"Airflow" -ERA\:"eradicate" -FAST\:"FastAPI" -YTT\:"flake8-2020" -ANN\:"flake8-annotations" -ASYNC\:"flake8-async" -S\:"flake8-bandit" -BLE\:"flake8-blind-except" -FBT\:"flake8-boolean-trap" -B\:"flake8-bugbear" -A\:"flake8-builtins" -COM\:"flake8-commas" -C4\:"flake8-comprehensions" -CPY\:"flake8-copyright" -DTZ\:"flake8-datetimez" -T10\:"flake8-debugger" -DJ\:"flake8-django" -EM\:"flake8-errmsg" -EXE\:"flake8-executable" -FIX\:"flake8-fixme" -FA\:"flake8-future-annotations" -INT\:"flake8-gettext" -ISC\:"flake8-implicit-str-concat" -ICN\:"flake8-import-conventions" -LOG\:"flake8-logging" -G\:"flake8-logging-format" -INP\:"flake8-no-pep420" -PIE\:"flake8-pie" -T20\:"flake8-print" -PYI\:"flake8-pyi" -PT\:"flake8-pytest-style" -Q\:"flake8-quotes" -RSE\:"flake8-raise" -RET\:"flake8-return" -SLF\:"flake8-self" -SIM\:"flake8-simplify" -SLOT\:"flake8-slots" -TID\:"flake8-tidy-imports" -TD\:"flake8-todos" -TC\:"flake8-type-checking" -ARG\:"flake8-unused-arguments" -PTH\:"flake8-use-pathlib" -FLY\:"flynt" -I\:"isort" -C90\:"mccabe" -NPY\:"NumPy-specific rules" -PD\:"pandas-vet" -N\:"pep8-naming" -PERF\:"Perflint" -DOC\:"pydoclint" -D\:"pydocstyle" -F\:"Pyflakes" -PGH\:"pygrep-hooks" -PL\:"Pylint" -UP\:"pyupgrade" -FURB\:"refurb" -RUF\:"Ruff-specific rules" -TRY\:"tryceratops" -AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -'--line-length=[Set the line-length for length-associated rules and automatic formatting]:LINE_LENGTH:_default' \ -'--dummy-variable-rgx=[Regular expression matching the name of dummy variables]:DUMMY_VARIABLE_RGX:_default' \ -'--cache-dir=[Path to the cache directory]:CACHE_DIR:_files' \ -'--stdin-filename=[The name of the file when passing it through stdin]:STDIN_FILENAME:_files' \ -'*--extension=[List of mappings from file extension to language (one of \`python\`, \`ipynb\`, \`pyi\`). For example, to treat \`.ipy\` files as IPython notebooks, use \`--extension ipy\:ipynb\`]:EXTENSION:_default' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'--fix[Apply fixes to resolve lint violations. Use \`--no-fix\` to disable or \`--unsafe-fixes\` to include unsafe fixes]' \ -'--no-fix[]' \ -'--unsafe-fixes[Include fixes that may not retain the original intent of the code. Use \`--no-unsafe-fixes\` to disable]' \ -'--no-unsafe-fixes[]' \ -'--show-fixes[Show an enumeration of all fixed lint violations. Use \`--no-show-fixes\` to disable]' \ -'--no-show-fixes[]' \ -'(--show-fixes)--diff[Avoid writing any fixed files back; instead, output a diff for each changed file to stdout, and exit 0 if there are no diffs. Implies \`--fix-only\`]' \ -'-w[Run in watch mode by re-running whenever files change]' \ -'--watch[Run in watch mode by re-running whenever files change]' \ -'--fix-only[Apply fixes to resolve lint violations, but don'\''t report on, or exit non-zero for, leftover violations. Implies \`--fix\`. Use \`--no-fix-only\` to disable or \`--unsafe-fixes\` to include unsafe fixes]' \ -'--no-fix-only[]' \ -'--ignore-noqa[Ignore any \`# noqa\` comments]' \ -'--preview[Enable preview mode; checks will include unstable rules and fixes. Use \`--no-preview\` to disable]' \ -'--no-preview[]' \ -'--respect-gitignore[Respect file exclusions via \`.gitignore\` and other standard ignore files. Use \`--no-respect-gitignore\` to disable]' \ -'--no-respect-gitignore[]' \ -'--force-exclude[Enforce exclusions, even for paths passed to Ruff directly on the command-line. Use \`--no-force-exclude\` to disable]' \ -'--no-force-exclude[]' \ -'-n[Disable cache reads]' \ -'--no-cache[Disable cache reads]' \ -'(--exit-non-zero-on-fix)-e[Exit with status code "0", even upon detecting lint violations]' \ -'(--exit-non-zero-on-fix)--exit-zero[Exit with status code "0", even upon detecting lint violations]' \ -'(-e --exit-zero)--exit-non-zero-on-fix[Exit with a non-zero status code if any files were modified via fix, even if no lint violations remain]' \ -'(--diff -w --watch)--statistics[Show counts for every rule with at least one violation]' \ -'(--show-files --show-settings --ignore-noqa --statistics --stdin-filename -w --watch --fix)--add-noqa[Enable automatic additions of \`noqa\` directives to failing lines]' \ -'(--add-noqa --show-settings --ignore-noqa --statistics --stdin-filename -w --watch)--show-files[See the files Ruff will be run against with the current settings]' \ -'(--add-noqa --show-files --ignore-noqa --statistics --stdin-filename -w --watch)--show-settings[See the settings Ruff will use to lint a given Python file]' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'*::files -- List of files or directories to check \[default\: .\]:_files' \ -&& ret=0 -;; -(rule) -_arguments "${_arguments_options[@]}" : \ -'--output-format=[Output format]:OUTPUT_FORMAT:(text json)' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'()--all[Explain all rules]' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::rule -- Rule to explain:((AIR001\:"airflow-variable-name-task-id-mismatch" -AIR002\:"airflow-dag-no-schedule-argument" -AIR301\:"airflow3-removal" -AIR302\:"airflow3-moved-to-provider" -AIR311\:"airflow3-suggested-update" -AIR312\:"airflow3-suggested-to-move-to-provider" -ERA001\:"commented-out-code" -FAST001\:"fast-api-redundant-response-model" -FAST002\:"fast-api-non-annotated-dependency" -FAST003\:"fast-api-unused-path-parameter" -YTT101\:"sys-version-slice3" -YTT102\:"sys-version2" -YTT103\:"sys-version-cmp-str3" -YTT201\:"sys-version-info0-eq3" -YTT202\:"six-py3" -YTT203\:"sys-version-info1-cmp-int" -YTT204\:"sys-version-info-minor-cmp-int" -YTT301\:"sys-version0" -YTT302\:"sys-version-cmp-str10" -YTT303\:"sys-version-slice1" -ANN001\:"missing-type-function-argument" -ANN002\:"missing-type-args" -ANN003\:"missing-type-kwargs" -ANN101\:"missing-type-self" -ANN102\:"missing-type-cls" -ANN201\:"missing-return-type-undocumented-public-function" -ANN202\:"missing-return-type-private-function" -ANN204\:"missing-return-type-special-method" -ANN205\:"missing-return-type-static-method" -ANN206\:"missing-return-type-class-method" -ANN401\:"any-type" -ASYNC100\:"cancel-scope-no-checkpoint" -ASYNC105\:"trio-sync-call" -ASYNC109\:"async-function-with-timeout" -ASYNC110\:"async-busy-wait" -ASYNC115\:"async-zero-sleep" -ASYNC116\:"long-sleep-not-forever" -ASYNC210\:"blocking-http-call-in-async-function" -ASYNC220\:"create-subprocess-in-async-function" -ASYNC221\:"run-process-in-async-function" -ASYNC222\:"wait-for-process-in-async-function" -ASYNC230\:"blocking-open-call-in-async-function" -ASYNC251\:"blocking-sleep-in-async-function" -S101\:"assert" -S102\:"exec-builtin" -S103\:"bad-file-permissions" -S104\:"hardcoded-bind-all-interfaces" -S105\:"hardcoded-password-string" -S106\:"hardcoded-password-func-arg" -S107\:"hardcoded-password-default" -S108\:"hardcoded-temp-file" -S110\:"try-except-pass" -S112\:"try-except-continue" -S113\:"request-without-timeout" -S201\:"flask-debug-true" -S202\:"tarfile-unsafe-members" -S301\:"suspicious-pickle-usage" -S302\:"suspicious-marshal-usage" -S303\:"suspicious-insecure-hash-usage" -S304\:"suspicious-insecure-cipher-usage" -S305\:"suspicious-insecure-cipher-mode-usage" -S306\:"suspicious-mktemp-usage" -S307\:"suspicious-eval-usage" -S308\:"suspicious-mark-safe-usage" -S310\:"suspicious-url-open-usage" -S311\:"suspicious-non-cryptographic-random-usage" -S312\:"suspicious-telnet-usage" -S313\:"suspicious-xmlc-element-tree-usage" -S314\:"suspicious-xml-element-tree-usage" -S315\:"suspicious-xml-expat-reader-usage" -S316\:"suspicious-xml-expat-builder-usage" -S317\:"suspicious-xml-sax-usage" -S318\:"suspicious-xml-mini-dom-usage" -S319\:"suspicious-xml-pull-dom-usage" -S320\:"suspicious-xmle-tree-usage" -S321\:"suspicious-ftp-lib-usage" -S323\:"suspicious-unverified-context-usage" -S324\:"hashlib-insecure-hash-function" -S401\:"suspicious-telnetlib-import" -S402\:"suspicious-ftplib-import" -S403\:"suspicious-pickle-import" -S404\:"suspicious-subprocess-import" -S405\:"suspicious-xml-etree-import" -S406\:"suspicious-xml-sax-import" -S407\:"suspicious-xml-expat-import" -S408\:"suspicious-xml-minidom-import" -S409\:"suspicious-xml-pulldom-import" -S410\:"suspicious-lxml-import" -S411\:"suspicious-xmlrpc-import" -S412\:"suspicious-httpoxy-import" -S413\:"suspicious-pycrypto-import" -S415\:"suspicious-pyghmi-import" -S501\:"request-with-no-cert-validation" -S502\:"ssl-insecure-version" -S503\:"ssl-with-bad-defaults" -S504\:"ssl-with-no-version" -S505\:"weak-cryptographic-key" -S506\:"unsafe-yaml-load" -S507\:"ssh-no-host-key-verification" -S508\:"snmp-insecure-version" -S509\:"snmp-weak-cryptography" -S601\:"paramiko-call" -S602\:"subprocess-popen-with-shell-equals-true" -S603\:"subprocess-without-shell-equals-true" -S604\:"call-with-shell-equals-true" -S605\:"start-process-with-a-shell" -S606\:"start-process-with-no-shell" -S607\:"start-process-with-partial-path" -S608\:"hardcoded-sql-expression" -S609\:"unix-command-wildcard-injection" -S610\:"django-extra" -S611\:"django-raw-sql" -S612\:"logging-config-insecure-listen" -S701\:"jinja2-autoescape-false" -S702\:"mako-templates" -S704\:"unsafe-markup-use" -BLE001\:"blind-except" -FBT001\:"boolean-type-hint-positional-argument" -FBT002\:"boolean-default-value-positional-argument" -FBT003\:"boolean-positional-value-in-call" -B002\:"unary-prefix-increment-decrement" -B003\:"assignment-to-os-environ" -B004\:"unreliable-callable-check" -B005\:"strip-with-multi-characters" -B006\:"mutable-argument-default" -B007\:"unused-loop-control-variable" -B008\:"function-call-in-default-argument" -B009\:"get-attr-with-constant" -B010\:"set-attr-with-constant" -B011\:"assert-false" -B012\:"jump-statement-in-finally" -B013\:"redundant-tuple-in-exception-handler" -B014\:"duplicate-handler-exception" -B015\:"useless-comparison" -B016\:"raise-literal" -B017\:"assert-raises-exception" -B018\:"useless-expression" -B019\:"cached-instance-method" -B020\:"loop-variable-overrides-iterator" -B021\:"f-string-docstring" -B022\:"useless-contextlib-suppress" -B023\:"function-uses-loop-variable" -B024\:"abstract-base-class-without-abstract-method" -B025\:"duplicate-try-block-exception" -B026\:"star-arg-unpacking-after-keyword-arg" -B027\:"empty-method-without-abstract-decorator" -B028\:"no-explicit-stacklevel" -B029\:"except-with-empty-tuple" -B030\:"except-with-non-exception-classes" -B031\:"reuse-of-groupby-generator" -B032\:"unintentional-type-annotation" -B033\:"duplicate-value" -B034\:"re-sub-positional-args" -B035\:"static-key-dict-comprehension" -B039\:"mutable-contextvar-default" -B901\:"return-in-generator" -B903\:"class-as-data-structure" -B904\:"raise-without-from-inside-except" -B905\:"zip-without-explicit-strict" -B909\:"loop-iterator-mutation" -B911\:"batched-without-explicit-strict" -A001\:"builtin-variable-shadowing" -A002\:"builtin-argument-shadowing" -A003\:"builtin-attribute-shadowing" -A004\:"builtin-import-shadowing" -A005\:"stdlib-module-shadowing" -A006\:"builtin-lambda-argument-shadowing" -COM812\:"missing-trailing-comma" -COM818\:"trailing-comma-on-bare-tuple" -COM819\:"prohibited-trailing-comma" -C400\:"unnecessary-generator-list" -C401\:"unnecessary-generator-set" -C402\:"unnecessary-generator-dict" -C403\:"unnecessary-list-comprehension-set" -C404\:"unnecessary-list-comprehension-dict" -C405\:"unnecessary-literal-set" -C406\:"unnecessary-literal-dict" -C408\:"unnecessary-collection-call" -C409\:"unnecessary-literal-within-tuple-call" -C410\:"unnecessary-literal-within-list-call" -C411\:"unnecessary-list-call" -C413\:"unnecessary-call-around-sorted" -C414\:"unnecessary-double-cast-or-process" -C415\:"unnecessary-subscript-reversal" -C416\:"unnecessary-comprehension" -C417\:"unnecessary-map" -C418\:"unnecessary-literal-within-dict-call" -C419\:"unnecessary-comprehension-in-call" -C420\:"unnecessary-dict-comprehension-for-iterable" -CPY001\:"missing-copyright-notice" -DTZ001\:"call-datetime-without-tzinfo" -DTZ002\:"call-datetime-today" -DTZ003\:"call-datetime-utcnow" -DTZ004\:"call-datetime-utcfromtimestamp" -DTZ005\:"call-datetime-now-without-tzinfo" -DTZ006\:"call-datetime-fromtimestamp" -DTZ007\:"call-datetime-strptime-without-zone" -DTZ011\:"call-date-today" -DTZ012\:"call-date-fromtimestamp" -DTZ901\:"datetime-min-max" -T100\:"debugger" -DJ001\:"django-nullable-model-string-field" -DJ003\:"django-locals-in-render-function" -DJ006\:"django-exclude-with-model-form" -DJ007\:"django-all-with-model-form" -DJ008\:"django-model-without-dunder-str" -DJ012\:"django-unordered-body-content-in-model" -DJ013\:"django-non-leading-receiver-decorator" -EM101\:"raw-string-in-exception" -EM102\:"f-string-in-exception" -EM103\:"dot-format-in-exception" -EXE001\:"shebang-not-executable" -EXE002\:"shebang-missing-executable-file" -EXE003\:"shebang-missing-python" -EXE004\:"shebang-leading-whitespace" -EXE005\:"shebang-not-first-line" -FIX001\:"line-contains-fixme" -FIX002\:"line-contains-todo" -FIX003\:"line-contains-xxx" -FIX004\:"line-contains-hack" -FA100\:"future-rewritable-type-annotation" -FA102\:"future-required-type-annotation" -INT001\:"f-string-in-get-text-func-call" -INT002\:"format-in-get-text-func-call" -INT003\:"printf-in-get-text-func-call" -ISC001\:"single-line-implicit-string-concatenation" -ISC002\:"multi-line-implicit-string-concatenation" -ISC003\:"explicit-string-concatenation" -ICN001\:"unconventional-import-alias" -ICN002\:"banned-import-alias" -ICN003\:"banned-import-from" -LOG001\:"direct-logger-instantiation" -LOG002\:"invalid-get-logger-argument" -LOG004\:"log-exception-outside-except-handler" -LOG007\:"exception-without-exc-info" -LOG009\:"undocumented-warn" -LOG014\:"exc-info-outside-except-handler" -LOG015\:"root-logger-call" -G001\:"logging-string-format" -G002\:"logging-percent-format" -G003\:"logging-string-concat" -G004\:"logging-f-string" -G010\:"logging-warn" -G101\:"logging-extra-attr-clash" -G201\:"logging-exc-info" -G202\:"logging-redundant-exc-info" -INP001\:"implicit-namespace-package" -PIE790\:"unnecessary-placeholder" -PIE794\:"duplicate-class-field-definition" -PIE796\:"non-unique-enums" -PIE800\:"unnecessary-spread" -PIE804\:"unnecessary-dict-kwargs" -PIE807\:"reimplemented-container-builtin" -PIE808\:"unnecessary-range-start" -PIE810\:"multiple-starts-ends-with" -T201\:"print" -T203\:"p-print" -PYI001\:"unprefixed-type-param" -PYI002\:"complex-if-statement-in-stub" -PYI003\:"unrecognized-version-info-check" -PYI004\:"patch-version-comparison" -PYI005\:"wrong-tuple-length-version-comparison" -PYI006\:"bad-version-info-comparison" -PYI007\:"unrecognized-platform-check" -PYI008\:"unrecognized-platform-name" -PYI009\:"pass-statement-stub-body" -PYI010\:"non-empty-stub-body" -PYI011\:"typed-argument-default-in-stub" -PYI012\:"pass-in-class-body" -PYI013\:"ellipsis-in-non-empty-class-body" -PYI014\:"argument-default-in-stub" -PYI015\:"assignment-default-in-stub" -PYI016\:"duplicate-union-member" -PYI017\:"complex-assignment-in-stub" -PYI018\:"unused-private-type-var" -PYI019\:"custom-type-var-for-self" -PYI020\:"quoted-annotation-in-stub" -PYI021\:"docstring-in-stub" -PYI024\:"collections-named-tuple" -PYI025\:"unaliased-collections-abc-set-import" -PYI026\:"type-alias-without-annotation" -PYI029\:"str-or-repr-defined-in-stub" -PYI030\:"unnecessary-literal-union" -PYI032\:"any-eq-ne-annotation" -PYI033\:"type-comment-in-stub" -PYI034\:"non-self-return-type" -PYI035\:"unassigned-special-variable-in-stub" -PYI036\:"bad-exit-annotation" -PYI041\:"redundant-numeric-union" -PYI042\:"snake-case-type-alias" -PYI043\:"t-suffixed-type-alias" -PYI044\:"future-annotations-in-stub" -PYI045\:"iter-method-return-iterable" -PYI046\:"unused-private-protocol" -PYI047\:"unused-private-type-alias" -PYI048\:"stub-body-multiple-statements" -PYI049\:"unused-private-typed-dict" -PYI050\:"no-return-argument-annotation-in-stub" -PYI051\:"redundant-literal-union" -PYI052\:"unannotated-assignment-in-stub" -PYI053\:"string-or-bytes-too-long" -PYI054\:"numeric-literal-too-long" -PYI055\:"unnecessary-type-union" -PYI056\:"unsupported-method-call-on-all" -PYI057\:"byte-string-usage" -PYI058\:"generator-return-from-iter-method" -PYI059\:"generic-not-last-base-class" -PYI061\:"redundant-none-literal" -PYI062\:"duplicate-literal-member" -PYI063\:"pep484-style-positional-only-parameter" -PYI064\:"redundant-final-literal" -PYI066\:"bad-version-info-order" -PT001\:"pytest-fixture-incorrect-parentheses-style" -PT002\:"pytest-fixture-positional-args" -PT003\:"pytest-extraneous-scope-function" -PT004\:"pytest-missing-fixture-name-underscore" -PT005\:"pytest-incorrect-fixture-name-underscore" -PT006\:"pytest-parametrize-names-wrong-type" -PT007\:"pytest-parametrize-values-wrong-type" -PT008\:"pytest-patch-with-lambda" -PT009\:"pytest-unittest-assertion" -PT010\:"pytest-raises-without-exception" -PT011\:"pytest-raises-too-broad" -PT012\:"pytest-raises-with-multiple-statements" -PT013\:"pytest-incorrect-pytest-import" -PT014\:"pytest-duplicate-parametrize-test-cases" -PT015\:"pytest-assert-always-false" -PT016\:"pytest-fail-without-message" -PT017\:"pytest-assert-in-except" -PT018\:"pytest-composite-assertion" -PT019\:"pytest-fixture-param-without-value" -PT020\:"pytest-deprecated-yield-fixture" -PT021\:"pytest-fixture-finalizer-callback" -PT022\:"pytest-useless-yield-fixture" -PT023\:"pytest-incorrect-mark-parentheses-style" -PT024\:"pytest-unnecessary-asyncio-mark-on-fixture" -PT025\:"pytest-erroneous-use-fixtures-on-fixture" -PT026\:"pytest-use-fixtures-without-parameters" -PT027\:"pytest-unittest-raises-assertion" -PT028\:"pytest-parameter-with-default-argument" -PT029\:"pytest-warns-without-warning" -PT030\:"pytest-warns-too-broad" -PT031\:"pytest-warns-with-multiple-statements" -Q000\:"bad-quotes-inline-string" -Q001\:"bad-quotes-multiline-string" -Q002\:"bad-quotes-docstring" -Q003\:"avoidable-escaped-quote" -Q004\:"unnecessary-escaped-quote" -RSE102\:"unnecessary-paren-on-raise-exception" -RET501\:"unnecessary-return-none" -RET502\:"implicit-return-value" -RET503\:"implicit-return" -RET504\:"unnecessary-assign" -RET505\:"superfluous-else-return" -RET506\:"superfluous-else-raise" -RET507\:"superfluous-else-continue" -RET508\:"superfluous-else-break" -SLF001\:"private-member-access" -SIM101\:"duplicate-isinstance-call" -SIM102\:"collapsible-if" -SIM103\:"needless-bool" -SIM105\:"suppressible-exception" -SIM107\:"return-in-try-except-finally" -SIM108\:"if-else-block-instead-of-if-exp" -SIM109\:"compare-with-tuple" -SIM110\:"reimplemented-builtin" -SIM112\:"uncapitalized-environment-variables" -SIM113\:"enumerate-for-loop" -SIM114\:"if-with-same-arms" -SIM115\:"open-file-with-context-handler" -SIM116\:"if-else-block-instead-of-dict-lookup" -SIM117\:"multiple-with-statements" -SIM118\:"in-dict-keys" -SIM201\:"negate-equal-op" -SIM202\:"negate-not-equal-op" -SIM208\:"double-negation" -SIM210\:"if-expr-with-true-false" -SIM211\:"if-expr-with-false-true" -SIM212\:"if-expr-with-twisted-arms" -SIM220\:"expr-and-not-expr" -SIM221\:"expr-or-not-expr" -SIM222\:"expr-or-true" -SIM223\:"expr-and-false" -SIM300\:"yoda-conditions" -SIM401\:"if-else-block-instead-of-dict-get" -SIM905\:"split-static-string" -SIM910\:"dict-get-with-none-default" -SIM911\:"zip-dict-keys-and-values" -SLOT000\:"no-slots-in-str-subclass" -SLOT001\:"no-slots-in-tuple-subclass" -SLOT002\:"no-slots-in-namedtuple-subclass" -TID251\:"banned-api" -TID252\:"relative-imports" -TID253\:"banned-module-level-imports" -TD001\:"invalid-todo-tag" -TD002\:"missing-todo-author" -TD003\:"missing-todo-link" -TD004\:"missing-todo-colon" -TD005\:"missing-todo-description" -TD006\:"invalid-todo-capitalization" -TD007\:"missing-space-after-todo-colon" -TC001\:"typing-only-first-party-import" -TC002\:"typing-only-third-party-import" -TC003\:"typing-only-standard-library-import" -TC004\:"runtime-import-in-type-checking-block" -TC005\:"empty-type-checking-block" -TC006\:"runtime-cast-value" -TC007\:"unquoted-type-alias" -TC008\:"quoted-type-alias" -TC010\:"runtime-string-union" -ARG001\:"unused-function-argument" -ARG002\:"unused-method-argument" -ARG003\:"unused-class-method-argument" -ARG004\:"unused-static-method-argument" -ARG005\:"unused-lambda-argument" -PTH100\:"os-path-abspath" -PTH101\:"os-chmod" -PTH102\:"os-mkdir" -PTH103\:"os-makedirs" -PTH104\:"os-rename" -PTH105\:"os-replace" -PTH106\:"os-rmdir" -PTH107\:"os-remove" -PTH108\:"os-unlink" -PTH109\:"os-getcwd" -PTH110\:"os-path-exists" -PTH111\:"os-path-expanduser" -PTH112\:"os-path-isdir" -PTH113\:"os-path-isfile" -PTH114\:"os-path-islink" -PTH115\:"os-readlink" -PTH116\:"os-stat" -PTH117\:"os-path-isabs" -PTH118\:"os-path-join" -PTH119\:"os-path-basename" -PTH120\:"os-path-dirname" -PTH121\:"os-path-samefile" -PTH122\:"os-path-splitext" -PTH123\:"builtin-open" -PTH124\:"py-path" -PTH201\:"path-constructor-current-directory" -PTH202\:"os-path-getsize" -PTH203\:"os-path-getatime" -PTH204\:"os-path-getmtime" -PTH205\:"os-path-getctime" -PTH206\:"os-sep-split" -PTH207\:"glob" -PTH208\:"os-listdir" -PTH210\:"invalid-pathlib-with-suffix" -PTH211\:"os-symlink" -FLY002\:"static-join-to-f-string" -I001\:"unsorted-imports" -I002\:"missing-required-import" -C901\:"complex-structure" -NPY001\:"numpy-deprecated-type-alias" -NPY002\:"numpy-legacy-random" -NPY003\:"numpy-deprecated-function" -NPY201\:"numpy2-deprecation" -N801\:"invalid-class-name" -N802\:"invalid-function-name" -N803\:"invalid-argument-name" -N804\:"invalid-first-argument-name-for-class-method" -N805\:"invalid-first-argument-name-for-method" -N806\:"non-lowercase-variable-in-function" -N807\:"dunder-function-name" -N811\:"constant-imported-as-non-constant" -N812\:"lowercase-imported-as-non-lowercase" -N813\:"camelcase-imported-as-lowercase" -N814\:"camelcase-imported-as-constant" -N815\:"mixed-case-variable-in-class-scope" -N816\:"mixed-case-variable-in-global-scope" -N817\:"camelcase-imported-as-acronym" -N818\:"error-suffix-on-exception-name" -N999\:"invalid-module-name" -PD002\:"pandas-use-of-inplace-argument" -PD003\:"pandas-use-of-dot-is-null" -PD004\:"pandas-use-of-dot-not-null" -PD007\:"pandas-use-of-dot-ix" -PD008\:"pandas-use-of-dot-at" -PD009\:"pandas-use-of-dot-iat" -PD010\:"pandas-use-of-dot-pivot-or-unstack" -PD011\:"pandas-use-of-dot-values" -PD012\:"pandas-use-of-dot-read-table" -PD013\:"pandas-use-of-dot-stack" -PD015\:"pandas-use-of-pd-merge" -PD101\:"pandas-nunique-constant-series-check" -PD901\:"pandas-df-variable-name" -PERF101\:"unnecessary-list-cast" -PERF102\:"incorrect-dict-iterator" -PERF203\:"try-except-in-loop" -PERF401\:"manual-list-comprehension" -PERF402\:"manual-list-copy" -PERF403\:"manual-dict-comprehension" -E101\:"mixed-spaces-and-tabs" -E111\:"indentation-with-invalid-multiple" -E112\:"no-indented-block" -E113\:"unexpected-indentation" -E114\:"indentation-with-invalid-multiple-comment" -E115\:"no-indented-block-comment" -E116\:"unexpected-indentation-comment" -E117\:"over-indented" -E201\:"whitespace-after-open-bracket" -E202\:"whitespace-before-close-bracket" -E203\:"whitespace-before-punctuation" -E204\:"whitespace-after-decorator" -E211\:"whitespace-before-parameters" -E221\:"multiple-spaces-before-operator" -E222\:"multiple-spaces-after-operator" -E223\:"tab-before-operator" -E224\:"tab-after-operator" -E225\:"missing-whitespace-around-operator" -E226\:"missing-whitespace-around-arithmetic-operator" -E227\:"missing-whitespace-around-bitwise-or-shift-operator" -E228\:"missing-whitespace-around-modulo-operator" -E231\:"missing-whitespace" -E241\:"multiple-spaces-after-comma" -E242\:"tab-after-comma" -E251\:"unexpected-spaces-around-keyword-parameter-equals" -E252\:"missing-whitespace-around-parameter-equals" -E261\:"too-few-spaces-before-inline-comment" -E262\:"no-space-after-inline-comment" -E265\:"no-space-after-block-comment" -E266\:"multiple-leading-hashes-for-block-comment" -E271\:"multiple-spaces-after-keyword" -E272\:"multiple-spaces-before-keyword" -E273\:"tab-after-keyword" -E274\:"tab-before-keyword" -E275\:"missing-whitespace-after-keyword" -E301\:"blank-line-between-methods" -E302\:"blank-lines-top-level" -E303\:"too-many-blank-lines" -E304\:"blank-line-after-decorator" -E305\:"blank-lines-after-function-or-class" -E306\:"blank-lines-before-nested-definition" -E401\:"multiple-imports-on-one-line" -E402\:"module-import-not-at-top-of-file" -E501\:"line-too-long" -E502\:"redundant-backslash" -E701\:"multiple-statements-on-one-line-colon" -E702\:"multiple-statements-on-one-line-semicolon" -E703\:"useless-semicolon" -E711\:"none-comparison" -E712\:"true-false-comparison" -E713\:"not-in-test" -E714\:"not-is-test" -E721\:"type-comparison" -E722\:"bare-except" -E731\:"lambda-assignment" -E741\:"ambiguous-variable-name" -E742\:"ambiguous-class-name" -E743\:"ambiguous-function-name" -E902\:"io-error" -E999\:"syntax-error" -W191\:"tab-indentation" -W291\:"trailing-whitespace" -W292\:"missing-newline-at-end-of-file" -W293\:"blank-line-with-whitespace" -W391\:"too-many-newlines-at-end-of-file" -W505\:"doc-line-too-long" -W605\:"invalid-escape-sequence" -DOC201\:"docstring-missing-returns" -DOC202\:"docstring-extraneous-returns" -DOC402\:"docstring-missing-yields" -DOC403\:"docstring-extraneous-yields" -DOC501\:"docstring-missing-exception" -DOC502\:"docstring-extraneous-exception" -D100\:"undocumented-public-module" -D101\:"undocumented-public-class" -D102\:"undocumented-public-method" -D103\:"undocumented-public-function" -D104\:"undocumented-public-package" -D105\:"undocumented-magic-method" -D106\:"undocumented-public-nested-class" -D107\:"undocumented-public-init" -D200\:"unnecessary-multiline-docstring" -D201\:"blank-line-before-function" -D202\:"blank-line-after-function" -D203\:"incorrect-blank-line-before-class" -D204\:"incorrect-blank-line-after-class" -D205\:"missing-blank-line-after-summary" -D206\:"docstring-tab-indentation" -D207\:"under-indentation" -D208\:"over-indentation" -D209\:"new-line-after-last-paragraph" -D210\:"surrounding-whitespace" -D211\:"blank-line-before-class" -D212\:"multi-line-summary-first-line" -D213\:"multi-line-summary-second-line" -D214\:"overindented-section" -D215\:"overindented-section-underline" -D300\:"triple-single-quotes" -D301\:"escape-sequence-in-docstring" -D400\:"missing-trailing-period" -D401\:"non-imperative-mood" -D402\:"signature-in-docstring" -D403\:"first-word-uncapitalized" -D404\:"docstring-starts-with-this" -D405\:"non-capitalized-section-name" -D406\:"missing-new-line-after-section-name" -D407\:"missing-dashed-underline-after-section" -D408\:"missing-section-underline-after-name" -D409\:"mismatched-section-underline-length" -D410\:"no-blank-line-after-section" -D411\:"no-blank-line-before-section" -D412\:"blank-lines-between-header-and-content" -D413\:"missing-blank-line-after-last-section" -D414\:"empty-docstring-section" -D415\:"missing-terminal-punctuation" -D416\:"missing-section-name-colon" -D417\:"undocumented-param" -D418\:"overload-with-docstring" -D419\:"empty-docstring" -F401\:"unused-import" -F402\:"import-shadowed-by-loop-var" -F403\:"undefined-local-with-import-star" -F404\:"late-future-import" -F405\:"undefined-local-with-import-star-usage" -F406\:"undefined-local-with-nested-import-star-usage" -F407\:"future-feature-not-defined" -F501\:"percent-format-invalid-format" -F502\:"percent-format-expected-mapping" -F503\:"percent-format-expected-sequence" -F504\:"percent-format-extra-named-arguments" -F505\:"percent-format-missing-argument" -F506\:"percent-format-mixed-positional-and-named" -F507\:"percent-format-positional-count-mismatch" -F508\:"percent-format-star-requires-sequence" -F509\:"percent-format-unsupported-format-character" -F521\:"string-dot-format-invalid-format" -F522\:"string-dot-format-extra-named-arguments" -F523\:"string-dot-format-extra-positional-arguments" -F524\:"string-dot-format-missing-arguments" -F525\:"string-dot-format-mixing-automatic" -F541\:"f-string-missing-placeholders" -F601\:"multi-value-repeated-key-literal" -F602\:"multi-value-repeated-key-variable" -F621\:"expressions-in-star-assignment" -F622\:"multiple-starred-expressions" -F631\:"assert-tuple" -F632\:"is-literal" -F633\:"invalid-print-syntax" -F634\:"if-tuple" -F701\:"break-outside-loop" -F702\:"continue-outside-loop" -F704\:"yield-outside-function" -F706\:"return-outside-function" -F707\:"default-except-not-last" -F722\:"forward-annotation-syntax-error" -F811\:"redefined-while-unused" -F821\:"undefined-name" -F822\:"undefined-export" -F823\:"undefined-local" -F841\:"unused-variable" -F842\:"unused-annotation" -F901\:"raise-not-implemented" -PGH001\:"eval" -PGH002\:"deprecated-log-warn" -PGH003\:"blanket-type-ignore" -PGH004\:"blanket-noqa" -PGH005\:"invalid-mock-access" -PLC0105\:"type-name-incorrect-variance" -PLC0131\:"type-bivariance" -PLC0132\:"type-param-name-mismatch" -PLC0205\:"single-string-slots" -PLC0206\:"dict-index-missing-items" -PLC0207\:"missing-maxsplit-arg" -PLC0208\:"iteration-over-set" -PLC0414\:"useless-import-alias" -PLC0415\:"import-outside-top-level" -PLC1802\:"len-test" -PLC1901\:"compare-to-empty-string" -PLC2401\:"non-ascii-name" -PLC2403\:"non-ascii-import-name" -PLC2701\:"import-private-name" -PLC2801\:"unnecessary-dunder-call" -PLC3002\:"unnecessary-direct-lambda-call" -PLE0100\:"yield-in-init" -PLE0101\:"return-in-init" -PLE0115\:"nonlocal-and-global" -PLE0116\:"continue-in-finally" -PLE0117\:"nonlocal-without-binding" -PLE0118\:"load-before-global-declaration" -PLE0237\:"non-slot-assignment" -PLE0241\:"duplicate-bases" -PLE0302\:"unexpected-special-method-signature" -PLE0303\:"invalid-length-return-type" -PLE0304\:"invalid-bool-return-type" -PLE0305\:"invalid-index-return-type" -PLE0307\:"invalid-str-return-type" -PLE0308\:"invalid-bytes-return-type" -PLE0309\:"invalid-hash-return-type" -PLE0604\:"invalid-all-object" -PLE0605\:"invalid-all-format" -PLE0643\:"potential-index-error" -PLE0704\:"misplaced-bare-raise" -PLE1132\:"repeated-keyword-argument" -PLE1141\:"dict-iter-missing-items" -PLE1142\:"await-outside-async" -PLE1205\:"logging-too-many-args" -PLE1206\:"logging-too-few-args" -PLE1300\:"bad-string-format-character" -PLE1307\:"bad-string-format-type" -PLE1310\:"bad-str-strip-call" -PLE1507\:"invalid-envvar-value" -PLE1519\:"singledispatch-method" -PLE1520\:"singledispatchmethod-function" -PLE1700\:"yield-from-in-async-function" -PLE2502\:"bidirectional-unicode" -PLE2510\:"invalid-character-backspace" -PLE2512\:"invalid-character-sub" -PLE2513\:"invalid-character-esc" -PLE2514\:"invalid-character-nul" -PLE2515\:"invalid-character-zero-width-space" -PLE4703\:"modified-iterating-set" -PLR0124\:"comparison-with-itself" -PLR0133\:"comparison-of-constant" -PLR0202\:"no-classmethod-decorator" -PLR0203\:"no-staticmethod-decorator" -PLR0206\:"property-with-parameters" -PLR0402\:"manual-from-import" -PLR0904\:"too-many-public-methods" -PLR0911\:"too-many-return-statements" -PLR0912\:"too-many-branches" -PLR0913\:"too-many-arguments" -PLR0914\:"too-many-locals" -PLR0915\:"too-many-statements" -PLR0916\:"too-many-boolean-expressions" -PLR0917\:"too-many-positional-arguments" -PLR1701\:"repeated-isinstance-calls" -PLR1702\:"too-many-nested-blocks" -PLR1704\:"redefined-argument-from-local" -PLR1706\:"and-or-ternary" -PLR1711\:"useless-return" -PLR1714\:"repeated-equality-comparison" -PLR1716\:"boolean-chained-comparison" -PLR1722\:"sys-exit-alias" -PLR1730\:"if-stmt-min-max" -PLR1733\:"unnecessary-dict-index-lookup" -PLR1736\:"unnecessary-list-index-lookup" -PLR2004\:"magic-value-comparison" -PLR2044\:"empty-comment" -PLR5501\:"collapsible-else-if" -PLR6104\:"non-augmented-assignment" -PLR6201\:"literal-membership" -PLR6301\:"no-self-use" -PLW0108\:"unnecessary-lambda" -PLW0120\:"useless-else-on-loop" -PLW0127\:"self-assigning-variable" -PLW0128\:"redeclared-assigned-name" -PLW0129\:"assert-on-string-literal" -PLW0131\:"named-expr-without-context" -PLW0133\:"useless-exception-statement" -PLW0177\:"nan-comparison" -PLW0211\:"bad-staticmethod-argument" -PLW0244\:"redefined-slots-in-subclass" -PLW0245\:"super-without-brackets" -PLW0406\:"import-self" -PLW0602\:"global-variable-not-assigned" -PLW0603\:"global-statement" -PLW0604\:"global-at-module-level" -PLW0642\:"self-or-cls-assignment" -PLW0711\:"binary-op-exception" -PLW1501\:"bad-open-mode" -PLW1507\:"shallow-copy-environ" -PLW1508\:"invalid-envvar-default" -PLW1509\:"subprocess-popen-preexec-fn" -PLW1510\:"subprocess-run-without-check" -PLW1514\:"unspecified-encoding" -PLW1641\:"eq-without-hash" -PLW2101\:"useless-with-lock" -PLW2901\:"redefined-loop-name" -PLW3201\:"bad-dunder-method-name" -PLW3301\:"nested-min-max" -UP001\:"useless-metaclass-type" -UP003\:"type-of-primitive" -UP004\:"useless-object-inheritance" -UP005\:"deprecated-unittest-alias" -UP006\:"non-pep585-annotation" -UP007\:"non-pep604-annotation-union" -UP008\:"super-call-with-parameters" -UP009\:"utf8-encoding-declaration" -UP010\:"unnecessary-future-import" -UP011\:"lru-cache-without-parameters" -UP012\:"unnecessary-encode-utf8" -UP013\:"convert-typed-dict-functional-to-class" -UP014\:"convert-named-tuple-functional-to-class" -UP015\:"redundant-open-modes" -UP017\:"datetime-timezone-utc" -UP018\:"native-literals" -UP019\:"typing-text-str-alias" -UP020\:"open-alias" -UP021\:"replace-universal-newlines" -UP022\:"replace-stdout-stderr" -UP023\:"deprecated-c-element-tree" -UP024\:"os-error-alias" -UP025\:"unicode-kind-prefix" -UP026\:"deprecated-mock-import" -UP027\:"unpacked-list-comprehension" -UP028\:"yield-in-for-loop" -UP029\:"unnecessary-builtin-import" -UP030\:"format-literals" -UP031\:"printf-string-formatting" -UP032\:"f-string" -UP033\:"lru-cache-with-maxsize-none" -UP034\:"extraneous-parentheses" -UP035\:"deprecated-import" -UP036\:"outdated-version-block" -UP037\:"quoted-annotation" -UP038\:"non-pep604-isinstance" -UP039\:"unnecessary-class-parentheses" -UP040\:"non-pep695-type-alias" -UP041\:"timeout-error-alias" -UP042\:"replace-str-enum" -UP043\:"unnecessary-default-type-args" -UP044\:"non-pep646-unpack" -UP045\:"non-pep604-annotation-optional" -UP046\:"non-pep695-generic-class" -UP047\:"non-pep695-generic-function" -UP049\:"private-type-parameter" -UP050\:"useless-class-metaclass-type" -FURB101\:"read-whole-file" -FURB103\:"write-whole-file" -FURB105\:"print-empty-string" -FURB110\:"if-exp-instead-of-or-operator" -FURB113\:"repeated-append" -FURB116\:"f-string-number-format" -FURB118\:"reimplemented-operator" -FURB122\:"for-loop-writes" -FURB129\:"readlines-in-for" -FURB131\:"delete-full-slice" -FURB132\:"check-and-remove-from-set" -FURB136\:"if-expr-min-max" -FURB140\:"reimplemented-starmap" -FURB142\:"for-loop-set-mutations" -FURB145\:"slice-copy" -FURB148\:"unnecessary-enumerate" -FURB152\:"math-constant" -FURB154\:"repeated-global" -FURB156\:"hardcoded-string-charset" -FURB157\:"verbose-decimal-constructor" -FURB161\:"bit-count" -FURB162\:"fromisoformat-replace-z" -FURB163\:"redundant-log-base" -FURB164\:"unnecessary-from-float" -FURB166\:"int-on-sliced-str" -FURB167\:"regex-flag-alias" -FURB168\:"isinstance-type-none" -FURB169\:"type-none-comparison" -FURB171\:"single-item-membership-test" -FURB177\:"implicit-cwd" -FURB180\:"meta-class-abc-meta" -FURB181\:"hashlib-digest-hex" -FURB187\:"list-reverse-copy" -FURB188\:"slice-to-remove-prefix-or-suffix" -FURB189\:"subclass-builtin" -FURB192\:"sorted-min-max" -RUF001\:"ambiguous-unicode-character-string" -RUF002\:"ambiguous-unicode-character-docstring" -RUF003\:"ambiguous-unicode-character-comment" -RUF005\:"collection-literal-concatenation" -RUF006\:"asyncio-dangling-task" -RUF007\:"zip-instead-of-pairwise" -RUF008\:"mutable-dataclass-default" -RUF009\:"function-call-in-dataclass-default-argument" -RUF010\:"explicit-f-string-type-conversion" -RUF011\:"ruff-static-key-dict-comprehension" -RUF012\:"mutable-class-default" -RUF013\:"implicit-optional" -RUF015\:"unnecessary-iterable-allocation-for-first-element" -RUF016\:"invalid-index-type" -RUF017\:"quadratic-list-summation" -RUF018\:"assignment-in-assert" -RUF019\:"unnecessary-key-check" -RUF020\:"never-union" -RUF021\:"parenthesize-chained-operators" -RUF022\:"unsorted-dunder-all" -RUF023\:"unsorted-dunder-slots" -RUF024\:"mutable-fromkeys-value" -RUF026\:"default-factory-kwarg" -RUF027\:"missing-f-string-syntax" -RUF028\:"invalid-formatter-suppression-comment" -RUF029\:"unused-async" -RUF030\:"assert-with-print-message" -RUF031\:"incorrectly-parenthesized-tuple-in-subscript" -RUF032\:"decimal-from-float-literal" -RUF033\:"post-init-default" -RUF034\:"useless-if-else" -RUF035\:"ruff-unsafe-markup-use" -RUF036\:"none-not-at-end-of-union" -RUF037\:"unnecessary-empty-iterable-within-deque-call" -RUF038\:"redundant-bool-literal" -RUF039\:"unraw-re-pattern" -RUF040\:"invalid-assert-message-literal-argument" -RUF041\:"unnecessary-nested-literal" -RUF043\:"pytest-raises-ambiguous-pattern" -RUF045\:"implicit-class-var-in-dataclass" -RUF046\:"unnecessary-cast-to-int" -RUF047\:"needless-else" -RUF048\:"map-int-version-parsing" -RUF049\:"dataclass-enum" -RUF051\:"if-key-in-dict-del" -RUF052\:"used-dummy-variable" -RUF053\:"class-with-mixed-type-vars" -RUF054\:"indented-form-feed" -RUF055\:"unnecessary-regular-expression" -RUF056\:"falsy-dict-get-fallback" -RUF057\:"unnecessary-round" -RUF058\:"starmap-zip" -RUF059\:"unused-unpacked-variable" -RUF060\:"in-empty-collection" -RUF061\:"legacy-form-pytest-raises" -RUF100\:"unused-noqa" -RUF101\:"redirected-noqa" -RUF102\:"invalid-rule-code" -RUF200\:"invalid-pyproject-toml" -TRY002\:"raise-vanilla-class" -TRY003\:"raise-vanilla-args" -TRY004\:"type-check-without-type-error" -TRY200\:"reraise-no-cause" -TRY201\:"verbose-raise" -TRY203\:"useless-try-except" -TRY300\:"try-consider-else" -TRY301\:"raise-within-try" -TRY400\:"error-instead-of-exception" -TRY401\:"verbose-log-message"))' \ -&& ret=0 -;; -(config) -_arguments "${_arguments_options[@]}" : \ -'--output-format=[Output format]:OUTPUT_FORMAT:(text json)' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::option -- Config key to show:((cache-dir\:"A path to the cache directory." -extend\:"A path to a local \`pyproject.toml\` file to merge into this configuration. User home directory and environment variables will be expanded." -output-format\:"The style in which violation messages should be formatted\: \`'\''full'\''\` (default) (shows source), \`'\''concise'\''\`, \`'\''grouped'\''\` (group messages by file), \`'\''json'\''\` (machine-readable), \`'\''junit'\''\` (machine-readable XML), \`'\''github'\''\` (GitHub Actions annotations), \`'\''gitlab'\''\` (GitLab CI code quality report), \`'\''pylint'\''\` (Pylint text format) or \`'\''azure'\''\` (Azure Pipeline logging commands)." -fix\:"Enable fix behavior by-default when running \`ruff\` (overridden by the \`--fix\` and \`--no-fix\` command-line flags). Only includes automatic fixes unless \`--unsafe-fixes\` is provided." -unsafe-fixes\:"Enable application of unsafe fixes. If excluded, a hint will be displayed when unsafe fixes are available. If set to false, the hint will be hidden." -fix-only\:"Like \[\`fix\`\](#fix), but disables reporting on leftover violation. Implies \[\`fix\`\](#fix)." -show-fixes\:"Whether to show an enumeration of all fixed lint violations (overridden by the \`--show-fixes\` command-line flag)." -required-version\:"Enforce a requirement on the version of Ruff, to enforce at runtime. If the version of Ruff does not meet the requirement, Ruff will exit with an error." -preview\:"Whether to enable preview mode. When preview mode is enabled, Ruff will use unstable rules, fixes, and formatting." -exclude\:"A list of file patterns to exclude from formatting and linting." -extend-exclude\:"A list of file patterns to omit from formatting and linting, in addition to those specified by \[\`exclude\`\](#exclude)." -extend-include\:"A list of file patterns to include when linting, in addition to those specified by \[\`include\`\](#include)." -force-exclude\:"Whether to enforce \[\`exclude\`\](#exclude) and \[\`extend-exclude\`\](#extend-exclude) patterns, even for paths that are passed to Ruff explicitly. Typically, Ruff will lint any paths passed in directly, even if they would typically be excluded. Setting \`force-exclude = true\` will cause Ruff to respect these exclusions unequivocally." -include\:"A list of file patterns to include when linting." -respect-gitignore\:"Whether to automatically exclude files that are ignored by \`.ignore\`, \`.gitignore\`, \`.git/info/exclude\`, and global \`gitignore\` files. Enabled by default." -builtins\:"A list of builtins to treat as defined references, in addition to the system builtins." -namespace-packages\:"Mark the specified directories as namespace packages. For the purpose of module resolution, Ruff will treat those directories and all their subdirectories as if they contained an \`__init__.py\` file." -target-version\:"The minimum Python version to target, e.g., when considering automatic code upgrades, like rewriting type annotations. Ruff will not propose changes using features that are not available in the given version." -per-file-target-version\:"A list of mappings from glob-style file pattern to Python version to use when checking the corresponding file(s)." -src\:"The directories to consider when resolving first- vs. third-party imports." -line-length\:"The line length to use when enforcing long-lines violations (like \`E501\`) and at which \`isort\` and the formatter prefers to wrap lines." -indent-width\:"The number of spaces per indentation level (tab)." -lint\:"Configures how Ruff checks your code." -lint.allowed-confusables\:"A list of allowed '\''confusable'\'' Unicode characters to ignore when enforcing \`RUF001\`, \`RUF002\`, and \`RUF003\`." -lint.dummy-variable-rgx\:"A regular expression used to identify '\''dummy'\'' variables, or those which should be ignored when enforcing (e.g.) unused-variable rules. The default expression matches \`_\`, \`__\`, and \`_var\`, but not \`_var_\`." -lint.extend-ignore\:"A list of rule codes or prefixes to ignore, in addition to those specified by \`ignore\`." -lint.extend-select\:"A list of rule codes or prefixes to enable, in addition to those specified by \[\`select\`\](#lint_select)." -lint.extend-fixable\:"A list of rule codes or prefixes to consider fixable, in addition to those specified by \[\`fixable\`\](#lint_fixable)." -lint.external\:"A list of rule codes or prefixes that are unsupported by Ruff, but should be preserved when (e.g.) validating \`# noqa\` directives. Useful for retaining \`# noqa\` directives that cover plugins not yet implemented by Ruff." -lint.fixable\:"A list of rule codes or prefixes to consider fixable. By default, all rules are considered fixable." -lint.ignore\:"A list of rule codes or prefixes to ignore. Prefixes can specify exact rules (like \`F841\`), entire categories (like \`F\`), or anything in between." -lint.extend-safe-fixes\:"A list of rule codes or prefixes for which unsafe fixes should be considered safe." -lint.extend-unsafe-fixes\:"A list of rule codes or prefixes for which safe fixes should be considered unsafe." -lint.ignore-init-module-imports\:"Avoid automatically removing unused imports in \`__init__.py\` files. Such imports will still be flagged, but with a dedicated message suggesting that the import is either added to the module'\''s \`__all__\` symbol, or re-exported with a redundant alias (e.g., \`import os as os\`)." -lint.logger-objects\:"A list of objects that should be treated equivalently to a \`logging.Logger\` object." -lint.select\:"A list of rule codes or prefixes to enable. Prefixes can specify exact rules (like \`F841\`), entire categories (like \`F\`), or anything in between." -lint.explicit-preview-rules\:"Whether to require exact codes to select preview rules. When enabled, preview rules will not be selected by prefixes — the full code of each preview rule will be required to enable the rule." -lint.task-tags\:"A list of task tags to recognize (e.g., '\''TODO'\'', '\''FIXME'\'', '\''XXX'\'')." -lint.typing-modules\:"A list of modules whose exports should be treated equivalently to members of the \`typing\` module." -lint.unfixable\:"A list of rule codes or prefixes to consider non-fixable." -lint.flake8-annotations\:"Options for the \`flake8-annotations\` plugin." -lint.flake8-annotations.mypy-init-return\:"Whether to allow the omission of a return type hint for \`__init__\` if at least one argument is annotated." -lint.flake8-annotations.suppress-dummy-args\:"Whether to suppress \`ANN000\`-level violations for arguments matching the '\''dummy'\'' variable regex (like \`_\`)." -lint.flake8-annotations.suppress-none-returning\:"Whether to suppress \`ANN200\`-level violations for functions that meet either of the following criteria\:" -lint.flake8-annotations.allow-star-arg-any\:"Whether to suppress \`ANN401\` for dynamically typed \`*args\` and \`**kwargs\` arguments." -lint.flake8-annotations.ignore-fully-untyped\:"Whether to suppress \`ANN*\` rules for any declaration that hasn'\''t been typed at all. This makes it easier to gradually add types to a codebase." -lint.flake8-bandit\:"Options for the \`flake8-bandit\` plugin." -lint.flake8-bandit.hardcoded-tmp-directory\:"A list of directories to consider temporary (see \`S108\`)." -lint.flake8-bandit.hardcoded-tmp-directory-extend\:"A list of directories to consider temporary, in addition to those specified by \[\`hardcoded-tmp-directory\`\](#lint_flake8-bandit_hardcoded-tmp-directory) (see \`S108\`)." -lint.flake8-bandit.check-typed-exception\:"Whether to disallow \`try\`-\`except\`-\`pass\` (\`S110\`) for specific exception types. By default, \`try\`-\`except\`-\`pass\` is only disallowed for \`Exception\` and \`BaseException\`." -lint.flake8-bandit.extend-markup-names\:"A list of additional callable names that behave like \[\`markupsafe.Markup\`\](https\://markupsafe.palletsprojects.com/en/stable/escaping/#markupsafe.Markup)." -lint.flake8-bandit.allowed-markup-calls\:"A list of callable names, whose result may be safely passed into \[\`markupsafe.Markup\`\](https\://markupsafe.palletsprojects.com/en/stable/escaping/#markupsafe.Markup)." -lint.flake8-boolean-trap\:"Options for the \`flake8-boolean-trap\` plugin" -lint.flake8-boolean-trap.extend-allowed-calls\:"Additional callable functions with which to allow boolean traps." -lint.flake8-bugbear\:"Options for the \`flake8-bugbear\` plugin." -lint.flake8-bugbear.extend-immutable-calls\:"Additional callable functions to consider '\''immutable'\'' when evaluating, e.g., the \`function-call-in-default-argument\` rule (\`B008\`) or \`function-call-in-dataclass-defaults\` rule (\`RUF009\`)." -lint.flake8-builtins\:"Options for the \`flake8-builtins\` plugin." -lint.flake8-builtins.builtins-ignorelist\:"DEPRECATED\: This option has been renamed to \`ignorelist\`. Use \`ignorelist\` instead." -lint.flake8-builtins.ignorelist\:"Ignore list of builtins." -lint.flake8-builtins.builtins-allowed-modules\:"DEPRECATED\: This option has been renamed to \`allowed-modules\`. Use \`allowed-modules\` instead." -lint.flake8-builtins.allowed-modules\:"List of builtin module names to allow." -lint.flake8-builtins.builtins-strict-checking\:"DEPRECATED\: This option has been renamed to \`strict-checking\`. Use \`strict-checking\` instead." -lint.flake8-builtins.strict-checking\:"Compare module names instead of full module paths." -lint.flake8-comprehensions\:"Options for the \`flake8-comprehensions\` plugin." -lint.flake8-comprehensions.allow-dict-calls-with-keyword-arguments\:"Allow \`dict\` calls that make use of keyword arguments (e.g., \`dict(a=1, b=2)\`)." -lint.flake8-copyright\:"Options for the \`flake8-copyright\` plugin." -lint.flake8-copyright.notice-rgx\:"The regular expression used to match the copyright notice, compiled with the \[\`regex\`\](https\://docs.rs/regex/latest/regex/) crate. Defaults to \`(?i)Copyright\\s+((?\:\\(C\\)|©)\\s+)?\\d{4}((-|,\\s)\\d{4})*\`, which matches the following\:" -lint.flake8-copyright.author\:"Author to enforce within the copyright notice. If provided, the author must be present immediately following the copyright notice." -lint.flake8-copyright.min-file-size\:"A minimum file size (in bytes) required for a copyright notice to be enforced. By default, all files are validated." -lint.flake8-errmsg\:"Options for the \`flake8-errmsg\` plugin." -lint.flake8-errmsg.max-string-length\:"Maximum string length for string literals in exception messages." -lint.flake8-quotes\:"Options for the \`flake8-quotes\` plugin." -lint.flake8-quotes.inline-quotes\:"Quote style to prefer for inline strings (either '\''single'\'' or '\''double'\'')." -lint.flake8-quotes.multiline-quotes\:"Quote style to prefer for multiline strings (either '\''single'\'' or '\''double'\'')." -lint.flake8-quotes.docstring-quotes\:"Quote style to prefer for docstrings (either '\''single'\'' or '\''double'\'')." -lint.flake8-quotes.avoid-escape\:"Whether to avoid using single quotes if a string contains single quotes, or vice-versa with double quotes, as per \[PEP 8\](https\://peps.python.org/pep-0008/#string-quotes). This minimizes the need to escape quotation marks within strings." -lint.flake8-self\:"Options for the \`flake8_self\` plugin." -lint.flake8-self.ignore-names\:"A list of names to ignore when considering \`flake8-self\` violations." -lint.flake8-self.extend-ignore-names\:"Additional names to ignore when considering \`flake8-self\` violations, in addition to those included in \[\`ignore-names\`\](#lint_flake8-self_ignore-names)." -lint.flake8-tidy-imports\:"Options for the \`flake8-tidy-imports\` plugin" -lint.flake8-tidy-imports.ban-relative-imports\:"Whether to ban all relative imports (\`'\''all'\''\`), or only those imports that extend into the parent module or beyond (\`'\''parents'\''\`)." -lint.flake8-tidy-imports.banned-api\:"Specific modules or module members that may not be imported or accessed. Note that this rule is only meant to flag accidental uses, and can be circumvented via \`eval\` or \`importlib\`." -lint.flake8-tidy-imports.banned-module-level-imports\:"List of specific modules that may not be imported at module level, and should instead be imported lazily (e.g., within a function definition, or an \`if TYPE_CHECKING\:\` block, or some other nested context)." -lint.flake8-type-checking\:"Options for the \`flake8-type-checking\` plugin" -lint.flake8-type-checking.strict\:"Enforce \`TC001\`, \`TC002\`, and \`TC003\` rules even when valid runtime imports are present for the same module." -lint.flake8-type-checking.exempt-modules\:"Exempt certain modules from needing to be moved into type-checking blocks." -lint.flake8-type-checking.runtime-evaluated-base-classes\:"Exempt classes that list any of the enumerated classes as a base class from needing to be moved into type-checking blocks." -lint.flake8-type-checking.runtime-evaluated-decorators\:"Exempt classes and functions decorated with any of the enumerated decorators from being moved into type-checking blocks." -lint.flake8-type-checking.quote-annotations\:"Whether to add quotes around type annotations, if doing so would allow the corresponding import to be moved into a type-checking block." -lint.flake8-gettext\:"Options for the \`flake8-gettext\` plugin." -lint.flake8-gettext.function-names\:"The function names to consider as internationalization calls." -lint.flake8-gettext.extend-function-names\:"Additional function names to consider as internationalization calls, in addition to those included in \[\`function-names\`\](#lint_flake8-gettext_function-names)." -lint.flake8-implicit-str-concat\:"Options for the \`flake8-implicit-str-concat\` plugin" -lint.flake8-implicit-str-concat.allow-multiline\:"Whether to allow implicit string concatenations for multiline strings. By default, implicit concatenations of multiline strings are allowed (but continuation lines, delimited with a backslash, are prohibited)." -lint.flake8-import-conventions\:"Options for the \`flake8-import-conventions\` plugin" -lint.flake8-import-conventions.aliases\:"The conventional aliases for imports. These aliases can be extended by the \[\`extend-aliases\`\](#lint_flake8-import-conventions_extend-aliases) option." -lint.flake8-import-conventions.extend-aliases\:"A mapping from module to conventional import alias. These aliases will be added to the \[\`aliases\`\](#lint_flake8-import-conventions_aliases) mapping." -lint.flake8-import-conventions.banned-aliases\:"A mapping from module to its banned import aliases." -lint.flake8-import-conventions.banned-from\:"A list of modules that should not be imported from using the \`from ... import ...\` syntax." -lint.flake8-pytest-style\:"Options for the \`flake8-pytest-style\` plugin" -lint.flake8-pytest-style.fixture-parentheses\:"Boolean flag specifying whether \`@pytest.fixture()\` without parameters should have parentheses. If the option is set to \`false\` (the default), \`@pytest.fixture\` is valid and \`@pytest.fixture()\` is invalid. If set to \`true\`, \`@pytest.fixture()\` is valid and \`@pytest.fixture\` is invalid." -lint.flake8-pytest-style.parametrize-names-type\:"Expected type for multiple argument names in \`@pytest.mark.parametrize\`. The following values are supported\:" -lint.flake8-pytest-style.parametrize-values-type\:"Expected type for the list of values rows in \`@pytest.mark.parametrize\`. The following values are supported\:" -lint.flake8-pytest-style.parametrize-values-row-type\:"Expected type for each row of values in \`@pytest.mark.parametrize\` in case of multiple parameters. The following values are supported\:" -lint.flake8-pytest-style.raises-require-match-for\:"List of exception names that require a match= parameter in a \`pytest.raises()\` call." -lint.flake8-pytest-style.raises-extend-require-match-for\:"List of additional exception names that require a match= parameter in a \`pytest.raises()\` call. This extends the default list of exceptions that require a match= parameter. This option is useful if you want to extend the default list of exceptions that require a match= parameter without having to specify the entire list. Note that this option does not remove any exceptions from the default list." -lint.flake8-pytest-style.mark-parentheses\:"Boolean flag specifying whether \`@pytest.mark.foo()\` without parameters should have parentheses. If the option is set to \`false\` (the default), \`@pytest.mark.foo\` is valid and \`@pytest.mark.foo()\` is invalid. If set to \`true\`, \`@pytest.mark.foo()\` is valid and \`@pytest.mark.foo\` is invalid." -lint.flake8-pytest-style.warns-require-match-for\:"List of warning names that require a match= parameter in a \`pytest.warns()\` call." -lint.flake8-pytest-style.warns-extend-require-match-for\:"List of additional warning names that require a match= parameter in a \`pytest.warns()\` call. This extends the default list of warnings that require a match= parameter." -lint.flake8-unused-arguments\:"Options for the \`flake8-unused-arguments\` plugin" -lint.flake8-unused-arguments.ignore-variadic-names\:"Whether to allow unused variadic arguments, like \`*args\` and \`**kwargs\`." -lint.isort\:"Options for the \`isort\` plugin." -lint.isort.force-wrap-aliases\:"Force \`import from\` statements with multiple members and at least one alias (e.g., \`import A as B\`) to wrap such that every line contains exactly one member. For example, this formatting would be retained, rather than condensing to a single line\:" -lint.isort.force-single-line\:"Forces all from imports to appear on their own line." -lint.isort.single-line-exclusions\:"One or more modules to exclude from the single line rule." -lint.isort.combine-as-imports\:"Combines as imports on the same line. See isort'\''s \[\`combine-as-imports\`\](https\://pycqa.github.io/isort/docs/configuration/options.html#combine-as-imports) option." -lint.isort.split-on-trailing-comma\:"If a comma is placed after the last member in a multi-line import, then the imports will never be folded into one line." -lint.isort.order-by-type\:"Order imports by type, which is determined by case, in addition to alphabetically." -lint.isort.force-sort-within-sections\:"Don'\''t sort straight-style imports (like \`import sys\`) before from-style imports (like \`from itertools import groupby\`). Instead, sort the imports by module, independent of import style." -lint.isort.case-sensitive\:"Sort imports taking into account case sensitivity." -lint.isort.force-to-top\:"Force specific imports to the top of their appropriate section." -lint.isort.known-first-party\:"A list of modules to consider first-party, regardless of whether they can be identified as such via introspection of the local filesystem." -lint.isort.known-third-party\:"A list of modules to consider third-party, regardless of whether they can be identified as such via introspection of the local filesystem." -lint.isort.known-local-folder\:"A list of modules to consider being a local folder. Generally, this is reserved for relative imports (\`from . import module\`)." -lint.isort.extra-standard-library\:"A list of modules to consider standard-library, in addition to those known to Ruff in advance." -lint.isort.relative-imports-order\:"Whether to place '\''closer'\'' imports (fewer \`.\` characters, most local) before '\''further'\'' imports (more \`.\` characters, least local), or vice versa." -lint.isort.required-imports\:"Add the specified import line to all files." -lint.isort.classes\:"An override list of tokens to always recognize as a Class for \[\`order-by-type\`\](#lint_isort_order-by-type) regardless of casing." -lint.isort.constants\:"An override list of tokens to always recognize as a CONSTANT for \[\`order-by-type\`\](#lint_isort_order-by-type) regardless of casing." -lint.isort.variables\:"An override list of tokens to always recognize as a var for \[\`order-by-type\`\](#lint_isort_order-by-type) regardless of casing." -lint.isort.no-lines-before\:"A list of sections that should _not_ be delineated from the previous section via empty lines." -lint.isort.lines-after-imports\:"The number of blank lines to place after imports. Use \`-1\` for automatic determination." -lint.isort.lines-between-types\:"The number of lines to place between '\''direct'\'' and \`import from\` imports." -lint.isort.forced-separate\:"A list of modules to separate into auxiliary block(s) of imports, in the order specified." -lint.isort.section-order\:"Override in which order the sections should be output. Can be used to move custom sections." -lint.isort.default-section\:"Define a default section for any imports that don'\''t fit into the specified \[\`section-order\`\](#lint_isort_section-order)." -lint.isort.no-sections\:"Put all imports into the same section bucket." -lint.isort.detect-same-package\:"Whether to automatically mark imports from within the same package as first-party. For example, when \`detect-same-package = true\`, then when analyzing files within the \`foo\` package, any imports from within the \`foo\` package will be considered first-party." -lint.isort.from-first\:"Whether to place \`import from\` imports before straight imports when sorting." -lint.isort.length-sort\:"Sort imports by their string length, such that shorter imports appear before longer imports. For example, by default, imports will be sorted alphabetically, as in\: \`\`\`python import collections import os \`\`\`" -lint.isort.length-sort-straight\:"Sort straight imports by their string length. Similar to \[\`length-sort\`\](#lint_isort_length-sort), but applies only to straight imports and doesn'\''t affect \`from\` imports." -lint.isort.sections\:"A list of mappings from section names to modules." -lint.mccabe\:"Options for the \`mccabe\` plugin." -lint.mccabe.max-complexity\:"The maximum McCabe complexity to allow before triggering \`C901\` errors." -lint.pep8-naming\:"Options for the \`pep8-naming\` plugin." -lint.pep8-naming.ignore-names\:"A list of names (or patterns) to ignore when considering \`pep8-naming\` violations." -lint.pep8-naming.extend-ignore-names\:"Additional names (or patterns) to ignore when considering \`pep8-naming\` violations, in addition to those included in \[\`ignore-names\`\](#lint_pep8-naming_ignore-names)." -lint.pep8-naming.classmethod-decorators\:"A list of decorators that, when applied to a method, indicate that the method should be treated as a class method (in addition to the builtin \`@classmethod\`)." -lint.pep8-naming.staticmethod-decorators\:"A list of decorators that, when applied to a method, indicate that the method should be treated as a static method (in addition to the builtin \`@staticmethod\`)." -lint.pycodestyle\:"Options for the \`pycodestyle\` plugin." -lint.pycodestyle.max-line-length\:"The maximum line length to allow for \[\`line-too-long\`\](https\://docs.astral.sh/ruff/rules/line-too-long/) violations. By default, this is set to the value of the \[\`line-length\`\](#line-length) option." -lint.pycodestyle.max-doc-length\:"The maximum line length to allow for \[\`doc-line-too-long\`\](https\://docs.astral.sh/ruff/rules/doc-line-too-long/) violations within documentation (\`W505\`), including standalone comments. By default, this is set to \`null\` which disables reporting violations." -lint.pycodestyle.ignore-overlong-task-comments\:"Whether line-length violations (\`E501\`) should be triggered for comments starting with \[\`task-tags\`\](#lint_task-tags) (by default\: '\''TODO'\'', '\''FIXME'\'', and '\''XXX'\'')." -lint.pydocstyle\:"Options for the \`pydocstyle\` plugin." -lint.pydocstyle.convention\:"Whether to use Google-style, NumPy-style conventions, or the \[PEP 257\](https\://peps.python.org/pep-0257/) defaults when analyzing docstring sections." -lint.pydocstyle.ignore-decorators\:"Ignore docstrings for functions or methods decorated with the specified fully-qualified decorators." -lint.pydocstyle.property-decorators\:"A list of decorators that, when applied to a method, indicate that the method should be treated as a property (in addition to the builtin \`@property\` and standard-library \`@functools.cached_property\`)." -lint.pydocstyle.ignore-var-parameters\:"If set to \`true\`, ignore missing documentation for \`*args\` and \`**kwargs\` parameters." -lint.pyflakes\:"Options for the \`pyflakes\` plugin." -lint.pyflakes.extend-generics\:"Additional functions or classes to consider generic, such that any subscripts should be treated as type annotation (e.g., \`ForeignKey\` in \`django.db.models.ForeignKey\['\''User'\''\]\`." -lint.pyflakes.allowed-unused-imports\:"A list of modules to ignore when considering unused imports." -lint.pylint\:"Options for the \`pylint\` plugin." -lint.pylint.allow-magic-value-types\:"Constant types to ignore when used as '\''magic values'\'' (see \`PLR2004\`)." -lint.pylint.allow-dunder-method-names\:"Dunder methods name to allow, in addition to the default set from the Python standard library (see \`PLW3201\`)." -lint.pylint.max-branches\:"Maximum number of branches allowed for a function or method body (see \`PLR0912\`)." -lint.pylint.max-returns\:"Maximum number of return statements allowed for a function or method body (see \`PLR0911\`)" -lint.pylint.max-args\:"Maximum number of arguments allowed for a function or method definition (see \`PLR0913\`)." -lint.pylint.max-positional-args\:"Maximum number of positional arguments allowed for a function or method definition (see \`PLR0917\`)." -lint.pylint.max-locals\:"Maximum number of local variables allowed for a function or method body (see \`PLR0914\`)." -lint.pylint.max-statements\:"Maximum number of statements allowed for a function or method body (see \`PLR0915\`)." -lint.pylint.max-public-methods\:"Maximum number of public methods allowed for a class (see \`PLR0904\`)." -lint.pylint.max-bool-expr\:"Maximum number of Boolean expressions allowed within a single \`if\` statement (see \`PLR0916\`)." -lint.pylint.max-nested-blocks\:"Maximum number of nested blocks allowed within a function or method body (see \`PLR1702\`)." -lint.pyupgrade\:"Options for the \`pyupgrade\` plugin." -lint.pyupgrade.keep-runtime-typing\:"Whether to avoid \[PEP 585\](https\://peps.python.org/pep-0585/) (\`List\[int\]\` -> \`list\[int\]\`) and \[PEP 604\](https\://peps.python.org/pep-0604/) (\`Union\[str, int\]\` -> \`str | int\`) rewrites even if a file imports \`from __future__ import annotations\`." -lint.per-file-ignores\:"A list of mappings from file pattern to rule codes or prefixes to exclude, when considering any matching files. An initial '\''!'\'' negates the file pattern." -lint.extend-per-file-ignores\:"A list of mappings from file pattern to rule codes or prefixes to exclude, in addition to any rules excluded by \[\`per-file-ignores\`\](#lint_per-file-ignores)." -lint.exclude\:"A list of file patterns to exclude from linting in addition to the files excluded globally (see \[\`exclude\`\](#exclude), and \[\`extend-exclude\`\](#extend-exclude))." -lint.pydoclint\:"Options for the \`pydoclint\` plugin." -lint.pydoclint.ignore-one-line-docstrings\:"Skip docstrings which fit on a single line." -lint.ruff\:"Options for the \`ruff\` plugin" -lint.ruff.parenthesize-tuple-in-subscript\:"Whether to prefer accessing items keyed by tuples with parentheses around the tuple (see \`RUF031\`)." -lint.ruff.extend-markup-names\:"A list of additional callable names that behave like \[\`markupsafe.Markup\`\](https\://markupsafe.palletsprojects.com/en/stable/escaping/#markupsafe.Markup)." -lint.ruff.allowed-markup-calls\:"A list of callable names, whose result may be safely passed into \[\`markupsafe.Markup\`\](https\://markupsafe.palletsprojects.com/en/stable/escaping/#markupsafe.Markup)." -lint.preview\:"Whether to enable preview mode. When preview mode is enabled, Ruff will use unstable rules and fixes." -lint.typing-extensions\:"Whether to allow imports from the third-party \`typing_extensions\` module for Python versions before a symbol was added to the first-party \`typing\` module." -format\:"Configures the way Ruff formats your code." -format.exclude\:"A list of file patterns to exclude from formatting in addition to the files excluded globally (see \[\`exclude\`\](#exclude), and \[\`extend-exclude\`\](#extend-exclude))." -format.preview\:"Whether to enable the unstable preview style formatting." -format.indent-style\:"Whether to use spaces or tabs for indentation." -format.quote-style\:"Configures the preferred quote character for strings. The recommended options are" -format.skip-magic-trailing-comma\:"Ruff uses existing trailing commas as an indication that short lines should be left separate. If this option is set to \`true\`, the magic trailing comma is ignored." -format.line-ending\:"The character Ruff uses at the end of a line." -format.docstring-code-format\:"Whether to format code snippets in docstrings." -format.docstring-code-line-length\:"Set the line length used when formatting code snippets in docstrings." -analyze\:"Configures Ruff'\''s \`analyze\` command." -analyze.exclude\:"A list of file patterns to exclude from analysis in addition to the files excluded globally (see \[\`exclude\`\](#exclude), and \[\`extend-exclude\`\](#extend-exclude))." -analyze.preview\:"Whether to enable preview mode. When preview mode is enabled, Ruff will expose unstable commands." -analyze.direction\:"Whether to generate a map from file to files that it depends on (dependencies) or files that depend on it (dependents)." -analyze.detect-string-imports\:"Whether to detect imports from string literals. When enabled, Ruff will search for string literals that '\''look like'\'' import paths, and include them in the import map, if they resolve to valid Python modules." -analyze.include-dependencies\:"A map from file path to the list of Python or non-Python file paths or globs that should be considered dependencies of that file, regardless of whether relevant imports are detected."))' \ -&& ret=0 -;; -(linter) -_arguments "${_arguments_options[@]}" : \ -'--output-format=[Output format]:OUTPUT_FORMAT:(text json)' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(clean) -_arguments "${_arguments_options[@]}" : \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(generate-shell-completion) -_arguments "${_arguments_options[@]}" : \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -':shell:(bash elvish fish nushell powershell zsh)' \ -&& ret=0 -;; -(format) -_arguments "${_arguments_options[@]}" : \ -'--cache-dir=[Path to the cache directory]:CACHE_DIR:_files' \ -'*--exclude=[List of paths, used to omit files and/or directories from analysis]:FILE_PATTERN:_default' \ -'--line-length=[Set the line-length]:LINE_LENGTH:_default' \ -'--stdin-filename=[The name of the file when passing it through stdin]:STDIN_FILENAME:_files' \ -'*--extension=[List of mappings from file extension to language (one of \`python\`, \`ipynb\`, \`pyi\`). For example, to treat \`.ipy\` files as IPython notebooks, use \`--extension ipy\:ipynb\`]:EXTENSION:_default' \ -'--target-version=[The minimum Python version that should be supported]:TARGET_VERSION:(py37 py38 py39 py310 py311 py312 py313 py314)' \ -'--range=[When specified, Ruff will try to only format the code in the given range. It might be necessary to extend the start backwards or the end forwards, to fully enclose a logical line. The \`<RANGE>\` uses the format \`<start_line>\:<start_column>-<end_line>\:<end_column>\`.]:RANGE:_default' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'--check[Avoid writing any formatted files back; instead, exit with a non-zero status code if any files would have been modified, and zero otherwise]' \ -'--diff[Avoid writing any formatted files back; instead, exit with a non-zero status code and the difference between the current file and how the formatted file would look like]' \ -'-n[Disable cache reads]' \ -'--no-cache[Disable cache reads]' \ -'--respect-gitignore[Respect file exclusions via \`.gitignore\` and other standard ignore files. Use \`--no-respect-gitignore\` to disable]' \ -'--no-respect-gitignore[]' \ -'--force-exclude[Enforce exclusions, even for paths passed to Ruff directly on the command-line. Use \`--no-force-exclude\` to disable]' \ -'--no-force-exclude[]' \ -'--preview[Enable preview mode; enables unstable formatting. Use \`--no-preview\` to disable]' \ -'--no-preview[]' \ -'--exit-non-zero-on-format[Exit with a non-zero status code if any files were modified via format, even if all files were formatted successfully]' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'*::files -- List of files or directories to format \[default\: .\]:_files' \ -&& ret=0 -;; -(server) -_arguments "${_arguments_options[@]}" : \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'--preview[Enable preview mode. Use \`--no-preview\` to disable]' \ -'--no-preview[]' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -&& ret=0 -;; -(analyze) -_arguments "${_arguments_options[@]}" : \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -":: :_ruff__analyze_commands" \ -"*::: :->analyze" \ -&& ret=0 - - case $state in - (analyze) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:ruff-analyze-command-$line[1]:" - case $line[1] in - (graph) -_arguments "${_arguments_options[@]}" : \ -'--direction=[The direction of the import map. By default, generates a dependency map, i.e., a map from file to files that it depends on. Use \`--direction dependents\` to generate a map from file to files that depend on it]:DIRECTION:((dependencies\:"Construct a map from module to its dependencies (i.e., the modules that it imports)" -dependents\:"Construct a map from module to its dependents (i.e., the modules that import it)"))' \ -'--target-version=[The minimum Python version that should be supported]:TARGET_VERSION:(py37 py38 py39 py310 py311 py312 py313 py314)' \ -'--python=[Path to a virtual environment to use for resolving additional dependencies]:PYTHON:_files' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'--detect-string-imports[Attempt to detect imports from string literals]' \ -'--preview[Enable preview mode. Use \`--no-preview\` to disable]' \ -'--no-preview[]' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'*::files -- List of files or directories to include \[default\: .\]:_files' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_ruff__analyze__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:ruff-analyze-help-command-$line[1]:" - case $line[1] in - (graph) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -;; -(version) -_arguments "${_arguments_options[@]}" : \ -'--output-format=[]:OUTPUT_FORMAT:(text json)' \ -'*--config=[Either a path to a TOML configuration file (\`pyproject.toml\` or \`ruff.toml\`), or a TOML \`<KEY> = <VALUE>\` pair (such as you might find in a \`ruff.toml\` configuration file) overriding a specific configuration option. Overrides of individual settings using this option always take precedence over all configuration files, including configuration files that were also specified using \`--config\`]:CONFIG_OPTION:_default' \ -'-v[Enable verbose logging]' \ -'--verbose[Enable verbose logging]' \ -'-q[Print diagnostics, but nothing else]' \ -'--quiet[Print diagnostics, but nothing else]' \ -'-s[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--silent[Disable all logging (but still exit with status code "1" upon detecting diagnostics)]' \ -'--isolated[Ignore all configuration files]' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_ruff__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:ruff-help-command-$line[1]:" - case $line[1] in - (check) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(rule) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(config) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(linter) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(clean) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(generate-shell-completion) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(format) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(server) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(analyze) -_arguments "${_arguments_options[@]}" : \ -":: :_ruff__help__analyze_commands" \ -"*::: :->analyze" \ -&& ret=0 - - case $state in - (analyze) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:ruff-help-analyze-command-$line[1]:" - case $line[1] in - (graph) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(version) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -} - -(( $+functions[_ruff_commands] )) || -_ruff_commands() { - local commands; commands=( -'check:Run Ruff on the given files or directories' \ -'rule:Explain a rule (or all rules)' \ -'config:List or describe the available configuration options' \ -'linter:List all supported upstream linters' \ -'clean:Clear any caches in the current directory and any subdirectories' \ -'generate-shell-completion:Generate shell completion' \ -'format:Run the Ruff formatter on the given files or directories' \ -'server:Run the language server' \ -'analyze:Run analysis over Python source code' \ -'version:Display Ruff'\''s version' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'ruff commands' commands "$@" -} -(( $+functions[_ruff__analyze_commands] )) || -_ruff__analyze_commands() { - local commands; commands=( -'graph:Generate a map of Python file dependencies or dependents' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'ruff analyze commands' commands "$@" -} -(( $+functions[_ruff__analyze__graph_commands] )) || -_ruff__analyze__graph_commands() { - local commands; commands=() - _describe -t commands 'ruff analyze graph commands' commands "$@" -} -(( $+functions[_ruff__analyze__help_commands] )) || -_ruff__analyze__help_commands() { - local commands; commands=( -'graph:Generate a map of Python file dependencies or dependents' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'ruff analyze help commands' commands "$@" -} -(( $+functions[_ruff__analyze__help__graph_commands] )) || -_ruff__analyze__help__graph_commands() { - local commands; commands=() - _describe -t commands 'ruff analyze help graph commands' commands "$@" -} -(( $+functions[_ruff__analyze__help__help_commands] )) || -_ruff__analyze__help__help_commands() { - local commands; commands=() - _describe -t commands 'ruff analyze help help commands' commands "$@" -} -(( $+functions[_ruff__check_commands] )) || -_ruff__check_commands() { - local commands; commands=() - _describe -t commands 'ruff check commands' commands "$@" -} -(( $+functions[_ruff__clean_commands] )) || -_ruff__clean_commands() { - local commands; commands=() - _describe -t commands 'ruff clean commands' commands "$@" -} -(( $+functions[_ruff__config_commands] )) || -_ruff__config_commands() { - local commands; commands=() - _describe -t commands 'ruff config commands' commands "$@" -} -(( $+functions[_ruff__format_commands] )) || -_ruff__format_commands() { - local commands; commands=() - _describe -t commands 'ruff format commands' commands "$@" -} -(( $+functions[_ruff__generate-shell-completion_commands] )) || -_ruff__generate-shell-completion_commands() { - local commands; commands=() - _describe -t commands 'ruff generate-shell-completion commands' commands "$@" -} -(( $+functions[_ruff__help_commands] )) || -_ruff__help_commands() { - local commands; commands=( -'check:Run Ruff on the given files or directories' \ -'rule:Explain a rule (or all rules)' \ -'config:List or describe the available configuration options' \ -'linter:List all supported upstream linters' \ -'clean:Clear any caches in the current directory and any subdirectories' \ -'generate-shell-completion:Generate shell completion' \ -'format:Run the Ruff formatter on the given files or directories' \ -'server:Run the language server' \ -'analyze:Run analysis over Python source code' \ -'version:Display Ruff'\''s version' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'ruff help commands' commands "$@" -} -(( $+functions[_ruff__help__analyze_commands] )) || -_ruff__help__analyze_commands() { - local commands; commands=( -'graph:Generate a map of Python file dependencies or dependents' \ - ) - _describe -t commands 'ruff help analyze commands' commands "$@" -} -(( $+functions[_ruff__help__analyze__graph_commands] )) || -_ruff__help__analyze__graph_commands() { - local commands; commands=() - _describe -t commands 'ruff help analyze graph commands' commands "$@" -} -(( $+functions[_ruff__help__check_commands] )) || -_ruff__help__check_commands() { - local commands; commands=() - _describe -t commands 'ruff help check commands' commands "$@" -} -(( $+functions[_ruff__help__clean_commands] )) || -_ruff__help__clean_commands() { - local commands; commands=() - _describe -t commands 'ruff help clean commands' commands "$@" -} -(( $+functions[_ruff__help__config_commands] )) || -_ruff__help__config_commands() { - local commands; commands=() - _describe -t commands 'ruff help config commands' commands "$@" -} -(( $+functions[_ruff__help__format_commands] )) || -_ruff__help__format_commands() { - local commands; commands=() - _describe -t commands 'ruff help format commands' commands "$@" -} -(( $+functions[_ruff__help__generate-shell-completion_commands] )) || -_ruff__help__generate-shell-completion_commands() { - local commands; commands=() - _describe -t commands 'ruff help generate-shell-completion commands' commands "$@" -} -(( $+functions[_ruff__help__help_commands] )) || -_ruff__help__help_commands() { - local commands; commands=() - _describe -t commands 'ruff help help commands' commands "$@" -} -(( $+functions[_ruff__help__linter_commands] )) || -_ruff__help__linter_commands() { - local commands; commands=() - _describe -t commands 'ruff help linter commands' commands "$@" -} -(( $+functions[_ruff__help__rule_commands] )) || -_ruff__help__rule_commands() { - local commands; commands=() - _describe -t commands 'ruff help rule commands' commands "$@" -} -(( $+functions[_ruff__help__server_commands] )) || -_ruff__help__server_commands() { - local commands; commands=() - _describe -t commands 'ruff help server commands' commands "$@" -} -(( $+functions[_ruff__help__version_commands] )) || -_ruff__help__version_commands() { - local commands; commands=() - _describe -t commands 'ruff help version commands' commands "$@" -} -(( $+functions[_ruff__linter_commands] )) || -_ruff__linter_commands() { - local commands; commands=() - _describe -t commands 'ruff linter commands' commands "$@" -} -(( $+functions[_ruff__rule_commands] )) || -_ruff__rule_commands() { - local commands; commands=() - _describe -t commands 'ruff rule commands' commands "$@" -} -(( $+functions[_ruff__server_commands] )) || -_ruff__server_commands() { - local commands; commands=() - _describe -t commands 'ruff server commands' commands "$@" -} -(( $+functions[_ruff__version_commands] )) || -_ruff__version_commands() { - local commands; commands=() - _describe -t commands 'ruff version commands' commands "$@" -} - -if [ "$funcstack[1]" = "_ruff" ]; then - _ruff "$@" -else - compdef _ruff ruff -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_sops b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_sops deleted file mode 100644 index 1569af63..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_sops +++ /dev/null @@ -1,25 +0,0 @@ -#compdef sops - -## based on https://github.com/urfave/cli/blob/v2.3.0/autocomplete/zsh_autocomplete - -_cli_zsh_autocomplete() { - - local -a opts - local cur - cur=${words[-1]} - if [[ "$cur" == "-"* ]]; then - opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}") - else - opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}") - fi - - if [[ "${opts[1]}" != "" ]]; then - _describe 'values' opts - else - _files - fi - - return -} - -compdef _cli_zsh_autocomplete sops diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_spotify_player b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_spotify_player deleted file mode 100644 index e2c98b61..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_spotify_player +++ /dev/null @@ -1,1309 +0,0 @@ -#compdef spotify_player - -autoload -U is-at-least - -_spotify_player() { - typeset -A opt_args - typeset -a _arguments_options - local ret=1 - - if is-at-least 5.2; then - _arguments_options=(-s -S -C) - else - _arguments_options=(-s -C) - fi - - local context curcontext="$curcontext" state line - _arguments "${_arguments_options[@]}" : \ -'-t+[Application theme]:THEME:_default' \ -'--theme=[Application theme]:THEME:_default' \ -'-c+[Path to the application'\''s config folder]:FOLDER:_default' \ -'--config-folder=[Path to the application'\''s config folder]:FOLDER:_default' \ -'-C+[Path to the application'\''s cache folder]:FOLDER:_default' \ -'--cache-folder=[Path to the application'\''s cache folder]:FOLDER:_default' \ -'-d[Running the application as a daemon]' \ -'--daemon[Running the application as a daemon]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'-V[Print version]' \ -'--version[Print version]' \ -":: :_spotify_player_commands" \ -"*::: :->spotify_player" \ -&& ret=0 - case $state in - (spotify_player) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-command-$line[1]:" - case $line[1] in - (get) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -":: :_spotify_player__get_commands" \ -"*::: :->get" \ -&& ret=0 - - case $state in - (get) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-get-command-$line[1]:" - case $line[1] in - (key) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -':key:(playback devices user-playlists user-liked-tracks user-saved-albums user-followed-artists user-top-tracks queue)' \ -&& ret=0 -;; -(item) -_arguments "${_arguments_options[@]}" : \ -'-i+[]: :_default' \ -'--id=[]: :_default' \ -'-n+[]: :_default' \ -'--name=[]: :_default' \ -'-h[Print help]' \ -'--help[Print help]' \ -':item_type:(playlist album artist track)' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__get__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-get-help-command-$line[1]:" - case $line[1] in - (key) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(item) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -;; -(playback) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -":: :_spotify_player__playback_commands" \ -"*::: :->playback" \ -&& ret=0 - - case $state in - (playback) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playback-command-$line[1]:" - case $line[1] in - (start) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -":: :_spotify_player__playback__start_commands" \ -"*::: :->start" \ -&& ret=0 - - case $state in - (start) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playback-start-command-$line[1]:" - case $line[1] in - (context) -_arguments "${_arguments_options[@]}" : \ -'-i+[]: :_default' \ -'--id=[]: :_default' \ -'-n+[]: :_default' \ -'--name=[]: :_default' \ -'-s[Shuffle tracks within the launched playback]' \ -'--shuffle[Shuffle tracks within the launched playback]' \ -'-h[Print help]' \ -'--help[Print help]' \ -':context_type:(playlist album artist)' \ -&& ret=0 -;; -(track) -_arguments "${_arguments_options[@]}" : \ -'-i+[]: :_default' \ -'--id=[]: :_default' \ -'-n+[]: :_default' \ -'--name=[]: :_default' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(liked) -_arguments "${_arguments_options[@]}" : \ -'-l+[The limit for number of tracks to play]: :_default' \ -'--limit=[The limit for number of tracks to play]: :_default' \ -'-r[Randomly pick the tracks instead of picking tracks from the beginning]' \ -'--random[Randomly pick the tracks instead of picking tracks from the beginning]' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(radio) -_arguments "${_arguments_options[@]}" : \ -'-i+[]: :_default' \ -'--id=[]: :_default' \ -'-n+[]: :_default' \ -'--name=[]: :_default' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::item_type:(playlist album artist track)' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__playback__start__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playback-start-help-command-$line[1]:" - case $line[1] in - (context) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(track) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(liked) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(radio) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -;; -(play-pause) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(play) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(pause) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(next) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(previous) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(shuffle) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(repeat) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(volume) -_arguments "${_arguments_options[@]}" : \ -'--offset[Increase the volume percent by an offset]' \ -'-h[Print help]' \ -'--help[Print help]' \ -':percent:_default' \ -&& ret=0 -;; -(seek) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -':position_offset_ms:_default' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__playback__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playback-help-command-$line[1]:" - case $line[1] in - (start) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__playback__help__start_commands" \ -"*::: :->start" \ -&& ret=0 - - case $state in - (start) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playback-help-start-command-$line[1]:" - case $line[1] in - (context) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(track) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(liked) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(radio) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(play-pause) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(play) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(pause) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(next) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(previous) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(shuffle) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(repeat) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(volume) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(seek) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -;; -(connect) -_arguments "${_arguments_options[@]}" : \ -'-i+[]: :_default' \ -'--id=[]: :_default' \ -'-n+[]: :_default' \ -'--name=[]: :_default' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(like) -_arguments "${_arguments_options[@]}" : \ -'-u[Unlike the currently playing track]' \ -'--unlike[Unlike the currently playing track]' \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(authenticate) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(playlist) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -":: :_spotify_player__playlist_commands" \ -"*::: :->playlist" \ -&& ret=0 - - case $state in - (playlist) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playlist-command-$line[1]:" - case $line[1] in - (new) -_arguments "${_arguments_options[@]}" : \ -'-p[Sets the playlist to public]' \ -'--public[Sets the playlist to public]' \ -'-c[Sets the playlist to collaborative]' \ -'--collab[Sets the playlist to collaborative]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::name:_default' \ -'::description:_default' \ -&& ret=0 -;; -(delete) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -'::id:_default' \ -&& ret=0 -;; -(import) -_arguments "${_arguments_options[@]}" : \ -'-d[Deletes any previously imported tracks that are no longer in the imported playlist since last import.]' \ -'--delete[Deletes any previously imported tracks that are no longer in the imported playlist since last import.]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::from:_default' \ -'::to:_default' \ -&& ret=0 -;; -(list) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -&& ret=0 -;; -(fork) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -'::id:_default' \ -&& ret=0 -;; -(sync) -_arguments "${_arguments_options[@]}" : \ -'-d[Deletes any previously imported tracks that are no longer in an imported playlist since last import.]' \ -'--delete[Deletes any previously imported tracks that are no longer in an imported playlist since last import.]' \ -'-h[Print help]' \ -'--help[Print help]' \ -'::id:_default' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__playlist__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-playlist-help-command-$line[1]:" - case $line[1] in - (new) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(delete) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(import) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(list) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(fork) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(sync) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -;; -(generate) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -':shell:(bash elvish fish powershell zsh)' \ -&& ret=0 -;; -(search) -_arguments "${_arguments_options[@]}" : \ -'-h[Print help]' \ -'--help[Print help]' \ -':query -- Search query:_default' \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__help_commands" \ -"*::: :->help" \ -&& ret=0 - - case $state in - (help) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-help-command-$line[1]:" - case $line[1] in - (get) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__help__get_commands" \ -"*::: :->get" \ -&& ret=0 - - case $state in - (get) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-help-get-command-$line[1]:" - case $line[1] in - (key) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(item) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(playback) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__help__playback_commands" \ -"*::: :->playback" \ -&& ret=0 - - case $state in - (playback) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-help-playback-command-$line[1]:" - case $line[1] in - (start) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__help__playback__start_commands" \ -"*::: :->start" \ -&& ret=0 - - case $state in - (start) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-help-playback-start-command-$line[1]:" - case $line[1] in - (context) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(track) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(liked) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(radio) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(play-pause) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(play) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(pause) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(next) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(previous) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(shuffle) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(repeat) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(volume) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(seek) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(connect) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(like) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(authenticate) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(playlist) -_arguments "${_arguments_options[@]}" : \ -":: :_spotify_player__help__playlist_commands" \ -"*::: :->playlist" \ -&& ret=0 - - case $state in - (playlist) - words=($line[1] "${words[@]}") - (( CURRENT += 1 )) - curcontext="${curcontext%:*:*}:spotify_player-help-playlist-command-$line[1]:" - case $line[1] in - (new) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(delete) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(import) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(list) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(fork) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(sync) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; -(generate) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(search) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; -(help) -_arguments "${_arguments_options[@]}" : \ -&& ret=0 -;; - esac - ;; -esac -;; - esac - ;; -esac -} - -(( $+functions[_spotify_player_commands] )) || -_spotify_player_commands() { - local commands; commands=( -'get:Get Spotify data' \ -'playback:Interact with the playback' \ -'connect:Connect to a Spotify device' \ -'like:Like currently playing track' \ -'authenticate:Authenticate the application' \ -'playlist:Playlist editing' \ -'generate:Generate shell completion for the application CLI' \ -'search:Search spotify' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player commands' commands "$@" -} -(( $+functions[_spotify_player__authenticate_commands] )) || -_spotify_player__authenticate_commands() { - local commands; commands=() - _describe -t commands 'spotify_player authenticate commands' commands "$@" -} -(( $+functions[_spotify_player__connect_commands] )) || -_spotify_player__connect_commands() { - local commands; commands=() - _describe -t commands 'spotify_player connect commands' commands "$@" -} -(( $+functions[_spotify_player__generate_commands] )) || -_spotify_player__generate_commands() { - local commands; commands=() - _describe -t commands 'spotify_player generate commands' commands "$@" -} -(( $+functions[_spotify_player__get_commands] )) || -_spotify_player__get_commands() { - local commands; commands=( -'key:Get data by key' \ -'item:Get a Spotify item'\''s data' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player get commands' commands "$@" -} -(( $+functions[_spotify_player__get__help_commands] )) || -_spotify_player__get__help_commands() { - local commands; commands=( -'key:Get data by key' \ -'item:Get a Spotify item'\''s data' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player get help commands' commands "$@" -} -(( $+functions[_spotify_player__get__help__help_commands] )) || -_spotify_player__get__help__help_commands() { - local commands; commands=() - _describe -t commands 'spotify_player get help help commands' commands "$@" -} -(( $+functions[_spotify_player__get__help__item_commands] )) || -_spotify_player__get__help__item_commands() { - local commands; commands=() - _describe -t commands 'spotify_player get help item commands' commands "$@" -} -(( $+functions[_spotify_player__get__help__key_commands] )) || -_spotify_player__get__help__key_commands() { - local commands; commands=() - _describe -t commands 'spotify_player get help key commands' commands "$@" -} -(( $+functions[_spotify_player__get__item_commands] )) || -_spotify_player__get__item_commands() { - local commands; commands=() - _describe -t commands 'spotify_player get item commands' commands "$@" -} -(( $+functions[_spotify_player__get__key_commands] )) || -_spotify_player__get__key_commands() { - local commands; commands=() - _describe -t commands 'spotify_player get key commands' commands "$@" -} -(( $+functions[_spotify_player__help_commands] )) || -_spotify_player__help_commands() { - local commands; commands=( -'get:Get Spotify data' \ -'playback:Interact with the playback' \ -'connect:Connect to a Spotify device' \ -'like:Like currently playing track' \ -'authenticate:Authenticate the application' \ -'playlist:Playlist editing' \ -'generate:Generate shell completion for the application CLI' \ -'search:Search spotify' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player help commands' commands "$@" -} -(( $+functions[_spotify_player__help__authenticate_commands] )) || -_spotify_player__help__authenticate_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help authenticate commands' commands "$@" -} -(( $+functions[_spotify_player__help__connect_commands] )) || -_spotify_player__help__connect_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help connect commands' commands "$@" -} -(( $+functions[_spotify_player__help__generate_commands] )) || -_spotify_player__help__generate_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help generate commands' commands "$@" -} -(( $+functions[_spotify_player__help__get_commands] )) || -_spotify_player__help__get_commands() { - local commands; commands=( -'key:Get data by key' \ -'item:Get a Spotify item'\''s data' \ - ) - _describe -t commands 'spotify_player help get commands' commands "$@" -} -(( $+functions[_spotify_player__help__get__item_commands] )) || -_spotify_player__help__get__item_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help get item commands' commands "$@" -} -(( $+functions[_spotify_player__help__get__key_commands] )) || -_spotify_player__help__get__key_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help get key commands' commands "$@" -} -(( $+functions[_spotify_player__help__help_commands] )) || -_spotify_player__help__help_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help help commands' commands "$@" -} -(( $+functions[_spotify_player__help__like_commands] )) || -_spotify_player__help__like_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help like commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback_commands] )) || -_spotify_player__help__playback_commands() { - local commands; commands=( -'start:Start a new playback' \ -'play-pause:Toggle between play and pause' \ -'play:Resume the current playback if stopped' \ -'pause:Pause the current playback if playing' \ -'next:Skip to the next track' \ -'previous:Skip to the previous track' \ -'shuffle:Toggle the shuffle mode' \ -'repeat:Cycle the repeat mode' \ -'volume:Set the volume percentage' \ -'seek:Seek by an offset milliseconds' \ - ) - _describe -t commands 'spotify_player help playback commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__next_commands] )) || -_spotify_player__help__playback__next_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback next commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__pause_commands] )) || -_spotify_player__help__playback__pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback pause commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__play_commands] )) || -_spotify_player__help__playback__play_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback play commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__play-pause_commands] )) || -_spotify_player__help__playback__play-pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback play-pause commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__previous_commands] )) || -_spotify_player__help__playback__previous_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback previous commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__repeat_commands] )) || -_spotify_player__help__playback__repeat_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback repeat commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__seek_commands] )) || -_spotify_player__help__playback__seek_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback seek commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__shuffle_commands] )) || -_spotify_player__help__playback__shuffle_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback shuffle commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__start_commands] )) || -_spotify_player__help__playback__start_commands() { - local commands; commands=( -'context:Start a context playback' \ -'track:Start playback for a track' \ -'liked:Start a liked tracks playback' \ -'radio:Start a radio playback' \ - ) - _describe -t commands 'spotify_player help playback start commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__start__context_commands] )) || -_spotify_player__help__playback__start__context_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback start context commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__start__liked_commands] )) || -_spotify_player__help__playback__start__liked_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback start liked commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__start__radio_commands] )) || -_spotify_player__help__playback__start__radio_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback start radio commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__start__track_commands] )) || -_spotify_player__help__playback__start__track_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback start track commands' commands "$@" -} -(( $+functions[_spotify_player__help__playback__volume_commands] )) || -_spotify_player__help__playback__volume_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playback volume commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist_commands] )) || -_spotify_player__help__playlist_commands() { - local commands; commands=( -'new:Create a new playlist' \ -'delete:Delete a playlist' \ -'import:Imports all songs from a playlist into another playlist.' \ -'list:Lists all user playlists.' \ -'fork:Creates a copy of a playlist and imports it.' \ -'sync:Syncs imports for all playlists or a single playlist.' \ - ) - _describe -t commands 'spotify_player help playlist commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__delete_commands] )) || -_spotify_player__help__playlist__delete_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist delete commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__fork_commands] )) || -_spotify_player__help__playlist__fork_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist fork commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__import_commands] )) || -_spotify_player__help__playlist__import_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist import commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__list_commands] )) || -_spotify_player__help__playlist__list_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist list commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__new_commands] )) || -_spotify_player__help__playlist__new_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist new commands' commands "$@" -} -(( $+functions[_spotify_player__help__playlist__sync_commands] )) || -_spotify_player__help__playlist__sync_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help playlist sync commands' commands "$@" -} -(( $+functions[_spotify_player__help__search_commands] )) || -_spotify_player__help__search_commands() { - local commands; commands=() - _describe -t commands 'spotify_player help search commands' commands "$@" -} -(( $+functions[_spotify_player__like_commands] )) || -_spotify_player__like_commands() { - local commands; commands=() - _describe -t commands 'spotify_player like commands' commands "$@" -} -(( $+functions[_spotify_player__playback_commands] )) || -_spotify_player__playback_commands() { - local commands; commands=( -'start:Start a new playback' \ -'play-pause:Toggle between play and pause' \ -'play:Resume the current playback if stopped' \ -'pause:Pause the current playback if playing' \ -'next:Skip to the next track' \ -'previous:Skip to the previous track' \ -'shuffle:Toggle the shuffle mode' \ -'repeat:Cycle the repeat mode' \ -'volume:Set the volume percentage' \ -'seek:Seek by an offset milliseconds' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playback commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help_commands] )) || -_spotify_player__playback__help_commands() { - local commands; commands=( -'start:Start a new playback' \ -'play-pause:Toggle between play and pause' \ -'play:Resume the current playback if stopped' \ -'pause:Pause the current playback if playing' \ -'next:Skip to the next track' \ -'previous:Skip to the previous track' \ -'shuffle:Toggle the shuffle mode' \ -'repeat:Cycle the repeat mode' \ -'volume:Set the volume percentage' \ -'seek:Seek by an offset milliseconds' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playback help commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__help_commands] )) || -_spotify_player__playback__help__help_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help help commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__next_commands] )) || -_spotify_player__playback__help__next_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help next commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__pause_commands] )) || -_spotify_player__playback__help__pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help pause commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__play_commands] )) || -_spotify_player__playback__help__play_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help play commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__play-pause_commands] )) || -_spotify_player__playback__help__play-pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help play-pause commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__previous_commands] )) || -_spotify_player__playback__help__previous_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help previous commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__repeat_commands] )) || -_spotify_player__playback__help__repeat_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help repeat commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__seek_commands] )) || -_spotify_player__playback__help__seek_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help seek commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__shuffle_commands] )) || -_spotify_player__playback__help__shuffle_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help shuffle commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__start_commands] )) || -_spotify_player__playback__help__start_commands() { - local commands; commands=( -'context:Start a context playback' \ -'track:Start playback for a track' \ -'liked:Start a liked tracks playback' \ -'radio:Start a radio playback' \ - ) - _describe -t commands 'spotify_player playback help start commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__start__context_commands] )) || -_spotify_player__playback__help__start__context_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help start context commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__start__liked_commands] )) || -_spotify_player__playback__help__start__liked_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help start liked commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__start__radio_commands] )) || -_spotify_player__playback__help__start__radio_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help start radio commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__start__track_commands] )) || -_spotify_player__playback__help__start__track_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help start track commands' commands "$@" -} -(( $+functions[_spotify_player__playback__help__volume_commands] )) || -_spotify_player__playback__help__volume_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback help volume commands' commands "$@" -} -(( $+functions[_spotify_player__playback__next_commands] )) || -_spotify_player__playback__next_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback next commands' commands "$@" -} -(( $+functions[_spotify_player__playback__pause_commands] )) || -_spotify_player__playback__pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback pause commands' commands "$@" -} -(( $+functions[_spotify_player__playback__play_commands] )) || -_spotify_player__playback__play_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback play commands' commands "$@" -} -(( $+functions[_spotify_player__playback__play-pause_commands] )) || -_spotify_player__playback__play-pause_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback play-pause commands' commands "$@" -} -(( $+functions[_spotify_player__playback__previous_commands] )) || -_spotify_player__playback__previous_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback previous commands' commands "$@" -} -(( $+functions[_spotify_player__playback__repeat_commands] )) || -_spotify_player__playback__repeat_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback repeat commands' commands "$@" -} -(( $+functions[_spotify_player__playback__seek_commands] )) || -_spotify_player__playback__seek_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback seek commands' commands "$@" -} -(( $+functions[_spotify_player__playback__shuffle_commands] )) || -_spotify_player__playback__shuffle_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback shuffle commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start_commands] )) || -_spotify_player__playback__start_commands() { - local commands; commands=( -'context:Start a context playback' \ -'track:Start playback for a track' \ -'liked:Start a liked tracks playback' \ -'radio:Start a radio playback' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playback start commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__context_commands] )) || -_spotify_player__playback__start__context_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start context commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help_commands] )) || -_spotify_player__playback__start__help_commands() { - local commands; commands=( -'context:Start a context playback' \ -'track:Start playback for a track' \ -'liked:Start a liked tracks playback' \ -'radio:Start a radio playback' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playback start help commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help__context_commands] )) || -_spotify_player__playback__start__help__context_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start help context commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help__help_commands] )) || -_spotify_player__playback__start__help__help_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start help help commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help__liked_commands] )) || -_spotify_player__playback__start__help__liked_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start help liked commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help__radio_commands] )) || -_spotify_player__playback__start__help__radio_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start help radio commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__help__track_commands] )) || -_spotify_player__playback__start__help__track_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start help track commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__liked_commands] )) || -_spotify_player__playback__start__liked_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start liked commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__radio_commands] )) || -_spotify_player__playback__start__radio_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start radio commands' commands "$@" -} -(( $+functions[_spotify_player__playback__start__track_commands] )) || -_spotify_player__playback__start__track_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback start track commands' commands "$@" -} -(( $+functions[_spotify_player__playback__volume_commands] )) || -_spotify_player__playback__volume_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playback volume commands' commands "$@" -} -(( $+functions[_spotify_player__playlist_commands] )) || -_spotify_player__playlist_commands() { - local commands; commands=( -'new:Create a new playlist' \ -'delete:Delete a playlist' \ -'import:Imports all songs from a playlist into another playlist.' \ -'list:Lists all user playlists.' \ -'fork:Creates a copy of a playlist and imports it.' \ -'sync:Syncs imports for all playlists or a single playlist.' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playlist commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__delete_commands] )) || -_spotify_player__playlist__delete_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist delete commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__fork_commands] )) || -_spotify_player__playlist__fork_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist fork commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help_commands] )) || -_spotify_player__playlist__help_commands() { - local commands; commands=( -'new:Create a new playlist' \ -'delete:Delete a playlist' \ -'import:Imports all songs from a playlist into another playlist.' \ -'list:Lists all user playlists.' \ -'fork:Creates a copy of a playlist and imports it.' \ -'sync:Syncs imports for all playlists or a single playlist.' \ -'help:Print this message or the help of the given subcommand(s)' \ - ) - _describe -t commands 'spotify_player playlist help commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__delete_commands] )) || -_spotify_player__playlist__help__delete_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help delete commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__fork_commands] )) || -_spotify_player__playlist__help__fork_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help fork commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__help_commands] )) || -_spotify_player__playlist__help__help_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help help commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__import_commands] )) || -_spotify_player__playlist__help__import_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help import commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__list_commands] )) || -_spotify_player__playlist__help__list_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help list commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__new_commands] )) || -_spotify_player__playlist__help__new_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help new commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__help__sync_commands] )) || -_spotify_player__playlist__help__sync_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist help sync commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__import_commands] )) || -_spotify_player__playlist__import_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist import commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__list_commands] )) || -_spotify_player__playlist__list_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist list commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__new_commands] )) || -_spotify_player__playlist__new_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist new commands' commands "$@" -} -(( $+functions[_spotify_player__playlist__sync_commands] )) || -_spotify_player__playlist__sync_commands() { - local commands; commands=() - _describe -t commands 'spotify_player playlist sync commands' commands "$@" -} -(( $+functions[_spotify_player__search_commands] )) || -_spotify_player__search_commands() { - local commands; commands=() - _describe -t commands 'spotify_player search commands' commands "$@" -} - -if [ "$funcstack[1]" = "_spotify_player" ]; then - _spotify_player "$@" -else - compdef _spotify_player spotify_player -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_supabase b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_supabase deleted file mode 100644 index 68ab1ac2..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_supabase +++ /dev/null @@ -1,212 +0,0 @@ -#compdef supabase -compdef _supabase supabase - -# zsh completion for supabase -*- shell-script -*- - -__supabase_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_supabase() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __supabase_debug "\n========= starting completion logic ==========" - __supabase_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __supabase_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __supabase_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., supabase -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} __complete ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __supabase_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __supabase_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __supabase_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __supabase_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __supabase_debug "No directive found. Setting do default" - directive=0 - fi - - __supabase_debug "directive: ${directive}" - __supabase_debug "completions: ${out}" - __supabase_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __supabase_debug "Completion received error. Ignoring completions." - return - fi - - local activeHelpMarker="_activeHelp_ " - local endIndex=${#activeHelpMarker} - local startIndex=$((${#activeHelpMarker}+1)) - local hasActiveHelp=0 - while IFS='\n' read -r comp; do - # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker) - if [ "${comp[1,$endIndex]}" = "$activeHelpMarker" ];then - __supabase_debug "ActiveHelp found: $comp" - comp="${comp[$startIndex,-1]}" - if [ -n "$comp" ]; then - compadd -x "${comp}" - __supabase_debug "ActiveHelp will need delimiter" - hasActiveHelp=1 - fi - - continue - fi - - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __supabase_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - # Add a delimiter after the activeHelp statements, but only if: - # - there are completions following the activeHelp statements, or - # - file completion will be performed (so there will be choices after the activeHelp) - if [ $hasActiveHelp -eq 1 ]; then - if [ ${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then - __supabase_debug "Adding activeHelp delimiter" - compadd -x "--" - hasActiveHelp=0 - fi - fi - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __supabase_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __supabase_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __supabase_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __supabase_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __supabase_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __supabase_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __supabase_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __supabase_debug "_describe did not find completions." - __supabase_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __supabase_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __supabase_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_supabase" ]; then - _supabase -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_tailscale b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_tailscale deleted file mode 100644 index b833510a..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_tailscale +++ /dev/null @@ -1,198 +0,0 @@ -#compdef tailscale -compdef _tailscale tailscale - -# Copyright 2013-2023 The Cobra Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# zsh completion for tailscale -*- shell-script -*- - -__tailscale_debug() -{ - local file="$BASH_COMP_DEBUG_FILE" - if [[ -n ${file} ]]; then - echo "$*" >> "${file}" - fi -} - -_tailscale() -{ - local shellCompDirectiveError=1 - local shellCompDirectiveNoSpace=2 - local shellCompDirectiveNoFileComp=4 - local shellCompDirectiveFilterFileExt=8 - local shellCompDirectiveFilterDirs=16 - local shellCompDirectiveKeepOrder=32 - - local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder - local -a completions - - __tailscale_debug "\n========= starting completion logic ==========" - __tailscale_debug "CURRENT: ${CURRENT}, words[*]: ${words[*]}" - - # The user could have moved the cursor backwards on the command-line. - # We need to trigger completion from the $CURRENT location, so we need - # to truncate the command-line ($words) up to the $CURRENT location. - # (We cannot use $CURSOR as its value does not work when a command is an alias.) - words=("${=words[1,CURRENT]}") - __tailscale_debug "Truncated words[*]: ${words[*]}," - - lastParam=${words[-1]} - lastChar=${lastParam[-1]} - __tailscale_debug "lastParam: ${lastParam}, lastChar: ${lastChar}" - - # For zsh, when completing a flag with an = (e.g., tailscale -n=<TAB>) - # completions must be prefixed with the flag - setopt local_options BASH_REMATCH - if [[ "${lastParam}" =~ '-.*=' ]]; then - # We are dealing with a flag with an = - flagPrefix="-P ${BASH_REMATCH}" - fi - - # Prepare the command to obtain completions - requestComp="${words[1]} completion __complete --descs=true --flags=true -- ${words[2,-1]}" - if [ "${lastChar}" = "" ]; then - # If the last parameter is complete (there is a space following it) - # We add an extra empty parameter so we can indicate this to the go completion code. - __tailscale_debug "Adding extra empty parameter" - requestComp="${requestComp} \"\"" - fi - - __tailscale_debug "About to call: eval ${requestComp}" - - # Use eval to handle any environment variables and such - out=$(eval ${requestComp} 2>/dev/null) - __tailscale_debug "completion output: ${out}" - - # Extract the directive integer following a : from the last line - local lastLine - while IFS='\n' read -r line; do - lastLine=${line} - done < <(printf "%s\n" "${out[@]}") - __tailscale_debug "last line: ${lastLine}" - - if [ "${lastLine[1]}" = : ]; then - directive=${lastLine[2,-1]} - # Remove the directive including the : and the newline - local suffix - (( suffix=${#lastLine}+2)) - out=${out[1,-$suffix]} - else - # There is no directive specified. Leave $out as is. - __tailscale_debug "No directive found. Setting do default" - directive=0 - fi - - __tailscale_debug "directive: ${directive}" - __tailscale_debug "completions: ${out}" - __tailscale_debug "flagPrefix: ${flagPrefix}" - - if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then - __tailscale_debug "Completion received error. Ignoring completions." - return - fi - - while IFS='\n' read -r comp; do - if [ -n "$comp" ]; then - # If requested, completions are returned with a description. - # The description is preceded by a TAB character. - # For zsh's _describe, we need to use a : instead of a TAB. - # We first need to escape any : as part of the completion itself. - comp=${comp//:/\\:} - - local tab="$(printf '\t')" - comp=${comp//$tab/:} - - __tailscale_debug "Adding completion: ${comp}" - completions+=${comp} - lastComp=$comp - fi - done < <(printf "%s\n" "${out[@]}") - - if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then - __tailscale_debug "Activating nospace." - noSpace="-S ''" - fi - - if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then - __tailscale_debug "Activating keep order." - keepOrder="-V" - fi - - if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then - # File extension filtering - local filteringCmd - filteringCmd='_files' - for filter in ${completions[@]}; do - if [ ${filter[1]} != '*' ]; then - # zsh requires a glob pattern to do file filtering - filter="\*.$filter" - fi - filteringCmd+=" -g $filter" - done - filteringCmd+=" ${flagPrefix}" - - __tailscale_debug "File filtering command: $filteringCmd" - _arguments '*:filename:'"$filteringCmd" - elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then - # File completion for directories only - local subdir - subdir="${completions[1]}" - if [ -n "$subdir" ]; then - __tailscale_debug "Listing directories in $subdir" - pushd "${subdir}" >/dev/null 2>&1 - else - __tailscale_debug "Listing directories in ." - fi - - local result - _arguments '*:dirname:_files -/'" ${flagPrefix}" - result=$? - if [ -n "$subdir" ]; then - popd >/dev/null 2>&1 - fi - return $result - else - __tailscale_debug "Calling _describe" - if eval _describe $keepOrder "completions" completions $flagPrefix $noSpace; then - __tailscale_debug "_describe found some completions" - - # Return the success of having called _describe - return 0 - else - __tailscale_debug "_describe did not find completions." - __tailscale_debug "Checking if we should do file completion." - if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then - __tailscale_debug "deactivating file completion" - - # We must return an error code here to let zsh know that there were no - # completions found by _describe; this is what will trigger other - # matching algorithms to attempt to find completions. - # For example zsh can match letters in the middle of words. - return 1 - else - # Perform file completion - __tailscale_debug "Activating file completion" - - # We must return the result of this command, so it must be the - # last command, or else we must store its result to return it. - _arguments '*:filename:_files'" ${flagPrefix}" - fi - fi - fi -} - -# don't run the completion function when being source-ed or eval-ed -if [ "$funcstack[1]" = "_tailscale" ]; then - _tailscale -fi diff --git a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_yt-dlp b/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_yt-dlp deleted file mode 100644 index c7f0cc1c..00000000 --- a/result/etc/profiles/per-user/bdsqqq/share/zsh/site-functions/_yt-dlp +++ /dev/null @@ -1,30 +0,0 @@ -#compdef yt-dlp - -__yt_dlp() { - local curcontext="$curcontext" fileopts diropts cur prev - typeset -A opt_args - fileopts="--download-archive|-a|--batch-file|--load-info-json|--load-info|--cookies|--no-cookies" - diropts="--cache-dir" - cur=$words[CURRENT] - case $cur in - :) - _arguments '*: :(::ytfavorites ::ytrecommended ::ytsubscriptions ::ytwatchlater ::ythistory)' - ;; - *) - prev=$words[CURRENT-1] - if [[ ${prev} =~ ${fileopts} ]]; then - _path_files - elif [[ ${prev} =~ ${diropts} ]]; then - _path_files -/ - elif [[ ${prev} == "--remux-video" ]]; then - _arguments '*: :(mp4 mkv)' - elif [[ ${prev} == "--recode-video" ]]; then - _arguments '*: :(mp4 flv ogg webm mkv)' - else - _arguments '*: :(--help --version --update --no-update --update-to --ignore-errors --no-abort-on-error --abort-on-error --dump-user-agent --list-extractors --extractor-descriptions --use-extractors --force-generic-extractor --default-search --ignore-config --no-config-locations --config-locations --plugin-dirs --no-plugin-dirs --flat-playlist --no-flat-playlist --live-from-start --no-live-from-start --wait-for-video --no-wait-for-video --mark-watched --no-mark-watched --no-colors --color --compat-options --alias --preset-alias --proxy --socket-timeout --source-address --impersonate --list-impersonate-targets --force-ipv4 --force-ipv6 --enable-file-urls --geo-verification-proxy --cn-verification-proxy --xff --geo-bypass --no-geo-bypass --geo-bypass-country --geo-bypass-ip-block --playlist-start --playlist-end --playlist-items --match-title --reject-title --min-filesize --max-filesize --date --datebefore --dateafter --min-views --max-views --match-filters --no-match-filters --break-match-filters --no-break-match-filters --no-playlist --yes-playlist --age-limit --download-archive --no-download-archive --max-downloads --break-on-existing --no-break-on-existing --break-on-reject --break-per-input --no-break-per-input --skip-playlist-after-errors --include-ads --no-include-ads --concurrent-fragments --limit-rate --throttled-rate --retries --file-access-retries --fragment-retries --retry-sleep --skip-unavailable-fragments --abort-on-unavailable-fragments --keep-fragments --no-keep-fragments --buffer-size --resize-buffer --no-resize-buffer --http-chunk-size --test --playlist-reverse --no-playlist-reverse --playlist-random --lazy-playlist --no-lazy-playlist --xattr-set-filesize --hls-prefer-native --hls-prefer-ffmpeg --hls-use-mpegts --no-hls-use-mpegts --download-sections --downloader --downloader-args --batch-file --no-batch-file --id --paths --output --output-na-placeholder --autonumber-size --autonumber-start --restrict-filenames --no-restrict-filenames --windows-filenames --no-windows-filenames --trim-filenames --no-overwrites --force-overwrites --no-force-overwrites --continue --no-continue --part --no-part --mtime --no-mtime --write-description --no-write-description --write-info-json --no-write-info-json --write-annotations --no-write-annotations --write-playlist-metafiles --no-write-playlist-metafiles --clean-info-json --no-clean-info-json --write-comments --no-write-comments --load-info-json --cookies --no-cookies --cookies-from-browser --no-cookies-from-browser --cache-dir --no-cache-dir --rm-cache-dir --write-thumbnail --no-write-thumbnail --write-all-thumbnails --list-thumbnails --write-link --write-url-link --write-webloc-link --write-desktop-link --quiet --no-quiet --no-warnings --simulate --no-simulate --ignore-no-formats-error --no-ignore-no-formats-error --skip-download --print --print-to-file --get-url --get-title --get-id --get-thumbnail --get-description --get-duration --get-filename --get-format --dump-json --dump-single-json --print-json --force-write-archive --newline --no-progress --progress --console-title --progress-template --progress-delta --verbose --dump-pages --write-pages --load-pages --youtube-print-sig-code --print-traffic --call-home --no-call-home --encoding --legacy-server-connect --no-check-certificates --prefer-insecure --user-agent --referer --add-headers --bidi-workaround --sleep-requests --sleep-interval --max-sleep-interval --sleep-subtitles --format --format-sort --format-sort-force --no-format-sort-force --video-multistreams --no-video-multistreams --audio-multistreams --no-audio-multistreams --all-formats --prefer-free-formats --no-prefer-free-formats --check-formats --check-all-formats --no-check-formats --list-formats --list-formats-as-table --list-formats-old --merge-output-format --allow-unplayable-formats --no-allow-unplayable-formats --write-subs --no-write-subs --write-auto-subs --no-write-auto-subs --all-subs --list-subs --sub-format --sub-langs --username --password --twofactor --netrc --netrc-location --netrc-cmd --video-password --ap-mso --ap-username --ap-password --ap-list-mso --client-certificate --client-certificate-key --client-certificate-password --extract-audio --audio-format --audio-quality --remux-video --recode-video --postprocessor-args --keep-video --no-keep-video --post-overwrites --no-post-overwrites --embed-subs --no-embed-subs --embed-thumbnail --no-embed-thumbnail --embed-metadata --no-embed-metadata --embed-chapters --no-embed-chapters --embed-info-json --no-embed-info-json --metadata-from-title --parse-metadata --replace-in-metadata --xattrs --concat-playlist --fixup --prefer-avconv --prefer-ffmpeg --ffmpeg-location --exec --no-exec --exec-before-download --no-exec-before-download --convert-subs --convert-thumbnails --split-chapters --no-split-chapters --remove-chapters --no-remove-chapters --force-keyframes-at-cuts --no-force-keyframes-at-cuts --use-postprocessor --sponsorblock-mark --sponsorblock-remove --sponsorblock-chapter-title --no-sponsorblock --sponsorblock-api --sponskrub --no-sponskrub --sponskrub-cut --no-sponskrub-cut --sponskrub-force --no-sponskrub-force --sponskrub-location --sponskrub-args --extractor-retries --allow-dynamic-mpd --ignore-dynamic-mpd --hls-split-discontinuity --no-hls-split-discontinuity --extractor-args --youtube-include-dash-manifest --youtube-skip-dash-manifest --youtube-include-hls-manifest --youtube-skip-hls-manifest)' - fi - ;; - esac -} - -__yt_dlp \ No newline at end of file diff --git a/result/etc/ssh/ssh_config.d/100-nix-darwin.conf b/result/etc/ssh/ssh_config.d/100-nix-darwin.conf deleted file mode 100644 index e69de29b..00000000 diff --git a/result/etc/ssh/sshd_config.d/100-nix-darwin.conf b/result/etc/ssh/sshd_config.d/100-nix-darwin.conf deleted file mode 100644 index e69de29b..00000000 diff --git a/result/etc/ssh/sshd_config.d/101-authorized-keys.conf b/result/etc/ssh/sshd_config.d/101-authorized-keys.conf deleted file mode 100644 index 0fb21080..00000000 --- a/result/etc/ssh/sshd_config.d/101-authorized-keys.conf +++ /dev/null @@ -1,5 +0,0 @@ -# sshd doesn't like reading from symbolic links, so we cat -# the file ourselves. -AuthorizedKeysCommand /bin/cat /etc/ssh/nix_authorized_keys.d/%u -# Just a simple cat, fine to use _sshd. -AuthorizedKeysCommandUser _sshd diff --git a/result/etc/ssl/certs/ca-certificates.crt b/result/etc/ssl/certs/ca-certificates.crt deleted file mode 100644 index 15da1b44..00000000 --- a/result/etc/ssl/certs/ca-certificates.crt +++ /dev/null @@ -1,8895 +0,0 @@ -ACCVRAIZ1 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7MAwwCgYIKwYB -BQUHAwE= ------END TRUSTED CERTIFICATE----- - -AC RAIZ FNMT-RCM ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrMwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -AC RAIZ FNMT-RCM SERVIDORES SEGUROS ------BEGIN CERTIFICATE----- -MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw -CQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw -FgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S -Q00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5 -MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL -DAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS -QUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH -sbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK -Um8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu -SuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC -MQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy -v+c= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw -CQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw -FgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S -Q00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5 -MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL -DAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS -QUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH -sbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK -Um8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu -SuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC -MQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy -v+cwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -ANF Secure Server Root CA ------BEGIN CERTIFICATE----- -MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV -BAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk -YWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV -BAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN -MzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF -UzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD -VQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v -dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj -cqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q -yGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH -2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX -H1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL -zc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR -p1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz -W7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/ -SiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn -LNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3 -n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B -u8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj -o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -AgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L -9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej -rw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK -pFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0 -vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq -OknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ -/zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9 -2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI -+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2 -MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo -tt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV -BAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk -YWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV -BAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN -MzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF -UzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD -VQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v -dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj -cqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q -yGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH -2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX -H1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL -zc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR -p1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz -W7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/ -SiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn -LNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3 -n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B -u8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj -o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -AgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L -9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej -rw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK -pFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0 -vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq -OknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ -/zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9 -2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI -+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2 -MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo -tt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjawwDDAKBggrBgEFBQcD -AQ== ------END TRUSTED CERTIFICATE----- - -Actalis Authentication Root CA ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhljAWMBQGCCsGAQUFBwMBBggr -BgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -AffirmTrust Commercial ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8wDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -AffirmTrust Networking ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9swDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -AffirmTrust Premium ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQzAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -AffirmTrust Premium ECC ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeTAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -Amazon Root CA 1 ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Amazon Root CA 2 ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGw= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGwwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Amazon Root CA 3 ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOzAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Amazon Root CA 4 ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EDAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Atos TrustedRoot 2011 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6edMBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -Atos TrustedRoot Root CA ECC G2 2020 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICMTCCAbagAwIBAgIMC3MoERh0MBzvbwiEMAoGCCqGSM49BAMDMEsxCzAJBgNV -BAYTAkRFMQ0wCwYDVQQKDARBdG9zMS0wKwYDVQQDDCRBdG9zIFRydXN0ZWRSb290 -IFJvb3QgQ0EgRUNDIEcyIDIwMjAwHhcNMjAxMjE1MDgzOTEwWhcNNDAxMjEwMDgz -OTA5WjBLMQswCQYDVQQGEwJERTENMAsGA1UECgwEQXRvczEtMCsGA1UEAwwkQXRv -cyBUcnVzdGVkUm9vdCBSb290IENBIEVDQyBHMiAyMDIwMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAEyFyAyk7CKB9XvzjmYSP80KlblhYWwwxeFaWQCf84KLR6HgrWUyrB -u5BAdDfpgeiNL2gBNXxSLtj0WLMRHFvZhxiTkS3sndpsnm2ESPzCiQXrmBMCAWxT -Hg5JY1hHsa/Co2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFFsfxHFs -shufvlwfjP2ztvuzDgmHMB0GA1UdDgQWBBRbH8RxbLIbn75cH4z9s7b7sw4JhzAO -BgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaQAwZgIxAOzgmf3d5FTByx/oPijX -FVlKgspTMOzrNqW5yM6TR1bIYabhbZJTlY/241VT8N165wIxALCH1RuzYPyRjYDK -ohtRSzhUy6oee9flRJUWLzxEeC4luuqQ5OxS7lfsA4TzXtsWDTAMMAoGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -Atos TrustedRoot Root CA ECC TLS 2021 ------BEGIN CERTIFICATE----- -MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w -LAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w -CwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0 -MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF -Q0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI -zj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X -tXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4 -AjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2 -KCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD -aAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu -CCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo -9H1/IISpQuQo ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w -LAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w -CwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0 -MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF -Q0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI -zj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X -tXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4 -AjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2 -KCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD -aAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu -CCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo -9H1/IISpQuQoMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Atos TrustedRoot Root CA RSA G2 2020 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFfzCCA2egAwIBAgIMR7opRlU+FpKXsKtAMA0GCSqGSIb3DQEBDAUAMEsxCzAJ -BgNVBAYTAkRFMQ0wCwYDVQQKDARBdG9zMS0wKwYDVQQDDCRBdG9zIFRydXN0ZWRS -b290IFJvb3QgQ0EgUlNBIEcyIDIwMjAwHhcNMjAxMjE1MDg0MTIzWhcNNDAxMjEw -MDg0MTIyWjBLMQswCQYDVQQGEwJERTENMAsGA1UECgwEQXRvczEtMCsGA1UEAwwk -QXRvcyBUcnVzdGVkUm9vdCBSb290IENBIFJTQSBHMiAyMDIwMIICIjANBgkqhkiG -9w0BAQEFAAOCAg8AMIICCgKCAgEAljGFSqoPMv554UOHnPsjt45/DVS9x2KTd+Qc -NQR2owOLIu7EhN2lk25uso4JA+tRFjEXqmkVGA5ndCNe6pp9tTk+PYKpa+H+qRyw -rVpNTHiDQYvP8h1impgEnGPpq2X+SB0kZQdHPrmRLumdm38aNak0sLflcDPvSnJR -tge/YD8qn51U3/PXlElRA1pAqWjdEVlc+HamvFBSEO2s7JXg1INrSdoKT5mD3jKD -SINnlbJ+54GFPc2C98oC7W2IXQiNuDW/KmkwmbtL0UHbRaCTmVGBkDYIqoq26I+z -y+7lRg1ydfVJbOGify+87YSmN+7ewk85Tvae8MnRmzCdSW3h2v8SEIzW5Zl7BbZ9 -sAnHpPiyHDmVOTP0Nc4lYnuwXyDzy234bFIUZESP08ipdgflr3GZLS0EJUh2r8Pn -zEPyB7xKJCQ33fpulAlvTF4BtP5U7COWpV7dhv/pRirx6NzspT2vb6oOD7R1+j4I -uSZFT2aGTLwZuOHVNe6ChMjTqxLnzXMzYnf0F8u9NHYqBc6V5Xh5S56wjfk8WDiR -6l6HOMC3Qv2qTIcjrQQgsX52Qtq7tha6V8iOE/p11QhMrziRqu+P+p9JLlR8Clax -evrETi/Uo/oWitCV5Zem/8P8fA5HWPN/B3sS3Fc/LeOhTVtSTDOHmagJe2x+DvLP -VkKe6wUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQgJfMH -/adv8ZbukRBpzJrvfchoeDAdBgNVHQ4EFgQUICXzB/2nb/GW7pEQacya733IaHgw -DgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQAkK06Y8h0X7dl2JrYw -M+hpRaFRS1LYejowtuQS6r+fTOAEpPY1xv6hMPdThZKtVAVXX5LlKt42J557E0fJ -anWv/PM35wz1PQFztWlR+L1Z0boL+Lq6ZCdDs3yDlYrnnhOW129KlkFJiw4grRbG -96aHW4gSiYuJyhLSVq8iASFG6auYP6eI3uTLKpp1Gfo5XgkF1wMyGrgXUQjHAEB9 -9L74DFn0aXZu06RYW14mc+RCVQZeeEAP0zif7yZRcHSR8XdiAejZy+uh3zkyHbtr -/XH+68+l5hT9AIATxpoASLCZBemugEj7CT9RFLW552BNTcovgSHuUgxletz1iUlM -MJI0WIAyWbEN/yRhD+cKQtB7vPiOJ0c/cJ0n2bYGPaW7y16Prg5Tx5xqbztMD6NA -cKiaB87UblsHotLiVLa9bzNyY61RmOGPdvFqBzgl/vZizl/bY8Jume8G3LneGRro -VD190nZ12V4+MkinjPKecgz4uFi4FyOlFId1WHoAgQciOWpMlKC1otunLMGw8aOb -wEz3bXDqMZ/xrn0+cyjZod/6k/CbsPDizSUgde/ifTIFyZt27su9MR75lJhLJFhW -SMDeBky9pjRd7RZhY3P7GeL6W9iXddRtnmA5XpSLAizrmc5gKm4bjKdLvP025pgf -ZfJ/8eOPTIBGNli2oWXLzhxEdTAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Atos TrustedRoot Root CA RSA TLS 2021 ------BEGIN CERTIFICATE----- -MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM -MS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx -MQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00 -MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD -QSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z -4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv -Ye+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ -kmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs -GY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln -nkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh -3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD -0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy -geBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8 -ANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB -c6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI -pw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU -dEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -DAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS -4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs -o0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ -qM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw -xfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM -rr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4 -AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR -0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY -o7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5 -dDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE -oji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM -MS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx -MQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00 -MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD -QSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z -4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv -Ye+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ -kmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs -GY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln -nkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh -3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD -0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy -geBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8 -ANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB -c6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI -pw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU -dEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -DAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS -4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs -o0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ -qM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw -xfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM -rr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4 -AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR -0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY -o7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5 -dDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE -oji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyTAMMAoGCCsG -AQUFBwMB ------END TRUSTED CERTIFICATE----- - -Autoridad de Certificacion Firmaprofesional CIF A62634068 ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1 -MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc -tHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd -IAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j -b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC -AG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw -ADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m -iWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF -Sa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ -hfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P -Vf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE -EAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV -1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t -CsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR -5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw -f9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9 -ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK -GbqEZycPvEJdvSRUDewdcAZfpLz6IHxV ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1 -MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc -tHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd -IAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j -b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC -AG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw -ADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m -iWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF -Sa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ -hfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P -Vf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE -EAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV -1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t -CsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR -5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw -f9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9 -ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK -GbqEZycPvEJdvSRUDewdcAZfpLz6IHxVMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -BJCA Global Root CA1 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU -MQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI -T1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz -MTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF -SUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh -bCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z -xRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ -spDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5 -58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR -at7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll -5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq -nMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK -V0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/ -pj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO -z2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn -jSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+ -WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF -7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 -YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli -awLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u -+2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88 -X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN -SoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo -P2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI -+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz -znfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9 -eVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2 -YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy -r/6zcCwupvI= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU -MQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI -T1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz -MTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF -SUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh -bCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z -xRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ -spDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5 -58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR -at7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll -5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq -nMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK -V0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/ -pj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO -z2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn -jSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+ -WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF -7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 -YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli -awLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u -+2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88 -X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN -SoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo -P2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI -+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz -znfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9 -eVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2 -YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy -r/6zcCwupvIwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -BJCA Global Root CA2 ------BEGIN CERTIFICATE----- -MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw -CQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ -VFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy -MVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ -TkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS -b290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B -IgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+ -+kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK -sVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA -94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B -43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw -CQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ -VFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy -MVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ -TkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS -b290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B -IgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+ -+kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK -sVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA -94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B -43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9zAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -Baltimore CyberTrust Root -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmpMAwwCgYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Buypass Class 2 Root CA ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqAwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Buypass Class 3 Root CA ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZcwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -CA Disig Root R2 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcLMBYw -FAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -CFCA EV ROOT ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63suMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -COMODO Certification Authority ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZTAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -COMODO ECC Certification Authority ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdYwFjAUBggrBgEFBQcDAQYIKwYB -BQUHAwQ= ------END TRUSTED CERTIFICATE----- - -COMODO RSA Certification Authority ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Certainly Root E1 ------BEGIN CERTIFICATE----- -MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw -CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu -bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ -BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s -eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK -+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2 -QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4 -hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm -ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG -BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw -CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu -bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ -BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s -eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK -+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2 -QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4 -hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm -ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG -BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriRMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Certainly Root R1 ------BEGIN CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw -PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy -dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9 -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0 -YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2 -1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT -vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed -aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0 -1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5 -r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5 -cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ -wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ -6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA -2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH -Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR -eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB -/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u -d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr -PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d -8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi -1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd -rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di -taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7 -lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj -yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn -Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy -yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n -wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6 -OV+KmalBWQewLK8= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw -PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy -dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9 -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0 -YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2 -1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT -vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed -aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0 -1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5 -r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5 -cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ -wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ -6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA -2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH -Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR -eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB -/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u -d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr -PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d -8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi -1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd -rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di -taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7 -lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj -yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn -Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy -yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n -wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6 -OV+KmalBWQewLK8wDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Certigna ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLjAWMBQGCCsGAQUFBwMBBggrBgEF -BQcDBA== ------END TRUSTED CERTIFICATE----- - -Certigna Root CA ------BEGIN CERTIFICATE----- -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw -WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw -MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x -MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD -VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX -BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO -ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M -CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu -I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm -TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh -C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf -ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz -IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT -Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k -JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 -hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB -GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov -L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo -dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr -aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq -hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L -6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG -HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 -0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB -lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi -o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 -gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v -faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 -Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh -jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw -3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw -WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw -MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x -MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD -VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX -BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO -ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M -CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu -I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm -TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh -C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf -ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz -IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT -Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k -JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 -hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB -GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov -L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo -dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr -aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq -hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L -6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG -HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 -0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB -lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi -o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 -gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v -faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 -Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh -jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw -3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0w -FjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Certum EC-384 CA ------BEGIN CERTIFICATE----- -MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw -CQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw -JQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT -EENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0 -WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT -LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX -BgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE -KI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm -Fy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8 -EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J -UG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn -nvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw -CQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw -JQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT -EENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0 -WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT -LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX -BgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE -KI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm -Fy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8 -EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J -UG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn -nvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8kwFjAUBggr -BgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Certum Root CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM -MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD -QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E -jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo -ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI -ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu -Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg -AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7 -HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA -uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa -TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg -xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q -CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x -O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs -6GAqm4VKQPNriiTsBhYsczAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Certum Trusted Network CA ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyww -FjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Certum Trusted Network CA 2 ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSP ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSPMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Certum Trusted Root CA ------BEGIN CERTIFICATE----- -MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6 -MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu -MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV -BAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw -MzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg -U3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ -n0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q -p1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq -NwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF -8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3 -HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa -mqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi -7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF -ytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P -qafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ -v3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6 -Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 -vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD -ggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4 -WxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo -zMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR -5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ -GfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf -5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq -0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D -P78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM -qJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP -0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf -E2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6 -MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu -MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV -BAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw -MzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg -U3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ -n0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q -p1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq -NwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF -8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3 -HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa -mqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi -7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF -ytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P -qafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ -v3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6 -Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 -vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD -ggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4 -WxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo -zMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR -5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ -GfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf -5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq -0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D -P78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM -qJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP -0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf -E2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjbMBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -CommScope Public Trust ECC Root-01 ------BEGIN CERTIFICATE----- -MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa -Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C -flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE -hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq -hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg -2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS -Um9poIyNStDuiw7LR47QjRE= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa -Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C -flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE -hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq -hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg -2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS -Um9poIyNStDuiw7LR47QjREwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -CommScope Public Trust ECC Root-02 ------BEGIN CERTIFICATE----- -MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa -Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL -j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU -v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq -hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n -ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV -mkzw5l4lIhVtwodZ0LKOag== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa -Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL -j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU -v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq -hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n -ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV -mkzw5l4lIhVtwodZ0LKOajAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -CommScope Public Trust RSA Root-01 ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1 -NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk -YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh -suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al -DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj -WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl -P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547 -KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p -UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/ -kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO -Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB -Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U -CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ -KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 -NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ -nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+ -QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v -trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a -aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD -j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4 -Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w -lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn -YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc -icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1 -NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk -YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh -suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al -DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj -WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl -P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547 -KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p -UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/ -kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO -Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB -Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U -CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ -KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 -NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ -nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+ -QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v -trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a -aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD -j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4 -Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w -lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn -YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc -icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw -MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -CommScope Public Trust RSA Root-02 ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2 -NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE -NQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0 -kyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C -rWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz -hkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2 -LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs -n/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku -FT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5 -kQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3 -wNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v -wQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs -5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ -KoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB -KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3 -+VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme -APnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq -pgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT -6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF -sQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt -PjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d -lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670 -v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O -rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2 -NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE -NQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0 -kyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C -rWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz -hkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2 -LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs -n/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku -FT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5 -kQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3 -wNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v -wQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs -5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ -KoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB -KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3 -+VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme -APnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq -pgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT -6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF -sQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt -PjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d -lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670 -v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O -rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7 -MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Comodo AAA Services root -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbjAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -D-TRUST BR Root CA 1 2020 ------BEGIN CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5 -NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS -zuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0 -QVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/ -VbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW -wKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV -dWNbFJWcHwHP2NVypw87 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5 -NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS -zuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0 -QVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/ -VbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW -wKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV -dWNbFJWcHwHP2NVypw87MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -D-TRUST BR Root CA 2 2023 ------BEGIN CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBI -MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE -LVRSVVNUIEJSIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUw -OTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi -MCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCTcfKr -i3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNE -gXtRr90zsWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8 -k12b9py0i4a6Ibn08OhZWiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCT -Rphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl -2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LULQyReS2tNZ9/WtT5PeB+U -cSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIvx9gvdhFP -/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bS -uREVMweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+ -0bpwHJwh5Q8xaRfX/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4N -DfTisl01gLmB1IRpkQLLddCNxbU9CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+ -XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUZ5Dw1t61 -GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG -OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tI -FoE9c+CeJyrrd6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67n -riv6uvw8l5VAk1/DLQOj7aRvU9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTR -VFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4nj8+AybmTNudX0KEPUUDAxxZiMrc -LmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdijYQ6qgYF/6FKC0ULn -4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff/vtD -hQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsG -koHU6XCPpz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46 -ls/pdu4D58JDUjxqgejBWoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aS -Ecr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/5usWDiJFAbzdNpQ0qTUmiteXue4Icr80 -knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jtn/mtd+ArY0+ew+43u3gJ -hJ65bvspmZDogNOfJA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBI -MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE -LVRSVVNUIEJSIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUw -OTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi -MCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCTcfKr -i3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNE -gXtRr90zsWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8 -k12b9py0i4a6Ibn08OhZWiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCT -Rphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl -2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LULQyReS2tNZ9/WtT5PeB+U -cSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIvx9gvdhFP -/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bS -uREVMweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+ -0bpwHJwh5Q8xaRfX/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4N -DfTisl01gLmB1IRpkQLLddCNxbU9CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+ -XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUZ5Dw1t61 -GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG -OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tI -FoE9c+CeJyrrd6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67n -riv6uvw8l5VAk1/DLQOj7aRvU9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTR -VFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4nj8+AybmTNudX0KEPUUDAxxZiMrc -LmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdijYQ6qgYF/6FKC0ULn -4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff/vtD -hQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsG -koHU6XCPpz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46 -ls/pdu4D58JDUjxqgejBWoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aS -Ecr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/5usWDiJFAbzdNpQ0qTUmiteXue4Icr80 -knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jtn/mtd+ArY0+ew+43u3gJ -hJ65bvspmZDogNOfJDAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -D-TRUST EV Root CA 1 2020 ------BEGIN CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5 -NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC -/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD -wpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3 -OqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA -y/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb -gfM0agPnIjhQW+0ZT0MW ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5 -NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC -/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD -wpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3 -OqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA -y/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb -gfM0agPnIjhQW+0ZT0MWMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -D-TRUST EV Root CA 2 2023 ------BEGIN CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBI -MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE -LVRSVVNUIEVWIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUw -OTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi -MCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1sJkK -F8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE -7CUXFId/MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFe -EMbsh2aJgWi6zCudR3Mfvc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6 -lHPTGGkKSv/BAQP/eX+1SH977ugpbzZMlWGG2Pmic4ruri+W7mjNPU0oQvlFKzIb -RlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3YG14C8qKXO0elg6DpkiV -jTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq9107PncjLgc -jmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZx -TnXonMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ -ARZZaBhDM7DS3LAaQzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nk -hbDhezGdpn9yo7nELC7MmVcOIQxFAZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knF -NXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqvyREBuH -kV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG -OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14 -QvBukEdHjqOSMo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4 -pZt+UPJ26oUFKidBK7GB0aL2QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q -3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xDUmPBEcrCRbH0O1P1aa4846XerOhU -t7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V4U/M5d40VxDJI3IX -cI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuodNv8 -ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT -2vFp4LJiTZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs -7dpn1mKmS00PaaLJvOwiS5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNP -gofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAst -Nl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L+KIkBI3Y4WNeApI02phh -XBxvWHZks/wCuPWdCg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBI -MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE -LVRSVVNUIEVWIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUw -OTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi -MCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1sJkK -F8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE -7CUXFId/MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFe -EMbsh2aJgWi6zCudR3Mfvc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6 -lHPTGGkKSv/BAQP/eX+1SH977ugpbzZMlWGG2Pmic4ruri+W7mjNPU0oQvlFKzIb -RlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3YG14C8qKXO0elg6DpkiV -jTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq9107PncjLgc -jmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZx -TnXonMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ -ARZZaBhDM7DS3LAaQzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nk -hbDhezGdpn9yo7nELC7MmVcOIQxFAZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knF -NXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqvyREBuH -kV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG -OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y -XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14 -QvBukEdHjqOSMo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4 -pZt+UPJ26oUFKidBK7GB0aL2QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q -3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xDUmPBEcrCRbH0O1P1aa4846XerOhU -t7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V4U/M5d40VxDJI3IX -cI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuodNv8 -ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT -2vFp4LJiTZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs -7dpn1mKmS00PaaLJvOwiS5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNP -gofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAst -Nl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L+KIkBI3Y4WNeApI02phh -XBxvWHZks/wCuPWdCjAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -D-TRUST Root CA 3 2013 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEDjCCAvagAwIBAgIDD92sMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxHzAdBgNVBAMMFkQtVFJVU1QgUm9vdCBD -QSAzIDIwMTMwHhcNMTMwOTIwMDgyNTUxWhcNMjgwOTIwMDgyNTUxWjBFMQswCQYD -VQQGEwJERTEVMBMGA1UECgwMRC1UcnVzdCBHbWJIMR8wHQYDVQQDDBZELVRSVVNU -IFJvb3QgQ0EgMyAyMDEzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -xHtCkoIf7O1UmI4SwMoJ35NuOpNcG+QQd55OaYhs9uFp8vabomGxvQcgdJhl8Ywm -CM2oNcqANtFjbehEeoLDbF7eu+g20sRoNoyfMr2EIuDcwu4QRjltr5M5rofmw7wJ -ySxrZ1vZm3Z1TAvgu8XXvD558l++0ZBX+a72Zl8xv9Ntj6e6SvMjZbu376Ml1wrq -WLbviPr6ebJSWNXwrIyhUXQplapRO5AyA58ccnSQ3j3tYdLl4/1kR+W5t0qp9x+u -loYErC/jpIF3t1oW/9gPP/a3eMykr/pbPBJbqFKJcu+I89VEgYaVI5973bzZNO98 -lDyqwEHC451QGsDkGSL8swIDAQABo4IBBTCCAQEwDwYDVR0TAQH/BAUwAwEB/zAd -BgNVHQ4EFgQUP5DIfccVb/Mkj6nDL0uiDyGyL+cwDgYDVR0PAQH/BAQDAgEGMIG+ -BgNVHR8EgbYwgbMwdKByoHCGbmxkYXA6Ly9kaXJlY3RvcnkuZC10cnVzdC5uZXQv -Q049RC1UUlVTVCUyMFJvb3QlMjBDQSUyMDMlMjAyMDEzLE89RC1UcnVzdCUyMEdt -YkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MDugOaA3hjVodHRwOi8v -Y3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2FfM18yMDEzLmNybDAN -BgkqhkiG9w0BAQsFAAOCAQEADlkOWOR0SCNEzzQhtZwUGq2aS7eziG1cqRdw8Cqf -jXv5e4X6xznoEAiwNStfzwLS05zICx7uBVSuN5MECX1sj8J0vPgclL4xAUAt8yQg -t4RVLFzI9XRKEBmLo8ftNdYJSNMOwLo5qLBGArDbxohZwr78e7Erz35ih1WWzAFv -m2chlTWL+BD8cRu3SzdppjvW7IvuwbDzJcmPkn2h6sPKRL8mpXSSnON065102ctN -h9j8tGlsi6BDB2B4l+nZk3zCRrybN1Kj7Yo8E6l7U0tJmhEFLAtuVqwfLoJs4Gln -tQ5tLdnkwBXxP/oYcuEVbSdbLTAoK59ImmQrme/ydUlfXDAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 2009 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+IwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 EV 2009 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1MAwwCgYIKwYB -BQUHAwE= ------END TRUSTED CERTIFICATE----- - -D-Trust SBR Root CA 1 2022 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICXjCCAeOgAwIBAgIQUs/kjG2gSvc/gpcMgAmMlTAKBggqhkjOPQQDAzBJMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSMwIQYDVQQDExpELVRy -dXN0IFNCUiBSb290IENBIDEgMjAyMjAeFw0yMjA3MDYxMTMwMDBaFw0zNzA3MDYx -MTI5NTlaMEkxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIzAh -BgNVBAMTGkQtVHJ1c3QgU0JSIFJvb3QgQ0EgMSAyMDIyMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAEWZM59oxJZijXYQzIq38Moy3foqR8kito1S5+HkDLtGhJfxKhq39X -nxkuYy5b/mZxDDMPud5rxIjDse/sOUDjlqvb5XuuH9z5r0aaakYGL8c3ZIsXYv6W -w6LuhOCwlzm8o4GPMIGMMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPEpox4B -Eh09dVZNx1B8xRmqDxi3MA4GA1UdDwEB/wQEAwIBBjBKBgNVHR8EQzBBMD+gPaA7 -hjlodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Nicl9yb290X2Nh -XzFfMjAyMi5jcmwwCgYIKoZIzj0EAwMDaQAwZgIxAJf53q5Lj5i1HkB/Mn1NVEPa -ic3CqpI80YIec8/6TJIg+2MnxfVzPQk996dhhozzagIxAOcvfLj1JYw7OR82q431 -hqIu4Xpk2mc5Av7+Mz/Zc7ZYWzr8sqTZYHh3zHmnpq5VvTAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -D-Trust SBR Root CA 2 2022 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFrDCCA5SgAwIBAgIQVNWjlR49lbpyG5rQMSFKujANBgkqhkiG9w0BAQ0FADBJ -MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSMwIQYDVQQDExpE -LVRydXN0IFNCUiBSb290IENBIDIgMjAyMjAeFw0yMjA3MDcwNzMwMDBaFw0zNzA3 -MDcwNzI5NTlaMEkxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgx -IzAhBgNVBAMTGkQtVHJ1c3QgU0JSIFJvb3QgQ0EgMiAyMDIyMIICIjANBgkqhkiG -9w0BAQEFAAOCAg8AMIICCgKCAgEAryy8jjaM62SvUWrWbjxekTrqmsPKbPuqJ55k -IqlA37koRVrsU2EWKJjCiqR1eFCE3fogSJIHZUE1ZlESdGGdBwaFOTFXeyg/1Zyl -7FrpHEsnn84nBvM39VLYETMWQTof9WN4ZWOGyb/IAQQfbu7i7KwM7oKS4vYaDT85 -+Z1lk634uQXBPfg3gVbDoP4F7OCUFjojFgTapgqThXJtYTuhjUXW43++Fb02hAj2 -C4NrJqqiveCw56rgrmfE04KlDKmk8DN5DVA/8O+QPSS5f9IgbOqX87+c3EfeCWG9 -lHmVWgJ2NWDERyIN93ZjA9PG+4PGXaut7WklKwNbTSUAQeOMhxdSqOAFK0NNFBPK -5z9DIrw3pHXx9r867zIeru5YhpByugSsQEjvXMR4p6mPJ1rLeuxY8sIIWJBtTQOF -eXEVBQ5OPvnfDwX3XxRIViENM5KxrIzlGP6/D+7gBKq9IfJYtlyJCosYCSIaszXG -ZsL1MxWZgOAI+ZYvE4zu2reIxOk3tddq1zqETatwjNNOFFWgohD8ZNpn6PHLM93J -moqPli9Ygdn4mgBDzJD7VXb7huM3ASgMb/TpWU0Vd1FCSsw0uIBDUIHvV6UT26eU -eQ9Lyn4Xfa+jIWTocVVWjwawR+xZD11wWywWQvCGnnXea01ImITiVxi2nIKZZTqL -gHhXDEkCAwEAAaOBjzCBjDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRds4CU -G+WGv2i6FDSk9u5t8t3f5zAOBgNVHQ8BAf8EBAMCAQYwSgYDVR0fBEMwQTA/oD2g -O4Y5aHR0cDovL2NybC5kLXRydXN0Lm5ldC9jcmwvZC10cnVzdF9zYnJfcm9vdF9j -YV8yXzIwMjIuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA0VC5YGFbNSr2X0/V9K9yv -D1HhTbwhS5P0AEQTBxALJRg+SFmW96Hhk5B4Zho9I+siqwGmjgxRM+ZtjDHurKQB -cDlI3sdmLGsNy3Ofh5LpPkcfuO8v7rdWjEiJ8DinFTmy7sA/F6RzAgicvAaKpMK3 -YWH5w9vE0Hp8Yd6xWJH13WVMLwv46z217Yq+dxy6WQISZnHlmCfODj2vUaJF+YL7 -WqWUcPeLhMNMZSWbe+IfMHCzQI467r3052jFnckpR3EOk8i1SE71ZrsHiHFpa3tI -jm/wEcS0yXAUmCC97afqAdpupZsS/j5EMLPw63VSwPTD+ncmpHeCLW/zKB5OlfAw -94n4LKJQW/K+Mn5sVNtyySpa4By2C9hSmlmh47ABJ8WgFlBm3OuubfSbWz2EbVuH -56mJu2644JtTicD/LkAaiUQuGENnOOR8cl/ZoyklQUE9HHcbZKjDVe5jcWZig/R/ -JpmgVDuhEm1wYs7T+bi9IvzUmtS74jgWL7d9OcKwqQPpnM9+GI123F8Ru+tC7FAJ -PlzskDHYGnK6P2kH7pg0wjSk1toT1qmE8gCGwFS6HhGw4rnEB7SR56rmMVZvsUTE -KmK8ybBlnDT8DBpT3yEXu8JtoQrm8bCqRAlQSTh6XXHiMS4ZsN+VQgR9hIjOCiNn -azidFt4G/ihwOKVarvyD7TAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DIGITALSIGN GLOBAL ROOT ECDSA CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICajCCAfCgAwIBAgIUNi2PcoiiKCfkAP8kxi3k6/qdtuEwCgYIKoZIzj0EAwMw -ZDELMAkGA1UEBhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmljYWRv -cmEgRGlnaXRhbDEpMCcGA1UEAwwgRElHSVRBTFNJR04gR0xPQkFMIFJPT1QgRUNE -U0EgQ0EwHhcNMjEwMTIxMTEwNzUwWhcNNDYwMTE1MTEwNzUwWjBkMQswCQYDVQQG -EwJQVDEqMCgGA1UECgwhRGlnaXRhbFNpZ24gQ2VydGlmaWNhZG9yYSBEaWdpdGFs -MSkwJwYDVQQDDCBESUdJVEFMU0lHTiBHTE9CQUwgUk9PVCBFQ0RTQSBDQTB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABG4Lo6szTRzqSuj8BI0UoH3wCCxfg6uT0dJ7utdJ -fY/sElBf1LnL5fD5M2MfyVfsQNgRC5foUhbMKY70BoYeONw9V8Tuqr3IVAQmWicT -UUc9Hx8ajqiVpDPQzEfMbbj8SKNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME -GDAWgBTOr0qLGnXi8TjnAvAWrV7qZNV7tDAdBgNVHQ4EFgQUzq9Kixp14vE45wLw -Fq1e6mTVe7QwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMAqIxHGc -RANNjbTHvKiu2TAnNWprFmPX/OdZ4aeJG0wxmiNVRObzQyHVRydvbVcBqgIxAPuy -6uKXf1G1n0jrvG81iahkcKtXds3AxhRgyn/iggBz98w16o4km+UIWccEjHN4/jAM -MAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DIGITALSIGN GLOBAL ROOT RSA CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFtTCCA52gAwIBAgIUXVnIyqsJV/XmtdoplARq/8XUlYcwDQYJKoZIhvcNAQEN -BQAwYjELMAkGA1UEBhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmlj -YWRvcmEgRGlnaXRhbDEnMCUGA1UEAwweRElHSVRBTFNJR04gR0xPQkFMIFJPT1Qg -UlNBIENBMB4XDTIxMDEyMTEwNTAzNFoXDTQ2MDExNTEwNTAzNFowYjELMAkGA1UE -BhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmljYWRvcmEgRGlnaXRh -bDEnMCUGA1UEAwweRElHSVRBTFNJR04gR0xPQkFMIFJPT1QgUlNBIENBMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyIe2ONMc8N4S+IPHxIriibi0Inp4 -+AxmUWh2NwrVT8JaCLgWXPdyAQk3hIEqVGvXktBs+qinQxI06w7bNw8p/ooxUULo -S5yQqMgsEdP9oCl+zt6U9oLgWLRORSXxIvI90w97VBrcMrbWUU5+QbRXuCzGuQ4u -ylfx1cjTWOel6UIRrtMgJZRp14/Kog3D058HaD8V0mcuU/12gpsLc6kpDZ4RkxQI -mOyeVBJKVqIGFexrbC6SYC6GDa6CH1FN47IH1xAZVyL2qWlEhPPZPaAGv8yIfn/1 -zlulwipqdELqb6b/+Wix0F+9kdJVbzNXTB6d5OKLwYVloOBqnAAAiJLdWAgW8nAx -qBzh3r1OcenWvn61oVrDTfe/m72UpP31qlOTRskmAQRwxKBxus4lZvuRflVw7kkK -TWJ/wlCacvIYZ53pRag0hOj4gfbRWiIeB087s3/dEaVz3L6pGTppqW0bMuKJqqUn -C1p+dOIPZDldfly5wRf8x41eyewk7dLyP3qERTcCvj5rWcTmWxZtwKqeqrVZLixw -VZzMmZaYJFTRjtrKtBG0t3BDH2+QCyCgqHYTZdvbI1p1S6ELMXcK7n1oYRoTjOpR -flxWo1dMXaHrE2W/VBTM8+7c1+w8l/J4Vrjfclxw/M4G3Z/SBzHv51KRns2618AY -RAcxZUkyaRNK648CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAW -gBS1Nrw8jBqrLPZZGS2DFNqTJRXWhjAdBgNVHQ4EFgQUtTa8PIwaqyz2WRktgxTa -kyUV1oYwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDQUAA4ICAQAU+zElODH4 -ygiyI3Y4rfjTWfXMtFcl4US+fvwW7K76Jp9PZxZKVvD97ccZATSOkFot1oBc7HHS -gSWCHgBx35rR1R0iu9Gl82IPtOvcJHP+plbNmhTFBDUWMaIH66UA4rb4X3L9P2FJ -jt5+TTjXeh50N2xR3L4ABLg4FPMgwe2bpyP9DUKEHX/yc8PQeGPxn+zXW+nxvmyg -SwOejWnhFNqIEIEjU//aVCsLxrmWlQQYRvN7qJfYW2ik5DgcDkXlmNMJrppe7LN5 -DTly8vSUnQ6eYCLmqPZMhc0HgjpoOc09X+M49LavO2tKn2BRRaJAAuWqDOM+0XjU -onScJroFmihwSj6mC9AdSfC6+K5BEH6kBxK9qM8pPVe7x/FDRwA+rnAYWiB7Ccs6 -OnCA5UxgmMEVwR1K98jwm+FyreddaFgLBLGMvJ+3+26LWwRV++sjVdd4UNoly74n -NrskGnkcUdH+E7v/eCzcpL4v9sVLU8+nTJlecKxZiASuZAS/e6Z6TdPod72hflAV -8+9JMIVNIVeq2yx1l62BAYeisXCdHgZaA2CxP6ZtgizUFLGBpeg9iB20cixYN4qO -OJS4c92p4Lj2d6KzfFjermk6tYulGrvy2HQGnP1icyAhdrF+cJ4Z1OsXYhk4mc02 -K0f+McvfueSsCNPYpuvUnn5LZKRVXSsXyTAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DigiCert Assured ID Root CA ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8jAWMBQG -CCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -DigiCert Assured ID Root G2 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5zAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -DigiCert Assured ID Root G3 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtDAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -DigiCert Global Root CA ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4wFjAUBggrBgEFBQcD -AQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -DigiCert Global Root G2 ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrYwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -DigiCert Global Root G3 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycXMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DigiCert High Assurance EV Root CA ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9KMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DigiCert SMIME ECC P384 Root G5 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICHDCCAaOgAwIBAgIQBT9uoAYBcn3tP8OjtqPW7zAKBggqhkjOPQQDAzBQMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xKDAmBgNVBAMTH0Rp -Z2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN -NDYwMTE0MjM1OTU5WjBQMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs -IEluYy4xKDAmBgNVBAMTH0RpZ2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQWnVXlttT7+2drGtShqtJ3lT6I5QeftnBm -ICikiOxwNa+zMv83E0qevAED3oTBuMbmZUeJ8hNVv82lHghgf61/6GGSKc8JR14L -HMAfpL/yW7yY75lMzHBrtrrQKB2/vgSjQjBAMB0GA1UdDgQWBBRzemuW20IHi1Jm -wmQyF/7gZ5AurTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggq -hkjOPQQDAwNnADBkAjA3RPUygONx6/Rtz3zMkZrDbnHY0iNdkk2CQm1cYZX2kfWn -CPZql+mclC2YcP0ztgkCMAc8L7lYgl4Po2Kok2fwIMNpvwMsO1CnO69BOMlSSJHW -Dvu8YDB8ZD8SHkV/UT70pjAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DigiCert SMIME RSA4096 Root G5 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFajCCA1KgAwIBAgIQBfa6BCODRst9XOa5W7ocVTANBgkqhkiG9w0BAQwFADBP -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJzAlBgNVBAMT -HkRpZ2lDZXJ0IFNNSU1FIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBa -Fw00NjAxMTQyMzU5NTlaME8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy -dCwgSW5jLjEnMCUGA1UEAxMeRGlnaUNlcnQgU01JTUUgUlNBNDA5NiBSb290IEc1 -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Gpb2fj5fey1e+9f3Vw0 -2Npd0ctldashfFsA1IJvRYVBiqkSAnIy8BT1A3W7Y5dJD0CZCxoeVqfS0OGr3eUE -G+MfFBICiPWggAn2J5pQ8LrjouCsahSRtWs4EHqiMeGRG7e58CtbyHcJdrdRxDYK -mVNURCW3CTWGFwVWkz1BtwLXYh+KkhGH6hFt6ggR3LF4SEmS9rRRgHgj2P7hVho6 -kBNWNInV4pWLX96yzPs/OLeF9+qevy6hLi9NfWoRLjag/xEIBJVV4Bs7Z5OplFXq -Mu0GOn/Cf+OtEyfRNEGzMMO/tIj4A4Kk3z6reHegWZNx593rAAR7zEg5KOAeoxVp -yDayoQuX31XW75GcpPYW91EK7gMjkdwE/+DdOPYiAwDCB3EaEsnXRiqUG83Wuxvu -v75NUFiwC80wdin1z+W2ai92sLBpatBtZRg1fpO8chfBVULNL8Ilu/T9HaFkIlRd -4p5yQYRucZbqRQe2XnpKhp1zZHc4A9IPU6VVIMRN/2hvVanq3XHkT9mFo3xOKQKe -CwnyGlPMAKbd0TT2DcEwsZwCZKw17aWwKbHSlTMP0iAzvewjS/IZ+dqYZOQsMR8u -4Y0cBJUoTYxYzUvlc4KGjOyo1nlc+2S73AxMKPYXr+Jo1haGmNv8AdwxuvicDvko -Rkrh/ZYGRXkRaBdlXIsmh1sCAwEAAaNCMEAwHQYDVR0OBBYEFNGj1FcdT1XbdUxc -Qp5jFs60xjsfMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG -SIb3DQEBDAUAA4ICAQAHpwreU7ua63C/sjaQzeSnuPEM5F1aHXhl/Mm4HiMRV3xp -NW0B/1NQvwcOuscBP1gqlHUDqxwLI9wbih43PR1Yj3PZsypv3xCgWwynyrB/uSSi -ATUy5V5GQevYf3PnQumkUSZ3gQqo6w8KUJ1+iiBn/AuOOhHTxYxgGNlLsfzU8bRJ -Tq6H4dH7dqFf8wbPl5YM6Z51gVxTDSL8NuZJbnTbAIWNfCKgjvsQTNRiE1vvS3Im -i/xOio/+lxBTxXiLQmQbX+CJ/bsJf1DgVIUmEWodZflJKdx8Nt/7PffSrO4yjW6m -fTmcRcTKDfU7tHlTpS9Wx1HFikxkXZBDI45rTBd4zOi/9TvkqEjPrZsM3zJK09kS -jiN4DS2vn6+ePAnClwDtOmkccT8539OPxGb17zaUD/PdkraWX5Cm3XOqpiCUlCVq -CQxy5BMjYEyjyhcue2cA29DN6nofOSZXiTB3y07llUVPX/s2XD35ILU6ECVPkzJa -7sGW6OlWBLBJYU3seKidGMH/2OovVu+VK3sEXmfjVUDtOQT5C3n1aoxcD4makMfN -i97bJjWhbs2zQvKiDzsMjpP/FM/895P35EEIbhlSEQ9TGXN4DM/YhYH4rVXIsJ5G -Y6+cUu5cv/DAWzceCSDSPiPGoRVKDjZ+MMV5arwiiNkMUkAf3U4PZyYW0q0XHDAM -MAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -DigiCert TLS ECC P384 Root G5 ------BEGIN CERTIFICATE----- -MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp -Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 -MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ -bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS -7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp -0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS -B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 -BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ -LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 -DXZDjC5Ty3zfDBeWUA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp -Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 -MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ -bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS -7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp -0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS -B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 -BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ -LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 -DXZDjC5Ty3zfDBeWUDAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -DigiCert TLS RSA4096 Root G5 ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT -HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN -NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs -IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ -ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 -2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp -wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM -pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD -nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po -sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx -Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd -Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX -KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe -XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL -tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv -TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN -AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw -GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H -PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF -O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ -REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik -AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv -/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ -p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw -MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF -qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK -ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT -HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN -NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs -IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ -ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 -2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp -wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM -pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD -nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po -sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx -Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd -Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX -KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe -XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL -tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv -TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN -AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw -GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H -PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF -O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ -REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik -AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv -/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ -p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw -MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF -qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK -ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+MAwwCgYI -KwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -DigiCert Trusted Root G4 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+MBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Entrust.net Premium 2048 Secure Server CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVEwDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Entrust Root Certification Authority ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Entrust Root Certification Authority - EC1 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4GMBYw -FAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Entrust Root Certification Authority - G2 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9jAWMBQGCCsGAQUFBwMB -BggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Entrust Root Certification Authority - G4 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw -gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL -Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg -MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw -BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0 -MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1 -c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ -bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg -Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ -2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E -T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j -5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM -C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T -DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX -wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A -2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm -nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 -dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl -N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj -c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS -5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS -Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr -hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/ -B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI -AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw -H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+ -b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk -2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol -IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk -5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY -n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHzAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Explicitly Distrust DigiNotar Root CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Rejected for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.3 (RFC5280: codeSigning key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFijCCA3KgAwIBAgIQD////////////////////zANBgkqhkiG9w0BAQUFADBf -MQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdp -Tm90YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmww -HhcNMDcwNzI3MTcxOTM3WhcNMjUwMzMxMTgxOTIyWjBfMQswCQYDVQQGEwJOTDES -MBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEg -MB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B -8cp86Yxq7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXY -tsMW2YiwsYcdcNqGtA8Ui3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIl -HgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8ZkqQfioLBQftFl9VkHXYRskbg+IIvvEj -zJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEqbYRAhU52mXyC8/O3AlnU -JgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4iHomGgVM -ktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXv -a5pkXuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57p -K6kwe6AYHw4YC+VbqdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMi -puih2TkGl/VujQKQjBR7P4DNG5y6xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovT -yD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHcBmfFlHqabWJMfczgZICynkeO -owIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC -jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXy -fJ9oHbtdzno5wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBo -Y6pFITlIYXg23PFDk9Qlx/KAZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHo -M/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedTFLJgQT2EkTFoPSdE2+Xe9PpjRchM -Ppj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKfyvBovWsdst+Nbwed -2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoAZbwH -/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQl -nQ7KN+ZQ/YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jE -O1hZibCMjFCz2IbLaKPECudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU -9jQZjHkJNsphFyUXC4KYcwx3dMPVDceoEkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9 -j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+EwbfrMCIwAKAeBggrBgEFBQcDAQYI -KwYBBQUHAwMGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -FIRMAPROFESIONAL CA ROOT-A WEB ------BEGIN CERTIFICATE----- -MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw -CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE -YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB -IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw -CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE -YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB -IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf -e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C -cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O -BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO -PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw -hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG -XSaQpYXFuXqUPoeovQA= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw -CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE -YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB -IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw -CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE -YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB -IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf -e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C -cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O -BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO -PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw -hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG -XSaQpYXFuXqUPoeovQAwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -GDCA TrustAUTH R5 ROOT ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0jAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -GLOBALTRUST 2020 ------BEGIN CERTIFICATE----- -MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkG -A1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkw -FwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYx -MDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9u -aXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMIICIjANBgkq -hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWiD59b -RatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9Z -YybNpyrOVPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3 -QWPKzv9pj2gOlTblzLmMCcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPw -yJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCmfecqQjuCgGOlYx8ZzHyyZqjC0203b+J+ -BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKAA1GqtH6qRNdDYfOiaxaJ -SaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9ORJitHHmkH -r96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj0 -4KlGDfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9Me -dKZssCz3AwyIDMvUclOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIw -q7ejMZdnrY8XD2zHc+0klGvIg5rQmjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2 -nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1UdIwQYMBaAFNwu -H9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA -VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJC -XtzoRlgHNQIw4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd -6IwPS3BD0IL/qMy/pJTAvoe9iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf -+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS8cE54+X1+NZK3TTN+2/BT+MAi1bi -kvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2HcqtbepBEX4tdJP7 -wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxSvTOB -TI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6C -MUO+1918oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn -4rnvyOL2NSl6dPrFf4IFYqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+I -aFvowdlxfv1k7/9nR4hYJS8+hge9+6jlgqispdNpQ80xiEmEU5LAsTkbOYMBMMTy -qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkG -A1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkw -FwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYx -MDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9u -aXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMIICIjANBgkq -hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWiD59b -RatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9Z -YybNpyrOVPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3 -QWPKzv9pj2gOlTblzLmMCcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPw -yJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCmfecqQjuCgGOlYx8ZzHyyZqjC0203b+J+ -BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKAA1GqtH6qRNdDYfOiaxaJ -SaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9ORJitHHmkH -r96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj0 -4KlGDfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9Me -dKZssCz3AwyIDMvUclOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIw -q7ejMZdnrY8XD2zHc+0klGvIg5rQmjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2 -nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1UdIwQYMBaAFNwu -H9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA -VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJC -XtzoRlgHNQIw4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd -6IwPS3BD0IL/qMy/pJTAvoe9iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf -+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS8cE54+X1+NZK3TTN+2/BT+MAi1bi -kvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2HcqtbepBEX4tdJP7 -wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxSvTOB -TI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6C -MUO+1918oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn -4rnvyOL2NSl6dPrFf4IFYqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+I -aFvowdlxfv1k7/9nR4hYJS8+hge9+6jlgqispdNpQ80xiEmEU5LAsTkbOYMBMMTy -qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkjAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -GTS Root R1 ------BEGIN CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo -27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w -Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw -TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl -qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH -szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 -Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk -MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 -wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p -aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN -VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb -C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe -QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy -h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 -7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J -ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef -MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ -Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT -6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ -0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm -2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb -bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo -27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w -Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw -TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl -qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH -szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 -Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk -MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 -wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p -aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN -VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb -C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe -QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy -h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 -7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J -ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef -MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ -Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT -6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ -0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm -2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb -bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3cMBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -GTS Root R2 ------BEGIN CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt -nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY -6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu -MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k -RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg -f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV -+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo -dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW -Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa -G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq -gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H -vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 -0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC -B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u -NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg -yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev -HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6 -xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR -TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg -JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV -7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl -6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt -nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY -6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu -MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k -RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg -f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV -+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo -dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW -Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa -G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq -gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H -vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 -0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC -B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u -NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg -yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev -HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6 -xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR -TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg -JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV -7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl -6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbLMBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -GTS Root R3 ------BEGIN CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G -jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2 -4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7 -VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm -ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G -jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2 -4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7 -VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm -ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4XMBYw -FAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GTS Root R4 ------BEGIN CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi -QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR -HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D -9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8 -p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi -QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR -HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D -9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8 -p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlDMBYw -FAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GlobalSign ECC Root CA - R4 ------BEGIN CERTIFICATE----- -MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD -VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw -MTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g -UjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT -BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx -uYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV -HQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/ -+wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147 -bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD -VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw -MTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g -UjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT -BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx -uYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV -HQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/ -+wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147 -bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm -MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GlobalSign ECC Root CA - R5 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GlobalSign Root CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4DAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GlobalSign Root CA - R3 ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9fMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -GlobalSign Root CA - R6 ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg -MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx -MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET -MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI -xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k -ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD -aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw -LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw -1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX -k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 -SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h -bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n -WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY -rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce -MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu -bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt -Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 -55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj -vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf -cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz -oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp -nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs -pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v -JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R -8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 -5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg -MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx -MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET -MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI -xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k -ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD -aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw -LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw -1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX -k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 -SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h -bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n -WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY -rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce -MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu -bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt -Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 -55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj -vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf -cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz -oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp -nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs -pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v -JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R -8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 -5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBAwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -GlobalSign Root E46 ------BEGIN CERTIFICATE----- -MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx -CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD -ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw -MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex -HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq -R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd -yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ -7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8 -+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx -CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD -ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw -MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex -HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq -R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd -yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ -7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8 -+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3Aw -DDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -GlobalSign Root R46 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA -MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD -VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy -MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt -c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ -OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG -vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud -316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo -0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE -y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF -zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE -+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN -I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs -x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa -ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC -4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4 -7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg -JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti -2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk -pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF -FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt -rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk -ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5 -u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP -4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6 -N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3 -vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA -MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD -VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy -MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt -c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ -OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG -vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud -316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo -0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE -y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF -zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE -+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN -I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs -x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa -ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC -4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4 -7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg -JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti -2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk -pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF -FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt -rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk -ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5 -u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP -4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6 -N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3 -vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -GlobalSign Secure Mail Root E45 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICITCCAaegAwIBAgIQdlP+qicdlUZd1vGe5biQCjAKBggqhkjOPQQDAzBSMQsw -CQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf -R2xvYmFsU2lnbiBTZWN1cmUgTWFpbCBSb290IEU0NTAeFw0yMDAzMTgwMDAwMDBa -Fw00NTAzMTgwMDAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxT -aWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFNlY3VyZSBNYWlsIFJvb3Qg -RTQ1MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+XmLgUc3iZY/RUlQfxomC5Myfi7A -wKcImsNuj5s+CyLsN1O3b4qwvCc3S22pRjvZH/+loUS7LXO/nkEHXFObUQg6Wrtv -OMcWkXjCShNpHYLfWi8AiJaiLhx0+Z1+ZjeKo0IwQDAOBgNVHQ8BAf8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU3xNei1/CQAL9VreUTLYe1aaxFJYw -CgYIKoZIzj0EAwMDaAAwZQIwE7C+13EgPuSrnM42En1fTB8qtWlFM1/TLVqy5IjH -3go2QjJ5naZruuH5RCp7isMSAjEAoGYcToedh8ntmUwbCu4tYMM3xx3NtXKw2cbv -vPL/P/BS3QjnqmR5w+RpV5EvpMt8MAwwCgYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -GlobalSign Secure Mail Root R45 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFcDCCA1igAwIBAgIQdlP+qExQq5+NMrUdA49X3DANBgkqhkiG9w0BAQwFADBS -MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UE -AxMfR2xvYmFsU2lnbiBTZWN1cmUgTWFpbCBSb290IFI0NTAeFw0yMDAzMTgwMDAw -MDBaFw00NTAzMTgwMDAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFNlY3VyZSBNYWlsIFJv -b3QgUjQ1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3HnMbQb5bbvg -VgRsf+B1zC0FSehL3FTsW3eVcr9/Yp2FqYokUF9T5dt0b6QpWxMqCa2axS/C93Y7 -oUVGqkPmJP4rsG8ycBlGWnkmL/w9fV9ky1fMYWGo2ZVu45Wgbn9HEhjW7wPJ+4r6 -mr2CFalVd0sRT1nga8Nx8wzYVNWBaD4TuRUuh4o8RCc2YiRu+CwFcjBhvUKRI8Sd -JafZVJoUozGtgHkMp2NsmKOsV0czH2WW4dDSNdr5cfehpiW1QV3fPmDY0fafpfK4 -zBOqj/mybuGDLZPdPoUa3eixXCYBy0mF/PzS1H+FYoZ0+cvsNSKiDDCPO6t561by -+kLz7fkfRYlAKa3qknTqUv1WtCvaou11wm6rzlKQS/be8EmPmkjUiBltRebMjLnd -ZGBgAkD4uc+8WOs9hbnGCtOcB2aPxxg5I0bhPB6jL1Bhkgs9K2zxo0c4V5GrDY/G -nU0E0iZSXOWl/SotFioBaeepfeE2t7Eqxdmxjb25i87Mi6E+C0jNUJU0xNgIWdhr -JvS+9dQiFwBXya6bBDAznwv731aiyW5Udtqxl2InWQ8RiiIbZJY/qPG3JEqNPFN8 -bYN2PbImSHP1RBYBLQkqjhaWUNBzBl27IkiCTApGWj+A/1zy8pqsLAjg1urwEjiB -T6YQ7UarzBacC89kppkChURnRq39TecCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgGG -MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKCTFShu7o8IsjXGnmJ5dKexDit7 -MA0GCSqGSIb3DQEBDAUAA4ICAQBFCvjRXKxigdAE17b/V1GJCwzL3iRlN/urnu1m -9OoMGWmJuBmxMFa02fb3vsaul8tF9hGMOjBkTMGfWcBGQggGR2QXeOCVBwbWjKKs -qdk/03tWT/zEhyjftisWI8CfH1vj1kReIk8jBIw1FrV5B4ZcL5fi9ghkptzbqIrj -pHt3DdEpkyggtFOjS05f3sH2dSP8Hzx4T3AxeC+iNVRxBKzIxG3D9pGx/s3uRG6B -9kDFPioBv6tMsQM/DRHkD9Ik4yKIm59fRz1RSeAJN34XITF2t2dxSChLJdcQ6J9h -WRbFPjJOHwzOo8wP5McRByIvOAjdW5frQmxZmpruetCd38XbCUMuCqoZPWvoajB6 -V+a/s2o5qY/j8U9laLa9nyiPoRZaCVA6Mi4dL0QRQqYA5jGY/y2hD+akYFbPedey -Ttew+m4MVyPHzh+lsUxtGUmeDn9wj3E/WCifdd1h4Dq3Obbul9Q1UfuLSWDIPGau -l+6NJllXu3jwelAwCbBgqp9O3Mk+HjrcYpMzsDpUdG8sMUXRaxEyamh29j32ahNe -JJjn6h2az3iCB2D3TRDTgZpFjZ6vm9yAx0OylWikww7oCkcVv1Qz3AHn1aYec9h6 -sr8vreNVMJ7fDkG84BH1oQyoIuHjAKNOcHyS4wTRekKKdZBZ45vRTKJkvXN5m2/y -s8H2PDAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Go Daddy Class 2 CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. ------BEGIN TRUSTED CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8wAjAA ------END TRUSTED CERTIFICATE----- - -Go Daddy Root Certificate Authority - G2 ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -HARICA Client ECC Root CA 2021 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICWjCCAeGgAwIBAgIQMWjZ2OFiVx7SGUSI5hB98DAKBggqhkjOPQQDAzBvMQsw -CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh -cmNoIEluc3RpdHV0aW9ucyBDQTEnMCUGA1UEAwweSEFSSUNBIENsaWVudCBFQ0Mg -Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDMzNFoXDTQ1MDIxMzExMDMzM1owbzEL -MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl -YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJzAlBgNVBAMMHkhBUklDQSBDbGllbnQgRUND -IFJvb3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAcYrZWWlNBcD4L3 -KkD6AsnJPTamowRqwW2VAYhgElRsXKIrbhM6iJUMHCaGNkqJGbcY3jvoqFAfyt9b -v0mAFdvjMOEdWscqigEH/m0sNO8oKJe8wflXhpWLNc+eWtFolaNCMEAwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUUgjSvjKBJf31GpfsTl8au1PNkK0wDgYDVR0P -AQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMEwxRUZPqOa+w3eyGhhLLYh7WOar -lGtEA7AX/9+Cc0RRLP2THQZ7FNKJ7EAM7yEBLgIwL8kuWmwsHdmV4J6wuVxSfPb4 -OMou8dQd8qJJopX4wVheT/5zCu8xsKsjWBOMi947MAwwCgYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -HARICA Client RSA Root CA 2021 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFqjCCA5KgAwIBAgIQVVL4HtsbJCyeu5YYzQIoPjANBgkqhkiG9w0BAQsFADBv -MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEnMCUGA1UEAwweSEFSSUNBIENsaWVudCBS -U0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTg0NloXDTQ1MDIxMzEwNTg0NVow -bzELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBS -ZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJzAlBgNVBAMMHkhBUklDQSBDbGllbnQg -UlNBIFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AIHbV0KQLHQ19Pi4dBlNqwlad0WBc2KwNZ/40LczAIcTtparDlQSMAe8m7dI19EZ -g66O2KnxqQCEsIxenugMj1Rpv/bUCE8mcP4YQWMaszKLQPgHq1cx8MYWdmeatN0v -8tFrxdCShJFxbg8uY+kfU6TdUhPMCYMpgQzFU3VEsQ5nUxjQwx+IS5+UJLQpvLvo -Tv1v0hUdSdyNcPIRGiBRVRG6iG/E91B51qox4oQ9XjLIdypQceULL+m26u+rCjM5 -Dv2PpWdDgo6YaQkJG0DNOGdH6snsl3ES3iT1cjzR90NMJveQsonpRUtVPTEFekHi -lbpDwBfFtoU9GY1kcPNbrM2f0yl1h0uVZ2qm+NHdvJCGiUMpqTdb9V2wJlpTQnaQ -K8+eVmwrVM9cmmXfW4tIYDh8+8ULz3YEYwIzKn31g2fn+sZD/SsP1CYvd6QywSTq -ZJ2/szhxMUTyR7iiZkGh+5t7vMdGanW/WqKM6GpEwbiWtcAyCC17dDVzssrG/q8R -chj258jCz6Uq6nvWWeh8oLJqQAlpDqWW29EAufGIbjbwiLKd8VLyw3y/MIk8Cmn5 -IqRl4ZvgdMaxhZeWLK6Uj1CmORIfvkfygXjTdTaefVogl+JSrpmfxnybZvP+2M/u -vZcGHS2F3D42U5Z7ILroyOGtlmI+EXyzAISep0xxq0o3AgMBAAGjQjBAMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFKDWBz1eJPd7oEQuJFINGaorBJGnMA4GA1Ud -DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEADUf5CWYxUux57sKo8mg+7ZZF -yzqmmGM/6itNTgPQHILhy9Pl1qtbZyi8nf4MmQqAVafOGyNhDbBX8P7gyr7mkNuD -LL6DjvR5tv7QDUKnWB9p6oH1BaX+RmjrbHjJ4Orn5t4xxdLVLIJjKJ1dqBp+iObn -K/Es1dAFntwtvTdm1ASip62/OsKoO63/jZ0z4LmahKGHH3b0gnTXDvkwSD5biD6q -XGvWLwzojnPCGJGDObZmWtAfYCddTeP2Og1mUJx4e6vzExCuDy+r6GSzGCCdRjVk -JXPqmxBcWDWJsUZIp/Ss1B2eW8yppRoTTyRQqtkbbbFA+53dWHTEwm8UcuzbNZ+4 -VHVFw6bIGig1Oq5l8qmYzq9byTiMMTt/zNyW/eJb1tBZ9Ha6C8tPgxDHQNAdYOkq -5UhYdwxFab4ZcQQk4uMkH0rIwT6Z9ZaYOEgloRWwG9fihBhb9nE1mmh7QMwYXAwk -ndSV9ZmqRuqurL/0FBkk6Izs4/W8BmiKKgwFXwqXdafcfsD913oY3zDROEsfsJhw -v8x8c/BuxDGlpJcdrL/ObCFKvicjZ/MGVoEKkY624QMFMyzaNAhNTlAjrR+lxdR6 -/uoJ7KcoYItGfLXqm91P+edrFcaIz0Pb5SfcBFZub0YV8VYt6FwMc8MjgTggy8kM -ac8sqzuEYDMZUv1pFDMwDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -HARICA TLS ECC Root CA 2021 ------BEGIN CERTIFICATE----- -MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw -CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh -cmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v -dCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG -A1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj -aCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg -Q0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7 -KKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y -STHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD -AgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw -SaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN -nxS2PFOiTAZpffpskcYqSUXm7LcT4Tps ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw -CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh -cmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v -dCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG -A1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj -aCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg -Q0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7 -KKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y -STHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD -AgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw -SaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN -nxS2PFOiTAZpffpskcYqSUXm7LcT4TpsMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -HARICA TLS RSA Root CA 2021 ------BEGIN CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs -MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg -Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL -MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl -YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv -b3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l -mwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE -4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv -a9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M -pbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw -Kh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b -LW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY -AuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB -AGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq -E613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr -W2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ -CoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU -X15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3 -f5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja -H6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP -JzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P -zzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt -jBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0 -/L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT -BGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79 -aPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW -xw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU -63ZTGI0RmLo= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs -MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg -Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL -MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl -YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv -b3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l -mwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE -4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv -a9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M -pbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw -Kh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b -LW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY -AuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB -AGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq -E613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr -W2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ -CoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU -X15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3 -f5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja -H6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP -JzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P -zzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt -jBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0 -/L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT -BGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79 -aPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW -xw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU -63ZTGI0RmLowDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Hellenic Academic and Research Institutions ECC RootCA 2015 ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKRMBYwFAYIKwYB -BQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Hellenic Academic and Research Institutions RootCA 2015 ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -HiPKI Root CA - G1 ------BEGIN CERTIFICATE----- -MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa -Fw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3 -YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw -qNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv -Vcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6 -lZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz -Qs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ -KILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK -FgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj -HluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr -y+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ -/W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM -a/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6 -fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG -SIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi -7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc -SE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza -ZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc -XzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg -iLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho -L5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF -Ne85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr -kkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+ -vhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU -YDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa -Fw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3 -YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw -qNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv -Vcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6 -lZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz -Qs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ -KILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK -FgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj -HluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr -y+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ -/W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM -a/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6 -fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG -SIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi -7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc -SE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza -ZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc -XzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg -iLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho -L5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF -Ne85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr -kkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+ -vhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU -YDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOTAM -MAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -Hongkong Post Root CA 3 ------BEGIN CERTIFICATE----- -MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL -BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ -SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n -a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5 -NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT -CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u -Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO -dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI -VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV -9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY -2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY -vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt -bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb -x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+ -l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK -TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj -Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e -i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw -DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG -7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk -MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr -gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk -GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS -3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm -Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+ -l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c -JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP -L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa -LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG -mpv0 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL -BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ -SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n -a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5 -NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT -CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u -Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO -dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI -VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV -9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY -2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY -vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt -bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb -x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+ -l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK -TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj -Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e -i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw -DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG -7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk -MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr -gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk -GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS -3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm -Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+ -l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c -JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP -L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa -LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG -mpv0MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -ISRG Root X1 ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCcw -DDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -ISRG Root X2 ------BEGIN CERTIFICATE----- -MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw -CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg -R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 -MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT -ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw -EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW -+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 -ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI -zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW -tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 -/q4AaOeMSQ+2b1tbFfLn ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw -CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg -R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 -MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT -ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw -EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW -+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 -ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI -zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW -tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 -/q4AaOeMSQ+2b1tbFfLnMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -IdenTrust Commercial Root CA 1 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6HMBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -IdenTrust Public Sector Root CA 1 ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+cMBYwFAYI -KwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Izenpe.com ------BEGIN CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 -MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 -ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD -VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j -b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq -scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO -xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H -LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX -uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD -yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ -JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q -rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN -BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L -hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB -QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ -HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu -Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg -QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB -BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA -A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb -laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 -awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo -JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw -LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT -VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk -LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb -UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ -QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ -naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls -QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 -MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 -ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD -VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j -b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq -scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO -xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H -LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX -uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD -yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ -JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q -rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN -BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L -hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB -QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ -HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu -Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg -QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB -BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA -A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb -laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 -awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo -JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw -LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT -VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk -LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb -UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ -QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ -naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls -QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxzAMMAoGCCsGAQUF -BwMB ------END TRUSTED CERTIFICATE----- - -LAWtrust Root CA2 (4096) -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFmDCCA4CgAwIBAgIEVRpusTANBgkqhkiG9w0BAQsFADBDMQswCQYDVQQGEwJa -QTERMA8GA1UEChMITEFXdHJ1c3QxITAfBgNVBAMTGExBV3RydXN0IFJvb3QgQ0Ey -ICg0MDk2KTAgFw0yMzAyMTQwOTE5MzhaGA8yMDUzMDIxNDA5NDkzOFowQzELMAkG -A1UEBhMCWkExETAPBgNVBAoTCExBV3RydXN0MSEwHwYDVQQDExhMQVd0cnVzdCBS -b290IENBMiAoNDA5NikwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -F8srQ7ps+cmTimUNEkzsJxS3E3ng1NUtGFbx+eoqEBZObETHamVG85qJNdGH+DOJ -L4gJGpIQkZDBa58Obn8mihNdGKxoAQ0QeGVw2I6PhFqXMBjQEQ5KjVIQpYErUSj1 -Y8S27ECzAeWtd73lOO+8jbPdGaB7DY2022r7JTNa+pGvxHFFMPiIKXvLv9W6JwSO -3bIA98pcmTUU6v11BhUIu8pXaPs/+7Q0c2PR1ePIOFppfWp6RAwNik7tkh0Qjzsi -LLbf7cXG8Il5VGVeXxu9j33fubft6+TFB9FnPJU7kf5CelJAgATSOVdL9JJ9/5vv -5Z3JCbKREjimKQg7ruvKzO1N504hAQf8bzLOaYyEUsZ36icwCt6lrzAraB+s1Owh -rSJJds4PwvIHKvlqEoOaOwSuGXr+oYYk+kFeJXxArCe24yk2bzXiV9AZWN//ZPbD -AUl22yu+vLlPFArVG1gh9hwuAHz4lLXLNxoU5DK5FtRg7AWqXzL6aiMSrNQQu9Ki -grRLDotwJ6rWB8FniPqEwwjJioTI0jdygQ+NFkrk1zVRpTgPjIRLlTbA9ded4F2P -q5HuAAi5nVIf7PiZu3lWsUna0uXYYYtbr/CrN8V7Go6Gvn7FexUeYWjoC4eLc0mh -F3N+KXiOyuBBL3VzdKKXOn/3LnQJuExgi0Y2GRAtnQIDAQABo4GRMIGOMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMCsGA1UdEAQkMCKADzIwMjMwMjE0 -MDkxOTM4WoEPMjA1MzAyMTQwOTQ5MzhaMB8GA1UdIwQYMBaAFNfWVmJcPxeB5nNE -KfVRBe8LYDesMB0GA1UdDgQWBBTX1lZiXD8XgeZzRCn1UQXvC2A3rDANBgkqhkiG -9w0BAQsFAAOCAgEASZwp/j3snkV/qz48/iNvNz53p1P/eJ/8SUSAV2acbtp5/81F -rUyTv7VZxukQt+X4jPuHxR6L2LM/ApYKu4qO79e0wIMgOJdZRWT89ncT8gnXocg4 -dAjq+UhM+h8EnLT/7G5WNnKTbJU+LF/eDwurycwVPhaPZvyyELih0bTewGMZzO9T -qnU2IoslH7+byNfBX+ymNwmqe2K89iIt8dZY3Yy7UvQLp3apensajdytmoFiLoYF -kHJHL6HJZ4SwDWywuJsWt9CZFC+cEpsjqI2mQx7p5S3leKcfZJRktneyqFz7Casp -6x5tddH20MWlwx2fHvMaLbLIH+UoCm7zX/3a5iOhdpBcS5gBgizuRy0CGl9/NMVp -tXKtPvPPnm34KegRJyvgWQsbYetKymmlpNXNURuUjnnN3/audF2xLBuGU/7RMAZB -NAdigkz0fseHdA6wIR4JIIDBsxU9Rm3T8QaSP++glYocbncxtut4KQx77oKlT36k -KV6eqi34jsDz/A0GhZtO3PfiCXzQFFEeerMjr/rRYSpltQHZuOMHyiR20vBKvu+G -BIBCFXARaH7Xx7v+506bnJWlHEqkydAJjKrOSNIekpfXEentZsw33PXXG3SbpupC -rF0y4Fj0gUf/0hLifhzcSXaWwx2fS8pcKjdbPYrROJsh2uO/RUPT4Fh3HygwDDAK -BggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Microsec e-Szigno Root CA 2009 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCWMBYwFAYIKwYBBQUHAwEGCCsG -AQUFBwME ------END TRUSTED CERTIFICATE----- - -Microsoft ECC Root Certificate Authority 2017 ------BEGIN CERTIFICATE----- -MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD -VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw -MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV -UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy -b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR -ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb -hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3 -FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV -L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB -iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD -VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw -MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV -UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy -b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR -ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb -hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3 -FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV -L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB -iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3MwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Microsoft RSA Root Certificate Authority 2017 ------BEGIN CERTIFICATE----- -MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl -MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw -NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG -EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N -aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ -Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0 -ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1 -HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm -gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ -jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc -aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG -YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6 -W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K -UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH -+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q -W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC -LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC -gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6 -tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh -SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2 -TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3 -pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR -xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp -GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9 -dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN -AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB -RA+GsCyRxj3qrg+E ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl -MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw -NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG -EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N -aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ -Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0 -ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1 -HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm -gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ -jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc -aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG -YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6 -W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K -UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH -+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q -W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC -LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC -gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6 -tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh -SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2 -TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3 -pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR -xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp -GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9 -dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN -AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB -RA+GsCyRxj3qrg+EMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -NAVER Global Root Certification Authority ------BEGIN CERTIFICATE----- -MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM -BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG -T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx -CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD -b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA -iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH -38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE -HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz -kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP -szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq -vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf -nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG -YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo -0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a -CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K -AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I -36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB -Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN -qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj -cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm -+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL -hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe -lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7 -p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8 -piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR -LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX -5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO -dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul -9XXeifdy ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM -BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG -T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx -CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD -b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA -iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH -38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE -HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz -kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP -szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq -vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf -nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG -YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo -0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a -CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K -AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I -36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB -Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN -qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj -cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm -+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL -hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe -lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7 -p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8 -piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR -LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX -5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO -dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul -9XXeifdyMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -NetLock Arany (Class Gold) Főtanúsítvány ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7EwFjAUBggr -BgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -OISTE WISeKey Global Root GA CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ -/L7fCg0wDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -OISTE WISeKey Global Root GB CA ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBMwFjAUBggr -BgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -OISTE WISeKey Global Root GC CA ------BEGIN CERTIFICATE----- -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw -CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 -bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg -Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ -BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu -ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS -b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni -eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W -p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T -rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV -57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg -Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw -CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 -bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg -Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ -BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu -ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS -b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni -eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W -p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T -rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV -57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg -Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9MAww -CgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -QuoVadis Root CA 1 G3 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXDMBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -QuoVadis Root CA 2 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0uMBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -QuoVadis Root CA 2 G3 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+MMAwwCgYIKwYBBQUH -AwE= ------END TRUSTED CERTIFICATE----- - -QuoVadis Root CA 3 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEtowFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -QuoVadis Root CA 3 G3 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0MBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -SSL.com Client ECC Root CA 2022 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICQDCCAcagAwIBAgIQdvhIHq7wPHAf4D8lVAGD1TAKBggqhkjOPQQDAzBRMQsw -CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9T -U0wuY29tIENsaWVudCBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzAzMloX -DTQ2MDgxOTE2MzAzMVowUTELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw -b3JhdGlvbjEoMCYGA1UEAwwfU1NMLmNvbSBDbGllbnQgRUNDIFJvb3QgQ0EgMjAy -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABC1Tfp+LPrM2ulDizOvcuiaK04wGP2cP -7/UX5dSumkYqQQEHaedncfHCAzbG8CtSjs8UkmikPnBREmmNeKKCyikUwOSUIrJE -kmBvyASkZ9Wi0PPQ1+qOPA+60kBHkDTufaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAf -BgNVHSMEGDAWgBS3/i1ixYFTzVIaL11goMNd+7IcHDAdBgNVHQ4EFgQUt/4tYsWB -U81SGi9dYKDDXfuyHBwwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUC -ME0HES0R+7kmwyHdcuEX/MHPFOpJznGHjtZT3BHNXVSKr9kt9IxR6rxmR+J/lYNg -ZQIxAIwhTE+75bBQ35BiSebMkdv4P11xkQiOT5LJf6Zc6hN+7W3E6MMqb1wR4aXz -alqaTTAMMAoGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -SSL.com Client RSA Root CA 2022 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFjzCCA3egAwIBAgIQdq/uiJMVRbZQU5uAnKTfmjANBgkqhkiG9w0BAQsFADBR -MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQD -DB9TU0wuY29tIENsaWVudCBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzEw -N1oXDTQ2MDgxOTE2MzEwNlowUTELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBD -b3Jwb3JhdGlvbjEoMCYGA1UEAwwfU1NMLmNvbSBDbGllbnQgUlNBIFJvb3QgQ0Eg -MjAyMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALhY20Yw+8k/48jw -ATM04tpIqBjpIG6a1wHh1SmPMLQjauTLYrC+4p8gvT5UoDlox4Y3ZnQGBu90K9rc -n4SpUi+Q0u5+fPulIq1vcEZnlj0p1KO7VnsUBFnBIWNEHrIfElyQh2UNiPYeiCLi -Y1S78zb41n/c2v8pNanGbg5pWz/YvoKHFXBdsMdcEg9jpjjNz3O5ww6JJjcbP2Ic -MmnRm9n/VZAx3rFj3c/FdHf874ghU78AMRomLAAwpV9s4+T2AIrKmIecdAN6i2bs -fv2jjzUlXHils6T7PW2pivBsiIKL/UrQb+TXo7SONEk4vs5F5dIcyl7CNxSLzWZW -Mzed5WvsQ5JkoELadW/AFez5ab00uYp7+hb7Vf5SIOgEBFZWZfU3RJjIikbpt6y4 -6L5ijlQ2W/c7cL9d7i26X95CGYbwf4vrCMvYvuoOQkKgNnNXF+0y6tCN6Acbm5no -xJpiBA5I9zwSuvdYwZqM6cewIzZWNB3LbNq6B4Qd/dGsn+bCie/DuWwYs2mHV1+1 -DDhbpyEkKjunNJGetFTqKE/TwaOL5OYr1fKdv5thACLd1ktEHz9dVv7enHjMmVuq -5L2620NLrUwmTKNNNIpsdDYT22L8m7IFgf+uPwzN9hui9DnnyvVMXPtUdzWAWsAS -oRMBM2c9nYGhqfWFJFiIeOf042hVAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8w -HwYDVR0jBBgwFoAU8DhClDSpPAB/Uu45pfdLDbxqfSMwHQYDVR0OBBYEFPA4QpQ0 -qTwAf1LuOaX3Sw28an0jMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC -AgEAmU/b8OrWEfoq/cirbeQOc2LSQp8V/nxwUj9kh4IxP0VALuEinwZmKfyW0y2N -tjjH2fMnwVkpoIz2cyQPKCLXTmHdE93bnzJSk/tPzOo4PJhqA6sWryHRQq59RSvq -xM+KWZ+CcHY6+GImyRCXWEAkpC25LymAJ+GJa3LKSQhxN1MF8YDO00IC0vzC0ZQG -7gfi9oPif5/nu1bDW7/dlZMJHiTBzybNraSuwrRp56q17TeU6d3RY4VrmnpKVnbc -GYUo1OTGpNi4lkF30LRZ8UYFh4cCH2m5ghjQQ9km2hpnqNZ1durybQ5C/4gmom6E -/n5iG/DGPe3AHGrHkda4ADdJm7mEBaHNbjHWROpTi7pTmB2hkIrphfgb8pNYw8jc -miZPPiDPT0PzEIx/EGF6NsqqC33Mn0dEWa6llcaZU+MHaz1JELAY/10OhUMUS+dr -00q1smBh3GlJAiNd6JJxw5yfRWd5HtwyhrqqVTxkbzK1EEAV3nJAeOBucLtu6wno -OdmsupJ13UPKugGVrRqBKzrw48UvDBhNEMauwO3+BVJ/GQXLqa81CAw4IuT+VuVT -Pr/k1rPZCMM91TMygSTFqeFlEbgyMzBxGEkdGkXGmhSKWDkobvPLUblJJmR4A8eR -EYOpuZA0tm+qBZ6FKFeZvn8nBkliTaH8CeErRglMFJtWj0UwDDAKBggrBgEFBQcD -BA== ------END TRUSTED CERTIFICATE----- - -SSL.com EV Root Certification Authority ECC ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSjAMMAoGCCsG -AQUFBwMB ------END TRUSTED CERTIFICATE----- - -SSL.com EV Root Certification Authority RSA R2 ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+zAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -SSL.com Root Certification Authority ECC ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5WplMBYwFAYIKwYBBQUHAwEG -CCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -SSL.com Root Certification Authority RSA ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7kwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -SSL.com TLS ECC Root CA 2022 ------BEGIN CERTIFICATE----- -MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT -U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2 -MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh -dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm -acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN -SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME -GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW -uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp -15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN -b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT -U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2 -MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh -dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm -acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN -SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME -GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW -uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp -15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN -b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6jAM -MAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -SSL.com TLS RSA Root CA 2022 ------BEGIN CERTIFICATE----- -MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO -MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD -DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX -DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw -b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP -L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY -t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins -S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3 -PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO -L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3 -R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w -dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS -+YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS -d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG -AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f -gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j -BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z -NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt -hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM -QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf -R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ -DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW -P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy -lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq -bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w -AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q -r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji -Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU -98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO -MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD -DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX -DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw -b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP -L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY -t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins -S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3 -PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO -L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3 -R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w -dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS -+YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS -d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG -AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f -gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j -BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z -NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt -hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM -QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf -R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ -DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW -P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy -lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq -bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w -AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q -r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji -Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU -98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmAwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -SZAFIR ROOT CA2 ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztzAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Sectigo Public Email Protection Root E46 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICMTCCAbegAwIBAgIQbvXTp0GOoFlApzBr0kBlVjAKBggqhkjOPQQDAzBaMQsw -CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTEwLwYDVQQDEyhT -ZWN0aWdvIFB1YmxpYyBFbWFpbCBQcm90ZWN0aW9uIFJvb3QgRTQ2MB4XDTIxMDMy -MjAwMDAwMFoXDTQ2MDMyMTIzNTk1OVowWjELMAkGA1UEBhMCR0IxGDAWBgNVBAoT -D1NlY3RpZ28gTGltaXRlZDExMC8GA1UEAxMoU2VjdGlnbyBQdWJsaWMgRW1haWwg -UHJvdGVjdGlvbiBSb290IEU0NjB2MBAGByqGSM49AgEGBSuBBAAiA2IABLinUpT1 -PgWwG/YfsdN+ueQFZlSAzmylaH3kU1LbgvrEht9DePfIrRa8P3gyy2vTSdZE5bN+ -n3umxizy4rbTibCaPEvOiUvGxss6SWAPRrxtTnqcyZuFewq2sEfCiOPU0aNCMEAw -HQYDVR0OBBYEFC1OjKfCI7JXqQZrPmsrifPDXkfOMA4GA1UdDwEB/wQEAwIBhjAP -BgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCSnRpZY0VYjhsW5H16 -bDZIMB8rcueQMzT9JKLGBoxvOzJXWvj+xkkSU5rZELKZUXICMAUlKjMh/JPmIqLM -cFUoNVaiB8QhhCMaTEyZUJmSFMtK3Fb79dOPaiz1cTr4izsDnjAMMAoGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -Sectigo Public Email Protection Root R46 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFgDCCA2igAwIBAgIQHUSeuQ2DkXSu3fLriLemozANBgkqhkiG9w0BAQwFADBa -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTEwLwYDVQQD -EyhTZWN0aWdvIFB1YmxpYyBFbWFpbCBQcm90ZWN0aW9uIFJvb3QgUjQ2MB4XDTIx -MDMyMjAwMDAwMFoXDTQ2MDMyMTIzNTk1OVowWjELMAkGA1UEBhMCR0IxGDAWBgNV -BAoTD1NlY3RpZ28gTGltaXRlZDExMC8GA1UEAxMoU2VjdGlnbyBQdWJsaWMgRW1h -aWwgUHJvdGVjdGlvbiBSb290IFI0NjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC -AgoCggIBAJHlG/qqbTcrdccuXxSl2yyXtixGj2nZ7JYt8x1avtMdI+ZoCf9KEXMa -rmefdprS5+y42V8r+SZWUa92nan8F+8yCtAjPLosT0eD7J0FaEJeBuDV6CtoSJey -+vOkcTV9NJsXi39NDdvcTwVMlGK/NfovyKccZtlxX+XmWlXKq/S4dxlFUEVOSqvb -nmbBGbc3QshWpUAS+TPoOEU6xoSjAo4vJLDDQYUHSZzP3NHyJm/tMxwzZypFN9mF -ZSIasbUQUglrA8YfcD2RxH2QPe1m+JD/JeDtkqKLMSmtnBJmeGOdV+z7C96O3IvL -Oql39Lrl7DiMi+YTZqdpWMOCGhrN8Z/YU5JOSX2pRefxQyFatz5AzWOJz9m/x1AL -4bzniJatntQX2l3P4JH9phDUuQOBm2ms+4SogTXrG+tobHxgPsPfybSudB1Ird1u -EYbhKmo2Fq7IzrzbWPxAk0DYjlOXwqwiOOWIMbMuoe/s4EIN6v+TVkoGpJtMAmhk -j1ZQwYEF/cvbxdcV8mu1dsOj+TLOyrVKqRt9Gdx/x2p+ley2uI39lUqcoytti/Fw -5UcrAFzkuZ7U+NlYKdDL4ChibK6cYuLMvDaTQfXv/kZilbBXSnQsR1Ipnd2ioU9C -wpLOLVBSXowKoffYncX4/TaHTlf9aKFfmYMc8LXd6JLTZUBVypaFAgMBAAGjQjBA -MB0GA1UdDgQWBBSn15V360rDJ82TvjdMJoQhFH1dmDAOBgNVHQ8BAf8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQwFAAOCAgEANNLxFfOTAdRyi/Cr -CB8TPHO0sKvoeNlsupqvJuwQgOUNUzHd4/qMUSIkMze4GH46+ljoNOWM4KEfCUHS -Nz/Mywk1Qojp/BHXz0KqpHC2ccFTvcV0r8QiJGPPYoJ9yctRwYiQbVtcvvuZqLq2 -hrDpZgvlG2uv6iuGp9+oI0yWP09XQhgVg0Pxhia3KgPOC53opWgejG+9heMbUY/n -Fy8r0NZ4wi3dcojUZZ76mdR+55cKkgGapamEOgwqdD0zGMiH9+ik9YZCOf1rdSn8 -AAasoqUaVI7pUEkXZq9LBC2blIClVKuMVxdEnw/WaGRytEseAcfZm5TZg5mvEgUR -o5gi0vJXyiT5ujgVEki6Yzv8i5V41nIHVszN/J0c0MVkO2M0zwSZircweXq28sbV -2VR6hwt+TveE7BTziBYS8dWuChoJ7oat5av9rsMpeXTDAV8Rm991mcZK95uPbEns -IS+0AlmzLdBykLoLFHR4S8/BX1VyjlQrE876WAzTuyzZqZFh+PjxtnvevKnMkgTM -S2tfc4C2Ie1QT9d2h27O39K3vWKhfVhiaEVStj/eEtvtBGmedoiqAW3ahsdgG8NS -rDfsUHGAciohRQpTRzwZ643SWQTeJbDrHzVvYH3Xtca7CyeN4E1U5c8dJgFuOzXI -IBKJg/DS7Vg7NJ27MfUy/THzVhowDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Sectigo Public Server Authentication Root E46 ------BEGIN CERTIFICATE----- -MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw -CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T -ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN -MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG -A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT -ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC -WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+ -6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B -Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa -qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q -4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw -CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T -ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN -MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG -A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT -ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC -WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+ -6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B -Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa -qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q -4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKczAM -MAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -Sectigo Public Server Authentication Root R46 ------BEGIN CERTIFICATE----- -MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD -Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw -HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY -MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp -YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa -ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz -SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf -iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X -ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3 -IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS -VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE -SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu -+Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt -8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L -HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt -zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P -AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c -mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ -YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52 -gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA -Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB -JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX -DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui -TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5 -dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65 -LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp -0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY -QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD -Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw -HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY -MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp -YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa -ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz -SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf -iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X -ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3 -IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS -VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE -SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu -+Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt -8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L -HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt -zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P -AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c -mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ -YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52 -gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA -Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB -JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX -DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui -TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5 -dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65 -LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp -0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY -QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGLMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -SecureSign Root CA12 ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u -LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw -NTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD -eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS -b290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF -KxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt -p7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd -J1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur -FzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J -hscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K -h9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF -AAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld -mmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ -mBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA -8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV -55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/ -yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u -LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw -NTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD -eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS -b290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF -KxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt -p7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd -J1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur -FzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J -hscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K -h9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF -AAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld -mmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ -mBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA -8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV -55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/ -yOPiZwud9AzqVN/Ssq+xIvEg37xEHDAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -SecureSign Root CA14 ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEM -BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u -LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgw -NzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD -eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS -b290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh1oq/ -FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOg -vlIfX8xnbacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy -6pJxaeQp8E+BgQQ8sqVb1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo -/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9J -kdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOEkJTRX45zGRBdAuVwpcAQ -0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSxjVIHvXib -y8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac -18izju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs -0Wq2XSqypWa9a4X0dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIAB -SMbHdPTGrMNASRZhdCyvjG817XsYAFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVL -ApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeqYR3r6/wtbyPk -86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E -rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ib -ed87hwriZLoAymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopT -zfFP7ELyk+OZpDc8h7hi2/DsHzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHS -DCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPGFrojutzdfhrGe0K22VoF3Jpf1d+4 -2kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6qnsb58Nn4DSEC5MUo -FlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/OfVy -K4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6 -dB7h7sxaOgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtl -Lor6CZpO2oYofaphNdgOpygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB -365jJ6UeTo3cKXhZ+PmhIIynJkBugnLNeLLIjzwec+fBH7/PzqUqm9tEZDKgu39c -JRNItX+S ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEM -BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u -LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgw -NzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD -eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS -b290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh1oq/ -FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOg -vlIfX8xnbacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy -6pJxaeQp8E+BgQQ8sqVb1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo -/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9J -kdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOEkJTRX45zGRBdAuVwpcAQ -0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSxjVIHvXib -y8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac -18izju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs -0Wq2XSqypWa9a4X0dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIAB -SMbHdPTGrMNASRZhdCyvjG817XsYAFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVL -ApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeqYR3r6/wtbyPk -86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E -rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ib -ed87hwriZLoAymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopT -zfFP7ELyk+OZpDc8h7hi2/DsHzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHS -DCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPGFrojutzdfhrGe0K22VoF3Jpf1d+4 -2kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6qnsb58Nn4DSEC5MUo -FlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/OfVy -K4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6 -dB7h7sxaOgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtl -Lor6CZpO2oYofaphNdgOpygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB -365jJ6UeTo3cKXhZ+PmhIIynJkBugnLNeLLIjzwec+fBH7/PzqUqm9tEZDKgu39c -JRNItX+SMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -SecureSign Root CA15 ------BEGIN CERTIFICATE----- -MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMw -UTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBM -dGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMy -NTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJl -cnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290 -IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5GdCx4 -wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSR -ZHX+AezB2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT -9DAKBggqhkjOPQQDAwNoADBlAjEA2S6Jfl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp -4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJSwdLZrWeqrqgHkHZAXQ6 -bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMw -UTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBM -dGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMy -NTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJl -cnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290 -IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5GdCx4 -wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSR -ZHX+AezB2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT -9DAKBggqhkjOPQQDAwNoADBlAjEA2S6Jfl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp -4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJSwdLZrWeqrqgHkHZAXQ6 -bkU6iYAZezKYVWOr62Nuk22rGwlgMU4wDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -SecureTrust CA ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jEwDDAK -BggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Secure Global CA ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Security Communication ECC RootCA1 ------BEGIN CERTIFICATE----- -MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT -AkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD -VQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx -NjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT -HFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5 -IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl -dB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK -ULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu -9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O -be0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9k= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT -AkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD -VQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx -NjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT -HFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5 -IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl -dB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK -ULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu -9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O -be0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9kwDDAK -BggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -Security Communication RootCA2 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03MBYwFAYIKwYBBQUHAwEGCCsGAQUF -BwME ------END TRUSTED CERTIFICATE----- - -Staat der Nederlanden Root CA - G3 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX -DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP -cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW -IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX -xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy -KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR -9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az -5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 -6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 -Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP -bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt -BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt -XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd -INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp -LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 -Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp -gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh -/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw -0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A -fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq -4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR -1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ -QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM -94B7IWcnMFkwDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Starfield Class 2 CA -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. ------BEGIN TRUSTED CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5QwAjAA ------END TRUSTED CERTIFICATE----- - -Starfield Root Certificate Authority - G2 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Starfield Services Root Certificate Authority - G2 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6MAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -SwissSign Gold CA - G2 ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV -BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln -biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF -MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT -d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC -CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 -76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ -bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c -6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE -emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd -MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt -MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y -MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y -FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi -aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM -gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB -qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 -lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn -8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 -45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO -UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 -O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC -bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv -GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a -77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC -hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 -92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp -Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w -ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt -Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV -BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln -biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF -MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT -d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC -CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 -76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ -bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c -6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE -emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd -MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt -MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y -MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y -FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi -aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM -gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB -qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 -lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn -8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 -45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO -UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 -O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC -bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv -GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a -77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC -hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 -92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp -Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w -ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt -Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJMBYwFAYIKwYBBQUHAwEGCCsG -AQUFBwME ------END TRUSTED CERTIFICATE----- - -T-TeleSec GlobalRoot Class 2 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6FuwjAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -T-TeleSec GlobalRoot Class 3 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWzAMMAoGCCsGAQUFBwMB ------END TRUSTED CERTIFICATE----- - -TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeMwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -TWCA CYBER Root CA ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQ -MQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290 -IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5 -WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FO -LUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3Qg -Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1sTs6P -40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxF -avcokPFhV8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/ -34bKS1PE2Y2yHer43CdTo0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684i -JkXXYJndzk834H/nY62wuFm40AZoNWDTNq5xQwTxaWV4fPMf88oon1oglWa0zbfu -j3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK/c/WMw+f+5eesRycnupf -Xtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkHIuNZW0CP -2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDA -S9TMfAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDA -oS/xUgXJP+92ZuJF2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzC -kHDXShi8fgGwsOsVHkQGzaRP6AzRwyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW -5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83QOGt4A1WNzAd -BgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB -AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0t -tGlTITVX1olNc79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn -68xDiBaiA9a5F/gZbG0jAn/xX9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNn -TKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDRIG4kqIQnoVesqlVYL9zZyvpoBJ7t -RCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq/p1hvIbZv97Tujqx -f36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0RFxbI -Qh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz -8ppy6rBePm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4 -NxKfKjLji7gh7MMrZQzvIt6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzX -xeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6 -t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQ -MQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290 -IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5 -WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FO -LUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3Qg -Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1sTs6P -40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxF -avcokPFhV8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/ -34bKS1PE2Y2yHer43CdTo0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684i -JkXXYJndzk834H/nY62wuFm40AZoNWDTNq5xQwTxaWV4fPMf88oon1oglWa0zbfu -j3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK/c/WMw+f+5eesRycnupf -Xtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkHIuNZW0CP -2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDA -S9TMfAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDA -oS/xUgXJP+92ZuJF2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzC -kHDXShi8fgGwsOsVHkQGzaRP6AzRwyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW -5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83QOGt4A1WNzAd -BgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB -AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0t -tGlTITVX1olNc79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn -68xDiBaiA9a5F/gZbG0jAn/xX9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNn -TKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDRIG4kqIQnoVesqlVYL9zZyvpoBJ7t -RCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq/p1hvIbZv97Tujqx -f36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0RFxbI -Qh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz -8ppy6rBePm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4 -NxKfKjLji7gh7MMrZQzvIt6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzX -xeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6 -t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27XMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -TWCA Global Root CA ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0wFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -TWCA Global Root CA G2 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFlTCCA32gAwIBAgIQQAE0jMIAAAAAAAAAAZdY9DANBgkqhkiG9w0BAQwFADBU -MQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290 -IENBMR8wHQYDVQQDExZUV0NBIEdsb2JhbCBSb290IENBIEcyMB4XDTIyMTEyMjA2 -NDIyMVoXDTQ3MTEyMjE1NTk1OVowVDELMAkGA1UEBhMCVFcxEjAQBgNVBAoTCVRB -SVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEfMB0GA1UEAxMWVFdDQSBHbG9iYWwg -Um9vdCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKoO1SCS -Aa2C+QwIkTRrihbQRhb/A7jYjeqTNPv/K739bqrcm/KGgVX1iRzEjXVqWHiREx4C -E3A9774K5wCPuDHldMUwvv991pnlwkKjzyHWswh/kdVh5qKVEA3vXpcLSTjVIrDX -i1lvnzWbf9KRzHp/u6Cf3lUz9kuNCup9CcB53L1E4v4c52QhKM8ESuK0v4Z5KrsO -k8mPXqwwOVKQB7nqnCZCFMRnRv7RGmihPlAZoyYKJymQwva063OaeB7hmPRlDDUh -BvgL3mLlTcGzXdm5+mGXKuPqx0RVJJL+Eqc/xHfgLQKBB9X7feYQnjq0qO/s+1Dq -Nc/MfrtCuURsUum/KnIfP96bcOncWsU7u7/wWYWvL8GwFHkFrHWfJfURJwZgIcdt -Zb6oiZzlrEbf+F1EA41gvfexDcwv70FUL+5rlblOfDTfO/l3nX3NBz0cBjMSgOxy -nPItgtrVO8TH+QTDZAJ89TVgp7RGKS4b76VYgC56iVE4Njz9oXe4gDDQit6NpzQm -7CO7GFUYNkXu7QEGqk2/ZAzKmJcaMQJm+HhoW4jfCajnm/o0bXAcIa0Ii/Khtqx2 -ar/xgCUAvjweTa65PLaVY71rfkcSkFVFEY3sFx/BvieBk1djaQAmd4vDWeV70Q1E -8qjw94WaBffCLnCak4XYlZAxkFSm7AufN0UPAgMBAAGjYzBhMA4GA1UdDwEB/wQE -AwIBBjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFJKM1DbRW0dTxHENhN1k -KvU2ZEDnMB0GA1UdDgQWBBSSjNQ20VtHU8RxDYTdZCr1NmRA5zANBgkqhkiG9w0B -AQwFAAOCAgEAJfxL2pC02nXnQTqB0ab+oGrzGHFiaiQIi6l6TclVzs8QKC4EGZYF -z10CICo7s1U/Ac1CzbJ37f9183x325alz4xnBvSkm3L2IUkJmKMyXndaYwnvYkOX -Aji16jwYUGj8WVvZedTx5FZIE1bY03ELXniUOBFF+gUX9Q51HmJSYUa6LhmthrSI -D7FQ5kAANBqVnZPgUfnUVUbplTwlhi6X1wExGETsHGDpfWmvMviXQCUkto0aVTzF -t/e8BlI7cTBwPnEXfvFmBF5dvIoxQ6aSHXtU0qU2i2+N1l7a1MMuHd85VWCCMJ4n -/46A3WNMplU12NAzqYBtPl6dzKhngGb6mVcMUsoZdbA4NVUqgcWMHlbXX5DyINja -4GZx6bJ4q2e5JG5rNnL8b439f3I5KGdSkQUfV2XSo6cNYfqh59U1RpXJBof2MOwy -UamsVsAhTqMUdAU6vOO/bT1OP16lpG0pv4RRdVOOhhr1UXAqDRxOQOH9o+OlK2eQ -ksdsroW/OpsXFcqcKpPUTTkNvCAIo42IbAkNjK5EIU3JcezYJtcXni0RGDyjIn24 -J1S/aMg7QsyPXk7n3MLF+mpED41WiHrfiYRsoLM+PfFlAAmI6irrQM6zXawyF67B -m+nQwfVJlN2nznxaB+uuIJwXMJJpk3Lzmltxm/5q33owaY6zLtsPLN0wDDAKBggr -BgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -TWCA Root Certification Authority ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8HrzAWMBQGCCsGAQUFBwMBBggr -BgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Telekom Security SMIME ECC Root 2021 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICRzCCAc2gAwIBAgIQFSrdFMkY0aRWQIamJa8HXzAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH -bWJIMS0wKwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIEVDQyBSb290IDIw -MjEwHhcNMjEwMzE4MTEwODMwWhcNNDYwMzE3MjM1OTU5WjBlMQswCQYDVQQGEwJE -RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMS0wKwYD -VQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIEVDQyBSb290IDIwMjEwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAASwGY+ia7XHzQ8wmTcMw2Bb8fEnIFU9wJKLq1ehb3OD -IcJDEwxeiarHBTV5k2KQ1l0TH9F6oLyeEKdmfEYKsFdsv+ZUOTghbBJccczTWl9t -t6eG37Pf7sLniUGWNfYvSrWjQjBAMB0GA1UdDgQWBBQrywEMY8NTEqWoV6/QnIP7 -vZA6SzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQD -AwNoADBlAjEA1rxIkodHA8dwOyW2H65GZ3N0ACdL5KUEogPfXiitbl4DyN1onLa/ -lBBIlS8P/xiLAjABQDOel5dNBfJ0VAzNOf1qawnBJD9hjjiht+jXRBURYv8OYTdH -S0B/Sl+yZ1pzdcIwDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -Telekom Security SMIME RSA Root 2023 -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFtzCCA5+gAwIBAgIQDH5i9XlzO51Djotj7ZGVuDANBgkqhkiG9w0BAQwFADBl -MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0 -eSBHbWJIMS0wKwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIFJTQSBSb290 -IDIwMjMwHhcNMjMwMzI4MTIwOTIyWhcNNDgwMzI3MjM1OTU5WjBlMQswCQYDVQQG -EwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMS0w -KwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIFJTQSBSb290IDIwMjMwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDvxQ6LvjLSZ0f/Ckxnsyq/yMPF -keu1xx6R4WaoiItVIIAfUV53l54ZClzHazchfAM2AfSIJdmoLkGq/Ngm4JZAYnmu -V54DOBocsncUPumhctDk4DfRF0btUFx6WMX4K/d1L8+BnlostzqsoFmYBFEM/0nF -UP0e00eFSzNPoje1rwSaJzKdVtU/VWHji2+uUf6X/mkH+mJbJuYUeRWlEziuXze+ -lErWDYAWaaSRsjpJmHWdRhCKXHp/hKXorx7Hq7NaRrWjS/WmIzYARrHbBbYbzp56 -Mlya1XLDnYZNK4TTHrWI2hB4nCLDOyO16xMHvW9T7Jvsm9Nl9QcJ412nmbV+ho7V -Av+3hQnjRxTdlmYYNN4I1d/LGJliCyvsAF1SRNPGlvwyViWRz80ZO5U5PgKHmWO2 -1T40eg8RdYG8fQTKYLQoddcCUd1SAC7H/YnxXPPLpCcSOI+7+4nw5MQ4LL6CoHFh -YpGPSAwvK6mw8csQBOd0vzeQ708qQzWXEsYqcA3eLFVHeWMp9cofagZSHK4tJCKD -Iq/QqjC3Kh//ZSNYZZPIjn1AEDGGeNlVyzww8N5RKgA20idFX9jooSE9fkZWOylF -8R0FCc62QzDcRZAQMEyka4aLPz0vMZFx7ya59r6dsGzfEe5YP0N5hjmA8SYXB5jw -maowLENZFM7t4kAThQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FJrOrCrsAfplcN6XnfHSAIylo2S7MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw -FoAUms6sKuwB+mVw3ped8dIAjKWjZLswDQYJKoZIhvcNAQEMBQADggIBAONQ/fVA -FiIJljoNqe+B5y4y8KHxSV57iA0Ecte+Z6i6He5Qu3JuetG7DHIwRsjV1wISFplO -Ht9alu6Pkb6uhvgQd6XEbkdhwPIm2U9haAVIdQgVpaF71biziXnm7fHzYQCGey4x -/qNc+Hk9tFuIe+Ajuw2hF/rLaA2Yd3EI4m1DdGvENsWUQaQA1lctmYqLIBIVAjIO -0knsgUjFaidS17JzVVOWPJ5PTLWg0E9X0GcoSGS+xri67GTPyHvFaucq5llXttbU -1sBnXNmeKAlAv/OpNTFlYAPLGWyClQMeXz/hvepJceVbtwtHFhsgiW2UmQx+iGwd -DfS3IRpZl6zL6L4XH5V8U5uvUFKqjQsur1rXYPIqaSq57lRwGKq99aE/0t2hYxkA -+KcM66N58nBZo/iiEgPsE//kAoY218HDpLXUpMI3RbaUcD3FveujFR3jNnoVaSpW -NDnPpZo2qsjtebzP9s4EUwvaslAjfLw+Jq3wDkO7JsuuwkDeNx8KoFHNY522T9jG -R3y82LTtnovzEeKotT7srnA+fiK7NUgXYGIUkTCjdj2mUTaLHw3dajEcpe3dlqNu -cg8TTaqnqVx4+QMSGJM3RRKJPfi+yr3ZvgzZGGSnyEE+dYIhOH1l9KDUE0sHeCn5 -nX7Mhz/E2i6I3eML3FpRWunZEk+eAtv3BSVRMAwwCgYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Telekom Security TLS ECC Root 2020 ------BEGIN CERTIFICATE----- -MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw -CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH -bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw -MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx -JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE -AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O -tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP -f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA -MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di -z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn -27iQ7t0l ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw -CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH -bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw -MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx -JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE -AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O -tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP -f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA -MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di -z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn -27iQ7t0lMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -Telekom Security TLS RSA Root 2023 ------BEGIN CERTIFICATE----- -MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj -MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0 -eSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy -MDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC -REUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG -A1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9 -cUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV -cp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA -U6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6 -Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug -BTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy -8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J -co4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg -8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8 -rFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12 -mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg -+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX -gj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 -p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ -pGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm -9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw -M807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd -GGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+ -CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t -xKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+ -w6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK -L4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj -X273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q -ntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm -dTdmQRCsu/WU48IxK63nI1bMNSWSs1A= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj -MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0 -eSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy -MDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC -REUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG -A1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9 -cUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV -cp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA -U6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6 -Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug -BTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy -8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J -co4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg -8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8 -rFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12 -mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg -+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX -gj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 -p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ -pGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm -9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw -M807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd -GGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+ -CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t -xKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+ -w6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK -L4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj -X273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q -ntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm -dTdmQRCsu/WU48IxK63nI1bMNSWSs1AwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -TeliaSonera Root CA v1 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVYwFjAU -BggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Telia Root CA v2 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx -CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE -AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1 -NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ -MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq -AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9 -vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9 -lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD -n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT -7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o -6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC -TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6 -WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R -DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI -pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj -YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy -rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ -8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi -0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM -A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS -SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K -TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF -6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er -3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt -Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT -VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW -ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA -rBPuUBQemMc= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx -CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE -AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1 -NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ -MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq -AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9 -vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9 -lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD -n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT -7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o -6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC -TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6 -WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R -DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI -pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj -YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy -rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ -8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi -0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM -A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS -SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K -TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF -6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er -3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt -Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT -VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW -ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA -rBPuUBQemMcwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -TrustAsia Global Root CA G3 ------BEGIN CERTIFICATE----- -MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM -BQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp -ZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe -Fw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw -IwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU -cnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS -T1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK -AtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1 -nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep -qq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA -yB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs -hH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX -zhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv -kV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT -f9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA -uPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB -o2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih -MBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E -BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4 -wM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2 -XFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1 -JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j -ITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV -VHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx -xHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on -AX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d -7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj -gKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV -+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo -FGWsJwt0ivKH ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM -BQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp -ZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe -Fw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw -IwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU -cnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS -T1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK -AtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1 -nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep -qq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA -yB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs -hH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX -zhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv -kV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT -f9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA -uPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB -o2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih -MBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E -BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4 -wM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2 -XFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1 -JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j -ITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV -VHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx -xHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on -AX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d -7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj -gKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV -+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo -FGWsJwt0ivKHMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -TrustAsia Global Root CA G4 ------BEGIN CERTIFICATE----- -MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw -WjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs -IEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y -MTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD -VQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz -dEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx -s8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw -LxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij -YzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD -pm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE -AwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR -UKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj -/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw -WjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs -IEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y -MTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD -VQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz -dEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx -s8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw -LxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij -YzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD -pm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE -AwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR -UKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj -/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWDAWMBQGCCsGAQUFBwMBBggrBgEFBQcD -BA== ------END TRUSTED CERTIFICATE----- - -Trustwave Global Certification Authority ------BEGIN CERTIFICATE----- -MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw -CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x -ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1 -c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx -OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI -SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI -b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn -swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu -7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8 -1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW -80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP -JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l -RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw -hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10 -coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc -BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n -twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud -DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W -0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe -uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q -lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB -aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE -sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT -MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe -qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh -VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8 -h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9 -EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK -yeC2nOnOcXHebD8WpHk= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw -CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x -ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1 -c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx -OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI -SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI -b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn -swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu -7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8 -1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW -80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP -JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l -RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw -hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10 -coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc -BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n -twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud -DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W -0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe -uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q -lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB -aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE -sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT -MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe -qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh -VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8 -h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9 -EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK -yeC2nOnOcXHebD8WpHkwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -Trustwave Global ECC P256 Certification Authority ------BEGIN CERTIFICATE----- -MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG -SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN -FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w -DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw -CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh -DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG -SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN -FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w -DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw -CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh -DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7MBYwFAYIKwYBBQUH -AwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -Trustwave Global ECC P384 Certification Authority ------BEGIN CERTIFICATE----- -MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB -BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ -j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF -1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G -A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3 -AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC -MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu -Sw== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB -BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ -j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF -1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G -A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3 -AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC -MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu -SzAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -TunTrust Root CA ------BEGIN CERTIFICATE----- -MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL -BQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg -Q2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv -b3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG -EwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u -IEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ -n56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd -2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF -VwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ -GoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF -li/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU -r8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2 -eY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb -MlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg -jwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB -7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW -5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE -ITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 -90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z -xiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu -QEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4 -FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH -22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP -xOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn -dFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5 -Xc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b -nV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ -CvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH -u/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj -d9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL -BQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg -Q2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv -b3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG -EwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u -IEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ -n56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd -2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF -VwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ -GoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF -li/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU -r8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2 -eY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb -MlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg -jwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB -7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW -5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE -ITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 -90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z -xiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu -QEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4 -FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH -22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP -xOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn -dFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5 -Xc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b -nV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ -CvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH -u/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj -d9qDRIueVSjAi1jTkD5OGwDxFa2DK5owDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -UCA Extended Validation Root ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF -eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx -MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV -BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog -D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS -sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop -O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk -sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi -c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj -VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz -KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ -TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G -sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs -1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD -fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN -l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR -ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ -VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 -c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp -4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s -t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj -2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO -vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C -xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx -cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM -fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF -eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx -MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV -BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog -D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS -sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop -O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk -sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi -c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj -VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz -KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ -TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G -sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs -1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD -fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN -l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR -ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ -VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 -c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp -4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s -t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj -2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO -vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C -xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx -cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM -fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1axMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -UCA Global G2 Root ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH -bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x -CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds -b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr -b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 -kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm -VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R -VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc -C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj -tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY -D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv -j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl -NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 -iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP -O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV -ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj -L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl -1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU -b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV -PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj -y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb -EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg -DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI -+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy -YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX -UB+K+wb1whnw0A== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH -bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x -CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds -b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr -b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 -kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm -VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R -VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc -C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj -tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY -D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv -j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl -NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 -iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP -O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV -ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj -L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl -1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU -b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV -PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj -y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb -EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg -DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI -+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy -YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX -UB+K+wb1whnw0DAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -USERTrust ECC Certification Authority ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1XahgwFjAUBggrBgEFBQcD -AQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -USERTrust RSA Certification Authority ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9MBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -XRamp Global CA Root -Traditional PEM block omitted: this certificate is not trusted for authenticating servers. -Trusted for: - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbwwDDAKBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -certSIGN ROOT CA ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KDMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -certSIGN Root CA G2 ------BEGIN CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV -BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g -Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ -BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ -R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF -dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw -vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ -uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp -n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs -cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW -xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P -rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF -DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx -DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy -LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C -eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ -d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq -kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC -b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl -qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0 -OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c -NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk -ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO -pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj -03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk -PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE -1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX -QRBdJ3NghVdJIgc= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV -BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g -Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ -BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ -R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF -dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw -vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ -uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp -n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs -cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW -xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P -rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF -DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx -DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy -LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C -eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ -d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq -kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC -b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl -qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0 -OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c -NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk -ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO -pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj -03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk -PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE -1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX -QRBdJ3NghVdJIgcwDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - -e-Szigno Root CA 2017 ------BEGIN CERTIFICATE----- -MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV -BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk -LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv -b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ -BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg -THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v -IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv -xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H -Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB -eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo -jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ -+efcMQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV -BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk -LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv -b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ -BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg -THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v -IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv -xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H -Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB -eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo -jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ -+efcMTAWMBQGCCsGAQUFBwMBBggrBgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -ePKI Root Certification Authority ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZwwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -emSign ECC Root CA - C3 ------BEGIN CERTIFICATE----- -MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG -EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx -IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND -IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci -MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti -sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O -BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB -Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c -3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J -0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG -EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx -IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND -IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci -MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti -sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O -BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB -Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c -3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J -0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUTAWMBQGCCsGAQUFBwMBBggr -BgEFBQcDBA== ------END TRUSTED CERTIFICATE----- - -emSign ECC Root CA - G3 ------BEGIN CERTIFICATE----- -MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG -EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo -bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g -RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ -TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s -b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 -WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS -fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB -zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq -hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB -CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD -+JbNR6iC8hZVdyR+EhCVBCyj ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG -EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo -bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g -RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ -TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s -b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 -WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS -fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB -zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq -hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB -CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD -+JbNR6iC8hZVdyR+EhCVBCyjMBYwFAYIKwYBBQUHAwEGCCsGAQUFBwME ------END TRUSTED CERTIFICATE----- - -emSign Root CA - C1 ------BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG -A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg -SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v -dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ -BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ -HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH -3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH -GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c -xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 -aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq -TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 -/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 -kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG -YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT -+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo -WXzhriKi4gp6D/piq1JM4fHfyr6DDUI= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG -A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg -SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v -dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ -BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ -HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH -3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH -GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c -xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 -aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq -TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 -/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 -kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG -YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT -+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo -WXzhriKi4gp6D/piq1JM4fHfyr6DDUIwFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -emSign Root CA - G1 ------BEGIN CERTIFICATE----- -MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD -VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU -ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH -MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO -MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv -Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz -f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO -8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq -d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM -tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt -Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB -o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x -PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM -wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d -GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH -6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby -RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx -iN66zB+Afko= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) - - 1.3.6.1.5.5.7.3.4 (RFC5280: emailProtection key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD -VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU -ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH -MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO -MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv -Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz -f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO -8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq -d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM -tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt -Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB -o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x -PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM -wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d -GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH -6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby -RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx -iN66zB+AfkowFjAUBggrBgEFBQcDAQYIKwYBBQUHAwQ= ------END TRUSTED CERTIFICATE----- - -vTrus ECC Root CA ------BEGIN CERTIFICATE----- -MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw -RzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY -BgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz -MTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u -LEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0 -v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd -e4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw -V53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA -AjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG -GJTO ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw -RzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY -BgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz -MTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u -LEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0 -v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd -e4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw -V53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA -AjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG -GJTOMAwwCgYIKwYBBQUHAwE= ------END TRUSTED CERTIFICATE----- - -vTrus Root CA ------BEGIN CERTIFICATE----- -MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL -BQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x -FjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx -MDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s -THRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc -IrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU -AyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+ -GrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9 -8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH -flqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt -J8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim -0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN -pGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ -UqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW -OXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB -AAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet -8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd -nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j -bhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM -Kar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv -TDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS -S8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr -I8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9 -b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB -UvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P -Ti07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven -sBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3s= ------END CERTIFICATE----- - -Trusted for: - - 1.3.6.1.5.5.7.3.1 (RFC5280: serverAuth key usage) ------BEGIN TRUSTED CERTIFICATE----- -MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL -BQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x -FjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx -MDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s -THRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc -IrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU -AyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+ -GrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9 -8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH -flqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt -J8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim -0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN -pGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ -UqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW -OXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB -AAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet -8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd -nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j -bhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM -Kar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv -TDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS -S8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr -I8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9 -b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB -UvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P -Ti07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven -sBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3swDDAKBggrBgEFBQcDAQ== ------END TRUSTED CERTIFICATE----- - diff --git a/result/etc/sudoers.d/10-nix-darwin-extra-config b/result/etc/sudoers.d/10-nix-darwin-extra-config deleted file mode 100644 index 8d550e76..00000000 --- a/result/etc/sudoers.d/10-nix-darwin-extra-config +++ /dev/null @@ -1,4 +0,0 @@ - -# Keep terminfo database for root and %admin. -Defaults:root,%admin env_keep+=TERMINFO_DIRS -Defaults:root,%admin env_keep+=TERMINFO diff --git a/result/etc/zprofile b/result/etc/zprofile deleted file mode 100644 index 6cd0da7b..00000000 --- a/result/etc/zprofile +++ /dev/null @@ -1,17 +0,0 @@ -# /etc/zprofile: DO NOT EDIT -- this file has been generated automatically. -# This file is read for login shells. - -# Only execute this file once per shell. -if [ -n "${__ETC_ZPROFILE_SOURCED-}" ]; then return; fi -__ETC_ZPROFILE_SOURCED=1 - - - - - - - -# Read system-wide modifications. -if test -f /etc/zprofile.local; then - source /etc/zprofile.local -fi diff --git a/result/etc/zshenv b/result/etc/zshenv deleted file mode 100644 index bd24850f..00000000 --- a/result/etc/zshenv +++ /dev/null @@ -1,24 +0,0 @@ -# /etc/zshenv: DO NOT EDIT -- this file has been generated automatically. -# This file is read for all shells. - -# Only execute this file once per shell. -if [ -n "${__ETC_ZSHENV_SOURCED-}" ]; then return; fi -__ETC_ZSHENV_SOURCED=1 - -if [[ -o rcs ]]; then - if [ -z "${__NIX_DARWIN_SET_ENVIRONMENT_DONE-}" ]; then - . /nix/store/hmb4snhprywidmdc07s0krx4hvfy81q0-set-environment - fi - - # Tell zsh how to find installed completions - for p in ${(z)NIX_PROFILES}; do - fpath=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions $fpath) - done - - -fi - -# Read system-wide modifications. -if test -f /etc/zshenv.local; then - source /etc/zshenv.local -fi diff --git a/result/etc/zshrc b/result/etc/zshrc deleted file mode 100644 index cc7800d7..00000000 --- a/result/etc/zshrc +++ /dev/null @@ -1,38 +0,0 @@ -# /etc/zshrc: DO NOT EDIT -- this file has been generated automatically. -# This file is read for interactive shells. - -# Only execute this file once per shell. -if [ -n "$__ETC_ZSHRC_SOURCED" -o -n "$NOSYSZSHRC" ]; then return; fi -__ETC_ZSHRC_SOURCED=1 - -# history defaults -SAVEHIST=2000 -HISTSIZE=2000 -HISTFILE=$HOME/.zsh_history - -setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK - -bindkey -e - - - - -autoload -U promptinit && promptinit && prompt suse && setopt prompt_sp - -autoload -U compinit && compinit -autoload -U bashcompinit && bashcompinit - - - - - - - - - - - -# Read system-wide modifications. -if test -f /etc/zshrc.local; then - source /etc/zshrc.local -fi diff --git a/result/sw/bin/bash b/result/sw/bin/bash deleted file mode 100755 index 9a81080f..00000000 Binary files a/result/sw/bin/bash and /dev/null differ diff --git a/result/sw/bin/bashbug b/result/sw/bin/bashbug deleted file mode 100755 index 828065cd..00000000 --- a/result/sw/bin/bashbug +++ /dev/null @@ -1,278 +0,0 @@ -#!/nix/store/nqh4lv0w7n7cw7n8vvn2gfzv804y4hk6-bash-interactive-5.2p37/bin/bash - -# -# bashbug - create a bug report and mail it to the bug address -# -# The bug address depends on the release status of the shell. Versions -# with status `devel', `alpha', `beta', or `rc' mail bug reports to -# chet.ramey@case.edu and, optionally, to bash-testers@cwru.edu. -# Other versions send mail to bug-bash@gnu.org. -# -# Copyright (C) 1996-2021 Free Software Foundation, Inc. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# -# configuration section: -# these variables are filled in by the make target in Makefile -# -MACHINE="aarch64" -OS="darwin24.5.0" -CC="clang" -CFLAGS="-g -O2" -RELEASE="5.2" -PATCHLEVEL="37" -RELSTATUS="release" -MACHTYPE="aarch64-apple-darwin24.5.0" - -PATH=/bin:/usr/bin:/usr/local/bin:$PATH -export PATH - -# Check if TMPDIR is set, default to /tmp -: ${TMPDIR:=/tmp} - -#Securely create a temporary directory for the temporary files -TEMPDIR=$TMPDIR/bbug.$$ -(umask 077 && mkdir "$TEMPDIR") || { - echo "$0: could not create temporary directory" >&2 - exit 1 -} - -TEMPFILE1=$TEMPDIR/bbug1 -TEMPFILE2=$TEMPDIR/bbug2 - -USAGE="Usage: $0 [--help] [--version] [bug-report-email-address]" -VERSTR="GNU bashbug, version ${RELEASE}.${PATCHLEVEL}-${RELSTATUS}" - -do_help= do_version= - -while [ $# -gt 0 ]; do - case "$1" in - --help) shift ; do_help=y ;; - --version) shift ; do_version=y ;; - --) shift ; break ;; - -*) echo "bashbug: ${1}: invalid option" >&2 - echo "$USAGE" >&2 - exit 2 ;; - *) break ;; - esac -done - -if [ -n "$do_version" ]; then - echo "${VERSTR}" - exit 0 -fi - -if [ -n "$do_help" ]; then - echo "${VERSTR}" - echo "${USAGE}" - echo - cat << HERE_EOF -Bashbug is used to send mail to the Bash maintainers -for when Bash doesn't behave like you'd like, or expect. - -Bashbug will start up your editor (as defined by the shell's -EDITOR environment variable) with a preformatted bug report -template for you to fill in. The report will be mailed to the -bug-bash mailing list by default. See the manual for details. - -If you invoke bashbug by accident, just quit your editor without -saving any changes to the template, and no bug report will be sent. -HERE_EOF - exit 0 -fi - -# Figure out how to echo a string without a trailing newline -N=`echo 'hi there\c'` -case "$N" in -*c) n=-n c= ;; -*) n= c='\c' ;; -esac - -BASHTESTERS="bash-testers@cwru.edu" - -case "$RELSTATUS" in -alpha*|beta*|devel*|rc*) BUGBASH=chet.ramey@case.edu ;; -*) BUGBASH=bug-bash@gnu.org ;; -esac - -case "$RELSTATUS" in -alpha*|beta*|devel*|rc*) - echo "$0: This is a testing release. Would you like your bug report" - echo "$0: to be sent to the bash-testers mailing list?" - echo $n "$0: Send to bash-testers? $c" - read ans - case "$ans" in - y*|Y*) BUGBASH="${BUGBASH},${BASHTESTERS}" ;; - esac ;; -esac - -BUGADDR="${1-$BUGBASH}" - -if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then - if [ -x /usr/bin/editor ]; then - DEFEDITOR=editor - elif [ -x /usr/local/bin/ce ]; then - DEFEDITOR=ce - elif [ -x /usr/local/bin/emacs ]; then - DEFEDITOR=emacs - elif [ -x /usr/contrib/bin/emacs ]; then - DEFEDITOR=emacs - elif [ -x /usr/bin/emacs ]; then - DEFEDITOR=emacs - elif [ -x /usr/bin/xemacs ]; then - DEFEDITOR=xemacs - elif [ -x /usr/bin/vim; then - DEFEDITOR=vim - elif [ -x /usr/bin/gvim; then - DEFEDITOR=gvim - elif [ -x /usr/bin/nano ]; then - DEFEDITOR=nano - elif [ -x /usr/contrib/bin/jove ]; then - DEFEDITOR=jove - elif [ -x /usr/local/bin/jove ]; then - DEFEDITOR=jove - elif [ -x /usr/bin/vi ]; then - DEFEDITOR=vi - else - echo "$0: No default editor found: attempting to use vi" >&2 - DEFEDITOR=vi - fi -fi - - -: ${EDITOR=$DEFEDITOR} - -: ${USER=${LOGNAME-`whoami`}} - -trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15 -trap 'rm -rf "$TEMPDIR"' 0 - -UN= -if (uname) >/dev/null 2>&1; then - UN=`uname -a` -fi - -if [ -f /usr/lib/sendmail ] ; then - RMAIL="/usr/lib/sendmail" - SMARGS="-i -t" -elif [ -f /usr/sbin/sendmail ] ; then - RMAIL="/usr/sbin/sendmail" - SMARGS="-i -t" -else - RMAIL=rmail - SMARGS="$BUGADDR" -fi - -INITIAL_SUBJECT='[50 character or so descriptive subject here (for reference)]' - -cat > "$TEMPFILE1" <<EOF -From: ${USER} -To: ${BUGADDR} -Subject: ${INITIAL_SUBJECT} - -Configuration Information [Automatically generated, do not change]: -Machine: $MACHINE -OS: $OS -Compiler: $CC -Compilation CFLAGS: $CFLAGS -uname output: $UN -Machine Type: $MACHTYPE - -Bash Version: $RELEASE -Patch Level: $PATCHLEVEL -Release Status: $RELSTATUS - -Description: - [Detailed description of the problem, suggestion, or complaint.] - -Repeat-By: - [Describe the sequence of events that causes the problem - to occur.] - -Fix: - [Description of how to fix the problem. If you don't know a - fix for the problem, don't include this section.] -EOF - -cp "$TEMPFILE1" "$TEMPFILE2" -chmod u+w "$TEMPFILE1" - -trap '' 2 # ignore interrupts while in editor - -edstat=1 -while [ $edstat -ne 0 ]; do - $EDITOR "$TEMPFILE1" - edstat=$? - - if [ $edstat -ne 0 ]; then - echo "$0: editor \`$EDITOR' exited with nonzero status." - echo "$0: Perhaps it was interrupted." - echo "$0: Type \`y' to give up, and lose your bug report;" - echo "$0: type \`n' to re-enter the editor." - echo $n "$0: Do you want to give up? $c" - - read ans - case "$ans" in - [Yy]*) exit 1 ;; - esac - - continue - fi - - # find the subject from the temp file and see if it's been changed - CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ ]*||' | sed 1q` - - case "$CURR_SUB" in - "${INITIAL_SUBJECT}") - echo - echo "$0: You have not changed the subject from the default." - echo "$0: Please use a more descriptive subject header." - echo "$0: Type \`y' to give up, and lose your bug report;" - echo "$0: type \`n' to re-enter the editor." - echo $n "$0: Do you want to give up? $c" - - read ans - case "$ans" in - [Yy]*) exit 1 ;; - esac - - echo "$0: The editor will be restarted in five seconds." - sleep 5 - edstat=1 - ;; - esac - -done - -trap 'rm -rf "$TEMPDIR"; exit 1' 2 # restore trap on SIGINT - -if cmp -s "$TEMPFILE1" "$TEMPFILE2" -then - echo "File not changed, no bug report submitted." - exit -fi - -echo $n "Send bug report to ${BUGADDR}? [y/n] $c" -read ans -case "$ans" in -[Nn]*) exit 0 ;; -esac - -${RMAIL} $SMARGS < "$TEMPFILE1" || { - cat "$TEMPFILE1" >> $HOME/dead.bashbug - echo "$0: mail to ${BUGADDR} failed: report saved in $HOME/dead.bashbug" >&2 - echo "$0: please send it manually to ${BUGADDR}" >&2 -} - -exit 0 diff --git a/result/sw/bin/darwin-help b/result/sw/bin/darwin-help deleted file mode 100755 index 969b0327..00000000 --- a/result/sw/bin/darwin-help +++ /dev/null @@ -1,2 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -e -open /nix/store/27w7z1pwshry7z70bfsv45wdmgpzkrxv-darwin-manual-html/share/doc/darwin/index.html diff --git a/result/sw/bin/darwin-option b/result/sw/bin/darwin-option deleted file mode 100755 index e825881f..00000000 --- a/result/sw/bin/darwin-option +++ /dev/null @@ -1,76 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -set -e -set -o pipefail - -export PATH=/nix/store/bcdc67d3d3jkbl35ccxmvyan5kmic9lc-coreutils-9.7/bin:/nix/store/04gj0cpc6mv0pkyz114p23fq65zx8mbx-jq-1.8.0-bin/bin:/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/bin:/nix/store/zln77pckyb4ky96vb4vqq6flgiifvbcy-nix-2.28.3/bin:$HOME/.nix-profile/bin:/etc/profiles/per-user/$USER/bin:/run/current-system/sw/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -export NIX_PATH=${NIX_PATH:-nixpkgs=flake:nixpkgs:/nix/var/nix/profiles/per-user/root/channels} - -evalNix() { - nix-instantiate --eval --strict "${extraEvalFlags[@]}" -E "with import <darwin> {}; $*" 2>/dev/null -} - -evalOpt() { - evalNix "options.$option.$*" -} - -evalOptAttrs() { - evalNix "builtins.concatStringsSep \"\\n\" (builtins.attrNames $*)" | jq -r . -} - -evalOptText() { - evalNix "options.$option.$*" | jq -r . -} - -showSyntax() { - echo "$0: [-I path] <option>" >&2 - evalOptAttrs "options" - exit 1 -} - -# Parse the command line. -origArgs=("$@") -extraEvalFlags=() -option= - -while [ "$#" -gt 0 ]; do - i="$1"; shift 1 - case "$i" in - --help) - showSyntax - ;; - -I) - if [ -z "$1" ]; then - echo "$0: ‘$i’ requires an argument" - exit 1 - fi - j="$1"; shift 1 - extraEvalFlags+=("$i" "$j") - ;; - *) - option="$i" - ;; - esac -done - -if [ -z "$option" ]; then showSyntax; fi - -if [ "$(evalOpt "_type")" = '"option"' ]; then - echo "Value:" - evalOpt "value" || echo "no value" - echo - echo "Default:" - evalOpt "default" || evalOptText "defaultText" || echo "no default" - echo - echo "Example:" - if [ "$(evalOpt "example._type")" = '"literalExpression"' ]; then - evalOptText "example.text" || echo "no example" - else - evalOpt "example" || echo "no example" - fi - echo - echo "Description:" - evalOptText "description.text" || echo "no description" - echo -else - evalOptAttrs "options.$option" -fi diff --git a/result/sw/bin/darwin-rebuild b/result/sw/bin/darwin-rebuild deleted file mode 100755 index 798fe6ab..00000000 --- a/result/sw/bin/darwin-rebuild +++ /dev/null @@ -1,262 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -set -e -set -o pipefail - -if [[ $(id -u) -eq 0 ]]; then - # On macOS, `sudo(8)` preserves `$HOME` by default, which causes Nix - # to output warnings. - HOME=~root -fi - -export PATH=/nix/store/bcdc67d3d3jkbl35ccxmvyan5kmic9lc-coreutils-9.7/bin:/nix/store/04gj0cpc6mv0pkyz114p23fq65zx8mbx-jq-1.8.0-bin/bin:/nix/store/ir2bhb7n3ngh0dg7p6jbhm1wa4d8gkb7-git-2.49.0/bin:/nix/store/zln77pckyb4ky96vb4vqq6flgiifvbcy-nix-2.28.3/bin:$HOME/.nix-profile/bin:/etc/profiles/per-user/$USER/bin:/run/current-system/sw/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin -export NIX_PATH=${NIX_PATH:-nixpkgs=flake:nixpkgs:/nix/var/nix/profiles/per-user/root/channels} - -# Use the daemon even as `root` so that resource limits, TLS and proxy -# configuration, etc. work as expected. -export NIX_REMOTE=${NIX_REMOTE:-daemon} - -showSyntax() { - echo "darwin-rebuild [--help] {edit | switch | activate | build | check | changelog}" >&2 - echo " [--list-generations] [{--profile-name | -p} name] [--rollback]" >&2 - echo " [{--switch-generation | -G} generation] [--verbose...] [-v...]" >&2 - echo " [-Q] [{--max-jobs | -j} number] [--cores number] [--dry-run]" >&2 - echo " [--keep-going | -k] [--keep-failed | -K] [--fallback] [--show-trace]" >&2 - echo " [--print-build-logs | -L] [--impure] [-I path]" >&2 - echo " [--option name value] [--arg name value] [--argstr name value]" >&2 - echo " [--no-flake | [--flake flake]" >&2 - echo " [--commit-lock-file] [--recreate-lock-file]" >&2 - echo " [--no-update-lock-file] [--no-write-lock-file]" >&2 - echo " [--override-input input flake] [--update-input input]" >&2 - echo " [--no-registries] [--offline] [--refresh]]" >&2 - echo " [--substituters substituters-list] ..." >&2 - exit 1 -} - -# Parse the command line. -origArgs=("$@") -extraMetadataFlags=() -extraBuildFlags=() -extraLockFlags=() -extraProfileFlags=() -profile=/nix/var/nix/profiles/system -action= -flake= -noFlake= - -while [ $# -gt 0 ]; do - i=$1; shift 1 - case $i in - --help) - showSyntax - ;; - edit|switch|activate|build|check|changelog) - action=$i - ;; - --show-trace|--keep-going|--keep-failed|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--offline) - extraMetadataFlags+=("$i") - extraBuildFlags+=("$i") - ;; - --no-build-hook|--dry-run|-k|-K|-Q) - extraBuildFlags+=("$i") - ;; - -j[0-9]*) - extraBuildFlags+=("$i") - ;; - --max-jobs|-j|--cores|-I) - if [ $# -lt 1 ]; then - echo "$0: '$i' requires an argument" - exit 1 - fi - j=$1; shift 1 - extraBuildFlags+=("$i" "$j") - ;; - --arg|--argstr|--option) - if [ $# -lt 2 ]; then - echo "$0: '$i' requires two arguments" - exit 1 - fi - j=$1 - k=$2 - shift 2 - extraMetadataFlags+=("$i" "$j" "$k") - extraBuildFlags+=("$i" "$j" "$k") - ;; - --flake) - flake=$1 - shift 1 - ;; - --no-flake) - noFlake=1 - ;; - -L|-vL|--print-build-logs|--impure|--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file|--refresh) - extraLockFlags+=("$i") - ;; - --update-input) - j="$1"; shift 1 - extraLockFlags+=("$i" "$j") - ;; - --override-input) - j="$1"; shift 1 - k="$1"; shift 1 - extraLockFlags+=("$i" "$j" "$k") - ;; - --list-generations) - action="list" - extraProfileFlags=("$i") - ;; - --rollback) - action="rollback" - extraProfileFlags=("$i") - ;; - --switch-generation|-G) - action="rollback" - if [ $# -lt 1 ]; then - echo "$0: '$i' requires an argument" - exit 1 - fi - j=$1; shift 1 - extraProfileFlags=("$i" "$j") - ;; - --profile-name|-p) - if [ -z "$1" ]; then - echo "$0: '$i' requires an argument" - exit 1 - fi - if [ "$1" != system ]; then - profile="/nix/var/nix/profiles/system-profiles/$1" - mkdir -p -m 0755 "$(dirname "$profile")" - fi - shift 1 - ;; - --substituters) - if [ -z "$1" ]; then - echo "$0: '$i' requires an argument" - exit 1 - fi - j=$1; shift 1 - extraMetadataFlags+=("$i" "$j") - extraBuildFlags+=("$i" "$j") - ;; - *) - echo "$0: unknown option '$i'" - exit 1 - ;; - esac -done - -if [ -z "$action" ]; then showSyntax; fi - -if [[ $action =~ ^switch|activate|rollback|check$ && $(id -u) -ne 0 ]]; then - printf >&2 '%s: system activation must now be run as root\n' "$0" - exit 1 -fi - -flakeFlags=(--extra-experimental-features 'nix-command flakes') - -# Use /etc/nix-darwin/flake.nix if it exists. It can be a symlink to the -# actual flake. -if [[ -z $flake && -e /etc/nix-darwin/flake.nix && -z $noFlake ]]; then - flake="$(dirname "$(readlink -f /etc/nix-darwin/flake.nix)")" -fi - -# For convenience, use the hostname as the default configuration to -# build from the flake. -if [[ -n "$flake" ]]; then - if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then - flake="${BASH_REMATCH[1]}" - flakeAttr="${BASH_REMATCH[2]}" - fi - if [[ -z "$flakeAttr" ]]; then - flakeAttr=$(scutil --get LocalHostName) - fi - flakeAttr=darwinConfigurations.${flakeAttr} -fi - -if [ "$action" != build ]; then - if [ -n "$flake" ]; then - extraBuildFlags+=("--no-link") - else - extraBuildFlags+=("--no-out-link") - fi -fi - -if [ "$action" = edit ]; then - if [ -z "$flake" ]; then - darwinConfig=$(nix-instantiate "${extraBuildFlags[@]}" --find-file darwin-config) - exec "${EDITOR:-vi}" "$darwinConfig" - else - exec nix "${flakeFlags[@]}" edit "${extraLockFlags[@]}" -- "$flake#$flakeAttr" - fi -fi - -if [ "$action" = switch ] || [ "$action" = build ] || [ "$action" = check ] || [ "$action" = changelog ]; then - echo "building the system configuration..." >&2 - if [ -z "$flake" ]; then - systemConfig="$(nix-build '<darwin>' "${extraBuildFlags[@]}" -A system)" - else - systemConfig=$(nix "${flakeFlags[@]}" build --json \ - "${extraBuildFlags[@]}" "${extraLockFlags[@]}" \ - -- "$flake#$flakeAttr.system" \ - | jq -r '.[0].outputs.out') - fi -fi - -if [ "$action" = list ] || [ "$action" = rollback ]; then - nix-env -p "$profile" "${extraProfileFlags[@]}" -fi - -if [ "$action" = rollback ]; then - systemConfig="$(cat $profile/systemConfig)" -fi - -if [ "$action" = activate ]; then - systemConfig=$(readlink -f "${0%*/sw/bin/darwin-rebuild}") -fi - -if [ -z "$systemConfig" ]; then exit 0; fi - -# TODO: Remove this backwards‐compatibility hack in 25.11. - -if - [[ -x $systemConfig/activate-user ]] \ - && ! grep -q '^# nix-darwin: deprecated$' "$systemConfig/activate-user" -then - hasActivateUser=1 -else - hasActivateUser= -fi - -runActivateUser() { - if [[ -n $SUDO_USER ]]; then - sudo --user="$SUDO_USER" --set-home -- "$systemConfig/activate-user" - else - printf >&2 \ - '%s: $SUDO_USER not set, can’t run legacy `activate-user` script\n' \ - "$0" - exit 1 - fi -} - -if [ "$action" = switch ]; then - nix-env -p "$profile" --set "$systemConfig" -fi - -if [ "$action" = switch ] || [ "$action" = activate ] || [ "$action" = rollback ]; then - if [[ -n $hasActivateUser ]]; then - runActivateUser - fi - "$systemConfig/activate" -fi - -if [ "$action" = changelog ]; then - ${PAGER:-less} -- "$systemConfig/darwin-changes" -fi - -if [ "$action" = check ]; then - export checkActivation=1 - if [[ -n $hasActivateUser ]]; then - runActivateUser - else - "$systemConfig/activate" - fi -fi diff --git a/result/sw/bin/darwin-uninstaller b/result/sw/bin/darwin-uninstaller deleted file mode 100755 index fbb83779..00000000 --- a/result/sw/bin/darwin-uninstaller +++ /dev/null @@ -1,62 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -set -o errexit -set -o nounset -set -o pipefail - -while [ "$#" -gt 0 ]; do - i="$1"; shift 1 - case "$i" in - --help) - echo "darwin-uninstaller: [--help]" - exit - ;; - esac -done - -echo >&2 -echo >&2 "Uninstalling nix-darwin, this will:" -echo >&2 -echo >&2 " - remove /Applications/Nix Apps symlink" -echo >&2 " - cleanup static /etc files" -echo >&2 " - disable and remove all launchd services managed by nix-darwin" -if [[ - -e /run/current-system/Library/LaunchDaemons/org.nixos.nix-daemon.plist - && -e /nix/var/nix/profiles/default/Library/LaunchDaemons/org.nixos.nix-daemon.plist -]]; then - echo >&2 " - restore nix-daemon service from the Nix installer" -fi -echo >&2 - -if [[ -t 0 ]]; then - read -r -p "Proceed? [y/n] " i - case "$i" in - y|Y) - ;; - *) - exit 3 - ;; - esac -fi - -/nix/store/qxx4pb5yy3wpdqyz7aa26gf4d6lsam73-darwin-system-25.11/sw/bin/darwin-rebuild activate - -if [[ -L /run/current-system ]]; then - rm /run/current-system -fi - -if [[ -L /run ]]; then - if [[ -e /etc/synthetic.conf ]]; then - sed -i -E '/^run[[:space:]]/d' /etc/synthetic.conf - /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -t &>/dev/null || true - echo >&2 "NOTE: the /run symlink will be removed on reboot" - else - rm /run - fi -fi - -echo >&2 -echo >&2 "NOTE: The /nix/var/nix/profiles/system* profiles still exist and won't be garbage collected." -echo >&2 -echo >&2 "Done!" -echo >&2 - diff --git a/result/sw/bin/darwin-version b/result/sw/bin/darwin-version deleted file mode 100755 index be69a362..00000000 --- a/result/sw/bin/darwin-version +++ /dev/null @@ -1,50 +0,0 @@ -#! /nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -set -e -set -o pipefail -export PATH=/nix/store/04gj0cpc6mv0pkyz114p23fq65zx8mbx-jq-1.8.0-bin/bin:$PATH - -showSyntax() { - echo "darwin-version [--help|--darwin-revision|--nixpkgs-revision|--configuration-revision|--json]" >&2 -} - -case "$1" in - --help) - showSyntax - ;; - --darwin-revision) - revision="$(jq --raw-output '.darwinRevision // "null"' < /run/current-system/darwin-version.json)" - if [[ "$revision" == "null" ]]; then - echo "$0: nix-darwin commit hash is unknown" >&2 - exit 1 - fi - echo "$revision" - ;; - --nixpkgs-revision) - revision="$(jq --raw-output '.nixpkgsRevision // "null"' < /run/current-system/darwin-version.json)" - if [[ "$revision" == "null" ]]; then - echo "$0: Nixpkgs commit hash is unknown" >&2 - exit 1 - fi - echo "$revision" - ;; - --configuration-revision) - revision="$(jq --raw-output '.configurationRevision // "null"' < /run/current-system/darwin-version.json)" - if [[ "$revision" == "null" ]]; then - echo "$0: configuration commit hash is unknown" >&2 - exit 1 - fi - echo "$revision" - ;; - --json) - cat /run/current-system/darwin-version.json - ;; - *) - label="$(jq --raw-output '.darwinLabel // "null"' < /run/current-system/darwin-version.json)" - if [[ "$label" == "null" ]]; then - showSyntax - exit 1 - fi - echo "$label" - ;; -esac - diff --git a/result/sw/bin/ex b/result/sw/bin/ex deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/ex and /dev/null differ diff --git a/result/sw/bin/info b/result/sw/bin/info deleted file mode 100755 index 5ca8f6f6..00000000 Binary files a/result/sw/bin/info and /dev/null differ diff --git a/result/sw/bin/install-info b/result/sw/bin/install-info deleted file mode 100755 index 83ce9d60..00000000 Binary files a/result/sw/bin/install-info and /dev/null differ diff --git a/result/sw/bin/karabiner-rebuild b/result/sw/bin/karabiner-rebuild deleted file mode 100755 index 17a41578..00000000 --- a/result/sw/bin/karabiner-rebuild +++ /dev/null @@ -1,4 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/bash -echo "Rebuilding karabiner configuration..." -/nix/store/gyzbq6xfb0k6vb9micgagvp8ch7b8gvs-karabiner-build - diff --git a/result/sw/bin/makeinfo b/result/sw/bin/makeinfo deleted file mode 100755 index ce4d6bba..00000000 --- a/result/sw/bin/makeinfo +++ /dev/null @@ -1,2207 +0,0 @@ -#! /nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl - -# texi2any: Texinfo converter. -# -# Copyright 2010-2024 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Original author: Patrice Dumas <pertusus@free.fr> -# Parts (also from Patrice Dumas) come from texi2html.pl or texi2html.init. - -use 5.006; - -use strict; - -use warnings; - -# Through rules in Makefile.am, directory paths set through configure are -# substituted directly in strings in the code, for example -# my $datadir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share'; -# We always use these strings as byte string, therefore we explicitly -# set no utf8 to be sure that strings in code will never be considered as -# character strings by Perl. -no utf8; - -# to decode command line arguments -use Encode qw(decode encode find_encoding); -# for file names portability -use File::Spec; -# to determine the path separator and null file -use Config; -# for dirname and fileparse -use File::Basename; -#use Cwd; -use Getopt::Long qw(GetOptions); -# for carp -#use Carp; -# for dclone -use Storable; - -use Data::Dumper; - -Getopt::Long::Configure("gnu_getopt"); - -my ($real_command_name, $command_directory, $command_suffix); - -# This big BEGIN block deals with finding modules and -# some dependencies that we ship -# * in source or -# * installed or -# * installed relative to the script -BEGIN -{ - ($real_command_name, $command_directory, $command_suffix) - = fileparse($0, '.pl'); - my $updir = File::Spec->updir(); - - # These are substituted by the Makefile to create "texi2any". - my $datadir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share'; - my $converter = 'texi2any'; - my $libdir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/lib'; - my $xsdir; - - if ($datadir eq '@' .'datadir@' - or defined($ENV{'TEXINFO_DEV_SOURCE'}) - and $ENV{'TEXINFO_DEV_SOURCE'} ne '0') - { - # Use uninstalled modules - - # To find Texinfo::ModulePath - if (defined($ENV{'top_builddir'})) { - unshift @INC, join('/', ($ENV{'top_builddir'}, 'tp')); - } else { - unshift @INC, $command_directory; - } - - require Texinfo::ModulePath; - Texinfo::ModulePath::init(undef, undef, undef, 'updirs' => 1); - } else { - # Look for modules in their installed locations. - my $modules_dir = join('/', ($datadir, $converter)); - # look for package data in the installed location. - # actually the same as $converterdatadir in main program below, but use - # another name to avoid confusion. - my $modules_converterdatadir = $modules_dir; - $xsdir = join('/', ($libdir, $converter)); - - # try to make package relocatable, will only work if - # standard relative paths are used - if (! -f join('/', ($modules_dir, 'Texinfo', 'Parser.pm')) - and -f join('/', ($command_directory, $updir, 'share', - $converter, 'Texinfo', 'Parser.pm'))) { - $modules_dir = join('/', ($command_directory, $updir, - 'share', $converter)); - $modules_converterdatadir - = join('/', ($command_directory, $updir, - 'share', $converter)); - $xsdir = join('/', ($command_directory, $updir, - 'lib', $converter)); - } - - unshift @INC, $modules_dir; - - require Texinfo::ModulePath; - Texinfo::ModulePath::init($modules_dir, $xsdir, - $modules_converterdatadir, - 'installed' => 1); - } -} # end BEGIN - -# This allows disabling use of XS modules when Texinfo is built. -BEGIN { - my $enable_xs = 'yes'; - if ($enable_xs eq 'no') { - package Texinfo::XSLoader; - our $disable_XS; - $disable_XS = 1; - } -} - -use Texinfo::XSLoader; - -use Locale::Messages; -use Texinfo::Options; -use Texinfo::Common; -use Texinfo::Config; -use Texinfo::Report; - -# determine the path separators -my $path_separator = $Config{'path_sep'}; -$path_separator = ':' if (!defined($path_separator)); -my $quoted_path_separator = quotemeta($path_separator); - - -# Paths and file names -my $curdir = File::Spec->curdir(); -my $updir = File::Spec->updir(); - -# set by configure, prefix for the sysconfdir and so on -# This could be used in the eval -my $prefix = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2'; -my $datadir; -my $datarootdir; -my $sysconfdir; -#my $pkgdatadir; -my $converter; - -# the result is not good when using rootdir, maybe using a concatenation -# of rootdir would be better. -#my $fallback_prefix = join('/', (File::Spec->rootdir(), 'usr', 'local')); -my $fallback_prefix = File::Spec->catdir(File::Spec->rootdir(), 'usr', 'local'); - -# We need to eval as $prefix has to be expanded. However when we haven't -# run configure @sysconfdir will be expanded as an array, thus we verify -# whether configure was run or not -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/etc' ne '@' . 'sysconfdir@') { - $sysconfdir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/etc"'; -} else { - $sysconfdir = "$fallback_prefix/etc"; -} - -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share' ne '@' . 'datarootdir@') { - $datarootdir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share"'; -} else { - $datarootdir = "$fallback_prefix/share"; -} - -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share' ne '@' . 'datadir@' and 'texinfo' ne '@' . 'PACKAGE@') { - $datadir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share"'; - my $package = 'texinfo'; - $converter = 'texi2any'; -} else { - $datadir = "$fallback_prefix/share"; - $converter = 'texi2any'; -} - -my $extensions_dir; -if ($Texinfo::ModulePath::texinfo_uninstalled) { - $extensions_dir = join('/', ($Texinfo::ModulePath::top_srcdir, 'tp', 'ext')); -} else { - $extensions_dir - = join('/', ($Texinfo::ModulePath::converterdatadir, 'ext')); -} - -my $internal_extension_dirs = [$extensions_dir]; - - -# initial setup of messages internalisation framework -# work-around in case libintl-perl do not do it itself -# see http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html#The-LANGUAGE-variable - -if ((defined($ENV{"LC_ALL"}) and $ENV{"LC_ALL"} =~ /^(C|POSIX)$/) - or (defined($ENV{"LANG"}) and $ENV{"LANG"} =~ /^(C|POSIX)$/)) { - delete $ENV{"LANGUAGE"} if defined($ENV{"LANGUAGE"}); -} - -#my $messages_textdomain = 'texinfo'; -my $messages_textdomain = 'texinfo'; -$messages_textdomain = 'texinfo' if ($messages_textdomain eq '@'.'PACKAGE@'); -my $strings_textdomain = 'texinfo' . '_document'; -$strings_textdomain = 'texinfo_document' - if ($strings_textdomain eq '@'.'PACKAGE@' . '_document'); - -# we want a reliable way to switch locale, so we don't use the system -# gettext. -Locale::Messages->select_package('gettext_pp'); - -# Note: this uses installed messages even when the program is uninstalled -Locale::Messages::bindtextdomain($messages_textdomain, - File::Spec->catdir($datadir, 'locale')); - - -# Set initial configuration - -# Version setting is complicated, because we cope with -# * script with configure values substituted or not -# * script shipped as part of texinfo or as a standalone perl module -# (although standalone module infrastructure was removed in 2019) - -# When the script could be shipped with perl modules independently from -# the remaining of Texinfo, $hardcoded_version was set to undef here -# by a sed one liner. The consequence is that configure.ac is not used -# to retrieve the version number, version came from Texinfo::Common in that -# case. -# Otherwise this is only used as a safety value, and should never be used -# in practice as a regexp extracts the version from configure.ac. -my $hardcoded_version = "0.00-hardcoded"; -# Version set in configure.ac -my $configured_version = '7.2'; -if ($configured_version eq '@' . 'PACKAGE_VERSION@') { - # if not configured, and $hardcoded_version is set search for the version - # in configure.ac - if (defined($hardcoded_version)) { - if (open(CONFIGURE, - "< ".File::Spec->catfile($Texinfo::ModulePath::top_srcdir, - 'configure.ac'))) { - while (<CONFIGURE>) { - if (/^AC_INIT\(\[[^\]]+\]\s*,\s*\[([^\]]+)\]\s*,/) { - $configured_version = "$1+dev"; # +dev to distinguish from installed - last; - } - } - close (CONFIGURE); - } - # This should never be used, but is a safety value - $configured_version = $hardcoded_version if (!defined($configured_version)); - } else { - # was used in the standalone perl module, as $hardcoded_version is undef - # and it should never be configured in that setup. - require Texinfo::Common; - $configured_version = $Texinfo::Common::VERSION; - } -} - -# Compare the version of this file with the version of the modules -# it is using. If they are different, don't go any further. This -# can happen if multiple versions of texi2any are installed under a -# different names, e.g. with the --program-suffix option to 'configure'. -# The version in Common.pm is checked because that file has been present -# since Texinfo 5.0 (the first release with texi2any in Perl). -if ($configured_version ne $Texinfo::Common::VERSION - and $configured_version ne $Texinfo::Common::VERSION."+dev") { - warn "This is texi2any $configured_version but modules ". - "for texi2any $Texinfo::Common::VERSION found!\n"; - die "Your installation of Texinfo is broken; aborting.\n"; -} - -my $configured_package = 'texinfo'; -$configured_package = 'texinfo' if ($configured_package eq '@' . 'PACKAGE@'); -my $configured_name = 'GNU Texinfo'; -$configured_name = 'GNU Texinfo' - if ($configured_name eq '@' .'PACKAGE_NAME@'); -my $configured_name_version = "$configured_name $configured_version"; -my $configured_url = 'https://www.gnu.org/software/texinfo/'; -$configured_url = 'https://www.gnu.org/software/texinfo/' - if ($configured_url eq '@' .'PACKAGE_URL@'); - -my $texinfo_dtd_version = '7.2'; -# $hardcoded_version is undef for a standalone perl module (standalone -# infrastructure was removed in 2019). The code is kept in case it becomes -# useful again, for a standalone perl module or in some specific cases. -if ($texinfo_dtd_version eq '@' . 'TEXINFO_DTD_VERSION@') { - $texinfo_dtd_version = undef; - if (defined($hardcoded_version)) { - if (open(CONFIGURE, - "< ".File::Spec->catfile($Texinfo::ModulePath::top_srcdir, - 'configure.ac'))) { - while (<CONFIGURE>) { - if (/^TEXINFO_DTD_VERSION=([0-9]\S*)/) { - $texinfo_dtd_version = "$1"; - last; - } - } - close (CONFIGURE); - } - } -} - -# the encoding used to decode command line arguments, and also for -# file names encoding, perl is expecting sequences of bytes, not unicode -# code points. -my $locale_encoding; - -eval 'require I18N::Langinfo'; -if (!$@) { - $locale_encoding = I18N::Langinfo::langinfo(I18N::Langinfo::CODESET()); - $locale_encoding = undef if ($locale_encoding eq ''); -} - -if (!defined($locale_encoding) and $^O eq 'MSWin32') { - eval 'require Win32::API'; - if (!$@) { - Win32::API::More->Import("kernel32", "int GetACP()"); - my $CP = GetACP(); - if (defined($CP)) { - $locale_encoding = 'cp'.$CP; - } - } -} - -# Used in case it is not hardcoded in configure and for standalone perl module -$texinfo_dtd_version = $configured_version - if (!defined($texinfo_dtd_version)); - -my $configured_information = { - 'PACKAGE_VERSION' => $configured_version, - 'PACKAGE' => $configured_package, - 'PACKAGE_NAME' => $configured_name, - 'PACKAGE_AND_VERSION' => $configured_name_version, - 'PACKAGE_URL' => $configured_url, -}; - -# options set in the main program. -my $main_program_set_options = { - 'PROGRAM' => $real_command_name, - 'TEXINFO_DTD_VERSION' => $texinfo_dtd_version, - 'COMMAND_LINE_ENCODING' => $locale_encoding, - 'MESSAGE_ENCODING' => $locale_encoding, - 'LOCALE_ENCODING' => $locale_encoding, - # better than making it the default value independently of the implementation - 'TEXINFO_OUTPUT_FORMAT' => 'info', -}; - -# set configure information as constants -foreach my $configured_variable (keys(%$configured_information)) { - Texinfo::Common::set_build_constant($configured_variable, - $configured_information->{$configured_variable}); - # set also with _CONFIG prepended, as in C code. - Texinfo::Common::set_build_constant($configured_variable.'_CONFIG', - $configured_information->{$configured_variable}); -} - -foreach my $configured_variable (keys(%$configured_information)) { - $main_program_set_options->{$configured_variable} - = $configured_information->{$configured_variable}; -} - -# In Windows, a character in file name is encoded according to the current -# codepage, and converted to/from UTF-16 in the filesystem. If a file name is -# not encoded in the current codepage, the file name will appear with erroneous -# characters when listing file names. Also the encoding and decoding to -# UTF-16 may fail, especially when the codepage is 8bit while the file name -# is encoded in a multibyte encoding. -# We assume that in Windows the file names are reencoded in the current -# codepage encoding to avoid those issues. -if ($^O eq 'MSWin32') { - $main_program_set_options->{'DOC_ENCODING_FOR_INPUT_FILE_NAME'} = 0; -} - -# defaults for options relevant in the main program. Also used as -# defaults for all the converters. -my $main_program_default_options = { - %$main_program_set_options, - %Texinfo::Common::default_main_program_customization_options, -}; - - -# determine configuration directories. - -# used as part of binary strings -my $conf_file_name = 'texi2any-config.pm'; - -# When we replace a directory, we emit a warning for some time, -# using %deprecated_directories to match to the directory that -# should be used. -# In 2024 we switched to using the XDG Base Directory Specification, -# https://specifications.freedesktop.org/basedir-spec/latest/index.html -# $HOME/texinfo should be $XDG_CONFIG_HOME default: $HOME/.config/texinfo -my %deprecated_directories; - -# We use first the installation directory, and then the environment variable -# directories. -sub add_config_paths($$$$;$$) { - my $env_string = shift; - my $subdir = shift; - my $default_base_dirs = shift; - my $installation_dir = shift; - my $overriding_dirs = shift; - my $deprecated_dirs = shift; - - # read the env directories to avoid setting the overriding_dirs - # as deprecated if they are explicitely specified in the environnement - # variable. - my @xdg_result_dirs; - my %used_xdg_base_dirs; - if (defined($ENV{$env_string}) and $ENV{$env_string} ne '') { - foreach my $dir (split(':', $ENV{$env_string})) { - if ($dir ne '') { - push @xdg_result_dirs, $dir; - $used_xdg_base_dirs{$dir} = 1; - } - } - } - my @result_dirs; - my %used_base_dirs; - if (defined($installation_dir)) { - my $install_result_dir = "$installation_dir/$subdir"; - push @result_dirs, $install_result_dir; - $used_base_dirs{$installation_dir} = 1; - if ($overriding_dirs and $overriding_dirs->{$installation_dir}) { - my $deprecated_dir = $overriding_dirs->{$installation_dir}; - my $deprecated_result_dir = "$deprecated_dir/$subdir"; - if (not $used_xdg_base_dirs{$deprecated_dir}) { - $deprecated_dirs->{$deprecated_result_dir} = $install_result_dir; - push @result_dirs, $deprecated_result_dir; - $used_base_dirs{$deprecated_dir} = 1; - } - } - } - - foreach my $dir (@xdg_result_dirs) { - if (!$used_base_dirs{$dir}) { - push @result_dirs, "$dir/$subdir"; - $used_base_dirs{$dir} = 1; - } - } - - # to also use XDG Base Directory Specification defaults - #foreach my $dir (@$default_base_dirs) { - # if (!$used_base_dirs{$dir}) { - # push @result_dirs, "$dir/$subdir"; - # } - #} - return \@result_dirs; -} - -sub set_subdir_directories($$) { - my $subdir = shift; - my $deprecated_dirs = shift; - - my @result = (".$subdir"); - - my $config_home; - my $deprecated_config_home; - if (defined($ENV{'XDG_CONFIG_HOME'}) and $ENV{'XDG_CONFIG_HOME'} ne '') { - $config_home = $ENV{'XDG_CONFIG_HOME'}."/$subdir"; - } else { - if (defined($ENV{'HOME'})) { - $config_home = join('/', ($ENV{'HOME'}, '.config', $subdir)); - $deprecated_config_home = $ENV{'HOME'}.'/.'.$subdir; - $deprecated_dirs->{$deprecated_config_home} = $config_home; - } - } - push @result, $config_home - if (defined($config_home)); - - push @result, $deprecated_config_home - if (defined($deprecated_config_home)); - - my $sysconf_install_dir = "$sysconfdir/xdg"; - # associate new location to deprecated location - my $overriding_dirs = {$sysconf_install_dir => $sysconfdir}; - # in 2024, mark $sysconfdir overriden by $sysconfdir/xdg. - my $config_dirs = add_config_paths('XDG_CONFIG_DIRS', $subdir, - ['/etc/xdg'], "$sysconfdir/xdg", - $overriding_dirs, $deprecated_dirs); - push @result, @$config_dirs; - - # the following code could have been used to use XDG_DATA_DIRS for - # datadir directories and files too - #my $data_dirs = add_config_paths('XDG_DATA_DIRS', $subdir, - # ['/usr/local/share/', '/usr/share/'], $datadir); - - #push @result, @$data_dirs; - # Do not use XDG base specification for directories and files in - # datadir, there is no need for customization of those directories - # since the sysconfdir directories are already customized, just use - # the installation directory. - push @result, "$datadir/$subdir"; - - return \@result; -} - -# directories for Texinfo configuration files, as far as possible -# implementation independent. Used as part of binary strings. -# curdir and the input file path directory are prepended later on. -my $language_config_dirs - = set_subdir_directories('texinfo', \%deprecated_directories); -my @texinfo_language_config_dirs = @$language_config_dirs; - -#push @texinfo_language_config_dirs, "$sysconfdir/texinfo" -# if (defined($sysconfdir)); -#push @texinfo_language_config_dirs, "$datadir/texinfo" -# if (defined($datadir)); - -# these variables are used as part of binary strings. -my @converter_config_dirs; -my @converter_init_dirs; - -my $converter_config_dirs_array_ref - = set_subdir_directories($converter, \%deprecated_directories); - -@converter_config_dirs = ($curdir, @$converter_config_dirs_array_ref); - -#@converter_config_dirs -# = ($curdir, "$curdir/.$converter"); -#push @converter_config_dirs, $ENV{'HOME'}."/.$converter") -# if (defined($ENV{'HOME'})); -#push @converter_config_dirs, "$sysconfdir/$converter" -# if (defined($sysconfdir)); -#push @converter_config_dirs, "$datadir/$converter" -# if (defined($datadir)); - -@converter_init_dirs = @converter_config_dirs; -foreach my $texinfo_config_dir (@texinfo_language_config_dirs) { - my $init_dir = "$texinfo_config_dir/init"; - push @converter_init_dirs, $init_dir; - if ($deprecated_directories{$texinfo_config_dir}) { - $deprecated_directories{$init_dir} - = "$deprecated_directories{$texinfo_config_dir}/init"; - } -} - -# add texi2any extensions dir too, such as the init files there -# can also be loaded as regular init files. -push @converter_init_dirs, $extensions_dir; - -#print STDERR join("\n", @converter_init_dirs)."\n\n"; -#print STDERR join("\n", sort(keys(%deprecated_directories)))."\n"; - - -sub _decode_i18n_string($$) -{ - my $string = shift; - my $encoding = shift; - return decode($encoding, $string); -} - -sub _encode_message($) -{ - my $text = shift; - my $encoding = get_conf('MESSAGE_ENCODING'); - if (defined($encoding)) { - return encode($encoding, $text); - } else { - return $text; - } -} - -sub document_warn($) { - return if (get_conf('NO_WARN')); - my $text = shift; - chomp ($text); - warn(_encode_message( - sprintf(__p("program name: warning: warning_message", - "%s: warning: %s")."\n", $real_command_name, $text))); -} - -sub _decode_input($) -{ - my $text = shift; - - my $encoding = get_conf('COMMAND_LINE_ENCODING'); - if (defined($encoding)) { - return decode($encoding, $text); - } else { - return $text; - } -} - -sub _warn_deprecated_dirs($$) -{ - my $deprecated_dirs = shift; - my $deprecated_dirs_used = shift; - - if (defined($deprecated_dirs_used)) { - foreach my $dir (@$deprecated_dirs_used) { - my $dir_name = _decode_input($dir); - my $replacement_dir = _decode_input($deprecated_dirs->{$dir}); - - document_warn(sprintf(__( - "%s directory is deprecated. Use %s instead"), - $dir_name, $replacement_dir)); - } - } -} - -# arguments are binary strings. -sub locate_and_load_init_file($$;$) -{ - my $filename = shift; - my $directories = shift; - my $deprecated_dirs = shift; - - my ($files, $deprecated_dirs_used) - = Texinfo::Common::locate_file_in_dirs($filename, $directories, 0, - $deprecated_dirs); - if (defined($files)) { - my $file = $files->[0]; - # evaluate the code in the Texinfo::Config namespace - Texinfo::Config::GNUT_load_init_file($file); - } else { - document_warn(sprintf(__("could not read init file %s"), - _decode_input($filename))); - } - - if ($deprecated_dirs and $deprecated_dirs_used) { - _warn_deprecated_dirs($deprecated_dirs, $deprecated_dirs_used); - } -} - -# arguments are binary strings. -# Init files that are used in texi2any, considered -# as internal extensions code. -sub locate_and_load_extension_file($$) -{ - my $filename = shift; - my $directories = shift; - - # no possible deprecated dirs with the path passed to this sub - my ($files, $deprecated_dirs_used) - = Texinfo::Common::locate_file_in_dirs($filename, $directories, 0); - if (defined($files)) { - # evaluate the code in the Texinfo::Config namespace - my $file = $files->[0]; - Texinfo::Config::GNUT_load_init_file($file); - } else { - die _encode_message(sprintf(__("could not read extension file %s"), - _decode_input($filename))); - } -} - -sub set_from_cmdline($$) { - return &Texinfo::Config::GNUT_set_from_cmdline(@_); -} - -sub set_main_program_default($$) { - return &Texinfo::Config::GNUT_set_customization_default(@_); -} - -sub get_conf($) { - return &Texinfo::Config::texinfo_get_conf(@_); -} - -sub add_to_option_list($$) { - return &Texinfo::Config::texinfo_add_to_option_list(@_); -} - -sub remove_from_option_list($$) { - return &Texinfo::Config::texinfo_remove_from_option_list(@_); -} - -sub set_translations_encoding($) -{ - my $translations_encoding = shift; - - if (defined($translations_encoding) - and $translations_encoding ne 'us-ascii') { - my $Encode_encoding_object = find_encoding($translations_encoding); - my $perl_translations_encoding = $Encode_encoding_object->name(); - - Locale::Messages::bind_textdomain_codeset($messages_textdomain, - $translations_encoding); - if (defined($perl_translations_encoding)) { - Locale::Messages::bind_textdomain_filter($messages_textdomain, - \&_decode_i18n_string, $perl_translations_encoding); - } - } -} - - -# Setup customization and read customization files processed each time -# the program is run - -# this associates the command line options to the arrays set during -# command line parsing. -my @css_files = (); -my @css_refs = (); -my @include_dirs = (); -my @expanded_formats = (); -# note that CSS_FILES and INCLUDE_DIRECTORIES are not decoded when -# read from the command line and should be binary strings. -# TEXINFO_LANGUAGE_DIRECTORIES is not actually read from the command -# line, but it is still best to have it here, and it should also -# contain binary strings. -my $cmdline_options = { 'CSS_FILES' => \@css_files, - 'CSS_REFS' => \@css_refs, - 'INCLUDE_DIRECTORIES' => \@include_dirs, - 'TEXINFO_LANGUAGE_DIRECTORIES' - => \@texinfo_language_config_dirs, - 'EXPANDED_FORMATS' => \@expanded_formats }; - -my @conf_dirs = (); -my @prepend_dirs = (); - -# The $cmdline_options passed to Texinfo::Config::GNUT_initialize_customization -# are considered to be arrays in which items can be added or deleted both -# from the command line and from init files. $cmdline_options text values -# are set by GNUT_set_from_cmdline (aliased as set_from_cmdline) from the -# main program. $cmdline_options are also accessed in main program. -# $init_files_options are managed by Texinfo::Config, set by -# texinfo_set_from_init_file in init files. -# -# There is in addition $parser_options for parser related information -# that is not gathered otherwise. -# The configuration values are later on copied over to the parser if -# they are parser options. -my $parser_options = {'values' => {'txicommandconditionals' => 1}}; - -my $init_files_options = Texinfo::Config::GNUT_initialize_customization( - $real_command_name, $main_program_default_options, $cmdline_options); - -# Need to do that early for early messages -my $translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -set_translations_encoding($translations_encoding); - -# read initialization files. Better to do that after -# Texinfo::Config::GNUT_initialize_customization() in case loaded -# files replace default options. -my ($config_init_files, $deprecated_dirs_for_config_init) - = Texinfo::Common::locate_file_in_dirs($conf_file_name, - [ reverse(@converter_config_dirs) ], 1, - \%deprecated_directories); -if (defined($config_init_files)) { - foreach my $file (@$config_init_files) { - Texinfo::Config::GNUT_load_init_file($file); - } -} -if ($deprecated_dirs_for_config_init) { - _warn_deprecated_dirs(\%deprecated_directories, - $deprecated_dirs_for_config_init); -} - -# reset translations encodings if COMMAND_LINE_ENCODING was reset -my $set_translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -if (defined($set_translations_encoding) - and (not defined($translations_encoding) - or $set_translations_encoding ne $translations_encoding)) { - $translations_encoding = $set_translations_encoding; - set_translations_encoding($translations_encoding); -} - - -# Parse command line -my %ignored_formats; - -sub set_expansion($$) { - my $region = shift; - my $set = shift; - $set = 1 if (!defined($set)); - if ($set) { - add_to_option_list('EXPANDED_FORMATS', [$region]); - delete $ignored_formats{$region}; - } else { - remove_from_option_list('EXPANDED_FORMATS', [$region]); - $ignored_formats{$region} = 1; - } -} - -my %possible_split = ( - 'chapter' => 1, - 'section' => 1, - 'node' => 1, -); - -my $format_from_command_line = 0; - -my %converter_format_expanded_region_name = ( - 'texinfoxml' => 'xml', -); - -my %format_command_line_names = ( - 'xml' => 'texinfoxml', -); - -my %formats_table = ( - 'info' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::Info' - }, - 'plaintext' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::Plaintext' - }, - 'html' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - 'internal_links' => 1, - 'move_index_entries_after_items' => 1, - 'relate_index_entries_to_table_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::HTML' - }, - 'latex' => { - 'floats' => 1, - 'internal_links' => 1, - 'move_index_entries_after_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'module' => 'Texinfo::Convert::LaTeX' - }, - 'texinfoxml' => { - 'nodes_tree' => 1, - 'module' => 'Texinfo::Convert::TexinfoXML', - 'floats' => 1, - }, - 'texinfosxml' => { - 'nodes_tree' => 1, - 'module' => 'Texinfo::Convert::TexinfoSXML', - 'floats' => 1, - }, - 'ixinsxml' => { # note that the Texinfo tree is converted to - # 'texinfosxml', but the conversion as a whole - # is 'ixinsxml', as Texinfo tree conversion is done - # from within Texinfo::Convert::IXINSXML - 'nodes_tree' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::IXINSXML', - 'floats' => 1, - }, - 'docbook' => { - 'move_index_entries_after_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'module' => 'Texinfo::Convert::DocBook' - }, - 'epub3' => { - 'converted_format' => 'html', - 'init_file' => 'epub3.pm', - }, - 'pdf' => { - 'texi2dvi_format' => 1, - }, - 'ps' => { - 'texi2dvi_format' => 1, - }, - 'dvi' => { - 'texi2dvi_format' => 1, - }, - 'dvipdf' => { - 'texi2dvi_format' => 1, - }, - 'debugtree' => { - 'split' => 1, - 'module' => 'Texinfo::DebugTree' - }, - 'textcontent' => { - 'module' => 'Texinfo::Convert::TextContent' - }, - 'rawtext' => { - 'module' => 'Texinfo::Convert::Text' - }, - 'plaintexinfo' => { - 'module' => 'Texinfo::Convert::PlainTexinfo' - }, - 'parse' => { - }, - 'structure' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - }, -); - -my $call_texi2dvi = 0; -my @texi2dvi_args = (); - -sub set_cmdline_format($) -{ - my $set_format = shift; - set_from_cmdline('TEXINFO_OUTPUT_FORMAT', $set_format); -} - -sub set_format($) -{ - my $set_format = shift; - - my $new_output_format; - if ($format_command_line_names{$set_format}) { - $new_output_format = $format_command_line_names{$set_format}; - } else { - $new_output_format = $set_format; - } - if (!$formats_table{$new_output_format}) { - document_warn(sprintf(__( - "ignoring unrecognized TEXINFO_OUTPUT_FORMAT value `%s'\n"), - $set_format)); - } else { - Texinfo::Config::texinfo_set_from_init_file('TEXINFO_OUTPUT_FORMAT', - $new_output_format); - } -} - -sub _format_expanded_formats($) -{ - my $new_output_format = shift; - - my $default_expanded_formats = {}; - - my $converter_format; - my $expanded_region; - - if ($formats_table{$new_output_format}->{'texi2dvi_format'}) { - $call_texi2dvi = 1; - push @texi2dvi_args, '--'.$new_output_format; - $converter_format = 'tex'; - } elsif ($formats_table{$new_output_format}->{'converted_format'}) { - $converter_format - = $formats_table{$new_output_format}->{'converted_format'}; - } else { - $converter_format = $new_output_format; - } - - if ($converter_format_expanded_region_name{$converter_format}) { - $expanded_region - = $converter_format_expanded_region_name{$converter_format}; - } else { - $expanded_region = $converter_format; - } - - if ($Texinfo::Common::texinfo_output_formats{$expanded_region}) { - if ($expanded_region eq 'plaintext') { - $default_expanded_formats = {$expanded_region => 1, 'info' => 1}; - } else { - $default_expanded_formats = {$expanded_region => 1}; - } - } - return $default_expanded_formats; -} - -sub _get_converter_default($) -{ - my $option = shift; - if (defined($Texinfo::Options::converter_cmdline_options{$option})) { - return $Texinfo::Options::converter_cmdline_options{$option}; - } elsif (defined($Texinfo::Options::multiple_at_command_options{$option})) { - return $Texinfo::Options::multiple_at_command_options{$option}; - } - return undef; -} - -# translation related todo to be done when the string change anyway to -# avoid requiring translation -sub makeinfo_help() -{ - # TODO: avoid \n in translated strings. Report from Benno Schulenberg - my $makeinfo_help = - sprintf(__("Usage: %s [OPTION]... TEXINFO-FILE...\n"), - $real_command_name . $command_suffix) -."\n". -__("Translate Texinfo source documentation to various other formats, by default -Info files suitable for reading online with Emacs or standalone GNU Info. - -This program is commonly installed as both `makeinfo' and `texi2any'; -the behavior is identical, and does not depend on the installed name.\n") -."\n"; - $makeinfo_help .= __("General options:")."\n" -.__(" --document-language=STR locale to use in translating Texinfo keywords - for the output document (default C).")."\n" -.sprintf(__(" --error-limit=NUM quit after NUM errors (default %d)."), - get_conf('ERROR_LIMIT'))."\n" -.__(" --force preserve output even if errors.")."\n" -.__(" --help display this help and exit.")."\n" -.__(" --no-validate suppress node cross-reference validation.")."\n" -.__(" --no-warn suppress warnings (but not errors).")."\n" -.__(" --conf-dir=DIR search also for initialization files in DIR.")."\n" -.__(" --init-file=FILE load FILE to modify the default behavior.")."\n" -.__(" -c, --set-customization-variable VAR=VAL set customization variable VAR - to value VAL.")."\n" -.__(" --trace-includes print names of included files.")."\n" -.__(" -v, --verbose explain what is being done.")."\n" -.__(" --version display version information and exit.")."\n" -."\n"; - $makeinfo_help .= __("Output format selection (default is to produce Info):")."\n" -.__(" --docbook output Docbook XML.")."\n" -.__(" --html output HTML.")."\n" -.__(" --epub3 output EPUB 3.")."\n" -.__(" --latex output LaTeX.")."\n" -.__(" --plaintext output plain text rather than Info.")."\n" -.__(" --xml output Texinfo XML.")."\n" -.__(" --dvi, --dvipdf, --ps, --pdf call texi2dvi to generate given output, - after checking validity of TEXINFO-FILE.")."\n" -."\n"; - - $makeinfo_help .= __("General output options:")."\n" -.__( -" -E, --macro-expand=FILE output macro-expanded source to FILE, - ignoring any \@setfilename.")."\n" -.__( -" --no-headers suppress node separators, Node: lines, and menus - from Info output (thus producing plain text) - or from HTML (thus producing shorter output). - Also, if producing Info, write to - standard output by default.")."\n" -.__( -" --no-split suppress any splitting of the output; - generate only one output file.")."\n" -.__( -" --[no-]number-sections output chapter and sectioning numbers; - default is on.")."\n" -.__( -" -o, --output=DEST output to DEST. - With split output, create DEST as a directory - and put the output files there. - With non-split output, if DEST is already - a directory or ends with a /, - put the output file there. - Otherwise, DEST names the output file.")."\n" -.__( -" --disable-encoding do not output accented and special characters - in Info and plain text output based on document - encoding.")."\n" -.__( -" --enable-encoding override --disable-encoding (default).")."\n" -."\n"; - $makeinfo_help .= sprintf(__("Options for Info and plain text:")."\n" -.__( -" --fill-column=NUM break Info lines at NUM columns (default %d).")."\n" -.__( -" --footnote-style=STYLE output footnotes in Info according to STYLE: - `separate' to put them in their own node; - `end' to put them at the end of the node, in - which they are defined (this is the default).")."\n" -.__( -" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %d). - If VAL is `none', do not indent; if VAL is - `asis', preserve existing indentation.")."\n" -.__( -" --split-size=NUM split Info files at size NUM (default %d).")."\n" -."\n", - _get_converter_default('FILLCOLUMN'), - _get_converter_default('paragraphindent'), - _get_converter_default('SPLIT_SIZE')) -."\n"; - # TODO: avoid \n in translated strings, split each option in a translatable - # string. Report from Benno Schulenberg - $makeinfo_help .= __("Options for HTML: - --css-include=FILE include FILE in HTML <style> output; - read stdin if FILE is -. - --css-ref=URL generate CSS reference to URL. - --internal-links=FILE produce list of internal links in FILE. - --split=SPLIT split at SPLIT, where SPLIT may be `chapter', - `section' or `node'. - --transliterate-file-names use file names in ASCII transliteration. - --node-files produce redirection files for nodes and - anchors; default is set only if split.\n") -."\n"; - # TODO: avoid \n in translated strings. Report from Benno Schulenberg - $makeinfo_help .= __("Options for DVI/PS/PDF: - --Xopt=OPT pass OPT to texi2dvi; can be repeated.\n") -."\n"; - $makeinfo_help .= __("Input file options:")."\n" -.__(" -D VAR define the variable VAR, as with \@set.")."\n" -.__(" -D 'VAR VAL' define VAR to VAL (one shell argument).")."\n" -.__(" -I DIR append DIR to the \@include search path.")."\n" -.__(" -P DIR prepend DIR to the \@include search path.")."\n" -.__(" -U VAR undefine the variable VAR, as with \@clear.")."\n" -."\n" -.__("Conditional processing in input:")."\n" -.__(" --ifdocbook process \@ifdocbook and \@docbook even if - not generating Docbook.")."\n" -.__(" --ifhtml process \@ifhtml and \@html even if not generating HTML.")."\n" -.__(" --ifinfo process \@ifinfo even if not generating Info.")."\n" -.__(" --iflatex process \@iflatex and \@latex.")."\n" -.__(" --ifplaintext process \@ifplaintext even if not generating plain text.")."\n" -.__(" --iftex process \@iftex and \@tex.")."\n" -.__(" --ifxml process \@ifxml and \@xml.")."\n" -.__(" --no-ifdocbook do not process \@ifdocbook and \@docbook text.")."\n" -.__(" --no-ifhtml do not process \@ifhtml and \@html text.")."\n" -.__(" --no-ifinfo do not process \@ifinfo text.")."\n" -.__(" --no-iflatex do not process \@iflatex and \@latex text.")."\n" -.__(" --no-ifplaintext do not process \@ifplaintext text.")."\n" -.__(" --no-iftex do not process \@iftex and \@tex text.")."\n" -.__(" --no-ifxml do not process \@ifxml and \@xml text.")."\n" -."\n" -.__(" Also, for the --no-ifFORMAT options, do process \@ifnotFORMAT text.")."\n" -."\n"; - # TODO: split each line in a translatable string? - $makeinfo_help - .= __(" The defaults for the \@if... conditionals depend on the output format: - if generating Docbook, --ifdocbook is on and the others are off; - if generating HTML, --ifhtml is on and the others are off; - if generating Info, --ifinfo is on and the others are off; - if generating plain text, --ifplaintext is on and the others are off; - if generating LaTeX, --iflatex is on and the others are off; - if generating XML, --ifxml is on and the others are off.")."\n" -."\n"; - # TODO: avoid \n in translated strings, Report from Benno Schulenberg. - # TODO: split each line in a translatable string? - # string. Report from Benno Schulenberg - $makeinfo_help .= __("Examples: - makeinfo foo.texi write Info to foo's \@setfilename - makeinfo --html foo.texi write HTML to \@setfilename - makeinfo --xml foo.texi write Texinfo XML to \@setfilename - makeinfo --docbook foo.texi write Docbook XML to \@setfilename - makeinfo --plaintext foo.texi write plain text to standard output - makeinfo --pdf foo.texi write PDF using texi2dvi - - makeinfo --html --no-headers foo.texi write html without node lines, menus - makeinfo --number-sections foo.texi write Info with numbered sections - makeinfo --no-split foo.texi write one Info file however big\n") -."\n"; - $makeinfo_help .= __("Email bug reports to bug-texinfo\@gnu.org, -general questions and discussion to help-texinfo\@gnu.org. -Texinfo home page: https://www.gnu.org/software/texinfo/") ."\n"; - return $makeinfo_help; -} - -my $Xopt_arg_nr = 0; - -my $result_options = Getopt::Long::GetOptions ( - 'help|h' => sub { print _encode_message(makeinfo_help()); exit 0; }, - 'version|V' => sub { - print _encode_message( - "$converter (GNU texinfo) $configured_version\n\n"); - print _encode_message(sprintf __( -"Copyright (C) %s Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law.\n"), "2024"); - exit 0;}, - 'macro-expand|E=s' => sub { set_from_cmdline('MACRO_EXPAND', $_[1]); }, - 'ifhtml!' => sub { set_expansion('html', $_[1]); }, - 'ifinfo!' => sub { set_expansion('info', $_[1]); }, - 'ifxml!' => sub { set_expansion('xml', $_[1]); }, - 'ifdocbook!' => sub { set_expansion('docbook', $_[1]); }, - 'iflatex!' => sub { set_expansion('latex', $_[1]); }, - 'iftex!' => sub { set_expansion('tex', $_[1]); }, - 'ifplaintext!' => sub { set_expansion('plaintext', $_[1]); }, - 'I=s' => sub { push @texi2dvi_args, ('-'.$_[0], $_[1]); - push @include_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'conf-dir=s' => sub { push @conf_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'P=s' => sub { unshift @prepend_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'number-sections!' => sub { set_from_cmdline('NUMBER_SECTIONS', $_[1]); }, - 'number-footnotes!' => sub { set_from_cmdline('NUMBER_FOOTNOTES', $_[1]); }, - 'node-files!' => sub { set_from_cmdline('NODE_FILES', $_[1]); }, - 'footnote-style=s' => sub { - my $value = _decode_input($_[1]); - if ($value eq 'end' or $value eq 'separate') { - set_from_cmdline('footnotestyle', $value); - } else { - die _encode_message( - sprintf(__( - "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n"), - $real_command_name, $value)); - } - }, - 'split=s' => sub { my $split = _decode_input($_[1]); - if (!$possible_split{$split}) { - document_warn( - sprintf(__("%s is not a valid split possibility"), - $split)); - $split = 'node'; - } - set_from_cmdline('SPLIT', $split); }, - 'no-split' => sub { set_from_cmdline('SPLIT', ''); - set_from_cmdline('SPLIT_SIZE', undef);}, - 'headers!' => sub { set_from_cmdline('HEADERS', $_[1]); - if (!$_[1]) { - set_from_cmdline('FORMAT_MENU', 'nomenu'); - } else { - # a special value that is modified below when the - # output format is known, to be the default for that - # format, or 'menu' - set_from_cmdline('FORMAT_MENU', - 'set_format_menu_from_cmdline_header_option'); - } - if (!$_[1] - and get_conf('TEXINFO_OUTPUT_FORMAT') eq 'info') { - set_main_program_default('TEXINFO_OUTPUT_FORMAT', - 'plaintext'); - } - }, - 'output|out|o=s' => sub { - my $var = 'OUTFILE'; - if ($_[1] ne '-' and ($_[1] =~ m:/$: or -d $_[1])) { - set_from_cmdline($var, undef); - $var = 'SUBDIR'; - } - set_from_cmdline($var, _decode_input($_[1])); - push @texi2dvi_args, '-o', $_[1]; - }, - 'no-validate|no-pointer-validate' => sub { - set_from_cmdline('novalidate',$_[1]); - }, - 'no-warn' => sub { set_from_cmdline('NO_WARN', $_[1]); }, - 'verbose|v!' => sub { set_from_cmdline('VERBOSE', $_[1]); - push @texi2dvi_args, '--verbose'; }, - 'document-language=s' => sub { - my $documentlanguage = _decode_input($_[1]); - set_from_cmdline('documentlanguage', $documentlanguage); - my @messages - = Texinfo::Common::warn_unknown_language($documentlanguage); - foreach my $message (@messages) { - document_warn($message); - } - }, - 'D=s' => sub { - my $var = $_[1]; - my @field = split (/\s+/, $var, 2); - if (@field == 1) { - $parser_options->{'values'}->{_decode_input($var)} = 1; - push @texi2dvi_args, "--command=\@set $var 1"; - } else { - $parser_options->{'values'}->{_decode_input($field[0])} - = _decode_input($field[1]); - push @texi2dvi_args, "--command=\@set $field[0] $field[1]"; - } - }, - 'U=s' => sub { - delete $parser_options->{'values'}->{_decode_input($_[1])}; - push @texi2dvi_args, "--command=\@clear $_[1]"; - }, - 'init-file=s' => sub { - if (get_conf('TEST')) { - locate_and_load_init_file($_[1], [ @conf_dirs ]); - } else { - locate_and_load_init_file($_[1], [ @conf_dirs, @converter_init_dirs ], - \%deprecated_directories); - } - }, - 'set-customization-variable|c=s' => sub { - my $var_val; - if ($Texinfo::Common::non_decoded_customization_variables{$_[1]}) { - $var_val = $_[1]; - } else { - $var_val = _decode_input($_[1]); - } - if ($var_val =~ s/^(\w+)\s*=?\s*//) { - my $var = $1; - my $value = $var_val; - if ($value =~ /^undef$/i) { - $value = undef; - } - # TODO verify that it is the best. It is inconsistent with other - # customization options that have the same precedence as command - # line option when specified on the command line. This is because - # in the manual, it is said: - # "The customization variable of the same name is also read; if set, - # that overrides an environment variable setting, but not a command-line - # option." - # If read means "read from an init file" then we could change here, but - # if it means "read from the command line or an init file" we should - # keep it as it is. - if ($var eq 'TEXINFO_OUTPUT_FORMAT') { - set_format($value); - } else { - set_from_cmdline($var, $value); - } - } - }, - 'css-include=s' => \@css_files, - 'css-ref=s' => \@css_refs, - 'transliterate-file-names!' => - sub {set_from_cmdline('TRANSLITERATE_FILE_NAMES', $_[1]);}, - 'error-limit|e=i' => sub { set_from_cmdline('ERROR_LIMIT', $_[1]); }, - 'split-size=s' => sub {set_from_cmdline('SPLIT_SIZE', $_[1])}, - 'paragraph-indent|p=s' => sub { - my $value = _decode_input($_[1]); - if ($value =~ /^([0-9]+)$/ or $value eq 'none' or $value eq 'asis') { - set_from_cmdline('paragraphindent', $value); - } else { - die _encode_message(sprintf( - __("%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n"), - $real_command_name, $value)); - } - }, - 'fill-column|f=i' => sub {set_from_cmdline('FILLCOLUMN',$_[1]);}, - 'enable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING',$_[1]); - }, - 'disable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING', 0); - }, - 'trace-includes' => sub {set_from_cmdline('TRACE_INCLUDES', 1);}, - 'internal-links=s' => sub {set_from_cmdline('INTERNAL_LINKS', $_[1]);}, - 'force|F' => sub {set_from_cmdline('FORCE', $_[1]);}, - 'commands-in-node-names' => sub { ;}, - 'output-indent=i' => sub { ;}, - 'reference-limit=i' => sub { ;}, - 'Xopt=s' => sub {push @texi2dvi_args, $_[1]; $Xopt_arg_nr++}, - 'silent|quiet' => sub { push @texi2dvi_args, '--'.$_[0];}, - 'plaintext' => sub {set_cmdline_format($_[0].'');}, - 'html' => sub {set_cmdline_format($_[0].'');}, - 'epub3' => sub {set_cmdline_format($_[0].'');}, - 'latex' => sub {set_cmdline_format($_[0].'');}, - 'info' => sub {set_cmdline_format($_[0].'');}, - 'docbook' => sub {set_cmdline_format($_[0].'');}, - 'xml' => sub {set_cmdline_format('texinfoxml');}, - 'dvi' => sub {set_cmdline_format($_[0].'');}, - 'dvipdf' => sub {set_cmdline_format($_[0].'');}, - 'ps' => sub {set_cmdline_format($_[0].'');}, - 'pdf' => sub {set_cmdline_format($_[0].'');}, - 'debug=i' => sub {set_from_cmdline('DEBUG', $_[1]); - push @texi2dvi_args, '--'.$_[0]; }, -); - -exit 1 if (!$result_options); - -# those are strings combined with output so decode -my $ref_css_refs = get_conf('CSS_REFS'); -my @input_css_refs = @{$ref_css_refs}; -@$ref_css_refs = map {_decode_input($_)} @input_css_refs; - -# reset translations encoding if COMMAND_LINE_ENCODING was reset -$set_translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -if (defined($set_translations_encoding) - and (not defined($translations_encoding) - or $set_translations_encoding ne $translations_encoding)) { - $translations_encoding = $set_translations_encoding; - set_translations_encoding($translations_encoding); -} - -# Change some options depending on the settings of other ones set formats -sub process_config($) { - my $conf = shift; - - if (defined($conf->{'TEXI2HTML'})) { - set_format('html'); - $parser_options->{'values'}->{'texi2html'} = 1; - } -} - -process_config($cmdline_options); - -my $latex2html_file = 'latex2html.pm'; -if (defined($cmdline_options->{'HTML_MATH'}) - and $cmdline_options->{'HTML_MATH'} eq 'l2h') { - locate_and_load_extension_file($latex2html_file, $internal_extension_dirs); -} - -my $tex4ht_file = 'tex4ht.pm'; -if (defined($cmdline_options->{'HTML_MATH'}) - and $cmdline_options->{'HTML_MATH'} eq 't4h') { - locate_and_load_extension_file($tex4ht_file, $internal_extension_dirs); -} - -my $highlight_syntax_file = 'highlight_syntax.pm'; -if ($cmdline_options->{'HIGHLIGHT_SYNTAX'}) { - locate_and_load_extension_file($highlight_syntax_file, - $internal_extension_dirs); -} - -# For tests, set some strings to values not changing with releases -my %test_conf = ( - 'PACKAGE_VERSION' => '', - 'PACKAGE' => 'texinfo', - 'PACKAGE_NAME' => 'GNU Texinfo', - 'PACKAGE_AND_VERSION' => 'texinfo', - 'PACKAGE_URL' => 'https://www.gnu.org/software/texinfo/', -# maybe don't set this? - 'PROGRAM' => 'texi2any', -); -if (get_conf('TEST')) { - foreach my $conf (keys (%test_conf)) { - $main_program_default_options->{$conf} = $test_conf{$conf}; - } -} - -my @input_file_suffixes = ('.txi','.texinfo','.texi','.txinfo',''); - -my %format_names = ( - 'info' => 'Info', - 'html' => 'HTML', - 'docbook' => 'DocBook', - 'epub3' => 'EPUB 3', - 'plaintext' => 'Plain Text', - 'texinfoxml' => 'Texinfo XML', -); - -sub format_name($) -{ - my $format = shift; - if ($format_names{$format}) { - return $format_names{$format}; - } else { - return $format; - } -} - -my $init_file_format = Texinfo::Config::GNUT_get_format_from_init_file(); -if (defined($init_file_format)) { - set_format($init_file_format); -} - -if (defined($ENV{'TEXINFO_OUTPUT_FORMAT'}) - and $ENV{'TEXINFO_OUTPUT_FORMAT'} ne '') { - set_format(_decode_input($ENV{'TEXINFO_OUTPUT_FORMAT'})); -} - -my $output_format = get_conf('TEXINFO_OUTPUT_FORMAT'); -# for a format setup with an init file -if (defined ($formats_table{$output_format}->{'init_file'})) { - locate_and_load_extension_file($formats_table{$output_format}->{'init_file'}, - $internal_extension_dirs); -} - -if ($call_texi2dvi) { - if (defined(get_conf('OUTFILE')) and @ARGV > 1) { - die _encode_message( - sprintf( - __('%s: when generating %s, only one input FILE may be specified with -o'."\n"), - $real_command_name, format_name($output_format))); - } -} elsif($Xopt_arg_nr) { - document_warn(__('--Xopt option without printed output')); -} - -sub _exit($$) -{ - my $error_count = shift; - my $opened_files = shift; - - if ($error_count and $opened_files and !get_conf('FORCE')) { - foreach my $opened_file (keys(%$opened_files)) { - unlink ($opened_file); - delete $opened_files->{$opened_file}; - } - } - exit (1) if ($error_count and (!get_conf('FORCE') - or $error_count > get_conf('ERROR_LIMIT'))); -} - -sub handle_errors(@) -{ - my $errors = shift; - my $new_error_count = shift; - my $error_count = shift; - my $opened_files = shift; - - $error_count += $new_error_count if ($new_error_count); - _handle_errors($errors); - - _exit($error_count, $opened_files); - return $error_count; -} - -sub _handle_errors($) -{ - my $errors = shift; - foreach my $error_message (@$errors) { - if ($error_message->{'type'} eq 'error' or !get_conf('NO_WARN')) { - my $s = ''; - if (defined($error_message->{'file_name'})) { - my $file = $error_message->{'file_name'}; - - if (get_conf('TEST')) { - # otherwise out of source build fails since the file names - # are different - my ($directories, $suffix); - ($file, $directories, $suffix) = fileparse($file); - } - $s .= "$file:"; - } - if (defined($error_message->{'line_nr'})) { - $s .= $error_message->{'line_nr'} . ':'; - } - $s .= ' ' if ($s ne ''); - - $s .= _encode_message($error_message->{'error_line'}); - warn $s; - } - } -} - -# If the file overwriting becomes an error, should increase $ERROR_COUNT. -sub merge_opened_files($$$) -{ - my $error_count = shift; - my $opened_files = shift; - my $newly_opened_files = shift; - - if ($newly_opened_files) { - foreach my $opened_file (sort(keys(%$newly_opened_files))) { - # NOTE paths are not normalized, therefore different paths names - # that refers to the same file will not trigger the message. - if (exists($opened_files->{$opened_file})) { - document_warn(sprintf(__('overwriting file: %s'), - $opened_file)); - } else { - $opened_files->{$opened_file} = 1; - } - } - } - - return $error_count; -} - -# Avoid loading these modules until down here to speed up the case -# when they are not needed. - -require Texinfo::Parser; -require Texinfo::Translations; -require Texinfo::Document; -Texinfo::Document->import(); -require Texinfo::Structuring; -Texinfo::Structuring->import(); -require Texinfo::Transformations; -Texinfo::Transformations->import(); -require Texinfo::Convert::Utils; -Texinfo::Convert::Utils->import(); - -if (not get_conf('TEST') and $Texinfo::ModulePath::texinfo_uninstalled) { - push @texinfo_language_config_dirs, - join('/', ($Texinfo::ModulePath::top_srcdir, 'util')); -} - -if ($Texinfo::ModulePath::texinfo_uninstalled) { - my $locales_dir = File::Spec->catdir($Texinfo::ModulePath::tp_builddir, - 'LocaleData'); - if (-d $locales_dir) { - Texinfo::Translations::configure($locales_dir, $strings_textdomain); - } else { - warn "Locales dir for document strings not found\n"; - } -} else { - Texinfo::Translations::configure(File::Spec->catdir($datadir, 'locale'), - $strings_textdomain); -} - -my %tree_transformations; -if (get_conf('TREE_TRANSFORMATIONS')) { - my @transformations = split /,/, get_conf('TREE_TRANSFORMATIONS'); - foreach my $transformation (@transformations) { - if (Texinfo::Common::valid_tree_transformation($transformation)) { - $tree_transformations{$transformation} = 1; - } else { - document_warn(sprintf(__('unknown tree transformation %s'), - $transformation)); - } - } -} - -# in general the format name is the format being converted. If this is -# not the case, the converted format is set here. For example, for -# the epub3 format, the converted format is html. The converted format -# should be the format actually used for conversion code, in practice -# this means that the module associated with the converted format in -# $format_table will be used to find the converter methods. -my $converted_format = $output_format; -if ($formats_table{$output_format}->{'converted_format'}) { - $converted_format = $formats_table{$output_format}->{'converted_format'}; -} - -if (get_conf('SPLIT') and !$formats_table{$converted_format}->{'split'}) { - if ($converted_format ne $output_format) { - document_warn(sprintf( - __('ignoring splitting for converted format %s (for %s)'), - format_name($converted_format), format_name($output_format))); - } else { - document_warn(sprintf(__('ignoring splitting for format %s'), - format_name($converted_format))); - } - set_from_cmdline('SPLIT', ''); -} - -my $default_expanded_formats = _format_expanded_formats($output_format); -foreach my $ignored_format (keys(%ignored_formats)) { - delete $default_expanded_formats->{$ignored_format}; -} -add_to_option_list('EXPANDED_FORMATS', [sort(keys(%$default_expanded_formats))]); - -if (defined($formats_table{$converted_format}->{'module'})) { - # Speed up initialization by only loading the module we need. - my $module = $formats_table{$converted_format}->{'module'}; - eval "require $module"; - my $error = $@; - if ($error ne '') { - die _encode_message(sprintf(__("error loading %s: %s"), $module, $error)); - }; - eval "$module->import;"; - - eval '$formats_table{$converted_format}->{\'converter\'} = sub{'. - $formats_table{$converted_format}->{'module'} - .'->converter(@_)};'; -} - -# For now, FORMAT_MENU is the only variable that can be set from converter -# defaults for the main program structuring and for the parser. -# This could be done for more variables if -# converter default becomes relevant for more variables, either -# for the parser or the main program. - -# Specific variable for 'FORMAT_MENU' to keep the converter information -# even if the command line higher precedence option is set in case -# command line is set_format_menu_from_cmdline_header_option. -my $conversion_format_menu_default; -if (defined($formats_table{$converted_format}->{'module'})) { - my $converter_class = $formats_table{$converted_format}->{'module'}; - # $cmdline_options is passed to have command line settings, here - # in practice TEXI2HTML set, for conversion to HTML to select - # possibly different customization variable values. - my $converter_defaults - = $converter_class->converter_defaults($cmdline_options); - if (defined($converter_defaults->{'FORMAT_MENU'})) { - # could be done for other customization options - set_main_program_default('FORMAT_MENU', - $converter_defaults->{'FORMAT_MENU'}); - # for FORMAT_MENU need in addition to have the value if - # command-line set to 'set_format_menu_from_cmdline_header_option' - $conversion_format_menu_default = $converter_defaults->{'FORMAT_MENU'}; - } else { - # this happens for the plaintexinfo format for which nothing - # is set. - } -} - -# special case for FORMAT_MENU of delayed setting based in -# some case on converter -if (defined(get_conf('FORMAT_MENU')) - and get_conf('FORMAT_MENU') - eq 'set_format_menu_from_cmdline_header_option') { - # set FORMAT_MENU to the output format default, if not nomenu - if (defined($conversion_format_menu_default) - and $conversion_format_menu_default ne 'nomenu') { - set_from_cmdline('FORMAT_MENU', $conversion_format_menu_default); - } else { - set_from_cmdline('FORMAT_MENU', 'menu'); - } -} - -# using no warnings is wrong, but a way to avoid a spurious warning. -no warnings 'once'; -my @parser_settable_options - = keys(%Texinfo::Common::default_parser_customization_values); -# Copy relevant customization variables into the parser options. -foreach my $parser_settable_option (@parser_settable_options) { - if (defined(get_conf($parser_settable_option))) { - $parser_options->{$parser_settable_option} - = get_conf($parser_settable_option); - } -} - -# special case, show all the built in HTML CSS rules and exit -if (get_conf('SHOW_BUILTIN_CSS_RULES')) { - require Texinfo::Convert::HTML; - print STDOUT Texinfo::Convert::HTML::builtin_default_css_text(); - exit(0); -} - -# Main processing, process all the files given on the command line -# Note that the input file names are binary strings and are not decoded -my @input_files = @ARGV; -# use STDIN if not a tty, like makeinfo does -@input_files = ('-') if (!scalar(@input_files) and !-t STDIN); -die _encode_message( - sprintf(__("%s: missing file argument.\n"), $real_command_name) - .sprintf(__("Try `%s --help' for more information.\n"), $real_command_name)) - unless (scalar(@input_files) >= 1); - -# XS parser and not explicitly unset -my $XS_structuring = Texinfo::XSLoader::XS_structuring_enabled(); - -if (defined($ENV{TEXINFO_XS_EXTERNAL_CONVERSION}) - and $ENV{TEXINFO_XS_EXTERNAL_CONVERSION}) { - set_from_cmdline('XS_EXTERNAL_CONVERSION', 1); -} -if (defined($ENV{TEXINFO_XS_EXTERNAL_FORMATTING}) - and $ENV{TEXINFO_XS_EXTERNAL_FORMATTING}) { - set_from_cmdline('XS_EXTERNAL_FORMATTING', 1); -} - -my $file_number = -1; -my %opened_files; -my %main_unclosed_files; -my $error_count = 0; -# main processing -while(@input_files) { - $file_number++; - my $input_file_arg = shift(@input_files); - my $input_file_name; - if ($input_file_arg =~ /\.info$/) { - my $basename = $input_file_arg; - $basename =~ s|.*/||; - my $corrected = $basename; - $corrected =~ s/\.info$/.texi/; - document_warn(sprintf( - __('input file %s; did you mean %s?'), $basename, $corrected)); - } - # try to concatenate with different suffixes. The last suffix is '' - # such that the plain file name is checked. - foreach my $suffix (@input_file_suffixes) { - if (-e $input_file_arg.$suffix) { - $input_file_name = $input_file_arg.$suffix; - last; - } - } - # in case no file was found, still set the file name - $input_file_name = $input_file_arg if (!defined($input_file_name)); - - my ($input_filename, $input_directory, $suffix) = fileparse($input_file_name); - if (!defined($input_directory) or $input_directory eq '') { - $input_directory = $curdir; - } - - my $input_file_base = $input_file_name; - $input_file_base =~ s/\.te?x(i|info)?$//; - - # a shallow copy is not sufficient for arrays and hashes to make - # sure that the $parser_options are not modified if $parser_file_options - # are modified - my $parser_file_options = Storable::dclone($parser_options); - - my @prepended_include_directories = ($curdir); - push @prepended_include_directories, $input_directory - if ($input_directory ne $curdir); - @prepended_include_directories = - (@prepend_dirs, @prepended_include_directories); - - unshift @{$parser_file_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my $parser = Texinfo::Parser::parser($parser_file_options); - my $document = $parser->parse_texi_file($input_file_name); - - # Get the tree object. Note that if XS structuring in on, the argument - # prevents the tree being built as a Perl structure at this stage; only - # a "handle" is returned. - my $tree = $document->tree($XS_structuring); - - if (defined($tree) - and (defined(get_conf('DUMP_TREE')) - or (get_conf('DEBUG') and get_conf('DEBUG') >= 10))) { - my $tree = $document->tree(); - # this is very wrong, but a way to avoid a spurious warning. - no warnings 'once'; - local $Data::Dumper::Purity = 1; - no warnings 'once'; - local $Data::Dumper::Indent = 1; - no warnings 'once'; - local $Data::Dumper::Sortkeys = 1; - print STDERR Data::Dumper->Dump([$tree]); - } - - if (!defined($tree)) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - if ($output_format eq 'parse') { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - my $document_information = $document->global_information(); - if (get_conf('TRACE_INCLUDES')) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - my $included_file_paths = $document_information->{'included_files'}; - if (defined($included_file_paths)) { - foreach my $included_file (@$included_file_paths) { - print STDOUT "$included_file\n"; - } - } - goto NEXT; - } - - # setup a configuration Perl object which defines get_conf and set_conf, - # use the main program customization information with per-document - # customization. This allows to use functions calling get_conf and - # set_conf to manipulate customization information. - # After this is done, the customization information should not - # change enymore, and it is registered in the document and used by - # Structuring/Transformations methods needing access to configuration - # information. - # - # OUTPUT_ENCODING_NAME is set in set_output_encoding and accessed - # in set_output_perl_encoding. - # OUTPUT_PERL_ENCODING is set in set_output_perl_encoding and - # accessed in output_files_open_out for the MACRO_EXPAND file name. - # The following variables are used in Structuring/Transformations: - # novalidate, FORMAT_MENU, CHECK_NORMAL_MENU_STRUCTURE, - # CHECK_MISSING_MENU_ENTRY. And DEBUG. - # documentlanguage is used in Structuring/Transformations for - # translations. - my $main_configuration = Texinfo::MainConfig::new(); - - # encoding is needed for output files - # documentlanguage is needed for gdt() in regenerate_master_menu - Texinfo::Common::set_output_encoding($main_configuration, $document); - Texinfo::Common::set_output_perl_encoding($main_configuration); - if (not defined($main_configuration->get_conf('documentlanguage')) - and defined ($document_information->{'documentlanguage'})) { - $main_configuration->set_conf('documentlanguage', - $document_information->{'documentlanguage'}); - } - # relevant for many Structuring methods. - if ($document_information->{'novalidate'}) { - $main_configuration->set_conf('novalidate', 1); - } - - # Now that all the configuration has been set, register with the - # document - my $document_options = $main_configuration->get_customization_options_hash(); - $document->register_document_options($document_options); - - - if (defined(get_conf('MACRO_EXPAND')) and $file_number == 0) { - require Texinfo::Convert::Texinfo; - Texinfo::Convert::Texinfo->import(); - # if convert_to_texinfo is not XS code get Perl tree. - if (not (defined $ENV{TEXINFO_XS_CONVERT} - and $ENV{TEXINFO_XS_CONVERT} eq '1')) { - $tree = $document->tree(); - } - my $texinfo_text = Texinfo::Convert::Texinfo::convert_to_texinfo($tree); - #print STDERR "$texinfo_text\n"; - my $encoded_macro_expand_file_name = get_conf('MACRO_EXPAND'); - my $macro_expand_file_name = _decode_input($encoded_macro_expand_file_name); - my $macro_expand_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($macro_expand_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $macro_expand_files_information, $document, - $encoded_macro_expand_file_name); - my $error_macro_expand_file; - if (defined($macro_expand_fh)) { - print $macro_expand_fh $texinfo_text; - Texinfo::Convert::Utils::output_files_register_closed( - $macro_expand_files_information, - $encoded_macro_expand_file_name); - if (!close($macro_expand_fh)) { - document_warn(sprintf(__("error on closing macro expand file %s: %s\n"), - $macro_expand_file_name, $!)); - $error_macro_expand_file = 1; - } - } else { - document_warn(sprintf(__("could not open %s for writing: %s\n"), - $macro_expand_file_name, $error_message)); - $error_macro_expand_file = 1; - } - my $macro_expand_opened_file = - Texinfo::Convert::Utils::output_files_opened_files( - $macro_expand_files_information); - $error_macro_expand_file - = merge_opened_files($error_macro_expand_file, \%opened_files, - $macro_expand_opened_file); - - # we do not need to go through unclosed files of - # $macro_expand_files_information as we know that the file is - # already closed if needed. - if ($error_macro_expand_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - if (get_conf('DUMP_TEXI') - or $formats_table{$output_format}->{'texi2dvi_format'}) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - if ($formats_table{$converted_format}->{'relate_index_entries_to_table_items'} - or $tree_transformations{'relate_index_entries_to_table_items'}) { - Texinfo::ManipulateTree::relate_index_entries_to_table_items_in_tree( - $document); - } - - if ($formats_table{$converted_format}->{'move_index_entries_after_items'} - or $tree_transformations{'move_index_entries_after_items'}) { - Texinfo::ManipulateTree::move_index_entries_after_items_in_tree($tree); - } - - if ($tree_transformations{'insert_nodes_for_sectioning_commands'}) { - Texinfo::Transformations::insert_nodes_for_sectioning_commands($document); - } - - Texinfo::Structuring::associate_internal_references($document); - - # information obtained through Texinfo::Structuring - # and useful in converters. - # every format needs the sectioning structure - my $sections_list - = Texinfo::Structuring::sectioning_structure($document); - - if ($sections_list) { - Texinfo::Document::register_document_sections_list($document, - $sections_list); - } - - if (!$formats_table{$converted_format}->{'no_warn_non_empty_parts'}) { - Texinfo::Structuring::warn_non_empty_parts($document); - } - - if ($tree_transformations{'complete_tree_nodes_menus'}) { - Texinfo::Transformations::complete_tree_nodes_menus($tree); - } elsif ($tree_transformations{'complete_tree_nodes_missing_menu'}) { - Texinfo::Transformations::complete_tree_nodes_missing_menu($document); - } - - if ($tree_transformations{'regenerate_master_menu'}) { - Texinfo::Transformations::regenerate_master_menu($document); - } - - if ($formats_table{$converted_format}->{'nodes_tree'}) { - my $nodes_list = Texinfo::Structuring::nodes_tree($document); - Texinfo::Document::register_document_nodes_list($document, $nodes_list); - - # With this condition, menu is the default for 'FORMAT_MENU'. - # However, this can only happen if - # 1) 'nodes_tree' is set for the converted format, - # 2) there is a 'module' setting a converter, such that the default set - # in Texinfo::Common is not used, - # 3) FORMAT_MENU is not set in the converter defaults. - # In practice these three conditions are never met, so the default - # is never used. - if (not defined(get_conf('FORMAT_MENU')) - or get_conf('FORMAT_MENU') eq 'menu') { - Texinfo::Structuring::set_menus_node_directions($document); - - Texinfo::Structuring::complete_node_tree_with_menus($document); - - Texinfo::Structuring::check_nodes_are_referenced($document); - } - } - if ($formats_table{$converted_format}->{'floats'}) { - Texinfo::Structuring::number_floats($document); - } - - # do it now to get error messages here - if ($formats_table{$converted_format}->{'setup_index_entries_sort_strings'}) { - Texinfo::Document::setup_indices_sort_strings($document, $document); - } - - #Texinfo::Document::rebuild_document($document); - - # parser errors - my ($errors, $new_error_count) = $document->parser_errors(); - $error_count += $new_error_count if ($new_error_count); - # document/structuring errors - my ($document_errors, $document_error_count) = $document->errors(); - $error_count += $document_error_count if ($document_error_count); - push @$errors, @$document_errors; - - _handle_errors($errors); - _exit($error_count, \%opened_files); - - if ($output_format eq 'structure') { - goto NEXT; - } - # a shallow copy is not sufficient for arrays and hashes to make - # sure that the $cmdline_options are not modified if $file_cmdline_options - # are modified - my $file_cmdline_options = Storable::dclone($cmdline_options); - - if ($file_number != 0) { - delete $file_cmdline_options->{'OUTFILE'} - if exists($file_cmdline_options->{'OUTFILE'}); - delete $file_cmdline_options->{'PREFIX'} - if exists($file_cmdline_options->{'PREFIX'}); - delete $file_cmdline_options->{'SUBDIR'} - if (exists($file_cmdline_options->{'SUBDIR'}) and get_conf('SPLIT')); - } - # the code in Texinfo::Config makes sure that the keys appear only - # once in these three hashes. - my $converter_options = { %$main_program_default_options, - %$init_files_options, - %$file_cmdline_options, - }; - - # NOTE nothing set through $main_configuration in customization registered in - # document is passed directly, which is clean, the Converters already - # have that information in $converter_options, can determine it themselves - # or use their defaults. - # It could be possible to pass some information if it allows - # for instance to have some consistent information for Structuring - # and Converters. - $converter_options->{'deprecated_config_directories'} - = \%deprecated_directories; - unshift @{$converter_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my @prepended_texinfo_language_directories = ($curdir); - push @prepended_texinfo_language_directories, $input_directory - if ($input_directory ne $curdir); - - unshift @{$converter_options->{'TEXINFO_LANGUAGE_DIRECTORIES'}}, - @prepended_texinfo_language_directories; - - my $converter = &{$formats_table{$converted_format} - ->{'converter'}}($converter_options); - $converter->output($document); - - my $converter_registrar = Texinfo::Report::new(); - my $converter_errors = $converter->get_converter_errors(); - if (defined($converter_errors)) { - foreach my $error (@$converter_errors) { - $converter_registrar->add_formatted_message($error); - } - } - - my $converter_opened_files - = Texinfo::Convert::Utils::output_files_opened_files( - $converter->output_files_information()); - $error_count = merge_opened_files($error_count, \%opened_files, - $converter_opened_files); - handle_errors($converter_registrar->errors(), $error_count, \%opened_files); - my $converter_unclosed_files - = Texinfo::Convert::Utils::output_files_unclosed_files( - $converter->output_files_information()); - if ($converter_unclosed_files) { - foreach my $unclosed_file (keys(%$converter_unclosed_files)) { - my $fh = $converter_unclosed_files->{$unclosed_file}; - # undefined file handle means that the path comes from XS (normally - # through build_output_files_unclosed_files) but is not associated - # with a file handle yet, as a file handle can't be directly associated - # with a stream in C code, but the stream can be returned through - # an XS interface, here - # Texinfo::Convert::ConvertXS::get_unclosed_stream. - if (!defined($fh)) { - $fh = $converter->XS_get_unclosed_stream($unclosed_file); - if (!defined($fh)) { - next; - } - } - if ($unclosed_file eq '-') { - $main_unclosed_files{$unclosed_file} = $fh; - } else { - if (!close($fh)) { - warn(sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $unclosed_file, $!)); - $error_count++; - _exit($error_count, \%opened_files); - } - } - } - } - - if (defined(get_conf('INTERNAL_LINKS')) and $file_number == 0 - and $formats_table{$converted_format}->{'internal_links'}) { - my $internal_links_text - = $converter->output_internal_links(); - # always create a file, even if empty. - $internal_links_text = '' if (!defined($internal_links_text)); - my $encoded_internal_links_file_name = get_conf('INTERNAL_LINKS'); - my $internal_links_file_name - = _decode_input($encoded_internal_links_file_name); - my $internal_links_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($internal_links_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $internal_links_files_information, $converter, - $encoded_internal_links_file_name); - my $error_internal_links_file; - if (defined ($internal_links_fh)) { - print $internal_links_fh $internal_links_text; - - if (!close ($internal_links_fh)) { - warn(sprintf(__("%s: error on closing internal links file %s: %s\n"), - $real_command_name, $internal_links_file_name, $!)); - $error_internal_links_file = 1; - } - Texinfo::Convert::Utils::output_files_register_closed( - $internal_links_files_information, - $encoded_internal_links_file_name); - } else { - warn(sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $internal_links_file_name, - $error_message)); - $error_internal_links_file = 1; - } - - my $internal_links_opened_file - = Texinfo::Convert::Utils::output_files_opened_files( - $internal_links_files_information); - $error_internal_links_file - = merge_opened_files($error_internal_links_file, - \%opened_files, $internal_links_opened_file); - # we do not need to go through unclosed files of - # $internal_links_files_information as we know that the file is - # already closed if needed. - - if ($error_internal_links_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - - # Texinfo::Converter::Text does not define it. Alternatively could be - # a mandated part of the converter API - if ($converter->can('reset_converter')) { - $converter->reset_converter(); - } - - if (defined(get_conf('SORT_ELEMENT_COUNT')) and $file_number == 0) { - require Texinfo::Convert::TextContent; - my $sort_element_converter_options = { %$main_program_default_options, - %$init_files_options, - %$file_cmdline_options, - }; - - unshift @{$sort_element_converter_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my $converter_element_count - = Texinfo::Convert::TextContent->converter( - $sort_element_converter_options); - - # here could be $output_format or $converted_format. - # Since $converted_format is used above for ->{'nodes_tree'}, use it - # here again. - my $use_sections - = (! $formats_table{$converted_format}->{'nodes_tree'} - or (defined($converter_element_count->get_conf('USE_NODES')) - and !$converter_element_count->get_conf('USE_NODES'))); - my ($sorted_name_counts_array, $sort_element_count_text) - = $converter_element_count->sort_element_counts($document, - $use_sections, get_conf('SORT_ELEMENT_COUNT_WORDS')); - - my $sort_element_count_file_name = get_conf('SORT_ELEMENT_COUNT'); - my ($encoded_sort_element_count_file_name, $path_encoding) - = $converter_element_count->encoded_output_file_name( - $sort_element_count_file_name); - my $sort_elem_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($sort_element_count_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $sort_elem_files_information, $converter_element_count, - $encoded_sort_element_count_file_name); - my $error_sort_element_count_file; - if (defined ($sort_element_count_fh)) { - print $sort_element_count_fh $sort_element_count_text; - - if (!close ($sort_element_count_fh)) { - warn(sprintf(__("%s: error on closing elements size file %s: %s\n"), - $real_command_name, $sort_element_count_file_name, $!)); - $error_sort_element_count_file = 1; - } - Texinfo::Convert::Utils::output_files_register_closed( - $sort_elem_files_information, - $encoded_sort_element_count_file_name); - } else { - warn(sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $sort_element_count_file_name, $!)); - $error_sort_element_count_file = 1; - } - - my $sort_element_count_file_opened_file - = Texinfo::Convert::Utils::output_files_opened_files( - $sort_elem_files_information); - $error_sort_element_count_file - = merge_opened_files($error_sort_element_count_file, - \%opened_files, $sort_element_count_file_opened_file); - - $converter_element_count->destroy(); - # we do not need to go through unclosed files of - # $sort_elem_files_information as we know that the file is - # already closed if needed. - - if ($error_sort_element_count_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - - $converter->destroy(); - NEXT: - Texinfo::Document::remove_document($document) if defined($document); -} - -foreach my $unclosed_file (keys(%main_unclosed_files)) { - if (!close($main_unclosed_files{$unclosed_file})) { - warn(sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $unclosed_file, $!)); - $error_count++; - _exit($error_count, \%opened_files); - } -} - -if ($call_texi2dvi) { - if (get_conf('DEBUG') or get_conf('VERBOSE')) { - print STDERR "EXEC " - .join('|', (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV))."\n"; - } - exec { get_conf('TEXI2DVI') } (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV); -} - -1; diff --git a/result/sw/bin/nix b/result/sw/bin/nix deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix and /dev/null differ diff --git a/result/sw/bin/nix-build b/result/sw/bin/nix-build deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-build and /dev/null differ diff --git a/result/sw/bin/nix-channel b/result/sw/bin/nix-channel deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-channel and /dev/null differ diff --git a/result/sw/bin/nix-collect-garbage b/result/sw/bin/nix-collect-garbage deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-collect-garbage and /dev/null differ diff --git a/result/sw/bin/nix-copy-closure b/result/sw/bin/nix-copy-closure deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-copy-closure and /dev/null differ diff --git a/result/sw/bin/nix-daemon b/result/sw/bin/nix-daemon deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-daemon and /dev/null differ diff --git a/result/sw/bin/nix-env b/result/sw/bin/nix-env deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-env and /dev/null differ diff --git a/result/sw/bin/nix-expr-tests b/result/sw/bin/nix-expr-tests deleted file mode 100755 index d728cd7c..00000000 Binary files a/result/sw/bin/nix-expr-tests and /dev/null differ diff --git a/result/sw/bin/nix-fetchers-tests b/result/sw/bin/nix-fetchers-tests deleted file mode 100755 index 90d75f20..00000000 Binary files a/result/sw/bin/nix-fetchers-tests and /dev/null differ diff --git a/result/sw/bin/nix-flake-tests b/result/sw/bin/nix-flake-tests deleted file mode 100755 index 7552b021..00000000 Binary files a/result/sw/bin/nix-flake-tests and /dev/null differ diff --git a/result/sw/bin/nix-hash b/result/sw/bin/nix-hash deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-hash and /dev/null differ diff --git a/result/sw/bin/nix-info b/result/sw/bin/nix-info deleted file mode 100755 index 789f953b..00000000 --- a/result/sw/bin/nix-info +++ /dev/null @@ -1,174 +0,0 @@ -#!/nix/store/nqh4lv0w7n7cw7n8vvn2gfzv804y4hk6-bash-interactive-5.2p37/bin/bash - -PATH="/nix/store/bcdc67d3d3jkbl35ccxmvyan5kmic9lc-coreutils-9.7/bin:/nix/store/0y9h913azlk672va24i34l204hv16aj6-findutils-4.10.0/bin:/nix/store/lxdrljxbda4gh4i93kp861ljrl0jixvg-gnugrep-3.12/bin:/nix/store/6474hmngypzgdkljsp60iwnr8ir4ix9g-DarwinTools-1/bin:$PATH" -IS_DARWIN="yes" - -set -eu -set -o pipefail - -DEBUG=0 -MARKDOWN=0 -HOST_OS=0 -SANDBOX=0 -while true; do - case "${1:-}" in - "") - break - ;; - -d | --debug) - set -x - DEBUG=1 - shift - ;; - -m | --markdown) - MARKDOWN=1 - HOST_OS=1 - SANDBOX=1 - shift - ;; - --host-os) - HOST_OS=1 - shift - ;; - --sandbox) - SANDBOX=1 - shift - ;; - - * ) - cat <<EOF -nix-info - get high level info to help with debugging - -Options: - - -m, --markdown formatting for a GitHub issue - implies: --host-os, --sandbox - - --sandbox include sandbox configuration - --host-os include host OS details - - -h, --help show this message - -d, --debug debug mode - -EOF - case "${1:-}" in - -h|--help) - exit 0 - ;; - *) - exit 1 - ;; - esac - esac -done - -debuglog() { - if [ $DEBUG -eq 1 ]; then - cat >&2 - else - cat > /dev/null - fi -} - -nixev() { - nix-instantiate --eval --strict -E "$1" -} - -desc_system() { - nixev 'builtins.currentSystem' -} - -desc_host_os() { - printf "%s" "$(uname -sr)" - - if [ "$IS_DARWIN" = "yes" ]; then - printf ", macOS %s" "$(sw_vers -productVersion)" - fi - - if [ -f /etc/os-release ]; then - ( - # shellcheck disable=SC1091 - . /etc/os-release - printf ", %s, %s, %s" "${NAME:-$(uname -v)}" "${VERSION:-noversion}" "${BUILD_ID:-nobuild}" - ) - fi -} - -desc_multi_user() { - if nix-build --no-out-link /nix/store/qdv28rq2xlj68lsgrar938dq38v2lh5b-multiuser.nix 2>&1 | debuglog; then - printf "yes" - else - printf "no" - fi -} - -desc_nixpkgs_path() { - nixev '<nixpkgs>' 2>/dev/null || echo "not found" -} - -channel_facts() { - find /nix/var/nix/profiles/per-user \ - -mindepth 2 \ - -maxdepth 2 \ - -name channels \ - -print0 \ - |\ - while IFS= read -r -d '' userchannelset; do - manifest="$userchannelset/manifest.nix" - - if [ -e "$manifest" ]; then - userchannels=$(nixev \ - "builtins.concatStringsSep \", \" - (map (ch: ch.name) - (import \"$manifest\"))") - - fact "channels($(echo "$manifest" | cut -d/ -f7))" \ - "$userchannels" - fi - done -} - -desc_sandbox() { - if nix-build --no-out-link /nix/store/6602zq9jmd3r4772ajw866nkzn6gk1j0-sandbox.nix 2>&1 | debuglog; then - printf "no" - elif nix-build --no-out-link /nix/store/30qhz45nwgfyns13ijq0nwrsjp8m7ypa-relaxedsandbox.nix 2>&1 | debuglog; then - printf "relaxed" - else - printf "yes" - fi -} - -fact() { - name="${1:-0}" - value="${2:-0}" - last="${3:-1}" - if [ $MARKDOWN -eq 0 ]; then - printf "%s: %s" "$name" "$value" - if [ "$last" -eq 1 ]; then - printf ", " - fi - else - printf " - %s: \`%s\`\\n" "$name" "$value" - fi - - if [ "$last" -eq 0 ]; then - echo "" - fi -} - -last_fact() { - fact "$1" "$2" 0 -} - -fact "system" "$(desc_system)" -if [ $HOST_OS -eq 1 ]; then - fact "host os" "$(desc_host_os)" -fi -fact "multi-user?" "$(desc_multi_user)" -if [ $SANDBOX -eq 1 ]; then - fact "sandbox" "$(desc_sandbox)" -fi - -fact "version" "$(nix-env --version)" -channel_facts -last_fact "nixpkgs" "$(desc_nixpkgs_path)" diff --git a/result/sw/bin/nix-instantiate b/result/sw/bin/nix-instantiate deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-instantiate and /dev/null differ diff --git a/result/sw/bin/nix-prefetch-url b/result/sw/bin/nix-prefetch-url deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-prefetch-url and /dev/null differ diff --git a/result/sw/bin/nix-shell b/result/sw/bin/nix-shell deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-shell and /dev/null differ diff --git a/result/sw/bin/nix-store b/result/sw/bin/nix-store deleted file mode 100755 index 630f9cf2..00000000 Binary files a/result/sw/bin/nix-store and /dev/null differ diff --git a/result/sw/bin/nix-store-tests b/result/sw/bin/nix-store-tests deleted file mode 100755 index 3e0d4574..00000000 Binary files a/result/sw/bin/nix-store-tests and /dev/null differ diff --git a/result/sw/bin/nix-util-tests b/result/sw/bin/nix-util-tests deleted file mode 100755 index 2c452e56..00000000 Binary files a/result/sw/bin/nix-util-tests and /dev/null differ diff --git a/result/sw/bin/pdftexi2dvi b/result/sw/bin/pdftexi2dvi deleted file mode 100755 index 31339780..00000000 --- a/result/sw/bin/pdftexi2dvi +++ /dev/null @@ -1,34 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -# special-case --version following GNU standards for identifying the -# program name. If --version is specified as other than the first -# argument, we don't output the standard name, but then, we're not -# obliged to. -if test "x$1" = x--version; then - cat <<EOF -texi2pdf (GNU Texinfo 7.2) - -Copyright (C) 2024 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -fi - -texi2dvi --pdf ${1+"$@"} diff --git a/result/sw/bin/pod2texi b/result/sw/bin/pod2texi deleted file mode 100755 index 7bb1da01..00000000 --- a/result/sw/bin/pod2texi +++ /dev/null @@ -1,839 +0,0 @@ -#! /nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl -# pod2texi -- convert Pod to Texinfo. -# Copyright 2012-2024 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Original author: Patrice Dumas <pertusus@free.fr> - -use 5.006; - -use strict; - -use warnings; - -use Getopt::Long qw(GetOptions); -# for fileparse. -use File::Basename; -use File::Spec; - -#use Pod::Simple::SimpleTree; -#use Data::Dumper; - -Getopt::Long::Configure("gnu_getopt"); -#use Pod::Simple::Debug (4); - -BEGIN -{ - my ($real_command_name, $command_directory, $command_suffix) - = fileparse($0, '.pl'); - my $updir = File::Spec->updir(); - - my $datadir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share'; - my $converter = 'texi2any'; - my $libdir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/lib'; - my $xsdir; - - my $in_source = 0; - # set if we detect that the command comes from a Perl build with Makefile.PL. - # In that case we assume that the modules should be found in directories - # already registered in paths. - my $keep_paths = 0; - - if (defined($ENV{'TEXINFO_DEV_SOURCE'}) - and $ENV{'TEXINFO_DEV_SOURCE'} ne '0') { - $in_source = 1; - } elsif ($datadir eq '@' .'datadir@') { - if ($0 =~ /\.pl$/) { - $in_source = 1; - } else { - $keep_paths = 1; - } - } - # in-source run - if ($in_source) { - # To find Texinfo::ModulePath - if (defined($ENV{'top_builddir'})) { - unshift @INC, File::Spec->catdir($ENV{'top_builddir'}, 'tp'); - } else { - unshift @INC, File::Spec->catdir($command_directory, $updir, 'tp'); - } - - require Texinfo::ModulePath; - Texinfo::ModulePath::init(undef, undef, undef, 'updirs' => 1); - - # To find Pod::Simple::Texinfo - if (defined($ENV{'top_srcdir'})) { - unshift @INC, File::Spec->catdir($ENV{'top_srcdir'}, - 'Pod-Simple-Texinfo', 'lib'); - } else { - unshift @INC, File::Spec->catdir($command_directory, 'lib'); - } - } elsif (!$keep_paths) { - # Look for modules in their installed locations. - my $modules_dir = File::Spec->catdir($datadir, $converter); - # look for package data in the installed location. - my $modules_converterdatadir = $modules_dir; - - # try to make package relocatable, will only work if - # standard relative paths are used - if (! -f File::Spec->catfile($modules_dir, 'Texinfo', 'Parser.pm') - and -f File::Spec->catfile($command_directory, $updir, 'share', - $converter, 'Texinfo', 'Parser.pm')) { - $modules_dir = File::Spec->catdir($command_directory, $updir, - 'share', $converter); - $modules_converterdatadir = File::Spec->catdir($command_directory, $updir, - 'share', $converter); - $xsdir = File::Spec->catdir($command_directory, $updir, - 'lib', $converter); - } - - unshift @INC, $modules_dir; - require Texinfo::ModulePath; - Texinfo::ModulePath::init($modules_dir, $xsdir, $modules_converterdatadir, - 'installed' => 1); - - # To find Pod::Simple::Texinfo - unshift @INC, File::Spec->catdir($modules_converterdatadir, - 'Pod-Simple-Texinfo'); - } -} - -use Pod::Simple::Texinfo; -use Texinfo::Common; -use Texinfo::Parser; -use Texinfo::Convert::Texinfo; -use Texinfo::Convert::NodeNameNormalization; -use Texinfo::Document; -use Texinfo::Structuring; -use Texinfo::Transformations; - -{ -# A fake package to be able to use Pod::Simple::PullParser without generating -# any output. -package Pod::Simple::PullParserRun; - -our @ISA = qw(Pod::Simple::PullParser); -sub new -{ - return shift->SUPER::new(@_); -} -sub run(){}; -} - -my ($real_command_name, $directories, $suffix) = fileparse($0); - -sub pod2texi_help() -{ - my $pod2texi_help = __("Usage: pod2texi [OPTION]... POD..."); - $pod2texi_help .= "\n\n"; - $pod2texi_help .= __("Translate Perl Pod documentation file(s) to Texinfo. There are two -basic modes of operation. First, by default, each Pod is translated to -a standalone Texinfo manual. - -Second, if --base-level is set higher than 0, each Pod is translated -to a file suitable for \@include, and one more file with a main menu -and all the \@include is generated."); - $pod2texi_help .= "\n\n"; - $pod2texi_help .= __("Options: - --appendix-sections use appendix-like sections")."\n"; - $pod2texi_help .= __(" --base-level=NUM|NAME level of the head1 commands; default 0")."\n"; - $pod2texi_help .= __(" --debug=NUM set debugging level")."\n"; - $pod2texi_help .= __(" --generate-setfilename generate \@setfilename for standalone - manuals")."\n"; - $pod2texi_help .= __(" --headings-as-sections no structuring command for sections")."\n"; - $pod2texi_help .= __(" --help display this help and exit")."\n"; - $pod2texi_help .= __(" --no-fill-section-gaps do not fill sectioning gaps")."\n"; - $pod2texi_help .= __(" --no-section-nodes use anchors for sections instead of nodes")."\n"; - $pod2texi_help .= __(" --menus generate node menus")."\n"; - $pod2texi_help .= __(" --outdir=NAME output included files in NAME. - Defaults to --subdir")."\n"; - $pod2texi_help .= __(" --output=NAME output to NAME for the first or main manual - instead of standard output")."\n"; - $pod2texi_help .= __(" --preamble=STR insert STR as beginning boilerplate. - Defaults to a minimal Texinfo document beginning")."\n"; - $pod2texi_help .= __(" --setfilename \@setfilename for the main manual")."\n"; - $pod2texi_help .= __(" --subdir=NAME include files from NAME in the main manual")."\n"; - $pod2texi_help .= __(" --top top for the main manual")."\n"; - $pod2texi_help .= __(" --unnumbered-sections do not number sections")."\n"; - $pod2texi_help .= __(" --version display version information and exit"); - $pod2texi_help .= "\n\n"; - - $pod2texi_help .= __("Email bug reports to bug-texinfo\@gnu.org, -general questions and discussion to help-texinfo\@gnu.org. -Texinfo home page: https://www.gnu.org/software/texinfo/")."\n"; - return $pod2texi_help; -} - -my $base_level = 0; -my $unnumbered_sections = 0; -my $appendix_sections = 0; -my $headings_as_sections = 0; -my $generate_node_menus = 0; -# TODO change to 0 when the time has come. -my $generate_setfilename = 1; -my $outdir; -my $output = '-'; -my $top = 'top'; -my $setfilename = undef; -my $preamble = undef; -my $subdir; -my $section_nodes = 1; -my $fill_sectioning_gaps = 1; -my $debug = 0; - -my $result_options = Getopt::Long::GetOptions ( - 'help|h' => sub { print pod2texi_help(); exit 0; }, - 'version|V' => sub {print "$real_command_name $Pod::Simple::Texinfo::VERSION\n\n"; - printf __("Copyright (C) %s Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law.\n"), "2024"; - exit 0;}, - 'base-level=s' => sub { - if ($_[1] =~ /^[0-4]$/) { - $base_level = $_[1]; - } elsif (defined($Texinfo::Common::command_structuring_level{$_[1]})) { - $base_level = $Texinfo::Common::command_structuring_level{$_[1]}; - } else { - die sprintf(__("%s: wrong argument for --base-level\n"), - $real_command_name); - } - }, - 'appendix-sections!' => \$appendix_sections, - 'fill-section-gaps!' => \$fill_sectioning_gaps, - 'generate-setfilename!' => \$generate_setfilename, - 'headings-as-sections!' => \$headings_as_sections, - 'menus!' => \$generate_node_menus, - 'outdir=s' => \$outdir, - 'output|o=s' => \$output, - 'preamble=s' => \$preamble, - 'setfilename=s' => \$setfilename, - 'subdir=s' => \$subdir, - 'top=s' => \$top, - 'section-nodes!' => \$section_nodes, - 'unnumbered-sections!' => \$unnumbered_sections, - 'debug=i' => \$debug, -); - -exit 1 if (!$result_options); - -if (!defined($outdir) and defined($subdir)) { - $outdir = $subdir; -} - -if (defined($outdir)) { - if (! -d $outdir) { - if (!mkdir($outdir)) { - die sprintf(__("%s: could not create directory %s: %s"), - $real_command_name, $outdir, $!); - } - } -} - -my $STDOUT_DOCU_NAME = 'stdout'; - -my @manuals; - -my @input_files = @ARGV; - -# use STDIN if not a tty, like makeinfo does -@input_files = ('-') if (!scalar(@input_files) and !-t STDIN); -die sprintf(__("%s: missing file argument\n"), $real_command_name) - .sprintf(__("Try `%s --help' for more information.\n"), $real_command_name) - unless (scalar(@input_files) >= 1); - -my %file_manual_title; -my %manual_name_file; -my %file_manual_name; -# First gather all the manual names -if ($base_level > 0) { - foreach my $file (@input_files) { - my $manual_name; - # we don't want to read from STDIN, as the input read would be lost - # same with named pipe and socket... - # TODO are there other file types that have the same problem? - if ($file eq '-' or -p $file or -S $file) { - # do not read file - } else { - # not really used, only the manual name is used. - my $parser = Pod::Simple::PullParserRun->new(); - $parser->parse_file($file); - my $short_title = $parser->get_short_title(); - if (defined($short_title) and $short_title =~ m/\S/) { - $file_manual_title{$file} = $short_title; - push @manuals, $short_title; - $manual_name = $short_title; - #print STDERR "NEW MANUAL: $manual_name\n"; - } else { - if (!$parser->content_seen) { - warn sprintf(__("%s: warning: %s without content\n"), - $real_command_name, $file); - } - } - } - if (!defined($manual_name)) { - if ($file eq '-') { - $manual_name = $STDOUT_DOCU_NAME; - } else { - my ($file_name, $dir, $suffix) = fileparse($file, ('.pm', '.pod')); - $manual_name = $file_name; - } - } - if (exists($manual_name_file{$manual_name}) - and $manual_name_file{$manual_name} ne $file) { - warn sprintf(__("%s: same manual name `%s' for different files: %s and %s"), - $real_command_name, $manual_name, $file, - $manual_name_file{$manual_name})."\n"; - } else { - $manual_name_file{$manual_name} = $file; - } - $file_manual_name{$file} = $manual_name; - } -} - -# return a parser and parsed tree -sub _parsed_manual_tree($$$$$) -{ - my $self = shift; - my $manual_texi = shift; - my $section_nodes = shift; - my $fill_gaps_in_sectioning = shift; - my $do_node_menus = shift; - - my $parser_options = {}; - if ($debug > 3) { - $parser_options->{'DEBUG'} = $debug - 3; - } - my $texi_parser = Texinfo::Parser::parser($parser_options); - my $document = $texi_parser->parse_texi_text($manual_texi); - my $tree = $document->tree(); - - if ($debug > 1) { - my ($error_messages, $error_count) = $document->parser_errors(); - Pod::Simple::Texinfo::print_texinfo_errors($error_messages, - $error_count, '_parsed_manual_tree'); - } - - my $identifier_target = $document->labels_information(); - - # NOTE the document customization information is not initialized - # if debug is not high. - # The functions called on the document below, and elsewhere in - # the code call get_conf for structuring information and menu - # generation on the document. - # TODO always call register_document_options(), maybe with an empty hash? - if ($debug > 3) { - # there is not much debug output in structuring code used with the - # document, but it could still be interesting to debug. - $document->register_document_options({'DEBUG' => $debug - 3}); - } - - if ($fill_gaps_in_sectioning) { - my $commands_heading_content; - if ($self->texinfo_sectioning_base_level() > 0) { - my $manual_title_texi = Pod::Simple::Texinfo::protect_text( - $self->texinfo_short_title(), 1, 1); - my $parser = Texinfo::Parser::parser(); - $commands_heading_content = $parser->parse_texi_line($manual_title_texi); - } - Texinfo::Transformations::fill_gaps_in_sectioning($tree, - $commands_heading_content); - if ($section_nodes) { - Texinfo::Transformations::insert_nodes_for_sectioning_commands( - $document); - } - } - Texinfo::Structuring::sectioning_structure($document); - $document->internal_references_information(); - # this is needed to set 'normalized' for menu entries, they are - # used in complete_tree_nodes_menus. - Texinfo::Structuring::associate_internal_references($document); - Texinfo::Transformations::complete_tree_nodes_menus($tree) - if ($section_nodes and $do_node_menus); - - if ($debug > 1) { - my ($error_messages, $error_count) = $document->errors(); - Pod::Simple::Texinfo::print_texinfo_errors($error_messages, - $error_count, '_parsed_manual_tree document'); - } - - return ($texi_parser, $document, $identifier_target); -} - -sub _fix_texinfo_tree($$$$;$$) -{ - my $self = shift; - my $manual_texi = shift; - my $section_nodes = shift; - my $fill_gaps_in_sectioning = shift; - my $do_node_menus = shift; - my $do_master_menu = shift; - - my ($texi_parser, $document, $updated_labels) - = _parsed_manual_tree($self, $manual_texi, $section_nodes, - $fill_gaps_in_sectioning, - $do_node_menus); - if ($do_master_menu) { - if ($do_node_menus) { - # It could be possible to show document errors if debug > 1 - # for example, but there should not be any error emitted, - # except maybe for errors in translations code, which are very - # unlikely. - Texinfo::Transformations::regenerate_master_menu($document, - $texi_parser); - } else { - # note that that situation cannot happen with the code as it - # is now. When _fix_texinfo_tree is called from _do_top_node_menu - # both $do_master_menu and $do_node_menus are set. - # _fix_texinfo_tree can also be called from _fix_texinfo_manual, but - # _fix_texinfo_manual is never called with a $do_master_menu argument, - # so when _fix_texinfo_tree is called from _fix_texinfo_manual, - # $do_master_menu cannot be set. - - # setup another tree with menus to do the master menu as menus are - # not done for the main tree - my ($texi_parser_menus, $document_menus, $updated_labels_menus) - = _parsed_manual_tree($self, $manual_texi, $section_nodes, - $fill_gaps_in_sectioning, 1); - my $top_node_menus = $updated_labels_menus->{'Top'}; - if ($top_node_menus and $top_node_menus->{'extra'}->{'menus'} - and scalar(@{$top_node_menus->{'extra'}->{'menus'}})) { - my $top_node_menus_menu = $top_node_menus->{'extra'}->{'menus'}->[0]; - my $top_node = $updated_labels->{'Top'}; - $top_node_menus_menu->{'parent'} = $top_node; - push @{$top_node->{'contents'}}, $top_node_menus_menu; - push @{$top_node->{'extra'}->{'menus'}}, $top_node_menus_menu; - } - } - } - return ($texi_parser, $document); -} - -sub _fix_texinfo_manual($$$$;$$) -{ - my $self = shift; - my $manual_texi = shift; - my $section_nodes = shift; - my $fill_gaps_in_sectioning = shift; - my $do_node_menus = shift; - my $do_master_menu = shift; - - my ($texi_parser, $document) - = _fix_texinfo_tree($self, $manual_texi, $section_nodes, - $fill_gaps_in_sectioning, $do_node_menus, - $do_master_menu); - my $tree = $document->tree(); - return Texinfo::Convert::Texinfo::convert_to_texinfo($tree); -} - -sub _do_top_node_menu($) -{ - my $manual_texi = shift; - my ($texi_parser, $document) - = _fix_texinfo_tree(undef, $manual_texi, 1, 0, 1, 1); - my $identifier_target = $document->labels_information(); - my $top_node_menu = $identifier_target->{'Top'}->{'extra'}->{'menus'}->[0]; - if ($top_node_menu) { - return Texinfo::Convert::Texinfo::convert_to_texinfo($top_node_menu); - } else { - return ''; - } -} - -my $file_nr = -1; -# Full manual is collected to generate the top node menu, if $section_nodes -my $full_manual = ''; -my @included; -foreach my $file (@input_files) { - $file_nr++; - my $manual_texi = ''; - my $outfile; - my $incfile; - my $outfile_name; - my $manual_name; - my $manual_title; - $manual_title = $file_manual_title{$file} - if (defined($file_manual_title{$file})); - if ($base_level == 0 and !$file_nr) { - $outfile = $output; - } else { - $manual_name = $file_manual_name{$file}; - if (defined($manual_title)) { - $outfile_name = Pod::Simple::Texinfo::pod_title_to_file_name($manual_title); - } else { - $outfile_name = $manual_name; - } - $outfile_name .= '.texi'; - if (defined($outdir)) { - $outfile = File::Spec->catfile($outdir, $outfile_name); - } else { - $outfile = $outfile_name; - } - if (defined($subdir)) { - # use / in generated Texinfo code to be as portable as possible - $incfile = "$subdir/$outfile_name"; - } else { - $incfile = $outfile_name; - } - } - - #my $pod_simple_tree = Pod::Simple::SimpleTree->new->parse_file($file)->root; - #print STDERR Data::Dumper->Dump([$pod_simple_tree])."\n"; - - my $new = Pod::Simple::Texinfo->new(); - - push @included, [$manual_name, $outfile, $incfile, $file] - if ($base_level > 0); - my $fh; - if ($outfile eq '-') { - $fh = *STDOUT; - } else { - open(OUT, ">$outfile") - or die sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $outfile, $!); - $fh = *OUT; - } - # The Texinfo output from Pod::Simple::Texinfo does not contain - # @documentencoding. We output UTF-8 as it is consistent with no - # @documentencoding, and it also because is the best choice or encoding. - # The =encoding information is not available anyway, but even if it - # was it would still be better to output UTF-8. - binmode($fh, ':encoding(utf-8)'); - - # this sets the string that $parser's output will be sent to - $new->output_string(\$manual_texi); - - $new->texinfo_generate_setfilename($generate_setfilename); - - $new->texinfo_sectioning_base_level($base_level); - if ($section_nodes) { - $new->texinfo_section_nodes(1); - } - if ($unnumbered_sections) { - $new->texinfo_sectioning_style('unnumbered'); - } elsif ($appendix_sections) { - $new->texinfo_sectioning_style('appendix'); - } elsif ($headings_as_sections) { - $new->texinfo_sectioning_style('heading'); - } - if ($base_level > 0 and @manuals) { - # names without formatting from Pod::Simple::PullParser->get_short_title - $new->texinfo_internal_pod_manuals(\@manuals); - } - - if ($debug) { - $new->texinfo_debug($debug); - if ($base_level > 0) { - print STDERR "processing $file -> $outfile ($base_level, $manual_name)\n"; - } else { - print STDERR "processing $file -> $outfile\n"; - } - } - $new->parse_file($file); - - if ($section_nodes or $fill_sectioning_gaps) { - if ($debug > 4) { - # print the manual obtained before fixing the Texinfo code to a file - open(DBGFILE, ">$outfile-dbg") - or die sprintf(__("%s: could not open %s: %s\n"), - $real_command_name, "$outfile-dbg", $!); - binmode(DBGFILE, ':encoding(utf-8)'); - print DBGFILE $manual_texi; - } - $manual_texi = _fix_texinfo_manual($new, $manual_texi, $section_nodes, - $fill_sectioning_gaps, - $generate_node_menus); - $full_manual .= $manual_texi if ($section_nodes); - } - print $fh $manual_texi; - - if ($outfile ne '-') { - close($fh) or die sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $outfile, $!); - } - - if ($base_level > 0) { - if (!$new->content_seen) { - warn sprintf(__("%s: removing %s as input file %s has no content\n"), - $real_command_name, $outfile, $file); - unlink ($outfile); - pop @included; - # if we didn't gather the short title, try now, and rename out file if found - } elsif (!defined($manual_title)) { - my $short_title = $new->texinfo_short_title; - if (defined($short_title) and $short_title =~ /\S/) { - push @manuals, $short_title; - pop @included; - my $new_outfile_name - = Pod::Simple::Texinfo::pod_title_to_file_name($short_title); - $new_outfile_name .= '.texi'; - my $new_outfile; - if (defined($outdir)) { - $new_outfile = File::Spec->catfile($outdir, $new_outfile_name); - } else { - $new_outfile = $new_outfile_name; - } - my $new_incfile; - if (defined($subdir)) { - # use / in generated Texinfo code to be as portable as possible - $new_incfile = "$subdir/$new_outfile_name"; - } else { - $new_incfile = $new_outfile_name; - } - - if ($new_outfile ne $outfile) { - unless (rename ($outfile, $new_outfile)) { - die sprintf(__("%s: rename %s failed: %s\n"), - $real_command_name, $outfile, $!); - } - } - push @included, [$short_title, $new_outfile, $new_incfile, $file]; - } - } - } -} - -if ($base_level > 0) { - my $fh; - if ($output ne '-') { - open(OUT, ">$output") - or die sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $output, $!); - $fh = *OUT; - } else { - $fh = *STDOUT; - } - - # We output UTF-8 as it is default for Texinfo and is consistent with no - # @documentencoding, and it also because is the best choice for encoding. - binmode($fh, ':encoding(utf-8)'); - - my $setfilename_string = ''; - if (defined($setfilename)) { - $setfilename_string = '@setfilename ' - . Pod::Simple::Texinfo::protect_text($setfilename)."\n"; - } - - my $preamble_result; - - if (! defined ($preamble)) { - $preamble_result = '\input texinfo -' . $setfilename_string -. "\@settitle $top -\@shorttitlepage $top -\@headings on - -\@contents - -\@node Top -\@top $top\n\n"; - } elsif ($preamble eq '-') { - $preamble_result = join("", <STDIN>); - } else { - $preamble_result = $preamble; - } - - print $fh $preamble_result; - if ($section_nodes) { - #print STDERR "\@node Top\n\@top top\n".$full_manual; - my $menu = _do_top_node_menu("\@node Top\n\@top top\n".$full_manual); - print $fh $menu."\n"; - } - foreach my $include (@included) { - my $incfile = $include->[2]; - print $fh "\@include ".Pod::Simple::Texinfo::protect_text($incfile)."\n"; - } - print $fh "\n\@bye\n"; - - if ($output ne '-') { - close($fh) or die sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $output, $!); - } -} - -if (defined($output) and $output eq '-') { - close(STDOUT) or die sprintf(__("%s: error on closing stdout: %s\n"), - $real_command_name, $!); -} - -1; - -__END__ - -=head1 NAME - -pod2texi - convert Pod to Texinfo - -=head1 SYNOPSIS - - pod2texi [OPTION]... POD... - -=head1 DESCRIPTION - -Translate Pod file(s) to Texinfo. There are two basic modes of -operation. First, by default, each Pod is translated to a standalone -Texinfo manual. - -Second, if C<--base-level> is set higher than 0, each Pod is translated -to a file suitable for C<@include>, and one more file with a main menu -and all the C<@include> is generated. - -=head1 OPTIONS - -=begin comment - -This style used for command line options is a style often seen in -Pods. Also often seen is simple =item, or a verbatim block with --help -output. More rarely =head2, very rare use of C<>. Use of C<> would -have been more in line with Texinfo @option. - -=end comment - -=over - -=item B<--appendix-sections> - -Use appendix sectioning commands (C<@appendix>, ...) instead of the -default numbered sectioning Texinfo @-commands (C<@chapter>, -C<@section>, ...). - -=item B<--base-level>=I<NUM|NAME> - -Sets the level of the C<head1> commands. It may be an integer or a -Texinfo sectioning command (without the C<@>): 1 corresponds to the -C<@chapter>/C<@unnumbered> level, 2 to the C<@section> level, and so on. -The default is 0, meaning that C<head1> commands are still output as -chapters, but the output is arranged as a standalone manual. - -If the level is not 0, the Pod file is rendered as a fragment of a -Texinfo manual suitable for C<@include>. In this case, each Pod file -has an additional sectioning command covering the entire file, one level -above the C<--base-level> value. Therefore, to make each Pod file a -chapter in a large manual, you should use C<section> as the base level. - -For an example of making Texinfo out of the Perl documentation itself, -see C<contrib/perldoc-all> in the Texinfo source distribution. - -=begin comment - -with output available at L<http://www.gnu.org/software/perl/manual>. - -=end comment - -=item B<--debug>=I<NUM> - -Set debugging level to I<NUM>. - -=item B<--generate-setfilename> - -Generate a C<@setfilename> line for standalone manuals. Can be negated -with C<--no-generate-setfilename>. Ignored if C<--base-level> is not 0. - -=item B<--headings-as-sections> - -Use headings commands (C<@heading>, ...) instead of the -default numbered sectioning Texinfo @-commands (C<@chapter>, -C<@section>, ...). The sectioning command covering the entire -file output for each Pod file if B<--base-level> is not 0 is a -numbered command. - -=item B<--help> - -Display help and exit. - -=item B<--menus> - -Output node menus. If there is a main manual, its Top node menu -is always output, since a master menu is generated. Other nodes -menus are not output in the default case. - -=item B<--outdir>=I<NAME> - -If there is a main manual with include files (each corresponding to -an input Pod file), then the generated Texinfo files are put in -directory I<NAME>. Default is based on C<--subdir>. - -=item B<--output>=I<NAME> - -Name for the first manual, or the main manual if there is a main manual. -Default is to write to standard output. - -=item B<--no-section-nodes> - -Use anchors for sections instead of nodes. - -=item B<--no-fill-section-gaps> - -Do not fill sectioning gaps with empty C<@unnumbered> files. -Ordinarily, it's good to keep the sectioning hierarchy intact. - -=item B<--preamble>=I<STR> - -Insert I<STR> as top boilerplate before menu and includes. If I<STR> is -set to C<->, read the top boilerplate from the standard input. The default top -boilerplate is a minimal beginning for a Texinfo document. - -=item B<--setfilename>=I<STR> - -Use I<STR> in top boilerplate before menu and includes for C<@setfilename> -for the main manual, if C<--base-level> is not set to 0. Ignored if -C<--base-level> is 0. No C<@setfilename> is output in the default case -for the main manual. - -=item B<--subdir>=I<NAME> - -If there is a main manual with include files (each corresponding to -an input Pod file), then those include files are included from I<NAME>. - -If C<--outdir> is set, I<NAME> should in general be set to the relative -directory between the main manual and C<--outdir> argument. - -=item B<--unnumbered-sections> - -Use unnumbered sectioning commands (C<@unnumbered>, ...) instead of the -default numbered sectioning Texinfo @-commands (C<@chapter>, -C<@section>, ...). - -=item B<--top>=I<TOP> - -Name of the C<@top> element for the main manual. May contain Texinfo code. - -=item B<--version> - -Display version information and exit. - -=back - -=head1 SEE ALSO - -L<Pod::Simple::Texinfo>. L<perlpod>. The Texinfo manual. -Texinfo home page: L<https://www.gnu.org/software/texinfo/> - -=head1 COPYRIGHT AND LICENSE - -Copyright 2012-2024 Free Software Foundation, Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3 of the License, -or (at your option) any later version. - -There is NO WARRANTY, to the extent permitted by law. - -=head1 AUTHOR - -Patrice Dumas E<lt>bug-texinfo@gnu.orgE<gt>. - -=cut diff --git a/result/sw/bin/rview b/result/sw/bin/rview deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/rview and /dev/null differ diff --git a/result/sw/bin/rvim b/result/sw/bin/rvim deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/rvim and /dev/null differ diff --git a/result/sw/bin/sh b/result/sw/bin/sh deleted file mode 100755 index 9a81080f..00000000 Binary files a/result/sw/bin/sh and /dev/null differ diff --git a/result/sw/bin/texi2any b/result/sw/bin/texi2any deleted file mode 100755 index ce4d6bba..00000000 --- a/result/sw/bin/texi2any +++ /dev/null @@ -1,2207 +0,0 @@ -#! /nix/store/gsgrv076sl8gkq6pmr8q3x77kk41ygbw-perl-5.40.0/bin/perl - -# texi2any: Texinfo converter. -# -# Copyright 2010-2024 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Original author: Patrice Dumas <pertusus@free.fr> -# Parts (also from Patrice Dumas) come from texi2html.pl or texi2html.init. - -use 5.006; - -use strict; - -use warnings; - -# Through rules in Makefile.am, directory paths set through configure are -# substituted directly in strings in the code, for example -# my $datadir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share'; -# We always use these strings as byte string, therefore we explicitly -# set no utf8 to be sure that strings in code will never be considered as -# character strings by Perl. -no utf8; - -# to decode command line arguments -use Encode qw(decode encode find_encoding); -# for file names portability -use File::Spec; -# to determine the path separator and null file -use Config; -# for dirname and fileparse -use File::Basename; -#use Cwd; -use Getopt::Long qw(GetOptions); -# for carp -#use Carp; -# for dclone -use Storable; - -use Data::Dumper; - -Getopt::Long::Configure("gnu_getopt"); - -my ($real_command_name, $command_directory, $command_suffix); - -# This big BEGIN block deals with finding modules and -# some dependencies that we ship -# * in source or -# * installed or -# * installed relative to the script -BEGIN -{ - ($real_command_name, $command_directory, $command_suffix) - = fileparse($0, '.pl'); - my $updir = File::Spec->updir(); - - # These are substituted by the Makefile to create "texi2any". - my $datadir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share'; - my $converter = 'texi2any'; - my $libdir = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/lib'; - my $xsdir; - - if ($datadir eq '@' .'datadir@' - or defined($ENV{'TEXINFO_DEV_SOURCE'}) - and $ENV{'TEXINFO_DEV_SOURCE'} ne '0') - { - # Use uninstalled modules - - # To find Texinfo::ModulePath - if (defined($ENV{'top_builddir'})) { - unshift @INC, join('/', ($ENV{'top_builddir'}, 'tp')); - } else { - unshift @INC, $command_directory; - } - - require Texinfo::ModulePath; - Texinfo::ModulePath::init(undef, undef, undef, 'updirs' => 1); - } else { - # Look for modules in their installed locations. - my $modules_dir = join('/', ($datadir, $converter)); - # look for package data in the installed location. - # actually the same as $converterdatadir in main program below, but use - # another name to avoid confusion. - my $modules_converterdatadir = $modules_dir; - $xsdir = join('/', ($libdir, $converter)); - - # try to make package relocatable, will only work if - # standard relative paths are used - if (! -f join('/', ($modules_dir, 'Texinfo', 'Parser.pm')) - and -f join('/', ($command_directory, $updir, 'share', - $converter, 'Texinfo', 'Parser.pm'))) { - $modules_dir = join('/', ($command_directory, $updir, - 'share', $converter)); - $modules_converterdatadir - = join('/', ($command_directory, $updir, - 'share', $converter)); - $xsdir = join('/', ($command_directory, $updir, - 'lib', $converter)); - } - - unshift @INC, $modules_dir; - - require Texinfo::ModulePath; - Texinfo::ModulePath::init($modules_dir, $xsdir, - $modules_converterdatadir, - 'installed' => 1); - } -} # end BEGIN - -# This allows disabling use of XS modules when Texinfo is built. -BEGIN { - my $enable_xs = 'yes'; - if ($enable_xs eq 'no') { - package Texinfo::XSLoader; - our $disable_XS; - $disable_XS = 1; - } -} - -use Texinfo::XSLoader; - -use Locale::Messages; -use Texinfo::Options; -use Texinfo::Common; -use Texinfo::Config; -use Texinfo::Report; - -# determine the path separators -my $path_separator = $Config{'path_sep'}; -$path_separator = ':' if (!defined($path_separator)); -my $quoted_path_separator = quotemeta($path_separator); - - -# Paths and file names -my $curdir = File::Spec->curdir(); -my $updir = File::Spec->updir(); - -# set by configure, prefix for the sysconfdir and so on -# This could be used in the eval -my $prefix = '/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2'; -my $datadir; -my $datarootdir; -my $sysconfdir; -#my $pkgdatadir; -my $converter; - -# the result is not good when using rootdir, maybe using a concatenation -# of rootdir would be better. -#my $fallback_prefix = join('/', (File::Spec->rootdir(), 'usr', 'local')); -my $fallback_prefix = File::Spec->catdir(File::Spec->rootdir(), 'usr', 'local'); - -# We need to eval as $prefix has to be expanded. However when we haven't -# run configure @sysconfdir will be expanded as an array, thus we verify -# whether configure was run or not -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/etc' ne '@' . 'sysconfdir@') { - $sysconfdir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/etc"'; -} else { - $sysconfdir = "$fallback_prefix/etc"; -} - -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share' ne '@' . 'datarootdir@') { - $datarootdir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share"'; -} else { - $datarootdir = "$fallback_prefix/share"; -} - -if ('/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share' ne '@' . 'datadir@' and 'texinfo' ne '@' . 'PACKAGE@') { - $datadir = eval '"/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share"'; - my $package = 'texinfo'; - $converter = 'texi2any'; -} else { - $datadir = "$fallback_prefix/share"; - $converter = 'texi2any'; -} - -my $extensions_dir; -if ($Texinfo::ModulePath::texinfo_uninstalled) { - $extensions_dir = join('/', ($Texinfo::ModulePath::top_srcdir, 'tp', 'ext')); -} else { - $extensions_dir - = join('/', ($Texinfo::ModulePath::converterdatadir, 'ext')); -} - -my $internal_extension_dirs = [$extensions_dir]; - - -# initial setup of messages internalisation framework -# work-around in case libintl-perl do not do it itself -# see http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html#The-LANGUAGE-variable - -if ((defined($ENV{"LC_ALL"}) and $ENV{"LC_ALL"} =~ /^(C|POSIX)$/) - or (defined($ENV{"LANG"}) and $ENV{"LANG"} =~ /^(C|POSIX)$/)) { - delete $ENV{"LANGUAGE"} if defined($ENV{"LANGUAGE"}); -} - -#my $messages_textdomain = 'texinfo'; -my $messages_textdomain = 'texinfo'; -$messages_textdomain = 'texinfo' if ($messages_textdomain eq '@'.'PACKAGE@'); -my $strings_textdomain = 'texinfo' . '_document'; -$strings_textdomain = 'texinfo_document' - if ($strings_textdomain eq '@'.'PACKAGE@' . '_document'); - -# we want a reliable way to switch locale, so we don't use the system -# gettext. -Locale::Messages->select_package('gettext_pp'); - -# Note: this uses installed messages even when the program is uninstalled -Locale::Messages::bindtextdomain($messages_textdomain, - File::Spec->catdir($datadir, 'locale')); - - -# Set initial configuration - -# Version setting is complicated, because we cope with -# * script with configure values substituted or not -# * script shipped as part of texinfo or as a standalone perl module -# (although standalone module infrastructure was removed in 2019) - -# When the script could be shipped with perl modules independently from -# the remaining of Texinfo, $hardcoded_version was set to undef here -# by a sed one liner. The consequence is that configure.ac is not used -# to retrieve the version number, version came from Texinfo::Common in that -# case. -# Otherwise this is only used as a safety value, and should never be used -# in practice as a regexp extracts the version from configure.ac. -my $hardcoded_version = "0.00-hardcoded"; -# Version set in configure.ac -my $configured_version = '7.2'; -if ($configured_version eq '@' . 'PACKAGE_VERSION@') { - # if not configured, and $hardcoded_version is set search for the version - # in configure.ac - if (defined($hardcoded_version)) { - if (open(CONFIGURE, - "< ".File::Spec->catfile($Texinfo::ModulePath::top_srcdir, - 'configure.ac'))) { - while (<CONFIGURE>) { - if (/^AC_INIT\(\[[^\]]+\]\s*,\s*\[([^\]]+)\]\s*,/) { - $configured_version = "$1+dev"; # +dev to distinguish from installed - last; - } - } - close (CONFIGURE); - } - # This should never be used, but is a safety value - $configured_version = $hardcoded_version if (!defined($configured_version)); - } else { - # was used in the standalone perl module, as $hardcoded_version is undef - # and it should never be configured in that setup. - require Texinfo::Common; - $configured_version = $Texinfo::Common::VERSION; - } -} - -# Compare the version of this file with the version of the modules -# it is using. If they are different, don't go any further. This -# can happen if multiple versions of texi2any are installed under a -# different names, e.g. with the --program-suffix option to 'configure'. -# The version in Common.pm is checked because that file has been present -# since Texinfo 5.0 (the first release with texi2any in Perl). -if ($configured_version ne $Texinfo::Common::VERSION - and $configured_version ne $Texinfo::Common::VERSION."+dev") { - warn "This is texi2any $configured_version but modules ". - "for texi2any $Texinfo::Common::VERSION found!\n"; - die "Your installation of Texinfo is broken; aborting.\n"; -} - -my $configured_package = 'texinfo'; -$configured_package = 'texinfo' if ($configured_package eq '@' . 'PACKAGE@'); -my $configured_name = 'GNU Texinfo'; -$configured_name = 'GNU Texinfo' - if ($configured_name eq '@' .'PACKAGE_NAME@'); -my $configured_name_version = "$configured_name $configured_version"; -my $configured_url = 'https://www.gnu.org/software/texinfo/'; -$configured_url = 'https://www.gnu.org/software/texinfo/' - if ($configured_url eq '@' .'PACKAGE_URL@'); - -my $texinfo_dtd_version = '7.2'; -# $hardcoded_version is undef for a standalone perl module (standalone -# infrastructure was removed in 2019). The code is kept in case it becomes -# useful again, for a standalone perl module or in some specific cases. -if ($texinfo_dtd_version eq '@' . 'TEXINFO_DTD_VERSION@') { - $texinfo_dtd_version = undef; - if (defined($hardcoded_version)) { - if (open(CONFIGURE, - "< ".File::Spec->catfile($Texinfo::ModulePath::top_srcdir, - 'configure.ac'))) { - while (<CONFIGURE>) { - if (/^TEXINFO_DTD_VERSION=([0-9]\S*)/) { - $texinfo_dtd_version = "$1"; - last; - } - } - close (CONFIGURE); - } - } -} - -# the encoding used to decode command line arguments, and also for -# file names encoding, perl is expecting sequences of bytes, not unicode -# code points. -my $locale_encoding; - -eval 'require I18N::Langinfo'; -if (!$@) { - $locale_encoding = I18N::Langinfo::langinfo(I18N::Langinfo::CODESET()); - $locale_encoding = undef if ($locale_encoding eq ''); -} - -if (!defined($locale_encoding) and $^O eq 'MSWin32') { - eval 'require Win32::API'; - if (!$@) { - Win32::API::More->Import("kernel32", "int GetACP()"); - my $CP = GetACP(); - if (defined($CP)) { - $locale_encoding = 'cp'.$CP; - } - } -} - -# Used in case it is not hardcoded in configure and for standalone perl module -$texinfo_dtd_version = $configured_version - if (!defined($texinfo_dtd_version)); - -my $configured_information = { - 'PACKAGE_VERSION' => $configured_version, - 'PACKAGE' => $configured_package, - 'PACKAGE_NAME' => $configured_name, - 'PACKAGE_AND_VERSION' => $configured_name_version, - 'PACKAGE_URL' => $configured_url, -}; - -# options set in the main program. -my $main_program_set_options = { - 'PROGRAM' => $real_command_name, - 'TEXINFO_DTD_VERSION' => $texinfo_dtd_version, - 'COMMAND_LINE_ENCODING' => $locale_encoding, - 'MESSAGE_ENCODING' => $locale_encoding, - 'LOCALE_ENCODING' => $locale_encoding, - # better than making it the default value independently of the implementation - 'TEXINFO_OUTPUT_FORMAT' => 'info', -}; - -# set configure information as constants -foreach my $configured_variable (keys(%$configured_information)) { - Texinfo::Common::set_build_constant($configured_variable, - $configured_information->{$configured_variable}); - # set also with _CONFIG prepended, as in C code. - Texinfo::Common::set_build_constant($configured_variable.'_CONFIG', - $configured_information->{$configured_variable}); -} - -foreach my $configured_variable (keys(%$configured_information)) { - $main_program_set_options->{$configured_variable} - = $configured_information->{$configured_variable}; -} - -# In Windows, a character in file name is encoded according to the current -# codepage, and converted to/from UTF-16 in the filesystem. If a file name is -# not encoded in the current codepage, the file name will appear with erroneous -# characters when listing file names. Also the encoding and decoding to -# UTF-16 may fail, especially when the codepage is 8bit while the file name -# is encoded in a multibyte encoding. -# We assume that in Windows the file names are reencoded in the current -# codepage encoding to avoid those issues. -if ($^O eq 'MSWin32') { - $main_program_set_options->{'DOC_ENCODING_FOR_INPUT_FILE_NAME'} = 0; -} - -# defaults for options relevant in the main program. Also used as -# defaults for all the converters. -my $main_program_default_options = { - %$main_program_set_options, - %Texinfo::Common::default_main_program_customization_options, -}; - - -# determine configuration directories. - -# used as part of binary strings -my $conf_file_name = 'texi2any-config.pm'; - -# When we replace a directory, we emit a warning for some time, -# using %deprecated_directories to match to the directory that -# should be used. -# In 2024 we switched to using the XDG Base Directory Specification, -# https://specifications.freedesktop.org/basedir-spec/latest/index.html -# $HOME/texinfo should be $XDG_CONFIG_HOME default: $HOME/.config/texinfo -my %deprecated_directories; - -# We use first the installation directory, and then the environment variable -# directories. -sub add_config_paths($$$$;$$) { - my $env_string = shift; - my $subdir = shift; - my $default_base_dirs = shift; - my $installation_dir = shift; - my $overriding_dirs = shift; - my $deprecated_dirs = shift; - - # read the env directories to avoid setting the overriding_dirs - # as deprecated if they are explicitely specified in the environnement - # variable. - my @xdg_result_dirs; - my %used_xdg_base_dirs; - if (defined($ENV{$env_string}) and $ENV{$env_string} ne '') { - foreach my $dir (split(':', $ENV{$env_string})) { - if ($dir ne '') { - push @xdg_result_dirs, $dir; - $used_xdg_base_dirs{$dir} = 1; - } - } - } - my @result_dirs; - my %used_base_dirs; - if (defined($installation_dir)) { - my $install_result_dir = "$installation_dir/$subdir"; - push @result_dirs, $install_result_dir; - $used_base_dirs{$installation_dir} = 1; - if ($overriding_dirs and $overriding_dirs->{$installation_dir}) { - my $deprecated_dir = $overriding_dirs->{$installation_dir}; - my $deprecated_result_dir = "$deprecated_dir/$subdir"; - if (not $used_xdg_base_dirs{$deprecated_dir}) { - $deprecated_dirs->{$deprecated_result_dir} = $install_result_dir; - push @result_dirs, $deprecated_result_dir; - $used_base_dirs{$deprecated_dir} = 1; - } - } - } - - foreach my $dir (@xdg_result_dirs) { - if (!$used_base_dirs{$dir}) { - push @result_dirs, "$dir/$subdir"; - $used_base_dirs{$dir} = 1; - } - } - - # to also use XDG Base Directory Specification defaults - #foreach my $dir (@$default_base_dirs) { - # if (!$used_base_dirs{$dir}) { - # push @result_dirs, "$dir/$subdir"; - # } - #} - return \@result_dirs; -} - -sub set_subdir_directories($$) { - my $subdir = shift; - my $deprecated_dirs = shift; - - my @result = (".$subdir"); - - my $config_home; - my $deprecated_config_home; - if (defined($ENV{'XDG_CONFIG_HOME'}) and $ENV{'XDG_CONFIG_HOME'} ne '') { - $config_home = $ENV{'XDG_CONFIG_HOME'}."/$subdir"; - } else { - if (defined($ENV{'HOME'})) { - $config_home = join('/', ($ENV{'HOME'}, '.config', $subdir)); - $deprecated_config_home = $ENV{'HOME'}.'/.'.$subdir; - $deprecated_dirs->{$deprecated_config_home} = $config_home; - } - } - push @result, $config_home - if (defined($config_home)); - - push @result, $deprecated_config_home - if (defined($deprecated_config_home)); - - my $sysconf_install_dir = "$sysconfdir/xdg"; - # associate new location to deprecated location - my $overriding_dirs = {$sysconf_install_dir => $sysconfdir}; - # in 2024, mark $sysconfdir overriden by $sysconfdir/xdg. - my $config_dirs = add_config_paths('XDG_CONFIG_DIRS', $subdir, - ['/etc/xdg'], "$sysconfdir/xdg", - $overriding_dirs, $deprecated_dirs); - push @result, @$config_dirs; - - # the following code could have been used to use XDG_DATA_DIRS for - # datadir directories and files too - #my $data_dirs = add_config_paths('XDG_DATA_DIRS', $subdir, - # ['/usr/local/share/', '/usr/share/'], $datadir); - - #push @result, @$data_dirs; - # Do not use XDG base specification for directories and files in - # datadir, there is no need for customization of those directories - # since the sysconfdir directories are already customized, just use - # the installation directory. - push @result, "$datadir/$subdir"; - - return \@result; -} - -# directories for Texinfo configuration files, as far as possible -# implementation independent. Used as part of binary strings. -# curdir and the input file path directory are prepended later on. -my $language_config_dirs - = set_subdir_directories('texinfo', \%deprecated_directories); -my @texinfo_language_config_dirs = @$language_config_dirs; - -#push @texinfo_language_config_dirs, "$sysconfdir/texinfo" -# if (defined($sysconfdir)); -#push @texinfo_language_config_dirs, "$datadir/texinfo" -# if (defined($datadir)); - -# these variables are used as part of binary strings. -my @converter_config_dirs; -my @converter_init_dirs; - -my $converter_config_dirs_array_ref - = set_subdir_directories($converter, \%deprecated_directories); - -@converter_config_dirs = ($curdir, @$converter_config_dirs_array_ref); - -#@converter_config_dirs -# = ($curdir, "$curdir/.$converter"); -#push @converter_config_dirs, $ENV{'HOME'}."/.$converter") -# if (defined($ENV{'HOME'})); -#push @converter_config_dirs, "$sysconfdir/$converter" -# if (defined($sysconfdir)); -#push @converter_config_dirs, "$datadir/$converter" -# if (defined($datadir)); - -@converter_init_dirs = @converter_config_dirs; -foreach my $texinfo_config_dir (@texinfo_language_config_dirs) { - my $init_dir = "$texinfo_config_dir/init"; - push @converter_init_dirs, $init_dir; - if ($deprecated_directories{$texinfo_config_dir}) { - $deprecated_directories{$init_dir} - = "$deprecated_directories{$texinfo_config_dir}/init"; - } -} - -# add texi2any extensions dir too, such as the init files there -# can also be loaded as regular init files. -push @converter_init_dirs, $extensions_dir; - -#print STDERR join("\n", @converter_init_dirs)."\n\n"; -#print STDERR join("\n", sort(keys(%deprecated_directories)))."\n"; - - -sub _decode_i18n_string($$) -{ - my $string = shift; - my $encoding = shift; - return decode($encoding, $string); -} - -sub _encode_message($) -{ - my $text = shift; - my $encoding = get_conf('MESSAGE_ENCODING'); - if (defined($encoding)) { - return encode($encoding, $text); - } else { - return $text; - } -} - -sub document_warn($) { - return if (get_conf('NO_WARN')); - my $text = shift; - chomp ($text); - warn(_encode_message( - sprintf(__p("program name: warning: warning_message", - "%s: warning: %s")."\n", $real_command_name, $text))); -} - -sub _decode_input($) -{ - my $text = shift; - - my $encoding = get_conf('COMMAND_LINE_ENCODING'); - if (defined($encoding)) { - return decode($encoding, $text); - } else { - return $text; - } -} - -sub _warn_deprecated_dirs($$) -{ - my $deprecated_dirs = shift; - my $deprecated_dirs_used = shift; - - if (defined($deprecated_dirs_used)) { - foreach my $dir (@$deprecated_dirs_used) { - my $dir_name = _decode_input($dir); - my $replacement_dir = _decode_input($deprecated_dirs->{$dir}); - - document_warn(sprintf(__( - "%s directory is deprecated. Use %s instead"), - $dir_name, $replacement_dir)); - } - } -} - -# arguments are binary strings. -sub locate_and_load_init_file($$;$) -{ - my $filename = shift; - my $directories = shift; - my $deprecated_dirs = shift; - - my ($files, $deprecated_dirs_used) - = Texinfo::Common::locate_file_in_dirs($filename, $directories, 0, - $deprecated_dirs); - if (defined($files)) { - my $file = $files->[0]; - # evaluate the code in the Texinfo::Config namespace - Texinfo::Config::GNUT_load_init_file($file); - } else { - document_warn(sprintf(__("could not read init file %s"), - _decode_input($filename))); - } - - if ($deprecated_dirs and $deprecated_dirs_used) { - _warn_deprecated_dirs($deprecated_dirs, $deprecated_dirs_used); - } -} - -# arguments are binary strings. -# Init files that are used in texi2any, considered -# as internal extensions code. -sub locate_and_load_extension_file($$) -{ - my $filename = shift; - my $directories = shift; - - # no possible deprecated dirs with the path passed to this sub - my ($files, $deprecated_dirs_used) - = Texinfo::Common::locate_file_in_dirs($filename, $directories, 0); - if (defined($files)) { - # evaluate the code in the Texinfo::Config namespace - my $file = $files->[0]; - Texinfo::Config::GNUT_load_init_file($file); - } else { - die _encode_message(sprintf(__("could not read extension file %s"), - _decode_input($filename))); - } -} - -sub set_from_cmdline($$) { - return &Texinfo::Config::GNUT_set_from_cmdline(@_); -} - -sub set_main_program_default($$) { - return &Texinfo::Config::GNUT_set_customization_default(@_); -} - -sub get_conf($) { - return &Texinfo::Config::texinfo_get_conf(@_); -} - -sub add_to_option_list($$) { - return &Texinfo::Config::texinfo_add_to_option_list(@_); -} - -sub remove_from_option_list($$) { - return &Texinfo::Config::texinfo_remove_from_option_list(@_); -} - -sub set_translations_encoding($) -{ - my $translations_encoding = shift; - - if (defined($translations_encoding) - and $translations_encoding ne 'us-ascii') { - my $Encode_encoding_object = find_encoding($translations_encoding); - my $perl_translations_encoding = $Encode_encoding_object->name(); - - Locale::Messages::bind_textdomain_codeset($messages_textdomain, - $translations_encoding); - if (defined($perl_translations_encoding)) { - Locale::Messages::bind_textdomain_filter($messages_textdomain, - \&_decode_i18n_string, $perl_translations_encoding); - } - } -} - - -# Setup customization and read customization files processed each time -# the program is run - -# this associates the command line options to the arrays set during -# command line parsing. -my @css_files = (); -my @css_refs = (); -my @include_dirs = (); -my @expanded_formats = (); -# note that CSS_FILES and INCLUDE_DIRECTORIES are not decoded when -# read from the command line and should be binary strings. -# TEXINFO_LANGUAGE_DIRECTORIES is not actually read from the command -# line, but it is still best to have it here, and it should also -# contain binary strings. -my $cmdline_options = { 'CSS_FILES' => \@css_files, - 'CSS_REFS' => \@css_refs, - 'INCLUDE_DIRECTORIES' => \@include_dirs, - 'TEXINFO_LANGUAGE_DIRECTORIES' - => \@texinfo_language_config_dirs, - 'EXPANDED_FORMATS' => \@expanded_formats }; - -my @conf_dirs = (); -my @prepend_dirs = (); - -# The $cmdline_options passed to Texinfo::Config::GNUT_initialize_customization -# are considered to be arrays in which items can be added or deleted both -# from the command line and from init files. $cmdline_options text values -# are set by GNUT_set_from_cmdline (aliased as set_from_cmdline) from the -# main program. $cmdline_options are also accessed in main program. -# $init_files_options are managed by Texinfo::Config, set by -# texinfo_set_from_init_file in init files. -# -# There is in addition $parser_options for parser related information -# that is not gathered otherwise. -# The configuration values are later on copied over to the parser if -# they are parser options. -my $parser_options = {'values' => {'txicommandconditionals' => 1}}; - -my $init_files_options = Texinfo::Config::GNUT_initialize_customization( - $real_command_name, $main_program_default_options, $cmdline_options); - -# Need to do that early for early messages -my $translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -set_translations_encoding($translations_encoding); - -# read initialization files. Better to do that after -# Texinfo::Config::GNUT_initialize_customization() in case loaded -# files replace default options. -my ($config_init_files, $deprecated_dirs_for_config_init) - = Texinfo::Common::locate_file_in_dirs($conf_file_name, - [ reverse(@converter_config_dirs) ], 1, - \%deprecated_directories); -if (defined($config_init_files)) { - foreach my $file (@$config_init_files) { - Texinfo::Config::GNUT_load_init_file($file); - } -} -if ($deprecated_dirs_for_config_init) { - _warn_deprecated_dirs(\%deprecated_directories, - $deprecated_dirs_for_config_init); -} - -# reset translations encodings if COMMAND_LINE_ENCODING was reset -my $set_translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -if (defined($set_translations_encoding) - and (not defined($translations_encoding) - or $set_translations_encoding ne $translations_encoding)) { - $translations_encoding = $set_translations_encoding; - set_translations_encoding($translations_encoding); -} - - -# Parse command line -my %ignored_formats; - -sub set_expansion($$) { - my $region = shift; - my $set = shift; - $set = 1 if (!defined($set)); - if ($set) { - add_to_option_list('EXPANDED_FORMATS', [$region]); - delete $ignored_formats{$region}; - } else { - remove_from_option_list('EXPANDED_FORMATS', [$region]); - $ignored_formats{$region} = 1; - } -} - -my %possible_split = ( - 'chapter' => 1, - 'section' => 1, - 'node' => 1, -); - -my $format_from_command_line = 0; - -my %converter_format_expanded_region_name = ( - 'texinfoxml' => 'xml', -); - -my %format_command_line_names = ( - 'xml' => 'texinfoxml', -); - -my %formats_table = ( - 'info' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::Info' - }, - 'plaintext' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::Plaintext' - }, - 'html' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - 'internal_links' => 1, - 'move_index_entries_after_items' => 1, - 'relate_index_entries_to_table_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::HTML' - }, - 'latex' => { - 'floats' => 1, - 'internal_links' => 1, - 'move_index_entries_after_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'module' => 'Texinfo::Convert::LaTeX' - }, - 'texinfoxml' => { - 'nodes_tree' => 1, - 'module' => 'Texinfo::Convert::TexinfoXML', - 'floats' => 1, - }, - 'texinfosxml' => { - 'nodes_tree' => 1, - 'module' => 'Texinfo::Convert::TexinfoSXML', - 'floats' => 1, - }, - 'ixinsxml' => { # note that the Texinfo tree is converted to - # 'texinfosxml', but the conversion as a whole - # is 'ixinsxml', as Texinfo tree conversion is done - # from within Texinfo::Convert::IXINSXML - 'nodes_tree' => 1, - 'setup_index_entries_sort_strings' => 1, - 'module' => 'Texinfo::Convert::IXINSXML', - 'floats' => 1, - }, - 'docbook' => { - 'move_index_entries_after_items' => 1, - 'no_warn_non_empty_parts' => 1, - 'module' => 'Texinfo::Convert::DocBook' - }, - 'epub3' => { - 'converted_format' => 'html', - 'init_file' => 'epub3.pm', - }, - 'pdf' => { - 'texi2dvi_format' => 1, - }, - 'ps' => { - 'texi2dvi_format' => 1, - }, - 'dvi' => { - 'texi2dvi_format' => 1, - }, - 'dvipdf' => { - 'texi2dvi_format' => 1, - }, - 'debugtree' => { - 'split' => 1, - 'module' => 'Texinfo::DebugTree' - }, - 'textcontent' => { - 'module' => 'Texinfo::Convert::TextContent' - }, - 'rawtext' => { - 'module' => 'Texinfo::Convert::Text' - }, - 'plaintexinfo' => { - 'module' => 'Texinfo::Convert::PlainTexinfo' - }, - 'parse' => { - }, - 'structure' => { - 'nodes_tree' => 1, - 'floats' => 1, - 'split' => 1, - }, -); - -my $call_texi2dvi = 0; -my @texi2dvi_args = (); - -sub set_cmdline_format($) -{ - my $set_format = shift; - set_from_cmdline('TEXINFO_OUTPUT_FORMAT', $set_format); -} - -sub set_format($) -{ - my $set_format = shift; - - my $new_output_format; - if ($format_command_line_names{$set_format}) { - $new_output_format = $format_command_line_names{$set_format}; - } else { - $new_output_format = $set_format; - } - if (!$formats_table{$new_output_format}) { - document_warn(sprintf(__( - "ignoring unrecognized TEXINFO_OUTPUT_FORMAT value `%s'\n"), - $set_format)); - } else { - Texinfo::Config::texinfo_set_from_init_file('TEXINFO_OUTPUT_FORMAT', - $new_output_format); - } -} - -sub _format_expanded_formats($) -{ - my $new_output_format = shift; - - my $default_expanded_formats = {}; - - my $converter_format; - my $expanded_region; - - if ($formats_table{$new_output_format}->{'texi2dvi_format'}) { - $call_texi2dvi = 1; - push @texi2dvi_args, '--'.$new_output_format; - $converter_format = 'tex'; - } elsif ($formats_table{$new_output_format}->{'converted_format'}) { - $converter_format - = $formats_table{$new_output_format}->{'converted_format'}; - } else { - $converter_format = $new_output_format; - } - - if ($converter_format_expanded_region_name{$converter_format}) { - $expanded_region - = $converter_format_expanded_region_name{$converter_format}; - } else { - $expanded_region = $converter_format; - } - - if ($Texinfo::Common::texinfo_output_formats{$expanded_region}) { - if ($expanded_region eq 'plaintext') { - $default_expanded_formats = {$expanded_region => 1, 'info' => 1}; - } else { - $default_expanded_formats = {$expanded_region => 1}; - } - } - return $default_expanded_formats; -} - -sub _get_converter_default($) -{ - my $option = shift; - if (defined($Texinfo::Options::converter_cmdline_options{$option})) { - return $Texinfo::Options::converter_cmdline_options{$option}; - } elsif (defined($Texinfo::Options::multiple_at_command_options{$option})) { - return $Texinfo::Options::multiple_at_command_options{$option}; - } - return undef; -} - -# translation related todo to be done when the string change anyway to -# avoid requiring translation -sub makeinfo_help() -{ - # TODO: avoid \n in translated strings. Report from Benno Schulenberg - my $makeinfo_help = - sprintf(__("Usage: %s [OPTION]... TEXINFO-FILE...\n"), - $real_command_name . $command_suffix) -."\n". -__("Translate Texinfo source documentation to various other formats, by default -Info files suitable for reading online with Emacs or standalone GNU Info. - -This program is commonly installed as both `makeinfo' and `texi2any'; -the behavior is identical, and does not depend on the installed name.\n") -."\n"; - $makeinfo_help .= __("General options:")."\n" -.__(" --document-language=STR locale to use in translating Texinfo keywords - for the output document (default C).")."\n" -.sprintf(__(" --error-limit=NUM quit after NUM errors (default %d)."), - get_conf('ERROR_LIMIT'))."\n" -.__(" --force preserve output even if errors.")."\n" -.__(" --help display this help and exit.")."\n" -.__(" --no-validate suppress node cross-reference validation.")."\n" -.__(" --no-warn suppress warnings (but not errors).")."\n" -.__(" --conf-dir=DIR search also for initialization files in DIR.")."\n" -.__(" --init-file=FILE load FILE to modify the default behavior.")."\n" -.__(" -c, --set-customization-variable VAR=VAL set customization variable VAR - to value VAL.")."\n" -.__(" --trace-includes print names of included files.")."\n" -.__(" -v, --verbose explain what is being done.")."\n" -.__(" --version display version information and exit.")."\n" -."\n"; - $makeinfo_help .= __("Output format selection (default is to produce Info):")."\n" -.__(" --docbook output Docbook XML.")."\n" -.__(" --html output HTML.")."\n" -.__(" --epub3 output EPUB 3.")."\n" -.__(" --latex output LaTeX.")."\n" -.__(" --plaintext output plain text rather than Info.")."\n" -.__(" --xml output Texinfo XML.")."\n" -.__(" --dvi, --dvipdf, --ps, --pdf call texi2dvi to generate given output, - after checking validity of TEXINFO-FILE.")."\n" -."\n"; - - $makeinfo_help .= __("General output options:")."\n" -.__( -" -E, --macro-expand=FILE output macro-expanded source to FILE, - ignoring any \@setfilename.")."\n" -.__( -" --no-headers suppress node separators, Node: lines, and menus - from Info output (thus producing plain text) - or from HTML (thus producing shorter output). - Also, if producing Info, write to - standard output by default.")."\n" -.__( -" --no-split suppress any splitting of the output; - generate only one output file.")."\n" -.__( -" --[no-]number-sections output chapter and sectioning numbers; - default is on.")."\n" -.__( -" -o, --output=DEST output to DEST. - With split output, create DEST as a directory - and put the output files there. - With non-split output, if DEST is already - a directory or ends with a /, - put the output file there. - Otherwise, DEST names the output file.")."\n" -.__( -" --disable-encoding do not output accented and special characters - in Info and plain text output based on document - encoding.")."\n" -.__( -" --enable-encoding override --disable-encoding (default).")."\n" -."\n"; - $makeinfo_help .= sprintf(__("Options for Info and plain text:")."\n" -.__( -" --fill-column=NUM break Info lines at NUM columns (default %d).")."\n" -.__( -" --footnote-style=STYLE output footnotes in Info according to STYLE: - `separate' to put them in their own node; - `end' to put them at the end of the node, in - which they are defined (this is the default).")."\n" -.__( -" --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %d). - If VAL is `none', do not indent; if VAL is - `asis', preserve existing indentation.")."\n" -.__( -" --split-size=NUM split Info files at size NUM (default %d).")."\n" -."\n", - _get_converter_default('FILLCOLUMN'), - _get_converter_default('paragraphindent'), - _get_converter_default('SPLIT_SIZE')) -."\n"; - # TODO: avoid \n in translated strings, split each option in a translatable - # string. Report from Benno Schulenberg - $makeinfo_help .= __("Options for HTML: - --css-include=FILE include FILE in HTML <style> output; - read stdin if FILE is -. - --css-ref=URL generate CSS reference to URL. - --internal-links=FILE produce list of internal links in FILE. - --split=SPLIT split at SPLIT, where SPLIT may be `chapter', - `section' or `node'. - --transliterate-file-names use file names in ASCII transliteration. - --node-files produce redirection files for nodes and - anchors; default is set only if split.\n") -."\n"; - # TODO: avoid \n in translated strings. Report from Benno Schulenberg - $makeinfo_help .= __("Options for DVI/PS/PDF: - --Xopt=OPT pass OPT to texi2dvi; can be repeated.\n") -."\n"; - $makeinfo_help .= __("Input file options:")."\n" -.__(" -D VAR define the variable VAR, as with \@set.")."\n" -.__(" -D 'VAR VAL' define VAR to VAL (one shell argument).")."\n" -.__(" -I DIR append DIR to the \@include search path.")."\n" -.__(" -P DIR prepend DIR to the \@include search path.")."\n" -.__(" -U VAR undefine the variable VAR, as with \@clear.")."\n" -."\n" -.__("Conditional processing in input:")."\n" -.__(" --ifdocbook process \@ifdocbook and \@docbook even if - not generating Docbook.")."\n" -.__(" --ifhtml process \@ifhtml and \@html even if not generating HTML.")."\n" -.__(" --ifinfo process \@ifinfo even if not generating Info.")."\n" -.__(" --iflatex process \@iflatex and \@latex.")."\n" -.__(" --ifplaintext process \@ifplaintext even if not generating plain text.")."\n" -.__(" --iftex process \@iftex and \@tex.")."\n" -.__(" --ifxml process \@ifxml and \@xml.")."\n" -.__(" --no-ifdocbook do not process \@ifdocbook and \@docbook text.")."\n" -.__(" --no-ifhtml do not process \@ifhtml and \@html text.")."\n" -.__(" --no-ifinfo do not process \@ifinfo text.")."\n" -.__(" --no-iflatex do not process \@iflatex and \@latex text.")."\n" -.__(" --no-ifplaintext do not process \@ifplaintext text.")."\n" -.__(" --no-iftex do not process \@iftex and \@tex text.")."\n" -.__(" --no-ifxml do not process \@ifxml and \@xml text.")."\n" -."\n" -.__(" Also, for the --no-ifFORMAT options, do process \@ifnotFORMAT text.")."\n" -."\n"; - # TODO: split each line in a translatable string? - $makeinfo_help - .= __(" The defaults for the \@if... conditionals depend on the output format: - if generating Docbook, --ifdocbook is on and the others are off; - if generating HTML, --ifhtml is on and the others are off; - if generating Info, --ifinfo is on and the others are off; - if generating plain text, --ifplaintext is on and the others are off; - if generating LaTeX, --iflatex is on and the others are off; - if generating XML, --ifxml is on and the others are off.")."\n" -."\n"; - # TODO: avoid \n in translated strings, Report from Benno Schulenberg. - # TODO: split each line in a translatable string? - # string. Report from Benno Schulenberg - $makeinfo_help .= __("Examples: - makeinfo foo.texi write Info to foo's \@setfilename - makeinfo --html foo.texi write HTML to \@setfilename - makeinfo --xml foo.texi write Texinfo XML to \@setfilename - makeinfo --docbook foo.texi write Docbook XML to \@setfilename - makeinfo --plaintext foo.texi write plain text to standard output - makeinfo --pdf foo.texi write PDF using texi2dvi - - makeinfo --html --no-headers foo.texi write html without node lines, menus - makeinfo --number-sections foo.texi write Info with numbered sections - makeinfo --no-split foo.texi write one Info file however big\n") -."\n"; - $makeinfo_help .= __("Email bug reports to bug-texinfo\@gnu.org, -general questions and discussion to help-texinfo\@gnu.org. -Texinfo home page: https://www.gnu.org/software/texinfo/") ."\n"; - return $makeinfo_help; -} - -my $Xopt_arg_nr = 0; - -my $result_options = Getopt::Long::GetOptions ( - 'help|h' => sub { print _encode_message(makeinfo_help()); exit 0; }, - 'version|V' => sub { - print _encode_message( - "$converter (GNU texinfo) $configured_version\n\n"); - print _encode_message(sprintf __( -"Copyright (C) %s Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law.\n"), "2024"); - exit 0;}, - 'macro-expand|E=s' => sub { set_from_cmdline('MACRO_EXPAND', $_[1]); }, - 'ifhtml!' => sub { set_expansion('html', $_[1]); }, - 'ifinfo!' => sub { set_expansion('info', $_[1]); }, - 'ifxml!' => sub { set_expansion('xml', $_[1]); }, - 'ifdocbook!' => sub { set_expansion('docbook', $_[1]); }, - 'iflatex!' => sub { set_expansion('latex', $_[1]); }, - 'iftex!' => sub { set_expansion('tex', $_[1]); }, - 'ifplaintext!' => sub { set_expansion('plaintext', $_[1]); }, - 'I=s' => sub { push @texi2dvi_args, ('-'.$_[0], $_[1]); - push @include_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'conf-dir=s' => sub { push @conf_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'P=s' => sub { unshift @prepend_dirs, split(/$quoted_path_separator/, $_[1]); }, - 'number-sections!' => sub { set_from_cmdline('NUMBER_SECTIONS', $_[1]); }, - 'number-footnotes!' => sub { set_from_cmdline('NUMBER_FOOTNOTES', $_[1]); }, - 'node-files!' => sub { set_from_cmdline('NODE_FILES', $_[1]); }, - 'footnote-style=s' => sub { - my $value = _decode_input($_[1]); - if ($value eq 'end' or $value eq 'separate') { - set_from_cmdline('footnotestyle', $value); - } else { - die _encode_message( - sprintf(__( - "%s: --footnote-style arg must be `separate' or `end', not `%s'.\n"), - $real_command_name, $value)); - } - }, - 'split=s' => sub { my $split = _decode_input($_[1]); - if (!$possible_split{$split}) { - document_warn( - sprintf(__("%s is not a valid split possibility"), - $split)); - $split = 'node'; - } - set_from_cmdline('SPLIT', $split); }, - 'no-split' => sub { set_from_cmdline('SPLIT', ''); - set_from_cmdline('SPLIT_SIZE', undef);}, - 'headers!' => sub { set_from_cmdline('HEADERS', $_[1]); - if (!$_[1]) { - set_from_cmdline('FORMAT_MENU', 'nomenu'); - } else { - # a special value that is modified below when the - # output format is known, to be the default for that - # format, or 'menu' - set_from_cmdline('FORMAT_MENU', - 'set_format_menu_from_cmdline_header_option'); - } - if (!$_[1] - and get_conf('TEXINFO_OUTPUT_FORMAT') eq 'info') { - set_main_program_default('TEXINFO_OUTPUT_FORMAT', - 'plaintext'); - } - }, - 'output|out|o=s' => sub { - my $var = 'OUTFILE'; - if ($_[1] ne '-' and ($_[1] =~ m:/$: or -d $_[1])) { - set_from_cmdline($var, undef); - $var = 'SUBDIR'; - } - set_from_cmdline($var, _decode_input($_[1])); - push @texi2dvi_args, '-o', $_[1]; - }, - 'no-validate|no-pointer-validate' => sub { - set_from_cmdline('novalidate',$_[1]); - }, - 'no-warn' => sub { set_from_cmdline('NO_WARN', $_[1]); }, - 'verbose|v!' => sub { set_from_cmdline('VERBOSE', $_[1]); - push @texi2dvi_args, '--verbose'; }, - 'document-language=s' => sub { - my $documentlanguage = _decode_input($_[1]); - set_from_cmdline('documentlanguage', $documentlanguage); - my @messages - = Texinfo::Common::warn_unknown_language($documentlanguage); - foreach my $message (@messages) { - document_warn($message); - } - }, - 'D=s' => sub { - my $var = $_[1]; - my @field = split (/\s+/, $var, 2); - if (@field == 1) { - $parser_options->{'values'}->{_decode_input($var)} = 1; - push @texi2dvi_args, "--command=\@set $var 1"; - } else { - $parser_options->{'values'}->{_decode_input($field[0])} - = _decode_input($field[1]); - push @texi2dvi_args, "--command=\@set $field[0] $field[1]"; - } - }, - 'U=s' => sub { - delete $parser_options->{'values'}->{_decode_input($_[1])}; - push @texi2dvi_args, "--command=\@clear $_[1]"; - }, - 'init-file=s' => sub { - if (get_conf('TEST')) { - locate_and_load_init_file($_[1], [ @conf_dirs ]); - } else { - locate_and_load_init_file($_[1], [ @conf_dirs, @converter_init_dirs ], - \%deprecated_directories); - } - }, - 'set-customization-variable|c=s' => sub { - my $var_val; - if ($Texinfo::Common::non_decoded_customization_variables{$_[1]}) { - $var_val = $_[1]; - } else { - $var_val = _decode_input($_[1]); - } - if ($var_val =~ s/^(\w+)\s*=?\s*//) { - my $var = $1; - my $value = $var_val; - if ($value =~ /^undef$/i) { - $value = undef; - } - # TODO verify that it is the best. It is inconsistent with other - # customization options that have the same precedence as command - # line option when specified on the command line. This is because - # in the manual, it is said: - # "The customization variable of the same name is also read; if set, - # that overrides an environment variable setting, but not a command-line - # option." - # If read means "read from an init file" then we could change here, but - # if it means "read from the command line or an init file" we should - # keep it as it is. - if ($var eq 'TEXINFO_OUTPUT_FORMAT') { - set_format($value); - } else { - set_from_cmdline($var, $value); - } - } - }, - 'css-include=s' => \@css_files, - 'css-ref=s' => \@css_refs, - 'transliterate-file-names!' => - sub {set_from_cmdline('TRANSLITERATE_FILE_NAMES', $_[1]);}, - 'error-limit|e=i' => sub { set_from_cmdline('ERROR_LIMIT', $_[1]); }, - 'split-size=s' => sub {set_from_cmdline('SPLIT_SIZE', $_[1])}, - 'paragraph-indent|p=s' => sub { - my $value = _decode_input($_[1]); - if ($value =~ /^([0-9]+)$/ or $value eq 'none' or $value eq 'asis') { - set_from_cmdline('paragraphindent', $value); - } else { - die _encode_message(sprintf( - __("%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n"), - $real_command_name, $value)); - } - }, - 'fill-column|f=i' => sub {set_from_cmdline('FILLCOLUMN',$_[1]);}, - 'enable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING',$_[1]); - }, - 'disable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING', 0); - }, - 'trace-includes' => sub {set_from_cmdline('TRACE_INCLUDES', 1);}, - 'internal-links=s' => sub {set_from_cmdline('INTERNAL_LINKS', $_[1]);}, - 'force|F' => sub {set_from_cmdline('FORCE', $_[1]);}, - 'commands-in-node-names' => sub { ;}, - 'output-indent=i' => sub { ;}, - 'reference-limit=i' => sub { ;}, - 'Xopt=s' => sub {push @texi2dvi_args, $_[1]; $Xopt_arg_nr++}, - 'silent|quiet' => sub { push @texi2dvi_args, '--'.$_[0];}, - 'plaintext' => sub {set_cmdline_format($_[0].'');}, - 'html' => sub {set_cmdline_format($_[0].'');}, - 'epub3' => sub {set_cmdline_format($_[0].'');}, - 'latex' => sub {set_cmdline_format($_[0].'');}, - 'info' => sub {set_cmdline_format($_[0].'');}, - 'docbook' => sub {set_cmdline_format($_[0].'');}, - 'xml' => sub {set_cmdline_format('texinfoxml');}, - 'dvi' => sub {set_cmdline_format($_[0].'');}, - 'dvipdf' => sub {set_cmdline_format($_[0].'');}, - 'ps' => sub {set_cmdline_format($_[0].'');}, - 'pdf' => sub {set_cmdline_format($_[0].'');}, - 'debug=i' => sub {set_from_cmdline('DEBUG', $_[1]); - push @texi2dvi_args, '--'.$_[0]; }, -); - -exit 1 if (!$result_options); - -# those are strings combined with output so decode -my $ref_css_refs = get_conf('CSS_REFS'); -my @input_css_refs = @{$ref_css_refs}; -@$ref_css_refs = map {_decode_input($_)} @input_css_refs; - -# reset translations encoding if COMMAND_LINE_ENCODING was reset -$set_translations_encoding = get_conf('COMMAND_LINE_ENCODING'); -if (defined($set_translations_encoding) - and (not defined($translations_encoding) - or $set_translations_encoding ne $translations_encoding)) { - $translations_encoding = $set_translations_encoding; - set_translations_encoding($translations_encoding); -} - -# Change some options depending on the settings of other ones set formats -sub process_config($) { - my $conf = shift; - - if (defined($conf->{'TEXI2HTML'})) { - set_format('html'); - $parser_options->{'values'}->{'texi2html'} = 1; - } -} - -process_config($cmdline_options); - -my $latex2html_file = 'latex2html.pm'; -if (defined($cmdline_options->{'HTML_MATH'}) - and $cmdline_options->{'HTML_MATH'} eq 'l2h') { - locate_and_load_extension_file($latex2html_file, $internal_extension_dirs); -} - -my $tex4ht_file = 'tex4ht.pm'; -if (defined($cmdline_options->{'HTML_MATH'}) - and $cmdline_options->{'HTML_MATH'} eq 't4h') { - locate_and_load_extension_file($tex4ht_file, $internal_extension_dirs); -} - -my $highlight_syntax_file = 'highlight_syntax.pm'; -if ($cmdline_options->{'HIGHLIGHT_SYNTAX'}) { - locate_and_load_extension_file($highlight_syntax_file, - $internal_extension_dirs); -} - -# For tests, set some strings to values not changing with releases -my %test_conf = ( - 'PACKAGE_VERSION' => '', - 'PACKAGE' => 'texinfo', - 'PACKAGE_NAME' => 'GNU Texinfo', - 'PACKAGE_AND_VERSION' => 'texinfo', - 'PACKAGE_URL' => 'https://www.gnu.org/software/texinfo/', -# maybe don't set this? - 'PROGRAM' => 'texi2any', -); -if (get_conf('TEST')) { - foreach my $conf (keys (%test_conf)) { - $main_program_default_options->{$conf} = $test_conf{$conf}; - } -} - -my @input_file_suffixes = ('.txi','.texinfo','.texi','.txinfo',''); - -my %format_names = ( - 'info' => 'Info', - 'html' => 'HTML', - 'docbook' => 'DocBook', - 'epub3' => 'EPUB 3', - 'plaintext' => 'Plain Text', - 'texinfoxml' => 'Texinfo XML', -); - -sub format_name($) -{ - my $format = shift; - if ($format_names{$format}) { - return $format_names{$format}; - } else { - return $format; - } -} - -my $init_file_format = Texinfo::Config::GNUT_get_format_from_init_file(); -if (defined($init_file_format)) { - set_format($init_file_format); -} - -if (defined($ENV{'TEXINFO_OUTPUT_FORMAT'}) - and $ENV{'TEXINFO_OUTPUT_FORMAT'} ne '') { - set_format(_decode_input($ENV{'TEXINFO_OUTPUT_FORMAT'})); -} - -my $output_format = get_conf('TEXINFO_OUTPUT_FORMAT'); -# for a format setup with an init file -if (defined ($formats_table{$output_format}->{'init_file'})) { - locate_and_load_extension_file($formats_table{$output_format}->{'init_file'}, - $internal_extension_dirs); -} - -if ($call_texi2dvi) { - if (defined(get_conf('OUTFILE')) and @ARGV > 1) { - die _encode_message( - sprintf( - __('%s: when generating %s, only one input FILE may be specified with -o'."\n"), - $real_command_name, format_name($output_format))); - } -} elsif($Xopt_arg_nr) { - document_warn(__('--Xopt option without printed output')); -} - -sub _exit($$) -{ - my $error_count = shift; - my $opened_files = shift; - - if ($error_count and $opened_files and !get_conf('FORCE')) { - foreach my $opened_file (keys(%$opened_files)) { - unlink ($opened_file); - delete $opened_files->{$opened_file}; - } - } - exit (1) if ($error_count and (!get_conf('FORCE') - or $error_count > get_conf('ERROR_LIMIT'))); -} - -sub handle_errors(@) -{ - my $errors = shift; - my $new_error_count = shift; - my $error_count = shift; - my $opened_files = shift; - - $error_count += $new_error_count if ($new_error_count); - _handle_errors($errors); - - _exit($error_count, $opened_files); - return $error_count; -} - -sub _handle_errors($) -{ - my $errors = shift; - foreach my $error_message (@$errors) { - if ($error_message->{'type'} eq 'error' or !get_conf('NO_WARN')) { - my $s = ''; - if (defined($error_message->{'file_name'})) { - my $file = $error_message->{'file_name'}; - - if (get_conf('TEST')) { - # otherwise out of source build fails since the file names - # are different - my ($directories, $suffix); - ($file, $directories, $suffix) = fileparse($file); - } - $s .= "$file:"; - } - if (defined($error_message->{'line_nr'})) { - $s .= $error_message->{'line_nr'} . ':'; - } - $s .= ' ' if ($s ne ''); - - $s .= _encode_message($error_message->{'error_line'}); - warn $s; - } - } -} - -# If the file overwriting becomes an error, should increase $ERROR_COUNT. -sub merge_opened_files($$$) -{ - my $error_count = shift; - my $opened_files = shift; - my $newly_opened_files = shift; - - if ($newly_opened_files) { - foreach my $opened_file (sort(keys(%$newly_opened_files))) { - # NOTE paths are not normalized, therefore different paths names - # that refers to the same file will not trigger the message. - if (exists($opened_files->{$opened_file})) { - document_warn(sprintf(__('overwriting file: %s'), - $opened_file)); - } else { - $opened_files->{$opened_file} = 1; - } - } - } - - return $error_count; -} - -# Avoid loading these modules until down here to speed up the case -# when they are not needed. - -require Texinfo::Parser; -require Texinfo::Translations; -require Texinfo::Document; -Texinfo::Document->import(); -require Texinfo::Structuring; -Texinfo::Structuring->import(); -require Texinfo::Transformations; -Texinfo::Transformations->import(); -require Texinfo::Convert::Utils; -Texinfo::Convert::Utils->import(); - -if (not get_conf('TEST') and $Texinfo::ModulePath::texinfo_uninstalled) { - push @texinfo_language_config_dirs, - join('/', ($Texinfo::ModulePath::top_srcdir, 'util')); -} - -if ($Texinfo::ModulePath::texinfo_uninstalled) { - my $locales_dir = File::Spec->catdir($Texinfo::ModulePath::tp_builddir, - 'LocaleData'); - if (-d $locales_dir) { - Texinfo::Translations::configure($locales_dir, $strings_textdomain); - } else { - warn "Locales dir for document strings not found\n"; - } -} else { - Texinfo::Translations::configure(File::Spec->catdir($datadir, 'locale'), - $strings_textdomain); -} - -my %tree_transformations; -if (get_conf('TREE_TRANSFORMATIONS')) { - my @transformations = split /,/, get_conf('TREE_TRANSFORMATIONS'); - foreach my $transformation (@transformations) { - if (Texinfo::Common::valid_tree_transformation($transformation)) { - $tree_transformations{$transformation} = 1; - } else { - document_warn(sprintf(__('unknown tree transformation %s'), - $transformation)); - } - } -} - -# in general the format name is the format being converted. If this is -# not the case, the converted format is set here. For example, for -# the epub3 format, the converted format is html. The converted format -# should be the format actually used for conversion code, in practice -# this means that the module associated with the converted format in -# $format_table will be used to find the converter methods. -my $converted_format = $output_format; -if ($formats_table{$output_format}->{'converted_format'}) { - $converted_format = $formats_table{$output_format}->{'converted_format'}; -} - -if (get_conf('SPLIT') and !$formats_table{$converted_format}->{'split'}) { - if ($converted_format ne $output_format) { - document_warn(sprintf( - __('ignoring splitting for converted format %s (for %s)'), - format_name($converted_format), format_name($output_format))); - } else { - document_warn(sprintf(__('ignoring splitting for format %s'), - format_name($converted_format))); - } - set_from_cmdline('SPLIT', ''); -} - -my $default_expanded_formats = _format_expanded_formats($output_format); -foreach my $ignored_format (keys(%ignored_formats)) { - delete $default_expanded_formats->{$ignored_format}; -} -add_to_option_list('EXPANDED_FORMATS', [sort(keys(%$default_expanded_formats))]); - -if (defined($formats_table{$converted_format}->{'module'})) { - # Speed up initialization by only loading the module we need. - my $module = $formats_table{$converted_format}->{'module'}; - eval "require $module"; - my $error = $@; - if ($error ne '') { - die _encode_message(sprintf(__("error loading %s: %s"), $module, $error)); - }; - eval "$module->import;"; - - eval '$formats_table{$converted_format}->{\'converter\'} = sub{'. - $formats_table{$converted_format}->{'module'} - .'->converter(@_)};'; -} - -# For now, FORMAT_MENU is the only variable that can be set from converter -# defaults for the main program structuring and for the parser. -# This could be done for more variables if -# converter default becomes relevant for more variables, either -# for the parser or the main program. - -# Specific variable for 'FORMAT_MENU' to keep the converter information -# even if the command line higher precedence option is set in case -# command line is set_format_menu_from_cmdline_header_option. -my $conversion_format_menu_default; -if (defined($formats_table{$converted_format}->{'module'})) { - my $converter_class = $formats_table{$converted_format}->{'module'}; - # $cmdline_options is passed to have command line settings, here - # in practice TEXI2HTML set, for conversion to HTML to select - # possibly different customization variable values. - my $converter_defaults - = $converter_class->converter_defaults($cmdline_options); - if (defined($converter_defaults->{'FORMAT_MENU'})) { - # could be done for other customization options - set_main_program_default('FORMAT_MENU', - $converter_defaults->{'FORMAT_MENU'}); - # for FORMAT_MENU need in addition to have the value if - # command-line set to 'set_format_menu_from_cmdline_header_option' - $conversion_format_menu_default = $converter_defaults->{'FORMAT_MENU'}; - } else { - # this happens for the plaintexinfo format for which nothing - # is set. - } -} - -# special case for FORMAT_MENU of delayed setting based in -# some case on converter -if (defined(get_conf('FORMAT_MENU')) - and get_conf('FORMAT_MENU') - eq 'set_format_menu_from_cmdline_header_option') { - # set FORMAT_MENU to the output format default, if not nomenu - if (defined($conversion_format_menu_default) - and $conversion_format_menu_default ne 'nomenu') { - set_from_cmdline('FORMAT_MENU', $conversion_format_menu_default); - } else { - set_from_cmdline('FORMAT_MENU', 'menu'); - } -} - -# using no warnings is wrong, but a way to avoid a spurious warning. -no warnings 'once'; -my @parser_settable_options - = keys(%Texinfo::Common::default_parser_customization_values); -# Copy relevant customization variables into the parser options. -foreach my $parser_settable_option (@parser_settable_options) { - if (defined(get_conf($parser_settable_option))) { - $parser_options->{$parser_settable_option} - = get_conf($parser_settable_option); - } -} - -# special case, show all the built in HTML CSS rules and exit -if (get_conf('SHOW_BUILTIN_CSS_RULES')) { - require Texinfo::Convert::HTML; - print STDOUT Texinfo::Convert::HTML::builtin_default_css_text(); - exit(0); -} - -# Main processing, process all the files given on the command line -# Note that the input file names are binary strings and are not decoded -my @input_files = @ARGV; -# use STDIN if not a tty, like makeinfo does -@input_files = ('-') if (!scalar(@input_files) and !-t STDIN); -die _encode_message( - sprintf(__("%s: missing file argument.\n"), $real_command_name) - .sprintf(__("Try `%s --help' for more information.\n"), $real_command_name)) - unless (scalar(@input_files) >= 1); - -# XS parser and not explicitly unset -my $XS_structuring = Texinfo::XSLoader::XS_structuring_enabled(); - -if (defined($ENV{TEXINFO_XS_EXTERNAL_CONVERSION}) - and $ENV{TEXINFO_XS_EXTERNAL_CONVERSION}) { - set_from_cmdline('XS_EXTERNAL_CONVERSION', 1); -} -if (defined($ENV{TEXINFO_XS_EXTERNAL_FORMATTING}) - and $ENV{TEXINFO_XS_EXTERNAL_FORMATTING}) { - set_from_cmdline('XS_EXTERNAL_FORMATTING', 1); -} - -my $file_number = -1; -my %opened_files; -my %main_unclosed_files; -my $error_count = 0; -# main processing -while(@input_files) { - $file_number++; - my $input_file_arg = shift(@input_files); - my $input_file_name; - if ($input_file_arg =~ /\.info$/) { - my $basename = $input_file_arg; - $basename =~ s|.*/||; - my $corrected = $basename; - $corrected =~ s/\.info$/.texi/; - document_warn(sprintf( - __('input file %s; did you mean %s?'), $basename, $corrected)); - } - # try to concatenate with different suffixes. The last suffix is '' - # such that the plain file name is checked. - foreach my $suffix (@input_file_suffixes) { - if (-e $input_file_arg.$suffix) { - $input_file_name = $input_file_arg.$suffix; - last; - } - } - # in case no file was found, still set the file name - $input_file_name = $input_file_arg if (!defined($input_file_name)); - - my ($input_filename, $input_directory, $suffix) = fileparse($input_file_name); - if (!defined($input_directory) or $input_directory eq '') { - $input_directory = $curdir; - } - - my $input_file_base = $input_file_name; - $input_file_base =~ s/\.te?x(i|info)?$//; - - # a shallow copy is not sufficient for arrays and hashes to make - # sure that the $parser_options are not modified if $parser_file_options - # are modified - my $parser_file_options = Storable::dclone($parser_options); - - my @prepended_include_directories = ($curdir); - push @prepended_include_directories, $input_directory - if ($input_directory ne $curdir); - @prepended_include_directories = - (@prepend_dirs, @prepended_include_directories); - - unshift @{$parser_file_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my $parser = Texinfo::Parser::parser($parser_file_options); - my $document = $parser->parse_texi_file($input_file_name); - - # Get the tree object. Note that if XS structuring in on, the argument - # prevents the tree being built as a Perl structure at this stage; only - # a "handle" is returned. - my $tree = $document->tree($XS_structuring); - - if (defined($tree) - and (defined(get_conf('DUMP_TREE')) - or (get_conf('DEBUG') and get_conf('DEBUG') >= 10))) { - my $tree = $document->tree(); - # this is very wrong, but a way to avoid a spurious warning. - no warnings 'once'; - local $Data::Dumper::Purity = 1; - no warnings 'once'; - local $Data::Dumper::Indent = 1; - no warnings 'once'; - local $Data::Dumper::Sortkeys = 1; - print STDERR Data::Dumper->Dump([$tree]); - } - - if (!defined($tree)) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - if ($output_format eq 'parse') { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - my $document_information = $document->global_information(); - if (get_conf('TRACE_INCLUDES')) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - my $included_file_paths = $document_information->{'included_files'}; - if (defined($included_file_paths)) { - foreach my $included_file (@$included_file_paths) { - print STDOUT "$included_file\n"; - } - } - goto NEXT; - } - - # setup a configuration Perl object which defines get_conf and set_conf, - # use the main program customization information with per-document - # customization. This allows to use functions calling get_conf and - # set_conf to manipulate customization information. - # After this is done, the customization information should not - # change enymore, and it is registered in the document and used by - # Structuring/Transformations methods needing access to configuration - # information. - # - # OUTPUT_ENCODING_NAME is set in set_output_encoding and accessed - # in set_output_perl_encoding. - # OUTPUT_PERL_ENCODING is set in set_output_perl_encoding and - # accessed in output_files_open_out for the MACRO_EXPAND file name. - # The following variables are used in Structuring/Transformations: - # novalidate, FORMAT_MENU, CHECK_NORMAL_MENU_STRUCTURE, - # CHECK_MISSING_MENU_ENTRY. And DEBUG. - # documentlanguage is used in Structuring/Transformations for - # translations. - my $main_configuration = Texinfo::MainConfig::new(); - - # encoding is needed for output files - # documentlanguage is needed for gdt() in regenerate_master_menu - Texinfo::Common::set_output_encoding($main_configuration, $document); - Texinfo::Common::set_output_perl_encoding($main_configuration); - if (not defined($main_configuration->get_conf('documentlanguage')) - and defined ($document_information->{'documentlanguage'})) { - $main_configuration->set_conf('documentlanguage', - $document_information->{'documentlanguage'}); - } - # relevant for many Structuring methods. - if ($document_information->{'novalidate'}) { - $main_configuration->set_conf('novalidate', 1); - } - - # Now that all the configuration has been set, register with the - # document - my $document_options = $main_configuration->get_customization_options_hash(); - $document->register_document_options($document_options); - - - if (defined(get_conf('MACRO_EXPAND')) and $file_number == 0) { - require Texinfo::Convert::Texinfo; - Texinfo::Convert::Texinfo->import(); - # if convert_to_texinfo is not XS code get Perl tree. - if (not (defined $ENV{TEXINFO_XS_CONVERT} - and $ENV{TEXINFO_XS_CONVERT} eq '1')) { - $tree = $document->tree(); - } - my $texinfo_text = Texinfo::Convert::Texinfo::convert_to_texinfo($tree); - #print STDERR "$texinfo_text\n"; - my $encoded_macro_expand_file_name = get_conf('MACRO_EXPAND'); - my $macro_expand_file_name = _decode_input($encoded_macro_expand_file_name); - my $macro_expand_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($macro_expand_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $macro_expand_files_information, $document, - $encoded_macro_expand_file_name); - my $error_macro_expand_file; - if (defined($macro_expand_fh)) { - print $macro_expand_fh $texinfo_text; - Texinfo::Convert::Utils::output_files_register_closed( - $macro_expand_files_information, - $encoded_macro_expand_file_name); - if (!close($macro_expand_fh)) { - document_warn(sprintf(__("error on closing macro expand file %s: %s\n"), - $macro_expand_file_name, $!)); - $error_macro_expand_file = 1; - } - } else { - document_warn(sprintf(__("could not open %s for writing: %s\n"), - $macro_expand_file_name, $error_message)); - $error_macro_expand_file = 1; - } - my $macro_expand_opened_file = - Texinfo::Convert::Utils::output_files_opened_files( - $macro_expand_files_information); - $error_macro_expand_file - = merge_opened_files($error_macro_expand_file, \%opened_files, - $macro_expand_opened_file); - - # we do not need to go through unclosed files of - # $macro_expand_files_information as we know that the file is - # already closed if needed. - if ($error_macro_expand_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - if (get_conf('DUMP_TEXI') - or $formats_table{$output_format}->{'texi2dvi_format'}) { - handle_errors($document->parser_errors(), $error_count, \%opened_files); - goto NEXT; - } - - if ($formats_table{$converted_format}->{'relate_index_entries_to_table_items'} - or $tree_transformations{'relate_index_entries_to_table_items'}) { - Texinfo::ManipulateTree::relate_index_entries_to_table_items_in_tree( - $document); - } - - if ($formats_table{$converted_format}->{'move_index_entries_after_items'} - or $tree_transformations{'move_index_entries_after_items'}) { - Texinfo::ManipulateTree::move_index_entries_after_items_in_tree($tree); - } - - if ($tree_transformations{'insert_nodes_for_sectioning_commands'}) { - Texinfo::Transformations::insert_nodes_for_sectioning_commands($document); - } - - Texinfo::Structuring::associate_internal_references($document); - - # information obtained through Texinfo::Structuring - # and useful in converters. - # every format needs the sectioning structure - my $sections_list - = Texinfo::Structuring::sectioning_structure($document); - - if ($sections_list) { - Texinfo::Document::register_document_sections_list($document, - $sections_list); - } - - if (!$formats_table{$converted_format}->{'no_warn_non_empty_parts'}) { - Texinfo::Structuring::warn_non_empty_parts($document); - } - - if ($tree_transformations{'complete_tree_nodes_menus'}) { - Texinfo::Transformations::complete_tree_nodes_menus($tree); - } elsif ($tree_transformations{'complete_tree_nodes_missing_menu'}) { - Texinfo::Transformations::complete_tree_nodes_missing_menu($document); - } - - if ($tree_transformations{'regenerate_master_menu'}) { - Texinfo::Transformations::regenerate_master_menu($document); - } - - if ($formats_table{$converted_format}->{'nodes_tree'}) { - my $nodes_list = Texinfo::Structuring::nodes_tree($document); - Texinfo::Document::register_document_nodes_list($document, $nodes_list); - - # With this condition, menu is the default for 'FORMAT_MENU'. - # However, this can only happen if - # 1) 'nodes_tree' is set for the converted format, - # 2) there is a 'module' setting a converter, such that the default set - # in Texinfo::Common is not used, - # 3) FORMAT_MENU is not set in the converter defaults. - # In practice these three conditions are never met, so the default - # is never used. - if (not defined(get_conf('FORMAT_MENU')) - or get_conf('FORMAT_MENU') eq 'menu') { - Texinfo::Structuring::set_menus_node_directions($document); - - Texinfo::Structuring::complete_node_tree_with_menus($document); - - Texinfo::Structuring::check_nodes_are_referenced($document); - } - } - if ($formats_table{$converted_format}->{'floats'}) { - Texinfo::Structuring::number_floats($document); - } - - # do it now to get error messages here - if ($formats_table{$converted_format}->{'setup_index_entries_sort_strings'}) { - Texinfo::Document::setup_indices_sort_strings($document, $document); - } - - #Texinfo::Document::rebuild_document($document); - - # parser errors - my ($errors, $new_error_count) = $document->parser_errors(); - $error_count += $new_error_count if ($new_error_count); - # document/structuring errors - my ($document_errors, $document_error_count) = $document->errors(); - $error_count += $document_error_count if ($document_error_count); - push @$errors, @$document_errors; - - _handle_errors($errors); - _exit($error_count, \%opened_files); - - if ($output_format eq 'structure') { - goto NEXT; - } - # a shallow copy is not sufficient for arrays and hashes to make - # sure that the $cmdline_options are not modified if $file_cmdline_options - # are modified - my $file_cmdline_options = Storable::dclone($cmdline_options); - - if ($file_number != 0) { - delete $file_cmdline_options->{'OUTFILE'} - if exists($file_cmdline_options->{'OUTFILE'}); - delete $file_cmdline_options->{'PREFIX'} - if exists($file_cmdline_options->{'PREFIX'}); - delete $file_cmdline_options->{'SUBDIR'} - if (exists($file_cmdline_options->{'SUBDIR'}) and get_conf('SPLIT')); - } - # the code in Texinfo::Config makes sure that the keys appear only - # once in these three hashes. - my $converter_options = { %$main_program_default_options, - %$init_files_options, - %$file_cmdline_options, - }; - - # NOTE nothing set through $main_configuration in customization registered in - # document is passed directly, which is clean, the Converters already - # have that information in $converter_options, can determine it themselves - # or use their defaults. - # It could be possible to pass some information if it allows - # for instance to have some consistent information for Structuring - # and Converters. - $converter_options->{'deprecated_config_directories'} - = \%deprecated_directories; - unshift @{$converter_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my @prepended_texinfo_language_directories = ($curdir); - push @prepended_texinfo_language_directories, $input_directory - if ($input_directory ne $curdir); - - unshift @{$converter_options->{'TEXINFO_LANGUAGE_DIRECTORIES'}}, - @prepended_texinfo_language_directories; - - my $converter = &{$formats_table{$converted_format} - ->{'converter'}}($converter_options); - $converter->output($document); - - my $converter_registrar = Texinfo::Report::new(); - my $converter_errors = $converter->get_converter_errors(); - if (defined($converter_errors)) { - foreach my $error (@$converter_errors) { - $converter_registrar->add_formatted_message($error); - } - } - - my $converter_opened_files - = Texinfo::Convert::Utils::output_files_opened_files( - $converter->output_files_information()); - $error_count = merge_opened_files($error_count, \%opened_files, - $converter_opened_files); - handle_errors($converter_registrar->errors(), $error_count, \%opened_files); - my $converter_unclosed_files - = Texinfo::Convert::Utils::output_files_unclosed_files( - $converter->output_files_information()); - if ($converter_unclosed_files) { - foreach my $unclosed_file (keys(%$converter_unclosed_files)) { - my $fh = $converter_unclosed_files->{$unclosed_file}; - # undefined file handle means that the path comes from XS (normally - # through build_output_files_unclosed_files) but is not associated - # with a file handle yet, as a file handle can't be directly associated - # with a stream in C code, but the stream can be returned through - # an XS interface, here - # Texinfo::Convert::ConvertXS::get_unclosed_stream. - if (!defined($fh)) { - $fh = $converter->XS_get_unclosed_stream($unclosed_file); - if (!defined($fh)) { - next; - } - } - if ($unclosed_file eq '-') { - $main_unclosed_files{$unclosed_file} = $fh; - } else { - if (!close($fh)) { - warn(sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $unclosed_file, $!)); - $error_count++; - _exit($error_count, \%opened_files); - } - } - } - } - - if (defined(get_conf('INTERNAL_LINKS')) and $file_number == 0 - and $formats_table{$converted_format}->{'internal_links'}) { - my $internal_links_text - = $converter->output_internal_links(); - # always create a file, even if empty. - $internal_links_text = '' if (!defined($internal_links_text)); - my $encoded_internal_links_file_name = get_conf('INTERNAL_LINKS'); - my $internal_links_file_name - = _decode_input($encoded_internal_links_file_name); - my $internal_links_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($internal_links_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $internal_links_files_information, $converter, - $encoded_internal_links_file_name); - my $error_internal_links_file; - if (defined ($internal_links_fh)) { - print $internal_links_fh $internal_links_text; - - if (!close ($internal_links_fh)) { - warn(sprintf(__("%s: error on closing internal links file %s: %s\n"), - $real_command_name, $internal_links_file_name, $!)); - $error_internal_links_file = 1; - } - Texinfo::Convert::Utils::output_files_register_closed( - $internal_links_files_information, - $encoded_internal_links_file_name); - } else { - warn(sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $internal_links_file_name, - $error_message)); - $error_internal_links_file = 1; - } - - my $internal_links_opened_file - = Texinfo::Convert::Utils::output_files_opened_files( - $internal_links_files_information); - $error_internal_links_file - = merge_opened_files($error_internal_links_file, - \%opened_files, $internal_links_opened_file); - # we do not need to go through unclosed files of - # $internal_links_files_information as we know that the file is - # already closed if needed. - - if ($error_internal_links_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - - # Texinfo::Converter::Text does not define it. Alternatively could be - # a mandated part of the converter API - if ($converter->can('reset_converter')) { - $converter->reset_converter(); - } - - if (defined(get_conf('SORT_ELEMENT_COUNT')) and $file_number == 0) { - require Texinfo::Convert::TextContent; - my $sort_element_converter_options = { %$main_program_default_options, - %$init_files_options, - %$file_cmdline_options, - }; - - unshift @{$sort_element_converter_options->{'INCLUDE_DIRECTORIES'}}, - @prepended_include_directories; - - my $converter_element_count - = Texinfo::Convert::TextContent->converter( - $sort_element_converter_options); - - # here could be $output_format or $converted_format. - # Since $converted_format is used above for ->{'nodes_tree'}, use it - # here again. - my $use_sections - = (! $formats_table{$converted_format}->{'nodes_tree'} - or (defined($converter_element_count->get_conf('USE_NODES')) - and !$converter_element_count->get_conf('USE_NODES'))); - my ($sorted_name_counts_array, $sort_element_count_text) - = $converter_element_count->sort_element_counts($document, - $use_sections, get_conf('SORT_ELEMENT_COUNT_WORDS')); - - my $sort_element_count_file_name = get_conf('SORT_ELEMENT_COUNT'); - my ($encoded_sort_element_count_file_name, $path_encoding) - = $converter_element_count->encoded_output_file_name( - $sort_element_count_file_name); - my $sort_elem_files_information - = Texinfo::Convert::Utils::output_files_initialize(); - # the third return information, set if the file has already been used - # in this files_information is not checked as this cannot happen. - my ($sort_element_count_fh, $error_message) - = Texinfo::Convert::Utils::output_files_open_out( - $sort_elem_files_information, $converter_element_count, - $encoded_sort_element_count_file_name); - my $error_sort_element_count_file; - if (defined ($sort_element_count_fh)) { - print $sort_element_count_fh $sort_element_count_text; - - if (!close ($sort_element_count_fh)) { - warn(sprintf(__("%s: error on closing elements size file %s: %s\n"), - $real_command_name, $sort_element_count_file_name, $!)); - $error_sort_element_count_file = 1; - } - Texinfo::Convert::Utils::output_files_register_closed( - $sort_elem_files_information, - $encoded_sort_element_count_file_name); - } else { - warn(sprintf(__("%s: could not open %s for writing: %s\n"), - $real_command_name, $sort_element_count_file_name, $!)); - $error_sort_element_count_file = 1; - } - - my $sort_element_count_file_opened_file - = Texinfo::Convert::Utils::output_files_opened_files( - $sort_elem_files_information); - $error_sort_element_count_file - = merge_opened_files($error_sort_element_count_file, - \%opened_files, $sort_element_count_file_opened_file); - - $converter_element_count->destroy(); - # we do not need to go through unclosed files of - # $sort_elem_files_information as we know that the file is - # already closed if needed. - - if ($error_sort_element_count_file) { - $error_count++; - _exit($error_count, \%opened_files); - } - } - - $converter->destroy(); - NEXT: - Texinfo::Document::remove_document($document) if defined($document); -} - -foreach my $unclosed_file (keys(%main_unclosed_files)) { - if (!close($main_unclosed_files{$unclosed_file})) { - warn(sprintf(__("%s: error on closing %s: %s\n"), - $real_command_name, $unclosed_file, $!)); - $error_count++; - _exit($error_count, \%opened_files); - } -} - -if ($call_texi2dvi) { - if (get_conf('DEBUG') or get_conf('VERBOSE')) { - print STDERR "EXEC " - .join('|', (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV))."\n"; - } - exec { get_conf('TEXI2DVI') } (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV); -} - -1; diff --git a/result/sw/bin/texi2dvi b/result/sw/bin/texi2dvi deleted file mode 100755 index ca575133..00000000 --- a/result/sw/bin/texi2dvi +++ /dev/null @@ -1,1791 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. -# -# Copyright 1992-2024 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Originally written by Noah Friedman. -# -# Please send bug reports, etc. to bug-texinfo@gnu.org. -# If possible, please send a copy of the output of the script called with -# the `--debug' option when making a bug report. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -# No failure shall remain unpunished. -set -e - -# In case the default sed doesn't suffice. -: ${SED=sed} - -program=`echo $0 | $SED -e 's!.*/!!'` - -build_mode=${TEXI2DVI_BUILD_MODE:-local} -build_dir=${TEXI2DVI_BUILD_DIRECTORY:-} - -orig_pwd=`pwd` - -# Initialize variables for option overriding and otherwise. -# Don't use `unset' since old bourne shells don't have this command. -# Instead, assign them an empty value. -action=compile -debug=false -escape="\\" -expand=false # true for expansion via makeinfo -includes= -line_error=true # pass --file-line-error to TeX -max_iters=7 # when to quit -oname= # --output -out_lang=dvi -quiet=false # let the tools' message be displayed -set_language= -src_specials= -shell_escape= -textra= # Extra TeX commands to insert in the input file. -txiprereq=19990129 # minimum texinfo.tex version with macro expansion -verb=false # true for verbose mode -translate_file= # name of charset translation file - -# We have to initialize IFS to space tab newline since we save and -# restore IFS and apparently POSIX allows stupid/broken behavior with -# empty-but-set IFS. -# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html -# We need space, tab and newline, in precisely that order. And don't leave -# trailing blanks. -space=' ' -tab=' ' -newline=' -' -IFS="$space$tab$newline" - -: ${EGREP='grep -E'} - -# Systems which define $COMSPEC or $ComSpec use semicolons to separate -# directories in TEXINPUTS -- except for Cygwin and Msys, where COMSPEC -# might be inherited, but : is used. - -if test -n "$COMSPEC$ComSpec" \ - && uname | $EGREP -iv 'cygwin|msys' >/dev/null \ - && test "$OSTYPE" != msys ; then - path_sep=";" -else - path_sep=":" -fi - - -# Pacify verbose cds. -CDPATH=${ZSH_VERSION+.}$path_sep - - -# Now we define numerous functions, with no other executable code. -# The main program is at the end of the file. - - -# Standard help and version functions. -# -# usage - display usage and exit successfully. -usage () -{ - cat <<EOF -Usage: $program [OPTION]... FILE... - or: texi2pdf [OPTION]... FILE... - or: pdftexi2dvi [OPTION]... FILE... - -Run each Texinfo or (La)TeX FILE through TeX in turn until all -cross-references are resolved, building all indices. The directory -containing each FILE is searched for included files. The suffix of FILE -is used to determine its language ((La)TeX or Texinfo). To process -(e)plain TeX files, set the environment variable LATEX=tex. - -When invoked as \`texi2pdf' or given the option --pdf generate PDF output. -Otherwise, generate DVI. - -General options: - -D, --debug turn on shell debugging (set -x) - -h, --help display this help and exit successfully - -o, --output=OFILE leave output in OFILE; only one input FILE is allowed - -q, --quiet no output unless errors - -v, --version display version information and exit successfully - -V, --verbose report on what is done - --max-iterations=N don't process files more than N times [$max_iters] - --mostly-clean remove auxiliary files or directories from - previous runs (but not the output) - -Output format: - --dvi output a DVI file [default] - --dvipdf output a PDF file via DVI (using a dvi-to-pdf program) - -p, --pdf use pdftex or pdflatex for processing - --ps output a PostScript file via DVI (using dvips) - -TeX tuning: - -E, --expand macro expansion using makeinfo - -I DIR search DIR for Texinfo files - -l, --language=LANG specify LANG for FILE, either latex or texinfo - --no-line-error do not pass --file-line-error to TeX - --shell-escape pass --shell-escape to TeX - --src-specials pass --src-specials to TeX - --translate-file=FILE use given charset translation file for TeX - -t, --command=CMD insert CMD in copy of input file - -Build modes: - --build=MODE specify the treatment of auxiliary files [$build_mode] - --tidy same as --build=tidy - -c, --clean same as --build=clean - --build-dir=DIR specify where the tidy compilation is performed; - implies --tidy - -The MODE specifies where the TeX compilation takes place, and, as a -consequence, how auxiliary files are treated. - -Valid values of MODE are: - \`local' compile in the current directory, leaving all the auxiliary - files around. This is the traditional TeX use. - \`tidy' compile in a local *.t2d directory, where the auxiliary files - are left. Output files are copied back to the original file. - \`clean' same as \`tidy', but remove the auxiliary directory afterwards. - Every compilation therefore requires the full cycle. - -The build mode can also be set using the environment variable -TEXI2DVI_BUILD_MODE. The tidy build directory can also be set using -the environment variable TEXI2DVI_BUILD_DIRECTORY. - -The values of these environment variables are used to run the -corresponding commands, if they are set: - - BIBER BIBTEX DVIPDF DVIPS EGREP LATEX MAKEINDEX MAKEINFO - PDFLATEX PDFTEX SED TEX TEXINDEX TEXINDY THUMBPDF_CMD - -Regarding --dvipdf, if DVIPDF is not set in the environment, the -following programs are looked for (in this order): dvipdfmx dvipdfm -dvipdf dvi2pdf dvitopdf. - -If Texinfo is installed on your site, then the command - - info texi2dvi - -should give you access to more documentation. - -Report bugs to bug-texinfo@gnu.org, -general questions and discussion to help-texinfo@gnu.org. -GNU Texinfo home page: <https://www.gnu.org/software/texinfo/> -General help using GNU software: <http://www.gnu.org/gethelp/> -EOF - exit 0 -} - - -# version - Display version info and exit successfully. -version () -{ - cat <<EOF -texi2dvi (GNU Texinfo 7.2) - -Copyright (C) 2024 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -} - - -# Generic auxiliary functions. - -# Used to access files and directories after we have changed directory -# (for --tidy). -rel= - -# Change directory, updating some relative paths. -cd_dir () -{ - cd "$1" - - # Check if argument or input file is absolute, and if so, make all the path - # variables absolute. - use_absolute=false - case $1 in - [\\/]* | ?:[\\/]*) # absolute path - use_absolute=true ;; - esac - case $in_input in - [\\/]* | ?:[\\/]*) - use_absolute=true ;; - esac - - if $use_absolute ; then - for cdd_dir in work_build workdir t2ddir work_bak in_input in_dir; do - eval "$cdd_dir=\`absolute \$$cdd_dir\`" - done - return - fi - - # Replace each path component with ".." and add a single trailing slash. - rel=`echo "$1" | \$SED -e 's/[^/\\][^/\\]*/../g' -e 's/[/\\]*$/\//'` -} - -# cd_orig - Return to the original directory. -cd_orig () -{ - # In case $orig_pwd is on a different drive (for DOS). - cd / - - # Return to the original directory so that - # - the next file is processed in correct conditions - # - the temporary file can be removed - cd "$orig_pwd" || exit 1 - - rel= -} - - -# func_dirname FILE - Return the directory part of FILE. -func_dirname () -{ - dirname "$1" 2>/dev/null \ - || { echo "$1" | $SED 's!/[^/]*$!!;s!^$!.!'; } -} - - -# noext FILE - Return FILE with one extension removed: -# foo.bar.baz -> foo.bar -noext () -{ - echo "$1" | $SED -e 's/\.[^/.][^/.]*$//' -} - - -# absolute NAME - Return an absolute path to NAME. -absolute () -{ - case $1 in - [\\/]* | ?:[\\/]*) - # Absolute paths don't need to be expanded. - echo "$1" - ;; - *) absolute_slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'` - absolute_rel=$orig_pwd/`func_dirname "$1"` - if test -d "$absolute_rel"; then - (cd "$absolute_rel" 2>/dev/null \ - && absolute_name=`pwd`/`basename "$1"`"$absolute_slashes" - echo "$absolute_name") - else - error 1 "not a directory: $absolute_rel" - fi - ;; - esac -} - - -# ensure_dir DIR1 DIR2... - Make sure given directories exist. -ensure_dir () -{ - for dir - do - # Beware that in parallel builds we may have several concurrent - # attempts to create the directory. So fail only if "mkdir" - # failed *and* the directory still does not exist. - test -d "$dir" \ - || mkdir "$dir" \ - || test -d "$dir" \ - || error 1 "cannot create directory: $dir" - done -} - - -# error EXIT_STATUS LINE1 LINE2... - Report an error and exit with -# failure if EXIT_STATUS is non-null. -error () -{ - error_status="$1" - shift - report "$@" - if test "$error_status" != 0; then - exit $error_status - fi -} - - -# findprog PROG - Return true if PROG is somewhere in PATH, else false. -findprog () -{ - saveIFS="$IFS" - IFS=$path_sep # break path components at the path separator - for dir in $PATH; do - IFS=$saveIFS - # The basic test for an executable is `test -f $f && test -x $f'. - # (`test -x' is not enough, because it can also be true for directories.) - # We have to try this both for $1 and $1.exe. - # - # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin, - # also `test -f' has this enhancement, but not on DJGPP. (Both are - # design decisions, so there is little chance to make them consistent.) - # Thusly, it seems to be difficult to make use of these enhancements. - # - if { test -f "$dir/$1" && test -x "$dir/$1"; } \ - || { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then - return 0 - fi - done - return 1 -} - -# report LINE1 LINE2... - Echo each argument to stderr. -report () -{ - for i in "$@" - do - echo >&2 "$0: $i" - done -} - - -# run COMMAND-LINE - Run COMMAND-LINE verbosely, catching errors as failures. -run () -{ - verbose "Running $@" - "$@" 2>&5 1>&2 \ - || error 1 "$1 failed" -} - - -# verbose WORD1 WORD2... - Echo concatenated WORDs to stderr, if $verb. -verbose () -{ - if $verb; then - echo >&2 "$0: $@" - fi -} - - -# Handling lists. -# -# list_append LIST-NAME ELEM - Append ELEM to (the contents of) LIST-NAME. -list_append () -{ - list_name="$1" - shift - eval set X \$$list_name "$@" - shift - eval $list_name=\""$@"\" -} - - -# list_concat_dirs LIST-NAME DIR-LIST - Append to LIST-NAME all the -# components (including empty ones) from the $path_sep-separated list -# DIR-LIST. Make the paths absolute. -list_concat_dirs () -{ - lcd_list="$1" - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - lcd_replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'" - save_IFS=$IFS - IFS=$path_sep - set x `echo "$2" | eval $SED $lcd_replace_EMPTY`; shift - IFS=$save_IFS - for lcd_dir - do - case $lcd_dir in - EMPTY) - list_append $lcd_list "" - ;; - *) - if test -d $lcd_dir; then - dir=`absolute "$lcd_dir"` - list_append $lcd_list "$lcd_dir" - fi - ;; - esac - done -} - - -# list_prefix LIST-NAME SEP -> STRING - Return string with each element -# of LIST-NAME preceded by SEP. -list_prefix () -{ - lp_separator="$2" - eval set X \$$1 - shift - lp_result='' - for i - do - lp_result="$lp_result \"$lp_separator\" \"$i\"" - done - echo "$lp_result" -} - -# list_infix LIST-NAME SEP -> STRING - Same as list_prefix, but a separator. -list_infix () -{ - eval set X \$$1 - shift - save_IFS="$IFS" - IFS=$path_sep - echo "$*" - IFS=$save_IFS -} - - -# Language auxiliary functions. -# -# out_lang_set LANG - set $out_lang to LANG (dvi, pdf, etc.), or error. -out_lang_set () -{ - case $1 in - dvi|dvipdf|pdf|ps) out_lang=$1;; - *) error 1 "invalid output format: $1";; - esac -} - -# out_lang_tex - Return the tex output language (DVI or PDF) for $out_lang. -out_lang_tex () -{ - case $out_lang in - dvi | ps | dvipdf ) echo dvi;; - pdf ) echo $out_lang;; - *) error 1 "invalid out_lang: $1";; - esac -} - -# out_lang_ext - Return the extension for $out_lang (pdf, dvi, etc.). -out_lang_ext () -{ - case $out_lang in - dvipdf ) echo pdf;; - dvi | pdf | ps ) echo $out_lang;; - *) error 1 "invalid out_lang: $1";; - esac -} - - -# TeX file auxiliary functions. -# -# absolute_filenames TEX-PATH -> TEX-PATH - Convert relative paths to -# absolute, so we can run in another directory (e.g., in tidy build -# mode, or during the macro-support detection). -absolute_filenames () -{ - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - af_replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY${path_sep}/g'" - af_result=`echo "$1" | eval $SED $af_replace_empty` - save_IFS=$IFS - IFS=$path_sep - set x $af_result; shift - af_result= - af_path_sep= - for dir - do - case $dir in - EMPTY) - af_result=$af_result$af_path_sep - ;; - *) - if test -d "$dir"; then - af_result=$af_result$af_path_sep`absolute "$dir"` - else - # Even if $dir is not a directory, preserve it in the path. - # It might contain metacharacters that TeX will expand in - # turn, e.g., /some/path/{a,b,c}. This will not get the - # implicit absolutification of the path, but we can't help that. - af_result=$af_result$af_path_sep$dir - fi - ;; - esac - af_path_sep=$path_sep - done - echo "$af_result" -} - - -# output_base_name FILE - Return the name of FILE, possibly renamed to -# satisfy --output. FILE is local, i.e., without any directory part. -output_base_name () -{ - case $oname in - '') echo "$1";; - *) obn_out_noext=`noext "$oname"` - obn_file_ext=`echo "$1" | $SED 's/^.*\.//'` - echo "$obn_out_noext.$obn_file_ext" - ;; - esac -} - - -# destdir - Return the directory where the output is expected. -destdir () -{ - case $oname in - '') echo "$orig_pwd";; - *) dirname "$oname";; - esac -} - - -# move_to_dest FILE - Move FILE to the place where the user expects. -# Truly move it, that is, it must not remain in its build location -# unless that is also the output location. (Otherwise it might appear -# as an extra file in make distcheck.) -# -# FILE can be the principal output (in which case -o directly applies), -# or an auxiliary file with the same base name. -move_to_dest () -{ - # If we built in place and have no output name, there is nothing to - # do, so just return. - case $tidy:$oname in - false:) return;; - esac - - test -f "$1" || error 1 "no such file or directory: $1" - case $tidy:$oname in - true:) dest=$orig_pwd/$1 ;; - true:*) dest=`output_base_name "$1"` ;; - false:*) dest=$oname ;; - esac - - # We want to compare the source location and the output location, - # and if they are different, do the move. But if they are the - # same, we must preserve the source. Since we can't assume - # stat(1) or test -ef is available, resort to comparing the - # directory names, canonicalized with pwd. We can't use cmp -s - # since the output file might not actually change from run to run; - # e.g., TeX DVI output is timestamped to only the nearest minute. - mtd_destdir=`dirname "$dest"` - mtd_destdir=`cd "$mtd_destdir" && pwd` - mtd_destbase=`basename "$dest"` - - mtd_sourcedir=`dirname "$1"` - mtd_sourcedir=`cd "$mtd_sourcedir" && pwd` - mtd_sourcebase=`basename "$1"` - - if test "$mtd_sourcedir/$mtd_sourcebase" != "$mtd_destdir/$mtd_destbase" - then - verbose "Moving $1 to $dest" - rm -f "$dest" - if mv "$1" "$dest" ; then - # For --output, report that the file was moved, as TeX has just - # reported that it wrote output at the original location. - if test z"$oname" != z ; then - echo "Moved $1 to $dest" - fi - else - error 1 "Could not move $1 to $dest" - fi - fi -} - - -# Managing xref files. -# -# aux_file_p FILE - Echo FILE if FILE is an aux file. -aux_file_p () -{ - test -f "$1" || return 0 - case $1 in - *.aux) echo "$1";; - *) return 0;; - esac -} - -# bibaux_file_p FILE - Echo FILE if FILE contains citation requests. -bibaux_file_p () -{ - test -s "$1" || return 0 - if (grep '^\\bibstyle[{]' "$1" \ - && grep '^\\bibdata[{]' "$1" \ - ## The following line is suspicious: fails when there - ## are citations in sub aux files. We need to be - ## smarter in this case. - ## && grep '^\\citation[{]' "$f" - ) >&6 2>&1; - then - echo "$1" - fi - return 0 -} - -# index_file_p FILE - Echo FILE if FILE is an index file. -index_file_p () -{ - test -f "$1" || return 0 - case $in_lang:`$SED '1q' "$1"` in - # When index.sty is used, there is a space before the brace. - latex:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) echo $1;; - - texinfo:"\\entry{"*) echo $1;; - texinfo:"@entry{"*) echo $1;; - # @entry is output from newer versions of texinfo.tex - esac - return 0 -} - -# Used in generated_files_get -generated_files_get_from_log () -{ - if test -f "$1.log"; then - # Usually the output is like: \openout1 = `foobar.tex'. - # (including the final period) - # but luatex outputs: \openout1 = foobar.tex - # (no quotes, no period). - # So we have to make the punctuation optional. - grep '^\\openout[0-9]' "$1.log" \ - | $SED -e "s/\\\\openout[^=]*= *[\`']*//" \ - -e "s/'\.$//" - fi -} - -# Used in generated_files_get -generated_files_get_from_fls () -{ - if test -f "$1.fls"; then - grep '^OUTPUT ' "$1.fls" | cut -b 8- \ - | grep -v '\.dvi$' | grep -v '\.log$' | grep -v '\.pdf$' || true - fi -} - -# generated_files_get - Output the list of files generated by the TeX -# compilation. -generated_files_get () -{ - $generated_files_get_method "$in_noext" - if test $generated_files_get_method = generated_files_get_from_fls; then - if test -r "$in_noext.fl"; then - report 'WARNING!! The fl index may typeset as garbage!' # goes to stderr - report 'Try upgrading your version of texinfo.tex, or else try setting' - report 'the environment variable TEXI2DVI_USE_RECORDER to '\''no'\''.' -report 'Once you'\''ve done that, delete the file with an '\''fl'\'' extension.' - fi - fi -} - - -# xref_files_save - set xref_files_orig from xref_files_new, and save xref -# files in $work_bak. -xref_files_save () -{ - # Save copies of auxiliary files for later comparison. - xref_files_orig=$xref_files_new - if test -n "$xref_files_orig"; then - verbose "Backing up xref files: $xref_files_orig" - # The following line improves `cp $xref_files_orig "$work_bak"' - # by preserving the directory parts. Think of - # cp chap1/main.aux chap2/main.aux $work_bak. - # - # Users may have, e.g., --keep-old-files. Don't let this interfere. - # (Don't use unset for the sake of ancient shells.) - TAR_OPTIONS=; export TAR_OPTIONS - tar cf - $xref_files_orig | (cd "$rel$work_bak" && tar xf -) - fi - - # Remove auxiliary files in same directory as main input file. Otherwise, - # these will likely be read instead of those in the build dir. - if $tidy ; then - secondary_xref_files=`sorted_index_files` - for f in $xref_files_new $secondary_xref_files ; do - if test -f "$rel$in_dir/$f" ; then - remove $rel$in_dir/$f - fi - done - fi -} - - -# xref_files_changed - Return success if the xref files have changed -# since the previous run. -xref_files_changed () -{ - xref_files_new=`generated_files_get` - - # LaTeX (and the package changebar) report in the LOG file if it - # should be rerun. This is needed for files included from - # subdirs, since texi2dvi does not try to compare xref files in - # subdirs. Performing xref files test is still good since LaTeX - # does not report changes in xref files. - if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then - return 0 - fi - # Similarly, check for biblatex report of whether rerunning is needed. - if grep "biblatex.*(re)run" "$in_noext.log" >&6 2>&1; then - return 0 - fi - - # If old and new lists don't have the same file list, - # then something has definitely changed. - verbose "Original xref files = $xref_files_orig" - verbose "New xref files = $xref_files_new" - if test "x$xref_files_orig" != "x$xref_files_new"; then - return 0 - fi - - # Compare each file until we find a difference. - for this_file in $xref_files_new; do - verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..." - # cmp -s returns nonzero exit status if files differ. - if cmp -s "$this_file" "$rel$work_bak/$this_file"; then :; else - verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..." - if $debug; then - diff -u "$rel$work_bak/$this_file" "$this_file" - fi - return 0 - fi - done - - secondary_xref_files=`sorted_index_files` - verbose "Secondary xref files = $secondary_xref_files" - for this_file in $secondary_xref_files; do - if test -f $this_file; then :; else - verbose "$this_file missing ..." - return 0 - fi - done - - # No change. - return 1 -} - -# Running the TeX suite. -# -# Set tex_cmd variable, for running TeX. -make_tex_cmd () -{ - case $in_lang:`out_lang_tex` in - latex:dvi) - tex=${LATEX:-latex};; - latex:pdf) - tex=${PDFLATEX:-pdflatex};; - texinfo:dvi) - # MetaPost also uses the TEX environment variable. If the user - # has set TEX=latex for that reason, don't bomb out. - case $TEX in - *latex) tex=tex;; # don't bother trying to find etex - *) tex=$TEX - esac;; - texinfo:pdf) tex=$PDFTEX;; - *) error 1 "$out_lang not supported for $in_lang";; - esac - - # Beware of aux files in subdirectories that require the - # subdirectory to exist. - case $in_lang:$tidy in - latex:true) - $SED -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" | - sort -u | - while read d - do - ensure_dir "$work_build/$d" - done - ;; - esac - - # Note that this will be used via an eval: quote properly. - tex_cmd="$tex" - - # If possible, make TeX report error locations in GNU format. - if $line_error; then - if test "${tex_help:+set}" != set; then - # Go to a temporary directory to try --help, since old versions that - # don't accept --help will generate a texput.log. - tex_help_dir=$t2ddir/tex_help - ensure_dir "$tex_help_dir" - tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1 || true` - fi - # The mk program and perhaps others want to parse TeX's - # original error messages. - case $tex_help in - *file-line-error*) tex_cmd="$tex_cmd --file-line-error";; - esac - fi - - # Tell TeX about -recorder option, if specified - # recorder_option_maybe is in { " -recorder", "" } - tex_cmd="$tex_cmd$recorder_option_maybe" - - - # Tell TeX about TCX file, if specified. - test -n "$translate_file" \ - && tex_cmd="$tex_cmd --translate-file=$translate_file" - - # Tell TeX to make source specials (for backtracking from output to - # source, given a sufficiently smart editor), if specified. - test -n "$src_specials" && tex_cmd="$tex_cmd $src_specials" - - # Tell TeX to allow running external executables - test -n "$shell_escape" && tex_cmd="$tex_cmd $shell_escape" - - # Run without interaction, stopping at the first error. - tex_cmd="$tex_cmd </dev/null" -} - - -# run_tex - Run TeX, taking care of errors and logs. -run_tex () -{ - # Check for any unusual characters in the filename. - # However, >, \ and any whitespace characters are not supported - # filenames. - in_input_funnies=`echo "$in_input" \ - | $SED -e 's![^}#$%&^_{~]!!g' -e 's!\(.\)!\1\'' -!g' | uniq` - - if test -n "$in_input_funnies" ; then - # Make > an end group character, as it's unlikely to appear in - # a filename. - tex_cmd="$tex_cmd '${escape}bgroup${escape}catcode62=2${escape}relax'" - - # If the filename has funny characters, change the TeX category codes of - # some characters within a group, and use \expandafter to input the file - # outside of the group. - for w in $in_input_funnies ; do - tex_cmd="$tex_cmd '${escape}catcode\`${escape}$w=12${escape}relax'" - done - - # Set \toks0 to "\input FILENAME\relax" - tex_cmd="$tex_cmd '${escape}toks0${escape}bgroup${escape}input' '$rel$in_input' '${escape}relax>" - - # Expand \toks0 after the end of the group - tex_cmd="$tex_cmd${escape}expandafter${escape}egroup" - tex_cmd="$tex_cmd${escape}the${escape}toks0${escape}relax'" - else - # In the case of a simple filename, just pass the filename - # with no funny tricks. - tex_cmd="$tex_cmd '${escape}input' '$rel$in_input'" - fi - - verbose "$0: Running $tex_cmd ..." - if (eval "$tex_cmd" >&5); then - case $out_lang in - dvi | pdf ) move_to_dest "$in_noext.$out_lang";; - esac - else - tex_failed=true - fi -} - - -# run_bibtex - Run bibtex (or biber) on current file -# - if its input (AUX) exists, -# - or if some citations are missing (LOG contains `Citation'), -# - or if the LOG complains of a missing .bbl. -# -# Don't try to be too smart: -# 1. Running bibtex only if the bbl file exists and is older than -# the LaTeX file is wrong, since the document might include files -# that have changed. -# -# 2. Because there can be several AUX (if there are \include's), -# but a single LOG, looking for missing citations in LOG is -# easier, though we take the risk of matching false messages. -run_bibtex () -{ - case $in_lang in - latex) bibtex=${BIBTEX:-bibtex};; - texinfo) return;; - esac - - # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex. - # The no .aux && \bibdata test is also for btxmac, in case it was the - # first run of a bibtex-using document. Otherwise, it's possible that - # bibtex would never be run. - if test -r "$in_noext.aux" \ - && test -r "$in_noext.log" \ - && ( (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \ - || grep '.*Undefined citation' "$in_noext.log" \ - || grep 'No file .*\.bbl\.' "$in_noext.log") \ - || (grep 'No \.aux file' "$in_noext.log" \ - && grep '^\\bibdata' "$in_noext.aux") ) \ - >&6 2>&1; \ - then - bibtex_aux=`filter_files bibaux_file_p` - for f in $bibtex_aux; do - run $bibtex "$f" - done - fi - - # biber(+biblatex) check. - if test -r "$in_noext.bcf" \ - && grep '</bcf:controlfile>' "$in_noext.bcf" >/dev/null; then - run ${BIBER:-biber} "$in_noext" - fi -} - - -# filter_file PREDICATE - Go through the list of files in xref_files_new -# and use PREDICATE on each one to optionally print it or print other files -# based on the filename. -filter_files () -{ - test -n "$xref_files_new" || return 0 - echo "$xref_files_new" | - # Filter existing files matching the criterion. - # - while read file; do - $1 "$file" - done | - sort | - # Some files are opened several times, e.g., listings.sty's *.vrb. - uniq -} - -# run_index - Run texindex (or makeindex or texindy) on current index -# files. If they already exist, and after running TeX a first time the -# index files don't change, then there's no reason to run TeX again. -# But we won't know that if the index files are out of date or nonexistent. -run_index () -{ - index_files=`filter_files index_file_p` - test -n "$index_files" \ - || return 0 - - : ${MAKEINDEX:=makeindex} - : ${TEXINDEX:=texindex} - : ${TEXINDY:=texindy} - - case $in_lang in - latex) - if $TEXINDY --version >&6 2>&1; then - run $TEXINDY $index_files - else - run $MAKEINDEX $index_files - fi - ;; - - texinfo) - run $TEXINDEX $index_files - ;; - esac -} - - -# run_thumbpdf - Run thumbpdf. -run_thumbpdf () -{ - if test `out_lang_tex` = pdf \ - && test -r "$in_noext.log" \ - && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \ - then - thumbpdf=${THUMBPDF_CMD:-thumbpdf} - thumbcmd="$thumbpdf $in_dir/$in_noext" - verbose "Running $thumbcmd ..." - if $thumbcmd >&5; then - run_tex - else - report "$thumbpdf exited with bad status." \ - "Ignoring its output." - fi - fi -} - - -# run_dvipdf FILE.dvi - Convert FILE.dvi to FILE.pdf. -run_dvipdf () -{ - # Find which dvi->pdf program is available. - if test -n "$DVIPDF"; then - dvipdf=$DVIPDF # user envvar, use it without checking - - elif test -z "$dvipdf"; then - for i in dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do - if findprog $i; then - dvipdf=$i - fi - done - fi - # These tools have varying interfaces, some 'input output', others - # 'input -o output'. They all seem to accept 'input' only, - # outputting using the expected file name. - run $dvipdf "$1" - if test ! -f `echo "$1" | $SED -e 's/\.dvi$/.pdf/'`; then - error 1 "cannot find output file" - fi -} - -# run_tex_suite - Run the TeX tools until a stable point is reached. -run_tex_suite () -{ - make_tex_cmd - - # Move to the working directory. - if $tidy; then - verbose "cd $work_build" - cd_dir "$work_build" || exit 1 - fi - - # Count the number of cycles. - suite_cycle=0 - - # Start by checking the log files for what files were created last - # time. This will mean that if they don't change, we finish in 1 cycle. - xref_files_new=`generated_files_get` - xref_files_save - - while :; do - # check for (probably) LaTeX loop (e.g. varioref) - if test $suite_cycle -eq "$max_iters"; then - error 0 "Maximum of $max_iters cycles exceeded" - break - fi - - # report progress - suite_cycle=`expr $suite_cycle + 1` - verbose "Cycle $suite_cycle for $command_line_filename" - - tex_failed=false - run_tex - xref_files_changed || break - xref_files_save - - # We run bibtex first, because it's more likely for the indexes - # to change after bibtex is run than the reverse, though either - # would be rare. - run_bibtex - run_index - done - - if $tex_failed ; then - # TeX failed, and the xref files did not change. - error 1 "$tex exited with bad status, quitting." - fi - - # If we were using thumbpdf and producing PDF, then run thumbpdf - # and TeX one last time. - run_thumbpdf - - # Install the result if we didn't already (i.e., if the output is - # dvipdf or ps). - case $out_lang in - dvipdf) - run_dvipdf "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - ps) - : ${DVIPS:=dvips} - run $DVIPS -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - esac - - cd_orig -} - - -# TeX processing auxiliary tools. -# -# run_makeinfo - Expand macro commands in the original source file using -# Makeinfo. Always use `end' footnote style, since the `separate' style -# generates different output (arguably this is a bug in -E). Discard -# main info output, the user asked to run TeX, not makeinfo. -run_makeinfo () -{ - test $in_lang = texinfo \ - || return 0 - - # Unless required by the user, makeinfo expansion is wanted only - # if texinfo.tex is too old. - if $expand; then - makeinfo=${MAKEINFO:-makeinfo} - else - # Check if texinfo.tex performs macro expansion by looking for - # its version. The version is a date of the form YEAR-MO-DA. - # We don't need to use [0-9] to match the digits since anyway - # the comparison with $txiprereq, a number, will fail with non-digits. - # Run in a temporary directory to avoid leaving files. - version_test_dir=$t2ddir/version_test - ensure_dir "$version_test_dir" - if ( - cd "$version_test_dir" - echo '\input texinfo.tex @bye' >txiversion.tex - # Be sure that if tex wants to fail, it is not interactive: - # close stdin. - $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err - ); then :; else - report "texinfo.tex appears to be broken. -This may be due to the environment variable TEX set to something -other than (plain) tex, a corrupt texinfo.tex file, or -to tex itself simply not working." - cat "$version_test_dir/txiversion.out" - cat "$version_test_dir/txiversion.err" >&2 - error 1 "quitting." - fi - eval `$SED -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"` - verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." - if test "$txiprereq" -le "$txiversion" >&6 2>&1; then - makeinfo= - else - makeinfo=${MAKEINFO:-makeinfo} - fi - # If TeX is preloaded, offer the user this convenience: - if test "$txiformat" = Texinfo; then - escape=@ - fi - fi - - if test -n "$makeinfo"; then - # in_src: the file with macros expanded. - # Use the same basename to generate the same aux file names. - work_src=$workdir/src - ensure_dir "$work_src" - in_src=$work_src/$in_base - run_mi_includes=`list_prefix includes -I` - verbose "Macro-expanding $command_line_filename to $in_src ..." - # eval $makeinfo because it might be defined as something complex - # (running missing) and then we end up with things like '"-I"', - # and "-I" (including the quotes) is not an option name. This - # happens with gettext 0.14.5, at least. - eval $makeinfo -c TEXINFO_OUTPUT_FORMAT=plaintexinfo --iftex --no-ifinfo \ - --footnote-style=end -I "$in_dir" $run_mi_includes \ - "$command_line_filename" >"$in_src" - # Continue only if everything succeeded. - if test $? -ne 0 \ - || test ! -r "$in_src"; then - verbose "Expansion failed, ignored..."; - else - in_input=$in_src - fi - fi -} - - -# insert_commands - Insert $textra commands at the beginning of the file. -# Recommended to be used for @finalout, @smallbook, etc. -insert_commands () -{ - if test -n "$textra"; then - # _xtr. The file with the user's extra commands. - work_xtr=$workdir/xtr - in_xtr=$work_xtr/$in_base - ensure_dir "$work_xtr" - verbose "Inserting extra commands: $textra" - case $in_lang in - latex) textra_cmd=1i;; - texinfo) - textra_cmd='/^\\input texinfo/a' - # insert after @setfilename line if present - if head -n 10 $in_input | grep '^@setfilename' ; then - textra_cmd='/^@setfilename/a' - fi - ;; - *) error 1 "internal error, unknown language: $in_lang";; - esac - $SED "$textra_cmd\\ -$textra" "$in_input" >"$in_xtr" - in_input=$in_xtr - fi -} - - -# compute_language FILENAME - Return the short string for the language -# in which FILENAME is written: `texinfo' or `latex'. -compute_language () -{ - # If the user explicitly specified the language, use that. - # Otherwise, if the first line is \input texinfo, assume it's texinfo. - # Otherwise, guess from the file extension. - if test -n "$set_language"; then - echo $set_language - elif $SED 1q "$1" | grep 'input texinfo' >&6; then - echo texinfo - else - # Get the type of the file (latex or texinfo) from the given language - # we just guessed, or from the file extension if not set yet. - case $1 in - *.ltx | *.tex | *.drv | *.dtx) echo latex;; - *) echo texinfo;; - esac - fi -} - - -# compile - Run the full compilation chain, from pre-processing to -# installation of the output at its expected location. -compile () -{ - # Set include path for tools: - # . Include current directory in case there are files there already, so - # we don't have more TeX runs than necessary. orig_pwd is used in case - # we are in clean build mode, where we have cd'd to a temp directory. - # . Include directory containing file, in case there are other - # files @include'd. - # . Keep a final path_sep to get the default (system) TeX - # directories included. - # . If we have any includes, put those at the end. - - common="$orig_pwd$path_sep$in_dir$path_sep" - # - txincludes=`list_infix includes $path_sep` - test -n "$txincludes" && common="$common$txincludes$path_sep" - # - for var in $tex_envvars; do - eval val="\$common\$${var}_orig" - # Convert relative paths to absolute paths, so we can run in another - # directory (e.g., in clean build mode, or during the macro-support - # detection). - val=`absolute_filenames "$val"` - eval $var="\"$val\"" - export $var - eval verbose \"$var=\'\$${var}\'\" - done - - # --expand - run_makeinfo - - # --command, --texinfo - insert_commands - - # Run until a fixed point is reached. - run_tex_suite -} - -# make_openout_test FLAGS EXTENSION -# - Run TeX with an input file that performs an \openout. Pass FLAGS to TeX. -# -make_openout_test () -{ - recorder_option_maybe="$1" - make_tex_cmd - - ensure_dir "$workdir"/check_recorder - cd_dir "$workdir"/check_recorder - - cat > openout.tex <<EOF -\newwrite\ourwrite -\immediate\openout\ourwrite dum.dum -\bye -EOF - # \bye doesn't work for LaTeX, but it will cause latex - # to exit with an input error. - tex_cmd="$tex_cmd '${escape}input' ./openout.tex" - # ./ in case . isn't in path - verbose "$0: running $tex_cmd ..." - rm -fr "openout.$2" - (eval "$tex_cmd" >/dev/null 2>&1) -} - -# Check tex supports -recorder option -check_recorder_support () -{ - verbose "Checking TeX recorder support..." - make_openout_test " -recorder" fls - if test -f openout.fls && grep '^OUTPUT dum.dum$' openout.fls > /dev/null - then - cd_orig - verbose "Checking TeX recorder support... yes" - return 0 - else - cd_orig - verbose "Checking TeX recorder support... no" - return 1 - fi -} - -# Check tex supports \openout traces in log -check_openout_in_log_support () -{ - verbose "Checking TeX \openout in log support..." - make_openout_test "" log - if test -f openout.log \ - && grep '^\\openout..\? *= *`\?dum\.dum'\''\?' openout.log >/dev/null - then - cd_orig - verbose "Checking TeX \openout in log support... yes" - return 0 - else - cd_orig - verbose "Checking TeX \openout in log support... no" - return 1 - fi -} - -# Set that output auxiliary files are detected with the -recorder option, -# which creates a file JOBNAME.fls which is a machine-readable listing of -# files read and written during the job. -set_aux_files_from_fls () -{ - recorder_option_maybe=" -recorder" - generated_files_get_method=generated_files_get_from_fls -} - -# Set that output auxiliary files are detected with searching for \openout -# in the log file. -set_aux_files_from_log () -{ - recorder_option_maybe='' - generated_files_get_method=generated_files_get_from_log -} - -aux_files_error='Your TeX installation appears to be broken - texi2dvi -cannot determine auxiliary files output from a TeX run. - -You may need to install TeX, or change the values of your PATH, TEX -or PDFTEX environment variables in order to proceed.' - -# Decide whether output auxiliary files are detected with the -recorder -# option, or by searching for \openout in the log file. -decide_aux_files_method () -{ - # Select output file detection method - # Valid values of TEXI2DVI_USE_RECORDER are: - # yes use the -recorder option, no checks. - # no scan for \openout in the log file, no checks. - # yesmaybe check whether -recorder option is supported, and if yes - # use it, otherwise check for tracing \openout in the - # log file is supported, and if yes use it, else it is an - # error. - # nomaybe same as `yesmaybe', except that the \openout trace in - # log file is checked first. - # - # The default behaviour is `nomaybe'. - - test -n "$TEXI2DVI_USE_RECORDER" || TEXI2DVI_USE_RECORDER=nomaybe - - case $TEXI2DVI_USE_RECORDER in - yes) set_aux_files_from_fls;; - - no) set_aux_files_from_log;; - - yesmaybe) - if check_recorder_support; then - set_aux_files_from_fls - elif check_openout_in_log_support; then - set_aux_files_from_log - else - error 1 "$aux_files_error" - fi - ;; - - nomaybe) - if check_openout_in_log_support; then - set_aux_files_from_log - elif check_recorder_support; then - set_aux_files_from_fls - else - error 1 "$aux_files_error" - fi - ;; - - *) error 1 "Invalid value of TEXI2DVI_USE_RECORDER environment variable : $TEXI2DVI_USE_RECORDER.";; - - esac -} - -# remove FILE... -remove () -{ - verbose "Removing" "$@" - rm -rf "$@" -} - - -# all_files - Echo the names of all files generated, including those by -# auxiliary tools like texindex. -all_files () -{ - echo $in_noext.log - echo $in_noext.fls - echo $xref_files_new - echo `sorted_index_files` -} - -sorted_index_files () -{ - filter_files sorted_index_filter -} - -# Print the name of a generated file based on FILE if there is one. -sorted_index_filter () -{ - case $in_lang in - texinfo) - # texindex: texinfo.cp -> texinfo.cps - if test -n "`index_file_p $1`" ; then - echo $1s - fi - ;; - esac -} - - -# Not currently used - use with filter_files to add secondary files created by -# bibtex -bibtex_secondary_files () -{ - case $in_lang in - latex) - if test -n "`aux_file_p $1`"; then - # bibtex: *.aux -> *.bbl and *.blg. - echo $1 | $SED 's/^\(.*\)\.aux$/\1.bbl/' - echo $1 | $SED 's/^\(.*\)\.aux$/\1.blg/' - fi - ;; - esac -} - -# mostly_clean - Remove auxiliary files and directories. Changes back to -# the original directory. -mostly_clean () -{ - cd_orig - set X "$t2ddir" - shift - $tidy || { - set X ${1+"$@"} `all_files` - shift - } - remove ${1+"$@"} -} - - -# cleanup - Remove what should be removed according to options. -# Called at the end of each compilation cycle, and at the end of -# the script. Changes the current directory. -cleanup () -{ - case $clean:$tidy in - true:true) mostly_clean ;; # build mode is "clean" - false:false) cd_orig; remove "$t2ddir";; # build mode is "local" - esac -} - - -# input_file_name_decode - Decode COMMAND_LINE_FILENAME, and set the -# following shell variables: -# -# - COMMAND_LINE_FILENAME -# The filename given on the commmand line, but cleaned of TeX commands. -# - IN_DIR -# The directory containing the input file. -# - IN_BASE -# The input file base name (no directory part). -# - IN_NOEXT -# The input file name with neither file extensions nor directory part. -# - IN_INPUT -# The path to the input file for passing as a command-line argument -# to TeX. Defaults to COMMAND_LINE_FILENAME, but might change if the -# input is preprocessed. -input_file_name_decode () -{ - case $command_line_filename in - *\\input\{*\}*) - # Let AUC-TeX error parser deal with line numbers. - line_error=false - command_line_filename=`\ - expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` - ;; - esac - - # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), - # prepend `./' in order to avoid that the tools take it as an option. - echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \ - || command_line_filename="./$command_line_filename" - - # See if the file exists. If it doesn't we're in trouble since, even - # though the user may be able to reenter a valid filename at the tex - # prompt (assuming they're attending the terminal), this script won't - # be able to find the right xref files and so forth. - test -r "$command_line_filename" \ - || error 1 "cannot read $command_line_filename, skipping." - - # Get the name of the current directory. - in_dir=`func_dirname "$command_line_filename"` - - # Strip directory part but leave extension. - in_base=`basename "$command_line_filename"` - # Strip extension. - in_noext=`noext "$in_base"` - - # The normalized file name to compile. Must always point to the - # file to actually compile (in case of recoding, macro-expansion etc.). - in_input=$in_dir/$in_base - - - # Compute the output file name. - if test x"$oname" != x; then - out_name=$oname - else - out_name=$in_noext.`out_lang_ext` - fi - out_dir=`func_dirname "$out_name"` - out_dir_abs=`absolute "$out_dir"` - out_base=`basename "$out_name"` - out_noext=`noext "$out_base"` -} - - -# -#################### Main program starts ########################## - -# Initialize more variables. -# -# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. -# Likewise for bibtex and makeindex. -tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ -TEXINPUTS TFMFONTS" -for var in $tex_envvars; do - eval ${var}_orig=\$$var - export $var -done - -# Push a token among the arguments that will be used to notice when we -# ended options/arguments parsing. -# Use "set dummy ...; shift" rather than 'set - ..." because on -# Solaris set - turns off set -x (but keeps set -e). -# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3 -# still expand "$@" to a single argument (the empty string) rather -# than nothing at all. -arg_sep="$$--$$" -set dummy ${1+"$@"} "$arg_sep"; shift - -while test x"$1" != x"$arg_sep"; do - # Handle --option=value by splitting apart and putting back on argv. - case "$1" in - --*=*) - opt=`echo "$1" | $SED -e 's/=.*//'` - val=`echo "$1" | $SED -e 's/[^=]*=//'` - shift - set dummy "$opt" "$val" ${1+"$@"}; shift - ;; - esac - - case "$1" in - -@ ) escape=@;; - -~ ) verbose "Option -~ is obsolete: texi2dvi ignores it.";; - -b | --batch) ;; # Obsolete - --build) shift; build_mode=$1;; - --build-dir) shift; build_dir=$1;; - -c | --clean) build_mode=clean;; - -D | --debug) debug=true;; - -e | -E | --expand) expand=true;; - -h | --help) usage;; - -I) shift; list_concat_dirs includes "$1";; - -l | --lang | --language) shift; set_language=$1;; - --mostly-clean) action=mostly-clean;; - --no-line-error) line_error=false;; - --max-iterations) shift; max_iters=$1;; - -o | --out | --output) - shift - # Make it absolute, just in case we also have --clean, or whatever. - oname=`absolute "$1"`;; - - # Output formats. - -O|--output-format) shift; out_lang_set "$1";; - --dvi|--dvipdf|--pdf|--ps) - out_lang_set `echo "x$1" | $SED 's/^x--//'`;; - - -p) out_lang_set pdf;; - -q | -s | --quiet | --silent) quiet=true;; - --src-specials) src_specials=--src-specials;; - --shell-escape) shell_escape=--shell-escape;; - -t | --texinfo | --command ) shift; textra="$textra\\ -"`echo "$1" | $SED 's/\\\\/\\\\\\\\/g'`;; - --translate-file ) shift; translate_file="$1";; - --tidy) build_mode=tidy;; - -v | --vers*) version;; - -V | --verb*) verb=true;; - --) # What remains are not options. - shift - while test x"$1" != x"$arg_sep"; do - set dummy ${1+"$@"} "$1"; shift - shift - done - break;; - -*) - error 1 "Unknown or ambiguous option \`$1'." \ - "Try \`--help' for more information." - ;; - *) set dummy ${1+"$@"} "$1"; shift;; - esac - shift -done -# Pop the token -shift - -# If build_dir given, switch from --local to --tidy -if test x"$build_dir" != x"" && test x"$build_mode" = x"local" ; then - build_mode=tidy -fi - -# $tidy: compile in a t2d directory. -# $clean: remove all the aux files. -case $build_mode in - local) clean=false; tidy=false;; - tidy) clean=false; tidy=true;; - clean) clean=true; tidy=true;; - *) error 1 "invalid build mode: $build_mode";; -esac - -# Interpret remaining command line args as filenames. -case $# in - 0) - error 2 "Missing file arguments." "Try \`--help' for more information." - ;; - 1) ;; - *) - if test -n "$oname"; then - error 2 "Can't use option \`--output' with more than one argument." - fi - ;; -esac - - -# We can't do much without tex. -# End up with the TEX and PDFTEX variables set to what we are going to use. -# -# If $TEX is set to a directory, don't use it. -test -n "$TEX" && test -d "$TEX" && unset TEX - -# But otherwise, use $TEX if it is set. -if test -z "$TEX"; then - if findprog tex; then :; else cat <<EOM >&2 -You don't have a working TeX binary (tex) installed anywhere in -your PATH, and texi2dvi cannot proceed without one. If you want to use -this script, you'll need to install TeX (if you don't have it) or change -your PATH or TEX environment variable (if you do). See the --help -output for more details. - -For information about obtaining TeX, please see http://tug.org/texlive, -or do a web search for TeX and your operating system or distro. -EOM - exit 1 - fi - - # We want to use etex (or pdftex) if they are available, and the user - # didn't explicitly specify. We don't check for elatex and pdfelatex - # because (as of 2003), the LaTeX team has asked that new distributions - # use etex by default anyway. - # - if findprog etex; then TEX=etex; else TEX=tex; fi -fi - -# For many years, the pdftex binary has included the e-tex extensions, -# but for those people with ancient TeX distributions ... -if test -z "$PDFTEX"; then - if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi -fi - - -# File descriptor usage: -# 0 standard input -# 1 standard output (--verbose messages) -# 2 standard error -# 5 tools output (turned off by --quiet) -# 6 tracing/debugging (set -x output, etc.) - -# Main tools' output (TeX, etc.) that TeX users are used to seeing. -# -# If quiet, discard, else redirect to the message flow. -if $quiet; then - exec 5>/dev/null -else - exec 5>&1 -fi - - -# Enable tracing, and auxiliary tools output. -# -# This fd should be used where you'd typically use /dev/null to throw -# output away. But sometimes it is convenient to see that output (e.g., -# from a grep) to aid debugging. Especially debugging at distance, via -# the user. -# -if $debug; then - exec 6>&1 - set -vx -else - exec 6>/dev/null -fi - - -# Main program main loop - TeXify each file in turn. -for command_line_filename -do - verbose "Processing $command_line_filename ..." - - input_file_name_decode - - # `texinfo' or `latex'? - in_lang=`compute_language "$command_line_filename"` - - # An auxiliary directory used for all the auxiliary tasks involved - # in compiling this document. - case $build_dir in - '' | . ) t2ddir=$out_noext.t2d ;; - *) ensure_dir "$build_dir" - # Avoid collisions between multiple occurrences of the same - # file, so depend on the output path. Remove leading `./', - # at least to avoid creating a file starting with `.!', i.e., - # an invisible file. The sed expression is fragile if the cwd - # has active characters. Transform / into ! so that we don't - # need `mkdir -p'. It might be something to reconsider. - t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" | - $SED "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"` - esac - # Remove it at exit if clean mode. - trap "cleanup" 0 1 2 15 - - ensure_dir "$t2ddir" - - # Sometimes there are incompatibilities between auxiliary files for - # DVI and PDF. The contents can also change whether we work on PDF - # and/or DVI. So keep separate spaces for each. - workdir=$t2ddir/`out_lang_tex` - ensure_dir "$workdir" - - # _build. In a tidy build, where the auxiliary files are output. - if $tidy; then - work_build=$workdir/build - else - work_build=. - fi - - # _bak. Copies of the previous auxiliary files (another round is - # run if they differ from the new ones). - work_bak=$workdir/bak - - # Make those directories. - ensure_dir "$work_build" "$work_bak" - - # Decide how to find auxiliary files created by TeX. - decide_aux_files_method - - case $action in - compile) - # Compile the document. - compile - cleanup - ;; - - mostly-clean) - xref_files_new=`generated_files_get` - mostly_clean - ;; - esac -done - -verbose "done." -exit 0 # exit successfully, not however we ended the loop. -# Local Variables: -# sh-basic-offset: 2 -# sh-indentation: 2 -# End: diff --git a/result/sw/bin/texi2pdf b/result/sw/bin/texi2pdf deleted file mode 100755 index 31339780..00000000 --- a/result/sw/bin/texi2pdf +++ /dev/null @@ -1,34 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -# special-case --version following GNU standards for identifying the -# program name. If --version is specified as other than the first -# argument, we don't output the standard name, but then, we're not -# obliged to. -if test "x$1" = x--version; then - cat <<EOF -texi2pdf (GNU Texinfo 7.2) - -Copyright (C) 2024 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -fi - -texi2dvi --pdf ${1+"$@"} diff --git a/result/sw/bin/texindex b/result/sw/bin/texindex deleted file mode 100755 index a36e0f2b..00000000 --- a/result/sw/bin/texindex +++ /dev/null @@ -1,116 +0,0 @@ -#!/nix/store/nravshvfviv75plf26nwfwzg8ldl3z8s-bash-5.2p37/bin/sh -# -# Copyright 2015-2023 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Originally written by Karl Berry. -# Please send bug reports, etc. to bug-texinfo@gnu.org. -# -# Shell wrapper for the texindex.awk program. This is the most -# convenient way to support --options; with a #! line, it is (g)awk -# itself that interprets the options. We want texindex --version -# to report texindex's version number, not gawk's. -# -# So our job here is to (a) find the awk interpreter, -# and (b) find the texindex.awk script file. - -mydir=`cd \`dirname $0\` && pwd` - -# -# allow user override for awk program location. -awk_binary= -awk_envvar=$TEXINDEX_AWK -if test -n "$awk_envvar"; then - if test -s "$awk_envvar"; then - awk_binary=$awk_envvar - else - echo "$0: TEXINDEX_AWK environment variable set, but value" >&2 - echo "$0: is not a readable non-empty file; ignoring: $awk_envvar" >&2 - fi -fi -# -# else use configured value for awk. -if test -z "$awk_binary"; then - awk_binary="/nix/store/kdfkv0klzis9jaaba1g0gf0cgllpjnbz-gawk-5.3.2/bin/awk" -fi -# -# that should never be empty, but just in case, else fall back to plain -# "awk". (Let's not go to the trouble of searching PATH unless we get -# reports of problems.) -test -z "$awk_binary" && awk_binary=awk - - -# -# finding the texindex.awk script file ... -ti_script= -# -# allow user override for script location: -ti_envvar=$TEXINDEX_SCRIPT -if test -n "$ti_envvar"; then - if test -s "$ti_envvar"; then - ti_script=$ti_envvar - else - echo "$0: TEXINDEX_SCRIPT environment variable set, but value" >&2 - echo "$0: is not a readable non-empty file; ignoring: $ti_script" >&2 - fi -fi -# -# else if script is in the same directory as us (development tree), use it: -test -z "$ti_script" && test -s "$mydir/texindex.awk" \ -&& ti_script=$mydir/texindex.awk -# -# else look for script in pkgdatadir. -if test -z "$ti_script"; then - pkgdatadir_configured="/nix/store/8implks5mnj4h02xljsjnwj5ayk3169a-texinfo-interactive-7.2/share/texinfo" - test -s "$pkgdatadir_configured/texindex.awk" \ - && ti_script=$pkgdatadir_configured/texindex.awk -fi -# -# look relative to $mydir, to allow the installed tree to be moved. -if test -z "$ti_script"; then - relative_dir=$mydir/../share/texinfo - test -d "$relative_dir" \ - && test -s "$relative_dir/texindex.awk" \ - && ti_script=$relative_dir/texindex.awk -fi -# -# didn't find it, abort. -if test -z "$ti_script"; then - echo "$0: could not locate texindex.awk script file, quitting." >&2 - echo "$0: (checked envvar TEXINDEX_SCRIPT ($TEXINDEX_SCRIPT)," >&2 - echo "$0: executable dir ($mydir)," >&2 - echo "$0: share dir relative to binary ($relative_dir)," >&2 - echo "$0: and configured pkgdatadir ($pkgdatadir_configured).)" >&2 - exit 1 -fi - -# Suppose a symlink named a\tb (four chars) is made to this script, and -# "a\tb" --help -# is invoked. We want the output to report the program name as the -# four chars a, \, t, b, not a, tab, b. -# -# But we pass the value using (g)awk -v, and (g)awk processes arguments -# to -v for escape sequences, so that by the time the rest of the script -# sees it, it has a tab in it. -# -# Conclusion: we must double any backslashes before invoking gawk, -# by running the command: sed 's,\\,\\\\,g' -# -# Sadly, since we have to do this in a shell, we need twice -# as many backslash characters in the input. Hope it's portable across -# shells and seds. -# -escaped0=`echo "$0" | sed 's,\\\\,\\\\\\\\,g'` -exec $awk_binary -v Invocation_name="$escaped0" -f "$ti_script" -- "$@" diff --git a/result/sw/bin/vi b/result/sw/bin/vi deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/vi and /dev/null differ diff --git a/result/sw/bin/view b/result/sw/bin/view deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/view and /dev/null differ diff --git a/result/sw/bin/vim b/result/sw/bin/vim deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/vim and /dev/null differ diff --git a/result/sw/bin/vimdiff b/result/sw/bin/vimdiff deleted file mode 100755 index fded2637..00000000 Binary files a/result/sw/bin/vimdiff and /dev/null differ diff --git a/result/sw/bin/vimtutor b/result/sw/bin/vimtutor deleted file mode 100755 index aa22d4d7..00000000 --- a/result/sw/bin/vimtutor +++ /dev/null @@ -1,212 +0,0 @@ -#!/nix/store/nqh4lv0w7n7cw7n8vvn2gfzv804y4hk6-bash-interactive-5.2p37/bin/sh - -# Start Vim on a copy of the tutor file. - -# Type "man vimtutor" (or "vimtutor --help") to learn more about the supported -# command-line options. -# -# Tutors in several human languages are distributed. Type "vimtutor" to use -# a tutor in the language of the current locale (:help v:lang), if available; -# otherwise fall back to using the English tutor. To request any bundled -# tutor, specify its ISO639 name as an argument, e.g. "vimtutor nl". - -# Vim could be called "vim" or "vi". Also check for "vimN", for people who -# have Vim installed with its version number. -seq="vim vim91 vim90 vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi" - -usage() -{ - echo "==USAGE=========================================================================================" - echo "${0##*/} [[-(-l)anguage] ISO639] [-(-c)hapter NUMBER] [-(-g)ui] | [-(-h)elp] | [--list]" - printf "\twhere:\n" - printf "\t\tISO639 (default=en) is a 2 or 3 character language code\n" - printf "\t\tNUMBER (default=1) is a chapter number (1 or 2)\n" - printf "\texamples:\n" - printf "\t\tvimtutor -l es -c 2 -g\n" - printf "\t\tvimtutor --language de --chapter 2\n" - printf "\t\tvimtutor fr\n" - echo "More information at 'man vimtutor'" - echo "================================================================================================" -} - -listOptions() -{ - echo "==OPTIONS=======================================================================================" - echo "Chapter: 1" - printf "\tLang: %-3s => %s\n" \ -bar Bavarian \ -bg Bulgarian \ -ca Catalan \ -cs Czech \ -da Danish \ -de German \ -el Greek \ -en English\(default\) \ -eo Esperanto \ -es Spanish \ -fr French \ -hr Croatian \ -hu Hungarian \ -it Italian \ -ja Japanese \ -ko Korean \ -lt Lithuanian \ -lv Latvian \ -nb Bokmål \ -nl Dutch \ -no Norwegian \ -pl Polish \ -pt Portuguese \ -ru Russian \ -sk Slovak \ -sr Serbian \ -sv Swedish \ -tr Turkish \ -uk Ukrainian \ -vi Vietnamese \ -zh Chinese - - echo "Chapter: 2" - printf "\tLang: %-3s => %s\n" \ -en English\(default\) - echo "================================================================================================" -} - -validateLang() -{ - case "$xx" in - '' | *[!a-z]* ) - echo "Error: iso639 code must contain only [a-z]" - exit 1 - esac - - case "${#xx}" in - [23] ) - ;; - * ) - echo "Error: iso639 code must be 2 or 3 characters only" - exit 1 - esac - - export xx -} - -validateChapter() -{ - case "$cc" in - '' | *[!0-9]* ) - echo "Error: chapter argument must contain digits only" - exit 1 - ;; - [12] ) - ;; - * ) - echo "Error: invalid chapter number: [12]" - exit 1 - esac - - export CHAPTER="$cc" -} - -while [ "$1" != "" ]; do - case "$1" in - -g | --gui ) - seq="gvim gvim91 gvim90 gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" - ;; - -l | --language ) - shift - xx="$1" - validateLang - ;; - -l[a-z][a-z][a-z] | -l[a-z][a-z] ) - export xx="${1#*l}" - ;; - --language[a-z][a-z][a-z] | --language[a-z][a-z] ) - export xx="${1#*e}" - ;; - [a-z][a-z][a-z] | [a-z][a-z] ) - export xx="$1" - ;; - -c | --chapter ) - shift - cc="$1" - validateChapter - ;; - -c[12] ) - export CHAPTER="${1#*c}" - ;; - --chapter[12] ) - export CHAPTER="${1#*r}" - ;; - -h | --help ) - usage - exit - ;; - --list ) - listOptions - exit - ;; - "" ) - ;; - * ) - usage - exit 1 - esac - - shift -done - - -# We need a temp file for the copy. First try using a standard command. -tmp="${TMPDIR-/tmp}" -# shellcheck disable=SC2186 -TUTORCOPY=$(mktemp "$tmp/tutorXXXXXX" || tempfile -p tutor || echo none) - -# If the standard commands failed then create a directory to put the copy in. -# That is a secure way to make a temp file. -if test "$TUTORCOPY" = none; then - tmpdir="$tmp/vimtutor$$" - OLD_UMASK=$(umask) - umask 077 - getout=no - mkdir "$tmpdir" || getout=yes - umask "$OLD_UMASK" - if test "$getout" = yes; then - echo "Could not create directory for tutor copy, exiting." - exit 1 - fi - TUTORCOPY="$tmpdir/tutorcopy" - touch "$TUTORCOPY" - TODELETE="$tmpdir" -else - TODELETE="$TUTORCOPY" -fi - -export TUTORCOPY - -# remove the copy of the tutor on exit -trap 'rm -rf "$TODELETE"' EXIT HUP INT QUIT SEGV PIPE TERM - -for i in $seq; do - testvim=$(command -v "$i" 2>/dev/null) - if test -f "$testvim"; then - VIM="$i" - break - fi -done - -# When no Vim version was found fall back to "vim", you'll get an error message -# below. -if test -z "$VIM"; then - VIM=vim -fi - -# Use Vim to copy the tutor, it knows the value of $VIMRUNTIME -# The script tutor.vim tells Vim which file to copy - -$VIM -f -u NONE -c "so \$VIMRUNTIME/tutor/tutor.vim" - -# Start vim without any .vimrc, set 'nocompatible' and 'showcmd' -$VIM -f -u NONE -c "set nocp showcmd" "$TUTORCOPY" - -# vim:sw=4:ts=8:noet:nosta: diff --git a/result/sw/bin/xxd b/result/sw/bin/xxd deleted file mode 100755 index 059c5208..00000000 Binary files a/result/sw/bin/xxd and /dev/null differ diff --git a/result/sw/bin/zsh b/result/sw/bin/zsh deleted file mode 100755 index b0cc54b9..00000000 Binary files a/result/sw/bin/zsh and /dev/null differ diff --git a/result/sw/etc/profile.d/nix-daemon.fish b/result/sw/etc/profile.d/nix-daemon.fish deleted file mode 100644 index 1e3ebfc9..00000000 --- a/result/sw/etc/profile.d/nix-daemon.fish +++ /dev/null @@ -1,70 +0,0 @@ -# Only execute this file once per shell. -if test -z "$HOME" || \ - test -n "$__ETC_PROFILE_NIX_SOURCED" - exit -end - -set --global __ETC_PROFILE_NIX_SOURCED 1 - -# Local helpers - -function add_path --argument-names new_path - if type -q fish_add_path - # fish 3.2.0 or newer - fish_add_path --prepend --global $new_path - else - # older versions of fish - if not contains $new_path $fish_user_paths - set --global fish_user_paths $new_path $fish_user_paths - end - end -end - -# Main configuration - -# Set up the per-user profile. - -set --local NIX_LINK $HOME/.nix-profile - -# Set up environment. -# This part should be kept in sync with nixpkgs:nixos/modules/programs/environment.nix -set --export NIX_PROFILES "/nix/var/nix/profiles/default $HOME/.nix-profile" - -# Populate bash completions, .desktop files, etc -if test -z "$XDG_DATA_DIRS" - # According to XDG spec the default is /usr/local/share:/usr/share, don't set something that prevents that default - set --export XDG_DATA_DIRS "/usr/local/share:/usr/share:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -else - set --export XDG_DATA_DIRS "$XDG_DATA_DIRS:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -end - -# Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work. -if test -n "$NIX_SSL_CERT_FILE" - : # Allow users to override the NIX_SSL_CERT_FILE -else if test -e /etc/ssl/certs/ca-certificates.crt # NixOS, Ubuntu, Debian, Gentoo, Arch - set --export NIX_SSL_CERT_FILE /etc/ssl/certs/ca-certificates.crt -else if test -e /etc/ssl/ca-bundle.pem # openSUSE Tumbleweed - set --export NIX_SSL_CERT_FILE /etc/ssl/ca-bundle.pem -else if test -e /etc/ssl/certs/ca-bundle.crt # Old NixOS - set --export NIX_SSL_CERT_FILE /etc/ssl/certs/ca-bundle.crt -else if test -e /etc/pki/tls/certs/ca-bundle.crt # Fedora, CentOS - set --export NIX_SSL_CERT_FILE /etc/pki/tls/certs/ca-bundle.crt -else if test -e "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" # fall back to cacert in Nix profile - set --export NIX_SSL_CERT_FILE "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" -else if test -e "$NIX_LINK/etc/ca-bundle.crt" # old cacert in Nix profile - set --export NIX_SSL_CERT_FILE "$NIX_LINK/etc/ca-bundle.crt" -else - # Fall back to what is in the nix profiles, favouring whatever is defined last. - for i in (string split ' ' $NIX_PROFILES) - if test -e "$i/etc/ssl/certs/ca-bundle.crt" - set --export NIX_SSL_CERT_FILE "$i/etc/ssl/certs/ca-bundle.crt" - end - end -end - -add_path "/nix/var/nix/profiles/default/bin" -add_path "$NIX_LINK/bin" - -# Cleanup - -functions -e add_path diff --git a/result/sw/etc/profile.d/nix-daemon.sh b/result/sw/etc/profile.d/nix-daemon.sh deleted file mode 100644 index 21191e56..00000000 --- a/result/sw/etc/profile.d/nix-daemon.sh +++ /dev/null @@ -1,72 +0,0 @@ -# Only execute this file once per shell. -# This file is tested by tests/installer/default.nix. -if [ -n "${__ETC_PROFILE_NIX_SOURCED:-}" ]; then return; fi -export __ETC_PROFILE_NIX_SOURCED=1 - -NIX_LINK=$HOME/.nix-profile -if [ -n "${XDG_STATE_HOME-}" ]; then - NIX_LINK_NEW="$XDG_STATE_HOME/nix/profile" -else - NIX_LINK_NEW=$HOME/.local/state/nix/profile -fi -if [ -e "$NIX_LINK_NEW" ]; then - if [ -t 2 ] && [ -e "$NIX_LINK" ]; then - warning="\033[1;35mwarning:\033[0m" - printf "$warning Both %s and legacy %s exist; using the former.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2 - if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then - printf " Since the profiles match, you can safely delete either of them.\n" 1>&2 - else - # This should be an exceptionally rare occasion: the only way to get it would be to - # 1. Update to newer Nix; - # 2. Remove .nix-profile; - # 3. Set the $NIX_LINK_NEW to something other than the default user profile; - # 4. Roll back to older Nix. - # If someone did all that, they can probably figure out how to migrate the profile. - printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2 - fi - fi - NIX_LINK="$NIX_LINK_NEW" -fi - -export NIX_PROFILES="/nix/var/nix/profiles/default $NIX_LINK" - -# Populate bash completions, .desktop files, etc -if [ -z "${XDG_DATA_DIRS-}" ]; then - # According to XDG spec the default is /usr/local/share:/usr/share, don't set something that prevents that default - export XDG_DATA_DIRS="/usr/local/share:/usr/share:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -else - export XDG_DATA_DIRS="$XDG_DATA_DIRS:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -fi - -# Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work. -if [ -n "${NIX_SSL_CERT_FILE:-}" ]; then - : # Allow users to override the NIX_SSL_CERT_FILE -elif [ -e /etc/ssl/certs/ca-certificates.crt ]; then # NixOS, Ubuntu, Debian, Gentoo, Arch - export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt -elif [ -e /etc/ssl/ca-bundle.pem ]; then # openSUSE Tumbleweed - export NIX_SSL_CERT_FILE=/etc/ssl/ca-bundle.pem -elif [ -e /etc/ssl/certs/ca-bundle.crt ]; then # Old NixOS - export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt -elif [ -e /etc/pki/tls/certs/ca-bundle.crt ]; then # Fedora, CentOS - export NIX_SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt -else - # Fall back to what is in the nix profiles, favouring whatever is defined last. - check_nix_profiles() { - if [ -n "${ZSH_VERSION:-}" ]; then - # Zsh by default doesn't split words in unquoted parameter expansion. - # Set local_options for these options to be reverted at the end of the function - # and shwordsplit to force splitting words in $NIX_PROFILES below. - setopt local_options shwordsplit - fi - for i in $NIX_PROFILES; do - if [ -e "$i/etc/ssl/certs/ca-bundle.crt" ]; then - export NIX_SSL_CERT_FILE=$i/etc/ssl/certs/ca-bundle.crt - fi - done - } - check_nix_profiles - unset -f check_nix_profiles -fi - -export PATH="$NIX_LINK/bin:/nix/var/nix/profiles/default/bin:$PATH" -unset NIX_LINK NIX_LINK_NEW diff --git a/result/sw/etc/profile.d/nix.fish b/result/sw/etc/profile.d/nix.fish deleted file mode 100644 index 2ab9f276..00000000 --- a/result/sw/etc/profile.d/nix.fish +++ /dev/null @@ -1,69 +0,0 @@ -# Only execute this file once per shell. -if test -z "$HOME" || test -z "$USER" || \ - test -n "$__ETC_PROFILE_NIX_SOURCED" - exit -end - -set --global __ETC_PROFILE_NIX_SOURCED 1 - -# Local helpers - -function add_path --argument-names new_path - if type -q fish_add_path - # fish 3.2.0 or newer - fish_add_path --prepend --global $new_path - else - # older versions of fish - if not contains $new_path $fish_user_paths - set --global fish_user_paths $new_path $fish_user_paths - end - end -end - -# Main configuration - -# Set up the per-user profile. - -set --local NIX_LINK $HOME/.nix-profile - -# Set up environment. -# This part should be kept in sync with nixpkgs:nixos/modules/programs/environment.nix -set --export NIX_PROFILES "/nix/var/nix/profiles/default $HOME/.nix-profile" - -# Populate bash completions, .desktop files, etc -if test -z "$XDG_DATA_DIRS" - # According to XDG spec the default is /usr/local/share:/usr/share, don't set something that prevents that default - set --export XDG_DATA_DIRS "/usr/local/share:/usr/share:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -else - set --export XDG_DATA_DIRS "$XDG_DATA_DIRS:$NIX_LINK/share:/nix/var/nix/profiles/default/share" -end - -# Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work. -if test -n "$NIX_SSL_CERT_FILE" - : # Allow users to override the NIX_SSL_CERT_FILE -else if test -e /etc/ssl/certs/ca-certificates.crt # NixOS, Ubuntu, Debian, Gentoo, Arch - set --export NIX_SSL_CERT_FILE /etc/ssl/certs/ca-certificates.crt -else if test -e /etc/ssl/ca-bundle.pem # openSUSE Tumbleweed - set --export NIX_SSL_CERT_FILE /etc/ssl/ca-bundle.pem -else if test -e /etc/ssl/certs/ca-bundle.crt # Old NixOS - set --export NIX_SSL_CERT_FILE /etc/ssl/certs/ca-bundle.crt -else if test -e /etc/pki/tls/certs/ca-bundle.crt # Fedora, CentOS - set --export NIX_SSL_CERT_FILE /etc/pki/tls/certs/ca-bundle.crt -else if test -e "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" # fall back to cacert in Nix profile - set --export NIX_SSL_CERT_FILE "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" -else if test -e "$NIX_LINK/etc/ca-bundle.crt" # old cacert in Nix profile - set --export NIX_SSL_CERT_FILE "$NIX_LINK/etc/ca-bundle.crt" -end - -# Only use MANPATH if it is already set. In general `man` will just simply -# pick up `.nix-profile/share/man` because is it close to `.nix-profile/bin` -# which is in the $PATH. For more info, run `manpath -d`. -if set --query MANPATH - set --export --prepend --path MANPATH "$NIX_LINK/share/man" -end - -add_path "$NIX_LINK/bin" - -# Cleanup - -functions -e add_path diff --git a/result/sw/etc/profile.d/nix.sh b/result/sw/etc/profile.d/nix.sh deleted file mode 100644 index ea79660b..00000000 --- a/result/sw/etc/profile.d/nix.sh +++ /dev/null @@ -1,71 +0,0 @@ -# This file is tested by tests/installer/default.nix. -if [ -n "${HOME-}" ] && [ -n "${USER-}" ]; then - - # Set up the per-user profile. - - if [ -n "${NIX_STATE_HOME-}" ]; then - NIX_LINK="$NIX_STATE_HOME/profile" - else - NIX_LINK="$HOME/.nix-profile" - if [ -n "${XDG_STATE_HOME-}" ]; then - NIX_LINK_NEW="$XDG_STATE_HOME/nix/profile" - else - NIX_LINK_NEW="$HOME/.local/state/nix/profile" - fi - if [ -e "$NIX_LINK_NEW" ]; then - if [ -t 2 ] && [ -e "$NIX_LINK" ]; then - warning="\033[1;35mwarning:\033[0m" - printf "$warning Both %s and legacy %s exist; using the former.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2 - if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then - printf " Since the profiles match, you can safely delete either of them.\n" 1>&2 - else - # This should be an exceptionally rare occasion: the only way to get it would be to - # 1. Update to newer Nix; - # 2. Remove .nix-profile; - # 3. Set the $NIX_LINK_NEW to something other than the default user profile; - # 4. Roll back to older Nix. - # If someone did all that, they can probably figure out how to migrate the profile. - printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2 - fi - fi - NIX_LINK="$NIX_LINK_NEW" - fi - fi - - # Set up environment. - # This part should be kept in sync with nixpkgs:nixos/modules/programs/environment.nix - export NIX_PROFILES="/nix/var/nix/profiles/default $NIX_LINK" - - # Populate bash completions, .desktop files, etc - if [ -z "${XDG_DATA_DIRS-}" ]; then - # According to XDG spec the default is /usr/local/share:/usr/share, don't set something that prevents that default - export XDG_DATA_DIRS="/usr/local/share:/usr/share:$NIX_LINK/share:/nix/var/nix/profiles/default/share" - else - export XDG_DATA_DIRS="$XDG_DATA_DIRS:$NIX_LINK/share:/nix/var/nix/profiles/default/share" - fi - - # Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work. - if [ -e /etc/ssl/certs/ca-certificates.crt ]; then # NixOS, Ubuntu, Debian, Gentoo, Arch - export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt - elif [ -e /etc/ssl/ca-bundle.pem ]; then # openSUSE Tumbleweed - export NIX_SSL_CERT_FILE=/etc/ssl/ca-bundle.pem - elif [ -e /etc/ssl/certs/ca-bundle.crt ]; then # Old NixOS - export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt - elif [ -e /etc/pki/tls/certs/ca-bundle.crt ]; then # Fedora, CentOS - export NIX_SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt - elif [ -e "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" ]; then # fall back to cacert in Nix profile - export NIX_SSL_CERT_FILE="$NIX_LINK/etc/ssl/certs/ca-bundle.crt" - elif [ -e "$NIX_LINK/etc/ca-bundle.crt" ]; then # old cacert in Nix profile - export NIX_SSL_CERT_FILE="$NIX_LINK/etc/ca-bundle.crt" - fi - - # Only use MANPATH if it is already set. In general `man` will just simply - # pick up `.nix-profile/share/man` because is it close to `.nix-profile/bin` - # which is in the $PATH. For more info, run `manpath -d`. - if [ -n "${MANPATH-}" ]; then - export MANPATH="$NIX_LINK/share/man:$MANPATH" - fi - - export PATH="$NIX_LINK/bin:$PATH" - unset NIX_LINK NIX_LINK_NEW -fi diff --git a/result/sw/share/info/bash.info b/result/sw/share/info/bash.info deleted file mode 100644 index 6d31de62..00000000 --- a/result/sw/share/info/bash.info +++ /dev/null @@ -1,12675 +0,0 @@ -This is bash.info, produced by makeinfo version 6.8 from bashref.texi. - -This text is a brief description of the features that are present in the -Bash shell (version 5.2, 19 September 2022). - - This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash -Reference Manual', for 'Bash', Version 5.2. - - Copyright (C) 1988-2022 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Basics -START-INFO-DIR-ENTRY -* Bash: (bash). The GNU Bourne-Again SHell. -END-INFO-DIR-ENTRY - - -File: bash.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) - -Bash Features -************* - -This text is a brief description of the features that are present in the -Bash shell (version 5.2, 19 September 2022). The Bash home page is -<http://www.gnu.org/software/bash/>. - - This is Edition 5.2, last updated 19 September 2022, of 'The GNU Bash -Reference Manual', for 'Bash', Version 5.2. - - Bash contains features that appear in other popular shells, and some -features that only appear in Bash. Some of the shells that Bash has -borrowed concepts from are the Bourne Shell ('sh'), the Korn Shell -('ksh'), and the C-shell ('csh' and its successor, 'tcsh'). The -following menu breaks the features up into categories, noting which -features were inspired by other shells and which are specific to Bash. - - This manual is meant as a brief introduction to features found in -Bash. The Bash manual page should be used as the definitive reference -on shell behavior. - -* Menu: - -* Introduction:: An introduction to the shell. -* Definitions:: Some definitions used in the rest of this - manual. -* Basic Shell Features:: The shell "building blocks". -* Shell Builtin Commands:: Commands that are a part of the shell. -* Shell Variables:: Variables used or set by Bash. -* Bash Features:: Features found only in Bash. -* Job Control:: What job control is and how Bash allows you - to use it. -* Command Line Editing:: Chapter describing the command line - editing features. -* Using History Interactively:: Command History Expansion -* Installing Bash:: How to build and install Bash on your system. -* Reporting Bugs:: How to report bugs in Bash. -* Major Differences From The Bourne Shell:: A terse list of the differences - between Bash and historical - versions of /bin/sh. -* GNU Free Documentation License:: Copying and sharing this documentation. -* Indexes:: Various indexes for this manual. - - -File: bash.info, Node: Introduction, Next: Definitions, Up: Top - -1 Introduction -************** - -* Menu: - -* What is Bash?:: A short description of Bash. -* What is a shell?:: A brief introduction to shells. - - -File: bash.info, Node: What is Bash?, Next: What is a shell?, Up: Introduction - -1.1 What is Bash? -================= - -Bash is the shell, or command language interpreter, for the GNU -operating system. The name is an acronym for the 'Bourne-Again SHell', -a pun on Stephen Bourne, the author of the direct ancestor of the -current Unix shell 'sh', which appeared in the Seventh Edition Bell Labs -Research version of Unix. - - Bash is largely compatible with 'sh' and incorporates useful features -from the Korn shell 'ksh' and the C shell 'csh'. It is intended to be a -conformant implementation of the IEEE POSIX Shell and Tools portion of -the IEEE POSIX specification (IEEE Standard 1003.1). It offers -functional improvements over 'sh' for both interactive and programming -use. - - While the GNU operating system provides other shells, including a -version of 'csh', Bash is the default shell. Like other GNU software, -Bash is quite portable. It currently runs on nearly every version of -Unix and a few other operating systems - independently-supported ports -exist for MS-DOS, OS/2, and Windows platforms. - - -File: bash.info, Node: What is a shell?, Prev: What is Bash?, Up: Introduction - -1.2 What is a shell? -==================== - -At its base, a shell is simply a macro processor that executes commands. -The term macro processor means functionality where text and symbols are -expanded to create larger expressions. - - A Unix shell is both a command interpreter and a programming -language. As a command interpreter, the shell provides the user -interface to the rich set of GNU utilities. The programming language -features allow these utilities to be combined. Files containing -commands can be created, and become commands themselves. These new -commands have the same status as system commands in directories such as -'/bin', allowing users or groups to establish custom environments to -automate their common tasks. - - Shells may be used interactively or non-interactively. In -interactive mode, they accept input typed from the keyboard. When -executing non-interactively, shells execute commands read from a file. - - A shell allows execution of GNU commands, both synchronously and -asynchronously. The shell waits for synchronous commands to complete -before accepting more input; asynchronous commands continue to execute -in parallel with the shell while it reads and executes additional -commands. The "redirection" constructs permit fine-grained control of -the input and output of those commands. Moreover, the shell allows -control over the contents of commands' environments. - - Shells also provide a small set of built-in commands ("builtins") -implementing functionality impossible or inconvenient to obtain via -separate utilities. For example, 'cd', 'break', 'continue', and 'exec' -cannot be implemented outside of the shell because they directly -manipulate the shell itself. The 'history', 'getopts', 'kill', or 'pwd' -builtins, among others, could be implemented in separate utilities, but -they are more convenient to use as builtin commands. All of the shell -builtins are described in subsequent sections. - - While executing commands is essential, most of the power (and -complexity) of shells is due to their embedded programming languages. -Like any high-level language, the shell provides variables, flow control -constructs, quoting, and functions. - - Shells offer features geared specifically for interactive use rather -than to augment the programming language. These interactive features -include job control, command line editing, command history and aliases. -Each of these features is described in this manual. - - -File: bash.info, Node: Definitions, Next: Basic Shell Features, Prev: Introduction, Up: Top - -2 Definitions -************* - -These definitions are used throughout the remainder of this manual. - -'POSIX' - A family of open system standards based on Unix. Bash is primarily - concerned with the Shell and Utilities portion of the POSIX 1003.1 - standard. - -'blank' - A space or tab character. - -'builtin' - A command that is implemented internally by the shell itself, - rather than by an executable program somewhere in the file system. - -'control operator' - A 'token' that performs a control function. It is a 'newline' or - one of the following: '||', '&&', '&', ';', ';;', ';&', ';;&', '|', - '|&', '(', or ')'. - -'exit status' - The value returned by a command to its caller. The value is - restricted to eight bits, so the maximum value is 255. - -'field' - A unit of text that is the result of one of the shell expansions. - After expansion, when executing a command, the resulting fields are - used as the command name and arguments. - -'filename' - A string of characters used to identify a file. - -'job' - A set of processes comprising a pipeline, and any processes - descended from it, that are all in the same process group. - -'job control' - A mechanism by which users can selectively stop (suspend) and - restart (resume) execution of processes. - -'metacharacter' - A character that, when unquoted, separates words. A metacharacter - is a 'space', 'tab', 'newline', or one of the following characters: - '|', '&', ';', '(', ')', '<', or '>'. - -'name' - A 'word' consisting solely of letters, numbers, and underscores, - and beginning with a letter or underscore. 'Name's are used as - shell variable and function names. Also referred to as an - 'identifier'. - -'operator' - A 'control operator' or a 'redirection operator'. *Note - Redirections::, for a list of redirection operators. Operators - contain at least one unquoted 'metacharacter'. - -'process group' - A collection of related processes each having the same process - group ID. - -'process group ID' - A unique identifier that represents a 'process group' during its - lifetime. - -'reserved word' - A 'word' that has a special meaning to the shell. Most reserved - words introduce shell flow control constructs, such as 'for' and - 'while'. - -'return status' - A synonym for 'exit status'. - -'signal' - A mechanism by which a process may be notified by the kernel of an - event occurring in the system. - -'special builtin' - A shell builtin command that has been classified as special by the - POSIX standard. - -'token' - A sequence of characters considered a single unit by the shell. It - is either a 'word' or an 'operator'. - -'word' - A sequence of characters treated as a unit by the shell. Words may - not include unquoted 'metacharacters'. - - -File: bash.info, Node: Basic Shell Features, Next: Shell Builtin Commands, Prev: Definitions, Up: Top - -3 Basic Shell Features -********************** - -Bash is an acronym for 'Bourne-Again SHell'. The Bourne shell is the -traditional Unix shell originally written by Stephen Bourne. All of the -Bourne shell builtin commands are available in Bash, The rules for -evaluation and quoting are taken from the POSIX specification for the -'standard' Unix shell. - - This chapter briefly summarizes the shell's 'building blocks': -commands, control structures, shell functions, shell parameters, shell -expansions, redirections, which are a way to direct input and output -from and to named files, and how the shell executes commands. - -* Menu: - -* Shell Syntax:: What your input means to the shell. -* Shell Commands:: The types of commands you can use. -* Shell Functions:: Grouping commands by name. -* Shell Parameters:: How the shell stores values. -* Shell Expansions:: How Bash expands parameters and the various - expansions available. -* Redirections:: A way to control where input and output go. -* Executing Commands:: What happens when you run a command. -* Shell Scripts:: Executing files of shell commands. - - -File: bash.info, Node: Shell Syntax, Next: Shell Commands, Up: Basic Shell Features - -3.1 Shell Syntax -================ - -* Menu: - -* Shell Operation:: The basic operation of the shell. -* Quoting:: How to remove the special meaning from characters. -* Comments:: How to specify comments. - -When the shell reads input, it proceeds through a sequence of -operations. If the input indicates the beginning of a comment, the -shell ignores the comment symbol ('#'), and the rest of that line. - - Otherwise, roughly speaking, the shell reads its input and divides -the input into words and operators, employing the quoting rules to -select which meanings to assign various words and characters. - - The shell then parses these tokens into commands and other -constructs, removes the special meaning of certain words or characters, -expands others, redirects input and output as needed, executes the -specified command, waits for the command's exit status, and makes that -exit status available for further inspection or processing. - - -File: bash.info, Node: Shell Operation, Next: Quoting, Up: Shell Syntax - -3.1.1 Shell Operation ---------------------- - -The following is a brief description of the shell's operation when it -reads and executes a command. Basically, the shell does the following: - - 1. Reads its input from a file (*note Shell Scripts::), from a string - supplied as an argument to the '-c' invocation option (*note - Invoking Bash::), or from the user's terminal. - - 2. Breaks the input into words and operators, obeying the quoting - rules described in *note Quoting::. These tokens are separated by - 'metacharacters'. Alias expansion is performed by this step (*note - Aliases::). - - 3. Parses the tokens into simple and compound commands (*note Shell - Commands::). - - 4. Performs the various shell expansions (*note Shell Expansions::), - breaking the expanded tokens into lists of filenames (*note - Filename Expansion::) and commands and arguments. - - 5. Performs any necessary redirections (*note Redirections::) and - removes the redirection operators and their operands from the - argument list. - - 6. Executes the command (*note Executing Commands::). - - 7. Optionally waits for the command to complete and collects its exit - status (*note Exit Status::). - - -File: bash.info, Node: Quoting, Next: Comments, Prev: Shell Operation, Up: Shell Syntax - -3.1.2 Quoting -------------- - -* Menu: - -* Escape Character:: How to remove the special meaning from a single - character. -* Single Quotes:: How to inhibit all interpretation of a sequence - of characters. -* Double Quotes:: How to suppress most of the interpretation of a - sequence of characters. -* ANSI-C Quoting:: How to expand ANSI-C sequences in quoted strings. -* Locale Translation:: How to translate strings into different languages. - -Quoting is used to remove the special meaning of certain characters or -words to the shell. Quoting can be used to disable special treatment -for special characters, to prevent reserved words from being recognized -as such, and to prevent parameter expansion. - - Each of the shell metacharacters (*note Definitions::) has special -meaning to the shell and must be quoted if it is to represent itself. -When the command history expansion facilities are being used (*note -History Interaction::), the "history expansion" character, usually '!', -must be quoted to prevent history expansion. *Note Bash History -Facilities::, for more details concerning history expansion. - - There are three quoting mechanisms: the "escape character", single -quotes, and double quotes. - - -File: bash.info, Node: Escape Character, Next: Single Quotes, Up: Quoting - -3.1.2.1 Escape Character -........................ - -A non-quoted backslash '\' is the Bash escape character. It preserves -the literal value of the next character that follows, with the exception -of 'newline'. If a '\newline' pair appears, and the backslash itself is -not quoted, the '\newline' is treated as a line continuation (that is, -it is removed from the input stream and effectively ignored). - - -File: bash.info, Node: Single Quotes, Next: Double Quotes, Prev: Escape Character, Up: Quoting - -3.1.2.2 Single Quotes -..................... - -Enclosing characters in single quotes (''') preserves the literal value -of each character within the quotes. A single quote may not occur -between single quotes, even when preceded by a backslash. - - -File: bash.info, Node: Double Quotes, Next: ANSI-C Quoting, Prev: Single Quotes, Up: Quoting - -3.1.2.3 Double Quotes -..................... - -Enclosing characters in double quotes ('"') preserves the literal value -of all characters within the quotes, with the exception of '$', '`', -'\', and, when history expansion is enabled, '!'. When the shell is in -POSIX mode (*note Bash POSIX Mode::), the '!' has no special meaning -within double quotes, even when history expansion is enabled. The -characters '$' and '`' retain their special meaning within double quotes -(*note Shell Expansions::). The backslash retains its special meaning -only when followed by one of the following characters: '$', '`', '"', -'\', or 'newline'. Within double quotes, backslashes that are followed -by one of these characters are removed. Backslashes preceding -characters without a special meaning are left unmodified. A double -quote may be quoted within double quotes by preceding it with a -backslash. If enabled, history expansion will be performed unless an -'!' appearing in double quotes is escaped using a backslash. The -backslash preceding the '!' is not removed. - - The special parameters '*' and '@' have special meaning when in -double quotes (*note Shell Parameter Expansion::). - - -File: bash.info, Node: ANSI-C Quoting, Next: Locale Translation, Prev: Double Quotes, Up: Quoting - -3.1.2.4 ANSI-C Quoting -...................... - -Character sequences of the form $'STRING' are treated as a special kind -of single quotes. The sequence expands to STRING, with -backslash-escaped characters in STRING replaced as specified by the ANSI -C standard. Backslash escape sequences, if present, are decoded as -follows: - -'\a' - alert (bell) -'\b' - backspace -'\e' -'\E' - an escape character (not ANSI C) -'\f' - form feed -'\n' - newline -'\r' - carriage return -'\t' - horizontal tab -'\v' - vertical tab -'\\' - backslash -'\'' - single quote -'\"' - double quote -'\?' - question mark -'\NNN' - the eight-bit character whose value is the octal value NNN (one to - three octal digits) -'\xHH' - the eight-bit character whose value is the hexadecimal value HH - (one or two hex digits) -'\uHHHH' - the Unicode (ISO/IEC 10646) character whose value is the - hexadecimal value HHHH (one to four hex digits) -'\UHHHHHHHH' - the Unicode (ISO/IEC 10646) character whose value is the - hexadecimal value HHHHHHHH (one to eight hex digits) -'\cX' - a control-X character - -The expanded result is single-quoted, as if the dollar sign had not been -present. - - -File: bash.info, Node: Locale Translation, Prev: ANSI-C Quoting, Up: Quoting - -3.1.2.5 Locale-Specific Translation -................................... - -* Menu: - -* Creating Internationalized Scripts:: How to use translations and different - languages in your scripts. - -Prefixing a double-quoted string with a dollar sign ('$'), such as -$"hello, world", will cause the string to be translated according to the -current locale. The 'gettext' infrastructure performs the lookup and -translation, using the 'LC_MESSAGES', 'TEXTDOMAINDIR', and 'TEXTDOMAIN' -shell variables, as explained below. See the gettext documentation for -additional details not covered here. If the current locale is 'C' or -'POSIX', if there are no translations available, of if the string is not -translated, the dollar sign is ignored. Since this is a form of double -quoting, the string remains double-quoted by default, whether or not it -is translated and replaced. If the 'noexpand_translation' option is -enabled using the 'shopt' builtin (*note The Shopt Builtin::), -translated strings are single-quoted instead of double-quoted. - - The rest of this section is a brief overview of how you use gettext -to create translations for strings in a shell script named SCRIPTNAME. -There are more details in the gettext documentation. - - -File: bash.info, Node: Creating Internationalized Scripts, Up: Locale Translation - -Once you've marked the strings in your script that you want to translate -using $"...", you create a gettext "template" file using the command - - bash --dump-po-strings SCRIPTNAME > DOMAIN.pot - -The DOMAIN is your "message domain". It's just an arbitrary string -that's used to identify the files gettext needs, like a package or -script name. It needs to be unique among all the message domains on -systems where you install the translations, so gettext knows which -translations correspond to your script. You'll use the template file to -create translations for each target language. The template file -conventionally has the suffix '.pot'. - - You copy this template file to a separate file for each target -language you want to support (called "PO" files, which use the suffix -'.po'). PO files use various naming conventions, but when you are -working to translate a template file into a particular language, you -first copy the template file to a file whose name is the language you -want to target, with the '.po' suffix. For instance, the Spanish -translations of your strings would be in a file named 'es.po', and to -get started using a message domain named "example," you would run - - cp example.pot es.po - -Ultimately, PO files are often named DOMAIN.po and installed in -directories that contain multiple translation files for a particular -language. - - Whichever naming convention you choose, you will need to translate -the strings in the PO files into the appropriate languages. This has to -be done manually. - - When you have the translations and PO files complete, you'll use the -gettext tools to produce what are called "MO" files, which are compiled -versions of the PO files the gettext tools use to look up translations -efficiently. MO files are also called "message catalog" files. You use -the 'msgfmt' program to do this. For instance, if you had a file with -Spanish translations, you could run - - msgfmt -o es.mo es.po - -to produce the corresponding MO file. - - Once you have the MO files, you decide where to install them and use -the 'TEXTDOMAINDIR' shell variable to tell the gettext tools where they -are. Make sure to use the same message domain to name the MO files as -you did for the PO files when you install them. - - Your users will use the 'LANG' or 'LC_MESSAGES' shell variables to -select the desired language. - - You set the 'TEXTDOMAIN' variable to the script's message domain. As -above, you use the message domain to name your translation files. - - You, or possibly your users, set the 'TEXTDOMAINDIR' variable to the -name of a directory where the message catalog files are stored. If you -install the message files into the system's standard message catalog -directory, you don't need to worry about this variable. - - The directory where the message catalog files are stored varies -between systems. Some use the message catalog selected by the -'LC_MESSAGES' shell variable. Others create the name of the message -catalog from the value of the 'TEXTDOMAIN' shell variable, possibly -adding the '.mo' suffix. If you use the 'TEXTDOMAIN' variable, you may -need to set the 'TEXTDOMAINDIR' variable to the location of the message -catalog files, as above. It's common to use both variables in this -fashion: '$TEXTDOMAINDIR'/'$LC_MESSAGES'/LC_MESSAGES/'$TEXTDOMAIN'.mo. - - If you used that last convention, and you wanted to store the message -catalog files with Spanish (es) and Esperanto (eo) translations into a -local directory you use for custom translation files, you could run - - TEXTDOMAIN=example - TEXTDOMAINDIR=/usr/local/share/locale - - cp es.mo ${TEXTDOMAINDIR}/es/LC_MESSAGES/${TEXTDOMAIN}.mo - cp eo.mo ${TEXTDOMAINDIR}/eo/LC_MESSAGES/${TEXTDOMAIN}.mo - - When all of this is done, and the message catalog files containing -the compiled translations are installed in the correct location, your -users will be able to see translated strings in any of the supported -languages by setting the 'LANG' or 'LC_MESSAGES' environment variables -before running your script. - - -File: bash.info, Node: Comments, Prev: Quoting, Up: Shell Syntax - -3.1.3 Comments --------------- - -In a non-interactive shell, or an interactive shell in which the -'interactive_comments' option to the 'shopt' builtin is enabled (*note -The Shopt Builtin::), a word beginning with '#' causes that word and all -remaining characters on that line to be ignored. An interactive shell -without the 'interactive_comments' option enabled does not allow -comments. The 'interactive_comments' option is on by default in -interactive shells. *Note Interactive Shells::, for a description of -what makes a shell interactive. - - -File: bash.info, Node: Shell Commands, Next: Shell Functions, Prev: Shell Syntax, Up: Basic Shell Features - -3.2 Shell Commands -================== - -A simple shell command such as 'echo a b c' consists of the command -itself followed by arguments, separated by spaces. - - More complex shell commands are composed of simple commands arranged -together in a variety of ways: in a pipeline in which the output of one -command becomes the input of a second, in a loop or conditional -construct, or in some other grouping. - -* Menu: - -* Reserved Words:: Words that have special meaning to the shell. -* Simple Commands:: The most common type of command. -* Pipelines:: Connecting the input and output of several - commands. -* Lists:: How to execute commands sequentially. -* Compound Commands:: Shell commands for control flow. -* Coprocesses:: Two-way communication between commands. -* GNU Parallel:: Running commands in parallel. - - -File: bash.info, Node: Reserved Words, Next: Simple Commands, Up: Shell Commands - -3.2.1 Reserved Words --------------------- - -Reserved words are words that have special meaning to the shell. They -are used to begin and end the shell's compound commands. - - The following words are recognized as reserved when unquoted and the -first word of a command (see below for exceptions): - -'if' 'then' 'elif' 'else' 'fi' 'time' -'for' 'in' 'until' 'while' 'do' 'done' -'case' 'esac' 'coproc''select''function' -'{' '}' '[[' ']]' '!' - -'in' is recognized as a reserved word if it is the third word of a -'case' or 'select' command. 'in' and 'do' are recognized as reserved -words if they are the third word in a 'for' command. - - -File: bash.info, Node: Simple Commands, Next: Pipelines, Prev: Reserved Words, Up: Shell Commands - -3.2.2 Simple Commands ---------------------- - -A simple command is the kind of command encountered most often. It's -just a sequence of words separated by 'blank's, terminated by one of the -shell's control operators (*note Definitions::). The first word -generally specifies a command to be executed, with the rest of the words -being that command's arguments. - - The return status (*note Exit Status::) of a simple command is its -exit status as provided by the POSIX 1003.1 'waitpid' function, or 128+N -if the command was terminated by signal N. - - -File: bash.info, Node: Pipelines, Next: Lists, Prev: Simple Commands, Up: Shell Commands - -3.2.3 Pipelines ---------------- - -A 'pipeline' is a sequence of one or more commands separated by one of -the control operators '|' or '|&'. - - The format for a pipeline is - [time [-p]] [!] COMMAND1 [ | or |& COMMAND2 ] ... - -The output of each command in the pipeline is connected via a pipe to -the input of the next command. That is, each command reads the previous -command's output. This connection is performed before any redirections -specified by COMMAND1. - - If '|&' is used, COMMAND1's standard error, in addition to its -standard output, is connected to COMMAND2's standard input through the -pipe; it is shorthand for '2>&1 |'. This implicit redirection of the -standard error to the standard output is performed after any -redirections specified by COMMAND1. - - The reserved word 'time' causes timing statistics to be printed for -the pipeline once it finishes. The statistics currently consist of -elapsed (wall-clock) time and user and system time consumed by the -command's execution. The '-p' option changes the output format to that -specified by POSIX. When the shell is in POSIX mode (*note Bash POSIX -Mode::), it does not recognize 'time' as a reserved word if the next -token begins with a '-'. The 'TIMEFORMAT' variable may be set to a -format string that specifies how the timing information should be -displayed. *Note Bash Variables::, for a description of the available -formats. The use of 'time' as a reserved word permits the timing of -shell builtins, shell functions, and pipelines. An external 'time' -command cannot time these easily. - - When the shell is in POSIX mode (*note Bash POSIX Mode::), 'time' may -be followed by a newline. In this case, the shell displays the total -user and system time consumed by the shell and its children. The -'TIMEFORMAT' variable may be used to specify the format of the time -information. - - If the pipeline is not executed asynchronously (*note Lists::), the -shell waits for all commands in the pipeline to complete. - - Each command in a multi-command pipeline, where pipes are created, is -executed in its own "subshell", which is a separate process (*note -Command Execution Environment::). If the 'lastpipe' option is enabled -using the 'shopt' builtin (*note The Shopt Builtin::), the last element -of a pipeline may be run by the shell process when job control is not -active. - - The exit status of a pipeline is the exit status of the last command -in the pipeline, unless the 'pipefail' option is enabled (*note The Set -Builtin::). If 'pipefail' is enabled, the pipeline's return status is -the value of the last (rightmost) command to exit with a non-zero -status, or zero if all commands exit successfully. If the reserved word -'!' precedes the pipeline, the exit status is the logical negation of -the exit status as described above. The shell waits for all commands in -the pipeline to terminate before returning a value. - - -File: bash.info, Node: Lists, Next: Compound Commands, Prev: Pipelines, Up: Shell Commands - -3.2.4 Lists of Commands ------------------------ - -A 'list' is a sequence of one or more pipelines separated by one of the -operators ';', '&', '&&', or '||', and optionally terminated by one of -';', '&', or a 'newline'. - - Of these list operators, '&&' and '||' have equal precedence, -followed by ';' and '&', which have equal precedence. - - A sequence of one or more newlines may appear in a 'list' to delimit -commands, equivalent to a semicolon. - - If a command is terminated by the control operator '&', the shell -executes the command asynchronously in a subshell. This is known as -executing the command in the "background", and these are referred to as -"asynchronous" commands. The shell does not wait for the command to -finish, and the return status is 0 (true). When job control is not -active (*note Job Control::), the standard input for asynchronous -commands, in the absence of any explicit redirections, is redirected -from '/dev/null'. - - Commands separated by a ';' are executed sequentially; the shell -waits for each command to terminate in turn. The return status is the -exit status of the last command executed. - - AND and OR lists are sequences of one or more pipelines separated by -the control operators '&&' and '||', respectively. AND and OR lists are -executed with left associativity. - - An AND list has the form - COMMAND1 && COMMAND2 - -COMMAND2 is executed if, and only if, COMMAND1 returns an exit status of -zero (success). - - An OR list has the form - COMMAND1 || COMMAND2 - -COMMAND2 is executed if, and only if, COMMAND1 returns a non-zero exit -status. - - The return status of AND and OR lists is the exit status of the last -command executed in the list. - - -File: bash.info, Node: Compound Commands, Next: Coprocesses, Prev: Lists, Up: Shell Commands - -3.2.5 Compound Commands ------------------------ - -* Menu: - -* Looping Constructs:: Shell commands for iterative action. -* Conditional Constructs:: Shell commands for conditional execution. -* Command Grouping:: Ways to group commands. - -Compound commands are the shell programming language constructs. Each -construct begins with a reserved word or control operator and is -terminated by a corresponding reserved word or operator. Any -redirections (*note Redirections::) associated with a compound command -apply to all commands within that compound command unless explicitly -overridden. - - In most cases a list of commands in a compound command's description -may be separated from the rest of the command by one or more newlines, -and may be followed by a newline in place of a semicolon. - - Bash provides looping constructs, conditional commands, and -mechanisms to group commands and execute them as a unit. - - -File: bash.info, Node: Looping Constructs, Next: Conditional Constructs, Up: Compound Commands - -3.2.5.1 Looping Constructs -.......................... - -Bash supports the following looping constructs. - - Note that wherever a ';' appears in the description of a command's -syntax, it may be replaced with one or more newlines. - -'until' - The syntax of the 'until' command is: - - until TEST-COMMANDS; do CONSEQUENT-COMMANDS; done - - Execute CONSEQUENT-COMMANDS as long as TEST-COMMANDS has an exit - status which is not zero. The return status is the exit status of - the last command executed in CONSEQUENT-COMMANDS, or zero if none - was executed. - -'while' - The syntax of the 'while' command is: - - while TEST-COMMANDS; do CONSEQUENT-COMMANDS; done - - Execute CONSEQUENT-COMMANDS as long as TEST-COMMANDS has an exit - status of zero. The return status is the exit status of the last - command executed in CONSEQUENT-COMMANDS, or zero if none was - executed. - -'for' - The syntax of the 'for' command is: - - for NAME [ [in [WORDS ...] ] ; ] do COMMANDS; done - - Expand WORDS (*note Shell Expansions::), and execute COMMANDS once - for each member in the resultant list, with NAME bound to the - current member. If 'in WORDS' is not present, the 'for' command - executes the COMMANDS once for each positional parameter that is - set, as if 'in "$@"' had been specified (*note Special - Parameters::). - - The return status is the exit status of the last command that - executes. If there are no items in the expansion of WORDS, no - commands are executed, and the return status is zero. - - An alternate form of the 'for' command is also supported: - - for (( EXPR1 ; EXPR2 ; EXPR3 )) ; do COMMANDS ; done - - First, the arithmetic expression EXPR1 is evaluated according to - the rules described below (*note Shell Arithmetic::). The - arithmetic expression EXPR2 is then evaluated repeatedly until it - evaluates to zero. Each time EXPR2 evaluates to a non-zero value, - COMMANDS are executed and the arithmetic expression EXPR3 is - evaluated. If any expression is omitted, it behaves as if it - evaluates to 1. The return value is the exit status of the last - command in COMMANDS that is executed, or false if any of the - expressions is invalid. - - The 'break' and 'continue' builtins (*note Bourne Shell Builtins::) -may be used to control loop execution. - - -File: bash.info, Node: Conditional Constructs, Next: Command Grouping, Prev: Looping Constructs, Up: Compound Commands - -3.2.5.2 Conditional Constructs -.............................. - -'if' - The syntax of the 'if' command is: - - if TEST-COMMANDS; then - CONSEQUENT-COMMANDS; - [elif MORE-TEST-COMMANDS; then - MORE-CONSEQUENTS;] - [else ALTERNATE-CONSEQUENTS;] - fi - - The TEST-COMMANDS list is executed, and if its return status is - zero, the CONSEQUENT-COMMANDS list is executed. If TEST-COMMANDS - returns a non-zero status, each 'elif' list is executed in turn, - and if its exit status is zero, the corresponding MORE-CONSEQUENTS - is executed and the command completes. If 'else - ALTERNATE-CONSEQUENTS' is present, and the final command in the - final 'if' or 'elif' clause has a non-zero exit status, then - ALTERNATE-CONSEQUENTS is executed. The return status is the exit - status of the last command executed, or zero if no condition tested - true. - -'case' - The syntax of the 'case' command is: - - case WORD in - [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... - esac - - 'case' will selectively execute the COMMAND-LIST corresponding to - the first PATTERN that matches WORD. The match is performed - according to the rules described below in *note Pattern Matching::. - If the 'nocasematch' shell option (see the description of 'shopt' - in *note The Shopt Builtin::) is enabled, the match is performed - without regard to the case of alphabetic characters. The '|' is - used to separate multiple patterns, and the ')' operator terminates - a pattern list. A list of patterns and an associated command-list - is known as a CLAUSE. - - Each clause must be terminated with ';;', ';&', or ';;&'. The WORD - undergoes tilde expansion, parameter expansion, command - substitution, arithmetic expansion, and quote removal (*note Shell - Parameter Expansion::) before matching is attempted. Each PATTERN - undergoes tilde expansion, parameter expansion, command - substitution, arithmetic expansion, process substitution, and quote - removal. - - There may be an arbitrary number of 'case' clauses, each terminated - by a ';;', ';&', or ';;&'. The first pattern that matches - determines the command-list that is executed. It's a common idiom - to use '*' as the final pattern to define the default case, since - that pattern will always match. - - Here is an example using 'case' in a script that could be used to - describe one interesting feature of an animal: - - echo -n "Enter the name of an animal: " - read ANIMAL - echo -n "The $ANIMAL has " - case $ANIMAL in - horse | dog | cat) echo -n "four";; - man | kangaroo ) echo -n "two";; - *) echo -n "an unknown number of";; - esac - echo " legs." - - - If the ';;' operator is used, no subsequent matches are attempted - after the first pattern match. Using ';&' in place of ';;' causes - execution to continue with the COMMAND-LIST associated with the - next clause, if any. Using ';;&' in place of ';;' causes the shell - to test the patterns in the next clause, if any, and execute any - associated COMMAND-LIST on a successful match, continuing the case - statement execution as if the pattern list had not matched. - - The return status is zero if no PATTERN is matched. Otherwise, the - return status is the exit status of the COMMAND-LIST executed. - -'select' - - The 'select' construct allows the easy generation of menus. It has - almost the same syntax as the 'for' command: - - select NAME [in WORDS ...]; do COMMANDS; done - - The list of words following 'in' is expanded, generating a list of - items, and the set of expanded words is printed on the standard - error output stream, each preceded by a number. If the 'in WORDS' - is omitted, the positional parameters are printed, as if 'in "$@"' - had been specified. 'select' then displays the 'PS3' prompt and - reads a line from the standard input. If the line consists of a - number corresponding to one of the displayed words, then the value - of NAME is set to that word. If the line is empty, the words and - prompt are displayed again. If 'EOF' is read, the 'select' command - completes and returns 1. Any other value read causes NAME to be - set to null. The line read is saved in the variable 'REPLY'. - - The COMMANDS are executed after each selection until a 'break' - command is executed, at which point the 'select' command completes. - - Here is an example that allows the user to pick a filename from the - current directory, and displays the name and index of the file - selected. - - select fname in *; - do - echo you picked $fname \($REPLY\) - break; - done - -'((...))' - (( EXPRESSION )) - - The arithmetic EXPRESSION is evaluated according to the rules - described below (*note Shell Arithmetic::). The EXPRESSION - undergoes the same expansions as if it were within double quotes, - but double quote characters in EXPRESSION are not treated specially - are removed. If the value of the expression is non-zero, the - return status is 0; otherwise the return status is 1. - -'[[...]]' - [[ EXPRESSION ]] - - Return a status of 0 or 1 depending on the evaluation of the - conditional expression EXPRESSION. Expressions are composed of the - primaries described below in *note Bash Conditional Expressions::. - The words between the '[[' and ']]' do not undergo word splitting - and filename expansion. The shell performs tilde expansion, - parameter and variable expansion, arithmetic expansion, command - substitution, process substitution, and quote removal on those - words (the expansions that would occur if the words were enclosed - in double quotes). Conditional operators such as '-f' must be - unquoted to be recognized as primaries. - - When used with '[[', the '<' and '>' operators sort - lexicographically using the current locale. - - When the '==' and '!=' operators are used, the string to the right - of the operator is considered a pattern and matched according to - the rules described below in *note Pattern Matching::, as if the - 'extglob' shell option were enabled. The '=' operator is identical - to '=='. If the 'nocasematch' shell option (see the description of - 'shopt' in *note The Shopt Builtin::) is enabled, the match is - performed without regard to the case of alphabetic characters. The - return value is 0 if the string matches ('==') or does not match - ('!=') the pattern, and 1 otherwise. - - If you quote any part of the pattern, using any of the shell's - quoting mechanisms, the quoted portion is matched literally. This - means every character in the quoted portion matches itself, instead - of having any special pattern matching meaning. - - An additional binary operator, '=~', is available, with the same - precedence as '==' and '!='. When you use '=~', the string to the - right of the operator is considered a POSIX extended regular - expression pattern and matched accordingly (using the POSIX - 'regcomp' and 'regexec' interfaces usually described in regex(3)). - The return value is 0 if the string matches the pattern, and 1 if - it does not. If the regular expression is syntactically incorrect, - the conditional expression returns 2. If the 'nocasematch' shell - option (see the description of 'shopt' in *note The Shopt - Builtin::) is enabled, the match is performed without regard to the - case of alphabetic characters. - - You can quote any part of the pattern to force the quoted portion - to be matched literally instead of as a regular expression (see - above). If the pattern is stored in a shell variable, quoting the - variable expansion forces the entire pattern to be matched - literally. - - The pattern will match if it matches any part of the string. If - you want to force the pattern to match the entire string, anchor - the pattern using the '^' and '$' regular expression operators. - - For example, the following will match a line (stored in the shell - variable 'line') if there is a sequence of characters anywhere in - the value consisting of any number, including zero, of characters - in the 'space' character class, immediately followed by zero or one - instances of 'a', then a 'b': - - [[ $line =~ [[:space:]]*(a)?b ]] - - That means values for 'line' like 'aab', ' aaaaaab', 'xaby', and ' - ab' will all match, as will a line containing a 'b' anywhere in its - value. - - If you want to match a character that's special to the regular - expression grammar ('^$|[]()\.*+?'), it has to be quoted to remove - its special meaning. This means that in the pattern 'xxx.txt', the - '.' matches any character in the string (its usual regular - expression meaning), but in the pattern '"xxx.txt"', it can only - match a literal '.'. - - Likewise, if you want to include a character in your pattern that - has a special meaning to the regular expression grammar, you must - make sure it's not quoted. If you want to anchor a pattern at the - beginning or end of the string, for instance, you cannot quote the - '^' or '$' characters using any form of shell quoting. - - If you want to match 'initial string' at the start of a line, the - following will work: - [[ $line =~ ^"initial string" ]] - but this will not: - [[ $line =~ "^initial string" ]] - because in the second example the '^' is quoted and doesn't have - its usual special meaning. - - It is sometimes difficult to specify a regular expression properly - without using quotes, or to keep track of the quoting used by - regular expressions while paying attention to shell quoting and the - shell's quote removal. Storing the regular expression in a shell - variable is often a useful way to avoid problems with quoting - characters that are special to the shell. For example, the - following is equivalent to the pattern used above: - - pattern='[[:space:]]*(a)?b' - [[ $line =~ $pattern ]] - - Shell programmers should take special care with backslashes, since - backslashes are used by both the shell and regular expressions to - remove the special meaning from the following character. This - means that after the shell's word expansions complete (*note Shell - Expansions::), any backslashes remaining in parts of the pattern - that were originally not quoted can remove the special meaning of - pattern characters. If any part of the pattern is quoted, the - shell does its best to ensure that the regular expression treats - those remaining backslashes as literal, if they appeared in a - quoted portion. - - The following two sets of commands are _not_ equivalent: - - pattern='\.' - - [[ . =~ $pattern ]] - [[ . =~ \. ]] - - [[ . =~ "$pattern" ]] - [[ . =~ '\.' ]] - - The first two matches will succeed, but the second two will not, - because in the second two the backslash will be part of the pattern - to be matched. In the first two examples, the pattern passed to - the regular expression parser is '\.'. The backslash removes the - special meaning from '.', so the literal '.' matches. In the - second two examples, the pattern passed to the regular expression - parser has the backslash quoted (e.g., '\\\.'), which will not - match the string, since it does not contain a backslash. If the - string in the first examples were anything other than '.', say 'a', - the pattern would not match, because the quoted '.' in the pattern - loses its special meaning of matching any single character. - - Bracket expressions in regular expressions can be sources of errors - as well, since characters that are normally special in regular - expressions lose their special meanings between brackets. However, - you can use bracket expressions to match special pattern characters - without quoting them, so they are sometimes useful for this - purpose. - - Though it might seem like a strange way to write it, the following - pattern will match a '.' in the string: - - [[ . =~ [.] ]] - - The shell performs any word expansions before passing the pattern - to the regular expression functions, so you can assume that the - shell's quoting takes precedence. As noted above, the regular - expression parser will interpret any unquoted backslashes remaining - in the pattern after shell expansion according to its own rules. - The intention is to avoid making shell programmers quote things - twice as much as possible, so shell quoting should be sufficient to - quote special pattern characters where that's necessary. - - The array variable 'BASH_REMATCH' records which parts of the string - matched the pattern. The element of 'BASH_REMATCH' with index 0 - contains the portion of the string matching the entire regular - expression. Substrings matched by parenthesized subexpressions - within the regular expression are saved in the remaining - 'BASH_REMATCH' indices. The element of 'BASH_REMATCH' with index N - is the portion of the string matching the Nth parenthesized - subexpression. - - Bash sets 'BASH_REMATCH' in the global scope; declaring it as a - local variable will lead to unexpected results. - - Expressions may be combined using the following operators, listed - in decreasing order of precedence: - - '( EXPRESSION )' - Returns the value of EXPRESSION. This may be used to override - the normal precedence of operators. - - '! EXPRESSION' - True if EXPRESSION is false. - - 'EXPRESSION1 && EXPRESSION2' - True if both EXPRESSION1 and EXPRESSION2 are true. - - 'EXPRESSION1 || EXPRESSION2' - True if either EXPRESSION1 or EXPRESSION2 is true. - - The '&&' and '||' operators do not evaluate EXPRESSION2 if the - value of EXPRESSION1 is sufficient to determine the return value of - the entire conditional expression. - - -File: bash.info, Node: Command Grouping, Prev: Conditional Constructs, Up: Compound Commands - -3.2.5.3 Grouping Commands -......................... - -Bash provides two ways to group a list of commands to be executed as a -unit. When commands are grouped, redirections may be applied to the -entire command list. For example, the output of all the commands in the -list may be redirected to a single stream. - -'()' - ( LIST ) - - Placing a list of commands between parentheses forces the shell to - create a subshell (*note Command Execution Environment::), and each - of the commands in LIST is executed in that subshell environment. - Since the LIST is executed in a subshell, variable assignments do - not remain in effect after the subshell completes. - -'{}' - { LIST; } - - Placing a list of commands between curly braces causes the list to - be executed in the current shell context. No subshell is created. - The semicolon (or newline) following LIST is required. - - In addition to the creation of a subshell, there is a subtle -difference between these two constructs due to historical reasons. The -braces are reserved words, so they must be separated from the LIST by -'blank's or other shell metacharacters. The parentheses are operators, -and are recognized as separate tokens by the shell even if they are not -separated from the LIST by whitespace. - - The exit status of both of these constructs is the exit status of -LIST. - - -File: bash.info, Node: Coprocesses, Next: GNU Parallel, Prev: Compound Commands, Up: Shell Commands - -3.2.6 Coprocesses ------------------ - -A 'coprocess' is a shell command preceded by the 'coproc' reserved word. -A coprocess is executed asynchronously in a subshell, as if the command -had been terminated with the '&' control operator, with a two-way pipe -established between the executing shell and the coprocess. - - The syntax for a coprocess is: - - coproc [NAME] COMMAND [REDIRECTIONS] - -This creates a coprocess named NAME. COMMAND may be either a simple -command (*note Simple Commands::) or a compound command (*note Compound -Commands::). NAME is a shell variable name. If NAME is not supplied, -the default name is 'COPROC'. - - The recommended form to use for a coprocess is - - coproc NAME { COMMAND; } - -This form is recommended because simple commands result in the coprocess -always being named 'COPROC', and it is simpler to use and more complete -than the other compound commands. - - There are other forms of coprocesses: - - coproc NAME COMPOUND-COMMAND - coproc COMPOUND-COMMAND - coproc SIMPLE-COMMAND - -If COMMAND is a compound command, NAME is optional. The word following -'coproc' determines whether that word is interpreted as a variable name: -it is interpreted as NAME if it is not a reserved word that introduces a -compound command. If COMMAND is a simple command, NAME is not allowed; -this is to avoid confusion between NAME and the first word of the simple -command. - - When the coprocess is executed, the shell creates an array variable -(*note Arrays::) named NAME in the context of the executing shell. The -standard output of COMMAND is connected via a pipe to a file descriptor -in the executing shell, and that file descriptor is assigned to NAME[0]. -The standard input of COMMAND is connected via a pipe to a file -descriptor in the executing shell, and that file descriptor is assigned -to NAME[1]. This pipe is established before any redirections specified -by the command (*note Redirections::). The file descriptors can be -utilized as arguments to shell commands and redirections using standard -word expansions. Other than those created to execute command and -process substitutions, the file descriptors are not available in -subshells. - - The process ID of the shell spawned to execute the coprocess is -available as the value of the variable 'NAME_PID'. The 'wait' builtin -command may be used to wait for the coprocess to terminate. - - Since the coprocess is created as an asynchronous command, the -'coproc' command always returns success. The return status of a -coprocess is the exit status of COMMAND. - - -File: bash.info, Node: GNU Parallel, Prev: Coprocesses, Up: Shell Commands - -3.2.7 GNU Parallel ------------------- - -There are ways to run commands in parallel that are not built into Bash. -GNU Parallel is a tool to do just that. - - GNU Parallel, as its name suggests, can be used to build and run -commands in parallel. You may run the same command with different -arguments, whether they are filenames, usernames, hostnames, or lines -read from files. GNU Parallel provides shorthand references to many of -the most common operations (input lines, various portions of the input -line, different ways to specify the input source, and so on). Parallel -can replace 'xargs' or feed commands from its input sources to several -different instances of Bash. - - For a complete description, refer to the GNU Parallel documentation, -which is available at -<https://www.gnu.org/software/parallel/parallel_tutorial.html>. - - -File: bash.info, Node: Shell Functions, Next: Shell Parameters, Prev: Shell Commands, Up: Basic Shell Features - -3.3 Shell Functions -=================== - -Shell functions are a way to group commands for later execution using a -single name for the group. They are executed just like a "regular" -command. When the name of a shell function is used as a simple command -name, the list of commands associated with that function name is -executed. Shell functions are executed in the current shell context; no -new process is created to interpret them. - - Functions are declared using this syntax: - FNAME () COMPOUND-COMMAND [ REDIRECTIONS ] - - or - - function FNAME [()] COMPOUND-COMMAND [ REDIRECTIONS ] - - This defines a shell function named FNAME. The reserved word -'function' is optional. If the 'function' reserved word is supplied, -the parentheses are optional. The "body" of the function is the -compound command COMPOUND-COMMAND (*note Compound Commands::). That -command is usually a LIST enclosed between { and }, but may be any -compound command listed above. If the 'function' reserved word is used, -but the parentheses are not supplied, the braces are recommended. -COMPOUND-COMMAND is executed whenever FNAME is specified as the name of -a simple command. When the shell is in POSIX mode (*note Bash POSIX -Mode::), FNAME must be a valid shell name and may not be the same as one -of the special builtins (*note Special Builtins::). In default mode, a -function name can be any unquoted shell word that does not contain '$'. -Any redirections (*note Redirections::) associated with the shell -function are performed when the function is executed. A function -definition may be deleted using the '-f' option to the 'unset' builtin -(*note Bourne Shell Builtins::). - - The exit status of a function definition is zero unless a syntax -error occurs or a readonly function with the same name already exists. -When executed, the exit status of a function is the exit status of the -last command executed in the body. - - Note that for historical reasons, in the most common usage the curly -braces that surround the body of the function must be separated from the -body by 'blank's or newlines. This is because the braces are reserved -words and are only recognized as such when they are separated from the -command list by whitespace or another shell metacharacter. Also, when -using the braces, the LIST must be terminated by a semicolon, a '&', or -a newline. - - When a function is executed, the arguments to the function become the -positional parameters during its execution (*note Positional -Parameters::). The special parameter '#' that expands to the number of -positional parameters is updated to reflect the change. Special -parameter '0' is unchanged. The first element of the 'FUNCNAME' -variable is set to the name of the function while the function is -executing. - - All other aspects of the shell execution environment are identical -between a function and its caller with these exceptions: the 'DEBUG' and -'RETURN' traps are not inherited unless the function has been given the -'trace' attribute using the 'declare' builtin or the '-o functrace' -option has been enabled with the 'set' builtin, (in which case all -functions inherit the 'DEBUG' and 'RETURN' traps), and the 'ERR' trap is -not inherited unless the '-o errtrace' shell option has been enabled. -*Note Bourne Shell Builtins::, for the description of the 'trap' -builtin. - - The 'FUNCNEST' variable, if set to a numeric value greater than 0, -defines a maximum function nesting level. Function invocations that -exceed the limit cause the entire command to abort. - - If the builtin command 'return' is executed in a function, the -function completes and execution resumes with the next command after the -function call. Any command associated with the 'RETURN' trap is -executed before execution resumes. When a function completes, the -values of the positional parameters and the special parameter '#' are -restored to the values they had prior to the function's execution. If a -numeric argument is given to 'return', that is the function's return -status; otherwise the function's return status is the exit status of the -last command executed before the 'return'. - - Variables local to the function may be declared with the 'local' -builtin ("local variables"). Ordinarily, variables and their values are -shared between a function and its caller. These variables are visible -only to the function and the commands it invokes. This is particularly -important when a shell function calls other functions. - - In the following description, the "current scope" is a currently- -executing function. Previous scopes consist of that function's caller -and so on, back to the "global" scope, where the shell is not executing -any shell function. Consequently, a local variable at the current local -scope is a variable declared using the 'local' or 'declare' builtins in -the function that is currently executing. - - Local variables "shadow" variables with the same name declared at -previous scopes. For instance, a local variable declared in a function -hides a global variable of the same name: references and assignments -refer to the local variable, leaving the global variable unmodified. -When the function returns, the global variable is once again visible. - - The shell uses "dynamic scoping" to control a variable's visibility -within functions. With dynamic scoping, visible variables and their -values are a result of the sequence of function calls that caused -execution to reach the current function. The value of a variable that a -function sees depends on its value within its caller, if any, whether -that caller is the "global" scope or another shell function. This is -also the value that a local variable declaration "shadows", and the -value that is restored when the function returns. - - For example, if a variable 'var' is declared as local in function -'func1', and 'func1' calls another function 'func2', references to 'var' -made from within 'func2' will resolve to the local variable 'var' from -'func1', shadowing any global variable named 'var'. - - The following script demonstrates this behavior. When executed, the -script displays - - In func2, var = func1 local - - func1() - { - local var='func1 local' - func2 - } - - func2() - { - echo "In func2, var = $var" - } - - var=global - func1 - - The 'unset' builtin also acts using the same dynamic scope: if a -variable is local to the current scope, 'unset' will unset it; otherwise -the unset will refer to the variable found in any calling scope as -described above. If a variable at the current local scope is unset, it -will remain so (appearing as unset) until it is reset in that scope or -until the function returns. Once the function returns, any instance of -the variable at a previous scope will become visible. If the unset acts -on a variable at a previous scope, any instance of a variable with that -name that had been shadowed will become visible (see below how -'localvar_unset'shell option changes this behavior). - - Function names and definitions may be listed with the '-f' option to -the 'declare' ('typeset') builtin command (*note Bash Builtins::). The -'-F' option to 'declare' or 'typeset' will list the function names only -(and optionally the source file and line number, if the 'extdebug' shell -option is enabled). Functions may be exported so that child shell -processes (those created when executing a separate shell invocation) -automatically have them defined with the '-f' option to the 'export' -builtin (*note Bourne Shell Builtins::). - - Functions may be recursive. The 'FUNCNEST' variable may be used to -limit the depth of the function call stack and restrict the number of -function invocations. By default, no limit is placed on the number of -recursive calls. - - -File: bash.info, Node: Shell Parameters, Next: Shell Expansions, Prev: Shell Functions, Up: Basic Shell Features - -3.4 Shell Parameters -==================== - -* Menu: - -* Positional Parameters:: The shell's command-line arguments. -* Special Parameters:: Parameters denoted by special characters. - -A "parameter" is an entity that stores values. It can be a 'name', a -number, or one of the special characters listed below. A "variable" is -a parameter denoted by a 'name'. A variable has a 'value' and zero or -more 'attributes'. Attributes are assigned using the 'declare' builtin -command (see the description of the 'declare' builtin in *note Bash -Builtins::). - - A parameter is set if it has been assigned a value. The null string -is a valid value. Once a variable is set, it may be unset only by using -the 'unset' builtin command. - - A variable may be assigned to by a statement of the form - NAME=[VALUE] -If VALUE is not given, the variable is assigned the null string. All -VALUEs undergo tilde expansion, parameter and variable expansion, -command substitution, arithmetic expansion, and quote removal (*note -Shell Parameter Expansion::). If the variable has its 'integer' -attribute set, then VALUE is evaluated as an arithmetic expression even -if the '$((...))' expansion is not used (*note Arithmetic Expansion::). -Word splitting and filename expansion are not performed. Assignment -statements may also appear as arguments to the 'alias', 'declare', -'typeset', 'export', 'readonly', and 'local' builtin commands -("declaration" commands). When in POSIX mode (*note Bash POSIX Mode::), -these builtins may appear in a command after one or more instances of -the 'command' builtin and retain these assignment statement properties. - - In the context where an assignment statement is assigning a value to -a shell variable or array index (*note Arrays::), the '+=' operator can -be used to append to or add to the variable's previous value. This -includes arguments to builtin commands such as 'declare' that accept -assignment statements (declaration commands). When '+=' is applied to a -variable for which the 'integer' attribute has been set, VALUE is -evaluated as an arithmetic expression and added to the variable's -current value, which is also evaluated. When '+=' is applied to an -array variable using compound assignment (*note Arrays::), the -variable's value is not unset (as it is when using '='), and new values -are appended to the array beginning at one greater than the array's -maximum index (for indexed arrays), or added as additional key-value -pairs in an associative array. When applied to a string-valued -variable, VALUE is expanded and appended to the variable's value. - - A variable can be assigned the 'nameref' attribute using the '-n' -option to the 'declare' or 'local' builtin commands (*note Bash -Builtins::) to create a "nameref", or a reference to another variable. -This allows variables to be manipulated indirectly. Whenever the -nameref variable is referenced, assigned to, unset, or has its -attributes modified (other than using or changing the nameref attribute -itself), the operation is actually performed on the variable specified -by the nameref variable's value. A nameref is commonly used within -shell functions to refer to a variable whose name is passed as an -argument to the function. For instance, if a variable name is passed to -a shell function as its first argument, running - declare -n ref=$1 -inside the function creates a nameref variable 'ref' whose value is the -variable name passed as the first argument. References and assignments -to 'ref', and changes to its attributes, are treated as references, -assignments, and attribute modifications to the variable whose name was -passed as '$1'. - - If the control variable in a 'for' loop has the nameref attribute, -the list of words can be a list of shell variables, and a name reference -will be established for each word in the list, in turn, when the loop is -executed. Array variables cannot be given the nameref attribute. -However, nameref variables can reference array variables and subscripted -array variables. Namerefs can be unset using the '-n' option to the -'unset' builtin (*note Bourne Shell Builtins::). Otherwise, if 'unset' -is executed with the name of a nameref variable as an argument, the -variable referenced by the nameref variable will be unset. - - -File: bash.info, Node: Positional Parameters, Next: Special Parameters, Up: Shell Parameters - -3.4.1 Positional Parameters ---------------------------- - -A "positional parameter" is a parameter denoted by one or more digits, -other than the single digit '0'. Positional parameters are assigned -from the shell's arguments when it is invoked, and may be reassigned -using the 'set' builtin command. Positional parameter 'N' may be -referenced as '${N}', or as '$N' when 'N' consists of a single digit. -Positional parameters may not be assigned to with assignment statements. -The 'set' and 'shift' builtins are used to set and unset them (*note -Shell Builtin Commands::). The positional parameters are temporarily -replaced when a shell function is executed (*note Shell Functions::). - - When a positional parameter consisting of more than a single digit is -expanded, it must be enclosed in braces. - - -File: bash.info, Node: Special Parameters, Prev: Positional Parameters, Up: Shell Parameters - -3.4.2 Special Parameters ------------------------- - -The shell treats several parameters specially. These parameters may -only be referenced; assignment to them is not allowed. - -'*' - ($*) Expands to the positional parameters, starting from one. When - the expansion is not within double quotes, each positional - parameter expands to a separate word. In contexts where it is - performed, those words are subject to further word splitting and - filename expansion. When the expansion occurs within double - quotes, it expands to a single word with the value of each - parameter separated by the first character of the 'IFS' special - variable. That is, '"$*"' is equivalent to '"$1C$2C..."', where C - is the first character of the value of the 'IFS' variable. If - 'IFS' is unset, the parameters are separated by spaces. If 'IFS' - is null, the parameters are joined without intervening separators. - -'@' - ($@) Expands to the positional parameters, starting from one. In - contexts where word splitting is performed, this expands each - positional parameter to a separate word; if not within double - quotes, these words are subject to word splitting. In contexts - where word splitting is not performed, this expands to a single - word with each positional parameter separated by a space. When the - expansion occurs within double quotes, and word splitting is - performed, each parameter expands to a separate word. That is, - '"$@"' is equivalent to '"$1" "$2" ...'. If the double-quoted - expansion occurs within a word, the expansion of the first - parameter is joined with the beginning part of the original word, - and the expansion of the last parameter is joined with the last - part of the original word. When there are no positional - parameters, '"$@"' and '$@' expand to nothing (i.e., they are - removed). - -'#' - ($#) Expands to the number of positional parameters in decimal. - -'?' - ($?) Expands to the exit status of the most recently executed - foreground pipeline. - -'-' - ($-, a hyphen.) Expands to the current option flags as specified - upon invocation, by the 'set' builtin command, or those set by the - shell itself (such as the '-i' option). - -'$' - ($$) Expands to the process ID of the shell. In a subshell, it - expands to the process ID of the invoking shell, not the subshell. - -'!' - ($!) Expands to the process ID of the job most recently placed - into the background, whether executed as an asynchronous command or - using the 'bg' builtin (*note Job Control Builtins::). - -'0' - ($0) Expands to the name of the shell or shell script. This is set - at shell initialization. If Bash is invoked with a file of - commands (*note Shell Scripts::), '$0' is set to the name of that - file. If Bash is started with the '-c' option (*note Invoking - Bash::), then '$0' is set to the first argument after the string to - be executed, if one is present. Otherwise, it is set to the - filename used to invoke Bash, as given by argument zero. - - -File: bash.info, Node: Shell Expansions, Next: Redirections, Prev: Shell Parameters, Up: Basic Shell Features - -3.5 Shell Expansions -==================== - -Expansion is performed on the command line after it has been split into -'token's. There are seven kinds of expansion performed: - - * brace expansion - * tilde expansion - * parameter and variable expansion - * command substitution - * arithmetic expansion - * word splitting - * filename expansion - -* Menu: - -* Brace Expansion:: Expansion of expressions within braces. -* Tilde Expansion:: Expansion of the ~ character. -* Shell Parameter Expansion:: How Bash expands variables to their values. -* Command Substitution:: Using the output of a command as an argument. -* Arithmetic Expansion:: How to use arithmetic in shell expansions. -* Process Substitution:: A way to write and read to and from a - command. -* Word Splitting:: How the results of expansion are split into separate - arguments. -* Filename Expansion:: A shorthand for specifying filenames matching patterns. -* Quote Removal:: How and when quote characters are removed from - words. - - The order of expansions is: brace expansion; tilde expansion, -parameter and variable expansion, arithmetic expansion, and command -substitution (done in a left-to-right fashion); word splitting; and -filename expansion. - - On systems that can support it, there is an additional expansion -available: "process substitution". This is performed at the same time -as tilde, parameter, variable, and arithmetic expansion and command -substitution. - - After these expansions are performed, quote characters present in the -original word are removed unless they have been quoted themselves -("quote removal"). - - Only brace expansion, word splitting, and filename expansion can -increase the number of words of the expansion; other expansions expand a -single word to a single word. The only exceptions to this are the -expansions of '"$@"' and '$*' (*note Special Parameters::), and -'"${NAME[@]}"' and '${NAME[*]}' (*note Arrays::). - - After all expansions, 'quote removal' (*note Quote Removal::) is -performed. - - -File: bash.info, Node: Brace Expansion, Next: Tilde Expansion, Up: Shell Expansions - -3.5.1 Brace Expansion ---------------------- - -Brace expansion is a mechanism by which arbitrary strings may be -generated. This mechanism is similar to "filename expansion" (*note -Filename Expansion::), but the filenames generated need not exist. -Patterns to be brace expanded take the form of an optional PREAMBLE, -followed by either a series of comma-separated strings or a sequence -expression between a pair of braces, followed by an optional POSTSCRIPT. -The preamble is prefixed to each string contained within the braces, and -the postscript is then appended to each resulting string, expanding left -to right. - - Brace expansions may be nested. The results of each expanded string -are not sorted; left to right order is preserved. For example, - bash$ echo a{d,c,b}e - ade ace abe - - A sequence expression takes the form '{X..Y[..INCR]}', where X and Y -are either integers or letters, and INCR, an optional increment, is an -integer. When integers are supplied, the expression expands to each -number between X and Y, inclusive. Supplied integers may be prefixed -with '0' to force each term to have the same width. When either X or Y -begins with a zero, the shell attempts to force all generated terms to -contain the same number of digits, zero-padding where necessary. When -letters are supplied, the expression expands to each character -lexicographically between X and Y, inclusive, using the default C -locale. Note that both X and Y must be of the same type (integer or -letter). When the increment is supplied, it is used as the difference -between each term. The default increment is 1 or -1 as appropriate. - - Brace expansion is performed before any other expansions, and any -characters special to other expansions are preserved in the result. It -is strictly textual. Bash does not apply any syntactic interpretation -to the context of the expansion or the text between the braces. - - A correctly-formed brace expansion must contain unquoted opening and -closing braces, and at least one unquoted comma or a valid sequence -expression. Any incorrectly formed brace expansion is left unchanged. - - A { or ',' may be quoted with a backslash to prevent its being -considered part of a brace expression. To avoid conflicts with -parameter expansion, the string '${' is not considered eligible for -brace expansion, and inhibits brace expansion until the closing '}'. - - This construct is typically used as shorthand when the common prefix -of the strings to be generated is longer than in the above example: - mkdir /usr/local/src/bash/{old,new,dist,bugs} - or - chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}} - - -File: bash.info, Node: Tilde Expansion, Next: Shell Parameter Expansion, Prev: Brace Expansion, Up: Shell Expansions - -3.5.2 Tilde Expansion ---------------------- - -If a word begins with an unquoted tilde character ('~'), all of the -characters up to the first unquoted slash (or all characters, if there -is no unquoted slash) are considered a "tilde-prefix". If none of the -characters in the tilde-prefix are quoted, the characters in the -tilde-prefix following the tilde are treated as a possible "login name". -If this login name is the null string, the tilde is replaced with the -value of the 'HOME' shell variable. If 'HOME' is unset, the home -directory of the user executing the shell is substituted instead. -Otherwise, the tilde-prefix is replaced with the home directory -associated with the specified login name. - - If the tilde-prefix is '~+', the value of the shell variable 'PWD' -replaces the tilde-prefix. If the tilde-prefix is '~-', the value of -the shell variable 'OLDPWD', if it is set, is substituted. - - If the characters following the tilde in the tilde-prefix consist of -a number N, optionally prefixed by a '+' or a '-', the tilde-prefix is -replaced with the corresponding element from the directory stack, as it -would be displayed by the 'dirs' builtin invoked with the characters -following tilde in the tilde-prefix as an argument (*note The Directory -Stack::). If the tilde-prefix, sans the tilde, consists of a number -without a leading '+' or '-', '+' is assumed. - - If the login name is invalid, or the tilde expansion fails, the word -is left unchanged. - - Each variable assignment is checked for unquoted tilde-prefixes -immediately following a ':' or the first '='. In these cases, tilde -expansion is also performed. Consequently, one may use filenames with -tildes in assignments to 'PATH', 'MAILPATH', and 'CDPATH', and the shell -assigns the expanded value. - - The following table shows how Bash treats unquoted tilde-prefixes: - -'~' - The value of '$HOME' -'~/foo' - '$HOME/foo' - -'~fred/foo' - The subdirectory 'foo' of the home directory of the user 'fred' - -'~+/foo' - '$PWD/foo' - -'~-/foo' - '${OLDPWD-'~-'}/foo' - -'~N' - The string that would be displayed by 'dirs +N' - -'~+N' - The string that would be displayed by 'dirs +N' - -'~-N' - The string that would be displayed by 'dirs -N' - - Bash also performs tilde expansion on words satisfying the conditions -of variable assignments (*note Shell Parameters::) when they appear as -arguments to simple commands. Bash does not do this, except for the -declaration commands listed above, when in POSIX mode. - - -File: bash.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions - -3.5.3 Shell Parameter Expansion -------------------------------- - -The '$' character introduces parameter expansion, command substitution, -or arithmetic expansion. The parameter name or symbol to be expanded -may be enclosed in braces, which are optional but serve to protect the -variable to be expanded from characters immediately following it which -could be interpreted as part of the name. - - When braces are used, the matching ending brace is the first '}' not -escaped by a backslash or within a quoted string, and not within an -embedded arithmetic expansion, command substitution, or parameter -expansion. - - The basic form of parameter expansion is ${PARAMETER}. The value of -PARAMETER is substituted. The PARAMETER is a shell parameter as -described above (*note Shell Parameters::) or an array reference (*note -Arrays::). The braces are required when PARAMETER is a positional -parameter with more than one digit, or when PARAMETER is followed by a -character that is not to be interpreted as part of its name. - - If the first character of PARAMETER is an exclamation point (!), and -PARAMETER is not a nameref, it introduces a level of indirection. Bash -uses the value formed by expanding the rest of PARAMETER as the new -PARAMETER; this is then expanded and that value is used in the rest of -the expansion, rather than the expansion of the original PARAMETER. -This is known as 'indirect expansion'. The value is subject to tilde -expansion, parameter expansion, command substitution, and arithmetic -expansion. If PARAMETER is a nameref, this expands to the name of the -variable referenced by PARAMETER instead of performing the complete -indirect expansion. The exceptions to this are the expansions of -${!PREFIX*} and ${!NAME[@]} described below. The exclamation point must -immediately follow the left brace in order to introduce indirection. - - In each of the cases below, WORD is subject to tilde expansion, -parameter expansion, command substitution, and arithmetic expansion. - - When not performing substring expansion, using the form described -below (e.g., ':-'), Bash tests for a parameter that is unset or null. -Omitting the colon results in a test only for a parameter that is unset. -Put another way, if the colon is included, the operator tests for both -PARAMETER's existence and that its value is not null; if the colon is -omitted, the operator tests only for existence. - -'${PARAMETER:-WORD}' - If PARAMETER is unset or null, the expansion of WORD is - substituted. Otherwise, the value of PARAMETER is substituted. - - $ v=123 - $ echo ${v-unset} - 123 - -'${PARAMETER:=WORD}' - If PARAMETER is unset or null, the expansion of WORD is assigned to - PARAMETER. The value of PARAMETER is then substituted. Positional - parameters and special parameters may not be assigned to in this - way. - - $ var= - $ : ${var:=DEFAULT} - $ echo $var - DEFAULT - -'${PARAMETER:?WORD}' - If PARAMETER is null or unset, the expansion of WORD (or a message - to that effect if WORD is not present) is written to the standard - error and the shell, if it is not interactive, exits. Otherwise, - the value of PARAMETER is substituted. - - $ var= - $ : ${var:?var is unset or null} - bash: var: var is unset or null - -'${PARAMETER:+WORD}' - If PARAMETER is null or unset, nothing is substituted, otherwise - the expansion of WORD is substituted. - - $ var=123 - $ echo ${var:+var is set and not null} - var is set and not null - -'${PARAMETER:OFFSET}' -'${PARAMETER:OFFSET:LENGTH}' - This is referred to as Substring Expansion. It expands to up to - LENGTH characters of the value of PARAMETER starting at the - character specified by OFFSET. If PARAMETER is '@' or '*', an - indexed array subscripted by '@' or '*', or an associative array - name, the results differ as described below. If LENGTH is omitted, - it expands to the substring of the value of PARAMETER starting at - the character specified by OFFSET and extending to the end of the - value. LENGTH and OFFSET are arithmetic expressions (*note Shell - Arithmetic::). - - If OFFSET evaluates to a number less than zero, the value is used - as an offset in characters from the end of the value of PARAMETER. - If LENGTH evaluates to a number less than zero, it is interpreted - as an offset in characters from the end of the value of PARAMETER - rather than a number of characters, and the expansion is the - characters between OFFSET and that result. Note that a negative - offset must be separated from the colon by at least one space to - avoid being confused with the ':-' expansion. - - Here are some examples illustrating substring expansion on - parameters and subscripted arrays: - - $ string=01234567890abcdefgh - $ echo ${string:7} - 7890abcdefgh - $ echo ${string:7:0} - - $ echo ${string:7:2} - 78 - $ echo ${string:7:-2} - 7890abcdef - $ echo ${string: -7} - bcdefgh - $ echo ${string: -7:0} - - $ echo ${string: -7:2} - bc - $ echo ${string: -7:-2} - bcdef - $ set -- 01234567890abcdefgh - $ echo ${1:7} - 7890abcdefgh - $ echo ${1:7:0} - - $ echo ${1:7:2} - 78 - $ echo ${1:7:-2} - 7890abcdef - $ echo ${1: -7} - bcdefgh - $ echo ${1: -7:0} - - $ echo ${1: -7:2} - bc - $ echo ${1: -7:-2} - bcdef - $ array[0]=01234567890abcdefgh - $ echo ${array[0]:7} - 7890abcdefgh - $ echo ${array[0]:7:0} - - $ echo ${array[0]:7:2} - 78 - $ echo ${array[0]:7:-2} - 7890abcdef - $ echo ${array[0]: -7} - bcdefgh - $ echo ${array[0]: -7:0} - - $ echo ${array[0]: -7:2} - bc - $ echo ${array[0]: -7:-2} - bcdef - - If PARAMETER is '@' or '*', the result is LENGTH positional - parameters beginning at OFFSET. A negative OFFSET is taken - relative to one greater than the greatest positional parameter, so - an offset of -1 evaluates to the last positional parameter. It is - an expansion error if LENGTH evaluates to a number less than zero. - - The following examples illustrate substring expansion using - positional parameters: - - $ set -- 1 2 3 4 5 6 7 8 9 0 a b c d e f g h - $ echo ${@:7} - 7 8 9 0 a b c d e f g h - $ echo ${@:7:0} - - $ echo ${@:7:2} - 7 8 - $ echo ${@:7:-2} - bash: -2: substring expression < 0 - $ echo ${@: -7:2} - b c - $ echo ${@:0} - ./bash 1 2 3 4 5 6 7 8 9 0 a b c d e f g h - $ echo ${@:0:2} - ./bash 1 - $ echo ${@: -7:0} - - - If PARAMETER is an indexed array name subscripted by '@' or '*', - the result is the LENGTH members of the array beginning with - '${PARAMETER[OFFSET]}'. A negative OFFSET is taken relative to one - greater than the maximum index of the specified array. It is an - expansion error if LENGTH evaluates to a number less than zero. - - These examples show how you can use substring expansion with - indexed arrays: - - $ array=(0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h) - $ echo ${array[@]:7} - 7 8 9 0 a b c d e f g h - $ echo ${array[@]:7:2} - 7 8 - $ echo ${array[@]: -7:2} - b c - $ echo ${array[@]: -7:-2} - bash: -2: substring expression < 0 - $ echo ${array[@]:0} - 0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h - $ echo ${array[@]:0:2} - 0 1 - $ echo ${array[@]: -7:0} - - - Substring expansion applied to an associative array produces - undefined results. - - Substring indexing is zero-based unless the positional parameters - are used, in which case the indexing starts at 1 by default. If - OFFSET is 0, and the positional parameters are used, '$0' is - prefixed to the list. - -'${!PREFIX*}' -'${!PREFIX@}' - Expands to the names of variables whose names begin with PREFIX, - separated by the first character of the 'IFS' special variable. - When '@' is used and the expansion appears within double quotes, - each variable name expands to a separate word. - -'${!NAME[@]}' -'${!NAME[*]}' - If NAME is an array variable, expands to the list of array indices - (keys) assigned in NAME. If NAME is not an array, expands to 0 if - NAME is set and null otherwise. When '@' is used and the expansion - appears within double quotes, each key expands to a separate word. - -'${#PARAMETER}' - The length in characters of the expanded value of PARAMETER is - substituted. If PARAMETER is '*' or '@', the value substituted is - the number of positional parameters. If PARAMETER is an array name - subscripted by '*' or '@', the value substituted is the number of - elements in the array. If PARAMETER is an indexed array name - subscripted by a negative number, that number is interpreted as - relative to one greater than the maximum index of PARAMETER, so - negative indices count back from the end of the array, and an index - of -1 references the last element. - -'${PARAMETER#WORD}' -'${PARAMETER##WORD}' - The WORD is expanded to produce a pattern and matched according to - the rules described below (*note Pattern Matching::). If the - pattern matches the beginning of the expanded value of PARAMETER, - then the result of the expansion is the expanded value of PARAMETER - with the shortest matching pattern (the '#' case) or the longest - matching pattern (the '##' case) deleted. If PARAMETER is '@' or - '*', the pattern removal operation is applied to each positional - parameter in turn, and the expansion is the resultant list. If - PARAMETER is an array variable subscripted with '@' or '*', the - pattern removal operation is applied to each member of the array in - turn, and the expansion is the resultant list. - -'${PARAMETER%WORD}' -'${PARAMETER%%WORD}' - The WORD is expanded to produce a pattern and matched according to - the rules described below (*note Pattern Matching::). If the - pattern matches a trailing portion of the expanded value of - PARAMETER, then the result of the expansion is the value of - PARAMETER with the shortest matching pattern (the '%' case) or the - longest matching pattern (the '%%' case) deleted. If PARAMETER is - '@' or '*', the pattern removal operation is applied to each - positional parameter in turn, and the expansion is the resultant - list. If PARAMETER is an array variable subscripted with '@' or - '*', the pattern removal operation is applied to each member of the - array in turn, and the expansion is the resultant list. - -'${PARAMETER/PATTERN/STRING}' -'${PARAMETER//PATTERN/STRING}' -'${PARAMETER/#PATTERN/STRING}' -'${PARAMETER/%PATTERN/STRING}' - The PATTERN is expanded to produce a pattern just as in filename - expansion. PARAMETER is expanded and the longest match of PATTERN - against its value is replaced with STRING. STRING undergoes tilde - expansion, parameter and variable expansion, arithmetic expansion, - command and process substitution, and quote removal. The match is - performed according to the rules described below (*note Pattern - Matching::). - - In the first form above, only the first match is replaced. If - there are two slashes separating PARAMETER and PATTERN (the second - form above), all matches of PATTERN are replaced with STRING. If - PATTERN is preceded by '#' (the third form above), it must match at - the beginning of the expanded value of PARAMETER. If PATTERN is - preceded by '%' (the fourth form above), it must match at the end - of the expanded value of PARAMETER. If the expansion of STRING is - null, matches of PATTERN are deleted. If STRING is null, matches - of PATTERN are deleted and the '/' following PATTERN may be - omitted. - - If the 'patsub_replacement' shell option is enabled using 'shopt', - any unquoted instances of '&' in STRING are replaced with the - matching portion of PATTERN. This is intended to duplicate a - common 'sed' idiom. - - Quoting any part of STRING inhibits replacement in the expansion of - the quoted portion, including replacement strings stored in shell - variables. Backslash will escape '&' in STRING; the backslash is - removed in order to permit a literal '&' in the replacement string. - Users should take care if STRING is double-quoted to avoid unwanted - interactions between the backslash and double-quoting, since - backslash has special meaning within double quotes. Pattern - substitution performs the check for unquoted '&' after expanding - STRING, so users should ensure to properly quote any occurrences of - '&' they want to be taken literally in the replacement and ensure - any instances of '&' they want to be replaced are unquoted. - - For instance, - - var=abcdef - rep='& ' - echo ${var/abc/& } - echo "${var/abc/& }" - echo ${var/abc/$rep} - echo "${var/abc/$rep}" - - will display four lines of "abc def", while - - var=abcdef - rep='& ' - echo ${var/abc/\& } - echo "${var/abc/\& }" - echo ${var/abc/"& "} - echo ${var/abc/"$rep"} - - will display four lines of "& def". Like the pattern removal - operators, double quotes surrounding the replacement string quote - the expanded characters, while double quotes enclosing the entire - parameter substitution do not, since the expansion is performed in - a context that doesn't take any enclosing double quotes into - account. - - Since backslash can escape '&', it can also escape a backslash in - the replacement string. This means that '\\' will insert a literal - backslash into the replacement, so these two 'echo' commands - - var=abcdef - rep='\\&xyz' - echo ${var/abc/\\&xyz} - echo ${var/abc/$rep} - - will both output '\abcxyzdef'. - - It should rarely be necessary to enclose only STRING in double - quotes. - - If the 'nocasematch' shell option (see the description of 'shopt' - in *note The Shopt Builtin::) is enabled, the match is performed - without regard to the case of alphabetic characters. If PARAMETER - is '@' or '*', the substitution operation is applied to each - positional parameter in turn, and the expansion is the resultant - list. If PARAMETER is an array variable subscripted with '@' or - '*', the substitution operation is applied to each member of the - array in turn, and the expansion is the resultant list. - -'${PARAMETER^PATTERN}' -'${PARAMETER^^PATTERN}' -'${PARAMETER,PATTERN}' -'${PARAMETER,,PATTERN}' - This expansion modifies the case of alphabetic characters in - PARAMETER. The PATTERN is expanded to produce a pattern just as in - filename expansion. Each character in the expanded value of - PARAMETER is tested against PATTERN, and, if it matches the - pattern, its case is converted. The pattern should not attempt to - match more than one character. - - The '^' operator converts lowercase letters matching PATTERN to - uppercase; the ',' operator converts matching uppercase letters to - lowercase. The '^^' and ',,' expansions convert each matched - character in the expanded value; the '^' and ',' expansions match - and convert only the first character in the expanded value. If - PATTERN is omitted, it is treated like a '?', which matches every - character. - - If PARAMETER is '@' or '*', the case modification operation is - applied to each positional parameter in turn, and the expansion is - the resultant list. If PARAMETER is an array variable subscripted - with '@' or '*', the case modification operation is applied to each - member of the array in turn, and the expansion is the resultant - list. - -'${PARAMETER@OPERATOR}' - The expansion is either a transformation of the value of PARAMETER - or information about PARAMETER itself, depending on the value of - OPERATOR. Each OPERATOR is a single letter: - - 'U' - The expansion is a string that is the value of PARAMETER with - lowercase alphabetic characters converted to uppercase. - 'u' - The expansion is a string that is the value of PARAMETER with - the first character converted to uppercase, if it is - alphabetic. - 'L' - The expansion is a string that is the value of PARAMETER with - uppercase alphabetic characters converted to lowercase. - 'Q' - The expansion is a string that is the value of PARAMETER - quoted in a format that can be reused as input. - 'E' - The expansion is a string that is the value of PARAMETER with - backslash escape sequences expanded as with the '$'...'' - quoting mechanism. - 'P' - The expansion is a string that is the result of expanding the - value of PARAMETER as if it were a prompt string (*note - Controlling the Prompt::). - 'A' - The expansion is a string in the form of an assignment - statement or 'declare' command that, if evaluated, will - recreate PARAMETER with its attributes and value. - 'K' - Produces a possibly-quoted version of the value of PARAMETER, - except that it prints the values of indexed and associative - arrays as a sequence of quoted key-value pairs (*note - Arrays::). - 'a' - The expansion is a string consisting of flag values - representing PARAMETER's attributes. - 'k' - Like the 'K' transformation, but expands the keys and values - of indexed and associative arrays to separate words after word - splitting. - - If PARAMETER is '@' or '*', the operation is applied to each - positional parameter in turn, and the expansion is the resultant - list. If PARAMETER is an array variable subscripted with '@' or - '*', the operation is applied to each member of the array in turn, - and the expansion is the resultant list. - - The result of the expansion is subject to word splitting and - filename expansion as described below. - - -File: bash.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions - -3.5.4 Command Substitution --------------------------- - -Command substitution allows the output of a command to replace the -command itself. Command substitution occurs when a command is enclosed -as follows: - $(COMMAND) -or - `COMMAND` - -Bash performs the expansion by executing COMMAND in a subshell -environment and replacing the command substitution with the standard -output of the command, with any trailing newlines deleted. Embedded -newlines are not deleted, but they may be removed during word splitting. -The command substitution '$(cat FILE)' can be replaced by the equivalent -but faster '$(< FILE)'. - - When the old-style backquote form of substitution is used, backslash -retains its literal meaning except when followed by '$', '`', or '\'. -The first backquote not preceded by a backslash terminates the command -substitution. When using the '$(COMMAND)' form, all characters between -the parentheses make up the command; none are treated specially. - - Command substitutions may be nested. To nest when using the -backquoted form, escape the inner backquotes with backslashes. - - If the substitution appears within double quotes, word splitting and -filename expansion are not performed on the results. - - -File: bash.info, Node: Arithmetic Expansion, Next: Process Substitution, Prev: Command Substitution, Up: Shell Expansions - -3.5.5 Arithmetic Expansion --------------------------- - -Arithmetic expansion allows the evaluation of an arithmetic expression -and the substitution of the result. The format for arithmetic expansion -is: - - $(( EXPRESSION )) - - The EXPRESSION undergoes the same expansions as if it were within -double quotes, but double quote characters in EXPRESSION are not treated -specially and are removed. All tokens in the expression undergo -parameter and variable expansion, command substitution, and quote -removal. The result is treated as the arithmetic expression to be -evaluated. Arithmetic expansions may be nested. - - The evaluation is performed according to the rules listed below -(*note Shell Arithmetic::). If the expression is invalid, Bash prints a -message indicating failure to the standard error and no substitution -occurs. - - -File: bash.info, Node: Process Substitution, Next: Word Splitting, Prev: Arithmetic Expansion, Up: Shell Expansions - -3.5.6 Process Substitution --------------------------- - -Process substitution allows a process's input or output to be referred -to using a filename. It takes the form of - <(LIST) -or - >(LIST) -The process LIST is run asynchronously, and its input or output appears -as a filename. This filename is passed as an argument to the current -command as the result of the expansion. If the '>(LIST)' form is used, -writing to the file will provide input for LIST. If the '<(LIST)' form -is used, the file passed as an argument should be read to obtain the -output of LIST. Note that no space may appear between the '<' or '>' -and the left parenthesis, otherwise the construct would be interpreted -as a redirection. Process substitution is supported on systems that -support named pipes (FIFOs) or the '/dev/fd' method of naming open -files. - - When available, process substitution is performed simultaneously with -parameter and variable expansion, command substitution, and arithmetic -expansion. - - -File: bash.info, Node: Word Splitting, Next: Filename Expansion, Prev: Process Substitution, Up: Shell Expansions - -3.5.7 Word Splitting --------------------- - -The shell scans the results of parameter expansion, command -substitution, and arithmetic expansion that did not occur within double -quotes for word splitting. - - The shell treats each character of '$IFS' as a delimiter, and splits -the results of the other expansions into words using these characters as -field terminators. If 'IFS' is unset, or its value is exactly -'<space><tab><newline>', the default, then sequences of ' <space>', -'<tab>', and '<newline>' at the beginning and end of the results of the -previous expansions are ignored, and any sequence of 'IFS' characters -not at the beginning or end serves to delimit words. If 'IFS' has a -value other than the default, then sequences of the whitespace -characters 'space', 'tab', and 'newline' are ignored at the beginning -and end of the word, as long as the whitespace character is in the value -of 'IFS' (an 'IFS' whitespace character). Any character in 'IFS' that -is not 'IFS' whitespace, along with any adjacent 'IFS' whitespace -characters, delimits a field. A sequence of 'IFS' whitespace characters -is also treated as a delimiter. If the value of 'IFS' is null, no word -splitting occurs. - - Explicit null arguments ('""' or '''') are retained and passed to -commands as empty strings. Unquoted implicit null arguments, resulting -from the expansion of parameters that have no values, are removed. If a -parameter with no value is expanded within double quotes, a null -argument results and is retained and passed to a command as an empty -string. When a quoted null argument appears as part of a word whose -expansion is non-null, the null argument is removed. That is, the word -'-d''' becomes '-d' after word splitting and null argument removal. - - Note that if no expansion occurs, no splitting is performed. - - -File: bash.info, Node: Filename Expansion, Next: Quote Removal, Prev: Word Splitting, Up: Shell Expansions - -3.5.8 Filename Expansion ------------------------- - -* Menu: - -* Pattern Matching:: How the shell matches patterns. - -After word splitting, unless the '-f' option has been set (*note The Set -Builtin::), Bash scans each word for the characters '*', '?', and '['. -If one of these characters appears, and is not quoted, then the word is -regarded as a PATTERN, and replaced with an alphabetically sorted list -of filenames matching the pattern (*note Pattern Matching::). If no -matching filenames are found, and the shell option 'nullglob' is -disabled, the word is left unchanged. If the 'nullglob' option is set, -and no matches are found, the word is removed. If the 'failglob' shell -option is set, and no matches are found, an error message is printed and -the command is not executed. If the shell option 'nocaseglob' is -enabled, the match is performed without regard to the case of alphabetic -characters. - - When a pattern is used for filename expansion, the character '.' at -the start of a filename or immediately following a slash must be matched -explicitly, unless the shell option 'dotglob' is set. In order to match -the filenames '.' and '..', the pattern must begin with '.' (for -example, '.?'), even if 'dotglob' is set. If the 'globskipdots' shell -option is enabled, the filenames '.' and '..' are never matched, even if -the pattern begins with a '.'. When not matching filenames, the '.' -character is not treated specially. - - When matching a filename, the slash character must always be matched -explicitly by a slash in the pattern, but in other matching contexts it -can be matched by a special pattern character as described below (*note -Pattern Matching::). - - See the description of 'shopt' in *note The Shopt Builtin::, for a -description of the 'nocaseglob', 'nullglob', 'globskipdots', 'failglob', -and 'dotglob' options. - - The 'GLOBIGNORE' shell variable may be used to restrict the set of -file names matching a pattern. If 'GLOBIGNORE' is set, each matching -file name that also matches one of the patterns in 'GLOBIGNORE' is -removed from the list of matches. If the 'nocaseglob' option is set, -the matching against the patterns in 'GLOBIGNORE' is performed without -regard to case. The filenames '.' and '..' are always ignored when -'GLOBIGNORE' is set and not null. However, setting 'GLOBIGNORE' to a -non-null value has the effect of enabling the 'dotglob' shell option, so -all other filenames beginning with a '.' will match. To get the old -behavior of ignoring filenames beginning with a '.', make '.*' one of -the patterns in 'GLOBIGNORE'. The 'dotglob' option is disabled when -'GLOBIGNORE' is unset. - - -File: bash.info, Node: Pattern Matching, Up: Filename Expansion - -3.5.8.1 Pattern Matching -........................ - -Any character that appears in a pattern, other than the special pattern -characters described below, matches itself. The NUL character may not -occur in a pattern. A backslash escapes the following character; the -escaping backslash is discarded when matching. The special pattern -characters must be quoted if they are to be matched literally. - - The special pattern characters have the following meanings: -'*' - Matches any string, including the null string. When the 'globstar' - shell option is enabled, and '*' is used in a filename expansion - context, two adjacent '*'s used as a single pattern will match all - files and zero or more directories and subdirectories. If followed - by a '/', two adjacent '*'s will match only directories and - subdirectories. -'?' - Matches any single character. -'[...]' - Matches any one of the enclosed characters. A pair of characters - separated by a hyphen denotes a RANGE EXPRESSION; any character - that falls between those two characters, inclusive, using the - current locale's collating sequence and character set, is matched. - If the first character following the '[' is a '!' or a '^' then any - character not enclosed is matched. A '-' may be matched by - including it as the first or last character in the set. A ']' may - be matched by including it as the first character in the set. The - sorting order of characters in range expressions, and the - characters included in the range, are determined by the current - locale and the values of the 'LC_COLLATE' and 'LC_ALL' shell - variables, if set. - - For example, in the default C locale, '[a-dx-z]' is equivalent to - '[abcdxyz]'. Many locales sort characters in dictionary order, and - in these locales '[a-dx-z]' is typically not equivalent to - '[abcdxyz]'; it might be equivalent to '[aBbCcDdxYyZz]', for - example. To obtain the traditional interpretation of ranges in - bracket expressions, you can force the use of the C locale by - setting the 'LC_COLLATE' or 'LC_ALL' environment variable to the - value 'C', or enable the 'globasciiranges' shell option. - - Within '[' and ']', "character classes" can be specified using the - syntax '[:'CLASS':]', where CLASS is one of the following classes - defined in the POSIX standard: - alnum alpha ascii blank cntrl digit graph lower - print punct space upper word xdigit - A character class matches any character belonging to that class. - The 'word' character class matches letters, digits, and the - character '_'. - - Within '[' and ']', an "equivalence class" can be specified using - the syntax '[='C'=]', which matches all characters with the same - collation weight (as defined by the current locale) as the - character C. - - Within '[' and ']', the syntax '[.'SYMBOL'.]' matches the collating - symbol SYMBOL. - - If the 'extglob' shell option is enabled using the 'shopt' builtin, -the shell recognizes several extended pattern matching operators. In -the following description, a PATTERN-LIST is a list of one or more -patterns separated by a '|'. When matching filenames, the 'dotglob' -shell option determines the set of filenames that are tested, as -described above. Composite patterns may be formed using one or more of -the following sub-patterns: - -'?(PATTERN-LIST)' - Matches zero or one occurrence of the given patterns. - -'*(PATTERN-LIST)' - Matches zero or more occurrences of the given patterns. - -'+(PATTERN-LIST)' - Matches one or more occurrences of the given patterns. - -'@(PATTERN-LIST)' - Matches one of the given patterns. - -'!(PATTERN-LIST)' - Matches anything except one of the given patterns. - - The 'extglob' option changes the behavior of the parser, since the -parentheses are normally treated as operators with syntactic meaning. -To ensure that extended matching patterns are parsed correctly, make -sure that 'extglob' is enabled before parsing constructs containing the -patterns, including shell functions and command substitutions. - - When matching filenames, the 'dotglob' shell option determines the -set of filenames that are tested: when 'dotglob' is enabled, the set of -filenames includes all files beginning with '.', but the filenames '.' -and '..' must be matched by a pattern or sub-pattern that begins with a -dot; when it is disabled, the set does not include any filenames -beginning with "." unless the pattern or sub-pattern begins with a '.'. -As above, '.' only has a special meaning when matching filenames. - - Complicated extended pattern matching against long strings is slow, -especially when the patterns contain alternations and the strings -contain multiple matches. Using separate matches against shorter -strings, or using arrays of strings instead of a single long string, may -be faster. - - -File: bash.info, Node: Quote Removal, Prev: Filename Expansion, Up: Shell Expansions - -3.5.9 Quote Removal -------------------- - -After the preceding expansions, all unquoted occurrences of the -characters '\', ''', and '"' that did not result from one of the above -expansions are removed. - - -File: bash.info, Node: Redirections, Next: Executing Commands, Prev: Shell Expansions, Up: Basic Shell Features - -3.6 Redirections -================ - -Before a command is executed, its input and output may be "redirected" -using a special notation interpreted by the shell. "Redirection" allows -commands' file handles to be duplicated, opened, closed, made to refer -to different files, and can change the files the command reads from and -writes to. Redirection may also be used to modify file handles in the -current shell execution environment. The following redirection -operators may precede or appear anywhere within a simple command or may -follow a command. Redirections are processed in the order they appear, -from left to right. - - Each redirection that may be preceded by a file descriptor number may -instead be preceded by a word of the form {VARNAME}. In this case, for -each redirection operator except >&- and <&-, the shell will allocate a -file descriptor greater than 10 and assign it to {VARNAME}. If >&- or -<&- is preceded by {VARNAME}, the value of VARNAME defines the file -descriptor to close. If {VARNAME} is supplied, the redirection persists -beyond the scope of the command, allowing the shell programmer to manage -the file descriptor's lifetime manually. The 'varredir_close' shell -option manages this behavior (*note The Shopt Builtin::). - - In the following descriptions, if the file descriptor number is -omitted, and the first character of the redirection operator is '<', the -redirection refers to the standard input (file descriptor 0). If the -first character of the redirection operator is '>', the redirection -refers to the standard output (file descriptor 1). - - The word following the redirection operator in the following -descriptions, unless otherwise noted, is subjected to brace expansion, -tilde expansion, parameter expansion, command substitution, arithmetic -expansion, quote removal, filename expansion, and word splitting. If it -expands to more than one word, Bash reports an error. - - Note that the order of redirections is significant. For example, the -command - ls > DIRLIST 2>&1 -directs both standard output (file descriptor 1) and standard error -(file descriptor 2) to the file DIRLIST, while the command - ls 2>&1 > DIRLIST -directs only the standard output to file DIRLIST, because the standard -error was made a copy of the standard output before the standard output -was redirected to DIRLIST. - - Bash handles several filenames specially when they are used in -redirections, as described in the following table. If the operating -system on which Bash is running provides these special files, bash will -use them; otherwise it will emulate them internally with the behavior -described below. - -'/dev/fd/FD' - If FD is a valid integer, file descriptor FD is duplicated. - -'/dev/stdin' - File descriptor 0 is duplicated. - -'/dev/stdout' - File descriptor 1 is duplicated. - -'/dev/stderr' - File descriptor 2 is duplicated. - -'/dev/tcp/HOST/PORT' - If HOST is a valid hostname or Internet address, and PORT is an - integer port number or service name, Bash attempts to open the - corresponding TCP socket. - -'/dev/udp/HOST/PORT' - If HOST is a valid hostname or Internet address, and PORT is an - integer port number or service name, Bash attempts to open the - corresponding UDP socket. - - A failure to open or create a file causes the redirection to fail. - - Redirections using file descriptors greater than 9 should be used -with care, as they may conflict with file descriptors the shell uses -internally. - -3.6.1 Redirecting Input ------------------------ - -Redirection of input causes the file whose name results from the -expansion of WORD to be opened for reading on file descriptor 'n', or -the standard input (file descriptor 0) if 'n' is not specified. - - The general format for redirecting input is: - [N]<WORD - -3.6.2 Redirecting Output ------------------------- - -Redirection of output causes the file whose name results from the -expansion of WORD to be opened for writing on file descriptor N, or the -standard output (file descriptor 1) if N is not specified. If the file -does not exist it is created; if it does exist it is truncated to zero -size. - - The general format for redirecting output is: - [N]>[|]WORD - - If the redirection operator is '>', and the 'noclobber' option to the -'set' builtin has been enabled, the redirection will fail if the file -whose name results from the expansion of WORD exists and is a regular -file. If the redirection operator is '>|', or the redirection operator -is '>' and the 'noclobber' option is not enabled, the redirection is -attempted even if the file named by WORD exists. - -3.6.3 Appending Redirected Output ---------------------------------- - -Redirection of output in this fashion causes the file whose name results -from the expansion of WORD to be opened for appending on file descriptor -N, or the standard output (file descriptor 1) if N is not specified. If -the file does not exist it is created. - - The general format for appending output is: - [N]>>WORD - -3.6.4 Redirecting Standard Output and Standard Error ----------------------------------------------------- - -This construct allows both the standard output (file descriptor 1) and -the standard error output (file descriptor 2) to be redirected to the -file whose name is the expansion of WORD. - - There are two formats for redirecting standard output and standard -error: - &>WORD -and - >&WORD -Of the two forms, the first is preferred. This is semantically -equivalent to - >WORD 2>&1 - When using the second form, WORD may not expand to a number or '-'. -If it does, other redirection operators apply (see Duplicating File -Descriptors below) for compatibility reasons. - -3.6.5 Appending Standard Output and Standard Error --------------------------------------------------- - -This construct allows both the standard output (file descriptor 1) and -the standard error output (file descriptor 2) to be appended to the file -whose name is the expansion of WORD. - - The format for appending standard output and standard error is: - &>>WORD -This is semantically equivalent to - >>WORD 2>&1 - (see Duplicating File Descriptors below). - -3.6.6 Here Documents --------------------- - -This type of redirection instructs the shell to read input from the -current source until a line containing only WORD (with no trailing -blanks) is seen. All of the lines read up to that point are then used -as the standard input (or file descriptor N if N is specified) for a -command. - - The format of here-documents is: - [N]<<[-]WORD - HERE-DOCUMENT - DELIMITER - - No parameter and variable expansion, command substitution, arithmetic -expansion, or filename expansion is performed on WORD. If any part of -WORD is quoted, the DELIMITER is the result of quote removal on WORD, -and the lines in the here-document are not expanded. If WORD is -unquoted, all lines of the here-document are subjected to parameter -expansion, command substitution, and arithmetic expansion, the character -sequence '\newline' is ignored, and '\' must be used to quote the -characters '\', '$', and '`'. - - If the redirection operator is '<<-', then all leading tab characters -are stripped from input lines and the line containing DELIMITER. This -allows here-documents within shell scripts to be indented in a natural -fashion. - -3.6.7 Here Strings ------------------- - -A variant of here documents, the format is: - [N]<<< WORD - - The WORD undergoes tilde expansion, parameter and variable expansion, -command substitution, arithmetic expansion, and quote removal. Filename -expansion and word splitting are not performed. The result is supplied -as a single string, with a newline appended, to the command on its -standard input (or file descriptor N if N is specified). - -3.6.8 Duplicating File Descriptors ----------------------------------- - -The redirection operator - [N]<&WORD -is used to duplicate input file descriptors. If WORD expands to one or -more digits, the file descriptor denoted by N is made to be a copy of -that file descriptor. If the digits in WORD do not specify a file -descriptor open for input, a redirection error occurs. If WORD -evaluates to '-', file descriptor N is closed. If N is not specified, -the standard input (file descriptor 0) is used. - - The operator - [N]>&WORD -is used similarly to duplicate output file descriptors. If N is not -specified, the standard output (file descriptor 1) is used. If the -digits in WORD do not specify a file descriptor open for output, a -redirection error occurs. If WORD evaluates to '-', file descriptor N -is closed. As a special case, if N is omitted, and WORD does not expand -to one or more digits or '-', the standard output and standard error are -redirected as described previously. - -3.6.9 Moving File Descriptors ------------------------------ - -The redirection operator - [N]<&DIGIT- -moves the file descriptor DIGIT to file descriptor N, or the standard -input (file descriptor 0) if N is not specified. DIGIT is closed after -being duplicated to N. - - Similarly, the redirection operator - [N]>&DIGIT- -moves the file descriptor DIGIT to file descriptor N, or the standard -output (file descriptor 1) if N is not specified. - -3.6.10 Opening File Descriptors for Reading and Writing -------------------------------------------------------- - -The redirection operator - [N]<>WORD -causes the file whose name is the expansion of WORD to be opened for -both reading and writing on file descriptor N, or on file descriptor 0 -if N is not specified. If the file does not exist, it is created. - - -File: bash.info, Node: Executing Commands, Next: Shell Scripts, Prev: Redirections, Up: Basic Shell Features - -3.7 Executing Commands -====================== - -* Menu: - -* Simple Command Expansion:: How Bash expands simple commands before - executing them. -* Command Search and Execution:: How Bash finds commands and runs them. -* Command Execution Environment:: The environment in which Bash - executes commands that are not - shell builtins. -* Environment:: The environment given to a command. -* Exit Status:: The status returned by commands and how Bash - interprets it. -* Signals:: What happens when Bash or a command it runs - receives a signal. - - -File: bash.info, Node: Simple Command Expansion, Next: Command Search and Execution, Up: Executing Commands - -3.7.1 Simple Command Expansion ------------------------------- - -When a simple command is executed, the shell performs the following -expansions, assignments, and redirections, from left to right, in the -following order. - - 1. The words that the parser has marked as variable assignments (those - preceding the command name) and redirections are saved for later - processing. - - 2. The words that are not variable assignments or redirections are - expanded (*note Shell Expansions::). If any words remain after - expansion, the first word is taken to be the name of the command - and the remaining words are the arguments. - - 3. Redirections are performed as described above (*note - Redirections::). - - 4. The text after the '=' in each variable assignment undergoes tilde - expansion, parameter expansion, command substitution, arithmetic - expansion, and quote removal before being assigned to the variable. - - If no command name results, the variable assignments affect the -current shell environment. In the case of such a command (one that -consists only of assignment statements and redirections), assignment -statements are performed before redirections. Otherwise, the variables -are added to the environment of the executed command and do not affect -the current shell environment. If any of the assignments attempts to -assign a value to a readonly variable, an error occurs, and the command -exits with a non-zero status. - - If no command name results, redirections are performed, but do not -affect the current shell environment. A redirection error causes the -command to exit with a non-zero status. - - If there is a command name left after expansion, execution proceeds -as described below. Otherwise, the command exits. If one of the -expansions contained a command substitution, the exit status of the -command is the exit status of the last command substitution performed. -If there were no command substitutions, the command exits with a status -of zero. - - -File: bash.info, Node: Command Search and Execution, Next: Command Execution Environment, Prev: Simple Command Expansion, Up: Executing Commands - -3.7.2 Command Search and Execution ----------------------------------- - -After a command has been split into words, if it results in a simple -command and an optional list of arguments, the following actions are -taken. - - 1. If the command name contains no slashes, the shell attempts to - locate it. If there exists a shell function by that name, that - function is invoked as described in *note Shell Functions::. - - 2. If the name does not match a function, the shell searches for it in - the list of shell builtins. If a match is found, that builtin is - invoked. - - 3. If the name is neither a shell function nor a builtin, and contains - no slashes, Bash searches each element of '$PATH' for a directory - containing an executable file by that name. Bash uses a hash table - to remember the full pathnames of executable files to avoid - multiple 'PATH' searches (see the description of 'hash' in *note - Bourne Shell Builtins::). A full search of the directories in - '$PATH' is performed only if the command is not found in the hash - table. If the search is unsuccessful, the shell searches for a - defined shell function named 'command_not_found_handle'. If that - function exists, it is invoked in a separate execution environment - with the original command and the original command's arguments as - its arguments, and the function's exit status becomes the exit - status of that subshell. If that function is not defined, the - shell prints an error message and returns an exit status of 127. - - 4. If the search is successful, or if the command name contains one or - more slashes, the shell executes the named program in a separate - execution environment. Argument 0 is set to the name given, and - the remaining arguments to the command are set to the arguments - supplied, if any. - - 5. If this execution fails because the file is not in executable - format, and the file is not a directory, it is assumed to be a - "shell script" and the shell executes it as described in *note - Shell Scripts::. - - 6. If the command was not begun asynchronously, the shell waits for - the command to complete and collects its exit status. - - -File: bash.info, Node: Command Execution Environment, Next: Environment, Prev: Command Search and Execution, Up: Executing Commands - -3.7.3 Command Execution Environment ------------------------------------ - -The shell has an "execution environment", which consists of the -following: - - * open files inherited by the shell at invocation, as modified by - redirections supplied to the 'exec' builtin - - * the current working directory as set by 'cd', 'pushd', or 'popd', - or inherited by the shell at invocation - - * the file creation mode mask as set by 'umask' or inherited from the - shell's parent - - * current traps set by 'trap' - - * shell parameters that are set by variable assignment or with 'set' - or inherited from the shell's parent in the environment - - * shell functions defined during execution or inherited from the - shell's parent in the environment - - * options enabled at invocation (either by default or with - command-line arguments) or by 'set' - - * options enabled by 'shopt' (*note The Shopt Builtin::) - - * shell aliases defined with 'alias' (*note Aliases::) - - * various process IDs, including those of background jobs (*note - Lists::), the value of '$$', and the value of '$PPID' - - When a simple command other than a builtin or shell function is to be -executed, it is invoked in a separate execution environment that -consists of the following. Unless otherwise noted, the values are -inherited from the shell. - - * the shell's open files, plus any modifications and additions - specified by redirections to the command - - * the current working directory - - * the file creation mode mask - - * shell variables and functions marked for export, along with - variables exported for the command, passed in the environment - (*note Environment::) - - * traps caught by the shell are reset to the values inherited from - the shell's parent, and traps ignored by the shell are ignored - - A command invoked in this separate environment cannot affect the -shell's execution environment. - - A "subshell" is a copy of the shell process. - - Command substitution, commands grouped with parentheses, and -asynchronous commands are invoked in a subshell environment that is a -duplicate of the shell environment, except that traps caught by the -shell are reset to the values that the shell inherited from its parent -at invocation. Builtin commands that are invoked as part of a pipeline -are also executed in a subshell environment. Changes made to the -subshell environment cannot affect the shell's execution environment. - - Subshells spawned to execute command substitutions inherit the value -of the '-e' option from the parent shell. When not in POSIX mode, Bash -clears the '-e' option in such subshells. - - If a command is followed by a '&' and job control is not active, the -default standard input for the command is the empty file '/dev/null'. -Otherwise, the invoked command inherits the file descriptors of the -calling shell as modified by redirections. - - -File: bash.info, Node: Environment, Next: Exit Status, Prev: Command Execution Environment, Up: Executing Commands - -3.7.4 Environment ------------------ - -When a program is invoked it is given an array of strings called the -"environment". This is a list of name-value pairs, of the form -'name=value'. - - Bash provides several ways to manipulate the environment. On -invocation, the shell scans its own environment and creates a parameter -for each name found, automatically marking it for 'export' to child -processes. Executed commands inherit the environment. The 'export' and -'declare -x' commands allow parameters and functions to be added to and -deleted from the environment. If the value of a parameter in the -environment is modified, the new value becomes part of the environment, -replacing the old. The environment inherited by any executed command -consists of the shell's initial environment, whose values may be -modified in the shell, less any pairs removed by the 'unset' and 'export --n' commands, plus any additions via the 'export' and 'declare -x' -commands. - - The environment for any simple command or function may be augmented -temporarily by prefixing it with parameter assignments, as described in -*note Shell Parameters::. These assignment statements affect only the -environment seen by that command. - - If the '-k' option is set (*note The Set Builtin::), then all -parameter assignments are placed in the environment for a command, not -just those that precede the command name. - - When Bash invokes an external command, the variable '$_' is set to -the full pathname of the command and passed to that command in its -environment. - - -File: bash.info, Node: Exit Status, Next: Signals, Prev: Environment, Up: Executing Commands - -3.7.5 Exit Status ------------------ - -The exit status of an executed command is the value returned by the -'waitpid' system call or equivalent function. Exit statuses fall -between 0 and 255, though, as explained below, the shell may use values -above 125 specially. Exit statuses from shell builtins and compound -commands are also limited to this range. Under certain circumstances, -the shell will use special values to indicate specific failure modes. - - For the shell's purposes, a command which exits with a zero exit -status has succeeded. A non-zero exit status indicates failure. This -seemingly counter-intuitive scheme is used so there is one well-defined -way to indicate success and a variety of ways to indicate various -failure modes. When a command terminates on a fatal signal whose number -is N, Bash uses the value 128+N as the exit status. - - If a command is not found, the child process created to execute it -returns a status of 127. If a command is found but is not executable, -the return status is 126. - - If a command fails because of an error during expansion or -redirection, the exit status is greater than zero. - - The exit status is used by the Bash conditional commands (*note -Conditional Constructs::) and some of the list constructs (*note -Lists::). - - All of the Bash builtins return an exit status of zero if they -succeed and a non-zero status on failure, so they may be used by the -conditional and list constructs. All builtins return an exit status of -2 to indicate incorrect usage, generally invalid options or missing -arguments. - - The exit status of the last command is available in the special -parameter $? (*note Special Parameters::). - - -File: bash.info, Node: Signals, Prev: Exit Status, Up: Executing Commands - -3.7.6 Signals -------------- - -When Bash is interactive, in the absence of any traps, it ignores -'SIGTERM' (so that 'kill 0' does not kill an interactive shell), and -'SIGINT' is caught and handled (so that the 'wait' builtin is -interruptible). When Bash receives a 'SIGINT', it breaks out of any -executing loops. In all cases, Bash ignores 'SIGQUIT'. If job control -is in effect (*note Job Control::), Bash ignores 'SIGTTIN', 'SIGTTOU', -and 'SIGTSTP'. - - Non-builtin commands started by Bash have signal handlers set to the -values inherited by the shell from its parent. When job control is not -in effect, asynchronous commands ignore 'SIGINT' and 'SIGQUIT' in -addition to these inherited handlers. Commands run as a result of -command substitution ignore the keyboard-generated job control signals -'SIGTTIN', 'SIGTTOU', and 'SIGTSTP'. - - The shell exits by default upon receipt of a 'SIGHUP'. Before -exiting, an interactive shell resends the 'SIGHUP' to all jobs, running -or stopped. Stopped jobs are sent 'SIGCONT' to ensure that they receive -the 'SIGHUP'. To prevent the shell from sending the 'SIGHUP' signal to -a particular job, it should be removed from the jobs table with the -'disown' builtin (*note Job Control Builtins::) or marked to not receive -'SIGHUP' using 'disown -h'. - - If the 'huponexit' shell option has been set with 'shopt' (*note The -Shopt Builtin::), Bash sends a 'SIGHUP' to all jobs when an interactive -login shell exits. - - If Bash is waiting for a command to complete and receives a signal -for which a trap has been set, the trap will not be executed until the -command completes. When Bash is waiting for an asynchronous command via -the 'wait' builtin, the reception of a signal for which a trap has been -set will cause the 'wait' builtin to return immediately with an exit -status greater than 128, immediately after which the trap is executed. - - When job control is not enabled, and Bash is waiting for a foreground -command to complete, the shell receives keyboard-generated signals such -as 'SIGINT' (usually generated by '^C') that users commonly intend to -send to that command. This happens because the shell and the command -are in the same process group as the terminal, and '^C' sends 'SIGINT' -to all processes in that process group. See *note Job Control::, for a -more in-depth discussion of process groups. - - When Bash is running without job control enabled and receives -'SIGINT' while waiting for a foreground command, it waits until that -foreground command terminates and then decides what to do about the -'SIGINT': - - 1. If the command terminates due to the 'SIGINT', Bash concludes that - the user meant to end the entire script, and acts on the 'SIGINT' - (e.g., by running a 'SIGINT' trap or exiting itself); - - 2. If the pipeline does not terminate due to 'SIGINT', the program - handled the 'SIGINT' itself and did not treat it as a fatal signal. - In that case, Bash does not treat 'SIGINT' as a fatal signal, - either, instead assuming that the 'SIGINT' was used as part of the - program's normal operation (e.g., 'emacs' uses it to abort editing - commands) or deliberately discarded. However, Bash will run any - trap set on 'SIGINT', as it does with any other trapped signal it - receives while it is waiting for the foreground command to - complete, for compatibility. - - -File: bash.info, Node: Shell Scripts, Prev: Executing Commands, Up: Basic Shell Features - -3.8 Shell Scripts -================= - -A shell script is a text file containing shell commands. When such a -file is used as the first non-option argument when invoking Bash, and -neither the '-c' nor '-s' option is supplied (*note Invoking Bash::), -Bash reads and executes commands from the file, then exits. This mode -of operation creates a non-interactive shell. The shell first searches -for the file in the current directory, and looks in the directories in -'$PATH' if not found there. - - When Bash runs a shell script, it sets the special parameter '0' to -the name of the file, rather than the name of the shell, and the -positional parameters are set to the remaining arguments, if any are -given. If no additional arguments are supplied, the positional -parameters are unset. - - A shell script may be made executable by using the 'chmod' command to -turn on the execute bit. When Bash finds such a file while searching -the '$PATH' for a command, it creates a new instance of itself to -execute it. In other words, executing - filename ARGUMENTS -is equivalent to executing - bash filename ARGUMENTS - -if 'filename' is an executable shell script. This subshell -reinitializes itself, so that the effect is as if a new shell had been -invoked to interpret the script, with the exception that the locations -of commands remembered by the parent (see the description of 'hash' in -*note Bourne Shell Builtins::) are retained by the child. - - Most versions of Unix make this a part of the operating system's -command execution mechanism. If the first line of a script begins with -the two characters '#!', the remainder of the line specifies an -interpreter for the program and, depending on the operating system, one -or more optional arguments for that interpreter. Thus, you can specify -Bash, 'awk', Perl, or some other interpreter and write the rest of the -script file in that language. - - The arguments to the interpreter consist of one or more optional -arguments following the interpreter name on the first line of the script -file, followed by the name of the script file, followed by the rest of -the arguments supplied to the script. The details of how the -interpreter line is split into an interpreter name and a set of -arguments vary across systems. Bash will perform this action on -operating systems that do not handle it themselves. Note that some -older versions of Unix limit the interpreter name and a single argument -to a maximum of 32 characters, so it's not portable to assume that using -more than one argument will work. - - Bash scripts often begin with '#! /bin/bash' (assuming that Bash has -been installed in '/bin'), since this ensures that Bash will be used to -interpret the script, even if it is executed under another shell. It's -a common idiom to use 'env' to find 'bash' even if it's been installed -in another directory: '#!/usr/bin/env bash' will find the first -occurrence of 'bash' in '$PATH'. - - -File: bash.info, Node: Shell Builtin Commands, Next: Shell Variables, Prev: Basic Shell Features, Up: Top - -4 Shell Builtin Commands -************************ - -* Menu: - -* Bourne Shell Builtins:: Builtin commands inherited from the Bourne - Shell. -* Bash Builtins:: Table of builtins specific to Bash. -* Modifying Shell Behavior:: Builtins to modify shell attributes and - optional behavior. -* Special Builtins:: Builtin commands classified specially by - POSIX. - -Builtin commands are contained within the shell itself. When the name -of a builtin command is used as the first word of a simple command -(*note Simple Commands::), the shell executes the command directly, -without invoking another program. Builtin commands are necessary to -implement functionality impossible or inconvenient to obtain with -separate utilities. - - This section briefly describes the builtins which Bash inherits from -the Bourne Shell, as well as the builtin commands which are unique to or -have been extended in Bash. - - Several builtin commands are described in other chapters: builtin -commands which provide the Bash interface to the job control facilities -(*note Job Control Builtins::), the directory stack (*note Directory -Stack Builtins::), the command history (*note Bash History Builtins::), -and the programmable completion facilities (*note Programmable -Completion Builtins::). - - Many of the builtins have been extended by POSIX or Bash. - - Unless otherwise noted, each builtin command documented as accepting -options preceded by '-' accepts '--' to signify the end of the options. -The ':', 'true', 'false', and 'test'/'[' builtins do not accept options -and do not treat '--' specially. The 'exit', 'logout', 'return', -'break', 'continue', 'let', and 'shift' builtins accept and process -arguments beginning with '-' without requiring '--'. Other builtins -that accept arguments but are not specified as accepting options -interpret arguments beginning with '-' as invalid options and require -'--' to prevent this interpretation. - - -File: bash.info, Node: Bourne Shell Builtins, Next: Bash Builtins, Up: Shell Builtin Commands - -4.1 Bourne Shell Builtins -========================= - -The following shell builtin commands are inherited from the Bourne -Shell. These commands are implemented as specified by the POSIX -standard. - -': (a colon)' - : [ARGUMENTS] - - Do nothing beyond expanding ARGUMENTS and performing redirections. - The return status is zero. - -'. (a period)' - . FILENAME [ARGUMENTS] - - Read and execute commands from the FILENAME argument in the current - shell context. If FILENAME does not contain a slash, the 'PATH' - variable is used to find FILENAME, but FILENAME does not need to be - executable. When Bash is not in POSIX mode, it searches the - current directory if FILENAME is not found in '$PATH'. If any - ARGUMENTS are supplied, they become the positional parameters when - FILENAME is executed. Otherwise the positional parameters are - unchanged. If the '-T' option is enabled, '.' inherits any trap on - 'DEBUG'; if it is not, any 'DEBUG' trap string is saved and - restored around the call to '.', and '.' unsets the 'DEBUG' trap - while it executes. If '-T' is not set, and the sourced file - changes the 'DEBUG' trap, the new value is retained when '.' - completes. The return status is the exit status of the last - command executed, or zero if no commands are executed. If FILENAME - is not found, or cannot be read, the return status is non-zero. - This builtin is equivalent to 'source'. - -'break' - break [N] - - Exit from a 'for', 'while', 'until', or 'select' loop. If N is - supplied, the Nth enclosing loop is exited. N must be greater than - or equal to 1. The return status is zero unless N is not greater - than or equal to 1. - -'cd' - cd [-L|[-P [-e]] [-@] [DIRECTORY] - - Change the current working directory to DIRECTORY. If DIRECTORY is - not supplied, the value of the 'HOME' shell variable is used. If - the shell variable 'CDPATH' exists, it is used as a search path: - each directory name in 'CDPATH' is searched for DIRECTORY, with - alternative directory names in 'CDPATH' separated by a colon (':'). - If DIRECTORY begins with a slash, 'CDPATH' is not used. - - The '-P' option means to not follow symbolic links: symbolic links - are resolved while 'cd' is traversing DIRECTORY and before - processing an instance of '..' in DIRECTORY. - - By default, or when the '-L' option is supplied, symbolic links in - DIRECTORY are resolved after 'cd' processes an instance of '..' in - DIRECTORY. - - If '..' appears in DIRECTORY, it is processed by removing the - immediately preceding pathname component, back to a slash or the - beginning of DIRECTORY. - - If the '-e' option is supplied with '-P' and the current working - directory cannot be successfully determined after a successful - directory change, 'cd' will return an unsuccessful status. - - On systems that support it, the '-@' option presents the extended - attributes associated with a file as a directory. - - If DIRECTORY is '-', it is converted to '$OLDPWD' before the - directory change is attempted. - - If a non-empty directory name from 'CDPATH' is used, or if '-' is - the first argument, and the directory change is successful, the - absolute pathname of the new working directory is written to the - standard output. - - If the directory change is successful, 'cd' sets the value of the - 'PWD' environment variable to the new directory name, and sets the - 'OLDPWD' environment variable to the value of the current working - directory before the change. - - The return status is zero if the directory is successfully changed, - non-zero otherwise. - -'continue' - continue [N] - - Resume the next iteration of an enclosing 'for', 'while', 'until', - or 'select' loop. If N is supplied, the execution of the Nth - enclosing loop is resumed. N must be greater than or equal to 1. - The return status is zero unless N is not greater than or equal to - 1. - -'eval' - eval [ARGUMENTS] - - The arguments are concatenated together into a single command, - which is then read and executed, and its exit status returned as - the exit status of 'eval'. If there are no arguments or only empty - arguments, the return status is zero. - -'exec' - exec [-cl] [-a NAME] [COMMAND [ARGUMENTS]] - - If COMMAND is supplied, it replaces the shell without creating a - new process. If the '-l' option is supplied, the shell places a - dash at the beginning of the zeroth argument passed to COMMAND. - This is what the 'login' program does. The '-c' option causes - COMMAND to be executed with an empty environment. If '-a' is - supplied, the shell passes NAME as the zeroth argument to COMMAND. - If COMMAND cannot be executed for some reason, a non-interactive - shell exits, unless the 'execfail' shell option is enabled. In - that case, it returns failure. An interactive shell returns - failure if the file cannot be executed. A subshell exits - unconditionally if 'exec' fails. If no COMMAND is specified, - redirections may be used to affect the current shell environment. - If there are no redirection errors, the return status is zero; - otherwise the return status is non-zero. - -'exit' - exit [N] - - Exit the shell, returning a status of N to the shell's parent. If - N is omitted, the exit status is that of the last command executed. - Any trap on 'EXIT' is executed before the shell terminates. - -'export' - export [-fn] [-p] [NAME[=VALUE]] - - Mark each NAME to be passed to child processes in the environment. - If the '-f' option is supplied, the NAMEs refer to shell functions; - otherwise the names refer to shell variables. The '-n' option - means to no longer mark each NAME for export. If no NAMEs are - supplied, or if the '-p' option is given, a list of names of all - exported variables is displayed. The '-p' option displays output - in a form that may be reused as input. If a variable name is - followed by =VALUE, the value of the variable is set to VALUE. - - The return status is zero unless an invalid option is supplied, one - of the names is not a valid shell variable name, or '-f' is - supplied with a name that is not a shell function. - -'getopts' - getopts OPTSTRING NAME [ARG ...] - - 'getopts' is used by shell scripts to parse positional parameters. - OPTSTRING contains the option characters to be recognized; if a - character is followed by a colon, the option is expected to have an - argument, which should be separated from it by whitespace. The - colon (':') and question mark ('?') may not be used as option - characters. Each time it is invoked, 'getopts' places the next - option in the shell variable NAME, initializing NAME if it does not - exist, and the index of the next argument to be processed into the - variable 'OPTIND'. 'OPTIND' is initialized to 1 each time the - shell or a shell script is invoked. When an option requires an - argument, 'getopts' places that argument into the variable - 'OPTARG'. The shell does not reset 'OPTIND' automatically; it must - be manually reset between multiple calls to 'getopts' within the - same shell invocation if a new set of parameters is to be used. - - When the end of options is encountered, 'getopts' exits with a - return value greater than zero. 'OPTIND' is set to the index of - the first non-option argument, and NAME is set to '?'. - - 'getopts' normally parses the positional parameters, but if more - arguments are supplied as ARG values, 'getopts' parses those - instead. - - 'getopts' can report errors in two ways. If the first character of - OPTSTRING is a colon, SILENT error reporting is used. In normal - operation, diagnostic messages are printed when invalid options or - missing option arguments are encountered. If the variable 'OPTERR' - is set to 0, no error messages will be displayed, even if the first - character of 'optstring' is not a colon. - - If an invalid option is seen, 'getopts' places '?' into NAME and, - if not silent, prints an error message and unsets 'OPTARG'. If - 'getopts' is silent, the option character found is placed in - 'OPTARG' and no diagnostic message is printed. - - If a required argument is not found, and 'getopts' is not silent, a - question mark ('?') is placed in NAME, 'OPTARG' is unset, and a - diagnostic message is printed. If 'getopts' is silent, then a - colon (':') is placed in NAME and 'OPTARG' is set to the option - character found. - -'hash' - hash [-r] [-p FILENAME] [-dt] [NAME] - - Each time 'hash' is invoked, it remembers the full pathnames of the - commands specified as NAME arguments, so they need not be searched - for on subsequent invocations. The commands are found by searching - through the directories listed in '$PATH'. Any - previously-remembered pathname is discarded. The '-p' option - inhibits the path search, and FILENAME is used as the location of - NAME. The '-r' option causes the shell to forget all remembered - locations. The '-d' option causes the shell to forget the - remembered location of each NAME. If the '-t' option is supplied, - the full pathname to which each NAME corresponds is printed. If - multiple NAME arguments are supplied with '-t', the NAME is printed - before the hashed full pathname. The '-l' option causes output to - be displayed in a format that may be reused as input. If no - arguments are given, or if only '-l' is supplied, information about - remembered commands is printed. The return status is zero unless a - NAME is not found or an invalid option is supplied. - -'pwd' - pwd [-LP] - - Print the absolute pathname of the current working directory. If - the '-P' option is supplied, the pathname printed will not contain - symbolic links. If the '-L' option is supplied, the pathname - printed may contain symbolic links. The return status is zero - unless an error is encountered while determining the name of the - current directory or an invalid option is supplied. - -'readonly' - readonly [-aAf] [-p] [NAME[=VALUE]] ... - - Mark each NAME as readonly. The values of these names may not be - changed by subsequent assignment. If the '-f' option is supplied, - each NAME refers to a shell function. The '-a' option means each - NAME refers to an indexed array variable; the '-A' option means - each NAME refers to an associative array variable. If both options - are supplied, '-A' takes precedence. If no NAME arguments are - given, or if the '-p' option is supplied, a list of all readonly - names is printed. The other options may be used to restrict the - output to a subset of the set of readonly names. The '-p' option - causes output to be displayed in a format that may be reused as - input. If a variable name is followed by =VALUE, the value of the - variable is set to VALUE. The return status is zero unless an - invalid option is supplied, one of the NAME arguments is not a - valid shell variable or function name, or the '-f' option is - supplied with a name that is not a shell function. - -'return' - return [N] - - Cause a shell function to stop executing and return the value N to - its caller. If N is not supplied, the return value is the exit - status of the last command executed in the function. If 'return' - is executed by a trap handler, the last command used to determine - the status is the last command executed before the trap handler. - If 'return' is executed during a 'DEBUG' trap, the last command - used to determine the status is the last command executed by the - trap handler before 'return' was invoked. 'return' may also be - used to terminate execution of a script being executed with the '.' - ('source') builtin, returning either N or the exit status of the - last command executed within the script as the exit status of the - script. If N is supplied, the return value is its least - significant 8 bits. Any command associated with the 'RETURN' trap - is executed before execution resumes after the function or script. - The return status is non-zero if 'return' is supplied a non-numeric - argument or is used outside a function and not during the execution - of a script by '.' or 'source'. - -'shift' - shift [N] - - Shift the positional parameters to the left by N. The positional - parameters from N+1 ... '$#' are renamed to '$1' ... '$#'-N. - Parameters represented by the numbers '$#' down to '$#'-N+1 are - unset. N must be a non-negative number less than or equal to '$#'. - If N is zero or greater than '$#', the positional parameters are - not changed. If N is not supplied, it is assumed to be 1. The - return status is zero unless N is greater than '$#' or less than - zero, non-zero otherwise. - -'test' -'[' - test EXPR - - Evaluate a conditional expression EXPR and return a status of 0 - (true) or 1 (false). Each operator and operand must be a separate - argument. Expressions are composed of the primaries described - below in *note Bash Conditional Expressions::. 'test' does not - accept any options, nor does it accept and ignore an argument of - '--' as signifying the end of options. - - When the '[' form is used, the last argument to the command must be - a ']'. - - Expressions may be combined using the following operators, listed - in decreasing order of precedence. The evaluation depends on the - number of arguments; see below. Operator precedence is used when - there are five or more arguments. - - '! EXPR' - True if EXPR is false. - - '( EXPR )' - Returns the value of EXPR. This may be used to override the - normal precedence of operators. - - 'EXPR1 -a EXPR2' - True if both EXPR1 and EXPR2 are true. - - 'EXPR1 -o EXPR2' - True if either EXPR1 or EXPR2 is true. - - The 'test' and '[' builtins evaluate conditional expressions using - a set of rules based on the number of arguments. - - 0 arguments - The expression is false. - - 1 argument - The expression is true if, and only if, the argument is not - null. - - 2 arguments - If the first argument is '!', the expression is true if and - only if the second argument is null. If the first argument is - one of the unary conditional operators (*note Bash Conditional - Expressions::), the expression is true if the unary test is - true. If the first argument is not a valid unary operator, - the expression is false. - - 3 arguments - The following conditions are applied in the order listed. - - 1. If the second argument is one of the binary conditional - operators (*note Bash Conditional Expressions::), the - result of the expression is the result of the binary test - using the first and third arguments as operands. The - '-a' and '-o' operators are considered binary operators - when there are three arguments. - 2. If the first argument is '!', the value is the negation - of the two-argument test using the second and third - arguments. - 3. If the first argument is exactly '(' and the third - argument is exactly ')', the result is the one-argument - test of the second argument. - 4. Otherwise, the expression is false. - - 4 arguments - The following conditions are applied in the order listed. - - 1. If the first argument is '!', the result is the negation - of the three-argument expression composed of the - remaining arguments. - 2. If the first argument is exactly '(' and the fourth - argument is exactly ')', the result is the two-argument - test of the second and third arguments. - 3. Otherwise, the expression is parsed and evaluated - according to precedence using the rules listed above. - - 5 or more arguments - The expression is parsed and evaluated according to precedence - using the rules listed above. - - When used with 'test' or '[', the '<' and '>' operators sort - lexicographically using ASCII ordering. - -'times' - times - - Print out the user and system times used by the shell and its - children. The return status is zero. - -'trap' - trap [-lp] [ARG] [SIGSPEC ...] - - The commands in ARG are to be read and executed when the shell - receives signal SIGSPEC. If ARG is absent (and there is a single - SIGSPEC) or equal to '-', each specified signal's disposition is - reset to the value it had when the shell was started. If ARG is - the null string, then the signal specified by each SIGSPEC is - ignored by the shell and commands it invokes. If ARG is not - present and '-p' has been supplied, the shell displays the trap - commands associated with each SIGSPEC. If no arguments are - supplied, or only '-p' is given, 'trap' prints the list of commands - associated with each signal number in a form that may be reused as - shell input. The '-l' option causes the shell to print a list of - signal names and their corresponding numbers. Each SIGSPEC is - either a signal name or a signal number. Signal names are case - insensitive and the 'SIG' prefix is optional. - - If a SIGSPEC is '0' or 'EXIT', ARG is executed when the shell - exits. If a SIGSPEC is 'DEBUG', the command ARG is executed before - every simple command, 'for' command, 'case' command, 'select' - command, every arithmetic 'for' command, and before the first - command executes in a shell function. Refer to the description of - the 'extdebug' option to the 'shopt' builtin (*note The Shopt - Builtin::) for details of its effect on the 'DEBUG' trap. If a - SIGSPEC is 'RETURN', the command ARG is executed each time a shell - function or a script executed with the '.' or 'source' builtins - finishes executing. - - If a SIGSPEC is 'ERR', the command ARG is executed whenever a - pipeline (which may consist of a single simple command), a list, or - a compound command returns a non-zero exit status, subject to the - following conditions. The 'ERR' trap is not executed if the failed - command is part of the command list immediately following an - 'until' or 'while' keyword, part of the test following the 'if' or - 'elif' reserved words, part of a command executed in a '&&' or '||' - list except the command following the final '&&' or '||', any - command in a pipeline but the last, or if the command's return - status is being inverted using '!'. These are the same conditions - obeyed by the 'errexit' ('-e') option. - - Signals ignored upon entry to the shell cannot be trapped or reset. - Trapped signals that are not being ignored are reset to their - original values in a subshell or subshell environment when one is - created. - - The return status is zero unless a SIGSPEC does not specify a valid - signal. - -'umask' - umask [-p] [-S] [MODE] - - Set the shell process's file creation mask to MODE. If MODE begins - with a digit, it is interpreted as an octal number; if not, it is - interpreted as a symbolic mode mask similar to that accepted by the - 'chmod' command. If MODE is omitted, the current value of the mask - is printed. If the '-S' option is supplied without a MODE - argument, the mask is printed in a symbolic format. If the '-p' - option is supplied, and MODE is omitted, the output is in a form - that may be reused as input. The return status is zero if the mode - is successfully changed or if no MODE argument is supplied, and - non-zero otherwise. - - Note that when the mode is interpreted as an octal number, each - number of the umask is subtracted from '7'. Thus, a umask of '022' - results in permissions of '755'. - -'unset' - unset [-fnv] [NAME] - - Remove each variable or function NAME. If the '-v' option is - given, each NAME refers to a shell variable and that variable is - removed. If the '-f' option is given, the NAMEs refer to shell - functions, and the function definition is removed. If the '-n' - option is supplied, and NAME is a variable with the 'nameref' - attribute, NAME will be unset rather than the variable it - references. '-n' has no effect if the '-f' option is supplied. If - no options are supplied, each NAME refers to a variable; if there - is no variable by that name, a function with that name, if any, is - unset. Readonly variables and functions may not be unset. Some - shell variables lose their special behavior if they are unset; such - behavior is noted in the description of the individual variables. - The return status is zero unless a NAME is readonly or may not be - unset. - - -File: bash.info, Node: Bash Builtins, Next: Modifying Shell Behavior, Prev: Bourne Shell Builtins, Up: Shell Builtin Commands - -4.2 Bash Builtin Commands -========================= - -This section describes builtin commands which are unique to or have been -extended in Bash. Some of these commands are specified in the POSIX -standard. - -'alias' - alias [-p] [NAME[=VALUE] ...] - - Without arguments or with the '-p' option, 'alias' prints the list - of aliases on the standard output in a form that allows them to be - reused as input. If arguments are supplied, an alias is defined - for each NAME whose VALUE is given. If no VALUE is given, the name - and value of the alias is printed. Aliases are described in *note - Aliases::. - -'bind' - bind [-m KEYMAP] [-lpsvPSVX] - bind [-m KEYMAP] [-q FUNCTION] [-u FUNCTION] [-r KEYSEQ] - bind [-m KEYMAP] -f FILENAME - bind [-m KEYMAP] -x KEYSEQ:SHELL-COMMAND - bind [-m KEYMAP] KEYSEQ:FUNCTION-NAME - bind [-m KEYMAP] KEYSEQ:READLINE-COMMAND - bind READLINE-COMMAND-LINE - - Display current Readline (*note Command Line Editing::) key and - function bindings, bind a key sequence to a Readline function or - macro, or set a Readline variable. Each non-option argument is a - command as it would appear in a Readline initialization file (*note - Readline Init File::), but each binding or command must be passed - as a separate argument; e.g., '"\C-x\C-r":re-read-init-file'. - - Options, if supplied, have the following meanings: - - '-m KEYMAP' - Use KEYMAP as the keymap to be affected by the subsequent - bindings. Acceptable KEYMAP names are 'emacs', - 'emacs-standard', 'emacs-meta', 'emacs-ctlx', 'vi', 'vi-move', - 'vi-command', and 'vi-insert'. 'vi' is equivalent to - 'vi-command' ('vi-move' is also a synonym); 'emacs' is - equivalent to 'emacs-standard'. - - '-l' - List the names of all Readline functions. - - '-p' - Display Readline function names and bindings in such a way - that they can be used as input or in a Readline initialization - file. - - '-P' - List current Readline function names and bindings. - - '-v' - Display Readline variable names and values in such a way that - they can be used as input or in a Readline initialization - file. - - '-V' - List current Readline variable names and values. - - '-s' - Display Readline key sequences bound to macros and the strings - they output in such a way that they can be used as input or in - a Readline initialization file. - - '-S' - Display Readline key sequences bound to macros and the strings - they output. - - '-f FILENAME' - Read key bindings from FILENAME. - - '-q FUNCTION' - Query about which keys invoke the named FUNCTION. - - '-u FUNCTION' - Unbind all keys bound to the named FUNCTION. - - '-r KEYSEQ' - Remove any current binding for KEYSEQ. - - '-x KEYSEQ:SHELL-COMMAND' - Cause SHELL-COMMAND to be executed whenever KEYSEQ is entered. - When SHELL-COMMAND is executed, the shell sets the - 'READLINE_LINE' variable to the contents of the Readline line - buffer and the 'READLINE_POINT' and 'READLINE_MARK' variables - to the current location of the insertion point and the saved - insertion point (the MARK), respectively. The shell assigns - any numeric argument the user supplied to the - 'READLINE_ARGUMENT' variable. If there was no argument, that - variable is not set. If the executed command changes the - value of any of 'READLINE_LINE', 'READLINE_POINT', or - 'READLINE_MARK', those new values will be reflected in the - editing state. - - '-X' - List all key sequences bound to shell commands and the - associated commands in a format that can be reused as input. - - The return status is zero unless an invalid option is supplied or - an error occurs. - -'builtin' - builtin [SHELL-BUILTIN [ARGS]] - - Run a shell builtin, passing it ARGS, and return its exit status. - This is useful when defining a shell function with the same name as - a shell builtin, retaining the functionality of the builtin within - the function. The return status is non-zero if SHELL-BUILTIN is - not a shell builtin command. - -'caller' - caller [EXPR] - - Returns the context of any active subroutine call (a shell function - or a script executed with the '.' or 'source' builtins). - - Without EXPR, 'caller' displays the line number and source filename - of the current subroutine call. If a non-negative integer is - supplied as EXPR, 'caller' displays the line number, subroutine - name, and source file corresponding to that position in the current - execution call stack. This extra information may be used, for - example, to print a stack trace. The current frame is frame 0. - - The return value is 0 unless the shell is not executing a - subroutine call or EXPR does not correspond to a valid position in - the call stack. - -'command' - command [-pVv] COMMAND [ARGUMENTS ...] - - Runs COMMAND with ARGUMENTS ignoring any shell function named - COMMAND. Only shell builtin commands or commands found by - searching the 'PATH' are executed. If there is a shell function - named 'ls', running 'command ls' within the function will execute - the external command 'ls' instead of calling the function - recursively. The '-p' option means to use a default value for - 'PATH' that is guaranteed to find all of the standard utilities. - The return status in this case is 127 if COMMAND cannot be found or - an error occurred, and the exit status of COMMAND otherwise. - - If either the '-V' or '-v' option is supplied, a description of - COMMAND is printed. The '-v' option causes a single word - indicating the command or file name used to invoke COMMAND to be - displayed; the '-V' option produces a more verbose description. In - this case, the return status is zero if COMMAND is found, and - non-zero if not. - -'declare' - declare [-aAfFgiIlnrtux] [-p] [NAME[=VALUE] ...] - - Declare variables and give them attributes. If no NAMEs are given, - then display the values of variables instead. - - The '-p' option will display the attributes and values of each - NAME. When '-p' is used with NAME arguments, additional options, - other than '-f' and '-F', are ignored. - - When '-p' is supplied without NAME arguments, 'declare' will - display the attributes and values of all variables having the - attributes specified by the additional options. If no other - options are supplied with '-p', 'declare' will display the - attributes and values of all shell variables. The '-f' option will - restrict the display to shell functions. - - The '-F' option inhibits the display of function definitions; only - the function name and attributes are printed. If the 'extdebug' - shell option is enabled using 'shopt' (*note The Shopt Builtin::), - the source file name and line number where each NAME is defined are - displayed as well. '-F' implies '-f'. - - The '-g' option forces variables to be created or modified at the - global scope, even when 'declare' is executed in a shell function. - It is ignored in all other cases. - - The '-I' option causes local variables to inherit the attributes - (except the 'nameref' attribute) and value of any existing variable - with the same NAME at a surrounding scope. If there is no existing - variable, the local variable is initially unset. - - The following options can be used to restrict output to variables - with the specified attributes or to give variables attributes: - - '-a' - Each NAME is an indexed array variable (*note Arrays::). - - '-A' - Each NAME is an associative array variable (*note Arrays::). - - '-f' - Use function names only. - - '-i' - The variable is to be treated as an integer; arithmetic - evaluation (*note Shell Arithmetic::) is performed when the - variable is assigned a value. - - '-l' - When the variable is assigned a value, all upper-case - characters are converted to lower-case. The upper-case - attribute is disabled. - - '-n' - Give each NAME the 'nameref' attribute, making it a name - reference to another variable. That other variable is defined - by the value of NAME. All references, assignments, and - attribute modifications to NAME, except for those using or - changing the '-n' attribute itself, are performed on the - variable referenced by NAME's value. The nameref attribute - cannot be applied to array variables. - - '-r' - Make NAMEs readonly. These names cannot then be assigned - values by subsequent assignment statements or unset. - - '-t' - Give each NAME the 'trace' attribute. Traced functions - inherit the 'DEBUG' and 'RETURN' traps from the calling shell. - The trace attribute has no special meaning for variables. - - '-u' - When the variable is assigned a value, all lower-case - characters are converted to upper-case. The lower-case - attribute is disabled. - - '-x' - Mark each NAME for export to subsequent commands via the - environment. - - Using '+' instead of '-' turns off the attribute instead, with the - exceptions that '+a' and '+A' may not be used to destroy array - variables and '+r' will not remove the readonly attribute. When - used in a function, 'declare' makes each NAME local, as with the - 'local' command, unless the '-g' option is used. If a variable - name is followed by =VALUE, the value of the variable is set to - VALUE. - - When using '-a' or '-A' and the compound assignment syntax to - create array variables, additional attributes do not take effect - until subsequent assignments. - - The return status is zero unless an invalid option is encountered, - an attempt is made to define a function using '-f foo=bar', an - attempt is made to assign a value to a readonly variable, an - attempt is made to assign a value to an array variable without - using the compound assignment syntax (*note Arrays::), one of the - NAMEs is not a valid shell variable name, an attempt is made to - turn off readonly status for a readonly variable, an attempt is - made to turn off array status for an array variable, or an attempt - is made to display a non-existent function with '-f'. - -'echo' - echo [-neE] [ARG ...] - - Output the ARGs, separated by spaces, terminated with a newline. - The return status is 0 unless a write error occurs. If '-n' is - specified, the trailing newline is suppressed. If the '-e' option - is given, interpretation of the following backslash-escaped - characters is enabled. The '-E' option disables the interpretation - of these escape characters, even on systems where they are - interpreted by default. The 'xpg_echo' shell option may be used to - dynamically determine whether or not 'echo' expands these escape - characters by default. 'echo' does not interpret '--' to mean the - end of options. - - 'echo' interprets the following escape sequences: - '\a' - alert (bell) - '\b' - backspace - '\c' - suppress further output - '\e' - '\E' - escape - '\f' - form feed - '\n' - new line - '\r' - carriage return - '\t' - horizontal tab - '\v' - vertical tab - '\\' - backslash - '\0NNN' - the eight-bit character whose value is the octal value NNN - (zero to three octal digits) - '\xHH' - the eight-bit character whose value is the hexadecimal value - HH (one or two hex digits) - '\uHHHH' - the Unicode (ISO/IEC 10646) character whose value is the - hexadecimal value HHHH (one to four hex digits) - '\UHHHHHHHH' - the Unicode (ISO/IEC 10646) character whose value is the - hexadecimal value HHHHHHHH (one to eight hex digits) - -'enable' - enable [-a] [-dnps] [-f FILENAME] [NAME ...] - - Enable and disable builtin shell commands. Disabling a builtin - allows a disk command which has the same name as a shell builtin to - be executed without specifying a full pathname, even though the - shell normally searches for builtins before disk commands. If '-n' - is used, the NAMEs become disabled. Otherwise NAMEs are enabled. - For example, to use the 'test' binary found via '$PATH' instead of - the shell builtin version, type 'enable -n test'. - - If the '-p' option is supplied, or no NAME arguments appear, a list - of shell builtins is printed. With no other arguments, the list - consists of all enabled shell builtins. The '-a' option means to - list each builtin with an indication of whether or not it is - enabled. - - The '-f' option means to load the new builtin command NAME from - shared object FILENAME, on systems that support dynamic loading. - Bash will use the value of the 'BASH_LOADABLES_PATH' variable as a - colon-separated list of directories in which to search for - FILENAME. The default is system-dependent. The '-d' option will - delete a builtin loaded with '-f'. - - If there are no options, a list of the shell builtins is displayed. - The '-s' option restricts 'enable' to the POSIX special builtins. - If '-s' is used with '-f', the new builtin becomes a special - builtin (*note Special Builtins::). - - If no options are supplied and a NAME is not a shell builtin, - 'enable' will attempt to load NAME from a shared object named NAME, - as if the command were 'enable -f NAME NAME'. - - The return status is zero unless a NAME is not a shell builtin or - there is an error loading a new builtin from a shared object. - -'help' - help [-dms] [PATTERN] - - Display helpful information about builtin commands. If PATTERN is - specified, 'help' gives detailed help on all commands matching - PATTERN, otherwise a list of the builtins is printed. - - Options, if supplied, have the following meanings: - - '-d' - Display a short description of each PATTERN - '-m' - Display the description of each PATTERN in a manpage-like - format - '-s' - Display only a short usage synopsis for each PATTERN - - The return status is zero unless no command matches PATTERN. - -'let' - let EXPRESSION [EXPRESSION ...] - - The 'let' builtin allows arithmetic to be performed on shell - variables. Each EXPRESSION is evaluated according to the rules - given below in *note Shell Arithmetic::. If the last EXPRESSION - evaluates to 0, 'let' returns 1; otherwise 0 is returned. - -'local' - local [OPTION] NAME[=VALUE] ... - - For each argument, a local variable named NAME is created, and - assigned VALUE. The OPTION can be any of the options accepted by - 'declare'. 'local' can only be used within a function; it makes - the variable NAME have a visible scope restricted to that function - and its children. If NAME is '-', the set of shell options is made - local to the function in which 'local' is invoked: shell options - changed using the 'set' builtin inside the function are restored to - their original values when the function returns. The restore is - effected as if a series of 'set' commands were executed to restore - the values that were in place before the function. The return - status is zero unless 'local' is used outside a function, an - invalid NAME is supplied, or NAME is a readonly variable. - -'logout' - logout [N] - - Exit a login shell, returning a status of N to the shell's parent. - -'mapfile' - mapfile [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] - [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY] - - Read lines from the standard input into the indexed array variable - ARRAY, or from file descriptor FD if the '-u' option is supplied. - The variable 'MAPFILE' is the default ARRAY. Options, if supplied, - have the following meanings: - - '-d' - The first character of DELIM is used to terminate each input - line, rather than newline. If DELIM is the empty string, - 'mapfile' will terminate a line when it reads a NUL character. - '-n' - Copy at most COUNT lines. If COUNT is 0, all lines are - copied. - '-O' - Begin assigning to ARRAY at index ORIGIN. The default index - is 0. - '-s' - Discard the first COUNT lines read. - '-t' - Remove a trailing DELIM (default newline) from each line read. - '-u' - Read lines from file descriptor FD instead of the standard - input. - '-C' - Evaluate CALLBACK each time QUANTUM lines are read. The '-c' - option specifies QUANTUM. - '-c' - Specify the number of lines read between each call to - CALLBACK. - - If '-C' is specified without '-c', the default quantum is 5000. - When CALLBACK is evaluated, it is supplied the index of the next - array element to be assigned and the line to be assigned to that - element as additional arguments. CALLBACK is evaluated after the - line is read but before the array element is assigned. - - If not supplied with an explicit origin, 'mapfile' will clear ARRAY - before assigning to it. - - 'mapfile' returns successfully unless an invalid option or option - argument is supplied, ARRAY is invalid or unassignable, or ARRAY is - not an indexed array. - -'printf' - printf [-v VAR] FORMAT [ARGUMENTS] - - Write the formatted ARGUMENTS to the standard output under the - control of the FORMAT. The '-v' option causes the output to be - assigned to the variable VAR rather than being printed to the - standard output. - - The FORMAT is a character string which contains three types of - objects: plain characters, which are simply copied to standard - output, character escape sequences, which are converted and copied - to the standard output, and format specifications, each of which - causes printing of the next successive ARGUMENT. In addition to - the standard 'printf(1)' formats, 'printf' interprets the following - extensions: - - '%b' - Causes 'printf' to expand backslash escape sequences in the - corresponding ARGUMENT in the same way as 'echo -e' (*note - Bash Builtins::). - '%q' - Causes 'printf' to output the corresponding ARGUMENT in a - format that can be reused as shell input. - '%Q' - like '%q', but applies any supplied precision to the ARGUMENT - before quoting it. - '%(DATEFMT)T' - Causes 'printf' to output the date-time string resulting from - using DATEFMT as a format string for 'strftime'(3). The - corresponding ARGUMENT is an integer representing the number - of seconds since the epoch. Two special argument values may - be used: -1 represents the current time, and -2 represents the - time the shell was invoked. If no argument is specified, - conversion behaves as if -1 had been given. This is an - exception to the usual 'printf' behavior. - - The %b, %q, and %T directives all use the field width and precision - arguments from the format specification and write that many bytes - from (or use that wide a field for) the expanded argument, which - usually contains more characters than the original. - - Arguments to non-string format specifiers are treated as C language - constants, except that a leading plus or minus sign is allowed, and - if the leading character is a single or double quote, the value is - the ASCII value of the following character. - - The FORMAT is reused as necessary to consume all of the ARGUMENTS. - If the FORMAT requires more ARGUMENTS than are supplied, the extra - format specifications behave as if a zero value or null string, as - appropriate, had been supplied. The return value is zero on - success, non-zero on failure. - -'read' - read [-ers] [-a ANAME] [-d DELIM] [-i TEXT] [-n NCHARS] - [-N NCHARS] [-p PROMPT] [-t TIMEOUT] [-u FD] [NAME ...] - - One line is read from the standard input, or from the file - descriptor FD supplied as an argument to the '-u' option, split - into words as described above in *note Word Splitting::, and the - first word is assigned to the first NAME, the second word to the - second NAME, and so on. If there are more words than names, the - remaining words and their intervening delimiters are assigned to - the last NAME. If there are fewer words read from the input stream - than names, the remaining names are assigned empty values. The - characters in the value of the 'IFS' variable are used to split the - line into words using the same rules the shell uses for expansion - (described above in *note Word Splitting::). The backslash - character '\' may be used to remove any special meaning for the - next character read and for line continuation. - - Options, if supplied, have the following meanings: - - '-a ANAME' - The words are assigned to sequential indices of the array - variable ANAME, starting at 0. All elements are removed from - ANAME before the assignment. Other NAME arguments are - ignored. - - '-d DELIM' - The first character of DELIM is used to terminate the input - line, rather than newline. If DELIM is the empty string, - 'read' will terminate a line when it reads a NUL character. - - '-e' - Readline (*note Command Line Editing::) is used to obtain the - line. Readline uses the current (or default, if line editing - was not previously active) editing settings, but uses - Readline's default filename completion. - - '-i TEXT' - If Readline is being used to read the line, TEXT is placed - into the editing buffer before editing begins. - - '-n NCHARS' - 'read' returns after reading NCHARS characters rather than - waiting for a complete line of input, but honors a delimiter - if fewer than NCHARS characters are read before the delimiter. - - '-N NCHARS' - 'read' returns after reading exactly NCHARS characters rather - than waiting for a complete line of input, unless EOF is - encountered or 'read' times out. Delimiter characters - encountered in the input are not treated specially and do not - cause 'read' to return until NCHARS characters are read. The - result is not split on the characters in 'IFS'; the intent is - that the variable is assigned exactly the characters read - (with the exception of backslash; see the '-r' option below). - - '-p PROMPT' - Display PROMPT, without a trailing newline, before attempting - to read any input. The prompt is displayed only if input is - coming from a terminal. - - '-r' - If this option is given, backslash does not act as an escape - character. The backslash is considered to be part of the - line. In particular, a backslash-newline pair may not then be - used as a line continuation. - - '-s' - Silent mode. If input is coming from a terminal, characters - are not echoed. - - '-t TIMEOUT' - Cause 'read' to time out and return failure if a complete line - of input (or a specified number of characters) is not read - within TIMEOUT seconds. TIMEOUT may be a decimal number with - a fractional portion following the decimal point. This option - is only effective if 'read' is reading input from a terminal, - pipe, or other special file; it has no effect when reading - from regular files. If 'read' times out, 'read' saves any - partial input read into the specified variable NAME. If - TIMEOUT is 0, 'read' returns immediately, without trying to - read any data. The exit status is 0 if input is available on - the specified file descriptor, or the read will return EOF, - non-zero otherwise. The exit status is greater than 128 if - the timeout is exceeded. - - '-u FD' - Read input from file descriptor FD. - - If no NAMEs are supplied, the line read, without the ending - delimiter but otherwise unmodified, is assigned to the variable - 'REPLY'. The exit status is zero, unless end-of-file is - encountered, 'read' times out (in which case the status is greater - than 128), a variable assignment error (such as assigning to a - readonly variable) occurs, or an invalid file descriptor is - supplied as the argument to '-u'. - -'readarray' - readarray [-d DELIM] [-n COUNT] [-O ORIGIN] [-s COUNT] - [-t] [-u FD] [-C CALLBACK] [-c QUANTUM] [ARRAY] - - Read lines from the standard input into the indexed array variable - ARRAY, or from file descriptor FD if the '-u' option is supplied. - - A synonym for 'mapfile'. - -'source' - source FILENAME - - A synonym for '.' (*note Bourne Shell Builtins::). - -'type' - type [-afptP] [NAME ...] - - For each NAME, indicate how it would be interpreted if used as a - command name. - - If the '-t' option is used, 'type' prints a single word which is - one of 'alias', 'function', 'builtin', 'file' or 'keyword', if NAME - is an alias, shell function, shell builtin, disk file, or shell - reserved word, respectively. If the NAME is not found, then - nothing is printed, and 'type' returns a failure status. - - If the '-p' option is used, 'type' either returns the name of the - disk file that would be executed, or nothing if '-t' would not - return 'file'. - - The '-P' option forces a path search for each NAME, even if '-t' - would not return 'file'. - - If a command is hashed, '-p' and '-P' print the hashed value, which - is not necessarily the file that appears first in '$PATH'. - - If the '-a' option is used, 'type' returns all of the places that - contain an executable named FILE. This includes aliases and - functions, if and only if the '-p' option is not also used. - - If the '-f' option is used, 'type' does not attempt to find shell - functions, as with the 'command' builtin. - - The return status is zero if all of the NAMEs are found, non-zero - if any are not found. - -'typeset' - typeset [-afFgrxilnrtux] [-p] [NAME[=VALUE] ...] - - The 'typeset' command is supplied for compatibility with the Korn - shell. It is a synonym for the 'declare' builtin command. - -'ulimit' - ulimit [-HS] -a - ulimit [-HS] [-bcdefiklmnpqrstuvxPRT] [LIMIT] - - 'ulimit' provides control over the resources available to processes - started by the shell, on systems that allow such control. If an - option is given, it is interpreted as follows: - - '-S' - Change and report the soft limit associated with a resource. - - '-H' - Change and report the hard limit associated with a resource. - - '-a' - All current limits are reported; no limits are set. - - '-b' - The maximum socket buffer size. - - '-c' - The maximum size of core files created. - - '-d' - The maximum size of a process's data segment. - - '-e' - The maximum scheduling priority ("nice"). - - '-f' - The maximum size of files written by the shell and its - children. - - '-i' - The maximum number of pending signals. - - '-k' - The maximum number of kqueues that may be allocated. - - '-l' - The maximum size that may be locked into memory. - - '-m' - The maximum resident set size (many systems do not honor this - limit). - - '-n' - The maximum number of open file descriptors (most systems do - not allow this value to be set). - - '-p' - The pipe buffer size. - - '-q' - The maximum number of bytes in POSIX message queues. - - '-r' - The maximum real-time scheduling priority. - - '-s' - The maximum stack size. - - '-t' - The maximum amount of cpu time in seconds. - - '-u' - The maximum number of processes available to a single user. - - '-v' - The maximum amount of virtual memory available to the shell, - and, on some systems, to its children. - - '-x' - The maximum number of file locks. - - '-P' - The maximum number of pseudoterminals. - - '-R' - The maximum time a real-time process can run before blocking, - in microseconds. - - '-T' - The maximum number of threads. - - If LIMIT is given, and the '-a' option is not used, LIMIT is the - new value of the specified resource. The special LIMIT values - 'hard', 'soft', and 'unlimited' stand for the current hard limit, - the current soft limit, and no limit, respectively. A hard limit - cannot be increased by a non-root user once it is set; a soft limit - may be increased up to the value of the hard limit. Otherwise, the - current value of the soft limit for the specified resource is - printed, unless the '-H' option is supplied. When more than one - resource is specified, the limit name and unit, if appropriate, are - printed before the value. When setting new limits, if neither '-H' - nor '-S' is supplied, both the hard and soft limits are set. If no - option is given, then '-f' is assumed. Values are in 1024-byte - increments, except for '-t', which is in seconds; '-R', which is in - microseconds; '-p', which is in units of 512-byte blocks; '-P', - '-T', '-b', '-k', '-n' and '-u', which are unscaled values; and, - when in POSIX Mode (*note Bash POSIX Mode::), '-c' and '-f', which - are in 512-byte increments. - - The return status is zero unless an invalid option or argument is - supplied, or an error occurs while setting a new limit. - -'unalias' - unalias [-a] [NAME ... ] - - Remove each NAME from the list of aliases. If '-a' is supplied, - all aliases are removed. Aliases are described in *note Aliases::. - - -File: bash.info, Node: Modifying Shell Behavior, Next: Special Builtins, Prev: Bash Builtins, Up: Shell Builtin Commands - -4.3 Modifying Shell Behavior -============================ - -* Menu: - -* The Set Builtin:: Change the values of shell attributes and - positional parameters. -* The Shopt Builtin:: Modify shell optional behavior. - - -File: bash.info, Node: The Set Builtin, Next: The Shopt Builtin, Up: Modifying Shell Behavior - -4.3.1 The Set Builtin ---------------------- - -This builtin is so complicated that it deserves its own section. 'set' -allows you to change the values of shell options and set the positional -parameters, or to display the names and values of shell variables. - -'set' - set [-abefhkmnptuvxBCEHPT] [-o OPTION-NAME] [--] [-] [ARGUMENT ...] - set [+abefhkmnptuvxBCEHPT] [+o OPTION-NAME] [--] [-] [ARGUMENT ...] - - If no options or arguments are supplied, 'set' displays the names - and values of all shell variables and functions, sorted according - to the current locale, in a format that may be reused as input for - setting or resetting the currently-set variables. Read-only - variables cannot be reset. In POSIX mode, only shell variables are - listed. - - When options are supplied, they set or unset shell attributes. - Options, if specified, have the following meanings: - - '-a' - Each variable or function that is created or modified is given - the export attribute and marked for export to the environment - of subsequent commands. - - '-b' - Cause the status of terminated background jobs to be reported - immediately, rather than before printing the next primary - prompt. - - '-e' - Exit immediately if a pipeline (*note Pipelines::), which may - consist of a single simple command (*note Simple Commands::), - a list (*note Lists::), or a compound command (*note Compound - Commands::) returns a non-zero status. The shell does not - exit if the command that fails is part of the command list - immediately following a 'while' or 'until' keyword, part of - the test in an 'if' statement, part of any command executed in - a '&&' or '||' list except the command following the final - '&&' or '||', any command in a pipeline but the last, or if - the command's return status is being inverted with '!'. If a - compound command other than a subshell returns a non-zero - status because a command failed while '-e' was being ignored, - the shell does not exit. A trap on 'ERR', if set, is executed - before the shell exits. - - This option applies to the shell environment and each subshell - environment separately (*note Command Execution - Environment::), and may cause subshells to exit before - executing all the commands in the subshell. - - If a compound command or shell function executes in a context - where '-e' is being ignored, none of the commands executed - within the compound command or function body will be affected - by the '-e' setting, even if '-e' is set and a command returns - a failure status. If a compound command or shell function - sets '-e' while executing in a context where '-e' is ignored, - that setting will not have any effect until the compound - command or the command containing the function call completes. - - '-f' - Disable filename expansion (globbing). - - '-h' - Locate and remember (hash) commands as they are looked up for - execution. This option is enabled by default. - - '-k' - All arguments in the form of assignment statements are placed - in the environment for a command, not just those that precede - the command name. - - '-m' - Job control is enabled (*note Job Control::). All processes - run in a separate process group. When a background job - completes, the shell prints a line containing its exit status. - - '-n' - Read commands but do not execute them. This may be used to - check a script for syntax errors. This option is ignored by - interactive shells. - - '-o OPTION-NAME' - - Set the option corresponding to OPTION-NAME: - - 'allexport' - Same as '-a'. - - 'braceexpand' - Same as '-B'. - - 'emacs' - Use an 'emacs'-style line editing interface (*note - Command Line Editing::). This also affects the editing - interface used for 'read -e'. - - 'errexit' - Same as '-e'. - - 'errtrace' - Same as '-E'. - - 'functrace' - Same as '-T'. - - 'hashall' - Same as '-h'. - - 'histexpand' - Same as '-H'. - - 'history' - Enable command history, as described in *note Bash - History Facilities::. This option is on by default in - interactive shells. - - 'ignoreeof' - An interactive shell will not exit upon reading EOF. - - 'keyword' - Same as '-k'. - - 'monitor' - Same as '-m'. - - 'noclobber' - Same as '-C'. - - 'noexec' - Same as '-n'. - - 'noglob' - Same as '-f'. - - 'nolog' - Currently ignored. - - 'notify' - Same as '-b'. - - 'nounset' - Same as '-u'. - - 'onecmd' - Same as '-t'. - - 'physical' - Same as '-P'. - - 'pipefail' - If set, the return value of a pipeline is the value of - the last (rightmost) command to exit with a non-zero - status, or zero if all commands in the pipeline exit - successfully. This option is disabled by default. - - 'posix' - Change the behavior of Bash where the default operation - differs from the POSIX standard to match the standard - (*note Bash POSIX Mode::). This is intended to make Bash - behave as a strict superset of that standard. - - 'privileged' - Same as '-p'. - - 'verbose' - Same as '-v'. - - 'vi' - Use a 'vi'-style line editing interface. This also - affects the editing interface used for 'read -e'. - - 'xtrace' - Same as '-x'. - - '-p' - Turn on privileged mode. In this mode, the '$BASH_ENV' and - '$ENV' files are not processed, shell functions are not - inherited from the environment, and the 'SHELLOPTS', - 'BASHOPTS', 'CDPATH' and 'GLOBIGNORE' variables, if they - appear in the environment, are ignored. If the shell is - started with the effective user (group) id not equal to the - real user (group) id, and the '-p' option is not supplied, - these actions are taken and the effective user id is set to - the real user id. If the '-p' option is supplied at startup, - the effective user id is not reset. Turning this option off - causes the effective user and group ids to be set to the real - user and group ids. - - '-r' - Enable restricted shell mode. This option cannot be unset - once it has been set. - - '-t' - Exit after reading and executing one command. - - '-u' - Treat unset variables and parameters other than the special - parameters '@' or '*', or array variables subscripted with '@' - or '*', as an error when performing parameter expansion. An - error message will be written to the standard error, and a - non-interactive shell will exit. - - '-v' - Print shell input lines as they are read. - - '-x' - Print a trace of simple commands, 'for' commands, 'case' - commands, 'select' commands, and arithmetic 'for' commands and - their arguments or associated word lists after they are - expanded and before they are executed. The value of the 'PS4' - variable is expanded and the resultant value is printed before - the command and its expanded arguments. - - '-B' - The shell will perform brace expansion (*note Brace - Expansion::). This option is on by default. - - '-C' - Prevent output redirection using '>', '>&', and '<>' from - overwriting existing files. - - '-E' - If set, any trap on 'ERR' is inherited by shell functions, - command substitutions, and commands executed in a subshell - environment. The 'ERR' trap is normally not inherited in such - cases. - - '-H' - Enable '!' style history substitution (*note History - Interaction::). This option is on by default for interactive - shells. - - '-P' - If set, do not resolve symbolic links when performing commands - such as 'cd' which change the current directory. The physical - directory is used instead. By default, Bash follows the - logical chain of directories when performing commands which - change the current directory. - - For example, if '/usr/sys' is a symbolic link to - '/usr/local/sys' then: - $ cd /usr/sys; echo $PWD - /usr/sys - $ cd ..; pwd - /usr - - If 'set -P' is on, then: - $ cd /usr/sys; echo $PWD - /usr/local/sys - $ cd ..; pwd - /usr/local - - '-T' - If set, any trap on 'DEBUG' and 'RETURN' are inherited by - shell functions, command substitutions, and commands executed - in a subshell environment. The 'DEBUG' and 'RETURN' traps are - normally not inherited in such cases. - - '--' - If no arguments follow this option, then the positional - parameters are unset. Otherwise, the positional parameters - are set to the ARGUMENTS, even if some of them begin with a - '-'. - - '-' - Signal the end of options, cause all remaining ARGUMENTS to be - assigned to the positional parameters. The '-x' and '-v' - options are turned off. If there are no arguments, the - positional parameters remain unchanged. - - Using '+' rather than '-' causes these options to be turned off. - The options can also be used upon invocation of the shell. The - current set of options may be found in '$-'. - - The remaining N ARGUMENTS are positional parameters and are - assigned, in order, to '$1', '$2', ... '$N'. The special parameter - '#' is set to N. - - The return status is always zero unless an invalid option is - supplied. - - -File: bash.info, Node: The Shopt Builtin, Prev: The Set Builtin, Up: Modifying Shell Behavior - -4.3.2 The Shopt Builtin ------------------------ - -This builtin allows you to change additional shell optional behavior. - -'shopt' - shopt [-pqsu] [-o] [OPTNAME ...] - - Toggle the values of settings controlling optional shell behavior. - The settings can be either those listed below, or, if the '-o' - option is used, those available with the '-o' option to the 'set' - builtin command (*note The Set Builtin::). With no options, or - with the '-p' option, a list of all settable options is displayed, - with an indication of whether or not each is set; if OPTNAMEs are - supplied, the output is restricted to those options. The '-p' - option causes output to be displayed in a form that may be reused - as input. Other options have the following meanings: - - '-s' - Enable (set) each OPTNAME. - - '-u' - Disable (unset) each OPTNAME. - - '-q' - Suppresses normal output; the return status indicates whether - the OPTNAME is set or unset. If multiple OPTNAME arguments - are given with '-q', the return status is zero if all OPTNAMEs - are enabled; non-zero otherwise. - - '-o' - Restricts the values of OPTNAME to be those defined for the - '-o' option to the 'set' builtin (*note The Set Builtin::). - - If either '-s' or '-u' is used with no OPTNAME arguments, 'shopt' - shows only those options which are set or unset, respectively. - - Unless otherwise noted, the 'shopt' options are disabled (off) by - default. - - The return status when listing options is zero if all OPTNAMEs are - enabled, non-zero otherwise. When setting or unsetting options, - the return status is zero unless an OPTNAME is not a valid shell - option. - - The list of 'shopt' options is: - - 'assoc_expand_once' - If set, the shell suppresses multiple evaluation of - associative array subscripts during arithmetic expression - evaluation, while executing builtins that can perform variable - assignments, and while executing builtins that perform array - dereferencing. - - 'autocd' - If set, a command name that is the name of a directory is - executed as if it were the argument to the 'cd' command. This - option is only used by interactive shells. - - 'cdable_vars' - If this is set, an argument to the 'cd' builtin command that - is not a directory is assumed to be the name of a variable - whose value is the directory to change to. - - 'cdspell' - If set, minor errors in the spelling of a directory component - in a 'cd' command will be corrected. The errors checked for - are transposed characters, a missing character, and a - character too many. If a correction is found, the corrected - path is printed, and the command proceeds. This option is - only used by interactive shells. - - 'checkhash' - If this is set, Bash checks that a command found in the hash - table exists before trying to execute it. If a hashed command - no longer exists, a normal path search is performed. - - 'checkjobs' - If set, Bash lists the status of any stopped and running jobs - before exiting an interactive shell. If any jobs are running, - this causes the exit to be deferred until a second exit is - attempted without an intervening command (*note Job - Control::). The shell always postpones exiting if any jobs - are stopped. - - 'checkwinsize' - If set, Bash checks the window size after each external - (non-builtin) command and, if necessary, updates the values of - 'LINES' and 'COLUMNS'. This option is enabled by default. - - 'cmdhist' - If set, Bash attempts to save all lines of a multiple-line - command in the same history entry. This allows easy - re-editing of multi-line commands. This option is enabled by - default, but only has an effect if command history is enabled - (*note Bash History Facilities::). - - 'compat31' - 'compat32' - 'compat40' - 'compat41' - 'compat42' - 'compat43' - 'compat44' - These control aspects of the shell's compatibility mode (*note - Shell Compatibility Mode::). - - 'complete_fullquote' - If set, Bash quotes all shell metacharacters in filenames and - directory names when performing completion. If not set, Bash - removes metacharacters such as the dollar sign from the set of - characters that will be quoted in completed filenames when - these metacharacters appear in shell variable references in - words to be completed. This means that dollar signs in - variable names that expand to directories will not be quoted; - however, any dollar signs appearing in filenames will not be - quoted, either. This is active only when bash is using - backslashes to quote completed filenames. This variable is - set by default, which is the default Bash behavior in versions - through 4.2. - - 'direxpand' - If set, Bash replaces directory names with the results of word - expansion when performing filename completion. This changes - the contents of the Readline editing buffer. If not set, Bash - attempts to preserve what the user typed. - - 'dirspell' - If set, Bash attempts spelling correction on directory names - during word completion if the directory name initially - supplied does not exist. - - 'dotglob' - If set, Bash includes filenames beginning with a '.' in the - results of filename expansion. The filenames '.' and '..' - must always be matched explicitly, even if 'dotglob' is set. - - 'execfail' - If this is set, a non-interactive shell will not exit if it - cannot execute the file specified as an argument to the 'exec' - builtin command. An interactive shell does not exit if 'exec' - fails. - - 'expand_aliases' - If set, aliases are expanded as described below under Aliases, - *note Aliases::. This option is enabled by default for - interactive shells. - - 'extdebug' - If set at shell invocation, or in a shell startup file, - arrange to execute the debugger profile before the shell - starts, identical to the '--debugger' option. If set after - invocation, behavior intended for use by debuggers is enabled: - - 1. The '-F' option to the 'declare' builtin (*note Bash - Builtins::) displays the source file name and line number - corresponding to each function name supplied as an - argument. - - 2. If the command run by the 'DEBUG' trap returns a non-zero - value, the next command is skipped and not executed. - - 3. If the command run by the 'DEBUG' trap returns a value of - 2, and the shell is executing in a subroutine (a shell - function or a shell script executed by the '.' or - 'source' builtins), the shell simulates a call to - 'return'. - - 4. 'BASH_ARGC' and 'BASH_ARGV' are updated as described in - their descriptions (*note Bash Variables::). - - 5. Function tracing is enabled: command substitution, shell - functions, and subshells invoked with '( COMMAND )' - inherit the 'DEBUG' and 'RETURN' traps. - - 6. Error tracing is enabled: command substitution, shell - functions, and subshells invoked with '( COMMAND )' - inherit the 'ERR' trap. - - 'extglob' - If set, the extended pattern matching features described above - (*note Pattern Matching::) are enabled. - - 'extquote' - If set, '$'STRING'' and '$"STRING"' quoting is performed - within '${PARAMETER}' expansions enclosed in double quotes. - This option is enabled by default. - - 'failglob' - If set, patterns which fail to match filenames during filename - expansion result in an expansion error. - - 'force_fignore' - If set, the suffixes specified by the 'FIGNORE' shell variable - cause words to be ignored when performing word completion even - if the ignored words are the only possible completions. *Note - Bash Variables::, for a description of 'FIGNORE'. This option - is enabled by default. - - 'globasciiranges' - If set, range expressions used in pattern matching bracket - expressions (*note Pattern Matching::) behave as if in the - traditional C locale when performing comparisons. That is, - the current locale's collating sequence is not taken into - account, so 'b' will not collate between 'A' and 'B', and - upper-case and lower-case ASCII characters will collate - together. - - 'globskipdots' - If set, filename expansion will never match the filenames '.' - and '..', even if the pattern begins with a '.'. This option - is enabled by default. - - 'globstar' - If set, the pattern '**' used in a filename expansion context - will match all files and zero or more directories and - subdirectories. If the pattern is followed by a '/', only - directories and subdirectories match. - - 'gnu_errfmt' - If set, shell error messages are written in the standard GNU - error message format. - - 'histappend' - If set, the history list is appended to the file named by the - value of the 'HISTFILE' variable when the shell exits, rather - than overwriting the file. - - 'histreedit' - If set, and Readline is being used, a user is given the - opportunity to re-edit a failed history substitution. - - 'histverify' - If set, and Readline is being used, the results of history - substitution are not immediately passed to the shell parser. - Instead, the resulting line is loaded into the Readline - editing buffer, allowing further modification. - - 'hostcomplete' - If set, and Readline is being used, Bash will attempt to - perform hostname completion when a word containing a '@' is - being completed (*note Commands For Completion::). This - option is enabled by default. - - 'huponexit' - If set, Bash will send 'SIGHUP' to all jobs when an - interactive login shell exits (*note Signals::). - - 'inherit_errexit' - If set, command substitution inherits the value of the - 'errexit' option, instead of unsetting it in the subshell - environment. This option is enabled when POSIX mode is - enabled. - - 'interactive_comments' - Allow a word beginning with '#' to cause that word and all - remaining characters on that line to be ignored in an - interactive shell. This option is enabled by default. - - 'lastpipe' - If set, and job control is not active, the shell runs the last - command of a pipeline not executed in the background in the - current shell environment. - - 'lithist' - If enabled, and the 'cmdhist' option is enabled, multi-line - commands are saved to the history with embedded newlines - rather than using semicolon separators where possible. - - 'localvar_inherit' - If set, local variables inherit the value and attributes of a - variable of the same name that exists at a previous scope - before any new value is assigned. The 'nameref' attribute is - not inherited. - - 'localvar_unset' - If set, calling 'unset' on local variables in previous - function scopes marks them so subsequent lookups find them - unset until that function returns. This is identical to the - behavior of unsetting local variables at the current function - scope. - - 'login_shell' - The shell sets this option if it is started as a login shell - (*note Invoking Bash::). The value may not be changed. - - 'mailwarn' - If set, and a file that Bash is checking for mail has been - accessed since the last time it was checked, the message '"The - mail in MAILFILE has been read"' is displayed. - - 'no_empty_cmd_completion' - If set, and Readline is being used, Bash will not attempt to - search the 'PATH' for possible completions when completion is - attempted on an empty line. - - 'nocaseglob' - If set, Bash matches filenames in a case-insensitive fashion - when performing filename expansion. - - 'nocasematch' - If set, Bash matches patterns in a case-insensitive fashion - when performing matching while executing 'case' or '[[' - conditional commands (*note Conditional Constructs::, when - performing pattern substitution word expansions, or when - filtering possible completions as part of programmable - completion. - - 'noexpand_translation' - If set, Bash encloses the translated results of $"..." - quoting in single quotes instead of double quotes. If the - string is not translated, this has no effect. - - 'nullglob' - If set, Bash allows filename patterns which match no files to - expand to a null string, rather than themselves. - - 'patsub_replacement' - If set, Bash expands occurrences of '&' in the replacement - string of pattern substitution to the text matched by the - pattern, as described above (*note Shell Parameter - Expansion::). This option is enabled by default. - - 'progcomp' - If set, the programmable completion facilities (*note - Programmable Completion::) are enabled. This option is - enabled by default. - - 'progcomp_alias' - If set, and programmable completion is enabled, Bash treats a - command name that doesn't have any completions as a possible - alias and attempts alias expansion. If it has an alias, Bash - attempts programmable completion using the command word - resulting from the expanded alias. - - 'promptvars' - If set, prompt strings undergo parameter expansion, command - substitution, arithmetic expansion, and quote removal after - being expanded as described below (*note Controlling the - Prompt::). This option is enabled by default. - - 'restricted_shell' - The shell sets this option if it is started in restricted mode - (*note The Restricted Shell::). The value may not be changed. - This is not reset when the startup files are executed, - allowing the startup files to discover whether or not a shell - is restricted. - - 'shift_verbose' - If this is set, the 'shift' builtin prints an error message - when the shift count exceeds the number of positional - parameters. - - 'sourcepath' - If set, the '.' ('source') builtin uses the value of 'PATH' to - find the directory containing the file supplied as an - argument. This option is enabled by default. - - 'varredir_close' - If set, the shell automatically closes file descriptors - assigned using the '{varname}' redirection syntax (*note - Redirections::) instead of leaving them open when the command - completes. - - 'xpg_echo' - If set, the 'echo' builtin expands backslash-escape sequences - by default. - - -File: bash.info, Node: Special Builtins, Prev: Modifying Shell Behavior, Up: Shell Builtin Commands - -4.4 Special Builtins -==================== - -For historical reasons, the POSIX standard has classified several -builtin commands as _special_. When Bash is executing in POSIX mode, -the special builtins differ from other builtin commands in three -respects: - - 1. Special builtins are found before shell functions during command - lookup. - - 2. If a special builtin returns an error status, a non-interactive - shell exits. - - 3. Assignment statements preceding the command stay in effect in the - shell environment after the command completes. - - When Bash is not executing in POSIX mode, these builtins behave no -differently than the rest of the Bash builtin commands. The Bash POSIX -mode is described in *note Bash POSIX Mode::. - - These are the POSIX special builtins: - break : . continue eval exec exit export readonly return set - shift trap unset - - -File: bash.info, Node: Shell Variables, Next: Bash Features, Prev: Shell Builtin Commands, Up: Top - -5 Shell Variables -***************** - -* Menu: - -* Bourne Shell Variables:: Variables which Bash uses in the same way - as the Bourne Shell. -* Bash Variables:: List of variables that exist in Bash. - -This chapter describes the shell variables that Bash uses. Bash -automatically assigns default values to a number of variables. - - -File: bash.info, Node: Bourne Shell Variables, Next: Bash Variables, Up: Shell Variables - -5.1 Bourne Shell Variables -========================== - -Bash uses certain shell variables in the same way as the Bourne shell. -In some cases, Bash assigns a default value to the variable. - -'CDPATH' - A colon-separated list of directories used as a search path for the - 'cd' builtin command. - -'HOME' - The current user's home directory; the default for the 'cd' builtin - command. The value of this variable is also used by tilde - expansion (*note Tilde Expansion::). - -'IFS' - A list of characters that separate fields; used when the shell - splits words as part of expansion. - -'MAIL' - If this parameter is set to a filename or directory name and the - 'MAILPATH' variable is not set, Bash informs the user of the - arrival of mail in the specified file or Maildir-format directory. - -'MAILPATH' - A colon-separated list of filenames which the shell periodically - checks for new mail. Each list entry can specify the message that - is printed when new mail arrives in the mail file by separating the - filename from the message with a '?'. When used in the text of the - message, '$_' expands to the name of the current mail file. - -'OPTARG' - The value of the last option argument processed by the 'getopts' - builtin. - -'OPTIND' - The index of the last option argument processed by the 'getopts' - builtin. - -'PATH' - A colon-separated list of directories in which the shell looks for - commands. A zero-length (null) directory name in the value of - 'PATH' indicates the current directory. A null directory name may - appear as two adjacent colons, or as an initial or trailing colon. - -'PS1' - The primary prompt string. The default value is '\s-\v\$ '. *Note - Controlling the Prompt::, for the complete list of escape sequences - that are expanded before 'PS1' is displayed. - -'PS2' - The secondary prompt string. The default value is '> '. 'PS2' is - expanded in the same way as 'PS1' before being displayed. - - -File: bash.info, Node: Bash Variables, Prev: Bourne Shell Variables, Up: Shell Variables - -5.2 Bash Variables -================== - -These variables are set or used by Bash, but other shells do not -normally treat them specially. - - A few variables used by Bash are described in different chapters: -variables for controlling the job control facilities (*note Job Control -Variables::). - -'_' - ($_, an underscore.) At shell startup, set to the pathname used to - invoke the shell or shell script being executed as passed in the - environment or argument list. Subsequently, expands to the last - argument to the previous simple command executed in the foreground, - after expansion. Also set to the full pathname used to invoke each - command executed and placed in the environment exported to that - command. When checking mail, this parameter holds the name of the - mail file. - -'BASH' - The full pathname used to execute the current instance of Bash. - -'BASHOPTS' - A colon-separated list of enabled shell options. Each word in the - list is a valid argument for the '-s' option to the 'shopt' builtin - command (*note The Shopt Builtin::). The options appearing in - 'BASHOPTS' are those reported as 'on' by 'shopt'. If this variable - is in the environment when Bash starts up, each shell option in the - list will be enabled before reading any startup files. This - variable is readonly. - -'BASHPID' - Expands to the process ID of the current Bash process. This - differs from '$$' under certain circumstances, such as subshells - that do not require Bash to be re-initialized. Assignments to - 'BASHPID' have no effect. If 'BASHPID' is unset, it loses its - special properties, even if it is subsequently reset. - -'BASH_ALIASES' - An associative array variable whose members correspond to the - internal list of aliases as maintained by the 'alias' builtin. - (*note Bourne Shell Builtins::). Elements added to this array - appear in the alias list; however, unsetting array elements - currently does not cause aliases to be removed from the alias list. - If 'BASH_ALIASES' is unset, it loses its special properties, even - if it is subsequently reset. - -'BASH_ARGC' - An array variable whose values are the number of parameters in each - frame of the current bash execution call stack. The number of - parameters to the current subroutine (shell function or script - executed with '.' or 'source') is at the top of the stack. When a - subroutine is executed, the number of parameters passed is pushed - onto 'BASH_ARGC'. The shell sets 'BASH_ARGC' only when in extended - debugging mode (see *note The Shopt Builtin:: for a description of - the 'extdebug' option to the 'shopt' builtin). Setting 'extdebug' - after the shell has started to execute a script, or referencing - this variable when 'extdebug' is not set, may result in - inconsistent values. - -'BASH_ARGV' - An array variable containing all of the parameters in the current - bash execution call stack. The final parameter of the last - subroutine call is at the top of the stack; the first parameter of - the initial call is at the bottom. When a subroutine is executed, - the parameters supplied are pushed onto 'BASH_ARGV'. The shell - sets 'BASH_ARGV' only when in extended debugging mode (see *note - The Shopt Builtin:: for a description of the 'extdebug' option to - the 'shopt' builtin). Setting 'extdebug' after the shell has - started to execute a script, or referencing this variable when - 'extdebug' is not set, may result in inconsistent values. - -'BASH_ARGV0' - When referenced, this variable expands to the name of the shell or - shell script (identical to '$0'; *Note Special Parameters::, for - the description of special parameter 0). Assignment to - 'BASH_ARGV0' causes the value assigned to also be assigned to '$0'. - If 'BASH_ARGV0' is unset, it loses its special properties, even if - it is subsequently reset. - -'BASH_CMDS' - An associative array variable whose members correspond to the - internal hash table of commands as maintained by the 'hash' builtin - (*note Bourne Shell Builtins::). Elements added to this array - appear in the hash table; however, unsetting array elements - currently does not cause command names to be removed from the hash - table. If 'BASH_CMDS' is unset, it loses its special properties, - even if it is subsequently reset. - -'BASH_COMMAND' - The command currently being executed or about to be executed, - unless the shell is executing a command as the result of a trap, in - which case it is the command executing at the time of the trap. If - 'BASH_COMMAND' is unset, it loses its special properties, even if - it is subsequently reset. - -'BASH_COMPAT' - The value is used to set the shell's compatibility level. *Note - Shell Compatibility Mode::, for a description of the various - compatibility levels and their effects. The value may be a decimal - number (e.g., 4.2) or an integer (e.g., 42) corresponding to the - desired compatibility level. If 'BASH_COMPAT' is unset or set to - the empty string, the compatibility level is set to the default for - the current version. If 'BASH_COMPAT' is set to a value that is - not one of the valid compatibility levels, the shell prints an - error message and sets the compatibility level to the default for - the current version. The valid values correspond to the - compatibility levels described below (*note Shell Compatibility - Mode::). For example, 4.2 and 42 are valid values that correspond - to the 'compat42' 'shopt' option and set the compatibility level to - 42. The current version is also a valid value. - -'BASH_ENV' - If this variable is set when Bash is invoked to execute a shell - script, its value is expanded and used as the name of a startup - file to read before executing the script. *Note Bash Startup - Files::. - -'BASH_EXECUTION_STRING' - The command argument to the '-c' invocation option. - -'BASH_LINENO' - An array variable whose members are the line numbers in source - files where each corresponding member of 'FUNCNAME' was invoked. - '${BASH_LINENO[$i]}' is the line number in the source file - ('${BASH_SOURCE[$i+1]}') where '${FUNCNAME[$i]}' was called (or - '${BASH_LINENO[$i-1]}' if referenced within another shell - function). Use 'LINENO' to obtain the current line number. - -'BASH_LOADABLES_PATH' - A colon-separated list of directories in which the shell looks for - dynamically loadable builtins specified by the 'enable' command. - -'BASH_REMATCH' - An array variable whose members are assigned by the '=~' binary - operator to the '[[' conditional command (*note Conditional - Constructs::). The element with index 0 is the portion of the - string matching the entire regular expression. The element with - index N is the portion of the string matching the Nth parenthesized - subexpression. - -'BASH_SOURCE' - An array variable whose members are the source filenames where the - corresponding shell function names in the 'FUNCNAME' array variable - are defined. The shell function '${FUNCNAME[$i]}' is defined in - the file '${BASH_SOURCE[$i]}' and called from - '${BASH_SOURCE[$i+1]}' - -'BASH_SUBSHELL' - Incremented by one within each subshell or subshell environment - when the shell begins executing in that environment. The initial - value is 0. If 'BASH_SUBSHELL' is unset, it loses its special - properties, even if it is subsequently reset. - -'BASH_VERSINFO' - A readonly array variable (*note Arrays::) whose members hold - version information for this instance of Bash. The values assigned - to the array members are as follows: - - 'BASH_VERSINFO[0]' - The major version number (the "release"). - - 'BASH_VERSINFO[1]' - The minor version number (the "version"). - - 'BASH_VERSINFO[2]' - The patch level. - - 'BASH_VERSINFO[3]' - The build version. - - 'BASH_VERSINFO[4]' - The release status (e.g., 'beta1'). - - 'BASH_VERSINFO[5]' - The value of 'MACHTYPE'. - -'BASH_VERSION' - The version number of the current instance of Bash. - -'BASH_XTRACEFD' - If set to an integer corresponding to a valid file descriptor, Bash - will write the trace output generated when 'set -x' is enabled to - that file descriptor. This allows tracing output to be separated - from diagnostic and error messages. The file descriptor is closed - when 'BASH_XTRACEFD' is unset or assigned a new value. Unsetting - 'BASH_XTRACEFD' or assigning it the empty string causes the trace - output to be sent to the standard error. Note that setting - 'BASH_XTRACEFD' to 2 (the standard error file descriptor) and then - unsetting it will result in the standard error being closed. - -'CHILD_MAX' - Set the number of exited child status values for the shell to - remember. Bash will not allow this value to be decreased below a - POSIX-mandated minimum, and there is a maximum value (currently - 8192) that this may not exceed. The minimum value is - system-dependent. - -'COLUMNS' - Used by the 'select' command to determine the terminal width when - printing selection lists. Automatically set if the 'checkwinsize' - option is enabled (*note The Shopt Builtin::), or in an interactive - shell upon receipt of a 'SIGWINCH'. - -'COMP_CWORD' - An index into '${COMP_WORDS}' of the word containing the current - cursor position. This variable is available only in shell - functions invoked by the programmable completion facilities (*note - Programmable Completion::). - -'COMP_LINE' - The current command line. This variable is available only in shell - functions and external commands invoked by the programmable - completion facilities (*note Programmable Completion::). - -'COMP_POINT' - The index of the current cursor position relative to the beginning - of the current command. If the current cursor position is at the - end of the current command, the value of this variable is equal to - '${#COMP_LINE}'. This variable is available only in shell - functions and external commands invoked by the programmable - completion facilities (*note Programmable Completion::). - -'COMP_TYPE' - Set to an integer value corresponding to the type of completion - attempted that caused a completion function to be called: <TAB>, - for normal completion, '?', for listing completions after - successive tabs, '!', for listing alternatives on partial word - completion, '@', to list completions if the word is not unmodified, - or '%', for menu completion. This variable is available only in - shell functions and external commands invoked by the programmable - completion facilities (*note Programmable Completion::). - -'COMP_KEY' - The key (or final key of a key sequence) used to invoke the current - completion function. - -'COMP_WORDBREAKS' - The set of characters that the Readline library treats as word - separators when performing word completion. If 'COMP_WORDBREAKS' - is unset, it loses its special properties, even if it is - subsequently reset. - -'COMP_WORDS' - An array variable consisting of the individual words in the current - command line. The line is split into words as Readline would split - it, using 'COMP_WORDBREAKS' as described above. This variable is - available only in shell functions invoked by the programmable - completion facilities (*note Programmable Completion::). - -'COMPREPLY' - An array variable from which Bash reads the possible completions - generated by a shell function invoked by the programmable - completion facility (*note Programmable Completion::). Each array - element contains one possible completion. - -'COPROC' - An array variable created to hold the file descriptors for output - from and input to an unnamed coprocess (*note Coprocesses::). - -'DIRSTACK' - An array variable containing the current contents of the directory - stack. Directories appear in the stack in the order they are - displayed by the 'dirs' builtin. Assigning to members of this - array variable may be used to modify directories already in the - stack, but the 'pushd' and 'popd' builtins must be used to add and - remove directories. Assignment to this variable will not change - the current directory. If 'DIRSTACK' is unset, it loses its - special properties, even if it is subsequently reset. - -'EMACS' - If Bash finds this variable in the environment when the shell - starts with value 't', it assumes that the shell is running in an - Emacs shell buffer and disables line editing. - -'ENV' - Expanded and executed similarly to 'BASH_ENV' (*note Bash Startup - Files::) when an interactive shell is invoked in POSIX Mode (*note - Bash POSIX Mode::). - -'EPOCHREALTIME' - Each time this parameter is referenced, it expands to the number of - seconds since the Unix Epoch as a floating point value with - micro-second granularity (see the documentation for the C library - function 'time' for the definition of Epoch). Assignments to - 'EPOCHREALTIME' are ignored. If 'EPOCHREALTIME' is unset, it loses - its special properties, even if it is subsequently reset. - -'EPOCHSECONDS' - Each time this parameter is referenced, it expands to the number of - seconds since the Unix Epoch (see the documentation for the C - library function 'time' for the definition of Epoch). Assignments - to 'EPOCHSECONDS' are ignored. If 'EPOCHSECONDS' is unset, it - loses its special properties, even if it is subsequently reset. - -'EUID' - The numeric effective user id of the current user. This variable - is readonly. - -'EXECIGNORE' - A colon-separated list of shell patterns (*note Pattern Matching::) - defining the list of filenames to be ignored by command search - using 'PATH'. Files whose full pathnames match one of these - patterns are not considered executable files for the purposes of - completion and command execution via 'PATH' lookup. This does not - affect the behavior of the '[', 'test', and '[[' commands. Full - pathnames in the command hash table are not subject to - 'EXECIGNORE'. Use this variable to ignore shared library files - that have the executable bit set, but are not executable files. - The pattern matching honors the setting of the 'extglob' shell - option. - -'FCEDIT' - The editor used as a default by the '-e' option to the 'fc' builtin - command. - -'FIGNORE' - A colon-separated list of suffixes to ignore when performing - filename completion. A filename whose suffix matches one of the - entries in 'FIGNORE' is excluded from the list of matched - filenames. A sample value is '.o:~' - -'FUNCNAME' - An array variable containing the names of all shell functions - currently in the execution call stack. The element with index 0 is - the name of any currently-executing shell function. The - bottom-most element (the one with the highest index) is '"main"'. - This variable exists only when a shell function is executing. - Assignments to 'FUNCNAME' have no effect. If 'FUNCNAME' is unset, - it loses its special properties, even if it is subsequently reset. - - This variable can be used with 'BASH_LINENO' and 'BASH_SOURCE'. - Each element of 'FUNCNAME' has corresponding elements in - 'BASH_LINENO' and 'BASH_SOURCE' to describe the call stack. For - instance, '${FUNCNAME[$i]}' was called from the file - '${BASH_SOURCE[$i+1]}' at line number '${BASH_LINENO[$i]}'. The - 'caller' builtin displays the current call stack using this - information. - -'FUNCNEST' - If set to a numeric value greater than 0, defines a maximum - function nesting level. Function invocations that exceed this - nesting level will cause the current command to abort. - -'GLOBIGNORE' - A colon-separated list of patterns defining the set of file names - to be ignored by filename expansion. If a file name matched by a - filename expansion pattern also matches one of the patterns in - 'GLOBIGNORE', it is removed from the list of matches. The pattern - matching honors the setting of the 'extglob' shell option. - -'GROUPS' - An array variable containing the list of groups of which the - current user is a member. Assignments to 'GROUPS' have no effect. - If 'GROUPS' is unset, it loses its special properties, even if it - is subsequently reset. - -'histchars' - Up to three characters which control history expansion, quick - substitution, and tokenization (*note History Interaction::). The - first character is the "history expansion" character, that is, the - character which signifies the start of a history expansion, - normally '!'. The second character is the character which - signifies 'quick substitution' when seen as the first character on - a line, normally '^'. The optional third character is the - character which indicates that the remainder of the line is a - comment when found as the first character of a word, usually '#'. - The history comment character causes history substitution to be - skipped for the remaining words on the line. It does not - necessarily cause the shell parser to treat the rest of the line as - a comment. - -'HISTCMD' - The history number, or index in the history list, of the current - command. Assignments to 'HISTCMD' are ignored. If 'HISTCMD' is - unset, it loses its special properties, even if it is subsequently - reset. - -'HISTCONTROL' - A colon-separated list of values controlling how commands are saved - on the history list. If the list of values includes 'ignorespace', - lines which begin with a space character are not saved in the - history list. A value of 'ignoredups' causes lines which match the - previous history entry to not be saved. A value of 'ignoreboth' is - shorthand for 'ignorespace' and 'ignoredups'. A value of - 'erasedups' causes all previous lines matching the current line to - be removed from the history list before that line is saved. Any - value not in the above list is ignored. If 'HISTCONTROL' is unset, - or does not include a valid value, all lines read by the shell - parser are saved on the history list, subject to the value of - 'HISTIGNORE'. The second and subsequent lines of a multi-line - compound command are not tested, and are added to the history - regardless of the value of 'HISTCONTROL'. - -'HISTFILE' - The name of the file to which the command history is saved. The - default value is '~/.bash_history'. - -'HISTFILESIZE' - The maximum number of lines contained in the history file. When - this variable is assigned a value, the history file is truncated, - if necessary, to contain no more than that number of lines by - removing the oldest entries. The history file is also truncated to - this size after writing it when a shell exits. If the value is 0, - the history file is truncated to zero size. Non-numeric values and - numeric values less than zero inhibit truncation. The shell sets - the default value to the value of 'HISTSIZE' after reading any - startup files. - -'HISTIGNORE' - A colon-separated list of patterns used to decide which command - lines should be saved on the history list. Each pattern is - anchored at the beginning of the line and must match the complete - line (no implicit '*' is appended). Each pattern is tested against - the line after the checks specified by 'HISTCONTROL' are applied. - In addition to the normal shell pattern matching characters, '&' - matches the previous history line. '&' may be escaped using a - backslash; the backslash is removed before attempting a match. The - second and subsequent lines of a multi-line compound command are - not tested, and are added to the history regardless of the value of - 'HISTIGNORE'. The pattern matching honors the setting of the - 'extglob' shell option. - - 'HISTIGNORE' subsumes the function of 'HISTCONTROL'. A pattern of - '&' is identical to 'ignoredups', and a pattern of '[ ]*' is - identical to 'ignorespace'. Combining these two patterns, - separating them with a colon, provides the functionality of - 'ignoreboth'. - -'HISTSIZE' - The maximum number of commands to remember on the history list. If - the value is 0, commands are not saved in the history list. - Numeric values less than zero result in every command being saved - on the history list (there is no limit). The shell sets the - default value to 500 after reading any startup files. - -'HISTTIMEFORMAT' - If this variable is set and not null, its value is used as a format - string for 'strftime' to print the time stamp associated with each - history entry displayed by the 'history' builtin. If this variable - is set, time stamps are written to the history file so they may be - preserved across shell sessions. This uses the history comment - character to distinguish timestamps from other history lines. - -'HOSTFILE' - Contains the name of a file in the same format as '/etc/hosts' that - should be read when the shell needs to complete a hostname. The - list of possible hostname completions may be changed while the - shell is running; the next time hostname completion is attempted - after the value is changed, Bash adds the contents of the new file - to the existing list. If 'HOSTFILE' is set, but has no value, or - does not name a readable file, Bash attempts to read '/etc/hosts' - to obtain the list of possible hostname completions. When - 'HOSTFILE' is unset, the hostname list is cleared. - -'HOSTNAME' - The name of the current host. - -'HOSTTYPE' - A string describing the machine Bash is running on. - -'IGNOREEOF' - Controls the action of the shell on receipt of an 'EOF' character - as the sole input. If set, the value denotes the number of - consecutive 'EOF' characters that can be read as the first - character on an input line before the shell will exit. If the - variable exists but does not have a numeric value, or has no value, - then the default is 10. If the variable does not exist, then 'EOF' - signifies the end of input to the shell. This is only in effect - for interactive shells. - -'INPUTRC' - The name of the Readline initialization file, overriding the - default of '~/.inputrc'. - -'INSIDE_EMACS' - If Bash finds this variable in the environment when the shell - starts, it assumes that the shell is running in an Emacs shell - buffer and may disable line editing depending on the value of - 'TERM'. - -'LANG' - Used to determine the locale category for any category not - specifically selected with a variable starting with 'LC_'. - -'LC_ALL' - This variable overrides the value of 'LANG' and any other 'LC_' - variable specifying a locale category. - -'LC_COLLATE' - This variable determines the collation order used when sorting the - results of filename expansion, and determines the behavior of range - expressions, equivalence classes, and collating sequences within - filename expansion and pattern matching (*note Filename - Expansion::). - -'LC_CTYPE' - This variable determines the interpretation of characters and the - behavior of character classes within filename expansion and pattern - matching (*note Filename Expansion::). - -'LC_MESSAGES' - This variable determines the locale used to translate double-quoted - strings preceded by a '$' (*note Locale Translation::). - -'LC_NUMERIC' - This variable determines the locale category used for number - formatting. - -'LC_TIME' - This variable determines the locale category used for data and time - formatting. - -'LINENO' - The line number in the script or shell function currently - executing. If 'LINENO' is unset, it loses its special properties, - even if it is subsequently reset. - -'LINES' - Used by the 'select' command to determine the column length for - printing selection lists. Automatically set if the 'checkwinsize' - option is enabled (*note The Shopt Builtin::), or in an interactive - shell upon receipt of a 'SIGWINCH'. - -'MACHTYPE' - A string that fully describes the system type on which Bash is - executing, in the standard GNU CPU-COMPANY-SYSTEM format. - -'MAILCHECK' - How often (in seconds) that the shell should check for mail in the - files specified in the 'MAILPATH' or 'MAIL' variables. The default - is 60 seconds. When it is time to check for mail, the shell does - so before displaying the primary prompt. If this variable is - unset, or set to a value that is not a number greater than or equal - to zero, the shell disables mail checking. - -'MAPFILE' - An array variable created to hold the text read by the 'mapfile' - builtin when no variable name is supplied. - -'OLDPWD' - The previous working directory as set by the 'cd' builtin. - -'OPTERR' - If set to the value 1, Bash displays error messages generated by - the 'getopts' builtin command. - -'OSTYPE' - A string describing the operating system Bash is running on. - -'PIPESTATUS' - An array variable (*note Arrays::) containing a list of exit status - values from the processes in the most-recently-executed foreground - pipeline (which may contain only a single command). - -'POSIXLY_CORRECT' - If this variable is in the environment when Bash starts, the shell - enters POSIX mode (*note Bash POSIX Mode::) before reading the - startup files, as if the '--posix' invocation option had been - supplied. If it is set while the shell is running, Bash enables - POSIX mode, as if the command - set -o posix - had been executed. When the shell enters POSIX mode, it sets this - variable if it was not already set. - -'PPID' - The process ID of the shell's parent process. This variable is - readonly. - -'PROMPT_COMMAND' - If this variable is set, and is an array, the value of each set - element is interpreted as a command to execute before printing the - primary prompt ('$PS1'). If this is set but not an array variable, - its value is used as a command to execute instead. - -'PROMPT_DIRTRIM' - If set to a number greater than zero, the value is used as the - number of trailing directory components to retain when expanding - the '\w' and '\W' prompt string escapes (*note Controlling the - Prompt::). Characters removed are replaced with an ellipsis. - -'PS0' - The value of this parameter is expanded like 'PS1' and displayed by - interactive shells after reading a command and before the command - is executed. - -'PS3' - The value of this variable is used as the prompt for the 'select' - command. If this variable is not set, the 'select' command prompts - with '#? ' - -'PS4' - The value of this parameter is expanded like 'PS1' and the expanded - value is the prompt printed before the command line is echoed when - the '-x' option is set (*note The Set Builtin::). The first - character of the expanded value is replicated multiple times, as - necessary, to indicate multiple levels of indirection. The default - is '+ '. - -'PWD' - The current working directory as set by the 'cd' builtin. - -'RANDOM' - Each time this parameter is referenced, it expands to a random - integer between 0 and 32767. Assigning a value to this variable - seeds the random number generator. If 'RANDOM' is unset, it loses - its special properties, even if it is subsequently reset. - -'READLINE_ARGUMENT' - Any numeric argument given to a Readline command that was defined - using 'bind -x' (*note Bash Builtins:: when it was invoked. - -'READLINE_LINE' - The contents of the Readline line buffer, for use with 'bind -x' - (*note Bash Builtins::). - -'READLINE_MARK' - The position of the "mark" (saved insertion point) in the Readline - line buffer, for use with 'bind -x' (*note Bash Builtins::). The - characters between the insertion point and the mark are often - called the "region". - -'READLINE_POINT' - The position of the insertion point in the Readline line buffer, - for use with 'bind -x' (*note Bash Builtins::). - -'REPLY' - The default variable for the 'read' builtin. - -'SECONDS' - This variable expands to the number of seconds since the shell was - started. Assignment to this variable resets the count to the value - assigned, and the expanded value becomes the value assigned plus - the number of seconds since the assignment. The number of seconds - at shell invocation and the current time are always determined by - querying the system clock. If 'SECONDS' is unset, it loses its - special properties, even if it is subsequently reset. - -'SHELL' - This environment variable expands to the full pathname to the - shell. If it is not set when the shell starts, Bash assigns to it - the full pathname of the current user's login shell. - -'SHELLOPTS' - A colon-separated list of enabled shell options. Each word in the - list is a valid argument for the '-o' option to the 'set' builtin - command (*note The Set Builtin::). The options appearing in - 'SHELLOPTS' are those reported as 'on' by 'set -o'. If this - variable is in the environment when Bash starts up, each shell - option in the list will be enabled before reading any startup - files. This variable is readonly. - -'SHLVL' - Incremented by one each time a new instance of Bash is started. - This is intended to be a count of how deeply your Bash shells are - nested. - -'SRANDOM' - This variable expands to a 32-bit pseudo-random number each time it - is referenced. The random number generator is not linear on - systems that support '/dev/urandom' or 'arc4random', so each - returned number has no relationship to the numbers preceding it. - The random number generator cannot be seeded, so assignments to - this variable have no effect. If 'SRANDOM' is unset, it loses its - special properties, even if it is subsequently reset. - -'TIMEFORMAT' - The value of this parameter is used as a format string specifying - how the timing information for pipelines prefixed with the 'time' - reserved word should be displayed. The '%' character introduces an - escape sequence that is expanded to a time value or other - information. The escape sequences and their meanings are as - follows; the braces denote optional portions. - - '%%' - A literal '%'. - - '%[P][l]R' - The elapsed time in seconds. - - '%[P][l]U' - The number of CPU seconds spent in user mode. - - '%[P][l]S' - The number of CPU seconds spent in system mode. - - '%P' - The CPU percentage, computed as (%U + %S) / %R. - - The optional P is a digit specifying the precision, the number of - fractional digits after a decimal point. A value of 0 causes no - decimal point or fraction to be output. At most three places after - the decimal point may be specified; values of P greater than 3 are - changed to 3. If P is not specified, the value 3 is used. - - The optional 'l' specifies a longer format, including minutes, of - the form MMmSS.FFs. The value of P determines whether or not the - fraction is included. - - If this variable is not set, Bash acts as if it had the value - $'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS' - If the value is null, no timing information is displayed. A - trailing newline is added when the format string is displayed. - -'TMOUT' - If set to a value greater than zero, 'TMOUT' is treated as the - default timeout for the 'read' builtin (*note Bash Builtins::). - The 'select' command (*note Conditional Constructs::) terminates if - input does not arrive after 'TMOUT' seconds when input is coming - from a terminal. - - In an interactive shell, the value is interpreted as the number of - seconds to wait for a line of input after issuing the primary - prompt. Bash terminates after waiting for that number of seconds - if a complete line of input does not arrive. - -'TMPDIR' - If set, Bash uses its value as the name of a directory in which - Bash creates temporary files for the shell's use. - -'UID' - The numeric real user id of the current user. This variable is - readonly. - - -File: bash.info, Node: Bash Features, Next: Job Control, Prev: Shell Variables, Up: Top - -6 Bash Features -*************** - -This chapter describes features unique to Bash. - -* Menu: - -* Invoking Bash:: Command line options that you can give - to Bash. -* Bash Startup Files:: When and how Bash executes scripts. -* Interactive Shells:: What an interactive shell is. -* Bash Conditional Expressions:: Primitives used in composing expressions for - the 'test' builtin. -* Shell Arithmetic:: Arithmetic on shell variables. -* Aliases:: Substituting one command for another. -* Arrays:: Array Variables. -* The Directory Stack:: History of visited directories. -* Controlling the Prompt:: Customizing the various prompt strings. -* The Restricted Shell:: A more controlled mode of shell execution. -* Bash POSIX Mode:: Making Bash behave more closely to what - the POSIX standard specifies. -* Shell Compatibility Mode:: How Bash supports behavior that was present - in earlier versions and has changed. - - -File: bash.info, Node: Invoking Bash, Next: Bash Startup Files, Up: Bash Features - -6.1 Invoking Bash -================= - - bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o OPTION] - [-O SHOPT_OPTION] [ARGUMENT ...] - bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION] - [-O SHOPT_OPTION] -c STRING [ARGUMENT ...] - bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION] - [-O SHOPT_OPTION] [ARGUMENT ...] - - All of the single-character options used with the 'set' builtin -(*note The Set Builtin::) can be used as options when the shell is -invoked. In addition, there are several multi-character options that -you can use. These options must appear on the command line before the -single-character options to be recognized. - -'--debugger' - Arrange for the debugger profile to be executed before the shell - starts. Turns on extended debugging mode (see *note The Shopt - Builtin:: for a description of the 'extdebug' option to the 'shopt' - builtin). - -'--dump-po-strings' - A list of all double-quoted strings preceded by '$' is printed on - the standard output in the GNU 'gettext' PO (portable object) file - format. Equivalent to '-D' except for the output format. - -'--dump-strings' - Equivalent to '-D'. - -'--help' - Display a usage message on standard output and exit successfully. - -'--init-file FILENAME' -'--rcfile FILENAME' - Execute commands from FILENAME (instead of '~/.bashrc') in an - interactive shell. - -'--login' - Equivalent to '-l'. - -'--noediting' - Do not use the GNU Readline library (*note Command Line Editing::) - to read command lines when the shell is interactive. - -'--noprofile' - Don't load the system-wide startup file '/etc/profile' or any of - the personal initialization files '~/.bash_profile', - '~/.bash_login', or '~/.profile' when Bash is invoked as a login - shell. - -'--norc' - Don't read the '~/.bashrc' initialization file in an interactive - shell. This is on by default if the shell is invoked as 'sh'. - -'--posix' - Change the behavior of Bash where the default operation differs - from the POSIX standard to match the standard. This is intended to - make Bash behave as a strict superset of that standard. *Note Bash - POSIX Mode::, for a description of the Bash POSIX mode. - -'--restricted' - Make the shell a restricted shell (*note The Restricted Shell::). - -'--verbose' - Equivalent to '-v'. Print shell input lines as they're read. - -'--version' - Show version information for this instance of Bash on the standard - output and exit successfully. - - There are several single-character options that may be supplied at -invocation which are not available with the 'set' builtin. - -'-c' - Read and execute commands from the first non-option argument - COMMAND_STRING, then exit. If there are arguments after the - COMMAND_STRING, the first argument is assigned to '$0' and any - remaining arguments are assigned to the positional parameters. The - assignment to '$0' sets the name of the shell, which is used in - warning and error messages. - -'-i' - Force the shell to run interactively. Interactive shells are - described in *note Interactive Shells::. - -'-l' - Make this shell act as if it had been directly invoked by login. - When the shell is interactive, this is equivalent to starting a - login shell with 'exec -l bash'. When the shell is not - interactive, the login shell startup files will be executed. 'exec - bash -l' or 'exec bash --login' will replace the current shell with - a Bash login shell. *Note Bash Startup Files::, for a description - of the special behavior of a login shell. - -'-r' - Make the shell a restricted shell (*note The Restricted Shell::). - -'-s' - If this option is present, or if no arguments remain after option - processing, then commands are read from the standard input. This - option allows the positional parameters to be set when invoking an - interactive shell or when reading input through a pipe. - -'-D' - A list of all double-quoted strings preceded by '$' is printed on - the standard output. These are the strings that are subject to - language translation when the current locale is not 'C' or 'POSIX' - (*note Locale Translation::). This implies the '-n' option; no - commands will be executed. - -'[-+]O [SHOPT_OPTION]' - SHOPT_OPTION is one of the shell options accepted by the 'shopt' - builtin (*note The Shopt Builtin::). If SHOPT_OPTION is present, - '-O' sets the value of that option; '+O' unsets it. If - SHOPT_OPTION is not supplied, the names and values of the shell - options accepted by 'shopt' are printed on the standard output. If - the invocation option is '+O', the output is displayed in a format - that may be reused as input. - -'--' - A '--' signals the end of options and disables further option - processing. Any arguments after the '--' are treated as filenames - and arguments. - - A _login_ shell is one whose first character of argument zero is '-', -or one invoked with the '--login' option. - - An _interactive_ shell is one started without non-option arguments, -unless '-s' is specified, without specifying the '-c' option, and whose -input and output are both connected to terminals (as determined by -'isatty(3)'), or one started with the '-i' option. *Note Interactive -Shells::, for more information. - - If arguments remain after option processing, and neither the '-c' nor -the '-s' option has been supplied, the first argument is assumed to be -the name of a file containing shell commands (*note Shell Scripts::). -When Bash is invoked in this fashion, '$0' is set to the name of the -file, and the positional parameters are set to the remaining arguments. -Bash reads and executes commands from this file, then exits. Bash's -exit status is the exit status of the last command executed in the -script. If no commands are executed, the exit status is 0. - - -File: bash.info, Node: Bash Startup Files, Next: Interactive Shells, Prev: Invoking Bash, Up: Bash Features - -6.2 Bash Startup Files -====================== - -This section describes how Bash executes its startup files. If any of -the files exist but cannot be read, Bash reports an error. Tildes are -expanded in filenames as described above under Tilde Expansion (*note -Tilde Expansion::). - - Interactive shells are described in *note Interactive Shells::. - -Invoked as an interactive login shell, or with '--login' -........................................................ - -When Bash is invoked as an interactive login shell, or as a -non-interactive shell with the '--login' option, it first reads and -executes commands from the file '/etc/profile', if that file exists. -After reading that file, it looks for '~/.bash_profile', -'~/.bash_login', and '~/.profile', in that order, and reads and executes -commands from the first one that exists and is readable. The -'--noprofile' option may be used when the shell is started to inhibit -this behavior. - - When an interactive login shell exits, or a non-interactive login -shell executes the 'exit' builtin command, Bash reads and executes -commands from the file '~/.bash_logout', if it exists. - -Invoked as an interactive non-login shell -......................................... - -When an interactive shell that is not a login shell is started, Bash -reads and executes commands from '~/.bashrc', if that file exists. This -may be inhibited by using the '--norc' option. The '--rcfile FILE' -option will force Bash to read and execute commands from FILE instead of -'~/.bashrc'. - - So, typically, your '~/.bash_profile' contains the line - if [ -f ~/.bashrc ]; then . ~/.bashrc; fi -after (or before) any login-specific initializations. - -Invoked non-interactively -......................... - -When Bash is started non-interactively, to run a shell script, for -example, it looks for the variable 'BASH_ENV' in the environment, -expands its value if it appears there, and uses the expanded value as -the name of a file to read and execute. Bash behaves as if the -following command were executed: - if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi -but the value of the 'PATH' variable is not used to search for the -filename. - - As noted above, if a non-interactive shell is invoked with the -'--login' option, Bash attempts to read and execute commands from the -login shell startup files. - -Invoked with name 'sh' -...................... - -If Bash is invoked with the name 'sh', it tries to mimic the startup -behavior of historical versions of 'sh' as closely as possible, while -conforming to the POSIX standard as well. - - When invoked as an interactive login shell, or as a non-interactive -shell with the '--login' option, it first attempts to read and execute -commands from '/etc/profile' and '~/.profile', in that order. The -'--noprofile' option may be used to inhibit this behavior. When invoked -as an interactive shell with the name 'sh', Bash looks for the variable -'ENV', expands its value if it is defined, and uses the expanded value -as the name of a file to read and execute. Since a shell invoked as -'sh' does not attempt to read and execute commands from any other -startup files, the '--rcfile' option has no effect. A non-interactive -shell invoked with the name 'sh' does not attempt to read any other -startup files. - - When invoked as 'sh', Bash enters POSIX mode after the startup files -are read. - -Invoked in POSIX mode -..................... - -When Bash is started in POSIX mode, as with the '--posix' command line -option, it follows the POSIX standard for startup files. In this mode, -interactive shells expand the 'ENV' variable and commands are read and -executed from the file whose name is the expanded value. No other -startup files are read. - -Invoked by remote shell daemon -.............................. - -Bash attempts to determine when it is being run with its standard input -connected to a network connection, as when executed by the historical -remote shell daemon, usually 'rshd', or the secure shell daemon 'sshd'. -If Bash determines it is being run non-interactively in this fashion, it -reads and executes commands from '~/.bashrc', if that file exists and is -readable. It will not do this if invoked as 'sh'. The '--norc' option -may be used to inhibit this behavior, and the '--rcfile' option may be -used to force another file to be read, but neither 'rshd' nor 'sshd' -generally invoke the shell with those options or allow them to be -specified. - -Invoked with unequal effective and real UID/GIDs -................................................ - -If Bash is started with the effective user (group) id not equal to the -real user (group) id, and the '-p' option is not supplied, no startup -files are read, shell functions are not inherited from the environment, -the 'SHELLOPTS', 'BASHOPTS', 'CDPATH', and 'GLOBIGNORE' variables, if -they appear in the environment, are ignored, and the effective user id -is set to the real user id. If the '-p' option is supplied at -invocation, the startup behavior is the same, but the effective user id -is not reset. - - -File: bash.info, Node: Interactive Shells, Next: Bash Conditional Expressions, Prev: Bash Startup Files, Up: Bash Features - -6.3 Interactive Shells -====================== - -* Menu: - -* What is an Interactive Shell?:: What determines whether a shell is Interactive. -* Is this Shell Interactive?:: How to tell if a shell is interactive. -* Interactive Shell Behavior:: What changes in an interactive shell? - - -File: bash.info, Node: What is an Interactive Shell?, Next: Is this Shell Interactive?, Up: Interactive Shells - -6.3.1 What is an Interactive Shell? ------------------------------------ - -An interactive shell is one started without non-option arguments (unless -'-s' is specified) and without specifying the '-c' option, whose input -and error output are both connected to terminals (as determined by -'isatty(3)'), or one started with the '-i' option. - - An interactive shell generally reads from and writes to a user's -terminal. - - The '-s' invocation option may be used to set the positional -parameters when an interactive shell is started. - - -File: bash.info, Node: Is this Shell Interactive?, Next: Interactive Shell Behavior, Prev: What is an Interactive Shell?, Up: Interactive Shells - -6.3.2 Is this Shell Interactive? --------------------------------- - -To determine within a startup script whether or not Bash is running -interactively, test the value of the '-' special parameter. It contains -'i' when the shell is interactive. For example: - - case "$-" in - *i*) echo This shell is interactive ;; - *) echo This shell is not interactive ;; - esac - - Alternatively, startup scripts may examine the variable 'PS1'; it is -unset in non-interactive shells, and set in interactive shells. Thus: - - if [ -z "$PS1" ]; then - echo This shell is not interactive - else - echo This shell is interactive - fi - - -File: bash.info, Node: Interactive Shell Behavior, Prev: Is this Shell Interactive?, Up: Interactive Shells - -6.3.3 Interactive Shell Behavior --------------------------------- - -When the shell is running interactively, it changes its behavior in -several ways. - - 1. Startup files are read and executed as described in *note Bash - Startup Files::. - - 2. Job Control (*note Job Control::) is enabled by default. When job - control is in effect, Bash ignores the keyboard-generated job - control signals 'SIGTTIN', 'SIGTTOU', and 'SIGTSTP'. - - 3. Bash expands and displays 'PS1' before reading the first line of a - command, and expands and displays 'PS2' before reading the second - and subsequent lines of a multi-line command. Bash expands and - displays 'PS0' after it reads a command but before executing it. - See *note Controlling the Prompt::, for a complete list of prompt - string escape sequences. - - 4. Bash executes the values of the set elements of the - 'PROMPT_COMMAND' array variable as commands before printing the - primary prompt, '$PS1' (*note Bash Variables::). - - 5. Readline (*note Command Line Editing::) is used to read commands - from the user's terminal. - - 6. Bash inspects the value of the 'ignoreeof' option to 'set -o' - instead of exiting immediately when it receives an 'EOF' on its - standard input when reading a command (*note The Set Builtin::). - - 7. Command history (*note Bash History Facilities::) and history - expansion (*note History Interaction::) are enabled by default. - Bash will save the command history to the file named by '$HISTFILE' - when a shell with history enabled exits. - - 8. Alias expansion (*note Aliases::) is performed by default. - - 9. In the absence of any traps, Bash ignores 'SIGTERM' (*note - Signals::). - - 10. In the absence of any traps, 'SIGINT' is caught and handled (*note - Signals::). 'SIGINT' will interrupt some shell builtins. - - 11. An interactive login shell sends a 'SIGHUP' to all jobs on exit if - the 'huponexit' shell option has been enabled (*note Signals::). - - 12. The '-n' invocation option is ignored, and 'set -n' has no effect - (*note The Set Builtin::). - - 13. Bash will check for mail periodically, depending on the values of - the 'MAIL', 'MAILPATH', and 'MAILCHECK' shell variables (*note Bash - Variables::). - - 14. Expansion errors due to references to unbound shell variables - after 'set -u' has been enabled will not cause the shell to exit - (*note The Set Builtin::). - - 15. The shell will not exit on expansion errors caused by VAR being - unset or null in '${VAR:?WORD}' expansions (*note Shell Parameter - Expansion::). - - 16. Redirection errors encountered by shell builtins will not cause - the shell to exit. - - 17. When running in POSIX mode, a special builtin returning an error - status will not cause the shell to exit (*note Bash POSIX Mode::). - - 18. A failed 'exec' will not cause the shell to exit (*note Bourne - Shell Builtins::). - - 19. Parser syntax errors will not cause the shell to exit. - - 20. If the 'cdspell' shell option is enabled, the shell will attempt - simple spelling correction for directory arguments to the 'cd' - builtin (see the description of the 'cdspell' option to the 'shopt' - builtin in *note The Shopt Builtin::). The 'cdspell' option is - only effective in interactive shells. - - 21. The shell will check the value of the 'TMOUT' variable and exit if - a command is not read within the specified number of seconds after - printing '$PS1' (*note Bash Variables::). - - -File: bash.info, Node: Bash Conditional Expressions, Next: Shell Arithmetic, Prev: Interactive Shells, Up: Bash Features - -6.4 Bash Conditional Expressions -================================ - -Conditional expressions are used by the '[[' compound command (*note -Conditional Constructs::) and the 'test' and '[' builtin commands (*note -Bourne Shell Builtins::). The 'test' and '[' commands determine their -behavior based on the number of arguments; see the descriptions of those -commands for any other command-specific actions. - - Expressions may be unary or binary, and are formed from the following -primaries. Unary expressions are often used to examine the status of a -file. There are string operators and numeric comparison operators as -well. Bash handles several filenames specially when they are used in -expressions. If the operating system on which Bash is running provides -these special files, Bash will use them; otherwise it will emulate them -internally with this behavior: If the FILE argument to one of the -primaries is of the form '/dev/fd/N', then file descriptor N is checked. -If the FILE argument to one of the primaries is one of '/dev/stdin', -'/dev/stdout', or '/dev/stderr', file descriptor 0, 1, or 2, -respectively, is checked. - - When used with '[[', the '<' and '>' operators sort lexicographically -using the current locale. The 'test' command uses ASCII ordering. - - Unless otherwise specified, primaries that operate on files follow -symbolic links and operate on the target of the link, rather than the -link itself. - -'-a FILE' - True if FILE exists. - -'-b FILE' - True if FILE exists and is a block special file. - -'-c FILE' - True if FILE exists and is a character special file. - -'-d FILE' - True if FILE exists and is a directory. - -'-e FILE' - True if FILE exists. - -'-f FILE' - True if FILE exists and is a regular file. - -'-g FILE' - True if FILE exists and its set-group-id bit is set. - -'-h FILE' - True if FILE exists and is a symbolic link. - -'-k FILE' - True if FILE exists and its "sticky" bit is set. - -'-p FILE' - True if FILE exists and is a named pipe (FIFO). - -'-r FILE' - True if FILE exists and is readable. - -'-s FILE' - True if FILE exists and has a size greater than zero. - -'-t FD' - True if file descriptor FD is open and refers to a terminal. - -'-u FILE' - True if FILE exists and its set-user-id bit is set. - -'-w FILE' - True if FILE exists and is writable. - -'-x FILE' - True if FILE exists and is executable. - -'-G FILE' - True if FILE exists and is owned by the effective group id. - -'-L FILE' - True if FILE exists and is a symbolic link. - -'-N FILE' - True if FILE exists and has been modified since it was last read. - -'-O FILE' - True if FILE exists and is owned by the effective user id. - -'-S FILE' - True if FILE exists and is a socket. - -'FILE1 -ef FILE2' - True if FILE1 and FILE2 refer to the same device and inode numbers. - -'FILE1 -nt FILE2' - True if FILE1 is newer (according to modification date) than FILE2, - or if FILE1 exists and FILE2 does not. - -'FILE1 -ot FILE2' - True if FILE1 is older than FILE2, or if FILE2 exists and FILE1 - does not. - -'-o OPTNAME' - True if the shell option OPTNAME is enabled. The list of options - appears in the description of the '-o' option to the 'set' builtin - (*note The Set Builtin::). - -'-v VARNAME' - True if the shell variable VARNAME is set (has been assigned a - value). - -'-R VARNAME' - True if the shell variable VARNAME is set and is a name reference. - -'-z STRING' - True if the length of STRING is zero. - -'-n STRING' -'STRING' - True if the length of STRING is non-zero. - -'STRING1 == STRING2' -'STRING1 = STRING2' - True if the strings are equal. When used with the '[[' command, - this performs pattern matching as described above (*note - Conditional Constructs::). - - '=' should be used with the 'test' command for POSIX conformance. - -'STRING1 != STRING2' - True if the strings are not equal. - -'STRING1 < STRING2' - True if STRING1 sorts before STRING2 lexicographically. - -'STRING1 > STRING2' - True if STRING1 sorts after STRING2 lexicographically. - -'ARG1 OP ARG2' - 'OP' is one of '-eq', '-ne', '-lt', '-le', '-gt', or '-ge'. These - arithmetic binary operators return true if ARG1 is equal to, not - equal to, less than, less than or equal to, greater than, or - greater than or equal to ARG2, respectively. ARG1 and ARG2 may be - positive or negative integers. When used with the '[[' command, - ARG1 and ARG2 are evaluated as arithmetic expressions (*note Shell - Arithmetic::). - - -File: bash.info, Node: Shell Arithmetic, Next: Aliases, Prev: Bash Conditional Expressions, Up: Bash Features - -6.5 Shell Arithmetic -==================== - -The shell allows arithmetic expressions to be evaluated, as one of the -shell expansions or by using the '((' compound command, the 'let' -builtin, or the '-i' option to the 'declare' builtin. - - Evaluation is done in fixed-width integers with no check for -overflow, though division by 0 is trapped and flagged as an error. The -operators and their precedence, associativity, and values are the same -as in the C language. The following list of operators is grouped into -levels of equal-precedence operators. The levels are listed in order of -decreasing precedence. - -'ID++ ID--' - variable post-increment and post-decrement - -'++ID --ID' - variable pre-increment and pre-decrement - -'- +' - unary minus and plus - -'! ~' - logical and bitwise negation - -'**' - exponentiation - -'* / %' - multiplication, division, remainder - -'+ -' - addition, subtraction - -'<< >>' - left and right bitwise shifts - -'<= >= < >' - comparison - -'== !=' - equality and inequality - -'&' - bitwise AND - -'^' - bitwise exclusive OR - -'|' - bitwise OR - -'&&' - logical AND - -'||' - logical OR - -'expr ? expr : expr' - conditional operator - -'= *= /= %= += -= <<= >>= &= ^= |=' - assignment - -'expr1 , expr2' - comma - - Shell variables are allowed as operands; parameter expansion is -performed before the expression is evaluated. Within an expression, -shell variables may also be referenced by name without using the -parameter expansion syntax. A shell variable that is null or unset -evaluates to 0 when referenced by name without using the parameter -expansion syntax. The value of a variable is evaluated as an arithmetic -expression when it is referenced, or when a variable which has been -given the 'integer' attribute using 'declare -i' is assigned a value. A -null value evaluates to 0. A shell variable need not have its 'integer' -attribute turned on to be used in an expression. - - Integer constants follow the C language definition, without suffixes -or character constants. Constants with a leading 0 are interpreted as -octal numbers. A leading '0x' or '0X' denotes hexadecimal. Otherwise, -numbers take the form [BASE'#']N, where the optional BASE is a decimal -number between 2 and 64 representing the arithmetic base, and N is a -number in that base. If BASE'#' is omitted, then base 10 is used. When -specifying N, if a non-digit is required, the digits greater than 9 are -represented by the lowercase letters, the uppercase letters, '@', and -'_', in that order. If BASE is less than or equal to 36, lowercase and -uppercase letters may be used interchangeably to represent numbers -between 10 and 35. - - Operators are evaluated in order of precedence. Sub-expressions in -parentheses are evaluated first and may override the precedence rules -above. - - -File: bash.info, Node: Aliases, Next: Arrays, Prev: Shell Arithmetic, Up: Bash Features - -6.6 Aliases -=========== - -"Aliases" allow a string to be substituted for a word when it is used as -the first word of a simple command. The shell maintains a list of -aliases that may be set and unset with the 'alias' and 'unalias' builtin -commands. - - The first word of each simple command, if unquoted, is checked to see -if it has an alias. If so, that word is replaced by the text of the -alias. The characters '/', '$', '`', '=' and any of the shell -metacharacters or quoting characters listed above may not appear in an -alias name. The replacement text may contain any valid shell input, -including shell metacharacters. The first word of the replacement text -is tested for aliases, but a word that is identical to an alias being -expanded is not expanded a second time. This means that one may alias -'ls' to '"ls -F"', for instance, and Bash does not try to recursively -expand the replacement text. If the last character of the alias value -is a 'blank', then the next command word following the alias is also -checked for alias expansion. - - Aliases are created and listed with the 'alias' command, and removed -with the 'unalias' command. - - There is no mechanism for using arguments in the replacement text, as -in 'csh'. If arguments are needed, use a shell function (*note Shell -Functions::). - - Aliases are not expanded when the shell is not interactive, unless -the 'expand_aliases' shell option is set using 'shopt' (*note The Shopt -Builtin::). - - The rules concerning the definition and use of aliases are somewhat -confusing. Bash always reads at least one complete line of input, and -all lines that make up a compound command, before executing any of the -commands on that line or the compound command. Aliases are expanded -when a command is read, not when it is executed. Therefore, an alias -definition appearing on the same line as another command does not take -effect until the next line of input is read. The commands following the -alias definition on that line are not affected by the new alias. This -behavior is also an issue when functions are executed. Aliases are -expanded when a function definition is read, not when the function is -executed, because a function definition is itself a command. As a -consequence, aliases defined in a function are not available until after -that function is executed. To be safe, always put alias definitions on -a separate line, and do not use 'alias' in compound commands. - - For almost every purpose, shell functions are preferred over aliases. - - -File: bash.info, Node: Arrays, Next: The Directory Stack, Prev: Aliases, Up: Bash Features - -6.7 Arrays -========== - -Bash provides one-dimensional indexed and associative array variables. -Any variable may be used as an indexed array; the 'declare' builtin will -explicitly declare an array. There is no maximum limit on the size of -an array, nor any requirement that members be indexed or assigned -contiguously. Indexed arrays are referenced using integers (including -arithmetic expressions (*note Shell Arithmetic::)) and are zero-based; -associative arrays use arbitrary strings. Unless otherwise noted, -indexed array indices must be non-negative integers. - - An indexed array is created automatically if any variable is assigned -to using the syntax - NAME[SUBSCRIPT]=VALUE - -The SUBSCRIPT is treated as an arithmetic expression that must evaluate -to a number. To explicitly declare an array, use - declare -a NAME -The syntax - declare -a NAME[SUBSCRIPT] -is also accepted; the SUBSCRIPT is ignored. - -Associative arrays are created using - declare -A NAME - - Attributes may be specified for an array variable using the 'declare' -and 'readonly' builtins. Each attribute applies to all members of an -array. - - Arrays are assigned to using compound assignments of the form - NAME=(VALUE1 VALUE2 ... ) -where each VALUE may be of the form '[SUBSCRIPT]='STRING. Indexed array -assignments do not require anything but STRING. When assigning to -indexed arrays, if the optional subscript is supplied, that index is -assigned to; otherwise the index of the element assigned is the last -index assigned to by the statement plus one. Indexing starts at zero. - - Each VALUE in the list undergoes all the shell expansions described -above (*note Shell Expansions::). - - When assigning to an associative array, the words in a compound -assignment may be either assignment statements, for which the subscript -is required, or a list of words that is interpreted as a sequence of -alternating keys and values: NAME=(KEY1 VALUE1 KEY2 VALUE2 ... ). These -are treated identically to NAME=( [KEY1]=VALUE1 [KEY2]=VALUE2 ... ). -The first word in the list determines how the remaining words are -interpreted; all assignments in a list must be of the same type. When -using key/value pairs, the keys may not be missing or empty; a final -missing value is treated like the empty string. - - This syntax is also accepted by the 'declare' builtin. Individual -array elements may be assigned to using the 'NAME[SUBSCRIPT]=VALUE' -syntax introduced above. - - When assigning to an indexed array, if NAME is subscripted by a -negative number, that number is interpreted as relative to one greater -than the maximum index of NAME, so negative indices count back from the -end of the array, and an index of -1 references the last element. - - The '+=' operator will append to an array variable when assigning -using the compound assignment syntax; see *note Shell Parameters:: -above. - - Any element of an array may be referenced using '${NAME[SUBSCRIPT]}'. -The braces are required to avoid conflicts with the shell's filename -expansion operators. If the SUBSCRIPT is '@' or '*', the word expands -to all members of the array NAME. These subscripts differ only when the -word appears within double quotes. If the word is double-quoted, -'${NAME[*]}' expands to a single word with the value of each array -member separated by the first character of the 'IFS' variable, and -'${NAME[@]}' expands each element of NAME to a separate word. When -there are no array members, '${NAME[@]}' expands to nothing. If the -double-quoted expansion occurs within a word, the expansion of the first -parameter is joined with the beginning part of the original word, and -the expansion of the last parameter is joined with the last part of the -original word. This is analogous to the expansion of the special -parameters '@' and '*'. '${#NAME[SUBSCRIPT]}' expands to the length of -'${NAME[SUBSCRIPT]}'. If SUBSCRIPT is '@' or '*', the expansion is the -number of elements in the array. If the SUBSCRIPT used to reference an -element of an indexed array evaluates to a number less than zero, it is -interpreted as relative to one greater than the maximum index of the -array, so negative indices count back from the end of the array, and an -index of -1 refers to the last element. - - Referencing an array variable without a subscript is equivalent to -referencing with a subscript of 0. Any reference to a variable using a -valid subscript is legal, and 'bash' will create an array if necessary. - - An array variable is considered set if a subscript has been assigned -a value. The null string is a valid value. - - It is possible to obtain the keys (indices) of an array as well as -the values. ${!NAME[@]} and ${!NAME[*]} expand to the indices assigned -in array variable NAME. The treatment when in double quotes is similar -to the expansion of the special parameters '@' and '*' within double -quotes. - - The 'unset' builtin is used to destroy arrays. 'unset -NAME[SUBSCRIPT]' destroys the array element at index SUBSCRIPT. -Negative subscripts to indexed arrays are interpreted as described -above. Unsetting the last element of an array variable does not unset -the variable. 'unset NAME', where NAME is an array, removes the entire -array. 'unset NAME[SUBSCRIPT]' behaves differently depending on the -array type when given a subscript of '*' or '@'. When NAME is an -associative array, it removes the element with key '*' or '@'. If NAME -is an indexed array, 'unset' removes all of the elements, but does not -remove the array itself. - - When using a variable name with a subscript as an argument to a -command, such as with 'unset', without using the word expansion syntax -described above, the argument is subject to the shell's filename -expansion. If filename expansion is not desired, the argument should be -quoted. - - The 'declare', 'local', and 'readonly' builtins each accept a '-a' -option to specify an indexed array and a '-A' option to specify an -associative array. If both options are supplied, '-A' takes precedence. -The 'read' builtin accepts a '-a' option to assign a list of words read -from the standard input to an array, and can read values from the -standard input into individual array elements. The 'set' and 'declare' -builtins display array values in a way that allows them to be reused as -input. - - -File: bash.info, Node: The Directory Stack, Next: Controlling the Prompt, Prev: Arrays, Up: Bash Features - -6.8 The Directory Stack -======================= - -* Menu: - -* Directory Stack Builtins:: Bash builtin commands to manipulate - the directory stack. - -The directory stack is a list of recently-visited directories. The -'pushd' builtin adds directories to the stack as it changes the current -directory, and the 'popd' builtin removes specified directories from the -stack and changes the current directory to the directory removed. The -'dirs' builtin displays the contents of the directory stack. The -current directory is always the "top" of the directory stack. - - The contents of the directory stack are also visible as the value of -the 'DIRSTACK' shell variable. - - -File: bash.info, Node: Directory Stack Builtins, Up: The Directory Stack - -6.8.1 Directory Stack Builtins ------------------------------- - -'dirs' - dirs [-clpv] [+N | -N] - - Display the list of currently remembered directories. Directories - are added to the list with the 'pushd' command; the 'popd' command - removes directories from the list. The current directory is always - the first directory in the stack. - - '-c' - Clears the directory stack by deleting all of the elements. - '-l' - Produces a listing using full pathnames; the default listing - format uses a tilde to denote the home directory. - '-p' - Causes 'dirs' to print the directory stack with one entry per - line. - '-v' - Causes 'dirs' to print the directory stack with one entry per - line, prefixing each entry with its index in the stack. - '+N' - Displays the Nth directory (counting from the left of the list - printed by 'dirs' when invoked without options), starting with - zero. - '-N' - Displays the Nth directory (counting from the right of the - list printed by 'dirs' when invoked without options), starting - with zero. - -'popd' - popd [-n] [+N | -N] - - Removes elements from the directory stack. The elements are - numbered from 0 starting at the first directory listed by 'dirs'; - that is, 'popd' is equivalent to 'popd +0'. - - When no arguments are given, 'popd' removes the top directory from - the stack and changes to the new top directory. - - Arguments, if supplied, have the following meanings: - - '-n' - Suppresses the normal change of directory when removing - directories from the stack, so that only the stack is - manipulated. - '+N' - Removes the Nth directory (counting from the left of the list - printed by 'dirs'), starting with zero, from the stack. - '-N' - Removes the Nth directory (counting from the right of the list - printed by 'dirs'), starting with zero, from the stack. - - If the top element of the directory stack is modified, and the '-n' - option was not supplied, 'popd' uses the 'cd' builtin to change to - the directory at the top of the stack. If the 'cd' fails, 'popd' - returns a non-zero value. - - Otherwise, 'popd' returns an unsuccessful status if an invalid - option is encountered, the directory stack is empty, or a - non-existent directory stack entry is specified. - - If the 'popd' command is successful, Bash runs 'dirs' to show the - final contents of the directory stack, and the return status is 0. - -'pushd' - pushd [-n] [+N | -N | DIR] - - Adds a directory to the top of the directory stack, or rotates the - stack, making the new top of the stack the current working - directory. With no arguments, 'pushd' exchanges the top two - elements of the directory stack. - - Arguments, if supplied, have the following meanings: - - '-n' - Suppresses the normal change of directory when rotating or - adding directories to the stack, so that only the stack is - manipulated. - '+N' - Brings the Nth directory (counting from the left of the list - printed by 'dirs', starting with zero) to the top of the list - by rotating the stack. - '-N' - Brings the Nth directory (counting from the right of the list - printed by 'dirs', starting with zero) to the top of the list - by rotating the stack. - 'DIR' - Makes DIR be the top of the stack. - - After the stack has been modified, if the '-n' option was not - supplied, 'pushd' uses the 'cd' builtin to change to the directory - at the top of the stack. If the 'cd' fails, 'pushd' returns a - non-zero value. - - Otherwise, if no arguments are supplied, 'pushd' returns 0 unless - the directory stack is empty. When rotating the directory stack, - 'pushd' returns 0 unless the directory stack is empty or a - non-existent directory stack element is specified. - - If the 'pushd' command is successful, Bash runs 'dirs' to show the - final contents of the directory stack. - - -File: bash.info, Node: Controlling the Prompt, Next: The Restricted Shell, Prev: The Directory Stack, Up: Bash Features - -6.9 Controlling the Prompt -========================== - -Bash examines the value of the array variable 'PROMPT_COMMAND' just -before printing each primary prompt. If any elements in -'PROMPT_COMMAND' are set and non-null, Bash executes each value, in -numeric order, just as if it had been typed on the command line. - - In addition, the following table describes the special characters -which can appear in the prompt variables 'PS0', 'PS1', 'PS2', and 'PS4': - -'\a' - A bell character. -'\d' - The date, in "Weekday Month Date" format (e.g., "Tue May 26"). -'\D{FORMAT}' - The FORMAT is passed to 'strftime'(3) and the result is inserted - into the prompt string; an empty FORMAT results in a - locale-specific time representation. The braces are required. -'\e' - An escape character. -'\h' - The hostname, up to the first '.'. -'\H' - The hostname. -'\j' - The number of jobs currently managed by the shell. -'\l' - The basename of the shell's terminal device name. -'\n' - A newline. -'\r' - A carriage return. -'\s' - The name of the shell, the basename of '$0' (the portion following - the final slash). -'\t' - The time, in 24-hour HH:MM:SS format. -'\T' - The time, in 12-hour HH:MM:SS format. -'\@' - The time, in 12-hour am/pm format. -'\A' - The time, in 24-hour HH:MM format. -'\u' - The username of the current user. -'\v' - The version of Bash (e.g., 2.00) -'\V' - The release of Bash, version + patchlevel (e.g., 2.00.0) -'\w' - The value of the 'PWD' shell variable ('$PWD'), with '$HOME' - abbreviated with a tilde (uses the '$PROMPT_DIRTRIM' variable). -'\W' - The basename of '$PWD', with '$HOME' abbreviated with a tilde. -'\!' - The history number of this command. -'\#' - The command number of this command. -'\$' - If the effective uid is 0, '#', otherwise '$'. -'\NNN' - The character whose ASCII code is the octal value NNN. -'\\' - A backslash. -'\[' - Begin a sequence of non-printing characters. This could be used to - embed a terminal control sequence into the prompt. -'\]' - End a sequence of non-printing characters. - - The command number and the history number are usually different: the -history number of a command is its position in the history list, which -may include commands restored from the history file (*note Bash History -Facilities::), while the command number is the position in the sequence -of commands executed during the current shell session. - - After the string is decoded, it is expanded via parameter expansion, -command substitution, arithmetic expansion, and quote removal, subject -to the value of the 'promptvars' shell option (*note The Shopt -Builtin::). This can have unwanted side effects if escaped portions of -the string appear within command substitution or contain characters -special to word expansion. - - -File: bash.info, Node: The Restricted Shell, Next: Bash POSIX Mode, Prev: Controlling the Prompt, Up: Bash Features - -6.10 The Restricted Shell -========================= - -If Bash is started with the name 'rbash', or the '--restricted' or '-r' -option is supplied at invocation, the shell becomes restricted. A -restricted shell is used to set up an environment more controlled than -the standard shell. A restricted shell behaves identically to 'bash' -with the exception that the following are disallowed or not performed: - - * Changing directories with the 'cd' builtin. - * Setting or unsetting the values of the 'SHELL', 'PATH', 'HISTFILE', - 'ENV', or 'BASH_ENV' variables. - * Specifying command names containing slashes. - * Specifying a filename containing a slash as an argument to the '.' - builtin command. - * Specifying a filename containing a slash as an argument to the - 'history' builtin command. - * Specifying a filename containing a slash as an argument to the '-p' - option to the 'hash' builtin command. - * Importing function definitions from the shell environment at - startup. - * Parsing the value of 'SHELLOPTS' from the shell environment at - startup. - * Redirecting output using the '>', '>|', '<>', '>&', '&>', and '>>' - redirection operators. - * Using the 'exec' builtin to replace the shell with another command. - * Adding or deleting builtin commands with the '-f' and '-d' options - to the 'enable' builtin. - * Using the 'enable' builtin command to enable disabled shell - builtins. - * Specifying the '-p' option to the 'command' builtin. - * Turning off restricted mode with 'set +r' or 'shopt -u - restricted_shell'. - - These restrictions are enforced after any startup files are read. - - When a command that is found to be a shell script is executed (*note -Shell Scripts::), 'rbash' turns off any restrictions in the shell -spawned to execute the script. - - The restricted shell mode is only one component of a useful -restricted environment. It should be accompanied by setting 'PATH' to a -value that allows execution of only a few verified commands (commands -that allow shell escapes are particularly vulnerable), changing the -current directory to a non-writable directory other than '$HOME' after -login, not allowing the restricted shell to execute shell scripts, and -cleaning the environment of variables that cause some commands to modify -their behavior (e.g., 'VISUAL' or 'PAGER'). - - Modern systems provide more secure ways to implement a restricted -environment, such as 'jails', 'zones', or 'containers'. - - -File: bash.info, Node: Bash POSIX Mode, Next: Shell Compatibility Mode, Prev: The Restricted Shell, Up: Bash Features - -6.11 Bash POSIX Mode -==================== - -Starting Bash with the '--posix' command-line option or executing 'set --o posix' while Bash is running will cause Bash to conform more closely -to the POSIX standard by changing the behavior to match that specified -by POSIX in areas where the Bash default differs. - - When invoked as 'sh', Bash enters POSIX mode after reading the -startup files. - - The following list is what's changed when 'POSIX mode' is in effect: - - 1. Bash ensures that the 'POSIXLY_CORRECT' variable is set. - - 2. When a command in the hash table no longer exists, Bash will - re-search '$PATH' to find the new location. This is also available - with 'shopt -s checkhash'. - - 3. Bash will not insert a command without the execute bit set into the - command hash table, even if it returns it as a (last-ditch) result - from a '$PATH' search. - - 4. The message printed by the job control code and builtins when a job - exits with a non-zero status is 'Done(status)'. - - 5. The message printed by the job control code and builtins when a job - is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example, - 'SIGTSTP'. - - 6. Alias expansion is always enabled, even in non-interactive shells. - - 7. Reserved words appearing in a context where reserved words are - recognized do not undergo alias expansion. - - 8. Alias expansion is performed when initially parsing a command - substitution. The default mode generally defers it, when enabled, - until the command substitution is executed. This means that - command substitution will not expand aliases that are defined after - the command substitution is initially parsed (e.g., as part of a - function definition). - - 9. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number - and '!!' to '!' are enabled, and parameter expansion is performed - on the values of 'PS1' and 'PS2' regardless of the setting of the - 'promptvars' option. - - 10. The POSIX startup files are executed ('$ENV') rather than the - normal Bash files. - - 11. Tilde expansion is only performed on assignments preceding a - command name, rather than on all assignment statements on the line. - - 12. The default history file is '~/.sh_history' (this is the default - value of '$HISTFILE'). - - 13. Redirection operators do not perform filename expansion on the - word in the redirection unless the shell is interactive. - - 14. Redirection operators do not perform word splitting on the word in - the redirection. - - 15. Function names must be valid shell 'name's. That is, they may not - contain characters other than letters, digits, and underscores, and - may not start with a digit. Declaring a function with an invalid - name causes a fatal syntax error in non-interactive shells. - - 16. Function names may not be the same as one of the POSIX special - builtins. - - 17. POSIX special builtins are found before shell functions during - command lookup. - - 18. When printing shell function definitions (e.g., by 'type'), Bash - does not print the 'function' keyword. - - 19. Literal tildes that appear as the first character in elements of - the 'PATH' variable are not expanded as described above under *note - Tilde Expansion::. - - 20. The 'time' reserved word may be used by itself as a command. When - used in this way, it displays timing statistics for the shell and - its completed children. The 'TIMEFORMAT' variable controls the - format of the timing information. - - 21. When parsing and expanding a ${...} expansion that appears within - double quotes, single quotes are no longer special and cannot be - used to quote a closing brace or other special character, unless - the operator is one of those defined to perform pattern removal. - In this case, they do not have to appear as matched pairs. - - 22. The parser does not recognize 'time' as a reserved word if the - next token begins with a '-'. - - 23. The '!' character does not introduce history expansion within a - double-quoted string, even if the 'histexpand' option is enabled. - - 24. If a POSIX special builtin returns an error status, a - non-interactive shell exits. The fatal errors are those listed in - the POSIX standard, and include things like passing incorrect - options, redirection errors, variable assignment errors for - assignments preceding the command name, and so on. - - 25. A non-interactive shell exits with an error status if a variable - assignment error occurs when no command name follows the assignment - statements. A variable assignment error occurs, for example, when - trying to assign a value to a readonly variable. - - 26. A non-interactive shell exits with an error status if a variable - assignment error occurs in an assignment statement preceding a - special builtin, but not with any other simple command. For any - other simple command, the shell aborts execution of that command, - and execution continues at the top level ("the shell shall not - perform any further processing of the command in which the error - occurred"). - - 27. A non-interactive shell exits with an error status if the - iteration variable in a 'for' statement or the selection variable - in a 'select' statement is a readonly variable. - - 28. Non-interactive shells exit if FILENAME in '.' FILENAME is not - found. - - 29. Non-interactive shells exit if a syntax error in an arithmetic - expansion results in an invalid expression. - - 30. Non-interactive shells exit if a parameter expansion error occurs. - - 31. Non-interactive shells exit if there is a syntax error in a script - read with the '.' or 'source' builtins, or in a string processed by - the 'eval' builtin. - - 32. While variable indirection is available, it may not be applied to - the '#' and '?' special parameters. - - 33. Expanding the '*' special parameter in a pattern context where the - expansion is double-quoted does not treat the '$*' as if it were - double-quoted. - - 34. Assignment statements preceding POSIX special builtins persist in - the shell environment after the builtin completes. - - 35. The 'command' builtin does not prevent builtins that take - assignment statements as arguments from expanding them as - assignment statements; when not in POSIX mode, assignment builtins - lose their assignment statement expansion properties when preceded - by 'command'. - - 36. The 'bg' builtin uses the required format to describe each job - placed in the background, which does not include an indication of - whether the job is the current or previous job. - - 37. The output of 'kill -l' prints all the signal names on a single - line, separated by spaces, without the 'SIG' prefix. - - 38. The 'kill' builtin does not accept signal names with a 'SIG' - prefix. - - 39. The 'export' and 'readonly' builtin commands display their output - in the format required by POSIX. - - 40. The 'trap' builtin displays signal names without the leading - 'SIG'. - - 41. The 'trap' builtin doesn't check the first argument for a possible - signal specification and revert the signal handling to the original - disposition if it is, unless that argument consists solely of - digits and is a valid signal number. If users want to reset the - handler for a given signal to the original disposition, they should - use '-' as the first argument. - - 42. 'trap -p' displays signals whose dispositions are set to SIG_DFL - and those that were ignored when the shell started. - - 43. The '.' and 'source' builtins do not search the current directory - for the filename argument if it is not found by searching 'PATH'. - - 44. Enabling POSIX mode has the effect of setting the - 'inherit_errexit' option, so subshells spawned to execute command - substitutions inherit the value of the '-e' option from the parent - shell. When the 'inherit_errexit' option is not enabled, Bash - clears the '-e' option in such subshells. - - 45. Enabling POSIX mode has the effect of setting the 'shift_verbose' - option, so numeric arguments to 'shift' that exceed the number of - positional parameters will result in an error message. - - 46. When the 'alias' builtin displays alias definitions, it does not - display them with a leading 'alias ' unless the '-p' option is - supplied. - - 47. When the 'set' builtin is invoked without options, it does not - display shell function names and definitions. - - 48. When the 'set' builtin is invoked without options, it displays - variable values without quotes, unless they contain shell - metacharacters, even if the result contains nonprinting characters. - - 49. When the 'cd' builtin is invoked in logical mode, and the pathname - constructed from '$PWD' and the directory name supplied as an - argument does not refer to an existing directory, 'cd' will fail - instead of falling back to physical mode. - - 50. When the 'cd' builtin cannot change a directory because the length - of the pathname constructed from '$PWD' and the directory name - supplied as an argument exceeds 'PATH_MAX' when all symbolic links - are expanded, 'cd' will fail instead of attempting to use only the - supplied directory name. - - 51. The 'pwd' builtin verifies that the value it prints is the same as - the current directory, even if it is not asked to check the file - system with the '-P' option. - - 52. When listing the history, the 'fc' builtin does not include an - indication of whether or not a history entry has been modified. - - 53. The default editor used by 'fc' is 'ed'. - - 54. The 'type' and 'command' builtins will not report a non-executable - file as having been found, though the shell will attempt to execute - such a file if it is the only so-named file found in '$PATH'. - - 55. The 'vi' editing mode will invoke the 'vi' editor directly when - the 'v' command is run, instead of checking '$VISUAL' and - '$EDITOR'. - - 56. When the 'xpg_echo' option is enabled, Bash does not attempt to - interpret any arguments to 'echo' as options. Each argument is - displayed, after escape characters are converted. - - 57. The 'ulimit' builtin uses a block size of 512 bytes for the '-c' - and '-f' options. - - 58. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not - interrupt the 'wait' builtin and cause it to return immediately. - The trap command is run once for each child that exits. - - 59. The 'read' builtin may be interrupted by a signal for which a trap - has been set. If Bash receives a trapped signal while executing - 'read', the trap handler executes and 'read' returns an exit status - greater than 128. - - 60. The 'printf' builtin uses 'double' (via 'strtod') to convert - arguments corresponding to floating point conversion specifiers, - instead of 'long double' if it's available. The 'L' length - modifier forces 'printf' to use 'long double' if it's available. - - 61. Bash removes an exited background process's status from the list - of such statuses after the 'wait' builtin is used to obtain it. - - There is other POSIX behavior that Bash does not implement by default -even when in POSIX mode. Specifically: - - 1. The 'fc' builtin checks '$EDITOR' as a program to edit history - entries if 'FCEDIT' is unset, rather than defaulting directly to - 'ed'. 'fc' uses 'ed' if 'EDITOR' is unset. - - 2. As noted above, Bash requires the 'xpg_echo' option to be enabled - for the 'echo' builtin to be fully conformant. - - Bash can be configured to be POSIX-conformant by default, by -specifying the '--enable-strict-posix-default' to 'configure' when -building (*note Optional Features::). - - -File: bash.info, Node: Shell Compatibility Mode, Prev: Bash POSIX Mode, Up: Bash Features - -6.12 Shell Compatibility Mode -============================= - -Bash-4.0 introduced the concept of a "shell compatibility level", -specified as a set of options to the shopt builtin ('compat31', -'compat32', 'compat40', 'compat41', and so on). There is only one -current compatibility level - each option is mutually exclusive. The -compatibility level is intended to allow users to select behavior from -previous versions that is incompatible with newer versions while they -migrate scripts to use current features and behavior. It's intended to -be a temporary solution. - - This section does not mention behavior that is standard for a -particular version (e.g., setting 'compat32' means that quoting the rhs -of the regexp matching operator quotes special regexp characters in the -word, which is default behavior in bash-3.2 and subsequent versions). - - If a user enables, say, 'compat32', it may affect the behavior of -other compatibility levels up to and including the current compatibility -level. The idea is that each compatibility level controls behavior that -changed in that version of Bash, but that behavior may have been present -in earlier versions. For instance, the change to use locale-based -comparisons with the '[[' command came in bash-4.1, and earlier versions -used ASCII-based comparisons, so enabling 'compat32' will enable -ASCII-based comparisons as well. That granularity may not be sufficient -for all uses, and as a result users should employ compatibility levels -carefully. Read the documentation for a particular feature to find out -the current behavior. - - Bash-4.3 introduced a new shell variable: 'BASH_COMPAT'. The value -assigned to this variable (a decimal version number like 4.2, or an -integer corresponding to the 'compat'NN option, like 42) determines the -compatibility level. - - Starting with bash-4.4, Bash has begun deprecating older -compatibility levels. Eventually, the options will be removed in favor -of 'BASH_COMPAT'. - - Bash-5.0 is the final version for which there will be an individual -shopt option for the previous version. Users should use 'BASH_COMPAT' -on bash-5.0 and later versions. - - The following table describes the behavior changes controlled by each -compatibility level setting. The 'compat'NN tag is used as shorthand -for setting the compatibility level to NN using one of the following -mechanisms. For versions prior to bash-5.0, the compatibility level may -be set using the corresponding 'compat'NN shopt option. For bash-4.3 -and later versions, the 'BASH_COMPAT' variable is preferred, and it is -required for bash-5.1 and later versions. - -'compat31' - * quoting the rhs of the '[[' command's regexp matching operator - (=~) has no special effect - -'compat32' - * interrupting a command list such as "a ; b ; c" causes the - execution of the next command in the list (in bash-4.0 and - later versions, the shell acts as if it received the - interrupt, so interrupting one command in a list aborts the - execution of the entire list) - -'compat40' - * the '<' and '>' operators to the '[[' command do not consider - the current locale when comparing strings; they use ASCII - ordering. Bash versions prior to bash-4.1 use ASCII collation - and strcmp(3); bash-4.1 and later use the current locale's - collation sequence and strcoll(3). - -'compat41' - * in posix mode, 'time' may be followed by options and still be - recognized as a reserved word (this is POSIX interpretation - 267) - * in posix mode, the parser requires that an even number of - single quotes occur in the WORD portion of a double-quoted - ${...} parameter expansion and treats them specially, so that - characters within the single quotes are considered quoted - (this is POSIX interpretation 221) - -'compat42' - * the replacement string in double-quoted pattern substitution - does not undergo quote removal, as it does in versions after - bash-4.2 - * in posix mode, single quotes are considered special when - expanding the WORD portion of a double-quoted ${...} parameter - expansion and can be used to quote a closing brace or other - special character (this is part of POSIX interpretation 221); - in later versions, single quotes are not special within - double-quoted word expansions - -'compat43' - * the shell does not print a warning message if an attempt is - made to use a quoted compound assignment as an argument to - declare (e.g., declare -a foo='(1 2)'). Later versions warn - that this usage is deprecated - * word expansion errors are considered non-fatal errors that - cause the current command to fail, even in posix mode (the - default behavior is to make them fatal errors that cause the - shell to exit) - * when executing a shell function, the loop state - (while/until/etc.) is not reset, so 'break' or 'continue' in - that function will break or continue loops in the calling - context. Bash-4.4 and later reset the loop state to prevent - this - -'compat44' - * the shell sets up the values used by 'BASH_ARGV' and - 'BASH_ARGC' so they can expand to the shell's positional - parameters even if extended debugging mode is not enabled - * a subshell inherits loops from its parent context, so 'break' - or 'continue' will cause the subshell to exit. Bash-5.0 and - later reset the loop state to prevent the exit - * variable assignments preceding builtins like 'export' and - 'readonly' that set attributes continue to affect variables - with the same name in the calling environment even if the - shell is not in posix mode - -'compat50 (set using BASH_COMPAT)' - * Bash-5.1 changed the way '$RANDOM' is generated to introduce - slightly more randomness. If the shell compatibility level is - set to 50 or lower, it reverts to the method from bash-5.0 and - previous versions, so seeding the random number generator by - assigning a value to 'RANDOM' will produce the same sequence - as in bash-5.0 - * If the command hash table is empty, Bash versions prior to - bash-5.1 printed an informational message to that effect, even - when producing output that can be reused as input. Bash-5.1 - suppresses that message when the '-l' option is supplied. - -'compat51 (set using BASH_COMPAT)' - * The 'unset' builtin will unset the array 'a' given an argument - like 'a[@]'. Bash-5.2 will unset an element with key '@' - (associative arrays) or remove all the elements without - unsetting the array (indexed arrays) - * arithmetic commands ( ((...)) ) and the expressions in an - arithmetic for statement can be expanded more than once - * expressions used as arguments to arithmetic operators in the - '[[' conditional command can be expanded more than once - * the expressions in substring parameter brace expansion can be - expanded more than once - * the expressions in the $(( ... )) word expansion can be - expanded more than once - * arithmetic expressions used as indexed array subscripts can be - expanded more than once - * 'test -v', when given an argument of 'A[@]', where A is an - existing associative array, will return true if the array has - any set elements. Bash-5.2 will look for and report on a key - named '@' - * the ${PARAMETER[:]=VALUE} word expansion will return VALUE, - before any variable-specific transformations have been - performed (e.g., converting to lowercase). Bash-5.2 will - return the final value assigned to the variable. - * Parsing command substitutions will behave as if extended glob - (*note The Shopt Builtin::) is enabled, so that parsing a - command substitution containing an extglob pattern (say, as - part of a shell function) will not fail. This assumes the - intent is to enable extglob before the command is executed and - word expansions are performed. It will fail at word expansion - time if extglob hasn't been enabled by the time the command is - executed. - - -File: bash.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top - -7 Job Control -************* - -This chapter discusses what job control is, how it works, and how Bash -allows you to access its facilities. - -* Menu: - -* Job Control Basics:: How job control works. -* Job Control Builtins:: Bash builtin commands used to interact - with job control. -* Job Control Variables:: Variables Bash uses to customize job - control. - - -File: bash.info, Node: Job Control Basics, Next: Job Control Builtins, Up: Job Control - -7.1 Job Control Basics -====================== - -Job control refers to the ability to selectively stop (suspend) the -execution of processes and continue (resume) their execution at a later -point. A user typically employs this facility via an interactive -interface supplied jointly by the operating system kernel's terminal -driver and Bash. - - The shell associates a JOB with each pipeline. It keeps a table of -currently executing jobs, which may be listed with the 'jobs' command. -When Bash starts a job asynchronously, it prints a line that looks like: - [1] 25647 -indicating that this job is job number 1 and that the process ID of the -last process in the pipeline associated with this job is 25647. All of -the processes in a single pipeline are members of the same job. Bash -uses the JOB abstraction as the basis for job control. - - To facilitate the implementation of the user interface to job -control, the operating system maintains the notion of a current terminal -process group ID. Members of this process group (processes whose -process group ID is equal to the current terminal process group ID) -receive keyboard-generated signals such as 'SIGINT'. These processes -are said to be in the foreground. Background processes are those whose -process group ID differs from the terminal's; such processes are immune -to keyboard-generated signals. Only foreground processes are allowed to -read from or, if the user so specifies with 'stty tostop', write to the -terminal. Background processes which attempt to read from (write to -when 'stty tostop' is in effect) the terminal are sent a 'SIGTTIN' -('SIGTTOU') signal by the kernel's terminal driver, which, unless -caught, suspends the process. - - If the operating system on which Bash is running supports job -control, Bash contains facilities to use it. Typing the "suspend" -character (typically '^Z', Control-Z) while a process is running causes -that process to be stopped and returns control to Bash. Typing the -"delayed suspend" character (typically '^Y', Control-Y) causes the -process to be stopped when it attempts to read input from the terminal, -and control to be returned to Bash. The user then manipulates the state -of this job, using the 'bg' command to continue it in the background, -the 'fg' command to continue it in the foreground, or the 'kill' command -to kill it. A '^Z' takes effect immediately, and has the additional -side effect of causing pending output and typeahead to be discarded. - - There are a number of ways to refer to a job in the shell. The -character '%' introduces a job specification ("jobspec"). - - Job number 'n' may be referred to as '%n'. The symbols '%%' and '%+' -refer to the shell's notion of the current job, which is the last job -stopped while it was in the foreground or started in the background. A -single '%' (with no accompanying job specification) also refers to the -current job. The previous job may be referenced using '%-'. If there -is only a single job, '%+' and '%-' can both be used to refer to that -job. In output pertaining to jobs (e.g., the output of the 'jobs' -command), the current job is always flagged with a '+', and the previous -job with a '-'. - - A job may also be referred to using a prefix of the name used to -start it, or using a substring that appears in its command line. For -example, '%ce' refers to a stopped job whose command name begins with -'ce'. Using '%?ce', on the other hand, refers to any job containing the -string 'ce' in its command line. If the prefix or substring matches -more than one job, Bash reports an error. - - Simply naming a job can be used to bring it into the foreground: '%1' -is a synonym for 'fg %1', bringing job 1 from the background into the -foreground. Similarly, '%1 &' resumes job 1 in the background, -equivalent to 'bg %1' - - The shell learns immediately whenever a job changes state. Normally, -Bash waits until it is about to print a prompt before reporting changes -in a job's status so as to not interrupt any other output. If the '-b' -option to the 'set' builtin is enabled, Bash reports such changes -immediately (*note The Set Builtin::). Any trap on 'SIGCHLD' is -executed for each child process that exits. - - If an attempt to exit Bash is made while jobs are stopped, (or -running, if the 'checkjobs' option is enabled - see *note The Shopt -Builtin::), the shell prints a warning message, and if the 'checkjobs' -option is enabled, lists the jobs and their statuses. The 'jobs' -command may then be used to inspect their status. If a second attempt -to exit is made without an intervening command, Bash does not print -another warning, and any stopped jobs are terminated. - - When the shell is waiting for a job or process using the 'wait' -builtin, and job control is enabled, 'wait' will return when the job -changes state. The '-f' option causes 'wait' to wait until the job or -process terminates before returning. - - -File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Prev: Job Control Basics, Up: Job Control - -7.2 Job Control Builtins -======================== - -'bg' - bg [JOBSPEC ...] - - Resume each suspended job JOBSPEC in the background, as if it had - been started with '&'. If JOBSPEC is not supplied, the current job - is used. The return status is zero unless it is run when job - control is not enabled, or, when run with job control enabled, any - JOBSPEC was not found or specifies a job that was started without - job control. - -'fg' - fg [JOBSPEC] - - Resume the job JOBSPEC in the foreground and make it the current - job. If JOBSPEC is not supplied, the current job is used. The - return status is that of the command placed into the foreground, or - non-zero if run when job control is disabled or, when run with job - control enabled, JOBSPEC does not specify a valid job or JOBSPEC - specifies a job that was started without job control. - -'jobs' - jobs [-lnprs] [JOBSPEC] - jobs -x COMMAND [ARGUMENTS] - - The first form lists the active jobs. The options have the - following meanings: - - '-l' - List process IDs in addition to the normal information. - - '-n' - Display information only about jobs that have changed status - since the user was last notified of their status. - - '-p' - List only the process ID of the job's process group leader. - - '-r' - Display only running jobs. - - '-s' - Display only stopped jobs. - - If JOBSPEC is given, output is restricted to information about that - job. If JOBSPEC is not supplied, the status of all jobs is listed. - - If the '-x' option is supplied, 'jobs' replaces any JOBSPEC found - in COMMAND or ARGUMENTS with the corresponding process group ID, - and executes COMMAND, passing it ARGUMENTs, returning its exit - status. - -'kill' - kill [-s SIGSPEC] [-n SIGNUM] [-SIGSPEC] JOBSPEC or PID - kill -l|-L [EXIT_STATUS] - - Send a signal specified by SIGSPEC or SIGNUM to the process named - by job specification JOBSPEC or process ID PID. SIGSPEC is either - a case-insensitive signal name such as 'SIGINT' (with or without - the 'SIG' prefix) or a signal number; SIGNUM is a signal number. - If SIGSPEC and SIGNUM are not present, 'SIGTERM' is used. The '-l' - option lists the signal names. If any arguments are supplied when - '-l' is given, the names of the signals corresponding to the - arguments are listed, and the return status is zero. EXIT_STATUS - is a number specifying a signal number or the exit status of a - process terminated by a signal. The '-L' option is equivalent to - '-l'. The return status is zero if at least one signal was - successfully sent, or non-zero if an error occurs or an invalid - option is encountered. - -'wait' - wait [-fn] [-p VARNAME] [JOBSPEC or PID ...] - - Wait until the child process specified by each process ID PID or - job specification JOBSPEC exits and return the exit status of the - last command waited for. If a job spec is given, all processes in - the job are waited for. If no arguments are given, 'wait' waits - for all running background jobs and the last-executed process - substitution, if its process id is the same as $!, and the return - status is zero. If the '-n' option is supplied, 'wait' waits for a - single job from the list of PIDs or JOBSPECs or, if no arguments - are supplied, any job, to complete and returns its exit status. If - none of the supplied arguments is a child of the shell, or if no - arguments are supplied and the shell has no unwaited-for children, - the exit status is 127. If the '-p' option is supplied, the - process or job identifier of the job for which the exit status is - returned is assigned to the variable VARNAME named by the option - argument. The variable will be unset initially, before any - assignment. This is useful only when the '-n' option is supplied. - Supplying the '-f' option, when job control is enabled, forces - 'wait' to wait for each PID or JOBSPEC to terminate before - returning its status, instead of returning when it changes status. - If neither JOBSPEC nor PID specifies an active child process of the - shell, the return status is 127. If 'wait' is interrupted by a - signal, the return status will be greater than 128, as described - above (*note Signals::). Otherwise, the return status is the exit - status of the last process or job waited for. - -'disown' - disown [-ar] [-h] [JOBSPEC ... | PID ... ] - - Without options, remove each JOBSPEC from the table of active jobs. - If the '-h' option is given, the job is not removed from the table, - but is marked so that 'SIGHUP' is not sent to the job if the shell - receives a 'SIGHUP'. If JOBSPEC is not present, and neither the - '-a' nor the '-r' option is supplied, the current job is used. If - no JOBSPEC is supplied, the '-a' option means to remove or mark all - jobs; the '-r' option without a JOBSPEC argument restricts - operation to running jobs. - -'suspend' - suspend [-f] - - Suspend the execution of this shell until it receives a 'SIGCONT' - signal. A login shell, or a shell without job control enabled, - cannot be suspended; the '-f' option can be used to override this - and force the suspension. The return status is 0 unless the shell - is a login shell or job control is not enabled and '-f' is not - supplied. - - When job control is not active, the 'kill' and 'wait' builtins do not -accept JOBSPEC arguments. They must be supplied process IDs. - - -File: bash.info, Node: Job Control Variables, Prev: Job Control Builtins, Up: Job Control - -7.3 Job Control Variables -========================= - -'auto_resume' - This variable controls how the shell interacts with the user and - job control. If this variable exists then single word simple - commands without redirections are treated as candidates for - resumption of an existing job. There is no ambiguity allowed; if - there is more than one job beginning with the string typed, then - the most recently accessed job will be selected. The name of a - stopped job, in this context, is the command line used to start it. - If this variable is set to the value 'exact', the string supplied - must match the name of a stopped job exactly; if set to - 'substring', the string supplied needs to match a substring of the - name of a stopped job. The 'substring' value provides - functionality analogous to the '%?' job ID (*note Job Control - Basics::). If set to any other value, the supplied string must be - a prefix of a stopped job's name; this provides functionality - analogous to the '%' job ID. - - -File: bash.info, Node: Command Line Editing, Next: Using History Interactively, Prev: Job Control, Up: Top - -8 Command Line Editing -********************** - -This chapter describes the basic features of the GNU command line -editing interface. Command line editing is provided by the Readline -library, which is used by several different programs, including Bash. -Command line editing is enabled by default when using an interactive -shell, unless the '--noediting' option is supplied at shell invocation. -Line editing is also used when using the '-e' option to the 'read' -builtin command (*note Bash Builtins::). By default, the line editing -commands are similar to those of Emacs. A vi-style line editing -interface is also available. Line editing can be enabled at any time -using the '-o emacs' or '-o vi' options to the 'set' builtin command -(*note The Set Builtin::), or disabled using the '+o emacs' or '+o vi' -options to 'set'. - -* Menu: - -* Introduction and Notation:: Notation used in this text. -* Readline Interaction:: The minimum set of commands for editing a line. -* Readline Init File:: Customizing Readline from a user's view. -* Bindable Readline Commands:: A description of most of the Readline commands - available for binding -* Readline vi Mode:: A short description of how to make Readline - behave like the vi editor. -* Programmable Completion:: How to specify the possible completions for - a specific command. -* Programmable Completion Builtins:: Builtin commands to specify how to - complete arguments for a particular command. -* A Programmable Completion Example:: An example shell function for - generating possible completions. - - -File: bash.info, Node: Introduction and Notation, Next: Readline Interaction, Up: Command Line Editing - -8.1 Introduction to Line Editing -================================ - -The following paragraphs describe the notation used to represent -keystrokes. - - The text 'C-k' is read as 'Control-K' and describes the character -produced when the <k> key is pressed while the Control key is depressed. - - The text 'M-k' is read as 'Meta-K' and describes the character -produced when the Meta key (if you have one) is depressed, and the <k> -key is pressed. The Meta key is labeled <ALT> on many keyboards. On -keyboards with two keys labeled <ALT> (usually to either side of the -space bar), the <ALT> on the left side is generally set to work as a -Meta key. The <ALT> key on the right may also be configured to work as -a Meta key or may be configured as some other modifier, such as a -Compose key for typing accented characters. - - If you do not have a Meta or <ALT> key, or another key working as a -Meta key, the identical keystroke can be generated by typing <ESC> -_first_, and then typing <k>. Either process is known as "metafying" -the <k> key. - - The text 'M-C-k' is read as 'Meta-Control-k' and describes the -character produced by "metafying" 'C-k'. - - In addition, several keys have their own names. Specifically, <DEL>, -<ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves when seen -in this text, or in an init file (*note Readline Init File::). If your -keyboard lacks a <LFD> key, typing <C-j> will produce the desired -character. The <RET> key may be labeled <Return> or <Enter> on some -keyboards. - - -File: bash.info, Node: Readline Interaction, Next: Readline Init File, Prev: Introduction and Notation, Up: Command Line Editing - -8.2 Readline Interaction -======================== - -Often during an interactive session you type in a long line of text, -only to notice that the first word on the line is misspelled. The -Readline library gives you a set of commands for manipulating the text -as you type it in, allowing you to just fix your typo, and not forcing -you to retype the majority of the line. Using these editing commands, -you move the cursor to the place that needs correction, and delete or -insert the text of the corrections. Then, when you are satisfied with -the line, you simply press <RET>. You do not have to be at the end of -the line to press <RET>; the entire line is accepted regardless of the -location of the cursor within the line. - -* Menu: - -* Readline Bare Essentials:: The least you need to know about Readline. -* Readline Movement Commands:: Moving about the input line. -* Readline Killing Commands:: How to delete text, and how to get it back! -* Readline Arguments:: Giving numeric arguments to commands. -* Searching:: Searching through previous lines. - - -File: bash.info, Node: Readline Bare Essentials, Next: Readline Movement Commands, Up: Readline Interaction - -8.2.1 Readline Bare Essentials ------------------------------- - -In order to enter characters into the line, simply type them. The typed -character appears where the cursor was, and then the cursor moves one -space to the right. If you mistype a character, you can use your erase -character to back up and delete the mistyped character. - - Sometimes you may mistype a character, and not notice the error until -you have typed several other characters. In that case, you can type -'C-b' to move the cursor to the left, and then correct your mistake. -Afterwards, you can move the cursor to the right with 'C-f'. - - When you add text in the middle of a line, you will notice that -characters to the right of the cursor are 'pushed over' to make room for -the text that you have inserted. Likewise, when you delete text behind -the cursor, characters to the right of the cursor are 'pulled back' to -fill in the blank space created by the removal of the text. A list of -the bare essentials for editing the text of an input line follows. - -'C-b' - Move back one character. -'C-f' - Move forward one character. -<DEL> or <Backspace> - Delete the character to the left of the cursor. -'C-d' - Delete the character underneath the cursor. -Printing characters - Insert the character into the line at the cursor. -'C-_' or 'C-x C-u' - Undo the last editing command. You can undo all the way back to an - empty line. - -(Depending on your configuration, the <Backspace> key might be set to -delete the character to the left of the cursor and the <DEL> key set to -delete the character underneath the cursor, like 'C-d', rather than the -character to the left of the cursor.) - - -File: bash.info, Node: Readline Movement Commands, Next: Readline Killing Commands, Prev: Readline Bare Essentials, Up: Readline Interaction - -8.2.2 Readline Movement Commands --------------------------------- - -The above table describes the most basic keystrokes that you need in -order to do editing of the input line. For your convenience, many other -commands have been added in addition to 'C-b', 'C-f', 'C-d', and <DEL>. -Here are some commands for moving more rapidly about the line. - -'C-a' - Move to the start of the line. -'C-e' - Move to the end of the line. -'M-f' - Move forward a word, where a word is composed of letters and - digits. -'M-b' - Move backward a word. -'C-l' - Clear the screen, reprinting the current line at the top. - - Notice how 'C-f' moves forward a character, while 'M-f' moves forward -a word. It is a loose convention that control keystrokes operate on -characters while meta keystrokes operate on words. - - -File: bash.info, Node: Readline Killing Commands, Next: Readline Arguments, Prev: Readline Movement Commands, Up: Readline Interaction - -8.2.3 Readline Killing Commands -------------------------------- - -"Killing" text means to delete the text from the line, but to save it -away for later use, usually by "yanking" (re-inserting) it back into the -line. ('Cut' and 'paste' are more recent jargon for 'kill' and 'yank'.) - - If the description for a command says that it 'kills' text, then you -can be sure that you can get the text back in a different (or the same) -place later. - - When you use a kill command, the text is saved in a "kill-ring". Any -number of consecutive kills save all of the killed text together, so -that when you yank it back, you get it all. The kill ring is not line -specific; the text that you killed on a previously typed line is -available to be yanked back later, when you are typing another line. - - Here is the list of commands for killing text. - -'C-k' - Kill the text from the current cursor position to the end of the - line. - -'M-d' - Kill from the cursor to the end of the current word, or, if between - words, to the end of the next word. Word boundaries are the same - as those used by 'M-f'. - -'M-<DEL>' - Kill from the cursor to the start of the current word, or, if - between words, to the start of the previous word. Word boundaries - are the same as those used by 'M-b'. - -'C-w' - Kill from the cursor to the previous whitespace. This is different - than 'M-<DEL>' because the word boundaries differ. - - Here is how to "yank" the text back into the line. Yanking means to -copy the most-recently-killed text from the kill buffer. - -'C-y' - Yank the most recently killed text back into the buffer at the - cursor. - -'M-y' - Rotate the kill-ring, and yank the new top. You can only do this - if the prior command is 'C-y' or 'M-y'. - - -File: bash.info, Node: Readline Arguments, Next: Searching, Prev: Readline Killing Commands, Up: Readline Interaction - -8.2.4 Readline Arguments ------------------------- - -You can pass numeric arguments to Readline commands. Sometimes the -argument acts as a repeat count, other times it is the sign of the -argument that is significant. If you pass a negative argument to a -command which normally acts in a forward direction, that command will -act in a backward direction. For example, to kill text back to the -start of the line, you might type 'M-- C-k'. - - The general way to pass numeric arguments to a command is to type -meta digits before the command. If the first 'digit' typed is a minus -sign ('-'), then the sign of the argument will be negative. Once you -have typed one meta digit to get the argument started, you can type the -remainder of the digits, and then the command. For example, to give the -'C-d' command an argument of 10, you could type 'M-1 0 C-d', which will -delete the next ten characters on the input line. - - -File: bash.info, Node: Searching, Prev: Readline Arguments, Up: Readline Interaction - -8.2.5 Searching for Commands in the History -------------------------------------------- - -Readline provides commands for searching through the command history -(*note Bash History Facilities::) for lines containing a specified -string. There are two search modes: "incremental" and -"non-incremental". - - Incremental searches begin before the user has finished typing the -search string. As each character of the search string is typed, -Readline displays the next entry from the history matching the string -typed so far. An incremental search requires only as many characters as -needed to find the desired history entry. To search backward in the -history for a particular string, type 'C-r'. Typing 'C-s' searches -forward through the history. The characters present in the value of the -'isearch-terminators' variable are used to terminate an incremental -search. If that variable has not been assigned a value, the <ESC> and -'C-J' characters will terminate an incremental search. 'C-g' will abort -an incremental search and restore the original line. When the search is -terminated, the history entry containing the search string becomes the -current line. - - To find other matching entries in the history list, type 'C-r' or -'C-s' as appropriate. This will search backward or forward in the -history for the next entry matching the search string typed so far. Any -other key sequence bound to a Readline command will terminate the search -and execute that command. For instance, a <RET> will terminate the -search and accept the line, thereby executing the command from the -history list. A movement command will terminate the search, make the -last line found the current line, and begin editing. - - Readline remembers the last incremental search string. If two 'C-r's -are typed without any intervening characters defining a new search -string, any remembered search string is used. - - Non-incremental searches read the entire search string before -starting to search for matching history lines. The search string may be -typed by the user or be part of the contents of the current line. - - -File: bash.info, Node: Readline Init File, Next: Bindable Readline Commands, Prev: Readline Interaction, Up: Command Line Editing - -8.3 Readline Init File -====================== - -Although the Readline library comes with a set of Emacs-like keybindings -installed by default, it is possible to use a different set of -keybindings. Any user can customize programs that use Readline by -putting commands in an "inputrc" file, conventionally in their home -directory. The name of this file is taken from the value of the shell -variable 'INPUTRC'. If that variable is unset, the default is -'~/.inputrc'. If that file does not exist or cannot be read, the -ultimate default is '/etc/inputrc'. The 'bind' builtin command can also -be used to set Readline keybindings and variables. *Note Bash -Builtins::. - - When a program which uses the Readline library starts up, the init -file is read, and the key bindings are set. - - In addition, the 'C-x C-r' command re-reads this init file, thus -incorporating any changes that you might have made to it. - -* Menu: - -* Readline Init File Syntax:: Syntax for the commands in the inputrc file. - -* Conditional Init Constructs:: Conditional key bindings in the inputrc file. - -* Sample Init File:: An example inputrc file. - - -File: bash.info, Node: Readline Init File Syntax, Next: Conditional Init Constructs, Up: Readline Init File - -8.3.1 Readline Init File Syntax -------------------------------- - -There are only a few basic constructs allowed in the Readline init file. -Blank lines are ignored. Lines beginning with a '#' are comments. -Lines beginning with a '$' indicate conditional constructs (*note -Conditional Init Constructs::). Other lines denote variable settings -and key bindings. - -Variable Settings - You can modify the run-time behavior of Readline by altering the - values of variables in Readline using the 'set' command within the - init file. The syntax is simple: - - set VARIABLE VALUE - - Here, for example, is how to change from the default Emacs-like key - binding to use 'vi' line editing commands: - - set editing-mode vi - - Variable names and values, where appropriate, are recognized - without regard to case. Unrecognized variable names are ignored. - - Boolean variables (those that can be set to on or off) are set to - on if the value is null or empty, ON (case-insensitive), or 1. Any - other value results in the variable being set to off. - - The 'bind -V' command lists the current Readline variable names and - values. *Note Bash Builtins::. - - A great deal of run-time behavior is changeable with the following - variables. - - 'active-region-start-color' - A string variable that controls the text color and background - when displaying the text in the active region (see the - description of 'enable-active-region' below). This string - must not take up any physical character positions on the - display, so it should consist only of terminal escape - sequences. It is output to the terminal before displaying the - text in the active region. This variable is reset to the - default value whenever the terminal type changes. The default - value is the string that puts the terminal in standout mode, - as obtained from the terminal's terminfo description. A - sample value might be '\e[01;33m'. - - 'active-region-end-color' - A string variable that "undoes" the effects of - 'active-region-start-color' and restores "normal" terminal - display appearance after displaying text in the active region. - This string must not take up any physical character positions - on the display, so it should consist only of terminal escape - sequences. It is output to the terminal after displaying the - text in the active region. This variable is reset to the - default value whenever the terminal type changes. The default - value is the string that restores the terminal from standout - mode, as obtained from the terminal's terminfo description. A - sample value might be '\e[0m'. - - 'bell-style' - Controls what happens when Readline wants to ring the terminal - bell. If set to 'none', Readline never rings the bell. If - set to 'visible', Readline uses a visible bell if one is - available. If set to 'audible' (the default), Readline - attempts to ring the terminal's bell. - - 'bind-tty-special-chars' - If set to 'on' (the default), Readline attempts to bind the - control characters treated specially by the kernel's terminal - driver to their Readline equivalents. - - 'blink-matching-paren' - If set to 'on', Readline attempts to briefly move the cursor - to an opening parenthesis when a closing parenthesis is - inserted. The default is 'off'. - - 'colored-completion-prefix' - If set to 'on', when listing completions, Readline displays - the common prefix of the set of possible completions using a - different color. The color definitions are taken from the - value of the 'LS_COLORS' environment variable. If there is a - color definition in 'LS_COLORS' for the custom suffix - 'readline-colored-completion-prefix', Readline uses this color - for the common prefix instead of its default. The default is - 'off'. - - 'colored-stats' - If set to 'on', Readline displays possible completions using - different colors to indicate their file type. The color - definitions are taken from the value of the 'LS_COLORS' - environment variable. The default is 'off'. - - 'comment-begin' - The string to insert at the beginning of the line when the - 'insert-comment' command is executed. The default value is - '"#"'. - - 'completion-display-width' - The number of screen columns used to display possible matches - when performing completion. The value is ignored if it is - less than 0 or greater than the terminal screen width. A - value of 0 will cause matches to be displayed one per line. - The default value is -1. - - 'completion-ignore-case' - If set to 'on', Readline performs filename matching and - completion in a case-insensitive fashion. The default value - is 'off'. - - 'completion-map-case' - If set to 'on', and COMPLETION-IGNORE-CASE is enabled, - Readline treats hyphens ('-') and underscores ('_') as - equivalent when performing case-insensitive filename matching - and completion. The default value is 'off'. - - 'completion-prefix-display-length' - The length in characters of the common prefix of a list of - possible completions that is displayed without modification. - When set to a value greater than zero, common prefixes longer - than this value are replaced with an ellipsis when displaying - possible completions. - - 'completion-query-items' - The number of possible completions that determines when the - user is asked whether the list of possibilities should be - displayed. If the number of possible completions is greater - than or equal to this value, Readline will ask whether or not - the user wishes to view them; otherwise, they are simply - listed. This variable must be set to an integer value greater - than or equal to zero. A zero value means Readline should - never ask; negative values are treated as zero. The default - limit is '100'. - - 'convert-meta' - If set to 'on', Readline will convert characters with the - eighth bit set to an ASCII key sequence by stripping the - eighth bit and prefixing an <ESC> character, converting them - to a meta-prefixed key sequence. The default value is 'on', - but will be set to 'off' if the locale is one that contains - eight-bit characters. This variable is dependent on the - 'LC_CTYPE' locale category, and may change if the locale is - changed. - - 'disable-completion' - If set to 'On', Readline will inhibit word completion. - Completion characters will be inserted into the line as if - they had been mapped to 'self-insert'. The default is 'off'. - - 'echo-control-characters' - When set to 'on', on operating systems that indicate they - support it, Readline echoes a character corresponding to a - signal generated from the keyboard. The default is 'on'. - - 'editing-mode' - The 'editing-mode' variable controls which default set of key - bindings is used. By default, Readline starts up in Emacs - editing mode, where the keystrokes are most similar to Emacs. - This variable can be set to either 'emacs' or 'vi'. - - 'emacs-mode-string' - If the SHOW-MODE-IN-PROMPT variable is enabled, this string is - displayed immediately before the last line of the primary - prompt when emacs editing mode is active. The value is - expanded like a key binding, so the standard set of meta- and - control prefixes and backslash escape sequences is available. - Use the '\1' and '\2' escapes to begin and end sequences of - non-printing characters, which can be used to embed a terminal - control sequence into the mode string. The default is '@'. - - 'enable-active-region' - The "point" is the current cursor position, and "mark" refers - to a saved cursor position (*note Commands For Moving::). The - text between the point and mark is referred to as the - "region". When this variable is set to 'On', Readline allows - certain commands to designate the region as "active". When - the region is active, Readline highlights the text in the - region using the value of the 'active-region-start-color', - which defaults to the string that enables the terminal's - standout mode. The active region shows the text inserted by - bracketed-paste and any matching text found by incremental and - non-incremental history searches. The default is 'On'. - - 'enable-bracketed-paste' - When set to 'On', Readline configures the terminal to insert - each paste into the editing buffer as a single string of - characters, instead of treating each character as if it had - been read from the keyboard. This is called putting the - terminal into "bracketed paste mode"; it prevents Readline - from executing any editing commands bound to key sequences - appearing in the pasted text. The default is 'On'. - - 'enable-keypad' - When set to 'on', Readline will try to enable the application - keypad when it is called. Some systems need this to enable - the arrow keys. The default is 'off'. - - 'enable-meta-key' - When set to 'on', Readline will try to enable any meta - modifier key the terminal claims to support when it is called. - On many terminals, the meta key is used to send eight-bit - characters. The default is 'on'. - - 'expand-tilde' - If set to 'on', tilde expansion is performed when Readline - attempts word completion. The default is 'off'. - - 'history-preserve-point' - If set to 'on', the history code attempts to place the point - (the current cursor position) at the same location on each - history line retrieved with 'previous-history' or - 'next-history'. The default is 'off'. - - 'history-size' - Set the maximum number of history entries saved in the history - list. If set to zero, any existing history entries are - deleted and no new entries are saved. If set to a value less - than zero, the number of history entries is not limited. By - default, the number of history entries is not limited. If an - attempt is made to set HISTORY-SIZE to a non-numeric value, - the maximum number of history entries will be set to 500. - - 'horizontal-scroll-mode' - This variable can be set to either 'on' or 'off'. Setting it - to 'on' means that the text of the lines being edited will - scroll horizontally on a single screen line when they are - longer than the width of the screen, instead of wrapping onto - a new screen line. This variable is automatically set to 'on' - for terminals of height 1. By default, this variable is set - to 'off'. - - 'input-meta' - If set to 'on', Readline will enable eight-bit input (it will - not clear the eighth bit in the characters it reads), - regardless of what the terminal claims it can support. The - default value is 'off', but Readline will set it to 'on' if - the locale contains eight-bit characters. The name - 'meta-flag' is a synonym for this variable. This variable is - dependent on the 'LC_CTYPE' locale category, and may change if - the locale is changed. - - 'isearch-terminators' - The string of characters that should terminate an incremental - search without subsequently executing the character as a - command (*note Searching::). If this variable has not been - given a value, the characters <ESC> and 'C-J' will terminate - an incremental search. - - 'keymap' - Sets Readline's idea of the current keymap for key binding - commands. Built-in 'keymap' names are 'emacs', - 'emacs-standard', 'emacs-meta', 'emacs-ctlx', 'vi', 'vi-move', - 'vi-command', and 'vi-insert'. 'vi' is equivalent to - 'vi-command' ('vi-move' is also a synonym); 'emacs' is - equivalent to 'emacs-standard'. Applications may add - additional names. The default value is 'emacs'. The value of - the 'editing-mode' variable also affects the default keymap. - - 'keyseq-timeout' - Specifies the duration Readline will wait for a character when - reading an ambiguous key sequence (one that can form a - complete key sequence using the input read so far, or can take - additional input to complete a longer key sequence). If no - input is received within the timeout, Readline will use the - shorter but complete key sequence. Readline uses this value - to determine whether or not input is available on the current - input source ('rl_instream' by default). The value is - specified in milliseconds, so a value of 1000 means that - Readline will wait one second for additional input. If this - variable is set to a value less than or equal to zero, or to a - non-numeric value, Readline will wait until another key is - pressed to decide which key sequence to complete. The default - value is '500'. - - 'mark-directories' - If set to 'on', completed directory names have a slash - appended. The default is 'on'. - - 'mark-modified-lines' - This variable, when set to 'on', causes Readline to display an - asterisk ('*') at the start of history lines which have been - modified. This variable is 'off' by default. - - 'mark-symlinked-directories' - If set to 'on', completed names which are symbolic links to - directories have a slash appended (subject to the value of - 'mark-directories'). The default is 'off'. - - 'match-hidden-files' - This variable, when set to 'on', causes Readline to match - files whose names begin with a '.' (hidden files) when - performing filename completion. If set to 'off', the leading - '.' must be supplied by the user in the filename to be - completed. This variable is 'on' by default. - - 'menu-complete-display-prefix' - If set to 'on', menu completion displays the common prefix of - the list of possible completions (which may be empty) before - cycling through the list. The default is 'off'. - - 'output-meta' - If set to 'on', Readline will display characters with the - eighth bit set directly rather than as a meta-prefixed escape - sequence. The default is 'off', but Readline will set it to - 'on' if the locale contains eight-bit characters. This - variable is dependent on the 'LC_CTYPE' locale category, and - may change if the locale is changed. - - 'page-completions' - If set to 'on', Readline uses an internal 'more'-like pager to - display a screenful of possible completions at a time. This - variable is 'on' by default. - - 'print-completions-horizontally' - If set to 'on', Readline will display completions with matches - sorted horizontally in alphabetical order, rather than down - the screen. The default is 'off'. - - 'revert-all-at-newline' - If set to 'on', Readline will undo all changes to history - lines before returning when 'accept-line' is executed. By - default, history lines may be modified and retain individual - undo lists across calls to 'readline()'. The default is - 'off'. - - 'show-all-if-ambiguous' - This alters the default behavior of the completion functions. - If set to 'on', words which have more than one possible - completion cause the matches to be listed immediately instead - of ringing the bell. The default value is 'off'. - - 'show-all-if-unmodified' - This alters the default behavior of the completion functions - in a fashion similar to SHOW-ALL-IF-AMBIGUOUS. If set to - 'on', words which have more than one possible completion - without any possible partial completion (the possible - completions don't share a common prefix) cause the matches to - be listed immediately instead of ringing the bell. The - default value is 'off'. - - 'show-mode-in-prompt' - If set to 'on', add a string to the beginning of the prompt - indicating the editing mode: emacs, vi command, or vi - insertion. The mode strings are user-settable (e.g., - EMACS-MODE-STRING). The default value is 'off'. - - 'skip-completed-text' - If set to 'on', this alters the default completion behavior - when inserting a single match into the line. It's only active - when performing completion in the middle of a word. If - enabled, Readline does not insert characters from the - completion that match characters after point in the word being - completed, so portions of the word following the cursor are - not duplicated. For instance, if this is enabled, attempting - completion when the cursor is after the 'e' in 'Makefile' will - result in 'Makefile' rather than 'Makefilefile', assuming - there is a single possible completion. The default value is - 'off'. - - 'vi-cmd-mode-string' - If the SHOW-MODE-IN-PROMPT variable is enabled, this string is - displayed immediately before the last line of the primary - prompt when vi editing mode is active and in command mode. - The value is expanded like a key binding, so the standard set - of meta- and control prefixes and backslash escape sequences - is available. Use the '\1' and '\2' escapes to begin and end - sequences of non-printing characters, which can be used to - embed a terminal control sequence into the mode string. The - default is '(cmd)'. - - 'vi-ins-mode-string' - If the SHOW-MODE-IN-PROMPT variable is enabled, this string is - displayed immediately before the last line of the primary - prompt when vi editing mode is active and in insertion mode. - The value is expanded like a key binding, so the standard set - of meta- and control prefixes and backslash escape sequences - is available. Use the '\1' and '\2' escapes to begin and end - sequences of non-printing characters, which can be used to - embed a terminal control sequence into the mode string. The - default is '(ins)'. - - 'visible-stats' - If set to 'on', a character denoting a file's type is appended - to the filename when listing possible completions. The - default is 'off'. - -Key Bindings - The syntax for controlling key bindings in the init file is simple. - First you need to find the name of the command that you want to - change. The following sections contain tables of the command name, - the default keybinding, if any, and a short description of what the - command does. - - Once you know the name of the command, simply place on a line in - the init file the name of the key you wish to bind the command to, - a colon, and then the name of the command. There can be no space - between the key name and the colon - that will be interpreted as - part of the key name. The name of the key can be expressed in - different ways, depending on what you find most comfortable. - - In addition to command names, Readline allows keys to be bound to a - string that is inserted when the key is pressed (a MACRO). - - The 'bind -p' command displays Readline function names and bindings - in a format that can be put directly into an initialization file. - *Note Bash Builtins::. - - KEYNAME: FUNCTION-NAME or MACRO - KEYNAME is the name of a key spelled out in English. For - example: - Control-u: universal-argument - Meta-Rubout: backward-kill-word - Control-o: "> output" - - In the example above, 'C-u' is bound to the function - 'universal-argument', 'M-DEL' is bound to the function - 'backward-kill-word', and 'C-o' is bound to run the macro - expressed on the right hand side (that is, to insert the text - '> output' into the line). - - A number of symbolic character names are recognized while - processing this key binding syntax: DEL, ESC, ESCAPE, LFD, - NEWLINE, RET, RETURN, RUBOUT, SPACE, SPC, and TAB. - - "KEYSEQ": FUNCTION-NAME or MACRO - KEYSEQ differs from KEYNAME above in that strings denoting an - entire key sequence can be specified, by placing the key - sequence in double quotes. Some GNU Emacs style key escapes - can be used, as in the following example, but the special - character names are not recognized. - - "\C-u": universal-argument - "\C-x\C-r": re-read-init-file - "\e[11~": "Function Key 1" - - In the above example, 'C-u' is again bound to the function - 'universal-argument' (just as it was in the first example), - ''C-x' 'C-r'' is bound to the function 're-read-init-file', - and '<ESC> <[> <1> <1> <~>' is bound to insert the text - 'Function Key 1'. - - The following GNU Emacs style escape sequences are available when - specifying key sequences: - - '\C-' - control prefix - '\M-' - meta prefix - '\e' - an escape character - '\\' - backslash - '\"' - <">, a double quotation mark - '\'' - <'>, a single quote or apostrophe - - In addition to the GNU Emacs style escape sequences, a second set - of backslash escapes is available: - - '\a' - alert (bell) - '\b' - backspace - '\d' - delete - '\f' - form feed - '\n' - newline - '\r' - carriage return - '\t' - horizontal tab - '\v' - vertical tab - '\NNN' - the eight-bit character whose value is the octal value NNN - (one to three digits) - '\xHH' - the eight-bit character whose value is the hexadecimal value - HH (one or two hex digits) - - When entering the text of a macro, single or double quotes must be - used to indicate a macro definition. Unquoted text is assumed to - be a function name. In the macro body, the backslash escapes - described above are expanded. Backslash will quote any other - character in the macro text, including '"' and '''. For example, - the following binding will make ''C-x' \' insert a single '\' into - the line: - "\C-x\\": "\\" - - -File: bash.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File - -8.3.2 Conditional Init Constructs ---------------------------------- - -Readline implements a facility similar in spirit to the conditional -compilation features of the C preprocessor which allows key bindings and -variable settings to be performed as the result of tests. There are -four parser directives used. - -'$if' - The '$if' construct allows bindings to be made based on the editing - mode, the terminal being used, or the application using Readline. - The text of the test, after any comparison operator, extends to the - end of the line; unless otherwise noted, no characters are required - to isolate it. - - 'mode' - The 'mode=' form of the '$if' directive is used to test - whether Readline is in 'emacs' or 'vi' mode. This may be used - in conjunction with the 'set keymap' command, for instance, to - set bindings in the 'emacs-standard' and 'emacs-ctlx' keymaps - only if Readline is starting out in 'emacs' mode. - - 'term' - The 'term=' form may be used to include terminal-specific key - bindings, perhaps to bind the key sequences output by the - terminal's function keys. The word on the right side of the - '=' is tested against both the full name of the terminal and - the portion of the terminal name before the first '-'. This - allows 'sun' to match both 'sun' and 'sun-cmd', for instance. - - 'version' - The 'version' test may be used to perform comparisons against - specific Readline versions. The 'version' expands to the - current Readline version. The set of comparison operators - includes '=' (and '=='), '!=', '<=', '>=', '<', and '>'. The - version number supplied on the right side of the operator - consists of a major version number, an optional decimal point, - and an optional minor version (e.g., '7.1'). If the minor - version is omitted, it is assumed to be '0'. The operator may - be separated from the string 'version' and from the version - number argument by whitespace. The following example sets a - variable if the Readline version being used is 7.0 or newer: - $if version >= 7.0 - set show-mode-in-prompt on - $endif - - 'application' - The APPLICATION construct is used to include - application-specific settings. Each program using the - Readline library sets the APPLICATION NAME, and you can test - for a particular value. This could be used to bind key - sequences to functions useful for a specific program. For - instance, the following command adds a key sequence that - quotes the current or previous word in Bash: - $if Bash - # Quote the current or previous word - "\C-xq": "\eb\"\ef\"" - $endif - - 'variable' - The VARIABLE construct provides simple equality tests for - Readline variables and values. The permitted comparison - operators are '=', '==', and '!='. The variable name must be - separated from the comparison operator by whitespace; the - operator may be separated from the value on the right hand - side by whitespace. Both string and boolean variables may be - tested. Boolean variables must be tested against the values - ON and OFF. The following example is equivalent to the - 'mode=emacs' test described above: - $if editing-mode == emacs - set show-mode-in-prompt on - $endif - -'$endif' - This command, as seen in the previous example, terminates an '$if' - command. - -'$else' - Commands in this branch of the '$if' directive are executed if the - test fails. - -'$include' - This directive takes a single filename as an argument and reads - commands and bindings from that file. For example, the following - directive reads from '/etc/inputrc': - $include /etc/inputrc - - -File: bash.info, Node: Sample Init File, Prev: Conditional Init Constructs, Up: Readline Init File - -8.3.3 Sample Init File ----------------------- - -Here is an example of an INPUTRC file. This illustrates key binding, -variable assignment, and conditional syntax. - - # This file controls the behaviour of line input editing for - # programs that use the GNU Readline library. Existing - # programs include FTP, Bash, and GDB. - # - # You can re-read the inputrc file with C-x C-r. - # Lines beginning with '#' are comments. - # - # First, include any system-wide bindings and variable - # assignments from /etc/Inputrc - $include /etc/Inputrc - - # - # Set various bindings for emacs mode. - - set editing-mode emacs - - $if mode=emacs - - Meta-Control-h: backward-kill-word Text after the function name is ignored - - # - # Arrow keys in keypad mode - # - #"\M-OD": backward-char - #"\M-OC": forward-char - #"\M-OA": previous-history - #"\M-OB": next-history - # - # Arrow keys in ANSI mode - # - "\M-[D": backward-char - "\M-[C": forward-char - "\M-[A": previous-history - "\M-[B": next-history - # - # Arrow keys in 8 bit keypad mode - # - #"\M-\C-OD": backward-char - #"\M-\C-OC": forward-char - #"\M-\C-OA": previous-history - #"\M-\C-OB": next-history - # - # Arrow keys in 8 bit ANSI mode - # - #"\M-\C-[D": backward-char - #"\M-\C-[C": forward-char - #"\M-\C-[A": previous-history - #"\M-\C-[B": next-history - - C-q: quoted-insert - - $endif - - # An old-style binding. This happens to be the default. - TAB: complete - - # Macros that are convenient for shell interaction - $if Bash - # edit the path - "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f" - # prepare to type a quoted word -- - # insert open and close double quotes - # and move to just after the open quote - "\C-x\"": "\"\"\C-b" - # insert a backslash (testing backslash escapes - # in sequences and macros) - "\C-x\\": "\\" - # Quote the current or previous word - "\C-xq": "\eb\"\ef\"" - # Add a binding to refresh the line, which is unbound - "\C-xr": redraw-current-line - # Edit variable on current line. - "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y=" - $endif - - # use a visible bell if one is available - set bell-style visible - - # don't strip characters to 7 bits when reading - set input-meta on - - # allow iso-latin1 characters to be inserted rather - # than converted to prefix-meta sequences - set convert-meta off - - # display characters with the eighth bit set directly - # rather than as meta-prefixed characters - set output-meta on - - # if there are 150 or more possible completions for a word, - # ask whether or not the user wants to see all of them - set completion-query-items 150 - - # For FTP - $if Ftp - "\C-xg": "get \M-?" - "\C-xt": "put \M-?" - "\M-.": yank-last-arg - $endif - - -File: bash.info, Node: Bindable Readline Commands, Next: Readline vi Mode, Prev: Readline Init File, Up: Command Line Editing - -8.4 Bindable Readline Commands -============================== - -* Menu: - -* Commands For Moving:: Moving about the line. -* Commands For History:: Getting at previous lines. -* Commands For Text:: Commands for changing text. -* Commands For Killing:: Commands for killing and yanking. -* Numeric Arguments:: Specifying numeric arguments, repeat counts. -* Commands For Completion:: Getting Readline to do the typing for you. -* Keyboard Macros:: Saving and re-executing typed characters -* Miscellaneous Commands:: Other miscellaneous commands. - -This section describes Readline commands that may be bound to key -sequences. You can list your key bindings by executing 'bind -P' or, -for a more terse format, suitable for an INPUTRC file, 'bind -p'. -(*Note Bash Builtins::.) Command names without an accompanying key -sequence are unbound by default. - - In the following descriptions, "point" refers to the current cursor -position, and "mark" refers to a cursor position saved by the 'set-mark' -command. The text between the point and mark is referred to as the -"region". - - -File: bash.info, Node: Commands For Moving, Next: Commands For History, Up: Bindable Readline Commands - -8.4.1 Commands For Moving -------------------------- - -'beginning-of-line (C-a)' - Move to the start of the current line. - -'end-of-line (C-e)' - Move to the end of the line. - -'forward-char (C-f)' - Move forward a character. - -'backward-char (C-b)' - Move back a character. - -'forward-word (M-f)' - Move forward to the end of the next word. Words are composed of - letters and digits. - -'backward-word (M-b)' - Move back to the start of the current or previous word. Words are - composed of letters and digits. - -'shell-forward-word (M-C-f)' - Move forward to the end of the next word. Words are delimited by - non-quoted shell metacharacters. - -'shell-backward-word (M-C-b)' - Move back to the start of the current or previous word. Words are - delimited by non-quoted shell metacharacters. - -'previous-screen-line ()' - Attempt to move point to the same physical screen column on the - previous physical screen line. This will not have the desired - effect if the current Readline line does not take up more than one - physical line or if point is not greater than the length of the - prompt plus the screen width. - -'next-screen-line ()' - Attempt to move point to the same physical screen column on the - next physical screen line. This will not have the desired effect - if the current Readline line does not take up more than one - physical line or if the length of the current Readline line is not - greater than the length of the prompt plus the screen width. - -'clear-display (M-C-l)' - Clear the screen and, if possible, the terminal's scrollback - buffer, then redraw the current line, leaving the current line at - the top of the screen. - -'clear-screen (C-l)' - Clear the screen, then redraw the current line, leaving the current - line at the top of the screen. - -'redraw-current-line ()' - Refresh the current line. By default, this is unbound. - - -File: bash.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands - -8.4.2 Commands For Manipulating The History -------------------------------------------- - -'accept-line (Newline or Return)' - Accept the line regardless of where the cursor is. If this line is - non-empty, add it to the history list according to the setting of - the 'HISTCONTROL' and 'HISTIGNORE' variables. If this line is a - modified history line, then restore the history line to its - original state. - -'previous-history (C-p)' - Move 'back' through the history list, fetching the previous - command. - -'next-history (C-n)' - Move 'forward' through the history list, fetching the next command. - -'beginning-of-history (M-<)' - Move to the first line in the history. - -'end-of-history (M->)' - Move to the end of the input history, i.e., the line currently - being entered. - -'reverse-search-history (C-r)' - Search backward starting at the current line and moving 'up' - through the history as necessary. This is an incremental search. - This command sets the region to the matched text and activates the - mark. - -'forward-search-history (C-s)' - Search forward starting at the current line and moving 'down' - through the history as necessary. This is an incremental search. - This command sets the region to the matched text and activates the - mark. - -'non-incremental-reverse-search-history (M-p)' - Search backward starting at the current line and moving 'up' - through the history as necessary using a non-incremental search for - a string supplied by the user. The search string may match - anywhere in a history line. - -'non-incremental-forward-search-history (M-n)' - Search forward starting at the current line and moving 'down' - through the history as necessary using a non-incremental search for - a string supplied by the user. The search string may match - anywhere in a history line. - -'history-search-forward ()' - Search forward through the history for the string of characters - between the start of the current line and the point. The search - string must match at the beginning of a history line. This is a - non-incremental search. By default, this command is unbound. - -'history-search-backward ()' - Search backward through the history for the string of characters - between the start of the current line and the point. The search - string must match at the beginning of a history line. This is a - non-incremental search. By default, this command is unbound. - -'history-substring-search-forward ()' - Search forward through the history for the string of characters - between the start of the current line and the point. The search - string may match anywhere in a history line. This is a - non-incremental search. By default, this command is unbound. - -'history-substring-search-backward ()' - Search backward through the history for the string of characters - between the start of the current line and the point. The search - string may match anywhere in a history line. This is a - non-incremental search. By default, this command is unbound. - -'yank-nth-arg (M-C-y)' - Insert the first argument to the previous command (usually the - second word on the previous line) at point. With an argument N, - insert the Nth word from the previous command (the words in the - previous command begin with word 0). A negative argument inserts - the Nth word from the end of the previous command. Once the - argument N is computed, the argument is extracted as if the '!N' - history expansion had been specified. - -'yank-last-arg (M-. or M-_)' - Insert last argument to the previous command (the last word of the - previous history entry). With a numeric argument, behave exactly - like 'yank-nth-arg'. Successive calls to 'yank-last-arg' move back - through the history list, inserting the last word (or the word - specified by the argument to the first call) of each line in turn. - Any numeric argument supplied to these successive calls determines - the direction to move through the history. A negative argument - switches the direction through the history (back or forward). The - history expansion facilities are used to extract the last argument, - as if the '!$' history expansion had been specified. - -'operate-and-get-next (C-o)' - Accept the current line for return to the calling application as if - a newline had been entered, and fetch the next line relative to the - current line from the history for editing. A numeric argument, if - supplied, specifies the history entry to use instead of the current - line. - -'fetch-history ()' - With a numeric argument, fetch that entry from the history list and - make it the current line. Without an argument, move back to the - first entry in the history list. - - -File: bash.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands - -8.4.3 Commands For Changing Text --------------------------------- - -'end-of-file (usually C-d)' - The character indicating end-of-file as set, for example, by - 'stty'. If this character is read when there are no characters on - the line, and point is at the beginning of the line, Readline - interprets it as the end of input and returns EOF. - -'delete-char (C-d)' - Delete the character at point. If this function is bound to the - same character as the tty EOF character, as 'C-d' commonly is, see - above for the effects. - -'backward-delete-char (Rubout)' - Delete the character behind the cursor. A numeric argument means - to kill the characters instead of deleting them. - -'forward-backward-delete-char ()' - Delete the character under the cursor, unless the cursor is at the - end of the line, in which case the character behind the cursor is - deleted. By default, this is not bound to a key. - -'quoted-insert (C-q or C-v)' - Add the next character typed to the line verbatim. This is how to - insert key sequences like 'C-q', for example. - -'self-insert (a, b, A, 1, !, ...)' - Insert yourself. - -'bracketed-paste-begin ()' - This function is intended to be bound to the "bracketed paste" - escape sequence sent by some terminals, and such a binding is - assigned by default. It allows Readline to insert the pasted text - as a single unit without treating each character as if it had been - read from the keyboard. The characters are inserted as if each one - was bound to 'self-insert' instead of executing any editing - commands. - - Bracketed paste sets the region (the characters between point and - the mark) to the inserted text. It uses the concept of an _active - mark_: when the mark is active, Readline redisplay uses the - terminal's standout mode to denote the region. - -'transpose-chars (C-t)' - Drag the character before the cursor forward over the character at - the cursor, moving the cursor forward as well. If the insertion - point is at the end of the line, then this transposes the last two - characters of the line. Negative arguments have no effect. - -'transpose-words (M-t)' - Drag the word before point past the word after point, moving point - past that word as well. If the insertion point is at the end of - the line, this transposes the last two words on the line. - -'upcase-word (M-u)' - Uppercase the current (or following) word. With a negative - argument, uppercase the previous word, but do not move the cursor. - -'downcase-word (M-l)' - Lowercase the current (or following) word. With a negative - argument, lowercase the previous word, but do not move the cursor. - -'capitalize-word (M-c)' - Capitalize the current (or following) word. With a negative - argument, capitalize the previous word, but do not move the cursor. - -'overwrite-mode ()' - Toggle overwrite mode. With an explicit positive numeric argument, - switches to overwrite mode. With an explicit non-positive numeric - argument, switches to insert mode. This command affects only - 'emacs' mode; 'vi' mode does overwrite differently. Each call to - 'readline()' starts in insert mode. - - In overwrite mode, characters bound to 'self-insert' replace the - text at point rather than pushing the text to the right. - Characters bound to 'backward-delete-char' replace the character - before point with a space. - - By default, this command is unbound. - - -File: bash.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands - -8.4.4 Killing And Yanking -------------------------- - -'kill-line (C-k)' - Kill the text from point to the end of the line. With a negative - numeric argument, kill backward from the cursor to the beginning of - the current line. - -'backward-kill-line (C-x Rubout)' - Kill backward from the cursor to the beginning of the current line. - With a negative numeric argument, kill forward from the cursor to - the end of the current line. - -'unix-line-discard (C-u)' - Kill backward from the cursor to the beginning of the current line. - -'kill-whole-line ()' - Kill all characters on the current line, no matter where point is. - By default, this is unbound. - -'kill-word (M-d)' - Kill from point to the end of the current word, or if between - words, to the end of the next word. Word boundaries are the same - as 'forward-word'. - -'backward-kill-word (M-<DEL>)' - Kill the word behind point. Word boundaries are the same as - 'backward-word'. - -'shell-kill-word (M-C-d)' - Kill from point to the end of the current word, or if between - words, to the end of the next word. Word boundaries are the same - as 'shell-forward-word'. - -'shell-backward-kill-word ()' - Kill the word behind point. Word boundaries are the same as - 'shell-backward-word'. - -'shell-transpose-words (M-C-t)' - Drag the word before point past the word after point, moving point - past that word as well. If the insertion point is at the end of - the line, this transposes the last two words on the line. Word - boundaries are the same as 'shell-forward-word' and - 'shell-backward-word'. - -'unix-word-rubout (C-w)' - Kill the word behind point, using white space as a word boundary. - The killed text is saved on the kill-ring. - -'unix-filename-rubout ()' - Kill the word behind point, using white space and the slash - character as the word boundaries. The killed text is saved on the - kill-ring. - -'delete-horizontal-space ()' - Delete all spaces and tabs around point. By default, this is - unbound. - -'kill-region ()' - Kill the text in the current region. By default, this command is - unbound. - -'copy-region-as-kill ()' - Copy the text in the region to the kill buffer, so it can be yanked - right away. By default, this command is unbound. - -'copy-backward-word ()' - Copy the word before point to the kill buffer. The word boundaries - are the same as 'backward-word'. By default, this command is - unbound. - -'copy-forward-word ()' - Copy the word following point to the kill buffer. The word - boundaries are the same as 'forward-word'. By default, this - command is unbound. - -'yank (C-y)' - Yank the top of the kill ring into the buffer at point. - -'yank-pop (M-y)' - Rotate the kill-ring, and yank the new top. You can only do this - if the prior command is 'yank' or 'yank-pop'. - - -File: bash.info, Node: Numeric Arguments, Next: Commands For Completion, Prev: Commands For Killing, Up: Bindable Readline Commands - -8.4.5 Specifying Numeric Arguments ----------------------------------- - -'digit-argument (M-0, M-1, ... M--)' - Add this digit to the argument already accumulating, or start a new - argument. 'M--' starts a negative argument. - -'universal-argument ()' - This is another way to specify an argument. If this command is - followed by one or more digits, optionally with a leading minus - sign, those digits define the argument. If the command is followed - by digits, executing 'universal-argument' again ends the numeric - argument, but is otherwise ignored. As a special case, if this - command is immediately followed by a character that is neither a - digit nor minus sign, the argument count for the next command is - multiplied by four. The argument count is initially one, so - executing this function the first time makes the argument count - four, a second time makes the argument count sixteen, and so on. - By default, this is not bound to a key. - - -File: bash.info, Node: Commands For Completion, Next: Keyboard Macros, Prev: Numeric Arguments, Up: Bindable Readline Commands - -8.4.6 Letting Readline Type For You ------------------------------------ - -'complete (<TAB>)' - Attempt to perform completion on the text before point. The actual - completion performed is application-specific. Bash attempts - completion treating the text as a variable (if the text begins with - '$'), username (if the text begins with '~'), hostname (if the text - begins with '@'), or command (including aliases and functions) in - turn. If none of these produces a match, filename completion is - attempted. - -'possible-completions (M-?)' - List the possible completions of the text before point. When - displaying completions, Readline sets the number of columns used - for display to the value of 'completion-display-width', the value - of the environment variable 'COLUMNS', or the screen width, in that - order. - -'insert-completions (M-*)' - Insert all completions of the text before point that would have - been generated by 'possible-completions'. - -'menu-complete ()' - Similar to 'complete', but replaces the word to be completed with a - single match from the list of possible completions. Repeated - execution of 'menu-complete' steps through the list of possible - completions, inserting each match in turn. At the end of the list - of completions, the bell is rung (subject to the setting of - 'bell-style') and the original text is restored. An argument of N - moves N positions forward in the list of matches; a negative - argument may be used to move backward through the list. This - command is intended to be bound to <TAB>, but is unbound by - default. - -'menu-complete-backward ()' - Identical to 'menu-complete', but moves backward through the list - of possible completions, as if 'menu-complete' had been given a - negative argument. - -'delete-char-or-list ()' - Deletes the character under the cursor if not at the beginning or - end of the line (like 'delete-char'). If at the end of the line, - behaves identically to 'possible-completions'. This command is - unbound by default. - -'complete-filename (M-/)' - Attempt filename completion on the text before point. - -'possible-filename-completions (C-x /)' - List the possible completions of the text before point, treating it - as a filename. - -'complete-username (M-~)' - Attempt completion on the text before point, treating it as a - username. - -'possible-username-completions (C-x ~)' - List the possible completions of the text before point, treating it - as a username. - -'complete-variable (M-$)' - Attempt completion on the text before point, treating it as a shell - variable. - -'possible-variable-completions (C-x $)' - List the possible completions of the text before point, treating it - as a shell variable. - -'complete-hostname (M-@)' - Attempt completion on the text before point, treating it as a - hostname. - -'possible-hostname-completions (C-x @)' - List the possible completions of the text before point, treating it - as a hostname. - -'complete-command (M-!)' - Attempt completion on the text before point, treating it as a - command name. Command completion attempts to match the text - against aliases, reserved words, shell functions, shell builtins, - and finally executable filenames, in that order. - -'possible-command-completions (C-x !)' - List the possible completions of the text before point, treating it - as a command name. - -'dynamic-complete-history (M-<TAB>)' - Attempt completion on the text before point, comparing the text - against lines from the history list for possible completion - matches. - -'dabbrev-expand ()' - Attempt menu completion on the text before point, comparing the - text against lines from the history list for possible completion - matches. - -'complete-into-braces (M-{)' - Perform filename completion and insert the list of possible - completions enclosed within braces so the list is available to the - shell (*note Brace Expansion::). - - -File: bash.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands - -8.4.7 Keyboard Macros ---------------------- - -'start-kbd-macro (C-x ()' - Begin saving the characters typed into the current keyboard macro. - -'end-kbd-macro (C-x ))' - Stop saving the characters typed into the current keyboard macro - and save the definition. - -'call-last-kbd-macro (C-x e)' - Re-execute the last keyboard macro defined, by making the - characters in the macro appear as if typed at the keyboard. - -'print-last-kbd-macro ()' - Print the last keyboard macro defined in a format suitable for the - INPUTRC file. - - -File: bash.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands - -8.4.8 Some Miscellaneous Commands ---------------------------------- - -'re-read-init-file (C-x C-r)' - Read in the contents of the INPUTRC file, and incorporate any - bindings or variable assignments found there. - -'abort (C-g)' - Abort the current editing command and ring the terminal's bell - (subject to the setting of 'bell-style'). - -'do-lowercase-version (M-A, M-B, M-X, ...)' - If the metafied character X is upper case, run the command that is - bound to the corresponding metafied lower case character. The - behavior is undefined if X is already lower case. - -'prefix-meta (<ESC>)' - Metafy the next character typed. This is for keyboards without a - meta key. Typing '<ESC> f' is equivalent to typing 'M-f'. - -'undo (C-_ or C-x C-u)' - Incremental undo, separately remembered for each line. - -'revert-line (M-r)' - Undo all changes made to this line. This is like executing the - 'undo' command enough times to get back to the beginning. - -'tilde-expand (M-&)' - Perform tilde expansion on the current word. - -'set-mark (C-@)' - Set the mark to the point. If a numeric argument is supplied, the - mark is set to that position. - -'exchange-point-and-mark (C-x C-x)' - Swap the point with the mark. The current cursor position is set - to the saved position, and the old cursor position is saved as the - mark. - -'character-search (C-])' - A character is read and point is moved to the next occurrence of - that character. A negative argument searches for previous - occurrences. - -'character-search-backward (M-C-])' - A character is read and point is moved to the previous occurrence - of that character. A negative argument searches for subsequent - occurrences. - -'skip-csi-sequence ()' - Read enough characters to consume a multi-key sequence such as - those defined for keys like Home and End. Such sequences begin - with a Control Sequence Indicator (CSI), usually ESC-[. If this - sequence is bound to "\e[", keys producing such sequences will have - no effect unless explicitly bound to a Readline command, instead of - inserting stray characters into the editing buffer. This is - unbound by default, but usually bound to ESC-[. - -'insert-comment (M-#)' - Without a numeric argument, the value of the 'comment-begin' - variable is inserted at the beginning of the current line. If a - numeric argument is supplied, this command acts as a toggle: if the - characters at the beginning of the line do not match the value of - 'comment-begin', the value is inserted, otherwise the characters in - 'comment-begin' are deleted from the beginning of the line. In - either case, the line is accepted as if a newline had been typed. - The default value of 'comment-begin' causes this command to make - the current line a shell comment. If a numeric argument causes the - comment character to be removed, the line will be executed by the - shell. - -'dump-functions ()' - Print all of the functions and their key bindings to the Readline - output stream. If a numeric argument is supplied, the output is - formatted in such a way that it can be made part of an INPUTRC - file. This command is unbound by default. - -'dump-variables ()' - Print all of the settable variables and their values to the - Readline output stream. If a numeric argument is supplied, the - output is formatted in such a way that it can be made part of an - INPUTRC file. This command is unbound by default. - -'dump-macros ()' - Print all of the Readline key sequences bound to macros and the - strings they output. If a numeric argument is supplied, the output - is formatted in such a way that it can be made part of an INPUTRC - file. This command is unbound by default. - -'spell-correct-word (C-x s)' - Perform spelling correction on the current word, treating it as a - directory or filename, in the same way as the 'cdspell' shell - option. Word boundaries are the same as those used by - 'shell-forward-word'. - -'glob-complete-word (M-g)' - The word before point is treated as a pattern for pathname - expansion, with an asterisk implicitly appended. This pattern is - used to generate a list of matching file names for possible - completions. - -'glob-expand-word (C-x *)' - The word before point is treated as a pattern for pathname - expansion, and the list of matching file names is inserted, - replacing the word. If a numeric argument is supplied, a '*' is - appended before pathname expansion. - -'glob-list-expansions (C-x g)' - The list of expansions that would have been generated by - 'glob-expand-word' is displayed, and the line is redrawn. If a - numeric argument is supplied, a '*' is appended before pathname - expansion. - -'display-shell-version (C-x C-v)' - Display version information about the current instance of Bash. - -'shell-expand-line (M-C-e)' - Expand the line as the shell does. This performs alias and history - expansion as well as all of the shell word expansions (*note Shell - Expansions::). - -'history-expand-line (M-^)' - Perform history expansion on the current line. - -'magic-space ()' - Perform history expansion on the current line and insert a space - (*note History Interaction::). - -'alias-expand-line ()' - Perform alias expansion on the current line (*note Aliases::). - -'history-and-alias-expand-line ()' - Perform history and alias expansion on the current line. - -'insert-last-argument (M-. or M-_)' - A synonym for 'yank-last-arg'. - -'edit-and-execute-command (C-x C-e)' - Invoke an editor on the current command line, and execute the - result as shell commands. Bash attempts to invoke '$VISUAL', - '$EDITOR', and 'emacs' as the editor, in that order. - - -File: bash.info, Node: Readline vi Mode, Next: Programmable Completion, Prev: Bindable Readline Commands, Up: Command Line Editing - -8.5 Readline vi Mode -==================== - -While the Readline library does not have a full set of 'vi' editing -functions, it does contain enough to allow simple editing of the line. -The Readline 'vi' mode behaves as specified in the POSIX standard. - - In order to switch interactively between 'emacs' and 'vi' editing -modes, use the 'set -o emacs' and 'set -o vi' commands (*note The Set -Builtin::). The Readline default is 'emacs' mode. - - When you enter a line in 'vi' mode, you are already placed in -'insertion' mode, as if you had typed an 'i'. Pressing <ESC> switches -you into 'command' mode, where you can edit the text of the line with -the standard 'vi' movement keys, move to previous history lines with 'k' -and subsequent lines with 'j', and so forth. - - -File: bash.info, Node: Programmable Completion, Next: Programmable Completion Builtins, Prev: Readline vi Mode, Up: Command Line Editing - -8.6 Programmable Completion -=========================== - -When word completion is attempted for an argument to a command for which -a completion specification (a COMPSPEC) has been defined using the -'complete' builtin (*note Programmable Completion Builtins::), the -programmable completion facilities are invoked. - - First, the command name is identified. If a compspec has been -defined for that command, the compspec is used to generate the list of -possible completions for the word. If the command word is the empty -string (completion attempted at the beginning of an empty line), any -compspec defined with the '-E' option to 'complete' is used. If the -command word is a full pathname, a compspec for the full pathname is -searched for first. If no compspec is found for the full pathname, an -attempt is made to find a compspec for the portion following the final -slash. If those searches do not result in a compspec, any compspec -defined with the '-D' option to 'complete' is used as the default. If -there is no default compspec, Bash attempts alias expansion on the -command word as a final resort, and attempts to find a compspec for the -command word from any successful expansion - - Once a compspec has been found, it is used to generate the list of -matching words. If a compspec is not found, the default Bash completion -described above (*note Commands For Completion::) is performed. - - First, the actions specified by the compspec are used. Only matches -which are prefixed by the word being completed are returned. When the -'-f' or '-d' option is used for filename or directory name completion, -the shell variable 'FIGNORE' is used to filter the matches. *Note Bash -Variables::, for a description of 'FIGNORE'. - - Any completions specified by a filename expansion pattern to the '-G' -option are generated next. The words generated by the pattern need not -match the word being completed. The 'GLOBIGNORE' shell variable is not -used to filter the matches, but the 'FIGNORE' shell variable is used. - - Next, the string specified as the argument to the '-W' option is -considered. The string is first split using the characters in the 'IFS' -special variable as delimiters. Shell quoting is honored within the -string, in order to provide a mechanism for the words to contain shell -metacharacters or characters in the value of 'IFS'. Each word is then -expanded using brace expansion, tilde expansion, parameter and variable -expansion, command substitution, and arithmetic expansion, as described -above (*note Shell Expansions::). The results are split using the rules -described above (*note Word Splitting::). The results of the expansion -are prefix-matched against the word being completed, and the matching -words become the possible completions. - - After these matches have been generated, any shell function or -command specified with the '-F' and '-C' options is invoked. When the -command or function is invoked, the 'COMP_LINE', 'COMP_POINT', -'COMP_KEY', and 'COMP_TYPE' variables are assigned values as described -above (*note Bash Variables::). If a shell function is being invoked, -the 'COMP_WORDS' and 'COMP_CWORD' variables are also set. When the -function or command is invoked, the first argument ($1) is the name of -the command whose arguments are being completed, the second argument -($2) is the word being completed, and the third argument ($3) is the -word preceding the word being completed on the current command line. No -filtering of the generated completions against the word being completed -is performed; the function or command has complete freedom in generating -the matches. - - Any function specified with '-F' is invoked first. The function may -use any of the shell facilities, including the 'compgen' and 'compopt' -builtins described below (*note Programmable Completion Builtins::), to -generate the matches. It must put the possible completions in the -'COMPREPLY' array variable, one per array element. - - Next, any command specified with the '-C' option is invoked in an -environment equivalent to command substitution. It should print a list -of completions, one per line, to the standard output. Backslash may be -used to escape a newline, if necessary. - - After all of the possible completions are generated, any filter -specified with the '-X' option is applied to the list. The filter is a -pattern as used for pathname expansion; a '&' in the pattern is replaced -with the text of the word being completed. A literal '&' may be escaped -with a backslash; the backslash is removed before attempting a match. -Any completion that matches the pattern will be removed from the list. -A leading '!' negates the pattern; in this case any completion not -matching the pattern will be removed. If the 'nocasematch' shell option -(see the description of 'shopt' in *note The Shopt Builtin::) is -enabled, the match is performed without regard to the case of alphabetic -characters. - - Finally, any prefix and suffix specified with the '-P' and '-S' -options are added to each member of the completion list, and the result -is returned to the Readline completion code as the list of possible -completions. - - If the previously-applied actions do not generate any matches, and -the '-o dirnames' option was supplied to 'complete' when the compspec -was defined, directory name completion is attempted. - - If the '-o plusdirs' option was supplied to 'complete' when the -compspec was defined, directory name completion is attempted and any -matches are added to the results of the other actions. - - By default, if a compspec is found, whatever it generates is returned -to the completion code as the full set of possible completions. The -default Bash completions are not attempted, and the Readline default of -filename completion is disabled. If the '-o bashdefault' option was -supplied to 'complete' when the compspec was defined, the default Bash -completions are attempted if the compspec generates no matches. If the -'-o default' option was supplied to 'complete' when the compspec was -defined, Readline's default completion will be performed if the compspec -(and, if attempted, the default Bash completions) generate no matches. - - When a compspec indicates that directory name completion is desired, -the programmable completion functions force Readline to append a slash -to completed names which are symbolic links to directories, subject to -the value of the MARK-DIRECTORIES Readline variable, regardless of the -setting of the MARK-SYMLINKED-DIRECTORIES Readline variable. - - There is some support for dynamically modifying completions. This is -most useful when used in combination with a default completion specified -with '-D'. It's possible for shell functions executed as completion -handlers to indicate that completion should be retried by returning an -exit status of 124. If a shell function returns 124, and changes the -compspec associated with the command on which completion is being -attempted (supplied as the first argument when the function is -executed), programmable completion restarts from the beginning, with an -attempt to find a new compspec for that command. This allows a set of -completions to be built dynamically as completion is attempted, rather -than being loaded all at once. - - For instance, assuming that there is a library of compspecs, each -kept in a file corresponding to the name of the command, the following -default completion function would load completions dynamically: - - _completion_loader() - { - . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124 - } - complete -D -F _completion_loader -o bashdefault -o default - - -File: bash.info, Node: Programmable Completion Builtins, Next: A Programmable Completion Example, Prev: Programmable Completion, Up: Command Line Editing - -8.7 Programmable Completion Builtins -==================================== - -Three builtin commands are available to manipulate the programmable -completion facilities: one to specify how the arguments to a particular -command are to be completed, and two to modify the completion as it is -happening. - -'compgen' - compgen [OPTION] [WORD] - - Generate possible completion matches for WORD according to the - OPTIONs, which may be any option accepted by the 'complete' builtin - with the exception of '-p' and '-r', and write the matches to the - standard output. When using the '-F' or '-C' options, the various - shell variables set by the programmable completion facilities, - while available, will not have useful values. - - The matches will be generated in the same way as if the - programmable completion code had generated them directly from a - completion specification with the same flags. If WORD is - specified, only those completions matching WORD will be displayed. - - The return value is true unless an invalid option is supplied, or - no matches were generated. - -'complete' - complete [-abcdefgjksuv] [-o COMP-OPTION] [-DEI] [-A ACTION] [-G GLOBPAT] - [-W WORDLIST] [-F FUNCTION] [-C COMMAND] [-X FILTERPAT] - [-P PREFIX] [-S SUFFIX] NAME [NAME ...] - complete -pr [-DEI] [NAME ...] - - Specify how arguments to each NAME should be completed. If the - '-p' option is supplied, or if no options are supplied, existing - completion specifications are printed in a way that allows them to - be reused as input. The '-r' option removes a completion - specification for each NAME, or, if no NAMEs are supplied, all - completion specifications. The '-D' option indicates that other - supplied options and actions should apply to the "default" command - completion; that is, completion attempted on a command for which no - completion has previously been defined. The '-E' option indicates - that other supplied options and actions should apply to "empty" - command completion; that is, completion attempted on a blank line. - The '-I' option indicates that other supplied options and actions - should apply to completion on the initial non-assignment word on - the line, or after a command delimiter such as ';' or '|', which is - usually command name completion. If multiple options are supplied, - the '-D' option takes precedence over '-E', and both take - precedence over '-I'. If any of '-D', '-E', or '-I' are supplied, - any other NAME arguments are ignored; these completions only apply - to the case specified by the option. - - The process of applying these completion specifications when word - completion is attempted is described above (*note Programmable - Completion::). - - Other options, if specified, have the following meanings. The - arguments to the '-G', '-W', and '-X' options (and, if necessary, - the '-P' and '-S' options) should be quoted to protect them from - expansion before the 'complete' builtin is invoked. - - '-o COMP-OPTION' - The COMP-OPTION controls several aspects of the compspec's - behavior beyond the simple generation of completions. - COMP-OPTION may be one of: - - 'bashdefault' - Perform the rest of the default Bash completions if the - compspec generates no matches. - - 'default' - Use Readline's default filename completion if the - compspec generates no matches. - - 'dirnames' - Perform directory name completion if the compspec - generates no matches. - - 'filenames' - Tell Readline that the compspec generates filenames, so - it can perform any filename-specific processing (like - adding a slash to directory names, quoting special - characters, or suppressing trailing spaces). This option - is intended to be used with shell functions specified - with '-F'. - - 'noquote' - Tell Readline not to quote the completed words if they - are filenames (quoting filenames is the default). - - 'nosort' - Tell Readline not to sort the list of possible - completions alphabetically. - - 'nospace' - Tell Readline not to append a space (the default) to - words completed at the end of the line. - - 'plusdirs' - After any matches defined by the compspec are generated, - directory name completion is attempted and any matches - are added to the results of the other actions. - - '-A ACTION' - The ACTION may be one of the following to generate a list of - possible completions: - - 'alias' - Alias names. May also be specified as '-a'. - - 'arrayvar' - Array variable names. - - 'binding' - Readline key binding names (*note Bindable Readline - Commands::). - - 'builtin' - Names of shell builtin commands. May also be specified - as '-b'. - - 'command' - Command names. May also be specified as '-c'. - - 'directory' - Directory names. May also be specified as '-d'. - - 'disabled' - Names of disabled shell builtins. - - 'enabled' - Names of enabled shell builtins. - - 'export' - Names of exported shell variables. May also be specified - as '-e'. - - 'file' - File names. May also be specified as '-f'. - - 'function' - Names of shell functions. - - 'group' - Group names. May also be specified as '-g'. - - 'helptopic' - Help topics as accepted by the 'help' builtin (*note Bash - Builtins::). - - 'hostname' - Hostnames, as taken from the file specified by the - 'HOSTFILE' shell variable (*note Bash Variables::). - - 'job' - Job names, if job control is active. May also be - specified as '-j'. - - 'keyword' - Shell reserved words. May also be specified as '-k'. - - 'running' - Names of running jobs, if job control is active. - - 'service' - Service names. May also be specified as '-s'. - - 'setopt' - Valid arguments for the '-o' option to the 'set' builtin - (*note The Set Builtin::). - - 'shopt' - Shell option names as accepted by the 'shopt' builtin - (*note Bash Builtins::). - - 'signal' - Signal names. - - 'stopped' - Names of stopped jobs, if job control is active. - - 'user' - User names. May also be specified as '-u'. - - 'variable' - Names of all shell variables. May also be specified as - '-v'. - - '-C COMMAND' - COMMAND is executed in a subshell environment, and its output - is used as the possible completions. Arguments are passed as - with the '-F' option. - - '-F FUNCTION' - The shell function FUNCTION is executed in the current shell - environment. When it is executed, $1 is the name of the - command whose arguments are being completed, $2 is the word - being completed, and $3 is the word preceding the word being - completed, as described above (*note Programmable - Completion::). When it finishes, the possible completions are - retrieved from the value of the 'COMPREPLY' array variable. - - '-G GLOBPAT' - The filename expansion pattern GLOBPAT is expanded to generate - the possible completions. - - '-P PREFIX' - PREFIX is added at the beginning of each possible completion - after all other options have been applied. - - '-S SUFFIX' - SUFFIX is appended to each possible completion after all other - options have been applied. - - '-W WORDLIST' - The WORDLIST is split using the characters in the 'IFS' - special variable as delimiters, and each resultant word is - expanded. The possible completions are the members of the - resultant list which match the word being completed. - - '-X FILTERPAT' - FILTERPAT is a pattern as used for filename expansion. It is - applied to the list of possible completions generated by the - preceding options and arguments, and each completion matching - FILTERPAT is removed from the list. A leading '!' in - FILTERPAT negates the pattern; in this case, any completion - not matching FILTERPAT is removed. - - The return value is true unless an invalid option is supplied, an - option other than '-p' or '-r' is supplied without a NAME argument, - an attempt is made to remove a completion specification for a NAME - for which no specification exists, or an error occurs adding a - completion specification. - -'compopt' - compopt [-o OPTION] [-DEI] [+o OPTION] [NAME] - Modify completion options for each NAME according to the OPTIONs, - or for the currently-executing completion if no NAMEs are supplied. - If no OPTIONs are given, display the completion options for each - NAME or the current completion. The possible values of OPTION are - those valid for the 'complete' builtin described above. The '-D' - option indicates that other supplied options should apply to the - "default" command completion; that is, completion attempted on a - command for which no completion has previously been defined. The - '-E' option indicates that other supplied options should apply to - "empty" command completion; that is, completion attempted on a - blank line. The '-I' option indicates that other supplied options - should apply to completion on the initial non-assignment word on - the line, or after a command delimiter such as ';' or '|', which is - usually command name completion. - - If multiple options are supplied, the '-D' option takes precedence - over '-E', and both take precedence over '-I' - - The return value is true unless an invalid option is supplied, an - attempt is made to modify the options for a NAME for which no - completion specification exists, or an output error occurs. - - -File: bash.info, Node: A Programmable Completion Example, Prev: Programmable Completion Builtins, Up: Command Line Editing - -8.8 A Programmable Completion Example -===================================== - -The most common way to obtain additional completion functionality beyond -the default actions 'complete' and 'compgen' provide is to use a shell -function and bind it to a particular command using 'complete -F'. - - The following function provides completions for the 'cd' builtin. It -is a reasonably good example of what shell functions must do when used -for completion. This function uses the word passed as '$2' to determine -the directory name to complete. You can also use the 'COMP_WORDS' array -variable; the current word is indexed by the 'COMP_CWORD' variable. - - The function relies on the 'complete' and 'compgen' builtins to do -much of the work, adding only the things that the Bash 'cd' does beyond -accepting basic directory names: tilde expansion (*note Tilde -Expansion::), searching directories in $CDPATH, which is described above -(*note Bourne Shell Builtins::), and basic support for the 'cdable_vars' -shell option (*note The Shopt Builtin::). '_comp_cd' modifies the value -of IFS so that it contains only a newline to accommodate file names -containing spaces and tabs - 'compgen' prints the possible completions -it generates one per line. - - Possible completions go into the COMPREPLY array variable, one -completion per array element. The programmable completion system -retrieves the completions from there when the function returns. - - # A completion function for the cd builtin - # based on the cd completion function from the bash_completion package - _comp_cd() - { - local IFS=$' \t\n' # normalize IFS - local cur _skipdot _cdpath - local i j k - - # Tilde expansion, which also expands tilde to full pathname - case "$2" in - \~*) eval cur="$2" ;; - *) cur=$2 ;; - esac - - # no cdpath or absolute pathname -- straight directory completion - if [[ -z "${CDPATH:-}" ]] || [[ "$cur" == @(./*|../*|/*) ]]; then - # compgen prints paths one per line; could also use while loop - IFS=$'\n' - COMPREPLY=( $(compgen -d -- "$cur") ) - IFS=$' \t\n' - # CDPATH+directories in the current directory if not in CDPATH - else - IFS=$'\n' - _skipdot=false - # preprocess CDPATH to convert null directory names to . - _cdpath=${CDPATH/#:/.:} - _cdpath=${_cdpath//::/:.:} - _cdpath=${_cdpath/%:/:.} - for i in ${_cdpath//:/$'\n'}; do - if [[ $i -ef . ]]; then _skipdot=true; fi - k="${#COMPREPLY[@]}" - for j in $( compgen -d -- "$i/$cur" ); do - COMPREPLY[k++]=${j#$i/} # cut off directory - done - done - $_skipdot || COMPREPLY+=( $(compgen -d -- "$cur") ) - IFS=$' \t\n' - fi - - # variable names if appropriate shell option set and no completions - if shopt -q cdable_vars && [[ ${#COMPREPLY[@]} -eq 0 ]]; then - COMPREPLY=( $(compgen -v -- "$cur") ) - fi - - return 0 - } - - We install the completion function using the '-F' option to -'complete': - - # Tell readline to quote appropriate and append slashes to directories; - # use the bash default completion for other arguments - complete -o filenames -o nospace -o bashdefault -F _comp_cd cd - -Since we'd like Bash and Readline to take care of some of the other -details for us, we use several other options to tell Bash and Readline -what to do. The '-o filenames' option tells Readline that the possible -completions should be treated as filenames, and quoted appropriately. -That option will also cause Readline to append a slash to filenames it -can determine are directories (which is why we might want to extend -'_comp_cd' to append a slash if we're using directories found via -CDPATH: Readline can't tell those completions are directories). The '-o -nospace' option tells Readline to not append a space character to the -directory name, in case we want to append to it. The '-o bashdefault' -option brings in the rest of the "Bash default" completions - possible -completions that Bash adds to the default Readline set. These include -things like command name completion, variable completion for words -beginning with '$' or '${', completions containing pathname expansion -patterns (*note Filename Expansion::), and so on. - - Once installed using 'complete', '_comp_cd' will be called every time -we attempt word completion for a 'cd' command. - - Many more examples - an extensive collection of completions for most -of the common GNU, Unix, and Linux commands - are available as part of -the bash_completion project. This is installed by default on many -GNU/Linux distributions. Originally written by Ian Macdonald, the -project now lives at <https://github.com/scop/bash-completion/>. There -are ports for other systems such as Solaris and Mac OS X. - - An older version of the bash_completion package is distributed with -bash in the 'examples/complete' subdirectory. - - -File: bash.info, Node: Using History Interactively, Next: Installing Bash, Prev: Command Line Editing, Up: Top - -9 Using History Interactively -***************************** - -This chapter describes how to use the GNU History Library interactively, -from a user's standpoint. It should be considered a user's guide. For -information on using the GNU History Library in other programs, see the -GNU Readline Library Manual. - -* Menu: - -* Bash History Facilities:: How Bash lets you manipulate your command - history. -* Bash History Builtins:: The Bash builtin commands that manipulate - the command history. -* History Interaction:: What it feels like using History as a user. - - -File: bash.info, Node: Bash History Facilities, Next: Bash History Builtins, Up: Using History Interactively - -9.1 Bash History Facilities -=========================== - -When the '-o history' option to the 'set' builtin is enabled (*note The -Set Builtin::), the shell provides access to the "command history", the -list of commands previously typed. The value of the 'HISTSIZE' shell -variable is used as the number of commands to save in a history list. -The text of the last '$HISTSIZE' commands (default 500) is saved. The -shell stores each command in the history list prior to parameter and -variable expansion but after history expansion is performed, subject to -the values of the shell variables 'HISTIGNORE' and 'HISTCONTROL'. - - When the shell starts up, the history is initialized from the file -named by the 'HISTFILE' variable (default '~/.bash_history'). The file -named by the value of 'HISTFILE' is truncated, if necessary, to contain -no more than the number of lines specified by the value of the -'HISTFILESIZE' variable. When a shell with history enabled exits, the -last '$HISTSIZE' lines are copied from the history list to the file -named by '$HISTFILE'. If the 'histappend' shell option is set (*note -Bash Builtins::), the lines are appended to the history file, otherwise -the history file is overwritten. If 'HISTFILE' is unset, or if the -history file is unwritable, the history is not saved. After saving the -history, the history file is truncated to contain no more than -'$HISTFILESIZE' lines. If 'HISTFILESIZE' is unset, or set to null, a -non-numeric value, or a numeric value less than zero, the history file -is not truncated. - - If the 'HISTTIMEFORMAT' is set, the time stamp information associated -with each history entry is written to the history file, marked with the -history comment character. When the history file is read, lines -beginning with the history comment character followed immediately by a -digit are interpreted as timestamps for the following history entry. - - The builtin command 'fc' may be used to list or edit and re-execute a -portion of the history list. The 'history' builtin may be used to -display or modify the history list and manipulate the history file. -When using command-line editing, search commands are available in each -editing mode that provide access to the history list (*note Commands For -History::). - - The shell allows control over which commands are saved on the history -list. The 'HISTCONTROL' and 'HISTIGNORE' variables may be set to cause -the shell to save only a subset of the commands entered. The 'cmdhist' -shell option, if enabled, causes the shell to attempt to save each line -of a multi-line command in the same history entry, adding semicolons -where necessary to preserve syntactic correctness. The 'lithist' shell -option causes the shell to save the command with embedded newlines -instead of semicolons. The 'shopt' builtin is used to set these -options. *Note The Shopt Builtin::, for a description of 'shopt'. - - -File: bash.info, Node: Bash History Builtins, Next: History Interaction, Prev: Bash History Facilities, Up: Using History Interactively - -9.2 Bash History Builtins -========================= - -Bash provides two builtin commands which manipulate the history list and -history file. - -'fc' - fc [-e ENAME] [-lnr] [FIRST] [LAST] - fc -s [PAT=REP] [COMMAND] - - The first form selects a range of commands from FIRST to LAST from - the history list and displays or edits and re-executes them. Both - FIRST and LAST may be specified as a string (to locate the most - recent command beginning with that string) or as a number (an index - into the history list, where a negative number is used as an offset - from the current command number). - - When listing, a FIRST or LAST of 0 is equivalent to -1 and -0 is - equivalent to the current command (usually the 'fc' command); - otherwise 0 is equivalent to -1 and -0 is invalid. - - If LAST is not specified, it is set to FIRST. If FIRST is not - specified, it is set to the previous command for editing and -16 - for listing. If the '-l' flag is given, the commands are listed on - standard output. The '-n' flag suppresses the command numbers when - listing. The '-r' flag reverses the order of the listing. - Otherwise, the editor given by ENAME is invoked on a file - containing those commands. If ENAME is not given, the value of the - following variable expansion is used: '${FCEDIT:-${EDITOR:-vi}}'. - This says to use the value of the 'FCEDIT' variable if set, or the - value of the 'EDITOR' variable if that is set, or 'vi' if neither - is set. When editing is complete, the edited commands are echoed - and executed. - - In the second form, COMMAND is re-executed after each instance of - PAT in the selected command is replaced by REP. COMMAND is - interpreted the same as FIRST above. - - A useful alias to use with the 'fc' command is 'r='fc -s'', so that - typing 'r cc' runs the last command beginning with 'cc' and typing - 'r' re-executes the last command (*note Aliases::). - -'history' - history [N] - history -c - history -d OFFSET - history -d START-END - history [-anrw] [FILENAME] - history -ps ARG - - With no options, display the history list with line numbers. Lines - prefixed with a '*' have been modified. An argument of N lists - only the last N lines. If the shell variable 'HISTTIMEFORMAT' is - set and not null, it is used as a format string for STRFTIME to - display the time stamp associated with each displayed history - entry. No intervening blank is printed between the formatted time - stamp and the history line. - - Options, if supplied, have the following meanings: - - '-c' - Clear the history list. This may be combined with the other - options to replace the history list completely. - - '-d OFFSET' - Delete the history entry at position OFFSET. If OFFSET is - positive, it should be specified as it appears when the - history is displayed. If OFFSET is negative, it is - interpreted as relative to one greater than the last history - position, so negative indices count back from the end of the - history, and an index of '-1' refers to the current 'history - -d' command. - - '-d START-END' - Delete the range of history entries between positions START - and END, inclusive. Positive and negative values for START - and END are interpreted as described above. - - '-a' - Append the new history lines to the history file. These are - history lines entered since the beginning of the current Bash - session, but not already appended to the history file. - - '-n' - Append the history lines not already read from the history - file to the current history list. These are lines appended to - the history file since the beginning of the current Bash - session. - - '-r' - Read the history file and append its contents to the history - list. - - '-w' - Write out the current history list to the history file. - - '-p' - Perform history substitution on the ARGs and display the - result on the standard output, without storing the results in - the history list. - - '-s' - The ARGs are added to the end of the history list as a single - entry. - - If a FILENAME argument is supplied when any of the '-w', '-r', - '-a', or '-n' options is used, Bash uses FILENAME as the history - file. If not, then the value of the 'HISTFILE' variable is used. - - The return value is 0 unless an invalid option is encountered, an - error occurs while reading or writing the history file, an invalid - OFFSET or range is supplied as an argument to '-d', or the history - expansion supplied as an argument to '-p' fails. - - -File: bash.info, Node: History Interaction, Prev: Bash History Builtins, Up: Using History Interactively - -9.3 History Expansion -===================== - -The History library provides a history expansion feature that is similar -to the history expansion provided by 'csh'. This section describes the -syntax used to manipulate the history information. - - History expansions introduce words from the history list into the -input stream, making it easy to repeat commands, insert the arguments to -a previous command into the current input line, or fix errors in -previous commands quickly. - - History expansion is performed immediately after a complete line is -read, before the shell breaks it into words, and is performed on each -line individually. Bash attempts to inform the history expansion -functions about quoting still in effect from previous lines. - - History expansion takes place in two parts. The first is to -determine which line from the history list should be used during -substitution. The second is to select portions of that line for -inclusion into the current one. The line selected from the history is -called the "event", and the portions of that line that are acted upon -are called "words". Various "modifiers" are available to manipulate the -selected words. The line is broken into words in the same fashion that -Bash does, so that several words surrounded by quotes are considered one -word. History expansions are introduced by the appearance of the -history expansion character, which is '!' by default. - - History expansion implements shell-like quoting conventions: a -backslash can be used to remove the special handling for the next -character; single quotes enclose verbatim sequences of characters, and -can be used to inhibit history expansion; and characters enclosed within -double quotes may be subject to history expansion, since backslash can -escape the history expansion character, but single quotes may not, since -they are not treated specially within double quotes. - - When using the shell, only '\' and ''' may be used to escape the -history expansion character, but the history expansion character is also -treated as quoted if it immediately precedes the closing double quote in -a double-quoted string. - - Several shell options settable with the 'shopt' builtin (*note The -Shopt Builtin::) may be used to tailor the behavior of history -expansion. If the 'histverify' shell option is enabled, and Readline is -being used, history substitutions are not immediately passed to the -shell parser. Instead, the expanded line is reloaded into the Readline -editing buffer for further modification. If Readline is being used, and -the 'histreedit' shell option is enabled, a failed history expansion -will be reloaded into the Readline editing buffer for correction. The -'-p' option to the 'history' builtin command may be used to see what a -history expansion will do before using it. The '-s' option to the -'history' builtin may be used to add commands to the end of the history -list without actually executing them, so that they are available for -subsequent recall. This is most useful in conjunction with Readline. - - The shell allows control of the various characters used by the -history expansion mechanism with the 'histchars' variable, as explained -above (*note Bash Variables::). The shell uses the history comment -character to mark history timestamps when writing the history file. - -* Menu: - -* Event Designators:: How to specify which history line to use. -* Word Designators:: Specifying which words are of interest. -* Modifiers:: Modifying the results of substitution. - - -File: bash.info, Node: Event Designators, Next: Word Designators, Up: History Interaction - -9.3.1 Event Designators ------------------------ - -An event designator is a reference to a command line entry in the -history list. Unless the reference is absolute, events are relative to -the current position in the history list. - -'!' - Start a history substitution, except when followed by a space, tab, - the end of the line, '=' or '(' (when the 'extglob' shell option is - enabled using the 'shopt' builtin). - -'!N' - Refer to command line N. - -'!-N' - Refer to the command N lines back. - -'!!' - Refer to the previous command. This is a synonym for '!-1'. - -'!STRING' - Refer to the most recent command preceding the current position in - the history list starting with STRING. - -'!?STRING[?]' - Refer to the most recent command preceding the current position in - the history list containing STRING. The trailing '?' may be - omitted if the STRING is followed immediately by a newline. If - STRING is missing, the string from the most recent search is used; - it is an error if there is no previous search string. - -'^STRING1^STRING2^' - Quick Substitution. Repeat the last command, replacing STRING1 - with STRING2. Equivalent to '!!:s^STRING1^STRING2^'. - -'!#' - The entire command line typed so far. - - -File: bash.info, Node: Word Designators, Next: Modifiers, Prev: Event Designators, Up: History Interaction - -9.3.2 Word Designators ----------------------- - -Word designators are used to select desired words from the event. A ':' -separates the event specification from the word designator. It may be -omitted if the word designator begins with a '^', '$', '*', '-', or '%'. -Words are numbered from the beginning of the line, with the first word -being denoted by 0 (zero). Words are inserted into the current line -separated by single spaces. - - For example, - -'!!' - designates the preceding command. When you type this, the - preceding command is repeated in toto. - -'!!:$' - designates the last argument of the preceding command. This may be - shortened to '!$'. - -'!fi:2' - designates the second argument of the most recent command starting - with the letters 'fi'. - - Here are the word designators: - -'0 (zero)' - The '0'th word. For many applications, this is the command word. - -'N' - The Nth word. - -'^' - The first argument; that is, word 1. - -'$' - The last argument. - -'%' - The first word matched by the most recent '?STRING?' search, if the - search string begins with a character that is part of a word. - -'X-Y' - A range of words; '-Y' abbreviates '0-Y'. - -'*' - All of the words, except the '0'th. This is a synonym for '1-$'. - It is not an error to use '*' if there is just one word in the - event; the empty string is returned in that case. - -'X*' - Abbreviates 'X-$' - -'X-' - Abbreviates 'X-$' like 'X*', but omits the last word. If 'x' is - missing, it defaults to 0. - - If a word designator is supplied without an event specification, the -previous command is used as the event. - - -File: bash.info, Node: Modifiers, Prev: Word Designators, Up: History Interaction - -9.3.3 Modifiers ---------------- - -After the optional word designator, you can add a sequence of one or -more of the following modifiers, each preceded by a ':'. These modify, -or edit, the word or words selected from the history event. - -'h' - Remove a trailing pathname component, leaving only the head. - -'t' - Remove all leading pathname components, leaving the tail. - -'r' - Remove a trailing suffix of the form '.SUFFIX', leaving the - basename. - -'e' - Remove all but the trailing suffix. - -'p' - Print the new command but do not execute it. - -'q' - Quote the substituted words, escaping further substitutions. - -'x' - Quote the substituted words as with 'q', but break into words at - spaces, tabs, and newlines. The 'q' and 'x' modifiers are mutually - exclusive; the last one supplied is used. - -'s/OLD/NEW/' - Substitute NEW for the first occurrence of OLD in the event line. - Any character may be used as the delimiter in place of '/'. The - delimiter may be quoted in OLD and NEW with a single backslash. If - '&' appears in NEW, it is replaced by OLD. A single backslash will - quote the '&'. If OLD is null, it is set to the last OLD - substituted, or, if no previous history substitutions took place, - the last STRING in a !?STRING'[?]' search. If NEW is null, each - matching OLD is deleted. The final delimiter is optional if it is - the last character on the input line. - -'&' - Repeat the previous substitution. - -'g' -'a' - Cause changes to be applied over the entire event line. Used in - conjunction with 's', as in 'gs/OLD/NEW/', or with '&'. - -'G' - Apply the following 's' or '&' modifier once to each word in the - event. - - -File: bash.info, Node: Installing Bash, Next: Reporting Bugs, Prev: Using History Interactively, Up: Top - -10 Installing Bash -****************** - -This chapter provides basic instructions for installing Bash on the -various supported platforms. The distribution supports the GNU -operating systems, nearly every version of Unix, and several non-Unix -systems such as BeOS and Interix. Other independent ports exist for -MS-DOS, OS/2, and Windows platforms. - -* Menu: - -* Basic Installation:: Installation instructions. -* Compilers and Options:: How to set special options for various - systems. -* Compiling For Multiple Architectures:: How to compile Bash for more - than one kind of system from - the same source tree. -* Installation Names:: How to set the various paths used by the installation. -* Specifying the System Type:: How to configure Bash for a particular system. -* Sharing Defaults:: How to share default configuration values among GNU - programs. -* Operation Controls:: Options recognized by the configuration program. -* Optional Features:: How to enable and disable optional features when - building Bash. - - -File: bash.info, Node: Basic Installation, Next: Compilers and Options, Up: Installing Bash - -10.1 Basic Installation -======================= - -These are installation instructions for Bash. - - The simplest way to compile Bash is: - - 1. 'cd' to the directory containing the source code and type - './configure' to configure Bash for your system. If you're using - 'csh' on an old version of System V, you might need to type 'sh - ./configure' instead to prevent 'csh' from trying to execute - 'configure' itself. - - Running 'configure' takes some time. While running, it prints - messages telling which features it is checking for. - - 2. Type 'make' to compile Bash and build the 'bashbug' bug reporting - script. - - 3. Optionally, type 'make tests' to run the Bash test suite. - - 4. Type 'make install' to install 'bash' and 'bashbug'. This will - also install the manual pages and Info file, message translation - files, some supplemental documentation, a number of example - loadable builtin commands, and a set of header files for developing - loadable builtins. You may need additional privileges to install - 'bash' to your desired destination, so 'sudo make install' might be - required. More information about controlling the locations where - 'bash' and other files are installed is below (*note Installation - Names::). - - The 'configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a 'Makefile' in each directory of the package -(the top directory, the 'builtins', 'doc', 'po', and 'support' -directories, each directory under 'lib', and several others). It also -creates a 'config.h' file containing system-dependent definitions. -Finally, it creates a shell script named 'config.status' that you can -run in the future to recreate the current configuration, a file -'config.cache' that saves the results of its tests to speed up -reconfiguring, and a file 'config.log' containing compiler output -(useful mainly for debugging 'configure'). If at some point -'config.cache' contains results you don't want to keep, you may remove -or edit it. - - To find out more about the options and arguments that the 'configure' -script understands, type - - bash-4.2$ ./configure --help - -at the Bash prompt in your Bash source directory. - - If you want to build Bash in a directory separate from the source -directory - to build for multiple architectures, for example - just use -the full path to the configure script. The following commands will -build bash in a directory under '/usr/local/build' from the source code -in '/usr/local/src/bash-4.4': - - mkdir /usr/local/build/bash-4.4 - cd /usr/local/build/bash-4.4 - bash /usr/local/src/bash-4.4/configure - make - - See *note Compiling For Multiple Architectures:: for more information -about building in a directory separate from the source. - - If you need to do unusual things to compile Bash, please try to -figure out how 'configure' could check whether or not to do them, and -mail diffs or instructions to <bash-maintainers@gnu.org> so they can be -considered for the next release. - - The file 'configure.ac' is used to create 'configure' by a program -called Autoconf. You only need 'configure.ac' if you want to change it -or regenerate 'configure' using a newer version of Autoconf. If you do -this, make sure you are using Autoconf version 2.69 or newer. - - You can remove the program binaries and object files from the source -code directory by typing 'make clean'. To also remove the files that -'configure' created (so you can compile Bash for a different kind of -computer), type 'make distclean'. - - -File: bash.info, Node: Compilers and Options, Next: Compiling For Multiple Architectures, Prev: Basic Installation, Up: Installing Bash - -10.2 Compilers and Options -========================== - -Some systems require unusual options for compilation or linking that the -'configure' script does not know about. You can give 'configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - - On systems that have the 'env' program, you can do it like this: - - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - - The configuration process uses GCC to build Bash if it is available. - - -File: bash.info, Node: Compiling For Multiple Architectures, Next: Installation Names, Prev: Compilers and Options, Up: Installing Bash - -10.3 Compiling For Multiple Architectures -========================================= - -You can compile Bash for more than one kind of computer at the same -time, by placing the object files for each architecture in their own -directory. To do this, you must use a version of 'make' that supports -the 'VPATH' variable, such as GNU 'make'. 'cd' to the directory where -you want the object files and executables to go and run the 'configure' -script from the source directory (*note Basic Installation::). You may -need to supply the '--srcdir=PATH' argument to tell 'configure' where -the source files are. 'configure' automatically checks for the source -code in the directory that 'configure' is in and in '..'. - - If you have to use a 'make' that does not support the 'VPATH' -variable, you can compile Bash for one architecture at a time in the -source code directory. After you have installed Bash for one -architecture, use 'make distclean' before reconfiguring for another -architecture. - - Alternatively, if your system supports symbolic links, you can use -the 'support/mkclone' script to create a build tree which has symbolic -links back to each file in the source directory. Here's an example that -creates a build directory in the current directory from a source -directory '/usr/gnu/src/bash-2.0': - - bash /usr/gnu/src/bash-2.0/support/mkclone -s /usr/gnu/src/bash-2.0 . - -The 'mkclone' script requires Bash, so you must have already built Bash -for at least one architecture before you can create build directories -for other architectures. - - -File: bash.info, Node: Installation Names, Next: Specifying the System Type, Prev: Compiling For Multiple Architectures, Up: Installing Bash - -10.4 Installation Names -======================= - -By default, 'make install' will install into '/usr/local/bin', -'/usr/local/man', etc.; that is, the "installation prefix" defaults to -'/usr/local'. You can specify an installation prefix other than -'/usr/local' by giving 'configure' the option '--prefix=PATH', or by -specifying a value for the 'prefix' 'make' variable when running 'make -install' (e.g., 'make install prefix=PATH'). The 'prefix' variable -provides a default for 'exec_prefix' and other variables used when -installing bash. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give 'configure' the option '--exec-prefix=PATH', 'make install' will -use PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - If you would like to change the installation locations for a single -run, you can specify these variables as arguments to 'make': 'make -install exec_prefix=/' will install 'bash' and 'bashbug' into '/bin' -instead of the default '/usr/local/bin'. - - If you want to see the files bash will install and where it will -install them without changing anything on your system, specify the -variable 'DESTDIR' as an argument to 'make'. Its value should be the -absolute directory path you'd like to use as the root of your sample -installation tree. For example, - - mkdir /fs1/bash-install - make install DESTDIR=/fs1/bash-install - -will install 'bash' into '/fs1/bash-install/usr/local/bin/bash', the -documentation into directories within -'/fs1/bash-install/usr/local/share', the example loadable builtins into -'/fs1/bash-install/usr/local/lib/bash', and so on. You can use the -usual 'exec_prefix' and 'prefix' variables to alter the directory paths -beneath the value of 'DESTDIR'. - - The GNU Makefile standards provide a more complete description of -these variables and their effects. - - -File: bash.info, Node: Specifying the System Type, Next: Sharing Defaults, Prev: Installation Names, Up: Installing Bash - -10.5 Specifying the System Type -=============================== - -There may be some features 'configure' can not figure out automatically, -but needs to determine by the type of host Bash will run on. Usually -'configure' can figure that out, but if it prints a message saying it -can not guess the host type, give it the '--host=TYPE' option. 'TYPE' -can either be a short name for the system type, such as 'sun4', or a -canonical name with three fields: 'CPU-COMPANY-SYSTEM' (e.g., -'i386-unknown-freebsd4.2'). - - See the file 'support/config.sub' for the possible values of each -field. - - -File: bash.info, Node: Sharing Defaults, Next: Operation Controls, Prev: Specifying the System Type, Up: Installing Bash - -10.6 Sharing Defaults -===================== - -If you want to set default values for 'configure' scripts to share, you -can create a site shell script called 'config.site' that gives default -values for variables like 'CC', 'cache_file', and 'prefix'. 'configure' -looks for 'PREFIX/share/config.site' if it exists, then -'PREFIX/etc/config.site' if it exists. Or, you can set the -'CONFIG_SITE' environment variable to the location of the site script. -A warning: the Bash 'configure' looks for a site script, but not all -'configure' scripts do. - - -File: bash.info, Node: Operation Controls, Next: Optional Features, Prev: Sharing Defaults, Up: Installing Bash - -10.7 Operation Controls -======================= - -'configure' recognizes the following options to control how it operates. - -'--cache-file=FILE' - Use and save the results of the tests in FILE instead of - './config.cache'. Set FILE to '/dev/null' to disable caching, for - debugging 'configure'. - -'--help' - Print a summary of the options to 'configure', and exit. - -'--quiet' -'--silent' -'-q' - Do not print messages saying which checks are being made. - -'--srcdir=DIR' - Look for the Bash source code in directory DIR. Usually - 'configure' can determine that directory automatically. - -'--version' - Print the version of Autoconf used to generate the 'configure' - script, and exit. - - 'configure' also accepts some other, not widely used, boilerplate -options. 'configure --help' prints the complete list. - - -File: bash.info, Node: Optional Features, Prev: Operation Controls, Up: Installing Bash - -10.8 Optional Features -====================== - -The Bash 'configure' has a number of '--enable-FEATURE' options, where -FEATURE indicates an optional part of Bash. There are also several -'--with-PACKAGE' options, where PACKAGE is something like 'bash-malloc' -or 'purify'. To turn off the default use of a package, use -'--without-PACKAGE'. To configure Bash without a feature that is -enabled by default, use '--disable-FEATURE'. - - Here is a complete list of the '--enable-' and '--with-' options that -the Bash 'configure' recognizes. - -'--with-afs' - Define if you are using the Andrew File System from Transarc. - -'--with-bash-malloc' - Use the Bash version of 'malloc' in the directory 'lib/malloc'. - This is not the same 'malloc' that appears in GNU libc, but an - older version originally derived from the 4.2 BSD 'malloc'. This - 'malloc' is very fast, but wastes some space on each allocation. - This option is enabled by default. The 'NOTES' file contains a - list of systems for which this should be turned off, and - 'configure' disables this option automatically for a number of - systems. - -'--with-curses' - Use the curses library instead of the termcap library. This should - be supplied if your system has an inadequate or incomplete termcap - database. - -'--with-gnu-malloc' - A synonym for '--with-bash-malloc'. - -'--with-installed-readline[=PREFIX]' - Define this to make Bash link with a locally-installed version of - Readline rather than the version in 'lib/readline'. This works - only with Readline 5.0 and later versions. If PREFIX is 'yes' or - not supplied, 'configure' uses the values of the make variables - 'includedir' and 'libdir', which are subdirectories of 'prefix' by - default, to find the installed version of Readline if it is not in - the standard system include and library directories. If PREFIX is - 'no', Bash links with the version in 'lib/readline'. If PREFIX is - set to any other value, 'configure' treats it as a directory - pathname and looks for the installed version of Readline in - subdirectories of that directory (include files in PREFIX/'include' - and the library in PREFIX/'lib'). - -'--with-libintl-prefix[=PREFIX]' - Define this to make Bash link with a locally-installed version of - the libintl library instead of the version in 'lib/intl'. - -'--with-libiconv-prefix[=PREFIX]' - Define this to make Bash look for libiconv in PREFIX instead of the - standard system locations. There is no version included with Bash. - -'--enable-minimal-config' - This produces a shell with minimal features, close to the - historical Bourne shell. - - There are several '--enable-' options that alter how Bash is -compiled, linked, and installed, rather than changing run-time features. - -'--enable-largefile' - Enable support for large files - (http://www.unix.org/version2/whatsnew/lfs20mar.html) if the - operating system requires special compiler options to build - programs which can access large files. This is enabled by default, - if the operating system provides large file support. - -'--enable-profiling' - This builds a Bash binary that produces profiling information to be - processed by 'gprof' each time it is executed. - -'--enable-separate-helpfiles' - Use external files for the documentation displayed by the 'help' - builtin instead of storing the text internally. - -'--enable-static-link' - This causes Bash to be linked statically, if 'gcc' is being used. - This could be used to build a version to use as root's shell. - - The 'minimal-config' option can be used to disable all of the -following options, but it is processed first, so individual options may -be enabled using 'enable-FEATURE'. - - All of the following options except for 'alt-array-implementation', -'disabled-builtins', 'direxpand-default', 'strict-posix-default', and -'xpg-echo-default' are enabled by default, unless the operating system -does not provide the necessary support. - -'--enable-alias' - Allow alias expansion and include the 'alias' and 'unalias' - builtins (*note Aliases::). - -'--enable-alt-array-implementation' - This builds bash using an alternate implementation of arrays (*note - Arrays::) that provides faster access at the expense of using more - memory (sometimes many times more, depending on how sparse an array - is). - -'--enable-arith-for-command' - Include support for the alternate form of the 'for' command that - behaves like the C language 'for' statement (*note Looping - Constructs::). - -'--enable-array-variables' - Include support for one-dimensional array shell variables (*note - Arrays::). - -'--enable-bang-history' - Include support for 'csh'-like history substitution (*note History - Interaction::). - -'--enable-brace-expansion' - Include 'csh'-like brace expansion ( 'b{a,b}c' ==> 'bac bbc' ). - See *note Brace Expansion::, for a complete description. - -'--enable-casemod-attributes' - Include support for case-modifying attributes in the 'declare' - builtin and assignment statements. Variables with the 'uppercase' - attribute, for example, will have their values converted to - uppercase upon assignment. - -'--enable-casemod-expansion' - Include support for case-modifying word expansions. - -'--enable-command-timing' - Include support for recognizing 'time' as a reserved word and for - displaying timing statistics for the pipeline following 'time' - (*note Pipelines::). This allows pipelines as well as shell - builtins and functions to be timed. - -'--enable-cond-command' - Include support for the '[[' conditional command. (*note - Conditional Constructs::). - -'--enable-cond-regexp' - Include support for matching POSIX regular expressions using the - '=~' binary operator in the '[[' conditional command. (*note - Conditional Constructs::). - -'--enable-coprocesses' - Include support for coprocesses and the 'coproc' reserved word - (*note Pipelines::). - -'--enable-debugger' - Include support for the bash debugger (distributed separately). - -'--enable-dev-fd-stat-broken' - If calling 'stat' on /dev/fd/N returns different results than - calling 'fstat' on file descriptor N, supply this option to enable - a workaround. This has implications for conditional commands that - test file attributes. - -'--enable-direxpand-default' - Cause the 'direxpand' shell option (*note The Shopt Builtin::) to - be enabled by default when the shell starts. It is normally - disabled by default. - -'--enable-directory-stack' - Include support for a 'csh'-like directory stack and the 'pushd', - 'popd', and 'dirs' builtins (*note The Directory Stack::). - -'--enable-disabled-builtins' - Allow builtin commands to be invoked via 'builtin xxx' even after - 'xxx' has been disabled using 'enable -n xxx'. See *note Bash - Builtins::, for details of the 'builtin' and 'enable' builtin - commands. - -'--enable-dparen-arithmetic' - Include support for the '((...))' command (*note Conditional - Constructs::). - -'--enable-extended-glob' - Include support for the extended pattern matching features - described above under *note Pattern Matching::. - -'--enable-extended-glob-default' - Set the default value of the 'extglob' shell option described above - under *note The Shopt Builtin:: to be enabled. - -'--enable-function-import' - Include support for importing function definitions exported by - another instance of the shell from the environment. This option is - enabled by default. - -'--enable-glob-asciirange-default' - Set the default value of the 'globasciiranges' shell option - described above under *note The Shopt Builtin:: to be enabled. - This controls the behavior of character ranges when used in pattern - matching bracket expressions. - -'--enable-help-builtin' - Include the 'help' builtin, which displays help on shell builtins - and variables (*note Bash Builtins::). - -'--enable-history' - Include command history and the 'fc' and 'history' builtin commands - (*note Bash History Facilities::). - -'--enable-job-control' - This enables the job control features (*note Job Control::), if the - operating system supports them. - -'--enable-multibyte' - This enables support for multibyte characters if the operating - system provides the necessary support. - -'--enable-net-redirections' - This enables the special handling of filenames of the form - '/dev/tcp/HOST/PORT' and '/dev/udp/HOST/PORT' when used in - redirections (*note Redirections::). - -'--enable-process-substitution' - This enables process substitution (*note Process Substitution::) if - the operating system provides the necessary support. - -'--enable-progcomp' - Enable the programmable completion facilities (*note Programmable - Completion::). If Readline is not enabled, this option has no - effect. - -'--enable-prompt-string-decoding' - Turn on the interpretation of a number of backslash-escaped - characters in the '$PS0', '$PS1', '$PS2', and '$PS4' prompt - strings. See *note Controlling the Prompt::, for a complete list - of prompt string escape sequences. - -'--enable-readline' - Include support for command-line editing and history with the Bash - version of the Readline library (*note Command Line Editing::). - -'--enable-restricted' - Include support for a "restricted shell". If this is enabled, - Bash, when called as 'rbash', enters a restricted mode. See *note - The Restricted Shell::, for a description of restricted mode. - -'--enable-select' - Include the 'select' compound command, which allows the generation - of simple menus (*note Conditional Constructs::). - -'--enable-single-help-strings' - Store the text displayed by the 'help' builtin as a single string - for each help topic. This aids in translating the text to - different languages. You may need to disable this if your compiler - cannot handle very long string literals. - -'--enable-strict-posix-default' - Make Bash POSIX-conformant by default (*note Bash POSIX Mode::). - -'--enable-translatable-strings' - Enable support for '$"STRING"' translatable strings (*note Locale - Translation::). - -'--enable-usg-echo-default' - A synonym for '--enable-xpg-echo-default'. - -'--enable-xpg-echo-default' - Make the 'echo' builtin expand backslash-escaped characters by - default, without requiring the '-e' option. This sets the default - value of the 'xpg_echo' shell option to 'on', which makes the Bash - 'echo' behave more like the version specified in the Single Unix - Specification, version 3. *Note Bash Builtins::, for a description - of the escape sequences that 'echo' recognizes. - - The file 'config-top.h' contains C Preprocessor '#define' statements -for options which are not settable from 'configure'. Some of these are -not meant to be changed; beware of the consequences if you do. Read the -comments associated with each definition for more information about its -effect. - - -File: bash.info, Node: Reporting Bugs, Next: Major Differences From The Bourne Shell, Prev: Installing Bash, Up: Top - -Appendix A Reporting Bugs -************************* - -Please report all bugs you find in Bash. But first, you should make -sure that it really is a bug, and that it appears in the latest version -of Bash. The latest version of Bash is always available for FTP from -<ftp://ftp.gnu.org/pub/gnu/bash/> and from -<http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz>. - - Once you have determined that a bug actually exists, use the -'bashbug' command to submit a bug report. If you have a fix, you are -encouraged to mail that as well! Suggestions and 'philosophical' bug -reports may be mailed to <bug-bash@gnu.org> or posted to the Usenet -newsgroup 'gnu.bash.bug'. - - All bug reports should include: - * The version number of Bash. - * The hardware and operating system. - * The compiler used to compile Bash. - * A description of the bug behaviour. - * A short script or 'recipe' which exercises the bug and may be used - to reproduce it. - -'bashbug' inserts the first three items automatically into the template -it provides for filing a bug report. - - Please send all reports concerning this manual to <bug-bash@gnu.org>. - - -File: bash.info, Node: Major Differences From The Bourne Shell, Next: GNU Free Documentation License, Prev: Reporting Bugs, Up: Top - -Appendix B Major Differences From The Bourne Shell -************************************************** - -Bash implements essentially the same grammar, parameter and variable -expansion, redirection, and quoting as the Bourne Shell. Bash uses the -POSIX standard as the specification of how these features are to be -implemented. There are some differences between the traditional Bourne -shell and Bash; this section quickly details the differences of -significance. A number of these differences are explained in greater -depth in previous sections. This section uses the version of 'sh' -included in SVR4.2 (the last version of the historical Bourne shell) as -the baseline reference. - - * Bash is POSIX-conformant, even where the POSIX specification - differs from traditional 'sh' behavior (*note Bash POSIX Mode::). - - * Bash has multi-character invocation options (*note Invoking - Bash::). - - * Bash has command-line editing (*note Command Line Editing::) and - the 'bind' builtin. - - * Bash provides a programmable word completion mechanism (*note - Programmable Completion::), and builtin commands 'complete', - 'compgen', and 'compopt', to manipulate it. - - * Bash has command history (*note Bash History Facilities::) and the - 'history' and 'fc' builtins to manipulate it. The Bash history - list maintains timestamp information and uses the value of the - 'HISTTIMEFORMAT' variable to display it. - - * Bash implements 'csh'-like history expansion (*note History - Interaction::). - - * Bash has one-dimensional array variables (*note Arrays::), and the - appropriate variable expansions and assignment syntax to use them. - Several of the Bash builtins take options to act on arrays. Bash - provides a number of built-in array variables. - - * The '$'...'' quoting syntax, which expands ANSI-C backslash-escaped - characters in the text between the single quotes, is supported - (*note ANSI-C Quoting::). - - * Bash supports the '$"..."' quoting syntax to do locale-specific - translation of the characters between the double quotes. The '-D', - '--dump-strings', and '--dump-po-strings' invocation options list - the translatable strings found in a script (*note Locale - Translation::). - - * Bash implements the '!' keyword to negate the return value of a - pipeline (*note Pipelines::). Very useful when an 'if' statement - needs to act only if a test fails. The Bash '-o pipefail' option - to 'set' will cause a pipeline to return a failure status if any - command fails. - - * Bash has the 'time' reserved word and command timing (*note - Pipelines::). The display of the timing statistics may be - controlled with the 'TIMEFORMAT' variable. - - * Bash implements the 'for (( EXPR1 ; EXPR2 ; EXPR3 ))' arithmetic - for command, similar to the C language (*note Looping - Constructs::). - - * Bash includes the 'select' compound command, which allows the - generation of simple menus (*note Conditional Constructs::). - - * Bash includes the '[[' compound command, which makes conditional - testing part of the shell grammar (*note Conditional Constructs::), - including optional regular expression matching. - - * Bash provides optional case-insensitive matching for the 'case' and - '[[' constructs. - - * Bash includes brace expansion (*note Brace Expansion::) and tilde - expansion (*note Tilde Expansion::). - - * Bash implements command aliases and the 'alias' and 'unalias' - builtins (*note Aliases::). - - * Bash provides shell arithmetic, the '((' compound command (*note - Conditional Constructs::), and arithmetic expansion (*note Shell - Arithmetic::). - - * Variables present in the shell's initial environment are - automatically exported to child processes. The Bourne shell does - not normally do this unless the variables are explicitly marked - using the 'export' command. - - * Bash supports the '+=' assignment operator, which appends to the - value of the variable named on the left hand side. - - * Bash includes the POSIX pattern removal '%', '#', '%%' and '##' - expansions to remove leading or trailing substrings from variable - values (*note Shell Parameter Expansion::). - - * The expansion '${#xx}', which returns the length of '${xx}', is - supported (*note Shell Parameter Expansion::). - - * The expansion '${var:'OFFSET'[:'LENGTH']}', which expands to the - substring of 'var''s value of length LENGTH, beginning at OFFSET, - is present (*note Shell Parameter Expansion::). - - * The expansion '${VAR/[/]'PATTERN'[/'REPLACEMENT']}', which matches - PATTERN and replaces it with REPLACEMENT in the value of VAR, is - available (*note Shell Parameter Expansion::). - - * The expansion '${!PREFIX*}' expansion, which expands to the names - of all shell variables whose names begin with PREFIX, is available - (*note Shell Parameter Expansion::). - - * Bash has indirect variable expansion using '${!word}' (*note Shell - Parameter Expansion::). - - * Bash can expand positional parameters beyond '$9' using '${NUM}'. - - * The POSIX '$()' form of command substitution is implemented (*note - Command Substitution::), and preferred to the Bourne shell's '``' - (which is also implemented for backwards compatibility). - - * Bash has process substitution (*note Process Substitution::). - - * Bash automatically assigns variables that provide information about - the current user ('UID', 'EUID', and 'GROUPS'), the current host - ('HOSTTYPE', 'OSTYPE', 'MACHTYPE', and 'HOSTNAME'), and the - instance of Bash that is running ('BASH', 'BASH_VERSION', and - 'BASH_VERSINFO'). *Note Bash Variables::, for details. - - * The 'IFS' variable is used to split only the results of expansion, - not all words (*note Word Splitting::). This closes a longstanding - shell security hole. - - * The filename expansion bracket expression code uses '!' and '^' to - negate the set of characters between the brackets. The Bourne - shell uses only '!'. - - * Bash implements the full set of POSIX filename expansion operators, - including character classes, equivalence classes, and collating - symbols (*note Filename Expansion::). - - * Bash implements extended pattern matching features when the - 'extglob' shell option is enabled (*note Pattern Matching::). - - * It is possible to have a variable and a function with the same - name; 'sh' does not separate the two name spaces. - - * Bash functions are permitted to have local variables using the - 'local' builtin, and thus useful recursive functions may be written - (*note Bash Builtins::). - - * Variable assignments preceding commands affect only that command, - even builtins and functions (*note Environment::). In 'sh', all - variable assignments preceding commands are global unless the - command is executed from the file system. - - * Bash performs filename expansion on filenames specified as operands - to input and output redirection operators (*note Redirections::). - - * Bash contains the '<>' redirection operator, allowing a file to be - opened for both reading and writing, and the '&>' redirection - operator, for directing standard output and standard error to the - same file (*note Redirections::). - - * Bash includes the '<<<' redirection operator, allowing a string to - be used as the standard input to a command. - - * Bash implements the '[n]<&WORD' and '[n]>&WORD' redirection - operators, which move one file descriptor to another. - - * Bash treats a number of filenames specially when they are used in - redirection operators (*note Redirections::). - - * Bash can open network connections to arbitrary machines and - services with the redirection operators (*note Redirections::). - - * The 'noclobber' option is available to avoid overwriting existing - files with output redirection (*note The Set Builtin::). The '>|' - redirection operator may be used to override 'noclobber'. - - * The Bash 'cd' and 'pwd' builtins (*note Bourne Shell Builtins::) - each take '-L' and '-P' options to switch between logical and - physical modes. - - * Bash allows a function to override a builtin with the same name, - and provides access to that builtin's functionality within the - function via the 'builtin' and 'command' builtins (*note Bash - Builtins::). - - * The 'command' builtin allows selective disabling of functions when - command lookup is performed (*note Bash Builtins::). - - * Individual builtins may be enabled or disabled using the 'enable' - builtin (*note Bash Builtins::). - - * The Bash 'exec' builtin takes additional options that allow users - to control the contents of the environment passed to the executed - command, and what the zeroth argument to the command is to be - (*note Bourne Shell Builtins::). - - * Shell functions may be exported to children via the environment - using 'export -f' (*note Shell Functions::). - - * The Bash 'export', 'readonly', and 'declare' builtins can take a - '-f' option to act on shell functions, a '-p' option to display - variables with various attributes set in a format that can be used - as shell input, a '-n' option to remove various variable - attributes, and 'name=value' arguments to set variable attributes - and values simultaneously. - - * The Bash 'hash' builtin allows a name to be associated with an - arbitrary filename, even when that filename cannot be found by - searching the '$PATH', using 'hash -p' (*note Bourne Shell - Builtins::). - - * Bash includes a 'help' builtin for quick reference to shell - facilities (*note Bash Builtins::). - - * The 'printf' builtin is available to display formatted output - (*note Bash Builtins::). - - * The Bash 'read' builtin (*note Bash Builtins::) will read a line - ending in '\' with the '-r' option, and will use the 'REPLY' - variable as a default if no non-option arguments are supplied. The - Bash 'read' builtin also accepts a prompt string with the '-p' - option and will use Readline to obtain the line when given the '-e' - option. The 'read' builtin also has additional options to control - input: the '-s' option will turn off echoing of input characters as - they are read, the '-t' option will allow 'read' to time out if - input does not arrive within a specified number of seconds, the - '-n' option will allow reading only a specified number of - characters rather than a full line, and the '-d' option will read - until a particular character rather than newline. - - * The 'return' builtin may be used to abort execution of scripts - executed with the '.' or 'source' builtins (*note Bourne Shell - Builtins::). - - * Bash includes the 'shopt' builtin, for finer control of shell - optional capabilities (*note The Shopt Builtin::), and allows these - options to be set and unset at shell invocation (*note Invoking - Bash::). - - * Bash has much more optional behavior controllable with the 'set' - builtin (*note The Set Builtin::). - - * The '-x' ('xtrace') option displays commands other than simple - commands when performing an execution trace (*note The Set - Builtin::). - - * The 'test' builtin (*note Bourne Shell Builtins::) is slightly - different, as it implements the POSIX algorithm, which specifies - the behavior based on the number of arguments. - - * Bash includes the 'caller' builtin, which displays the context of - any active subroutine call (a shell function or a script executed - with the '.' or 'source' builtins). This supports the Bash - debugger. - - * The 'trap' builtin (*note Bourne Shell Builtins::) allows a 'DEBUG' - pseudo-signal specification, similar to 'EXIT'. Commands specified - with a 'DEBUG' trap are executed before every simple command, 'for' - command, 'case' command, 'select' command, every arithmetic 'for' - command, and before the first command executes in a shell function. - The 'DEBUG' trap is not inherited by shell functions unless the - function has been given the 'trace' attribute or the 'functrace' - option has been enabled using the 'shopt' builtin. The 'extdebug' - shell option has additional effects on the 'DEBUG' trap. - - The 'trap' builtin (*note Bourne Shell Builtins::) allows an 'ERR' - pseudo-signal specification, similar to 'EXIT' and 'DEBUG'. - Commands specified with an 'ERR' trap are executed after a simple - command fails, with a few exceptions. The 'ERR' trap is not - inherited by shell functions unless the '-o errtrace' option to the - 'set' builtin is enabled. - - The 'trap' builtin (*note Bourne Shell Builtins::) allows a - 'RETURN' pseudo-signal specification, similar to 'EXIT' and - 'DEBUG'. Commands specified with a 'RETURN' trap are executed - before execution resumes after a shell function or a shell script - executed with '.' or 'source' returns. The 'RETURN' trap is not - inherited by shell functions unless the function has been given the - 'trace' attribute or the 'functrace' option has been enabled using - the 'shopt' builtin. - - * The Bash 'type' builtin is more extensive and gives more - information about the names it finds (*note Bash Builtins::). - - * The Bash 'umask' builtin permits a '-p' option to cause the output - to be displayed in the form of a 'umask' command that may be reused - as input (*note Bourne Shell Builtins::). - - * Bash implements a 'csh'-like directory stack, and provides the - 'pushd', 'popd', and 'dirs' builtins to manipulate it (*note The - Directory Stack::). Bash also makes the directory stack visible as - the value of the 'DIRSTACK' shell variable. - - * Bash interprets special backslash-escaped characters in the prompt - strings when interactive (*note Controlling the Prompt::). - - * The Bash restricted mode is more useful (*note The Restricted - Shell::); the SVR4.2 shell restricted mode is too limited. - - * The 'disown' builtin can remove a job from the internal shell job - table (*note Job Control Builtins::) or suppress the sending of - 'SIGHUP' to a job when the shell exits as the result of a 'SIGHUP'. - - * Bash includes a number of features to support a separate debugger - for shell scripts. - - * The SVR4.2 shell has two privilege-related builtins ('mldmode' and - 'priv') not present in Bash. - - * Bash does not have the 'stop' or 'newgrp' builtins. - - * Bash does not use the 'SHACCT' variable or perform shell - accounting. - - * The SVR4.2 'sh' uses a 'TIMEOUT' variable like Bash uses 'TMOUT'. - -More features unique to Bash may be found in *note Bash Features::. - -B.1 Implementation Differences From The SVR4.2 Shell -==================================================== - -Since Bash is a completely new implementation, it does not suffer from -many of the limitations of the SVR4.2 shell. For instance: - - * Bash does not fork a subshell when redirecting into or out of a - shell control structure such as an 'if' or 'while' statement. - - * Bash does not allow unbalanced quotes. The SVR4.2 shell will - silently insert a needed closing quote at 'EOF' under certain - circumstances. This can be the cause of some hard-to-find errors. - - * The SVR4.2 shell uses a baroque memory management scheme based on - trapping 'SIGSEGV'. If the shell is started from a process with - 'SIGSEGV' blocked (e.g., by using the 'system()' C library function - call), it misbehaves badly. - - * In a questionable attempt at security, the SVR4.2 shell, when - invoked without the '-p' option, will alter its real and effective - UID and GID if they are less than some magic threshold value, - commonly 100. This can lead to unexpected results. - - * The SVR4.2 shell does not allow users to trap 'SIGSEGV', 'SIGALRM', - or 'SIGCHLD'. - - * The SVR4.2 shell does not allow the 'IFS', 'MAILCHECK', 'PATH', - 'PS1', or 'PS2' variables to be unset. - - * The SVR4.2 shell treats '^' as the undocumented equivalent of '|'. - - * Bash allows multiple option arguments when it is invoked ('-x -v'); - the SVR4.2 shell allows only one option argument ('-xv'). In fact, - some versions of the shell dump core if the second argument begins - with a '-'. - - * The SVR4.2 shell exits a script if any builtin fails; Bash exits a - script only if one of the POSIX special builtins fails, and only - for certain failures, as enumerated in the POSIX standard. - - * The SVR4.2 shell behaves differently when invoked as 'jsh' (it - turns on job control). - - -File: bash.info, Node: GNU Free Documentation License, Next: Indexes, Prev: Major Differences From The Bourne Shell, Up: Top - -Appendix C GNU Free Documentation License -***************************************** - - Version 1.3, 3 November 2008 - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - <http://fsf.org/> - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. We - recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it can - be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You accept - the license if you copy, modify or distribute the work in a way - requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in the - notice that says that the Document is released under this License. - If a section does not fit the above definition of Secondary then it - is not allowed to be designated as Invariant. The Document may - contain zero Invariant Sections. If the Document does not identify - any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images composed - of pixels) generic paint programs or (for drawings) some widely - available drawing editor, and that is suitable for input to text - formatters or for automatic translation to a variety of formats - suitable for input to text formatters. A copy made in an otherwise - Transparent file format whose markup, or absence of markup, has - been arranged to thwart or discourage subsequent modification by - readers is not Transparent. An image format is not Transparent if - used for any substantial amount of text. A copy that is not - "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and standard-conforming - simple HTML, PostScript or PDF designed for human modification. - Examples of transparent image formats include PNG, XCF and JPG. - Opaque formats include proprietary formats that can be read and - edited only by proprietary word processors, SGML or XML for which - the DTD and/or processing tools are not generally available, and - the machine-generated HTML, PostScript or PDF produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow the - conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the title - equally prominent and visible. You may add other material on the - covers in addition. Copying with changes limited to the covers, as - long as they preserve the title of the Document and satisfy these - conditions, can be treated as verbatim copying in other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a machine-readable - Transparent copy along with each Opaque copy, or state in or with - each Opaque copy a computer-network location from which the general - network-using public has access to download using public-standard - network protocols a complete Transparent copy of the Document, free - of added material. If you use the latter option, you must take - reasonably prudent steps, when you begin distribution of Opaque - copies in quantity, to ensure that this Transparent copy will - remain thus accessible at the stated location until at least one - year after the last time you distribute an Opaque copy (directly or - through your agents or retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of copies, - to give them a chance to provide you with an updated version of the - Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with the - Modified Version filling the role of the Document, thus licensing - distribution and modification of the Modified Version to whoever - possesses a copy of it. In addition, you must do these things in - the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of previous - versions (which should, if there were any, be listed in the - History section of the Document). You may use the same title - as a previous version if the original publisher of that - version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on the - Title Page. If there is no section Entitled "History" in the - Document, create one stating the title, year, authors, and - publisher of the Document as given on its Title Page, then add - an item describing the Modified Version as stated in the - previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in the - "History" section. You may omit a network location for a work - that was published at least four years before the Document - itself, or if the original publisher of the version it refers - to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section - all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, unaltered - in their text and in their titles. Section numbers or the - equivalent are not considered part of the section titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option designate - some or all of these sections as invariant. To do this, add their - titles to the list of Invariant Sections in the Modified Version's - license notice. These titles must be distinct from any other - section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end of - the list of Cover Texts in the Modified Version. Only one passage - of Front-Cover Text and one of Back-Cover Text may be added by (or - through arrangements made by) any one entity. If the Document - already includes a cover text for the same cover, previously added - by you or by arrangement made by the same entity you are acting on - behalf of, you may not add another; but you may replace the old - one, on explicit permission from the previous publisher that added - the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination all - of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the documents - in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow this - License in all other respects regarding verbatim copying of that - document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of a - storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from you - under this License. If your rights have been terminated and not - permanently reinstated, receipt of a copy of some or all of the - same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - <http://www.gnu.org/copyleft/>. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If the - Document does not specify a version number of this License, you may - choose any version ever published (not as a draft) by the Free - Software Foundation. If the Document specifies that a proxy can - decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of free -software license, such as the GNU General Public License, to permit -their use in free software. - - -File: bash.info, Node: Indexes, Prev: GNU Free Documentation License, Up: Top - -Appendix D Indexes -****************** - -* Menu: - -* Builtin Index:: Index of Bash builtin commands. -* Reserved Word Index:: Index of Bash reserved words. -* Variable Index:: Quick reference helps you find the - variable you want. -* Function Index:: Index of bindable Readline functions. -* Concept Index:: General index for concepts described in - this manual. - - -File: bash.info, Node: Builtin Index, Next: Reserved Word Index, Up: Indexes - -D.1 Index of Shell Builtin Commands -=================================== - -�[index�] -* Menu: - -* .: Bourne Shell Builtins. - (line 17) -* :: Bourne Shell Builtins. - (line 11) -* [: Bourne Shell Builtins. - (line 275) -* alias: Bash Builtins. (line 11) -* bg: Job Control Builtins. - (line 7) -* bind: Bash Builtins. (line 21) -* break: Bourne Shell Builtins. - (line 37) -* builtin: Bash Builtins. (line 108) -* caller: Bash Builtins. (line 117) -* cd: Bourne Shell Builtins. - (line 45) -* command: Bash Builtins. (line 134) -* compgen: Programmable Completion Builtins. - (line 12) -* complete: Programmable Completion Builtins. - (line 30) -* compopt: Programmable Completion Builtins. - (line 238) -* continue: Bourne Shell Builtins. - (line 90) -* declare: Bash Builtins. (line 154) -* dirs: Directory Stack Builtins. - (line 7) -* disown: Job Control Builtins. - (line 104) -* echo: Bash Builtins. (line 257) -* enable: Bash Builtins. (line 306) -* eval: Bourne Shell Builtins. - (line 99) -* exec: Bourne Shell Builtins. - (line 107) -* exit: Bourne Shell Builtins. - (line 125) -* export: Bourne Shell Builtins. - (line 132) -* fc: Bash History Builtins. - (line 10) -* fg: Job Control Builtins. - (line 17) -* getopts: Bourne Shell Builtins. - (line 148) -* hash: Bourne Shell Builtins. - (line 192) -* help: Bash Builtins. (line 342) -* history: Bash History Builtins. - (line 46) -* jobs: Job Control Builtins. - (line 27) -* kill: Job Control Builtins. - (line 58) -* let: Bash Builtins. (line 361) -* local: Bash Builtins. (line 369) -* logout: Bash Builtins. (line 385) -* mapfile: Bash Builtins. (line 390) -* popd: Directory Stack Builtins. - (line 35) -* printf: Bash Builtins. (line 436) -* pushd: Directory Stack Builtins. - (line 69) -* pwd: Bourne Shell Builtins. - (line 212) -* read: Bash Builtins. (line 488) -* readarray: Bash Builtins. (line 585) -* readonly: Bourne Shell Builtins. - (line 222) -* return: Bourne Shell Builtins. - (line 241) -* set: The Set Builtin. (line 11) -* shift: Bourne Shell Builtins. - (line 262) -* shopt: The Shopt Builtin. (line 9) -* source: Bash Builtins. (line 594) -* suspend: Job Control Builtins. - (line 116) -* test: Bourne Shell Builtins. - (line 275) -* times: Bourne Shell Builtins. - (line 360) -* trap: Bourne Shell Builtins. - (line 366) -* type: Bash Builtins. (line 599) -* typeset: Bash Builtins. (line 631) -* ulimit: Bash Builtins. (line 637) -* umask: Bourne Shell Builtins. - (line 415) -* unalias: Bash Builtins. (line 743) -* unset: Bourne Shell Builtins. - (line 433) -* wait: Job Control Builtins. - (line 76) - - -File: bash.info, Node: Reserved Word Index, Next: Variable Index, Prev: Builtin Index, Up: Indexes - -D.2 Index of Shell Reserved Words -================================= - -�[index�] -* Menu: - -* !: Pipelines. (line 9) -* [[: Conditional Constructs. - (line 126) -* ]]: Conditional Constructs. - (line 126) -* {: Command Grouping. (line 21) -* }: Command Grouping. (line 21) -* case: Conditional Constructs. - (line 28) -* do: Looping Constructs. (line 12) -* done: Looping Constructs. (line 12) -* elif: Conditional Constructs. - (line 7) -* else: Conditional Constructs. - (line 7) -* esac: Conditional Constructs. - (line 28) -* fi: Conditional Constructs. - (line 7) -* for: Looping Constructs. (line 32) -* function: Shell Functions. (line 13) -* if: Conditional Constructs. - (line 7) -* in: Conditional Constructs. - (line 28) -* select: Conditional Constructs. - (line 84) -* then: Conditional Constructs. - (line 7) -* time: Pipelines. (line 9) -* until: Looping Constructs. (line 12) -* while: Looping Constructs. (line 22) - - -File: bash.info, Node: Variable Index, Next: Function Index, Prev: Reserved Word Index, Up: Indexes - -D.3 Parameter and Variable Index -================================ - -�[index�] -* Menu: - -* !: Special Parameters. (line 55) -* #: Special Parameters. (line 39) -* $: Special Parameters. (line 51) -* $!: Special Parameters. (line 56) -* $#: Special Parameters. (line 40) -* $$: Special Parameters. (line 52) -* $*: Special Parameters. (line 10) -* $-: Special Parameters. (line 47) -* $0: Special Parameters. (line 61) -* $?: Special Parameters. (line 43) -* $@: Special Parameters. (line 23) -* $_: Bash Variables. (line 14) -* *: Special Parameters. (line 9) -* -: Special Parameters. (line 46) -* 0: Special Parameters. (line 60) -* ?: Special Parameters. (line 42) -* @: Special Parameters. (line 22) -* _: Bash Variables. (line 13) -* active-region-end-color: Readline Init File Syntax. - (line 51) -* active-region-start-color: Readline Init File Syntax. - (line 38) -* auto_resume: Job Control Variables. - (line 6) -* BASH: Bash Variables. (line 23) -* BASHOPTS: Bash Variables. (line 26) -* BASHPID: Bash Variables. (line 35) -* BASH_ALIASES: Bash Variables. (line 42) -* BASH_ARGC: Bash Variables. (line 51) -* BASH_ARGV: Bash Variables. (line 64) -* BASH_ARGV0: Bash Variables. (line 76) -* BASH_CMDS: Bash Variables. (line 84) -* BASH_COMMAND: Bash Variables. (line 93) -* BASH_COMPAT: Bash Variables. (line 100) -* BASH_ENV: Bash Variables. (line 116) -* BASH_EXECUTION_STRING: Bash Variables. (line 122) -* BASH_LINENO: Bash Variables. (line 125) -* BASH_LOADABLES_PATH: Bash Variables. (line 133) -* BASH_REMATCH: Bash Variables. (line 137) -* BASH_SOURCE: Bash Variables. (line 145) -* BASH_SUBSHELL: Bash Variables. (line 152) -* BASH_VERSINFO: Bash Variables. (line 158) -* BASH_VERSION: Bash Variables. (line 181) -* BASH_XTRACEFD: Bash Variables. (line 184) -* bell-style: Readline Init File Syntax. - (line 64) -* bind-tty-special-chars: Readline Init File Syntax. - (line 71) -* blink-matching-paren: Readline Init File Syntax. - (line 76) -* CDPATH: Bourne Shell Variables. - (line 9) -* CHILD_MAX: Bash Variables. (line 195) -* colored-completion-prefix: Readline Init File Syntax. - (line 81) -* colored-stats: Readline Init File Syntax. - (line 91) -* COLUMNS: Bash Variables. (line 202) -* comment-begin: Readline Init File Syntax. - (line 97) -* completion-display-width: Readline Init File Syntax. - (line 102) -* completion-ignore-case: Readline Init File Syntax. - (line 109) -* completion-map-case: Readline Init File Syntax. - (line 114) -* completion-prefix-display-length: Readline Init File Syntax. - (line 120) -* completion-query-items: Readline Init File Syntax. - (line 127) -* COMPREPLY: Bash Variables. (line 254) -* COMP_CWORD: Bash Variables. (line 208) -* COMP_KEY: Bash Variables. (line 237) -* COMP_LINE: Bash Variables. (line 214) -* COMP_POINT: Bash Variables. (line 219) -* COMP_TYPE: Bash Variables. (line 227) -* COMP_WORDBREAKS: Bash Variables. (line 241) -* COMP_WORDS: Bash Variables. (line 247) -* convert-meta: Readline Init File Syntax. - (line 138) -* COPROC: Bash Variables. (line 260) -* DIRSTACK: Bash Variables. (line 264) -* disable-completion: Readline Init File Syntax. - (line 148) -* echo-control-characters: Readline Init File Syntax. - (line 153) -* editing-mode: Readline Init File Syntax. - (line 158) -* EMACS: Bash Variables. (line 274) -* emacs-mode-string: Readline Init File Syntax. - (line 164) -* enable-active-region: Readline Init File Syntax. - (line 174) -* enable-bracketed-paste: Readline Init File Syntax. - (line 187) -* enable-keypad: Readline Init File Syntax. - (line 196) -* ENV: Bash Variables. (line 279) -* EPOCHREALTIME: Bash Variables. (line 284) -* EPOCHSECONDS: Bash Variables. (line 292) -* EUID: Bash Variables. (line 299) -* EXECIGNORE: Bash Variables. (line 303) -* expand-tilde: Readline Init File Syntax. - (line 207) -* FCEDIT: Bash Variables. (line 316) -* FIGNORE: Bash Variables. (line 320) -* FUNCNAME: Bash Variables. (line 326) -* FUNCNEST: Bash Variables. (line 343) -* GLOBIGNORE: Bash Variables. (line 348) -* GROUPS: Bash Variables. (line 355) -* histchars: Bash Variables. (line 361) -* HISTCMD: Bash Variables. (line 376) -* HISTCONTROL: Bash Variables. (line 382) -* HISTFILE: Bash Variables. (line 398) -* HISTFILESIZE: Bash Variables. (line 402) -* HISTIGNORE: Bash Variables. (line 413) -* history-preserve-point: Readline Init File Syntax. - (line 211) -* history-size: Readline Init File Syntax. - (line 217) -* HISTSIZE: Bash Variables. (line 433) -* HISTTIMEFORMAT: Bash Variables. (line 440) -* HOME: Bourne Shell Variables. - (line 13) -* horizontal-scroll-mode: Readline Init File Syntax. - (line 226) -* HOSTFILE: Bash Variables. (line 448) -* HOSTNAME: Bash Variables. (line 459) -* HOSTTYPE: Bash Variables. (line 462) -* IFS: Bourne Shell Variables. - (line 18) -* IGNOREEOF: Bash Variables. (line 465) -* input-meta: Readline Init File Syntax. - (line 235) -* INPUTRC: Bash Variables. (line 475) -* INSIDE_EMACS: Bash Variables. (line 479) -* isearch-terminators: Readline Init File Syntax. - (line 245) -* keymap: Readline Init File Syntax. - (line 252) -* LANG: Creating Internationalized Scripts. - (line 51) -* LANG <1>: Bash Variables. (line 485) -* LC_ALL: Bash Variables. (line 489) -* LC_COLLATE: Bash Variables. (line 493) -* LC_CTYPE: Bash Variables. (line 500) -* LC_MESSAGES: Creating Internationalized Scripts. - (line 51) -* LC_MESSAGES <1>: Bash Variables. (line 505) -* LC_NUMERIC: Bash Variables. (line 509) -* LC_TIME: Bash Variables. (line 513) -* LINENO: Bash Variables. (line 517) -* LINES: Bash Variables. (line 522) -* MACHTYPE: Bash Variables. (line 528) -* MAIL: Bourne Shell Variables. - (line 22) -* MAILCHECK: Bash Variables. (line 532) -* MAILPATH: Bourne Shell Variables. - (line 27) -* MAPFILE: Bash Variables. (line 540) -* mark-modified-lines: Readline Init File Syntax. - (line 282) -* mark-symlinked-directories: Readline Init File Syntax. - (line 287) -* match-hidden-files: Readline Init File Syntax. - (line 292) -* menu-complete-display-prefix: Readline Init File Syntax. - (line 299) -* meta-flag: Readline Init File Syntax. - (line 235) -* OLDPWD: Bash Variables. (line 544) -* OPTARG: Bourne Shell Variables. - (line 34) -* OPTERR: Bash Variables. (line 547) -* OPTIND: Bourne Shell Variables. - (line 38) -* OSTYPE: Bash Variables. (line 551) -* output-meta: Readline Init File Syntax. - (line 304) -* page-completions: Readline Init File Syntax. - (line 312) -* PATH: Bourne Shell Variables. - (line 42) -* PIPESTATUS: Bash Variables. (line 554) -* POSIXLY_CORRECT: Bash Variables. (line 559) -* PPID: Bash Variables. (line 569) -* PROMPT_COMMAND: Bash Variables. (line 573) -* PROMPT_DIRTRIM: Bash Variables. (line 579) -* PS0: Bash Variables. (line 585) -* PS1: Bourne Shell Variables. - (line 48) -* PS2: Bourne Shell Variables. - (line 53) -* PS3: Bash Variables. (line 590) -* PS4: Bash Variables. (line 595) -* PWD: Bash Variables. (line 603) -* RANDOM: Bash Variables. (line 606) -* READLINE_ARGUMENT: Bash Variables. (line 612) -* READLINE_LINE: Bash Variables. (line 616) -* READLINE_MARK: Bash Variables. (line 620) -* READLINE_POINT: Bash Variables. (line 626) -* REPLY: Bash Variables. (line 630) -* revert-all-at-newline: Readline Init File Syntax. - (line 322) -* SECONDS: Bash Variables. (line 633) -* SHELL: Bash Variables. (line 642) -* SHELLOPTS: Bash Variables. (line 647) -* SHLVL: Bash Variables. (line 656) -* show-all-if-ambiguous: Readline Init File Syntax. - (line 329) -* show-all-if-unmodified: Readline Init File Syntax. - (line 335) -* show-mode-in-prompt: Readline Init File Syntax. - (line 344) -* skip-completed-text: Readline Init File Syntax. - (line 350) -* SRANDOM: Bash Variables. (line 661) -* TEXTDOMAIN: Creating Internationalized Scripts. - (line 51) -* TEXTDOMAINDIR: Creating Internationalized Scripts. - (line 51) -* TIMEFORMAT: Bash Variables. (line 670) -* TMOUT: Bash Variables. (line 708) -* TMPDIR: Bash Variables. (line 720) -* UID: Bash Variables. (line 724) -* vi-cmd-mode-string: Readline Init File Syntax. - (line 363) -* vi-ins-mode-string: Readline Init File Syntax. - (line 374) -* visible-stats: Readline Init File Syntax. - (line 385) - - -File: bash.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes - -D.4 Function Index -================== - -�[index�] -* Menu: - -* abort (C-g): Miscellaneous Commands. - (line 10) -* accept-line (Newline or Return): Commands For History. - (line 6) -* alias-expand-line (): Miscellaneous Commands. - (line 131) -* backward-char (C-b): Commands For Moving. (line 15) -* backward-delete-char (Rubout): Commands For Text. (line 17) -* backward-kill-line (C-x Rubout): Commands For Killing. - (line 11) -* backward-kill-word (M-<DEL>): Commands For Killing. - (line 28) -* backward-word (M-b): Commands For Moving. (line 22) -* beginning-of-history (M-<): Commands For History. - (line 20) -* beginning-of-line (C-a): Commands For Moving. (line 6) -* bracketed-paste-begin (): Commands For Text. (line 33) -* call-last-kbd-macro (C-x e): Keyboard Macros. (line 13) -* capitalize-word (M-c): Commands For Text. (line 66) -* character-search (C-]): Miscellaneous Commands. - (line 42) -* character-search-backward (M-C-]): Miscellaneous Commands. - (line 47) -* clear-display (M-C-l): Commands For Moving. (line 48) -* clear-screen (C-l): Commands For Moving. (line 53) -* complete (<TAB>): Commands For Completion. - (line 6) -* complete-command (M-!): Commands For Completion. - (line 80) -* complete-filename (M-/): Commands For Completion. - (line 49) -* complete-hostname (M-@): Commands For Completion. - (line 72) -* complete-into-braces (M-{): Commands For Completion. - (line 100) -* complete-username (M-~): Commands For Completion. - (line 56) -* complete-variable (M-$): Commands For Completion. - (line 64) -* copy-backward-word (): Commands For Killing. - (line 69) -* copy-forward-word (): Commands For Killing. - (line 74) -* copy-region-as-kill (): Commands For Killing. - (line 65) -* dabbrev-expand (): Commands For Completion. - (line 95) -* delete-char (C-d): Commands For Text. (line 12) -* delete-char-or-list (): Commands For Completion. - (line 43) -* delete-horizontal-space (): Commands For Killing. - (line 57) -* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6) -* display-shell-version (C-x C-v): Miscellaneous Commands. - (line 116) -* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands. - (line 14) -* downcase-word (M-l): Commands For Text. (line 62) -* dump-functions (): Miscellaneous Commands. - (line 74) -* dump-macros (): Miscellaneous Commands. - (line 86) -* dump-variables (): Miscellaneous Commands. - (line 80) -* dynamic-complete-history (M-<TAB>): Commands For Completion. - (line 90) -* edit-and-execute-command (C-x C-e): Miscellaneous Commands. - (line 140) -* end-kbd-macro (C-x )): Keyboard Macros. (line 9) -* end-of-file (usually C-d): Commands For Text. (line 6) -* end-of-history (M->): Commands For History. - (line 23) -* end-of-line (C-e): Commands For Moving. (line 9) -* exchange-point-and-mark (C-x C-x): Miscellaneous Commands. - (line 37) -* fetch-history (): Commands For History. - (line 103) -* forward-backward-delete-char (): Commands For Text. (line 21) -* forward-char (C-f): Commands For Moving. (line 12) -* forward-search-history (C-s): Commands For History. - (line 33) -* forward-word (M-f): Commands For Moving. (line 18) -* glob-complete-word (M-g): Miscellaneous Commands. - (line 98) -* glob-expand-word (C-x *): Miscellaneous Commands. - (line 104) -* glob-list-expansions (C-x g): Miscellaneous Commands. - (line 110) -* history-and-alias-expand-line (): Miscellaneous Commands. - (line 134) -* history-expand-line (M-^): Miscellaneous Commands. - (line 124) -* history-search-backward (): Commands For History. - (line 57) -* history-search-forward (): Commands For History. - (line 51) -* history-substring-search-backward (): Commands For History. - (line 69) -* history-substring-search-forward (): Commands For History. - (line 63) -* insert-comment (M-#): Miscellaneous Commands. - (line 61) -* insert-completions (M-*): Commands For Completion. - (line 22) -* insert-last-argument (M-. or M-_): Miscellaneous Commands. - (line 137) -* kill-line (C-k): Commands For Killing. - (line 6) -* kill-region (): Commands For Killing. - (line 61) -* kill-whole-line (): Commands For Killing. - (line 19) -* kill-word (M-d): Commands For Killing. - (line 23) -* magic-space (): Miscellaneous Commands. - (line 127) -* menu-complete (): Commands For Completion. - (line 26) -* menu-complete-backward (): Commands For Completion. - (line 38) -* next-history (C-n): Commands For History. - (line 17) -* next-screen-line (): Commands For Moving. (line 41) -* non-incremental-forward-search-history (M-n): Commands For History. - (line 45) -* non-incremental-reverse-search-history (M-p): Commands For History. - (line 39) -* operate-and-get-next (C-o): Commands For History. - (line 96) -* overwrite-mode (): Commands For Text. (line 70) -* possible-command-completions (C-x !): Commands For Completion. - (line 86) -* possible-completions (M-?): Commands For Completion. - (line 15) -* possible-filename-completions (C-x /): Commands For Completion. - (line 52) -* possible-hostname-completions (C-x @): Commands For Completion. - (line 76) -* possible-username-completions (C-x ~): Commands For Completion. - (line 60) -* possible-variable-completions (C-x $): Commands For Completion. - (line 68) -* prefix-meta (<ESC>): Miscellaneous Commands. - (line 19) -* previous-history (C-p): Commands For History. - (line 13) -* previous-screen-line (): Commands For Moving. (line 34) -* print-last-kbd-macro (): Keyboard Macros. (line 17) -* quoted-insert (C-q or C-v): Commands For Text. (line 26) -* re-read-init-file (C-x C-r): Miscellaneous Commands. - (line 6) -* redraw-current-line (): Commands For Moving. (line 57) -* reverse-search-history (C-r): Commands For History. - (line 27) -* revert-line (M-r): Miscellaneous Commands. - (line 26) -* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 30) -* set-mark (C-@): Miscellaneous Commands. - (line 33) -* shell-backward-kill-word (): Commands For Killing. - (line 37) -* shell-backward-word (M-C-b): Commands For Moving. (line 30) -* shell-expand-line (M-C-e): Miscellaneous Commands. - (line 119) -* shell-forward-word (M-C-f): Commands For Moving. (line 26) -* shell-kill-word (M-C-d): Commands For Killing. - (line 32) -* shell-transpose-words (M-C-t): Commands For Killing. - (line 41) -* skip-csi-sequence (): Miscellaneous Commands. - (line 52) -* spell-correct-word (C-x s): Miscellaneous Commands. - (line 92) -* start-kbd-macro (C-x (): Keyboard Macros. (line 6) -* tilde-expand (M-&): Miscellaneous Commands. - (line 30) -* transpose-chars (C-t): Commands For Text. (line 47) -* transpose-words (M-t): Commands For Text. (line 53) -* undo (C-_ or C-x C-u): Miscellaneous Commands. - (line 23) -* universal-argument (): Numeric Arguments. (line 10) -* unix-filename-rubout (): Commands For Killing. - (line 52) -* unix-line-discard (C-u): Commands For Killing. - (line 16) -* unix-word-rubout (C-w): Commands For Killing. - (line 48) -* upcase-word (M-u): Commands For Text. (line 58) -* yank (C-y): Commands For Killing. - (line 79) -* yank-last-arg (M-. or M-_): Commands For History. - (line 84) -* yank-nth-arg (M-C-y): Commands For History. - (line 75) -* yank-pop (M-y): Commands For Killing. - (line 82) - - -File: bash.info, Node: Concept Index, Prev: Function Index, Up: Indexes - -D.5 Concept Index -================= - -�[index�] -* Menu: - -* alias expansion: Aliases. (line 6) -* arithmetic evaluation: Shell Arithmetic. (line 6) -* arithmetic expansion: Arithmetic Expansion. - (line 6) -* arithmetic, shell: Shell Arithmetic. (line 6) -* arrays: Arrays. (line 6) -* background: Job Control Basics. (line 6) -* Bash configuration: Basic Installation. (line 6) -* Bash installation: Basic Installation. (line 6) -* Bourne shell: Basic Shell Features. - (line 6) -* brace expansion: Brace Expansion. (line 6) -* builtin: Definitions. (line 17) -* command editing: Readline Bare Essentials. - (line 6) -* command execution: Command Search and Execution. - (line 6) -* command expansion: Simple Command Expansion. - (line 6) -* command history: Bash History Facilities. - (line 6) -* command search: Command Search and Execution. - (line 6) -* command substitution: Command Substitution. - (line 6) -* command timing: Pipelines. (line 9) -* commands, compound: Compound Commands. (line 6) -* commands, conditional: Conditional Constructs. - (line 6) -* commands, grouping: Command Grouping. (line 6) -* commands, lists: Lists. (line 6) -* commands, looping: Looping Constructs. (line 6) -* commands, pipelines: Pipelines. (line 6) -* commands, shell: Shell Commands. (line 6) -* commands, simple: Simple Commands. (line 6) -* comments, shell: Comments. (line 6) -* Compatibility Level: Shell Compatibility Mode. - (line 6) -* Compatibility Mode: Shell Compatibility Mode. - (line 6) -* completion builtins: Programmable Completion Builtins. - (line 6) -* configuration: Basic Installation. (line 6) -* control operator: Definitions. (line 21) -* coprocess: Coprocesses. (line 6) -* directory stack: The Directory Stack. (line 6) -* editing command lines: Readline Bare Essentials. - (line 6) -* environment: Environment. (line 6) -* evaluation, arithmetic: Shell Arithmetic. (line 6) -* event designators: Event Designators. (line 6) -* execution environment: Command Execution Environment. - (line 6) -* exit status: Definitions. (line 26) -* exit status <1>: Exit Status. (line 6) -* expansion: Shell Expansions. (line 6) -* expansion, arithmetic: Arithmetic Expansion. - (line 6) -* expansion, brace: Brace Expansion. (line 6) -* expansion, filename: Filename Expansion. (line 9) -* expansion, parameter: Shell Parameter Expansion. - (line 6) -* expansion, pathname: Filename Expansion. (line 9) -* expansion, tilde: Tilde Expansion. (line 6) -* expressions, arithmetic: Shell Arithmetic. (line 6) -* expressions, conditional: Bash Conditional Expressions. - (line 6) -* field: Definitions. (line 30) -* filename: Definitions. (line 35) -* filename expansion: Filename Expansion. (line 9) -* foreground: Job Control Basics. (line 6) -* functions, shell: Shell Functions. (line 6) -* history builtins: Bash History Builtins. - (line 6) -* history events: Event Designators. (line 8) -* history expansion: History Interaction. (line 6) -* history list: Bash History Facilities. - (line 6) -* History, how to use: A Programmable Completion Example. - (line 113) -* identifier: Definitions. (line 51) -* initialization file, readline: Readline Init File. (line 6) -* installation: Basic Installation. (line 6) -* interaction, readline: Readline Interaction. - (line 6) -* interactive shell: Invoking Bash. (line 131) -* interactive shell <1>: Interactive Shells. (line 6) -* internationalization: Locale Translation. (line 6) -* internationalized scripts: Creating Internationalized Scripts. - (line 3) -* job: Definitions. (line 38) -* job control: Definitions. (line 42) -* job control <1>: Job Control Basics. (line 6) -* kill ring: Readline Killing Commands. - (line 18) -* killing text: Readline Killing Commands. - (line 6) -* localization: Locale Translation. (line 6) -* login shell: Invoking Bash. (line 128) -* matching, pattern: Pattern Matching. (line 6) -* metacharacter: Definitions. (line 46) -* name: Definitions. (line 51) -* native languages: Locale Translation. (line 6) -* notation, readline: Readline Bare Essentials. - (line 6) -* operator, shell: Definitions. (line 57) -* parameter expansion: Shell Parameter Expansion. - (line 6) -* parameters: Shell Parameters. (line 6) -* parameters, positional: Positional Parameters. - (line 6) -* parameters, special: Special Parameters. (line 6) -* pathname expansion: Filename Expansion. (line 9) -* pattern matching: Pattern Matching. (line 6) -* pipeline: Pipelines. (line 6) -* POSIX: Definitions. (line 9) -* POSIX Mode: Bash POSIX Mode. (line 6) -* process group: Definitions. (line 62) -* process group ID: Definitions. (line 66) -* process substitution: Process Substitution. - (line 6) -* programmable completion: Programmable Completion. - (line 6) -* prompting: Controlling the Prompt. - (line 6) -* quoting: Quoting. (line 6) -* quoting, ANSI: ANSI-C Quoting. (line 6) -* Readline, how to use: Job Control Variables. - (line 23) -* redirection: Redirections. (line 6) -* reserved word: Definitions. (line 70) -* reserved words: Reserved Words. (line 6) -* restricted shell: The Restricted Shell. - (line 6) -* return status: Definitions. (line 75) -* shell arithmetic: Shell Arithmetic. (line 6) -* shell function: Shell Functions. (line 6) -* shell script: Shell Scripts. (line 6) -* shell variable: Shell Parameters. (line 6) -* shell, interactive: Interactive Shells. (line 6) -* signal: Definitions. (line 78) -* signal handling: Signals. (line 6) -* special builtin: Definitions. (line 82) -* special builtin <1>: Special Builtins. (line 6) -* startup files: Bash Startup Files. (line 6) -* string translations: Creating Internationalized Scripts. - (line 3) -* suspending jobs: Job Control Basics. (line 6) -* tilde expansion: Tilde Expansion. (line 6) -* token: Definitions. (line 86) -* translation, native languages: Locale Translation. (line 6) -* variable, shell: Shell Parameters. (line 6) -* variables, readline: Readline Init File Syntax. - (line 37) -* word: Definitions. (line 90) -* word splitting: Word Splitting. (line 6) -* yanking text: Readline Killing Commands. - (line 6) - - - -Tag Table: -Node: Top896 -Node: Introduction2815 -Node: What is Bash?3028 -Node: What is a shell?4139 -Node: Definitions6674 -Node: Basic Shell Features9622 -Node: Shell Syntax10838 -Node: Shell Operation11861 -Node: Quoting13151 -Node: Escape Character14452 -Node: Single Quotes14934 -Node: Double Quotes15279 -Node: ANSI-C Quoting16554 -Node: Locale Translation17861 -Node: Creating Internationalized Scripts19169 -Node: Comments23283 -Node: Shell Commands23898 -Node: Reserved Words24833 -Node: Simple Commands25586 -Node: Pipelines26237 -Node: Lists29233 -Node: Compound Commands31025 -Node: Looping Constructs32034 -Node: Conditional Constructs34526 -Node: Command Grouping49011 -Node: Coprocesses50486 -Node: GNU Parallel53146 -Node: Shell Functions54060 -Node: Shell Parameters61942 -Node: Positional Parameters66327 -Node: Special Parameters67226 -Node: Shell Expansions70437 -Node: Brace Expansion72561 -Node: Tilde Expansion75292 -Node: Shell Parameter Expansion77910 -Node: Command Substitution96258 -Node: Arithmetic Expansion97610 -Node: Process Substitution98575 -Node: Word Splitting99692 -Node: Filename Expansion101633 -Node: Pattern Matching104379 -Node: Quote Removal109378 -Node: Redirections109670 -Node: Executing Commands119327 -Node: Simple Command Expansion119994 -Node: Command Search and Execution122101 -Node: Command Execution Environment124476 -Node: Environment127508 -Node: Exit Status129168 -Node: Signals130949 -Node: Shell Scripts134395 -Node: Shell Builtin Commands137419 -Node: Bourne Shell Builtins139454 -Node: Bash Builtins160917 -Node: Modifying Shell Behavior191770 -Node: The Set Builtin192112 -Node: The Shopt Builtin202710 -Node: Special Builtins218619 -Node: Shell Variables219595 -Node: Bourne Shell Variables220029 -Node: Bash Variables222130 -Node: Bash Features254942 -Node: Invoking Bash255952 -Node: Bash Startup Files261962 -Node: Interactive Shells267090 -Node: What is an Interactive Shell?267498 -Node: Is this Shell Interactive?268144 -Node: Interactive Shell Behavior268956 -Node: Bash Conditional Expressions272582 -Node: Shell Arithmetic277221 -Node: Aliases280162 -Node: Arrays282772 -Node: The Directory Stack289160 -Node: Directory Stack Builtins289941 -Node: Controlling the Prompt294198 -Node: The Restricted Shell297160 -Node: Bash POSIX Mode299767 -Node: Shell Compatibility Mode311682 -Node: Job Control320246 -Node: Job Control Basics320703 -Node: Job Control Builtins325702 -Node: Job Control Variables331494 -Node: Command Line Editing332647 -Node: Introduction and Notation334315 -Node: Readline Interaction335935 -Node: Readline Bare Essentials337123 -Node: Readline Movement Commands338909 -Node: Readline Killing Commands339866 -Node: Readline Arguments341784 -Node: Searching342825 -Node: Readline Init File345008 -Node: Readline Init File Syntax346266 -Node: Conditional Init Constructs369849 -Node: Sample Init File374042 -Node: Bindable Readline Commands377163 -Node: Commands For Moving378364 -Node: Commands For History380412 -Node: Commands For Text385403 -Node: Commands For Killing389049 -Node: Numeric Arguments392079 -Node: Commands For Completion393215 -Node: Keyboard Macros397403 -Node: Miscellaneous Commands398088 -Node: Readline vi Mode404030 -Node: Programmable Completion404934 -Node: Programmable Completion Builtins412711 -Node: A Programmable Completion Example423460 -Node: Using History Interactively428705 -Node: Bash History Facilities429386 -Node: Bash History Builtins432388 -Node: History Interaction437409 -Node: Event Designators441026 -Node: Word Designators442377 -Node: Modifiers444134 -Node: Installing Bash445939 -Node: Basic Installation447073 -Node: Compilers and Options450792 -Node: Compiling For Multiple Architectures451530 -Node: Installation Names453219 -Node: Specifying the System Type455325 -Node: Sharing Defaults456039 -Node: Operation Controls456709 -Node: Optional Features457664 -Node: Reporting Bugs468880 -Node: Major Differences From The Bourne Shell470152 -Node: GNU Free Documentation License486998 -Node: Indexes512172 -Node: Builtin Index512623 -Node: Reserved Word Index519447 -Node: Variable Index521892 -Node: Function Index538663 -Node: Concept Index552444 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/dir b/result/sw/share/info/dir deleted file mode 100644 index c6cee72c..00000000 --- a/result/sw/share/info/dir +++ /dev/null @@ -1,46 +0,0 @@ -This is the file .../info/dir, which contains the -topmost node of the Info hierarchy, called (dir)Top. -The first time you invoke Info you start off looking at this node. - -File: dir, Node: Top This is the top of the INFO tree - - This (the Directory node) gives a menu of major topics. - Typing "q" exits, "H" lists all Info commands, "d" returns here, - "h" gives a primer for first-timers, - "mEmacs<Return>" visits the Emacs manual, etc. - - In Emacs, you can click mouse button 2 on a menu item or cross reference - to select it. - -* Menu: - -Basics -* Bash: (bash). The GNU Bourne-Again SHell. - -Texinfo documentation system -* Texinfo: (texinfo). The GNU documentation format. -* info stand-alone: (info-stnd). - Read Info documents without Emacs. -* install-info: (texinfo)Invoking install-info. - Update info/dir entries. -* makeinfo: (texinfo)Invoking texi2any. - Translate Texinfo source. -* pdftexi2dvi: (texinfo)PDF Output. - PDF output for Texinfo. -* pod2texi: (pod2texi)Invoking pod2texi. - Translate Perl Pod to Texinfo. -* texi2any: (texinfo)Invoking texi2any. - Translate Texinfo source. -* texi2dvi: (texinfo)Format with texi2dvi. - Print Texinfo documents. -* texi2pdf: (texinfo)PDF Output. - PDF output for Texinfo. -* texi2any customization: (texi2any_api). - Customizing texi2any output -* texi2any modules: (texi2any_internals). - Texinfo Perl modules used in texi2any -* texindex: (texinfo)Format with tex/texindex. - Sort Texinfo index files. - -Utilities -* ZSH: (zsh). The Z Shell Manual. diff --git a/result/sw/share/info/info-stnd.info b/result/sw/share/info/info-stnd.info deleted file mode 100644 index a34de9e8..00000000 --- a/result/sw/share/info/info-stnd.info +++ /dev/null @@ -1,2634 +0,0 @@ -This is info-stnd.info, produced by texi2any version 7.2 from -info-stnd.texi. - -This manual is for Stand-alone GNU Info (version 7.2, 10 October 2024), -a program for viewing documents in Info format (usually created from -Texinfo source files). - - Copyright © 1992, 1993, 1996, 1997, 1998, 1999, 2001-2024 Free -Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License" in the Texinfo - manual. - - This document is part of a collection distributed under the GNU Free -Documentation License. If you want to distribute this document -separately from the collection, you can do so by adding a copy of the -license to the document, as described in section 6 of the license. -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* info stand-alone: (info-stnd). Read Info documents without Emacs. -END-INFO-DIR-ENTRY - - -File: info-stnd.info, Node: Top, Next: Stand-alone Info, Up: (dir) - -Stand-alone GNU Info -******************** - -This documentation describes the stand-alone Info reader which you can -use to read Info documentation. - - If you are new to the Info reader, then you can get started by typing -‘H’ for a list of basic key bindings. You can read through the rest of -this manual by typing <SPC> and <DEL> (or <Space> and <Backspace>) to -move forwards and backwards in it. - -* Menu: - -* Stand-alone Info:: What is Info? -* Node Commands:: Commands for selecting a new node. -* More Node Commands:: Further commands for changing the node. -* Cursor Commands:: Commands which move the cursor within a node. -* Scrolling Commands:: Commands for reading the text within a node. -* Searching Commands:: Commands for searching an Info file. -* Index Commands:: Commands for looking up in indices. -* Xref Commands:: Commands for selecting cross-references. -* Window Commands:: Commands which manipulate multiple windows. -* Printing Nodes:: How to print out the contents of a node. -* Miscellaneous Commands:: A few commands that defy categorization. -* Invoking Info:: Options you can pass on the command line. -* Variables:: How to change the default behavior of Info. -* Colors and Styles:: Customize the colors used by Info. -* Custom Key Bindings:: How to define your own key-to-command bindings. -* MS-DOS/Windows keybindings:: Alternate DOS/Windows keybindings. - -Appendices - -* Index:: Global index. - - -- The Detailed Node Listing -- - -Selecting Cross-references - -* Parts of an Xref:: What a cross-reference is made of. -* Selecting Xrefs:: Commands for selecting menu or note items. - -Manipulating Multiple Windows - -* The Mode Line:: What appears in the mode line? -* Basic Windows:: Manipulating windows in Info. -* The Echo Area:: Used for displaying errors and reading input. - -Customizing Key Bindings and Variables - -* infokey format:: - - -File: info-stnd.info, Node: Stand-alone Info, Next: Node Commands, Prev: Top, Up: Top - -1 Stand-alone Info -****************** - -The “Info” program described here is a stand-alone program, part of the -Texinfo distribution, which is used to view Info files on a text -terminal. “Info files” are typically the result of processing Texinfo -files with the program ‘texi2any’ (also in the Texinfo distribution). - - Texinfo itself (*note (texinfo)Top::) is a documentation system that -uses a single source file to produce both on-line information and -printed output. You can typeset and print the files that you read in -Info. - - GNU Emacs also provides an Info reader (just type ‘M-x info’ in -Emacs). Emacs Info and stand-alone Info have nearly identical user -interfaces, although customization and other details are different (this -manual explains the stand-alone Info reader). The Emacs Info reader -supports the X Window System and other such bitmapped interfaces, not -just plain ASCII, so if you want a prettier display for Info files, you -should try it. You can use Emacs Info without using Emacs for anything -else. (Type ‘C-x C-c’ to exit; this also works in the stand-alone Info -reader.) *Note (info)Top:: for a tutorial and more background -information about the Info system, as well as information about the Info -reader that is part of GNU Emacs, - - Please report bugs in this stand-alone Info program to -<bug-texinfo@gnu.org>. Bugs in the Emacs Info reader should be sent to -<bug-gnu-emacs@gnu.org>. - - -File: info-stnd.info, Node: Node Commands, Next: More Node Commands, Prev: Stand-alone Info, Up: Top - -2 Selecting a Node -****************** - -The most basic node commands are ‘n’, ‘p’, and ‘u’. These move you -around the node structure of the file: - -‘n’ (‘next-node’) - Select the 'Next' node. - -‘p’ (‘prev-node’) - Select the 'Prev' node. - -‘u’ (‘up-node’) - Select the 'Up' node. - - The top line of each Info node contains “pointers” which describe -where the next, previous, and up nodes are. The nodes in an Info file -are conventionally arranged in a hierarchical structure; for example, -the 'Next' pointer in a section of a chapter takes you to the next -section in the same chapter, while the 'Up' pointer takes you to the -higher-level node for the chapter as a whole. - - You can select a node that you have already viewed by using the ‘l’ -command--this stands for "last": - -‘l’ (‘history-node’) - Move backwards through the history of visited nodes for this - window. The current node is discarded from the history. - - This is useful when you follow a reference to another node to read - about a related issue, and would like then to resume reading at the - same place where you started. - -Two additional commands, ‘t’ and ‘d’, select special nodes: - -‘t’ (‘top-node’) - Select the node ‘Top’ in the current Info file. - -‘d’ (‘dir-node’) - Select the directory node (i.e., the node ‘(dir)’). This contains - a menu referencing all the available Info files that are installed - on your system. - - In the command descriptions in this manual, the ‘M-x’ command names -are displayed in parentheses. ‘M-x’ is itself a command -(‘execute-command’) letting you run a command by name. For example, you -could select the next node with ‘M-x next-node’. - - ‘C-X’ means press the <Ctrl> key and the key X. ‘M-X’ means press -the <Meta> key and the key X. (<Meta> is usually labeled as <Alt>). -<SPC> is the space bar. The other keys are usually called by the names -printed on them. This notation to describe keystrokes is the same as -that used within the Emacs manual (*note (emacs)User Input::). - - Many Info commands can take a “numeric argument”; see *note -‘universal-argument’: Miscellaneous Commands. to find out how to supply -one. - - -File: info-stnd.info, Node: More Node Commands, Next: Cursor Commands, Prev: Node Commands, Up: Top - -3 Further Commands for Selecting a Node -*************************************** - -This chapter describes some other commands which select a different -node. - -‘<’ (‘first-node’) - Selects the first node which appears in this file. This node is - most often ‘Top’, but it does not have to be. With a numeric - argument N, select the Nth node (the first node is node 1). An - argument of zero is the same as the argument of 1. - -‘>’ (‘last-node’) - Select the last node which appears in this file. With a numeric - argument N, select the Nth node (the first node is node 1). An - argument of zero is the same as no argument, i.e., it selects the - last node. - -‘]’ (‘global-next-node’) - Move forward through the node structure. If the node that you are - currently viewing has a menu, select the first menu item. - Otherwise, if this node has a ‘Next’ pointer, follow it. If there - is no menu and no ‘Next’ pointer, then follow ‘Up’ pointers until - there is a ‘Next’ pointer, and then follow it. - -‘[’ (‘global-prev-node’) - Move backward through the node structure. If the node that you are - currently viewing has a ‘Prev’ pointer, that node is selected. - Otherwise, if the node has an ‘Up’ pointer, that node is selected, - and if it has a menu, the last item in the menu is selected. - - You can get the same behavior as ‘global-next-node’ and - ‘global-prev-node’ while simply scrolling through the file with - <SPC> and <DEL> (*note scroll-behavior::). - -‘g’ (‘goto-node’) - Read the name of a node and select it. If the desired node resides - in some other file, you must type the node as it appears in that - Info file, and include the name of the other file. For example, - - g(emacs)Buffers - - finds the node ‘Buffers’ in the Info file ‘emacs’. - - While reading the node name, completion (*note completion: The Echo - Area.) is only done for the nodes which reside in one of the Info - files that were loaded in the current Info session. - -‘O’ (‘goto-invocation’) - Read the name of a program and look for a node in the current Info - file which describes the invocation and the command-line options - for that program. The default program name is derived from the - name of the current Info file. This command does the same as the - ‘--show-options’ command-line option (*note --show-options::), but - it also allows to specify the program name; this is important for - those manuals which describe several programs. - - If you need to find the Invocation node of a program that is - documented in another Info file, you need to visit that file before - invoking ‘O’. For example, if you are reading the Emacs manual and - want to see the command-line options of the ‘texi2any’ program, - type ‘g (texinfo) <RET>’ and then ‘O texi2any <RET>’. If you don't - know what Info file documents the command, or if invoking ‘O’ - doesn't display the right node, go to the ‘(dir)’ node (using the - ‘d’ command) and invoke ‘O’ from there. - -‘G’ (‘menu-sequence’) - Read a sequence of menu entries and follow it. Info prompts for a - sequence of menu items separated by commas. (Since commas are not - allowed in a node name, they are a natural choice for a delimiter - in a list of menu items.) Info then looks up the first item in the - menu of the node ‘(dir)’ (if the ‘(dir)’ node cannot be found, Info - uses ‘Top’). If such an entry is found, Info goes to the node it - points to and looks up the second item in the menu of that node, - etc. In other words, you can specify a complete path which - descends through the menu hierarchy of a particular Info file - starting at the ‘(dir)’ node. This has the same effect as if you - typed the menu item sequence on Info's command line, see *note Info - command-line arguments processing: command-line menu items. For - example, - - G Texinfo,Overview,Reporting Bugs <RET> - - displays the node ‘Reporting Bugs’ in the Texinfo manual. (You - don't actually need to type the menu items in their full length, or - in their exact letter-case. However, if you do type the menu items - exactly, Info will find it faster.) - - If any of the menu items you type are not found, Info stops at the - last entry it did find and reports an error. - -‘C-x C-f’ (‘view-file’) - Read the name of a file and selects the entire file. The command - C-x C-f FILENAME - is equivalent to typing - g(FILENAME)* - -‘C-x C-b’ (‘list-visited-nodes’) - Make a window containing a menu of all of the currently visited - nodes. This window becomes the selected window, and you may use - the standard Info commands within it. - -‘C-x b’ (‘select-visited-node’) - Select a node which has been previously visited in a visible - window. This is similar to ‘C-x C-b’ followed by ‘m’, but no - window is created. - -‘M-x man’ - Read the name of a man page to load and display. This uses the - ‘man’ command on your system to retrieve the contents of the - requested man page. See also *note --raw-escapes::. - - -File: info-stnd.info, Node: Cursor Commands, Next: Scrolling Commands, Prev: More Node Commands, Up: Top - -4 Moving the Cursor -******************* - -GNU Info has several commands which allow you to move the cursor about -the screen. - - With a numeric argument, the motion commands are simply executed that -many times; for example, a numeric argument of 4 given to ‘next-line’ -causes the cursor to move down 4 lines. With a negative numeric -argument, the motion is reversed; an argument of −4 given to the -‘next-line’ command would cause the cursor to move _up_ 4 lines. - -‘C-n’ (‘next-line’) -<DOWN> (an arrow key) - Move the cursor down to the next line. - -‘C-p’ (‘prev-line’) -<UP> (an arrow key) - Move the cursor up to the previous line. - -‘C-a’ (‘beginning-of-line’) - Move the cursor to the start of the current line. - -‘C-e’ (‘end-of-line’) - Move the cursor to the end of the current line. - -‘C-f’ (‘forward-char’) -<RIGHT> (an arrow key) - Move the cursor forward a character. - -‘C-b’ (‘backward-char’) -<LEFT> (an arrow key) - Move the cursor backward a character. - -‘M-f’ (‘forward-word’) - Move the cursor forward a word. - -‘M-b’ (‘backward-word’) - Move the cursor backward a word. - -‘M-<’ (‘beginning-of-node’) -‘b’ - Move the cursor to the start of the current node. - -‘M->’ (‘end-of-node’) -‘e’ - Move the cursor to the end of the current node. - -‘M-r’ (‘move-to-window-line’) - Move the cursor to a specific line of the window. Without a - numeric argument, ‘M-r’ moves the cursor to the start of the line - in the center of the window. With a numeric argument of N, ‘M-r’ - moves the cursor to the start of the Nth line in the window. - - -File: info-stnd.info, Node: Scrolling Commands, Next: Searching Commands, Prev: Cursor Commands, Up: Top - -5 Moving Text Within a Window -***************************** - -Sometimes you are looking at a screenful of text, and only part of the -current paragraph you are reading is visible on the screen. The -commands detailed in this section are used to shift which part of the -current node is visible on the screen. - -<SPC> (‘scroll-forward’) -<NEXT> - Shift the text in this window up. That is, show more of the node - which is currently below the bottom of the window. With a numeric - argument, show that many more lines at the bottom of the window; a - numeric argument of 4 would shift all of the text in the window up - 4 lines (discarding the top 4 lines), and show you four new lines - at the bottom of the window. Without a numeric argument, <SPC> - takes the bottom two lines of the window and places them at the top - of the window, redisplaying almost a completely new screenful of - lines. If you are at the end of a node, <SPC> takes you to the - "next" node, so that you can read an entire manual from start to - finish by repeating <SPC>. - - The <NEXT> key is known as the <PageDown> key on some keyboards. - -‘C-v’ (‘scroll-forward-page-only’) - Shift the text in this window up. This is identical to the <SPC> - operation above, except that it never scrolls beyond the end of the - current node. - -‘M-x scroll-forward-page-only-set-window’ - Scroll forward, like with ‘C-v’, but if a numeric argument is - specified, it becomes the default scroll size for subsequent - ‘scroll-forward’ and ‘scroll-backward’ commands and their ilk. - -<DEL> (‘scroll-backward’) -<PREVIOUS> - Shift the text in this window down. The inverse of - ‘scroll-forward’. If you are at the start of a node, <DEL> takes - you to the "previous" node, so that you can read an entire manual - from finish to start by repeating <DEL>. The default scroll size - can be changed by invoking the - (‘scroll-backward-page-only-set-window’) command with a numeric - argument. - - If your keyboard lacks the <DEL> key, look for a key called <BS>, - or ‘Backspace’, sometimes designated with an arrow which points to - the left, which should perform the same function. - - The <PREVIOUS> key is the <PageUp> key on many keyboards. Emacs - refers to it by the name <PRIOR>. - -‘M-v’ (‘scroll-backward-page-only’) - Shift the text in this window down. The inverse of - ‘scroll-forward-page-only’. Does not scroll beyond the start of - the current node. The default scroll size can be changed by - invoking the ‘scroll-backward-page-only-set-window’ command with a - numeric argument. - -‘M-x scroll-backward-page-only-set-window’ - Scroll backward, like with ‘M-v’, but if a numeric argument is - specified, it becomes the default scroll size for subsequent - ‘scroll-forward’ and ‘scroll-backward’ commands. - -‘M-x down-line’ - Scroll forward by one line. With a numeric argument, scroll - forward that many lines. - -‘M-x up-line’ - Scroll backward one line. With a numeric argument, scroll backward - that many lines. - -‘M-x scroll-half-screen-down’ - Scroll forward by half of the screen size. With a numeric - argument, scroll that many lines. If an argument is specified, it - becomes the new default number of lines to scroll for subsequent - ‘scroll-half-screen-down’ and ‘scroll-half-screen-up’ commands. - -‘M-x scroll-half-screen-up’ - Scroll back by half of the screen size. With a numeric argument, - scroll that many lines. If an argument is specified, it becomes - the new default number of lines to scroll for subsequent - ‘scroll-half-screen-down’ and ‘scroll-half-screen-up’ commands. - - The ‘scroll-forward’ and ‘scroll-backward’ commands can also move -forward and backward through the node structure of the file. If you -press <SPC> while viewing the end of a node, or <DEL> while viewing the -beginning of a node, what happens is controlled by the variable -‘scroll-behavior’ (*note scroll-behavior::). - - The ‘scroll-forward-page-only’ and ‘scroll-backward-page-only’ -commands never scroll beyond the current node. - - -File: info-stnd.info, Node: Searching Commands, Next: Index Commands, Prev: Scrolling Commands, Up: Top - -6 Searching an Info File -************************ - -GNU Info allows you to search for a sequence of characters throughout an -entire Info file. Here are the commands to do this: - -‘s’ (‘search’) -‘/’ - Read a string in the echo area and search for it, either as a - regular expression (by default) or a literal string. If the string - includes upper-case characters, the Info file is searched - case-sensitively; otherwise Info ignores the letter case. With a - numeric argument of N, search for Nth occurrence of the string. - Negative arguments search backwards. - -‘?’ (‘search-backward’) - Read a string in the echo area and search backward through the Info - file for that string. If the string includes upper-case - characters, the Info file is searched case-sensitively; otherwise - Info ignores the letter case. With a numeric argument of N, search - for Nth occurrence of the string. Negative arguments search - forward. - -‘C-x n’ (‘search-next’) -‘}’ - Search forwards for the string used for the last search command. - Case sensitivity and use of regular expressions are kept the same. - With a numeric argument of N, search for Nth next occurrence. - - By default, the search starts at the position immediately following - the cursor. However, if the variable ‘search-skip-screen’ (*note - ‘search-skip-screen’: Variables.) is set, it starts at the - beginning of the next page, thereby skipping all visibly displayed - lines. - -‘C-x N’ (‘search-previous’) -‘{’ - Just like ‘search-next’, but in reverse. You can use ‘search-next’ - and ‘search-previous’ together to move forward and backward through - matches. ‘search-previous’ usually goes to the place in the file - that was displayed before an immediately preceding ‘search-next’, - and vice versa.(1) - -‘R’ (‘toggle-regexp’) - Toggle between using regular expressions and literal strings for - searching. Info uses so-called 'extended' regular expression - syntax (*note (grep)Regular Expressions::). - -‘S’ (‘search-case-sensitively’) - Read a string in the echo area and search for it case-sensitively, - even if the string includes only lower-case letters. With a - numeric argument of N, search for Nth occurrence of the string. - Negative arguments search backwards. - -‘C-s’ (‘isearch-forward’) - Interactively search forward through the Info file for a string as - you type it. If the string includes upper-case characters, the - search is case-sensitive; otherwise Info ignores the letter case. - -‘C-r’ (‘isearch-backward’) - Interactively search backward through the Info file for a string as - you type it. If the string includes upper-case characters, the - search is case-sensitive; otherwise Info ignores the letter case. - -‘M-/’ (‘tree-search’) - Recursively search this node and any subnodes listed in menus for a - string. - -‘M-}’ (‘tree-search-next’) -‘M-{’ (‘tree-search-previous’) - Go forwards and backwards through the matches for an active tree - search. - - The most basic searching command is ‘s’ or ‘/’ (‘search’). The ‘s’ -command prompts you for a string in the echo area, and then searches the -remainder of the Info file for an occurrence of that string. If the -string is found, the node containing it is selected, and the cursor is -left positioned at the start of the found string. Subsequent ‘s’ -commands show you the default search string; pressing <RET> instead of -typing a new string will use the default search string. - - “Incremental searching” is similar to basic searching, but the string -is looked up while you are typing it, instead of waiting until the -entire search string has been specified. - - The tree search can be used from the ‘dir’ node to search through all -Info files installed on the system. It can also be used to search -through a particular chapter of a manual when you are not interested in -matches in other chapters. - - If the ‘highlight-searches’ variable is set, matches from search -commands will be highlighted. *Note ‘highlight-searches’: Variables. -Use the ‘M-x clear-search’ command to clear any search highlights. - - Both incremental and non-incremental search by default ignore the -case of letters when comparing the Info file text with the search -string. However, an uppercase letter in the search string makes the -search case-sensitive. You can force a case-sensitive non-incremental -search, even for a string that includes only lower-case letters, by -using the ‘S’ command (‘search-case-sensitively’). The ‘n’ and ‘N’ -commands operate case-sensitively if the last search command was ‘S’. - - Normally, the search pattern should not be shorter than some -predefined limit. By default, this limit is set to 1 character. *Note -min-search-length:: for more information on this. - - ---------- Footnotes ---------- - - (1) This sometimes doesn't happen when ‘search-skip-screen’ is ‘On’, -and the search goes across nodes. - - -File: info-stnd.info, Node: Index Commands, Next: Xref Commands, Prev: Searching Commands, Up: Top - -7 Index Commands -**************** - -GNU Info has commands to search through the indices of an Info file, -which helps you find areas within an Info file which discuss a -particular topic. - -‘i’ (‘index-search’) - Look up a string in the indices for this Info file, and select a - node to which the found index entry points. - -‘I’ (‘virtual-index’) - Look up a string in the indices for this Info file, and show all - the matches in a new virtual node, synthesized on the fly. - -‘,’ (‘next-index-match’) - Move to the node containing the next matching index item from the - last ‘i’ command. - -‘M-x index-apropos’ - Grovel the indices of all the known Info files on your system for a - string, and build a menu of the possible matches. - - The most efficient means of finding something quickly in a manual is -the ‘i’ command (‘index-search’). This command prompts for a string, -and then looks for that string in all the indices of the current Info -manual. If it finds a matching index entry, it displays the node to -which that entry refers and prints the full text of the entry in the -echo area. You can press ‘,’ (‘next-index-match’) to find more matches. -A good Info manual has all of its important concepts indexed, so the ‘i’ -command lets you use a manual as a reference. - - If you don't know what manual documents something, try the ‘M-x -index-apropos’ command. It prompts for a string and then looks up that -string in all the indices of all the Info documents installed on your -system. It can also be invoked from the command line; see *note ---apropos::. - - -File: info-stnd.info, Node: Xref Commands, Next: Window Commands, Prev: Index Commands, Up: Top - -8 Selecting Cross-references -**************************** - -We have already discussed the ‘Next’, ‘Prev’, and ‘Up’ pointers which -appear at the top of a node, referring you to a different node. - - In addition, a node may contain a “menu”, as well as -“cross-references” (“xrefs” for short) interspersed through the text of -the node. Cross-references may possibly refer to a node in another Info -file. - -* Menu: - -* Parts of an Xref:: What a cross-reference is made of. -* Selecting Xrefs:: Commands for selecting menu or note items. - - -File: info-stnd.info, Node: Parts of an Xref, Next: Selecting Xrefs, Up: Xref Commands - -8.1 Parts of an Xref -==================== - -Here is a sample menu entry showing the parts of a cross-reference: - - * Foo Label: Foo Target. More information about Foo. - -The reference has two parts: the first part is called the “label”; it is -the name that you can use to refer to the cross-reference, and the -second is the “target”; it is the full name of the node that the -cross-reference points to. The target is separated from the label by a -single colon ‘:’; first the label appears, and then the target. - - The ‘.’ ends the name of the target. The ‘.’ is not part of the -target; it serves only to let Info know where the target name ends. - - A shorthand way of specifying references allows two adjacent colons -to stand for a target name which is the same as the label name: - - * Foo Commands:: Commands pertaining to Foo. - - In the above example, the name of the target is the same as the name -of the label, in this case ‘Foo Commands’. - - You will normally see two types of cross-reference while viewing -nodes: “menu” references, and “note” references. Menu references appear -within a node's menu; they begin with a ‘*’ at the beginning of a line, -and continue with a label, a target, and a comment which describes what -the contents of the node pointed to contains. - - Note references appear within the body of the node text; they begin -with ‘*Note’, and continue with a label and a target. - - Like ‘Next’, ‘Prev’, and ‘Up’ pointers, cross-references can point to -any valid node. They are used to refer you to a place where more -detailed information can be found on a particular subject. Here is a -cross-reference which points to a node within the Texinfo documentation: -*Note Cross-refrences: (texinfo)Cross References, for more information -on creating your own Texinfo cross-references. - - -File: info-stnd.info, Node: Selecting Xrefs, Prev: Parts of an Xref, Up: Xref Commands - -8.2 Selecting Xrefs -=================== - -The following table lists the Info commands which operate on menu items. - -‘1’ (‘menu-digit’) -‘2’ ... ‘9’ -‘M-1’, vi-like operation -‘M-2’ ... ‘M-9’, vi-like operation - Within an Info window, pressing a single digit, (such as ‘1’), - selects that menu item, and places its node in the current window. - For convenience, there is one exception; pressing ‘0’ selects the - _last_ item in the node's menu. When ‘--vi-keys’ is in effect, - digits set the numeric argument, so these commands are remapped to - their ‘M-’ varieties. For example, to select the last menu item, - press ‘M-0’. - -‘0’ (‘last-menu-item’) -‘M-0’, vi-like operation - Select the last item in the current node's menu. - -‘m’ (‘menu-item’) - Reads the name of a menu item in the echo area and selects its - node. Completion is available while reading the menu label. *Note - completion: The Echo Area. - -‘M-x find-menu’ - Move the cursor to the start of this node's menu. - - This table lists the Info commands which operate on cross-references. - -‘f’ (‘xref-item’) -‘r’ - Reads the name of a note cross-reference in the echo area and - selects its node. Completion is available while reading the - cross-reference label. *Note completion: The Echo Area. - - Finally, the next few commands operate on menu or note references -alike: - -<TAB> (‘move-to-next-xref’) - Move the cursor to the start of the next nearest menu item or note - reference in this node. You can then use <RET> - (‘select-reference-this-line’) to select the menu or note - reference. - -‘M-<TAB>’ (‘move-to-prev-xref’) -‘BackTab’ - Move the cursor the start of the nearest previous menu item or note - reference in this node. - - The ‘BackTab’ key can be produced on some terminals with - ‘Shift-<TAB>’. - -<RET> (‘select-reference-this-line’) - Select the menu item or note reference appearing on this line. - - -File: info-stnd.info, Node: Window Commands, Next: Printing Nodes, Prev: Xref Commands, Up: Top - -9 Manipulating Multiple Windows -******************************* - -A “window” is a place to show the text of a node. Windows have a view -area where the text of the node is displayed, and an associated “mode -line”, which briefly describes the node being viewed. - - GNU Info supports multiple windows appearing in a single screen; each -window is separated from the next by its mode line. At any time, there -is only one “active” window, that is, the window in which the cursor -appears. There are commands available for creating windows, changing -the size of windows, selecting which window is active, and for deleting -windows. - -* Menu: - -* The Mode Line:: What appears in the mode line? -* Basic Windows:: Manipulating windows in Info. -* The Echo Area:: Used for displaying errors and reading input. - - -File: info-stnd.info, Node: The Mode Line, Next: Basic Windows, Up: Window Commands - -9.1 The Mode Line -================= - -A “mode line” is a line of inverse video which appears at the bottom of -an Info window. It describes the contents of the window just above it; -this information includes the name of the file and node appearing in -that window, the number of screen lines it takes to display the node, -and the percentage of text that is above the top of the window. - - Here is a sample mode line for a window containing a file named -‘dir’, showing the node ‘Top’. - - -----Info: (dir)Top, 40 lines --Top------------------------------------- - ^^ ^ ^^^ ^^ - (file)Node #lines where - - Truncation of long lines (as opposed to wrapping them to the next -display line, *note toggle-wrap: Scrolling Commands.) is indicated by a -‘$’ at the left edge of the mode line: - - --$--Info: (texinfo)Top, 480 lines --Top-------------------------------- - - When Info makes a node internally, such that there is no -corresponding info file on disk, the name of the node is surrounded by -asterisks (‘*’). The name itself tells you what the contents of the -window are; the sample mode line below shows an internally constructed -node showing possible completions: - - -----Info: *Completions*, 7 lines --All--------------------------------- - - -File: info-stnd.info, Node: Basic Windows, Next: The Echo Area, Prev: The Mode Line, Up: Window Commands - -9.2 Window Commands -=================== - -It can be convenient to view more than one node at a time. To allow -this, Info can display more than one “window”. Each window has its own -mode line (*note The Mode Line::) and history of nodes viewed in that -window (*note ‘history-node’: Node Commands.). - -‘C-x o’ (‘next-window’) - Select the next window on the screen. Note that the echo area can - only be selected if it is already in use, and you have left it - temporarily. Normally, ‘C-x o’ simply moves the cursor into the - next window on the screen, or if you are already within the last - window, into the first window on the screen. Given a numeric - argument, ‘C-x o’ moves over that many windows. A negative - argument causes ‘C-x o’ to select the previous window on the - screen. - -‘M-x prev-window’ - Select the previous window on the screen. This is identical to - ‘C-x o’ with a negative argument. - -‘C-x 2’ (‘split-window’) - Split the current window into two windows, both showing the same - node. Each window is one half the size of the original window, and - the cursor remains in the original window. The variable - ‘automatic-tiling’ can cause all of the windows on the screen to be - resized for you automatically (*note ‘automatic-tiling’: - Variables.). - -‘C-x 0’ (‘delete-window’) - Delete the current window from the screen. If you have made too - many windows and your screen appears cluttered, this is the way to - get rid of some of them. - -‘C-x 1’ (‘keep-one-window’) - Delete all of the windows excepting the current one. - -‘<ESC> C-v’ (‘scroll-other-window’) - Scroll the other window, in the same fashion that ‘C-v’ might - scroll the current window. Given a negative argument, scroll the - "other" window backward. - -‘C-x ^’ (‘grow-window’) - Grow (or shrink) the current window. Given a numeric argument, - grow the current window that many lines; with a negative numeric - argument, shrink the window instead. - -‘C-x t’ (‘tile-windows’) - Divide the available screen space among all of the visible windows. - Each window is given an equal portion of the screen in which to - display its contents. The variable ‘automatic-tiling’ can cause - ‘tile-windows’ to be called when a window is created or deleted. - *Note ‘automatic-tiling’: Variables. - - -File: info-stnd.info, Node: The Echo Area, Prev: Basic Windows, Up: Window Commands - -9.3 The Echo Area -================= - -The “echo area” is a one line window which appears at the bottom of the -screen. It is used to display informative or error messages, and to -read lines of input from you when that is necessary. Almost all of the -commands available in the echo area are identical to their Emacs -counterparts, so please refer to that documentation for greater depth of -discussion on the concepts of editing a line of text. The following -table briefly lists the commands that are available while input is being -read in the echo area: - -‘C-f’ (‘echo-area-forward’) -<RIGHT> (an arrow key) - Move forward a character. - -‘C-b’ (‘echo-area-backward’) -<LEFT> (an arrow key) - Move backward a character. - -‘C-a’ (‘echo-area-beg-of-line’) - Move to the start of the input line. - -‘C-e’ (‘echo-area-end-of-line’) - Move to the end of the input line. - -‘M-f’ (‘echo-area-forward-word’) - Move forward a word. - -‘M-b’ (‘echo-area-backward-word’) - Move backward a word. - -‘C-d’ (‘echo-area-delete’) - Delete the character under the cursor. - -<DEL> (‘echo-area-rubout’) - Delete the character behind the cursor. - - On some keyboards, this key is designated <BS>, for ‘Backspace’. - Those keyboards will usually bind <DEL> in the echo area to - ‘echo-area-delete’. - -‘C-g’ (‘echo-area-abort’) - Cancel or quit the current operation. If completion is being read, - this command discards the text of the input line which does not - match any completion. If the input line is empty, it aborts the - calling function. - -<RET> (‘echo-area-newline’) - Accept (or forces completion of) the current input line. - -‘C-q’ (‘echo-area-quoted-insert’) - Insert the next character verbatim. This is how you can insert - control characters into a search string. - -‘M-<TAB>’ (‘echo-area-tab-insert’) - Insert a <TAB> character. - -‘C-t’ (‘echo-area-transpose-chars’) - Transpose the characters at the cursor. - -PRINTING CHARACTER - Insert the character. - - The next group of commands deal with “killing”, and “yanking” text. -(Sometimes these operations are called “cut” and “paste”, respectively.) -For an in-depth discussion, see *note Killing and Deleting: -(emacs)Killing. - -‘M-d’ (‘echo-area-kill-word’) - Kill the word following the cursor. - -‘M-<DEL>’ (‘echo-area-backward-kill-word’) -‘M-<BS>’ - Kill the word preceding the cursor. - - On some keyboards, the ‘Backspace’ key is used instead of ‘DEL’, so - ‘M-<Backspace>’ has the same effect as ‘M-<DEL>’. - -‘C-k’ (‘echo-area-kill-line’) - Kill the text from the cursor to the end of the line. - -‘C-x <DEL>’ (‘echo-area-backward-kill-line’) - Kill the text from the cursor to the beginning of the line. - -‘C-y’ (‘echo-area-yank’) - Yank back the contents of the last kill. - -‘M-y’ (‘echo-area-yank-pop’) - Yank back a previous kill, removing the last yanked text first. - - Sometimes when reading input in the echo area, the command that -needed input will only accept one of a list of several choices. The -choices represent the “possible completions”, and you must respond with -one of them. Since there are a limited number of responses you can -make, Info allows you to abbreviate what you type, only typing as much -of the response as is necessary to uniquely identify it. In addition, -you can request Info to fill in as much of the response as is possible; -this is called “completion”. - - The following commands are available when completing in the echo -area: - -<TAB> (‘echo-area-complete’) - Insert as much of a completion as is possible. Otherwise, display - a window containing a list of the possible completions of what you - have typed so far. For example, if the available choices are: - - bar - foliate - food - forget - - and you have typed an ‘f’, followed by <TAB>, this would result in - ‘fo’ appearing in the echo area, since all of the choices which - begin with ‘f’ continue with ‘o’. - - Now if you type <TAB> again, Info will pop up a window showing a - node called ‘*Completions*’ which lists the possible completions - like this: - - 3 completions: - foliate food - forget - - i.e., all of the choices which begin with ‘fo’. - - Now, typing ‘l’ followed by ‘TAB’ results in ‘foliate’ appearing in - the echo area, since that is the only choice which begins with - ‘fol’. - -‘<ESC> C-v’ (‘echo-area-scroll-completions-window’) - Scroll the completions window, if that is visible, or the "other" - window if not. - - -File: info-stnd.info, Node: Printing Nodes, Next: Miscellaneous Commands, Prev: Window Commands, Up: Top - -10 Printing Nodes -***************** - -In general, we recommend that you use TeX to format the document and -print sections of it, by running ‘tex’ on the Texinfo source file. -However, you may wish to print out the contents of a node as a quick -reference document for later use, or if you don't have TeX installed. -Info provides you with a command for doing this. - -‘M-x print-node’ - Pipe the contents of the current node through the command in the - environment variable ‘INFO_PRINT_COMMAND’. If the variable does - not exist, the node is simply piped to ‘lpr’ (on DOS/Windows, the - default is to print the node to the local printer device, ‘PRN’). - - The value of ‘INFO_PRINT_COMMAND’ may begin with the ‘>’ character, - as in ‘>/dev/printer’, in which case Info treats the rest as the - name of a file or a device. Instead of piping to a command, Info - opens the file, writes the node contents, and closes the file, - under the assumption that text written to that file will be printed - by the underlying OS. - - -File: info-stnd.info, Node: Miscellaneous Commands, Next: Invoking Info, Prev: Printing Nodes, Up: Top - -11 Miscellaneous Commands -************************* - -GNU Info contains several commands which self-document GNU Info: - -‘M-x describe-command’ - Read the name of an Info command in the echo area and then display - a brief description of what that command does. - -‘M-x describe-key’ - Read a key sequence in the echo area, and then display the name and - documentation of the Info command that the key sequence invokes. - -‘M-x describe-variable’ - Read the name of a variable in the echo area and then display a - brief description of what the variable affects. - -‘M-x where-is’ - Read the name of an Info command in the echo area, and then display - a key sequence which can be typed in order to invoke that command. - -‘H’ (‘get-help-window’) - Create (or Move into) the window displaying ‘*Help*’, and place a - node containing a quick reference card into it. This window - displays the most concise information about GNU Info available. - -‘h’ (‘get-info-help-node’) - Try hard to visit the node ‘(info)Help’. The Info file ‘info.texi’ - distributed with GNU Emacs contains this node. Of course, the file - must first be processed with ‘texi2any’, and then placed into the - location of your Info directory. - -‘=’ (‘display-file-info’) - Show information about what's currently being viewed in the echo - area: the Info file name, and current line number and percentage - within the current node. - -‘M-x info-version’ - Display the name and version of the currently running Info program. - - Here are the commands for creating a numeric argument: - -‘C-u’ (‘universal-argument’) - Start (or multiply by 4) the current numeric argument. ‘C-u’ is a - good way to give a small numeric argument to cursor movement or - scrolling commands; ‘C-u C-v’ scrolls the screen 4 lines, while - ‘C-u C-u C-n’ moves the cursor down 16 lines. ‘C-u’ followed by - digit keys sets the numeric argument to the number thus typed: ‘C-u - 1 2 0’ sets the argument to 120. - -‘M-1’ (‘add-digit-to-numeric-arg’) -‘1’, vi-like operation -‘M-2’ ... ‘M-9’ -‘2’ ... ‘9’, vi-like operation -‘M-0’ -‘0’, vi-like operation - Add the digit value of the invoking key to the current numeric - argument. Once Info is reading a numeric argument, you may just - type the digits of the argument, without the Meta prefix. For - example, you might give ‘C-l’ a numeric argument of 32 by typing: - - C-u 3 2 C-l - - or - - M-3 2 C-l - -‘M--’ (‘add-digit-to-numeric-arg’) -‘-’ - To make a negative argument, type ‘-’. Typing ‘-’ alone makes a - negative argument with a value of −1. If you continue to type - digit or Meta-digit keys after ‘-’, the result is a negative number - produced by those digits. - - ‘-’ doesn't work when you type in the echo area, because you need - to be able to insert the ‘-’ character itself; use ‘M--’ instead, - if you need to specify negative arguments in the echo area. - - <C-g> is used to abort the reading of a multi-character key sequence, -to cancel lengthy operations (such as multi-file searches) and to cancel -reading input in the echo area. - -‘C-g’ (‘abort-key’) - Cancel current operation. - - The ‘q’ command of Info simply quits running Info. - -‘q’ (‘quit’) -‘C-x C-c’ - Exit GNU Info. - - Here are commands affecting the display of nodes: - -‘C-l’ (‘redraw-display’) - Redraw the display from scratch, or shift the line containing the - cursor to a specified location. With no numeric argument, ‘C-l’ - clears the screen, and then redraws its entire contents. Given a - numeric argument of N, the line containing the cursor is shifted so - that it is on the Nth line of the window. - -‘M-x set-screen-height’ - Read a height value in the echo area and set the height of the - displayed screen to that value. For example, if the operating - system tells GNU Info that the screen is 60 lines tall, and it is - actually only 40 lines tall, you could use this command to tell - Info that the operating system is incorrect. - -‘C-x w’ (‘toggle-wrap’) - Toggles the state of line wrapping in the current window. - Normally, lines which are longer than the screen width “wrap”, - i.e., they are continued on the next line. Lines which wrap have a - ‘\’ appearing in the rightmost column of the screen. You can cause - such lines to be terminated at the rightmost column by changing the - state of line wrapping in the window with ‘C-x w’. When a line - which needs more space than one screen width to display is - displayed, a ‘$’ appears in the rightmost column of the screen, and - the remainder of the line is invisible. When long lines are - truncated, the mode line displays the ‘$’ character near its left - edge. - - On MS-DOS/MS-Windows, this command actually tries to change the -dimensions of the visible screen to the value you type in the echo area. - - Finally, Info provides a way to display footnotes which might be -associated with the current node that you are viewing: - -‘<ESC> C-f’ (‘show-footnotes’) - Show the footnotes (if any) associated with the current node in - another window. You can have Info automatically display the - footnotes associated with a node when the node is selected by - setting the variable ‘automatic-footnotes’. *Note - ‘automatic-footnotes’: Variables. - - -File: info-stnd.info, Node: Invoking Info, Next: Variables, Prev: Miscellaneous Commands, Up: Top - -12 Invoking Info -**************** - -GNU Info accepts several options to control the initial node or nodes -being viewed, and to specify which directories to search for Info files. -Here is a template showing an invocation of GNU Info from the shell: - - info [OPTION...] [MANUAL] [MENU-OR-INDEX-ITEM...] - - Info will look for an entry called MANUAL in the directory files, -which are named ‘dir’, that it finds in its search path. The search is -case-insensitive and considers substrings. (If MANUAL is not given, by -default Info displays a composite directory listing, constructed by -combining the ‘dir’ files.) A basic example: - - info coreutils - - This looks for an entry labelled ‘coreutils’, or ‘Coreutils’, etc., -and if found, displays the referenced file (e.g., ‘coreutils.info’) at -the location given. ‘info coreu’ will find it too, if there is no -better match. - - Another example: - - info ls - - Assuming the normal ‘dir’ entry for ‘ls’, this will show the ‘ls’ -documentation, which happens to be within the ‘coreutils’ manual rather -than a separate manual. The ‘dir’ entries can point to any node within -a manual, so that users don't have to be concerned with the exact -structure used by different authors. - - If no entry is found in the directories, Info looks for a file called -MANUAL in its search path. If not found, Info looks for it with the -file extensions ‘.info’, ‘-info’, and ‘.inf’. For each of these known -extensions, if a regular file is not found, Info looks for a compressed -file.(1) - - You can specify the name of a node to visit with the ‘--node’ or ‘-n’ -option. Alternatively, you can specify the file and node together using -the same format that occurs in Info cross-references. These two -examples both load the ‘Files’ node within the ‘emacs’ manual: - - info emacs -n Files - info '(emacs)Files' - - If you want to load a file without looking in the search path, -specify MANUAL either as an absolute path, or as a path relative to the -current directory which contains at least one slash character. (You can -also use the ‘--file’ option for similar behavior, described below.) -Examples: - - info /usr/local/share/info/bash.info - info ./document.info - -Info looks for MANUAL only in the explicitly specified directory, and -adds that directory to its search path. - - Info treats any remaining arguments as the names of menu items, or -(see below) index entries. The first argument is a menu item in the -‘Top’ node of the file loaded, the second argument is a menu item in the -first argument's node, etc. You can move to the node of your choice by -specifying the menu names which describe the path to that node. For -example, - - info emacs buffers - info texinfo Overview 'Using Texinfo' - -The first example selects the menu item ‘Buffers’ in the node -‘(emacs)Top’. The second example loads the ‘texinfo’ file and looks in -its top-level menu for a ‘Overview’ item, looks in the menu of the node -referenced, and finally displays the node referenced by the ‘Using -Texinfo’ item. - - If there was only one MENU-OR-INDEX-ITEM argument and it wasn't found -as a menu item, Info looks for it as an index entry. For example: - - info libc printf - -This loads the libc Info manual and first looks for ‘printf’ in the -top-level menu as usual; since it isn't there (at this writing), it then -looks in the indices. If it's found there (which it is), the relevant -node at the given location is displayed. - - If Info is invoked when its standard output is not a terminal, it -does not attempt to start an interactive session; rather, it writes the -contents of the loaded nodes and subnodes to standard output, as if the -‘--output=-’ and ‘--subnodes’ options were given. This can be used to -pipe the contents of Info nodes to another program, such as a pager. - - A complete list of options follows. - -‘--all’ -‘-a’ - Find all files matching MANUAL. Three usage patterns are - supported, as follows. - - First, if ‘--all’ is used together with ‘--where’, ‘info’ prints - the names of all matching files found on standard output (including - ‘*manpages*’ if relevant) and exits. - - Second, if ‘--all’ is used together with ‘--output’, the contents - of all matched files are dumped to the specified output file. - - Otherwise, an interactive session is initiated. If more than one - file matches, a menu node is displayed listing the matches and - allowing you to select one. This menu node can be brought back at - any time by pressing ‘C-x f’. If there is only one match, ‘info’ - starts as usual. - - When used with the ‘--index-search’ option, ‘info’ displays a menu - of matching index entries (just as the ‘virtual-index’ command - does; see *note Index Commands::). - - The ‘--node’ option cannot be used together with this option. - -‘--apropos=STRING’ -‘-k STRING’ - Specify a string to search in every index of every Info file - installed on your system. Info looks up the named STRING in all - the indices it can find, prints the results to standard output, and - then exits. If you are not sure which Info file explains certain - issues, this option is your friend. (If your system has a lot of - Info files installed, searching all of them might take some time!) - - You can invoke the apropos command from inside Info; see *note - Searching Commands::. - -‘--debug=NUMBER’ -‘-x NUMBER’ - Print additional debugging information. The argument specifies the - verbosity level, so a higher level includes all the information - from lower levels. For all available debugging output, use - ‘-x -1’. Info version 7.2 has these levels: - - ‘1’ - Print information about file handling, such as looking for - ‘dir’ files and nodes written with ‘--output’. - - ‘2’ - Print operations relating to ‘INFOPATH’. - - ‘3’ - Print information about node searching. - - Debugging output goes to standard error. - -‘--directory DIRECTORY-PATH’ -‘-d DIRECTORY-PATH’ - Add DIRECTORY-PATH to the list of directory paths searched when - Info needs to find a file. You may issue ‘--directory’ multiple - times; once for each directory which contains Info files, or with a - list of such directories separated by a colon (or semicolon on - MS-DOS/MS-Windows). - - Directories specified in the environment variable ‘INFOPATH’ are - added to the directories specified with ‘--directory’, if any. The - value of ‘INFOPATH’ is a list of directories usually separated by a - colon; on MS-DOS/MS-Windows systems, the semicolon is used. If the - value of ‘INFOPATH’ ends with a colon (or semicolon on - MS-DOS/MS-Windows), the initial list of directories is constructed - by appending the build-time default to the value of ‘INFOPATH’. - - If you do not define ‘INFOPATH’, Info uses a default path defined - when Info was built as the initial list of directories. - - Regardless of whether ‘INFOPATH’ is defined, the default - documentation directory defined when Info was built is added to the - search path. If you do not want this directory to be included, set - the ‘infopath-no-defaults’ variable to ‘On’ (*note - infopath-no-defaults::). - - If the list of directories contains the element ‘PATH’, that - element is replaced by a list of directories derived from the value - of the environment variable ‘PATH’. Each path element of the form - DIR/BASE is replaced by DIR‘/share/info’ or DIR‘/info’, provided - that directory exists. - -‘--dribble=FILE’ - Specify a file where all user keystrokes will be recorded. This - file can be used later to replay the same sequence of commands, see - the ‘--restore’ option below. - -‘--file MANUAL’ -‘-f MANUAL’ - Specify a particular manual to visit without looking its name up in - any ‘dir’ files. - - With this option, it starts by trying to visit ‘(MANUAL)Top’, i.e., - the ‘Top’ node in (typically) ‘MANUAL.info’. As above, it tries - various file extensions to find the file. If no such file (or - node) can be found, Info exits without doing anything. As with the - ‘dir’ lookup described above, any extra MENU-OR-INDEX-ITEM - arguments are used to locate a node within the loaded file. - - If MANUAL is an absolute file name, or begins with ‘./’ or ‘../’, - or contains an intermediate directory, Info will only look for the - file in the directory specified, and add this directory to - ‘INFOPATH’. (This is the same as what happens when ‘--file’ is not - given.) - -‘--help’ -‘-h’ - Output a brief description of the available Info command-line - options. - -‘--index-search STRING’ - After processing all command-line arguments, go to the index in the - selected Info file and search for index entries which match STRING. - If such an entry is found, the Info session begins with displaying - the node pointed to by the first matching index entry; press ‘,’ to - step through the rest of the matching entries. If no such entry - exists, print ‘no entries found’ and exit with nonzero status. - This can be used from another program as a way to provide online - help, or as a quick way of starting to read an Info file at a - certain node when you don't know the exact name of that node. - - When used with the ‘--all’ option, ‘info’ displays a menu of - matching index entries (just as the ‘virtual-index’ command does; - see *note Index Commands::). - - This command can also be invoked from inside Info; *note Searching - Commands::. - -‘--init-file INIT-FILE’ - Read key bindings and variable settings from INIT-FILE instead of - the default location. *Note Custom Key Bindings::. - -‘--node NODENAME’ -‘-n NODENAME’ - Specify a particular node to visit in the initial file that Info - loads. You may specify ‘--node’ multiple times: for an interactive - Info, each NODENAME is visited in its own window; for a - non-interactive Info (such as when ‘--output’ is given) each - NODENAME is processed sequentially. - - You can specify both the file and node to the ‘--node’ option using - the usual Info syntax, but don't forget to escape the open and - close parentheses and whitespace from the shell; for example: - info --node "(emacs)Buffers" - -‘--output FILE’ -‘-o FILE’ - Direct output to FILE. Each node that Info visits will be output - to FILE instead of interactively viewed. A value of ‘-’ for FILE - means standard output. - -‘--no-raw-escapes’ -‘--raw-escapes, -R’ - By default, Info passes SGR terminal control sequences (also known - as ANSI escape sequences) found in documents directly through to - the terminal. If you use the ‘--no-raw-escapes’ options, these - sequences are displayed as other control characters are; for - example, an <ESC> byte is displayed as ‘^[’. The ‘--raw-escapes’ - and ‘-R’ options do not do anything, but are included for - completeness. - -‘--restore=DRIBBLE-FILE’ - Read keystrokes from DRIBBLE-FILE, presumably recorded during - previous Info session (see the description of the ‘--dribble’ - option above). When the keystrokes in the files are all read, Info - reverts its input to the usual interactive operation. - -‘--show-malformed-multibytes’ -‘--no-show-malformed-multibytes’ - Show malformed multibyte sequences in the output. By default, such - sequences are dropped. - -‘--show-options’ -‘--usage’ -‘-O’ - Look for the node that describes how to invoke the program. The - name of the program is taken from the other non-option arguments on - the command line. For example, ‘info emacs -O’ loads the ‘Emacs - Invocation’ node of the ‘emacs’ manual. - - This option is provided to make it easier to find the most - important usage information in a manual without navigating through - menu hierarchies. The effect is similar to the ‘M-x - goto-invocation’ command (*note goto-invocation::) from inside - Info. - -‘--speech-friendly’ -‘-b’ - On MS-DOS/MS-Windows only, this option causes Info to use standard - file I/O functions for screen writes. (By default, Info uses - direct writes to the video memory on these systems, for faster - operation and colored display support.) This allows the speech - synthesizers used by blind persons to catch the output and convert - it to audible speech. - -‘--strict-node-location’ - This option causes Info not to search "nearby" to locate nodes, and - instead strictly use the information provided in the Info file. - The practical use for this option is for debugging programs that - write Info files, to check that they are outputting the correct - locations. Due to bugs and malfeasances in the various Info - writing programs over the years and versions, it is not advisable - to ever use this option when just trying to read documentation. - -‘--subnodes’ - This option only has meaning when given in conjunction with - ‘--output’. It means to recursively output the nodes appearing in - the menus of each node being output. Menu items which resolve to - external Info files are not output, and neither are menu items - which are members of an index. Each node is only output once. - -‘-v NAME=VALUE’ -‘--variable=NAME=VALUE’ - Set the ‘info’ variable NAME to VALUE. *Note Variables::. - -‘--version’ - Prints the version information of Info and exits. - -‘--vi-keys’ - This option binds functions to keys differently, to emulate the key - bindings of ‘vi’ and Less. The bindings activated by this option - are documented in *note infokey format::. (*Note Custom Key - Bindings:: for a more general way of altering GNU Info's key - bindings.) - -‘--where’ -‘--location’ -‘-w’ - Show the filename that would be read and exit, instead of actually - reading it and starting Info. - - Finally, Info defines many default key bindings and variables. *Note -Custom Key Bindings:: for information on how to customize these -settings. - - ---------- Footnotes ---------- - - (1) Info supports files compressed with ‘gzip’, ‘xz’, ‘bzip2’, -‘lzip’, ‘lzma’, ‘compress’ and ‘yabba’ programs, assumed to have -extensions ‘.z’, ‘.gz’, ‘.xz’, ‘.bz2’, ‘.lz’, ‘.lzma’, ‘.Z’, and ‘.Y’ -respectively. - - On MS-DOS, Info allows for the Info extension, such as ‘.inf’, and -the short compressed file extensions, such as ‘.z’ and ‘.gz’, to be -merged into a single extension, since DOS doesn't allow more than a -single dot in the basename of a file. Thus, on MS-DOS, if Info looks -for ‘bison’, file names like ‘bison.igz’ and ‘bison.inz’ will be found -and decompressed by ‘gunzip’. - - -File: info-stnd.info, Node: Variables, Next: Colors and Styles, Prev: Invoking Info, Up: Top - -13 Manipulating Variables -************************* - -GNU Info uses several internal “variables” whose values are looked at by -various Info commands. You can change the values of these variables, -and thus change the behavior of Info, if desired. - - There are three ways to set the value of a variable, listed here in -order of precedence: - - 1. interactively, using the ‘set-variable’ command described below; - 2. on the command line, using the ‘-v’ (‘--variable’) command line - option (*note variable-assignment::); - 3. in the ‘#var’ section of the ‘infokey’ file (*note Custom Key - Bindings::). - -‘M-x set-variable’ - Read the name of a variable, and the value for it, in the echo area - and then set the variable to that value. Completion is available - when reading the variable name (*note The Echo Area::); completion - is also available when reading the value when that makes sense. - -‘M-x describe-variable’ - Read the name of a variable in the echo area and display its value - and a brief description. - - Here is a list of the variables that you can set in Info. - -‘automatic-footnotes’ - When set to ‘On’, footnotes appear and disappear automatically; - else, they appear at the bottom of the node text. This variable is - ‘Off’ by default. When a node is selected, a window containing the - footnotes which appear in that node is created, and the footnotes - are displayed within the new window. The window that Info creates - to contain the footnotes is called ‘*Footnotes*’. If a node is - selected which contains no footnotes, and a ‘*Footnotes*’ window is - on the screen, the ‘*Footnotes*’ window is deleted. Footnote - windows created in this fashion are not automatically tiled so that - they can use as little of the display as is possible. - -‘automatic-tiling’ - When set to ‘On’, creating or deleting a window resizes other - windows. This variable is ‘Off’ by default. Normally, typing ‘C-x - 2’ divides the current window into two equal parts. When - ‘automatic-tiling’ is set to ‘On’, all of the windows are resized - automatically, keeping an equal number of lines visible in each - window. Any ‘*Completions*’ and ‘*Footnotes*’ windows are - exceptions to the automatic tiling; they retain their original - size. - -‘cursor-movement-scrolls’ - When set to ‘On’, when cursor movement commands reach the top or - bottom of a node, another node is loaded depending on the value of - ‘scroll-behavior’ (see below). This is the default. When this - variable is set to ‘Off’, cursor movements stop at the top or - bottom of a node. - -‘errors-ring-bell’ - When set to ‘On’ (the default), errors cause the bell to ring. - -‘follow-strategy’ - When set to ‘remain’ (the default), Info tries to remain within the - directory containing the currently displayed Info file when - following a cross-reference to an external manual, before looking - for the referenced manual in the search path. The alternative - value is ‘path’, which means to look through the search path right - away. - - ‘remain’ is intended to be useful for several Texinfo manuals that - all reference each other and whose versions should match each - other. (For example, various manuals relating to a particular - version of Emacs.) - - The alternative behavior, with ‘path’, may be useful when your Info - file search path parallels your command shell's search path, and - you always want to find documentation of the version of the program - that the shell would execute. - -‘gc-compressed-files’ - When set to ‘On’, Info garbage collects files which had to be - uncompressed. The default value of this variable is ‘Off’. - Whenever a node is visited in Info, the Info file containing that - node is read into memory, and Info reads information about the tags - and nodes contained in that file. Once the tags information is - read by Info, it is never forgotten. However, the actual text of - the nodes does not need to be retained unless a particular Info - window needs it. For non-compressed files, node text is not - remembered when it is no longer in use. But de-compressing a file - can be a time-consuming operation, and so Info tries hard not to do - it twice. This variable tells Info it is okay to garbage collect - the text of the nodes of a file which was compressed on disk. - -‘hide-note-references’ - By default, Info displays the contents of Info files mostly - verbatim, including text that is used by Info readers for - navigation (for example, marking the location of menus or - cross-references). If you set this variable to ‘On’, some of this - text is hidden, in a similar way to the ‘Info-hide-note-references’ - variable in Emacs (*note (info)Emacs Info Variables::). - -‘highlight-searches’ - When set to ‘On’, highlight matches from searching commands (*note - Searching Commands::). - -‘infopath-no-defaults’ - Used in conjunction with the ‘INFOPATH’ environment variable (*note - INFOPATH::). When set to ‘On’, the default documentation directory - defined when Info was built (e.g., ‘/usr/share/info’) is not added - to the search path for Info files. - -‘ISO-Latin’ - The default is ‘On’, which means that Info accepts and displays - characters represented by bytes with values 128 and above, such as - characters in the UTF-8 encoding or in various 8-bit ISO Latin - characters, as well as allowing you to input such characters. - - The only reason to set this variable to ‘Off’ would be if your - terminal set the eighth bit of a byte to represent the Meta key - being pressed. - -‘key-time’ - Length of time in milliseconds to wait for the next byte of a byte - sequence generated by a key (or key chord) on the keyboard. For - example, if the ‘down’ key generates the byte sequence ‘<ESC> O B’, - and the two bytes ‘<ESC> O’ have been received, then a ‘B’ byte - would have to be received within this length of time for a key - press of ‘down’ to be registered. You may wish to set this - variable to a larger value for slow terminals or network - connections. - - If you set this variable to 0, it's unspecified whether a - recognized byte sequence representing a key takes precedence over - another recognized sequence representing a key that is an initial - subsequence of the first sequence. In some cases, you may be able - to make pressing a special key on the keyboard that Info doesn't - know about (for example, a function key) cause a command to be - executed by setting this variable to 0, and giving the byte - sequence the key sends in the ‘infokey’ file. (*Note Custom Key - Bindings::.) - -‘min-search-length’ - Minimum length of a search string (default 1). Attempts to - initiate a search for a string (or regular expression) shorter than - this value, result in an error. - -‘mouse’ - What method to use to get input from a mouse device. The default - value is ‘Off’. Set this variable to ‘normal-tracking’ to make - Info use "normal tracking mode" if it detects that the terminal - supports it. This enables you to scroll the contents of the active - window with a mouse scrollwheel. - - On terminal emulators running under the X Window System, such as - ‘xterm’, you can usually select text with the mouse. However, - mouse tracking mode may interfere with this. When this happens, - you may be able to select text by holding down the ‘Shift’ key - while clicking and dragging. - -‘nodeline’ - How to print the node header line that appears at the top of each - node. By default only the pointers to neighbouring nodes are - displayed (the "Next", "Prev", and "Up" pointers): this corresponds - to the ‘pointers’ value for this variable. To print the entire - line, set ‘nodeline’ to the value ‘print’, which will include the - filename and name of the node. To not display the header line at - all, use the value ‘no’. - -‘scroll-behavior’ -‘scroll-behaviour’ - The two variable names are synonymous. Control what happens when - scrolling commands are used at the end or beginning of a node - (*note Scrolling Commands::). The default value for this variable - is ‘Continuous’. Possible values: - - ‘Continuous’ - Try to get the first item in this node's menu, or failing - that, the ‘Next’ node, or failing that, the ‘Next’ of the ‘Up’ - node. This behavior is identical to using the ‘]’ - (‘global-next-node’) and ‘[’ (‘global-prev-node’) commands. - - ‘Next Only’ - Only try to get the ‘Next’ node. - - ‘Page Only’ - Just stop, changing nothing. With this value, no scrolling - command can change the node that is being viewed. - - This variable also affects cursor movement commands (*note Cursor - Commands::) unless the ‘cursor-movement-scrolls’ variable is set to - ‘Off’. *Note cursor-movement-scrolls::. - -‘scroll-last-node’ - Control what happens when a scrolling command is issued at the end - of the last node. Possible values are: - - ‘Stop’ - Do not scroll. Display the ‘No more nodes within this - document’ message. This is the default. - - ‘Top’ - Go to the top node of the document. - - This variable is in effect only if ‘scroll-behavior’ is set to - ‘Continuous’. - -‘scroll-step’ - The number of lines to scroll to bring the cursor back into the - window. The default value of this variable is 1, which causes a - kind of "smooth scrolling" which some people prefer. Scrolling - happens automatically if the cursor has moved out of the visible - portion of the node text. - - If the variable ‘scroll-step’ is 0, the cursor (and the text it is - attached to) is placed in the centre of the window. - -‘search-skip-screen’ - Set the starting point of repeated searches (*note - repeated-search::). When set to ‘Off’ (the default), repeated - searches start at the position immediately following (when - searching in forward direction), or immediately preceding (when - searching backwards) the cursor. When set to ‘On’, repeated - searches omit lines visibly displayed on the screen. In other - words, forward searches (‘}’) start at the beginning of the next - page, and backward searches (‘{’) start at the end of the previous - page. - -‘show-index-match’ - When set to ‘On’ (the default), the portion of the matched search - string that you typed is indicated (by displaying it in the - "opposite" case) in the result message (*note ‘next-index-match’: - Searching Commands.). - -‘visible-bell’ - When set to ‘On’, Info attempts to flash the screen instead of - ringing the bell. This variable is ‘Off’ by default. If the - terminal does not allow flashing, this variable has no effect. - (But you can still make Info perform quietly by setting the - ‘errors-ring-bell’ variable to ‘Off’; or using an external command - to mute the bell, e.g., ‘xset b 0 0 0’.) - - -File: info-stnd.info, Node: Colors and Styles, Next: Custom Key Bindings, Prev: Variables, Up: Top - -14 Colors and Styles -******************** - -You can choose to highlight parts of Info's display, such as -cross-references and search matches, using a variety of styles, -including colors, boldface and underline. Here are the variables that -are available to do this: - -‘link-style’ - Used for cross-references and menu entries. - -‘active-link-style’ - Used for a cross-reference or menu entry when typing <RET> would - have the effect of following said cross-reference or menu entry. - -‘match-style’ - Used for matches from a search command. (*Note Searching - Commands::.) - - Each of these is given in the ‘infokey’ file just as the variables in -the previous chapter. Their values are a comma-separated list of values -in the following table: - -‘black’ -‘red’ -‘green’ -‘yellow’ -‘blue’ -‘magenta’ -‘cyan’ -‘white’ - Use the color specified for text. - -‘nocolor’ -‘nocolour’ - Turn off any color that was in effect, using the terminal's default - color. - -‘bgblack’ -‘bgred’ -‘bggreen’ -‘bgyellow’ -‘bgblue’ -‘bgmagenta’ -‘bgcyan’ -‘bgwhite’ - Use the color specified for the background. - -‘bgnocolor’ -‘bgnocolour’ - Use the terminal's default background color. - -‘underline’ -‘nounderline’ - Turn text underline on or off. - -‘standout’ -‘nostandout’ - Turn 'standout mode' on or off. Standout mode entails the use of - appearance modes that make text stand out, and varies between - terminals. - -‘bold’ -‘regular’ -‘nobold’ - Turn boldface on or off. - -‘blink’ -‘noblink’ - Make the text blink, or not. - - Here is an sample excerpt from an ‘infokey’ file: - - #var - link-style=yellow - active-link-style=yellow,bold - match-style=underline,bold,nocolor - -With this, cross-references are all yellow, and active cross-references -are additionally displayed in bold. Any search matches will be shown in -bold, and underlined. Moreover, if there is a search match inside a -cross-reference, the ‘nocolor’ rendition style will cancel the yellow -color, leaving the text in the match the terminal's default color. -(Note, however, that the rendition styles for active cross-references -take priority over those for search matches, so search matches there -will still be displayed in yellow.) - - -File: info-stnd.info, Node: Custom Key Bindings, Next: MS-DOS/Windows keybindings, Prev: Colors and Styles, Up: Top - -15 Customizing Key Bindings and Variables -***************************************** - -Info allows you to override the default key-to-command bindings and -variable settings described in this document. On startup, GNU Info -looks for a configuration file: - - • First, Info checks ‘~/.infokey’, where ‘~’ refers to the user's - ‘HOME’ directory.(1) - - • If the file is not present at this location, Info then checks for - ‘$XDG_CONFIG_HOME/texinfo/infokey’. The default value of - ‘$XDG_CONFIG_HOME’ is ‘~/.config’, so usually the file will be at - ‘~/.config/texinfo/infokey’. - - • Info then checks for ‘SYSCONFDIR/xdg/texinfo/infokey’, where - SYSCONFDIR is was set when Info was built, usually to ‘/etc/’ or - ‘/usr/local/etc’. - - • Finally, Info checks through ‘$XDG_CONFIG_DIRS’ which is a - colon-separated list of directory names, for a file named - ‘texinfo/infokey’. - -This search order is compatible with the XDG Base Directory -Specification -(https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) -although doesn't follow it in every detail. - - To use an alternative configuration file, use the ‘--init-file’ -option (*note --init-file::). - - If an ‘infokey’ file is found, then Info adopts the key bindings and -variable settings contained therein. - - Variables may also be set on the command line with the ‘--variable’ -option (*note variable-assignment::). Variable settings on the command -line override settings from the ‘infokey’ file. - - (The ‘--vi-keys’ option rebinds many keys at once; *note ---vi-keys::.) - -* Menu: - -* infokey format:: - - ---------- Footnotes ---------- - - (1) Due to the limitations of DOS filesystems, the MS-DOS version of -Info looks for a file ‘_infokey’ instead. If the ‘HOME’ variable is not -defined, Info additionally looks in the current directory. - - -File: info-stnd.info, Node: infokey format, Up: Custom Key Bindings - -15.1 ‘infokey’ format -===================== - -Here is an example ‘infokey’ file which specifies the key bindings that -are activated by the ‘--vi-keys’ option to Info (*note --vi-keys::). - - #info - g first-node - G last-node - \mb beginning-of-node - \me end-of-node - j next-line - k prev-line - - f scroll-forward-page-only - ^f scroll-forward-page-only - \m\ scroll-forward-page-only - z scroll-forward-page-only-set-window - - b scroll-backward-page-only - ^b scroll-backward-page-only - w scroll-backward-page-only-set-window - - \kd down-line - ^e down-line - ^j down-line - ^m down-line - \ku up-line - ^y up-line - ^k up-line - - d scroll-half-screen-down - ^d scroll-half-screen-down - u scroll-half-screen-up - ^u scroll-half-screen-up - - ^xn next-node - ^xp prev-node - ^xu up-node - ' last-node - \mt top-node - \md dir-node - - ^xg goto-node - I goto-invocation-node - - n search-next - N search-previous - - \mf xref-item - ^xr xref-item - - \mg select-reference-this-line - ^x^j select-reference-this-line - ^x^m select-reference-this-line - - ^c abort-key - - \mh get-info-help-node - - :q quit - ZZ quit - - #echo-area - \mh echo-area-backward - \ml echo-area-forward - \m0 echo-area-beg-of-line - \m$ echo-area-end-of-line - \mw echo-area-forward-word - \mx echo-area-delete - \mu echo-area-abort - ^v echo-area-quoted-insert - \mX echo-area-kill-word - - The file consists of one or more “sections”. Each section starts -with a line that identifies the type of section. The possible sections -are: - -‘#info’ - Key bindings for Info windows. The start of this section is - indicated by a line containing just ‘#info’ by itself. If this is - the first section in the source file, the ‘#info’ line can be - omitted. The rest of this section consists of lines of the form: - - STRING whitespace ACTION [ whitespace [ # comment ] ] newline - - Whitespace is any sequence of one or more spaces and/or tabs. - Comment is any sequence of any characters, excluding newline. - STRING is the key sequence which invokes the action. ACTION is the - name of an Info command. The characters in STRING are interpreted - literally or prefixed by a caret (‘^’) to indicate a control - character. A backslash followed by certain characters specifies - input keystrokes as follows: - - ‘\b’ - Backspace - ‘\e’ - Escape (ESC) - ‘\n’ - Newline - ‘\r’ - Return - ‘\t’ - Tab - ‘\ku’ - Up arrow - ‘\kd’ - Down arrow - ‘\kl’ - Left arrow - ‘\kr’ - Right arrow - ‘\kU’ - Page Up - ‘\kD’ - Page Down - ‘\kh’ - HOME - ‘\ke’ - END - ‘\kx’ - Delete (DEL) - ‘\mX’ - Meta-X where X is any character as described above. - - Backslash followed by any other character indicates that character - is to be taken literally. Characters which must be preceded by a - backslash include caret, space, tab, and backslash itself. - -‘#echo-area’ - Key bindings for the echo area. The start of this section is - indicated by a line containing just ‘#echo-area’ by itself. The - rest of this section has a syntax identical to that for the key - definitions for the Info area, described above. - -‘#var’ - Variable initializations. The start of this section is indicated - by a line containing just ‘#var’ by itself. Following this line is - a list of variable assignments, one per line. Each line consists - of a variable name (*note Variables::) followed by ‘=’ followed by - a value. There may be no white space between the variable name and - the ‘=’, and all characters following the ‘=’, including white - space, are included in the value. - - Blank lines and lines starting with ‘#’ are ignored, except for the -special section header lines. - - Key bindings defined in the ‘infokey’ file take precedence over GNU -Info's default key bindings, whether or not ‘--vi-keys’ is used. A -default key binding may be disabled by overriding it in the ‘infokey’ -file with the action ‘invalid’. In addition, _all_ default key bindings -can be disabled by adding this line _anywhere_ in the relevant section: - - #stop - - This will cause GNU Info to ignore all the default key commands for -that section. - - Beware: ‘#stop’ can be dangerous. Since it disables all default key -bindings, you must supply enough new key bindings to enable all -necessary actions. Failure to bind any key to the ‘quit’ command, for -example, can lead to frustration. - - Note that some keys (such as <C-c>) have special meanings to -terminals, and any bindings for these would not be effective. *Note -(coreutils)Special Characters::. - - The order in which key bindings are defined in the ‘infokey’ file is -not important, except that the command summary produced by the -‘get-help-window’ command only displays the _first_ key that is bound to -each command. - - -File: info-stnd.info, Node: MS-DOS/Windows keybindings, Next: Index, Prev: Custom Key Bindings, Up: Top - -16 Alternate MS-DOS/Windows keybindings -*************************************** - -Here are some keybindings that are only used in Info on MS-DOS/Windows. - -Cursor commands -=============== - -‘<Home>’ - ‘beginning-of-line’ -‘<End>’ - ‘end-of-line’ -‘C-<RIGHT>’ - ‘forward-word’ -‘C-<LEFT>’ - ‘backward-word’ -‘C-<Home>’ - ‘beginning-of-node’ -‘C-<End>’ - ‘end-of-node’ - -Node commands -============= - -‘C-<NEXT>’ - ‘next-node’ -‘C-<PREVIOUS>’ - ‘prev-node’ -‘C-<UP> (an arrow key)’ - ‘up-node’ -‘C-<CENTER>’ - ‘history-node’ - - The <NEXT> key is known as the <PgDn> key on some keyboards. The -<PREVIOUS> key is known as the <PgUp> key on some keyboards. - -Echo area commands -================== - -‘C-<RIGHT>’ - ‘echo-area-forward-word’ -‘C-<LEFT>’ - ‘echo-area-backward-word’ -‘Shift-<TAB>’ - ‘echo-area-tab-insert’ - - On DOS/Windows only, the ‘Shift-<TAB>’ key is an alias for ‘M-<TAB>’. -This key is sometimes called ‘BackTab’. - -Miscellaneous commands -====================== - -‘<F1>’ - ‘get-help-window’ - - -File: info-stnd.info, Node: Index, Prev: MS-DOS/Windows keybindings, Up: Top - -Appendix A Index -**************** - -�[index�] -* Menu: - -* _info file (MS-DOS): Custom Key Bindings. (line 6) -* -: Miscellaneous Commands. - (line 72) -* --all (-a) command line option: Invoking Info. (line 97) -* --apropos (-k) command line option: Invoking Info. (line 121) -* --debug (-x) command line option: Invoking Info. (line 133) -* --directory (-d) command line option: Invoking Info. (line 152) -* --dribble command line option: Invoking Info. (line 182) -* --file (-f) command line option: Invoking Info. (line 188) -* --help (-h) command line option: Invoking Info. (line 206) -* --index-search command line option: Invoking Info. (line 210) -* --init-file command line option: Invoking Info. (line 228) -* --node (-n) command line option: Invoking Info. (line 233) -* --output (-o) command line option: Invoking Info. (line 246) -* --raw-escapes (-R) command line option: Invoking Info. (line 252) -* --restore command line option: Invoking Info. (line 261) -* --show-malformed-multibytes command line option: Invoking Info. - (line 268) -* --show-options (--usage, -O) command line option: Invoking Info. - (line 274) -* --speech-friendly (-b) command line option: Invoking Info. (line 287) -* --strict-node-location command line option: Invoking Info. (line 295) -* --subnodes, command line option: Invoking Info. (line 304) -* --variable (-v) command line option: Invoking Info. (line 312) -* --version command line option: Invoking Info. (line 315) -* --vi-keys command line option: Invoking Info. (line 318) -* --where (--location, -w) command line option: Invoking Info. - (line 327) -* ,: Index Commands. (line 19) -* ?: Searching Commands. (line 19) -* ?, in Info windows: Miscellaneous Commands. - (line 25) -* [: More Node Commands. (line 29) -* ]: More Node Commands. (line 22) -* {: Searching Commands. (line 40) -* }: Searching Commands. (line 28) -* *Footnotes* window: Variables. (line 32) -* /: Searching Commands. (line 11) -* <: More Node Commands. (line 10) -* =, in Info windows: Miscellaneous Commands. - (line 36) -* >: More Node Commands. (line 16) -* 0 ... 9, vi-like operation: Miscellaneous Commands. - (line 59) -* 0, in Info windows: Selecting Xrefs. (line 22) -* 1 ... 9, in Info windows: Selecting Xrefs. (line 12) -* 1 ... 9, in Info windows <1>: Selecting Xrefs. (line 12) -* abort-key: Miscellaneous Commands. - (line 86) -* absolute Info file names: Invoking Info. (line 49) -* active-link-style: Colors and Styles. (line 14) -* add-digit-to-numeric-arg: Miscellaneous Commands. - (line 59) -* ANSI escape sequences in documents: Invoking Info. (line 252) -* Apropos, in Info files: Invoking Info. (line 121) -* arguments, command line: Invoking Info. (line 6) -* arguments, negative: Miscellaneous Commands. - (line 72) -* automatic-footnotes: Variables. (line 31) -* automatic-tiling: Variables. (line 43) -* b, in Info windows: Cursor Commands. (line 45) -* BackTab, in Info windows: Selecting Xrefs. (line 54) -* BackTab, in the echo area: MS-DOS/Windows keybindings. - (line 42) -* backward-char: Cursor Commands. (line 35) -* backward-word: Cursor Commands. (line 41) -* beginning-of-line: Cursor Commands. (line 24) -* beginning-of-node: Cursor Commands. (line 45) -* Blinking text: Colors and Styles. (line 72) -* Bold text: Colors and Styles. (line 68) -* BS (backspace): Scrolling Commands. (line 47) -* bugs, reporting: Stand-alone Info. (line 28) -* C-a, in Info windows: Cursor Commands. (line 24) -* C-a, in the echo area: The Echo Area. (line 24) -* C-b, in Info windows: Cursor Commands. (line 35) -* C-b, in the echo area: The Echo Area. (line 21) -* C-CENTER: MS-DOS/Windows keybindings. - (line 27) -* C-d, in the echo area: The Echo Area. (line 36) -* C-e, in Info windows: Cursor Commands. (line 27) -* C-e, in the echo area: The Echo Area. (line 27) -* C-End: MS-DOS/Windows keybindings. - (line 11) -* C-f, in Info windows: Cursor Commands. (line 31) -* C-f, in the echo area: The Echo Area. (line 17) -* C-g, in Info windows: Miscellaneous Commands. - (line 86) -* C-g, in the echo area: The Echo Area. (line 46) -* C-h: Miscellaneous Commands. - (line 25) -* C-Home: MS-DOS/Windows keybindings. - (line 11) -* C-k, in the echo area: The Echo Area. (line 83) -* C-l: Miscellaneous Commands. - (line 97) -* C-LEFT: MS-DOS/Windows keybindings. - (line 11) -* C-LEFT, in the echo area: MS-DOS/Windows keybindings. - (line 42) -* C-n: Cursor Commands. (line 17) -* C-NEXT: MS-DOS/Windows keybindings. - (line 27) -* C-p: Cursor Commands. (line 21) -* C-PgDn: MS-DOS/Windows keybindings. - (line 27) -* C-PgUp: MS-DOS/Windows keybindings. - (line 27) -* C-PREVIOUS: MS-DOS/Windows keybindings. - (line 27) -* C-q, in the echo area: The Echo Area. (line 55) -* C-r: Searching Commands. (line 63) -* C-RIGHT: MS-DOS/Windows keybindings. - (line 11) -* C-RIGHT, in the echo area: MS-DOS/Windows keybindings. - (line 42) -* C-s: Searching Commands. (line 58) -* C-t, in the echo area: The Echo Area. (line 62) -* C-u: Miscellaneous Commands. - (line 46) -* C-UP: MS-DOS/Windows keybindings. - (line 27) -* C-v: Scrolling Commands. (line 28) -* C-w: Miscellaneous Commands. - (line 111) -* C-x ^: Basic Windows. (line 47) -* C-x 0: Basic Windows. (line 34) -* C-x 1: Basic Windows. (line 39) -* C-x 2: Basic Windows. (line 26) -* C-x b: More Node Commands. (line 106) -* C-x C-b: More Node Commands. (line 101) -* C-x C-c: Miscellaneous Commands. - (line 92) -* C-x C-f: More Node Commands. (line 95) -* C-x DEL, in the echo area: The Echo Area. (line 86) -* C-x n: Searching Commands. (line 28) -* C-x N: Searching Commands. (line 40) -* C-x o: Basic Windows. (line 12) -* C-x t: Basic Windows. (line 52) -* C-y, in the echo area: The Echo Area. (line 89) -* cancelling the current operation: Miscellaneous Commands. - (line 86) -* cancelling typeahead: Miscellaneous Commands. - (line 86) -* case-sensitive search: Searching Commands. (line 52) -* case-sensitivity, and search: Searching Commands. (line 97) -* clear-search: Searching Commands. (line 93) -* Colored background: Colors and Styles. (line 49) -* Colored foreground: Colors and Styles. (line 34) -* colors in documents: Invoking Info. (line 252) -* command line options: Invoking Info. (line 6) -* command-line options, how to find: Invoking Info. (line 274) -* commands, describing: Miscellaneous Commands. - (line 9) -* completion: The Echo Area. (line 94) -* compressed Info files: Invoking Info. (line 35) -* current file, information about: Miscellaneous Commands. - (line 36) -* cursor-movement-scrolls: Variables. (line 53) -* cursor, moving: Cursor Commands. (line 6) -* customizing key bindings: Custom Key Bindings. (line 6) -* d: Node Commands. (line 42) -* debugging: Invoking Info. (line 133) -* default key bindings, overriding: Custom Key Bindings. (line 6) -* DEL, in Info windows: Scrolling Commands. (line 38) -* DEL, in the echo area: The Echo Area. (line 39) -* delete-window: Basic Windows. (line 34) -* describe-command: Miscellaneous Commands. - (line 9) -* describe-key: Miscellaneous Commands. - (line 13) -* describe-variable: Variables. (line 26) -* dir-node: Node Commands. (line 42) -* directory path: Invoking Info. (line 152) -* display-file-info: Miscellaneous Commands. - (line 36) -* DOWN (an arrow key): Cursor Commands. (line 17) -* down-line: Scrolling Commands. (line 67) -* e, in Info windows: Cursor Commands. (line 49) -* echo area: The Echo Area. (line 6) -* echo-area-abort: The Echo Area. (line 46) -* echo-area-backward: The Echo Area. (line 21) -* echo-area-backward-kill-line: The Echo Area. (line 86) -* echo-area-backward-kill-word: The Echo Area. (line 77) -* echo-area-backward-word: The Echo Area. (line 33) -* echo-area-beg-of-line: The Echo Area. (line 24) -* echo-area-complete: The Echo Area. (line 107) -* echo-area-delete: The Echo Area. (line 36) -* echo-area-end-of-line: The Echo Area. (line 27) -* echo-area-forward: The Echo Area. (line 17) -* echo-area-forward-word: The Echo Area. (line 30) -* echo-area-kill-line: The Echo Area. (line 83) -* echo-area-kill-word: The Echo Area. (line 73) -* echo-area-newline: The Echo Area. (line 52) -* echo-area-quoted-insert: The Echo Area. (line 55) -* echo-area-rubout: The Echo Area. (line 39) -* echo-area-scroll-completions-window: The Echo Area. (line 135) -* echo-area-tab-insert: The Echo Area. (line 59) -* echo-area-transpose-chars: The Echo Area. (line 62) -* echo-area-yank: The Echo Area. (line 89) -* echo-area-yank-pop: The Echo Area. (line 92) -* Emacs Info reader: Stand-alone Info. (line 16) -* End: MS-DOS/Windows keybindings. - (line 11) -* end-of-line: Cursor Commands. (line 27) -* end-of-node: Cursor Commands. (line 49) -* errors-ring-bell: Variables. (line 60) -* ESC C-f: Miscellaneous Commands. - (line 130) -* ESC C-v, in Info windows: Basic Windows. (line 42) -* ESC C-v, in the echo area: The Echo Area. (line 135) -* execute-command: Node Commands. (line 46) -* f: Selecting Xrefs. (line 36) -* F1: Miscellaneous Commands. - (line 25) -* file names, relative: Invoking Info. (line 49) -* file, outputting to: Invoking Info. (line 246) -* files, compressed: Invoking Info. (line 35) -* find-menu: Selecting Xrefs. (line 30) -* finding the Invocation node: More Node Commands. (line 52) -* first-node: More Node Commands. (line 10) -* follow-strategy: Variables. (line 63) -* footnotes window: Variables. (line 32) -* footnotes, displaying: Miscellaneous Commands. - (line 130) -* format of infokey: infokey format. (line 6) -* forward-char: Cursor Commands. (line 31) -* forward-word: Cursor Commands. (line 38) -* functions, describing: Miscellaneous Commands. - (line 9) -* g: More Node Commands. (line 39) -* G: More Node Commands. (line 70) -* gc-compressed-files: Variables. (line 81) -* get-help-window: Miscellaneous Commands. - (line 25) -* get-info-help-node: Miscellaneous Commands. - (line 30) -* global-next-node: More Node Commands. (line 22) -* global-prev-node: More Node Commands. (line 29) -* goto-invocation: More Node Commands. (line 52) -* goto-node: More Node Commands. (line 39) -* grow-window: Basic Windows. (line 47) -* h: Miscellaneous Commands. - (line 30) -* hide-note-references: Variables. (line 95) -* highlight-searches: Searching Commands. (line 93) -* highlight-searches <1>: Variables. (line 103) -* history-node: Node Commands. (line 29) -* Home: MS-DOS/Windows keybindings. - (line 11) -* i: Index Commands. (line 11) -* I: Index Commands. (line 15) -* incremental search: Searching Commands. (line 58) -* index: Index Commands. (line 6) -* index search, selecting from the command line: Invoking Info. - (line 210) -* index-apropos: Index Commands. (line 23) -* index-search: Index Commands. (line 11) -* index, searching: Index Commands. (line 11) -* index, virtual: Index Commands. (line 15) -* indexes: Index Commands. (line 6) -* indices: Index Commands. (line 6) -* Info files, compressed: Invoking Info. (line 35) -* Info files, reading in Emacs: Stand-alone Info. (line 16) -* Info files, relative: Invoking Info. (line 49) -* Info files, searching all indices: Invoking Info. (line 121) -* Info manual location: Invoking Info. (line 327) -* Info manual, specifying initial: Invoking Info. (line 188) -* INFO_PRINT_COMMAND, environment variable: Printing Nodes. (line 13) -* info-version: Miscellaneous Commands. - (line 41) -* Info, invoking: Invoking Info. (line 6) -* infokey format: infokey format. (line 6) -* infokey format <1>: infokey format. (line 6) -* infokey, program for customizing key bindings: Custom Key Bindings. - (line 6) -* INFOPATH: Invoking Info. (line 152) -* infopath-no-defaults: Variables. (line 107) -* initial node, specifying: Invoking Info. (line 188) -* invocation description, how to find: Invoking Info. (line 274) -* invoking Info: Invoking Info. (line 6) -* isearch-backward: Searching Commands. (line 63) -* isearch-forward: Searching Commands. (line 58) -* ISO Latin characters: Variables. (line 114) -* ISO-Latin: Variables. (line 113) -* keep-one-window: Basic Windows. (line 39) -* key bindings, customizing: Custom Key Bindings. (line 6) -* key-time: Variables. (line 123) -* keys, describing: Miscellaneous Commands. - (line 13) -* keystrokes, recording: Invoking Info. (line 182) -* l: Node Commands. (line 29) -* last-menu-item: Selecting Xrefs. (line 22) -* last-node: More Node Commands. (line 16) -* LEFT (an arrow key): Cursor Commands. (line 35) -* LEFT, in the echo area: The Echo Area. (line 21) -* Less-like key bindings: Invoking Info. (line 318) -* link-style: Colors and Styles. (line 11) -* list-visited-nodes: More Node Commands. (line 101) -* local printer device: Printing Nodes. (line 18) -* m: Selecting Xrefs. (line 25) -* M--: Miscellaneous Commands. - (line 72) -* M-<: Cursor Commands. (line 45) -* M->: Cursor Commands. (line 49) -* M-0 ... M-9: Miscellaneous Commands. - (line 59) -* M-0, vi-like operation: Selecting Xrefs. (line 22) -* M-1 ... M-9, vi-like operation: Selecting Xrefs. (line 12) -* M-1 ... M-9, vi-like operation <1>: Selecting Xrefs. (line 12) -* M-b, in Info windows: Cursor Commands. (line 41) -* M-b, in the echo area: The Echo Area. (line 33) -* M-BS, in the echo area: The Echo Area. (line 79) -* M-d, in the echo area: The Echo Area. (line 73) -* M-DEL, in the echo area: The Echo Area. (line 77) -* M-f, in Info windows: Cursor Commands. (line 38) -* M-f, in the echo area: The Echo Area. (line 30) -* M-r: Cursor Commands. (line 52) -* M-TAB, in Info windows: Selecting Xrefs. (line 51) -* M-TAB, in the echo area: The Echo Area. (line 59) -* M-v: Scrolling Commands. (line 55) -* M-y, in the echo area: The Echo Area. (line 92) -* malformed multibyte sequences, showing: Invoking Info. (line 268) -* man: More Node Commands. (line 111) -* man pages, displaying: More Node Commands. (line 111) -* match-style: Colors and Styles. (line 18) -* menu-digit: Selecting Xrefs. (line 12) -* menu-item: Selecting Xrefs. (line 25) -* menu-sequence: More Node Commands. (line 70) -* menu, following: Invoking Info. (line 61) -* menu, following, from inside Info: More Node Commands. (line 70) -* Meta key sets eighth bit: Variables. (line 114) -* min-search-length: Variables. (line 143) -* mouse: Variables. (line 148) -* move-to-next-xref: Selecting Xrefs. (line 44) -* move-to-prev-xref: Selecting Xrefs. (line 51) -* move-to-window-line: Cursor Commands. (line 52) -* moving the cursor: Cursor Commands. (line 6) -* n: Node Commands. (line 10) -* negative arguments: Miscellaneous Commands. - (line 72) -* NEXT: Scrolling Commands. (line 13) -* next-index-match: Index Commands. (line 19) -* next-line: Cursor Commands. (line 17) -* next-node: Node Commands. (line 10) -* next-window: Basic Windows. (line 12) -* node header line: Variables. (line 162) -* node, selecting from the command line: Invoking Info. (line 233) -* nodeline: Variables. (line 161) -* nodes, selection of: Node Commands. (line 6) -* Non-interactive usage: Invoking Info. (line 87) -* numeric arguments: Miscellaneous Commands. - (line 46) -* numeric arguments, negative: Miscellaneous Commands. - (line 72) -* O: More Node Commands. (line 52) -* online help, using Info as: Invoking Info. (line 210) -* options, command line: Invoking Info. (line 6) -* outputting to a file: Invoking Info. (line 246) -* overriding default key bindings: Custom Key Bindings. (line 6) -* p: Node Commands. (line 13) -* PageDown: Scrolling Commands. (line 25) -* PageUp: Scrolling Commands. (line 51) -* prev-line: Cursor Commands. (line 21) -* prev-node: Node Commands. (line 13) -* prev-window: Basic Windows. (line 22) -* PREVIOUS: Scrolling Commands. (line 39) -* print-node: Printing Nodes. (line 13) -* printing: Printing Nodes. (line 6) -* printing characters, in the echo area: The Echo Area. (line 65) -* printing nodes to the local printer: Printing Nodes. (line 18) -* q: Miscellaneous Commands. - (line 92) -* quit: Miscellaneous Commands. - (line 92) -* quitting: Miscellaneous Commands. - (line 92) -* R: Searching Commands. (line 47) -* r: Selecting Xrefs. (line 36) -* redraw-display: Miscellaneous Commands. - (line 97) -* regular expression search: Searching Commands. (line 11) -* relative Info file names: Invoking Info. (line 49) -* remembering user keystrokes: Invoking Info. (line 182) -* repeated search: Searching Commands. (line 28) -* replaying recorded keystrokes: Invoking Info. (line 261) -* RET, in Info windows: Selecting Xrefs. (line 58) -* RET, in the echo area: The Echo Area. (line 52) -* RIGHT (an arrow key): Cursor Commands. (line 31) -* RIGHT, in the echo area: The Echo Area. (line 17) -* s: Searching Commands. (line 11) -* S: Searching Commands. (line 52) -* screen, changing the height of: Miscellaneous Commands. - (line 104) -* scroll-backward: Scrolling Commands. (line 39) -* scroll-backward-page-only: Scrolling Commands. (line 55) -* scroll-backward-page-only-set-window: Scrolling Commands. (line 62) -* scroll-behavior: Variables. (line 170) -* scroll-behaviour: Variables. (line 171) -* scroll-forward: Scrolling Commands. (line 13) -* scroll-forward-page-only: Scrolling Commands. (line 28) -* scroll-forward-page-only-set-window: Scrolling Commands. (line 33) -* scroll-half-screen-down: Scrolling Commands. (line 75) -* scroll-half-screen-up: Scrolling Commands. (line 81) -* scroll-last-node: Variables. (line 194) -* scroll-other-window: Basic Windows. (line 42) -* scroll-step: Variables. (line 208) -* scrolling: Scrolling Commands. (line 6) -* scrolling through node structure: Scrolling Commands. (line 86) -* search: Searching Commands. (line 11) -* search-backward: Searching Commands. (line 19) -* search-case-sensitively: Searching Commands. (line 52) -* search-next: Searching Commands. (line 28) -* search-previous: Searching Commands. (line 40) -* search-skip-screen: Variables. (line 218) -* search, and case-sensitivity: Searching Commands. (line 97) -* search, case-sensitive: Searching Commands. (line 52) -* searching: Searching Commands. (line 6) -* Searching all indices: Invoking Info. (line 121) -* searching, in the indices: Index Commands. (line 11) -* select-reference-this-line: Selecting Xrefs. (line 58) -* select-visited-node: More Node Commands. (line 106) -* Selecting text with the mouse: Variables. (line 155) -* set-screen-height: Miscellaneous Commands. - (line 104) -* set-variable: Variables. (line 20) -* Shift-TAB, in Info windows: Selecting Xrefs. (line 54) -* Shift-TAB, in the echo area: MS-DOS/Windows keybindings. - (line 42) -* show-footnotes: Miscellaneous Commands. - (line 130) -* show-index-match: Variables. (line 229) -* slow network connections: Variables. (line 124) -* SPC, in Info windows: Scrolling Commands. (line 12) -* speech synthesizers: Invoking Info. (line 287) -* split-window: Basic Windows. (line 26) -* Standard output not a terminal: Invoking Info. (line 87) -* startup node, specifying: Invoking Info. (line 188) -* t: Node Commands. (line 39) -* TAB, in Info windows: Selecting Xrefs. (line 44) -* TAB, in the echo area: The Echo Area. (line 107) -* tile-windows: Basic Windows. (line 52) -* tiling: Basic Windows. (line 52) -* toggle-regexp: Searching Commands. (line 47) -* toggle-wrap: Miscellaneous Commands. - (line 111) -* top-node: Node Commands. (line 39) -* tree-search: Searching Commands. (line 68) -* tree-search-next: Searching Commands. (line 73) -* tree-search-previous: Searching Commands. (line 73) -* u: Node Commands. (line 16) -* Underlined text: Colors and Styles. (line 57) -* universal-argument: Miscellaneous Commands. - (line 46) -* UP (an arrow key): Cursor Commands. (line 21) -* up-line: Scrolling Commands. (line 71) -* up-node: Node Commands. (line 16) -* variable assignment: Invoking Info. (line 312) -* variables, describing: Variables. (line 26) -* variables, setting: Variables. (line 20) -* version information: Invoking Info. (line 315) -* vi-like key bindings: Invoking Info. (line 318) -* view-file: More Node Commands. (line 95) -* virtual-index: Index Commands. (line 15) -* visible-bell: Variables. (line 235) -* Where is an Info manual?: Invoking Info. (line 327) -* where-is: Miscellaneous Commands. - (line 21) -* windows, creating: Basic Windows. (line 26) -* windows, deleting: Basic Windows. (line 34) -* windows, manipulating: Window Commands. (line 6) -* windows, selecting: Basic Windows. (line 12) -* xref-item: Selecting Xrefs. (line 36) -* xterm mouse selections: Variables. (line 155) - - -Tag Table: -Node: Top1203 -Node: Stand-alone Info3361 -Node: Node Commands4897 -Node: More Node Commands7289 -Ref: goto-node8987 -Ref: goto-invocation9521 -Node: Cursor Commands12775 -Node: Scrolling Commands14575 -Node: Searching Commands18968 -Ref: repeated-search20066 -Ref: Searching Commands-Footnote-124143 -Node: Index Commands24258 -Node: Xref Commands26004 -Node: Parts of an Xref26683 -Node: Selecting Xrefs28662 -Node: Window Commands30822 -Node: The Mode Line31774 -Node: Basic Windows33175 -Node: The Echo Area35769 -Node: Printing Nodes40661 -Node: Miscellaneous Commands41850 -Node: Invoking Info47603 -Ref: command-line menu items50105 -Ref: --all51673 -Ref: --apropos52713 -Ref: INFOPATH53956 -Ref: --init-file57703 -Ref: --raw-escapes58695 -Ref: --show-options59615 -Ref: variable-assignment61500 -Ref: --vi-keys61689 -Ref: Invoking Info-Footnote-162334 -Node: Variables63016 -Ref: cursor-movement-scrolls65534 -Ref: infopath-no-defaults68316 -Ref: min-search-length70152 -Ref: scroll-behavior71496 -Node: Colors and Styles74715 -Node: Custom Key Bindings77175 -Ref: Custom Key Bindings-Footnote-179014 -Node: infokey format79227 -Node: MS-DOS/Windows keybindings84809 -Node: Index86073 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/texi2any_api.info b/result/sw/share/info/texi2any_api.info deleted file mode 100644 index 843a2e9d..00000000 --- a/result/sw/share/info/texi2any_api.info +++ /dev/null @@ -1,6031 +0,0 @@ -This is texi2any_api.info, produced by texi2any version 7.2 from -texi2any_api.texi. - -This manual is for GNU Texinfo ‘texi2any’ program output adaptation -using customization files (version 7.2, 21 October 2024). - - Copyright © 2013-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License" in the Texinfo - manual. -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* texi2any customization: (texi2any_api). - Customizing texi2any output -END-INFO-DIR-ENTRY - - -File: texi2any_api.info, Node: Top, Next: Overview, Up: (dir) - -GNU Texinfo ‘texi2any’ Output Customization -******************************************* - -* Menu: - -* Overview:: -* Loading Init Files:: -* Init File Basics:: -* Simple formatting customization:: -* Simple headers customizations:: -* User Defined Functions:: -* User Defined Functions Common Tasks:: -* Customizing Output-Related Names:: -* Init File Calling at Different Stages:: -* Formatting HTML Output:: -* Customization and Use of Formatting Functions:: -* Tree Element Conversion Customization:: -* Output Units Conversion Functions:: -* Shared Conversion State:: -* Translations in Output and Customization:: -* Customizing Footnotes, Tables of Contents and About:: -* Customizing HTML Footers, Headers and Navigation Panels:: -* Beginning and Ending Files:: -* Titlepage, CSS and Redirection Files:: - -Appendices - -* Specific Functions for Specific Elements:: -* Functions Index:: -* Variables Index:: -* General Index:: - - -- The Detailed Node Listing -- - -Init File Basics - -* Init File Namespace:: -* Getting Build Constants:: -* Managing Customization Variables:: -* Init File Loading Error Reporting:: - -Managing Customization Variables - -* Setting Main Program String Variables:: -* Modifying Main Program Array Variables:: -* Setting Converter Variables in Main Program:: -* Getting Main Program Variables Values:: - -Simple formatting customization - -* Init File Expansion Contexts:: -* Simple Customization for Commands Without Arguments:: -* Simple Customization for Simple Commands with Braces:: -* Simple Customization of Accent Commands:: -* Simple Customization of Containers:: - -Simple Customization for Simple Commands with Braces - -* Customization of Commands Converting to Uppercase:: -* Simple Output Customization for Simple Commands with Braces:: - -Simple headers customizations - -* Output Units:: -* Directions:: -* Direction Strings Customization:: -* Simple Navigation Panel Customization:: - -Directions - -* Output Unit Direction Information Type:: -* Direction Strings:: - -User Defined Functions - -* User Defined Functions are Registered:: -* Converter Object and Conversion Functions:: - -Error Reporting, Customization and Paths Manipulation with Converter - -* Error Reporting in User Defined Functions:: -* Conversion Customization Variables:: -* Encoding and Decoding File Path Strings:: -* Protection of URLs:: - -Encoding and Decoding File Path Strings - -* Encoding File Path Strings:: -* Decoding File Path Strings:: - -Customizing Output-Related Names - -* File: Customizing Output File Names. -* Target: Customizing Output Target Names. -* External Node: Customizing External Node Output Names. -* Special Elements: Customizing Special Elements Output Names. - -Formatting HTML Output - -* Specific HTML Constructs Formatting Functions:: -* Converter General Information:: -* Getting Conversion Context:: -* Converting Texinfo Trees:: - -Specific HTML Constructs Formatting Functions - -* Formatting HTML Element with Classes:: -* Closing Lone HTML Element:: -* Substituting Non Breaking Space:: - -Getting Conversion Context - -* Conversion in String Context:: -* Conversion in Preformatted Context:: -* Other Dynamic Information:: - -Converting Texinfo Trees - -* Texinfo Tree Conversion Functions:: -* Setting the Context for Conversion:: -* Conversion to Plain Text:: -* Texinfo Tree Elements in User Defined Functions:: -* Output Units in User Defined Functions:: - -Customization and Use of Formatting Functions - -* Registering Specific Formating Functions:: -* Basic Formatting Customization:: - -Tree Element Conversion Customization - -* Command Tree Element Conversion:: -* Type Tree Element Conversion:: - -Command Tree Element Conversion - -* Command Tree Element Conversion Functions:: -* Command Tree Element Opening Functions:: -* Heading Commands Formatting:: -* Target Tree Element Link:: -* Specific Formatting for Indices:: -* Image Formatting:: - -Type Tree Element Conversion - -* Type Tree Element Conversion Functions:: -* Type Tree Element Opening Functions:: -* Text Tree Elements Conversion:: -* Inline Text Containers Formatting:: - -Shared Conversion State - -* Define Get and Set Shared Conversion State:: -* Shared Conversion State in Default Formatting:: - -Translations in Output and Customization - -* Internationalization of Strings Function:: -* Translated Strings Customization:: -* Translation Contexts:: - -Customizing Footnotes, Tables of Contents and About - -* Special Units Information Customization:: -* Customizing Footnotes:: -* Contents and Short Table of Contents Customization:: -* About Special Output Unit Customization:: -* Special Unit Body Formatting Functions:: - -Customizing HTML Footers, Headers and Navigation Panels - -* Navigation Panel Button Formatting:: -* Navigation Panel and Navigation Header Formatting:: -* Element Header and Footer Formatting:: -* Element Counters in Files:: - -Beginning and Ending Files - -* Customizing HTML File Beginning:: -* Customizing HTML File End:: -* Associating Information to an Output File:: - -Titlepage, CSS and Redirection Files - -* HTML Title Page Customization:: -* CSS Customization:: -* Customizing Node Redirection Pages:: - -CSS Customization - -* Customization of CSS Rules Imports and Selectors:: -* Customizing the CSS Lines:: - - -File: texi2any_api.info, Node: Overview, Next: Loading Init Files, Prev: Top, Up: Top - -1 Overview -********** - - Warning: All of this information, with the exception of - command-line options and search directories associated with command - line options (*note Loading Init Files::), may become obsolete in a - future Texinfo release. Right now, the "API" described in this - chapter is immature, so we must keep open the possibility of - incompatible, possibly major, changes. Of course we try to avoid - incompatible changes, but it is not a promise. - - This manual describes how to customize the ‘texi2any’ HTML output. -Although some of the features here can technically be used with other -output formats, it's not especially useful to do so, so we'll write the -documentation as if HTML were the target format. Most of the -customizations are only available for HTML. - - The conversion of Texinfo to HTML is done in two steps. After -reading command-line options and init files, input Texinfo code is -parsed into a Texinfo tree and information is gathered on the document -structure. This first step can only be customized to a certain extent, -by using the command-line options and setting customization variables -(*note (texinfo)Global Customization Variables::). The Texinfo tree -describes a Texinfo document in a structured way which makes it easy to -go through the tree and format @-commands and other containers. - - The second step is the “conversion” step done in a converter. The -HTML converter takes a Texinfo tree as input and transforms it to HTML. -The code that is used to go through the tree cannot be customized, but -the conversion of tree elements can be fully customized. - - -File: texi2any_api.info, Node: Loading Init Files, Next: Init File Basics, Prev: Overview, Up: Top - -2 Loading Initialization Files and Search Paths -*********************************************** - - Warning: The ‘texi2any-config.pm’ file related paths and even the - use of ‘texi2any-config.pm’ files is not definitive. - - You can write so-called “initialization files”, or “init files” for -short, to modify almost every aspect of output formatting. The program -loads init files named ‘texi2any-config.pm’ each time it is run. The -directories lookup is based on the XDG Base Directory Specification -(https://specifications.freedesktop.org/basedir-spec/latest/) with -defaults based on installation directories. The ‘texi2any-config.pm’ -files are looked for in the following directories: - -‘DATADIR/texi2any/’ - (where DATADIR is the system data directory specified at - compile-time, e.g., ‘/usr/local/share’) - -‘XDG_CONFIG_DIRS/texi2any’ - (for each directory in the ‘:’ delimited ‘XDG_CONFIG_DIRS’ - environment variable, in reverse order) - -‘SYSCONFDIR/xdg/texi2any/’ - (where SYSCONFDIR is specified at compile time, e.g., - ‘/usr/local/etc’) - -‘~/.config/texi2any/’ - (where ‘~’ is the current user's home directory, only if - ‘XDG_CONFIG_HOME’ is not set) - -‘XDG_CONFIG_HOME/texi2any’ - (with ‘XDG_CONFIG_HOME’ an environment variable) - -‘./.texi2any/’ - (under the current directory) - -‘./’ - (the current directory) - - All ‘texi2any-config.pm’ files found are loaded, in the above order. -Thus, ‘./texi2any-config.pm’ can override entries in, say, -‘DATADIR/texi2any/texi2any-config.pm’. - - However, the most common way to load an initialization file path is -with the ‘--init-file’ option, explicitly specifying the file path to be -loaded. If the initialization file path contains directories, it is -loaded if found. Otherwise, if the file path is a simple file name, the -following directories are searched, in the following order by default. -Only the first file found is used: - - 1. The current directory ‘./’; - - 2. ‘./.texi2any/’ under the current directory; - - 3. ‘XDG_CONFIG_HOME/texi2any’ if the ‘XDG_CONFIG_HOME’ environment is - set, otherwise ‘~/.config/texi2any/’ where ‘~’ is the current - user's home directory; - - 4. ‘SYSCONFDIR/xdg/texi2any/’ where SYSCONFDIR is the system - configuration directory specified at compile-time, e.g., - ‘/usr/local/etc’; - - 5. if the environment variable ‘XDG_CONFIG_DIRS’ is set, - ‘DIRECTORY/texi2any’ for each DIRECTORY in the ‘:’ delimited - ‘XDG_CONFIG_DIRS’ environment variable value; - - 6. ‘DATADIR/texi2any/’ Where DATADIR is the system data directory - specified at compile time, e.g., ‘/usr/local/share’; - - 7. ‘./.texinfo/init/’ under the current directory; - - 8. ‘XDG_CONFIG_HOME/texinfo/init’ if the ‘XDG_CONFIG_HOME’ environment - is set, otherwise ‘~/.config/texinfo/init/’ where ‘~’ is the - current user's home directory; - - 9. ‘SYSCONFDIR/xdg/texinfo/init/’ with SYSCONFDIR as above; - - 10. if the environment variable ‘XDG_CONFIG_DIRS’ is set, - ‘DIRECTORY/texinfo/init’ for each DIRECTORY in the ‘:’ delimited - ‘XDG_CONFIG_DIRS’ environment variable value; - - 11. ‘DATADIR/texinfo/init/’ with DATADIR as above. - - 12. ‘DATADIR/texinfo/ext/’ with DATADIR as above. - - The ‘DATADIR/texinfo/ext/’ directory contains the init files directly -loaded from ‘texi2any’ code. When loaded from ‘texi2any’ code directly, -init files are only searched for in that directory, being considered as -part of the program and not as user customization. Since the directory -is also in the list of directories searched for init files loaded by the -‘--init-file’ option, those init files can also be loaded as regular -user specified init files. - - Additional directories may be prepended to the list with the -‘--conf-dir’ option (*note (texinfo)Invoking texi2any::). - - -File: texi2any_api.info, Node: Init File Basics, Next: Simple formatting customization, Prev: Loading Init Files, Up: Top - -3 Init File Basics -****************** - -Init files are written in Perl, and by convention have extension ‘.init’ -or ‘.pm’. Several init files are included in the Texinfo distribution, -and can serve as a good model for writing your own. Another example is -the ‘Texinfo::Convert::HTML’ module which implements almost all the -Texinfo HTML function described in this manual for the conversion to -HTML(1). In ‘Texinfo::Convert::HTML’ the API may not be followed -strictly for performance reasons, in that case there should always be a -‘API info:’ comment which shows what the API conformant code should be. -The Licenses conditions of the diverse files used as example should be -taken into account when reusing code. - -* Menu: - -* Init File Namespace:: -* Getting Build Constants:: -* Managing Customization Variables:: -* Init File Loading Error Reporting:: - - ---------- Footnotes ---------- - - (1) The ‘Texinfo::Convert::HTML’ module also implements the HTML -converter which go through the tree and call user defined functions. - - -File: texi2any_api.info, Node: Init File Namespace, Next: Getting Build Constants, Up: Init File Basics - -3.1 Init File Namespace -======================= - -Initialization file are loaded from the main program in the -‘Texinfo::Config’ namespace. This means that the namespace of the main -program and the namespace of initialization files are distinct, which -minimizes the chance of a name clash. - - It is possible to start init files with: - package Texinfo::Config; - It is not required, but it may help some debugging tools determine in -which namespace the code is run. - - In the ‘Texinfo::Config’ namespace, the functions names beginning -with ‘texinfo_’, ‘GNUT_’ and ‘_GNUT_’ are reserved. User defined -functions in init files should never begin with those prefixes. - - The HTML converter is not available directly in the init files -namespace, instead it is passed to functions defined in init files that -are registered as functions to be called from the converter. *Note User -Defined Functions::. - - -File: texi2any_api.info, Node: Getting Build Constants, Next: Managing Customization Variables, Prev: Init File Namespace, Up: Init File Basics - -3.2 Getting Build Constants -=========================== - -Some constants are set independently of the output format for a Texinfo -build. They are available through -‘Texinfo::Common::get_build_constant’: - - -- Function: $VALUE = Texinfo::Common::get_build_constant ($NAME) - Retrieve build constant $NAME value. - - Defined build constants: - -‘PACKAGE’ -‘PACKAGE_CONFIG’ -‘PACKAGE_AND_VERSION’ -‘PACKAGE_AND_VERSION_CONFIG’ -‘PACKAGE_NAME’ -‘PACKAGE_NAME_CONFIG’ -‘PACKAGE_VERSION’ -‘PACKAGE_VERSION_CONFIG’ -‘PACKAGE_URL’ -‘PACKAGE_URL_CONFIG’ - - Texinfo package name and versions. Values of build constants - without ‘_CONFIG’ appended are set by configure. Similar - customization variables exist with the same value set in the - default case from the main program, with values that can be - modified. - - The values of the build constants with ‘_CONFIG’ appended are - duplicate of the values of the build constants without - ‘_CONFIG’(1). - - ---------- Footnotes ---------- - - (1) They are set to correspond to macro set in the C code. In the C -code there are no macros with the names without ‘_CONFIG’ appended as -they would clash with the names of the customization options. - - -File: texi2any_api.info, Node: Managing Customization Variables, Next: Init File Loading Error Reporting, Prev: Getting Build Constants, Up: Init File Basics - -3.3 Managing Customization Variables -==================================== - -The basic operations on customization variables are to set and retrieve -their values. - - The customization variables also valid in the main program out of the -HTML converter are handled differently if their associated values are -strings or arrays. Conversely, customization variables only relevant -for the conversion phase set in the main program are always set by -associating a string, an array reference or a hash references to -customization variables in the same way. - - This section describes customization variables set in the main -program. These variables are in general passed to converters. It is -also possible to set customization variables in the converters only, not -in the main program. This is explained later on (*note Conversion -Customization Variables::). - -* Menu: - -* Setting Main Program String Variables:: -* Modifying Main Program Array Variables:: -* Setting Converter Variables in Main Program:: -* Getting Main Program Variables Values:: - - -File: texi2any_api.info, Node: Setting Main Program String Variables, Next: Modifying Main Program Array Variables, Up: Managing Customization Variables - -3.3.1 Setting Main Program String Variables -------------------------------------------- - -To set the value of a string customization variable from an -initialization file, use ‘texinfo_set_from_init_file’: - - -- Function: texinfo_set_from_init_file ($variable_name, - $variable_value) - $VARIABLE_NAME is a string containing the name of the variable you - want to set, and $VARIABLE_VALUE is the value to which you want to - set it. $VARIABLE_VALUE may be ‘undef’. - - For example, - - texinfo_set_from_init_file('documentlanguage', 'fr'); - -overrides the ‘@documentlanguage’ from the document. It would be -overridden by ‘--document-language’ on the command line. Another -example: - - texinfo_set_from_init_file('SPLIT', 'chapter'); - -overrides the default splitting of the document. It would be overridden -by ‘--split’ on the command line. - - A final example: - - texinfo_set_from_init_file('NO_CSS', 1); - -overrides the default value for ‘NO_CSS’. It would be overridden by -‘--set-init-variable NO_CSS=1’ on the command line. - - Setting the output format cannot be done by setting the customization -variable ‘TEXINFO_OUTPUT_FORMAT’. This customization variable sets the -output format in the main program, but not from init files as additional -code needs to be run. Instead, call the -‘texinfo_set_format_from_init_file’ function: - - -- Function: texinfo_set_format_from_init_file ($output_format) - $OUTPUT_FORMAT is the output format; sets the output format, - without overriding formats set from the command line. - - Any output format can be set, but since only HTML can be customized, -the main use of ‘texinfo_set_format_from_init_file’ is to set the format -to ‘html’, such that HTML is generated instead of Info in the default -case. - - For the customization variables associated with @-commands, see *note -(texinfo)Customization Variables for @-Commands::. For the -customization variables associated with command line options, see *note -(texinfo)Customization Variables and Options::. - - -File: texi2any_api.info, Node: Modifying Main Program Array Variables, Next: Setting Converter Variables in Main Program, Prev: Setting Main Program String Variables, Up: Managing Customization Variables - -3.3.2 Modifying Main Program Array Variables --------------------------------------------- - - Warning: The main program customization variables associated with - arrays are not documented. - - Customization variables for the main program associated with an array -of values are handled differently. You can use -‘texinfo_add_to_option_list’ to add values to the array and -‘texinfo_remove_from_option_list’ to remove values from the array -associated with the customization variable: - - -- Function: texinfo_add_to_option_list ($variable_name, - $variable_values_array_reference, $prepend) - -- Function: texinfo_remove_from_option_list ($variable_name, - $variable_values_array_reference) - $VARIABLE_NAME is the name of the variable; the values in the array - reference $VARIABLE_VALUES_ARRAY_REFERENCE are added to the list - associated with the variable with ‘texinfo_add_to_option_list’, and - removed with ‘texinfo_remove_from_option_list’. - - If the optional argument of ‘texinfo_add_to_option_list’ $PREPEND - is set, the values are prepended instead of being appended. - - -File: texi2any_api.info, Node: Setting Converter Variables in Main Program, Next: Getting Main Program Variables Values, Prev: Modifying Main Program Array Variables, Up: Managing Customization Variables - -3.3.3 Setting Converter Variables in Main Program -------------------------------------------------- - -Array and hash references customization variables values relevant in -converters only (not in main program, but in the HTML converter) can be -set through the main program in init files. These variables cannot be -set on the command-line. They are documented in the customization -documentation, not in the main Texinfo manual. You set such arrays or -hashes references with ‘texinfo_set_from_init_file’. For example: - - my @SECTION_BUTTONS = - ( - \&singular_banner, - 'Back', 'Forward', 'FastBack', 'FastForward', - 'Up', 'Top', 'Contents', 'Index', 'About' - ); - - texinfo_set_from_init_file ('SECTION_BUTTONS', \@SECTION_BUTTONS); - - -File: texi2any_api.info, Node: Getting Main Program Variables Values, Prev: Setting Converter Variables in Main Program, Up: Managing Customization Variables - -3.3.4 Getting Main Program Variables Values -------------------------------------------- - -To get the value of a variable, the function is ‘texinfo_get_conf’: - - -- Function: texinfo_get_conf ($variable_name) - $VARIABLE_NAME is the name of the variable; its value (possibly - ‘undef’) is returned. - - For example: - - if (texinfo_get_conf('footnotestyle') eq 'separate') { ... } - - -File: texi2any_api.info, Node: Init File Loading Error Reporting, Prev: Managing Customization Variables, Up: Init File Basics - -3.4 Init File Loading Error Reporting -===================================== - -If an error or a warning should be emitted when loading an init file, -before the conversion, use ‘texinfo_register_init_loading_error’ for an -error and ‘texinfo_register_init_loading_warning’ for a warning. - - -- Function: texinfo_register_init_loading_error ($message) - -- Function: texinfo_register_init_loading_warning ($message) - Cause an error message or a warning message based on $MESSAGE to be - output, taking into account options related to error reporting such - as ‘--force’ or ‘--no-warn’. - - Errors or warning emitted from user defined functions should use the -converter (*note Error Reporting in User Defined Functions::). - - -File: texi2any_api.info, Node: Simple formatting customization, Next: Simple headers customizations, Prev: Init File Basics, Up: Top - -4 Simple formatting customization -********************************* - -Some change in output formatting can be specified with simple code, not -very different from simple textual configuration information. - -* Menu: - -* Init File Expansion Contexts:: -* Simple Customization for Commands Without Arguments:: -* Simple Customization for Simple Commands with Braces:: -* Simple Customization of Accent Commands:: -* Simple Customization of Containers:: - - -File: texi2any_api.info, Node: Init File Expansion Contexts, Next: Simple Customization for Commands Without Arguments, Up: Simple formatting customization - -4.1 Init File Expansion Contexts: Normal, Preformatted, Code, String, Math -========================================================================== - -Output formatting simple customization needs to be specified especially -for different formatting contexts. There are five expansion contexts of -interest: - -_normal context_ - Paragraphs, index entries, tables, ... - -_preformatted context_ - When spaces between words are kept. For example, within the - ‘@display’ (*note (texinfo)@display::) and ‘@example’ environments - (*note (texinfo)@example::), and in menu comments. The - preformatted regions are usually rendered using ‘<pre>’ elements in - HTML. - -_code context_ - When quotes and minus are kept. In particular ‘---’, ‘``’ and - other similar constructs are not converted to dash and quote - special characters. For example, in ‘@code’ or ‘@option’ commands - (*note (texinfo)Useful Highlighting::). - -_math context_ - Math (*note ‘@math’: (texinfo)math.). Code or preformatted - specifications are often used for math too. In those cases, there - is no way to separately specify the formatting in math context. - -_string context_ - When rendering strings without formatting elements, for example in - titles. The string context allows for limited formatting, - typically without any element when producing HTML or XML, so the - value can be used in an attribute. XML entities can be used in - strings. - - It is worth mentioning that in some cases, in particular for file -names, plain text can also be used in conversion. There is no -associated context in the converter, so the conversion to plain text is -usually performed by converting a Texinfo elements tree outside of the -main conversion flow. - - -File: texi2any_api.info, Node: Simple Customization for Commands Without Arguments, Next: Simple Customization for Simple Commands with Braces, Prev: Init File Expansion Contexts, Up: Simple formatting customization - -4.2 Simple Customization for Commands Without Arguments -======================================================= - -These commands include those whose names are a single nonletter -character, such as ‘@@’, and those with a normal alphabetic name but -whose braces should be empty, such as ‘@TeX{}’ and ‘@AA{}’. - - To change the formatting of a command, the functions is -‘texinfo_register_no_arg_command_formatting’: - - -- Function: texinfo_register_no_arg_command_formatting ($command_name, - $context, $text, $html_element, $translated_string_converted, - $translated_string_to_convert) - $COMMAND_NAME is the @-command name, without the leading @. - $CONTEXT is ‘normal’, ‘preformatted’ or ‘string’. There is no - separate math context, ‘preformatted’ should be used for math - context. *Note Init File Expansion Contexts::. If $CONTEXT is - ‘undef’, the ‘normal’ context is assumed. - - The remaining arguments determine the formatting. If $TEXT is set, - the corresponding text is output when the @-command is formatted. - $TEXT can contain HTML elements if needed. If $HTML_ELEMENT is - set, the text is enclosed between the $HTML_ELEMENT element opening - and the element closing. If $TRANSLATED_STRING_CONVERTED is set, - the corresponding text is translated when the document language - changes and used as text. $TRANSLATED_STRING_CONVERTED should - already be HTML. If $TRANSLATED_STRING_TO_CONVERT is set, the - corresponding text is translated when the document language changes - and converted from Texinfo code to HTML. Since the conversion is - done in the appropriate context, $TRANSLATED_STRING_TO_CONVERT - should only be set for the ‘normal’ context. *Note - (texi2any_internals)Texinfo::Translations METHODS::. - - It is not required to set values for all the contexts. If -preformatted context output is not set, normal context output is used. -If string context output is not set, preformatted context output is -used. - - For example, if you want ‘­’ to be output for ‘@-’ in normal, -preformatted (and math) and string context, call - - texinfo_register_no_arg_command_formatting('-', undef, '­'); - - If you want "‘<small>...</small>’" to be output for ‘@enddots’ in -normal context and ‘...’ to be output in other contexts, call - texinfo_register_no_arg_command_formatting('enddots', - 'normal', '...', 'small'); - texinfo_register_no_arg_command_formatting('enddots', - 'preformatted', '...'); - - If you want "‘error-->’" to be used for ‘@error’ in every context, -with a translation when the document language changes, call - - texinfo_register_no_arg_command_formatting('error', undef, undef, undef, - 'error-->'); - - If you want "‘is the *same* as’" to be used for ‘@equiv’, translated -when the document language changes, and converted from Texinfo to HTML -in the context of the translation, call - texinfo_register_no_arg_command_formatting('equiv', undef, undef, undef, - undef, 'is the @strong{same} as'); - - *Note Translated Strings Customization:: for customization of -translated strings. - - -File: texi2any_api.info, Node: Simple Customization for Simple Commands with Braces, Next: Simple Customization of Accent Commands, Prev: Simple Customization for Commands Without Arguments, Up: Simple formatting customization - -4.3 Simple Customization for Simple Commands with Braces -======================================================== - -* Menu: - -* Customization of Commands Converting to Uppercase:: -* Simple Output Customization for Simple Commands with Braces:: - - -File: texi2any_api.info, Node: Customization of Commands Converting to Uppercase, Next: Simple Output Customization for Simple Commands with Braces, Up: Simple Customization for Simple Commands with Braces - -4.3.1 Customization of Commands Converting to Uppercase -------------------------------------------------------- - -Formatting of ‘@sc’ may involve uppercasing the argument. The -specification of @-command argument uppercasing can be changed with -‘texinfo_register_upper_case_command’: - - -- Function: texinfo_register_upper_case_command ($command_name, - $value) - $COMMAND_NAME is the @-command name, without the leading @. $VALUE - sets or unsets uppercasing of argument. - - For example, to prevent ‘@sc’ argument from being uppercased and set -‘@var’ argument to be uppercased: - - texinfo_register_upper_case_command('sc', 0); - texinfo_register_upper_case_command('var', 1); - - -File: texi2any_api.info, Node: Simple Output Customization for Simple Commands with Braces, Prev: Customization of Commands Converting to Uppercase, Up: Simple Customization for Simple Commands with Braces - -4.3.2 Simple Output Customization for Simple Commands with Braces ------------------------------------------------------------------ - -You can change the formatting of the output produced by "indicator" and -font commands (e.g., ‘@code’, ‘@t’), and other simple commands with -arguments (e.g., ‘@asis’, ‘@clicksequence’, ‘@sup’, ‘@verb’) with -‘texinfo_register_style_command_formatting’: - - -- Function: texinfo_register_style_command_formatting ($command_name, - $html_element, $in_quotes, $context) - $COMMAND_NAME is the @-command name, without the leading @. - $CONTEXT is ‘normal’ or ‘preformatted’. There is no separate math - context, ‘preformatted’ should be used for math context. *Note - Init File Expansion Contexts::. There is no string context either, - as in string context simple formatting without the need for per - command information should be sufficient. If $CONTEXT is ‘undef’, - the ‘normal’ context is assumed. - - If $HTML_ELEMENT is set, the argument is enclosed between the - $HTML_ELEMENT element opening and the element closing. If - $IN_QUOTES is true, the result is enclosed in quotes associated - with customization variables ‘OPEN_QUOTE_SYMBOL’ and - ‘CLOSE_QUOTE_SYMBOL’ (*note (texinfo)Customization of HTML Code - Inserted::). - - If $HTML_ELEMENT is undefined and $IN_QUOTES is not set, the - formatted argument is output as is. - - For example, to set ‘@sansserif{argument}’ to be formatted as -‘<code>ARGUMENT</code>’ in normal and preformatted context, with quotes -in preformatted context, use: - - texinfo_register_style_command_formatting('sansserif', 'code', 0, - 'normal'); - texinfo_register_style_command_formatting('sansserif', 'code', 1, - 'preformatted'); - - To output the formatted argument of ‘@t’ as is: - foreach my $context ('normal', 'preformatted') { - texinfo_register_style_command_formatting ('t', undef, - undef, $context); - } - - -File: texi2any_api.info, Node: Simple Customization of Accent Commands, Next: Simple Customization of Containers, Prev: Simple Customization for Simple Commands with Braces, Up: Simple formatting customization - -4.4 Simple Customization of Accent Commands -=========================================== - -You can modify the formatting of accent commands such as ‘@'’, -‘@ringaccent’ or ‘@dotless’ by selecting HTML general features, to -output numeric entities or characters (*note (texinfo)HTML Features -Customization::). - - You can also change how accented commands are converted to named -entities. The accent named entities are obtained by combining a letter -to be accented, such as ‘e’ and a postfix based on the accent command -name, for example ‘acute’ for the acute accent ‘@'’. For example, ‘@'e’ -is converted to the ‘é’ named entity in the default case. - - The association of accent @-command and named entity postfix and the -list of letters that can be prepended can be changed with -‘texinfo_register_accent_command_formatting’: - - -- Function: texinfo_register_accent_command_formatting - ($accent_command_name, $entity_postfix, $letters) - $ACCENT_COMMAND_NAME is a Texinfo accent formatting @-command name, - $ENTITY_POSTFIX is a string corresponding to the accent command - that is postpended to the letter accent argument. $LETTERS is a - string listing the letters that can be combined with the - $ENTITY_POSTFIX. If $ENTITY_POSTFIX or $LETTERS is an empty - string, numeric entities are used instead of named entities. - - For example, with the following code, ‘@dotless{i}’ should be -converted to ‘ı’, and ‘@dotless{j}’ to ‘&jnodot;’. Other letters -than ‘i’ and ‘j’ in argument of ‘@dotless’ should not be combined into a -named entity with that example. - texinfo_register_accent_command_formatting('dotless', 'nodot', 'ij'); - - -File: texi2any_api.info, Node: Simple Customization of Containers, Prev: Simple Customization of Accent Commands, Up: Simple formatting customization - -4.5 Simple Customization of Containers -====================================== - -Texinfo tree elements that are not text container nor directly -associated with an @-command can have information set on their -formatting. The first piece of information is whether their contents -should be considered in code context (*note Init File Expansion -Contexts::). The other piece of information is the type of preformatted -environment they are, analogous with the @-command names of ‘@example’ -or ‘@display’(1). - - The function used is ‘texinfo_register_type_format_info’: - - -- Function: texinfo_register_type_format_info ($type, $code_type, - $pre_class_type) - $TYPE is the type of the container. If $CODE_TYPE is set, the - container contents are assumed to be in code context. *Note Init - File Expansion Contexts::. If $PRE_CLASS_TYPE is set, the HTML - ‘<pre>’ elements class attribute are based on $PRE_CLASS_TYPE, if - there are such HTML elements output for preformatted content of - $TYPE containers. - - For example, to set content appearing in-between node links in -‘@menu’, which is in the ‘menu_comment’ container type to be formatted -in a code context, with preformatted type ‘menu-between’, use: - - texinfo_register_type_format_info('menu_comment', 1, 'menu-between'); - - *Note (texi2any_internals)Texinfo::Parser Types of container -elements::, for a description of container types. - - ---------- Footnotes ---------- - - (1) Note that setting the type of preformatted environment does not -make sure that there are preformatted containers used for the formatting -of their contents instead of paragraph containers, since this is -determined in the very first step of parsing the Texinfo code, which -cannot be customized. - - -File: texi2any_api.info, Node: Simple headers customizations, Next: User Defined Functions, Prev: Simple formatting customization, Up: Top - -5 Simple headers customizations -******************************* - -Headers and footers with a navigation panel are output in the default -case. You can already customize the overall formatting and appearance -of headers and navigation panels with customization variables (*note -(texinfo)Customization of Navigation and Headers::). - - You can specify more precisely the labels and links output in -navigation panels with simple code. To explain how navigation panels -are customized, we first describe how the document is organized and -which directions are available as the directions is the basis for -navigation panel customization. - -* Menu: - -* Output Units:: -* Directions:: -* Direction Strings Customization:: -* Simple Navigation Panel Customization:: - - -File: texi2any_api.info, Node: Output Units, Next: Directions, Up: Simple headers customizations - -5.1 Output Units -================ - -We will call the main unit of output documents a document output “unit”. -An output unit's association with output files is determined by the -split options (*note (texinfo)Splitting Output::). This section -describes precisely how these output units work, with details for -customization. - - The output units are: - -_Normal output units_ - These are composed of normal sections and nodes. Usually a node is - associated with a following sectioning command, while a sectioning - command is associated with a previous node; they both together make - up the output unit. Either the node or the sectioning command is - considered to be the main element component, depending on the - values of the customization variables ‘USE_NODES’ (*note - (texinfo)HTML Output Structure Customization::). - - For example, when generating Info, the nodes are the main elements; - when generating HTML, either case may happen (*note (texinfo)Two - Paths::). - -_Top output unit_ - - The top output unit is the highest output unit in the document - structure. If the document has an ‘@top’ section (*note - (texinfo)@top Command::), it is the output unit associated with - that section; otherwise, it is the output unit associated with the - document's ‘@node Top’ (*note (texinfo)The Top Node::). If there - is no ‘@node Top’, the first output unit in the document is the top - output unit. The Top output unit is also a normal output unit. - -_Miscellaneous output units_ - The remaining output units are associated with different files if - the document is split, and also if ‘MONOLITHIC’ is not set (*note - texinfo: ()HTML Output Structure Customization.). There are four - such miscellaneous output units, also called special output units: - 1. Table of contents - 2. Short table of contents, also called Overview - 3. Footnotes page - 4. About page - - More details: - - • The _Table of contents_ should only be formatted if - ‘@contents’ is present in the document. - - • Similarly the _Short table of contents_ should only appear if - ‘@shortcontents’ or ‘@summarycontents’ is present. - - • The customization variables ‘contents’ and ‘shortcontents’ may - be set to trigger the output of the respective output units. - - • If ‘CONTENTS_OUTPUT_LOCATION’ is set to ‘separate_element’, - the _Table of contents_ and _Short table of contents_ output - units are separate (*note Contents and Short Table of Contents - Customization::). Otherwise the _Table of contents_ and - _Short table of contents_ are directly included within the - document, at locations depending on the specific - ‘CONTENTS_OUTPUT_LOCATION’ value (*note texinfo: ()HTML Output - Structure Customization. - - • When generating HTML, the _Footnotes page_ should only be - present if the footnotes appear on a separate page (*note - (texinfo)Footnote Styles::). However, a footnote output unit - is present if the document is not split. - - • The _About page_ shouldn't be present for documents consisting - of only one sectioning element, or for monolithic documents - without navigation information, or if ‘DO_ABOUT’ is not set. - - It is common not to have anything but normal output units, especially -in case of monolithic output. - - A last type of output units exist, "virtual" output units -corresponding to directions to external manual nodes. They are not part -of the output, but can be used in directions. They are often referred -to as “external node units” or “external manual units”. These units do -not exist in the document output, therefore there are no functions -called to format those output units. They can appear in directions -formatting (*note Navigation Panel Button Formatting::). - - -File: texi2any_api.info, Node: Directions, Next: Direction Strings Customization, Prev: Output Units, Up: Simple headers customizations - -5.2 Directions -============== - -A variety of data items, called “output units directions”, are -associated with output units. They may be used in the formatting -functions, and/or associated with a button (*note Simple Navigation -Panel Customization::). - - Each output unit direction has a name and a reference to the unit -they point to, when such an unit exists. The unit is either a global -unit (for example, the Top output unit) or relative to the current -output unit (for example, the next output unit). Such relative output -units are determined with respect to the document structure defined by -the section structuring commands (‘@chapter’, ‘@unnumbered’...) or by -the nodes if the node pointers are specified on ‘@node’ lines or in -menus (*note (texinfo)Two Paths::). - - Here is the list of global output units directions: - -_‘ ’_ - An empty button. - -_Top_ - Top output unit. - -_First_ - First output unit in reading order. - -_Last_ - Last output unit in reading order. - -_About_ - About (help) page. - -_Contents_ - Table of contents. - -_Overview_ - Overview: short table of contents. - -_Footnotes_ - Corresponds to the ‘Footnotes’ output unit (*note Output Units::). - -_Index_ - The first output unit with ‘@printindex’. - - Here is the list of relative output units directions: - -_This_ - The current output unit. - -_Forward_ - Next output unit in reading order. - -_Back_ - Previous output unit in reading order. - -_FastForward_ - Next chapter output unit. - -_FastBack_ - Beginning of this chapter, or previous chapter if the output unit - corresponds to a chapter. - -_Next_ - Next section output unit at the same level. - -_Prev_ - Previous section output unit at the same level. - -_Up_ - Up section. - -_NodeNext_ - Next node output unit. - -_NodeForward_ - Next node output unit in node reading order. - -_NodeBack_ - Previous node output unit in node reading order. - -_NodePrev_ - Previous node output unit. - -_NodeUp_ - Up node output unit. - - Relative direction are each associated with a variant, with -‘FirstInFile’ prepended, which points to the direction relative to the -first output unit in file. For example, ‘FirstInFileNodeNext’ is the -next node output unit relative to the first output unit in file. The -‘FirstInFile’ directions are usually used in footers. - -* Menu: - -* Output Unit Direction Information Type:: -* Direction Strings:: - - -File: texi2any_api.info, Node: Output Unit Direction Information Type, Next: Direction Strings, Up: Directions - -5.2.1 Output Unit Direction Information Type --------------------------------------------- - -The output unit directions also have types of information associated, -which are in general set dynamically depending on the current output -unit, for instance on the output unit whose navigation panel is being -formatted: - -‘href’ - A string that can be used as an href attribute linking to the - output unit corresponding to the direction. - -‘string’ - A string representing the direction that can be used in context - where only entities are available (attributes). *Note Init File - Expansion Contexts::. - -‘text’ - A string representing the direction to be used in contexts with - HTML elements (preformatted and normal contexts). *Note Init File - Expansion Contexts::. - -‘node’ - Same as ‘text’, but selecting the node associated with the output - unit direction in priority. - -‘section’ - Same as ‘text’, but selecting the sectioning command associated - with the output unit direction in priority. - - ‘text’ and ‘string’ also have a variant with ‘_nonumber’ prepended, -such as ‘text_nonumber’ without sectioning command number in the -representation. - - -File: texi2any_api.info, Node: Direction Strings, Prev: Output Unit Direction Information Type, Up: Directions - -5.2.2 Direction Strings ------------------------ - -Directions have strings associated, corresponding to their names, -description or specific HTML keywords: - -‘accesskey’ - Direction ‘accesskey’ attribute used in navigation. - -‘button’ - Direction short name typically used for buttons. - -‘description’ - Description of the direction. - -‘example’ - Section number corresponding to the example used in the About - special element text. - -‘rel’ - Direction ‘rel’ attribute used in navigation. - -‘text’ - Direction text in a few words. - - ‘button’, ‘description’ and ‘text’ are translated based on the -document language. - - The ‘FirstInFile’ direction variants are associated with the same -strings as the direction they are prepended to (*note FirstInFile -direction variant::). For example ‘FirstInFileNodeNext’ is associated -with the same strings as ‘NodeNext’. - - -File: texi2any_api.info, Node: Direction Strings Customization, Next: Simple Navigation Panel Customization, Prev: Directions, Up: Simple headers customizations - -5.3 Direction Strings Customization -=================================== - -The direction strings are used in the default case in navigation panel -formatting, therefore replacing their values is a way to customize -headers. They are also used in the About special unit formatting (*note -About Special Output Unit Customization::). The direction strings can -be customized with ‘texinfo_register_direction_string_info’: - - -- Function: texinfo_register_direction_string_info ($direction, $type, - $converted_string, $string_to_convert, $context) - $DIRECTION is a direction (*note Directions::), $TYPE is the type - of string (*note Direction Strings::). The other arguments are - optional. $CONTEXT is ‘normal’ or ‘string’. *Note Init File - Expansion Contexts::. If $context is ‘undef’, the ‘normal’ context - is assumed. - - $CONVERTED_STRING is the string, already converted to HTML that is - used for the specified context. If the ‘normal’ context - $CONVERTED_STRING only is specified, the same string will be used - for the ‘string’ context. - - Alternatively, $STRING_TO_CONVERT can be specified to set the - string to the corresponding Texinfo code after translation and - conversion to HTML. In that case, the context is ignored, as it - will be set at the time of the conversion. - - $STRING_TO_CONVERT is ignored for special strings that do not need - to be translated and cannot contain Texinfo @-commands - (‘accesskey’, ‘rel’ and ‘example’). $STRING_TO_CONVERT is also - ignored if $CONVERTED_STRING is set for any context. - - For example, to set the ‘Up’ ‘button’ to be translated as ‘Higher’, -use: - texinfo_register_direction_string_info('Up', 'button', undef, 'Higher'); - - -File: texi2any_api.info, Node: Simple Navigation Panel Customization, Prev: Direction Strings Customization, Up: Simple headers customizations - -5.4 Simple Navigation Panel Customization -========================================= - -The “navigation panel” is the line of links (and labels) that typically -appears at the top of each node, so that users can easily get to the -next node, the table of contents, and so on. It can be customized -extensively. - - You can set the ‘ICONS’ customization variable to use icons for the -navigation panel. Setting ‘ICONS’ is necessary but not sufficient to -get icons for direction buttons since no button image is specified in -the default case. The ‘ACTIVE_ICONS’ and ‘PASSIVE_ICONS’ customization -variables need to be set in addition: - -‘ACTIVE_ICONS’ -‘PASSIVE_ICONS’ - Hash references with output unit directions as key (*note - Directions::) and button image icons as values. ‘ACTIVE_ICONS’ is - used for directions actually linking to an output unit, and - ‘PASSIVE_ICONS’ are used if there is no output unit to link to. - The button images are interpreted as URLs. - - Several arrays and hashes enable even more precise control over the -navigation panel buttons and their display. They can be set as -customization variables with ‘texinfo_set_from_init_file’. *Note -Setting Main Program String Variables::. - - The following customization variables arrays determine the buttons -present in the various navigation panels: - -‘SECTION_BUTTONS’ - Specifies the navigation panel buttons present at the beginning of - sectioning elements in the case of section navigation being enabled - or if split at nodes. Specifies the navigation panel buttons - present at the page header if split at section and there is no - section navigation. - -‘SECTION_FOOTER_BUTTONS’ -‘CHAPTER_FOOTER_BUTTONS’ -‘NODE_FOOTER_BUTTONS’ - These arrays specify the navigation panel buttons present in the - page footer when the output is split at sections, chapters or - nodes, respectively. - -‘CHAPTER_BUTTONS’ - Specifies the buttons appearing at the page header if split at - chapters and there is no section navigation. - -‘MISC_BUTTONS’ - Specifies the buttons appearing at the beginning of special output - units and, if the output is split, at the end of such units. - -‘LINKS_BUTTONS’ - Used for ‘<link>’ elements if they are output in the HTML ‘<head>’. - -‘TOP_BUTTONS’ -‘TOP_FOOTER_BUTTONS’ - Specifies the buttons used in the top output unit (*note Output - Units::). ‘TOP_BUTTONS’ buttons are used for the header and - ‘TOP_FOOTER_BUTTONS’ are used for the footer. - - Each array specifies which buttons are included, and how they are -displayed. Each array item is associated with a button of the -navigation panel from left to right. The meaning of the array item -values is the following: - -_string with an output unit direction_ - If icons are not used, the button is a link to the corresponding - output unit whose text is the ‘text’ direction string (*note - Direction Strings::), surrounded by ‘[’ and ‘]’. If the direction - is ‘ ’, the ‘[’ and ‘]’ are omitted. - - If icons are used, the button is an image whose file is determined - by the value associated with the output unit direction in the - ‘ACTIVE_ICONS’ variable hash if the link leads to an output unit, - or in the ‘PASSIVE_ICONS’ variable hash if there is no output unit - to link to. If there is a link to the output unit, the icon links - to that output unit. The button name and button description are - given as HTML attributes to have a textual description of the icon. - The corresponding strings correspond to the ‘button’ direction - string for the button name and the ‘description’ for a more - detailed description (*note Direction Strings::). - -_function reference_ - The functions is called with one arguments, the converter object. - The function should return two scalars, the button text and a - boolean set if a delimiter is desired before the button. - -_scalar reference_ - The scalar value is printed. - -_array reference of length 2_ - Here, the first array item should be a an output unit direction. - The text of the link depends on the second array item. - - _reference to a text string_ - A link to the output unit associated with the output unit - direction is generated with the corresponding text used for - the text link. - - _reference to a function_ - The functions is called with three arguments, the converter - object, the output unit direction and the source Texinfo tree - element (possibly undef). The function should return two - scalars, the button text and a boolean set if a delimiter is - desired before the button. - - No delimiter is printed before the first button. Leading space -buttons mixed with directions not found may be omitted of the navigation -panel output. - - If the customization variable ‘USE_ACCESSKEY’ is set, the ‘accesskey’ -attribute is used in navigation. The ‘accesskey’ direction string is -then used for the ‘accesskey’ attributes (*note Direction Strings::). - - Similarly, if the ‘USE_REL_REV’ customization variable is set, the -‘rel’ attribute is used in navigation. In that case the ‘rel’ direction -string is used for the ‘rel’ attribute (*note Direction Strings::). - - -File: texi2any_api.info, Node: User Defined Functions, Next: User Defined Functions Common Tasks, Prev: Simple headers customizations, Up: Top - -6 User Defined Functions -************************ - -Getting beyond the customization described previously requires writing -some functions and registering those functions such that they are called -for the conversion. This allows dynamic redefinition of functions used -to produce output. - -* Menu: - -* User Defined Functions are Registered:: -* Converter Object and Conversion Functions:: - - -File: texi2any_api.info, Node: User Defined Functions are Registered, Next: Converter Object and Conversion Functions, Up: User Defined Functions - -6.1 User Defined Functions are Registered -========================================= - -User defined functions are always passed as a code reference to a -registering function, together with a string describing what the -function formats. In the following made up example, -‘my_formatting_function’ is passed as a function reference -‘\&my_formatting_function’ to the fictitious registering function -‘texinfo_register_some_formatting’, with the string specifying the -formatting done by the function being ‘format_thing’: - - sub my_formatting_function { - my $arg1 = shift; - my $arg2 = shift; - # prepare $formatted_text - ... - return $formatted_text; - } - - texinfo_register_some_formatting ('format_thing', \&my_formatting_function); - - As such functions are defined by a reference name associated with a -string we will always use the string in function prototypes. For the -function arguments we will use ‘\@array’ to indicate a reference to an -array (a.k.a. list, in Perl terminology), ‘\%hash’ for a reference to a -hash and ‘\&function’ for a reference on a function. - - To illustrate these conventions, here is the prototype for the -function associated with ‘format_thing’: - - -- Function Reference: $TEXT format_thing ($ARG1, \@ARG2) - A function reference associated with ‘format_thing’ has a first - argument $ARG1, a second argument a reference to an array \@ARG2, - and returns the formatted text $TEXT. - - -File: texi2any_api.info, Node: Converter Object and Conversion Functions, Prev: User Defined Functions are Registered, Up: User Defined Functions - -6.2 Converter Object and Conversion Functions -============================================= - -The first argument of most, if not all user defined function is a -converter object. This object gives access to methods to get -information on the conversion context and to methods useful for the -conversion, both as an HTML converter and as a generic -‘Texinfo::Convert::Converter’ (*note -(texi2any_internals)Texinfo::Convert::Converter Helper methods::). The -converter can be used for error reporting by using -‘Texinfo::Convert::Converter’ methods. *Note Error Reporting in User -Defined Functions:: on error reporting. The converter can also be used -for in-document strings translation. *Note Translations in Output and -Customization:: on translated strings in output. - - -File: texi2any_api.info, Node: User Defined Functions Common Tasks, Next: Customizing Output-Related Names, Prev: User Defined Functions, Up: Top - -7 Error Reporting, Customization and Paths Manipulation with Converter -********************************************************************** - -Some tasks common to all the user-defined functions related to error -reporting, customization variables handling and paths and URL -manipulation are described in this chapter. - -* Menu: - -* Error Reporting in User Defined Functions:: -* Conversion Customization Variables:: -* Encoding and Decoding File Path Strings:: -* Protection of URLs:: - - -File: texi2any_api.info, Node: Error Reporting in User Defined Functions, Next: Conversion Customization Variables, Up: User Defined Functions Common Tasks - -7.1 Error Reporting in User Defined Functions -============================================= - -To report an error or a warning in a user defined function, use the -methods of ‘Texinfo::Convert::Converter’ through a converter object -(*note Converter Object and Conversion Functions::). - - To report a warning or an error not specific of an element -conversion, use ‘converter_document_warn’ or ‘converter_document_error’: - - -- Function: $CONVERTER->converter_document_error ($text, - $continuation) - -- Function: $CONVERTER->converter_document_warn ($text, $continuation) - Register a document-wide error or warning. $TEXT is the error or - warning message. - - The optional $CONTINUATION argument, if set, conveys that the - message is a continuation of the previous registered message. - - To report a warning or an error in element conversion, use -‘converter_line_warn’ or ‘converter_line_error’ - -- Function: $CONVERTER->converter_line_error ($text, \%location_info, - $continuation) - -- Function: $CONVERTER->converter_line_warn ($text, \%location_info, - $continuation) - Register a warning or an error. $TEXT is the text of the error or - warning. The \%LOCATION_INFO holds the information on the error or - warning location. The \%LOCATION_INFO reference on hash may be - obtained from Texinfo elements ‘source_info’ keys. - - The optional $CONTINUATION argument, if set, conveys that the - message is a continuation of the previous registered message. - - Note that registering an error does not stop the processing of the -Texinfo tree. - - *Note (texi2any_internals)Texinfo::Convert::Converter Registering -error and warning messages:: for the converter module documentation on -errors and warning messages registration. - - -File: texi2any_api.info, Node: Conversion Customization Variables, Next: Encoding and Decoding File Path Strings, Prev: Error Reporting in User Defined Functions, Up: User Defined Functions Common Tasks - -7.2 Setting and Getting Conversion Customization Variables -========================================================== - -The customization variables values set during the conversion process may -be different from the main program customization variables. The general -rule is that variables set in the main program, in particular from init -files, are passed to the converter. Some variables, however, only -appear in the converter. Some variables are also set in the converter -based on the main program customization variables. Finally, some -variables should be set or reset during conversion, in particular when -converting the tree representing the Texinfo document, when expanding -the tree element corresponding to @-commands associated with -customization variables (*note (texinfo)Customization Variables for -@-Commands::). - - The functions described here should be used in user defined -functions, but should not be used out of functions. Conversely, the -similar functions used to set customization variables from init files -without a converter should not be used in functions, but should be used -out of functions in init files (*note Managing Customization -Variables::). - - To get the value of a variable in a converter ‘$converter’, the -function is ‘get_conf’: - - -- Function: $RESULT = $CONVERTER->get_conf ($VARIABLE_NAME) - $VARIABLE_NAME is the name of the variable; its value in the - converter $CONVERTER (possibly ‘undef’) is returned. - - For example: - - my $footnotestyle = $converter->get_conf('footnotestyle'); - - To set a variable in a converter ‘$converter’, the function is -‘set_conf’: - - -- Function: $CONVERTER->set_conf ($variable_name, $variable_value) - $VARIABLE_NAME is the name of the variable; its value in the - converter $CONVERTER is set to $VARIABLE_VALUE. The $VARIABLE_NAME - value will not be overidden if it was set from the command line or - from an init file. - - For example: - - $converter->set_conf('footnotestyle', 'separate'); - - Some customization variables, in particular those associated with -@-commands, can be reset to the value they had before starting the -conversion. For example, they are reset in order to obtain their value -before the conversion. Thet are also reset to the value they had before -starting the conversion when their value at the end of the preambule or -at the end of the document is needed, but there are no @-commands at -those locations in the Texinfo manual. If a value set by ‘set_conf’ is -intended to be found when the customization variable value is reset, -‘set_conf’ should be called early. For example, when called from a -user-defined function called at different stage, it should be called in -the ‘setup’ stage (*note Init File Calling at Different Stages::). - - The values set in converter with ‘set_conf’ will not override -command-line set customization variables, nor variables set early in -init files. This is the expected behaviour, in particular when the -values are set from the document. In the rare cases when overriding the -customization would be needed, the ‘force_conf’ function can be used: - - -- Function: $CONVERTER->force_conf ($variable_name, $variable_value) - $VARIABLE_NAME is the name of the variable; its value in the - converter $CONVERTER is set to $VARIABLE_VALUE, overriding any - previous value. - - -File: texi2any_api.info, Node: Encoding and Decoding File Path Strings, Next: Protection of URLs, Prev: Conversion Customization Variables, Up: User Defined Functions Common Tasks - -7.3 Encoding and Decoding File Path Strings -=========================================== - -* Menu: - -* Encoding File Path Strings:: -* Decoding File Path Strings:: - - -File: texi2any_api.info, Node: Encoding File Path Strings, Next: Decoding File Path Strings, Up: Encoding and Decoding File Path Strings - -7.3.1 Encoding File Path Strings --------------------------------- - -In general, the strings in the customization functions are character -strings. For most purposes, this is right, and the encoding in output -files is taken care of by the converter. Operations on directories and -file names, however, such as the creation of a directory or the opening -of a file require binary strings. - - To encode file names consistently with file name encoding used in the -conversion to HTML, there is a function ‘encoded_output_file_name’: - - -- Function: ($ENCODED_NAME, $ENCODING) = - $CONVERTER->encoded_output_file_name ($CHARACTER_STRING_NAME) - Encode $CHARACTER_STRING_NAME in the same way as other file name - are encoded in the converter. Use ‘OUTPUT_FILE_NAME_ENCODING’ - value for the file name encoding if set. Otherwise, if - ‘DOC_ENCODING_FOR_OUTPUT_FILE_NAME’ is set the input Texinfo - document encoding is used, if unset, the default, files names are - encoded using the current locale (*note (texinfo)Global - Customization Variables::). Return the encoded name and the - encoding used to encode the name. - - There is also a similar function for the input file names encoding, -‘encoded_input_file_name’, which uses ‘INPUT_FILE_NAME_ENCODING’ and -‘DOC_ENCODING_FOR_INPUT_FILE_NAME’ and is less likely to be useful. - - When calling external commands, the command line arguments should -also be encoded. To do similarly with other codes, the customization -variable ‘MESSAGE_ENCODING’ should be used. Already encoded file names -may be used. For example - - use Encode qw(encode); - - .... - - my ($encoded_file_path, $encoding) - = $converter->encoded_output_file_name($file_name); - - my $fh = open($encoded_file_path); - - ..... - - my $call_start = "command --set '$action' "; - my $encoding = $converter->get_conf('MESSAGE_ENCODING'); - if (defined($encoding)) { - $encoded_call_start = encode($encoding, $call_start); - } else { - $encoded_call_start = $call_start; - } - my $encoded_call = $encoded_call_start . $encoded_file_path; - my $call = $call_start . $file_name; - if (system($encoded_call)) { - $converter->document_error($converter, - sprintf(__("command did not succeed: %s"), - $call)); - } - - -File: texi2any_api.info, Node: Decoding File Path Strings, Prev: Encoding File Path Strings, Up: Encoding and Decoding File Path Strings - -7.3.2 Decoding File Path Strings --------------------------------- - -The binary strings that could be accessed correspond to the -customization variables strings or arrays ‘INCLUDE_DIRECTORIES’, -‘CSS_FILES’, ‘MACRO_EXPAND’ and ‘INTERNAL_LINKS’. If they need to be -decoded into character strings, for example to appear in error messages, -it is possible to use the ‘COMMAND_LINE_ENCODING’ customization variable -value as encoding name to mimic how the decoding of these strings from -the command line is done in the main program and in the converters. -*Note (texinfo)Global Customization Variables::. - - For example: - my $macro_expand_fname = $converter->get_conf('MACRO_EXPAND'); - my $encoding = $converter->get_conf('COMMAND_LINE_ENCODING'); - if (defined($encoding)) { - $macro_expand_fname = Encode::decode($encoding, $macro_expand_fname); - } - - More information on Perl and encodings in perlunifaq -(https://perldoc.perl.org/perlunifaq). - - -File: texi2any_api.info, Node: Protection of URLs, Prev: Encoding and Decoding File Path Strings, Up: User Defined Functions Common Tasks - -7.4 Protection of URLs -====================== - -URLs need to be "percent-encoded" to protect non-ASCII characters, -spaces and other ASCII characters. Percent-encoding also allows to have -characters be interpreted as part of a path and not as characters with a -special role in URLs. For example, ‘?’ has a special role in URLs as it -starts a query string. To have it considered as part of a file path, -instead of a marker of the beginning of a query, it needs to be percent -encoded. - - Convenience functions are provided for URL protection. To protect a -whole URL, in which characters with a special role in URL are left as -is, use ‘url_protect_url_text’. To protect file path in URL, including -characters with a special role in URLs, use ‘url_protect_file_text’. - - -- Function: $PROTECTED_URL = - $CONVERTER->url_protect_url_text($INPUT_STRING) - Percent-encode $INPUT_STRING, leaving as is all the characters with - a special role in URLs, such as ‘:’, ‘/’, ‘?’, ‘&’, ‘#’ or ‘%’ (and - a few other). HTML reserved characters and form feeds protected - are also protected as entities (*note ‘format_protect_text’: Basic - Formatting Customization.). This is typically used on complete - URLs pointing to diverse internet resources, such as the ‘@url’ URL - argument. - - for example - return $converter->html_attribute_class('a', ['myurl']) - .' href="'.$converter->url_protect_url_text($url)."\">$text</a>"; - - -- Function: $PROTECTED_PATH = - $CONVERTER->url_protect_file_text($INPUT_STRING) - Percent-encode $INPUT_STRING leaving as is character appearing in - file paths only, such as ‘/’, ‘.’, ‘-’ or ‘_’. All the other - characters that can be percent-protected are protected, including - characters with a special role in URLs. For example, ‘?’, ‘&’ and - ‘%’ are percent-protected. HTML reserved characters and form feeds - protected are also protected as entities (*note - ‘format_protect_text’: Basic Formatting Customization.). This is - typically used on file names corresponding to actual files, used in - the path portion of an URL, such as the image file path in - ‘@image’. - - For example - $converter->html_attribute_class('img', [$cmdname]) - . ' src="'.$converter->url_protect_file_text($image_file)."\"); - - -File: texi2any_api.info, Node: Customizing Output-Related Names, Next: Init File Calling at Different Stages, Prev: User Defined Functions Common Tasks, Up: Top - -8 Customizing Output-Related Names -********************************** - -It is possible to control both output file names and target identifiers -in detail. - - User defined functions customizing file names and targets are -registered with ‘texinfo_register_file_id_setting_function’: - - -- Function: texinfo_register_file_id_setting_function ($customized, - \&handler) - $CUSTOMIZED is a string describing what the function should set. - \&HANDLER should be a reference on the user defined function. The - different functions that can be registered have different arguments - and return values. - - The different possibilities for the customized information are -explained in the next sections. - - For example: - sub my_node_file_name($$$) { - my ($converter, $element, $filename) = @_; - # .... - return $node_file_name - } - - texinfo_register_file_id_setting_function('node_file_name', - \&my_node_file_name); - -* Menu: - -* File: Customizing Output File Names. -* Target: Customizing Output Target Names. -* External Node: Customizing External Node Output Names. -* Special Elements: Customizing Special Elements Output Names. - - -File: texi2any_api.info, Node: Customizing Output File Names, Next: Customizing Output Target Names, Up: Customizing Output-Related Names - -8.1 Customizing Output File Names -================================= - -You can specify the output file or directory, intermediate directories -and file extension with customization variables (*note (texinfo)File -Names and Links Customization for HTML::). - - Two function references registered with -‘texinfo_register_file_id_setting_function’ enable further -customization. The first, ‘node_file_name’ is used to customize the -nodes files names. - - -- Function Reference: $NODE_FILE node_file_name ($CONVERTER, - \%NODE_ELEMENT, $FILE_NAME) - $CONVERTER is a converter object. \%NODE_ELEMENT is the Texinfo - tree element corresponding to the ‘@node’. $FILE_NAME is the node - file name that has been already set. The function should return - the node file name ($NODE_FILE). - - The other function reference, ‘unit_file_name’, is used to customize -the file names associated with each normal output unit (*note Output -Units::). - - -- Function Reference: ($FILE, $PATH) unit_file_name ($CONVERTER, - \%OUTPUT_UNIT, $FILE_NAME, $FILE_PATH) - $CONVERTER is a converter object. \%OUTPUT_UNIT is the output - unit. $FILE_NAME is the file name that has been already set. - $FILE_PATH is the file path that has been already set. $FILE_PATH - is ‘undef’ if the file is relative to the output directory, which - is the case if the output is split. The function should return the - file name for the output unit, $FILE, and the file path for the - output unit, $PATH, which should be ‘undef’ if the file path is to - be constructed by putting $FILE in the destination directory. - - In the user defined functions, the information that an output unit is -associated with ‘@top’ or ‘@node Top’ may be determined with: - $converter->unit_is_top_output_unit(\%output_unit); - - The information on tree elements may be interesting for those -functions (*note Texinfo Tree Elements in User Defined Functions::). -The ‘extra’ key ‘associated_section’ of a node element and -‘associated_node’ of a sectioning command element may also be useful. - - The file name associated with a sectioning command is set together -with the target, and is described in the next section. - - -File: texi2any_api.info, Node: Customizing Output Target Names, Next: Customizing External Node Output Names, Prev: Customizing Output File Names, Up: Customizing Output-Related Names - -8.2 Customizing Output Target Names -=================================== - -Similar to file names, so-called target and id names may be set. The -“id” is placed where the item is located, while the “target” is used to -construct references to that item. The id and target are the same. A -function used to set both target and file name is also described here. - - The following function reference is for target items (nodes, anchors, -floats), including for external manuals: - - -- Function Reference: $TARGET label_target_name ($CONVERTER, - $NORMALIZED, \%ELEMENT, $DEFAULT_TARGET) - $CONVERTER is a converter object. $NORMALIZED is the normalized - node name, \%ELEMENT is a reference on a Texinfo tree command label - element whose contents correspond to the node name. - $DEFAULT_TARGET is the target that has been already set. The - function should return the target ($TARGET). - - The element corresponding to the label can be found with -‘label_command’ if the label corresponds to an internal reference (*note -Target Tree Element Link::): - my $element; - $element = $converter->label_command($normalized) - if (defined($normalized)); - - For sectioning commands, in addition to the sectioning command -target, targets for the sectioning command in table of contents and in -short table of contents are needed. The following function reference is -for sectioning command related target and file name: - - -- Function Reference: ($TARGET, $TARGET_CONTENTS, - $TARGET_SHORTCONTENTS, $FILE) sectioning_command_target_name - ($CONVERTER, \%SECTION_ELEMENT, $DEFAULT_TARGET, - $DEFAULT_TARGET_CONTENTS, $DEFAULT_TARGET_SHORTCONTENTS, - $FILE_NAME) - $CONVERTER is a converter object. \%SECTION_ELEMENT is the Texinfo - element corresponding to the sectioning command. - - $DEFAULT_TARGET, $DEFAULT_TARGET_CONTENTS and - $DEFAULT_TARGET_SHORTCONTENTS are the targets that have been - already set for the sectioning element and the sectioning element - in table of contents and in short table of contents. $FILE_NAME is - the file name that has been already set. - - The function should return the $TARGET, $TARGET_CONTENTS and - $TARGET_SHORTCONTENTS sectioning element target and sectioning - element in table of contents and in short table of contents - targets, and the file name for the sectioning element ($FILE). - - -File: texi2any_api.info, Node: Customizing External Node Output Names, Next: Customizing Special Elements Output Names, Prev: Customizing Output Target Names, Up: Customizing Output-Related Names - -8.3 Customizing External Node Output Names -========================================== - -In the default case references to external nodes are set as described in -the Texinfo manual (*note (texinfo)HTML Xref::). You can specify -external node manuals URLs in cross-references customization files -(*note (texinfo)HTML Xref Configuration::). You can also set a base -directory, the Top node file target, the extension and other overall -references to external nodes formatting with customization variables -(*note (texinfo)File Names and Links Customization for HTML::). - - If the external reference is not already ignored because of -‘IGNORE_REF_TO_TOP_NODE_UP’, two function references give full control -over the external node target output names, with -‘external_target_split_name’ if the external target is considered to be -split, and ‘external_target_non_split_name’ if the external target is -non split. - - -- Function Reference: ($TARGET, $HOST_DIRECTORY, $FILE_NAME) - external_target_split_name($CONVERTER, $NORMALIZED, \%ELEMENT, - $DEFAULT_TARGET, $DEFAULT_HOST_DIRECTORY, $DEFAULT_FILE_NAME) - $CONVERTER is a converter object. $NORMALIZED is the normalized - node name, \%ELEMENT is a reference on an element containing - information on the external node. - - $DEFAULT_TARGET, $DEFAULT_HOST_DIRECTORY and $DEFAULT_FILE_NAME are - the target, host and directory URL part and file name URL part that - have been already set. - - The function should return the $TARGET, $HOST_DIRECTORY and - $FILE_NAME URL parts. - - -- Function Reference: ($TARGET, $HOST_DIRECTORY_FILE) - external_target_non_split_name($CONVERTER, $NORMALIZED, - \%ELEMENT, $DEFAULT_TARGET, $DEFAULT_HOST_DIRECTORY_FILE) - $CONVERTER is a converter object. $NORMALIZED is the normalized - node name, \%ELEMENT is a reference on an element containing - information on the external node. - - $DEFAULT_TARGET is the target and $DEFAULT_HOST_DIRECTORY_FILE is - the host and file name part of the URL that have been already set. - - The function should return the $TARGET and $HOST_DIRECTORY_FILE URL - parts. - - -File: texi2any_api.info, Node: Customizing Special Elements Output Names, Prev: Customizing External Node Output Names, Up: Customizing Output-Related Names - -8.4 Customizing Special Elements Output Names -============================================= - -For special output units file and target (*note Output Units::), the -function reference is: - - -- Function Reference: ($TARGET, $FILE) special_unit_target_file_name - ($CONVERTER, \%OUTPUT_UNIT, $DEFAULT_TARGET, $FILE_NAME) - $CONVERTER is a converter object. \%OUTPUT_UNIT is the special - output unit hash. $DEFAULT_TARGET is the target that has been - already set, and $FILE_NAME is the file name that has been already - set. The function should return the $TARGET and $FILE. - - To determine the variety of the special output unit processed, the -output unit ‘special_unit_variety’ hash key can be used. *Note Table -16.1: Special Units Varieties. - - -File: texi2any_api.info, Node: Init File Calling at Different Stages, Next: Formatting HTML Output, Prev: Customizing Output-Related Names, Up: Top - -9 Init File Calling at Different Stages -*************************************** - -Arbitrary user-defined functions may be called during conversion. This -could be used, for example, to initialize variables and collect some -@-commands text, and doing clean-up after the Texinfo tree conversion. - - There are four stages for user defined functions: -‘setup’ - Called right after completing main program customization - information with converter specific customization information, but - before anything else is done, including collecting the output files - names and registering the customization variables pre-conversion - values. - -‘structure’ - Called after setting and determining information on CSS, output - files and directories, document structure and associated - directions, file names, labels and links for nodes, sectioning - commands, special output units, footnotes and index entries. - -‘init’ - Called after some gathering of global information on the document, - such as titles, copying comment and document description, which - require some conversion of Texinfo, right before the main output - processing. At that point most of the information available from - the converter is set (*note Converter General Information::). - -‘finish’ - Called after output generation is finished. - - The function used to register a user defined functions is -‘texinfo_register_handler’: - - -- Function: texinfo_register_handler ($stage, \&handler, $priority) - $STAGE is one of the stages described just above. \&HANDLER is a - reference on the user defined function. $PRIORITY is an optional - priority class. - - To determine the order of user defined functions calls, the - priority classes are sorted, and within a priority class the order - is the order of calling ‘texinfo_register_handler’. - - The call of the user defined functions is: - - -- Function Reference: $STATUS stage_handler ($CONVERTER, $DOCUMENT, - $STAGE) - $CONVERTER is a converter object. $DOCUMENT is the Texinfo parsed - ‘Texinfo::Document’ document. $STAGE is the current stage. - - If $STATUS is not 0 it means that an error occured. If $STATUS is - positive, the user defined functions should have registered an - error or warning message, for example with ‘document_error’ (*note - Error Reporting in User Defined Functions::). If $STATUS is - negative, the converter will emit a non specific error message. If - the $STATUS is lower than -‘HANDLER_FATAL_ERROR_LEVEL’ or higher - than ‘HANDLER_FATAL_ERROR_LEVEL’, the processing stops immediately. - Default value for ‘HANDLER_FATAL_ERROR_LEVEL’ is 100. - - -File: texi2any_api.info, Node: Formatting HTML Output, Next: Customization and Use of Formatting Functions, Prev: Init File Calling at Different Stages, Up: Top - -10 Formatting HTML Output -************************* - -HTML output formatting in user-defined code should take into account the -conversion context, can access converter information and use converter -functions to convert Perl Texinfo trees. There are also several -conventions and constraints that user defined code should abide to when -formatting HTML, in order to comply with customization option values, -avoid modifying structures that should not be modified, and also to have -information correctly registered in the converter. - - Formatting of HTML output should be used in formatting functions -(*note Customization and Use of Formatting Functions::), tree elements -conversion functions (*note Tree Element Conversion Customization::) and -output units conversion functions (*note Output Units Conversion -Functions::) described later on. Tree elements and output units -conversion functions can also be used to output HTML, how to retrieve -the corresponding function references and call those functions is also -described with the functions customization. - -* Menu: - -* Specific HTML Constructs Formatting Functions:: -* Converter General Information:: -* Getting Conversion Context:: -* Converting Texinfo Trees:: - - -File: texi2any_api.info, Node: Specific HTML Constructs Formatting Functions, Next: Converter General Information, Up: Formatting HTML Output - -10.1 Specific HTML Constructs Formatting Functions -================================================== - -A few specific HTML constructs should be formatted using particular -functions: elements with classes, "void elements" without end tag and -non breaking spaces. - -* Menu: - -* Formatting HTML Element with Classes:: -* Closing Lone HTML Element:: -* Substituting Non Breaking Space:: - - -File: texi2any_api.info, Node: Formatting HTML Element with Classes, Next: Closing Lone HTML Element, Up: Specific HTML Constructs Formatting Functions - -10.1.1 Formatting HTML Element with Classes -------------------------------------------- - -Opening an HTML element with one or more classes should always be done -through ‘html_attribute_class’: - - -- Function: $ELEMENT_OPEN = $CONVERTER->html_attribute_class - ($HTML_ELEMENT, \@CLASSES) - Formats the beginning of an HTML element $HTML_ELEMENT. \@CLASSES - is the list of classes for this element. The element opening - returned does not include the end of element symbol ‘>’ such that - it is possible to add more attributes. - - If the HTML element is ‘span’, an empty string is returned if there - is also no attribute. - - If ‘NO_CSS’ is set, no attribute is set for the element. Otherwise - a ‘class’ attribute is set based on \@CLASSES . If - ‘INLINE_CSS_STYLE’ is set, a CSS style attribute based on CSS - element class rules is also added (*note (texinfo)HTML CSS::). - Otherwise the information that the element class was seen is - registered by the converter. - - Examples of use: - my $open = $converter->html_attribute_class('span', ['math-arg']); - my $arg_result = $open.'>'.$arg.'</span>' - if ($open ne ''); - - my $result = $converter->html_attribute_class('em', [$cmdname, 'jax_p']) - . '>' . $arg_result . '</em>'; - - -File: texi2any_api.info, Node: Closing Lone HTML Element, Next: Substituting Non Breaking Space, Prev: Formatting HTML Element with Classes, Up: Specific HTML Constructs Formatting Functions - -10.1.2 Closing Lone HTML Element --------------------------------- - -HTML elements with an opening element, but no closing element, such as -‘<img>’ or ‘<link>’, also called “void elements” should be closed by -calling ‘close_html_lone_element’: - - -- Function: $HTML_ELEMENT = $CONVERTER->close_html_lone_element - ($UNCLOSED_ELEMENT) - Close the $UNCLOSED_ELEMENT, which can contain attributes, by - prepending ‘>’ or ‘/>’ depending on the ‘USE_XML_SYNTAX’ - customization variable value (*note (texinfo)HTML Features - Customization::). - - Examples of use: - $description = $converter->close_html_lone_element( - "<meta name=\"description\" content=\"$description\""); - - -File: texi2any_api.info, Node: Substituting Non Breaking Space, Prev: Closing Lone HTML Element, Up: Specific HTML Constructs Formatting Functions - -10.1.3 Substituting Non Breaking Space --------------------------------------- - -A non-breaking code should be inserted using the ‘non_breaking_space’ -information, taken from the general information (*note Converter General -Information::), using ‘get_info’: - my $non_breaking_space = $converter->get_info('non_breaking_space'); - my $result = '<tr><td>' .$non_breaking_space. '</tr></td>'; - In that case, there is nothing more to do. - - If a ‘ ’ can directly appear in formatted code, however, the -corresponding text should be in a call to -‘substitute_html_non_breaking_space’, to take into account -‘OUTPUT_CHARACTERS’ and ‘USE_NUMERIC_ENTITY’ customization variables: - - -- Function: $SUBSTITUTED_TEXT = - $CONVERTER->substitute_html_non_breaking_space - ($FORMATTED_TEXT) - Substitute ‘ ’ according to customization variables values. - - *Note (texinfo)HTML Features Customization:: for ‘OUTPUT_CHARACTERS’ -and ‘USE_NUMERIC_ENTITY’ description. - - -File: texi2any_api.info, Node: Converter General Information, Next: Getting Conversion Context, Prev: Specific HTML Constructs Formatting Functions, Up: Formatting HTML Output - -10.2 Converter General Information -================================== - -Some general information is available from the converter. This -information should not change during conversion. - - To determine if an output format such as ‘html’ or ‘tex’ is expanded -(*note (texinfo)Conditional Commands::), use ‘is_format_expanded’: - - -- Function: $IS_FORMAT_EXPANDED = $CONVERTER->is_format_expanded - ($FORMAT) - Return true if format $FORMAT is expanded, according to - command-line and init file information. - - The main method to get information from the converter is ‘get_info’: - - -- Function: $INFO = $CONVERTER->get_info ($ITEM) - Return information on $ITEM. - - The available information is about: -‘copying_comment’ - Text appearing in ‘@copying’ with all the Texinfo commands put into - comments (*note (texinfo)@copying::). - -‘destination_directory’ - Destination directory for the output files. It is common to use - that string in directory or file paths with functions requiring - binary strings. In that case the character string needs to be - encoded. *Note Encoding File Path Strings::. - -‘document’ - The ‘Texinfo::Document’ parsed Texinfo document being converted. - Some information relevant for conversion is available from the - document using function accessors: - - ‘floats_information’ - Information on floats. *Note - Texinfo::Document::floats_information: - (texi2any_internals)Texinfo::Document $float_types = - floats_information($document). - - ‘global_commands_information’ - Global commands information. *Note - Texinfo::Document::global_commands_information: - (texi2any_internals)Texinfo::Document $commands = - global_commands_information($document). - - ‘global_information’ - Diverse information. *Note - Texinfo::Document::global_information: - (texi2any_internals)Texinfo::Document $info = - global_information($document). - - ‘indices_information’ - Information about defined indices, merged indices and index - entries. *Note Texinfo::Document::indices_information: - (texi2any_internals)Texinfo::Document $indices_information = - $document->indices_information(). - - ‘sections_list’ - List of the sectioning commands in the document. - - *Note (texi2any_internals)Texinfo::Document Getting document - information:: on information available from the document. - -‘document_name’ - Base name of the document. It is common to use that string in in - directory or file paths with functions requiring binary strings. - In that case the character string needs to be encoded. *Note - Encoding File Path Strings::. - -‘documentdescription_string’ - ‘@documentdescription’ argument converted in a string context - (*note (texinfo)@documentdescription::). *Note Init File Expansion - Contexts::. - -‘expanded_formats’ - Information on output formats such as ‘html’ or ‘tex’ expansion - (*note (texinfo)Conditional Commands::). An hash reference with - format names as key and a true value as value if the format is - expanded, according to command-line and init file information. - - ‘expanded_formats’ information should be consistent with - ‘is_format_expanded’ call result (*note is_format_expanded::). - -‘jslicenses’ - An hash reference with categories of javascript used in the - document as keys. The corresponding values are also hashes with - file names as keys and with array references as values. The array - references contain information on each of the file licences, with - content - 1. licence name - 2. license URL - 3. file name or source of file - -‘line_break_element’ - HTML line break element, based on ‘<br>’, also taking into account - ‘USE_XML_SYNTAX’ customization variable value. - -‘non_breaking_space’ - Non breaking space, can be ‘ ’, but also a non breaking space - character or the corresponding numeric entity based on - ‘OUTPUT_CHARACTERS’ and ‘USE_NUMERIC_ENTITY’ customization - variables values. *Note Substituting Non Breaking Space::. - -‘paragraph_symbol’ - Paragraph symbol, can be ‘¶’, but also the corresponding - numeric entity or encoded character based on ‘OUTPUT_CHARACTERS’ - and ‘USE_NUMERIC_ENTITY’ customization variables values. *Note - (texinfo)HTML Features Customization::. - -‘title_string’ -‘title_tree’ -‘simpletitle_tree’ -‘simpletitle_command_name’ - Some information is deduced from the title commands: “simpletitle” - reflects ‘@settitle’ vs. ‘@shorttitlepage’, and “title” is - constructed by trying all the title-related commands, including - ‘@top’ and ‘@titlefont’, in the top element. - - ‘title_tree’ is a Texinfo tree corresponding to the title, - ‘title_string’ is the result of the conversion in a string context - (*note Init File Expansion Contexts::). ‘simpletitle_tree’ is a - Texinfo tree corresponding to the simpletitle, and - ‘simpletitle_command_name’ is the @-command name used for the - simpletitle, without the leading @. - -‘title_titlepage’ - The formatted title, possibly based on ‘@titlepage’, or on - ‘simpletitle_tree’ and similar information, depending on - ‘SHOW_TITLE’ and ‘USE_TITLEPAGE_FOR_TITLE’ customization variables - in the default case (*note (texinfo)HTML Output Structure - Customization::). - - *Note Customization of CSS Rules Imports and Selectors:: for an -explanation on getting information on CSS. - - -File: texi2any_api.info, Node: Getting Conversion Context, Next: Converting Texinfo Trees, Prev: Converter General Information, Up: Formatting HTML Output - -10.3 Getting Conversion Context -=============================== - -Some dynamically generated information should be used from the -converter, in particular the expansion context (*note Init File -Expansion Contexts::). - -* Menu: - -* Conversion in String Context:: -* Conversion in Preformatted Context:: -* Other Dynamic Information:: - - -File: texi2any_api.info, Node: Conversion in String Context, Next: Conversion in Preformatted Context, Up: Getting Conversion Context - -10.3.1 Conversion in String Context ------------------------------------ - -Conversion and formatting functions should check if in string context to -avoid using HTML elements in formatting when in string context. *Note -Init File Expansion Contexts::. - - To determine if in string context, the functions is ‘in_string’: - - -- Function: $IN_STRING = $CONVERTER->in_string () - Return true if in string context. - - Example of use: - - if ($converter->in_string()) { - return "$mail_string ($text)"; - } else { - return $converter->html_attribute_class('a', [$cmdname]) - ." href=\"mailto:$mail_string\">$text</a>"; - } - - -File: texi2any_api.info, Node: Conversion in Preformatted Context, Next: Other Dynamic Information, Prev: Conversion in String Context, Up: Getting Conversion Context - -10.3.2 Conversion in Preformatted Context ------------------------------------------ - -Conversion and formatting functions should test if in preformatted -context to convert accordingly. *Note Init File Expansion Contexts::. - - To determine if in preformatted context, the functions is -‘in_preformatted_context’: - - -- Function: $IN_PREFORMATTED = $CONVERTER->in_preformatted_context () - Return true if in preformatted context. - - Another function tells if within a preformatted command: - -- Function: $INSIDE_PREFORMATTED = $CONVERTER->inside_preformatted () - Return true if within a preformatted block command such as - ‘@preformatted’, ‘@format’. - - It is not exactly the same as preformatted context, for instance - menu comments are in preformatted context even if not in a - preformatted block command. - - If in preformatted context, it is possible to get preformatted -@-commands and preformatted types nesting with -‘preformatted_classes_stack’: - - -- Function: \@PREFORMATTED_NESTING = - $CONVERTER->preformatted_classes_stack () - Returns an reference on an array containing the block preformatted - @-commands such as ‘@example’, ‘@display’ or ‘@menu’ names without - the leading @ and the HTML attribute class preformatted container - names, in order of appearance. - - The ‘%Texinfo::Commands::preformatted_code_commands’ hash can be used -to determine if a preformatted command is to be formatted as code (*note -(texi2any_internals)Texinfo::Commands %preformatted_code_commands::). - - my $pre_classes = $converter->preformatted_classes_stack(); - foreach my $pre_class (@$pre_classes) { - if ($Texinfo::Commands::preformatted_code_commands{$pre_class}) { - $result = '<var>' .$result. '</var>'; - last; - } - } - - *Note Simple Customization of Containers:: on customizing containers -preformatted class. - - -File: texi2any_api.info, Node: Other Dynamic Information, Prev: Conversion in Preformatted Context, Up: Getting Conversion Context - -10.3.3 Other Dynamic Information --------------------------------- - -To get the current output unit being converted, use -‘current_output_unit’: - -- Function: $OUTPUT_UNIT = $CONVERTER->current_output_unit () - Return the output unit being converted, or ‘undef’ if there is no - output unit. - - To get the file name of the current output unit being converted, use -‘current_filename’: - -- Function: $FILENAME = $CONVERTER->current_filename () - Return the file name of the current output unit being converted. - - To get the text filling and alignement context, determined by -‘@flushleft’ or ‘@center’, use ‘in_align’: - - -- Function: $ALIGN_CONTEXT = $CONVERTER->in_align () - If the alignment context is the default alignement context, return - ‘undef’. Otherwise, returns the command name of the alignment - context. - - To determine if the conversion is in a context converted multiple -times, use ‘in_multiple_conversions’: - -- Function: $MULTIPLE_CONVERSION = $CONVERTER->in_multiple_conversions - () - Return true if the Texinfo tree being converted is converted - multiple times and the current conversion is not the main - conversion. - - For example, return true if a node name is converted as part of a - direction string formating in a navigation panel, which is not the - main expansion of the ‘@node’. The main ‘@node’ element expansion - occurs where the @-command is located. - - To determine if the a mutiple expansion context is set, use -‘in_multi_expanded’: - -- Function: $MULTI_EXPANDED_CONTEXT_INFORMATION = - $CONVERTER->in_multi_expanded () - Return a string representing the multiple expanded context, or - ‘undef’ if not in a multiple expanded context. - - A multiple expanded context implies to be in multiple conversions. - However, it is possible to be in multiple conversions without being - in a multiple expanded context, as a multiple expanded context - needs to be set explicitly, and is not always needed. - - To get the current paragraph and preformatted number, use -‘paragraph_number’ or ‘preformatted_number’: - - -- Function: $NUMBER = $CONVERTER->paragraph_number () - -- Function: $NUMBER = $CONVERTER->preformatted_number () - Return the current paragraph or preformatted container number in - the current formatting context. - - To get the topmost block @-command being converted, use -‘top_block_command’: - -- Function: $COMMAND_NAME = $CONVERTER->top_block_command () - Return the most recent block @-command seen in the current - formatting context. - - -File: texi2any_api.info, Node: Converting Texinfo Trees, Prev: Getting Conversion Context, Up: Formatting HTML Output - -10.4 Converting Texinfo Trees -============================= - -In some cases, it may be needed to convert a Texinfo tree rooted at any -element. There is no reason to do that often, as the converter already -goes through the tree calling functions to convert the elements, but it -can be interesting in some cases. - - This is, for example, often needed if a translated Texinfo tree is -setup (*note Internationalization of Strings Function::). For example, -here a Texinfo tree is returned by the ‘cdt’ call, based on the -translation of the ‘No value for @strong{{item}}’ string, and converted -to HTML with ‘convert_tree’: - my $tree = $converter->cdt('No value for @strong{{item}}', - {'item' => $text_element}); - my $no_value_converted_output = $converter->convert_tree($tree); - -* Menu: - -* Texinfo Tree Conversion Functions:: -* Setting the Context for Conversion:: -* Conversion to Plain Text:: -* Texinfo Tree Elements in User Defined Functions:: -* Output Units in User Defined Functions:: - - -File: texi2any_api.info, Node: Texinfo Tree Conversion Functions, Next: Setting the Context for Conversion, Up: Converting Texinfo Trees - -10.4.1 Texinfo Tree Conversion Functions ----------------------------------------- - -The ‘convert_tree’ function converts a Texinfo tree rooted at any -element: - - -- Function: $CONVERTED_TEXT = $CONVERTER->convert_tree (\%ELEMENT, - $EXPLANATION) - \%ELEMENT is a Texinfo tree element. $EXPLANATION is optional, it - is a string explaining why the function was called, to help in case - of debugging. The function returns \%ELEMENT converted. - - ‘convert_tree’ is suitable when the conversion is in the flow of the -Texinfo tree conversion. Sometime, it is better to ignore the -formatting context of the main conversion, for example for the -formatting of a caption, or the formatting of footnotes texts. Another -special case is the case of tree elements being converted more than -once, even if in the flow of the Texinfo tree conversion, for example if -there are multiple ‘@insertcopying’ in a document. A last special case -arise, with formatting done in advance or out of the main conversion. -This is the case, in practice, for sectioning commands or node commands -which may be formatted as directions in navigation panels, menus or -indices, may appear more than once in the document and be converted more -than once, if language changes, for example. - - For such cases, the function is ‘convert_tree_new_formatting_context’ -which sets the context appropriately. -‘convert_tree_new_formatting_context’ ultimately calls ‘convert_tree’. - - -- Function: $CONVERTED_TEXT = - $CONVERTER->convert_tree_new_formatting_context (\%ELEMENT, - $CONTEXT, $MULTIPLE_PASS, $GLOBAL_CONTEXT, - $BLOCK_COMMAND_NAME) - \%ELEMENT is a Texinfo tree element. $CONTEXT describes the new - context setup to format out of the main conversion flow. - $MULTIPLE_PASS is an optional string that marks that the conversion - is done more than once. It should be unique and suitable for - inclusion in targets and identifiers. $GLOBAL_CONTEXT is an - optional string that marks that the formatting may be done in - advance, and can be redone. $BLOCK_COMMAND_NAME is an optional - block command name that is used to initialized the new context. It - can be useful, in particular, to propagate the topmost block - command in the new context. - - The function returns \%ELEMENT converted, setting the conversion - context according to the arguments. - - *Note Setting the Context for Conversion:: on how to set a specific -context for a Texinfo tree conversion. - - -File: texi2any_api.info, Node: Setting the Context for Conversion, Next: Conversion to Plain Text, Prev: Texinfo Tree Conversion Functions, Up: Converting Texinfo Trees - -10.4.2 Setting the Context for Conversion ------------------------------------------ - -Special container types are recognized by the converter and can be used -to convert a Texinfo tree in a specific context. Those types cannot -appear in a regular Texinfo tree. In general they should be the type of -tree root elements setup by the user. - - The types are: - -‘_code’ - In this container, the conversion is done in a code context *Note - Init File Expansion Contexts::. For a container tree element. - -‘_converted’ - The text of this text element is considered to be already - formatted. - -‘_string’ - In this container, the conversion is done in a string context. - *Note Init File Expansion Contexts::. For a container tree - element. - - These contexts are typically used together with converter conversion -functions (*note Texinfo Tree Conversion Functions::). For example: - - my @contents = @{$element->{'contents'}}; - push @contents, {'text' => ' <code>HTML</code> text ', - 'type' => '_converted'}; - my $result = $converter->convert_tree({'type' => '_code', - 'contents' => \@contents }); - - -File: texi2any_api.info, Node: Conversion to Plain Text, Next: Texinfo Tree Elements in User Defined Functions, Prev: Setting the Context for Conversion, Up: Converting Texinfo Trees - -10.4.3 Conversion to Plain Text -------------------------------- - -The conversion to plain text can be achieved by using the -‘Texinfo::Text’ converter ‘convert_to_text’ function (*note -(texi2any_internals)Texinfo::Convert::Text::). - - ‘convert_to_text’ requires a conversion options argument to determine -how the conversion to text should be done, specifying, for instance, the -encoding or the formatting context. Such options are available in -‘$converter->{'convert_text_options'}’. - - For example, to convert the Texinfo tree element $ELEMENT to plain -text: - my $plain_text = Texinfo::Convert::Text::convert_to_text($element, - $converter->{'convert_text_options'}); - - Conversion to plain text is often used for strings that are to be -formatted in code context. Code context can be set and reset by using -‘Texinfo::Convert::Text::set_options_code’ and -‘Texinfo::Convert::Text::reset_options_code’: - Texinfo::Convert::Text::set_options_code( - $converter->{'convert_text_options'}); - my $code_string = Texinfo::Convert::Text::convert_to_text($element, - $converter->{'convert_text_options'}); - Texinfo::Convert::Text::reset_options_code( - $converter->{'convert_text_options'}); - - If encoded characters should be used irrespective of the specified -document encoding, a possibility relevant, in general, for file names, -‘Texinfo::Convert::Text::set_options_encoding_if_not_ascii’ should be -called before the conversion and the original options should be reset -afterwards by calling ‘Texinfo::Convert::Text::reset_options_encoding’: - Texinfo::Convert::Text::set_options_code( - $converter->{'convert_text_options'}); - Texinfo::Convert::Text::set_options_encoding_if_not_ascii($converter, - $converter->{'convert_text_options'}); - my $file_name = Texinfo::Convert::Text::convert_to_text($element, - $converter->{'convert_text_options'}); - Texinfo::Convert::Text::reset_options_code( - $converter->{'convert_text_options'}); - Texinfo::Convert::Text::reset_options_encoding( - $converter->{'convert_text_options'}); - - -File: texi2any_api.info, Node: Texinfo Tree Elements in User Defined Functions, Next: Output Units in User Defined Functions, Prev: Conversion to Plain Text, Up: Converting Texinfo Trees - -10.4.4 Texinfo Tree Elements in User Defined Functions ------------------------------------------------------- - -Many user defined functions used for formatting have Texinfo tree -elements as arguments. The user defined code should never modify the -tree elements. It is possible to reuse Texinfo tree elements -information, but with a copy. For example, the following is correct: - - my @contents = @{$element->{'contents'}}; - push @contents, {'text' => ' my added text'}; - my $result = $converter->convert_tree({'cmdname' => 'strong', - 'contents' => \@contents }); - - The following is incorrect: - - push @{$element->{'contents'}}, {'text' => ' my added text'}; - - Nodes and sectioning elements hold information on the document -structure (*note (texi2any_internals)Texinfo::Structuring METHODS::). -For example, the following keys of the ‘extra’ sectioning elements hash -can be interesting in several user-defined formatting and conversion -functions: - -‘section_childs’ - For sectioning commands elements. The children of the sectioning - element in the sectioning tree. - -‘section_level’ - The level of the section, taking into account ‘@raisesections’ and - ‘@lowersections’. Level 0 corresponds to ‘@top’ or ‘@part’ and - level 1 to ‘@chapter’ level sectioning commands. *Note - (texinfo)Raise/lower sections::. - - Detailed information on the tree elements is available in the Texinfo -Parser documentation, in particular a list of types and of information -in the elements ‘extra’ hash (*note (texi2any_internals)Texinfo::Parser -TEXINFO TREE::). - - -File: texi2any_api.info, Node: Output Units in User Defined Functions, Prev: Texinfo Tree Elements in User Defined Functions, Up: Converting Texinfo Trees - -10.4.5 Output Units in User Defined Functions ---------------------------------------------- - -Some information is available only in output units. Finding an output -unit and using the information associated with the output unit hash -reference keys may be needed in user-defined conversion functions. - - Both normal and special output units (*note Output Units::) can be -obtained as output units conversion function arguments (*note Output -Units Conversion Functions::). The current output unit being processed -is also available as ‘$converter->current_output_unit()’ (*note Other -Dynamic Information::). Root command (‘@node’ or sectioning command) -‘associated_unit’ key value points to the associated output unit. -Lastly ‘get_element_root_command_element’ may be used to get the the -output unit associated with an element (*note -get_element_root_command_element::). - - The following keys of output unit hashes can be interesting: - -‘unit_type’ - ‘unit’ for normal output units, ‘special_unit’ for special units - and ‘external_node_unit’ for external nodes virtual units - corresponding to references to external manuals. - -‘unit_command’ - For normal output units, points to the associated ‘@node’ or - sectioning @-command depending on which of nodes or sectioning - commands are the main components of output units. *Note Output - Units::. The corresponding sectioning and ‘@node’ @-command - elements have an ‘associated_unit’ key directly in their hash that - points to the associated output unit. - - For special units, points to a "virtual" tree element with type - ‘special_unit_element’ associated with the special element, that - does not appear in the Texinfo tree but can be used as a target for - directions to the special unit. This element has an - ‘associated_unit’ key that points to the associated output unit. - - for references to external manuals virtual units, points to the - tree element corresponding to the external manual and node label. - -‘unit_contents’ - Array reference on tree elements associated with the output unit. - -‘unit_filename’ - The associated file name. - -‘unit_directions’ - Hash with ‘next’ and ‘prev’ for the next and previous output units - in document order. - -‘special_unit_variety’ - The variety of the special output unit. For special units only. - *Note Table 16.1: Special Units Varieties. - - *note (texi2any_internals)Texinfo::Structuring METHODS:: for more on -document structure information held by output units. - - -File: texi2any_api.info, Node: Customization and Use of Formatting Functions, Next: Tree Element Conversion Customization, Prev: Formatting HTML Output, Up: Top - -11 Customization and Use of Formatting Functions -************************************************ - -Full customization of output is achieved with replacing default -formatting functions with user defined functions. There are two broad -classes of functions, the “conversion” functions used for output units -and elements of the Texinfo tree, and other “formatting” functions with -diverse purposes, including formatting that are not based on tree -elements (for example beginning and end of file formatting). -“Conversion” functions are described in the next chapters. - - This chapter describes how “formatting” functions are registered and -basic formatting functions that can be used in diverse situations. More -specific formatting functions are described later on together with -information on specific output customization. - - Most formatting functions are specific, with specific arguments, and -a specific item formatted. They can be called for HTML formatting and -may also be customized. - - User defined functions associated with the formatting of special -output units body (*note Output Units::) can be considered as formatting -functions, but are registered especially (*note Special Unit Body -Formatting Functions::). - - The formatting functions are often called from functions that can be -replaced by user-defined functions, therefore these functions may not be -called if the replacement functions do not keep a similar operation. - -* Menu: - -* Registering Specific Formating Functions:: -* Basic Formatting Customization:: - - -File: texi2any_api.info, Node: Registering Specific Formating Functions, Next: Basic Formatting Customization, Up: Customization and Use of Formatting Functions - -11.1 Registering Specific Formating Functions -============================================= - -User defined formatting functions are registered with -‘texinfo_register_formatting_function’: - - -- Function: texinfo_register_formatting_function ($formatted, - \&handler) - $FORMATTED is a string describing the formatting function. - \&HANDLER is the user defined function reference. - - To call a formatting function from user defined code, the function -reference should first be retrieved using ‘formatting_function’: - - -- Function: \&FORMATTING_FUNCTION = $CONVERTER->formatting_function - ($FORMATTED) - $FORMATTED is a string describing the formatting function. Returns - the associated formatting function reference. - - It is possible to have access to the default formatting function -reference. The function used is: - - -- Function: \&DEFAULT_FORMATTING_FUNCTION = - $CONVERTER->default_formatting_function ($FORMATTED) - $FORMATTED is a string describing the formatting function. Returns - the default formatting function reference. - - The string that should be used to register or call each of the -formatting functions and the call of the formatting functions are -documented in the following sections of the manual, depending on where -they are relevant. - - -File: texi2any_api.info, Node: Basic Formatting Customization, Prev: Registering Specific Formating Functions, Up: Customization and Use of Formatting Functions - -11.2 Basic Formatting Customization -=================================== - -The following formatting functions references handle basic formatting -and are called from diverse formatting and conversion functions. *Note -Registering Specific Formating Functions:: for information on how to -register and get the functions references. - - All the functions take a converter object as their first argument. - -‘format_comment’ - - -- Function Reference: $TEXT format_comment ($CONVERTER, - $INPUT_TEXT) - Return $INPUT_TEXT in a comment. - - *Note Texinfo::Convert::Converter::xml_comment: - (texi2any_internals)Texinfo::Convert::Converter $comment = - $converter->xml_comment($text). - -‘format_heading_text’ - - -- Function Reference: $TEXT format_heading_text ($CONVERTER, - $COMMAND_NAME, \@CLASSES, $INPUT_TEXT, $LEVEL, $ID, - \%ELEMENT, $TARGET) - Returns a heading formatted using $INPUT_TEXT as heading text, - $LEVEL as heading level, \@CLASSES for a class attribute. - $COMMAND_NAME gives an information on the @-command the - heading is associated with and can be ‘undef’, for instance - for special output units headings. - - $ID is an optional identifier, and \%ELEMENT is an optional - Texinfo tree element associated with the heading. $TARGET is - the id of the element this heading is referring to. - - In the default case, if the $TARGET or $ID are specified, a - copiable anchor will be generated and injected into the - heading. In the case both are specified, $ID is preferred - over $TARGET, as it is closer to the element the user sees the - anchor on. - - This function reference can be called for ‘@node’ and sectioning - commands, heading commands, special output units and title - @-commands. - - A formatted headings is, in the default case, like - ‘<h2>$INPUT_TEXT</h2>’ for a $LEVEL 2 heading. - -‘format_program_string’ - - -- Function Reference: $TEXT format_program_string ($CONVERTER) - This function reference should return the formatted program - string. - -‘format_protect_text’ - -- Function Reference: $TEXT format_protect_text ($CONVERTER, - $INPUT_TEXT) - Return $INPUT_TEXT with HTML reserved characters and form - feeds protected. - - For performance reasons, this function reference may not be - called everywhere text is protected. For those cases, the - calling function should also be redefined to call - ‘&{$converter->formatting_function('format_protect_text')}(...)’ - instead of another function(1). - - *Note Texinfo::Convert::Converter::xml_protect_text: - (texi2any_internals)Texinfo::Convert::Converter $protected_text = - $converter->xml_protect_text($text). -‘format_separate_anchor’ - - This function reference is called if there is not another HTML - element to add an identifier attribute to. - - -- Function Reference: $TEXT format_separate_anchor ($CONVERTER, - $ID, $CLASS) - ID is the identifier. $CLASS is an optional class to be used - in an HTML class attribute. - - Return an anchor with identifier $ID. - - For example, a separate anchor with an id built from a counter could -be obtained with: - $counter++; - my $anchor_id = 'anchor_id_' . $counter; - my $anchor_with_counter - = &{$converter->formatting_function('format_separate_anchor')}( - $converter, $anchor_id, 'myanchor_class'); - - The default function used for separate anchors can be replaced by a -user-defined anchor formatting function using a ‘<p>’ element with: - sub my_format_separate_anchor($$;$) - { - my $converter = shift; - my $id = shift; - my $class = shift; - - return $converter->html_attribute_class('p', [$class])." id=\"$id\"></p>"; - } - - texinfo_register_formatting_function('format_separate_anchor', - \&my_format_separate_anchor); - - ---------- Footnotes ---------- - - (1) The function called is actually the function referenced as -‘$converter->formatting_function('format_protect_text')’ in the default -case, but it is called directly to avoid an indirection - - -File: texi2any_api.info, Node: Tree Element Conversion Customization, Next: Output Units Conversion Functions, Prev: Customization and Use of Formatting Functions, Up: Top - -12 Tree Element Conversion Customization -**************************************** - -Customization of tree elements associated with @-commands is done with -different functions than those used for other tree elements, for -instance containers with a type and tree elements holding text. - - There are two main functions for each element command or type, one -called when the element is first encountered, and the other called after -formatting the contents of the element. The actual conversion is -usually done after formatting the contents of the element, but it may -sometime be necessary to have some code run when the element is first -encountered. - - For @-commands with both a command name and a type, the type is used -as selector for the formating function for ‘def_line’, -‘definfoenclose_command’ and ‘index_entry_command’ types. - -* Menu: - -* Command Tree Element Conversion:: -* Type Tree Element Conversion:: - - -File: texi2any_api.info, Node: Command Tree Element Conversion, Next: Type Tree Element Conversion, Up: Tree Element Conversion Customization - -12.1 Command Tree Element Conversion -==================================== - -All the command elements can have a conversion function and an opening -function that can be registered to be called by the converter. Some -commands also require more specific information and functions for their -formatting. - -* Menu: - -* Command Tree Element Conversion Functions:: -* Command Tree Element Opening Functions:: -* Heading Commands Formatting:: -* Target Tree Element Link:: -* Specific Formatting for Indices:: -* Image Formatting:: - - -File: texi2any_api.info, Node: Command Tree Element Conversion Functions, Next: Command Tree Element Opening Functions, Up: Command Tree Element Conversion - -12.1.1 Command Tree Element Conversion Functions ------------------------------------------------- - -User defined functions called for an @-command element conversion, after -arguments and contents have been formatted, are registered with -‘texinfo_register_command_formatting’: - - -- Function: texinfo_register_command_formatting ($command_name, - \&handler) - $COMMAND_NAME is an @-command name, without the leading @. - \&HANDLER is the user defined function reference. - - The call of the user defined functions is: - -- Function Reference: $TEXT command_conversion ($CONVERTER, - $COMMAND_NAME, \%ELEMENT, \@ARGS, $CONTENT) - $CONVERTER is a converter object. $COMMAND_NAME is the @-command - name without the @. \%ELEMENT is the Texinfo element. - - \@ARGS, if defined, is a reference on the formatted arguments of - the @-command. Each of the array items correspond to each of the - @-command argument. Each array item is either ‘undef’ if the - argument is empty, or a hash reference, with keys corresponding to - possible argument formatting contexts: - - ‘normal’ - Argument formatted in a normal context - - ‘monospace’ - Argument formatted in a context where spaces are kept as is, - as well as quotes and minus characters, for instance in ‘--’ - and ‘``’. Both in preformatted and code context. *Note Init - File Expansion Contexts::. - - ‘monospacestring’ - Same as monospace, but in addition in string context. *Note - Init File Expansion Contexts::. - - ‘monospacetext’ - Same as monospace, but in addition the argument is converted - to plain text. - - ‘filenametext’ - Same as monospacetext, but in addition the document encoding - is used to convert accented letters and special insertion - @-commands to plain text independently of customization - variables. - - ‘raw’ - Text is kept as is, special HTML characters are not protected. - Appears only as ‘@inlineraw’ second argument. - - ‘string’ - In string context. *Note Init File Expansion Contexts::. - - ‘arg_tree’ - The Texinfo tree element corresponding to the argument. *Note - Texinfo Tree Elements in User Defined Functions::. - - ‘url’ - Similar with filenametext. The difference is that UTF-8 - encoding is always used for the conversion of accented and - special insertion @-commands to plain text. This is best for - percent encoding of URLs, which should always be produced from - UTF-8 encoded strings. - - The formatted arguments contexts depend on the @-command, there - could be none, for ‘@footnote’ argument which is not directly - converted where the footnote command is, or multiple, for example - for the fourth argument of ‘@image’ which is both available as - ‘normal’ and ‘string’. *Note Table 12.1: HTML command arguments - formatting, for the converted arguments contexts. @-commands not - specified in the table have their arguments in ‘normal’ context. - - For example, ‘$args->[0]->{'normal'}’ is the first argument - converted in normal context. It should be present for most - @-commands with arguments, but not for all, for example ‘@anchor’ - argument is only available as ‘monospacestring’. - - $CONTENT is the @-command formatted contents. It corresponds to - the contents of block @-commands, and to Texinfo code following - ‘@node’, sectioning commands, ‘@tab’ and ‘@item’ in ‘@enumerate’ - and ‘@itemize’. $CONTENT can be ‘undef’ or the empty string. - - The $TEXT returned is the result of the @-command conversion. - -‘@abbr’ normal normal, - string -‘@acronym’ normal normal, - string -‘@anchor’ monospacestring -‘@email’ url, normal - monospacestring -‘@footnote’ -‘@image’ monospacestring, filenametext filenametext normal, filenametext - filenametext, string - url -‘@inforef’ monospace normal filenametext -‘@inlinefmt’ monospacetext normal -‘@inlinefmtifelse’ monospacetext normal normal -‘@inlineifclear’ monospacetext normal -‘@inlineifset’ monospacetext normal -‘@inlineraw’ monospacetext raw -‘@item’ -‘@itemx’ -‘@link’ monospace normal filenametext -‘@printindex’ -‘@pxref’ monospace normal normal filenametext normal -‘@ref’ monospace normal normal filenametext normal -‘@sp’ -‘@uref’ url, normal normal - monospacestring -‘@url’ url, normal normal - monospacestring -‘@value’ monospacestring -‘@xref’ monospace normal normal filenametext normal - -Table 12.1: HTML command arguments formatting contexts in conversion -function argument - - To call a conversion function from user defined code, the function -reference should first be retrieved using ‘command_conversion’: - - -- Function: \&COMMAND_CONVERSION = $CONVERTER->command_conversion - ($COMMAND_NAME) - $COMMAND_NAME is the @-command name without the @. Returns the - conversion function reference for $COMMAND_NAME, or ‘undef’ if - there is none, which should only be the case for @-commands ignored - in HTML not defined by the user. - - for example, to call the conversion function for the ‘@tab’ -@-command, passing arguments that may correspond to another @-command: - &{$converter->command_conversion('tab')}($converter, $cmdname, - $command, $args, $content); - - It is possible to have access to the default conversion function -reference. The function used is: - - -- Function: \&DEFAULT_COMMAND_CONVERSION = - $CONVERTER->default_command_conversion ($COMMAND_NAME) - $COMMAND_NAME is the @-command name without the @. Returns the - default conversion function reference for $COMMAND_NAME, or ‘undef’ - if there is none, which should only be the case for @-commands - ignored in HTML. - - -File: texi2any_api.info, Node: Command Tree Element Opening Functions, Next: Heading Commands Formatting, Prev: Command Tree Element Conversion Functions, Up: Command Tree Element Conversion - -12.1.2 Command Tree Element Opening Functions ---------------------------------------------- - -User defined functions called when an @-command element is first -encountered are registered with ‘texinfo_register_command_opening’. In -general the possibility to call code at the @-command opening is not -used much, as the HTML formatting is in general done when the content -appearing in the comand is formatted. In the default conversion -functions, this function is used for ‘@quotation’, to register -prependended text to be output with the following inline container, -usually a paragraph. This is described in detail with the inline -containers formatting (*note Inline Text Containers Formatting::). - - -- Function: texinfo_register_command_opening ($command_name, - \&handler) - $COMMAND_NAME is an @-command name, with the leading @. \&HANDLER - is the user defined function reference. - - The call of the user defined functions is: - - -- Function Reference: $TEXT command_open ($CONVERTER, $COMMAND_NAME, - \%ELEMENT) - $CONVERTER is a converter object. $COMMAND_NAME is the @-command - name without the @. \%ELEMENT is the Texinfo element. - - The $TEXT returned is prepended to the formatting of the @-command. - - It is possible to have access to the default opening function -reference. The function used is: - -- Function: \&DEFAULT_COMMAND_OPEN = $CONVERTER->default_command_open - ($COMMAND_NAME) - $COMMAND_NAME is the @-command name without the @. Returns the - default opening function reference for $COMMAND_NAME, or ‘undef’ if - there is none. - - -File: texi2any_api.info, Node: Heading Commands Formatting, Next: Target Tree Element Link, Prev: Command Tree Element Opening Functions, Up: Command Tree Element Conversion - -12.1.3 Heading Commands Formatting ----------------------------------- - -You can change the heading commands formatting by setting customization -variables. In particular, you can change the navigation information -output in headers associated with heading commands by selecting a -different type of navigation (*note (texinfo)HTML Output Structure -Customization::), by changing the links formatting (*note (texinfo)File -Names and Links Customization for HTML::), the navigation panels -formatting (*note (texinfo)Customization of Navigation and Headers::) -and the heading levels (*note (texinfo)Specific Customization of HTML -Formatting::). - - ‘@node’ and sectioning commands default conversion function call -‘format_heading_text’ (*note Basic Formatting Customization::) and -‘format_element_header’ (*note Element Header and Footer Formatting::). -The ‘@node’ and sectioning elements are formatted like any other -elements associated with @-commands. The corresponding function -references can therefore be replaced by user defined functions for a -precise control of conversion (*Note Command Tree Element Conversion -Functions::). - - In the default formatting, when a sectioning command is encountered, -a ‘<div>’ element is opened for the extent of the sectioning command -including its children sectioning commands. This extent need to be -closed at different places, for instance when another sectioning command -is reached, at the end of a file, or at the end of the document. - - The user defined formatting function should take care of registering -and closing opened section levels. In the default code, registering is -done in the sectioning commands conversion function only. - - The function for registering opened section extent is -‘register_opened_section_level’: - - -- Function: $CONVERTER->register_opened_section_level ($filename, - $level, $closing_text) - $FILENAME is the filename the section belongs to. You could use - ‘$converter->current_filename()’ for $FILENAME. $LEVEL is the - sectioning command level. It is typically obtained with - ‘section->{'extra'}->{'section_level'}’ (*note Texinfo Tree - Elements in User Defined Functions::). $CLOSING_TEXT is the text - that should be output when the section level $LEVEL is closed. - - The function for closing registered section extents is -‘close_registered_sections_level’: - - -- Function: \@CLOSING_TEXTS = - $CONVERTER->close_registered_sections_level ($FILENAME, - $LEVEL) - $FILENAME is the filename the closed sections belong to. You could - use ‘$converter->current_filename()’ for $FILENAME. $LEVEL is the - sectioning command level. Opened section are closed down to - section level $LEVEL. The closing texts are returned in the - \@CLOSING_TEXTS array reference in order. - - Example of use: - my $level = $opening_section->{'extra'}->{'section_level'}; - my $closed_strings - = $converter->close_registered_sections_level( - $converter->current_filename(), $level); - $result .= join('', @{$closed_strings}); - - # .... - - $converter->register_opened_section_level( - $converter->current_filename(), $level, "</div>\n"); - - -File: texi2any_api.info, Node: Target Tree Element Link, Next: Specific Formatting for Indices, Prev: Heading Commands Formatting, Up: Command Tree Element Conversion - -12.1.4 Target Tree Element Link -------------------------------- - -User-defined code in functions replacing default conversion functions -for ‘@xref’ and similar @-commands output, ‘@menu’, ‘@node’, sectioning -commands, ‘@printindex’ and ‘@listoffloats’ formatting requires links, -labels and files information, mainly to output hyperlinks to “target -commands”. - - Target @-commands are @-commands that are associated with an -identifier and can be linked to. They corresponds first to @-commands -with unique identifier used as labels, ‘@node’, ‘@anchor’ and ‘@float’. -Sectioning commands, index entries, footnotes are also associated with -targets. The "virtual" elements associated with special output units -are also associated with targets leading to each special unit (*note -Output Units in User Defined Functions::). - - To get the unique Texinfo tree element corresponding to a label, use -‘label_command’: - - -- Function: \%ELEMENT = $CONVERTER->label_command ($LABEL) - Return the element in the tree that $LABEL refers to. - - For example: - my $node_element = $converter->label_command('Some-node_003f'); - - Labels are available for target @-commands and for @-command -referring to target elements such as ‘@xref’ or ‘@menu’ entry node -argument as the extra ‘normalized’ element key. - - For example, the first ‘@xref’ argument ‘normalized’ element key may -be used to get the node or anchor element it points to: - my $arg_node = $xref_tree_element->{'args'}->[0]; - if ($arg_node and $arg_node->{'extra'} - and defined($arg_node->{'extra'}->{'normalized'})) { - my $target_node - = $converter->label_command($arg_node->{'extra'}->{'normalized'}); - } - - Tree elements not associated with a label are obtained each -differently. For example, elements associated with index entries can be -obtained using the Texinfo parsed document index entries with -‘$converter->get_info('document')->indices_information()’ (*note -Converter General Information::), or through sorted indices information -(*note Specific Formatting for Indices::). Footnote elements can be -obtained through the ‘@footnote’ conversion function, and can also be -passed to footnote formatting functions (*note Customizing Footnotes::). -Floats elements in ‘@listoffloats’ can be obtained from -‘$converter->get_info('document')->floats_information()’ (*note -Converter General Information::). - - To get the identifier, file name and href of tree elements that may -be used as link target, use ‘command_id’, ‘command_filename’ and -‘command_href’: - - -- Function: $IDENTIFIER = $CONVERTER->command_id (\%TARGET_ELEMENT) - Returns the id specific of the \%TARGET_ELEMENT tree element. - - -- Function: $FILE_NAME = $CONVERTER->command_filename - (\%TARGET_ELEMENT) - Returns the file name of the \%TARGET_ELEMENT tree element. - - -- Function: $HREF = $CONVERTER->command_href (\%TARGET_ELEMENT, - $SOURCE_FILENAME, $SOURCE_COMMAND, $SPECIFIED_TARGET) - Return string for linking to \%TARGET_ELEMENT with ‘<a href>’ or - ‘undef’ if not found or empty. $SOURCE_FILENAME is the file the - link comes from. If not set, the current file name is used. - $SOURCE_COMMAND is an optional argument, the @-command the link - comes from. It is only used for messages. $SPECIFIED_TARGET is an - optional identifier that overrides the target identifier if set. - - To get the text of tree elements that may be used as link -description, use ‘command_text’: - - -- Function: $RESULT = $CONVERTER->command_text (\%TARGET_ELEMENT, - $TYPE) - Return the information to be used for a hyperlink to - \%TARGET_ELEMENT. The information returned depends on $TYPE: - - _text_ - Return text. - - _string_ - Return text in string context. *Note Init File Expansion - Contexts::. - - Using those functions, a target element hyperlink can be constructed -as: - my $target_text = $converter->command_text($target_element); - my $target_href = $converter->command_href($target_element); - my $hyperlink = "<a href=\"$target_href\">$target_text</a>"; - - To get a Texinfo tree of elements that may be used as link -description, use ‘command_tree’: - - -- Function: $RESULT = $CONVERTER->command_tree (\%TARGET_ELEMENT, - $NO_NUMBER) - Return the a Texinfo tree to be used for a hyperlink to - \%TARGET_ELEMENT. If $NO_NUMBER is set, return a Texinfo elements - tree representing text without a chapter number being included. - - To obtain the top level command element associated with a footnote, -float or index entry target element, use ‘command_root_element_command’: - - -- Function: \%TOP_LEVEL_ELEMENT = - $CONVERTER->command_root_element_command (\%TARGET_ELEMENT) - Return the top level element, either a ‘@node’ or a sectioning - element \%TARGET_ELEMENT is in. - - This is used in indices formatting to link to index entry associated -sectioning element in addition to linking to the index entry location. -For example: - - my $entry_root_link = ''; - my $associated_command - = $converter->command_root_element_command($target_element); - if ($associated_command) { - my $associated_command_href - = $converter->command_href($associated_command); - my $associated_command_text - = $converter->command_text($associated_command); - - if (defined($associated_command_href)) { - $entry_root_link - = "<a href=\"$associated_command_href\">" - ."$associated_command_text</a>"; - } elsif (defined($associated_command_text)) { - $entry_root_link = $associated_command_text; - } - - my $formatted_entry = "<td><tr>$hyperlink</tr>" - ."<tr>$entry_root_link</tr></td>\n"; - - To get the node element associated with a target element, use -‘command_node’: - - -- Function: \%NODE_ELEMENT = $CONVERTER->command_node - (\%TARGET_ELEMENT) - Return the node element associated with \%TARGET_ELEMENT. - - For elements that are not target elements, use -‘get_element_root_command_element’ to get the root level Perl tree -element and the output unit containing the element: - - -- Function: \%TOP_LEVEL_ELEMENT, \%OUTPUT_UNIT = - $CONVERTER->get_element_root_command_element (\%ELEMENT) - Return the top level element and output unit a Texinfo tree - \%ELEMENT is in. Both the top level element and the output unit - may be undefined, depending on how the converter is called and on - the Texinfo tree. The top level element returned is also - determined by the customization variable ‘USE_NODES’. If - ‘USE_NODES’ is set the ‘@node’ is preferred, otherwise the - sectioning command is preferred. - - For example to get the ‘@node’ or sectioning root command tree -element containing a ‘@printindex’ element tree and the associated -identifier for the formatting of the ‘@printindex’ Texinfo tree element: - my ($output_unit, $root_command) - = $converter->get_element_root_command_element($printindex_element); - my $index_element_id = $converter->command_id($root_command); - - -File: texi2any_api.info, Node: Specific Formatting for Indices, Next: Image Formatting, Prev: Target Tree Element Link, Up: Command Tree Element Conversion - -12.1.5 Specific Formatting for Indices --------------------------------------- - -Index formatting customization is achieved through registering a -conversion function for ‘@printindex’ (*note Command Tree Element -Conversion Functions::). The Texinfo parsed document index entries -information directly obtained from the Texinfo manual parsing is -available through -‘$converter->get_info('document')->indices_information()’ (*note -Converter General Information::). Sorted index entries, which are -usually used for index formatting are available through -‘get_converter_indices_sorted_by_letter’: - - -- Function: \%SORTED_INDEX_ENTRIES = - $CONVERTER->get_converter_indices_sorted_by_letter () - Returns index entries sorted by index and letter. This function - should be called each time sorted indices are needed, in case the - sorting depends on the ‘@documentlanguage’ value. *Note - Texinfo::Convert::Converter::get_converter_indices_sorted_by_letter: - (texi2any_internals)Texinfo::Convert::Converter $sorted_indices = - $converter->get_converter_indices_sorted_by_letter(). - - -File: texi2any_api.info, Node: Image Formatting, Prev: Specific Formatting for Indices, Up: Command Tree Element Conversion - -12.1.6 Image Formatting ------------------------ - -Image ‘@image’ command formatting is customized by registering a -conversion function for ‘@image’ (*note Command Tree Element Conversion -Functions::). To get the location of an image file, it could be useful -to use ‘html_image_file_location_name’: - - -- Function: ($IMAGE_FILE, $IMAGE_BASEFILE, $IMAGE_EXTENSION, - $IMAGE_PATH, $IMAGE_PATH_ENCODING) = - $CONVERTER->html_image_file_location_name ($COMMAND_NAME, - \%ELEMENT, \@ARGS) - $COMMAND_NAME, \%ELEMENT and \@ARGS should be the arguments of an - ‘@image’ @-command formatting (*note Command Tree Element - Conversion Functions::). - - The return values gives information on the image file if found, or - fallback values. $IMAGE_FILE is the relative image file name. It - is the file name used in formatting of the ‘@image’ command in the - default case. $IMAGE_BASEFILE is the base file name of the image, - without extension, corresponding to the ‘@image’ @-command first - argument. $IMAGE_EXTENSION is the image file extension (without a - leading dot). $IMAGE_PATH is the path to the actual image file, - ‘undef’ if no file was found. $IMAGE_PATH is returned as a binary - string, the other strings returned are character strings. - $IMAGE_PATH_ENCODING is the encoding used to encode the image path - to a binary string. - - -File: texi2any_api.info, Node: Type Tree Element Conversion, Prev: Command Tree Element Conversion, Up: Tree Element Conversion Customization - -12.2 Type Tree Element Conversion -================================= - -All the containers and text Texinfo tree elements not handled with -command tree elements have a “type” associated. As for commands tree -elements, they can have an opening function and a conversion function -registered for a type and used. Some types may need more specific -information too. - - For tree elements that contain text, a ‘text’ type is used to select -the formatting functions, irrespective of the actual type of such a tree -element. The ‘text’ type does not exist in actual Texinfo tree -elements. - -* Menu: - -* Type Tree Element Conversion Functions:: -* Type Tree Element Opening Functions:: -* Text Tree Elements Conversion:: -* Inline Text Containers Formatting:: - - -File: texi2any_api.info, Node: Type Tree Element Conversion Functions, Next: Type Tree Element Opening Functions, Up: Type Tree Element Conversion - -12.2.1 Type Tree Element Conversion Functions ---------------------------------------------- - -User defined functions called for the conversion of an element without -@-command with text or a container type are registered with -‘texinfo_register_type_formatting’. For containers, the user defined -function is called after conversion of the content. - - -- Function: texinfo_register_type_formatting ($type, \&handler) - $TYPE is the element type. \&HANDLER is the user defined function - reference. - - The call of the user defined functions is: - - -- Function Reference: $TEXT type_conversion ($CONVERTER, $TYPE, - \%ELEMENT, $CONTENT) - $CONVERTER is a converter object. $TYPE is the element type. - \%ELEMENT is the Texinfo element. $CONTENT is text for elements - associated with text, or the formatted contents for other elements. - $CONTENT can be ‘undef’ or the empty string. - - The $TEXT returned is the result of the element conversion. - - To call a conversion function from user defined code, the function -reference should first be retrieved using ‘type_conversion’: - - -- Function: \&TYPE_CONVERSION = $CONVERTER->type_conversion ($TYPE) - $TYPE is the element type. Returns the conversion function - reference for $TYPE, or ‘undef’ if there is none, which should only - be the case for types ignored in HTML not defined by the user. - - It is possible to have access to the default conversion function -reference. The function used is: - - -- Function: \&DEFAULT_TYPE_CONVERSION = - $CONVERTER->default_type_conversion ($TYPE) - $TYPE is the element type. Returns the default conversion function - reference for $TYPE, or ‘undef’ if there is none, which should only - be the case for types ignored in HTML. - - Here is an example of paragraph formatting that prepends some HTML -code to each paragraph and formats in code context (*note Setting the -Context for Conversion::). It also shows how string context can be -taken into account. - - sub my_tree_element_convert_paragraph_type($$$$) - { - my $converter = shift; - my $type = shift; - my $element = shift; - my $content = shift; - - $content = '' if (!defined($content)); - - if ($converter->in_string()) { - return $content; - } - - my @contents = {$element->{'contents'}}; - push @contents, {'text' => ' <code>HTML</code> text ', - 'type' => '_converted'}; - my $result = $converter->convert_tree({'type' => '_code', - 'contents' => \@contents }); - return "<p>".$result."</p>"; - } - - texinfo_register_type_formatting('paragraph', - \&my_tree_element_convert_paragraph_type); - - -File: texi2any_api.info, Node: Type Tree Element Opening Functions, Next: Text Tree Elements Conversion, Prev: Type Tree Element Conversion Functions, Up: Type Tree Element Conversion - -12.2.2 Type Tree Element Opening Functions ------------------------------------------- - -User defined functions called when an element without @-command with a -container type is first encountered are registered with -‘texinfo_register_type_opening’: - - -- Function: texinfo_register_type_opening ($type, \&handler) - $TYPE is the element type. \&HANDLER is the user defined function - reference. - - The call of the user defined functions is: - - -- Function Reference: $TEXT type_open ($CONVERTER, $TYPE, \%ELEMENT) - $CONVERTER is a converter object. $TYPE is the element type. - \%ELEMENT is the Texinfo element. - - The $TEXT returned is prepended to the formatting of the type - container. - - It is possible to have access to the default opening function -reference. The function used is: - -- Function: \&DEFAULT_TYPE_OPEN = $CONVERTER->default_type_open - ($TYPE) - $COMMAND_NAME is the element type. Returns the default opening - function reference for $TYPE, or ‘undef’ if there is none. - - In the default conversion functions, this function is not often used, -conversion is in general done after the elements inside of the type -container have been formatted. This function is defined for inline text -container elements to get text to prepend to their content (*note Inline -Text Containers Formatting::). - - -File: texi2any_api.info, Node: Text Tree Elements Conversion, Next: Inline Text Containers Formatting, Prev: Type Tree Element Opening Functions, Up: Type Tree Element Conversion - -12.2.3 Text Tree Elements Conversion ------------------------------------- - -Tree elements holding text are converted by the function reference -registered for the ‘text’ type conversion irrespective of the actual -tree element type. For example, a tree element with type -‘spaces_before_paragraph’ and text and a tree element without type but -with text are both converted by the function reference registered for -‘text’. - - The definition and registration of a conversion function for all the -tree elements holding text should be along: - - sub my_convert_text($$$) - { - my $converter = shift; - my $type = shift; - my $element = shift; - my $text = shift; - - # ... - - $text = uc($text) if ($converter->in_upper_case()); - - # ... - } - - texinfo_register_type_formatting ('text', \&my_convert_text); - - The $TYPE free conversion function argument is the actual type of the -converted element (can be ‘undef’). - - Formatting of text requires to use informative functions on specific -contexts only relevant for text. User defined functions should convert -the text according to the context. - - Each context is associated with a function: - -_code_ - - -- Function: $IN_CODE = $CONVERTER->in_code () - Return true if in code context. *Note Init File Expansion - Contexts::. - -_math_ - - -- Function: $IN_MATH = $CONVERTER->in_math () - Return true if in math context. *Note Init File Expansion - Contexts::. - -_raw_ - - -- Function: $IN_RAW = $CONVERTER->in_raw () - Return true if in raw format, in ‘@inlineraw’ or in ‘@html’. - In such a context, text should be kept as is and special HTML - characters should not be protected. - -_verbatim_ - - -- Function: $IN_VERBATIM = $CONVERTER->in_verbatim () - Return true if in verbatim context, corresponding to ‘@verb’ - and ‘@verbatim’. In general, HTML characters should be - protected in this context. - -_upper-case_ - - -- Function: $IN_UPPER_CASE = $CONVERTER->in_upper_case () - Return true if in upper-case context, corresponding to ‘@sc’. - -_non-breakable space_ - - -- Function: $IN_NON_BREAKABLE_SPACE = - $CONVERTER->in_non_breakable_space () - Return true if in context where line breaks are forbidden, - corresponding to ‘@w’. - -_space protected_ - - -- Function: $IN_SPACE_PROTECTED = $CONVERTER->in_space_protected - () - Return true if in context where space and newline characters - are kept, corresponding to ‘@verb’. - - -File: texi2any_api.info, Node: Inline Text Containers Formatting, Prev: Text Tree Elements Conversion, Up: Type Tree Element Conversion - -12.2.4 Inline Text Containers Paragraph and Preformatted Formatting -------------------------------------------------------------------- - -Text is mainly output in two “inline” text containers, ‘paragraph’ for -text in paragraph and ‘preformatted’ for text in preformatted -environments. The Texinfo code parsing makes sure that it is the case, -to simplify conversion to formats which allow text only in specific -environments such as HTML. - - Formatted text may also be prepared based on information from Texinfo -elements tree while out of the inline containers. For example, -‘@quotation’ argument should in general be prepended to the first -paragraph in ‘@quotation’, caption number is also typically prependended -to the caption. For that case, functions allow to register pending -inline formatted content, and get the content to be prepended in inline -text containers. - - Pending formatted content text is registered with -‘register_pending_formatted_inline_content’: - - -- Function: $CONVERTER->register_pending_formatted_inline_content - ($category, $content) - $CONTENT is the formatted content to be registered and output in - the next inline container. $CATEGORY is a indicator of the source - of the formatted inline content, mostly used to cancel registered - content if no inline container was seen. - - For example - my $quotation_arg_to_prepend - = $converter->convert_text($quotation_arg_element); - $converter->register_pending_formatted_inline_content('quotation', - $formatted_quotation_arg_to_prepend); - - Pending formatted content can (and should) be cancelled when it is -known that there is no suitable inline container to be used to output -the text. The function is ‘cancel_pending_formatted_inline_content’: - - -- Function: $CANCELLED_CONTENT = - $CONVERTER->cancel_pending_formatted_inline_content - ($CATEGORY) - Cancel the first $CATEGORY pending formatted content text found. - Returns ‘undef’ if nothing was cancelled, and the cancelled content - otherwise. - - Pending formatted content is gathered by calling -‘get_pending_formatted_inline_content’. In the default case, this is -done in inline containers opening code (*note Type Tree Element Opening -Functions::). - - -- Function: $CONTENT = - $CONVERTER->get_pending_formatted_inline_content () - Returns the concatenated pending content. - - The inline containers get the content when they are opened, but are -converted after the formatting of their contents. Two additional -functions allow to associate pending content to an element, -‘associate_pending_formatted_inline_content’, and get the associated -content, ‘get_associated_formatted_inline_content’. -‘associate_pending_formatted_inline_content’ is normally called in -inline container opening code, right after -‘get_pending_formatted_inline_content’, while -‘get_associated_formatted_inline_content’ is called in the inline -container conversion function (*note Type Tree Element Conversion -Functions::). - - -- Function: $CONVERTER->associate_pending_formatted_inline_content - (\%element, $content) - Associate $CONTENT to the Texinfo tree element \%ELEMENT. - - -- Function: $CONTENT = - $CONVERTER->get_associated_formatted_inline_content - (\%ELEMENT) - Get $CONTENT associated with the Texinfo tree element \%ELEMENT. - - Here is some inline container formatting code showing how those -functions are used, with the paragraph type element formatting example -completed: - sub _open_inline_container_type($$$) - { - my $self = shift; - my $type = shift; - my $element = shift; - - my $pending_formatted = $self->get_pending_formatted_inline_content(); - - if (defined($pending_formatted)) { - $self->associate_pending_formatted_inline_content($element, - $pending_formatted); - } - return ''; - } - - sub my_final_convert_paragraph_type($$$$) - { - my $converter = shift; - my $type = shift; - my $element = shift; - my $content = shift; - - $content = '' if (!defined($content)); - - my $prepended - = $converter->get_associated_formatted_inline_content($element); - if ($converter->in_string()) { - return $prepended.$content; - } - - my @contents = {$element->{'contents'}}; - push @contents, {'text' => ' <code>HTML</code> text ', - 'type' => '_converted'}; - my $result = $converter->convert_tree({'type' => '_code', - 'contents' => \@contents }); - return "<p>".$prepended.$result."</p>"; - } - - texinfo_register_type_formatting('paragraph', - \&my_final_convert_paragraph_type); - - -File: texi2any_api.info, Node: Output Units Conversion Functions, Next: Shared Conversion State, Prev: Tree Element Conversion Customization, Up: Top - -13 Output Units Conversion Functions -************************************ - -Output units formatting function are setup and used similarly as for -tree container types (*note Type Tree Element Conversion Functions::). -The output unit types correspond to the ‘unit_type’ key values of output -unit hashes (*note Unit Type::). - - User defined functions called for the conversion of an output unit -are registered with ‘texinfo_register_output_unit_formatting’. The user -defined function is called after conversion of the content. - - -- Function: texinfo_register_output_unit_formatting ($unit_type, - \&handler) - $UNIT_TYPE is the output unit type. \&HANDLER is the user defined - function reference. - - The call of the user defined functions is: - - -- Function Reference: $TEXT output_unit_conversion ($CONVERTER, - $UNIT_TYPE, \%OUTPUT_UNIT, $CONTENT) - $CONVERTER is a converter object. $UNIT_TYPE is the output unit - type. \%OUTPUT_UNIT is the output unit. $CONTENT the formatted - contents. $CONTENT can be ‘undef’ or the empty string. - - The $TEXT returned is the result of the output unit conversion. - - To call a conversion function from user defined code, the function -reference should first be retrieved using ‘type_conversion’: - - -- Function: \&OUTPUT_UNIT_CONVERSION = - $CONVERTER->output_unit_conversion ($UNIT_TYPE) - $UNIT_TYPE is the output unit type. Returns the conversion - function reference for $UNIT_TYPE, or ‘undef’ if there is none. - - It is possible to have access to the default conversion function -reference. The function used is: - - -- Function: \&DEFAULT_OUTPUT_UNIT_CONVERSION = - $CONVERTER->default_output_unit_conversion ($UNIT_TYPE) - $UNIT_TYPE is the output unit type. Returns the default conversion - function reference for $UNIT_TYPE, or ‘undef’ if there is none. - - Nomal output units with output unit type ‘unit’ default conversion -involves calling the formatting reference ‘format_element_footer’ (*note -Element Header and Footer Formatting::). - - Special units conversion is achieved by calling -‘special_unit_body_formatting’ (*note Special Unit Body Formatting -Functions::), ‘format_navigation_header’ (*note Navigation Panel and -Navigation Header Formatting::), ‘format_heading_text’ (*note Basic -Formatting Customization::) and ‘format_element_footer’ (*note Element -Header and Footer Formatting::). Special units type is ‘special_unit’. - - -File: texi2any_api.info, Node: Shared Conversion State, Next: Translations in Output and Customization, Prev: Output Units Conversion Functions, Up: Top - -14 Shared Conversion State -************************** - -For advanced customization, it is often necessary to pass information -during conversion between different formatting functions or between -different calls of the same function. An interface is provided for -information shared among formatting functions, called “shared conversion -state”. Each data piece in the “shared conversion state” is associated -with an @-command name, has a name, and a list of selectors. - - This interface is often useful for the formatting of paragraph and -preformatted containers and @-commands such as ‘@abbr’, ‘@footnote’, -‘@node’, sectioning commands, ‘@quotation’ and ‘@float’. - - It is required to use that interface when sharing information with -the default formatting functions. Every type of function can use shared -state, formatting functions (*note Customization and Use of Formatting -Functions::), tree elements (*note Tree Element Conversion -Customization::) and output units conversion functions (*note Output -Units Conversion Functions::). - -* Menu: - -* Define Get and Set Shared Conversion State:: -* Shared Conversion State in Default Formatting:: - - -File: texi2any_api.info, Node: Define Get and Set Shared Conversion State, Next: Shared Conversion State in Default Formatting, Up: Shared Conversion State - -14.1 Define, Get and Set Shared Conversion State -================================================ - -Four types for selectors and value are currently considered: - -‘string’ - A string. -‘integer’ - An integer -‘element’ - A Texinfo tree element. -‘index_entry.’ - An index entry reference as appearing in index data structures. - *Note (texi2any_internals)Texinfo::Document index_entries::. - - New shared infomation is defined with -‘define_shared_conversion_state’: - - -- Function: $CONVERTER->define_shared_conversion_state ($cmdname, - $name, \@specification) - $CMDNAME is an @-command name, without leading @. NAME is the name - associated with the data. The ‘top’ command name is conventionally - used if there is no natural association with another @-command. - \@SPECIFICATION array reference specifies the types of the - selectors and the type of the value as strings. The last string of - the array specifies the type of the value. The preceding strings - specify the number and types of selectors(1). - - For example, ‘['integer', 'element', 'string']’ specifies a - ‘string’ type for the value, and two selectors, the first with - ‘integer’ type, and the second with ‘element’ type. ‘['integer']’ - specifies an integer for the value and no selector. - - For example, the following defines a ‘color’ shared conversion state -formally associated with ‘@quotation’, with an integer value and a -string selector. - $converter->define_shared_conversion_state ('quotation', 'color', - ['string', 'integer']); - - The association with an @-command is provided for a semantic -classification of shared conversion information, but has no practical -effect. In particular, nothing prevents using shared conversion state -information associated with an @-command in the formatting of another -@-command. - - The function ‘get_shared_conversion_state’ is used to get -information: - - -- Function: $VALUE = $CONVERTER->get_shared_conversion_state - ($CMDNAME, $NAME, [$SELECTOR ...]) - Return the reference $VALUE associated with $CMDNAME and $NAME. - The number of selectors given in argument should match the number - of selectors in the definition (possibly none). - - For example, continuing with the ‘color’ shared information data -defined above, with one selector variable: - my $color_number - = $converter->get_shared_conversion_state('quotation', - 'color', 'purple1'); - - The function ‘set_shared_conversion_state’ is used to set shared -information: - - -- Function: $CONVERTER->define_shared_conversion_state ($CMDNAME, - $NAME, [$SELECTOR ...], $VALUE) - Sets $VALUE associated with $CMDNAME and $NAME. The number of - selectors given in argument should match the number of selectors in - the definition (possible none). - - For example: - $converter->set_shared_conversion_state('quotation', 'color', - 'special_black', 42); - - The converter is used to hold the information, but does not use nor -write. - - ---------- Footnotes ---------- - - (1) The number of strings in the specification is the only -information actually used, to determine the number of selectors. -However, it is advised to use the specified types for consistency and -compatibility with future changes. - - -File: texi2any_api.info, Node: Shared Conversion State in Default Formatting, Prev: Define Get and Set Shared Conversion State, Up: Shared Conversion State - -14.2 Shared Conversion State in Default Formatting -================================================== - -The following shared conversion state information is defined in the -default formatting functions: - -Command Name Selectors Value -------------------------------------------------------------------------------------- -‘abbr’ ‘explained_commands’ string (first argument) string -‘acronym’ ‘explained_commands’ string (first argument) string -‘footnote’ ‘footnote_number’ integer -‘footnote’ ‘footnote_id_numbers’ string (footnote id) integer -‘listoffloats’ ‘formatted_listoffloats’ string (normalized integer - argument) -‘menu’ ‘html_menu_entry_index’ integer -‘printindex’ ‘formatted_index_entries’ index_entry (index entry integer - hash) -‘top’ ‘in_skipped_node_top’ integer -‘nodedescription’ ‘formatted_nodedescriptions’element integer - (‘@nodedescription’ tree - element) - - These shared information data correspond to: -‘explained_commands’ - Associate the explanation given in a previous ‘@abbr’ or ‘@acronym’ - second argument to first ‘@abbr’ or ‘@acronym’ arguments. -‘footnote_number’ - The current number of footnotes formatted in document. -‘footnote_id_numbers’ - Associate a footnote identifier, typically used in hyperlink - reference, to the number of time the corresponding footnote was - formatted. More than one corresponds to very rare cases, for - instance a footnote in ‘@copying’ and multiple ‘@insertcopying’. -‘formatted_listoffloats’ - Associate a list of float type to the number of time it was - formatted. -‘html_menu_entry_index’ - Current number of menu entries in a menu. Reset to 0 at ‘@menu’ - beginning. -‘formatted_index_entries’ - Associate an index entry to the number of time it was formatted. -‘in_skipped_node_top’ - Set to 1 in a ‘Top’ node being skipped, in case - ‘NO_TOP_NODE_OUTPUT’ is set. -‘formatted_nodedescriptions’ - Associate a ‘@nodedescription’ tree element to the number of time - it was formatted. - - -File: texi2any_api.info, Node: Translations in Output and Customization, Next: Customizing Footnotes, Tables of Contents and About, Prev: Shared Conversion State, Up: Top - -15 Translations in Output and Customization -******************************************* - -Translated strings can be specified in customization functions, for -@-commands without arguments (*note Simple Customization for Commands -Without Arguments::), for direction strings (*note Direction Strings -Customization::) and for specific elements headings such as footnotes, -contents or about (*note Special Units Information Customization::). -Translated strings can also be inserted in the output in user-defined -customization functions, by using specific functions for -internationalization of strings, ‘cdt’, ‘cdt_string’ or ‘pcdt’ (*note -(texi2any_internals)Texinfo::Convert::Converter Translations in output -documents::). - - It is possible to customize the translated strings, in order to -change the translations of the strings translated in the default case. -If new translated strings are added, it is even required to use -translated strings customization to add translations for the added -strings. - - *Note (texinfo)Internationalization of Document Strings:: for -additional information on the default case. - -* Menu: - -* Internationalization of Strings Function:: -* Translated Strings Customization:: -* Translation Contexts:: - - -File: texi2any_api.info, Node: Internationalization of Strings Function, Next: Translated Strings Customization, Up: Translations in Output and Customization - -15.1 Internationalization of Strings Function -============================================= - -The subroutines ‘cdt’, ‘cdt_string’ or ‘pcdt’, are used for translated -strings: - - -- Function: $TRANSLATED_TREE = $CONVERTER->cdt ($STRING, - \%VARIABLES_HASH, $TRANSLATION_CONTEXT) - -- Function: $TRANSLATED_STRING = $CONVERTER->cdt_string ($STRING, - \%VARIABLES_HASH, $TRANSLATION_CONTEXT) - -- Function: $TRANSLATED_TREE = $CONVERTER->pcdt ($TRANSLATION_CONTEXT, - $STRING, \%VARIABLES_HASH) - $STRING is the string to be translated, \%VARIABLES_HASH is a hash - reference holding the variable parts of the translated string. - $TRANSLATION_CONTEXT is an optional translation context that limits - the search of the translated string to that context (*note - (gettext)Contexts::). - - The result returned is a Perl Texinfo tree for ‘cdt’ and ‘pcdt’ and - a string for ‘cdt_string’. With ‘cdt_string’ the substitutions may - only be strings. - - If called as ‘pcdt’, $TRANSLATION_CONTEXT is not optional and is - the first argument. - - With ‘cdt’ and ‘pcdt’, when the string is expanded as Texinfo, and -converted to a Texinfo tree in Perl, the arguments are substituted; for -example, ‘{arg_name}’ is replaced by the corresponding actual argument, -which should be a Texinfo tree element. With ‘cdt_string’, the string -should already be converted, the arguments are substituted as strings; -for example ‘{arg_name}’ is replaced by the corresponding actual -argument, which should be a string. - - In the following example, ‘{date}’, ‘{program_homepage}’ and -‘{program}’ are the arguments of the string. Since they are used in -‘@uref’, their order in the formatted output depends on the formatting -and is not predictable. ‘{date}’, ‘{program_homepage}’ and ‘{program}’ -are substituted after the expansion, which means that they should -already be Texinfo tree elements. - - $converter->cdt('Generated @emph{@today{}} using ' - .'@uref{{homepage}, @emph{{program}}}.', - { 'homepage' => { 'text' => $converter->get_conf('PACKAGE_URL') }, - 'program' => { 'text' => $converter->get_conf('PROGRAM') }}); - - An example of combining conversion with translation: - $converter->convert_tree($converter->cdt( - '{explained_string} ({explanation})', - {'explained_string' => {'type' => '_converted', - 'text' => $result}, - 'explanation' => {'type' => '_converted', - 'text' => $explanation_result}}), - "convert explained $cmdname"); - - In the default case, the functions from the ‘Texinfo::Translations’ -module are used for translated strings through converter functions. It -is possible to use user-defined functions instead as seen next. *Note -(texi2any_internals)Texinfo::Translations:: for more on -‘Texinfo::Translations’. - - In ‘texi2any’ code, ‘cdt’ and ‘cdt_string’ are also used to mark -translated strings for tools extracting translatable strings to produce -template files. ‘pcdt’ is used to mark translated string with a -translation context associated. - - -File: texi2any_api.info, Node: Translated Strings Customization, Next: Translation Contexts, Prev: Internationalization of Strings Function, Up: Translations in Output and Customization - -15.2 Translated Strings Customization -===================================== - -To customize strings translations, register the -‘format_translate_message’ function reference: - - -- Function Reference: $TRANSLATED_STRING format_translate_message - ($CONVERTER, $STRING, $LANG, $TRANSLATION_CONTEXT) - $STRING is the string to be translated, $LANG is the language. - $TRANSLATION_CONTEXT is an optional translation context. - - The result returned should be the translated string. The result - returned may also be ‘undef’, in which case the translation is done - as if the function reference had not been defined. - - *Note Internationalization of Strings Function:: for more - information on strings translations function arguments. - - This function reference is not set in the default case, in the -default case ‘translate_string’ from the ‘Texinfo::Translations’ module -is called (*note Internationalization of Strings Function::). *Note -Registering Specific Formating Functions:: for information on how to -register and get the function reference. - - Here is an example with new translated strings added and definition -of ‘format_translate_message’ to translate the strings: - - texinfo_register_no_arg_command_formatting('error', undef, undef, - undef, 'error-->'); - my %translations = ( - 'fr' => { - 'error-->' => {'' => 'erreur-->',}, - # ... - }, - 'de' => { - 'error-->' => {'' => 'Fehler-->',}, - # ... - } - # ... - ); - - sub my_format_translate_message($$$;$) - { - my ($self, $string, $lang, $translation_context) = @_; - $translation_context = '' if (!defined($translation_context)); - if (exists($translations{$lang}) - and exists($translations{$lang}->{$string}) - and exists($translations{$lang}->{$string} - ->{$translation_context})) { - my $translation = $translations{$lang}->{$string} - ->{$translation_context}; - return $translation; - } - return undef; - } - - texinfo_register_formatting_function('format_translate_message', - \&my_format_translate_message); - - -File: texi2any_api.info, Node: Translation Contexts, Prev: Translated Strings Customization, Up: Translations in Output and Customization - -15.3 Translation Contexts -========================= - -Translation contexts may be set to avoid ambiguities for translated -strings, in particular when the strings are short (*note -(gettext)Contexts::). Translation contexts are set for translated -direction strings (*note Direction Strings::) and for special output -units headings (*note Special Units Information Customization::). - - For direction strings, the translation context is based on the -direction name (*note Directions::), with ‘direction’ prepended and -another string prepended, depending on the type of string: - -‘button’ - ‘button label’ is prepended - -‘description’ - ‘description’ is prepended - -‘text’ - ‘string’ is prepended - - For example, the ‘Top’ direction ‘button’ direction string -translation context is ‘Top direction button label’. - - As an exception, the ‘This’ direction has ‘(current section)’ -prepended to have a more explicit translation context. The ‘This’ -direction ‘text’ direction string translation context is thus ‘This -(current section) direction string’. - - For special output unit headings, the translation context is obtained -by prepending ‘section heading’ to the special output unit variety -(*note Table 16.1: Special Units Varieties.). For example, the -‘footnotes’ special output unit variety heading translation context is -‘footnotes section heading’. - - Here is an example, which could be used with a similar function -registered as in the example above (*note New translated strings -example::): - - texinfo_register_direction_string_info('Forward', 'text', undef, - 'Forward'); - texinfo_register_special_unit_info('heading', 'contents', - 'The @emph{Table of Contents}'); - - my %translations = ( - 'fr' => { - 'The @emph{Table of Contents}' => {'contents section heading' - => '@result{} La @emph{Table des mati@`eres}',}, - 'Forward' => {'Forward direction string' - => 'Vers l\'avant @result{}',}, - } - ... - ); - - Other translated strings may also be associated with translation -contexts. The translation template file -‘po_document/texinfo_document.pot’ in the source directory of Texinfo -contains the translated strings appearing in all the output formats. - - -File: texi2any_api.info, Node: Customizing Footnotes, Tables of Contents and About, Next: Customizing HTML Footers, Headers and Navigation Panels, Prev: Translations in Output and Customization, Up: Top - -16 Customizing Footnotes, Tables of Contents and About -****************************************************** - -Some customization is specific for different special output units -content formatting, especially when the formatting is not done in a -separate output unit (*note Output Units::), but some customization is -relevant for all the special units. The formatting of special units -bodies is handled the same for all the special units, when formatted as -separate units. - - To specify a special unit in those contexts, the special units -varieties are used, as described in *note Table 16.1: Special Units -Varieties. - -Special Unit Special Unit Variety -------------------------------------------------- -Table of contents ‘contents’ -Short table of contents ‘shortcontents’ -Footnotes ‘footnotes’ -About ‘about’ - -Table 16.1: Association of special elements names with their special -element variety - - The variety of special elements is the special unit hash value -associated with the ‘special_unit_variety’ key. - - To get information on the special output unit variety associated with -an @-command command name, use ‘command_name_special_unit_information’: - - -- Function: ($SPECIAL_UNIT_VARIETY, \%OUTPUT_UNIT, $CLASS_BASE, - $OUTPUT_UNIT_DIRECTION) = - $CONVERTER->command_name_special_unit_information - ($COMMAND_NAME) - $COMMAND_NAME is an @-command name without the leading @. If the - $COMMAND_NAME is not associated with a special output unit, returns - ‘undef’. Otherwise, return the $SPECIAL_UNIT_VARIETY (*note Table - 16.1: Special Units Varieties.), the \%OUTPUT_UNIT output unit, a - $CLASS_BASE string for HTML class attribute and the - $OUTPUT_UNIT_DIRECTION direction corresponding to that special - elements (*note Directions::). - - In the current setup, special output units are associated with -‘@contents’, ‘@shortcontents’ and ‘@summarycontents’ and with -‘@footnote’. - -* Menu: - -* Special Units Information Customization:: -* Customizing Footnotes:: -* Contents and Short Table of Contents Customization:: -* About Special Output Unit Customization:: -* Special Unit Body Formatting Functions:: - - -File: texi2any_api.info, Node: Special Units Information Customization, Next: Customizing Footnotes, Up: Customizing Footnotes, Tables of Contents and About - -16.1 Special Units Information Customization -============================================ - -To customize special output units formatting, a simple possibility is to -change the information associated with the special output units. - - The following items common to all the special units may be -customized: - -‘class’ - String for special element HTML class attributes. - -‘direction’ - Direction corresponding to the special element. *Note - Directions::. - -‘heading’ - Special element heading Texinfo code. - -‘heading_tree’ - Special element heading Texinfo tree. - -‘order’ - Index determining the sorting order of special elements. - -‘file_string’ - File string portion prepended to the special element file names, - such as ‘_toc’. - -‘target’ - A string representing the target of the special element, typically - used as id attribute and in href attribute. - - The heading string is set with ‘heading’, and should be a Texinfo -code string. ‘heading_tree’ cannot be set directly, but can be -retrieved. It is determined from ‘heading’ after translation and -conversion to a Texinfo tree. - - To set the information, use ‘texinfo_register_special_unit_info’ in -an init file: - - -- Function: texinfo_register_special_unit_info ($item_type, - $special_unit_variety, $value) - Set $ITEM_TYPE information for the special unit variety - $SPECIAL_UNIT_VARIETY to $VALUE. $VALUE may be ‘undef’, or an - empty string, but only ‘heading’ and ‘target’ should be set to that - value as a non-empty value is needed for the other items for - formatting. - - To get the list of varieties, use ‘get_special_unit_info_varieties’: - - -- Function: $LIST = $CONVERTER->get_special_unit_info_varieties - ($ITEM_TYPE) - $ITEM_TYPE is the type of information to be retrieved as described - above. The list of the special units varieties with information - for the $ITEM_TYPE is returned. - - To retrieve the information for formatting, use ‘special_unit_info’: - - -- Function: $LIST_OR_VALUE = $CONVERTER->special_unit_info - ($ITEM_TYPE, $SPECIAL_UNIT_VARIETY) - $ITEM_TYPE is the type of information to be retrieved as described - above. $SPECIAL_UNIT_VARIETY is a special unit variety, the - corresponding value is returned. - - The value returned is translated and converted to a Texinfo tree - for ‘heading_tree’. - - -File: texi2any_api.info, Node: Customizing Footnotes, Next: Contents and Short Table of Contents Customization, Prev: Special Units Information Customization, Up: Customizing Footnotes, Tables of Contents and About - -16.2 Customizing Footnotes -========================== - -In the default case footnotes are numbered. If ‘NUMBER_FOOTNOTES’ is -set to 0, a ‘*’ is used instead, or the ‘NO_NUMBER_FOOTNOTE_SYMBOL’ -customization variable value, if set. - - Redefinition of ‘@footnote’ conversion reference and footnote -formatting references is needed for further customization. - - ‘@footnote’ @-commands appearing in the Texinfo elements tree are -converted like any other elements associated with @-commands (*note -Command Tree Element Conversion Functions::). It is therefore possible -to redefine their formatting by registering a user defined function. - - To pass information on footnotes between the conversion function -processing the ‘@footnote’ command at the location they appear in the -document and the functions formatting their argument elsewhere, two -functions are available: ‘register_footnote’ to be called where they -appear in the document, and ‘get_pending_footnotes’ to be called where -they are formatted. - - -- Function: $CONVERTER->register_footnote (\%element, $footnote_id, - $foot_in_doc_id, $number_in_doc, $footnote_location_filename, - $multi_expanded_region) - \%ELEMENT is the footnote Texinfo tree element. $FOOTNOTE_ID is - the identifier for the location where the footnote arguments are - expanded. $FOOT_IN_DOC_ID is the identifier for the location where - the footnote appears in the document. $NUMBER_IN_DOC is the number - of the footnote in the document. $FOOTNOTE_LOCATION_FILENAME is - the filename of the output unit of the footnote in the document. - If the footnote appears in a region that is expanded multiple - times, the information on the expansion is $MULTI_EXPANDED_REGION - (*note Other Dynamic Information::). - - ‘register_footnote’ is normally called in the ‘@footnote’ @-command -conversion function reference. The default conversion function also -call ‘command_href’ to link to the location where the footnote text will -be expanded (*note Target Tree Element Link::). - - -- Function: \@PENDING_FOOTNOTES_INFORMATION = - $CONVERTER->get_pending_footnotes () - Returns in \@PENDING_FOOTNOTES_INFORMATION the information gathered - in ‘register_footnote’. Each of the array reference element in - \@PENDING_FOOTNOTES_INFORMATION is an array reference containing - the arguments of ‘register_footnote’ in the same order. - - The formatting of footnotes content is done by the -‘format_footnotes_sequence’ formatting reference (*note Registering -Specific Formating Functions::): - - -- Function Reference: $FOOTNOTES_SEQUENCE format_footnotes_sequence - ($CONVERTER) - Formats and returns the footnotes that need to be formatted. This - function normally calls ‘get_pending_footnotes’. The default - function also calls ‘footnote_location_href’ to link to the - location in the document where the footnote appeared, and the - ‘format_single_footnote’ formatting function to format a single - footnote. - - The formatting of one footnote is done by the -‘format_single_footnote’ formatting reference: - - -- Function Reference: $FOOTNOTE format_single_footnote ($CONVERTER, - \%ELEMENT, $FOOTNOTE_ID, $NUMBER_IN_DOC, - $FOOTNOTE_LOCATION_HREF, $FOOTNOTE_MARK) - Formats and returns a single footnote. \%ELEMENT is the footnote - Texinfo tree element. $FOOTNOTE_ID is the identifier for the - location where the footnote arguments are expanded. $NUMBER_IN_DOC - is the number of the footnote in the document. - $FOOTNOTE_LOCATION_HREF is the href that links to the footnote - location in the main document. $FOOTNOTE_MARK is the footnote - number or mark. - - If footnotes are in a separate output unit (*note Output Units::), -the default footnote special output unit body formatting function calls -‘format_footnotes_sequence’ (*note Special Unit Body Formatting -Functions::). - - If the footnotes are not in a separate output unit, or there is no -separate unit because there is only one output unit or no output unit, -the ‘format_footnotes_segment’ formatting reference is called when -pending footnotes need to be formatted. This function reference can be -replaced by a user defined function. - - -- Function Reference: $FOOTNOTES_SEGMENT format_footnotes_segment - ($CONVERTER) - Returns the footnotes formatted. In the default case, the function - reference calls ‘format_footnotes_sequence’ and also sets up a - header with ‘format_heading_text’ (*note Basic Formatting - Customization::), using the customization variables - ‘FOOTNOTE_END_HEADER_LEVEL’ and the special ‘footnotes’ element - ‘heading’ information (*note Special Units Information - Customization::). - - To get the id of a footnote in the main document, use -‘footnote_location_target’: - - -- Function: $TARGET = $CONVERTER->footnote_location_target - (\%FOOTNOTE_ELEMENT) - Return the id for the location of the footnote \%FOOTNOTE_ELEMENT - in the main document (where the footnote number or symbol appears). - - To get an href to link to a footnote location in the main document, -use ‘footnote_location_href’: - - -- Function: $HREF = $CONVERTER->footnote_location_href - (\%FOOTNOTE_ELEMENT, $SOURCE_FILENAME, $SPECIFIED_TARGET, - $TARGET_FILENAME) - Return string for linking to \%FOOTNOTE_ELEMENT location in the - main document with ‘<a href>’. $SOURCE_FILENAME is the file the - link comes from. If not set, the current file name is used. - $SPECIFIED_TARGET is an optional identifier that overrides the - target identifier if set. $TARGET_FILENAME is an optional file - name that overrides the file name href part if set. - - *Note Target Tree Element Link:: to get link information for the -location where footnote text is output. - - -File: texi2any_api.info, Node: Contents and Short Table of Contents Customization, Next: About Special Output Unit Customization, Prev: Customizing Footnotes, Up: Customizing Footnotes, Tables of Contents and About - -16.3 Contents and Short Table of Contents Customization -======================================================= - -You can set the customization variable ‘CONTENTS_OUTPUT_LOCATION’ to -determine where the table of contents and short table of content are -output in the document (*note (texinfo)HTML Output Structure -Customization::): - -‘after_top’ - The tables of contents are output at the end of the ‘@top’ section, - to have the main location for navigation in the whole document - early on. This is in line with ‘FORMAT_MENU’ set to ‘sectiontoc’ - with sectioning command being used in HTML for navigation rather - than menus. This is the default. - -‘inline’ - The tables of content are output where the corresponding @-command, - for example ‘@contents’, is set. This behavior is consistent with - ‘texi2dvi’. - -‘separate_element’ - The tables of contents are output in separate output units, either - at the end of the document if the output is unsplit or in separate - files if not. This makes sense when menus are used for navigation - with ‘FORMAT_MENU’ set to ‘menu’. - -‘after_title’ - The tables of contents are merged into the title material, which in - turn is not output by default; *note HTML Title Page - Customization::. - - You can set other customization variables to modify table of contents -links formatting (*note (texinfo)File Names and Links Customization for -HTML::) and change the HTML code inserted before and after the tables of -contents (*note (texinfo)Customization of HTML Code Inserted::). - - Finally, the following function reference provides even more control -over the table of contents and short table of contents formatting -reference: - - -- Function Reference: $TOC_RESULT format_contents ($CONVERTER, - $COMMAND_NAME, \%ELEMENT, $FILENAME) - $COMMAND_NAME is the @-command name without leading @, should be - ‘contents’, ‘shortcontents’ or ‘summarycontents’. \%ELEMENT is - optional. It corresponds to the $COMMAND_NAME Texinfo tree - element, but it is only set if ‘format_contents’ is called from a - Texinfo tree element conversion, and not as a special element body - formatting. $FILENAME is optional and should correspond to the - filename where the formatting happens, for links. - - In the default function, structuring information is used to format - the table of contents (*note Converter General Information::), and - ‘command_contents_href’ and ‘command_href’ (*note Target Tree - Element Link::) are used for links. If $FILENAME is unset, the - current file name is used, using ‘$converter->current_filename()’. - - Return formatted table of contents or short table of contents. - - If contents are in a separate output unit (*note Output Units::), the -default contents and shortcontents special element body formatting -function calls ‘format_contents’ (*note Special Unit Body Formatting -Functions::). Otherwise, ‘format_contents’ is called in the conversion -of heading @-command, in title page formatting, and in ‘@contents’ -conversion function, depending on the ‘CONTENTS_OUTPUT_LOCATION’ value. - - To get id and link href of sectioning commands in table of contents -and short table of contents, use ‘command_contents_target’ and -‘command_contents_href’: - - -- Function: $TARGET = $CONVERTER->command_contents_target - (\%SECTIONING_ELEMENT, $CONTENTS_OR_SHORTCONTENTS) - Returns the id for the location of \%SECTIONING_ELEMENT sectioning - element in the table of contents, if $CONTENTS_OR_SHORTCONTENTS is - ‘contents’, or in the short table of contents, if - $CONTENTS_OR_SHORTCONTENTS is set to ‘shortcontents’ or - ‘summarycontents’. - - -- Function: $HREF = $CONVERTER->command_contents_href - (\%SECTIONING_ELEMENT, $CONTENTS_OR_SHORTCONTENTS, - $SOURCE_FILENAME) - Return string for linking to the \%SECTIONING_ELEMENT sectioning - element location in the table of contents, if - $CONTENTS_OR_SHORTCONTENTS is ‘contents’ or in the short table of - contents, if $CONTENTS_OR_SHORTCONTENTS is set to ‘shortcontents’ - or ‘summarycontents’. $SOURCE_FILENAME is the file the link comes - from. If not set, the current file name is used. Returns ‘undef’ - if no string is found or the string is empty. - - -File: texi2any_api.info, Node: About Special Output Unit Customization, Next: Special Unit Body Formatting Functions, Prev: Contents and Short Table of Contents Customization, Up: Customizing Footnotes, Tables of Contents and About - -16.4 About Special Output Unit Customization -============================================ - -The default About output unit has an explanation of the buttons used in -the document, controlled by ‘SECTION_BUTTONS’. The formatting of this -is influenced by the ‘text’, ‘description’ and ‘example’ direction -strings (*note Direction Strings::) and by ‘ACTIVE_ICONS’ (*note Simple -Navigation Panel Customization::). - - ‘PROGRAM_NAME_IN_ABOUT’ can also be used to change the beginning of -the About output unit formatting. - - If the above is not enough and you want to control exactly the -formatting of the about unit, the ‘about’ special output unit body -reference function may be overridden (*note Special Unit Body Formatting -Functions::). - - -File: texi2any_api.info, Node: Special Unit Body Formatting Functions, Prev: About Special Output Unit Customization, Up: Customizing Footnotes, Tables of Contents and About - -16.5 Special Unit Body Formatting Functions -=========================================== - -In addition to the formatting possibilities available with the default -special output units formatting presented previously, it is also -possible to control completely how a separate special output unit is -formatted. - - To register body formating user defined functions for special output -units (*note Output Units::), the special output units varieties are -used, as described in *note Table 16.1: Special Units Varieties. -Special element body formatting user defined functions are registered -with ‘texinfo_register_formatting_special_unit_body’: - - -- Function: texinfo_register_formatting_special_unit_body - ($special_unit_variety, \&handler) - $SPECIAL_UNIT_VARIETY is the element variety (*note Table 16.1: - Special Units Varieties.). \&HANDLER is the user defined function - reference. - - The call of the user defined functions is: - -- Function Reference: $TEXT special_unit_body ($CONVERTER, - $SPECIAL_UNIT_VARIETY, \%SPECIAL_UNIT) - $CONVERTER is a converter object. $SPECIAL_UNIT_VARIETY is the - unit variety. \%SPECIAL_UNIT is the special output unit. - - The $TEXT returned is the formatted special output unit body. - - To call a special output unit body formatting function from user -defined code, the function reference should first be retrieved using -‘special_unit_body_formatting’: - - -- Function: \&SPECIAL_UNIT_BODY_FORMATTING = - $CONVERTER->special_unit_body_formatting - ($SPECIAL_UNIT_VARIETY) - $SPECIAL_UNIT_VARIETY is the special output unit variety. Returns - the conversion function reference for $VARIETY, or ‘undef’ if there - is none, which should not happen for the special output units - described in this manual. - - For example: - my $footnotes_element_body - = &{$converter->special_unit_body_formatting('footnotes')}( - $converter, 'footnotes', $element); - - It is possible to have access to the default conversion function -reference. The function used is: - - -- Function: \&DEFAULT_SPECIAL_UNIT_BODY_FORMATTING = - $CONVERTER->defaults_special_unit_body_formatting - ($SPECIAL_UNIT_VARIETY) - $SPECIAL_UNIT_VARIETY is the special output unit variety. Returns - the default conversion function reference for - $SPECIAL_UNIT_VARIETY, or ‘undef’ if there is none, which should - not happen for the special output units described in this manual. - - *Note Customizing Footnotes:: for more on footnotes formatting. -*Note Contents and Short Table of Contents Customization:: for more on -the ‘contents’ and ‘shortcontents’ formatting. *Note About Special -Output Unit Customization:: for more on the ‘about’ special output unit -body formatting. - - -File: texi2any_api.info, Node: Customizing HTML Footers, Headers and Navigation Panels, Next: Beginning and Ending Files, Prev: Customizing Footnotes, Tables of Contents and About, Up: Top - -17 Customizing HTML Footers, Headers and Navigation Panels -********************************************************** - -‘texi2any’ provides for customization of the HTML page headers, footers, -and navigation panel. (These are unrelated to the headings and -"footings" produced in TeX output; *note Page Headings: -(texinfo)Headings.) - - In the event that your needs are not met by setting customization -variables (*note (texinfo)Customization of Navigation and Headers::) and -changing the navigation buttons (*note Simple Navigation Panel -Customization::), you can completely control the formatting of -navigation panels by redefining function references. *Note Registering -Specific Formating Functions:: for information on how to register the -function references. - - In a nutshell, element header and footer formatting function -determines the button directions list to use and calls navigation header -formatting. The navigation header formatting adds some formatting if -needed, but mostly calls the navigation panel formatting. The -navigation panel can call buttons formatting. - - All the formatting functions take a converter object as first -argument. - -* Menu: - -* Navigation Panel Button Formatting:: -* Navigation Panel and Navigation Header Formatting:: -* Element Header and Footer Formatting:: -* Element Counters in Files:: - - -File: texi2any_api.info, Node: Navigation Panel Button Formatting, Next: Navigation Panel and Navigation Header Formatting, Up: Customizing HTML Footers, Headers and Navigation Panels - -17.1 Navigation Panel Button Formatting -======================================= - -The function reference ‘format_button’ does the formatting of one -button, corresponding, in general, to a link to a direction: - - -- Function Reference: $FORMATTED_BUTTON format_button ($CONVERTER, - $BUTTON, $SOURCE_COMMAND) - $BUTTON holds the specification of the button (*note Buttons - Display::). $SOURCE_COMMAND is an optional argument, the @-command - the link comes from. - - Returns the formatted result in $FORMATTED_BUTTON. - - The buttons images can be formatted with ‘format_button_icon_img’ - (see below). - - Simple navigation panel customization (*note Simple Navigation - Panel Customization::), ‘USE_ACCESSKEY’, ‘USE_REL_REV’ and - direction strings customization (*note Direction Strings - Customization::) can be relevant for the formatting of a button. - - To get direction strings typically used for formatting of buttons or -hyperrefs leading to that direction, use ‘direction_string’: - - -- Function: $STRING = $CONVERTER->direction_string ($DIRECTION, - $STRING_TYPE, $CONTEXT) - Retrieve the $DIRECTION (*note Directions::) string of type - $STRING_TYPE (*note Direction Strings::). $CONTEXT is ‘normal’ or - ‘string’. *Note Init File Expansion Contexts::. If $CONTEXT is - ‘undef’, the ‘normal’ context is assumed. The string will be - translated if needed. May return ‘undef’. - - To get the Texinfo special output unit associated with a special -output unit direction, such as ‘About’ or ‘Contents’, as well as output -unit associated with other global directions, such as ‘Top’ or ‘Index’, -use use ‘global_direction_unit’: - - -- Function: \%OUTPUT_UNIT = $CONVERTER->global_direction_unit - ($DIRECTION) - Return the output unit associated with direction $DIRECTION, or - ‘undef’ if the direction is not a global output unit direction nor - a special output unit direction or the associated special output - unit is not output. - - To get link information for relative and global directions, use -‘from_element_direction’: - - -- Function: $RESULT = $CONVERTER->from_element_direction ($DIRECTION, - $TYPE, $SOURCE_ELEMENT, $SOURCE_FILENAME, $SOURCE_COMMAND) - Return a string for linking to $DIRECTION, or the information to be - used for a hyperlink to $DIRECTION, depending on $TYPE. The - possible values for $TYPE are described in *note Output Unit - Direction Information Type::. - - $SOURCE_ELEMENT is the output unit the link comes from. If not - set, the current output unit is used. $SOURCE_FILENAME is the file - the link comes from. If not set, the current file name is used. - $SOURCE_COMMAND is an optional argument, the @-command the link - comes from. It is only used for messages. - - ‘format_button_icon_img’ formatting function can be redefined. In -the default case, it is called for an active direction, if ‘ICONS’ is -set, when formatting a navigation panel button. - - -- Function Reference: $TEXT format_button_icon_img ($CONVERTER, - $BUTTON, $ICON, $NAME) - $BUTTON is a button name, typically obtained from the ‘button’ - direction string (*note Direction Strings::). $ICON is an image - file name to be used as icon. $NAME is the direction heading, - typically formatted in string context. *Note Init File Expansion - Contexts::. - - Returns a formatted icon image. - - *Note Directions:: for the list of directions. - - -File: texi2any_api.info, Node: Navigation Panel and Navigation Header Formatting, Next: Element Header and Footer Formatting, Prev: Navigation Panel Button Formatting, Up: Customizing HTML Footers, Headers and Navigation Panels - -17.2 Navigation Panel and Navigation Header Formatting -====================================================== - -The overall display of navigation panels is controlled via this function -reference, ‘format_navigation_header’: - - -- Function Reference: $NAVIGATION_TEXT format_navigation_header - ($CONVERTER, \@BUTTONS, $COMMAND_NAME, \%ELEMENT) - \@BUTTONS is an array reference holding the specification of the - buttons for the navigation panel (*note Simple Navigation Panel - Customization::). \%ELEMENT is the element in which the navigation - header is formatted. $COMMAND_NAME is the associated command - (sectioning command or ‘@node’). It may be ‘undef’ for special - output units. - - Returns the formatted navigation header and panel. The navigation - panel itself can be formatted with a call to - ‘format_navigation_panel’. - - The customization variable ‘VERTICAL_HEAD_NAVIGATION’ should be - relevant (*note (texinfo)Customization of Navigation and - Headers::). - - The navigation panel display is controlled via -‘format_navigation_panel’: - - -- Function Reference: $NAVIGATION_TEXT format_navigation_panel - ($CONVERTER, \@BUTTONS, $COMMAND_NAME, \%ELEMENT, $VERTICAL) - \@BUTTONS is an array reference holding the specification of the - buttons for that navigation panel. \%ELEMENT is the element in - which the navigation header is formatted. $COMMAND_NAME is the - associated command (sectioning command or ‘@node’). It may be - ‘undef’ for special elements. $VERTICAL is true if the navigation - panel should be vertical. - - Returns the formatted navigation panel in $NAVIGATION_TEXT. The - buttons in the navigation panel can be formatted with a call to - ‘format_button’ (*note format_button::). - - -File: texi2any_api.info, Node: Element Header and Footer Formatting, Next: Element Counters in Files, Prev: Navigation Panel and Navigation Header Formatting, Up: Customizing HTML Footers, Headers and Navigation Panels - -17.3 Element Header and Footer Formatting -========================================= - -By default, the function associated with ‘format_element_header’ formats -the header and navigation panel of an output unit. - - -- Function Reference: $FORMATTED_HEADER format_element_header - ($CONVERTER, $COMMAND_NAME, \%ELEMENT, \%OUTPUT_UNIT) - \%ELEMENT is the element in which the navigation header is - formatted (sectioning command, ‘@node’ or special output unit). - $COMMAND_NAME is the associated command name. It may be ‘undef’ - for special output units. \%OUTPUT_UNIT is the associated output - unit (*note Texinfo Tree Elements in User Defined Functions::). - - Returns the formatted navigation header and panel. - - In the default code, the function reference select a buttons list - (*note Simple Navigation Panel Customization::). The navigation - header can then be formatted with a call to - ‘format_navigation_header’ (*note format_navigation_header::). It - is also possible to format directly the navigation panel, depending - on customization variables values and location in file. - - Similarly, the function associated with ‘format_element_footer’ -formats the footer and navigation panel of a output unit. - - -- Function Reference: $FORMATTED_FOOTER format_element_footer - ($CONVERTER, $OUTPUT_UNIT_TYPE, \%OUTPUT_UNIT, $CONTENT, - $COMMAND) - \%OUTPUT_UNIT is the output unit in which the navigation footer is - formatted. $OUTPUT_UNIT_TYPE is the associated type. $CONTENT is - the formatted element content. $CONTENT can be ‘undef’. $COMMAND - is an optional argument, the @-command associated with the - \%OUTPUT_UNIT. - - Returns the formatted navigation footer and panel. - - In the default code, the function reference select a buttons list - (*note Simple Navigation Panel Customization::). The navigation - header can then be formatted with a call to - ‘format_navigation_header’ (*note format_navigation_header::). - - Many customization variables have an effect on the footer - formatting, such as ‘SPLIT’ (*note (texinfo)HTML Splitting::), - customization variables used for the customization of headers such - as ‘HEADERS’ or ‘WORDS_IN_PAGE’ (*note (texinfo)Customization of - Navigation and Headers::) and customization variables setting - inserted HTML code such as ‘DEFAULT_RULE’ (*note - (texinfo)Customization of HTML Code Inserted::). - - To select the list of buttons for header and footer formatting, it -may be handy to be able to determine if the output unit being formatted -is the Top output unit. To determine if a output unit is associated -with the top output unit, use ‘unit_is_top_output_unit’: - - -- Function: $IS_TOP_OUTPUT_UNIT = $CONVERTER->unit_is_top_output_unit - (\%OUTPUT_UNIT) - Returns true if the \%OUTPUT_UNIT output unit is the Top output - unit (*note Output Units::) and is either associated with the - ‘@top’ sectioning command or with the ‘Top’ ‘@node’. - - -File: texi2any_api.info, Node: Element Counters in Files, Prev: Element Header and Footer Formatting, Up: Customizing HTML Footers, Headers and Navigation Panels - -17.4 Element Counters in Files -============================== - -The position of the output unit being formatted in its file or the total -number of elements output to a file is interesting for navigation header -and footer formatting, for instance to format end of files, decide which -type navigation header or footer is needed and whether a rule should be -output. - - To get information on tree elements unit counter in files, use -‘count_elements_in_filename’: - - -- Function: $COUNT = $CONVERTER->count_elements_in_filename - ($SPECIFICATION, $FILE_NAME) - Return output unit counter for $FILE_NAME, or ‘undef’ if the - counter does not exist. The counter returned depends on - $SPECIFICATION: - - _current_ - Return the number of output units associated with $FILE_NAME - having already been processed. - _remaining_ - Return the number of output units associated with $FILE_NAME - that remains to be processed. - _total_ - Return the total number of output units associated with the - file. - - For example, to get the total number of output units associated with -the file of a node element: - my $file_name = $converter->command_filename($node_element); - my $number = $converter->count_elements_in_filename('total', - $file_name); - - -File: texi2any_api.info, Node: Beginning and Ending Files, Next: Titlepage, CSS and Redirection Files, Prev: Customizing HTML Footers, Headers and Navigation Panels, Up: Top - -18 Beginning and Ending Files -***************************** - -The end of file (footers) formatting function reference is called from -the converter after all the output units in the file have been -converted. The beginning of file (headers) formatting function -reference is called right after the footers formatting function -reference. - - *Note Registering Specific Formating Functions:: for information on -how to register and get the functions references. - -* Menu: - -* Customizing HTML File Beginning:: -* Customizing HTML File End:: -* Associating Information to an Output File:: - - -File: texi2any_api.info, Node: Customizing HTML File Beginning, Next: Customizing HTML File End, Up: Beginning and Ending Files - -18.1 Customizing HTML File Beginning -==================================== - -You can set the variable ‘DOCTYPE’ to replace the default. The -‘DOCTYPE’ is output at the very beginning of each output file. - - You can define the variable ‘EXTRA_HEAD’ to add text within the -‘<head>’ HTML element. Similarly, the value of ‘AFTER_BODY_OPEN’ is -added just after ‘<body>’ is output. These variables are empty by -default. - - The ‘<body>’ element attributes may be set by defining the -customization variable ‘BODY_ELEMENT_ATTRIBUTES’. - - By default, the encoding name from ‘OUTPUT_ENCODING_NAME’ is used. -If this variable is not defined, it is automatically determined. - - A date is output in the header if ‘DATE_IN_HEADER’ is set. - - The description from ‘@documentdescription’ (or a value set as a -customization variable) is used in the header (*note -(texinfo)@documentdescription::). - - ‘<link>’ elements are used in the header if ‘USE_LINKS’ is set, in -which case ‘LINKS_BUTTONS’ determines which links are used and the ‘rel’ -direction string (*note Direction Strings::) determines the link type -associated with the ‘rel’ attribute. *Note Simple Navigation Panel -Customization::. - - You can set ‘HTML_ROOT_ELEMENT_ATTRIBUTES’ to add attributes to the -‘<html>’ element. - - If ‘SECTION_NAME_IN_TITLE’ is set, the sectioning command argument is -used in the ‘<title>’ HTML element instead of the ‘@node’ argument. - - You can also set a JavaScript browsing interface with customization -variables (*note (texinfo)JavaScript Interface and Licenses::). *Note -(texinfo)Customization of Navigation and Headers:: for more information -on customization variables in the main Texinfo manual. *Note -(texinfo)Customization of HTML Code Inserted:: for more on insertion of -HTML code in output. - - The following function references give full control over the page -header formatting done at the top of each HTML output file. - - -- Function Reference: $FILE_BEGIN format_begin_file ($CONVERTER, - $FILENAME, \%OUTPUT_UNIT) - $FILENAME is the name of the file output. \%OUTPUT_UNIT is the - first output unit of the file. This function should print the page - header, in HTML, including the ‘<body>’ element. - - -File: texi2any_api.info, Node: Customizing HTML File End, Next: Associating Information to an Output File, Prev: Customizing HTML File Beginning, Up: Beginning and Ending Files - -18.2 Customizing HTML File End -============================== - -You can define the variable ‘PRE_BODY_CLOSE’ to add text just before the -HTML ‘</body>’ element. Nothing is added by default. If -‘PROGRAM_NAME_IN_FOOTER’ is set, the date and name of the program that -generated the output are output in the footer. - - By default, the JavaScript license web labels page is formatted and -output at the end of file (*note (texinfo)JavaScript Interface and -Licenses::). - - The ‘format_end_file’ function reference give full control over the -page footer formatting done at the bottom of each HTML output file. - - -- Function Reference: $FILE_END format_end_file ($CONVERTER, - $FILENAME, \%OUTPUT_UNIT) - $FILENAME is the name of the file output. \%OUTPUT_UNIT is the - last output unit of the file. This function should print the page - footer, including the ‘</body>’ element. - - -File: texi2any_api.info, Node: Associating Information to an Output File, Prev: Customizing HTML File End, Up: Beginning and Ending Files - -18.3 Associating Information to an Output File -============================================== - -To be able to retrieve information associated with the current file, in -general for the file begin or end formatting, -‘register_file_information’ can be used to associate integer -information, and ‘get_file_information’ to retrieve that information. - - -- Function: $CONVERTER->register_file_information ($key, $value) - Associate the current output file name file to the key $KEY, itself - associated with the integer value $VALUE. - - -- Function: $VALUE = $CONVERTER->get_file_information ($KEY, - $FILE_NAME) - Return the value associated with the key $KEY and file name - $FILE_NAME. - - By default, this interface is used to get ‘mathjax’ file information -registered when converting math @-commands to insert references to -MathJax scripts in file beginning (*note (texinfo)MathJax scripts::) and -license information in end of files (*note (texinfo)JavaScript Interface -and Licenses::). - - -File: texi2any_api.info, Node: Titlepage, CSS and Redirection Files, Next: Specific Functions for Specific Elements, Prev: Beginning and Ending Files, Up: Top - -19 Titlepage, CSS and Redirection Files -*************************************** - -* Menu: - -* HTML Title Page Customization:: -* CSS Customization:: -* Customizing Node Redirection Pages:: - - -File: texi2any_api.info, Node: HTML Title Page Customization, Next: CSS Customization, Up: Titlepage, CSS and Redirection Files - -19.1 HTML Title Page Customization -================================== - -If ‘SHOW_TITLE’ is not set, no title is output. ‘SHOW_TITLE’ is ‘undef’ -in the default case. If ‘undef’, ‘SHOW_TITLE’ is set if -‘NO_TOP_NODE_OUTPUT’ is set. The "title page" is used to format the -HTML title if ‘USE_TITLEPAGE_FOR_TITLE’ is set, otherwise the -‘simpletitle’ is used. ‘USE_TITLEPAGE_FOR_TITLE’ is set in the default -case. *Note (texinfo)HTML Output Structure Customization::. - - The following functions references provides full control on the title -and "title page" formatting: - - -- Function Reference: $TITLE_TITLEPAGE format_title_titlepage - ($CONVERTER) - Returns the formatted title or "title page" text. - - In the default case, return nothing if ‘SHOW_TITLE’ is not set, - return the output of ‘format_titlepage’ if - ‘USE_TITLEPAGE_FOR_TITLE’ is set, and otherwise output a simple - title based on ‘simpletitle’. - - -- Function Reference: $TITLE_PAGE format_titlepage ($CONVERTER) - Returns the formatted "title page" text. - - In the default case, the ‘@titlepage’ is used if found in global - information, otherwise ‘simpletitle’ is used (*note Converter - General Information::). - - -File: texi2any_api.info, Node: CSS Customization, Next: Customizing Node Redirection Pages, Prev: HTML Title Page Customization, Up: Titlepage, CSS and Redirection Files - -19.2 CSS Customization -====================== - -CSS in HTML output can already be modified with command line options and -customization variables (*note (texinfo)HTML CSS::). More control of -the generated CSS is available through functions. - -* Menu: - -* Customization of CSS Rules Imports and Selectors:: -* Customizing the CSS Lines:: - - -File: texi2any_api.info, Node: Customization of CSS Rules Imports and Selectors, Next: Customizing the CSS Lines, Up: CSS Customization - -19.2.1 Customization of CSS Rules, Imports and Selectors --------------------------------------------------------- - -Information on static CSS data used in conversion and more direct -control over rules, CSS imports and selectors is available through -functions. The information is about CSS rules lines and CSS import -lines obtained from parsing ‘--css-include=FILE’ files, as described in -*note (texinfo)HTML CSS::, and CSS style rules associated with HTML -elements and class attributes used in the conversion to HTML. The CSS -style rules selectors are, classically, ‘ELEMENT.CLASS’ strings with -ELEMENT an HTML element and CLASS an attribute class associated with -that element. - - The function used are ‘css_get_info’ and ‘css_get_selector_style’ to -get information and ‘css_add_info’ and ‘css_set_selector_style’ to -modify: - - -- Function: $CONVERTER->css_get_info ($specification) - -- Function: $CONVERTER->css_get_selector_style ($selector) - -- Function: $CONVERTER->css_add_info ($specification, $css_info) - -- Function: $CONVERTER->css_set_selector_style ($selector, $css_style) - - Those functions can only be used on a converter $CONVERTER, from - functions registered and called with a converter. $SPECIFICATION - is ‘'rules'’ to get information on or set information for CSS rules - lines and ‘'imports'’ to get information on or set information for - CSS import lines. Any other value for $SPECIFICATION corresponds - to HTML elements and class attributes selectors, and can be used to - get the list of selectors. - - With ‘css_get_info’, array references corresponding to - $SPECIFICATION are returned. - - ‘css_get_selector_style’ returns the CSS style corresponding to the - HTML element and class attribute selector $SELECTOR, or ‘undef’ if - not found. - - With ‘css_add_info’, $CSS_INFO is an additional entry added to CSS - rules lines if $SPECIFICATION is set to ‘'rules'’ or an additional - entry added to CSS import lines if $SPECIFICATION is set to - ‘'imports'’. - - With ‘css_set_selector_style’, $SELECTOR is a CSS rule selector and - the associated style rule is set to $CSS_STYLE. - - Some examples of use: - - my @all_included_rules = $converter->css_get_info('rules'); - my $all_default_selector_styles = $converter->css_get_info('styles'); - my $titlefont_header_style = $converter->css_get_selector_style('h1.titlefont'); - - $converter->css_set_selector_style('h1.titlefont', 'text-align:center'); - $converter->css_add_info('imports', "\@import \"special.css\";\n"); - - Note that the CSS selectors and associated style rules that can be -accessed and modified will not necessarily end up in the HTML output. -They are output only if the HTML element and class corresponding to a -selector is seen in the document. *Note Customizing the CSS Lines::. - - The simplest way to modify CSS rules would be to use a function -registered for the ‘structure’ stage: - - sub my_function_set_some_css { - my $converter = shift; - - $converter->css_set_selector_style('h1.titlefont', - 'text-align:center'); - # ... calls to $converter->css_add_info(); - } - - texinfo_register_handler('structure', \&my_function_set_some_css); - - -File: texi2any_api.info, Node: Customizing the CSS Lines, Prev: Customization of CSS Rules Imports and Selectors, Up: CSS Customization - -19.2.2 Customizing the CSS Lines --------------------------------- - -The CSS ELEMENT.CLASS that appeared in a file, gathered through -‘html_attribute_class’ calls (*note Formatting HTML Element with -Classes::) are available through the ‘html_get_css_elements_classes’ -function: - - -- Function: \@CSS_ELEMENT_CLASSES = - $CONVERTER->html_get_css_elements_classes ($FILE_NAME) - Returns a reference on an array containing ‘element.class’ pairs of - elements and classes appearing in $FILE_NAME. - - It is possible to change completely how CSS lines are generated by -redefining the following function reference: - - -- Function Reference: $CSS_LINES format_css_lines ($CONVERTER, - $FILE_NAME) - This function returns the CSS lines and ‘<script>’ HTML element for - $FILE_NAME. - - In the default case, the function reference uses ‘CSS_REFS’ - corresponding to command-line ‘--css-ref’, - ‘html_get_css_elements_classes’, ‘css_get_info’ and - ‘css_element_class_rule’ (*note Customization of CSS Rules Imports - and Selectors::) to determine the CSS lines. - - -File: texi2any_api.info, Node: Customizing Node Redirection Pages, Prev: CSS Customization, Up: Titlepage, CSS and Redirection Files - -19.3 Customizing Node Redirection Pages -======================================= - -Node redirection pages are output if ‘NODE_FILES’ is set (*note -(texinfo)Invoking texi2any::). - - It is possible to change completely how node redirection pages are -generated by redefining the following function reference: - - -- Function Reference: $NODE_REDIRECTION_FILE_CONTENT - format_node_redirection_page ($CONVERTER, \%ELEMENT) - \%ELEMENT is a node element needing a redirection page. A - redirection page is needed if the node file name is not the file - name expected for HTML cross manual references (*note (texinfo)HTML - Xref::). - - Returns the content of the node redirection file. - - -File: texi2any_api.info, Node: Specific Functions for Specific Elements, Next: Functions Index, Prev: Titlepage, CSS and Redirection Files, Up: Top - -Appendix A Specific Functions for Specific Elements -*************************************************** - -Links on Texinfo Perl modules functions or descriptions of functions -that can be used for specific elements formatting: - -‘@today’ - *Note Texinfo::Convert::Utils::expand_today: - (texi2any_internals)Texinfo::Convert::Utils $tree = - expand_today($converter). - -‘@verbatiminclude’ - *Note Texinfo::Convert::Utils::expand_verbatiminclude: - (texi2any_internals)Texinfo::Convert::Utils $tree = - expand_verbatiminclude($registrar, $configuration_information, - $verbatiminclude). - -‘@def*’ @-commands - *Note Texinfo::Convert::Utils::definition_arguments_content: - (texi2any_internals)Texinfo::Convert::Utils $arguments = - definition_arguments_content($element). *Note - Texinfo::Convert::Utils::definition_category_tree: - (texi2any_internals)Texinfo::Convert::Utils $tree = - definition_category_tree($converter, $def_line). - -‘@float’ - *Note Texinfo::Convert::Converter::float_name_caption: - (texi2any_internals)Texinfo::Convert::Converter ($caption, - $prepended) = $converter->float_name_caption ($float). Can be - called as ‘$converter->float_name_caption’. - -accent @-commands - *Note Texinfo::Convert::Converter::xml_accent: - (texi2any_internals)Texinfo::Convert::Converter $result = - xml_accent($text, $accent_command, $in_upper_case, - $use_numeric_entities). Can be called as ‘$converter->xml_accent’. - - *Note Texinfo::Convert::Converter::xml_numeric_entity_accent: - (texi2any_internals)Texinfo::Convert::Converter $result = - xml_numeric_entity_accent($accent_command_name, $text). - - *Note Texinfo::Convert::Converter::convert_accents: - (texi2any_internals)Texinfo::Convert::Converter $result = - $converter->convert_accents($accent_command, \&format_accents, - $in_upper_case). - -text element - *Note - Texinfo::Convert::Converter::xml_format_text_with_numeric_entities: - (texi2any_internals)Texinfo::Convert::Converter $formatted_text = - $converter->xml_format_text_with_numeric_entities($text). Can be - called as ‘$converter->xml_format_text_with_numeric_entities’. - -‘@item’ in ‘@table’ and similar @-commands - *Note Texinfo::Convert::Converter::table_item_content_tree: - (texi2any_internals)Texinfo::Convert::Converter $table_item_tree = - $converter->table_item_content_tree($element, $contents). Can be - called as ‘$converter->table_item_content_tree’. - -‘@*index’ ‘@subentry’ - *Note Texinfo::Convert::Converter::comma_index_subentries_tree: - (texi2any_internals)Texinfo::Convert::Converter $contents_array - $converter->comma_index_subentries_tree($entry). Can be called as - ‘$converter->comma_index_subentries_tree’. - -global informative commands (‘@contents’, ‘@footnotestyle’ ...) - *Note Texinfo::Common::set_informative_command_value: - (texi2any_internals)Texinfo::Common - set_informative_command_value($configuration_information, - $element). - -heading commands, such as ‘@subheading’ - *Note Texinfo::Common::section_level: - (texi2any_internals)Texinfo::Common $level = - section_level($section). This function would work for sectioning - commands too, but for sectioning commands, - ‘section->{'extra'}->{'section_level'}’ can also be used. *Note - Texinfo Tree Elements in User Defined Functions::. - -sectioning commands - *Note Texinfo::Structuring::section_level_adjusted_command_name: - (texi2any_internals)Texinfo::Structuring $command_name = - section_level_adjusted_command_name($element). - -‘@itemize’ - ‘@itemize’ normally have an @-command as argument. If, instead, - the argument is some Texinfo code, - ‘html_convert_css_string_for_list_mark’ can be used to convert that - argument to text usable in CSS style specifications. - - -- Function: $TEXT_FOR_CSS = - $CONVERTER->html_convert_css_string_for_list_mark - (\%ELEMENT, $EXPLANATION) - \%ELEMENT is the Texinfo element that is converted to CSS - text. In general, it is ‘$itemize->{'args'}->[0]’, with - ‘$itemize’ an ‘@itemize’ Texinfo tree element. $EXPLANATION - is an optional string describing what is being done that can - be useful for debugging. - - Returns \%ELEMENT formatted as text suitable for CSS. - - The ‘Texinfo::Convert::NodeNameNormalization’ converter, used for -normalization of labels, exports functions that can be used on Texinfo -elements trees to obtain strings that are unique and can be used in -attributes. *Note -(texi2any_internals)Texinfo::Convert::NodeNameNormalization::. - - -File: texi2any_api.info, Node: Functions Index, Next: Variables Index, Prev: Specific Functions for Specific Elements, Up: Top - -Appendix B Functions Index -************************** - -�[index�] -* Menu: - -* $CONVERTER->associate_pending_formatted_inline_content: Inline Text Containers Formatting. - (line 68) -* $CONVERTER->cancel_pending_formatted_inline_content: Inline Text Containers Formatting. - (line 40) -* $CONVERTER->cdt: Internationalization of Strings Function. - (line 9) -* $CONVERTER->cdt_string: Internationalization of Strings Function. - (line 11) -* $CONVERTER->close_html_lone_element: Closing Lone HTML Element. - (line 10) -* $CONVERTER->close_registered_sections_level: Heading Commands Formatting. - (line 50) -* $CONVERTER->command_contents_href: Contents and Short Table of Contents Customization. - (line 80) -* $CONVERTER->command_contents_target: Contents and Short Table of Contents Customization. - (line 72) -* $CONVERTER->command_conversion: Command Tree Element Conversion Functions. - (line 125) -* $CONVERTER->command_filename: Target Tree Element Link. - (line 61) -* $CONVERTER->command_href: Target Tree Element Link. - (line 65) -* $CONVERTER->command_id: Target Tree Element Link. - (line 58) -* $CONVERTER->command_name_special_unit_information: Customizing Footnotes, Tables of Contents and About. - (line 33) -* $CONVERTER->command_node: Target Tree Element Link. - (line 139) -* $CONVERTER->command_root_element_command: Target Tree Element Link. - (line 107) -* $CONVERTER->command_text: Target Tree Element Link. - (line 77) -* $CONVERTER->command_tree: Target Tree Element Link. - (line 98) -* $CONVERTER->convert_tree: Texinfo Tree Conversion Functions. - (line 9) -* $CONVERTER->convert_tree_new_formatting_context: Texinfo Tree Conversion Functions. - (line 32) -* $CONVERTER->converter_document_error: Error Reporting in User Defined Functions. - (line 13) -* $CONVERTER->converter_document_warn: Error Reporting in User Defined Functions. - (line 15) -* $CONVERTER->converter_line_error: Error Reporting in User Defined Functions. - (line 24) -* $CONVERTER->converter_line_warn: Error Reporting in User Defined Functions. - (line 26) -* $CONVERTER->count_elements_in_filename: Element Counters in Files. - (line 15) -* $CONVERTER->css_add_info: Customization of CSS Rules Imports and Selectors. - (line 22) -* $CONVERTER->css_get_info: Customization of CSS Rules Imports and Selectors. - (line 20) -* $CONVERTER->css_get_selector_style: Customization of CSS Rules Imports and Selectors. - (line 21) -* $CONVERTER->css_set_selector_style: Customization of CSS Rules Imports and Selectors. - (line 23) -* $CONVERTER->current_filename: Other Dynamic Information. - (line 14) -* $CONVERTER->current_output_unit: Other Dynamic Information. - (line 8) -* $CONVERTER->default_command_conversion: Command Tree Element Conversion Functions. - (line 140) -* $CONVERTER->default_command_open: Command Tree Element Opening Functions. - (line 32) -* $CONVERTER->default_formatting_function: Registering Specific Formating Functions. - (line 25) -* $CONVERTER->default_output_unit_conversion: Output Units Conversion Functions. - (line 41) -* $CONVERTER->default_type_conversion: Type Tree Element Conversion Functions. - (line 37) -* $CONVERTER->default_type_open: Type Tree Element Opening Functions. - (line 25) -* $CONVERTER->defaults_special_unit_body_formatting: Special Unit Body Formatting Functions. - (line 51) -* $CONVERTER->define_shared_conversion_state: Define Get and Set Shared Conversion State. - (line 21) -* $CONVERTER->define_shared_conversion_state <1>: Define Get and Set Shared Conversion State. - (line 66) -* $CONVERTER->direction_string: Navigation Panel Button Formatting. - (line 28) -* $CONVERTER->encoded_output_file_name: Encoding File Path Strings. - (line 15) -* $CONVERTER->footnote_location_href: Customizing Footnotes. - (line 109) -* $CONVERTER->footnote_location_target: Customizing Footnotes. - (line 101) -* $CONVERTER->force_conf: Conversion Customization Variables. - (line 67) -* $CONVERTER->formatting_function: Registering Specific Formating Functions. - (line 17) -* $CONVERTER->from_element_direction: Navigation Panel Button Formatting. - (line 51) -* $CONVERTER->get_associated_formatted_inline_content: Inline Text Containers Formatting. - (line 72) -* $CONVERTER->get_conf: Conversion Customization Variables. - (line 28) -* $CONVERTER->get_converter_indices_sorted_by_letter: Specific Formatting for Indices. - (line 16) -* $CONVERTER->get_element_root_command_element: Target Tree Element Link. - (line 147) -* $CONVERTER->get_file_information: Associating Information to an Output File. - (line 15) -* $CONVERTER->get_info: Converter General Information. - (line 19) -* $CONVERTER->get_pending_footnotes: Customizing Footnotes. - (line 43) -* $CONVERTER->get_pending_formatted_inline_content: Inline Text Containers Formatting. - (line 52) -* $CONVERTER->get_shared_conversion_state: Define Get and Set Shared Conversion State. - (line 51) -* $CONVERTER->get_special_unit_info_varieties: Special Units Information Customization. - (line 54) -* $CONVERTER->global_direction_unit: Navigation Panel Button Formatting. - (line 41) -* $CONVERTER->html_attribute_class: Formatting HTML Element with Classes. - (line 9) -* $CONVERTER->html_convert_css_string_for_list_mark: Specific Functions for Specific Elements. - (line 93) -* $CONVERTER->html_get_css_elements_classes: Customizing the CSS Lines. - (line 11) -* $CONVERTER->html_image_file_location_name: Image Formatting. - (line 11) -* $CONVERTER->in_align: Other Dynamic Information. - (line 20) -* $CONVERTER->in_code: Text Tree Elements Conversion. - (line 43) -* $CONVERTER->in_math: Text Tree Elements Conversion. - (line 49) -* $CONVERTER->in_multi_expanded: Other Dynamic Information. - (line 40) -* $CONVERTER->in_multiple_conversions: Other Dynamic Information. - (line 27) -* $CONVERTER->in_non_breakable_space: Text Tree Elements Conversion. - (line 74) -* $CONVERTER->in_preformatted_context: Conversion in Preformatted Context. - (line 12) -* $CONVERTER->in_raw: Text Tree Elements Conversion. - (line 55) -* $CONVERTER->in_space_protected: Text Tree Elements Conversion. - (line 81) -* $CONVERTER->in_string: Conversion in String Context. - (line 12) -* $CONVERTER->in_upper_case: Text Tree Elements Conversion. - (line 69) -* $CONVERTER->in_verbatim: Text Tree Elements Conversion. - (line 62) -* $CONVERTER->inside_preformatted: Conversion in Preformatted Context. - (line 16) -* $CONVERTER->is_format_expanded: Converter General Information. - (line 12) -* $CONVERTER->label_command: Target Tree Element Link. - (line 23) -* $CONVERTER->output_unit_conversion: Output Units Conversion Functions. - (line 33) -* $CONVERTER->paragraph_number: Other Dynamic Information. - (line 53) -* $CONVERTER->pcdt: Internationalization of Strings Function. - (line 13) -* $CONVERTER->preformatted_classes_stack: Conversion in Preformatted Context. - (line 28) -* $CONVERTER->preformatted_number: Other Dynamic Information. - (line 54) -* $CONVERTER->register_file_information: Associating Information to an Output File. - (line 11) -* $CONVERTER->register_footnote: Customizing Footnotes. - (line 25) -* $CONVERTER->register_opened_section_level: Heading Commands Formatting. - (line 38) -* $CONVERTER->register_pending_formatted_inline_content: Inline Text Containers Formatting. - (line 23) -* $CONVERTER->set_conf: Conversion Customization Variables. - (line 39) -* $CONVERTER->special_unit_body_formatting: Special Unit Body Formatting Functions. - (line 35) -* $CONVERTER->special_unit_info: Special Units Information Customization. - (line 62) -* $CONVERTER->substitute_html_non_breaking_space: Substituting Non Breaking Space. - (line 18) -* $CONVERTER->top_block_command: Other Dynamic Information. - (line 60) -* $CONVERTER->type_conversion: Type Tree Element Conversion Functions. - (line 29) -* $CONVERTER->unit_is_top_output_unit: Element Header and Footer Formatting. - (line 58) -* $CONVERTER->url_protect_file_text($INPUT_STRING): Protection of URLs. - (line 33) -* $CONVERTER->url_protect_url_text($INPUT_STRING): Protection of URLs. - (line 19) -* command_conversion: Command Tree Element Conversion Functions. - (line 16) -* command_open: Command Tree Element Opening Functions. - (line 23) -* external_target_non_split_name($CONVERTER,: Customizing External Node Output Names. - (line 35) -* external_target_split_name($CONVERTER,: Customizing External Node Output Names. - (line 21) -* format_begin_file: Customizing HTML File Beginning. - (line 48) -* format_button: Navigation Panel Button Formatting. - (line 9) -* format_button_icon_img: Navigation Panel Button Formatting. - (line 68) -* format_comment: Basic Formatting Customization. - (line 15) -* format_contents: Contents and Short Table of Contents Customization. - (line 43) -* format_css_lines: Customizing the CSS Lines. - (line 19) -* format_element_footer: Element Header and Footer Formatting. - (line 29) -* format_element_header: Element Header and Footer Formatting. - (line 9) -* format_end_file: Customizing HTML File End. - (line 18) -* format_footnotes_segment: Customizing Footnotes. - (line 88) -* format_footnotes_sequence: Customizing Footnotes. - (line 54) -* format_heading_text: Basic Formatting Customization. - (line 25) -* format_navigation_header: Navigation Panel and Navigation Header Formatting. - (line 9) -* format_navigation_panel: Navigation Panel and Navigation Header Formatting. - (line 29) -* format_node_redirection_page: Customizing Node Redirection Pages. - (line 12) -* format_program_string: Basic Formatting Customization. - (line 53) -* format_protect_text: Basic Formatting Customization. - (line 58) -* format_separate_anchor: Basic Formatting Customization. - (line 77) -* format_single_footnote: Customizing Footnotes. - (line 66) -* format_title_titlepage: HTML Title Page Customization. - (line 16) -* format_titlepage: HTML Title Page Customization. - (line 25) -* format_translate_message: Translated Strings Customization. - (line 9) -* label_target_name: Customizing Output Target Names. - (line 14) -* node_file_name: Customizing Output File Names. - (line 15) -* output_unit_conversion: Output Units Conversion Functions. - (line 22) -* sectioning_command_target_name: Customizing Output Target Names. - (line 34) -* special_unit_body: Special Unit Body Formatting Functions. - (line 24) -* special_unit_target_file_name: Customizing Special Elements Output Names. - (line 9) -* stage_handler: Init File Calling at Different Stages. - (line 48) -* texinfo_add_to_option_list: Modifying Main Program Array Variables. - (line 15) -* texinfo_get_conf: Getting Main Program Variables Values. - (line 8) -* texinfo_register_accent_command_formatting: Simple Customization of Accent Commands. - (line 21) -* texinfo_register_command_formatting: Command Tree Element Conversion Functions. - (line 10) -* texinfo_register_command_opening: Command Tree Element Opening Functions. - (line 16) -* texinfo_register_direction_string_info: Direction Strings Customization. - (line 12) -* texinfo_register_file_id_setting_function: Customizing Output-Related Names. - (line 12) -* texinfo_register_formatting_function: Registering Specific Formating Functions. - (line 9) -* texinfo_register_formatting_special_unit_body: Special Unit Body Formatting Functions. - (line 17) -* texinfo_register_handler: Init File Calling at Different Stages. - (line 37) -* texinfo_register_init_loading_error: Init File Loading Error Reporting. - (line 10) -* texinfo_register_init_loading_warning: Init File Loading Error Reporting. - (line 11) -* texinfo_register_no_arg_command_formatting: Simple Customization for Commands Without Arguments. - (line 13) -* texinfo_register_output_unit_formatting: Output Units Conversion Functions. - (line 15) -* texinfo_register_special_unit_info: Special Units Information Customization. - (line 44) -* texinfo_register_style_command_formatting: Simple Output Customization for Simple Commands with Braces. - (line 11) -* texinfo_register_type_format_info: Simple Customization of Containers. - (line 16) -* texinfo_register_type_formatting: Type Tree Element Conversion Functions. - (line 11) -* texinfo_register_type_opening: Type Tree Element Opening Functions. - (line 10) -* texinfo_register_upper_case_command: Customization of Commands Converting to Uppercase. - (line 10) -* texinfo_remove_from_option_list: Modifying Main Program Array Variables. - (line 17) -* texinfo_set_format_from_init_file: Setting Main Program String Variables. - (line 41) -* texinfo_set_from_init_file: Setting Main Program String Variables. - (line 9) -* Texinfo::Common::get_build_constant: Getting Build Constants. - (line 10) -* type_conversion: Type Tree Element Conversion Functions. - (line 17) -* type_open: Type Tree Element Opening Functions. - (line 16) -* unit_file_name: Customizing Output File Names. - (line 26) - - -File: texi2any_api.info, Node: Variables Index, Next: General Index, Prev: Functions Index, Up: Top - -Appendix C Variables Index -************************** - -�[index�] -* Menu: - -* ACTIVE_ICONS: Simple Navigation Panel Customization. - (line 17) -* ACTIVE_ICONS <1>: Simple Navigation Panel Customization. - (line 75) -* AFTER_BODY_OPEN: Customizing HTML File Beginning. - (line 9) -* BODY_ELEMENT_ATTRIBUTES: Customizing HTML File Beginning. - (line 14) -* BUTTONS_REL, In file beginning: Customizing HTML File Beginning. - (line 26) -* CHAPTER_BUTTONS: Simple Navigation Panel Customization. - (line 47) -* CHAPTER_FOOTER_BUTTONS: Simple Navigation Panel Customization. - (line 41) -* COMMAND_LINE_ENCODING: Decoding File Path Strings. - (line 6) -* CONTENTS_OUTPUT_LOCATION: Contents and Short Table of Contents Customization. - (line 6) -* CONTENTS_OUTPUT_LOCATION, Output unit: Output Units. (line 58) -* DATE_IN_HEADER: Customizing HTML File Beginning. - (line 20) -* DO_ABOUT: Output Units. (line 72) -* DOC_ENCODING_FOR_INPUT_FILE_NAME: Encoding File Path Strings. - (line 26) -* DOC_ENCODING_FOR_OUTPUT_FILE_NAME: Encoding File Path Strings. - (line 15) -* DOCTYPE: Customizing HTML File Beginning. - (line 6) -* explained_commands: Shared Conversion State in Default Formatting. - (line 26) -* EXTRA_HEAD: Customizing HTML File Beginning. - (line 9) -* footnote_id_numbers: Shared Conversion State in Default Formatting. - (line 31) -* footnote_number: Shared Conversion State in Default Formatting. - (line 29) -* formatted_index_entries: Shared Conversion State in Default Formatting. - (line 42) -* formatted_listoffloats: Shared Conversion State in Default Formatting. - (line 36) -* formatted_nodedescriptions: Shared Conversion State in Default Formatting. - (line 47) -* HANDLER_FATAL_ERROR_LEVEL: Init File Calling at Different Stages. - (line 53) -* html_menu_entry_index: Shared Conversion State in Default Formatting. - (line 39) -* HTML_ROOT_ELEMENT_ATTRIBUTES: Customizing HTML File Beginning. - (line 32) -* in_skipped_node_top: Shared Conversion State in Default Formatting. - (line 44) -* INLINE_CSS_STYLE: Formatting HTML Element with Classes. - (line 19) -* INPUT_FILE_NAME_ENCODING: Encoding File Path Strings. - (line 26) -* LINKS_BUTTONS: Simple Navigation Panel Customization. - (line 55) -* LINKS_BUTTONS, In file beginning: Customizing HTML File Beginning. - (line 26) -* LOCALE_OUTPUT_FILE_NAME_ENCODING: Encoding File Path Strings. - (line 15) -* MESSAGE_ENCODING: Encoding File Path Strings. - (line 30) -* MISC_BUTTONS: Simple Navigation Panel Customization. - (line 51) -* NO_CSS: Formatting HTML Element with Classes. - (line 19) -* NO_NUMBER_FOOTNOTE_SYMBOL: Customizing Footnotes. - (line 6) -* NO_TOP_NODE_OUTPUT: HTML Title Page Customization. - (line 6) -* NODE_FOOTER_BUTTONS: Simple Navigation Panel Customization. - (line 42) -* NUMBER_FOOTNOTES: Customizing Footnotes. - (line 6) -* OUTPUT_ENCODING_NAME: Customizing HTML File Beginning. - (line 17) -* PACKAGE: Getting Build Constants. - (line 15) -* PACKAGE_AND_VERSION: Getting Build Constants. - (line 17) -* PACKAGE_AND_VERSION_CONFIG: Getting Build Constants. - (line 18) -* PACKAGE_CONFIG: Getting Build Constants. - (line 16) -* PACKAGE_NAME: Getting Build Constants. - (line 19) -* PACKAGE_NAME_CONFIG: Getting Build Constants. - (line 20) -* PACKAGE_URL: Getting Build Constants. - (line 23) -* PACKAGE_URL_CONFIG: Getting Build Constants. - (line 24) -* PACKAGE_VERSION: Getting Build Constants. - (line 21) -* PACKAGE_VERSION_CONFIG: Getting Build Constants. - (line 22) -* PASSIVE_ICONS: Simple Navigation Panel Customization. - (line 18) -* PASSIVE_ICONS <1>: Simple Navigation Panel Customization. - (line 75) -* PRE_BODY_CLOSE: Customizing HTML File End. - (line 6) -* PROGRAM_NAME_IN_ABOUT: About Special Output Unit Customization. - (line 12) -* PROGRAM_NAME_IN_FOOTER: Customizing HTML File End. - (line 6) -* SECTION_BUTTONS: Simple Navigation Panel Customization. - (line 33) -* SECTION_FOOTER_BUTTONS: Simple Navigation Panel Customization. - (line 40) -* SECTION_NAME_IN_TITLE: Customizing HTML File Beginning. - (line 35) -* SHOW_TITLE: HTML Title Page Customization. - (line 6) -* texinfo_document Gettext domain: Internationalization of Strings Function. - (line 6) -* TOP_BUTTONS: Simple Navigation Panel Customization. - (line 58) -* TOP_FOOTER_BUTTONS: Simple Navigation Panel Customization. - (line 59) -* USE_ACCESSKEY: Simple Navigation Panel Customization. - (line 114) -* USE_LINKS: Customizing HTML File Beginning. - (line 26) -* USE_REL_REV: Simple Navigation Panel Customization. - (line 118) -* USE_TITLEPAGE_FOR_TITLE: HTML Title Page Customization. - (line 6) - - -File: texi2any_api.info, Node: General Index, Prev: Variables Index, Up: Top - -Appendix D General Index -************************ - -�[index�] -* Menu: - -* --init-file: Loading Init Files. (line 46) -* </body> tag, outputting: Customizing HTML File End. - (line 21) -* <body> tag, attributes of: Customizing HTML File Beginning. - (line 14) -* <body> tag, outputting: Customizing HTML File Beginning. - (line 50) -* <head> block, adding to: Customizing HTML File Beginning. - (line 9) -* About page, output unit: Output Units. (line 38) -* About special output unit, customizing: About Special Output Unit Customization. - (line 6) -* Accent command named entities: Simple Customization of Accent Commands. - (line 6) -* Accent commands, customizing HTML for: Simple Customization of Accent Commands. - (line 6) -* accesskey navigation: Simple Navigation Panel Customization. - (line 114) -* associated_unit output unit: Output Units in User Defined Functions. - (line 33) -* Button specification, navigation panel: Simple Navigation Panel Customization. - (line 25) -* Calling functions at different stages: Init File Calling at Different Stages. - (line 6) -* Commands without arguments, customizing HTML for: Simple Customization for Commands Without Arguments. - (line 6) -* Constants: Getting Build Constants. - (line 6) -* Contents, customizing elements: Contents and Short Table of Contents Customization. - (line 6) -* Contexts for expansion in init files: Init File Expansion Contexts. - (line 6) -* CSS customization: Customization of CSS Rules Imports and Selectors. - (line 6) -* CSS customization <1>: Customizing the CSS Lines. - (line 6) -* Customization of About special output unit: About Special Output Unit Customization. - (line 6) -* Customization of tables of contents elements: Contents and Short Table of Contents Customization. - (line 6) -* Customization variables, setting and getting: Managing Customization Variables. - (line 6) -* Customizing CSS, Imports: Customization of CSS Rules Imports and Selectors. - (line 6) -* Customizing CSS, Lines output: Customizing the CSS Lines. - (line 6) -* Customizing CSS, Rules: Customization of CSS Rules Imports and Selectors. - (line 6) -* Customizing CSS, Selectors: Customization of CSS Rules Imports and Selectors. - (line 6) -* Customizing HTML page footers: Customizing HTML File End. - (line 6) -* Customizing HTML page headers: Element Header and Footer Formatting. - (line 6) -* Customizing output file names: Customizing Output File Names. - (line 6) -* Customizing output target names: Customizing Output Target Names. - (line 6) -* Date, in header: Customizing HTML File Beginning. - (line 20) -* Direction information type: Output Unit Direction Information Type. - (line 6) -* Direction strings: Direction Strings. (line 9) -* Direction strings, getting: Navigation Panel Button Formatting. - (line 25) -* Directions: Directions. (line 6) -* Document description, in HTML output: Customizing HTML File Beginning. - (line 22) -* Document structure: Texinfo Tree Elements in User Defined Functions. - (line 20) -* Document units: Output Units. (line 6) -* Elements, main unit of output documents: Output Units. (line 6) -* Encoding, in HTML output: Customizing HTML File Beginning. - (line 17) -* Error reporting, conversion: Error Reporting in User Defined Functions. - (line 6) -* Error reporting, loading: Init File Loading Error Reporting. - (line 6) -* Expansion contexts, for init files: Init File Expansion Contexts. - (line 6) -* FirstInFile direction variant: Directions. (line 91) -* Footer, customizing for HTML: Customizing HTML File End. - (line 6) -* Footnotes, output unit: Output Units. (line 38) -* Formatting functions, for navigation panel: Navigation Panel and Navigation Header Formatting. - (line 6) -* Functions, calling at different stages: Init File Calling at Different Stages. - (line 6) -* Global directions output units, getting: Navigation Panel Button Formatting. - (line 36) -* Headers, customizing for HTML: Element Header and Footer Formatting. - (line 6) -* HTML customization for accent commands: Simple Customization of Accent Commands. - (line 6) -* HTML customization for commands without arguments: Simple Customization for Commands Without Arguments. - (line 6) -* HTML customization for simple commands: Simple Output Customization for Simple Commands with Braces. - (line 6) -* HTML determine commands converting to uppercase: Customization of Commands Converting to Uppercase. - (line 6) -* Icons, in navigation buttons: Simple Navigation Panel Customization. - (line 75) -* Id names, customizing: Customizing Output Target Names. - (line 6) -* Init file basics: Init File Basics. (line 6) -* Init file calling functions at different stages: Init File Calling at Different Stages. - (line 6) -* Init file expansion contexts: Init File Expansion Contexts. - (line 6) -* Init file namespace: Init File Namespace. (line 6) -* Initialization files, loading: Loading Init Files. (line 6) -* Insertion commands, customizing HTML for: Simple Customization for Commands Without Arguments. - (line 6) -* Links information: Directions. (line 6) -* Loading init files: Loading Init Files. (line 6) -* Math expansion context: Init File Expansion Contexts. - (line 27) -* Namespace, for init files: Init File Namespace. (line 6) -* Navigation panel button specification: Simple Navigation Panel Customization. - (line 25) -* Navigation panel formatting functions: Navigation Panel and Navigation Header Formatting. - (line 6) -* Navigation panel, simple customization of: Simple Navigation Panel Customization. - (line 6) -* Normal expansion context: Init File Expansion Contexts. - (line 11) -* Normal output units: Output Units. (line 15) -* Output elements: Output Units. (line 6) -* Output file names, customizing: Customizing Output File Names. - (line 6) -* Output unit directions: Directions. (line 6) -* Output units, defined: Output Units. (line 12) -* Overview element, customizing: Contents and Short Table of Contents Customization. - (line 6) -* Overview, output unit: Output Units. (line 38) -* Percent encoding: Protection of URLs. (line 6) -* Perl namespaces, for init files: Init File Namespace. (line 6) -* Perl, language for init files: Init File Basics. (line 6) -* Preformatted expansion context: Init File Expansion Contexts. - (line 14) -* Protecting, URL: Protection of URLs. (line 6) -* rel navigation: Simple Navigation Panel Customization. - (line 118) -* Search paths, for initialization files: Loading Init Files. (line 6) -* Short table of contents element, customizing: Contents and Short Table of Contents Customization. - (line 6) -* Short table of contents, output unit: Output Units. (line 38) -* Simple commands, customizing HTML for: Simple Output Customization for Simple Commands with Braces. - (line 6) -* Simple Customization, of navigation panel: Simple Navigation Panel Customization. - (line 6) -* Special Elements file names, customizing: Customizing Special Elements Output Names. - (line 6) -* Special Elements id names, customizing: Customizing Special Elements Output Names. - (line 6) -* Special Elements target names, customizing: Customizing Special Elements Output Names. - (line 6) -* String expansion context: Init File Expansion Contexts. - (line 32) -* Style commands, customizing HTML for: Simple Output Customization for Simple Commands with Braces. - (line 6) -* Table of contents, output unit: Output Units. (line 38) -* Target names, customizing: Customizing Output Target Names. - (line 6) -* texi2any-config.pm init files loaded: Loading Init Files. (line 6) -* Texinfo tree output units: Output Units. (line 6) -* Texinfo::Convert::Converter, error reporting: Error Reporting in User Defined Functions. - (line 6) -* Title page, customization: HTML Title Page Customization. - (line 6) -* Top output unit: Output Units. (line 28) -* Translated direction strings: Direction Strings. (line 28) -* Type, of direction information: Output Unit Direction Information Type. - (line 6) -* Unit type: Output Units in User Defined Functions. - (line 23) -* unit_command element: Output Units in User Defined Functions. - (line 33) -* URL protection: Protection of URLs. (line 6) -* User defined functions, registering: User Defined Functions are Registered. - (line 6) - - -Tag Table: -Node: Top889 -Node: Overview6076 -Node: Loading Init Files7808 -Node: Init File Basics11928 -Ref: Init File Basics-Footnote-112963 -Node: Init File Namespace13105 -Node: Getting Build Constants14139 -Ref: Getting Build Constants-Footnote-115343 -Node: Managing Customization Variables15552 -Node: Setting Main Program String Variables16756 -Node: Modifying Main Program Array Variables18984 -Node: Setting Converter Variables in Main Program20328 -Node: Getting Main Program Variables Values21315 -Node: Init File Loading Error Reporting21874 -Node: Simple formatting customization22749 -Node: Init File Expansion Contexts23332 -Node: Simple Customization for Commands Without Arguments25296 -Node: Simple Customization for Simple Commands with Braces28898 -Node: Customization of Commands Converting to Uppercase29375 -Node: Simple Output Customization for Simple Commands with Braces30301 -Node: Simple Customization of Accent Commands32674 -Node: Simple Customization of Containers34630 -Ref: Simple Customization of Containers-Footnote-136275 -Node: Simple headers customizations36576 -Node: Output Units37473 -Node: Directions41587 -Ref: FirstInFile direction variant43759 -Node: Output Unit Direction Information Type44175 -Node: Direction Strings45518 -Node: Direction Strings Customization46567 -Node: Simple Navigation Panel Customization48539 -Ref: Buttons Display51503 -Ref: Accesskey and rel Navigation53659 -Node: User Defined Functions54117 -Node: User Defined Functions are Registered54652 -Node: Converter Object and Conversion Functions56295 -Node: User Defined Functions Common Tasks57224 -Node: Error Reporting in User Defined Functions57858 -Node: Conversion Customization Variables59828 -Node: Encoding and Decoding File Path Strings63418 -Node: Encoding File Path Strings63766 -Node: Decoding File Path Strings66264 -Node: Protection of URLs67387 -Node: Customizing Output-Related Names69955 -Node: Customizing Output File Names71338 -Node: Customizing Output Target Names73733 -Node: Customizing External Node Output Names76350 -Node: Customizing Special Elements Output Names78715 -Node: Init File Calling at Different Stages79649 -Node: Formatting HTML Output82534 -Node: Specific HTML Constructs Formatting Functions83913 -Node: Formatting HTML Element with Classes84441 -Node: Closing Lone HTML Element85921 -Node: Substituting Non Breaking Space86846 -Node: Converter General Information88019 -Ref: is_format_expanded88539 -Node: Getting Conversion Context93996 -Node: Conversion in String Context94486 -Node: Conversion in Preformatted Context95292 -Node: Other Dynamic Information97388 -Node: Converting Texinfo Trees100157 -Node: Texinfo Tree Conversion Functions101318 -Node: Setting the Context for Conversion103996 -Node: Conversion to Plain Text105370 -Node: Texinfo Tree Elements in User Defined Functions107870 -Node: Output Units in User Defined Functions109724 -Ref: Unit Type110852 -Node: Customization and Use of Formatting Functions112503 -Node: Registering Specific Formating Functions114216 -Node: Basic Formatting Customization115695 -Ref: Basic Formatting Customization-Footnote-1120048 -Node: Tree Element Conversion Customization120247 -Node: Command Tree Element Conversion121350 -Node: Command Tree Element Conversion Functions122015 -Ref: HTML command arguments formatting126015 -Node: Command Tree Element Opening Functions128844 -Node: Heading Commands Formatting130660 -Node: Target Tree Element Link134105 -Ref: get_element_root_command_element140557 -Node: Specific Formatting for Indices141521 -Node: Image Formatting142805 -Node: Type Tree Element Conversion144367 -Node: Type Tree Element Conversion Functions145273 -Node: Type Tree Element Opening Functions148202 -Node: Text Tree Elements Conversion149746 -Node: Inline Text Containers Formatting152564 -Node: Output Units Conversion Functions157593 -Node: Shared Conversion State160257 -Node: Define Get and Set Shared Conversion State161591 -Ref: Define Get and Set Shared Conversion State-Footnote-1165008 -Node: Shared Conversion State in Default Formatting165241 -Node: Translations in Output and Customization168030 -Node: Internationalization of Strings Function169449 -Node: Translated Strings Customization172881 -Ref: New translated strings example174166 -Node: Translation Contexts175455 -Node: Customizing Footnotes, Tables of Contents and About178035 -Ref: Special Units Varieties178869 -Node: Special Units Information Customization180510 -Node: Customizing Footnotes183129 -Node: Contents and Short Table of Contents Customization189308 -Node: About Special Output Unit Customization193971 -Node: Special Unit Body Formatting Functions194976 -Node: Customizing HTML Footers, Headers and Navigation Panels197993 -Node: Navigation Panel Button Formatting199529 -Ref: format_button199934 -Node: Navigation Panel and Navigation Header Formatting203298 -Ref: format_navigation_header203763 -Node: Element Header and Footer Formatting205373 -Node: Element Counters in Files208702 -Node: Beginning and Ending Files210247 -Node: Customizing HTML File Beginning211011 -Node: Customizing HTML File End213448 -Node: Associating Information to an Output File214544 -Node: Titlepage, CSS and Redirection Files215704 -Node: HTML Title Page Customization216058 -Node: CSS Customization217468 -Node: Customization of CSS Rules Imports and Selectors217981 -Node: Customizing the CSS Lines221460 -Node: Customizing Node Redirection Pages222729 -Node: Specific Functions for Specific Elements223576 -Node: Functions Index228548 -Node: Variables Index252070 -Node: General Index261767 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/texi2any_internals.info b/result/sw/share/info/texi2any_internals.info deleted file mode 100644 index 8b76989a..00000000 --- a/result/sw/share/info/texi2any_internals.info +++ /dev/null @@ -1,7882 +0,0 @@ -This is texi2any_internals.info, produced by texi2any version 7.2+dev -from texi2any_internals.texi. - -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* texi2any modules: (texi2any_internals). - Texinfo Perl modules used in texi2any -END-INFO-DIR-ENTRY - - -File: texi2any_internals.info, Node: Top, Next: Texinfo::Commands, Up: (dir) - -Texinfo modules documentation -***************************** - -* Menu: - -* Texinfo::Commands:: -* Texinfo::Common:: -* Texinfo::Parser:: -* Texinfo::Document:: -* Texinfo::ManipulateTree:: -* Texinfo::Structuring:: -* Texinfo::Report:: -* Texinfo::Translations:: -* Texinfo::Transformations:: -* Texinfo::Indices:: -* Texinfo::OutputUnits:: -* Texinfo::Convert::Texinfo:: -* Texinfo::Convert::Utils:: -* Texinfo::Convert::Unicode:: -* Texinfo::Convert::NodeNameNormalization:: -* Texinfo::Convert::Text:: -* Texinfo::Convert::Converter:: -* Texinfo::Convert::Info:: -* Texinfo::Convert::HTML:: -* Texinfo::Convert::DocBook:: -* Texinfo::Convert::TexinfoMarkup:: -* Texinfo::Convert::TexinfoXML:: -* Texinfo::Convert::Plaintext:: - - -- The Detailed Node Listing -- - -Texinfo::Commands - -* Texinfo::Commands NAME:: -* Texinfo::Commands SYNOPSIS:: -* Texinfo::Commands NOTES:: -* Texinfo::Commands DESCRIPTION:: -* Texinfo::Commands @-COMMAND INFORMATION:: -* Texinfo::Commands @-COMMAND CLASSES:: -* Texinfo::Commands SEE ALSO:: -* Texinfo::Commands AUTHOR:: -* Texinfo::Commands COPYRIGHT AND LICENSE:: - -Texinfo::Common - -* Texinfo::Common NAME:: -* Texinfo::Common SYNOPSIS:: -* Texinfo::Common NOTES:: -* Texinfo::Common DESCRIPTION:: -* Texinfo::Common MISC INFORMATION:: -* Texinfo::Common @-COMMAND INFORMATION:: -* Texinfo::Common METHODS:: -* Texinfo::Common SEE ALSO:: -* Texinfo::Common AUTHOR:: -* Texinfo::Common COPYRIGHT AND LICENSE:: - -Texinfo::Parser - -* Texinfo::Parser NAME:: -* Texinfo::Parser SYNOPSIS:: -* Texinfo::Parser NOTES:: -* Texinfo::Parser DESCRIPTION:: -* Texinfo::Parser METHODS:: -* Texinfo::Parser TEXINFO TREE:: -* Texinfo::Parser SEE ALSO:: -* Texinfo::Parser AUTHOR:: -* Texinfo::Parser COPYRIGHT AND LICENSE:: - -Texinfo::Parser METHODS - -* Texinfo::Parser Initialization:: -* Texinfo::Parser Parsing Texinfo text:: - -TEXINFO TREE - -* Texinfo::Parser Element keys:: -* Texinfo::Parser Element types:: -* Texinfo::Parser Information available in the info key:: -* Texinfo::Parser Information available in the extra key:: - -Element types - -* Texinfo::Parser Types for command elements:: -* Texinfo::Parser Types for text elements:: -* Texinfo::Parser Tree container elements:: -* Texinfo::Parser Types of container elements:: - -Information available in the ‘extra’ key - -* Texinfo::Parser Extra keys available for more than one @-command:: -* Texinfo::Parser Extra keys specific of certain @-commands or containers:: - -Texinfo::Document - -* Texinfo::Document NAME:: -* Texinfo::Document SYNOPSIS:: -* Texinfo::Document NOTES:: -* Texinfo::Document DESCRIPTION:: -* Texinfo::Document METHODS:: -* Texinfo::Document SEE ALSO:: -* Texinfo::Document AUTHOR:: -* Texinfo::Document COPYRIGHT AND LICENSE:: - -Texinfo::Document METHODS - -* Texinfo::Document Getting document information:: -* Texinfo::Document Merging and sorting indices:: -* Texinfo::Document Getting errors and error registering object:: -* Texinfo::Document Getting customization options values registered in document:: -* Texinfo::Document Registering document and information in document:: -* Texinfo::Document Methods for Perl and C code interactions:: - -Texinfo::ManipulateTree - -* Texinfo::ManipulateTree NAME:: -* Texinfo::ManipulateTree SYNOPSIS:: -* Texinfo::ManipulateTree NOTES:: -* Texinfo::ManipulateTree DESCRIPTION:: -* Texinfo::ManipulateTree METHODS:: -* Texinfo::ManipulateTree SEE ALSO:: -* Texinfo::ManipulateTree AUTHOR:: -* Texinfo::ManipulateTree COPYRIGHT AND LICENSE:: - -Texinfo::Structuring - -* Texinfo::Structuring NAME:: -* Texinfo::Structuring SYNOPSIS:: -* Texinfo::Structuring NOTES:: -* Texinfo::Structuring DESCRIPTION:: -* Texinfo::Structuring METHODS:: -* Texinfo::Structuring SEE ALSO:: -* Texinfo::Structuring AUTHOR:: -* Texinfo::Structuring COPYRIGHT AND LICENSE:: - -Texinfo::Report - -* Texinfo::Report NAME:: -* Texinfo::Report SYNOPSIS:: -* Texinfo::Report NOTES:: -* Texinfo::Report DESCRIPTION:: -* Texinfo::Report METHODS:: -* Texinfo::Report AUTHOR:: -* Texinfo::Report COPYRIGHT AND LICENSE:: - -Texinfo::Translations - -* Texinfo::Translations NAME:: -* Texinfo::Translations SYNOPSIS:: -* Texinfo::Translations NOTES:: -* Texinfo::Translations DESCRIPTION:: -* Texinfo::Translations METHODS:: -* Texinfo::Translations SEE ALSO:: -* Texinfo::Translations AUTHOR:: -* Texinfo::Translations COPYRIGHT AND LICENSE:: - -Texinfo::Transformations - -* Texinfo::Transformations NAME:: -* Texinfo::Transformations NOTES:: -* Texinfo::Transformations DESCRIPTION:: -* Texinfo::Transformations METHODS:: -* Texinfo::Transformations SEE ALSO:: -* Texinfo::Transformations AUTHOR:: -* Texinfo::Transformations COPYRIGHT AND LICENSE:: - -Texinfo::Indices - -* Texinfo::Indices NAME:: -* Texinfo::Indices SYNOPSIS:: -* Texinfo::Indices NOTES:: -* Texinfo::Indices DESCRIPTION:: -* Texinfo::Indices METHODS:: -* Texinfo::Indices SEE ALSO:: -* Texinfo::Indices AUTHOR:: -* Texinfo::Indices COPYRIGHT AND LICENSE:: - -Texinfo::OutputUnits - -* Texinfo::OutputUnits NAME:: -* Texinfo::OutputUnits SYNOPSIS:: -* Texinfo::OutputUnits NOTES:: -* Texinfo::OutputUnits DESCRIPTION:: -* Texinfo::OutputUnits METHODS:: -* Texinfo::OutputUnits SEE ALSO:: -* Texinfo::OutputUnits AUTHOR:: -* Texinfo::OutputUnits COPYRIGHT AND LICENSE:: - -Texinfo::OutputUnits METHODS - -* Texinfo::OutputUnits Output units creation:: -* Texinfo::OutputUnits Grouping output units in pages:: -* Texinfo::OutputUnits Setting output units directions:: - -Texinfo::Convert::Texinfo - -* Texinfo::Convert::Texinfo NAME:: -* Texinfo::Convert::Texinfo SYNOPSIS:: -* Texinfo::Convert::Texinfo NOTES:: -* Texinfo::Convert::Texinfo DESCRIPTION:: -* Texinfo::Convert::Texinfo METHODS:: -* Texinfo::Convert::Texinfo AUTHOR:: -* Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Utils - -* Texinfo::Convert::Utils NAME:: -* Texinfo::Convert::Utils SYNOPSIS:: -* Texinfo::Convert::Utils NOTES:: -* Texinfo::Convert::Utils DESCRIPTION:: -* Texinfo::Convert::Utils METHODS:: -* Texinfo::Convert::Utils SEE ALSO:: -* Texinfo::Convert::Utils AUTHOR:: -* Texinfo::Convert::Utils COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Unicode - -* Texinfo::Convert::Unicode NAME:: -* Texinfo::Convert::Unicode SYNOPSIS:: -* Texinfo::Convert::Unicode NOTES:: -* Texinfo::Convert::Unicode DESCRIPTION:: -* Texinfo::Convert::Unicode METHODS:: -* Texinfo::Convert::Unicode AUTHOR:: -* Texinfo::Convert::Unicode COPYRIGHT AND LICENSE:: - -Texinfo::Convert::NodeNameNormalization - -* Texinfo::Convert::NodeNameNormalization NAME:: -* Texinfo::Convert::NodeNameNormalization SYNOPSIS:: -* Texinfo::Convert::NodeNameNormalization NOTES:: -* Texinfo::Convert::NodeNameNormalization DESCRIPTION:: -* Texinfo::Convert::NodeNameNormalization METHODS:: -* Texinfo::Convert::NodeNameNormalization AUTHOR:: -* Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Text - -* Texinfo::Convert::Text NAME:: -* Texinfo::Convert::Text SYNOPSIS:: -* Texinfo::Convert::Text NOTES:: -* Texinfo::Convert::Text DESCRIPTION:: -* Texinfo::Convert::Text METHODS:: -* Texinfo::Convert::Text AUTHOR:: -* Texinfo::Convert::Text COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Converter - -* Texinfo::Convert::Converter NAME:: -* Texinfo::Convert::Converter SYNOPSIS:: -* Texinfo::Convert::Converter NOTES:: -* Texinfo::Convert::Converter DESCRIPTION:: -* Texinfo::Convert::Converter METHODS:: -* Texinfo::Convert::Converter SEE ALSO:: -* Texinfo::Convert::Converter AUTHOR:: -* Texinfo::Convert::Converter COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Converter METHODS - -* Texinfo::Convert::Converter Converter Initialization:: -* Texinfo::Convert::Converter Conversion:: -* Texinfo::Convert::Converter Getting and setting customization variables:: -* Texinfo::Convert::Converter Registering error and warning messages:: -* Texinfo::Convert::Converter Translations in output documents:: -* Texinfo::Convert::Converter Index sorting:: -* Texinfo::Convert::Converter Conversion to XML:: -* Texinfo::Convert::Converter Helper methods:: - -Texinfo::Convert::Info - -* Texinfo::Convert::Info NAME:: -* Texinfo::Convert::Info SYNOPSIS:: -* Texinfo::Convert::Info NOTES:: -* Texinfo::Convert::Info DESCRIPTION:: -* Texinfo::Convert::Info METHODS:: -* Texinfo::Convert::Info AUTHOR:: -* Texinfo::Convert::Info COPYRIGHT AND LICENSE:: - -Texinfo::Convert::HTML - -* Texinfo::Convert::HTML NAME:: -* Texinfo::Convert::HTML SYNOPSIS:: -* Texinfo::Convert::HTML NOTES:: -* Texinfo::Convert::HTML DESCRIPTION:: -* Texinfo::Convert::HTML METHODS:: -* Texinfo::Convert::HTML AUTHOR:: -* Texinfo::Convert::HTML COPYRIGHT AND LICENSE:: - -Texinfo::Convert::DocBook - -* Texinfo::Convert::DocBook NAME:: -* Texinfo::Convert::DocBook SYNOPSIS:: -* Texinfo::Convert::DocBook NOTES:: -* Texinfo::Convert::DocBook DESCRIPTION:: -* Texinfo::Convert::DocBook METHODS:: -* Texinfo::Convert::DocBook AUTHOR:: -* Texinfo::Convert::DocBook COPYRIGHT AND LICENSE:: - -Texinfo::Convert::TexinfoMarkup - -* Texinfo::Convert::TexinfoMarkup NAME:: -* Texinfo::Convert::TexinfoMarkup SYNOPSIS:: -* Texinfo::Convert::TexinfoMarkup NOTES:: -* Texinfo::Convert::TexinfoMarkup DESCRIPTION:: -* Texinfo::Convert::TexinfoMarkup METHODS:: -* Texinfo::Convert::TexinfoMarkup AUTHOR:: -* Texinfo::Convert::TexinfoMarkup SEE ALSO:: -* Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE:: - -Texinfo::Convert::TexinfoMarkup METHODS - -* Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses:: -* Texinfo::Convert::TexinfoMarkup Formatting state information:: - -Texinfo::Convert::TexinfoXML - -* Texinfo::Convert::TexinfoXML NAME:: -* Texinfo::Convert::TexinfoXML SYNOPSIS:: -* Texinfo::Convert::TexinfoXML NOTES:: -* Texinfo::Convert::TexinfoXML DESCRIPTION:: -* Texinfo::Convert::TexinfoXML METHODS:: -* Texinfo::Convert::TexinfoXML AUTHOR:: -* Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE:: - -Texinfo::Convert::Plaintext - -* Texinfo::Convert::Plaintext NAME:: -* Texinfo::Convert::Plaintext SYNOPSIS:: -* Texinfo::Convert::Plaintext NOTES:: -* Texinfo::Convert::Plaintext DESCRIPTION:: -* Texinfo::Convert::Plaintext METHODS:: -* Texinfo::Convert::Plaintext AUTHOR:: -* Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE:: -* Index:: - - -File: texi2any_internals.info, Node: Texinfo::Commands, Next: Texinfo::Common, Prev: Top, Up: Top - -1 Texinfo::Commands -******************* - -* Menu: - -* Texinfo::Commands NAME:: -* Texinfo::Commands SYNOPSIS:: -* Texinfo::Commands NOTES:: -* Texinfo::Commands DESCRIPTION:: -* Texinfo::Commands @-COMMAND INFORMATION:: -* Texinfo::Commands @-COMMAND CLASSES:: -* Texinfo::Commands SEE ALSO:: -* Texinfo::Commands AUTHOR:: -* Texinfo::Commands COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Commands NAME, Next: Texinfo::Commands SYNOPSIS, Up: Texinfo::Commands - -1.1 Texinfo::Commands NAME -========================== - -Texinfo::Commands - Classification of commands - - -File: texi2any_internals.info, Node: Texinfo::Commands SYNOPSIS, Next: Texinfo::Commands NOTES, Prev: Texinfo::Commands NAME, Up: Texinfo::Commands - -1.2 Texinfo::Commands SYNOPSIS -============================== - - use Texinfo::Commands; - if ($Texinfo::Commands::accent_commands{$a_command}) { - print STDERR "$a_command is an accent command\n"; - } - - -File: texi2any_internals.info, Node: Texinfo::Commands NOTES, Next: Texinfo::Commands DESCRIPTION, Prev: Texinfo::Commands SYNOPSIS, Up: Texinfo::Commands - -1.3 Texinfo::Commands NOTES -=========================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Commands DESCRIPTION, Next: Texinfo::Commands @-COMMAND INFORMATION, Prev: Texinfo::Commands NOTES, Up: Texinfo::Commands - -1.4 Texinfo::Commands DESCRIPTION -================================= - -Texinfo::Commands holds a few hashes with information on @-commands and -hashes classifying Texinfo @-commands. - - -File: texi2any_internals.info, Node: Texinfo::Commands @-COMMAND INFORMATION, Next: Texinfo::Commands @-COMMAND CLASSES, Prev: Texinfo::Commands DESCRIPTION, Up: Texinfo::Commands - -1.5 @-COMMAND INFORMATION -========================= - -Hashes are defined as ‘our’ variables, and are therefore available -outside of the module. - -%index_names - - Hash describing the default Texinfo indices. The format of this - hash is described in *note - ‘Texinfo::Document::indices_information’: Texinfo::Document - $indices_information = $document->indices_information(). - - -File: texi2any_internals.info, Node: Texinfo::Commands @-COMMAND CLASSES, Next: Texinfo::Commands SEE ALSO, Prev: Texinfo::Commands @-COMMAND INFORMATION, Up: Texinfo::Commands - -1.6 @-COMMAND CLASSES -===================== - -Hashes are defined as ‘our’ variables, and are therefore available -outside of the module. - - The key of the hashes are @-command names without the @. The -following hashes are available: - -%accent_commands - - Accent @-commands taking an argument, like ‘@'’ or ‘@ringaccent’, - including ‘@dotless’ and ‘@tieaccent’. - -%block_commands - - Commands delimiting a block with a closing ‘@end’. The values are: - - _conditional_ - - ‘@if*’ commands; - - _def_ - - Definition commands like ‘@deffn’; - - _float_ - - ‘@float’; - - _format_raw_ - - raw output format commands such as ‘@html’ or ‘@info’; - - _item_container_ - - commands with ‘@item’ containing any content, ‘@itemize’ and - ‘@enumerate’; - - _item_line_ - - commands like ‘@table’ in which the ‘@item’ argument is on its - line; - - _menu_ - - menu @-commands, ‘@menu’, ‘@detailmenu’ and ‘@direntry’; - - _math_ - - Math block commands, like ‘@displaymath’. - - _multitable_ - - ‘@multitable’; - - _other_ - - The remaining block commands. - - _preformatted_ - - Commands whose content should not be filled, like ‘@example’ - or ‘@display’. - - _quotation_ - - Commands like ‘@quotation’. - - _raw_ - - @-commands that have no expansion of @-commands in their - bodies (‘@macro’, ‘@verbatim’ and ‘@ignore’); - - _region_ - - Commands delimiting a region of the document out of the main - processing: ‘@titlepage’, ‘@copying’, ‘@documentdescription’. - -%blockitem_commands - - Block commands containing ‘@item’ with possible content before an - ‘@item’, like ‘@itemize’, ‘@table’ or ‘@multitable’. - -%brace_code_commands - - Brace commands that have their argument in code style, like - ‘@code’. - -%brace_commands - - The commands that take braces. Value is _noarg_ for brace commands - without argument such as ‘@AA’, ‘@TeX’, or ‘@equiv’. Other values - include _accent_, _arguments_, _context_ and other values. - -%close_paragraph_commands - - Commands that stop a paragraph. Root commands are not specified - here, but they also close paragraphs. - -%commands_args_number - - Set to the number of arguments separated by commas that may appear - in braces or on the @-command line. That means 0 or unset for most - block commands, including ‘@example’ which has an unlimited - (variadic) number of arguments, 1 for ‘@quotation’, 2 for ‘@float’, - 1 for most brace commands, 2 for ‘@email’ and ‘@abbr’, 5 for - ‘@image’ and ‘@ref’. - - Values are not necessarily set for all the commands, as commands - are also classified by type of command, some type of commands - implying a number of arguments, and the number of arguments may not - be set if it corresponds to the default (0 for block commands, 1 - for other commands that take arguments). - -%contain_basic_inline_commands - - Commands containing simple text only, much like paragraph text, but - without ‘@ref’, ‘@footnote’, ‘@titlefont’, ‘@anchor’ nor ‘@verb’. - -%contain_plain_text_commands - - Commands accepting only plain text with accent, symbol and glyph - commands. - -%def_commands - - Definition commands. - -%default_index_commands - - Index entry commands corresponding to default indices. For example - ‘@cindex’. - -%explained_commands - - @-commands whose second argument explain first argument and further - @-command call without first argument, as ‘@abbr’ and ‘@acronym’. - -%formattable_line_commands - - Line commands which may be formatted as text, but that require - constructing some replacement text, for example ‘@printindex’, - ‘@need’ or ‘@verbatiminclude’. ‘@contents’ and ‘@shortcontents’ - are not in this hash, since they are in a corresponding situation - only when the tables of contents are formatted where the commands - are. - -%formatted_nobrace_commands - - Commands not taking brace formatted as text or with text in the - main document body, corresponding to symbol commands such as ‘@@’ - or ‘@:’ and commands such as ‘@item’. @-commands appearing only in - headers are not in this hash, but in in - ‘%in_heading_spec_commands’. - -%formatted_line_commands - - Line commands which arguments may be formatted as text, such as - ‘@center’, ‘@author’, ‘@item’, ‘@node’, ‘@chapter’ and other. - Index commands may be formatted as text too, but they may be added - with ‘@def*index’, therefore they are not in that hash. Also, in - general, they are not formatted as text where they appear, only - when an index is printed. - -%heading_spec_commands - - @-commands used to specify custom headings, like ‘@everyheading’. - -%in_heading_spec_commands - - Special @-commands appearing in custom headings, such as - ‘@thischapter’, ‘@thistitle’ or ‘@|’. - -%in_index_commands - - @-commands only valid in index entries, such as ‘@sortas’ or - ‘@subentry’. - -%inline_conditional_commands - -%inline_format_commands - - Inline conditional commands, like ‘@inlineifclear’, and inline - format commands like ‘@inlineraw’ and ‘@inlinefmt’. - -%letter_no_arg_commands - - @-commands with braces but no argument corresponding to letters, - like ‘@AA{}’ or ‘@ss{}’ or ‘@o{}’. - -%math_commands - - @-commands which contains math, like ‘@math’ or ‘@displaymath’. - -%line_commands - - Commands that do not take braces, take arguments on the command - line and are not block commands either, like ‘@node’, ‘@chapter’, - ‘@cindex’, ‘@deffnx’, ‘@end’, ‘@footnotestyle’, ‘@set’, - ‘@settitle’, ‘@itemx’, ‘@definfoenclose’, ‘@comment’ and many - others. - - Note that ‘@item’ is in ‘%line_commands’ for its role in ‘@table’ - and similar @-commands. - -%no_paragraph_commands - - Commands that do not start a paragraph. - -%nobrace_commands - - Command that do not take braces, do not have argument on their line - and are not block commands either. The value is _symbol_ for - single character non-alphabetical @-commands such as ‘@@’, ‘@ ’ or - ‘@:’. Other commands in that hash include ‘@indent’, ‘@tab’ or - ‘@thissection’. - - Note that ‘@item’ is in ‘%nobrace_commands’ for its role in - ‘@multitable’, ‘@itemize’ and ‘@enumerate’. - -%non_formatted_block_commands - - Block commands not formatted as text, such as ‘@ignore’ or - ‘@macro’. - -%non_formatted_brace_commands - - Brace commands that are not immediately replaced with text, such as - ‘anchor’, ‘caption’, ‘errormsg’ and others. - -%preamble_commands - - @-commands that do not stop the preamble. - -%preformatted_commands - -%preformatted_code_commands - - _%preformatted_commands_ is for commands whose content should not - be filled, like ‘@example’ or ‘@display’. If the command is meant - for code, it is also in _%preformatted_code_commands_, like - ‘@example’. - -%ref_commands - - Cross reference @-command referencing nodes, like ‘@xref’ or - ‘@link’. - -%root_commands - - Commands that are at the root of a Texinfo document, namely ‘@node’ - and sectioning commands, except heading commands like ‘@heading’. - -%sectioning_heading_commands - - All the sectioning and heading commands. - -%variadic_commands - - Commands with unlimited arguments, like ‘@example’. - - -File: texi2any_internals.info, Node: Texinfo::Commands SEE ALSO, Next: Texinfo::Commands AUTHOR, Prev: Texinfo::Commands @-COMMAND CLASSES, Up: Texinfo::Commands - -1.7 Texinfo::Commands SEE ALSO -============================== - -*note Texinfo::Parser: Texinfo::Parser NAME. - - -File: texi2any_internals.info, Node: Texinfo::Commands AUTHOR, Next: Texinfo::Commands COPYRIGHT AND LICENSE, Prev: Texinfo::Commands SEE ALSO, Up: Texinfo::Commands - -1.8 Texinfo::Commands AUTHOR -============================ - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Commands COPYRIGHT AND LICENSE, Prev: Texinfo::Commands AUTHOR, Up: Texinfo::Commands - -1.9 Texinfo::Commands COPYRIGHT AND LICENSE -=========================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Common, Next: Texinfo::Parser, Prev: Texinfo::Commands, Up: Top - -2 Texinfo::Common -***************** - -* Menu: - -* Texinfo::Common NAME:: -* Texinfo::Common SYNOPSIS:: -* Texinfo::Common NOTES:: -* Texinfo::Common DESCRIPTION:: -* Texinfo::Common MISC INFORMATION:: -* Texinfo::Common @-COMMAND INFORMATION:: -* Texinfo::Common METHODS:: -* Texinfo::Common SEE ALSO:: -* Texinfo::Common AUTHOR:: -* Texinfo::Common COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Common NAME, Next: Texinfo::Common SYNOPSIS, Up: Texinfo::Common - -2.1 Texinfo::Common NAME -======================== - -Texinfo::Common - Texinfo modules common data and miscellaneous methods - - -File: texi2any_internals.info, Node: Texinfo::Common SYNOPSIS, Next: Texinfo::Common NOTES, Prev: Texinfo::Common NAME, Up: Texinfo::Common - -2.2 Texinfo::Common SYNOPSIS -============================ - - use Texinfo::Common; - - - my @commands_to_collect = ('math'); - my $collected_commands - = Texinfo::Common::collect_commands_in_tree($document_root, - \@commands_to_collect); - - my $package_version - = Texinfo::Common::get_build_constant('PACKAGE_AND_VERSION'); - - -File: texi2any_internals.info, Node: Texinfo::Common NOTES, Next: Texinfo::Common DESCRIPTION, Prev: Texinfo::Common SYNOPSIS, Up: Texinfo::Common - -2.3 Texinfo::Common NOTES -========================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Common DESCRIPTION, Next: Texinfo::Common MISC INFORMATION, Prev: Texinfo::Common NOTES, Up: Texinfo::Common - -2.4 Texinfo::Common DESCRIPTION -=============================== - -Texinfo::Common holds hashes with miscellaneous information and some -hashes with information on Texinfo @-commands, as well as miscellaneous -methods. - - -File: texi2any_internals.info, Node: Texinfo::Common MISC INFORMATION, Next: Texinfo::Common @-COMMAND INFORMATION, Prev: Texinfo::Common DESCRIPTION, Up: Texinfo::Common - -2.5 MISC INFORMATION -==================== - -Hashes are defined as ‘our’ variables, and are therefore available -outside of the module. - - Values defined for a Texinfo build independently of any document or -output format are available by calling ‘get_build_constant’: - -$value = get_build_constant($name) - - The following build constants are available: - - PACKAGE - - PACKAGE_CONFIG - - PACKAGE_AND_VERSION - - PACKAGE_AND_VERSION_CONFIG - - PACKAGE_NAME - - PACKAGE_NAME_CONFIG - - PACKAGE_VERSION - - PACKAGE_VERSION_CONFIG - - PACKAGE_URL - - PACKAGE_URL_CONFIG - - Texinfo package name and versions. Values of build constants - without ‘_CONFIG’ appended are set by configure. For each - variable set by configure there is another one with ‘_CONFIG’ - appended to the name set to the same value, to match the name - of the macros set in C. So, for example - ‘PACKAGE_VERSION_CONFIG’ value is the same as - ‘PACKAGE_VERSION’, set to the ‘PACKAGE_VERSION’ value set by - configure. - -%texinfo_output_formats - - Cannonical output formats that have associated conditionals. In - practice corresponds to ‘format_raw’ ‘%block_commands’ plus ‘info’ - and ‘plaintext’. - - TODO: undocumented %null_device_file -%default_parser_customization_values %multiple_at_command_options -%unique_at_command_options %converter_cmdline_options -%default_main_program_customization_options -%converter_customization_options %document_settable_at_commands %def_map -%command_structuring_level %level_to_structuring_command -%encoding_name_conversion_map %text_brace_no_arg_commands - - -File: texi2any_internals.info, Node: Texinfo::Common @-COMMAND INFORMATION, Next: Texinfo::Common METHODS, Prev: Texinfo::Common MISC INFORMATION, Up: Texinfo::Common - -2.6 @-COMMAND INFORMATION -========================= - -Hashes are defined as ‘our’ variables, and are therefore available -outside of the module. - - The key of the hashes are @-command names without the @. The -following hashes are available: - -%all_commands - - All the @-commands. - -%def_aliases - -%def_no_var_arg_commands - - ‘%def_aliases’ associates an aliased command to the original - command, for example ‘defun’ is associated to ‘deffn’. - - ‘%def_no_var_arg_commands’ associates a definition command name - with a true value if the _argument_ on the definition command line - can contain non-metasyntactic variables. For instance, it is true - for ‘deftypevr’ but false for ‘defun’, since ‘@defun’ _argument_ is - supposed to contain metasyntactic variables only. - -%nobrace_symbol_text - - Values are ASCII representation of single character - non-alphabetical commands without brace such as ‘*’ or ‘:’. The - value may be an empty string. - -%small_block_associated_command - - Associate small command like ‘smallexample’ to the regular command - ‘example’. - - -File: texi2any_internals.info, Node: Texinfo::Common METHODS, Next: Texinfo::Common SEE ALSO, Prev: Texinfo::Common @-COMMAND INFORMATION, Up: Texinfo::Common - -2.7 Texinfo::Common METHODS -=========================== - -Two methods are exported in the default case for Texinfo modules -messages translation in the Uniforum gettext framework, ‘__’ and ‘__p’. - - The Texinfo tree and Texinfo tree elements used in argument of some -functions are documented in *note Texinfo::Parser TEXINFO TREE::. When -customization information is needed, an object that defines ‘set_conf’ -and/or ‘get_conf’ is expected, for example a converter inheriting from -‘Texinfo::Convert::Converter’, see *note Texinfo::Convert::Converter -Getting and setting customization variables::. - -$translated_string = __($msgid) - -$translated_string = __p($msgctxt, $msgid) - - Returns the _$msgid_ string translated in the Texinfo messages text - domain. ‘__p’ can be used instead of ‘__’ to pass a _$msgctxt_ - context string to provide translators with information on the - string context when the string is short or if the translation could - depend on the context. ‘__’ corresponds to the ‘gettext’ function - and ‘__p’ to the ‘pgettext’ function. - - It is not advised to use those functions in user-defined code. It - is not practical either, as the translatable strings marked by ‘__’ - or ‘__p’ need to be collected and added to the Texinfo messages - domain. This facility could only be used in user-defined code with - translatable strings already present in the domain anyway. In - fact, these functions are documented mainly because they are - automatically exported. - - See Locale::Messages (https://metacpan.org/pod/Locale::Messages), - ‘gettext’ C interface - (https://www.gnu.org/software/gettext/manual/html_node/gettext.html), - Perl in GNU Gettext - (https://www.gnu.org/software/gettext/manual/html_node/Perl.html). - For translation of strings in output, see *note - Texinfo::Translations: Texinfo::Translations NAME. - -collect_commands_in_tree($tree, $commands_list) - - Returns a hash reference with keys @-commands names specified in - the _$commands_list_ array reference and values arrays of tree - elements corresponding to those @-command found in _$tree_ by - traversing the tree. - -collect_commands_list_in_tree($tree, $commands_list) - - Return a list reference containing the tree elements corresponding - to the @-commands names specified in the _$commands_list_ found in - _$tree_ by traversing the tree. The order of the @-commands should - be kept. - -$encoding_name = element_associated_processing_encoding($element) - - Returns the encoding name that can be used for decoding derived - from the encoding that was set where _$element_ appeared. - -$result = element_is_inline($element, $check_current) - - Return true if the element passed in argument is in running text - context. If the optional _$check_current_ argument is set, check - the element itself, in addition to the parent context. - -($encoded_file_name, $encoding) = encode_file_name($file_name, $input_encoding) - - Encode the _$file_name_ text string to a binary string - _$encoded_file_name_ based on _$input_encoding_. Also returns the - _$encoding_ name actually used which may have undergone some - normalization. This function is mostly a wrapper around Encode - Encode::encode (https://metacpan.org/pod/Encode#encode) which - avoids calling the module if not needed. Do nothing if - _$input_encoding_ is ‘undef’. - -$text = enumerate_item_representation($specification, $number) - - This function returns the number or letter correponding to item - number _$number_ for an ‘@enumerate’ specification - _$specification_, appearing on an ‘@enumerate’ line. For example - - enumerate_item_representation('c', 3) - - is ‘e’. - -$command = find_parent_root_command($object, $tree_element) - - Find the parent root command (sectioning command or node) of a tree - element. The _$object_ argument is optional, its ‘global_commands’ - field is used to continue through ‘@insertcopying’ if in a - ‘@copying’. - -$entry_content_element = index_content_element($element, $prefer_reference_element) - - Return a Texinfo tree element corresponding to the content of the - index entry associated to _$element_. If - _$prefer_reference_element_ is set, prefer an untranslated element. - If the element is an index command like ‘@cindex’ or an ‘@ftable’ - ‘@item’, the content element is the argument of the command. If - the element is a definition line, the index entry element is based - on the name and class. - -$result = is_content_empty($tree, $do_not_ignore_index_entries) - - Return true if the _$tree_ has content that could be formatted. - _$do_not_ignore_index_entries_ is optional. If set, index entries - are considered to be formatted. - -$file = locate_include_file($customization_information, $file_path) - - Locate _$file_path_. If _$file_path_ is an absolute path or has - ‘.’ or ‘..’ in the path directories it is checked that the path - exists and is a file. Otherwise, the file name in _$file_path_ is - located in include directories also used to find texinfo files - included in Texinfo documents. _$file_path_ should be a binary - string. ‘undef’ is returned if the file was not found, otherwise - the file found is returned as a binary string. - -($index_entry, $index_info) = lookup_index_entry($index_entry_info, $indices_information) - - Returns an _$index_entry_ hash based on the _$index_entry_info_ and - _$indices_information_. Also returns the _$index_info_ hash with - information on the index associated to the index entry. - _$index_entry_info_ should be an array reference with an index name - as first element and the index entry number in that index (1-based) - as second element. In general, the _$index_entry_info_ is an *note - ‘extra’ _index_entry_: Texinfo::Parser index_entry. associated to - an element. - - The _$index_entry_ hash is described in *note Texinfo::Document - index_entries::. The _$index_info_ hash is described in *note - ‘Texinfo::Document::indices_information’: Texinfo::Document - $indices_information = $document->indices_information(). - -$normalized_name = normalize_top_node_name($node_string) - - Normalize the node name string given in argument, by normalizing - Top node case. - -$result = remove_from_array($array, $element) - - Remove first occurence of _$element_ in the array reference - _$array_. Return the removed element, or ‘undef’ if not found. - -$level = section_level($section) - - Return numbered level of the tree sectioning element _$section_, as - modified by raise/lowersections. - -$element = set_global_document_command($customization_information, $global_commands_information, $cmdname, $command_location) - - Set the Texinfo customization variable corresponding to _$cmdname_ - in _$customization_information_. The - _$global_commands_information_ should contain information about - global commands in a Texinfo document, typically obtained from a - parsed document *note $document->global_commands_information(): - Texinfo::Document $commands = - global_commands_information($document). _$command_location_ - specifies where in the document the value should be taken from, for - commands that may appear more than once. The possibilities are: - - last - - Set to the last value for the command. - - preamble - - Set sequentially to the values in the Texinfo preamble. - - preamble_or_first - - Set to the first value of the command if the first command is - not in the Texinfo preamble, else set as with _preamble_, - sequentially to the values in the Texinfo preamble. - - The _$element_ returned is the last element that was used to set - the customization value, or ‘undef’ if no customization value was - found. - - Notice that the only effect of this function is to set a - customization variable value, no @-command side effects are run, no - associated customization variables are set. - -$status = set_informative_command_value($customization_information, $element) - - Set the Texinfo customization option corresponding to the tree - element _$element_. The command associated to the tree element - should be a command that sets some information, such as - ‘@documentlanguage’, ‘@contents’ or ‘@footnotestyle’ for example. - Return true if the command argument was found and the customization - variable was set. - -set_output_encoding($customization_information, $document) - - If not already set, set ‘OUTPUT_ENCODING_NAME’ based on input file - encoding. - -set_output_perl_encoding($customization_information) - - Set ‘OUTPUT_PERL_ENCODING’ based on ‘OUTPUT_ENCODING_NAME’. In - general, ‘OUTPUT_PERL_ENCODING’ should not be set directly by - user-defined code such that it corresponds to - ‘OUTPUT_ENCODING_NAME’. - -$split_contents = split_custom_heading_command_contents($element) - - Split the _$element_ contents at ‘@|’ in at max three parts. - Return an element containing the split parts in contents, or - ‘undef’ if the _$element_ has no useful content. The input - _$element_ is supposed to be ‘$element->{'args'}->[0]’ of - ‘%Texinfo::Commands::heading_spec_commands’ commands such as - ‘@everyheading’. - -$status = valid_customization_option($name) - - Return true if the _$name_ is a known customization option. - -$status = valid_tree_transformation($name) - - Return true if the _$name_ is a known tree transformation name that - may be passed with ‘TREE_TRANSFORMATIONS’ to modify a texinfo tree. - - -File: texi2any_internals.info, Node: Texinfo::Common SEE ALSO, Next: Texinfo::Common AUTHOR, Prev: Texinfo::Common METHODS, Up: Texinfo::Common - -2.8 Texinfo::Common SEE ALSO -============================ - -*note Texinfo::Parser: Texinfo::Parser NAME, *note -Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and *note -Texinfo::Report: Texinfo::Report NAME. - - -File: texi2any_internals.info, Node: Texinfo::Common AUTHOR, Next: Texinfo::Common COPYRIGHT AND LICENSE, Prev: Texinfo::Common SEE ALSO, Up: Texinfo::Common - -2.9 Texinfo::Common AUTHOR -========================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Common COPYRIGHT AND LICENSE, Prev: Texinfo::Common AUTHOR, Up: Texinfo::Common - -2.10 Texinfo::Common COPYRIGHT AND LICENSE -========================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Parser, Next: Texinfo::Document, Prev: Texinfo::Common, Up: Top - -3 Texinfo::Parser -***************** - -* Menu: - -* Texinfo::Parser NAME:: -* Texinfo::Parser SYNOPSIS:: -* Texinfo::Parser NOTES:: -* Texinfo::Parser DESCRIPTION:: -* Texinfo::Parser METHODS:: -* Texinfo::Parser TEXINFO TREE:: -* Texinfo::Parser SEE ALSO:: -* Texinfo::Parser AUTHOR:: -* Texinfo::Parser COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Parser NAME, Next: Texinfo::Parser SYNOPSIS, Up: Texinfo::Parser - -3.1 Texinfo::Parser NAME -======================== - -Texinfo::Parser - Parse Texinfo code into a Perl tree - - -File: texi2any_internals.info, Node: Texinfo::Parser SYNOPSIS, Next: Texinfo::Parser NOTES, Prev: Texinfo::Parser NAME, Up: Texinfo::Parser - -3.2 Texinfo::Parser SYNOPSIS -============================ - - use Texinfo::Parser; - - my $parser = Texinfo::Parser::parser(); - my $document = $parser->parse_texi_file("somefile.texi"); - - my ($errors, $errors_count) = $document->parser_errors(); - foreach my $error_message (@$errors) { - warn $error_message->{'error_line'}; - } - - -File: texi2any_internals.info, Node: Texinfo::Parser NOTES, Next: Texinfo::Parser DESCRIPTION, Prev: Texinfo::Parser SYNOPSIS, Up: Texinfo::Parser - -3.3 Texinfo::Parser NOTES -========================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Parser DESCRIPTION, Next: Texinfo::Parser METHODS, Prev: Texinfo::Parser NOTES, Up: Texinfo::Parser - -3.4 Texinfo::Parser DESCRIPTION -=============================== - -‘Texinfo::Parser’ will parse Texinfo text into a Perl tree. In one pass -it expands user-defined @-commands, conditionals (‘@ifset’, -‘@ifinfo’...) and ‘@value’ and constructs the tree. Some extra -information is gathered while doing the tree: for example, the -‘@quotation’ associated to an ‘@author’ command, the number of columns -in a multitable, or the node associated with a section. - - -File: texi2any_internals.info, Node: Texinfo::Parser METHODS, Next: Texinfo::Parser TEXINFO TREE, Prev: Texinfo::Parser DESCRIPTION, Up: Texinfo::Parser - -3.5 Texinfo::Parser METHODS -=========================== - -No method is exported in the default case. The module allows both an -object-oriented syntax, or traditional function, with the parser as an -opaque data structure given as an argument to every function. - -* Menu: - -* Texinfo::Parser Initialization:: -* Texinfo::Parser Parsing Texinfo text:: - - -File: texi2any_internals.info, Node: Texinfo::Parser Initialization, Next: Texinfo::Parser Parsing Texinfo text, Up: Texinfo::Parser METHODS - -3.5.1 Initialization --------------------- - -The following method is used to construct a new ‘Texinfo::Parser’ -object: - -$parser = Texinfo::Parser::parser($options) - - This method creates a new parser. The options may be provided as a - hash reference. Most of those options correspond to Texinfo - customization options described in the Texinfo manual. - - CPP_LINE_DIRECTIVES - - Handle cpp like synchronization lines if set. Set in the - default case. - - EXPANDED_FORMATS - - An array reference of the output formats for which - ‘@if_FORMAT_’ conditional blocks should be expanded. Default - is empty. - - FORMAT_MENU - - Possible values are ‘nomenu’, ‘menu’ and ‘sectiontoc’. Only - report menu-related errors for ‘menu’. - - INCLUDE_DIRECTORIES - - An array reference of directories in which ‘@include’ files - should be searched for. Default contains the working - directory, ‘.’. - - IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME - - If set, spaces after an @-command name that take braces are - ignored. Default on. - - MAX_MACRO_CALL_NESTING - - Maximal number of nested user-defined macro calls. Default is - 100000. - - documentlanguage - - A string corresponding to a document language set by - ‘@documentlanguage’. It overrides the document - ‘@documentlanguage’ information, if present. - - values - - A hash reference. Keys are names, values are the - corresponding values. Same as values set by ‘@set’. - - -File: texi2any_internals.info, Node: Texinfo::Parser Parsing Texinfo text, Prev: Texinfo::Parser Initialization, Up: Texinfo::Parser METHODS - -3.5.2 Parsing Texinfo text --------------------------- - -Different methods may be called to parse some Texinfo code: -‘parse_texi_line’ for a line, ‘parse_texi_piece’ for a fragment of -Texinfo, ‘parse_texi_text’ for a string corresponding to a full document -and ‘parse_texi_file’ for a file. The first argument of these functions -is a parser. - - When ‘parse_texi_line’ is used, the resulting tree is rooted at a -‘root_line’ type container. Otherwise, the resulting tree should be -rooted at a ‘document_root’ type container. - -$tree = $parser->parse_texi_line($text, $first_line_number) - - This function is used to parse a short fragment of Texinfo code. - - _$text_ is the string containing the texinfo line. - _$first_line_number_ is the line number of the line, if undef, it - will be set to 1. - -$document = $parser->parse_texi_piece($text, $first_line_number) - - This function is used to parse Texinfo fragments. - - _$text_ is the string containing the texinfo text. - _$first_line_number_ is the line number of the first text line, if - undef, it will be set to 1. - -$document = $parser->parse_texi_text($text, $first_line_number) - - This function is used to parse a text as a whole document. - - _$text_ is the string containing the texinfo text. - _$first_line_number_ is the line number of the first text line, if - undef, it will be set to 1. - -$document = $parser->parse_texi_file($file_name) - - The file with name _$file_name_ is considered to be a Texinfo file - and is parsed into a tree. _$file_name_ should be a binary string. - - The errors collected during the tree parsing are available with the -resulting document ‘parser_errors’. These errors are internally -registered in a ‘Texinfo::Report’ object. - -($error_warnings_list, $error_count) = $document->parser_errors() - - This function returns as _$error_count_ the count of parsing - errors. The _$error_warnings_list_ is an array of hash references - one for each error, warning or error line continuation. They are - described in detail in *note Texinfo::Report::errors: - Texinfo::Report ($error_warnings_list, $error_count) = - errors($registrar). - - -File: texi2any_internals.info, Node: Texinfo::Parser TEXINFO TREE, Next: Texinfo::Parser SEE ALSO, Prev: Texinfo::Parser METHODS, Up: Texinfo::Parser - -3.6 TEXINFO TREE -================ - -A Texinfo tree element (called element because node is overloaded in the -Texinfo world) is an hash reference. There are three main categories of -tree element. Tree elements associated with an @-command have a -‘cmdname’ key holding the @-command name. Tree elements corresponding -to text fragments have a ‘text’ key holding the corresponding text. -Finally, the last category is other elements, which in most cases have a -‘type’ key holding their name. Text fragments and @-command elements -may also have an associated type when such information is needed. - - The children of an @-command or of other container element are in the -array referred to with the ‘args’ key or with the ‘contents’ key. The -‘args’ key is for arguments of @-commands, either in braces or on the -rest of the line after the command, depending on the type of command. -The ‘contents’ key array holds the contents of the texinfo code -appearing within a block @-command, within a container, or within a -‘@node’ or sectioning @-command. - - Another important key for the elements is the ‘extra’ key which is -associated to a hash reference and holds all kinds of information that -is gathered during the parsing and may help with the conversion. - - You can see examples of the tree structure by running makeinfo like -this: - - makeinfo -c DUMP_TREE=1 -c TEXINFO_OUTPUT_FORMAT=parse document.texi - - For a simpler, more regular representation of the tree structure, you -can do: - - makeinfo -c TEXINFO_OUTPUT_FORMAT=debugtree document.texi - -* Menu: - -* Texinfo::Parser Element keys:: -* Texinfo::Parser Element types:: -* Texinfo::Parser Information available in the info key:: -* Texinfo::Parser Information available in the extra key:: - - -File: texi2any_internals.info, Node: Texinfo::Parser Element keys, Next: Texinfo::Parser Element types, Up: Texinfo::Parser TEXINFO TREE - -3.6.1 Element keys ------------------- - -cmdname - - The command name of @-command elements. - -text - - The text fragment of text elements. - -type - - The type of element considered, in general a container. Frequent - types encountered are _paragraph_ for a paragraph container, - _brace_container_ for the container holding a brace @-commands - content, _line_arg_ and _block_line_arg_ contain the arguments - appearing on the line of @-commands. Text fragments may have a - type to give an information of the kind of text fragment, for - example _spaces_before_paragraph_ is associated to spaces appearing - before a paragraph beginning. Most @-commands elements do not have - a type associated. - -args - - Arguments in braces or on @-command line. An array reference. - -contents - - The Texinfo appearing in the element. For block commands, other - containers, ‘@node’ and sectioning commands. An array reference. - -parent - - The parent element. - -source_info - - An hash reference corresponding to information on the location of - the element in the Texinfo input manual. It should mainly be - available for @-command elements, and only for @-commands that are - considered to be complex enough that the location in the document - is needed, for example to prepare an error message. - - The keys of the line number hash references are - - line_nr - - The line number of the @-command. - - file_name - - The file name where @-command appeared. - - macro - - The user macro name the @-command is expanded from. - -info - - A hash reference holding any other information that cannot be - obtained otherwise from the tree. See *note Information available - in the ‘info’ key: Texinfo::Parser Information available in the - info key. - -extra - - A hash reference holding information that could also be obtained - from the tree, but is directly associated to the element to - simplify downstream code. See *note Information available in the - ‘extra’ key: Texinfo::Parser Information available in the extra - key. - - -File: texi2any_internals.info, Node: Texinfo::Parser Element types, Next: Texinfo::Parser Information available in the info key, Prev: Texinfo::Parser Element keys, Up: Texinfo::Parser TEXINFO TREE - -3.6.2 Element types -------------------- - -* Menu: - -* Texinfo::Parser Types for command elements:: -* Texinfo::Parser Types for text elements:: -* Texinfo::Parser Tree container elements:: -* Texinfo::Parser Types of container elements:: - - -File: texi2any_internals.info, Node: Texinfo::Parser Types for command elements, Next: Texinfo::Parser Types for text elements, Up: Texinfo::Parser Element types - -3.6.2.1 Types for command elements -.................................. - -Some types can be associated with @-commands (in addition to ‘cmdname’), -although usually there will be no type at all. The following are the -possible values of ‘type’ for tree elements for @-commands. - -definfoenclose_command - - This type is set for an @-command that is redefined by - ‘@definfoenclose’. The beginning is in ‘{'extra'}->{'begin'}’ and - the end in ‘{'extra'}->{'end'}’. - - The command name is the info _command_name_ value. - -index_entry_command - - This is the type of index entry command like ‘@cindex’, and, more - importantly user-defined index entry commands. So for example if - there is: - - @defindex foo - ... - - @fooindex index entry - - the ‘@fooindex’ @-command element will have the - _index_entry_command_ type. - - The command name is the info _command_name_ value. - - -File: texi2any_internals.info, Node: Texinfo::Parser Types for text elements, Next: Texinfo::Parser Tree container elements, Prev: Texinfo::Parser Types for command elements, Up: Texinfo::Parser Element types - -3.6.2.2 Types for text elements -............................... - -The text elements may have the following types (or may have no type at -all): - -after_menu_description_line - -space_at_end_menu_node - - Space after a node in the menu entry, when there is no description, - and space appearing after the description line. - -delimiter - -spaces - - Spaces on definition command line separating the definition command - arguments. Delimiters, such as comma, square brackets and - parentheses appearing in definition command line arguments at the - end of the line, separated from surrounding texts during the - parsing phase. - -empty_line - - An empty line (possibly containing whitespace characters only). - -ignorable_spaces_after_command - - spaces appearing after an @-command without braces that does not - take argument on the line, but which is followed by ignorable - spaces, such as ‘@item’ in ‘@itemize’ or ‘@multitable’, or - ‘@noindent’. - -spaces_after_close_brace - - Spaces appearing after a closing brace, for some rare commands for - which this space should be ignorable (like ‘@caption’ or - ‘@sortas’). - -spaces_before_paragraph - - Space appearing before a paragraph beginning. - -raw - - Text in an environment where it should be kept as is (in - ‘@verbatim’, ‘@verb’, ‘@macro’ body). - -rawline_arg - - Used for the arguments to some special line commands whose - arguments aren't subject to the usual macro expansion. For example - ‘@set’, ‘@clickstyle’, ‘@unmacro’, ‘@comment’. The argument is - associated to the _text_ key. - -spaces_at_end - - Space within an index @-command before an @-command interrupting - the index command. - -text_after_end - - Text appearing after @bye. - -text_before_beginning - - Text appearing before real content, including the ‘\input - texinfo.tex’. - -untranslated - - English text added by the parser that may need to be translated - during conversion. Happens for definition line @-commands aliases - that leads to prepending text such as "Function". - - -File: texi2any_internals.info, Node: Texinfo::Parser Tree container elements, Next: Texinfo::Parser Types of container elements, Prev: Texinfo::Parser Types for text elements, Up: Texinfo::Parser Element types - -3.6.2.3 Tree container elements -............................... - -Some types of element are containers of portions of the tree, either for -the whole tree, or for contents appearing before ‘@node’ and sectioning -commands. - -before_node_section - - Content before nodes and sectioning commands at the beginning of - ‘document_root’. - -document_root - -root_line - - ‘root_line’ is the type of the root tree when parsing Texinfo line - fragments using ‘parse_texi_line’. ‘document_root’ is the document - root otherwise. - - ‘document_root’ first content should be ‘before_node_section’, then - nodes and sections @-commands elements, ‘@bye’ element and - ‘postamble_after_end’. - -postamble_after_end - - This container holds everything appearing after @bye. - -preamble_before_beginning - - This container holds everything appearing before the first content, - including the ‘\input texinfo.tex’ line and following blank lines. - -preamble_before_setfilename - - This container holds everything that appears before ‘@setfilename’. - -preamble_before_content - - This container holds everything appearing before the first - formatted content, corresponding to the _preamble_ in the Texinfo - documentation. - - -File: texi2any_internals.info, Node: Texinfo::Parser Types of container elements, Prev: Texinfo::Parser Tree container elements, Up: Texinfo::Parser Element types - -3.6.2.4 Types of container elements -................................... - -The other types of element are containers with other elements appearing -in their ‘contents’. The ‘paragraph’ container holds normal text from -the Texinfo manual outside of any @-commands, and within @-commands with -blocks of text (‘@footnote’, ‘@itemize’ ‘@item’, ‘@quotation’ for -example). The ‘preformatted’ container holds the content appearing in -@-commands like ‘@example’ and the ‘rawpreformatted’ container holds the -content appearing in format commands such as ‘@html’. The other -containers are more specific. - - The types of container element are the following: - -balanced_braces - - Special type containing balanced braces content (braces included) - in the context where they are valid, and where balanced braces need - to be collected to know when a top-level brace command is closed. - In ‘@math’, in raw output format brace commands and within brace - @-commands in raw output format block commands. - -before_defline - - A container for content before the first ‘@defline’ or - ‘@deftypeline’ in ‘@defblock’. - -before_item - - A container for content before the first ‘@item’ of block - @-commands with items (‘@table’, ‘@multitable’, ‘@enumerate’...). - -brace_container - -brace_command_context - -brace_arg - -line_arg - -block_line_arg - -following_arg - - Those containers occur within the ‘args’ array of @-commands taking - an argument. _brace_container_ is used for the argument to - commands taking arguments surrounded by braces when the whole text - in the braces is in the argument. _brace_arg_ is used for the - arguments to commands taking arguments surrounded by braces when - the leading and, in most cases, trailing spaces are not part of the - argument, and for arguments in braces separated by commas. - _brace_command_context_ is used for @-commands with braces that - start a new context (‘@footnote’, ‘@caption’, ‘@math’). - - _line_arg_ is used for commands that take the texinfo code on the - rest of the line as their argument, such as ‘@settitle’, ‘@node’, - ‘@section’. _block_line_arg_ is similar but is used for commands - that start a new block (which is to be ended with ‘@end’). - - _following_arg_ is used for the accent @-commands argument that did - not use braces but instead followed the @-command, possibly after a - space, as - - @~n - @ringaccent A - - For example - - @code{in code} - - leads to - - {'cmdname' => 'code', - 'args' => [{'type' => 'brace_container', - 'contents' => [{'text' => 'in code'}]}]} - -bracketed_arg - - Bracketed argument. On definition command and on ‘@multitable’ - line. - -bracketed_linemacro_arg - - Argument of a user defined linemacro call in bracket. It holds - directly the argument text (which does not contain the braces) and - does not contain other elements. It should not appear directly in - the tree as the user defined linemacro call is replaced by the - linemacro body. - -def_category - -def_class - -def_type - -def_name - -def_typearg - -def_arg - - Definition line arguments containers corresponding to the different - parts of a definition line command. Contains one ‘bracketed_arg’, - ‘def_line_arg’ or ‘untranslated_def_line_arg’ container. - -def_line - -def_item - -inter_def_item - - The _def_line_ type is associated with a container within a block - definition command. It holds the definition line arguments in - _block_line_arg_. A ‘@def*’ @-command line command such as - ‘@deffnx’ or ‘@defline’ also holds the definition line arguments, - in _line_arg_. The type of each definition line arguments element - describes the meaning of the element. It is one of _def_category_, - _def_name_, _def_class_, _def_type_, _def_arg_, _def_typearg_, - _spaces_ or _delimiter_, depending on the definition. - - The container with type _def_item_ holds the definition text - content. Content appearing before a definition command with a x - form is in an _inter_def_item_ container. - -def_line_arg - -untranslated_def_line_arg - - the _def_line_arg_ contains one or several elements that together - are a single unit on a definition command line. This container is - very similar with a _bracketed_arg_ on a definition line, except - that there is no bracket. Appears in definition line arguments - containers such as _def_category_, _def_arg_ or similar. - - The _untranslated_def_line_arg_ is similar, but only happens for - automatically added categories and contains only a text element. - For example, the ‘deffun’ line _def_category_ container may contain - an _untranslated_def_line_arg_ type container containing itself a - text element with "Function" as text, if the document language - demands a translation. Note that the _untranslated_def_line_arg_ - is special, as, in general, it should not be recursed into, as the - text within is untranslated, but the untranslated text should be - gathered when converting the _untranslated_def_line_arg_ type - container. - -macro_call - -macro_call_line - -rmacro_call - -rmacro_call_line - -linemacro_call - - Container holding the arguments of a user defined macro, linemacro - or rmacro. It should not appear directly in the tree as the user - defined call is expanded. The name of the macro, rmacro or - linemacro is the the info _command_name_ value. The - _macro_call_line_ or _rmacro_call_line_ elements are used when - there are no braces and the whole line is the argument. - -macro_name - -macro_arg - - Taken from ‘@macro’ definition and put in the ‘args’ key array of - the macro, _macro_name_ is the type of the text fragment - corresponding to the macro name, _macro_arg_ is the type of the - text fragments corresponding to macro formal arguments. - -menu_comment - - The _menu_comment_ container holds what is between menu entries in - menus. For example, in: - - @menu - Menu title - - * entry:: - - Between entries - * other:: - @end menu - - Both - - Menu title - - and - - Between entries - - will be in a _menu_comment_. - -menu_entry - -menu_entry_leading_text - -menu_entry_name - -menu_entry_separator - -menu_entry_node - -menu_entry_description - - A _menu_entry_ holds a full menu entry, like - - * node:: description. - - The different elements of the menu entry are in the _menu_entry_ - ‘contents’ array reference. - - _menu_entry_leading_text_ holds the star and following spaces. - _menu_entry_name_ is the menu entry name (if present), - _menu_entry_node_ corresponds to the node in the menu entry, - _menu_entry_separator_ holds the text after the node and before the - description, in most cases ‘:: ’. Lastly, _menu_entry_description_ - is for the description. - -multitable_head - -multitable_body - -row - - In ‘@multitable’, a _multitable_head_ container contains all the - rows with ‘@headitem’, while _multitable_body_ contains the rows - associated with ‘@item’. A _row_ container contains the ‘@item’ - and ‘@tab’ forming a row. - -paragraph - - A paragraph. The ‘contents’ of a paragraph (like other container - elements for Texinfo content) are elements representing the - contents of the paragraph in the order they occur, such as text - elements without a ‘cmdname’ or ‘type’, or @-command elements for - commands appearing in the paragraph. - -preformatted - - Texinfo code within a format that is not filled. Happens within - some block commands like ‘@example’, but also in menu (in menu - descriptions, menu comments...). - -rawpreformatted - - Texinfo code within raw output format block commands such as ‘@tex’ - or ‘@html’. - -table_entry - -table_term - -table_definition - -inter_item - - Those containers appear in ‘@table’, ‘@ftable’ and ‘@vtable’. A - _table_entry_ container contains an entire row of the table. It - contains a _table_term_ container, which holds all the ‘@item’ and - ‘@itemx’ lines. This is followed by a _table_definition_ - container, which holds the content that is to go into the second - column of the table. - - If there is any content before an ‘@itemx’ (normally only comments, - empty lines or maybe index entries are allowed), it will be in a - container with type _inter_item_ at the same level of ‘@item’ and - ‘@itemx’, in a _table_term_. - - -File: texi2any_internals.info, Node: Texinfo::Parser Information available in the info key, Next: Texinfo::Parser Information available in the extra key, Prev: Texinfo::Parser Element types, Up: Texinfo::Parser TEXINFO TREE - -3.6.3 Information available in the ‘info’ key ---------------------------------------------- - -arg_line - - The string correspond to the line after the @-command for - @-commands that have special arguments on their line, and for - ‘@macro’ line. - -command_name - - Name of commands that can be defined dynamically. The name of - index command or definfoenclose defined command (also available in - _cmdname_ for those commands). The name of user defined macro, - rmacro or linemacro called associated with the element holding the - arguments of the user defined command call. - -delimiter - - ‘@verb’ delimiter is in _delimiter_. - -inserted - - Set if the element is not in the Texinfo input code, but is - inserted as a default for @-command argument or as a definition - command automatically inserted category (for example _Function_ for - ‘@defun’). - -spaces_after_argument - - A reference to an element containing the spaces after @-command - arguments before a comma, a closing brace or at end of line, for - some @-commands and bracketed content type with opening brace, and - line commands and block command lines taking Texinfo as argument - and comma delimited arguments. Depending on the @-command, the - _spaces_after_argument_ is associated with the @-command element, - or with each argument element. - -spaces_after_cmd_before_arg - - For accent commands with spaces following the @-command, like: - - @ringaccent A - @^ u - - there is a _spaces_after_cmd_before_arg_ key linking to an element - containing the spaces appearing after the command in _text_. - - Space between a brace @-command name and its opening brace also - ends up in _spaces_after_cmd_before_arg_. It is not recommended to - leave space between an @-command name and its opening brace. - -spaces_before_argument - - A reference to an element containing the spaces following the - opening brace of some @-commands with braces and bracketed content - type, spaces following @-commands for line commands and block - command taking Texinfo as argument, and spaces following comma - delimited arguments. For context brace commands, line commands and - block commands, _spaces_before_argument_ is associated with the - @-command element, for other brace commands and for spaces after - comma, it is associated with each argument element. - - -File: texi2any_internals.info, Node: Texinfo::Parser Information available in the extra key, Prev: Texinfo::Parser Information available in the info key, Up: Texinfo::Parser TEXINFO TREE - -3.6.4 Information available in the ‘extra’ key ----------------------------------------------- - -* Menu: - -* Texinfo::Parser Extra keys available for more than one @-command:: -* Texinfo::Parser Extra keys specific of certain @-commands or containers:: - - -File: texi2any_internals.info, Node: Texinfo::Parser Extra keys available for more than one @-command, Next: Texinfo::Parser Extra keys specific of certain @-commands or containers, Up: Texinfo::Parser Information available in the extra key - -3.6.4.1 Extra keys available for more than one @-command -........................................................ - -element_node - - The node element in the parsed tree containing the element. Set - for @-commands elements that have an associated index entry and for - ‘@nodedescription’. - -element_region - - The region command (‘@copying’, ‘@titlepage’) containing the - element, if it is in such an environement. Set for @-commands - elements that have an associated index entry and for @anchor. - -index_entry - - The index entry information is associated to @-commands that have - an associated index entry. The associated information should not - be directly accessed, instead *note - ‘Texinfo::Common::lookup_index_entry’: Texinfo::Common - ($index_entry, $index_info) = lookup_index_entry($index_entry_info, - $indices_information). should be called on the ‘extra’ - _index_entry_ value: - - my ($index_entry, $index_info) - = Texinfo::Common::lookup_index_entry( - $element->{'extra'}->{'index_entry'}, - $indices_information); - - The _$indices_information_ is the information on a Texinfo manual - indices obtained from *note - ‘Texinfo::Document::indices_information’: Texinfo::Document - $indices_information = $document->indices_information(). The index - entry information hash returned by - ‘Texinfo::Common::lookup_index_entry’ is described in *note - Texinfo::Document index_entries::. - - Currently, the _index_entry_ value is an array reference with an - index name as first element and the index entry number in that - index (1-based) as second element. - -index_ignore_chars - - A string containing the characters flagged as ignored in key - sorting in the document by setting flags such as - _txiindexbackslashignore_. Set, if not empty, for @-commands - elements that have an associated index entry. - -misc_args - - An array holding strings, the arguments of @-commands taking simple - textual arguments as arguments, like ‘@everyheadingmarks’, - ‘@frenchspacing’, ‘@alias’, ‘@synindex’, ‘@columnfractions’. - -text_arg - - The string correspond to the line after the @-command for - @-commands that have an argument interpreted as simple text, like - ‘@setfilename’, ‘@end’ or ‘@documentencoding’. - - -File: texi2any_internals.info, Node: Texinfo::Parser Extra keys specific of certain @-commands or containers, Prev: Texinfo::Parser Extra keys available for more than one @-command, Up: Texinfo::Parser Information available in the extra key - -3.6.4.2 Extra keys specific of certain @-commands or containers -............................................................... - -‘@abbr’ - -‘@acronym’ - - The first argument normalized is in _normalized_. - -‘@anchor’ - -‘@float’ - - @-commands that are targets for cross-references have a - _normalized_ key for the normalized label, built as specified in - the Texinfo documentation in the _HTML Xref_ node. There is also a - _node_content_ key for an element holding the corresponding - content. - -‘@author’ - - If in a ‘@titlepage’, the titlepage is in _titlepage_, if in - ‘@quotation’ or ‘@smallquotation’, the corresponding tree element - is in _quotation_. - - The author tree element is in the _authors_ array of the - ‘@titlepage’ or the ‘@quotation’ or ‘@smallquotation’ it is - associated with. - -‘@click’ - - In _clickstyle_ there is the current clickstyle command. - -‘def_line’ - -line definition command - - _def_command_ holds the line definition command name, without x if - the line definition command is an x form of a block definition - command. For a ‘def_line’ container, _def_command_ holds the - command name associated with the ‘def_line’. - _original_def_cmdname_ is the original def command name. - - If the element is a definition line command and is an x form of a - block definition command, it has _not_after_command_ set if not - appearing after the block definition command without x. - - The _def_index_element_ is a Texinfo tree element corresponding to - the index entry associated to the definition line, based on the - name and class. If needed this element is based on translated - strings. In that case, if ‘@documentlanguage’ is defined where the - element is located, _documentlanguage_ holds the documentlanguage - value. _def_index_ref_element_ is similar, but not translated, and - only set if there could have been a translation. - - The _omit_def_name_space_ key value is set and true if the Texinfo - variable ‘txidefnamenospace’ was set, signaling that the space - between function definition name and arguments should be omitted. - -‘@definfoenclose’ defined commands - - _begin_ holds the string beginning the ‘@definfoenclose’, _end_ - holds the string ending the ‘@definfoenclose’. - -‘@documentencoding’ - - The argument, normalized is in _input_encoding_name_. - -‘@enumerate’ - - The _enumerate_specification_ ‘extra’ key contains the enumerate - argument. - -‘@float’ - -‘@listoffloats’ - - If ‘@float’ has a first argument, and for ‘@listoffloats’ argument - there is a _float_type_ key with the normalized float type. - - _caption_ and _shortcaption_ hold the corresponding tree elements - associated to a ‘@float’. The ‘@caption’ or ‘@shortcaption’ have - the float tree element stored in _float_. - -index entry @-command - -‘@subentry’ - - If an index entry @-command, such as ‘@cindex’, or a ‘@subentry’ - contains a ‘@sortas’ command, _sortas_ holds the ‘@sortas’ command - content formatted as plain text. - - _subentry_ links to the next level ‘@subentry’ element. - _subentry_parent_ links to the previous level element. - - Index entry @-command (but not ‘@subentry’) can also have _seentry_ - and _seealso_ keys that link to the corresponding @-commands - elements. - -‘@inlinefmt’ - -‘@inlineraw’ - -‘@inlinefmtifelse’ - -‘@inlineifclear’ - -‘@inlineifset’ - - The first argument is in _format_. If an argument has been - determined as being expanded by the Parser, the index of this - argument is in _expand_index_. Index numbering begins at 0, but - the first argument is always the format or flag name, so, if set, - it should be 1 or 2 for ‘@inlinefmtifelse’, and 1 for other - commands. - -‘@item’ in ‘@enumerate’ or ‘@itemize’ - - The _item_number_ ‘extra’ key holds the number of this item. - -‘@item’ and ‘@tab’ in ‘@multitable’ - - The _cell_number_ index key holds the index of the column of the - cell. - -‘@itemize’ - -‘@table’ - -‘@vtable’ - -‘@ftable’ - - The _command_as_argument_ ‘extra’ key points to the @-command as - argument on the @-command line. - - If the command in argument for ‘@table’, ‘@vtable’ or ‘@ftable’ is - ‘@kbd’ and the context and ‘@kbdinputstyle’ is such that ‘@kbd’ - should be formatted as code, the _command_as_argument_kbd_code_ - ‘extra’ key is set to 1. - -‘@kbd’ - - _code_ is set depending on the context and ‘@kbdinputstyle’. - -‘@macro’ - - _invalid_syntax_ is set if there was an error on the ‘@macro’ line. - ‘info’ key hash _arg_line_ holds the line after ‘@macro’. - -‘menu_entry_node’ - - Extra keys with information about the node entry label same as - those appearing in the ‘@node’ _line_arg_ explicit directions - arguments ‘extra’ hash labels information. - -‘@multitable’ - - The key _max_columns_ holds the maximal number of columns. If - there is a ‘@columnfractions’ as argument, then the - _columnfractions_ key is associated with the element for the - @columnfractions command. - -‘@node’ - - Explicit directions labels information are available in the - _line_arg_ node directions arguments of ‘@node’. Each _line_arg_ - argument element ‘extra’ hash _node_content_ key value is an - element holding the contents corresponding to the node name. There - is also a _manual_content_ key if there is an associated external - manual name, and a _normalized_ key for the normalized label, built - as specified in the _HTML Xref_ Texinfo documentation node. - - If you called *note Texinfo::Structuring::nodes_tree: - Texinfo::Structuring $nodes_list = nodes_tree($document), the - _node_directions_ hash in the ‘@node’ element ‘extra’ associates - _up_, _next_ and _prev_ keys to the elements corresponding to the - node line directions. - - An _associated_section_ key holds the tree element of the - sectioning command that follows the node. An _node_preceding_part_ - key holds the tree element of the ‘@part’ that precedes the node, - if there is no sectioning command between the ‘@part’ and the node. - A _node_description_ key holds the first ‘@nodedescription’ - associated to the node. - - A node containing a menu have a _menus_ key which refers to an - array of references to menu elements occuring in the node. - - The first node containing a ‘@printindex’ @-command has the - _isindex_ key set. - -‘paragraph’ - - The _indent_ or _noindent_ key value is set if the corresponding - @-commands are associated with that paragraph. - -‘@part’ - - The next sectioning command tree element is in - _part_associated_section_. The following node tree element is in - _part_following_node_ if there is no sectioning command between the - ‘@part’ and the node. - -‘@ref’ - -‘@xref’ - -‘@pxref’ - -‘@inforef’ - - The _brace_arg_ corresponding to the node argument holds - information on the label, with the same information in the ‘extra’ - hash as for the ‘@node’ _line_arg_ explicit directions arguments. - -‘row’ - - The _row_number_ index key holds the index of the row in the - ‘@multitable’. - -sectioning command - - The node preceding the command is in _associated_node_. The part - preceding the command is in _associated_part_. If the level of the - document was modified by ‘@raisections’ or ‘@lowersections’, the - differential level is in _level_modifier_. - - Other ‘extra’ keys are set when you call *note - Texinfo::Structuring::sectioning_structure: Texinfo::Structuring - $sections_list = sectioning_structure($document). - -‘untranslated_def_line_arg’ - - _documentlanguage_ holds the ‘@documentlanguage’ value. If there - is a translation context, it should be in _translation_context_. - - -File: texi2any_internals.info, Node: Texinfo::Parser SEE ALSO, Next: Texinfo::Parser AUTHOR, Prev: Texinfo::Parser TEXINFO TREE, Up: Texinfo::Parser - -3.7 Texinfo::Parser SEE ALSO -============================ - -Texinfo manual (https://www.gnu.org/software/texinfo/manual/texinfo/). - - -File: texi2any_internals.info, Node: Texinfo::Parser AUTHOR, Next: Texinfo::Parser COPYRIGHT AND LICENSE, Prev: Texinfo::Parser SEE ALSO, Up: Texinfo::Parser - -3.8 Texinfo::Parser AUTHOR -========================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Parser COPYRIGHT AND LICENSE, Prev: Texinfo::Parser AUTHOR, Up: Texinfo::Parser - -3.9 Texinfo::Parser COPYRIGHT AND LICENSE -========================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Document, Next: Texinfo::ManipulateTree, Prev: Texinfo::Parser, Up: Top - -4 Texinfo::Document -******************* - -* Menu: - -* Texinfo::Document NAME:: -* Texinfo::Document SYNOPSIS:: -* Texinfo::Document NOTES:: -* Texinfo::Document DESCRIPTION:: -* Texinfo::Document METHODS:: -* Texinfo::Document SEE ALSO:: -* Texinfo::Document AUTHOR:: -* Texinfo::Document COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Document NAME, Next: Texinfo::Document SYNOPSIS, Up: Texinfo::Document - -4.1 Texinfo::Document NAME -========================== - -Texinfo::Document - Texinfo document tree and information - - -File: texi2any_internals.info, Node: Texinfo::Document SYNOPSIS, Next: Texinfo::Document NOTES, Prev: Texinfo::Document NAME, Up: Texinfo::Document - -4.2 Texinfo::Document SYNOPSIS -============================== - - use Texinfo::Parser; - - my $parser = Texinfo::Parser::parser(); - my $document = $parser->parse_texi_file("somefile.texi"); - - my $indices_information = $document->indices_information(); - my $float_types_arrays = $document->floats_information(); - my $internal_references_array - = $parser->internal_references_information(); - - # $identifier_target is an hash reference on normalized - # node/float/anchor names. - my $identifier_target = $document->labels_information(); - - # A hash reference, keys are @-command names, value is an - # array reference holding all the corresponding @-commands. - # Also contains dircategory and direntry list. - my $global_commands_information - = $document->global_commands_information(); - - # a hash reference on document information (encodings, - # input file name, for example). - my $global_information = $document->global_information(); - - -File: texi2any_internals.info, Node: Texinfo::Document NOTES, Next: Texinfo::Document DESCRIPTION, Prev: Texinfo::Document SYNOPSIS, Up: Texinfo::Document - -4.3 Texinfo::Document NOTES -=========================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Document DESCRIPTION, Next: Texinfo::Document METHODS, Prev: Texinfo::Document NOTES, Up: Texinfo::Document - -4.4 Texinfo::Document DESCRIPTION -================================= - -This module is used to represent parsed Texinfo documents, with the -Texinfo tree and associated information. In general a document is -obtained from a Texinfo parser call, there is no need to setup the -document. - - -File: texi2any_internals.info, Node: Texinfo::Document METHODS, Next: Texinfo::Document SEE ALSO, Prev: Texinfo::Document DESCRIPTION, Up: Texinfo::Document - -4.5 Texinfo::Document METHODS -============================= - -* Menu: - -* Texinfo::Document Getting document information:: -* Texinfo::Document Merging and sorting indices:: -* Texinfo::Document Getting errors and error registering object:: -* Texinfo::Document Getting customization options values registered in document:: -* Texinfo::Document Registering document and information in document:: -* Texinfo::Document Methods for Perl and C code interactions:: - - -File: texi2any_internals.info, Node: Texinfo::Document Getting document information, Next: Texinfo::Document Merging and sorting indices, Up: Texinfo::Document METHODS - -4.5.1 Getting document information ----------------------------------- - -The main purpose of Texinfo::Document methods is to retrieve information -on a Texinfo document. - - The Texinfo tree obtained by parsing a Texinfo document is available -through ‘tree’: - -$tree = tree($document, $handler_only) - - The _$tree_ is a hash reference. It is described in *note - Texinfo::Parser TEXINFO TREE::. - - If _$handler_only_ is set and XS extensions are used, the returned - tree holds a reference to the C Texinfo tree data only, but no - actual Perl Texinfo tree. This avoids building the Perl tree if - all the functions called with the tree as argument have XS - interfaces and directly use the C data and do not use the Perl - tree. - - Some global information is available through ‘global_information’: - -$info = global_information($document) - - The _$info_ returned is a hash reference. The possible keys are - - included_files - - An array of included file paths as they appear in the - document. Binary strings. From both ‘@include’ and - ‘@verbatiminclude’. - - input_encoding_name - - ‘input_encoding_name’ string is the encoding name used for the - Texinfo code. - - input_file_name - - input_directory - - The name of the main Texinfo input file and the associated - directory. Binary strings. In ‘texi2any’, they should come - from the command line (and can be decoded with the encoding in - the customization variable ‘COMMAND_LINE_ENCODING’). - - Some command lists are available, such that it is possible to go -through the corresponding tree elements without walking the tree. They -are available through ‘global_commands_information’: - -$commands = global_commands_information($document) - - _$commands_ is an hash reference. The keys are @-command names. - The associated values are array references containing all the - corresponding tree elements. - - The following list of commands is also available as a key: - - dircategory_direntry - - An array of successive ‘@dircategory’ and ‘@direntry’ as they - appear in the document. - - All the @-commands that have an associated label (so can be the -target of cross references) -- ‘@node’, ‘@anchor’ and ‘@float’ with -label -- have a normalized name associated, constructed as described in -the _HTML Xref_ node in the Texinfo documentation. Those normalized -labels and the association with @-commands is available through -‘labels_information’: - -$identifier_target = labels_information($document) - - _$identifier_target_ is a hash reference whose keys are normalized - labels, and the associated value is the corresponding @-command. - -$labels_list = labels_list ($document) - - _$labels_list_ is a list of Texinfo tree command elements that - could be the target of cross references. - - Information on ‘@float’ grouped by type of floats, each type -corresponding to potential ‘@listoffloats’ is available through -‘floats_information’. - -$float_types = floats_information($document) - - _$float_types_ is a hash reference whose keys are normalized float - types (the first float argument, or the ‘@listoffloats’ argument). - The normalization is the same as for the first step of node names - normalization. The value is the list of float tree elements - appearing in the texinfo document. - - Internal references, nodes and section lists may also be available. - -$internal_references_array = internal_references_information($document) - - The function returns an array reference of cross-reference commands - referring to the same document with @-commands that refer to node, - anchors or floats. - -$nodes_list = nodes_list($document) - - Returns an array reference containing the document nodes. In - general set to the nodes list returned by *note - Texinfo::Structuring nodes_tree: Texinfo::Structuring $nodes_list = - nodes_tree($document), by a call to *note - register_document_nodes_list: Texinfo::Document - register_document_nodes_list ($document, $nodes_list). - -$sections_list = sections_list($document) - - Returns an array reference containing the document sections. In - general set to the sections list returned by *note - Texinfo::Structuring sectioning_structure: Texinfo::Structuring - $sections_list = sectioning_structure($document), by a call to - *note register_document_sections_list: Texinfo::Document - register_document_sections_list ($document, $sections_list). - - Information about defined indices, indices merging and index entries -is available through ‘indices_information’. - -$indices_information = $document->indices_information() - - _$indices_information_ is a hash reference. The keys are - - in_code - - 1 if the index entries should be formatted as code, 0 in the - opposite case. - - name - - The index name. - - prefix - - An array reference of prefix associated to the index. - - merged_in - - In case the index is merged to another index, this key holds - the name of the index the index is merged into. It takes into - account indirectly merged indices. - - index_entries - - An array reference containing index entry structures for index - entries associated with the index. The index entry could be - associated to @-commands like ‘@cindex’, or ‘@item’ in - ‘@vtable’, or definition commands entries like ‘@deffn’. - - The keys of the index entry structures are - - index_name - - The index name associated to the command. Not modified - if the corresponding index is merged in another index - (with ‘@synindex’, for example). - - entry_element - - The element in the parsed tree associated with the - @-command holding the index entry. - - entry_number - - The number of the index entry. - - The following shows the references corresponding to the default - indexes _cp_ and _fn_, the _fn_ index having its entries formatted - as code and the indices corresponding to the following texinfo - - @defindex some - @defcodeindex code - - $index_names = {'cp' => {'name' => 'cp', 'in_code' => 0, }, - 'fn' => {'name' => 'fn', 'in_code' => 1, }, - 'some' => {'in_code' => 0}, - 'code' => {'in_code' => 1}}; - - If ‘name’ is not set, it is set to the index name. - - -File: texi2any_internals.info, Node: Texinfo::Document Merging and sorting indices, Next: Texinfo::Document Getting errors and error registering object, Prev: Texinfo::Document Getting document information, Up: Texinfo::Document METHODS - -4.5.2 Merging and sorting indices ---------------------------------- - -Merged and sorted document indices are also available. Parsed indices -are not merged nor sorted, *note Texinfo::Indices: Texinfo::Indices -NAME. functions are called to merge or sort the indices the first time -the following methods are called. The results are afterwards associated -to the document and simply returned. - - In general, those methods should not be called directly, instead -*note Texinfo::Convert::Converter Index sorting:: Converter methods -should be used, which already call the following functions. - -$merged_indices = $document->merged_indices() - - Merge indices if needed and return merged indices. The - _$merged_indices_ returned is a hash reference whose keys are the - index names and values arrays of index entry structures described - in *note index_entries: Texinfo::Document index_entries. - - *note ‘Texinfo::Indices::merge_indices’: Texinfo::Indices - $merged_indices = merge_indices($indices_information). is used to - merge the indices. - - In general, it is not useful to call this function directly, as it - is already called by index sorting functions. - -$sorted_indices = $document->sorted_indices_by_index($customization_information, $use_unicode_collation, $locale_lang) - -$sorted_indices = $document->sorted_indices_by_letter($customization_information, $use_unicode_collation, $locale_lang) - - ‘sorted_indices_by_letter’ returns the indices sorted by index and - letter, while ‘sorted_indices_by_index’ returns the indices with - all entries of an index together. - - By default, indices are sorted according to the _Unicode Collation - Algorithm_ defined in the Unicode Technical Standard #10 - (http://www.unicode.org/reports/tr10/), without language-specific - collation tailoring. If _$use_unicode_collation_ is set to 0, the - sorting will not use the _Unicode Collation Algorithm_ and simply - sort according to the codepoints. If _$locale_lang_ is set, the - language is used for linguistic tailoring of the sorting, if - possible. - - When sorting by letter, an array reference of letter hash - references is associated with each index name. Each letter hash - reference has two keys, a _letter_ key with the letter, and an - _entries_ key with an array reference of sorted index entries - beginning with the letter. The letter is a character string - suitable for sorting letters, but is not necessarily the best to - use for output. - - When simply sorting, the array of the sorted index entries is - associated with the index name. - - The optional _$customization_information_ argument is used for - error reporting, both to find the *note Texinfo::Report: - Texinfo::Report NAME. object to use for error reporting and Texinfo - customization variables information. In general, it should be a - converter (*note Texinfo::Convert::Converter Getting and setting - customization variables::) or a document *note Texinfo::Document - Getting customization options values registered in document::). - - *note ‘Texinfo::Indices::sort_indices_by_index’: Texinfo::Indices - $index_entries_sorted = sort_indices_by_index($document, - $registrar, $customization_information, $use_unicode_collation, - $locale_lang). and *note - ‘Texinfo::Indices::sort_indices_by_letter’: Texinfo::Indices - $index_entries_sorted = sort_indices_by_letter($document, - $registrar, $customization_information, $use_unicode_collation, - $locale_lang). are used to sort the indices, if needed. - - In general, those methods should not be called directly, instead - *note - ‘Texinfo::Convert::Converter::get_converter_indices_sorted_by_index’: - Texinfo::Convert::Converter $sorted_indices = - $converter->get_converter_indices_sorted_by_index(). and *note - ‘Texinfo::Convert::Converter::get_converter_indices_sorted_by_letter’: - Texinfo::Convert::Converter $sorted_indices = - $converter->get_converter_indices_sorted_by_letter(). should be - used. The ‘Texinfo::Convert::Converter’ methods call - ‘sorted_indices_by_index’ and ‘sorted_indices_by_letter’. - - -File: texi2any_internals.info, Node: Texinfo::Document Getting errors and error registering object, Next: Texinfo::Document Getting customization options values registered in document, Prev: Texinfo::Document Merging and sorting indices, Up: Texinfo::Document METHODS - -4.5.3 Getting errors and error registering object -------------------------------------------------- - -A document has a *note Texinfo::Report: Texinfo::Report NAME. objet -associated, that is used to register errors and warning messages in. To -get the errors registered in the document, the ‘errors’ method should be -called. It is also possible to get the document associated -‘Texinfo::Report’ objet by calling the ‘registrar’ accessor method. - -$registrar = registrar($document) - - Returns the ‘Texinfo::Report’ object associated with the - _$document_. - - In general, this is not needed as most functions use the document - associated ‘Texinfo::Report’ object automatically. However, for - some functions a ‘Texinfo::Report’ object is passed in argument, - being able to get the document registrar object is interesting in - those cases. - -($error warnings list, $error count) = errors($document) - - This function returns as _$error_count_ the count of errors since - setting up the _$document_ (or calling the function). The returned - _$error_warnings_list_ is an array of hash references one for each - error, warning or error line continuation. The format of these - hash references is described in *note ‘Texinfo::Report::errors’: - Texinfo::Report ($error_warnings_list, $error_count) = - errors($registrar). - - -File: texi2any_internals.info, Node: Texinfo::Document Getting customization options values registered in document, Next: Texinfo::Document Registering document and information in document, Prev: Texinfo::Document Getting errors and error registering object, Up: Texinfo::Document METHODS - -4.5.4 Getting customization options values registered in document ------------------------------------------------------------------ - -By default, customization information is registered in a document object -just after parsing the Texinfo code. Structuring and tree -transformation methods then get customization variables values from the -document object they have in argument. The customization variables set -by default may be a subset selected to be useful for structuring and -tree transformation codes. - - To retrieve Texinfo customization variables you can call ‘get_conf’: - -$value = $document->get_conf($variable_name) - - Returns the value of the Texinfo customization variable - _$variable_name_ (possibly ‘undef’), if the variable value was - registered in the document, or ‘undef’. - - -File: texi2any_internals.info, Node: Texinfo::Document Registering document and information in document, Next: Texinfo::Document Methods for Perl and C code interactions, Prev: Texinfo::Document Getting customization options values registered in document, Up: Texinfo::Document METHODS - -4.5.5 Registering document and information in document ------------------------------------------------------- - -The setup of a document is described next, it should only be used in -parsers codes. - -$document = Texinfo::Document::register($tree, $global_information, $indices_information, $floats_information, $internal_references_information, $global_commands_information, $identifier_target, $labels_list, $parser_registrar) - - Setup a document. There is no reason to call this method out of - parsers, as it is already done by the Texinfo parsers. The - arguments are gathered during parsing and correspond to information - returned by the other methods. - - Further information can be registered in the document. - -register_document_nodes_list ($document, $nodes_list) - - Register the _$nodes_list_ array reference as _$document_ nodes - list. This method should be called after the processing of - document structure. - -register_document_options ($document, $options) - - The _$options_ hash reference holds options for the document. - These options should be Texinfo customization options. Usually, - the options registered in the document contain those useful for - structuring and tree transformation getting place between Texinfo - code parsing and conversion to output formats. Indeed, document - customization options are mainly accessed by structuring and tree - transformation methods (by calling *note ‘get_conf’: - Texinfo::Document $value = $document->get_conf($variable_name).). - The options should in general be registered before the calls to - ‘get_conf’. - -register_document_sections_list ($document, $sections_list) - - Register the _$sections_list_ array reference as _$document_ - sections list. This method should be called after the processing - of document structure. - -set_document_global_info($document, $key, $value) - - Add _$value_ _$key_ global information to _$document_. This method - should not be generally useful, as document global information is - already set by the Texinfo parser. The information set should be - available through the next calls to *note global_information: - Texinfo::Document $info = global_information($document). The - method should in general be called before the calls to - ‘global_information’. - - -File: texi2any_internals.info, Node: Texinfo::Document Methods for Perl and C code interactions, Prev: Texinfo::Document Registering document and information in document, Up: Texinfo::Document METHODS - -4.5.6 Methods for Perl and C code interactions ----------------------------------------------- - -The parsing of Texinfo code, structuring and transformations of the tree -called through Texinfo Perl modules may be done by pure Perl modules or -by C code called through XS interfaces. In general, it makes no -difference whether pure Perl or C code is used. When the document and -tree are modified by C code, the Perl structures are automatically -rebuilt when calling the accessors described previously. In some cases, -however, specific functions need to be called to pass information from C -to Perl or perform actions related to C data. - - The methods can always be called on pure Perl modules even if they do -nothing. Therefore it is, in general, better to call them assuming that -modules setting up C data were called, even when it is not the case. - - First, ‘document_descriptor’ can be called to get the document -identifier document used by C code to retrieve the document data in C. -In general this identifier is directly and transparently taken from the -document, but may need to be set on other objects in rare cases. - -$document_descriptor = $document->document_descriptor() - - Returns the document descriptor if the document is available as C - data, 0 or ‘undef’ if not. - - When the tree is directly accessed in Perl (not through a document) -but is modified by C code, for instance called through *note -Texinfo::Common: Texinfo::Common NAME. or *note -Texinfo::Transformations: Texinfo::Transformations NAME. methods, the -Perl structures need to be rebuilt from the C data with ‘rebuild_tree’: - -$rebuilt_tree = rebuild_tree($tree, $no_store) - - Return a _$rebuilt_tree_, rebuilt from C data if needed. If there - is no C data, the tree is returned as is. The tree rebuilt is - based on the Texinfo parsed document associated to the Texinfo tree - _$tree_. - - If the optional _$no_store_ argument is set, remove the C data. - - Note that the Perl tree associated to a document is rebuilt from C -data when calling ‘$document->tree()’. Similarly, the tree is rebuilt -when calling other accessors that depend on the document tree. -Therefore ‘rebuild_tree’ should only be called when there is no document -associated to a tree and ‘$document->tree()’ cannot be called to rebuild -the tree. - - Some methods allow to release the memory held by C data associated to -a Texinfo parsed document: - -remove_document($document) - - Remove the C data corresponding to _$document_. - - -File: texi2any_internals.info, Node: Texinfo::Document SEE ALSO, Next: Texinfo::Document AUTHOR, Prev: Texinfo::Document METHODS, Up: Texinfo::Document - -4.6 Texinfo::Document SEE ALSO -============================== - -*note Texinfo::Parser: Texinfo::Parser NAME. *note Texinfo::Structuring: -Texinfo::Structuring NAME. - - -File: texi2any_internals.info, Node: Texinfo::Document AUTHOR, Next: Texinfo::Document COPYRIGHT AND LICENSE, Prev: Texinfo::Document SEE ALSO, Up: Texinfo::Document - -4.7 Texinfo::Document AUTHOR -============================ - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Document COPYRIGHT AND LICENSE, Prev: Texinfo::Document AUTHOR, Up: Texinfo::Document - -4.8 Texinfo::Document COPYRIGHT AND LICENSE -=========================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree, Next: Texinfo::Structuring, Prev: Texinfo::Document, Up: Top - -5 Texinfo::ManipulateTree -************************* - -* Menu: - -* Texinfo::ManipulateTree NAME:: -* Texinfo::ManipulateTree SYNOPSIS:: -* Texinfo::ManipulateTree NOTES:: -* Texinfo::ManipulateTree DESCRIPTION:: -* Texinfo::ManipulateTree METHODS:: -* Texinfo::ManipulateTree SEE ALSO:: -* Texinfo::ManipulateTree AUTHOR:: -* Texinfo::ManipulateTree COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree NAME, Next: Texinfo::ManipulateTree SYNOPSIS, Up: Texinfo::ManipulateTree - -5.1 Texinfo::ManipulateTree NAME -================================ - -Texinfo::ManipulateTree - Texinfo modules common tree manipulation -functions - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree SYNOPSIS, Next: Texinfo::ManipulateTree NOTES, Prev: Texinfo::ManipulateTree NAME, Up: Texinfo::ManipulateTree - -5.2 Texinfo::ManipulateTree SYNOPSIS -==================================== - - use Texinfo::ManipulateTree; - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree NOTES, Next: Texinfo::ManipulateTree DESCRIPTION, Prev: Texinfo::ManipulateTree SYNOPSIS, Up: Texinfo::ManipulateTree - -5.3 Texinfo::ManipulateTree NOTES -================================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree DESCRIPTION, Next: Texinfo::ManipulateTree METHODS, Prev: Texinfo::ManipulateTree NOTES, Up: Texinfo::ManipulateTree - -5.4 Texinfo::ManipulateTree DESCRIPTION -======================================= - -‘Texinfo::ManipulateTree’ contains methods for copying and modifying the -Texinfo tree used for default conversion to output formats. - - For optional tree transformation, see *note Texinfo::Transformations: -Texinfo::Transformations NAME. - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree METHODS, Next: Texinfo::ManipulateTree SEE ALSO, Prev: Texinfo::ManipulateTree DESCRIPTION, Up: Texinfo::ManipulateTree - -5.5 Texinfo::ManipulateTree METHODS -=================================== - -The Texinfo tree and Texinfo tree elements used in argument of some -functions are documented in *note Texinfo::Parser TEXINFO TREE::. When -customization information is needed, an object that defines ‘get_conf’ -is expected, normally a *note Texinfo::Document Getting customization -options values registered in document:: object. - -move_index_entries_after_items_in_tree($tree) - - In ‘@enumerate’ and ‘@itemize’ from the tree, move index entries - appearing just before ‘@item’ after the ‘@item’. Comment lines - between index entries are moved too. - -protect_colon_in_tree($tree) - -protect_node_after_label_in_tree($tree) - - Protect colon with ‘protect_colon_in_tree’ and characters that are - special in node names after a label in menu entries (tab dot and - comma) with ‘protect_node_after_label_in_tree’. The protection is - achieved by putting protected characters in ‘@asis{}’. - -protect_comma_in_tree($tree) - - Protect comma characters, replacing ‘,’ with @comma{} in tree. - -protect_first_parenthesis($element) - - Modify _$element_ contents by protecting the first parenthesis. If - _$element_ is undef a fatal error with a backtrace will be emitted. - -relate_index_entries_to_table_items_in_tree($document) - - In tables, relate index entries preceding and following an entry - with said item. Reference one of them in the entry's - ‘entry_associated_element’. - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree SEE ALSO, Next: Texinfo::ManipulateTree AUTHOR, Prev: Texinfo::ManipulateTree METHODS, Up: Texinfo::ManipulateTree - -5.6 Texinfo::ManipulateTree SEE ALSO -==================================== - -*note Texinfo::Document: Texinfo::Document NAME, *note -Texinfo::Structuring: Texinfo::Structuring NAME, *note -Texinfo::Transformations: Texinfo::Transformations NAME. - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree AUTHOR, Next: Texinfo::ManipulateTree COPYRIGHT AND LICENSE, Prev: Texinfo::ManipulateTree SEE ALSO, Up: Texinfo::ManipulateTree - -5.7 Texinfo::ManipulateTree AUTHOR -================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::ManipulateTree COPYRIGHT AND LICENSE, Prev: Texinfo::ManipulateTree AUTHOR, Up: Texinfo::ManipulateTree - -5.8 Texinfo::ManipulateTree COPYRIGHT AND LICENSE -================================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Structuring, Next: Texinfo::Report, Prev: Texinfo::ManipulateTree, Up: Top - -6 Texinfo::Structuring -********************** - -* Menu: - -* Texinfo::Structuring NAME:: -* Texinfo::Structuring SYNOPSIS:: -* Texinfo::Structuring NOTES:: -* Texinfo::Structuring DESCRIPTION:: -* Texinfo::Structuring METHODS:: -* Texinfo::Structuring SEE ALSO:: -* Texinfo::Structuring AUTHOR:: -* Texinfo::Structuring COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Structuring NAME, Next: Texinfo::Structuring SYNOPSIS, Up: Texinfo::Structuring - -6.1 Texinfo::Structuring NAME -============================= - -Texinfo::Structuring - information on Texinfo::Document document -structure - - -File: texi2any_internals.info, Node: Texinfo::Structuring SYNOPSIS, Next: Texinfo::Structuring NOTES, Prev: Texinfo::Structuring NAME, Up: Texinfo::Structuring - -6.2 Texinfo::Structuring SYNOPSIS -================================= - - use Texinfo::Structuring qw(sectioning_structure nodes_tree number_floats - associate_internal_references); - - # $document is a parsed Texinfo::Document document. - # When customization variables information is needed, it is obtained - # from the $document by calling the get_conf() method. - my $sections_list = sectioning_structure($document); - my $nodes_list = nodes_tree($document); - set_menus_node_directions($document); - complete_node_tree_with_menus($document); - check_nodes_are_referenced($document); - associate_internal_references($document); - number_floats($document->floats_information()); - - -File: texi2any_internals.info, Node: Texinfo::Structuring NOTES, Next: Texinfo::Structuring DESCRIPTION, Prev: Texinfo::Structuring SYNOPSIS, Up: Texinfo::Structuring - -6.3 Texinfo::Structuring NOTES -============================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Structuring DESCRIPTION, Next: Texinfo::Structuring METHODS, Prev: Texinfo::Structuring NOTES, Up: Texinfo::Structuring - -6.4 Texinfo::Structuring DESCRIPTION -==================================== - -‘Texinfo::Structuring’ allows to collect information on a Texinfo -document structure. Thanks to ‘sectioning_structure’ the hierarchy of -sectioning commands is determined. The directions implied by menus are -determined with ‘set_menus_node_directions’. The node tree is analysed -with ‘nodes_tree’. Nodes directions are completed with menu directions -with ‘complete_node_tree_with_menus’. Floats get their standard -numbering with ‘number_floats’ and internal references are matched up -with nodes, floats or anchors with ‘associate_internal_references’. - - -File: texi2any_internals.info, Node: Texinfo::Structuring METHODS, Next: Texinfo::Structuring SEE ALSO, Prev: Texinfo::Structuring DESCRIPTION, Up: Texinfo::Structuring - -6.5 Texinfo::Structuring METHODS -================================ - -No method is exported in the default case. - - Most methods use the *note Texinfo::Report: Texinfo::Report NAME. -registrar from a parsed document for error reporting. Most also require -Texinfo customization variables information, which means an object -implementing the ‘get_conf’ method, in general a parsed document with -registered customization, or, sometime, a converter (*note -Texinfo::Convert::Converter Getting and setting customization -variables::). Other common data needed such as target elements -associated to identifiers or refs are obtained from a parsed document, -see *note Texinfo::Document: Texinfo::Document NAME. - -associate_internal_references($document) - - Verify that internal references (‘@ref’ and similar without fourth - of fifth argument and menu entries) have an associated node, anchor - or float. Set the _normalized_ key in the ‘extra’ hash of - ‘menu_entry_node’ container for menu entries and in the first - argument ‘extra’ hash for internal references ‘@ref’ and similar - @-commands. - -check_nodes_are_referenced($document) - - Check that all the nodes are referenced (in menu, @*ref or node - direction). - - Should be called after ‘complete_node_tree_with_menus’ in order to - have the autogenerated menus available. - -complete_node_tree_with_menus($document) - - Complete nodes directions with menu directions. Check consistency - of menus, sectionning and nodes direction structures. - -@children_nodes = get_node_node_childs_from_sectioning($node) - - _$node_ is a node tree element. Find the node _$node_ children - based on the sectioning structure. For the node associated with - ‘@top’ sectioning command, the sections associated with parts are - considered. - -new_block_command($element, $command_name) - - Complete _$element_ by adding the _$command_name_, the command line - argument and ‘@end’ to turn the element to a proper block command. - -$new_menu = new_complete_node_menu($node, $customization_information, $use_sections) - - Returns a ‘@menu’ Texinfo tree element for node _$node_, pointing - to the children of the node obtained with the sectioning structure. - If _$use_sections_ is set, use section names for the menu entry - names. _$customization_information_, if defined, should hold - information needed for translations. Translations are only needed - when generating the top node menu. - -$detailmenu = new_detailmenu($customization_information, $registrar, $identifier_target, $menus) - - Returns a detailmenu tree element formatted as a master node. - _$menus_ is an array reference containing the regular menus of the - Top node. _$customization_information_ should hold information - needed for translations and error reporting. - - The _$registrar_ argument can be set to a *note Texinfo::Report: - Texinfo::Report NAME. object. If the _$registrar_ argument is not - set, _$customization_information_ is assumed to be a converter, and - error reporting uses converters error messages reporting functions - (*note Texinfo::Convert::Converter Registering error and warning - messages::). - -$entry = new_node_menu_entry($node, $use_sections) - - Returns the Texinfo tree corresponding to a single menu entry - pointing to _$node_. If _$use_sections_ is set, use the section - name for the menu entry name. Returns ‘undef’ if the node argument - is missing. - -$nodes_list = nodes_tree($document) - - Goes through nodes in _$document_ tree and set directions. Returns - the list of nodes. - - This functions sets, in the ‘extra’ node element hash: - - node_directions - - Hash reference with _up_, _next_ and _prev_ keys associated to - elements corresponding to node line directions. - -number_floats($float_information) - - Number the floats as described in the Texinfo manual. Sets the - _float_number_ key in the ‘extra’ hash of the float tree elements. - -$command_name = section_level_adjusted_command_name($element) - - Return the sectioning command name corresponding to the sectioning - element _$element_, adjusted in order to take into account raised - and lowered sections, when needed. - -$sections_list = sectioning_structure($document) - - This function goes through the parsed document tree and gather - information on the document structure for sectioning commands. It - returns a reference on the sections elements list. - - It sets section elements ‘extra’ hash values: - - section_level - - The level in the sectioning tree hierarchy. 0 is for ‘@top’ - or ‘@part’, 1 for ‘@chapter’, ‘@appendix’... This level is - corrected by ‘@raisesections’ and ‘@lowersections’. - - section_number - - The sectioning element number. - - section_childs - - An array holding sectioning elements children of the element. - - section_directions - - Hash reference with _up_, _next_ and _prev_ keys associated to - elements corresponding to sectioning structure directions. - - toplevel_directions - - Hash reference with _up_, _next_ and _prev_ keys associated to - elements corresponding to toplevel sectioning structure - directions, for elements like ‘@top’, ‘@chapter’, ‘@appendix’, - not taking into account ‘@part’ elements. - - An element is created and used as the root of the sectioning - commands tree. This element is associated to the ‘extra’ - _sectioning_root_ key of the first section element of the sections - list. It is also at the top of the tree when following the _up_ - _section_directions_. - -set_menus_node_directions($document); - - Goes through menu and set directions. - - This functions sets, in the ‘extra’ node element hash reference: - - menu_directions - - Hash reference with _up_, _next_ and _prev_ keys associated to - elements corresponding to menu directions. - -warn_non_empty_parts($document) - - Register a warning in for each ‘@part’ in global commands - information of _$document_ that is not empty. - - -File: texi2any_internals.info, Node: Texinfo::Structuring SEE ALSO, Next: Texinfo::Structuring AUTHOR, Prev: Texinfo::Structuring METHODS, Up: Texinfo::Structuring - -6.6 Texinfo::Structuring SEE ALSO -================================= - -Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note -Texinfo::Document: Texinfo::Document NAME. - - -File: texi2any_internals.info, Node: Texinfo::Structuring AUTHOR, Next: Texinfo::Structuring COPYRIGHT AND LICENSE, Prev: Texinfo::Structuring SEE ALSO, Up: Texinfo::Structuring - -6.7 Texinfo::Structuring AUTHOR -=============================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Structuring COPYRIGHT AND LICENSE, Prev: Texinfo::Structuring AUTHOR, Up: Texinfo::Structuring - -6.8 Texinfo::Structuring COPYRIGHT AND LICENSE -============================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Report, Next: Texinfo::Translations, Prev: Texinfo::Structuring, Up: Top - -7 Texinfo::Report -***************** - -* Menu: - -* Texinfo::Report NAME:: -* Texinfo::Report SYNOPSIS:: -* Texinfo::Report NOTES:: -* Texinfo::Report DESCRIPTION:: -* Texinfo::Report METHODS:: -* Texinfo::Report AUTHOR:: -* Texinfo::Report COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Report NAME, Next: Texinfo::Report SYNOPSIS, Up: Texinfo::Report - -7.1 Texinfo::Report NAME -======================== - -Texinfo::Report - Error storing for Texinfo modules - - -File: texi2any_internals.info, Node: Texinfo::Report SYNOPSIS, Next: Texinfo::Report NOTES, Prev: Texinfo::Report NAME, Up: Texinfo::Report - -7.2 Texinfo::Report SYNOPSIS -============================ - - use Texinfo::Report; - - my $registrar = Texinfo::Report::new(); - - if ($warning_happened) { - $registrar->line_warn($converter, sprintf(__("\@%s is wrongly used"), - $current->{'cmdname'}), $current->{'source_info'}); - } - - my ($errors, $errors_count) = $registrar->errors(); - foreach my $error_message (@$errors) { - warn $error_message->{'error_line'}; - } - - $registrar->clear(); - - -File: texi2any_internals.info, Node: Texinfo::Report NOTES, Next: Texinfo::Report DESCRIPTION, Prev: Texinfo::Report SYNOPSIS, Up: Texinfo::Report - -7.3 Texinfo::Report NOTES -========================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Report DESCRIPTION, Next: Texinfo::Report METHODS, Prev: Texinfo::Report NOTES, Up: Texinfo::Report - -7.4 Texinfo::Report DESCRIPTION -=============================== - -The ‘Texinfo::Report’ module helps with error handling. Errors and -warnings can be setup, stored and retrieved later on. This module is -used by the Texinfo modules *note Texinfo::Parser: Texinfo::Parser NAME. -and *note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. - - -File: texi2any_internals.info, Node: Texinfo::Report METHODS, Next: Texinfo::Report AUTHOR, Prev: Texinfo::Report DESCRIPTION, Up: Texinfo::Report - -7.5 Texinfo::Report METHODS -=========================== - -No method is exported in the default case. - - The ‘new’ method initializes a ‘Texinfo::Report’ object. The errors -collected are available through the ‘errors’ method, the other methods -allow registering errors and warnings. - -my $registrar = Texinfo::Report::new() - - Return an initialized ‘Texinfo::Report’ object. - -($error_warnings_list, $error_count) = errors($registrar) - - This function returns as _$error_count_ the count of errors since - calling ‘new’. The _$error_warnings_list_ is an array of hash - references one for each error, warning or error line continuation. - Each of these has the following keys: - - continuation - - If set, the line is a continuation line of a message. - - error_line - - The text of the error formatted with the macro name, as - needed. - - file_name - - The file name where the error or warning occurs. - - line_nr - - The line number of the error or warning. - - macro - - The user macro name that is expanded at the location of the - error or warning. - - text - - The text of the error. - - type - - May be ‘warning’, or ‘error’. - -$registrar->clear () - - Clear the previously registered messages. - -$registrar->add_formatted_message ($msg) - - Register the _$msg_ hash reference corresponding to an error, - warning or error line continuation. The _$msg_ hash reference - should correspond to the structure returned by ‘errors’. - -$registrar->line_warn($text, $error_location_info, $continuation, $debug, $silent) - -$registrar->line_error($text, $error_location_info, $continuation, $debug, $silent) - - Register a warning or an error. The _$text_ is the text of the - error or warning. The mandatory _$error_location_info_ holds the - information on the error or warning location. The - _$error_location_info_ reference on hash may be obtained from - Texinfo elements _source_info_ keys. It may also be setup to point - to a file name, using the ‘file_name’ key and to a line number, - using the ‘line_nr’ key. The ‘file_name’ key value should be a - binary string. - - The _$continuation_ optional arguments, if true, conveys that the - line is a continuation line of a message. - - The _$debug_ optional integer arguments sets the debug level. - - The _$silent_ optional arguments, if true, suppresses the output of - a message that is output immediatly if debugging is set. - - The _source_info_ key of Texinfo tree elements is described in more - details in *note Texinfo::Parser source_info::. - -$registrar->document_warn($text, $program_name, $continuation) - -$registrar->document_error($text, $program_name, $continuation) - - Register a document-wide error or warning. _$text_ is the error or - warning message. The _$program_name_ is prepended to the message, - if defined. The _$continuation_ optional arguments, if true, - conveys that the line is a continuation line of a message. - - -File: texi2any_internals.info, Node: Texinfo::Report AUTHOR, Next: Texinfo::Report COPYRIGHT AND LICENSE, Prev: Texinfo::Report METHODS, Up: Texinfo::Report - -7.6 Texinfo::Report AUTHOR -========================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Report COPYRIGHT AND LICENSE, Prev: Texinfo::Report AUTHOR, Up: Texinfo::Report - -7.7 Texinfo::Report COPYRIGHT AND LICENSE -========================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Translations, Next: Texinfo::Transformations, Prev: Texinfo::Report, Up: Top - -8 Texinfo::Translations -*********************** - -* Menu: - -* Texinfo::Translations NAME:: -* Texinfo::Translations SYNOPSIS:: -* Texinfo::Translations NOTES:: -* Texinfo::Translations DESCRIPTION:: -* Texinfo::Translations METHODS:: -* Texinfo::Translations SEE ALSO:: -* Texinfo::Translations AUTHOR:: -* Texinfo::Translations COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Translations NAME, Next: Texinfo::Translations SYNOPSIS, Up: Texinfo::Translations - -8.1 Texinfo::Translations NAME -============================== - -Texinfo::Translations - Translations of output documents strings for -Texinfo modules - - -File: texi2any_internals.info, Node: Texinfo::Translations SYNOPSIS, Next: Texinfo::Translations NOTES, Prev: Texinfo::Translations NAME, Up: Texinfo::Translations - -8.2 Texinfo::Translations SYNOPSIS -================================== - - @ISA = qw(Texinfo::Translations); - - Texinfo::Translations::configure('LocaleData'); - - my $tree_translated - = Texinfo::Translations::gdt('See {reference} in @cite{{book}}', - $converter->get_conf('documentlanguage'), - {'reference' => $tree_reference, - 'book' => {'text' => $book_name}}); - - -File: texi2any_internals.info, Node: Texinfo::Translations NOTES, Next: Texinfo::Translations DESCRIPTION, Prev: Texinfo::Translations SYNOPSIS, Up: Texinfo::Translations - -8.3 Texinfo::Translations NOTES -=============================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Translations DESCRIPTION, Next: Texinfo::Translations METHODS, Prev: Texinfo::Translations NOTES, Up: Texinfo::Translations - -8.4 Texinfo::Translations DESCRIPTION -===================================== - -The ‘Texinfo::Translations’ module helps with translations in output -documents. - - Translation of error messages is not described here, some elements -are in *note Texinfo::Common ‘__’ and ‘__p’: Texinfo::Common -$translated_string = __($msgid). - - -File: texi2any_internals.info, Node: Texinfo::Translations METHODS, Next: Texinfo::Translations SEE ALSO, Prev: Texinfo::Translations DESCRIPTION, Up: Texinfo::Translations - -8.5 Texinfo::Translations METHODS -================================= - -No method is exported. - - The ‘configure’ method sets the translation files base directory. If -not called, system defaults are used. - -configure($localesdir, $strings_textdomain) - - _$localesdir_ is the directory where translation files are found. - The directory structure and files format should follow the - conventions expected for gettext based internationalization - (https://www.gnu.org/software/gettext/manual/html_node/Locating-Catalogs.html). - The _$strings_textdomain_ is optional, if set, it determines the - translation domain. - - The ‘gdt’ and ‘pgdt’ methods are used to translate strings to be -output in converted documents, and return a Texinfo tree. The -‘gdt_string’ is similar but returns a simple string, for already -converted strings. - -$tree = gdt($string, $lang, $replaced_substrings, $translation_context, $debug_level, $object, $translate_string_method) - -$string = gdt_string($string, $lang, $replaced_substrings, $translation_context, $object, $translate_string_method) - - The _$string_ is a string to be translated. With ‘gdt’ the - function returns a Texinfo tree, as the string is interpreted as - Texinfo code after translation. With ‘gdt_string’ a string is - returned. - - _$lang_ is the language used for the translation. - - _$replaced_substrings_ is an optional hash reference specifying - some substitution to be done after the translation. The key of the - _$replaced_substrings_ hash reference identifies what is to be - substituted. In the string to be translated word in brace matching - keys of _$replaced_substrings_ are replaced. For ‘gdt’, the value - is a Texinfo tree element that is substituted in the resulting - Texinfo tree. For ‘gdt_string’, the value is a string that is - replaced in the resulting string. - - _$debug_level_ is an optional debugging level supplied to ‘gdt’, - similar to the ‘DEBUG’ customization variable. If set, the debug - level minus one is passed to the Texinfo string parser called in - ‘gdt’. - - The _$translation_context_ is optional. If not ‘undef’ this is a - translation context string for _$string_. It is the first argument - of ‘pgettext’ in the C API of Gettext. - - For example, in the following call, the string ‘See {reference} in - @cite{{book}}’ is translated, then parsed as a Texinfo string, with - _{reference}_ substituted by _$tree_reference_ in the resulting - tree, and _{book}_ replaced by the associated Texinfo tree text - element: - - $tree = gdt('See {reference} in @cite{{book}}', "ca", - {'reference' => $tree_reference, - 'book' => {'text' => $book_name}}); - - By default, ‘gdt’ and ‘gdt_string’ call ‘translate_string’ to use a - gettext-like infrastructure to retrieve the translated strings, - using the _texinfo_document_ domain. You can change the method - used to retrieve the translated strings by providing a - _$translate_string_method_ argument. If not undef it should be a - reference on a function that is called instead of - ‘translate_string’. The _$object_ is passed as first argument of - the _$translate_string_method_, the other arguments are the same as - *note ‘translate_string’: Texinfo::Translations $translated_string - = translate_string($string, $lang, $translation_context). - arguments. - -$tree = pgdt($translation_context, $string, $lang, $replaced_substrings, $debug_level) - - Same to ‘gdt’ except that the _$translation_context_ is not - optional. Calls ‘gdt’. This function is useful to mark strings - with a translation context for translation. This function is - similar to pgettext in the Gettext C API. - - By default, in ‘gdt’, ‘gdt_string’ and ‘pgdt’ a string is translated -with ‘translate_string’. - -$translated_string = translate_string($string, $lang, $translation_context) - - The _$string_ is a string to be translated. _$lang_ is the - language used for the translation. The _$translation_context_ is - optional. If not ‘undef’ this is a translation context string for - _$string_. It is the first argument of ‘pgettext’ in the C API of - Gettext. - - ‘translate_string’ uses a gettext-like infrastructure to retrieve - the translated strings, using the _texinfo_document_ domain. - - -File: texi2any_internals.info, Node: Texinfo::Translations SEE ALSO, Next: Texinfo::Translations AUTHOR, Prev: Texinfo::Translations METHODS, Up: Texinfo::Translations - -8.6 Texinfo::Translations SEE ALSO -================================== - -GNU gettext utilities manual -(https://www.gnu.org/software/gettext/manual/). - - -File: texi2any_internals.info, Node: Texinfo::Translations AUTHOR, Next: Texinfo::Translations COPYRIGHT AND LICENSE, Prev: Texinfo::Translations SEE ALSO, Up: Texinfo::Translations - -8.7 Texinfo::Translations AUTHOR -================================ - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Translations COPYRIGHT AND LICENSE, Prev: Texinfo::Translations AUTHOR, Up: Texinfo::Translations - -8.8 Texinfo::Translations COPYRIGHT AND LICENSE -=============================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Transformations, Next: Texinfo::Indices, Prev: Texinfo::Translations, Up: Top - -9 Texinfo::Transformations -************************** - -* Menu: - -* Texinfo::Transformations NAME:: -* Texinfo::Transformations NOTES:: -* Texinfo::Transformations DESCRIPTION:: -* Texinfo::Transformations METHODS:: -* Texinfo::Transformations SEE ALSO:: -* Texinfo::Transformations AUTHOR:: -* Texinfo::Transformations COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Transformations NAME, Next: Texinfo::Transformations NOTES, Up: Texinfo::Transformations - -9.1 Texinfo::Transformations NAME -================================= - -Texinfo::Transformations - transformations of Texinfo tree - - -File: texi2any_internals.info, Node: Texinfo::Transformations NOTES, Next: Texinfo::Transformations DESCRIPTION, Prev: Texinfo::Transformations NAME, Up: Texinfo::Transformations - -9.2 Texinfo::Transformations NOTES -================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Transformations DESCRIPTION, Next: Texinfo::Transformations METHODS, Prev: Texinfo::Transformations NOTES, Up: Texinfo::Transformations - -9.3 Texinfo::Transformations DESCRIPTION -======================================== - -Includes miscellaneous methods such as as -‘insert_nodes_for_sectioning_commands’ that adds nodes for sectioning -commands without nodes and ‘complete_tree_nodes_menus’ and -‘complete_tree_nodes_missing_menu’ that completes the node menus based -on the sectioning tree. - - Methods for copying and modifying the Texinfo tree used for default -conversion to output formats are in *note Texinfo::ManipulateTree: -Texinfo::ManipulateTree NAME. - - -File: texi2any_internals.info, Node: Texinfo::Transformations METHODS, Next: Texinfo::Transformations SEE ALSO, Prev: Texinfo::Transformations DESCRIPTION, Up: Texinfo::Transformations - -9.4 Texinfo::Transformations METHODS -==================================== - -No method is exported in the default case. - -complete_tree_nodes_menus($tree, $add_section_names_in_entries) - - Add menu entries or whole menus for nodes associated with sections, - based on the sectioning tree. If the optional - ‘$add_section_names_in_entries’ argument is set, a menu entry name - is added using the section name. This function should be called - after *note sectioning_structure: Texinfo::Structuring - $sections_list = sectioning_structure($document). - -complete_tree_nodes_missing_menu($document, $use_section_names_in_entries) - - Add whole menus for nodes associated with sections and without - menu, based on the _$document_ sectioning tree. If the optional - _$add_section_names_in_entries_ argument is set, a menu entry name - is added using the section name. This function should be called - after *note sectioning_structure: Texinfo::Structuring - $sections_list = sectioning_structure($document). - -fill_gaps_in_sectioning($tree, $commands_heading_tree) - - This function adds empty ‘@unnumbered’ and similar commands in a - tree to fill gaps in sectioning. This may be used, for example, - when converting from a format that can handle gaps in sectioning. - _$tree_ is the tree root, which is modified by adding the new - sectioning commands. - - In the default case, the added sectioning commands headings are - empty. It is possible to use instead the _$commands_heading_tree_ - Texinfo tree element. - - If the sectioning commands are lowered or raised (with - ‘@raisesections’, ‘@lowersection’) the tree may be modified with - ‘@raisesections’ or ‘@lowersection’ added to some tree elements. - -insert_nodes_for_sectioning_commands($document) - - Insert nodes for sectioning commands without node in ‘$document’ - tree. - -menu_to_simple_menu($menu) - -set_menus_to_simple_menu($nodes_list) - - ‘menu_to_simple_menu’ transforms the tree of a menu tree element. - ‘set_menus_to_simple_menu’ calls ‘menu_to_simple_menu’ for all the - menus of the nodes in ‘$nodes_list’. - - A simple menu has no _menu_comment_, _menu_entry_ or - _menu_entry_description_ container anymore, their content are - merged directly in the menu in _preformatted_ container. - - Note that this kind of tree is not supported by other codes, so - this transformation should be avoided unless one knows exactly what - to expect. - -protect_hashchar_at_line_beginning($tree, $registrar, $customization_information) - - Protect hash (#) character at the beginning of line such that they - would not be considered as lines to be processed by the CPP - processor. The _$registrar_ and _$customization_information_ - arguments are optional. If defined, the _$registrar_ argument - should be a *note Texinfo::Report: Texinfo::Report NAME. object in - which the errors and warnings encountered while parsing are - registered. If defined, _$customization_information_ should give - access to customization through ‘get_conf’. If both _$registrar_ - and _$customization_information_ are defined they are used for - error reporting in case an hash character could not be protected - because it appeared in a raw formatted environment (‘@tex’, - ‘@html’...). - -$modified_tree = reference_to_arg_in_tree($tree, $document) - - Modify _$tree_ by converting reference @-commands to simple text - using one of the arguments. This transformation can be used, for - example, to remove reference @-command from constructed node names - trees, as node names cannot contain reference @-command while there - could be some in the tree used in input for the node name tree. - The _$document_ argument is optional. If given, the converted - reference @-command is removed from the _$document_ internal - references list. - - A _$modified_tree_ is not systematically returned, if the _$tree_ - in argument is not replaced, undef may also be returned. - -regenerate_master_menu($document, $use_sections) - - Regenerate the _$document_ Top node master menu, replacing the - first detailmenu in Top node menus or appending at the end of the - Top node menu. - - _$use_sections_ is an optional argument. If set, sections - associated with nodes are used as labels in the generated master - menu. - - -File: texi2any_internals.info, Node: Texinfo::Transformations SEE ALSO, Next: Texinfo::Transformations AUTHOR, Prev: Texinfo::Transformations METHODS, Up: Texinfo::Transformations - -9.5 Texinfo::Transformations SEE ALSO -===================================== - -Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note -Texinfo::Parser: Texinfo::Parser NAME, *note Texinfo::ManipulateTree: -Texinfo::ManipulateTree NAME. - - -File: texi2any_internals.info, Node: Texinfo::Transformations AUTHOR, Next: Texinfo::Transformations COPYRIGHT AND LICENSE, Prev: Texinfo::Transformations SEE ALSO, Up: Texinfo::Transformations - -9.6 Texinfo::Transformations AUTHOR -=================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Transformations COPYRIGHT AND LICENSE, Prev: Texinfo::Transformations AUTHOR, Up: Texinfo::Transformations - -9.7 Texinfo::Transformations COPYRIGHT AND LICENSE -================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Indices, Next: Texinfo::OutputUnits, Prev: Texinfo::Transformations, Up: Top - -10 Texinfo::Indices -******************* - -* Menu: - -* Texinfo::Indices NAME:: -* Texinfo::Indices SYNOPSIS:: -* Texinfo::Indices NOTES:: -* Texinfo::Indices DESCRIPTION:: -* Texinfo::Indices METHODS:: -* Texinfo::Indices SEE ALSO:: -* Texinfo::Indices AUTHOR:: -* Texinfo::Indices COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Indices NAME, Next: Texinfo::Indices SYNOPSIS, Up: Texinfo::Indices - -10.1 Texinfo::Indices NAME -========================== - -Texinfo::Indices - merging and sorting indices from Texinfo - - -File: texi2any_internals.info, Node: Texinfo::Indices SYNOPSIS, Next: Texinfo::Indices NOTES, Prev: Texinfo::Indices NAME, Up: Texinfo::Indices - -10.2 Texinfo::Indices SYNOPSIS -============================== - - use Texinfo::Indices; - - # $document is a parsed Texinfo::Document document. - my $indices_information = $document->indices_information(); - my $merged_index_entries - = Texinfo::Indices::merge_indices($indices_information); - - # $registrar is a Texinfo::Report object. $config is an object - # implementing the get_conf() method. - my $index_entries_sorted; - if ($sort_by_letter) { - $index_entries_sorted - = Texinfo::Indices::sort_indices_by_letter($document, $registrar, - $config); - } else { - $index_entries_sorted - = Texinfo::Indices::sort_indices_by_index($document, $registrar, - $config); - } - - -File: texi2any_internals.info, Node: Texinfo::Indices NOTES, Next: Texinfo::Indices DESCRIPTION, Prev: Texinfo::Indices SYNOPSIS, Up: Texinfo::Indices - -10.3 Texinfo::Indices NOTES -=========================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Indices DESCRIPTION, Next: Texinfo::Indices METHODS, Prev: Texinfo::Indices NOTES, Up: Texinfo::Indices - -10.4 Texinfo::Indices DESCRIPTION -================================= - -‘merge_indices’ may be used to merge indices. Document indices may be -sorted with ‘sort_indices_by_index’ or ‘sort_indices_by_letter’. Other -functions deal with formatting of index entries as text or getting -information on index entry. - - Note that, in general, the functions used to merge or sort indices -should not be called directly, corresponding functions in *note -Texinfo::Document: Texinfo::Document NAME. already call the functions in -this module, and, in addition, cache the result with the document. -Furthermore, it should be even better to call converter functions, which -call document functions. - - -File: texi2any_internals.info, Node: Texinfo::Indices METHODS, Next: Texinfo::Indices SEE ALSO, Prev: Texinfo::Indices DESCRIPTION, Up: Texinfo::Indices - -10.5 Texinfo::Indices METHODS -============================= - -No method is exported. - -$sort_string = index_entry_element_sort_string($document_info, $main_entry, $index_entry_element, $options, $prefer_reference_element) - - Return a string suitable as a sort string, for index entries. - _$document_info_ is used by C code to retrieve the document data, - using the ‘document_descriptor’ key. _$document_info_ can be a - converter based on *note Texinfo::Convert::Converter: - Texinfo::Convert::Converter NAME, a *note Texinfo::Document: - Texinfo::Document NAME. document, otherwise ‘document_descriptor’ - need, in general, to be set up explicitely. - - The tree element index entry processed is _$index_entry_element_, - and can be a ‘@subentry’. _$main_entry_ is the main index entry - that can be used to gather information. - - The _$options_ are options used for Texinfo to text conversion for - the generation of the sort string. If the sort string is supposed - to be output, the _$options_ are typically obtained from *note - setup_index_entry_keys_formatting: Texinfo::Indices $option = - setup_index_entry_keys_formatting($customization_information). - - If _$prefer_reference_element_ is set, prefer an untranslated - element for the formatting as sort string. - -($text, $command) = index_entry_first_letter_text_or_command($index_entry) - - Return the _$index_entry_ leading text _$text_ or textual command - Texinfo tree hash reference _$command_. Here textual commands - means accent commands, brace commands without arguments used for - character and glyph insertion and ‘@U’. - - This method can in particular be used to format the leading letter - of an index entry using _$command_ instead of the sort string set - by ‘sort_indices_by_letter’. - -$merged_indices = merge_indices($indices_information) - - Returns a structure holding all the index entries by index name - with all the entries of merged indices merged with those of the - indice merged into. The _$indices_information_ argument should be - an hash reference with indices information, it is described in - details in *note ‘Texinfo::Document::indices_information’: - Texinfo::Document $indices_information = - $document->indices_information(). - - The _$merged_indices_ returned is a hash reference whose keys are - the index names and values arrays of index entry structures - described in details in *note Texinfo::Document index_entries::. - - In general, this method should not be called directly, instead - *note ‘Texinfo::Document::merged_indices’: Texinfo::Document - $merged_indices = $document->merged_indices(). should be called on - a document, which calls ‘merge_indices’ if needed and associate the - merged indices to the document. - -$option = setup_index_entry_keys_formatting($customization_information) - - Return options relevant for index keys sorting for conversion of - Texinfo to text to be output. - -$index_entries_sorted = sort_indices_by_index($document, $registrar, $customization_information, $use_unicode_collation, $locale_lang) - -$index_entries_sorted = sort_indices_by_letter($document, $registrar, $customization_information, $use_unicode_collation, $locale_lang) - - ‘sort_indices_by_letter’ sorts by index and letter, while - ‘sort_indices_by_index’ sort all entries of an index together. - Indices are obtained from _$document_, and should have been merged - previously, in general by using *note - ‘Texinfo::Document::merged_indices’: Texinfo::Document - $merged_indices = $document->merged_indices(). In both cases, a - hash reference with index names as keys _$index_entries_sorted_ is - returned. - - By default, indices are sorted according to the _Unicode Collation - Algorithm_ defined in the Unicode Technical Standard #10 - (http://www.unicode.org/reports/tr10/), without language-specific - collation tailoring. If _$use_unicode_collation_ is set to 0, the - sorting will not use the _Unicode Collation Algorithm_ and simply - sort according to the codepoints. If _$locale_lang_ is set, the - language is used for linguistic tailoring of the sorting, if - possible. - - When sorting by letter, an array reference of letter hash - references is associated with each index name. Each letter hash - reference has two keys, a _letter_ key with the letter, and an - _entries_ key with an array reference of sorted index entries - beginning with the letter. The letter is a character string - suitable for sorting letters, but is not necessarily the best to - use for output. - - When simply sorting, the array of the sorted index entries is - associated with the index name. - - The _$registrar_ argument can be set to a *note Texinfo::Report: - Texinfo::Report NAME. object. Error reporting also requires - Texinfo customization variables information, which means an object - implementing the ‘get_conf’ method, a converter (*note - Texinfo::Convert::Converter Getting and setting customization - variables::) or a document *note Texinfo::Document Getting - customization options values registered in document::) as - _$customization_information_ argument. If the _$registrar_ - argument is not set, the object used to get customization - information is assumed to be a converter, and the error reporting - uses converters error messages reporting functions (*note - Texinfo::Convert::Converter Registering error and warning - messages::). - - In general, those methods should not be called directly, instead - *note ‘Texinfo::Document::sorted_indices_by_index’: - Texinfo::Document $sorted_indices = - $document->sorted_indices_by_index($customization_information, - $use_unicode_collation, $locale_lang). or *note - ‘Texinfo::Document::sorted_indices_by_letter’: Texinfo::Document - $sorted_indices = - $document->sorted_indices_by_letter($customization_information, - $use_unicode_collation, $locale_lang). should be called on a - document. The ‘Texinfo::Document’ functions call - ‘sort_indices_by_index’ or ‘sort_indices_by_letter’ if needed and - associate the sorted indices to the document. - - -File: texi2any_internals.info, Node: Texinfo::Indices SEE ALSO, Next: Texinfo::Indices AUTHOR, Prev: Texinfo::Indices METHODS, Up: Texinfo::Indices - -10.6 Texinfo::Indices SEE ALSO -============================== - -Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note -Texinfo::Document: Texinfo::Document NAME. - - -File: texi2any_internals.info, Node: Texinfo::Indices AUTHOR, Next: Texinfo::Indices COPYRIGHT AND LICENSE, Prev: Texinfo::Indices SEE ALSO, Up: Texinfo::Indices - -10.7 Texinfo::Indices AUTHOR -============================ - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Indices COPYRIGHT AND LICENSE, Prev: Texinfo::Indices AUTHOR, Up: Texinfo::Indices - -10.8 Texinfo::Indices COPYRIGHT AND LICENSE -=========================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits, Next: Texinfo::Convert::Texinfo, Prev: Texinfo::Indices, Up: Top - -11 Texinfo::OutputUnits -*********************** - -* Menu: - -* Texinfo::OutputUnits NAME:: -* Texinfo::OutputUnits SYNOPSIS:: -* Texinfo::OutputUnits NOTES:: -* Texinfo::OutputUnits DESCRIPTION:: -* Texinfo::OutputUnits METHODS:: -* Texinfo::OutputUnits SEE ALSO:: -* Texinfo::OutputUnits AUTHOR:: -* Texinfo::OutputUnits COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits NAME, Next: Texinfo::OutputUnits SYNOPSIS, Up: Texinfo::OutputUnits - -11.1 Texinfo::OutputUnits NAME -============================== - -Texinfo::OutputUnits - setup and manage Texinfo document output units - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits SYNOPSIS, Next: Texinfo::OutputUnits NOTES, Prev: Texinfo::OutputUnits NAME, Up: Texinfo::OutputUnits - -11.2 Texinfo::OutputUnits SYNOPSIS -================================== - - use Texinfo::OutputUnits qw(split_by_node split_by_section split_pages - units_directions units_file_directions); - - # $document is a parsed Texinfo::Document document. - # When customization variables information is needed, it is obtained - # from the $document by calling the get_conf() method. - my $identifier_target = $document->labels_information(); - my $output_units; - if ($split_at_nodes) { - $output_units = split_by_node($document); - } else { - $output_units = split_by_section($document); - } - split_pages($output_units, $split); - units_directions($identifier_target, $output_units, - $document->get_conf('DEBUG')); - units_file_directions($output_units); - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits NOTES, Next: Texinfo::OutputUnits DESCRIPTION, Prev: Texinfo::OutputUnits SYNOPSIS, Up: Texinfo::OutputUnits - -11.3 Texinfo::OutputUnits NOTES -=============================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits DESCRIPTION, Next: Texinfo::OutputUnits METHODS, Prev: Texinfo::OutputUnits NOTES, Up: Texinfo::OutputUnits - -11.4 Texinfo::OutputUnits DESCRIPTION -===================================== - -You can convert a Texinfo parsed document to an output format in a -Converter code by first splitting the nodes and sectioning commands in -units and then converting those units. We will call the main unit of -output documents an _output unit_. Usually a node is associated with a -following sectioning command, while a sectioning command is associated -with a previous node; they both together make up the output unit. -Either the node or the sectioning command is considered to be the main -element component. - - The module provides methods to setup output units associated with -node and sectioning commands of a Texinfo parsed document. With -‘split_by_node’ nodes are used as the main component for the separation -of output units, while with ‘split_by_section’ the sectioning command -elements are used to separate output units. The first mode is typical -of Info format, while the second corresponds better to a traditional -book. Note that the result is different when there are unassociated -sectioning commands or nodes, in the usual case of each node being -associated with a sectioning command and each sectioning command being -associated with a node, splitting by node or by section does not make -much difference as each output unit will consist of the node and the -associated section in both cases. - - Output units are used for conversion to HTML and Info output formats. -See *note ‘Texinfo::Convert::Converter::convert_output_unit’: -Texinfo::Convert::Converter $result = -$converter->convert_output_unit($output_unit). for more information on -conversion of output units in Converters. Output units are not relevant -for all the formats, the Texinfo tree can also be converted directly, -see *note ‘Texinfo::Convert::Converter::output_tree’: -Texinfo::Convert::Converter $result = -$converter->output_tree($document). - - The output units may be further grouped in _pages_, which are not -pages as in book pages, but more like web pages, and hold series of -output units. The output units may have directions to other output -units prepared by ‘units_directions’. ‘units_file_directions’ should -also set direction related to files, provided files are associated with -output units by the user. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits METHODS, Next: Texinfo::OutputUnits SEE ALSO, Prev: Texinfo::OutputUnits DESCRIPTION, Up: Texinfo::OutputUnits - -11.5 Texinfo::OutputUnits METHODS -================================= - -No method is exported in the default case. - -* Menu: - -* Texinfo::OutputUnits Output units creation:: -* Texinfo::OutputUnits Grouping output units in pages:: -* Texinfo::OutputUnits Setting output units directions:: - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits Output units creation, Next: Texinfo::OutputUnits Grouping output units in pages, Up: Texinfo::OutputUnits METHODS - -11.5.1 Output units creation ----------------------------- - -Output units are hash references created with the following keys: - -‘type’ - - The type of the output unit. Set to ‘unit’ for output units - associated with nodes and sectioning commands. - -‘unit_command’ - - Main node or sectioning command associated with the output unit. - -‘unit_contents’ - - This array reference holds all the nodes and sectioning commands - Texinfo tree elements associated with the output unit (in order). - The Texinfo tree nodes and sectioning commands elements have an - ‘associated_unit’ key set that points to the output unit. - -‘tree_unit_directions’ - - Hash reference with _next_ and _prev_ pointing to the previous and - the next output unit. - - Call one of the following methods to create output units and -associate them with nodes and sectioning command Texinfo tree elements: - -$output_units = split_by_node($document) - - Returns a reference array of output units where a node is - associated with the following sectioning commands. Sectioning - commands without nodes are also with the previous node, while nodes - without sectioning commands are alone in their output units. - - Each output unit _unit_command_ key points to the node command - associated with the output unit. - -$output_units = split_by_section($document) - - Similarly with ‘split_by_node’, returns an array of output units. - This time, lone nodes are associated with the previous sections and - lone sections makes up an output unit. - - Output units _unit_command_ keys point to the sectioning command - associated with the output unit. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits Grouping output units in pages, Next: Texinfo::OutputUnits Setting output units directions, Prev: Texinfo::OutputUnits Output units creation, Up: Texinfo::OutputUnits METHODS - -11.5.2 Grouping output units in pages -------------------------------------- - -You can call ‘split_pages’ to group together output units: - -split_pages($output_units, $split) - - Add the _first_in_page_ key to each output unit in the array - reference argument _$output_units_, set to the first output unit in - the group. - - The first output unit in the group is based on the value of - _$split_: - - ‘chapter’ - - The output units are grouped at chapter or other toplevel - sectioning commands. - - ‘node’ - - Each output unit is on its own. - - ‘section’ - - The output units are grouped at sectioning commands below - chapter. - - empty string - - No splitting, all the output units are together. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits Setting output units directions, Prev: Texinfo::OutputUnits Grouping output units in pages, Up: Texinfo::OutputUnits METHODS - -11.5.3 Setting output units directions --------------------------------------- - -You can call the following methods to set output units directions: - -units_directions($identifier_target, $output_units, $print_debug) - - The _$identifier_target_ argument associates identifiers with - target elements and is generally obtained from a parsed document, - *note ‘Texinfo::Document::labels_information’: Texinfo::Document - $identifier_target = labels_information($document). Directions are - set up for the output units in the array reference _$output_units_ - given in argument. The corresponding hash is associated with the - _directions_ key. In this hash, keys correspond to directions - while values are output units. - - _$print_debug_ is optional. If set, some debugging information is - printed. - - The following directions are set up: - - This - - The output unit itself. - - Forward - - Unit next. - - Back - - Previous output unit. - - NodeForward - - Following node output unit in reading order. It is the next - node unit, or the first in menu or the next of the up node. - - NodeBack - - Preceding node output unit. - - NodeUp - - NodeNext - - NodePrev - - The up, next and previous node output unit. - - Up - - Next - - Prev - - The up, next and previous section output unit. - - FastBack - - For top level output units, the previous top level output - unit. For other output units the up top level unit. For - example, for a chapter output unit it is the previous chapter - output unit, for a subsection output unit it is the chapter - output unit that contains the subsection. - - FastForward - - The next top level output unit. - -units_file_directions($output_units) - - In the directions reference described above for ‘units_directions’, - sets the _PrevFile_ and _NextFile_ directions to the output units - in previous and following files. - - It also sets _FirstInFile*_ directions for all the output units by - using the directions of the first output unit in file. So, for - example, _FirstInFileNodeNext_ is the output unit associated with - the next node of the first output unit node in the file for each - output unit in the file. - - The API for association of pages/output units to files is not - defined yet. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits SEE ALSO, Next: Texinfo::OutputUnits AUTHOR, Prev: Texinfo::OutputUnits METHODS, Up: Texinfo::OutputUnits - -11.6 Texinfo::OutputUnits SEE ALSO -================================== - -Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note -Texinfo::Document: Texinfo::Document NAME, *note -Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits AUTHOR, Next: Texinfo::OutputUnits COPYRIGHT AND LICENSE, Prev: Texinfo::OutputUnits SEE ALSO, Up: Texinfo::OutputUnits - -11.7 Texinfo::OutputUnits AUTHOR -================================ - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::OutputUnits COPYRIGHT AND LICENSE, Prev: Texinfo::OutputUnits AUTHOR, Up: Texinfo::OutputUnits - -11.8 Texinfo::OutputUnits COPYRIGHT AND LICENSE -=============================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo, Next: Texinfo::Convert::Utils, Prev: Texinfo::OutputUnits, Up: Top - -12 Texinfo::Convert::Texinfo -**************************** - -* Menu: - -* Texinfo::Convert::Texinfo NAME:: -* Texinfo::Convert::Texinfo SYNOPSIS:: -* Texinfo::Convert::Texinfo NOTES:: -* Texinfo::Convert::Texinfo DESCRIPTION:: -* Texinfo::Convert::Texinfo METHODS:: -* Texinfo::Convert::Texinfo AUTHOR:: -* Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo NAME, Next: Texinfo::Convert::Texinfo SYNOPSIS, Up: Texinfo::Convert::Texinfo - -12.1 Texinfo::Convert::Texinfo NAME -=================================== - -Texinfo::Convert::Texinfo - Convert a Texinfo tree to Texinfo code - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo SYNOPSIS, Next: Texinfo::Convert::Texinfo NOTES, Prev: Texinfo::Convert::Texinfo NAME, Up: Texinfo::Convert::Texinfo - -12.2 Texinfo::Convert::Texinfo SYNOPSIS -======================================= - - use Texinfo::Convert::Texinfo qw(convert_to_texinfo); - - my $texinfo_text = convert_to_texinfo($tree); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo NOTES, Next: Texinfo::Convert::Texinfo DESCRIPTION, Prev: Texinfo::Convert::Texinfo SYNOPSIS, Up: Texinfo::Convert::Texinfo - -12.3 Texinfo::Convert::Texinfo NOTES -==================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo DESCRIPTION, Next: Texinfo::Convert::Texinfo METHODS, Prev: Texinfo::Convert::Texinfo NOTES, Up: Texinfo::Convert::Texinfo - -12.4 Texinfo::Convert::Texinfo DESCRIPTION -========================================== - -‘Texinfo::Convert::Texinfo’ converts a Texinfo tree (described in *note -Texinfo::Parser: Texinfo::Parser NAME.) to Texinfo code. If the Texinfo -tree results from parsing some Texinfo document, The converted Texinfo -code should be exactly the same as the initial document, except that -user defined @-macros and ‘@value’ are expanded, and some invalid code -is discarded. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo METHODS, Next: Texinfo::Convert::Texinfo AUTHOR, Prev: Texinfo::Convert::Texinfo DESCRIPTION, Up: Texinfo::Convert::Texinfo - -12.5 Texinfo::Convert::Texinfo METHODS -====================================== - -$texinfo_text = convert_to_texinfo($tree) - - Converts the Texinfo tree _$tree_ to Texinfo code. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo AUTHOR, Next: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Texinfo METHODS, Up: Texinfo::Convert::Texinfo - -12.6 Texinfo::Convert::Texinfo AUTHOR -===================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Texinfo AUTHOR, Up: Texinfo::Convert::Texinfo - -12.7 Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE -==================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils, Next: Texinfo::Convert::Unicode, Prev: Texinfo::Convert::Texinfo, Up: Top - -13 Texinfo::Convert::Utils -************************** - -* Menu: - -* Texinfo::Convert::Utils NAME:: -* Texinfo::Convert::Utils SYNOPSIS:: -* Texinfo::Convert::Utils NOTES:: -* Texinfo::Convert::Utils DESCRIPTION:: -* Texinfo::Convert::Utils METHODS:: -* Texinfo::Convert::Utils SEE ALSO:: -* Texinfo::Convert::Utils AUTHOR:: -* Texinfo::Convert::Utils COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils NAME, Next: Texinfo::Convert::Utils SYNOPSIS, Up: Texinfo::Convert::Utils - -13.1 Texinfo::Convert::Utils NAME -================================= - -Texinfo::Convert::Utils - miscellaneous functions usable in all -converters - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils SYNOPSIS, Next: Texinfo::Convert::Utils NOTES, Prev: Texinfo::Convert::Utils NAME, Up: Texinfo::Convert::Utils - -13.2 Texinfo::Convert::Utils SYNOPSIS -===================================== - - use Texinfo::Convert::Utils; - - my $today_tree = Texinfo::Convert::Utils::expand_today($converter); - my $verbatiminclude_tree - = Texinfo::Convert::Utils::expand_verbatiminclude($converter, - $verbatiminclude); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils NOTES, Next: Texinfo::Convert::Utils DESCRIPTION, Prev: Texinfo::Convert::Utils SYNOPSIS, Up: Texinfo::Convert::Utils - -13.3 Texinfo::Convert::Utils NOTES -================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils DESCRIPTION, Next: Texinfo::Convert::Utils METHODS, Prev: Texinfo::Convert::Utils NOTES, Up: Texinfo::Convert::Utils - -13.4 Texinfo::Convert::Utils DESCRIPTION -======================================== - -Miscellaneous methods that may be useful for backends converting Texinfo -trees. This module contains the methods that can be used in converters -which do not inherit from *note Texinfo::Convert::Converter: -Texinfo::Convert::Converter NAME. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils METHODS, Next: Texinfo::Convert::Utils SEE ALSO, Prev: Texinfo::Convert::Utils DESCRIPTION, Up: Texinfo::Convert::Utils - -13.5 Texinfo::Convert::Utils METHODS -==================================== - -No method is exported in the default case. - - Most methods takes a _$converter_ as argument, in some cases -optionally, to get some information, see *note -Texinfo::Convert::Converter Getting and setting customization -variables:: and use methods for error reporting, see *note -Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and *note -Texinfo::Report: Texinfo::Report NAME, and for strings translations, see -*note Texinfo::Translations: Texinfo::Translations NAME. - - Even when the caller does not inherit from *note -Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME, it could -implement the required interfaces and could also have a converter -available in some cases, to call the functions which require a -converter. - -$result = add_heading_number($converter, $heading_element, $heading_text, $do_number) - - The _$converter_ argument may be undef. _$heading_element_ is a - heading command tree element. _$heading_text_ is the already - formatted heading text. if the _$do_number_ optional argument is - defined and false, no number is used and the text is returned as - is. This function returns the heading with a number and the - appendix part if needed. If _$converter_ is not defined, the - resulting string won't be translated. - -($category, $class, $type, $name, $arguments) = definition_arguments_content($element) - - _$element_ should be a ‘@def*’ Texinfo tree element. The - _$category_, _$class_, _$type_, _$name_ are elements corresponding - to the definition @-command line. Texinfo elements on the - @-command line corresponding to arguments in the function - definition are returned in the _$arguments_ element. Arguments - correspond to text following the other elements on the @-command - line. If there is no argument, _$arguments_ will be ‘undef’. - -$tree = definition_category_tree($converter, $def_line) - - The _$converter_ argument may be undef. _$def_line_ is a - ‘def_line’ Texinfo tree container. This function returns a Texinfo - tree corresponding to the category of the _$def_line_ taking the - class into account, if there is one. If _$converter_ is not - defined, the resulting string won't be translated. - -($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name, $input_file_encoding) - -($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name) - - Encode _$character_string_name_ in the same way as other file names - are encoded in converters, based on customization variables, and - possibly on the input file encoding. Return the encoded name and - the encoding used to encode the name. The - ‘encoded_input_file_name’ and ‘encoded_output_file_name’ functions - use different customization variables to determine the encoding. - The _$converter_ argument is not optional and is used both to - access to customization variables and to access to parser - information. - - The _$input_file_encoding_ argument is optional. If set, it is - used for the input file encoding. It is useful if there is more - precise information on the input file encoding where the file name - appeared. - -$tree = expand_today($converter) - - Expand today's date, as a Texinfo tree with translations. The - _$converter_ argument is not optional and is used both to retrieve - customization information and to translate strings. - -$tree = expand_verbatiminclude($converter, $verbatiminclude) - - The _$converter_ argument is required and is used to output error - messages and retrieve customization information *note - Texinfo::Convert::Converter Getting and setting customization - variables::. _$verbatiminclude_ is a ‘@verbatiminclude’ tree - element. This function returns a ‘@verbatim’ tree elements after - finding the included file and reading it. - -($contents_element, \@accent_commands) = find_innermost_accent_contents($element) - - _$element_ should be an accent command Texinfo tree element. - Returns an element containing the innermost accent @-command - contents, normally a text element with one or two letter, and an - array reference containing the accent commands nested in _$element_ - (including _$element_). If there is no argument at all for the - accent command, _$contents_element_ is ‘undef’. - -$heading_element = find_root_command_next_heading_command($element, $expanded_format_raw, $do_not_ignore_contents, $do_not_ignore_index_entries) - - Return an heading element found in the _$element_ contents if it - appears before contents that could be formatted. - _$expanded_format_raw_ is a hash reference with raw output formats - (html, docbook, xml...) as keys, associated value should be set - for expanded raw output formats. _$do_not_ignore_contents_ is - optional. If set, ‘@contents’ and ‘@shortcontents’ are considered - to be formatted. _$do_not_ignore_index_entries_ is optional. If - set, index entries are considered to be formatted. - - Only heading elements corresponding to ‘@heading’, ‘@subheading’ - and similar @-commands that are not associated to nodes in general - are found, not sectioning commands. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils SEE ALSO, Next: Texinfo::Convert::Utils AUTHOR, Prev: Texinfo::Convert::Utils METHODS, Up: Texinfo::Convert::Utils - -13.6 Texinfo::Convert::Utils SEE ALSO -===================================== - -*note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and -*note Texinfo::Translations: Texinfo::Translations NAME. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils AUTHOR, Next: Texinfo::Convert::Utils COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Utils SEE ALSO, Up: Texinfo::Convert::Utils - -13.7 Texinfo::Convert::Utils AUTHOR -=================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Utils COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Utils AUTHOR, Up: Texinfo::Convert::Utils - -13.8 Texinfo::Convert::Utils COPYRIGHT AND LICENSE -================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode, Next: Texinfo::Convert::NodeNameNormalization, Prev: Texinfo::Convert::Utils, Up: Top - -14 Texinfo::Convert::Unicode -**************************** - -* Menu: - -* Texinfo::Convert::Unicode NAME:: -* Texinfo::Convert::Unicode SYNOPSIS:: -* Texinfo::Convert::Unicode NOTES:: -* Texinfo::Convert::Unicode DESCRIPTION:: -* Texinfo::Convert::Unicode METHODS:: -* Texinfo::Convert::Unicode AUTHOR:: -* Texinfo::Convert::Unicode COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode NAME, Next: Texinfo::Convert::Unicode SYNOPSIS, Up: Texinfo::Convert::Unicode - -14.1 Texinfo::Convert::Unicode NAME -=================================== - -Texinfo::Convert::Unicode - Representation as Unicode characters - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode SYNOPSIS, Next: Texinfo::Convert::Unicode NOTES, Prev: Texinfo::Convert::Unicode NAME, Up: Texinfo::Convert::Unicode - -14.2 Texinfo::Convert::Unicode SYNOPSIS -======================================= - - use Texinfo::Convert::Unicode qw(unicode_accent encoded_accents - unicode_text); - use Texinfo::Convert::Text qw(convert_to_text); - - my ($contents_element, $stack) - = Texinfo::Convert::Utils::find_innermost_accent_contents($accent); - - my $formatted_accents = encoded_accents ($converter, - convert_to_text($contents_element), $stack, $encoding, - \&Texinfo::Text::ascii_accent_fallback); - - my $accent_text = unicode_accent('e', $accent_command); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode NOTES, Next: Texinfo::Convert::Unicode DESCRIPTION, Prev: Texinfo::Convert::Unicode SYNOPSIS, Up: Texinfo::Convert::Unicode - -14.3 Texinfo::Convert::Unicode NOTES -==================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode DESCRIPTION, Next: Texinfo::Convert::Unicode METHODS, Prev: Texinfo::Convert::Unicode NOTES, Up: Texinfo::Convert::Unicode - -14.4 Texinfo::Convert::Unicode DESCRIPTION -========================================== - -‘Texinfo::Convert::Unicode’ provides methods dealing with Unicode -representation and conversion of Unicode code points, to be used in -Texinfo converters. - - When an encoding supported in Texinfo is given as argument of a -method of the module, the accented letters or characters returned by the -method should only be represented by Unicode code points if it is known -that Perl should manage to convert the Unicode code points to encoded -characters in the encoding character set. Note that the actual -conversion is done by Perl, not by the module. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode METHODS, Next: Texinfo::Convert::Unicode AUTHOR, Prev: Texinfo::Convert::Unicode DESCRIPTION, Up: Texinfo::Convert::Unicode - -14.5 Texinfo::Convert::Unicode METHODS -====================================== - -$result = brace_no_arg_command($command_name, $encoding) - - Return the Unicode representation of a command with brace and no - argument _$command_name_ (like ‘@bullet{}’, ‘@aa{}’ or - ‘@guilsinglleft{}’), or ‘undef’ if the Unicode representation - cannot be converted to encoding _$encoding_. - -$possible_conversion = check_unicode_point_conversion($arg, $output_debug) - - Check that it is possible to output actual UTF-8 binary bytes - corresponding to the Unicode code point string _$arg_ (such as - ‘201D’). Perl gives a warning and will not output UTF-8 for - Unicode non-characters such as U+10FFFF. If the optional - _$output_debug_ argument is set, a debugging output warning is - emitted if the test of the conversion failed. Returns 1 if the - conversion is possible and can be attempted, 0 otherwise. - -$result = encoded_accents($converter, $text, $stack, $encoding, $format_accent, $set_case) - - _$encoding_ is the encoding the accented characters should be - encoded to. If _$encoding_ not set, _$result_ is set to ‘undef’. - Nested accents and their content are passed with _$text_ and - _$stack_. _$text_ is the text appearing within nested accent - commands. _$stack_ is an array reference holding the nested - accents texinfo tree elements. In general, _$text_ is the - formatted contents and _$stack_ the stack returned by *note - Texinfo::Convert::Utils::find_innermost_accent_contents: - Texinfo::Convert::Utils ($contents_element, \@accent_commands) = - find_innermost_accent_contents($element). The function tries to - convert as much as possible the accents to _$encoding_ starting - from the innermost accent. - - _$format_accent_ is a function reference that is used to format the - accent commands if there is no encoded character available at some - point of the conversion of the _$stack_. _$converter_ is a - converter object optionaly used by _$format_accent_. It may be - ‘undef’ if there is no need of converter object in - _$format_accent_. - - The _$set_case_ argument is optional. If _$set_case_ is positive, - the result is upper-cased, while if it is negative, the result is - lower-cased. - -$width = string_width($string) - - Return the string width, taking into account the fact that some - characters have a zero width (like composing accents) while some - have a width of 2 (most chinese characters, for example). - -$result = unicode_accent($text, $accent_command) - - _$text_ is the text appearing within an accent command. - _$accent_command_ should be a Texinfo tree element corresponding to - an accent command taking an argument. The function returns the - Unicode representation of the accented character. - -$is_decoded = unicode_point_decoded_in_encoding($encoding, $unicode_point) - - Return true if the _$unicode_point_ will be encoded in the encoding - _$encoding_. The _$unicode_point_ should be specified as a four - letter string describing an hexadecimal number with letters in - upper case (such as ‘201D’). Tables are used to determine if the - _$unicode_point_ will be encoded, when the encoding does not cover - the whole Unicode range. - - If the encoding is not supported in Texinfo, the result will always - be false. - -$result = unicode_text($text, $in_code) - - Return _$text_ with dashes and quotes corresponding, for example to - ‘---’ or ‘'’, represented as Unicode code points. If _$in_code_ is - set, the text is considered to be in code style. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode AUTHOR, Next: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Unicode METHODS, Up: Texinfo::Convert::Unicode - -14.6 Texinfo::Convert::Unicode AUTHOR -===================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Unicode AUTHOR, Up: Texinfo::Convert::Unicode - -14.7 Texinfo::Convert::Unicode COPYRIGHT AND LICENSE -==================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization, Next: Texinfo::Convert::Text, Prev: Texinfo::Convert::Unicode, Up: Top - -15 Texinfo::Convert::NodeNameNormalization -****************************************** - -* Menu: - -* Texinfo::Convert::NodeNameNormalization NAME:: -* Texinfo::Convert::NodeNameNormalization SYNOPSIS:: -* Texinfo::Convert::NodeNameNormalization NOTES:: -* Texinfo::Convert::NodeNameNormalization DESCRIPTION:: -* Texinfo::Convert::NodeNameNormalization METHODS:: -* Texinfo::Convert::NodeNameNormalization AUTHOR:: -* Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization NAME, Next: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Up: Texinfo::Convert::NodeNameNormalization - -15.1 Texinfo::Convert::NodeNameNormalization NAME -================================================= - -Texinfo::Convert::NodeNameNormalization - Normalize and transliterate -Texinfo trees - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Next: Texinfo::Convert::NodeNameNormalization NOTES, Prev: Texinfo::Convert::NodeNameNormalization NAME, Up: Texinfo::Convert::NodeNameNormalization - -15.2 Texinfo::Convert::NodeNameNormalization SYNOPSIS -===================================================== - - use Texinfo::Convert::NodeNameNormalization qw(convert_to_identifier - normalize_transliterate_texinfo); - - my $normalized = convert_to_identifier($node_element->{'args'}->[0]); - - my $file_name - = normalize_transliterate_texinfo($section_element->{'args'}->[0]); - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization NOTES, Next: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Prev: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Up: Texinfo::Convert::NodeNameNormalization - -15.3 Texinfo::Convert::NodeNameNormalization NOTES -================================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Next: Texinfo::Convert::NodeNameNormalization METHODS, Prev: Texinfo::Convert::NodeNameNormalization NOTES, Up: Texinfo::Convert::NodeNameNormalization - -15.4 Texinfo::Convert::NodeNameNormalization DESCRIPTION -======================================================== - -‘Texinfo::Convert::NodeNameNormalization’ allows to normalize node names -with ‘convert_to_normalized’ and ‘convert_to_identifier’. -‘convert_to_identifier’ follows the specification described in the -Texinfo manual _HTML Xref_ node. This is useful whenever one want a -unique identifier for Texinfo content, which is only composed of letter, -digits, ‘-’ and ‘_’, for example for ‘@node’, ‘@float’ and ‘@anchor’ -names normalization. ‘convert_to_normalized’ leaves out the step of -protecting characters. - - It is also possible to transliterate non-ASCII letters, instead of -mangling them, with ‘normalize_transliterate_texinfo’, losing the -uniqueness feature of normalized node names. - - Another method, ‘transliterate_protect_file_name’ transliterates -non-ASCII letters and protect characters that should not appear on file -names. - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization METHODS, Next: Texinfo::Convert::NodeNameNormalization AUTHOR, Prev: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Up: Texinfo::Convert::NodeNameNormalization - -15.5 Texinfo::Convert::NodeNameNormalization METHODS -==================================================== - -$partially_normalized = convert_to_normalized($tree) - - The Texinfo _$tree_ is returned as a string, with @-commands and - spaces normalized as described in the Texinfo manual _HTML Xref_ - node. ASCII 7-bit characters other than spaces and non-ASCII - characters are left as is in the resulting string. - -$normalized = convert_to_identifier($tree) - - The Texinfo _$tree_ is returned as a string, normalized as - described in the Texinfo manual _HTML Xref_ node. - - The result will be poor for Texinfo trees which are not @-command - arguments (on an @-command line or in braces), for instance if the - tree contains ‘@node’ or block commands. - -$transliterated = normalize_transliterate_texinfo($tree, $no_unidecode) - - The Texinfo _$tree_ is returned as a string, with non-ASCII letters - transliterated as ASCII, but otherwise similar with - ‘convert_to_identifier’ output. If the optional _$no_unidecode_ - argument is set, ‘Text::Unidecode’ is not used for characters whose - transliteration is not built-in. - -$transliterated = transliterate_texinfo($tree, $no_unidecode) - - The Texinfo _$tree_ is returned as a string, with non-ASCII letters - transliterated as ASCII. If the optional _$no_unidecode_ argument - is set, ‘Text::Unidecode’ is not used for characters whose - transliteration is not built-in. - -$file_name = transliterate_protect_file_name($string, $no_unidecode) - - The string _$string_ is returned with non-ASCII letters - transliterated as ASCII, and ASCII characters not safe in file - names protected as in node normalization. If the optional - _$no_unidecode_ argument is set, ‘Text::Unidecode’ is not used for - characters whose transliteration is not built-in. - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization AUTHOR, Next: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::NodeNameNormalization METHODS, Up: Texinfo::Convert::NodeNameNormalization - -15.6 Texinfo::Convert::NodeNameNormalization AUTHOR -=================================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::NodeNameNormalization AUTHOR, Up: Texinfo::Convert::NodeNameNormalization - -15.7 Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE -================================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text, Next: Texinfo::Convert::Converter, Prev: Texinfo::Convert::NodeNameNormalization, Up: Top - -16 Texinfo::Convert::Text -************************* - -* Menu: - -* Texinfo::Convert::Text NAME:: -* Texinfo::Convert::Text SYNOPSIS:: -* Texinfo::Convert::Text NOTES:: -* Texinfo::Convert::Text DESCRIPTION:: -* Texinfo::Convert::Text METHODS:: -* Texinfo::Convert::Text AUTHOR:: -* Texinfo::Convert::Text COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text NAME, Next: Texinfo::Convert::Text SYNOPSIS, Up: Texinfo::Convert::Text - -16.1 Texinfo::Convert::Text NAME -================================ - -Texinfo::Convert::Text - Convert Texinfo tree to simple text - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text SYNOPSIS, Next: Texinfo::Convert::Text NOTES, Prev: Texinfo::Convert::Text NAME, Up: Texinfo::Convert::Text - -16.2 Texinfo::Convert::Text SYNOPSIS -==================================== - - use Texinfo::Convert::Text qw(convert_to_text text_accents); - - my $result = convert_to_text($tree); - - my $accents_text = text_accents($accents, 'utf-8'); - - # using text conversion options set in $converter derived from - # Texinfo::Convert::Converter - my $text_options = $converter->{'convert_text_options'}; - - set_options_code($text_options); - my $result_with_converter = convert_to_text($tree, $text_options); - reset_options_code($text_options); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text NOTES, Next: Texinfo::Convert::Text DESCRIPTION, Prev: Texinfo::Convert::Text SYNOPSIS, Up: Texinfo::Convert::Text - -16.3 Texinfo::Convert::Text NOTES -================================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text DESCRIPTION, Next: Texinfo::Convert::Text METHODS, Prev: Texinfo::Convert::Text NOTES, Up: Texinfo::Convert::Text - -16.4 Texinfo::Convert::Text DESCRIPTION -======================================= - -‘Texinfo::Convert::Text’ is a simple backend that converts a Texinfo -tree to simple text. It is used in converters, especially for file -names. The conversion is very simple, and, in the default case, cannot -handle error handling nor some output strings translation. - - Converters derived from *note Texinfo::Convert::Converter: -Texinfo::Convert::Converter NAME. should have conversion text options -preset associated to the ‘convert_text_options’ key. - - The main function is ‘convert_to_text’. The text conversion options -can be modified with the ‘set_*’ functions before calling -‘convert_to_text’, and reset afterwards with the corresponding ‘reset_*’ -functions. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text METHODS, Next: Texinfo::Convert::Text AUTHOR, Prev: Texinfo::Convert::Text DESCRIPTION, Up: Texinfo::Convert::Text - -16.5 Texinfo::Convert::Text METHODS -=================================== - -$result = convert_to_text($tree, $text_options) - - Convert a Texinfo tree to simple text. _$text_options_ is a hash - reference of options. The converter is very simple, and has almost - no internal state besides the options. It cannot handle as is - output strings translation or error storing. - - If the _converter_ option is set in _$text_options_, some - additional features may be available for the conversion of some - @-commands, like output strings translation or error reporting. - - The ‘NUMBER_SECTIONS’, ‘ASCII_GLYPH’ and ‘TEST’ options - corresponding to customization variables may be set in - _$text_options_. The following options may also be set: - - enabled_encoding - - If set, the value is considered to be the encoding name - texinfo accented letters should be converted to. This option - being set corresponds to the ‘--enable-encoding’ option, or - the ‘ENABLE_ENCODING’ customization variable for Info and - Plaintext and for some conversion to text in other formats. - For file names in HTML and LaTeX, and for DocBook or Texinfo - XML, this variable should in general be set unless the output - encoding is US-ASCII. - - set_case - - If positive, the text is upper-cased, if negative, the text is - lower-cased. - - sort_string - - A somehow internal option to convert to text more suitable for - alphabetical sorting rather than presentation. - - converter - - If this converter object is passed to the function, some - features of this object may be used during conversion. Mostly - error reporting and strings translation. See also *note - Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. - - expanded_formats - - A reference on a hash. The keys should be format names (like - ‘html’, ‘tex’), and if the corresponding value is set, the - format is expanded. - -$result_accent_text = ascii_accent_fallback($converter, $text, $accent_command) - - _$text_ is the text appearing within an accent command. - _$accent_command_ should be a Texinfo tree element corresponding to - an accent command taking an argument. The function returns a - transliteration of the accented character. The _$converter_ - argument is ignored, but needed for this function to be in argument - of functions that need a fallback for accents conversion. - -set_options_code($text_options) - -reset_options_code($text_options) - - ‘set_options_code’ sets _$text_options_ to be in code style. - (mostly ‘--’, ‘---’, ‘''’ and ‘``’ are kept as is). - ‘reset_options_code’ undo the effect of ‘set_options_code’. - - ‘reset_options_code’ should always be called after - ‘set_options_code’. - -set_options_encoding($text_options, $encoding) - -set_options_encoding_if_not_ascii($customization_information, $text_options) - -reset_options_encoding($text_options) - - ‘set_options_encoding’ sets ‘enabled_encoding’ in _$text_options_ - to _$encoding_. ‘set_options_encoding_if_not_ascii’ sets - ‘enabled_encoding’ in _$text_options_ based on customization - options associated to _$customization_information_. In that case, - ‘enabled_encoding’ is set unless the output encoding is US-ASCII - even if ‘ENABLE_ENCODING’ is not set. - - ‘reset_options_encoding’ undo the effect of ‘set_options_encoding’ - and ‘set_options_encoding_if_not_ascii’ and should always be called - after these functions. - -$accents_text = text_accents($accents, $encoding, $set_case) - - _$accents_ is an accent command that may contain other nested - accent commands. The function will format the whole stack of - nested accent commands and the innermost text. If _$encoding_ is - set, the formatted text is converted to this encoding as much as - possible instead of being converted as simple ASCII. If _$set_case_ - is positive, the result is meant to be upper-cased, if it is - negative, the result is to be lower-cased. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text AUTHOR, Next: Texinfo::Convert::Text COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Text METHODS, Up: Texinfo::Convert::Text - -16.6 Texinfo::Convert::Text AUTHOR -================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Text COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Text AUTHOR, Up: Texinfo::Convert::Text - -16.7 Texinfo::Convert::Text COPYRIGHT AND LICENSE -================================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter, Next: Texinfo::Convert::Info, Prev: Texinfo::Convert::Text, Up: Top - -17 Texinfo::Convert::Converter -****************************** - -* Menu: - -* Texinfo::Convert::Converter NAME:: -* Texinfo::Convert::Converter SYNOPSIS:: -* Texinfo::Convert::Converter NOTES:: -* Texinfo::Convert::Converter DESCRIPTION:: -* Texinfo::Convert::Converter METHODS:: -* Texinfo::Convert::Converter SEE ALSO:: -* Texinfo::Convert::Converter AUTHOR:: -* Texinfo::Convert::Converter COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter NAME, Next: Texinfo::Convert::Converter SYNOPSIS, Up: Texinfo::Convert::Converter - -17.1 Texinfo::Convert::Converter NAME -===================================== - -Texinfo::Convert::Converter - Parent class for Texinfo tree converters - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter SYNOPSIS, Next: Texinfo::Convert::Converter NOTES, Prev: Texinfo::Convert::Converter NAME, Up: Texinfo::Convert::Converter - -17.2 Texinfo::Convert::Converter SYNOPSIS -========================================= - - package Texinfo::Convert::MyConverter; - - use Texinfo::Convert::Converter; - @ISA = qw(Texinfo::Convert::Converter); - - sub converter_defaults ($$) { - return \%myconverter_defaults; - } - sub converter_initialize($) { - my $self = shift; - ... - } - - sub conversion_initialization($;$) { - my $self = shift; - my $document = shift; - - if ($document) { - $self->set_document($document); - } - - $self->{'document_context'} = [{}]; - ... - } - - sub conversion_finalization($) { - my $self = shift; - } - - sub convert_tree($$) { - ... - } - - sub convert($$) { - my $self = shift; - my $document = shift; - - $self->conversion_initialization($document); - - ... - $self->conversion_finalization(); - } - - sub output($$) { - my $self = shift; - my $document = shift; - - $self->conversion_initialization($document); - - ... - $self->conversion_finalization(); - ... - } - - # end of Texinfo::Convert::MyConverter - - my $converter = Texinfo::Convert::MyConverter->converter(); - $converter->output($texinfo_parsed_document); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter NOTES, Next: Texinfo::Convert::Converter DESCRIPTION, Prev: Texinfo::Convert::Converter SYNOPSIS, Up: Texinfo::Convert::Converter - -17.3 Texinfo::Convert::Converter NOTES -====================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter DESCRIPTION, Next: Texinfo::Convert::Converter METHODS, Prev: Texinfo::Convert::Converter NOTES, Up: Texinfo::Convert::Converter - -17.4 Texinfo::Convert::Converter DESCRIPTION -============================================ - -‘Texinfo::Convert::Converter’ is a super class that can be used to -simplify converters initialization. The class also provide some useful -methods. In turn, the converter should define some methods for -conversion. In general ‘convert_tree’, ‘output’ and ‘convert’ should be -defined. - -$result = $converter->convert_tree($tree) - - The ‘convert_tree’ method is mandatory and should convert portions - of Texinfo tree. Takes a _$converter_ and Texinfo tree _$tree_ in - arguments. Returns the converted output. - -$result = $converter->output($document) - -$result = $converter->output_tree($document) - - The ‘output’ method is used by converters as entry point for - conversion to a file with headers and so on. This method should be - implemented by converters. ‘output’ is called from ‘texi2any’. - ‘output’ takes a _$converter_ and a Texinfo parsed document - ‘Texinfo::Document’ _$document_ as arguments. - - ‘Texinfo::Convert::Converter’ implements a generic ‘output_tree’ - function suitable for conversion of the Texinfo tree, with the - conversion result output into a file or returned from the function. - ‘output_tree’ takes a _$converter_ and a Texinfo parsed document - ‘Texinfo::Document’ _$document_ as arguments. In a converter that - uses ‘output_tree’, ‘output’ is in general defined as: - - sub output($$) { - my $self = shift; - my $document = shift; - - return $self->output_tree($document); - } - - In general, ‘output’ and ‘output_tree’ output to files and return - ‘undef’. When the output file name is an empty string, however, it - is customary for ‘output’ and ‘output_tree’ to return the output as - a character string instead. The output file name is obtained in - ‘output_tree’ through a call to *note - ‘determine_files_and_directory’: Texinfo::Convert::Converter - ($output_file, $destination_directory, $output_filename, - $document_name, $input_basefile) = - $converter->determine_files_and_directory($output_format). In - general ‘determine_files_and_directory’ is also used when - ‘output_tree’ is not used. - -$result = $converter->convert($document) - - Entry point for the conversion of a Texinfo parsed document to an - output format, without the headers usually done when outputting to - a file. ‘convert’ takes a _$converter_ and a Texinfo parsed - document ‘Texinfo::Document’ _$document_ as arguments. Returns the - output as a character string. Not mandatory, not called from - ‘texi2any’, but used in the ‘texi2any’ test suite. - -$result = $converter->convert_output_unit($output_unit) - - Can be used for the conversion of output units by converters. - ‘convert_output_unit’ takes a _$converter_ and an output unit - _$output_unit_ as argument. The implementation of - ‘convert_output_unit’ of ‘Texinfo::Convert::Converter’ could be - suitable in many cases. Output units are typically returned by - *note ‘Texinfo::OutputUnits’ ‘split_by_section’: - Texinfo::OutputUnits $output_units = split_by_section($document). - or *note ‘Texinfo::OutputUnits’ ‘split_by_node’: - Texinfo::OutputUnits $output_units = split_by_node($document). - - Two methods, ‘converter_defaults’ and ‘converter_initialize’ are used -for initialization, to give information to ‘Texinfo::Convert::Converter’ -and can be redefined in converters. - - To help with the conversion, the ‘set_document’ function associates a -‘Texinfo::Document’ to a converter. Other methods are called in default -implementations to be redefined to call code at specific moments of the -conversion. ‘conversion_initialization’, for instance, is generally -called at the beginning of ‘output’, ‘output_tree’ and ‘convert’. -‘conversion_finalization’ is generally called at the end of -‘output_tree’, ‘output’ and ‘convert’. ‘output_tree’ also calls the -‘conversion_output_begin’ method before the Texinfo tree conversion to -obtain the beginning of the output. ‘output_tree’ calls the -‘conversion_output_end’ method after the Texinfo tree conversion to -obtain the end of the output. - - For output formats based on output units conversion, the -‘Texinfo::Convert::Plaintext’ ‘output’ method could be a good starting -point. HTML and Info output are also based on output units conversion. -Output units are not relevant for all the formats, the Texinfo tree can -also be converted directly, in general by using ‘output_tree’. This is -how the other Converters are implemented. - - Existing backends based on ‘output_tree’ may be used as examples. -‘Texinfo::Convert::Texinfo’ together with -‘Texinfo::Convert::PlainTexinfo’, as well as -‘Texinfo::Convert::TextContent’ are trivial examples. -‘Texinfo::Convert::Text’ is less trivial, although still simple, while -‘Texinfo::Convert::DocBook’ is a real converter that is also not too -complex. - - The documentation of *note Texinfo::Common: Texinfo::Common NAME, -*note Texinfo::OutputUnits: Texinfo::OutputUnits NAME, *note -Texinfo::Convert::Unicode: Texinfo::Convert::Unicode NAME. and *note -Texinfo::Convert::Text: Texinfo::Convert::Text NAME. describes modules -or additional function that may be useful for backends, while the parsed -Texinfo tree is described in *note Texinfo::Parser: Texinfo::Parser -NAME. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter METHODS, Next: Texinfo::Convert::Converter SEE ALSO, Prev: Texinfo::Convert::Converter DESCRIPTION, Up: Texinfo::Convert::Converter - -17.5 Texinfo::Convert::Converter METHODS -======================================== - -* Menu: - -* Texinfo::Convert::Converter Converter Initialization:: -* Texinfo::Convert::Converter Conversion:: -* Texinfo::Convert::Converter Getting and setting customization variables:: -* Texinfo::Convert::Converter Registering error and warning messages:: -* Texinfo::Convert::Converter Translations in output documents:: -* Texinfo::Convert::Converter Index sorting:: -* Texinfo::Convert::Converter Conversion to XML:: -* Texinfo::Convert::Converter Helper methods:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Converter Initialization, Next: Texinfo::Convert::Converter Conversion, Up: Texinfo::Convert::Converter METHODS - -17.5.1 Converter Initialization -------------------------------- - -A module subclassing ‘Texinfo::Convert::Converter’ is created by calling -the ‘converter’ method that should be inherited from -‘Texinfo::Convert::Converter’. - -$converter = MyConverter->converter($options) - - The _$options_ hash reference holds options for the converter. - These options should be Texinfo customization options. The - customization options are described in the Texinfo manual or in the - customization API manual. - - The ‘converter’ function returns a converter object (a blessed hash - reference) after checking the options and performing some - initializations. - - To help with the initializations, the modules subclassing -‘Texinfo::Convert::Converter’ can define two methods: - -\%defaults = $converter_or_class->converter_defaults($options) - - Returns a reference on a hash with defaults for the converter - module customization options or ‘undef’. The _$options_ hash - reference holds options for the converter. This method is called - through a converter by *note ‘converter’: - Texinfo::Convert::Converter $converter = - MyConverter->converter($options), but it may also be called through - a converter module class. - -converter_initialize - - This method is called at the end of the - ‘Texinfo::Convert::Converter’ converter initialization. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Conversion, Next: Texinfo::Convert::Converter Getting and setting customization variables, Prev: Texinfo::Convert::Converter Converter Initialization, Up: Texinfo::Convert::Converter METHODS - -17.5.2 Conversion ------------------ - -For conversion with ‘output’ and ‘convert’ a document to convert should -be associated to the converter, in general the document passed in -argument of ‘output’ or ‘convert’. The ‘set_document’ function -associates a ‘Texinfo::Document’ to a converter. This function is used -in the default implementations. - -$converter->set_document($document) - - Associate _$document_ to _$converter_. Also set the encoding - related customization options based on _$converter_ customization - information and information on document encoding, and setup - converter hash ‘convert_text_options’ value that can be used to - call *note ‘Texinfo::Convert::Text::convert_to_text’: - Texinfo::Convert::Text $result = convert_to_text($tree, - $text_options). - - The ‘conversion_initialization’, ‘conversion_finalization’, -‘conversion_output_begin’ and ‘conversion_output_end’ can be redefined -to call code at diverse moments: - -$converter->conversion_initialization($document) - -$converter->conversion_finalization() - - ‘conversion_initialization’ is called at the beginning of - ‘output_tree’ and of the default implementations of the ‘output’ - and ‘convert’ functions. ‘conversion_finalization’ is called at - the end of ‘output_tree’ and of the default ‘output’ and ‘convert’ - methods implementations. These functions should be redefined to - have code run before a document conversion and after the document - conversion. - - In the default case, ‘conversion_initialization’ calls *note - set_document: Texinfo::Convert::Converter - $converter->set_document($document). to associate the - ‘Texinfo::Document’ document passed in argument to the converter. - A subclass converter redefining ‘conversion_initialization’ should - in general call ‘set_document’ in the redefined function too to - associate the converted document to the converter. - -$beginning = $converter->conversion_output_begin($output_file, $output_filename) - -$end = $converter->conversion_output_end() - - ‘conversion_output_begin’ returned string _$beginning_ is output by - the ‘output_tree’ calling method before the Texinfo tree - conversion. The _$output_file_ argument is the output file path. - If _$output_file_ is an empty string, it means that text will be - returned by the converter instead of being written to an output - file. _$output_filename_ is, in general, the file name portion of - _$output_file_ (without directory) but can also be set based on - ‘@setfilename’. - - ‘conversion_output_end’ returned string _$end_ is output by the - ‘output_tree’ calling method after the Texinfo tree conversion. - - The default methods implementations return an empty string. - - Calling ‘conversion_initialization’ and, if needed, -‘conversion_finalization’ in redefined ‘output’ and ‘convert’ methods is -not mandated, but it is recommended to have similar converter codes. In -subclassed converters that do not need to define -‘conversion_initialization’, calling the default -‘Texinfo::Convert::Converter’ ‘conversion_initialization’ implementation -is also recommended to avoid having to explictely call ‘set_document’. -If ‘conversion_initialization’ is defined in a converter subclass it is -recommended to call ‘set_document’ at the very beginning of the function -to have the document associated to the converter. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Getting and setting customization variables, Next: Texinfo::Convert::Converter Registering error and warning messages, Prev: Texinfo::Convert::Converter Conversion, Up: Texinfo::Convert::Converter METHODS - -17.5.3 Getting and setting customization variables --------------------------------------------------- - -‘Texinfo::Convert::Converter’ implements a simple interface to set and -retrieve Texinfo customization variables. Helper functions from diverse -Texinfo modules needing customization information expect an object -implementing ‘get_conf’ and/or ‘set_conf’. The converter itself can -therefore be used in such cases. - - Customization variables are typically setup when initializing a -converter with *note ‘converter’: Texinfo::Convert::Converter $converter -= MyConverter->converter($options). and completed by Texinfo informative -@-commands tree element values, for commands such as ‘@frenchspacing’ or -‘@footnotestyle’. - -$converter->force_conf($variable_name, $variable_value) - - Set the Texinfo customization option _$variable_name_ to - _$variable_value_. This should rarely be used, but the purpose of - this method is to be able to revert a customization that is always - wrong for a given output format, like the splitting for example. - -$converter->get_conf($variable_name) - - Returns the value of the Texinfo customization variable - _$variable_name_. - -$status = $converter->set_conf($variable_name, $variable_value) - - Set the Texinfo customization option _$variable_name_ to - _$variable_value_ if not set as a converter option. Returns false - if the customization options was not set. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Registering error and warning messages, Next: Texinfo::Convert::Converter Translations in output documents, Prev: Texinfo::Convert::Converter Getting and setting customization variables, Up: Texinfo::Convert::Converter METHODS - -17.5.4 Registering error and warning messages ---------------------------------------------- - -‘Texinfo::Convert::Converter’ implements an interface to register error -and warning messages in the converter, that can be retrieved later on, -in general to be given to ‘Texinfo::Report::add_formatted_message’. -Underneath, ‘Texinfo::Report’ is used to setup the messages data -structure. - -$converter->converter_document_error($text, $continuation) - -$converter->converter_document_warn($text, $continuation) - - Register a warning or an error. The _$text_ is the text of the - error or warning. - - The _$continuation_ optional arguments, if true, conveys that the - line is a continuation line of a message. - -$converter->converter_line_error($text, $error_location_info, $continuation) - -$converter->converter_line_warn($text, $error_location_info, $continuation) - - Register a warning or an error with a line information. The - _$text_ is the text of the error or warning. The - _$error_location_info_ argument holds the information on the error - or warning location. The _$error_location_info_ reference on hash - may be obtained from Texinfo elements _source_info_ keys. It may - also be setup to point to a file name, using the ‘file_name’ key - and to a line number, using the ‘line_nr’ key. The ‘file_name’ key - value should be a binary string. - - The _$continuation_ optional arguments, if true, conveys that the - line is a continuation line of a message. - -\@error_warning_messages = $converter->get_converter_errors() - - Return a reference on an array containing the error or warning - messages registered in the converter. Error and warning messages - are hash references as described in *note Texinfo::Report::errors: - Texinfo::Report ($error_warnings_list, $error_count) = - errors($registrar). and can be used in input of *note - Texinfo::Report::add_formatted_message: Texinfo::Report - $registrar->add_formatted_message ($msg). - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Translations in output documents, Next: Texinfo::Convert::Converter Index sorting, Prev: Texinfo::Convert::Converter Registering error and warning messages, Up: Texinfo::Convert::Converter METHODS - -17.5.5 Translations in output documents ---------------------------------------- - -‘Texinfo::Convert::Converter’ provides wrappers around *note -Texinfo::Translations: Texinfo::Translations NAME. methods that sets the -language to the current ‘documentlanguage’. - - The ‘cdt’ and ‘pcdt’ methods are used to translate strings to be -output in converted documents, and return a Texinfo tree. The -‘cdt_string’ is similar but returns a simple string, for already -converted strings. - -$tree = $converter->cdt($string, $replaced_substrings, $translation_context) - -$string = $converter->cdt_string($string, $replaced_substrings, $translation_context) - - The _$string_ is a string to be translated. With ‘cdt’ the - function returns a Texinfo tree, as the string is interpreted as - Texinfo code after translation. With ‘cdt_string’ a string is - returned. - - _$replaced_substrings_ is an optional hash reference specifying - some substitution to be done after the translation. The key of the - _$replaced_substrings_ hash reference identifies what is to be - substituted. In the string to be translated word in brace matching - keys of _$replaced_substrings_ are replaced. For ‘cdt’, the value - is a Texinfo tree that is substituted in the resulting Texinfo - tree. For ‘cdt_string’, the value is a string that is replaced in - the resulting string. - - The _$translation_context_ is optional. If not ‘undef’ this is a - translation context string for _$string_. It is the first argument - of ‘pgettext’ in the C API of Gettext. - -$tree = $object->pcdt($translation_context, $string, $replaced_substrings) - - Same to ‘cdt’ except that the _$translation_context_ is not - optional. This function is useful to mark strings with a - translation context for translation. This function is similar to - pgettext in the Gettext C API. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Index sorting, Next: Texinfo::Convert::Converter Conversion to XML, Prev: Texinfo::Convert::Converter Translations in output documents, Up: Texinfo::Convert::Converter METHODS - -17.5.6 Index sorting --------------------- - -You should call the following methods to sort indices in conversion: - -$sorted_indices = $converter->get_converter_indices_sorted_by_index() - -$sorted_indices = $converter->get_converter_indices_sorted_by_letter() - - ‘get_converter_indices_sorted_by_letter’ returns the indices sorted - by index and letter, while ‘get_converter_indices_sorted_by_index’ - returns the indices with all entries of an index together. - - When sorting by letter, an array reference of letter hash - references is associated with each index name. Each letter hash - reference has two keys, a _letter_ key with the letter, and an - _entries_ key with an array reference of sorted index entries - beginning with the letter. The letter is a character string - suitable for sorting letters, but is not necessarily the best to - use for output. - - When simply sorting, the array of the sorted index entries is - associated with the index name. - - The functions call *note - ‘Texinfo::Document::sorted_indices_by_letter’: Texinfo::Document - $sorted_indices = - $document->sorted_indices_by_letter($customization_information, - $use_unicode_collation, $locale_lang). or *note - ‘Texinfo::Document::sorted_indices_by_index’: Texinfo::Document - $sorted_indices = - $document->sorted_indices_by_index($customization_information, - $use_unicode_collation, $locale_lang). with arguments based on - ‘USE_UNICODE_COLLATION’, ‘COLLATION_LANGUAGE’ and - ‘DOCUMENTLANGUAGE_COLLATION’ customization options, and, if - relevant, current ‘@documentlanguage’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Conversion to XML, Next: Texinfo::Convert::Converter Helper methods, Prev: Texinfo::Convert::Converter Index sorting, Up: Texinfo::Convert::Converter METHODS - -17.5.7 Conversion to XML ------------------------- - -Some ‘Texinfo::Convert::Converter’ methods target conversion to XML. -Most methods take a _$converter_ as argument to get some information and -use methods for error reporting. - -$formatted_text = $converter->xml_format_text_with_numeric_entities($text) - - Replace quotation marks and hyphens used to represent dash in - Texinfo text with numeric XML entities. - -$protected_text = $converter->xml_protect_text($text) - - Protect special XML characters (&, <, >, ") of _$text_. - -$comment = $converter->xml_comment($text) - - Returns an XML comment for _$text_. - -$result = xml_accent($text, $accent_command, $in_upper_case, $use_numeric_entities) - - _$text_ is the text appearing within an accent command. - _$accent_command_ should be a Texinfo tree element corresponding to - an accent command taking an argument. _$in_upper_case_ is - optional, and, if set, the text is put in upper case. The function - returns the accented letter as XML named entity if possible, - falling back to numeric entities if there is no named entity and - returns the argument as last resort. _$use_numeric_entities_ is - optional. If set, numerical entities are used instead of named - entities if possible. - -$result = $converter->xml_accents($accent_command, $in_upper_case) - - _$accent_command_ is an accent command, which may have other accent - commands nested. If _$in_upper_case_ is set, the result should be - upper cased. The function returns the accents formatted as XML. - -$result = xml_numeric_entity_accent($accent_command_name, $text) - - _$accent_command_name_ is the name of an accent command. _$text_ - is the text appearing within the accent command. Returns the - accented letter as XML numeric entity, or ‘undef’ is there is no - such entity. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter Helper methods, Prev: Texinfo::Convert::Converter Conversion to XML, Up: Texinfo::Convert::Converter METHODS - -17.5.8 Helper methods ---------------------- - -The module provides methods that may be useful for converter. Most -methods take a _$converter_ as argument to get some information and use -methods for error reporting, see *note Registering error and warning -messages: Texinfo::Convert::Converter Registering error and warning -messages. Also to translate strings, see *note Translations in output -documents: Texinfo::Convert::Converter Translations in output documents. -For useful methods that need a converter optionally and can be used in -converters that do not inherit from ‘Texinfo::Convert::Converter’, see -*note Texinfo::Convert::Utils: Texinfo::Convert::Utils NAME. - -$contents_element = $converter->comma_index_subentries_tree($entry, $separator) - - _$entry_ is a Texinfo tree index entry element. The function sets - up an array with the ‘@subentry’ contents. The result is returned - as ‘contents’ in the _$contents_element_ element, or ‘undef’ if - there is no such content. _$separator_ is an optional separator - argument used, if given, instead of the default: a comma followed - by a space. - -$result = $converter->convert_accents($accent_command, \&format_accents, $output_encoded_characters, $in_upper_case) - - _$accent_command_ is an accent command, which may have other accent - commands nested. The function returns the accents formatted either - as encoded letters if _$output_encoded_characters_ is set, or - formatted using _\&format_accents_. If _$in_upper_case_ is set, - the result should be uppercased. - -$succeeded = $converter->create_destination_directory($destination_directory_path, $destination_directory_name) - - Create destination directory _$destination_directory_path_. - _$destination_directory_path_ should be a binary string, while - _$destination_directory_name_ should be a character string, that - can be used in error messages. _$succeeded_ is true if the - creation was successful or uneeded, false otherwise. - -($output_file, $destination_directory, $output_filename, $document_name, $input_basefile) = $converter->determine_files_and_directory($output_format) - - Determine output file and directory, as well as names related to - files. The result depends on the presence of ‘@setfilename’, on - the Texinfo input file name, and on customization options such as - ‘OUTPUT’, ‘SUBDIR’ or ‘SPLIT’, as described in the Texinfo manual. - If _$output_format_ is defined and not an empty string, - ‘_$output_format’ is prepended to the default directory name. - - _$output_file_ is mainly relevant when not split and should be used - as the output file name. In general, if not split and - _$output_file_ is an empty string, it means that text should be - returned by the converter instead of being written to an output - file. This is used in the test suite. _$destination_directory_ is - either the directory _$output_file_ is in, or if split, the - directory where the files should be created. _$output_filename_ - is, in general, the file name portion of _$output_file_ (without - directory) but can also be set based on ‘@setfilename’, in - particular when _$output_file_ is an empty string. - _$document_name_ is _$output_filename_ without extension. - _$input_basefile_ is based on the input Texinfo file name, with the - file name portion only (without directory). - - The strings returned are text strings. - -($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name, $input_file_encoding) - -($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name) - - Encode _$character_string_name_ in the same way as other file names - are encoded in the converter, based on customization variables, and - possibly on the input file encoding. Return the encoded name and - the encoding used to encode the name. The - ‘encoded_input_file_name’ and ‘encoded_output_file_name’ functions - use different customization variables to determine the encoding. - - The _$input_file_encoding_ argument is optional. If set, it is - used for the input file encoding. It is useful if there is more - precise information on the input file encoding where the file name - appeared. - - Note that ‘encoded_output_file_name’ is a wrapper around the - function with the same name in *note - ‘Texinfo::Convert::Utils::encoded_output_file_name’: - Texinfo::Convert::Utils ($encoded_name, $encoding) = - $converter->encoded_output_file_name($character_string_name), and - ‘encoded_input_file_name’ is a wrapper around the function with the - same name in *note - ‘Texinfo::Convert::Utils::encoded_input_file_name’: - Texinfo::Convert::Utils ($encoded_name, $encoding) = - $converter->encoded_input_file_name($character_string_name, - $input_file_encoding). - -($caption, $prepended) = $converter->float_name_caption($float) - - _$float_ is a Texinfo tree ‘@float’ element. This function returns - the caption element that should be used for the float formatting - and the _$prepended_ Texinfo tree combining the type and label of - the float. - -$tree = $converter->float_type_number($float) - - _$float_ is a Texinfo tree ‘@float’ element. This function returns - the type and number of the float as a Texinfo tree with - translations. - -$end_line = $converter->format_comment_or_return_end_line($element) - - Format comment at end of line or return the end of line associated - with the element. In many cases, converters ignore comments and - output is better formatted with new lines added independently of - the presence of newline or comment in the initial Texinfo line, so - most converters are better off not using this method. - -$filename = sub $converter->node_information_filename($normalized, $label_element) - - Returns the normalized file name corresponding to the _$normalized_ - node name and to the _$label_element_ node name element contents. - -($normalized_name, $filename) = $converter->normalized_sectioning_command_filename($element) - - Returns a normalized name _$normalized_name_ corresponding to a - sectioning command tree element _$element_, expanding the command - argument using transliteration and characters protection. Also - returns _$filename_ the corresponding filename based on - _$normalized_name_ taking into account additional constraint on - file names and adding a file extension. - -$converter->present_bug_message($message, $element) - - Show a bug message using _$message_ text. Use information on - _$element_ tree element if given in argument. - -$converter->set_global_document_commands($commands_location, $selected_commands) - - Set the Texinfo customization options for @-commands. - _$selected_commands_ is an array reference containing the - @-commands set. _$commands_location_ specifies where in the - document the value should be taken from. The possibilities are: - - before - - Set to the values before document conversion, from defaults - and command-line. - - last - - Set to the last value for the command. - - preamble - - Set sequentially to the values in the Texinfo preamble. - - preamble_or_first - - Set to the first value of the command if the first command is - not in the Texinfo preamble, else set as with _preamble_, - sequentially to the values in the Texinfo preamble. - - Notice that the only effect of this function is to set a - customization variable value, no @-command side effects are run, no - associated customization variables are set. - - For more information on the function used to set the value for each - of the command, see *note ‘Texinfo::Common’ - ‘set_global_document_command’: Texinfo::Common $element = - set_global_document_command($customization_information, - $global_commands_information, $cmdname, $command_location). - -$table_item_tree = $converter->table_item_content_tree($element) - - _$element_ should be an ‘@item’ or ‘@itemx’ tree element. Returns - a tree in which the @-command in argument of ‘@*table’ of the - _$element_ has been applied to the _$element_ line argument, or - ‘undef’. - -$result = $converter->top_node_filename($document_name) - - Returns a file name for the Top node file using either ‘TOP_FILE’ - customization value, or ‘EXTENSION’ customization value and - _$document_name_. - - Finally, there is: - -$result = $converter->output_internal_links() - - At this level, the method just returns undef. It is used in the - HTML output, following the ‘--internal-links’ option of ‘texi2any’ - specification. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter SEE ALSO, Next: Texinfo::Convert::Converter AUTHOR, Prev: Texinfo::Convert::Converter METHODS, Up: Texinfo::Convert::Converter - -17.6 Texinfo::Convert::Converter SEE ALSO -========================================= - -*note Texinfo::Common: Texinfo::Common NAME, *note -Texinfo::Convert::Unicode: Texinfo::Convert::Unicode NAME, *note -Texinfo::Report: Texinfo::Report NAME, *note Texinfo::Translations: -Texinfo::Translations NAME, *note Texinfo::Convert::Utils: -Texinfo::Convert::Utils NAME. and *note Texinfo::Parser: Texinfo::Parser -NAME. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter AUTHOR, Next: Texinfo::Convert::Converter COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Converter SEE ALSO, Up: Texinfo::Convert::Converter - -17.7 Texinfo::Convert::Converter AUTHOR -======================================= - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Converter COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Converter AUTHOR, Up: Texinfo::Convert::Converter - -17.8 Texinfo::Convert::Converter COPYRIGHT AND LICENSE -====================================================== - -Copyright 2011- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info, Next: Texinfo::Convert::HTML, Prev: Texinfo::Convert::Converter, Up: Top - -18 Texinfo::Convert::Info -************************* - -* Menu: - -* Texinfo::Convert::Info NAME:: -* Texinfo::Convert::Info SYNOPSIS:: -* Texinfo::Convert::Info NOTES:: -* Texinfo::Convert::Info DESCRIPTION:: -* Texinfo::Convert::Info METHODS:: -* Texinfo::Convert::Info AUTHOR:: -* Texinfo::Convert::Info COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info NAME, Next: Texinfo::Convert::Info SYNOPSIS, Up: Texinfo::Convert::Info - -18.1 Texinfo::Convert::Info NAME -================================ - -Texinfo::Convert::Info - Convert Texinfo tree to Info - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info SYNOPSIS, Next: Texinfo::Convert::Info NOTES, Prev: Texinfo::Convert::Info NAME, Up: Texinfo::Convert::Info - -18.2 Texinfo::Convert::Info SYNOPSIS -==================================== - - my $converter - = Texinfo::Convert::Info->converter({'NUMBER_SECTIONS' => 0}); - - $converter->output($document); - $converter->convert($document); - $converter->convert_tree($tree); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info NOTES, Next: Texinfo::Convert::Info DESCRIPTION, Prev: Texinfo::Convert::Info SYNOPSIS, Up: Texinfo::Convert::Info - -18.3 Texinfo::Convert::Info NOTES -================================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info DESCRIPTION, Next: Texinfo::Convert::Info METHODS, Prev: Texinfo::Convert::Info NOTES, Up: Texinfo::Convert::Info - -18.4 Texinfo::Convert::Info DESCRIPTION -======================================= - -Texinfo::Convert::Info converts a Texinfo tree to Info. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info METHODS, Next: Texinfo::Convert::Info AUTHOR, Prev: Texinfo::Convert::Info DESCRIPTION, Up: Texinfo::Convert::Info - -18.5 Texinfo::Convert::Info METHODS -=================================== - -$converter = Texinfo::Convert::Info->converter($options) - - Initialize converter from Texinfo to Info. - - The _$options_ hash reference holds Texinfo customization options - for the converter. These options should be Texinfo customization - options that can be passed to the converter. Most of the - customization options are described in the Texinfo manual or in the - customization API manual. Those customization options, when - appropriate, override the document content. - - See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter - NAME. for more information. - -$converter->output($document) - - Convert a Texinfo parsed document _$document_ and output the result - in files as described in the Texinfo manual. - -$result = $converter->convert($document) - - Convert a Texinfo parsed document _$document_ and return the - resulting output. - -$result = $converter->convert_tree($tree) - - Convert a Texinfo tree portion _$tree_ and return the resulting - output. This function does not try to output a full document but - only portions. For a full document use ‘convert’. - - In general, this function should be called after the converter has - been associated to a document by a call to ‘output’ or ‘convert’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info AUTHOR, Next: Texinfo::Convert::Info COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Info METHODS, Up: Texinfo::Convert::Info - -18.6 Texinfo::Convert::Info AUTHOR -================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Info COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Info AUTHOR, Up: Texinfo::Convert::Info - -18.7 Texinfo::Convert::Info COPYRIGHT AND LICENSE -================================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML, Next: Texinfo::Convert::DocBook, Prev: Texinfo::Convert::Info, Up: Top - -19 Texinfo::Convert::HTML -************************* - -* Menu: - -* Texinfo::Convert::HTML NAME:: -* Texinfo::Convert::HTML SYNOPSIS:: -* Texinfo::Convert::HTML NOTES:: -* Texinfo::Convert::HTML DESCRIPTION:: -* Texinfo::Convert::HTML METHODS:: -* Texinfo::Convert::HTML AUTHOR:: -* Texinfo::Convert::HTML COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML NAME, Next: Texinfo::Convert::HTML SYNOPSIS, Up: Texinfo::Convert::HTML - -19.1 Texinfo::Convert::HTML NAME -================================ - -Texinfo::Convert::HTML - Convert Texinfo tree to HTML - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML SYNOPSIS, Next: Texinfo::Convert::HTML NOTES, Prev: Texinfo::Convert::HTML NAME, Up: Texinfo::Convert::HTML - -19.2 Texinfo::Convert::HTML SYNOPSIS -==================================== - - my $converter - = Texinfo::Convert::HTML->converter({'NUMBER_SECTIONS' => 0}); - - $converter->output($document); - $converter->convert($document); - $converter->convert_tree($tree); - $converter->output_internal_links(); # HTML only - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML NOTES, Next: Texinfo::Convert::HTML DESCRIPTION, Prev: Texinfo::Convert::HTML SYNOPSIS, Up: Texinfo::Convert::HTML - -19.3 Texinfo::Convert::HTML NOTES -================================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML DESCRIPTION, Next: Texinfo::Convert::HTML METHODS, Prev: Texinfo::Convert::HTML NOTES, Up: Texinfo::Convert::HTML - -19.4 Texinfo::Convert::HTML DESCRIPTION -======================================= - -Texinfo::Convert::HTML converts a Texinfo tree to HTML. - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML METHODS, Next: Texinfo::Convert::HTML AUTHOR, Prev: Texinfo::Convert::HTML DESCRIPTION, Up: Texinfo::Convert::HTML - -19.5 Texinfo::Convert::HTML METHODS -=================================== - -$converter = Texinfo::Convert::HTML->converter($options) - - Initialize converter from Texinfo to HTML. - - The _$options_ hash reference holds Texinfo customization options - for the converter. These options should be Texinfo customization - options that can be passed to the converter. Most of the - customization options are described in the Texinfo manual or in the - customization API manual. Those customization options, when - appropriate, override the document content. - - See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter - NAME. for more information. - -$converter->output($document) - - Convert a Texinfo parsed document _$document_ and output the result - in files as described in the Texinfo manual. - -$result = $converter->convert($document) - - Convert a Texinfo parsed document _$document_ and return the - resulting output. - -$result = $converter->convert_tree($tree) - - Convert a Texinfo tree portion _$tree_ and return the resulting - output. This function does not try to output a full document but - only portions. For a full document use ‘convert’. - - In general, this function should be called after the converter has - been associated to a document by a call to ‘output’ or ‘convert’. - -$result = $converter->output_internal_links() - - Returns text representing the links in the document. The format - should follow the ‘--internal-links’ option of the ‘texi2any’ - specification. This is only supported in (and relevant for) HTML. - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML AUTHOR, Next: Texinfo::Convert::HTML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::HTML METHODS, Up: Texinfo::Convert::HTML - -19.6 Texinfo::Convert::HTML AUTHOR -================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::HTML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::HTML AUTHOR, Up: Texinfo::Convert::HTML - -19.7 Texinfo::Convert::HTML COPYRIGHT AND LICENSE -================================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook, Next: Texinfo::Convert::TexinfoMarkup, Prev: Texinfo::Convert::HTML, Up: Top - -20 Texinfo::Convert::DocBook -**************************** - -* Menu: - -* Texinfo::Convert::DocBook NAME:: -* Texinfo::Convert::DocBook SYNOPSIS:: -* Texinfo::Convert::DocBook NOTES:: -* Texinfo::Convert::DocBook DESCRIPTION:: -* Texinfo::Convert::DocBook METHODS:: -* Texinfo::Convert::DocBook AUTHOR:: -* Texinfo::Convert::DocBook COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook NAME, Next: Texinfo::Convert::DocBook SYNOPSIS, Up: Texinfo::Convert::DocBook - -20.1 Texinfo::Convert::DocBook NAME -=================================== - -Texinfo::Convert::DocBook - Convert Texinfo tree to DocBook - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook SYNOPSIS, Next: Texinfo::Convert::DocBook NOTES, Prev: Texinfo::Convert::DocBook NAME, Up: Texinfo::Convert::DocBook - -20.2 Texinfo::Convert::DocBook SYNOPSIS -======================================= - - my $converter - = Texinfo::Convert::DocBook->converter({'NUMBER_SECTIONS' => 0}); - - $converter->output($document); - $converter->convert($document); - $converter->convert_tree($tree); - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook NOTES, Next: Texinfo::Convert::DocBook DESCRIPTION, Prev: Texinfo::Convert::DocBook SYNOPSIS, Up: Texinfo::Convert::DocBook - -20.3 Texinfo::Convert::DocBook NOTES -==================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook DESCRIPTION, Next: Texinfo::Convert::DocBook METHODS, Prev: Texinfo::Convert::DocBook NOTES, Up: Texinfo::Convert::DocBook - -20.4 Texinfo::Convert::DocBook DESCRIPTION -========================================== - -Texinfo::Convert::DocBook converts a Texinfo tree to DocBook. - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook METHODS, Next: Texinfo::Convert::DocBook AUTHOR, Prev: Texinfo::Convert::DocBook DESCRIPTION, Up: Texinfo::Convert::DocBook - -20.5 Texinfo::Convert::DocBook METHODS -====================================== - -$converter = Texinfo::Convert::DocBook->converter($options) - - Initialize converter from Texinfo to DocBook. - - The _$options_ hash reference holds Texinfo customization options - for the converter. These options should be Texinfo customization - options that can be passed to the converter. Most of the - customization options are described in the Texinfo manual or in the - customization API manual. Those customization options, when - appropriate, override the document content. - - See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter - NAME. for more information. - -$converter->output($document) - - Convert a Texinfo parsed document _$document_ and output the result - in files as described in the Texinfo manual. - -$result = $converter->convert($document) - - Convert a Texinfo parsed document _$document_ and return the - resulting output. - -$result = $converter->convert_tree($tree) - - Convert a Texinfo tree portion _$tree_ and return the resulting - output. This function does not try to output a full document but - only portions. For a full document use ‘convert’. - - In general, this function should be called after the converter has - been associated to a document by a call to ‘output’ or ‘convert’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook AUTHOR, Next: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::DocBook METHODS, Up: Texinfo::Convert::DocBook - -20.6 Texinfo::Convert::DocBook AUTHOR -===================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::DocBook AUTHOR, Up: Texinfo::Convert::DocBook - -20.7 Texinfo::Convert::DocBook COPYRIGHT AND LICENSE -==================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup, Next: Texinfo::Convert::TexinfoXML, Prev: Texinfo::Convert::DocBook, Up: Top - -21 Texinfo::Convert::TexinfoMarkup -********************************** - -* Menu: - -* Texinfo::Convert::TexinfoMarkup NAME:: -* Texinfo::Convert::TexinfoMarkup SYNOPSIS:: -* Texinfo::Convert::TexinfoMarkup NOTES:: -* Texinfo::Convert::TexinfoMarkup DESCRIPTION:: -* Texinfo::Convert::TexinfoMarkup METHODS:: -* Texinfo::Convert::TexinfoMarkup AUTHOR:: -* Texinfo::Convert::TexinfoMarkup SEE ALSO:: -* Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup NAME, Next: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Up: Texinfo::Convert::TexinfoMarkup - -21.1 Texinfo::Convert::TexinfoMarkup NAME -========================================= - -Texinfo::Convert::TexinfoMarkup - Convert Texinfo tree to element and -attribute markup - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Next: Texinfo::Convert::TexinfoMarkup NOTES, Prev: Texinfo::Convert::TexinfoMarkup NAME, Up: Texinfo::Convert::TexinfoMarkup - -21.2 Texinfo::Convert::TexinfoMarkup SYNOPSIS -============================================= - - package Texinfo::Convert::TexinfoMyMarkup; - - use Texinfo::Convert::TexinfoMarkup; - - @ISA = qw(Texinfo::Convert::TexinfoMarkup); - - sub converter_defaults ($$) { - return %myconverter_defaults; - } - - sub txi_markup_protect_text($$) - { - my $self = shift; - .... - } - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup NOTES, Next: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Prev: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Up: Texinfo::Convert::TexinfoMarkup - -21.3 Texinfo::Convert::TexinfoMarkup NOTES -========================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Next: Texinfo::Convert::TexinfoMarkup METHODS, Prev: Texinfo::Convert::TexinfoMarkup NOTES, Up: Texinfo::Convert::TexinfoMarkup - -21.4 Texinfo::Convert::TexinfoMarkup DESCRIPTION -================================================ - -‘Texinfo::Convert::TexinfoMarkup’ converts a Texinfo tree to the Texinfo -Markup Language which is based on nested elements with attributes, -similar to XML. All the information present in the Texinfo tree, after -expansion of ‘@macro’, ‘@value’ and inclusion of include files is kept. -‘Texinfo::Convert::TexinfoMarkup’ is an abstract class, to be used as a -super class for modules implementing specific markup formatting -functions called by ‘Texinfo::Convert::TexinfoMarkup’. - - The Texinfo Markup Language elements and attributes are not -documented, but the Texinfo XML output by the -‘Texinfo::Convert::TexinfoXML’ subclass (*note -Texinfo::Convert::TexinfoXML: Texinfo::Convert::TexinfoXML NAME.) is a -straightforward formatting as XML, and is described by the Texinfo DTD. -Therefore the Texinfo DTD can be used as a description of the structure -of both Texinfo XML and of the more abstract Texinfo Markup Language. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup METHODS, Next: Texinfo::Convert::TexinfoMarkup AUTHOR, Prev: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Up: Texinfo::Convert::TexinfoMarkup - -21.5 Texinfo::Convert::TexinfoMarkup METHODS -============================================ - -* Menu: - -* Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses:: -* Texinfo::Convert::TexinfoMarkup Formatting state information:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses, Next: Texinfo::Convert::TexinfoMarkup Formatting state information, Up: Texinfo::Convert::TexinfoMarkup METHODS - -21.5.1 Markup formatting methods defined by subclasses ------------------------------------------------------- - -The following methods should be implemented by the modules inheriting -from ‘Texinfo::Convert::TexinfoMarkup’: - -$result = $converter->txi_markup_atom($atom) - - Format the _$atom_ symbol string in a simpler way than with an - element. For example in XML the formatting of the symbol is - achieved with an entity. - -$result = $converter->txi_markup_comment($comment_string) - - Format _$comment_string_ as a comment. - -$result = $converter->txi_markup_convert_text($element) - - Called to format the Texinfo tree _$element_ text, which is a - reference on a hash. The _$element_ text is in the ‘text’ key. - The ‘type’ key value may also be set to distinguish the type of - text (*note Texinfo::Parser Types for text elements::). Texinfo - tree elements are described in details in *note Texinfo::Parser - TEXINFO TREE::. - -$result = $converter->txi_markup_element($format_element, $attributes) - -$result = $converter->txi_markup_open_element($format_element, $attributes) - -$result = $converter->txi_markup_close_element($format_element, $attributes) - - ‘txi_markup_element’ is called for the formatting of empty - elements. Otherwise, ‘txi_markup_open_element’ is called when an - element is opened, and ‘txi_markup_close_element’ is called when an - element is closed. _$format_element_ is the element name, - _$attributes_ is a reference on an array containing references on - arrays of pairs, one pair for each attribute, with the attribute - name as the first item of the pair and the attribute text as the - second item of the pair. - -$result = $converter->txi_markup_header() - - Called to format a header at the beginning of output files. - -$result = $converter->txi_markup_protect_text($string) - - Protect special character in text for text fragments out of text - Texinfo tree elements. For example, for spaces at end of line that - are ignorable in most output formats, for ‘@set’ or ‘@macro’ - arguments. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup Formatting state information, Prev: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses, Up: Texinfo::Convert::TexinfoMarkup METHODS - -21.5.2 Formatting state information ------------------------------------ - -A method is available for subclasses to gather information on the -formatting state: - -$converter->in_monospace() - - Return 1 if in a context where spacing should be kept and ‘---’ or - ‘''’ left as is, for example in ‘@code’, ‘@example’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup AUTHOR, Next: Texinfo::Convert::TexinfoMarkup SEE ALSO, Prev: Texinfo::Convert::TexinfoMarkup METHODS, Up: Texinfo::Convert::TexinfoMarkup - -21.6 Texinfo::Convert::TexinfoMarkup AUTHOR -=========================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup SEE ALSO, Next: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoMarkup AUTHOR, Up: Texinfo::Convert::TexinfoMarkup - -21.7 Texinfo::Convert::TexinfoMarkup SEE ALSO -============================================= - -*note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. -*note Texinfo::Convert::TexinfoXML: Texinfo::Convert::TexinfoXML NAME. -The ‘Texinfo::Convert::TexinfoSXML’ is another subclass, which outputs -SXML. It is not much documented. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoMarkup SEE ALSO, Up: Texinfo::Convert::TexinfoMarkup - -21.8 Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE -========================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML, Next: Texinfo::Convert::Plaintext, Prev: Texinfo::Convert::TexinfoMarkup, Up: Top - -22 Texinfo::Convert::TexinfoXML -******************************* - -* Menu: - -* Texinfo::Convert::TexinfoXML NAME:: -* Texinfo::Convert::TexinfoXML SYNOPSIS:: -* Texinfo::Convert::TexinfoXML NOTES:: -* Texinfo::Convert::TexinfoXML DESCRIPTION:: -* Texinfo::Convert::TexinfoXML METHODS:: -* Texinfo::Convert::TexinfoXML AUTHOR:: -* Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML NAME, Next: Texinfo::Convert::TexinfoXML SYNOPSIS, Up: Texinfo::Convert::TexinfoXML - -22.1 Texinfo::Convert::TexinfoXML NAME -====================================== - -Texinfo::Convert::TexinfoXML - Convert Texinfo tree to TexinfoXML - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML SYNOPSIS, Next: Texinfo::Convert::TexinfoXML NOTES, Prev: Texinfo::Convert::TexinfoXML NAME, Up: Texinfo::Convert::TexinfoXML - -22.2 Texinfo::Convert::TexinfoXML SYNOPSIS -========================================== - - my $converter - = Texinfo::Convert::TexinfoXML->converter({'NUMBER_SECTIONS' => 0}); - - $converter->output($document); - $converter->convert($document); - $converter->convert_tree($tree); - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML NOTES, Next: Texinfo::Convert::TexinfoXML DESCRIPTION, Prev: Texinfo::Convert::TexinfoXML SYNOPSIS, Up: Texinfo::Convert::TexinfoXML - -22.3 Texinfo::Convert::TexinfoXML NOTES -======================================= - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML DESCRIPTION, Next: Texinfo::Convert::TexinfoXML METHODS, Prev: Texinfo::Convert::TexinfoXML NOTES, Up: Texinfo::Convert::TexinfoXML - -22.4 Texinfo::Convert::TexinfoXML DESCRIPTION -============================================= - -Texinfo::Convert::TexinfoXML converts a Texinfo tree to TexinfoXML. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML METHODS, Next: Texinfo::Convert::TexinfoXML AUTHOR, Prev: Texinfo::Convert::TexinfoXML DESCRIPTION, Up: Texinfo::Convert::TexinfoXML - -22.5 Texinfo::Convert::TexinfoXML METHODS -========================================= - -$converter = Texinfo::Convert::TexinfoXML->converter($options) - - Initialize converter from Texinfo to TexinfoXML. - - The _$options_ hash reference holds Texinfo customization options - for the converter. These options should be Texinfo customization - options that can be passed to the converter. Most of the - customization options are described in the Texinfo manual or in the - customization API manual. Those customization options, when - appropriate, override the document content. - - See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter - NAME. for more information. - -$converter->output($document) - - Convert a Texinfo parsed document _$document_ and output the result - in files as described in the Texinfo manual. - -$result = $converter->convert($document) - - Convert a Texinfo parsed document _$document_ and return the - resulting output. - -$result = $converter->convert_tree($tree) - - Convert a Texinfo tree portion _$tree_ and return the resulting - output. This function does not try to output a full document but - only portions. For a full document use ‘convert’. - - In general, this function should be called after the converter has - been associated to a document by a call to ‘output’ or ‘convert’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML AUTHOR, Next: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoXML METHODS, Up: Texinfo::Convert::TexinfoXML - -22.6 Texinfo::Convert::TexinfoXML AUTHOR -======================================== - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoXML AUTHOR, Up: Texinfo::Convert::TexinfoXML - -22.7 Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE -======================================================= - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext, Next: Index, Prev: Texinfo::Convert::TexinfoXML, Up: Top - -23 Texinfo::Convert::Plaintext -****************************** - -* Menu: - -* Texinfo::Convert::Plaintext NAME:: -* Texinfo::Convert::Plaintext SYNOPSIS:: -* Texinfo::Convert::Plaintext NOTES:: -* Texinfo::Convert::Plaintext DESCRIPTION:: -* Texinfo::Convert::Plaintext METHODS:: -* Texinfo::Convert::Plaintext AUTHOR:: -* Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE:: - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext NAME, Next: Texinfo::Convert::Plaintext SYNOPSIS, Up: Texinfo::Convert::Plaintext - -23.1 Texinfo::Convert::Plaintext NAME -===================================== - -Texinfo::Convert::Plaintext - Convert Texinfo tree to Plaintext - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext SYNOPSIS, Next: Texinfo::Convert::Plaintext NOTES, Prev: Texinfo::Convert::Plaintext NAME, Up: Texinfo::Convert::Plaintext - -23.2 Texinfo::Convert::Plaintext SYNOPSIS -========================================= - - my $converter - = Texinfo::Convert::Plaintext->converter({'NUMBER_SECTIONS' => 0}); - - $converter->output($document); - $converter->convert($document); - $converter->convert_tree($tree); - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext NOTES, Next: Texinfo::Convert::Plaintext DESCRIPTION, Prev: Texinfo::Convert::Plaintext SYNOPSIS, Up: Texinfo::Convert::Plaintext - -23.3 Texinfo::Convert::Plaintext NOTES -====================================== - -The Texinfo Perl module main purpose is to be used in ‘texi2any’ to -convert Texinfo to other formats. There is no promise of API stability. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext DESCRIPTION, Next: Texinfo::Convert::Plaintext METHODS, Prev: Texinfo::Convert::Plaintext NOTES, Up: Texinfo::Convert::Plaintext - -23.4 Texinfo::Convert::Plaintext DESCRIPTION -============================================ - -Texinfo::Convert::Plaintext converts a Texinfo tree to Plaintext. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext METHODS, Next: Texinfo::Convert::Plaintext AUTHOR, Prev: Texinfo::Convert::Plaintext DESCRIPTION, Up: Texinfo::Convert::Plaintext - -23.5 Texinfo::Convert::Plaintext METHODS -======================================== - -$converter = Texinfo::Convert::Plaintext->converter($options) - - Initialize converter from Texinfo to Plaintext. - - The _$options_ hash reference holds Texinfo customization options - for the converter. These options should be Texinfo customization - options that can be passed to the converter. Most of the - customization options are described in the Texinfo manual or in the - customization API manual. Those customization options, when - appropriate, override the document content. - - See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter - NAME. for more information. - -$converter->output($document) - - Convert a Texinfo parsed document _$document_ and output the result - in files as described in the Texinfo manual. - -$result = $converter->convert($document) - - Convert a Texinfo parsed document _$document_ and return the - resulting output. - -$result = $converter->convert_tree($tree) - - Convert a Texinfo tree portion _$tree_ and return the resulting - output. This function does not try to output a full document but - only portions. For a full document use ‘convert’. - - In general, this function should be called after the converter has - been associated to a document by a call to ‘output’ or ‘convert’. - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext AUTHOR, Next: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Plaintext METHODS, Up: Texinfo::Convert::Plaintext - -23.6 Texinfo::Convert::Plaintext AUTHOR -======================================= - -Patrice Dumas, <pertusus@free.fr> - - -File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Plaintext AUTHOR, Up: Texinfo::Convert::Plaintext - -23.7 Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE -====================================================== - -Copyright 2010- Free Software Foundation, Inc. See the source file for -all copyright years. - - This library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - -File: texi2any_internals.info, Node: Index, Prev: Texinfo::Convert::Plaintext, Up: Top - -Appendix A Index -**************** - -�[index�] -* Menu: - -* %accent_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 13) -* %all_commands: Texinfo::Common @-COMMAND INFORMATION. - (line 13) -* %block_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 18) -* %blockitem_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 83) -* %brace_code_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 88) -* %brace_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 93) -* %close_paragraph_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 99) -* %commands_args_number: Texinfo::Commands @-COMMAND CLASSES. - (line 104) -* %contain_basic_inline_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 119) -* %contain_plain_text: Texinfo::Commands @-COMMAND CLASSES. - (line 124) -* %def_aliases: Texinfo::Common @-COMMAND INFORMATION. - (line 19) -* %def_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 129) -* %def_no_var_arg_commands: Texinfo::Common @-COMMAND INFORMATION. - (line 19) -* %default_index_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 133) -* %explained_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 138) -* %formattable_line_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 143) -* %formatted_line_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 160) -* %formatted_nobrace_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 152) -* %heading_spec_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 169) -* %in_heading_spec_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 173) -* %index_names: Texinfo::Commands @-COMMAND INFORMATION. - (line 10) -* %inline_conditional_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 185) -* %inline_format_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 185) -* %letter_no_arg_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 190) -* %line_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 199) -* %math_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 195) -* %no_paragraph_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 210) -* %nobrace_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 214) -* %nobrace_symbol_text: Texinfo::Common @-COMMAND INFORMATION. - (line 30) -* %non_formatted_block_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 225) -* %preamble_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 235) -* %preformatted_code_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 241) -* %preformatted_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 241) -* %ref_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 248) -* %root_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 253) -* %sectioning_heading_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 258) -* %small_block_associated_command: Texinfo::Common @-COMMAND INFORMATION. - (line 36) -* %texinfo_output_formats: Texinfo::Common MISC INFORMATION. - (line 46) -* %variadic_commands: Texinfo::Commands @-COMMAND CLASSES. - (line 262) -* add_formatted_message: Texinfo::Report METHODS. - (line 58) -* add_heading_number: Texinfo::Convert::Utils METHODS. - (line 23) -* ascii_accent_fallback: Texinfo::Convert::Text METHODS. - (line 56) -* associate_internal_references: Texinfo::Structuring METHODS. - (line 19) -* brace_no_arg_command: Texinfo::Convert::Unicode METHODS. - (line 7) -* cdt: Texinfo::Convert::Converter Translations in output documents. - (line 18) -* cdt_string: Texinfo::Convert::Converter Translations in output documents. - (line 18) -* check_nodes_are_referenced: Texinfo::Structuring METHODS. - (line 28) -* check_unicode_point_conversion: Texinfo::Convert::Unicode METHODS. - (line 14) -* clear: Texinfo::Report METHODS. - (line 54) -* collect_commands_in_tree: Texinfo::Common METHODS. - (line 44) -* collect_commands_list_in_tree: Texinfo::Common METHODS. - (line 51) -* comma_index_subentries_tree: Texinfo::Convert::Converter Helper methods. - (line 17) -* complete_node_tree_with_menus: Texinfo::Structuring METHODS. - (line 36) -* complete_tree_nodes_menus: Texinfo::Transformations METHODS. - (line 9) -* complete_tree_nodes_missing_menu: Texinfo::Transformations METHODS. - (line 18) -* conversion_finalization: Texinfo::Convert::Converter Conversion. - (line 29) -* conversion_initialization: Texinfo::Convert::Converter Conversion. - (line 29) -* conversion_output_begin: Texinfo::Convert::Converter Conversion. - (line 49) -* conversion_output_end: Texinfo::Convert::Converter Conversion. - (line 49) -* convert: Texinfo::Convert::Converter DESCRIPTION. - (line 55) -* convert_accents: Texinfo::Convert::Converter Helper methods. - (line 26) -* convert_output_unit: Texinfo::Convert::Converter DESCRIPTION. - (line 64) -* convert_to_identifier: Texinfo::Convert::NodeNameNormalization METHODS. - (line 14) -* convert_to_normalized: Texinfo::Convert::NodeNameNormalization METHODS. - (line 7) -* convert_to_texinfo: Texinfo::Convert::Texinfo METHODS. - (line 7) -* convert_to_text: Texinfo::Convert::Text METHODS. - (line 7) -* convert_tree: Texinfo::Convert::Converter DESCRIPTION. - (line 13) -* converter: Texinfo::Convert::Converter Converter Initialization. - (line 6) -* converter_defaults: Texinfo::Convert::Converter Converter Initialization. - (line 25) -* converter_document_error: Texinfo::Convert::Converter Registering error and warning messages. - (line 15) -* converter_document_warn: Texinfo::Convert::Converter Registering error and warning messages. - (line 15) -* converter_initialize: Texinfo::Convert::Converter Converter Initialization. - (line 35) -* converter_line_error: Texinfo::Convert::Converter Registering error and warning messages. - (line 25) -* converter_line_warn: Texinfo::Convert::Converter Registering error and warning messages. - (line 25) -* create_destination_directory: Texinfo::Convert::Converter Helper methods. - (line 34) -* definition_arguments_content: Texinfo::Convert::Utils METHODS. - (line 33) -* definition_category_tree: Texinfo::Convert::Utils METHODS. - (line 43) -* determine_files_and_directory: Texinfo::Convert::Converter Helper methods. - (line 42) -* document_descriptor: Texinfo::Document Methods for Perl and C code interactions. - (line 25) -* document_error: Texinfo::Report METHODS. - (line 90) -* document_warn: Texinfo::Report METHODS. - (line 90) -* element_associated_processing_encoding: Texinfo::Common METHODS. - (line 58) -* element_is_inline: Texinfo::Common METHODS. - (line 63) -* encoded_accents: Texinfo::Convert::Unicode METHODS. - (line 24) -* encoded_input_file_name: Texinfo::Convert::Utils METHODS. - (line 53) -* encoded_input_file_name <1>: Texinfo::Convert::Converter Helper methods. - (line 69) -* encoded_output_file_name: Texinfo::Convert::Utils METHODS. - (line 53) -* encoded_output_file_name <1>: Texinfo::Convert::Converter Helper methods. - (line 69) -* enumerate_item_representation: Texinfo::Common METHODS. - (line 79) -* errors: Texinfo::Report METHODS. - (line 17) -* expand_today: Texinfo::Convert::Utils METHODS. - (line 70) -* expand_verbatiminclude: Texinfo::Convert::Utils METHODS. - (line 76) -* fill_gaps_in_sectioning: Texinfo::Transformations METHODS. - (line 27) -* find_innermost_accent_contents: Texinfo::Convert::Utils METHODS. - (line 85) -* find_parent_root_command: Texinfo::Common METHODS. - (line 89) -* float_name_caption: Texinfo::Convert::Converter Helper methods. - (line 95) -* float_type_number: Texinfo::Convert::Converter Helper methods. - (line 102) -* floats_information: Texinfo::Document Getting document information. - (line 89) -* force_conf: Texinfo::Convert::Converter Getting and setting customization variables. - (line 19) -* format_comment_or_return_end_line: Texinfo::Convert::Converter Helper methods. - (line 108) -* gdt: Texinfo::Translations METHODS. - (line 29) -* gdt_string: Texinfo::Translations METHODS. - (line 29) -* get_conf: Texinfo::Convert::Converter Getting and setting customization variables. - (line 26) -* get_converter_errors: Texinfo::Convert::Converter Registering error and warning messages. - (line 39) -* get_converter_indices_sorted_by_index: Texinfo::Convert::Converter Index sorting. - (line 11) -* get_converter_indices_sorted_by_letter: Texinfo::Convert::Converter Index sorting. - (line 11) -* get_node_node_childs_from_sectioning: Texinfo::Structuring METHODS. - (line 41) -* global_commands_information: Texinfo::Document Getting document information. - (line 55) -* global_information: Texinfo::Document Getting document information. - (line 27) -* index_entry_element_sort_string: Texinfo::Indices METHODS. - (line 9) -* indices_information: Texinfo::Document Getting document information. - (line 126) -* insert_nodes_for_sectioning_commands: Texinfo::Transformations METHODS. - (line 43) -* internal_references_information: Texinfo::Document Getting document information. - (line 99) -* is_content_empty: Texinfo::Common METHODS. - (line 106) -* labels_information: Texinfo::Document Getting document information. - (line 75) -* labels_list: Texinfo::Document Getting document information. - (line 80) -* line_error: Texinfo::Report METHODS. - (line 66) -* line_warn: Texinfo::Report METHODS. - (line 66) -* locate_include_file: Texinfo::Common METHODS. - (line 112) -* menu_to_simple_menu: Texinfo::Transformations METHODS. - (line 50) -* merge_indices: Texinfo::Indices METHODS. - (line 43) -* merged_indices: Texinfo::Document Merging and sorting indices. - (line 17) -* move_index_entries_after_items_in_tree: Texinfo::ManipulateTree METHODS. - (line 13) -* new_block_command: Texinfo::Structuring METHODS. - (line 48) -* new_complete_node_menu: Texinfo::Structuring METHODS. - (line 53) -* new_detailmenu: Texinfo::Structuring METHODS. - (line 62) -* new_node_menu_entry: Texinfo::Structuring METHODS. - (line 76) -* node_information_filename: Texinfo::Convert::Converter Helper methods. - (line 116) -* nodes_tree: Texinfo::Structuring METHODS. - (line 83) -* normalize_top_node_name: Texinfo::Common METHODS. - (line 138) -* normalize_transliterate_texinfo: Texinfo::Convert::NodeNameNormalization METHODS. - (line 23) -* normalized_sectioning_command_filename: Texinfo::Convert::Converter Helper methods. - (line 121) -* number_floats: Texinfo::Structuring METHODS. - (line 95) -* output: Texinfo::Convert::Converter DESCRIPTION. - (line 21) -* output_internal_links: Texinfo::Convert::Converter Helper methods. - (line 186) -* output_internal_links <1>: Texinfo::Convert::HTML METHODS. - (line 40) -* output_tree: Texinfo::Convert::Converter DESCRIPTION. - (line 21) -* parse_texi_file: Texinfo::Parser Parsing Texinfo text. - (line 41) -* parse_texi_line: Texinfo::Parser Parsing Texinfo text. - (line 17) -* parse_texi_piece: Texinfo::Parser Parsing Texinfo text. - (line 25) -* parse_texi_text: Texinfo::Parser Parsing Texinfo text. - (line 33) -* Parser initialization: Texinfo::Parser Initialization. - (line 10) -* parser_errors: Texinfo::Parser Parsing Texinfo text. - (line 50) -* pcdt: Texinfo::Convert::Converter Translations in output documents. - (line 38) -* pgdt: Texinfo::Translations METHODS. - (line 77) -* present_bug_message: Texinfo::Convert::Converter Helper methods. - (line 130) -* protect_colon_in_tree: Texinfo::ManipulateTree METHODS. - (line 21) -* protect_comma_in_tree: Texinfo::ManipulateTree METHODS. - (line 28) -* protect_first_parenthesis: Texinfo::ManipulateTree METHODS. - (line 32) -* protect_hashchar_at_line_beginning: Texinfo::Transformations METHODS. - (line 64) -* protect_node_after_label_in_tree: Texinfo::ManipulateTree METHODS. - (line 21) -* rebuild_tree: Texinfo::Document Methods for Perl and C code interactions. - (line 36) -* reference_to_arg_in_tree: Texinfo::Transformations METHODS. - (line 79) -* regenerate_master_menu: Texinfo::Transformations METHODS. - (line 93) -* register_document_nodes_list: Texinfo::Document Registering document and information in document. - (line 19) -* register_document_options: Texinfo::Document Registering document and information in document. - (line 25) -* register_document_sections_list: Texinfo::Document Registering document and information in document. - (line 38) -* relate_index_entries_to_table_items_in_tree: Texinfo::ManipulateTree METHODS. - (line 37) -* remove_document: Texinfo::Document Methods for Perl and C code interactions. - (line 55) -* reset_options_code: Texinfo::Convert::Text METHODS. - (line 67) -* reset_options_encoding: Texinfo::Convert::Text METHODS. - (line 80) -* section_level: Texinfo::Common METHODS. - (line 148) -* section_level_adjusted_command_name: Texinfo::Structuring METHODS. - (line 100) -* sectioning_structure: Texinfo::Structuring METHODS. - (line 106) -* set_conf: Texinfo::Convert::Converter Getting and setting customization variables. - (line 31) -* set_document: Texinfo::Convert::Converter Conversion. - (line 13) -* set_document_global_info: Texinfo::Document Registering document and information in document. - (line 44) -* set_global_document_command: Texinfo::Common METHODS. - (line 153) -* set_global_document_commands: Texinfo::Convert::Converter Helper methods. - (line 135) -* set_informative_command_value: Texinfo::Common METHODS. - (line 187) -* set_menus_node_directions: Texinfo::Structuring METHODS. - (line 146) -* set_menus_to_simple_menu: Texinfo::Transformations METHODS. - (line 50) -* set_options_code: Texinfo::Convert::Text METHODS. - (line 67) -* set_options_encoding: Texinfo::Convert::Text METHODS. - (line 80) -* set_options_encoding_if_not_ascii: Texinfo::Convert::Text METHODS. - (line 80) -* set_output_encoding: Texinfo::Common METHODS. - (line 196) -* set_output_perl_encoding: Texinfo::Common METHODS. - (line 201) -* setup_index_entry_keys_formatting: Texinfo::Indices METHODS. - (line 63) -* sort_indices_by_index: Texinfo::Indices METHODS. - (line 70) -* sort_indices_by_letter: Texinfo::Indices METHODS. - (line 70) -* sorted_indices_by_index: Texinfo::Document Merging and sorting indices. - (line 33) -* sorted_indices_by_letter: Texinfo::Document Merging and sorting indices. - (line 33) -* split_by_node: Texinfo::OutputUnits Output units creation. - (line 33) -* split_by_section: Texinfo::OutputUnits Output units creation. - (line 43) -* split_custom_heading_command_contents: Texinfo::Common METHODS. - (line 208) -* split_pages: Texinfo::OutputUnits Grouping output units in pages. - (line 9) -* string_width: Texinfo::Convert::Unicode METHODS. - (line 50) -* table_item_content_tree: Texinfo::Convert::Converter Helper methods. - (line 171) -* Texinfo tree element extra key: Texinfo::Parser Information available in the extra key. - (line 6) -* Texinfo tree element structure: Texinfo::Parser Element keys. - (line 6) -* Texinfo tree elements: Texinfo::Parser TEXINFO TREE. - (line 6) -* Texinfo::Convert::Converter initialization: Texinfo::Convert::Converter Converter Initialization. - (line 6) -* Texinfo::Parser::parser: Texinfo::Parser Initialization. - (line 10) -* Texinfo::Report::new: Texinfo::Report METHODS. - (line 13) -* text_accents: Texinfo::Convert::Text METHODS. - (line 93) -* top_node_filename: Texinfo::Convert::Converter Helper methods. - (line 178) -* translate_string: Texinfo::Translations METHODS. - (line 87) -* transliterate_protect_file_name: Texinfo::Convert::NodeNameNormalization METHODS. - (line 38) -* transliterate_texinfo: Texinfo::Convert::NodeNameNormalization METHODS. - (line 31) -* tree: Texinfo::Document Getting document information. - (line 13) -* unicode_accent: Texinfo::Convert::Unicode METHODS. - (line 56) -* unicode_point_decoded_in_encoding: Texinfo::Convert::Unicode METHODS. - (line 63) -* unicode_text: Texinfo::Convert::Unicode METHODS. - (line 75) -* units_directions: Texinfo::OutputUnits Setting output units directions. - (line 9) -* units_file_directions: Texinfo::OutputUnits Setting output units directions. - (line 74) -* valid_option: Texinfo::Common METHODS. - (line 217) -* valid_tree_transformation: Texinfo::Common METHODS. - (line 221) -* warn_non_empty_parts: Texinfo::Structuring METHODS. - (line 157) -* xml_accent: Texinfo::Convert::Converter Conversion to XML. - (line 24) -* xml_accents: Texinfo::Convert::Converter Conversion to XML. - (line 36) -* xml_comment: Texinfo::Convert::Converter Conversion to XML. - (line 20) -* xml_format_text_with_numeric_entities: Texinfo::Convert::Converter Conversion to XML. - (line 11) -* xml_numeric_entity_accent: Texinfo::Convert::Converter Conversion to XML. - (line 42) -* xml_protect_text: Texinfo::Convert::Converter Conversion to XML. - (line 16) - - -Tag Table: -Node: Top300 -Node: Texinfo::Commands10764 -Node: Texinfo::Commands NAME11246 -Node: Texinfo::Commands SYNOPSIS11472 -Node: Texinfo::Commands NOTES11831 -Node: Texinfo::Commands DESCRIPTION12196 -Node: Texinfo::Commands @-COMMAND INFORMATION12552 -Ref: Texinfo::Commands %index_names12900 -Node: Texinfo::Commands @-COMMAND CLASSES13137 -Ref: Texinfo::Commands %accent_commands13576 -Ref: Texinfo::Commands %block_commands13725 -Ref: Texinfo::Commands _conditional_13823 -Ref: Texinfo::Commands _def_13867 -Ref: Texinfo::Commands _float_13931 -Ref: Texinfo::Commands _format_raw_13975 -Ref: Texinfo::Commands _item_container_14072 -Ref: Texinfo::Commands _item_line_14198 -Ref: Texinfo::Commands _menu_14309 -Ref: Texinfo::Commands _math_14402 -Ref: Texinfo::Commands _multitable_14478 -Ref: Texinfo::Commands _other_14522 -Ref: Texinfo::Commands _preformatted_14584 -Ref: Texinfo::Commands _quotation_14707 -Ref: Texinfo::Commands _raw_14762 -Ref: Texinfo::Commands _region_14913 -Ref: Texinfo::Commands %blockitem_commands15090 -Ref: Texinfo::Commands %brace_code_commands15262 -Ref: Texinfo::Commands %brace_commands15363 -Ref: Texinfo::Commands %close_paragraph_commands15612 -Ref: Texinfo::Commands %commands_args_number15749 -Ref: Texinfo::Commands %contain_basic_inline_commands16512 -Ref: Texinfo::Commands %contain_plain_text_commands16707 -Ref: Texinfo::Commands %def_commands16808 -Ref: Texinfo::Commands %default_index_commands16860 -Ref: Texinfo::Commands %explained_commands16975 -Ref: Texinfo::Commands %formattable_line_commands17156 -Ref: Texinfo::Commands %formatted_nobrace_commands17564 -Ref: Texinfo::Commands %formatted_line_commands17899 -Ref: Texinfo::Commands %heading_spec_commands18327 -Ref: Texinfo::Commands %in_heading_spec_commands18430 -Ref: Texinfo::Commands %in_index_commands18568 -Ref: Texinfo::Commands %inline_conditional_commands18691 -Ref: Texinfo::Commands %inline_format_commands18716 -Ref: Texinfo::Commands %letter_no_arg_commands18879 -Ref: Texinfo::Commands %math_commands19018 -Ref: Texinfo::Commands %line_commands19112 -Ref: Texinfo::Commands %no_paragraph_commands19575 -Ref: Texinfo::Commands %nobrace_commands19640 -Ref: Texinfo::Commands %non_formatted_block_commands20133 -Ref: Texinfo::Commands %non_formatted_brace_commands20252 -Ref: Texinfo::Commands %preamble_commands20407 -Ref: Texinfo::Commands %preformatted_commands20479 -Ref: Texinfo::Commands %preformatted_code_commands20508 -Ref: Texinfo::Commands %ref_commands20761 -Ref: Texinfo::Commands %root_commands20866 -Ref: Texinfo::Commands %sectioning_heading_commands21049 -Ref: Texinfo::Commands %variadic_commands21116 -Node: Texinfo::Commands SEE ALSO21179 -Node: Texinfo::Commands AUTHOR21459 -Node: Texinfo::Commands COPYRIGHT AND LICENSE21726 -Node: Texinfo::Common22291 -Node: Texinfo::Common NAME22792 -Node: Texinfo::Common SYNOPSIS23033 -Node: Texinfo::Common NOTES23550 -Node: Texinfo::Common DESCRIPTION23903 -Node: Texinfo::Common MISC INFORMATION24281 -Ref: Texinfo::Common $value = get_build_constant($name)24769 -Ref: Texinfo::Common PACKAGE24834 -Ref: Texinfo::Common PACKAGE_CONFIG24855 -Ref: Texinfo::Common PACKAGE_AND_VERSION24881 -Ref: Texinfo::Common PACKAGE_AND_VERSION_CONFIG24914 -Ref: Texinfo::Common PACKAGE_NAME24933 -Ref: Texinfo::Common PACKAGE_NAME_CONFIG24959 -Ref: Texinfo::Common PACKAGE_VERSION24981 -Ref: Texinfo::Common PACKAGE_VERSION_CONFIG25010 -Ref: Texinfo::Common PACKAGE_URL25028 -Ref: Texinfo::Common PACKAGE_URL_CONFIG25053 -Ref: Texinfo::Common %texinfo_output_formats25582 -Node: Texinfo::Common @-COMMAND INFORMATION26157 -Ref: Texinfo::Common %all_commands26591 -Ref: Texinfo::Common %def_aliases26631 -Ref: Texinfo::Common %def_no_var_arg_commands26657 -Ref: Texinfo::Common %nobrace_symbol_text27176 -Ref: Texinfo::Common %small_block_associated_command27380 -Node: Texinfo::Common METHODS27478 -Ref: Texinfo::Common $translated_string = __($msgid)28297 -Ref: Texinfo::Common $translated_string = __p($msgctxt, $msgid)28341 -Ref: Texinfo::Common collect_commands_in_tree($tree, $commands_list)29657 -Ref: Texinfo::Common collect_commands_list_in_tree($tree, $commands_list)29943 -Ref: Texinfo::Common $encoding_name = element_associated_processing_encoding($element)30242 -Ref: Texinfo::Common $result = element_is_inline($element, $check_current)30430 -Ref: Texinfo::Common ($encoded_file_name, $encoding) = encode_file_name($file_name, $input_encoding)30713 -Ref: Texinfo::Common $text = enumerate_item_representation($specification, $number)31212 -Ref: Texinfo::Common $command = find_parent_root_command($object, $tree_element)31542 -Ref: Texinfo::Common $entry_content_element = index_content_element($element, $prefer_reference_element)31867 -Ref: Texinfo::Common $result = is_content_empty($tree, $do_not_ignore_index_entries)32377 -Ref: Texinfo::Common $file = locate_include_file($customization_information, $file_path)32625 -Ref: Texinfo::Common ($index_entry, $index_info) = lookup_index_entry($index_entry_info, $indices_information)33200 -Ref: Texinfo::Common $normalized_name = normalize_top_node_name($node_string)34048 -Ref: Texinfo::Common $result = remove_from_array($array, $element)34186 -Ref: Texinfo::Common $level = section_level($section)34359 -Ref: Texinfo::Common $element = set_global_document_command($customization_information, $global_commands_information, $cmdname, $command_location)34598 -Ref: Texinfo::Common last35177 -Ref: Texinfo::Common preamble35242 -Ref: Texinfo::Common preamble_or_first35333 -Ref: Texinfo::Common $status = set_informative_command_value($customization_information, $element)35958 -Ref: Texinfo::Common set_output_encoding($customization_information, $document)36396 -Ref: Texinfo::Common set_output_perl_encoding($customization_information)36542 -Ref: Texinfo::Common $split_contents = split_custom_heading_command_contents($element)36842 -Ref: Texinfo::Common $status = valid_customization_option($name)37256 -Ref: Texinfo::Common $status = valid_tree_transformation($name)37366 -Node: Texinfo::Common SEE ALSO37518 -Node: Texinfo::Common AUTHOR37898 -Node: Texinfo::Common COPYRIGHT AND LICENSE38153 -Node: Texinfo::Parser38710 -Node: Texinfo::Parser NAME39163 -Node: Texinfo::Parser SYNOPSIS39386 -Node: Texinfo::Parser NOTES39866 -Node: Texinfo::Parser DESCRIPTION40219 -Node: Texinfo::Parser METHODS40850 -Node: Texinfo::Parser Initialization41361 -Ref: Texinfo::Parser $parser = Texinfo::Parser::parser($options)41674 -Ref: Texinfo::Parser CPP_LINE_DIRECTIVES41900 -Ref: Texinfo::Parser EXPANDED_FORMATS42016 -Ref: Texinfo::Parser FORMAT_MENU42192 -Ref: Texinfo::Parser INCLUDE_DIRECTORIES42355 -Ref: Texinfo::Parser IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME42569 -Ref: Texinfo::Parser MAX_MACRO_CALL_NESTING42701 -Ref: Texinfo::Parser documentlanguage42816 -Ref: Texinfo::Parser values43014 -Node: Texinfo::Parser Parsing Texinfo text43143 -Ref: Texinfo::Parser $tree = $parser->parse_texi_line($text, $first_line_number)43903 -Ref: Texinfo::Parser $document = $parser->parse_texi_piece($text, $first_line_number)44191 -Ref: Texinfo::Parser $document = $parser->parse_texi_text($text, $first_line_number)44474 -Ref: Texinfo::Parser $document = $parser->parse_texi_file($file_name)44751 -Ref: Texinfo::Parser ($error_warnings_list, $error_count) = $document->parser_errors()45151 -Node: Texinfo::Parser TEXINFO TREE45510 -Node: Texinfo::Parser Element keys47450 -Ref: Texinfo::Parser cmdname47640 -Ref: Texinfo::Parser text47692 -Ref: Texinfo::Parser type47740 -Ref: Texinfo::Parser args48326 -Ref: Texinfo::Parser contents48405 -Ref: Texinfo::Parser parent48559 -Ref: Texinfo::Parser source_info48598 -Ref: Texinfo::Parser line_nr49005 -Ref: Texinfo::Parser file_name49066 -Ref: Texinfo::Parser macro49129 -Ref: Texinfo::Parser info49198 -Ref: Texinfo::Parser extra49433 -Node: Texinfo::Parser Element types49724 -Node: Texinfo::Parser Types for command elements50171 -Ref: Texinfo::Parser definfoenclose_command50645 -Ref: Texinfo::Parser index_entry_command50906 -Node: Texinfo::Parser Types for text elements51283 -Ref: Texinfo::Parser after_menu_description_line51670 -Ref: Texinfo::Parser space_at_end_menu_node51694 -Ref: Texinfo::Parser delimiter51832 -Ref: Texinfo::Parser spaces51840 -Ref: Texinfo::Parser empty_line52147 -Ref: Texinfo::Parser ignorable_spaces_after_command52249 -Ref: Texinfo::Parser spaces_after_close_brace52511 -Ref: Texinfo::Parser spaces_before_paragraph52696 -Ref: Texinfo::Parser raw52753 -Ref: Texinfo::Parser rawline_arg52884 -Ref: Texinfo::Parser spaces_at_end53157 -Ref: Texinfo::Parser text_after_end53268 -Ref: Texinfo::Parser text_before_beginning53324 -Ref: Texinfo::Parser untranslated53425 -Node: Texinfo::Parser Tree container elements53623 -Ref: Texinfo::Parser before_node_section54085 -Ref: Texinfo::Parser document_root54197 -Ref: Texinfo::Parser root_line54208 -Ref: Texinfo::Parser postamble_after_end54590 -Ref: Texinfo::Parser preamble_before_beginning54677 -Ref: Texinfo::Parser preamble_before_setfilename54856 -Ref: Texinfo::Parser preamble_before_content54959 -Node: Texinfo::Parser Types of container elements55116 -Ref: Texinfo::Parser balanced_braces55990 -Ref: Texinfo::Parser before_defline56349 -Ref: Texinfo::Parser before_item56471 -Ref: Texinfo::Parser brace_container56639 -Ref: Texinfo::Parser brace_command_context56662 -Ref: Texinfo::Parser brace_arg56673 -Ref: Texinfo::Parser line_arg56683 -Ref: Texinfo::Parser block_line_arg56699 -Ref: Texinfo::Parser following_arg56714 -Ref: Texinfo::Parser bracketed_arg58042 -Ref: Texinfo::Parser bracketed_linemacro_arg58152 -Ref: Texinfo::Parser def_category58469 -Ref: Texinfo::Parser def_class58480 -Ref: Texinfo::Parser def_type58490 -Ref: Texinfo::Parser def_name58500 -Ref: Texinfo::Parser def_typearg58513 -Ref: Texinfo::Parser def_arg58522 -Ref: Texinfo::Parser def_line58752 -Ref: Texinfo::Parser def_item58762 -Ref: Texinfo::Parser inter_def_item58778 -Ref: Texinfo::Parser def_line_arg59536 -Ref: Texinfo::Parser untranslated_def_line_arg59563 -Ref: Texinfo::Parser macro_call60573 -Ref: Texinfo::Parser macro_call_line60590 -Ref: Texinfo::Parser rmacro_call60603 -Ref: Texinfo::Parser rmacro_call_line60621 -Ref: Texinfo::Parser linemacro_call60637 -Ref: Texinfo::Parser macro_name61045 -Ref: Texinfo::Parser macro_arg61056 -Ref: Texinfo::Parser menu_comment61342 -Ref: Texinfo::Parser menu_entry61674 -Ref: Texinfo::Parser menu_entry_leading_text61699 -Ref: Texinfo::Parser menu_entry_name61716 -Ref: Texinfo::Parser menu_entry_separator61738 -Ref: Texinfo::Parser menu_entry_node61755 -Ref: Texinfo::Parser menu_entry_description61779 -Ref: Texinfo::Parser multitable_head62362 -Ref: Texinfo::Parser multitable_body62379 -Ref: Texinfo::Parser row62384 -Ref: Texinfo::Parser paragraph62657 -Ref: Texinfo::Parser preformatted63002 -Ref: Texinfo::Parser rawpreformatted63200 -Ref: Texinfo::Parser table_entry63312 -Ref: Texinfo::Parser table_term63324 -Ref: Texinfo::Parser table_definition63342 -Ref: Texinfo::Parser inter_item63354 -Node: Texinfo::Parser Information available in the info key64008 -Ref: Texinfo::Parser arg_line64345 -Ref: Texinfo::Parser command_name64514 -Ref: Texinfo::Parser delimiter 164856 -Ref: Texinfo::Parser inserted64913 -Ref: Texinfo::Parser spaces_after_argument65164 -Ref: Texinfo::Parser spaces_after_cmd_before_arg65651 -Ref: Texinfo::Parser spaces_before_argument66124 -Node: Texinfo::Parser Information available in the extra key66669 -Node: Texinfo::Parser Extra keys available for more than one @-command67120 -Ref: Texinfo::Parser element_node67495 -Ref: Texinfo::Parser element_region67684 -Ref: Texinfo::Parser index_entry67907 -Ref: Texinfo::Parser index_ignore_chars69128 -Ref: Texinfo::Parser misc_args69378 -Ref: Texinfo::Parser text_arg69612 -Node: Texinfo::Parser Extra keys specific of certain @-commands or containers69812 -Ref: Texinfo::Parser @abbr70200 -Ref: Texinfo::Parser @acronym70216 -Ref: Texinfo::Parser @anchor70287 -Ref: Texinfo::Parser @float70301 -Ref: Texinfo::Parser @author70600 -Ref: Texinfo::Parser @click70950 -Ref: Texinfo::Parser def_line 171029 -Ref: Texinfo::Parser line definition command71054 -Ref: Texinfo::Parser @definfoenclose defined commands72325 -Ref: Texinfo::Parser @documentencoding72480 -Ref: Texinfo::Parser @enumerate72558 -Ref: Texinfo::Parser @float 172662 -Ref: Texinfo::Parser @listoffloats72683 -Ref: Texinfo::Parser index entry @-command73054 -Ref: Texinfo::Parser @subentry73071 -Ref: Texinfo::Parser @inlinefmt73571 -Ref: Texinfo::Parser @inlineraw73589 -Ref: Texinfo::Parser @inlinefmtifelse73613 -Ref: Texinfo::Parser @inlineifclear73635 -Ref: Texinfo::Parser @inlineifset73655 -Ref: Texinfo::Parser @item in @enumerate or @itemize74064 -Ref: Texinfo::Parser @item and @tab in @multitable74184 -Ref: Texinfo::Parser @itemize74282 -Ref: Texinfo::Parser @table74296 -Ref: Texinfo::Parser @vtable74311 -Ref: Texinfo::Parser @ftable74326 -Ref: Texinfo::Parser @kbd74719 -Ref: Texinfo::Parser @macro74804 -Ref: Texinfo::Parser menu_entry_node 174976 -Ref: Texinfo::Parser @multitable75187 -Ref: Texinfo::Parser @node75427 -Ref: Texinfo::Parser paragraph 176856 -Ref: Texinfo::Parser @part76992 -Ref: Texinfo::Parser @ref77232 -Ref: Texinfo::Parser @xref77245 -Ref: Texinfo::Parser @pxref77259 -Ref: Texinfo::Parser @inforef77275 -Ref: Texinfo::Parser row 177500 -Ref: Texinfo::Parser sectioning command77611 -Ref: Texinfo::Parser untranslated_def_line_arg 178099 -Node: Texinfo::Parser SEE ALSO78246 -Node: Texinfo::Parser AUTHOR78533 -Node: Texinfo::Parser COPYRIGHT AND LICENSE78788 -Node: Texinfo::Document79343 -Node: Texinfo::Document NAME79789 -Node: Texinfo::Document SYNOPSIS80026 -Node: Texinfo::Document NOTES81143 -Node: Texinfo::Document DESCRIPTION81508 -Node: Texinfo::Document METHODS81951 -Node: Texinfo::Document Getting document information82581 -Ref: Texinfo::Document $tree = tree($document, $handler_only)83055 -Ref: Texinfo::Document $info = global_information($document)83627 -Ref: Texinfo::Document included_files83719 -Ref: Texinfo::Document input_encoding_name83911 -Ref: Texinfo::Document input_file_name84035 -Ref: Texinfo::Document input_directory84057 -Ref: Texinfo::Document $commands = global_commands_information($document)84592 -Ref: Texinfo::Document dircategory_direntry84856 -Ref: Texinfo::Document $identifier_target = labels_information($document)85402 -Ref: Texinfo::Document $labels_list = labels_list ($document)85585 -Ref: Texinfo::Document $float_types = floats_information($document)85909 -Ref: Texinfo::Document $internal_references_array = internal_references_information($document)86380 -Ref: Texinfo::Document $nodes_list = nodes_list($document)86587 -Ref: Texinfo::Document $sections_list = sections_list($document)86988 -Ref: Texinfo::Document $indices_information = $document->indices_information()87562 -Ref: Texinfo::Document in_code87640 -Ref: Texinfo::Document name87748 -Ref: Texinfo::Document prefix87788 -Ref: Texinfo::Document merged_in87869 -Ref: Texinfo::Document index_entries88079 -Ref: Texinfo::Document index_name88448 -Ref: Texinfo::Document entry_element88666 -Ref: Texinfo::Document entry_number88807 -Node: Texinfo::Document Merging and sorting indices89418 -Ref: Texinfo::Document $merged_indices = $document->merged_indices()90299 -Ref: Texinfo::Document $sorted_indices = $document->sorted_indices_by_index($customization_information, $use_unicode_collation, $locale_lang)90974 -Ref: Texinfo::Document $sorted_indices = $document->sorted_indices_by_letter($customization_information, $use_unicode_collation, $locale_lang)91095 -Node: Texinfo::Document Getting errors and error registering object93932 -Ref: Texinfo::Document $registrar = registrar($document)94699 -Ref: Texinfo::Document ($error warnings list, $error count) = errors($document)95151 -Node: Texinfo::Document Getting customization options values registered in document95601 -Ref: Texinfo::Document $value = $document->get_conf($variable_name)96525 -Node: Texinfo::Document Registering document and information in document96709 -Ref: Texinfo::Document $document = Texinfo::Document::register($tree, $global_information, $indices_information, $floats_information, $internal_references_information, $global_commands_information, $identifier_target, $labels_list, $parser_registrar)97426 -Ref: Texinfo::Document register_document_nodes_list ($document, $nodes_list)97785 -Ref: Texinfo::Document register_document_options ($document, $options)97994 -Ref: Texinfo::Document register_document_sections_list ($document, $sections_list)98697 -Ref: Texinfo::Document set_document_global_info($document, $key, $value)98914 -Node: Texinfo::Document Methods for Perl and C code interactions99356 -Ref: Texinfo::Document $document_descriptor = $document->document_descriptor()100750 -Ref: Texinfo::Document $rebuilt_tree = rebuild_tree($tree, $no_store)101237 -Ref: Texinfo::Document remove_document($document)102037 -Node: Texinfo::Document SEE ALSO102092 -Node: Texinfo::Document AUTHOR102419 -Node: Texinfo::Document COPYRIGHT AND LICENSE102686 -Node: Texinfo::ManipulateTree103251 -Node: Texinfo::ManipulateTree NAME103762 -Node: Texinfo::ManipulateTree SYNOPSIS104048 -Node: Texinfo::ManipulateTree NOTES104334 -Node: Texinfo::ManipulateTree DESCRIPTION104735 -Node: Texinfo::ManipulateTree METHODS105246 -Ref: Texinfo::ManipulateTree move_index_entries_after_items_in_tree($tree)105891 -Ref: Texinfo::ManipulateTree protect_colon_in_tree($tree)106119 -Ref: Texinfo::ManipulateTree protect_node_after_label_in_tree($tree)106160 -Ref: Texinfo::ManipulateTree protect_comma_in_tree($tree)106477 -Ref: Texinfo::ManipulateTree protect_first_parenthesis($element)106587 -Ref: Texinfo::ManipulateTree relate_index_entries_to_table_items_in_tree($document)106790 -Node: Texinfo::ManipulateTree SEE ALSO106958 -Node: Texinfo::ManipulateTree AUTHOR107390 -Node: Texinfo::ManipulateTree COPYRIGHT AND LICENSE107693 -Node: Texinfo::Structuring108288 -Node: Texinfo::Structuring NAME108767 -Node: Texinfo::Structuring SYNOPSIS109036 -Node: Texinfo::Structuring NOTES109884 -Node: Texinfo::Structuring DESCRIPTION110267 -Node: Texinfo::Structuring METHODS111100 -Ref: Texinfo::Structuring associate_internal_references($document)112027 -Ref: Texinfo::Structuring check_nodes_are_referenced($document)112450 -Ref: Texinfo::Structuring complete_node_tree_with_menus($document)112701 -Ref: Texinfo::Structuring @children_nodes = get_node_node_childs_from_sectioning($node)112896 -Ref: Texinfo::Structuring new_block_command($element, $command_name)113172 -Ref: Texinfo::Structuring $new_menu = new_complete_node_menu($node, $customization_information, $use_sections)113408 -Ref: Texinfo::Structuring $detailmenu = new_detailmenu($customization_information, $registrar, $identifier_target, $menus)113903 -Ref: Texinfo::Structuring $entry = new_node_menu_entry($node, $use_sections)114594 -Ref: Texinfo::Structuring $nodes_list = nodes_tree($document)114863 -Ref: Texinfo::Structuring node_directions115048 -Ref: Texinfo::Structuring number_floats($float_information)115215 -Ref: Texinfo::Structuring $command_name = section_level_adjusted_command_name($element)115424 -Ref: Texinfo::Structuring $sections_list = sectioning_structure($document)115658 -Ref: Texinfo::Structuring section_level115931 -Ref: Texinfo::Structuring section_number116180 -Ref: Texinfo::Structuring section_childs116243 -Ref: Texinfo::Structuring section_directions116341 -Ref: Texinfo::Structuring toplevel_directions116510 -Ref: Texinfo::Structuring set_menus_node_directions($document);117133 -Ref: Texinfo::Structuring menu_directions117274 -Ref: Texinfo::Structuring warn_non_empty_parts($document)117434 -Node: Texinfo::Structuring SEE ALSO117554 -Node: Texinfo::Structuring AUTHOR117909 -Node: Texinfo::Structuring COPYRIGHT AND LICENSE118194 -Node: Texinfo::Report118774 -Node: Texinfo::Report NAME119170 -Node: Texinfo::Report SYNOPSIS119391 -Node: Texinfo::Report NOTES120010 -Node: Texinfo::Report DESCRIPTION120363 -Node: Texinfo::Report METHODS120874 -Ref: Texinfo::Report my $registrar = Texinfo::Report::new()121363 -Ref: Texinfo::Report ($error_warnings_list, $error_count) = errors($registrar)121480 -Ref: Texinfo::Report continuation121758 -Ref: Texinfo::Report error_line121840 -Ref: Texinfo::Report file_name121941 -Ref: Texinfo::Report line_nr122015 -Ref: Texinfo::Report macro122079 -Ref: Texinfo::Report text122189 -Ref: Texinfo::Report type122234 -Ref: Texinfo::Report $registrar->clear ()122305 -Ref: Texinfo::Report $registrar->add_formatted_message ($msg)122395 -Ref: Texinfo::Report $registrar->line_warn($text, $error_location_info, $continuation, $debug, $silent)122681 -Ref: Texinfo::Report $registrar->line_error($text, $error_location_info, $continuation, $debug, $silent)122766 -Ref: Texinfo::Report $registrar->document_warn($text, $program_name, $continuation)123789 -Ref: Texinfo::Report $registrar->document_error($text, $program_name, $continuation)123854 -Node: Texinfo::Report AUTHOR124132 -Node: Texinfo::Report COPYRIGHT AND LICENSE124386 -Node: Texinfo::Translations124941 -Node: Texinfo::Translations NAME125432 -Node: Texinfo::Translations SYNOPSIS125716 -Node: Texinfo::Translations NOTES126330 -Node: Texinfo::Translations DESCRIPTION126719 -Node: Texinfo::Translations METHODS127233 -Ref: Texinfo::Translations configure($localesdir, $strings_textdomain)127666 -Ref: Texinfo::Translations $tree = gdt($string, $lang, $replaced_substrings, $translation_context, $debug_level, $object, $translate_string_method)128397 -Ref: Texinfo::Translations $string = gdt_string($string, $lang, $replaced_substrings, $translation_context, $object, $translate_string_method)128514 -Ref: Texinfo::Translations $tree = pgdt($translation_context, $string, $lang, $replaced_substrings, $debug_level)131045 -Ref: Texinfo::Translations $translated_string = translate_string($string, $lang, $translation_context)131494 -Node: Texinfo::Translations SEE ALSO131940 -Node: Texinfo::Translations AUTHOR132264 -Node: Texinfo::Translations COPYRIGHT AND LICENSE132555 -Node: Texinfo::Transformations133140 -Node: Texinfo::Transformations NAME133622 -Node: Texinfo::Transformations NOTES133892 -Node: Texinfo::Transformations DESCRIPTION134295 -Node: Texinfo::Transformations METHODS135017 -Ref: Texinfo::Transformations complete_tree_nodes_menus($tree, $add_section_names_in_entries)135392 -Ref: Texinfo::Transformations complete_tree_nodes_missing_menu($document, $use_section_names_in_entries)135855 -Ref: Texinfo::Transformations fill_gaps_in_sectioning($tree, $commands_heading_tree)136307 -Ref: Texinfo::Transformations insert_nodes_for_sectioning_commands($document)137051 -Ref: Texinfo::Transformations menu_to_simple_menu($menu)137165 -Ref: Texinfo::Transformations set_menus_to_simple_menu($nodes_list)137204 -Ref: Texinfo::Transformations protect_hashchar_at_line_beginning($tree, $registrar, $customization_information)137836 -Ref: Texinfo::Transformations $modified_tree = reference_to_arg_in_tree($tree, $document)138684 -Ref: Texinfo::Transformations regenerate_master_menu($document, $use_sections)139380 -Node: Texinfo::Transformations SEE ALSO139687 -Node: Texinfo::Transformations AUTHOR140125 -Node: Texinfo::Transformations COPYRIGHT AND LICENSE140434 -Node: Texinfo::Indices141034 -Node: Texinfo::Indices NAME141477 -Node: Texinfo::Indices SYNOPSIS141713 -Node: Texinfo::Indices NOTES142649 -Node: Texinfo::Indices DESCRIPTION143010 -Node: Texinfo::Indices METHODS143862 -Ref: Texinfo::Indices $sort_string = index_entry_element_sort_string($document_info, $main_entry, $index_entry_element, $options, $prefer_reference_element)144242 -Ref: Texinfo::Indices ($text, $command) = index_entry_first_letter_text_or_command($index_entry)145438 -Ref: Texinfo::Indices $merged_indices = merge_indices($indices_information)145934 -Ref: Texinfo::Indices $option = setup_index_entry_keys_formatting($customization_information)146977 -Ref: Texinfo::Indices $index_entries_sorted = sort_indices_by_index($document, $registrar, $customization_information, $use_unicode_collation, $locale_lang)147219 -Ref: Texinfo::Indices $index_entries_sorted = sort_indices_by_letter($document, $registrar, $customization_information, $use_unicode_collation, $locale_lang)147356 -Node: Texinfo::Indices SEE ALSO150407 -Node: Texinfo::Indices AUTHOR150740 -Node: Texinfo::Indices COPYRIGHT AND LICENSE151003 -Node: Texinfo::OutputUnits151565 -Node: Texinfo::OutputUnits NAME152049 -Node: Texinfo::OutputUnits SYNOPSIS152315 -Node: Texinfo::OutputUnits NOTES153251 -Node: Texinfo::OutputUnits DESCRIPTION153636 -Node: Texinfo::OutputUnits METHODS156109 -Node: Texinfo::OutputUnits Output units creation156574 -Ref: Texinfo::OutputUnits type156890 -Ref: Texinfo::OutputUnits unit_command157033 -Ref: Texinfo::OutputUnits unit_contents157125 -Ref: Texinfo::OutputUnits tree_unit_directions157431 -Ref: Texinfo::OutputUnits $output_units = split_by_node($document)157710 -Ref: Texinfo::OutputUnits $output_units = split_by_section($document)158133 -Node: Texinfo::OutputUnits Grouping output units in pages158436 -Ref: Texinfo::OutputUnits split_pages($output_units, $split)158852 -Ref: Texinfo::OutputUnits chapter159109 -Ref: Texinfo::OutputUnits node159226 -Ref: Texinfo::OutputUnits section159289 -Ref: Texinfo::OutputUnits empty string159396 -Node: Texinfo::OutputUnits Setting output units directions159457 -Ref: Texinfo::OutputUnits units_directions($identifier_target, $output_units, $print_debug)159859 -Ref: Texinfo::OutputUnits This160535 -Ref: Texinfo::OutputUnits Forward160584 -Ref: Texinfo::OutputUnits Back160617 -Ref: Texinfo::OutputUnits NodeForward160668 -Ref: Texinfo::OutputUnits NodeBack160825 -Ref: Texinfo::OutputUnits NodeUp160877 -Ref: Texinfo::OutputUnits NodeNext160892 -Ref: Texinfo::OutputUnits NodePrev160907 -Ref: Texinfo::OutputUnits Up160971 -Ref: Texinfo::OutputUnits Next160982 -Ref: Texinfo::OutputUnits Prev160993 -Ref: Texinfo::OutputUnits FastBack161066 -Ref: Texinfo::OutputUnits FastForward161415 -Ref: Texinfo::OutputUnits units_file_directions($output_units)161496 -Node: Texinfo::OutputUnits SEE ALSO162083 -Node: Texinfo::OutputUnits AUTHOR162511 -Node: Texinfo::OutputUnits COPYRIGHT AND LICENSE162798 -Node: Texinfo::Convert::Texinfo163380 -Node: Texinfo::Convert::Texinfo NAME163880 -Node: Texinfo::Convert::Texinfo SYNOPSIS164168 -Node: Texinfo::Convert::Texinfo NOTES164542 -Node: Texinfo::Convert::Texinfo DESCRIPTION164957 -Node: Texinfo::Convert::Texinfo METHODS165618 -Ref: Texinfo::Convert::Texinfo $texinfo_text = convert_to_texinfo($tree)165933 -Node: Texinfo::Convert::Texinfo AUTHOR165991 -Node: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE166307 -Node: Texinfo::Convert::Utils166914 -Node: Texinfo::Convert::Utils NAME167440 -Node: Texinfo::Convert::Utils SYNOPSIS167726 -Node: Texinfo::Convert::Utils NOTES168253 -Node: Texinfo::Convert::Utils DESCRIPTION168656 -Node: Texinfo::Convert::Utils METHODS169167 -Ref: Texinfo::Convert::Utils $result = add_heading_number($converter, $heading_element, $heading_text, $do_number)170271 -Ref: Texinfo::Convert::Utils ($category, $class, $type, $name, $arguments) = definition_arguments_content($element)170814 -Ref: Texinfo::Convert::Utils $tree = definition_category_tree($converter, $def_line)171348 -Ref: Texinfo::Convert::Utils ($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name, $input_file_encoding)171793 -Ref: Texinfo::Convert::Utils ($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name)171884 -Ref: Texinfo::Convert::Utils $tree = expand_today($converter)172706 -Ref: Texinfo::Convert::Utils $tree = expand_verbatiminclude($converter, $verbatiminclude)172966 -Ref: Texinfo::Convert::Utils ($contents_element, \@accent_commands) = find_innermost_accent_contents($element)173442 -Ref: Texinfo::Convert::Utils $heading_element = find_root_command_next_heading_command($element, $expanded_format_raw, $do_not_ignore_contents, $do_not_ignore_index_entries)173990 -Node: Texinfo::Convert::Utils SEE ALSO174725 -Node: Texinfo::Convert::Utils AUTHOR175120 -Node: Texinfo::Convert::Utils COPYRIGHT AND LICENSE175425 -Node: Texinfo::Convert::Unicode176022 -Node: Texinfo::Convert::Unicode NAME176541 -Node: Texinfo::Convert::Unicode SYNOPSIS176827 -Node: Texinfo::Convert::Unicode NOTES177622 -Node: Texinfo::Convert::Unicode DESCRIPTION178037 -Node: Texinfo::Convert::Unicode METHODS178870 -Ref: Texinfo::Convert::Unicode $result = brace_no_arg_command($command_name, $encoding)179200 -Ref: Texinfo::Convert::Unicode $possible_conversion = check_unicode_point_conversion($arg, $output_debug)179540 -Ref: Texinfo::Convert::Unicode $result = encoded_accents($converter, $text, $stack, $encoding, $format_accent, $set_case)180100 -Ref: Texinfo::Convert::Unicode $width = string_width($string)181435 -Ref: Texinfo::Convert::Unicode $result = unicode_accent($text, $accent_command)181688 -Ref: Texinfo::Convert::Unicode $is_decoded = unicode_point_decoded_in_encoding($encoding, $unicode_point)182023 -Ref: Texinfo::Convert::Unicode $result = unicode_text($text, $in_code)182542 -Node: Texinfo::Convert::Unicode AUTHOR182752 -Node: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE183068 -Node: Texinfo::Convert::NodeNameNormalization183675 -Node: Texinfo::Convert::NodeNameNormalization NAME184319 -Node: Texinfo::Convert::NodeNameNormalization SYNOPSIS184694 -Node: Texinfo::Convert::NodeNameNormalization NOTES185354 -Node: Texinfo::Convert::NodeNameNormalization DESCRIPTION185853 -Node: Texinfo::Convert::NodeNameNormalization METHODS187097 -Ref: Texinfo::Convert::NodeNameNormalization $partially_normalized = convert_to_normalized($tree)187507 -Ref: Texinfo::Convert::NodeNameNormalization $normalized = convert_to_identifier($tree)187815 -Ref: Texinfo::Convert::NodeNameNormalization $transliterated = normalize_transliterate_texinfo($tree, $no_unidecode)188202 -Ref: Texinfo::Convert::NodeNameNormalization $transliterated = transliterate_texinfo($tree, $no_unidecode)188585 -Ref: Texinfo::Convert::NodeNameNormalization $file_name = transliterate_protect_file_name($string, $no_unidecode)188906 -Node: Texinfo::Convert::NodeNameNormalization AUTHOR189232 -Node: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE189632 -Node: Texinfo::Convert::Text190309 -Node: Texinfo::Convert::Text NAME190802 -Node: Texinfo::Convert::Text SYNOPSIS191069 -Node: Texinfo::Convert::Text NOTES191777 -Node: Texinfo::Convert::Text DESCRIPTION192174 -Node: Texinfo::Convert::Text METHODS193132 -Ref: Texinfo::Convert::Text $result = convert_to_text($tree, $text_options)193435 -Ref: Texinfo::Convert::Text enabled_encoding194119 -Ref: Texinfo::Convert::Text set_case194664 -Ref: Texinfo::Convert::Text sort_string194779 -Ref: Texinfo::Convert::Text converter194926 -Ref: Texinfo::Convert::Text expanded_formats195232 -Ref: Texinfo::Convert::Text $result_accent_text = ascii_accent_fallback($converter, $text, $accent_command)195493 -Ref: Texinfo::Convert::Text set_options_code($text_options)195930 -Ref: Texinfo::Convert::Text reset_options_code($text_options)195965 -Ref: Texinfo::Convert::Text set_options_encoding($text_options, $encoding)196320 -Ref: Texinfo::Convert::Text set_options_encoding_if_not_ascii($customization_information, $text_options)196398 -Ref: Texinfo::Convert::Text reset_options_encoding($text_options)196437 -Ref: Texinfo::Convert::Text $accents_text = text_accents($accents, $encoding, $set_case)197095 -Node: Texinfo::Convert::Text AUTHOR197559 -Node: Texinfo::Convert::Text COPYRIGHT AND LICENSE197857 -Node: Texinfo::Convert::Converter198449 -Node: Texinfo::Convert::Converter NAME199013 -Node: Texinfo::Convert::Converter SYNOPSIS199315 -Node: Texinfo::Convert::Converter NOTES200660 -Node: Texinfo::Convert::Converter DESCRIPTION201087 -Ref: Texinfo::Convert::Converter $result = $converter->convert_tree($tree)201723 -Ref: Texinfo::Convert::Converter $result = $converter->output($document)201960 -Ref: Texinfo::Convert::Converter $result = $converter->output_tree($document)202006 -Ref: Texinfo::Convert::Converter $result = $converter->convert($document)203676 -Ref: Texinfo::Convert::Converter $result = $converter->convert_output_unit($output_unit)204155 -Node: Texinfo::Convert::Converter METHODS206942 -Node: Texinfo::Convert::Converter Converter Initialization207710 -Ref: Texinfo::Convert::Converter $converter = MyConverter->converter($options)208174 -Ref: Texinfo::Convert::Converter \%defaults = $converter_or_class->converter_defaults($options)208759 -Ref: Texinfo::Convert::Converter converter_initialize209192 -Node: Texinfo::Convert::Converter Conversion209304 -Ref: Texinfo::Convert::Converter $converter->set_document($document)209971 -Ref: Texinfo::Convert::Converter $converter->conversion_initialization($document)210631 -Ref: Texinfo::Convert::Converter $converter->conversion_finalization()210670 -Ref: Texinfo::Convert::Converter $beginning = $converter->conversion_output_begin($output_file, $output_filename)211675 -Ref: Texinfo::Convert::Converter $end = $converter->conversion_output_end()211719 -Node: Texinfo::Convert::Converter Getting and setting customization variables213132 -Ref: Texinfo::Convert::Converter $converter->force_conf($variable_name, $variable_value)214211 -Ref: Texinfo::Convert::Converter $converter->get_conf($variable_name)214526 -Ref: Texinfo::Convert::Converter $status = $converter->set_conf($variable_name, $variable_value)214676 -Node: Texinfo::Convert::Converter Registering error and warning messages214859 -Ref: Texinfo::Convert::Converter $converter->converter_document_error($text, $continuation)215610 -Ref: Texinfo::Convert::Converter $converter->converter_document_warn($text, $continuation)215669 -Ref: Texinfo::Convert::Converter $converter->converter_line_error($text, $error_location_info, $continuation)215959 -Ref: Texinfo::Convert::Converter $converter->converter_line_warn($text, $error_location_info, $continuation)216036 -Ref: Texinfo::Convert::Converter \@error_warning_messages = $converter->get_converter_errors()216748 -Node: Texinfo::Convert::Converter Translations in output documents217194 -Ref: Texinfo::Convert::Converter $tree = $converter->cdt($string, $replaced_substrings, $translation_context)218038 -Ref: Texinfo::Convert::Converter $string = $converter->cdt_string($string, $replaced_substrings, $translation_context)218125 -Ref: Texinfo::Convert::Converter $tree = $object->pcdt($translation_context, $string, $replaced_substrings)219156 -Node: Texinfo::Convert::Converter Index sorting219397 -Ref: Texinfo::Convert::Converter $sorted_indices = $converter->get_converter_indices_sorted_by_index()219828 -Ref: Texinfo::Convert::Converter $sorted_indices = $converter->get_converter_indices_sorted_by_letter()219900 -Node: Texinfo::Convert::Converter Conversion to XML221320 -Ref: Texinfo::Convert::Converter $formatted_text = $converter->xml_format_text_with_numeric_entities($text)221856 -Ref: Texinfo::Convert::Converter $protected_text = $converter->xml_protect_text($text)222024 -Ref: Texinfo::Convert::Converter $comment = $converter->xml_comment($text)222129 -Ref: Texinfo::Convert::Converter $result = xml_accent($text, $accent_command, $in_upper_case, $use_numeric_entities)222256 -Ref: Texinfo::Convert::Converter $result = $converter->xml_accents($accent_command, $in_upper_case)222898 -Ref: Texinfo::Convert::Converter $result = xml_numeric_entity_accent($accent_command_name, $text)223180 -Node: Texinfo::Convert::Converter Helper methods223412 -Ref: Texinfo::Convert::Converter $contents_element = $converter->comma_index_subentries_tree($entry, $separator)224348 -Ref: Texinfo::Convert::Converter $result = $converter->convert_accents($accent_command, \&format_accents, $output_encoded_characters, $in_upper_case)224850 -Ref: Texinfo::Convert::Converter $succeeded = $converter->create_destination_directory($destination_directory_path, $destination_directory_name)225285 -Ref: Texinfo::Convert::Converter ($output_file, $destination_directory, $output_filename, $document_name, $input_basefile) = $converter->determine_files_and_directory($output_format)225763 -Ref: Texinfo::Convert::Converter ($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name, $input_file_encoding)227211 -Ref: Texinfo::Convert::Converter ($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name)227302 -Ref: Texinfo::Convert::Converter ($caption, $prepended) = $converter->float_name_caption($float)228635 -Ref: Texinfo::Convert::Converter $tree = $converter->float_type_number($float)228917 -Ref: Texinfo::Convert::Converter $end_line = $converter->format_comment_or_return_end_line($element)229144 -Ref: Texinfo::Convert::Converter $filename = sub $converter->node_information_filename($normalized, $label_element)229572 -Ref: Texinfo::Convert::Converter ($normalized_name, $filename) = $converter->normalized_sectioning_command_filename($element)229811 -Ref: Texinfo::Convert::Converter $converter->present_bug_message($message, $element)230249 -Ref: Texinfo::Convert::Converter $converter->set_global_document_commands($commands_location, $selected_commands)230450 -Ref: Texinfo::Convert::Converter before230722 -Ref: Texinfo::Convert::Converter last230832 -Ref: Texinfo::Convert::Converter preamble230897 -Ref: Texinfo::Convert::Converter preamble_or_first230988 -Ref: Texinfo::Convert::Converter $table_item_tree = $converter->table_item_content_tree($element)231766 -Ref: Texinfo::Convert::Converter $result = $converter->top_node_filename($document_name)232062 -Ref: Texinfo::Convert::Converter $result = $converter->output_internal_links()232300 -Node: Texinfo::Convert::Converter SEE ALSO232472 -Node: Texinfo::Convert::Converter AUTHOR233091 -Node: Texinfo::Convert::Converter COPYRIGHT AND LICENSE233420 -Node: Texinfo::Convert::Info234037 -Node: Texinfo::Convert::Info NAME234513 -Node: Texinfo::Convert::Info SYNOPSIS234773 -Node: Texinfo::Convert::Info NOTES235210 -Node: Texinfo::Convert::Info DESCRIPTION235607 -Node: Texinfo::Convert::Info METHODS235926 -Ref: Texinfo::Convert::Info $converter = Texinfo::Convert::Info->converter($options)236238 -Ref: Texinfo::Convert::Info $converter->output($document)236820 -Ref: Texinfo::Convert::Info $result = $converter->convert($document)236986 -Ref: Texinfo::Convert::Info $result = $converter->convert_tree($tree)237119 -Node: Texinfo::Convert::Info AUTHOR237473 -Node: Texinfo::Convert::Info COPYRIGHT AND LICENSE237771 -Node: Texinfo::Convert::HTML238363 -Node: Texinfo::Convert::HTML NAME238837 -Node: Texinfo::Convert::HTML SYNOPSIS239097 -Node: Texinfo::Convert::HTML NOTES239585 -Node: Texinfo::Convert::HTML DESCRIPTION239982 -Node: Texinfo::Convert::HTML METHODS240301 -Ref: Texinfo::Convert::HTML $converter = Texinfo::Convert::HTML->converter($options)240613 -Ref: Texinfo::Convert::HTML $converter->output($document)241195 -Ref: Texinfo::Convert::HTML $result = $converter->convert($document)241361 -Ref: Texinfo::Convert::HTML $result = $converter->convert_tree($tree)241494 -Ref: Texinfo::Convert::HTML $result = $converter->output_internal_links()241894 -Node: Texinfo::Convert::HTML AUTHOR242113 -Node: Texinfo::Convert::HTML COPYRIGHT AND LICENSE242411 -Node: Texinfo::Convert::DocBook243003 -Node: Texinfo::Convert::DocBook NAME243513 -Node: Texinfo::Convert::DocBook SYNOPSIS243794 -Node: Texinfo::Convert::DocBook NOTES244252 -Node: Texinfo::Convert::DocBook DESCRIPTION244667 -Node: Texinfo::Convert::DocBook METHODS245010 -Ref: Texinfo::Convert::DocBook $converter = Texinfo::Convert::DocBook->converter($options)245343 -Ref: Texinfo::Convert::DocBook $converter->output($document)245928 -Ref: Texinfo::Convert::DocBook $result = $converter->convert($document)246094 -Ref: Texinfo::Convert::DocBook $result = $converter->convert_tree($tree)246227 -Node: Texinfo::Convert::DocBook AUTHOR246581 -Node: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE246897 -Node: Texinfo::Convert::TexinfoMarkup247504 -Node: Texinfo::Convert::TexinfoMarkup NAME248121 -Node: Texinfo::Convert::TexinfoMarkup SYNOPSIS248459 -Node: Texinfo::Convert::TexinfoMarkup NOTES249041 -Node: Texinfo::Convert::TexinfoMarkup DESCRIPTION249492 -Node: Texinfo::Convert::TexinfoMarkup METHODS250751 -Node: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses251223 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_atom($atom)251730 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_comment($comment_string)251954 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_convert_text($element)252056 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_element($format_element, $attributes)252506 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_open_element($format_element, $attributes)252583 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_close_element($format_element, $attributes)252661 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_header()253230 -Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_protect_text($string)253352 -Node: Texinfo::Convert::TexinfoMarkup Formatting state information253587 -Ref: Texinfo::Convert::TexinfoMarkup $converter->in_monospace()254008 -Node: Texinfo::Convert::TexinfoMarkup AUTHOR254156 -Node: Texinfo::Convert::TexinfoMarkup SEE ALSO254495 -Node: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE255071 -Node: Texinfo::Convert::TexinfoXML255710 -Node: Texinfo::Convert::TexinfoXML NAME256255 -Node: Texinfo::Convert::TexinfoXML SYNOPSIS256557 -Node: Texinfo::Convert::TexinfoXML NOTES257036 -Node: Texinfo::Convert::TexinfoXML DESCRIPTION257469 -Node: Texinfo::Convert::TexinfoXML METHODS257836 -Ref: Texinfo::Convert::TexinfoXML $converter = Texinfo::Convert::TexinfoXML->converter($options)258190 -Ref: Texinfo::Convert::TexinfoXML $converter->output($document)258778 -Ref: Texinfo::Convert::TexinfoXML $result = $converter->convert($document)258944 -Ref: Texinfo::Convert::TexinfoXML $result = $converter->convert_tree($tree)259077 -Node: Texinfo::Convert::TexinfoXML AUTHOR259431 -Node: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE259765 -Node: Texinfo::Convert::Plaintext260387 -Node: Texinfo::Convert::Plaintext NAME260897 -Node: Texinfo::Convert::Plaintext SYNOPSIS261192 -Node: Texinfo::Convert::Plaintext NOTES261664 -Node: Texinfo::Convert::Plaintext DESCRIPTION262091 -Node: Texinfo::Convert::Plaintext METHODS262450 -Ref: Texinfo::Convert::Plaintext $converter = Texinfo::Convert::Plaintext->converter($options)262797 -Ref: Texinfo::Convert::Plaintext $converter->output($document)263384 -Ref: Texinfo::Convert::Plaintext $result = $converter->convert($document)263550 -Ref: Texinfo::Convert::Plaintext $result = $converter->convert_tree($tree)263683 -Node: Texinfo::Convert::Plaintext AUTHOR264037 -Node: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE264365 -Node: Index264982 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/texinfo.info b/result/sw/share/info/texinfo.info deleted file mode 100644 index c3308d57..00000000 --- a/result/sw/share/info/texinfo.info +++ /dev/null @@ -1,634 +0,0 @@ -This is texinfo.info, produced by texi2any version 7.2 from -texinfo.texi. - -This manual is for GNU Texinfo (version 7.2, 20 December 2024), a -documentation system that can produce both online information and a -printed manual from a single source using semantic markup. - - Copyright © 1988-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* Texinfo: (texinfo). The GNU documentation format. -* install-info: (texinfo)Invoking install-info. Update info/dir entries. -* texi2any: (texinfo)Invoking texi2any. Translate Texinfo source. -* makeinfo: (texinfo)Invoking texi2any. Translate Texinfo source. -* pod2texi: (pod2texi)Invoking pod2texi. Translate Perl Pod to Texinfo. -* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. -* texi2pdf: (texinfo)PDF Output. PDF output for Texinfo. -* pdftexi2dvi: (texinfo)PDF Output. PDF output for Texinfo. -* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. -END-INFO-DIR-ENTRY - - -Indirect: -texinfo.info-1: 1466 -texinfo.info-2: 302471 -texinfo.info-3: 603513 -texinfo.info-4: 915001 - -Tag Table: -(Indirect) -Node: Top1466 -Node: Copying Conditions28546 -Node: Overview30459 -Ref: Using Texinfo30611 -Node: Reporting Bugs33286 -Node: Output Formats34777 -Node: Info Files40240 -Node: Printed Books42265 -Node: Adding Output Formats43507 -Node: History46021 -Ref: Reference Implementation51223 -Node: Writing a Texinfo File52089 -Ref: Beginning and Ending a File52183 -Node: Conventions53123 -Ref: Formatting Commands53280 -Node: Comments56441 -Node: Minimum58273 -Ref: Minimum-Footnote-160093 -Node: Short Sample Texinfo File60288 -Ref: Short Sample60417 -Ref: Sample Beginning60417 -Node: Texinfo File Header61697 -Node: First Line63609 -Node: @setfilename64717 -Ref: setfilename64922 -Ref: Setting the Output File Name64922 -Node: @settitle67792 -Ref: settitle67985 -Node: Preamble69252 -Node: Start and End of Header71432 -Ref: Start of Header71610 -Ref: End of Header72209 -Node: Directory Category72723 -Node: Document Permissions73665 -Ref: Software Copying Permissions73807 -Node: @copying75100 -Ref: copying75286 -Node: @insertcopying77897 -Ref: insertcopying78089 -Node: Titlepage & Copyright Page79343 -Node: @titlepage80921 -Ref: titlepage81071 -Ref: @titlepage-Footnote-183476 -Node: @title @subtitle @author83763 -Ref: title subtitle author84000 -Node: @titlefont @center @sp86200 -Ref: titlefont center sp86432 -Node: Copyright87736 -Node: Heading Generation89669 -Ref: end titlepage89820 -Node: Contents90873 -Node: The Top Node93064 -Ref: Top Node Example93259 -Node: Master Menu Parts94311 -Node: The Body of the Document96051 -Node: Ending a File97745 -Ref: File End98164 -Node: Nodes98309 -Ref: node98431 -Ref: @node98431 -Node: Writing a Node100367 -Node: Node Names103374 -Ref: Node Line Tips103640 -Node: Node Line Requirements105804 -Ref: Info Node Names Constraints107405 -Ref: Node Line Requirements-Footnote-1109528 -Node: First Node109716 -Node: @top Command111947 -Ref: top command112129 -Ref: makeinfo top112129 -Ref: makeinfo top command112129 -Node: Texinfo Document Structure113017 -Ref: Two Paths113201 -Node: Node Menu Illustration116084 -Node: Node Descriptions120200 -Node: Menus122064 -Node: Writing a Menu123489 -Node: Menu Example125376 -Node: Menu Location126904 -Node: Menu Parts127809 -Node: Less Cluttered Menu Entry129508 -Node: Other Info Files130129 -Node: Chapter Structuring131565 -Ref: Structuring131709 -Node: Tree Structuring132602 -Node: Structuring Command Types134139 -Node: @chapter137389 -Ref: chapter137595 -Node: @unnumbered @appendix138038 -Ref: unnumbered & appendix138299 -Node: @majorheading @chapheading139460 -Ref: majorheading & chapheading139719 -Node: @section140372 -Ref: section140602 -Node: @unnumberedsec @appendixsec @heading141308 -Ref: unnumberedsec appendixsec heading141549 -Node: @subsection142813 -Ref: subsection143077 -Node: @unnumberedsubsec @appendixsubsec @subheading143265 -Ref: unnumberedsubsec appendixsubsec subheading143487 -Node: @subsubsection144385 -Ref: subsubsection144625 -Node: @part145722 -Node: Raise/lower sections148100 -Node: Cross References150288 -Node: Cross Reference Commands153120 -Node: Cross Reference Parts154278 -Ref: Reference Syntax154470 -Node: One Argument157453 -Node: Two Arguments157911 -Node: Three Arguments158649 -Node: Four and Five Arguments160924 -Node: Referring to a Manual as a Whole164301 -Ref: Top Node Naming164508 -Node: @xref166200 -Ref: xref166342 -Node: @ref166485 -Ref: ref166599 -Node: @pxref167589 -Ref: pxref167711 -Node: @anchor168717 -Ref: anchor168930 -Node: @link170749 -Node: @inforef172023 -Ref: inforef172229 -Node: @url172901 -Ref: uref173097 -Ref: url173097 -Node: @url Examples174400 -Node: URL Line Breaking176029 -Node: @url PDF Output Format177287 -Node: @cite178370 -Ref: cite178514 -Node: PDF Colors178911 -Node: Marking Text180205 -Node: Indicating180868 -Node: Useful Highlighting182356 -Node: @code184089 -Ref: code184242 -Node: @kbd187875 -Ref: kbd188027 -Node: @key189907 -Ref: key190037 -Node: @samp191344 -Ref: samp191469 -Node: @verb192882 -Ref: verb193023 -Node: @var194205 -Ref: var194363 -Ref: @var-Footnote-1196024 -Node: @env196469 -Ref: env196623 -Node: @file197009 -Ref: file197147 -Node: @command197654 -Ref: command197809 -Node: @option198407 -Ref: option198557 -Node: @dfn198882 -Ref: dfn199009 -Node: @abbr199841 -Ref: abbr200009 -Node: @acronym201290 -Ref: acronym201462 -Node: @indicateurl204102 -Ref: indicateurl204295 -Node: @email204873 -Ref: email205051 -Node: Emphasis205796 -Node: @emph @strong206635 -Ref: emph & strong206801 -Node: Smallcaps207764 -Node: Fonts209009 -Node: Quotations and Examples211707 -Node: Block Enclosing Commands213541 -Node: @quotation215947 -Ref: quotation216149 -Node: @indentedblock218361 -Node: @example219197 -Ref: example219370 -Node: @verbatim221560 -Ref: verbatim221726 -Node: @lisp223565 -Ref: lisp223743 -Node: @display224197 -Ref: display224391 -Node: @format224813 -Ref: format225019 -Node: @exdent225624 -Ref: exdent225832 -Node: @flushleft @flushright226821 -Ref: flushleft & flushright227022 -Node: @raggedright228141 -Ref: raggedright228346 -Node: @noindent229552 -Ref: noindent229742 -Node: @indent231448 -Ref: indent231630 -Node: @cartouche232629 -Ref: cartouche232811 -Node: small234296 -Node: Lists and Tables236516 -Node: Introducing Lists237198 -Node: @itemize238918 -Ref: itemize239110 -Node: @enumerate241447 -Ref: enumerate241665 -Node: Two-column Tables243962 -Node: @table244657 -Ref: table244813 -Ref: @asis245466 -Node: @ftable @vtable247681 -Ref: ftable vtable247850 -Node: @itemx248857 -Ref: itemx249035 -Node: Multi-column Tables250163 -Node: Multitable Column Widths250892 -Node: Multitable Rows252689 -Node: Special Displays255171 -Node: Floats255957 -Node: @float256854 -Ref: float257038 -Ref: fig:ex1257556 -Node: @caption @shortcaption259324 -Ref: caption shortcaption259506 -Node: @listoffloats261212 -Ref: listoffloats261411 -Node: Images263022 -Node: Image Syntax263459 -Node: Image Scaling267298 -Node: Footnotes269077 -Ref: Footnotes-Footnote-1269691 -Node: Footnote Commands269976 -Ref: Footnote Commands-Footnote-1272214 -Node: Footnote Styles272251 -Node: Indices274879 -Node: Predefined Indices276208 -Node: Indexing Commands278524 -Node: Advanced Indexing281632 -Node: Index Entries283871 -Node: Printing Indices & Menus286390 -Node: Combining Indices288823 -Node: @syncodeindex290195 -Ref: syncodeindex290402 -Node: @synindex291969 -Ref: synindex292136 -Node: New Indices292566 -Node: Insertions295004 -Node: Special Characters296093 -Ref: Braces Atsign296291 -Ref: Atsign Braces Comma296291 -Node: Inserting an Atsign297055 -Node: Inserting Braces297681 -Node: Inserting a Comma298442 -Node: Inserting a Backslash299734 -Node: Inserting a Hashsign302471 -Node: Inserting an Ampersand303753 -Ref: Inserting an Ampersand-Footnote-1305240 -Node: Inserting Quote Characters305340 -Node: Inserting Space307244 -Node: Multiple Spaces307828 -Node: Not Ending a Sentence308873 -Node: Ending a Sentence310731 -Node: @frenchspacing313354 -Ref: frenchspacing313573 -Node: @dmn314680 -Ref: dmn314855 -Node: Inserting Accents315807 -Node: Inserting Quotation Marks318606 -Node: Inserting Subscripts and Superscripts322261 -Node: Inserting Math323241 -Ref: math323494 -Node: Glyphs for Text326372 -Ref: Glyphs326532 -Ref: TeX and copyright326532 -Node: @TeX @LaTeX327471 -Ref: tex327653 -Node: @copyright328185 -Ref: copyright symbol328352 -Node: @registeredsymbol328643 -Ref: registered symbol328818 -Node: @dots328984 -Ref: dots329177 -Ref: Dots Bullets329177 -Node: @bullet330004 -Ref: bullet330141 -Node: @euro330297 -Ref: euro330476 -Node: @pounds331012 -Ref: pounds331188 -Node: @textdegree331344 -Ref: textdegree331527 -Node: @minus331668 -Ref: minus331860 -Node: @geq @leq332406 -Ref: geq leq332606 -Node: Glyphs for Programming332825 -Node: Glyphs Summary334087 -Node: @result334833 -Ref: result335045 -Node: @expansion335410 -Ref: expansion335620 -Node: @print336455 -Ref: Print Glyph336664 -Node: @error337412 -Ref: Error Glyph337627 -Node: @equiv338393 -Ref: Equivalence338588 -Node: @point339205 -Ref: Point Glyph339421 -Node: Click Sequences340845 -Node: Inserting Unicode341852 -Node: Breaks343736 -Node: Break Commands345157 -Node: Line Breaks346063 -Node: @- @hyphenation346850 -Ref: - and hyphenation347083 -Node: @allowcodebreaks348256 -Ref: allowcodebreaks348472 -Node: @w349506 -Ref: w349669 -Node: @tie350700 -Ref: tie350868 -Node: @sp351647 -Ref: sp351792 -Node: @page352041 -Ref: page352184 -Node: @group352450 -Ref: group352603 -Node: @need353517 -Ref: need353666 -Node: Definition Commands354295 -Node: Def Cmd Template355677 -Node: Def Cmd Continuation Lines358021 -Node: Optional Arguments359663 -Node: No Space After Definition Name360978 -Node: @deffnx361656 -Ref: deffnx361891 -Node: Def Cmds in Detail362536 -Node: Functions Commands363239 -Node: Typed Functions365951 -Node: Variables Commands370462 -Node: Typed Variables372383 -Node: Data Types373914 -Node: Abstract Objects375113 -Node: Object-Oriented Variables375722 -Node: Object-Oriented Methods378158 -Node: Generic Definition Commands382187 -Node: Def Cmd Conventions383940 -Node: Sample Function Definition386288 -Node: Internationalization389001 -Node: @documentlanguage389659 -Ref: documentlanguage389885 -Node: @documentencoding392826 -Ref: documentencoding393030 -Ref: @documentencoding-Footnote-1397618 -Node: Conditionals397878 -Node: Conditional Commands399257 -Node: Conditional Not Commands402191 -Node: Raw Formatter Commands403543 -Node: Inline Conditionals406340 -Node: @set @clear @value408341 -Ref: set clear value408601 -Node: @set @value409817 -Ref: set value409971 -Node: @ifset @ifclear411918 -Ref: ifset ifclear412116 -Node: @inlineifset @inlineifclear414113 -Node: @value Example414948 -Ref: value Example415107 -Node: Testing for Texinfo Commands417131 -Node: Conditional Nesting419770 -Node: Defining New Texinfo Commands420542 -Node: Defining Macros422429 -Node: Invoking Macros424875 -Node: Macro Details428599 -Node: @alias435509 -Ref: alias435683 -Node: Line Macros437289 -Node: @definfoenclose440043 -Ref: definfoenclose440280 -Node: External Macro Processors442582 -Node: #line Directive443895 -Node: #line and TeX445407 -Node: #line Syntax Details446801 -Node: Include Files448099 -Node: Using Include Files448834 -Node: Sample Include File450342 -Node: @verbatiminclude451343 -Ref: verbatiminclude451551 -Node: Hardcopy with TeX452553 -Ref: Hardcopy452742 -Ref: Printing452742 -Ref: Within Emacs453353 -Ref: Emacs Shell Printing453353 -Node: Use TeX454373 -Ref: Obtaining TeX454786 -Node: Format with texi2dvi or texi2pdf455080 -Ref: PDF Output455309 -Ref: Format with texi2dvi455309 -Ref: Format with texi2dvi or texi2pdf-Footnote-1461071 -Node: Format with tex/texindex461224 -Ref: Names of index files462263 -Node: Formatting Partial Documents465034 -Node: Details of texindex466172 -Node: Preparing for TeX467445 -Node: Overfull hboxes470382 -Node: Printing Japanese and Chinese472550 -Node: Generic Translator texi2any474095 -Node: Invoking texi2any475855 -Ref: Invoking makeinfo476057 -Ref: makeinfo Options476497 -Ref: texi2any Options476497 -Ref: Pointer Validation486106 -Ref: Splitting Output490944 -Node: texi2any Environment Variables493232 -Node: texi2any Printed Output495713 -Node: Customization Variables497981 -Node: Customization Variables for @-Commands500053 -Node: Customization Variables and Options501926 -Node: Global Customization Variables506013 -Node: Info and Plaintext Customization Variables519832 -Node: LaTeX Customization Variables523431 -Node: Other Formats Customization Variables525616 -Node: Customization Variables for Multiple Formats526709 -Ref: Other Customization Variables526965 -Ref: NO_TOP_NODE_OUTPUT528037 -Ref: TOP_NODE_UP530276 -Node: Internationalization of Document Strings531412 -Node: Invoking pod2texi534655 -Node: pod2texi manual page535767 -Ref: pod2texi535875 -Ref: pod2texi NAME535904 -Ref: pod2texi SYNOPSIS535976 -Ref: pod2texi DESCRIPTION536050 -Ref: pod2texi OPTIONS536430 -Ref: pod2texi *--appendix-sections*536452 -Ref: pod2texi *--base-level*=_NUM|NAME_536653 -Ref: pod2texi *--debug*=_NUM_537603 -Ref: pod2texi *--generate-setfilename*537665 -Ref: pod2texi *--headings-as-sections*537861 -Ref: pod2texi *--help*538162 -Ref: pod2texi *--menus*538202 -Ref: pod2texi *--outdir*=_NAME_538409 -Ref: pod2texi *--output*=_NAME_538630 -Ref: pod2texi *--no-section-nodes*538777 -Ref: pod2texi *--no-fill-section-gaps*538852 -Ref: pod2texi *--preamble*=_STR_539010 -Ref: pod2texi *--setfilename*=_STR_539266 -Ref: pod2texi *--subdir*=_NAME_539554 -Ref: pod2texi *--unnumbered-sections*539882 -Ref: pod2texi *--top*=_TOP_540075 -Ref: pod2texi *--version*540178 -Ref: pod2texi SEE ALSO540260 -Ref: pod2texi COPYRIGHT AND LICENSE540540 -Ref: pod2texi AUTHOR540927 -Node: texi2html540965 -Node: Creating and Installing Info Files543958 -Ref: Creating an Info File544170 -Node: Installing an Info File544647 -Node: Directory File545479 -Node: New Info File547440 -Ref: New Info File-Footnote-1548592 -Node: Other Info Directories548678 -Node: Installing Dir Entries551893 -Node: Invoking install-info554659 -Node: Tag and Split Files561688 -Node: Info Format FAQ564870 -Node: Generating HTML569576 -Node: HTML Translation571379 -Node: HTML Splitting573517 -Node: HTML CSS575825 -Node: @documentdescription580102 -Ref: documentdescription580305 -Node: Generating EPUB580862 -Node: EPUB Output File and Directory582172 -Node: EPUB Cross-References583997 -Node: EPUB Conformance584735 -Node: EPUB HTML585672 -Node: Syntax Highlighting586961 -Node: HTML Xref588148 -Node: HTML Xref Link Basics589357 -Node: HTML Xref Node Name Expansion593289 -Node: HTML Xref Command Expansion596266 -Node: HTML Xref 8-bit Character Expansion599589 -Node: HTML Xref Configuration603513 -Ref: HTML Xref Mismatch603748 -Node: HTML Output Customization609570 -Node: HTML Output Structure Customization611126 -Node: File Names and Links Customization for HTML617055 -Ref: HTML Xref Configuration Customization622477 -Node: Customization of Navigation and Headers625311 -Node: HTML Features Customization628095 -Node: Customization of Inserted HTML Code630294 -Node: HTML Customization of Specific Output632724 -Node: HTML Customization for Math634884 -Ref: MathJax scripts636351 -Node: MathJax Customization Variables637975 -Node: latex2html Customization Variables640261 -Node: tex4ht Customization Variables642039 -Node: JavaScript Interface and Licenses643287 -Ref: JavaScript license web labels644033 -Node: HTML Customization Variables List644962 -Ref: HTML Customization Variables645183 -Node: @-Command Details661929 -Node: Command Syntax662312 -Node: Command List665772 -Node: Command Contexts713540 -Node: Obsolete @-Commands715493 -Node: Tips716687 -Ref: texi-elements-by-size726568 -Node: Sample Texinfo Files728421 -Node: GNU Sample Texts728733 -Node: Verbatim Copying License732816 -Node: All-permissive Copying License733920 -Node: Texinfo Mode734963 -Node: Texinfo Mode Overview736217 -Node: Emacs Editing737008 -Node: Inserting738893 -Node: Showing the Structure743983 -Node: Using texinfo-show-structure746546 -Node: Using occur749746 -Node: Updating Nodes and Menus751328 -Node: Updating Commands752982 -Node: Updating Requirements759448 -Node: Update Multiple Files761333 -Ref: texinfo-multiple-files-update761566 -Node: Include Files Requirements764117 -Node: Other Updating Commands765411 -Node: Info Formatting768150 -Node: texi2any in Emacs768650 -Ref: makeinfo in Emacs768859 -Ref: makeinfo Advantages768859 -Node: texinfo-format commands771470 -Node: Printing with Emacs772941 -Node: Texinfo Mode Printing773468 -Node: Compile-Command778892 -Node: Texinfo Mode Summary779774 -Node: Formatting Info files784690 -Node: Tagifying786032 -Node: Splitting786932 -Node: Catching Mistakes788286 -Node: texi2any Preferred789365 -Ref: makeinfo Preferred789527 -Node: Debugging with Info790170 -Node: Debugging with TeX793602 -Node: Running Info-validate797913 -Ref: Running Info-Validate798093 -Node: Using Info-validate799407 -Node: Unsplit and Tagify801323 -Ref: Unsplit801543 -Node: Batch Formatting803155 -Node: Global Document Commands804332 -Node: @setchapternewpage805421 -Ref: setchapternewpage805631 -Node: Headings808339 -Ref: Headings Introduced808498 -Node: @headings809845 -Ref: headings on off809988 -Node: Heading Format811354 -Node: Custom Headings813424 -Node: @paragraphindent819151 -Ref: paragraphindent819397 -Node: @firstparagraphindent820337 -Ref: firstparagraphindent820581 -Node: @exampleindent821639 -Ref: exampleindent821857 -Node: @smallbook822847 -Ref: smallbook823046 -Node: A4 Paper823840 -Node: @pagesizes824596 -Ref: pagesizes824822 -Node: Microtypography825718 -Node: Magnification827002 -Ref: Cropmarks and Magnification827140 -Node: Info Format Specification828252 -Node: Info Format Whole Manual830335 -Node: Info Format Preamble831555 -Node: Info Format Indirect Table832530 -Node: Info Format Tag Table834099 -Node: Info Format Local Variables835721 -Node: Info Format Regular Nodes836527 -Node: Info Format Menu838599 -Node: Info Format Image839542 -Node: Info Format Printindex840817 -Node: Info Format Cross Reference842284 -Node: GNU Free Documentation License844955 -Node: Command Index870128 -Node: Variables Index915001 -Node: General Index947762 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/texinfo.info-1 b/result/sw/share/info/texinfo.info-1 deleted file mode 100644 index 2d1055a0..00000000 --- a/result/sw/share/info/texinfo.info-1 +++ /dev/null @@ -1,7466 +0,0 @@ -This is texinfo.info, produced by texi2any version 7.2 from -texinfo.texi. - -This manual is for GNU Texinfo (version 7.2, 20 December 2024), a -documentation system that can produce both online information and a -printed manual from a single source using semantic markup. - - Copyright © 1988-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* Texinfo: (texinfo). The GNU documentation format. -* install-info: (texinfo)Invoking install-info. Update info/dir entries. -* texi2any: (texinfo)Invoking texi2any. Translate Texinfo source. -* makeinfo: (texinfo)Invoking texi2any. Translate Texinfo source. -* pod2texi: (pod2texi)Invoking pod2texi. Translate Perl Pod to Texinfo. -* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. -* texi2pdf: (texinfo)PDF Output. PDF output for Texinfo. -* pdftexi2dvi: (texinfo)PDF Output. PDF output for Texinfo. -* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. -END-INFO-DIR-ENTRY - - -File: texinfo.info, Node: Top, Next: Copying Conditions, Up: (dir) - -Texinfo -******* - -This manual is for GNU Texinfo (version 7.2, 20 December 2024), a -documentation system that can produce both online information and a -printed manual from a single source using semantic markup. - - The first part of this master menu lists the major nodes in this Info -document, including the @-command and concept indices. The rest of the -menu lists all the lower-level nodes in the document. - -* Menu: - -* Copying Conditions:: Your rights. -* Overview:: Texinfo in brief. -* Writing a Texinfo File:: Format of a Texinfo source file. -* Nodes:: Writing nodes, the basic unit of Texinfo. -* Chapter Structuring:: Creating chapters, sections, appendices, etc. -* Cross References:: Writing cross-references. -* Marking Text:: Marking words and phrases as code, keyboard - input, meta-syntactic variables, and the like. -* Quotations and Examples:: Block quotations, examples, etc. -* Lists and Tables:: Itemized or numbered lists, and tables. -* Special Displays:: Floating figures and footnotes. -* Indices:: Creating indices. -* Insertions:: Inserting @-signs, braces, etc. -* Breaks:: Forcing or preventing line and page breaks. -* Definition Commands:: Describing functions and the like uniformly. -* Internationalization:: Supporting languages other than English. -* Conditionals:: Specifying text for only some output cases. -* Defining New Texinfo Commands:: User-defined macros and aliases. -* Include Files:: How to incorporate other Texinfo files. -* Hardcopy with TeX:: Output for paper, with TeX. -* Generic Translator texi2any:: ‘texi2any’, an all-purpose converter. -* Creating and Installing Info Files:: Details on Info output. -* Generating HTML:: Details on HTML output. - -Appendices - -* @-Command Details:: Details of the Texinfo @-commands. -* Tips:: Hints on how to write a Texinfo document. -* Sample Texinfo Files:: Complete examples, including full texts. -* Texinfo Mode:: Using the GNU Emacs Texinfo mode. -* Global Document Commands:: Affecting formatting throughout. -* Info Format Specification:: Technical details of the Info file format. -* GNU Free Documentation License:: Copying this manual. -* Command Index:: -* Variables Index:: -* General Index:: A menu covering many topics. - - -- The Detailed Node Listing -- - -Overview of Texinfo - -* Reporting Bugs:: Submitting effective bug reports. -* Output Formats:: Overview of the supported output formats. -* Info Files:: What is an Info file? -* Printed Books:: Characteristics of a printed book or manual. -* Adding Output Formats:: Man pages and implementing new formats. -* History:: Acknowledgements, contributors and genesis. - -Writing a Texinfo File - -* Conventions:: General rules for writing a Texinfo file. -* Comments:: Writing comments and ignored text in general. -* Minimum:: What a Texinfo file must have. -* Short Sample Texinfo File:: A short sample Texinfo file. -* Texinfo File Header:: The first lines. -* Directory Category:: A category for a manual. -* Document Permissions:: Ensuring your manual is free. -* Titlepage & Copyright Page:: Creating the title and copyright pages. -* Contents:: How to create a table of contents. -* The Top Node:: Creating the 'Top' node and master menu. -* The Body of the Document:: The rest of the nodes. -* Ending a File:: What is at the end of a Texinfo file? - -Texinfo File Header - -* First Line:: The first line of a Texinfo file. -* @setfilename:: Give the name of the output file. -* @settitle:: Create a title for the printed work. -* Preamble:: Start of the Texinfo file up to first content. -* Start and End of Header:: Formatting a region in Emacs requires this. - -Document Permissions - -* @copying:: Declare the document's copying permissions. -* @insertcopying:: Where to insert the permissions. - -Title and Copyright Pages - -* @titlepage:: Create a title for the printed document. -* @title @subtitle @author:: The ‘@title’, ‘@subtitle’, and ‘@author’ - commands. -* @titlefont @center @sp:: The ‘@titlefont’, ‘@center’, and ‘@sp’ commands. -* Copyright:: How to write the copyright notice and include - copying permissions. -* Heading Generation:: Turn on page headings after the title and - copyright pages. - -The 'Top' Node and Master Menu - -* Master Menu Parts:: - -Nodes - -* Writing a Node:: How to write a ‘@node’ line. -* Node Names:: How to choose node names. -* Node Line Requirements:: Keep names unique. -* First Node:: How to write a 'Top' node. -* @top Command:: How to use the ‘@top’ command. -* Texinfo Document Structure:: Double structure of documents. -* Node Menu Illustration:: A diagram, and sample nodes and menus. -* Node Descriptions:: ‘@nodedescription’ and ‘@nodedescriptionblock’. -* Menus:: Listing subordinate nodes. - -Menus - -* Writing a Menu:: What is a menu? -* Menu Example:: Two and three part menu entries. -* Menu Location:: Menus go at the ends of nodes. -* Menu Parts:: A menu entry has three parts. -* Less Cluttered Menu Entry:: Two part menu entry. -* Other Info Files:: How to refer to a different Info file. - -Chapter Structuring - -* Tree Structuring:: A manual is like an upside down tree ... -* Structuring Command Types:: -* @chapter:: -* @unnumbered @appendix:: -* @majorheading @chapheading:: -* @section:: -* @unnumberedsec @appendixsec @heading:: -* @subsection:: -* @unnumberedsubsec @appendixsubsec @subheading:: -* @subsubsection:: -* @part:: Collections of chapters. -* Raise/lower sections:: How to change commands' hierarchical level. - -Cross-references - -* Cross Reference Commands:: A summary of the different commands. -* Cross Reference Parts:: A cross-reference has several parts. -* One Argument:: ‘@xref’ with one argument. -* Two Arguments:: ‘@xref’ with two arguments. -* Three Arguments:: ‘@xref’ with three arguments. -* Four and Five Arguments:: ‘@xref’ with four and five arguments. -* Referring to a Manual as a Whole:: Refer to an entire manual. -* @xref:: Begin a reference with 'See' ... -* @ref:: A reference for the last part of a sentence. -* @pxref:: How to write a parenthetical cross-reference. -* @anchor:: Defining arbitrary cross-reference targets -* @link:: How to make a plain link. -* @inforef:: How to refer to an Info-only file. -* @url:: How to refer to a uniform resource locator. -* @cite:: How to refer to books not in the Info system. -* PDF Colors:: Colorizing URLs and other links in PDF output. - -‘@url’, ‘@uref{URL[, TEXT][, REPLACEMENT]}’ - -* @url Examples:: Examples of using all the forms of ‘@url’. -* URL Line Breaking:: How lines are broken within ‘@url’ text. -* @url PDF Output Format:: A special option to hide links in PDF output. - -Marking Text, Words and Phrases - -* Indicating:: How to indicate definitions, files, etc. -* Emphasis:: How to emphasize text. - -Indicating Definitions, Commands, etc. - -* Useful Highlighting:: Highlighting provides useful information. -* @code:: Indicating program code. -* @kbd:: Showing keyboard input. -* @key:: Specifying keys. -* @samp:: Indicating a literal sequence of characters. -* @verb:: Indicating a verbatim sequence of characters. -* @var:: Indicating metasyntactic variables. -* @env:: Indicating environment variables. -* @file:: Indicating file names. -* @command:: Indicating command names. -* @option:: Indicating option names. -* @dfn:: Specifying definitions. -* @abbr:: Indicating abbreviations. -* @acronym:: Indicating acronyms. -* @indicateurl:: Indicating an example URL. -* @email:: Indicating an electronic mail address. - -Emphasizing Text - -* @emph @strong:: How to emphasize text in Texinfo. -* Smallcaps:: How to use the small caps font. -* Fonts:: Various font commands for printed output. - -Quotations and Examples - -* Block Enclosing Commands:: Different constructs for different purposes. -* @quotation:: Writing a quotation. -* @indentedblock:: Block of text indented on left. -* @example:: Writing an example in a fixed-width font. -* @verbatim:: Writing a verbatim example. -* @lisp:: Illustrating Lisp code. -* @display:: Writing an example in the current font. -* @format:: Writing an example without narrowed margins. -* @exdent:: Undo indentation on a line. -* @flushleft @flushright:: Pushing text flush left or flush right. -* @raggedright:: Avoiding justification on the right. -* @noindent:: Preventing paragraph indentation. -* @indent:: Forcing paragraph indentation. -* @cartouche:: Drawing rounded rectangles around text. -* small:: Examples in a smaller font. - -Lists and Tables - -* Introducing Lists:: Texinfo formats lists for you. -* @itemize:: How to construct a simple list. -* @enumerate:: How to construct a numbered list. -* Two-column Tables:: How to construct a two-column table. -* Multi-column Tables:: How to construct generalized tables. - -Making a Two-column Table - -* @table:: How to construct a two-column table. -* @ftable @vtable:: Automatic indexing for two-column tables. -* @itemx:: How to put more entries in the first column. - -‘@multitable’: Multi-column Tables - -* Multitable Column Widths:: Defining multitable column widths. -* Multitable Rows:: Defining multitable rows, with examples. - -Special Displays - -* Floats:: Figures, tables, and the like. -* Images:: Including graphics and images. -* Footnotes:: Writing footnotes. - -Floats - -* @float:: Producing floating material. -* @caption @shortcaption:: Specifying descriptions for floats. -* @listoffloats:: A table of contents for floats. - -Inserting Images - -* Image Syntax:: -* Image Scaling:: - -Footnotes - -* Footnote Commands:: How to write a footnote in Texinfo. -* Footnote Styles:: Controlling how footnotes appear. - -Indices - -* Predefined Indices:: Use different indices for different kinds of - entries. -* Indexing Commands:: How to make an index entry. -* Advanced Indexing:: Advanced indexing commands. -* Index Entries:: Choose different words for index entries. -* Printing Indices & Menus:: How to print an index in hardcopy and generate - index menus in Info. -* Combining Indices:: How to combine indices. -* New Indices:: How to define your own indices. - -Combining Indices - -* @syncodeindex:: How to merge two indices, using ‘@code’ font for - the merged-from index. -* @synindex:: How to merge two indices, using the roman font - for the merged-from index. - -Special Insertions - -* Special Characters:: Inserting @ {} , \ # & -* Inserting Quote Characters:: Inserting left and right quotes, in code. -* Inserting Space:: Inserting the right amount of whitespace. -* Inserting Accents:: Inserting accents and special characters. -* Inserting Quotation Marks:: Inserting quotation marks. -* Inserting Subscripts and Superscripts:: Inserting sub/superscripts. -* Inserting Math:: Formatting mathematical expressions. -* Glyphs for Text:: Inserting dots, bullets, currencies, etc. -* Glyphs for Programming:: Indicating results of evaluation, expansion of - macros, errors, etc. -* Inserting Unicode:: Inserting a Unicode character by code point. - -Special Characters: Inserting @ {} , \ # & - -* Inserting an Atsign:: ‘@@’, ‘@atchar{}’. -* Inserting Braces:: ‘@{ @}’, ‘@l rbracechar{}’. -* Inserting a Comma:: , and ‘@comma{}’. -* Inserting a Backslash:: \ and ‘@backslashchar{}’. -* Inserting a Hashsign:: # and ‘@hashchar{}’. -* Inserting an Ampersand:: & and ‘@ampchar{}’. - -Inserting Space - -* Multiple Spaces:: Inserting multiple spaces. -* Not Ending a Sentence:: Sometimes a . doesn't end a sentence. -* Ending a Sentence:: Sometimes it does. -* @frenchspacing:: Specifying end-of-sentence spacing. -* @dmn:: Formatting a dimension. - -Glyphs for Text - -* @TeX @LaTeX:: The TeX logos. -* @copyright:: The copyright symbol (c in a circle). -* @registeredsymbol:: The registered symbol (R in a circle). -* @dots:: How to insert ellipses: ... and ... -* @bullet:: How to insert a bullet: • -* @euro:: How to insert the euro currency symbol. -* @pounds:: How to insert the pounds currency symbol. -* @textdegree:: How to insert the degrees symbol. -* @minus:: How to insert a minus sign. -* @geq @leq:: How to insert greater/less-than-or-equal signs. - -Glyphs for Programming - -* Glyphs Summary:: List of the glyph commands. -* @result:: How to show the result of expression. -* @expansion:: How to indicate an expansion. -* @print:: How to indicate generated output. -* @error:: How to indicate an error message. -* @equiv:: How to indicate equivalence. -* @point:: How to indicate the location of point. -* Click Sequences:: Inserting GUI usage sequences. - -Forcing and Preventing Breaks - -* Break Commands:: Summary of break-related commands. -* Line Breaks:: Forcing line breaks. -* @- @hyphenation:: Helping TeX with hyphenation points. -* @allowcodebreaks:: Controlling line breaks within @code text. -* @w:: Preventing unwanted line breaks in text. -* @tie:: Inserting an unbreakable but varying space. -* @sp:: Inserting blank lines. -* @page:: Forcing the start of a new page. -* @group:: Preventing unwanted page breaks. -* @need:: Another way to prevent unwanted page breaks. - -Definition Commands - -* Def Cmd Template:: Writing descriptions using definition commands. -* Def Cmd Continuation Lines:: Continuing the heading over source lines. -* Optional Arguments:: Handling optional and repeated arguments. -* No Space After Definition Name:: How to omit space after name. -* @deffnx:: Group two or more 'first' lines. -* Def Cmds in Detail:: Reference for all the definition commands. -* Generic Definition Commands:: Without automatic index entries. -* Def Cmd Conventions:: Conventions for writing definitions. -* Sample Function Definition:: An example. - -The Definition Commands - -* Functions Commands:: Commands for functions and similar entities. -* Typed Functions:: Commands for functions in typed languages. -* Variables Commands:: Commands for variables and similar entities. -* Typed Variables:: Commands for variables in typed languages. -* Data Types:: The definition command for data types. -* Abstract Objects:: Commands for object-oriented programming. - -Object-Oriented Programming - -* Variables: Object-Oriented Variables. -* Methods: Object-Oriented Methods. - -Internationalization - -* @documentlanguage:: Declaring the current language. -* @documentencoding:: Declaring the input encoding. - -Conditionally Visible Text - -* Conditional Commands:: Text for a given format. -* Conditional Not Commands:: Text for any format other than a given one. -* Raw Formatter Commands:: Using raw formatter commands. -* Inline Conditionals:: Brace-delimited conditional text. -* @set @clear @value:: Variable tests and substitutions. -* Testing for Texinfo Commands:: Testing if a Texinfo command is available. -* Conditional Nesting:: Using conditionals inside conditionals. - -Flags: ‘@set’, ‘@clear’, conditionals, and ‘@value’ - -* @set @value:: Expand a flag variable to a string. -* @ifset @ifclear:: Format a region if a flag is set. -* @inlineifset @inlineifclear:: Brace-delimited flag conditionals. -* @value Example:: An easy way to update edition information. - -Defining New Texinfo Commands - -* Defining Macros:: Defining and undefining new commands. -* Invoking Macros:: Using a macro, once you've defined it. -* Macro Details:: Limitations of Texinfo macros. -* @alias:: Command aliases. -* Line Macros:: Macros using whole line for arguments. -* @definfoenclose:: Customized highlighting. -* External Macro Processors:: ‘#line’ directives. - -External Macro Processors: Line Directives - -* #line Directive:: -* #line and TeX:: -* #line Syntax Details:: - -Include Files - -* Using Include Files:: How to use the ‘@include’ command. -* Sample Include File:: A sample outer file with included files within - it; and a sample included file. -* @verbatiminclude:: Including a file verbatim. - -Formatting and Printing with TeX - -* Use TeX:: Use TeX to format for hardcopy. -* Format with texi2dvi or texi2pdf:: The simplest way to format. -* Format with tex/texindex:: Formatting with explicit shell commands. -* Preparing for TeX:: What to do before you use TeX. -* Overfull hboxes:: What are and what to do with overfull hboxes. -* Printing Japanese and Chinese:: XeTeX or LuaTeX required. - -Format with ‘tex’/‘texindex’ - -* Formatting Partial Documents:: -* Details of texindex:: - -‘texi2any’: The Translator for Texinfo - -* Invoking texi2any:: Running the translator from a shell. -* texi2any Environment Variables:: Control over output format and XS use. -* texi2any Printed Output:: Calling ‘texi2dvi’. -* Customization Variables:: Configuring ‘texi2any’. -* Internationalization of Document Strings:: Translating program-inserted - text. -* Invoking pod2texi:: Translating Perl Pod to Texinfo. -* texi2html:: An ancestor of ‘texi2any’. - -Customization Variables - -* Commands: Customization Variables for @-Commands. -* Options: Customization Variables and Options. -* Global: Global Customization Variables. -* Info: Info and Plaintext Customization Variables. -* LaTeX: LaTeX Customization Variables. -* Other: Other Formats Customization Variables. -* Formats: Customization Variables for Multiple Formats. - -Invoking ‘pod2texi’: Convert Pod to Texinfo - -* pod2texi manual page:: ‘pod2texi’ invocation in a manual page format. - -Creating and Installing Info Files - -* Installing an Info File:: -* Tag and Split Files:: -* Info Format FAQ:: - -Installing an Info File - -* Directory File:: The top-level menu for all Info files. -* New Info File:: Listing a new Info file. -* Other Info Directories:: How to specify Info files that are located in - other directories. -* Installing Dir Entries:: How to specify what menu entry to add to the - Info directory. -* Invoking install-info:: ‘install-info’ options. - -Generating HTML - -* HTML Translation:: Details of the HTML output. -* HTML Splitting:: How HTML output is split. -* HTML CSS:: Influencing HTML output with Cascading Style - Sheets. -* @documentdescription:: Document summary for the HTML output. -* Generating EPUB:: Details on the EPUB output. -* Syntax Highlighting:: Use syntax highlighting in code excerpts. -* HTML Xref:: Standard algorithm for interoperability. -* HTML Output Customization:: Using customization variables. - -Generating EPUB - -* EPUB Output File and Directory:: -* EPUB Cross-References:: No cross-references in EPUB output. -* EPUB Conformance:: -* EPUB HTML:: Variables set internally. - -HTML Cross-references - -* Link Basics: HTML Xref Link Basics. -* Node Expansion: HTML Xref Node Name Expansion. -* Command Expansion: HTML Xref Command Expansion. -* 8-bit Expansion: HTML Xref 8-bit Character Expansion. -* Configuration: HTML Xref Configuration. ‘htmlxref.cnf’. - -HTML Output Customization - -* HTML Output Structure Customization:: -* File Names and Links Customization for HTML:: -* Customization of Navigation and Headers:: -* HTML Features Customization:: -* Customization of Inserted HTML Code:: -* HTML Customization of Specific Output:: -* HTML Customization for Math:: -* JavaScript Interface and Licenses:: -* HTML Customization Variables List:: - -HTML Customization for Math - -* MathJax Customization Variables:: -* latex2html Customization Variables:: -* tex4ht Customization Variables:: - -@-Command Details - -* Command Syntax:: -* Command List:: -* Command Contexts:: -* Obsolete @-Commands:: - -Sample Texinfo Files - -* GNU Sample Texts:: -* Verbatim Copying License:: -* All-permissive Copying License:: - -Using Texinfo Mode - -* Texinfo Mode Overview:: How Texinfo mode can help you. -* Emacs Editing:: Texinfo mode adds to GNU Emacs' general purpose - editing features. -* Inserting:: How to insert frequently used @-commands. -* Showing the Structure:: How to show the structure of a file. -* Updating Nodes and Menus:: How to update or create new nodes and menus. -* Info Formatting:: How to format for Info. -* Printing with Emacs:: How to format with TeX and print with Emacs. -* Texinfo Mode Summary:: Summary of all the Texinfo mode commands. -* Formatting Info files:: Processing directly Info files. -* Catching Mistakes:: How to find mistakes in formatting. -* Batch Formatting:: How to format for Info in Emacs batch mode. - -Showing the Sectioning Structure of a File - -* Using texinfo-show-structure:: How to use ‘texinfo-show-structure’. -* Using occur:: How to list all lines containing a pattern. - -Updating Nodes and Menus - -* Updating Commands:: Five major updating commands. -* Updating Requirements:: How to structure a Texinfo file for using the - updating command. -* Update Multiple Files:: How to create and update nodes and menus when - using included files. -* Include Files Requirements:: How to structure outer file and include files - for the updating command. -* Other Updating Commands:: How to indent descriptions, insert missing nodes - lines, and update nodes in sequence. - -Formatting for Info - -* texi2any in Emacs:: How to run ‘texi2any’ from Emacs. -* texinfo-format commands:: Two Info formatting commands written in Emacs - Lisp are an alternative to ‘texi2any’. - -Formatting and Printing with Emacs - -* Texinfo Mode Printing:: How to format and print part or all of a file. -* Compile-Command:: How to print using Emacs's compile command. - -Direct Formatting of Info files - -* Tagifying:: How to tagify a file. -* Splitting:: How to split a file manually. - -Catching Mistakes - -* texi2any Preferred:: ‘texi2any’ finds errors. -* Debugging with Info:: How to catch errors with Info formatting. -* Debugging with TeX:: How to catch errors with TeX formatting. -* Running Info-validate:: How to find badly referenced nodes. - -Finding Badly Referenced Nodes - -* Using Info-validate:: How to run ‘Info-validate’. -* Unsplit and Tagify:: How to create an unsplit file and add a tag - table for validation. - -Global Document Commands - -* @setchapternewpage:: Start chapters on right-hand pages. -* Headings:: Page headings. -* @paragraphindent:: Specify paragraph indentation. -* @firstparagraphindent:: Suppressing first paragraph indentation. -* @exampleindent:: Specify environment indentation. -* @smallbook:: How to print small format books and manuals. -* A4 Paper:: How to print on A4, A5 or B6 paper. -* @pagesizes:: How to print with customized page sizes. -* Microtypography:: Improving the appearance of paragraphs. -* Magnification:: How to print scaled up output. - -Page Headings - -* @headings:: An option for turning headings on and off and - double or single sided printing. -* Heading Format:: Standard page heading formats. -* Custom Headings:: How to create your own headings and footings. - -Info Format Specification - -* Whole: Info Format Whole Manual. Split vs. nonsplit manuals. -* Preamble: Info Format Preamble. -* Indirect: Info Format Indirect Table. -* Tag table: Info Format Tag Table. -* Local variables: Info Format Local Variables. -* Regular nodes: Info Format Regular Nodes. -* Menu: Info Format Menu. -* Image: Info Format Image. -* Printindex: Info Format Printindex. -* Cross-Reference: Info Format Cross Reference. - - -File: texinfo.info, Node: Copying Conditions, Next: Overview, Prev: Top, Up: Top - -Texinfo Copying Conditions -************************** - -GNU Texinfo is “free software”; this means that everyone is free to use -it and free to redistribute it on certain conditions. Texinfo is not in -the public domain; it is copyrighted and there are restrictions on its -distribution, but these restrictions are designed to permit everything -that a good cooperating citizen would want to do. What is not allowed -is to try to prevent others from further sharing any version of Texinfo -that they might get from you. - - Specifically, we want to make sure that you have the right to give -away copies of the programs that relate to Texinfo, that you receive -source code or else can get it if you want it, that you can change these -programs or use pieces of them in new free programs, and that you know -you can do these things. - - To make sure that everyone has such rights, we have to forbid you to -deprive anyone else of these rights. For example, if you distribute -copies of the Texinfo related programs, you must give the recipients all -the rights that you have. You must make sure that they, too, receive or -can get the source code. And you must tell them their rights. - - Also, for our own protection, we must make certain that everyone -finds out that there is no warranty for the programs that relate to -Texinfo. If these programs are modified by someone else and passed on, -we want their recipients to know that what they have is not what we -distributed, so that any problems introduced by others will not reflect -on our reputation. - - The precise conditions of the licenses for the programs currently -being distributed that relate to Texinfo are found in the General Public -Licenses that accompany them. This manual is covered by the GNU Free -Documentation License (*note GNU Free Documentation License::). - - -File: texinfo.info, Node: Overview, Next: Writing a Texinfo File, Prev: Copying Conditions, Up: Top - -1 Overview of Texinfo -********************* - -“Texinfo” is a documentation system that uses a single source file to -produce both online information and printed output. This means that -instead of writing several different documents, one for each output -format, you need only write one document. - - Using Texinfo, you can create a printed document (via the TeX -typesetting system) in PDF format, including chapters, sections, -cross-references, and indices. From the same Texinfo source file, you -can create HTML output suitable for use with a web browser, you can -create an Info file for use in GNU Emacs or other Info-reading programs, -and also create DocBook, EPUB 3, or LaTeX files. - - A Texinfo source file is a plain text file containing text -interspersed with “@-commands” (words preceded by an ‘@’) that tell the -Texinfo processors what to do. Texinfo's markup commands are almost -entirely “semantic”; that is, they specify the intended meaning of text -in the document, rather than physical formatting instructions. - - GNU Emacs has a special mode, called Texinfo mode, that provides -various Texinfo-related features. (*Note Texinfo Mode::.) - - Texinfo was devised specifically for the purpose of writing software -documentation and manuals. If you want to write a good manual for your -program, Texinfo has many features which we hope will make your job -easier. However, Texinfo is not intended to be a general-purpose -formatting program. It provides almost no commands for controlling the -final formatting, so may be inappropriate for your needs if you want to -lay out a newspaper, devise a glossy magazine ad, or follow the exact -formatting requirements of a publishing house. - - Spell "Texinfo" with a capital "T" and the other letters in -lowercase. The first syllable of "Texinfo" is pronounced like "speck", -not "hex". This odd pronunciation is derived from the pronunciation of -TeX. Pronounce TeX as if the ‘X’ were the last sound in the name -'Bach'. In the word TeX, the ‘X’ is, rather than the English letter -"ex", actually the Greek letter "chi". - - Texinfo is the official documentation format of the GNU project. -More information, including manuals for GNU packages, is available at -the GNU documentation web page (http://www.gnu.org/doc/). - -* Menu: - -* Reporting Bugs:: Submitting effective bug reports. -* Output Formats:: Overview of the supported output formats. -* Info Files:: What is an Info file? -* Printed Books:: Characteristics of a printed book or manual. -* Adding Output Formats:: Man pages and implementing new formats. -* History:: Acknowledgements, contributors and genesis. - - -File: texinfo.info, Node: Reporting Bugs, Next: Output Formats, Up: Overview - -1.1 Reporting Bugs -================== - -We welcome bug reports and suggestions for any aspect of the Texinfo -system: programs, documentation, installation, etc. Please email them -to <bug-texinfo@gnu.org>. You can get the latest version of Texinfo via -its home page, <https://www.gnu.org/software/texinfo>. - - For bug reports, please include enough information for the -maintainers to reproduce the problem. Generally speaking, that means: - - • The version number of Texinfo and the program(s) or manual(s) - involved. - • The contents of any input files necessary to reproduce the bug. - • Precisely how you ran any program(s) involved. - • A description of the problem and samples of any erroneous output. - • Hardware and operating system names and versions. - • Anything else that you think would be helpful. - - When in doubt whether something is needed or not, include it. It's -better to include too much than to leave out something important. - - It is critical to send an actual input file that reproduces the -problem. - - Any problems with the Info reader in Emacs should be reported to the -Emacs developers: see *note (emacs)Bugs::. - - Patches are welcome; if possible, please make them with ‘diff -c’, -‘diff -u’ (*note (diffutils)Top::), or ‘git diff’ and include -‘ChangeLog’ entries (*note (standards)Change Logs::), and follow the -existing coding style. - - -File: texinfo.info, Node: Output Formats, Next: Info Files, Prev: Reporting Bugs, Up: Overview - -1.2 Output Formats -================== - -Here is an overview of the output formats currently supported by -Texinfo. - -Info - (Generated via ‘texi2any’.) Info format is mostly a plain text - transliteration of the Texinfo source. It adds a few control - characters to provide navigational information for - cross-references, indices, and so on. The Emacs Info subsystem - (*note (info)Top::), and the standalone ‘info’ program (*note - (info-stnd)Top::), among others, can read these files. *Note Info - Files::, and *note Creating and Installing Info Files::. - -Plain text - (Generated via ‘texi2any --plaintext’.) This is almost the same as - Info output with the navigational control characters omitted. - -HTML - (Generated via ‘texi2any --html’.) HTML, standing for Hyper Text - Markup Language, is the language for writing documents on the World - Wide Web. Web browsers can render this language online. There are - many versions of HTML, both different standards and - browser-specific variations. ‘texi2any’ uses a subset of the - language that can be interpreted by any common browser, - intentionally not using many newer or less widely-supported tags. - Although the native output is thus rather plain, it can be - customized at various levels, if desired. *Note Generating HTML::. - -EPUB 3 - (Generated via ‘texi2any --epub3’.) EPUB is a format designed for - reading electronic books on portable devices. It is a derivative - of HTML. The format was developed by the International Digital - Publishing Forum (IDPF), which is now part of the World Wide Web - Consortium (W3C). The latest major revision, EPUB 3, dates from - 2011. - -DVI - (Generated via ‘texi2dvi’.) The DeVIce Independent binary format - is output by the TeX typesetting program (<http://tug.org>). This - is then read by a DVI 'driver', which knows the actual - device-specific commands that can be viewed or printed, notably - Dvips for translation to PostScript (*note (dvips)Top::) and Xdvi - for viewing on an X display - (<http://sourceforge.net/projects/xdvi/>). *Note Hardcopy with - TeX::. (Be aware that the Texinfo language is very different from - TeX's usual languages: plain TeX, LaTeX, ConTeXt, etc.) - -PostScript - (Generated via ‘texi2dvi --ps’.) PostScript is a page description - language that became widely used around 1985 and is still used - today. <https://en.wikipedia.org/wiki/PostScript> gives a basic - description and more preferences. By default, Texinfo uses the - ‘dvips’ program to convert TeX's DVI output to PostScript. *Note - (dvips)Top::. - -PDF - (Generated via ‘texi2dvi --pdf’ or ‘texi2pdf’.) This format was - developed by Adobe Systems for portable document interchange, based - on their previous PostScript language. It can represent the exact - appearance of a document, including fonts and graphics, and - supporting arbitrary scaling. It is intended to be - platform-independent and easily viewable, among other design goals; - <https://en.wikipedia.org/wiki/Portable_Document_Format> and - <http://tug.org/TUGboat/tb22-3/tb72beebe-pdf.pdf> have some - background. By default, Texinfo uses the ‘pdftex’ program, an - extension of TeX, to output PDF; see - <http://tug.org/applications/pdftex>. *Note PDF Output::. - -LaTeX - (Generated via ‘texi2any --latex’.) This is a typesetting system - built on top of TeX. It was originally released by Leslie Lamport - in 1984. LaTeX adds more definitions to those of TeX and has a - wide range of packages built on it. LaTeX is ubiquitous in - academic literature. The current version of LaTeX is under active - development; more information is available online at - <https://www.latex-project.org/>. - - The LaTeX output can be further processed into DVI, PostScript, or - PDF. In theory, the LaTeX output should allow for much more - customizability of the output than would be possible with the plain - TeX implementation of Texinfo. - -DocBook - (Generated via ‘texi2any --docbook’.) This is an XML-based format, - primarily for technical documentation. It therefore bears some - resemblance, in broad outline, to Texinfo. See - <http://www.docbook.org>. Various converters from DocBook _to_ - Texinfo have also been developed; see the Texinfo web pages. - -XML - (Generated via ‘texi2any --xml’.) The ‘texi2any’ XML output, - unlike all the other output formats, is a transliteration of the - Texinfo source, rather than finished output. Texinfo XML files - cannot be viewed in web browsers or other programs. - - XML is a generic syntax specification usable for any sort of - content. (A reference is at <http://www.w3.org/XML>.) The purpose - of the Texinfo XML output is to allow further processing by XML - tools. The output syntax is defined in an XML DTD, which is - contained in a file ‘texinfo.dtd’ included in the Texinfo source - distribution. - - The Texinfo source distribution includes a utility script - ‘txixml2texi’ to do a backward transformation to recreate the - original Texinfo content (except for Texinfo macros and - conditionals). - - -File: texinfo.info, Node: Info Files, Next: Printed Books, Prev: Output Formats, Up: Overview - -1.3 Info Files -============== - -As mentioned above, Info format is mostly a plain text transliteration -of the Texinfo source, with the addition of a few control characters to -separate nodes and provide navigational information, so that -Info-reading programs can operate on it. - - Info files are nearly always created by processing a Texinfo source -document. ‘texi2any’, also known as ‘makeinfo’, is the principal -command that converts a Texinfo file into an Info file; *note Generic -Translator texi2any::. - - Generally, you enter an Info file through a node that by convention -is named 'Top'. This node normally contains just a brief summary of the -file's purpose, and a large menu through which the rest of the file is -reached. From this node, you can either traverse the file -systematically by going from node to node, or you can go to a specific -node listed in the main menu, or you can search the index menus and then -go directly to the node that has the information you want. -Alternatively, with the standalone Info program, you can specify -specific menu items on the command line (*note (info)Top::). - - If you want to read through an Info file in sequence, as if it were a -printed manual, you can hit <SPC> repeatedly, or you get the whole file -with the advanced Info command ‘g *’. (*Note Advanced Info commands: -(info)Advanced.) - - The ‘dir’ file in the ‘info’ directory serves as the departure point -for the whole Info system. From it, you can reach the 'Top' nodes of -each of the documents in a complete Info system. - - If you wish to refer to an Info file via a URI, you can use the -(unofficial) syntax exemplified by the following. This works with -Emacs/W3, for example: - info:emacs#Dissociated%20Press - info:///usr/info/emacs#Dissociated%20Press - info://localhost/usr/info/emacs#Dissociated%20Press - - The ‘info’ program itself does not follow URIs of any kind. - - -File: texinfo.info, Node: Printed Books, Next: Adding Output Formats, Prev: Info Files, Up: Overview - -1.4 Printed Books -================= - -A Texinfo file can be formatted and typeset as a printed book or manual. -To do this, you need TeX, a sophisticated typesetting program written by -Donald Knuth of Stanford University. It is not part of the Texinfo -distribution. - - Texinfo provides a file ‘texinfo.tex’ that contains the definitions -that TeX uses when it typesets a Texinfo file. You can get the latest -version of ‘texinfo.tex’ from the Texinfo home page, -<https://www.gnu.org/software/texinfo/>. - - A Texinfo-based book is similar to any other typeset, printed work: -it can have a title page, copyright page, table of contents, and -preface, as well as chapters, numbered or unnumbered sections and -subsections, page headers, cross-references, footnotes, and indices. - - TeX is very powerful and has a great many features. However, because -a Texinfo file must be able to present information both on a -character-only terminal in Info form and in a typeset book, the -formatting commands that Texinfo supports are necessarily limited. - - *Note Hardcopy with TeX::, for more information on processing a -manual with TeX. - - -File: texinfo.info, Node: Adding Output Formats, Next: History, Prev: Printed Books, Up: Overview - -1.5 Adding Output Formats -========================= - -The output formats in the previous sections handle a wide variety of -usage, but of course there is always room for more. - - If you are a programmer and would like to contribute to the GNU -project by implementing additional output formats for Texinfo, that -would be excellent. The way to do this that would be most useful is to -write a new back-end for ‘texi2any’, our reference implementation of a -Texinfo parser; it creates a tree representation of the Texinfo input -that you can use for the conversion. The documentation in the source -file ‘tp/Texinfo/Convert/Converter.pm’ is a good place to start (*note -(texi2any_internals)Texinfo::Convert::Converter::). *Note Generic -Translator texi2any::. - - Another viable approach is use the Texinfo XML output from ‘texi2any’ -as your input. This XML is an essentially complete representation of -the input, but without the Texinfo syntax and option peculiarities, as -described above. - - If you still cannot resist the temptation of writing a new program -that reads Texinfo source directly, let us give some more caveats: -please do not underestimate the amount of work required. Texinfo is by -no means a simple language to parse correctly, and remains under -development, so you would be committing to an ongoing task. You are -advised to check that the tests of the language that come with -‘texi2any’ give correct results with your new program. - - From time to time, proposals are made to generate traditional Unix -man pages from Texinfo source. However, because man pages have a strict -conventional format, creating a good man page requires a completely -different source from that needed for the typical Texinfo applications -of writing a good user tutorial and/or a good reference manual. This -makes generating man pages incompatible with the Texinfo design goal of -not having to document the same information in different ways for -different output formats. You might as well write the man page -directly. - - As an alternative way to support man pages, you may find the program -‘help2man’ to be useful. It generates a traditional man page from the -‘--help’ output of a program. In fact, the man pages for the programs -in the Texinfo distribution are generated with this. It is GNU software -written by Brendan O'Dea, available from -<http://www.gnu.org/software/help2man>. - - -File: texinfo.info, Node: History, Prev: Adding Output Formats, Up: Overview - -1.6 History -=========== - -Richard M. Stallman invented the Texinfo format, wrote the initial -processors, and created Edition 1.0 of this manual. Robert J. Chassell -greatly revised and extended the manual, starting with Edition 1.1. -Brian Fox was responsible for the standalone Texinfo distribution until -version 3.8. Karl Berry continued maintenance from Texinfo 3.8 (manual -edition 2.22), and Gavin Smith has continued maintenance since Texinfo -6.0. - -Beginnings ----------- - -Richard Stallman included an on-line, hypertext help system called Info -in the original implementation of Emacs (in 1975/6). Stallman had been -inspired after seeing a presentation a couple of years earlier on the -"NLS" hypertext system of Douglas Engelbart. - - In another development, in the 1970's at CMU, Brian Reid developed a -program and format named Scribe to mark up documents for printing. It -used the ‘@’ character to introduce commands, as Texinfo does. Much -more consequentially, it strove to describe document contents rather -than formatting, an idea wholeheartedly adopted by Texinfo. - - Meanwhile, people at MIT developed another format called Bolio. -Richard Stallman (RMS) worked on converting Bolio to use TeX as its -typesetting language, resulting in BoTeX. The earliest BoTeX version -seems to have been 0.02 on October 31, 1984. - - BoTeX could only be used as a markup language for documents to be -printed, not for online documents. RMS combined BoTeX and Info to -create Texinfo, a mark-up language for text that is intended to be read -both online and as printed hard copy. - - The original translator to create Info was written (primarily by RMS -and Bob Chassell) in Emacs Lisp, namely the ‘texinfo-format-buffer’ and -other functions. In the early 1990s, Brian Fox reimplemented the -conversion program in C, now called ‘makeinfo’, as well as the -standalone ‘info’ program. - -Reimplementing in Perl ----------------------- - -In 2012, the C ‘makeinfo’ was itself replaced by a Perl implementation -generically called ‘texi2any’. This version supports the same level of -output customization as ‘texi2html’, an independent program originally -written by Lionel Cons, later with substantial work by many others. The -many additional features needed to make ‘texi2html’ a replacement for -‘makeinfo’ were implemented by Patrice Dumas. The first, never-released -version of ‘texi2any’ was based on the ‘texi2html’ code. - - That implementation, however, was abandoned in favor of the current -program (also written by Patrice Dumas), which parses the Texinfo input -into a tree for processing. It inherited the design of customization -and other features from ‘texi2html’ (for more on ‘texi2html’ -compatibility, *note texi2html::). However, ‘texi2any’ is a full -reimplementation: it constructs a tree-based representation of the input -document for all back-ends to work from. - - The new Perl program is much slower than the old C program. The -speed gap has partially closed since first release, but it may not ever -be entirely comparable. So why did we switch? In short, we intend and -hope that the present program will be much easier than the previous C -implementation of ‘makeinfo’ to extend to different output styles, -back-end output formats, and all other customizations. In more detail: - - • HTML customization. Many GNU and other free software packages had - been happily using the HTML customization features in ‘texi2html’ - for years. Thus, in effect two independent implementations of the - Texinfo language had developed, and keeping them in sync was not - simple. Adding the HTML customization possible in ‘texi2html’ to a - C program would have been an enormous effort. - - • Unicode, and multilingual support generally, especially of east - Asian languages. At that time, doing it in C would have been - tantamount to rewriting the entire program. Since then, the parser - and bits of converter back-ends have been rewritten in C, but the - converter back-ends are still mostly in Perl which has good - multilingual support built in. - - • Additional back-ends. The ‘makeinfo’ code had become convoluted to - the point where adding a new back-end was quite complex, requiring - complex interactions with existing back-ends. In contrast, the new - implementation provides a clean tree-based representation for all - back-ends to work from. People have requested numerous different - back-ends (LaTeX, the latest (X)HTML, ...); this change made them - much more feasible to implement. Which leads to the last item: - - • Making contributions easier. In general, due to the cleaner - structure, the separate parser/back-ends implementation should be - considerably easier than the former C ‘makeinfo’ implementation for - anyone to read and contribute to, with the resulting obvious - benefits. After ten years, contributed back-ends were yet to - happen, but it is still believed that this structure could in - theory lend better to contributions. - - ‘texi2any’ is intended to be a reference implementation that defines -parts of the language not fully specified by the manual. Without such a -reference, alternative implementations would be very likely to have -subtle, or not-so-subtle, differences in behavior, and thus Texinfo -documents would become dependent on the processor. It is also important -to have consistent command-line options for all processors. Extensive -tests of the language and processor were developed at the same time as -‘texi2any’; we encourage anyone thinking of writing a program to parse -Texinfo input to make use of these tests. - - With the release of ‘texi2any’ as the reference implementation, -development of both the C implementation of ‘makeinfo’ and ‘texi2html’ -has been halted. Going forward, we ask authors of Texinfo documents to -use only ‘texi2any’. - - -File: texinfo.info, Node: Writing a Texinfo File, Next: Nodes, Prev: Overview, Up: Top - -2 Writing a Texinfo File -************************ - -This chapter describes Texinfo syntax and what is required in a Texinfo -file, and gives a short sample file. - -* Menu: - -* Conventions:: General rules for writing a Texinfo file. -* Comments:: Writing comments and ignored text in general. -* Minimum:: What a Texinfo file must have. -* Short Sample Texinfo File:: A short sample Texinfo file. -* Texinfo File Header:: The first lines. -* Directory Category:: A category for a manual. -* Document Permissions:: Ensuring your manual is free. -* Titlepage & Copyright Page:: Creating the title and copyright pages. -* Contents:: How to create a table of contents. -* The Top Node:: Creating the 'Top' node and master menu. -* The Body of the Document:: The rest of the nodes. -* Ending a File:: What is at the end of a Texinfo file? - - -File: texinfo.info, Node: Conventions, Next: Comments, Up: Writing a Texinfo File - -2.1 General Syntactic Conventions -================================= - -This section describes the general conventions used in all Texinfo -documents. - - • All printable ASCII characters except ‘@’, ‘{’ and ‘}’ can appear - in a Texinfo file and stand for themselves. ‘@’ is the escape - character which introduces commands, while ‘{’ and ‘}’ are used to - surround arguments to certain commands. To put one of these - special characters into the document, put an ‘@’ character in front - of it, like this: ‘@@’, ‘@{’, and ‘@}’. - - • In a Texinfo file, the commands you write to describe the contents - of the manual are preceded by an ‘@’ character; they are called - “@-commands”. (The ‘@’ in Texinfo has the same meaning that ‘\’ - has in plain TeX.) - - Depending on what they do or what arguments they take, you need to - write @-commands on lines of their own, or as part of sentences. - As a general rule, a command requires braces if it mingles among - other text; but it does not need braces if it is on a line of its - own. For more details of Texinfo command syntax, see *note Command - Syntax::. - - • Whitespace following an @-command name is optional and (usually) - ignored if present. The exceptions are contexts when whitespace is - significant, e.g., an ‘@example’ environment. - - • Texinfo supports the usual quotation marks used in English and in - other languages; see *note Inserting Quotation Marks::. - - • Use three hyphens in a row, ‘---’, to produce a long dash--like - this (called an “em dash”), used for punctuation in sentences. Use - two hyphens, ‘--’, to produce a medium dash (called an “en dash”), - used primarily for numeric ranges, as in "June 25-26". Use a - single hyphen, ‘-’, to produce a standard hyphen used in compound - words. For display on the screen, Info reduces three hyphens to - two and two hyphens to one (not transitively!). Of course, any - number of hyphens in the source remain as they are in literal - contexts, such as ‘@code’ and ‘@example’. - - • _Whitespace_. Texinfo files are plain text files composed of lines - terminated by the usual newline character (line feed). Texinfo - processors read input one line at a time. Paragraphs are - terminated by an empty line or a line containing only spaces. A - sequence of several spaces in text is usually treated the same as a - single space (except in verbatim modes). - - Form feed (‘CTRL-l’) characters terminate any open paragraph. - Other form feeds, as well other ASCII whitespace (tab, carriage - return) are treated the same as space characters (although the - results may differ depending on the output format). Hence, there - is not much point in using these whitespace characters in - documents. Non-ASCII spaces, such as Unicode "em space", are not - recognized as whitespace at all, and will be treated as regular, - non-whitespace characters. - - However, in verbatim modes, for example in code samples, tab - characters may produce the correct formatting in the output. - - -File: texinfo.info, Node: Comments, Next: Minimum, Prev: Conventions, Up: Writing a Texinfo File - -2.2 Comments -============ - -You can write comments in a Texinfo file by using the ‘@comment’ -command, which may be abbreviated to ‘@c’. Such comments are for a -person looking at the Texinfo source file. All the text on a line that -follows either ‘@comment’ or ‘@c’ is a comment; the rest of the line -does not appear in the visible output. (To be precise, the character -after the ‘@c’ or ‘@comment’ must be something other than a dash or -alphanumeric, or it will be taken as part of the command.) - - Often, you can write the ‘@comment’ or ‘@c’ in the middle of a line, -and only the text that follows after the ‘@comment’ or ‘@c’ command does -not appear; but some commands, such as ‘@settitle’, work on a whole -line. You cannot use ‘@comment’ or ‘@c’ within a line beginning with -such a command. - - In cases of nested command invocations, complicated macro -definitions, etc., ‘@c’ and ‘@comment’ may provoke an error when -processing with TeX. Therefore, you can also use the ‘DEL’ character -(ASCII 127 decimal, 0x7f hex, 0177 octal) as a true TeX comment -character (catcode 14, in TeX internals). Everything on the line after -the ‘DEL’ will be ignored and the next line will be merged. - - You can also have long stretches of text ignored by the Texinfo -processors with the ‘@ignore’ and ‘@end ignore’ commands. Write each of -these commands on a line of its own, starting each command at the -beginning of the line. Text between these two commands does not appear -in the processed output. You can use ‘@ignore’ and ‘@end ignore’ for -writing comments. (For some caveats regarding nesting of such commands, -*note Conditional Nesting::.) - - -File: texinfo.info, Node: Minimum, Next: Short Sample Texinfo File, Prev: Comments, Up: Writing a Texinfo File - -2.3 What a Texinfo File Must Have -================================= - -By convention, the name of a Texinfo file ends with one of the -extensions ‘.texi’, ‘.texinfo’, ‘.txi’, or ‘.tex’. Using ‘.tex’ is -discouraged as this extension is already used by TeX and LaTeX input -files. The most common and recommended extension is ‘.texi’. The name -of a Texinfo file should only contain ASCII characters. - - The output name is based on the input file name, in the default case. -First, any of the extensions ‘.texi’, ‘.tex’, ‘.txi’, or ‘.texinfo’ is -removed from the input file name; then, the output format specific -extension is added--‘.html’ when generating HTML, ‘.info’ when -generating Info, etc. The output name should only contain ASCII -characters(1). - - In order to be made into a printed manual, a Texinfo file must begin -with a line like this: - - \input texinfo - -The contents of the file follow this beginning, and then you must end -the Texinfo source with a line like this: - - @bye - - The ‘@bye’ line at the end of the file on a line of its own tells TeX -that the file is ended and to stop formatting. If you leave this out, -you'll be dumped at TeX's prompt at the end of the run. - - Furthermore, you will usually provide a Texinfo file with a title, a -title page, indices, and the like, all of which are explained in this -manual. But the minimum, which can be useful for short documents, is -just the one line at the beginning and the one line at the end. - - Without additional information, the input and output encodings are -assumed to be UTF-8, an universal codeset compatible with 7-bit ASCII. - - ---------- Footnotes ---------- - - (1) ‘texi2any’ can handle non ASCII characters in input file names, -but non ASCII characters in output name will create problems for some -output formats, especially for cross-references. - - -File: texinfo.info, Node: Short Sample Texinfo File, Next: Texinfo File Header, Prev: Minimum, Up: Writing a Texinfo File - -2.4 Short Sample -================ - -Here is a short sample Texinfo file. - - \input texinfo - @settitle Sample Manual 1.0 - - @copying - This is a short example of a complete Texinfo file. - - Copyright @copyright{} 2016 Free Software Foundation, Inc. - @end copying - - @titlepage - @title Sample Title - @page - @vskip 0pt plus 1filll - @insertcopying - @end titlepage - - @contents - - @node Top - @top GNU Sample - - This manual is for GNU Sample - (version @value{VERSION}, @value{UPDATED}). - - @menu - * First Chapter:: The first chapter is the - only chapter in this sample. - * Index:: Complete index. - @end menu - - - @node First Chapter - @chapter First Chapter - - @cindex chapter, first - This is the first chapter. - @cindex index entry, another - - Here is a numbered list. - - @enumerate - @item - This is the first item. - - @item - This is the second item. - @end enumerate - - - @node First Section - @section First Section - - First section of first chapter. - - - @node Second Section - @section Second Section - - Second section of first chapter. - - - @node Index - @unnumbered Index - - @printindex cp - - @bye - - -File: texinfo.info, Node: Texinfo File Header, Next: Directory Category, Prev: Short Sample Texinfo File, Up: Writing a Texinfo File - -2.5 Texinfo File Header -======================= - -Texinfo files start with the line: - - \input texinfo - - The ‘\input texinfo’ line tells TeX to use the ‘texinfo.tex’ file, -which tells TeX how to translate the Texinfo @-commands into TeX -typesetting commands. (Note the use of the backslash, ‘\’; this is -correct for TeX.) - - It makes sense to include any command that affects document -formatting as a whole in the header. The ‘@settitle’ line is usually -present at the beginning of the header: - - @settitle Sample Manual 1.0 - - The ‘@settitle’ line specifies a title for the page headers (or -footers) of the printed manual, and the default title and document -description for the ‘<head>’ in HTML. ‘@synindex’ (*note @synindex::), -for instance, is another command often included in the header. - - The start of the Texinfo file up to the first content that is output -as part of the main body of the document is the “preamble”. It includes -the header, *note Document Permissions:: and *note Titlepage & Copyright -Page:: specification. It is important for the LaTeX output format as -the end of preamble is where the ‘\begin{document}’ line is output. In -other output formats it may be used to determine how some special output -is formatted, for example *note @copying:: output as a comment at the -beginning of output files, or the language used in file headers. - -* Menu: - -* First Line:: The first line of a Texinfo file. -* @setfilename:: Give the name of the output file. -* @settitle:: Create a title for the printed work. -* Preamble:: Start of the Texinfo file up to first content. -* Start and End of Header:: Formatting a region in Emacs requires this. - - -File: texinfo.info, Node: First Line, Next: @setfilename, Up: Texinfo File Header - -2.5.1 The First Line of a Texinfo File --------------------------------------- - -Every Texinfo file that is to be the top-level input to TeX must begin -with a line that looks like this: - - \input texinfo - - When the file is processed by TeX, the ‘\input texinfo’ command tells -TeX to load the macros needed for processing a Texinfo file. These are -in a file called ‘texinfo.tex’, which should have been installed on your -system along with either the TeX or Texinfo software. TeX uses the -backslash, ‘\’, to mark the beginning of a command, exactly as Texinfo -uses ‘@’. The ‘texinfo.tex’ file causes the switch from ‘\’ to ‘@’; -before the switch occurs, TeX requires ‘\’, which is why it appears at -the beginning of the file. - - You may optionally follow this line with a comment to tell GNU Emacs -to use Texinfo mode when the file is edited: - - \input texinfo @c -*-texinfo-*- - -This may be useful when Emacs doesn't detect the file type from the file -extension automatically. - - -File: texinfo.info, Node: @setfilename, Next: @settitle, Prev: First Line, Up: Texinfo File Header - -2.5.2 ‘@setfilename’: Set the Output File Name ----------------------------------------------- - -The ‘@setfilename’ line specifies the name of the output file to be -generated by ‘texi2any’. This command is ignored for TeX formatting. -When present, it should be the first Texinfo command (that is, after -‘\input texinfo’). Write the ‘@setfilename’ command at the beginning of -a line and follow it on the same line by the Info file name. - - @setfilename INFO-FILE-NAME - - The name must be different from the name of the Texinfo file. There -are two conventions for choosing the name: you can either remove the -extension (such as ‘.texi’) entirely from the input file name, or -(recommended) replace it with the ‘.info’ extension. It is not advised -to base the ‘@setfilename’ name on a entirely different name than the -input file name. - - When a ‘@setfilename’ line is present, the Texinfo processors ignore -everything written before the ‘@setfilename’ line. This is why the very -first line of the file (the ‘\input’ line) does not show up in the -output. - - If there is no ‘@setfilename’ line, ‘texi2any’ uses the input file -name to determine the output name (*note Minimum::). The ‘\input’ line -is still ignored in this processing, as well as leading blank lines. - - When producing another output format, ‘texi2any’ will replace any -final extension with the output format-specific extension (‘html’ when -generating HTML, for example), or add a dot followed by the extension -(‘.html’ for HTML) if the given name has no extension. - - @-commands are not allowed in ‘@setfilename’, except for ‘@@’, ‘@{’, -‘@}’ and associated @-commands such as ‘@atchar{}’. - - ‘@setfilename’ used to be required by the Texinfo processors and some -other programs. This should not be the case any more; ‘@setfilename’ -can be omitted. If the Texinfo input is processed from standard input, -without an input file name to deduce the base file name from, -‘@setfilename’ could still be relevant. This is not the only way, -however: ‘--output’ option specifies the output file name on the -‘texi2any’ command-line (*note Invoking texi2any::). - - Although an explicit ‘.info’ extension is preferable, some operating -systems cannot handle long file names. You can run into a problem even -when the file name you specify is itself short enough. This occurs -because the Info formatters split a long Info file into short indirect -subfiles, and name them by appending ‘-1’, ‘-2’, ..., ‘-10’, ‘-11’, and -so on, to the original file name. (*Note Tag and Split Files::.) The -subfile name ‘texinfo.info-10’, for example, is too long for old systems -with a 14-character limit on filenames; so the Info file name for this -document could be ‘texinfo’ rather than ‘texinfo.info’ on such a system. -‘@setfilename’ is a way to specify an alternative name. - - -File: texinfo.info, Node: @settitle, Next: Preamble, Prev: @setfilename, Up: Texinfo File Header - -2.5.3 ‘@settitle’: Set the Document Title ------------------------------------------ - -A Texinfo file should contain a line that looks like this: - - @settitle TITLE - - Write the ‘@settitle’ command at the beginning of a line and follow -it on the same line by the title. Do not write anything else on the -line. The ‘@settitle’ command should precede everything that generates -actual output. The best place for it is right after the ‘@setfilename’ -command, if present (described in the previous section). - - This command gives the title to use in a header or footer for -double-sided printed output, in case such headings are output. For more -on headings for printed output, see *note Heading Generation::. - - In HTML, TITLE serves as the document ‘<title>’ and it becomes the -default document description in the ‘<head>’ part. - - When the title page is used in the output, as is generally the case -for printed output, the title in the ‘@settitle’ command does not affect -the title as it appears on the title page. Thus, the two do not need -not to match exactly. A practice we recommend is to include the version -or edition number of the manual in the ‘@settitle’ title; on the title -page, the version number generally appears as a ‘@subtitle’ so it would -be omitted from the ‘@title’. *Note @titlepage::. - - -File: texinfo.info, Node: Preamble, Next: Start and End of Header, Prev: @settitle, Up: Texinfo File Header - -2.5.4 Preamble --------------- - -The “preamble” starts at the beginning of the Texinfo file and continues -until the first directly output material. It typically includes the -file header (*note Texinfo File Header::), the ‘@copying’ block -specifying the document permissions (*note @copying::) and the -‘@titlepage’ specification (*note Titlepage & Copyright Page::). - - The preamble may contain commands that affect document formatting as -a whole but which do not produce output, or do not produce output -straight away, such as ‘@settitle’ (*note @settitle::), -‘@documentlanguage’, (*note @documentlanguage::), commands setting the -headings, controlling indentation or hyphenation, or the table of -contents (*note Contents::). - - Any text that starts a paragraph, @-commands that are formatted as -quotations, tables, lists and so on, and ‘@node’ (*note Nodes::) and -chapter structuring commands (*note Chapter Structuring::) end the -preamble. - - The concept of the preamble is significant for LaTeX output, as the -‘\begin{document}’ line is output at the end of the preamble. - - In plaintext, the preamble is simply output as usual at the beginning -of the document; for example, a ‘@contents’ in the preamble is output as -the table of contents (*note Contents::). - - There is not much special treatment of the preamble for HTML and Info -output either. However, some settings current at the very end of the -preamble may be used for the document as a whole, regardless of what -follows. This may apply to commands specifying the indentation, or the -language (*note @documentlanguage::). - - For example, for the following document, the HTML and Info copying -comments are formatted with ‘@documentlanguage’ set to ‘pt’, as it is -the last ‘@documentlanguage’ before the end of the preamble. - - \input texinfo - @documentlanguage fr - - @copying - The copying information @error{} some text - @end copying - - @documentlanguage pt - - Text ending the preamble - - @documentlanguage de - - @node Top - - -File: texinfo.info, Node: Start and End of Header, Prev: Preamble, Up: Texinfo File Header - -2.5.5 Start and End of Header for Emacs ---------------------------------------- - -In Emacs, start- and end-of-header lines can be used to enclose commands -that globally affect the document in the Texinfo preambule. This allows -you to format only part of a Texinfo file for Info or printing. *Note -texinfo-format commands::. - - A start-of-header line is a Texinfo comment that looks like this: - - @c %**start of header - - Write the start-of-header line on the second line of a Texinfo file. -Follow the start-of-header commands that globally affect the document -formatting, such as ‘@settitle’, ‘@synindex’ or ‘@footnotestyle’; and -then by an end-of-header line. - - A end-of-header line is a Texinfo comment that looks like this: - - @c %**end of header - - The odd string of characters, ‘%**’, is to ensure that no other -comment is accidentally taken for a start-of-header line. You can -change it if you wish by setting the ‘tex-start-of-header’ and/or -‘tex-end-of-header’ Emacs variables. *Note Texinfo Mode Printing::. - - The start- and end-of-header lines are not part of the Texinfo format -specification, which is why they are implemented with comments. - - -File: texinfo.info, Node: Directory Category, Next: Document Permissions, Prev: Texinfo File Header, Up: Writing a Texinfo File - -2.6 Directory Category -====================== - -Use the ‘@dircategory’ command to specify a category for the manual. -Here are a few examples of category names: - - Basics - Text creation and manipulation - Archiving - Compression - Database - Editors - Emacs - Email - Graphics - Localization - Network applications - Printing - Science - Software development - Software libraries - Version control - - ‘@dircategory’ commands are usually followed by a ‘@direntry’ blocks, -which are used by ‘install-info’. *Note Installing Dir Entries::, for -details. - - The first ‘@dircategory’ command in a manual is the category for the -entire manual. Subsequent uses of ‘@dircategory’ set the category for -following ‘@direntry’ blocks only. - - -File: texinfo.info, Node: Document Permissions, Next: Titlepage & Copyright Page, Prev: Directory Category, Up: Writing a Texinfo File - -2.7 Document Permissions -======================== - -This segment describes the document and contains the copyright notice -and copying permissions. This is done with the ‘@copying’ command. A -real manual includes more text here, according to the license under -which it is distributed. - - @copying - This is a short example of a complete Texinfo file, version 1.0. - - Copyright @copyright{} 2016 Free Software Foundation, Inc. - @end copying - - The copyright notice and copying permissions for a document need to -appear in several places in the various Texinfo output formats. -Therefore, Texinfo provides a command (‘@copying’) to declare this text -once, and another command (‘@insertcopying’) to insert the text at -appropriate points. - - If the document is a software manual, the software is typically under -a different license--for GNU and many other free software packages, -software is usually released under the GNU GPL, and manuals are released -under the GNU FDL. It is helpful to state the license of the software -of the manual, but giving the complete text of the software license is -not necessarily required. - -* Menu: - -* @copying:: Declare the document's copying permissions. -* @insertcopying:: Where to insert the permissions. - - -File: texinfo.info, Node: @copying, Next: @insertcopying, Up: Document Permissions - -2.7.1 ‘@copying’: Declare Copying Permissions ---------------------------------------------- - -The ‘@copying’ command should be given very early in the document; the -recommended location is right after the header material (*note Texinfo -File Header::). It conventionally consists of a sentence or two about -what the program is, identification of the documentation itself, the -legal copyright line, and the copying permissions. Here is a skeletal -example: - - @copying - This manual is for PROGRAM (version VERSION, updated - DATE), which ... - - Copyright @copyright{} YEARS COPYRIGHT-OWNER. - - @quotation - Permission is granted to ... - @end quotation - @end copying - - The ‘@quotation’ has no legal significance; it's there to improve -readability in some contexts. - - The text of ‘@copying’ appears as a comment at the beginning of Info -and HTML output files. This information is also output at the beginning -of the DocBook output files using appropriate markup. It is _not_ -output implicitly in plain text or printed output; it's up to you to use -‘@insertcopying’ to emit the copying information. See the next section -for details. - - The ‘@copyright{}’ command generates a ‘c’ inside a circle when the -output format supports this glyph (print and HTML always do, for -instance). When the glyph is not supported in the output, it generates -the three-character sequence ‘(C)’. - - The copyright notice itself has the following legally-prescribed -form: - - Copyright © YEARS COPYRIGHT-OWNER. - - The word 'Copyright' must always be written in English, even if the -document is otherwise written in another language. This is due to -international law. - - The list of years should include all years in which a version was -completed (even if it was released in a subsequent year). It is -simplest for each year to be written out individually and in full, -separated by commas. - - The copyright owner (or owners) is whoever holds legal copyright on -the work. In the case of works assigned to the FSF, the owner is 'Free -Software Foundation, Inc.'. - - The copyright 'line' may actually be split across multiple lines, -both in the source document and in the output. This often happens for -documents with a long history, having many different years of -publication. If you do use several lines, do not indent any of them (or -anything else in the ‘@copying’ block) in the source file. - - *Note (maintain)Copyright Notices::, for additional information. -*Note GNU Sample Texts::, for the full text to be used in GNU manuals. -*Note GNU Free Documentation License::, for the license itself under -which GNU and other free manuals are distributed. - - -File: texinfo.info, Node: @insertcopying, Prev: @copying, Up: Document Permissions - -2.7.2 ‘@insertcopying’: Include Permissions Text ------------------------------------------------- - -The ‘@insertcopying’ command is simply written on a line by itself, like -this: - - @insertcopying - - This inserts the text previously defined by ‘@copying’. To meet -legal requirements, it must be used on the copyright page in the printed -manual (*note Copyright::). - - The ‘@copying’ command itself causes the permissions text to appear -in an Info file _before_ the first node. The text is also copied into -the beginning of each split Info output file, as is legally necessary. -This location implies a human reading the manual using Info does _not_ -see this text (except when using the advanced Info command ‘g *’). This -does not matter for legal purposes, because the text is present. But to -get a visible text in the output, ‘@insertcopying’ should be used. - - Similarly, the ‘@copying’ text is automatically included at the -beginning of each HTML output file, as an HTML comment. Again, this -text is not visible without ‘@insertcopying’ (unless the reader views -the HTML source). - - The permissions text defined by ‘@copying’ also appears automatically -at the beginning of the DocBook output files using appropriate markup. -‘@insertcopying’ can be used to output the permission text within normal -text. - - -File: texinfo.info, Node: Titlepage & Copyright Page, Next: Contents, Prev: Document Permissions, Up: Writing a Texinfo File - -2.8 Title and Copyright Pages -============================= - -In hard copy output, the manual's name and author are usually printed on -a title page. Copyright information is usually printed on the back -(verso) of the title page. This segment must be enclosed between -‘@titlepage’ and ‘@end titlepage’ commands: - - @titlepage - @title Sample Title - - @c The following two commands start the copyright page. - @page - @vskip 0pt plus 1filll - @insertcopying - @end titlepage - -We use the ‘@insertcopying’ command to include the permission text from -the previous section, instead of writing it out again. - - The title and copyright pages appear in printed manuals, but not in -most other output formats. In HTML, the best way to get a title page -similar to printed manuals is to set the ‘NO_TOP_NODE_OUTPUT’ -customization variable (*note NO_TOP_NODE_OUTPUT::). - -* Menu: - -* @titlepage:: Create a title for the printed document. -* @title @subtitle @author:: The ‘@title’, ‘@subtitle’, and ‘@author’ - commands. -* @titlefont @center @sp:: The ‘@titlefont’, ‘@center’, and ‘@sp’ commands. -* Copyright:: How to write the copyright notice and include - copying permissions. -* Heading Generation:: Turn on page headings after the title and - copyright pages. - - -File: texinfo.info, Node: @titlepage, Next: @title @subtitle @author, Up: Titlepage & Copyright Page - -2.8.1 ‘@titlepage’ ------------------- - -Start the material for the title page and following copyright page with -‘@titlepage’ on a line by itself and end it with ‘@end titlepage’ on a -line by itself. - - The ‘@end titlepage’ command starts a new page and turns on page -numbering (*note Heading Generation::). All the material that you want -to appear on unnumbered pages should be put between the ‘@titlepage’ and -‘@end titlepage’ commands. - - By using the ‘@page’ command, you can force a page break within the -region delineated by the ‘@titlepage’ and ‘@end titlepage’ commands and -thereby create more than one unnumbered page. This is how the copyright -page is produced. (The ‘@titlepage’ command might perhaps have been -better named the ‘@titleandadditionalpages’ command, but that would have -been rather long!) - - When you write a manual about a computer program, you should write -the version of the program to which the manual applies on the title -page. If the manual changes more frequently than the program or is -independent of it, you should also include an edition number(1) for the -manual. This helps readers keep track of which manual is for which -version of the program. (The 'Top' node should also contain this -information; see *note The Top Node::.) - - One method uses the ‘@title’, ‘@subtitle’, and ‘@author’ commands to -create a title page. With this method, you do not specify any of the -actual formatting of the title page. You specify the text you want, and -Texinfo does the formatting. The usual formatting consist of black -rules under the title and author lines and the subtitle text set flush -to the right-hand side of the page. - - Texinfo also provides a second method for creating a title page. -using typesetting commands that are not to be used in the main text. -This method uses uses the ‘@titlefont’, ‘@sp’, and ‘@center’ commands to -generate a title page in which the words on the page are centered. - - For sufficiently simple documents, and for the bastard title page in -traditional book frontmatter, Texinfo also provides a command -‘@shorttitlepage’ which takes the rest of the line as the title. The -argument is typeset on a page by itself and followed by a blank page. -In HTML, ‘@shorttitlepage’ can play the same role as ‘@settitle’, if -‘@settitle’ is not set. *Note @settitle::. - - ---------- Footnotes ---------- - - (1) We have found that it is helpful to refer to versions of -independent manuals as 'editions' and versions of programs as -'versions'; otherwise, we find we are liable to confuse each other in -conversation by referring to both the documentation and the software -with the same words. - - -File: texinfo.info, Node: @title @subtitle @author, Next: @titlefont @center @sp, Prev: @titlepage, Up: Titlepage & Copyright Page - -2.8.2 ‘@title’, ‘@subtitle’, and ‘@author’ ------------------------------------------- - -You can use the ‘@title’, ‘@subtitle’, and ‘@author’ commands to create -a title page in which the vertical and horizontal spacing is done for -you automatically. - - Write the ‘@title’, ‘@subtitle’, or ‘@author’ commands at the -beginning of a line followed by the title, subtitle, or author. The -‘@author’ command may be used for a quotation in an ‘@quotation’ block -(*note @quotation::); except for that, it is an error to use any of -these commands outside of ‘@titlepage’. - - The ‘@title’ command normally produces a line in which the title is -set flush to the left-hand side of the page in a larger than normal -font. The title is underlined with a black rule. The title must be -given on a single line in the source file; it will be broken into -multiple lines of output is needed. - - For long titles, the ‘@*’ command may be used to specify the line -breaks in long titles if the automatic breaks do not suit. Such -explicit line breaks are generally reflected in all output formats; if -you only want to specify them for the printed output, use a conditional -(*note Conditionals::). For example: - - @title This Long Title@inlinefmt{tex,@*} Is Broken in @TeX{} - - The ‘@subtitle’ command normally sets subtitles in a normal-sized -font flush to the right-hand side of the page. - - The ‘@author’ command normally sets the names of the author or -authors in a middle-sized font flush to the left-hand side of the page -on a line near the bottom of the title page. The names are followed by -a black rule that is thinner than the rule that normally underlines the -title. - - There are two ways to use the ‘@author’ command: you can write the -name or names on the remaining part of the line that starts with an -‘@author’ command: - - @author by Jane Smith and John Doe - -or you can write the names one above each other by using multiple -‘@author’ commands: - - @author Jane Smith - @author John Doe - - A template for this method looks like this: - - @titlepage - @title NAME-OF-MANUAL-WHEN-PRINTED - @subtitle SUBTITLE-IF-ANY - @subtitle SECOND-SUBTITLE - @author AUTHOR - @page - ... - @end titlepage - - -File: texinfo.info, Node: @titlefont @center @sp, Next: Copyright, Prev: @title @subtitle @author, Up: Titlepage & Copyright Page - -2.8.3 ‘@titlefont’, ‘@center’, and ‘@sp’ ----------------------------------------- - -You can also use the ‘@titlefont’, ‘@sp’, and ‘@center’ commands to -create a title page for a printed document. - - Use the ‘@titlefont’ command to select a large font suitable for the -title itself. You can use ‘@titlefont’ more than once if you have an -especially long title. - - For HTML output, each ‘@titlefont’ command produces an ‘<h1>’ -heading, but the HTML document ‘<title>’ is not affected. For that, you -could put a ‘@settitle’ command before the ‘@titlefont’ command (*note -@settitle::). - - For example: - - @titlefont{Texinfo} - - Use the ‘@center’ command at the beginning of a line to center the -remaining text on that line. Thus, - - @center @titlefont{Texinfo} - -centers the title, which in this example is "Texinfo" printed in the -title font. - - Use the ‘@sp’ command to insert vertical space. For example: - - @sp 2 - -This inserts two blank lines on the printed page. (*Note @sp::, for -more information about the ‘@sp’ command.) - - A template for this method looks like this: - - @titlepage - @sp 10 - @center @titlefont{NAME-OF-MANUAL-WHEN-PRINTED} - @sp 2 - @center SUBTITLE-IF-ANY - @sp 2 - @center AUTHOR - ... - @end titlepage - - The spacing of the example fits an 8.5 by 11 inch manual. - - -File: texinfo.info, Node: Copyright, Next: Heading Generation, Prev: @titlefont @center @sp, Up: Titlepage & Copyright Page - -2.8.4 Copyright Page --------------------- - -By international treaty, the copyright notice for a book must be either -on the title page or on the back of the title page. When the copyright -notice is on the back of the title page, that page is customarily not -numbered. Therefore, in Texinfo, the information on the copyright page -should be within ‘@titlepage’ and ‘@end titlepage’ commands. - - Use the ‘@page’ command to cause a page break. To push the copyright -notice and the other text on the copyright page towards the bottom of -the page, use the following incantation after ‘@page’: - - @vskip 0pt plus 1filll - -The ‘@vskip’ command inserts whitespace in the TeX output; it is ignored -in all other output formats. The ‘0pt plus 1filll’ means to put in zero -points of mandatory whitespace, and as much optional whitespace as -needed to push the following text to the bottom of the page. Note the -use of three ‘l’s in the word ‘filll’; this is correct. - - To insert the copyright text itself, write ‘@insertcopying’ next -(*note Document Permissions::): - - @insertcopying - - Follow the copying text by the publisher, ISBN numbers, cover art -credits, and other such information. - - Here is an example putting all this together: - - @titlepage - ... - @page - @vskip 0pt plus 1filll - @insertcopying - - Published by ... - - Cover art by ... - @end titlepage - - We have one more special case to consider: for plain text output, you -must insert the copyright information explicitly if you want it to -appear. For instance, you could have the following after the copyright -page: - - @ifplaintext - @insertcopying - @end ifplaintext - - You could include other title-like information for the plain text -output in the same place. - - -File: texinfo.info, Node: Heading Generation, Prev: Copyright, Up: Titlepage & Copyright Page - -2.8.5 Heading Generation ------------------------- - -Texinfo has two standard page heading formats, one for documents printed -on one side of each sheet of paper (single-sided printing), and the -other for documents printed on both sides of each sheet (double-sided -printing). - - In full generality, you can control the headings in different ways: - - • The conventional way is to write a ‘@setchapternewpage’ command - before the title page commands. - - Most documents are formatted with the standard single-sided or - double-sided headings, (sometimes) using ‘@setchapternewpage odd’ - for double-sided printing and (almost always) no - ‘@setchapternewpage’ command for single-sided printing (*note - @setchapternewpage::). - - • Alternatively, you can use the ‘@headings’ command to prevent page - headings from being generated or to start them for either single or - double-sided printing. To turn off headings, write ‘@headings - off’. *Note @headings::. - - • Or, you may specify your own page heading and footing format. - *Note Headings::. - - -File: texinfo.info, Node: Contents, Next: The Top Node, Prev: Titlepage & Copyright Page, Up: Writing a Texinfo File - -2.9 Generating a Table of Contents -================================== - -The ‘@chapter’, ‘@section’, and other structuring commands (*note -Chapter Structuring::) supply the information to make up a table of -contents, but they do not cause an actual table to appear in the manual. -To do this, you must use the ‘@contents’ and/or ‘@summarycontents’ -command(s). - -‘@contents’ - Generates a table of contents in a printed manual, including all - chapters, sections, subsections, etc., as well as appendices and - unnumbered chapters. Headings generated by ‘@majorheading’, - ‘@chapheading’, and the other ‘@...heading’ commands do not appear - in the table of contents (*note Structuring Command Types::). - -‘@shortcontents’ -‘@summarycontents’ - (‘@summarycontents’ is a synonym for ‘@shortcontents’.) - - Generates a short or summary table of contents that lists only the - chapters, appendices, and unnumbered chapters. Sections, - subsections and subsubsections are omitted. Only a long manual - needs a short table of contents in addition to the full table of - contents. - - Both contents commands should be written on a line by themselves, and -placed near the beginning of the file, after the ‘@end titlepage’ (*note -@titlepage::), before any sectioning command. The contents commands -automatically generate a chapter-like heading at the top of the first -table of contents page, so don't include any sectioning command such as -‘@unnumbered’ before them. - - Since an Info file uses menus instead of tables of contents, the Info -formatting commands ignore the contents commands. But the contents are -included in plain text output and in other output formats, such as HTML. - - In HTML output, the links in the short table of contents point to -corresponding entries in the full table of contents rather than the text -of the document. The links in the full table of contents point to the -main text of the document. - - ‘@shortcontents’ is not implemented for LaTeX output. - - -File: texinfo.info, Node: The Top Node, Next: The Body of the Document, Prev: Contents, Up: Writing a Texinfo File - -2.10 The 'Top' Node and Master Menu -=================================== - -The 'Top' node is the node in which a reader enters an Info manual. As -such, it should contain a very brief description of the manual -(including the version number). The contents of the 'Top' node do not -appear in printed output nor in DocBook output. - - It is conventional to write a line with a ‘@top’ command containing -the title of the document immediately after the ‘@node Top’ line (*note -@top Command::). - - We repeat the short description from the beginning of the ‘@copying’ -text, but there's no need to repeat the copyright information, so we -don't use ‘@insertcopying’ here. - - The 'Top' node contains a top-level “menu” listing the chapters, and -possibly a “detailed menu” listing all the nodes in the entire document. - - @node Top - @top Short Sample - - This is a short sample Texinfo file. - - @menu - * First Chapter:: The first chapter is the - only chapter in this sample. - * Index:: Complete index. - @end menu - -* Menu: - -* Master Menu Parts:: - - -File: texinfo.info, Node: Master Menu Parts, Up: The Top Node - -2.10.1 Parts of a Master Menu ------------------------------ - -A “master menu” is the main menu. It is customary to include a detailed -menu listing all the nodes in the document in this menu. Like any other -menu, a master menu is enclosed in ‘@menu’ and ‘@end menu’ and does not -appear in the printed output nor in DocBook output. - - The master menu contains entries for the major nodes in the Texinfo -file: the nodes for the chapters, chapter-like sections, and the -appendices, followed by nodes for the indices. - - You may choose to follow these entries with a “detailed menu”. This -lists other, lower-level nodes, often ordered by chapter. These items -may be a convenience for an inquirer who can go directly to a particular -node when searching for specific information, rather than going through -an intermediate menu. If you use a detailed menu in your master menu, -mark it with the ‘@detailmenu ... @end detailmenu’ environment. - - Each section in the menu can be introduced by a descriptive line. So -long as the line does not begin with an asterisk, it will not be treated -as a menu entry. (*Note Writing a Menu::, for more information.) - - For example, the master menu for this manual looks like the following -(but has many more entries): - - @menu - * Copying Conditions:: Your rights. - * Overview:: Texinfo in brief. - ... - * Command and Variable Index:: - * General Index:: - - @detailmenu - --- The Detailed Node Listing --- - - Overview of Texinfo - - * Reporting Bugs:: ... - ... - - Beginning a Texinfo File - - * Sample Beginning:: ... - ... - @end detailmenu - @end menu - - -File: texinfo.info, Node: The Body of the Document, Next: Ending a File, Prev: The Top Node, Up: Writing a Texinfo File - -2.11 The Body of the Document -============================= - -The body segment contains all the text of the document. A manual is -divided into one or more “nodes” (*note Nodes::). The example -illustrates a chapter made of three nodes, one for introductory material -in the chapter, and two sections. The introductory material contains an -enumerated list. - - @node First Chapter - @chapter First Chapter - - @cindex chapter, first - This is the first chapter. - @cindex index entry, another - - Here is a numbered list. - - @enumerate - @item - This is the first item. - - @item - This is the second item. - @end enumerate - - - @node First Section - @section First Section - - First section of first chapter. - - - @node Second Section - @section Second Section - - Second section of first chapter. - - In the Info output, the ‘First Chapter’ node will contain a menu -listing the two sections in the chapter. Similarly, when this node is -output in its own HTML file, it will contain a table of contents for the -chapter. - - Here is what the contents of this chapter will look like: - - - 1. First Chapter - **************** - - This is the first chapter. - - Here is a numbered list. - - 1. This is the first item. - - 2. This is the second item. - - 1.1 First Section - ================= - - First section of first chapter. - - 1.2 Second Section - ================== - - Second section of first chapter. - -(In the Info and HTML output, the chapter would also be split into -nodes.) - - -File: texinfo.info, Node: Ending a File, Prev: The Body of the Document, Up: Writing a Texinfo File - -2.12 Ending a Texinfo File -========================== - -The end of a Texinfo file should include commands to create indices -(*note Printing Indices & Menus::), and the ‘@bye’ command to mark the -last line to be processed. For example: - - @node Index - @unnumbered Index - - @printindex cp - - @bye - - A ‘@bye’ command terminates Texinfo processing. It should be on a -line by itself. Anything following ‘@bye’ is completely ignored. - - -File: texinfo.info, Node: Nodes, Next: Chapter Structuring, Prev: Writing a Texinfo File, Up: Top - -3 Nodes -******* - -A “node” is a region of text that begins at a ‘@node’ command, and -continues until the next ‘@node’ command. To specify a node, write a -‘@node’ command at the beginning of a line, and follow it with the name -of the node. Info readers display one node at a time, and provide -commands for the user to move to related nodes. The HTML output can be -similarly navigated. - - Nodes are used as the targets of cross-references. Cross-references, -such as the one at the end of this sentence, are made with ‘@xref’ and -related commands; see *note Cross References::. Cross-references can be -sprinkled throughout the text. Other @-commands may also be the target -of cross-references (*note @anchor::, *note Floats::). - - Normally, you put a node command immediately before each chapter -structuring command--for example, an ‘@section’ or ‘@subsection’ line. -(*Note Chapter Structuring::.) You should do this even if you do not -intend to format the file for Info. This is because printed output uses -both ‘@node’ names and chapter-structuring names in the output for -cross-references. The only time you are likely to use the chapter -structuring commands without also using nodes is if you are writing a -document that contains no cross references and will only be printed, not -transformed into Info, HTML, or other formats. - -* Menu: - -* Writing a Node:: How to write a ‘@node’ line. -* Node Names:: How to choose node names. -* Node Line Requirements:: Keep names unique. -* First Node:: How to write a 'Top' node. -* @top Command:: How to use the ‘@top’ command. -* Texinfo Document Structure:: Double structure of documents. -* Node Menu Illustration:: A diagram, and sample nodes and menus. -* Node Descriptions:: ‘@nodedescription’ and ‘@nodedescriptionblock’. -* Menus:: Listing subordinate nodes. - - -File: texinfo.info, Node: Writing a Node, Next: Node Names, Up: Nodes - -3.1 Writing a ‘@node’ Line -========================== - -Write ‘@node’ at the beginning of a line followed by the name of the -node, like this: - - @node NODE-NAME - - After you have inserted a ‘@node’ line, you should immediately write -the @-command for the associated chapter or section (if any) and insert -its name. - - You may optionally follow the node name argument to ‘@node’ with up -to three optional arguments on the rest of the same line, separating the -arguments with commas. These are the names of the 'Next', 'Previous', -and 'Up' pointers, in that order. Hence, the template for a -fully-written-out node line with 'Next', 'Previous', and 'Up' pointers -looks like this: - - @node NODE-NAME, NEXT, PREVIOUS, UP - - The NODE-NAME argument must be present, but the others are optional. -If you wish to specify some but not others, just insert commas as -needed, as in: ‘@node mynode,,,uppernode’. Any spaces before or after -each name on the ‘@node’ line are ignored. However, if your Texinfo -document is hierarchically organized, as virtually all are, we recommend -leaving off all the pointers and letting ‘texi2any’ determine them. - - The ‘texi2any’ program automatically determines node pointers for a -hierarchically organized document. For it to do this, each ‘@node’ -command should be followed immediately by a sectioning command such as -‘@chapter’ or ‘@section’ (except that comment lines may intervene). -Finally, you must follow the 'Top' ‘@node’ line with a line beginning -with ‘@top’ to mark the top-level node in the file. *Note @top -Command::. - - Even when you explicitly specify all pointers, you cannot write the -nodes in the Texinfo source file in an arbitrary order. You must write -the nodes in the order you wish them to appear in the output. For Info -format one can imagine that the order may not matter, but it matters for -the other formats. - - In most cases, you will want to take advantage of the pointer -creation feature, and not redundantly specify node pointers that the -programs can determine. However, Texinfo documents are not required to -be organized hierarchically or in fact to contain sectioning commands at -all (for example, if you never intend the document to be printed), so -node pointers may still be specified explicitly, in full generality. - - If you are using GNU Emacs, and want explicit pointers, you can use -the update node commands provided by Texinfo mode to insert the names of -the pointers. (*Note Updating Nodes and Menus::.) - - Alternatively, you can insert the 'Next', 'Previous', and 'Up' -pointers yourself. If you do this in Emacs, you may find it helpful to -use the Texinfo mode keyboard command ‘C-c C-c n’. This command inserts -‘@node’ and a comment line listing the names of the pointers in their -proper order. The comment line helps you keep track of which arguments -are for which pointers. - - -File: texinfo.info, Node: Node Names, Next: Node Line Requirements, Prev: Writing a Node, Up: Nodes - -3.2 Choosing Node Names -======================= - -The name of a node identifies the node. For all the details of node -names, *note Node Line Requirements::). - - Here are some suggestions for node names: - - • Try to pick node names that are informative but short. - - In the Info file, the file name, node name, and pointer names are - all inserted on one line, which may run into the right edge of the - window. (This does not cause a problem with Info, but is ugly.) - - • Try to pick node names that differ from each other near the - beginnings of their names. This way, it is easy to use automatic - name completion in Info. - - • Conventionally, node names are capitalized in the same way as - section and chapter titles. In this manual, initial and - significant words are capitalized; others are not. In other - manuals, just initial words and proper nouns are capitalized. - Either way is fine; we recommend just being consistent. - - • In HTML output, any characters in the node name other than plain - ASCII letters, numbers or spaces will be changed in the file name. - (*Note HTML Xref Node Name Expansion::.) This can make the URLs - for the pages in your manual less user-friendly; for example, in - this manual the ‘@dots’ node is output as ‘__0040dots.html’. - - Because node names are used in cross-references, it is not desirable -to casually change them once published. When you delete or rename a -node, it is usually a good idea to define an ‘@anchor’ with the old -name. That way, references from other manuals, from mail archives, and -so on are not invalidated. *Note @anchor::. - - The pointers from a given node enable you to reach other nodes and -consist simply of the names of those nodes. - - Normally, a node's 'Up' pointer contains the name of the node whose -menu mentions that node. The node's 'Next' pointer contains the name of -the node that follows the present node in that menu and its 'Previous' -pointer contains the name of the node that precedes it in that menu. -When a node's 'Previous' node is the same as its 'Up' node, both -pointers name the same node. - - Usually, the first node of a Texinfo file is the 'Top' node, and its -'Up' pointer points to the ‘dir’ file, which contains the main menu for -all of Info. - - -File: texinfo.info, Node: Node Line Requirements, Next: First Node, Prev: Node Names, Up: Nodes - -3.3 ‘@node’ Line Requirements -============================= - -Names used with ‘@node’ have several requirements: - - • All the node names in a single Texinfo file must be unique. - - This means, for example, that if you end every chapter with a - summary, you must name each summary node differently. You cannot - just call them all "Summary". You may, however, duplicate the - titles of chapters, sections, and the like. Thus you can end each - chapter with a section called "Summary", so long as the node names - for those sections are all different. - - Node names, anchor names (*note @anchor::), and float labels (*note - @float::) must all be unique. - - • Node names can contain @-commands(1). For example, using ‘@TeX{}’ - in a node name results in the TeX logo being output, as it would be - in normal text. Cross-references should use ‘@TeX{}’ just as the - node name does. - - Some commands do not make sense in node names; for instance, - environments (e.g., ‘@quotation’), commands that read a whole line - as their argument (e.g., ‘@sp’), and plenty of others. For the - complete list of commands that are allowed, and their expansion for - HTML identifiers and file names, *note HTML Xref Command - Expansion::. - - • A node name may not start with a left parenthesis preceding a right - parenthesis, as in ‘(not)allowed’, since this syntax is used to - specify an external manual. - - • Unfortunately, you cannot reliably use periods, commas, or colons - within a node name; these can confuse some Info readers. - ‘texi2any’ quotes problematic node names and labels by default, but - some Info readers do not recognize this syntax. Node name and - label quoting causes ‘DEL’ characters (‘CTRL-?’, character number - 127, often rendered as ‘^?’) to appear around the name. To remove - node names and labels quoting, you can set the customization - variable ‘INFO_SPECIAL_CHARS_QUOTE’ to ‘0’ (*note Info and - Plaintext Customization Variables::). - - ‘texi2any’ warns about such problematic usage in node names, menu - items, and cross-references. If you don't want to see the - warnings, you can set the customization variable - ‘INFO_SPECIAL_CHARS_WARNING’ to ‘0’ (*note Info and Plaintext - Customization Variables::). - - If you insist on using these characters in node names, in order not - to confuse the Texinfo processors you must still escape those - characters, by using either special insertions (*note Inserting a - Comma::) or ‘@asis’ (*note @asis::). For example: - - @node foo@asis{::}bar@comma{} baz - - As an example of avoiding the special characters, the following is - a section title in this manual: - - @section @code{@@unnumbered}, @code{@@appendix}: Chapters with... - - But the corresponding node name lacks the commas and the subtitle: - - @node @code{@@unnumbered @@appendix} - - • Case is significant in node names. - - • Spaces before and after names on the ‘@node’ line are ignored. - Multiple whitespace characters "inside" a name are collapsed to a - single space. For example: - - @node foo bar - @node foo bar, - @node foo bar , - @node foo bar, - @node foo bar , - - all define the same node, namely ‘foo bar’. In menu entries, a - single internal space should be used in node names or some versions - of some Info readers will not find the node. - - ---------- Footnotes ---------- - - (1) Prior to the Texinfo 5 release in 2013, this feature was -supported in an ad hoc way (the ‘--commands-in-node-names’ option to -‘makeinfo’). Now it is part of the language. - - -File: texinfo.info, Node: First Node, Next: @top Command, Prev: Node Line Requirements, Up: Nodes - -3.4 The First Node -================== - -The first node of a Texinfo file is the “Top” node, except in an -included file (*note Include Files::). The Top node should contain a -short summary and a master menu. *Note The Top Node:: for more -information on the Top node contents and examples. Straight text before -the Top node outside of any node should be avoided. Such text, if -present, is not output for DocBook. - - Here is a description of the node pointers to be used in the Top -node: - - • The Top node (which must be named ‘top’ or ‘Top’) should have as - its 'Up' node the name of a node in another file, where there is a - menu that leads to this file. Specify the file name in - parentheses. - - Usually, all Info files are available through a single virtual Info - tree, constructed from multiple directories. In this case, use - ‘(dir)’ as the parent of the Top node; this specifies the top-level - node in the ‘dir’ file, which contains the main menu for the Info - system as a whole. (Each directory with Info files is intended to - contain a file named ‘dir’.) - - That's fine for Info, but for HTML output, one might well want the - Up link from the Top node to go to some specific place. For - example, for GNU the natural place would be - <http://www.gnu.org/manual/> (a web page collecting links to most - GNU manuals), better specified as just ‘/manual/’ if the manual - will be installed on ‘www.gnu.org’. This can be specified with the - ‘TOP_NODE_UP_URL’ customization variable (*note File Names and - Links Customization for HTML::), as in - - $ texi2any --html -c TOP_NODE_UP_URL=/manual/ ... - - • The 'Prev' node of the Top node is usually omitted. - - • The 'Next' node of the Top node should be the first chapter in your - document. - - *Note Installing an Info File::, for more information about -installing an Info file in the ‘info’ directory. - - It is usually best to leave the pointers off entirely and let the -tools implicitly define them, with this simple result: - - @node Top - - -File: texinfo.info, Node: @top Command, Next: Texinfo Document Structure, Prev: First Node, Up: Nodes - -3.5 The ‘@top’ Sectioning Command -================================= - -The ‘@top’ command is a special sectioning command that you should only -use after a ‘@node Top’ line at the beginning of a Texinfo file. - - It produces the same sort of output as ‘@unnumbered’ (*note -@unnumbered @appendix::). In LaTeX ‘\part*’ is used. - - ‘@top’ is ignored when raising or lowering sections. That is, it is -never lowered and nothing can be raised to it (*note Raise/lower -sections::). - - It used to be conventional to wrap the ‘Top’ node in an ‘@ifnottex’ -conditional so that it would not appear in printed output (*note -Conditionals::). Thus, a Top node often looked like this: - - @ifnottex - @node Top - @top YOUR-MANUAL-TITLE - - VERY-HIGH-LEVEL-SUMMARY - @end ifnottex - - This is no longer necessary, as the ‘Top’ node is now never output -for printed output. The ‘Top’ node is not output for DocBook either. - - -File: texinfo.info, Node: Texinfo Document Structure, Next: Node Menu Illustration, Prev: @top Command, Up: Nodes - -3.6 Texinfo Document Structure -============================== - -Nodes can contain “menus”, which contain the names of “child nodes” -within the parent node; for example, a node corresponding to a chapter -would have a menu of the sections in that chapter. The menus allow the -user to move to the child nodes in the Info output. - - In addition, nodes contain “node pointers” that name other nodes. -The 'Next' and 'Previous' pointers link nodes at the same sectioning -level into a chain. As you might imagine, the 'Next' pointer links to -the next node, and the 'Previous' pointer links to the previous node. -In general, 'Next' and 'Previous' refer to nodes at the _same -hierarchical level_ in the manual, not necessarily to the next node -within the Texinfo file. In the Texinfo file, the subsequent node may -be at a lower level--a section-level node most often follows a -chapter-level node, for example. Thus, for example, all the nodes that -are at the level of sections within a chapter are linked together, and -the order in this chain is the same as the order of the children in the -menu of the parent chapter. Each child node records the parent node -name as its 'Up' pointer. - - Since the 'Top' node is the only node at that level, 'Next' refers to -the first following node, which is almost always a chapter or -chapter-level node. This is an exception to the rule of 'Next' being at -the same hierarchical level. - - The Info and HTML output for each node includes links to the 'Next', -'Previous', and 'Up' nodes. The HTML also uses the ‘accesskey’ -attribute with the values ‘n’, ‘p’, and ‘u’ respectively. This allows -people using web browsers to follow the navigation using (typically) -‘M-LETTER’, e.g., ‘M-n’ for the 'Next' node, from anywhere within the -node. Node pointers and menus provide structure for Info files just as -chapters, sections, subsections, and the like provide structure for -printed books. The two structures are theoretically distinct; in -practice, however, the tree structure of printed books is essentially -always used for the node and menu structure also, as this leads to a -document which is easy to follow. - - Typically, the sectioning structure and the node structure are -completely parallel, with one node for each chapter, section, etc., and -with the nodes following the same hierarchical arrangement as the -sectioning. Thus, if a node is at the logical level of a chapter, its -child nodes are at the level of sections; similarly, the child nodes of -sections are at the level of subsections. - - It is technically possible to create Texinfo documents with only one -structure or the other, or for the two structures not to be parallel, or -for either the sectioning or node structure to be different from the -conventional structure. To the best of our knowledge, however, all the -Texinfo manuals currently in general use do follow the conventional -parallel structure. - - -File: texinfo.info, Node: Node Menu Illustration, Next: Node Descriptions, Prev: Texinfo Document Structure, Up: Nodes - -3.7 Node and Menu Illustration -============================== - -Here is a diagram that illustrates a Texinfo file with three chapters, -each of which contains two sections. - - The "root" is at the top of the diagram and the "leaves" are at the -bottom. This is how such a diagram is drawn conventionally; it -illustrates an upside-down tree. For this reason, the root node is -called the 'Top' node, and 'Up' node pointers carry you closer to the -root. - - Top - | - ------------------------------------- - | | | - Chapter 1 Chapter 2 Chapter 3 - | | | - -------- -------- -------- - | | | | | | - Section Section Section Section Section Section - 1.1 1.2 2.1 2.2 3.1 3.2 - - Using explicit pointers (not recommended, but shown for purposes of -the example), the fully-written command to start Chapter 2 would be -this: - - @node Chapter 2, Chapter 3, Chapter 1, Top - @comment node-name, next, previous, up - -This ‘@node’ line says that the name of this node is "Chapter 2", the -name of the 'Next' node is "Chapter 3", the name of the 'Previous' node -is "Chapter 1", and the name of the 'Up' node is "Top". You can (and -should) omit writing out these node names if your document is -hierarchically organized, but the pointer relationships still obtain. - - To go to Sections 2.1 and 2.2 using Info, you need a menu inside -Chapter 2. (*Note Menus::.) You would write the menu just before the -beginning of Section 2.1, like this: - - @menu - * Sect. 2.1:: Description of this section. - * Sect. 2.2:: Description. - @end menu - - The automatic pointers for the node for Sect. 2.1 correspond to: - - @node Sect. 2.1, Sect. 2.2, , Chapter 2 - @comment node-name, next, previous, up - - Note that no 'Prev' pointer is generated, since there is no other -node at the same hierarchical level before Sect. 2.1. - - Using explicit pointers, the node for Sect. 2.1 could be written like -this: - - @node Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2 - @comment node-name, next, previous, up - - With automatic pointers, the 'Next' and 'Previous' pointers of a node -lead to other nodes at the same level--from chapter to chapter or from -section to section. As shown, when using explicit pointers, the -pointers can also lead somewhere else, here, for example, the 'Previous' -pointer points up. An 'Up' pointer usually leads to a node at the level -above (closer to the 'Top' node; and a 'Menu' leads to nodes at a level -below (closer to 'leaves'). (A cross-reference can point to a node at -any level; see *note Cross References::.) - - Technically, explicit node pointers can carry you to any node, -regardless of the structure of the document; even to nodes in a -different Info file. However, it would be very confusing for readers to -have the 'Next', 'Previous' and 'Up' pointers lead to nodes that do not -correspond, even loosely, to the next, previous and up node. - - A ‘@node’ command and a chapter structuring command are -conventionally used together, in that order, often followed by indexing -commands. (As shown in the example above, you may follow the ‘@node’ -line with a comment line, e.g., to show which pointer is which if -explicit pointers are used.) The Texinfo processors use this construct -to determine the relationships between nodes and sectioning commands. - - Here is the beginning of the chapter in this manual called "Ending a -Texinfo File". This shows a ‘@node’ line followed by a ‘@chapter’ line, -and then by indexing lines. - - @node Ending a File - @chapter Ending a Texinfo File - @cindex Ending a Texinfo file - @cindex Texinfo file ending - @cindex File ending - - -File: texinfo.info, Node: Node Descriptions, Next: Menus, Prev: Node Menu Illustration, Up: Nodes - -3.8 Node Descriptions -===================== - -You can provide a short description of the purpose of a node by using -the ‘@nodedescription’ command following the ‘@node’ line. Such a -description might elaborate on or extend the information in the node -name itself. - - You can also use a ‘@nodedescriptionblock’ environment to provide a -node description. This may be useful for longer descriptions. - - ‘texi2any’ uses the content you provide with these commands when -outputing menus for Info output format (and, optionally, for HTML). -‘texi2any’ uses the description after a menu entry for the node if it is -generating the menu automatically, or if no description for the menu -entry was provided in an explicit ‘@menu’ block. (*Note Menus::). - - Here is an example of using these commands: - - @node Tools - @chapter Tools - - This chapter is on different tools you can use. - - @node Screwdrivers - @nodedescription Flathead and Phillips. - @section Screwdrivers - - This section is about screwdrivers. - - @node Drills - @nodedescriptionblock - Making holes in things with power screwdrivers, drill drivers, combi - drills, impact drivers, hammer drills, breakers and demolition drills. - @end nodedescriptionblock - @section Drills - - This section is about drills. - - In Info output, ‘texi2any’ would output the ‘Tools’ node with a menu -as follows: - - * Menu: - - * Screwdrivers:: Flathead and Phillips. - * Drills:: Making holes in things with power - screwdrivers, drill drivers, combi - drills, impact drivers, hammer drills, - breakers and demolition drills. - - -File: texinfo.info, Node: Menus, Prev: Node Descriptions, Up: Nodes - -3.9 Menus -========= - -“Menus” contain pointers to subordinate nodes. In Info output, you use -menus to go to such nodes. ‘texi2any’ can output menus in HTML output, -but does not do so by default (*note HTML Output Structure -Customization::, ‘FORMAT_MENU’). Menus have no role in printed manuals -or other output formats. - - Menus are automatically generated by ‘texi2any’ when outputting Info -or HTML with menus for nodes followed by a sectioning command, without -an explicit ‘@menu’ block, and with automatic pointers. - - It is often more convenient to let ‘texi2any’ generate menus for you, -as you do not then have the burden of updating menu blocks in your -Texinfo source when you add, remove, or relocate nodes. In the usual -case of a hierarchically organized manual with sectioning commands -associated with nodes, and with node pointers left out, you should only -write menus if you want exact control over the contents and formatting -of menus in Info. - -* Menu: - -* Writing a Menu:: What is a menu? -* Menu Example:: Two and three part menu entries. -* Menu Location:: Menus go at the ends of nodes. -* Menu Parts:: A menu entry has three parts. -* Less Cluttered Menu Entry:: Two part menu entry. -* Other Info Files:: How to refer to a different Info file. - - -File: texinfo.info, Node: Writing a Menu, Next: Menu Example, Up: Menus - -3.9.1 Writing a Menu --------------------- - -A menu consists of a ‘@menu’ command on a line by itself, followed by -menu entry lines or menu comment lines, and then followed by an ‘@end -menu’ command on a line by itself. - - A menu looks like this: - - @menu - Larger Units of Text - - * Files:: All about handling files. - * Multiples: Buffers. Multiple buffers; editing - several files at once. - @end menu - - In a menu, every line that begins with an ‘* ’ is a “menu entry”. -(Note the space after the asterisk.) - - A line that does not start with an ‘* ’ may also appear in a menu. -Such a line is not a menu entry but rather a “menu comment” line that -appears in the Info file. In the example above, the line ‘Larger Units -of Text’ is such a menu comment line; the two lines starting with ‘* ’ -are menu entries. - - Technically, menus can carry you to any node, regardless of the -structure of the document; even to nodes in a different Info file. -However, the ‘texi2any’ implicit pointer creation feature (*note Writing -a Node::) and GNU Emacs Texinfo mode updating commands work only to -create menus of subordinate nodes in a hierarchically structured -document. In a hierarchically structured document, it is much better to -use cross-references to refer to arbitrary nodes. - - In Info, a user selects a node with the ‘m’ (‘Info-menu’) command. -The menu entry name is what the user types after the ‘m’ command. In -the HTML output, the ‘accesskey’ attribute is used with the values -‘1’...‘9’ for the first nine entries. This allows people using web -browsers to follow the first menu entries using (typically) ‘M-DIGIT’, -e.g., ‘M-1’ for the first entry. - - -File: texinfo.info, Node: Menu Example, Next: Menu Location, Prev: Writing a Menu, Up: Menus - -3.9.2 A Menu Example --------------------- - -A menu looks like this in Texinfo: - - @menu - * menu entry name: Node name. A short description. - * Node name:: This form is preferred. - @end menu - -This produces: - - * Menu: - - * menu entry name: Node name. A short description. - * Node name:: This form is preferred. - - Here is an example as you might see it in a Texinfo file: - - @menu - Larger Units of Text - - * Files:: All about handling files. - * Multiples: Buffers. Multiple buffers; editing - several files at once. - @end menu - -This produces: - - * Menu: - Larger Units of Text - - * Files:: All about handling files. - * Multiples: Buffers. Multiple buffers; editing - several files at once. - - In this example, the menu has two entries. ‘Files’ is both a menu -entry name and the name of the node referred to by that name. -‘Multiples’ is the menu entry name; it refers to the node named -‘Buffers’. The line ‘Larger Units of Text’ is a comment; it appears in -the menu, but is not an entry. - - Since no file name is specified with either ‘Files’ or ‘Buffers’, -they must be the names of nodes in the same Info file (*note Referring -to Other Info Files: Other Info Files.). - - -File: texinfo.info, Node: Menu Location, Next: Menu Parts, Prev: Menu Example, Up: Menus - -3.9.3 Menu Location -------------------- - -There may be at most one menu in a node. A menu is conventionally -located at the end of a node, without any regular text or additional -commands between the ‘@end menu’ and the beginning of the next node. - - This convention is useful, since a reader who uses the menu could -easily miss any such text. Also, any such post-menu text will be -considered part of the menu in Info output (which has no marker for the -end of a menu). Thus, a line beginning with ‘* ’ will likely be -incorrectly handled. - - It's usually best if a node with a menu does not contain much text. -If you find yourself with a lot of text before a menu, we generally -recommend moving all but a couple of paragraphs into a new subnode. -Otherwise, it is easy for readers to miss the menu. - - -File: texinfo.info, Node: Menu Parts, Next: Less Cluttered Menu Entry, Prev: Menu Location, Up: Menus - -3.9.4 The Parts of a Menu -------------------------- - -A menu entry has three parts, only the second of which is required: - - 1. The menu entry name (optional). - - 2. The name of the node (required). - - 3. A description of the item (optional). - - The template for a generic menu entry looks like this (but see the -next section for one more possibility): - - * MENU-ENTRY-NAME: NODE-NAME. DESCRIPTION - - Follow the menu entry name with a single colon, and follow the node -name with tab, comma, newline, or the two characters period and space -(‘. ’). - - The third part of a menu entry is a descriptive phrase or sentence. -Menu entry names and node names are often short; the description -explains to the reader what the node is about. A useful description -complements the node name rather than repeats it. The description, -which is optional, can spread over multiple lines; if it does, some -authors prefer to indent the second line while others prefer to align it -with the first (and all others). It's up to you. An empty line, or the -next menu entry, ends a description. - - Space characters in a menu are preserved as-is in the Info output; -this allows you to format the menu as you wish. Unfortunately you must -type node names without any extra spaces or some versions of some Info -readers will not find the node (*note Node Line Requirements::). - - ‘texi2any’ warns and protect names when the text of a menu item (and -node names and cross-references) contains a problematic construct that -could interfere with its parsing in Info. *Note Info Node Names -Constraints::. - - -File: texinfo.info, Node: Less Cluttered Menu Entry, Next: Other Info Files, Prev: Menu Parts, Up: Menus - -3.9.5 Less Cluttered Menu Entry -------------------------------- - -When the menu entry name and node name are the same, you can write the -name immediately after the asterisk and space at the beginning of the -line and follow the name with two colons. - - For example, write - - * Name:: DESCRIPTION - -instead of - - * Name: Name. DESCRIPTION - - We recommend using the node name for the menu entry name whenever -possible, since it reduces visual clutter in the menu. - - -File: texinfo.info, Node: Other Info Files, Prev: Less Cluttered Menu Entry, Up: Menus - -3.9.6 Referring to Other Info Files ------------------------------------ - -You can create a menu entry that enables a reader in Info to go to a -node in another Info file by writing the file name in parentheses just -before the node name. Some examples: - - @menu - * FIRST-ENTRY-NAME:(FILENAME)NODENAME. DESCRIPTION - * (FILENAME)SECOND-NODE:: DESCRIPTION - @end menu - - For example, to refer directly to the ‘Outlining’ and ‘Rebinding’ -nodes in the ‘Emacs Manual’, you could write a menu like this: - - @menu - * Outlining: (emacs)Outline Mode. The major mode for - editing outlines. - * (emacs)Rebinding:: How to redefine the - meaning of a key. - @end menu - - If you do not list the node name, but only name the file, then Info -presumes that you are referring to the 'Top' node. Examples: - - * Info: (info). Documentation browsing system. - * (emacs):: The extensible, self-documenting - text editor. - - The GNU Emacs Texinfo mode menu updating commands only work with -nodes within the current buffer, so you cannot use them to create menus -that refer to other files. You must write such menus by hand. *Note -Updating Nodes and Menus::. - - -File: texinfo.info, Node: Chapter Structuring, Next: Cross References, Prev: Nodes, Up: Top - -4 Chapter Structuring -********************* - -Texinfo's “chapter structuring” commands divide a document into a -hierarchy of chapters, sections, subsections, and subsubsections. These -commands generate large headings in the text, like the one above. They -also provide information for generating the table of contents (*note -Generating a Table of Contents: Contents.). - - Normally you put a ‘@node’ command immediately before each chapter -structuring command. *Note Nodes::. - -* Menu: - -* Tree Structuring:: A manual is like an upside down tree ... -* Structuring Command Types:: -* @chapter:: -* @unnumbered @appendix:: -* @majorheading @chapheading:: -* @section:: -* @unnumberedsec @appendixsec @heading:: -* @subsection:: -* @unnumberedsubsec @appendixsubsec @subheading:: -* @subsubsection:: -* @part:: Collections of chapters. -* Raise/lower sections:: How to change commands' hierarchical level. - - -File: texinfo.info, Node: Tree Structuring, Next: Structuring Command Types, Up: Chapter Structuring - -4.1 Tree Structure of Sections -============================== - -A Texinfo file is usually structured like a book with chapters, -sections, subsections, and the like. This structure can be visualized -as a tree (or rather as an upside-down tree) with the root at the top -and the levels corresponding to chapters, sections, subsection, and -subsubsections. - - Here is a diagram that shows a Texinfo file with three chapters, each -with two sections. - - Top - | - ------------------------------------- - | | | - Chapter 1 Chapter 2 Chapter 3 - | | | - -------- -------- -------- - | | | | | | - Section Section Section Section Section Section - 1.1 1.2 2.1 2.2 3.1 3.2 - - In a Texinfo file that has this structure, the beginning of Chapter 2 -would be written like this: - - @node Chapter 2 - @chapter Chapter 2 - -For purposes of example, here is how it would be written with explicit -node pointers: - - @node Chapter 2, Chapter 3, Chapter 1, Top - @chapter Chapter 2 - - The chapter structuring commands are described in the sections that -follow; the ‘@node’ command is described in the previous chapter (*note -Nodes::). - - -File: texinfo.info, Node: Structuring Command Types, Next: @chapter, Prev: Tree Structuring, Up: Chapter Structuring - -4.2 Structuring Command Types -============================= - -The chapter structuring commands fall into four groups, each of which -contains structuring commands at the levels of chapters, sections, -subsections, and subsubsections: - - • The ‘@chapter’-like commands and ‘@appendix’-like commands produce - numbered or lettered entries both in the body of a document and in - its table of contents. - - • The ‘@unnumbered’-like commands produce unnumbered entries both in - the body of a document and in its table of contents. The ‘@top’ - command, which has a special use, is a member of this group (*note - @top Command::). An ‘@unnumbered’ section is a normal part of the - document structure. - - • The ‘@heading’-like commands produce simple unnumbered headings - that do not appear in a table of contents, are not associated with - nodes, and cannot be cross-referenced. These heading commands - never start a new page. - - In printed output, the chapter structuring commands produce headings -in the document. When a ‘@setchapternewpage’ command says to do so, the -‘@chapter’, ‘@unnumbered’, and ‘@appendix’ commands start new pages in -the printed manual; the ‘@heading’ commands do not. *Note -@setchapternewpage::. - - In Info and plain text output, the command causes the title to appear -on a line by itself, with a line of an ASCII character (‘*’, ‘=’, ...) -inserted underneath. For example, the "Chapter Structuring" heading -could be: - - 5 Chapter Structuring - ********************* - -The underlining character is the same for all the commands at the same -level. For instance, it is the same for the chapter-level commands -‘@chapter’, ‘@apppendix’, ‘@unnumbered’ and ‘@chapheading’. - - In HTML, the chapter-level commands produce an ‘<h2>’-level header by -default (controlled by the ‘CHAPTER_HEADER_LEVEL’ customization -variable, *note HTML Customization of Specific Output::). The heading -element level is adjusted for the other commands. - - In the DocBook output, the appropriate level of element is used. The -produced element includes all following sections up to the next command -at the same or higher level. For example, a ‘<chapter>’ element is -produced for ‘@chapter’, and contains any sections or subsections in the -chapter. - - Here is a summary: - - No new page -Numbered Unnumbered Lettered/numbered Unnumbered -In contents In contents In contents Not in - contents - ‘@top’ ‘@majorheading’ -‘@chapter’ ‘@unnumbered’ ‘@appendix’ ‘@chapheading’ -‘@section’ ‘@unnumberedsec’ ‘@appendixsec’ ‘@heading’ -‘@subsection’ ‘@unnumberedsubsec’ ‘@appendixsubsec’ ‘@subheading’ -‘@subsubsection’‘@unnumberedsubsubsec’‘@appendixsubsubsec’ ‘@subsubheading’ - - -File: texinfo.info, Node: @chapter, Next: @unnumbered @appendix, Prev: Structuring Command Types, Up: Chapter Structuring - -4.3 ‘@chapter’: Chapter Structuring -=================================== - -‘@chapter’ identifies a chapter in the document-the highest level of the -normal document structuring hierarchy. Write the command at the -beginning of a line and follow it on the same line by the title of the -chapter. The chapter is numbered automatically, starting from 1. - - For example, the present chapter in this manual is entitled "Chapter -Structuring"; the ‘@chapter’ line looks like this: - - @chapter Chapter Structuring - - -File: texinfo.info, Node: @unnumbered @appendix, Next: @majorheading @chapheading, Prev: @chapter, Up: Chapter Structuring - -4.4 ‘@unnumbered’, ‘@appendix’: Chapters with Other Labeling -============================================================ - -Use the ‘@unnumbered’ command to start a chapter-level element that -appears without chapter numbers of any kind. Use the ‘@appendix’ -command to start an appendix that is labeled by letter ('A', 'B', ...) -instead of by number; appendices are also at the chapter level of -structuring. - - Write an ‘@appendix’ or ‘@unnumbered’ command at the beginning of a -line and follow it on the same line by the title, just as with -‘@chapter’. - - Texinfo also provides a command ‘@centerchap’, which is analogous to -‘@unnumbered’, but centers its argument in the printed and HTML outputs. -This kind of stylistic choice is not usually offered by Texinfo. You -are recommended not to use this command, as it may be removed in future -releases of Texinfo. - - With ‘@unnumbered’, if the name of the associated node is one of -these English words (case-insensitive): - - Acknowledgements Colophon Dedication Preface - -then the DocBook output uses corresponding special tags (‘<preface>’, -etc.) instead of the default ‘<chapter>’. The argument to ‘@unnumbered’ -itself can be anything, and is output as the element title as usual. - - -File: texinfo.info, Node: @majorheading @chapheading, Next: @section, Prev: @unnumbered @appendix, Up: Chapter Structuring - -4.5 ‘@majorheading’, ‘@chapheading’: Chapter-level Headings -=========================================================== - -The ‘@majorheading’ and ‘@chapheading’ commands produce chapter-like -headings in the body of a document. - - However, neither command produces an entry in the table of contents, -and neither command causes TeX to start a new page in a printed manual. - - In TeX, a ‘@majorheading’ command generates a larger vertical -whitespace before the heading than a ‘@chapheading’ command but is -otherwise the same. - - In other output formats, the ‘@majorheading’ and ‘@chapheading’ -commands produce a similar output to ‘@chapter’. The difference is the -lack of numbering and the lack of any association with nodes. *Note -@chapter::. - - -File: texinfo.info, Node: @section, Next: @unnumberedsec @appendixsec @heading, Prev: @majorheading @chapheading, Up: Chapter Structuring - -4.6 ‘@section’: Sections Below Chapters -======================================= - -An ‘@section’ command identifies a section within a chapter unit, -whether created with ‘@chapter’, ‘@unnumbered’, or ‘@appendix’, -following the numbering scheme of the chapter-level command. Thus, -within a ‘@chapter’ chapter numbered '1', the sections are numbered -'1.1', '1.2', etc.; within an ‘@appendix’ "chapter" labeled 'A', the -sections are numbered 'A.1', 'A.2', etc.; within an ‘@unnumbered’ -chapter, the section gets no number. - - To make a section, write the ‘@section’ command at the beginning of a -line and follow it on the same line by the section title. For example: - - @section This is a section - - Section titles are listed in the table of contents. - - -File: texinfo.info, Node: @unnumberedsec @appendixsec @heading, Next: @subsection, Prev: @section, Up: Chapter Structuring - -4.7 ‘@unnumberedsec’, ‘@appendixsec’, ‘@heading’ -================================================ - -The ‘@unnumberedsec’, ‘@appendixsec’, and ‘@heading’ commands are, -respectively, the unnumbered, appendix-like, and heading-like -equivalents of the ‘@section’ command (see the previous section). - - ‘@unnumberedsec’ and ‘@appendixsec’ do not need to be used in -ordinary circumstances, because ‘@section’ may also be used within -‘@unnumbered’ and ‘@appendix’ chapters; again, see the previous section. - -‘@unnumberedsec’ - The ‘@unnumberedsec’ command may be used within an unnumbered - chapter or within a regular chapter or appendix to produce an - unnumbered section. - -‘@appendixsec’ -‘@appendixsection’ - ‘@appendixsection’ is a longer spelling of the ‘@appendixsec’ - command; the two are synonymous. - - Conventionally, the ‘@appendixsec’ or ‘@appendixsection’ command is - used only within appendices. - -‘@heading’ - You may use the ‘@heading’ command (almost) anywhere for a - section-style heading that will not appear in the table of - contents. The ‘@heading’-series commands can appear inside most - environments, for example, though pathological and useless - locations such as an argument to another command, etc., are not - allowed. - - -File: texinfo.info, Node: @subsection, Next: @unnumberedsubsec @appendixsubsec @subheading, Prev: @unnumberedsec @appendixsec @heading, Up: Chapter Structuring - -4.8 ‘@subsection’: Subsections Below Sections -============================================= - -Subsections are to sections as sections are to chapters; *note -@section::. For example: - - @subsection This is a subsection - - Subsection titles are listed in the table of contents. - - -File: texinfo.info, Node: @unnumberedsubsec @appendixsubsec @subheading, Next: @subsubsection, Prev: @subsection, Up: Chapter Structuring - -4.9 The ‘@subsection’-like Commands -=================================== - -The ‘@unnumberedsubsec’, ‘@appendixsubsec’, and ‘@subheading’ commands -are, respectively, the unnumbered, appendix-like, and heading-like -equivalents of the ‘@subsection’ command. (*Note @subsection::.) - - ‘@unnumberedsubsec’ and ‘@appendixsubsec’ do not need to be used in -ordinary circumstances, because ‘@subsection’ may also be used within -sections of ‘@unnumbered’ and ‘@appendix’ chapters (*note @section::). - - An ‘@subheading’ command produces a heading like that of a subsection -except that it is not numbered and does not appear in the table of -contents. Similarly, an ‘@unnumberedsubsec’ command produces an -unnumbered heading like that of a subsection and an ‘@appendixsubsec’ -command produces a subsection-like heading labeled with a letter and -numbers; both of these commands produce headings that appear in the -table of contents. - - -File: texinfo.info, Node: @subsubsection, Next: @part, Prev: @unnumberedsubsec @appendixsubsec @subheading, Up: Chapter Structuring - -4.10 ‘@subsubsection’ and Other Subsub Commands -=============================================== - -The fourth and lowest level sectioning commands in Texinfo are the -'subsub' commands. They are: - -‘@subsubsection’ - Subsubsections are to subsections as subsections are to sections. - (*Note @subsection::.) Subsubsection titles appear in the table of - contents. - -‘@unnumberedsubsubsec’ - Unnumbered subsubsection titles appear in the table of contents, - but lack numbers. Otherwise, unnumbered subsubsections are the - same as subsubsections. - -‘@appendixsubsubsec’ - Conventionally, appendix commands are used only for appendices and - are lettered and numbered appropriately. They also appear in the - table of contents. - -‘@subsubheading’ - The ‘@subsubheading’ command may be used anywhere that you want a - small heading that will not appear in the table of contents. - - As with subsections, ‘@unnumberedsubsubsec’ and ‘@appendixsubsubsec’ -do not need to be used in ordinary circumstances, because -‘@subsubsection’ may also be used within subsections of ‘@unnumbered’ -and ‘@appendix’ chapters (*note @section::). - - -File: texinfo.info, Node: @part, Next: Raise/lower sections, Prev: @subsubsection, Up: Chapter Structuring - -4.11 ‘@part’: Groups of Chapters -================================ - -The final sectioning command is ‘@part’, to mark a “part” of a manual, -that is, a group of chapters or (rarely) appendices. This behaves quite -differently from the other sectioning commands, to fit with the way such -"parts" are conventionally used in books. - - No ‘@node’ command is associated with ‘@part’. Just write the -command on a line by itself, including the part title, at the place in -the document you want to mark off as starting that part. For example: - - @part Part I:@* The beginning - - As can be inferred from this example, no automatic numbering or -labeling of the ‘@part’ text is done. The text is taken as-is. - - Because parts are not associated with nodes, no general text can -follow the ‘@part’ line. To produce the intended output, it must be -followed by a chapter-level command (including its node). Thus, to -continue the example: - - @part Part I:@* The beginning - - @node Introduction - @chapter Introduction - ... - - In the TeX output, the ‘@part’ text is included in both the normal -and short tables of contents (*note Contents::), without a page number -(since that is the normal convention). In addition, a "part page" is -output in the body of the document, with just the ‘@part’ text. In the -example above, the ‘@*’ causes a line break on the part page (but is -replaced with a space in the tables of contents). This part page is -always forced to be on an odd (right-hand) page, regardless of the -chapter pagination (*note @setchapternewpage::). In the LaTeX output, -the ‘@part’ is output as ‘\part’. - - In the HTML output, the ‘@part’ text is similarly included in the -tables of contents, and a heading is included in the main document text, -as part of the following chapter or appendix node. - - In the DocBook output, the ‘<part>’ element includes all the -following chapters, up to the next ‘<part>’. A ‘<part>’ containing -chapters is also closed at an appendix. - - In the Info and plain text output, ‘@part’ has no effect. - - ‘@part’ is ignored when raising or lowering sections (see next -section). That is, it is never lowered and nothing can be raised to it. - - -File: texinfo.info, Node: Raise/lower sections, Prev: @part, Up: Chapter Structuring - -4.12 Raise/lower Sections: ‘@raisesections’ and ‘@lowersections’ -================================================================ - -The ‘@raisesections’ and ‘@lowersections’ commands implicitly raise and -lower the hierarchical level of following chapters, sections and the -other sectioning commands (excluding parts). - - That is, the ‘@raisesections’ command changes sections to chapters, -subsections to sections, and so on. Conversely, the ‘@lowersections’ -command changes chapters to sections, sections to subsections, and so -on. Thus, a ‘@lowersections’ command cancels a ‘@raisesections’ -command, and vice versa. - - As a practical matter, you generally only want to raise or lower -large chunks, usually in external files. You can use ‘@lowersections’ -to include text written as an outer or standalone Texinfo file in -another Texinfo file as an inner, included file (*note Include Files::). -Typical usage looks like this: - - @lowersections - @include somefile.texi - @raisesections - -(Without the ‘@raisesections’, all the subsequent sections in the main -file would also be lowered.) - - If the included file being lowered has a ‘@top’ node, you'll need to -conditionalize its inclusion with a flag (*note @set @value::). - - Any menus in the final result have to take the raising and lowering -into account, so arbitrarily sprinkling ‘@raisesections’ and -‘@lowersections’ commands throughout the document will likely lead to -errors (unless the menus in your document are all generated -automatically). - - Repeated use of the commands continues to raise or lower the -hierarchical level a step at a time. An attempt to raise above -'chapter' reproduces chapter commands; an attempt to lower below -'subsubsection' reproduces subsubsection commands. Also, lowered -subsubsections and raised chapters will not work with ‘texi2any’'s -feature of implicitly determining node pointers, since the menu -structure cannot be represented correctly. - - Write each ‘@raisesections’ and ‘@lowersections’ command on a line of -its own. - - -File: texinfo.info, Node: Cross References, Next: Marking Text, Prev: Chapter Structuring, Up: Top - -5 Cross-references -****************** - -“Cross-references” are used to refer the reader to other parts of the -same or different Texinfo files. - - Use cross-references to provide access to information that is too -detailed for the current context, or incidental to it. An online help -system or a reference manual is not like a novel; few read such -documents in sequence from beginning to end. Instead, people look up -what they need. For this reason, such creations should contain many -cross-references to help readers find other information that they may -not have read. - - In a printed manual, a cross-reference results in a page reference, -unless it is to another manual altogether, in which case the -cross-reference names that manual. In Info, a cross-reference results -in an entry that you can follow using the Info ‘f’ command. (*Note -Following cross-references: (info)Help-Xref.) In HTML, a -cross-reference results in an hyperlink. In DocBook, the ‘<link>’ -element is used for cross-references unless it is to another manual, in -which case the cross-reference names that manual. - - The various cross-reference commands use nodes, anchors (*note -@anchor::) or float labels (*note @float::) to define cross-reference -locations. When TeX generates a DVI file, it records each -cross-reference location page number and uses the page numbers in making -references. Thus, even if you are writing a manual that will only be -printed, and not used online, you must nonetheless write ‘@node’ lines -(or ‘@anchor’ anchors) in order to name the places to which you make -cross-references. - -* Menu: - -* Cross Reference Commands:: A summary of the different commands. -* Cross Reference Parts:: A cross-reference has several parts. -* One Argument:: ‘@xref’ with one argument. -* Two Arguments:: ‘@xref’ with two arguments. -* Three Arguments:: ‘@xref’ with three arguments. -* Four and Five Arguments:: ‘@xref’ with four and five arguments. -* Referring to a Manual as a Whole:: Refer to an entire manual. -* @xref:: Begin a reference with 'See' ... -* @ref:: A reference for the last part of a sentence. -* @pxref:: How to write a parenthetical cross-reference. -* @anchor:: Defining arbitrary cross-reference targets -* @link:: How to make a plain link. -* @inforef:: How to refer to an Info-only file. -* @url:: How to refer to a uniform resource locator. -* @cite:: How to refer to books not in the Info system. -* PDF Colors:: Colorizing URLs and other links in PDF output. - - -File: texinfo.info, Node: Cross Reference Commands, Next: Cross Reference Parts, Up: Cross References - -5.1 Different Cross-reference Commands -====================================== - -There are three different cross-reference commands: - -‘@xref’ - Used to start a sentence with an Info cross-reference saying ‘*Note - NAME: NODE.’ or with 'See ...' in other output formats. - -‘@ref’ - Used within or, more often, at the end of a sentence; produces an - Info cross-reference saying ‘*note NAME: NODE.’, and just the - reference in other output formats, without the preceding 'See'. - -‘@pxref’ - Used within parentheses, at the end of a sentence, or otherwise - before punctuation, to make a reference. Its output starts with a - lowercase ‘*note’ in Info, and with a lowercase 'see' in the other - output formats. (‘p’ is for 'parenthesis'.) - - Additionally, there are commands to produce references to documents -outside the Texinfo system. The ‘@cite’ command is used to make -references to books and manuals. ‘@url’ produces a URL, for example a -reference to a page on the World Wide Web. - - -File: texinfo.info, Node: Cross Reference Parts, Next: One Argument, Prev: Cross Reference Commands, Up: Cross References - -5.2 Parts of a Cross-reference -============================== - -A cross-reference command requires only one argument, which is the name -of the node to which it refers. A cross-reference command may contain -up to four additional arguments. The template for a full five argument -cross-reference looks like this: - - @xref{NODE-NAME, ONLINE-LABEL, PRINTED-LABEL, - MANUAL-NAME, PRINTED-MANUAL-TITLE} - - The five possible arguments for a cross-reference are: - - 1. The node or anchor name. This is the location to which the - cross-reference takes you. In a printed document, the location of - the node provides the page reference only for references within the - same document. Use ‘@node’ to define the node (*note Writing a - Node::), ‘@anchor’ (*note @anchor::), or ‘@float’ (*note @float::) - with a label. This argument is required (except for reference to - whole manuals). - - Write a node name in a cross-reference in exactly the same way as - in the ‘@node’ line, including the same capitalization; otherwise, - the processors may not find the reference. - - 2. A label for online output. It is usually omitted; then the topic - description (third argument) is used if it was specified; if that - was omitted as well, the node name is used. - - 3. A label for printed output. Often, this is the title or topic of - the section. This is used as the name of the reference in the - printed manual. If omitted, the node name is used. - - 4. The name of the manual to which the reference refers, if it is - outside the current manual, in a different Texinfo file. - - 5. The title of the printed manual to which the reference refers, from - a different Texinfo file. - - Whitespace before and after the commas separating these arguments is -ignored. To include a comma in one of the arguments, use ‘@comma{}’ -(*note Inserting a Comma::). - - Cross-references with one, two, three, four, and five arguments are -described separately in following sections. - - When processing with TeX, a comma is automatically inserted after the -page number for cross-references to within the same manual, unless the -closing brace of the argument is followed by non-whitespace (such as a -comma or period). This gives you the choice of whether to have a comma -there in other output formats. For example, - - @xref{Another Section} for more info - -with TeX produces 'See Another Section, page PPP, for more info', and in -the Info output produces ‘*Note Another Section:: for more info’. - - If an unwanted comma is added, follow the argument with a command -such as ‘@:’. For example, ‘@xref{Hurricanes}@: --- for the details’ -produces - - See Hurricanes, page PPP -- for the details - -instead of 'See Hurricanes, page PPP, -- for the details'. - - ‘texi2any’ warns and protect names when the text of a cross-reference -(and node names and menu items) contains a problematic construct that -could interfere with its parsing in Info. *Note Info Node Names -Constraints::. - - -File: texinfo.info, Node: One Argument, Next: Two Arguments, Prev: Cross Reference Parts, Up: Cross References - -5.3 ‘@xref’ with One Argument -============================= - -The simplest form of ‘@xref’ takes one argument, the name of another -node in the same Texinfo file. - -For example, - - @xref{Tropical Storms}. - -produces - - *Note Tropical Storms::. - -in Info and - - See Section 3.1 [Tropical Storms], page 24. - -in a printed manual. - - -File: texinfo.info, Node: Two Arguments, Next: Three Arguments, Prev: One Argument, Up: Cross References - -5.4 ‘@xref’ with Two Arguments -============================== - -With two arguments, the second is used as a label for the online output. - -The template is like this: - - @xref{NODE-NAME, ONLINE-LABEL}. - -For example, - - @xref{Electrical Effects, Lightning}. - -produces: - - *Note Lightning: Electrical Effects. - -in Info and - - See Section 5.2 [Electrical Effects], page 57. - -in a printed manual, where the node name is printed. - - The second argument to cross-references shares constraints with node -names. The potentially problematic character in this context is the -colon. *Note Info Node Names Constraints::. - - -File: texinfo.info, Node: Three Arguments, Next: Four and Five Arguments, Prev: Two Arguments, Up: Cross References - -5.5 ‘@xref’ with Three Arguments -================================ - -A third argument replaces the node name in the printed output. The -third argument should be the name of the section in the printed output, -or else state the topic discussed by that section. - -The template is like this: - - @xref{NODE-NAME, ONLINE-LABEL, PRINTED-LABEL}. - -For example, - - @xref{Electrical Effects, Lightning, Thunder and Lightning}, - for details. - -produces - - *Note Lightning: Electrical Effects, for details. - -in Info and - - See Section 5.2 [Thunder and Lightning], page 57, for details. - -in a printed manual. - - If a third argument is given and the second one is empty, then the -third argument serves for both. (Note how two commas, side by side, -mark the empty second argument.) - - @xref{Electrical Effects, , Thunder and Lightning}, - for details. - -produces - - *Note Thunder and Lightning: Electrical Effects, for details. - -in Info and - - See Section 5.2 [Thunder and Lightning], page 57, for details. - -in a printed manual. - - The third argument to cross-references shares constraints with node -names. The potentially problematic character in this context is the -colon. *Note Info Node Names Constraints::. - - As a practical matter, it is often best to write cross-references -with just the first argument if the node name and the section title are -the same (or nearly so), and with the first and third arguments only if -the node name and title are different. - - Texinfo offers a setting to use the section title instead of node -names by default in cross-references (an explicitly specified third -argument still takes precedence): - - @xrefautomaticsectiontitle on - - Typically this line would be given near the beginning of the document -and used for the whole manual. But you can turn it off if you want -(‘@xrefautomaticsectiontitle off’), for example, if you're including -some other sub-document that doesn't have suitable section names. This -setting also applies to node headers in HTML, if -‘@xrefautomaticsectiontitle’ is on, the sections names are used in node -headers instead of the node names when possible. - - -File: texinfo.info, Node: Four and Five Arguments, Next: Referring to a Manual as a Whole, Prev: Three Arguments, Up: Cross References - -5.6 ‘@xref’ with Four and Five Arguments -======================================== - -In a cross-reference, a fourth argument specifies the name of another -manual, different from the file in which the reference appears, and a -fifth argument specifies its title as a printed manual. - -The full template is: - - @xref{NODE-NAME, ONLINE-LABEL, PRINTED-LABEL, - MANUAL-NAME, PRINTED-MANUAL-TITLE}. - -For example, - - @xref{Electrical Effects, Lightning, Thunder and Lightning, - weather, An Introduction to Meteorology}. - -produces this output in Info: - - *Note Lightning: (weather)Electrical Effects. - -As you can see, the name of the manual is enclosed in parentheses and -precedes the name of the node. In HTML, the manual name and the node -name are used to construct the hyperlink URL (*note HTML Xref::), while -the link text is based on the label. - -In a printed manual, the reference looks like this: - - See section "Thunder and Lightning" in ‘An Introduction to - Meteorology’. - -The title of the printed manual is typeset like ‘@cite’; and the -reference lacks a page number since the page a reference refers when -that reference is to another manual cannot be known. - - Next case: often, you will leave out the second argument when you use -the long version of ‘@xref’. In this case, the third argument, the -topic description, will be used as the cross-reference name in online -formats. For example, - - @xref{Electrical Effects, , Thunder and Lightning, - weather, An Introduction to Meteorology}. - -produces - - *Note Thunder and Lightning: (weather)Electrical Effects. - -in Info and - - See section "Thunder and Lightning" in ‘An Introduction to - Meteorology’. - -in a printed manual. - - Next case: If the node name and the section title are the same in the -other manual, you may also leave out the section title. In this case, -the node name is used in both instances. For example, - - @xref{Electrical Effects,,, - weather, An Introduction to Meteorology}. - -produces - - *Note (weather)Electrical Effects::. - -in Info and - - See section "Electrical Effects" in ‘An Introduction to - Meteorology’. - -in a printed manual. - - In general, there is no reason to have a manual name argument without -a printed manual argument, unless no printed manual is generated. You -may also want to refer to another manual file that is within a single -printed manual--when multiple Texinfo files are incorporated into the -same printed manual but can create separate output files in other output -formats. In this case, you need to specify only the fourth argument, -and not the fifth. If the printed manual title argument is missing, the -manual name will be used instead in printed output. - - A printed manual title argument without an online manual argument is -of little use unless only a printed manual is generated from the Texinfo -source. The result in online formats depends on the format, and can be, -for example, an empty manual name or a reference to the printed manual -formatted in a similar way to the printed output. - - Finally, it's also allowed to leave out all the arguments _except_ -the fourth and fifth, to refer to another manual as a whole. See the -next section. - - -File: texinfo.info, Node: Referring to a Manual as a Whole, Next: @xref, Prev: Four and Five Arguments, Up: Cross References - -5.7 Referring to a Manual as a Whole -==================================== - -Ordinarily, you must always name a node in a cross-reference. However, -it's not unusual to want to refer to another manual as a whole, rather -than a particular section within it. In this case, giving any section -name is an unnecessary distraction. - - So, with cross-references to other manuals (*note Four and Five -Arguments::), if the first argument is either ‘Top’ (capitalized just -that way) or omitted entirely, and the third argument is omitted, the -printed output includes no node or section name. (The Info output -includes ‘Top’ if it was given.) For example, - - @xref{Top,,, make, The GNU Make Manual}. - -produces - - *Note (make)Top::. - -and - - See ‘The GNU Make Manual’. - -Info readers will go to the Top node of the manual whether or not the -'Top' node is explicitly specified. - - It's also possible (and is historical practice) to refer to a whole -manual by specifying the 'Top' node and an appropriate entry for the -third argument to the ‘@xref’ command. Using this idiom, to make a -cross-reference to ‘The GNU Make Manual’, you would write: - - @xref{Top,, Overview, make, The GNU Make Manual}. - -which produces - - *Note Overview: (make)Top. - -in Info and - - See section "Overview" in ‘The GNU Make Manual’. - -in a printed manual. - - In this example, ‘Top’ is the name of the first node, and ‘Overview’ -is the name of the first section of the manual. There is no widely-used -convention for naming the first section in a printed manual, this is -just what the Make manual happens to use. This arbitrariness of the -first name is a principal reason why omitting the third argument in -whole-manual cross-references is preferable. - - -File: texinfo.info, Node: @xref, Next: @ref, Prev: Referring to a Manual as a Whole, Up: Cross References - -5.8 ‘@xref’ -=========== - -The ‘@xref’ command generates a cross-reference for the beginning of a -sentence. Examples of using ‘@xref’ are in previous sections. - - -File: texinfo.info, Node: @ref, Next: @pxref, Prev: @xref, Up: Cross References - -5.9 ‘@ref’ -========== - -‘@ref’ is nearly the same as ‘@xref’ except that it does not generate a -'See' in the output, just the reference itself. This makes it useful as -the last part of a sentence. - -For example, - - For more information, @pxref{This}, and @ref{That}. - -produces in Info: - - For more information, *note This::, and *note That::. - -and in printed output: - - For more information, see Section 1.1 [This], page 1, and Section - 1.2 [That], page 2. - - The ‘@ref’ command can tempt writers to express themselves in a -manner that is suitable for a printed manual but looks awkward in the -Info format. Bear in mind that your audience could be using both the -printed and other output formats such as Info. For example: - - Sea surges are described in @ref{Hurricanes}. - -looks ok in the printed output: - - Sea surges are described in Section 6.7 [Hurricanes], page 72. - -but is awkward to read in Info, "note" being a verb: - - Sea surges are described in *note Hurricanes::. - - -File: texinfo.info, Node: @pxref, Next: @anchor, Prev: @ref, Up: Cross References - -5.10 ‘@pxref’ -============= - -The parenthetical reference command, ‘@pxref’, is nearly the same as -‘@xref’, but it is best used within parentheses. The command differs -from ‘@xref’ in that the reference is typeset with a lowercase 'see' -rather than an uppercase 'See'. In Info, ‘*note’ is output. - -With one argument, a parenthetical cross-reference looks like this: - - ... storms cause flooding (@pxref{Hurricanes}) ... - -which produces - - ... storms cause flooding (*note Hurricanes::) ... - -in Info and - - ... storms cause flooding (see Section 6.7 [Hurricanes], page 72) - ... - -in a printed manual. - - In past versions of Texinfo, it was not allowed to write punctuation -after a ‘@pxref’, so it could be used _only_ before a right parenthesis. -This is no longer the case. The effect of ‘@pxref{NODE-NAME}’ is -similar to that of ‘see @ref{NODE-NAME}’. However, in many -circumstances the latter is preferable, as this makes it clear in the -Info output that the word "see" should be present. - - -File: texinfo.info, Node: @anchor, Next: @link, Prev: @pxref, Up: Cross References - -5.11 ‘@anchor’: Defining Arbitrary Cross-reference Targets -========================================================== - -An “anchor” is a position in your document, labelled so that -cross-references can refer to it, just as they can to nodes. You create -an anchor with the ‘@anchor’ command, and give the label as a normal -brace-delimited argument. For example: - - This marks the @anchor{x-spot}spot. - ... - @xref{x-spot,,the spot}. - -produces: - - This marks the spot. - ... - See [the spot], page 1. - - As you can see, the ‘@anchor’ command itself produces no output. -This example defines an anchor 'x-spot' just before the word 'spot'. -You can refer to it later with an ‘@xref’ or other cross reference -command, as shown (*note Cross References::). - - It is best to put ‘@anchor’ commands just before the position you -wish to refer to; that way, the reader's eye is led on to the correct -text when they jump to the anchor. You can put the ‘@anchor’ command on -a line by itself if that helps readability of the source. Whitespace -(including newlines) is ignored after ‘@anchor’. - - Anchor names, node names and float labels may not conflict. Anchors, -nodes and float labels are given similar treatment in some ways; for -example, the ‘goto-node’ command takes either an anchor name or a node -name as an argument. (*Note (info)Go to node::.). Anchors names and -float labels could also appear in menus (*note Menus::) and node -direction pointers (*note Writing a Node::), although this is not -recommended. - - Anchor names share the same constraints as nodes on the characters -that can be included (*note Info Node Names Constraints::). - - Because of this duality, when you delete or rename a node, it is -usually a good idea to define an ‘@anchor’ with the old name. That way, -any links to the old node, whether from other Texinfo manuals or general -web pages, keep working. - - -File: texinfo.info, Node: @link, Next: @inforef, Prev: @anchor, Up: Cross References - -5.12 ‘@link’: Plain, unadorned hyperlink -======================================== - -‘@link’ produces a plain hyperlink in output formats that support it, -including in HTML, DocBook, LaTeX and online PDF. The template is: - - @link{NODE-NAME, LABEL, MANUAL-NAME} - - NODE-NAME is the name of the target node or anchor. Either or both -of LABEL and MANUAL-NAME can be omitted. LABEL, if given, is the text -to use for the link. MANUAL-NAME is the name of the external manual -that the target appears within; if not given, the reference is to the -current manual. - - ‘@link’ has similar output to ‘@ref’, except that it does not produce -any extra text around the link label in Info or printed output that -would mark it as a cross-reference. - - Be careful about using ‘@link’ to produce links that are necessary -for a user to move around a manual, as these links will do nothing in -some output formats. ‘@link’ is best used to add convenience links that -are nonetheless not essential for a reader to understand the text of the -manual. For example, you might use ‘@link’ in a code sample to -reference documentation of a symbol in a programming library. - - -File: texinfo.info, Node: @inforef, Next: @url, Prev: @link, Up: Cross References - -5.13 ‘@inforef’: Cross-references to Info-only Material -======================================================= - -‘@inforef’ is used for making cross-references to Info documents--even -from a printed manual. This was originally used for Info files that -were not generated from any Texinfo source. The command is now obsolete -and should not be used. In addition to having little use, similar -output can be obtained with ‘@xref’, ‘@ref’ or ‘@pxref’ with the Info -file name as the fourth argument and no fifth argument. - - The command takes either two or three arguments, in the following -order: - - 1. The node name. - - 2. The cross-reference name (optional). - - 3. The Info file name. - -The template is: - - @inforef{NODE-NAME, CROSS-REFERENCE-NAME, INFO-FILE-NAME} - - -File: texinfo.info, Node: @url, Next: @cite, Prev: @inforef, Up: Cross References - -5.14 ‘@url’, ‘@uref{URL[, TEXT][, REPLACEMENT]}’ -================================================ - -‘@url’ produces a reference to a uniform resource locator (URL). It -takes one mandatory argument, the URL, and two optional arguments which -control the text that is displayed. In HTML and PDF output, ‘@url’ -produces a link you can follow. (To merely indicate a URL without -creating a link people can follow, use ‘@indicateurl’, *note -@indicateurl::.) - - ‘@uref’ is a synonym for ‘@url’. (Originally, ‘@url’ had the meaning -of ‘@indicateurl’ and ‘@uref’ was required to produce a working link, -but in practice ‘@url’ was almost always misused. So we've changed the -meaning.) - - The second argument, if specified, is the text to display (the -default is the URL itself); in output formats other than HTML, the URL -is output in addition to this text. - - The third argument, if specified, is the text to display, but in this -case the URL is not output in any format. This is useful when the text -is already sufficiently referential, as in a man page. Also, if the -third argument is given, the second argument is ignored. - -* Menu: - -* @url Examples:: Examples of using all the forms of ‘@url’. -* URL Line Breaking:: How lines are broken within ‘@url’ text. -* @url PDF Output Format:: A special option to hide links in PDF output. - - -File: texinfo.info, Node: @url Examples, Next: URL Line Breaking, Up: @url - -5.14.1 ‘@url’ Examples ----------------------- - -First, here is an example of the simplest form of ‘@url’, with just one -argument. The given URL is both the target and the visible text of the -link: - - The official GNU ftp site is @url{http://ftp.gnu.org/gnu}. - -produces: - The official GNU ftp site is <http://ftp.gnu.org/gnu>. - -Two-argument form of ‘@url’ -........................... - -Here is an example of the two-argument form: - The official @url{http://ftp.gnu.org/gnu, GNU ftp site} - holds programs and texts. - -which produces: - The official GNU ftp site (http://ftp.gnu.org/gnu) - holds programs and texts. - -The HTML output is this: - The official <a href="http://ftp.gnu.org/gnu">GNU ftp site</a> - holds programs and texts. - -In other formats, the output is like this: - The official GNU ftp site (http://ftp.gnu.org/gnu) - holds programs and texts. - -Three-argument form of ‘@url’ -............................. - -Finally, an example of the three-argument form: - The @url{/man.cgi/1/ls,,ls} program ... - -which, except for HTML, produces: - The ls program ... - -but with HTML: - The <a href="/man.cgi/1/ls">ls</a> program ... - - By the way, some people prefer to display URLs in the unambiguous -format: - - <URL:http://HOST/PATH> - -You can use this form in the input file if you wish. We feel it's not -necessary to include the ‘<URL:’ and ‘>’ in the output, since to be -useful any software that tries to detect URLs in text already has to -detect them without the ‘<URL:’. - - -File: texinfo.info, Node: URL Line Breaking, Next: @url PDF Output Format, Prev: @url Examples, Up: @url - -5.14.2 URL Line Breaking ------------------------- - -TeX allows line breaking within URLs at only a few characters (which are -special in URLs): ‘&’, ‘.’, ‘#’, ‘?’, and ‘/’ (but not between two ‘/’ -characters). A tiny amount of stretchable space is also inserted around -these characters to help with line breaking. - - For HTML output, modern browsers will also do line breaking within -displayed URLs. If you need to allow breaks at other characters you can -insert ‘@/’ as needed (*note Line Breaks::). - - By default, in TeX any such breaks at special characters will occur -after the character. Some people prefer such breaks to happen before -the special character. This can be controlled with the -‘@urefbreakstyle’ command (this command has effect only in TeX): - - @urefbreakstyle HOW - -where the argument HOW is one of these words: - -‘after’ - (the default) Potentially break after the special characters. -‘before’ - Potentially break before the special characters. -‘none’ - Do not consider breaking at the special characters at all; any - potential breaks must be manually inserted. - - -File: texinfo.info, Node: @url PDF Output Format, Prev: URL Line Breaking, Up: @url - -5.14.3 ‘@url’ PDF Output Format -------------------------------- - -If the ultimate purpose of a PDF is only to be viewed online, perhaps -similar to HTML in some inchoate way, you may not want the URLs to be -included in the visible text (just as URLs are not visible to readers of -web pages). Texinfo provides a PDF-specific option for this, which must -be used inside ‘@tex’: - - @tex - \global\urefurlonlylinktrue - @end tex - - The result is that ‘@url{http://www.gnu.org, GNU}’ has the visible -output of just 'GNU', with a link target of <http://www.gnu.org>. -Ordinarily, the visible output would include both the label and the url: -'GNU (<http://www.gnu.org>)'. - - This option only has effect when the PDF output is produced with the -pdfTeX program, not with other ways of getting from Texinfo to PDF -(e.g., TeX to DVI to PDF). Consequently, it is ok to specify this -option unconditionally within ‘@tex’, as shown above. It is ignored -when DVI is being produced. - - -File: texinfo.info, Node: @cite, Next: PDF Colors, Prev: @url, Up: Cross References - -5.15 ‘@cite’{REFERENCE} -======================= - -Use the ‘@cite’ command for the name of a book that lacks a companion -Info file. For example, we could refer to ‘A Book’. The command -selects a slanted font in the printed manual, and generates quotation -marks in the Info file. - - If a book is written in Texinfo, it is better to use a -cross-reference command since a reader can easily follow such a -reference in Info. *Note @xref::. - - -File: texinfo.info, Node: PDF Colors, Prev: @cite, Up: Cross References - -5.16 PDF Colors -=============== - -By default, URLs and cross-reference links are printed in black in PDF -output. Very occasionally, however, you may want to highlight such -"live" links with a different color, as is commonly done on web pages. -Texinfo provides a PDF-specific option for specifying these colors, -which must be used inside ‘@tex’: - - @tex - \global\def\linkcolor{1 0 0} % red - \global\def\urlcolor{0 1 0} % green - @end tex - - ‘\urlcolor’ changes the color of ‘@url’ output (both the actual URL -and any textual label), while ‘\linkcolor’ changes the color for -cross-references to nodes, etc. They are independent. - - The three given values must be numbers between 0 and 1, specifying -the amount of red, green, and blue respectively. - - These definitions only have an effect when the PDF output is produced -with the pdfTeX program, not with other ways of getting from Texinfo to -PDF (e.g., TeX to DVI to PDF). Consequently, it is ok to specify this -option unconditionally within ‘@tex’, as shown above. It is ignored -when DVI is being produced. - - We do not recommend colorizing just for fun; unless you have a -specific reason to use colors, best to skip it. - - -File: texinfo.info, Node: Marking Text, Next: Quotations and Examples, Prev: Cross References, Up: Top - -6 Marking Text, Words and Phrases -********************************* - -In Texinfo, you can mark words and phrases in a variety of ways. The -Texinfo processors use this information to determine how to highlight -the text. You can specify, for example, whether a word or phrase is a -defining occurrence, a metasyntactic variable, or a symbol used in a -program. Also, you can emphasize text, in several different ways. - -* Menu: - -* Indicating:: How to indicate definitions, files, etc. -* Emphasis:: How to emphasize text. - - -File: texinfo.info, Node: Indicating, Next: Emphasis, Up: Marking Text - -6.1 Indicating Definitions, Commands, etc. -========================================== - -Texinfo has commands for indicating just what kind of object a piece of -text refers to. For example, email addresses are marked by ‘@email’; -that way, the result can be a live link to send email when the output -format supports it. If the email address was simply marked as "print in -a typewriter font", that would not be possible. - -* Menu: - -* Useful Highlighting:: Highlighting provides useful information. -* @code:: Indicating program code. -* @kbd:: Showing keyboard input. -* @key:: Specifying keys. -* @samp:: Indicating a literal sequence of characters. -* @verb:: Indicating a verbatim sequence of characters. -* @var:: Indicating metasyntactic variables. -* @env:: Indicating environment variables. -* @file:: Indicating file names. -* @command:: Indicating command names. -* @option:: Indicating option names. -* @dfn:: Specifying definitions. -* @abbr:: Indicating abbreviations. -* @acronym:: Indicating acronyms. -* @indicateurl:: Indicating an example URL. -* @email:: Indicating an electronic mail address. - - -File: texinfo.info, Node: Useful Highlighting, Next: @code, Up: Indicating - -6.1.1 Highlighting Commands are Useful --------------------------------------- - -The commands serve a variety of purposes: - -‘@code{SAMPLE-CODE}’ - Indicate text that is a literal example of a piece of a program. - *Note @code::. - -‘@kbd{KEYBOARD-CHARACTERS}’ - Indicate keyboard input. *Note @kbd::. - -‘@key{KEY-NAME}’ - Indicate the conventional name for a key on a keyboard. *Note - @key::. - -‘@samp{TEXT}’ - Indicate text that is a literal example of a sequence of - characters. *Note @samp::. - -‘@verb{TEXT}’ - Write a verbatim sequence of characters. *Note @verb::. - -‘@var{METASYNTACTIC-VARIABLE}’ - Indicate a metasyntactic variable. *Note @var::. - -‘@env{ENVIRONMENT-VARIABLE}’ - Indicate an environment variable. *Note @env::. - -‘@file{FILE-NAME}’ - Indicate the name of a file. *Note @file::. - -‘@command{COMMAND-NAME}’ - Indicate the name of a command. *Note @command::. - -‘@option{OPTION}’ - Indicate a command-line option. *Note @option::. - -‘@dfn{TERM}’ - Indicate the introductory or defining use of a term. *Note @dfn::. - -‘@cite{REFERENCE}’ - Indicate the name of a book. *Note @cite::. - -‘@abbr{ABBREVIATION}’ - Indicate an abbreviation, such as 'Comput.'. - -‘@acronym{ACRONYM}’ - Indicate an acronym. *Note @acronym::. - -‘@indicateurl{UNIFORM-RESOURCE-LOCATOR}’ - Indicate an example (that is, nonfunctional) uniform resource - locator. *Note @indicateurl::. (Use ‘@url’ (*note @url::) for - live URLs.) - -‘@email{EMAIL-ADDRESS[, DISPLAYED-TEXT]}’ - Indicate an electronic mail address. *Note @email::. - - -File: texinfo.info, Node: @code, Next: @kbd, Prev: Useful Highlighting, Up: Indicating - -6.1.2 ‘@code’{SAMPLE-CODE} --------------------------- - -Use the ‘@code’ command to indicate text that is a piece of a program -and which consists of entire syntactic tokens. Enclose the text in -braces. - - Thus, you should use ‘@code’ for an expression in a program, for the -name of a variable or function used in a program, or for a keyword in a -programming language. - - Use ‘@code’ for command names in languages that resemble programming -languages, such as Texinfo. For example, ‘@code’ and ‘@samp’ are -produced by writing ‘@code{@@code}’ and ‘@code{@@samp}’ in the Texinfo -source, respectively. - - It is incorrect to alter the case of a word inside a ‘@code’ command -when it appears at the beginning of a sentence. Most computer languages -are case sensitive. In C, for example, ‘Printf’ is different from the -identifier ‘printf’, and most likely is a misspelling of it. Even in -languages which are not case sensitive, it is confusing to a human -reader to see identifiers spelled in different ways. Pick one spelling -and always use that. If you do not want to start a sentence with a -command name written all in lowercase, you should rearrange the -sentence. - - The ‘@code’ argument is typeset in a typewriter (monospace) font. -where the output format allows this. For example, - - The function returns @code{nil}. - -produces this: - - The function returns ‘nil’. - - Here are some cases for which it is preferable _not_ to use ‘@code’: - - • For shell command names, such as ‘ls’ (use ‘@command’). - - • For environment variables, such as ‘TEXINPUTS’ (use ‘@env’). - - • For shell options, such as ‘-c’, when such options stand alone (use - ‘@option’). - - • An entire shell command often looks better if written using ‘@samp’ - rather than ‘@code’. In this case, the rule is to choose the more - pleasing format. - - • For a string of characters shorter than a syntactic token. For - example, if you are writing about ‘goto-ch’, which is just a part - of the name for the ‘goto-char’ Emacs Lisp function, you should use - ‘@samp’. - - • In general, when writing about the characters used in a token; for - example, do not use ‘@code’ when you are explaining what letters or - printable symbols can be used in the names of functions. (Use - ‘@samp’.) Also, you should not use ‘@code’ to mark text that is - considered input to programs unless the input is written in a - language that is like a programming language. For example, you - should not use ‘@code’ for the keystroke commands of GNU Emacs (use - ‘@kbd’ instead) although you may use ‘@code’ for the names of the - Emacs Lisp functions that the keystroke commands invoke. - - By default, TeX will consider breaking lines at ‘-’ and ‘_’ -characters within ‘@code’ and related commands. This can be controlled -with ‘@allowcodebreaks’ (*note @allowcodebreaks::). In the HTML output -breaking lines is up to the browser's behavior. For Info, it seems -better never to make such breaks. - - For Info and plaintext, quotation characters are usually output -around the output of the ‘@code’ command and related commands (e.g., -‘@kbd’, ‘@command’) except in typewriter-like contexts such as the -‘@example’ environment (*note @example::) and ‘@code’ itself, etc. To -control which quoting characters are inserted by ‘texi2any’ in the -output of ‘@code’, etc., see the ‘OPEN_QUOTE_SYMBOL’ and -‘CLOSE_QUOTE_SYMBOL’ customization variables (*note Customization -Variables for Multiple Formats::). - - -File: texinfo.info, Node: @kbd, Next: @key, Prev: @code, Up: Indicating - -6.1.3 ‘@kbd’{KEYBOARD-CHARACTERS} ---------------------------------- - -Use the ‘@kbd’ command for characters of input to be typed by users. -For example, to refer to the characters ‘M-a’, write: - - @kbd{M-a} - -and to refer to the characters ‘M-x shell’, write: - - @kbd{M-x shell} - - By default, the ‘@kbd’ command produces a different font (slanted -typewriter instead of normal typewriter, where the output format -allows), so users can distinguish the characters that they are supposed -to type from those that the computer outputs. - - Since the usage of ‘@kbd’ varies from manual to manual, you can -control the font switching with the ‘@kbdinputstyle’ command. This -command has no effect on Info output. Write this command at the -beginning of a line with a single word as an argument, one of the -following: - -‘code’ - Always use the same font for ‘@kbd’ as ‘@code’. -‘example’ - Use the distinguishing font for ‘@kbd’ only in ‘@example’ and - similar environments. -‘distinct’ - (the default) Always use the distinguishing font for ‘@kbd’. - - You can embed another @-command inside the braces of a ‘@kbd’ -command. Here, for example, is the way to describe a command that would -be described more verbosely as "press the ‘r’ key and then press the -<RETURN> key": - - @kbd{r @key{RET}} - -This produces: ‘r <RET>’. (The present manual uses the default for -‘@kbdinputstyle’.) - - You also use the ‘@kbd’ command if you are spelling out the letters -you type; for example: - - To give the @code{logout} command, - type the characters @kbd{l o g o u t @key{RET}}. - -This produces: - - To give the ‘logout’ command, type the characters ‘l o g o u t - <RET>’. - - (Also, this example shows that you can add spaces for clarity. If -you explicitly want to mention a space character as one of the -characters of input, write ‘@key{SPC}’ for it.) - - -File: texinfo.info, Node: @key, Next: @samp, Prev: @kbd, Up: Indicating - -6.1.4 ‘@key’{KEY-NAME} ----------------------- - -Use the ‘@key’ command for the conventional name for a key on a -keyboard, as in: - - @key{RET} - - You can use the ‘@key’ command within the argument of an ‘@kbd’ -command when the sequence of characters to be typed includes one or more -keys that are described by name. - - For example, to produce ‘C-x <ESC>’ and ‘M-<TAB>’ you would type: - - @kbd{C-x @key{ESC}} - @kbd{M-@key{TAB}} - - Here is a list of the recommended names for keys: - - SPC - Space - RET - Return - LFD - Linefeed (however, since most keyboards nowadays do not have a - Linefeed key, it might be better to call this character ‘C-j’) - TAB - Tab - BS - Backspace - ESC - Escape - DELETE - Delete - SHIFT - Shift - CTRL - Control - META - Meta - - There are subtleties to handling words like 'meta' or 'ctrl' that are -names of modifier keys. When mentioning a character in which the -modifier key is used, such as ‘Meta-a’, use the ‘@kbd’ command alone; do -not use the ‘@key’ command; but when you are referring to the modifier -key in isolation, use the ‘@key’ command. For example, write -‘@kbd{Meta-a}’ to produce ‘Meta-a’ and ‘@key{META}’ to produce <META>. - - -File: texinfo.info, Node: @samp, Next: @verb, Prev: @key, Up: Indicating - -6.1.5 ‘@samp’{TEXT} -------------------- - -Use the ‘@samp’ command to indicate text that is a literal example or -'sample' of a sequence of characters in a file, string, pattern, etc. -Enclose the text in braces. The argument appears within single -quotation marks; in addition, it is printed in a fixed-width font. - - To match @samp{foo} at the end of the line, - use the regexp @samp{foo$}. - -produces - - To match ‘foo’ at the end of the line, use the regexp ‘foo$’. - - Any time you are referring to single characters, you should use -‘@samp’ unless ‘@kbd’ or ‘@key’ is more appropriate. Also, you may use -‘@samp’ for entire statements in C and for entire shell commands--in -this case, ‘@samp’ often looks better than ‘@code’. Basically, ‘@samp’ -is a catchall for whatever is not covered by ‘@code’, ‘@kbd’, ‘@key’, -‘@command’, etc. - - Only include punctuation marks within braces if they are part of the -string you are specifying. Write punctuation marks outside the braces -if those punctuation marks are part of the English text that surrounds -the string. In the following sentence, for example, the commas and -period are outside of the braces: - - In English, the vowels are @samp{a}, @samp{e}, - @samp{i}, @samp{o}, @samp{u}, and sometimes - @samp{y}. - -This produces: - - In English, the vowels are ‘a’, ‘e’, ‘i’, ‘o’, ‘u’, and sometimes - ‘y’. - - -File: texinfo.info, Node: @verb, Next: @var, Prev: @samp, Up: Indicating - -6.1.6 ‘@verb’{CHARTEXTCHAR} ---------------------------- - -Use the ‘@verb’ command to print a verbatim sequence of characters. - - Like LaTeX's ‘\verb’ command, the verbatim text can be quoted using -any unique delimiter character. Enclose the verbatim text, including -the delimiters, in braces. Text is printed in a fixed-width font: - - How many @verb{|@|}-escapes does one need to print this - @verb{.@a @b.@c.} string or @verb{+@'e?`{}!`\+} this? - -produces - - How many @-escapes does one need to print this - @a @b.@c string or @'e?`{}!`\ this? - - This is in contrast to ‘@samp’ (see the previous section), ‘@code’, -and similar commands; in those cases, the argument is normal Texinfo -text, where the three characters ‘@{}’ are special, as usual. With -‘@verb’, nothing is special except the delimiter character you choose. - - The delimiter character itself may appear inside the verbatim text, -as shown above. As another example, ‘@verb{...}’ prints a single -(fixed-width) period. - - It is not reliable to use ‘@verb’ inside other Texinfo constructs. -In particular, it does not work to use ‘@verb’ in anything related to -cross-referencing, such as section titles or figure captions. - - -File: texinfo.info, Node: @var, Next: @env, Prev: @verb, Up: Indicating - -6.1.7 ‘@var’{METASYNTACTIC-VARIABLE} ------------------------------------- - -Use the ‘@var’ command to indicate metasyntactic variables. A -“metasyntactic variable” is something that stands for another piece of -text. For example, you should use a metasyntactic variable in the -documentation of a function to describe the arguments that are passed to -that function. - - Do not use ‘@var’ for the names of normal variables in computer -programs. These are specific names, so ‘@code’ is correct for them. -For example, the Emacs Lisp variable ‘texinfo-tex-command’ is not a -metasyntactic variable; it is properly formatted using ‘@code’. - - Do not use ‘@var’ for environment variables either; ‘@env’ is correct -for them (see the next section). - - The effect of ‘@var’ in the Info file is to change the case of the -argument to all uppercase. In the printed manual, the argument is -output in slanted type. (1) - - For example, - - To delete file @var{filename}, - type @samp{rm @var{filename}}. - -produces - - To delete file FILENAME, type ‘rm FILENAME’. - -(Note that ‘@var’ may appear inside ‘@code’, ‘@samp’, ‘@file’, etc.) - - Write a metasyntactic variable all in lowercase without spaces, and -use hyphens to make it more readable. Thus, the Texinfo source for the -illustration of how to begin a Texinfo manual looks like this: - - \input texinfo - @@settitle @var{name-of-manual} - -This produces: - - \input texinfo - @settitle NAME-OF-MANUAL - - In some documentation styles, metasyntactic variables are shown with -angle brackets, for example: - - ..., type rm <filename> - -However, that is not the style that Texinfo uses. - - ---------- Footnotes ---------- - - (1) In TeX output, ‘@var’ currently uses a slanted typewriter font in -code contexts such as ‘@code’ or ‘@example’. We plan to change this in -the next release to use a variable-width, slanted roman font in all -contexts. To avoid this change, set the ‘txicodevaristt’ flag using -‘@set’; specify ‘@clear txicodevaristt’ to make this change now (*note -@set @value::). Note that this flag does nothing in LaTeX output. - - -File: texinfo.info, Node: @env, Next: @file, Prev: @var, Up: Indicating - -6.1.8 ‘@env’{ENVIRONMENT-VARIABLE} ----------------------------------- - -Use the ‘@env’ command to indicate environment variables, as used by -many operating systems, including GNU. Do not use it for -_meta_syntactic variables; use ‘@var’ for those (see the previous -section). - - ‘@env’ is equivalent to ‘@code’ in its effects. For example: - - The @env{PATH} environment variable ... -produces - The ‘PATH’ environment variable ... - - -File: texinfo.info, Node: @file, Next: @command, Prev: @env, Up: Indicating - -6.1.9 ‘@file’{FILE-NAME} ------------------------- - -Use the ‘@file’ command to indicate text that is the name of a file, -buffer, or directory, or is the name of a node in Info. You can also -use the command for file name suffixes. Do not use ‘@file’ for symbols -in a programming language; use ‘@code’. - - ‘@file’ is equivalent to ‘code’ in its effects. For example, - - The @file{.el} files are in - the @file{/usr/local/emacs/lisp} directory. - -produces - - The ‘.el’ files are in the ‘/usr/local/emacs/lisp’ directory. - - -File: texinfo.info, Node: @command, Next: @option, Prev: @file, Up: Indicating - -6.1.10 ‘@command’{COMMAND-NAME} -------------------------------- - -Use the ‘@command’ command to indicate command names, such as ‘ls’ or -‘cc’. - - ‘@command’ is equivalent to ‘@code’ in its effects. For example: - - The command @command{ls} lists directory contents. -produces - The command ‘ls’ lists directory contents. - - You should write the name of a program in the ordinary text font, -rather than using ‘@command’, if you regard it as a new English word, -such as 'Emacs' or 'Bison'. - - When writing an entire shell command invocation, as in ‘ls -l’, you -should use either ‘@samp’ or ‘@code’ at your discretion. - - -File: texinfo.info, Node: @option, Next: @dfn, Prev: @command, Up: Indicating - -6.1.11 ‘@option’{OPTION-NAME} ------------------------------ - -Use the ‘@option’ command to indicate a command-line option; for -example, ‘-l’ or ‘--version’ or ‘--output=FILENAME’. - - ‘@option’ is equivalent to ‘@code’ in its effects. For example: - - The option @option{-l} produces a long listing. -produces - The option ‘-l’ produces a long listing. - - -File: texinfo.info, Node: @dfn, Next: @abbr, Prev: @option, Up: Indicating - -6.1.12 ‘@dfn’{TERM} -------------------- - -Use the ‘@dfn’ command to identify the introductory or defining use of a -technical term. Use the command only in passages whose purpose is to -introduce a term which will be used again or which the reader ought to -know. Mere passing mention of a term for the first time does not -deserve ‘@dfn’. The command selects a slanted font in the printed -manual, and generates double quotation marks in the Info file. For -example: - - Getting rid of a file is called @dfn{deleting} it. - -produces - - Getting rid of a file is called “deleting” it. - - As a general rule, a sentence containing the defining occurrence of a -term should be a definition of the term. The sentence does not need to -say explicitly that it is a definition, but it should contain the -information of a definition--it should make the meaning clear. - - -File: texinfo.info, Node: @abbr, Next: @acronym, Prev: @dfn, Up: Indicating - -6.1.13 ‘@abbr’{ABBREVIATION[, MEANING]} ---------------------------------------- - -You can use the ‘@abbr’ command for general abbreviations. The -abbreviation is given as the single argument in braces, as in -‘@abbr{Comput.}’. As a matter of style, or for particular -abbreviations, you may prefer to omit periods, as in ‘@abbr{Mr} -Stallman’. - - ‘@abbr’ accepts an optional second argument, intended to be used for -the meaning of the abbreviation. - - If the abbreviation ends with a lowercase letter and a period, and is -not at the end of a sentence, and has no second argument, remember to -use the ‘@.’ command (*note Ending a Sentence::) to get the correct -spacing. However, you do not have to use ‘@.’ within the abbreviation -itself; Texinfo automatically assumes periods within the abbreviation do -not end a sentence. - - In output formats with an appropriate tag, such as HTML and DocBook, -this tag is used. Otherwise, the first argument is printed as-is; if -the second argument is present, it is printed in parentheses after the -abbreviation. For instance: - - @abbr{Comput. J., Computer Journal} - -produces: - - Comput. J. (Computer Journal) - - For abbreviations consisting of all capital letters, you may prefer -to use the ‘@acronym’ command instead. See the next section for more on -the usage of these two commands. - - -File: texinfo.info, Node: @acronym, Next: @indicateurl, Prev: @abbr, Up: Indicating - -6.1.14 ‘@acronym’{ACRONYM[, MEANING]} -------------------------------------- - -You can use the ‘@acronym’ command for abbreviations written in all -capital letters, such as 'NASA'. The abbreviation is given as the -single argument in braces, as in ‘@acronym{NASA}’. As a matter of -style, or for particular acronyms, you may prefer to use periods, as in -‘@acronym{N.A.S.A.}’. - - ‘@acronym’ accepts an optional second argument, intended to be used -for the meaning of the acronym. - - If the acronym is at the end of a sentence, and if there is no second -argument, remember to use the ‘@.’ or similar command (*note Ending a -Sentence::) to get the correct spacing. - - In TeX, the acronym is printed in slightly smaller font. In the Info -output, the argument is printed as-is. In either format, and in LaTeX -output, if the second argument is present, it is printed in parentheses -after the acronym. In HTML and DocBook the appropriate tag is used. - - For instance (since GNU is a recursive acronym, we use ‘@acronym’ -recursively): - - @acronym{GNU, @acronym{GNU}'s Not Unix} - -produces: - - GNU (GNU's Not Unix) - - In some circumstances, it is conventional to print family names in -all capitals. Don't use ‘@acronym’ for this, since a name is not an -acronym. Use ‘@sc’ instead (*note Smallcaps::). - - ‘@abbr’ and ‘@acronym’ are closely related commands: they both signal -to the reader that a shortened form is being used, and possibly give a -meaning. When choosing whether to use these two commands, please bear -the following in mind. - - − In common English usage, acronyms are a subset of abbreviations: - they include pronounceable words like 'NATO', 'radar', and 'snafu'; - some sources also include syllable acronyms like 'Usenet', hybrids - like 'SIGGRAPH', and unpronounceable initialisms like 'FBI'. - - − In Texinfo, an acronym (but not an abbreviation) should consist - only of capital letters and periods, no lowercase. - - − In TeX, an acronym (but not an abbreviation) is printed in a - slightly smaller font. - - − It usually turns out to be quite difficult and/or time-consuming to - consistently use ‘@acronym’ for all sequences of uppercase letters. - Furthermore, it looks strange for some acronyms to be in the normal - font size and others to be smaller. Thus, a simpler approach you - may wish to consider is to avoid ‘@acronym’ and just typeset - everything as normal text in all capitals: ‘GNU’, producing the - output 'GNU'. - - − In general, it's not essential to use either of these commands for - all abbreviations; use your judgment. Text is perfectly readable - without them. - - -File: texinfo.info, Node: @indicateurl, Next: @email, Prev: @acronym, Up: Indicating - -6.1.15 ‘@indicateurl’{UNIFORM-RESOURCE-LOCATOR} ------------------------------------------------ - -Use the ‘@indicateurl’ command to indicate a uniform resource locator on -the World Wide Web. This is purely for markup purposes and does not -produce a link you can follow (use the ‘@url’ or ‘@uref’ command for -that, *note @url::). ‘@indicateurl’ is useful for URLs which do not -actually exist. For example: - - For example, the URL might be @indicateurl{http://example.org/path}. - -which produces: - - For example, the URL might be ‘http://example.org/path’. - - The output from ‘@indicateurl’ is usually like that of ‘@samp’ (*note -@samp::). - - -File: texinfo.info, Node: @email, Prev: @indicateurl, Up: Indicating - -6.1.16 ‘@email’{EMAIL-ADDRESS[, DISPLAYED-TEXT]} ------------------------------------------------- - -Use the ‘@email’ command to indicate an electronic mail address. It -takes one mandatory argument, the address, and one optional argument, -the text to display (the default is the address itself). - - In Info, the address is shown in angle brackets, preceded by the text -to display if any. In printed output, the angle brackets are omitted. -In HTML and DocBook output, ‘@email’ produces a ‘mailto’ link. In HTML, -a ‘mailto’ link usually brings up a mail composition window. For -example: - - Send bug reports to @email{bug-texinfo@@gnu.org}, - suggestions to the @email{bug-texinfo@@gnu.org, same place}. - -produces - - Send bug reports to <bug-texinfo@gnu.org>, - suggestions to the same place <bug-texinfo@gnu.org>. - - -File: texinfo.info, Node: Emphasis, Prev: Indicating, Up: Marking Text - -6.2 Emphasizing Text -==================== - -Usually, Texinfo changes the font to mark words in the text according to -the category the words belong to; an example is the ‘@code’ command. -Most often, this is the best way to mark words. However, sometimes you -will want to emphasize text without indicating a category. Texinfo has -two commands to do this. Also, Texinfo has several commands that -specify the font in which text will be output. These commands have no -effect in Info and only one of them, the ‘@r’ command, has any regular -use. - -* Menu: - -* @emph @strong:: How to emphasize text in Texinfo. -* Smallcaps:: How to use the small caps font. -* Fonts:: Various font commands for printed output. - - -File: texinfo.info, Node: @emph @strong, Next: Smallcaps, Up: Emphasis - -6.2.1 ‘@emph’{TEXT} and ‘@strong’{TEXT} ---------------------------------------- - -The ‘@emph’ and ‘@strong’ commands are for emphasis; ‘@strong’ is -stronger. In printed output, ‘@emph’ produces _italics_ and ‘@strong’ -produces *bold*. In the Info output, ‘@emph’ surrounds the text with -underscores (‘_’), and ‘@strong’ puts asterisks around the text. - - For example, - - @strong{Caution:} @samp{rm * .[^.]*} - removes @emph{all} files in the directory. - -produces the following: - - *Caution*: ‘rm * .[^.]*’ removes _all_ files in the directory. - - The ‘@strong’ command is seldom used except to mark what is, in -effect, a typographical element, such as the word 'Caution' in the -preceding example. - - Caution: Do not use ‘@strong’ with the word ‘Note’ followed by a - space; Info will mistake the combination for a cross-reference. - Use a phrase such as *Please notice* or *Caution* instead, or the - optional argument to ‘@quotation’--‘Note’ is allowable there. - - -File: texinfo.info, Node: Smallcaps, Next: Fonts, Prev: @emph @strong, Up: Emphasis - -6.2.2 ‘@sc’{TEXT}: The Small Caps Font --------------------------------------- - -Use the ‘@sc’ command to set text in A SMALL CAPS FONT (where possible). -Write the text you want to be in small caps between braces in lowercase, -like this: - - Richard @sc{Stallman} a commencé le projet GNU. - -This produces: - - Richard STALLMAN a commencé le projet GNU. - - As shown here, we recommend reserving ‘@sc’ for special cases where -you want typographic small caps; family names are one such, especially -in languages other than English, though there are no hard-and-fast rules -about such things. - - TeX typesets any uppercase letters between the braces of an ‘@sc’ -command in full-size capitals; only lowercase letters are printed in the -small caps font. In the Info output, the argument to ‘@sc’ is printed -in all uppercase. In HTML, the argument is uppercased and the output -marked with the ‘<small>’ tag to reduce the font size, since HTML cannot -easily represent true small caps. In LaTeX, a command setting small -caps fonts is output. - - Overall, we recommend using standard upper- and lowercase letters -wherever possible. - - -File: texinfo.info, Node: Fonts, Prev: Smallcaps, Up: Emphasis - -6.2.3 Fonts for Printing ------------------------- - -Texinfo provides one command to change the size of the main body font in -printed output for a document: ‘@fonttextsize’. It has no effect in -other output. It takes a single argument on the remainder of the line, -which must be either ‘10’ or ‘11’. For example: - - @fonttextsize 10 - - The effect is to reduce the body font to a 10pt size (the default is -11pt). Fonts for other elements, such as sections and chapters, are -reduced accordingly. This should only be used in conjunction with -‘@smallbook’ (*note @smallbook::) or similar, since 10pt fonts on -standard paper (8.5x11 or A4) are too small. One reason to use this -command is to save pages, and hence printing cost, for physical books. - - Texinfo does not at present have commands to switch the font family -to use, or more general size-changing commands. - - Texinfo also provides a number of font commands that specify font -changes in the printed manual and (where possible) in the HTML and -DocBook output. They have no effect in Info. All the commands apply to -a following argument surrounded by braces. - -‘@b’ - selects bold face; - -‘@i’ - selects an italic font; - -‘@r’ - selects a roman font, which is the usual font in which text is - printed. It may or may not be seriffed. - -‘@sansserif’ - selects a sans serif font; - -‘@slanted’ - selects a slanted font; - -‘@t’ - selects the fixed-width, typewriter-style font used by ‘@code’; - - The ‘@r’ command can be useful in example-like environments, to write -comments in the standard roman font instead of the fixed-width font. -This looks better in printed output. - - For example, - - @lisp - (+ 2 2) ; @r{Add two plus two.} - @end lisp - -produces - - (+ 2 2) ; Add two plus two. - - The ‘@t’ command can occasionally be useful for producing output in a -typewriter font where that is supported, but no distinction with -quotation marks is needed in Info or plain text. (Compare ‘@t{foo}’ -producing foo with ‘@code{foo}’ producing ‘foo’.) Here are some -possible reasons for using ‘@t’ instead of ‘@code’: - - − The argument is a single character - − There are already quotes of some kind enclosing the argument - − It's evident from context or the argument itself that the argument - could be computer code (e.g. name of a Usenet newsgroup) - - In general, the other font commands are unlikely to be useful; they -exist primarily to make it possible to document the functionality of -specific font effects, such as in TeX and related packages. - - -File: texinfo.info, Node: Quotations and Examples, Next: Lists and Tables, Prev: Marking Text, Up: Top - -7 Quotations and Examples -************************* - -Quotations and examples are blocks of text consisting of one or more -whole paragraphs that are set off from the bulk of the text and treated -differently. They are usually indented in the output. - - In Texinfo, you always begin a quotation or example by writing an -@-command at the beginning of a line by itself, and end it by writing an -‘@end’ command that is also at the beginning of a line by itself. For -instance, you begin an example by writing ‘@example’ by itself at the -beginning of a line and end the example by writing ‘@end example’ on a -line by itself, at the beginning of that line, and with only one space -between the ‘@end’ and the ‘example’. - -* Menu: - -* Block Enclosing Commands:: Different constructs for different purposes. -* @quotation:: Writing a quotation. -* @indentedblock:: Block of text indented on left. -* @example:: Writing an example in a fixed-width font. -* @verbatim:: Writing a verbatim example. -* @lisp:: Illustrating Lisp code. -* @display:: Writing an example in the current font. -* @format:: Writing an example without narrowed margins. -* @exdent:: Undo indentation on a line. -* @flushleft @flushright:: Pushing text flush left or flush right. -* @raggedright:: Avoiding justification on the right. -* @noindent:: Preventing paragraph indentation. -* @indent:: Forcing paragraph indentation. -* @cartouche:: Drawing rounded rectangles around text. -* small:: Examples in a smaller font. - - -File: texinfo.info, Node: Block Enclosing Commands, Next: @quotation, Up: Quotations and Examples - -7.1 Block Enclosing Commands -============================ - -Here is a summary of commands that enclose blocks of text, also known as -“environments”. They're explained further in the following sections. - -‘@quotation’ - Indicate text that is quoted. The text is filled, indented (from - both margins), and printed in a roman font by default. - -‘@indentedblock’ - Like ‘@quotation’, but the text is indented only on the left. - -‘@example’ - Illustrate code, commands, and the like. The text is printed in a - fixed-width font, and indented but not filled. - -‘@lisp’ - Like ‘@example’, but specifically for illustrating Lisp code. The - text is printed in a fixed-width font, and indented but not filled. - -‘@verbatim’ - Mark a piece of text that is to be printed verbatim; no character - substitutions are made and all commands are ignored, until the next - ‘@end verbatim’. The text is printed in a fixed-width font, and - not indented or filled. Extra spaces and blank lines are - significant, and tabs are expanded. - -‘@display’ - Display illustrative text. The text is indented but not filled, - and no font is selected (so, by default, the font is roman). - -‘@format’ - Like ‘@display’ (the text is not filled and no font is selected), - but the text is not indented. - -‘@smallquotation’ -‘@smallindentedblock’ -‘@smallexample’ -‘@smalllisp’ -‘@smalldisplay’ -‘@smallformat’ - These ‘@small...’ commands are just like their non-small - counterparts, except that they output text in a smaller font size, - where possible. - -‘@flushleft’ -‘@flushright’ - Text is not filled, but is set flush with the left or right margin, - respectively. - -‘@raggedright’ - Text is filled, but only justified on the left, leaving the right - margin ragged. - -‘@cartouche’ - Highlight text, often an example or quotation, by drawing a box - with rounded corners around it. - - The ‘@exdent’ command is used within the above constructs to undo the -indentation of a line. - - The ‘@noindent’ command may be used after one of the above constructs -(or at the beginning of any paragraph) to prevent the following text -from being indented as a new paragraph. - - -File: texinfo.info, Node: @quotation, Next: @indentedblock, Prev: Block Enclosing Commands, Up: Quotations and Examples - -7.2 ‘@quotation’: Block Quotations -================================== - -The text of a quotation is processed like normal text (regular font, -text is filled) except that: - - • the left margin is closer to the center of the page, so the whole - of the quotation is indented; the right margin may also be closer - to the center of the page - - • the first lines of paragraphs are indented no more than other - lines; and - - • an ‘@author’ command may be given to specify the author of the - quotation. - - This is an example of text written between a ‘@quotation’ command - and an ‘@end quotation’ command. A ‘@quotation’ command is most - often used to indicate text that is excerpted from another (real or - hypothetical) printed work. - - Write a ‘@quotation’ command as text on a line by itself. This line -will disappear from the output. Mark the end of the quotation with a -line beginning with and containing only ‘@end quotation’. The ‘@end -quotation’ line will likewise disappear from the output. - - ‘@quotation’ takes one optional argument, given on the remainder of -the line. This text, if present, is included at the beginning of the -quotation in bold or otherwise emphasized, and followed with a ‘:’. For -example: - - @quotation Note - This is - a foo. - @end quotation - -produces - - Note: This is a foo. - - If the ‘@quotation’ argument is one of these English words -(case-insensitive): - - Caution Important Note Tip Warning - -then the DocBook output uses corresponding special tags (‘<note>’, etc.) -instead of the default ‘<blockquote>’. - - If the author of the quotation is specified in the ‘@quotation’ block -with the ‘@author’ command, a line with the author name is displayed -after the quotation: - - @quotation - People sometimes ask me if it is a sin in the Church of Emacs to use - vi. Using a free version of vi is not a sin; it is a penance. So happy - hacking. - - @author Richard Stallman - @end quotation - -produces - - People sometimes ask me if it is a sin in the Church of Emacs to - use vi. Using a free version of vi is not a sin; it is a penance. - So happy hacking. - - -- _Richard Stallman_ - - -File: texinfo.info, Node: @indentedblock, Next: @example, Prev: @quotation, Up: Quotations and Examples - -7.3 ‘@indentedblock’: Indented text blocks -========================================== - -The ‘@indentedblock’ environment is similar to ‘@quotation’, except that -text is only indented on the left (and there is no optional argument for -an author). Thus, the text font remains unchanged, and text is gathered -and filled as usual, but the left margin is increased. For example: - - This is an example of text written between an ‘@indentedblock’ - command and an ‘@end indentedblock’ command. The ‘@indentedblock’ - environment can contain any text or other commands desired. - - This is written in the Texinfo source as: - - @indentedblock - This is an example ... - @end indentedblock - - -File: texinfo.info, Node: @example, Next: @verbatim, Prev: @indentedblock, Up: Quotations and Examples - -7.4 ‘@example’: Example Text -============================ - -The ‘@example’ environment is used to indicate computer input or output -that is not part of the running text. If you want to embed code -fragments within sentences, use the ‘@code’ command or its relatives -instead (*note @code::). - - Write an ‘@example’ command at the beginning of a line by itself. -Mark the end of the block with ‘@end example’. For example, - - @example - cp foo @var{dest1}; \ - cp foo @var{dest2} - @end example - -produces - - cp foo DEST1; \ - cp foo DEST2 - - The output uses a fixed-width font and is indented. Each line in the -input file is a line in the output; that is, the source text is not -filled. Extra spaces and blank lines are significant. Texinfo commands -_are_ expanded; if you want the output to be the input verbatim, use the -‘@verbatim’ environment instead (*note @verbatim::). - - Examples are often, logically speaking, "in the middle" of a -paragraph, and the text that continues afterwards should not be -indented, as in the example above. The ‘@noindent’ command prevents a -piece of text from being indented as if it were a new paragraph (*note -@noindent::). - - If you wish to use the normal roman font for a code comment, you can -use the ‘@r’ command (*note Fonts::). - - You may optionally give arguments to the ‘@example’ command, -separated by commas if there is more than one. In the HTML output, any -such arguments are output as class names, prefixed by the string -‘user-’. This may be useful for adding syntax highlighting to manuals -for code samples. - - We recommend that when you give multiple arguments to ‘@example’, you -use the first argument to specify the language of the code (e.g. ‘C’, -‘lisp’, ‘Cplusplus’). You may find uses for other arguments, such as -providing a formatting hint or marking code samples for extraction and -further processing, but for now nothing definitive is recommended. -Perhaps this will change in future Texinfo releases. - - Caution: Do not use tabs in the lines of an example! (Or anywhere - else in Texinfo, except in verbatim environments.) TeX treats tabs - as single spaces, and that is not what they look like. - - -File: texinfo.info, Node: @verbatim, Next: @lisp, Prev: @example, Up: Quotations and Examples - -7.5 ‘@verbatim’: Literal Text -============================= - -Use the ‘@verbatim’ environment for printing of text that may contain -special characters or commands that should not be interpreted, such as -computer input or output (‘@example’ interprets its text as regular -Texinfo commands). This is especially useful for including -automatically generated files in a Texinfo manual. - - In general, the output will be just the same as the input. No -character substitutions are made, e.g., all spaces and blank lines are -significant, including tabs. The text is typeset in a fixed-width font, -and not indented or filled. - - Write a ‘@verbatim’ command at the beginning of a line by itself. -This line will disappear from the output. Mark the end of the verbatim -block with an ‘@end verbatim’ command, also written at the beginning of -a line by itself. The ‘@end verbatim’ will also disappear from the -output. - - For example: - - @verbatim - { - <TAB>@command with strange characters: @'e - expand<TAB>me - } - @end verbatim - -(where <TAB> stands for a literal tab character). This produces: - -{ - @command with strange characters: @'e -expand me -} - - Since the lines containing ‘@verbatim’ and ‘@end verbatim’ produce no -output, typically you should put a blank line before the ‘@verbatim’ and -another blank line after the ‘@end verbatim’. Blank lines between the -beginning ‘@verbatim’ and the ending ‘@end verbatim’ will appear in the -output. - - You can get a "small" verbatim by enclosing the ‘@verbatim’ in an -‘@smallformat’ environment, as shown here: - - @smallformat - @verbatim - ... still verbatim, but in a smaller font ... - @end verbatim - @end smallformat - - Finally, a word of warning: it is not reliable to use ‘@verbatim’ -inside other Texinfo constructs. - - See also *note @verbatiminclude::. - - -File: texinfo.info, Node: @lisp, Next: @display, Prev: @verbatim, Up: Quotations and Examples - -7.6 ‘@lisp’: Marking a Lisp Example -=================================== - -The ‘@lisp’ command was used for Lisp code: - - @lisp - Example lisp code - @end lisp - -This is now synonymous with the following: - - @example lisp - Example lisp code - @end example - - Use ‘@lisp’ to preserve information regarding the nature of the -example. This is useful, for example, if you write a function that -evaluates only and all the Lisp code in a Texinfo file. Then you can -use the Texinfo file as a Lisp library. - - -File: texinfo.info, Node: @display, Next: @format, Prev: @lisp, Up: Quotations and Examples - -7.7 ‘@display’: Examples Using the Text Font -============================================ - -The ‘@display’ command begins another kind of environment, where the -font is left unchanged, not switched to typewriter as with ‘@example’. -Each line of input still produces a line of output, and the output is -still indented. - - This is an example of text written between a ‘@display’ command - and an ‘@end display’ command. The ‘@display’ command - indents the text, but does not fill it. - - -File: texinfo.info, Node: @format, Next: @exdent, Prev: @display, Up: Quotations and Examples - -7.8 ‘@format’: Examples Using the Full Line Width -================================================= - -The ‘@format’ command is similar to ‘@display’, except it leaves the -text unindented. Like ‘@display’, it does not select the fixed-width -font. Thus, - - @format - This is an example of text written between a @code{@@format} command - and an @code{@@end format} command. As you can see - from this example, - the @code{@@format} command does not fill the text. - @end format - -produces - -This is an example of text written between a ‘@format’ command -and an ‘@end format’ command. As you can see -from this example, -the ‘@format’ command does not fill the text. - - -File: texinfo.info, Node: @exdent, Next: @flushleft @flushright, Prev: @format, Up: Quotations and Examples - -7.9 ‘@exdent’: Undoing a Line's Indentation -=========================================== - -The ‘@exdent’ command removes any indentation a line might have. The -command is written at the beginning of a line and applies only to the -text that follows the command that is on the same line. Do not use -braces around the text. The text on an ‘@exdent’ line is also printed -in the roman font where the output format allows this. - - ‘@exdent’ is usually used within examples. Thus, - - @example - This line follows an @@example command. - @exdent This line is exdented. - This line follows the exdented line. - The @@end example comes on the next line. - @end example - -produces - - This line follows an @example command. -This line is exdented. - This line follows the exdented line. - The @end example comes on the next line. - - In practice, the ‘@exdent’ command is rarely used. Usually, you -un-indent text by ending the example and returning the page to its -normal width. - - ‘@exdent’ does not have an effect in all output formats. - - -File: texinfo.info, Node: @flushleft @flushright, Next: @raggedright, Prev: @exdent, Up: Quotations and Examples - -7.10 ‘@flushleft’ and ‘@flushright’ -=================================== - -The ‘@flushleft’ and ‘@flushright’ commands line up the ends of lines on -the left and right margins of a page, but do not fill the text. The -commands are written on lines of their own, without braces. The -‘@flushleft’ and ‘@flushright’ commands are ended by ‘@end flushleft’ -and ‘@end flushright’ commands on lines of their own. - - For example, - - @flushleft - This text is - written flushleft. - @end flushleft - -produces - - This text is - written flushleft. - - ‘@flushright’ produces the type of indentation often used in the -return address of letters. For example, - - @flushright - Here is an example of text written - flushright. The @code{@flushright} command - right justifies every line but leaves the - left end ragged. - @end flushright - -produces - - Here is an example of text written - flushright. The ‘@flushright’ command - right justifies every line but leaves the - left end ragged. - - -File: texinfo.info, Node: @raggedright, Next: @noindent, Prev: @flushleft @flushright, Up: Quotations and Examples - -7.11 ‘@raggedright’: Ragged Right Text -====================================== - -The ‘@raggedright’ fills text as usual, but the text is only justified -on the left; the right margin is ragged. The command is written on a -line of its own, without braces. The ‘@raggedright’ command is ended by -‘@end raggedright’ on a line of its own. This command only has an -effect in output formats where text is justified on the left, but not in -output formats where text is always set ragged right, such as Info or -HTML. - - The ‘@raggedright’ command can be useful with paragraphs containing -lists of commands with long names, when it is known in advance that -justifying the text on both margins will make the paragraph look bad. - - An example (from elsewhere in this manual): - - @raggedright - Commands for double and single angle quotation marks: - @code{@@guillemetleft@{@}}, @code{@@guillemetright@{@}}, - @code{@@guillemotleft@{@}}, @code{@@guillemotright@{@}}, - @code{@@guilsinglleft@{@}}, @code{@@guilsinglright@{@}}. - @end raggedright - -produces - - Commands for double and single angle quotation marks: -‘@guillemetleft{}’, ‘@guillemetright{}’, ‘@guillemotleft{}’, -‘@guillemotright{}’, ‘@guilsinglleft{}’, ‘@guilsinglright{}’. - - -File: texinfo.info, Node: @noindent, Next: @indent, Prev: @raggedright, Up: Quotations and Examples - -7.12 ‘@noindent’: Omitting Indentation -====================================== - -An example or other inclusion can break a paragraph into segments. -Ordinarily, the formatters indent text that follows an example as a new -paragraph. You can prevent this on a case-by-case basis by writing -‘@noindent’ at the beginning of a line, preceding the continuation text. -You can also disable indentation for all paragraphs globally with -‘@paragraphindent’ (*note @paragraphindent::). - - Here is an example showing how to eliminate the normal indentation of -the text after an ‘@example’, a common situation: - - @example - This is an example - @end example - - @noindent - This line is not indented. As you can see, the - beginning of the line is fully flush left with the - line that follows after it. - -produces: - - This is an example - - This line is not indented. As you can see, the - beginning of the line is fully flush left with the - line that follows after it. - - The standard usage of ‘@noindent’ is just as above: at the beginning -of what would otherwise be a paragraph, to eliminate the indentation -that normally happens there. It can either be followed by text or be on -a line by itself. There is no reason to use it in other contexts, such -as in the middle of a paragraph or inside an environment (*note -Quotations and Examples::). - - You can control the number of blank lines in the Info file output by -adjusting the input as desired: a line containing just ‘@noindent’ does -not generate a blank line, and neither does an ‘@end’ line for an -environment. - - Do not put braces after a ‘@noindent’ command; they are not used, -since ‘@noindent’ is a command used outside of paragraphs (*note Command -Syntax::). - - -File: texinfo.info, Node: @indent, Next: @cartouche, Prev: @noindent, Up: Quotations and Examples - -7.13 ‘@indent’: Forcing Indentation -=================================== - - To complement the ‘@noindent’ command (see the previous section), -Texinfo provides the ‘@indent’ command to force a paragraph to be -indented. For instance, this paragraph (the first in this section) is -indented using an ‘@indent’ command. - - And indeed, the first paragraph of a section is the most likely place -to use ‘@indent’, to override the normal behavior of no indentation -there (*note @paragraphindent::). It can either be followed by text or -be on a line by itself. - - As a special case, when ‘@indent’ is used in an environment where -text is not filled, it produces a paragraph indentation space in the TeX -output. (These environments are where a line of input produces a line -of output, such as ‘@example’ and ‘@display’; for a summary of all -environments, *note Block Enclosing Commands::.) - - Do not put braces after an ‘@indent’ command; they are not used, -since ‘@indent’ is a command used outside of paragraphs (*note Command -Syntax::). - - -File: texinfo.info, Node: @cartouche, Next: small, Prev: @indent, Up: Quotations and Examples - -7.14 ‘@cartouche’: Rounded Rectangles -===================================== - -Where the output format allows, the ‘@cartouche’ command draws a box -with rounded corners around its contents. You can use this command to -isolate a portion of the manual from the main flow. You can also -further highlight an example or quotation with ‘@cartouche’. - - For instance, you could write a manual in which one type of example -is surrounded by a cartouche for emphasis. For example, - - @cartouche - @example - % pwd - /usr/local/share/emacs - @end example - @end cartouche - -surrounds the two-line example with a box with rounded corners, in the -printed manual. - - The output from the example looks like this (if you're reading this -in Info, you'll see the ‘@cartouche’ had no effect): - - % pwd - /usr/local/share/emacs - - ‘@cartouche’ takes one optional argument, given on the remainder of -the line. This text, if present, is the cartouche title. It is output -in bold or otherwise emphasized at the beginning of the cartouche, and -is centered in some output formats. - - The following example illustrates a cartouche with a title: - - @cartouche Important - Text explaining something important out of the main - flow of the text. - @end cartouche - - The cartouche with a title looks like this: - - Important - Text explaining something important out of the main flow of the text. - - A cartouche is output on a single page in printed output, similarly -to ‘@group’ (*note @group::). - - -File: texinfo.info, Node: small, Prev: @cartouche, Up: Quotations and Examples - -7.15 ‘@small...’ Block Commands -=============================== - -In addition to the regular ‘@example’ and similar commands, Texinfo has -"small" example-style commands. These are ‘@smallquotation’, -‘@smallindentedblock’, ‘@smalldisplay’, ‘@smallexample’, ‘@smallformat’, -and ‘@smalllisp’. - - In most output formats, the ‘@small...’ commands are equivalent to -their non-small companion commands. - - In printed output, however, the ‘@small...’ commands typeset text in -a smaller font than the non-small example commands. Thus, for instance, -code examples can contain longer lines and still fit on a page without -needing to be rewritten. - - Mark the end of a ‘@small...’ block with a corresponding ‘@end -small...’. For example, pair ‘@smallexample’ with ‘@end smallexample’. - - Here is an example of the font used by the ‘@smallexample’ command -(in most output formats, the output will be the same as usual): - - ... to make sure that you have the freedom to - distribute copies of free software (and charge for - this service if you wish), that you receive source - code or can get it if you want it, that you can - change the software or use pieces of it in new free - programs; and that you know you can do these things. - - The ‘@small...’ commands use the same font style as their normal -counterparts: ‘@smallexample’ and ‘@smalllisp’ use a fixed-width font, -and everything else uses the regular font. They also have the same -behavior in other respects--whether filling is done and whether margins -are narrowed. They do not take arguments even when their normal -counterparts do, however. - - As a general rule, it's better to just use the regular commands (such -as ‘@example’ instead of ‘@smallexample’), unless you have a good reason -for it. When processing with ‘texinfo.tex’ only, you can obtain a -similar effect with ‘@set dispenvsize small’, which uses a smaller font -for ‘@example’ and other environments. In HTML output, you can use CSS -to change the font size of enviroments if needed; *note HTML CSS::. - - -File: texinfo.info, Node: Lists and Tables, Next: Special Displays, Prev: Quotations and Examples, Up: Top - -8 Lists and Tables -****************** - -Texinfo has several ways of making lists and tables. Lists can be -bulleted or numbered; two-column tables can highlight the items in the -first column; multi-column tables are also supported. - -* Menu: - -* Introducing Lists:: Texinfo formats lists for you. -* @itemize:: How to construct a simple list. -* @enumerate:: How to construct a numbered list. -* Two-column Tables:: How to construct a two-column table. -* Multi-column Tables:: How to construct generalized tables. - - -File: texinfo.info, Node: Introducing Lists, Next: @itemize, Up: Lists and Tables - -8.1 Introducing Lists -===================== - -Texinfo automatically indents the text in lists or tables, and numbers -an enumerated list. This last feature is useful if you modify the list, -since you do not need to renumber it yourself. - - Numbered lists and tables begin with the appropriate @-command at the -beginning of a line, and end with the corresponding ‘@end’ command on a -line by itself. The table and itemized-list commands also require that -you write formatting information on the same line as the beginning -@-command. - - Begin an enumerated list, for example, with an ‘@enumerate’ command -and end the list with an ‘@end enumerate’ command. Begin an itemized -list with an ‘@itemize’ command, followed on the same line by a -formatting command such as ‘@bullet’, and end the list with an ‘@end -itemize’ command. - - Precede each element of a list with an ‘@item’ or ‘@itemx’ command. - - -Here is an itemized list of the different kinds of table and lists: - - • Itemized lists with and without bullets. - - • Enumerated lists, using numbers or letters. - - • Two-column tables with highlighting. - - -Here is an enumerated list with the same items: - - 1. Itemized lists with and without bullets. - - 2. Enumerated lists, using numbers or letters. - - 3. Two-column tables with highlighting. - - -And here is a two-column table with the same items and their @-commands: - -‘@itemize’ - Itemized lists with and without bullets. - -‘@enumerate’ - Enumerated lists, using numbers or letters. - -‘@table’ -‘@ftable’ -‘@vtable’ - Two-column tables, optionally with indexing. - - -File: texinfo.info, Node: @itemize, Next: @enumerate, Prev: Introducing Lists, Up: Lists and Tables - -8.2 ‘@itemize’: Making an Itemized List -======================================= - -The ‘@itemize’ command produces a sequence of "items", each starting -with a bullet or other mark inside the left margin, and generally -indented. - - Begin an itemized list by writing ‘@itemize’ at the beginning of a -line. Follow the command, on the same line, with a Texinfo command or -character to generate a mark. Usually, you will use ‘@bullet’ after -‘@itemize’, but you can use ‘@minus’, or any other Texinfo command or -character. If you don't specify a mark command, the default is -‘@bullet’. - - After the ‘@itemize’, write your items, each starting with ‘@item’. -Text can follow on the same line as the ‘@item’. The text of an item -can continue for more than one paragraph. - - Here is an example of the use of ‘@itemize’: - - @itemize @bullet{} - @item - Some text for foo. - - @item - Some text - for bar. - @end itemize - -This produces: - - • Some text for foo. - - • Some text for bar. - - When you give a mark command such as ‘@bullet’ as the argument to -‘@itemize’ command, you may omit the ‘{}’ that would normally follow the -command. - - If you don't want any mark at all, but still want logical items, use -‘@w{}’ (in this case the braces are required). - - There should be at least one ‘@item’ inside the ‘@itemize’ -environment. If none are present, ‘texi2any’ gives a warning. If you -just want indented text and not a list of items, use ‘@indentedblock’; -*note @indentedblock::. - - Index entries that occur immediately before an ‘@item’ are associated -with the ‘@item’. - - Usually, you should put a blank line between items. This puts a -blank line in the Info file. (TeX inserts the proper vertical space in -any case.) Except when the entries are very brief, these blank lines -make the list look better. - - Itemized lists may be embedded within other itemized lists. Here is -a list marked with dashes embedded in a list marked with bullets: - - @itemize @bullet{} - @item - First item. - - @itemize @minus{} - @item - Inner item. - - @item - Second inner item. - @end itemize - - @item - Second outer item. - @end itemize - -This produces: - - • First item. - - − Inner item. - - − Second inner item. - - • Second outer item. - - -File: texinfo.info, Node: @enumerate, Next: Two-column Tables, Prev: @itemize, Up: Lists and Tables - -8.3 ‘@enumerate’: Making a Numbered or Lettered List -==================================================== - -‘@enumerate’ is like ‘@itemize’ (*note @itemize::), except that the -labels on the items are successive integers or letters instead of -bullets. - - Write the ‘@enumerate’ command at the beginning of a line. The -command does not require an argument, but accepts either a number or a -letter as an option. Without an argument, ‘@enumerate’ starts the list -with the number ‘1’. With a numeric argument, such as ‘3’, the command -starts the list with that number. With an upper- or lowercase letter, -such as ‘a’ or ‘A’, the command starts the list with that letter. - - Write the text of the enumerated list in the same way as an itemized -list: write a line starting with ‘@item’ at the beginning of each item -in the enumeration. It is ok to have text following the ‘@item’, and -the text for an item can continue for several paragraphs. - - You should put a blank line between entries in the list. This -generally makes it easier to read the Info file. - - Here is an example of ‘@enumerate’ without an argument: - - @enumerate - @item - Underlying causes. - - @item - Proximate causes. - @end enumerate - -This produces: - - 1. Underlying causes. - - 2. Proximate causes. - - Here is an example with an argument of ‘3’: - - @enumerate 3 - @item - Predisposing causes. - - @item - Precipitating causes. - - @item - Perpetuating causes. - @end enumerate - -This produces: - - 3. Predisposing causes. - - 4. Precipitating causes. - - 5. Perpetuating causes. - - Here is a summary: - - a. ‘@enumerate’ - - Without an argument, produce a numbered list, with the first item - numbered 1. - - b. ‘@enumerate UNSIGNED-INTEGER’ - - With an (unsigned) numeric argument, start a numbered list with - that number. You can use this to continue a list that you - interrupted with other text. - - c. ‘@enumerate UPPER-CASE-LETTER’ - - With an uppercase letter as argument, start a list in which each - item is marked by a letter, beginning with that uppercase letter. - - d. ‘@enumerate LOWER-CASE-LETTER’ - - With a lowercase letter as argument, start a list in which each - item is marked by a letter, beginning with that lowercase letter. - - You can also nest enumerated lists, as in an outline. - - -File: texinfo.info, Node: Two-column Tables, Next: Multi-column Tables, Prev: @enumerate, Up: Lists and Tables - -8.4 Making a Two-column Table -============================= - -‘@table’ is similar to ‘@itemize’ (*note @itemize::), but allows you to -specify a name or heading line for each item. The ‘@table’ command is -used to produce two-column tables, and is especially useful for -glossaries, explanatory exhibits, and command-line option summaries. - -* Menu: - -* @table:: How to construct a two-column table. -* @ftable @vtable:: Automatic indexing for two-column tables. -* @itemx:: How to put more entries in the first column. - - -File: texinfo.info, Node: @table, Next: @ftable @vtable, Up: Two-column Tables - -8.4.1 Using the ‘@table’ Command --------------------------------- - -Use the ‘@table’ command to produce a two-column table. This command is -typically used when you have a list of items and a brief text with each -one, such as a list of definitions. - - Write the ‘@table’ command at the beginning of a line, after a blank -line, and follow it on the same line with an argument that is an -'indicating' command, such as ‘@code’, ‘@samp’, ‘@var’, ‘@option’, or -‘@kbd’ (*note Indicating::). This command will be applied to the text -in the first column. For example, ‘@table @code’ will cause the text in -the first column to be output as if it had been the argument to a -‘@code’ command. - - You may use the ‘@asis’ command as an argument to ‘@table’. ‘@asis’ -is a command that does nothing: if you use this command after ‘@table’, -the first column entries are output without added highlighting ("as -is"). - - The ‘@table’ command works with other commands besides those -explicitly mentioned here. However, you can only use predefined Texinfo -commands that take an argument in braces. You cannot reliably use a new -command defined with ‘@macro’, although an ‘@alias’ (for a suitable -predefined command) is acceptable. *Note Defining New Texinfo -Commands::. - - Begin each table entry with an ‘@item’ command at the beginning of a -line. Write the text for the first column on the same line as the -‘@item’ command. Write the text for the second column on the line -following the ‘@item’ line and on subsequent lines. You may write as -many lines of supporting text as you wish, even several paragraphs. But -only the text on the same line as the ‘@item’ will be placed in the -first column (including any footnotes). You do not need to type -anything for an empty second column. - - Normally, you should put a blank line between table entries. This -puts a blank line in the Info file, which looks better unless the -entries are very brief. - - End the table with a line consisting of ‘@end table’. Follow the end -of the table by a blank line for consistent formatting across output -formats. - - For example, the following table highlights the text in the first -column with the ‘@samp’ command: - - @table @samp - @item foo - This is the text for - @samp{foo}. - - @item bar - Text for @samp{bar}. - @end table - -This produces: - -‘foo’ - This is the text for ‘foo’. -‘bar’ - Text for ‘bar’. - - If you want to list two or more named items with a single block of -text, use the ‘@itemx’ command. (*Note @itemx::.) - - The ‘@table’ command (*note @table::) is not supported inside -‘@display’. Since ‘@display’ is line-oriented, it doesn't make sense to -use them together. If you want to indent a table, try ‘@quotation’ -(*note @quotation::) or ‘@indentedblock’ (*note @indentedblock::). - - -File: texinfo.info, Node: @ftable @vtable, Next: @itemx, Prev: @table, Up: Two-column Tables - -8.4.2 ‘@ftable’ and ‘@vtable’ ------------------------------ - -The ‘@ftable’ and ‘@vtable’ commands are the same as the ‘@table’ -command except that ‘@ftable’ automatically enters each of the items in -the first column of the table into the index of functions and ‘@vtable’ -automatically enters each of the items in the first column of the table -into the index of variables. This simplifies the task of creating -indices. Only the items on the same line as the ‘@item’ or ‘@itemx’ -commands are indexed, and they are indexed in exactly the form that they -appear on that line. *Note Indices::, for more information about -indices. - - Begin a two-column table using ‘@ftable’ or ‘@vtable’ by writing the -@-command at the beginning of a line, followed on the same line by an -argument that is a Texinfo command such as ‘@code’, exactly as you would -for a ‘@table’ command; and end the table with an ‘@end ftable’ or ‘@end -vtable’ command on a line by itself. - - See the example for ‘@table’ in the previous section. - - -File: texinfo.info, Node: @itemx, Prev: @ftable @vtable, Up: Two-column Tables - -8.4.3 ‘@itemx’: Second and Subsequent Items -------------------------------------------- - -Use the ‘@itemx’ command inside a table when you have two or more first -column entries for the same item, each of which should appear on a line -of its own. - - Use ‘@item’ for the first entry, and ‘@itemx’ for all subsequent -entries; ‘@itemx’ must always follow an ‘@item’ command, with no blank -line intervening. - - The ‘@itemx’ command works exactly like ‘@item’ except that it does -not generate extra vertical space above the first column text in some -output formats. If you have multiple consecutive ‘@itemx’ commands, do -not insert any blank lines between them. - - For example, - - @table @code - @item upcase - @itemx downcase - These two functions accept a character or a string as - argument, and return the corresponding uppercase (lowercase) - character or string. - @end table - -This produces: - -‘upcase’ -‘downcase’ - These two functions accept a character or a string as argument, and - return the corresponding uppercase (lowercase) character or string. - -(Note also that this example illustrates multi-line supporting text in a -two-column table.) - - -File: texinfo.info, Node: Multi-column Tables, Prev: Two-column Tables, Up: Lists and Tables - -8.5 ‘@multitable’: Multi-column Tables -====================================== - -‘@multitable’ allows you to construct tables with any number of columns, -with each column having any width you like. - - You define the column widths on the ‘@multitable’ line itself, and -write each row of the actual table following an ‘@item’ command, with -columns separated by a ‘@tab’ command. Finally, ‘@end multitable’ -completes the table. Details in the sections below. - -* Menu: - -* Multitable Column Widths:: Defining multitable column widths. -* Multitable Rows:: Defining multitable rows, with examples. - - -File: texinfo.info, Node: Multitable Column Widths, Next: Multitable Rows, Up: Multi-column Tables - -8.5.1 Multitable Column Widths ------------------------------- - -You can define the column widths for a multitable in two ways: as -fractions of the line length; or with a prototype row. Mixing the two -methods is not supported. In either case, the widths are defined -entirely on the same line as the ‘@multitable’ command. - - 1. To specify column widths as fractions of the line length, write - ‘@columnfractions’ and the decimal numbers (presumably less than 1; - a leading zero is allowed and ignored) after the ‘@multitable’ - command, as in: - - @multitable @columnfractions .33 .33 .33 - - The fractions need not add up exactly to 1.0, as these do not. - This allows you to produce tables that do not need the full line - length. - - When using ‘@columnfractions’, the leftmost column may appear - slightly wider than you might expect, relative to the other - columns. This is due to spacing between columns being included in - the width of the other columns. - - 2. To specify a prototype row, write the longest entry for each column - enclosed in braces after the ‘@multitable’ command. For example: - - @multitable {some text for column one} {for column two} - - The first column will then have the width of the typeset 'some text - for column one', and the second column the width of 'for column - two'. - - The prototype entries need not appear in the table itself. - - Although we used simple text in this example, the prototype entries - can contain Texinfo commands; markup commands such as ‘@code’ are - particularly likely to be useful. - - Prototype rows have no effect in HTML output. - - -File: texinfo.info, Node: Multitable Rows, Prev: Multitable Column Widths, Up: Multi-column Tables - -8.5.2 Multitable Rows ---------------------- - -After the ‘@multitable’ command defining the column widths (see the -previous section), you begin each row in the body of a multitable with -‘@item’, and separate the column entries with ‘@tab’. Line breaks are -not special within the table body, and you may break input lines in your -source file as necessary. - - You can also use ‘@headitem’ instead of ‘@item’ to produce a “heading -row”. The TeX output for such a row is in bold, and the HTML and -DocBook output uses the ‘<thead>’ tag. In Info, the heading row is -followed by a separator line made of dashes (‘-’ characters). - - The command ‘@headitemfont’ can be used in templates when the entries -in a ‘@headitem’ row need to be used in a template. It is a synonym for -‘@b’, but using ‘@headitemfont’ avoids any dependency on that particular -font style, in case we provide a way to change it in the future. - - Here is a complete example of a multi-column table (the text is from -‘The GNU Emacs Manual’, *note Splitting Windows: (emacs)Split Window.): - - @multitable @columnfractions .15 .45 .4 - @headitem Key @tab Command @tab Description - @item C-x 2 - @tab @code{split-window-vertically} - @tab Split the selected window into two windows, - with one above the other. - @item C-x 3 - @tab @code{split-window-horizontally} - @tab Split the selected window into two windows - positioned side by side. - @item C-Mouse-2 - @tab - @tab In the mode line or scroll bar of a window, - split that window. - @end multitable - -produces: - -Key Command Description ---------------------------------------------------------------------------- -C-x 2 ‘split-window-vertically’ Split the selected window - into two windows, with one - above the other. -C-x 3 ‘split-window-horizontally’ Split the selected window - into two windows positioned - side by side. -C-Mouse-2 In the mode line or scroll - bar of a window, split that - window. - - -File: texinfo.info, Node: Special Displays, Next: Indices, Prev: Lists and Tables, Up: Top - -9 Special Displays -****************** - -The commands in this chapter allow you to write text that is specially -displayed (output format permitting), outside of the normal document -flow. - - One set of such commands is for creating "floats", that is, figures, -tables, and the like, set off from the main text, possibly numbered, -captioned, and/or referred to from elsewhere in the document. Images -are often included in these displays. - - Another group of commands is for creating footnotes in Texinfo. - -* Menu: - -* Floats:: Figures, tables, and the like. -* Images:: Including graphics and images. -* Footnotes:: Writing footnotes. - - -File: texinfo.info, Node: Floats, Next: Images, Up: Special Displays - -9.1 Floats -========== - -A “float” is a display which is set off from the main text. It is -typically labeled as being a "Figure", "Table", "Example", or some -similar type. - - A float is so-named because, in principle, it can be moved to the -bottom or top of the current page, or to a following page, in the -printed output. (Floating does not make sense in other output formats.) -In every output format except for LaTeX, however, this floating is -unfortunately not yet implemented. Instead, the floating material is -simply output at the current location, more or less as if it were an -‘@group’ (*note @group::). - -* Menu: - -* @float:: Producing floating material. -* @caption @shortcaption:: Specifying descriptions for floats. -* @listoffloats:: A table of contents for floats. - - -File: texinfo.info, Node: @float, Next: @caption @shortcaption, Up: Floats - -9.1.1 ‘@float’ [TYPE][,LABEL]: Floating Material ------------------------------------------------- - -To produce floating material, enclose the material you want to be -displayed separate between ‘@float’ and ‘@end float’ commands, on lines -by themselves. - - Floating material often uses ‘@image’ to display an already-existing -graphic (*note Images::), or ‘@multitable’ to display a table (*note -Multi-column Tables::). However, the contents of the float can be -anything. Here's an example with simple text: - - @float Figure,fig:ex1 - This is an example float. - @end float - -And the output: - -This is an example float. - -Figure 9.1 - As shown in the example, ‘@float’ takes two arguments (separated by a -comma), TYPE and LABEL. Both are optional. - -TYPE - Specifies the sort of float this is; typically a word such as - "Figure", "Table", etc. If this is not given, and LABEL is, any - cross-referencing will simply use a bare number. - -LABEL - Specifies a cross-reference label for this float. If given, this - float is automatically given a number, and will appear in any - ‘@listoffloats’ output (*note @listoffloats::). Cross references - to LABEL are allowed. For example, ‘see @ref{fig:ex1}’ will - produce see *note Figure 9.1: fig:ex1. - - On the other hand, if LABEL is not given, then the float will not - be numbered and consequently will not appear in the ‘@listoffloats’ - output or be cross-referenceable. - -Ordinarily, you specify both TYPE and LABEL, to get a labeled and -numbered float. - - In the LaTeX output, code loading the ‘float’ package is output in -the preamble if ‘@float’ are present. A ‘@float’ with type ‘figure’ or -‘table’ (case insensitive) is already defined by the package. Other -float types lead to the definition of a new float environment, with -names based on the ‘@float’ type with anything else than letters and ‘-’ -removed. - - In Texinfo, all floats are numbered in the same way: with the chapter -number (or appendix letter), a period, and the float number, which -simply counts 1, 2, 3, ..., and is reset at each chapter. Each float -type is counted independently. - - Floats within an ‘@unnumbered’, or outside of any chapter, are simply -numbered consecutively from 1. - - These numbering conventions are not, at present, changeable. - - -File: texinfo.info, Node: @caption @shortcaption, Next: @listoffloats, Prev: @float, Up: Floats - -9.1.2 ‘@caption’ & ‘@shortcaption’ ----------------------------------- - -You may write a ‘@caption’ anywhere within a ‘@float’ environment, to -define a caption for the float. It is not allowed in any other context. -‘@caption’ takes a single argument, enclosed in braces. Here's an -example: - - @float - An example float, with caption. - @caption{Caption for example float.} - @end float - -The output is: - -An example float, with caption. - -Caption for example float. - - ‘@caption’ can appear anywhere within the float; it is not processed -until the ‘@end float’. The caption text is usually a sentence or two, -but may consist of several paragraphs if necessary. - - In the output, the caption always appears below the float; this is -not currently changeable. It is preceded by the float type and/or -number, as specified to the ‘@float’ command (see the previous section). - - The ‘@shortcaption’ command likewise may be used only within -‘@float’, and takes a single argument in braces. The short caption text -is used instead of the caption text in a list of floats (see the next -section). Thus, you can write a long caption for the main document, and -a short title to appear in the list of floats. For example: - - @float - ... as above ... - @shortcaption{Text for list of floats.} - @end float - - The text for ‘@shortcaption’ may not contain comments (‘@c’), -verbatim text (‘@verb’), environments such as ‘@example’, footnotes -(‘@footnote’), multiple paragraphs, or other complex constructs. The -same constraints apply to ‘@caption’ unless there is a ‘@shortcaption’. -In LaTeX a multi-paragraph ‘@caption’ will lead to an error when -formatted, unless there is a ‘@shortcaption’. - - -File: texinfo.info, Node: @listoffloats, Prev: @caption @shortcaption, Up: Floats - -9.1.3 ‘@listoffloats’: Tables of Contents for Floats ----------------------------------------------------- - -You can write a ‘@listoffloats’ command to generate a list of floats for -a given float type (*note @float::), analogous to the document's overall -table of contents. Typically, it is written in its own ‘@unnumbered’ -node to provide a heading and structure, rather like ‘@printindex’ -(*note Printing Indices & Menus::). - - ‘@listoffloats’ takes one optional argument, the float type. Here's -an example: - - @node List of Figures - @unnumbered List of Figures - @listoffloats Figure - -Without any argument, ‘@listoffloats’ generates a list of floats for -which no float type was specified, i.e., no first argument to the -‘@float’ command (*note @float::). - - Here's what the output from ‘@listoffloats’ looks like, given the -example figure earlier in this chapter: - - * Figure 12.1: fig:ex1. - - Usually, each line in the list of floats contains the float type (if -any), the float number, and the caption, if any--the ‘@shortcaption’ -argument, if it was specified, else the ‘@caption’ argument. The page -number may also be included, depending on output format. - - Unnumbered floats (those without cross-reference labels) are omitted -from the list of floats. - - The formatting of ‘@listoffloats’ depends on the output format. In -Info, for example, a ‘@listoffloats’ is formatted as a menu. - - In LaTeX output, ‘\listoffigures’ is output for the ‘figure’ (case -insensitive) float type, ‘\listoftables’ is output for the ‘table’ (case -insensitive) float type. For other float types, a specific ‘\listof’ -command is output. - - -File: texinfo.info, Node: Images, Next: Footnotes, Prev: Floats, Up: Special Displays - -9.2 Inserting Images -==================== - -You can insert an image given in an external file with the ‘@image’ -command. Although images can be used anywhere, including the middle of -a paragraph, we describe them in this chapter since they are most often -part of a displayed figure or example. - -* Menu: - -* Image Syntax:: -* Image Scaling:: - - -File: texinfo.info, Node: Image Syntax, Next: Image Scaling, Up: Images - -9.2.1 Image Syntax ------------------- - -Here is the synopsis of the ‘@image’ command: - - @image{FILENAME[, WIDTH[, HEIGHT[, ALTTEXT[, EXTENSION]]]]} - - The FILENAME argument is mandatory, and must not have an extension, -because the different processors support different formats: - - • TeX (DVI output) reads the file ‘FILENAME.eps’ (Encapsulated - PostScript format). - - • TeX (PDF output) reads ‘FILENAME.pdf’, ‘FILENAME.png’, - ‘FILENAME.jpg’, or ‘FILENAME.jpeg’ (in that order). It also tries - uppercase versions of the extensions. The PDF format does not - support EPS images, so such must be converted first. - - • In Info, ‘FILENAME.txt’ is included verbatim (more or less as if it - were in ‘@verbatim’). The Info output may also include a reference - to ‘FILENAME.png’ or ‘FILENAME.jpg’. (See below.) - - • In HTML, a reference to ‘FILENAME.png’, ‘FILENAME.jpg’, - ‘FILENAME.jpeg’ or ‘FILENAME.gif’ (in that order) is output. If - none of those exist, it gives an error, and outputs a reference to - ‘FILENAME.jpg’ anyway. - - • In DocBook, references to ‘FILENAME.eps’, ‘FILENAME.gif’, - ‘FILENAME.jpeg’, ‘FILENAME.jpg’, ‘FILENAME.pdf’, ‘FILENAME.png’ and - ‘FILENAME.svg’ are output, for every file found. Also, - ‘FILENAME.txt’ is included verbatim, if present. (The subsequent - DocBook processor is supposed to choose the appropriate one.) - - • For LaTeX, ‘FILENAME’ without any extension is used; the subsequent - LaTeX processor is supposed to choose the appropriate image type. - - • For Info and HTML output, the optional fifth argument EXTENSION to - ‘@image’ is used for the file extension, if it is specified and the - file is found. Any leading period should be included in EXTENSION. - For example: - - @image{foo,,,,.xpm} - - If you want to install image files for use by Info readers too, we -recommend putting them in a subdirectory like ‘FOO-figures’ for a -package FOO. Copying the files into ‘$(infodir)/FOO-figures/’ should be -done in your ‘Makefile’. - - The WIDTH and HEIGHT arguments are described in the next section. - - If an image is the first thing in a paragraph and followed by more -text, then you should precede the ‘@image’ command with ‘@indent’ or -‘@noindent’ to indicate the beginning of paragraph formatting. This is -especially important for TeX output to get correct paragraph -indentation. - - Use ‘@center’ to center an image (*note @titlefont @center @sp::). - - For HTML output, the “alt attribute” for inline images is set to the -optional ALTTEXT (fourth) argument to ‘@image’, if supplied. If not -supplied, the full file name of the image being displayed is used. The -ALTTEXT is processed as Texinfo text, so special characters such as ‘"’ -and ‘<’ and ‘&’ are escaped in the HTML output; also, you can get an -empty ‘alt’ string with ‘@-’ (a command that produces no output; *note -@- @hyphenation::). - - For Info output, the ALTTEXT string is also processed as Texinfo text -and output. In this case, ‘\’ is escaped as ‘\\’ and ‘"’ as ‘\"’; no -other escapes are done. - - In Info output, a reference to the binary image file is written -(trying FILENAME suffixed with ‘EXTENSION’, ‘.EXTENSION’, ‘.png’, or -‘.jpg’, in that order) if one exists. The ‘.txt’ file is also literally -included, if one exists. This way, Info readers which can display -images (such as the Emacs Info browser, running under X) can do so, -whereas Info readers which can only use text (such as the standalone -Info reader) can display the textual version. - - -File: texinfo.info, Node: Image Scaling, Prev: Image Syntax, Up: Images - -9.2.2 Image Scaling -------------------- - -The optional WIDTH and HEIGHT arguments to the ‘@image’ command (see the -previous section) specify the size to which to scale the image. They -are only taken into account in printed output. - - In TeX, if neither is specified, the image is presented in its -natural size (given in the file); if only one is specified, the other is -scaled proportionately; and if both are specified, both are respected, -thus likely distorting the original image by changing its aspect ratio. - - The WIDTH and HEIGHT may be specified using any valid TeX dimension, -namely: - -pt - point (72.27pt = 1in) -pc - pica (1pc = 12pt) -bp - big point (72bp = 1in) -in - inch -cm - centimeter (2.54cm = 1in) -mm - millimeter (10mm = 1cm) -dd - didôt point (1157dd = 1238pt) -cc - cicero (1cc = 12dd) -sp - scaled point (65536sp = 1pt) - - For example, the following will scale a file ‘ridt.eps’ to one inch -vertically, with the width scaled proportionately: - - @image{ridt,,1in} - - For ‘@image’ to work with TeX, the file ‘epsf.tex’ must be installed -somewhere that TeX can find it. (The standard location is -‘TEXMF/tex/generic/dvips/epsf.tex’, where TEXMF is a root of your TeX -directory tree.) This file is included in the Texinfo distribution and -is also available from <ftp://tug.org/tex/epsf.tex>, among other places. - - ‘@image’ can be used within a line as well as for displayed figures. -Therefore, if you intend it to be displayed, be sure to leave a blank -line before the command, or the output will run into the preceding text. - - Image scaling is presently implemented only in printed output, not in -any other sort of output. - - -File: texinfo.info, Node: Footnotes, Prev: Images, Up: Special Displays - -9.3 Footnotes -============= - -A “footnote” is for a reference that documents or elucidates the primary -text.(1) - - Footnotes are distracting; use them sparingly at most, and it is best -to avoid them completely. Standard bibliographical references are -usually better placed in a bibliography at the end of a document instead -of in footnotes throughout. - -* Menu: - -* Footnote Commands:: How to write a footnote in Texinfo. -* Footnote Styles:: Controlling how footnotes appear. - - ---------- Footnotes ---------- - - (1) A footnote should complement or expand upon the primary text, but -a reader should not need to read a footnote to understand the primary -text. For a thorough discussion of footnotes, see ‘The Chicago Manual -of Style’, which is published by the University of Chicago Press. - - -File: texinfo.info, Node: Footnote Commands, Next: Footnote Styles, Up: Footnotes - -9.3.1 Footnote Commands ------------------------ - -In Texinfo, footnotes are created with the ‘@footnote’ command. This -command is followed immediately by a left brace, then by the text of the -footnote, and then by a terminating right brace. Footnotes may be of -any length (they will be broken across pages if necessary), but are -usually short. The template is: - - ordinary text@footnote{TEXT OF FOOTNOTE} - - As shown here, the ‘@footnote’ command should come right after the -text being footnoted, with no intervening space; otherwise, the footnote -marker might end up starting a line. - - For example, this clause is followed by a sample footnote(1); in the -Texinfo source, it looks like this: - - ...a sample footnote@footnote{Here is the sample - footnote.}; in the Texinfo source... - - As you can see, this source includes two punctuation marks next to -each other; in this case, ‘.};’ is the sequence. This is normal (the -first ends the footnote and the second belongs to the sentence being -footnoted), so don't worry that it looks odd. (Another style, perfectly -acceptable, is to put the footnote after punctuation belonging to the -sentence, as in ‘;@footnote{...’.) - - In printed output formats, the reference mark for a footnote is a -small, superscripted number; the text of the footnote appears at the -bottom of the page, below a horizontal line. - - In Info, the reference mark for a footnote is a pair of parentheses -with the footnote number between them, like this: ‘(1)’. The reference -mark is followed by a cross-reference link to the footnote text if -footnotes are put in separate nodes (*note Footnote Styles::). - - In the HTML output, footnote references are generally marked with a -small, superscripted number which is rendered as a hypertext link to the -footnote text. - - Footnotes cannot be nested, and cannot appear in section headings of -any kind or other "unusual" places. - - A final tip: footnotes in the argument of an ‘@item’ command for an -‘@table’ must be entirely on the same line as the ‘@item’ (as usual). -*Note Two-column Tables::. - - ---------- Footnotes ---------- - - (1) Here is the sample footnote. - - -File: texinfo.info, Node: Footnote Styles, Prev: Footnote Commands, Up: Footnotes - -9.3.2 Footnote Styles ---------------------- - -Online formats have two footnote styles, which determine where the text -of the footnote is located, the ‘end’ and ‘separate’ footnote style. - -‘end’ - For Info, in the ‘end’ node style, all the footnotes for a single - node are placed at the end of that node. The footnotes are - separated from the rest of the node by a line of dashes with the - word ‘Footnotes’ within it. Each footnote begins with an ‘(N)’ - reference mark. - - Here is an example of the Info output for a single footnote in the - end-of-node style: - - --------- Footnotes --------- - - (1) Here is a sample footnote. - - In HTML, when the footnote style is ‘end’, or if the output is not - split, footnotes are put at the end of each output file. - -‘separate’ - For Info, in the ‘separate’ node style, all the footnotes for a - single node are placed in an automatically constructed node of - their own. In this style, a "footnote reference" follows each - ‘(N)’ reference mark in the body of the node. The footnote - reference is actually a cross-reference which you use to reach the - footnote node. - - The name of the node with the footnotes is constructed by appending - ‘-Footnotes’ to the name of the node that contains the footnotes. - (Consequently, the footnotes' node for the ‘Footnotes’ node is - ‘Footnotes-Footnotes’!) The footnotes' node has an 'Up' node - pointer that leads back to its parent node. - - Here is how the first footnote in this manual looks after being - formatted for Info in the separate node style: - - File: texinfo.info Node: Overview-Footnotes, Up: Overview - - (1) The first syllable of "Texinfo" is pronounced like - "speck", not "hex". ... - - In HTML, when the footnote style is ‘separate’, and the output is - split, footnotes are placed in a separate file. - - Unless your document has long and important footnotes (as in, say, -Gibbon's ‘Decline and Fall ...’), we recommend the ‘end’ style, as it is -simpler for readers to follow. - - Use the ‘@footnotestyle’ command to specify the footnote style. -Write this command at the beginning of a line followed by an argument, -either ‘end’ for the end node style or ‘separate’ for the separate node -style. - - For example, - - @footnotestyle end -or - @footnotestyle separate - - Write a ‘@footnotestyle’ command in the Texinfo file preamble. - - -File: texinfo.info, Node: Indices, Next: Insertions, Prev: Special Displays, Up: Top - -10 Indices -********** - -Using Texinfo, you can generate indices without having to sort and -collate entries manually. In an index, the entries are listed in -alphabetical order, together with information on how to find the -discussion of each entry. In a printed manual, this information -consists of page numbers. In other formats, links to the index entries -location or to the associated nodes are generated. - - Texinfo provides several predefined kinds of indices: an index for -functions, an index for variables, an index for concepts, and so on. -You can combine indices or use them for other than their canonical -purpose. Lastly, you can define your own new indices. - -* Menu: - -* Predefined Indices:: Use different indices for different kinds of - entries. -* Indexing Commands:: How to make an index entry. -* Advanced Indexing:: Advanced indexing commands. -* Index Entries:: Choose different words for index entries. -* Printing Indices & Menus:: How to print an index in hardcopy and generate - index menus in Info. -* Combining Indices:: How to combine indices. -* New Indices:: How to define your own indices. - - -File: texinfo.info, Node: Predefined Indices, Next: Indexing Commands, Up: Indices - -10.1 Predefined Indices -======================= - -Texinfo provides six predefined indices. Here are their nominal -meanings, abbreviations, and the corresponding index entry commands: - -‘cp’ - (‘@cindex’) Concept index, for general concepts. -‘fn’ - (‘@findex’) Function index, for function and function-like names - (such as entry points of libraries). -‘ky’ - (‘@kindex’) Keystroke index, for keyboard commands. -‘pg’ - (‘@pindex’) Program index, for names of programs. -‘tp’ - (‘@tindex’) Data type index, for type names (such as structures - defined in header files). -‘vr’ - (‘@vindex’) Variable index, for variable names (such as library - global variables). - -Not every manual needs all of these, and most manuals use only two or -three at most. The present manual, for example, has three indices: a -concept index, a variable index, and an @-command index. (The last is -actually the function index but is called a command index in the chapter -heading.) - - You are not required to use the predefined indices strictly for their -canonical purposes. For example, suppose you wish to index some C -preprocessor macros. You could put them in the function index along -with actual functions, just by writing ‘@findex’ commands for them; -then, when you print the "Function Index" as an unnumbered chapter, you -could give it the title 'Function and Macro Index' and all will be -consistent for the reader. - - On the other hand, it is best not to stray too far from the meaning -of the predefined indices. Otherwise, in the event that your text is -combined with other text from other manuals, the index entries will not -match up. Instead, define your own new index (*note New Indices::). - - We recommend having a single index in the final document whenever -possible, however many source indices you use, since then readers have -only one place to look. Two or more source indices can be combined into -one output index by using the ‘@synindex’ or ‘@syncodeindex’ commands -(*note Combining Indices::). - - Index entry commands based on the the two letter index names are also -valid, for example ‘@cpindex’ can be used instead of ‘@cindex’. - - -File: texinfo.info, Node: Indexing Commands, Next: Advanced Indexing, Prev: Predefined Indices, Up: Indices - -10.2 Defining the Entries of an Index -===================================== - -The data to make an index come from many individual indexing commands -scattered throughout the Texinfo source file. Each command says to add -one entry to a particular index; after formatting, the index will give -the current page number or node name as the reference. - - An index entry consists of an indexing command at the beginning of a -line followed, on the rest of the line, by the entry. - - For example, this section begins with the following five entries for -the concept index: - - @cindex Defining indexing entries - @cindex Index entries, defining - @cindex Entries for an index - @cindex Specifying index entries - @cindex Creating index entries - - Each predefined index has its own indexing command--‘@cindex’ for the -concept index, ‘@findex’ for the function index, and so on, as listed in -the previous section. - - Index entries should precede the visible material that is being -indexed. For instance: - - @cindex hello - Hello, there! - -Among other reasons, that way following indexing links (in whatever -context) ends up before the material, where readers want to be, instead -of after. - - In Info, an index is usually formatted as a menu. Try to avoid using -a colon in index entries, as this may confuse some Info readers. *Note -Menu Parts:: for more information about the structure of a menu entry. - - By default, entries for a concept index are printed in a roman font -and entries for the other indices are printed in a typewriter font. You -may change the way part of an entry is printed with the usual Texinfo -commands, such as ‘@file’ for file names (*note Marking Text::), and -‘@r’ for the normal roman font (*note Fonts::). - - You may specify an explicit sort key for an index entry using -‘@sortas’ following either the index command or the text of the entry. -For example: ‘@findex @sortas{\} \ @r{(literal \ in @code{@@math})’ -sorts the index entry this produces under backslash. - - You may choose to ignore certain characters in index entries for the -purposes of sorting. The characters that you can currently choose to -ignore are ‘\’, ‘-’, ‘<’ and ‘@’, which are ignored by giving as an -argument to the ‘@set’ command, respectively, ‘txiindexbackslashignore’, -‘txiindexhyphenignore’, ‘txiindexlessthanignore’ and -‘txiindexatsignignore’. For example, specifying ‘@set -txiindexbackslashignore’ causes the ‘\mathopsup’ entry in the index for -this manual to be sorted as if it were ‘mathopsup’, so that it appears -among the other entries beginning with 'M'. This avoids the need to -provide explicit sort keys for index entries containing these -characters. - - When using these options, it is possible to get an index entry with -an empty sort key. To avoid this, specify a ‘@sortas’ directive in the -index entry. For example: - - @set txiindexbackslashignore - @findex @sortas{\} \ - - -File: texinfo.info, Node: Advanced Indexing, Next: Index Entries, Prev: Indexing Commands, Up: Indices - -10.3 Advanced Indexing Commands -=============================== - -Texinfo provides several further commands for indexing. - - First, you can create “multilevel” index entries, allowing you to -group many related subtopics under the same higher-level topic. You do -this by separating the parts of such an entry with the ‘@subentry’ -command. Such commands might look like this: - - @cindex Superhumans @subentry villains - @cindex Superhumans @subentry heroes - - You may have up to three levels in an entry: - - @cindex coffee makers @subentry electric @subentry pink - @cindex coffee makers @subentry electric @subentry blue - - You can use the ‘@sortas’ command mentioned earlier with any or all -of the three parts of an entry to cause them to sort differently than -they would by default. - - Second, you may provide an index entry that points to another, using -the ‘@seeentry’ ("see entry") command. For example: - - @cindex Indexes @seeentry{Indices} - - Such an entry should be unique in your document; the idea is to -redirect the reader to the other entry where they will find all the -information they are looking for. - - Finally, you may provide a "see also" entry using the ‘@seealso’ -command. These entries go along with regular entries, and are grouped -together with them in the final printed index. For example: - - @cindex Coffee - @cindex Coffee @subentry With milk and sugar - @cindex Coffee @subentry With doughnuts - @cindex Coffee @subentry Decaffeinated - @cindex Coffee @seealso{Tea} - - When using all three of these advanced commands, _do not_ place a -comma between the different parts of the index text. The ‘texindex’ -program, which sorts the index entries and generates the indexing -formatting commands, takes care of placing commas in the correct places -for you. - - Do not interrupt an index or ‘@subentry’ entry by ‘@sortas’ or -advanced commands with braces; place the commands with braces at the -beginning or at the end of the entry. - - These features are the most useful with printed documents, and when -translating Texinfo to DocBook. - - -File: texinfo.info, Node: Index Entries, Next: Printing Indices & Menus, Prev: Advanced Indexing, Up: Indices - -10.4 Making Index Entries -========================= - -Concept index entries consist of text. The best way to write an index -is to devise entries which are terse yet clear. If you can do this, the -index usually looks better if the entries are written just as they would -appear in the middle of a sentence, that is, capitalizing only proper -names and acronyms that always call for uppercase letters. This is the -case convention we use in most GNU manuals' indices. - - If you don't see how to make an entry terse yet clear, make it longer -and clear--not terse and confusing. If many of the entries are several -words long, the index may look better if you use a different convention: -capitalize the first word of each entry. Whichever case convention you -use, use it consistently. - - In any event, do not ever capitalize a case-sensitive name such as a -C or Lisp function name or a shell command; that would be a spelling -error. Entries in indices other than the concept index are symbol names -in programming languages, or program names; these names are usually -case-sensitive, so likewise use upper- and lowercase as required. - - It is a good idea to make index entries unique wherever feasible. -That way, people using the printed output or online completion of index -entries don't see undifferentiated lists. Consider this an opportunity -to make otherwise-identical index entries be more specific, so readers -can more easily find the exact place they are looking for. The advanced -indexing features described in *note Advanced Indexing:: can help with -this, as well. - - When you are making index entries, it is good practice to think of -the different ways people may look for something. Different people _do -not_ think of the same words when they look something up. A helpful -index will have items indexed under all the different words that people -may use. For example, one reader may think it obvious that the -two-letter names for indices should be listed under "Indices, two-letter -names", since "Indices" are the general concept. But another reader may -remember the specific concept of two-letter names and search for the -entry listed as "Two letter names for indices". A good index will have -both entries and will help both readers. - - Like typesetting, the construction of an index is a skilled art, the -subtleties of which may not be appreciated until you need to do it -yourself. - - -File: texinfo.info, Node: Printing Indices & Menus, Next: Combining Indices, Prev: Index Entries, Up: Indices - -10.5 Printing Indices and Menus -=============================== - -‘@printindex’ takes one argument, a two-letter index abbreviation. You -must include the ‘@printindex’ command at the place in the document -where you want the index to appear. This does not happen automatically -just because you use ‘@cindex’ or other index-entry generating commands -in the Texinfo file; those just cause the raw data for the index to be -accumulated. - - You should precede the ‘@printindex’ command with a suitable section -or chapter command (usually ‘@appendix’ or ‘@unnumbered’) to supply the -chapter heading and put the index into the table of contents. Precede -the chapter heading with an ‘@node’ line as usual. - - For example: - - @node Variable Index - @unnumbered Variable Index - - @printindex vr - - @node Concept Index - @unnumbered Concept Index - - @printindex cp - - The text ‘Index’ needs to appear in the name of the node containing -the index for the index to be found by Info readers. - - If you have more than one index, we recommend placing the concept -index last. - - Other details of index output in output formats: - - • As part of the process of creating a printed manual with TeX, you - run a program called ‘texindex’ (*note Hardcopy with TeX::) to sort - the raw data to produce a sorted index file. The sorted index file - is what is actually used to print the index. - - ‘@printindex’ reads the corresponding sorted index file and - produces a traditional two-column index, with index terms and page - numbers. - - • In Info output, ‘@printindex’ produces a special menu containing - the line number of the entry, relative to the start of the node. - Info readers can use this to go to the exact line of an entry, not - just the containing node. (Older Info readers will just go to the - node.) Here's an example: - - * First index entry: Top. (line 7) - - • In plain text output, ‘@printindex’ formatting is usually similar - to a menu in Info, showing the line number of each entry relative - to the start of the file. - - • In HTML output, ‘@printindex’ produces links to the index entries. - - • In DocBook and LaTeX output, it simply records the index to be - printed. - - -File: texinfo.info, Node: Combining Indices, Next: New Indices, Prev: Printing Indices & Menus, Up: Indices - -10.6 Combining Indices -====================== - -Sometimes you will want to combine two disparate indices such as -functions and concepts, perhaps because you have few enough entries that -a separate index would look silly. - - You could put functions into the concept index by writing ‘@cindex’ -commands for them instead of ‘@findex’ commands, and produce a -consistent manual by printing the concept index with the title 'Function -and Concept Index' and not printing the 'Function Index' at all; but -this is not a robust procedure. It works only if your document is never -included as part of another document that is designed to have a separate -function index; if your document were to be included with such a -document, the functions from your document and those from the other -would not end up together. Also, to make your function names appear in -the right font in the concept index, you would need to enclose every one -of them between the braces of ‘@code’. - -* Menu: - -* @syncodeindex:: How to merge two indices, using ‘@code’ font for - the merged-from index. -* @synindex:: How to merge two indices, using the roman font - for the merged-from index. - - -File: texinfo.info, Node: @syncodeindex, Next: @synindex, Up: Combining Indices - -10.6.1 ‘@syncodeindex’: Combining Indices Using ‘@code’ -------------------------------------------------------- - -When you want to combine functions and concepts into one index, you -should index the functions with ‘@findex’ and index the concepts with -‘@cindex’, and use the ‘@syncodeindex’ command to redirect the function -index entries into the concept index. - - The ‘@syncodeindex’ command takes two arguments; they are the name of -the index to redirect, and the name of the index to redirect it to. The -template looks like this: - - @syncodeindex FROM TO - - For this purpose, the indices are given two-letter names: - -‘cp’ - Concept index -‘fn’ - Function index -‘ky’ - Key index -‘pg’ - Program index -‘tp’ - Data type index -‘vr’ - Variable index - - Write a ‘@syncodeindex’ command before or shortly after the -end-of-header line at the beginning of a Texinfo file. For example, to -merge a function index with a concept index, write the following: - - @syncodeindex fn cp - -This causes all entries designated for the function index to merge in -with the concept index instead. - - To merge both a variable index and a function index into a concept -index, write the following: - - @syncodeindex vr cp - @syncodeindex fn cp - - The ‘@syncodeindex’ command puts all the entries from the 'from' -index (the redirected index) into the ‘@code’ font, overriding whatever -default font is used by the index to which the entries are now directed. -This way, if you direct function names from a function index into a -concept index, all the function names are printed in the ‘@code’ font as -you would expect. - - -File: texinfo.info, Node: @synindex, Prev: @syncodeindex, Up: Combining Indices - -10.6.2 ‘@synindex’: Combining Indices -------------------------------------- - -The ‘@synindex’ command is nearly the same as the ‘@syncodeindex’ -command, except that it does not put the 'from' index entries into the -‘@code’ font; rather it puts them in the roman font. Thus, you use -‘@synindex’ when you merge a concept index into a function index. - - *Note Printing Indices & Menus::, for information about printing an -index at the end of a book or creating an index menu in an Info file. - - -File: texinfo.info, Node: New Indices, Prev: Combining Indices, Up: Indices - -10.7 Defining New Indices -========================= - -In addition to the predefined indices (*note Predefined Indices::), you -may use the ‘@defindex’ and ‘@defcodeindex’ commands to define new -indices. These commands create new indexing @-commands with which you -mark index entries. The ‘@defindex’ command is used like this: - - @defindex NAME - - New index names are usually two-letter words, such as ‘au’. For -example: - - @defindex au - - This defines a new index, called the ‘au’ index. At the same time, -it creates a new indexing command, ‘@auindex’, that you can use to make -index entries. Use this new indexing command just as you would use a -predefined indexing command. - - For example, here is a section heading followed by a concept index -entry and two ‘au’ index entries. - - @section Cognitive Semantics - @cindex kinesthetic image schemas - @auindex Johnson, Mark - @auindex Lakoff, George - -(Evidently, ‘au’ serves here as an abbreviation for "author".) - - Texinfo constructs the new indexing command by concatenating the name -of the index with ‘index’; thus, defining an ‘xy’ index leads to the -automatic creation of an ‘@xyindex’ command. - - Use the ‘@printindex’ command to print the index, as you do with the -predefined indices. For example: - - @node Author Index - @unnumbered Author Index - - @printindex au - - The ‘@defcodeindex’ command is like the ‘@defindex’ command, except -that, in the printed output, it prints entries in an ‘@code’ font by -default instead of in a roman font. - - You should define new indices before the end-of-header line of a -Texinfo file, and (of course) before any ‘@synindex’ or ‘@syncodeindex’ -commands (*note Texinfo File Header::). - - As mentioned earlier (*note Predefined Indices::), we recommend -having a single index in the final document whenever possible (no matter -how many source indices you use), since then readers have only one place -to look. - - When creating an index, TeX creates a file whose extension is the -name of the index (*note Names of index files::). Therefore you should -avoid using index names that collide with extensions used for other -purposes, such as ‘.aux’ or ‘.xml’. ‘texi2any’ already reports an error -if a new index conflicts well-known extension name. - - -File: texinfo.info, Node: Insertions, Next: Breaks, Prev: Indices, Up: Top - -11 Special Insertions -********************* - -Texinfo provides several commands for inserting characters that have -special meaning in Texinfo, such as braces, and for other graphic -elements that do not correspond to simple characters you can type. - -* Menu: - -* Special Characters:: Inserting @ {} , \ # & -* Inserting Quote Characters:: Inserting left and right quotes, in code. -* Inserting Space:: Inserting the right amount of whitespace. -* Inserting Accents:: Inserting accents and special characters. -* Inserting Quotation Marks:: Inserting quotation marks. -* Inserting Subscripts and Superscripts:: Inserting sub/superscripts. -* Inserting Math:: Formatting mathematical expressions. -* Glyphs for Text:: Inserting dots, bullets, currencies, etc. -* Glyphs for Programming:: Indicating results of evaluation, expansion of - macros, errors, etc. -* Inserting Unicode:: Inserting a Unicode character by code point. - - -File: texinfo.info, Node: Special Characters, Next: Inserting Quote Characters, Up: Insertions - -11.1 Special Characters: Inserting @ {} , \ # & -=============================================== - -‘@’ and curly braces are the basic special characters in Texinfo. To -insert these characters so they appear in text, you must put an ‘@’ in -front of these characters to prevent Texinfo from misinterpreting them. -Alphabetic commands are also provided. - - The other characters (comma, backslash, hash, ampersand) are special -only in restricted contexts, as explained in the respective sections. - -* Menu: - -* Inserting an Atsign:: ‘@@’, ‘@atchar{}’. -* Inserting Braces:: ‘@{ @}’, ‘@l rbracechar{}’. -* Inserting a Comma:: , and ‘@comma{}’. -* Inserting a Backslash:: \ and ‘@backslashchar{}’. -* Inserting a Hashsign:: # and ‘@hashchar{}’. -* Inserting an Ampersand:: & and ‘@ampchar{}’. - - -File: texinfo.info, Node: Inserting an Atsign, Next: Inserting Braces, Up: Special Characters - -11.1.1 Inserting '@' with ‘@@’ and ‘@atchar{}’ ----------------------------------------------- - -‘@@’ produces a single ‘@’ character in the output. Do not put braces -after an ‘@@’ command. - - ‘@atchar{}’ also produces a single ‘@’ character in the output. It -does need following braces, as usual for alphabetic commands. In inline -conditionals (*note Inline Conditionals::), it can be necessary to avoid -using the literal ‘@’ character in the source (and may be clearer in -other contexts). - - -File: texinfo.info, Node: Inserting Braces, Next: Inserting a Comma, Prev: Inserting an Atsign, Up: Special Characters - -11.1.2 Inserting '{ '}' with ‘@{ @}’ and ‘@l rbracechar{}’ ----------------------------------------------------------- - -‘@{’ produces a single ‘{’ in the output, and ‘@}’ produces a single -‘}’. Do not put braces after either an ‘@{’ or an ‘@}’ command. - - ‘@lbracechar{}’ and ‘@rbracechar{}’ also produce single ‘{’ and ‘}’ -characters in the output. They do need following braces, as usual for -alphabetic commands. In inline conditionals (*note Inline -Conditionals::), it can be necessary to avoid using literal brace -characters in the source (and may be clearer in other contexts). - - -File: texinfo.info, Node: Inserting a Comma, Next: Inserting a Backslash, Prev: Inserting Braces, Up: Special Characters - -11.1.3 Inserting ',' with ‘@comma{}’ ------------------------------------- - -Ordinarily, a comma ',' is a normal character that can be simply typed -in your input where you need it. - - However, Texinfo uses the comma as a special character only in one -context: to separate arguments to those Texinfo commands, such as -‘@node’ (*note Node Line Requirements::), ‘@acronym’ (*note @acronym::) -and ‘@xref’ (*note Cross References::), as well as user-defined macros -(*note Defining Macros::), which take more than one argument. - - Since a comma character would confuse Texinfo's parsing for these -commands, you must use the command ‘@comma{}’ instead if you want to -pass an actual comma. Here are some examples: - - @acronym{ABC, A Bizarre @comma{}} - @xref{Comma,, The @comma{} symbol} - @mymac{One argument@comma{} containing a comma} - - Although ‘@comma{}’ can be used nearly anywhere, there is no need for -it anywhere except in this unusual case. - - (Incidentally, the name ‘@comma’ lacks the ‘char’ suffix used in its -companion commands only for historical reasons. It didn't seem -important enough to define a synonym.) - - -File: texinfo.info, Node: Inserting a Backslash, Next: Inserting a Hashsign, Prev: Inserting a Comma, Up: Special Characters - -11.1.4 Inserting '\' with ‘@backslashchar{}’ --------------------------------------------- - -Ordinarily, a backslash '\' is a normal character in Texinfo that can be -simply typed in your input where you need it. The result is to typeset -the backslash from the typewriter font. - - However, Texinfo uses the backslash as a special character in one -restricted context: to delimit formal arguments in the bodies of -user-defined macros (*note Defining Macros::). - - Due to the vagaries of macro argument parsing, it is more reliable to -pass an alphabetic command that produces a backslash instead of using a -literal \. Hence ‘@backslashchar{}’. Here is an example macro call: - - @mymac{One argument@backslashchar{} with a backslash} - - Texinfo documents may also use \ as a command character inside -‘@math’ (*note Inserting Math::). In this case, ‘@\’ or ‘\backslash’ -produce a "math" backslash (from the math symbol font), while -‘@backslashchar{}’ produces a typewriter backslash as usual. - - Although ‘@backslashchar{}’ can be used nearly anywhere, there is no -need for it except in these unusual cases. - diff --git a/result/sw/share/info/texinfo.info-2 b/result/sw/share/info/texinfo.info-2 deleted file mode 100644 index d8741492..00000000 --- a/result/sw/share/info/texinfo.info-2 +++ /dev/null @@ -1,7303 +0,0 @@ -This is texinfo.info, produced by texi2any version 7.2 from -texinfo.texi. - -This manual is for GNU Texinfo (version 7.2, 20 December 2024), a -documentation system that can produce both online information and a -printed manual from a single source using semantic markup. - - Copyright © 1988-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* Texinfo: (texinfo). The GNU documentation format. -* install-info: (texinfo)Invoking install-info. Update info/dir entries. -* texi2any: (texinfo)Invoking texi2any. Translate Texinfo source. -* makeinfo: (texinfo)Invoking texi2any. Translate Texinfo source. -* pod2texi: (pod2texi)Invoking pod2texi. Translate Perl Pod to Texinfo. -* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. -* texi2pdf: (texinfo)PDF Output. PDF output for Texinfo. -* pdftexi2dvi: (texinfo)PDF Output. PDF output for Texinfo. -* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. -END-INFO-DIR-ENTRY - - -File: texinfo.info, Node: Inserting a Hashsign, Next: Inserting an Ampersand, Prev: Inserting a Backslash, Up: Special Characters - -11.1.5 Inserting '#' with ‘@hashchar{}’ ---------------------------------------- - -Ordinarily, a hash '#' is a normal character in Texinfo that can be -simply typed in your input where you need it. The result is to typeset -the hash character from the current font. - - This character has many other names, varying by locale, such as -"number sign", "pound", and "octothorp". It is also sometimes called -"sharp" or "sharp sign" since it vaguely resembles the musical symbol by -that name. In situations where Texinfo is used, "hash" is the most -common in our experience. - - However, Texinfo uses the hash character as a special character in -one restricted context: to introduce the so-called ‘#line’ directive and -variants (*note External Macro Processors::). - - So, in order to typeset an actual hash character in such a place (for -example, in a program that needs documentation about ‘#line’), it's -necessary to use ‘@hashchar{}’ or some other construct. Here's an -example: - - @hashchar{} 10 "example.c" - - Although ‘@hashchar{}’ can be used nearly anywhere, there is no need -for it anywhere except this unusual case. - - -File: texinfo.info, Node: Inserting an Ampersand, Prev: Inserting a Hashsign, Up: Special Characters - -11.1.6 Inserting '&' with ‘@&’ and ‘@ampchar{}’ ------------------------------------------------ - -Ordinarily, an ampersand '&' is a normal character in Texinfo that can -be simply typed in your input where you need it. The result is to -typeset the ampersand character. - - However, the ampersand character is treated specially in just one -restricted context. In the argument to a definition command (*note -Definition Commands::), an ampersand followed by a series of letters may -be typeset specially when processing with TeX (1) (*note Def Cmd -Conventions::). For example: - - @defun foo integer1 &optional integer2 &rest integers - @code{foo} described here. - @end defun - -may have ‘&optional’ and ‘&rest’ formatted in bold, even without any -@-command involved. - - So, in order to typeset an ampersand in such a context, it's -necessary to use ‘@&’ or some other construct. Here's an example of a -C++ function taking a reference as a parameter: - - @deftypefn Function int foo (const std::vector<int>@& @var{bar}) - Documentation of @code{foo}. - @end deftypefn - -This gives the output - - -- Function: int foo (const std::vector<int>& BAR) - Documentation of ‘foo’. - - Although ‘@&’ and ‘@ampchar{}’ can be used nearly anywhere, there is -no need for them anywhere except this unusual case. - - ---------- Footnotes ---------- - - (1) This syntax is used for Emacs Lisp keywords. *Note (elisp)A -Sample Function Description::. - - -File: texinfo.info, Node: Inserting Quote Characters, Next: Inserting Space, Prev: Special Characters, Up: Insertions - -11.2 Inserting Quote Characters -=============================== - -As explained in the early section on general Texinfo input conventions -(*note Conventions::), Texinfo source files use the ASCII character ‘`’ -(96 decimal) to produce a left quote ('), and ASCII ‘'’ (39 decimal) to -produce a right quote ('). Doubling these input characters (‘``’ and -‘''’) produces double quotes (" and "). These are the conventions used -by TeX. - - In examples of computer code, however, ‘`’ and ‘'’ produce typical -renderings for these ASCII characters: the backtick character -(standalone grave accent) and undirected single quote respectively. In -the past, directed glyphs were used by default in TeX output. Texinfo -provides these commands to choose between these alternate renderings: - -‘@codequoteundirected ON-OFF’ - Set to ‘off’ to output the ‘'’ character in code environments as - the right curly single quote. - -‘@codequotebacktick ON-OFF’ - Set to ‘off’ to output the ‘`’ character in code environments as - the left curly single quote. - - If you want these settings for only part of the document, -‘@codequote... on’ will restore the normal behavior, as in -‘@codequoteundirected on’. - - These settings affect ‘@code’, ‘@example’, ‘@kbd’, ‘@samp’, ‘@verb’, -and ‘@verbatim’. *Note Useful Highlighting::. - - Unfortunately, some document viewers will mangle the directed quote -characters when copying and pasting. (The free PDF reader ‘xpdf’ works -fine, but other PDF readers, both free and nonfree, have problems.) - - This feature can also be controlled by using ‘@set’ and ‘@clear’ on -the corresponding variables ‘txicodequoteundirected’ and -‘txicodequotebacktick’. - - -File: texinfo.info, Node: Inserting Space, Next: Inserting Accents, Prev: Inserting Quote Characters, Up: Insertions - -11.3 Inserting Space -==================== - -The following sections describe commands that control spacing of various -kinds within and after sentences. - -* Menu: - -* Multiple Spaces:: Inserting multiple spaces. -* Not Ending a Sentence:: Sometimes a . doesn't end a sentence. -* Ending a Sentence:: Sometimes it does. -* @frenchspacing:: Specifying end-of-sentence spacing. -* @dmn:: Formatting a dimension. - - -File: texinfo.info, Node: Multiple Spaces, Next: Not Ending a Sentence, Up: Inserting Space - -11.3.1 Multiple Spaces ----------------------- - -Ordinarily, multiple whitespace characters (space, tab, and newline) are -collapsed into a single space. - - Occasionally, you may want to produce several consecutive spaces, -either for purposes of example (e.g., what your program does with -multiple spaces as input), or merely for purposes of appearance in -headings or lists. Texinfo supports three commands: ‘@SPACE’, ‘@TAB’, -and ‘@NL’, all of which insert a single space into the output. (Here, -‘@SPACE’ represents an ‘@’ character followed by a space, i.e., ‘@ ’, -‘TAB’ represents an actual tab character, and ‘@NL’ represents an ‘@’ -character and end-of-line, i.e., when ‘@’ is the last character on a -line.) - - For example, - Spacey@ @ @ @ - example. - -produces - - Spacey example. - - Do not follow any of these commands with braces. - - To produce a non-breakable space, see *note @tie::. - - -File: texinfo.info, Node: Not Ending a Sentence, Next: Ending a Sentence, Prev: Multiple Spaces, Up: Inserting Space - -11.3.2 Not Ending a Sentence ----------------------------- - -When a period, exclamation point or question mark is at the end of a -sentence, slightly more space is inserted after it in a typeset manual. - - Usually, Texinfo can determine automatically when a period ends a -sentence. However, special commands are needed in some circumstances. -Use the ‘@:’ command after a period, question mark, exclamation mark or -colon that should not be followed by extra space. This is necessary in -the following situations: - - 1. After a period that ends a lowercase abbreviation which is not at - the end of a sentence. - - 2. When a parenthetical remark in the middle of a sentence (like this - one!) ends with a period, exclamation point or question mark, ‘@:’ - should be used after the right parenthesis. Similarly for right - brackets and right quotes (both single and double). - - For example: - - ‘foo vs.@: bar (or?)@: baz’, - -The first line below shows the output, and for comparison, the second -line shows the spacing when the ‘@:’ commands were not used. - - foo vs. bar (or?) baz - foo vs. bar (or?) baz - - It may help you to remember what ‘@:’ does by imagining that it -stands for an invisible lower-case character that stops a word ending in -a period. - - A few Texinfo commands force normal interword spacing, so that you -don't have to insert ‘@:’ where you otherwise would. These are the -code-like highlighting commands, ‘@var’, ‘@abbr’, and ‘@acronym’ (*note -Useful Highlighting::). For example, in ‘@code{foo. bar}’ the period is -not considered to be the end of a sentence, and no extra space is -inserted. - - ‘@:’ has no effect on the HTML or DocBook output. - - -File: texinfo.info, Node: Ending a Sentence, Next: @frenchspacing, Prev: Not Ending a Sentence, Up: Inserting Space - -11.3.3 Ending a Sentence ------------------------- - -As mentioned above, Texinfo normally inserts additional space after the -end of a sentence. It uses the same heuristic for this as TeX: a -sentence ends with a period, exclamation point, or question mark, either -preceded or followed by optional closing punctuation, and then -whitespace, and _not_ preceded by a capital letter. - - Use ‘@.’ instead of a period, ‘@!’ instead of an exclamation point, -and ‘@?’ instead of a question mark at the end of a sentence that does -end with a capital letter. Do not put braces after any of these -commands. For example: - - Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@. - Give it to M.I.B. and to M.E.W. Also, give it to R.J.C. - -The output follows. In printed output and Info, you can see the desired -extra whitespace after the ‘W’ in the first line. - - Give it to M.I.B. and to M.E.W. Also, give it to R.J.C. - Give it to M.I.B. and to M.E.W. Also, give it to R.J.C. - - In other output formats, ‘@.’ is equivalent to a simple ‘.’; likewise -for ‘@!’ and ‘@?’. - - The "closing punctuation" mentioned above is defined as a right -parenthesis (‘)’, right bracket (‘]’), or right quote, either single or -double (‘'’ and ‘''’; the many possible additional Unicode right quotes -are not included). These characters can be thought of as invisible with -respect to whether a given period ends a sentence. (This is the same -rule as TeX.) For instance, the periods in ‘foo.) Bar’ and ‘foo.'' Bar’ -do end sentences. - - The meanings of ‘@:’ and ‘@.’, etc. in Texinfo are designed to work -well with the Emacs sentence motion commands (*note (emacs)Sentences::). -It may help to imagine that the ‘@’ in ‘@.’, etc., is an invisible -lower-case letter 'a' which makes an upper-case letter before it -immaterial for the purposes of deciding whether the period ends the -sentence. - - A few Texinfo commands are not considered as being an abbreviation, -even though they may end with a capital letter when expanded, so that -you don't have to insert ‘@.’ and companions. Notably, this is the case -for code-like highlighting commands, ‘@var’ arguments ending with a -capital letter, ‘@LaTeX’, and ‘@TeX’. For example, that sentence ended -with ‘... @code{@@TeX}.’; ‘@.’ was not needed. Similarly, in ‘... -@var{VARNAME}. Text’ the period after VARNAME ends the sentence; there -is no need to use ‘@.’. - - -File: texinfo.info, Node: @frenchspacing, Next: @dmn, Prev: Ending a Sentence, Up: Inserting Space - -11.3.4 ‘@frenchspacing’ VAL: Control Sentence Spacing ------------------------------------------------------ - -In American typography, it is traditional and correct to put extra space -at the end of a sentence. This is the default in Texinfo (implemented -in Info and printed output, not in other output formats). In French -typography (and others), this extra space is wrong; all spaces are -uniform. - - Therefore Texinfo provides the ‘@frenchspacing’ command to control -the spacing after punctuation. It reads the rest of the line as its -argument, which must be the single word ‘on’ or ‘off’ (always these -words, regardless of the language of the document). Here is an example: - - @frenchspacing on - This is text. Two sentences. Three sentences. French spacing. - - @frenchspacing off - This is text. Two sentences. Three sentences. Non-French spacing. - -produces: - - This is text. Two sentences. Three sentences. French spacing. - - This is text. Two sentences. Three sentences. Non-French spacing. - - ‘@frenchspacing’ also affects the output after ‘@.’, ‘@!’, and ‘@?’ -(*note Ending a Sentence::). - - ‘@frenchspacing’ has no effect on the HTML or DocBook output. - - -File: texinfo.info, Node: @dmn, Prev: @frenchspacing, Up: Inserting Space - -11.3.5 ‘@dmn’{DIMENSION}: Format a Dimension --------------------------------------------- - -You can use the ‘@dmn’ command to format a dimension with just enough -space for proper typesetting inserted in printed output. In other -output formats, the formatting commands insert no space at all. - - To use the ‘@dmn’ command, write the number and then follow it -immediately, with no intervening space, by ‘@dmn’, and then by the -dimension within braces. For example, - - A4 paper is 8.27@dmn{in} wide. - -produces - - A4 paper is 8.27in wide. - - Not everyone uses this style. Some people prefer '8.27 in.' or -'8.27 inches'. In these cases, however, you need to use ‘@tie’ (*note -@tie::) or ‘@w’ (*note @w::) so that no line break can occur between the -number and the dimension. Also, if you write a period after an -abbreviation within a sentence (as with the 'in.' above), you should -write ‘@:’ after the period to avoid inserting extra whitespace in -printed output, as shown here. *Note Not Ending a Sentence::. - - -File: texinfo.info, Node: Inserting Accents, Next: Inserting Quotation Marks, Prev: Inserting Space, Up: Insertions - -11.4 Inserting Accents -====================== - -Here is a table with the commands Texinfo provides for inserting -floating accents. They all need an argument, the character to accent, -which can either be given in braces as usual (‘@'{e}’), or, as a special -case, the braces can be omitted, in which case the argument is the next -character (‘@'e’). This is to make the source as convenient as possible -to type and read, since accented characters are very common in some -languages. - - If the command is alphabetic, such as ‘@dotaccent’, then there must -be a space between the command name and argument if braces are not used. -If the command is non-alphabetic, such as ‘@'’, then there must _not_ be -a space; the argument is the very next character. - - Exception: the argument to ‘@tieaccent’ must be enclosed in braces -(since it is two characters instead of one). - - In Info and plain text output, accent constructs are output as the -true accented characters if the document encoding supports the required -characters, unless the option ‘--disable-encoding’ is given to -‘texi2any’ (*note @documentencoding::). ASCII transliterations are used -if the encoded characters are not output. - -Command Output What ------------------------------------------------------- -@"o ö umlaut accent -@'o ó acute accent -@,{c} ç cedilla accent -@=o ō macron/overbar accent -@^o ô circumflex accent -@`o ò grave accent -@~o õ tilde accent -@dotaccent{o} ȯ overdot accent -@H{o} ő long Hungarian umlaut -@ogonek{a} ą ogonek -@ringaccent{o} o̊ ring accent -@tieaccent{oo} o͡o tie-after accent -@u{o} ŏ breve accent -@ubaraccent{o} o̲ underbar accent -@udotaccent{o} ọ underdot accent -@v{o} ǒ caron/hacek/check accent - - This table lists the Texinfo commands for inserting other characters -commonly used in languages other than English. - -@exclamdown{} ¡ upside-down ! -@questiondown{} ¿ upside-down ? -@aa{} @AA{} å Å a,A with circle -@ae{} @AE{} æ Æ ae,AE ligatures -@dh{} @DH{} ð Ð Icelandic eth -@dotless{i} ı dotless i -@dotless{j} ȷ dotless j -@l{} @L{} ł Ł suppressed-L,l -@o{} @O{} ø Ø O,o with slash -@oe{} @OE{} œ Œ oe,OE ligatures -@ordf{} @ordm{} ª º Spanish ordinals -@ss{} ß es-zet or sharp S -@th{} @TH{} þ Þ Icelandic thorn - - -File: texinfo.info, Node: Inserting Quotation Marks, Next: Inserting Subscripts and Superscripts, Prev: Inserting Accents, Up: Insertions - -11.5 Inserting Quotation Marks -============================== - -Use doubled single-quote characters to begin and end quotations: -``...''. Two single quotes are converted to left- and right-hand -doubled quotation marks, "like this". - - You may occasionally need to produce two consecutive single quotes; -for example, in documenting a computer language such as Maxima where '' -is a valid command. You can do this with the input '@w{}'; the empty -‘@w’ command stops the combination into the double-quote characters. - - The left quote character (`, ASCII code 96) used in Texinfo is a -grave accent in ANSI and ISO character set standards. We use it as a -quote character because that is how TeX is set up, by default. - - Texinfo supports several other quotation marks used in languages -other than English. Below is a table with the commands Texinfo provides -for inserting quotation marks. - -Command Glyph Unicode name (point) ----------------------------------------------------------------------- -@quotedblleft{} `` “ Left double quotation mark (U+201C) -@quotedblright{} '' ” Right double quotation mark (U+201D) -@quoteleft{} ` ‘ Left single quotation mark (U+2018) -@quoteright{} ' ’ Right single quotation mark (U+2019) -@quotedblbase{} „ Double low-9 quotation mark (U+201E) -@quotesinglbase{} ‚ Single low-9 quotation mark (U+201A) -@guillemetleft{} « Left-pointing double angle quotation - mark (U+00AB) -@guillemetright{} » Right-pointing double angle quotation - mark (U+00BB) -@guilsinglleft{} ‹ Single left-pointing angle quotation - mark (U+2039) -@guilsinglright{} › Single right-pointing angle quotation - mark (U+203A) - - For the double angle quotation marks, Adobe and LaTeX glyph names are -also supported: ‘@guillemotleft’ and ‘@guillemotright’. These names are -incorrect; a "guillemot" is a bird species (a type of auk). - - The standard TeX fonts support the usual quotation marks used in -English (the ones produced with single and doubled ASCII single quotes). -For the other quotation marks, TeX uses European Computer Modern (EC) -fonts (‘ecrm1000’ and other variants). These fonts are freely -available, of course; you can download them from -<http://ctan.org/pkg/ec>, among other places. - - The free EC fonts are bitmap fonts created with Metafont. Especially -for on-line viewing, Type 1 (vector) versions of the fonts are -preferable; these are available in the CM-Super font package -(<http://ctan.org/pkg/cm-super>). - - Both distributions include installation instructions. - - Traditions for quotation mark usage vary to a great extent between -languages (<https://en.wikipedia.org/wiki/Quotation_mark>). Texinfo -does not provide commands or configurations for typesetting quotation -marks according to the numerous traditions. Therefore, you have to -choose the commands appropriate for the language of your manual. -Sometimes aliases (*note @alias::) can simplify the usage and make the -source code more readable. For example, in German, ‘@quotedblbase’ is -used for the left double quote, and the right double quote is the glyph -produced by ‘@quotedblleft’, which is counterintuitive. Thus, in this -case the following aliases would be convenient: - - @alias lgqq = quotedblbase - @alias rgqq = quotedblleft - - -File: texinfo.info, Node: Inserting Subscripts and Superscripts, Next: Inserting Math, Prev: Inserting Quotation Marks, Up: Insertions - -11.6 ‘@sub’ and ‘@sup’: Inserting Subscripts and Superscripts -============================================================= - -You can insert subscripts and superscripts with the ‘@sub’ and ‘@sup’ -commands. For example: - - here@sub{below}@sup{above} - -produces: - - here_{below}^{above} - - In Info and plain text, ‘@sub{TEXT}’ is currently output as ‘_{TEXT}’ -and ‘@sup{TEXT}’ as ‘^{TEXT}’, including the literal braces (to mark the -beginning and end of the "script" text to the reader). - - When the output format (and display program) permit (printed output, -HTML), the superscript is set above the subscript when both commands are -given consecutively. - - For subscripts and superscripts in mathematical expressions, it is -better to use TeX's ‘_’ and ‘^’ characters. See the next section. - - -File: texinfo.info, Node: Inserting Math, Next: Glyphs for Text, Prev: Inserting Subscripts and Superscripts, Up: Insertions - -11.7 ‘@math’ and ‘@displaymath’: Formatting Mathematics -======================================================= - -You can write a mathematical expression, equation or formula using the -‘@math’ command. Write the TeX math notation between braces, like this: - - @math{\partial_\alpha \partial^\alpha A^\beta = \mu_0 J^\beta} - - ‘@math’ is formatted inline when used inside a paragraph, like -\partial_\alpha \partial^\alpha A^\beta = \mu_0 J^\beta in this example. -The ‘@math’ command has no special effect on the Info output, merely -outputting the contents verbatim. - - For printed output, ‘@math’ switches into TeX "math mode". In that -context, ‘\’ must be used instead of ‘@’ for plain TeX math control -sequences for symbols, functions, and so on. - - By default, the HTML output is only emphasized. ‘texi2any’ provides -three options for displaying properly formatted mathematics for HTML. -You can select these with the ‘HTML_MATH’ variable (*note HTML -Customization for Math::). With ‘HTML_MATH’ set to ‘l2h’, ‘texi2any’ -attempts to use the ‘latex2html’ program to produce image files for -mathematical material. With the ‘t4h’ setting, ‘texi2any’ attempts to -use the ‘tex4ht’ program. With the ‘mathjax’ setting, ‘texi2any’ -inserts references in the output files to MathJax scripts to format the -material. The MathJax option requires JavaScript to be enabled in the -browser to work. See also *note MathJax Customization Variables::, -*note latex2html Customization Variables:: and *note tex4ht -Customization Variables::. - - For displayed equations, you can use the ‘@displaymath’ command. -Example: - - @displaymath - f(x) = {1\over\sigma\sqrt{2\pi}} - e^{-{1\over2}\left({x-\mu\over\sigma}\right)^2} - @end displaymath - -which produces: - -f(x) = {1\over\sigma\sqrt{2\pi}} -e^{-{1\over2}\left({x-\mu\over\sigma}\right)^2} - - In general, the contents of ‘@math’ or ‘@displaymath’ should be plain -TeX only, with no interspersed Texinfo commands. If you do use any -Texinfo commands, then you should mark these with ‘@’ as usual, rather -than ‘\’ (e.g. ‘@var’ rather than ‘\var’), but we do not guarantee which -Texinfo commands will work. - - Although ‘@sub’ and ‘@sup’ may work inside math mode in some -contexts, it is better to use TeX's ‘_’ and ‘^’ characters to denote -subscripts and superscripts within mathematical expressions. - - LaTeX-specific code will only work when the output format is LaTeX, -and with the ‘HTML_MATH’ options (although ‘tex4ht’ needs -‘T4H_MATH_CONVERSION’ to be set to ‘latex’; *note tex4ht Customization -Variables::). - - Due to the conflict with Texinfo's ‘@sup’ command, you can access the -plain TeX command ‘\sup’ as ‘\mathopsup’ instead, in the unlikely -occurrence that you want to do this (but only when processing with TeX, -not when outputting LaTeX nor with any of the ‘HTML_MATH’ options). - - -File: texinfo.info, Node: Glyphs for Text, Next: Glyphs for Programming, Prev: Inserting Math, Up: Insertions - -11.8 Glyphs for Text -==================== - -Texinfo has support for a few additional glyphs that are commonly used -in printed text but not available in ASCII. Of course, there are many -thousands more. It is possible to use Unicode characters as-is as far -as ‘texi2any’ is concerned, but TeX is not so lucky. - -* Menu: - -* @TeX @LaTeX:: The TeX logos. -* @copyright:: The copyright symbol (c in a circle). -* @registeredsymbol:: The registered symbol (R in a circle). -* @dots:: How to insert ellipses: ... and ... -* @bullet:: How to insert a bullet: • -* @euro:: How to insert the euro currency symbol. -* @pounds:: How to insert the pounds currency symbol. -* @textdegree:: How to insert the degrees symbol. -* @minus:: How to insert a minus sign. -* @geq @leq:: How to insert greater/less-than-or-equal signs. - - -File: texinfo.info, Node: @TeX @LaTeX, Next: @copyright, Up: Glyphs for Text - -11.8.1 ‘@TeX’{} (TeX) and ‘@LaTeX’{} (LaTeX) --------------------------------------------- - -Use the ‘@TeX{}’ command to generate 'TeX'. In a printed manual, this -is a special logo that is different from three ordinary letters. In -other output formats, it just looks like ‘TeX’. - - Similarly, use the ‘@LaTeX{}’ command to generate 'LaTeX', which is -even more special in printed manuals (and different from the incorrect -‘La@TeX{}’. In other output formats, the result is just ‘LaTeX’. - - The spelling of these commands is unusual for Texinfo, in that they -use both uppercase and lowercase letters. - - -File: texinfo.info, Node: @copyright, Next: @registeredsymbol, Prev: @TeX @LaTeX, Up: Glyphs for Text - -11.8.2 ‘@copyright{}’ (©) -------------------------- - -Use the ‘@copyright{}’ command to generate the copyright symbol, '©'. -Where possible, this is a ‘c’ inside a circle; otherwise this is ‘(C)’. - - Legally, it's not necessary to use the copyright symbol; the English -word 'Copyright' suffices, according to international treaty. - - -File: texinfo.info, Node: @registeredsymbol, Next: @dots, Prev: @copyright, Up: Glyphs for Text - -11.8.3 ‘@registeredsymbol{}’ (®) --------------------------------- - -Use the ‘@registeredsymbol{}’ command to generate the registered symbol, -'®'. Where possible, this is an ‘R’ inside a circle; otherwise this is -‘(R)’. - - -File: texinfo.info, Node: @dots, Next: @bullet, Prev: @registeredsymbol, Up: Glyphs for Text - -11.8.4 ‘@dots’ (...) and ‘@enddots’ (...) ------------------------------------------ - -An “ellipsis” (a sequence of dots) would be spaced wrong when typeset as -a string of periods, so a special command is used in Texinfo: use the -‘@dots{}’ command to generate a normal ellipsis, which is three dots in -a row, appropriately spaced ... like so. To emphasize: do not simply -write three periods in the input file; that could work in some output -formats, but would produce the wrong amount of space between the periods -in printed manuals. - - The ‘@enddots{}’ command generates an end-of-sentence ellipsis, which -also has three dots, but with different spacing afterwards, ... Look -closely to see the difference. - - Here is an ellipsis: ... Here are three periods in a row: ... - - In printed (and usually HTML) output, the three periods in a row are -much closer together than the dots in the ellipsis. - - -File: texinfo.info, Node: @bullet, Next: @euro, Prev: @dots, Up: Glyphs for Text - -11.8.5 ‘@bullet’ (•) --------------------- - -Use the ‘@bullet{}’ command to generate a large round dot, or the -closest possible thing to one. An asterisk can also be used. Here is a -bullet: • - - -File: texinfo.info, Node: @euro, Next: @pounds, Prev: @bullet, Up: Glyphs for Text - -11.8.6 ‘@euro’ (€): Euro Currency Symbol ----------------------------------------- - -Use the ‘@euro{}’ command to generate '€'. Where possible, this is the -symbol for the Euro currency. Otherwise, the word ‘Euro’ is used. - - The Euro symbol does not exist in the standard TeX fonts (which were -designed before the Euro was legislated into existence). Therefore, TeX -uses an additional font, named ‘feymr10’ (along with other variables). -It is freely available, of course; you can download it from -<http://ctan.org/pkg/eurosym>, among other places. The distribution -includes installation instructions. - - -File: texinfo.info, Node: @pounds, Next: @textdegree, Prev: @euro, Up: Glyphs for Text - -11.8.7 ‘@pounds’ (£): Pounds Sterling -------------------------------------- - -Use the ‘@pounds{}’ command to generate '£'. Where possible, this is -the symbol for the pounds sterling British currency. Otherwise, it is -‘#’. - - -File: texinfo.info, Node: @textdegree, Next: @minus, Prev: @pounds, Up: Glyphs for Text - -11.8.8 ‘@textdegree’ (°): Degrees Symbol ----------------------------------------- - -Use the ‘@textdegree{}’ command to generate '°'. Where possible, this -is the normal symbol for degrees. Otherwise, it is an ‘o’. - - -File: texinfo.info, Node: @minus, Next: @geq @leq, Prev: @textdegree, Up: Glyphs for Text - -11.8.9 ‘@minus’ (−): Inserting a Minus Sign -------------------------------------------- - -Use the ‘@minus{}’ command to generate a minus sign. Where the -character encoding and font used in the output allow it, the symbol is -the customary length for a minus sign--a little longer than a hyphen, -shorter than an em-dash: - - ‘−’ is a minus sign generated with ‘@minus{}’, - - '-' is a hyphen generated with the character ‘-’, - - '--' is an em-dash for text. - - If you actually want to typeset some math that does a subtraction, it -is better to use ‘@math’, as in ‘@math{a-b}’ (*note Inserting Math::). - - -File: texinfo.info, Node: @geq @leq, Prev: @minus, Up: Glyphs for Text - -11.8.10 ‘@geq’ (≥) and ‘@leq’ (≤): Inserting Relations ------------------------------------------------------- - -Use the ‘@geq{}’ and ‘@leq{}’ commands to generate greater-than-or-equal -and less-than-equal-signs, '≥' and '≤'. When those symbols are not -available, the ASCII sequences ‘>=’ and ‘<=’ are output. - - -File: texinfo.info, Node: Glyphs for Programming, Next: Inserting Unicode, Prev: Glyphs for Text, Up: Insertions - -11.9 Glyphs for Programming -=========================== - -In Texinfo, code is often illustrated in examples that are delimited by -‘@example’ and ‘@end example’. In such examples, you can indicate the -results of evaluation or an expansion using ‘⇒’ or ‘↦’. Likewise, there -are commands to insert glyphs to indicate printed output, error -messages, equivalence of expressions, the location of point in an -editor, and GUI operation sequences. - - The glyph-insertion commands do not need to be used within an -example, but most often they are. All glyph-insertion commands are -followed by empty braces. - -* Menu: - -* Glyphs Summary:: List of the glyph commands. -* @result:: How to show the result of expression. -* @expansion:: How to indicate an expansion. -* @print:: How to indicate generated output. -* @error:: How to indicate an error message. -* @equiv:: How to indicate equivalence. -* @point:: How to indicate the location of point. -* Click Sequences:: Inserting GUI usage sequences. - - -File: texinfo.info, Node: Glyphs Summary, Next: @result, Up: Glyphs for Programming - -11.9.1 Glyphs Summary ---------------------- - -Here is a summary of the glyph commands: - -⇒ - ‘@result{}’ indicates the result of an expression. - -↦ - ‘@expansion{}’ indicates the results of a macro expansion. - -⊣ - ‘@print{}’ indicates printed output. - -error→ - ‘@error{}’ indicates the following text is an error message. - -≡ - ‘@equiv{}’ indicates the exact equivalence of two forms. - -⋆ - ‘@point{}’ shows the location of point. - -A → B - ‘@clicksequence{A @click{} B}’ indicates a GUI operation sequence: - first A, then clicking B, or choosing B from a menu, or otherwise - selecting it. - - -File: texinfo.info, Node: @result, Next: @expansion, Prev: Glyphs Summary, Up: Glyphs for Programming - -11.9.2 ‘@result{}’ (⇒): Result of an Expression ------------------------------------------------ - -Use the ‘@result{}’ command to indicate the result of evaluating an -expression. - - The ‘@result{}’ command is displayed as ‘⇒’, either a double stemmed -arrow or (when that is not available) the ASCII sequence ‘=>’. - - Thus, the following, - - (cdr '(1 2 3)) - ⇒ (2 3) - -may be read as "‘(cdr '(1 2 3))’ evaluates to ‘(2 3)’". - - -File: texinfo.info, Node: @expansion, Next: @print, Prev: @result, Up: Glyphs for Programming - -11.9.3 ‘@expansion{}’ (↦): Indicating an Expansion --------------------------------------------------- - -When an expression is a macro call, it expands into a new expression. -You can indicate the result of the expansion with the ‘@expansion{}’ -command. - - The ‘@expansion{}’ command is displayed as ‘↦’, either a long arrow -with a flat base or (when that is not available) the ASCII sequence -‘==>’. - - For example, the following - - @example lisp - (third '(a b c)) - @expansion{} (car (cdr (cdr '(a b c)))) - @result{} c - @end example - -produces - - (third '(a b c)) - ↦ (car (cdr (cdr '(a b c)))) - ⇒ c - -which may be read as: - - ‘(third '(a b c))’ expands to ‘(car (cdr (cdr '(a b c))))’; the - result of evaluating the expression is ‘c’. - -Often, as in this case, an example looks better if the ‘@expansion{}’ -and ‘@result{}’ commands are indented. - - -File: texinfo.info, Node: @print, Next: @error, Prev: @expansion, Up: Glyphs for Programming - -11.9.4 ‘@print{}’ (⊣): Indicating Generated Output --------------------------------------------------- - -Sometimes an expression will generate output during its execution. You -can indicate such displayed output with the ‘@print{}’ command. - - The ‘@print{}’ command is displayed as ‘⊣’, either a horizontal dash -butting against a vertical bar or (when that is not available) the ASCII -sequence ‘-|’. - - In the following example, the printed text is indicated with ‘⊣’, and -the value of the expression follows on the last line. - - (progn (print 'foo) (print 'bar)) - ⊣ foo - ⊣ bar - ⇒ bar - -In a Texinfo source file, this example is written as follows: - - @example lisp - (progn (print 'foo) (print 'bar)) - @print{} foo - @print{} bar - @result{} bar - @end example - - -File: texinfo.info, Node: @error, Next: @equiv, Prev: @print, Up: Glyphs for Programming - -11.9.5 ‘@error{}’ (error→): Indicating an Error Message -------------------------------------------------------- - -A piece of code may cause an error when you evaluate it. You can -designate the error message with the ‘@error{}’ command. - - The ‘@error{}’ command is displayed as ‘error→’, either the word -'error' in a box in the printed output, the word error followed by an -arrow in other formats or (when no arrow is available) ‘error-->’. - - Thus, - - @example lisp - (+ 23 'x) - @error{} Wrong type argument: integer-or-marker-p, x - @end example - -produces - - (+ 23 'x) - error→ Wrong type argument: integer-or-marker-p, x - -This indicates that the following error message is printed when you -evaluate the expression: - - Wrong type argument: integer-or-marker-p, x - - The word ‘error→’ itself is not part of the error message. - - -File: texinfo.info, Node: @equiv, Next: @point, Prev: @error, Up: Glyphs for Programming - -11.9.6 ‘@equiv{}’ (≡): Indicating Equivalence ---------------------------------------------- - -Sometimes two expressions produce identical results. You can indicate -the exact equivalence of two forms with the ‘@equiv{}’ command. The -‘@equiv{}’ command is displayed as ‘≡’, either a standard mathematical -equivalence sign (three parallel horizontal lines) or (when that is not -available) as the ASCII sequence ‘==’. - - Thus, - - @example lisp - (make-sparse-keymap) @equiv{} (list 'keymap) - @end example - -produces - - (make-sparse-keymap) ≡ (list 'keymap) - -This indicates that evaluating ‘(make-sparse-keymap)’ produces identical -results to evaluating ‘(list 'keymap)’. - - -File: texinfo.info, Node: @point, Next: Click Sequences, Prev: @equiv, Up: Glyphs for Programming - -11.9.7 ‘@point{}’ (⋆): Indicating Point in a Buffer ---------------------------------------------------- - -Sometimes you need to show an example of text in an Emacs buffer. In -such examples, the convention is to include the entire contents of the -buffer in question between two lines of dashes containing the buffer -name. - - You can use the ‘@point{}’ command to show the location of point in -the text in the buffer. (The symbol for point, of course, is not part -of the text in the buffer; it indicates the place _between_ two -characters where point is located.) - - The ‘@point{}’ command is displayed as ‘⋆’, either a pointed star or -(when that is not available) the ASCII sequence ‘-!-’. - - The following example shows the contents of buffer ‘foo’ before and -after evaluating a Lisp command to insert the word ‘changed’. - - ---------- Buffer: foo ---------- - This is the ⋆contents of foo. - ---------- Buffer: foo ---------- - - (insert "changed ") - ⇒ nil - ---------- Buffer: foo ---------- - This is the changed ⋆contents of foo. - ---------- Buffer: foo ---------- - - In a Texinfo source file, the example is written like this: - - @example - ---------- Buffer: foo ---------- - This is the @point{}contents of foo. - ---------- Buffer: foo ---------- - - (insert "changed ") - @result{} nil - ---------- Buffer: foo ---------- - This is the changed @point{}contents of foo. - ---------- Buffer: foo ---------- - @end example - - -File: texinfo.info, Node: Click Sequences, Prev: @point, Up: Glyphs for Programming - -11.9.8 Click Sequences ----------------------- - -When documenting graphical interfaces, it is necessary to describe -sequences such as 'Click on ‘File’, then choose ‘Open’, then ...'. -Texinfo offers commands ‘@clicksequence’ and ‘click’ to represent this, -typically used like this: - - ... @clicksequence{File @click{} Open} ... - -which produces: - - ... File → Open ... - - The ‘@click’ command produces a right arrow by default; this glyph is -also available independently via the command ‘@arrow{}’. - - You can change the glyph produced by ‘@click’ with the command -‘@clickstyle’, which takes a command name as its single argument on the -rest of the line. The command should produce a glyph, and the usual -empty braces ‘{}’ are omitted. Here's an example: - - @clickstyle @result - ... @clicksequence{File @click{} Open} ... - -now produces: - - ... File ⇒ Open ... - - -File: texinfo.info, Node: Inserting Unicode, Prev: Glyphs for Programming, Up: Insertions - -11.10 Inserting Unicode: ‘@U’ -============================= - -The command ‘@U{HEX}’ inserts a representation of the Unicode character -U+HEX. For example, ‘@U{0132}’ inserts the Dutch 'IJ' ligature ('IJ'). - - The HEX value should be at least four hex digits; leading zeros are -_not_ added. In general, HEX must specify a valid normal Unicode -character; e.g., U+10FFFF (the very last code point) is invalid by -definition, and thus cannot be inserted this way. - - ‘@U’ is useful for inserting occasional glyphs for which Texinfo has -no dedicated command, while allowing the Texinfo source to remain purely -7-bit ASCII for maximum portability. - - This command has many limitations--the same limitations as inserting -Unicode characters in UTF-8 or another binary form. First and most -importantly, TeX knows nothing about most of Unicode. Supporting -specific additional glyphs upon request is possible, but it's not viable -for ‘texinfo.tex’ to support whole additional scripts (Japanese, Urdu, -...). The ‘@U’ command does nothing to change this. If the specified -character is not supported in TeX, an error is given. LaTeX output has -more possibilities regarding UTF-8, but could require extra code to load -fonts and declare how UTF-8 characters are output. (*Note -@documentencoding::.) - - In HTML and DocBook, the output from ‘@U’ is always an entity -reference of the form ‘&#xHEX;’, as in ‘IJ’ for the example above. -This should work even when an HTML document uses some other encoding -(say, Latin 1) and the given character is not supported in that -encoding. - - In Info and plain text, if the output encoding is not UTF-8, the -output is the ASCII sequence ‘U+HEX’, as in the six ASCII characters -‘U+0132’ for the example above. - - -File: texinfo.info, Node: Breaks, Next: Definition Commands, Prev: Insertions, Up: Top - -12 Forcing and Preventing Breaks -******************************** - -Line and page breaks can sometimes occur in the 'wrong' place in one or -another form of output. It's up to you to ensure that text looks right -in all the output formats. - - For example, in a printed manual, page breaks may occur awkwardly in -the middle of an example; to prevent this, you can hold text together -using a grouping command that keeps the text from being split across two -pages. Conversely, you may want to force a page break where none would -normally occur. - - You can use the break, break prevention, or pagination commands to -fix problematic line and page breaks. - -* Menu: - -* Break Commands:: Summary of break-related commands. -* Line Breaks:: Forcing line breaks. -* @- @hyphenation:: Helping TeX with hyphenation points. -* @allowcodebreaks:: Controlling line breaks within @code text. -* @w:: Preventing unwanted line breaks in text. -* @tie:: Inserting an unbreakable but varying space. -* @sp:: Inserting blank lines. -* @page:: Forcing the start of a new page. -* @group:: Preventing unwanted page breaks. -* @need:: Another way to prevent unwanted page breaks. - - -File: texinfo.info, Node: Break Commands, Next: Line Breaks, Up: Breaks - -12.1 Break Commands -=================== - -The break commands create or allow line and paragraph breaks: - -‘@*’ - Force a line break. - -‘@sp N’ - Skip N blank lines. - -‘@-’ - Insert a discretionary hyphen. - -‘@hyphenation{HY-PHEN-A-TED WORDS}’ - Define hyphen points in HY-PHEN-A-TED WORDS. - - These commands hold text together on a single line: - -‘@w{TEXT}’ - Prevent TEXT from being split and hyphenated across two lines. - -‘@tie{}’ - Insert a normal interword space at which a line break may not - occur. - - The pagination commands apply only to printed output, since other -output formats do not have pages. - -‘@page’ - Start a new page. - -‘@group’ - Hold text together that must appear on one page. - -‘@need MILS’ - Start a new page if not enough space on this one. - - -File: texinfo.info, Node: Line Breaks, Next: @- @hyphenation, Prev: Break Commands, Up: Breaks - -12.2 ‘@*’ and ‘@/’: Generate and Allow Line Breaks -================================================== - -The ‘@*’ command forces a line break in all output formats. The ‘@/’ -command allows a line break (printed manual only). - - Here is an example with ‘@*’: - - This sentence is broken @*into two lines. - -produces - - This sentence is broken - into two lines. - - The ‘@/’ command can be useful within long URLs or other identifiers -where TeX can't find a good place to break. TeX will automatically -break URLs at the natural places (*note URL Line Breaking::), so only -use ‘@/’ if you need it. ‘@/’ has no effect on the other output -formats. - - -File: texinfo.info, Node: @- @hyphenation, Next: @allowcodebreaks, Prev: Line Breaks, Up: Breaks - -12.3 ‘@-’ and ‘@hyphenation’: Hyphenation in Printed Output -=========================================================== - -Although TeX's hyphenation algorithm is generally pretty good, it does -miss useful hyphenation points from time to time. (Or, far more rarely, -insert an incorrect hyphenation.) So, for documents with an unusual -vocabulary or when fine-tuning for a printed edition, you may wish to -specify hyphenation points explicitly. Texinfo supports two commands -for this: - -‘@-’ - - Insert a discretionary hyphen, i.e., a place where a word can be - broken across lines with a hyphen. This is especially useful when - you notice that an overfull hbox is due to TeX missing a - hyphenation (*note Overfull hboxes::). TeX will not insert any - hyphenation points itself into a word containing ‘@-’. - -‘@hyphenation{HY-PHEN-A-TED WORDS}’ - Give hyphenation points for certain words. For example: - @hyphenation{man-u-script man-u-scripts} - - As shown, you put a ‘-’ at each hyphenation point. TeX only uses - the specified hyphenation points when the words match exactly, so - give all necessary variants, such as plurals. - - Non-printed output is not hyphenated, so none of these commands have -any effect in other output formats. - - -File: texinfo.info, Node: @allowcodebreaks, Next: @w, Prev: @- @hyphenation, Up: Breaks - -12.4 ‘@allowcodebreaks’: Control Line Breaks in ‘@code’ -======================================================= - -Ordinarily, TeX considers breaking lines at ‘-’ and ‘_’ characters -within ‘@code’ and related commands (*note @code::), more or less as if -they were "empty" hyphenation points. - - This is necessary since many manuals, especially for Lisp-family -languages, must document very long identifiers. On the other hand, some -manuals don't have this problem, and you may not wish to allow a line -break at the underscore in, for example, ‘SIZE_MAX’, or even worse, -after any of the four underscores in ‘__typeof__’. - - So Texinfo provides this command: - - @allowcodebreaks false - -to prevent from breaking at ‘-’ or ‘_’ within ‘@code’. You can go back -to allowing such breaks with ‘@allowcodebreaks true’. Write these -commands on lines by themselves. - - These commands can be given anywhere in the document. For example, -you may have just one problematic paragraph where you need to turn off -the breaks, but want them in general, or vice versa. - - This command has no effect except in TeX output. - - -File: texinfo.info, Node: @w, Next: @tie, Prev: @allowcodebreaks, Up: Breaks - -12.5 ‘@w’{TEXT}: Prevent Line Breaks -==================================== - -‘@w{TEXT}’ outputs TEXT, while prohibiting line breaks within TEXT. - - Thus, you can use ‘@w’ to produce a non-breakable space, fixed at the -width of a normal interword space: - - @w{ } @w{ } @w{ } indentation. - -produces: - - indentation. - - The space from ‘@w{ }’, as well as being non-breakable, also will not -stretch or shrink. Sometimes that is what you want, for instance if -you're doing manual indenting. However, usually you want a normal -interword space that does stretch and shrink (in the printed output); -for that, see the ‘@tie’ command in the next section. - - In printed output, you can also use the ‘@w’ command to prevent a -long name or phrase being automatically hyphenated, for example if it -happens to fall near the end of a line. - - You can also use ‘@w’ to avoid unwanted keyword expansion in source -control systems. For example, to literally write $Id$ in your document, -use ‘@w{$}Id$’. This trick isn't effective for output files in some -output formats, though. - - -File: texinfo.info, Node: @tie, Next: @sp, Prev: @w, Up: Breaks - -12.6 ‘@tie{}’: Inserting an Unbreakable Space -============================================= - -The ‘@tie{}’ command produces a normal interword space at which a line -break may not occur. Always write it with following (empty) braces, as -usual for commands used within a paragraph. Here's an example: - - @TeX{} was written by Donald E.@tie{}Knuth. - -produces: - - TeX was written by Donald E. Knuth. - - There are two important differences between ‘@tie{}’ and ‘@w{ }’: - - • The space produced by ‘@tie{}’ will stretch and shrink slightly - along with the normal interword spaces in the paragraph; the space - produced by ‘@w{ }’ will not vary. - - • ‘@tie{}’ allows hyphenation of the surrounding words, while ‘@w{ }’ - inhibits hyphenation of those words (for TeXnical reasons, namely - that it produces an ‘\hbox’). - - -File: texinfo.info, Node: @sp, Next: @page, Prev: @tie, Up: Breaks - -12.7 ‘@sp’ N: Insert Blank Lines -================================ - -A line beginning with and containing only ‘@sp N’ generates N blank -lines of space. ‘@sp’ also forces a paragraph break. For example, - - @sp 2 - -generates two blank lines. - - The ‘@sp’ command is most often used in the title page. - - -File: texinfo.info, Node: @page, Next: @group, Prev: @sp, Up: Breaks - -12.8 ‘@page’: Start a New Page -============================== - -A line containing only ‘@page’ starts a new page in a printed manual. -In other formats, without the concept of pages, it starts a new -paragraph. A ‘@page’ command is often used in the ‘@titlepage’ section -of a Texinfo file to start the copyright page. - - -File: texinfo.info, Node: @group, Next: @need, Prev: @page, Up: Breaks - -12.9 ‘@group’: Prevent Page Breaks -================================== - -The ‘@group’ command is used to hold an example together on one page. -Use it inside an ‘@example’ or similar construct to begin an -unsplittable vertical group, which will appear entirely on one page in -the printed output. Terminate the group by a line containing only ‘@end -group’. This command has an effect in TeX output only. - - The ‘@group’ and ‘@end group’ commands need to be inside the -‘@example’ and ‘@end example’ commands, thus: - - @example - @group - ... - @end group - @end example - - Although ‘@group’ would make sense conceptually in a wide variety of -contexts, its current implementation works only within ‘@example’ and -variants, and within ‘@display’, ‘@format’, ‘@flushleft’ and -‘@flushright’. *Note Quotations and Examples::. (What all these -commands have in common is that each line of input produces a line of -output.) - - -File: texinfo.info, Node: @need, Prev: @group, Up: Breaks - -12.10 ‘@need MILS’: Prevent Page Breaks -======================================= - -A line containing only ‘@need N’ starts a new page in a printed manual -if fewer than N mils (thousandths of an inch) remain on the current -page. Do not use braces around the argument N. The ‘@need’ command has -no effect on other output formats since they are not paginated. - - This paragraph is preceded by a ‘@need’ command that starts a new -page in printed output if fewer than 800 mils (eight-tenths inch) remain -on the page. It looks like this: - - @need 800 - This paragraph is preceded by ... - - The ‘@need’ command is useful for preventing orphans: single lines at -the bottoms of printed pages. - - -File: texinfo.info, Node: Definition Commands, Next: Internationalization, Prev: Breaks, Up: Top - -13 Definition Commands -********************** - -The ‘@deffn’ command and the other “definition commands” enable you to -describe functions, variables, macros, commands, user options, special -forms and other entities in a uniform format. - - In the output, the name of the entity is shown with any arguments, -along with the entity category --'Function', 'Variable', or whatever. -Underneath, the body of the definition is indented. The name of the -entity is also entered into the appropriate index. - - All the definition commands follow a similar format. This chapter -starts by describing ‘@deffn’ before detailing all the other definition -commands. - -* Menu: - -* Def Cmd Template:: Writing descriptions using definition commands. -* Def Cmd Continuation Lines:: Continuing the heading over source lines. -* Optional Arguments:: Handling optional and repeated arguments. -* No Space After Definition Name:: How to omit space after name. -* @deffnx:: Group two or more 'first' lines. -* Def Cmds in Detail:: Reference for all the definition commands. -* Generic Definition Commands:: Without automatic index entries. -* Def Cmd Conventions:: Conventions for writing definitions. -* Sample Function Definition:: An example. - - -File: texinfo.info, Node: Def Cmd Template, Next: Def Cmd Continuation Lines, Up: Definition Commands - -13.1 The Template for a Definition -================================== - - @deffn CATEGORY NAME ARGUMENTS... - BODY-OF-DEFINITION - @end deffn - -The ‘@deffn’ command is used for definitions of entities that resemble -functions--entities that may take arguments. Write the ‘@deffn’ command -at the beginning of a line and follow it on the same line by the -category of the entity, the name of the entity itself, and its arguments -(if any). Then write the body of the definition on succeeding lines. -Finally, end the definition with an ‘@end deffn’ command written on a -line of its own. - -For example, - - @deffn Command forward-word count - This command moves point forward @var{count} words - (or backward if @var{count} is negative). ... - @end deffn - -produces - - -- Command: forward-word count - This command moves point forward COUNT words (or backward if - COUNT is negative). ... - - Capitalize the category name like a title. If the name of the -category contains spaces, as in the phrase 'Interactive Command', -enclose it in braces. For example: - - @deffn {Interactive Command} isearch-forward - ... - @end deffn - -Otherwise, the second word will be mistaken for the name of the entity. -As a general rule, when any of the arguments in the heading line -_except_ the last one are more than one word, you need to enclose them -in braces. This may also be necessary if the text contains commands, -for example, ‘{declaraci@'on}’ if you are writing in Spanish. - - The category is output in a different location for different output -formats. For example, in the Info file, the category appears at the -beginning of the first line of the definition. With TeX output, the -category is printed next to the right margin. - - ‘@deffn’ enters names into the index of functions. - - Three predefined, specialized variations of ‘@deffn’ (‘@defun’, -‘@defmac’, and ‘@defspec’) specify the category for you: "Function", -"Macro", and "Special Form" respectively. (In Lisp, a special form is -an entity much like a function.) Similarly, the general ‘@defvr’ -command is accompanied by several specialized variations for describing -particular kinds of variables. - - -File: texinfo.info, Node: Def Cmd Continuation Lines, Next: Optional Arguments, Prev: Def Cmd Template, Up: Definition Commands - -13.2 Definition Command Continuation Lines -========================================== - -The heading line of a definition command can get very long. Therefore, -Texinfo has a special syntax allowing them to be continued over multiple -lines of the source file: a lone ‘@’ at the end of each line to be -continued. Here's an example: - - @defun fn-name @ - arg1 arg2 arg3 - This is the basic continued defun. - @end defun - -produces: - - -- Function: fn-name arg1 arg2 arg3 - This is the basic continued defun. - -As you can see, the continued lines are combined, as if they had been -typed on one source line. - - Although this example only shows a one-line continuation, -continuations may extend over any number of lines, in the same way; put -an ‘@’ at the end of each line to be continued. - - In general, any number of spaces or tabs before the ‘@’ continuation -character are collapsed into a single space. There is one exception: -the Texinfo processors will not fully collapse whitespace around a -continuation inside braces. For example: - - @deffn {Category @ - Name} ... - -The output (not shown) has excess space between 'Category' and 'Name'. -To avoid this, elide the unwanted whitespace in your input, or put the -continuation ‘@’ outside braces. - - ‘@’ does not function as a continuation character in _any_ other -context. Ordinarily, ‘@’ followed by a whitespace character (space, -tab, newline) produces a normal interword space (*note Multiple -Spaces::). - - -File: texinfo.info, Node: Optional Arguments, Next: No Space After Definition Name, Prev: Def Cmd Continuation Lines, Up: Definition Commands - -13.3 Optional and Repeated Arguments -==================================== - -Some entities take optional or repeated arguments. One convention for -indicating these uses square brackets and ellipses: an argument enclosed -within square brackets is optional, and an argument followed by an -ellipsis is optional and may be repeated more than once. - - Thus, [OPTIONAL-ARG] means that OPTIONAL-ARG is optional and -REPEATED-ARGS‘...’ stands for zero or more arguments. Parentheses are -used when several arguments are grouped into additional levels of list -structure in Lisp. - - Here is the definition line of an example of an imaginary -(complicated) special form: - - -- Special Form: foobar (var [from to [inc]]) body... - -In this example, the arguments FROM and TO are optional, but must both -be present or both absent. If they are present, INC may optionally be -specified as well. These arguments are grouped with the argument VAR -into a list, to distinguish them from BODY, which includes all remaining -elements of the form. - - In a Texinfo source file, this ‘@defspec’ line is written like this: - - @defspec foobar (var [from to [inc]]) body@dots{} - - -File: texinfo.info, Node: No Space After Definition Name, Next: @deffnx, Prev: Optional Arguments, Up: Definition Commands - -13.4 Omitting the Space After a Definition Name -=============================================== - -As a matter of style or as demanded by the syntax of a programming -language, you may wish to omit any space after a name in a definition, -occurring before an opening bracket. To do this, set the -‘txidefnamenospace’ flag (*note @set @value::). For example, this input - - @set txidefnamenospace - @deffn Builtin index (string, substring) - @dots{} - @end deffn - -produces the following: - - -- Builtin: index(string, substring) - ... - - -File: texinfo.info, Node: @deffnx, Next: Def Cmds in Detail, Prev: No Space After Definition Name, Up: Definition Commands - -13.5 ‘@deffnx’, et al.: Two or More 'First' Lines -================================================= - -To create two or more 'first' or header lines for a definition, follow -the first ‘@deffn’ line by a line beginning with ‘@deffnx’. - - For example, - - @deffn {Interactive Command} isearch-forward - @deffnx {Interactive Command} isearch-backward - These two search commands are similar except ... - @end deffn - -produces - - -- Interactive Command: isearch-forward - -- Interactive Command: isearch-backward - These two search commands are similar except ... - - Each definition command has an 'x' form: ‘@defunx’, ‘@defvrx’, -‘@deftypefunx’, etc. - - The 'x' forms work similarly to ‘@itemx’ (*note @itemx::). - - -File: texinfo.info, Node: Def Cmds in Detail, Next: Generic Definition Commands, Prev: @deffnx, Up: Definition Commands - -13.6 The Definition Commands -============================ - -This section describes all the definition commands of Texinfo. - -* Menu: - -* Functions Commands:: Commands for functions and similar entities. -* Typed Functions:: Commands for functions in typed languages. -* Variables Commands:: Commands for variables and similar entities. -* Typed Variables:: Commands for variables in typed languages. -* Data Types:: The definition command for data types. -* Abstract Objects:: Commands for object-oriented programming. - - -File: texinfo.info, Node: Functions Commands, Next: Typed Functions, Up: Def Cmds in Detail - -13.6.1 Functions and Similar Entities -------------------------------------- - -This section describes the commands for describing functions and similar -entities with simple arguments: - -‘@deffn CATEGORY NAME ARGUMENTS...’ - The ‘@deffn’ command is the general definition command for - functions, interactive commands, and similar entities that may take - simple arguments. You must choose a term to describe the category - of entity being defined; for example, "Function" could be used if - the entity is a function. The ‘@deffn’ command is written at the - beginning of a line and is followed on the same line by the - category of entity being described, the name of this particular - entity, and its arguments, if any. Terminate the definition with - ‘@end deffn’ on a line of its own. - - For example, here is a definition: - - @deffn Command forward-char nchars - Move point forward @var{nchars} characters. - @end deffn - - This shows a rather terse definition for a "command" named - ‘forward-char’ with one argument, NCHARS. - - Where the output format allows, ‘@deffn’ uses a typewriter font for - NAME, and a slanted font for the rest of the ARGUMENTS, as would be - produced by ‘@var’. - - Within the text of the description, write an argument name - explicitly with ‘@var’ to refer to the value of the argument. In - the example above, we used ‘@var{nchars}’ in this way. - - In the extremely unusual case when an argument name contains ‘--’, - or another character sequence which is treated specially (*note - Conventions::), use ‘@code’ around the special characters. This - avoids the conversion to typographic en-dashes and em-dashes. - -‘@defun NAME ARGUMENTS...’ - The ‘@defun’ command is the definition command for functions with - simple arguments. ‘@defun’ is equivalent to ‘@deffn Function ...’. - Terminate the definition with ‘@end defun’ on a line of its own. - -‘@defmac NAME ARGUMENTS...’ - The ‘@defmac’ command is the definition command for macros. - ‘@defmac’ is equivalent to ‘@deffn Macro ...’ and works like - ‘@defun’. - -‘@defspec NAME ARGUMENTS...’ - The ‘@defspec’ command is the definition command for special forms. - (In Lisp, a special form is an entity much like a function; *note - (elisp)Special Forms::.) ‘@defspec’ is equivalent to ‘@deffn - {Special Form} ...’ and works like ‘@defun’. - - All these commands create entries in the index of functions. - - -File: texinfo.info, Node: Typed Functions, Next: Variables Commands, Prev: Functions Commands, Up: Def Cmds in Detail - -13.6.2 Functions in Typed Languages ------------------------------------ - -The ‘@deftypefn’ command and its variants are generic commands for -describing functions. They are particularly suitable for languages in -which you must declare types of variables and functions, such as C and -C++. - -‘@deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS...’ - The ‘@deftypefn’ command is the general definition command for - functions and similar entities that may take arguments and that - could be typed. The ‘@deftypefn’ command is written at the - beginning of a line and is followed on the same line by the - category of entity being described, information on the returned - value, the name of this particular entity, and its arguments, if - any. - - For example, - - @deftypefn {Library Function} int foobar @ - (int @var{foo}, float @var{bar}) - ... - @end deftypefn - - produces: - - -- Library Function: int foobar (int FOO, float BAR) - ... - - This means that ‘foobar’ is a "library function" that returns an - ‘int’, and its arguments are FOO (an ‘int’) and BAR (a ‘float’). - ‘Library Function’ has to be enclosed in braces to make it a single - argument. - - When using ‘@deftypefn’ command and variations, you should mark - parameter names with ‘@var’ to distinguish these from data type - names, keywords, and other parts of the literal syntax of the - programming language. Where the output format allows, all output - on the definition line is in a typewriter font by default. ‘@var’ - uses an appropriate font where it occurs. - - If you are describing a procedure in a language that has packages, - such as Ada, you might consider using ‘@deftypefn’ in the following - manner: - - @deftypefn stacks private push @ - (@var{s}:in out stack; @ - @var{n}:in integer) - ... - @end deftypefn - - (In these examples the ‘@deftypefn’ arguments are shown using - continuations (*note Def Cmd Continuation Lines::), but could be on - a single line.) - - In this instance, the procedure is classified as belonging to the - package ‘stacks’ rather than classified as a 'procedure' and its - data type is described as ‘private’. (The name of the procedure is - ‘push’, and its arguments are S and N.) Output: - - -- stacks: private push (S:in out stack; N:in integer) - ... - - ‘@deftypefn’ and variants could be used when it is convenient to - interpret the arguments list as literal computer code, marking - argument names with ‘@var’. It is not necessary for any type names - to appear, and you can give an empty return type as ‘{}’. - - The information on return values may be used to name the return - variables. For example, in Perl, returned scalars may be given the - $RESULT and $STATUS name in the following manner: - - @deftypefn {Sub} {(@var{$result}, @var{$status}) =} @ - process (@var{$input}) - ... Set @var{$status} to 0 in case of failure ... - @end deftypefn - - to get output like - - -- Sub: ($RESULT, $STATUS) = process ($INPUT) - ... Set $STATUS to 0 in case of failure ... - - ‘@deftypefn’ creates an entry in the index of functions for NAME. - -‘@deftypefun DATA-TYPE NAME ARGUMENTS...’ - The ‘@deftypefun’ command is the specialized definition command for - functions. The command is equivalent to ‘@deftypefn Function ...’. - - ‘@deftypefun’ creates an entry in the index of functions for NAME. - - Ordinarily, the return type is printed on the same line as the -function name and arguments, as shown above. In source code, GNU style -for typed functions is to put the return type on a line by itself. So -Texinfo provides an option to do that: ‘@deftypefnnewline on’. - - This affects the generic functions only--not untyped functions with -simple arguments such as ‘@deffn’, not typed variables, etc. -Specifically, it affects the commands in this section, and the analogous -commands for object-oriented languages, namely ‘@deftypeop’ and -‘@deftypemethod’ (*note Object-Oriented Methods::). - - Specifying ‘@deftypefnnewline off’ reverts to the default. - - -File: texinfo.info, Node: Variables Commands, Next: Typed Variables, Prev: Typed Functions, Up: Def Cmds in Detail - -13.6.3 Variables and Similar Entities -------------------------------------- - -Here are the commands for defining variables and similar entities: - -‘@defvr CATEGORY NAME’ - The ‘@defvr’ command is a general definition command for something - like a variable--an entity that records a value. You must choose a - term to describe the category of entity being defined; for example, - "Variable" could be used if the entity is a variable. Write the - ‘@defvr’ command at the beginning of a line and follow it on the - same line by the category of the entity and the name of the entity. - - We recommend capitalizing the category name like a title. If the - name of the category contains spaces, as in the name "User Option", - enclose it in braces. Otherwise, the second word will be mistaken - for the name of the entity. For example, - - @defvr {User Option} fill-column - This buffer-local variable specifies - the maximum width of filled lines. - ... - @end defvr - - Terminate the definition with ‘@end defvr’ on a line of its own. - - ‘@defvr’ creates an entry in the index of variables for NAME. - -‘@defvar NAME’ - The ‘@defvar’ command is the definition command for variables. - ‘@defvar’ is equivalent to ‘@defvr Variable ...’. - - For example: - - @defvar kill-ring - ... - @end defvar - - ‘@defvar’ creates an entry in the index of variables for NAME. - -‘@defopt NAME’ - The ‘@defopt’ command is the definition command for “user options”, - i.e., variables intended for users to change according to taste; - Emacs has many such (*note (emacs)Variables::). ‘@defopt’ is - equivalent to ‘@defvr {User Option} ...’. - - -File: texinfo.info, Node: Typed Variables, Next: Data Types, Prev: Variables Commands, Up: Def Cmds in Detail - -13.6.4 Variables in Typed Languages ------------------------------------ - -Variables in typed languages are handled in a manner similar to -functions in typed languages. *Note Typed Functions::. The general -definition command ‘@deftypevr’ corresponds to ‘@deftypefn’ and the -specialized definition command ‘@deftypevar’ corresponds to -‘@deftypefun’. - -‘@deftypevr CATEGORY DATA-TYPE NAME’ - The ‘@deftypevr’ command is the general definition command for - something like a variable in a typed language--an entity that - records a value. You must choose a term to describe the category - of the entity being defined; for example, "Variable" could be used - if the entity is a variable. - - The ‘@deftypevr’ command is written at the beginning of a line and - is followed on the same line by the category of the entity being - described, the data type, and the name of this particular entity. - - For example: - - @deftypevr {Global Flag} int enable - ... - @end deftypevr - - produces the following: - - -- Global Flag: int enable - ... - -‘@deftypevar DATA-TYPE NAME’ - The ‘@deftypevar’ command is the specialized definition command for - variables in typed languages. ‘@deftypevar’ is equivalent to - ‘@deftypevr Variable ...’. - - These commands create entries in the index of variables. - - -File: texinfo.info, Node: Data Types, Next: Abstract Objects, Prev: Typed Variables, Up: Def Cmds in Detail - -13.6.5 Data Types ------------------ - -Here is the command for data types: - -‘@deftp CATEGORY NAME ATTRIBUTES...’ - The ‘@deftp’ command is the generic definition command for data - types. The command is written at the beginning of a line and is - followed on the same line by the category, by the name of the type - (which is a word like ‘int’ or ‘float’), and then by names of - attributes of objects of that type. Thus, you could use this - command for describing ‘int’ or ‘float’, in which case you could - use ‘data type’ as the category. (A data type is a category of - certain objects for purposes of deciding which operations can be - performed on them.) - - In Lisp, for example, “pair” names a particular data type, and an - object of that type has two slots called the CAR and the CDR. Here - is how you would write the first line of a definition of ‘pair’. - - @deftp {Data type} pair car cdr - ... - @end deftp - - ‘@deftp’ creates an entry in the index of data types. - - -File: texinfo.info, Node: Abstract Objects, Prev: Data Types, Up: Def Cmds in Detail - -13.6.6 Object-Oriented Programming ----------------------------------- - -Here are the commands for formatting descriptions about abstract -objects, such as are used in object-oriented programming. A class is a -defined type of abstract object. An instance of a class is a particular -object that has the type of the class. An instance variable is a -variable that belongs to the class but for which each instance has its -own value. - -* Menu: - -* Variables: Object-Oriented Variables. -* Methods: Object-Oriented Methods. - - -File: texinfo.info, Node: Object-Oriented Variables, Next: Object-Oriented Methods, Up: Abstract Objects - -13.6.6.1 Object-Oriented Variables -.................................. - -These commands allow you to define different sorts of variables in -object-oriented programming languages. - -‘@defcv CATEGORY CLASS NAME’ - The ‘@defcv’ command is the general definition command for - variables associated with classes in object-oriented programming. - The ‘@defcv’ command is followed by three arguments: the category - of thing being defined, the class to which it belongs, and its - name. For instance: - - @defcv {Class Option} Window border-pattern - ... - @end defcv - - produces: - -- Class Option of Window: border-pattern - ... - - ‘@defcv’ creates an entry in the index of variables. - -‘@deftypecv CATEGORY CLASS DATA-TYPE NAME’ - The ‘@deftypecv’ command is the definition command for typed class - variables in object-oriented programming. It is analogous to - ‘@defcv’ with the addition of the DATA-TYPE parameter to specify - the type of the instance variable. - - @deftypecv {Class Option} Window int border-pattern - ... - @end deftypecv - - produces: - - -- Class Option of Window: int border-pattern - ... - - ‘@deftypecv’ creates an entry in the index of variables. - -‘@defivar CLASS NAME’ - The ‘@defivar’ command is the definition command for instance - variables in object-oriented programming. ‘@defivar’ is equivalent - to ‘@defcv {Instance Variable} ...’. For instance: - - @defivar Window border-pattern - ... - @end defivar - - produces: - - -- Instance Variable of Window: border-pattern - ... - - ‘@defivar’ creates an entry in the index of variables. - -‘@deftypeivar CLASS DATA-TYPE NAME’ - The ‘@deftypeivar’ command is the definition command for typed - instance variables in object-oriented programming. It is analogous - to ‘@defivar’ with the addition of the DATA-TYPE parameter to - specify the type of the instance variable. - - @deftypeivar Window int border-pattern - ... - @end deftypeivar - - produces: - - -- Instance Variable of Window: int border-pattern - ... - - ‘@deftypeivar’ creates an entry in the index of variables. - - -File: texinfo.info, Node: Object-Oriented Methods, Prev: Object-Oriented Variables, Up: Abstract Objects - -13.6.6.2 Object-Oriented Methods -................................ - -These commands allow you to define different sorts of function-like -entities resembling methods in object-oriented programming languages. -These entities take arguments, as functions do, but are associated with -particular classes of objects. - -‘@defop CATEGORY CLASS NAME ARGUMENTS...’ - The ‘@defop’ command is the definition command for these - method-like entities with simple arguments. - - For example, some systems have constructs called “wrappers” that - are associated with classes as methods are, but that act more like - macros than like functions. You could use ‘@defop Wrapper’ to - describe one of these. - - Sometimes it is useful to distinguish methods and “operations”. - You can think of an operation as the specification for a method. - Thus, a window system might specify that all window classes have a - method named ‘expose’; we would say that this window system defines - an ‘expose’ operation on windows in general. Typically, the - operation has a name and also specifies the pattern of arguments; - all methods that implement the operation must accept the same - arguments, since applications that use the operation do so without - knowing which method will implement it. - - Often it makes more sense to document operations than methods. For - example, window application developers need to know about the - ‘expose’ operation, but need not be concerned with whether a given - class of windows has its own method to implement this operation. - To describe this operation, you would write: - - @defop Operation windows expose - - The ‘@defop’ command is written at the beginning of a line and is - followed on the same line by the overall name of the category of - operation, the name of the class of the operation, the name of the - operation, and its arguments, if any. - - ‘@defop’ creates an entry, such as '‘expose’ on ‘windows’', in the - index of functions. - -‘@deftypeop CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...’ - The ‘@deftypeop’ command is the generic definition command for - operations in object-oriented programming. It is particularly - suitable for typed object-oriented languages. It is similar to - ‘@defop’ with the addition of the DATA-TYPE parameter to specify - information on the return value of the method, for example the - return type. - -‘@defmethod CLASS NAME ARGUMENTS...’ - The ‘@defmethod’ command is the definition command for methods in - object-oriented programming. A method is a kind of function that - implements an operation for a particular class of objects and its - subclasses. - - ‘@defmethod’ is equivalent to ‘@defop Method ...’. The command is - written at the beginning of a line and is followed by the name of - the class of the method, the name of the method, and its arguments, - if any. - - For example: - @defmethod bar-class bar-method argument - ... - @end defmethod - - illustrates the definition for a method called ‘bar-method’ of the - class ‘bar-class’. The method takes an argument. - - ‘@defmethod’ creates an entry in the index of functions. - -‘@deftypemethod CLASS DATA-TYPE NAME ARGUMENTS...’ - The ‘@deftypemethod’ command is the definition command for methods - in object-oriented languages, in particular for typed languages - such as C++ and Java. It is similar to the ‘@defmethod’ command - with the addition of the DATA-TYPE parameter to specify information - on the return value of the method, for example the return type. - - The commands with information on return values are affected by the -‘@deftypefnnewline’ option (*note Functions in Typed Languages: Typed -Functions.). - - -File: texinfo.info, Node: Generic Definition Commands, Next: Def Cmd Conventions, Prev: Def Cmds in Detail, Up: Definition Commands - -13.7 Generic Definition Commands -================================ - -Texinfo provides commands for definitions that do not produce automatic -index entries. - - You create a generic definition environment with ‘@defblock’ paired -with ‘@end defblock’. Within this environment, use a ‘@defline’ or -‘@deftypeline’ line for each symbol you document. For example: - - @defblock - @defline Macro mac (arg1, arg2) - Description of mac. - @deftypeline Builtin int foo (int @var{bar}) - Description of foo. - @end defblock - -This produces the output: - - -- Macro: mac (arg1, arg2) - Description of mac. - -- Builtin: int foo (int BAR) - Description of foo. - - The syntax of ‘@defline’ is similar to that of ‘@deffn’. The first -argument gives a category for the definition. Follow this with the -symbol name, followed by any parameters. You should surround any -arguments containing spaces with braces. - - You use ‘@deftypeline’ in a similar way to ‘@deftypefn’, following -the category with a data type, and marking any parameters with ‘@var’. -(*Note Typed Functions::).) - - To share the same description for multiple symbols, you can put -several ‘@defline’ lines together. For example: - - @defblock - @defline Function set-var (value) - @defline {Settable Variable} var - Description of set-var and var. - @end defblock - -This produces the output: - - -- Function: set-var (value) - -- Settable Variable: var - Description of set-var and var. - - It may be useful to define line macros (*note Line Macros::) in -combination with these commands. - - -File: texinfo.info, Node: Def Cmd Conventions, Next: Sample Function Definition, Prev: Generic Definition Commands, Up: Definition Commands - -13.8 Conventions for Writing Definitions -======================================== - -A manual need not and should not contain more than one definition for a -given name. An appendix containing a summary should use ‘@table’ rather -than the definition commands. - - When you write a definition using ‘@deffn’, ‘@defun’, or one of the -other definition commands, please take care to use arguments that -indicate the meaning, as with the COUNT argument to the ‘forward-word’ -function. Also, if the name of an argument contains the name of a type, -such as INTEGER, take care that the argument actually is of that type. - - _Fonts._ As Texinfo is a semantic language, you should nearly never -need to specify font styles with explicit font commands in definitions -(*note Fonts::). However, you may be need to work around problems for -particular output formats and/or constructs. Here are some -possibilities: - - • Explicitly marking a Lisp keyword like ‘&KEYWORD’ with - ‘@r{&keyword}’, producing &keyword. - - Note such keywords in definition arguments are (at present) - rendered in roman in TeX, but this formatting is not done in any - other output format. - - • ‘@r{@slanted{argument}}’, producing argument, similar to ‘@var’ but - avoiding upper-casing its argument in Info output. - - In this and the previous point, ‘@r’ resets the font from that - being used in the definition line context (slanted or typewriter) - to a roman, upright style. - - • You could use ‘@t’ (or even ‘@r{@t{...’, using ‘@r’ to reset font - styles) to mark literal syntax on a definition line where text - would otherwise be output in the slanted roman style. ‘@code’ - would be inappropriate here as it adds quotation marks in Info - output. - - Some degree of trial and error may be needed to get the result you -want. As ever, how nested font commands combine depends on the output -format, so should be avoided where possible. - - Hopefully, such usages are kept to a minimum. One possibility is to -wrap these in ‘@macro’ (*note Defining New Texinfo Commands::), allowing -these usages to be easily changed in the future. - - -File: texinfo.info, Node: Sample Function Definition, Prev: Def Cmd Conventions, Up: Definition Commands - -13.9 A Sample Function Definition -================================= - -Here is a definition from *note (elisp)Calling Functions::, using the -‘@defun’ command. The name of the function, ‘apply’, follows -immediately after the ‘@defun’ command and it is followed, on the same -line, by the parameter list. - - -- Function: apply function &rest arguments - ‘apply’ calls FUNCTION with ARGUMENTS, just like ‘funcall’ but - with one difference: the last of ARGUMENTS is a list of - arguments to give to FUNCTION, rather than a single argument. - We also say that this list is “appended” to the other - arguments. - - ‘apply’ returns the result of calling FUNCTION. As with - ‘funcall’, FUNCTION must either be a Lisp function or a - primitive function; special forms and macros do not make sense - in ‘apply’. - - (setq f 'list) - ⇒ list - (apply f 'x 'y 'z) - error→ Wrong type argument: listp, z - (apply '+ 1 2 '(3 4)) - ⇒ 10 - (apply '+ '(1 2 3 4)) - ⇒ 10 - - (apply 'append '((a b c) nil (x y z) nil)) - ⇒ (a b c x y z) - - An interesting example of using ‘apply’ is found in the - description of ‘mapcar’. - - In the Texinfo source file, this example should look like this: - - @defun apply function @r{&rest} arguments - @code{apply} calls @var{function} with - @var{arguments}, just like @code{funcall} but with one - difference: the last of @var{arguments} is a list of - arguments to give to @var{function}, rather than a single - argument. We also say that this list is @dfn{appended} - to the other arguments. - - @code{apply} returns the result of calling - @var{function}. As with @code{funcall}, - @var{function} must either be a Lisp function or a - primitive function; special forms and macros do not make - sense in @code{apply}. - - @example - (setq f 'list) - @result{} list - (apply f 'x 'y 'z) - @error{} Wrong type argument: listp, z - (apply '+ 1 2 '(3 4)) - @result{} 10 - (apply '+ '(1 2 3 4)) - @result{} 10 - - (apply 'append '((a b c) nil (x y z) nil)) - @result{} (a b c x y z) - @end example - - An interesting example of using @code{apply} is found - in the description of @code{mapcar}. - @end defun - -In this manual, this function is listed in the Command and Variable -Index under ‘apply’. - - -File: texinfo.info, Node: Internationalization, Next: Conditionals, Prev: Definition Commands, Up: Top - -14 Internationalization -*********************** - -Texinfo has some support for writing in languages other than English, -although this area still needs considerable work. (If you are the one -helping to translate the fixed strings written to documents, *note -Internationalization of Document Strings::.) - - For a list of the various accented and special characters Texinfo -supports, see *note Inserting Accents::. - -* Menu: - -* @documentlanguage:: Declaring the current language. -* @documentencoding:: Declaring the input encoding. - - -File: texinfo.info, Node: @documentlanguage, Next: @documentencoding, Up: Internationalization - -14.1 ‘@documentlanguage LL[_CC]’: Set the Document Language -=========================================================== - -The ‘@documentlanguage’ command declares the current document locale. -Write it on a line by itself, near the beginning of the file. - - @documentlanguage LL[_CC] - - Include a two-letter ISO 639-2 language code (LL) following the -command name, optionally followed by an underscore and two-letter -ISO 3166 two-letter country code (CC). If you have a multilingual -document, the intent is to be able to use this command multiple times, -to declare each language change. If the command is not used at all, the -default is ‘en_US’ for US English. - - As with GNU Gettext (*note (gettext)Top::), if the country code is -omitted, the main dialect is assumed where possible. For example, ‘de’ -is equivalent to ‘de_DE’ (German as spoken in Germany). - - This command changes the translation of various “document strings” -such as "see" in cross-references (*note Cross References::), "Function" -in defuns (*note Definition Commands::), and so on. Optionally, this -command may also affect how ‘texi2any’ sorts indices (*note Global -Customization Variables::, under ‘DOCUMENTLANGUAGE_COLLATION’). - - Note that in Info output, some strings, such as "Node:", "Next:", -"Menu:", etc., are keywords and so are not translated. - - In DocBook output ‘@documentlanguage’ sets the language for following -sections. - - For LaTeX, this command causes code to load the ‘babel’ package to be -output in the preamble, and ‘\selectlanguage’ to be output. - - For TeX, this command causes a file ‘txi-LOCALE.tex’ to be read (if -it exists). If ‘@documentlanguage’ argument contains the optional ‘_CC’ -suffix, this is tried first. For example, with ‘@documentlanguage -de_DE’, TeX first looks for ‘txi-de_DE.tex’, then ‘txi-de.tex’. - - Such a ‘txi-*’ file is intended to redefine the various English words -used in TeX output, such as 'Chapter', 'See', and so on. We are aware -that individual words like these cannot always be translated in -isolation, and that a very different strategy would be required for -ideographic (among other) scripts. Help in improving Texinfo's language -support is welcome. - - ‘@documentlanguage’ also changes TeX's current hyphenation patterns, -if the TeX program being run has the necessary support included. This -will generally not be the case for ‘tex’ itself, but will usually be the -case for up-to-date distributions of the extended TeX programs ‘etex’ -(DVI output) and ‘pdftex’ (PDF output). ‘texi2dvi’ will use the -extended TeXs if they are available (*note Format with texi2dvi::). - - Since the lists of language codes and country codes are updated -relatively frequently, we don't attempt to list them here. The valid -language codes are on the official home page for ISO 639, -<http://www.loc.gov/standards/iso639-2/>. The country codes and the -official web site for ISO 3166 can be found via -<https://en.wikipedia.org/wiki/ISO_3166>. - - -File: texinfo.info, Node: @documentencoding, Prev: @documentlanguage, Up: Internationalization - -14.2 ‘@documentencoding ENC’: Set Input Encoding -================================================ - -By default, the input and output document encoding are assumed to be -UTF-8, the vast global character encoding, expressed in 8-bit bytes. -UTF-8 is compatible with 7-bit ASCII. It is recommended to use UTF-8 -encoding for Texinfo manuals. - - The ‘@documentencoding’ command declares the input document encoding, -and also affects the encoding of the output. Write it on a line by -itself, with a valid encoding specification following, near the -beginning of the file if your document encoding is not the default -encoding. - - @documentencoding ENC - - UTF-8 should always be the best choice for the encoding. Texinfo -still supports additional encodings, mainly for compatibility with older -manuals(1): - -‘US-ASCII’ - Character encoding based on the English alphabet. - -‘ISO-8859-1’ -‘ISO-8859-15’ -‘ISO-8859-2’ - These specify the pre-UTF-8 standard encodings for Western European - (the first two) and Eastern European languages (the third), - respectively. ISO 8859-15 replaces some little-used characters - from 8859-1 (e.g., precomposed fractions) with more commonly needed - ones, such as the Euro symbol (€). - - A full description of the encodings is beyond our scope here; one - useful reference is <http://czyborra.com/charsets/iso8859.html>. - -‘koi8-r’ - This was a commonly used encoding for the Russian language before - UTF-8. - -‘koi8-u’ - This was a commonly used encoding for the Ukrainian language before - UTF-8. - - In Info output, a so-called 'Local Variables' section (*note -(emacs)File Variables::) is output including the output encoding. This -allows Info readers to set the encoding appropriately. It looks like -this: - - Local Variables: - coding: UTF-8 - End: - - By default, for Info and plain text output, ‘texi2any’ outputs accent -constructs and special characters (such as ‘@'e’) as the actual UTF-8 -sequence or 8-bit character in the output encoding where possible. If -this is not possible, or if the option ‘--disable-encoding’ is given, an -ASCII transliteration is used instead. - - In HTML output, a ‘<meta>’ tag is output, in the ‘<head>’ section of -the HTML, that specifies the output encoding. Web servers and browsers -cooperate to use this information so the correct encoding is used to -display the page, if supported by the system. That looks like this: - - <meta http-equiv="Content-Type" content="text/html; - charset=utf-8"> - - In HTML and LaTeX output, if ‘OUTPUT_CHARACTERS’ is set (*note -Customization Variables for Multiple Formats::), accent constructs and -special characters, such as ‘@'e’ or ‘``’, are output as the actual -UTF-8 sequence or 8-bit character in the output encoding where possible. -Otherwise, HTML entities are used for those characters in HTML, and -LaTeX macros are used in LaTeX. - - In DocBook output, if the encoding is different from UTF-8, an -‘encoding’ attribute is added to the XML declaration. If -‘OUTPUT_CHARACTERS’ is set (*note Customization Variables for Multiple -Formats::), accent constructs such as ‘@'e’ are output as the actual -8-bit or UTF-8 character in the output encoding where possible. -Otherwise XML entities are used for those constructs. - - In TeX output, the characters which are supported in the standard -Computer Modern fonts are output accordingly. For example, this means -using constructed accents rather than precomposed glyphs. Using a -missing character generates a warning message, as does specifying an -unimplemented encoding. - - Although modern TeX systems support nearly every script in use in the -world, this wide-ranging support is not available in ‘texinfo.tex’, and -it's not feasible to duplicate or incorporate all that effort. - - In LaTeX output, code loading the ‘inputenc’ package is output based -on the encoding. This, by itself, does not ensures that all the -characters from the input document can be subsequently output. The -fonts used in the default case should cover the specific Texinfo glyphs, -but not all the possible encoded characters. You may need to load -different fonts in the preamble and use ‘\DeclareUnicodeCharacter’ with -a UTF-8 encoding. For example: - @latex - \DeclareUnicodeCharacter{017B}{\.Z} - @end latex - - Cross-references between Info files in different character encodings -with non-ASCII characters in node names fail. We strongly recommend -using UTF-8 only as the encoding for manuals with non-ASCII characters -in the destinations of cross-references. - - ---------- Footnotes ---------- - - (1) ‘texi2any’ supports more encodings for Texinfo manuals, -potentially all the encodings supported by both Perl and iconv (*note -(libc)Generic Charset Conversion::). The support in output formats may -be lacking, however, especially for LaTeX output. - - -File: texinfo.info, Node: Conditionals, Next: Defining New Texinfo Commands, Prev: Internationalization, Up: Top - -15 Conditionally Visible Text -***************************** - -The “conditional commands” allow you to use different text for different -output formats, or for general conditions that you define. For example, -you can use them to specify different text for the printed manual and -the Info output. - - The conditional commands comprise the following categories. - - • Commands specific to an output format (Info, TeX, HTML, ...). - - • Commands specific to any output format _excluding_ a given one - (e.g., not Info, not TeX, ...). - - • 'Raw' formatter text for any output format, passed straight through - with minimal (but not zero) interpretation of @-commands. - - • Format-independent variable substitutions, and testing if a - variable is set or clear. - -* Menu: - -* Conditional Commands:: Text for a given format. -* Conditional Not Commands:: Text for any format other than a given one. -* Raw Formatter Commands:: Using raw formatter commands. -* Inline Conditionals:: Brace-delimited conditional text. -* @set @clear @value:: Variable tests and substitutions. -* Testing for Texinfo Commands:: Testing if a Texinfo command is available. -* Conditional Nesting:: Using conditionals inside conditionals. - - -File: texinfo.info, Node: Conditional Commands, Next: Conditional Not Commands, Up: Conditionals - -15.1 Conditional Commands -========================= - -Texinfo has an ‘@ifFORMAT’ environment for each output format, to allow -conditional inclusion of text for a particular output format. - - ‘@ifinfo’ begins segments of text that should be ignored when not -producing Info output, in particular in printed output. The segment of -text appears only in the Info file and, for historical compatibility, -the plain text output. - - The environments for the other formats are analogous: - -‘@ifdocbook ... @end ifdocbook’ - Text to appear only in the DocBook output. - -‘@ifhtml ... @end ifhtml’ - Text to appear only in the HTML output. - -‘@iflatex ... @end iflatex’ - Text to appear only in the LaTeX output. - -‘@ifplaintext ... @end ifplaintext’ - Text to appear only in the plain text output. - -‘@iftex ... @end iftex’ - Text to appear only in the printed manual. - -‘@ifxml ... @end ifxml’ - Text to appear only in the XML output. - - The ‘@if...’ and ‘@end if...’ commands must appear on lines by -themselves in your source file. The newlines following the commands are -(more or less) treated as whitespace, so that the conditional text is -flowed normally into a surrounding paragraph. - - The ‘@if...’ constructs are intended to conditionalize normal Texinfo -source; *note Raw Formatter Commands::, for using underlying format -commands directly. - - Here is an example showing all these conditionals: - - @iftex - This text will appear only in the printed manual. - @end iftex - @ifinfo - However, this text will appear only in Info and plain text. - @end ifinfo - @ifhtml - And this text will only appear in HTML. - @end ifhtml - @iflatex - Moreover, this text will only appear in @LaTeX{}. - @end iflatex - @ifplaintext - Whereas this text will only appear in plain text. - @end ifplaintext - @ifxml - Notwithstanding that this will only appear in XML. - @end ifxml - @ifdocbook - Nevertheless, this will only appear in DocBook. - @end ifdocbook - -The preceding example produces the following line: - - However, this text will appear only in Info and plain text. - -Notice that you only see one of the input lines, depending on which -version of the manual you are reading. - - In complex documents, you may want Texinfo to issue an error message -in some conditionals that should not ever be processed. The -‘@errormsg{TEXT}’ command will do this; it takes one argument, the text -of the error message. - - We mention ‘@errormsg{}’ here even though it is not strictly related -to conditionals, since in practice it is most likely to be useful in -that context. Technically, it can be used anywhere. *Note External -Macro Processors::, for a caveat regarding the line numbers which -‘@errormsg’ emits in TeX. - - -File: texinfo.info, Node: Conditional Not Commands, Next: Raw Formatter Commands, Prev: Conditional Commands, Up: Conditionals - -15.2 Conditional Not Commands -============================= - -You can specify text to be included in any output format _other_ than a -given one with the ‘@ifnot...’ environments: - - @ifnotdocbook ... @end ifnotdocbook - @ifnothtml ... @end ifnothtml - @ifnotinfo ... @end ifnotinfo - @ifnotlatex ... @end ifnotlatex - @ifnotplaintext ... @end ifnotplaintext - @ifnottex ... @end ifnottex - @ifnotxml ... @end ifnotxml - -The ‘@ifnot...’ command and the ‘@end’ command must appear on lines by -themselves in your actual source file. - - If the output file is being made in the given format, the region is -_ignored_. Otherwise, it is included. - - There is one exception (for historical compatibility): ‘@ifnotinfo’ -text is omitted for both Info and plain text output, not just Info. To -specify text which appears only in Info and not in plain text, use -‘@ifnotplaintext’, like this: - - @ifinfo - @ifnotplaintext - This will be in Info, but not plain text. - @end ifnotplaintext - @end ifinfo - - The regions delimited by these commands are ordinary Texinfo source -as with ‘@iftex’, not raw formatter source as with ‘@tex’ (*note Raw -Formatter Commands::). - - -File: texinfo.info, Node: Raw Formatter Commands, Next: Inline Conditionals, Prev: Conditional Not Commands, Up: Conditionals - -15.3 Raw Formatter Commands -=========================== - -The ‘@if...’ conditionals just described must be used only with normal -Texinfo source. For instance, most features of plain TeX will not work -within ‘@iftex’. The purpose of ‘@if...’ is to provide conditional -processing for Texinfo source, not provide access to underlying -formatting features. For that, Texinfo provides so-called “raw -formatter commands”. They should only be used when truly required (most -documents do not need them). - - The first raw formatter command is ‘@tex’. You can enter plain TeX -completely, and use ‘\’ in the TeX commands, by delineating a region -with the ‘@tex’ and ‘@end tex’ commands. All plain TeX commands and -category codes are restored within a ‘@tex’ region. The sole exception -is that the ‘@’ character still introduces a command, so that ‘@end tex’ -can be recognized. Texinfo processors will not output material in such -a region unless TeX output is being produced. - - In complex cases, you may wish to define new TeX macros within -‘@tex’. You must use ‘\gdef’ to do this, not ‘\def’, because ‘@tex’ -regions are processed in a TeX group. If you need to make several -definitions, you may wish to set ‘\globaldefs=1’ (its value will be -restored to zero as usual when the group ends at ‘@end tex’, so it won't -cause problems with the rest of the document). - - As an example, here is a displayed equation written in plain TeX: - - @tex - $$ \chi^2 = \sum_{i=1}^N - \left (y_i - (a + b x_i) - \over \sigma_i\right)^2 $$ - @end tex - -The output of this example will appear only in a printed manual. If you -are reading this in a format not generated by TeX, you will not see the -equation that appears in the printed manual. - - Analogously, you can use ‘@html ... @end html’ for a region of raw -HTML, ‘@docbook ... @end docbook’ for a region of raw DocBook, ‘@latex -... @end latex’ for a region of raw LaTeX, and ‘@xml ... @end xml’ for a -region of raw XML. - - The behavior of newlines in raw regions is unspecified. - - In all cases, in raw processing, ‘@’ retains the same meaning as in -the remainder of the document. Thus, the Texinfo processors must -recognize and even execute, to some extent, the contents of the raw -regions, regardless of the final output format. Therefore, specifying -changes that globally affect the document inside a raw region leads to -unpredictable and generally undesirable behavior. For example, using -the ‘@kbdinputstyle’ command inside a raw region is undefined. The -remedy is simple: don't do that. - - -File: texinfo.info, Node: Inline Conditionals, Next: @set @clear @value, Prev: Raw Formatter Commands, Up: Conditionals - -15.4 Inline Conditionals: ‘@inline’, ‘@inlineifelse’, ‘@inlineraw’ -================================================================== - -Texinfo provides a set of conditional commands with arguments given -within braces: - -‘@inlinefmt{FORMAT, TEXT}’ - Process the Texinfo TEXT if FORMAT output is being generated. - -‘@inlinefmtifelse{FORMAT, THEN-TEXT, ELSE-TEXT}’ - Process the Texinfo THEN-TEXT if FORMAT output is being generated; - otherwise, process ELSE-TEXT. - -‘@inlineraw{FORMAT, TEXT}’ - Similar, but for raw TEXT (*note Raw Formatter Commands::). - - The supported FORMAT names are: - - docbook html info latex plaintext tex xml - - For example, - - @inlinefmt{html, @emph{HTML-only text}} - -is nearly equivalent to - - @ifhtml - @emph{HTML-only text} - @end ifhtml - -except that no whitespace is added, as happens in the latter -(environment) case. - - In these commands, whitespace is ignored after the comma separating -the arguments, as usual, but is _not_ ignored at the end of TEXT. - - To insert a literal at sign, left brace, or right brace in one of the -arguments, you must use the alphabetic commands ‘@atchar{}’ (*note -Inserting an Atsign::), and ‘@lbracechar{}’ or ‘@rbracechar{}’ (*note -Inserting Braces::), or the parsing will become confused. - - With ‘@inlinefmtifelse’, it is also necessary to use ‘@comma{}’ to -avoid mistaking a ‘,’ in the text for the delimiter. With ‘@inlinefmt’ -and ‘@inlineraw’, ‘@comma{}’ is not required (though it's fine to use -it), since these commands always have exactly two arguments. - - For TeX, the processed TEXT cannot contain newline-delimited -commands. Text to be ignored (i.e., for non-TeX) can, though. - - Two other ‘@inline...’ conditionals complement the ‘@ifset’ and -‘@ifclear’ commands; see the next section. - - -File: texinfo.info, Node: @set @clear @value, Next: Testing for Texinfo Commands, Prev: Inline Conditionals, Up: Conditionals - -15.5 Flags: ‘@set’, ‘@clear’, conditionals, and ‘@value’ -======================================================== - -You can direct the Texinfo formatting commands to format or ignore parts -of a Texinfo file with the ‘@set’, ‘@clear’, ‘@ifset’, and ‘@ifclear’ -commands. Here is a summary: - -‘@set FLAG [VALUE]’ - Set the variable FLAG, to the optional VALUE if specified. - -‘@clear FLAG’ - Undefine the variable FLAG, whether or not it was previously - defined. - -‘@ifset FLAG’ - If FLAG is set, text through the next ‘@end ifset’ command is - formatted. If FLAG is clear, text through the following ‘@end - ifset’ command is ignored. - -‘@inlineifset{FLAG, TEXT}’ - Brace-delimited version of ‘@ifset’. - -‘@ifclear FLAG’ - If FLAG is set, text through the next ‘@end ifclear’ command is - ignored. If FLAG is clear, text through the following ‘@end - ifclear’ command is formatted. - -‘@inlineifclear{FLAG, TEXT}’ - Brace-delimited version of ‘@ifclear’. - -* Menu: - -* @set @value:: Expand a flag variable to a string. -* @ifset @ifclear:: Format a region if a flag is set. -* @inlineifset @inlineifclear:: Brace-delimited flag conditionals. -* @value Example:: An easy way to update edition information. - - -File: texinfo.info, Node: @set @value, Next: @ifset @ifclear, Up: @set @clear @value - -15.5.1 ‘@set’ and ‘@value’ --------------------------- - -You use the ‘@set’ command to specify a value for a flag, which is later -expanded by the ‘@value’ command. - - A “flag” (aka “variable”) name is an identifier starting with an -alphanumeric, ‘-’, or ‘_’. Subsequent characters, if any, may not be -whitespace, ‘@’, braces, angle brackets, or any of ‘~`^+|’; other -characters, such as ‘%’, may work. However, it is best to use only -letters and numerals in a flag name, not ‘-’ or ‘_’ or others--they will -work in some contexts, but not all, due to limitations in TeX. - - The value is the remainder of the input line, and can contain -anything. - - Write the ‘@set’ command like this: - - @set foo This is a string. - -This sets the value of the flag ‘foo’ to "This is a string.". - - The Texinfo processors then replace a ‘@value{FLAG}’ command with the -string to which FLAG is set. Thus, when ‘foo’ is set as shown above, -the Texinfo processors convert this: - - @value{foo} -to this: - This is a string. - - You can write a ‘@value’ command within a paragraph; but you must -write a ‘@set’ command on a line of its own. - - If you write the ‘@set’ command like this: - - @set foo - -without specifying a string, the value of ‘foo’ is the empty string. - - If you clear a previously set flag with ‘@clear FLAG’, a subsequent -‘@value{flag}’ command will report an error. - - For example, if you set ‘foo’ as follows: - - @set howmuch very, very, very - -then the processors transform - - It is a @value{howmuch} wet day. -into - It is a very, very, very wet day. - - If you write - - @clear howmuch - -then the processors transform - - It is a @value{howmuch} wet day. -into - It is a {No value for "howmuch"} wet day. - - ‘@value’ cannot be reliably used as the argument to an accent command -(*note Inserting Accents::). For example, this fails: - - @set myletter a - @'@value{myletter} - - -File: texinfo.info, Node: @ifset @ifclear, Next: @inlineifset @inlineifclear, Prev: @set @value, Up: @set @clear @value - -15.5.2 ‘@ifset’ and ‘@ifclear’ ------------------------------- - -When a FLAG is set, the Texinfo formatting commands format text between -subsequent pairs of ‘@ifset FLAG’ and ‘@end ifset’ commands. When the -FLAG is cleared, the Texinfo formatting commands do _not_ format the -text. ‘@ifclear’ operates analogously. - - Write the conditionally formatted text between ‘@ifset FLAG’ and -‘@end ifset’ commands, like this: - - @ifset FLAG - CONDITIONAL-TEXT - @end ifset - - For example, you can create one document that has two variants, such -as a manual for a 'large' and 'small' model: - - You can use this machine to dig up shrubs - without hurting them. - - @set large - - @ifset large - It can also dig up fully grown trees. - @end ifset - - Remember to replant promptly ... - -In the example, the formatting commands will format the text between -‘@ifset large’ and ‘@end ifset’ because the ‘large’ flag is set. - - When FLAG is cleared, the Texinfo formatting commands do _not_ format -the text between ‘@ifset FLAG’ and ‘@end ifset’; that text is ignored -and does not appear in the output. - - For example, if you clear the flag of the preceding example by -writing an ‘@clear large’ command after the ‘@set large’ command (but -before the conditional text), then the Texinfo formatting commands -ignore the text between the ‘@ifset large’ and ‘@end ifset’ commands. -In the formatted output, that text does not appear; you see only the -lines that say, "You can use this machine to dig up shrubs without -hurting them. Remember to replant promptly ...". - - If a flag is cleared with a ‘@clear FLAG’ command, then the -formatting commands format text between subsequent pairs of ‘@ifclear’ -and ‘@end ifclear’ commands. But if the flag is set with ‘@set FLAG’, -then the formatting commands do _not_ format text between an ‘@ifclear’ -and an ‘@end ifclear’ command; rather, they ignore that text. An -‘@ifclear’ command looks like this: - - @ifclear FLAG - - -File: texinfo.info, Node: @inlineifset @inlineifclear, Next: @value Example, Prev: @ifset @ifclear, Up: @set @clear @value - -15.5.3 ‘@inlineifset’ and ‘@inlineifclear’ ------------------------------------------- - -‘@inlineifset’ and ‘@inlineifclear’ provide brace-delimited alternatives -to the ‘@ifset’ and ‘@ifclear’ forms, similar to the other ‘@inline...’ -Commands (*note Inline Conditionals::). The same caveats about argument -parsing given there apply here too. - -‘@inlineifset{VAR, TEXT}’ - Process the Texinfo TEXT if the flag VAR is defined. - -‘@inlineifclear{VAR, TEXT}’ - Process the Texinfo TEXT if the flag VAR is not defined. - - Except for the syntax, their general behavior and purposes is the -same as with ‘@ifset’ and ‘@ifclear’, described in the previous section. - - -File: texinfo.info, Node: @value Example, Prev: @inlineifset @inlineifclear, Up: @set @clear @value - -15.5.4 ‘@value’ Example ------------------------ - -You can use the ‘@value’ command to minimize the number of places you -need to change when you record an update to a manual. *Note GNU Sample -Texts::, for the full text of an example of using this to work with -Automake distributions. - - This example is adapted from *note (make)Top::. - - 1. Set the flags: - - @set EDITION 0.35 Beta - @set VERSION 3.63 Beta - @set UPDATED 14 August 1992 - @set UPDATE-MONTH August 1992 - - 2. Write text for the ‘@copying’ section (*note @copying::): - - @copying - This is Edition @value{EDITION}, - last updated @value{UPDATED}, - of @cite{The GNU Make Manual}, - for @code{make}, version @value{VERSION}. - - Copyright ... - - Permission is granted ... - @end copying - - 3. Write text for the title page, for people reading the printed - manual: - - @titlepage - @title GNU Make - @subtitle A Program for Directing Recompilation - @subtitle Edition @value{EDITION}, ... - @subtitle @value{UPDATE-MONTH} - @page - @insertcopying - ... - @end titlepage - - (On a printed cover, a date listing the month and the year looks - less fussy than a date listing the day as well as the month and - year.) - - 4. Write text for the Top node, for people reading the Info file: - - @ifnottex - @node Top - @top Make - - This is Edition @value{EDITION}, - last updated @value{UPDATED}, - of @cite{The GNU Make Manual}, - for @code{make}, version @value{VERSION}. - @end ifnottex - - After you format the manual, the ‘@value’ constructs have been - expanded, so the output contains text like this: - - This is Edition 0.35 Beta, last updated 14 August 1992, - of `The GNU Make Manual', for `make', Version 3.63 Beta. - - When you update the manual, you change only the values of the flags; -you do not need to edit the three sections. - - -File: texinfo.info, Node: Testing for Texinfo Commands, Next: Conditional Nesting, Prev: @set @clear @value, Up: Conditionals - -15.6 Testing for Texinfo Commands: ‘@ifcommanddefined’, ‘@ifcommandnotdefined’ -============================================================================== - -Occasionally, you may want to arrange for your manual to test if a given -Texinfo command is available and (presumably) do some sort of fallback -formatting if not. There are conditionals ‘@ifcommanddefined’ and -‘@ifcommandnotdefined’ to do this. For example: - - @ifcommanddefined node - Good, @samp{@@node} is defined. - @end ifcommanddefined - -will output the expected 'Good, ‘@node’ is defined.'. - - This conditional will also consider any new commands defined by the -document via ‘@macro’, ‘@alias’, ‘@definfoenclose’, and -‘@def(code)index’ (*note Defining New Texinfo Commands::) to be true. -Caveat: the TeX implementation reports internal TeX commands, in -addition to all the Texinfo commands, as being "defined"; the ‘texi2any’ -implementation is reliable in this regard, however. - - You can check the ‘NEWS’ file in the Texinfo source distribution and -linked from the Texinfo home page -(<https://www.gnu.org/software/texinfo>) to see when a particular -command was added. - - These command-checking conditionals themselves were added in -Texinfo 5.0, released in 2013--decades after Texinfo's inception. In -order to test if they themselves are available, the predefined flag -‘txicommandconditionals’ can be tested, like this: - - @ifset txicommandconditionals - @ifcommandnotdefined foobarnode - (Good, @samp{@@foobarnode} is not defined.) - @end ifcommandnotdefined - @end ifset - - Since flags (see the previous section) were added early in the -existence of Texinfo, there is no problem with assuming they are -available. - - We recommend avoiding these tests whenever possible--which is usually -the case. For many software packages, it is reasonable for all -developers to have a given version of Texinfo (or newer) installed, and -thus no reason to worry about older versions. (It is straightforward -for anyone to download and install the Texinfo source; it does not have -any problematic dependencies.) - - The issue of Texinfo versions does not generally arise for end users. -With properly distributed packages, users need not process the Texinfo -manual simply to build and install the package; they can use -preformatted Info (or other) output files. This is desirable in -general, to avoid unnecessary dependencies between packages (*note -(standards)Releases::). - - -File: texinfo.info, Node: Conditional Nesting, Prev: Testing for Texinfo Commands, Up: Conditionals - -15.7 Conditional Nesting -======================== - -Texinfo requires that for a failing conditional, the ignored text must -be properly nested with respect to that failing conditional. Here's an -example: - - @ifset somevar - @ifset anothervar - Both somevar and anothervar are set. - @end ifset - @ifclear anothervar - Somevar is set, anothervar is not. - @end ifclear - @end ifset - - If ‘somevar’ is not set, the whole block is skipped. - - To allow the processors to reliably determine which commands to -consider for nesting purposes, all conditional commands must be on lines -by themselves, with no text (even spaces) before or after. - - -File: texinfo.info, Node: Defining New Texinfo Commands, Next: Include Files, Prev: Conditionals, Up: Top - -16 Defining New Texinfo Commands -******************************** - -Texinfo provides several ways to define new commands (in all cases, it's -not recommended to try redefining existing commands): - - • A Texinfo “macro” allows you to define a new Texinfo command as any - sequence of text and/or existing commands (including other macros). - The macro can have any number of “parameters”--text you supply each - time you use the macro. - - Incidentally, these macros have nothing to do with the ‘@defmac’ - command, which is for documenting macros in the subject area of the - manual (*note Def Cmd Template::). - - • ‘@linemacro’ allows you to define a macro whose arguments extend to - the end of the line and are separated by spaces. - - • ‘@alias’ defines a new name for an existing command. - - • ‘@definfoenclose’ allows you to define new commands with customized - output for some non-printed output formats. This command is - deprecated. - - Most generally of all (not just for defining new commands), it is -possible to invoke any external macro processor and have Texinfo -recognize so-called ‘#line’ directives for error reporting. - - If you want to do simple text substitution, ‘@set’ and ‘@value’ is -the simplest approach (*note @set @clear @value::). - -* Menu: - -* Defining Macros:: Defining and undefining new commands. -* Invoking Macros:: Using a macro, once you've defined it. -* Macro Details:: Limitations of Texinfo macros. -* @alias:: Command aliases. -* Line Macros:: Macros using whole line for arguments. -* @definfoenclose:: Customized highlighting. -* External Macro Processors:: ‘#line’ directives. - - -File: texinfo.info, Node: Defining Macros, Next: Invoking Macros, Up: Defining New Texinfo Commands - -16.1 Defining Macros -==================== - -You use the Texinfo ‘@macro’ command to define a macro, like this: - - @macro MACRONAME{PARAM1, PARAM2, ...} - TEXT ... \PARAM1\ ... - @end macro - - The “parameters” PARAM1, PARAM2, ... correspond to arguments supplied -when the macro is subsequently used in the document (described in the -next section). - - In principle, MACRONAME should consist of alphanumerics, and (except -as the first character) ‘-’. The ‘_’ character is excluded so that -macros can be called inside ‘@math’ without a following space (*note -Inserting Math::). However, for a macro to work consistently with TeX, -MACRONAME must consist entirely of letters: no digits, hyphens, or other -special characters. So, we recommend using only letters. Texinfo -commands should not be redefined as macros. - - If a macro needs no parameters, you can define it either with an -empty list (‘@macro foo {}’) or with no braces at all (‘@macro foo’). - - The definition or “body” of the macro can contain most Texinfo -commands, including macro invocations. However, a macro definition that -defines another macro does not work in TeX due to limitations in the -design of ‘@macro’. - - In the macro body, instances of a parameter name surrounded by -backslashes, as in ‘\PARAM1\’ in the example above, are replaced by the -corresponding argument from the macro invocation. You can use parameter -names any number of times in the body, including zero. - - To get a single ‘\’ in the macro expansion, use ‘\\’. Any other use -of ‘\’ in the body yields a warning. - - The newline characters after the ‘@macro’ line and before the ‘@end -macro’ line are ignored, that is, not included in the macro body. All -other whitespace is treated according to the usual Texinfo rules. - - To allow a macro to be used recursively, that is, in an argument to a -call to itself, you must define it with ‘@rmacro’, like this: - - @rmacro rmac {arg} - a\arg\b - @end rmacro - ... - @rmac{1@rmac{text}2} - - This produces the output 'a1atextb2b'. With ‘@macro’ instead of -‘@rmacro’, an error message is given. - - You can undefine a macro FOO with ‘@unmacro FOO’. It is not an error -to undefine a macro that is already undefined. For example: - - @unmacro foo - - -File: texinfo.info, Node: Invoking Macros, Next: Macro Details, Prev: Defining Macros, Up: Defining New Texinfo Commands - -16.2 Invoking Macros -==================== - -After a macro is defined (see the previous section), you can “invoke” -(use) it in your document like this: - - @MACRONAME {ARG1, ARG2, ...} - -and the result will be more or less as if you typed the body of -MACRONAME at that spot. For example: - - @macro foo {p, q} - Together: \p\ & \q\. - @end macro - @foo{a, b} - -produces: - - Together: a & b. - - Thus, the arguments and parameters are separated by commas and -delimited by braces; any whitespace after (but not before) a comma is -ignored. The braces are required in the invocation even when the macro -takes no arguments, consistent with other Texinfo commands. For -example: - - @macro argless {} - No arguments here. - @end macro - @argless{} - -produces: - - No arguments here. - - Passing macro arguments containing commas requires care, since commas -also separate the arguments. To include a comma character in an -argument, the most reliable method is to use the ‘@comma{}’ command. -Another method is to surround the argument with ‘@asis{...}’. For -‘texi2any’, you can also prepend a backslash character, as in ‘\,’, but -this does not work with TeX. - - It's not always necessary to worry about commas. To facilitate use -of macros, two rules for “automatic quoting” are implemented: - - 1. If a macro takes only one argument, all commas in its invocation - are quoted by default. For example: - - @macro TRYME{text} - @strong{TRYME: \text\} - @end macro - - @TRYME{A nice feature, though it can be dangerous.} - - will produce the following output - - *TRYME: A nice feature, though it can be dangerous.* - - And indeed, it can. Namely, there is no control on the number of - arguments passed to one-argument macros, so be careful when you - invoke them. - - 2. If a macro invocation includes another command (including a - recursive invocation of itself), any commas in the nested command - invocation(s) are quoted by default. For example, in - - @say{@strong{Yes, I do}, person one} - - the comma after ‘Yes’ is implicitly quoted. Here's another - example, with a recursive macro: - - @rmacro cat{a,b} - \a\\b\ - @end rmacro - - @cat{@cat{foo, bar}, baz} - - will produce the string ‘foobarbaz’. - - 3. Otherwise, a comma should be explicitly quoted, as above, for it to - be treated as a part of an argument. - - The backslash itself can be quoted in macro arguments with another -backslash. For example: - - @MACNAME {\\bleh} - -will pass the argument ‘\bleh’ to MACNAME. - - ‘texi2any’ also recognizes ‘\{’ and ‘\}’ sequences for curly braces, -but these are not recognized by the implementation in TeX. There -should, however, rarely be a need for these, as they are only needed -when a macro argument contains unbalanced braces. - - If a macro is defined to take exactly one argument, it can be invoked -without any braces, taking all of the line after the macro name as the -argument. For example: - - @macro bar {p} - Twice: \p\ & \p\. - @end macro - @bar aah - -produces: - - Twice: aah & aah. - -In these arguments, there is no escaping of special characters, so each -‘\’ stands for itself. - - If a macro is defined to take more than one argument, but is called -with only one (in braces), the remaining arguments are set to the empty -string, and no error is given. For example: - - @macro addtwo {p, q} - Both: \p\\q\. - @end macro - @addtwo{a} - -produces simply: - - Both: a. - - -File: texinfo.info, Node: Macro Details, Next: @alias, Prev: Invoking Macros, Up: Defining New Texinfo Commands - -16.3 Macro Details and Caveats -============================== - -By design, macro expansion should not happen in the following contexts: - - • ‘@macro’ and ‘@unmacro’ lines; - - • ‘@if...’ lines, including ‘@ifset’ and similar; - - • ‘@set’, ‘@clear’, ‘@value’; - - • ‘@clickstyle’ lines; - - • ‘@end’ lines when there is no macro expansion in the block command. - -Unfortunately, TeX may do some expansion in these situations, possibly -yielding errors. - - Also, quite a few macro-related constructs cause problems with TeX; -some of the caveats are listed below. Thus, if you get macro-related -errors when producing the printed version of a manual, you might try -expanding the macros with ‘texi2any’ by invoking ‘texi2dvi’ with the -‘-E’ option (*note Format with texi2dvi::). Or, more reliably, eschew -Texinfo macros altogether and use a language designed for macro -processing, such as M4 (*note External Macro Processors::). - - • As mentioned earlier, macro names must consist entirely of letters. - - • It is not advisable to redefine any TeX primitive, plain, or - Texinfo command name as a macro. Unfortunately, this is a large - and open-ended set of names, and the possible resulting errors are - unpredictable. - - • Arguments to macros taking more than one argument cannot cross - lines. - - • Macros containing a command which must be on a line by itself, such - as a conditional, cannot be invoked in the middle of a line. - Similarly, macros containing line-oriented commands or text, such - as ‘@example’ environments, may behave unpredictably in TeX. - - • Texinfo commands in the expansion of a macro in the text of an - index entry may end up being typeset as literal text (including an - "@" sign), instead of being interpreted with their intended - meaning. - - • White space is ignored at the beginnings of lines. - - • Macros can't be reliably used in the argument to accent commands - (*note Inserting Accents::). - - • The backslash escape for commas in macro arguments does not work; - ‘@comma{}’ must be used. - - • Ending a macro body with ‘@c’ may cause text following the macro - invocation to be ignored as a comment in ‘texi2any’. This is not - the case when processing with TeX. This was often done to "comment - out" an unwanted newline at the end of a macro body, but this is - not necessary any more, as the final newline before ‘@end macro’ is - not included in the macro body anyway. - - • In general, you can't arbitrarily substitute a macro (or ‘@value’) - call for Texinfo command arguments, even when the text is the same. - Texinfo is not M4 (or even plain TeX). It might work with some - commands, it fails with others. Best not to do it at all. For - instance, this fails: - - @macro offmacro - off - @end macro - @headings @offmacro - - This looks equivalent to ‘@headings off’, but for TeXnical reasons, - it fails with a mysterious error message (namely, ‘Paragraph ended - before @headings was complete’). - - • Expanding macros in a math context may lead to poor spacing in TeX - output. For example: - - @iftex - @macro atan - \\mathop{\\rm atan} - @end macro - @end iftex - - @math{@atan{}(x)} - - The braces following ‘@atan’ are treated by TeX as a subformula, - leading to extra space before the opening parenthesis. You can - work around this by defining a raw TeX macro instead: - - @tex - \gdef\atan#1{\mathop{\rm atan}} - @end tex - - The ‘#1’ in this definition absorbs the braces, so that the spacing - is as expected for the ‘\mathop’ object. - - • If you have problems using conditionals within a macro, an - alternative is to use separate macro definitions inside conditional - blocks. For example, instead of - - @macro Mac - @iftex - text for TeX output - @end iftex - @ifnottex - text for not TeX output - @end ifnottex - @end macro - - you can do the following instead: - - @iftex - @macro Mac - text for TeX output - @end macro - @end iftex - - @ifnottex - @macro Mac - text for not TeX output - @end macro - @end ifnottex - - • Macros cannot define macros in the natural way. To do this, you - must use conditionals and raw TeX. For example: - - @ifnottex - @macro ctor {name, arg} - @macro \name\ - something involving \arg\ somehow - @end macro - @end macro - @end ifnottex - @tex - \gdef\ctor#1{\ctorx#1,} - \gdef\ctorx#1,#2,{\def#1{something involving #2 somehow}} - @end tex - - The following limitations are by design: - - • If you want to pass an argument with the Texinfo command ‘@,’ (to - produce a cedilla, see *note Inserting Accents::), you have to use - ‘@value’ or another workaround. Otherwise, the comma may be taken - as separating the arguments. With ‘texi2any’, the comma can be - escaped by a backslash. With TeX another workaround need to be - used, therefore we recommend using such a workaround. - - For example, - - @macro mactwo{argfirst, argsecond} - \argfirst\+\argsecond\. - @end macro - @set fc Fran@,cois - @mactwo{@value{fc},} - - produces: - - François+. - - • ‘@verbatim’ and macros do not mix; for instance, you can't start a - verbatim block inside a macro and end it outside (*note - @verbatim::). Starting any environment inside a macro and ending - it outside may or may not work, for that matter. - - • Macros that completely define macros are ok, but it's not possible - to have incompletely nested macro definitions. That is, ‘@macro’ - and ‘@end macro’ (likewise for ‘@rmacro’) must be correctly paired. - For example, you cannot start a macro definition within a macro, - and then end that nested definition outside the macro. - - In the ‘makeinfo’ implementation before Texinfo 5.0, ends of lines -from expansion of a ‘@macro’ definition did not end an @-command -line-delimited argument (‘@chapter’, ‘@center’, etc.). This is no -longer the case. For example: - - @macro twolines{} - aaa - bbb - @end macro - @center @twolines{} - - In the current ‘texi2any’, this is equivalent to: - - @center aaa - bbb - -with just ‘aaa’ as the argument to ‘@center’. In the earlier -implementation, it would have been parsed as this: - - @center aaa bbb - - -File: texinfo.info, Node: @alias, Next: Line Macros, Prev: Macro Details, Up: Defining New Texinfo Commands - -16.4 ‘@alias NEW=EXISTING’ -========================== - -The ‘@alias’ command defines a new command to be just like an existing -one. This is useful for defining additional markup names, thus -preserving additional semantic information in the input even though the -output result may be the same. - - Write the ‘@alias’ command on a line by itself, followed by the new -command name, an equals sign, and the existing command name. Whitespace -around the equals sign is optional and ignored if present. Thus: - - @alias NEW = EXISTING - - For example, if your document contains citations for both books and -some other media (movies, for example), you might like to define a macro -‘@moviecite{}’ that does the same thing as an ordinary ‘@cite{}’ but -conveys the extra semantic information as well. You'd do this as -follows: - - @alias moviecite = cite - - Macros do not always have the same effect as aliases, due to vagaries -of argument parsing. Also, aliases are much simpler to define than -macros. So the command is not redundant. - - Unfortunately, it's not possible to alias Texinfo environments; for -example, ‘@alias lang=example’ is an error. - - Aliases must not be recursive, directly or indirectly. - - It is not advisable to redefine any TeX primitive, plain TeX, or -Texinfo command name as an alias. Unfortunately this is a very large -set of names, and the possible resulting errors from TeX are -unpredictable. - - Alias identifiers should be the same as for macro names, that is -alphanumerics and (except as the first character) ‘-’. However, with -TeX, letters only should be used. So, we recommend using only letters. - - -File: texinfo.info, Node: Line Macros, Next: @definfoenclose, Prev: @alias, Up: Defining New Texinfo Commands - -16.5 Line Macros -================ - -You can also define a macro using the ‘@linemacro’ command. The syntax -for line macro definitions is similar to that for ‘@macro’. - - However, the syntax for using a macro defined this way is different. -The macro call uses the rest of the line, with arguments separated by -spaces. The line macro facility is mainly intended to allow you to -define commands that operate similarly to the builtin commands for -providing definitions (*note Definition Commands::). - - For example: - - @linemacro defbuiltin {name, args} - @defline {Builtin} \name\ \args\ - @end linemacro - - The above macro may be used as - - @defblock - @defbuiltin foo (bar) - Explanation - @end defblock - - This produces the following result: - - -- Builtin: foo (bar) - Explanation - - Here the first argument is ‘foo’, and is substituted where ‘\name\’ -appears in the macro body. Likewise, ‘(bar)’ is substituted for -‘\args\’. - - You can include spaces in a macro argument by surrounding the -argument by braces. Any pair of braces enclosing an argument is removed -before substitution. Any empty arguments (including the last one) must -be given as ‘{}’. Additionally, non-initial spaces may appear in the -final argument in the argument list without surrounding braces (as in -the example below). - - If an argument line for a line macro ends in a ‘@’ character, then -this character together with the following newline are included in a -macro argument, and the following line in the input file is also used to -get the arguments for the macro. Note that any substitution of the -‘@<NEWLINE>’ sequence must be in a valid context, such as a definition -line (*note Def Cmd Continuation Lines::). - - Another example: - - @linemacro deffunc {type, name, args} - @findex \name\ - @deftypeline {Func} {\type\} \name\ \args\ - @end linemacro - - @defblock - @deffunc {long int} F (int @var{one}, int @var{two}, @ - int @var{three}, int @var{four}, int @var{five}) - Explanation - @end defblock - -Note how braces are needed around ‘\type\’ in the macro body in case the -‘type’ argument contains a space. This example produces the output -below and enters an index entry for ‘F’. - - -- Func: long int F (int ONE, int TWO, int THREE, int FOUR, int FIVE) - Explanation - - Line macros produce a whole number of lines of output in their -expansion. There may be better compatibility between the Texinfo -processors (‘texi2any’ and TeX with ‘texinfo.tex’) for macros defined -with ‘@linemacro’ than for those defined with ‘@macro’. - - -File: texinfo.info, Node: @definfoenclose, Next: External Macro Processors, Prev: Line Macros, Up: Defining New Texinfo Commands - -16.6 ‘@definfoenclose’: Customized Highlighting -=============================================== - -An ‘@definfoenclose’ command may be used to define a highlighting -command for online output formats. A command defined using -‘@definfoenclose’ marks text by enclosing it in strings that precede and -follow the text. - - In practice, there is little use for this command, and we do not -recommend you use it. Support for ‘@definfoenclose’ may be removed in -future releases of Texinfo. - - Write a ‘@definfoenclose’ command at the beginning of a line followed -by three comma-separated arguments. The first argument to -‘@definfoenclose’ is the @-command name (without the ‘@’); the second -argument is the start delimiter string; and the third argument is the -end delimiter string. The latter two arguments enclose the highlighted -text in the output. - - A delimiter string may contain spaces. Neither the start nor end -delimiter is required. If you do not want a start delimiter but do want -an end delimiter, you must follow the command name with two commas in a -row; otherwise, the end delimiter string you intended will naturally be -(mis)interpreted as the start delimiter string. - - An enclosure command defined this way takes one argument in braces, -since it is intended for new markup commands (*note Marking Text::). - - For example, you can write: - - @definfoenclose phoo,//,\\ - -near the beginning of a Texinfo file to define ‘@phoo’ as an Info and -HTML command that inserts '//' before and '\\' after the argument to -‘@phoo’. You can then write ‘@phoo{bar}’ wherever you want '//bar\\' -highlighted in Info and HTML. - - For TeX formatting, you could write - - @iftex - @alias phoo = i - @end iftex - -to define ‘@phoo’ as a command that causes TeX to typeset the argument -to ‘@phoo’ in italics. - - Each definition applies to its own formatter: one for TeX, the other -for online formats. The TeX definitions need to be in ‘@iftex’. -‘@definfoenclose’ command need not be within ‘@ifinfo’ unless you want -to use different definitions for different online output formats. -‘@definfoenclose’ defined commands have no effect in DocBook and LaTeX -output, their argument is output as-is. An ‘@alias’ could also be used -for these formats. - - ‘@definfoenclose’ definitions must not be recursive, directly or -indirectly. - - -File: texinfo.info, Node: External Macro Processors, Prev: @definfoenclose, Up: Defining New Texinfo Commands - -16.7 External Macro Processors: Line Directives -=============================================== - -Texinfo macros (and its other text substitution facilities) work fine in -straightforward cases. If your document needs unusually complex -processing, however, their fragility and limitations can be a problem. -In this case, you may want to use a different macro processor -altogether, such as M4 (*note (m4)Top::) or CPP (*note (cpp)Top::). - - With one exception, Texinfo does not need to know whether its input -is "original" source or preprocessed from some other source file. -Therefore, you can arrange your build system to invoke whatever programs -you like to handle macro expansion or other preprocessing needs. -Texinfo does not offer built-in support for any particular preprocessor, -since no one program seemed likely to suffice for the requirements of -all documents. - - The one exception is line numbers in error messages. In that case, -the line number should refer to the original source file, whatever it -may be. There's a well-known mechanism for this: the so-called ‘#line’ -directive. Texinfo supports this. - -* Menu: - -* #line Directive:: -* #line and TeX:: -* #line Syntax Details:: - - -File: texinfo.info, Node: #line Directive, Next: #line and TeX, Up: External Macro Processors - -16.7.1 ‘#line’ Directive ------------------------- - -An input line such as this: - - #line 100 "foo.ptexi" - -indicates that the next line was line 100 of the file ‘foo.ptexi’, and -so that's what an error message should refer to. Both M4 (*note -(m4)Preprocessor features::) and CPP (*note (cpp)Line Control::, and -*note (cpp)Preprocessor Output::) can generate such lines. - - The ‘texi2any’ program recognizes these lines by default, except -within ‘@verbatim’ blocks (*note @verbatim::). Their recognition can be -turned off completely with ‘CPP_LINE_DIRECTIVES’ (*note Global -Customization Variables::), though there is normally no reason to do so. - - For those few programs (M4, CPP, Texinfo) which need to document -‘#line’ directives and therefore have examples which would otherwise -match the pattern, the command ‘@hashchar{}’ can be used (*note -Inserting a Hashsign::). The example line above looks like this in the -source for this manual: - - @hashchar{}line 100 "foo.ptexi" - - The ‘@hashchar’ command was added to Texinfo in 2013. If you don't -want to rely on it, you can also use ‘@set’ and ‘@value’ to insert the -literal ‘#’: - - @set hash # - @value{hash}line 1 "example.c" - - Or, if suitable, a ‘@verbatim’ environment can be used instead of -‘@example’. As mentioned above, ‘#line’-recognition is disabled inside -verbatim blocks. - - -File: texinfo.info, Node: #line and TeX, Next: #line Syntax Details, Prev: #line Directive, Up: External Macro Processors - -16.7.2 ‘#line’ and TeX ----------------------- - -As mentioned, ‘texi2any’ recognizes the ‘#line’ directives described in -the previous section. However, ‘texinfo.tex’ does not and cannot. -Therefore, such a line will be incorrectly typeset verbatim if TeX sees -it. The solution is to use ‘texi2any’'s macro expansion options before -running TeX. There are three approaches: - - • If you run ‘texi2dvi’ or its variants (*note Format with - texi2dvi::), you can pass ‘-E’ and ‘texi2dvi’ will run ‘texi2any’ - first to expand macros and eliminate ‘#line’. - - • If you run ‘texi2any’, you can specify ‘--no-ifinfo --iftex -E - somefile.out’, and then give ‘somefile.out’ to ‘texi2dvi’ in a - separate command. - - • Or you can run ‘texi2any --dvi --Xopt -E’. (Or ‘--pdf’ instead of - ‘--dvi’.) ‘texi2any’ will then call ‘texi2dvi -E’. - - One last caveat regarding use with TeX: since the ‘#line’ directives -are not recognized, the line numbers emitted by the ‘@errormsg{}’ -command (*note Conditional Commands::), or by TeX itself, are the -(incorrect) line numbers from the derived file which TeX is reading, -rather than the preprocessor-specified line numbers. - - -File: texinfo.info, Node: #line Syntax Details, Prev: #line and TeX, Up: External Macro Processors - -16.7.3 ‘#line’ Syntax Details ------------------------------ - -Syntax details for the ‘#line’ directive: the ‘#’ character can be -preceded or followed by whitespace, the word ‘line’ is optional, and the -file name can be followed by a whitespace-separated list of integers -(these are so-called "flags" output by CPP in some cases). For those -who like to know the gory details, the actual (Perl) regular expression -which is matched is this: - - /^\s*#\s*(line)? (\d+)(( "([^"]+)")(\s+\d+)*)?\s*$/ - - As far as we've been able to tell, the trailing integer flags only -occur in conjunction with a file name, so that is reflected in the -regular expression. - - As an example, the following is a syntactically valid ‘#line’ -directive, meaning line 1 of ‘/usr/include/stdio.h’: - - # 1 "/usr/include/stdio.h" 2 3 4 - - Unfortunately, the quoted file name (‘"..."’) has to be optional, -because M4 (especially) can often generate ‘#line’ directives within a -single file. Since the ‘line’ is also optional, the result is that -lines might match which you wouldn't expect, e.g., - - # 1 - - The possible solutions are described above (*note #line Directive::). - - -File: texinfo.info, Node: Include Files, Next: Hardcopy with TeX, Prev: Defining New Texinfo Commands, Up: Top - -17 Include Files -**************** - -When a Texinfo processor sees an ‘@include’ command in a Texinfo file, -it processes the contents of the file named by the ‘@include’ and -incorporates them into the output files being created. Include files -thus let you keep a single large document as a collection of -conveniently small parts. - -* Menu: - -* Using Include Files:: How to use the ‘@include’ command. -* Sample Include File:: A sample outer file with included files within - it; and a sample included file. -* @verbatiminclude:: Including a file verbatim. - - -File: texinfo.info, Node: Using Include Files, Next: Sample Include File, Up: Include Files - -17.1 How to Use Include Files -============================= - -To include another file within a Texinfo file, write the ‘@include’ -command at the beginning of a line and follow it on the same line by the -name of a file to be included. For example: - - @include buffers.texi - - ‘@value{VAR}’ references are expanded on the ‘@include’ line. Other -than that, the only @-commands allowed are ‘@@’, ‘@{’, ‘@}’ and -associated @-commands such as ‘@atchar{}’. - - An included file should simply be a segment of text that you expect -to be included as is into the overall or “outer” Texinfo file; it should -not contain the standard beginning and end parts of a Texinfo file. In -particular, you should not start an included file with a line saying -‘\input texinfo’; if you do, that text is inserted into the output file -literally. Likewise, you should not end an included file with a ‘@bye’ -command; nothing after ‘@bye’ is formatted. - - In the long-ago past, you were required to write an ‘@setfilename’ -line at the beginning of an included file, but no longer. Now, it does -not matter whether you write such a line. If an ‘@setfilename’ line -exists in an included file, it is ignored. - - GNU Emacs Texinfo mode provides ‘texinfo-multiple-files-update’ to -update node pointers and master menu with multiple include files. *Note -Update Multiple Files::. - - -File: texinfo.info, Node: Sample Include File, Next: @verbatiminclude, Prev: Using Include Files, Up: Include Files - -17.2 Sample File with ‘@include’ -================================ - -Here is an example of an outer Texinfo file with ‘@include’ files within -it: - - \input texinfo @c -*-texinfo-*- - - @settitle Include Example - - - @node Top - @top Include Example - - @include foo.texi - @include bar.texi - @include concept-index.texi - @bye - - An included file, such as ‘foo.texi’, might look like this: - - @node First - @chapter First Chapter - - Contents of first chapter ... - - The full contents of ‘concept-index.texi’ might be as simple as this: - - @node Concept Index - @unnumbered Concept Index - - @printindex cp - - The outer Texinfo source file for ‘The GNU Emacs Lisp Reference -Manual’ is named ‘elisp.texi’. This outer file has already contained a -master menu with 417 entries and a list of 41 ‘@include’ files. - - -File: texinfo.info, Node: @verbatiminclude, Prev: Sample Include File, Up: Include Files - -17.3 ‘@verbatiminclude’ FILE: Include a File Verbatim -===================================================== - -You can include the exact contents of a file in the document with the -‘@verbatiminclude’ command: - - @verbatiminclude FILENAME - - The contents of FILENAME is printed in a verbatim environment (*note -@verbatim::). Generally, the file is printed exactly as it is, with all -special characters and white space retained. No indentation is added; -if you want indentation, enclose the ‘@verbatiminclude’ within -‘@example’ (*note @example::). - - ‘@value{VAR}’ references are expanded on the ‘@verbatiminclude’ line. -This makes it possible to include files in other directories within a -distribution, for instance: - - @verbatiminclude @value{top_srcdir}/NEWS - -(You still have to get ‘top_srcdir’ defined in the first place.) - - Other than that, the only @-commands allowed are ‘@@’, ‘@{’, ‘@}’ and -associated @-commands such as ‘@atchar{}’. - - For a method on printing the file contents in a smaller font size, -see the end of the section on ‘@verbatim’. - - -File: texinfo.info, Node: Hardcopy with TeX, Next: Generic Translator texi2any, Prev: Include Files, Up: Top - -18 Formatting and Printing with TeX -*********************************** - -Running the ‘texi2dvi’ or ‘texi2pdf’ command is the simplest way to -create printable output. These commands are installed as part of the -Texinfo package. - - In more detail, typesetting and printing a Texinfo file is a -multi-step process in which you use the TeX program to create a file for -printing (called a DVI or PDF file), and then print the file. -Optionally, you may also create indices using the ‘texindex’ command -after first running TeX; and then you must run TeX again. ‘texi2dvi’ -takes care of all of this, running TeX and ‘texindex’ as needed (*note -Format with texi2dvi::). - - When you use the shell commands, you can either work directly in the -operating system shell or work within a shell inside GNU Emacs (or some -other computing environment). You can give formatting and printing -commands from a shell within GNU Emacs, just like any other shell -command. To create a shell within Emacs, type ‘M-x shell’ (*note -(emacs)Shell::). If you are using GNU Emacs, you can also use commands -provided by Texinfo mode instead of shell commands. *Note Printing with -Emacs::. - - For specifing details of the printed output such as paper size, see -*note Global Document Commands::. - -* Menu: - -* Use TeX:: Use TeX to format for hardcopy. -* Format with texi2dvi or texi2pdf:: The simplest way to format. -* Format with tex/texindex:: Formatting with explicit shell commands. -* Preparing for TeX:: What to do before you use TeX. -* Overfull hboxes:: What are and what to do with overfull hboxes. -* Printing Japanese and Chinese:: XeTeX or LuaTeX required. - - -File: texinfo.info, Node: Use TeX, Next: Format with texi2dvi or texi2pdf, Up: Hardcopy with TeX - -18.1 Use TeX -============ - -The typesetting program called TeX is used to format a Texinfo document -for printable output. TeX is a very powerful typesetting program and, -when used correctly, does an exceptionally good job. It is not included -in the Texinfo package, being a vast suite of software in itself. - - TeX is a document formatter that is used by the FSF for its -documentation. It is the easiest way to get printed output (e.g., PDF -and PostScript) for Texinfo manuals. TeX is freely redistributable, and -you can get it over the Internet or on physical media. See -<http://tug.org/texlive>. - - -File: texinfo.info, Node: Format with texi2dvi or texi2pdf, Next: Format with tex/texindex, Prev: Use TeX, Up: Hardcopy with TeX - -18.2 Format with ‘texi2dvi’ or ‘texi2pdf’ -========================================= - -The ‘texi2dvi’ program takes care of all the steps for producing a TeX -DVI file from a Texinfo document. Similarly, ‘texi2pdf’ produces a PDF -file(1). - - To run ‘texi2dvi’ or ‘texi2pdf’ on an input file ‘foo.texi’, do this -(where ‘prompt$ ’ is your shell prompt): - - prompt$ texi2dvi foo.texi - prompt$ texi2pdf foo.texi - - As shown in this example, the file names given to ‘texi2dvi’ and -‘texi2pdf’ must include any extension, such as ‘.texi’. - - For a list of all the options, run ‘texi2dvi --help’. Some of the -options are discussed below. - - With the ‘--pdf’ option, ‘texi2dvi’ produces PDF output instead of -DVI, by running ‘pdftex’ instead of ‘tex’. Alternatively, the command -‘texi2pdf’ is an abbreviation for running ‘texi2dvi --pdf’. The command -‘pdftexi2dvi’ is also provided as a convenience for AUC-TeX (*note -(auctex)Top::), as it prefers to merely prepend ‘pdf’ to DVI producing -tools to have PDF producing tools. - - With the ‘--dvipdf’ option, ‘texi2dvi’ produces PDF output by running -TeX and then a DVI-to-PDF program: if the ‘DVIPDF’ environment variable -is set, that value is used, else the first program extant among -‘dvipdfmx’, ‘dvipdfm’, ‘dvipdf’, ‘dvi2pdf’, ‘dvitopdf’. This method -generally supports CJK typesetting better than ‘pdftex’. - - With the ‘--ps’ option, ‘texi2dvi’ produces PostScript instead of -DVI, by running ‘tex’ and then ‘dvips’ (*note (dvips)Top::). (Or the -value of the ‘DVIPS’ environment variable, if set.) - - ‘texi2dvi’ can also be used to process LaTeX files. Normally -‘texi2dvi’ is able to guess the input file language by its contents and -file name extension; however, if it guesses wrong you can explicitly -specify the input language using ‘--language=LANG’ command line option, -where LANG is either ‘latex’ or ‘texinfo’. - - One useful option to ‘texi2dvi’ is ‘--command=CMD’. This inserts CMD -on a line by itself at the start of the file in a temporary copy of the -input file, before running TeX. With this, you can specify different -printing formats, such as ‘@smallbook’ (*note @smallbook::), -‘@afourpaper’ (*note A4 Paper::), or ‘@pagesizes’ (*note @pagesizes::), -without actually changing the document source. (You can also do this on -a site-wide basis with ‘texinfo.cnf’; *note Preparing for TeX::). - - The option ‘-E’ (equivalently, ‘-e’ and ‘--expand’) does Texinfo -macro expansion using ‘texi2any’ instead of the TeX implementation -(*note Macro Details::). Each implementation has its own limitations -and advantages. - - ‘texi2dvi’ takes the ‘--build=MODE’ option to specify where the TeX -compilation takes place, and, as a consequence, how auxiliary files are -treated. The build mode can also be set using the environment variable -‘TEXI2DVI_BUILD_MODE’. The valid values for MODE are: - -‘local’ - Compile in the current directory, leaving all the auxiliary files - around. This is the traditional TeX use. - -‘tidy’ - Compile in a local ‘*.t2d’ directory, where the auxiliary files are - left. Output files are copied back to the original file. - - Using the ‘tidy’ mode brings several advantages: - - the current directory is not cluttered with plethora of - temporary files. - - clutter can be even further reduced using ‘--build-dir=dir’: - all the ‘*.t2d’ directories are stored there. - - clutter can be reduced to zero using, e.g., - ‘--build-dir=/tmp/\$USER.t2d’ or ‘--build-dir=\$HOME/.t2d’. - - the output file is updated after every successful TeX run, for - sake of concurrent visualization of the output. In a ‘local’ - build the viewer stops during the whole TeX run. - - if the compilation fails, the previous state of the output - file is preserved. - - PDF and DVI compilation are kept in separate subdirectories - preventing any possibility of auxiliary file incompatibility. - - On the other hand, because ‘tidy’ compilation takes place in - another directory, occasionally TeX won't be able to find some - files (e.g., when using ‘\graphicspath’): in that case, use ‘-I’ to - specify the additional directories to consider. - -‘clean’ - Same as ‘tidy’, but remove the auxiliary directory afterwards. - Every compilation therefore requires the full cycle. - - ‘texi2dvi’ will use ‘etex’ if it is available, because it runs faster -in some cases, and provides additional tracing information when -debugging ‘texinfo.tex’. Nevertheless, this extended version of TeX is -not required, and the DVI output is identical. - - ‘texi2dvi’ attempts to detect auxiliary files output by TeX, either -by using the ‘-recorder’ option, or by scanning for ‘\openout’ in the -log file that a run of TeX produces. You may control how ‘texi2dvi’ -does this with the ‘TEXI2DVI_USE_RECORDER’ environment variable. Valid -values are: - -‘yes’ - use the ‘-recorder’ option, no checks. - -‘no’ - scan for ‘\openout’ in the log file, no checks. - -‘yesmaybe’ - check whether ‘-recorder’ option is supported, and if yes use it, - otherwise check for tracing ‘\openout’ in the log file is - supported, and if yes use it, else it is an error. - -‘nomaybe’ - same as ‘yesmaybe’, except that the ‘\openout’ trace in log file is - checked first. - - The default is ‘nomaybe’. This environment variable is provided for -troubleshooting purposes, and may change or disappear in the future. - - ---------- Footnotes ---------- - - (1) “PDF” stands for 'Portable Document Format'. It was invented by -Adobe Systems for document interchange, based on their PostScript -language. - - -File: texinfo.info, Node: Format with tex/texindex, Next: Preparing for TeX, Prev: Format with texi2dvi or texi2pdf, Up: Hardcopy with TeX - -18.3 Format with ‘tex’/‘texindex’ -================================= - -You can do the basic formatting of a Texinfo file with the shell command -‘tex’ followed by the name of the Texinfo file. For example: - - tex foo.texi - -TeX will produce a “DVI file” as well as several auxiliary files -containing information for indices, cross-references, etc. The DVI file -(for “DeVice Independent” file) can be printed on virtually any device, -perhaps after a further conversion (see the previous section). - - The ‘tex’ formatting command itself does not sort the indices; it -writes an output file of unsorted index data. To generate a printed -index after running the ‘tex’ command, you first need a sorted index to -work from. The ‘texindex’ command sorts indices. (‘texi2dvi’, -described in the previous section, runs ‘tex’ and ‘texindex’ as -necessary.) - - ‘tex’ outputs unsorted index files under names following a standard -convention: the name of your main input file with any ‘.texi’ or similar -extension replaced by the two letter index name. For example, the raw -index output files for the input file ‘foo.texi’ would be, by default, -‘foo.cp’, ‘foo.vr’, ‘foo.fn’, ‘foo.tp’, ‘foo.pg’ and ‘foo.ky’. Those -are exactly the arguments to give to ‘texindex’. - - Instead of specifying all the unsorted index file names explicitly, -it's typical to use ‘??’ as shell wildcards and give the command in this -form: - - texindex foo.?? - -This command will run ‘texindex’ on all the unsorted index files, -including any two letter indices that you have defined yourself using -‘@defindex’ or ‘@defcodeindex’. You can safely run ‘texindex foo.??’ -even if there are files with two letter extensions that are not index -files, such as ‘foo.el’. The ‘texindex’ command reports but otherwise -ignores such files. - - For each file specified, ‘texindex’ generates a sorted index file -whose name is made by appending ‘s’ to the input file name; for example, -‘foo.cps’ is made from ‘foo.cp’. The ‘@printindex’ command looks for a -file with that name (*note Printing Indices & Menus::). TeX does not -read the raw index output file, and ‘texindex’ does not alter it. - - After you have sorted the indices, you need to rerun ‘tex’ on the -Texinfo file. This regenerates the output file, this time with -up-to-date index entries. - - Finally, you may need to run ‘tex’ one more time, to get the page -numbers in the cross-references correct. - - To summarize, this is a five-step process. (Alternatively, it's a -one-step process: run ‘texi2dvi’; see the previous section.) - - 1. Run ‘tex’ on your Texinfo file. This generates a DVI file (with - undefined cross-references and no indices), and the raw index files - (with two letter extensions). - - 2. Run ‘texindex’ on the raw index files. This creates the - corresponding sorted index files (with three letter extensions). - - 3. Run ‘tex’ again on your Texinfo file. This regenerates the DVI - file, this time with indices and defined cross-references, but with - page numbers for the cross-references from the previous run, - generally incorrect. - - 4. Sort the indices again, with ‘texindex’. - - 5. Run ‘tex’ one last time. This time the correct page numbers are - written for the cross-references. - - To generate PDF, you can run the ‘pdftex’ program instead of plain -‘tex’. That is, run ‘pdftex foo.texi’ instead of ‘tex foo.texi’ in the -examples above. - -* Menu: - -* Formatting Partial Documents:: -* Details of texindex:: - - -File: texinfo.info, Node: Formatting Partial Documents, Next: Details of texindex, Up: Format with tex/texindex - -18.3.1 Formatting Partial Documents ------------------------------------ - -Sometimes you may wish to print a document while you know it is -incomplete, or to print just one chapter of a document. In such a case, -the usual auxiliary files that TeX creates and warnings TeX gives about -undefined cross-references are just nuisances. You can avoid them with -the ‘@novalidate’ command, which you must give _before_ any sectioning -or cross-reference commands. - - Thus, the beginning of your file would look approximately like this: - - \input texinfo - @novalidate - ... - -‘@novalidate’ also turns off validation in ‘texi2any’, just like its -‘--no-validate’ option (*note Invoking texi2any::). - - Furthermore, you need not run ‘texindex’ each time after you run -‘tex’. The ‘tex’ formatting command simply uses whatever sorted index -files happen to exist from a previous use of ‘texindex’. If those are -out of date, that is usually ok while you are creating or debugging a -document. - - -File: texinfo.info, Node: Details of texindex, Prev: Formatting Partial Documents, Up: Format with tex/texindex - -18.3.2 Details of ‘texindex’ ----------------------------- - -In Texinfo version 6, released in 2015, the ‘texindex’ program was -completely reimplemented. The principal functional difference is that -index entries beginning with a left brace or right brace (‘{’ resp. ‘}’) -can work properly. For example, these simple index entries are -processed correctly, including the "index initial" shown in the index: - - @cindex @{ - @cindex @} - ... - @printindex cp - - Although not a matter of functionality, readers may be interested to -know that the new ‘texindex’ is a literate program -(<https://en.wikipedia.org/wiki/Literate_programming>) using Texinfo for -documentation and (portable) ‘awk’ for code. A single source file, -‘texindex/ti.twjr’ in this case, produces the runnable program, a -printable document, and an online document. - - The system is called TexiWeb Jr. and was created by Arnold Robbins, -who also wrote the new ‘texindex’. Not coincidentally, he is also the -long-time maintainer of ‘gawk’ (GNU Awk, *note (gawk)Top::). The file -‘texindex/Makefile.am’ shows example usage of the system. - - -File: texinfo.info, Node: Preparing for TeX, Next: Overfull hboxes, Prev: Format with tex/texindex, Up: Hardcopy with TeX - -18.4 Preparing for TeX -====================== - -TeX needs to find the ‘texinfo.tex’ file that the ‘\input texinfo’ -command on the first line reads. The ‘texinfo.tex’ file tells TeX how -to handle @-commands; it is included in all standard GNU distributions. -The latest version released for general use is available from the usual -GNU servers and mirrors: - - <http://ftp.gnu.org/gnu/texinfo/texinfo.tex> - <http://ftpmirror.gnu.org/texinfo/texinfo.tex> - - The latest development version is available from the Texinfo source -repository: - - <http://git.savannah.gnu.org/cgit/texinfo.git/plain/doc/texinfo.tex> - - ‘texinfo.tex’ is essentially a standalone file, so, if you need or -want to try a newer version than came with your system, it nearly always -suffices to download it and put it anywhere that TeX will find it. You -can replace any existing ‘texinfo.tex’ with a newer version (of course -saving the original in case of disaster). - - Also, you should install ‘epsf.tex’, if it is not already installed -from another distribution. More details are at the end of the -description of the ‘@image’ command (*note Images::). - - To use quotation marks other than those used in English, you'll need -to have the European Computer Modern fonts (e.g., ‘ecrm1000’) and (for -PDF output) CM-Super fonts (*note Inserting Quotation Marks::). - - To use the ‘@euro’ command, you'll need the ‘feym*’ fonts (e.g., -‘feymr10’). *Note @euro::. - - All of the above files should be installed by default in a reasonable -TeX installation. - - Optionally, you may create a file ‘texinfo.cnf’ for site -configuration. When processing a Texinfo file, TeX looks for this file -in its search path, which includes the current directory and standard -installation directories. You can use this file for local conventions. -For example, if ‘texinfo.cnf’ contains the line ‘@afourpaper’ (*note A4 -Paper::), then all Texinfo documents will be processed with that page -size in effect. If you have nothing to put in ‘texinfo.cnf’, you do not -need to create it. - - You can set the ‘TEXINPUTS’ environment variable to allow TeX to find -‘texinfo.cnf’. (This also works for ‘texinfo.tex’ and any other file -TeX might read). For example, if you are using a Bourne -shell-compatible shell (‘sh’, ‘bash’, ‘ksh’, ...), your ‘.profile’ file -could contain the lines: - - TEXINPUTS=.:/home/me/mylib: - export TEXINPUTS - -These settings would cause TeX first to look for an ‘\input’ file in the -current directory, indicated by the ‘.’, then in a hypothetical user -‘me’'s ‘mylib’ directory, and finally in the system directories. (A -leading, trailing, or doubled ‘:’ indicates searching the system -directories at that point.) - - -File: texinfo.info, Node: Overfull hboxes, Next: Printing Japanese and Chinese, Prev: Preparing for TeX, Up: Hardcopy with TeX - -18.5 Overfull "hboxes" -====================== - -TeX is sometimes unable to typeset a line within the normal margins. -This most often occurs when TeX comes upon what it interprets as a long -word that it cannot hyphenate, such as an electronic mail network -address or a very long identifier. When this happens, TeX prints an -error message like this: - - Overfull @hbox (20.76302pt too wide) - -(In TeX, lines are in "horizontal boxes", hence the term, "hbox". -‘@hbox’ is a TeX primitive not used in the Texinfo language.) - - TeX also provides the line number in the Texinfo source file and the -text of the offending line, which is marked at all the places that TeX -considered hyphenation. *Note Debugging with TeX::, for more -information about typesetting errors. - - If the Texinfo file has an overfull hbox, you can rewrite the -sentence so the overfull hbox does not occur, or you can decide to leave -it. A small excursion into the right margin often does not matter and -may not even be noticeable. - - If you have many overfull boxes and/or an antipathy to rewriting, you -can coerce TeX into greatly increasing the allowable interword spacing, -thus (if you're lucky) avoiding many of the bad line breaks, like this: - - @tex - \global\emergencystretch = .9\hsize - @end tex - -(You should adjust the fraction as needed.) This huge value for -‘\emergencystretch’ cannot be the default, since then the typeset output -would generally be of noticeably lower quality; its default value is -‘.15\hsize’. ‘\hsize’ is the TeX dimension containing the current line -width. - - For any overfull boxes you do have, TeX will print a large, ugly, -black rectangle beside the line that contains the overfull hbox unless -told otherwise. This is so you will notice the location of the problem -if you are correcting a draft. - - To prevent such a monstrosity from marring your final printout, write -the following in the beginning of the Texinfo file on a line of its own, -before the ‘@titlepage’ command: - - @finalout - - -File: texinfo.info, Node: Printing Japanese and Chinese, Prev: Overfull hboxes, Up: Hardcopy with TeX - -18.6 Printing Japanese and Chinese -================================== - -Texinfo comes with support files for processing input in the Japanese -and Chinese languages. - - For Japanese, you use the ‘texinfo-ja.tex’ file. Your main input -file should begin with a ‘\input texinfo-ja’ line, rather than the -standard ‘\input texinfo’. Use the UTF-8 character encoding as usual. -You must process the files with either XeTeX or LuaTeX. - - For Chinese, you use the ‘texinfo-zh.tex’ file. Your main input file -should begin with a ‘\input texinfo-zh’ line, rather than the standard -‘\input texinfo’. Use the UTF-8 character encoding as usual. You must -process the files with XeTeX. - - For example, you would run ‘PDFTEX=xetex texi2pdf MY-INPUT-FILE.TEXI’ -to use XeTeX to produce PDF output. You may have to install XeTeX (or -LuaTeX), the ‘zhspacing’ package, and/or font packages. - - Neither Japanese nor Chinese is supported with the standard TeX (or -pdfTeX) program, as it cannot support the fonts and thousands of glyphs -needed for these languages. - - The Texinfo distribution comes with a couple of sample files that you -can use to test support for these languages: ‘short-sample-ja.texi’ for -Japanese, and ‘short-sample-zh.texi’ for Chinese. - - For more information on these extensions to TeX, see the XeTeX home -page (https://tug.org/xetex/) and the LuaTeX website -(https://www.luatex.org/). - - -File: texinfo.info, Node: Generic Translator texi2any, Next: Creating and Installing Info Files, Prev: Hardcopy with TeX, Up: Top - -19 ‘texi2any’: The Translator for Texinfo -***************************************** - -‘texi2any’ is the generic translator for Texinfo that can produce -different output formats and is highly customizable. It supports these -formats: - - Info (by default, or with ‘--info’), - HTML (with ‘--html’), - EPUB 3 (with ‘--epub3’), - plain text (with ‘--plaintext’), - LaTeX (with ‘--latex’), - DocBook (with ‘--docbook’), - Texinfo XML (with ‘--xml’). - - ‘makeinfo’ is an alias for ‘texi2any’. By default, both ‘texi2any’ -and ‘makeinfo’ generate Info output; indeed, there are no differences in -behavior based on the name. - - Beside these default formats, command line options to ‘texi2any’ can -change many aspects of the output. Beyond that, initialization files -provide even more control over the final output--nearly anything not -specified in the Texinfo input file. Initialization files are written -in Perl, like the main program, and anything which can be specified on -the command line can also be specified within a initialization file. - -* Menu: - -* Invoking texi2any:: Running the translator from a shell. -* texi2any Environment Variables:: Control over output format and XS use. -* texi2any Printed Output:: Calling ‘texi2dvi’. -* Customization Variables:: Configuring ‘texi2any’. -* Internationalization of Document Strings:: Translating program-inserted - text. -* Invoking pod2texi:: Translating Perl Pod to Texinfo. -* texi2html:: An ancestor of ‘texi2any’. - - -File: texinfo.info, Node: Invoking texi2any, Next: texi2any Environment Variables, Up: Generic Translator texi2any - -19.1 Invoking ‘texi2any’ from a Shell -===================================== - -To process a Texinfo file, invoke ‘texi2any’ followed by the name of the -Texinfo file. Also select the format you want to output with the -appropriate command line option (default is Info). Thus, to create the -Info file for Bison, type the following to the shell: - - texi2any --info bison.texi - - You can specify more than one input file name; each is processed in -turn. If an input file name is ‘-’, standard input is read. - - The ‘texi2any’ program accepts many options. Perhaps the most basic -are those that change the output format. By default, ‘texi2any’ outputs -Info. - - Each command line option is either a long name preceded by ‘--’ or a -single letter preceded by ‘-’. You can use abbreviations for the long -option names as long as they are unique. - - For example, you could use the following shell command to create an -Info file for ‘bison.texi’ in which lines are filled to only 68 columns: - - texi2any --fill-column=68 bison.texi - - You can write two or more options in sequence, like this: - - texi2any --no-split --fill-column=70 ... - -(This would keep the Info file together as one possibly very long file -and would also set the fill column to 70.) - - The options are (approximately in alphabetical order): - -‘--commands-in-node-names’ - This option now does nothing, but remains for compatibility. (It - used to ensure that @-commands in node names were expanded - throughout the document, especially ‘@value’. This is now done by - default.) - -‘--conf-dir=DIR’ - Prepend DIR to the directory search list for finding customization - files that may be loaded with ‘--init-file’ (see below). The DIR - value can be a single directory, or a list of several directories - separated by the usual path separator character (‘:’ on Unix-like - systems, ‘;’ on Windows). - -‘--css-include=FILE’ - When producing HTML, literally include the contents of FILE, which - should contain Cascading Style Sheets specifications, in the - ‘<style>’ block of the HTML output. If FILE is ‘-’, read standard - input. *Note HTML CSS::. - -‘--css-ref=URL’ - When producing HTML, add a ‘<link>’ tag to the output which - references a cascading style sheet at URL. This allows using - standalone style sheets. - -‘-D VAR’ -‘-D 'VAR VALUE'’ - Cause the Texinfo variable VAR to be defined. This is equivalent - to ‘@set VAR’ in the Texinfo file (*note @set @clear @value::). - - The argument to the option is always one word to the shell; if it - contains internal whitespace, the first word is taken as the - variable name and the remainder as the value. For example, ‘-D - 'myvar someval'’ is equivalent to ‘@set myvar someval’. - -‘--docbook’ - Generate DocBook output (rather than Info). - -‘--document-language=LANG’ - Use LANG to translate Texinfo keywords which end up in the output - document. The default is the locale specified by the - ‘@documentlanguage’ command if there is one, otherwise English - (*note @documentlanguage::). - -‘--dvi’ - Generate a TeX DVI file using ‘texi2dvi’, rather than Info (*note - texi2any Printed Output::). - -‘--dvipdf’ - Generate a PDF file using ‘texi2dvi --dvipdf’, rather than Info - (*note texi2any Printed Output::). - -‘--enable-encoding’ -‘--disable-encoding’ - By default, or with ‘--enable-encoding’, output accented and - special characters in Info and plain text output based on the - document encoding. With ‘--disable-encoding’, 7-bit ASCII - transliterations are output. Also obeyed in other output formats - for index keys sorting and for some plain text output. - -‘--epub3’ - Generate EPUB 3 output. - -‘--error-limit=LIMIT’ -‘-e LIMIT’ - Report LIMIT errors before aborting (on the assumption that - continuing would be useless); default 100. - -‘--fill-column=WIDTH’ -‘-f WIDTH’ - Specify the maximum number of columns in a line; this is the - right-hand edge of a line. Paragraphs that are filled will be - filled to this width. (Filling is the process of breaking up and - connecting lines so that lines are the same length as or shorter - than the number specified as the fill column. Lines are broken - between words.) The default value is 72. - -‘--footnote-style=STYLE’ -‘-s STYLE’ - Set the footnote style to STYLE: either ‘end’ for the end node - style (the default) or ‘separate’ for the separate node style. The - value set by this option overrides the value set in a Texinfo file - by a ‘@footnotestyle’ command (*note Footnote Styles::). - - In Info, when the footnote style is ‘separate’, ‘texi2any’ makes a - new node containing the footnotes found in the current node. When - the footnote style is ‘end’, ‘texi2any’ places the footnote - references at the end of the current node. - - In HTML, when the footnote style is ‘end’, or if the output is not - split, footnotes are put at the end of the output. If set to - ‘separate’, and the output is split, they are placed in a separate - file. - -‘--force’ -‘-F’ - Ordinarily, if the input file has errors, the output files are not - created. With this option, they are preserved. - -‘--help’ -‘-h’ - Print a message with available options and basic usage, then exit - successfully. - -‘--html’ - Generate HTML output (rather than Info). By default, the HTML - output is split into one output file per node, and the split output - is written into a subdirectory based on the name of the input file. - *Note Generating HTML::. - -‘-I DIR’ - Append DIR to the directory search list for finding files that are - included using the ‘@include’ command. By default, ‘texi2any’ - searches the current directory and the input file path leading - directory if there is one (and it is not the current directory). - The DIR value can be a single directory or a list of several - directories separated by the usual path separator character (‘:’ on - Unix-like systems, ‘;’ on Windows). - -‘--ifdocbook’ -‘--ifhtml’ -‘--ifinfo’ -‘--iflatex’ -‘--ifplaintext’ -‘--iftex’ -‘--ifxml’ - For the given format, process ‘@ifFORMAT’ and ‘@FORMAT’ commands, - and do not process ‘@ifnotFORMAT’, regardless of the format being - output. For instance, if ‘--iftex’ is given, then ‘@iftex’ and - ‘@tex’ blocks will be read, and ‘@ifnottex’ blocks will be ignored. - -‘--no-ifdocbook’ -‘--no-ifhtml’ -‘--no-ifinfo’ -‘--no-iflatex’ -‘--no-ifplaintext’ -‘--no-iftex’ -‘--no-ifxml’ - For the given format, do not process ‘@ifFORMAT’ and ‘@FORMAT’ - commands, and do process ‘@ifnotFORMAT’, regardless of the format - being output. For instance, if ‘--no-ifhtml’ is given, then - ‘@ifhtml’ and ‘@html’ blocks will not be read, and ‘@ifnothtml’ - blocks will be. - -‘--info’ - Generate Info output. By default, if the output file contains more - than about 300,000 bytes, it is split into shorter subfiles of - about that size. The name of the output file and any subfiles is - determined by the input file name, or by ‘@setfilename’, if present - (*note Setting the Output File Name::). *Note Tag and Split - Files::. - -‘--init-file=FILE’ - Load FILE as code to modify the behavior and output of the - generated manual. It is customary to use the ‘.pm’ or the ‘.init’ - extensions for these customization files, but that is not enforced; - the FILE name can be anything. The ‘--conf-dir’ option (see above) - can be used to add to the list of directories in which these - customization files are searched for. - -‘--internal-links=FILE’ - In HTML mode, output a tab-separated file containing three columns: - the internal link to an indexed item or item in the table of - contents, the name of the index (or table of contents) in which it - occurs, and the term which was indexed or entered. The items are - in the natural sorting order for the given element. This dump can - be useful for post-processors. - -‘--latex’ - Generate LaTeX output. - -‘--macro-expand=FILE’ -‘-E FILE’ - Output the Texinfo source, with all Texinfo macros expanded, to - FILE. Normally, the result of macro expansion is used internally - by ‘texi2any’ and then discarded. - -‘--no-headers’ - Do not include menus or node separator lines in the output. - - When generating Info, this is the same as using ‘--plaintext’, - resulting in a simple plain text file. Furthermore, output is to - standard output unless overridden with ‘-o’. (This behavior is for - backward compatibility.) - - When generating HTML, and output is split, also output navigation - links only at the beginning of each file. If output is not split, - do not include navigation links at the top of each node at all. - *Note Generating HTML::. - -‘--node-files’ -‘--no-node-files’ - With ‘--node-files’, when generating HTML, create redirection files - for anchors and any nodes not already output with the file name - corresponding to the node name (*note HTML Xref Node Name - Expansion::). This makes it possible for section- and - chapter-level cross-manual references to succeed (*note HTML Xref - Configuration::). - - If the output is split, this is enabled by default. If the output - is not split, ‘--node-files’ enables the creation of the - redirection files, in addition to the monolithic main output file. - ‘--no-node-files’ suppresses the creation of redirection files in - any case. This option has no effect with any output format other - than HTML. *Note Generating HTML::. - -‘--no-validate’ -‘--no-pointer-validate’ - Suppress the pointer-validation phase of ‘texi2any’--a dangerous - thing to do. This can also be done with the ‘@novalidate’ command - (*note Formatting Partial Documents::). - - If you do not suppress pointer validation, ‘texi2any’ will check - the validity of cross-references and menu entries in the Texinfo - file, as well as node pointers if they are given explicitly. - -‘--no-warn’ - Suppress warning messages (but not error messages). - -‘--number-footnotes’ -‘--no-number-footnotes’ - With ‘--no-number-footnotes’, suppress automatic footnote - numbering. By default, footnotes are numbered sequentially within - a node, i.e., the current footnote number is reset to 1 at the - start of each node. - -‘--number-sections’ -‘--no-number-sections’ - With ‘--number-sections’ (the default), output chapter, section, - and appendix numbers as in printed manuals. This works only with - hierarchically structured manuals. You should specify - ‘--no-number-sections’ if your manual is not normally structured. - -‘--output=FILE’ -‘-o FILE’ - Specify that the output should be directed to FILE. This overrides - any file name specified in a ‘@setfilename’ command found in the - Texinfo source. If neither ‘@setfilename’ nor this option are - specified, the input file name is used to determine the output - name. *Note Setting the Output File Name::. - - If FILE is ‘-’, output goes to standard output and ‘--no-split’ is - implied. - - If FILE is a directory or ends with a ‘/’ the usual rules are used - to determine the output file name (namely, use ‘@setfilename’ or - the input file name) but the files are written to the FILE - directory. For example, ‘texi2any -o bar/ foo.texi’, with or - without ‘--no-split’, will write ‘bar/foo.info’, and possibly other - files, under ‘bar/’. - - When generating HTML and output is split, FILE is used as the name - for the directory into which all files are written. For example, - ‘texi2any -o bar --html foo.texi’ will write ‘bar/index.html’, - among other files. - - When generating EPUB a container directory for the files and - directories needed for the EPUB format is created, as well as the - EPUB output file. If FILE corresponds to a directory, the - container directory is placed within FILE. The EPUB output file is - never put in this directory. If FILE corresponds to a file, it is - used for the EPUB output file name. - -‘--output-indent=VAL’ - This option now does nothing, but remains for compatibility. (It - used to alter indentation in XML/DocBook output.) - -‘-P PATH’ - Prepend PATH to the directory search list for ‘@include’. See ‘-I’ - above. - -‘--paragraph-indent=INDENT’ -‘-p INDENT’ - Set the paragraph indentation style to INDENT. The value set by - this option overrides the value set in a Texinfo file by an - ‘@paragraphindent’ command (*note @paragraphindent::). The value - of INDENT is interpreted as follows: - - ‘asis’ - Preserve any existing indentation (or lack thereof) at the - beginnings of paragraphs. - - ‘0’ or ‘none’ - Delete any existing indentation. - - NUM - Indent each paragraph by NUM spaces. - - The default is to indent by two spaces, except for paragraphs - following a section heading, which are not indented. - -‘--pdf’ - Generate a PDF file using ‘texi2dvi --pdf’, rather than Info (*note - texi2any Printed Output::). - -‘--plaintext’ - Output a plain text file (rather than Info): do not include menus - or node separator lines in the output. This results in a - straightforward plain text file that you can (for example) send in - email without complications, or include in a distribution (for - example, an ‘INSTALL’ file). - - With this option the output goes to standard output by default, - instead of to a file with a name based on the input file name or - ‘@setfilename’; this can be overridden with ‘-o’. - -‘--ps’ - Generate a PostScript file using ‘texi2dvi --ps’, rather than Info - (*note texi2any Printed Output::). - -‘--set-customization-variable VAR=VALUE’ -‘-c VAR=VALUE’ - Set the customization variable VAR to VALUE. The ‘=’ is optional, - but both VAR and VALUE must be quoted to the shell as necessary so - the result is a single word. Many aspects of ‘texi2any’ behavior - and output may be controlled by customization variables, beyond - what can be set in the document by @-commands and with other - command line switches. *Note Customization Variables::. - -‘--split=HOW’ -‘--no-split’ - When generating Info, by default large output files are split into - smaller subfiles, of approximately 300k bytes. When generating - HTML, by default each output file contains one node (*note - Generating HTML::). ‘--no-split’ suppresses this splitting of the - output. - - Alternatively, ‘--split=HOW’ may be used to specify at which level - the HTML output should be split. The possible values for HOW are: - - ‘chapter’ - The output is split at ‘@chapter’ and other sectioning - @-commands at this level (‘@appendix’, etc.). - - ‘section’ - The output is split at ‘@section’ and similar. - - ‘node’ - The output is split at every node. This is the default. - - Plain text output can be split similarly to HTML. This may be - useful for extracting sections from a Texinfo document and making - them available as separate files. - -‘--split-size=NUM’ - Keep Info files to at most NUM characters if possible; default is - 300,000. (However, a single node will never be split across Info - files.) - -‘--trace-includes’ - Print the name of each included file to standard output, including - any indirectly included files. An include file is printed only if - it was actually found. When this option is given, ‘texi2any’ does - not output in any output format. (The purpose of this option is to - make it easier to collect the sources of a Texinfo manual.) - -‘--transliterate-file-names’ - Enable transliteration of non-ASCII characters in node names for - the purpose of file name creation. *Note HTML Xref 8-bit Character - Expansion::. - -‘-U VAR’ - Cause VAR to be undefined. This is equivalent to ‘@clear VAR’ in - the Texinfo file (*note @set @clear @value::). - -‘--verbose’ - Cause ‘texi2any’ to display messages saying what it is doing. - Normally, ‘texi2any’ only outputs messages if there are errors or - warnings. - -‘--version’ -‘-V’ - Print the version number, then exit successfully. - -‘--Xopt STR’ - Pass STR (a single shell word) to ‘texi2dvi’; may be repeated - (*note texi2any Printed Output::). - -‘--xml’ - Generate Texinfo XML output (rather than Info). - - -File: texinfo.info, Node: texi2any Environment Variables, Next: texi2any Printed Output, Prev: Invoking texi2any, Up: Generic Translator texi2any - -19.2 Environment Variables Recognized by ‘texi2any’ -=================================================== - -‘texi2any’ also reads the environment variable ‘TEXINFO_OUTPUT_FORMAT’ -to determine the output format, if not overridden by a command line -option. The value should be one of: - - docbook dvi dvipdf epub3 html info latex pdf plaintext ps xml - - If not set or otherwise specified, Info output is the default. - - ‘TEXINFO_OUTPUT_FORMAT’ may take some other special values, which do -not correspond to any command-line settable output format (*note -Customization Variables and Options::). - - The customization variable of the same name is also read; if set, -that overrides an environment variable setting, but not a command-line -option. *Note Customization Variables and Options::. - - You can control ‘texi2any’'s use of Perl extension modules by setting -the ‘TEXINFO_XS’ environment variable. These modules are compiled -native code that the interpreted Perl code can use. Ideally, these -extension modules should just work, and the only noticeable difference -they should make is that ‘texi2any’ finishes running sooner. However, -you can use this environment variable for the purposes of -troubleshooting: for example, if you have problems with the output of -‘texi2any’ varying depending on whether the extension modules are in -use. - - The following values of ‘TEXINFO_XS’ are recognized by ‘texi2any’: - -‘default’ - The default behavior. Try to load extension modules, and silently - fall back to the interpreted Perl implementations if this fails. - -‘warn’ - Try to load extension modules, and if this fails, give a warning - message before falling back to the interpreted Perl - implementations. - -‘debug’ - Try to load extension modules, printing many messages while doing - so. - -‘omit’ - Do not use extension modules. - - Set ‘TEXINFO_XS_PARSER’ to ‘0’ to disable the use of the native code -implementation of the parser module. This is the part of ‘texi2any’ -that converts Texinfo input into an internal tree format used for -further processing into output formats. This may be useful for working -around bugs or incompatibilities between the native code implementation -and the implementation in pure Perl code. - - -File: texinfo.info, Node: texi2any Printed Output, Next: Customization Variables, Prev: texi2any Environment Variables, Up: Generic Translator texi2any - -19.3 ‘texi2any’ Printed Output -============================== - -To justify the name Texinfo-to-_any_, ‘texi2any’ has basic support for -creating printed output in the various formats: TeX DVI, PDF, and -PostScript. This is done via the simple method of executing the -‘texi2dvi’ program when those output formats are requested, after -checking the validity of the input to give users the benefit of -‘texi2any’'s error checking. If you don't want such error checking, -perhaps because your manual plays advanced TeX tricks together with -‘texinfo.tex’, just invoke ‘texi2dvi’ directly. - - The output format options for this are ‘--dvi’, ‘--dvipdf’, ‘--pdf’, -and ‘--ps’. *Note Format with texi2dvi::, for more details on these -options and general ‘texi2dvi’ operation. In addition, the ‘--verbose’, -‘--silent’, and ‘--quiet’ options are passed on if specified; the ‘-I’ -and ‘-o’ options are likewise passed on with their arguments, and -‘--debug’ without its argument. - - The only option remaining that is related to the ‘texi2dvi’ -invocation is ‘--Xopt’. Here, just the argument is passed on and -multiple ‘--Xopt’ options accumulate. This provides a way to construct -an arbitrary command line for ‘texi2dvi’. For example, running - - texi2any --Xopt -t --Xopt @afourpaper --pdf foo.texi - -is equivalent to running - - texi2dvi -t @afourpaper --pdf foo.texi - -except for the validity check. - - Although one might wish that other options to ‘texi2any’ would take -effect, they don't. For example, running ‘texi2any --no-number-sections ---dvi foo.texi’ still results in a DVI file with numbered sections. -(Perhaps this could be improved in the future, if requests are -received.) - - The actual name of the command that is invoked is specified by the -‘TEXI2DVI’ customization variable (*note Customization Variables for -Multiple Formats::). As you might guess, the default is ‘texi2dvi’. - - ‘texi2any’ itself does not generate any normal output when it invokes -‘texi2dvi’, only diagnostic messages. - - -File: texinfo.info, Node: Customization Variables, Next: Internationalization of Document Strings, Prev: texi2any Printed Output, Up: Generic Translator texi2any - -19.4 Customization Variables -============================ - - Warning: These customization variable names and meanings may change - in any Texinfo release. We always try to avoid incompatible - changes, but we cannot absolutely promise, since needs change over - time. - - Many aspects of the behavior and output of ‘texi2any’ may be modified -by modifying so-called “customization variables”. These fall into a few -general categories: - - • Those associated with @-commands; for example, ‘@documentlanguage’. - - • Those associated with command-line options; for example, the - customization variable ‘SPLIT’ is associated with the ‘--split’ - command-line option. ‘TEXINFO_OUTPUT_FORMAT’ is set based on - output format command line options and allows specifying the output - format. - - • Those affecting the global behavior of ‘texi2any’, in particular - Texinfo code parsing. - - • Those associated with particular output formats. (Variables only - relevant for HTML output are documented in *note HTML Output - Customization::.) - - • Those relevant for multiple output formats. - - You may set customization variables on the command line using -‘--set-customization-variable 'VAR VALUE'’ (quoting the variable/value -pair to the shell) or ‘--set-customization-variable VAR=VALUE’ (using -‘=’). A special VALUE is ‘undef’, which sets the variable to this -special "undefined" Perl value. - - The sections below give the details for each of these. - -* Menu: - -* Commands: Customization Variables for @-Commands. -* Options: Customization Variables and Options. -* Global: Global Customization Variables. -* Info: Info and Plaintext Customization Variables. -* LaTeX: LaTeX Customization Variables. -* Other: Other Formats Customization Variables. -* Formats: Customization Variables for Multiple Formats. - - -File: texinfo.info, Node: Customization Variables for @-Commands, Next: Customization Variables and Options, Up: Customization Variables - -19.4.1 Customization Variables for @-Commands ---------------------------------------------- - -Each of the following @-commands has an associated customization -variable with the same name (minus the leading ‘@’): - - @afivepaper @afourpaper @afourlatex - @afourwide @allowcodebreaks @bsixpaper - @contents @clickstyle @codequotebacktick - @codequoteundirected @deftypefnnewline @documentdescription - @documentencoding @documentlanguage @evenfooting - @evenfootingmarks @evenheading @evenheadingmarks - @everyfooting @everyfootingmarks @everyheading - @everyheadingmarks @exampleindent @firstparagraphindent - @fonttextsize @footnotestyle @frenchspacing - @headings @kbdinputstyle @microtype - @novalidate @oddfooting @oddfootingmarks - @oddheading @oddheadingmarks @pagesizes - @paragraphindent @setfilename @setchapternewpage - @shortcontents @smallbook @summarycontents - @urefbreakstyle @xrefautomaticsectiontitle - - Setting such a customization variable to a value ‘foo’ is similar to -executing ‘@CMD foo’. It is not exactly the same, though, since any -side effects of parsing the Texinfo source are not redone. Also, some -variables do not take Texinfo code when generating particular formats, -but an argument that is already formatted. This is the case, for -example, for HTML for ‘documentdescription’. - - Note that if ‘texi2any’ is invoked to process the file with TeX -(e.g., with the ‘--pdf’ option), then these customization variables may -not be passed on to TeX. - - -File: texinfo.info, Node: Customization Variables and Options, Next: Global Customization Variables, Prev: Customization Variables for @-Commands, Up: Customization Variables - -19.4.2 Customization Variables and Options ------------------------------------------- - -The following table gives the customization variables associated with -some command line options. *Note Invoking texi2any::, for the meaning -of the options. - -Option Variable --------------------------------------------------------------------------- -‘--enable-encoding’ ‘ENABLE_ENCODING’ -‘--document-language’ ‘documentlanguage’ -‘--error-limit’ ‘ERROR_LIMIT’ -‘--fill-column’ ‘FILLCOLUMN’ -‘--footnote-style’ ‘footnotestyle’ -‘--force’ ‘FORCE’ -‘--headers’ ‘HEADERS’, ‘FORMAT_MENU’ -‘--internal-links’ ‘INTERNAL_LINKS’ -‘--macro-expand’ ‘MACRO_EXPAND’ -‘--no-validate’ ‘novalidate’ -‘--no-warn’ ‘NO_WARN’ -‘--node-files’ ‘NODE_FILES’ -‘--number-footnotes’ ‘NUMBER_FOOTNOTES’ -‘--number-sections’ ‘NUMBER_SECTIONS’ -‘--output’ ‘OUTFILE’, ‘SUBDIR’ -‘--paragraph-indent’ ‘paragraphindent’ -‘--split’ ‘SPLIT’ -‘--split-size’ ‘SPLIT_SIZE’ -‘--trace-includes’ ‘TRACE_INCLUDES’ -‘--transliterate-file-names’ ‘TRANSLITERATE_FILE_NAMES’ -‘--verbose’ ‘VERBOSE’ - - Setting such a customization variable to a value ‘foo’ is essentially -the same as specifying the ‘--OPT=foo’ if the option takes an argument, -or ‘--OPT’ if not. - - In addition, the customization variable ‘TEXINFO_OUTPUT_FORMAT’ -allows specifying what ‘texi2any’ outputs, either one of the usual -output formats that can be specified with options, or various other -forms: - -‘docbook’ -‘dvi’ -‘dvipdf’ -‘epub3’ -‘html’ -‘info’ -‘pdf’ -‘plaintext’ -‘ps’ -‘xml’ - These correspond to the command-line options (and - ‘TEXINFO_OUTPUT_FORMAT’ environment variable values) of the same - name. The ‘TEXINFO_OUTPUT_FORMAT’ customization variable value is - set when command-line options (or ‘TEXINFO_OUTPUT_FORMAT’ - environment variable values) set the output format. *Note Invoking - texi2any::. - -‘debugtree’ - Instead of generating a regular output format, output a text - representation of the tree obtained by parsing the input texinfo - document. - -‘parse’ - Do only Texinfo source parsing; there is no output. - -‘plaintexinfo’ - Output the Texinfo source with all the macros, ‘@include’ and - ‘@value{}’ expanded. This is similar to setting ‘--macro-expand’, - but instead of being output in addition to the normal conversion, - output of Texinfo is the main output. - -‘rawtext’ - Output raw text, with minimal formatting. For example, footnotes - are ignored and there is no paragraph filling. This is used by the - parser for file names and copyright text in HTML comments, for - example. - -‘structure’ - Do only Texinfo source parsing and determination of the document - structure; there is no output. - -‘texinfosxml’ - Output the document in TexinfoSXML representation, a syntax for - writing XML data using Lisp S-expressions. - -‘textcontent’ - Output the text content only, stripped of commands; this is useful - for spell checking or word counting, for example. The trivial - ‘detexinfo’ script setting this is in the ‘util’ directory of the - Texinfo source as an example. It's one line: - - exec texi2any -c TEXINPUT_OUTPUT_FORMAT=textcontent "$@" - - -File: texinfo.info, Node: Global Customization Variables, Next: Info and Plaintext Customization Variables, Prev: Customization Variables and Options, Up: Customization Variables - -19.4.3 Global Customization Variables -------------------------------------- - -This table gives the customization variables which affect the global -behavior of ‘texi2any’. - -‘CHECK_MISSING_MENU_ENTRY’ - When a ‘@menu’ block occurs in a node, check if there is a menu - entry for all subordinate nodes in the document sectioning - structure. On by default. - -‘CHECK_NORMAL_MENU_STRUCTURE’ - Warn if the node pointers (either explicitly or automatically set) - are not consistent with the order of node menu entries. This is a - more thorough structure check than that provided by - ‘CHECK_MISSING_MENU_ENTRY’. Off by default. - -‘COLLATION_LANGUAGE’ - By default, ‘texi2any’ sorts document indices according to the - “Unicode Collation Algorithm” (defined in Unicode Technical - Standard #10 (http://www.unicode.org/reports/tr10/)), without - language-specific collation tailoring. If set, use the language - for linguistic tailoring of index sorting. - - Currently, ‘texi2any’ gives no warning if there is no support for - linguistic tailoring due to either missing software or missing - support for the specified language. - - In Perl, the ‘Unicode::Collate::Locale’ module is used for - linguistic tailoring; therefore if this module is not installed, - the variable will be silently ignored. - - If ‘USE_UNICODE_COLLATION’ is set to ‘0’, there is no Unicode - collation and so no linguistic tailoring either. - - See also the ‘DOCUMENTLANGUAGE_COLLATION’ variable, described - below. - -‘COMMAND_LINE_ENCODING’ - Encoding used to decode command-line arguments. Default is based - on the locale encoding. This may affect file names inserted into - output files or error messages printed by the program. - - Note that some file and directory names from the command line may - not be decoded immediately, and may not be decoded at all. - -‘CPP_LINE_DIRECTIVES’ - Recognize ‘#line’ directives in a "preprocessing" pass (*note - External Macro Processors::); on by default. - -‘DEBUG’ - If set, debugging output is generated; default is off (zero). - -‘DOC_ENCODING_FOR_INPUT_FILE_NAME’ - If set, use the input Texinfo document encoding information for the - encoding of input file names, such as file names specified as - ‘@include’ or ‘@verbatiminclude’ arguments. If unset, use the - locale encoding instead. Default is set, except on MS-Windows - where the locale encoding is used by default. - - Note that this is for file names only; the default encoding or - ‘@documentencoding’ is always used for the encoding of file content - (*note @documentencoding::). - - The ‘INPUT_FILE_NAME_ENCODING’ variable overrides this variable. - -‘DOC_ENCODING_FOR_OUTPUT_FILE_NAME’ - If set, use the input Texinfo document encoding information for the - encoding of output file names, such as files specified with - ‘--output’. If unset, use the locale encoding instead. Default is - unset, so files names are encoded using the current locale. - - Note that this is for file names only; ‘OUTPUT_ENCODING_NAME’ is - used for the encoding of file content. - - The ‘OUTPUT_FILE_NAME_ENCODING’ variable overrides this variable. - -‘DOCUMENTLANGUAGE_COLLATION’ - If set, try to use the language specified in a ‘@documentlanguage’ - directive for language-specific tailoring of index sorting. See - also the ‘COLLATION_LANGUAGE’ variable, described above. (*Note - @documentlanguage::.) - -‘DUMP_TEXI’ - For debugging. If set, no conversion is done, only parsing and - macro expansion. If the option ‘--macro-expand’ is set, the - Texinfo source is also expanded to the corresponding file. Default - false. - -‘DUMP_TREE’ - For debugging. If set, the tree constructed upon parsing a Texinfo - document is output to standard error; default false. - -‘FORMAT_MENU’ - If set to ‘menu’, output Texinfo menus. This is the default for - Info. ‘sectiontoc’ is the default setting for HTML, where instead - of the contents of ‘@menu’ blocks being output, a list of - subordinate sections is output in each node. If set to ‘nomenu’, - do not output menus. - - This variable is set to ‘nomenu’ when generating DocBook, or when - ‘--no-headers’ is specified. - -‘IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME’ - If set, spaces are ignored after an @-command that takes braces. - Default true, matching the TeX behavior. - -‘INPUT_FILE_NAME_ENCODING’ - Encoding used for input file names. This variable overrides any - encoding from the document or current locale. Normally, you do not - need to set this variable, but it can be used if file names are in - a certain character encoding on a filesystem. An alternative is to - set ‘DOC_ENCODING_FOR_INPUT_FILE_NAME’ to ‘0’ to use the locale - encoding. See also ‘OUTPUT_FILE_NAME_ENCODING’. - -‘LOCALE_ENCODING’ - Locale encoding obtained from the system. You should not need to - explicitly set this variable. - -‘MAX_MACRO_CALL_NESTING’ - The maximal number of recursive calls of @-commands defined through - ‘@rmacro’; default 100000. The purpose of this variable is to - avoid infinite recursions. - -‘MESSAGE_ENCODING’ - Encoding used to encode messages output by ‘texi2any’. Default is - based on the locale encoding. - - It is also used for command-line argument passed to commands called - from ‘texi2any’. For example, ‘latex2html’ will be called from - ‘texi2any’ if ‘HTML_MATH’ is set to ‘l2h’. - -‘NO_INDEX’ - If set, index entries are not recorded and @-commands related to - indices, such as ‘@printindex’, ‘@synindex’ or ‘@defindex’ have no - effect. Default false. - -‘NO_USER_COMMANDS’ - If set, definitions of user-defined @-command are ignored. - ‘@alias’, ‘@definfoenclose’, ‘@defindex’, ‘@macro’ and similar - @-commands have no effect. Default false. - -‘OUTPUT_ENCODING_NAME’ - Normalized encoding name used for output files. Should be a usable - charset name in HTML, typically one of the preferred IANA encoding - names. By default, if an input encoding is set (typically through - ‘@documentencoding’), this information is used to set the output - encoding name, otherwise the output encoding is based on the - default encoding. *Note @documentencoding::. - -‘OUTPUT_FILE_NAME_ENCODING’ - Encoding used for output file names. This variable overrides any - encoding from the document or current locale. - - Normally, you do not need to set this variable, but it can be used - if file names should be created in a certain character encoding on - a filesystem. See also ‘INPUT_FILE_NAME_ENCODING’. - -‘PACKAGE’ -‘PACKAGE_VERSION’ -‘PACKAGE_AND_VERSION’ -‘PACKAGE_URL’ -‘PACKAGE_NAME’ - The implementation's short package name, package version, package - name and version concatenated, package URL, and full package name, - respectively. By default, these variables are all set through - Autoconf, Automake, and ‘configure’. - -‘PREFIX’ - The output file prefix, which is prepended to some output file - names. By default it is set by ‘@setfilename’ or from the input - file (*note Setting the Output File Name::). How this value is - used depends on the value of other customization variables or - command line options, such as whether the output is split. The - default is unset. - -‘PROGRAM’ - Name of the program used. By default, it is set to the name of the - program launched, with a trailing ‘.pl’ removed. - -‘SORT_ELEMENT_COUNT’ - If set, the name of a file to which a list of elements (nodes or - sections, depending on the output format) is dumped, sorted by the - number of lines they contain after removal of @-commands; default - unset. This is used by the program ‘texi-elements-by-size’ in the - ‘util/’ directory of the Texinfo source distribution (*note - texi-elements-by-size::). - -‘SORT_ELEMENT_COUNT_WORDS’ - When dumping the elements-by-size file (see preceding item), use - word counts instead of line counts; default false. - -‘TEST’ - If set to true, some variables which are normally dynamically - generated anew for each run (date, program name, version) are set - to fixed and given values. This is useful to compare the output to - a reference file, as is done for the tests. The default is false. - -‘TEXINFO_OUTPUT_FORMAT’ - The generated output format. Set from command line with options - such as ‘--html’, as the ‘TEXINFO_OUTPUT_FORMAT’ environment - variable value (*note texi2any Environment Variables::) or as a - customization option. *Note Customization Variables and Options:: - - The value set in the ‘TEXINFO_OUTPUT_FORMAT’ variable is in general - the same as the name used to set the format, but not always. If - the format is set to ‘xml’, with ‘--xml’, with the - ‘TEXINFO_OUTPUT_FORMAT’ environment variable or with a - customization variable the ‘TEXINFO_OUTPUT_FORMAT’ customization - variable is set to a more specific output format name ‘texinfoxml’. - That kind of difference in naming should not have any user-visible - consequence. - -‘TREE_TRANSFORMATIONS’ - The associated value is a comma separated list of transformations - that can be applied to the Texinfo tree prior to outputting the - result. If more than one is specified, the ordering is irrelevant; - each is always applied at the necessary point during processing. - - By default, the tree transformations - ‘move_index_entries_after_items’ and - ‘relate_index_entries_to_table_entries’ are executed for HTML and - DocBook output. Here's an example of updating the master menu in a - document: - - texi2any \ - -c TREE_TRANSFORMATIONS=regenerate_master_menu \ - -c TEXINFO_OUTPUT_FORMAT=plaintexinfo \ - mydoc.texi \ - -o /tmp/out - - (Caveat: Since ‘plaintexinfo’ output expands Texinfo macros and - conditionals, it's necessary to remove any such differences before - installing the updates in the original document. This may be - remedied in a future release.) - - The following transformations are currently supported (many are - used in the ‘pod2texi’ utility distributed with Texinfo; *note - Invoking pod2texi::): - - ‘complete_tree_nodes_menus’ - Add menu entries or whole menus for nodes associated with - sections of any level, based on the sectioning tree. - - ‘complete_tree_nodes_missing_menu’ - Add whole menus for nodes associated with sections without - menu. The menus are based on the sectioning tree. - - ‘fill_gaps_in_sectioning’ - Adds empty ‘@unnumbered...’ sections in a tree to fill gaps in - sectioning. For example, an ‘@unnumberedsec’ will be inserted - if a ‘@chapter’ is followed by a ‘@subsection’. - - ‘insert_nodes_for_sectioning_commands’ - Insert nodes for sectioning commands lacking a corresponding - node. - - ‘move_index_entries_after_items’ - In ‘@enumerate’ and ‘@itemize’, move index entries appearing - just before an ‘@item’ to just after the ‘@item’. Comment - lines between index entries are moved too. As mentioned, this - is always done for HTML and DocBook output. - - ‘regenerate_master_menu’ - Update the Top node master menu, either replacing the (first) - ‘@detailmenu’ in the Top node menu, or creating it at the end - of the Top node menu. - - ‘relate_index_entries_to_table_entries’ - In ‘@table’, ‘@vtable’ and ‘@ftable’, reassociate the index - entry information from an index @-command appearing right - after an ‘@item’ line with the first element of the ‘@item’. - Remove the index @-command from the tree. - -‘USE_SETFILENAME_EXTENSION’ - Default is on for Info, off for other output. If set, use exactly - what ‘@setfilename’ gives for the output file name, including the - extension. You should not need to explicitly set this variable. - -‘USE_UNICODE_COLLATION’ - By default, ‘texi2any’ sorts document indices according to the - “Unicode Collation Algorithm” (defined in Unicode Technical - Standard #10 (http://www.unicode.org/reports/tr10/)), which - performs a “multi-level” ordering of strings containing Unicode - code points. (To do this, the program uses the ‘Unicode::Collate’ - module, a standard part of Perl installations.) However, the use - of this algorithm incurs noticeably longer run times when - processing manuals with large indices. - - Set this variable to ‘0’ to use a simpler, faster sorting - algorithm. - - You may find this useful for speeding up ‘texi2any’ if you don't - have many non-ASCII characters in index entry text, or if you don't - care about having the indices sorted correctly, especially when - working on the draft of a manual. - -‘USE_UNIDECODE’ - If set to false, do not use the ‘Text::Unidecode’ Perl module to - transliterate more characters; default true. - - -File: texinfo.info, Node: Info and Plaintext Customization Variables, Next: LaTeX Customization Variables, Prev: Global Customization Variables, Up: Customization Variables - -19.4.4 Info and Plaintext Customization Variables -------------------------------------------------- - -This table gives the customization variables which apply to Info and -Plaintext formats only. - -‘ASCII_DASHES_AND_QUOTES’ - For Info output, when set, use plain ASCII characters to represent - quotation marks, hyphens and dashes when these are given in the - Texinfo source as ‘-’, ‘--’, ‘---’, ‘`’, ‘``’, ‘'’, and ‘''’, - rather than UTF-8 directional quotation marks, en dashes, vel sim. - On by default. - -‘ASCII_GLYPH’ - For Info output, use ASCII output for glyph commands such as the - copyright sign (‘@copyright{}’, becoming ‘(C)’), and the bullet - symbol (‘@bullet{}’, becoming ‘*’), rather than other Unicode - sequences. Off by default. - -‘ASCII_PUNCTUATION’ - Avoid any unncessary or gratuitious non-ASCII, UTF-8 sequences in - the output. Implies both ‘ASCII_DASHES_AND_QUOTES’ and - ‘ASCII_GLYPH’ and additionally affects the output of commands such - as ‘@samp’ which output quotation marks. - -‘AUTO_MENU_DESCRIPTION_ALIGN_COLUMN’ - For Info output, column at which to start a menu entry description - provided by ‘@nodedescription’ or ‘@nodedescriptionblock’. - Undefined by default, in which case 45% of the fill column value is - used (*note Invoking texi2any::). - -‘AUTO_MENU_MAX_WIDTH’ - Maximum number of columns in a menu entry line in Info when adding - a description from ‘@nodedescription’ or ‘@nodedescriptionblock’. - Undefined by default, in which case 10% more than the fill column - value is used (*note Invoking texi2any::). - -‘CLOSE_DOUBLE_QUOTE_SYMBOL’ - When a closing double quote is needed, for ‘@dfn’ in Info, use this - character. The default for Info is set the same as for - ‘OPEN_DOUBLE_QUOTE_SYMBOL’, except that the Unicode code is a - closing double quote (see below). - -‘INDEX_SPECIAL_CHARS_WARNING’ - If set, warn about ‘:’ in index entry, as not all Info readers may - be able to process these. For Info and plaintext only. Default - false, because parsing problems there don't prevent navigation; - readers can still relatively easily find their way to the node in - question. - -‘INFO_SPECIAL_CHARS_QUOTE’ - If set, whenever there are problematic characters for Info output - in places such as node names or menu items, surround the part of - the construct where they appear with quoting characters, as - described in *note Info Format Specification::. Default is set for - Info and unset for plaintext. *Note Node Line Requirements::. - -‘INFO_SPECIAL_CHARS_WARNING’ - If set, warn about problematic constructs for Info output (such as - the string ‘::’) in node names, menu items, and cross-references. - If not defined, set unless ‘INFO_SPECIAL_CHARS_QUOTE’ is set. - Default is set for Info and not defined for plaintext. Similar - warnings in index entries are covered by - ‘INDEX_SPECIAL_CHARS_WARNING’. - -‘OPEN_DOUBLE_QUOTE_SYMBOL’ - When an opening double quote is needed, for ‘@dfn’ output in Info, - use the specified character. If ‘--disable-encoding’ is set or the - document encoding is not UTF-8, ‘"’ is used. Otherwise, the Info - output uses a Unicode left double quote. - - -File: texinfo.info, Node: LaTeX Customization Variables, Next: Other Formats Customization Variables, Prev: Info and Plaintext Customization Variables, Up: Customization Variables - -19.4.5 LaTeX Customization Variables ------------------------------------- - - warning: LaTeX output customization is experimental. Nothing is - decided, everything can change, and we would welcome any feedback. - - This table gives the customization variables which apply to LaTeX -output only. - -‘CLASS_BEGIN_USEPACKAGE’ - If set, the corresponding text will replace the LaTeX - ‘\documentclass’, package imports that are always output and are - output right after ‘\documentclass’, and package imports that - depend on the document encoding setting the input and font encoding - (‘inputenc’ and ‘fontenc’). - - The text replaced is along: - \documentclass{book} - \usepackage{amsfonts} - \usepackage{amsmath} - \usepackage[gen]{eurosym} - \usepackage{textcomp} - \usepackage{graphicx} - \usepackage{etoolbox} - \usepackage{titleps} - \usepackage[utf8]{inputenc} - \usepackage[T1]{fontenc} - -‘END_USEPACKAGE’ - If set, the corresponding text will replace the package imports - that depend on the Texinfo commands used, and the last packages - imports that are always output and output after all the other - packages imports. The last package imports corresponds to - ‘\usepackage[hidelinks]{hyperref}’. - - Here is an example of the corresponding text for a document with - indices, ‘@need’, ‘@multitable’, definition commands, ‘@cartouche’, - lists, and ‘@float’: - \usepackage{imakeidx} - \usepackage{needspace} - \usepackage{array} - \usepackage{embrac} - \usepackage{expl3} - \usepackage{tabularx} - \usepackage[framemethod=tikz]{mdframed} - \usepackage{enumitem} - \usepackage{float} - \usepackage[hidelinks]{hyperref} - -‘LATEX_FLOATS_FILE_EXTENSION’ - Set new floats definition file extension for LaTeX output. Default - ‘tfl’. - - -File: texinfo.info, Node: Other Formats Customization Variables, Next: Customization Variables for Multiple Formats, Prev: LaTeX Customization Variables, Up: Customization Variables - -19.4.6 Other Formats Customization Variables --------------------------------------------- - -This table gives the customization which apply to specific formats only, -for formats without separate customization variables description -section. - -‘TXI_MARKUP_NO_SECTION_EXTENT’ - For XML. Do not include lower level sectioning commands inside - upper-level sectioning command markup. Default false. - -‘TEXI2DVI’ - Name of the command used to produce PostScript, PDF, and DVI; - default ‘texi2dvi’. *Note texi2any Printed Output::. - -‘TEXTCONTENT_COMMENT’ - For stripped text content output (i.e., when - ‘TEXINFO_OUTPUT_FORMAT’ is set to ‘textcontent’). If set, also - output comments. Default false. - -‘TEXINFO_DTD_VERSION’ - For XML. Version of the DTD used in the XML output preamble. The - default is set based on a variable in ‘configure.ac’. - - -File: texinfo.info, Node: Customization Variables for Multiple Formats, Prev: Other Formats Customization Variables, Up: Customization Variables - -19.4.7 Customization Variables for Multiple Formats ---------------------------------------------------- - -This table gives the customization which apply to multiple formats. - -‘CLOSE_QUOTE_SYMBOL’ - When a closing quote is needed, e.g. for ‘@samp’ output, use this - character; default ‘’’ in DocBook. Undefined in the default - case in HTML and set to ‘’’ if ‘USE_NUMERIC_ENTITY’ is not - set, to ‘’’ if set, and to a quote character if - ‘OUTPUT_CHARACTERS’ is set and the output encoding includes that - character. - - The default for Info is set the same as for ‘OPEN_QUOTE_SYMBOL’, - except that the Unicode code is a closing quote (see below). - -‘DOCTYPE’ - For DocBook, HTML, XML. Specifies the ‘SystemLiteral’, the - entity's system identifier. This is a URI which may be used to - retrieve the entity, and identifies the canonical DTD for the - document. The default value is different for each of HTML, DocBook - and XML. - -‘EXTENSION’ - The extension added to the output file name. The default is - different for each output format. - -‘NO_TOP_NODE_OUTPUT’ - If set do not output the Top node content. The Top node is still - parsed, but the content is discarded. Not set in the default case - for HTML. Set in the default case for EPUB. If ‘SHOW_TITLE’ is - ‘undef’, setting ‘NO_TOP_NODE_OUTPUT’ also sets ‘SHOW_TITLE’ for - HTML. - - Setting ‘NO_TOP_NODE_OUTPUT’, which removes the Top node and adds a - title page corresponds more to the formatting of a book. Setting - ‘NO_TOP_NODE_OUTPUT’ to false, with ‘SHOW_TITLE’ remaining ‘undef’, - and false, corresponds more to a document setup for browsing, with - a direct access to the information at the Top node. - - For DocBook, ‘NO_TOP_NODE_OUTPUT’ is set to true. Setting - ‘NO_TOP_NODE_OUTPUT’ to false causes the Top node content to be - output. It is not recommended to output the Top node in DocBook as - the title and copying informations are always output. This option - is kept for DocBook for compatibility, as before 2022 the Top node - was output in DocBook. It could be removed in the future. - -‘OPEN_QUOTE_SYMBOL’ - When an opening quote is needed, e.g., for ‘@samp’ output, use the - specified character; default ‘‘’ for DocBook. Undefined in - the default case in HTML and set to ‘‘’ if - ‘USE_NUMERIC_ENTITY’ is not set, to ‘‘’ if set, and to a - quote character if ‘OUTPUT_CHARACTERS’ is set and the output - encoding includes that character. - - For Info, the default depends on the enabled document encoding. If - ‘--disable-encoding’ is set or the document encoding is not UTF-8, - ‘'’ is used. This character usually appears as an undirected - single quote on modern systems. Otherwise, the Info output uses a - Unicode left quote. - -‘OUTPUT_CHARACTERS’ - If not set, the default, output accented and special characters in - HTML, XML and DocBook using XML entities, and in LaTeX using - macros. If set, output accented characters in HTML, XML, DocBook - and LaTeX output and special characters in HTML and LaTeX output - based on the document encoding. *Note @documentencoding::, and - *note Inserting Accents::. - -‘TOP_NODE_UP’ - Up node for the Top node; default ‘(dir)’. This node name is - supposed to be already formatted for the output format. In HTML - can be used in attribute, so should not contain any element. Used - for HTML output only if ‘TOP_NODE_UP_URL’ is set to override the - URL, see ‘TOP_NODE_UP_URL’ in *note HTML Customization Variables - List::. *Note File Names and Links Customization for HTML::. - -‘USE_NODES’ - The main unit of output documents is an “output unit”. Usually a - node is associated with a following sectioning command, while a - sectioning command is associated with a previous node; they both - together make up the output unit. - - For Plaintext and HTML. Preferentially use nodes to decide where - output units are separated if ‘USE_NODES’ is set. If set to false, - preferentially use sectioning to decide where output units are - separated. The default is true. - -‘USE_NUMERIC_ENTITY’ - For HTML, XML and DocBook. If set, use numeric entities instead of - named entities. By default, set to true for DocBook output. - - -File: texinfo.info, Node: Internationalization of Document Strings, Next: Invoking pod2texi, Prev: Customization Variables, Up: Generic Translator texi2any - -19.5 Internationalization of Document Strings -============================================= - -‘texi2any’ writes fixed strings into the output document at various -places: cross-references, page footers, the help page, alternate text -for images, and so on. The string chosen depends on the value of the -‘documentlanguage’ at the time of the string being output (*note -@documentlanguage::, for the Texinfo command interface). - - The Gettext framework with the ‘texinfo_document’ domain is used for -those strings (*note (gettext)Top::). Translated strings are written as -Texinfo, and may include @-commands. In translated strings, the varying -parts of the string are denoted by ‘{arg_name}’, but not by ‘%s’ and the -like. (This convention is common for ‘gettext’ in Perl and is fully -supported in GNU Gettext; *note Perl Format Strings: -(gettext)perl-format.) For example, in the following, ‘{section}’ will -be replaced by the section name: - - see {section} - - The expansion of a translation string is done like this: - - 1. First, the string is translated. The locale is - DOCUMENTLANGUAGE‘.’DOCUMENTENCODING. - - If the DOCUMENTLANGUAGE has the form ‘ll_CC’, that is tried first, - and then just ‘ll’. - - 2. Next, in most cases, the string is expanded as Texinfo, and - converted. The arguments are substituted; for example, - ‘{arg_name}’ is replaced by the corresponding actual argument. - - It is also possible for the string and the argument to be already - converted. In that case, the arguments are simply substituted. - Similarly, ‘{arg_name}’ is replaced by the corresponding actual - argument. - - In the following example, ‘{date}’, ‘{program_homepage}’ and -‘{program}’ are the arguments of the string. Since they are used in -‘@uref’, their order is not predictable. ‘{date}’, ‘{program_homepage}’ -and ‘{program}’ are substituted after the expansion: - - Generated on @emph{{date}} using - @uref{{program_homepage}, @emph{{program}}}. - - This approach is admittedly a bit complicated. Its usefulness is -that it supports specifying the formatting of the translated string -independently of the output format. - - For example, the ‘@pxref’ translation string can be like this: - - see {node_file_href} section `{section}' in @cite{{book}} - -which allows for specifying a string independently of the output format, -while nevertheless with rich formatting it may be translated -appropriately in many languages. - - If Perl is used for strings translation in ‘texi2any’, the -‘libintl-perl’ package is used as the ‘gettext’ implementation; more -specifically, the pure Perl implementation is used, so Texinfo can -support consistent behavior across all platforms and installations, -which would not otherwise be possible. ‘libintl-perl’ is included in -the Texinfo distribution and always installed, to ensure that it is -available if needed. It is also possible to use the system -‘libintl-perl’ (the choice can be made at build-time). - - -File: texinfo.info, Node: Invoking pod2texi, Next: texi2html, Prev: Internationalization of Document Strings, Up: Generic Translator texi2any - -19.6 Invoking ‘pod2texi’: Convert Pod to Texinfo -================================================ - -The ‘pod2texi’ program translates Perl Pod documentation file(s) to -Texinfo. There are two basic modes of operation: generating a -standalone manual from each input Pod, or (if ‘--base-level=1’ or higher -is given) generating Texinfo subfiles suitable for use with ‘@include’. - - The ‘pod2texi’ program may be useful outside of the rest of Texinfo; -thus, the invocation of ‘pod2texi’ is documented in the Pod language -using the man page format to follow the convention used in Perl -standalone programs, with a version on the web -<https://www.gnu.org/software/texinfo/manual/pod2texi.html> and a -version included below. The version included in the manual is also an -example of ‘pod2texi’ use, as it is converted from Pod using ‘pod2texi’. - -* Menu: - -* pod2texi manual page:: ‘pod2texi’ invocation in a manual page format. - - -File: texinfo.info, Node: pod2texi manual page, Up: Invoking pod2texi - -19.6.1 pod2texi ---------------- - -pod2texi NAME -............. - -pod2texi - convert Pod to Texinfo - -pod2texi SYNOPSIS -................. - - pod2texi [OPTION]... POD... - -pod2texi DESCRIPTION -.................... - -Translate Pod file(s) to Texinfo. There are two basic modes of -operation. First, by default, each Pod is translated to a standalone -Texinfo manual. - - Second, if ‘--base-level’ is set higher than 0, each Pod is -translated to a file suitable for ‘@include’, and one more file with a -main menu and all the ‘@include’ is generated. - -pod2texi OPTIONS -................ - -*--appendix-sections* - - Use appendix sectioning commands (‘@appendix’, ...) instead of the - default numbered sectioning Texinfo @-commands (‘@chapter’, - ‘@section’, ...). - -*--base-level*=_NUM|NAME_ - - Sets the level of the ‘head1’ commands. It may be an integer or a - Texinfo sectioning command (without the ‘@’): 1 corresponds to the - ‘@chapter’/‘@unnumbered’ level, 2 to the ‘@section’ level, and so - on. The default is 0, meaning that ‘head1’ commands are still - output as chapters, but the output is arranged as a standalone - manual. - - If the level is not 0, the Pod file is rendered as a fragment of a - Texinfo manual suitable for ‘@include’. In this case, each Pod - file has an additional sectioning command covering the entire file, - one level above the ‘--base-level’ value. Therefore, to make each - Pod file a chapter in a large manual, you should use ‘section’ as - the base level. - - For an example of making Texinfo out of the Perl documentation - itself, see ‘contrib/perldoc-all’ in the Texinfo source - distribution. - -*--debug*=_NUM_ - - Set debugging level to _NUM_. - -*--generate-setfilename* - - Generate a ‘@setfilename’ line for standalone manuals. Can be - negated with ‘--no-generate-setfilename’. Ignored if - ‘--base-level’ is not 0. - -*--headings-as-sections* - - Use headings commands (‘@heading’, ...) instead of the default - numbered sectioning Texinfo @-commands (‘@chapter’, ‘@section’, - ...). The sectioning command covering the entire file output for - each Pod file if *--base-level* is not 0 is a numbered command. - -*--help* - - Display help and exit. - -*--menus* - - Output node menus. If there is a main manual, its Top node menu is - always output, since a master menu is generated. Other nodes menus - are not output in the default case. - -*--outdir*=_NAME_ - - If there is a main manual with include files (each corresponding to - an input Pod file), then the generated Texinfo files are put in - directory _NAME_. Default is based on ‘--subdir’. - -*--output*=_NAME_ - - Name for the first manual, or the main manual if there is a main - manual. Default is to write to standard output. - -*--no-section-nodes* - - Use anchors for sections instead of nodes. - -*--no-fill-section-gaps* - - Do not fill sectioning gaps with empty ‘@unnumbered’ files. - Ordinarily, it's good to keep the sectioning hierarchy intact. - -*--preamble*=_STR_ - - Insert _STR_ as top boilerplate before menu and includes. If _STR_ - is set to ‘-’, read the top boilerplate from the standard input. - The default top boilerplate is a minimal beginning for a Texinfo - document. - -*--setfilename*=_STR_ - - Use _STR_ in top boilerplate before menu and includes for - ‘@setfilename’ for the main manual, if ‘--base-level’ is not set to - 0. Ignored if ‘--base-level’ is 0. No ‘@setfilename’ is output in - the default case for the main manual. - -*--subdir*=_NAME_ - - If there is a main manual with include files (each corresponding to - an input Pod file), then those include files are included from - _NAME_. - - If ‘--outdir’ is set, _NAME_ should in general be set to the - relative directory between the main manual and ‘--outdir’ argument. - -*--unnumbered-sections* - - Use unnumbered sectioning commands (‘@unnumbered’, ...) instead of - the default numbered sectioning Texinfo @-commands (‘@chapter’, - ‘@section’, ...). - -*--top*=_TOP_ - - Name of the ‘@top’ element for the main manual. May contain - Texinfo code. - -*--version* - - Display version information and exit. - -pod2texi SEE ALSO -................. - -Pod::Simple::Texinfo -(https://www.gnu.org/software/texinfo/manual/Pod/Simple/Texinfo.html). -perlpod (https://metacpan.org/pod/perlpod). The Texinfo manual. -Texinfo home page: <https://www.gnu.org/software/texinfo/> - -pod2texi COPYRIGHT AND LICENSE -.............................. - -Copyright 2012-2024 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - - There is NO WARRANTY, to the extent permitted by law. - -pod2texi AUTHOR -............... - -Patrice Dumas <bug-texinfo@gnu.org>. - - -File: texinfo.info, Node: texi2html, Prev: Invoking pod2texi, Up: Generic Translator texi2any - -19.7 ‘texi2html’: Ancestor of ‘texi2any’ -======================================== - -Conceptually, the ‘texi2html’ program is the parent of today's -‘texi2any’ program. ‘texi2html’ was developed independently, originally -by Lionel Cons in 1998; at the time, ‘makeinfo’ could not generate HTML. -Many other people contributed to ‘texi2html’ over the years. - - The present ‘texi2any’ uses little of the actual code of ‘texi2html’, -and has quite a different basic approach to the implementation (namely, -parsing the Texinfo document into a tree), but still, there is a family -resemblance. - - By design, ‘texi2any’ supports nearly all the features of ‘texi2html’ -in some way. However, we did not attempt to maintain strict -compatibility, so no ‘texi2html’ executable is installed by the Texinfo -package. An approximation can be run with an invocation like this: - - texi2any --set-customization-variable TEXI2HTML=1 ... - -but, to emphasize, this is _not_ a drop-in replacement for the previous -‘texi2html’. Here are the biggest differences: - - • Most blatantly, the command line options of ‘texi2html’ are now - customization variables, for the most part. A table of approximate - equivalents is given below. - - • The program-level customization API is very different in - ‘texi2any’. - - • Indices cannot be split. - - We do not intend to reimplement these differences. Therefore, the -route forward for authors is alter manuals and build processes as -necessary to use the new features and methods of ‘texi2any’. The -‘texi2html’ maintainers (one of whom is the principal author of -‘texi2any’) do not intend to make further releases. - - Here is the table showing ‘texi2html’ options and corresponding -‘texi2any’ customization variables. - -‘--toc-links’ ‘TOC_LINKS’ -‘--short-ext’ ‘EXTENSION’ set to ‘htm’ -‘--prefix’ ‘PREFIX’ -‘--def-table’ ‘DEF_TABLE’ -‘--html-xref-prefix’ ‘EXTERNAL_DIR’ -‘--l2h’ ‘HTML_MATH’ set to ‘l2h’ -‘--l2h-l2h’ ‘L2H_L2H’ -‘--l2h-skip’ ‘L2H_SKIP’ -‘--l2h-tmp’ ‘L2H_TMP’ -‘--l2h-file’ ‘L2H_FILE’ -‘--l2h-clean’ ‘L2H_CLEAN’ -‘--use-nodes’ ‘USE_NODES’ -‘--monolithic’ ‘MONOLITHIC’ -‘--top-file’ ‘TOP_FILE’ -‘--frames’ no equivalent -‘--menu’ ‘FORMAT_MENU’ -‘--debug’ ‘DEBUG’ -‘--doctype’ ‘DOCTYPE’ -‘--frameset-doctype’ no equivalent -‘--test’ ‘TEST’ - - Finally, any ‘texi2html’ users seeking more detailed information can -check the first part of the archived file ‘doc/texi2oldapi.texi’ in the -Texinfo source repository. - - -File: texinfo.info, Node: Creating and Installing Info Files, Next: Generating HTML, Prev: Generic Translator texi2any, Up: Top - -20 Creating and Installing Info Files -************************************* - -This chapter gives some information on the Info output and describes how -to install Info files. For the creation of Info files with ‘texi2any’, -see *note Generic Translator texi2any::, and with Emacs, *note Info -Formatting::. *Note Info Files::, for general information about the -file format. *Note Info Format Specification::, for a detailed -technical specification of the Info format. - -* Menu: - -* Installing an Info File:: -* Tag and Split Files:: -* Info Format FAQ:: - - -File: texinfo.info, Node: Installing an Info File, Next: Tag and Split Files, Up: Creating and Installing Info Files - -20.1 Installing an Info File -============================ - -Info files are usually kept in the ‘info’ directory. You can read Info -files using the standalone Info program or the Info reader built into -Emacs. (*Note (info)Top::, for an introduction to Info.) - -* Menu: - -* Directory File:: The top-level menu for all Info files. -* New Info File:: Listing a new Info file. -* Other Info Directories:: How to specify Info files that are located in - other directories. -* Installing Dir Entries:: How to specify what menu entry to add to the - Info directory. -* Invoking install-info:: ‘install-info’ options. - - -File: texinfo.info, Node: Directory File, Next: New Info File, Up: Installing an Info File - -20.1.1 The Directory File ‘dir’ -------------------------------- - -For Info to work, the ‘info’ directory must contain a file that serves -as a top-level directory for the Info system. By convention, this file -is called ‘dir’. (You can find the location of this file within Emacs -by typing ‘C-h i’ to enter Info and then typing ‘C-x C-f’ to see the -location of the ‘info’ directory.) - - The ‘dir’ file is itself an Info file. It contains the top-level -menu for all the Info files in the system. The menu looks like this: - - * Menu: - * Info: (info). Documentation browsing system. - * Emacs: (emacs). The extensible, self-documenting - text editor. - * Texinfo: (texinfo). With one source file, make - either a printed manual using - @TeX{} or an Info file. - ... - - Each of these menu entries points to the 'Top' node of the Info file -that is named in parentheses. (The menu entry does not need to specify -the 'Top' node, since Info goes to the 'Top' node if no node name is -mentioned. *Note Nodes in Other Info Files: Other Info Files.) - - Thus, the ‘Info’ entry points to the 'Top' node of the ‘info’ file -and the ‘Emacs’ entry points to the 'Top' node of the ‘emacs’ file. - - In each of the Info files, the 'Up' pointer of the 'Top' node refers -back to the ‘dir’ file. For example, the line for the 'Top' node of the -Emacs manual looks like this in Info: - - File: emacs Node: Top, Up: (DIR), Next: Distrib - -In this case, the ‘dir’ file name is written in uppercase letters--it -can be written in either upper- or lowercase. This is not true in -general, it is a special case for ‘dir’. - - See the ‘util/dir-example’ file in the Texinfo distribution for a -large sample ‘dir’ file. - - -File: texinfo.info, Node: New Info File, Next: Other Info Directories, Prev: Directory File, Up: Installing an Info File - -20.1.2 Listing a New Info File ------------------------------- - -To add a new Info file to your system, you must write a menu entry to -add to the menu in the ‘dir’ file in the ‘info’ directory. For example, -if you were adding documentation for GDB, you would write the following -new entry: - - * GDB: (gdb). The source-level C debugger. - -The first part of the menu entry is the menu entry name, followed by a -colon. The second part is the name of the Info file, in parentheses, -followed by a period. The third part is the description. - - The name of an Info file often has a ‘.info’ extension. Thus, the -Info file for GDB might be called either ‘gdb’ or ‘gdb.info’. The Info -reader programs automatically try the file name both with and without -‘.info’(1); so it is better to avoid clutter and not to write ‘.info’ -explicitly in the menu entry. For example, the GDB menu entry should -use just ‘gdb’ for the file name, not ‘gdb.info’. - - ---------- Footnotes ---------- - - (1) On MS-DOS/MS-Windows systems, Info will try the ‘.inf’ extension -as well. - - -File: texinfo.info, Node: Other Info Directories, Next: Installing Dir Entries, Prev: New Info File, Up: Installing an Info File - -20.1.3 Info Files in Other Directories --------------------------------------- - -If an Info file is not in the ‘info’ directory, there are three ways to -specify its location: - - 1. Write the file name in the ‘dir’ file as the second part of the - menu. - - 2. Specify the Info directory name in the ‘INFOPATH’ environment - variable in your ‘.profile’ or ‘.cshrc’ initialization file. (Only - you and others who set this environment variable will be able to - find Info files whose location is specified this way.) - - 3. If you are using Emacs, list the name of the file in a second ‘dir’ - file, in its directory; and then add the name of that directory to - the ‘Info-directory-list’ variable in your personal or site - initialization file. - - This variable tells Emacs where to look for ‘dir’ files (the files - must be named ‘dir’). Emacs merges the files named ‘dir’ from each - of the listed directories. (In Emacs version 18, you can set the - ‘Info-directory’ variable to the name of only one directory.) - - For example, to reach a test file in the ‘/home/bob/info’ directory, -you could add an entry like this to the menu in the standard ‘dir’ file: - - * Test: (/home/bob/info/info-test). Bob's own test file. - -In this case, the absolute file name of the ‘info-test’ file is written -as the second part of the menu entry. - - If you don't want to edit the system ‘dir’ file, you can tell Info -where to look by setting the ‘INFOPATH’ environment variable in your -shell startup file. This works with both the Emacs and standalone Info -readers. - - Emacs uses the ‘INFOPATH’ environment variable to initialize the -value of Emacs's own ‘Info-directory-list’ variable. The standalone -Info reader merges any files named ‘dir’ in any directory listed in the -‘INFOPATH’ variable into a single menu presented to you in the node -called ‘(dir)Top’. - - However you set ‘INFOPATH’, if its last character is a colon (on -MS-DOS/MS-Windows systems, use a semicolon instead), this is replaced by -the default (compiled-in) path. This gives you a way to augment the -default path with new directories without having to list all the -standard places. For example (using ‘sh’ syntax): - - INFOPATH=/home/bob/info: - export INFOPATH - -will search ‘/home/bob/info’ first, then the standard directories. -Leading or doubled colons are not treated specially. - - When you create your own ‘dir’ file for use with -‘Info-directory-list’ or ‘INFOPATH’, it's easiest to start by copying an -existing ‘dir’ file and replace all the text after the ‘* Menu:’ with -your desired entries. That way, the punctuation and special ‘CTRL-_’ -characters that Info needs will be present. - - As one final alternative, which works only with Emacs Info, you can -change the ‘Info-directory-list’ variable. For example: - - (add-hook 'Info-mode-hook '(lambda () - (add-to-list 'Info-directory-list - (expand-file-name "~/info")))) - - -File: texinfo.info, Node: Installing Dir Entries, Next: Invoking install-info, Prev: Other Info Directories, Up: Installing an Info File - -20.1.4 Installing Info Directory Files --------------------------------------- - -When you install an Info file onto your system, you can use the program -‘install-info’ to update the Info directory file ‘dir’. Normally the -makefile for the package runs ‘install-info’, just after copying the -Info file into its proper installed location. - - In order for the Info file to work with ‘install-info’, you include -the commands ‘@dircategory’ and ‘@direntry’...‘@end direntry’ in the -Texinfo source file. Use ‘@direntry’ to specify the menu entries to add -to the Info directory file. Use ‘@dircategory’ to specify a category -for the manual, which determines which part of the Info directory to put -it in. *Note Directory Category::. - - Here is how these commands are used in this manual: - - @dircategory Texinfo documentation system - @direntry - * Texinfo: (texinfo). The GNU documentation format. - * install-info: (texinfo)Invoking install-info. ... - ... - @end direntry - - Here's what this produces in the Info file: - - INFO-DIR-SECTION Texinfo documentation system - START-INFO-DIR-ENTRY - * Texinfo: (texinfo). The GNU documentation format. - * install-info: (texinfo)Invoking install-info. ... - ... - END-INFO-DIR-ENTRY - -The ‘install-info’ program sees these lines in the Info file, and that -is how it knows what to do. - - Always use the ‘@direntry’ and ‘@dircategory’ commands near the -beginning of the Texinfo input, before the first ‘@node’ command. If -you use them later on in the input, ‘install-info’ will not notice them. - - ‘install-info’ will automatically reformat the description of the -menu entries it is adding. As a matter of convention, the description -of the main entry (above, ‘The GNU documentation format’) should start -at column 32, starting at zero (as in ‘what-cursor-position’ in Emacs). -This will make it align with most others. Description for individual -utilities best start in column 48, where possible. For more information -about formatting see the ‘--calign’, ‘--align’, and ‘--max-width’ -options in *note Invoking install-info::. - - If you use ‘@dircategory’ more than once in the Texinfo source, each -usage specifies the 'current' category; any subsequent ‘@direntry’ -commands will add to that category. - - Each 'Invoking' node for every program installed should have a -corresponding ‘@direntry’. This lets users easily find the -documentation for the different programs they can run, as with the -traditional ‘man’ system. - - -File: texinfo.info, Node: Invoking install-info, Prev: Installing Dir Entries, Up: Installing an Info File - -20.1.5 Invoking ‘install-info’ ------------------------------- - -‘install-info’ inserts menu entries from an Info file into the top-level -‘dir’ file in the Info system (see the previous sections for an -explanation of how the ‘dir’ file works). ‘install-info’ also removes -menu entries from the ‘dir’ file. It's most often run as part of -software installation, or when constructing a ‘dir’ file for all manuals -on a system. Synopsis: - - install-info [OPTION...] [INFO-FILE [DIR-FILE]] - - If INFO-FILE or DIR-FILE are not specified, the options (described -below) that define them must be. There are no compile-time defaults, -and standard input is never used. ‘install-info’ can read only one Info -file and write only one ‘dir’ file per invocation. - - If DIR-FILE (however specified) does not exist, ‘install-info’ -creates it if possible (with no entries). - - If any input file is compressed with ‘gzip’ (*note (gzip)Top::), -‘install-info’ automatically uncompresses it for reading. And if -DIR-FILE is compressed, ‘install-info’ also automatically leaves it -compressed after writing any changes. If DIR-FILE itself does not -exist, ‘install-info’ tries to open ‘DIR-FILE.gz’, ‘DIR-FILE.xz’, -‘DIR-FILE.bz2’, ‘DIR-FILE.lz’, and ‘DIR-FILE.lzma’, in that order. - - Options: - -‘--add-once’ - Specifies that the entry or entries will only be put into a single - section. - -‘--align=COLUMN’ - Specifies the column that the second and subsequent lines of menu - entry's description will be formatted to begin at. The default for - this option is ‘35’. It is used in conjunction with the - ‘--max-width’ option. COLUMN starts counting at 1. - -‘--append-new-sections’ - Instead of alphabetizing new sections, place them at the end of the - DIR file. - -‘--calign=COLUMN’ - Specifies the column that the first line of menu entry's - description will be formatted to begin at. The default for this - option is ‘33’. It is used in conjunction with the ‘--max-width’ - option. When the name of the menu entry exceeds this column, - entry's description will start on the following line. COLUMN - starts counting at 1. - -‘--debug’ - Report what is being done. - -‘--delete’ - Delete the entries in INFO-FILE from DIR-FILE. The file name in - the entry in DIR-FILE must be INFO-FILE (except for an optional - ‘.info’ in either one). Don't insert any new entries. Any empty - sections that result from the removal are also removed. - -‘--description=TEXT’ - Specify the explanatory portion of the menu entry. If you don't - specify a description (either via ‘--entry’, ‘--item’ or this - option), the description is taken from the Info file itself. - -‘--dir-file=NAME’ - Specify file name of the Info directory file. This is equivalent - to using the DIR-FILE argument. - -‘--dry-run’ - Same as ‘--test’. - -‘--entry=TEXT’ - Insert TEXT as an Info directory entry; TEXT should have the form - of an Info menu item line plus zero or more extra lines starting - with whitespace. If you specify more than one entry, they are all - added. If you don't specify any entries, they are determined from - information in the Info file itself. - -‘--help’ - Display a usage message with basic usage and all available options, - then exit successfully. - -‘--info-file=FILE’ - Specify Info file to install in the directory. This is equivalent - to using the INFO-FILE argument. - -‘--info-dir=DIR’ - Specify the directory where the directory file ‘dir’ resides. - Equivalent to ‘--dir-file=DIR/dir’. - -‘--infodir=DIR’ - Same as ‘--info-dir’. - -‘--item=TEXT’ - Same as ‘--entry=TEXT’. An Info directory entry is actually a menu - item. - -‘--keep-old’ - Do not replace pre-existing menu entries. When ‘--remove’ is - specified, this option means that empty sections are not removed. - -‘--max-width=COLUMN’ - Specifies the column that the menu entry's description will be - word-wrapped at. COLUMN starts counting at 1. - -‘--maxwidth=COLUMN’ - Same as ‘--max-width’. - -‘--menuentry=TEXT’ - Same as ‘--name’. - -‘--name=TEXT’ - Specify the name portion of the menu entry. If the TEXT does not - start with an asterisk ‘*’, it is presumed to be the text after the - ‘*’ and before the parentheses that specify the Info file. - Otherwise TEXT is taken verbatim, and is taken as defining the text - up to and including the first period (a space is appended if - necessary). If you don't specify the name (either via ‘--entry’, - ‘--item’ or this option), it is taken from the Info file itself. - If the Info does not contain the name, the basename of the Info - file is used. - -‘--no-indent’ - Suppress formatting of new entries into the ‘dir’ file. - -‘--quiet’ -‘--silent’ - Suppress warnings, etc., for silent operation. - -‘--remove’ - Same as ‘--delete’. - -‘--remove-exactly’ - Also like ‘--delete’, but only entries if the Info file name - matches exactly; ‘.info’ and/or ‘.gz’ suffixes are _not_ ignored. - -‘--section=SEC’ - Put this file's entries in section SEC of the directory. If you - specify more than one section, all the entries are added in each of - the sections. If you don't specify any sections, they are - determined from information in the Info file itself. If the Info - file doesn't specify a section, the menu entries are put into the - Miscellaneous section. - -‘--section REGEX SEC’ - Same as ‘--regex=REGEX --section=SEC --add-once’. - - ‘install-info’ tries to detect when this alternate syntax is used, - but does not always guess correctly. Here is the heuristic that - ‘install-info’ uses: - 1. If the second argument to ‘--section’ starts with a hyphen, - the original syntax is presumed. - - 2. If the second argument to ‘--section’ is a file that can be - opened, the original syntax is presumed. - - 3. Otherwise the alternate syntax is used. - - When the heuristic fails because your section title starts with a - hyphen, or it happens to be a file that can be opened, the syntax - should be changed to ‘--regex=REGEX --section=SEC --add-once’. - -‘--regex=REGEX’ - Put this file's entries into any section that matches REGEX. If - more than one section matches, all of the entries are added in each - of the sections. Specify REGEX using basic regular expression - syntax, more or less as used with ‘grep’, for example. - -‘--test’ - Suppress updating of the directory file. - -‘--version’ - Display version information and exit successfully. - - -File: texinfo.info, Node: Tag and Split Files, Next: Info Format FAQ, Prev: Installing an Info File, Up: Creating and Installing Info Files - -20.2 Tag Files and Split Files -============================== - -Info files always contain a “tag table”, to be able to jump to nodes -quickly. Info files can be “nonsplit” (also called “unsplit”) or -“split”. - - If the Info file contains less than about 300,000 characters the file -should be nonsplit. In that case, the tag table should appear at the -end of the Info file. If the Texinfo file contains more than about -300,000 characters, Texinfo processors split the large Info file into -shorter “indirect” subfiles of about 300,000 characters each. With -‘texi2any’, splitting may be prevented by ‘--no-split’, and the default -size of 300,000 characters may be modified with ‘--split-size’ (*note -Invoking texi2any::). - - When a file is split, Info itself makes use of a shortened version of -the original file that contains just the tag table and references to the -files that were split off. The split-off files are called “indirect” -files. - - The split-off files have names that are created by appending ‘-1’, -‘-2’, ‘-3’ and so on to the output file name, specified by the -‘@setfilename’ command or the input file name. The shortened version of -the original file continues to have the name specified by ‘@setfilename’ -or the input file name. - - At one stage in writing this document, for example, the Info file was -saved as the file ‘test-texinfo’ and that file looked like this: - - Info file: test-texinfo, -*-Text-*- - produced by texinfo-format-buffer - from file: new-texinfo-manual.texinfo - - ^_ - Indirect: - test-texinfo-1: 102 - test-texinfo-2: 50422 - test-texinfo-3: 101300 - ^_^L - Tag table: - (Indirect) - Node: overview^?104 - Node: info file^?1271 - Node: printed manual^?4853 - Node: conventions^?6855 - ... - -(But ‘test-texinfo’ had far more nodes than are shown here.) Each of -the split-off, indirect files, ‘test-texinfo-1’, ‘test-texinfo-2’, and -‘test-texinfo-3’, is listed in this file after the line that says -‘Indirect:’. The tag table is listed after the line that says ‘Tag -table:’. - - In the list of indirect files, the number following the file name -records the cumulative number of bytes in the preceding indirect files, -not counting the file list itself, the tag table, or any permissions -text in the first file. In the tag table, the number following the node -name records the location of the beginning of the node, in bytes from -the beginning of the (unsplit) output. - - If you are using ‘texinfo-format-buffer’ to create Info files, you -may want to run the ‘Info-validate’ command. (The ‘texi2any’ command -does such a good job on its own, you do not need ‘Info-validate’.) -However, you cannot run the ‘M-x Info-validate’ node-checking command on -indirect files. For information on how to prevent files from being -split with ‘texinfo-format-buffer’ and how to validate the structure of -the nodes, see *note Using Info-validate::. - - -File: texinfo.info, Node: Info Format FAQ, Prev: Tag and Split Files, Up: Creating and Installing Info Files - -20.3 Info Format FAQ -==================== - -Here are some questions that have been frequently asked on the project -mailing lists and elsewhere. - -Why when I run ‘info FOO’ do I get the same output as ‘man FOO’? - - Check that the Info manuals are installed. Not all GNU/Linux - distributions install all the Info manuals by default. This is - regrettable, as often the Info manual provides more information - than the provided man page. - -Why not use HTML instead of Info? - - Manuals are rarely written in the Info format itself, but are - generated from Texinfo source by the ‘texi2any’ program. - ‘texi2any’ can generate HTML as well as Info from Texinfo source. - You can also access and download HTML manuals from the GNU website - (<https://www.gnu.org/manual/manual.html>). Additionally, some - GNU/Linux distributions provide packages for the installation of - HTML manuals. - - Info still has some advantages over HTML for locally installed - documentation. The Info browsers support index lookup and support - for links between locally installed manuals in multiple locations. - It's important to have documentation installed locally on your - machine rather than relying on the Internet; this makes accessing - documentation more reliable, and ensures it matches installed - versions of packages. It's hoped that support for browsing locally - installed Texinfo documentation in some form of HTML can be - improved in the future. - -Why provide the command-line ‘info’ program when the Emacs Info reader is better? - - The Emacs Info reader can display images, and fully supports using - a mouse. There are not many differences among the Info readers - besides that. Command-line ‘info’ can be configured to change the - default key bindings, as well as change the color of - cross-references and search results, and to enable mouse scrolling - support. You should not need to be experienced with the Emacs - editor to use ‘info’. (Some recommend another program called - ‘pinfo’, but this lacks in important features like index lookup.) - - Some prefer to be able to scroll through the entire manual at once - (as happens with man pages), rather than being limited to a single - 'node' of content at once. Of course, there is no accounting for - taste, but a single, unstructured block of text becomes more - awkward as a manual becomes longer and more complicated. (However, - if you really want to, you can view an info manual all at once in - the ‘less’ pager with ‘info FOO | less’.) - -Why do I have 'see' appearing in front of all of my links? - - By default, Emacs Info mode either changes the marker ‘*note’ for - cross-references to 'see', or hides it completely. Command-line - ‘info’ does the same if ‘hide-note-references’ is set. - Unfortunately, there is no way to do this reliably, as both the - ‘@pxref’ and ‘@ref’ commands in Texinfo output this marker in the - Info output, and the 'see' text is only appropriate for ‘@pxref’. - -Yes, but how do I get a plain link, with no extra markup? - - You can't. Info is a plain text format that is displayed mostly - as-is in the viewers, and without the ‘*note’ text there would be - nothing to mark text as a link. - - For output formats such as HTML, you can use the ‘@link’ command to - produce a plain link. *Note @link::. This does not produce a - working cross-reference in Info output or in a printed copy of the - manual, though. - -Why do lines containing links appear mysteriously short? - - This due to Emacs (or ‘info’ with ‘hide-note-references’ set to - ‘On’) hiding ‘*note’ strings, as mentioned above. - -Can the Info format be extended to support fonts, colors or reflowable text? - - Any extension would be incompatible with existing Info-viewing - programs. Extra markup added to Info files would be displayed to - the user, making files ugly and unreadable. - - When Texinfo files are processed into Info files, information about - which Texinfo commands were used to markup text is lost. Moreover, - it is not possible to reliably detect whether text can be reflowed - (e.g. a paragraph of prose), or whether line breaks should be kept - (e.g. a code sample, or poem). - - Info's core purpose is to display documentation on text terminals. - If you want more, you are recommended to use the HTML output from - ‘texi2any’ instead. - - -File: texinfo.info, Node: Generating HTML, Next: @-Command Details, Prev: Creating and Installing Info Files, Up: Top - -21 Generating HTML -****************** - -‘texi2any’ generates Info output by default, but given the ‘--html’ -option, it will generate HTML, for web browsers and other programs. -This chapter gives some details on such HTML output. - - ‘texi2any’ has many user-definable customization variables with which -you can influence the HTML output. *Note HTML Output Customization::. -In particular, there is support for syntax highlighting in ‘@example’ -(*note Syntax Highlighting::). You can also write so-called -“initialization files”, or “init files” for short, to modify almost -every aspect of HTML output. Initialization files contain code and are -loaded by ‘--init-file’ (*note Invoking texi2any::). - - Some initialization files are maintained with Texinfo and installed -in the default case. For example, ‘chm.pm’ produces the intermediate -compressed HTML Help format files that can be subsequently converted to -the CHM format. - - The documentation of ‘texi2any’ HTML output adaptation using -customization files is in a separate manual. *Note (texi2any_api)Top::. - -* Menu: - -* HTML Translation:: Details of the HTML output. -* HTML Splitting:: How HTML output is split. -* HTML CSS:: Influencing HTML output with Cascading Style - Sheets. -* @documentdescription:: Document summary for the HTML output. -* Generating EPUB:: Details on the EPUB output. -* Syntax Highlighting:: Use syntax highlighting in code excerpts. -* HTML Xref:: Standard algorithm for interoperability. -* HTML Output Customization:: Using customization variables. - - -File: texinfo.info, Node: HTML Translation, Next: HTML Splitting, Up: Generating HTML - -21.1 HTML Translation -===================== - -The HTML generated by ‘texi2any’ generates standard HTML output. The -output is intentionally quite plain for maximum portability and -accessibility. - - You can customize the output via CSS (*note HTML CSS::) or other -means (*note HTML Output Customization::). If you cannot accomplish a -reasonable customization, feel free to report that. - - *Navigation bar:* By default, a navigation bar is inserted at the -start of each node, analogous to Info output. If the ‘--no-headers’ -option is used, the navigation bar is only inserted at the beginning of -split files. Header ‘<link>’ elements in split output support Info-like -navigation with browsers which implement this feature. - - *Raw HTML*: ‘texi2any’ will include segments of Texinfo source -between ‘@ifhtml’ and ‘@end ifhtml’ in the HTML output (but not any of -the other conditionals, by default). Source between ‘@html’ and ‘@end -html’ is passed without change to the output (i.e., suppressing the -normal escaping of input ‘<’, ‘>’ and ‘&’ characters which have special -significance in HTML). *Note Conditional Commands::. - - *Standards*: It is intentionally not our goal, and not even always -possible, to pass through every conceivable validation test without any -diagnostics. Different validation tests have different goals, often -about pedantic enforcement of some standard or another. Our overriding -goal is to help users, not blindly comply with standards. - - Please report output from an error-free run of ‘texi2any’ which has -_practical_ browser or EPUB reader portability problems as a bug (*note -Reporting Bugs::). - - In practice, the HTML produced by ‘texi2any’ is slowly adjusted over -time towards the latest HTML standard, while also trying to keep -compatibility with earlier produced HTML. We use transitional markup and -try to be slow enough to give time for the diverse HTML readers to -adjust (and for standards to reincorporate useful features that were -dropped...). - - -File: texinfo.info, Node: HTML Splitting, Next: HTML CSS, Prev: HTML Translation, Up: Generating HTML - -21.2 HTML Splitting -=================== - -When splitting output at nodes (which is the default), ‘texi2any’ writes -HTML output into (basically) one output file per Texinfo source ‘@node’. - - Each output file name is the node name with spaces replaced by ‘-’'s -and special characters changed to ‘_’ followed by their code point in -hex (*note HTML Xref::). This is to make it portable and easy to use as -a file name. In the unusual case of two different nodes having the same -name after this treatment, they are written consecutively to the same -file, with HTML anchors so each can be referred to independently. - - If ‘texi2any’ is run on a system which does not distinguish case in -file names, nodes which are the same except for case (e.g., ‘index’ and -‘Index’) will also be folded into the same output file with anchors. -You can also pretend to be on a case insensitive filesystem by setting -the customization variable ‘CASE_INSENSITIVE_FILENAMES’. - - It is also possible to split at chapters or sections with ‘--split’ -(*note Splitting Output::). In that case, the file names are -constructed after the name of the node associated with the relevant -sectioning command. Also, unless ‘--no-node-files’ is specified, a -redirection file is output for every node in order to more reliably -support cross-references to that manual (*note HTML Xref::). - - When splitting, the HTML output files are written into a -subdirectory. The subdirectory name is derived from the base name (that -is, any extension is removed), with ‘_html’ postpended. For example, -HTML output for ‘gcc.texi’ would be written into a subdirectory named -‘gcc_html/’. The subdirectory name is based on ‘@setfilename’ or on the -input file name (*note Setting the Output File Name::). - -In any case, the top-level output file within the directory is always -named ‘index.html’. - - Monolithic output (‘--no-split’) is named according to -‘@setfilename’, if present (with any ‘.info’ extension replaced with -‘.html’), ‘--output’ (the argument is used literally), or based on the -input file name as a last resort (*note Setting the Output File Name::). - - -File: texinfo.info, Node: HTML CSS, Next: @documentdescription, Prev: HTML Splitting, Up: Generating HTML - -21.3 HTML CSS -============= - -Cascading Style Sheets (CSS) is an Internet standard for influencing the -display of HTML documents: see <http://www.w3.org/Style/CSS/>. - - By default, some CSS code is included to better implement the -appearance of some Texinfo environments. For example: - - pre.display { font-family:inherit } - - The above tells the web browser to use the same font as the main -document inside ‘<pre>’ elements used for ‘@display’ environments. By -default, the HTML ‘<pre>’ command uses a monospaced font. - - Please see the reference above for a full explanation of CSS. - - You can influence the CSS in the HTML output with two ‘texi2any’ -options: ‘--css-include=FILE’ and ‘--css-ref=URL’. - - The option ‘--css-ref=URL’ adds to each output HTML file a ‘<link>’ -tag referencing a CSS at the given URL. This allows using external -style sheets. - - The option ‘--css-include=FILE’ includes the contents FILE in the -HTML output, as you might expect. However, the details are somewhat -tricky, as described in the following, to provide maximum flexibility. - - The CSS file first line may be a ‘@charset’ directive. If present, -this directive is used to determine the encoding of the CSS file. The -line is not copied into the output. - - The CSS file may begin with so-called ‘@import’ directives, which -link to external CSS specifications for browsers to use when -interpreting the document. Again, a full description is beyond our -scope here, but we'll describe how they work syntactically, so we can -explain how they are handled. - - There can be more than one ‘@import’, but they have to come first in -the file, with only whitespace and comments interspersed, no normal -definitions. Comments in CSS files are delimited by ‘/* ... */’, as in -C. An ‘@import’ directive must be in one of these two forms: - - @import url(http://example.org/foo.css); - @import "http://example.net/bar.css"; - - The crucial characters are the ‘@’ at the beginning and the semicolon -terminating the directive. When reading the CSS file, any such -‘@’-directive is simply copied into the output, as follows: - - • If FILE contains only normal CSS declarations, it is included after - the default CSS, thus overriding it. - - • If FILE begins with ‘@import’ specifications (see below), then the - ‘import’'s are included first (they have to come first, according - to the standard), and then the default CSS is included. If you - need to override the default CSS from an ‘@import’, you can do so - with the ‘! important’ CSS construct, as in: - pre.example { font-size: inherit ! important } - - • If FILE contains both ‘@import’ and inline CSS specifications, the - ‘@import’'s are included first, then default CSS, and lastly the - inline CSS from FILE. - - • Any @-directive other than ‘@import’ and ‘@charset’ is treated as a - CSS declaration, meaning the default CSS is included and then the - rest of the file is prepended. - - If the CSS file is malformed or erroneous, the output is unspecified. -The meaning of the CSS file is not interpreted in any way; the special -‘@’ and ‘;’ characters are looked for the text is blindly copied into -the output. Comments in the CSS file may or may not be included in the -output. - - By default, classes are added to the HTML elements and CSS rules for -these classes are output at the beginning of each HTML file. Set the -‘NO_CSS’ customization variable to prevent classes being added and CSS -being used. Set ‘INLINE_CSS_STYLE’ to have CSS code put in HTML -elements in the ‘style’ attribute rather than at the beginning of the -output. - - Since ‘texi2any’ only inserts CSS code needed by the HTML actually -output, the full list of CSS code potentially inserted is not visible in -the output document. To get the full list of CSS rules, call ‘texi2any’ -with the ‘SHOW_BUILTIN_CSS_RULES’ customization variable set to output -the built-in default CSS rules on the standard output and exit, like: - texi2any -c SHOW_BUILTIN_CSS_RULES=1 - - -File: texinfo.info, Node: @documentdescription, Next: Generating EPUB, Prev: HTML CSS, Up: Generating HTML - -21.4 ‘@documentdescription’: Summary Text -========================================= - -When producing HTML output for a document, a ‘<meta>’ element is written -in the ‘<head>’ to give some idea of the content of the document. By -default, this “description” is the title of the document, taken from the -‘@settitle’ command (*note @settitle::). To change this, use the -‘@documentdescription’ environment, as in: - - @documentdescription - descriptive text. - @end documentdescription - -This will produce the following output in the ‘<head>’ of the HTML: - - <meta name=description content="descriptive text."> - - -File: texinfo.info, Node: Generating EPUB, Next: Syntax Highlighting, Prev: @documentdescription, Up: Generating HTML - -21.5 Generating EPUB -==================== - -EPUB is a format designed for reading electronic books on portable -devices. ‘texi2any’ generated EPUB 3.3 in 2024. An EPUB file is a ZIP -archive container, holding informative files as well as the manual -rendered in HTML. - - The generation of the EPUB file depends on the ‘Archive::Zip’ Perl -module being installed. This dependency is checked at runtime. By -default, trying to output EPUB without this dependency raises an error. -However, if the EPUB output file is not generated, with the -customization variable ‘EPUB_CREATE_CONTAINER_FILE’ set to 0, it is not -an error if ‘Archive::Zip’ is not installed. - - The ‘texi2any’ tests related to EPUB generation do not require the -installation of ‘Archive::Zip’, as they set ‘EPUB_CREATE_CONTAINER_FILE’ -to 0 and keep the directory containing the files and directories needed -for the EPUB file by setting the ‘EPUB_KEEP_CONTAINER_FOLDER’ -customization variable to 1. - -* Menu: - -* EPUB Output File and Directory:: -* EPUB Cross-References:: No cross-references in EPUB output. -* EPUB Conformance:: -* EPUB HTML:: Variables set internally. - - -File: texinfo.info, Node: EPUB Output File and Directory, Next: EPUB Cross-References, Up: Generating EPUB - -21.5.1 Container Directory and Output Files -------------------------------------------- - -A directory containing the files and directories needed for the EPUB -format is created when outputting EPUB. The name of this container -directory is derived from the base name of the input file (that is, any -extension is removed), with ‘_epub_package’ postpended. If an output -directory is specified, with ‘--output’, or with the ‘SUBDIR’ -customization variable, the container directory is created in that -directory instead of the current directory. At the beginning of a new -run, the container directory and all its contents are removed. The -container directory is also removed after the final EPUB file has been -generated in the default case. - - The HTML files produced from the Texinfo manual are output in -subdirectories of the container directory. Image files referred to from -the Texinfo manual, if found, are copied to subdirectories of the -container directory. - - The EPUB output file is a ZIP archive of the container directory. -The file name is derived from the base name, with the ‘.epub’ extension -postpended. If an output file is specified, with ‘--output’, or with -the ‘OUTFILE’ customization function, this file name is used instead. -The output EPUB file is never placed in the directory specified by -‘--output’ or ‘SUBDIR’; only the container directory is placed there, as -explained just above. - - The EPUB output file is not generated if the customization variable -‘EPUB_CREATE_CONTAINER_FILE’ is set to 0. The container directory is -left after the final EPUB file has been generated if -‘EPUB_KEEP_CONTAINER_FOLDER’ is set. - - *Note Invoking texi2any::. - - -File: texinfo.info, Node: EPUB Cross-References, Next: EPUB Conformance, Prev: EPUB Output File and Directory, Up: Generating EPUB - -21.5.2 EPUB Cross-References ----------------------------- - -The EPUB format does not support references from an EPUB file to another -EPUB file. Therefore any references to "external" Texinfo manuals -should resolve to an external URL. ‘texi2any’ produces these links with -HTML cross-reference configuration (*note HTML Xref Configuration::). -Since the links in the resulting EPUB are incorrect if no information is -found for the cross-references, ‘texi2any’ issues a warning by default -for missing cross-references information. If these warnings are -unwanted, set ‘CHECK_HTMLXREF’ to 0. - - -File: texinfo.info, Node: EPUB Conformance, Next: EPUB HTML, Prev: EPUB Cross-References, Up: Generating EPUB - -21.5.3 Achieving strict EPUB conformance ----------------------------------------- - -By default, ‘texi2any’ produces EPUB expected by conformance checkers as -far as possible. You may still need to adjust your Texinfo manual to -achieve full conformance to: - • Make sure that references to external manuals resolve to URLs - (*note EPUB Cross-References::). - • Avoid Texinfo code more forgiving than XHTML. In general valid - Texinfo is converted to valid XHTML, but there are exceptions. For - example, you should avoid nested references and nested sectioning - commands and references, content before ‘@table’ first ‘@item’ and - omitting the second column of ‘@table’ ‘@item’. - • Remove spaces in Texinfo input file names. - • Remove form feeds that end up in output. - - -File: texinfo.info, Node: EPUB HTML, Prev: EPUB Conformance, Up: Generating EPUB - -21.5.4 HTML Generated for EPUB ------------------------------- - -The HTML generated for EPUB is XHTML conformant, UTF-8 encoded, and -formatted without the usual HTML navigation headers and footers. - - ‘texi2any’ achieves this internally by setting customization -variables, such as ‘USE_XML_SYNTAX’, ‘HEADERS’ or -‘OUTPUT_ENCODING_NAME’. Some features of printed output are used in -EPUB. In particular, the Top node does not appear in the EPUB output, -while a title page is generated. This is obtained by setting -‘NO_TOP_NODE_OUTPUT’. *Note HTML Output Customization::. - - The ‘OUTFILE’ and ‘SUBDIR’ customization variables values correspond -initially to the EPUB directory container and/or the EPUB output file -(*note EPUB Output File and Directory::). These customization variables -values are undefined or reset to the locations in the container -directory where the XHTML files are output for the HTML generation. - - This use of customization variables by ‘texi2any’ is mentioned here -because resetting such variables is unusual; however, the variables -reset are used internally for the conversion, and should not interact -with any customization set by the user. - - -File: texinfo.info, Node: Syntax Highlighting, Next: HTML Xref, Prev: Generating EPUB, Up: Generating HTML - -21.6 Code Examples Syntax Highlighting in HTML -============================================== - - Warning: Source highlighting is experimental; feedback is welcomed. - The syntax of ‘HIGHLIGHT_SYNTAX’ is very likely to change in future - release. - - Support for source code syntax highlighting is available in -‘texi2any’ for the HTML output, with the help of external software. -This feature is turned on by setting ‘HIGHLIGHT_SYNTAX’. Source code -highlighting is set up for ‘@example’ blocks. The language specified -for syntax highlighting is the first argument on the ‘@example’ line -(*note @example::), or ‘HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE’ if set and -there is no first argument. - - The ‘HIGHLIGHT_SYNTAX’ value determines the command used for -highlighting: -‘highlight’ - Use ‘highlight’ from - <http://www.andre-simon.de/doku/highlight/en/highlight.php>; -‘pygments’ - Use ‘pygmentize’ from <https://pygments.org/>; -‘source-highlight’ - Use ‘source-highlight’ (*note (source-highlight)Top::). - - -File: texinfo.info, Node: HTML Xref, Next: HTML Output Customization, Prev: Syntax Highlighting, Up: Generating HTML - -21.7 HTML Cross-references -========================== - -Cross-references between Texinfo manuals in HTML format become standard -HTML ‘<a>’ links. This section describes the algorithm used, so that -Texinfo can cooperate with other programs, such as ‘texi2html’, by -writing mutually compatible HTML files. - - This algorithm may or may not be used for links _within_ HTML output -for a Texinfo file. Since no issues of compatibility arise in such -cases, we do not need to specify this. - - We try to support references to such "external" manuals in both -monolithic and split forms. A “monolithic” (mono) manual is entirely -contained in one file, and a “split” manual has a file for each node. -(*Note HTML Splitting::.) - - The algorithm was primarily devised by Patrice Dumas in 2003-04. - -* Menu: - -* Link Basics: HTML Xref Link Basics. -* Node Expansion: HTML Xref Node Name Expansion. -* Command Expansion: HTML Xref Command Expansion. -* 8-bit Expansion: HTML Xref 8-bit Character Expansion. -* Configuration: HTML Xref Configuration. ‘htmlxref.cnf’. - - -File: texinfo.info, Node: HTML Xref Link Basics, Next: HTML Xref Node Name Expansion, Up: HTML Xref - -21.7.1 HTML Cross-reference Link Basics ---------------------------------------- - -For our purposes, an HTML link consists of four components: a host name, -a directory part, a file part, and a target part. We always assume the -‘http’ protocol. For example: - - http://HOST/DIR/FILE.html#TARGET - - The information to construct a link comes from the node name and -manual name in the cross-reference command in the Texinfo source (*note -Cross References::), and from “external information” (*note HTML Xref -Configuration::). - - In the usual case of HTML manuals published on the World Wide Web, in -order to have working cross-references, external information is required -to define the values of HOST and DIR. This is detailed later on (*note -HTML Xref Configuration::). - - If no external information is available for a manual, then defaults -are used for HOST and DIR which correspond to cross-reference links -among a collection of manuals located side-by-side on a single host. In -this case, HOST is hardwired to be the local host. This could either be -the literal string ‘localhost’, or be omitted entirely along with -‘http://’, according to the rules for HTML links. - - The DIR and FILE parts depend both on the relative split/mono nature -of the manual being processed, and on the manual to which the -cross-reference refers: - - • If the present manual is split, and the referent manual is also - split, the directory is ‘../REFERENT_html/’ and the file is the - expanded node name (described later). - - • If the present manual is split, and the referent manual is mono, - the directory is ‘../’ and the file is ‘REFERENT.html’. - - • If the present manual is mono, and the referent manual is split, - the directory is ‘REFERENT_html/’ and the file is the expanded node - name. - - • If the present manual is mono, and the referent manual is also - mono, the directory is ‘./’ (or just the empty string), and the - file is ‘REFERENT.html’. - - The underlying idea is that there is one directory for Texinfo -manuals in HTML, and a given MANUAL is either available as a monolithic -file ‘MANUAL.html’, or as a split subdirectory ‘MANUAL_html/*.html’. - - Another rule, which only holds for file names, is that base file -names are truncated to 245 characters to allow for an extension to be -appended and still comply with the 255-character limit which is common -to many filesystems. Although technically this can be changed with the -‘BASEFILENAME_LENGTH’ customization variable (*note File Names and Links -Customization for HTML::), doing so would make cross-manual references -to such nodes invalid. - - Any directory part in the file name argument of the source cross -reference command is ignored. Thus, ‘@xref{,,,../foo}’ and -‘@xref{,,,foo}’ both use ‘foo’ as the manual name. This is because any -such attempted hardwiring of the directory is very unlikely to be useful -for all the output formats that use the manual name. - - Finally, the TARGET part is always the expanded node name. - - Whether the present manual is output as split or mono is determined -by how you run ‘texi2any’; the default is to split, with the -‘--no-split’ option overriding this. - - By default, ‘texi2any’ generates links to a referent manual using the -same form as as the present manual: if the present manual is generated -as split, then links to other manuals are to their split forms by -default; likewise for mono output. - - However, the form of the referent manual (mono or split) should -usually be specified in a configuation file (*note HTML Xref -Configuration::). This ensures that there is no mismatch between the -format of the referent manual that the generating software assumes, and -the format it's actually present in. - - -File: texinfo.info, Node: HTML Xref Node Name Expansion, Next: HTML Xref Command Expansion, Prev: HTML Xref Link Basics, Up: HTML Xref - -21.7.2 HTML Cross-reference Node Name Expansion ------------------------------------------------ - -As mentioned in the previous section, the key part of the HTML cross -reference algorithm is the conversion of node names in the Texinfo -source into strings suitable for XHTML identifiers and file names. The -restrictions are similar for each: plain ASCII letters, numbers, and the -‘-’ and ‘_’ characters are all that can be used. (Although HTML anchors -can contain most characters, XHTML is more restrictive.) - - Cross-references in Texinfo can refer either to nodes, anchors (*note -@anchor::) or float labels (*note @float::). However, anchors and float -labels are treated identically to nodes in this context, so we'll -continue to say "node" names for simplicity. - - A special exception: the Top node (*note The Top Node::) is always -mapped to the file ‘index.html’, to match web server software. However, -the HTML _target_ is ‘Top’. Thus (in the split case): - - @xref{Top,,, emacs, The GNU Emacs Manual}. - ⇒ <a href="../emacs_html/index.html#Top"> - - 1. The standard ASCII letters (a-z and A-Z) are not modified. All - other characters may be changed as specified below. - - 2. The standard ASCII numbers (0-9) are not modified except when a - number is the first character of the node name. In that case, see - below. - - 3. Multiple consecutive space, tab and newline characters are - transformed into just one space. - - 4. Leading and trailing spaces are removed. - - 5. After the above has been applied, each remaining space character is - converted into a ‘-’ character. - - 6. Other ASCII 7-bit characters are transformed into ‘_00XX’, where XX - is the ASCII character code in (lowercase) hexadecimal. This - includes ‘_’, which is mapped to ‘_005f’. - - 7. If the node name does not begin with a letter, the literal string - ‘g_t’ is prefixed to the result. (Due to the rules above, that - string can never occur otherwise; it is an arbitrary choice, - standing for "GNU Texinfo".) This is necessary because XHTML - requires that identifiers begin with a letter. - - For example: - - @node A node --- with _'% - ⇒ A-node-_002d_002d_002d-with-_005f_0027_0025 - - Example translations of common characters: - - • ‘_’ ⇒ ‘_005f’ - • ‘-’ ⇒ ‘_002d’ - • ‘A node’ ⇒ ‘A-node’ - - On case-folding computer systems, nodes differing only by case will -be mapped to the same file. In particular, as mentioned above, Top -always maps to the file ‘index.html’. Thus, on a case-folding system, -Top and a node named 'Index' will both be written to ‘index.html’. -Fortunately, the targets serve to distinguish these cases, since HTML -target names are always case-sensitive, independent of operating system. - - -File: texinfo.info, Node: HTML Xref Command Expansion, Next: HTML Xref 8-bit Character Expansion, Prev: HTML Xref Node Name Expansion, Up: HTML Xref - -21.7.3 HTML Cross-reference Command Expansion ---------------------------------------------- - -Node names may contain @-commands (*note Node Line Requirements::). -This section describes how they are handled. - - First, comments are removed. - - Next, any ‘@value’ commands (*note @set @value::) and macro -invocations (*note Invoking Macros::) are fully expanded. - - Then, for the following commands, the command name and braces are -removed, and the text of the argument is recursively transformed: - - @asis @b @cite @code @command @dfn @dmn @dotless - @emph @env @file @i @indicateurl @kbd @key - @samp @sansserif @sc @slanted @strong @sub @sup - @t @U @var @verb @w - - In addition, the following commands are replaced by constant text, as -shown below. If any of these commands have non-empty arguments, as in -‘@TeX{bad}’, it is an error, and the result is unspecified. In this -table, '(space)' means a space character and '(nothing)' means the empty -string. The notation 'U+HHHH' means Unicode code point HHHH (in hex, as -usual). - - There are further transformations of many of these expansions to -yield the final file or other target name, such as space characters to -‘-’, etc., according to the other rules. - -‘@(newline)’ (space) -‘@(space)’ (space) -‘@(tab)’ (space) -‘@!’ ‘!’ -‘@*’ (space) -‘@-’ (nothing) -‘@.’ ‘.’ -‘@:’ (nothing) -‘@?’ ‘?’ -‘@@’ ‘@’ -‘@{’ ‘{’ -‘@}’ ‘}’ -‘@LaTeX’ ‘LaTeX’ -‘@TeX’ ‘TeX’ -‘@arrow’ U+2192 -‘@bullet’ U+2022 -‘@comma’ ‘,’ -‘@copyright’ U+00A9 -‘@dots’ U+2026 -‘@enddots’ ‘...’ -‘@equiv’ U+2261 -‘@error’ ‘error-->’ -‘@euro’ U+20AC -‘@exclamdown’ U+00A1 -‘@expansion’ U+21A6 -‘@geq’ U+2265 -‘@leq’ U+2264 -‘@minus’ U+2212 -‘@ordf’ U+00AA -‘@ordm’ U+00BA -‘@point’ U+22C6 -‘@pounds’ U+00A3 -‘@print’ U+22A3 -‘@questiondown’ U+00BF -‘@registeredsymbol’ U+00AE -‘@result’ U+21D2 -‘@textdegree’ U+00B0 -‘@tie’ (space) - - Quotation mark @-commands (‘@quotedblright{}’ and the like), are -likewise replaced by their Unicode values. Normal quotation -_characters_ (e.g., ASCII ' and ') are not altered. *Note Inserting -Quotation Marks::. - - Any ‘@acronym’, ‘@abbr’, ‘@email’, and ‘@image’ commands are replaced -by their first argument. (For these commands, all subsequent arguments -are optional, and ignored here.) *Note @acronym::, and *note @email::, -and *note Images::. - - Accents are handled according to the next section. - - Any other command is an error, and the result is unspecified. - - -File: texinfo.info, Node: HTML Xref 8-bit Character Expansion, Next: HTML Xref Configuration, Prev: HTML Xref Command Expansion, Up: HTML Xref - -21.7.4 HTML Cross-reference 8-bit Character Expansion ------------------------------------------------------ - -Usually, characters other than plain 7-bit ASCII are transformed into -the corresponding Unicode code point(s) in Normalization Form C, which -uses precomposed characters where available. (This is the normalization -form recommended by the W3C and other bodies.) This holds when that -code point is ‘0xffff’ or less, as it almost always is. - - These will then be further transformed by the rules above into the -string ‘_HHHH’, where HHHH is the code point in hex. - - For example, combining this rule and the previous section: - - @node @b{A} @TeX{} @u{B} @point{}@enddots{} - ⇒ A-TeX-B_0306-_22C6_002e_002e_002e - - Notice: 1) ‘@enddots’ expands to three periods which in turn expands -to three ‘_002e’'s; 2) ‘@u{B}’ is a 'B' with a breve accent, which does -not exist as a pre-accented Unicode character, therefore expands to -‘B_0306’ (B with combining breve). - - When the Unicode code point is above ‘0xffff’, the transformation is -‘__XXXXXX’, that is, two leading underscores followed by six hex digits. -Since Unicode has declared that their highest code point is ‘0x10ffff’, -this is sufficient. (We felt it was better to define this extra escape -than to always use six hex digits, since the first two would nearly -always be zeros.) - - This method works fine if the node name consists mostly of ASCII -characters and contains only few 8-bit ones. But if the document is -written in a language whose script is not based on the Latin alphabet -(for example, Ukrainian), it will create file names consisting almost -entirely of ‘_XXXX’ notations, which is inconvenient and all but -unreadable. To handle such cases, ‘texi2any’ offers the -‘--transliterate-file-names’ command line option. This option enables -“transliteration” of node names into ASCII characters for the purposes -of file name creation and referencing. The transliteration is based on -phonetic principles, which makes the generated file names more easily -understandable. - - For the definition of Unicode Normalization Form C, see Unicode -report UAX#15, <http://www.unicode.org/reports/tr15/>. Many related -documents and implementations are available elsewhere on the web. - diff --git a/result/sw/share/info/texinfo.info-3 b/result/sw/share/info/texinfo.info-3 deleted file mode 100644 index 84971324..00000000 --- a/result/sw/share/info/texinfo.info-3 +++ /dev/null @@ -1,7069 +0,0 @@ -This is texinfo.info, produced by texi2any version 7.2 from -texinfo.texi. - -This manual is for GNU Texinfo (version 7.2, 20 December 2024), a -documentation system that can produce both online information and a -printed manual from a single source using semantic markup. - - Copyright © 1988-2024 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". -INFO-DIR-SECTION Texinfo documentation system -START-INFO-DIR-ENTRY -* Texinfo: (texinfo). The GNU documentation format. -* install-info: (texinfo)Invoking install-info. Update info/dir entries. -* texi2any: (texinfo)Invoking texi2any. Translate Texinfo source. -* makeinfo: (texinfo)Invoking texi2any. Translate Texinfo source. -* pod2texi: (pod2texi)Invoking pod2texi. Translate Perl Pod to Texinfo. -* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. -* texi2pdf: (texinfo)PDF Output. PDF output for Texinfo. -* pdftexi2dvi: (texinfo)PDF Output. PDF output for Texinfo. -* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. -END-INFO-DIR-ENTRY - - -File: texinfo.info, Node: HTML Xref Configuration, Prev: HTML Xref 8-bit Character Expansion, Up: HTML Xref - -21.7.5 HTML Cross-reference Configuration: ‘htmlxref.cnf’ ---------------------------------------------------------- - -For other manuals published on the World Wide Web to be able to have -correct cross-references to your manual, the HOST and DIR parts of the -cross-reference need to be known by Texinfo converters when they produce -HTML for those other manuals. Similarly, for your manual in HTML format -to have correct cross-references to other manuals, ‘texi2any’ needs to -know how to construct the URLs for other manuals. - - ‘texi2any’ reads a file named ‘htmlxref.cnf’ to gather information -for cross-references to other manuals in HTML output. It is looked for -in the following directories, based on the XDG Base Directory -Specification -(https://specifications.freedesktop.org/basedir-spec/latest/) with -defaults based on installation directories: - -‘./’ - (the current directory) - -‘leading input file path directory’ - If there is a leading directory and it is not the current - directory. For example, if the input file is - ‘some/dir/mymanual.texi’, ‘htmlxref.cnf’ is searched for in - ‘some/dir’. - -‘./.texinfo/’ - (under the current directory) - -‘XDG_CONFIG_HOME/texinfo’ - (with ‘XDG_CONFIG_HOME’ an environment variable) - -‘~/.config/texinfo/’ - (where ‘~’ is the current user's home directory, only if - ‘XDG_CONFIG_HOME’ is not set) - -‘SYSCONFDIR/xdg/texinfo/’ - (where SYSCONFDIR is the system configuration directory specified - at compile-time, e.g., ‘/usr/local/etc’) - -‘XDG_CONFIG_DIRS/texinfo’ - (for each directory in the ‘:’ delimited ‘XDG_CONFIG_DIRS’ - environment variable) - -‘DATADIR/texinfo/’ - (specified at compile time, e.g., ‘/usr/local/share’) - - All files found are used, with earlier entries overriding later ones. -The Texinfo distribution includes a default file which handles many GNU -manuals; it is installed in ‘DATADIR/texinfo/htmlxref.cnf’, one of the -last of the above directories. - - You can use a local ‘htmlxref.cnf’ to complete or correct the default -file from the Texinfo distribution. This could be useful to correct -outdated data, or even to generate cross-references to local files for -some manuals. - - The ‘HTMLXREF_MODE’ customization variable can be set to modify how -the files are found. For instance, if set to ‘none’, no external -information is used. ‘HTMLXREF_FILE’ sets the file name to something -else than ‘htmlxref.cnf’. *Note HTML Xref Configuration -Customization::. - - The file is line-oriented. Lines consisting only of whitespace are -ignored. Comments are indicated with a ‘#’ at the beginning of a line, -optionally preceded by whitespace. Since ‘#’ can occur in URLs (like -almost any character), it does not otherwise start a comment. - - Each non-blank non-comment line must be either a “variable -assignment” or “manual information”. - - A variable assignment line looks like this: - - VARNAME = VARVALUE - - Whitespace around the ‘=’ is optional and ignored. The VARNAME -should consist of letters; case is significant. The VARVALUE is an -arbitrary string, continuing to the end of the line. Variables are then -referenced with ‘${VARNAME}’; variable references can occur in the -VARVALUE. - - A manual information line looks like this: - - MANUAL KEYWORD URLPREFIX - -with MANUAL the short identifier for a manual, KEYWORD being one of: -‘mono’, ‘node’, ‘section’, ‘chapter’, and URLPREFIX described below. -Variable references can occur only in the URLPREFIX. For example (used -in the canonical ‘htmlxref.cnf’): - - G = http://www.gnu.org - GS = ${G}/software - hello mono ${GS}/hello/manual/hello.html - hello chapter ${GS}/hello/manual/html_chapter/ - hello section ${GS}/hello/manual/html_section/ - hello node ${GS}/hello/manual/html_node/ - - If the keyword is ‘mono’, URLPREFIX gives the host, directory, and -file name for MANUAL as one monolithic file. - - If the keyword is ‘node’, ‘section’, or ‘chapter’, URLPREFIX gives -the host and directory for MANUAL split into nodes, sections, or -chapters, respectively. - - When ‘texi2any’ is generating a link to another Texinfo manual, it -will prefer to use a line for the manual with the same splitting option -as the current output. That is, when generating monolithic output -(‘--no-split’), a ‘mono’ URL will be preferred; when generating output -that is split by node, a ‘node’ URL will be preferred, etc. - - If no information line with the preferred splitting option is present -for a given manual, then other lines for that manual can be used if -present. Here is the full search order for each splitting option: - - node ⇒ node, section, chapter, mono - section ⇒ section, chapter, node, mono - chapter ⇒ chapter, section, node, mono - mono ⇒ mono, chapter, section, node - - These section- and chapter-level cross-manual references can succeed -only when the target manual was created using ‘--node-files’; this is -the default for split output. - - At present, the ‘htmlxref.cnf’ file distributed with GNU Texinfo -serves as the main resource to locate Texinfo HTML manuals in the World -Wide Web. Since it is installed in a location used by ‘texi2any’, -information on HTML manuals found in this file will be used for -cross-references by default. - - If you have additions or corrections to the ‘htmlxref.cnf’ -distributed with Texinfo, please email <bug-texinfo@gnu.org> as usual. -If you publish a Texinfo HTML manual on the World Wide Web, having an -up-to-date location listed in ‘htmlxref.cnf’ should ensure that all HTML -manuals generated by ‘texi2any’ use this location for cross-references -automatically. You can get the latest version from -<http://ftpmirror.gnu.org/texinfo/htmlxref.cnf>. - - -File: texinfo.info, Node: HTML Output Customization, Prev: HTML Xref, Up: Generating HTML - -21.8 HTML Output Customization -============================== - -You can use many user-definable customization variables to influence the -HTML output. *Note HTML Customization Variables List:: for the full -list. The possibilities offered by the customization variables, ranging -from overall document structure and HTML language variant to formatting -of specific constructs, should cover most needs not already satisfied by -CSS customization (*note HTML CSS::). - - If you ever need more control, you may be able to achieve this -through the use of initialization files, which are described in a -separate manual (*note (texi2any_api)Top::). - - If the ‘TEXI2HTML’ customization variable is set, the generated HTML -is as compatible as possible with ‘texi2html’ (*note texi2html::). The -effect of this variable is quite unusual, as it does not directly modify -the output, but sets a lot of other customization variables, including -some that may only be set in initialization files and are described in -the separate manual on ‘texi2any’ Output Customization. Unset in the -default case. - -* Menu: - -* HTML Output Structure Customization:: -* File Names and Links Customization for HTML:: -* Customization of Navigation and Headers:: -* HTML Features Customization:: -* Customization of Inserted HTML Code:: -* HTML Customization of Specific Output:: -* HTML Customization for Math:: -* JavaScript Interface and Licenses:: -* HTML Customization Variables List:: - - -File: texinfo.info, Node: HTML Output Structure Customization, Next: File Names and Links Customization for HTML, Up: HTML Output Customization - -21.8.1 HTML Output Structure Customization ------------------------------------------- - -You can use customization variables to control the output of document -titles and tables of contents or other similar parts of documents. -Other variables have an effect on how ‘texi2any’ views the structure of -a document and how output is split into output files. - - If ‘SHOW_TITLE’ is ‘undef’, the default, no title is output at the -start of the output. If you set this variable, by default the full -‘@titlepage’ is used for the title; unset ‘USE_TITLEPAGE_FOR_TITLE’ to -get a simple title string. - - By default, the HTML output is tailored for online viewing, with the -Top node being output as a top-level starting point for the reader. You -can set ‘NO_TOP_NODE_OUTPUT’ to remove the Top node, which results in -output that may be more similar to the format of a printed book. By -default, setting ‘NO_TOP_NODE_OUTPUT’ also outputs a title at the -beginning of the document, although you can override this by setting -‘SHOW_TITLE’ to 0. - - In each node, by default a list is output of subordinate sections for -navigation. This corresponds to the ‘FORMAT_MENU’ variable being set to -‘sectiontoc’. To use menus instead to navigate in the document (as in -Info format; *note Menus::), set ‘FORMAT_MENU’ to ‘menu’. If you do not -want either menus or subordinate sections list for navigation to be -output, set ‘FORMAT_MENU’ to ‘nomenu’. - - By default, the table of contents for the entire document is output -at the end of the ‘@top’ section, to have the main location for -navigation in the whole document early on. This corresponds to the -‘CONTENTS_OUTPUT_LOCATION’ variable set to ‘after_top’. - - You can have the table of contents output after the title (if -‘SHOW_TITLE’ is set) by setting ‘CONTENTS_OUTPUT_LOCATION’ to -‘after_title’. To output the table of contents at the end of the -document or to a separate file, if output is split, set -‘CONTENTS_OUTPUT_LOCATION’ to ‘separate_element’. You can also set -‘CONTENTS_OUTPUT_LOCATION’ to ‘inline’: in this case, the the tables of -contents are output where the corresponding @-command, for example -‘@contents’, is used. - - You may find it useful to set ‘CONTENTS_OUTPUT_LOCATION’ when -‘FORMAT_MENU’ is set to ‘menu’ in order to use menus for navigation. In -this case, there should already be a master menu in the ‘@top’ section -(*note Master Menu Parts::), and so the reader of your manual may not -need a table of contents at the same location. - - By default, each node is output in a separate file. You can change -this with the ‘--split’ command-line option, which is equivalent to -setting the ‘SPLIT’ variable. ‘SPLIT’ can take the values ‘chapter’, -‘section’, or ‘node’, or be set to an empty string to indicate non-split -output. *Note Splitting Output::. - - Elementary units called “output units” are used for output, with each -output file containing the content for one or more output units, -depending on the value of ‘SPLIT’. Output units contain the content -associated with a node or a sectioning command. In typical Texinfo -document sources, a node command is almost always associated with an -immediately following sectioning command. - - The customization variable ‘USE_NODES’ determines whether the node or -the sectioning command is considered to be the main command. By -default, nodes are used as the main component for the separation of -output units. You can set ‘USE_NODES’ to false to preferentially use -sectioning to decide where output units are separated. When sections -are the main components of output units, "isolated" nodes not directly -associated with a sectioning command are associated with the following -sectioning command, while sectioning commands without nodes constitute -output units. Conversely, when nodes are the main components of output -units, isolated sections not associated with nodes are associated with -the previous node, and isolated nodes are output units. - - By default, the ‘USE_NODES’ setting also affects whether next, up and -prev links in node headers link to nodes or sections, with nodes used if -true, and sections used if false. You can override this using the -‘USE_NODE_DIRECTIONS’ variable (default value is undefined). Note that -this setting does not determine the link string, only where the links -points to; see *note xrefautomaticsectiontitle: Three Arguments. for the -link string customization. If nodes and sections are systematically -associated, this customization has no practical effect. - - You can add a special “About” element explaining how to navigate by -setting ‘DO_ABOUT’, set to 0 in the default case (no About element). If -‘PROGRAM_NAME_IN_ABOUT’ is also set, output the program name and -miscellaneous related information in the About special element; default -false. - - In the case of non-split output, by default only one file is output -which contains any About elements (with ‘DO_ABOUT’) and tables of -contents elements (with ‘CONTENTS_OUTPUT_LOCATION’ set to -‘separate_element’). If you prefer such special elements to be -separate, set ‘MONOLITHIC’ to 0 to output special elements to separate -files. - - In Texinfo code, a ‘@node’ command is usually followed by a -sectioning command, providing a heading for the node. By default, a -node with no following sectioning command, but followed by a command -like ‘@heading’, has its heading provided by the heading command. This -avoids having both the node name and the heading command as headings. -To have the node name used as heading in that case, set -‘USE_NEXT_HEADING_FOR_LONE_NODE’ to 0. - - -File: texinfo.info, Node: File Names and Links Customization for HTML, Next: Customization of Navigation and Headers, Prev: HTML Output Structure Customization, Up: HTML Output Customization - -21.8.2 File Names and Links Customization for HTML --------------------------------------------------- - -There are customization variables to control output file names, and to -customize hyperlinks output within output files. - - You can specify the output file names with more control than merely -the command line option ‘--output’ (*note Invoking texi2any::). The -‘PREFIX’ customization variable overrides the base name of the file -given by ‘@setfilename’ or the file name and should not contain any -directory components. To alter intermediate directories, use the -‘SUBDIR’ customization variable. Finally, you may also override the -extension with the customization variable ‘EXTENSION’. This variable -should be ‘undef’ if no extension is to be added. If you set -‘CASE_INSENSITIVE_FILENAMES’, file names are constructed as if the -filesystem were case insensitive. In that case, one file name is used -for all files differing only by case. - - Furthermore, the customization variable ‘TOP_FILE’ overrides the -output file name for the top element. This is, in general, only taken -into account when output is split. - - If ‘USE_ACCESSKEY’ is set, the default, the ‘accesskey’ attribute is -used to provide keyboard shortcuts on some navigation hyperlinks. ‘n’ -is used for links to the next node or section, ‘p’ for links to the -previous node or section, and ‘u’ for up direction links. Similarly, if -the ‘USE_REL_REV’ customization variable is set, the default, the ‘rel’ -attribute is used in navigation to define the relationship between the -current page and the linked resource. For example, the ‘contents’ ‘rel’ -attribute is set for a link to the table of contents, the ‘next’ ‘rel’ -attribute is set for a link to the next node or section. - - There are customization variables that are specific to particular -types of link: - -_Cross-reference command links_ - If the second argument of a cross-reference command is set, it is - displayed as hyperlink text (*note Two Arguments::). Otherwise the - ‘XREF_USE_NODE_NAME_ARG’ customization variable is used to - determine the hyperlink text. If set to 1, use the node name - (first) argument in cross-reference @-commands for the text - displayed as the hyperlink. If set to 0, use the node name if - ‘USE_NODES’ is set, otherwise the section name. If set to ‘undef’, - use the first argument in preformatted environments, otherwise use - the node name or section name depending on ‘USE_NODES’. The - default is ‘undef’. - -_Links to floats_ - If you set ‘XREF_USE_FLOAT_LABEL’ (default is off), the float label - is used instead of the type followed by the float number (*note - @float::). - -_Links to nodes or sections for index entries_ - In ‘@printindex’ formatting, two links are output: a link to the - index entry, and a link to the root @-command containing the index - entry. The ‘NODE_NAME_IN_INDEX’ customization variable specifies - whether the node or section should be used for the link to the root - @-command. If true, use node names in index entries, otherwise use - section names. If undefined, use the ‘USE_NODES’ value to - determine which root @-command to prefer. Default is undefined. - -_Menu links_ - Node names are used in menu entries links by default. Set - ‘NODE_NAME_IN_MENU’ to false to use section names instead. - -_Table of contents links_ - If a main Table of contents and a Short table of contents are both - present, the cross-references in the Short table of contents link - to the corresponding Table of Contents entries in the default case. - Set ‘SHORT_TOC_LINK_TO_TOC’ to 0 to link to the sectioning commands - instead. - - If you set ‘TOC_LINKS’, links from headings to toc entries are - created; default false. - -_Top node Up direction link_ - By default no Up reference is generated for the Top node. You can - set ‘IGNORE_REF_TO_TOP_NODE_UP’ so that any references to the Top - Up node (by default, ‘(dir)’) appearing in other cross-references - are also ignored. ‘IGNORE_REF_TO_TOP_NODE_UP’ is not set in the - default case. (*Note TOP_NODE_UP::.) - - If the manual is referred to in a web page together with other - manuals, it may be relevant to link to that page. Set - ‘TOP_NODE_UP_URL’ to the URL used for Top node up references. If - ‘TOP_NODE_UP_URL’ is set, the value of ‘TOP_NODE_UP’ is used for - the hyperlink text, with ‘(dir)’ as default. ‘TOP_NODE_UP’ can be - used in attribute, so should not contain any element. - - For example, in the GNU project <http://www.gnu.org/manual/> - collects links to most GNU manuals; therefore ‘TOP_NODE_UP_URL’ is - best specified as ‘/manual/’ if the manual will be installed on - ‘www.gnu.org’. - - *Note First Node:: for more about the Top node pointers. - -_images links_ - If ‘IMAGE_LINK_PREFIX’ is set, the associated value is prepended to - the image file links; default unset. This could be useful if image - files are in a specific subdirectory. - - Cross-references between HTML manuals are specified precisely (*note -HTML Xref::). Customization of manual locations is provided through the -‘htmlxref.cnf’ file (*note HTML Xref Configuration::). - - Default directories and file names are used for cross-reference -target manuals not found through HTML Xref Configuration (*note HTML -Xref Link Basics::). By default, a warning is given for each external -manual not in the HTML Xref configuration files. If you do not want -warnings about such manuals, you should set ‘CHECK_HTMLXREF’ to ‘0’. -This could be relevant, for example, if you know that manuals are -installed locally. - - You can use customization variables to specify the HTML Xref -Configuration more precisely. By default, the file name used for HTML -Xref configuration is searched for in directories, and all the files -found are used. You can set the ‘HTMLXREF_MODE’ customization variable -to modify how cross-references to other manuals information is -determined. If ‘HTMLXREF_MODE’ is set to ‘file’, the file name is -directly used as the source of information. If ‘HTMLXREF_MODE’ is set -to ‘none’ no information is used. The default case is obtained with -‘HTMLXREF_MODE’ not defined or set to any other value. The -‘HTMLXREF_FILE’ customization variable sets the file used for HTML Xref -configuration to another value than the default, ‘htmlxref.cnf’. If -‘HTMLXREF_FILE’ contains directories, it is loaded if found, but is not -searched for in directories. By default, the distant manual is -considered to be split or monolithic based on the splitting of the -manual being output. You can set it explicitly, instead, by setting -‘EXTERNAL_CROSSREF_SPLIT’. - - There are also customization variables that modify various other -aspects of cross-references: - - • You can set the file name used for the Top node in cross-references - by setting the ‘TOP_NODE_FILE_TARGET’ customization variable value; - default is ‘index.html’. - - • You specify a base directory for external manuals with - ‘EXTERNAL_DIR’; in the default case, there is none. - - • Similarly, you set the file extension for cross-references to other - manuals with ‘EXTERNAL_CROSSREF_EXTENSION’, which, if unset, is - based on ‘EXTENSION’. You can change the maximum length of a base - file name by setting ‘BASEFILENAME_LENGTH’; by default, the base - file names are truncated to 245 characters (*note HTML Xref Link - Basics::). - -However, in general use of these will make cross-manual references -"invalid" in the sense that the generated URL will not link to the -external manual, unless this manual was itself also produced using the -corresponding customization. It is therefore, in general, better to use -HTML Xref Configuration only. - - -File: texinfo.info, Node: Customization of Navigation and Headers, Next: HTML Features Customization, Prev: File Names and Links Customization for HTML, Up: HTML Output Customization - -21.8.3 Customization of Navigation and Headers ----------------------------------------------- - -Headers and footers with a navigation panel are output in the default -case. If you use ‘--no-headers’, or if the customization variable -‘HEADERS’ is unset, the navigation panel is only inserted at the -beginning of split files. - - By default, ‘<link>’ elements are generated in the HTML ‘<head>’ to -specify relationships between the HTML page and other resources, for -example the Top node, the next node or the table of contents. Unset -‘USE_LINKS’ to avoid those elements. - - The ‘<title>’ and the document description in ‘<head>’ are based on -‘@settitle’ (*note @settitle::). If the manual is split, the node name -is also added to this HTML title. Set ‘SECTION_NAME_IN_TITLE’ to use -the argument of the associated chapter structuring command instead of -the node name. - - By default, if an input encoding is set (typically through -‘@documentencoding’), this information is used to set the output -encoding name, otherwise the output encoding is based on the default -encoding. A ‘<meta>’ tag is output, in the ‘<head>’ section of the -HTML, to specify the output encoding. *Note @documentencoding::. To -set the output encoding explicitly, set ‘OUTPUT_ENCODING_NAME’. The -specified encoding should be a normalized charset name usable in HTML, -typically one of the preferred IANA encoding names. - - When output is split at nodes (*note HTML Splitting::), the -‘WORDS_IN_PAGE’ customization variable value specifies the approximate -minimum page length at which a navigation panel is placed at the bottom -of a page. - - The appearance of the navigation panel is affected by the following -customization variables, all false in the default case: - -‘DATE_IN_HEADER’ - Put the document generation date in the header. - -‘HEADER_IN_TABLE’ - Use tables for header formatting rather than a simple ‘<div>’. - -‘ICONS’ - Use icons for the navigation panel. - -‘PROGRAM_NAME_IN_FOOTER’ - If set, output the program name and miscellaneous related - information in the page footers. - -‘VERTICAL_HEAD_NAVIGATION’ - If set, a vertical navigation panel is used. - - Setting ‘ICONS’ is necessary but not sufficient to get icons for -direction buttons, since no button image is specified in the default -case. In addition, you need to set the ‘ACTIVE_ICONS’ and -‘PASSIVE_ICONS’ customization variables. You can only do this using an -initialization file (*note Invoking texi2any::). *Note -(texi2any_api)Top::. - - -File: texinfo.info, Node: HTML Features Customization, Next: Customization of Inserted HTML Code, Prev: Customization of Navigation and Headers, Up: HTML Output Customization - -21.8.4 HTML Features Customization ----------------------------------- - -By default HTML is generated, but you can set ‘USE_XML_SYNTAX’ in order -to generate XML compatible code. The main difference is that ‘/>’ -instead of ‘>’ ends tags such as ‘<img>’ or ‘<link>’ that do not have a -closing tag (such tags create so-called “void elements”). - - To set the “DOCTYPE”, set the ‘DOCTYPE’ customization variable. The -default is the simple DTD-less DOCTYPE used for HTML5. - - You can set an XML compatible file beginning instead: - texi2any --html my_manual.texi -c USE_XML_SYNTAX \ - -c DOCTYPE='<?xml version="1.0" encoding="UTF-8"?> - <!DOCTYPE html>' - - You could also set the DOCTYPE to HTML 4.01 Transitional: - texi2any --html my_manual.texi -c DOCTYPE=\ - '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" - "http://www.w3.org/TR/html4/loose.dtd">' - - By default, entities are used for doubled single-quote characters -(*note Inserting Quotation Marks::), and ‘---’ and ‘--’ (*note -Conventions::). Set ‘USE_ISO’ to ‘0’ in the unlikely case that you want -a simpler output. By default textual entities are used when possible. -Set ‘USE_NUMERIC_ENTITY’ to use numeric entities only. Set -‘OUTPUT_CHARACTERS’ to output accented characters based on the output -encoding instead of entities. - - By default a custom attribute, as allowed by the standard, is used to -provide the target manual name in cross-references. If it is not -desirable, for example to generate strict XHTML, you can set -‘NO_CUSTOM_HTML_ATTRIBUTE’ to prevent custom attributes being output. - - Copiable links are output for link targets for the definition -commands (*note Definition Commands::), table commands (*note Two-column -Tables::) where an index entry is defined and headings. A link appears -as a '¶' sign that appears when you hover the mouse pointer over the -heading text. Unset ‘COPIABLE_LINKS’ to prevent copiable links output. - - -File: texinfo.info, Node: Customization of Inserted HTML Code, Next: HTML Customization of Specific Output, Prev: HTML Features Customization, Up: HTML Output Customization - -21.8.5 Customization of Inserted HTML Code ------------------------------------------- - -There are variables to set the HTML code inserted at various points in -the output. - - Opening quote and closing quotes needed, e.g. for ‘@samp’ output, are -set to: - -‘‘’ and ‘’’ - By default, with ‘OPEN_QUOTE_SYMBOL’ and ‘CLOSE_QUOTE_SYMBOL’ - undefined. - -‘‘’ and ‘’’ - If you set ‘USE_NUMERIC_ENTITY’. - -An opening and closing quote character - If you set ‘OUTPUT_CHARACTERS’ and the output encoding includes - that character. - -‘OPEN_QUOTE_SYMBOL’ and ‘CLOSE_QUOTE_SYMBOL’ - If you set those customization variables. - - To change the HTML code for breaks (horizontal rule) inserted in -various contexts, set ‘DEFAULT_RULE’, which is used for most horizontal -separators output in the resulting HTML, and set ‘BIG_RULE’ for the -wider separator sometimes used. - - You can set ‘HTML_ROOT_ELEMENT_ATTRIBUTES’ to add attributes to the -‘<html>’ element. You can define the variable ‘EXTRA_HEAD’ to add text -within the ‘<head>’ HTML element. Similarly, the value of -‘AFTER_BODY_OPEN’ is added just after ‘<body>’ is output. These -variables are empty by default. - - You can set the attributes of the ‘<body>’ element by defining the -customization variable ‘BODY_ELEMENT_ATTRIBUTES’. By default, the -‘lang’ attribute is set to the document language (*note -@documentlanguage::). - - You can define the variable ‘PRE_BODY_CLOSE’ to add text just before -the HTML ‘</body>’ element. Nothing is added by default. - - Similarly, the following variables allow for some useful control of -the formatting of the table of contents and the short table of contents: - -‘BEFORE_TOC_LINES’ - Inserted before the table of contents text. - -‘AFTER_TOC_LINES’ - Inserted after the table of contents text. - -‘BEFORE_SHORT_TOC_LINES’ - Inserted before the short table of contents text. - -‘AFTER_SHORT_TOC_LINES’ - Inserted after the short table of contents text. - - At the time of writing, the default values of these variables are set -to opening and closing tags for a ‘<div>’ element enclosing the tables -of contents. - - -File: texinfo.info, Node: HTML Customization of Specific Output, Next: HTML Customization for Math, Prev: Customization of Inserted HTML Code, Up: HTML Output Customization - -21.8.6 HTML Customization of Specific Output --------------------------------------------- - -The output of specific constructs is customizable. - - In HTML, heading levels translate to ‘<hN>’ elements where N is the -heading level. The following header levels are customizable: - -‘CHAPTER_HEADER_LEVEL’ - Header formatting level used for chapter level sectioning commands; - default ‘2’. - -‘FOOTNOTE_END_HEADER_LEVEL’ -‘FOOTNOTE_SEPARATE_HEADER_LEVEL’ - Header formatting level used for the footnotes header with the - 'end' footnotestyle or for the 'separate' footnotestyle; default - ‘4’. *Note Footnote Styles::. - -‘MAX_HEADER_LEVEL’ - Maximum header formatting level used (higher header formatting - level numbers correspond to lower sectioning levels); default ‘4’. - - You may modify the appearance of various constructs by setting: - -‘DEF_TABLE’ - If set, a ‘<table>’ construction for ‘@deffn’ and similar - @-commands is used (looking more like the TeX output), instead of - definition lists; default false. - -‘INDENTED_BLOCK_COMMANDS_IN_TABLE’ - If set, use tables for indentation of indented block commands; - default false. - -‘INDEX_ENTRY_COLON’ - Symbol used between the index entry and the associated node or - section; default is an empty string. - -‘MENU_ENTRY_COLON’ - Symbol used between the menu entry and the description; default - ‘:’. - -‘MENU_SYMBOL’ - Symbol used in front of menu entries when node names are used for - menu entries formatting; default is undefined and set to ‘•’ - if ‘USE_NUMERIC_ENTITY’ is not set, and to ‘’’ if set. - -‘NUMBER_FOOTNOTES’ -‘NO_NUMBER_FOOTNOTE_SYMBOL’ - By default footnotes are numbered. With ‘--no-number-footnotes’ or - if ‘NUMBER_FOOTNOTES’ is set to 0, a ‘*’ is used instead, or the - ‘NO_NUMBER_FOOTNOTE_SYMBOL’ customization variable value, if set. - - -File: texinfo.info, Node: HTML Customization for Math, Next: JavaScript Interface and Licenses, Prev: HTML Customization of Specific Output, Up: HTML Output Customization - -21.8.7 HTML Customization for Math ----------------------------------- - -You can select various methods to render math in HTML (*note Inserting -Math::). This is controlled by the ‘HTML_MATH’ customization variable. -By default, the customization variable is unset and the HTML output is -only emphasized. You may select other options in order to display -properly formatted mathematics. For some of these options, if you set -‘--iftex’, ‘@tex’ sections are converted to HTML, and if you set -‘--iflatex’ ‘@latex’ sections are converted to HTML. - -‘l2h’ - Use the ‘latex2html’ program to produce image files for - mathematical material. - - ‘latex2html’ will process LaTeX math in math commands, including - TeX math compatible with LaTeX. ‘latex2html’ is used to translate - ‘@tex’ and ‘@latex’ sections to HTML if the corresponding sections - are not ignored. Note that ‘latex2html’ can only process LaTeX, - including when processing ‘@tex’ sections. - - Processing with ‘latex2html’ should leave files in the output - directory, with ‘-l2h’ in their name, in particular a cache file to - avoid redoing translation HTML if already done. - - *Note latex2html Customization Variables::. - -‘mathjax’ - Inserts references in the output files to MathJax scripts to format - mathematics. The MathJax option requires JavaScript to be enabled - in the browser to work. - - MathJax handles LaTeX math, including commonly used TeX math - compatible with LaTeX. Some specific constructs (for example some - uses of ‘\text’) are not supported, but this should not be a - practical issue. - - If math commands are actually processed, a JavaScript license web - label is generated for MathJax scripts (*note JavaScript license - web labels::). - - *Note MathJax Customization Variables::. - -‘t4h’ - Use the ‘tex4ht’ program to produce HTML for mathematical material. - - ‘tex4ht’ will process LaTeX math in math commands, including TeX - math compatible with LaTeX. ‘tex4ht’ is used to translate ‘@tex’ - and ‘@latex’ sections to HTML if the sections are not ignored. The - ‘@tex’ sections are processed in TeX mode, while the ‘@latex’ - sections are processed as LaTeX. - - Processing with ‘tex4ht’ should leave files in the output - directory, with ‘_tex4ht’ in their name. - - *Note tex4ht Customization Variables::. - - By default, with ‘CONVERT_TO_LATEX_IN_MATH’ undefined, setting -‘HTML_MATH’ also sets ‘CONVERT_TO_LATEX_IN_MATH’. In that case Texinfo -@-commands inside ‘@math’ and ‘@displaymath’ are converted to LaTeX, -before converting the ‘@math’ or ‘@displaymath’ to HTML. - -* Menu: - -* MathJax Customization Variables:: -* latex2html Customization Variables:: -* tex4ht Customization Variables:: - - -File: texinfo.info, Node: MathJax Customization Variables, Next: latex2html Customization Variables, Up: HTML Customization for Math - -21.8.7.1 MathJax Customization Variables -........................................ - -This table lists the customization variables which can be used when -MathJax is being used, which will be the case when ‘HTML_MATH’ is set to -‘mathjax’. - -‘MATHJAX_CONFIGURATION’ - Data to add to the global ‘MathJax’ configuration object. Specify - as a comma-separated list of ‘COMPONENT: { NAME: VALUE, ... }’ - pairs. - - For example, you could set ‘MATHJAX_CONFIGURATION’ to - - options: { enableMenu: false }, - loader: { - load: [\'[tex]/physics\'], - versionWarnings: false - }, - tex: { - packages: {\'[+]\': [\'physics\']} - } - - to disable the MathJax right-click menu, and to load the MathJax - ‘physics’ extension. (See Configuring MathJax - (https://docs.mathjax.org/en/latest/options/index.html) in the - MathJax documentation.) - - If you override any of the defaults for this configuration output - by ‘texi2any’ you should make sure that your new settings align - with the HTML output produced by ‘texi2any’. - -‘MATHJAX_SCRIPT’ - URL of the MathJax component file (e.g. ‘tex-svg.js’) you are - using. ‘texi2any’ provides a default value for this variable, but - you are encouraged to host this file yourself on your website so - that you are not dependent on others' hosting. - -‘MATHJAX_SOURCE’ - A URL of the full source code in its preferred form for - modification, or instructions for obtaining such source code, for - the component file named by ‘MATHJAX_SCRIPT’. 'Preferred form for - modification' means that this should not be in a 'minified' form. - Used in the license labels page (*note JavaScript license web - labels::). - - Again, ‘texi2any’ provides a default value for this variable, but - you are encouraged to host the source code for MathJax and its - dependencies yourself. This is in order to make the source code - available reliably, and to reduce you and your users' dependence on - others' distribution systems. - - -File: texinfo.info, Node: latex2html Customization Variables, Next: tex4ht Customization Variables, Prev: MathJax Customization Variables, Up: HTML Customization for Math - -21.8.7.2 ‘latex2html’ Customization Variables -............................................. - -This table lists the customization variables which can be used when -‘latex2html’ is being used to convert ‘@math’, ‘@displaymath’, ‘@latex’ -and ‘@tex’ sections for HTML. These customization variables are -relevant only if ‘HTML_MATH’ is set to ‘l2h’. - - To actually convert ‘@tex’ sections, ‘--iftex’ should be used, and to -actually convert ‘@latex’ sections, ‘--iflatex’ should be used. - -‘L2H_CLEAN’ - If set, the intermediate files generated in relation with - ‘latex2html’ are removed; default true. - -‘L2H_FILE’ - If set, the given file is used as ‘latex2html’'s init file; default - unset. - -‘L2H_HTML_VERSION’ - The HTML version used in the ‘latex2html’ call; default unset. - -‘L2H_L2H’ - The program invoked as ‘latex2html’; default is ‘latex2html’. - -‘L2H_SKIP’ - If set to a true value, the actual call to ‘latex2html’ is skipped; - previously generated content is reused instead. If set to 0, the - cache is not used at all. If set to ‘undef’, the cache is used for - as many TeX fragments as possible and for any remaining the command - is run. The default is ‘undef’. - -‘L2H_TMP’ - Set the directory used for temporary files. None of the file name - components in this directory name may start with ‘.’; otherwise, - ‘latex2html’ will fail (because of ‘dvips’). The default is the - empty string, which means the current directory. - - -File: texinfo.info, Node: tex4ht Customization Variables, Prev: latex2html Customization Variables, Up: HTML Customization for Math - -21.8.7.3 ‘tex4ht’ Customization Variables -......................................... - -This table lists the customization variables which can be used when -‘tex4ht’ is being used to convert ‘@math’, ‘@displaymath’, ‘@tex’ and -‘@latex’ sections for HTML. These customization variables are relevant -only if ‘HTML_MATH’ is set to ‘t4h’. - - To actually convert ‘@tex’ sections, ‘--iftex’ should be used, and to -actually convert ‘@latex’ sections, ‘--iflatex’ should be used. - -‘T4H_LATEX_CONVERSION’ - If set, the conversion type used for ‘@latex’ sections. - Possibilities are ‘latex’, ‘tex’ and ‘texi’. Set to ‘latex’ if not - defined. - -‘T4H_MATH_CONVERSION’ - If set, the conversion type used for ‘@math’ and ‘@displymath’. - Possibilities are ‘latex’, ‘tex’ and ‘texi’. Set to ‘tex’ if not - defined. - -‘T4H_TEX_CONVERSION’ - If set, the conversion type used for ‘@tex’ sections. - Possibilities are ‘latex’, ‘tex’ and ‘texi’. Set to ‘tex’ if not - defined. - - -File: texinfo.info, Node: JavaScript Interface and Licenses, Next: HTML Customization Variables List, Prev: HTML Customization for Math, Up: HTML Output Customization - -21.8.8 JavaScript Interface and Licenses ----------------------------------------- - -You can add an experimental JavaScript browsing interface to the HTML -output by setting ‘INFO_JS_DIR’ value to the name of a directory in -which to place the code for this interface. For example, ‘texi2any ---html -c INFO_JS_DIR=js MANUAL.texi’ places files in a ‘js’ directory -under the output. This interface provides some of the functionality of -the Info browsers in a web browser, such as keyboard navigation and -index lookup. This only works with non-split HTML output. - - By default, a “JavaScript license web labels page” is set up to give -licensing information and source code for any JavaScript used by the -HTML output (see <https://www.gnu.org/licenses/javascript-labels.html>). -To avoid generating a JavaScript license web labels page, set -‘JS_WEBLABELS’ to ‘omit’. With ‘JS_WEBLABELS’ set to ‘generate’, the -default, generate a labels page at ‘JS_WEBLABELS_FILE’, -‘js_licenses.html’ in the default case, and link to it in the HTML -output files. With ‘JS_WEBLABELS’ set to ‘reference’, link to the -labels file given by ‘JS_WEBLABELS_FILE’ in the output, and do not -generate a labels file. This last setting is useful if you separately -maintain a single labels file for a larger website that includes your -manual. - - Labels files can be generated if ‘INFO_JS_DIR’ is set, or if -‘HTML_MATH’ is set to ‘mathjax’ (*note MathJax scripts::). - - -File: texinfo.info, Node: HTML Customization Variables List, Prev: JavaScript Interface and Licenses, Up: HTML Output Customization - -21.8.9 HTML Customization Variables List ----------------------------------------- - -This table lists the customization variables which apply to HTML output. - -‘AFTER_BODY_OPEN’ - Text added at the beginning of each HTML file; default unset. - -‘AFTER_SHORT_TOC_LINES’ -‘AFTER_TOC_LINES’ - Text output after the short table of contents for - ‘AFTER_SHORT_TOC_LINES’ and after the table of contents for - ‘AFTER_TOC_LINES’ if set; otherwise, a default string is used. At - the time of writing, a ‘</div>’ element is closed. - - In general, you should set ‘BEFORE_SHORT_TOC_LINES’ if - ‘AFTER_SHORT_TOC_LINES’ is set, and you should set - ‘BEFORE_TOC_LINES’ if ‘AFTER_TOC_LINES’ is set. - -‘BASEFILENAME_LENGTH’ - The maximum length of a base file name; default 245. Changing this - would make cross-manual references to such long node names invalid - (*note HTML Xref Link Basics::). - -‘BEFORE_SHORT_TOC_LINES’ -‘BEFORE_TOC_LINES’ - If set, text output before the short table of contents for - ‘BEFORE_SHORT_TOC_LINES’ and before the table of contents for - ‘BEFORE_TOC_LINES’, otherwise a default string is used. At the - time of writing, a ‘<div ...>’ element is opened. - - In general you should set ‘AFTER_SHORT_TOC_LINES’ if - ‘BEFORE_SHORT_TOC_LINES’ is set, and you should set - ‘AFTER_TOC_LINES’ if ‘BEFORE_TOC_LINES’ is set. - -‘BIG_RULE’ - Rule used after and before the top element and before special - elements, but not for footers and headers; default ‘<hr>’. - -‘BODY_ELEMENT_ATTRIBUTES’ - The ‘<body>’ attributes text. By default, sets the HTML ‘lang’ - attribute to the document language (*note @documentlanguage::). - -‘CASE_INSENSITIVE_FILENAMES’ - Construct output file names as if the filesystem were case - insensitive (*note HTML Splitting::); default false. - -‘CHAPTER_HEADER_LEVEL’ - Header formatting level used for chapter level sectioning commands; - default ‘2’. - -‘CHECK_HTMLXREF’ - Check that manuals which are the target of external - cross-references (*note Four and Five Arguments::) are present in - ‘htmlxref.cnf’ (*note HTML Xref Configuration::); default true. - -‘CONTENTS_OUTPUT_LOCATION’ - If set to ‘after_top’, output the contents at the end of the ‘@top’ - section. If set to ‘inline’, output the contents where the - ‘@contents’ and similar @-commands are located. If set to - ‘separate_element’ output the contents in separate elements, either - at the end of the document if not split, or in a separate file. If - set to ‘after_title’ the tables of contents are output after the - title; default ‘after_top’. - -‘CONVERT_TO_LATEX_IN_MATH’ - If set, try to convert any Texinfo @-commands inside ‘@math’ and - ‘@displaymath’ to LaTeX, before converting the ‘@math’ or - ‘@displaymath’ to HTML. Default ‘undef’. If undefined, set if - ‘HTML_MATH’ is set. - -‘COPIABLE_LINKS’ - If set, output copiable links for the definition commands (*note - Definition Commands::), table commands (*note Two-column Tables::) - where an index entry is defined and headings. A link appears as a - '¶' sign that appears when you hover the mouse pointer over the - heading text. - -‘DATE_IN_HEADER’ - Put the document generation date in the header; off by default. - -‘DEF_TABLE’ - If set, a ‘<table>’ construction for ‘@deffn’ and similar - @-commands is used (looking more like the TeX output), instead of - definition lists; default false. - -‘DEFAULT_RULE’ - Rule used between element, except before and after the top element, - and before special elements, and for footers and headers; default - ‘<hr>’. - -‘DO_ABOUT’ - If set to 0 never do an About special element; if set to 1 always - do an About special element; default 0. - -‘EPUB_CREATE_CONTAINER_FILE’ - If set to 0, do not generate the EPUB output file. Default is set - to 1. - -‘EPUB_KEEP_CONTAINER_FOLDER’ - If set, keep the directory containing the directories and files - needed for EPUB. The EPUB output file is a ZIP archive of this - directory. Default is not defined. Set if not defined and ‘TEST’ - or ‘DEBUG’ is set. *Note EPUB Output File and Directory::. - -‘EXTERNAL_CROSSREF_SPLIT’ - For cross-references to other manuals, this determines if the other - manual is considered to be split or monolithic. By default, it is - set based on the value of ‘SPLIT’. *Note HTML Xref::, and *note - HTML Xref Configuration::. - -‘EXTERNAL_DIR’ - Base directory for external manuals; default none. It is better to - use the general external cross-reference mechanism (*note HTML Xref - Configuration::) than this variable. - -‘EXTERNAL_CROSSREF_EXTENSION’ - File extension for cross-references to other manuals. If unset, - based on ‘EXTENSION’. - -‘EXTRA_HEAD’ - Additional text appearing within ‘<head>’; default unset. - -‘FOOTNOTE_END_HEADER_LEVEL’ - Header formatting level used for the footnotes header with the - 'end' footnotestyle; default ‘4’. *Note Footnote Styles::. - -‘FOOTNOTE_SEPARATE_HEADER_LEVEL’ - Header formatting level used for the footnotes header with the - 'separate' footnotestyle; default ‘4’. *Note Footnote Styles::. - -‘HEADER_IN_TABLE’ - Use tables for header formatting rather than a simple ‘<div>’ - element; default false. - -‘HIGHLIGHT_SYNTAX’ - If set, ‘@example’ blocks with language information as first - argument are highlighted in the HTML output. It is also possible - to specify a default for the language with - ‘HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE’. Syntax highlighting requires - an external program to generate the highlighted HTML. The - ‘HIGHLIGHT_SYNTAX’ value allows to select a specific program. The - possibilities are ‘highlight’, ‘pygments’, any other value standing - for ‘source-highlight’ (*note Syntax Highlighting::). - -‘HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE’ - The default language used for syntax highlighting when there is no - language information. - -‘HTML_MATH’ - Method to use to render ‘@math’ (*note HTML Customization for - Math::). This can be unset, set to ‘mathjax’ (*note MathJax - Customization Variables::), set to ‘l2h’, which uses ‘latex2html’ - (*note latex2html Customization Variables::), or set to ‘t4h’, - which uses ‘tex4ht’ (*note tex4ht Customization Variables::). By - default, setting ‘HTML_MATH’ also sets ‘CONVERT_TO_LATEX_IN_MATH’. - -‘HTML_ROOT_ELEMENT_ATTRIBUTES’ - Use that string for the ‘<html>’ HTML document root element. - Default undefined. - -‘HTMLXREF_FILE’ - Set the file name used for cross-references to other manuals. If - not defined, ‘htmlxref.cnf’ is used (*note HTML Xref - Configuration::). Not defined in the default case. If ‘TEST’ is - set, ‘HTMLXREF_MODE’ is set to the default and ‘HTMLXREF_FILE’ is - not defined, information on cross-references to other manuals is - not used. - - If ‘HTMLXREF_MODE’ is set to ‘file’ the file name is directly used - as the source of information, otherwise the file name is searched - for in directories, and all the files found are used (*note HTML - Xref Configuration::). - -‘HTMLXREF_MODE’ - How cross-references to other manuals information is determined. - If set to ‘none’, no information is used. If set to ‘file’, the - information is determined from a file path, ‘htmlxref.cnf’ in the - default case, or the value of ‘HTMLXREF_FILE’. If not defined (the - default) or set to any other value, search in directories and use - all the files (*note HTML Xref Configuration::). - -‘ICONS’ - Use icons for the navigation panel; default false. - -‘IMAGE_LINK_PREFIX’ - If set, the associated value is prepended to the image file links; - default unset. - -‘INDENTED_BLOCK_COMMANDS_IN_TABLE’ - If set, use tables for indentation of indented block commands; - default false. - -‘INDEX_ENTRY_COLON’ - Symbol used between the index entry and the associated node or - section; default is an empty string. - -‘INFO_JS_DIR’ - (Experimental.) Add a JavaScript browsing interface to the manual. - The value of the variable is the directory to place the code for - this interface, so you would run the program as e.g. ‘texi2any - --html -c INFO_JS_DIR=js MANUAL.texi’ to place files in a ‘js’ - directory under the output. This provides some of the - functionality of the Info browsers in a web browser, such as - keyboard navigation and index lookup. This only works with - non-split HTML output. - - The interface should provide an acceptable fallback in - functionality if JavaScript or web browser features are not - available. However, please be cautious when using this option, in - case you do make your documentation harder to access for some of - your users. - -‘IGNORE_REF_TO_TOP_NODE_UP’ - Ignore references to ‘TOP_NODE_UP’, the up node for the Top node. - -‘INLINE_CSS_STYLE’ - Put CSS directly in HTML elements rather than at the beginning of - the output; default false. - -‘JS_WEBLABELS’ -‘JS_WEBLABELS_FILE’ - Specify how to use a “JavaScript license web labels” page to give - licensing information and source code for any JavaScript used in - the HTML files for the manual. (See - <https://www.gnu.org/licenses/javascript-labels.html>). - - With the value ‘generate’ (the default), generate a labels page at - ‘JS_WEBLABELS_FILE’, and link to it in the HTML output files. Only - do this if actually referencing JavaScript files (either with - ‘HTML_MATH’ set to ‘mathjax’, or when using the experimental JS - browsing interface when ‘INFO_JS_DIR’ is set). With this setting, - ‘JS_WEBLABELS_FILE’ must be a relative file name. - - With the value ‘reference’, link to the labels file given by - ‘JS_WEBLABELS_FILE’ in the output, and do not generate a labels - file. This setting is useful if you separately maintain a single - labels file for a larger website that includes your manual. - - With ‘omit’, neither generate nor link to a labels file. - -‘MAX_HEADER_LEVEL’ - Maximum header formatting level used (higher header formatting - level numbers correspond to lower sectioning levels); default ‘4’. - -‘MENU_ENTRY_COLON’ - Symbol used between the menu entry and the description; default - ‘:’. - -‘MENU_SYMBOL’ - Symbol used in front of menu entries when node names are used for - menu entries formatting; default is undefined and set to ‘•’ - if ‘USE_NUMERIC_ENTITY’ is not set, and to ‘’’ if set. - -‘MONOLITHIC’ - Output only one file including the table of contents. Set by - default, but only relevant when the output is not split. - -‘NO_CSS’ - Do not use CSS; default false. *Note HTML CSS::. - -‘NO_CUSTOM_HTML_ATTRIBUTE’ - Do not output HTML with custom attributes in elements; default - false. - -‘NO_NUMBER_FOOTNOTE_SYMBOL’ - Symbol used for footnotes if ‘NUMBER_FOOTNOTES’ is false. Default - is ‘*’. - -‘NODE_NAME_IN_INDEX’ - If true, use node names in index entries, otherwise prefer section - names. If undefined, use ‘USE_NODES’ value in HTML. Default is - undefined. - -‘NODE_NAME_IN_MENU’ - If set, use node names in menu entries, otherwise prefer section - names; default true. - -‘PRE_BODY_CLOSE’ - If set, the given text will appear at the footer of each HTML file; - default unset. - -‘PROGRAM_NAME_IN_ABOUT’ - Used when an About element is output. If set, output the program - name and miscellaneous related information in About special - element; default false. - -‘PROGRAM_NAME_IN_FOOTER’ - If set, output the program name and miscellaneous related - information in the page footers; default false. - -‘SECTION_NAME_IN_TITLE’ - If set, when output is split, use the argument of the chapter - structuring command (e.g., ‘@chapter’ or ‘@section’) in the - ‘<title>’ instead of the argument to ‘@node’. - -‘SHORT_TOC_LINK_TO_TOC’ - If set, the cross-references in the Short table of contents links - to the corresponding Table of Contents entries, if a Table of - Contents is output; default true. - -‘SHOW_BUILTIN_CSS_RULES’ - Output the built-in default CSS rules on the standard output and - exit. - -‘SHOW_TITLE’ - If set, output the title at the beginning of the document; default - ‘undef’. If set to ‘undef’, setting ‘NO_TOP_NODE_OUTPUT’ also sets - ‘SHOW_TITLE’ for HTML. - -‘TEXI2HTML’ - Generate HTML and try to be as compatible as possible with - ‘texi2html’; default false. - -‘TOC_LINKS’ - If set, links from headings to toc entries are created; default - false. - -‘TOP_FILE’ - This file name may be used for the top-level file. The extension - is set appropriately, if necessary. This is used to override the - default, and is, in general, only taken into account when output is - split, and for HTML. - -‘TOP_NODE_FILE_TARGET’ - File name used for the Top node in cross-references; default is - ‘index.html’. - -‘TOP_NODE_UP_URL’ - A URL used for Top node up references; the default is ‘undef’, in - that case no Top node Up reference is generated. For overriding - the Up pointer name in case ‘TOP_NODE_UP_URL’ is set and for other - formats, see ‘TOP_NODE_UP’ in *note Customization Variables for - Multiple Formats::. *Note File Names and Links Customization for - HTML::. For more about the Top node pointers, *note First Node::. - -‘USE_ACCESSKEY’ - Use ‘accesskey’ in cross-references; default true. - -‘USE_ISO’ - Use entities for doubled single-quote characters (*note Inserting - Quotation Marks::), and ‘---’ and ‘--’ (*note Conventions::); - default true. - -‘USE_LINKS’ - Generate ‘<link>’ elements in the HTML ‘<head>’ output; default - true. - -‘USE_NEXT_HEADING_FOR_LONE_NODE’ - If set, a node not associated with a sectioning command but - followed by a leading command not usually associated with a node, - such as ‘@heading’, before other formatted contents does not have - its name output as a heading, under the assumption that the command - found provides the heading. Default true. - -‘USE_NODE_DIRECTIONS’ - If true, use nodes to determine where next, up and prev link to in - node headers. If false, use sections. If undefined, use - ‘USE_NODES’ value. Default is undefined. Note that this setting - does not determine the link string, only where the links points to; - see *note xrefautomaticsectiontitle: Three Arguments. for the link - string customization. If nodes and sections are systematically - associated, this customization has no practical effect. - -‘USE_REL_REV’ - Use ‘rel’ in cross-references; default true. - -‘USE_TITLEPAGE_FOR_TITLE’ - Use the full ‘@titlepage’ as the title, not a simple title string; - default true. Only relevant if ‘SHOW_TITLE’ is set. - -‘USE_XML_SYNTAX’ - Use XML/XHTML compatible syntax. - -‘VERTICAL_HEAD_NAVIGATION’ - If set, a vertical navigation panel is used; default false. - -‘WORDS_IN_PAGE’ - When output is split by nodes, specifies the approximate minimum - page length at which a navigation panel is placed at the bottom of - a page. To avoid ever having the navigation buttons at the bottom - of a page, set this to a sufficiently large number. The default is - 300. - -‘XREF_USE_FLOAT_LABEL’ - If set, for the float name in cross-references, use the float label - instead of the type followed by the float number (*note @float::). - The default is off. - -‘XREF_USE_NODE_NAME_ARG’ - Only relevant for cross-reference commands with no cross reference - name (second argument). If set to 1, use the node name (first) - argument in cross-reference @-commands for the text displayed as - the hyperlink. If set to 0, use the node name if ‘USE_NODES’ is - set, otherwise the section name. If set to ‘undef’, use the first - argument in preformatted environments, otherwise use the node name - or section name depending on ‘USE_NODES’. The default is ‘undef’. - - -File: texinfo.info, Node: @-Command Details, Next: Tips, Prev: Generating HTML, Up: Top - -Appendix A @-Command Details -**************************** - -Here are the details of @-commands: information about their syntax, a -list of commands, and information about where commands can appear. - -* Menu: - -* Command Syntax:: -* Command List:: -* Command Contexts:: -* Obsolete @-Commands:: - - -File: texinfo.info, Node: Command Syntax, Next: Command List, Up: @-Command Details - -A.1 @-Command Syntax -==================== - -Texinfo has the following types of @-command: - -1. Brace commands - These commands start with @ followed by a letter or a word, - followed by an argument within braces. For example, the command - ‘@dfn’ indicates the introductory or defining use of a term; it is - used as follows: ‘In Texinfo, @@-commands are @dfn{mark-up} - commands.’ - -2. Line commands - These commands occupy an entire line. The line starts with @, - followed by the name of the command (a word); for example, - ‘@center’ or ‘@cindex’. If no argument is needed, the word is - followed by the end of the line. If there is an argument, it is - separated from the command name by a space. Braces are not used. - -3. Block commands - These commands are written at the start of a line, with general - text on following lines, terminated by a matching ‘@end’ command on - a line of its own. For example, ‘@example’, then the lines of a - coding example, then ‘@end example’. Some of these block commands - take arguments as line commands do; for example, ‘@enumerate A’ - opening an environment terminated by ‘@end enumerate’. Here ‘A’ is - the argument. - -4. Symbol insertion commands with no arguments - These commands start with @ followed by a word followed by a left - and right- brace. These commands insert special symbols in the - document; they do not take arguments. Some examples: ‘@dots{}’ ⇒ - ‘...’, ‘@equiv{}’ ⇒ ‘≡’, ‘@TeX{}’ ⇒ 'TeX', and ‘@bullet{}’ ⇒ ‘•’. - -5. Non-alphabetic commands - The names of commands in all of the above categories consist of - alphabetic characters, almost entirely in lower-case. Unlike - those, the non-alphabetic commands consist of an @ followed by a - punctuation mark or other character that is not part of the Latin - alphabet. Non-alphabetic commands are almost always part of text - within a paragraph. The non-alphabetic commands include ‘@@’, - ‘@{’, ‘@}’, ‘@.’, ‘@SPACE’, and most of the accent commands. - -6. Miscellaneous commands - There are a handful of commands that don't fit into any of the - above categories; for example, the obsolete command ‘@refill’, - which is always used at the end of a paragraph immediately - following the final period or other punctuation character. - ‘@refill’ takes no argument and does not require braces. Likewise, - ‘@tab’ used in a ‘@multitable’ block does not take arguments, and - is not followed by braces. - - Thus, the alphabetic commands fall into classes that have different -argument syntaxes. You cannot tell to which class a command belongs by -the appearance of its name, but you can tell by the command's meaning: -if the command stands for a glyph, it is in class 4 and does not require -an argument; if it makes sense to use the command among other text as -part of a paragraph, the command is in class 1 and must be followed by -an argument in braces. The non-alphabetic commands, such as ‘@:’, are -exceptions to the rule; they do not need braces. - - The purpose of having different syntax for commands is to make -Texinfo files easier to read, and also to help the GNU Emacs paragraph -and filling commands work properly. - - -File: texinfo.info, Node: Command List, Next: Command Contexts, Prev: Command Syntax, Up: @-Command Details - -A.2 @-Command List -================== - -Here is an alphabetical list of the @-commands in Texinfo. Square -brackets, [ ], indicate optional arguments; an ellipsis, ‘...’, -indicates repeated text. - -‘@WHITESPACE’ - An ‘@’ followed by a space, tab, or newline produces a normal, - stretchable, interword space. *Note Multiple Spaces::. - -‘@!’ - Produce an exclamation point that ends a sentence (usually after an - end-of-sentence capital letter). *Note Ending a Sentence::. - -‘@"’ -‘@'’ - Generate an umlaut or acute accent, respectively, over the next - character, as in ö and ó. *Note Inserting Accents::. - -‘@&’ -‘@ampchar{}’ - Generate an ampersand. *Note Inserting an Ampersand::. - -‘@*’ - Force a line break. *Note Line Breaks::. - -‘@,{C}’ - Generate a cedilla accent under C, as in ç. *Note Inserting - Accents::. - -‘@-’ - Insert a discretionary hyphenation point. *Note @- @hyphenation::. - -‘@.’ - Produce a period that ends a sentence (usually after an - end-of-sentence capital letter). *Note Ending a Sentence::. - -‘@/’ - Produces no output, but allows a line break. *Note Line Breaks::. - -‘@:’ - Tell printed output processors to refrain from inserting extra - whitespace after an immediately preceding period, question mark, - exclamation mark, or colon. *Note Not Ending a Sentence::. - -‘@=’ - Generate a macron (bar) accent over the next character, as in ō. - *Note Inserting Accents::. - -‘@?’ - Produce a question mark that ends a sentence (usually after an - end-of-sentence capital letter). *Note Ending a Sentence::. - -‘@@’ -‘@atchar{}’ - Insert an at sign, ‘@’. *Note Inserting an Atsign::. - -‘@\’ -‘@backslashchar{}’ - Insert a backslash, ‘\’; ‘@backslashchar{}’ works anywhere, while - ‘@\’ works only inside ‘@math’. *Note Inserting a Backslash::, and - *note Inserting Math::. - -‘@^’ -‘@`’ - Generate a circumflex (hat) or grave accent, respectively, over the - next character, as in ô and è. *Note Inserting Accents::. - -‘@{’ -‘@lbracechar{}’ - Insert a left brace, ‘{’. *Note Inserting Braces::. - -‘@}’ -‘@rbracechar{}’ - Insert a right brace, ‘}’. *Note Inserting Braces::. - -‘@~’ - Generate a tilde accent over the next character, as in Ñ. *Note - Inserting Accents::. - -‘@AA{}’ -‘@aa{}’ - Generate the uppercase and lowercase Scandinavian A-ring letters, - respectively: Å, å. *Note Inserting Accents::. - -‘@abbr{ABBREVIATION}’ - Indicate a general abbreviation, such as 'Comput.'. *Note @abbr::. - -‘@acronym{ACRONYM}’ - Indicate an acronym in all capital letters, such as 'NASA'. *Note - @acronym::. - -‘@AE{}’ -‘@ae{}’ - Generate the uppercase and lowercase AE ligatures, respectively: Æ, - æ. *Note Inserting Accents::. - -‘@afivepaper’ - Change page dimensions for the A5 paper size. *Note A4 Paper::. - -‘@afourlatex’ -‘@afourpaper’ -‘@afourwide’ - Change page dimensions for the A4 paper size. *Note A4 Paper::. - -‘@alias NEW=EXISTING’ - Make the command ‘@NEW’ a synonym for the existing command - ‘@EXISTING’. *Note @alias::. - -‘@allowcodebreaks TRUE-FALSE’ - Control breaking at ‘-’ and ‘_’ in printed output. *Note - @allowcodebreaks::. - -‘@anchor{NAME}’ - Define NAME as the current location for use as a cross-reference - target. *Note @anchor::. - -‘@appendix TITLE’ - Begin an appendix. The title appears in the table of contents. - *Note @unnumbered @appendix::. - -‘@appendixsec TITLE’ -‘@appendixsection TITLE’ - Begin an appendix section within an appendix. The section title - appears in the table of contents. ‘@appendixsection’ is a longer - spelling of the ‘@appendixsec’ command. *Note @unnumberedsec - @appendixsec @heading::. - -‘@appendixsubsec TITLE’ - Begin an appendix subsection. The title appears in the table of - contents. *Note @unnumberedsubsec @appendixsubsec @subheading::. - -‘@appendixsubsubsec TITLE’ - Begin an appendix subsubsection. The title appears in the table of - contents. *Note @subsubsection::. - -‘@arrow{}’ - Generate a right arrow glyph: ‘→’. Used by default for ‘@click’. - *Note Click Sequences::. - -‘@asis’ - Keep the argument as is. Used following ‘@table’, ‘@ftable’, and - ‘@vtable’ to print the table's first column without highlighting - ("as is"). *Note @asis::. - -‘@author AUTHOR’ - Set a manual author in the title page. *Note @title @subtitle - @author::. Set a quotation author in ‘@quotation’. *Note - @quotation::. - -‘@b{TEXT}’ - Set TEXT in a bold font, if possible. *Note Fonts::. - -‘@bullet{}’ - Generate a large round dot, •, or the closest possible thing to - one. Often used with ‘@itemize’. *Note @bullet::. - -‘@bsixpaper’ - Change page dimensions for the B6 paper size. *Note A4 Paper::. - -‘@bye’ - Stop processing a file. The processors do not see anything in the - input file following ‘@bye’. *Note Ending a File::. - -‘@c COMMENT’ - Begin a comment in Texinfo. The rest of the line does not appear - in any output. A synonym for ‘@comment’. ‘DEL’ also starts a - comment. *Note Comments::. - -‘@caption’ - Define the full caption for a ‘@float’. *Note @caption - @shortcaption::. - -‘@cartouche’ - Highlight an example or quotation by drawing a box with rounded - corners around it, if possible. Pair with ‘@end cartouche’. *Note - @cartouche::. - -‘@center LINE-OF-TEXT’ - Center the line of text following the command. *Note @titlefont - @center @sp::. - -‘@centerchap LINE-OF-TEXT’ - Like ‘@chapter’, but centers the chapter title. *Note @chapter::. - -‘@chapheading TITLE’ - Print an unnumbered chapter-like heading, but omit from the table - of contents. *Note @majorheading @chapheading::. - -‘@chapter TITLE’ - Begin a numbered chapter. The chapter title appears in the table - of contents. *Note @chapter::. - -‘@cindex ENTRY’ - Add ENTRY to the index of concepts. *Note Defining the Entries of - an Index: Index Entries. - -‘@cite{REFERENCE}’ - Highlight the name of a book or other reference that has no - companion Info file. *Note @cite::. - -‘@clear FLAG’ - Unset FLAG, preventing the Texinfo formatting commands from - formatting text between subsequent pairs of ‘@ifset FLAG’ and ‘@end - ifset’ commands, and preventing ‘@value{FLAG}’ from expanding to - the value to which FLAG is set. *Note @set @clear @value::. - -‘@click{}’ - Represent a single "click" in a GUI. Used within ‘@clicksequence’. - *Note Click Sequences::. - -‘@clicksequence{ACTION @click{} ACTION}’ - Represent a sequence of clicks in a GUI. *Note Click Sequences::. - -‘@clickstyle @CMD’ - Execute @CMD for each ‘@click’; the default is ‘@arrow’. The usual - following empty braces on @CMD are omitted. *Note Click - Sequences::. - -‘@code{SAMPLE-CODE}’ - Indicate an expression, a syntactically complete token of a - program, or a program name. *Note @code::. - -‘@codequotebacktick ON-OFF’ -‘@codequoteundirected ON-OFF’ - Control output of ‘`’ and ‘'’ in code examples. *Note Inserting - Quote Characters::. - -‘@comma{}’ - Insert a comma ',' character; only needed when a literal comma - would be taken as an argument separator. *Note Inserting a - Comma::. - -‘@command{COMMAND-NAME}’ - Indicate a command name, such as ‘ls’. *Note @command::. - -‘@comment COMMENT’ - Begin a comment in Texinfo. The rest of the line does not appear - in any output. A synonym for ‘@c’. *Note Comments::. - -‘@contents’ - Print a complete table of contents or specify that a table of - content should be output, for formats that may output a table of - contents. *Note Generating a Table of Contents: Contents. - -‘@copying’ - Specify copyright holders and copying conditions for the document. - Pair with ‘@end copying’. *Note @copying::. - -‘@copyright{}’ - Generate the copyright symbol ©. *Note @copyright::. - -‘@defblock’ - Start a block containing definitions. Pair with ‘@end defblock’. - *Note Generic Definition Commands::. - -‘@defcodeindex INDEX-NAME’ - Define a new index and its indexing command. Print entries in an - ‘@code’ font. *Note Defining New Indices: New Indices. - -‘@defcv CATEGORY CLASS NAME’ -‘@defcvx CATEGORY CLASS NAME’ - Format a description for a variable associated with a class in - object-oriented programming. Takes three arguments: the category - of thing being defined, the class to which it belongs, and its - name. *Note Definition Commands::. - -‘@deffn CATEGORY NAME ARGUMENTS...’ -‘@deffnx CATEGORY NAME ARGUMENTS...’ - Format a description for a function, interactive command, or - similar entity that may take arguments. ‘@deffn’ takes as - arguments the category of entity being described, the name of this - particular entity, and its arguments, if any. *Note Definition - Commands::. - -‘@defindex INDEX-NAME’ - Define a new index and its indexing command. Print entries in a - roman font. *Note Defining New Indices: New Indices. - -‘@definfoenclose NEWCMD, BEFORE, AFTER’ - Create a new command ‘@NEWCMD’ for online formats that marks text - by enclosing it in strings that precede and follow the text. *Note - @definfoenclose::. - -‘@defivar CLASS INSTANCE-VARIABLE-NAME’ -‘@defivarx CLASS INSTANCE-VARIABLE-NAME’ - Format a description for an instance variable in object-oriented - programming. The command is equivalent to ‘@defcv {Instance - Variable} ...’. *Note Definition Commands::. - -‘@defline CATEGORY NAME ARGUMENTS...’ - Use within a ‘@defblock’ environment to give the heading prototype - line for a symbol being defined. This command does not create any - index entries. *Note Generic Definition Commands::. - -‘@defmac MACRONAME ARGUMENTS...’ -‘@defmacx MACRONAME ARGUMENTS...’ - Format a description for a macro; equivalent to ‘@deffn Macro ...’. - *Note Definition Commands::. - -‘@defmethod CLASS METHOD-NAME ARGUMENTS...’ -‘@defmethodx CLASS METHOD-NAME ARGUMENTS...’ - Format a description for a method in object-oriented programming; - equivalent to ‘@defop Method ...’. *Note Definition Commands::. - -‘@defop CATEGORY CLASS NAME ARGUMENTS...’ -‘@defopx CATEGORY CLASS NAME ARGUMENTS...’ - Format a description for an operation in object-oriented - programming. ‘@defop’ takes as arguments the name of the category - of operation, the name of the operation's class, the name of the - operation, and its arguments, if any. *Note Definition Commands::, - and *note Abstract Objects::. - -‘@defopt OPTION-NAME’ -‘@defoptx OPTION-NAME’ - Format a description for a user option; equivalent to ‘@defvr {User - Option} ...’. *Note Definition Commands::. - -‘@defspec SPECIAL-FORM-NAME ARGUMENTS...’ -‘@defspecx SPECIAL-FORM-NAME ARGUMENTS...’ - Format a description for a special form; equivalent to ‘@deffn - {Special Form} ...’. *Note Definition Commands::. - -‘@deftp CATEGORY NAME-OF-TYPE ATTRIBUTES...’ -‘@deftpx CATEGORY NAME-OF-TYPE ATTRIBUTES...’ - Format a description for a data type; its arguments are the - category, the name of the type (e.g., ‘int’) , and then the names - of attributes of objects of that type. *Note Definition - Commands::, and *note Data Types::. - -‘@deftypecv CATEGORY CLASS DATA-TYPE NAME’ -‘@deftypecvx CATEGORY CLASS DATA-TYPE NAME’ - Format a description for a typed class variable in object-oriented - programming. *Note Definition Commands::, and *note Abstract - Objects::. - -‘@deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS...’ -‘@deftypefnx CATEGORY DATA-TYPE NAME ARGUMENTS...’ - Format a description for a function or similar entity that may take - arguments and that is typed. ‘@deftypefn’ takes as arguments the - category of entity being described, the type, the name of the - entity, and its arguments, if any. *Note Definition Commands::. - -‘@deftypefnnewline ON-OFF’ - Specifies whether return types for ‘@deftypefn’ and similar are - printed on lines by themselves; default is off. *Note Functions in - Typed Languages: Typed Functions. - -‘@deftypefun DATA-TYPE FUNCTION-NAME ARGUMENTS...’ -‘@deftypefunx DATA-TYPE FUNCTION-NAME ARGUMENTS...’ - Format a description for a function in a typed language. The - command is equivalent to ‘@deftypefn Function ...’. *Note - Definition Commands::. - -‘@deftypeivar CLASS DATA-TYPE VARIABLE-NAME’ -‘@deftypeivarx CLASS DATA-TYPE VARIABLE-NAME’ - Format a description for a typed instance variable in - object-oriented programming. *Note Definition Commands::, and - *note Abstract Objects::. - -‘@deftypeline CATEGORY DATA-TYPE NAME ARGUMENTS...’ - Use within a ‘@defblock’ environment to give the heading prototype - line for a symbol being defined, with data types. This command - does not create any index entries. *Note Generic Definition - Commands::. - -‘@deftypemethod CLASS DATA-TYPE METHOD-NAME ARGUMENTS...’ -‘@deftypemethodx CLASS DATA-TYPE METHOD-NAME ARGUMENTS...’ - Format a description for a typed method in object-oriented - programming. *Note Definition Commands::. - -‘@deftypeop CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...’ -‘@deftypeopx CATEGORY CLASS DATA-TYPE NAME ARGUMENTS...’ - Format a description for a typed operation in object-oriented - programming. *Note Definition Commands::, and *note Abstract - Objects::. - -‘@deftypevar DATA-TYPE VARIABLE-NAME’ -‘@deftypevarx DATA-TYPE VARIABLE-NAME’ - Format a description for a variable in a typed language. The - command is equivalent to ‘@deftypevr Variable ...’. *Note - Definition Commands::. - -‘@deftypevr CATEGORY DATA-TYPE NAME’ -‘@deftypevrx CATEGORY DATA-TYPE NAME’ - Format a description for something like a variable in a typed - language--an entity that records a value. Takes as arguments the - category of entity being described, the type, and the name of the - entity. *Note Definition Commands::. - -‘@defun FUNCTION-NAME ARGUMENTS...’ -‘@defunx FUNCTION-NAME ARGUMENTS...’ - Format a description for a function; equivalent to ‘@deffn Function - ...’. *Note Definition Commands::. - -‘@defvar VARIABLE-NAME’ -‘@defvarx VARIABLE-NAME’ - Format a description for a variable; equivalent to ‘@defvr Variable - ...’. *Note Definition Commands::. - -‘@defvr CATEGORY NAME’ -‘@defvrx CATEGORY NAME’ - Format a description for any kind of variable. ‘@defvr’ takes as - arguments the category of the entity and the name of the entity. - *Note Definition Commands::. - -‘@detailmenu’ - Mark the (optional) detailed node listing in a master menu. *Note - Master Menu Parts::. - -‘@dfn{TERM}’ - Indicate the introductory or defining use of a term. *Note @dfn::. - -‘@DH{}’ -‘@dh{}’ - Generate the uppercase and lowercase Icelandic letter eth, - respectively: Ð, ð. *Note Inserting Accents::. - -‘@dircategory DIRPART’ - Specify a category for the manual. *Note Directory Category::. - -‘@direntry’ - Begin the Info directory menu entry for this file. Pair with ‘@end - direntry’. *Note Installing Dir Entries::. - -‘@display’ - Begin a kind of example. Like ‘@example’ (indent text, do not - fill), but do not select a new font. Pair with ‘@end display’. - *Note @display::. - -‘@displaymath’ - Format a block of math in "display" format. *Note Inserting - Math::. - -‘@dmn{DIMENSION}’ - Format a unit of measure, as in 12pt. *Note @dmn::. - -‘@docbook’ - Enter DocBook completely. Pair with ‘@end docbook’. *Note Raw - Formatter Commands::. - -‘@documentdescription’ - Set the document description text, included in the HTML output. - Pair with ‘@end documentdescription’. *Note - @documentdescription::. - -‘@documentencoding ENC’ - Declare the input encoding to be ENC. *Note @documentencoding::. - -‘@documentlanguage CC’ - Declare the document language as the two-character ISO-639 - abbreviation CC. *Note @documentlanguage::. - -‘@dotaccent{C}’ - Generate a dot accent over the character C, as in ȯ. *Note - Inserting Accents::. - -‘@dotless{I-OR-J}’ - Generate dotless i ('ı') and dotless j ('ȷ'). *Note Inserting - Accents::. - -‘@dots{}’ - Generate an ellipsis, ‘...’. *Note @dots::. - -‘@email{ADDRESS[, DISPLAYED-TEXT]}’ - Indicate an electronic mail address. *Note @email::. - -‘@emph{TEXT}’ - Emphasize TEXT. *Note Emphasizing Text: Emphasis. - -‘@end ENVIRONMENT’ - Ends ENVIRONMENT, as in ‘@end example’. *Note @-commands: - Formatting Commands. - -‘@enddots{}’ - Generate an end-of-sentence ellipsis, like this: ... *Note - @dots::. - -‘@enumerate [NUMBER-OR-LETTER]’ - Begin a numbered list, using ‘@item’ for each entry. Optionally, - start list with NUMBER-OR-LETTER. Pair with ‘@end enumerate’. - *Note @enumerate::. - -‘@env{ENVIRONMENT-VARIABLE}’ - Indicate an environment variable name, such as ‘PATH’. *Note - @env::. - -‘@equiv{}’ - Indicate to the reader the exact equivalence of two forms with a - glyph: ‘≡’. *Note @equiv::. - -‘@error{}’ - Indicate to the reader with a glyph that the following text is an - error message: ‘error→’. *Note @error::. - -‘@errormsg{MSG}’ - Report MSG as an error to standard error, and exit unsuccessfully. - Texinfo commands within MSG are expanded to plain text. *Note - Conditionals::, and *note External Macro Processors::. - -‘@euro{}’ - Generate the Euro currency sign. *Note @euro::. - -‘@evenfooting [LEFT] @| [CENTER] @| [RIGHT]’ -‘@evenheading [LEFT] @| [CENTER] @| [RIGHT]’ - Specify page footings resp. headings for even-numbered (left-hand) - pages. *Note How to Make Your Own Headings: Custom Headings. - -‘@everyfooting [LEFT] @| [CENTER] @| [RIGHT]’ -‘@everyheading [LEFT] @| [CENTER] @| [RIGHT]’ - Specify page footings resp. headings for every page. Not relevant - to Info. *Note How to Make Your Own Headings: Custom Headings. - -‘@example’ - Begin an example. Indent text, do not fill, and select fixed-width - font. Pair with ‘@end example’. ‘@example’ accepts optional - arguments, separated by commas. It is recommended to set the first - argument to the language of the example code. *Note @example::. - -‘@exampleindent INDENT’ - Indent example-like environments by INDENT number of spaces - (perhaps 0). *Note @exampleindent::. - -‘@exclamdown{}’ - Generate an upside-down exclamation point. *Note Inserting - Accents::. - -‘@exdent LINE-OF-TEXT’ - Remove any indentation a line might have. *Note @exdent::. - -‘@expansion{}’ - Indicate the result of a macro expansion to the reader with a - special glyph: ‘↦’. *Note @expansion::. - -‘@file{FILENAME}’ - Highlight the name of a file, buffer, node, directory, etc. *Note - @file::. - -‘@finalout’ - Prevent TeX from printing large black warning rectangles beside - over-wide lines. *Note Overfull hboxes::. - -‘@findex ENTRY’ - Add ENTRY to the index of functions. *Note Defining the Entries of - an Index: Index Entries. - -‘@firstparagraphindent WORD’ - Control indentation of the first paragraph after section headers - according to WORD, one of 'none' or 'insert'. *Note - @firstparagraphindent::. - -‘@float’ - Environment to define floating material. Pair with ‘@end float’. - *Note Floats::. - -‘@flushleft’ -‘@flushright’ - Do not fill text; left (right) justify every line while leaving the - right (left) end ragged. Leave font as is. Pair with ‘@end - flushleft’ (‘@end flushright’). *Note @flushleft @flushright::. - -‘@fonttextsize 10-11’ - Change the size of the main body font in the printed output. *Note - Fonts::. - -‘@footnote{TEXT-OF-FOOTNOTE}’ - Enter a footnote, for a reference that documents or elucidates the - primary text. Footnote text is printed at the bottom of the page - in printed output. In other formats, footnote text can be output - in the same node, in a separate node, or simply be marked as being - footnote text. *Note Footnotes::. - -‘@footnotestyle STYLE’ - Specify a footnote style, either ‘end’ for the end node style or - ‘separate’ for the separate style. In the separate style, - footnotes are put in a separate node or file. *Note Footnote - Styles::. - -‘@format’ - Begin a kind of example. Like ‘@display’, but do not indent. Pair - with ‘@end format’. *Note @example::. - -‘@frenchspacing ON-OFF’ - Control spacing after punctuation. *Note @frenchspacing::. - -‘@ftable FORMATTING-COMMAND’ - Begin a two-column table, using ‘@item’ for each entry. - Automatically enter each of the items in the first column into the - index of functions. Pair with ‘@end ftable’. The same as - ‘@table’, except for indexing. *Note @ftable @vtable::. - -‘@geq{}’ - Generate a greater-than-or-equal sign, '≥'. *Note @geq @leq::. - -‘@group’ - Disallow page breaks within following text. Pair with ‘@end - group’. Ignored in Info. *Note @group::. - -‘@guillemetleft{}’ -‘@guillemetright{}’ -‘@guillemotleft{}’ -‘@guillemotright{}’ -‘@guilsinglleft{}’ -‘@guilsinglright{}’ - Double and single angle quotation marks: « » ‹ ›. ‘@guillemotleft’ - and ‘@guillemotright’ are synonyms for ‘@guillemetleft’ and - ‘@guillemetright’. *Note Inserting Quotation Marks::. - -‘@H{C}’ - Generate the long Hungarian umlaut accent over C, as in ő. - -‘@hashchar{}’ - Insert a hash '#' character; only needed when a literal hash would - introduce ‘#line’ directive. *Note Inserting a Hashsign::, and - *note External Macro Processors::. - -‘@heading TITLE’ - Print an unnumbered section-like heading, but omit from the table - of contents. *Note @unnumberedsec @appendixsec @heading::. - -‘@headings ON-OFF-SINGLE-DOUBLE’ - Turn page headings on or off, and/or specify single-sided or - double-sided page headings for printing. *Note @headings::. - -‘@headitem’ - Begin a heading row in a multitable. *Note Multitable Rows::. - -‘@headitemfont{TEXT}’ - Set TEXT in the font used for multitable heading rows; mostly - useful in multitable templates. *Note Multitable Rows::. - -‘@html’ - Enter HTML completely. Pair with ‘@end html’. *Note Raw Formatter - Commands::. - -‘@hyphenation{HY-PHEN-A-TED WORDS}’ - Explicitly define hyphenation points. *Note @- @hyphenation::. - -‘@i{TEXT}’ - Set TEXT in an italic font, when possible. *Note Fonts::. - -‘@ifclear TXIVAR’ - If the Texinfo variable TXIVAR is not set, format the following - text. Pair with ‘@end ifclear’. *Note @set @clear @value::. - -‘@ifcommanddefined TXICMD’ -‘@ifcommandnotdefined TXICMD’ - If the Texinfo code ‘@TXICMD’ is (not) defined, format the follow - text. Pair with the corresponding ‘@end ifcommand...’. *Note - Testing for Texinfo Commands::. - -‘@ifdocbook’ -‘@ifhtml’ -‘@ifinfo’ -‘@iflatex’ -‘@ifplaintext’ -‘@ifxml’ - Begin text that will appear only in the given output format. - ‘@ifinfo’ output appears in both Info and (for historical - compatibility) plain text output. Pair with ‘@end ifdocbook’ resp. - ‘@end ifhtml’... *Note Conditionals::. - -‘@ifnotdocbook’ -‘@ifnothtml’ -‘@ifnotlatex’ -‘@ifnotplaintext’ -‘@ifnottex’ -‘@ifnotxml’ - Begin text to be ignored in one output format but not the others. - ‘@ifnothtml’ text is omitted from HTML output, etc. Pair with the - corresponding ‘@end ifnotFORMAT’. *Note Conditionals::. - -‘@ifnotinfo’ - Begin text to appear in output other than Info and (for historical - compatibility) plain text. Pair with ‘@end ifnotinfo’. *Note - Conditionals::. - -‘@ifset TXIVAR’ - If the Texinfo variable TXIVAR is set, format the following text. - Pair with ‘@end ifset’. *Note @set @clear @value::. - -‘@iftex’ - Begin text to appear only in the TeX output. Pair with ‘@end - iftex’. *Note Conditionals::. - -‘@ignore’ - Begin text that will not appear in any output. Pair with ‘@end - ignore’. *Note Comments and Ignored Text: Comments. - -‘@image{FILENAME, [WIDTH], [HEIGHT], [ALT], [EXT]}’ - Include graphics image in external FILENAME scaled to the given - WIDTH and/or HEIGHT, using ALT text and looking for ‘FILENAME.EXT’ - in HTML. *Note Images::. - -‘@include FILENAME’ - Read the contents of Texinfo source file FILENAME. *Note Include - Files::. - -‘@indent’ - Insert paragraph indentation. *Note @indent::. - -‘@indentedblock’ - Indent a block of arbitrary text on the left. Pair with ‘@end - indentedblock’. *Note @indentedblock::. - -‘@indicateurl{INDICATEURL}’ - Indicate text that is a uniform resource locator for the World Wide - Web. *Note @indicateurl::. - -‘@inforef{NODE-NAME, [ENTRY-NAME], INFO-FILE-NAME}’ - Make a cross-reference to an Info file for which there is no - printed manual. *Note @inforef::. - -‘@inlinefmt{FMT, TEXT}’ - Insert TEXT only if the output format is FMT. *Note Inline - Conditionals::. - -‘@inlinefmtifelse{FMT, TEXT, ELSE-TEXT}’ - Insert TEXT if the output format is FMT, else ELSE-TEXT. - -‘@inlineifclear{VAR, TEXT}’ -‘@inlineifset{VAR, TEXT}’ - Insert TEXT only if the Texinfo variable VAR is (not) set. - -‘@inlineraw{FMT, RAW-TEXT}’ - Insert TEXT as in a raw conditional, only if the output format is - FMT. - -‘\input MACRO-DEFINITIONS-FILE’ - Use the specified macro definitions file. This command is used - only in the first line of a Texinfo file to cause TeX to make use - of the ‘texinfo’ macro definitions file. The ‘\’ in ‘\input’ is - used instead of an ‘@’ because TeX does not recognize ‘@’ until - after it has read the definitions file. *Note Texinfo File - Header::. - -‘@insertcopying’ - Insert the text previously defined with the ‘@copying’ environment. - *Note @insertcopying::. - -‘@item’ - Indicate the beginning of a marked paragraph for ‘@itemize’ and - ‘@enumerate’; indicate the beginning of the text of a first column - entry for ‘@table’, ‘@ftable’, and ‘@vtable’. *Note Lists and - Tables::. - -‘@itemize MARK-GENERATING-CHARACTER-OR-COMMAND’ - Begin an unordered list: indented paragraphs with a mark, such as - ‘@bullet’, inside the left margin at the beginning of each item. - Pair with ‘@end itemize’. *Note @itemize::. - -‘@itemx’ - Like ‘@item’ in ‘@table’, ‘@ftable’, and ‘@vtable’, but do not - generate extra vertical space above the item text. Thus, when - several items have the same description, use ‘@item’ for the first - and ‘@itemx’ for the others. *Note @itemx::. - -‘@kbd{KEYBOARD-CHARACTERS}’ - Indicate characters of input to be typed by users. *Note @kbd::. - -‘@kbdinputstyle STYLE’ - Specify when ‘@kbd’ should use a font distinct from ‘@code’ - according to STYLE: ‘code’, ‘distinct’, ‘example’. *Note @kbd::. - -‘@key{KEY-NAME}’ - Indicate the name of a key on a keyboard. *Note @key::. - -‘@kindex ENTRY’ - Add ENTRY to the index of keys. *Note Defining the Entries of an - Index: Index Entries. - -‘@L{}’ -‘@l{}’ - Generate the uppercase and lowercase Polish suppressed-L letters, - respectively: Ł, ł. - -‘@LaTeX{}’ - Generate the LaTeX logo. *Note @TeX @LaTeX::. - -‘@latex’ - Enter LaTeX completely. Pair with ‘@end latex’. *Note Raw - Formatter Commands::. - -‘@leq{}’ - Generate a less-than-or-equal sign, '≤'. *Note @geq @leq::. - -‘@linemacro MACRONAME {PARAMS}’ - Define a new macro which takes rest of the line as an argument, and - expands to a whole number of complete lines. *Note Line Macros::. - -‘@link{NODENAME, LABEL, MANUAL-NAME}’ - Create a plain link with no visible markup or page reference. - *Note @link::. - -‘@lisp’ - Begin an example of Lisp code. Indent text, do not fill, and - select fixed-width font. Pair with ‘@end lisp’. *Note @lisp::. - -‘@listoffloats’ - Produce a table-of-contents-like listing of ‘@float’s. *Note - @listoffloats::. - -‘@lowersections’ - Change subsequent chapters to sections, sections to subsections, - and so on. *Note ‘@raisesections’ and ‘@lowersections’: - Raise/lower sections. - -‘@macro MACRONAME {PARAMS}’ - Define a new Texinfo command ‘@MACRONAME{PARAMS}’. Pair with ‘@end - macro’. *Note Defining Macros::. - -‘@majorheading TITLE’ - Print an unnumbered chapter-like heading, but omit from the table - of contents. This generates more vertical whitespace before the - heading than the ‘@chapheading’ command. *Note @majorheading - @chapheading::. - -‘@math{MATHEMATICAL-EXPRESSION}’ - Format a mathematical expression. *Note Inserting Math::. - -‘@menu’ - Mark the beginning of a menu of nodes. No effect in a printed - manual. Pair with ‘@end menu’. *Note Menus::. - -‘@microtype ON-OFF’ - Turn microtype on or off. *Note Microtypography::. - -‘@minus{}’ - Generate a minus sign, '−'. *Note @minus::. - -‘@multitable COLUMN-WIDTH-SPEC’ - Begin a multi-column table. Begin each row with ‘@item’ or - ‘@headitem’, and separate columns with ‘@tab’. Pair with ‘@end - multitable’. *Note Multitable Column Widths::. - -‘@need N’ - Start a new page in a printed manual if fewer than N mils - (thousandths of an inch) remain on the current page. *Note - @need::. - -‘@node NAME, [NEXT], [PREVIOUS], [UP]’ - Begin a new node. Only the first argument is mandatory. *Note - Writing a Node::. - -‘@nodedescription NODE-DESCRIPTION’ - Provide a short elaboration of the purpose of a node. *Note Node - Descriptions::. - -‘@nodedescriptionblock’ - Used to start a longer node description. Pair with ‘@end - nodedescriptionblock’. *Note Node Descriptions::. - -‘@noindent’ - Prevent text from being indented as if it were a new paragraph. - *Note @noindent::. - -‘@novalidate’ - Suppress validation of node references and omit creation of - auxiliary files with TeX. Use before any sectioning or - cross-reference commands. *Note Pointer Validation::. - -‘@O{}’ -‘@o{}’ - Generate the uppercase and lowercase O-with-slash letters, - respectively: Ø, ø. - -‘@oddfooting [LEFT] @| [CENTER] @| [RIGHT]’ -‘@oddheading [LEFT] @| [CENTER] @| [RIGHT]’ - Specify page footings resp. headings for odd-numbered (right-hand) - pages. *Note How to Make Your Own Headings: Custom Headings. - -‘@OE{}’ -‘@oe{}’ - Generate the uppercase and lowercase OE ligatures, respectively: Œ, - œ. *Note Inserting Accents::. - -‘@ogonek{C}’ - Generate an ogonek diacritic under the next character, as in ą. - *Note Inserting Accents::. - -‘@option{OPTION-NAME}’ - Indicate a command-line option, such as ‘-l’ or ‘--help’. *Note - @option::. - -‘@ordf{}’ -‘@ordm{}’ - Generate the feminine and masculine Spanish ordinals, respectively: - ª, º. *Note Inserting Accents::. - -‘@page’ - Start a new page in a printed manual. *Note @page::. - -‘@pagesizes [WIDTH][, HEIGHT]’ - Change page dimensions. *Note pagesizes::. - -‘@paragraphindent INDENT’ - Indent paragraphs by INDENT number of spaces (perhaps 0); preserve - source file indentation if INDENT is ‘asis’. *Note - @paragraphindent::. - -‘@part TITLE’ - Begin a group of chapters or appendixes; included in the tables of - contents. *Note @part::. - -‘@pindex ENTRY’ - Add ENTRY to the index of programs. *Note Defining the Entries of - an Index: Index Entries. - -‘@point{}’ - Indicate the position of point in a buffer to the reader with a - glyph: ‘⋆’. *Note @point::. - -‘@pounds{}’ - Generate the pounds sterling currency sign, ‘£’. *Note @pounds::. - -‘@print{}’ - Indicate printed output to the reader with a glyph: ‘⊣’. *Note - @print::. - -‘@printindex INDEX-NAME’ - Generate the index for INDEX-NAME. *Note Printing Indices & - Menus::. - -‘@pxref{NODE, [ENTRY], [NODE-TITLE], [INFO-FILE], [PRINTED-MANUAL]}’ - Make a reference to be used within parentheses. Starts with a - lowercase 'see' in a printed manual. The first argument is - mandatory, except for references to whole manuals. To refer to - another manual as a whole, the PRINTED-MANUAL and/or the INFO-FILE - are the only required arguments. *Note @pxref::. - -‘@questiondown{}’ - Generate an upside-down question mark. *Note Inserting Accents::. - -‘@quotation’ - Narrow the margins to indicate text that is quoted from another - work. Takes optional argument specifying prefix text. Pair with - ‘@end quotation’. *Note @quotation::. - -‘@quotedblleft{}’ -‘@quotedblright{}’ -‘@quoteleft{}’ -‘@quoteright{}’ -‘@quotedblbase{}’ -‘@quotesinglbase{}’ - Produce various quotation marks: “ ” ‘ ’ „ ‚. *Note Inserting - Quotation Marks::. - -‘@r{TEXT}’ - Set TEXT in the regular roman font, if possible. *Note Fonts::. - -‘@raggedright’ - Fill text; left justify every line while leaving the right end - ragged. Leave font as is. Pair with ‘@end raggedright’. *Note - @raggedright::. - -‘@raisesections’ - Change subsequent sections to chapters, subsections to sections, - and so on. *Note Raise/lower sections::. - -‘@ref{NODE, [ENTRY], [NODE-TITLE], [INFO-FILE], [PRINTED-MANUAL]}’ - Make a plain reference that does not start with any special text. - Follow command with a punctuation mark. The first argument is - mandatory, except for references to whole manuals. To refer to - another manual as a whole, the PRINTED-MANUAL and/or the INFO-FILE - are the only required arguments. *Note @ref::. - -‘@registeredsymbol{}’ - Generate the legal symbol ®. *Note @registeredsymbol::. - -‘@result{}’ - Indicate the result of an expression to the reader with a special - glyph: ‘⇒’. *Note @result::. - -‘@ringaccent{C}’ - Generate a ring accent over the next character, as in o̊. *Note - Inserting Accents::. - -‘@samp{TEXT}’ - Indicate a literal example of a sequence of characters, in general. - *Note @samp::. - -‘@sansserif{TEXT}’ - Set TEXT in a sans serif font if possible. *Note Fonts::. - -‘@sc{TEXT}’ - Set TEXT in a small caps font if possible, and uppercase in Info. - *Note Smallcaps::. - -‘@section TITLE’ - Begin a section within a chapter. The section title appears in the - table of contents. Within ‘@chapter’ and ‘@appendix’, the section - title is numbered; within ‘@unnumbered’, the section is unnumbered. - *Note @section::. - -‘@seealso{INDEX-TEXT}’ - Use in an index entry to refer the reader to another relevant index - entry. *Note Advanced Indexing::. - -‘@seeentry{INDEX-TEXT}’ - Use in an index entry to redirect the reader to another index - entry. *Note Advanced Indexing::. - -‘@set TXIVAR [STRING]’ - Define the Texinfo variable TXIVAR, optionally to the value STRING. - *Note @set @clear @value::. - -‘@setchapternewpage ON-OFF-ODD’ - Specify whether chapters start on new pages, and if so, whether on - odd-numbered (right-hand) new pages. *Note @setchapternewpage::. - -‘@setfilename INFO-FILE-NAME’ - Provide a name to be used for the output files. This command is - ignored for TeX formatting. *Note @setfilename::. - -‘@settitle TITLE’ - Specify the title for page headers in a printed manual, and the - default document title for HTML. *Note @settitle::. - -‘@shortcaption’ - Define the short caption for a ‘@float’. *Note @caption - @shortcaption::. - -‘@shortcontents’ - Print a short table of contents, with chapter-level entries only, - or specify that a short table of contents should be output. For - formats that may output a short table of contents. *Note - Generating a Table of Contents: Contents. - -‘@shorttitlepage TITLE’ - Generate a minimal title page. *Note @titlepage::. - -‘@slanted{TEXT}’ - Set TEXT in a slanted font if possible. *Note Fonts::. - -‘@smallbook’ - In printed output, use a 7 by 9.25 inch format rather than the - regular 8.5 by 11 inch format. *Note @smallbook::. - -‘@smalldisplay’ - Begin a kind of example. Like ‘@display’, but use a smaller font - size where possible. Pair with ‘@end smalldisplay’. *Note - small::. - -‘@smallexample’ - Begin an example. Like ‘@example’, but use a smaller font size - where possible. Pair with ‘@end smallexample’. *Note small::. - -‘@smallformat’ - Begin a kind of example. Like ‘@format’, but use a smaller font - size where possible. Pair with ‘@end smallformat’. *Note small::. - -‘@smallindentedblock’ - Like ‘@indentedblock’, but use a smaller font size where possible. - Pair with ‘@end smallindentedblock’. *Note small::. - -‘@smalllisp’ - Begin an example of Lisp code. Same as ‘@smallexample’. Pair with - ‘@end smalllisp’. *Note small::. - -‘@smallquotation’ - Like ‘@quotation’, but use a smaller font size where possible. - Pair with ‘@end smallquotation’. *Note small::. - -‘@sortas {KEY}’ - Used in the arguments to index commands to give a string by which - the index entry should be sorted. *Note Indexing Commands::. - -‘@sp N’ - Skip N blank lines. *Note @sp::. - -‘@ss{}’ - Generate the German sharp-S es-zet letter, ß. *Note Inserting - Accents::. - -‘@strong {TEXT}’ - Emphasize TEXT more strongly than ‘@emph’. *Note Emphasizing Text: - emph & strong. - -‘@sub {TEXT}’ - Set TEXT as a subscript. *Note Inserting Subscripts and - Superscripts::. - -‘@subentry’ - Use in an index entry to separate parts of a multi-level entry. - *Note Advanced Indexing::. - -‘@subheading TITLE’ - Print an unnumbered subsection-like heading, but omit from the - table of contents of a printed manual. *Note @unnumberedsubsec - @appendixsubsec @subheading::. - -‘@subsection TITLE’ - Begin a subsection within a section. The subsection title appears - in the table of contents. Same context-dependent numbering as - ‘@section’. *Note @subsection::. - -‘@subsubheading TITLE’ - Print an unnumbered subsubsection-like heading, but omit from the - table of contents of a printed manual. *Note @subsubsection::. - -‘@subsubsection TITLE’ - Begin a subsubsection within a subsection. The subsubsection title - appears in the table of contents. Same context-dependent numbering - as ‘@section’. *Note @subsubsection::. - -‘@subtitle TITLE’ - Set a subtitle for the title page. *Note @title @subtitle - @author::. - -‘@summarycontents’ - Print or specify a short table of contents. Synonym for - ‘@shortcontents’. *Note Generating a Table of Contents: Contents. - -‘@sup {TEXT}’ - Set TEXT as a superscript. *Note Inserting Subscripts and - Superscripts::. - -‘@syncodeindex FROM-INDEX TO-INDEX’ - Merge the index named in the first argument into the index named in - the second argument, formatting the entries from the first index - with ‘@code’. *Note Combining Indices::. - -‘@synindex FROM-INDEX TO-INDEX’ - Merge the index named in the first argument into the index named in - the second argument. Do not change the font of FROM-INDEX entries. - *Note Combining Indices::. - -‘@t{TEXT}’ - Set TEXT in a fixed-width, typewriter-like font, if possible. - *Note Fonts::. - -‘@tab’ - Separate columns in a row of a multitable. *Note Multitable - Rows::. - -‘@table FORMATTING-COMMAND’ - Begin a two-column table (description list), using ‘@item’ for each - entry. Write each first column entry on the same line as ‘@item’. - First column entries are printed in the font resulting from - FORMATTING-COMMAND. Pair with ‘@end table’. *Note Making a - Two-column Table: Two-column Tables. Also see *note @ftable - @vtable::, and *note @itemx::. - -‘@TeX{}’ - Generate the TeX logo. *Note @TeX @LaTeX::. - -‘@tex’ - Enter TeX completely. Pair with ‘@end tex’. *Note Raw Formatter - Commands::. - -‘@textdegree{}’ - Generate the degree symbol. *Note @textdegree::. - -‘@thischapter’ -‘@thischaptername’ -‘@thischapternum’ -‘@thissection’ -‘@thissectionname’ -‘@thissectionnum’ -‘@thisfile’ -‘@thispage’ -‘@thistitle’ - Only allowed in a heading or footing. Stands for, respectively, - the number and name of the current chapter (in the format 'Chapter - 1: Title'), the current chapter name only, the current chapter - number only, the number and name of the current section, the - current section name only, the current section number only, the - file name, the current page number, and the title of the document. - *Note How to Make Your Own Headings: Custom Headings. - -‘@TH{}’ -‘@th{}’ - Generate the uppercase and lowercase Icelandic letter thorn, - respectively: Þ, þ. *Note Inserting Accents::. - -‘@tie{}’ - Generate a normal interword space at which a line break is not - allowed. *Note @tie::. - -‘@tieaccent{CC}’ - Generate a tie-after accent over the next two characters CC, as in - 'o͡o'. *Note Inserting Accents::. - -‘@tindex ENTRY’ - Add ENTRY to the index of data types. *Note Defining the Entries - of an Index: Index Entries. - -‘@title TITLE’ - Set the title for the title page. *Note @title @subtitle - @author::. - -‘@titlefont{TEXT}’ - Print TEXT in a larger than normal font, if possible. *Note - @titlefont @center @sp::. - -‘@titlepage’ - Begin the title page. Write the command on a line of its own, - paired with ‘@end titlepage’. The title page is not output, in the - default case, in online formats. *Note @titlepage::. - -‘@today{}’ - Insert the current date, in '1 Jan 1900' style. *Note How to Make - Your Own Headings: Custom Headings. - -‘@top TITLE’ - Mark the topmost ‘@node’ in the file, which must be defined on the - line immediately preceding the ‘@top’ command. The title is - formatted as a chapter-level heading. In TeX the ‘@top’ command is - merely a synonym for ‘@unnumbered’. - -‘@U{HEX}’ - Output a representation of Unicode character U+HEX. *Note - Inserting Unicode::. - -‘@u{C}’ -‘@ubaraccent{C}’ -‘@udotaccent{C}’ - Generate a breve, underbar, or underdot accent, respectively, over - or under the character C, as in ŏ, o̲, ọ. *Note Inserting - Accents::. - -‘@unmacro MACRONAME’ - Undefine the macro ‘@MACRONAME’ if it has been defined. *Note - Defining Macros::. - -‘@unnumbered TITLE’ - Begin a chapter that appears without chapter numbers of any kind. - The title appears in the table of contents. *Note @unnumbered - @appendix::. - -‘@unnumberedsec TITLE’ - Begin a section that appears without section numbers of any kind. - The title appears in the table of contents. *Note @unnumberedsec - @appendixsec @heading::. - -‘@unnumberedsubsec TITLE’ - Begin an unnumbered subsection. The title appears in the table of - contents. *Note @unnumberedsubsec @appendixsubsec @subheading::. - -‘@unnumberedsubsubsec TITLE’ - Begin an unnumbered subsubsection. The title appears in the table - of contents. *Note @subsubsection::. - -‘@uref{URL[, DISPLAYED-TEXT][, REPLACEMENT}’ -‘@url{URL[, DISPLAYED-TEXT][, REPLACEMENT}’ - Define a cross-reference to an external uniform resource locator, - e.g., for the World Wide Web. *Note @url::. - -‘@urefbreakstyle STYLE’ - Specify how ‘@uref’/‘@url’ should break at special characters: - ‘after’, ‘before’, ‘none’. *Note @url::. - -‘@v{C}’ - Generate check accent over the character C, as in ǒ. *Note - Inserting Accents::. - -‘@value{TXIVAR}’ - Insert the value, if any, of the Texinfo variable TXIVAR, - previously defined by ‘@set’. *Note @set @clear @value::. - -‘@var{METASYNTACTIC-VARIABLE}’ - Highlight a metasyntactic variable, which is something that stands - for another piece of text. *Note @var::. - -‘@verb{DELIM LITERAL DELIM}’ - Output LITERAL, delimited by the single character DELIM, exactly as - is (in the fixed-width font), including any whitespace or Texinfo - special characters. *Note @verb::. - -‘@verbatim’ - Output the text of the environment exactly as is (in the - fixed-width font). Pair with ‘@end verbatim’. *Note @verbatim::. - -‘@verbatiminclude FILENAME’ - Output the contents of FILENAME exactly as is (in the fixed-width - font). *Note @verbatiminclude::. - -‘@vindex ENTRY’ - Add ENTRY to the index of variables. *Note Defining the Entries of - an Index: Index Entries. - -‘@vskip AMOUNT’ - In a printed manual, insert whitespace so as to push text on the - remainder of the page towards the bottom of the page. Used in - formatting the copyright page with the argument ‘0pt plus 1filll’. - (Note spelling of ‘filll’.) *Note Copyright::. - -‘@vtable FORMATTING-COMMAND’ - Begin a two-column table, using ‘@item’ for each entry. - Automatically enter each of the items in the first column into the - index of variables. Pair with ‘@end vtable’. The same as - ‘@table’, except for indexing. *Note @ftable @vtable::. - -‘@w{TEXT}’ - Disallow line breaks within TEXT. *Note @w::. - -‘@xml’ - Enter XML completely. Pair with ‘@end xml’. *Note Raw Formatter - Commands::. - -‘@xref{NODE, [ENTRY], [NODE-TITLE], [INFO-FILE], [PRINTED-MANUAL]}’ - Make a reference that starts with 'See' in a printed manual. - Follow command with a punctuation mark. The first argument is - mandatory, except for references to whole manuals. To refer to - another manual as a whole, the PRINTED-MANUAL and/or the INFO-FILE - are the only required arguments. *Note @xref::. - -‘@xrefautomaticsectiontitle ON-OFF’ - By default, use the section title instead of the node name in cross - references, including in node headers in HTML. *Note Three - Arguments::. - - -File: texinfo.info, Node: Command Contexts, Next: Obsolete @-Commands, Prev: Command List, Up: @-Command Details - -A.3 @-Command Contexts -====================== - -Here we describe approximately which @-commands can be used in which -contexts. It is not exhaustive or meant to be a complete reference. -Discrepancies between the information here and the Texinfo processors -implementations are most likely to be resolved in favor of the -implementations. - - By “general text” below, we mean anything except sectioning and other -such outer-level document commands, such as ‘@section’, ‘@node’, and -‘@setfilename’. - - ‘@c’, ‘@comment’ and ‘@if ... @end if’ conditional commands may -appear anywhere (except the conditionals must still be on lines by -themselves). ‘@caption’ and ‘@shortcaption’ may only appear in ‘@float’ -but may contain general text. ‘@footnote’ content likewise. - - @-commands with braces marking text (such as ‘@strong’, ‘@sc’, -‘@asis’) may contain raw formatter commands such as ‘@html’ but no other -block commands (other commands terminated by ‘@end’) and may not be -split across paragraphs, but may otherwise contain general text. - - In addition to the block command restriction, on ‘@center’, ‘@exdent’ -and ‘@item’ in ‘@table’ lines, @-commands that makes only sense in a -paragraph are not accepted, such as ‘@indent’. - - In addition to the above, sectioning commands cannot contain -‘@anchor’, ‘@footnote’ or ‘@verb’. - - In addition to the above, remaining commands (‘@node’, ‘@anchor’, -‘@printindex’, ‘@ref’, ‘@math’, ‘@cindex’, ‘@url’, ‘@image’, and so on) -cannot contain cross-reference commands (‘@ref’, ‘@xref’, ‘@pxref’ and -‘@inforef’). - - For precise and complete information, we suggest looking into the -test suite in the sources, which exhaustively tries combinations. - - -File: texinfo.info, Node: Obsolete @-Commands, Prev: Command Contexts, Up: @-Command Details - -A.4 Obsolete @-Commands -======================= - -Here are Texinfo @-commands which are obsolete or have been removed -completely. This section is for historical purposes. - -‘@refill’ - This command used to refill and indent the paragraph after all the - other processing has been done. It is no longer needed, since all - formatters now automatically refill as needed, but you may still - see it in the source to some manuals, as it does no harm. - -‘@setcontentsaftertitlepage’ - In the past, the contents commands were sometimes placed at the end - of the file, after any indices and just before the ‘@bye’, but we - no longer recommend this. This command could be used by a user - printing a manual, to force the contents to be printed after the - title page (after the ‘@end titlepage’ line) even if the - ‘@contents’ command was at the end of the manual. - -‘@setshortcontentsaftertitlepage’ - This placed the short table of contents after the ‘@end titlepage’ - command even if the ‘@shortcontents’ command was at the end. - - -File: texinfo.info, Node: Tips, Next: Sample Texinfo Files, Prev: @-Command Details, Up: Top - -Appendix B Tips and Hints -************************* - -Here are some tips for writing Texinfo documentation: - - • Write in the present tense, not in the past or the future. - - • Write actively! For example, write "We recommend that ..." rather - than "It is recommended that ...". - - • Use 70 or 72 as your fill column. Longer lines are hard to read. - - • Include a copyright notice and copying permissions. - - • Design your manual so that it can be read sequentially, as far as - possible. People tire of flipping back and forth to find - information that should be presented to them as they need it. - -Index, Index, Index! -.................... - -Write many index entries, in different ways. Readers like indices; they -are helpful and convenient. - - Although it is easiest to write index entries as you write the body -of the text, some people prefer to write entries afterwards. In either -case, write an entry before the paragraph to which it applies. This -way, an index entry points to the first page of a paragraph that is -split across pages. - - Here are more index-related hints we have found valuable: - - • Write each index entry differently, so each entry refers to a - different place in the document. - - • Write index entries only where a topic is discussed significantly. - For example, it is not useful to index "debugging information" in a - chapter on reporting bugs. Someone who wants to know about - debugging information will certainly not find it in that chapter. - - • Consistently capitalize the first word of every concept index - entry, or else consistently use lowercase. Terse entries often - call for lowercase; longer entries for capitalization. Whichever - case convention you use, please use one or the other consistently! - Mixing the two styles looks bad. - - • Always capitalize or use uppercase for those words in an index for - which this is proper, such as names of countries or acronyms. - Always use the appropriate case for case-sensitive names, such as - those in C or Lisp. - - • Write the indexing commands that refer to a whole section - immediately after the section command, and write the indexing - commands that refer to a paragraph before that paragraph. - - In the example that follows, a blank line comes after the index - entry for "Leaping": - - @section The Dog and the Fox - @cindex Jumping, in general - @cindex Leaping - - @cindex Dog, lazy, jumped over - @cindex Lazy dog jumped over - @cindex Fox, jumps over dog - @cindex Quick fox jumps over dog - The quick brown fox jumps over the lazy dog. - - (Note that the example shows entries for the same concept that are - written in different ways--‘Lazy dog’, and ‘Dog, lazy’--so readers - can look up the concept in different ways.) - -Blank Lines -........... - - • Insert a blank line between a sectioning command and the first - following sentence or paragraph, or between the indexing commands - associated with the sectioning command and the first following - sentence or paragraph, as shown in the tip on indexing. It makes - the source easier to read. - - • Always insert a blank line before a ‘@table’ command and after an - ‘@end table’ command; but never insert a blank line after an - ‘@table’ command. - - For example, - - Types of fox: - - @table @samp - @item Quick - Jump over lazy dogs. - - @item Brown - Also jump over lazy dogs. - @end table - - @noindent - On the other hand, ... - - Insert blank lines before and after ‘@itemize’ ... ‘@end itemize’ - and ‘@enumerate’ ... ‘@end enumerate’ in the same way. - -Complete Phrases -................ - -Complete phrases are easier to read than ... - - • Write entries in an itemized list as complete sentences; or at - least, as complete phrases. Incomplete expressions ... awkward ... - like this. - - • Write the prefatory sentence or phrase for a multi-item list or - table as a complete expression. Do not write "You can set:"; - instead, write "You can set these variables:". The former - expression sounds cut off. - -Editions, Dates and Versions -............................ - -Include edition numbers, version numbers, and dates in the ‘@copying’ -text (for people reading the Texinfo file, and for the legal copyright -in the output files). Then use ‘@insertcopying’ in the ‘@titlepage’ -section for people reading the printed output (*note Short Sample::). - - It is easiest to handle such version information using ‘@set’ and -‘@value’. *Note @value Example::, and *note GNU Sample Texts::. - -Definition Commands -................... - -Definition commands are ‘@deffn’, ‘@defun’, ‘@defmac’, and the like, and -enable you to write descriptions in a uniform format. - - • Write just one definition command for each entity you define with a - definition command. The automatic indexing feature creates an - index entry that leads the reader to the definition. - - • Use ‘@table’ ... ‘@end table’ in an appendix that contains a - summary of functions, not ‘@deffn’ or other definition commands. - -Capitalization -.............. - - • Capitalize "Texinfo"; it is a name. Do not write the ‘x’ or ‘i’ in - uppercase. - - • Capitalize "Info"; it is a name. - - • Write TeX using the ‘@TeX{}’ command. Note the uppercase ‘T’ and - ‘X’. This command causes the formatters to typeset the name - according to the wishes of Donald Knuth, who wrote TeX. (Likewise - ‘@LaTeX{}’ for LaTeX.) - -Spaces -...... - -Do not use spaces to format a Texinfo file, except inside of ‘@example’ -... ‘@end example’ and other literal environments and commands. - - For example, TeX fills the following: - - @kbd{C-x v} - @kbd{M-x vc-next-action} - Perform the next logical operation - on the version-controlled file - corresponding to the current buffer. - -so it looks like this: - - 'C-x v' 'M-x vc-next-action' Perform the next logical operation on - the version-controlled file corresponding to the current buffer. - -In this case, the text should be formatted with ‘@table’, ‘@item’, and -‘@itemx’, to create a table. - -@code, @samp, @var, and ‘---’ -............................. - - • Use ‘@code’ around Lisp symbols, including command names. For - example, - - The main function is @code{vc-next-action}, ... - - • Avoid putting letters such as ‘s’ immediately after an ‘@code’. - Such letters look bad. - - • Use ‘@var’ around meta-variables. Do not write angle brackets - around them. - - • Use three hyphens in a row, ‘---’, to indicate a long dash. The - Info formatter reduces three hyphens to two; a long dash is typeset - in other output formats. - -Periods Outside of Quotes -......................... - -Place periods and other punctuation marks _outside_ of quotations, -unless the punctuation is part of the quotation. This practice goes -against some publishing conventions in the United States, but enables -the reader to distinguish between the contents of the quotation and the -whole passage. - - For example, you should write the following sentence with the period -outside the end quotation marks: - - Evidently, ‘au’ is an abbreviation for ``author''. - -since ‘au’ does _not_ serve as an abbreviation for ‘author.’ (with a -period following the word). - -Introducing New Terms -..................... - - • Introduce new terms so that a reader who does not know them can - understand them from context; or write a definition for the term. - - For example, in the following, the terms "check in", "register" and - "delta" are all appearing for the first time; the example sentence - should be rewritten so they are understandable. - - The major function assists you in checking in a file to your - version control system and registering successive sets of - changes to it as deltas. - - • Use the ‘@dfn’ command around a word being introduced, to indicate - that the reader should not expect to know the meaning already, and - should expect to learn the meaning from this passage. - -Program Invocation Nodes -........................ - -You can invoke programs such as Emacs, GCC, and ‘gawk’ from a shell. -The documentation for each program should contain a section that -describes this. Unfortunately, if the node names and titles for these -sections are all different, they are difficult for users to find. - - So, there is a convention to name such sections with a phrase -beginning with the word 'Invoking', as in 'Invoking Emacs'; this way, -users can find the section easily. - -ANSI C Syntax -............. - -When you use ‘@example’ to describe a C function's calling conventions, -use the ANSI C syntax, like this: - - void dld_init (char *@var{path}); - -And in the subsequent discussion, refer to the argument values by -writing the same argument names, again highlighted with ‘@var’. - - Avoid the obsolete style that looks like this: - - #include <dld.h> - - dld_init (path) - char *path; - - Also, it is best to avoid writing ‘#include’ above the declaration -just to indicate that the function is declared in a header file. The -practice may give the misimpression that the ‘#include’ belongs near the -declaration of the function. Either state explicitly which header file -holds the declaration or, better yet, name the header file used for a -group of functions at the beginning of the section that describes the -functions. - -Node Length -........... - -Keep nodes (sections) to a reasonable length, whatever reasonable might -be in the given context. Don't hesitate to break up long nodes into -subnodes and have an extensive tree structure; that's what it's there -for. Many times, readers will probably try to find a single specific -point in the manual, using search, indexing, or just plain guessing, -rather than reading the whole thing from beginning to end. - - You can use the ‘texi-elements-by-size’ utility to see a list of all -nodes (or sections) in the document, sorted by size (either lines or -words), to find candidates for splitting. It's in the ‘util/’ -subdirectory of the Texinfo sources. - -Bad Examples -............ - -Here are several examples of bad writing to avoid: - - In this example, say, " ... you must ‘@dfn’{check in} the new -version." That flows better. - - When you are done editing the file, you must perform a ‘@dfn’{check - in}. - - In the following example, say, "... makes a unified interface such as -VC mode possible." - - SCCS, RCS and other version-control systems all perform similar - functions in broadly similar ways (it is this resemblance which - makes a unified control mode like this possible). - - And in this example, you should specify what 'it' refers to: - - If you are working with other people, it assists in coordinating - everyone's changes so they do not step on each other. - -And Finally ... -............... - - • Pronounce TeX as if the ‘X’ were a Greek 'chi', as the last sound - in the name 'Bach'. But pronounce Texinfo as in 'speck': - "teckinfo". - - • Write notes for yourself at the very end of a Texinfo file after - the ‘@bye’. None of the processors process text after the ‘@bye’; - it is as if the text were within ‘@ignore’ ... ‘@end ignore’. - - -File: texinfo.info, Node: Sample Texinfo Files, Next: Texinfo Mode, Prev: Tips, Up: Top - -Appendix C Sample Texinfo Files -******************************* - -This appendix includes texts to be used in GNU manuals. - -* Menu: - -* GNU Sample Texts:: -* Verbatim Copying License:: -* All-permissive Copying License:: - - -File: texinfo.info, Node: GNU Sample Texts, Next: Verbatim Copying License, Up: Sample Texinfo Files - -C.1 GNU Sample Texts -==================== - -Following is a sample Texinfo document with the full texts that should -be used (adapted as necessary) in GNU manuals. - - As well as the legal texts, it also serves as a practical example of -how many elements in a GNU system can affect the manual. If you're not -familiar with all these different elements, don't worry. They're not -required and a perfectly good manual can be written without them. -They're included here nonetheless because many manuals do (or could) -benefit from them. - - *Note Short Sample::, for a minimal example of a Texinfo file. - - Here are some notes on the example: - - • The ‘version.texi’ in the ‘@include’ command is maintained - automatically by Automake (*note (automake)Texinfo::). It sets the - ‘VERSION’, ‘UPDATED’ and ‘UPDATED-MONTH’ values used elsewhere. If - your distribution doesn't use Automake, but you do use Emacs, you - may find the ‘time-stamp.el’ package helpful (*note (emacs)Time - Stamps::). - - • The ‘@syncodeindex’ command reflects the recommendation to use only - one index where possible, to make it easier for readers to look up - index entries. - - • The ‘@dircategory’ specify a category for the manual. It is used - for constructing the Info directory. *Note Directory Category::, - which includes a variety of recommended category names. *Note - Installing Dir Entries::. - - • The 'Invoking' node is a GNU standard to help users find the basic - information about command-line usage of a given program. *Note - (standards)Manual Structure Details::. - - • This sample shows how to includes the FDL in a manual using the - ‘@include’ command. The ‘fdl.texi’ file is available in the - Texinfo and other GNU source distributions. It is also available - on the GNU website (at <https://www.gnu.org/licenses/fdl-1.3.html>) - along with guidance for using it. - - • If the FSF is not the copyright holder, then use the appropriate - name. - - • For documents that express your personal views, feelings or - experiences, it is more appropriate to use a license permitting - only verbatim copying, rather than the FDL. *Note Verbatim Copying - License::. - - Here is the sample document: - -\input texinfo @c -*-texinfo-*- -@comment %**start of header -@include version.texi -@settitle GNU Sample @value{VERSION} -@syncodeindex pg cp -@comment %**end of header -@copying -This manual is for GNU Sample (version @value{VERSION}, @value{UPDATED}), -which is an example in the Texinfo documentation. - -Copyright @copyright{} 2016 Free Software Foundation, Inc. - -@quotation -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled -``GNU Free Documentation License''. -@end quotation -@end copying - -@dircategory Texinfo documentation system -@direntry -* sample: (sample)Invoking sample. -@end direntry - -@titlepage -@title GNU Sample -@subtitle for version @value{VERSION}, @value{UPDATED} -@author A.U. Thor (@email{bug-sample@@gnu.org}) -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - -@contents - -@node Top -@top GNU Sample - -This manual is for GNU Sample (version @value{VERSION}, @value{UPDATED}). - -@menu -* Invoking sample:: -* GNU Free Documentation License:: -* Index:: -@end menu - -@node Invoking sample -@chapter Invoking sample - -@pindex sample -@cindex invoking @command{sample} - -This is a sample manual. There is no sample program to -invoke, but if there were, you could see its basic usage -and command line options here. - -@node GNU Free Documentation License -@appendix GNU Free Documentation License - -@include fdl.texi - -@node Index -@unnumbered Index - -@printindex cp - -@bye - - -File: texinfo.info, Node: Verbatim Copying License, Next: All-permissive Copying License, Prev: GNU Sample Texts, Up: Sample Texinfo Files - -C.2 Verbatim Copying License -============================ - -For software manuals and other documentation, it is critical to use a -license permitting free redistribution and updating, so that when a free -program is changed, the documentation can be updated as well. - - On the other hand, for documents that express your personal views, -feelings or experiences, it is more appropriate to use a license -permitting only verbatim copying. - - Here is a sample text for such a license permitting verbatim copying -only. This is just the license text itself. For a complete sample -document, see the previous sections. - -@copying -This document is a sample for allowing verbatim copying only. - -Copyright @copyright{} 2016 Free Software Foundation, Inc. - -@quotation -Permission is granted to make and distribute verbatim copies -of this entire document without royalty provided the -copyright notice and this permission notice are preserved. -@end quotation -@end copying - - -File: texinfo.info, Node: All-permissive Copying License, Prev: Verbatim Copying License, Up: Sample Texinfo Files - -C.3 All-permissive Copying License -================================== - -For software manuals and other documentation, it is important to use a -license permitting free redistribution and updating, so that when a free -program is changed, the documentation can be updated as well. - - On the other hand, for small supporting files, short manuals (under -300 lines long) and rough documentation (README files, INSTALL files, -etc.), the full FDL would be overkill. They can use a simple -all-permissive license. - - Here is a sample text for such an all-permissive license. This is -just the license text itself. For a complete sample document, see the -previous sections. - - Copyright @copyright{} 2016 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - - -File: texinfo.info, Node: Texinfo Mode, Next: Global Document Commands, Prev: Sample Texinfo Files, Up: Top - -Appendix D Using Texinfo Mode -***************************** - -You may edit a Texinfo file with any text editor you choose. A Texinfo -file is no different from any other ASCII file. However, GNU Emacs -comes with a special mode, called Texinfo mode, that provides Emacs -commands and tools to help ease your work. - -* Menu: - -* Texinfo Mode Overview:: How Texinfo mode can help you. -* Emacs Editing:: Texinfo mode adds to GNU Emacs' general purpose - editing features. -* Inserting:: How to insert frequently used @-commands. -* Showing the Structure:: How to show the structure of a file. -* Updating Nodes and Menus:: How to update or create new nodes and menus. -* Info Formatting:: How to format for Info. -* Printing with Emacs:: How to format with TeX and print with Emacs. -* Texinfo Mode Summary:: Summary of all the Texinfo mode commands. -* Formatting Info files:: Processing directly Info files. -* Catching Mistakes:: How to find mistakes in formatting. -* Batch Formatting:: How to format for Info in Emacs batch mode. - - -File: texinfo.info, Node: Texinfo Mode Overview, Next: Emacs Editing, Up: Texinfo Mode - -D.1 Texinfo Mode Overview -========================= - -Texinfo mode provides special features for working with Texinfo files. -You can: - - • Insert frequently used @-commands. - - • Automatically create ‘@node’ lines. - - • Show the structure of a Texinfo source file. - - • Automatically create or update the 'Next', 'Previous', and 'Up' - pointers of a node. - - • Automatically create or update menus. - - • Automatically create a master menu. - - • Format a part or all of a file for Info. - - • Typeset and print part or all of a file. - - Perhaps the two most helpful features are those for inserting -frequently used @-commands and for creating node pointers and menus. - - -File: texinfo.info, Node: Emacs Editing, Next: Inserting, Prev: Texinfo Mode Overview, Up: Texinfo Mode - -D.2 The Usual GNU Emacs Editing Commands -======================================== - -In most cases, the usual Text mode commands work the same in Texinfo -mode as they do in Text mode. Texinfo mode adds new editing commands -and tools to GNU Emacs' general purpose editing features. The major -difference concerns filling. In Texinfo mode, the paragraph separation -variable and syntax table are redefined so that Texinfo commands that -should be on lines of their own are not inadvertently included in -paragraphs. Thus, the ‘M-q’ (‘fill-paragraph’) command will refill a -paragraph but not mix an indexing command on a line adjacent to it into -the paragraph. - - In addition, Texinfo mode sets the ‘page-delimiter’ variable to the -value of ‘texinfo-chapter-level-regexp’; by default, this is a regular -expression matching the commands for chapters and their equivalents, -such as appendices. With this value for the page delimiter, you can -jump from chapter title to chapter title with the ‘C-x ]’ -(‘forward-page’) and ‘C-x [’ (‘backward-page’) commands and narrow to a -chapter with the ‘C-x n p’ (‘narrow-to-page’) command. (*Note -(emacs)Pages::, for details about the page commands.) - - GNU Emacs automatically enters Texinfo mode when you visit a file -with a ‘.texinfo’, ‘.texi’ or ‘.txi’ extension. Also, Emacs switches to -Texinfo mode when you visit a file that has ‘-*-texinfo-*-’ in its first -line. If ever you are in another mode and wish to switch to Texinfo -mode, type ‘M-x texinfo-mode’. - - Like all other Emacs features, you can customize or enhance Texinfo -mode as you wish. In particular, the keybindings are very easy to -change. The keybindings described here are the default or standard -ones. - - -File: texinfo.info, Node: Inserting, Next: Showing the Structure, Prev: Emacs Editing, Up: Texinfo Mode - -D.3 Inserting Frequently Used Commands -====================================== - -Texinfo mode provides commands to insert various frequently used -@-commands into the buffer. You can use these commands to save -keystrokes. - - The insert commands are invoked by typing ‘C-c’ twice and then the -first letter of the @-command: - -‘C-c C-c c’ -‘M-x texinfo-insert-@code’ - Insert ‘@code{}’ and put the cursor between the braces. - -‘C-c C-c d’ -‘M-x texinfo-insert-@dfn’ - Insert ‘@dfn{}’ and put the cursor between the braces. - -‘C-c C-c e’ -‘M-x texinfo-insert-@end’ - Insert ‘@end’ and attempt to insert the correct following word, - such as ‘example’ or ‘table’. (This command does not handle nested - lists correctly, but inserts the word appropriate to the - immediately preceding list.) - -‘C-c C-c i’ -‘M-x texinfo-insert-@item’ - Insert ‘@item’ and put the cursor at the beginning of the next - line. - -‘C-c C-c k’ -‘M-x texinfo-insert-@kbd’ - Insert ‘@kbd{}’ and put the cursor between the braces. - -‘C-c C-c n’ -‘M-x texinfo-insert-@node’ - Insert ‘@node’ and a comment line listing the sequence for the - 'Next', 'Previous', and 'Up' nodes. Leave point after the ‘@node’. - -‘C-c C-c o’ -‘M-x texinfo-insert-@noindent’ - Insert ‘@noindent’ and put the cursor at the beginning of the next - line. - -‘C-c C-c r’ -‘M-x texinfo-insert-dwim-@ref’ - This function and binding were added in Emacs 27.1. Inserts one of - ‘@pxref{}’, ‘@xref{}’, or ‘@ref{}’ based on the text around point; - calling it near an unclosed preceding open parenthesis results in - ‘@pxref{}’, at the beginning of a sentence or at ‘(point-min)’ - yields ‘@xref{}’, any other location (including inside a word), - will result in ‘@ref{}’. A numeric argument says how many words - the braces should surround. Puts the cursor between the braces. - -‘C-c C-c s’ -‘M-x texinfo-insert-@samp’ - Insert ‘@samp{}’ and put the cursor between the braces. - -‘C-c C-c t’ -‘M-x texinfo-insert-@table’ - Insert ‘@table’ followed by a <SPC> and leave the cursor after the - <SPC>. - -‘C-c C-c v’ -‘M-x texinfo-insert-@var’ - Insert ‘@var{}’ and put the cursor between the braces. - -‘C-c C-c x’ -‘M-x texinfo-insert-@example’ - Insert ‘@example’ and put the cursor at the beginning of the next - line. - -‘C-c C-c {’ -‘M-x texinfo-insert-braces’ - Insert ‘{}’ and put the cursor between the braces. - -‘C-c }’ -‘C-c ]’ -‘M-x up-list’ - Move from between a pair of braces forward past the closing brace. - Typing ‘C-c ]’ is easier than typing ‘C-c }’, which is, however, - more mnemonic; hence the two keybindings. (Also, you can move out - from between braces by typing ‘C-f’.) - - To put a command such as ‘@code{...}’ around an _existing_ word, -position the cursor in front of the word and type ‘C-u 1 C-c C-c c’. -This makes it easy to edit existing plain text. The value of the prefix -argument tells Emacs how many words following point to include between -braces--‘1’ for one word, ‘2’ for two words, and so on. Use a negative -argument to enclose the previous word or words. If you do not specify a -prefix argument, Emacs inserts the @-command string and positions the -cursor between the braces. This feature works only for those @-commands -that operate on a word or words within one line, such as ‘@kbd’ and -‘@var’. - - This set of insert commands was created after analyzing the frequency -with which different @-commands are used in the ‘GNU Emacs Manual’ and -the ‘GDB Manual’. If you wish to add your own insert commands, you can -bind a keyboard macro to a key, use abbreviations, or extend the code in -‘texinfo.el’. - - ‘C-c C-c C-d’ (‘texinfo-start-menu-description’) is an insert command -that works differently from the other insert commands. It inserts a -node's section or chapter title in the space for the description in a -menu entry line. (A menu entry has three parts, the entry name, the -node name, and the description. Only the node name is required, but a -description helps explain what the node is about. *Note The Parts of a -Menu: Menu Parts.) - - To use ‘texinfo-start-menu-description’, position point in a menu -entry line and type ‘C-c C-c C-d’. The command looks for and copies the -title that goes with the node name, and inserts the title as a -description; it positions point at the beginning of the inserted text so -you can edit it. The function does not insert the title if the menu -entry line already contains a description. - - This command is only an aid to writing descriptions; it does not do -the whole job. You must edit the inserted text since a title tends to -use the same words as a node name but a useful description uses -different words. - - -File: texinfo.info, Node: Showing the Structure, Next: Updating Nodes and Menus, Prev: Inserting, Up: Texinfo Mode - -D.4 Showing the Sectioning Structure of a File -============================================== - -You can show the sectioning structure of a Texinfo file by using the -‘C-c C-s’ command (‘texinfo-show-structure’). This command lists the -lines that begin with the @-commands for ‘@chapter’, ‘@section’, and the -like. It constructs what amounts to a table of contents. These lines -are displayed in another buffer called the ‘*Occur*’ buffer. In that -buffer, you can position the cursor over one of the lines and use the -‘C-c C-c’ command (‘occur-mode-goto-occurrence’), to jump to the -corresponding spot in the Texinfo file. - -‘C-c C-s’ -‘M-x texinfo-show-structure’ - Show the ‘@chapter’, ‘@section’, and such lines of a Texinfo file. - -‘C-c C-c’ -‘M-x occur-mode-goto-occurrence’ - Go to the line in the Texinfo file corresponding to the line under - the cursor in the ‘*Occur*’ buffer. - - If you call ‘texinfo-show-structure’ with a prefix argument by typing -‘C-u C-c C-s’, it will list not only those lines with the @-commands for -‘@chapter’, ‘@section’, and the like, but also the ‘@node’ lines. You -can use ‘texinfo-show-structure’ with a prefix argument to check whether -the 'Next', 'Previous', and 'Up' pointers of an ‘@node’ line are -correct. - - Often, when you are working on a manual, you will be interested only -in the structure of the current chapter. In this case, you can mark off -the region of the buffer that you are interested in by using the ‘C-x n -n’ (‘narrow-to-region’) command and ‘texinfo-show-structure’ will work -on only that region. To see the whole buffer again, use ‘C-x n w’ -(‘widen’). (*Note (emacs)Narrowing::, for more information about the -narrowing commands.) - - In addition to providing the ‘texinfo-show-structure’ command, -Texinfo mode sets the value of the page delimiter variable to match the -chapter-level @-commands. This enables you to use the ‘C-x ]’ -(‘forward-page’) and ‘C-x [’ (‘backward-page’) commands to move forward -and backward by chapter, and to use the ‘C-x n p’ (‘narrow-to-page’) -command to narrow to a chapter. *Note (emacs)Pages::, for more -information about the page commands. - -* Menu: - -* Using texinfo-show-structure:: How to use ‘texinfo-show-structure’. -* Using occur:: How to list all lines containing a pattern. - - -File: texinfo.info, Node: Using texinfo-show-structure, Next: Using occur, Up: Showing the Structure - -D.4.1 Using ‘texinfo-show-structure’ ------------------------------------- - -It is not always easy to keep track of the nodes, chapters, sections, -and subsections of a Texinfo file. This is especially true if you are -revising or adding to a Texinfo file that someone else has written. - - In GNU Emacs, in Texinfo mode, the ‘texinfo-show-structure’ command -lists all the lines that begin with the @-commands that specify the -structure: ‘@chapter’, ‘@section’, ‘@appendix’, and so on. With an -argument (‘C-u’ as prefix argument, if interactive), the command also -shows the ‘@node’ lines. The ‘texinfo-show-structure’ command is bound -to ‘C-c C-s’ in Texinfo mode, by default. - - The lines are displayed in a buffer called the ‘*Occur*’ buffer, -indented by hierarchical level. For example, here is a part of what was -produced by running ‘texinfo-show-structure’ on this manual: - - Lines matching "^@\\(chapter \\|sect\\|subs\\|subh\\| - unnum\\|major\\|chapheading \\|heading \\|appendix\\)" - in buffer texinfo.texi. - ... - 4177:@chapter Nodes - 4198: @heading Two Paths - 4231: @section Node and Menu Illustration - 4337: @section The @code{@@node} Command - 4393: @subheading Choosing Node and Pointer Names - 4417: @subsection How to Write a @code{@@node} Line - 4469: @subsection @code{@@node} Line Tips - ... - - This says that lines 4337, 4393, and 4417 of ‘texinfo.texi’ begin -with the ‘@section’, ‘@subheading’, and ‘@subsection’ commands -respectively. If you move your cursor into the ‘*Occur*’ window, you -can position the cursor over one of the lines and use the ‘C-c C-c’ -command (‘occur-mode-goto-occurrence’), to jump to the corresponding -spot in the Texinfo file. *Note Using Occur: (emacs)Other Repeating -Search, for more information about ‘occur-mode-goto-occurrence’. - - The first line in the ‘*Occur*’ window describes the “regular -expression” specified by TEXINFO-HEADING-PATTERN. This regular -expression is the pattern that ‘texinfo-show-structure’ looks for. -*Note Using Regular Expressions: (emacs)Regexps, for more information. - - When you invoke the ‘texinfo-show-structure’ command, Emacs will -display the structure of the whole buffer. If you want to see the -structure of just a part of the buffer, of one chapter, for example, use -the ‘C-x n n’ (‘narrow-to-region’) command to mark the region. (*Note -(emacs)Narrowing::.) This is how the example used above was generated. -(To see the whole buffer again, use ‘C-x n w’ (‘widen’).) - - If you call ‘texinfo-show-structure’ with a prefix argument by typing -‘C-u C-c C-s’, it will list lines beginning with ‘@node’ as well as the -lines beginning with the @-sign commands for ‘@chapter’, ‘@section’, and -the like. - - You can remind yourself of the structure of a Texinfo file by looking -at the list in the ‘*Occur*’ window; and if you have mis-named a node or -left out a section, you can correct the mistake. - - -File: texinfo.info, Node: Using occur, Prev: Using texinfo-show-structure, Up: Showing the Structure - -D.4.2 Using ‘occur’ -------------------- - -Sometimes the ‘texinfo-show-structure’ command produces too much -information. Perhaps you want to remind yourself of the overall -structure of a Texinfo file, and are overwhelmed by the detailed list -produced by ‘texinfo-show-structure’. In this case, you can use the -‘occur’ command directly. To do this, type: - - M-x occur - -and then, when prompted, type a “regexp”, a regular expression for the -pattern you want to match. (*Note Regular Expressions: (emacs)Regexps.) -The ‘occur’ command works from the current location of the cursor in the -buffer to the end of the buffer. If you want to run ‘occur’ on the -whole buffer, place the cursor at the beginning of the buffer. - - For example, to see all the lines that contain the word ‘@chapter’ in -them, just type ‘@chapter’. This will produce a list of the chapters. -It will also list all the sentences with ‘@chapter’ in the middle of the -line. - - If you want to see only those lines that start with the word -‘@chapter’, type ‘^@chapter’ when prompted by ‘occur’. If you want to -see all the lines that end with a word or phrase, end the last word with -a ‘$’; for example, ‘catching mistakes$’. This can be helpful when you -want to see all the nodes that are part of the same chapter or section -and therefore have the same 'Up' pointer. - - *Note Using Occur: (emacs)Other Repeating Search, for more -information. - - -File: texinfo.info, Node: Updating Nodes and Menus, Next: Info Formatting, Prev: Showing the Structure, Up: Texinfo Mode - -D.5 Updating Nodes and Menus -============================ - -The ‘texi2any’ command will create an Info file for a hierarchically -organized Texinfo file that lacks 'Next', 'Previous' and 'Up' pointers -(*note Writing a Node::). Thus, in general, there is no need for -explicit 'Next', 'Previous', and 'Up' pointers. In this setting, menus -will be added automatically for nodes without an explicit menu. (*Note -Generic Translator texi2any::, for more information about ‘texi2any’.) - - If you still want explicit pointers, Texinfo mode provides commands -for automatically creating or updating menus and node pointers. The -commands are called "update" commands because their most frequent use is -for updating a Texinfo file after you have worked on it; but you can use -them to insert the 'Next', 'Previous', and 'Up' pointers into an ‘@node’ -line that has none and to create menus in a file that has none. - -* Menu: - -* Updating Commands:: Five major updating commands. -* Updating Requirements:: How to structure a Texinfo file for using the - updating command. -* Update Multiple Files:: How to create and update nodes and menus when - using included files. -* Include Files Requirements:: How to structure outer file and include files - for the updating command. -* Other Updating Commands:: How to indent descriptions, insert missing nodes - lines, and update nodes in sequence. - - -File: texinfo.info, Node: Updating Commands, Next: Updating Requirements, Up: Updating Nodes and Menus - -D.5.1 The Updating Commands ---------------------------- - -You can use the updating commands to: - - • insert or update the 'Next', 'Previous', and 'Up' pointers of a - node, - - • insert or update the menu for a section, and - - • create a master menu for a Texinfo source file. - - You can also use the commands to update all the nodes and menus in a -region or in a whole Texinfo file. - - The updating commands work only with conventional Texinfo files, -which are structured hierarchically like books. In such files, a line -with a structuring command must follow closely after each ‘@node’ line, -except for the 'Top' ‘@node’ line. - - You can write the structuring command on the line that follows -immediately after an ‘@node’ line or else on the line that follows after -a single ‘@comment’ line or a single ‘@ifinfo’ line. You cannot -interpose more than one line between the ‘@node’ line and the -structuring command line; and you may interpose only a ‘@comment’ line -or an ‘@ifinfo’ line. - - Commands which work on a whole buffer require that the 'Top' node be -followed by a node with a ‘@chapter’ or equivalent-level command. The -menu updating commands will not create a main or master menu for a -Texinfo file that has only ‘@chapter’-level nodes! The menu updating -commands only create menus _within_ nodes for lower level nodes. To -create a menu of chapters, you must provide a 'Top' node. - - The menu updating commands remove menu entries that refer to other -Info files since they do not refer to nodes within the current buffer. -This is a deficiency. Rather than use menu entries, you can use cross -references to refer to other Info files. None of the updating commands -affect cross-references. - - Texinfo mode has five updating commands that are used most often: two -are for updating the node pointers or menu of a single node (or a -region); two are for updating every node pointer and menu in a file; and -one, the ‘texinfo-master-menu’ command, is for creating a master menu -for a complete file, and optionally, for updating every node and menu in -the whole Texinfo file. - - The ‘texinfo-master-menu’ command is the primary command: - -‘C-c C-u m’ -‘M-x texinfo-master-menu’ - Create or update a master menu that includes all the other menus - (incorporating the descriptions from pre-existing menus, if any). - - With an argument (prefix argument, ‘C-u,’ if interactive), first - create or update all the nodes and all the regular menus in the - buffer before constructing the master menu. (*Note The Top Node - and Master Menu: The Top Node, for more about a master menu.) - - For ‘texinfo-master-menu’ to work, the Texinfo file must have a - 'Top' node and at least one subsequent node. - - After extensively editing a Texinfo file, you can type the - following: - - C-u M-x texinfo-master-menu - or - C-u C-c C-u m - - This updates all the nodes and menus completely and all at once. - - The other major updating commands do smaller jobs and are designed -for the person who updates nodes and menus as he or she writes a Texinfo -file. - - The commands are: - -‘C-c C-u C-n’ -‘M-x texinfo-update-node’ - Insert the 'Next', 'Previous', and 'Up' pointers for the node that - point is within (i.e., for the ‘@node’ line preceding point). If - the ‘@node’ line has pre-existing 'Next', 'Previous', or 'Up' - pointers in it, the old pointers are removed and new ones inserted. - With an argument (prefix argument, ‘C-u’, if interactive), this - command updates all ‘@node’ lines in the region (which is the text - between point and mark). - -‘C-c C-u C-m’ -‘M-x texinfo-make-menu’ - Create or update the menu in the node that point is within. With - an argument (‘C-u’ as prefix argument, if interactive), the command - makes or updates menus for the nodes which are either within or a - part of the region. - - Whenever ‘texinfo-make-menu’ updates an existing menu, the - descriptions from that menu are incorporated into the new menu. - This is done by copying descriptions from the existing menu to the - entries in the new menu that have the same node names. If the node - names are different, the descriptions are not copied to the new - menu. - -‘C-c C-u C-e’ -‘M-x texinfo-every-node-update’ - Insert or update the 'Next', 'Previous', and 'Up' pointers for - every node in the buffer. - -‘C-c C-u C-a’ -‘M-x texinfo-all-menus-update’ - Create or update all the menus in the buffer. With an argument - (‘C-u’ as prefix argument, if interactive), first insert or update - all the node pointers before working on the menus. - - If a master menu exists, the ‘texinfo-all-menus-update’ command - updates it; but the command does not create a new master menu if - none already exists. (Use the ‘texinfo-master-menu’ command for - that.) - - When working on a document that does not merit a master menu, you - can type the following: - - C-u C-c C-u C-a - or - C-u M-x texinfo-all-menus-update - - This updates all the nodes and menus. - - The ‘texinfo-column-for-description’ variable specifies the column to -which menu descriptions are indented. By default, the value is 32 -although it can be useful to reduce it to as low as 24. You can set the -variable via customization (*note (emacs)Customization::) or with the -‘M-x set-variable’ command (*note Examining and Setting Variables: -(emacs)Examining.). - - Also, the ‘texinfo-indent-menu-description’ command may be used to -indent existing menu descriptions to a specified column. Finally, if -you wish, you can use the ‘texinfo-insert-node-lines’ command to insert -missing ‘@node’ lines into a file. In particular, you can ignore -‘@node’ lines altogether in your first draft and then use the -‘texinfo-insert-node-lines’ command to create ‘@node’ lines for you. -However, we do not recommend this practice. It is better to name the -node itself at the same time that you write a segment so you can easily -make cross-references. Useful cross-references are an especially -important feature of a good Texinfo manual. (*Note Other Updating -Commands::, for more information.) - - -File: texinfo.info, Node: Updating Requirements, Next: Update Multiple Files, Prev: Updating Commands, Up: Updating Nodes and Menus - -D.5.2 Updating Requirements ---------------------------- - -To use the updating commands, you must organize the Texinfo file -hierarchically with chapters, sections, subsections, and the like. When -you construct the hierarchy of the manual, do not 'jump down' more than -one level at a time: you can follow the 'Top' node with a chapter, but -not with a section; you can follow a chapter with a section, but not -with a subsection. However, you may 'jump up' any number of levels at -one time--for example, from a subsection to a chapter. - - Each ‘@node’ line, with the exception of the line for the 'Top' node, -must be followed by a line with a structuring command such as -‘@chapter’, ‘@section’, or ‘@unnumberedsubsec’. - - Each ‘@node’ line/structuring-command line combination must look -either like this: - - @node Comments, Minimum, Conventions, Overview - @comment node-name, next, previous, up - @section Comments - - or like this (without the ‘@comment’ line): - - @node Comments, Minimum, Conventions, Overview - @section Comments - - or like this (without the explicit node pointers): - - @node Comments - @section Comments - -In this example, 'Comments' is the name of both the node and the -section. The next node is called 'Minimum' and the previous node is -called 'Conventions'. The 'Comments' section is within the 'Overview' -node, which is specified by the 'Up' pointer. - - If a file has a 'Top' node, it must be called ‘top’ or ‘Top’ and be -the first node in the file. - - The menu updating commands create a menu of sections within a -chapter, a menu of subsections within a section, and so on. This means -that you must have a 'Top' node if you want a menu of chapters. - - -File: texinfo.info, Node: Update Multiple Files, Next: Include Files Requirements, Prev: Updating Requirements, Up: Updating Nodes and Menus - -D.5.3 Update Outer File and Include Files ------------------------------------------ - -GNU Emacs Texinfo mode provides the ‘texinfo-multiple-files-update’ -command. This command creates or updates 'Next', 'Previous', and 'Up' -pointers of included files as well as those in the outer or overall -Texinfo file, and it creates or updates a main menu in the outer file. -Depending on whether you call it with optional arguments, the command -updates only the pointers in the first ‘@node’ line of the included -files or all of them. - - With ‘C-u’ as a prefix argument, create and insert a master menu in -the outer file. With a numeric prefix argument, such as ‘C-u 2’, first -update all the menus and all the 'Next', 'Previous', and 'Up' pointers -of all the included files before creating and inserting a master menu in -the outer file. - - In more details: - -‘M-x texinfo-multiple-files-update’ - Called without any arguments: - - − Create or update the 'Next', 'Previous', and 'Up' pointers of - the first ‘@node’ line in each file included in an outer or - overall Texinfo file. - - − Create or update the 'Top' level node pointers of the outer or - overall file. - - − Create or update a main menu in the outer file. - -‘C-u M-x texinfo-multiple-files-update’ - Called with ‘C-u’ as a prefix argument: - - − Create or update pointers in the first ‘@node’ line in each - included file. - - − Create or update the 'Top' level node pointers of the outer - file. - - − Create and insert a master menu in the outer file. The master - menu is made from all the menus in all the included files. - -‘C-u 8 M-x texinfo-multiple-files-update’ - Called with a numeric prefix argument, such as ‘C-u 8’: - - − Create or update _all_ the 'Next', 'Previous', and 'Up' - pointers of all the included files. - - − Create or update _all_ the menus of all the included files. - - − Create or update the 'Top' level node pointers of the outer or - overall file. - - − And then create a master menu in the outer file. This is - similar to invoking ‘texinfo-master-menu’ with an argument - when you are working with just one file. - - Note the use of the prefix argument in interactive use: with a -regular prefix argument, just ‘C-u’, the ‘texinfo-multiple-files-update’ -command inserts a master menu; with a numeric prefix argument, such as -‘C-u 8’, the command updates _every_ pointer and menu in _all_ the files -and then inserts a master menu. - - -File: texinfo.info, Node: Include Files Requirements, Next: Other Updating Commands, Prev: Update Multiple Files, Up: Updating Nodes and Menus - -D.5.4 Include Files Requirements --------------------------------- - -If you plan to use the ‘texinfo-multiple-files-update’ command, the -outer Texinfo file that lists included files within it should contain -nothing but the beginning and end parts of a Texinfo file, and a number -of ‘@include’ commands listing the included files. It should not even -include indices, which should be listed in an included file of their -own. - - Moreover, each of the included files must contain exactly one highest -level node (conventionally, ‘@chapter’ or equivalent), and this node -must be the first node in the included file. Furthermore, each of these -highest level nodes in each included file must be at the same -hierarchical level in the file structure. Usually, each is a -‘@chapter’, an ‘@appendix’, or an ‘@unnumbered’ node. Thus, normally, -each included file contains one, and only one, chapter or -equivalent-level node. - - The outer file should contain only _one_ node, the 'Top' node. It -should _not_ contain any nodes besides the single 'Top' node. The -‘texinfo-multiple-files-update’ command will not process them. - - -File: texinfo.info, Node: Other Updating Commands, Prev: Include Files Requirements, Up: Updating Nodes and Menus - -D.5.5 Other Updating Commands ------------------------------ - -In addition to the major updating commands, Texinfo mode possesses -several less frequently used updating commands: - -‘M-x texinfo-insert-node-lines’ - Insert ‘@node’ lines before the ‘@chapter’, ‘@section’, and other - sectioning commands wherever they are missing throughout a region - in a Texinfo file. - - With an argument (‘C-u’ as prefix argument, if interactive), the - command ‘texinfo-insert-node-lines’ not only inserts ‘@node’ lines - but also inserts the chapter or section titles as the names of the - corresponding nodes. In addition, it inserts the titles as node - names in pre-existing ‘@node’ lines that lack names. Since node - names should be more concise than section or chapter titles, you - must manually edit node names so inserted. - - For example, the following marks a whole buffer as a region and - inserts ‘@node’ lines and titles throughout: - - C-x h C-u M-x texinfo-insert-node-lines - - This command inserts titles as node names in ‘@node’ lines; the - ‘texinfo-start-menu-description’ command (*note Inserting - Frequently Used Commands: Inserting.) inserts titles as - descriptions in menu entries, a different action. However, in both - cases, you need to edit the inserted text. - -‘M-x texinfo-indent-menu-description’ - Indent every description in the menu following point to the - specified column. You can use this command to give yourself more - space for descriptions. With an argument (‘C-u’ as prefix - argument, if interactive), the ‘texinfo-indent-menu-description’ - command indents every description in every menu in the region. - However, this command does not indent the second and subsequent - lines of a multi-line description. - -‘M-x texinfo-sequential-node-update’ - Insert the names of the nodes immediately following and preceding - the current node as the 'Next' or 'Previous' pointers regardless of - those nodes' hierarchical level. This means that the 'Next' node - of a subsection may well be the next chapter. Sequentially ordered - nodes are useful for novels and other documents that you read - through sequentially. (However, in Info, the ‘g *’ command lets - you look through the file sequentially, so sequentially ordered - nodes are not strictly necessary.) With an argument (prefix - argument, if interactive), the ‘texinfo-sequential-node-update’ - command sequentially updates all the nodes in the region. - - -File: texinfo.info, Node: Info Formatting, Next: Printing with Emacs, Prev: Updating Nodes and Menus, Up: Texinfo Mode - -D.6 Formatting for Info -======================= - -Texinfo mode provides several commands for formatting part or all of a -Texinfo file for Info. - -* Menu: - -* texi2any in Emacs:: How to run ‘texi2any’ from Emacs. -* texinfo-format commands:: Two Info formatting commands written in Emacs - Lisp are an alternative to ‘texi2any’. - - -File: texinfo.info, Node: texi2any in Emacs, Next: texinfo-format commands, Up: Info Formatting - -D.6.1 Running ‘texi2any’/‘makeinfo’ Within Emacs ------------------------------------------------- - -The ‘texi2any’ program provides better error messages than either of the -Emacs formatting commands. We recommend it. The ‘texi2any’ program is -independent of Emacs. - - You can run ‘texi2any’ (or ‘makeinfo’) in GNU Emacs Texinfo mode by -using either the ‘makeinfo-region’ or the ‘makeinfo-buffer’ commands. -In Texinfo mode, the commands are bound to ‘C-c C-m C-r’ and ‘C-c C-m -C-b’ by default. - -‘C-c C-m C-r’ -‘M-x makeinfo-region’ - Format the current region for Info. - -‘C-c C-m C-b’ -‘M-x makeinfo-buffer’ - Format the current buffer for Info. - - When you invoke ‘makeinfo-region’ the output goes to a temporary -buffer. When you invoke ‘makeinfo-buffer’ output goes to the file set -with ‘@setfilename’ (*note @setfilename::). - - The Emacs ‘makeinfo-region’ and ‘makeinfo-buffer’ commands run the -‘texi2any’ program in a temporary shell buffer. If ‘texi2any’ finds any -errors, Emacs displays the error messages in the temporary buffer. - - You can parse the error messages by typing ‘C-x `’ (‘next-error’). -This causes Emacs to go to and position the cursor on the line in the -Texinfo source that ‘texi2any’ thinks caused the error. *Note Running -‘make’ or Compilers Generally: (emacs)Compilation, for more information -about using the ‘next-error’ command. - - In addition, you can kill the shell in which the ‘texi2any’ command -is running or make the shell buffer display its most recent output. - -‘C-c C-m C-k’ -‘M-x makeinfo-kill-job’ - Kill the current running ‘texi2any’ (or ‘makeinfo’) job (from - ‘makeinfo-region’ or ‘makeinfo-buffer’). - -‘C-c C-m C-l’ -‘M-x makeinfo-recenter-output-buffer’ - Redisplay the ‘texi2any’ shell buffer to display its most recent - output. - -(Note that the parallel commands for killing and recentering a TeX job -are ‘C-c C-t C-k’ and ‘C-c C-t C-l’. *Note Texinfo Mode Printing::.) - - You can specify options for ‘texi2any’ by setting the -‘makeinfo-options’ variable with either the ‘M-x customize’ or the ‘M-x -set-variable’ command, or by setting the variable in your ‘.emacs’ -initialization file. - - For example, you could write the following in your ‘.emacs’ file: - - (setq makeinfo-options - "--paragraph-indent=0 --no-split - --fill-column=70 --verbose") - -For more information, see -*note Easy Customization Interface: (emacs)Easy Customization, -*note Examining and Setting Variables: (emacs)Examining, -*note (emacs)Init File::, and -*note texi2any Options::. - - -File: texinfo.info, Node: texinfo-format commands, Prev: texi2any in Emacs, Up: Info Formatting - -D.6.2 The ‘texinfo-format...’ Commands --------------------------------------- - -In GNU Emacs in Texinfo mode, you can format part or all of a Texinfo -file with the ‘texinfo-format-region’ command. This formats the current -region and displays the formatted text in a temporary buffer called -‘*Info Region*’. - - Similarly, you can format a buffer with the ‘texinfo-format-buffer’ -command. This command creates a new buffer and generates the Info file -in it. Typing ‘C-x C-s’ will save the Info file under the name -specified by the ‘@setfilename’ line which must be near the beginning of -the Texinfo file. - -‘C-c C-e C-r’ -‘texinfo-format-region’ - Format the current region for Info. - -‘C-c C-e C-b’ -‘texinfo-format-buffer’ - Format the current buffer for Info. - - The ‘texinfo-format-region’ and ‘texinfo-format-buffer’ commands -provide you with some error checking, and other functions can provide -you with further help in finding formatting errors. These procedures -are described in an appendix; see *note Catching Mistakes::. However, -the ‘texi2any’ program provides better error checking (*note texi2any in -Emacs::). - - A peculiarity of the ‘texinfo-format-buffer’ and -‘texinfo-format-region’ commands is that they do not indent (nor fill) -paragraphs that contain ‘@w’ or ‘@*’ commands. - - -File: texinfo.info, Node: Printing with Emacs, Next: Texinfo Mode Summary, Prev: Info Formatting, Up: Texinfo Mode - -D.7 Formatting and Printing with Emacs -====================================== - -GNU Emacs can be used for formatting and printing with TeX, from an -Emacs Shell. Texinfo mode also provides predefined key commands for -formatting and printing. - -* Menu: - -* Texinfo Mode Printing:: How to format and print part or all of a file. -* Compile-Command:: How to print using Emacs's compile command. - - -File: texinfo.info, Node: Texinfo Mode Printing, Next: Compile-Command, Up: Printing with Emacs - -D.7.1 Formatting and Printing in Texinfo Mode ---------------------------------------------- - -Texinfo mode provides several predefined key commands for TeX formatting -and printing. These include commands for sorting indices, looking at -the printer queue, killing the formatting job, and recentering the -display of the buffer in which the operations occur. - - Often, when you are writing a document, you want to typeset and print -only part of a file to see what it will look like. You can use the -‘texinfo-tex-region’ and related commands for this purpose. Use the -‘texinfo-tex-buffer’ command to format all of a buffer. - - For ‘texinfo-tex-region’ or ‘texinfo-tex-buffer’ to work, the file -_must_ start with a ‘\input texinfo’ line and must include a ‘@settitle’ -line. The file must end with ‘@bye’ on a line by itself. (When you use -‘texinfo-tex-region’, you must surround the ‘@settitle’ line with -start-of-header and end-of-header lines.) - -‘C-c C-t C-b’ -‘M-x texinfo-tex-buffer’ - Run ‘texi2dvi’ on the buffer. In addition to running TeX on the - buffer, this command automatically creates or updates indices as - needed. - -‘C-c C-t C-r’ -‘M-x texinfo-tex-region’ - Run TeX on the current region. - - If @-commands related to printed output are between the - start-of-header and end-of-header lines, then ‘texinfo-tex-region’ - will format the region accordingly. For example, if you write the - ‘@smallbook’ command between the start-of-header and end-of-header - lines, ‘texinfo-tex-region’, will format the region in "small" book - size. - -‘C-c C-t C-i’ -‘M-x texinfo-texindex’ - Run ‘texindex’ to sort the indices of a Texinfo file formatted with - ‘texinfo-tex-region’. The ‘texinfo-tex-region’ command does not - run ‘texindex’ automatically; it only runs the ‘tex’ typesetting - command. You must run the ‘texinfo-tex-region’ command a second - time after sorting the raw index files with the ‘texindex’ command. - (Usually, you do not format an index when you format a region, only - when you format a buffer. Now that the ‘texi2dvi’ command exists, - there is little or no need for this command.) - -‘C-c C-t C-p’ -‘M-x texinfo-tex-print’ - Print a DVI file that was made with ‘texinfo-tex-region’ or - ‘texinfo-tex-buffer’. - -‘C-c C-t C-q’ -‘M-x tex-show-print-queue’ - Show the print queue. - -‘C-c C-t C-d’ -‘M-x texinfo-delete-from-print-queue’ - Delete a job from the print queue; you will be prompted for the job - number shown by a preceding ‘C-c C-t C-q’ command - (‘texinfo-show-tex-print-queue’). - -‘C-c C-t C-k’ -‘M-x tex-kill-job’ - Kill the currently running TeX job started by either - ‘texinfo-tex-region’ or ‘texinfo-tex-buffer’, or any other process - running in the Texinfo shell buffer. - -‘C-c C-t C-x’ -‘M-x texinfo-quit-job’ - Quit a TeX formatting job that has stopped because of an error by - sending an <x> to it. When you do this, TeX preserves a record of - what it did in a ‘.log’ file. - -‘C-c C-t C-l’ -‘M-x tex-recenter-output-buffer’ - Redisplay the shell buffer in which the TeX printing and formatting - commands are run to show its most recent output. - - Thus, the usual sequence of commands for formatting a buffer is as -follows (with comments to the right): - - C-c C-t C-b Run ‘texi2dvi’ on the buffer. - C-c C-t C-p Print the DVI file. - C-c C-t C-q Display the printer queue. - - The Texinfo mode TeX formatting commands start a subshell in Emacs -called the ‘*tex-shell*’. The ‘texinfo-tex-command’, -‘texinfo-texindex-command’, and ‘tex-dvi-print-command’ commands are all -run in this shell. - - You can watch the commands operate in the ‘*tex-shell*’ buffer, and -you can switch to and from and use the ‘*tex-shell*’ buffer as you would -any other shell buffer. - - The formatting and print commands depend on the values of several -variables. The default values are: - - Variable Default value - - texinfo-texi2dvi-command "texi2dvi" - texinfo-tex-command "tex" - texinfo-texindex-command "texindex" - texinfo-delete-from-print-queue-command "lprm" - texinfo-tex-trailer "@bye" - tex-start-of-header "%**start" - tex-end-of-header "%**end" - tex-dvi-print-command "lpr -d" - tex-show-queue-command "lpq" - - You can change the values of these variables with the ‘M-x -set-variable’ command (*note Examining and Setting Variables: -(emacs)Examining.), or with your ‘.emacs’ initialization file (*note -(emacs)Init File::). - - Beginning with version 20, GNU Emacs offers a user-friendly -interface, called “Customize”, for changing values of user-definable -variables. *Note Easy Customization Interface: (emacs)Easy -Customization, for more details about this. The Texinfo variables can -be found in the ‘Development/Docs/Texinfo’ group, once you invoke the -‘M-x customize’ command. - - -File: texinfo.info, Node: Compile-Command, Prev: Texinfo Mode Printing, Up: Printing with Emacs - -D.7.2 Using the Local Variables List ------------------------------------- - -Yet another way to apply the TeX formatting command to a Texinfo file is -to put that command in a “local variables list” at the end of the -Texinfo file. You can then specify the ‘tex’ or ‘texi2dvi’ commands as -a ‘compile-command’ and have Emacs run it by typing ‘M-x compile’. This -creates a special shell called the ‘*compilation*’ buffer in which Emacs -runs the compile command. For example, at the end of the ‘gdb.texi’ -file, after the ‘@bye’, you could put the following: - - Local Variables: - compile-command: "texi2dvi gdb.texi" - End: - -This technique is most often used by programmers who also compile -programs this way; see *note (emacs)Compilation::. - - -File: texinfo.info, Node: Texinfo Mode Summary, Next: Formatting Info files, Prev: Printing with Emacs, Up: Texinfo Mode - -D.8 Texinfo Mode Summary -======================== - -In Texinfo mode, each set of commands has default keybindings that begin -with the same keys. All the commands that are custom-created for -Texinfo mode begin with ‘C-c’. The keys are somewhat mnemonic. - -Insert Commands ---------------- - -The insert commands are invoked by typing ‘C-c’ twice and then the first -letter of the @-command to be inserted. (It might make more sense -mnemonically to use ‘C-c C-i’, for 'custom insert', but ‘C-c C-c’ is -quick to type.) - - C-c C-c c Insert ‘@code’. - C-c C-c d Insert ‘@dfn’. - C-c C-c e Insert ‘@end’. - C-c C-c i Insert ‘@item’. - C-c C-c n Insert ‘@node’. - C-c C-c s Insert ‘@samp’. - C-c C-c v Insert ‘@var’. - C-c { Insert braces. - C-c ] - C-c } Move out of enclosing braces. - - C-c C-c C-d Insert a node's section title - in the space for the description - in a menu entry line. - -Show Structure --------------- - -The ‘texinfo-show-structure’ command is often used within a narrowed -region. - - C-c C-s List all the headings. - -The Master Update Command -------------------------- - -The ‘texinfo-master-menu’ command creates a master menu; and can be used -to update every node and menu in a file as well. - - C-c C-u m - M-x texinfo-master-menu - Create or update a master menu. - - C-u C-c C-u m With ‘C-u’ as a prefix argument, first - create or update all nodes and regular - menus, and then create a master menu. - -Update Pointers ---------------- - -The update pointer commands are invoked by typing ‘C-c C-u’ and then -either ‘C-n’ for ‘texinfo-update-node’ or ‘C-e’ for -‘texinfo-every-node-update’. - - C-c C-u C-n Update a node. - C-c C-u C-e Update every node in the buffer. - -Update Menus ------------- - -Invoke the update menu commands by typing ‘C-c C-u’ and then either -‘C-m’ for ‘texinfo-make-menu’ or ‘C-a’ for ‘texinfo-all-menus-update’. -To update both nodes and menus at the same time, precede ‘C-c C-u C-a’ -with ‘C-u’. - - C-c C-u C-m Make or update a menu. - - C-c C-u C-a Make or update all - menus in a buffer. - - C-u C-c C-u C-a With ‘C-u’ as a prefix argument, - first create or update all nodes and - then create or update all menus. - -Format for Info ---------------- - -The Info formatting commands that are written in Emacs Lisp are invoked -by typing ‘C-c C-e’ and then either ‘C-r’ for a region or ‘C-b’ for the -whole buffer. - - The Info formatting commands that are based on the -‘texi2any’/‘makeinfo’ program are invoked by typing ‘C-c C-m’ and then -either ‘C-r’ for a region or ‘C-b’ for the whole buffer. - -Use the ‘texinfo-format...’ commands: - - C-c C-e C-r Format the region. - C-c C-e C-b Format the buffer. - -Use ‘texi2any’/‘makeinfo’: - - C-c C-m C-r Format the region. - C-c C-m C-b Format the buffer. - C-c C-m C-l Recenter the ‘texi2any’ output buffer. - C-c C-m C-k Kill the ‘texi2any’ formatting job. - -Typeset and Print ------------------ - -The TeX typesetting and printing commands are invoked by typing ‘C-c -C-t’ and then another control command: ‘C-r’ for ‘texinfo-tex-region’, -‘C-b’ for ‘texinfo-tex-buffer’, and so on. - - C-c C-t C-r Run TeX on the region. - C-c C-t C-b Run texi2dvi on the buffer. - C-c C-t C-i Run texindex. - C-c C-t C-p Print the DVI file. - C-c C-t C-q Show the print queue. - C-c C-t C-d Delete a job from the print queue. - C-c C-t C-k Kill the current TeX formatting job. - C-c C-t C-x Quit a currently stopped TeX formatting job. - C-c C-t C-l Recenter the output buffer. - -Other Updating Commands ------------------------ - -The remaining updating commands do not have standard keybindings because -they are rarely used. - - M-x texinfo-insert-node-lines - Insert missing ‘@node’ lines in region. - With ‘C-u’ as a prefix argument, - use section titles as node names. - - M-x texinfo-multiple-files-update - Update a multi-file document. - With ‘C-u 2’ as a prefix argument, - create or update all nodes and menus - in all included files first. - - M-x texinfo-indent-menu-description - Indent descriptions. - - M-x texinfo-sequential-node-update - Insert node pointers in strict sequence. - - -File: texinfo.info, Node: Formatting Info files, Next: Catching Mistakes, Prev: Texinfo Mode Summary, Up: Texinfo Mode - -D.9 Direct Formatting of Info files -=================================== - -In general, there is no need to edit or process Info files. Most of the -content of Info file is plain text, but the tag tables require computing -offsets for nodes and indirect files (*note Tag and Split Files::), -which is impractical. The Texinfo processors output well-formatted Info -from Texinfo input. Also, lot of information from the Texinfo source is -lost in the Info file. The Texinfo source is therefore more suitable to -analyse a manual, be it for error reporting, for statistics, or to set -up translations. - - Still, especially with manually written Info files, there are some -situations where it may be interesting to process Info files directly, -in particular to compute Info files node offsets and to compute split -Info files file offsets. Two Emacs commands do that. ‘Info-tagify’ -adds a tag table for a nonsplit file lacking one. This function is also -useful for Info file validation (*note Running Info-validate::). It is -also possible to split a nonsplit Info file with ‘Info-split’. - -* Menu: - -* Tagifying:: How to tagify a file. -* Splitting:: How to split a file manually. - - -File: texinfo.info, Node: Tagifying, Next: Splitting, Up: Formatting Info files - -D.9.1 Tagifying a File ----------------------- - -Texinfo processors create tag tables automatically. The only exception -arise when ‘texinfo-format-buffer’ is called with a prefix, as ‘C-u M-x -texinfo-format-buffer’, to create an non split Info file without a tag -table (which can be useful in some cases for Info file validation, *note -Unsplit and Tagify::). Adding a tag table is therefore more generally -useful for manually written Info files. - - To create a tag table for an nonsplit file, visit the Info file you -wish to tagify and type: - - M-x Info-tagify - -(Note the uppercase ‘I’ in ‘Info-tagify’.) This creates an Info file -with a tag table. A tag table is part of a well formed Info file (*note -Tag and Split Files::). A tag table is also needed to validate or split -the Info file. - - -File: texinfo.info, Node: Splitting, Prev: Tagifying, Up: Formatting Info files - -D.9.2 Splitting a File Manually -------------------------------- - -You should split a large file or else let the ‘texinfo-format-buffer’ or -‘makeinfo-buffer’ command do it for you automatically. (Generally you -will let one of the formatting commands do this job for you. *Note Info -Formatting::.) - - The split-off files are called the indirect subfiles. - - Tag tables are created automatically by the formatting command; you -only need to create a tag table yourself if you are doing the job -manually. *Note Tagifying::, for information about creating a tag -table. - - Visit the Info file you wish to tagify and split manually and type -the two commands: - - M-x Info-tagify - M-x Info-split - -(Note that the ‘I’ in ‘Info’ is uppercase.) - - When you use the ‘Info-split’ command, the buffer is modified into a -(small) Info file which lists the indirect subfiles. This file should -be saved in place of the original visited file. The indirect subfiles -are written in the same directory the original file is in, with names -generated by appending ‘-’ and a number to the original file name. - - The primary file still functions as an Info file, but it contains -just the tag table and a directory of subfiles. *Note Tag and Split -Files::. - - -File: texinfo.info, Node: Catching Mistakes, Next: Batch Formatting, Prev: Formatting Info files, Up: Texinfo Mode - -D.10 Catching Mistakes -====================== - -Besides mistakes in the content of your documentation, there are two -kinds of mistake you can make with Texinfo: you can make mistakes with -@-commands, and you can make mistakes with the structure of the nodes -and chapters. - - For finding problems with @-commands, you can run TeX or a region -formatting command on the region that has a problem; indeed, you can run -these commands on each region as you write it. - - For finding problems with the structure of nodes and chapters, you -can use ‘C-c C-s’ (‘texinfo-show-structure’) and the related ‘occur’ -command and you can use the ‘M-x Info-validate’ command. - -* Menu: - -* texi2any Preferred:: ‘texi2any’ finds errors. -* Debugging with Info:: How to catch errors with Info formatting. -* Debugging with TeX:: How to catch errors with TeX formatting. -* Running Info-validate:: How to find badly referenced nodes. - - -File: texinfo.info, Node: texi2any Preferred, Next: Debugging with Info, Up: Catching Mistakes - -D.10.1 ‘texi2any’ Preferred ---------------------------- - -The ‘texi2any’ program does an excellent job of catching errors and -reporting them--far better than ‘texinfo-format-region’ or -‘texinfo-format-buffer’. In addition, the various functions for -automatically creating and updating node pointers and menus remove many -opportunities for human error. - - Use ‘texi2any’ (or its Texinfo mode manifestations, ‘makeinfo-region’ -and ‘makeinfo-buffer’) to format your file and check for other errors. -This is the best way to work with Texinfo. But if you cannot use -‘texi2any’, or your problem is very puzzling, then you may want to use -the tools described in this section. - - -File: texinfo.info, Node: Debugging with Info, Next: Debugging with TeX, Prev: texi2any Preferred, Up: Catching Mistakes - -D.10.2 Catching Errors with Info Formatting -------------------------------------------- - -After you have written part of a Texinfo file, you can use the -‘texinfo-format-region’ or the ‘makeinfo-region’ command to see whether -the region formats properly. - - Most likely, however, you are reading this section because for some -reason you cannot use the ‘makeinfo-region’ command; therefore, the rest -of this section presumes that you are using ‘texinfo-format-region’. - - If you have made a mistake with an @-command, ‘texinfo-format-region’ -will stop processing at or after the error and display an error message. -To see where in the buffer the error occurred, switch to the ‘*Info -Region*’ buffer; the cursor will be in a position that is after the -location of the error. Also, the text will not be formatted after the -place where the error occurred (or more precisely, where it was -detected). - - For example, if you accidentally end a menu with the command ‘@end -menus’ with an 's' on the end, instead of with ‘@end menu’, you will see -an error message that says: - - @end menus is not handled by texinfo - -The cursor will stop at the point in the buffer where the error occurs, -or not long after it. The buffer will look like this: - - ---------- Buffer: *Info Region* ---------- - * Menu: - - * Using texinfo-show-structure:: How to use - `texinfo-show-structure' - to catch mistakes. - * Running Info-validate:: How to check for - unreferenced nodes. - @end menus - ⋆ - ---------- Buffer: *Info Region* ---------- - - The ‘texinfo-format-region’ command sometimes provides slightly odd -error messages. For example, the following cross-reference fails to -format: - - (@xref{Catching Mistakes, for more info.) - -In this case, ‘texinfo-format-region’ detects the missing closing brace -but displays a message that says ‘Unbalanced parentheses’ rather than -‘Unbalanced braces’. This is because the formatting command looks for -mismatches between braces as if they were parentheses. - - Sometimes ‘texinfo-format-region’ fails to detect mistakes. For -example, in the following, the closing brace is swapped with the closing -parenthesis: - - (@xref{Catching Mistakes), for more info.} - -Formatting produces: - (*Note for more info.: Catching Mistakes) - - The only way for you to detect this error is to realize that the -reference should have looked like this: - - (*Note Catching Mistakes::, for more info.) - - Incidentally, if you are reading this node in Info and type ‘f <RET>’ -(‘Info-follow-reference’), you will generate an error message that says: - - No such node: "Catching Mistakes) The only way ... - -This is because Info perceives the example of the error as the first -cross-reference in this node and if you type a <RET> immediately after -typing the Info ‘f’ command, Info will attempt to go to the referenced -node. If you type ‘f catch <TAB> <RET>’, Info will complete the node -name of the correctly written example and take you to the 'Catching -Mistakes' node. (If you try this, you can return from the 'Catching -Mistakes' node by typing ‘l’ (‘Info-last’).) - - -File: texinfo.info, Node: Debugging with TeX, Next: Running Info-validate, Prev: Debugging with Info, Up: Catching Mistakes - -D.10.3 Debugging with TeX -------------------------- - -You can also catch mistakes when you format a file with TeX. - - Usually, you will want to do this after you have run -‘texinfo-format-buffer’ (or, better, ‘makeinfo-buffer’) on the same -file, because ‘texinfo-format-buffer’ sometimes displays error messages -that make more sense than TeX. (*Note Debugging with Info::, for more -information.) - - For example, TeX was run on a Texinfo file, part of which is shown -here: - - ---------- Buffer: texinfo.texi ---------- - name of the Texinfo file as an extension. The - @samp{??} are `wildcards' that cause the shell to - substitute all the raw index files. (@xref{sorting - indices, for more information about sorting - indices.) - ---------- Buffer: texinfo.texi ---------- - -(The cross-reference lacks a closing brace.) TeX produced the following -output, after which it stopped: - - ---------- Buffer: *tex-shell* ---------- - Runaway argument? - {sorting indices, for more information about sorting - indices.) @ETC. - ! Paragraph ended before @xref was complete. - <to be read again> - @par - l.27 - - ? - ---------- Buffer: *tex-shell* ---------- - - In this case, TeX produced an accurate and understandable error -message: - - Paragraph ended before @xref was complete. - -‘@par’ is an internal TeX command of no relevance to Texinfo. ‘l.27’ -means that TeX detected the problem on line 27 of the Texinfo file. The -‘?’ is the prompt TeX uses in this circumstance. - - Unfortunately, TeX is not always so helpful, and sometimes you must -truly be a Sherlock Holmes to discover what went wrong. - - In any case, if you run into a problem like this, you can do one of -three things. - - 1. You can tell TeX to continue running and ignore just this error by - typing <RET> at the ‘?’ prompt. - - 2. You can tell TeX to continue running and to ignore all errors as - best it can by typing ‘r <RET>’ at the ‘?’ prompt. - - This is often the best thing to do. However, beware: the one error - may produce a cascade of additional error messages as its - consequences are felt through the rest of the file. To stop TeX - when it is producing such an avalanche of error messages, type - ‘C-c’ (or ‘C-c C-c’, if you are running a shell inside Emacs). - - 3. You can tell TeX to stop this run by typing ‘x <RET>’ at the ‘?’ - prompt. - - If you are running TeX inside Emacs, you need to switch to the shell -buffer and line at which TeX offers the ‘?’ prompt. - - Sometimes TeX will format a file without producing error messages -even though there is a problem. This usually occurs if a command is not -ended but TeX is able to continue processing anyhow. For example, if -you fail to end an itemized list with the ‘@end itemize’ command, TeX -will write a DVI file that you can print out. The only error message -that TeX will give you is the somewhat mysterious comment: - - (@end occurred inside a group at level 1) - -However, if you print the DVI file, you will find that the text of the -file that follows the itemized list is entirely indented as if it were -part of the last item in the itemized list. The error message is the -way TeX says that it expected to find an ‘@end’ command somewhere in the -file; but that it could not determine where it was needed. - - Another source of notoriously hard-to-find errors is a missing ‘@end -group’ command. If you ever are stumped by incomprehensible errors, -look for a missing ‘@end group’ command first. - - If the Texinfo file lacks header lines, TeX may stop in the beginning -of its run and display output that looks like the following. The ‘*’ -indicates that TeX is waiting for input. - - This is TeX, Version 3.14159 (Web2c 7.0) - (test.texinfo [1]) - * - -In this case, simply type ‘\end <RET>’ after the asterisk. Then write -the header lines in the Texinfo file and run the TeX command again. -(Note the use of the backslash, ‘\’. TeX uses ‘\’ instead of ‘@’; and -in this circumstance, you are working directly with TeX, not with -Texinfo.) - - -File: texinfo.info, Node: Running Info-validate, Prev: Debugging with TeX, Up: Catching Mistakes - -D.10.4 Finding Badly Referenced Nodes -------------------------------------- - -You can use the ‘Info-validate’ command to check whether any of the -'Next', 'Previous', 'Up' or other node pointers fail to point to a node. -This command checks that every node pointer points to an existing node. -The ‘Info-validate’ command works only on Info files, not on Texinfo -files. - - The ‘texi2any’ program validates pointers automatically, so you do -not need to use the ‘Info-validate’ command if you are using ‘texi2any’. -With the customization variable ‘CHECK_NORMAL_MENU_STRUCTURE’ set, -‘texi2any’ will also warn if the nodes pointers (either explicitly or -automatically set) are not consistent with the order of node menu -entries. ‘texi2any’ does not check that every 'Next' pointer is matched -by a 'Previous' (in the node where the 'Next' points) which points back, -since it may be correct for a non standard document structure. - - You only may need to use ‘Info-validate’ if you are unable to run -‘texi2any’ and instead must create an Info file using -‘texinfo-format-region’ or ‘texinfo-format-buffer’, or if you write an -Info file from scratch. - -* Menu: - -* Using Info-validate:: How to run ‘Info-validate’. -* Unsplit and Tagify:: How to create an unsplit file and add a tag - table for validation. - - -File: texinfo.info, Node: Using Info-validate, Next: Unsplit and Tagify, Up: Running Info-validate - -D.10.4.1 Using ‘Info-validate’ -.............................. - -To use ‘Info-validate’, visit the Info file you wish to check and type: - - M-x Info-validate - -Note that the ‘Info-validate’ command requires an uppercase 'I'. You -may also need to create a tag table before running ‘Info-validate’. -*Note Tagifying::. - - If your file is valid, you will receive a message that says "File -appears valid". However, if you have a pointer that does not point to a -node, error messages will be displayed in a buffer called ‘*problems in -info file*’. - - For example, ‘Info-validate’ was run on a test file that contained -only the first node of this manual. One of the messages said: - - In node "Overview", invalid Next: Texinfo Mode - -This meant that the node called ‘Overview’ had a 'Next' pointer that did -not point to anything (which was true in this case, since the test file -had only one node in it). - - Now suppose we add a node named ‘Texinfo Mode’ to our test case but -we do not specify a 'Previous' for this node. Then we will get the -following error message: - - In node "Texinfo Mode", should have Previous: Overview - -This is because, with a standard document structure, every 'Next' -pointer should be matched by a 'Previous' (in the node where the 'Next' -points) which points back. - - ‘Info-validate’ also checks that all menu entries and -cross-references point to actual nodes. - - ‘Info-validate’ requires a tag table and does not work with files -that have been split. (The ‘texinfo-format-buffer’ command -automatically splits large files.) In order to use ‘Info-validate’ on a -large file, you must run ‘texinfo-format-buffer’ with an argument so -that it does not split the Info file; and you must create a tag table -for the unsplit file. - - -File: texinfo.info, Node: Unsplit and Tagify, Prev: Using Info-validate, Up: Running Info-validate - -D.10.4.2 Creating an Unsplit File and Adding a Tag Table -........................................................ - -You can run ‘Info-validate’ only on a single Info file that has a tag -table. The command will not work on the indirect subfiles that are -generated when a master file is split. If you have a large file (longer -than 300,000 bytes or so), you need to run the ‘texinfo-format-buffer’ -or ‘makeinfo-buffer’ command in such a way that it does not create -indirect subfiles. You will also need to create a tag table for the -Info file. After you have done this, you can run ‘Info-validate’ and -look for badly referenced nodes. - - The first step is to create an unsplit Info file. To prevent -‘texinfo-format-buffer’ from splitting a Texinfo file into smaller Info -files, give a prefix to the ‘M-x texinfo-format-buffer’ command: - - C-u M-x texinfo-format-buffer - -or else - - C-u C-c C-e C-b - -When you do this, ‘texinfo-format-buffer’ will not split the file and -will not create a tag table for it. - - After creating an unsplit Info file, you must create a tag table for -it (*note Tagifying::). Visit the unsplit Info file created by -‘texinfo-format-buffer’ and type: - - M-x Info-tagify - - The third step is to validate the Info file: - - M-x Info-validate - -(Note the uppercase ‘I’ in ‘Info-validate’.) In brief, the steps are: - - C-u M-x texinfo-format-buffer - M-x Info-tagify - M-x Info-validate - - After you have validated the node structure, you can rerun -‘texinfo-format-buffer’ in the normal way so it will construct a tag -table and split the file automatically, or you can make the tag table -and split the file manually (*note Splitting::). - - -File: texinfo.info, Node: Batch Formatting, Prev: Catching Mistakes, Up: Texinfo Mode - -D.11 Batch Formatting -===================== - -You can format Texinfo files for Info using ‘batch-texinfo-format’ and -Emacs batch mode. You can run Emacs in batch mode from any shell, -including a shell inside of Emacs. (*Note (emacs)Initial Options::.) - - Here is a shell command to format all the files that end in -‘.texinfo’ in the current directory: - - emacs -batch -funcall batch-texinfo-format *.texinfo - -Emacs processes all the files listed on the command line, even if an -error occurs while attempting to format some of them. - - Run ‘batch-texinfo-format’ only with Emacs in batch mode as shown; it -is not interactive. It kills the batch mode Emacs on completion. - - ‘batch-texinfo-format’ is convenient if you lack ‘texi2any’ and want -to format several Texinfo files at once. When you use Batch mode, you -create a new Emacs process. This frees your current Emacs, so you can -continue working in it. (When you run ‘texinfo-format-region’ or -‘texinfo-format-buffer’, you cannot use that Emacs for anything else -until the command finishes.) - - -File: texinfo.info, Node: Global Document Commands, Next: Info Format Specification, Prev: Texinfo Mode, Up: Top - -Appendix E Global Document Commands -*********************************** - -Here are additional commands which affect the document as a whole. Most -of these commands are for customizing the appearance of the printed -output. They are generally all given before the Top node, if they are -given at all. - -* Menu: - -* @setchapternewpage:: Start chapters on right-hand pages. -* Headings:: Page headings. -* @paragraphindent:: Specify paragraph indentation. -* @firstparagraphindent:: Suppressing first paragraph indentation. -* @exampleindent:: Specify environment indentation. -* @smallbook:: How to print small format books and manuals. -* A4 Paper:: How to print on A4, A5 or B6 paper. -* @pagesizes:: How to print with customized page sizes. -* Microtypography:: Improving the appearance of paragraphs. -* Magnification:: How to print scaled up output. - - -File: texinfo.info, Node: @setchapternewpage, Next: Headings, Up: Global Document Commands - -E.1 ‘@setchapternewpage’: Blank Pages Before Chapters -===================================================== - -In an officially bound book, text is usually printed on both sides of -the paper, chapters start on right-hand pages, and right-hand pages have -odd numbers. But in short reports, text often is printed only on one -side of the paper. Also in short reports, chapters sometimes do not -start on new pages, but are printed on the same page as the end of the -preceding chapter, after a small amount of vertical whitespace. - - You can use the ‘@setchapternewpage’ command with various arguments -to specify how chapters should be started in printed output and whether -headers should be formatted for printing on one or both sides of the -paper (single-sided or double-sided printing). - - Write the ‘@setchapternewpage’ command at the beginning of a line -followed by its argument. For example, you would write the following to -cause each chapter to start on a fresh odd-numbered page: - - @setchapternewpage odd - - You can specify one of three alternatives with the -‘@setchapternewpage’ command: - -‘@setchapternewpage off’ - Typeset a new chapter on the same page as the last chapter, after - skipping some vertical whitespace. Also, format page headers for - single-sided printing. - -‘@setchapternewpage on’ - Start new chapters on new pages and format page headers for - single-sided printing. This is the form most often used for short - reports or personal printing. This is the default. - -‘@setchapternewpage odd’ - Start new chapters on new, odd-numbered pages (right-handed pages) - and typeset for double-sided printing. This is the form most often - used for books and manuals. - - Texinfo does not have a ‘@setchapternewpage even’ command, because -there is no printing tradition of starting chapters or books on an -even-numbered page. - - If you don't like the default headers that ‘@setchapternewpage’ sets, -you can explicit control them with the ‘@headings’ command. *Note -@headings::. - - At the beginning of a manual or book, pages are not numbered--for -example, the title and copyright pages of a book are not numbered. By -convention, table of contents and frontmatter pages are numbered with -roman numerals and not in sequence with the rest of the document. - - The ‘@setchapternewpage’ has no effect in output formats that do not -have pages, such as Info and HTML. - - We recommend not including any ‘@setchapternewpage’ command in your -document source at all, since such desired pagination is not intrinsic -to the document. For a particular hard copy run, if you don't want the -default output (no blank pages, same headers on all pages) use the -‘--texinfo’ option to ‘texi2dvi’ to specify the output you want. - - -File: texinfo.info, Node: Headings, Next: @paragraphindent, Prev: @setchapternewpage, Up: Global Document Commands - -E.2 Page Headings -================= - -Most printed manuals contain headings along the top of every page except -the title and copyright pages. Some manuals also contain footings. -Headings and footings have no meaning in Info or the other output -formats. - - Texinfo provides two standard heading formats, one for manuals -printed on one side of each sheet of paper, and the other for manuals -printed on both sides of the paper. By default, nothing is specified -for the footing of a Texinfo file, so the footing remains blank. - - Texinfo also has several heading and footing commands that you can -use to generate your own heading and footing formats. - - In Texinfo, headings and footings are single lines at the tops and -bottoms of pages; you cannot create multiline headings or footings. -Each header or footer line is divided into three parts: a left part, a -middle part, and a right part. Any part, or a whole line, may be left -blank. Text for the left part of a header or footer line is set -flushleft; text for the middle part is centered; and, text for the right -part is set flushright. - -* Menu: - -* @headings:: An option for turning headings on and off and - double or single sided printing. -* Heading Format:: Standard page heading formats. -* Custom Headings:: How to create your own headings and footings. - - -File: texinfo.info, Node: @headings, Next: Heading Format, Up: Headings - -E.2.1 The ‘@headings’ Command ------------------------------ - -The ‘@headings’ command is rarely used. It specifies what kinds of page -headings and footings to print on each page. Usually, this is -controlled by the ‘@setchapternewpage’ command. You need the -‘@headings’ command only if the ‘@setchapternewpage’ command does not do -what you want. - - You can use ‘@headings’ as follows: - -‘@headings off’ - Turn off printing of page headings. - -‘@headings single’ - Turn on page headings appropriate for single-sided printing. - -‘@headings double’ - Turn on page headings appropriate for double-sided printing. - -‘@headings singleafter’ -‘@headings doubleafter’ - Turn on ‘single’ or ‘double’ headings, respectively, after the - current page is output. - -‘@headings on’ - Turn on page headings: ‘single’ if ‘@setchapternewpage on’, - ‘double’ otherwise. - - For example, suppose you write ‘@setchapternewpage off’ before the -‘@titlepage’ command to start a new chapter on the same page as the end -of the last chapter. This command also causes page headers to be -typeset for single-sided printing. To cause page headers to be typeset -for double-sided printing, write ‘@headings double’. - - You can stop any page headings at all from being generated by writing -‘@headings off’ on a line of its own, like this: - - @headings off - - -File: texinfo.info, Node: Heading Format, Next: Custom Headings, Prev: @headings, Up: Headings - -E.2.2 Standard Heading Formats ------------------------------- - -Texinfo provides two standard heading formats, one for manuals printed -on one side of each sheet of paper, and the other for manuals printed on -both sides of the paper. - - The standard format for single-sided printing consists of a header -line in which the left-hand part contains the name of the chapter, the -central part is blank, and the right-hand part contains the page number. -A single-sided page looks like this: - - _______________________ - | | - | chapter page number | - | | - | Start of text ... | - | ... | - | | - - In the standard double-sided format, the left part of the left-hand -(even-numbered) page contains the page number, the central part is -blank, and the right part contains the title (specified by the -‘@settitle’ command). The left part of the right-hand (odd-numbered) -page contains the name of the chapter, the central part is blank, and -the right part contains the page number. An even-numbered page and an -odd-numbered page, side by side as in an open book, look like this: - - _______________________ _______________________ - | | | | - | page number title | | chapter page number | - | | | | - | Start of text ... | | More text ... | - | ... | | ... | - | | | | - -The chapter name is preceded by the word "Chapter", the chapter number -and a colon. This makes it easier to keep track of where you are in the -manual. - - Note that on pages where a new chapter starts, some text may be -omitted from the heading line. - - By default, nothing is specified for the footing of a Texinfo file, -so the footing remains blank. - - -File: texinfo.info, Node: Custom Headings, Prev: Heading Format, Up: Headings - -E.2.3 How to Make Your Own Headings ------------------------------------ - -You can use the standard headings provided with Texinfo or specify your -own. By default, Texinfo has no footers, so if you specify them, the -available page size for the main text will be slightly reduced. - - Texinfo provides six commands for specifying headings and footings: - • ‘@everyheading’ and ‘@everyfooting’ generate page headers and - footers that are the same for both even- and odd-numbered pages. - • ‘@evenheading’ and ‘@evenfooting’ commands generate headers and - footers for even-numbered (left-hand) pages. - • ‘@oddheading’ and ‘@oddfooting’ generate headers and footers for - odd-numbered (right-hand) pages. - - You must cancel the predefined heading commands with the ‘@headings -off’ command before defining your own specifications. - - Here is how to place the chapter name at the left, the page number in -the center, and the date at the right of every header for both even- and -odd-numbered pages: - - @headings off - @everyheading @thischapter @| @thispage @| @today{} - -You need to divide the left part from the central part and the central -part from the right part by inserting ‘@|’ between parts. Otherwise, -the specification command will not be able to tell where the text for -one part ends and the next part begins. - - Each part can contain text or @-commands. The text is printed as if -the part were within an ordinary paragraph in the body of the page. The -@-commands replace themselves with the page number, date, chapter name, -or whatever. - - Here are the six heading and footing commands: - -‘@everyheading LEFT @| CENTER @| RIGHT’ -‘@everyfooting LEFT @| CENTER @| RIGHT’ - The 'every' commands specify the format for both even- and - odd-numbered pages. These commands are for documents that are - printed on one side of each sheet of paper, or for documents in - which you want symmetrical headers or footers. - -‘@evenheading LEFT @| CENTER @| RIGHT’ -‘@oddheading LEFT @| CENTER @| RIGHT’ -‘@evenfooting LEFT @| CENTER @| RIGHT’ -‘@oddfooting LEFT @| CENTER @| RIGHT’ - The 'even' and 'odd' commands specify the format for even-numbered - pages and odd-numbered pages. These commands are for books and - manuals that are printed on both sides of each sheet of paper. - - Use the ‘@this...’ series of @-commands to provide the names of -chapters and sections and the page number. You can use the ‘@this...’ -commands in the left, center, or right portions of headers and footers. - - Here are the ‘@this...’ commands: - -‘@thispage’ - Expands to the current page number. - -‘@thissectionname’ - Expands to the name of the current section. - -‘@thissectionnum’ - Expands to the number of the current section. - -‘@thissection’ - Expands to the number and name of the current section, in the - format 'Section 1: Title'. - -‘@thischaptername’ - Expands to the name of the current chapter. - -‘@thischapternum’ - Expands to the number of the current chapter, or letter of the - current appendix. - -‘@thischapter’ - Expands to the number and name of the current chapter, in the - format 'Chapter 1: Title'. - -‘@thistitle’ - Expands to the name of the document, as specified by the - ‘@settitle’ command. - -‘@thisfile’ - For ‘@include’ files only: expands to the name of the current - ‘@include’ file. If the current Texinfo source file is not an - ‘@include’ file, this command has no effect. This command does - _not_ provide the name of the current Texinfo source file unless it - is an ‘@include’ file. (*Note Include Files::, for more - information about ‘@include’ files.) - -You can also use the ‘@today{}’ command, which expands to the current -date, in '1 Jan 1900' format. - - Other @-commands and text are printed in a header or footer just as -if they were in the body of a page. It is useful to incorporate text, -particularly when you are writing drafts: - - @headings off - @everyheading @emph{Draft!} @| @thispage @| @thischapter - @everyfooting @| @| Version: 0.27: @today{} - - Beware of overlong titles: they may overlap another part of the -header or footer and blot it out. - - If you have very short chapters and/or sections, several of them can -appear on a single page. You can specify which chapters and sections -you want ‘@thischapter’, ‘@thissection’ and other such macros to refer -to on such pages as follows: - -‘@everyheadingmarks REF’ -‘@everyfootingmarks REF’ - The REF argument can be either ‘top’ (the ‘@this...’ commands will - refer to the chapter/section at the top of a page) or ‘bottom’ (the - commands will reflect the situation at the bottom of a page). - These ‘@every...’ commands specify what to do on both even- and - odd-numbered pages. - -‘@evenheadingmarks REF’ -‘@oddheadingmarks REF’ -‘@evenfootingmarks REF’ -‘@oddfootingmarks REF’ - These ‘@even...’ and ‘@odd...’ commands specify what to do on only - even- or odd-numbered pages, respectively. The REF argument is the - same as with the ‘@every...’ commands. - - Write these commands immediately after the ‘@...contents’ commands, -or after the ‘@end titlepage’ command if you don't have a table of -contents or if it is printed at the end of your manual. These commands -have no effect in LaTeX. - - By default, for TeX, the ‘@this...’ commands reflect the situation at -the bottom of a page both in headings and in footings. - - -File: texinfo.info, Node: @paragraphindent, Next: @firstparagraphindent, Prev: Headings, Up: Global Document Commands - -E.3 ‘@paragraphindent’: Controlling Paragraph Indentation -========================================================= - -The Texinfo processors may insert whitespace at the beginning of the -first line of each paragraph, thereby indenting that paragraph. You can -use the ‘@paragraphindent’ command to specify this indentation. Write a -‘@paragraphindent’ command at the beginning of a line followed by either -‘asis’ or a number: - - @paragraphindent INDENT - - The indentation is according to the value of INDENT: - -‘asis’ - Do not change the existing indentation (not implemented in printed - output). - -‘none’ -0 - Omit all indentation. - -N - Indent by N space characters in Info output, by N ems in printed - output. - - The default value of INDENT is 3. ‘@paragraphindent’ is ignored for -HTML output. - - It is best to write the ‘@paragraphindent’ command before the -end-of-header line at the beginning of a Texinfo file, so the region -formatting commands indent paragraphs as specified. *Note Start of -Header::. - - -File: texinfo.info, Node: @firstparagraphindent, Next: @exampleindent, Prev: @paragraphindent, Up: Global Document Commands - -E.4 ‘@firstparagraphindent’: Indenting After Headings -===================================================== - -As you can see in the present manual, the first paragraph in any section -is not indented by default. Typographically, indentation is a paragraph -separator, which means that it is unnecessary when a new section begins. -This indentation is controlled with the ‘@firstparagraphindent’ command: - - @firstparagraphindent WORD - - The first paragraph after a heading is indented according to the -value of WORD: - -‘none’ - Prevents the first paragraph from being indented (default). This - option is ignored by ‘makeinfo’ if ‘@paragraphindent asis’ is in - effect. - -‘insert’ - Include normal paragraph indentation. This respects the paragraph - indentation set by a ‘@paragraphindent’ command (*note - @paragraphindent::). - - ‘@firstparagraphindent’ is ignored for HTML and DocBook output. - - It is best to write the ‘@firstparagraphindent’ command before the -end-of-header line at the beginning of a Texinfo file, so the region -formatting commands indent paragraphs as specified. *Note Start of -Header::. - - -File: texinfo.info, Node: @exampleindent, Next: @smallbook, Prev: @firstparagraphindent, Up: Global Document Commands - -E.5 ‘@exampleindent’: Environment Indenting -=========================================== - -The Texinfo processors indent each line of ‘@example’ and similar -environments. You can use the ‘@exampleindent’ command to specify this -indentation. Write an ‘@exampleindent’ command at the beginning of a -line followed by either ‘asis’ or a number: - - @exampleindent INDENT - - The indentation is according to the value of INDENT: - -‘asis’ - Do not change the existing indentation (not implemented in printed - output). - -0 - Omit all indentation. - -N - Indent environments by N space characters in Info output, by N ems - in printed output. - - The default value of INDENT is 5 spaces in Info, and 0.4in in printed -output, which is somewhat less. (The reduction is to help fit more -characters onto physical lines in printed manuals.) - - It is best to write the ‘@exampleindent’ command before the -end-of-header line at the beginning of a Texinfo file, so the region -formatting commands indent paragraphs as specified. *Note Start of -Header::. - - -File: texinfo.info, Node: @smallbook, Next: A4 Paper, Prev: @exampleindent, Up: Global Document Commands - -E.6 ‘@smallbook’: Printing "Small" Books -======================================== - -By default, TeX typesets pages for printing in an 8.5 by 11 inch format, -which is the "letter" size commonly used in the United States. However, -you can direct TeX or LaTeX to typeset a document in a 7 by 9.25 inch -format that is suitable for bound books by inserting the following -command on a line by itself at the beginning of the Texinfo file, before -the title page: - - @smallbook - -(Since many books are about 7 by 9.25 inches, this command might better -have been called the ‘@regularbooksize’ command, but it came to be -called the ‘@smallbook’ command by comparison to the 8.5 by 11 inch -format.) - - *Note Format with texi2dvi or texi2pdf::, and *note Preparing for -TeX::, for other ways to format with ‘@smallbook’ with TeX that do not -require changing the source file. - - -File: texinfo.info, Node: A4 Paper, Next: @pagesizes, Prev: @smallbook, Up: Global Document Commands - -E.7 Printing on A4 Paper -======================== - -You can format a document for printing on ISO 216 A4 paper size with the -‘@afourpaper’ command. Write the command on a line by itself near the -beginning of the Texinfo file, before the title page. - - You may or may not prefer the formatting that results from the -command ‘@afourlatex’. There's also ‘@afourwide’ for A4 paper in wide -format, ‘@afivepaper’ for A5 paper, and ‘@bsixpaper’ for B6 paper. - - *Note Format with texi2dvi or texi2pdf:: and *note Preparing for -TeX::, for other ways to format for different paper sizes that do not -require changing the source file. - - -File: texinfo.info, Node: @pagesizes, Next: Microtypography, Prev: A4 Paper, Up: Global Document Commands - -E.8 ‘@pagesizes’ [WIDTH][, HEIGHT]: Custom Page Sizes -===================================================== - -You can explicitly specify the height and (optionally) width of the main -text area on the page with the ‘@pagesizes’ command. Write this on a -line by itself near the beginning of the Texinfo file, before the title -page. The height comes first, then the width if desired, separated by a -comma. Examples: - - @pagesizes 200mm,150mm -and - @pagesizes 11.5in - - This would be reasonable for printing on B5-size paper. To -emphasize, this command specifies the size of the _text area_, not the -size of the paper (which is 250mm by 177mm for B5, 14in by 8.5in for -legal). - - To make more elaborate changes, such as changing any of the page -margins, you must define a new command in ‘texinfo.tex’ or -‘texinfo.cnf’. - - *Note Format with texi2dvi or texi2pdf::, and *note Preparing for -TeX::, for other ways to specify ‘@pagesizes’ that do not require -changing the source file. - - -File: texinfo.info, Node: Microtypography, Next: Magnification, Prev: @pagesizes, Up: Global Document Commands - -E.9 Microtypography -=================== - -Some versions of TeX, namely pdfTeX and LuaTeX, have “microtypography” -features. These involve stretching font glyphs slightly, and allowing -text to produce very slightly into the margins. Use of these gives TeX -more flexibility in breaking a paragraph into lines, and can improve -paragraph appearance by reducing hyphenation and producing a more -consistent typographic color. - - ‘texinfo.tex’ uses these features ('microtype' for short) when -available. You can turn microtype off by specifying ‘@microtype off’ in -your input file; likewise, ‘@microtype on’ turns microtype back on. - - The fonts used in LaTeX output may not be scalable. If fonts are not -scalable, using microtypography could trigger an error when converting -the LaTeX output. Therefore microtypography is not turned on in the -default case in LaTeX output. It is possible to turn it on with -‘@microtype on’. A way to get scalable fonts for the font used in the -default LaTeX output is to install the CM-Super font package -(<http://ctan.org/pkg/cm-super>). - - The ‘@microtype’ command does nothing for other output formats. - - -File: texinfo.info, Node: Magnification, Prev: Microtypography, Up: Global Document Commands - -E.10 Magnification -================== - -You can attempt to direct TeX to typeset pages larger or smaller than -usual with the ‘\mag’ TeX command. Everything that is typeset is scaled -proportionally larger or smaller. (‘\mag’ stands for "magnification".) -This is _not_ a Texinfo @-command, but is a raw TeX command that is -prefixed with a backslash. You have to write this command between -‘@tex’ and ‘@end tex’ (*note Raw Formatter Commands::). - - Follow the ‘\mag’ command with an ‘=’ and then a number that is 1000 -times the magnification you desire. For example, to print pages at 1.2 -normal size, write the following near the beginning of the Texinfo file, -before the title page: - - @tex - \global\mag=1200 - @end tex - - With some printing technologies, you can print normal-sized copies -that look better than usual by giving a larger-than-normal master to -your print shop. They do the reduction, thus effectively increasing the -resolution. - - Depending on your system, DVI files prepared with a -nonstandard-‘\mag’ may not print or may print only with certain -magnifications. Be prepared to experiment. - - -File: texinfo.info, Node: Info Format Specification, Next: GNU Free Documentation License, Prev: Global Document Commands, Up: Top - -Appendix F Info Format Specification -************************************ - -Here we describe the technical details of the Info format. - - In this formal description, the characters ‘<>*()|=#’ are used for -the language of the description itself. Other characters are literal. -The formal constructs used are typical: ‘<...>’ indicates a metavariable -name, ‘=’ means definition, ‘*’ repetition, ‘?’ optional, ‘()’ grouping, -‘|’ alternation, and ‘#’ comment. - - In general, programs that read Info files should try to be -case-insensitive to keywords that occur in the file (for example, ‘Tag -Table’ and ‘Tag table’ should be equivalent) in order to support -Info-generating programs that use different capitalization. - - We specify literal parentheses (those that are part of the Info -format) with <lparen> and <rparen>, meaning the single characters ‘(’ -and ‘)’ respectively. Finally, the two-character sequence ‘^X’ means -the single character ‘CTRL-X’, for any X. - - This format definition was written some 25 years after the Info -format was first devised. So in the event of conflicts between this -definition and actual practice, practice wins. It also assumes some -general knowledge of Texinfo; it is meant to be a guide for implementors -rather than a rigid technical standard. We may refer back to other -parts of this manual for examples and definitions, rather than -redundantly spelling out every detail. - -* Menu: - -* Whole: Info Format Whole Manual. Split vs. nonsplit manuals. -* Preamble: Info Format Preamble. -* Indirect: Info Format Indirect Table. -* Tag table: Info Format Tag Table. -* Local variables: Info Format Local Variables. -* Regular nodes: Info Format Regular Nodes. -* Menu: Info Format Menu. -* Image: Info Format Image. -* Printindex: Info Format Printindex. -* Cross-Reference: Info Format Cross Reference. - - -File: texinfo.info, Node: Info Format Whole Manual, Next: Info Format Preamble, Up: Info Format Specification - -F.1 Info Format: A Whole Manual -=============================== - -To begin, an Info manual is either “nonsplit” (contained wholly within a -single file) or “split” (across several files). - - The syntax for a nonsplit manual is: - - <nonsplit info file> = - <preamble> - <node>* - <tag table>? - <local variables>? - - When split, there is a “main file”, which contains only pointers to -the nodes given in other “subfiles”. The main file looks like this: - - <split info main file> = - <preamble> - <indirect table> - <tag table> - <local variables>? - - The subfiles in a split manual have the following syntax: - - <split info subfile> = - <preamble> - <node>* - - Note that the tag table is not optional for split files, as it is -used with the indirect table to deduce which subfile a particular node -is in. - - Several of the sections in an Info file (such as nodes or tag tables) -begin with a sequence: - - <separator> = (^L)?^_(^L)?^J - -That is, a ‘CTRL-_’ character followed by a newline, with optional -formfeed characters. - - -File: texinfo.info, Node: Info Format Preamble, Next: Info Format Indirect Table, Prev: Info Format Whole Manual, Up: Info Format Specification - -F.2 Info Format: Preamble -========================= - -The <preamble> is text at the beginning of all output files. It is not -intended to be visible by default in an Info viewer, but may be -displayed upon user request. - - <preamble> = - <identification> # "This is FILENAME, produced by ..." - <copying text> # Expansion of @copying text. - <dir entries> # Derived from @dircategory and @direntry. - -These pieces are: - -<identification line> - An arbitrary string beginning the output file, followed by a blank - line. - -<copying text> - The expansion of a ‘@copying’ environment, if the manual has one - (*note @copying::). - -<dir entries> - The result of any ‘@dircategory’ and ‘@direntry’ commands present - in the manual (*note Installing Dir Entries::). - - -File: texinfo.info, Node: Info Format Indirect Table, Next: Info Format Tag Table, Prev: Info Format Preamble, Up: Info Format Specification - -F.3 Info Format: Indirect Table -=============================== - - <indirect table> = - <separator> - Indirect: - (<filename>: <bytepos>)* - - The indirect table is written to the main file in the case of split -output only. It specifies, as a decimal integer, the starting byte -position (zero-based) that the first node of each subfile would have if -the subfiles were concatenated together in order, not including the -top-level file. The first node of actual content is pointed to by the -first entry. - - As an example, suppose split output is generated for the GDB manual. -The top-level file ‘gdb.info’ will contain something like this: - - <separator> - Indirect: - gdb.info-1: 1878 - gdb.info-2: 295733 - ... - - This tells Info viewers that the first node of the manual occurs at -byte 1878 of the file ‘gdb.info-1’ (which would be after that file's -preamble.) The first node in the ‘gdb.info-2’ subfile would start at -byte 295733 if ‘gdb.info-2’ were appended to ‘gdb.info-1’, including any -preamble sections in both files. - - Unfortunately, Info-creating programs such as ‘makeinfo’ have not -always implemented these rules perfectly, due to various bugs and -oversights. Therefore, robust Info viewers should fall back to -searching "nearby" the given position for a node, instead of giving up -immediately if the position is not exactly at a node beginning. - - -File: texinfo.info, Node: Info Format Tag Table, Next: Info Format Local Variables, Prev: Info Format Indirect Table, Up: Info Format Specification - -F.4 Info Format: Tag Table -========================== - - <tag table> = - <separator> - Tag Table: - (<lparen>Indirect<rparen>)? - (Node|Ref): <nodeid>^?<bytepos> - <separator> - End Tag Table - - The ‘(Indirect)’ line appears in the case of split output only. - - The tag table specifies the starting byte position of each node and -anchor in the file. In the case of split output, it is only written in -the main output file. - - Each line defines an identifier as either an anchor or a node, as -specified. For example, ‘Node: Top^?1647’ says that the node named -‘Top’ starts at byte 1647 while ‘Ref: Overview-Footnote-1^?30045’ says -that the anchor named ‘Overview-Footnote-1’ starts at byte 30045. It is -an error to define the same identifier both ways. - - In the case of nonsplit output, the byte positions simply refer to -the location in the output file. In the case of split output, the byte -positions refer to an imaginary file created by concatenating all the -split files (but not the top-level file). See the previous section. - - Here is an example: - - ^_ - Tag Table: - Node: Top^?89 - Node: Ch1^?292 - ^_ - End Tag Table - -This specifies a manual with two nodes, 'Top' and 'Ch1', at byte -positions 89 and 292 respectively. Because the ‘(Indirect)’ line is not -present, the manual is not split. - - Preamble sections or other non-node sections of files do not have a -tag table entry. - - -File: texinfo.info, Node: Info Format Local Variables, Next: Info Format Regular Nodes, Prev: Info Format Tag Table, Up: Info Format Specification - -F.5 Info Format: Local Variables -================================ - -The local variables section is optional. It is currently used to give -the encoding information and/or the document language code. - - <local variables> = - <separator> - Local Variables: - (coding: <encoding>)? - (Info-documentlanguage: <language>)? - End: - - *Note @documentencoding:: for information about the document -encoding. - - ‘<language>’ should be of the form LL or LL_CC; see *note -@documentlanguage::. Only one language can be specified in the local -variables section even if ‘@documentlanguage’ occurs several times in a -Texinfo document. - - -File: texinfo.info, Node: Info Format Regular Nodes, Next: Info Format Menu, Prev: Info Format Local Variables, Up: Info Format Specification - -F.6 Info Format: Regular Nodes -============================== - -Regular nodes look like this: - - <node> = - <separator> - File: <fn>, Node: <id1>, (Next: <id2>, )? (Prev: <id3>, )? Up: <id4> - - <general text, until the next ^_ or end-of-file> - -At least one space or tab must be present after each colon and comma, -but any number of spaces are ignored. The <id> node identifiers have -following format: - - <id> = (<lparen><infofile><rparen>)?<node-spec>? - <node-spec> = <nodename> | <del><nodename><del> - <del> = ^? - - This <node> defines <id1> in file <fn>, which is typically either -‘manualname’ or ‘manualname.info’. No parenthesized <infofile> -component may appear within <id1>. - - Each of the identifiers after ‘Next’, ‘Prev’ and ‘Up’ refer to nodes -or anchors within a file. These pointers normally refer within the same -file, but ‘(dir)’ is often used to point to the top-level dir file. If -an <infofile> component is used then the node name may be omitted, in -which case the node identifier refers to the ‘Top’ node within the -referenced file. - - The ‘Next’ and ‘Prev’ pointers are optional. The ‘Up’ pointer is -technically also optional, although most likely this indicates a mistake -in the node structuring. Conventionally, the nodes are arranged to form -a tree, but this is not a requirement of the format. - - Node names containing periods, commas, colons or parentheses can -confuse Info readers. If it is necessary to refer to a node whose name -contains any of these, the <nodename> should be surrounded by a pair of -‘DEL’ characters (‘CTRL-?’, character number 127). ‘makeinfo’ adds -these characters when needed in the default case. Note that not all -Info readers recognize this syntax. *Note Info Node Names -Constraints::. - - The <general text> of the node can include the special constructs -described next. - - -File: texinfo.info, Node: Info Format Menu, Next: Info Format Image, Prev: Info Format Regular Nodes, Up: Info Format Specification - -F.7 Info Format: Menu -===================== - -Conventionally menus appear at the end of nodes, but the Info format -places no restrictions on their location. - - <menu> = - * Menu: - (<menu entry> | <menu comment>)* - - The parts of a <menu entry> are also described in *note Menu Parts::. -They have the same syntax as cross-references, with a leading ‘*’ -instead of ‘* (N|n)ote’ (*note Info Format Cross Reference::). Indices -extend the menu format to specify the destination line; *note Info -Format Printindex::. - - A <menu comment> is any line not beginning with ‘*’ that appears -either at the beginning of the menu or is separated from a menu entry by -one or more blank lines. These comments are intended to be displayed as -part of the menu, as-is (*note Writing a Menu::). - - -File: texinfo.info, Node: Info Format Image, Next: Info Format Printindex, Prev: Info Format Menu, Up: Info Format Specification - -F.8 Info Format: Image -====================== - -The ‘@image’ command results in the following special directive within -the Info file (*note Images::): - - <image> = - ^@^H[image src="<image file>" - (text="<txt file contents>")? - (alt="<alt text>")? - ^@^H] - - The line breaks and indentation in this description are editorial; -the whitespace between the different parts of the directive in Info -files is arbitrary. - - In the strings <image file>, <txt file contents> and <alt text>, ‘"’ -is quoted as ‘\"’ and ‘\’ is quoted as ‘\\’. The txt and alt -specifications are optional. - - The alt value serves the same purpose as in HTML: A prose description -of the image. In text-only displays or speech systems, for example, the -alt value may be used instead of displaying the (typically graphical) -<image file>. - - The <txt file contents>, if present, should be taken as an ASCII -representation of the image, for possible use on a text-only display. - - The format does not prescribe the choice between displaying the -<image file>, the <alt text> or the <txt file contents>. - - -File: texinfo.info, Node: Info Format Printindex, Next: Info Format Cross Reference, Prev: Info Format Image, Up: Info Format Specification - -F.9 Info Format: Printindex -=========================== - -An index in Info format is a kind of menu, with an additional directive -at the beginning to mark it as an index menu. - - <printindex> = - ^@^H[index^@^H] - * Menu: - - <index entry>* - - The <index entry> items are similar to normal menu entries, but the -free-format description is replaced by the line number of where the -entries occurs in the text: - - <index entry> = - * <entry text>: <node-spec>. <line-spec> - - <line-spec> = - <lparen>line <lineno><rparen> - - The initial part, ‘<entry text>: <entry node>.’, should be on a -single line. The <entry text> is the index term. - - Even though <entry text> is followed by a colon, it may itself -contain colons, so Info readers should try to include as much of the -line as possible in the <entry text>. (However, <entry text> may not -contain the ‘DEL’ characters that may occur in <node-spec>.) - - <lineno> is an unsigned integer, given relative to the start of the -<entry node>. An optional line break may occur before ‘<line-spec>’. - - Here is an example: - - ^@^H[index^@^H] - * Menu: - - * thunder: Weather Phenomena. (line 5) - - This means that an index entry for 'thunder' appears at line 5 of the -node 'Weather Phenomena'. - - -File: texinfo.info, Node: Info Format Cross Reference, Prev: Info Format Printindex, Up: Info Format Specification - -F.10 Info Format: Cross-reference -================================= - -A general cross-reference in Info format has one of the following two -forms: - - <cross-reference> = - * (N|n)ote <id>:: - | * (N|n)ote <label>:<id>(.|,) - - <id> = (<lparen><infofile><rparen>)?<node-spec>? - <label> = <label text> | <del><label text><del> - - No space should occur between the ‘*’ character and the following ‘N’ -or ‘n’. ‘*Note’ should be used at the start of a sentence, otherwise -‘*note’ should be used. (Some Info readers, such as the one in Emacs, -can display ‘*Note’ and ‘*note’ as ‘See’ and ‘see’ respectively.) In -both cases, <label text> is descriptive text. - - In both forms the <id> refers to a node or anchor, in the same way as -a reference in the node information line does (*note Info Format Regular -Nodes::). The optional parenthesized ‘<infofile>’ is the name of the -manual being referenced, and <node-spec> gives the node or anchor within -that manual. - - The second form has a descriptive label. A cross-reference in this -form should usually be terminated with a comma or period, to make it -feasible to find the end of the <id>. - - If <label> contains a colon character (:), it should be surrounded -with a pair of <del> characters. Likewise, quoting characters may be -used for the node name if it contains problematic characters; then a -terminating comma or period is not needed. As stated earlier, this -quoting mechanism is not supported in all Info-reading programs. - - The format does not prescribe how to find other manuals to resolve -such references. - - Here are some examples: - - *note GNU Free Documentation License:: - *note Tag table: Info Format Tag Table, for details. - *Note Overview: (make)Top. - *Note ^?:^?: (bash)Bourne Shell Builtins. - *Note alloca.h: (gnulib)^?alloca.h^?. - - The first shows a reference to a node in the current manual using the -short form. - - The second also refers to a node in the current manual, namely 'Info -Format Tag Table'; the 'Tag table' before the ‘:’ is only a label on -this particular reference, and the ‘for details.’ is text belonging to -the sentence, not part of the reference. - - The third example refers to the node 'Top' in another manual, namely -‘make’, with 'Overview' being the label for this cross-reference. - - The fourth example shows a colon character being quoted in a label, -and the fifth example shows a period being quoted in a node name. - - *Note Cross References::. - - -File: texinfo.info, Node: GNU Free Documentation License, Next: Command Index, Prev: Info Format Specification, Up: Top - -Appendix G GNU Free Documentation License -***************************************** - - Version 1.3, 3 November 2008 - - Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - <https://fsf.org/> - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document “free” in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. We - recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it can - be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You accept - the license if you copy, modify or distribute the work in a way - requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in the - notice that says that the Document is released under this License. - If a section does not fit the above definition of Secondary then it - is not allowed to be designated as Invariant. The Document may - contain zero Invariant Sections. If the Document does not identify - any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images composed - of pixels) generic paint programs or (for drawings) some widely - available drawing editor, and that is suitable for input to text - formatters or for automatic translation to a variety of formats - suitable for input to text formatters. A copy made in an otherwise - Transparent file format whose markup, or absence of markup, has - been arranged to thwart or discourage subsequent modification by - readers is not Transparent. An image format is not Transparent if - used for any substantial amount of text. A copy that is not - "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and standard-conforming - simple HTML, PostScript or PDF designed for human modification. - Examples of transparent image formats include PNG, XCF and JPG. - Opaque formats include proprietary formats that can be read and - edited only by proprietary word processors, SGML or XML for which - the DTD and/or processing tools are not generally available, and - the machine-generated HTML, PostScript or PDF produced by some word - processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow the - conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the title - equally prominent and visible. You may add other material on the - covers in addition. Copying with changes limited to the covers, as - long as they preserve the title of the Document and satisfy these - conditions, can be treated as verbatim copying in other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a machine-readable - Transparent copy along with each Opaque copy, or state in or with - each Opaque copy a computer-network location from which the general - network-using public has access to download using public-standard - network protocols a complete Transparent copy of the Document, free - of added material. If you use the latter option, you must take - reasonably prudent steps, when you begin distribution of Opaque - copies in quantity, to ensure that this Transparent copy will - remain thus accessible at the stated location until at least one - year after the last time you distribute an Opaque copy (directly or - through your agents or retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of copies, - to give them a chance to provide you with an updated version of the - Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with the - Modified Version filling the role of the Document, thus licensing - distribution and modification of the Modified Version to whoever - possesses a copy of it. In addition, you must do these things in - the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of previous - versions (which should, if there were any, be listed in the - History section of the Document). You may use the same title - as a previous version if the original publisher of that - version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on the - Title Page. If there is no section Entitled "History" in the - Document, create one stating the title, year, authors, and - publisher of the Document as given on its Title Page, then add - an item describing the Modified Version as stated in the - previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in the - "History" section. You may omit a network location for a work - that was published at least four years before the Document - itself, or if the original publisher of the version it refers - to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section - all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, unaltered - in their text and in their titles. Section numbers or the - equivalent are not considered part of the section titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option designate - some or all of these sections as invariant. To do this, add their - titles to the list of Invariant Sections in the Modified Version's - license notice. These titles must be distinct from any other - section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end of - the list of Cover Texts in the Modified Version. Only one passage - of Front-Cover Text and one of Back-Cover Text may be added by (or - through arrangements made by) any one entity. If the Document - already includes a cover text for the same cover, previously added - by you or by arrangement made by the same entity you are acting on - behalf of, you may not add another; but you may replace the old - one, on explicit permission from the previous publisher that added - the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination all - of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the documents - in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow this - License in all other respects regarding verbatim copying of that - document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of a - storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from you - under this License. If your rights have been terminated and not - permanently reinstated, receipt of a copy of some or all of the - same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - <https://www.gnu.org/licenses/>. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If the - Document does not specify a version number of this License, you may - choose any version ever published (not as a draft) by the Free - Software Foundation. If the Document specifies that a proxy can - decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of free -software license, such as the GNU General Public License, to permit -their use in free software. - - -File: texinfo.info, Node: Command Index, Next: Variables Index, Prev: GNU Free Documentation License, Up: Top - -Command Index -************* - -This is an alphabetical list of all the @-commands and assorted Emacs -Lisp functions. To make the list easier to use, the commands are listed -without their preceding ‘@’. - -�[index�] -* Menu: - -* - (discretionary hyphen): @- @hyphenation. (line 6) -* -: @- @hyphenation. (line 6) -* ,: Inserting Accents. (line 28) -* , (cedilla accent): Inserting Accents. (line 28) -* :: Not Ending a Sentence. - (line 9) -* : (suppress end-of-sentence space): Not Ending a Sentence. - (line 9) -* !: Ending a Sentence. (line 6) -* ! (end of sentence): Ending a Sentence. (line 6) -* ?: Ending a Sentence. (line 6) -* ? (end of sentence): Ending a Sentence. (line 6) -* .: Ending a Sentence. (line 6) -* . (end of sentence): Ending a Sentence. (line 6) -* ': Inserting Accents. (line 28) -* ' (acute accent): Inserting Accents. (line 28) -* ": Inserting Accents. (line 28) -* " (umlaut accent): Inserting Accents. (line 28) -* {: Inserting Braces. (line 6) -* { (literal {): Inserting Braces. (line 6) -* }: Inserting Braces. (line 6) -* } (literal }): Inserting Braces. (line 6) -* @ (literal @): Inserting an Atsign. (line 6) -* @: Inserting an Atsign. (line 6) -* *: Line Breaks. (line 6) -* * (force line break): Line Breaks. (line 6) -* /: Line Breaks. (line 6) -* / (allow line break): Line Breaks. (line 6) -* \ (literal \ in math): Inserting a Backslash. - (line 20) -* \: Inserting a Backslash. - (line 20) -* &: Inserting an Ampersand. - (line 6) -* & (literal &): Inserting an Ampersand. - (line 6) -* `: Inserting Accents. (line 28) -* ` (grave accent): Inserting Accents. (line 28) -* ^: Inserting Accents. (line 28) -* ^ (circumflex accent): Inserting Accents. (line 28) -* =: Inserting Accents. (line 28) -* = (macron accent): Inserting Accents. (line 28) -* ~: Inserting Accents. (line 28) -* ~ (tilde accent): Inserting Accents. (line 28) -* aa: Inserting Accents. (line 50) -* AA: Inserting Accents. (line 50) -* abbr: @abbr. (line 6) -* acronym: @acronym. (line 6) -* ae: Inserting Accents. (line 50) -* AE: Inserting Accents. (line 50) -* afivepaper: A4 Paper. (line 10) -* afourlatex: A4 Paper. (line 10) -* afourpaper: A4 Paper. (line 6) -* afourwide: A4 Paper. (line 10) -* alias: @alias. (line 6) -* allowcodebreaks: @allowcodebreaks. (line 6) -* ampchar: Inserting an Ampersand. - (line 6) -* anchor: @anchor. (line 6) -* appendix: @unnumbered @appendix. - (line 6) -* appendixsec: @unnumberedsec @appendixsec @heading. - (line 6) -* appendixsection: @unnumberedsec @appendixsec @heading. - (line 19) -* appendixsubsec: @unnumberedsubsec @appendixsubsec @subheading. - (line 6) -* appendixsubsubsec: @subsubsection. (line 6) -* apply: Sample Function Definition. - (line 11) -* arrow: Click Sequences. (line 17) -* asis: @table. (line 18) -* atchar: Inserting an Atsign. (line 6) -* author: @title @subtitle @author. - (line 6) -* b: Fonts. (line 28) -* b (bold font): Fonts. (line 28) -* \backslash: Inserting a Backslash. - (line 20) -* backslashchar: Inserting a Backslash. - (line 6) -* bsixpaper: A4 Paper. (line 10) -* bullet: @bullet. (line 6) -* bye: Ending a File. (line 17) -* c: Comments. (line 6) -* caption: @caption @shortcaption. - (line 6) -* cartouche: @cartouche. (line 6) -* center: @titlefont @center @sp. - (line 6) -* centerchap: @unnumbered @appendix. - (line 16) -* chapheading: @majorheading @chapheading. - (line 6) -* chapter: @chapter. (line 6) -* cindex: Predefined Indices. (line 10) -* cite: @cite. (line 6) -* clear: @set @value. (line 6) -* click: Click Sequences. (line 17) -* clicksequence: Click Sequences. (line 6) -* clickstyle: Click Sequences. (line 20) -* code: @code. (line 6) -* codequotebacktick: Inserting Quote Characters. - (line 23) -* codequoteundirected: Inserting Quote Characters. - (line 19) -* columnfractions: Multitable Column Widths. - (line 11) -* comma: Inserting a Comma. (line 6) -* command: @command. (line 6) -* comment: Comments. (line 6) -* complete_tree_nodes_menus: Global Customization Variables. - (line 243) -* complete_tree_nodes_missing_menu: Global Customization Variables. - (line 247) -* contents: Contents. (line 6) -* copying: @copying. (line 6) -* copyright: @copyright. (line 6) -* cpindex: Predefined Indices. (line 10) -* defblock: Generic Definition Commands. - (line 9) -* defcodeindex: New Indices. (line 6) -* defcv: Object-Oriented Variables. - (line 9) -* defcvx: @deffnx. (line 22) -* deffn: Functions Commands. (line 9) -* deffnx: @deffnx. (line 6) -* defindex: New Indices. (line 6) -* definfoenclose: @definfoenclose. (line 6) -* defivar: Object-Oriented Variables. - (line 43) -* defivarx: @deffnx. (line 22) -* defline: Generic Definition Commands. - (line 9) -* defmac: Functions Commands. (line 47) -* defmacx: @deffnx. (line 22) -* defmethod: Object-Oriented Methods. - (line 54) -* defmethodx: @deffnx. (line 22) -* defop: Object-Oriented Methods. - (line 11) -* defopt: Variables Commands. (line 43) -* defoptx: @deffnx. (line 22) -* defopx: @deffnx. (line 22) -* defspec: Functions Commands. (line 52) -* defspecx: @deffnx. (line 22) -* deftp: Data Types. (line 8) -* deftpx: @deffnx. (line 22) -* deftypecv: Object-Oriented Variables. - (line 26) -* deftypecvx: @deffnx. (line 22) -* deftypefn: Typed Functions. (line 11) -* deftypefnnewline: Typed Functions. (line 93) -* deftypefnx: @deffnx. (line 22) -* deftypefun: Typed Functions. (line 87) -* deftypefunx: @deffnx. (line 22) -* deftypeivar: Object-Oriented Variables. - (line 59) -* deftypeivarx: @deffnx. (line 22) -* deftypeline: Generic Definition Commands. - (line 9) -* deftypemethod: Object-Oriented Methods. - (line 75) -* deftypemethodx: @deffnx. (line 22) -* deftypeop: Object-Oriented Methods. - (line 46) -* deftypeopx: @deffnx. (line 22) -* deftypevar: Typed Variables. (line 34) -* deftypevarx: @deffnx. (line 22) -* deftypevr: Typed Variables. (line 12) -* deftypevrx: @deffnx. (line 22) -* defun: Functions Commands. (line 42) -* defunx: @deffnx. (line 22) -* defvar: Variables Commands. (line 31) -* defvarx: @deffnx. (line 22) -* defvr: Variables Commands. (line 8) -* defvrx: @deffnx. (line 22) -* DEL (comment character): Comments. (line 20) -* detailmenu: Master Menu Parts. (line 15) -* dfn: @dfn. (line 6) -* dh: Inserting Accents. (line 50) -* DH: Inserting Accents. (line 50) -* dircategory: Directory Category. (line 6) -* direntry: Installing Dir Entries. - (line 11) -* display: @display. (line 6) -* displaymath: Inserting Math. (line 33) -* dmn: @dmn. (line 6) -* docbook: Raw Formatter Commands. - (line 41) -* documentdescription: @documentdescription. - (line 6) -* documentencoding: @documentencoding. (line 6) -* documentlanguage: @documentlanguage. (line 6) -* dotaccent: Inserting Accents. (line 28) -* dotless: Inserting Accents. (line 50) -* dots: @dots. (line 6) -* email: @email. (line 6) -* \emergencystretch: Overfull hboxes. (line 31) -* emph: @emph @strong. (line 6) -* end: Command Syntax. (line 22) -* enddots: @dots. (line 6) -* enumerate: @enumerate. (line 6) -* env: @env. (line 6) -* equiv: @equiv. (line 6) -* error: @error. (line 6) -* errormsg: Conditional Commands. - (line 74) -* errormsg, and line numbers in TeX: #line and TeX. (line 23) -* euro: @euro. (line 6) -* evenfooting: Custom Headings. (line 47) -* evenfootingmarks: Custom Headings. (line 124) -* evenheading: Custom Headings. (line 47) -* evenheadingmarks: Custom Headings. (line 124) -* everyfooting: Custom Headings. (line 40) -* everyfootingmarks: Custom Headings. (line 116) -* everyheading: Custom Headings. (line 40) -* everyheadingmarks: Custom Headings. (line 116) -* example: @example. (line 6) -* exampleindent: @exampleindent. (line 6) -* exclamdown: Inserting Accents. (line 50) -* exdent: @exdent. (line 6) -* expansion: @expansion. (line 6) -* file: @file. (line 6) -* fill_gaps_in_sectioning: Global Customization Variables. - (line 251) -* finalout: Overfull hboxes. (line 46) -* findex: Predefined Indices. (line 12) -* firstparagraphindent: @firstparagraphindent. - (line 6) -* float: @float. (line 6) -* flushleft: @flushleft @flushright. - (line 6) -* flushright: @flushleft @flushright. - (line 6) -* fnindex: Predefined Indices. (line 12) -* fn-name: Def Cmd Continuation Lines. - (line 18) -* fonttextsize: Fonts. (line 6) -* foo: Inserting an Ampersand. - (line 33) -* foobar: Optional Arguments. (line 19) -* foobar <1>: Typed Functions. (line 29) -* footnote: Footnotes. (line 6) -* footnotestyle: Footnote Styles. (line 55) -* format: @format. (line 6) -* forward-word: Def Cmd Template. (line 27) -* frenchspacing: @frenchspacing. (line 6) -* ftable: @ftable @vtable. (line 6) -* \gdef within @tex: Raw Formatter Commands. - (line 22) -* geq: @geq @leq. (line 6) -* \globaldefs within @tex: Raw Formatter Commands. - (line 22) -* group: @group. (line 6) -* guillemetleft: Inserting Quotation Marks. - (line 23) -* guillemetright: Inserting Quotation Marks. - (line 23) -* guillemotleft: Inserting Quotation Marks. - (line 23) -* guillemotright: Inserting Quotation Marks. - (line 23) -* guilsinglleft: Inserting Quotation Marks. - (line 23) -* guilsinglright: Inserting Quotation Marks. - (line 23) -* H: Inserting Accents. (line 28) -* H (Hungarian umlaut accent): Inserting Accents. (line 28) -* hashchar: Inserting a Hashsign. - (line 6) -* hbox: Overfull hboxes. (line 14) -* heading: @unnumberedsec @appendixsec @heading. - (line 6) -* headings: @headings. (line 6) -* headitem: Multitable Rows. (line 12) -* headitemfont: Multitable Rows. (line 17) -* html: Raw Formatter Commands. - (line 41) -* hyphenation: @- @hyphenation. (line 6) -* i: Fonts. (line 31) -* i (italic font): Fonts. (line 31) -* ifclear: @ifset @ifclear. (line 47) -* ifcommanddefined: Testing for Texinfo Commands. - (line 6) -* ifcommandnotdefined: Testing for Texinfo Commands. - (line 6) -* ifdocbook: Conditional Commands. - (line 14) -* ifhtml: Conditional Commands. - (line 14) -* ifinfo: Conditional Commands. - (line 9) -* iflatex: Conditional Commands. - (line 14) -* ifnotdocbook: Conditional Not Commands. - (line 6) -* ifnothtml: Conditional Not Commands. - (line 6) -* ifnotinfo: Conditional Not Commands. - (line 6) -* ifnotlatex: Conditional Not Commands. - (line 6) -* ifnotplaintext: Conditional Not Commands. - (line 6) -* ifnottex: Conditional Not Commands. - (line 6) -* ifnotxml: Conditional Not Commands. - (line 6) -* ifplaintext: Conditional Commands. - (line 14) -* ifset: @ifset @ifclear. (line 6) -* iftex: Conditional Commands. - (line 14) -* ifxml: Conditional Commands. - (line 14) -* ignore: Comments. (line 27) -* image: Images. (line 6) -* include: Using Include Files. (line 6) -* indent: @indent. (line 6) -* indentedblock: @indentedblock. (line 6) -* index: No Space After Definition Name. - (line 18) -* indicateurl: @indicateurl. (line 6) -* inforef: @inforef. (line 6) -* Info-validate: Running Info-validate. - (line 6) -* inlinefmt: Inline Conditionals. (line 6) -* inlinefmtifelse: Inline Conditionals. (line 6) -* inlineifclear: @inlineifset @inlineifclear. - (line 6) -* inlineifset: @inlineifset @inlineifclear. - (line 6) -* inlineraw: Inline Conditionals. (line 6) -* \input (raw TeX startup): Minimum. (line 29) -* insert_nodes_for_sectioning_commands: Global Customization Variables. - (line 256) -* insertcopying: @insertcopying. (line 6) -* isearch-backward: @deffnx. (line 19) -* isearch-forward: @deffnx. (line 18) -* item in @itemize: @itemize. (line 17) -* item in @multitable: Multitable Rows. (line 6) -* item in @table: @table. (line 30) -* itemize: @itemize. (line 6) -* itemx: @itemx. (line 6) -* kbd: @kbd. (line 6) -* kbdinputstyle: @kbd. (line 20) -* key: @key. (line 6) -* kindex: Predefined Indices. (line 15) -* kyindex: Predefined Indices. (line 15) -* l: Inserting Accents. (line 50) -* L: Inserting Accents. (line 50) -* LaTeX: @TeX @LaTeX. (line 6) -* latex: Raw Formatter Commands. - (line 41) -* lbracechar: Inserting Braces. (line 6) -* leq: @geq @leq. (line 6) -* linemacro: Line Macros. (line 6) -* link: @link. (line 6) -* \linkcolor: PDF Colors. (line 12) -* lisp: @lisp. (line 6) -* listoffloats: @listoffloats. (line 6) -* lowersections: Raise/lower sections. - (line 6) -* macro: Defining Macros. (line 6) -* \mag (raw TeX magnification): Magnification. (line 6) -* majorheading: @majorheading @chapheading. - (line 6) -* makeinfo-buffer: texi2any in Emacs. (line 21) -* makeinfo-kill-job: texi2any in Emacs. (line 40) -* makeinfo-recenter-output-buffer: texi2any in Emacs. (line 45) -* makeinfo-region: texi2any in Emacs. (line 17) -* math: Inserting Math. (line 6) -* \mathopsup: Inserting Math. (line 61) -* menu: Menus. (line 6) -* microtype: Microtypography. (line 13) -* minus: @minus. (line 6) -* move_index_entries_after_items: Global Customization Variables. - (line 260) -* multitable: Multi-column Tables. (line 6) -* need: @need. (line 6) -* <newline>: Multiple Spaces. (line 6) -* next-error: texi2any in Emacs. (line 31) -* node: Writing a Node. (line 6) -* nodedescription: Node Descriptions. (line 6) -* nodedescriptionblock: Node Descriptions. (line 11) -* noindent: @noindent. (line 6) -* novalidate: Formatting Partial Documents. - (line 6) -* o: Inserting Accents. (line 50) -* O: Inserting Accents. (line 50) -* occur: Using occur. (line 6) -* occur-mode-goto-occurrence: Showing the Structure. - (line 19) -* oddfooting: Custom Headings. (line 47) -* oddfootingmarks: Custom Headings. (line 124) -* oddheading: Custom Headings. (line 47) -* oddheadingmarks: Custom Headings. (line 124) -* oe: Inserting Accents. (line 50) -* OE: Inserting Accents. (line 50) -* ogonek: Inserting Accents. (line 28) -* option: @option. (line 6) -* ordf: Inserting Accents. (line 50) -* ordm: Inserting Accents. (line 50) -* page: @page. (line 6) -* page, within @titlepage: @titlepage. (line 15) -* pagesizes: @pagesizes. (line 6) -* paragraphindent: @paragraphindent. (line 6) -* part: @part. (line 6) -* pgindex: Predefined Indices. (line 17) -* phoo: @definfoenclose. (line 31) -* pindex: Predefined Indices. (line 17) -* point: @point. (line 6) -* pounds: @pounds. (line 6) -* print: @print. (line 6) -* printindex: Printing Indices & Menus. - (line 6) -* process: Typed Functions. (line 82) -* push: Typed Functions. (line 63) -* pxref: @pxref. (line 6) -* questiondown: Inserting Accents. (line 50) -* quotation: @quotation. (line 6) -* quotedblbase: Inserting Quotation Marks. - (line 23) -* quotedblleft: Inserting Quotation Marks. - (line 23) -* quotedblright: Inserting Quotation Marks. - (line 23) -* quoteleft: Inserting Quotation Marks. - (line 23) -* quoteright: Inserting Quotation Marks. - (line 23) -* quotesinglbase: Inserting Quotation Marks. - (line 23) -* r: Fonts. (line 34) -* r (roman font): Fonts. (line 34) -* raggedright: @raggedright. (line 6) -* raisesections: Raise/lower sections. - (line 6) -* rbracechar: Inserting Braces. (line 6) -* ref: @ref. (line 6) -* @refill: Obsolete @-Commands. (line 9) -* regenerate_master_menu: Global Customization Variables. - (line 266) -* registeredsymbol: @registeredsymbol. (line 6) -* relate_index_entries_to_table_entries: Global Customization Variables. - (line 271) -* result: @result. (line 6) -* ringaccent: Inserting Accents. (line 28) -* rmacro: Defining Macros. (line 44) -* samp: @samp. (line 6) -* sansserif: Fonts. (line 38) -* sc: Smallcaps. (line 6) -* section: @section. (line 6) -* seealso: Advanced Indexing. (line 34) -* seeentry: Advanced Indexing. (line 25) -* set: @set @value. (line 6) -* setchapternewpage: @setchapternewpage. (line 6) -* @setcontentsaftertitlepage: Obsolete @-Commands. (line 15) -* setfilename: @setfilename. (line 6) -* @setshortcontentsaftertitlepage: Obsolete @-Commands. (line 23) -* settitle: @settitle. (line 6) -* shortcaption: @caption @shortcaption. - (line 6) -* shortcontents: Contents. (line 6) -* shorttitlepage: @titlepage. (line 42) -* slanted: Fonts. (line 41) -* smallbook: @smallbook. (line 6) -* smalldisplay: small. (line 6) -* smallexample: small. (line 6) -* smallformat: small. (line 6) -* smallindentedblock: small. (line 6) -* smalllisp: small. (line 6) -* smallquotation: small. (line 6) -* sortas: Indexing Commands. (line 47) -* sp: @sp. (line 6) -* sp (titlepage line spacing): @titlefont @center @sp. - (line 6) -* <space>: Multiple Spaces. (line 6) -* ss: Inserting Accents. (line 50) -* strong: @emph @strong. (line 6) -* sub: Inserting Subscripts and Superscripts. - (line 6) -* subentry: Advanced Indexing. (line 8) -* subheading: @unnumberedsubsec @appendixsubsec @subheading. - (line 6) -* subsection: @subsection. (line 6) -* subsubheading: @subsubsection. (line 6) -* subsubsection: @subsubsection. (line 6) -* subtitle: @title @subtitle @author. - (line 6) -* summarycontents: Contents. (line 6) -* sup: Inserting Subscripts and Superscripts. - (line 6) -* syncodeindex: @syncodeindex. (line 6) -* synindex: @synindex. (line 6) -* t: Fonts. (line 44) -* t (typewriter font): Fonts. (line 44) -* tab: Multitable Rows. (line 6) -* <tab>: Multiple Spaces. (line 6) -* table: Two-column Tables. (line 6) -* TeX: @TeX @LaTeX. (line 6) -* tex: Raw Formatter Commands. - (line 14) -* texinfo-all-menus-update: Updating Commands. (line 109) -* texinfo-every-node-update: Updating Commands. (line 104) -* texinfo-format-buffer: texinfo-format commands. - (line 21) -* texinfo-format-region: texinfo-format commands. - (line 17) -* texinfo-indent-menu-description: Other Updating Commands. - (line 33) -* texinfo-insert-braces: Inserting. (line 75) -* texinfo-insert-@code: Inserting. (line 13) -* texinfo-insert-@dfn: Inserting. (line 17) -* texinfo-insert-dwim-@ref: Inserting. (line 47) -* texinfo-insert-@end: Inserting. (line 21) -* texinfo-insert-@example: Inserting. (line 70) -* texinfo-insert-@item: Inserting. (line 28) -* texinfo-insert-@kbd: Inserting. (line 33) -* texinfo-insert-@node: Inserting. (line 37) -* texinfo-insert-node-lines: Other Updating Commands. - (line 9) -* texinfo-insert-@noindent: Inserting. (line 42) -* texinfo-insert-@samp: Inserting. (line 57) -* texinfo-insert-@table: Inserting. (line 61) -* texinfo-insert-@var: Inserting. (line 66) -* texinfo-make-menu: Updating Commands. (line 90) -* texinfo-master-menu: Updating Commands. (line 52) -* texinfo-multiple-files-update: Update Multiple Files. - (line 6) -* texinfo-sequential-node-update: Other Updating Commands. - (line 42) -* texinfo-show-structure: Showing the Structure. - (line 15) -* texinfo-start-menu-description: Inserting. (line 104) -* texinfo-tex-buffer: Texinfo Mode Printing. - (line 22) -* texinfo-update-node: Updating Commands. (line 80) -* textdegree: @textdegree. (line 6) -* th: Inserting Accents. (line 50) -* TH: Inserting Accents. (line 50) -* thischapter: Custom Headings. (line 81) -* thischaptername: Custom Headings. (line 74) -* thischapternum: Custom Headings. (line 77) -* thisfile: Custom Headings. (line 89) -* thispage: Custom Headings. (line 61) -* thissection: Custom Headings. (line 70) -* thissectionname: Custom Headings. (line 64) -* thissectionnum: Custom Headings. (line 67) -* thistitle: Custom Headings. (line 85) -* tie: @tie. (line 6) -* tieaccent: Inserting Accents. (line 28) -* tindex: Predefined Indices. (line 19) -* title: @title @subtitle @author. - (line 6) -* titlefont: @titlefont @center @sp. - (line 6) -* titlepage: @titlepage. (line 6) -* today: Custom Headings. (line 98) -* top: @top Command. (line 6) -* tpindex: Predefined Indices. (line 19) -* u: Inserting Accents. (line 28) -* U: Inserting Unicode. (line 6) -* u (breve accent): Inserting Accents. (line 28) -* ubaraccent: Inserting Accents. (line 28) -* udotaccent: Inserting Accents. (line 28) -* unmacro: Defining Macros. (line 56) -* unnumbered: @unnumbered @appendix. - (line 6) -* unnumberedsec: @unnumberedsec @appendixsec @heading. - (line 6) -* unnumberedsubsec: @unnumberedsubsec @appendixsubsec @subheading. - (line 6) -* unnumberedsubsubsec: @subsubsection. (line 6) -* up-list: Inserting. (line 79) -* uref: @url. (line 13) -* urefbreakstyle: URL Line Breaking. (line 15) -* \urefurlonlylinktrue: @url PDF Output Format. - (line 12) -* url: @url. (line 6) -* \urlcolor: PDF Colors. (line 12) -* v: Inserting Accents. (line 28) -* v (caron): Inserting Accents. (line 28) -* value: @set @value. (line 6) -* var: @var. (line 6) -* verb: @verb. (line 6) -* verbatim: @verbatim. (line 6) -* verbatiminclude: @verbatiminclude. (line 6) -* vindex: Predefined Indices. (line 22) -* vrindex: Predefined Indices. (line 22) -* vskip TeX vertical skip: Copyright. (line 12) -* vtable: @ftable @vtable. (line 6) -* w: @w. (line 6) -* xml: Raw Formatter Commands. - (line 41) -* xref: @xref. (line 6) -* xrefautomaticsectiontitle: Three Arguments. (line 55) - diff --git a/result/sw/share/info/texinfo.info-4 b/result/sw/share/info/texinfo.info-4 deleted file mode 100644 index 28ca5d0a..00000000 Binary files a/result/sw/share/info/texinfo.info-4 and /dev/null differ diff --git a/result/sw/share/info/zsh.info b/result/sw/share/info/zsh.info deleted file mode 100644 index 8ef37194..00000000 --- a/result/sw/share/info/zsh.info +++ /dev/null @@ -1,202 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -Indirect: -zsh.info-1: 190 -zsh.info-2: 320009 -zsh.info-3: 607036 -zsh.info-4: 915362 -zsh.info-5: 1214272 -zsh.info-6: 1504021 - -Tag Table: -(Indirect) -Node: Top190 -Node: The Z Shell Manual4411 -Node: Introduction5914 -Node: Author6691 -Node: Availability7135 -Node: Mailing Lists7599 -Node: The Zsh FAQ9143 -Node: The Zsh Web Page9648 -Node: The Zsh Userguide9932 -Node: See Also10550 -Node: Roadmap10866 -Node: Invocation18515 -Node: Compatibility23091 -Node: Restricted Shell25353 -Node: Files29115 -Node: Shell Grammar31626 -Node: Simple Commands & Pipelines31940 -Node: Precommand Modifiers35711 -Node: Complex Commands38006 -Node: Alternate Forms For Complex Commands47646 -Node: Reserved Words50112 -Node: Errors50713 -Node: Comments53068 -Node: Aliasing53444 -Node: Quoting57632 -Node: Redirection58678 -Node: Command Execution71209 -Node: Functions72970 -Node: Jobs & Signals88270 -Node: Arithmetic Evaluation93659 -Node: Conditional Expressions104209 -Node: Prompt Expansion112573 -Node: Expansion127565 -Node: History Expansion129139 -Node: Overview130037 -Node: Event Designators132683 -Node: Word Designators134058 -Node: Modifiers135137 -Node: Process Substitution144832 -Node: Parameter Expansion150149 -Node: Command Substitution200247 -Node: Arithmetic Expansion201123 -Node: Brace Expansion201555 -Node: Filename Expansion204698 -Node: Dynamic named directories205997 -Node: Static named directories210009 -Node: `=' expansion211364 -Node: Notes211742 -Node: Filename Generation212554 -Node: Parameters250542 -Node: Array Parameters253614 -Node: Positional Parameters274894 -Node: Local Parameters276310 -Node: Parameters Set By The Shell277902 -Node: Parameters Used By The Shell292922 -Node: Options320009 -Node: Specifying Options320231 -Node: Description of Options321968 -Node: Option Aliases391771 -Node: Single Letter Options392704 -Node: Shell Builtin Commands394718 -Node: Zsh Line Editor528350 -Node: Keymaps530373 -Node: Zle Builtins534528 -Node: Zle Widgets560701 -Node: User-Defined Widgets561781 -Node: Standard Widgets578591 -Node: Movement579630 -Node: History Control583492 -Node: Modifying Text596980 -Node: Arguments607036 -Node: Completion609102 -Node: Miscellaneous610958 -Node: Text Objects625817 -Node: Character Highlighting627337 -Node: Completion Widgets636387 -Node: Completion Special Parameters638429 -Node: Completion Builtin Commands655118 -Node: Completion Condition Codes674395 -Node: Completion Matching Control675325 -Node: Completion Widget Example685067 -Node: Completion System685713 -Node: Initialization689279 -Node: Completion System Configuration708000 -Node: Control Functions803478 -Node: Bindable Commands823322 -Node: Completion Functions832315 -Node: Completion System Variables915362 -Node: Completion Directories916755 -Node: Completion Using compctl918562 -Node: Command Flags920058 -Node: Option Flags924541 -Node: Simple Flags925319 -Node: Flags with Arguments926994 -Node: Control Flags929980 -Node: Alternative Completion939769 -Node: Extended Completion940468 -Node: Example944721 -Node: Zsh Modules945376 -Node: The zsh/attr Module949498 -Node: The zsh/cap Module950851 -Node: The zsh/clone Module951760 -Node: The zsh/compctl Module953654 -Node: The zsh/complete Module954125 -Node: The zsh/complist Module954467 -Node: The zsh/computil Module970911 -Node: The zsh/curses Module974869 -Node: The zsh/datetime Module988296 -Node: The zsh/db/gdbm Module991775 -Node: The zsh/deltochar Module994222 -Node: The zsh/example Module994854 -Node: The zsh/files Module995273 -Node: The zsh/langinfo Module1003680 -Node: The zsh/mapfile Module1004309 -Node: The zsh/mathfunc Module1007084 -Node: The zsh/nearcolor Module1011168 -Node: The zsh/newuser Module1013062 -Node: The zsh/parameter Module1015556 -Node: The zsh/pcre Module1025143 -Node: The zsh/param/private Module1028473 -Node: The zsh/regex Module1032730 -Node: The zsh/sched Module1034408 -Node: The zsh/net/socket Module1037397 -Node: The zsh/stat Module1039543 -Node: The zsh/system Module1045928 -Node: The zsh/net/tcp Module1057324 -Node: The zsh/termcap Module1062266 -Node: The zsh/terminfo Module1062784 -Node: The zsh/watch Module1063315 -Node: The zsh/zftp Module1067627 -Node: The zsh/zle Module1087490 -Node: The zsh/zleparameter Module1087748 -Node: The zsh/zprof Module1088883 -Node: The zsh/zpty Module1092136 -Node: The zsh/zselect Module1096676 -Node: The zsh/zutil Module1100125 -Node: Calendar Function System1118141 -Node: Calendar File and Date Formats1119407 -Node: Calendar System User Functions1130844 -Node: Calendar Styles1148771 -Node: Calendar Utility Functions1151157 -Node: Calendar Bugs1155593 -Node: TCP Function System1156567 -Node: TCP Functions1158176 -Node: TCP Parameters1182830 -Node: TCP Examples1190195 -Node: TCP Bugs1191209 -Node: Zftp Function System1191704 -Node: Installation1193348 -Node: Zftp Functions1194542 -Node: Miscellaneous Features1214272 -Node: User Contributions1221313 -Node: Utilities1222110 -Node: Recent Directories1236917 -Node: Other Directory Functions1248909 -Node: Version Control Information1255974 -Node: vcs_info Quickstart1257808 -Node: vcs_info Configuration1260010 -Node: vcs_info Oddities1274870 -Node: vcs_info Quilt Support1275875 -Node: vcs_info API1281182 -Node: vcs_info Variables1283328 -Node: vcs_info Hooks1284105 -Node: vcs_info Examples1294890 -Node: Prompt Themes1300100 -Node: ZLE Functions1305703 -Node: Exception Handling1368136 -Node: MIME Functions1371471 -Node: Mathematical Functions1389039 -Node: User Configuration Functions1400771 -Node: Other Functions1403154 -Node: Concept Index1422935 -Node: Variables Index1504021 -Node: Options Index1552383 -Node: Functions Index1660402 -Node: Editor Functions Index1703220 -Node: Style and Tag Index1722637 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/result/sw/share/info/zsh.info-1 b/result/sw/share/info/zsh.info-1 deleted file mode 100644 index 1b079e1c..00000000 --- a/result/sw/share/info/zsh.info-1 +++ /dev/null @@ -1,7754 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -File: zsh.info, Node: Top, Next: The Z Shell Manual, Prev: (dir), Up: (dir) - -The Z Shell Manual -****************** - -This Info file documents Zsh, a freely available UNIX command -interpreter (shell), which of the standard shells most closely resembles -the Korn shell (ksh), although it is not completely compatible. Zsh is -able to emulate POSIX shells, but its default mode is not POSIX -compatible, either. - -Version 5.9, last updated May 14, 2022. - -* Menu: - -* The Z Shell Manual:: -* Introduction:: -* Roadmap:: -* Invocation:: -* Files:: -* Shell Grammar:: -* Redirection:: -* Command Execution:: -* Functions:: -* Jobs & Signals:: -* Arithmetic Evaluation:: -* Conditional Expressions:: -* Prompt Expansion:: -* Expansion:: -* Parameters:: -* Options:: -* Shell Builtin Commands:: -* Zsh Line Editor:: -* Completion Widgets:: -* Completion System:: -* Completion Using compctl:: -* Zsh Modules:: -* Calendar Function System:: -* TCP Function System:: -* Zftp Function System:: -* User Contributions:: - --- Indices -- - -* Concept Index:: -* Variables Index:: -* Options Index:: -* Functions Index:: -* Editor Functions Index:: -* Style and Tag Index:: - --- The Detailed Node Listing -- - -Introduction - -* Author:: -* Availability:: -* Mailing Lists:: -* The Zsh FAQ:: -* The Zsh Web Page:: -* The Zsh Userguide:: -* See Also:: - -Invocation - -* Compatibility:: -* Restricted Shell:: - -Shell Grammar - -* Simple Commands & Pipelines:: -* Precommand Modifiers:: -* Complex Commands:: -* Alternate Forms For Complex Commands:: -* Reserved Words:: -* Comments:: -* Aliasing:: -* Quoting:: - -Expansion - -* History Expansion:: -* Process Substitution:: -* Parameter Expansion:: -* Command Substitution:: -* Arithmetic Expansion:: -* Brace Expansion:: -* Filename Expansion:: -* Filename Generation:: - -Parameters - -* Array Parameters:: -* Positional Parameters:: -* Local Parameters:: -* Parameters Set By The Shell:: -* Parameters Used By The Shell:: - -Options - -* Specifying Options:: -* Description of Options:: -* Option Aliases:: -* Single Letter Options:: - -Zsh Line Editor - -* Keymaps:: -* Zle Builtins:: -* Zle Widgets:: -* User-Defined Widgets:: -* Standard Widgets:: -* Character Highlighting:: - -Completion Widgets - -* Completion Special Parameters:: -* Completion Builtin Commands:: -* Completion Condition Codes:: -* Completion Matching Control:: -* Completion Widget Example:: - -Completion System - -* Initialization:: -* Completion System Configuration:: -* Control Functions:: -* Bindable Commands:: -* Completion Functions:: -* Completion Directories:: - -Completion Using compctl - -* Command Flags:: -* Option Flags:: -* Alternative Completion:: -* Extended Completion:: -* Example:: - -Zsh Modules - -* The zsh/attr Module:: -* The zsh/cap Module:: -* The zsh/clone Module:: -* The zsh/compctl Module:: -* The zsh/complete Module:: -* The zsh/complist Module:: -* The zsh/computil Module:: -* The zsh/curses Module:: -* The zsh/datetime Module:: -* The zsh/db/gdbm Module:: -* The zsh/deltochar Module:: -* The zsh/example Module:: -* The zsh/files Module:: -* The zsh/langinfo Module:: -* The zsh/mapfile Module:: -* The zsh/mathfunc Module:: -* The zsh/nearcolor Module:: -* The zsh/newuser Module:: -* The zsh/parameter Module:: -* The zsh/pcre Module:: -* The zsh/param/private Module:: -* The zsh/regex Module:: -* The zsh/sched Module:: -* The zsh/net/socket Module:: -* The zsh/stat Module:: -* The zsh/system Module:: -* The zsh/net/tcp Module:: -* The zsh/termcap Module:: -* The zsh/terminfo Module:: -* The zsh/watch Module:: -* The zsh/zftp Module:: -* The zsh/zle Module:: -* The zsh/zleparameter Module:: -* The zsh/zprof Module:: -* The zsh/zpty Module:: -* The zsh/zselect Module:: -* The zsh/zutil Module:: - -Calendar Function System - -* Calendar File and Date Formats:: -* Calendar System User Functions:: -* Calendar Styles:: -* Calendar Utility Functions:: -* Calendar Bugs:: - -TCP Function System - -* TCP Functions:: -* TCP Parameters:: -* TCP Examples:: -* TCP Bugs:: - -Zftp Function System - -* Installation:: -* Zftp Functions:: -* Miscellaneous Features:: - -User Contributions - -* Utilities:: -* Recent Directories:: -* Other Directory Functions:: -* Version Control Information:: -* Prompt Themes:: -* ZLE Functions:: -* Exception Handling:: -* MIME Functions:: -* Mathematical Functions:: -* User Configuration Functions:: -* Other Functions:: - - -File: zsh.info, Node: The Z Shell Manual, Next: Introduction, Prev: Top, Up: Top - -1 The Z Shell Manual -******************** - -This document has been produced from the texinfo file zsh.texi, included -in the Doc sub-directory of the Zsh distribution. - -1.1 Producing documentation from zsh.texi -========================================= - -The texinfo source may be converted into several formats: - -The Info manual - The Info format allows searching for topics, commands, functions, - etc. from the many Indices. The command 'makeinfo zsh.texi' is - used to produce the Info documentation. - -The printed manual - The command 'texi2dvi zsh.texi' will output zsh.dvi which can then - be processed with ‘dvips’ and optionally ‘gs’ (Ghostscript) to - produce a nicely formatted printed manual. - -The HTML manual - An HTML version of this manual is available at the Zsh web site - via: - - <https://zsh.sourceforge.io/Doc/>. - - (The HTML version is produced with ‘texi2html’, which may be - obtained from <http://www.nongnu.org/texi2html/>. The command is - 'texi2html --output . --ifinfo --split=chapter --node-files - zsh.texi'. If necessary, upgrade to version 1.78 of texi2html.) - -For those who do not have the necessary tools to process texinfo, -precompiled documentation (PostScript, dvi, PDF, info and HTML formats) -is available from the zsh archive site or its mirrors, in the file -zsh-doc.tar.gz. (See *note Availability:: for a list of sites.) - - -File: zsh.info, Node: Introduction, Next: Roadmap, Prev: The Z Shell Manual, Up: Top - -2 Introduction -************** - -Zsh is a UNIX command interpreter (shell) usable as an interactive login -shell and as a shell script command processor. Of the standard shells, -zsh most closely resembles ‘ksh’ but includes many enhancements. It -does not provide compatibility with POSIX or other shells in its default -operating mode: see the section *note Compatibility::. - -Zsh has command line editing, builtin spelling correction, programmable -command completion, shell functions (with autoloading), a history -mechanism, and a host of other features. -* Menu: - -* Author:: -* Availability:: -* Mailing Lists:: -* The Zsh FAQ:: -* The Zsh Web Page:: -* The Zsh Userguide:: -* See Also:: - - -File: zsh.info, Node: Author, Next: Availability, Up: Introduction - -2.1 Author -========== - -Zsh was originally written by Paul Falstad. Zsh is now maintained by -the members of the zsh-workers mailing list <zsh-workers@zsh.org>. The -development is currently coordinated by Peter Stephenson <pws@zsh.org>. -The coordinator can be contacted at <coordinator@zsh.org>, but matters -relating to the code should generally go to the mailing list. - - -File: zsh.info, Node: Availability, Next: Mailing Lists, Prev: Author, Up: Introduction - -2.2 Availability -================ - -Zsh is available from the following HTTP and anonymous FTP site. - -<ftp://ftp.zsh.org/pub/> -<https://www.zsh.org/pub/> - -The up-to-date source code is available via Git from Sourceforge. See -<https://sourceforge.net/projects/zsh/> for details. A summary of -instructions for the archive can be found at -<https://zsh.sourceforge.io/>. - - -File: zsh.info, Node: Mailing Lists, Next: The Zsh FAQ, Prev: Availability, Up: Introduction - -2.3 Mailing Lists -================= - -Zsh has several mailing lists: - -<zsh-announce@zsh.org> - Announcements about releases, major changes in the shell and the - monthly posting of the Zsh FAQ. (moderated) - -<zsh-users@zsh.org> - User discussions. - -<zsh-workers@zsh.org> - Hacking, development, bug reports and patches. - -<zsh-security@zsh.org> - Private mailing list (the general public cannot subscribe to it) - for discussing bug reports with security implications, i.e., - potential vulnerabilities. - - If you find a security problem in zsh itself, please mail this - address. - -To subscribe or unsubscribe, send mail to the associated administrative -address for the mailing list. - -<zsh-announce-subscribe@zsh.org> -<zsh-users-subscribe@zsh.org> -<zsh-workers-subscribe@zsh.org> - -<zsh-announce-unsubscribe@zsh.org> -<zsh-users-unsubscribe@zsh.org> -<zsh-workers-unsubscribe@zsh.org> - -YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED. All -submissions to ‘zsh-announce’ are automatically forwarded to -‘zsh-users’. All submissions to ‘zsh-users’ are automatically forwarded -to ‘zsh-workers’. - -If you have problems subscribing/unsubscribing to any of the mailing -lists, send mail to <listmaster@zsh.org>. - -The mailing lists are archived; the archives can be accessed via the -administrative addresses listed above. There is also a hypertext -archive available at <https://www.zsh.org/mla/>. - - -File: zsh.info, Node: The Zsh FAQ, Next: The Zsh Web Page, Prev: Mailing Lists, Up: Introduction - -2.4 The Zsh FAQ -=============== - -Zsh has a list of Frequently Asked Questions (FAQ), maintained by Peter -Stephenson <pws@zsh.org>. It is regularly posted to the newsgroup -‘comp.unix.shell’ and the ‘zsh-announce’ mailing list. The latest -version can be found at any of the Zsh FTP sites, or at -<https://www.zsh.org/FAQ/>. The contact address for FAQ-related matters -is <faqmaster@zsh.org>. - - -File: zsh.info, Node: The Zsh Web Page, Next: The Zsh Userguide, Prev: The Zsh FAQ, Up: Introduction - -2.5 The Zsh Web Page -==================== - -Zsh has a web page which is located at <https://www.zsh.org/>. The -contact address for web-related matters is <webmaster@zsh.org>. - - -File: zsh.info, Node: The Zsh Userguide, Next: See Also, Prev: The Zsh Web Page, Up: Introduction - -2.6 The Zsh Userguide -===================== - -A userguide is currently in preparation. It is intended to complement -the manual, with explanations and hints on issues where the manual can -be cabbalistic, hierographic, or downright mystifying (for example, the -word 'hierographic' does not exist). It can be viewed in its current -state at <https://zsh.sourceforge.io/Guide/>. At the time of writing, -chapters dealing with startup files and their contents and the new -completion system were essentially complete. - - -File: zsh.info, Node: See Also, Prev: The Zsh Userguide, Up: Introduction - -2.7 See Also -============ - -sh(1), csh(1), tcsh(1), rc(1), bash(1), ksh(1) - -‘IEEE Standard for information Technology - Portable Operating System -Interface (POSIX) - Part 2: Shell and Utilities’, IEEE Inc, 1993, ISBN -1-55937-255-9. - - -File: zsh.info, Node: Roadmap, Next: Invocation, Prev: Introduction, Up: Top - -3 Roadmap -********* - -The Zsh Manual, like the shell itself, is large and often complicated. -This section of the manual provides some pointers to areas of the shell -that are likely to be of particular interest to new users, and indicates -where in the rest of the manual the documentation is to be found. - -3.1 When the shell starts -========================= - -When it starts, the shell reads commands from various files. These can -be created or edited to customize the shell. See *note Files::. - -If no personal initialization files exist for the current user, a -function is run to help you change some of the most common settings. It -won't appear if your administrator has disabled the zsh/newuser module. -The function is designed to be self-explanatory. You can run it by hand -with 'autoload -Uz zsh-newuser-install; zsh-newuser-install -f'. See -also *note User Configuration Functions::. - -3.2 Interactive Use -=================== - -Interaction with the shell uses the builtin Zsh Line Editor, ZLE. This -is described in detail in *note Zsh Line Editor::. - -The first decision a user must make is whether to use the Emacs or Vi -editing mode as the keys for editing are substantially different. Emacs -editing mode is probably more natural for beginners and can be selected -explicitly with the command bindkey -e. - -A history mechanism for retrieving previously typed lines (most simply -with the Up or Down arrow keys) is available; note that, unlike other -shells, zsh will not save these lines when the shell exits unless you -set appropriate variables, and the number of history lines retained by -default is quite small (30 lines). See the description of the shell -variables (referred to in the documentation as parameters) HISTFILE, -HISTSIZE and SAVEHIST in *note Parameters Used By The Shell::. Note -that it's currently only possible to read and write files saving history -when the shell is interactive, i.e. it does not work from scripts. - -The shell now supports the UTF-8 character set (and also others if -supported by the operating system). This is (mostly) handled -transparently by the shell, but the degree of support in terminal -emulators is variable. There is some discussion of this in the shell -FAQ, <https://www.zsh.org/FAQ/>. Note in particular that for combining -characters to be handled the option COMBINING_CHARS needs to be set. -Because the shell is now more sensitive to the definition of the -character set, note that if you are upgrading from an older version of -the shell you should ensure that the appropriate variable, either LANG -(to affect all aspects of the shell's operation) or LC_CTYPE (to affect -only the handling of character sets) is set to an appropriate value. -This is true even if you are using a single-byte character set including -extensions of ASCII such as ISO-8859-1 or ISO-8859-15. See the -description of LC_CTYPE in *note Parameters::. - -3.2.1 Completion ----------------- - -Completion is a feature present in many shells. It allows the user to -type only a part (usually the prefix) of a word and have the shell fill -in the rest. The completion system in zsh is programmable. For -example, the shell can be set to complete email addresses in arguments -to the mail command from your ~/.abook/addressbook; usernames, -hostnames, and even remote paths in arguments to scp, and so on. -Anything that can be written in or glued together with zsh can be the -source of what the line editor offers as possible completions. - -Zsh has two completion systems, an old, so called compctl completion -(named after the builtin command that serves as its complete and only -user interface), and a new one, referred to as compsys, organized as -library of builtin and user-defined functions. The two systems differ -in their interface for specifying the completion behavior. The new -system is more customizable and is supplied with completions for many -commonly used commands; it is therefore to be preferred. - -The completion system must be enabled explicitly when the shell starts. -For more information see *note Completion System::. - -3.2.2 Extending the line editor -------------------------------- - -Apart from completion, the line editor is highly extensible by means of -shell functions. Some useful functions are provided with the shell; -they provide facilities such as: - -insert-composed-char - composing characters not found on the keyboard - -match-words-by-style - configuring what the line editor considers a word when moving or - deleting by word - -history-beginning-search-backward-end, etc. - alternative ways of searching the shell history - -replace-string, replace-pattern - functions for replacing strings or patterns globally in the command - line - -edit-command-line - edit the command line with an external editor. - -See *note ZLE Functions:: for descriptions of these. - -3.3 Options -=========== - -The shell has a large number of options for changing its behaviour. -These cover all aspects of the shell; browsing the full documentation is -the only good way to become acquainted with the many possibilities. See -*note Options::. - -3.4 Pattern Matching -==================== - -The shell has a rich set of patterns which are available for file -matching (described in the documentation as 'filename generation' and -also known for historical reasons as 'globbing') and for use when -programming. These are described in *note Filename Generation::. - -Of particular interest are the following patterns that are not commonly -supported by other systems of pattern matching: - -** - for matching over multiple directories - -| - for matching either of two alternatives - -~, ^ - the ability to exclude patterns from matching when the - EXTENDED_GLOB option is set - -(...) - glob qualifiers, included in parentheses at the end of the pattern, - which select files by type (such as directories) or attribute (such - as size). - -3.5 General Comments on Syntax -============================== - -Although the syntax of zsh is in ways similar to the Korn shell, and -therefore more remotely to the original UNIX shell, the Bourne shell, -its default behaviour does not entirely correspond to those shells. -General shell syntax is introduced in *note Shell Grammar::. - -One commonly encountered difference is that variables substituted onto -the command line are not split into words. See the description of the -shell option SH_WORD_SPLIT in *note Parameter Expansion::. In zsh, you -can either explicitly request the splitting (e.g. ${=foo}) or use an -array when you want a variable to expand to more than one word. See -*note Array Parameters::. - -3.6 Programming -=============== - -The most convenient way of adding enhancements to the shell is typically -by writing a shell function and arranging for it to be autoloaded. -Functions are described in *note Functions::. Users changing from the C -shell and its relatives should notice that aliases are less used in zsh -as they don't perform argument substitution, only simple text -replacement. - -A few general functions, other than those for the line editor described -above, are provided with the shell and are described in *note User -Contributions::. Features include: - -promptinit - a prompt theme system for changing prompts easily, see *note Prompt - Themes:: - -zsh-mime-setup - a MIME-handling system which dispatches commands according to the - suffix of a file as done by graphical file managers - -zcalc - a calculator - -zargs - a version of xargs that makes the find command redundant - -zmv - a command for renaming files by means of shell patterns. - - -File: zsh.info, Node: Invocation, Next: Files, Prev: Roadmap, Up: Top - -4 Invocation -************ - -4.1 Invocation -============== - -The following flags are interpreted by the shell when invoked to -determine where the shell will read commands from: - --c - Take the first argument as a command to execute, rather than - reading commands from a script or standard input. If any further - arguments are given, the first one is assigned to $0, rather than - being used as a positional parameter. - --i - Force shell to be interactive. It is still possible to specify a - script to execute. - --s - Force shell to read commands from the standard input. If the -s - flag is not present and an argument is given, the first argument is - taken to be the pathname of a script to execute. - -If there are any remaining arguments after option processing, and -neither of the options -c or -s was supplied, the first argument is -taken as the file name of a script containing shell commands to be -executed. If the option PATH_SCRIPT is set, and the file name does not -contain a directory path (i.e. there is no '/' in the name), first the -current directory and then the command path given by the variable PATH -are searched for the script. If the option is not set or the file name -contains a '/' it is used directly. - -After the first one or two arguments have been appropriated as described -above, the remaining arguments are assigned to the positional -parameters. - -For further options, which are common to invocation and the set builtin, -see *note Options::. - -The long option '--emulate' followed (in a separate word) by an -emulation mode may be passed to the shell. The emulation modes are -those described for the emulate builtin, see *note Shell Builtin -Commands::. The '--emulate' option must precede any other options -(which might otherwise be overridden), but following options are -honoured, so may be used to modify the requested emulation mode. Note -that certain extra steps are taken to ensure a smooth emulation when -this option is used compared with the emulate command within the shell: -for example, variables that conflict with POSIX usage such as path are -not defined within the shell. - -Options may be specified by name using the -o option. -o acts like a -single-letter option, but takes a following string as the option name. -For example, - - zsh -x -o shwordsplit scr - -runs the script scr, setting the XTRACE option by the corresponding -letter '-x' and the SH_WORD_SPLIT option by name. Options may be turned -_off_ by name by using +o instead of -o. -o can be stacked up with -preceding single-letter options, so for example '-xo shwordsplit' or -'-xoshwordsplit' is equivalent to '-x -o shwordsplit'. - -Options may also be specified by name in GNU long option style, -'--OPTION-NAME'. When this is done, '-' characters in the option name -are permitted: they are translated into '_', and thus ignored. So, for -example, 'zsh --sh-word-split' invokes zsh with the SH_WORD_SPLIT option -turned on. Like other option syntaxes, options can be turned off by -replacing the initial '-' with a '+'; thus '+-sh-word-split' is -equivalent to '--no-sh-word-split'. Unlike other option syntaxes, -GNU-style long options cannot be stacked with any other options, so for -example '-x-shwordsplit' is an error, rather than being treated like '-x ---shwordsplit'. - -The special GNU-style option '--version' is handled; it sends to -standard output the shell's version information, then exits -successfully. '--help' is also handled; it sends to standard output a -list of options that can be used when invoking the shell, then exits -successfully. - -Option processing may be finished, allowing following arguments that -start with '-' or '+' to be treated as normal arguments, in two ways. -Firstly, a lone '-' (or '+') as an argument by itself ends option -processing. Secondly, a special option '--' (or '+-'), which may be -specified on its own (which is the standard POSIX usage) or may be -stacked with preceding options (so '-x-' is equivalent to '-x --'). -Options are not permitted to be stacked after '--' (so '-x-f' is an -error), but note the GNU-style option form discussed above, where -'--shwordsplit' is permitted and does not end option processing. - -Except when the ‘sh’/‘ksh’ emulation single-letter options are in -effect, the option '-b' (or '+b') ends option processing. '-b' is like -'--', except that further single-letter options can be stacked after the -'-b' and will take effect as normal. - -* Menu: - -* Compatibility:: -* Restricted Shell:: - - -File: zsh.info, Node: Compatibility, Next: Restricted Shell, Up: Invocation - -4.2 Compatibility -================= - -Zsh tries to emulate ‘sh’ or ‘ksh’ when it is invoked as sh or ksh -respectively; more precisely, it looks at the first letter of the name -by which it was invoked, excluding any initial 'r' (assumed to stand for -'restricted'), and if that is 'b', 's' or 'k' it will emulate ‘sh’ or -‘ksh’. Furthermore, if invoked as su (which happens on certain systems -when the shell is executed by the su command), the shell will try to -find an alternative name from the SHELL environment variable and perform -emulation based on that. - -In ‘sh’ and ‘ksh’ compatibility modes the following parameters are not -special and not initialized by the shell: ARGC, argv, cdpath, fignore, -fpath, HISTCHARS, mailpath, MANPATH, manpath, path, prompt, PROMPT, -PROMPT2, PROMPT3, PROMPT4, psvar, status. - -The usual zsh startup/shutdown scripts are not executed. Login shells -source /etc/profile followed by $HOME/.profile. If the ENV environment -variable is set on invocation, $ENV is sourced after the profile -scripts. The value of ENV is subjected to parameter expansion, command -substitution, and arithmetic expansion before being interpreted as a -pathname. Note that the PRIVILEGED option also affects the execution of -startup files. - -The following options are set if the shell is invoked as sh or ksh: -NO_BAD_PATTERN, NO_BANG_HIST, NO_BG_NICE, NO_EQUALS, -NO_FUNCTION_ARGZERO, GLOB_SUBST, NO_GLOBAL_EXPORT, NO_HUP, -INTERACTIVE_COMMENTS, KSH_ARRAYS, NO_MULTIOS, NO_NOMATCH, NO_NOTIFY, -POSIX_BUILTINS, NO_PROMPT_PERCENT, RM_STAR_SILENT, SH_FILE_EXPANSION, -SH_GLOB, SH_OPTION_LETTERS, SH_WORD_SPLIT. Additionally the BSD_ECHO -and IGNORE_BRACES options are set if zsh is invoked as sh. Also, the -KSH_OPTION_PRINT, LOCAL_OPTIONS, PROMPT_BANG, PROMPT_SUBST and -SINGLE_LINE_ZLE options are set if zsh is invoked as ksh. - -Please note that, whilst reasonable efforts are taken to address -incompatibilities when they arise, zsh does not guarantee complete -emulation of other shells, nor POSIX compliance. For more information -on the differences between zsh and other shells, please refer to -chapter 2 of the shell FAQ, <https://www.zsh.org/FAQ/>. - - -File: zsh.info, Node: Restricted Shell, Prev: Compatibility, Up: Invocation - -4.3 Restricted Shell -==================== - -When the basename of the command used to invoke zsh starts with the -letter 'r' or the '-r' command line option is supplied at invocation, -the shell becomes restricted. Emulation mode is determined after -stripping the letter 'r' from the invocation name. The following are -disabled in restricted mode: - - • changing directories with the cd builtin - • changing or unsetting the EGID, EUID, GID, HISTFILE, HISTSIZE, IFS, - LD_AOUT_LIBRARY_PATH, LD_AOUT_PRELOAD, LD_LIBRARY_PATH, LD_PRELOAD, - MODULE_PATH, module_path, PATH, path, SHELL, UID and USERNAME - parameters - • specifying command names containing / - • specifying command pathnames using hash - • redirecting output to files - • using the exec builtin command to replace the shell with another - command - • using jobs -Z to overwrite the shell process' argument and - environment space - • using the ARGV0 parameter to override argv[0] for external commands - • turning off restricted mode with set +r or unsetopt RESTRICTED - -These restrictions are enforced after processing the startup files. The -startup files should set up PATH to point to a directory of commands -which can be safely invoked in the restricted environment. They may -also add further restrictions by disabling selected builtins. - -Restricted mode can also be activated any time by setting the RESTRICTED -option. This immediately enables all the restrictions described above -even if the shell still has not processed all startup files. - -A shell _Restricted Mode_ is an outdated way to restrict what users may -do: modern systems have better, safer and more reliable ways to confine -user actions, such as _chroot jails_, _containers_ and _zones_. - -A restricted shell is very difficult to implement safely. The feature -may be removed in a future version of zsh. - -It is important to realise that the restrictions only apply to the -shell, not to the commands it runs (except for some shell builtins). -While a restricted shell can only run the restricted list of commands -accessible via the predefined 'PATH' variable, it does not prevent those -commands from running any other command. - -As an example, if 'env' is among the list of _allowed_ commands, then it -allows the user to run any command as 'env' is not a shell builtin -command and can run arbitrary executables. - -So when implementing a restricted shell framework it is important to be -fully aware of what actions each of the _allowed_ commands or features -(which may be regarded as _modules_) can perform. - -Many commands can have their behaviour affected by environment -variables. Except for the few listed above, zsh does not restrict the -setting of environment variables. - -If a 'perl', 'python', 'bash', or other general purpose interpreted -script it treated as a restricted command, the user can work around the -restriction by setting specially crafted 'PERL5LIB', 'PYTHONPATH', -'BASHENV' (etc.) environment variables. On GNU systems, any command -can be made to run arbitrary code when performing character set -conversion (including zsh itself) by setting a 'GCONV_PATH' environment -variable. Those are only a few examples. - -Bear in mind that, contrary to some other shells, 'readonly' is not a -security feature in zsh as it can be undone and so cannot be used to -mitigate the above. - -A restricted shell only works if the allowed commands are few and -carefully written so as not to grant more access to users than intended. -It is also important to restrict what zsh module the user may load as -some of them, such as 'zsh/system', 'zsh/mapfile' and 'zsh/files', allow -bypassing most of the restrictions. - - -File: zsh.info, Node: Files, Next: Shell Grammar, Prev: Invocation, Up: Top - -5 Files -******* - -5.1 Startup/Shutdown Files -========================== - -Commands are first read from /etc/zshenv; this cannot be overridden. -Subsequent behaviour is modified by the RCS and GLOBAL_RCS options; the -former affects all startup files, while the second only affects global -startup files (those shown here with an path starting with a /). If one -of the options is unset at any point, any subsequent startup file(s) of -the corresponding type will not be read. It is also possible for a file -in $ZDOTDIR to re-enable GLOBAL_RCS. Both RCS and GLOBAL_RCS are set by -default. - -Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login -shell, commands are read from /etc/zprofile and then $ZDOTDIR/.zprofile. -Then, if the shell is interactive, commands are read from /etc/zshrc and -then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, -/etc/zlogin and $ZDOTDIR/.zlogin are read. - -When a login shell exits, the files $ZDOTDIR/.zlogout and then -/etc/zlogout are read. This happens with either an explicit exit via -the exit or logout commands, or an implicit exit by reading end-of-file -from the terminal. However, if the shell terminates due to exec'ing -another process, the logout files are not read. These are also affected -by the RCS and GLOBAL_RCS options. Note also that the RCS option -affects the saving of history files, i.e. if RCS is unset when the -shell exits, no history file will be saved. - -If ZDOTDIR is unset, HOME is used instead. Files listed above as being -in /etc may be in another directory, depending on the installation. - -As /etc/zshenv is run for all instances of zsh, it is important that it -be kept as small as possible. In particular, it is a good idea to put -code that does not need to be run for every single shell behind a test -of the form 'if [[ -o rcs ]]; then ...' so that it will not be executed -when zsh is invoked with the '-f' option. - -5.2 Files -========= - -$ZDOTDIR/.zshenv -$ZDOTDIR/.zprofile -$ZDOTDIR/.zshrc -$ZDOTDIR/.zlogin -$ZDOTDIR/.zlogout -${TMPPREFIX}* (default is /tmp/zsh*) -/etc/zshenv -/etc/zprofile -/etc/zshrc -/etc/zlogin -/etc/zlogout (installation-specific - /etc is the default) - -Any of these files may be pre-compiled with the zcompile builtin command -(*note Shell Builtin Commands::). If a compiled file exists (named for -the original file plus the .zwc extension) and it is newer than the -original file, the compiled file will be used instead. - - -File: zsh.info, Node: Shell Grammar, Next: Redirection, Prev: Files, Up: Top - -6 Shell Grammar -*************** - -* Menu: - -* Simple Commands & Pipelines:: -* Precommand Modifiers:: -* Complex Commands:: -* Alternate Forms For Complex Commands:: -* Reserved Words:: -* Errors:: -* Comments:: -* Aliasing:: -* Quoting:: - - -File: zsh.info, Node: Simple Commands & Pipelines, Next: Precommand Modifiers, Up: Shell Grammar - -6.1 Simple Commands & Pipelines -=============================== - -A _simple command_ is a sequence of optional parameter assignments -followed by blank-separated words, with optional redirections -interspersed. For a description of assignment, see the beginning of -*note Parameters::. - -The first word is the command to be executed, and the remaining words, -if any, are arguments to the command. If a command name is given, the -parameter assignments modify the environment of the command when it is -executed. The value of a simple command is its exit status, or 128 plus -the signal number if terminated by a signal. For example, - - echo foo - -is a simple command with arguments. - -A _pipeline_ is either a simple command, or a sequence of two or more -simple commands where each command is separated from the next by '|' or -'|&'. Where commands are separated by '|', the standard output of the -first command is connected to the standard input of the next. '|&' is -shorthand for '2>&1 |', which connects both the standard output and the -standard error of the command to the standard input of the next. The -value of a pipeline is the value of the last command, unless the -pipeline is preceded by '!' in which case the value is the logical -inverse of the value of the last command. For example, - - echo foo | sed 's/foo/bar/' - -is a pipeline, where the output ('foo' plus a newline) of the first -command will be passed to the input of the second. - -If a pipeline is preceded by 'coproc', it is executed as a coprocess; a -two-way pipe is established between it and the parent shell. The shell -can read from or write to the coprocess by means of the '>&p' and '<&p' -redirection operators or with 'print -p' and 'read -p'. A pipeline -cannot be preceded by both 'coproc' and '!'. If job control is active, -the coprocess can be treated in other than input and output as an -ordinary background job. - -A _sublist_ is either a single pipeline, or a sequence of two or more -pipelines separated by '&&' or '||'. If two pipelines are separated by -'&&', the second pipeline is executed only if the first succeeds -(returns a zero status). If two pipelines are separated by '||', the -second is executed only if the first fails (returns a nonzero status). -Both operators have equal precedence and are left associative. The -value of the sublist is the value of the last pipeline executed. For -example, - - dmesg | grep panic && print yes - -is a sublist consisting of two pipelines, the second just a simple -command which will be executed if and only if the grep command returns a -zero status. If it does not, the value of the sublist is that return -status, else it is the status returned by the print (almost certainly -zero). - -A _list_ is a sequence of zero or more sublists, in which each sublist -is terminated by ';', '&', '&|', '&!', or a newline. This terminator -may optionally be omitted from the last sublist in the list when the -list appears as a complex command inside '(...)' or '{...}'. When a -sublist is terminated by ';' or newline, the shell waits for it to -finish before executing the next sublist. If a sublist is terminated by -a '&', '&|', or '&!', the shell executes the last pipeline in it in the -background, and does not wait for it to finish (note the difference from -other shells which execute the whole sublist in the background). A -backgrounded pipeline returns a status of zero. - -More generally, a list can be seen as a set of any shell commands -whatsoever, including the complex commands below; this is implied -wherever the word 'list' appears in later descriptions. For example, -the commands in a shell function form a special sort of list. - - -File: zsh.info, Node: Precommand Modifiers, Next: Complex Commands, Prev: Simple Commands & Pipelines, Up: Shell Grammar - -6.2 Precommand Modifiers -======================== - -A simple command may be preceded by a _precommand modifier_, which will -alter how the command is interpreted. These modifiers are shell builtin -commands with the exception of nocorrect which is a reserved word. - -- - The command is executed with a '-' prepended to its argv[0] string. - -builtin - The command word is taken to be the name of a builtin command, - rather than a shell function or external command. - -command [ -pvV ] - The command word is taken to be the name of an external command, - rather than a shell function or builtin. If the POSIX_BUILTINS - option is set, builtins will also be executed but certain special - properties of them are suppressed. The -p flag causes a default - path to be searched instead of that in $path. With the -v flag, - command is similar to whence and with -V, it is equivalent to - whence -v. - -exec [ -cl ] [ -a ARGV0 ] - The following command together with any arguments is run in place - of the current process, rather than as a sub-process. The shell - does not fork and is replaced. The shell does not invoke TRAPEXIT, - nor does it source zlogout files. The options are provided for - compatibility with other shells. - - The -c option clears the environment. - - The -l option is equivalent to the - precommand modifier, to treat - the replacement command as a login shell; the command is executed - with a - prepended to its argv[0] string. This flag has no effect - if used together with the -a option. - - The -a option is used to specify explicitly the argv[0] string (the - name of the command as seen by the process itself) to be used by - the replacement command and is directly equivalent to setting a - value for the ARGV0 environment variable. - -nocorrect - Spelling correction is not done on any of the words. This must - appear before any other precommand modifier, as it is interpreted - immediately, before any parsing is done. It has no effect in - non-interactive shells. - -noglob - Filename generation (globbing) is not performed on any of the - words. - - -File: zsh.info, Node: Complex Commands, Next: Alternate Forms For Complex Commands, Prev: Precommand Modifiers, Up: Shell Grammar - -6.3 Complex Commands -==================== - -A _complex command_ in zsh is one of the following: - -if LIST then LIST [ elif LIST then LIST ] ... [ else LIST ] fi - The if LIST is executed, and if it returns a zero exit status, the - then LIST is executed. Otherwise, the elif LIST is executed and if - its status is zero, the then LIST is executed. If each elif LIST - returns nonzero status, the else LIST is executed. - -for NAME ... [ in WORD ... ] TERM do LIST done - Expand the list of WORDs, and set the parameter NAME to each of - them in turn, executing LIST each time. If the 'in WORD' is - omitted, use the positional parameters instead of the WORDs. - - The TERM consists of one or more newline or ; which terminate the - WORDs, and are optional when the 'in WORD' is omitted. - - More than one parameter NAME can appear before the list of WORDs. - If N NAMEs are given, then on each execution of the loop the next N - WORDs are assigned to the corresponding parameters. If there are - more NAMEs than remaining WORDs, the remaining parameters are each - set to the empty string. Execution of the loop ends when there is - no remaining WORD to assign to the first NAME. It is only possible - for in to appear as the first NAME in the list, else it will be - treated as marking the end of the list. - -for (( [EXPR1] ; [EXPR2] ; [EXPR3] )) do LIST done - The arithmetic expression EXPR1 is evaluated first (see *note - Arithmetic Evaluation::). The arithmetic expression EXPR2 is - repeatedly evaluated until it evaluates to zero and when non-zero, - LIST is executed and the arithmetic expression EXPR3 evaluated. If - any expression is omitted, then it behaves as if it evaluated to 1. - -while LIST do LIST done - Execute the do LIST as long as the while LIST returns a zero exit - status. - -until LIST do LIST done - Execute the do LIST as long as until LIST returns a nonzero exit - status. - -repeat WORD do LIST done - WORD is expanded and treated as an arithmetic expression, which - must evaluate to a number N. LIST is then executed N times. - - The repeat syntax is disabled by default when the shell starts in a - mode emulating another shell. It can be enabled with the command - 'enable -r repeat' - -case WORD in [ [(] PATTERN [ | PATTERN ] ... ) LIST (;;|;&|;|) ] ... esac - Execute the LIST associated with the first PATTERN that matches - WORD, if any. The form of the patterns is the same as that used - for filename generation. See *note Filename Generation::. - - Note further that, unless the SH_GLOB option is set, the whole - pattern with alternatives is treated by the shell as equivalent to - a group of patterns within parentheses, although white space may - appear about the parentheses and the vertical bar and will be - stripped from the pattern at those points. White space may appear - elsewhere in the pattern; this is not stripped. If the SH_GLOB - option is set, so that an opening parenthesis can be unambiguously - treated as part of the case syntax, the expression is parsed into - separate words and these are treated as strict alternatives (as in - other shells). - - If the LIST that is executed is terminated with ;& rather than ;;, - the following list is also executed. The rule for the terminator - of the following list ;;, ;& or ;| is applied unless the esac is - reached. - - If the LIST that is executed is terminated with ;| the shell - continues to scan the PATTERNs looking for the next match, - executing the corresponding LIST, and applying the rule for the - corresponding terminator ;;, ;& or ;|. Note that WORD is not - re-expanded; all applicable PATTERNs are tested with the same WORD. - -select NAME [ in WORD ... TERM ] do LIST done - where TERM is one or more newline or ; to terminate the WORDs. - Print the set of WORDs, each preceded by a number. If the in WORD - is omitted, use the positional parameters. The PROMPT3 prompt is - printed and a line is read from the line editor if the shell is - interactive and that is active, or else standard input. If this - line consists of the number of one of the listed WORDs, then the - parameter NAME is set to the WORD corresponding to this number. If - this line is empty, the selection list is printed again. - Otherwise, the value of the parameter NAME is set to null. The - contents of the line read from standard input is saved in the - parameter REPLY. LIST is executed for each selection until a break - or end-of-file is encountered. - -( LIST ) - Execute LIST in a subshell. Traps set by the trap builtin are - reset to their default values while executing LIST; an exception is - that ignored signals will continue to be ignored if the option - POSIXTRAPS is set. - -{ LIST } - Execute LIST. - -{ TRY-LIST } always { ALWAYS-LIST } - First execute TRY-LIST. Regardless of errors, or break or continue - commands encountered within TRY-LIST, execute ALWAYS-LIST. - Execution then continues from the result of the execution of - TRY-LIST; in other words, any error, or break or continue command - is treated in the normal way, as if ALWAYS-LIST were not present. - The two chunks of code are referred to as the 'try block' and the - 'always block'. - - Optional newlines or semicolons may appear after the always; note, - however, that they may _not_ appear between the preceding closing - brace and the always. - - An 'error' in this context is a condition such as a syntax error - which causes the shell to abort execution of the current function, - script, or list. Syntax errors encountered while the shell is - parsing the code do not cause the ALWAYS-LIST to be executed. For - example, an erroneously constructed if block in TRY-LIST would - cause the shell to abort during parsing, so that ALWAYS-LIST would - not be executed, while an erroneous substitution such as ${*foo*} - would cause a run-time error, after which ALWAYS-LIST would be - executed. - - An error condition can be tested and reset with the special integer - variable TRY_BLOCK_ERROR. Outside an ALWAYS-LIST the value is - irrelevant, but it is initialised to -1. Inside ALWAYS-LIST, the - value is 1 if an error occurred in the TRY-LIST, else 0. If - TRY_BLOCK_ERROR is set to 0 during the ALWAYS-LIST, the error - condition caused by the TRY-LIST is reset, and shell execution - continues normally after the end of ALWAYS-LIST. Altering the - value during the TRY-LIST is not useful (unless this forms part of - an enclosing always block). - - Regardless of TRY_BLOCK_ERROR, after the end of ALWAYS-LIST the - normal shell status $? is the value returned from TRY-LIST. This - will be non-zero if there was an error, even if TRY_BLOCK_ERROR was - set to zero. - - The following executes the given code, ignoring any errors it - causes. This is an alternative to the usual convention of - protecting code by executing it in a subshell. - - { - # code which may cause an error - } always { - # This code is executed regardless of the error. - (( TRY_BLOCK_ERROR = 0 )) - } - # The error condition has been reset. - - When a try block occurs outside of any function, a return or a exit - encountered in TRY-LIST does _not_ cause the execution of - ALWAYS-LIST. Instead, the shell exits immediately after any EXIT - trap has been executed. Otherwise, a return command encountered in - TRY-LIST will cause the execution of ALWAYS-LIST, just like break - and continue. - -function [ -T ] WORD ... [ () ] [ TERM ] { LIST } -WORD ... () [ TERM ] { LIST } -WORD ... () [ TERM ] COMMAND - where TERM is one or more newline or ;. Define a function which is - referenced by any one of WORD. Normally, only one WORD is - provided; multiple WORDs are usually only useful for setting traps. - The body of the function is the LIST between the { and }. See - *note Functions::. - - The options of function have the following meanings: - - -T - Enable tracing for this function, as though with functions -T. - See the documentation of the -f option to the typeset builtin, - in *note Shell Builtin Commands::. - - If the option SH_GLOB is set for compatibility with other shells, - then whitespace may appear between the left and right parentheses - when there is a single WORD; otherwise, the parentheses will be - treated as forming a globbing pattern in that case. - - In any of the forms above, a redirection may appear outside the - function body, for example - - func() { ... } 2>&1 - - The redirection is stored with the function and applied whenever - the function is executed. Any variables in the redirection are - expanded at the point the function is executed, but outside the - function scope. - -time [ PIPELINE ] - The PIPELINE is executed, and timing statistics are reported on the - standard error in the form specified by the TIMEFMT parameter. If - PIPELINE is omitted, print statistics about the shell process and - its children. - -[[ EXP ]] - Evaluates the conditional expression EXP and return a zero exit - status if it is true. See *note Conditional Expressions:: for a - description of EXP. - - -File: zsh.info, Node: Alternate Forms For Complex Commands, Next: Reserved Words, Prev: Complex Commands, Up: Shell Grammar - -6.4 Alternate Forms For Complex Commands -======================================== - -Many of zsh's complex commands have alternate forms. These are -non-standard and are likely not to be obvious even to seasoned shell -programmers; they should not be used anywhere that portability of shell -code is a concern. - -The short versions below only work if SUBLIST is of the form '{ LIST }' -or if the SHORT_LOOPS option is set. For the if, while and until -commands, in both these cases the test part of the loop must also be -suitably delimited, such as by '[[ ... ]]' or '(( ... ))', else the end -of the test will not be recognized. For the for, repeat, case and -select commands no such special form for the arguments is necessary, but -the other condition (the special form of SUBLIST or use of the -SHORT_LOOPS option) still applies. The SHORT_REPEAT option is available -to enable the short version only for the repeat command. - -if LIST { LIST } [ elif LIST { LIST } ] ... [ else { LIST } ] - An alternate form of if. The rules mean that - - if [[ -o ignorebraces ]] { - print yes - } - - works, but - - if true { # Does not work! - print yes - } - - does _not_, since the test is not suitably delimited. - -if LIST SUBLIST - A short form of the alternate if. The same limitations on the form - of LIST apply as for the previous form. - -for NAME ... ( WORD ... ) SUBLIST - A short form of for. - -for NAME ... [ in WORD ... ] TERM SUBLIST - where TERM is at least one newline or ;. Another short form of - for. - -for (( [EXPR1] ; [EXPR2] ; [EXPR3] )) SUBLIST - A short form of the arithmetic for command. - -foreach NAME ... ( WORD ... ) LIST end - Another form of for. - -while LIST { LIST } - An alternative form of while. Note the limitations on the form of - LIST mentioned above. - -until LIST { LIST } - An alternative form of until. Note the limitations on the form of - LIST mentioned above. - -repeat WORD SUBLIST - This is a short form of repeat. - -case WORD { [ [(] PATTERN [ | PATTERN ] ... ) LIST (;;|;&|;|) ] ... } - An alternative form of case. - -select NAME [ in WORD ... TERM ] SUBLIST - where TERM is at least one newline or ;. A short form of select. - -function WORD ... [ () ] [ TERM ] SUBLIST - This is a short form of function. - - -File: zsh.info, Node: Reserved Words, Next: Errors, Prev: Alternate Forms For Complex Commands, Up: Shell Grammar - -6.5 Reserved Words -================== - -The following words are recognized as reserved words when used as the -first word of a command unless quoted or disabled using disable -r: - -do done esac then elif else fi for case if while function repeat time -until select coproc nocorrect foreach end ! [[ { } declare export float -integer local readonly typeset - -Additionally, '}' is recognized in any position if neither the -IGNORE_BRACES option nor the IGNORE_CLOSE_BRACES option is set. - - -File: zsh.info, Node: Errors, Next: Comments, Prev: Reserved Words, Up: Shell Grammar - -6.6 Errors -========== - -Certain errors are treated as fatal by the shell: in an interactive -shell, they cause control to return to the command line, and in a -non-interactive shell they cause the shell to be aborted. In older -versions of zsh, a non-interactive shell running a script would not -abort completely, but would resume execution at the next command to be -read from the script, skipping the remainder of any functions or shell -constructs such as loops or conditions; this somewhat illogical -behaviour can be recovered by setting the option CONTINUE_ON_ERROR. - -Fatal errors found in non-interactive shells include: - - • Failure to parse shell options passed when invoking the shell - • Failure to change options with the set builtin - • Parse errors of all sorts, including failures to parse mathematical - expressions - • Failures to set or modify variable behaviour with typeset, local, - declare, export, integer, float - • Execution of incorrectly positioned loop control structures - (continue, break) - • Attempts to use regular expression with no regular expression - module available - • Disallowed operations when the RESTRICTED options is set - • Failure to create a pipe needed for a pipeline - • Failure to create a multio - • Failure to autoload a module needed for a declared shell feature - • Errors creating command or process substitutions - • Syntax errors in glob qualifiers - • File generation errors where not caught by the option BAD_PATTERN - • All bad patterns used for matching within case statements - • File generation failures where not caused by NO_MATCH or similar - options - • All file generation errors where the pattern was used to create a - multio - • Memory errors where detected by the shell - • Invalid subscripts to shell variables - • Attempts to assign read-only variables - • Logical errors with variables such as assignment to the wrong type - • Use of invalid variable names - • Errors in variable substitution syntax - • Failure to convert characters in $'...' expressions - -If the POSIX_BUILTINS option is set, more errors associated with shell -builtin commands are treated as fatal, as specified by the POSIX -standard. - - -File: zsh.info, Node: Comments, Next: Aliasing, Prev: Errors, Up: Shell Grammar - -6.7 Comments -============ - -In non-interactive shells, or in interactive shells with the -INTERACTIVE_COMMENTS option set, a word beginning with the third -character of the histchars parameter ('#' by default) causes that word -and all the following characters up to a newline to be ignored. - - -File: zsh.info, Node: Aliasing, Next: Quoting, Prev: Comments, Up: Shell Grammar - -6.8 Aliasing -============ - -Every eligible _word_ in the shell input is checked to see if there is -an alias defined for it. If so, it is replaced by the text of the alias -if it is in command position (if it could be the first word of a simple -command), or if the alias is global. If the replacement text ends with -a space, the next word in the shell input is always eligible for -purposes of alias expansion. - -It is an error for the function name, WORD, in the sh-compatible -function definition syntax 'WORD () ...' to be a word that resulted -from alias expansion, unless the ALIAS_FUNC_DEF option is set. - -An alias is defined using the alias builtin; global aliases may be -defined using the -g option to that builtin. - -A _word_ is defined as: - - • Any plain string or glob pattern - • Any quoted string, using any quoting method (note that the quotes - must be part of the alias definition for this to be eligible) - • Any parameter reference or command substitution - • Any series of the foregoing, concatenated without whitespace or - other tokens between them - • Any reserved word (case, do, else, etc.) - • With global aliasing, any command separator, any redirection - operator, and '(' or ')' when not part of a glob pattern - -Alias expansion is done on the shell input before any other expansion -except history expansion. Therefore, if an alias is defined for the -word foo, alias expansion may be avoided by quoting part of the word, -e.g. \foo. Any form of quoting works, although there is nothing to -prevent an alias being defined for the quoted form such as \foo as well. - -In particular, note that quoting must be used when using unalias to -remove global aliases: - - % alias -g foo=bar - % unalias foo - unalias: no such hash table element: bar - % unalias \foo - % - -When POSIX_ALIASES is set, only plain unquoted strings are eligible for -aliasing. The alias builtin does not reject ineligible aliases, but -they are not expanded. - -For use with completion, which would remove an initial backslash -followed by a character that isn't special, it may be more convenient to -quote the word by starting with a single quote, i.e. 'foo; completion -will automatically add the trailing single quote. - -6.8.1 Alias difficulties ------------------------- - -Although aliases can be used in ways that bend normal shell syntax, not -every string of non-white-space characters can be used as an alias. - -Any set of characters not listed as a word above is not a word, hence no -attempt is made to expand it as an alias, no matter how it is defined -(i.e. via the builtin or the special parameter aliases described in -*note The zsh/parameter Module::). However, as noted in the case of -POSIX_ALIASES above, the shell does not attempt to deduce whether the -string corresponds to a word at the time the alias is created. - -For example, an expression containing an = at the start of a command -line is an assignment and cannot be expanded as an alias; a lone = is -not an assignment but can only be set as an alias using the parameter, -as otherwise the = is taken part of the syntax of the builtin command. - -It is not presently possible to alias the '((' token that introduces -arithmetic expressions, because until a full statement has been parsed, -it cannot be distinguished from two consecutive '(' tokens introducing -nested subshells. Also, if a separator such as && is aliased, \&& turns -into the two tokens \& and &, each of which may have been aliased -separately. Similarly for \<<, \>|, etc. - -There is a commonly encountered problem with aliases illustrated by the -following code: - - alias echobar='echo bar'; echobar - -This prints a message that the command echobar could not be found. This -happens because aliases are expanded when the code is read in; the -entire line is read in one go, so that when echobar is executed it is -too late to expand the newly defined alias. This is often a problem in -shell scripts, functions, and code executed with 'source' or '.'. -Consequently, use of functions rather than aliases is recommended in -non-interactive code. - - -File: zsh.info, Node: Quoting, Prev: Aliasing, Up: Shell Grammar - -6.9 Quoting -=========== - -A character may be _quoted_ (that is, made to stand for itself) by -preceding it with a '\'. '\' followed by a newline is ignored. - -A string enclosed between '$'' and ''' is processed the same way as the -string arguments of the print builtin, and the resulting string is -considered to be entirely quoted. A literal ''' character can be -included in the string by using the '\'' escape. - -All characters enclosed between a pair of single quotes ('') that is not -preceded by a '$' are quoted. A single quote cannot appear within -single quotes unless the option RC_QUOTES is set, in which case a pair -of single quotes are turned into a single quote. For example, - - print '''' - -outputs nothing apart from a newline if RC_QUOTES is not set, but one -single quote if it is set. - -Inside double quotes (""), parameter and command substitution occur, and -'\' quotes the characters '\', '`', '"', '$', and the first character of -$histchars (default '!'). - - -File: zsh.info, Node: Redirection, Next: Command Execution, Prev: Shell Grammar, Up: Top - -7 Redirection -************* - -If a command is followed by & and job control is not active, then the -default standard input for the command is the empty file /dev/null. -Otherwise, the environment for the execution of a command contains the -file descriptors of the invoking shell as modified by input/output -specifications. - -The following may appear anywhere in a simple command or may precede or -follow a complex command. Expansion occurs before WORD or DIGIT is used -except as noted below. If the result of substitution on WORD produces -more than one filename, redirection occurs for each separate filename in -turn. - -< WORD - Open file WORD for reading as standard input. It is an error to - open a file in this fashion if it does not exist. - -<> WORD - Open file WORD for reading and writing as standard input. If the - file does not exist then it is created. - -> WORD - Open file WORD for writing as standard output. If the file does - not exist then it is created. If the file exists, and the CLOBBER - option is unset, this causes an error; otherwise, it is truncated - to zero length. - ->| WORD ->! WORD - Same as >, except that the file is truncated to zero length if it - exists, regardless of CLOBBER. - ->> WORD - Open file WORD for writing in append mode as standard output. If - the file does not exist, and the CLOBBER and APPEND_CREATE options - are both unset, this causes an error; otherwise, the file is - created. - ->>| WORD ->>! WORD - Same as >>, except that the file is created if it does not exist, - regardless of CLOBBER and APPEND_CREATE. - -<<[-] WORD - The shell input is read up to a line that is the same as WORD, or - to an end-of-file. No parameter expansion, command substitution or - filename generation is performed on WORD. The resulting document, - called a _here-document_, becomes the standard input. - - If any character of WORD is quoted with single or double quotes or - a '\', no interpretation is placed upon the characters of the - document. Otherwise, parameter and command substitution occurs, - '\' followed by a newline is removed, and '\' must be used to quote - the characters '\', '$', '`' and the first character of WORD. - - Note that WORD itself does not undergo shell expansion. Backquotes - in WORD do not have their usual effect; instead they behave - similarly to double quotes, except that the backquotes themselves - are passed through unchanged. (This information is given for - completeness and it is not recommended that backquotes be used.) - Quotes in the form $'...' have their standard effect of expanding - backslashed references to special characters. - - If <<- is used, then all leading tabs are stripped from WORD and - from the document. - -<<< WORD - Perform shell expansion on WORD and pass the result to standard - input. This is known as a _here-string_. Compare the use of WORD - in here-documents above, where WORD does not undergo shell - expansion. The result will have a trailing newline after it. - -<& NUMBER ->& NUMBER - The standard input/output is duplicated from file descriptor NUMBER - (see dup2(2)). - -<& - ->& - - Close the standard input/output. - -<& p ->& p - The input/output from/to the coprocess is moved to the standard - input/output. - ->& WORD -&> WORD - (Except where '>& WORD' matches one of the above syntaxes; '&>' can - always be used to avoid this ambiguity.) Redirects both standard - output and standard error (file descriptor 2) in the manner of '> - WORD'. Note that this does _not_ have the same effect as '> WORD - 2>&1' in the presence of multios (see the section below). - ->&| WORD ->&! WORD -&>| WORD -&>! WORD - Redirects both standard output and standard error (file descriptor - 2) in the manner of '>| WORD'. - ->>& WORD -&>> WORD - Redirects both standard output and standard error (file descriptor - 2) in the manner of '>> WORD'. - ->>&| WORD ->>&! WORD -&>>| WORD -&>>! WORD - Redirects both standard output and standard error (file descriptor - 2) in the manner of '>>| WORD'. - -If one of the above is preceded by a digit, then the file descriptor -referred to is that specified by the digit instead of the default 0 or -1. The order in which redirections are specified is significant. The -shell evaluates each redirection in terms of the (_file descriptor_, -_file_) association at the time of evaluation. For example: - - ... 1>FNAME 2>&1 - -first associates file descriptor 1 with file FNAME. It then associates -file descriptor 2 with the file associated with file descriptor 1 (that -is, FNAME). If the order of redirections were reversed, file descriptor -2 would be associated with the terminal (assuming file descriptor 1 had -been) and then file descriptor 1 would be associated with file FNAME. - -The '|&' command separator described in *note Simple Commands & -Pipelines:: is a shorthand for '2>&1 |'. - -The various forms of process substitution, '<(LIST)', and '=(LIST)' for -input and '>(LIST)' for output, are often used together with -redirection. For example, if WORD in an output redirection is of the -form '>(LIST)' then the output is piped to the command represented by -LIST. See *note Process Substitution::. - -7.1 Opening file descriptors using parameters -============================================= - -When the shell is parsing arguments to a command, and the shell option -IGNORE_BRACES is not set, a different form of redirection is allowed: -instead of a digit before the operator there is a valid shell identifier -enclosed in braces. The shell will open a new file descriptor that is -guaranteed to be at least 10 and set the parameter named by the -identifier to the file descriptor opened. No whitespace is allowed -between the closing brace and the redirection character. For example: - - ... {myfd}>&1 - -This opens a new file descriptor that is a duplicate of file descriptor -1 and sets the parameter myfd to the number of the file descriptor, -which will be at least 10. The new file descriptor can be written to -using the syntax >&$myfd. The file descriptor remains open in subshells -and forked external executables. - -The syntax {VARID}>&-, for example {myfd}>&-, may be used to close a -file descriptor opened in this fashion. Note that the parameter given -by VARID must previously be set to a file descriptor in this case. - -It is an error to open or close a file descriptor in this fashion when -the parameter is readonly. However, it is not an error to read or write -a file descriptor using <&$PARAM or >&$PARAM if PARAM is readonly. - -If the option CLOBBER is unset, it is an error to open a file descriptor -using a parameter that is already set to an open file descriptor -previously allocated by this mechanism. Unsetting the parameter before -using it for allocating a file descriptor avoids the error. - -Note that this mechanism merely allocates or closes a file descriptor; -it does not perform any redirections from or to it. It is usually -convenient to allocate a file descriptor prior to use as an argument to -exec. The syntax does not in any case work when used around complex -commands such as parenthesised subshells or loops, where the opening -brace is interpreted as part of a command list to be executed in the -current shell. - -The following shows a typical sequence of allocation, use, and closing -of a file descriptor: - - integer myfd - exec {myfd}>~/logs/mylogfile.txt - print This is a log message. >&$myfd - exec {myfd}>&- - -Note that the expansion of the variable in the expression >&$myfd occurs -at the point the redirection is opened. This is after the expansion of -command arguments and after any redirections to the left on the command -line have been processed. - -7.2 Multios -=========== - -If the user tries to open a file descriptor for writing more than once, -the shell opens the file descriptor as a pipe to a process that copies -its input to all the specified outputs, similar to ‘tee’, provided the -MULTIOS option is set, as it is by default. Thus: - - date >foo >bar - -writes the date to two files, named 'foo' and 'bar'. Note that a pipe -is an implicit redirection; thus - - date >foo | cat - -writes the date to the file 'foo', and also pipes it to cat. - -Note that the shell opens all the files to be used in the multio process -immediately, not at the point they are about to be written. - -Note also that redirections are always expanded in order. This happens -regardless of the setting of the MULTIOS option, but with the option in -effect there are additional consequences. For example, the meaning of -the expression >&1 will change after a previous redirection: - - date >&1 >output - -In the case above, the >&1 refers to the standard output at the start of -the line; the result is similar to the tee command. However, consider: - - date >output >&1 - -As redirections are evaluated in order, when the >&1 is encountered the -standard output is set to the file output and another copy of the output -is therefore sent to that file. This is unlikely to be what is -intended. - -If the MULTIOS option is set, the word after a redirection operator is -also subjected to filename generation (globbing). Thus - - : > * - -will truncate all files in the current directory, assuming there's at -least one. (Without the MULTIOS option, it would create an empty file -called '*'.) Similarly, you can do - - echo exit 0 >> *.sh - -If the user tries to open a file descriptor for reading more than once, -the shell opens the file descriptor as a pipe to a process that copies -all the specified inputs to its output in the order specified, provided -the MULTIOS option is set. It should be noted that each file is opened -immediately, not at the point where it is about to be read: this -behaviour differs from cat, so if strictly standard behaviour is needed, -cat should be used instead. - -Thus - - sort <foo <fubar - -or even - - sort <f{oo,ubar} - -is equivalent to 'cat foo fubar | sort'. - -Expansion of the redirection argument occurs at the point the -redirection is opened, at the point described above for the expansion of -the variable in >&$myfd. - -Note that a pipe is an implicit redirection; thus - - cat bar | sort <foo - -is equivalent to 'cat bar foo | sort' (note the order of the inputs). - -If the MULTIOS option is _un_set, each redirection replaces the previous -redirection for that file descriptor. However, all files redirected to -are actually opened, so - - echo Hello > bar > baz - -when MULTIOS is unset will truncate 'bar', and write 'Hello' into 'baz'. - -There is a problem when an output multio is attached to an external -program. A simple example shows this: - - cat file >file1 >file2 - cat file1 file2 - -Here, it is possible that the second 'cat' will not display the full -contents of file1 and file2 (i.e. the original contents of file -repeated twice). - -The reason for this is that the multios are spawned after the cat -process is forked from the parent shell, so the parent shell does not -wait for the multios to finish writing data. This means the command as -shown can exit before file1 and file2 are completely written. As a -workaround, it is possible to run the cat process as part of a job in -the current shell: - - { cat file } >file >file2 - -Here, the {...} job will pause to wait for both files to be written. - -7.3 Redirections with no command -================================ - -When a simple command consists of one or more redirection operators and -zero or more parameter assignments, but no command name, zsh can behave -in several ways. - -If the parameter NULLCMD is not set or the option CSH_NULLCMD is set, an -error is caused. This is the ‘csh’ behavior and CSH_NULLCMD is set by -default when emulating ‘csh’. - -If the option SH_NULLCMD is set, the builtin ':' is inserted as a -command with the given redirections. This is the default when emulating -‘sh’ or ‘ksh’. - -Otherwise, if the parameter NULLCMD is set, its value will be used as a -command with the given redirections. If both NULLCMD and READNULLCMD -are set, then the value of the latter will be used instead of that of -the former when the redirection is an input. The default for NULLCMD is -'cat' and for READNULLCMD is 'more'. Thus - - < file - -shows the contents of file on standard output, with paging if that is a -terminal. NULLCMD and READNULLCMD may refer to shell functions. - - -File: zsh.info, Node: Command Execution, Next: Functions, Prev: Redirection, Up: Top - -8 Command Execution -******************* - -If a command name contains no slashes, the shell attempts to locate it. -If there exists a shell function by that name, the function is invoked -as described in *note Functions::. If there exists a shell builtin by -that name, the builtin is invoked. - -Otherwise, the shell searches each element of $path for a directory -containing an executable file by that name. - -If execution fails: an error message is printed, and one of the -following values is returned. - -127 - The search was unsuccessful. The error message is 'command not - found: CMD'. -126 - The executable file has insufficient permissions, is a directory or - special file, or is not a script and is in a format unrecognized by - the operating system. The exact conditions and error message are - operating system-dependent; see execve(2). - -If execution fails because the file is not in executable format, and the -file is not a directory, it is assumed to be a shell script. /bin/sh is -spawned to execute it. If the program is a file beginning with '#!', -the remainder of the first line specifies an interpreter for the -program. The shell will execute the specified interpreter on operating -systems that do not handle this executable format in the kernel. - -If no external command is found but a function command_not_found_handler -exists the shell executes this function with all command line arguments. -The return status of the function becomes the status of the command. -Note that the handler is executed in a subshell forked to execute an -external command, hence changes to directories, shell parameters, etc. -have no effect on the main shell. - - -File: zsh.info, Node: Functions, Next: Jobs & Signals, Prev: Command Execution, Up: Top - -9 Functions -*********** - -Shell functions are defined with the function reserved word or the -special syntax 'FUNCNAME ()'. Shell functions are read in and stored -internally. Alias names are resolved when the function is read. -Functions are executed like commands with the arguments passed as -positional parameters. (See *note Command Execution::.) - -Functions execute in the same process as the caller and share all files -and present working directory with the caller. A trap on EXIT set -inside a function is executed after the function completes in the -environment of the caller. - -The return builtin is used to return from function calls. - -Function identifiers can be listed with the functions builtin. -Functions can be undefined with the unfunction builtin. - -9.1 Autoloading Functions -========================= - -A function can be marked as _undefined_ using the autoload builtin (or -'functions -u' or 'typeset -fu'). Such a function has no body. When -the function is first executed, the shell searches for its definition -using the elements of the fpath variable. Thus to define functions for -autoloading, a typical sequence is: - - fpath=(~/myfuncs $fpath) - autoload myfunc1 myfunc2 ... - -The usual alias expansion during reading will be suppressed if the -autoload builtin or its equivalent is given the option -U. This is -recommended for the use of functions supplied with the zsh distribution. -Note that for functions precompiled with the zcompile builtin command -the flag -U must be provided when the .zwc file is created, as the -corresponding information is compiled into the latter. - -For each ELEMENT in fpath, the shell looks for three possible files, the -newest of which is used to load the definition for the function: - -ELEMENT.zwc - A file created with the zcompile builtin command, which is expected - to contain the definitions for all functions in the directory named - ELEMENT. The file is treated in the same manner as a directory - containing files for functions and is searched for the definition - of the function. If the definition is not found, the search for a - definition proceeds with the other two possibilities described - below. - - If ELEMENT already includes a .zwc extension (i.e. the extension - was explicitly given by the user), ELEMENT is searched for the - definition of the function without comparing its age to that of - other files; in fact, there does not need to be any directory named - ELEMENT without the suffix. Thus including an element such as - '/usr/local/funcs.zwc' in fpath will speed up the search for - functions, with the disadvantage that functions included must be - explicitly recompiled by hand before the shell notices any changes. - -ELEMENT/FUNCTION.zwc - A file created with zcompile, which is expected to contain the - definition for FUNCTION. It may include other function definitions - as well, but those are neither loaded nor executed; a file found in - this way is searched _only_ for the definition of FUNCTION. - -ELEMENT/FUNCTION - A file of zsh command text, taken to be the definition for - FUNCTION. - -In summary, the order of searching is, first, in the _parents of_ -directories in fpath for the newer of either a compiled directory or a -directory in fpath; second, if more than one of these contains a -definition for the function that is sought, the leftmost in the fpath is -chosen; and third, within a directory, the newer of either a compiled -function or an ordinary function definition is used. - -If the KSH_AUTOLOAD option is set, or the file contains only a simple -definition of the function, the file's contents will be executed. This -will normally define the function in question, but may also perform -initialization, which is executed in the context of the function -execution, and may therefore define local parameters. It is an error if -the function is not defined by loading the file. - -Otherwise, the function body (with no surrounding 'FUNCNAME() {...}') is -taken to be the complete contents of the file. This form allows the -file to be used directly as an executable shell script. If processing -of the file results in the function being re-defined, the function -itself is not re-executed. To force the shell to perform initialization -and then call the function defined, the file should contain -initialization code (which will be executed then discarded) in addition -to a complete function definition (which will be retained for subsequent -calls to the function), and a call to the shell function, including any -arguments, at the end. - -For example, suppose the autoload file func contains - - func() { print This is func; } - print func is initialized - -then 'func; func' with KSH_AUTOLOAD set will produce both messages on -the first call, but only the message 'This is func' on the second and -subsequent calls. Without KSH_AUTOLOAD set, it will produce the -initialization message on the first call, and the other message on the -second and subsequent calls. - -It is also possible to create a function that is not marked as -autoloaded, but which loads its own definition by searching fpath, by -using 'autoload -X' within a shell function. For example, the following -are equivalent: - - myfunc() { - autoload -X - } - myfunc args... - -and - - unfunction myfunc # if myfunc was defined - autoload myfunc - myfunc args... - -In fact, the functions command outputs 'builtin autoload -X' as the body -of an autoloaded function. This is done so that - - eval "$(functions)" - -produces a reasonable result. A true autoloaded function can be -identified by the presence of the comment '# undefined' in the body, -because all comments are discarded from defined functions. - -To load the definition of an autoloaded function myfunc without -executing myfunc, use: - - autoload +X myfunc - -9.2 Anonymous Functions -======================= - -If no name is given for a function, it is 'anonymous' and is handled -specially. Either form of function definition may be used: a '()' with -no preceding name, or a 'function' with an immediately following open -brace. The function is executed immediately at the point of definition -and is not stored for future use. The function name is set to '(anon)'. - -Arguments to the function may be specified as words following the -closing brace defining the function, hence if there are none no -arguments (other than $0) are set. This is a difference from the way -other functions are parsed: normal function definitions may be followed -by certain keywords such as 'else' or 'fi', which will be treated as -arguments to anonymous functions, so that a newline or semicolon is -needed to force keyword interpretation. - -Note also that the argument list of any enclosing script or function is -hidden (as would be the case for any other function called at this -point). - -Redirections may be applied to the anonymous function in the same manner -as to a current-shell structure enclosed in braces. The main use of -anonymous functions is to provide a scope for local variables. This is -particularly convenient in start-up files as these do not provide their -own local variable scope. - -For example, - - variable=outside - function { - local variable=inside - print "I am $variable with arguments $*" - } this and that - print "I am $variable" - -outputs the following: - - I am inside with arguments this and that - I am outside - -Note that function definitions with arguments that expand to nothing, -for example 'name=; function $name { ... }', are not treated as -anonymous functions. Instead, they are treated as normal function -definitions where the definition is silently discarded. - -9.3 Special Functions -===================== - -Certain functions, if defined, have special meaning to the shell. - -9.3.1 Hook Functions --------------------- - -For the functions below, it is possible to define an array that has the -same name as the function with '_functions' appended. Any element in -such an array is taken as the name of a function to execute; it is -executed in the same context and with the same arguments and same -initial value of $? as the basic function. For example, if -$chpwd_functions is an array containing the values 'mychpwd', -'chpwd_save_dirstack', then the shell attempts to execute the functions -'chpwd', 'mychpwd' and 'chpwd_save_dirstack', in that order. Any -function that does not exist is silently ignored. A function found by -this mechanism is referred to elsewhere as a _hook function_. An error -in any function causes subsequent functions not to be run. Note further -that an error in a precmd hook causes an immediately following periodic -function not to run (though it may run at the next opportunity). - -chpwd - Executed whenever the current working directory is changed. - -periodic - If the parameter PERIOD is set, this function is executed every - $PERIOD seconds, just before a prompt. Note that if multiple - functions are defined using the array periodic_functions only one - period is applied to the complete set of functions, and the - scheduled time is not reset if the list of functions is altered. - Hence the set of functions is always called together. - -precmd - Executed before each prompt. Note that precommand functions are - not re-executed simply because the command line is redrawn, as - happens, for example, when a notification about an exiting job is - displayed. - -preexec - Executed just after a command has been read and is about to be - executed. If the history mechanism is active (regardless of - whether the line was discarded from the history buffer), the string - that the user typed is passed as the first argument, otherwise it - is an empty string. The actual command that will be executed - (including expanded aliases) is passed in two different forms: the - second argument is a single-line, size-limited version of the - command (with things like function bodies elided); the third - argument contains the full text that is being executed. - -zshaddhistory - Executed when a history line has been read interactively, but - before it is executed. The sole argument is the complete history - line (so that any terminating newline will still be present). - - If any of the hook functions returns status 1 (or any non-zero - value other than 2, though this is not guaranteed for future - versions of the shell) the history line will not be saved, although - it lingers in the history until the next line is executed, allowing - you to reuse or edit it immediately. - - If any of the hook functions returns status 2 the history line will - be saved on the internal history list, but not written to the - history file. In case of a conflict, the first non-zero status - value is taken. - - A hook function may call 'fc -p ...' to switch the history context - so that the history is saved in a different file from that in the - global HISTFILE parameter. This is handled specially: the history - context is automatically restored after the processing of the - history line is finished. - - The following example function works with one of the options - INC_APPEND_HISTORY or SHARE_HISTORY set, in order that the line is - written out immediately after the history entry is added. It first - adds the history line to the normal history with the newline - stripped, which is usually the correct behaviour. Then it switches - the history context so that the line will be written to a history - file in the current directory. - - zshaddhistory() { - print -sr -- ${1%%$'\n'} - fc -p .zsh_local_history - } - -zshexit - Executed at the point where the main shell is about to exit - normally. This is not called by exiting subshells, nor when the - exec precommand modifier is used before an external command. Also, - unlike TRAPEXIT, it is not called when functions exit. - -9.3.2 Trap Functions --------------------- - -The functions below are treated specially but do not have corresponding -hook arrays. - -TRAPNAL - If defined and non-null, this function will be executed whenever - the shell catches a signal SIGNAL, where NAL is a signal name as - specified for the kill builtin. The signal number will be passed - as the first parameter to the function. - - If a function of this form is defined and null, the shell and - processes spawned by it will ignore SIGNAL. - - The return status from the function is handled specially. If it is - zero, the signal is assumed to have been handled, and execution - continues normally. Otherwise, the shell will behave as - interrupted except that the return status of the trap is retained. - - Programs terminated by uncaught signals typically return the status - 128 plus the signal number. Hence the following causes the handler - for SIGINT to print a message, then mimic the usual effect of the - signal. - - TRAPINT() { - print "Caught SIGINT, aborting." - return $(( 128 + $1 )) - } - - The functions TRAPZERR, TRAPDEBUG and TRAPEXIT are never executed - inside other traps. - -TRAPDEBUG - If the option DEBUG_BEFORE_CMD is set (as it is by default), - executed before each command; otherwise executed after each - command. See the description of the trap builtin in *note Shell - Builtin Commands:: for details of additional features provided in - debug traps. - -TRAPEXIT - Executed when the shell exits, or when the current function exits - if defined inside a function. The value of $? at the start of - execution is the exit status of the shell or the return status of - the function exiting. - -TRAPZERR - Executed whenever a command has a non-zero exit status. However, - the function is not executed if the command occurred in a sublist - followed by '&&' or '||'; only the final command in a sublist of - this type causes the trap to be executed. The function TRAPERR - acts the same as TRAPZERR on systems where there is no SIGERR (this - is the usual case). - -The functions beginning 'TRAP' may alternatively be defined with the -trap builtin: this may be preferable for some uses. Setting a trap with -one form removes any trap of the other form for the same signal; -removing a trap in either form removes all traps for the same signal. -The forms - - TRAPNAL() { - # code - } - -('function traps') and - - trap ' - # code - ' NAL - -('list traps') are equivalent in most ways, the exceptions being the -following: - - • Function traps have all the properties of normal functions, - appearing in the list of functions and being called with their own - function context rather than the context where the trap was - triggered. - • The return status from function traps is special, whereas a return - from a list trap causes the surrounding context to return with the - given status. - • Function traps are not reset within subshells, in accordance with - zsh behaviour; list traps are reset, in accordance with POSIX - behaviour. - - -File: zsh.info, Node: Jobs & Signals, Next: Arithmetic Evaluation, Prev: Functions, Up: Top - -10 Jobs & Signals -***************** - -10.1 Jobs -========= - -If the MONITOR option is set, an interactive shell associates a _job_ -with each pipeline. It keeps a table of current jobs, printed by the -jobs command, and assigns them small integer numbers. When a job is -started asynchronously with '&', the shell prints a line to standard -error which looks like: - - [1] 1234 - -indicating that the job which was started asynchronously was job number -1 and had one (top-level) process, whose process ID was 1234. - -If a job is started with '&|' or '&!', then that job is immediately -disowned. After startup, it does not have a place in the job table, and -is not subject to the job control features described here. - -If you are running a job and wish to do something else you may hit the -key ^Z (control-Z) which sends a TSTP signal to the current job: this -key may be redefined by the susp option of the external stty command. -The shell will then normally indicate that the job has been 'suspended', -and print another prompt. You can then manipulate the state of this -job, putting it in the background with the bg command, or run some other -commands and then eventually bring the job back into the foreground with -the foreground command fg. A ^Z takes effect immediately and is like an -interrupt in that pending output and unread input are discarded when it -is typed. - -A job being run in the background will suspend if it tries to read from -the terminal. - -Note that if the job running in the foreground is a shell function, then -suspending it will have the effect of causing the shell to fork. This -is necessary to separate the function's state from that of the parent -shell performing the job control, so that the latter can return to the -command line prompt. As a result, even if fg is used to continue the -job the function will no longer be part of the parent shell, and any -variables set by the function will not be visible in the parent shell. -Thus the behaviour is different from the case where the function was -never suspended. Zsh is different from many other shells in this -regard. - -One additional side effect is that use of disown with a job created by -suspending shell code in this fashion is delayed: the job can only be -disowned once any process started from the parent shell has terminated. -At that point, the disowned job disappears silently from the job list. - -The same behaviour is found when the shell is executing code as the -right hand side of a pipeline or any complex shell construct such as if, -for, etc., in order that the entire block of code can be managed as a -single job. Background jobs are normally allowed to produce output, but -this can be disabled by giving the command 'stty tostop'. If you set -this tty option, then background jobs will suspend when they try to -produce output like they do when they try to read input. - -When a command is suspended and continued later with the fg or wait -builtins, zsh restores tty modes that were in effect when it was -suspended. This (intentionally) does not apply if the command is -continued via 'kill -CONT', nor when it is continued with bg. - -There are several ways to refer to jobs in the shell. A job can be -referred to by the process ID of any process of the job or by one of the -following: - -%NUMBER - The job with the given number. -%STRING - The last job whose command line begins with STRING. -%?STRING - The last job whose command line contains STRING. -%% - Current job. -%+ - Equivalent to '%%'. -%- - Previous job. - -The shell learns immediately whenever a process changes state. It -normally informs you whenever a job becomes blocked so that no further -progress is possible. If the NOTIFY option is not set, it waits until -just before it prints a prompt before it informs you. All such -notifications are sent directly to the terminal, not to the standard -output or standard error. - -When the monitor mode is on, each background job that completes triggers -any trap set for CHLD. - -When you try to leave the shell while jobs are running or suspended, you -will be warned that 'You have suspended (running) jobs'. You may use -the jobs command to see what they are. If you do this or immediately -try to exit again, the shell will not warn you a second time; the -suspended jobs will be terminated, and the running jobs will be sent a -SIGHUP signal, if the HUP option is set. - -To avoid having the shell terminate the running jobs, either use the -nohup(1) command or the disown builtin. - -10.2 Signals -============ - -The INT and QUIT signals for an invoked command are ignored if the -command is followed by '&' and the MONITOR option is not active. The -shell itself always ignores the QUIT signal. Otherwise, signals have -the values inherited by the shell from its parent (but see the TRAPNAL -special functions in *note Functions::). - -Certain jobs are run asynchronously by the shell other than those -explicitly put into the background; even in cases where the shell would -usually wait for such jobs, an explicit exit command or exit due to the -option ERR_EXIT will cause the shell to exit without waiting. Examples -of such asynchronous jobs are process substitution, see *note Process -Substitution::, and the handler processes for multios, see the section -_Multios_ in *note Redirection::. - - -File: zsh.info, Node: Arithmetic Evaluation, Next: Conditional Expressions, Prev: Jobs & Signals, Up: Top - -11 Arithmetic Evaluation -************************ - -The shell can perform integer and floating point arithmetic, either -using the builtin let, or via a substitution of the form $((...)). For -integers, the shell is usually compiled to use 8-byte precision where -this is available, otherwise precision is 4 bytes. This can be tested, -for example, by giving the command 'print - $(( 12345678901 ))'; if the -number appears unchanged, the precision is at least 8 bytes. Floating -point arithmetic always uses the 'double' type with whatever -corresponding precision is provided by the compiler and the library. - -The let builtin command takes arithmetic expressions as arguments; each -is evaluated separately. Since many of the arithmetic operators, as -well as spaces, require quoting, an alternative form is provided: for -any command which begins with a '((', all the characters until a -matching '))' are treated as a double-quoted expression and arithmetic -expansion performed as for an argument of let. More precisely, -'((...))' is equivalent to 'let "..."'. The return status is 0 if the -arithmetic value of the expression is non-zero, 1 if it is zero, and 2 -if an error occurred. - -For example, the following statement - - (( val = 2 + 1 )) - -is equivalent to - - let "val = 2 + 1" - -both assigning the value 3 to the shell variable val and returning a -zero status. - -Integers can be in bases other than 10. A leading '0x' or '0X' denotes -hexadecimal and a leading '0b' or '0B' binary. Integers may also be of -the form 'BASE#N', where BASE is a decimal number between two and -thirty-six representing the arithmetic base and N is a number in that -base (for example, '16#ff' is 255 in hexadecimal). The BASE# may also -be omitted, in which case base 10 is used. For backwards compatibility -the form '[BASE]N' is also accepted. - -An integer expression or a base given in the form 'BASE#N' may contain -underscores ('_') after the leading digit for visual guidance; these are -ignored in computation. Examples are 1_000_000 or 0xffff_ffff which are -equivalent to 1000000 and 0xffffffff respectively. - -It is also possible to specify a base to be used for output in the form -'[#BASE]', for example '[#16]'. This is used when outputting -arithmetical substitutions or when assigning to scalar parameters, but -an explicitly defined integer or floating point parameter will not be -affected. If an integer variable is implicitly defined by an arithmetic -expression, any base specified in this way will be set as the variable's -output arithmetic base as if the option '-i BASE' to the typeset builtin -had been used. The expression has no precedence and if it occurs more -than once in a mathematical expression, the last encountered is used. -For clarity it is recommended that it appear at the beginning of an -expression. As an example: - - typeset -i 16 y - print $(( [#8] x = 32, y = 32 )) - print $x $y - -outputs first '8#40', the rightmost value in the given output base, and -then '8#40 16#20', because y has been explicitly declared to have output -base 16, while x (assuming it does not already exist) is implicitly -typed by the arithmetic evaluation, where it acquires the output base 8. - -The BASE may be replaced or followed by an underscore, which may itself -be followed by a positive integer (if it is missing the value 3 is -used). This indicates that underscores should be inserted into the -output string, grouping the number for visual clarity. The following -integer specifies the number of digits to group together. For example: - - setopt cbases - print $(( [#16_4] 65536 ** 2 )) - -outputs '0x1_0000_0000'. - -The feature can be used with floating point numbers, in which case the -base must be omitted; grouping is away from the decimal point. For -example, - - zmodload zsh/mathfunc - print $(( [#_] sqrt(1e7) )) - -outputs '3_162.277_660_168_379_5' (the number of decimal places shown -may vary). - -If the C_BASES option is set, hexadecimal numbers are output in the -standard C format, for example '0xFF' instead of the usual '16#FF'. If -the option OCTAL_ZEROES is also set (it is not by default), octal -numbers will be treated similarly and hence appear as '077' instead of -'8#77'. This option has no effect on the output of bases other than -hexadecimal and octal, and these formats are always understood on input. - -When an output base is specified using the '[#BASE]' syntax, an -appropriate base prefix will be output if necessary, so that the value -output is valid syntax for input. If the # is doubled, for example -'[##16]', then no base prefix is output. - -Floating point constants are recognized by the presence of a decimal -point or an exponent. The decimal point may be the first character of -the constant, but the exponent character e or E may not, as it will be -taken for a parameter name. All numeric parts (before and after the -decimal point and in the exponent) may contain underscores after the -leading digit for visual guidance; these are ignored in computation. - -An arithmetic expression uses nearly the same syntax and associativity -of expressions as in C. - -In the native mode of operation, the following operators are supported -(listed in decreasing order of precedence): - -+ - ! ~ ++ -- - unary plus/minus, logical NOT, complement, {pre,post}{in,de}crement -<< >> - bitwise shift left, right -& - bitwise AND -^ - bitwise XOR -| - bitwise OR -** - exponentiation -* / % - multiplication, division, modulus (remainder) -+ - - addition, subtraction -< > <= >= - comparison -== != - equality and inequality -&& - logical AND -|| ^^ - logical OR, XOR -? : - ternary operator -= += -= *= /= %= &= ^= |= <<= >>= &&= ||= ^^= **= - assignment -, - comma operator - -The operators '&&', '||', '&&=', and '||=' are short-circuiting, and -only one of the latter two expressions in a ternary operator is -evaluated. Note the precedence of the bitwise AND, OR, and XOR -operators. - -With the option C_PRECEDENCES the precedences (but no other properties) -of the operators are altered to be the same as those in most other -languages that support the relevant operators: - -+ - ! ~ ++ -- - unary plus/minus, logical NOT, complement, {pre,post}{in,de}crement -** - exponentiation -* / % - multiplication, division, modulus (remainder) -+ - - addition, subtraction -<< >> - bitwise shift left, right -< > <= >= - comparison -== != - equality and inequality -& - bitwise AND -^ - bitwise XOR -| - bitwise OR -&& - logical AND -^^ - logical XOR -|| - logical OR -? : - ternary operator -= += -= *= /= %= &= ^= |= <<= >>= &&= ||= ^^= **= - assignment -, - comma operator - -Note the precedence of exponentiation in both cases is below that of -unary operators, hence '-3**2' evaluates as '9', not '-9'. Use -parentheses where necessary: '-(3**2)'. This is for compatibility with -other shells. - -Mathematical functions can be called with the syntax 'FUNC(ARGS)', where -the function decides if the ARGS is used as a string or a -comma-separated list of arithmetic expressions. The shell currently -defines no mathematical functions by default, but the module -zsh/mathfunc may be loaded with the zmodload builtin to provide standard -floating point mathematical functions. - -An expression of the form '##X' where X is any character sequence such -as 'a', '^A', or '\M-\C-x' gives the value of this character and an -expression of the form '#NAME' gives the value of the first character of -the contents of the parameter NAME. Character values are according to -the character set used in the current locale; for multibyte character -handling the option MULTIBYTE must be set. Note that this form is -different from '$#NAME', a standard parameter substitution which gives -the length of the parameter NAME. '#\' is accepted instead of '##', but -its use is deprecated. - -Named parameters and subscripted arrays can be referenced by name within -an arithmetic expression without using the parameter expansion syntax. -For example, - - ((val2 = val1 * 2)) - -assigns twice the value of $val1 to the parameter named val2. - -An internal integer representation of a named parameter can be specified -with the integer builtin. Arithmetic evaluation is performed on the -value of each assignment to a named parameter declared integer in this -manner. Assigning a floating point number to an integer results in -rounding towards zero. - -Likewise, floating point numbers can be declared with the float builtin; -there are two types, differing only in their output format, as described -for the typeset builtin. The output format can be bypassed by using -arithmetic substitution instead of the parameter substitution, i.e. -'${FLOAT}' uses the defined format, but '$((FLOAT))' uses a generic -floating point format. - -Promotion of integer to floating point values is performed where -necessary. In addition, if any operator which requires an integer ('&', -'|', '^', '<<', '>>' and their equivalents with assignment) is given a -floating point argument, it will be silently rounded towards zero except -for '~' which rounds down. - -Users should beware that, in common with many other programming -languages but not software designed for calculation, the evaluation of -an expression in zsh is taken a term at a time and promotion of integers -to floating point does not occur in terms only containing integers. A -typical result of this is that a division such as 6/8 is truncated, in -this being rounded towards 0. The FORCE_FLOAT shell option can be used -in scripts or functions where floating point evaluation is required -throughout. - -Scalar variables can hold integer or floating point values at different -times; there is no memory of the numeric type in this case. - -If a variable is first assigned in a numeric context without previously -being declared, it will be implicitly typed as integer or float and -retain that type either until the type is explicitly changed or until -the end of the scope. This can have unforeseen consequences. For -example, in the loop - - for (( f = 0; f < 1; f += 0.1 )); do - # use $f - done - -if f has not already been declared, the first assignment will cause it -to be created as an integer, and consequently the operation 'f += 0.1' -will always cause the result to be truncated to zero, so that the loop -will fail. A simple fix would be to turn the initialization into 'f = -0.0'. It is therefore best to declare numeric variables with explicit -types. - - -File: zsh.info, Node: Conditional Expressions, Next: Prompt Expansion, Prev: Arithmetic Evaluation, Up: Top - -12 Conditional Expressions -************************** - -A _conditional expression_ is used with the [[ compound command to test -attributes of files and to compare strings. Each expression can be -constructed from one or more of the following unary or binary -expressions: - --a FILE - true if FILE exists. - --b FILE - true if FILE exists and is a block special file. - --c FILE - true if FILE exists and is a character special file. - --d FILE - true if FILE exists and is a directory. - --e FILE - true if FILE exists. - --f FILE - true if FILE exists and is a regular file. - --g FILE - true if FILE exists and has its setgid bit set. - --h FILE - true if FILE exists and is a symbolic link. - --k FILE - true if FILE exists and has its sticky bit set. - --n STRING - true if length of STRING is non-zero. - --o OPTION - true if option named OPTION is on. OPTION may be a single - character, in which case it is a single letter option name. (See - *note Specifying Options::.) - - When no option named OPTION exists, and the POSIX_BUILTINS option - hasn't been set, return 3 with a warning. If that option is set, - return 1 with no warning. - --p FILE - true if FILE exists and is a FIFO special file (named pipe). - --r FILE - true if FILE exists and is readable by current process. - --s FILE - true if FILE exists and has size greater than zero. - --t FD - true if file descriptor number FD is open and associated with a - terminal device. (note: FD is not optional) - --u FILE - true if FILE exists and has its setuid bit set. - --v VARNAME - true if shell variable VARNAME is set. - --w FILE - true if FILE exists and is writable by current process. - --x FILE - true if FILE exists and is executable by current process. If FILE - exists and is a directory, then the current process has permission - to search in the directory. - --z STRING - true if length of STRING is zero. - --L FILE - true if FILE exists and is a symbolic link. - --O FILE - true if FILE exists and is owned by the effective user ID of this - process. - --G FILE - true if FILE exists and its group matches the effective group ID of - this process. - --S FILE - true if FILE exists and is a socket. - --N FILE - true if FILE exists and its access time is not newer than its - modification time. - -FILE1 -nt FILE2 - true if FILE1 exists and is newer than FILE2. - -FILE1 -ot FILE2 - true if FILE1 exists and is older than FILE2. - -FILE1 -ef FILE2 - true if FILE1 and FILE2 exist and refer to the same file. - -STRING = PATTERN -STRING == PATTERN - true if STRING matches PATTERN. The two forms are exactly - equivalent. The '=' form is the traditional shell syntax (and - hence the only one generally used with the test and [ builtins); - the '==' form provides compatibility with other sorts of computer - language. - -STRING != PATTERN - true if STRING does not match PATTERN. - -STRING =~ REGEXP - true if STRING matches the regular expression REGEXP. If the - option RE_MATCH_PCRE is set REGEXP is tested as a PCRE regular - expression using the zsh/pcre module, else it is tested as a POSIX - extended regular expression using the zsh/regex module. Upon - successful match, some variables will be updated; no variables are - changed if the matching fails. - - If the option BASH_REMATCH is not set the scalar parameter MATCH is - set to the substring that matched the pattern and the integer - parameters MBEGIN and MEND to the index of the start and end, - respectively, of the match in STRING, such that if STRING is - contained in variable var the expression '${var[$MBEGIN,$MEND]}' is - identical to '$MATCH'. The setting of the option KSH_ARRAYS is - respected. Likewise, the array match is set to the substrings that - matched parenthesised subexpressions and the arrays mbegin and mend - to the indices of the start and end positions, respectively, of the - substrings within STRING. The arrays are not set if there were no - parenthesised subexpressions. For example, if the string 'a short - string' is matched against the regular expression 's(...)t', then - (assuming the option KSH_ARRAYS is not set) MATCH, MBEGIN and MEND - are 'short', 3 and 7, respectively, while match, mbegin and mend - are single entry arrays containing the strings 'hor', '4' and '6', - respectively. - - If the option BASH_REMATCH is set the array BASH_REMATCH is set to - the substring that matched the pattern followed by the substrings - that matched parenthesised subexpressions within the pattern. - -STRING1 < STRING2 - true if STRING1 comes before STRING2 based on ASCII value of their - characters. - -STRING1 > STRING2 - true if STRING1 comes after STRING2 based on ASCII value of their - characters. - -EXP1 -eq EXP2 - true if EXP1 is numerically equal to EXP2. Note that for purely - numeric comparisons use of the ((...)) builtin described in *note - Arithmetic Evaluation:: is more convenient than conditional - expressions. - -EXP1 -ne EXP2 - true if EXP1 is numerically not equal to EXP2. - -EXP1 -lt EXP2 - true if EXP1 is numerically less than EXP2. - -EXP1 -gt EXP2 - true if EXP1 is numerically greater than EXP2. - -EXP1 -le EXP2 - true if EXP1 is numerically less than or equal to EXP2. - -EXP1 -ge EXP2 - true if EXP1 is numerically greater than or equal to EXP2. - -( EXP ) - true if EXP is true. - -! EXP - true if EXP is false. - -EXP1 && EXP2 - true if EXP1 and EXP2 are both true. - -EXP1 || EXP2 - true if either EXP1 or EXP2 is true. - -For compatibility, if there is a single argument that is not -syntactically significant, typically a variable, the condition is -treated as a test for whether the expression expands as a string of -non-zero length. In other words, [[ $var ]] is the same as [[ -n $var -]]. It is recommended that the second, explicit, form be used where -possible. - -Normal shell expansion is performed on the FILE, STRING and PATTERN -arguments, but the result of each expansion is constrained to be a -single word, similar to the effect of double quotes. - -Filename generation is not performed on any form of argument to -conditions. However, it can be forced in any case where normal shell -expansion is valid and when the option EXTENDED_GLOB is in effect by -using an explicit glob qualifier of the form (#q) at the end of the -string. A normal glob qualifier expression may appear between the 'q' -and the closing parenthesis; if none appears the expression has no -effect beyond causing filename generation. The results of filename -generation are joined together to form a single word, as with the -results of other forms of expansion. - -This special use of filename generation is only available with the [[ -syntax. If the condition occurs within the [ or test builtin commands -then globbing occurs instead as part of normal command line expansion -before the condition is evaluated. In this case it may generate -multiple words which are likely to confuse the syntax of the test -command. - -For example, - - [[ -n file*(#qN) ]] - -produces status zero if and only if there is at least one file in the -current directory beginning with the string 'file'. The globbing -qualifier N ensures that the expression is empty if there is no matching -file. - -Pattern metacharacters are active for the PATTERN arguments; the -patterns are the same as those used for filename generation, see *note -Filename Generation::, but there is no special behaviour of '/' nor -initial dots, and no glob qualifiers are allowed. - -In each of the above expressions, if FILE is of the form '/dev/fd/N', -where N is an integer, then the test applied to the open file whose -descriptor number is N, even if the underlying system does not support -the /dev/fd directory. - -In the forms which do numeric comparison, the expressions EXP undergo -arithmetic expansion as if they were enclosed in $((...)). - -For example, the following: - - [[ ( -f foo || -f bar ) && $report = y* ]] && print File exists. - -tests if either file foo or file bar exists, and if so, if the value of -the parameter report begins with 'y'; if the complete condition is true, -the message 'File exists.' is printed. - - -File: zsh.info, Node: Prompt Expansion, Next: Expansion, Prev: Conditional Expressions, Up: Top - -13 Prompt Expansion -******************* - -13.1 Expansion of Prompt Sequences -================================== - -Prompt sequences undergo a special form of expansion. This type of -expansion is also available using the -P option to the print builtin. - -If the PROMPT_SUBST option is set, the prompt string is first subjected -to _parameter expansion_, _command substitution_ and _arithmetic -expansion_. See *note Expansion::. - -Certain escape sequences may be recognised in the prompt string. - -If the PROMPT_BANG option is set, a '!' in the prompt is replaced by the -current history event number. A literal '!' may then be represented as -'!!'. - -If the PROMPT_PERCENT option is set, certain escape sequences that start -with '%' are expanded. Many escapes are followed by a single character, -although some of these take an optional integer argument that should -appear between the '%' and the next character of the sequence. More -complicated escape sequences are available to provide conditional -expansion. - -13.2 Simple Prompt Escapes -========================== - -13.2.1 Special characters -------------------------- - -%% - A '%'. - -%) - A ')'. - -13.2.2 Login information ------------------------- - -%l - The line (tty) the user is logged in on, without '/dev/' prefix. - If the name starts with '/dev/tty', that prefix is stripped. - -%M - The full machine hostname. - -%m - The hostname up to the first '.'. An integer may follow the '%' to - specify how many components of the hostname are desired. With a - negative integer, trailing components of the hostname are shown. - -%n - $USERNAME. - -%y - The line (tty) the user is logged in on, without '/dev/' prefix. - This does not treat '/dev/tty' names specially. - -13.2.3 Shell state ------------------- - -%# - A '#' if the shell is running with privileges, a '%' if not. - Equivalent to '%(!.#.%%)'. The definition of 'privileged', for - these purposes, is that either the effective user ID is zero, or, - if POSIX.1e capabilities are supported, that at least one - capability is raised in either the Effective or Inheritable - capability vectors. - -%? - The return status of the last command executed just before the - prompt. - -%_ - The status of the parser, i.e. the shell constructs (like 'if' and - 'for') that have been started on the command line. If given an - integer number that many strings will be printed; zero or negative - or no integer means print as many as there are. This is most - useful in prompts PS2 for continuation lines and PS4 for debugging - with the XTRACE option; in the latter case it will also work - non-interactively. - -%^ - The status of the parser in reverse. This is the same as '%_' - other than the order of strings. It is often used in RPS2. - -%d -%/ - Current working directory. If an integer follows the '%', it - specifies a number of trailing components of the current working - directory to show; zero means the whole path. A negative integer - specifies leading components, i.e. %-1d specifies the first - component. - -%~ - As %d and %/, but if the current working directory starts with - $HOME, that part is replaced by a '~'. Furthermore, if it has a - named directory as its prefix, that part is replaced by a '~' - followed by the name of the directory, but only if the result is - shorter than the full path; *note Filename Expansion::. - -%e - Evaluation depth of the current sourced file, shell function, or - eval. This is incremented or decremented every time the value of - %N is set or reverted to a previous value, respectively. This is - most useful for debugging as part of $PS4. - -%h -%! - Current history event number. - -%i - The line number currently being executed in the script, sourced - file, or shell function given by %N. This is most useful for - debugging as part of $PS4. - -%I - The line number currently being executed in the file %x. This is - similar to %i, but the line number is always a line number in the - file where the code was defined, even if the code is a shell - function. - -%j - The number of jobs. - -%L - The current value of $SHLVL. - -%N - The name of the script, sourced file, or shell function that zsh is - currently executing, whichever was started most recently. If there - is none, this is equivalent to the parameter $0. An integer may - follow the '%' to specify a number of trailing path components to - show; zero means the full path. A negative integer specifies - leading components. - -%x - The name of the file containing the source code currently being - executed. This behaves as %N except that function and eval command - names are not shown, instead the file where they were defined. - -%c -%. -%C - Trailing component of the current working directory. An integer - may follow the '%' to get more than one component. Unless '%C' is - used, tilde contraction is performed first. These are deprecated - as %c and %C are equivalent to %1~ and %1/, respectively, while - explicit positive integers have the same effect as for the latter - two sequences. - -13.2.4 Date and time --------------------- - -%D - The date in YY-MM-DD format. - -%T - Current time of day, in 24-hour format. - -%t -%@ - Current time of day, in 12-hour, am/pm format. - -%* - Current time of day in 24-hour format, with seconds. - -%w - The date in DAY-DD format. - -%W - The date in MM/DD/YY format. - -%D{STRING} - STRING is formatted using the strftime function. See strftime(3) - for more details. Various zsh extensions provide numbers with no - leading zero or space if the number is a single digit: - - %f - a day of the month - %K - the hour of the day on the 24-hour clock - %L - the hour of the day on the 12-hour clock - - In addition, if the system supports the POSIX gettimeofday system - call, %. provides decimal fractions of a second since the epoch - with leading zeroes. By default three decimal places are provided, - but a number of digits up to 9 may be given following the %; hence - %6. outputs microseconds, and %9. outputs nanoseconds. (The latter - requires a nanosecond-precision clock_gettime; systems lacking this - will return a value multiplied by the appropriate power of 10.) A - typical example of this is the format '%D{%H:%M:%S.%.}'. - - The GNU extension %N is handled as a synonym for %9.. - - Additionally, the GNU extension that a '-' between the % and the - format character causes a leading zero or space to be stripped is - handled directly by the shell for the format characters d, f, H, k, - l, m, M, S and y; any other format characters are provided to the - system's strftime(3) with any leading '-' present, so the handling - is system dependent. Further GNU (or other) extensions are also - passed to strftime(3) and may work if the system supports them. - -13.2.5 Visual effects ---------------------- - -%B (%b) - Start (stop) boldface mode. - -%E - Clear to end of line. - -%U (%u) - Start (stop) underline mode. - -%S (%s) - Start (stop) standout mode. - -%F (%f) - Start (stop) using a different foreground colour, if supported by - the terminal. The colour may be specified two ways: either as a - numeric argument, as normal, or by a sequence in braces following - the %F, for example %F{red}. In the latter case the values allowed - are as described for the fg zle_highlight attribute; *note - Character Highlighting::. This means that numeric colours are - allowed in the second format also. - -%K (%k) - Start (stop) using a different bacKground colour. The syntax is - identical to that for %F and %f. - -%{...%} - Include a string as a literal escape sequence. The string within - the braces should not change the cursor position. Brace pairs can - nest. - - A positive numeric argument between the % and the { is treated as - described for %G below. - -%G - Within a %{...%} sequence, include a 'glitch': that is, assume that - a single character width will be output. This is useful when - outputting characters that otherwise cannot be correctly handled by - the shell, such as the alternate character set on some terminals. - The characters in question can be included within a %{...%} - sequence together with the appropriate number of %G sequences to - indicate the correct width. An integer between the '%' and 'G' - indicates a character width other than one. Hence %{SEQ%2G%} - outputs SEQ and assumes it takes up the width of two standard - characters. - - Multiple uses of %G accumulate in the obvious fashion; the position - of the %G is unimportant. Negative integers are not handled. - - Note that when prompt truncation is in use it is advisable to - divide up output into single characters within each %{...%} group - so that the correct truncation point can be found. - -13.3 Conditional Substrings in Prompts -====================================== - -%v - The value of the first element of the psvar array parameter. - Following the '%' with an integer gives that element of the array. - Negative integers count from the end of the array. - -%(X.TRUE-TEXT.FALSE-TEXT) - Specifies a ternary expression. The character following the X is - arbitrary; the same character is used to separate the text for the - 'true' result from that for the 'false' result. This separator may - not appear in the TRUE-TEXT, except as part of a %-escape sequence. - A ')' may appear in the FALSE-TEXT as '%)'. TRUE-TEXT and - FALSE-TEXT may both contain arbitrarily-nested escape sequences, - including further ternary expressions. - - The left parenthesis may be preceded or followed by a positive - integer N, which defaults to zero. A negative integer will be - multiplied by -1, except as noted below for 'l'. The test - character X may be any of the following: - - ! - True if the shell is running with privileges. - # - True if the effective uid of the current process is N. - ? - True if the exit status of the last command was N. - _ - True if at least N shell constructs were started. - C - / - True if the current absolute path has at least N elements - relative to the root directory, hence / is counted as 0 - elements. - c - . - ~ - True if the current path, with prefix replacement, has at - least N elements relative to the root directory, hence / is - counted as 0 elements. - D - True if the month is equal to N (January = 0). - d - True if the day of the month is equal to N. - e - True if the evaluation depth is at least N. - g - True if the effective gid of the current process is N. - j - True if the number of jobs is at least N. - L - True if the SHLVL parameter is at least N. - l - True if at least N characters have already been printed on the - current line. When N is negative, true if at least abs(N) - characters remain before the opposite margin (thus the left - margin for RPROMPT). - S - True if the SECONDS parameter is at least N. - T - True if the time in hours is equal to N. - t - True if the time in minutes is equal to N. - v - True if the array psvar has at least N elements. - V - True if element N of the array psvar is set and non-empty. - w - True if the day of the week is equal to N (Sunday = 0). - -%<STRING< -%>STRING> -%[XSTRING] - Specifies truncation behaviour for the remainder of the prompt - string. The third, deprecated, form is equivalent to '%XSTRINGX', - i.e. X may be '<' or '>'. The STRING will be displayed in place - of the truncated portion of any string; note this does not undergo - prompt expansion. - - The numeric argument, which in the third form may appear - immediately after the '[', specifies the maximum permitted length - of the various strings that can be displayed in the prompt. In the - first two forms, this numeric argument may be negative, in which - case the truncation length is determined by subtracting the - absolute value of the numeric argument from the number of character - positions remaining on the current prompt line. If this results in - a zero or negative length, a length of 1 is used. In other words, - a negative argument arranges that after truncation at least N - characters remain before the right margin (left margin for - RPROMPT). - - The forms with '<' truncate at the left of the string, and the - forms with '>' truncate at the right of the string. For example, - if the current directory is '/home/pike', the prompt '%8<..<%/' - will expand to '..e/pike'. In this string, the terminating - character ('<', '>' or ']'), or in fact any character, may be - quoted by a preceding '\'; note when using print -P, however, that - this must be doubled as the string is also subject to standard - print processing, in addition to any backslashes removed by a - double quoted string: the worst case is therefore 'print -P - "%<\\\\<<..."'. - - If the STRING is longer than the specified truncation length, it - will appear in full, completely replacing the truncated string. - - The part of the prompt string to be truncated runs to the end of - the string, or to the end of the next enclosing group of the '%(' - construct, or to the next truncation encountered at the same - grouping level (i.e. truncations inside a '%(' are separate), - which ever comes first. In particular, a truncation with argument - zero (e.g., '%<<') marks the end of the range of the string to be - truncated while turning off truncation from there on. For example, - the prompt '%10<...<%~%<<%# ' will print a truncated representation - of the current directory, followed by a '%' or '#', followed by a - space. Without the '%<<', those two characters would be included - in the string to be truncated. Note that '%-0<<' is not equivalent - to '%<<' but specifies that the prompt is truncated at the right - margin. - - Truncation applies only within each individual line of the prompt, - as delimited by embedded newlines (if any). If the total length of - any line of the prompt after truncation is greater than the - terminal width, or if the part to be truncated contains embedded - newlines, truncation behavior is undefined and may change in a - future version of the shell. Use '%-N(l.TRUE-TEXT.FALSE-TEXT)' to - remove parts of the prompt when the available space is less than N. - - -File: zsh.info, Node: Expansion, Next: Parameters, Prev: Prompt Expansion, Up: Top - -14 Expansion -************ - -The following types of expansions are performed in the indicated order -in five steps: - -_History Expansion_ - This is performed only in interactive shells. - -_Alias Expansion_ - Aliases are expanded immediately before the command line is parsed - as explained in *note Aliasing::. - -_Process Substitution_ -_Parameter Expansion_ -_Command Substitution_ -_Arithmetic Expansion_ -_Brace Expansion_ - These five are performed in left-to-right fashion. On each - argument, any of the five steps that are needed are performed one - after the other. Hence, for example, all the parts of parameter - expansion are completed before command substitution is started. - After these expansions, all unquoted occurrences of the characters - '\',''' and '"' are removed. - -_Filename Expansion_ - If the SH_FILE_EXPANSION option is set, the order of expansion is - modified for compatibility with ‘sh’ and ‘ksh’. In that case - _filename expansion_ is performed immediately after _alias - expansion_, preceding the set of five expansions mentioned above. - -_Filename Generation_ - This expansion, commonly referred to as ‘globbing’, is always done - last. - -The following sections explain the types of expansion in detail. - -* Menu: - -* History Expansion:: -* Process Substitution:: -* Parameter Expansion:: -* Command Substitution:: -* Arithmetic Expansion:: -* Brace Expansion:: -* Filename Expansion:: -* Filename Generation:: - - -File: zsh.info, Node: History Expansion, Next: Process Substitution, Up: Expansion - -14.1 History Expansion -====================== - -History expansion allows you to use words from previous command lines in -the command line you are typing. This simplifies spelling corrections -and the repetition of complicated commands or arguments. - -Immediately before execution, each command is saved in the history list, -the size of which is controlled by the HISTSIZE parameter. The one most -recent command is always retained in any case. Each saved command in -the history list is called a history _event_ and is assigned a number, -beginning with 1 (one) when the shell starts up. The history number -that you may see in your prompt (see *note Prompt Expansion::) is the -number that is to be assigned to the _next_ command. - -* Menu: - -* Overview:: -* Event Designators:: -* Word Designators:: -* Modifiers:: - - -File: zsh.info, Node: Overview, Next: Event Designators, Up: History Expansion - -14.1.1 Overview ---------------- - -A history expansion begins with the first character of the histchars -parameter, which is '!' by default, and may occur anywhere on the -command line, including inside double quotes (but not inside single -quotes '...' or C-style quotes $'...' nor when escaped with a -backslash). - -The first character is followed by an optional event designator (*note -Event Designators::) and then an optional word designator (*note Word -Designators::); if neither of these designators is present, no history -expansion occurs. - -Input lines containing history expansions are echoed after being -expanded, but before any other expansions take place and before the -command is executed. It is this expanded form that is recorded as the -history event for later references. - -History expansions do not nest. - -By default, a history reference with no event designator refers to the -same event as any preceding history reference on that command line; if -it is the only history reference in a command, it refers to the previous -command. However, if the option CSH_JUNKIE_HISTORY is set, then every -history reference with no event specification _always_ refers to the -previous command. - -For example, '!' is the event designator for the previous command, so -'!!:1' always refers to the first word of the previous command, and -'!!$' always refers to the last word of the previous command. With -CSH_JUNKIE_HISTORY set, then '!:1' and '!$' function in the same manner -as '!!:1' and '!!$', respectively. Conversely, if CSH_JUNKIE_HISTORY is -unset, then '!:1' and '!$' refer to the first and last words, -respectively, of the same event referenced by the nearest other history -reference preceding them on the current command line, or to the previous -command if there is no preceding reference. - -The character sequence '^FOO^BAR' (where '^' is actually the second -character of the histchars parameter) repeats the last command, -replacing the string FOO with BAR. More precisely, the sequence -'^FOO^BAR^' is synonymous with '!!:s^FOO^BAR^', hence other modifiers -(see *note Modifiers::) may follow the final '^'. In particular, -'^FOO^BAR^:G' performs a global substitution. - -If the shell encounters the character sequence '!"' in the input, the -history mechanism is temporarily disabled until the current list (see -*note Shell Grammar::) is fully parsed. The '!"' is removed from the -input, and any subsequent '!' characters have no special significance. - -A less convenient but more comprehensible form of command history -support is provided by the fc builtin. - - -File: zsh.info, Node: Event Designators, Next: Word Designators, Prev: Overview, Up: History Expansion - -14.1.2 Event Designators ------------------------- - -An event designator is a reference to a command-line entry in the -history list. In the list below, remember that the initial `!' in each -item may be changed to another character by setting the histchars -parameter. - -! - Start a history expansion, except when followed by a blank, - newline, '=' or '('. If followed immediately by a word designator - (*note Word Designators::), this forms a history reference with no - event designator (*note Overview::). - -!! - Refer to the previous command. By itself, this expansion repeats - the previous command. - -!N - Refer to command-line N. - -!-N - Refer to the current command-line minus N. - -!STR - Refer to the most recent command starting with STR. - -!?STR[?] - Refer to the most recent command containing STR. The trailing '?' - is necessary if this reference is to be followed by a modifier or - followed by any text that is not to be considered part of STR. - -!# - Refer to the current command line typed in so far. The line is - treated as if it were complete up to and including the word before - the one with the '!#' reference. - -!{...} - Insulate a history reference from adjacent characters (if - necessary). - - -File: zsh.info, Node: Word Designators, Next: Modifiers, Prev: Event Designators, Up: History Expansion - -14.1.3 Word Designators ------------------------ - -A word designator indicates which word or words of a given command line -are to be included in a history reference. A ':' usually separates the -event specification from the word designator. It may be omitted only if -the word designator begins with a '^', '$', '*', '-' or '%'. Word -designators include: - -0 - The first input word (command). -N - The Nth argument. -^ - The first argument. That is, 1. -$ - The last argument. -% - The word matched by (the most recent) ?STR search. -X-Y - A range of words; X defaults to 0. -* - All the arguments, or a null value if there are none. -X* - Abbreviates 'X-$'. -X- - Like 'X*' but omitting word $. - -Note that a '%' word designator works only when used in one of '!%', -'!:%' or '!?STR?:%', and only when used after a !? expansion (possibly -in an earlier command). Anything else results in an error, although the -error may not be the most obvious one. - - -File: zsh.info, Node: Modifiers, Prev: Word Designators, Up: History Expansion - -14.1.4 Modifiers ----------------- - -After the optional word designator, you can add a sequence of one or -more of the following modifiers, each preceded by a ':'. These -modifiers also work on the result of _filename generation_ and -_parameter expansion_, except where noted. - -a - Turn a file name into an absolute path: prepends the current - directory, if necessary; remove '.' path segments; and remove '..' - path segments and the segments that immediately precede them. - - This transformation is agnostic about what is in the filesystem, - i.e. is on the logical, not the physical directory. It takes - place in the same manner as when changing directories when neither - of the options CHASE_DOTS or CHASE_LINKS is set. For example, - '/before/here/../after' is always transformed to '/before/after', - regardless of whether '/before/here' exists or what kind of object - (dir, file, symlink, etc.) it is. - -A - Turn a file name into an absolute path as the 'a' modifier does, - and _then_ pass the result through the realpath(3) library function - to resolve symbolic links. - - Note: on systems that do not have a realpath(3) library function, - symbolic links are not resolved, so on those systems 'a' and 'A' - are equivalent. - - Note: foo:A and realpath(foo) are different on some inputs. For - realpath(foo) semantics, see the 'P' modifier. - -c - Resolve a command name into an absolute path by searching the - command path given by the PATH variable. This does not work for - commands containing directory parts. Note also that this does not - usually work as a glob qualifier unless a file of the same name is - found in the current directory. - -e - Remove all but the part of the filename extension following the - '.'; see the definition of the filename extension in the - description of the r modifier below. Note that according to that - definition the result will be empty if the string ends with a '.'. - -h [ DIGITS ] - Remove a trailing pathname component, shortening the path by one - directory level: this is the 'head' of the pathname. This works - like 'dirname'. If the h is followed immediately (with no spaces - or other separator) by any number of decimal digits, and the value - of the resulting number is non-zero, that number of leading - components is preserved instead of the final component being - removed. In an absolute path the leading '/' is the first - component, so, for example, if var=/my/path/to/something, then - ${var:h3} substitutes /my/path. Consecutive '/'s are treated the - same as a single '/'. In parameter substitution, digits may only - be used if the expression is in braces, so for example the short - form substitution $var:h2 is treated as ${var:h}2, not as - ${var:h2}. No restriction applies to the use of digits in history - substitution or globbing qualifiers. If more components are - requested than are present, the entire path is substituted (so this - does not trigger a 'failed modifier' error in history expansion). - -l - Convert the words to all lowercase. - -p - Print the new command but do not execute it. Only works with - history expansion. - -P - Turn a file name into an absolute path, like realpath(3). The - resulting path will be absolute, will refer to the same directory - entry as the input filename, and none of its components will be - symbolic links or equal to '.' or '..'. - - Unlike realpath(3), non-existent trailing components are permitted - and preserved. - -q - Quote the substituted words, escaping further substitutions. Works - with history expansion and parameter expansion, though for - parameters it is only useful if the resulting text is to be - re-evaluated such as by eval. - -Q - Remove one level of quotes from the substituted words. - -r - Remove a filename extension leaving the root name. Strings with no - filename extension are not altered. A filename extension is a '.' - followed by any number of characters (including zero) that are - neither '.' nor '/' and that continue to the end of the string. - For example, the extension of 'foo.orig.c' is '.c', and 'dir.c/foo' - has no extension. - -s/L/R[/] - Substitute R for L as described below. The substitution is done - only for the first string that matches L. For arrays and for - filename generation, this applies to each word of the expanded - text. See below for further notes on substitutions. - - The forms 'gs/L/R' and 's/L/R/:G' perform global substitution, i.e. - substitute every occurrence of R for L. Note that the g or :G must - appear in exactly the position shown. - - See further notes on this form of substitution below. - -& - Repeat the previous s substitution. Like s, may be preceded - immediately by a g. In parameter expansion the & must appear - inside braces, and in filename generation it must be quoted with a - backslash. - -t [ DIGITS ] - Remove all leading pathname components, leaving the final component - (tail). This works like 'basename'. Any trailing slashes are - first removed. Decimal digits are handled as described above for - (h), but in this case that number of trailing components is - preserved instead of the default 1; 0 is treated the same as 1. - -u - Convert the words to all uppercase. - -x - Like q, but break into words at whitespace. Does not work with - parameter expansion. - -The s/L/R/ substitution works as follows. By default the left-hand side -of substitutions are not patterns, but character strings. Any character -can be used as the delimiter in place of '/'. A backslash quotes the -delimiter character. The character '&', in the right-hand-side R, is -replaced by the text from the left-hand-side L. The '&' can be quoted -with a backslash. A null L uses the previous string either from the -previous L or from the contextual scan string S from '!?S'. You can -omit the rightmost delimiter if a newline immediately follows R; the -rightmost '?' in a context scan can similarly be omitted. Note the same -record of the last L and R is maintained across all forms of expansion. - -Note that if a '&' is used within glob qualifiers an extra backslash is -needed as a & is a special character in this case. - -Also note that the order of expansions affects the interpretation of L -and R. When used in a history expansion, which occurs before any other -expansions, L and R are treated as literal strings (except as explained -for HIST_SUBST_PATTERN below). When used in parameter expansion, the -replacement of R into the parameter's value is done first, and then any -additional process, parameter, command, arithmetic, or brace references -are applied, which may evaluate those substitutions and expansions more -than once if L appears more than once in the starting value. When used -in a glob qualifier, any substitutions or expansions are performed once -at the time the qualifier is parsed, even before the ':s' expression -itself is divided into L and R sides. - -If the option HIST_SUBST_PATTERN is set, L is treated as a pattern of -the usual form described in *note Filename Generation::. This can be -used in all the places where modifiers are available; note, however, -that in globbing qualifiers parameter substitution has already taken -place, so parameters in the replacement string should be quoted to -ensure they are replaced at the correct time. Note also that -complicated patterns used in globbing qualifiers may need the extended -glob qualifier notation (#q:s/.../.../) in order for the shell to -recognize the expression as a glob qualifier. Further, note that bad -patterns in the substitution are not subject to the NO_BAD_PATTERN -option so will cause an error. - -When HIST_SUBST_PATTERN is set, L may start with a # to indicate that -the pattern must match at the start of the string to be substituted, and -a % may appear at the start or after an # to indicate that the pattern -must match at the end of the string to be substituted. The % or # may -be quoted with two backslashes. - -For example, the following piece of filename generation code with the -EXTENDED_GLOB option: - - print -r -- *.c(#q:s/#%(#b)s(*).c/'S${match[1]}.C'/) - -takes the expansion of *.c and applies the glob qualifiers in the -(#q...) expression, which consists of a substitution modifier anchored -to the start and end of each word (#%). This turns on backreferences -((#b)), so that the parenthesised subexpression is available in the -replacement string as ${match[1]}. The replacement string is quoted so -that the parameter is not substituted before the start of filename -generation. - -The following f, F, w and W modifiers work only with parameter expansion -and filename generation. They are listed here to provide a single point -of reference for all modifiers. - -f - Repeats the immediately (without a colon) following modifier until - the resulting word doesn't change any more. - -F:EXPR: - Like f, but repeats only N times if the expression EXPR evaluates - to N. Any character can be used instead of the ':'; if '(', '[', - or '{' is used as the opening delimiter, the closing delimiter - should be ')', ']', or '}', respectively. - -w - Makes the immediately following modifier work on each word in the - string. - -W:SEP: - Like w but words are considered to be the parts of the string that - are separated by SEP. Any character can be used instead of the - ':'; opening parentheses are handled specially, see above. - - -File: zsh.info, Node: Process Substitution, Next: Parameter Expansion, Prev: History Expansion, Up: Expansion - -14.2 Process Substitution -========================= - -Each part of a command argument that takes the form '<(LIST)', '>(LIST)' -or '=(LIST)' is subject to process substitution. The expression may be -preceded or followed by other strings except that, to prevent clashes -with commonly occurring strings and patterns, the last form must occur -at the start of a command argument, and the forms are only expanded when -first parsing command or assignment arguments. Process substitutions -may be used following redirection operators; in this case, the -substitution must appear with no trailing string. - -Note that '<<(LIST)' is not a special syntax; it is equivalent to '< -<(LIST)', redirecting standard input from the result of process -substitution. Hence all the following documentation applies. The -second form (with the space) is recommended for clarity. - -In the case of the < or > forms, the shell runs the commands in LIST as -a subprocess of the job executing the shell command line. If the system -supports the /dev/fd mechanism, the command argument is the name of the -device file corresponding to a file descriptor; otherwise, if the system -supports named pipes (FIFOs), the command argument will be a named pipe. -If the form with > is selected then writing on this special file will -provide input for LIST. If < is used, then the file passed as an -argument will be connected to the output of the LIST process. For -example, - - paste <(cut -f1 FILE1) <(cut -f3 FILE2) | - tee >(PROCESS1) >(PROCESS2) >/dev/null - -cuts fields 1 and 3 from the files FILE1 and FILE2 respectively, pastes -the results together, and sends it to the processes PROCESS1 and -PROCESS2. - -If =(...) is used instead of <(...), then the file passed as an argument -will be the name of a temporary file containing the output of the LIST -process. This may be used instead of the < form for a program that -expects to lseek (see lseek(2)) on the input file. - -There is an optimisation for substitutions of the form =(<<<ARG), where -ARG is a single-word argument to the here-string redirection <<<. This -form produces a file name containing the value of ARG after any -substitutions have been performed. This is handled entirely within the -current shell. This is effectively the reverse of the special form -$(<ARG) which treats ARG as a file name and replaces it with the file's -contents. - -The = form is useful as both the /dev/fd and the named pipe -implementation of <(...) have drawbacks. In the former case, some -programmes may automatically close the file descriptor in question -before examining the file on the command line, particularly if this is -necessary for security reasons such as when the programme is running -setuid. In the second case, if the programme does not actually open the -file, the subshell attempting to read from or write to the pipe will (in -a typical implementation, different operating systems may have different -behaviour) block for ever and have to be killed explicitly. In both -cases, the shell actually supplies the information using a pipe, so that -programmes that expect to lseek (see lseek(2)) on the file will not -work. - -Also note that the previous example can be more compactly and -efficiently written (provided the MULTIOS option is set) as: - - paste <(cut -f1 FILE1) <(cut -f3 FILE2) > >(PROCESS1) > >(PROCESS2) - -The shell uses pipes instead of FIFOs to implement the latter two -process substitutions in the above example. - -There is an additional problem with >(PROCESS); when this is attached to -an external command, the parent shell does not wait for PROCESS to -finish and hence an immediately following command cannot rely on the -results being complete. The problem and solution are the same as -described in the section _MULTIOS_ in *note Redirection::. Hence in a -simplified version of the example above: - - paste <(cut -f1 FILE1) <(cut -f3 FILE2) > >(PROCESS) - -(note that no MULTIOS are involved), PROCESS will be run asynchronously -as far as the parent shell is concerned. The workaround is: - - { paste <(cut -f1 FILE1) <(cut -f3 FILE2) } > >(PROCESS) - -The extra processes here are spawned from the parent shell which will -wait for their completion. - -Another problem arises any time a job with a substitution that requires -a temporary file is disowned by the shell, including the case where '&!' -or '&|' appears at the end of a command containing a substitution. In -that case the temporary file will not be cleaned up as the shell no -longer has any memory of the job. A workaround is to use a subshell, -for example, - - (mycmd =(myoutput)) &! - -as the forked subshell will wait for the command to finish then remove -the temporary file. - -A general workaround to ensure a process substitution endures for an -appropriate length of time is to pass it as a parameter to an anonymous -shell function (a piece of shell code that is run immediately with -function scope). For example, this code: - - () { - print File $1: - cat $1 - } =(print This be the verse) - -outputs something resembling the following - - File /tmp/zsh6nU0kS: - This be the verse - -The temporary file created by the process substitution will be deleted -when the function exits. - - -File: zsh.info, Node: Parameter Expansion, Next: Command Substitution, Prev: Process Substitution, Up: Expansion - -14.3 Parameter Expansion -======================== - -The character '$' is used to introduce parameter expansions. See *note -Parameters:: for a description of parameters, including arrays, -associative arrays, and subscript notation to access individual array -elements. - -Note in particular the fact that words of unquoted parameters are not -automatically split on whitespace unless the option SH_WORD_SPLIT is -set; see references to this option below for more details. This is an -important difference from other shells. However, as in other shells, -null words are elided from unquoted parameters' expansions. - -With default options, after the assignments: - - array=("first word" "" "third word") - scalar="only word" - -then $array substitutes two words, 'first word' and 'third word', and -$scalar substitutes a single word 'only word'. Note that second element -of array was elided. Scalar parameters can be elided too if their value -is null (empty). To avoid elision, use quoting as follows: "$scalar" -for scalars and "${array[@]}" or "${(@)array}" for arrays. (The last -two forms are equivalent.) - -Parameter expansions can involve _flags_, as in '${(@kv)aliases}', and -other operators, such as '${PREFIX:-"/usr/local"}'. Parameter -expansions can also be nested. These topics will be introduced below. -The full rules are complicated and are noted at the end. - -In the expansions discussed below that require a pattern, the form of -the pattern is the same as that used for filename generation; see *note -Filename Generation::. Note that these patterns, along with the -replacement text of any substitutions, are themselves subject to -parameter expansion, command substitution, and arithmetic expansion. In -addition to the following operations, the colon modifiers described in -*note Modifiers:: in *note History Expansion:: can be applied: for -example, ${i:s/foo/bar/} performs string substitution on the expansion -of parameter $i. - -In the following descriptions, 'WORD' refers to a single word -substituted on the command line, not necessarily a space delimited word. - -${NAME} - The value, if any, of the parameter NAME is substituted. The - braces are required if the expansion is to be followed by a letter, - digit, or underscore that is not to be interpreted as part of NAME. - In addition, more complicated forms of substitution usually require - the braces to be present; exceptions, which only apply if the - option KSH_ARRAYS is not set, are a single subscript or any colon - modifiers appearing after the name, or any of the characters '^', - '=', '~', '#' or '+' appearing before the name, all of which work - with or without braces. - - If NAME is an array parameter, and the KSH_ARRAYS option is not - set, then the value of each element of NAME is substituted, one - element per word. Otherwise, the expansion results in one word - only; with KSH_ARRAYS, this is the first element of an array. No - field splitting is done on the result unless the SH_WORD_SPLIT - option is set. See also the flags = and s:STRING:. - -${+NAME} - If NAME is the name of a set parameter '1' is substituted, - otherwise '0' is substituted. - -${NAME-WORD} -${NAME:-WORD} - If NAME is set, or in the second form is non-null, then substitute - its value; otherwise substitute WORD. In the second form NAME may - be omitted, in which case WORD is always substituted. - -${NAME+WORD} -${NAME:+WORD} - If NAME is set, or in the second form is non-null, then substitute - WORD; otherwise substitute nothing. - -${NAME=WORD} -${NAME:=WORD} -${NAME::=WORD} - In the first form, if NAME is unset then set it to WORD; in the - second form, if NAME is unset or null then set it to WORD; and in - the third form, unconditionally set NAME to WORD. In all forms, - the value of the parameter is then substituted. - -${NAME?WORD} -${NAME:?WORD} - In the first form, if NAME is set, or in the second form if NAME is - both set and non-null, then substitute its value; otherwise, print - WORD and exit from the shell. Interactive shells instead return to - the prompt. If WORD is omitted, then a standard message is - printed. - -In any of the above expressions that test a variable and substitute an -alternate WORD, note that you can use standard shell quoting in the WORD -value to selectively override the splitting done by the SH_WORD_SPLIT -option and the = flag, but not splitting by the s:STRING: flag. - -In the following expressions, when NAME is an array and the substitution -is not quoted, or if the '(@)' flag or the NAME[@] syntax is used, -matching and replacement is performed on each array element separately. - -${NAME#PATTERN} -${NAME##PATTERN} - If the PATTERN matches the beginning of the value of NAME, then - substitute the value of NAME with the matched portion deleted; - otherwise, just substitute the value of NAME. In the first form, - the smallest matching pattern is preferred; in the second form, the - largest matching pattern is preferred. - -${NAME%PATTERN} -${NAME%%PATTERN} - If the PATTERN matches the end of the value of NAME, then - substitute the value of NAME with the matched portion deleted; - otherwise, just substitute the value of NAME. In the first form, - the smallest matching pattern is preferred; in the second form, the - largest matching pattern is preferred. - -${NAME:#PATTERN} - If the PATTERN matches the value of NAME, then substitute the empty - string; otherwise, just substitute the value of NAME. If NAME is - an array the matching array elements are removed (use the '(M)' - flag to remove the non-matched elements). - -${NAME:|ARRAYNAME} - If ARRAYNAME is the name (N.B., not contents) of an array variable, - then any elements contained in ARRAYNAME are removed from the - substitution of NAME. If the substitution is scalar, either - because NAME is a scalar variable or the expression is quoted, the - elements of ARRAYNAME are instead tested against the entire - expression. - -${NAME:*ARRAYNAME} - Similar to the preceding substitution, but in the opposite sense, - so that entries present in both the original substitution and as - elements of ARRAYNAME are retained and others removed. - -${NAME:^ARRAYNAME} -${NAME:^^ARRAYNAME} - Zips two arrays, such that the output array is twice as long as the - shortest (longest for ':^^') of name and arrayname, with the - elements alternatingly being picked from them. For ':^', if one of - the input arrays is longer, the output will stop when the end of - the shorter array is reached. Thus, - - a=(1 2 3 4); b=(a b); print ${a:^b} - - will output '1 a 2 b'. For ':^^', then the input is repeated until - all of the longer array has been used up and the above will output - '1 a 2 b 3 a 4 b'. - - Either or both inputs may be a scalar, they will be treated as an - array of length 1 with the scalar as the only element. If either - array is empty, the other array is output with no extra elements - inserted. - - Currently the following code will output 'a b' and '1' as two - separate elements, which can be unexpected. The second print - provides a workaround which should continue to work if this is - changed. - - a=(a b); b=(1 2); print -l "${a:^b}"; print -l "${${a:^b}}" - -${NAME:OFFSET} -${NAME:OFFSET:LENGTH} - This syntax gives effects similar to parameter subscripting in the - form $NAME[START,END], but is compatible with other shells; note - that both OFFSET and LENGTH are interpreted differently from the - components of a subscript. - - If OFFSET is non-negative, then if the variable NAME is a scalar - substitute the contents starting OFFSET characters from the first - character of the string, and if NAME is an array substitute - elements starting OFFSET elements from the first element. If - LENGTH is given, substitute that many characters or elements, - otherwise the entire rest of the scalar or array. - - A positive OFFSET is always treated as the offset of a character or - element in NAME from the first character or element of the array - (this is different from native zsh subscript notation). Hence 0 - refers to the first character or element regardless of the setting - of the option KSH_ARRAYS. - - A negative offset counts backwards from the end of the scalar or - array, so that -1 corresponds to the last character or element, and - so on. - - When positive, LENGTH counts from the OFFSET position toward the - end of the scalar or array. When negative, LENGTH counts back from - the end. If this results in a position smaller than OFFSET, a - diagnostic is printed and nothing is substituted. - - The option MULTIBYTE is obeyed, i.e. the offset and length count - multibyte characters where appropriate. - - OFFSET and LENGTH undergo the same set of shell substitutions as - for scalar assignment; in addition, they are then subject to - arithmetic evaluation. Hence, for example - - print ${foo:3} - print ${foo: 1 + 2} - print ${foo:$(( 1 + 2))} - print ${foo:$(echo 1 + 2)} - - all have the same effect, extracting the string starting at the - fourth character of $foo if the substitution would otherwise return - a scalar, or the array starting at the fourth element if $foo would - return an array. Note that with the option KSH_ARRAYS $foo always - returns a scalar (regardless of the use of the offset syntax) and a - form such as ${foo[*]:3} is required to extract elements of an - array named foo. - - If OFFSET is negative, the - may not appear immediately after the : - as this indicates the ${NAME:-WORD} form of substitution. Instead, - a space may be inserted before the -. Furthermore, neither OFFSET - nor LENGTH may begin with an alphabetic character or & as these are - used to indicate history-style modifiers. To substitute a value - from a variable, the recommended approach is to precede it with a $ - as this signifies the intention (parameter substitution can easily - be rendered unreadable); however, as arithmetic substitution is - performed, the expression ${var: offs} does work, retrieving the - offset from $offs. - - For further compatibility with other shells there is a special case - for array offset 0. This usually accesses the first element of the - array. However, if the substitution refers to the positional - parameter array, e.g. $@ or $*, then offset 0 instead refers to - $0, offset 1 refers to $1, and so on. In other words, the - positional parameter array is effectively extended by prepending - $0. Hence ${*:0:1} substitutes $0 and ${*:1:1} substitutes $1. - -${NAME/PATTERN/REPL} -${NAME//PATTERN/REPL} -${NAME:/PATTERN/REPL} - Replace the longest possible match of PATTERN in the expansion of - parameter NAME by string REPL. The first form replaces just the - first occurrence, the second form all occurrences, and the third - form replaces only if PATTERN matches the entire string. Both - PATTERN and REPL are subject to double-quoted substitution, so that - expressions like ${name/$opat/$npat} will work, but obey the usual - rule that pattern characters in $opat are not treated specially - unless either the option GLOB_SUBST is set, or $opat is instead - substituted as ${~opat}. - - The PATTERN may begin with a '#', in which case the PATTERN must - match at the start of the string, or '%', in which case it must - match at the end of the string, or '#%' in which case the PATTERN - must match the entire string. The REPL may be an empty string, in - which case the final '/' may also be omitted. To quote the final - '/' in other cases it should be preceded by a single backslash; - this is not necessary if the '/' occurs inside a substituted - parameter. Note also that the '#', '%' and '#% are not active if - they occur inside a substituted parameter, even at the start. - - If, after quoting rules apply, ${NAME} expands to an array, the - replacements act on each element individually. Note also the - effect of the I and S parameter expansion flags below; however, the - flags M, R, B, E and N are not useful. - - For example, - - foo="twinkle twinkle little star" sub="t*e" rep="spy" - print ${foo//${~sub}/$rep} - print ${(S)foo//${~sub}/$rep} - - Here, the '~' ensures that the text of $sub is treated as a pattern - rather than a plain string. In the first case, the longest match - for t*e is substituted and the result is 'spy star', while in the - second case, the shortest matches are taken and the result is 'spy - spy lispy star'. - -${#SPEC} - If SPEC is one of the above substitutions, substitute the length in - characters of the result instead of the result itself. If SPEC is - an array expression, substitute the number of elements of the - result. This has the side-effect that joining is skipped even in - quoted forms, which may affect other sub-expressions in SPEC. Note - that '^', '=', and '~', below, must appear to the left of '#' when - these forms are combined. - - If the option POSIX_IDENTIFIERS is not set, and SPEC is a simple - name, then the braces are optional; this is true even for special - parameters so e.g. $#- and $#* take the length of the string $- - and the array $* respectively. If POSIX_IDENTIFIERS is set, then - braces are required for the # to be treated in this fashion. - -${^SPEC} -${^^SPEC} - Turn on the RC_EXPAND_PARAM option for the evaluation of SPEC; if - the '^' is doubled, turn it off. When this option is set, array - expansions of the form FOO${XX}BAR, where the parameter XX is set - to (A B C), are substituted with 'FOOABAR FOOBBAR FOOCBAR' instead - of the default 'FOOA B CBAR'. Note that an empty array will - therefore cause all arguments to be removed. - - Internally, each such expansion is converted into the equivalent - list for brace expansion. E.g., ${^var} becomes - {$var[1],$var[2],...}, and is processed as described in *note Brace - Expansion:: below: note, however, the expansion happens - immediately, with any explicit brace expansion happening later. If - word splitting is also in effect the $var[N] may themselves be - split into different list elements. - -${=SPEC} -${==SPEC} - Perform word splitting using the rules for SH_WORD_SPLIT during the - evaluation of SPEC, but regardless of whether the parameter appears - in double quotes; if the '=' is doubled, turn it off. This forces - parameter expansions to be split into separate words before - substitution, using IFS as a delimiter. This is done by default in - most other shells. - - Note that splitting is applied to WORD in the assignment forms of - SPEC _before_ the assignment to NAME is performed. This affects - the result of array assignments with the A flag. - -${~SPEC} -${~~SPEC} - Turn on the GLOB_SUBST option for the evaluation of SPEC; if the - '~' is doubled, turn it off. When this option is set, the string - resulting from the expansion will be interpreted as a pattern - anywhere that is possible, such as in filename expansion and - filename generation and pattern-matching contexts like the right - hand side of the '=' and '!=' operators in conditions. - - In nested substitutions, note that the effect of the ~ applies to - the result of the current level of substitution. A surrounding - pattern operation on the result may cancel it. Hence, for example, - if the parameter foo is set to *, ${~foo//\*/*.c} is substituted by - the pattern *.c, which may be expanded by filename generation, but - ${${~foo}//\*/*.c} substitutes to the string *.c, which will not be - further expanded. - -If a ${...} type parameter expression or a $(...) type command -substitution is used in place of NAME above, it is expanded first and -the result is used as if it were the value of NAME. Thus it is possible -to perform nested operations: ${${foo#head}%tail} substitutes the value -of $foo with both 'head' and 'tail' deleted. The form with $(...) is -often useful in combination with the flags described next; see the -examples below. Each NAME or nested ${...} in a parameter expansion may -also be followed by a subscript expression as described in *note Array -Parameters::. - -Note that double quotes may appear around nested expressions, in which -case only the part inside is treated as quoted; for example, -${(f)"$(foo)"} quotes the result of $(foo), but the flag '(f)' (see -below) is applied using the rules for unquoted expansions. Note further -that quotes are themselves nested in this context; for example, in -"${(@f)"$(foo)"}", there are two sets of quotes, one surrounding the -whole expression, the other (redundant) surrounding the $(foo) as -before. - -14.3.1 Parameter Expansion Flags --------------------------------- - -If the opening brace is directly followed by an opening parenthesis, the -string up to the matching closing parenthesis will be taken as a list of -flags. In cases where repeating a flag is meaningful, the repetitions -need not be consecutive; for example, '(q%q%q)' means the same thing as -the more readable '(%%qqq)'. The following flags are supported: - -# - Evaluate the resulting words as numeric expressions and interpret - these as character codes. Output the corresponding characters. - Note that this form is entirely distinct from use of the # without - parentheses. - - If the MULTIBYTE option is set and the number is greater than 127 - (i.e. not an ASCII character) it is treated as a Unicode - character. - -% - Expand all % escapes in the resulting words in the same way as in - prompts (see *note Prompt Expansion::). If this flag is given - twice, full prompt expansion is done on the resulting words, - depending on the setting of the PROMPT_PERCENT, PROMPT_SUBST and - PROMPT_BANG options. - -@ - In double quotes, array elements are put into separate words. - E.g., '"${(@)foo}"' is equivalent to '"${foo[@]}"' and - '"${(@)foo[1,2]}"' is the same as '"$foo[1]" "$foo[2]"'. This is - distinct from _field splitting_ by the f, s or z flags, which still - applies within each array element. - -A - Convert the substitution into an array expression, even if it - otherwise would be scalar. This has lower precedence than - subscripting, so one level of nested expansion is required in order - that subscripts apply to array elements. Thus ${${(A)NAME}[1]} - yields the full value of NAME when NAME is scalar. - - This assigns an array parameter with '${...=...}', '${...:=...}' or - '${...::=...}'. If this flag is repeated (as in 'AA'), assigns an - associative array parameter. Assignment is made before sorting or - padding; if field splitting is active, the WORD part is split - before assignment. The NAME part may be a subscripted range for - ordinary arrays; when assigning an associative array, the WORD part - _must_ be converted to an array, for example by using - '${(AA)=NAME=...}' to activate field splitting. - - Surrounding context such as additional nesting or use of the value - in a scalar assignment may cause the array to be joined back into a - single string again. - -a - Sort in array index order; when combined with 'O' sort in reverse - array index order. Note that 'a' is therefore equivalent to the - default but 'Oa' is useful for obtaining an array's elements in - reverse order. - -b - Quote with backslashes only characters that are special to pattern - matching. This is useful when the contents of the variable are to - be tested using GLOB_SUBST, including the ${~...} switch. - - Quoting using one of the q family of flags does not work for this - purpose since quotes are not stripped from non-pattern characters - by GLOB_SUBST. In other words, - - pattern=${(q)str} - [[ $str = ${~pattern} ]] - - works if $str is 'a*b' but not if it is 'a b', whereas - - pattern=${(b)str} - [[ $str = ${~pattern} ]] - - is always true for any possible value of $str. - -c - With ${#NAME}, count the total number of characters in an array, as - if the elements were concatenated with spaces between them. This - is not a true join of the array, so other expressions used with - this flag may have an effect on the elements of the array before it - is counted. - -C - Capitalize the resulting words. 'Words' in this case refers to - sequences of alphanumeric characters separated by - non-alphanumerics, _not_ to words that result from field splitting. - -D - Assume the string or array elements contain directories and attempt - to substitute the leading part of these by names. The remainder of - the path (the whole of it if the leading part was not substituted) - is then quoted so that the whole string can be used as a shell - argument. This is the reverse of '~' substitution: see *note - Filename Expansion::. - -e - Perform single word shell expansions, namely _parameter expansion_, - _command substitution_ and _arithmetic expansion_, on the result. - Such expansions can be nested but too deep recursion may have - unpredictable effects. - -f - Split the result of the expansion at newlines. This is a shorthand - for 'ps:\n:'. - -F - Join the words of arrays together using newline as a separator. - This is a shorthand for 'pj:\n:'. - -g:OPTS: - Process escape sequences like the echo builtin when no options are - given (g::). With the o option, octal escapes don't take a leading - zero. With the c option, sequences like '^X' are also processed. - With the e option, processes '\M-t' and similar sequences like the - print builtin. With both of the o and e options, behaves like the - print builtin except that in none of these modes is '\c' - interpreted. - -i - Sort case-insensitively. May be combined with 'n' or 'O'. - -k - If NAME refers to an associative array, substitute the _keys_ - (element names) rather than the values of the elements. Used with - subscripts (including ordinary arrays), force indices or keys to be - substituted even if the subscript form refers to values. However, - this flag may not be combined with subscript ranges. With the - KSH_ARRAYS option a subscript '[*]' or '[@]' is needed to operate - on the whole array, as usual. - -L - Convert all letters in the result to lower case. - -n - Sort decimal integers numerically; if the first differing - characters of two test strings are not digits, sorting is lexical. - '+' and '-' are not treated specially; they are treated as any - other non-digit. Integers with more initial zeroes are sorted - before those with fewer or none. Hence the array 'foo+24 foo1 - foo02 foo2 foo3 foo20 foo23' is sorted into the order shown. May - be combined with 'i' or 'O'. - -- - As n, but a leading minus sign indicates a negative decimal - integer. A leading minus sign not followed by an integer does not - trigger numeric sorting. Note that '+' signs are not handled - specially (this may change in the future). - -o - Sort the resulting words in ascending order; if this appears on its - own the sorting is lexical and case-sensitive (unless the locale - renders it case-insensitive). Sorting in ascending order is the - default for other forms of sorting, so this is ignored if combined - with 'a', 'i', 'n' or '-'. - -O - Sort the resulting words in descending order; 'O' without 'a', 'i', - 'n' or '-' sorts in reverse lexical order. May be combined with - 'a', 'i', 'n' or '-' to reverse the order of sorting. - -P - This forces the value of the parameter NAME to be interpreted as a - further parameter name, whose value will be used where appropriate. - Note that flags set with one of the typeset family of commands (in - particular case transformations) are not applied to the value of - NAME used in this fashion. - - If used with a nested parameter or command substitution, the result - of that will be taken as a parameter name in the same way. For - example, if you have 'foo=bar' and 'bar=baz', the strings - ${(P)foo}, ${(P)${foo}}, and ${(P)$(echo bar)} will be expanded to - 'baz'. - - Likewise, if the reference is itself nested, the expression with - the flag is treated as if it were directly replaced by the - parameter name. It is an error if this nested substitution - produces an array with more than one word. For example, if - 'name=assoc' where the parameter assoc is an associative array, - then '${${(P)name}[elt]}' refers to the element of the associative - subscripted 'elt'. - -q - Quote characters that are special to the shell in the resulting - words with backslashes; unprintable or invalid characters are - quoted using the $'\NNN' form, with separate quotes for each octet. - - If this flag is given twice, the resulting words are quoted in - single quotes and if it is given three times, the words are quoted - in double quotes; in these forms no special handling of unprintable - or invalid characters is attempted. If the flag is given four - times, the words are quoted in single quotes preceded by a $. Note - that in all three of these forms quoting is done unconditionally, - even if this does not change the way the resulting string would be - interpreted by the shell. - - If a q- is given (only a single q may appear), a minimal form of - single quoting is used that only quotes the string if needed to - protect special characters. Typically this form gives the most - readable output. - - If a q+ is given, an extended form of minimal quoting is used that - causes unprintable characters to be rendered using $'...'. This - quoting is similar to that used by the output of values by the - typeset family of commands. - -Q - Remove one level of quotes from the resulting words. - -t - Use a string describing the type of the parameter where the value - of the parameter would usually appear. This string consists of - keywords separated by hyphens ('-'). The first keyword in the - string describes the main type, it can be one of 'scalar', 'array', - 'integer', 'float' or 'association'. The other keywords describe - the type in more detail: - - local - for local parameters - - left - for left justified parameters - - right_blanks - for right justified parameters with leading blanks - - right_zeros - for right justified parameters with leading zeros - - lower - for parameters whose value is converted to all lower case when - it is expanded - - upper - for parameters whose value is converted to all upper case when - it is expanded - - readonly - for readonly parameters - - tag - for tagged parameters - - tied - for parameters tied to another parameter in the manner of PATH - (colon-separated list) and path (array), whether these are - special parameters or user-defined with 'typeset -T' - - export - for exported parameters - - unique - for arrays which keep only the first occurrence of duplicated - values - - hide - for parameters with the 'hide' flag - - hideval - for parameters with the 'hideval' flag - - special - for special parameters defined by the shell - -u - Expand only the first occurrence of each unique word. - -U - Convert all letters in the result to upper case. - -v - Used with k, substitute (as two consecutive words) both the key and - the value of each associative array element. Used with subscripts, - force values to be substituted even if the subscript form refers to - indices or keys. - -V - Make any special characters in the resulting words visible. - -w - With ${#NAME}, count words in arrays or strings; the s flag may be - used to set a word delimiter. - -W - Similar to w with the difference that empty words between repeated - delimiters are also counted. - -X - With this flag, parsing errors occurring with the Q, e and # flags - or the pattern matching forms such as '${NAME#PATTERN}' are - reported. Without the flag, errors are silently ignored. - -z - Split the result of the expansion into words using shell parsing to - find the words, i.e. taking into account any quoting in the value. - Comments are not treated specially but as ordinary strings, similar - to interactive shells with the INTERACTIVE_COMMENTS option unset - (however, see the Z flag below for related options) - - Note that this is done very late, even later than the '(s)' flag. - So to access single words in the result use nested expansions as in - '${${(z)foo}[2]}'. Likewise, to remove the quotes in the resulting - words use '${(Q)${(z)foo}}'. - -0 - Split the result of the expansion on null bytes. This is a - shorthand for 'ps:\0:'. - -The following flags (except p) are followed by one or more arguments as -shown. Any character, or the matching pairs '(...)', '{...}', '[...]', -or '<...>', may be used in place of a colon as delimiters, but note that -when a flag takes more than one argument, a matched pair of delimiters -must surround each argument. - -p - Recognize the same escape sequences as the print builtin in string - arguments to any of the flags described below that follow this - argument. - - Alternatively, with this option string arguments may be in the form - $VAR in which case the value of the variable is substituted. Note - this form is strict; the string argument does not undergo general - parameter expansion. - - For example, - - sep=: - val=a:b:c - print ${(ps.$sep.)val} - - splits the variable on a :. - -~ - Strings inserted into the expansion by any of the flags below are - to be treated as patterns. This applies to the string arguments of - flags that follow ~ within the same set of parentheses. Compare - with ~ outside parentheses, which forces the entire substituted - string to be treated as a pattern. Hence, for example, - - [[ "?" = ${(~j.|.)array} ]] - - treats '|' as a pattern and succeeds if and only if $array contains - the string '?' as an element. The ~ may be repeated to toggle the - behaviour; its effect only lasts to the end of the parenthesised - group. - -j:STRING: - Join the words of arrays together using STRING as a separator. - Note that this occurs before field splitting by the s:STRING: flag - or the SH_WORD_SPLIT option. - -l:EXPR::STRING1::STRING2: - Pad the resulting words on the left. Each word will be truncated - if required and placed in a field EXPR characters wide. - - The arguments :STRING1: and :STRING2: are optional; neither, the - first, or both may be given. Note that the same pairs of - delimiters must be used for each of the three arguments. The space - to the left will be filled with STRING1 (concatenated as often as - needed) or spaces if STRING1 is not given. If both STRING1 and - STRING2 are given, STRING2 is inserted once directly to the left of - each word, truncated if necessary, before STRING1 is used to - produce any remaining padding. - - If either of STRING1 or STRING2 is present but empty, i.e. there - are two delimiters together at that point, the first character of - $IFS is used instead. - - If the MULTIBYTE option is in effect, the flag m may also be given, - in which case widths will be used for the calculation of padding; - otherwise individual multibyte characters are treated as occupying - one unit of width. - - If the MULTIBYTE option is not in effect, each byte in the string - is treated as occupying one unit of width. - - Control characters are always assumed to be one unit wide; this - allows the mechanism to be used for generating repetitions of - control characters. - -m - Only useful together with one of the flags l or r or with the # - length operator when the MULTIBYTE option is in effect. Use the - character width reported by the system in calculating how much of - the string it occupies or the overall length of the string. Most - printable characters have a width of one unit, however certain - Asian character sets and certain special effects use wider - characters; combining characters have zero width. Non-printable - characters are arbitrarily counted as zero width; how they would - actually be displayed will vary. - - If the m is repeated, the character either counts zero (if it has - zero width), else one. For printable character strings this has - the effect of counting the number of glyphs (visibly separate - characters), except for the case where combining characters - themselves have non-zero width (true in certain alphabets). - -r:EXPR::STRING1::STRING2: - As l, but pad the words on the right and insert STRING2 immediately - to the right of the string to be padded. - - Left and right padding may be used together. In this case the - strategy is to apply left padding to the first half width of each - of the resulting words, and right padding to the second half. If - the string to be padded has odd width the extra padding is applied - on the left. - -s:STRING: - Force field splitting at the separator STRING. Note that a STRING - of two or more characters means that all of them must match in - sequence; this differs from the treatment of two or more characters - in the IFS parameter. See also the = flag and the SH_WORD_SPLIT - option. An empty string may also be given in which case every - character will be a separate element. - - For historical reasons, the usual behaviour that empty array - elements are retained inside double quotes is disabled for arrays - generated by splitting; hence the following: - - line="one::three" - print -l "${(s.:.)line}" - - produces two lines of output for one and three and elides the empty - field. To override this behaviour, supply the '(@)' flag as well, - i.e. "${(@s.:.)line}". - -Z:OPTS: - As z but takes a combination of option letters between a following - pair of delimiter characters. With no options the effect is - identical to z. The following options are available: - - (Z+c+) - causes comments to be parsed as a string and retained; any - field in the resulting array beginning with an unquoted - comment character is a comment. - - (Z+C+) - causes comments to be parsed and removed. The rule for - comments is standard: anything between a word starting with - the third character of $HISTCHARS, default #, up to the next - newline is a comment. - - (Z+n+) - causes unquoted newlines to be treated as ordinary whitespace, - else they are treated as if they are shell code delimiters and - converted to semicolons. - - Options are combined within the same set of delimiters, e.g. - (Z+Cn+). - -_:FLAGS: - The underscore (_) flag is reserved for future use. As of this - revision of zsh, there are no valid FLAGS; anything following an - underscore, other than an empty pair of delimiters, is treated as - an error, and the flag itself has no effect. - -The following flags are meaningful with the ${...#...} or ${...%...} -forms. The S, I, and * flags may also be used with the ${.../...} -forms. - -S - With # or ##, search for the match that starts closest to the start - of the string (a 'substring match'). Of all matches at a - particular position, # selects the shortest and ## the longest: - - % str="aXbXc" - % echo ${(S)str#X*} - abXc - % echo ${(S)str##X*} - a - % - - With % or %%, search for the match that starts closest to the end - of the string: - - % str="aXbXc" - % echo ${(S)str%X*} - aXbc - % echo ${(S)str%%X*} - aXb - % - - (Note that % and %% don't search for the match that ends closest to - the end of the string, as one might expect.) - - With substitution via ${.../...} or ${...//...}, specifies - non-greedy matching, i.e. that the shortest instead of the longest - match should be replaced: - - % str="abab" - % echo ${str/*b/_} - _ - % echo ${(S)str/*b/_} - _ab - % - -I:EXPR: - Search the EXPRth match (where EXPR evaluates to a number). This - only applies when searching for substrings, either with the S flag, - or with ${.../...} (only the EXPRth match is substituted) or - ${...//...} (all matches from the EXPRth on are substituted). The - default is to take the first match. - - The EXPRth match is counted such that there is either one or zero - matches from each starting position in the string, although for - global substitution matches overlapping previous replacements are - ignored. With the ${...%...} and ${...%%...} forms, the starting - position for the match moves backwards from the end as the index - increases, while with the other forms it moves forward from the - start. - - Hence with the string - which switch is the right switch for Ipswich? - substitutions of the form ${(SI:N:)string#w*ch} as N increases from - 1 will match and remove 'which', 'witch', 'witch' and 'wich'; the - form using '##' will match and remove 'which switch is the right - switch for Ipswich', 'witch is the right switch for Ipswich', - 'witch for Ipswich' and 'wich'. The form using '%' will remove the - same matches as for '#', but in reverse order, and the form using - '%%' will remove the same matches as for '##' in reverse order. - -* - Enable EXTENDED_GLOB for substitution via ${.../...} or - ${...//...}. Note that '**' does not disable extendedglob. - -B - Include the index of the beginning of the match in the result. - -E - Include the index one character past the end of the match in the - result (note this is inconsistent with other uses of parameter - index). - -M - Include the matched portion in the result. - -N - Include the length of the match in the result. - -R - Include the unmatched portion in the result (the _R_est). - -14.3.2 Rules ------------- - -Here is a summary of the rules for substitution; this assumes that -braces are present around the substitution, i.e. ${...}. Some -particular examples are given below. Note that the Zsh Development -Group accepts _no responsibility_ for any brain damage which may occur -during the reading of the following rules. - -1. _Nested substitution_ - If multiple nested ${...} forms are present, substitution is - performed from the inside outwards. At each level, the - substitution takes account of whether the current value is a scalar - or an array, whether the whole substitution is in double quotes, - and what flags are supplied to the current level of substitution, - just as if the nested substitution were the outermost. The flags - are not propagated up to enclosing substitutions; the nested - substitution will return either a scalar or an array as determined - by the flags, possibly adjusted for quoting. All the following - steps take place where applicable at all levels of substitution. - - Note that, unless the '(P)' flag is present, the flags and any - subscripts apply directly to the value of the nested substitution; - for example, the expansion ${${foo}} behaves exactly the same as - ${foo}. When the '(P)' flag is present in a nested substitution, - the other substitution rules are applied to the value _before_ it - is interpreted as a name, so ${${(P)foo}} may differ from - ${(P)foo}. - - At each nested level of substitution, the substituted words undergo - all forms of single-word substitution (i.e. not filename - generation), including command substitution, arithmetic expansion - and filename expansion (i.e. leading ~ and =). Thus, for example, - ${${:-=cat}:h} expands to the directory where the cat program - resides. (Explanation: the internal substitution has no parameter - but a default value =cat, which is expanded by filename expansion - to a full path; the outer substitution then applies the modifier :h - and takes the directory part of the path.) - -2. _Internal parameter flags_ - Any parameter flags set by one of the typeset family of commands, - in particular the -L, -R, -Z, -u and -l options for padding and - capitalization, are applied directly to the parameter value. Note - these flags are options to the command, e.g. 'typeset -Z'; they - are not the same as the flags used within parameter substitutions. - - At the outermost level of substitution, the '(P)' flag (rule 4.) - ignores these transformations and uses the unmodified value of the - parameter as the name to be replaced. This is usually the desired - behavior because padding may make the value syntactically illegal - as a parameter name, but if capitalization changes are desired, use - the ${${(P)foo}} form (rule 25.). - -3. _Parameter subscripting_ - If the value is a raw parameter reference with a subscript, such as - ${VAR[3]}, the effect of subscripting is applied directly to the - parameter. Subscripts are evaluated left to right; subsequent - subscripts apply to the scalar or array value yielded by the - previous subscript. Thus if var is an array, ${var[1][2]} is the - second character of the first word, but ${var[2,4][2]} is the - entire third word (the second word of the range of words two - through four of the original array). Any number of subscripts may - appear. Flags such as '(k)' and '(v)' which alter the result of - subscripting are applied. - -4. _Parameter name replacement_ - At the outermost level of nesting only, the '(P)' flag is applied. - This treats the value so far as a parameter name (which may include - a subscript expression) and replaces that with the corresponding - value. This replacement occurs later if the '(P)' flag appears in - a nested substitution. - - If the value so far names a parameter that has internal flags (rule - 2.), those internal flags are applied to the new value after - replacement. - -5. _Double-quoted joining_ - If the value after this process is an array, and the substitution - appears in double quotes, and neither an '(@)' flag nor a '#' - length operator is present at the current level, then words of the - value are joined with the first character of the parameter $IFS, by - default a space, between each word (single word arrays are not - modified). If the '(j)' flag is present, that is used for joining - instead of $IFS. - -6. _Nested subscripting_ - Any remaining subscripts (i.e. of a nested substitution) are - evaluated at this point, based on whether the value is an array or - a scalar. As with 3., multiple subscripts can appear. Note that - ${foo[2,4][2]} is thus equivalent to ${${foo[2,4]}[2]} and also to - "${${(@)foo[2,4]}[2]}" (the nested substitution returns an array in - both cases), but not to "${${foo[2,4]}[2]}" (the nested - substitution returns a scalar because of the quotes). - -7. _Modifiers_ - Any modifiers, as specified by a trailing '#', '%', '/' (possibly - doubled) or by a set of modifiers of the form ':...' (see *note - Modifiers:: in *note History Expansion::), are applied to the words - of the value at this level. - -8. _Character evaluation_ - Any '(#)' flag is applied, evaluating the result so far numerically - as a character. - -9. _Length_ - Any initial '#' modifier, i.e. in the form ${#VAR}, is used to - evaluate the length of the expression so far. - -10. _Forced joining_ - If the '(j)' flag is present, or no '(j)' flag is present but the - string is to be split as given by rule 11., and joining did not - take place at rule 5., any words in the value are joined together - using the given string or the first character of $IFS if none. - Note that the '(F)' flag implicitly supplies a string for joining - in this manner. - -11. _Simple word splitting_ - If one of the '(s)' or '(f)' flags are present, or the '=' - specifier was present (e.g. ${=VAR}), the word is split on - occurrences of the specified string, or (for = with neither of the - two flags present) any of the characters in $IFS. - - If no '(s)', '(f)' or '=' was given, but the word is not quoted and - the option SH_WORD_SPLIT is set, the word is split on occurrences - of any of the characters in $IFS. Note this step, too, takes place - at all levels of a nested substitution. - -12. _Case modification_ - Any case modification from one of the flags '(L)', '(U)' or '(C)' - is applied. - -13. _Escape sequence replacement_ - First any replacements from the '(g)' flag are performed, then any - prompt-style formatting from the '(%)' family of flags is applied. - -14. _Quote application_ - Any quoting or unquoting using '(q)' and '(Q)' and related flags is - applied. - -15. _Directory naming_ - Any directory name substitution using '(D)' flag is applied. - -16. _Visibility enhancement_ - Any modifications to make characters visible using the '(V)' flag - are applied. - -17. _Lexical word splitting_ - If the '(z)' flag or one of the forms of the '(Z)' flag is present, - the word is split as if it were a shell command line, so that - quotation marks and other metacharacters are used to decide what - constitutes a word. Note this form of splitting is entirely - distinct from that described by rule 11.: it does not use $IFS, and - does not cause forced joining. - -18. _Uniqueness_ - If the result is an array and the '(u)' flag was present, duplicate - elements are removed from the array. - -19. _Ordering_ - If the result is still an array and one of the '(o)' or '(O)' flags - was present, the array is reordered. - -20. RC_EXPAND_PARAM - At this point the decision is made whether any resulting array - elements are to be combined element by element with surrounding - text, as given by either the RC_EXPAND_PARAM option or the '^' - flag. - -21. _Re-evaluation_ - Any '(e)' flag is applied to the value, forcing it to be - re-examined for new parameter substitutions, but also for command - and arithmetic substitutions. - -22. _Padding_ - Any padding of the value by the '(l.FILL.)' or '(r.FILL.)' flags is - applied. - -23. _Semantic joining_ - In contexts where expansion semantics requires a single word to - result, all words are rejoined with the first character of IFS - between. So in '${(P)${(f)lines}}' the value of ${lines} is split - at newlines, but then must be joined again before the '(P)' flag - can be applied. - - If a single word is not required, this rule is skipped. - -24. _Empty argument removal_ - If the substitution does not appear in double quotes, any resulting - zero-length argument, whether from a scalar or an element of an - array, is elided from the list of arguments inserted into the - command line. - - Strictly speaking, the removal happens later as the same happens - with other forms of substitution; the point to note here is simply - that it occurs after any of the above parameter operations. - -25. _Nested parameter name replacement_ - If the '(P)' flag is present and rule 4. has not applied, the value - so far is treated as a parameter name (which may include a - subscript expression) and replaced with the corresponding value, - with internal flags (rule 2.) applied to the new value. - -14.3.3 Examples ---------------- - -The flag f is useful to split a double-quoted substitution line by line. -For example, ${(f)"$(<FILE)"} substitutes the contents of FILE divided -so that each line is an element of the resulting array. Compare this -with the effect of $(<FILE) alone, which divides the file up by words, -or the same inside double quotes, which makes the entire content of the -file a single string. - -The following illustrates the rules for nested parameter expansions. -Suppose that $foo contains the array (bar baz): - -"${(@)${foo}[1]}" - This produces the result b. First, the inner substitution - "${foo}", which has no array (@) flag, produces a single word - result "bar baz". The outer substitution "${(@)...[1]}" detects - that this is a scalar, so that (despite the '(@)' flag) the - subscript picks the first character. - -"${${(@)foo}[1]}" - This produces the result 'bar'. In this case, the inner - substitution "${(@)foo}" produces the array '(bar baz)'. The outer - substitution "${...[1]}" detects that this is an array and picks - the first word. This is similar to the simple case "${foo[1]}". - -As an example of the rules for word splitting and joining, suppose $foo -contains the array '(ax1 bx1)'. Then - -${(s/x/)foo} - produces the words 'a', '1 b' and '1'. - -${(j/x/s/x/)foo} - produces 'a', '1', 'b' and '1'. - -${(s/x/)foo%%1*} - produces 'a' and ' b' (note the extra space). As substitution - occurs before either joining or splitting, the operation first - generates the modified array (ax bx), which is joined to give "ax - bx", and then split to give 'a', ' b' and ''. The final empty - string will then be elided, as it is not in double quotes. - - -File: zsh.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Parameter Expansion, Up: Expansion - -14.4 Command Substitution -========================= - -A command enclosed in parentheses preceded by a dollar sign, like -'$(...)', or quoted with grave accents, like '`...`', is replaced with -its standard output, with any trailing newlines deleted. If the -substitution is not enclosed in double quotes, the output is broken into -words using the IFS parameter. - -The substitution '$(cat FOO)' may be replaced by the faster '$(<FOO)'. -In this case FOO undergoes single word shell expansions (_parameter -expansion_, _command substitution_ and _arithmetic expansion_), but not -filename generation. - -If the option GLOB_SUBST is set, the result of any unquoted command -substitution, including the special form just mentioned, is eligible for -filename generation. - - -File: zsh.info, Node: Arithmetic Expansion, Next: Brace Expansion, Prev: Command Substitution, Up: Expansion - -14.5 Arithmetic Expansion -========================= - -A string of the form '$[EXP]' or '$((EXP))' is substituted with the -value of the arithmetic expression EXP. EXP is subjected to _parameter -expansion_, _command substitution_ and _arithmetic expansion_ before it -is evaluated. See *note Arithmetic Evaluation::. - - -File: zsh.info, Node: Brace Expansion, Next: Filename Expansion, Prev: Arithmetic Expansion, Up: Expansion - -14.6 Brace Expansion -==================== - -A string of the form 'FOO{XX,YY,ZZ}BAR' is expanded to the individual -words 'FOOXXBAR', 'FOOYYBAR' and 'FOOZZBAR'. Left-to-right order is -preserved. This construct may be nested. Commas may be quoted in order -to include them literally in a word. - -An expression of the form '{N1..N2}', where N1 and N2 are integers, is -expanded to every number between N1 and N2 inclusive. If either number -begins with a zero, all the resulting numbers will be padded with -leading zeroes to that minimum width, but for negative numbers the - -character is also included in the width. If the numbers are in -decreasing order the resulting sequence will also be in decreasing -order. - -An expression of the form '{N1..N2..N3}', where N1, N2, and N3 are -integers, is expanded as above, but only every N3th number starting from -N1 is output. If N3 is negative the numbers are output in reverse -order, this is slightly different from simply swapping N1 and N2 in the -case that the step N3 doesn't evenly divide the range. Zero padding can -be specified in any of the three numbers, specifying it in the third can -be useful to pad for example '{-99..100..01}' which is not possible to -specify by putting a 0 on either of the first two numbers (i.e. pad to -two characters). - -An expression of the form '{C1..C2}', where C1 and C2 are single -characters (which may be multibyte characters), is expanded to every -character in the range from C1 to C2 in whatever character sequence is -used internally. For characters with code points below 128 this is US -ASCII (this is the only case most users will need). If any intervening -character is not printable, appropriate quotation is used to render it -printable. If the character sequence is reversed, the output is in -reverse order, e.g. '{d..a}' is substituted as 'd c b a'. - -If a brace expression matches none of the above forms, it is left -unchanged, unless the option BRACE_CCL (an abbreviation for 'brace -character class') is set. In that case, it is expanded to a list of the -individual characters between the braces sorted into the order of the -characters in the ASCII character set (multibyte characters are not -currently handled). The syntax is similar to a [...] expression in -filename generation: '-' is treated specially to denote a range of -characters, but '^' or '!' as the first character is treated normally. -For example, '{abcdef0-9}' expands to 16 words 0 1 2 3 4 5 6 7 8 9 a b c -d e f. - -Note that brace expansion is not part of filename generation (globbing); -an expression such as */{foo,bar} is split into two separate words */foo -and */bar before filename generation takes place. In particular, note -that this is liable to produce a 'no match' error if _either_ of the two -expressions does not match; this is to be contrasted with */(foo|bar), -which is treated as a single pattern but otherwise has similar effects. - -To combine brace expansion with array expansion, see the ${^SPEC} form -described in *note Parameter Expansion:: above. - - -File: zsh.info, Node: Filename Expansion, Next: Filename Generation, Prev: Brace Expansion, Up: Expansion - -14.7 Filename Expansion -======================= - -Each word is checked to see if it begins with an unquoted '~'. If it -does, then the word up to a '/', or the end of the word if there is no -'/', is checked to see if it can be substituted in one of the ways -described here. If so, then the '~' and the checked portion are -replaced with the appropriate substitute value. - -A '~' by itself is replaced by the value of $HOME. A '~' followed by a -'+' or a '-' is replaced by current or previous working directory, -respectively. - -A '~' followed by a number is replaced by the directory at that position -in the directory stack. '~0' is equivalent to '~+', and '~1' is the top -of the stack. '~+' followed by a number is replaced by the directory at -that position in the directory stack. '~+0' is equivalent to '~+', and -'~+1' is the top of the stack. '~-' followed by a number is replaced by -the directory that many positions from the bottom of the stack. '~-0' -is the bottom of the stack. The PUSHD_MINUS option exchanges the -effects of '~+' and '~-' where they are followed by a number. - -* Menu: - -* Dynamic named directories:: -* Static named directories:: -* `=' expansion:: -* Notes:: - - -File: zsh.info, Node: Dynamic named directories, Next: Static named directories, Up: Filename Expansion - -14.7.1 Dynamic named directories --------------------------------- - -If the function zsh_directory_name exists, or the shell variable -zsh_directory_name_functions exists and contains an array of function -names, then the functions are used to implement dynamic directory -naming. The functions are tried in order until one returns status zero, -so it is important that functions test whether they can handle the case -in question and return an appropriate status. - -A '~' followed by a string NAMSTR in unquoted square brackets is treated -specially as a dynamic directory name. Note that the first unquoted -closing square bracket always terminates NAMSTR. The shell function is -passed two arguments: the string n (for name) and NAMSTR. It should -either set the array reply to a single element which is the directory -corresponding to the name and return status zero (executing an -assignment as the last statement is usually sufficient), or it should -return status non-zero. In the former case the element of reply is used -as the directory; in the latter case the substitution is deemed to have -failed. If all functions fail and the option NOMATCH is set, an error -results. - -The functions defined as above are also used to see if a directory can -be turned into a name, for example when printing the directory stack or -when expanding %~ in prompts. In this case each function is passed two -arguments: the string d (for directory) and the candidate for dynamic -naming. The function should either return non-zero status, if the -directory cannot be named by the function, or it should set the array -reply to consist of two elements: the first is the dynamic name for the -directory (as would appear within '~[...]'), and the second is the -prefix length of the directory to be replaced. For example, if the -trial directory is /home/myname/src/zsh and the dynamic name for -/home/myname/src (which has 16 characters) is s, then the function sets - - reply=(s 16) - -The directory name so returned is compared with possible static names -for parts of the directory path, as described below; it is used if the -prefix length matched (16 in the example) is longer than that matched by -any static name. - -It is not a requirement that a function implements both n and d calls; -for example, it might be appropriate for certain dynamic forms of -expansion not to be contracted to names. In that case any call with the -first argument d should cause a non-zero status to be returned. - -The completion system calls 'zsh_directory_name c' followed by -equivalent calls to elements of the array zsh_directory_name_functions, -if it exists, in order to complete dynamic names for directories. The -code for this should be as for any other completion function as -described in *note Completion System::. - -As a working example, here is a function that expands any dynamic names -beginning with the string p: to directories below /home/pws/perforce. -In this simple case a static name for the directory would be just as -effective. - - zsh_directory_name() { - emulate -L zsh - setopt extendedglob - local -a match mbegin mend - if [[ $1 = d ]]; then - # turn the directory into a name - if [[ $2 = (#b)(/home/pws/perforce/)([^/]##)* ]]; then - typeset -ga reply - reply=(p:$match[2] $(( ${#match[1]} + ${#match[2]} )) ) - else - return 1 - fi - elif [[ $1 = n ]]; then - # turn the name into a directory - [[ $2 != (#b)p:(?*) ]] && return 1 - typeset -ga reply - reply=(/home/pws/perforce/$match[1]) - elif [[ $1 = c ]]; then - # complete names - local expl - local -a dirs - dirs=(/home/pws/perforce/*(/:t)) - dirs=(p:${^dirs}) - _wanted dynamic-dirs expl 'dynamic directory' compadd -S\] -a dirs - return - else - return 1 - fi - return 0 - } - - -File: zsh.info, Node: Static named directories, Next: `=' expansion, Prev: Dynamic named directories, Up: Filename Expansion - -14.7.2 Static named directories -------------------------------- - -A '~' followed by anything not already covered consisting of any number -of alphanumeric characters or underscore ('_'), hyphen ('-'), or dot -('.') is looked up as a named directory, and replaced by the value of -that named directory if found. Named directories are typically home -directories for users on the system. They may also be defined if the -text after the '~' is the name of a string shell parameter whose value -begins with a '/'. Note that trailing slashes will be removed from the -path to the directory (though the original parameter is not modified). - -It is also possible to define directory names using the -d option to the -hash builtin. - -When the shell prints a path (e.g. when expanding %~ in prompts or when -printing the directory stack), the path is checked to see if it has a -named directory as its prefix. If so, then the prefix portion is -replaced with a '~' followed by the name of the directory. The shorter -of the two ways of referring to the directory is used, i.e. either the -directory name or the full path; the name is used if they are the same -length. The parameters $PWD and $OLDPWD are never abbreviated in this -fashion. - - -File: zsh.info, Node: `=' expansion, Next: Notes, Prev: Static named directories, Up: Filename Expansion - -14.7.3 '=' expansion --------------------- - -If a word begins with an unquoted '=' and the EQUALS option is set, the -remainder of the word is taken as the name of a command. If a command -exists by that name, the word is replaced by the full pathname of the -command. - - -File: zsh.info, Node: Notes, Prev: `=' expansion, Up: Filename Expansion - -14.7.4 Notes ------------- - -Filename expansion is performed on the right hand side of a parameter -assignment, including those appearing after commands of the typeset -family. In this case, the right hand side will be treated as a -colon-separated list in the manner of the PATH parameter, so that a '~' -or an '=' following a ':' is eligible for expansion. All such behaviour -can be disabled by quoting the '~', the '=', or the whole expression -(but not simply the colon); the EQUALS option is also respected. - -If the option MAGIC_EQUAL_SUBST is set, any unquoted shell argument in -the form 'IDENTIFIER=EXPRESSION' becomes eligible for file expansion as -described in the previous paragraph. Quoting the first '=' also -inhibits this. - - -File: zsh.info, Node: Filename Generation, Prev: Filename Expansion, Up: Expansion - -14.8 Filename Generation -======================== - -If a word contains an unquoted instance of one of the characters '*', -'(', '|', '<', '[', or '?', it is regarded as a pattern for filename -generation, unless the GLOB option is unset. If the EXTENDED_GLOB -option is set, the '^' and '#' characters also denote a pattern; -otherwise they are not treated specially by the shell. - -The word is replaced with a list of sorted filenames that match the -pattern. If no matching pattern is found, the shell gives an error -message, unless the NULL_GLOB option is set, in which case the word is -deleted; or unless the NOMATCH option is unset, in which case the word -is left unchanged. - -In filename generation, the character '/' must be matched explicitly; -also, a '.' must be matched explicitly at the beginning of a pattern or -after a '/', unless the GLOB_DOTS option is set. No filename generation -pattern matches the files '.' or '..'. In other instances of pattern -matching, the '/' and '.' are not treated specially. - -14.8.1 Glob Operators ---------------------- - -* - Matches any string, including the null string. - -? - Matches any character. - -[...] - Matches any of the enclosed characters. Ranges of characters can - be specified by separating two characters by a '-'. A '-' or ']' - may be matched by including it as the first character in the list. - There are also several named classes of characters, in the form - '[:NAME:]' with the following meanings. The first set use the - macros provided by the operating system to test for the given - character combinations, including any modifications due to local - language settings, see ctype(3): - - [:alnum:] - The character is alphanumeric - - [:alpha:] - The character is alphabetic - - [:ascii:] - The character is 7-bit, i.e. is a single-byte character - without the top bit set. - - [:blank:] - The character is a blank character - - [:cntrl:] - The character is a control character - - [:digit:] - The character is a decimal digit - - [:graph:] - The character is a printable character other than whitespace - - [:lower:] - The character is a lowercase letter - - [:print:] - The character is printable - - [:punct:] - The character is printable but neither alphanumeric nor - whitespace - - [:space:] - The character is whitespace - - [:upper:] - The character is an uppercase letter - - [:xdigit:] - The character is a hexadecimal digit - - Another set of named classes is handled internally by the shell and - is not sensitive to the locale: - - [:IDENT:] - The character is allowed to form part of a shell identifier, - such as a parameter name; this test respects the - POSIX_IDENTIFIERS option - - [:IFS:] - The character is used as an input field separator, i.e. is - contained in the IFS parameter - - [:IFSSPACE:] - The character is an IFS white space character; see the - documentation for IFS in *note Parameters Used By The Shell::. - - [:INCOMPLETE:] - Matches a byte that starts an incomplete multibyte character. - Note that there may be a sequence of more than one bytes that - taken together form the prefix of a multibyte character. To - test for a potentially incomplete byte sequence, use the - pattern '[[:INCOMPLETE:]]*'. This will never match a sequence - starting with a valid multibyte character. - - [:INVALID:] - Matches a byte that does not start a valid multibyte - character. Note this may be a continuation byte of an - incomplete multibyte character as any part of a multibyte - string consisting of invalid and incomplete multibyte - characters is treated as single bytes. - - [:WORD:] - The character is treated as part of a word; this test is - sensitive to the value of the WORDCHARS parameter - - Note that the square brackets are additional to those enclosing the - whole set of characters, so to test for a single alphanumeric - character you need '[[:alnum:]]'. Named character sets can be used - alongside other types, e.g. '[[:alpha:]0-9]'. - -[^...] -[!...] - Like [...], except that it matches any character which is not in - the given set. - -<[X]-[Y]> - Matches any number in the range X to Y, inclusive. Either of the - numbers may be omitted to make the range open-ended; hence '<->' - matches any number. To match individual digits, the [...] form is - more efficient. - - Be careful when using other wildcards adjacent to patterns of this - form; for example, <0-9>* will actually match any number whatsoever - at the start of the string, since the '<0-9>' will match the first - digit, and the '*' will match any others. This is a trap for the - unwary, but is in fact an inevitable consequence of the rule that - the longest possible match always succeeds. Expressions such as - '<0-9>[^[:digit:]]*' can be used instead. - -(...) - Matches the enclosed pattern. This is used for grouping. If the - KSH_GLOB option is set, then a '@', '*', '+', '?' or '!' - immediately preceding the '(' is treated specially, as detailed - below. The option SH_GLOB prevents bare parentheses from being - used in this way, though the KSH_GLOB option is still available. - - Note that grouping cannot extend over multiple directories: it is - an error to have a '/' within a group (this only applies for - patterns used in filename generation). There is one exception: a - group of the form (PAT/)# appearing as a complete path segment can - match a sequence of directories. For example, foo/(a*/)#bar - matches foo/bar, foo/any/bar, foo/any/anyother/bar, and so on. - -X|Y - Matches either X or Y. This operator has lower precedence than any - other. The '|' character must be within parentheses, to avoid - interpretation as a pipeline. The alternatives are tried in order - from left to right. - -^X - (Requires EXTENDED_GLOB to be set.) Matches anything except the - pattern X. This has a higher precedence than '/', so '^foo/bar' - will search directories in '.' except './foo' for a file named - 'bar'. - -X~Y - (Requires EXTENDED_GLOB to be set.) Match anything that matches - the pattern X but does not match Y. This has lower precedence than - any operator except '|', so '*/*~foo/bar' will search for all files - in all directories in '.' and then exclude 'foo/bar' if there was - such a match. Multiple patterns can be excluded by 'FOO~BAR~BAZ'. - In the exclusion pattern (Y), '/' and '.' are not treated specially - the way they usually are in globbing. - -X# - (Requires EXTENDED_GLOB to be set.) Matches zero or more - occurrences of the pattern X. This operator has high precedence; - '12#' is equivalent to '1(2#)', rather than '(12)#'. It is an - error for an unquoted '#' to follow something which cannot be - repeated; this includes an empty string, a pattern already followed - by '##', or parentheses when part of a KSH_GLOB pattern (for - example, '!(FOO)#' is invalid and must be replaced by '*(!(FOO))'). - -X## - (Requires EXTENDED_GLOB to be set.) Matches one or more - occurrences of the pattern X. This operator has high precedence; - '12##' is equivalent to '1(2##)', rather than '(12)##'. No more - than two active '#' characters may appear together. (Note the - potential clash with glob qualifiers in the form '1(2##)' which - should therefore be avoided.) - -14.8.2 ksh-like Glob Operators ------------------------------- - -If the KSH_GLOB option is set, the effects of parentheses can be -modified by a preceding '@', '*', '+', '?' or '!'. This character need -not be unquoted to have special effects, but the '(' must be. - -@(...) - Match the pattern in the parentheses. (Like '(...)'.) - -*(...) - Match any number of occurrences. (Like '(...)#', except that - recursive directory searching is not supported.) - -+(...) - Match at least one occurrence. (Like '(...)##', except that - recursive directory searching is not supported.) - -?(...) - Match zero or one occurrence. (Like '(|...)'.) - -!(...) - Match anything but the expression in parentheses. (Like - '(^(...))'.) - -14.8.3 Precedence ------------------ - -The precedence of the operators given above is (highest) '^', '/', '~', -'|' (lowest); the remaining operators are simply treated from left to -right as part of a string, with '#' and '##' applying to the shortest -possible preceding unit (i.e. a character, '?', '[...]', '<...>', or a -parenthesised expression). As mentioned above, a '/' used as a -directory separator may not appear inside parentheses, while a '|' must -do so; in patterns used in other contexts than filename generation (for -example, in case statements and tests within '[[...]]'), a '/' is not -special; and '/' is also not special after a '~' appearing outside -parentheses in a filename pattern. - -14.8.4 Globbing Flags ---------------------- - -There are various flags which affect any text to their right up to the -end of the enclosing group or to the end of the pattern; they require -the EXTENDED_GLOB option. All take the form (#X) where X may have one -of the following forms: - -i - Case insensitive: upper or lower case characters in the pattern - match upper or lower case characters. - -l - Lower case characters in the pattern match upper or lower case - characters; upper case characters in the pattern still only match - upper case characters. - -I - Case sensitive: locally negates the effect of i or l from that - point on. - -b - Activate backreferences for parenthesised groups in the pattern; - this does not work in filename generation. When a pattern with a - set of active parentheses is matched, the strings matched by the - groups are stored in the array $match, the indices of the beginning - of the matched parentheses in the array $mbegin, and the indices of - the end in the array $mend, with the first element of each array - corresponding to the first parenthesised group, and so on. These - arrays are not otherwise special to the shell. The indices use the - same convention as does parameter substitution, so that elements of - $mend and $mbegin may be used in subscripts; the KSH_ARRAYS option - is respected. Sets of globbing flags are not considered - parenthesised groups; only the first nine active parentheses can be - referenced. - - For example, - - foo="a_string_with_a_message" - if [[ $foo = (a|an)_(#b)(*) ]]; then - print ${foo[$mbegin[1],$mend[1]]} - fi - - prints 'string_with_a_message'. Note that the first set of - parentheses is before the (#b) and does not create a backreference. - - Backreferences work with all forms of pattern matching other than - filename generation, but note that when performing matches on an - entire array, such as ${ARRAY#PATTERN}, or a global substitution, - such as ${PARAM//PAT/REPL}, only the data for the last match - remains available. In the case of global replacements this may - still be useful. See the example for the m flag below. - - The numbering of backreferences strictly follows the order of the - opening parentheses from left to right in the pattern string, - although sets of parentheses may be nested. There are special - rules for parentheses followed by '#' or '##'. Only the last match - of the parenthesis is remembered: for example, in '[[ abab = - (#b)([ab])# ]]', only the final 'b' is stored in match[1]. Thus - extra parentheses may be necessary to match the complete segment: - for example, use 'X((ab|cd)#)Y' to match a whole string of either - 'ab' or 'cd' between 'X' and 'Y', using the value of $match[1] - rather than $match[2]. - - If the match fails none of the parameters is altered, so in some - cases it may be necessary to initialise them beforehand. If some - of the backreferences fail to match -- which happens if they are in - an alternate branch which fails to match, or if they are followed - by # and matched zero times -- then the matched string is set to - the empty string, and the start and end indices are set to -1. - - Pattern matching with backreferences is slightly slower than - without. - -B - Deactivate backreferences, negating the effect of the b flag from - that point on. - -cN,M - The flag (#cN,M) can be used anywhere that the # or ## operators - can be used except in the expressions '(*/)#' and '(*/)##' in - filename generation, where '/' has special meaning; it cannot be - combined with other globbing flags and a bad pattern error occurs - if it is misplaced. It is equivalent to the form {N,M} in regular - expressions. The previous character or group is required to match - between N and M times, inclusive. The form (#cN) requires exactly - N matches; (#c,M) is equivalent to specifying N as 0; (#cN,) - specifies that there is no maximum limit on the number of matches. - -m - Set references to the match data for the entire string matched; - this is similar to backreferencing and does not work in filename - generation. The flag must be in effect at the end of the pattern, - i.e. not local to a group. The parameters $MATCH, $MBEGIN and - $MEND will be set to the string matched and to the indices of the - beginning and end of the string, respectively. This is most useful - in parameter substitutions, as otherwise the string matched is - obvious. - - For example, - - arr=(veldt jynx grimps waqf zho buck) - print ${arr//(#m)[aeiou]/${(U)MATCH}} - - forces all the matches (i.e. all vowels) into uppercase, printing - 'vEldt jynx grImps wAqf zhO bUck'. - - Unlike backreferences, there is no speed penalty for using match - references, other than the extra substitutions required for the - replacement strings in cases such as the example shown. - -M - Deactivate the m flag, hence no references to match data will be - created. - -aNUM - Approximate matching: NUM errors are allowed in the string matched - by the pattern. The rules for this are described in the next - subsection. - -s, e - Unlike the other flags, these have only a local effect, and each - must appear on its own: '(#s)' and '(#e)' are the only valid forms. - The '(#s)' flag succeeds only at the start of the test string, and - the '(#e)' flag succeeds only at the end of the test string; they - correspond to '^' and '$' in standard regular expressions. They - are useful for matching path segments in patterns other than those - in filename generation (where path segments are in any case treated - separately). For example, '*((#s)|/)test((#e)|/)*' matches a path - segment 'test' in any of the following strings: test, - test/at/start, at/end/test, in/test/middle. - - Another use is in parameter substitution; for example - '${array/(#s)A*Z(#e)}' will remove only elements of an array which - match the complete pattern 'A*Z'. There are other ways of - performing many operations of this type, however the combination of - the substitution operations '/' and '//' with the '(#s)' and '(#e)' - flags provides a single simple and memorable method. - - Note that assertions of the form '(^(#s))' also work, i.e. match - anywhere except at the start of the string, although this actually - means 'anything except a zero-length portion at the start of the - string'; you need to use '(""~(#s))' to match a zero-length portion - of the string not at the start. - -q - A 'q' and everything up to the closing parenthesis of the globbing - flags are ignored by the pattern matching code. This is intended - to support the use of glob qualifiers, see below. The result is - that the pattern '(#b)(*).c(#q.)' can be used both for globbing and - for matching against a string. In the former case, the '(#q.)' - will be treated as a glob qualifier and the '(#b)' will not be - useful, while in the latter case the '(#b)' is useful for - backreferences and the '(#q.)' will be ignored. Note that colon - modifiers in the glob qualifiers are also not applied in ordinary - pattern matching. - -u - Respect the current locale in determining the presence of multibyte - characters in a pattern, provided the shell was compiled with - MULTIBYTE_SUPPORT. This overrides the MULTIBYTE option; the - default behaviour is taken from the option. Compare U. (Mnemonic: - typically multibyte characters are from Unicode in the UTF-8 - encoding, although any extension of ASCII supported by the system - library may be used.) - -U - All characters are considered to be a single byte long. The - opposite of u. This overrides the MULTIBYTE option. - -For example, the test string fooxx can be matched by the pattern -(#i)FOOXX, but not by (#l)FOOXX, (#i)FOO(#I)XX or ((#i)FOOX)X. The -string (#ia2)readme specifies case-insensitive matching of readme with -up to two errors. - -When using the ksh syntax for grouping both KSH_GLOB and EXTENDED_GLOB -must be set and the left parenthesis should be preceded by @. Note also -that the flags do not affect letters inside [...] groups, in other -words (#i)[a-z] still matches only lowercase letters. Finally, note -that when examining whole paths case-insensitively every directory must -be searched for all files which match, so that a pattern of the form -(#i)/foo/bar/... is potentially slow. - -14.8.5 Approximate Matching ---------------------------- - -When matching approximately, the shell keeps a count of the errors -found, which cannot exceed the number specified in the (#aNUM) flags. -Four types of error are recognised: - -1. - Different characters, as in fooxbar and fooybar. - -2. - Transposition of characters, as in banana and abnana. - -3. - A character missing in the target string, as with the pattern road - and target string rod. - -4. - An extra character appearing in the target string, as with stove - and strove. - -Thus, the pattern (#a3)abcd matches dcba, with the errors occurring by -using the first rule twice and the second once, grouping the string as -[d][cb][a] and [a][bc][d]. - -Non-literal parts of the pattern must match exactly, including -characters in character ranges: hence (#a1)??? matches strings of length -four, by applying rule 4 to an empty part of the pattern, but not -strings of length two, since all the ? must match. Other characters -which must match exactly are initial dots in filenames (unless the -GLOB_DOTS option is set), and all slashes in filenames, so that a/bc is -two errors from ab/c (the slash cannot be transposed with another -character). Similarly, errors are counted separately for non-contiguous -strings in the pattern, so that (ab|cd)ef is two errors from aebf. - -When using exclusion via the ~ operator, approximate matching is treated -entirely separately for the excluded part and must be activated -separately. Thus, (#a1)README~READ_ME matches READ.ME but not READ_ME, -as the trailing READ_ME is matched without approximation. However, -(#a1)README~(#a1)READ_ME does not match any pattern of the form READ?ME -as all such forms are now excluded. - -Apart from exclusions, there is only one overall error count; however, -the maximum errors allowed may be altered locally, and this can be -delimited by grouping. For example, (#a1)cat((#a0)dog)fox allows one -error in total, which may not occur in the dog section, and the pattern -(#a1)cat(#a0)dog(#a1)fox is equivalent. Note that the point at which an -error is first found is the crucial one for establishing whether to use -approximation; for example, (#a1)abc(#a0)xyz will not match abcdxyz, -because the error occurs at the 'x', where approximation is turned off. - -Entire path segments may be matched approximately, so that -'(#a1)/foo/d/is/available/at/the/bar' allows one error in any path -segment. This is much less efficient than without the (#a1), however, -since every directory in the path must be scanned for a possible -approximate match. It is best to place the (#a1) after any path -segments which are known to be correct. - -14.8.6 Recursive Globbing -------------------------- - -A pathname component of the form '(FOO/)#' matches a path consisting of -zero or more directories matching the pattern FOO. - -As a shorthand, '**/' is equivalent to '(*/)#'; note that this therefore -matches files in the current directory as well as subdirectories. Thus: - - ls -ld -- (*/)#bar - -or - - ls -ld -- **/bar - -does a recursive directory search for files named 'bar' (potentially -including the file 'bar' in the current directory). This form does not -follow symbolic links; the alternative form '***/' does, but is -otherwise identical. Neither of these can be combined with other forms -of globbing within the same path segment; in that case, the '*' -operators revert to their usual effect. - -Even shorter forms are available when the option GLOB_STAR_SHORT is set. -In that case if no / immediately follows a ** or *** they are treated as -if both a / plus a further * are present. Hence: - - setopt GLOBSTARSHORT - ls -ld -- **.c - -is equivalent to - - ls -ld -- **/*.c - -14.8.7 Glob Qualifiers ----------------------- - -Patterns used for filename generation may end in a list of qualifiers -enclosed in parentheses. The qualifiers specify which filenames that -otherwise match the given pattern will be inserted in the argument list. - -If the option BARE_GLOB_QUAL is set, then a trailing set of parentheses -containing no '|' or '(' characters (or '~' if it is special) is taken -as a set of glob qualifiers. A glob subexpression that would normally -be taken as glob qualifiers, for example '(^x)', can be forced to be -treated as part of the glob pattern by doubling the parentheses, in this -case producing '((^x))'. - -If the option EXTENDED_GLOB is set, a different syntax for glob -qualifiers is available, namely '(#qX)' where X is any of the same glob -qualifiers used in the other format. The qualifiers must still appear -at the end of the pattern. However, with this syntax multiple glob -qualifiers may be chained together. They are treated as a logical AND -of the individual sets of flags. Also, as the syntax is unambiguous, -the expression will be treated as glob qualifiers just as long any -parentheses contained within it are balanced; appearance of '|', '(' or -'~' does not negate the effect. Note that qualifiers will be recognised -in this form even if a bare glob qualifier exists at the end of the -pattern, for example '*(#q*)(.)' will recognise executable regular files -if both options are set; however, mixed syntax should probably be -avoided for the sake of clarity. Note that within conditions using the -'[[' form the presence of a parenthesised expression (#q...) at the end -of a string indicates that globbing should be performed; the expression -may include glob qualifiers, but it is also valid if it is simply (#q). -This does not apply to the right hand side of pattern match operators as -the syntax already has special significance. - -A qualifier may be any one of the following: - -/ - directories - -F - 'full' (i.e. non-empty) directories. Note that the opposite sense - (^F) expands to empty directories and all non-directories. Use - (/^F) for empty directories. - -. - plain files - -@ - symbolic links - -= - sockets - -p - named pipes (FIFOs) - -* - executable plain files (0100 or 0010 or 0001) - -% - device files (character or block special) - -%b - block special files - -%c - character special files - -r - owner-readable files (0400) - -w - owner-writable files (0200) - -x - owner-executable files (0100) - -A - group-readable files (0040) - -I - group-writable files (0020) - -E - group-executable files (0010) - -R - world-readable files (0004) - -W - world-writable files (0002) - -X - world-executable files (0001) - -s - setuid files (04000) - -S - setgid files (02000) - -t - files with the sticky bit (01000) - -fSPEC - files with access rights matching SPEC. This SPEC may be a octal - number optionally preceded by a '=', a '+', or a '-'. If none of - these characters is given, the behavior is the same as for '='. - The octal number describes the mode bits to be expected, if - combined with a '=', the value given must match the file-modes - exactly, with a '+', at least the bits in the given number must be - set in the file-modes, and with a '-', the bits in the number must - not be set. Giving a '?' instead of a octal digit anywhere in the - number ensures that the corresponding bits in the file-modes are - not checked, this is only useful in combination with '='. - - If the qualifier 'f' is followed by any other character anything up - to the next matching character ('[', '{', and '<' match ']', '}', - and '>' respectively, any other character matches itself) is taken - as a list of comma-separated SUB-SPECs. Each SUB-SPEC may be - either an octal number as described above or a list of any of the - characters 'u', 'g', 'o', and 'a', followed by a '=', a '+', or a - '-', followed by a list of any of the characters 'r', 'w', 'x', - 's', and 't', or an octal digit. The first list of characters - specify which access rights are to be checked. If a 'u' is given, - those for the owner of the file are used, if a 'g' is given, those - of the group are checked, a 'o' means to test those of other users, - and the 'a' says to test all three groups. The '=', '+', and '-' - again says how the modes are to be checked and have the same - meaning as described for the first form above. The second list of - characters finally says which access rights are to be expected: 'r' - for read access, 'w' for write access, 'x' for the right to execute - the file (or to search a directory), 's' for the setuid and setgid - bits, and 't' for the sticky bit. - - Thus, '*(f70?)' gives the files for which the owner has read, - write, and execute permission, and for which other group members - have no rights, independent of the permissions for other users. - The pattern '*(f-100)' gives all files for which the owner does not - have execute permission, and '*(f:gu+w,o-rx:)' gives the files for - which the owner and the other members of the group have at least - write permission, and for which other users don't have read or - execute permission. - -eSTRING -+CMD - The STRING will be executed as shell code. The filename will be - included in the list if and only if the code returns a zero status - (usually the status of the last command). - - In the first form, the first character after the 'e' will be used - as a separator and anything up to the next matching separator will - be taken as the STRING; '[', '{', and '<' match ']', '}', and '>', - respectively, while any other character matches itself. Note that - expansions must be quoted in the STRING to prevent them from being - expanded before globbing is done. STRING is then executed as shell - code. The string globqual is appended to the array - zsh_eval_context the duration of execution. - - During the execution of STRING the filename currently being tested - is available in the parameter REPLY; the parameter may be altered - to a string to be inserted into the list instead of the original - filename. In addition, the parameter reply may be set to an array - or a string, which overrides the value of REPLY. If set to an - array, the latter is inserted into the command line word by word. - - For example, suppose a directory contains a single file 'lonely'. - Then the expression '*(e:'reply=(${REPLY}{1,2})':)' will cause the - words 'lonely1' and 'lonely2' to be inserted into the command line. - Note the quoting of STRING. - - The form +CMD has the same effect, but no delimiters appear around - CMD. Instead, CMD is taken as the longest sequence of characters - following the + that are alphanumeric or underscore. Typically CMD - will be the name of a shell function that contains the appropriate - test. For example, - - nt() { [[ $REPLY -nt $NTREF ]] } - NTREF=reffile - ls -ld -- *(+nt) - - lists all files in the directory that have been modified more - recently than reffile. - -dDEV - files on the device DEV - -l[-|+]CT - files having a link count less than CT (-), greater than CT (+), or - equal to CT - -U - files owned by the effective user ID - -G - files owned by the effective group ID - -uID - files owned by user ID ID if that is a number. Otherwise, ID - specifies a user name: the character after the 'u' will be taken as - a separator and the string between it and the next matching - separator will be taken as a user name. The starting separators - '[', '{', and '<' match the final separators ']', '}', and '>', - respectively; any other character matches itself. The selected - files are those owned by this user. For example, 'u:foo:' or - 'u[foo]' selects files owned by user 'foo'. - -gID - like uID but with group IDs or names - -a[Mwhms][-|+]N - files accessed exactly N days ago. Files accessed within the last - N days are selected using a negative value for N (-N). Files - accessed more than N days ago are selected by a positive N value - (+N). Optional unit specifiers 'M', 'w', 'h', 'm' or 's' (e.g. - 'ah5') cause the check to be performed with months (of 30 days), - weeks, hours, minutes or seconds instead of days, respectively. An - explicit 'd' for days is also allowed. - - Any fractional part of the difference between the access time and - the current part in the appropriate units is ignored in the - comparison. For instance, 'echo *(ah-5)' would echo files accessed - within the last five hours, while 'echo *(ah+5)' would echo files - accessed at least six hours ago, as times strictly between five and - six hours are treated as five hours. - -m[Mwhms][-|+]N - like the file access qualifier, except that it uses the file - modification time. - -c[Mwhms][-|+]N - like the file access qualifier, except that it uses the file inode - change time. - -L[+|-]N - files less than N bytes (-), more than N bytes (+), or exactly N - bytes in length. - - If this flag is directly followed by a _size specifier_ 'k' ('K'), - 'm' ('M'), or 'p' ('P') (e.g. 'Lk-50') the check is performed with - kilobytes, megabytes, or blocks (of 512 bytes) instead. (On some - systems additional specifiers are available for gigabytes, 'g' or - 'G', and terabytes, 't' or 'T'.) If a size specifier is used a - file is regarded as "exactly" the size if the file size rounded up - to the next unit is equal to the test size. Hence '*(Lm1)' matches - files from 1 byte up to 1 Megabyte inclusive. Note also that the - set of files "less than" the test size only includes files that - would not match the equality test; hence '*(Lm-1)' only matches - files of zero size. - -^ - negates all qualifiers following it - -- - toggles between making the qualifiers work on symbolic links (the - default) and the files they point to, if any; any symbolic link for - whose target the 'stat' system call fails (whatever the cause of - the failure) is treated as a file in its own right - -M - sets the MARK_DIRS option for the current pattern - -T - appends a trailing qualifier mark to the filenames, analogous to - the LIST_TYPES option, for the current pattern (overrides M) - -N - sets the NULL_GLOB option for the current pattern - -D - sets the GLOB_DOTS option for the current pattern - -n - sets the NUMERIC_GLOB_SORT option for the current pattern - -YN - enables short-circuit mode: the pattern will expand to at most N - filenames. If more than N matches exist, only the first N matches - in directory traversal order will be considered. - - Implies oN when no oC qualifier is used. - -oC - specifies how the names of the files should be sorted. The - following values of C sort in the following ways: - - n - By name. - L - By the size (length) of the files. - l - By number of links. - a - By time of last access, youngest first. - m - By time of last modification, youngest first. - c - By time of last inode change, youngest first. - d - By directories: files in subdirectories appear before those in - the current directory at each level of the search -- this is - best combined with other criteria, for example 'odon' to sort - on names for files within the same directory. - N - No sorting is performed. - eSTRING - +CMD - Sort by shell code (see below). - - Note that the modifiers ^ and - are used, so '*(^-oL)' gives a list - of all files sorted by file size in descending order, following any - symbolic links. Unless oN is used, multiple order specifiers may - occur to resolve ties. - - The default sorting is n (by name) unless the Y glob qualifier is - used, in which case it is N (unsorted). - - oe and o+ are special cases; they are each followed by shell code, - delimited as for the e glob qualifier and the + glob qualifier - respectively (see above). The code is executed for each matched - file with the parameter REPLY set to the name of the file on entry - and globsort appended to zsh_eval_context. The code should modify - the parameter REPLY in some fashion. On return, the value of the - parameter is used instead of the file name as the string on which - to sort. Unlike other sort operators, oe and o+ may be repeated, - but note that the maximum number of sort operators of any kind that - may appear in any glob expression is 12. - -OC - like 'o', but sorts in descending order; i.e. '*(^oC)' is the same - as '*(OC)' and '*(^OC)' is the same as '*(oC)'; 'Od' puts files in - the current directory before those in subdirectories at each level - of the search. - -[BEG[,END]] - specifies which of the matched filenames should be included in the - returned list. The syntax is the same as for array subscripts. - BEG and the optional END may be mathematical expressions. As in - parameter subscripting they may be negative to make them count from - the last match backward. E.g.: '*(-OL[1,3])' gives a list of the - names of the three largest files. - -PSTRING - The STRING will be prepended to each glob match as a separate word. - STRING is delimited in the same way as arguments to the e glob - qualifier described above. The qualifier can be repeated; the - words are prepended separately so that the resulting command line - contains the words in the same order they were given in the list of - glob qualifiers. - - A typical use for this is to prepend an option before all - occurrences of a file name; for example, the pattern '*(P:-f:)' - produces the command line arguments '-f FILE1 -f FILE2 ...' - - If the modifier ^ is active, then STRING will be appended instead - of prepended. Prepending and appending is done independently so - both can be used on the same glob expression; for example by - writing '*(P:foo:^P:bar:^P:baz:)' which produces the command line - arguments 'foo baz FILE1 bar ...' - -More than one of these lists can be combined, separated by commas. The -whole list matches if at least one of the sublists matches (they are -'or'ed, the qualifiers in the sublists are 'and'ed). Some qualifiers, -however, affect all matches generated, independent of the sublist in -which they are given. These are the qualifiers 'M', 'T', 'N', 'D', 'n', -'o', 'O' and the subscripts given in brackets ('[...]'). - -If a ':' appears in a qualifier list, the remainder of the expression in -parenthesis is interpreted as a modifier (see *note Modifiers:: in *note -History Expansion::). Each modifier must be introduced by a separate -':'. Note also that the result after modification does not have to be -an existing file. The name of any existing file can be followed by a -modifier of the form '(:...)' even if no actual filename generation is -performed, although note that the presence of the parentheses causes the -entire expression to be subjected to any global pattern matching options -such as NULL_GLOB. Thus: - - ls -ld -- *(-/) - -lists all directories and symbolic links that point to directories, and - - ls -ld -- *(-@) - -lists all broken symbolic links, and - - ls -ld -- *(%W) - -lists all world-writable device files in the current directory, and - - ls -ld -- *(W,X) - -lists all files in the current directory that are world-writable or -world-executable, and - - print -rC1 /tmp/foo*(u0^@:t) - -outputs the basename of all root-owned files beginning with the string -'foo' in /tmp, ignoring symlinks, and - - ls -ld -- *.*~(lex|parse).[ch](^D^l1) - -lists all files having a link count of one whose names contain a dot -(but not those starting with a dot, since GLOB_DOTS is explicitly -switched off) except for lex.c, lex.h, parse.c and parse.h. - - print -rC1 b*.pro(#q:s/pro/shmo/)(#q.:s/builtin/shmiltin/) - -demonstrates how colon modifiers and other qualifiers may be chained -together. The ordinary qualifier '.' is applied first, then the colon -modifiers in order from left to right. So if EXTENDED_GLOB is set and -the base pattern matches the regular file builtin.pro, the shell will -print 'shmiltin.shmo'. - - -File: zsh.info, Node: Parameters, Next: Options, Prev: Expansion, Up: Top - -15 Parameters -************* - -15.1 Description -================ - -A parameter has a name, a value, and a number of attributes. A name may -be any sequence of alphanumeric characters and underscores, or the -single characters '*', '@', '#', '?', '-', '$', or '!'. A parameter -whose name begins with an alphanumeric or underscore is also referred to -as a _variable_. - -The attributes of a parameter determine the _type_ of its value, often -referred to as the parameter type or variable type, and also control -other processing that may be applied to the value when it is referenced. -The value type may be a _scalar_ (a string, an integer, or a floating -point number), an array (indexed numerically), or an _associative_ array -(an unordered set of name-value pairs, indexed by name, also referred to -as a _hash_). - -Named scalar parameters may have the _exported_, -x, attribute, to copy -them into the process environment, which is then passed from the shell -to any new processes that it starts. Exported parameters are called -_environment variables_. The shell also _imports_ environment variables -at startup time and automatically marks the corresponding parameters as -exported. Some environment variables are not imported for reasons of -security or because they would interfere with the correct operation of -other shell features. - -Parameters may also be _special_, that is, they have a predetermined -meaning to the shell. Special parameters cannot have their type changed -or their readonly attribute turned off, and if a special parameter is -unset, then later recreated, the special properties will be retained. - -To declare the type of a parameter, or to assign a string or numeric -value to a scalar parameter, use the typeset builtin. - -The value of a scalar parameter may also be assigned by writing: - - NAME=VALUE - -In scalar assignment, VALUE is expanded as a single string, in which the -elements of arrays are joined together; filename expansion is not -performed unless the option GLOB_ASSIGN is set. - -When the integer attribute, -i, or a floating point attribute, -E or -F, -is set for NAME, the VALUE is subject to arithmetic evaluation. -Furthermore, by replacing '=' with '+=', a parameter can be incremented -or appended to. See *note Array Parameters:: and *note Arithmetic -Evaluation:: for additional forms of assignment. - -Note that assignment may implicitly change the attributes of a -parameter. For example, assigning a number to a variable in arithmetic -evaluation may change its type to integer or float, and with GLOB_ASSIGN -assigning a pattern to a variable may change its type to an array. - -To reference the value of a parameter, write '$NAME' or '${NAME}'. See -*note Parameter Expansion:: for complete details. That section also -explains the effect of the difference between scalar and array -assignment on parameter expansion. -* Menu: - -* Array Parameters:: -* Positional Parameters:: -* Local Parameters:: -* Parameters Set By The Shell:: -* Parameters Used By The Shell:: - - -File: zsh.info, Node: Array Parameters, Next: Positional Parameters, Up: Parameters - -15.2 Array Parameters -===================== - -To assign an array value, write one of: - - set -A NAME VALUE ... - NAME=(VALUE ...) - NAME=([KEY]=VALUE ...) - -If no parameter NAME exists, an ordinary array parameter is created. If -the parameter NAME exists and is a scalar, it is replaced by a new -array. - -In the third form, KEY is an expression that will be evaluated in -arithmetic context (in its simplest form, an integer) that gives the -index of the element to be assigned with VALUE. In this form any -elements not explicitly mentioned that come before the largest index to -which a value is assigned are assigned an empty string. The indices may -be in any order. Note that this syntax is strict: [ and ]= must not be -quoted, and KEY may not consist of the unquoted string ]=, but is -otherwise treated as a simple string. The enhanced forms of subscript -expression that may be used when directly subscripting a variable name, -described in the section 'Array Subscripts' below, are not available. - -The syntaxes with and without the explicit key may be mixed. An -implicit KEY is deduced by incrementing the index from the previously -assigned element. Note that it is not treated as an error if latter -assignments in this form overwrite earlier assignments. - -For example, assuming the option KSH_ARRAYS is not set, the following: - - array=(one [3]=three four) - -causes the array variable array to contain four elements one, an empty -string, three and four, in that order. - -In the forms where only VALUE is specified, full command line expansion -is performed. - -In the [KEY]=VALUE form, both KEY and VALUE undergo all forms of -expansion allowed for single word shell expansions (this does not -include filename generation); these are as performed by the parameter -expansion flag (e) as described in *note Parameter Expansion::. Nested -parentheses may surround VALUE and are included as part of the value, -which is joined into a plain string; this differs from ksh which allows -the values themselves to be arrays. A future version of zsh may support -that. To cause the brackets to be interpreted as a character class for -filename generation, and therefore to treat the resulting list of files -as a set of values, quote the equal sign using any form of quoting. -Example: - - NAME=([a-z]'='*) - -To append to an array without changing the existing values, use one of -the following: - - NAME+=(VALUE ...) - NAME+=([KEY]=VALUE ...) - -In the second form KEY may specify an existing index as well as an index -off the end of the old array; any existing value is overwritten by -VALUE. Also, it is possible to use [KEY]+=VALUE to append to the -existing value at that index. - -Within the parentheses on the right hand side of either form of the -assignment, newlines and semicolons are treated the same as white space, -separating individual VALUEs. Any consecutive sequence of such -characters has the same effect. - -Ordinary array parameters may also be explicitly declared with: - - typeset -a NAME - -Associative arrays _must_ be declared before assignment, by using: - - typeset -A NAME - -When NAME refers to an associative array, the list in an assignment is -interpreted as alternating keys and values: - - set -A NAME KEY VALUE ... - NAME=(KEY VALUE ...) - NAME=([KEY]=VALUE ...) - -Note that only one of the two syntaxes above may be used in any given -assignment; the forms may not be mixed. This is unlike the case of -numerically indexed arrays. - -Every KEY must have a VALUE in this case. Note that this assigns to the -entire array, deleting any elements that do not appear in the list. The -append syntax may also be used with an associative array: - - NAME+=(KEY VALUE ...) - NAME+=([KEY]=VALUE ...) - -This adds a new key/value pair if the key is not already present, and -replaces the value for the existing key if it is. In the second form it -is also possible to use [KEY]+=VALUE to append to the existing value at -that key. Expansion is performed identically to the corresponding forms -for normal arrays, as described above. - -To create an empty array (including associative arrays), use one of: - - set -A NAME - NAME=() - -15.2.1 Array Subscripts ------------------------ - -Individual elements of an array may be selected using a subscript. A -subscript of the form '[EXP]' selects the single element EXP, where EXP -is an arithmetic expression which will be subject to arithmetic -expansion as if it were surrounded by '$((...))'. The elements are -numbered beginning with 1, unless the KSH_ARRAYS option is set in which -case they are numbered from zero. - -Subscripts may be used inside braces used to delimit a parameter name, -thus '${foo[2]}' is equivalent to '$foo[2]'. If the KSH_ARRAYS option -is set, the braced form is the only one that works, as bracketed -expressions otherwise are not treated as subscripts. - -If the KSH_ARRAYS option is not set, then by default accesses to an -array element with a subscript that evaluates to zero return an empty -string, while an attempt to write such an element is treated as an -error. For backward compatibility the KSH_ZERO_SUBSCRIPT option can be -set to cause subscript values 0 and 1 to be equivalent; see the -description of the option in *note Description of Options::. - -The same subscripting syntax is used for associative arrays, except that -no arithmetic expansion is applied to EXP. However, the parsing rules -for arithmetic expressions still apply, which affects the way that -certain special characters must be protected from interpretation. See -_Subscript Parsing_ below for details. - -A subscript of the form '[*]' or '[@]' evaluates to all elements of an -array; there is no difference between the two except when they appear -within double quotes. '"$foo[*]"' evaluates to '"$foo[1] $foo[2] ..."', -whereas '"$foo[@]"' evaluates to '"$foo[1]" "$foo[2]" ...'. For -associative arrays, '[*]' or '[@]' evaluate to all the values, in no -particular order. Note that this does not substitute the keys; see the -documentation for the 'k' flag under *note Parameter Expansion:: for -complete details. When an array parameter is referenced as '$NAME' -(with no subscript) it evaluates to '$NAME[*]', unless the KSH_ARRAYS -option is set in which case it evaluates to '${NAME[0]}' (for an -associative array, this means the value of the key '0', which may not -exist even if there are values for other keys). - -A subscript of the form '[EXP1,EXP2]' selects all elements in the range -EXP1 to EXP2, inclusive. (Associative arrays are unordered, and so do -not support ranges.) If one of the subscripts evaluates to a negative -number, say -N, then the Nth element from the end of the array is used. -Thus '$foo[-3]' is the third element from the end of the array foo, and -'$foo[1,-1]' is the same as '$foo[*]'. - -Subscripting may also be performed on non-array values, in which case -the subscripts specify a substring to be extracted. For example, if FOO -is set to 'foobar', then 'echo $FOO[2,5]' prints 'ooba'. Note that some -forms of subscripting described below perform pattern matching, and in -that case the substring extends from the start of the match of the first -subscript to the end of the match of the second subscript. For example, - - string="abcdefghijklm" - print ${string[(r)d?,(r)h?]} - -prints 'defghi'. This is an obvious generalisation of the rule for -single-character matches. For a single subscript, only a single -character is referenced (not the range of characters covered by the -match). - -Note that in substring operations the second subscript is handled -differently by the r and R subscript flags: the former takes the -shortest match as the length and the latter the longest match. Hence in -the former case a * at the end is redundant while in the latter case it -matches the whole remainder of the string. This does not affect the -result of the single subscript case as here the length of the match is -irrelevant. - -15.2.2 Array Element Assignment -------------------------------- - -A subscript may be used on the left side of an assignment like so: - - NAME[EXP]=VALUE - -In this form of assignment the element or range specified by EXP is -replaced by the expression on the right side. An array (but not an -associative array) may be created by assignment to a range or element. -Arrays do not nest, so assigning a parenthesized list of values to an -element or range changes the number of elements in the array, shifting -the other elements to accommodate the new values. (This is not -supported for associative arrays.) - -This syntax also works as an argument to the typeset command: - - typeset "NAME[EXP]"=VALUE - -The VALUE may _not_ be a parenthesized list in this case; only -single-element assignments may be made with typeset. Note that quotes -are necessary in this case to prevent the brackets from being -interpreted as filename generation operators. The noglob precommand -modifier could be used instead. - -To delete an element of an ordinary array, assign '()' to that element. -To delete an element of an associative array, use the unset command: - - unset "NAME[EXP]" - -15.2.3 Subscript Flags ----------------------- - -If the opening bracket, or the comma in a range, in any subscript -expression is directly followed by an opening parenthesis, the string up -to the matching closing one is considered to be a list of flags, as in -'NAME[(FLAGS)EXP]'. - -The flags s, n and b take an argument; the delimiter is shown below as -':', but any character, or the matching pairs '(...)', '{...}', '[...]', -or '<...>', may be used, but note that '<...>' can only be used if the -subscript is inside a double quoted expression or a parameter -substitution enclosed in braces as otherwise the expression is -interpreted as a redirection. - -The flags currently understood are: - -w - If the parameter subscripted is a scalar then this flag makes - subscripting work on words instead of characters. The default word - separator is whitespace. When combined with the i or I flag, the - effect is to produce the index of the first character of the - first/last word which matches the given pattern; note that a failed - match in this case always yields 0. - -s:STRING: - This gives the STRING that separates words (for use with the w - flag). The delimiter character : is arbitrary; see above. - -p - Recognize the same escape sequences as the print builtin in the - string argument of a subsequent 's' flag. - -f - If the parameter subscripted is a scalar then this flag makes - subscripting work on lines instead of characters, i.e. with - elements separated by newlines. This is a shorthand for 'pws:\n:'. - -r - Reverse subscripting: if this flag is given, the EXP is taken as a - pattern and the result is the first matching array element, - substring or word (if the parameter is an array, if it is a scalar, - or if it is a scalar and the 'w' flag is given, respectively). The - subscript used is the number of the matching element, so that pairs - of subscripts such as '$foo[(r)??,3]' and '$foo[(r)??,(r)f*]' are - possible if the parameter is not an associative array. If the - parameter is an associative array, only the value part of each pair - is compared to the pattern, and the result is that value. - - If a search through an ordinary array failed, the search sets the - subscript to one past the end of the array, and hence - ${array[(r)PATTERN]} will substitute the empty string. Thus the - success of a search can be tested by using the (i) flag, for - example (assuming the option KSH_ARRAYS is not in effect): - - [[ ${array[(i)pattern]} -le ${#array} ]] - - If KSH_ARRAYS is in effect, the -le should be replaced by -lt. - -R - Like 'r', but gives the last match. For associative arrays, gives - all possible matches. May be used for assigning to ordinary array - elements, but not for assigning to associative arrays. On failure, - for normal arrays this has the effect of returning the element - corresponding to subscript 0; this is empty unless one of the - options KSH_ARRAYS or KSH_ZERO_SUBSCRIPT is in effect. - - Note that in subscripts with both 'r' and 'R' pattern characters - are active even if they were substituted for a parameter - (regardless of the setting of GLOB_SUBST which controls this - feature in normal pattern matching). The flag 'e' can be added to - inhibit pattern matching. As this flag does not inhibit other - forms of substitution, care is still required; using a parameter to - hold the key has the desired effect: - - key2='original key' - print ${array[(Re)$key2]} - -i - Like 'r', but gives the index of the match instead; this may not be - combined with a second argument. On the left side of an - assignment, behaves like 'r'. For associative arrays, the key part - of each pair is compared to the pattern, and the first matching key - found is the result. On failure substitutes the length of the - array plus one, as discussed under the description of 'r', or the - empty string for an associative array. - - Note: Although 'i' may be applied to a scalar substitution to find - the offset of a substring, the results are likely to be misleading - when searching within substitutions that yield an empty string, or - when searching for the empty substring. - -I - Like 'i', but gives the index of the last match, or all possible - matching keys in an associative array. On failure substitutes 0, - or the empty string for an associative array. This flag is best - when testing for values or keys that do not exist. - - Note: If the option KSH_ARRAYS is in effect and no match is found, - the result is indistinguishable from the case when the first - element of the array matches. - -k - If used in a subscript on an associative array, this flag causes - the keys to be interpreted as patterns, and returns the value for - the first key found where EXP is matched by the key. Note this - could be any such key as no ordering of associative arrays is - defined. This flag does not work on the left side of an assignment - to an associative array element. If used on another type of - parameter, this behaves like 'r'. - -K - On an associative array this is like 'k' but returns all values - where EXP is matched by the keys. On other types of parameters - this has the same effect as 'R'. - -n:EXPR: - If combined with 'r', 'R', 'i' or 'I', makes them give the Nth or - Nth last match (if EXPR evaluates to N). This flag is ignored when - the array is associative. The delimiter character : is arbitrary; - see above. - -b:EXPR: - If combined with 'r', 'R', 'i' or 'I', makes them begin at the Nth - or Nth last element, word, or character (if EXPR evaluates to N). - This flag is ignored when the array is associative. The delimiter - character : is arbitrary; see above. - -e - This flag causes any pattern matching that would be performed on - the subscript to use plain string matching instead. Hence - '${array[(re)*]}' matches only the array element whose value is *. - Note that other forms of substitution such as parameter - substitution are not inhibited. - - This flag can also be used to force * or @ to be interpreted as a - single key rather than as a reference to all values. It may be - used for either purpose on the left side of an assignment. - -See _Parameter Expansion Flags_ (*note Parameter Expansion::) for -additional ways to manipulate the results of array subscripting. - -15.2.4 Subscript Parsing ------------------------- - -This discussion applies mainly to associative array key strings and to -patterns used for reverse subscripting (the 'r', 'R', 'i', etc. flags), -but it may also affect parameter substitutions that appear as part of an -arithmetic expression in an ordinary subscript. - -To avoid subscript parsing limitations in assignments to associative -array elements, use the append syntax: - - aa+=('key with "*strange*" characters' 'value string') - -The basic rule to remember when writing a subscript expression is that -all text between the opening '[' and the closing ']' is interpreted _as -if_ it were in double quotes (*note Quoting::). However, unlike double -quotes which normally cannot nest, subscript expressions may appear -inside double-quoted strings or inside other subscript expressions (or -both!), so the rules have two important differences. - -The first difference is that brackets ('[' and ']') must appear as -balanced pairs in a subscript expression unless they are preceded by a -backslash ('\'). Therefore, within a subscript expression (and unlike -true double-quoting) the sequence '\[' becomes '[', and similarly '\]' -becomes ']'. This applies even in cases where a backslash is not -normally required; for example, the pattern '[^[]' (to match any -character other than an open bracket) should be written '[^\[]' in a -reverse-subscript pattern. However, note that '\[^\[\]' and even -'\[^[]' mean the _same_ thing, because backslashes are always stripped -when they appear before brackets! - -The same rule applies to parentheses ('(' and ')') and braces ('{' and -'}'): they must appear either in balanced pairs or preceded by a -backslash, and backslashes that protect parentheses or braces are -removed during parsing. This is because parameter expansions may be -surrounded by balanced braces, and subscript flags are introduced by -balanced parentheses. - -The second difference is that a double-quote ('"') may appear as part of -a subscript expression without being preceded by a backslash, and -therefore that the two characters '\"' remain as two characters in the -subscript (in true double-quoting, '\"' becomes '"'). However, because -of the standard shell quoting rules, any double-quotes that appear must -occur in balanced pairs unless preceded by a backslash. This makes it -more difficult to write a subscript expression that contains an odd -number of double-quote characters, but the reason for this difference is -so that when a subscript expression appears inside true double-quotes, -one can still write '\"' (rather than '\\\"') for '"'. - -To use an odd number of double quotes as a key in an assignment, use the -typeset builtin and an enclosing pair of double quotes; to refer to the -value of that key, again use double quotes: - - typeset -A aa - typeset "aa[one\"two\"three\"quotes]"=QQQ - print "$aa[one\"two\"three\"quotes]" - -It is important to note that the quoting rules do not change when a -parameter expansion with a subscript is nested inside another subscript -expression. That is, it is not necessary to use additional backslashes -within the inner subscript expression; they are removed only once, from -the innermost subscript outwards. Parameters are also expanded from the -innermost subscript first, as each expansion is encountered left to -right in the outer expression. - -A further complication arises from a way in which subscript parsing is -_not_ different from double quote parsing. As in true double-quoting, -the sequences '\*', and '\@' remain as two characters when they appear -in a subscript expression. To use a literal '*' or '@' as an -associative array key, the 'e' flag must be used: - - typeset -A aa - aa[(e)*]=star - print $aa[(e)*] - -A last detail must be considered when reverse subscripting is performed. -Parameters appearing in the subscript expression are first expanded and -then the complete expression is interpreted as a pattern. This has two -effects: first, parameters behave as if GLOB_SUBST were on (and it -cannot be turned off); second, backslashes are interpreted twice, once -when parsing the array subscript and again when parsing the pattern. In -a reverse subscript, it's necessary to use _four_ backslashes to cause a -single backslash to match literally in the pattern. For complex -patterns, it is often easiest to assign the desired pattern to a -parameter and then refer to that parameter in the subscript, because -then the backslashes, brackets, parentheses, etc., are seen only when -the complete expression is converted to a pattern. To match the value -of a parameter literally in a reverse subscript, rather than as a -pattern, use '${(q)NAME}' (*note Parameter Expansion::) to quote the -expanded value. - -Note that the 'k' and 'K' flags are reverse subscripting for an ordinary -array, but are _not_ reverse subscripting for an associative array! -(For an associative array, the keys in the array itself are interpreted -as patterns by those flags; the subscript is a plain string in that -case.) - -One final note, not directly related to subscripting: the numeric names -of positional parameters (*note Positional Parameters::) are parsed -specially, so for example '$2foo' is equivalent to '${2}foo'. -Therefore, to use subscript syntax to extract a substring from a -positional parameter, the expansion must be surrounded by braces; for -example, '${2[3,5]}' evaluates to the third through fifth characters of -the second positional parameter, but '$2[3,5]' is the entire second -parameter concatenated with the filename generation pattern '[3,5]'. - - -File: zsh.info, Node: Positional Parameters, Next: Local Parameters, Prev: Array Parameters, Up: Parameters - -15.3 Positional Parameters -========================== - -The positional parameters provide access to the command-line arguments -of a shell function, shell script, or the shell itself; see *note -Invocation::, and also *note Functions::. The parameter N, where N is a -number, is the Nth positional parameter. The parameter '$0' is a -special case, see *note Parameters Set By The Shell::. - -The parameters *, @ and argv are arrays containing all the positional -parameters; thus '$argv[N]', etc., is equivalent to simply '$N'. Note -that the options KSH_ARRAYS or KSH_ZERO_SUBSCRIPT apply to these arrays -as well, so with either of those options set, '${argv[0]}' is equivalent -to '$1' and so on. - -Positional parameters may be changed after the shell or function starts -by using the set builtin, by assigning to the argv array, or by direct -assignment of the form 'N=VALUE' where N is the number of the positional -parameter to be changed. This also creates (with empty values) any of -the positions from 1 to N that do not already have values. Note that, -because the positional parameters form an array, an array assignment of -the form 'N=(VALUE ...)' is allowed, and has the effect of shifting all -the values at positions greater than N by as many positions as necessary -to accommodate the new values. - - -File: zsh.info, Node: Local Parameters, Next: Parameters Set By The Shell, Prev: Positional Parameters, Up: Parameters - -15.4 Local Parameters -===================== - -Shell function executions delimit scopes for shell parameters. -(Parameters are dynamically scoped.) The typeset builtin, and its -alternative forms declare, integer, local and readonly (but not export), -can be used to declare a parameter as being local to the innermost -scope. - -When a parameter is read or assigned to, the innermost existing -parameter of that name is used. (That is, the local parameter hides any -less-local parameter.) However, assigning to a non-existent parameter, -or declaring a new parameter with export, causes it to be created in the -_outer_most scope. - -Local parameters disappear when their scope ends. unset can be used to -delete a parameter while it is still in scope; any outer parameter of -the same name remains hidden. - -Special parameters may also be made local; they retain their special -attributes unless either the existing or the newly-created parameter has -the -h (hide) attribute. This may have unexpected effects: there is no -default value, so if there is no assignment at the point the variable is -made local, it will be set to an empty value (or zero in the case of -integers). The following: - - typeset PATH=/new/directory:$PATH - -is valid for temporarily allowing the shell or programmes called from it -to find the programs in /new/directory inside a function. - -Note that the restriction in older versions of zsh that local parameters -were never exported has been removed. - - -File: zsh.info, Node: Parameters Set By The Shell, Next: Parameters Used By The Shell, Prev: Local Parameters, Up: Parameters - -15.5 Parameters Set By The Shell -================================ - -In the parameter lists that follow, the mark '<S>' indicates that the -parameter is special. '<Z>' indicates that the parameter does not exist -when the shell initializes in sh or ksh emulation mode. - -The parameters '!', '#', '*', '-', '?', '@', '$', 'ARGC', 'HISTCMD', -'LINENO', 'PPID', 'status', 'TTYIDLE', 'zsh_eval_context', -'ZSH_EVAL_CONTEXT', and 'ZSH_SUBSHELL' are read-only and thus cannot be -restored by the user, so they are not output by 'typeset -p'. This also -applies to many read-only parameters loaded from modules. - -The following parameters are automatically set by the shell: - -! <S> - The process ID of the last command started in the background with - &, put into the background with the bg builtin, or spawned with - coproc. - -# <S> - The number of positional parameters in decimal. Note that some - confusion may occur with the syntax $#PARAM which substitutes the - length of PARAM. Use ${#} to resolve ambiguities. In particular, - the sequence '$#-...' in an arithmetic expression is interpreted as - the length of the parameter -, q.v. - -ARGC <S> <Z> - Same as #. - -$ <S> - The process ID of this shell, set when the shell initializes. - Processes forked from the shell without executing a new program, - such as command substitutions and commands grouped with (...), are - subshells that duplicate the current shell, and thus substitute the - same value for $$ as their parent shell. - -- <S> - Flags supplied to the shell on invocation or by the set or setopt - commands. - -* <S> - An array containing the positional parameters. - -argv <S> <Z> - Same as *. Assigning to argv changes the local positional - parameters, but argv is _not_ itself a local parameter. Deleting - argv with unset in any function deletes it everywhere, although - only the innermost positional parameter array is deleted (so * and - @ in other scopes are not affected). - -@ <S> - Same as argv[@], even when argv is not set. - -? <S> - The exit status returned by the last command. - -0 <S> - The name used to invoke the current shell, or as set by the -c - command line option upon invocation. If the FUNCTION_ARGZERO - option is set, $0 is set upon entry to a shell function to the name - of the function, and upon entry to a sourced script to the name of - the script, and reset to its previous value when the function or - script returns. - -status <S> <Z> - Same as ?. - -pipestatus <S> <Z> - An array containing the exit statuses returned by all commands in - the last pipeline. - -_ <S> - The last argument of the previous command. Also, this parameter is - set in the environment of every command executed to the full - pathname of the command. - -CPUTYPE - The machine type (microprocessor class or machine model), as - determined at run time. - -EGID <S> - The effective group ID of the shell process. If you have - sufficient privileges, you may change the effective group ID of the - shell process by assigning to this parameter. Also (assuming - sufficient privileges), you may start a single command with a - different effective group ID by '(EGID=GID; command)' - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -EUID <S> - The effective user ID of the shell process. If you have sufficient - privileges, you may change the effective user ID of the shell - process by assigning to this parameter. Also (assuming sufficient - privileges), you may start a single command with a different - effective user ID by '(EUID=UID; command)' - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -ERRNO <S> - The value of errno (see errno(3)) as set by the most recently - failed system call. This value is system dependent and is intended - for debugging purposes. It is also useful with the zsh/system - module which allows the number to be turned into a name or message. - - To use this parameter, it must first be assigned a value (typically - 0 (zero)). It is initially unset for scripting compatibility. - -FUNCNEST <S> - Integer. If greater than or equal to zero, the maximum nesting - depth of shell functions. When it is exceeded, an error is raised - at the point where a function is called. The default value is - determined when the shell is configured, but is typically 500. - Increasing the value increases the danger of a runaway function - recursion causing the shell to crash. Setting a negative value - turns off the check. - -GID <S> - The real group ID of the shell process. If you have sufficient - privileges, you may change the group ID of the shell process by - assigning to this parameter. Also (assuming sufficient - privileges), you may start a single command under a different group - ID by '(GID=GID; command)' - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -HISTCMD - The current history event number in an interactive shell, in other - words the event number for the command that caused $HISTCMD to be - read. If the current history event modifies the history, HISTCMD - changes to the new maximum history event number. - -HOST - The current hostname. - -LINENO <S> - The line number of the current line within the current script, - sourced file, or shell function being executed, whichever was - started most recently. Note that in the case of shell functions - the line number refers to the function as it appeared in the - original definition, not necessarily as displayed by the functions - builtin. - -LOGNAME - If the corresponding variable is not set in the environment of the - shell, it is initialized to the login name corresponding to the - current login session. This parameter is exported by default but - this can be disabled using the typeset builtin. The value is set - to the string returned by the getlogin(3) system call if that is - available. - -MACHTYPE - The machine type (microprocessor class or machine model), as - determined at compile time. - -OLDPWD - The previous working directory. This is set when the shell - initializes and whenever the directory changes. - -OPTARG <S> - The value of the last option argument processed by the getopts - command. - -OPTIND <S> - The index of the last option argument processed by the getopts - command. - -OSTYPE - The operating system, as determined at compile time. - -PPID <S> - The process ID of the parent of the shell, set when the shell - initializes. As with $$, the value does not change in subshells - created as a duplicate of the current shell. - -PWD - The present working directory. This is set when the shell - initializes and whenever the directory changes. - -RANDOM <S> - A pseudo-random integer from 0 to 32767, newly generated each time - this parameter is referenced. The random number generator can be - seeded by assigning a numeric value to RANDOM. - - The values of RANDOM form an intentionally-repeatable pseudo-random - sequence; subshells that reference RANDOM will result in identical - pseudo-random values unless the value of RANDOM is referenced or - seeded in the parent shell in between subshell invocations. - -SECONDS <S> - The number of seconds since shell invocation. If this parameter is - assigned a value, then the value returned upon reference will be - the value that was assigned plus the number of seconds since the - assignment. - - Unlike other special parameters, the type of the SECONDS parameter - can be changed using the typeset command. The type may be changed - only to one of the floating point types or back to integer. For - example, 'typeset -F SECONDS' causes the value to be reported as a - floating point number. The value is available to microsecond - accuracy, although the shell may show more or fewer digits - depending on the use of typeset. See the documentation for the - builtin typeset in *note Shell Builtin Commands:: for more details. - -SHLVL <S> - Incremented by one each time a new shell is started. - -signals - An array containing the names of the signals. Note that with the - standard zsh numbering of array indices, where the first element - has index 1, the signals are offset by 1 from the signal number - used by the operating system. For example, on typical Unix-like - systems HUP is signal number 1, but is referred to as $signals[2]. - This is because of EXIT at position 1 in the array, which is used - internally by zsh but is not known to the operating system. - -TRY_BLOCK_ERROR <S> - In an always block, indicates whether the preceding list of code - caused an error. The value is 1 to indicate an error, 0 otherwise. - It may be reset, clearing the error condition. See *note Complex - Commands:: - -TRY_BLOCK_INTERRUPT <S> - This variable works in a similar way to TRY_BLOCK_ERROR, but - represents the status of an interrupt from the signal SIGINT, which - typically comes from the keyboard when the user types ^C. If set - to 0, any such interrupt will be reset; otherwise, the interrupt is - propagated after the always block. - - Note that it is possible that an interrupt arrives during the - execution of the always block; this interrupt is also propagated. - -TTY - The name of the tty associated with the shell, if any. - -TTYIDLE <S> - The idle time of the tty associated with the shell in seconds or -1 - if there is no such tty. - -UID <S> - The real user ID of the shell process. If you have sufficient - privileges, you may change the user ID of the shell by assigning to - this parameter. Also (assuming sufficient privileges), you may - start a single command under a different user ID by '(UID=UID; - command)' - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -USERNAME <S> - The username corresponding to the real user ID of the shell - process. If you have sufficient privileges, you may change the - username (and also the user ID and group ID) of the shell by - assigning to this parameter. Also (assuming sufficient - privileges), you may start a single command under a different - username (and user ID and group ID) by '(USERNAME=USERNAME; - command)' - -VENDOR - The vendor, as determined at compile time. - -zsh_eval_context <S> <Z> (ZSH_EVAL_CONTEXT <S>) - An array (colon-separated list) indicating the context of shell - code that is being run. Each time a piece of shell code that is - stored within the shell is executed a string is temporarily - appended to the array to indicate the type of operation that is - being performed. Read in order the array gives an indication of - the stack of operations being performed with the most immediate - context last. - - Note that the variable does not give information on syntactic - context such as pipelines or subshells. Use $ZSH_SUBSHELL to - detect subshells. - - The context is one of the following: - cmdarg - Code specified by the -c option to the command line that - invoked the shell. - - cmdsubst - Command substitution using the `...` or $(...) construct. - - equalsubst - File substitution using the =(...) construct. - - eval - Code executed by the eval builtin. - - evalautofunc - Code executed with the KSH_AUTOLOAD mechanism in order to - define an autoloaded function. - - fc - Code from the shell history executed by the -e option to the - fc builtin. - - file - Lines of code being read directly from a file, for example by - the source builtin. - - filecode - Lines of code being read from a .zwc file instead of directly - from the source file. - - globqual - Code executed by the e or + glob qualifier. - - globsort - Code executed to order files by the o glob qualifier. - - insubst - File substitution using the <(...) construct. - - loadautofunc - Code read directly from a file to define an autoloaded - function. - - outsubst - File substitution using the >(...) construct. - - sched - Code executed by the sched builtin. - - shfunc - A shell function. - - stty - Code passed to stty by the STTY environment variable. - Normally this is passed directly to the system's stty command, - so this value is unlikely to be seen in practice. - - style - Code executed as part of a style retrieved by the zstyle - builtin from the zsh/zutil module. - - toplevel - The highest execution level of a script or interactive shell. - - trap - Code executed as a trap defined by the trap builtin. Traps - defined as functions have the context shfunc. As traps are - asynchronous they may have a different hierarchy from other - code. - - zpty - Code executed by the zpty builtin from the zsh/zpty module. - - zregexparse-guard - Code executed as a guard by the zregexparse command from the - zsh/zutil module. - - zregexparse-action - Code executed as an action by the zregexparse command from the - zsh/zutil module. - -ZSH_ARGZERO - If zsh was invoked to run a script, this is the name of the script. - Otherwise, it is the name used to invoke the current shell. This - is the same as the value of $0 when the POSIX_ARGZERO option is - set, but is always available. - -ZSH_EXECUTION_STRING - If the shell was started with the option -c, this contains the - argument passed to the option. Otherwise it is not set. - -ZSH_NAME - Expands to the basename of the command used to invoke this instance - of zsh. - -ZSH_PATCHLEVEL - The output of 'git describe --tags --long' for the zsh repository - used to build the shell. This is most useful in order to keep - track of versions of the shell during development between releases; - hence most users should not use it and should instead rely on - $ZSH_VERSION. - -zsh_scheduled_events - See *note The zsh/sched Module::. - -ZSH_SCRIPT - If zsh was invoked to run a script, this is the name of the script, - otherwise it is unset. - -ZSH_SUBSHELL - Readonly integer. Initially zero, incremented each time the shell - forks to create a subshell for executing code. Hence '(print - $ZSH_SUBSHELL)' and 'print $(print $ZSH_SUBSHELL)' output 1, while - '( (print $ZSH_SUBSHELL) )' outputs 2. - -ZSH_VERSION - The version number of the release of zsh. - - -File: zsh.info, Node: Parameters Used By The Shell, Prev: Parameters Set By The Shell, Up: Parameters - -15.6 Parameters Used By The Shell -================================= - -The following parameters are used by the shell. Again, '<S>' indicates -that the parameter is special and '<Z>' indicates that the parameter -does not exist when the shell initializes in sh or ksh emulation mode. - -In cases where there are two parameters with an upper- and lowercase -form of the same name, such as path and PATH, the lowercase form is an -array and the uppercase form is a scalar with the elements of the array -joined together by colons. These are similar to tied parameters created -via 'typeset -T'. The normal use for the colon-separated form is for -exporting to the environment, while the array form is easier to -manipulate within the shell. Note that unsetting either of the pair -will unset the other; they retain their special properties when -recreated, and recreating one of the pair will recreate the other. - -ARGV0 - If exported, its value is used as the argv[0] of external commands. - Usually used in constructs like 'ARGV0=emacs nethack'. - -BAUD - The rate in bits per second at which data reaches the terminal. - The line editor will use this value in order to compensate for a - slow terminal by delaying updates to the display until necessary. - If the parameter is unset or the value is zero the compensation - mechanism is turned off. The parameter is not set by default. - - This parameter may be profitably set in some circumstances, e.g. - for slow modems dialing into a communications server, or on a slow - wide area network. It should be set to the baud rate of the - slowest part of the link for best performance. - -cdpath <S> <Z> (CDPATH <S>) - An array (colon-separated list) of directories specifying the - search path for the cd command. - -COLUMNS <S> - The number of columns for this terminal session. Used for printing - select lists and for the line editor. - -CORRECT_IGNORE - If set, is treated as a pattern during spelling correction. Any - potential correction that matches the pattern is ignored. For - example, if the value is '_*' then completion functions (which, by - convention, have names beginning with '_') will never be offered as - spelling corrections. The pattern does not apply to the correction - of file names, as applied by the CORRECT_ALL option (so with the - example just given files beginning with '_' in the current - directory would still be completed). - -CORRECT_IGNORE_FILE - If set, is treated as a pattern during spelling correction of file - names. Any file name that matches the pattern is never offered as - a correction. For example, if the value is '.*' then dot file - names will never be offered as spelling corrections. This is - useful with the CORRECT_ALL option. - -DIRSTACKSIZE - The maximum size of the directory stack, by default there is no - limit. If the stack gets larger than this, it will be truncated - automatically. This is useful with the AUTO_PUSHD option. - -ENV - If the ENV environment variable is set when zsh is invoked as sh or - ksh, $ENV is sourced after the profile scripts. The value of ENV - is subjected to parameter expansion, command substitution, and - arithmetic expansion before being interpreted as a pathname. Note - that ENV is _not_ used unless the shell is interactive and zsh is - emulating ‘sh’ or ‘ksh’. - -FCEDIT - The default editor for the fc builtin. If FCEDIT is not set, the - parameter EDITOR is used; if that is not set either, a builtin - default, usually vi, is used. - -fignore <S> <Z> (FIGNORE <S>) - An array (colon separated list) containing the suffixes of files to - be ignored during filename completion. However, if completion only - generates files with suffixes in this list, then these files are - completed anyway. - -fpath <S> <Z> (FPATH <S>) - An array (colon separated list) of directories specifying the - search path for function definitions. This path is searched when a - function with the -u attribute is referenced. If an executable - file is found, then it is read and executed in the current - environment. - -histchars <S> - Three characters used by the shell's history and lexical analysis - mechanism. The first character signals the start of a history - expansion (default '!'). The second character signals the start of - a quick history substitution (default '^'). The third character is - the comment character (default '#'). - - The characters must be in the ASCII character set; any attempt to - set histchars to characters with a locale-dependent meaning will be - rejected with an error message. - -HISTCHARS <S> <Z> - Same as histchars. (Deprecated.) - -HISTFILE - The file to save the history in when an interactive shell exits. - If unset, the history is not saved. - -HISTORY_IGNORE - If set, is treated as a pattern at the time history files are - written. Any potential history entry that matches the pattern is - skipped. For example, if the value is 'fc *' then commands that - invoke the interactive history editor are never written to the - history file. - - Note that HISTORY_IGNORE defines a single pattern: to specify - alternatives use the '(FIRST|SECOND|...)' syntax. - - Compare the HIST_NO_STORE option or the zshaddhistory hook, either - of which would prevent such commands from being added to the - interactive history at all. If you wish to use HISTORY_IGNORE to - stop history being added in the first place, you can define the - following hook: - - zshaddhistory() { - emulate -L zsh - ## uncomment if HISTORY_IGNORE - ## should use EXTENDED_GLOB syntax - # setopt extendedglob - [[ $1 != ${~HISTORY_IGNORE} ]] - } - -HISTSIZE <S> - The maximum number of events stored in the internal history list. - If you use the HIST_EXPIRE_DUPS_FIRST option, setting this value - larger than the SAVEHIST size will give you the difference as a - cushion for saving duplicated history events. - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -HOME <S> - The default argument for the cd command. This is not set - automatically by the shell in sh, ksh or csh emulation, but it is - typically present in the environment anyway, and if it becomes set - it has its usual special behaviour. - -IFS <S> - Internal field separators (by default space, tab, newline and NUL), - that are used to separate words which result from command or - parameter expansion and words read by the read builtin. Any - characters from the set space, tab and newline that appear in the - IFS are called _IFS white space_. One or more IFS white space - characters or one non-IFS white space character together with any - adjacent IFS white space character delimit a field. If an IFS - white space character appears twice consecutively in the IFS, this - character is treated as if it were not an IFS white space - character. - - If the parameter is unset, the default is used. Note this has a - different effect from setting the parameter to an empty string. - -KEYBOARD_HACK - This variable defines a character to be removed from the end of the - command line before interpreting it (interactive shells only). It - is intended to fix the problem with keys placed annoyingly close to - return and replaces the SUNKEYBOARDHACK option which did this for - backquotes only. Should the chosen character be one of - singlequote, doublequote or backquote, there must also be an odd - number of them on the command line for the last one to be removed. - - For backward compatibility, if the SUNKEYBOARDHACK option is - explicitly set, the value of KEYBOARD_HACK reverts to backquote. - If the option is explicitly unset, this variable is set to empty. - -KEYTIMEOUT - The time the shell waits, in hundredths of seconds, for another key - to be pressed when reading bound multi-character sequences. - -LANG <S> - This variable determines the locale category for any category not - specifically selected via a variable starting with 'LC_'. - -LC_ALL <S> - This variable overrides the value of the 'LANG' variable and the - value of any of the other variables starting with 'LC_'. - -LC_COLLATE <S> - This variable determines the locale category for character - collation information within ranges in glob brackets and for - sorting. - -LC_CTYPE <S> - This variable determines the locale category for character handling - functions. If the MULTIBYTE option is in effect this variable or - LANG should contain a value that reflects the character set in use, - even if it is a single-byte character set, unless only the 7-bit - subset (ASCII) is used. For example, if the character set is - ISO-8859-1, a suitable value might be en_US.iso88591 (certain Linux - distributions) or en_US.ISO8859-1 (MacOS). - -LC_MESSAGES <S> - This variable determines the language in which messages should be - written. Note that zsh does not use message catalogs. - -LC_NUMERIC <S> - This variable affects the decimal point character and thousands - separator character for the formatted input/output functions and - string conversion functions. Note that zsh ignores this setting - when parsing floating point mathematical expressions. - -LC_TIME <S> - This variable determines the locale category for date and time - formatting in prompt escape sequences. - -LINES <S> - The number of lines for this terminal session. Used for printing - select lists and for the line editor. - -LISTMAX - In the line editor, the number of matches to list without asking - first. If the value is negative, the list will be shown if it - spans at most as many lines as given by the absolute value. If set - to zero, the shell asks only if the top of the listing would scroll - off the screen. - -MAIL - If this parameter is set and mailpath is not set, the shell looks - for mail in the specified file. - -MAILCHECK - The interval in seconds between checks for new mail. - -mailpath <S> <Z> (MAILPATH <S>) - An array (colon-separated list) of filenames to check for new mail. - Each filename can be followed by a '?' and a message that will be - printed. The message will undergo parameter expansion, command - substitution and arithmetic expansion with the variable $_ defined - as the name of the file that has changed. The default message is - 'You have new mail'. If an element is a directory instead of a - file the shell will recursively check every file in every - subdirectory of the element. - -manpath <S> <Z> (MANPATH <S> <Z>) - An array (colon-separated list) whose value is not used by the - shell. The manpath array can be useful, however, since setting it - also sets MANPATH, and vice versa. - -match -mbegin -mend - Arrays set by the shell when the b globbing flag is used in pattern - matches. See the subsection _Globbing flags_ in *note Filename - Generation::. - -MATCH -MBEGIN -MEND - Set by the shell when the m globbing flag is used in pattern - matches. See the subsection _Globbing flags_ in *note Filename - Generation::. - -module_path <S> <Z> (MODULE_PATH <S>) - An array (colon-separated list) of directories that zmodload - searches for dynamically loadable modules. This is initialized to - a standard pathname, usually '/usr/local/lib/zsh/$ZSH_VERSION'. - (The '/usr/local/lib' part varies from installation to - installation.) For security reasons, any value set in the - environment when the shell is started will be ignored. - - These parameters only exist if the installation supports dynamic - module loading. - -NULLCMD <S> - The command name to assume if a redirection is specified with no - command. Defaults to cat. For ‘sh’/‘ksh’ behavior, change this to - :. For ‘csh’-like behavior, unset this parameter; the shell will - print an error message if null commands are entered. - -path <S> <Z> (PATH <S>) - An array (colon-separated list) of directories to search for - commands. When this parameter is set, each directory is scanned - and all files found are put in a hash table. - -POSTEDIT <S> - This string is output whenever the line editor exits. It usually - contains termcap strings to reset the terminal. - -PROMPT <S> <Z> -PROMPT2 <S> <Z> -PROMPT3 <S> <Z> -PROMPT4 <S> <Z> - Same as PS1, PS2, PS3 and PS4, respectively. - -prompt <S> <Z> - Same as PS1. - -PROMPT_EOL_MARK - When the PROMPT_CR and PROMPT_SP options are set, the - PROMPT_EOL_MARK parameter can be used to customize how the end of - partial lines are shown. This parameter undergoes prompt - expansion, with the PROMPT_PERCENT option set. If not set, the - default behavior is equivalent to the value '%B%S%#%s%b'. - -PS1 <S> - The primary prompt string, printed before a command is read. It - undergoes a special form of expansion before being displayed; see - *note Prompt Expansion::. The default is '%m%# '. - -PS2 <S> - The secondary prompt, printed when the shell needs more information - to complete a command. It is expanded in the same way as PS1. The - default is '%_> ', which displays any shell constructs or quotation - marks which are currently being processed. - -PS3 <S> - Selection prompt used within a select loop. It is expanded in the - same way as PS1. The default is '?# '. - -PS4 <S> - The execution trace prompt. Default is '+%N:%i> ', which displays - the name of the current shell structure and the line number within - it. In sh or ksh emulation, the default is '+ '. - -psvar <S> <Z> (PSVAR <S>) - An array (colon-separated list) whose elements can be used in - PROMPT strings. Setting psvar also sets PSVAR, and vice versa. - -READNULLCMD <S> - The command name to assume if a single input redirection is - specified with no command. Defaults to more. - -REPORTMEMORY - If nonnegative, commands whose maximum resident set size (roughly - speaking, main memory usage) in kilobytes is greater than this - value have timing statistics reported. The format used to output - statistics is the value of the TIMEFMT parameter, which is the same - as for the REPORTTIME variable and the time builtin; note that by - default this does not output memory usage. Appending " max RSS %M" - to the value of TIMEFMT causes it to output the value that - triggered the report. If REPORTTIME is also in use, at most a - single report is printed for both triggers. This feature requires - the getrusage() system call, commonly supported by modern Unix-like - systems. - -REPORTTIME - If nonnegative, commands whose combined user and system execution - times (measured in seconds) are greater than this value have timing - statistics printed for them. Output is suppressed for commands - executed within the line editor, including completion; commands - explicitly marked with the time keyword still cause the summary to - be printed in this case. - -REPLY - This parameter is reserved by convention to pass string values - between shell scripts and shell builtins in situations where a - function call or redirection are impossible or undesirable. The - read builtin and the select complex command may set REPLY, and - filename generation both sets and examines its value when - evaluating certain expressions. Some modules also employ REPLY for - similar purposes. - -reply - As REPLY, but for array values rather than strings. - -RPROMPT <S> -RPS1 <S> - This prompt is displayed on the right-hand side of the screen when - the primary prompt is being displayed on the left. This does not - work if the SINGLE_LINE_ZLE option is set. It is expanded in the - same way as PS1. - -RPROMPT2 <S> -RPS2 <S> - This prompt is displayed on the right-hand side of the screen when - the secondary prompt is being displayed on the left. This does not - work if the SINGLE_LINE_ZLE option is set. It is expanded in the - same way as PS2. - -SAVEHIST - The maximum number of history events to save in the history file. - - If this is made local, it is not implicitly set to 0, but may be - explicitly set locally. - -SPROMPT <S> - The prompt used for spelling correction. The sequence '%R' expands - to the string which presumably needs spelling correction, and '%r' - expands to the proposed correction. All other prompt escapes are - also allowed. - - The actions available at the prompt are [nyae]: - n ('no') (default) - Discard the correction and run the command. - y ('yes') - Make the correction and run the command. - a ('abort') - Discard the entire command line without running it. - e ('edit') - Resume editing the command line. - -STTY - If this parameter is set in a command's environment, the shell runs - the stty command with the value of this parameter as arguments in - order to set up the terminal before executing the command. The - modes apply only to the command, and are reset when it finishes or - is suspended. If the command is suspended and continued later with - the fg or wait builtins it will see the modes specified by STTY, as - if it were not suspended. This (intentionally) does not apply if - the command is continued via 'kill -CONT'. STTY is ignored if the - command is run in the background, or if it is in the environment of - the shell but not explicitly assigned to in the input line. This - avoids running stty at every external command by accidentally - exporting it. Also note that STTY should not be used for window - size specifications; these will not be local to the command. - - If the parameter is set and empty, all of the above applies except - that stty is not run. This can be useful as a way to freeze the - tty around a single command, blocking its changes to tty settings, - similar to the ttyctl builtin. - -TERM <S> - The type of terminal in use. This is used when looking up termcap - sequences. An assignment to TERM causes zsh to re-initialize the - terminal, even if the value does not change (e.g., 'TERM=$TERM'). - It is necessary to make such an assignment upon any change to the - terminal definition database or terminal type in order for the new - settings to take effect. - -TERMINFO <S> - A reference to your terminfo database, used by the 'terminfo' - library when the system has it; see terminfo(5). If set, this - causes the shell to reinitialise the terminal, making the - workaround 'TERM=$TERM' unnecessary. - -TERMINFO_DIRS <S> - A colon-seprarated list of terminfo databases, used by the - 'terminfo' library when the system has it; see terminfo(5). This - variable is only used by certain terminal libraries, in particular - ncurses; see terminfo(5) to check support on your system. If set, - this causes the shell to reinitialise the terminal, making the - workaround 'TERM=$TERM' unnecessary. Note that unlike other - colon-separated arrays this is not tied to a zsh array. - -TIMEFMT - The format of process time reports with the time keyword. The - default is '%J %U user %S system %P cpu %*E total'. Recognizes the - following escape sequences, although not all may be available on - all systems, and some that are available may not be useful: - - %% - A '%'. - %U - CPU seconds spent in user mode. - %S - CPU seconds spent in kernel mode. - %E - Elapsed time in seconds. - %P - The CPU percentage, computed as 100*(%U+%S)/%E. - %W - Number of times the process was swapped. - %X - The average amount in (shared) text space used in kilobytes. - %D - The average amount in (unshared) data/stack space used in - kilobytes. - %K - The total space used (%X+%D) in kilobytes. - %M - The maximum memory the process had in use at any time in - kilobytes. - %F - The number of major page faults (page needed to be brought - from disk). - %R - The number of minor page faults. - %I - The number of input operations. - %O - The number of output operations. - %r - The number of socket messages received. - %s - The number of socket messages sent. - %k - The number of signals received. - %w - Number of voluntary context switches (waits). - %c - Number of involuntary context switches. - %J - The name of this job. - - A star may be inserted between the percent sign and flags printing - time (e.g., '%*E'); this causes the time to be printed in - 'HH:MM:SS.TTT' format (hours and minutes are only printed if they - are not zero). Alternatively, 'm' or 'u' may be used (e.g., '%mE') - to produce time output in milliseconds or microseconds, - respectively. - -TMOUT - If this parameter is nonzero, the shell will receive an ALRM signal - if a command is not entered within the specified number of seconds - after issuing a prompt. If there is a trap on SIGALRM, it will be - executed and a new alarm is scheduled using the value of the TMOUT - parameter after executing the trap. If no trap is set, and the - idle time of the terminal is not less than the value of the TMOUT - parameter, zsh terminates. Otherwise a new alarm is scheduled to - TMOUT seconds after the last keypress. - -TMPPREFIX - A pathname prefix which the shell will use for all temporary files. - Note that this should include an initial part for the file name as - well as any directory names. The default is '/tmp/zsh'. - -TMPSUFFIX - A filename suffix which the shell will use for temporary files - created by process substitutions (e.g., '=(LIST)'). Note that the - value should include a leading dot '.' if intended to be - interpreted as a file extension. The default is not to append any - suffix, thus this parameter should be assigned only when needed and - then unset again. - -WORDCHARS <S> - A list of non-alphanumeric characters considered part of a word by - the line editor. - -ZBEEP - If set, this gives a string of characters, which can use all the - same codes as the bindkey command as described in *note The zsh/zle - Module::, that will be output to the terminal instead of beeping. - This may have a visible instead of an audible effect; for example, - the string '\e[?5h\e[?5l' on a vt100 or xterm will have the effect - of flashing reverse video on and off (if you usually use reverse - video, you should use the string '\e[?5l\e[?5h' instead). This - takes precedence over the NOBEEP option. - -ZDOTDIR - The directory to search for shell startup files (.zshrc, etc), if - not $HOME. - -zle_bracketed_paste - Many terminal emulators have a feature that allows applications to - identify when text is pasted into the terminal rather than being - typed normally. For ZLE, this means that special characters such - as tabs and newlines can be inserted instead of invoking editor - commands. Furthermore, pasted text forms a single undo event and - if the region is active, pasted text will replace the region. - - This two-element array contains the terminal escape sequences for - enabling and disabling the feature. These escape sequences are - used to enable bracketed paste when ZLE is active and disable it at - other times. Unsetting the parameter has the effect of ensuring - that bracketed paste remains disabled. - -zle_highlight - An array describing contexts in which ZLE should highlight the - input text. See *note Character Highlighting::. - -ZLE_LINE_ABORTED - This parameter is set by the line editor when an error occurs. It - contains the line that was being edited at the point of the error. - 'print -zr -- $ZLE_LINE_ABORTED' can be used to recover the line. - Only the most recent line of this kind is remembered. - -ZLE_REMOVE_SUFFIX_CHARS -ZLE_SPACE_SUFFIX_CHARS - These parameters are used by the line editor. In certain - circumstances suffixes (typically space or slash) added by the - completion system will be removed automatically, either because the - next editing command was not an insertable character, or because - the character was marked as requiring the suffix to be removed. - - These variables can contain the sets of characters that will cause - the suffix to be removed. If ZLE_REMOVE_SUFFIX_CHARS is set, those - characters will cause the suffix to be removed; if - ZLE_SPACE_SUFFIX_CHARS is set, those characters will cause the - suffix to be removed and replaced by a space. - - If ZLE_REMOVE_SUFFIX_CHARS is not set, the default behaviour is - equivalent to: - - ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|' - - If ZLE_REMOVE_SUFFIX_CHARS is set but is empty, no characters have - this behaviour. ZLE_SPACE_SUFFIX_CHARS takes precedence, so that - the following: - - ZLE_SPACE_SUFFIX_CHARS=$'&|' - - causes the characters '&' and '|' to remove the suffix but to - replace it with a space. - - To illustrate the difference, suppose that the option - AUTO_REMOVE_SLASH is in effect and the directory DIR has just been - completed, with an appended /, following which the user types '&'. - The default result is 'DIR&'. With ZLE_REMOVE_SUFFIX_CHARS set but - without including '&' the result is 'DIR/&'. With - ZLE_SPACE_SUFFIX_CHARS set to include '&' the result is 'DIR &'. - - Note that certain completions may provide their own suffix removal - or replacement behaviour which overrides the values described here. - See the completion system documentation in *note Completion - System::. - -ZLE_RPROMPT_INDENT <S> - If set, used to give the indentation between the right hand side of - the right prompt in the line editor as given by RPS1 or RPROMPT and - the right hand side of the screen. If not set, the value 1 is - used. - - Typically this will be used to set the value to 0 so that the - prompt appears flush with the right hand side of the screen. This - is not the default as many terminals do not handle this correctly, - in particular when the prompt appears at the extreme bottom right - of the screen. Recent virtual terminals are more likely to handle - this case correctly. Some experimentation is necessary. - diff --git a/result/sw/share/info/zsh.info-2 b/result/sw/share/info/zsh.info-2 deleted file mode 100644 index 4105e302..00000000 --- a/result/sw/share/info/zsh.info-2 +++ /dev/null @@ -1,6559 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -File: zsh.info, Node: Options, Next: Shell Builtin Commands, Prev: Parameters, Up: Top - -16 Options -********** - -* Menu: - -* Specifying Options:: -* Description of Options:: -* Option Aliases:: -* Single Letter Options:: - - -File: zsh.info, Node: Specifying Options, Next: Description of Options, Up: Options - -16.1 Specifying Options -======================= - -Options are primarily referred to by name. These names are case -insensitive and underscores are ignored. For example, 'allexport' is -equivalent to 'A__lleXP_ort'. - -The sense of an option name may be inverted by preceding it with 'no', -so 'setopt No_Beep' is equivalent to 'unsetopt beep'. This inversion -can only be done once, so 'nonobeep' is _not_ a synonym for 'beep'. -Similarly, 'tify' is not a synonym for 'nonotify' (the inversion of -'notify'). - -Some options also have one or more single letter names. There are two -sets of single letter options: one used by default, and another used to -emulate ‘sh’/‘ksh’ (used when the SH_OPTION_LETTERS option is set). The -single letter options can be used on the shell command line, or with the -set, setopt and unsetopt builtins, as normal Unix options preceded by -'-'. - -The sense of the single letter options may be inverted by using '+' -instead of '-'. Some of the single letter option names refer to an -option being off, in which case the inversion of that name refers to the -option being on. For example, '+n' is the short name of 'exec', and -'-n' is the short name of its inversion, 'noexec'. - -In strings of single letter options supplied to the shell at startup, -trailing whitespace will be ignored; for example the string '-f ' will -be treated just as '-f', but the string '-f i' is an error. This is -because many systems which implement the '#!' mechanism for calling -scripts do not strip trailing whitespace. - -It is possible for options to be set within a function scope. See the -description of the option LOCAL_OPTIONS below. - - -File: zsh.info, Node: Description of Options, Next: Option Aliases, Prev: Specifying Options, Up: Options - -16.2 Description of Options -=========================== - -In the following list, options set by default in all emulations are -marked <D>; those set by default only in csh, ksh, sh, or zsh emulations -are marked <C>, <K>, <S>, <Z> as appropriate. When listing options (by -'setopt', 'unsetopt', 'set -o' or 'set +o'), those turned on by default -appear in the list prefixed with 'no'. Hence (unless KSH_OPTION_PRINT -is set), 'setopt' shows all options whose settings are changed from the -default. - -16.2.1 Changing Directories ---------------------------- - -AUTO_CD (-J) - If a command is issued that can't be executed as a normal command, - and the command is the name of a directory, perform the cd command - to that directory. This option is only applicable if the option - SHIN_STDIN is set, i.e. if commands are being read from standard - input. The option is designed for interactive use; it is - recommended that cd be used explicitly in scripts to avoid - ambiguity. - -AUTO_PUSHD (-N) - Make cd push the old directory onto the directory stack. - -CDABLE_VARS (-T) - If the argument to a cd command (or an implied cd with the AUTO_CD - option set) is not a directory, and does not begin with a slash, - try to expand the expression as if it were preceded by a '~' (see - *note Filename Expansion::). - -CD_SILENT - Never print the working directory after a cd (whether explicit or - implied with the AUTO_CD option set). cd normally prints the - working directory when the argument given to it was -, a stack - entry, or the name of a directory found under CDPATH. Note that - this is distinct from pushd's stack-printing behaviour, which is - controlled by PUSHD_SILENT. This option overrides the - printing-related effects of POSIX_CD. - -CHASE_DOTS - When changing to a directory containing a path segment '..' which - would otherwise be treated as canceling the previous segment in the - path (in other words, 'foo/..' would be removed from the path, or - if '..' is the first part of the path, the last part of the current - working directory would be removed), instead resolve the path to - the physical directory. This option is overridden by CHASE_LINKS. - - For example, suppose /foo/bar is a link to the directory /alt/rod. - Without this option set, 'cd /foo/bar/..' changes to /foo; with it - set, it changes to /alt. The same applies if the current directory - is /foo/bar and 'cd ..' is used. Note that all other symbolic - links in the path will also be resolved. - -CHASE_LINKS (-w) - Resolve symbolic links to their true values when changing - directory. This also has the effect of CHASE_DOTS, i.e. a '..' - path segment will be treated as referring to the physical parent, - even if the preceding path segment is a symbolic link. - -POSIX_CD <K> <S> - Modifies the behaviour of cd, chdir and pushd commands to make them - more compatible with the POSIX standard. The behaviour with the - option unset is described in the documentation for the cd builtin - in *note Shell Builtin Commands::. If the option is set, the shell - does not test for directories beneath the local directory ('.') - until after all directories in cdpath have been tested, and the cd - and chdir commands do not recognise arguments of the form '{+|-}N' - as directory stack entries. - - Also, if the option is set, the conditions under which the shell - prints the new directory after changing to it are modified. It is - no longer restricted to interactive shells (although printing of - the directory stack with pushd is still limited to interactive - shells); and any use of a component of CDPATH, including a '.' but - excluding an empty component that is otherwise treated as '.', - causes the directory to be printed. - -PUSHD_IGNORE_DUPS - Don't push multiple copies of the same directory onto the directory - stack. - -PUSHD_MINUS - Exchanges the meanings of '+' and '-' when used with a number to - specify a directory in the stack. - -PUSHD_SILENT (-E) - Do not print the directory stack after pushd or popd. - -PUSHD_TO_HOME (-D) - Have pushd with no arguments act like 'pushd $HOME'. - -16.2.2 Completion ------------------ - -ALWAYS_LAST_PROMPT <D> - If unset, key functions that list completions try to return to the - last prompt if given a numeric argument. If set these functions - try to return to the last prompt if given _no_ numeric argument. - -ALWAYS_TO_END - If a completion is performed with the cursor within a word, and a - full completion is inserted, the cursor is moved to the end of the - word. That is, the cursor is moved to the end of the word if - either a single match is inserted or menu completion is performed. - -AUTO_LIST (-9) <D> - Automatically list choices on an ambiguous completion. - -AUTO_MENU <D> - Automatically use menu completion after the second consecutive - request for completion, for example by pressing the tab key - repeatedly. This option is overridden by MENU_COMPLETE. - -AUTO_NAME_DIRS - Any parameter that is set to the absolute name of a directory - immediately becomes a name for that directory, that will be used by - the '%~' and related prompt sequences, and will be available when - completion is performed on a word starting with '~'. (Otherwise, - the parameter must be used in the form '~PARAM' first.) - -AUTO_PARAM_KEYS <D> - If a parameter name was completed and a following character - (normally a space) automatically inserted, and the next character - typed is one of those that have to come directly after the name - (like '}', ':', etc.), the automatically added character is - deleted, so that the character typed comes immediately after the - parameter name. Completion in a brace expansion is affected - similarly: the added character is a ',', which will be removed if - '}' is typed next. - -AUTO_PARAM_SLASH <D> - If a parameter is completed whose content is the name of a - directory, then add a trailing slash instead of a space. - -AUTO_REMOVE_SLASH <D> - When the last character resulting from a completion is a slash and - the next character typed is a word delimiter, a slash, or a - character that ends a command (such as a semicolon or an - ampersand), remove the slash. - -BASH_AUTO_LIST - On an ambiguous completion, automatically list choices when the - completion function is called twice in succession. This takes - precedence over AUTO_LIST. The setting of LIST_AMBIGUOUS is - respected. If AUTO_MENU is set, the menu behaviour will then start - with the third press. Note that this will not work with - MENU_COMPLETE, since repeated completion calls immediately cycle - through the list in that case. - -COMPLETE_ALIASES - Prevents aliases on the command line from being internally - substituted before completion is attempted. The effect is to make - the alias a distinct command for completion purposes. - -COMPLETE_IN_WORD - If unset, the cursor is set to the end of the word if completion is - started. Otherwise it stays there and completion is done from both - ends. - -GLOB_COMPLETE - When the current word has a glob pattern, do not insert all the - words resulting from the expansion but generate matches as for - completion and cycle through them like MENU_COMPLETE. The matches - are generated as if a '*' was added to the end of the word, or - inserted at the cursor when COMPLETE_IN_WORD is set. This actually - uses pattern matching, not globbing, so it works not only for files - but for any completion, such as options, user names, etc. - - Note that when the pattern matcher is used, matching control (for - example, case-insensitive or anchored matching) cannot be used. - This limitation only applies when the current word contains a - pattern; simply turning on the GLOB_COMPLETE option does not have - this effect. - -HASH_LIST_ALL <D> - Whenever a command completion or spelling correction is attempted, - make sure the entire command path is hashed first. This makes the - first completion slower but avoids false reports of spelling - errors. - -LIST_AMBIGUOUS <D> - This option works when AUTO_LIST or BASH_AUTO_LIST is also set. If - there is an unambiguous prefix to insert on the command line, that - is done without a completion list being displayed; in other words, - auto-listing behaviour only takes place when nothing would be - inserted. In the case of BASH_AUTO_LIST, this means that the list - will be delayed to the third call of the function. - -LIST_BEEP <D> - Beep on an ambiguous completion. More accurately, this forces the - completion widgets to return status 1 on an ambiguous completion, - which causes the shell to beep if the option BEEP is also set; this - may be modified if completion is called from a user-defined widget. - -LIST_PACKED - Try to make the completion list smaller (occupying less lines) by - printing the matches in columns with different widths. - -LIST_ROWS_FIRST - Lay out the matches in completion lists sorted horizontally, that - is, the second match is to the right of the first one, not under it - as usual. - -LIST_TYPES (-X) <D> - When listing files that are possible completions, show the type of - each file with a trailing identifying mark. - -MENU_COMPLETE (-Y) - On an ambiguous completion, instead of listing possibilities or - beeping, insert the first match immediately. Then when completion - is requested again, remove the first match and insert the second - match, etc. When there are no more matches, go back to the first - one again. reverse-menu-complete may be used to loop through the - list in the other direction. This option overrides AUTO_MENU. - -REC_EXACT (-S) - If the string on the command line exactly matches one of the - possible completions, it is accepted, even if there is another - completion (i.e. that string with something else added) that also - matches. - -16.2.3 Expansion and Globbing ------------------------------ - -BAD_PATTERN (+2) <C> <Z> - If a pattern for filename generation is badly formed, print an - error message. (If this option is unset, the pattern will be left - unchanged.) - -BARE_GLOB_QUAL <Z> - In a glob pattern, treat a trailing set of parentheses as a - qualifier list, if it contains no '|', '(' or (if special) '~' - characters. See *note Filename Generation::. - -BRACE_CCL - Expand expressions in braces which would not otherwise undergo - brace expansion to a lexically ordered list of all the characters. - See *note Brace Expansion::. - -CASE_GLOB <D> - Make globbing (filename generation) sensitive to case. Note that - other uses of patterns are always sensitive to case. If the option - is unset, the presence of any character which is special to - filename generation will cause case-insensitive matching. For - example, cvs(/) can match the directory CVS owing to the presence - of the globbing flag (unless the option BARE_GLOB_QUAL is unset). - -CASE_MATCH <D> - Make regular expressions using the zsh/regex module (including - matches with =~) sensitive to case. - -CASE_PATHS - If CASE_PATHS is not set (the default), CASE_GLOB affects the - interpretation of _every_ path component, whenever a special - character appears in _any_ component. When CASE_PATHS is set, file - path components that do _not_ contain special filename generation - characters are always sensitive to case, thus restricting - NO_CASE_GLOB to components that contain globbing characters. - - Note that if the filesystem itself is not sensitive to case, then - CASE_PATHS has no effect. - -CSH_NULL_GLOB <C> - If a pattern for filename generation has no matches, delete the - pattern from the argument list; do not report an error unless all - the patterns in a command have no matches. Overrides NOMATCH. - -EQUALS <Z> - Perform = filename expansion. (See *note Filename Expansion::.) - -EXTENDED_GLOB - Treat the '#', '~' and '^' characters as part of patterns for - filename generation, etc. (An initial unquoted '~' always produces - named directory expansion.) - -FORCE_FLOAT - Constants in arithmetic evaluation will be treated as floating - point even without the use of a decimal point; the values of - integer variables will be converted to floating point when used in - arithmetic expressions. Integers in any base will be converted. - -GLOB (+F, ksh: +f) <D> - Perform filename generation (globbing). (See *note Filename - Generation::.) - -GLOB_ASSIGN <C> - If this option is set, filename generation (globbing) is performed - on the right hand side of scalar parameter assignments of the form - 'NAME=PATTERN (e.g. 'foo=*'). If the result has more than one - word the parameter will become an array with those words as - arguments. This option is provided for backwards compatibility - only: globbing is always performed on the right hand side of array - assignments of the form 'NAME=(VALUE)' (e.g. 'foo=(*)') and this - form is recommended for clarity; with this option set, it is not - possible to predict whether the result will be an array or a - scalar. - -GLOB_DOTS (-4) - Do not require a leading '.' in a filename to be matched - explicitly. - -GLOB_STAR_SHORT - When this option is set and the default zsh-style globbing is in - effect, the pattern '**/*' can be abbreviated to '**' and the - pattern '***/*' can be abbreviated to ***. Hence '**.c' finds a - file ending in .c in any subdirectory, and '***.c' does the same - while also following symbolic links. A / immediately after the - '**' or '***' forces the pattern to be treated as the unabbreviated - form. - -GLOB_SUBST <C> <K> <S> - Treat any characters resulting from parameter expansion as being - eligible for filename expansion and filename generation, and any - characters resulting from command substitution as being eligible - for filename generation. Braces (and commas in between) do not - become eligible for expansion. - -HIST_SUBST_PATTERN - Substitutions using the :s and :& history modifiers are performed - with pattern matching instead of string matching. This occurs - wherever history modifiers are valid, including glob qualifiers and - parameters. See *note Modifiers::. - -IGNORE_BRACES (-I) <S> - Do not perform brace expansion. For historical reasons this also - includes the effect of the IGNORE_CLOSE_BRACES option. - -IGNORE_CLOSE_BRACES - When neither this option nor IGNORE_BRACES is set, a sole close - brace character '}' is syntactically significant at any point on a - command line. This has the effect that no semicolon or newline is - necessary before the brace terminating a function or current shell - construct. When either option is set, a closing brace is - syntactically significant only in command position. Unlike - IGNORE_BRACES, this option does not disable brace expansion. - - For example, with both options unset a function may be defined in - the following fashion: - - args() { echo $# } - - while if either option is set, this does not work and something - equivalent to the following is required: - - args() { echo $#; } - -KSH_GLOB <K> - In pattern matching, the interpretation of parentheses is affected - by a preceding '@', '*', '+', '?' or '!'. See *note Filename - Generation::. - -MAGIC_EQUAL_SUBST - All unquoted arguments of the form 'ANYTHING=EXPRESSION' appearing - after the command name have filename expansion (that is, where - EXPRESSION has a leading '~' or '=') performed on EXPRESSION as if - it were a parameter assignment. The argument is not otherwise - treated specially; it is passed to the command as a single - argument, and not used as an actual parameter assignment. For - example, in echo foo=~/bar:~/rod, both occurrences of ~ would be - replaced. Note that this happens anyway with typeset and similar - statements. - - This option respects the setting of the KSH_TYPESET option. In - other words, if both options are in effect, arguments looking like - assignments will not undergo word splitting. - -MARK_DIRS (-8, ksh: -X) - Append a trailing '/' to all directory names resulting from - filename generation (globbing). - -MULTIBYTE <D> - Respect multibyte characters when found in strings. When this - option is set, strings are examined using the system library to - determine how many bytes form a character, depending on the current - locale. This affects the way characters are counted in pattern - matching, parameter values and various delimiters. - - The option is on by default if the shell was compiled with - MULTIBYTE_SUPPORT; otherwise it is off by default and has no effect - if turned on. - - If the option is off a single byte is always treated as a single - character. This setting is designed purely for examining strings - known to contain raw bytes or other values that may not be - characters in the current locale. It is not necessary to unset the - option merely because the character set for the current locale does - not contain multibyte characters. - - The option does not affect the shell's editor, which always uses - the locale to determine multibyte characters. This is because the - character set displayed by the terminal emulator is independent of - shell settings. - -NOMATCH (+3) <C> <Z> - If a pattern for filename generation has no matches, print an - error, instead of leaving it unchanged in the argument list. This - also applies to file expansion of an initial '~' or '='. - -NULL_GLOB (-G) - If a pattern for filename generation has no matches, delete the - pattern from the argument list instead of reporting an error. - Overrides NOMATCH. - -NUMERIC_GLOB_SORT - If numeric filenames are matched by a filename generation pattern, - sort the filenames numerically rather than lexicographically. - -RC_EXPAND_PARAM (-P) - Array expansions of the form 'FOO${XX}BAR', where the parameter XX - is set to (A B C), are substituted with 'FOOABAR FOOBBAR FOOCBAR' - instead of the default 'FOOA B CBAR'. Note that an empty array - will therefore cause all arguments to be removed. - -REMATCH_PCRE - If set, regular expression matching with the =~ operator will use - Perl-Compatible Regular Expressions from the PCRE library. (The - zsh/pcre module must be available.) If not set, regular - expressions will use the extended regexp syntax provided by the - system libraries. - -SH_GLOB <K> <S> - Disables the special meaning of '(', '|', ')' and '<' for globbing - the result of parameter and command substitutions, and in some - other places where the shell accepts patterns. If SH_GLOB is set - but KSH_GLOB is not, the shell allows the interpretation of - subshell expressions enclosed in parentheses in some cases where - there is no space before the opening parenthesis, e.g. !(true) is - interpreted as if there were a space after the !. This option is - set by default if zsh is invoked as sh or ksh. - -UNSET (+u, ksh: +u) <K> <S> <Z> - Treat unset parameters as if they were empty when substituting, and - as if they were zero when reading their values in arithmetic - expansion and arithmetic commands. Otherwise they are treated as - an error. - -WARN_CREATE_GLOBAL - Print a warning message when a global parameter is created in a - function by an assignment or in math context. This often indicates - that a parameter has not been declared local when it should have - been. Parameters explicitly declared global from within a function - using typeset -g do not cause a warning. Note that there is no - warning when a local parameter is assigned to in a nested function, - which may also indicate an error. - -WARN_NESTED_VAR - Print a warning message when an existing parameter from an - enclosing function scope, or global, is set in a function by an - assignment or in math context. Assignment to shell special - parameters does not cause a warning. This is the companion to - WARN_CREATE_GLOBAL as in this case the warning is only printed when - a parameter is _not_ created. Where possible, use of typeset -g to - set the parameter suppresses the error, but note that this needs to - be used every time the parameter is set. To restrict the effect of - this option to a single function scope, use 'functions -W'. - - For example, the following code produces a warning for the - assignment inside the function nested as that overrides the value - within toplevel - - toplevel() { - local foo="in fn" - nested - } - nested() { - foo="in nested" - } - setopt warn_nested_var - toplevel - -16.2.4 History --------------- - -APPEND_HISTORY <D> - If this is set, zsh sessions will append their history list to the - history file, rather than replace it. Thus, multiple parallel zsh - sessions will all have the new entries from their history lists - added to the history file, in the order that they exit. The file - will still be periodically re-written to trim it when the number of - lines grows 20% beyond the value specified by $SAVEHIST (see also - the HIST_SAVE_BY_COPY option). - -BANG_HIST (+K) <C> <Z> - Perform textual history expansion, ‘csh’-style, treating the - character '!' specially. - -EXTENDED_HISTORY <C> - Save each command's beginning timestamp (in seconds since the - epoch) and the duration (in seconds) to the history file. The - format of this prefixed data is: - - ': <BEGINNING TIME>:<ELAPSED SECONDS>;<COMMAND>'. - -HIST_ALLOW_CLOBBER - Add '|' to output redirections in the history. This allows history - references to clobber files even when CLOBBER is unset. - -HIST_BEEP <D> - Beep in ZLE when a widget attempts to access a history entry which - isn't there. - -HIST_EXPIRE_DUPS_FIRST - If the internal history needs to be trimmed to add the current - command line, setting this option will cause the oldest history - event that has a duplicate to be lost before losing a unique event - from the list. You should be sure to set the value of HISTSIZE to - a larger number than SAVEHIST in order to give you some room for - the duplicated events, otherwise this option will behave just like - HIST_IGNORE_ALL_DUPS once the history fills up with unique events. - -HIST_FCNTL_LOCK - When writing out the history file, by default zsh uses ad-hoc file - locking to avoid known problems with locking on some operating - systems. With this option locking is done by means of the system's - fcntl call, where this method is available. On recent operating - systems this may provide better performance, in particular avoiding - history corruption when files are stored on NFS. - -HIST_FIND_NO_DUPS - When searching for history entries in the line editor, do not - display duplicates of a line previously found, even if the - duplicates are not contiguous. - -HIST_IGNORE_ALL_DUPS - If a new command line being added to the history list duplicates an - older one, the older command is removed from the list (even if it - is not the previous event). - -HIST_IGNORE_DUPS (-h) - Do not enter command lines into the history list if they are - duplicates of the previous event. - -HIST_IGNORE_SPACE (-g) - Remove command lines from the history list when the first character - on the line is a space, or when one of the expanded aliases - contains a leading space. Only normal aliases (not global or - suffix aliases) have this behaviour. Note that the command lingers - in the internal history until the next command is entered before it - vanishes, allowing you to briefly reuse or edit the line. If you - want to make it vanish right away without entering another command, - type a space and press return. - -HIST_LEX_WORDS - By default, shell history that is read in from files is split into - words on all white space. This means that arguments with quoted - whitespace are not correctly handled, with the consequence that - references to words in history lines that have been read from a - file may be inaccurate. When this option is set, words read in - from a history file are divided up in a similar fashion to normal - shell command line handling. Although this produces more - accurately delimited words, if the size of the history file is - large this can be slow. Trial and error is necessary to decide. - -HIST_NO_FUNCTIONS - Remove function definitions from the history list. Note that the - function lingers in the internal history until the next command is - entered before it vanishes, allowing you to briefly reuse or edit - the definition. - -HIST_NO_STORE - Remove the history (fc -l) command from the history list when - invoked. Note that the command lingers in the internal history - until the next command is entered before it vanishes, allowing you - to briefly reuse or edit the line. - -HIST_REDUCE_BLANKS - Remove superfluous blanks from each command line being added to the - history list. - -HIST_SAVE_BY_COPY <D> - When the history file is re-written, we normally write out a copy - of the file named $HISTFILE.new and then rename it over the old - one. However, if this option is unset, we instead truncate the old - history file and write out the new version in-place. If one of the - history-appending options is enabled, this option only has an - effect when the enlarged history file needs to be re-written to - trim it down to size. Disable this only if you have special needs, - as doing so makes it possible to lose history entries if zsh gets - interrupted during the save. - - When writing out a copy of the history file, zsh preserves the old - file's permissions and group information, but will refuse to write - out a new file if it would change the history file's owner. - -HIST_SAVE_NO_DUPS - When writing out the history file, older commands that duplicate - newer ones are omitted. - -HIST_VERIFY - Whenever the user enters a line with history expansion, don't - execute the line directly; instead, perform history expansion and - reload the line into the editing buffer. - -INC_APPEND_HISTORY - This option works like APPEND_HISTORY except that new history lines - are added to the $HISTFILE incrementally (as soon as they are - entered), rather than waiting until the shell exits. The file will - still be periodically re-written to trim it when the number of - lines grows 20% beyond the value specified by $SAVEHIST (see also - the HIST_SAVE_BY_COPY option). - -INC_APPEND_HISTORY_TIME - This option is a variant of INC_APPEND_HISTORY in which, where - possible, the history entry is written out to the file after the - command is finished, so that the time taken by the command is - recorded correctly in the history file in EXTENDED_HISTORY format. - This means that the history entry will not be available immediately - from other instances of the shell that are using the same history - file. - - This option is only useful if INC_APPEND_HISTORY and SHARE_HISTORY - are turned off. The three options should be considered mutually - exclusive. - -SHARE_HISTORY <K> - - This option both imports new commands from the history file, and - also causes your typed commands to be appended to the history file - (the latter is like specifying INC_APPEND_HISTORY, which should be - turned off if this option is in effect). The history lines are - also output with timestamps ala EXTENDED_HISTORY (which makes it - easier to find the spot where we left off reading the file after it - gets re-written). - - By default, history movement commands visit the imported lines as - well as the local lines, but you can toggle this on and off with - the set-local-history zle binding. It is also possible to create a - zle widget that will make some commands ignore imported commands, - and some include them. - - If you find that you want more control over when commands get - imported, you may wish to turn SHARE_HISTORY off, - INC_APPEND_HISTORY or INC_APPEND_HISTORY_TIME (see above) on, and - then manually import commands whenever you need them using 'fc - -RI'. - -16.2.5 Initialisation ---------------------- - -ALL_EXPORT (-a, ksh: -a) - All parameters subsequently defined are automatically exported. - -GLOBAL_EXPORT <Z> - If this option is set, passing the -x flag to the builtins declare, - float, integer, readonly and typeset (but not local) will also set - the -g flag; hence parameters exported to the environment will not - be made local to the enclosing function, unless they were already - or the flag +g is given explicitly. If the option is unset, - exported parameters will be made local in just the same way as any - other parameter. - - This option is set by default for backward compatibility; it is not - recommended that its behaviour be relied upon. Note that the - builtin export always sets both the -x and -g flags, and hence its - effect extends beyond the scope of the enclosing function; this is - the most portable way to achieve this behaviour. - -GLOBAL_RCS (+d) <D> - If this option is unset, the startup files /etc/zprofile, - /etc/zshrc, /etc/zlogin and /etc/zlogout will not be run. It can - be disabled and re-enabled at any time, including inside local - startup files (.zshrc, etc.). - -RCS (+f) <D> - After /etc/zshenv is sourced on startup, source the .zshenv, - /etc/zprofile, .zprofile, /etc/zshrc, .zshrc, /etc/zlogin, .zlogin, - and .zlogout files, as described in *note Files::. If this option - is unset, the /etc/zshenv file is still sourced, but any of the - others will not be; it can be set at any time to prevent the - remaining startup files after the currently executing one from - being sourced. - -16.2.6 Input/Output -------------------- - -ALIASES <D> - Expand aliases. - -CLOBBER (+C, ksh: +C) <D> - Allows '>' redirection to truncate existing files. Otherwise '>!' - or '>|' must be used to truncate a file. - - If the option is not set, and the option APPEND_CREATE is also not - set, '>>!' or '>>|' must be used to create a file. If either - option is set, '>>' may be used. - -CLOBBER_EMPTY - This option is only used if the option CLOBBER is not set: note - that it is set by default. - - If this option is set, then regular files of zero length may be - ovewritten ('clobbered'). Note that it is possible another process - has written to the file between this test and use of the file by - the current process. This option should therefore not be used in - cases where files to be clobbered may be written to asynchronously. - -CORRECT (-0) - Try to correct the spelling of commands. Note that, when the - HASH_LIST_ALL option is not set or when some directories in the - path are not readable, this may falsely report spelling errors the - first time some commands are used. - - The shell variable CORRECT_IGNORE may be set to a pattern to match - words that will never be offered as corrections. - -CORRECT_ALL (-O) - Try to correct the spelling of all arguments in a line. - - The shell variable CORRECT_IGNORE_FILE may be set to a pattern to - match file names that will never be offered as corrections. - -DVORAK - Use the Dvorak keyboard instead of the standard qwerty keyboard as - a basis for examining spelling mistakes for the CORRECT and - CORRECT_ALL options and the spell-word editor command. - -FLOW_CONTROL <D> - If this option is unset, output flow control via start/stop - characters (usually assigned to ^S/^Q) is disabled in the shell's - editor. - -IGNORE_EOF (-7) - Do not exit on end-of-file. Require the use of exit or logout - instead. However, ten consecutive EOFs will cause the shell to - exit anyway, to avoid the shell hanging if its tty goes away. - - Also, if this option is set and the Zsh Line Editor is used, - widgets implemented by shell functions can be bound to EOF - (normally Control-D) without printing the normal warning message. - This works only for normal widgets, not for completion widgets. - -INTERACTIVE_COMMENTS (-k) <K> <S> - Allow comments even in interactive shells. - -HASH_CMDS <D> - Note the location of each command the first time it is executed. - Subsequent invocations of the same command will use the saved - location, avoiding a path search. If this option is unset, no path - hashing is done at all. However, when CORRECT is set, commands - whose names do not appear in the functions or aliases hash tables - are hashed in order to avoid reporting them as spelling errors. - -HASH_DIRS <D> - Whenever a command name is hashed, hash the directory containing - it, as well as all directories that occur earlier in the path. Has - no effect if neither HASH_CMDS nor CORRECT is set. - -HASH_EXECUTABLES_ONLY - When hashing commands because of HASH_CMDS, check that the file to - be hashed is actually an executable. This option is unset by - default as if the path contains a large number of commands, or - consists of many remote files, the additional tests can take a long - time. Trial and error is needed to show if this option is - beneficial. - -MAIL_WARNING (-U) - Print a warning message if a mail file has been accessed since the - shell last checked. - -PATH_DIRS (-Q) - Perform a path search even on command names with slashes in them. - Thus if '/usr/local/bin' is in the user's path, and he or she types - 'X11/xinit', the command '/usr/local/bin/X11/xinit' will be - executed (assuming it exists). Commands explicitly beginning with - '/', './' or '../' are not subject to the path search. This also - applies to the '.' and source builtins. - - Note that subdirectories of the current directory are always - searched for executables specified in this form. This takes place - before any search indicated by this option, and regardless of - whether '.' or the current directory appear in the command search - path. - -PATH_SCRIPT <K> <S> - If this option is not set, a script passed as the first non-option - argument to the shell must contain the name of the file to open. - If this option is set, and the script does not specify a directory - path, the script is looked for first in the current directory, then - in the command path. See *note Invocation::. - -PRINT_EIGHT_BIT - Print eight bit characters literally in completion lists, etc. - This option is not necessary if your system correctly returns the - printability of eight bit characters (see ctype(3)). - -PRINT_EXIT_VALUE (-1) - Print the exit value of programs with non-zero exit status. This - is only available at the command line in interactive shells. - -RC_QUOTES - Allow the character sequence '''' to signify a single quote within - singly quoted strings. Note this does not apply in quoted strings - using the format $'...', where a backslashed single quote can be - used. - -RM_STAR_SILENT (-H) <K> <S> - Do not query the user before executing 'rm *' or 'rm path/*'. - -RM_STAR_WAIT - If querying the user before executing 'rm *' or 'rm path/*', first - wait ten seconds and ignore anything typed in that time. This - avoids the problem of reflexively answering 'yes' to the query when - one didn't really mean it. The wait and query can always be - avoided by expanding the '*' in ZLE (with tab). - -SHORT_LOOPS <C> <Z> - Allow the short forms of for, repeat, select, if, and function - constructs. - -SHORT_REPEAT - Allow the short form repeat as SHORT_LOOPS but without enabling it - for the other constructs. - -SUN_KEYBOARD_HACK (-L) - If a line ends with a backquote, and there are an odd number of - backquotes on the line, ignore the trailing backquote. This is - useful on some keyboards where the return key is too small, and the - backquote key lies annoyingly close to it. As an alternative the - variable KEYBOARD_HACK lets you choose the character to be removed. - -16.2.7 Job Control ------------------- - -AUTO_CONTINUE - With this option set, stopped jobs that are removed from the job - table with the disown builtin command are automatically sent a CONT - signal to make them running. - -AUTO_RESUME (-W) - Treat single word simple commands without redirection as candidates - for resumption of an existing job. - -BG_NICE (-6) <C> <Z> - Run all background jobs at a lower priority. This option is set by - default. - -CHECK_JOBS <Z> - Report the status of background and suspended jobs before exiting a - shell with job control; a second attempt to exit the shell will - succeed. NO_CHECK_JOBS is best used only in combination with - NO_HUP, else such jobs will be killed automatically. - - The check is omitted if the commands run from the previous command - line included a 'jobs' command, since it is assumed the user is - aware that there are background or suspended jobs. A 'jobs' - command run from one of the hook functions defined in the section - 'Special Functions' in *note Functions:: is not counted for this - purpose. - -CHECK_RUNNING_JOBS <Z> - Check for both running and suspended jobs when CHECK_JOBS is - enabled. When this option is disabled, zsh checks only for - suspended jobs, which matches the default behavior of bash. - - This option has no effect unless CHECK_JOBS is set. - -HUP <Z> - Send the HUP signal to running jobs when the shell exits. - -LONG_LIST_JOBS (-R) - Print job notifications in the long format by default. - -MONITOR (-m, ksh: -m) - Allow job control. Set by default in interactive shells. - -NOTIFY (-5, ksh: -b) <Z> - Report the status of background jobs immediately, rather than - waiting until just before printing a prompt. - -POSIX_JOBS <K> <S> - This option makes job control more compliant with the POSIX - standard. - - When the option is not set, the MONITOR option is unset on entry to - subshells, so that job control is no longer active. When the - option is set, the MONITOR option and job control remain active in - the subshell, but note that the subshell has no access to jobs in - the parent shell. - - When the option is not set, jobs put in the background or - foreground with bg or fg are displayed with the same information - that would be reported by jobs. When the option is set, only the - text is printed. The output from jobs itself is not affected by - the option. - - When the option is not set, job information from the parent shell - is saved for output within a subshell (for example, within a - pipeline). When the option is set, the output of jobs is empty - until a job is started within the subshell. - - In previous versions of the shell, it was necessary to enable - POSIX_JOBS in order for the builtin command wait to return the - status of background jobs that had already exited. This is no - longer the case. - -16.2.8 Prompting ----------------- - -PROMPT_BANG <K> - If set, '!' is treated specially in prompt expansion. See *note - Prompt Expansion::. - -PROMPT_CR (+V) <D> - Print a carriage return just before printing a prompt in the line - editor. This is on by default as multi-line editing is only - possible if the editor knows where the start of the line appears. - -PROMPT_SP <D> - Attempt to preserve a partial line (i.e. a line that did not end - with a newline) that would otherwise be covered up by the command - prompt due to the PROMPT_CR option. This works by outputting some - cursor-control characters, including a series of spaces, that - should make the terminal wrap to the next line when a partial line - is present (note that this is only successful if your terminal has - automatic margins, which is typical). - - When a partial line is preserved, by default you will see an - inverse+bold character at the end of the partial line: a '%' for a - normal user or a '#' for root. If set, the shell parameter - PROMPT_EOL_MARK can be used to customize how the end of partial - lines are shown. - - NOTE: if the PROMPT_CR option is not set, enabling this option will - have no effect. This option is on by default. - -PROMPT_PERCENT <C> <Z> - If set, '%' is treated specially in prompt expansion. See *note - Prompt Expansion::. - -PROMPT_SUBST <K> <S> - If set, _parameter expansion_, _command substitution_ and - _arithmetic expansion_ are performed in prompts. Substitutions - within prompts do not affect the command status. - -TRANSIENT_RPROMPT - Remove any right prompt from display when accepting a command line. - This may be useful with terminals with other cut/paste methods. - -16.2.9 Scripts and Functions ----------------------------- - -ALIAS_FUNC_DEF <S> - By default, zsh does not allow the definition of functions using - the 'NAME ()' syntax if NAME was expanded as an alias: this causes - an error. This is usually the desired behaviour, as otherwise the - combination of an alias and a function based on the same definition - can easily cause problems. - - When this option is set, aliases can be used for defining - functions. - - For example, consider the following definitions as they might occur - in a startup file. - - alias foo=bar - foo() { - print This probably does not do what you expect. - } - - Here, foo is expanded as an alias to bar before the () is - encountered, so the function defined would be named bar. By - default this is instead an error in native mode. Note that quoting - any part of the function name, or using the keyword function, - avoids the problem, so is recommended when the function name can - also be an alias. - -C_BASES - Output hexadecimal numbers in the standard C format, for example - '0xFF' instead of the usual '16#FF'. If the option OCTAL_ZEROES is - also set (it is not by default), octal numbers will be treated - similarly and hence appear as '077' instead of '8#77'. This option - has no effect on the choice of the output base, nor on the output - of bases other than hexadecimal and octal. Note that these formats - will be understood on input irrespective of the setting of C_BASES. - -C_PRECEDENCES - This alters the precedence of arithmetic operators to be more like - C and other programming languages; *note Arithmetic Evaluation:: - has an explicit list. - -DEBUG_BEFORE_CMD <D> - Run the DEBUG trap before each command; otherwise it is run after - each command. Setting this option mimics the behaviour of ksh 93; - with the option unset the behaviour is that of ksh 88. - -ERR_EXIT (-e, ksh: -e) - If a command has a non-zero exit status, execute the ZERR trap, if - set, and exit. This is disabled while running initialization - scripts. - - The behaviour is also disabled inside DEBUG traps. In this case - the option is handled specially: it is unset on entry to the trap. - If the option DEBUG_BEFORE_CMD is set, as it is by default, and the - option ERR_EXIT is found to have been set on exit, then the command - for which the DEBUG trap is being executed is skipped. The option - is restored after the trap exits. - - Non-zero status in a command list containing && or || is ignored - for commands not at the end of the list. Hence - - false && true - - does not trigger exit. - - Exiting due to ERR_EXIT has certain interactions with asynchronous - jobs noted in *note Jobs & Signals::. - -ERR_RETURN - If a command has a non-zero exit status, return immediately from - the enclosing function. The logic is similar to that for ERR_EXIT, - except that an implicit return statement is executed instead of an - exit. This will trigger an exit at the outermost level of a - non-interactive script. - - Normally this option inherits the behaviour of ERR_EXIT that code - followed by '&&' '||' does not trigger a return. Hence in the - following: - - summit || true - - no return is forced as the combined effect always has a zero return - status. - - Note. however, that if summit in the above example is itself a - function, code inside it is considered separately: it may force a - return from summit (assuming the option remains set within summit), - but not from the enclosing context. This behaviour is different - from ERR_EXIT which is unaffected by function scope. - -EVAL_LINENO <Z> - If set, line numbers of expressions evaluated using the builtin - eval are tracked separately of the enclosing environment. This - applies both to the parameter LINENO and the line number output by - the prompt escape %i. If the option is set, the prompt escape %N - will output the string '(eval)' instead of the script or function - name as an indication. (The two prompt escapes are typically used - in the parameter PS4 to be output when the option XTRACE is set.) - If EVAL_LINENO is unset, the line number of the surrounding script - or function is retained during the evaluation. - -EXEC (+n, ksh: +n) <D> - Do execute commands. Without this option, commands are read and - checked for syntax errors, but not executed. This option cannot be - turned off in an interactive shell, except when '-n' is supplied to - the shell at startup. - -FUNCTION_ARGZERO <C> <Z> - When executing a shell function or sourcing a script, set $0 - temporarily to the name of the function/script. Note that toggling - FUNCTION_ARGZERO from on to off (or off to on) does not change the - current value of $0. Only the state upon entry to the function or - script has an effect. Compare POSIX_ARGZERO. - -LOCAL_LOOPS - When this option is not set, the effect of break and continue - commands may propagate outside function scope, affecting loops in - calling functions. When the option is set in a calling function, a - break or a continue that is not caught within a called function - (regardless of the setting of the option within that function) - produces a warning and the effect is cancelled. - -LOCAL_OPTIONS <K> - If this option is set at the point of return from a shell function, - most options (including this one) which were in force upon entry to - the function are restored; options that are not restored are - PRIVILEGED and RESTRICTED. Otherwise, only this option, and the - LOCAL_LOOPS, XTRACE and PRINT_EXIT_VALUE options are restored. - Hence if this is explicitly unset by a shell function the other - options in force at the point of return will remain so. A shell - function can also guarantee itself a known shell configuration with - a formulation like 'emulate -L zsh'; the -L activates - LOCAL_OPTIONS. - -LOCAL_PATTERNS - If this option is set at the point of return from a shell function, - the state of pattern disables, as set with the builtin command - 'disable -p', is restored to what it was when the function was - entered. The behaviour of this option is similar to the effect of - LOCAL_OPTIONS on options; hence 'emulate -L sh' (or indeed any - other emulation with the -L option) activates LOCAL_PATTERNS. - -LOCAL_TRAPS <K> - If this option is set when a signal trap is set inside a function, - then the previous status of the trap for that signal will be - restored when the function exits. Note that this option must be - set _prior_ to altering the trap behaviour in a function; unlike - LOCAL_OPTIONS, the value on exit from the function is irrelevant. - However, it does not need to be set before any global trap for that - to be correctly restored by a function. For example, - - unsetopt localtraps - trap - INT - fn() { setopt localtraps; trap '' INT; sleep 3; } - - will restore normal handling of SIGINT after the function exits. - -MULTI_FUNC_DEF <Z> - Allow definitions of multiple functions at once in the form 'fn1 - fn2...()'; if the option is not set, this causes a parse error. - Definition of multiple functions with the function keyword is - always allowed. Multiple function definitions are not often used - and can cause obscure errors. - -MULTIOS <Z> - Perform implicit ‘tee’s or ‘cat’s when multiple redirections are - attempted (see *note Redirection::). - -OCTAL_ZEROES <S> - Interpret any integer constant beginning with a 0 as octal, per - IEEE Std 1003.2-1992 (ISO 9945-2:1993). This is not enabled by - default as it causes problems with parsing of, for example, date - and time strings with leading zeroes. - - Sequences of digits indicating a numeric base such as the '08' - component in '08#77' are always interpreted as decimal, regardless - of leading zeroes. - -PIPE_FAIL - By default, when a pipeline exits the exit status recorded by the - shell and returned by the shell variable $? reflects that of the - rightmost element of a pipeline. If this option is set, the exit - status instead reflects the status of the rightmost element of the - pipeline that was non-zero, or zero if all elements exited with - zero status. - -SOURCE_TRACE - If set, zsh will print an informational message announcing the name - of each file it loads. The format of the output is similar to that - for the XTRACE option, with the message <sourcetrace>. A file may - be loaded by the shell itself when it starts up and shuts down - (Startup/Shutdown Files) or by the use of the 'source' and 'dot' - builtin commands. - -TYPESET_SILENT - If this is unset, executing any of the 'typeset' family of commands - with no options and a list of parameters that have no values to be - assigned but already exist will display the value of the parameter. - If the option is set, they will only be shown when parameters are - selected with the '-m' option. The option '-p' is available - whether or not the option is set. - -TYPESET_TO_UNSET <K> <S> - When declaring a new parameter with any of the 'typeset' family of - related commands, the parameter remains unset unless and until a - value is explicity assigned to it, either in the 'typeset' command - itself or as a later assignment statement. - -VERBOSE (-v, ksh: -v) - Print shell input lines as they are read. - -XTRACE (-x, ksh: -x) - Print commands and their arguments as they are executed. The - output is preceded by the value of $PS4, formatted as described in - *note Prompt Expansion::. - -16.2.10 Shell Emulation ------------------------ - -APPEND_CREATE <K> <S> - This option only applies when NO_CLOBBER (-C) is in effect. - - If this option is not set, the shell will report an error when a - append redirection (>>) is used on a file that does not already - exists (the traditional zsh behaviour of NO_CLOBBER). If the - option is set, no error is reported (POSIX behaviour). - -BASH_REMATCH - When set, matches performed with the =~ operator will set the - BASH_REMATCH array variable, instead of the default MATCH and match - variables. The first element of the BASH_REMATCH array will - contain the entire matched text and subsequent elements will - contain extracted substrings. This option makes more sense when - KSH_ARRAYS is also set, so that the entire matched portion is - stored at index 0 and the first substring is at index 1. Without - this option, the MATCH variable contains the entire matched text - and the match array variable contains substrings. - -BSD_ECHO <S> - Make the echo builtin compatible with the BSD echo(1) command. - This disables backslashed escape sequences in echo strings unless - the -e option is specified. - -CONTINUE_ON_ERROR - If a fatal error is encountered (see *note Errors::), and the code - is running in a script, the shell will resume execution at the next - statement in the script at the top level, in other words outside - all functions or shell constructs such as loops and conditions. - This mimics the behaviour of interactive shells, where the shell - returns to the line editor to read a new command; it was the normal - behaviour in versions of zsh before 5.0.1. - -CSH_JUNKIE_HISTORY <C> - A history reference without an event specifier will always refer to - the previous command. Without this option, such a history - reference refers to the same event as the previous history - reference on the current command line, defaulting to the previous - command. - -CSH_JUNKIE_LOOPS <C> - Allow loop bodies to take the form 'LIST; end' instead of 'do LIST; - done'. - -CSH_JUNKIE_QUOTES <C> - Changes the rules for single- and double-quoted text to match that - of ‘csh’. These require that embedded newlines be preceded by a - backslash; unescaped newlines will cause an error message. In - double-quoted strings, it is made impossible to escape '$', '`' or - '"' (and '\' itself no longer needs escaping). Command - substitutions are only expanded once, and cannot be nested. - -CSH_NULLCMD <C> - Do not use the values of NULLCMD and READNULLCMD when running - redirections with no command. This make such redirections fail - (see *note Redirection::). - -KSH_ARRAYS <K> <S> - Emulate ‘ksh’ array handling as closely as possible. If this - option is set, array elements are numbered from zero, an array - parameter without subscript refers to the first element instead of - the whole array, and braces are required to delimit a subscript - ('${path[2]}' rather than just '$path[2]') or to apply modifiers to - any parameter ('${PWD:h}' rather than '$PWD:h'). - -KSH_AUTOLOAD <K> <S> - Emulate ‘ksh’ function autoloading. This means that when a - function is autoloaded, the corresponding file is merely executed, - and must define the function itself. (By default, the function is - defined to the contents of the file. However, the most common - ‘ksh’-style case - of the file containing only a simple definition - of the function - is always handled in the ‘ksh’-compatible - manner.) - -KSH_OPTION_PRINT <K> - Alters the way options settings are printed: instead of separate - lists of set and unset options, all options are shown, marked 'on' - if they are in the non-default state, 'off' otherwise. - -KSH_TYPESET - This option is now obsolete: a better appropximation to the - behaviour of other shells is obtained with the reserved word - interface to declare, export, float, integer, local, readonly and - typeset. Note that the option is only applied when the reserved - word interface is _not_ in use. - - Alters the way arguments to the typeset family of commands, - including declare, export, float, integer, local and readonly, are - processed. Without this option, zsh will perform normal word - splitting after command and parameter expansion in arguments of an - assignment; with it, word splitting does not take place in those - cases. - -KSH_ZERO_SUBSCRIPT - Treat use of a subscript of value zero in array or string - expressions as a reference to the first element, i.e. the element - that usually has the subscript 1. Ignored if KSH_ARRAYS is also - set. - - If neither this option nor KSH_ARRAYS is set, accesses to an - element of an array or string with subscript zero return an empty - element or string, while attempts to set element zero of an array - or string are treated as an error. However, attempts to set an - otherwise valid subscript range that includes zero will succeed. - For example, if KSH_ZERO_SUBSCRIPT is not set, - - array[0]=(element) - - is an error, while - - array[0,1]=(element) - - is not and will replace the first element of the array. - - This option is for compatibility with older versions of the shell - and is not recommended in new code. - -POSIX_ALIASES <K> <S> - When this option is set, reserved words are not candidates for - alias expansion: it is still possible to declare any of them as an - alias, but the alias will never be expanded. Reserved words are - described in *note Reserved Words::. - - Alias expansion takes place while text is being read; hence when - this option is set it does not take effect until the end of any - function or other piece of shell code parsed as one unit. Note - this may cause differences from other shells even when the option - is in effect. For example, when running a command with 'zsh -c', - or even 'zsh -o posixaliases -c', the entire command argument is - parsed as one unit, so aliases defined within the argument are not - available even in later lines. If in doubt, avoid use of aliases - in non-interactive code. - -POSIX_ARGZERO - This option may be used to temporarily disable FUNCTION_ARGZERO and - thereby restore the value of $0 to the name used to invoke the - shell (or as set by the -c command line option). For compatibility - with previous versions of the shell, emulations use - NO_FUNCTION_ARGZERO instead of POSIX_ARGZERO, which may result in - unexpected scoping of $0 if the emulation mode is changed inside a - function or script. To avoid this, explicitly enable POSIX_ARGZERO - in the emulate command: - - emulate sh -o POSIX_ARGZERO - - Note that NO_POSIX_ARGZERO has no effect unless FUNCTION_ARGZERO - was already enabled upon entry to the function or script. - -POSIX_BUILTINS <K> <S> - When this option is set the command builtin can be used to execute - shell builtin commands. Parameter assignments specified before - shell functions and special builtins are kept after the command - completes unless the special builtin is prefixed with the command - builtin. Special builtins are ., :, break, continue, declare, - eval, exit, export, integer, local, readonly, return, set, shift, - source, times, trap and unset. - - In addition, various error conditions associated with the above - builtins or exec cause a non-interactive shell to exit and an - interactive shell to return to its top-level processing. - - Furthermore, functions and shell builtins are not executed after an - exec prefix; the command to be executed must be an external command - found in the path. - - Furthermore, the getopts builtin behaves in a POSIX-compatible - fashion in that the associated variable OPTIND is not made local to - functions, and its value is calculated differently to match other - shells. - - Moreover, the warning and special exit code from [[ -o - NON_EXISTENT_OPTION ]] are suppressed. - -POSIX_IDENTIFIERS <K> <S> - When this option is set, only the ASCII characters a to z, A to Z, - 0 to 9 and _ may be used in identifiers (names of shell parameters - and modules). - - In addition, setting this option limits the effect of parameter - substitution with no braces, so that the expression $# is treated - as the parameter $# even if followed by a valid parameter name. - When it is unset, zsh allows expressions of the form $#NAME to - refer to the length of $NAME, even for special variables, for - example in expressions such as $#- and $#*. - - Another difference is that with the option set assignment to an - unset variable in arithmetic context causes the variable to be - created as a scalar rather than a numeric type. So after 'unset t; - (( t = 3 ))'. without POSIX_IDENTIFIERS set t has integer type, - while with it set it has scalar type. - - When the option is unset and multibyte character support is enabled - (i.e. it is compiled in and the option MULTIBYTE is set), then - additionally any alphanumeric characters in the local character set - may be used in identifiers. Note that scripts and functions - written with this feature are not portable, and also that both - options must be set before the script or function is parsed; - setting them during execution is not sufficient as the syntax - VARIABLE=VALUE has already been parsed as a command rather than an - assignment. - - If multibyte character support is not compiled into the shell this - option is ignored; all octets with the top bit set may be used in - identifiers. This is non-standard but is the traditional zsh - behaviour. - -POSIX_STRINGS <K> <S> - This option affects processing of quoted strings. Currently it - only affects the behaviour of null characters, i.e. character 0 in - the portable character set corresponding to US ASCII. - - When this option is not set, null characters embedded within - strings of the form $'...' are treated as ordinary characters. The - entire string is maintained within the shell and output to files - where necessary, although owing to restrictions of the library - interface the string is truncated at the null character in file - names, environment variables, or in arguments to external programs. - - When this option is set, the $'...' expression is truncated at the - null character. Note that remaining parts of the same string - beyond the termination of the quotes are not truncated. - - For example, the command line argument a$'b\0c'd is treated with - the option off as the characters a, b, null, c, d, and with the - option on as the characters a, b, d. - -POSIX_TRAPS <K> <S> - When this option is set, the usual zsh behaviour of executing traps - for EXIT on exit from shell functions is suppressed. In that case, - manipulating EXIT traps always alters the global trap for exiting - the shell; the LOCAL_TRAPS option is ignored for the EXIT trap. - - Also, a return statement executed in a trap with no argument passes - back from the function the value from the surrounding context, not - from code executed within the trap. - - Furthermore, if a trap is set to be ignored, this state persists - when a subshell is entered. Without the option, the trap would be - reset to its default state at this point. - -SH_FILE_EXPANSION <K> <S> - Perform filename expansion (e.g., ~ expansion) _before_ parameter - expansion, command substitution, arithmetic expansion and brace - expansion. If this option is unset, it is performed _after_ brace - expansion, so things like '~$USERNAME' and '~{pfalstad,rc}' will - work. - -SH_NULLCMD <K> <S> - Do not use the values of NULLCMD and READNULLCMD when doing - redirections, use ':' instead (see *note Redirection::). - -SH_OPTION_LETTERS <K> <S> - If this option is set the shell tries to interpret single letter - options (which are used with set and setopt) like ‘ksh’ does. This - also affects the value of the - special parameter. - -SH_WORD_SPLIT (-y) <K> <S> - Causes field splitting to be performed on unquoted parameter - expansions. Note that this option has nothing to do with word - splitting. (See *note Parameter Expansion::.) - -TRAPS_ASYNC - While waiting for a program to exit, handle signals and run traps - immediately. Otherwise the trap is run after a child process has - exited. Note this does not affect the point at which traps are run - for any case other than when the shell is waiting for a child - process. - -16.2.11 Shell State -------------------- - -INTERACTIVE (-i, ksh: -i) - This is an interactive shell. This option is set upon - initialisation if the standard input is a tty and commands are - being read from standard input. (See the discussion of - SHIN_STDIN.) This heuristic may be overridden by specifying a - state for this option on the command line. The value of this - option can only be changed via flags supplied at invocation of the - shell. It cannot be changed once zsh is running. - -LOGIN (-l, ksh: -l) - This is a login shell. If this option is not explicitly set, the - shell becomes a login shell if the first character of the argv[0] - passed to the shell is a '-'. - -PRIVILEGED (-p, ksh: -p) - Turn on privileged mode. Typically this is used when script is to - be run with elevated privileges. This should be done as follows - directly with the -p option to zsh so that it takes effect during - startup. - - #!/bin/zsh -p - - The option is enabled automatically on startup if the effective - user (group) ID is not equal to the real user (group) ID. In this - case, turning the option off causes the effective user and group - IDs to be set to the real user and group IDs. Be aware that if - that fails the shell may be running with different IDs than was - intended so a script should check for failure and act accordingly, - for example: - - unsetopt privileged || exit - - The PRIVILEGED option disables sourcing user startup files. If zsh - is invoked as 'sh' or 'ksh' with this option set, /etc/suid_profile - is sourced (after /etc/profile on interactive shells). Sourcing - ~/.profile is disabled and the contents of the ENV variable is - ignored. This option cannot be changed using the -m option of - setopt and unsetopt, and changing it inside a function always - changes it globally regardless of the LOCAL_OPTIONS option. - -RESTRICTED (-r) - Enables restricted mode. This option cannot be changed using - unsetopt, and setting it inside a function always changes it - globally regardless of the LOCAL_OPTIONS option. See *note - Restricted Shell::. - -SHIN_STDIN (-s, ksh: -s) - Commands are being read from the standard input. Commands are read - from standard input if no command is specified with -c and no file - of commands is specified. If SHIN_STDIN is set explicitly on the - command line, any argument that would otherwise have been taken as - a file to run will instead be treated as a normal positional - parameter. Note that setting or unsetting this option on the - command line does not necessarily affect the state the option will - have while the shell is running - that is purely an indicator of - whether or not commands are _actually_ being read from standard - input. The value of this option can only be changed via flags - supplied at invocation of the shell. It cannot be changed once zsh - is running. - -SINGLE_COMMAND (-t, ksh: -t) - If the shell is reading from standard input, it exits after a - single command has been executed. This also makes the shell - non-interactive, unless the INTERACTIVE option is explicitly set on - the command line. The value of this option can only be changed via - flags supplied at invocation of the shell. It cannot be changed - once zsh is running. - -16.2.12 Zle ------------ - -BEEP (+B) <D> - Beep on error in ZLE. - -COMBINING_CHARS - Assume that the terminal displays combining characters correctly. - Specifically, if a base alphanumeric character is followed by one - or more zero-width punctuation characters, assume that the - zero-width characters will be displayed as modifications to the - base character within the same width. Not all terminals handle - this. If this option is not set, zero-width characters are - displayed separately with special mark-up. - - If this option is set, the pattern test [[:WORD:]] matches a - zero-width punctuation character on the assumption that it will be - used as part of a word in combination with a word character. - Otherwise the base shell does not handle combining characters - specially. - -EMACS - If ZLE is loaded, turning on this option has the equivalent effect - of 'bindkey -e'. In addition, the VI option is unset. Turning it - off has no effect. The option setting is not guaranteed to reflect - the current keymap. This option is provided for compatibility; - bindkey is the recommended interface. - -OVERSTRIKE - Start up the line editor in overstrike mode. - -SINGLE_LINE_ZLE (-M) <K> - Use single-line command line editing instead of multi-line. - - Note that although this is on by default in ksh emulation it only - provides superficial compatibility with the ksh line editor and - reduces the effectiveness of the zsh line editor. As it has no - effect on shell syntax, many users may wish to disable this option - when using ksh emulation interactively. - -VI - If ZLE is loaded, turning on this option has the equivalent effect - of 'bindkey -v'. In addition, the EMACS option is unset. Turning - it off has no effect. The option setting is not guaranteed to - reflect the current keymap. This option is provided for - compatibility; bindkey is the recommended interface. - -ZLE (-Z) - Use the zsh line editor. Set by default in interactive shells - connected to a terminal. - - -File: zsh.info, Node: Option Aliases, Next: Single Letter Options, Prev: Description of Options, Up: Options - -16.3 Option Aliases -=================== - -Some options have alternative names. These aliases are never used for -output, but can be used just like normal option names when specifying -options to the shell. - -BRACE_EXPAND - _NO__IGNORE_BRACES (ksh and bash compatibility) - -DOT_GLOB - GLOB_DOTS (bash compatibility) - -HASH_ALL - HASH_CMDS (bash compatibility) - -HIST_APPEND - APPEND_HISTORY (bash compatibility) - -HIST_EXPAND - BANG_HIST (bash compatibility) - -LOG - _NO__HIST_NO_FUNCTIONS (ksh compatibility) - -MAIL_WARN - MAIL_WARNING (bash compatibility) - -ONE_CMD - SINGLE_COMMAND (bash compatibility) - -PHYSICAL - CHASE_LINKS (ksh and bash compatibility) - -PROMPT_VARS - PROMPT_SUBST (bash compatibility) - -STDIN - SHIN_STDIN (ksh compatibility) - -TRACK_ALL - HASH_CMDS (ksh compatibility) - - -File: zsh.info, Node: Single Letter Options, Prev: Option Aliases, Up: Options - -16.4 Single Letter Options -========================== - -16.4.1 Default set ------------------- - --0 - CORRECT --1 - PRINT_EXIT_VALUE --2 - _NO__BAD_PATTERN --3 - _NO__NOMATCH --4 - GLOB_DOTS --5 - NOTIFY --6 - BG_NICE --7 - IGNORE_EOF --8 - MARK_DIRS --9 - AUTO_LIST --B - _NO__BEEP --C - _NO__CLOBBER --D - PUSHD_TO_HOME --E - PUSHD_SILENT --F - _NO__GLOB --G - NULL_GLOB --H - RM_STAR_SILENT --I - IGNORE_BRACES --J - AUTO_CD --K - _NO__BANG_HIST --L - SUN_KEYBOARD_HACK --M - SINGLE_LINE_ZLE --N - AUTO_PUSHD --O - CORRECT_ALL --P - RC_EXPAND_PARAM --Q - PATH_DIRS --R - LONG_LIST_JOBS --S - REC_EXACT --T - CDABLE_VARS --U - MAIL_WARNING --V - _NO__PROMPT_CR --W - AUTO_RESUME --X - LIST_TYPES --Y - MENU_COMPLETE --Z - ZLE --a - ALL_EXPORT --e - ERR_EXIT --f - _NO__RCS --g - HIST_IGNORE_SPACE --h - HIST_IGNORE_DUPS --i - INTERACTIVE --k - INTERACTIVE_COMMENTS --l - LOGIN --m - MONITOR --n - _NO__EXEC --p - PRIVILEGED --r - RESTRICTED --s - SHIN_STDIN --t - SINGLE_COMMAND --u - _NO__UNSET --v - VERBOSE --w - CHASE_LINKS --x - XTRACE --y - SH_WORD_SPLIT - -16.4.2 sh/ksh emulation set ---------------------------- - --C - _NO__CLOBBER --T - TRAPS_ASYNC --X - MARK_DIRS --a - ALL_EXPORT --b - NOTIFY --e - ERR_EXIT --f - _NO__GLOB --i - INTERACTIVE --l - LOGIN --m - MONITOR --n - _NO__EXEC --p - PRIVILEGED --r - RESTRICTED --s - SHIN_STDIN --t - SINGLE_COMMAND --u - _NO__UNSET --v - VERBOSE --x - XTRACE - -16.4.3 Also note ----------------- - --A - Used by set for setting arrays --b - Used on the command line to specify end of option processing --c - Used on the command line to specify a single command --m - Used by setopt for pattern-matching option setting --o - Used in all places to allow use of long option names --s - Used by set to sort positional parameters - - -File: zsh.info, Node: Shell Builtin Commands, Next: Zsh Line Editor, Prev: Options, Up: Top - -17 Shell Builtin Commands -************************* - -Some shell builtin commands take options as described in individual -entries; these are often referred to in the list below as 'flags' to -avoid confusion with shell options, which may also have an effect on the -behaviour of builtin commands. In this introductory section, 'option' -always has the meaning of an option to a command that should be familiar -to most command line users. - -Typically, options are single letters preceded by a hyphen (-). Options -that take an argument accept it either immediately following the option -letter or after white space, for example 'print -C3 {1..9}' or 'print -C -3 {1..9}' are equivalent. Arguments to options are not the same as -arguments to the command; the documentation indicates which is which. -Options that do not take an argument may be combined in a single word, -for example 'print -rca -- *' and 'print -r -c -a -- *' are equivalent. - -Some shell builtin commands also take options that begin with '+' -instead of '-'. The list below makes clear which commands these are. - -Options (together with their individual arguments, if any) must appear -in a group before any non-option arguments; once the first non-option -argument has been found, option processing is terminated. - -All builtin commands other than 'echo' and precommand modifiers, even -those that have no options, can be given the argument '--' to terminate -option processing. This indicates that the following words are -non-option arguments, but is otherwise ignored. This is useful in cases -where arguments to the command may begin with '-'. For historical -reasons, most builtin commands (including 'echo') also recognize a -single '-' in a separate word for this purpose; note that this is less -standard and use of '--' is recommended. - -- SIMPLE COMMAND - See *note Precommand Modifiers::. - -. FILE [ ARG ... ] - Read commands from FILE and execute them in the current shell - environment. - - If FILE does not contain a slash, or if PATH_DIRS is set, the shell - looks in the components of $path to find the directory containing - FILE. Files in the current directory are not read unless '.' - appears somewhere in $path. If a file named 'FILE.zwc' is found, - is newer than FILE, and is the compiled form (created with the - zcompile builtin) of FILE, then commands are read from that file - instead of FILE. - - If any arguments ARG are given, they become the positional - parameters; the old positional parameters are restored when the - FILE is done executing. However, if no arguments are given, the - positional parameters remain those of the calling context, and no - restoring is done. - - If FILE was not found the return status is 127; if FILE was found - but contained a syntax error the return status is 126; else the - return status is the exit status of the last command executed. - -: [ ARG ... ] - This command does nothing, although normal argument expansions is - performed which may have effects on shell parameters. A zero exit - status is returned. - -alias [ {+|-}gmrsL ] [ NAME[=VALUE] ... ] - For each NAME with a corresponding VALUE, define an alias with that - value. A trailing space in VALUE causes the next word to be - checked for alias expansion. If the -g flag is present, define a - global alias; global aliases are expanded even if they do not occur - in command position: - - % perldoc --help 2>&1 | grep 'built-in functions' - -f Search Perl built-in functions - % alias -g HG='--help 2>&1 | grep' - % perldoc HG 'built-in functions' - -f Search Perl built-in functions - - If the -s flag is present, define a suffix alias: if the command - word on a command line is in the form 'TEXT.NAME', where TEXT is - any non-empty string, it is replaced by the text 'VALUE TEXT.NAME'. - Note that NAME is treated as a literal string, not a pattern. A - trailing space in VALUE is not special in this case. For example, - - alias -s ps='gv --' - - will cause the command '*.ps' to be expanded to 'gv -- *.ps'. As - alias expansion is carried out earlier than globbing, the '*.ps' - will then be expanded. Suffix aliases constitute a different name - space from other aliases (so in the above example it is still - possible to create an alias for the command ps) and the two sets - are never listed together. - - For each NAME with no VALUE, print the value of NAME, if any. With - no arguments, print all currently defined aliases other than suffix - aliases. If the -m flag is given the arguments are taken as - patterns (they should be quoted to preserve them from being - interpreted as glob patterns), and the aliases matching these - patterns are printed. When printing aliases and one of the -g, -r - or -s flags is present, restrict the printing to global, regular or - suffix aliases, respectively; a regular alias is one which is - neither a global nor a suffix alias. Using '+' instead of '-', or - ending the option list with a single '+', prevents the values of - the aliases from being printed. - - If the -L flag is present, then print each alias in a manner - suitable for putting in a startup script. The exit status is - nonzero if a NAME (with no VALUE) is given for which no alias has - been defined. - - For more on aliases, include common problems, see *note Aliasing::. - -autoload [ {+|-}RTUXdkmrtWz ] [ -w ] [ NAME ... ] - See the section 'Autoloading Functions' in *note Functions:: for - full details. The fpath parameter will be searched to find the - function definition when the function is first referenced. - - If NAME consists of an absolute path, the function is defined to - load from the file given (searching as usual for dump files in the - given location). The name of the function is the basename - (non-directory part) of the file. It is normally an error if the - function is not found in the given location; however, if the option - -d is given, searching for the function defaults to $fpath. If a - function is loaded by absolute path, any functions loaded from it - that are marked for autoload without an absolute path have the load - path of the parent function temporarily prepended to $fpath. - - If the option -r or -R is given, the function is searched for - immediately and the location is recorded internally for use when - the function is executed; a relative path is expanded using the - value of $PWD. This protects against a change to $fpath after the - call to autoload. With -r, if the function is not found, it is - silently left unresolved until execution; with -R, an error message - is printed and command processing aborted immediately the search - fails, i.e. at the autoload command rather than at function - execution.. - - The flag -X may be used only inside a shell function. It causes - the calling function to be marked for autoloading and then - immediately loaded and executed, with the current array of - positional parameters as arguments. This replaces the previous - definition of the function. If no function definition is found, an - error is printed and the function remains undefined and marked for - autoloading. If an argument is given, it is used as a directory - (i.e. it does not include the name of the function) in which the - function is to be found; this may be combined with the -d option to - allow the function search to default to $fpath if it is not in the - given location. - - The flag +X attempts to load each NAME as an autoloaded function, - but does _not_ execute it. The exit status is zero (success) if - the function was not previously defined _and_ a definition for it - was found. This does _not_ replace any existing definition of the - function. The exit status is nonzero (failure) if the function was - already defined or when no definition was found. In the latter - case the function remains undefined and marked for autoloading. If - ksh-style autoloading is enabled, the function created will contain - the contents of the file plus a call to the function itself - appended to it, thus giving normal ksh autoloading behaviour on the - first call to the function. If the -m flag is also given each NAME - is treated as a pattern and all functions already marked for - autoload that match the pattern are loaded. - - With the -t flag, turn on execution tracing; with -T, turn on - execution tracing only for the current function, turning it off on - entry to any called functions that do not also have tracing - enabled. - - With the -U flag, alias expansion is suppressed when the function - is loaded. - - With the -w flag, the NAMEs are taken as names of files compiled - with the zcompile builtin, and all functions defined in them are - marked for autoloading. - - The flags -z and -k mark the function to be autoloaded using the - zsh or ksh style, as if the option KSH_AUTOLOAD were unset or were - set, respectively. The flags override the setting of the option at - the time the function is loaded. - - Note that the autoload command makes no attempt to ensure the shell - options set during the loading or execution of the file have any - particular value. For this, the emulate command can be used: - - emulate zsh -c 'autoload -Uz FUNC' - - arranges that when FUNC is loaded the shell is in native zsh - emulation, and this emulation is also applied when FUNC is run. - - Some of the functions of autoload are also provided by functions -u - or functions -U, but autoload is a more comprehensive interface. - -bg [ JOB ... ] -JOB ... & - Put each specified JOB in the background, or the current job if - none is specified. - -bindkey - See *note Zle Builtins::. - -break [ N ] - Exit from an enclosing for, while, until, select or repeat loop. - If an arithmetic expression N is specified, then break N levels - instead of just one. - -builtin NAME [ ARGS ... ] - Executes the builtin NAME, with the given ARGS. - -bye - Same as exit. - -cap - See *note The zsh/cap Module::. - -cd [ -qsLP ] [ ARG ] -cd [ -qsLP ] OLD NEW -cd [ -qsLP ] {+|-}N - Change the current directory. In the first form, change the - current directory to ARG, or to the value of $HOME if ARG is not - specified. If ARG is '-', change to the previous directory. - - Otherwise, if ARG begins with a slash, attempt to change to the - directory given by ARG. - - If ARG does not begin with a slash, the behaviour depends on - whether the current directory '.' occurs in the list of directories - contained in the shell parameter cdpath. If it does not, first - attempt to change to the directory ARG under the current directory, - and if that fails but cdpath is set and contains at least one - element attempt to change to the directory ARG under each component - of cdpath in turn until successful. If '.' occurs in cdpath, then - cdpath is searched strictly in order so that '.' is only tried at - the appropriate point. - - The order of testing cdpath is modified if the option POSIX_CD is - set, as described in the documentation for the option. - - If no directory is found, the option CDABLE_VARS is set, and a - parameter named ARG exists whose value begins with a slash, treat - its value as the directory. In that case, the parameter is added - to the named directory hash table. - - The second form of cd substitutes the string NEW for the string OLD - in the name of the current directory, and tries to change to this - new directory. - - The third form of cd extracts an entry from the directory stack, - and changes to that directory. An argument of the form '+N' - identifies a stack entry by counting from the left of the list - shown by the dirs command, starting with zero. An argument of the - form '-N' counts from the right. If the PUSHD_MINUS option is set, - the meanings of '+' and '-' in this context are swapped. If the - POSIX_CD option is set, this form of cd is not recognised and will - be interpreted as the first form. - - If the -q (quiet) option is specified, the hook function chpwd and - the functions in the array chpwd_functions are not called. This is - useful for calls to cd that do not change the environment seen by - an interactive user. - - If the -s option is specified, cd refuses to change the current - directory if the given pathname contains symlinks. If the -P - option is given or the CHASE_LINKS option is set, symbolic links - are resolved to their true values. If the -L option is given - symbolic links are retained in the directory (and not resolved) - regardless of the state of the CHASE_LINKS option. - -chdir - Same as cd. - -clone - See *note The zsh/clone Module::. - -command [ -pvV ] SIMPLE COMMAND - The simple command argument is taken as an external command instead - of a function or builtin and is executed. If the POSIX_BUILTINS - option is set, builtins will also be executed but certain special - properties of them are suppressed. The -p flag causes a default - path to be searched instead of that in $path. With the -v flag, - command is similar to whence and with -V, it is equivalent to - whence -v. - - See also *note Precommand Modifiers::. - -comparguments - See *note The zsh/computil Module::. - -compcall - See *note The zsh/compctl Module::. - -compctl - See *note The zsh/compctl Module::. - -compdescribe - See *note The zsh/computil Module::. - -compfiles - See *note The zsh/computil Module::. - -compgroups - See *note The zsh/computil Module::. - -compquote - See *note The zsh/computil Module::. - -comptags - See *note The zsh/computil Module::. - -comptry - See *note The zsh/computil Module::. - -compvalues - See *note The zsh/computil Module::. - -continue [ N ] - Resume the next iteration of the enclosing for, while, until, - select or repeat loop. If an arithmetic expression N is specified, - break out of N-1 loops and resume at the Nth enclosing loop. - -declare - Same as typeset. - -dirs [ -c ] [ ARG ... ] -dirs [ -lpv ] - With no arguments, print the contents of the directory stack. - Directories are added to this stack with the pushd command, and - removed with the cd or popd commands. If arguments are specified, - load them onto the directory stack, replacing anything that was - there, and push the current directory onto the stack. - - -c - clear the directory stack. - - -l - print directory names in full instead of using of using ~ - expressions (*note Filename Expansion::). - - -p - print directory entries one per line. - - -v - number the directories in the stack when printing. - -disable [ -afmprs ] NAME ... - Temporarily disable the NAMEd hash table elements or patterns. The - default is to disable builtin commands. This allows you to use an - external command with the same name as a builtin command. The -a - option causes disable to act on regular or global aliases. The -s - option causes disable to act on suffix aliases. The -f option - causes disable to act on shell functions. The -r options causes - disable to act on reserved words. Without arguments all disabled - hash table elements from the corresponding hash table are printed. - With the -m flag the arguments are taken as patterns (which should - be quoted to prevent them from undergoing filename expansion), and - all hash table elements from the corresponding hash table matching - these patterns are disabled. Disabled objects can be enabled with - the enable command. - - With the option -p, NAME ... refer to elements of the shell's - pattern syntax as described in *note Filename Generation::. - Certain elements can be disabled separately, as given below. - - Note that patterns not allowed by the current settings for the - options EXTENDED_GLOB, KSH_GLOB and SH_GLOB are never enabled, - regardless of the setting here. For example, if EXTENDED_GLOB is - not active, the pattern ^ is ineffective even if 'disable -p "^"' - has not been issued. The list below indicates any option settings - that restrict the use of the pattern. It should be noted that - setting SH_GLOB has a wider effect than merely disabling patterns - as certain expressions, in particular those involving parentheses, - are parsed differently. - - The following patterns may be disabled; all the strings need - quoting on the command line to prevent them from being interpreted - immediately as patterns and the patterns are shown below in single - quotes as a reminder. - - '?' - The pattern character ? wherever it occurs, including when - preceding a parenthesis with KSH_GLOB. - - '*' - The pattern character * wherever it occurs, including - recursive globbing and when preceding a parenthesis with - KSH_GLOB. - - '[' - Character classes. - - '<' (NO_SH_GLOB) - Numeric ranges. - - '|' (NO_SH_GLOB) - Alternation in grouped patterns, case statements, or KSH_GLOB - parenthesised expressions. - - '(' (NO_SH_GLOB) - Grouping using single parentheses. Disabling this does not - disable the use of parentheses for KSH_GLOB where they are - introduced by a special character, nor for glob qualifiers - (use 'setopt NO_BARE_GLOB_QUAL' to disable glob qualifiers - that use parentheses only). - - '~' (EXTENDED_GLOB) - Exclusion in the form A~B. - - '^' (EXTENDED_GLOB) - Exclusion in the form A^B. - - '#' (EXTENDED_GLOB) - The pattern character # wherever it occurs, both for - repetition of a previous pattern and for indicating globbing - flags. - - '?(' (KSH_GLOB) - The grouping form ?(...). Note this is also disabled if '?' - is disabled. - - '*(' (KSH_GLOB) - The grouping form *(...). Note this is also disabled if '*' - is disabled. - - '+(' (KSH_GLOB) - The grouping form +(...). - - '!(' (KSH_GLOB) - The grouping form !(...). - - '@(' (KSH_GLOB) - The grouping form @(...). - -disown [ JOB ... ] -JOB ... &| -JOB ... &! - Remove the specified JOBs from the job table; the shell will no - longer report their status, and will not complain if you try to - exit an interactive shell with them running or stopped. If no JOB - is specified, disown the current job. - - If the JOBs are currently stopped and the AUTO_CONTINUE option is - not set, a warning is printed containing information about how to - make them running after they have been disowned. If one of the - latter two forms is used, the JOBs will automatically be made - running, independent of the setting of the AUTO_CONTINUE option. - -echo [ -neE ] [ ARG ... ] - Write each ARG on the standard output, with a space separating each - one. If the -n flag is not present, print a newline at the end. - echo recognizes the following escape sequences: - - \a - bell character - \b - backspace - \c - suppress subsequent characters and final newline - \e - escape - \f - form feed - \n - linefeed (newline) - \r - carriage return - \t - horizontal tab - \v - vertical tab - \\ - backslash - \0NNN - character code in octal - \xNN - character code in hexadecimal - \uNNNN - unicode character code in hexadecimal - \UNNNNNNNN - unicode character code in hexadecimal - - The -E flag, or the BSD_ECHO option, can be used to disable these - escape sequences. In the latter case, -e flag can be used to - enable them. - - Note that for standards compliance a double dash does not terminate - option processing; instead, it is printed directly. However, a - single dash does terminate option processing, so the first dash, - possibly following options, is not printed, but everything - following it is printed as an argument. The single dash behaviour - is different from other shells. For a more portable way of - printing text, see printf, and for a more controllable way of - printing text within zsh, see print. - -echotc - See *note The zsh/termcap Module::. - -echoti - See *note The zsh/terminfo Module::. - -emulate [ -lLR ] [ {zsh|sh|ksh|csh} [ FLAGS ... ] ] - Without any argument print current emulation mode. - - With single argument set up zsh options to emulate the specified - shell as much as possible. ‘csh’ will never be fully emulated. If - the argument is not one of the shells listed above, zsh will be - used as a default; more precisely, the tests performed on the - argument are the same as those used to determine the emulation at - startup based on the shell name, see *note Compatibility:: . In - addition to setting shell options, the command also restores the - pristine state of pattern enables, as if all patterns had been - enabled using enable -p. - - If the emulate command occurs inside a function that has been - marked for execution tracing with functions -t then the xtrace - option will be turned on regardless of emulation mode or other - options. Note that code executed inside the function by the ., - source, or eval commands is not considered to be running directly - from the function, hence does not provoke this behaviour. - - If the -R switch is given, all settable options are reset to their - default value corresponding to the specified emulation mode, except - for certain options describing the interactive environment; - otherwise, only those options likely to cause portability problems - in scripts and functions are altered. If the -L switch is given, - the options LOCAL_OPTIONS, LOCAL_PATTERNS and LOCAL_TRAPS will be - set as well, causing the effects of the emulate command and any - setopt, disable -p or enable -p, and trap commands to be local to - the immediately surrounding shell function, if any; normally these - options are turned off in all emulation modes except ksh. The -L - switch is mutually exclusive with the use of -c in FLAGS. - - If there is a single argument and the -l switch is given, the - options that would be set or unset (the latter indicated with the - prefix 'no') are listed. -l can be combined with -L or -R and the - list will be modified in the appropriate way. Note the list does - not depend on the current setting of options, i.e. it includes all - options that may in principle change, not just those that would - actually change. - - The FLAGS may be any of the invocation-time flags described in - *note Invocation::, except that '-o EMACS' and '-o VI' may not be - used. Flags such as '+r'/'+o RESTRICTED' may be prohibited in some - circumstances. - - If -c ARG appears in FLAGS, ARG is evaluated while the requested - emulation is temporarily in effect. In this case the emulation - mode and all options are restored to their previous values before - emulate returns. The -R switch may precede the name of the shell - to emulate; note this has a meaning distinct from including -R in - FLAGS. - - Use of -c enables 'sticky' emulation mode for functions defined - within the evaluated expression: the emulation mode is associated - thereafter with the function so that whenever the function is - executed the emulation (respecting the -R switch, if present) and - all options are set (and pattern disables cleared) before entry to - the function, and the state is restored after exit. If the - function is called when the sticky emulation is already in effect, - either within an 'emulate SHELL -c' expression or within another - function with the same sticky emulation, entry and exit from the - function do not cause options to be altered (except due to standard - processing such as the LOCAL_OPTIONS option). This also applies to - functions marked for autoload within the sticky emulation; the - appropriate set of options will be applied at the point the - function is loaded as well as when it is run. - - For example: - - emulate sh -c 'fni() { setopt cshnullglob; } - fno() { fni; }' - fno - - The two functions fni and fno are defined with sticky sh emulation. - fno is then executed, causing options associated with emulations to - be set to their values in sh. fno then calls fni; because fni is - also marked for sticky sh emulation, no option changes take place - on entry to or exit from it. Hence the option cshnullglob, turned - off by sh emulation, will be turned on within fni and remain on - return to fno. On exit from fno, the emulation mode and all - options will be restored to the state they were in before entry to - the temporary emulation. - - The documentation above is typically sufficient for the intended - purpose of executing code designed for other shells in a suitable - environment. More detailed rules follow. - 1. - The sticky emulation environment provided by 'emulate SHELL - -c' is identical to that provided by entry to a function - marked for sticky emulation as a consequence of being defined - in such an environment. Hence, for example, the sticky - emulation is inherited by subfunctions defined within - functions with sticky emulation. - 2. - No change of options takes place on entry to or exit from - functions that are not marked for sticky emulation, other than - those that would normally take place, even if those functions - are called within sticky emulation. - 3. - No special handling is provided for functions marked for - autoload nor for functions present in wordcode created by the - zcompile command. - 4. - The presence or absence of the -R switch to emulate - corresponds to different sticky emulation modes, so for - example 'emulate sh -c', 'emulate -R sh -c' and 'emulate csh - -c' are treated as three distinct sticky emulations. - 5. - Difference in shell options supplied in addition to the basic - emulation also mean the sticky emulations are different, so - for example 'emulate zsh -c' and 'emulate zsh -o cbases -c' - are treated as distinct sticky emulations. - -enable [ -afmprs ] NAME ... - Enable the NAMEd hash table elements, presumably disabled earlier - with disable. The default is to enable builtin commands. The -a - option causes enable to act on regular or global aliases. The -s - option causes enable to act on suffix aliases. The -f option - causes enable to act on shell functions. The -r option causes - enable to act on reserved words. Without arguments all enabled - hash table elements from the corresponding hash table are printed. - With the -m flag the arguments are taken as patterns (should be - quoted) and all hash table elements from the corresponding hash - table matching these patterns are enabled. Enabled objects can be - disabled with the disable builtin command. - - enable -p reenables patterns disabled with disable -p. Note that - it does not override globbing options; for example, 'enable -p "~"' - does not cause the pattern character ~ to be active unless the - EXTENDED_GLOB option is also set. To enable all possible patterns - (so that they may be individually disabled with disable -p), use - 'setopt EXTENDED_GLOB KSH_GLOB NO_SH_GLOB'. - -eval [ ARG ... ] - Read the arguments as input to the shell and execute the resulting - command(s) in the current shell process. The return status is the - same as if the commands had been executed directly by the shell; if - there are no ARGS or they contain no commands (i.e. are an empty - string or whitespace) the return status is zero. - -exec [ -cl ] [ -a ARGV0 ] [ COMMAND [ ARG ... ] ] - Replace the current shell with COMMAND rather than forking. If - COMMAND is a shell builtin command or a shell function, the shell - executes it, and exits when the command is complete. - - With -c clear the environment; with -l prepend - to the argv[0] - string of the command executed (to simulate a login shell); with -a - ARGV0 set the argv[0] string of the command executed. See *note - Precommand Modifiers::. - - If the option POSIX_BUILTINS is set, COMMAND is never interpreted - as a shell builtin command or shell function. This means further - precommand modifiers such as builtin and noglob are also not - interpreted within the shell. Hence COMMAND is always found by - searching the command path. - - If COMMAND is omitted but any redirections are specified, then the - redirections will take effect in the current shell. - -exit [ N ] - Exit the shell with the exit status specified by an arithmetic - expression N; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the shell - to exit, unless the IGNORE_EOF option is set. - - See notes at the end of *note Jobs & Signals:: for some possibly - unexpected interactions of the exit command with jobs. - -export [ NAME[=VALUE] ... ] - The specified NAMEs are marked for automatic export to the - environment of subsequently executed commands. Equivalent to - typeset -gx. If a parameter specified does not already exist, it - is created in the global scope. - -false [ ARG ... ] - Do nothing and return an exit status of 1. - -fc [ -e ENAME ] [ -s ] [ -LI ] [ -m MATCH ] [ OLD=NEW ... ] [ FIRST [ LAST ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t TIMEFMT ] [ -m MATCH ] - [ OLD=NEW ... ] [ FIRST [ LAST ] ] -fc -p [ -a ] [ FILENAME [ HISTSIZE [ SAVEHISTSIZE ] ] ] -fc -P -fc -ARWI [ FILENAME ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automatically, - but it can be forced by setting the interactive option when - starting the shell. - - The first two forms of this command select a range of events from - FIRST to LAST from the history list. The arguments FIRST and LAST - may be specified as a number or as a string. A negative number is - used as an offset to the current history event number. A string - specifies the most recent event beginning with the given string. - All substitutions OLD=NEW, if any, are then performed on the text - of the events. - - The range of events selected by numbers can be narrowed further by - the following flags. - -I - restricts to only internal events (not from $HISTFILE) - -L - restricts to only local events (not from other shells, see - SHARE_HISTORY in *note Description of Options:: - note that - $HISTFILE is considered local when read at startup) - -m - takes the first argument as a pattern (which should be quoted) - and only the history events matching this pattern are - considered - - If FIRST is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If LAST is not - specified, it will be set to FIRST, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with 'print -s' or 'fc -R', then the default LAST for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ENAME is invoked on a file containing these history events. If -e - is not given, the value of the parameter FCEDIT is used; if that is - not set the value of the parameter EDITOR is used; if that is not - set a builtin default, usually 'vi' is used. If ENAME is '-', no - editor is invoked. When editing is complete, the edited command is - executed. - - The flag '-s' is equivalent to '-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers when - listing. - - Also when listing, - -d - prints timestamps for each event - -f - prints full time-date stamps in the US 'MM/DD/YY HH:MM' format - -E - prints full time-date stamps in the European 'DD.MM.YYYY - HH:MM' format - -i - prints full time-date stamps in ISO8601 'YYYY-MM-DD HH:MM' - format - -t FMT - prints time and date stamps in the given format; FMT is - formatted with the strftime function with the zsh extensions - described for the %D{STRING} prompt format in *note Prompt - Expansion::. The resulting formatted string must be no more - than 256 characters or will not be printed - - -D - prints elapsed times; may be combined with one of the options - above - - 'fc -p' pushes the current history list onto a stack and switches - to a new history list. If the -a option is also specified, this - history list will be automatically popped when the current function - scope is exited, which is a much better solution than creating a - trap function to call 'fc -P' manually. If no arguments are - specified, the history list is left empty, $HISTFILE is unset, and - $HISTSIZE & $SAVEHIST are set to their default values. If one - argument is given, $HISTFILE is set to that filename, $HISTSIZE & - $SAVEHIST are left unchanged, and the history file is read in (if - it exists) to initialize the new list. If a second argument is - specified, $HISTSIZE & $SAVEHIST are instead set to the single - specified numeric value. Finally, if a third argument is - specified, $SAVEHIST is set to a separate value from $HISTSIZE. - You are free to change these environment values for the new history - list however you desire in order to manipulate the new history - list. - - 'fc -P' pops the history list back to an older list saved by 'fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set - appropriately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when 'fc -p' was - called. Note that this restoration can conflict with making these - variables "local", so your best bet is to avoid local declarations - for these variables in functions that use 'fc -p'. The one other - guaranteed-safe combination is declaring these variables to be - local at the top of your function and using the automatic option - (-a) with 'fc -p'. Finally, note that it is legal to manually pop - a push marked for automatic popping if you need to do so before the - function exits. - - 'fc -R' reads the history from the given file, 'fc -W' writes the - history out to the given file, and 'fc -A' appends the history out - to the given file. If no filename is specified, the $HISTFILE is - assumed. If the -I option is added to -R, only those events that - are not already contained within the internal history list are - added. If the -I option is added to -A or -W, only those events - that are new since last incremental append/write to the history - file are appended/written. In any case, the created file will have - no more than $SAVEHIST entries. - -fg [ JOB ... ] -JOB ... - Bring each specified JOB in turn to the foreground. If no JOB is - specified, resume the current job. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ N ] ] [ NAME[=VALUE] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -functions [ {+|-}UkmtTuWz ] [ -x NUM ] [ NAME ... ] -functions -c OLDFN NEWFN -functions -M [-s] MATHFN [ MIN [ MAX [ SHELLFN ] ] ] -functions -M [ -m PATTERN ... ] -functions +M [ -m ] MATHFN ... - Equivalent to typeset -f, with the exception of the -c, -x, -M and - -W options. For functions -u and functions -U, see autoload, which - provides additional options. For functions -t and functions -T, - see typeset -f. - - The -x option indicates that any functions output will have each - leading tab for indentation, added by the shell to show syntactic - structure, expanded to the given number NUM of spaces. NUM can - also be 0 to suppress all indentation. - - The -W option turns on the option WARN_NESTED_VAR for the named - function or functions only. The option is turned off at the start - of nested functions (apart from anonoymous functions) unless the - called function also has the -W attribute. - - The -c option causes OLDFN to be copied to NEWFN. The copy is - efficiently handled internally by reference counting. If OLDFN was - marked for autoload it is first loaded and if this fails the copy - fails. Either function may subsequently be redefined without - affecting the other. A typical idiom is that OLDFN is the name of - a library shell function which is then redefined to call newfn, - thereby installing a modified version of the function. - - _The _-M_ and _+M_ flags_ - - Use of the -M option may not be combined with any of the options - handled by typeset -f. - - functions -M MATHFN defines MATHFN as the name of a mathematical - function recognised in all forms of arithmetical expressions; see - *note Arithmetic Evaluation::. By default MATHFN may take any - number of comma-separated arguments. If MIN is given, it must have - exactly MIN args; if MIN and MAX are both given, it must have at - least MIN and at most MAX args. MAX may be -1 to indicate that - there is no upper limit. - - By default the function is implemented by a shell function of the - same name; if SHELLFN is specified it gives the name of the - corresponding shell function while MATHFN remains the name used in - arithmetical expressions. The name of the function in $0 is MATHFN - (not SHELLFN as would usually be the case), provided the option - FUNCTION_ARGZERO is in effect. The positional parameters in the - shell function correspond to the arguments of the mathematical - function call. - - The result of the last arithmetical expression evaluated inside the - shell function gives the result of the mathematical function. This - is not limited to arithmetic substitutions of the form $((...)), - but also includes arithmetical expressions evaluated in any other - way, including by the let builtin, by ((...)) statements, and even - by the return builtin and by array subscripts. Therefore, care - must be taken not to use syntactical constructs that perform - arithmetic evaluation after evaluating what is to be the result of - the function. For example: - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - return 0 - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - This will print '0' because of the return. - - Commenting the return out would lead to a different problem: the - ((...)) statement would become the last statement in the function, - so the _return status_ ($?) of the function would be non-zero - (indicating failure) whenever the _arithmetic result_ of the - function would happen to be zero (numerically): - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - } - functions -M cube 1 1 zmath_cube - print $(( cube(0) )) - - Instead, the true builtin can be used: - - # RIGHT - zmath_cube() { - (( $1 * $1 * $1 )) - true - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - If the additional option -s is given to functions -M, the argument - to the function is a single string: anything between the opening - and matching closing parenthesis is passed to the function as a - single argument, even if it includes commas or white space. The - minimum and maximum argument specifiers must therefore be 1 if - given. An empty argument list is passed as a zero-length string. - Thus, the following string function takes a single argument, - including the commas, and prints 11: - - stringfn() { (( $#1 )); true } - functions -Ms stringfn - print $(( stringfn(foo,bar,rod) )) - - functions -M with no arguments lists all such user-defined - functions in the same form as a definition. With the additional - option -m and a list of arguments, all functions whose MATHFN - matches one of the pattern arguments are listed. - - function +M removes the list of mathematical functions; with the - additional option -m the arguments are treated as patterns and all - functions whose MATHFN matches the pattern are removed. Note that - the shell function implementing the behaviour is not removed - (regardless of whether its name coincides with MATHFN). - -getcap - See *note The zsh/cap Module::. - -getln [ -AclneE ] NAME ... - Read the top value from the buffer stack and put it in the shell - parameter NAME. Equivalent to read -zr. - -getopts OPTSTRING NAME [ ARG ... ] - Checks the ARGs for legal options. If the ARGs are omitted, use - the positional parameters. A valid option argument begins with a - '+' or a '-'. An argument not beginning with a '+' or a '-', or - the argument '--', ends the options. Note that a single '-' is not - considered a valid option argument. OPTSTRING contains the letters - that getopts recognizes. If a letter is followed by a ':', that - option requires an argument. The options can be separated from the - argument by blanks. - - Each time it is invoked, getopts places the option letter it finds - in the shell parameter NAME, prepended with a '+' when ARG begins - with a '+'. The index of the next ARG is stored in OPTIND. The - option argument, if any, is stored in OPTARG. - - The first option to be examined may be changed by explicitly - assigning to OPTIND. OPTIND has an initial value of 1, and is - normally set to 1 upon entry to a shell function and restored upon - exit. (The POSIX_BUILTINS option disables this, and also changes - the way the value is calculated to match other shells.) OPTARG is - not reset and retains its value from the most recent call to - getopts. If either of OPTIND or OPTARG is explicitly unset, it - remains unset, and the index or option argument is not stored. The - option itself is still stored in NAME in this case. - - A leading ':' in OPTSTRING causes getopts to store the letter of - any invalid option in OPTARG, and to set NAME to '?' for an unknown - option and to ':' when a required argument is missing. Otherwise, - getopts sets NAME to '?' and prints an error message when an option - is invalid. The exit status is nonzero when there are no more - options. - -hash [ -Ldfmrv ] [ NAME[=VALUE] ] ... - hash can be used to directly modify the contents of the command - hash table, and the named directory hash table. Normally one would - modify these tables by modifying one's PATH (for the command hash - table) or by creating appropriate shell parameters (for the named - directory hash table). The choice of hash table to work on is - determined by the -d option; without the option the command hash - table is used, and with the option the named directory hash table - is used. - - A command NAME starting with a / is never hashed, whether by - explicit use of the hash command or otherwise. Such a command is - always found by direct look up in the file system. - - Given no arguments, and neither the -r or -f options, the selected - hash table will be listed in full. - - The -r option causes the selected hash table to be emptied. It - will be subsequently rebuilt in the normal fashion. The -f option - causes the selected hash table to be fully rebuilt immediately. - For the command hash table this hashes all the absolute directories - in the PATH, and for the named directory hash table this adds all - users' home directories. These two options cannot be used with any - arguments. - - The -m option causes the arguments to be taken as patterns (which - should be quoted) and the elements of the hash table matching those - patterns are printed. This is the only way to display a limited - selection of hash table elements. - - For each NAME with a corresponding VALUE, put 'NAME' in the - selected hash table, associating it with the pathname 'VALUE'. In - the command hash table, this means that whenever 'NAME' is used as - a command argument, the shell will try to execute the file given by - 'VALUE'. In the named directory hash table, this means that - 'VALUE' may be referred to as '~NAME'. - - For each NAME with no corresponding VALUE, attempt to add NAME to - the hash table, checking what the appropriate value is in the - normal manner for that hash table. If an appropriate value can't - be found, then the hash table will be unchanged. - - The -v option causes hash table entries to be listed as they are - added by explicit specification. If has no effect if used with -f. - - If the -L flag is present, then each hash table entry is printed in - the form of a call to hash. - -history - Same as fc -l. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ N ] ] [ NAME[=VALUE] ... ] - Equivalent to typeset -i, except that options irrelevant to - integers are not permitted. - -jobs [ -dlprs ] [ JOB ... ] -jobs -Z STRING - Lists information about each given job, or all jobs if JOB is - omitted. The -l flag lists process IDs, and the -p flag lists - process groups. If the -r flag is specified only running jobs will - be listed and if the -s flag is given only stopped jobs are shown. - If the -d flag is given, the directory from which the job was - started (which may not be the current directory of the job) will - also be shown. - - The -Z option replaces the shell's argument and environment space - with the given string, truncated if necessary to fit. This will - normally be visible in ps (ps(1)) listings. This feature is - typically used by daemons, to indicate their state. - - Full job control is only available in the top-level interactive - shell, not in commands run in the left hand side of pipelines or - within the (...) construct. However, a snapshot of the job state - at that point is taken, so it is still possible to use the jobs - builtin, or any parameter providing job information. This gives - information about the state of jobs at the point the subshell was - created. If background processes are created within the subshell, - then instead information about those processes is provided. - - For example, - - sleep 10 & # Job in background - ( # Shell forks - jobs # Shows information about "sleep 10 &" - sleep 5 & # Process in background (no job control) - jobs # Shows information about "sleep 5 &" - ) - -kill [ -s SIGNAL_NAME | -n SIGNAL_NUMBER | -SIG ] JOB ... -kill -l [ SIG ... ] - Sends either SIGTERM or the specified signal to the given jobs or - processes. Signals are given by number or by names, with or - without the 'SIG' prefix. If the signal being sent is not 'KILL' - or 'CONT', then the job will be sent a 'CONT' signal if it is - stopped. The argument JOB can be the process ID of a job not in - the job list. In the second form, kill -l, if SIG is not specified - the signal names are listed. Otherwise, for each SIG that is a - name, the corresponding signal number is listed. For each SIG that - is a signal number or a number representing the exit status of a - process which was terminated or stopped by a signal the name of the - signal is printed. - - On some systems, alternative signal names are allowed for a few - signals. Typical examples are SIGCHLD and SIGCLD or SIGPOLL and - SIGIO, assuming they correspond to the same signal number. kill -l - will only list the preferred form, however kill -l ALT will show if - the alternative form corresponds to a signal number. For example, - under Linux kill -l IO and kill -l POLL both output 29, hence kill - -IO and kill -POLL have the same effect. - - Many systems will allow process IDs to be negative to kill a - process group or zero to kill the current process group. - -let ARG ... - Evaluate each ARG as an arithmetic expression. See *note - Arithmetic Evaluation:: for a description of arithmetic - expressions. The exit status is 0 if the value of the last - expression is nonzero, 1 if it is zero, and 2 if an error occurred. - -limit [ -hs ] [ RESOURCE [ LIMIT ] ] ... - Set or display resource limits. Unless the -s flag is given, the - limit applies only the children of the shell. If -s is given - without other arguments, the resource limits of the current shell - is set to the previously set resource limits of the children. - - If LIMIT is not specified, print the current limit placed on - RESOURCE, otherwise set the limit to the specified value. If the - -h flag is given, use hard limits instead of soft limits. If no - RESOURCE is given, print all limits. - - When looping over multiple resources, the shell will abort - immediately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue trying - to set the remaining limits. - - RESOURCE can be one of: - - addressspace - Maximum amount of address space used. - aiomemorylocked - Maximum amount of memory locked in RAM for AIO operations. - aiooperations - Maximum number of AIO operations. - cachedthreads - Maximum number of cached threads. - coredumpsize - Maximum size of a core dump. - cputime - Maximum CPU seconds per process. - datasize - Maximum data size (including stack) for each process. - descriptors - Maximum value for a file descriptor. - filesize - Largest single file allowed. - kqueues - Maximum number of kqueues allocated. - maxproc - Maximum number of processes. - maxpthreads - Maximum number of threads per process. - memorylocked - Maximum amount of memory locked in RAM. - memoryuse - Maximum resident set size. - msgqueue - Maximum number of bytes in POSIX message queues. - posixlocks - Maximum number of POSIX locks per user. - pseudoterminals - Maximum number of pseudo-terminals. - resident - Maximum resident set size. - sigpending - Maximum number of pending signals. - sockbufsize - Maximum size of all socket buffers. - stacksize - Maximum stack size for each process. - swapsize - Maximum amount of swap used. - vmemorysize - Maximum amount of virtual memory. - - Which of these resource limits are available depends on the system. - RESOURCE can be abbreviated to any unambiguous prefix. It can also - be an integer, which corresponds to the integer defined for the - resource by the operating system. - - If argument corresponds to a number which is out of the range of - the resources configured into the shell, the shell will try to read - or write the limit anyway, and will report an error if this fails. - As the shell does not store such resources internally, an attempt - to set the limit will fail unless the -s option is present. - - LIMIT is a number, with an optional scaling factor, as follows: - - Nh - hours - Nk - kilobytes (default) - Nm - megabytes or minutes - Ng - gigabytes - [MM:]SS - minutes and seconds - - The limit command is not made available by default when the shell - starts in a mode emulating another shell. It can be made available - with the command 'zmodload -F zsh/rlimits b:limit'. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ N ] ] [ NAME[=VALUE] ... ] - Same as typeset, except that the options -g, and -f are not - permitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -logout [ N ] - Same as exit, except that it only works in a login shell. - -noglob SIMPLE COMMAND - See *note Precommand Modifiers::. - -popd [ -q ] [ {+|-}N ] - Remove an entry from the directory stack, and perform a cd to the - new top directory. With no argument, the current top entry is - removed. An argument of the form '+N' identifies a stack entry by - counting from the left of the list shown by the dirs command, - starting with zero. An argument of the form -N counts from the - right. If the PUSHD_MINUS option is set, the meanings of '+' and - '-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd and - the functions in the array $chpwd_functions are not called, and the - new directory stack is not printed. This is useful for calls to - popd that do not change the environment seen by an interactive - user. - -print [ -abcDilmnNoOpPrsSz ] [ -u N ] [ -f FORMAT ] [ -C COLS ] - [ -v NAME ] [ -xX TABSTOP ] [ -R [ -en ]] [ ARG ... ] - With the '-f' option the arguments are printed as described by - printf. With no flags or with the flag '-', the arguments are - printed on the standard output as described by echo, with the - following differences: the escape sequence '\M-X' (or '\MX') - metafies the character X (sets the highest bit), '\C-X' (or '\CX') - produces a control character ('\C-@' and '\C-?' give the characters - NULL and delete), a character code in octal is represented by - '\NNN' (instead of '\0NNN'), and '\E' is a synonym for '\e'. - Finally, if not in an escape sequence, '\' escapes the following - character and is not printed. - - -a - Print arguments with the column incrementing first. Only - useful with the -c and -C options. - - -b - Recognize all the escape sequences defined for the bindkey - command, see *note Zle Builtins::. - - -c - Print the arguments in columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -C COLS - Print the arguments in COLS columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -D - Treat the arguments as paths, replacing directory prefixes - with ~ expressions corresponding to directory names, as - appropriate. - - -i - If given together with -o or -O, sorting is performed - case-independently. - - -l - Print the arguments separated by newlines instead of spaces. - Note: if the list of arguments is empty, print -l will still - output one empty line. To print a possibly-empty list of - arguments one per line, use print -C1, as in 'print -rC1 -- - "$list[@]"'. - - -m - Take the first argument as a pattern (should be quoted), and - remove it from the argument list together with subsequent - arguments that do not match this pattern. - - -n - Do not add a newline to the output. - - -N - Print the arguments separated and terminated by nulls. Again, - print -rNC1 -- "$list[@]" is a canonical way to print an - arbitrary list as null-delimited records. - - -o - Print the arguments sorted in ascending order. - - -O - Print the arguments sorted in descending order. - - -p - Print the arguments to the input of the coprocess. - - -P - Perform prompt expansion (see *note Prompt Expansion::). In - combination with '-f', prompt escape sequences are parsed only - within interpolated arguments, not within the format string. - - -r - Ignore the escape conventions of echo. - - -R - Emulate the BSD echo command, which does not process escape - sequences unless the -e flag is given. The -n flag suppresses - the trailing newline. Only the -e and -n flags are recognized - after -R; all other arguments and options are printed. - - -s - Place the results in the history list instead of on the - standard output. Each argument to the print command is - treated as a single word in the history, regardless of its - content. - - -S - Place the results in the history list instead of on the - standard output. In this case only a single argument is - allowed; it will be split into words as if it were a full - shell command line. The effect is similar to reading the line - from a history file with the HIST_LEX_WORDS option active. - - -u N - Print the arguments to file descriptor N. - - -v NAME - Store the printed arguments as the value of the parameter - NAME. - - -x TAB-STOP - Expand leading tabs on each line of output in the printed - string assuming a tab stop every TAB-STOP characters. This is - appropriate for formatting code that may be indented with - tabs. Note that leading tabs of any argument to print, not - just the first, are expanded, even if print is using spaces to - separate arguments (the column count is maintained across - arguments but may be incorrect on output owing to previous - unexpanded tabs). - - The start of the output of each print command is assumed to be - aligned with a tab stop. Widths of multibyte characters are - handled if the option MULTIBYTE is in effect. This option is - ignored if other formatting options are in effect, namely - column alignment or printf style, or if output is to a special - location such as shell history or the command line editor. - - -X TAB-STOP - This is similar to -x, except that all tabs in the printed - string are expanded. This is appropriate if tabs in the - arguments are being used to produce a table format. - - -z - Push the arguments onto the editing buffer stack, separated by - spaces. - - If any of '-m', '-o' or '-O' are used in combination with '-f' and - there are no arguments (after the removal process in the case of - '-m') then nothing is printed. - -printf [ -v NAME ] FORMAT [ ARG ... ] - Print the arguments according to the format specification. - Formatting rules are the same as used in C. The same escape - sequences as for echo are recognised in the format. All C - conversion specifications ending in one of csdiouxXeEfgGn are - handled. In addition to this, '%b' can be used instead of '%s' to - cause escape sequences in the argument to be recognised and '%q' - can be used to quote the argument in such a way that allows it to - be reused as shell input. With the numeric format specifiers, if - the corresponding argument starts with a quote character, the - numeric value of the following character is used as the number to - print; otherwise the argument is evaluated as an arithmetic - expression. See *note Arithmetic Evaluation:: for a description of - arithmetic expressions. With '%n', the corresponding argument is - taken as an identifier which is created as an integer parameter. - - Normally, conversion specifications are applied to each argument in - order but they can explicitly specify the Nth argument is to be - used by replacing '%' by '%N$' and '*' by '*N$'. It is recommended - that you do not mix references of this explicit style with the - normal style and the handling of such mixed styles may be subject - to future change. - - If arguments remain unused after formatting, the format string is - reused until all arguments have been consumed. With the print - builtin, this can be suppressed by using the -r option. If more - arguments are required by the format than have been specified, the - behaviour is as if zero or an empty string had been specified as - the argument. - - The -v option causes the output to be stored as the value of the - parameter NAME, instead of printed. If NAME is an array and the - format string is reused when consuming arguments then one array - element will be used for each use of the format string. - -pushd [ -qsLP ] [ ARG ] -pushd [ -qsLP ] OLD NEW -pushd [ -qsLP ] {+|-}N - Change the current directory, and push the old current directory - onto the directory stack. In the first form, change the current - directory to ARG. If ARG is not specified, change to the second - directory on the stack (that is, exchange the top two entries), or - change to $HOME if the PUSHD_TO_HOME option is set or if there is - only one entry on the stack. Otherwise, ARG is interpreted as it - would be by cd. The meaning of OLD and NEW in the second form is - also the same as for cd. - - The third form of pushd changes directory by rotating the directory - list. An argument of the form '+N' identifies a stack entry by - counting from the left of the list shown by the dirs command, - starting with zero. An argument of the form '-N' counts from the - right. If the PUSHD_MINUS option is set, the meanings of '+' and - '-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd and - the functions in the array $chpwd_functions are not called, and the - new directory stack is not printed. This is useful for calls to - pushd that do not change the environment seen by an interactive - user. - - If the option -q is not specified and the shell option PUSHD_SILENT - is not set, the directory stack will be printed after a pushd is - performed. - - The options -s, -L and -P have the same meanings as for the cd - builtin. - -pushln [ ARG ... ] - Equivalent to print -nz. - -pwd [ -rLP ] - Print the absolute pathname of the current working directory. If - the -r or the -P flag is specified, or the CHASE_LINKS option is - set and the -L flag is not given, the printed path will not contain - symbolic links. - -r - Same as fc -e -. - -read [ -rszpqAclneE ] [ -t [ NUM ] ] [ -k [ NUM ] ] [ -d DELIM ] - [ -u N ] [ [NAME][?PROMPT] ] [ NAME ... ] - Read one line and break it into fields using the characters in $IFS - as separators, except as noted below. The first field is assigned - to the first NAME, the second field to the second NAME, etc., with - leftover fields assigned to the last NAME. If NAME is omitted then - REPLY is used for scalars and reply for arrays. - - -r - Raw mode: a '\' at the end of a line does not signify line - continuation and backslashes in the line don't quote the - following character and are not removed. - - -s - Don't echo back characters if reading from the terminal. - - -q - Read only one character from the terminal and set NAME to 'y' - if this character was 'y' or 'Y' and to 'n' otherwise. With - this flag set the return status is zero only if the character - was 'y' or 'Y'. This option may be used with a timeout (see - -t); if the read times out, or encounters end of file, status - 2 is returned. Input is read from the terminal unless one of - -u or -p is present. This option may also be used within zle - widgets. - - -k [ NUM ] - Read only one (or NUM) characters. All are assigned to the - first NAME, without word splitting. This flag is ignored when - -q is present. Input is read from the terminal unless one of - -u or -p is present. This option may also be used within zle - widgets. - - Note that despite the mnemonic 'key' this option does read - full characters, which may consist of multiple bytes if the - option MULTIBYTE is set. - - -z - Read one entry from the editor buffer stack and assign it to - the first NAME, without word splitting. Text is pushed onto - the stack with 'print -z' or with push-line from the line - editor (see *note Zsh Line Editor::). This flag is ignored - when the -k or -q flags are present. - - -e - -E - The input read is printed (echoed) to the standard output. If - the -e flag is used, no input is assigned to the parameters. - - -A - The first NAME is taken as the name of an array and all words - are assigned to it. - - -c - -l - These flags are allowed only if called inside a function used - for completion (specified with the -K flag to compctl). If - the -c flag is given, the words of the current command are - read. If the -l flag is given, the whole line is assigned as - a scalar. If both flags are present, -l is used and -c is - ignored. - - -n - Together with -c, the number of the word the cursor is on is - read. With -l, the index of the character the cursor is on is - read. Note that the command name is word number 1, not word - 0, and that when the cursor is at the end of the line, its - character index is the length of the line plus one. - - -u N - Input is read from file descriptor N. - - -p - Input is read from the coprocess. - - -d DELIM - Input is terminated by the first character of DELIM instead of - by newline. - - -t [ NUM ] - Test if input is available before attempting to read. If NUM - is present, it must begin with a digit and will be evaluated - to give a number of seconds, which may be a floating point - number; in this case the read times out if input is not - available within this time. If NUM is not present, it is - taken to be zero, so that read returns immediately if no input - is available. If no input is available, return status 1 and - do not set any variables. - - This option is not available when reading from the editor - buffer with -z, when called from within completion with -c or - -l, with -q which clears the input queue before reading, or - within zle where other mechanisms should be used to test for - input. - - Note that read does not attempt to alter the input processing - mode. The default mode is canonical input, in which an entire - line is read at a time, so usually 'read -t' will not read - anything until an entire line has been typed. However, when - reading from the terminal with -k input is processed one key - at a time; in this case, only availability of the first - character is tested, so that e.g. 'read -t -k 2' can still - block on the second character. Use two instances of 'read -t - -k' if this is not what is wanted. - - If the first argument contains a '?', the remainder of this word is - used as a PROMPT on standard error when the shell is interactive. - - The value (exit status) of read is 1 when an end-of-file is - encountered, or when -c or -l is present and the command is not - called from a compctl function, or as described for -q. Otherwise - the value is 0. - - The behavior of some combinations of the -k, -p, -q, -u and -z - flags is undefined. Presently -q cancels all the others, -p - cancels -u, -k cancels -z, and otherwise -z cancels both -p and -u. - - The -c or -l flags cancel any and all of -kpquz. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. - -rehash - Same as hash -r. - -return [ N ] - Causes a shell function or '.' script to return to the invoking - script with the return status specified by an arithmetic expression - N. For example, the following prints '42': - - () { integer foo=40; return "foo + 2" } - echo $? - - If N is omitted, the return status is that of the last command - executed. - - If return was executed from a trap in a TRAPNAL function, the - effect is different for zero and non-zero return status. With zero - status (or after an implicit return at the end of the trap), the - shell will return to whatever it was previously processing; with a - non-zero status, the shell will behave as interrupted except that - the return status of the trap is retained. Note that the numeric - value of the signal which caused the trap is passed as the first - argument, so the statement 'return "128+$1"' will return the same - status as if the signal had not been trapped. - -sched - See *note The zsh/sched Module::. - -set [ {+|-}OPTIONS | {+|-}o [ OPTION_NAME ] ] ... [ {+|-}A [ NAME ] ] - [ ARG ... ] - Set the options for the shell and/or set the positional parameters, - or declare and set an array. If the -s option is given, it causes - the specified arguments to be sorted before assigning them to the - positional parameters (or to the array NAME if -A is used). With - +s sort arguments in descending order. For the meaning of the - other flags, see *note Options::. Flags may be specified by name - using the -o option. If no option name is supplied with -o, the - current option states are printed: see the description of setopt - below for more information on the format. With +o they are printed - in a form that can be used as input to the shell. - - If the -A flag is specified, NAME is set to an array containing the - given ARGs; if no NAME is specified, all arrays are printed - together with their values. - - If +A is used and NAME is an array, the given arguments will - replace the initial elements of that array; if no NAME is - specified, all arrays are printed without their values. - - The behaviour of arguments after -A NAME or +A NAME depends on - whether the option KSH_ARRAYS is set. If it is not set, all - arguments following NAME are treated as values for the array, - regardless of their form. If the option is set, normal option - processing continues at that point; only regular arguments are - treated as values for the array. This means that - - set -A array -x -- foo - - sets array to '-x -- foo' if KSH_ARRAYS is not set, but sets the - array to foo and turns on the option '-x' if it is set. - - If the -A flag is not present, but there are arguments beyond the - options, the positional parameters are set. If the option list (if - any) is terminated by '--', and there are no further arguments, the - positional parameters will be unset. - - If no arguments and no '--' are given, then the names and values of - all parameters are printed on the standard output. If the only - argument is '+', the names of all parameters are printed. - - For historical reasons, 'set -' is treated as 'set +xv' and 'set - - ARGS' as 'set +xv -- ARGS' when in any other emulation mode than - zsh's native mode. - -setcap - See *note The zsh/cap Module::. - -setopt [ {+|-}OPTIONS | {+|-}o OPTION_NAME ] [ -m ] [ NAME ... ] - Set the options for the shell. All options specified either with - flags or by name are set. - - If no arguments are supplied, the names of all options currently - set are printed. The form is chosen so as to minimize the - differences from the default options for the current emulation (the - default emulation being native zsh, shown as <Z> in *note - Description of Options::). Options that are on by default for the - emulation are shown with the prefix no only if they are off, while - other options are shown without the prefix no and only if they are - on. In addition to options changed from the default state by the - user, any options activated automatically by the shell (for - example, SHIN_STDIN or INTERACTIVE) will be shown in the list. The - format is further modified by the option KSH_OPTION_PRINT, however - the rationale for choosing options with or without the no prefix - remains the same in this case. - - If the -m flag is given the arguments are taken as patterns (which - should be quoted to protect them from filename expansion), and all - options with names matching these patterns are set. - - Note that a bad option name does not cause execution of subsequent - shell code to be aborted; this is behaviour is different from that - of 'set -o'. This is because set is regarded as a special builtin - by the POSIX standard, but setopt is not. - -shift [ -p ] [ N ] [ NAME ... ] - The positional parameters ${N+1} ... are renamed to $1 ..., where - N is an arithmetic expression that defaults to 1. If any NAMEs are - given then the arrays with these names are shifted instead of the - positional parameters. - - If the option -p is given arguments are instead removed (popped) - from the end rather than the start of the array. - -source FILE [ ARG ... ] - Same as '.', except that the current directory is always searched - and is always searched first, before directories in $path. - -stat - See *note The zsh/stat Module::. - -suspend [ -f ] - Suspend the execution of the shell (send it a SIGTSTP) until it - receives a SIGCONT. Unless the -f option is given, this will - refuse to suspend a login shell. - -test [ ARG ... ] -[ [ ARG ... ] ] - Like the system version of test. Added for compatibility; use - conditional expressions instead (see *note Conditional - Expressions::). The main differences between the conditional - expression syntax and the test and [ builtins are: these commands - are not handled syntactically, so for example an empty variable - expansion may cause an argument to be omitted; syntax errors cause - status 2 to be returned instead of a shell error; and arithmetic - operators expect integer arguments rather than arithmetic - expressions. - - The command attempts to implement POSIX and its extensions where - these are specified. Unfortunately there are intrinsic ambiguities - in the syntax; in particular there is no distinction between test - operators and strings that resemble them. The standard attempts to - resolve these for small numbers of arguments (up to four); for five - or more arguments compatibility cannot be relied on. Users are - urged wherever possible to use the '[[' test syntax which does not - have these ambiguities. - -times - Print the accumulated user and system times for the shell and for - processes run from the shell. - -trap [ ARG ] [ SIG ... ] - ARG is a series of commands (usually quoted to protect it from - immediate evaluation by the shell) to be read and executed when the - shell receives any of the signals specified by one or more SIG - args. Each SIG can be given as a number, or as the name of a - signal either with or without the string SIG in front (e.g. 1, - HUP, and SIGHUP are all the same signal). - - If ARG is '-', then the specified signals are reset to their - defaults, or, if no SIG args are present, all traps are reset. - - If ARG is an empty string, then the specified signals are ignored - by the shell (and by the commands it invokes). - - If ARG is omitted but one or more SIG args are provided (i.e. the - first argument is a valid signal number or name), the effect is the - same as if ARG had been specified as '-'. - - The trap command with no arguments prints a list of commands - associated with each signal. - - If SIG is ZERR then ARG will be executed after each command with a - nonzero exit status. ERR is an alias for ZERR on systems that have - no SIGERR signal (this is the usual case). - - If SIG is DEBUG then ARG will be executed before each command if - the option DEBUG_BEFORE_CMD is set (as it is by default), else - after each command. Here, a 'command' is what is described as a - 'sublist' in the shell grammar, see *note Simple Commands & - Pipelines::. If DEBUG_BEFORE_CMD is set various additional - features are available. First, it is possible to skip the next - command by setting the option ERR_EXIT; see the description of the - ERR_EXIT option in *note Description of Options::. Also, the shell - parameter ZSH_DEBUG_CMD is set to the string corresponding to the - command to be executed following the trap. Note that this string - is reconstructed from the internal format and may not be formatted - the same way as the original text. The parameter is unset after - the trap is executed. - - If SIG is 0 or EXIT and the trap statement is executed inside the - body of a function, then the command ARG is executed after the - function completes. The value of $? at the start of execution is - the exit status of the shell or the return status of the function - exiting. If SIG is 0 or EXIT and the trap statement is not - executed inside the body of a function, then the command ARG is - executed when the shell terminates; the trap runs before any - zshexit hook functions. - - ZERR, DEBUG, and EXIT traps are not executed inside other traps. - ZERR and DEBUG traps are kept within subshells, while other traps - are reset. - - Note that traps defined with the trap builtin are slightly - different from those defined as 'TRAPNAL () { ... }', as the - latter have their own function environment (line numbers, local - variables, etc.) while the former use the environment of the - command in which they were called. For example, - - trap 'print $LINENO' DEBUG - - will print the line number of a command executed after it has run, - while - - TRAPDEBUG() { print $LINENO; } - - will always print the number zero. - - Alternative signal names are allowed as described under kill above. - Defining a trap under either name causes any trap under an - alternative name to be removed. However, it is recommended that - for consistency users stick exclusively to one name or another. - -true [ ARG ... ] - Do nothing and return an exit status of 0. - -ttyctl [ -fu ] - The -f option freezes the tty (i.e. terminal or terminal - emulator), and -u unfreezes it. When the tty is frozen, no changes - made to the tty settings by external programs will be honored by - the shell, except for changes in the size of the screen; the shell - will simply reset the settings to their previous values as soon as - each command exits or is suspended. Thus, stty and similar - programs have no effect when the tty is frozen. Freezing the tty - does not cause the current state to be remembered: instead, it - causes future changes to the state to be blocked. - - Without options it reports whether the terminal is frozen or not. - - Note that, regardless of whether the tty is frozen or not, the - shell needs to change the settings when the line editor starts, so - unfreezing the tty does not guarantee settings made on the command - line are preserved. Strings of commands run between editing the - command line will see a consistent tty state. See also the shell - variable STTY for a means of initialising the tty before running - external commands and/or freezing the tty around a single command. - -type [ -wfpamsS ] NAME ... - Equivalent to whence -v. - -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ N ] ] - [ + ] [ NAME[=VALUE] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ N ] ] - [ + | SCALAR[=VALUE] ARRAY[=(VALUE ...)] [ SEP ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ NAME ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behavior, a - parameter is created for each NAME that does not already refer to - one. When inside a function, a new parameter is created for every - NAME (even those that already exist), and is unset again when the - function completes. See *note Local Parameters::. The same rules - apply to special shell parameters, which retain their special - attributes when made local. - - For each NAME=VALUE assignment, the parameter NAME is set to VALUE. - If the assignment is omitted and NAME does _not_ refer to an - existing parameter, a new parameter is intialized to empty string, - zero, or empty array (as appropriate), _unless_ the shell option - TYPESET_TO_UNSET is set. When that option is set, the parameter - attributes are recorded but the parameter remains unset. - - If the shell option TYPESET_SILENT is not set, for each remaining - NAME that refers to a parameter that is already set, the name and - value of the parameter are printed in the form of an assignment. - Nothing is printed for newly-created parameters, or when any - attribute flags listed below are given along with the NAME. Using - '+' instead of minus to introduce an attribute turns it off. - - If no NAME is present, the names and values of all parameters are - printed. In this case the attribute flags restrict the display to - only those parameters that have the specified attributes, and using - '+' rather than '-' to introduce the flag suppresses printing of - the values of parameters when there is no parameter name. - - All forms of the command handle scalar assignment. Array - assignment is possible if any of the reserved words declare, - export, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the '+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are _not_ split further into words, even if expanded - (regardless of the setting of the KSH_TYPESET option; this option - is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in the - same way as for other commands. This example creates a scalar svar - containing the value two and another scalar parameter words with no - value. An array value in this case would either cause an error or - be treated as an obscure set of glob qualifiers. - - Arbitrary arguments are allowed if they take the form of - assignments after command line expansion; however, these only - perform scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when $var - is substituted. Any non-trivial expansion in the name part of the - assignment causes the argument to be treated in this fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of setting - the three parameters to the same value, but the command line is - parsed as a set of three normal command line arguments to typeset - after expansion. Hence it is not possible to assign to multiple - arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, 'disable -r typeset' disables the - reserved word interface to typeset, exposing the builtin interface, - while 'disable typeset' disables the builtin. Note that disabling - the reserved word interface for typeset may cause problems with the - output of 'typeset -p', which assumes the reserved word interface - is available in order to restore array and associative array - values. - - Unlike parameter assignment statements, typeset's exit status on an - assignment that involves a command substitution does not reflect - the exit status of the command substitution. Therefore, to test - for an error in a command substitution, separate the declaration of - the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter PARAM to a command output and mark it - readonly, use typeset -r PARAM or readonly PARAM after the - parameter assignment statement. - - If no attribute flags are given, and either no NAME arguments are - present or the flag +m is used, then each parameter name printed is - preceded by a list of the attributes of that parameter (array, - association, exported, float, integer, readonly, or undefined for - autoloaded parameters not yet loaded). If +m is used with - attribute flags, and all those flags are introduced with +, the - matching parameter names are printed but their values are not. - - The following control flags change the behavior of typeset: - - + - If '+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with -f) - are printed, but the values (function bodies) are not. No - NAME arguments may appear, and it is an error for any other - options to follow '+'. The effect of '+' is as if all - attribute flags which precede it were given with a '+' prefix. - For example, 'typeset -U +' is equivalent to 'typeset +U' and - displays the names of all arrays having the uniqueness - attribute, whereas 'typeset -f -U +' displays the names of all - autoloadable functions. If + is the only option, then type - information (array, readonly, etc.) is also printed for each - parameter, in the same manner as 'typeset +m "*"'. - - -g - The -g (global) means that any resulting parameter will not be - restricted to local scope. Note that this does not - necessarily mean that the parameter will be global, as the - flag will apply to any existing parameter (even if unset) from - an enclosing function. This flag does not affect the - parameter after creation, hence it has no effect when listing - existing parameters, nor does the flag +g have any effect - except in combination with -m (see below). - - -m - If the -m flag is given the NAME arguments are taken as - patterns (use quoting to prevent these from being interpreted - as file patterns). With no attribute flags, all parameters - (or functions with the -f flag) with matching names are - printed (the shell option TYPESET_SILENT is not used in this - case). - - If the +g flag is combined with -m, a new local parameter is - created for every matching parameter that is not already - local. Otherwise -m applies all other flags or assignments to - the existing parameters. - - Except when assignments are made with NAME=VALUE, using +m - forces the matching parameters and their attributes to be - printed, even inside a function. Note that -m is ignored if - no patterns are given, so 'typeset -m' displays attributes but - 'typeset -a +m' does not. - - -p [ N ] - If the -p option is given, parameters and values are printed - in the form of a typeset command with an assignment, - regardless of other flags and options. Note that the -H flag - on parameters is respected; no value will be shown for these - parameters. - - -p may be followed by an optional integer argument. Currently - only the value 1 is supported. In this case arrays and - associative arrays are printed with newlines between indented - elements for readability. - - -T [ SCALAR[=VALUE] ARRAY[=(VALUE ...)] [ SEP ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or three - arguments to be present. With no arguments, the list of - parameters created in this fashion is shown. With two or - three arguments, the first two are the name of a scalar and of - an array parameter (in that order) that will be tied together - in the manner of $PATH and $path. The optional third argument - is a single-character separator which will be used to join the - elements of the array to form the scalar; if absent, a colon - is used, as with $PATH. Only the first character of the - separator is significant; any remaining characters are - ignored. Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be assigned an - initial value (the restrictions on assignment forms described - above also apply). - - Both the scalar and the array may be manipulated as normal. - If one is unset, the other will automatically be unset too. - There is no way of untying the variables without unsetting - them, nor of converting the type of one of them with another - typeset command; +T does not work, assigning an array to - SCALAR is an error, and assigning a scalar to ARRAY sets it to - be a single-element array. - - Note that both 'typeset -xT ...' and 'export -T ...' work, but - only the scalar will be marked for export. Setting the value - using the scalar version causes a split on all separators - (which cannot be quoted). It is possible to apply -T to two - previously tied variables but with a different separator - character, in which case the variables remain joined as before - but the separator is changed. - - When an existing scalar is tied to a new array, the value of - the scalar is preserved but no attribute other than export - will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, -u) - are only applied to the expanded value at the point of a parameter - expansion expression using '$'. They are not applied when a - parameter is retrieved internally by the shell for any purpose. - - The following attribute flags may be specified: - - -A - The names refer to associative array parameters; see *note - Array Parameters::. - - -L [ N ] - Left justify and remove leading blanks from the value when the - parameter is expanded. If N is nonzero, it defines the width - of the field. If N is zero, the width is determined by the - width of the value of the first assignment. In the case of - numeric parameters, the length of the complete value assigned - to the parameter is used to determine the width, not the value - that would be output. - - The width is the count of characters, which may be multibyte - characters if the MULTIBYTE option is in effect. Note that - the screen width of the character is not taken into account; - if this is required, use padding with parameter expansion - flags ${(ml...)...} as described in 'Parameter Expansion - Flags' in *note Parameter Expansion::. - - When the parameter is expanded, it is filled on the right with - blanks or truncated if necessary to fit the field. Note - truncation can lead to unexpected results with numeric - parameters. Leading zeros are removed if the -Z flag is also - set. - - -R [ N ] - Similar to -L, except that right justification is used; when - the parameter is expanded, the field is left filled with - blanks or truncated from the end. May not be combined with - the -Z flag. - - -U - For arrays (but not for associative arrays), keep only the - first occurrence of each duplicated value. This may also be - set for tied parameters (see -T) or colon-separated special - parameters like PATH or FIGNORE, etc. Note the flag takes - effect on assignment, and the type of the variable being - assigned to is determinative; for variables with shared values - it is therefore recommended to set the flag for all - interfaces, e.g. 'typeset -U PATH path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ N ] - Specially handled if set along with the -L flag. Otherwise, - similar to -R, except that leading zeros are used for padding - instead of blanks if the first non-blank character is a digit. - Numeric parameters are specially handled: they are always - eligible for padding with zeroes, and the zeroes are inserted - at an appropriate place in the output. - - -a - The names refer to array parameters. An array parameter may - be created this way, but it may be assigned to in the typeset - statement only if the reserved word form of typeset is enabled - (as it is by default). When displaying, both normal and - associative arrays are shown. - - -f - The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags are - -t, -T, -k, -u, -U and -z. The flag -t turns on execution - tracing for this function; the flag -T does the same, but - turns off tracing for any named (not anonymous) function - called from the present one, unless that function also has the - -t or -T flag. The -u and -U flags cause the function to be - marked for autoloading; -U also causes alias expansion to be - suppressed when the function is loaded. See the description - of the 'autoload' builtin for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few extra - options; autoload gives further additional options for the - case typeset -fu and typeset -fU. - - -h - Hide: only useful for special parameters (those marked '<S>' - in the table in *note Parameters Set By The Shell::), and for - local parameters with the same name as a special parameter, - though harmless for others. A special parameter with this - attribute will not retain its special effect when made local. - Thus after 'typeset -h PATH', a function containing 'typeset - PATH' will create an ordinary local parameter without the - usual behaviour of PATH. Alternatively, the local parameter - may itself be given this attribute; hence inside a function - 'typeset -h PATH' creates an ordinary local parameter and the - special PATH parameter is not altered in any way. It is also - possible to create a local parameter using 'typeset +h - SPECIAL', where the local copy of SPECIAL will retain its - special properties regardless of having the -h attribute. - Global special parameters loaded from shell modules (currently - those in zsh/mapfile and zsh/parameter) are automatically - given the -h attribute to avoid name clashes. - - -H - Hide value: specifies that typeset will not display the value - of the parameter when listing parameters; the display for such - parameters is always as if the '+' flag had been given. Use - of the parameter is in other respects normal, and the option - does not apply if the parameter is specified by name, or by - pattern with the -m option. This is on by default for the - parameters in the zsh/parameter and zsh/mapfile modules. - Note, however, that unlike the -h flag this is also useful for - non-special parameters. - - -i [ N ] - Use an internal integer representation. If N is nonzero it - defines the output arithmetic base, otherwise it is determined - by the first assignment. Bases from 2 to 36 inclusive are - allowed. - - -E [ N ] - Use an internal double-precision floating point - representation. On output the variable will be converted to - scientific notation. If N is nonzero it defines the number of - significant figures to display; the default is ten. - - -F [ N ] - Use an internal double-precision floating point - representation. On output the variable will be converted to - fixed-point decimal notation. If N is nonzero it defines the - number of digits to display after the decimal point; the - default is ten. - - -l - Convert the result to lower case whenever the parameter is - expanded. The value is _not_ converted when assigned. - - -r - The given NAMEs are marked readonly. Note that if NAME is a - special parameter, the readonly attribute can be turned on, - but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attribute is - more restrictive: unset variables can be marked readonly and - cannot then be set; furthermore, the readonly attribute cannot - be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect the - value. More generally, the readonly attribute should not be - relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other shells) - it is still possible to create a local variable of the same - name as this is considered a different variable (though this - variable, too, can be marked readonly). Special variables - that have been made readonly retain their value and readonly - attribute when made local. - - -t - Tags the named parameters. Tags have no special meaning to - the shell. This flag has a different meaning when used with - -f; see above. - - -u - Convert the result to upper case whenever the parameter is - expanded. The value is _not_ converted when assigned. This - flag has a different meaning when used with -f; see above. - - -x - Mark for automatic export to the environment of subsequently - executed commands. If the option GLOBAL_EXPORT is set, this - implies the option -g, unless +g is also explicitly given; in - other words the parameter is not made local to the enclosing - function. This is for compatibility with previous versions of - zsh. - -ulimit [ -HSa ] [ { -bcdfiklmnpqrsTtvwx | -N RESOURCE } [ LIMIT ] ... ] - Set or display resource limits of the shell and the processes - started by the shell. The value of LIMIT can be a number in the - unit specified below or one of the values 'unlimited', which - removes the limit on the resource, or 'hard', which uses the - current value of the hard limit on the resource. - - By default, only soft limits are manipulated. If the -H flag is - given use hard limits instead of soft limits. If the -S flag is - given together with the -H flag set both hard and soft limits. - - If no options are used, the file size limit (-f) is assumed. - - If LIMIT is omitted the current value of the specified resources - are printed. When more than one resource value is printed, the - limit name and unit is printed before each value. - - When looping over multiple resources, the shell will abort - immediately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue trying - to set the remaining limits. - - Not all the following resources are supported on all systems. - Running ulimit -a will show which are supported. - - -a - Lists all of the current resource limits. - -b - Socket buffer size in bytes (N.B. not kilobytes) - -c - 512-byte blocks on the size of core dumps. - -d - Kilobytes on the size of the data segment. - -f - 512-byte blocks on the size of files written. - -i - The number of pending signals. - -k - The number of kqueues allocated. - -l - Kilobytes on the size of locked-in memory. - -m - Kilobytes on the size of physical memory. - -n - open file descriptors. - -p - The number of pseudo-terminals. - -q - Bytes in POSIX message queues. - -r - Maximum real time priority. On some systems where this is not - available, such as NetBSD, this has the same effect as -T for - compatibility with sh. - -s - Kilobytes on the size of the stack. - -T - The number of simultaneous threads available to the user. - -t - CPU seconds to be used. - -u - The number of processes available to the user. - -v - Kilobytes on the size of virtual memory. On some systems this - refers to the limit called 'address space'. - -w - Kilobytes on the size of swapped out memory. - -x - The number of locks on files. - - A resource may also be specified by integer in the form '-N - RESOURCE', where RESOURCE corresponds to the integer defined for - the resource by the operating system. This may be used to set the - limits for resources known to the shell which do not correspond to - option letters. Such limits will be shown by number in the output - of 'ulimit -a'. - - The number may alternatively be out of the range of limits compiled - into the shell. The shell will try to read or write the limit - anyway, and will report an error if this fails. - -umask [ -S ] [ MASK ] - The umask is set to MASK. MASK can be either an octal number or a - symbolic value as described in the chmod(1) man page. If MASK is - omitted, the current value is printed. The -S option causes the - mask to be printed as a symbolic value. Otherwise, the mask is - printed as an octal number. Note that in the symbolic form the - permissions you specify are those which are to be allowed (not - denied) to the users specified. - -unalias [ -ams ] NAME ... - Removes aliases. This command works the same as unhash -a, except - that the -a option removes all regular or global aliases, or with - -s all suffix aliases: in this case no NAME arguments may appear. - The options -m (remove by pattern) and -s without -a (remove listed - suffix aliases) behave as for unhash -a. Note that the meaning of - -a is different between unalias and unhash. - -unfunction - Same as unhash -f. - -unhash [ -adfms ] NAME ... - Remove the element named NAME from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note when - removing a global aliases that the argument must be quoted to - prevent it from being expanded before being passed to the command. - The -s option causes unhash to remove suffix aliases. The -f - option causes unhash to remove shell functions. The -d options - causes unhash to remove named directories. If the -m flag is given - the arguments are taken as patterns (should be quoted) and all - elements of the corresponding hash table with matching names will - be removed. - -unlimit [ -hs ] RESOURCE ... - The resource limit for each RESOURCE is set to the hard limit. If - the -h flag is given and the shell has appropriate privileges, the - hard resource limit for each RESOURCE is removed. The resources of - the shell process are only changed if the -s flag is given. - - The unlimit command is not made available by default when the shell - starts in a mode emulating another shell. It can be made available - with the command 'zmodload -F zsh/rlimits b:unlimit'. - -unset [ -fmv ] NAME ... - Each named parameter is unset. Local parameters remain local even - if unset; they appear unset within scope, but the previous value - will still reappear when the scope ends. - - Individual elements of associative array parameters may be unset by - using subscript syntax on NAME, which should be quoted (or the - entire command prefixed with noglob) to protect the subscript from - filename generation. - - If the -m flag is specified the arguments are taken as patterns - (should be quoted) and all parameters with matching names are - unset. Note that this cannot be used when unsetting associative - array elements, as the subscript will be treated as part of the - pattern. - - The -v flag specifies that NAME refers to parameters. This is the - default behaviour. - - unset -f is equivalent to unfunction. - -unsetopt [ {+|-}OPTIONS | {+|-}o OPTION_NAME ] [ NAME ... ] - Unset the options for the shell. All options specified either with - flags or by name are unset. If no arguments are supplied, the - names of all options currently unset are printed. If the -m flag - is given the arguments are taken as patterns (which should be - quoted to preserve them from being interpreted as glob patterns), - and all options with names matching these patterns are unset. - -vared - See *note Zle Builtins::. - -wait [ JOB ... ] - Wait for the specified jobs or processes. If JOB is not given then - all currently active child processes are waited for. Each JOB can - be either a job specification or the process ID of a job in the job - table. The exit status from this command is that of the job waited - for. If JOB represents an unknown job or process ID, a warning is - printed (unless the POSIX_BUILTINS option is set) and the exit - status is 127. - - It is possible to wait for recent processes (specified by process - ID, not by job) that were running in the background even if the - process has exited. Typically the process ID will be recorded by - capturing the value of the variable $! immediately after the - process has been started. There is a limit on the number of - process IDs remembered by the shell; this is given by the value of - the system configuration parameter CHILD_MAX. When this limit is - reached, older process IDs are discarded, least recently started - processes first. - - Note there is no protection against the process ID wrapping, i.e. - if the wait is not executed soon enough there is a chance the - process waited for is the wrong one. A conflict implies both - process IDs have been generated by the shell, as other processes - are not recorded, and that the user is potentially interested in - both, so this problem is intrinsic to process IDs. - -whence [ -vcwfpamsS ] [ -x NUM ] NAME ... - For each NAME, indicate how it would be interpreted if used as a - command name. - - If NAME is not an alias, built-in command, external command, shell - function, hashed command, or a reserved word, the exit status shall - be non-zero, and -- if -v, -c, or -w was passed -- a message will - be written to standard output. (This is different from other - shells that write that message to standard error.) - - whence is most useful when NAME is only the last path component of - a command, i.e. does not include a '/'; in particular, pattern - matching only succeeds if just the non-directory component of the - command is passed. - - -v - Produce a more verbose report. - - -c - Print the results in a ‘csh’-like format. This takes - precedence over -v. - - -w - For each NAME, print 'NAME: WORD' where WORD is one of alias, - builtin, command, function, hashed, reserved or none, - according as NAME corresponds to an alias, a built-in command, - an external command, a shell function, a command defined with - the hash builtin, a reserved word, or is not recognised. This - takes precedence over -v and -c. - - -f - Causes the contents of a shell function to be displayed, which - would otherwise not happen unless the -c flag were used. - - -p - Do a path search for NAME even if it is an alias, reserved - word, shell function or builtin. - - -a - Do a search for all occurrences of NAME throughout the command - path. Normally only the first occurrence is printed. - - -m - The arguments are taken as patterns (pattern characters should - be quoted), and the information is displayed for each command - matching one of these patterns. - - -s - If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S - As -s, but if the pathname had to be resolved by following - multiple symlinks, the intermediate steps are printed, too. - The symlink resolved at each step might be anywhere in the - path. - - -x NUM - Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -where [ -wpmsS ] [ -x NUM ] NAME ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x NUM ] NAME ... - Equivalent to whence -c. - -zcompile [ -U ] [ -z | -k ] [ -R | -M ] FILE [ NAME ... ] -zcompile -ca [ -m ] [ -R | -M ] FILE [ NAME ... ] -zcompile -t FILE [ NAME ... ] - This builtin command can be used to compile functions or scripts, - storing the compiled form in a file, and to examine files - containing the compiled form. This allows faster autoloading of - functions and sourcing of scripts by avoiding parsing of the text - when the files are read. - - The first form (without the -c, -a or -t options) creates a - compiled file. If only the FILE argument is given, the output file - has the name 'FILE.zwc' and will be placed in the same directory as - the FILE. The shell will load the compiled file instead of the - normal function file when the function is autoloaded; see *note - Functions:: for a description of how autoloaded functions are - searched. The extension .zwc stands for 'zsh word code'. - - If there is at least one NAME argument, all the named files are - compiled into the output FILE given as the first argument. If FILE - does not end in .zwc, this extension is automatically appended. - Files containing multiple compiled functions are called 'digest' - files, and are intended to be used as elements of the FPATH/fpath - special array. - - The second form, with the -c or -a options, writes the compiled - definitions for all the named functions into FILE. For -c, the - names must be functions currently defined in the shell, not those - marked for autoloading. Undefined functions that are marked for - autoloading may be written by using the -a option, in which case - the fpath is searched and the contents of the definition files for - those functions, if found, are compiled into FILE. If both -c and - -a are given, names of both defined functions and functions marked - for autoloading may be given. In either case, the functions in - files written with the -c or -a option will be autoloaded as if the - KSH_AUTOLOAD option were unset. - - The reason for handling loaded and not-yet-loaded functions with - different options is that some definition files for autoloading - define multiple functions, including the function with the same - name as the file, and, at the end, call that function. In such - cases the output of 'zcompile -c' does not include the additional - functions defined in the file, and any other initialization code in - the file is lost. Using 'zcompile -a' captures all this extra - information. - - If the -m option is combined with -c or -a, the NAMEs are used as - patterns and all functions whose names match one of these patterns - will be written. If no NAME is given, the definitions of all - functions currently defined or marked as autoloaded will be - written. - - Note the second form cannot be used for compiling functions that - include redirections as part of the definition rather than within - the body of the function; for example - - fn1() { { ... } >~/logfile } - - can be compiled but - - fn1() { ... } >~/logfile - - cannot. It is possible to use the first form of zcompile to - compile autoloadable functions that include the full function - definition instead of just the body of the function. - - The third form, with the -t option, examines an existing compiled - file. Without further arguments, the names of the original files - compiled into it are listed. The first line of output shows the - version of the shell which compiled the file and how the file will - be used (i.e. by reading it directly or by mapping it into - memory). With arguments, nothing is output and the return status - is set to zero if definitions for _all_ NAMEs were found in the - compiled file, and non-zero if the definition for at least one NAME - was not found. - - Other options: - - -U - Aliases are not expanded when compiling the NAMEd files. - - -R - When the compiled file is read, its contents are copied into - the shell's memory, rather than memory-mapped (see -M). This - happens automatically on systems that do not support memory - mapping. - - When compiling scripts instead of autoloadable functions, it - is often desirable to use this option; otherwise the whole - file, including the code to define functions which have - already been defined, will remain mapped, consequently wasting - memory. - - -M - The compiled file is mapped into the shell's memory when read. - This is done in such a way that multiple instances of the - shell running on the same host will share this mapped file. - If neither -R nor -M is given, the zcompile builtin decides - what to do based on the size of the compiled file. - - -k - -z - These options are used when the compiled file contains - functions which are to be autoloaded. If -z is given, the - function will be autoloaded as if the KSH_AUTOLOAD option is - _not_ set, even if it is set at the time the compiled file is - read, while if the -k is given, the function will be loaded as - if KSH_AUTOLOAD _is_ set. These options also take precedence - over any -k or -z options specified to the autoload builtin. - If neither of these options is given, the function will be - loaded as determined by the setting of the KSH_AUTOLOAD option - at the time the compiled file is read. - - These options may also appear as many times as necessary - between the listed NAMEs to specify the loading style of all - following functions, up to the next -k or -z. - - The created file always contains two versions of the compiled - format, one for big-endian machines and one for small-endian - machines. The upshot of this is that the compiled file is machine - independent and if it is read or mapped, only one half of the file - is actually used (and mapped). - -zformat - See *note The zsh/zutil Module::. - -zftp - See *note The zsh/zftp Module::. - -zle - See *note Zle Builtins::. - -zmodload [ -dL ] [ -s ] [ ... ] -zmodload -F [ -alLme -P PARAM ] MODULE [ [+-]FEATURE ... ] -zmodload -e [ -A ] [ ... ] -zmodload [ -a [ -bcpf [ -I ] ] ] [ -iL ] ... -zmodload -u [ -abcdpf [ -I ] ] [ -iL ] ... -zmodload -A [ -L ] [ MODALIAS[=MODULE] ... ] -zmodload -R MODALIAS ... - Performs operations relating to zsh's loadable modules. Loading of - modules while the shell is running ('dynamical loading') is not - available on all operating systems, or on all installations on a - particular operating system, although the zmodload command itself - is always available and can be used to manipulate modules built - into versions of the shell executable without dynamical loading. - - Without arguments the names of all currently loaded binary modules - are printed. The -L option causes this list to be in the form of a - series of zmodload commands. Forms with arguments are: - - zmodload [ -is ] NAME ... - zmodload -u [ -i ] NAME ... - In the simplest case, zmodload loads a binary module. The - module must be in a file with a name consisting of the - specified NAME followed by a standard suffix, usually '.so' - ('.sl' on HPUX). If the module to be loaded is already loaded - the duplicate module is ignored. If zmodload detects an - inconsistency, such as an invalid module name or circular - dependency list, the current code block is aborted. If it is - available, the module is loaded if necessary, while if it is - not available, non-zero status is silently returned. The - option -i is accepted for compatibility but has no effect. - - The NAMEd module is searched for in the same way a command is, - using $module_path instead of $path. However, the path search - is performed even when the module name contains a '/', which - it usually does. There is no way to prevent the path search. - - If the module supports features (see below), zmodload tries to - enable all features when loading a module. If the module was - successfully loaded but not all features could be enabled, - zmodload returns status 2. - - If the option -s is given, no error is printed if the module - was not available (though other errors indicating a problem - with the module are printed). The return status indicates if - the module was loaded. This is appropriate if the caller - considers the module optional. - - With -u, zmodload unloads modules. The same NAME must be - given that was given when the module was loaded, but it is not - necessary for the module to exist in the file system. The -i - option suppresses the error if the module is already unloaded - (or was never loaded). - - Each module has a boot and a cleanup function. The module - will not be loaded if its boot function fails. Similarly a - module can only be unloaded if its cleanup function runs - successfully. - - zmodload -F [ -almLe -P PARAM ] MODULE [ [+-]FEATURE ... ] - zmodload -F allows more selective control over the features - provided by modules. With no options apart from -F, the - module named MODULE is loaded, if it was not already loaded, - and the list of FEATUREs is set to the required state. If no - FEATUREs are specified, the module is loaded, if it was not - already loaded, but the state of features is unchanged. Each - feature may be preceded by a + to turn the feature on, or - to - turn it off; the + is assumed if neither character is present. - Any feature not explicitly mentioned is left in its current - state; if the module was not previously loaded this means any - such features will remain disabled. The return status is zero - if all features were set, 1 if the module failed to load, and - 2 if some features could not be set (for example, a parameter - couldn't be added because there was a different parameter of - the same name) but the module was loaded. - - The standard features are builtins, conditions, parameters and - math functions; these are indicated by the prefix 'b:', 'c:' - ('C:' for an infix condition), 'p:' and 'f:', respectively, - followed by the name that the corresponding feature would have - in the shell. For example, 'b:strftime' indicates a builtin - named strftime and p:EPOCHSECONDS indicates a parameter named - EPOCHSECONDS. The module may provide other ('abstract') - features of its own as indicated by its documentation; these - have no prefix. - - With -l or -L, features provided by the module are listed. - With -l alone, a list of features together with their states - is shown, one feature per line. With -L alone, a zmodload -F - command that would cause enabled features of the module to be - turned on is shown. With -lL, a zmodload -F command that - would cause all the features to be set to their current state - is shown. If one of these combinations is given with the - option -P PARAM then the parameter PARAM is set to an array of - features, either features together with their state or (if -L - alone is given) enabled features. - - With the option -L the module name may be omitted; then a list - of all enabled features for all modules providing features is - printed in the form of zmodload -F commands. If -l is also - given, the state of both enabled and disabled features is - output in that form. - - A set of features may be provided together with -l or -L and a - module name; in that case only the state of those features is - considered. Each feature may be preceded by + or - but the - character has no effect. If no set of features is provided, - all features are considered. - - With -e, the command first tests that the module is loaded; if - it is not, status 1 is returned. If the module is loaded, the - list of features given as an argument is examined. Any - feature given with no prefix is simply tested to see if the - module provides it; any feature given with a prefix + or - is - tested to see if is provided and in the given state. If the - tests on all features in the list succeed, status 0 is - returned, else status 1. - - With -m, each entry in the given list of features is taken as - a pattern to be matched against the list of features provided - by the module. An initial + or - must be given explicitly. - This may not be combined with the -a option as autoloads must - be specified explicitly. - - With -a, the given list of features is marked for autoload - from the specified module, which may not yet be loaded. An - optional + may appear before the feature name. If the feature - is prefixed with -, any existing autoload is removed. The - options -l and -L may be used to list autoloads. Autoloading - is specific to individual features; when the module is loaded - only the requested feature is enabled. Autoload requests are - preserved if the module is subsequently unloaded until an - explicit 'zmodload -Fa MODULE -FEATURE' is issued. It is not - an error to request an autoload for a feature of a module that - is already loaded. - - When the module is loaded each autoload is checked against the - features actually provided by the module; if the feature is - not provided the autoload request is deleted. A warning - message is output; if the module is being loaded to provide a - different feature, and that autoload is successful, there is - no effect on the status of the current command. If the module - is already loaded at the time when zmodload -Fa is run, an - error message is printed and status 1 returned. - - zmodload -Fa can be used with the -l, -L, -e and -P options - for listing and testing the existence of autoloadable - features. In this case -l is ignored if -L is specified. - zmodload -FaL with no module name lists autoloads for all - modules. - - Note that only standard features as described above can be - autoloaded; other features require the module to be loaded - before enabling. - - zmodload -d [ -L ] [ NAME ] - zmodload -d NAME DEP ... - zmodload -ud NAME [ DEP ... ] - The -d option can be used to specify module dependencies. The - modules named in the second and subsequent arguments will be - loaded before the module named in the first argument. - - With -d and one argument, all dependencies for that module are - listed. With -d and no arguments, all module dependencies are - listed. This listing is by default in a Makefile-like format. - The -L option changes this format to a list of zmodload -d - commands. - - If -d and -u are both used, dependencies are removed. If only - one argument is given, all dependencies for that module are - removed. - - zmodload -ab [ -L ] - zmodload -ab [ -i ] NAME [ BUILTIN ... ] - zmodload -ub [ -i ] BUILTIN ... - The -ab option defines autoloaded builtins. It defines the - specified BUILTINs. When any of those builtins is called, the - module specified in the first argument is loaded and all its - features are enabled (for selective control of features use - 'zmodload -F -a' as described above). If only the NAME is - given, one builtin is defined, with the same name as the - module. -i suppresses the error if the builtin is already - defined or autoloaded, but not if another builtin of the same - name is already defined. - - With -ab and no arguments, all autoloaded builtins are listed, - with the module name (if different) shown in parentheses after - the builtin name. The -L option changes this format to a list - of zmodload -a commands. - - If -b is used together with the -u option, it removes builtins - previously defined with -ab. This is only possible if the - builtin is not yet loaded. -i suppresses the error if the - builtin is already removed (or never existed). - - Autoload requests are retained if the module is subsequently - unloaded until an explicit 'zmodload -ub BUILTIN' is issued. - - zmodload -ac [ -IL ] - zmodload -ac [ -iI ] NAME [ COND ... ] - zmodload -uc [ -iI ] COND ... - The -ac option is used to define autoloaded condition codes. - The COND strings give the names of the conditions defined by - the module. The optional -I option is used to define infix - condition names. Without this option prefix condition names - are defined. - - If given no condition names, all defined names are listed (as - a series of zmodload commands if the -L option is given). - - The -uc option removes definitions for autoloaded conditions. - - zmodload -ap [ -L ] - zmodload -ap [ -i ] NAME [ PARAMETER ... ] - zmodload -up [ -i ] PARAMETER ... - The -p option is like the -b and -c options, but makes - zmodload work on autoloaded parameters instead. - - zmodload -af [ -L ] - zmodload -af [ -i ] NAME [ FUNCTION ... ] - zmodload -uf [ -i ] FUNCTION ... - The -f option is like the -b, -p, and -c options, but makes - zmodload work on autoloaded math functions instead. - - zmodload -a [ -L ] - zmodload -a [ -i ] NAME [ BUILTIN ... ] - zmodload -ua [ -i ] BUILTIN ... - Equivalent to -ab and -ub. - - zmodload -e [ -A ] [ STRING ... ] - The -e option without arguments lists all loaded modules; if - the -A option is also given, module aliases corresponding to - loaded modules are also shown. If arguments are provided, - nothing is printed; the return status is set to zero if all - STRINGs given as arguments are names of loaded modules and to - one if at least on STRING is not the name of a loaded module. - This can be used to test for the availability of things - implemented by modules. In this case, any aliases are - automatically resolved and the -A flag is not used. - - zmodload -A [ -L ] [ MODALIAS[=MODULE] ... ] - For each argument, if both MODALIAS and MODULE are given, - define MODALIAS to be an alias for the module MODULE. If the - module MODALIAS is ever subsequently requested, either via a - call to zmodload or implicitly, the shell will attempt to load - MODULE instead. If MODULE is not given, show the definition - of MODALIAS. If no arguments are given, list all defined - module aliases. When listing, if the -L flag was also given, - list the definition as a zmodload command to recreate the - alias. - - The existence of aliases for modules is completely independent - of whether the name resolved is actually loaded as a module: - while the alias exists, loading and unloading the module under - any alias has exactly the same effect as using the resolved - name, and does not affect the connection between the alias and - the resolved name which can be removed either by zmodload -R - or by redefining the alias. Chains of aliases (i.e. where - the first resolved name is itself an alias) are valid so long - as these are not circular. As the aliases take the same - format as module names, they may include path separators: in - this case, there is no requirement for any part of the path - named to exist as the alias will be resolved first. For - example, 'any/old/alias' is always a valid alias. - - Dependencies added to aliased modules are actually added to - the resolved module; these remain if the alias is removed. It - is valid to create an alias whose name is one of the standard - shell modules and which resolves to a different module. - However, if a module has dependencies, it will not be possible - to use the module name as an alias as the module will already - be marked as a loadable module in its own right. - - Apart from the above, aliases can be used in the zmodload - command anywhere module names are required. However, aliases - will not be shown in lists of loaded modules with a bare - 'zmodload'. - - zmodload -R MODALIAS ... - For each MODALIAS argument that was previously defined as a - module alias via zmodload -A, delete the alias. If any was - not defined, an error is caused and the remainder of the line - is ignored. - - Note that zsh makes no distinction between modules that were linked - into the shell and modules that are loaded dynamically. In both - cases this builtin command has to be used to make available the - builtins and other things defined by modules (unless the module is - autoloaded on these definitions). This is true even for systems - that don't support dynamic loading of modules. - -zparseopts - See *note The zsh/zutil Module::. - -zprof - See *note The zsh/zprof Module::. - -zpty - See *note The zsh/zpty Module::. - -zregexparse - See *note The zsh/zutil Module::. - -zsocket - See *note The zsh/net/socket Module::. - -zstyle - See *note The zsh/zutil Module::. - -ztcp - See *note The zsh/net/tcp Module::. - - -File: zsh.info, Node: Zsh Line Editor, Next: Completion Widgets, Prev: Shell Builtin Commands, Up: Top - -18 Zsh Line Editor -****************** - -18.1 Description -================ - -If the ZLE option is set (which it is by default in interactive shells) -and the shell input is attached to the terminal, the user is able to -edit command lines. - -There are two display modes. The first, multiline mode, is the default. -It only works if the TERM parameter is set to a valid terminal type that -can move the cursor up. The second, single line mode, is used if TERM -is invalid or incapable of moving the cursor up, or if the -SINGLE_LINE_ZLE option is set. This mode is similar to ‘ksh’, and uses -no termcap sequences. If TERM is "emacs", the ZLE option will be unset -by default. - -The parameters BAUD, COLUMNS, and LINES are also used by the line -editor. See *note Parameters Used By The Shell::. - -The parameter zle_highlight is also used by the line editor; see *note -Character Highlighting::. Highlighting of special characters and the -region between the cursor and the mark (as set with set-mark-command in -Emacs mode, or by visual-mode in Vi mode) is enabled by default; consult -this reference for more information. Irascible conservatives will wish -to know that all highlighting may be disabled by the following setting: - - zle_highlight=(none) - -In many places, references are made to the numeric argument. This can -by default be entered in emacs mode by holding the alt key and typing a -number, or pressing escape before each digit, and in vi command mode by -typing the number before entering a command. Generally the numeric -argument causes the next command entered to be repeated the specified -number of times, unless otherwise noted below; this is implemented by -the digit-argument widget. See also *note Arguments::for some other -ways the numeric argument can be modified. - -* Menu: - -* Keymaps:: -* Zle Builtins:: -* Zle Widgets:: -* User-Defined Widgets:: -* Standard Widgets:: -* Character Highlighting:: - - -File: zsh.info, Node: Keymaps, Next: Zle Builtins, Up: Zsh Line Editor - -18.2 Keymaps -============ - -A keymap in ZLE contains a set of bindings between key sequences and ZLE -commands. The empty key sequence cannot be bound. - -There can be any number of keymaps at any time, and each keymap has one -or more names. If all of a keymap's names are deleted, it disappears. -bindkey can be used to manipulate keymap names. - -Initially, there are eight keymaps: - -emacs - EMACS emulation -viins - vi emulation - insert mode -vicmd - vi emulation - command mode -viopp - vi emulation - operator pending -visual - vi emulation - selection active -isearch - incremental search mode -command - read a command name -.safe - fallback keymap - -The '.safe' keymap is special. It can never be altered, and the name -can never be removed. However, it can be linked to other names, which -can be removed. In the future other special keymaps may be added; users -should avoid using names beginning with '.' for their own keymaps. - -In addition to these names, either 'emacs' or 'viins' is also linked to -the name 'main'. If one of the VISUAL or EDITOR environment variables -contain the string 'vi' when the shell starts up then it will be -'viins', otherwise it will be 'emacs'. bindkey's -e and -v options -provide a convenient way to override this default choice. - -When the editor starts up, it will select the 'main' keymap. If that -keymap doesn't exist, it will use '.safe' instead. - -In the '.safe' keymap, each single key is bound to self-insert, except -for ^J (line feed) and ^M (return) which are bound to accept-line. This -is deliberately not pleasant to use; if you are using it, it means you -deleted the main keymap, and you should put it back. - -18.2.1 Reading Commands ------------------------ - -When ZLE is reading a command from the terminal, it may read a sequence -that is bound to some command and is also a prefix of a longer bound -string. In this case ZLE will wait a certain time to see if more -characters are typed, and if not (or they don't match any longer string) -it will execute the binding. This timeout is defined by the KEYTIMEOUT -parameter; its default is 0.4 sec. There is no timeout if the prefix -string is not itself bound to a command. - -The key timeout is also applied when ZLE is reading the bytes from a -multibyte character string when it is in the appropriate mode. (This -requires that the shell was compiled with multibyte mode enabled; -typically also the locale has characters with the UTF-8 encoding, -although any multibyte encoding known to the operating system is -supported.) If the second or a subsequent byte is not read within the -timeout period, the shell acts as if ? were typed and resets the input -state. - -As well as ZLE commands, key sequences can be bound to other strings, by -using 'bindkey -s'. When such a sequence is read, the replacement -string is pushed back as input, and the command reading process starts -again using these fake keystrokes. This input can itself invoke further -replacement strings, but in order to detect loops the process will be -stopped if there are twenty such replacements without a real command -being read. - -A key sequence typed by the user can be turned into a command name for -use in user-defined widgets with the read-command widget, described in -*note Miscellaneous:: below. - -18.2.2 Local Keymaps --------------------- - -While for normal editing a single keymap is used exclusively, in many -modes a local keymap allows for some keys to be customised. For -example, in an incremental search mode, a binding in the isearch keymap -will override a binding in the main keymap but all keys that are not -overridden can still be used. - -If a key sequence is defined in a local keymap, it will hide a key -sequence in the global keymap that is a prefix of that sequence. An -example of this occurs with the binding of iw in viopp as this hides the -binding of i in vicmd. However, a longer sequence in the global keymap -that shares the same prefix can still apply so for example the binding -of ^Xa in the global keymap will be unaffected by the binding of ^Xb in -the local keymap. - - -File: zsh.info, Node: Zle Builtins, Next: Zle Widgets, Prev: Keymaps, Up: Zsh Line Editor - -18.3 Zle Builtins -================= - -The ZLE module contains three related builtin commands. The bindkey -command manipulates keymaps and key bindings; the vared command invokes -ZLE on the value of a shell parameter; and the zle command manipulates -editing widgets and allows command line access to ZLE commands from -within shell functions. - -bindkey [ OPTIONS ] -l [ -L ] [ KEYMAP ... ] -bindkey [ OPTIONS ] -d -bindkey [ OPTIONS ] -D KEYMAP ... -bindkey [ OPTIONS ] -A OLD-KEYMAP NEW-KEYMAP -bindkey [ OPTIONS ] -N NEW-KEYMAP [ OLD-KEYMAP ] -bindkey [ OPTIONS ] -m -bindkey [ OPTIONS ] -r IN-STRING ... -bindkey [ OPTIONS ] -s IN-STRING OUT-STRING ... -bindkey [ OPTIONS ] IN-STRING COMMAND ... -bindkey [ OPTIONS ] [ IN-STRING ] - bindkey's options can be divided into three categories: keymap - selection for the current command, operation selection, and others. - The keymap selection options are: - - -e - Selects keymap 'emacs' for any operations by the current - command, and also links 'emacs' to 'main' so that it is - selected by default the next time the editor starts. - - -v - Selects keymap 'viins' for any operations by the current - command, and also links 'viins' to 'main' so that it is - selected by default the next time the editor starts. - - -a - Selects keymap 'vicmd' for any operations by the current - command. - - -M KEYMAP - The KEYMAP specifies a keymap name that is selected for any - operations by the current command. - - If a keymap selection is required and none of the options above are - used, the 'main' keymap is used. Some operations do not permit a - keymap to be selected, namely: - - -l - List all existing keymap names; if any arguments are given, - list just those keymaps. - - If the -L option is also used, list in the form of bindkey - commands to create or link the keymaps. 'bindkey -lL main' - shows which keymap is linked to 'main', if any, and hence if - the standard emacs or vi emulation is in effect. This option - does not show the .safe keymap because it cannot be created in - that fashion; however, neither is 'bindkey -lL .safe' reported - as an error, it simply outputs nothing. - - -d - Delete all existing keymaps and reset to the default state. - - -D KEYMAP ... - Delete the named KEYMAPs. - - -A OLD-KEYMAP NEW-KEYMAP - Make the NEW-KEYMAP name an alias for OLD-KEYMAP, so that both - names refer to the same keymap. The names have equal - standing; if either is deleted, the other remains. If there - is already a keymap with the NEW-KEYMAP name, it is deleted. - - -N NEW-KEYMAP [ OLD-KEYMAP ] - Create a new keymap, named NEW-KEYMAP. If a keymap already - has that name, it is deleted. If an OLD-KEYMAP name is given, - the new keymap is initialized to be a duplicate of it, - otherwise the new keymap will be empty. - - To use a newly created keymap, it should be linked to main. Hence - the sequence of commands to create and use a new keymap 'mymap' - initialized from the emacs keymap (which remains unchanged) is: - - bindkey -N mymap emacs - bindkey -A mymap main - - Note that while 'bindkey -A NEWMAP main' will work when NEWMAP is - emacs or viins, it will not work for vicmd, as switching from vi - insert to command mode becomes impossible. - - The following operations act on the 'main' keymap if no keymap - selection option was given: - - -m - Add the built-in set of meta-key bindings to the selected - keymap. Only keys that are unbound or bound to self-insert - are affected. - - -r IN-STRING ... - Unbind the specified IN-STRINGs in the selected keymap. This - is exactly equivalent to binding the strings to undefined-key. - - When -R is also used, interpret the IN-STRINGs as ranges. - - When -p is also used, the IN-STRINGs specify prefixes. Any - binding that has the given IN-STRING as a prefix, not - including the binding for the IN-STRING itself, if any, will - be removed. For example, - - bindkey -rpM viins '^[' - - will remove all bindings in the vi-insert keymap beginning - with an escape character (probably cursor keys), but leave the - binding for the escape character itself (probably - vi-cmd-mode). This is incompatible with the option -R. - - -s IN-STRING OUT-STRING ... - Bind each IN-STRING to each OUT-STRING. When IN-STRING is - typed, OUT-STRING will be pushed back and treated as input to - the line editor. When -R is also used, interpret the - IN-STRINGs as ranges. - - Note that both IN-STRING and OUT-STRING are subject to the - same form of interpretation, as described below. - - IN-STRING COMMAND ... - Bind each IN-STRING to each COMMAND. When -R is used, - interpret the IN-STRINGs as ranges. - - [ IN-STRING ] - List key bindings. If an IN-STRING is specified, the binding - of that string in the selected keymap is displayed. - Otherwise, all key bindings in the selected keymap are - displayed. (As a special case, if the -e or -v option is used - alone, the keymap is _not_ displayed - the implicit linking of - keymaps is the only thing that happens.) - - When the option -p is used, the IN-STRING must be present. - The listing shows all bindings which have the given key - sequence as a prefix, not including any bindings for the key - sequence itself. - - When the -L option is used, the list is in the form of bindkey - commands to create the key bindings. - - When the -R option is used as noted above, a valid range consists - of two characters, with an optional '-' between them. All - characters between the two specified, inclusive, are bound as - specified. - - For either IN-STRING or OUT-STRING, the following escape sequences - are recognised: - - \a - bell character - \b - backspace - \e, \E - escape - \f - form feed - \n - linefeed (newline) - \r - carriage return - \t - horizontal tab - \v - vertical tab - \NNN - character code in octal - \xNN - character code in hexadecimal - \uNNNN - unicode character code in hexadecimal - \UNNNNNNNN - unicode character code in hexadecimal - \M[-]X - character with meta bit set - \C[-]X - control character - ^X - control character - - In all other cases, '\' escapes the following character. Delete is - written as '^?'. Note that '\M^?' and '^\M?' are not the same, and - that (unlike emacs), the bindings '\M-X' and '\eX' are entirely - distinct, although they are initialized to the same bindings by - 'bindkey -m'. - -vared [ -Aacghe ] [ -p PROMPT ] [ -r RPROMPT ] - [ -M MAIN-KEYMAP ] [ -m VICMD-KEYMAP ] - [ -i INIT-WIDGET ] [ -f FINISH-WIDGET ] - [ -t TTY ] NAME - The value of the parameter NAME is loaded into the edit buffer, and - the line editor is invoked. When the editor exits, NAME is set to - the string value returned by the editor. When the -c flag is - given, the parameter is created if it doesn't already exist. The - -a flag may be given with -c to create an array parameter, or the - -A flag to create an associative array. If the type of an existing - parameter does not match the type to be created, the parameter is - unset and recreated. The -g flag may be given to suppress warnings - from the WARN_CREATE_GLOBAL and WARN_NESTED_VAR options. - - If an array or array slice is being edited, separator characters as - defined in $IFS will be shown quoted with a backslash, as will - backslashes themselves. Conversely, when the edited text is split - into an array, a backslash quotes an immediately following - separator character or backslash; no other special handling of - backslashes, or any handling of quotes, is performed. - - Individual elements of existing array or associative array - parameters may be edited by using subscript syntax on NAME. New - elements are created automatically, even without -c. - - If the -p flag is given, the following string will be taken as the - prompt to display at the left. If the -r flag is given, the - following string gives the prompt to display at the right. If the - -h flag is specified, the history can be accessed from ZLE. If the - -e flag is given, typing ^D (Control-D) on an empty line causes - vared to exit immediately with a non-zero return value. - - The -M option gives a keymap to link to the main keymap during - editing, and the -m option gives a keymap to link to the vicmd - keymap during editing. For vi-style editing, this allows a pair of - keymaps to override viins and vicmd. For emacs-style editing, only - -M is normally needed but the -m option may still be used. On - exit, the previous keymaps will be restored. - - Vared calls the usual 'zle-line-init' and 'zle-line-finish' hooks - before and after it takes control. Using the -i and -f options, it - is possible to replace these with other custom widgets. - - If '-t TTY' is given, TTY is the name of a terminal device to be - used instead of the default /dev/tty. If TTY does not refer to a - terminal an error is reported. - -zle -zle -l [ -L | -a ] [ STRING ... ] -zle -D WIDGET ... -zle -A OLD-WIDGET NEW-WIDGET -zle -N WIDGET [ FUNCTION ] -zle -f FLAG [ FLAG... ] -zle -C WIDGET COMPLETION-WIDGET FUNCTION -zle -R [ -c ] [ DISPLAY-STRING ] [ STRING ... ] -zle -M STRING -zle -U STRING -zle -K KEYMAP -zle -F [ -L | -w ] [ FD [ HANDLER ] ] -zle -I -zle -T [ tc FUNCTION | -r tc | -L ] -zle WIDGET [ -n NUM ] [ -f FLAG ] [ -Nw ] [ -K KEYMAP ] ARGS ... - The zle builtin performs a number of different actions concerning - ZLE. - - With no options and no arguments, only the return status will be - set. It is zero if ZLE is currently active and widgets could be - invoked using this builtin command and non-zero otherwise. Note - that even if non-zero status is returned, zle may still be active - as part of the completion system; this does not allow direct calls - to ZLE widgets. - - Otherwise, which operation it performs depends on its options: - - -l [ -L | -a ] [ STRING ] - List all existing user-defined widgets. If the -L option is - used, list in the form of zle commands to create the widgets. - - When combined with the -a option, all widget names are listed, - including the builtin ones. In this case the -L option is - ignored. - - If at least one STRING is given, and -a is present or -L is - not used, nothing will be printed. The return status will be - zero if all STRINGs are names of existing widgets and non-zero - if at least one STRING is not a name of a defined widget. If - -a is also present, all widget names are used for the - comparison including builtin widgets, else only user-defined - widgets are used. - - If at least one STRING is present and the -L option is used, - user-defined widgets matching any STRING are listed in the - form of zle commands to create the widgets. - - -D WIDGET ... - Delete the named WIDGETs. - - -A OLD-WIDGET NEW-WIDGET - Make the NEW-WIDGET name an alias for OLD-WIDGET, so that both - names refer to the same widget. The names have equal - standing; if either is deleted, the other remains. If there - is already a widget with the NEW-WIDGET name, it is deleted. - - -N WIDGET [ FUNCTION ] - Create a user-defined widget. If there is already a widget - with the specified name, it is overwritten. When the new - widget is invoked from within the editor, the specified shell - FUNCTION is called. If no function name is specified, it - defaults to the same name as the widget. For further - information, see *note Zle Widgets::. - - -f FLAG [ FLAG... ] - Set various flags on the running widget. Possible values for - FLAG are: - - yank for indicating that the widget has yanked text into the - buffer. If the widget is wrapping an existing internal - widget, no further action is necessary, but if it has inserted - the text manually, then it should also take care to set - YANK_START and YANK_END correctly. yankbefore does the same - but is used when the yanked text appears after the cursor. - - kill for indicating that text has been killed into the - cutbuffer. When repeatedly invoking a kill widget, text is - appended to the cutbuffer instead of replacing it, but when - wrapping such widgets, it is necessary to call 'zle -f kill' - to retain this effect. - - vichange for indicating that the widget represents a vi change - that can be repeated as a whole with 'vi-repeat-change'. The - flag should be set early in the function before inspecting the - value of NUMERIC or invoking other widgets. This has no - effect for a widget invoked from insert mode. If insert mode - is active when the widget finishes, the change extends until - next returning to command mode. - - -C WIDGET COMPLETION-WIDGET FUNCTION - Create a user-defined completion widget named WIDGET. The - completion widget will behave like the built-in - completion-widget whose name is given as COMPLETION-WIDGET. - To generate the completions, the shell function FUNCTION will - be called. For further information, see *note Completion - Widgets::. - - -R [ -c ] [ DISPLAY-STRING ] [ STRING ... ] - Redisplay the command line. If a DISPLAY-STRING is given and - not empty, this is shown in the status line (immediately below - the line being edited). - - If the optional STRINGs are given they are listed below the - prompt in the same way as completion lists are printed. If no - STRINGs are given but the -c option is used such a list is - cleared. - - Note that immediately after returning from running widgets, - the command line will be redisplayed and the strings displayed - will be erased. Therefore, this option is only useful for - widgets that do not exit immediately after using it. - - This command can safely be called outside user defined - widgets; if zle is active, the display will be refreshed, - while if zle is not active, the command has no effect. In - this case there will usually be no other arguments. - - The status is zero if zle was active, else one. - - -M STRING - As with the -R option, the STRING will be displayed below the - command line; unlike the -R option, the string will not be put - into the status line but will instead be printed normally - below the prompt. This means that the STRING will still be - displayed after the widget returns (until it is overwritten by - subsequent commands). - - -U STRING - This pushes the characters in the STRING onto the input stack - of ZLE. After the widget currently executed finishes ZLE will - behave as if the characters in the STRING were typed by the - user. - - As ZLE uses a stack, if this option is used repeatedly the - last string pushed onto the stack will be processed first. - However, the characters in each STRING will be processed in - the order in which they appear in the string. - - -K KEYMAP - Selects the keymap named KEYMAP. An error message will be - displayed if there is no such keymap. - - This keymap selection affects the interpretation of following - keystrokes within this invocation of ZLE. Any following - invocation (e.g., the next command line) will start as usual - with the 'main' keymap selected. - - -F [ -L | -w ] [ FD [ HANDLER ] ] - Only available if your system supports one of the 'poll' or - 'select' system calls; most modern systems do. - - Installs HANDLER (the name of a shell function) to handle - input from file descriptor FD. Installing a handler for an FD - which is already handled causes the existing handler to be - replaced. Any number of handlers for any number of readable - file descriptors may be installed. Note that zle makes no - attempt to check whether this FD is actually readable when - installing the handler. The user must make their own - arrangements for handling the file descriptor when zle is not - active. - - When zle is attempting to read data, it will examine both the - terminal and the list of handled FD's. If data becomes - available on a handled FD, zle calls HANDLER with the fd which - is ready for reading as the first argument. Under normal - circumstances this is the only argument, but if an error was - detected, a second argument provides details: 'hup' for a - disconnect, 'nval' for a closed or otherwise invalid - descriptor, or 'err' for any other condition. Systems that - support only the 'select' system call always use 'err'. - - If the option -w is also given, the HANDLER is instead a line - editor widget, typically a shell function made into a widget - using 'zle -N'. In that case HANDLER can use all the - facilities of zle to update the current editing line. Note, - however, that as handling FD takes place at a low level - changes to the display will not automatically appear; the - widget should call 'zle -R' to force redisplay. As of this - writing, widget handlers only support a single argument and - thus are never passed a string for error state, so widgets - must be prepared to test the descriptor themselves. - - If either type of handler produces output to the terminal, it - should call 'zle -I' before doing so (see below). Handlers - should not attempt to read from the terminal. - - If no HANDLER is given, but an FD is present, any handler for - that FD is removed. If there is none, an error message is - printed and status 1 is returned. - - If no arguments are given, or the -L option is supplied, a - list of handlers is printed in a form which can be stored for - later execution. - - An FD (but not a HANDLER) may optionally be given with the -L - option; in this case, the function will list the handler if - any, else silently return status 1. - - Note that this feature should be used with care. Activity on - one of the FD's which is not properly handled can cause the - terminal to become unusable. Removing an FD handler from - within a signal trap may cause unpredictable behavior. - - Here is a simple example of using this feature. A connection - to a remote TCP port is created using the ztcp command; see - *note The zsh/net/tcp Module::. Then a handler is installed - which simply prints out any data which arrives on this - connection. Note that 'select' will indicate that the file - descriptor needs handling if the remote side has closed the - connection; we handle that by testing for a failed read. - - if ztcp pwspc 2811; then - tcpfd=$REPLY - handler() { - zle -I - local line - if ! read -r line <&$1; then - # select marks this fd if we reach EOF, - # so handle this specially. - print "[Read on fd $1 failed, removing.]" >&2 - zle -F $1 - return 1 - fi - print -r - $line - } - zle -F $tcpfd handler - fi - - -I - Unusually, this option is most useful outside ordinary widget - functions, though it may be used within if normal output to - the terminal is required. It invalidates the current zle - display in preparation for output; typically this will be from - a trap function. It has no effect if zle is not active. When - a trap exits, the shell checks to see if the display needs - restoring, hence the following will print output in such a way - as not to disturb the line being edited: - - TRAPUSR1() { - # Invalidate zle display - [[ -o zle ]] && zle -I - # Show output - print Hello - } - - In general, the trap function may need to test whether zle is - active before using this method (as shown in the example), - since the zsh/zle module may not even be loaded; if it is not, - the command can be skipped. - - It is possible to call 'zle -I' several times before control - is returned to the editor; the display will only be - invalidated the first time to minimise disruption. - - Note that there are normally better ways of manipulating the - display from within zle widgets; see, for example, 'zle -R' - above. - - The returned status is zero if zle was invalidated, even - though this may have been by a previous call to 'zle -I' or by - a system notification. To test if a zle widget may be called - at this point, execute zle with no arguments and examine the - return status. - - -T - This is used to add, list or remove internal transformations - on the processing performed by the line editor. It is - typically used only for debugging or testing and is therefore - of little interest to the general user. - - 'zle -T TRANSFORMATION FUNC' specifies that the given - TRANSFORMATION (see below) is effected by shell function FUNC. - - 'zle -Tr TRANSFORMATION' removes the given TRANSFORMATION if - it was present (it is not an error if none was). - - 'zle -TL' can be used to list all transformations currently in - operation. - - Currently the only transformation is tc. This is used instead - of outputting termcap codes to the terminal. When the - transformation is in operation the shell function is passed - the termcap code that would be output as its first argument; - if the operation required a numeric argument, that is passed - as a second argument. The function should set the shell - variable REPLY to the transformed termcap code. Typically - this is used to produce some simply formatted version of the - code and optional argument for debugging or testing. Note - that this transformation is not applied to other non-printing - characters such as carriage returns and newlines. - - WIDGET [ -n NUM ] [ -f FLAG ] [ -Nw ] [ -K KEYMAP ] ARGS ... - Invoke the specified WIDGET. This can only be done when ZLE - is active; normally this will be within a user-defined widget. - - With the options -n and -N, the current numeric argument will - be saved and then restored after the call to WIDGET; '-n NUM' - sets the numeric argument temporarily to NUM, while '-N' sets - it to the default, i.e. as if there were none. - - With the option -K, KEYMAP will be used as the current keymap - during the execution of the widget. The previous keymap will - be restored when the widget exits. - - Normally, calling a widget in this way does not set the - special parameter WIDGET and related parameters, so that the - environment appears as if the top-level widget called by the - user were still active. With the option -w, WIDGET and - related parameters are set to reflect the widget being - executed by the zle call. - - Normally, when WIDGET returns the special parameter LASTWIDGET - will point to it. This can be inhibited by passing the option - -f nolast. - - Any further arguments will be passed to the widget; note that - as standard argument handling is performed, any general - argument list should be preceded by --. If it is a shell - function, these are passed down as positional parameters; for - builtin widgets it is up to the widget in question what it - does with them. Currently arguments are only handled by the - incremental-search commands, the history-search-forward and - -backward and the corresponding functions prefixed by vi-, and - by universal-argument. No error is flagged if the command - does not use the arguments, or only uses some of them. - - The return status reflects the success or failure of the - operation carried out by the widget, or if it is a - user-defined widget the return status of the shell function. - - A non-zero return status causes the shell to beep when the - widget exits, unless the BEEP options was unset or the widget - was called via the zle command. Thus if a user defined widget - requires an immediate beep, it should call the beep widget - directly. - - -File: zsh.info, Node: Zle Widgets, Next: User-Defined Widgets, Prev: Zle Builtins, Up: Zsh Line Editor - -18.4 Zle Widgets -================ - -All actions in the editor are performed by 'widgets'. A widget's job is -simply to perform some small action. The ZLE commands that key -sequences in keymaps are bound to are in fact widgets. Widgets can be -user-defined or built in. - -The standard widgets built into ZLE are listed in *note Standard -Widgets::. Other built-in widgets can be defined by other modules (see -*note Zsh Modules::). Each built-in widget has two names: its normal -canonical name, and the same name preceded by a '.'. The '.' name is -special: it can't be rebound to a different widget. This makes the -widget available even when its usual name has been redefined. - -User-defined widgets are defined using 'zle -N', and implemented as -shell functions. When the widget is executed, the corresponding shell -function is executed, and can perform editing (or other) actions. It is -recommended that user-defined widgets should not have names starting -with '.'. - - -File: zsh.info, Node: User-Defined Widgets, Next: Standard Widgets, Prev: Zle Widgets, Up: Zsh Line Editor - -18.5 User-Defined Widgets -========================= - -User-defined widgets, being implemented as shell functions, can execute -any normal shell command. They can also run other widgets (whether -built-in or user-defined) using the zle builtin command. The standard -input of the function is redirected from /dev/null to prevent external -commands from unintentionally blocking ZLE by reading from the terminal, -but read -k or read -q can be used to read characters. Finally, they -can examine and edit the ZLE buffer being edited by reading and setting -the special parameters described below. - -These special parameters are always available in widget functions, but -are not in any way special outside ZLE. If they have some normal value -outside ZLE, that value is temporarily inaccessible, but will return -when the widget function exits. These special parameters in fact have -local scope, like parameters created in a function using local. - -Inside completion widgets and traps called while ZLE is active, these -parameters are available read-only. - -Note that the parameters appear as local to any ZLE widget in which they -appear. Hence if it is desired to override them this needs to be done -within a nested function: - - widget-function() { - # $WIDGET here refers to the special variable - # that is local inside widget-function - () { - # This anonymous nested function allows WIDGET - # to be used as a local variable. The -h - # removes the special status of the variable. - local -h WIDGET - } - } - -BUFFER (scalar) - The entire contents of the edit buffer. If it is written to, the - cursor remains at the same offset, unless that would put it outside - the buffer. - -BUFFERLINES (integer) - The number of screen lines needed for the edit buffer currently - displayed on screen (i.e. without any changes to the preceding - parameters done after the last redisplay); read-only. - -CONTEXT (scalar) - The context in which zle was called to read a line; read-only. One - of the values: - - start - The start of a command line (at prompt PS1). - - cont - A continuation to a command line (at prompt PS2). - - select - In a select loop (at prompt PS3). - - vared - Editing a variable in vared. - -CURSOR (integer) - The offset of the cursor, within the edit buffer. This is in the - range 0 to $#BUFFER, and is by definition equal to $#LBUFFER. - Attempts to move the cursor outside the buffer will result in the - cursor being moved to the appropriate end of the buffer. - -CUTBUFFER (scalar) - The last item cut using one of the 'kill-' commands; the string - which the next yank would insert in the line. Later entries in the - kill ring are in the array killring. Note that the command 'zle - copy-region-as-kill STRING' can be used to set the text of the cut - buffer from a shell function and cycle the kill ring in the same - way as interactively killing text. - -HISTNO (integer) - The current history number. Setting this has the same effect as - moving up or down in the history to the corresponding history line. - An attempt to set it is ignored if the line is not stored in the - history. Note this is not the same as the parameter HISTCMD, which - always gives the number of the history line being added to the main - shell's history. HISTNO refers to the line being retrieved within - zle. - -ISEARCHMATCH_ACTIVE (integer) -ISEARCHMATCH_START (integer) -ISEARCHMATCH_END (integer) - ISEARCHMATCH_ACTIVE indicates whether a part of the BUFFER is - currently matched by an incremental search pattern. - ISEARCHMATCH_START and ISEARCHMATCH_END give the location of the - matched part and are in the same units as CURSOR. They are only - valid for reading when ISEARCHMATCH_ACTIVE is non-zero. - - All parameters are read-only. - -KEYMAP (scalar) - The name of the currently selected keymap; read-only. - -KEYS (scalar) - The keys typed to invoke this widget, as a literal string; - read-only. - -KEYS_QUEUED_COUNT (integer) - The number of bytes pushed back to the input queue and therefore - available for reading immediately before any I/O is done; - read-only. See also PENDING; the two values are distinct. - -killring (array) - The array of previously killed items, with the most recently killed - first. This gives the items that would be retrieved by a yank-pop - in the same order. Note, however, that the most recently killed - item is in $CUTBUFFER; $killring shows the array of previous - entries. - - The default size for the kill ring is eight, however the length may - be changed by normal array operations. Any empty string in the - kill ring is ignored by the yank-pop command, hence the size of the - array effectively sets the maximum length of the kill ring, while - the number of non-zero strings gives the current length, both as - seen by the user at the command line. - -LASTABORTEDSEARCH (scalar) - The last search string used by an interactive search that was - aborted by the user (status 3 returned by the search widget). - -LASTSEARCH (scalar) - The last search string used by an interactive search; read-only. - This is set even if the search failed (status 0, 1 or 2 returned by - the search widget), but not if it was aborted by the user. - -LASTWIDGET (scalar) - The name of the last widget that was executed; read-only. - -LBUFFER (scalar) - The part of the buffer that lies to the left of the cursor - position. If it is assigned to, only that part of the buffer is - replaced, and the cursor remains between the new $LBUFFER and the - old $RBUFFER. - -MARK (integer) - Like CURSOR, but for the mark. With vi-mode operators that wait - for a movement command to select a region of text, setting MARK - allows the selection to extend in both directions from the initial - cursor position. - -NUMERIC (integer) - The numeric argument. If no numeric argument was given, this - parameter is unset. When this is set inside a widget function, - builtin widgets called with the zle builtin command will use the - value assigned. If it is unset inside a widget function, builtin - widgets called behave as if no numeric argument was given. - -PENDING (integer) - The number of bytes pending for input, i.e. the number of bytes - which have already been typed and can immediately be read. On - systems where the shell is not able to get this information, this - parameter will always have a value of zero. Read-only. See also - KEYS_QUEUED_COUNT; the two values are distinct. - -PREBUFFER (scalar) - In a multi-line input at the secondary prompt, this read-only - parameter contains the contents of the lines before the one the - cursor is currently in. - -PREDISPLAY (scalar) - Text to be displayed before the start of the editable text buffer. - This does not have to be a complete line; to display a complete - line, a newline must be appended explicitly. The text is reset on - each new invocation (but not recursive invocation) of zle. - -POSTDISPLAY (scalar) - Text to be displayed after the end of the editable text buffer. - This does not have to be a complete line; to display a complete - line, a newline must be prepended explicitly. The text is reset on - each new invocation (but not recursive invocation) of zle. - -RBUFFER (scalar) - The part of the buffer that lies to the right of the cursor - position. If it is assigned to, only that part of the buffer is - replaced, and the cursor remains between the old $LBUFFER and the - new $RBUFFER. - -REGION_ACTIVE (integer) - Indicates if the region is currently active. It can be assigned 0 - or 1 to deactivate and activate the region respectively. A value - of 2 activates the region in line-wise mode with the highlighted - text extending for whole lines only; see *note Character - Highlighting::. - -region_highlight (array) - Each element of this array may be set to a string that describes - highlighting for an arbitrary region of the command line that will - take effect the next time the command line is redisplayed. - Highlighting of the non-editable parts of the command line in - PREDISPLAY and POSTDISPLAY are possible, but note that the P flag - is needed for character indexing to include PREDISPLAY. - - Each string consists of the following whitespace-separated parts: - - • Optionally, a 'P' to signify that the start and end offset - that follow include any string set by the PREDISPLAY special - parameter; this is needed if the predisplay string itself is - to be highlighted. Whitespace between the 'P' and the start - offset is optional. - • A start offset in the same units as CURSOR. - • An end offset in the same units as CURSOR. - • A highlight specification in the same format as used for - contexts in the parameter zle_highlight, see *note Character - Highlighting::; for example, standout or fg=red,bold. - • Optionally, a string of the form 'memo=TOKEN'. The TOKEN - consists of everything between the '=' and the next - whitespace, comma, NUL, or the end of the string. The TOKEN - is preserved verbatim but not parsed in any way. - - Plugins may use this to identify array elements they have - added: for example, a plugin might set TOKEN to its (the - plugin's) name and then use 'region_highlight=( - ${region_highlight:#*memo=TOKEN} )' in order to remove array - elements it have added. - - (This example uses the '${NAME:#PATTERN}' array-grepping - syntax described in *note Parameter Expansion::.) - - For example, - - region_highlight=("P0 20 bold memo=foobar") - - specifies that the first twenty characters of the text including - any predisplay string should be highlighted in bold. - - Note that the effect of region_highlight is not saved and - disappears as soon as the line is accepted. - - Note that zsh 5.8 and older do not support the 'memo=TOKEN' field - and may misparse the third (highlight specification) field when a - memo is given. - - The final highlighting on the command line depends on both - region_highlight and zle_highlight; see *note Character - Highlighting:: for details. - -registers (associative array) - The contents of each of the vi register buffers. These are - typically set using vi-set-buffer followed by a delete, change or - yank command. - -SUFFIX_ACTIVE (integer) -SUFFIX_START (integer) -SUFFIX_END (integer) - SUFFIX_ACTIVE indicates whether an auto-removable completion suffix - is currently active. SUFFIX_START and SUFFIX_END give the location - of the suffix and are in the same units as CURSOR. They are only - valid for reading when SUFFIX_ACTIVE is non-zero. - - All parameters are read-only. - -UNDO_CHANGE_NO (integer) - A number representing the state of the undo history. The only use - of this is passing as an argument to the undo widget in order to - undo back to the recorded point. Read-only. - -UNDO_LIMIT_NO (integer) - A number corresponding to an existing change in the undo history; - compare UNDO_CHANGE_NO. If this is set to a value greater than - zero, the undo command will not allow the line to be undone beyond - the given change number. It is still possible to use 'zle undo - CHANGE' in a widget to undo beyond that point; in that case, it - will not be possible to undo at all until UNDO_LIMIT_NO is reduced. - Set to 0 to disable the limit. - - A typical use of this variable in a widget function is as follows - (note the additional function scope is required): - - () { - local UNDO_LIMIT_NO=$UNDO_CHANGE_NO - # Perform some form of recursive edit. - } - -WIDGET (scalar) - The name of the widget currently being executed; read-only. - -WIDGETFUNC (scalar) - The name of the shell function that implements a widget defined - with either zle -N or zle -C. In the former case, this is the - second argument to the zle -N command that defined the widget, or - the first argument if there was no second argument. In the latter - case this is the third argument to the zle -C command that defined - the widget. Read-only. - -WIDGETSTYLE (scalar) - Describes the implementation behind the completion widget currently - being executed; the second argument that followed zle -C when the - widget was defined. This is the name of a builtin completion - widget. For widgets defined with zle -N this is set to the empty - string. Read-only. - -YANK_ACTIVE (integer) -YANK_START (integer) -YANK_END (integer) - YANK_ACTIVE indicates whether text has just been yanked (pasted) - into the buffer. YANK_START and YANK_END give the location of the - pasted text and are in the same units as CURSOR. They are only - valid for reading when YANK_ACTIVE is non-zero. They can also be - assigned by widgets that insert text in a yank-like fashion, for - example wrappers of bracketed-paste. See also zle -f. - - YANK_ACTIVE is read-only. - -ZLE_RECURSIVE (integer) - Usually zero, but incremented inside any instance of - recursive-edit. Hence indicates the current recursion level. - - ZLE_RECURSIVE is read-only. - -ZLE_STATE (scalar) - Contains a set of space-separated words that describe the current - zle state. - - Currently, the states shown are the insert mode as set by the - overwrite-mode or vi-replace widgets and whether history commands - will visit imported entries as controlled by the set-local-history - widget. The string contains 'insert' if characters to be inserted - on the command line move existing characters to the right or - 'overwrite' if characters to be inserted overwrite existing - characters. It contains 'localhistory' if only local history - commands will be visited or 'globalhistory' if imported history - commands will also be visited. - - The substrings are sorted in alphabetical order so that if you want - to test for two specific substrings in a future-proof way, you can - do match by doing: - - if [[ $ZLE_STATE == *globalhistory*insert* ]]; then ...; fi - -18.5.1 Special Widgets ----------------------- - -There are a few user-defined widgets which are special to the shell. If -they do not exist, no special action is taken. The environment provided -is identical to that for any other editing widget. - -zle-isearch-exit - Executed at the end of incremental search at the point where the - isearch prompt is removed from the display. See zle-isearch-update - for an example. - -zle-isearch-update - Executed within incremental search when the display is about to be - redrawn. Additional output below the incremental search prompt can - be generated by using 'zle -M' within the widget. For example, - - zle-isearch-update() { zle -M "Line $HISTNO"; } - zle -N zle-isearch-update - - Note the line output by 'zle -M' is not deleted on exit from - incremental search. This can be done from a zle-isearch-exit - widget: - - zle-isearch-exit() { zle -M ""; } - zle -N zle-isearch-exit - -zle-line-pre-redraw - Executed whenever the input line is about to be redrawn, providing - an opportunity to update the region_highlight array. - -zle-line-init - Executed every time the line editor is started to read a new line - of input. The following example puts the line editor into vi - command mode when it starts up. - - zle-line-init() { zle -K vicmd; } - zle -N zle-line-init - - (The command inside the function sets the keymap directly; it is - equivalent to zle vi-cmd-mode.) - -zle-line-finish - This is similar to zle-line-init but is executed every time the - line editor has finished reading a line of input. - -zle-history-line-set - Executed when the history line changes. - -zle-keymap-select - Executed every time the keymap changes, i.e. the special parameter - KEYMAP is set to a different value, while the line editor is - active. Initialising the keymap when the line editor starts does - not cause the widget to be called. - - The value $KEYMAP within the function reflects the new keymap. The - old keymap is passed as the sole argument. - - This can be used for detecting switches between the vi command - (vicmd) and insert (usually main) keymaps. - - -File: zsh.info, Node: Standard Widgets, Next: Character Highlighting, Prev: User-Defined Widgets, Up: Zsh Line Editor - -18.6 Standard Widgets -===================== - -The following is a list of all the standard widgets, and their default -bindings in emacs mode, vi command mode and vi insert mode (the 'emacs', -'vicmd' and 'viins' keymaps, respectively). - -Note that cursor keys are bound to movement keys in all three keymaps; -the shell assumes that the cursor keys send the key sequences reported -by the terminal-handling library (termcap or terminfo). The key -sequences shown in the list are those based on the VT100, common on many -modern terminals, but in fact these are not necessarily bound. In the -case of the viins keymap, the initial escape character of the sequences -serves also to return to the vicmd keymap: whether this happens is -determined by the KEYTIMEOUT parameter, see *note Parameters::. -* Menu: - -* Movement:: -* History Control:: -* Modifying Text:: -* Arguments:: -* Completion:: -* Miscellaneous:: -* Text Objects:: - - -File: zsh.info, Node: Movement, Next: History Control, Up: Standard Widgets - -18.6.1 Movement ---------------- - -vi-backward-blank-word (unbound) (B) (unbound) - Move backward one word, where a word is defined as a series of - non-blank characters. - -vi-backward-blank-word-end (unbound) (gE) (unbound) - Move to the end of the previous word, where a word is defined as a - series of non-blank characters. - -backward-char (^B ESC-[D) (unbound) (unbound) - Move backward one character. - -vi-backward-char (unbound) (^H h ^?) (ESC-[D) - Move backward one character, without changing lines. - -backward-word (ESC-B ESC-b) (unbound) (unbound) - Move to the beginning of the previous word. - -emacs-backward-word - Move to the beginning of the previous word. - -vi-backward-word (unbound) (b) (unbound) - Move to the beginning of the previous word, vi-style. - -vi-backward-word-end (unbound) (ge) (unbound) - Move to the end of the previous word, vi-style. - -beginning-of-line (^A) (unbound) (unbound) - Move to the beginning of the line. If already at the beginning of - the line, move to the beginning of the previous line, if any. - -vi-beginning-of-line - Move to the beginning of the line, without changing lines. - -down-line (unbound) (unbound) (unbound) - Move down a line in the buffer. - -end-of-line (^E) (unbound) (unbound) - Move to the end of the line. If already at the end of the line, - move to the end of the next line, if any. - -vi-end-of-line (unbound) ($) (unbound) - Move to the end of the line. If an argument is given to this - command, the cursor will be moved to the end of the line (argument - - 1) lines down. - -vi-forward-blank-word (unbound) (W) (unbound) - Move forward one word, where a word is defined as a series of - non-blank characters. - -vi-forward-blank-word-end (unbound) (E) (unbound) - Move to the end of the current word, or, if at the end of the - current word, to the end of the next word, where a word is defined - as a series of non-blank characters. - -forward-char (^F ESC-[C) (unbound) (unbound) - Move forward one character. - -vi-forward-char (unbound) (space l) (ESC-[C) - Move forward one character. - -vi-find-next-char (^X^F) (f) (unbound) - Read a character from the keyboard, and move to the next occurrence - of it in the line. - -vi-find-next-char-skip (unbound) (t) (unbound) - Read a character from the keyboard, and move to the position just - before the next occurrence of it in the line. - -vi-find-prev-char (unbound) (F) (unbound) - Read a character from the keyboard, and move to the previous - occurrence of it in the line. - -vi-find-prev-char-skip (unbound) (T) (unbound) - Read a character from the keyboard, and move to the position just - after the previous occurrence of it in the line. - -vi-first-non-blank (unbound) (^) (unbound) - Move to the first non-blank character in the line. - -vi-forward-word (unbound) (w) (unbound) - Move forward one word, vi-style. - -forward-word (ESC-F ESC-f) (unbound) (unbound) - Move to the beginning of the next word. The editor's idea of a - word is specified with the WORDCHARS parameter. - -emacs-forward-word - Move to the end of the next word. - -vi-forward-word-end (unbound) (e) (unbound) - Move to the end of the next word. - -vi-goto-column (ESC-|) (|) (unbound) - Move to the column specified by the numeric argument. - -vi-goto-mark (unbound) (`) (unbound) - Move to the specified mark. - -vi-goto-mark-line (unbound) (') (unbound) - Move to beginning of the line containing the specified mark. - -vi-repeat-find (unbound) (;) (unbound) - Repeat the last vi-find command. - -vi-rev-repeat-find (unbound) (,) (unbound) - Repeat the last vi-find command in the opposite direction. - -up-line (unbound) (unbound) (unbound) - Move up a line in the buffer. - - -File: zsh.info, Node: History Control, Next: Modifying Text, Prev: Movement, Up: Standard Widgets - -18.6.2 History Control ----------------------- - -beginning-of-buffer-or-history (ESC-<) (gg) (unbound) - Move to the beginning of the buffer, or if already there, move to - the first event in the history list. - -beginning-of-line-hist - Move to the beginning of the line. If already at the beginning of - the buffer, move to the previous history line. - -beginning-of-history - Move to the first event in the history list. - -down-line-or-history (^N ESC-[B) (j) (ESC-[B) - Move down a line in the buffer, or if already at the bottom line, - move to the next event in the history list. - -vi-down-line-or-history (unbound) (+) (unbound) - Move down a line in the buffer, or if already at the bottom line, - move to the next event in the history list. Then move to the first - non-blank character on the line. - -down-line-or-search - Move down a line in the buffer, or if already at the bottom line, - search forward in the history for a line beginning with the first - word in the buffer. - - If called from a function by the zle command with arguments, the - first argument is taken as the string for which to search, rather - than the first word in the buffer. - -down-history (unbound) (^N) (unbound) - Move to the next event in the history list. - -history-beginning-search-backward - Search backward in the history for a line beginning with the - current line up to the cursor. This leaves the cursor in its - original position. - -end-of-buffer-or-history (ESC->) (unbound) (unbound) - Move to the end of the buffer, or if already there, move to the - last event in the history list. - -end-of-line-hist - Move to the end of the line. If already at the end of the buffer, - move to the next history line. - -end-of-history - Move to the last event in the history list. - -vi-fetch-history (unbound) (G) (unbound) - Fetch the history line specified by the numeric argument. This - defaults to the current history line (i.e. the one that isn't - history yet). - -history-incremental-search-backward (^R ^Xr) (unbound) (unbound) - Search backward incrementally for a specified string. The search - is case-insensitive if the search string does not have uppercase - letters and no numeric argument was given. The string may begin - with '^' to anchor the search to the beginning of the line. When - called from a user-defined function returns the following statuses: - 0, if the search succeeded; 1, if the search failed; 2, if the - search term was a bad pattern; 3, if the search was aborted by the - send-break command. - - A restricted set of editing functions is available in the - mini-buffer. Keys are looked up in the special isearch keymap, and - if not found there in the main keymap (note that by default the - isearch keymap is empty). An interrupt signal, as defined by the - stty setting, will stop the search and go back to the original - line. An undefined key will have the same effect. Note that the - following always perform the same task within incremental searches - and cannot be replaced by user defined widgets, nor can the set of - functions be extended. The supported functions are: - - accept-and-hold - accept-and-infer-next-history - accept-line - accept-line-and-down-history - Perform the usual function after exiting incremental search. - The command line displayed is executed. - - backward-delete-char - vi-backward-delete-char - Back up one place in the search history. If the search has - been repeated this does not immediately erase a character in - the minibuffer. - - accept-search - Exit incremental search, retaining the command line but - performing no further action. Note that this function is not - bound by default and has no effect outside incremental search. - - backward-delete-word - backward-kill-word - vi-backward-kill-word - Back up one character in the minibuffer; if multiple searches - have been performed since the character was inserted the - search history is rewound to the point just before the - character was entered. Hence this has the effect of repeating - backward-delete-char. - - clear-screen - Clear the screen, remaining in incremental search mode. - - history-incremental-search-backward - Find the next occurrence of the contents of the mini-buffer. - If the mini-buffer is empty, the most recent previously used - search string is reinstated. - - history-incremental-search-forward - Invert the sense of the search. - - magic-space - Inserts a non-magical space. - - quoted-insert - vi-quoted-insert - Quote the character to insert into the minibuffer. - - redisplay - Redisplay the command line, remaining in incremental search - mode. - - vi-cmd-mode - Select the 'vicmd' keymap; the 'main' keymap (insert mode) - will be selected initially. - - In addition, the modifications that were made while in vi - insert mode are merged to form a single undo event. - - vi-repeat-search - vi-rev-repeat-search - Repeat the search. The direction of the search is indicated - in the mini-buffer. - - Any character that is not bound to one of the above functions, or - self-insert or self-insert-unmeta, will cause the mode to be - exited. The character is then looked up and executed in the keymap - in effect at that point. - - When called from a widget function by the zle command, the - incremental search commands can take a string argument. This will - be treated as a string of keys, as for arguments to the bindkey - command, and used as initial input for the command. Any characters - in the string which are unused by the incremental search will be - silently ignored. For example, - - zle history-incremental-search-backward forceps - - will search backwards for forceps, leaving the minibuffer - containing the string 'forceps'. - -history-incremental-search-forward (^S ^Xs) (unbound) (unbound) - Search forward incrementally for a specified string. The search is - case-insensitive if the search string does not have uppercase - letters and no numeric argument was given. The string may begin - with '^' to anchor the search to the beginning of the line. The - functions available in the mini-buffer are the same as for - history-incremental-search-backward. - -history-incremental-pattern-search-backward -history-incremental-pattern-search-forward - These widgets behave similarly to the corresponding widgets with no - -pattern, but the search string typed by the user is treated as a - pattern, respecting the current settings of the various options - affecting pattern matching. See *note Filename Generation:: for a - description of patterns. If no numeric argument was given - lowercase letters in the search string may match uppercase letters - in the history. The string may begin with '^' to anchor the search - to the beginning of the line. - - The prompt changes to indicate an invalid pattern; this may simply - indicate the pattern is not yet complete. - - Note that only non-overlapping matches are reported, so an - expression with wildcards may return fewer matches on a line than - are visible by inspection. - -history-search-backward (ESC-P ESC-p) (unbound) (unbound) - Search backward in the history for a line beginning with the first - word in the buffer. - - If called from a function by the zle command with arguments, the - first argument is taken as the string for which to search, rather - than the first word in the buffer. - -vi-history-search-backward (unbound) (/) (unbound) - Search backward in the history for a specified string. The string - may begin with '^' to anchor the search to the beginning of the - line. - - A restricted set of editing functions is available in the - mini-buffer. An interrupt signal, as defined by the stty setting, - will stop the search. The functions available in the mini-buffer - are: accept-line, backward-delete-char, vi-backward-delete-char, - backward-kill-word, vi-backward-kill-word, clear-screen, redisplay, - quoted-insert and vi-quoted-insert. - - vi-cmd-mode is treated the same as accept-line, and magic-space is - treated as a space. Any other character that is not bound to - self-insert or self-insert-unmeta will beep and be ignored. If the - function is called from vi command mode, the bindings of the - current insert mode will be used. - - If called from a function by the zle command with arguments, the - first argument is taken as the string for which to search, rather - than the first word in the buffer. - -history-search-forward (ESC-N ESC-n) (unbound) (unbound) - Search forward in the history for a line beginning with the first - word in the buffer. - - If called from a function by the zle command with arguments, the - first argument is taken as the string for which to search, rather - than the first word in the buffer. - -vi-history-search-forward (unbound) (?) (unbound) - Search forward in the history for a specified string. The string - may begin with '^' to anchor the search to the beginning of the - line. The functions available in the mini-buffer are the same as - for vi-history-search-backward. Argument handling is also the same - as for that command. - -infer-next-history (^X^N) (unbound) (unbound) - Search in the history list for a line matching the current one and - fetch the event following it. - -insert-last-word (ESC-_ ESC-.) (unbound) (unbound) - Insert the last word from the previous history event at the cursor - position. If a positive numeric argument is given, insert that - word from the end of the previous history event. If the argument - is zero or negative insert that word from the left (zero inserts - the previous command word). Repeating this command replaces the - word just inserted with the last word from the history event prior - to the one just used; numeric arguments can be used in the same way - to pick a word from that event. - - When called from a shell function invoked from a user-defined - widget, the command can take one to three arguments. The first - argument specifies a history offset which applies to successive - calls to this widget: if it is -1, the default behaviour is used, - while if it is 1, successive calls will move forwards through the - history. The value 0 can be used to indicate that the history line - examined by the previous execution of the command will be - reexamined. Note that negative numbers should be preceded by a - '--' argument to avoid confusing them with options. - - If two arguments are given, the second specifies the word on the - command line in normal array index notation (as a more natural - alternative to the numeric argument). Hence 1 is the first word, - and -1 (the default) is the last word. - - If a third argument is given, its value is ignored, but it is used - to signify that the history offset is relative to the current - history line, rather than the one remembered after the previous - invocations of insert-last-word. - - For example, the default behaviour of the command corresponds to - - zle insert-last-word -- -1 -1 - - while the command - - zle insert-last-word -- -1 1 - - - always copies the first word of the line in the history immediately - before the line being edited. This has the side effect that later - invocations of the widget will be relative to that line. - -vi-repeat-search (unbound) (n) (unbound) - Repeat the last vi history search. - -vi-rev-repeat-search (unbound) (N) (unbound) - Repeat the last vi history search, but in reverse. - -up-line-or-history (^P ESC-[A) (k) (ESC-[A) - Move up a line in the buffer, or if already at the top line, move - to the previous event in the history list. - -vi-up-line-or-history (unbound) (-) (unbound) - Move up a line in the buffer, or if already at the top line, move - to the previous event in the history list. Then move to the first - non-blank character on the line. - -up-line-or-search - Move up a line in the buffer, or if already at the top line, search - backward in the history for a line beginning with the first word in - the buffer. - - If called from a function by the zle command with arguments, the - first argument is taken as the string for which to search, rather - than the first word in the buffer. - -up-history (unbound) (^P) (unbound) - Move to the previous event in the history list. - -history-beginning-search-forward - Search forward in the history for a line beginning with the current - line up to the cursor. This leaves the cursor in its original - position. - -set-local-history - By default, history movement commands visit the imported lines as - well as the local lines. This widget lets you toggle this on and - off, or set it with the numeric argument. Zero for both local and - imported lines and nonzero for only local lines. - - -File: zsh.info, Node: Modifying Text, Next: Arguments, Prev: History Control, Up: Standard Widgets - -18.6.3 Modifying Text ---------------------- - -vi-add-eol (unbound) (A) (unbound) - Move to the end of the line and enter insert mode. - -vi-add-next (unbound) (a) (unbound) - Enter insert mode after the current cursor position, without - changing lines. - -backward-delete-char (^H ^?) (unbound) (unbound) - Delete the character behind the cursor. - -vi-backward-delete-char (unbound) (X) (^H) - Delete the character behind the cursor, without changing lines. If - in insert mode, this won't delete past the point where insert mode - was last entered. - -backward-delete-word - Delete the word behind the cursor. - -backward-kill-line - Kill from the beginning of the line to the cursor position. - -backward-kill-word (^W ESC-^H ESC-^?) (unbound) (unbound) - Kill the word behind the cursor. - -vi-backward-kill-word (unbound) (unbound) (^W) - Kill the word behind the cursor, without going past the point where - insert mode was last entered. - -capitalize-word (ESC-C ESC-c) (unbound) (unbound) - Capitalize the current word and move past it. - -vi-change (unbound) (c) (unbound) - Read a movement command from the keyboard, and kill from the cursor - position to the endpoint of the movement. Then enter insert mode. - If the command is vi-change, change the current line. - - For compatibility with vi, if the command is vi-forward-word or - vi-forward-blank-word, the whitespace after the word is not - included. If you prefer the more consistent behaviour with the - whitespace included use the following key binding: - - bindkey -a -s cw dwi - -vi-change-eol (unbound) (C) (unbound) - Kill to the end of the line and enter insert mode. - -vi-change-whole-line (unbound) (S) (unbound) - Kill the current line and enter insert mode. - -copy-region-as-kill (ESC-W ESC-w) (unbound) (unbound) - Copy the area from the cursor to the mark to the kill buffer. - - If called from a ZLE widget function in the form 'zle - copy-region-as-kill STRING' then STRING will be taken as the text - to copy to the kill buffer. The cursor, the mark and the text on - the command line are not used in this case. - -copy-prev-word (ESC-^_) (unbound) (unbound) - Duplicate the word to the left of the cursor. - -copy-prev-shell-word - Like copy-prev-word, but the word is found by using shell parsing, - whereas copy-prev-word looks for blanks. This makes a difference - when the word is quoted and contains spaces. - -vi-delete (unbound) (d) (unbound) - Read a movement command from the keyboard, and kill from the cursor - position to the endpoint of the movement. If the command is - vi-delete, kill the current line. - -delete-char - Delete the character under the cursor. - -vi-delete-char (unbound) (x) (unbound) - Delete the character under the cursor, without going past the end - of the line. - -delete-word - Delete the current word. - -down-case-word (ESC-L ESC-l) (unbound) (unbound) - Convert the current word to all lowercase and move past it. - -vi-down-case (unbound) (gu) (unbound) - Read a movement command from the keyboard, and convert all - characters from the cursor position to the endpoint of the movement - to lowercase. If the movement command is vi-down-case, swap the - case of all characters on the current line. - -kill-word (ESC-D ESC-d) (unbound) (unbound) - Kill the current word. - -gosmacs-transpose-chars - Exchange the two characters behind the cursor. - -vi-indent (unbound) (>) (unbound) - Indent a number of lines. - -vi-insert (unbound) (i) (unbound) - Enter insert mode. - -vi-insert-bol (unbound) (I) (unbound) - Move to the first non-blank character on the line and enter insert - mode. - -vi-join (^X^J) (J) (unbound) - Join the current line with the next one. - -kill-line (^K) (unbound) (unbound) - Kill from the cursor to the end of the line. If already on the end - of the line, kill the newline character. - -vi-kill-line (unbound) (unbound) (^U) - Kill from the cursor back to wherever insert mode was last entered. - -vi-kill-eol (unbound) (D) (unbound) - Kill from the cursor to the end of the line. - -kill-region - Kill from the cursor to the mark. - -kill-buffer (^X^K) (unbound) (unbound) - Kill the entire buffer. - -kill-whole-line (^U) (unbound) (unbound) - Kill the current line. - -vi-match-bracket (^X^B) (%) (unbound) - Move to the bracket character (one of {}, () or []) that matches - the one under the cursor. If the cursor is not on a bracket - character, move forward without going past the end of the line to - find one, and then go to the matching bracket. - -vi-open-line-above (unbound) (O) (unbound) - Open a line above the cursor and enter insert mode. - -vi-open-line-below (unbound) (o) (unbound) - Open a line below the cursor and enter insert mode. - -vi-oper-swap-case (unbound) (g~) (unbound) - Read a movement command from the keyboard, and swap the case of all - characters from the cursor position to the endpoint of the - movement. If the movement command is vi-oper-swap-case, swap the - case of all characters on the current line. - -overwrite-mode (^X^O) (unbound) (unbound) - Toggle between overwrite mode and insert mode. - -vi-put-before (unbound) (P) (unbound) - Insert the contents of the kill buffer before the cursor. If the - kill buffer contains a sequence of lines (as opposed to - characters), paste it above the current line. - -vi-put-after (unbound) (p) (unbound) - Insert the contents of the kill buffer after the cursor. If the - kill buffer contains a sequence of lines (as opposed to - characters), paste it below the current line. - -put-replace-selection (unbound) (unbound) (unbound) - Replace the contents of the current region or selection with the - contents of the kill buffer. If the kill buffer contains a - sequence of lines (as opposed to characters), the current line will - be split by the pasted lines. - -quoted-insert (^V) (unbound) (unbound) - Insert the next character typed into the buffer literally. An - interrupt character will not be inserted. - -vi-quoted-insert (unbound) (unbound) (^Q ^V) - Display a '^' at the cursor position, and insert the next character - typed into the buffer literally. An interrupt character will not - be inserted. - -quote-line (ESC-') (unbound) (unbound) - Quote the current line; that is, put a ''' character at the - beginning and the end, and convert all ''' characters to ''\'''. - -quote-region (ESC-") (unbound) (unbound) - Quote the region from the cursor to the mark. - -vi-replace (unbound) (R) (unbound) - Enter overwrite mode. - -vi-repeat-change (unbound) (.) (unbound) - Repeat the last vi mode text modification. If a count was used - with the modification, it is remembered. If a count is given to - this command, it overrides the remembered count, and is remembered - for future uses of this command. The cut buffer specification is - similarly remembered. - -vi-replace-chars (unbound) (r) (unbound) - Replace the character under the cursor with a character read from - the keyboard. - -self-insert (printable characters) (unbound) (printable characters and some control characters) - Insert a character into the buffer at the cursor position. - -self-insert-unmeta (ESC-^I ESC-^J ESC-^M) (unbound) (unbound) - Insert a character into the buffer after stripping the meta bit and - converting ^M to ^J. - -vi-substitute (unbound) (s) (unbound) - Substitute the next character(s). - -vi-swap-case (unbound) (~) (unbound) - Swap the case of the character under the cursor and move past it. - -transpose-chars (^T) (unbound) (unbound) - Exchange the two characters to the left of the cursor if at end of - line, else exchange the character under the cursor with the - character to the left. - -transpose-words (ESC-T ESC-t) (unbound) (unbound) - Exchange the current word with the one before it. - - With a positive numeric argument _N_, the word around the cursor, - or following it if the cursor is between words, is transposed with - the preceding _N_ words. The cursor is put at the end of the - resulting group of words. - - With a negative numeric argument _-N_, the effect is the same as - using a positive argument _N_ except that the original cursor - position is retained, regardless of how the words are rearranged. - -vi-unindent (unbound) (<) (unbound) - Unindent a number of lines. - -vi-up-case (unbound) (gU) (unbound) - Read a movement command from the keyboard, and convert all - characters from the cursor position to the endpoint of the movement - to lowercase. If the movement command is vi-up-case, swap the case - of all characters on the current line. - -up-case-word (ESC-U ESC-u) (unbound) (unbound) - Convert the current word to all caps and move past it. - -yank (^Y) (unbound) (unbound) - Insert the contents of the kill buffer at the cursor position. - -yank-pop (ESC-y) (unbound) (unbound) - Remove the text just yanked, rotate the kill-ring (the history of - previously killed text) and yank the new top. Only works following - yank, vi-put-before, vi-put-after or yank-pop. - -vi-yank (unbound) (y) (unbound) - Read a movement command from the keyboard, and copy the region from - the cursor position to the endpoint of the movement into the kill - buffer. If the command is vi-yank, copy the current line. - -vi-yank-whole-line (unbound) (Y) (unbound) - Copy the current line into the kill buffer. - -vi-yank-eol - Copy the region from the cursor position to the end of the line - into the kill buffer. Arguably, this is what Y should do in vi, - but it isn't what it actually does. - diff --git a/result/sw/share/info/zsh.info-3 b/result/sw/share/info/zsh.info-3 deleted file mode 100644 index 5e7916bf..00000000 --- a/result/sw/share/info/zsh.info-3 +++ /dev/null @@ -1,6802 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -File: zsh.info, Node: Arguments, Next: Completion, Prev: Modifying Text, Up: Standard Widgets - -18.6.4 Arguments ----------------- - -digit-argument (ESC-0..ESC-9) (1-9) (unbound) - Start a new numeric argument, or add to the current one. See also - vi-digit-or-beginning-of-line. This only works if bound to a key - sequence ending in a decimal digit. - - Inside a widget function, a call to this function treats the last - key of the key sequence which called the widget as the digit. - -neg-argument (ESC--) (unbound) (unbound) - Changes the sign of the following argument. - -universal-argument - Multiply the argument of the next command by 4. Alternatively, if - this command is followed by an integer (positive or negative), use - that as the argument for the next command. Thus digits cannot be - repeated using this command. For example, if this command occurs - twice, followed immediately by forward-char, move forward sixteen - spaces; if instead it is followed by -2, then forward-char, move - backward two spaces. - - Inside a widget function, if passed an argument, i.e. 'zle - universal-argument NUM', the numeric argument will be set to NUM; - this is equivalent to 'NUMERIC=NUM'. - -argument-base - Use the existing numeric argument as a numeric base, which must be - in the range 2 to 36 inclusive. Subsequent use of digit-argument - and universal-argument will input a new numeric argument in the - given base. The usual hexadecimal convention is used: the letter a - or A corresponds to 10, and so on. Arguments in bases requiring - digits from 10 upwards are more conveniently input with - universal-argument, since ESC-a etc. are not usually bound to - digit-argument. - - The function can be used with a command argument inside a - user-defined widget. The following code sets the base to 16 and - lets the user input a hexadecimal argument until a key out of the - digit range is typed: - - zle argument-base 16 - zle universal-argument - - -File: zsh.info, Node: Completion, Next: Miscellaneous, Prev: Arguments, Up: Standard Widgets - -18.6.5 Completion ------------------ - -accept-and-menu-complete - In a menu completion, insert the current completion into the - buffer, and advance to the next possible completion. - -complete-word - Attempt completion on the current word. - -delete-char-or-list (^D) (unbound) (unbound) - Delete the character under the cursor. If the cursor is at the end - of the line, list possible completions for the current word. - -expand-cmd-path - Expand the current command to its full pathname. - -expand-or-complete (TAB) (unbound) (TAB) - Attempt shell expansion on the current word. If that fails, - attempt completion. - -expand-or-complete-prefix - Attempt shell expansion on the current word up to cursor. - -expand-history (ESC-space ESC-!) (unbound) (unbound) - Perform history expansion on the edit buffer. - -expand-word (^X*) (unbound) (unbound) - Attempt shell expansion on the current word. - -list-choices (ESC-^D) (^D =) (^D) - List possible completions for the current word. - -list-expand (^Xg ^XG) (^G) (^G) - List the expansion of the current word. - -magic-space - Perform history expansion and insert a space into the buffer. This - is intended to be bound to space. - -menu-complete - Like complete-word, except that menu completion is used. See the - MENU_COMPLETE option. - -menu-expand-or-complete - Like expand-or-complete, except that menu completion is used. - -reverse-menu-complete - Perform menu completion, like menu-complete, except that if a menu - completion is already in progress, move to the _previous_ - completion rather than the next. - -end-of-list - When a previous completion displayed a list below the prompt, this - widget can be used to move the prompt below the list. - - -File: zsh.info, Node: Miscellaneous, Next: Text Objects, Prev: Completion, Up: Standard Widgets - -18.6.6 Miscellaneous --------------------- - -accept-and-hold (ESC-A ESC-a) (unbound) (unbound) - Push the contents of the buffer on the buffer stack and execute it. - -accept-and-infer-next-history - Execute the contents of the buffer. Then search the history list - for a line matching the current one and push the event following - onto the buffer stack. - -accept-line (^J ^M) (^J ^M) (^J ^M) - Finish editing the buffer. Normally this causes the buffer to be - executed as a shell command. - -accept-line-and-down-history (^O) (unbound) (unbound) - Execute the current line, and push the next history event on the - buffer stack. - -auto-suffix-remove - If the previous action added a suffix (space, slash, etc.) to the - word on the command line, remove it. Otherwise do nothing. - Removing the suffix ends any active menu completion or menu - selection. - - This widget is intended to be called from user-defined widgets to - enforce a desired suffix-removal behavior. - -auto-suffix-retain - If the previous action added a suffix (space, slash, etc.) to the - word on the command line, force it to be preserved. Otherwise do - nothing. Retaining the suffix ends any active menu completion or - menu selection. - - This widget is intended to be called from user-defined widgets to - enforce a desired suffix-preservation behavior. - -beep - Beep, unless the BEEP option is unset. - -bracketed-paste (^[[200~) (^[[200~) (^[[200~) - This widget is invoked when text is pasted to the terminal - emulator. It is not intended to be bound to actual keys but - instead to the special sequence generated by the terminal emulator - when text is pasted. - - When invoked interactively, the pasted text is inserted to the - buffer and placed in the cutbuffer. If a numeric argument is - given, shell quoting will be applied to the pasted text before it - is inserted. - - When a named buffer is specified with vi-set-buffer ("x), the - pasted text is stored in that named buffer but not inserted. - - When called from a widget function as 'bracketed-paste NAME', the - pasted text is assigned to the variable NAME and no other - processing is done. - - See also the zle_bracketed_paste parameter. - -vi-cmd-mode (^X^V) (unbound) (^[) - Enter command mode; that is, select the 'vicmd' keymap. Yes, this - is bound by default in emacs mode. - -vi-caps-lock-panic - Hang until any lowercase key is pressed. This is for vi users - without the mental capacity to keep track of their caps lock key - (like the author). - -clear-screen (^L ESC-^L) (^L) (^L) - Clear the screen and redraw the prompt. - -deactivate-region - Make the current region inactive. This disables vim-style visual - selection mode if it is active. - -describe-key-briefly - Reads a key sequence, then prints the function bound to that - sequence. - -exchange-point-and-mark (^X^X) (unbound) (unbound) - Exchange the cursor position (point) with the position of the mark. - Unless a negative numeric argument is given, the region between - point and mark is activated so that it can be highlighted. If a - zero numeric argument is given, the region is activated but point - and mark are not swapped. - -execute-named-cmd (ESC-x) (:) (unbound) - Read the name of an editor command and execute it. Aliasing this - widget with 'zle -A' or replacing it with 'zle -N' has no effect - when interpreting key bindings, but 'zle execute-named-cmd' will - invoke such an alias or replacement. - - A restricted set of editing functions is available in the - mini-buffer. Keys are looked up in the special command keymap, and - if not found there in the main keymap. An interrupt signal, as - defined by the stty setting, will abort the function. Note that - the following always perform the same task within the - executed-named-cmd environment and cannot be replaced by user - defined widgets, nor can the set of functions be extended. The - allowed functions are: backward-delete-char, - vi-backward-delete-char, clear-screen, redisplay, quoted-insert, - vi-quoted-insert, backward-kill-word, vi-backward-kill-word, - kill-whole-line, vi-kill-line, backward-kill-line, list-choices, - delete-char-or-list, complete-word, accept-line, expand-or-complete - and expand-or-complete-prefix. - - kill-region kills the last word, and vi-cmd-mode is treated the - same as accept-line. The space and tab characters, if not bound to - one of these functions, will complete the name and then list the - possibilities if the AUTO_LIST option is set. Any other character - that is not bound to self-insert or self-insert-unmeta will beep - and be ignored. The bindings of the current insert mode will be - used. - - Currently this command may not be redefined or called by name. - -execute-last-named-cmd (ESC-z) (unbound) (unbound) - Redo the last function executed with execute-named-cmd. - - Like execute-named-cmd, this command may not be redefined, but it - may be called by name. - -get-line (ESC-G ESC-g) (unbound) (unbound) - Pop the top line off the buffer stack and insert it at the cursor - position. - -pound-insert (unbound) (#) (unbound) - If there is no # character at the beginning of the buffer, add one - to the beginning of each line. If there is one, remove a # from - each line that has one. In either case, accept the current line. - The INTERACTIVE_COMMENTS option must be set for this to have any - usefulness. - -vi-pound-insert - If there is no # character at the beginning of the current line, - add one. If there is one, remove it. The INTERACTIVE_COMMENTS - option must be set for this to have any usefulness. - -push-input - Push the entire current multiline construct onto the buffer stack - and return to the top-level (PS1) prompt. If the current parser - construct is only a single line, this is exactly like push-line. - Next time the editor starts up or is popped with get-line, the - construct will be popped off the top of the buffer stack and loaded - into the editing buffer. - -push-line (^Q ESC-Q ESC-q) (unbound) (unbound) - Push the current buffer onto the buffer stack and clear the buffer. - Next time the editor starts up, the buffer will be popped off the - top of the buffer stack and loaded into the editing buffer. - -push-line-or-edit - At the top-level (PS1) prompt, equivalent to push-line. At a - secondary (PS2) prompt, move the entire current multiline construct - into the editor buffer. The latter is equivalent to push-input - followed by get-line. - -read-command - Only useful from a user-defined widget. A keystroke is read just - as in normal operation, but instead of the command being executed - the name of the command that would be executed is stored in the - shell parameter REPLY. This can be used as the argument of a - future zle command. If the key sequence is not bound, status 1 is - returned; typically, however, REPLY is set to undefined-key to - indicate a useless key sequence. - -recursive-edit - Only useful from a user-defined widget. At this point in the - function, the editor regains control until one of the standard - widgets which would normally cause zle to exit (typically an - accept-line caused by hitting the return key) is executed. - Instead, control returns to the user-defined widget. The status - returned is non-zero if the return was caused by an error, but the - function still continues executing and hence may tidy up. This - makes it safe for the user-defined widget to alter the command line - or key bindings temporarily. - - The following widget, caps-lock, serves as an example. - - self-insert-ucase() { - LBUFFER+=${(U)KEYS[-1]} - } - - integer stat - - zle -N self-insert self-insert-ucase - zle -A caps-lock save-caps-lock - zle -A accept-line caps-lock - - zle recursive-edit - stat=$? - - zle -A .self-insert self-insert - zle -A save-caps-lock caps-lock - zle -D save-caps-lock - - (( stat )) && zle send-break - - return $stat - - This causes typed letters to be inserted capitalised until either - accept-line (i.e. typically the return key) is typed or the - caps-lock widget is invoked again; the later is handled by saving - the old definition of caps-lock as save-caps-lock and then - rebinding it to invoke accept-line. Note that an error from the - recursive edit is detected as a non-zero return status and - propagated by using the send-break widget. - -redisplay (unbound) (^R) (^R) - Redisplays the edit buffer. - -reset-prompt (unbound) (unbound) (unbound) - Force the prompts on both the left and right of the screen to be - re-expanded, then redisplay the edit buffer. This reflects changes - both to the prompt variables themselves and changes in the - expansion of the values (for example, changes in time or directory, - or changes to the value of variables referred to by the prompt). - - Otherwise, the prompt is only expanded each time zle starts, and - when the display has been interrupted by output from another part - of the shell (such as a job notification) which causes the command - line to be reprinted. - - reset-prompt doesn't alter the special parameter LASTWIDGET. - -send-break (^G ESC-^G) (unbound) (unbound) - Abort the current editor function, e.g. execute-named-command, or - the editor itself, e.g. if you are in vared. Otherwise abort the - parsing of the current line; in this case the aborted line is - available in the shell variable ZLE_LINE_ABORTED. If the editor is - aborted from within vared, the variable ZLE_VARED_ABORTED is set. - -run-help (ESC-H ESC-h) (unbound) (unbound) - Push the buffer onto the buffer stack, and execute the command - 'run-help CMD', where CMD is the current command. run-help is - normally aliased to man. - -vi-set-buffer (unbound) (") (unbound) - Specify a buffer to be used in the following command. There are 37 - buffers that can be specified: the 26 'named' buffers "a to "z, the - 'yank' buffer "0, the nine 'queued' buffers "1 to "9 and the 'black - hole' buffer "_. The named buffers can also be specified as "A to - "Z. - - When a buffer is specified for a cut, change or yank command, the - text concerned replaces the previous contents of the specified - buffer. If a named buffer is specified using a capital, the newly - cut text is appended to the buffer instead of overwriting it. When - using the "_ buffer, nothing happens. This can be useful for - deleting text without affecting any buffers. - - If no buffer is specified for a cut or change command, "1 is used, - and the contents of "1 to "8 are each shifted along one buffer; the - contents of "9 is lost. If no buffer is specified for a yank - command, "0 is used. Finally, a paste command without a specified - buffer will paste the text from the most recent command regardless - of any buffer that might have been used with that command. - - When called from a widget function by the zle command, the buffer - can optionally be specified with an argument. For example, - - zle vi-set-buffer A - -vi-set-mark (unbound) (m) (unbound) - Set the specified mark at the cursor position. - -set-mark-command (^@) (unbound) (unbound) - Set the mark at the cursor position. If called with a negative - numeric argument, do not set the mark but deactivate the region so - that it is no longer highlighted (it is still usable for other - purposes). Otherwise the region is marked as active. - -spell-word (ESC-$ ESC-S ESC-s) (unbound) (unbound) - Attempt spelling correction on the current word. - -split-undo - Breaks the undo sequence at the current change. This is useful in - vi mode as changes made in insert mode are coalesced on entering - command mode. Similarly, undo will normally revert as one all the - changes made by a user-defined widget. - -undefined-key - This command is executed when a key sequence that is not bound to - any command is typed. By default it beeps. - -undo (^_ ^Xu ^X^U) (u) (unbound) - Incrementally undo the last text modification. When called from a - user-defined widget, takes an optional argument indicating a - previous state of the undo history as returned by the - UNDO_CHANGE_NO variable; modifications are undone until that state - is reached, subject to any limit imposed by the UNDO_LIMIT_NO - variable. - - Note that when invoked from vi command mode, the full prior change - made in insert mode is reverted, the changes having been merged - when command mode was selected. - -redo (unbound) (^R) (unbound) - Incrementally redo undone text modifications. - -vi-undo-change (unbound) (unbound) (unbound) - Undo the last text modification. If repeated, redo the - modification. - -visual-mode (unbound) (v) (unbound) - Toggle vim-style visual selection mode. If line-wise visual mode - is currently enabled then it is changed to being character-wise. - If used following an operator, it forces the subsequent movement - command to be treated as a character-wise movement. - -visual-line-mode (unbound) (V) (unbound) - Toggle vim-style line-wise visual selection mode. If - character-wise visual mode is currently enabled then it is changed - to being line-wise. If used following an operator, it forces the - subsequent movement command to be treated as a line-wise movement. - -what-cursor-position (^X=) (ga) (unbound) - Print the character under the cursor, its code as an octal, decimal - and hexadecimal number, the current cursor position within the - buffer and the column of the cursor in the current line. - -where-is - Read the name of an editor command and print the listing of key - sequences that invoke the specified command. A restricted set of - editing functions is available in the mini-buffer. Keys are looked - up in the special command keymap, and if not found there in the - main keymap. - -which-command (ESC-?) (unbound) (unbound) - Push the buffer onto the buffer stack, and execute the command - 'which-command CMD'. where CMD is the current command. - which-command is normally aliased to whence. - -vi-digit-or-beginning-of-line (unbound) (0) (unbound) - If the last command executed was a digit as part of an argument, - continue the argument. Otherwise, execute vi-beginning-of-line. - - -File: zsh.info, Node: Text Objects, Prev: Miscellaneous, Up: Standard Widgets - -18.6.7 Text Objects -------------------- - -Text objects are commands that can be used to select a block of text -according to some criteria. They are a feature of the vim text editor -and so are primarily intended for use with vi operators or from visual -selection mode. However, they can also be used from vi-insert or emacs -mode. Key bindings listed below apply to the viopp and visual keymaps. - -select-a-blank-word (aW) - Select a word including adjacent blanks, where a word is defined as - a series of non-blank characters. With a numeric argument, - multiple words will be selected. - -select-a-shell-word (aa) - Select the current command argument applying the normal rules for - quoting. - -select-a-word (aw) - Select a word including adjacent blanks, using the normal vi-style - word definition. With a numeric argument, multiple words will be - selected. - -select-in-blank-word (iW) - Select a word, where a word is defined as a series of non-blank - characters. With a numeric argument, multiple words will be - selected. - -select-in-shell-word (ia) - Select the current command argument applying the normal rules for - quoting. If the argument begins and ends with matching quote - characters, these are not included in the selection. - -select-in-word (iw) - Select a word, using the normal vi-style word definition. With a - numeric argument, multiple words will be selected. - - -File: zsh.info, Node: Character Highlighting, Prev: Standard Widgets, Up: Zsh Line Editor - -18.7 Character Highlighting -=========================== - -The line editor has the ability to highlight characters or regions of -the line that have a particular significance. This is controlled by the -array parameter zle_highlight, if it has been set by the user. - -If the parameter contains the single entry none all highlighting is -turned off. Note the parameter is still expected to be an array. - -Otherwise each entry of the array should consist of a word indicating a -context for highlighting, then a colon, then a comma-separated list of -the types of highlighting to apply in that context. - -The contexts available for highlighting are the following: - -default - Any text within the command line not affected by any other - highlighting. Text outside the editable area of the command line - is not affected. - -isearch - When one of the incremental history search widgets is active, the - area of the command line matched by the search string or pattern. - -region - The currently selected text. In emacs terminology, this is - referred to as the region and is bounded by the cursor (point) and - the mark. The region is only highlighted if it is active, which is - the case after the mark is modified with set-mark-command or - exchange-point-and-mark. Note that whether or not the region is - active has no effect on its use within emacs style widgets, it - simply determines whether it is highlighted. In vi mode, the - region corresponds to selected text in visual mode. - -special - Individual characters that have no direct printable representation - but are shown in a special manner by the line editor. These - characters are described below. - -suffix - This context is used in completion for characters that are marked - as suffixes that will be removed if the completion ends at that - point, the most obvious example being a slash (/) after a directory - name. Note that suffix removal is configurable; the circumstances - under which the suffix will be removed may differ for different - completions. - -paste - Following a command to paste text, the characters that were - inserted. - -When region_highlight is set, the contexts that describe a region -- -isearch, region, suffix, and paste -- are applied first, then -region_highlight is applied, then the remaining zle_highlight contexts -are applied. If a particular character is affected by multiple -specifications, the last specification wins. - -zle_highlight may contain additional fields for controlling how terminal -sequences to change colours are output. Each of the following is -followed by a colon and a string in the same form as for key bindings. -This will not be necessary for the vast majority of terminals as the -defaults shown in parentheses are widely used. - -fg_start_code (\e[3) - The start of the escape sequence for the foreground colour. This - is followed by one to three ASCII digits representing the colour. - Only used for palette colors, i.e. not 24-bit colors specified via - a color triplet. - -fg_default_code (9) - The number to use instead of the colour to reset the default - foreground colour. - -fg_end_code (m) - The end of the escape sequence for the foreground colour. - -bg_start_code (\e[4) - The start of the escape sequence for the background colour. See - fg_start_code above. - -bg_default_code (9) - The number to use instead of the colour to reset the default - background colour. - -bg_end_code (m) - The end of the escape sequence for the background colour. - -The available types of highlighting are the following. Note that not -all types of highlighting are available on all terminals: - -none - No highlighting is applied to the given context. It is not useful - for this to appear with other types of highlighting; it is used to - override a default. - -fg=COLOUR - The foreground colour should be set to COLOUR, a decimal integer, - the name of one of the eight most widely-supported colours or as a - '#' followed by an RGB triplet in hexadecimal format. - - Not all terminals support this and, of those that do, not all - provide facilities to test the support, hence the user should - decide based on the terminal type. Most terminals support the - colours black, red, green, yellow, blue, magenta, cyan and white, - which can be set by name. In addition. default may be used to set - the terminal's default foreground colour. Abbreviations are - allowed; b or bl selects black. Some terminals may generate - additional colours if the bold attribute is also present. - - On recent terminals and on systems with an up-to-date terminal - database the number of colours supported may be tested by the - command 'echotc Co'; if this succeeds, it indicates a limit on the - number of colours which will be enforced by the line editor. The - number of colours is in any case limited to 256 (i.e. the range 0 - to 255). - - Some modern terminal emulators have support for 24-bit true colour - (16 million colours). In this case, the hex triplet format can be - used. This consists of a '#' followed by either a three or six - digit hexadecimal number describing the red, green and blue - components of the colour. Hex triplets can also be used with 88 - and 256 colour terminals via the zsh/nearcolor module (see *note - The zsh/nearcolor Module::). - - Colour is also known as color. - -bg=COLOUR - The background colour should be set to COLOUR. This works - similarly to the foreground colour, except the background is not - usually affected by the bold attribute. - -bold - The characters in the given context are shown in a bold font. Not - all terminals distinguish bold fonts. - -standout - The characters in the given context are shown in the terminal's - standout mode. The actual effect is specific to the terminal; on - many terminals it is inverse video. On some such terminals, where - the cursor does not blink it appears with standout mode negated, - making it less than clear where the cursor actually is. On such - terminals one of the other effects may be preferable for - highlighting the region and matched search string. - -underline - The characters in the given context are shown underlined. Some - terminals show the foreground in a different colour instead; in - this case whitespace will not be highlighted. - -The characters described above as 'special' are as follows. The -formatting described here is used irrespective of whether the characters -are highlighted: - -ASCII control characters - Control characters in the ASCII range are shown as '^' followed by - the base character. - -Unprintable multibyte characters - This item applies to control characters not in the ASCII range, - plus other characters as follows. If the MULTIBYTE option is in - effect, multibyte characters not in the ASCII character set that - are reported as having zero width are treated as combining - characters when the option COMBINING_CHARS is on. If the option is - off, or if a character appears where a combining character is not - valid, the character is treated as unprintable. - - Unprintable multibyte characters are shown as a hexadecimal number - between angle brackets. The number is the code point of the - character in the wide character set; this may or may not be - Unicode, depending on the operating system. - -Invalid multibyte characters - If the MULTIBYTE option is in effect, any sequence of one or more - bytes that does not form a valid character in the current character - set is treated as a series of bytes each shown as a special - character. This case can be distinguished from other unprintable - characters as the bytes are represented as two hexadecimal digits - between angle brackets, as distinct from the four or eight digits - that are used for unprintable characters that are nonetheless valid - in the current character set. - - Not all systems support this: for it to work, the system's - representation of wide characters must be code values from the - Universal Character Set, as defined by IS0 10646 (also known as - Unicode). - -Wrapped double-width characters - When a double-width character appears in the final column of a - line, it is instead shown on the next line. The empty space left - in the original position is highlighted as a special character. - -If zle_highlight is not set or no value applies to a particular context, -the defaults applied are equivalent to - - zle_highlight=(region:standout special:standout - suffix:bold isearch:underline paste:standout) - -i.e. both the region and special characters are shown in standout mode. - -Within widgets, arbitrary regions may be highlighted by setting the -special array parameter region_highlight; see *note Zle Widgets::. - - -File: zsh.info, Node: Completion Widgets, Next: Completion System, Prev: Zsh Line Editor, Up: Top - -19 Completion Widgets -********************* - -19.1 Description -================ - -The shell's programmable completion mechanism can be manipulated in two -ways; here the low-level features supporting the newer, function-based -mechanism are defined. A complete set of shell functions based on these -features is described in the next chapter, *note Completion System::, -and users with no interest in adding to that system (or, potentially, -writing their own -- see dictionary entry for 'hubris') should skip the -current section. The older system based on the compctl builtin command -is described in *note Completion Using compctl::. - -Completion widgets are defined by the -C option to the zle builtin -command provided by the zsh/zle module (see *note The zsh/zle Module::). -For example, - - zle -C complete expand-or-complete completer - -defines a widget named 'complete'. The second argument is the name of -any of the builtin widgets that handle completions: complete-word, -expand-or-complete, expand-or-complete-prefix, menu-complete, -menu-expand-or-complete, reverse-menu-complete, list-choices, or -delete-char-or-list. Note that this will still work even if the widget -in question has been re-bound. - -When this newly defined widget is bound to a key using the bindkey -builtin command defined in the zsh/zle module (*note Zsh Line Editor::), -typing that key will call the shell function 'completer'. This function -is responsible for generating completion matches using the builtins -described below. As with other ZLE widgets, the function is called with -its standard input closed. - -Once the function returns, the completion code takes over control again -and treats the matches in the same manner as the specified builtin -widget, in this case expand-or-complete. - -* Menu: - -* Completion Special Parameters:: -* Completion Builtin Commands:: -* Completion Condition Codes:: -* Completion Matching Control:: -* Completion Widget Example:: - - -File: zsh.info, Node: Completion Special Parameters, Next: Completion Builtin Commands, Up: Completion Widgets - -19.2 Completion Special Parameters -================================== - -The parameters ZLE_REMOVE_SUFFIX_CHARS and ZLE_SPACE_SUFFIX_CHARS are -used by the completion mechanism, but are not special. See *note -Parameters Used By The Shell::. - -Inside completion widgets, and any functions called from them, some -parameters have special meaning; outside these functions they are not -special to the shell in any way. These parameters are used to pass -information between the completion code and the completion widget. Some -of the builtin commands and the condition codes use or change the -current values of these parameters. Any existing values will be hidden -during execution of completion widgets; except for compstate, the -parameters are reset on each function exit (including nested function -calls from within the completion widget) to the values they had when the -function was entered. - -CURRENT - This is the number of the current word, i.e. the word the cursor - is currently on in the words array. Note that this value is only - correct if the ksharrays option is not set. - -IPREFIX - Initially this will be set to the empty string. This parameter - functions like PREFIX; it contains a string which precedes the one - in PREFIX and is not considered part of the list of matches. - Typically, a string is transferred from the beginning of PREFIX to - the end of IPREFIX, for example: - - IPREFIX=${PREFIX%%\=*}= - PREFIX=${PREFIX#*=} - - causes the part of the prefix up to and including the first equal - sign not to be treated as part of a matched string. This can be - done automatically by the compset builtin, see below. - -ISUFFIX - As IPREFIX, but for a suffix that should not be considered part of - the matches; note that the ISUFFIX string follows the SUFFIX - string. - -PREFIX - Initially this will be set to the part of the current word from the - beginning of the word up to the position of the cursor; it may be - altered to give a common prefix for all matches. - -QIPREFIX - This parameter is read-only and contains the quoted string up to - the word being completed. E.g. when completing '"foo', this - parameter contains the double quote. If the -q option of compset - is used (see below), and the original string was '"foo bar' with - the cursor on the 'bar', this parameter contains '"foo '. - -QISUFFIX - Like QIPREFIX, but containing the suffix. - -SUFFIX - Initially this will be set to the part of the current word from the - cursor position to the end; it may be altered to give a common - suffix for all matches. It is most useful when the option - COMPLETE_IN_WORD is set, as otherwise the whole word on the command - line is treated as a prefix. - -compstate - This is an associative array with various keys and values that the - completion code uses to exchange information with the completion - widget. The keys are: - - all_quotes - The -q option of the compset builtin command (see below) - allows a quoted string to be broken into separate words; if - the cursor is on one of those words, that word will be - completed, possibly invoking 'compset -q' recursively. With - this key it is possible to test the types of quoted strings - which are currently broken into parts in this fashion. Its - value contains one character for each quoting level. The - characters are a single quote or a double quote for strings - quoted with these characters, a dollars sign for strings - quoted with $'...' and a backslash for strings not starting - with a quote character. The first character in the value - always corresponds to the innermost quoting level. - - context - This will be set by the completion code to the overall context - in which completion is attempted. Possible values are: - - array_value - when completing inside the value of an array parameter - assignment; in this case the words array contains the - words inside the parentheses. - - brace_parameter - when completing the name of a parameter in a parameter - expansion beginning with ${. This context will also be - set when completing parameter flags following ${(; the - full command line argument is presented and the handler - must test the value to be completed to ascertain that - this is the case. - - assign_parameter - when completing the name of a parameter in a parameter - assignment. - - command - when completing for a normal command (either in command - position or for an argument of the command). - - condition - when completing inside a '[[...]]' conditional - expression; in this case the words array contains only - the words inside the conditional expression. - - math - when completing in a mathematical environment such as a - '((...))' construct. - - parameter - when completing the name of a parameter in a parameter - expansion beginning with $ but not ${. - - redirect - when completing after a redirection operator. - - subscript - when completing inside a parameter subscript. - - value - when completing the value of a parameter assignment. - - exact - Controls the behaviour when the REC_EXACT option is set. It - will be set to accept if an exact match would be accepted, and - will be unset otherwise. - - If it was set when at least one match equal to the string on - the line was generated, the match is accepted. - - exact_string - The string of an exact match if one was found, otherwise - unset. - - ignored - The number of completions that were ignored because they - matched one of the patterns given with the -F option to the - compadd builtin command. - - insert - This controls the manner in which a match is inserted into the - command line. On entry to the widget function, if it is unset - the command line is not to be changed; if set to unambiguous, - any prefix common to all matches is to be inserted; if set to - automenu-unambiguous, the common prefix is to be inserted and - the next invocation of the completion code may start menu - completion (due to the AUTO_MENU option being set); if set to - menu or automenu menu completion will be started for the - matches currently generated (in the latter case this will - happen because the AUTO_MENU is set). The value may also - contain the string 'tab' when the completion code would - normally not really do completion, but only insert the TAB - character. - - On exit it may be set to any of the values above (where - setting it to the empty string is the same as unsetting it), - or to a number, in which case the match whose number is given - will be inserted into the command line. Negative numbers - count backward from the last match (with '-1' selecting the - last match) and out-of-range values are wrapped around, so - that a value of zero selects the last match and a value one - more than the maximum selects the first. Unless the value of - this key ends in a space, the match is inserted as in a menu - completion, i.e. without automatically appending a space. - - Both menu and automenu may also specify the number of the - match to insert, given after a colon. For example, 'menu:2' - says to start menu completion, beginning with the second - match. - - Note that a value containing the substring 'tab' makes the - matches generated be ignored and only the TAB be inserted. - - Finally, it may also be set to all, which makes all matches - generated be inserted into the line. - - insert_positions - When the completion system inserts an unambiguous string into - the line, there may be multiple places where characters are - missing or where the character inserted differs from at least - one match. The value of this key contains a colon separated - list of all these positions, as indexes into the command line. - - last_prompt - If this is set to a non-empty string for every match added, - the completion code will move the cursor back to the previous - prompt after the list of completions has been displayed. - Initially this is set or unset according to the - ALWAYS_LAST_PROMPT option. - - list - This controls whether or how the list of matches will be - displayed. If it is unset or empty they will never be listed; - if its value begins with list, they will always be listed; if - it begins with autolist or ambiguous, they will be listed when - the AUTO_LIST or LIST_AMBIGUOUS options respectively would - normally cause them to be. - - If the substring force appears in the value, this makes the - list be shown even if there is only one match. Normally, the - list would be shown only if there are at least two matches. - - The value contains the substring packed if the LIST_PACKED - option is set. If this substring is given for all matches - added to a group, this group will show the LIST_PACKED - behavior. The same is done for the LIST_ROWS_FIRST option - with the substring rows. - - Finally, if the value contains the string explanations, only - the explanation strings, if any, will be listed and if it - contains messages, only the messages (added with the -x option - of compadd) will be listed. If it contains both explanations - and messages both kinds of explanation strings will be listed. - It will be set appropriately on entry to a completion widget - and may be changed there. - - list_lines - This gives the number of lines that are needed to display the - full list of completions. Note that to calculate the total - number of lines to display you need to add the number of lines - needed for the command line to this value, this is available - as the value of the BUFFERLINES special parameter. - - list_max - Initially this is set to the value of the LISTMAX parameter. - It may be set to any other value; when the widget exits this - value will be used in the same way as the value of LISTMAX. - - nmatches - The number of matches added by the completion code so far. - - old_insert - On entry to the widget this will be set to the number of the - match of an old list of completions that is currently inserted - into the command line. If no match has been inserted, this is - unset. - - As with old_list, the value of this key will only be used if - it is the string keep. If it was set to this value by the - widget and there was an old match inserted into the command - line, this match will be kept and if the value of the insert - key specifies that another match should be inserted, this will - be inserted after the old one. - - old_list - This is set to yes if there is still a valid list of - completions from a previous completion at the time the widget - is invoked. This will usually be the case if and only if the - previous editing operation was a completion widget or one of - the builtin completion functions. If there is a valid list - and it is also currently shown on the screen, the value of - this key is shown. - - After the widget has exited the value of this key is only used - if it was set to keep. In this case the completion code will - continue to use this old list. If the widget generated new - matches, they will not be used. - - parameter - The name of the parameter when completing in a subscript or in - the value of a parameter assignment. - - pattern_insert - Normally this is set to menu, which specifies that menu - completion will be used whenever a set of matches was - generated using pattern_match (see below). If it is set to - any other non-empty string by the user and menu completion is - not selected by other option settings, the code will instead - insert any common prefix for the generated matches as with - normal completion. - - pattern_match - Locally controls the behaviour given by the GLOB_COMPLETE - option. Initially it is set to '*' if and only if the option - is set. The completion widget may set it to this value, to an - empty string (which has the same effect as unsetting it), or - to any other non-empty string. If it is non-empty, unquoted - metacharacters on the command line will be treated as - patterns; if it is '*', then additionally a wildcard '*' is - assumed at the cursor position; if it is empty or unset, - metacharacters will be treated literally. - - Note that the match specifications given to the compadd - builtin command are not used if this is set to a non-empty - string. - - quote - When completing inside quotes, this contains the quotation - character (i.e. either a single quote, a double quote, or a - backtick). Otherwise it is unset. - - quoting - When completing inside single quotes, this is set to the - string single; inside double quotes, the string double; inside - backticks, the string backtick. Otherwise it is unset. - - redirect - The redirection operator when completing in a redirection - position, i.e. one of <, >, etc. - - restore - This is set to auto before a function is entered, which forces - the special parameters mentioned above (words, CURRENT, - PREFIX, IPREFIX, SUFFIX, and ISUFFIX) to be restored to their - previous values when the function exits. If a function unsets - it or sets it to any other string, they will not be restored. - - to_end - Specifies the occasions on which the cursor is moved to the - end of a string when a match is inserted. On entry to a - widget function, it may be single if this will happen when a - single unambiguous match was inserted or match if it will - happen any time a match is inserted (for example, by menu - completion; this is likely to be the effect of the - ALWAYS_TO_END option). - - On exit, it may be set to single as above. It may also be set - to always, or to the empty string or unset; in those cases the - cursor will be moved to the end of the string always or never - respectively. Any other string is treated as match. - - unambiguous - This key is read-only and will always be set to the common - (unambiguous) prefix the completion code has generated for all - matches added so far. - - unambiguous_cursor - This gives the position the cursor would be placed at if the - common prefix in the unambiguous key were inserted, relative - to the value of that key. The cursor would be placed before - the character whose index is given by this key. - - unambiguous_positions - This contains all positions where characters in the - unambiguous string are missing or where the character inserted - differs from at least one of the matches. The positions are - given as indexes into the string given by the value of the - unambiguous key. - - vared - If completion is called while editing a line using the vared - builtin, the value of this key is set to the name of the - parameter given as an argument to vared. This key is only set - while a vared command is active. - -words - This array contains the words present on the command line currently - being edited. - - -File: zsh.info, Node: Completion Builtin Commands, Next: Completion Condition Codes, Prev: Completion Special Parameters, Up: Completion Widgets - -19.3 Completion Builtin Commands -================================ - -compadd [ -akqQfenUl12C ] [ -F ARRAY ] - [-P PREFIX ] [ -S SUFFIX ] - [-p HIDDEN-PREFIX ] [ -s HIDDEN-SUFFIX ] - [-i IGNORED-PREFIX ] [ -I IGNORED-SUFFIX ] - [-W FILE-PREFIX ] [ -d ARRAY ] - [-J GROUP-NAME ] [ -X EXPLANATION ] [ -x MESSAGE ] - [-V GROUP-NAME ] [ -o [ ORDER ] ] - [-r REMOVE-CHARS ] [ -R REMOVE-FUNC ] - [-D ARRAY ] [ -O ARRAY ] [ -A ARRAY ] - [-E NUMBER ] - [-M MATCH-SPEC ] [ -- ] [ COMPLETIONS ... ] - - This builtin command can be used to add matches directly and - control all the information the completion code stores with each - possible completion. The return status is zero if at least one - match was added and non-zero if no matches were added. - - The completion code breaks each match into seven fields in the - order: - - <IPRE><APRE><HPRE><BODY><HSUF><ASUF><ISUF> - - The first field is an ignored prefix taken from the command line, - the contents of the IPREFIX parameter plus the string given with - the -i option. With the -U option, only the string from the -i - option is used. The field <APRE> is an optional prefix string - given with the -P option. The <HPRE> field is a string that is - considered part of the match but that should not be shown when - listing completions, given with the -p option; for example, - functions that do filename generation might specify a common path - prefix this way. <BODY> is the part of the match that should - appear in the list of matches shown to the user. The suffixes - <HSUF>, <ASUF> and <ISUF> correspond to the prefixes <HPRE>, <APRE> - and <IPRE> and are given by the options -s, -S and -I, - respectively. - - The supported flags are: - - -P PREFIX - This gives a string to be inserted before each match. The - string given is not considered as part of the match and any - shell metacharacters in it will not be quoted when the string - is inserted. - - -S SUFFIX - Like -P, but gives a string to be inserted after each match. - - -p HIDDEN-PREFIX - This gives a string that should be inserted before each match - but that should not appear in the list of matches. Unless the - -U option is given, this string must be matched as part of the - string on the command line. - - -s HIDDEN-SUFFIX - Like '-p', but gives a string to insert after each match. - - -i IGNORED-PREFIX - This gives a string to insert just before any string given - with the '-P' option. Without '-P' the string is inserted - before the string given with '-p' or directly before each - match. - - -I IGNORED-SUFFIX - Like -i, but gives an ignored suffix. - - -a - With this flag the COMPLETIONS are taken as names of arrays - and the actual completions are their values. If only some - elements of the arrays are needed, the COMPLETIONS may also - contain subscripts, as in 'foo[2,-1]'. - - -k - With this flag the COMPLETIONS are taken as names of - associative arrays and the actual completions are their keys. - As for -a, the WORDS may also contain subscripts, as in - 'foo[(R)*bar*]'. - - -d ARRAY - This adds per-completion display strings. The ARRAY should - contain one element per COMPLETION given. The completion code - will then display the first element instead of the first - COMPLETION, and so on. The ARRAY may be given as the name of - an array parameter or directly as a space-separated list of - words in parentheses. - - If there are fewer display strings than COMPLETIONS, the - leftover COMPLETIONS will be displayed unchanged and if there - are more display strings than COMPLETIONS, the leftover - display strings will be silently ignored. - - -l - This option only has an effect if used together with the -d - option. If it is given, the display strings are listed one - per line, not arrayed in columns. - - -o [ ORDER ] - This controls the order in which matches are sorted. ORDER is - a comma-separated list comprising the following possible - values. These values can be abbreviated to their initial two - or three characters. Note that the order forms part of the - group name space so matches with different orderings will not - be in the same group. - - match - If given, the order of the output is determined by the - match strings; otherwise it is determined by the display - strings (i.e. the strings given by the -d option). This - is the default if '-o' is specified but the ORDER - argument is omitted. - - nosort - This specifies that the COMPLETIONS are pre-sorted and - their order should be preserved. This value only makes - sense alone and cannot be combined with any others. - - numeric - If the matches include numbers, sort them numerically - rather than lexicographically. - - reverse - Arrange the matches backwards by reversing the sort - ordering. - - -J GROUP-NAME - Gives the name of the group that the matches should be stored - in. - - -V GROUP-NAME - Like -J but naming an unsorted group. This option is - identical to the combination of -J and -o nosort. - - -1 - If given together with the -V option, makes only consecutive - duplicates in the group be removed. If combined with the -J - option, this has no visible effect. Note that groups with and - without this flag are in different name spaces. - - -2 - If given together with the -J or -V option, makes all - duplicates be kept. Again, groups with and without this flag - are in different name spaces. - - -X EXPLANATION - The EXPLANATION string will be printed with the list of - matches, above the group currently selected. - - Within the EXPLANATION, the following sequences may be used to - specify output attributes (see *note Prompt Expansion::): - '%B', '%S', '%U', '%F', '%K' and their lower case - counterparts, as well as '%{...%}'. '%F', '%K' and '%{...%}' - take arguments in the same form as prompt expansion. (Note - that the sequence '%G' is not available; an argument to '%{' - should be used instead.) The sequence '%%' produces a literal - '%'. - - These sequences are most often employed by users when - customising the format style (see *note Completion System::), - but they must also be taken into account when writing - completion functions, as passing descriptions with unescaped - '%' characters to utility functions such as _arguments and - _message may produce unexpected results. If arbitrary text is - to be passed in a description, it can be escaped using e.g. - ${my_str//\%/%%}. - - -x MESSAGE - Like -X, but the MESSAGE will be printed even if there are no - matches in the group. - - -q - The suffix given with -S will be automatically removed if the - next character typed is a blank or does not insert anything, - or if the suffix consists of only one character and the next - character typed is the same character. - - -r REMOVE-CHARS - This is a more versatile form of the -q option. The suffix - given with -S or the slash automatically added after - completing directories will be automatically removed if the - next character typed inserts one of the characters given in - the REMOVE-CHARS. This string is parsed as a characters class - and understands the backslash sequences used by the print - command. For example, '-r "a-z\t"' removes the suffix if the - next character typed inserts a lower case character or a TAB, - and '-r "^0-9"' removes the suffix if the next character typed - inserts anything but a digit. One extra backslash sequence is - understood in this string: '\-' stands for all characters that - insert nothing. Thus '-S "=" -q' is the same as '-S "=" -r "= - \t\n\-"'. - - This option may also be used without the -S option; then any - automatically added space will be removed when one of the - characters in the list is typed. - - -R REMOVE-FUNC - This is another form of the -r option. When a match has been - accepted and a suffix has been inserted, the function - REMOVE-FUNC will be called after the next character typed. It - is passed the length of the suffix as an argument and can use - the special parameters available in ordinary (non-completion) - zle widgets (see *note Zsh Line Editor::) to analyse and - modify the command line. - - -f - If this flag is given, all of the matches built from the - COMPLETIONS are marked as being the names of files. They are - not required to be actual filenames, but if they are, and the - option LIST_TYPES is set, the characters describing the types - of the files in the completion lists will be shown. This also - forces a slash to be added when the name of a directory is - completed. - - -e - This flag can be used to tell the completion code that the - matches added are parameter names for a parameter expansion. - This will make the AUTO_PARAM_SLASH and AUTO_PARAM_KEYS - options be used for the matches. - - -W FILE-PREFIX - This string is a pathname that will be prepended to each match - together with any prefix specified by the -p option to form a - complete filename for testing. Hence it is only useful if - combined with the -f flag, as the tests will not otherwise be - performed. - - -F ARRAY - Specifies an array containing patterns. COMPLETIONS that - match one of these patterns are ignored, that is, not - considered to be matches. - - The ARRAY may be the name of an array parameter or a list of - literal patterns enclosed in parentheses and quoted, as in '-F - "(*?.o *?.h)"'. If the name of an array is given, the - elements of the array are taken as the patterns. - - -Q - This flag instructs the completion code not to quote any - metacharacters in the matches when inserting them into the - command line. - - -M MATCH-SPEC - This gives local match specifications as described below in - *note Completion Matching Control::. This option may be given - more than once. In this case all MATCH-SPECs given are - concatenated with spaces between them to form the - specification string to use. Note that they will only be used - if the -U option is not given. - - -n - Specifies that matching COMPLETIONS are to be added to the set - of matches, but are not to be listed to the user. - - -U - If this flag is given, all COMPLETIONS are added to the set of - matches and no matching will be done by the completion code. - Normally this is used in functions that do the matching - themselves. - - -O ARRAY - If this option is given, the COMPLETIONS are _not_ added to - the set of matches. Instead, matching is done as usual and - all of the COMPLETIONS that match will be stored in the array - parameter whose name is given as ARRAY. - - -A ARRAY - As the -O option, except that instead of those of the - COMPLETIONS which match being stored in ARRAY, the strings - generated internally by the completion code are stored. For - example, with a match specification of '-M "L:|no="', a - current word of 'nof' and COMPLETIONS of 'foo', this option - stores the string 'nofoo' in the array, whereas the -O option - stores the 'foo' originally given. - - -D ARRAY - As with -O, the COMPLETIONS are not added to the set of - matches. Instead, whenever the Nth COMPLETION does not match, - the Nth element of the ARRAY is removed. Elements for which - the corresponding COMPLETION matches are retained. This - option can be used more than once to remove elements from - multiple arrays. - - -C - This option adds a special match which expands to all other - matches when inserted into the line, even those that are added - after this option is used. Together with the -d option it is - possible to specify a string that should be displayed in the - list for this special match. If no string is given, it will - be shown as a string containing the strings that would be - inserted for the other matches, truncated to the width of the - screen. - - -E NUMBER - This option adds NUMBER empty matches after matching - COMPLETIONS have been added. An empty match takes up space in - completion listings but will never be inserted in the line and - can't be selected with menu completion or menu selection. - This makes empty matches only useful to format completion - lists and to make explanatory string be shown in completion - lists (since empty matches can be given display strings with - the -d option). And because all but one empty string would - otherwise be removed, this option implies the -V and -2 - options (even if an explicit -J option is given). This can be - important to note as it affects the name space into which - matches are added. - - - - -- - This flag ends the list of flags and options. All arguments - after it will be taken as the COMPLETIONS even if they begin - with hyphens. - - Except for the -M flag, if any of these flags is given more than - once, the first one (and its argument) will be used. - -compset -p NUMBER -compset -P [ NUMBER ] PATTERN -compset -s NUMBER -compset -S [ NUMBER ] PATTERN -compset -n BEGIN [ END ] -compset -N BEG-PAT [ END-PAT ] -compset -q - This command simplifies modification of the special parameters, - while its return status allows tests on them to be carried out. - - The options are: - - -p NUMBER - If the value of the PREFIX parameter is at least NUMBER - characters long, the first NUMBER characters are removed from - it and appended to the contents of the IPREFIX parameter. - - -P [ NUMBER ] PATTERN - If the value of the PREFIX parameter begins with anything that - matches the PATTERN, the matched portion is removed from - PREFIX and appended to IPREFIX. - - Without the optional NUMBER, the longest match is taken, but - if NUMBER is given, anything up to the NUMBERth match is - moved. If the NUMBER is negative, the NUMBERth longest match - is moved. For example, if PREFIX contains the string 'a=b=c', - then compset -P '*\=' will move the string 'a=b=' into the - IPREFIX parameter, but compset -P 1 '*\=' will move only the - string 'a='. - - -s NUMBER - As -p, but transfer the last NUMBER characters from the value - of SUFFIX to the front of the value of ISUFFIX. - - -S [ NUMBER ] PATTERN - As -P, but match the last portion of SUFFIX and transfer the - matched portion to the front of the value of ISUFFIX. - - -n BEGIN [ END ] - If the current word position as specified by the parameter - CURRENT is greater than or equal to BEGIN, anything up to the - BEGINth word is removed from the words array and the value of - the parameter CURRENT is decremented by BEGIN. - - If the optional END is given, the modification is done only if - the current word position is also less than or equal to END. - In this case, the words from position END onwards are also - removed from the words array. - - Both BEGIN and END may be negative to count backwards from the - last element of the words array. - - -N BEG-PAT [ END-PAT ] - If one of the elements of the words array before the one at - the index given by the value of the parameter CURRENT matches - the pattern BEG-PAT, all elements up to and including the - matching one are removed from the words array and the value of - CURRENT is changed to point to the same word in the changed - array. - - If the optional pattern END-PAT is also given, and there is an - element in the words array matching this pattern, the - parameters are modified only if the index of this word is - higher than the one given by the CURRENT parameter (so that - the matching word has to be after the cursor). In this case, - the words starting with the one matching end-pat are also - removed from the words array. If words contains no word - matching END-PAT, the testing and modification is performed as - if it were not given. - - -q - The word currently being completed is split on spaces into - separate words, respecting the usual shell quoting - conventions. The resulting words are stored in the words - array, and CURRENT, PREFIX, SUFFIX, QIPREFIX, and QISUFFIX are - modified to reflect the word part that is completed. - - In all the above cases the return status is zero if the test - succeeded and the parameters were modified and non-zero otherwise. - This allows one to use this builtin in tests such as: - - if compset -P '*\='; then ... - - This forces anything up to and including the last equal sign to be - ignored by the completion code. - -compcall [ -TD ] - This allows the use of completions defined with the compctl builtin - from within completion widgets. The list of matches will be - generated as if one of the non-widget completion functions - (complete-word, etc.) had been called, except that only compctls - given for specific commands are used. To force the code to try - completions defined with the -T option of compctl and/or the - default completion (whether defined by compctl -D or the builtin - default) in the appropriate places, the -T and/or -D flags can be - passed to compcall. - - The return status can be used to test if a matching compctl - definition was found. It is non-zero if a compctl was found and - zero otherwise. - - Note that this builtin is defined by the zsh/compctl module. - - -File: zsh.info, Node: Completion Condition Codes, Next: Completion Matching Control, Prev: Completion Builtin Commands, Up: Completion Widgets - -19.4 Completion Condition Codes -=============================== - -The following additional condition codes for use within the [[ ... ]] -construct are available in completion widgets. These work on the -special parameters. All of these tests can also be performed by the -compset builtin, but in the case of the condition codes the contents of -the special parameters are not modified. - --prefix [ NUMBER ] PATTERN - true if the test for the -P option of compset would succeed. - --suffix [ NUMBER ] PATTERN - true if the test for the -S option of compset would succeed. - --after BEG-PAT - true if the test of the -N option with only the BEG-PAT given would - succeed. - --between BEG-PAT END-PAT - true if the test for the -N option with both patterns would - succeed. - - -File: zsh.info, Node: Completion Matching Control, Next: Completion Widget Example, Prev: Completion Condition Codes, Up: Completion Widgets - -19.5 Completion Matching Control -================================ - -When the user invokes completion, the current _word_ on the command line -(that is, the word the cursor is currently on) is used to generate a -_match pattern_. Only those _completions_ that match the pattern are -offered to the user as _matches_. - -The default match pattern is generated from the current word by either - - • appending a '*' (matching any number of characters in a completion) - _or,_ - • if the shell option COMPLETE_IN_WORD is set, inserting a '*' at the - cursor position. - -This narrow pattern can be broadened selectively by passing a _match -specification_ to the compadd builtin command through its -M option (see -*note Completion Builtin Commands::). A match specification consists of -one or more MATCHERS separated by whitespace. Matchers in a match -specification are applied one at a time, from left to right. Once all -matchers have been applied, completions are compared to the final match -pattern and non-matching ones are discarded. - - • Note that the -M option is ignored if the current word contains a - glob pattern and the shell option GLOB_COMPLETE is set or if the - pattern_match key of the special associative array compstate is set - to a non-empty value (see *note Completion Special Parameters::). - • Users of the *note Completion System:: should generally not use the - -M option directly, but rather use the matcher-list and matcher - styles (see the subsection _Standard Styles_ in *note Completion - System Configuration::). - -Each matcher consists of - - • a case-sensitive letter - • a ':', - • one or more patterns separated by pipes ('|'), - • an equals sign ('='), and - • another pattern. - -The patterns before the '=' are used to match substrings of the current -word. For each matched substring, the corresponding part of the match -pattern is broadened with the pattern after the '=', by means of a -logical OR. - -Each pattern in a matcher cosists of either - - • the empty string or - • a sequence of - - • literal characters (which may be quoted with a '\'), - • question marks ('?'), - • bracket expressions ('[...]'; see the subsection _Glob - Operators_ in *note Filename Generation::), and/or - • brace expressions (see below). - -Other shell patterns are not allowed. - -A brace expression, like a bracket expression, consists of a list of - - • literal characters, - • ranges ('0-9'), and/or - • character classes ('[:NAME:]'). - -However, they differ from each other as follows: - - • A brace expression is delimited by a pair of braces ('{...}'). - • Brace expressions do not support negations. That is, an initial - '!' or '^' has no special meaning and will be interpreted as a - literal character. - • When a character in the current word matches the Nth pattern in a - brace expression, the corresponding part of the match pattern is - broadened only with the Nth pattern of the brace expression on the - other side of the '=', if there is one; if there is no brace - expression on the other side, then this pattern is the empty - string. However, if either brace expression has more elements than - the other, then the excess entries are simply ignored. When - comparing indexes, each literal character or character class counts - as one element, but each range is instead expanded to the full list - of literal characters it represents. Additionally, if on _both_ - sides of the '=', the Nth pattern is '[:upper:]' or '[:lower:]', - then these are expanded as ranges, too. - -Note that, although the matching system does not yet handle multibyte -characters, this is likely to be a future extension. Hence, using -'[:upper:]' and '[:lower:]' is recommended over 'A-Z' and 'a-z'. - -Below are the different forms of matchers supported. Each _uppercase_ -form behaves exactly like its lowercase counterpart, but adds an -additional step _after_ the match pattern has filtered out non-matching -completions: Each of a match's substrings that was matched by a -subpattern from an uppercase matcher is replaced with the corresponding -substring of the current word. However, patterns from _lowercase_ -matchers have higher weight: If a substring of the current word was -matched by patterns from both a lowercase and an uppercase matcher, then -the lowercase matcher's pattern wins and the corresponding part of the -match is not modified. - -Unless indicated otherwise, each example listed assumes COMPLETE_IN_WORD -to be unset (as it is by default). - -m:WORD-PAT=MATCH-PAT -M:WORD-PAT=MATCH-PAT - - For each substring of the current word that matches WORD-PAT, - broaden the corresponding part of the match pattern to additionally - match MATCH-PAT. - - Examples: - - m:{[:lower:]}={[:upper:]} lets any lower case character in the - current word be completed to itself or its uppercase - counterpart. So, the completions 'foo', 'FOO' and 'Foo' will - are be considered matches for the word 'fo'. - - M:_= inserts every underscore from the current word into each - match, in the same relative position, determined by matching - the substrings around it. So, given a completion 'foo', the - word 'f_o' will be completed to the match 'f_oo', even though - the latter was not present as a completion. - -b:WORD-PAT=MATCH-PAT -B:WORD-PAT=MATCH-PAT -e:WORD-PAT=MATCH-PAT -E:WORD-PAT=MATCH-PAT - - For each consecutive substring at the b:eginning or e:nd of the - current word that matches WORD-PAT, broaden the corresponding part - of the match pattern to additionally match MATCH-PAT. - - Examples: - - 'b:-=+' lets any number of minuses at the start of the current - word be completed to a minus or a plus. - - 'B:0=' adds all zeroes at the beginning of the current word to - the beginning of each match. - -l:|WORD-PAT=MATCH-PAT -L:|WORD-PAT=MATCH-PAT -R:WORD-PAT|=MATCH-PAT -r:WORD-PAT|=MATCH-PAT - - If there is a substring at the l:eft or r:ight edge of the current - word that matches WORD-PAT, then broaden the corresponding part of - the match pattern to additionally match MATCH-PAT. - - For each l:, L:, r: and R: matcher (including the ones below), the - pattern MATCH-PAT may also be a '*'. This matches any number of - characters in a completion. - - Examples: - - 'r:|=*' appends a '*' to the match pattern, even when - COMPLETE_IN_WORD is set and the cursor is not at the end of - the current word. - - If the current word starts with a minus, then 'L:|-=' will - prepend it to each match. - -l:ANCHOR|WORD-PAT=MATCH-PAT -L:ANCHOR|WORD-PAT=MATCH-PAT -r:WORD-PAT|ANCHOR=MATCH-PAT -R:WORD-PAT|ANCHOR=MATCH-PAT - - For each substring of the current word that matches WORD-PAT and - has on its l:eft or r:ight another substring matching ANCHOR, - broaden the corresponding part of the match pattern to additionally - match MATCH-PAT. - - Note that these matchers (and the ones below) modify only what is - matched by WORD-PAT; they do not change the matching behavior of - what is matched by ANCHOR (or COANCHOR; see the matchers below). - Thus, unless its corresponding part of the match pattern has been - modified, the anchor in the current word has to match literally in - each completion, just like any other substring of the current word. - - If a matcher includes at least one anchor (which includes the - matchers with two anchors, below), then MATCH-PAT may also be '*' - or '**'. '*' can match any part of a completion that does not - contain any substrings matching ANCHOR, whereas a '**' can match - any part of a completion, period. (Note that this is different - from the behavior of '*' in the anchorless forms of 'l:' and 'r:' - and and also different from '*' and '**' in glob expressions.) - - Examples: - - 'r:|.=*' makes the completion 'comp.sources.unix' a match for - the word '..u' -- but _not_ for the word '.u'. - - Given a completion '--foo', the matcher 'L:--|no-=' will - complete the word '--no-' to the match '--no-foo'. - -l:ANCHOR||COANCHOR=MATCH-PAT -L:ANCHOR||COANCHOR=MATCH-PAT -r:COANCHOR||ANCHOR=MATCH-PAT -R:COANCHOR||ANCHOR=MATCH-PAT - - For any two consecutive substrings of the current word that match - ANCHOR and COANCHOR, in the order given, insert the pattern - MATCH-PAT between their corresponding parts in the match pattern. - - Note that, unlike ANCHOR, the pattern COANCHOR does not change what - '*' can match. - - Examples: - - 'r:?||[[:upper:]]=*' will complete the current word 'fB' to - 'fooBar', but it will not complete it to 'fooHooBar' (because - '*' here cannot match anything that includes a match for - '[[:upper:]]), nor will it complete 'B' to 'fooBar' (because - there is no character in the current word to match COANCHOR). - - Given the current word 'pass.n' and a completion - 'pass.byname', the matcher 'L:.||[[:alpha:]]=by' will produce - the match 'pass.name'. - -x: - - Ignore this matcher and all matchers to its right. - - This matcher is used to mark the end of a match specification. In - a single standalone list of matchers, this has no use, but where - match specifications are concatenated, as is often the case when - using the *note Completion System::, it can allow one match - specification to override another. - - -File: zsh.info, Node: Completion Widget Example, Prev: Completion Matching Control, Up: Completion Widgets - -19.6 Completion Widget Example -============================== - -The first step is to define the widget: - - zle -C complete complete-word complete-files - -Then the widget can be bound to a key using the bindkey builtin command: - - bindkey '^X\t' complete - -After that the shell function complete-files will be invoked after -typing control-X and TAB. The function should then generate the matches, -e.g.: - - complete-files () { compadd - * } - -This function will complete files in the current directory matching the -current word. - - -File: zsh.info, Node: Completion System, Next: Completion Using compctl, Prev: Completion Widgets, Up: Top - -20 Completion System -******************** - -20.1 Description -================ - -This describes the shell code for the 'new' completion system, referred -to as compsys. It is written in shell functions based on the features -described in the previous chapter, *note Completion Widgets::. - -The features are contextual, sensitive to the point at which completion -is started. Many completions are already provided. For this reason, a -user can perform a great many tasks without knowing any details beyond -how to initialize the system, which is described in *note -Initialization::. - -The context that decides what completion is to be performed may be - - • an argument or option position: these describe the position on the - command line at which completion is requested. For example 'first - argument to rmdir, the word being completed names a directory'; - - • a special context, denoting an element in the shell's syntax. For - example 'a word in command position' or 'an array subscript'. - -A full context specification contains other elements, as we shall -describe. - -Besides commands names and contexts, the system employs two more -concepts, _styles_ and _tags_. These provide ways for the user to -configure the system's behaviour. - -Tags play a dual role. They serve as a classification system for the -matches, typically indicating a class of object that the user may need -to distinguish. For example, when completing arguments of the ls -command the user may prefer to try files before directories, so both of -these are tags. They also appear as the rightmost element in a context -specification. - -Styles modify various operations of the completion system, such as -output formatting, but also what kinds of completers are used (and in -what order), or which tags are examined. Styles may accept arguments -and are manipulated using the zstyle command described in *note The -zsh/zutil Module::. - -In summary, tags describe _what_ the completion objects are, and style -how they are to be completed. At various points of execution, the -completion system checks what styles and/or tags are defined for the -current context, and uses that to modify its behavior. The full -description of context handling, which determines how tags and other -elements of the context influence the behaviour of styles, is described -in *note Completion System Configuration::. - -When a completion is requested, a dispatcher function is called; see the -description of _main_complete in the list of control functions below. -This dispatcher decides which function should be called to produce the -completions, and calls it. The result is passed to one or more -_completers_, functions that implement individual completion strategies: -simple completion, error correction, completion with error correction, -menu selection, etc. - -More generally, the shell functions contained in the completion system -are of two types: - - • those beginning 'comp' are to be called directly; there are only a - few of these; - - • those beginning '_' are called by the completion code. The shell - functions of this set, which implement completion behaviour and may - be bound to keystrokes, are referred to as 'widgets'. These - proliferate as new completions are required. - -* Menu: - -* Initialization:: -* Completion System Configuration:: -* Control Functions:: -* Bindable Commands:: -* Completion Functions:: -* Completion Directories:: -* Completion System Variables:: - - -File: zsh.info, Node: Initialization, Next: Completion System Configuration, Up: Completion System - -20.2 Initialization -=================== - -If the system was installed completely, it should be enough to call the -shell function compinit from your initialization file; see the next -section. However, the function compinstall can be run by a user to -configure various aspects of the completion system. - -Usually, compinstall will insert code into .zshrc, although if that is -not writable it will save it in another file and tell you that file's -location. Note that it is up to you to make sure that the lines added -to .zshrc are actually run; you may, for example, need to move them to -an earlier place in the file if .zshrc usually returns early. So long -as you keep them all together (including the comment lines at the start -and finish), you can rerun compinstall and it will correctly locate and -modify these lines. Note, however, that any code you add to this -section by hand is likely to be lost if you rerun compinstall, although -lines using the command 'zstyle' should be gracefully handled. - -The new code will take effect next time you start the shell, or run -.zshrc by hand; there is also an option to make them take effect -immediately. However, if compinstall has removed definitions, you will -need to restart the shell to see the changes. - -To run compinstall you will need to make sure it is in a directory -mentioned in your fpath parameter, which should already be the case if -zsh was properly configured as long as your startup files do not remove -the appropriate directories from fpath. Then it must be autoloaded -('autoload -U compinstall' is recommended). You can abort the -installation any time you are being prompted for information, and your -.zshrc will not be altered at all; changes only take place right at the -end, where you are specifically asked for confirmation. - -20.2.1 Use of compinit ----------------------- - -This section describes the use of compinit to initialize completion for -the current session when called directly; if you have run compinstall it -will be called automatically from your .zshrc. - -To initialize the system, the function compinit should be in a directory -mentioned in the fpath parameter, and should be autoloaded ('autoload -U -compinit' is recommended), and then run simply as 'compinit'. This will -define a few utility functions, arrange for all the necessary shell -functions to be autoloaded, and will then re-define all widgets that do -completion to use the new system. If you use the menu-select widget, -which is part of the zsh/complist module, you should make sure that that -module is loaded before the call to compinit so that that widget is also -re-defined. If completion styles (see below) are set up to perform -expansion as well as completion by default, and the TAB key is bound to -expand-or-complete, compinit will rebind it to complete-word; this is -necessary to use the correct form of expansion. - -Should you need to use the original completion commands, you can still -bind keys to the old widgets by putting a '.' in front of the widget -name, e.g. '.expand-or-complete'. - -To speed up the running of compinit, it can be made to produce a dumped -configuration that will be read in on future invocations; this is the -default, but can be turned off by calling compinit with the option -D. -The dumped file is .zcompdump in the same directory as the startup files -(i.e. $ZDOTDIR or $HOME); alternatively, an explicit file name can be -given by 'compinit -d DUMPFILE'. The next invocation of compinit will -read the dumped file instead of performing a full initialization. - -If the number of completion files changes, compinit will recognise this -and produce a new dump file. However, if the name of a function or the -arguments in the first line of a #compdef function (as described below) -change, it is easiest to delete the dump file by hand so that compinit -will re-create it the next time it is run. The check performed to see -if there are new functions can be omitted by giving the option -C. In -this case the dump file will only be created if there isn't one already. - -The dumping is actually done by another function, compdump, but you will -only need to run this yourself if you change the configuration (e.g. -using compdef) and then want to dump the new one. The name of the old -dumped file will be remembered for this purpose. - -If the parameter _compdir is set, compinit uses it as a directory where -completion functions can be found; this is only necessary if they are -not already in the function search path. - -For security reasons compinit also checks if the completion system would -use files not owned by root or by the current user, or files in -directories that are world- or group-writable or that are not owned by -root or by the current user. If such files or directories are found, -compinit will ask if the completion system should really be used. To -avoid these tests and make all files found be used without asking, use -the option -u, and to make compinit silently ignore all insecure files -and directories use the option -i. This security check is skipped -entirely when the -C option is given, provided the dumpfile exists. - -The security check can be retried at any time by running the function -compaudit. This is the same check used by compinit, but when it is -executed directly any changes to fpath are made local to the function so -they do not persist. The directories to be checked may be passed as -arguments; if none are given, compaudit uses fpath and _compdir to find -completion system directories, adding missing ones to fpath as -necessary. To force a check of exactly the directories currently named -in fpath, set _compdir to an empty string before calling compaudit or -compinit. - -The function bashcompinit provides compatibility with bash's -programmable completion system. When run it will define the functions, -compgen and complete which correspond to the bash builtins with the same -names. It will then be possible to use completion specifications and -functions written for bash. - -20.2.2 Autoloaded files ------------------------ - -The convention for autoloaded functions used in completion is that they -start with an underscore; as already mentioned, the fpath/FPATH -parameter must contain the directory in which they are stored. If zsh -was properly installed on your system, then fpath/FPATH automatically -contains the required directories for the standard functions. - -For incomplete installations, if compinit does not find enough files -beginning with an underscore (fewer than twenty) in the search path, it -will try to find more by adding the directory _compdir to the search -path. If that directory has a subdirectory named Base, all -subdirectories will be added to the path. Furthermore, if the -subdirectory Base has a subdirectory named Core, compinit will add all -subdirectories of the subdirectories to the path: this allows the -functions to be in the same format as in the zsh source distribution. - -When compinit is run, it searches all such files accessible via -fpath/FPATH and reads the first line of each of them. This line should -contain one of the tags described below. Files whose first line does -not start with one of these tags are not considered to be part of the -completion system and will not be treated specially. - -The tags are: - -#compdef NAME ... [ -{p|P} PATTERN ... [ -N NAME ... ] ] - The file will be made autoloadable and the function defined in it - will be called when completing NAMEs, each of which is either the - name of a command whose arguments are to be completed or one of a - number of special contexts in the form -CONTEXT- described below. - - Each NAME may also be of the form 'CMD=SERVICE'. When completing - the command CMD, the function typically behaves as if the command - (or special context) SERVICE was being completed instead. This - provides a way of altering the behaviour of functions that can - perform many different completions. It is implemented by setting - the parameter $service when calling the function; the function may - choose to interpret this how it wishes, and simpler functions will - probably ignore it. - - If the #compdef line contains one of the options -p or -P, the - words following are taken to be patterns. The function will be - called when completion is attempted for a command or context that - matches one of the patterns. The options -p and -P are used to - specify patterns to be tried before or after other completions - respectively. Hence -P may be used to specify default actions. - - The option -N is used after a list following -p or -P; it specifies - that remaining words no longer define patterns. It is possible to - toggle between the three options as many times as necessary. - -#compdef -k STYLE KEY-SEQUENCE ... - This option creates a widget behaving like the builtin widget STYLE - and binds it to the given KEY-SEQUENCEs, if any. The STYLE must be - one of the builtin widgets that perform completion, namely - complete-word, delete-char-or-list, expand-or-complete, - expand-or-complete-prefix, list-choices, menu-complete, - menu-expand-or-complete, or reverse-menu-complete. If the - zsh/complist module is loaded (see *note The zsh/complist Module::) - the widget menu-select is also available. - - When one of the KEY-SEQUENCEs is typed, the function in the file - will be invoked to generate the matches. Note that a key will not - be re-bound if it already was (that is, was bound to something - other than undefined-key). The widget created has the same name as - the file and can be bound to any other keys using bindkey as usual. - -#compdef -K WIDGET-NAME STYLE KEY-SEQUENCE [ NAME STYLE SEQ ... ] - This is similar to -k except that only one KEY-SEQUENCE argument - may be given for each WIDGET-NAME STYLE pair. However, the entire - set of three arguments may be repeated with a different set of - arguments. Note in particular that the WIDGET-NAME must be - distinct in each set. If it does not begin with '_' this will be - added. The WIDGET-NAME should not clash with the name of any - existing widget: names based on the name of the function are most - useful. For example, - - #compdef -K _foo_complete complete-word "^X^C" \ - _foo_list list-choices "^X^D" - - (all on one line) defines a widget _foo_complete for completion, - bound to '^X^C', and a widget _foo_list for listing, bound to - '^X^D'. - -#autoload [ OPTIONS ] - Functions with the #autoload tag are marked for autoloading but are - not otherwise treated specially. Typically they are to be called - from within one of the completion functions. Any OPTIONS supplied - will be passed to the autoload builtin; a typical use is +X to - force the function to be loaded immediately. Note that the -U and - -z flags are always added implicitly. - -The # is part of the tag name and no white space is allowed after it. -The #compdef tags use the compdef function described below; the main -difference is that the name of the function is supplied implicitly. - -The special contexts for which completion functions can be defined are: - --array-value- - The right hand side of an array-assignment ('NAME=(...)') - --assign-parameter- - The name of a parameter in an assignment, i.e. on the left hand - side of an '=' - --brace-parameter- - The name of a parameter expansion within braces ('${...}') - --command- - A word in command position - --condition- - A word inside a condition ('[[...]]') - --default- - Any word for which no other completion is defined - --equal- - A word beginning with an equals sign - --first- - This is tried before any other completion function. The function - called may set the _compskip parameter to one of various values: - all: no further completion is attempted; a string containing the - substring patterns: no pattern completion functions will be called; - a string containing default: the function for the '-default-' - context will not be called, but functions defined for commands will - be. - --math- - Inside mathematical contexts, such as '((...))' - --parameter- - The name of a parameter expansion ('$...') - --redirect- - The word after a redirection operator. - --subscript- - The contents of a parameter subscript. - --tilde- - After an initial tilde ('~'), but before the first slash in the - word. - --value- - On the right hand side of an assignment. - -Default implementations are supplied for each of these contexts. In -most cases the context -CONTEXT- is implemented by a corresponding -function _CONTEXT, for example the context '-tilde-' and the function -'_tilde'). - -The contexts -redirect- and -value- allow extra context-specific -information. (Internally, this is handled by the functions for each -context calling the function _dispatch.) The extra information is added -separated by commas. - -For the -redirect- context, the extra information is in the form -'-redirect-,OP,COMMAND', where OP is the redirection operator and -COMMAND is the name of the command on the line. If there is no command -on the line yet, the COMMAND field will be empty. - -For the -value- context, the form is '-value-,NAME,COMMAND', where NAME -is the name of the parameter on the left hand side of the assignment. -In the case of elements of an associative array, for example 'assoc=(key -<TAB>', NAME is expanded to 'NAME-KEY'. In certain special contexts, -such as completing after 'make CFLAGS=', the COMMAND part gives the name -of the command, here make; otherwise it is empty. - -It is not necessary to define fully specific completions as the -functions provided will try to generate completions by progressively -replacing the elements with '-default-'. For example, when completing -after 'foo=<TAB>', _value will try the names '-value-,foo,' (note the -empty COMMAND part), '-value-,foo,-default-' -and'-value-,-default-,-default-', in that order, until it finds a -function to handle the context. - -As an example: - - compdef '_files -g "*.log"' '-redirect-,2>,-default-' - -completes files matching '*.log' after '2> <TAB>' for any command with -no more specific handler defined. - -Also: - - compdef _foo -value-,-default-,-default- - -specifies that _foo provides completions for the values of parameters -for which no special function has been defined. This is usually handled -by the function _value itself. - -The same lookup rules are used when looking up styles (as described -below); for example - - zstyle ':completion:*:*:-redirect-,2>,*:*' file-patterns '*.log' - -is another way to make completion after '2> <TAB>' complete files -matching '*.log'. - -20.2.3 Functions ----------------- - -The following function is defined by compinit and may be called -directly. - -compdef [ -ane ] FUNCTION NAME ... [ -{p|P} PATTERN ... [ -N NAME ...]] -compdef -d NAME ... -compdef -k [ -an ] FUNCTION STYLE KEY-SEQUENCE [ KEY-SEQUENCE ... ] -compdef -K [ -an ] FUNCTION NAME STYLE KEY-SEQ [ NAME STYLE SEQ ... ] - The first form defines the FUNCTION to call for completion in the - given contexts as described for the #compdef tag above. - - Alternatively, all the arguments may have the form 'CMD=SERVICE'. - Here SERVICE should already have been defined by 'CMD1=SERVICE' - lines in #compdef files, as described above. The argument for CMD - will be completed in the same way as SERVICE. - - The FUNCTION argument may alternatively be a string containing - almost any shell code. If the string contains an equal sign, the - above will take precedence. The option -e may be used to specify - the first argument is to be evaluated as shell code even if it - contains an equal sign. The string will be executed using the eval - builtin command to generate completions. This provides a way of - avoiding having to define a new completion function. For example, - to complete files ending in '.h' as arguments to the command foo: - - compdef '_files -g "*.h"' foo - - The option -n prevents any completions already defined for the - command or context from being overwritten. - - The option -d deletes any completion defined for the command or - contexts listed. - - The NAMEs may also contain -p, -P and -N options as described for - the #compdef tag. The effect on the argument list is identical, - switching between definitions of patterns tried initially, patterns - tried finally, and normal commands and contexts. - - The parameter $_compskip may be set by any function defined for a - pattern context. If it is set to a value containing the substring - 'patterns' none of the pattern-functions will be called; if it is - set to a value containing the substring 'all', no other function - will be called. Setting $_compskip in this manner is of particular - utility when using the -p option, as otherwise the dispatcher will - move on to additional functions (likely the default one) after - calling the pattern-context one, which can mangle the display of - completion possibilities if not handled properly. - - The form with -k defines a widget with the same name as the - FUNCTION that will be called for each of the KEY-SEQUENCEs; this is - like the #compdef -k tag. The function should generate the - completions needed and will otherwise behave like the builtin - widget whose name is given as the STYLE argument. The widgets - usable for this are: complete-word, delete-char-or-list, - expand-or-complete, expand-or-complete-prefix, list-choices, - menu-complete, menu-expand-or-complete, and reverse-menu-complete, - as well as menu-select if the zsh/complist module is loaded. The - option -n prevents the key being bound if it is already to bound to - something other than undefined-key. - - The form with -K is similar and defines multiple widgets based on - the same FUNCTION, each of which requires the set of three - arguments NAME, STYLE and KEY-SEQuence, where the latter two are as - for -k and the first must be a unique widget name beginning with an - underscore. - - Wherever applicable, the -a option makes the FUNCTION autoloadable, - equivalent to autoload -U FUNCTION. - -The function compdef can be used to associate existing completion -functions with new commands. For example, - - compdef _pids foo - -uses the function _pids to complete process IDs for the command foo. - -Note also the _gnu_generic function described below, which can be used -to complete options for commands that understand the '--help' option. - - -File: zsh.info, Node: Completion System Configuration, Next: Control Functions, Prev: Initialization, Up: Completion System - -20.3 Completion System Configuration -==================================== - -This section gives a short overview of how the completion system works, -and then more detail on how users can configure how and when matches are -generated. - -20.3.1 Overview ---------------- - -When completion is attempted somewhere on the command line the -completion system begins building the context. The context represents -everything that the shell knows about the meaning of the command line -and the significance of the cursor position. This takes account of a -number of things including the command word (such as 'grep' or 'zsh') -and options to which the current word may be an argument (such as the -'-o' option to zsh which takes a shell option as an argument). - -The context starts out very generic ("we are beginning a completion") -and becomes more specific as more is learned ("the current word is in a -position that is usually a command name" or "the current word might be a -variable name" and so on). Therefore the context will vary during the -same call to the completion system. - -This context information is condensed into a string consisting of -multiple fields separated by colons, referred to simply as 'the context' -in the remainder of the documentation. Note that a user of the -completion system rarely needs to compose a context string, unless for -example a new function is being written to perform completion for a new -command. What a user may need to do is compose a _style_ pattern, which -is matched against a context when needed to look up context-sensitive -options that configure the completion system. - -The next few paragraphs explain how a context is composed within the -completion function suite. Following that is discussion of how _styles_ -are defined. Styles determine such things as how the matches are -generated, similarly to shell options but with much more control. They -are defined with the zstyle builtin command (*note The zsh/zutil -Module::). - -The context string always consists of a fixed set of fields, separated -by colons and with a leading colon before the first. Fields which are -not yet known are left empty, but the surrounding colons appear anyway. -The fields are always in the order -:completion:FUNCTION:COMPLETER:COMMAND:ARGUMENT:TAG. These have the -following meaning: - - • The literal string completion, saying that this style is used by - the completion system. This distinguishes the context from those - used by, for example, zle widgets and ZFTP functions. - - • The FUNCTION, if completion is called from a named widget rather - than through the normal completion system. Typically this is - blank, but it is set by special widgets such as predict-on and the - various functions in the Widget directory of the distribution to - the name of that function, often in an abbreviated form. - - • The COMPLETER currently active, the name of the function without - the leading underscore and with other underscores converted to - hyphens. A 'completer' is in overall control of how completion is - to be performed; 'complete' is the simplest, but other completers - exist to perform related tasks such as correction, or to modify the - behaviour of a later completer. See *note Control Functions:: for - more information. - - • The COMMAND or a special -CONTEXT-, just at it appears following - the #compdef tag or the compdef function. Completion functions for - commands that have sub-commands usually modify this field to - contain the name of the command followed by a minus sign and the - sub-command. For example, the completion function for the cvs - command sets this field to cvs-add when completing arguments to the - add subcommand. - - • The ARGUMENT; this indicates which command line or option argument - we are completing. For command arguments this generally takes the - form argument-N, where N is the number of the argument, and for - arguments to options the form option-OPT-N where N is the number of - the argument to option OPT. However, this is only the case if the - command line is parsed with standard UNIX-style options and - arguments, so many completions do not set this. - - • The TAG. As described previously, tags are used to discriminate - between the types of matches a completion function can generate in - a certain context. Any completion function may use any tag name it - likes, but a list of the more common ones is given below. - -The context is gradually put together as the functions are executed, -starting with the main entry point, which adds :completion: and the -FUNCTION element if necessary. The completer then adds the COMPLETER -element. The contextual completion adds the COMMAND and ARGUMENT -options. Finally, the TAG is added when the types of completion are -known. For example, the context name - - :completion::complete:dvips:option-o-1:files - -says that normal completion was attempted as the first argument to the -option -o of the command dvips: - - dvips -o ... - -and the completion function will generate filenames. - -Usually completion will be tried for all possible tags in an order given -by the completion function. However, this can be altered by using the -tag-order style. Completion is then restricted to the list of given -tags in the given order. - -The _complete_help bindable command shows all the contexts and tags -available for completion at a particular point. This provides an easy -way of finding information for tag-order and other styles. It is -described in *note Bindable Commands::. - -When looking up styles the completion system uses full context names, -including the tag. Looking up the value of a style therefore consists -of two things: the context, which is matched to the most specific (best -fitting) pattern, and the name of the style itself, which must be -matched exactly. The following examples demonstrate that patterns may -be loosely defined for styles that apply broadly, or as tightly defined -as desired for styles that apply in narrower circumstances. - -For example, many completion functions can generate matches in a simple -and a verbose form and use the verbose style to decide which form should -be used. To make all such functions use the verbose form, put - - zstyle ':completion:*' verbose yes - -in a startup file (probably .zshrc). This gives the verbose style the -value yes in every context inside the completion system, unless that -context has a more specific definition. It is best to avoid giving the -pattern as '*' in case the style has some meaning outside the completion -system. - -Many such general purpose styles can be configured simply by using the -compinstall function. - -A more specific example of the use of the verbose style is by the -completion for the kill builtin. If the style is set, the builtin lists -full job texts and process command lines; otherwise it shows the bare -job numbers and PIDs. To turn the style off for this use only: - - zstyle ':completion:*:*:kill:*:*' verbose no - -For even more control, the style can use one of the tags 'jobs' or -'processes'. To turn off verbose display only for jobs: - - zstyle ':completion:*:*:kill:*:jobs' verbose no - -The -e option to zstyle even allows completion function code to appear -as the argument to a style; this requires some understanding of the -internals of completion functions (see *note Completion Widgets::)). -For example, - - zstyle -e ':completion:*' hosts 'reply=($myhosts)' - -This forces the value of the hosts style to be read from the variable -myhosts each time a host name is needed; this is useful if the value of -myhosts can change dynamically. For another useful example, see the -example in the description of the file-list style below. This form can -be slow and should be avoided for commonly examined styles such as menu -and list-rows-first. - -Note that the order in which styles are _defined_ does not matter; the -style mechanism uses the most specific possible match for a particular -style to determine the set of values. Strings are preferred over -patterns (for example, ':completion::complete:::foo' is more specific -than ':completion::complete:::*'), and longer patterns are preferred -over the pattern '*'. See *note The zsh/zutil Module:: for details. - -Context patterns that use something other than a wildcard (*) to match -the middle parts of the context -- the COMPLETER, COMMAND, and ARGUMENT -in :completion:FUNCTION:COMPLETER:COMMAND:ARGUMENT:TAG -- should include -all six colons (:) explicitly. Without this, a pattern such as -:completion:*:foo:* could match foo against a component other than the -intended one (for example, against COMPLETER when a match against -COMMAND was intended). - -Style names like those of tags are arbitrary and depend on the -completion function. However, the following two sections list some of -the most common tags and styles. - -20.3.2 Standard Tags --------------------- - -Some of the following are only used when looking up particular styles -and do not refer to a type of match. - -accounts - used to look up the users-hosts style - -all-expansions - used by the _expand completer when adding the single string - containing all possible expansions - -all-files - for the names of all files (as distinct from a particular subset, - see the globbed-files tag). - -arguments - for arguments to a command - -arrays - for names of array parameters - -association-keys - for keys of associative arrays; used when completing inside a - subscript to a parameter of this type - -bookmarks - when completing bookmarks (e.g. for URLs and the zftp function - suite) - -builtins - for names of builtin commands - -characters - for single characters in arguments of commands such as stty. Also - used when completing character classes after an opening bracket - -colormapids - for X colormap ids - -colors - for color names - -commands - for names of external commands. Also used by complex commands such - as cvs when completing names subcommands. - -contexts - for contexts in arguments to the zstyle builtin command - -corrections - used by the _approximate and _correct completers for possible - corrections - -cursors - for cursor names used by X programs - -default - used in some contexts to provide a way of supplying a default when - more specific tags are also valid. Note that this tag is used when - only the FUNCTION field of the context name is set - -descriptions - used when looking up the value of the format style to generate - descriptions for types of matches - -devices - for names of device special files - -directories - for names of directories -- local-directories is used instead when - completing arguments of cd and related builtin commands when the - cdpath array is set - -directory-stack - for entries in the directory stack - -displays - for X display names - -domains - for network domains - -email-PLUGIN - for email addresses from the '_email-PLUGIN' backend of - _email_addresses - -expansions - used by the _expand completer for individual words (as opposed to - the complete set of expansions) resulting from the expansion of a - word on the command line - -extensions - for X server extensions - -file-descriptors - for numbers of open file descriptors - -files - the generic file-matching tag used by functions completing - filenames - -fonts - for X font names - -fstypes - for file system types (e.g. for the mount command) - -functions - names of functions -- normally shell functions, although certain - commands may understand other kinds of function - -globbed-files - for filenames when the name has been generated by pattern matching - -groups - for names of user groups - -history-words - for words from the history - -hosts - for hostnames - -indexes - for array indexes - -interfaces - for network interfaces - -jobs - for jobs (as listed by the 'jobs' builtin) - -keymaps - for names of zsh keymaps - -keysyms - for names of X keysyms - -libraries - for names of system libraries - -limits - for system limits - -local-directories - for names of directories that are subdirectories of the current - working directory when completing arguments of cd and related - builtin commands (compare path-directories) -- when the cdpath - array is unset, directories is used instead - -mailboxes - for e-mail folders - -manuals - for names of manual pages - -maps - for map names (e.g. NIS maps) - -messages - used to look up the format style for messages - -modifiers - for names of X modifiers - -modules - for modules (e.g. zsh modules) - -my-accounts - used to look up the users-hosts style - -named-directories - for named directories (you wouldn't have guessed that, would you?) - -names - for all kinds of names - -newsgroups - for USENET groups - -nicknames - for nicknames of NIS maps - -options - for command options - -original - used by the _approximate, _correct and _expand completers when - offering the original string as a match - -other-accounts - used to look up the users-hosts style - -packages - for packages (e.g. rpm or installed Debian packages) - -parameters - for names of parameters - -path-directories - for names of directories found by searching the cdpath array when - completing arguments of cd and related builtin commands (compare - local-directories) - -paths - used to look up the values of the expand, ambiguous and - special-dirs styles - -pods - for perl pods (documentation files) - -ports - for communication ports - -prefixes - for prefixes (like those of a URL) - -printers - for print queue names - -processes - for process identifiers - -processes-names - used to look up the command style when generating the names of - processes for killall - -sequences - for sequences (e.g. mh sequences) - -sessions - for sessions in the zftp function suite - -signals - for signal names - -strings - for strings (e.g. the replacement strings for the cd builtin - command) - -styles - for styles used by the zstyle builtin command - -suffixes - for filename extensions - -tags - for tags (e.g. rpm tags) - -targets - for makefile targets - -time-zones - for time zones (e.g. when setting the TZ parameter) - -types - for types of whatever (e.g. address types for the xhost command) - -urls - used to look up the urls and local styles when completing URLs - -users - for usernames - -values - for one of a set of values in certain lists - -variant - used by _pick_variant to look up the command to run when - determining what program is installed for a particular command - name. - -visuals - for X visuals - -warnings - used to look up the format style for warnings - -widgets - for zsh widget names - -windows - for IDs of X windows - -zsh-options - for shell options - -20.3.3 Standard Styles ----------------------- - -Note that the values of several of these styles represent boolean -values. Any of the strings 'true', 'on', 'yes', and '1' can be used for -the value 'true' and any of the strings 'false', 'off', 'no', and '0' -for the value 'false'. The behavior for any other value is undefined -except where explicitly mentioned. The default value may be either -'true' or 'false' if the style is not set. - -Some of these styles are tested first for every possible tag -corresponding to a type of match, and if no style was found, for the -default tag. The most notable styles of this type are menu, list-colors -and styles controlling completion listing such as list-packed and -last-prompt. When tested for the default tag, only the FUNCTION field -of the context will be set so that a style using the default tag will -normally be defined along the lines of: - - zstyle ':completion:*:default' menu ... - -accept-exact - This is tested for the default tag in addition to the tags valid - for the current context. If it is set to 'true' and any of the - trial matches is the same as the string on the command line, this - match will immediately be accepted (even if it would otherwise be - considered ambiguous). - - When completing pathnames (where the tag used is 'paths') this - style accepts any number of patterns as the value in addition to - the boolean values. Pathnames matching one of these patterns will - be accepted immediately even if the command line contains some more - partially typed pathname components and these match no file under - the directory accepted. - - This style is also used by the _expand completer to decide if words - beginning with a tilde or parameter expansion should be expanded. - For example, if there are parameters foo and foobar, the string - '$foo' will only be expanded if accept-exact is set to 'true'; - otherwise the completion system will be allowed to complete $foo to - $foobar. If the style is set to 'continue', _expand will add the - expansion as a match and the completion system will also be allowed - to continue. - -accept-exact-dirs - This is used by filename completion. Unlike accept-exact it is a - boolean. By default, filename completion examines all components - of a path to see if there are completions of that component, even - if the component matches an existing directory. For example, when - completion after /usr/bin/, the function examines possible - completions to /usr. - - When this style is 'true', any prefix of a path that matches an - existing directory is accepted without any attempt to complete it - further. Hence, in the given example, the path /usr/bin/ is - accepted immediately and completion tried in that directory. - - This style is also useful when completing after directories that - magically appear when referenced, such as ZFS .zfs directories or - NetApp .snapshot directories. When the style is set the shell does - not check for the existence of the directory within the parent - directory. - - If you wish to inhibit this behaviour entirely, set the - path-completion style (see below) to 'false'. - -add-space - This style is used by the _expand completer. If it is 'true' (the - default), a space will be inserted after all words resulting from - the expansion, or a slash in the case of directory names. If the - value is 'file', the completer will only add a space to names of - existing files. Either a boolean 'true' or the value 'file' may be - combined with 'subst', in which case the completer will not add a - space to words generated from the expansion of a substitution of - the form '$(...)' or '${...}'. - - The _prefix completer uses this style as a simple boolean value to - decide if a space should be inserted before the suffix. - -ambiguous - This applies when completing non-final components of filename - paths, in other words those with a trailing slash. If it is set, - the cursor is left after the first ambiguous component, even if - menu completion is in use. The style is always tested with the - paths tag. - -assign-list - When completing after an equals sign that is being treated as an - assignment, the completion system normally completes only one - filename. In some cases the value may be a list of filenames - separated by colons, as with PATH and similar parameters. This - style can be set to a list of patterns matching the names of such - parameters. - - The default is to complete lists when the word on the line already - contains a colon. - -auto-description - If set, this style's value will be used as the description for - options that are not described by the completion functions, but - that have exactly one argument. The sequence '%d' in the value - will be replaced by the description for this argument. Depending - on personal preferences, it may be useful to set this style to - something like 'specify: %d'. Note that this may not work for some - commands. - -avoid-completer - This is used by the _all_matches completer to decide if the string - consisting of all matches should be added to the list currently - being generated. Its value is a list of names of completers. If - any of these is the name of the completer that generated the - matches in this completion, the string will not be added. - - The default value for this style is '_expand _old_list _correct - _approximate', i.e. it contains the completers for which a string - with all matches will almost never be wanted. - -cache-path - This style defines the path where any cache files containing dumped - completion data are stored. It defaults to '$ZDOTDIR/.zcompcache', - or '$HOME/.zcompcache' if $ZDOTDIR is not defined. The completion - cache will not be used unless the use-cache style is set. - -cache-policy - This style defines the function that will be used to determine - whether a cache needs rebuilding. See the section on the - _cache_invalid function below. - -call-command - This style is used in the function for commands such as make and - ant where calling the command directly to generate matches suffers - problems such as being slow or, as in the case of make can - potentially cause actions in the makefile to be executed. If it is - set to 'true' the command is called to generate matches. The - default value of this style is 'false'. - -command - In many places, completion functions need to call external commands - to generate the list of completions. This style can be used to - override the command that is called in some such cases. The - elements of the value are joined with spaces to form a command line - to execute. The value can also start with a hyphen, in which case - the usual command will be added to the end; this is most useful for - putting 'builtin' or 'command' in front to make sure the - appropriate version of a command is called, for example to avoid - calling a shell function with the same name as an external command. - - As an example, the completion function for process IDs uses this - style with the processes tag to generate the IDs to complete and - the list of processes to display (if the verbose style is 'true'). - The list produced by the command should look like the output of the - ps command. The first line is not displayed, but is searched for - the string 'PID' (or 'pid') to find the position of the process IDs - in the following lines. If the line does not contain 'PID', the - first numbers in each of the other lines are taken as the process - IDs to complete. - - Note that the completion function generally has to call the - specified command for each attempt to generate the completion list. - Hence care should be taken to specify only commands that take a - short time to run, and in particular to avoid any that may never - terminate. - -command-path - This is a list of directories to search for commands to complete. - The default for this style is the value of the special parameter - path. - -commands - This is used by the function completing sub-commands for the system - initialisation scripts (residing in /etc/init.d or somewhere not - too far away from that). Its values give the default commands to - complete for those commands for which the completion function isn't - able to find them out automatically. The default for this style - are the two strings 'start' and 'stop'. - -complete - This is used by the _expand_alias function when invoked as a - bindable command. If set to 'true' and the word on the command - line is not the name of an alias, matching alias names will be - completed. - -complete-options - This is used by the completer for cd, chdir and pushd. For these - commands a - is used to introduce a directory stack entry and - completion of these is far more common than completing options. - Hence unless the value of this style is 'true' options will not be - completed, even after an initial -. If it is 'true', options will - be completed after an initial - unless there is a preceding -- on - the command line. - -completer - The strings given as the value of this style provide the names of - the completer functions to use. The available completer functions - are described in *note Control Functions::. - - Each string may be either the name of a completer function or a - string of the form 'FUNCTION:NAME'. In the first case the - COMPLETER field of the context will contain the name of the - completer without the leading underscore and with all other - underscores replaced by hyphens. In the second case the FUNCTION - is the name of the completer to call, but the context will contain - the user-defined NAME in the COMPLETER field of the context. If - the NAME starts with a hyphen, the string for the context will be - build from the name of the completer function as in the first case - with the NAME appended to it. For example: - - zstyle ':completion:*' completer _complete _complete:-foo - - Here, completion will call the _complete completer twice, once - using 'complete' and once using 'complete-foo' in the COMPLETER - field of the context. Normally, using the same completer more than - once only makes sense when used with the 'FUNCTIONS:NAME' form, - because otherwise the context name will be the same in all calls to - the completer; possible exceptions to this rule are the _ignored - and _prefix completers. - - The default value for this style is '_complete _ignored': only - completion will be done, first using the ignored-patterns style and - the $fignore array and then without ignoring matches. - -condition - This style is used by the _list completer function to decide if - insertion of matches should be delayed unconditionally. The - default is 'true'. - -delimiters - This style is used when adding a delimiter for use with history - modifiers or glob qualifiers that have delimited arguments. It is - an array of preferred delimiters to add. Non-special characters - are preferred as the completion system may otherwise become - confused. The default list is :, +, /, -, %. The list may be - empty to force a delimiter to be typed. - -disabled - If this is set to 'true', the _expand_alias completer and bindable - command will try to expand disabled aliases, too. The default is - 'false'. - -domains - A list of names of network domains for completion. If this is not - set, domain names will be taken from the file /etc/resolv.conf. - -environ - The environ style is used when completing for 'sudo'. It is set to - an array of 'VAR=VALUE' assignments to be exported into the local - environment before the completion for the target command is - invoked. - zstyle ':completion:*:sudo::' environ \ - PATH="/sbin:/usr/sbin:$PATH" HOME="/root" - -expand - This style is used when completing strings consisting of multiple - parts, such as path names. - - If one of its values is the string 'prefix', the partially typed - word from the line will be expanded as far as possible even if - trailing parts cannot be completed. - - If one of its values is the string 'suffix', matching names for - components after the first ambiguous one will also be added. This - means that the resulting string is the longest unambiguous string - possible. However, menu completion can be used to cycle through - all matches. - -extra-verbose - If set, the completion listing is more verbose at the cost of a - probable decrease in completion speed. Completion performance will - suffer if this style is set to 'true'. - -fake - This style may be set for any completion context. It specifies - additional strings that will always be completed in that context. - The form of each string is 'VALUE:DESCRIPTION'; the colon and - description may be omitted, but any literal colons in VALUE must be - quoted with a backslash. Any DESCRIPTION provided is shown - alongside the value in completion listings. - - It is important to use a sufficiently restrictive context when - specifying fake strings. Note that the styles fake-files and - fake-parameters provide additional features when completing files - or parameters. - -fake-always - This works identically to the fake style except that the - ignored-patterns style is not applied to it. This makes it - possible to override a set of matches completely by setting the - ignored patterns to '*'. - - The following shows a way of supplementing any tag with arbitrary - data, but having it behave for display purposes like a separate - tag. In this example we use the features of the tag-order style to - divide the named-directories tag into two when performing - completion with the standard completer complete for arguments of - cd. The tag named-directories-normal behaves as normal, but the - tag named-directories-mine contains a fixed set of directories. - This has the effect of adding the match group 'extra directories' - with the given completions. - - zstyle ':completion::complete:cd:*' tag-order \ - 'named-directories:-mine:extra\ directories - named-directories:-normal:named\ directories *' - zstyle ':completion::complete:cd:*:named-directories-mine' \ - fake-always mydir1 mydir2 - zstyle ':completion::complete:cd:*:named-directories-mine' \ - ignored-patterns '*' - -fake-files - This style is used when completing files and looked up without a - tag. Its values are of the form 'DIR:NAMES...'. This will add the - NAMES (strings separated by spaces) as possible matches when - completing in the directory DIR, even if no such files really - exist. The dir may be a pattern; pattern characters or colons in - DIR should be quoted with a backslash to be treated literally. - - This can be useful on systems that support special file systems - whose top-level pathnames can not be listed or generated with glob - patterns (but see accept-exact-dirs for a more general way of - dealing with this problem). It can also be used for directories - for which one does not have read permission. - - The pattern form can be used to add a certain 'magic' entry to all - directories on a particular file system. - -fake-parameters - This is used by the completion function for parameter names. Its - values are names of parameters that might not yet be set but should - be completed nonetheless. Each name may also be followed by a - colon and a string specifying the type of the parameter (like - 'scalar', 'array' or 'integer'). If the type is given, the name - will only be completed if parameters of that type are required in - the particular context. Names for which no type is specified will - always be completed. - -file-list - This style controls whether files completed using the standard - builtin mechanism are to be listed with a long list similar to ls - -l. Note that this feature uses the shell module zsh/stat for file - information; this loads the builtin stat which will replace any - external stat executable. To avoid this the following code can be - included in an initialization file: - - zmodload -i zsh/stat - disable stat - - The style may either be set to a 'true' value (or 'all'), or one of - the values 'insert' or 'list', indicating that files are to be - listed in long format in all circumstances, or when attempting to - insert a file name, or when listing file names without attempting - to insert one. - - More generally, the value may be an array of any of the above - values, optionally followed by =NUM. If NUM is present it gives - the maximum number of matches for which long listing style will be - used. For example, - - zstyle ':completion:*' file-list list=20 insert=10 - - specifies that long format will be used when listing up to 20 files - or inserting a file with up to 10 matches (assuming a listing is to - be shown at all, for example on an ambiguous completion), else - short format will be used. - - zstyle -e ':completion:*' file-list \ - '(( ${+NUMERIC} )) && reply=(true)' - - specifies that long format will be used any time a numeric argument - is supplied, else short format. - -file-patterns - This is used by the standard function for completing filenames, - _files. If the style is unset up to three tags are offered, - 'globbed-files','directories' and 'all-files', depending on the - types of files expected by the caller of _files. The first two - ('globbed-files' and 'directories') are normally offered together - to make it easier to complete files in sub-directories. - - The file-patterns style provides alternatives to the default tags, - which are not used. Its value consists of elements of the form - 'PATTERN:TAG'; each string may contain any number of such - specifications separated by spaces. - - The PATTERN is a pattern that is to be used to generate filenames. - Any occurrence of the sequence '%p' is replaced by any pattern(s) - passed by the function calling _files. Colons in the pattern must - be preceded by a backslash to make them distinguishable from the - colon before the TAG. If more than one pattern is needed, the - patterns can be given inside braces, separated by commas. - - The TAGs of all strings in the value will be offered by _files and - used when looking up other styles. Any TAGs in the same word will - be offered at the same time and before later words. If no ':TAG' - is given the 'files' tag will be used. - - The TAG may also be followed by an optional second colon and a - description, which will be used for the '%d' in the value of the - format style (if that is set) instead of the default description - supplied by the completion function. The inclusion of a - description also gives precedence to associated options such as for - completion grouping so it can be used where files should be - separated. - - For example, to make the rm command first complete only names of - object files and then the names of all files if there is no - matching object file: - - zstyle ':completion:*:*:rm:*:*' file-patterns \ - '*.o:object-files' '%p:all-files' - - To alter the default behaviour of file completion -- offer files - matching a pattern and directories on the first attempt, then all - files -- to offer only matching files on the first attempt, then - directories, and finally all files: - - zstyle ':completion:*' file-patterns \ - '%p:globbed-files' '*(-/):directories' '*:all-files' - - This works even where there is no special pattern: _files matches - all files using the pattern '*' at the first step and stops when it - sees this pattern. Note also it will never try a pattern more than - once for a single completion attempt. - - To separate directories into a separate group from the files but - still complete them at the first attempt, a description needs to be - given. Note that directories need to be explicitly excluded from - the globbed-files because '*' will match directories. For - grouping, it is also necessary to set the group-name style. - - zstyle ':completion:*' file-patterns \ - '%p(^-/):globbed-files *(-/):directories:location' - - During the execution of completion functions, the EXTENDED_GLOB - option is in effect, so the characters '#', '~' and '^' have - special meanings in the patterns. - -file-sort - The standard filename completion function uses this style without a - tag to determine in which order the names should be listed; menu - completion will cycle through them in the same order. The possible - values are: 'size' to sort by the size of the file; 'links' to sort - by the number of links to the file; 'modification' (or 'time' or - 'date') to sort by the last modification time; 'access' to sort by - the last access time; and 'inode' (or 'change') to sort by the last - inode change time. If the style is set to any other value, or is - unset, files will be sorted alphabetically by name. If the value - contains the string 'reverse', sorting is done in the opposite - order. If the value contains the string 'follow', timestamps are - associated with the targets of symbolic links; the default is to - use the timestamps of the links themselves. - -file-split-chars - A set of characters that will cause _all_ file completions for the - given context to be split at the point where any of the characters - occurs. A typical use is to set the style to :; then everything up - to and including the last : in the string so far is ignored when - completing files. As this is quite heavy-handed, it is usually - preferable to update completion functions for contexts where this - behaviour is useful. - -filter - The ldap plugin of email address completion (see _email_addresses) - uses this style to specify the attributes to match against when - filtering entries. So for example, if the style is set to 'sn', - matching is done against surnames. Standard LDAP filtering is used - so normal completion matching is bypassed. If this style is not - set, the LDAP plugin is skipped. You may also need to set the - command style to specify how to connect to your LDAP server. - -force-list - This forces a list of completions to be shown at any point where - listing is done, even in cases where the list would usually be - suppressed. For example, normally the list is only shown if there - are at least two different matches. By setting this style to - 'always', the list will always be shown, even if there is only a - single match that will immediately be accepted. The style may also - be set to a number. In this case the list will be shown if there - are at least that many matches, even if they would all insert the - same string. - - This style is tested for the default tag as well as for each tag - valid for the current completion. Hence the listing can be forced - only for certain types of match. - -format - If this is set for the descriptions tag, its value is used as a - string to display above matches in completion lists. The sequence - '%d' in this string will be replaced with a short description of - what these matches are. This string may also contain the output - attribute sequences understood by compadd -X (see *note Completion - Widgets::). - - The style is tested with each tag valid for the current completion - before it is tested for the descriptions tag. Hence different - format strings can be defined for different types of match. - - Note also that some completer functions define additional - '%'-sequences. These are described for the completer functions - that make use of them. - - Some completion functions display messages that may be customised - by setting this style for the messages tag. Here, the '%d' is - replaced with a message given by the completion function. - - Finally, the format string is looked up with the warnings tag, for - use when no matches could be generated at all. In this case the - '%d' is replaced with the descriptions for the matches that were - expected separated by spaces. The sequence '%D' is replaced with - the same descriptions separated by newlines. - - It is possible to use printf-style field width specifiers with '%d' - and similar escape sequences. This is handled by the zformat - builtin command from the zsh/zutil module, see *note The zsh/zutil - Module::. - -gain-privileges - If set to true, this style enables the use of commands like sudo or - doas to gain extra privileges when retrieving information for - completion. This is only done when a command such as sudo appears - on the command-line. To force the use of, e.g. sudo or to - override any prefix that might be added due to gain-privileges, the - command style can be used with a value that begins with a hyphen. - -glob - This is used by the _expand completer. If it is set to 'true' (the - default), globbing will be attempted on the words resulting from a - previous substitution (see the substitute style) or else the - original string from the line. - -global - If this is set to 'true' (the default), the _expand_alias completer - and bindable command will try to expand global aliases. - -group-name - The completion system can group different types of matches, which - appear in separate lists. This style can be used to give the names - of groups for particular tags. For example, in command position - the completion system generates names of builtin and external - commands, names of aliases, shell functions and parameters and - reserved words as possible completions. To have the external - commands and shell functions listed separately: - - zstyle ':completion:*:*:-command-:*:commands' \ - group-name commands - zstyle ':completion:*:*:-command-:*:functions' \ - group-name functions - - As a consequence, any match with the same tag will be displayed in - the same group. - - If the name given is the empty string the name of the tag for the - matches will be used as the name of the group. So, to have all - different types of matches displayed separately, one can just set: - - zstyle ':completion:*' group-name '' - - All matches for which no group name is defined will be put in a - group named -default-. - - To display the group name in the output, see the format style - (q.v.) under the descriptions tag. - -group-order - This style is additional to the group-name style to specify the - order for display of the groups defined by that style (compare - tag-order, which determines which completions appear at all). The - groups named are shown in the given order; any other groups are - shown in the order defined by the completion function. - - For example, to have names of builtin commands, shell functions and - external commands appear in that order when completing in command - position: - - zstyle ':completion:*:*:-command-:*:*' group-order \ - builtins functions commands - -groups - A list of names of UNIX groups. If this is not set, group names - are taken from the YP database or the file '/etc/group'. - -hidden - If this is set to 'true', matches for the given context will not be - listed, although any description for the matches set with the - format style will be shown. If it is set to 'all', not even the - description will be displayed. - - Note that the matches will still be completed; they are just not - shown in the list. To avoid having matches considered as possible - completions at all, the tag-order style can be modified as - described below. - -hosts - A list of names of hosts that should be completed. If this is not - set, hostnames are taken from the file '/etc/hosts'. - -hosts-ports - This style is used by commands that need or accept hostnames and - network ports. The strings in the value should be of the form - 'HOST:PORT'. Valid ports are determined by the presence of - hostnames; multiple ports for the same host may appear. - -ignore-line - This is tested for each tag valid for the current completion. If - it is set to 'true', none of the words that are already on the line - will be considered as possible completions. If it is set to - 'current', the word the cursor is on will not be considered as a - possible completion. The value 'current-shown' is similar but only - applies if the list of completions is currently shown on the - screen. Finally, if the style is set to 'other', all words on the - line except for the current one will be excluded from the possible - completions. - - The values 'current' and 'current-shown' are a bit like the - opposite of the accept-exact style: only strings with missing - characters will be completed. - - Note that you almost certainly don't want to set this to 'true' or - 'other' for a general context such as ':completion:*'. This is - because it would disallow completion of, for example, options - multiple times even if the command in question accepts the option - more than once. - -ignore-parents - The style is tested without a tag by the function completing - pathnames in order to determine whether to ignore the names of - directories already mentioned in the current word, or the name of - the current working directory. The value must include one or both - of the following strings: - - parent - The name of any directory whose path is already contained in - the word on the line is ignored. For example, when completing - after foo/../, the directory foo will not be considered a - valid completion. - - pwd - The name of the current working directory will not be - completed; hence, for example, completion after ../ will not - use the name of the current directory. - - In addition, the value may include one or both of: - - .. - Ignore the specified directories only when the word on the - line contains the substring '../'. - - directory - Ignore the specified directories only when names of - directories are completed, not when completing names of files. - - Excluded values act in a similar fashion to values of the - ignored-patterns style, so they can be restored to consideration by - the _ignored completer. - -ignored-patterns - A list of patterns; any trial completion matching one of the - patterns will be excluded from consideration. The _ignored - completer can appear in the list of completers to restore the - ignored matches. This is a more configurable version of the shell - parameter $fignore. - - Note that the EXTENDED_GLOB option is set during the execution of - completion functions, so the characters '#', '~' and '^' have - special meanings in the patterns. - -insert - This style is used by the _all_matches completer to decide whether - to insert the list of all matches unconditionally instead of adding - the list as another match. - -insert-ids - When completing process IDs, for example as arguments to the kill - and wait builtins the name of a command may be converted to the - appropriate process ID. A problem arises when the process name - typed is not unique. By default (or if this style is set - explicitly to 'menu') the name will be converted immediately to a - set of possible IDs, and menu completion will be started to cycle - through them. - - If the value of the style is 'single', the shell will wait until - the user has typed enough to make the command unique before - converting the name to an ID; attempts at completion will be - unsuccessful until that point. If the value is any other string, - menu completion will be started when the string typed by the user - is longer than the common prefix to the corresponding IDs. - -insert-sections - This style is used with tags of the form 'manuals.X' when - completing names of manual pages. If set and the X in the tag name - matches the section number of the page being completed, the section - number is inserted along with the page name. For example, given - - zstyle ':completion:*:manuals.*' insert-sections true - - man ssh_<TAB> may be completed to man 5 ssh_config. - - The value may also be set to one of 'prepend', or 'suffix'. - 'prepend' behaves the same as 'true' as in the above example, while - 'suffix' would complete man ssh_<TAB> as man ssh_config.5. - - This is especially useful in conjunction with separate-sections, as - it ensures that the page requested of man corresponds to the one - displayed in the completion listing when there are multiple pages - with the same name (e.g., printf(1) and printf(3)). - - The default for this style is 'false'. - -insert-tab - If this is set to 'true', the completion system will insert a TAB - character (assuming that was used to start completion) instead of - performing completion when there is no non-blank character to the - left of the cursor. If it is set to 'false', completion will be - done even there. - - The value may also contain the substrings 'pending' or - 'pending=VAL'. In this case, the typed character will be inserted - instead of starting completion when there is unprocessed input - pending. If a VAL is given, completion will not be done if there - are at least that many characters of unprocessed input. This is - often useful when pasting characters into a terminal. Note - however, that it relies on the $PENDING special parameter from the - zsh/zle module being set properly which is not guaranteed on all - platforms. - - The default value of this style is 'true' except for completion - within vared builtin command where it is 'false'. - -insert-unambiguous - This is used by the _match and _approximate completers. These - completers are often used with menu completion since the word typed - may bear little resemblance to the final completion. However, if - this style is 'true', the completer will start menu completion only - if it could find no unambiguous initial string at least as long as - the original string typed by the user. - - In the case of the _approximate completer, the completer field in - the context will already have been set to one of correct-NUM or - approximate-NUM, where NUM is the number of errors that were - accepted. - - In the case of the _match completer, the style may also be set to - the string 'pattern'. Then the pattern on the line is left - unchanged if it does not match unambiguously. - -keep-prefix - This style is used by the _expand completer. If it is 'true', the - completer will try to keep a prefix containing a tilde or parameter - expansion. Hence, for example, the string '~/f*' would be expanded - to '~/foo' instead of '/home/user/foo'. If the style is set to - 'changed' (the default), the prefix will only be left unchanged if - there were other changes between the expanded words and the - original word from the command line. Any other value forces the - prefix to be expanded unconditionally. - - The behaviour of _expand when this style is 'true' is to cause - _expand to give up when a single expansion with the restored prefix - is the same as the original; hence any remaining completers may be - called. - -known-hosts-files - This style should contain a list of files to search for host names - and (if the use-ip style is set) IP addresses in a format - compatible with ssh known_hosts files. If it is not set, the files - /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts are used. - -last-prompt - This is a more flexible form of the ALWAYS_LAST_PROMPT option. If - it is 'true', the completion system will try to return the cursor - to the previous command line after displaying a completion list. - It is tested for all tags valid for the current completion, then - the default tag. The cursor will be moved back to the previous - line if this style is 'true' for all types of match. Note that - unlike the ALWAYS_LAST_PROMPT option this is independent of the - numeric argument. - -list - This style is used by the _history_complete_word bindable command. - If it is set to 'true' it has no effect. If it is set to 'false' - matches will not be listed. This overrides the setting of the - options controlling listing behaviour, in particular AUTO_LIST. - The context always starts with ':completion:history-words'. - -list-colors - If the zsh/complist module is loaded, this style can be used to set - color specifications. This mechanism replaces the use of the - ZLS_COLORS and ZLS_COLOURS parameters described in *note The - zsh/complist Module::, but the syntax is the same. - - If this style is set for the default tag, the strings in the value - are taken as specifications that are to be used everywhere. If it - is set for other tags, the specifications are used only for matches - of the type described by the tag. For this to work best, the - group-name style must be set to an empty string. - - In addition to setting styles for specific tags, it is also - possible to use group names specified explicitly by the group-name - tag together with the '(group)' syntax allowed by the ZLS_COLORS - and ZLS_COLOURS parameters and simply using the default tag. - - It is possible to use any color specifications already set up for - the GNU version of the ls command: - - zstyle ':completion:*:default' list-colors \ - ${(s.:.)LS_COLORS} - - The default colors are the same as for the GNU ls command and can - be obtained by setting the style to an empty string (i.e. ''). - -list-dirs-first - This is used by file completion and corresponds to a particular - setting of the file-patterns style. If set, the default - directories to be completed are listed separately from and before - completion for other files. - -list-grouped - If this style is 'true' (the default), the completion system will - try to make certain completion listings more compact by grouping - matches. For example, options for commands that have the same - description (shown when the verbose style is set to 'true') will - appear as a single entry. However, menu selection can be used to - cycle through all the matches. - -list-packed - This is tested for each tag valid in the current context as well as - the default tag. If it is set to 'true', the corresponding matches - appear in listings as if the LIST_PACKED option were set. If it is - set to 'false', they are listed normally. - -list-prompt - If this style is set for the default tag, completion lists that - don't fit on the screen can be scrolled (see *note The zsh/complist - Module::). The value, if not the empty string, will be displayed - after every screenful and the shell will prompt for a key press; if - the style is set to the empty string, a default prompt will be - used. - - The value may contain the escape sequences: '%l' or '%L', which - will be replaced by the number of the last line displayed and the - total number of lines; '%m' or '%M', the number of the last match - shown and the total number of matches; and '%p' and '%P', 'Top' - when at the beginning of the list, 'Bottom' when at the end and the - position shown as a percentage of the total length otherwise. In - each case the form with the uppercase letter will be replaced by a - string of fixed width, padded to the right with spaces, while the - lowercase form will be replaced by a variable width string. As in - other prompt strings, the escape sequences '%S', '%s', '%B', '%b', - '%U', '%u' for entering and leaving the display modes standout, - bold and underline, and '%F', '%f', '%K', '%k' for changing the - foreground background colour, are also available, as is the form - '%{...%}' for enclosing escape sequences which display with zero - (or, with a numeric argument, some other) width. - - After deleting this prompt the variable LISTPROMPT should be unset - for the removal to take effect. - -list-rows-first - This style is tested in the same way as the list-packed style and - determines whether matches are to be listed in a rows-first fashion - as if the LIST_ROWS_FIRST option were set. - -list-separator - The value of this style is used in completion listing to separate - the string to complete from a description when possible (e.g. when - completing options). It defaults to '--' (two hyphens). - -list-suffixes - This style is used by the function that completes filenames. If it - is 'true', and completion is attempted on a string containing - multiple partially typed pathname components, all ambiguous - components will be shown. Otherwise, completion stops at the first - ambiguous component. - -local - This is for use with functions that complete URLs for which the - corresponding files are available directly from the file system. - Its value should consist of three strings: a hostname, the path to - the default web pages for the server, and the directory name used - by a user placing web pages within their home area. - - For example: - - zstyle ':completion:*' local toast \ - /var/http/public/toast public_html - - Completion after 'http://toast/stuff/' will look for files in the - directory /var/http/public/toast/stuff, while completion after - 'http://toast/~yousir/' will look for files in the directory - ~yousir/public_html. - -mail-directory - If set, zsh will assume that mailbox files can be found in the - directory specified. It defaults to '~/Mail'. - -match-original - This is used by the _match completer. If it is set to only, _match - will try to generate matches without inserting a '*' at the cursor - position. If set to any other non-empty value, it will first try - to generate matches without inserting the '*' and if that yields no - matches, it will try again with the '*' inserted. If it is unset - or set to the empty string, matching will only be performed with - the '*' inserted. - -matcher - This style is tested separately for each tag valid in the current - context. Its value is placed before any match specifications given - by the matcher-list style so can override them via the use of an x: - specification. The value should be in the form described in *note - Completion Matching Control::. For examples of this, see the - description of the tag-order style. - - For notes comparing the use of this and the matcher-list style, see - under the description of the tag-order style. - -matcher-list - This style can be set to a list of match specifications that are to - be applied everywhere. Match specifications are described in *note - Completion Matching Control::. The completion system will try them - one after another for each completer selected. For example, to try - first simple completion and, if that generates no matches, - case-insensitive completion: - - zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' - - By default each specification replaces the previous one; however, - if a specification is prefixed with +, it is added to the existing - list. Hence it is possible to create increasingly general - specifications without repetition: - - zstyle ':completion:*' matcher-list \ - '' '+m:{a-z}={A-Z}' '+m:{A-Z}={a-z}' - - It is possible to create match specifications valid for particular - completers by using the third field of the context. This applies - only to completers that override the global matcher-list, which as - of this writing includes only _prefix and _ignored. For example, - to use the completers _complete and _prefix but allow - case-insensitive completion only with _complete: - - zstyle ':completion:*' completer _complete _prefix - zstyle ':completion:*:complete:*:*:*' matcher-list \ - '' 'm:{a-zA-Z}={A-Za-z}' - - User-defined names, as explained for the completer style, are - available. This makes it possible to try the same completer more - than once with different match specifications each time. For - example, to try normal completion without a match specification, - then normal completion with case-insensitive matching, then - correction, and finally partial-word completion: - - zstyle ':completion:*' completer \ - _complete _correct _complete:foo - zstyle ':completion:*:complete:*:*:*' matcher-list \ - '' 'm:{a-zA-Z}={A-Za-z}' - zstyle ':completion:*:foo:*:*:*' matcher-list \ - 'm:{a-zA-Z}={A-Za-z} r:|[-_./]=* r:|=*' - - If the style is unset in any context no match specification is - applied. Note also that some completers such as _correct and - _approximate do not use the match specifications at all, though - these completers will only ever be called once even if the - matcher-list contains more than one element. - - Where multiple specifications are useful, note that the _entire_ - completion is done for each element of matcher-list, which can - quickly reduce the shell's performance. As a rough rule of thumb, - one to three strings will give acceptable performance. On the - other hand, putting multiple space-separated values into the same - string does not have an appreciable impact on performance. - - If there is no current matcher or it is empty, and the option - NO_CASE_GLOB is in effect, the matching for files is performed - case-insensitively in any case. However, any matcher must - explicitly specify case-insensitive matching if that is required. - - For notes comparing the use of this and the matcher style, see - under the description of the tag-order style. - -max-errors - This is used by the _approximate and _correct completer functions - to determine the maximum number of errors to allow. The completer - will try to generate completions by first allowing one error, then - two errors, and so on, until either a match or matches were found - or the maximum number of errors given by this style has been - reached. - - If the value for this style contains the string 'numeric', the - completer function will take any numeric argument as the maximum - number of errors allowed. For example, with - - zstyle ':completion:*:approximate:::' max-errors 2 numeric - - two errors are allowed if no numeric argument is given, but with a - numeric argument of six (as in 'ESC-6 TAB'), up to six errors are - accepted. Hence with a value of '0 numeric', no correcting - completion will be attempted unless a numeric argument is given. - - If the value contains the string 'not-numeric', the completer will - _not_ try to generate corrected completions when given a numeric - argument, so in this case the number given should be greater than - zero. For example, '2 not-numeric' specifies that correcting - completion with two errors will usually be performed, but if a - numeric argument is given, correcting completion will not be - performed. - - The default value for this style is '2 numeric'. - -max-matches-width - This style is used to determine the trade off between the width of - the display used for matches and the width used for their - descriptions when the verbose style is in effect. The value gives - the number of display columns to reserve for the matches. The - default is half the width of the screen. - - This has the most impact when several matches have the same - description and so will be grouped together. Increasing the style - will allow more matches to be grouped together; decreasing it will - allow more of the description to be visible. - -menu - If this is 'true' in the context of any of the tags defined for the - current completion menu completion will be used. The value for a - specific tag will take precedence over that for the 'default' tag. - - If none of the values found in this way is 'true' but at least one - is set to 'auto', the shell behaves as if the AUTO_MENU option is - set. - - If one of the values is explicitly set to 'false', menu completion - will be explicitly turned off, overriding the MENU_COMPLETE option - and other settings. - - In the form 'yes=NUM', where 'yes' may be any of the 'true' values - ('yes', 'true', 'on' and '1'), menu completion will be turned on if - there are at least NUM matches. In the form 'yes=long', menu - completion will be turned on if the list does not fit on the - screen. This does not activate menu completion if the widget - normally only lists completions, but menu completion can be - activated in that case with the value 'yes=long-list' (Typically, - the value 'select=long-list' described later is more useful as it - provides control over scrolling.) - - Similarly, with any of the 'false' values (as in 'no=10'), menu - completion will _not_ be used if there are NUM or more matches. - - The value of this widget also controls menu selection, as - implemented by the zsh/complist module. The following values may - appear either alongside or instead of the values above. - - If the value contains the string 'select', menu selection will be - started unconditionally. - - In the form 'select=NUM', menu selection will only be started if - there are at least NUM matches. If the values for more than one - tag provide a number, the smallest number is taken. - - Menu selection can be turned off explicitly by defining a value - containing the string'no-select'. - - It is also possible to start menu selection only if the list of - matches does not fit on the screen by using the value - 'select=long'. To start menu selection even if the current widget - only performs listing, use the value 'select=long-list'. - - To turn on menu completion or menu selection when there are a - certain number of matches _or_ the list of matches does not fit on - the screen, both of 'yes=' and 'select=' may be given twice, once - with a number and once with 'long' or 'long-list'. - - Finally, it is possible to activate two special modes of menu - selection. The word 'interactive' in the value causes interactive - mode to be entered immediately when menu selection is started; see - *note The zsh/complist Module:: for a description of interactive - mode. Including the string 'search' does the same for incremental - search mode. To select backward incremental search, include the - string 'search-backward'. - -muttrc - If set, gives the location of the mutt configuration file. It - defaults to '~/.muttrc'. - -numbers - This is used with the jobs tag. If it is 'true', the shell will - complete job numbers instead of the shortest unambiguous prefix of - the job command text. If the value is a number, job numbers will - only be used if that many words from the job descriptions are - required to resolve ambiguities. For example, if the value is '1', - strings will only be used if all jobs differ in the first word on - their command lines. - -old-list - This is used by the _oldlist completer. If it is set to 'always', - then standard widgets which perform listing will retain the current - list of matches, however they were generated; this can be turned - off explicitly with the value 'never', giving the behaviour without - the _oldlist completer. If the style is unset, or any other value, - then the existing list of completions is displayed if it is not - already; otherwise, the standard completion list is generated; this - is the default behaviour of _oldlist. However, if there is an old - list and this style contains the name of the completer function - that generated the list, then the old list will be used even if it - was generated by a widget which does not do listing. - - For example, suppose you type ^Xc to use the _correct_word widget, - which generates a list of corrections for the word under the - cursor. Usually, typing ^D would generate a standard list of - completions for the word on the command line, and show that. With - _oldlist, it will instead show the list of corrections already - generated. - - As another example consider the _match completer: with the - insert-unambiguous style set to 'true' it inserts only a common - prefix string, if there is any. However, this may remove parts of - the original pattern, so that further completion could produce more - matches than on the first attempt. By using the _oldlist completer - and setting this style to _match, the list of matches generated on - the first attempt will be used again. - -old-matches - This is used by the _all_matches completer to decide if an old list - of matches should be used if one exists. This is selected by one - of the 'true' values or by the string 'only'. If the value is - 'only', _all_matches will only use an old list and won't have any - effect on the list of matches currently being generated. - - If this style is set it is generally unwise to call the - _all_matches completer unconditionally. One possible use is for - either this style or the completer style to be defined with the -e - option to zstyle to make the style conditional. - -old-menu - This is used by the _oldlist completer. It controls how menu - completion behaves when a completion has already been inserted and - the user types a standard completion key such as TAB. The default - behaviour of _oldlist is that menu completion always continues with - the existing list of completions. If this style is set to 'false', - however, a new completion is started if the old list was generated - by a different completion command; this is the behaviour without - the _oldlist completer. - - For example, suppose you type ^Xc to generate a list of - corrections, and menu completion is started in one of the usual - ways. Usually, or with this style set to 'false', typing TAB at - this point would start trying to complete the line as it now - appears. With _oldlist, it instead continues to cycle through the - list of corrections. - -original - This is used by the _approximate and _correct completers to decide - if the original string should be added as a possible completion. - Normally, this is done only if there are at least two possible - corrections, but if this style is set to 'true', it is always - added. Note that the style will be examined with the completer - field in the context name set to correct-NUM or approximate-NUM, - where NUM is the number of errors that were accepted. - -packageset - This style is used when completing arguments of the Debian 'dpkg' - program. It contains an override for the default package set for a - given context. For example, - - zstyle ':completion:*:complete:dpkg:option--status-1:*' \ - packageset avail - - causes available packages, rather than only installed packages, to - be completed for 'dpkg --status'. - -path - The function that completes color names uses this style with the - colors tag. The value should be the pathname of a file containing - color names in the format of an X11 rgb.txt file. If the style is - not set but this file is found in one of various standard locations - it will be used as the default. - -path-completion - This is used by filename completion. By default, filename - completion examines all components of a path to see if there are - completions of that component. For example, /u/b/z can be - completed to /usr/bin/zsh. Explicitly setting this style to - 'false' inhibits this behaviour for path components up to the / - before the cursor; this overrides the setting of accept-exact-dirs. - - Even with the style set to 'false', it is still possible to - complete multiple paths by setting the option COMPLETE_IN_WORD and - moving the cursor back to the first component in the path to be - completed. For example, /u/b/z can be completed to /usr/bin/zsh if - the cursor is after the /u. - -pine-directory - If set, specifies the directory containing PINE mailbox files. - There is no default, since recursively searching this directory is - inconvenient for anyone who doesn't use PINE. - -ports - A list of Internet service names (network ports) to complete. If - this is not set, service names are taken from the file - '/etc/services'. - -prefix-hidden - This is used for certain completions which share a common prefix, - for example command options beginning with dashes. If it is - 'true', the prefix will not be shown in the list of matches. - - The default value for this style is 'false'. - -prefix-needed - This style is also relevant for matches with a common prefix. If - it is set to 'true' this common prefix must be typed by the user to - generate the matches. - - The style is applicable to the options, signals, jobs, functions, - and parameters completion tags. - - For command options, this means that the initial '-', '+', or '--' - must be typed explicitly before option names will be completed. - - For signals, an initial '-' is required before signal names will be - completed. - - For jobs, an initial '%' is required before job names will be - completed. - - For function and parameter names, an initial '_' or '.' is required - before function or parameter names starting with those characters - will be completed. - - The default value for this style is 'false' for function and - parameter completions, and 'true' otherwise. - -preserve-prefix - This style is used when completing path names. Its value should be - a pattern matching an initial prefix of the word to complete that - should be left unchanged under all circumstances. For example, on - some Unices an initial '//' (double slash) has a special meaning; - setting this style to the string '//' will preserve it. As another - example, setting this style to '?:/' under Cygwin would allow - completion after 'a:/...' and so on. - -range - This is used by the _history completer and the - _history_complete_word bindable command to decide which words - should be completed. - - If it is a single number, only the last N words from the history - will be completed. - - If it is a range of the form 'MAX:SLICE', the last SLICE words will - be completed; then if that yields no matches, the SLICE words - before those will be tried and so on. This process stops either - when at least one match has been found, or MAX words have been - tried. - - The default is to complete all words from the history at once. - -recursive-files - If this style is set, its value is an array of patterns to be - tested against '$PWD/': note the trailing slash, which allows - directories in the pattern to be delimited unambiguously by - including slashes on both sides. If an ordinary file completion - fails and the word on the command line does not yet have a - directory part to its name, the style is retrieved using the same - tag as for the completion just attempted, then the elements tested - against $PWD/ in turn. If one matches, then the shell reattempts - completion by prepending the word on the command line with each - directory in the expansion of **/*(/) in turn. Typically the - elements of the style will be set to restrict the number of - directories beneath the current one to a manageable number, for - example '*/.git/*'. - - For example, - - zstyle ':completion:*' recursive-files '*/zsh/*' - - If the current directory is /home/pws/zsh/Src, then zle_tr<TAB> can - be completed to Zle/zle_tricky.c. - -regular - This style is used by the _expand_alias completer and bindable - command. If set to 'true' (the default), regular aliases will be - expanded but only in command position. If it is set to 'false', - regular aliases will never be expanded. If it is set to 'always', - regular aliases will be expanded even if not in command position. - -rehash - If this is set when completing external commands, the internal list - (hash) of commands will be updated for each search by issuing the - rehash command. There is a speed penalty for this which is only - likely to be noticeable when directories in the path have slow file - access. - -remote-access - If set to 'false', certain commands will be prevented from making - Internet connections to retrieve remote information. This includes - the completion for the CVS command. - - It is not always possible to know if connections are in fact to a - remote site, so some may be prevented unnecessarily. - -remove-all-dups - The _history_complete_word bindable command and the _history - completer use this to decide if all duplicate matches should be - removed, rather than just consecutive duplicates. - -select-prompt - If this is set for the default tag, its value will be displayed - during menu selection (see the menu style above) when the - completion list does not fit on the screen as a whole. The same - escapes as for the list-prompt style are understood, except that - the numbers refer to the match or line the mark is on. A default - prompt is used when the value is the empty string. - -select-scroll - This style is tested for the default tag and determines how a - completion list is scrolled during a menu selection (see the menu - style above) when the completion list does not fit on the screen as - a whole. If the value is '0' (zero), the list is scrolled by - half-screenfuls; if it is a positive integer, the list is scrolled - by the given number of lines; if it is a negative number, the list - is scrolled by a screenful minus the absolute value of the given - number of lines. The default is to scroll by single lines. - -separate-sections - This style is used with the manuals tag when completing names of - manual pages. If it is 'true', entries for different sections are - added separately using tag names of the form 'manuals.X', where X - is the section number. When the group-name style is also in - effect, pages from different sections will appear separately. This - style is also used similarly with the words style when completing - words for the dict command. It allows words from different - dictionary databases to be added separately. See also - insert-sections. - - The default for this style is 'false'. - -show-ambiguity - If the zsh/complist module is loaded, this style can be used to - highlight the first ambiguous character in completion lists. The - value is either a color indication such as those supported by the - list-colors style or, with a value of 'true', a default of - underlining is selected. The highlighting is only applied if the - completion display strings correspond to the actual matches. - -show-completer - Tested whenever a new completer is tried. If it is 'true', the - completion system outputs a progress message in the listing area - showing what completer is being tried. The message will be - overwritten by any output when completions are found and is removed - after completion is finished. - -single-ignored - This is used by the _ignored completer when there is only one - match. If its value is 'show', the single match will be displayed - but not inserted. If the value is 'menu', then the single match - and the original string are both added as matches and menu - completion is started, making it easy to select either of them. - -sort - This allows the standard ordering of matches to be overridden. - - If its value is 'true' or 'false', sorting is enabled or disabled. - Additionally the values associated with the '-o' option to compadd - can also be listed: match, nosort, numeric, reverse. If it is not - set for the context, the standard behaviour of the calling widget - is used. - - The style is tested first against the full context including the - tag, and if that fails to produce a value against the context - without the tag. - - In many cases where a calling widget explicitly selects a - particular ordering in lieu of the default, a value of 'true' is - not honoured. An example of where this is not the case is for - command history where the default of sorting matches - chronologically may be overridden by setting the style to 'true'. - - In the _expand completer, if it is set to 'true', the expansions - generated will always be sorted. If it is set to 'menu', then the - expansions are only sorted when they are offered as single strings - but not in the string containing all possible expansions. - -special-dirs - Normally, the completion code will not produce the directory names - '.' and '..' as possible completions. If this style is set to - 'true', it will add both '.' and '..' as possible completions; if - it is set to '..', only '..' will be added. - - The following example sets special-dirs to '..' when the current - prefix is empty, is a single '.', or consists only of a path - beginning with '../'. Otherwise the value is 'false'. - - zstyle -e ':completion:*' special-dirs \ - '[[ $PREFIX = (../)#(|.|..) ]] && reply=(..)' - -squeeze-slashes - If set to 'true', sequences of slashes in filename paths (for - example in 'foo//bar') will be treated as a single slash. This is - the usual behaviour of UNIX paths. However, by default the file - completion function behaves as if there were a '*' between the - slashes. - -stop - If set to 'true', the _history_complete_word bindable command will - stop once when reaching the beginning or end of the history. - Invoking _history_complete_word will then wrap around to the - opposite end of the history. If this style is set to 'false' (the - default), _history_complete_word will loop immediately as in a menu - completion. - -strip-comments - If set to 'true', this style causes non-essential comment text to - be removed from completion matches. Currently it is only used when - completing e-mail addresses where it removes any display name from - the addresses, cutting them down to plain USER@HOST form. - -subst-globs-only - This is used by the _expand completer. If it is set to 'true', the - expansion will only be used if it resulted from globbing; hence, if - expansions resulted from the use of the substitute style described - below, but these were not further changed by globbing, the - expansions will be rejected. - - The default for this style is 'false'. - -substitute - This boolean style controls whether the _expand completer will - first try to expand all substitutions in the string (such as - '$(...)' and '${...}'). - - The default is 'true'. - -suffix - This is used by the _expand completer if the word starts with a - tilde or contains a parameter expansion. If it is set to 'true', - the word will only be expanded if it doesn't have a suffix, i.e. - if it is something like '~foo' or '$foo' rather than '~foo/' or - '$foo/bar', unless that suffix itself contains characters eligible - for expansion. The default for this style is 'true'. - -tag-order - This provides a mechanism for sorting how the tags available in a - particular context will be used. - - The values for the style are sets of space-separated lists of tags. - The tags in each value will be tried at the same time; if no match - is found, the next value is used. (See the file-patterns style for - an exception to this behavior.) - - For example: - - zstyle ':completion:*:complete:-command-:*:*' tag-order \ - 'commands functions' - - specifies that completion in command position first offers external - commands and shell functions. Remaining tags will be tried if no - completions are found. - - In addition to tag names, each string in the value may take one of - the following forms: - - - - If any value consists of only a hyphen, then _only_ the tags - specified in the other values are generated. Normally all - tags not explicitly selected are tried last if the specified - tags fail to generate any matches. This means that a single - value consisting only of a single hyphen turns off completion. - - ! TAGS... - A string starting with an exclamation mark specifies names of - tags that are _not_ to be used. The effect is the same as if - all other possible tags for the context had been listed. - - TAG:LABEL ... - Here, TAG is one of the standard tags and LABEL is an - arbitrary name. Matches are generated as normal but the name - LABEL is used in contexts instead of TAG. This is not useful - in words starting with !. - - If the LABEL starts with a hyphen, the TAG is prepended to the - LABEL to form the name used for lookup. This can be used to - make the completion system try a certain tag more than once, - supplying different style settings for each attempt; see below - for an example. - - TAG:LABEL:DESCRIPTION - As before, but description will replace the '%d' in the value - of the format style instead of the default description - supplied by the completion function. Spaces in the - description must be quoted with a backslash. A '%d' appearing - in DESCRIPTION is replaced with the description given by the - completion function. - - In any of the forms above the tag may be a pattern or several - patterns in the form '{PAT1,PAT2...}'. In this case all matching - tags will be used except for any given explicitly in the same - string. - - One use of these features is to try one tag more than once, setting - other styles differently on each attempt, but still to use all the - other tags without having to repeat them all. For example, to make - completion of function names in command position ignore all the - completion functions starting with an underscore the first time - completion is tried: - - zstyle ':completion:*:*:-command-:*:*' tag-order \ - 'functions:-non-comp *' functions - zstyle ':completion:*:functions-non-comp' \ - ignored-patterns '_*' - - On the first attempt, all tags will be offered but the functions - tag will be replaced by functions-non-comp. The ignored-patterns - style is set for this tag to exclude functions starting with an - underscore. If there are no matches, the second value of the - tag-order style is used which completes functions using the default - tag, this time presumably including all function names. - - The matches for one tag can be split into different groups. For - example: - - zstyle ':completion:*' tag-order \ - 'options:-long:long\ options - options:-short:short\ options - options:-single-letter:single\ letter\ options' - zstyle ':completion:*:options-long' \ - ignored-patterns '[-+](|-|[^-]*)' - zstyle ':completion:*:options-short' \ - ignored-patterns '--*' '[-+]?' - zstyle ':completion:*:options-single-letter' \ - ignored-patterns '???*' - - With the group-names style set, options beginning with '--', - options beginning with a single '-' or '+' but containing multiple - characters, and single-letter options will be displayed in separate - groups with different descriptions. - - Another use of patterns is to try multiple match specifications one - after another. The matcher-list style offers something similar, - but it is tested very early in the completion system and hence - can't be set for single commands nor for more specific contexts. - Here is how to try normal completion without any match - specification and, if that generates no matches, try again with - case-insensitive matching, restricting the effect to arguments of - the command foo: - - zstyle ':completion:*:*:foo:*:*' tag-order '*' '*:-case' - zstyle ':completion:*-case' matcher 'm:{a-z}={A-Z}' - - First, all the tags offered when completing after foo are tried - using the normal tag name. If that generates no matches, the - second value of tag-order is used, which tries all tags again - except that this time each has -case appended to its name for - lookup of styles. Hence this time the value for the matcher style - from the second call to zstyle in the example is used to make - completion case-insensitive. - - It is possible to use the -e option of the zstyle builtin command - to specify conditions for the use of particular tags. For example: - - zstyle -e '*:-command-:*' tag-order ' - if [[ -n $PREFIX$SUFFIX ]]; then - reply=( ) - else - reply=( - ) - fi' - - Completion in command position will be attempted only if the string - typed so far is not empty. This is tested using the PREFIX special - parameter; see *note Completion Widgets:: for a description of - parameters which are special inside completion widgets. Setting - reply to an empty array provides the default behaviour of trying - all tags at once; setting it to an array containing only a hyphen - disables the use of all tags and hence of all completions. - - If no tag-order style has been defined for a context, the strings - '(|*-)argument-* (|*-)option-* values' and 'options' plus all tags - offered by the completion function will be used to provide a - sensible default behavior that causes arguments (whether normal - command arguments or arguments of options) to be completed before - option names for most commands. - -urls - This is used together with the urls tag by functions completing - URLs. - - If the value consists of more than one string, or if the only - string does not name a file or directory, the strings are used as - the URLs to complete. - - If the value contains only one string which is the name of a normal - file the URLs are taken from that file (where the URLs may be - separated by white space or newlines). - - Finally, if the only string in the value names a directory, the - directory hierarchy rooted at this directory gives the completions. - The top level directory should be the file access method, such as - 'http', 'ftp', 'bookmark' and so on. In many cases the next level - of directories will be a filename. The directory hierarchy can - descend as deep as necessary. - - For example, - - zstyle ':completion:*' urls ~/.urls - mkdir -p ~/.urls/ftp/ftp.zsh.org/pub - - allows completion of all the components of the URL - ftp://ftp.zsh.org/pub after suitable commands such as 'netscape' or - 'lynx'. Note, however, that access methods and files are completed - separately, so if the hosts style is set hosts can be completed - without reference to the urls style. - - See the description in the function _urls itself for more - information (e.g. 'more $^fpath/_urls(N)'). - -use-cache - If this is set, the completion caching layer is activated for any - completions which use it (via the _store_cache, _retrieve_cache, - and _cache_invalid functions). The directory containing the cache - files can be changed with the cache-path style. - -use-compctl - If this style is set to a string _not_ equal to false, 0, no, and - off, the completion system may use any completion specifications - defined with the compctl builtin command. If the style is unset, - this is done only if the zsh/compctl module is loaded. The string - may also contain the substring 'first' to use completions defined - with 'compctl -T', and the substring 'default' to use the - completion defined with 'compctl -D'. - - Note that this is only intended to smooth the transition from - compctl to the new completion system and may disappear in the - future. - - Note also that the definitions from compctl will only be used if - there is no specific completion function for the command in - question. For example, if there is a function _foo to complete - arguments to the command foo, compctl will never be invoked for - foo. However, the compctl version will be tried if foo only uses - default completion. - -use-ip - By default, the function _hosts that completes host names strips IP - addresses from entries read from host databases such as NIS and ssh - files. If this style is 'true', the corresponding IP addresses can - be completed as well. This style is not use in any context where - the hosts style is set; note also it must be set before the cache - of host names is generated (typically the first completion - attempt). - -users - This may be set to a list of usernames to be completed. If it is - not set all usernames will be completed. Note that if it is set - only that list of users will be completed; this is because on some - systems querying all users can take a prohibitive amount of time. - -users-hosts - The values of this style should be of the form 'USER@HOST' or - 'USER:HOST'. It is used for commands that need pairs of user- and - hostnames. These commands will complete usernames from this style - (only), and will restrict subsequent hostname completion to hosts - paired with that user in one of the values of the style. - - It is possible to group values for sets of commands which allow a - remote login, such as rlogin and ssh, by using the my-accounts tag. - Similarly, values for sets of commands which usually refer to the - accounts of other people, such as talk and finger, can be grouped - by using the other-accounts tag. More ambivalent commands may use - the accounts tag. - -users-hosts-ports - Like users-hosts but used for commands like telnet and containing - strings of the form 'USER@HOST:PORT'. - -verbose - If set, as it is by default, the completion listing is more - verbose. In particular many commands show descriptions for options - if this style is 'true'. - -word - This is used by the _list completer, which prevents the insertion - of completions until a second completion attempt when the line has - not changed. The normal way of finding out if the line has changed - is to compare its entire contents between the two occasions. If - this style is 'true', the comparison is instead performed only on - the current word. Hence if completion is performed on another word - with the same contents, completion will not be delayed. - - -File: zsh.info, Node: Control Functions, Next: Bindable Commands, Prev: Completion System Configuration, Up: Completion System - -20.4 Control Functions -====================== - -The initialization script compinit redefines all the widgets which -perform completion to call the supplied widget function _main_complete. -This function acts as a wrapper calling the so-called 'completer' -functions that generate matches. If _main_complete is called with -arguments, these are taken as the names of completer functions to be -called in the order given. If no arguments are given, the set of -functions to try is taken from the completer style. For example, to use -normal completion and correction if that doesn't generate any matches: - - zstyle ':completion:*' completer _complete _correct - -after calling compinit. The default value for this style is '_complete -_ignored', i.e. normally only ordinary completion is tried, first with -the effect of the ignored-patterns style and then without it. The -_main_complete function uses the return status of the completer -functions to decide if other completers should be called. If the return -status is zero, no other completers are tried and the _main_complete -function returns. - -If the first argument to _main_complete is a single hyphen, the -arguments will not be taken as names of completers. Instead, the second -argument gives a name to use in the COMPLETER field of the context and -the other arguments give a command name and arguments to call to -generate the matches. - -The following completer functions are contained in the distribution, -although users may write their own. Note that in contexts the leading -underscore is stripped, for example basic completion is performed in the -context ':completion::complete:...'. - -_all_matches - This completer can be used to add a string consisting of all other - matches. As it influences later completers it must appear as the - first completer in the list. The list of all matches is affected - by the avoid-completer and old-matches styles described above. - - It may be useful to use the _generic function described below to - bind _all_matches to its own keystroke, for example: - - zle -C all-matches complete-word _generic - bindkey '^Xa' all-matches - zstyle ':completion:all-matches:*' old-matches only - zstyle ':completion:all-matches::::' completer _all_matches - - Note that this does not generate completions by itself: first use - any of the standard ways of generating a list of completions, then - use ^Xa to show all matches. It is possible instead to add a - standard completer to the list and request that the list of all - matches should be directly inserted: - - zstyle ':completion:all-matches::::' completer \ - _all_matches _complete - zstyle ':completion:all-matches:*' insert true - - In this case the old-matches style should not be set. - -_approximate - This is similar to the basic _complete completer but allows the - completions to undergo corrections. The maximum number of errors - can be specified by the max-errors style; see the description of - approximate matching in *note Filename Generation:: for how errors - are counted. Normally this completer will only be tried after the - normal _complete completer: - - zstyle ':completion:*' completer _complete _approximate - - This will give correcting completion if and only if normal - completion yields no possible completions. When corrected - completions are found, the completer will normally start menu - completion allowing you to cycle through these strings. - - This completer uses the tags corrections and original when - generating the possible corrections and the original string. The - format style for the former may contain the additional sequences - '%e' and '%o' which will be replaced by the number of errors - accepted to generate the corrections and the original string, - respectively. - - The completer progressively increases the number of errors allowed - up to the limit by the max-errors style, hence if a completion is - found with one error, no completions with two errors will be shown, - and so on. It modifies the completer name in the context to - indicate the number of errors being tried: on the first try the - completer field contains 'approximate-1', on the second try - 'approximate-2', and so on. - - When _approximate is called from another function, the number of - errors to accept may be passed with the -a option. The argument is - in the same format as the max-errors style, all in one string. - - Note that this completer (and the _correct completer mentioned - below) can be quite expensive to call, especially when a large - number of errors are allowed. One way to avoid this is to set up - the completer style using the -e option to zstyle so that some - completers are only used when completion is attempted a second time - on the same string, e.g.: - - zstyle -e ':completion:*' completer ' - if [[ $_last_try != "$HISTNO$BUFFER$CURSOR" ]]; then - _last_try="$HISTNO$BUFFER$CURSOR" - reply=(_complete _match _prefix) - else - reply=(_ignored _correct _approximate) - fi' - - This uses the HISTNO parameter and the BUFFER and CURSOR special - parameters that are available inside zle and completion widgets to - find out if the command line hasn't changed since the last time - completion was tried. Only then are the _ignored, _correct and - _approximate completers called. - -_canonical_paths [ -A VAR ] [ -N ] [ -MJV12nfX ] TAG DESCR [ PATHS ... ] - This completion function completes all paths given to it, and also - tries to offer completions which point to the same file as one of - the paths given (relative path when an absolute path is given, and - vice versa; when ..'s are present in the word to be completed; and - some paths got from symlinks). - - -A, if specified, takes the paths from the array variable - specified. Paths can also be specified on the command line as - shown above. -N, if specified, prevents canonicalizing the paths - given before using them for completion, in case they are already - so. The options -M, -J, -V, -1, -2, -n, -F, -X are passed to - compadd. - - See _description for a description of TAG and DESCR. - -_cmdambivalent - Completes the remaining positional arguments as an external - command. The external command and its arguments are completed as - separate arguments (in a manner appropriate for completing - /usr/bin/env) if there are two or more remaining positional - arguments on the command line, and as a quoted command string (in - the manner of system(...)) otherwise. See also _cmdstring and - _precommand. - - This function takes no arguments. - -_cmdstring - Completes an external command as a single argument, as for - system(...). - -_complete - This completer generates all possible completions in a - context-sensitive manner, i.e. using the settings defined with the - compdef function explained above and the current settings of all - special parameters. This gives the normal completion behaviour. - - To complete arguments of commands, _complete uses the utility - function _normal, which is in turn responsible for finding the - particular function; it is described below. Various contexts of - the form -CONTEXT- are handled specifically. These are all - mentioned above as possible arguments to the #compdef tag. - - Before trying to find a function for a specific context, _complete - checks if the parameter 'compcontext' is set. Setting - 'compcontext' allows the usual completion dispatching to be - overridden which is useful in places such as a function that uses - vared for input. If it is set to an array, the elements are taken - to be the possible matches which will be completed using the tag - 'values' and the description 'value'. If it is set to an - associative array, the keys are used as the possible completions - and the values (if non-empty) are used as descriptions for the - matches. If 'compcontext' is set to a string containing colons, it - should be of the form 'TAG:DESCR:ACTION'. In this case the TAG and - DESCR give the tag and description to use and the ACTION indicates - what should be completed in one of the forms accepted by the - _arguments utility function described below. - - Finally, if 'compcontext' is set to a string without colons, the - value is taken as the name of the context to use and the function - defined for that context will be called. For this purpose, there - is a special context named -command-line- that completes whole - command lines (commands and their arguments). This is not used by - the completion system itself but is nonetheless handled when - explicitly called. - -_correct - Generate corrections, but not completions, for the current word; - this is similar to _approximate but will not allow any number of - extra characters at the cursor as that completer does. The effect - is similar to spell-checking. It is based on _approximate, but the - completer field in the context name is correct. - - For example, with: - - zstyle ':completion:::::' completer \ - _complete _correct _approximate - zstyle ':completion:*:correct:::' max-errors 2 not-numeric - zstyle ':completion:*:approximate:::' max-errors 3 numeric - - correction will accept up to two errors. If a numeric argument is - given, correction will not be performed, but correcting completion - will be, and will accept as many errors as given by the numeric - argument. Without a numeric argument, first correction and then - correcting completion will be tried, with the first one accepting - two errors and the second one accepting three errors. - - When _correct is called as a function, the number of errors to - accept may be given following the -a option. The argument is in - the same form a values to the accept style, all in one string. - - This completer function is intended to be used without the - _approximate completer or, as in the example, just before it. - Using it after the _approximate completer is useless since - _approximate will at least generate the corrected strings generated - by the _correct completer -- and probably more. - -_expand - This completer function does not really perform completion, but - instead checks if the word on the command line is eligible for - expansion and, if it is, gives detailed control over how this - expansion is done. For this to happen, the completion system needs - to be invoked with complete-word, not expand-or-complete (the - default binding for TAB), as otherwise the string will be expanded - by the shell's internal mechanism before the completion system is - started. Note also this completer should be called before the - _complete completer function. - - The tags used when generating expansions are all-expansions for the - string containing all possible expansions, expansions when adding - the possible expansions as single matches and original when adding - the original string from the line. The order in which these - strings are generated, if at all, can be controlled by the - group-order and tag-order styles, as usual. - - The format string for all-expansions and for expansions may contain - the sequence '%o' which will be replaced by the original string - from the line. - - The kind of expansion to be tried is controlled by the substitute, - glob and subst-globs-only styles. - - It is also possible to call _expand as a function, in which case - the different modes may be selected with options: -s for - substitute, -g for glob and -o for subst-globs-only. - -_expand_alias - If the word the cursor is on is an alias, it is expanded and no - other completers are called. The types of aliases which are to be - expanded can be controlled with the styles regular, global and - disabled. - - This function is also a bindable command, see *note Bindable - Commands::. - -_extensions - If the cursor follows the string '*.', filename extensions are - completed. The extensions are taken from files in current - directory or a directory specified at the beginning of the current - word. For exact matches, completion continues to allow other - completers such as _expand to expand the pattern. The standard - add-space and prefix-hidden styles are observed. - -_external_pwds - Completes current directories of other zsh processes belonging to - the current user. - - This is intended to be used via _generic, bound to a custom key - combination. Note that pattern matching is enabled so matching is - performed similar to how it works with the _match completer. - -_history - Complete words from the shell's command history. This completer - can be controlled by the remove-all-dups, and sort styles as for - the _history_complete_word bindable command, see *note Bindable - Commands:: and *note Completion System Configuration::. - -_ignored - The ignored-patterns style can be set to a list of patterns which - are compared against possible completions; matching ones are - removed. With this completer those matches can be reinstated, as - if no ignored-patterns style were set. The completer actually - generates its own list of matches; which completers are invoked is - determined in the same way as for the _prefix completer. The - single-ignored style is also available as described above. - -_list - This completer allows the insertion of matches to be delayed until - completion is attempted a second time without the word on the line - being changed. On the first attempt, only the list of matches will - be shown. It is affected by the styles condition and word, see - *note Completion System Configuration::. - -_match - This completer is intended to be used after the _complete - completer. It behaves similarly but the string on the command line - may be a pattern to match against trial completions. This gives - the effect of the GLOB_COMPLETE option. - - Normally completion will be performed by taking the pattern from - the line, inserting a '*' at the cursor position and comparing the - resulting pattern with the possible completions generated. This - can be modified with the match-original style described above. - - The generated matches will be offered in a menu completion unless - the insert-unambiguous style is set to 'true'; see the description - above for other options for this style. - - Note that matcher specifications defined globally or used by the - completion functions (the styles matcher-list and matcher) will not - be used. - -_menu - This completer was written as simple example function to show how - menu completion can be enabled in shell code. However, it has the - notable effect of disabling menu selection which can be useful with - _generic based widgets. It should be used as the first completer - in the list. Note that this is independent of the setting of the - MENU_COMPLETE option and does not work with the other menu - completion widgets such as reverse-menu-complete, or - accept-and-menu-complete. - -_oldlist - This completer controls how the standard completion widgets behave - when there is an existing list of completions which may have been - generated by a special completion (i.e. a separately-bound - completion command). It allows the ordinary completion keys to - continue to use the list of completions thus generated, instead of - producing a new list of ordinary contextual completions. It should - appear in the list of completers before any of the widgets which - generate matches. It uses two styles: old-list and old-menu, see - *note Completion System Configuration::. - -_precommand - Complete an external command in word-separated arguments, as for - exec and /usr/bin/env. - -_prefix - This completer can be used to try completion with the suffix - (everything after the cursor) ignored. In other words, the suffix - will not be considered to be part of the word to complete. The - effect is similar to the expand-or-complete-prefix command. - - The completer style is used to decide which other completers are to - be called to generate matches. If this style is unset, the list of - completers set for the current context is used -- except, of - course, the _prefix completer itself. Furthermore, if this - completer appears more than once in the list of completers only - those completers not already tried by the last invocation of - _prefix will be called. - - For example, consider this global completer style: - - zstyle ':completion:*' completer \ - _complete _prefix _correct _prefix:foo - - Here, the _prefix completer tries normal completion but ignoring - the suffix. If that doesn't generate any matches, and neither does - the call to the _correct completer after it, _prefix will be called - a second time and, now only trying correction with the suffix - ignored. On the second invocation the completer part of the - context appears as 'foo'. - - To use _prefix as the last resort and try only normal completion - when it is invoked: - - zstyle ':completion:*' completer _complete ... _prefix - zstyle ':completion::prefix:*' completer _complete - - The add-space style is also respected. If it is set to 'true' then - _prefix will insert a space between the matches generated (if any) - and the suffix. - - Note that this completer is only useful if the COMPLETE_IN_WORD - option is set; otherwise, the cursor will be moved to the end of - the current word before the completion code is called and hence - there will be no suffix. - -_user_expand - This completer behaves similarly to the _expand completer but - instead performs expansions defined by users. The styles add-space - and sort styles specific to the _expand completer are usable with - _user_expand in addition to other styles handled more generally by - the completion system. The tag all-expansions is also available. - - The expansion depends on the array style user-expand being defined - for the current context; remember that the context for completers - is less specific than that for contextual completion as the full - context has not yet been determined. Elements of the array may - have one of the following forms: - - $HASH - - HASH is the name of an associative array. Note this is not a - full parameter expression, merely a $, suitably quoted to - prevent immediate expansion, followed by the name of an - associative array. If the trial expansion word matches a key - in HASH, the resulting expansion is the corresponding value. - - _FUNC - - _FUNC is the name of a shell function whose name must begin - with _ but is not otherwise special to the completion system. - The function is called with the trial word as an argument. If - the word is to be expanded, the function should set the array - reply to a list of expansions. Optionally, it can set REPLY - to a word that will be used as a description for the set of - expansions. The return status of the function is irrelevant. - - -File: zsh.info, Node: Bindable Commands, Next: Completion Functions, Prev: Control Functions, Up: Completion System - -20.5 Bindable Commands -====================== - -In addition to the context-dependent completions provided, which are -expected to work in an intuitively obvious way, there are a few widgets -implementing special behaviour which can be bound separately to keys. -The following is a list of these and their default bindings. - -_bash_completions - This function is used by two widgets, _bash_complete-word and - _bash_list-choices. It exists to provide compatibility with - completion bindings in bash. The last character of the binding - determines what is completed: '!', command names; '$', environment - variables; '@', host names; '/', file names; '~' user names. In - bash, the binding preceded by '\e' gives completion, and preceded - by '^X' lists options. As some of these bindings clash with - standard zsh bindings, only '\e~' and '^X~' are bound by default. - To add the rest, the following should be added to .zshrc after - compinit has been run: - - for key in '!' '$' '@' '/' '~'; do - bindkey "\e$key" _bash_complete-word - bindkey "^X$key" _bash_list-choices - done - - This includes the bindings for '~' in case they were already bound - to something else; the completion code does not override user - bindings. - -_correct_filename (^XC) - Correct the filename path at the cursor position. Allows up to six - errors in the name. Can also be called with an argument to correct - a filename path, independently of zle; the correction is printed on - standard output. - -_correct_word (^Xc) - Performs correction of the current argument using the usual - contextual completions as possible choices. This stores the string - 'correct-word' in the FUNCTION field of the context name and then - calls the _correct completer. - -_expand_alias (^Xa) - This function can be used as a completer and as a bindable command. - It expands the word the cursor is on if it is an alias. The types - of alias expanded can be controlled with the styles regular, global - and disabled. - - When used as a bindable command there is one additional feature - that can be selected by setting the complete style to 'true'. In - this case, if the word is not the name of an alias, _expand_alias - tries to complete the word to a full alias name without expanding - it. It leaves the cursor directly after the completed word so that - invoking _expand_alias once more will expand the now-complete alias - name. - -_expand_word (^Xe) - Performs expansion on the current word: equivalent to the standard - expand-word command, but using the _expand completer. Before - calling it, the FUNCTION field of the context is set to - 'expand-word'. - -_generic - This function is not defined as a widget and not bound by default. - However, it can be used to define a widget and will then store the - name of the widget in the FUNCTION field of the context and call - the completion system. This allows custom completion widgets with - their own set of style settings to be defined easily. For example, - to define a widget that performs normal completion and starts menu - selection: - - zle -C foo complete-word _generic - bindkey '...' foo - zstyle ':completion:foo:*' menu yes select=1 - - Note in particular that the completer style may be set for the - context in order to change the set of functions used to generate - possible matches. If _generic is called with arguments, those are - passed through to _main_complete as the list of completers in place - of those defined by the completer style. - -_history_complete_word (\e/) - Complete words from the shell's command history. This uses the - list, remove-all-dups, sort, and stop styles. - -_most_recent_file (^Xm) - Complete the name of the most recently modified file matching the - pattern on the command line (which may be blank). If given a - numeric argument N, complete the Nth most recently modified file. - Note the completion, if any, is always unique. - -_next_tags (^Xn) - This command alters the set of matches used to that for the next - tag, or set of tags, either as given by the tag-order style or as - set by default; these matches would otherwise not be available. - Successive invocations of the command cycle through all possible - sets of tags. - -_read_comp (^X^R) - Prompt the user for a string, and use that to perform completion on - the current word. There are two possibilities for the string. - First, it can be a set of words beginning '_', for example '_files - -/', in which case the function with any arguments will be called - to generate the completions. Unambiguous parts of the function - name will be completed automatically (normal completion is not - available at this point) until a space is typed. - - Second, any other string will be passed as a set of arguments to - compadd and should hence be an expression specifying what should be - completed. - - A very restricted set of editing commands is available when reading - the string: 'DEL' and '^H' delete the last character; '^U' deletes - the line, and '^C' and '^G' abort the function, while 'RET' accepts - the completion. Note the string is used verbatim as a command - line, so arguments must be quoted in accordance with standard shell - rules. - - Once a string has been read, the next call to _read_comp will use - the existing string instead of reading a new one. To force a new - string to be read, call _read_comp with a numeric argument. - -_complete_debug (^X?) - This widget performs ordinary completion, but captures in a - temporary file a trace of the shell commands executed by the - completion system. Each completion attempt gets its own file. A - command to view each of these files is pushed onto the editor - buffer stack. - -_complete_help (^Xh) - This widget displays information about the context names, the tags, - and the completion functions used when completing at the current - cursor position. If given a numeric argument other than 1 (as in - 'ESC-2 ^Xh'), then the styles used and the contexts for which they - are used will be shown, too. - - Note that the information about styles may be incomplete; it - depends on the information available from the completion functions - called, which in turn is determined by the user's own styles and - other settings. - -_complete_help_generic - Unlike other commands listed here, this must be created as a normal - ZLE widget rather than a completion widget (i.e. with zle -N). It - is used for generating help with a widget bound to the _generic - widget that is described above. - - If this widget is created using the name of the function, as it is - by default, then when executed it will read a key sequence. This - is expected to be bound to a call to a completion function that - uses the _generic widget. That widget will be executed, and - information provided in the same format that the _complete_help - widget displays for contextual completion. - - If the widget's name contains debug, for example if it is created - as 'zle -N _complete_debug_generic _complete_help_generic', it will - read and execute the keystring for a generic widget as before, but - then generate debugging information as done by _complete_debug for - contextual completion. - - If the widget's name contains noread, it will not read a keystring - but instead arrange that the next use of a generic widget run in - the same shell will have the effect as described above. - - The widget works by setting the shell parameter - ZSH_TRACE_GENERIC_WIDGET which is read by _generic. Unsetting the - parameter cancels any pending effect of the noread form. - - For example, after executing the following: - - zle -N _complete_debug_generic _complete_help_generic - bindkey '^x:' _complete_debug_generic - - typing 'C-x :' followed by the key sequence for a generic widget - will cause trace output for that widget to be saved to a file. - -_complete_tag (^Xt) - This widget completes symbol tags created by the etags or ctags - programmes (note there is no connection with the completion - system's tags) stored in a file TAGS, in the format used by etags, - or tags, in the format created by ctags. It will look back up the - path hierarchy for the first occurrence of either file; if both - exist, the file TAGS is preferred. You can specify the full path - to a TAGS or tags file by setting the parameter $TAGSFILE or - $tagsfile respectively. The corresponding completion tags used are - etags and vtags, after emacs and vi respectively. - - -File: zsh.info, Node: Completion Functions, Next: Completion System Variables, Prev: Bindable Commands, Up: Completion System - -20.6 Utility Functions -====================== - -Descriptions follow for utility functions that may be useful when -writing completion functions. If functions are installed in -subdirectories, most of these reside in the Base subdirectory. Like the -example functions for commands in the distribution, the utility -functions generating matches all follow the convention of returning -status zero if they generated completions and non-zero if no matching -completions could be added. - -_absolute_command_paths - This function completes external commands as absolute paths (unlike - _command_names -e which completes their basenames). It takes no - arguments. - -_all_labels [ -x ] [ -12VJ ] TAG NAME DESCR [ COMMAND ARG ... ] - This is a convenient interface to the _next_label function below, - implementing the loop shown in the _next_label example. The - COMMAND and its arguments are called to generate the matches. The - options stored in the parameter NAME will automatically be inserted - into the ARGs passed to the COMMAND. Normally, they are put - directly after the COMMAND, but if one of the ARGs is a single - hyphen, they are inserted directly before that. If the hyphen is - the last argument, it will be removed from the argument list before - the COMMAND is called. This allows _all_labels to be used in - almost all cases where the matches can be generated by a single - call to the compadd builtin command or by a call to one of the - utility functions. - - For example: - - local expl - ... - if _requested foo; then - ... - _all_labels foo expl '...' compadd ... - $matches - fi - - Will complete the strings from the matches parameter, using compadd - with additional options which will take precedence over those - generated by _all_labels. - -_alternative [ -O NAME ] [ -C NAME ] SPEC ... - This function is useful in simple cases where multiple tags are - available. Essentially it implements a loop like the one described - for the _tags function below. - - The tags to use and the action to perform if a tag is requested are - described using the SPECs which are of the form: - 'TAG:DESCR:ACTION'. The TAGs are offered using _tags and if the - tag is requested, the ACTION is executed with the given description - DESCR. The ACTIONs are those accepted by the _arguments function - (described below), with the following exceptions: - - • The '->STATE' and '=...' forms are not supported. - - • The '((a\:bar b\:baz))' form does not need the colon to be - escaped, since the SPECs have no colon-separated fields after - the ACTION. - - For example, the ACTION may be a simple function call: - - _alternative \ - 'users:user:_users' \ - 'hosts:host:_hosts' - - offers usernames and hostnames as possible matches, generated by - the _users and _hosts functions respectively. - - Like _arguments, this function uses _all_labels to execute the - actions, which will loop over all sets of tags. Special handling - is only required if there is an additional valid tag, for example - inside a function called from _alternative. - - The option '-O NAME' is used in the same way as by the _arguments - function. In other words, the elements of the NAME array will be - passed to compadd when executing an action. - - Like _tags this function supports the -C option to give a different - name for the argument context field. - -_arguments [ -nswWCRS ] [ -A PAT ] [ -O NAME ] [ -M MATCHSPEC ] - [ : ] SPEC ... -_arguments [ OPT ... ] -- [ -l ] [ -i PATS ] [ -s PAIR ] - [ HELPSPEC ...] - This function can be used to give a complete specification for - completion for a command whose arguments follow standard UNIX - option and argument conventions. - - _Options Overview_ - - Options to _arguments itself must be in separate words, i.e. -s - -w, not -sw. The options are followed by SPECs that describe - options and arguments of the analyzed command. To avoid ambiguity, - all options to _arguments itself may be separated from the SPEC - forms by a single colon. - - The '--' form is used to intuit SPEC forms from the help output of - the command being analyzed, and is described in detail below. The - OPTS for the '--' form are otherwise the same options as the first - form. Note that '-s' following '--' has a distinct meaning from - '-s' preceding '--', and both may appear. - - The option switches -s, -S, -A, -w, and -W affect how _arguments - parses the analyzed command line's options. These switches are - useful for commands with standard argument parsing. - - The options of _arguments have the following meanings: - - -n - With this option, _arguments sets the parameter NORMARG to the - position of the first normal argument in the $words array, - i.e. the position after the end of the options. If that - argument has not been reached, NORMARG is set to -1. The - caller should declare 'integer NORMARG' if the -n option is - passed; otherwise the parameter is not used. - - -s - Enable _option stacking_ for single-letter options, whereby - multiple single-letter options may be combined into a single - word. For example, the two options '-x' and '-y' may be - combined into a single word '-xy'. By default, every word - corresponds to a single option name ('-xy' is a single option - named 'xy'). - - Options beginning with a single hyphen or plus sign are - eligible for stacking; words beginning with two hyphens are - not. - - Note that -s after -- has a different meaning, which is - documented in the segment entitled 'Deriving SPEC forms from - the help output'. - - -w - In combination with -s, allow option stacking even if one or - more of the options take arguments. For example, if -x takes - an argument, with no -s, '-xy' is considered as a single - (unhandled) option; with -s, -xy is an option with the - argument 'y'; with both -s and -w, -xy is the option -x and - the option -y with arguments to -x (and to -y, if it takes - arguments) still to come in subsequent words. - - -W - This option takes -w a stage further: it is possible to - complete single-letter options even after an argument that - occurs in the same word. However, it depends on the action - performed whether options will really be completed at this - point. For more control, use a utility function like _guard - as part of the action. - - -C - Modify the curcontext parameter for an action of the form - '->STATE'. This is discussed in detail below. - - -R - Return status 300 instead of zero when a $state is to be - handled, in the '->STRING' syntax. - - -S - Do not complete options after a '--' appearing on the line, - and ignore the '--'. For example, with -S, in the line - - foobar -x -- -y - - the '-x' is considered an option, the '-y' is considered an - argument, and the '--' is considered to be neither. - - -A PAT - Do not complete options after the first non-option argument on - the line. PAT is a pattern matching all strings which are not - to be taken as arguments. For example, to make _arguments - stop completing options after the first normal argument, but - ignoring all strings starting with a hyphen even if they are - not described by one of the OPTSPECs, the form is '-A "-*"'. - - -O NAME - Pass the elements of the array NAME as arguments to functions - called to execute ACTIONs. This is discussed in detail below. - - -M MATCHSPEC - Use the match specification MATCHSPEC for completing option - names and values. The default MATCHSPEC allows partial word - completion after '_' and '-', such as completing '-f-b' to - '-foo-bar'. The default MATCHSPEC is: - r:|[_-]=* r:|=* - - -0 - When populating values of the 'opt_args' associative array, - don't backslash-escape colons and backslashes and use NUL - rather than colon for joining multiple values. This option is - described in more detail below, under the heading _SPECs: - actions_. - - _SPECs: overview_ - - Each of the following forms is a SPEC describing individual sets of - options or arguments on the command line being analyzed. - - N:MESSAGE:ACTION - N::MESSAGE:ACTION - This describes the N'th normal argument. The MESSAGE will be - printed above the matches generated and the ACTION indicates - what can be completed in this position (see below). If there - are two colons before the MESSAGE the argument is optional. - If the MESSAGE contains only white space, nothing will be - printed above the matches unless the action adds an - explanation string itself. - - :MESSAGE:ACTION - ::MESSAGE:ACTION - Similar, but describes the _next_ argument, whatever number - that happens to be. If all arguments are specified in this - form in the correct order the numbers are unnecessary. - - *:MESSAGE:ACTION - *::MESSAGE:ACTION - *:::MESSAGE:ACTION - This describes how arguments (usually non-option arguments, - those not beginning with - or +) are to be completed when - neither of the first two forms was provided. Any number of - arguments can be completed in this fashion. - - With two colons before the MESSAGE, the words special array - and the CURRENT special parameter are modified to refer only - to the normal arguments when the ACTION is executed or - evaluated. With three colons before the MESSAGE they are - modified to refer only to the normal arguments covered by this - description. - - OPTSPEC - OPTSPEC:... - This describes an option. The colon indicates handling for - one or more arguments to the option; if it is not present, the - option is assumed to take no arguments. - - The following forms are available for the initial OPTSPEC, - whether or not the option has arguments. - - *OPTSPEC - Here OPTSPEC is one of the remaining forms below. This - indicates the following OPTSPEC may be repeated. - Otherwise if the corresponding option is already present - on the command line to the left of the cursor it will not - be offered again. - - -OPTNAME - +OPTNAME - In the simplest form the OPTSPEC is just the option name - beginning with a minus or a plus sign, such as '-foo'. - The first argument for the option (if any) must follow as - a _separate_ word directly after the option. - - Either of '-+OPTNAME' and '+-OPTNAME' can be used to - specify that -OPTNAME and +OPTNAME are both valid. - - In all the remaining forms, the leading '-' may be - replaced by or paired with '+' in this way. - - -OPTNAME- - The first argument of the option must come directly after - the option name _in the same word_. For example, - '-foo-:...' specifies that the completed option and - argument will look like '-fooARG'. - - -OPTNAME+ - The first argument may appear immediately after OPTNAME - in the same word, or may appear as a separate word after - the option. For example, '-foo+:...' specifies that the - completed option and argument will look like either - '-fooARG' or '-foo ARG'. - - -OPTNAME= - The argument may appear as the next word, or in same word - as the option name provided that it is separated from it - by an equals sign, for example '-foo=ARG' or '-foo ARG'. - - -OPTNAME=- - The argument to the option must appear after an equals - sign in the same word, and may not be given in the next - argument. - - OPTSPEC[EXPLANATION] - An explanation string may be appended to any of the - preceding forms of OPTSPEC by enclosing it in brackets, - as in '-q[query operation]'. - - The verbose style is used to decide whether the - explanation strings are displayed with the option in a - completion listing. - - If no bracketed explanation string is given but the - auto-description style is set and only one argument is - described for this OPTSPEC, the value of the style is - displayed, with any appearance of the sequence '%d' in it - replaced by the MESSAGE of the first OPTARG that follows - the OPTSPEC; see below. - - It is possible for options with a literal '+' or '=' to - appear, but that character must be quoted, for example '-\+'. - - Each OPTARG following an OPTSPEC must take one of the - following forms: - - :MESSAGE:ACTION - ::MESSAGE:ACTION - An argument to the option; MESSAGE and ACTION are treated - as for ordinary arguments. In the first form, the - argument is mandatory, and in the second form it is - optional. - - This group may be repeated for options which take - multiple arguments. In other words, - :MESSAGE1:ACTION1:MESSAGE2:ACTION2 specifies that the - option takes two arguments. - - :*PATTERN:MESSAGE:ACTION - :*PATTERN::MESSAGE:ACTION - :*PATTERN:::MESSAGE:ACTION - This describes multiple arguments. Only the last OPTARG - for an option taking multiple arguments may be given in - this form. If the PATTERN is empty (i.e. :*:), all the - remaining words on the line are to be completed as - described by the ACTION; otherwise, all the words up to - and including a word matching the PATTERN are to be - completed using the ACTION. - - Multiple colons are treated as for the '*:...' forms for - ordinary arguments: when the MESSAGE is preceded by two - colons, the words special array and the CURRENT special - parameter are modified during the execution or evaluation - of the ACTION to refer only to the words after the - option. When preceded by three colons, they are modified - to refer only to the words covered by this description. - - Any literal colon in an OPTNAME, MESSAGE, or ACTION must be - preceded by a backslash, '\:'. - - Each of the forms above may be preceded by a list in parentheses of - option names and argument numbers. If the given option is on the - command line, the options and arguments indicated in parentheses - will not be offered. For example, '(-two -three 1)-one:...' - completes the option '-one'; if this appears on the command line, - the options -two and -three and the first ordinary argument will - not be completed after it. '(-foo):...' specifies an ordinary - argument completion; -foo will not be completed if that argument is - already present. - - Other items may appear in the list of excluded options to indicate - various other items that should not be applied when the current - specification is matched: a single star (*) for the rest arguments - (i.e. a specification of the form '*:...'); a colon (:) for all - normal (non-option-) arguments; and a hyphen (-) for all options. - For example, if '(*)' appears before an option and the option - appears on the command line, the list of remaining arguments (those - shown in the above table beginning with '*:') will not be - completed. - - To aid in reuse of specifications, it is possible to precede any of - the forms above with '!'; then the form will no longer be - completed, although if the option or argument appears on the - command line they will be skipped as normal. The main use for this - is when the arguments are given by an array, and _arguments is - called repeatedly for more specific contexts: on the first call - '_arguments $global_options' is used, and on subsequent calls - '_arguments !$^global_options'. - - _SPECs: actions_ - - In each of the forms above the ACTION determines how completions - should be generated. Except for the '->STRING' form below, the - ACTION will be executed by calling the _all_labels function to - process all tag labels. No special handling of tags is needed - unless a function call introduces a new one. - - The functions called to execute ACTIONs will be called with the - elements of the array named by the '-O NAME' option as arguments. - This can be used, for example, to pass the same set of options for - the compadd builtin to all ACTIONs. - - The forms for ACTION are as follows. - - (single unquoted space) - This is useful where an argument is required but it is not - possible or desirable to generate matches for it. The MESSAGE - will be displayed but no completions listed. Note that even - in this case the colon at the end of the MESSAGE is needed; it - may only be omitted when neither a MESSAGE nor an ACTION is - given. - - (ITEM1 ITEM2 ...) - One of a list of possible matches, for example: - - :foo:(foo bar baz) - - ((ITEM1\:DESC1 ...)) - Similar to the above, but with descriptions for each possible - match. Note the backslash before the colon. For example, - - :foo:((a\:bar b\:baz)) - - The matches will be listed together with their descriptions if - the description style is set with the values tag in the - context. - - ->STRING - In this form, _arguments processes the arguments and options - and then returns control to the calling function with - parameters set to indicate the state of processing; the - calling function then makes its own arrangements for - generating completions. For example, functions that implement - a state machine can use this type of action. - - Where _arguments encounters ACTION in the '->STRING' format, - it will strip all leading and trailing whitespace from STRING - and set the array state to the set of all STRINGs for which an - action is to be performed. The elements of the array - state_descr are assigned the corresponding MESSAGE field from - each OPTARG containing such an ACTION. - - By default and in common with all other well behaved - completion functions, _arguments returns status zero if it was - able to add matches and non-zero otherwise. However, if the - -R option is given, _arguments will instead return a status of - 300 to indicate that $state is to be handled. - - In addition to $state and $state_descr, _arguments also sets - the global parameters 'context', 'line' and 'opt_args' as - described below, and does not reset any changes made to the - special parameters such as PREFIX and words. This gives the - calling function the choice of resetting these parameters or - propagating changes in them. - - A function calling _arguments with at least one action - containing a '->STRING' must therefore declare appropriate - local parameters: - - local context state state_descr line - typeset -A opt_args - - to prevent _arguments from altering the global environment. - - {EVAL-STRING} - A string in braces is evaluated as shell code to generate - matches. If the EVAL-STRING itself does not begin with an - opening parenthesis or brace it is split into separate words - before execution. - - = ACTION - If the ACTION starts with '= ' (an equals sign followed by a - space), _arguments will insert the contents of the ARGUMENT - field of the current context as the new first element in the - words special array and increment the value of the CURRENT - special parameter. This has the effect of inserting a dummy - word onto the completion command line while not changing the - point at which completion is taking place. - - This is most useful with one of the specifiers that restrict - the words on the command line on which the ACTION is to - operate (the two- and three-colon forms above). One - particular use is when an ACTION itself causes _arguments on a - restricted range; it is necessary to use this trick to insert - an appropriate command name into the range for the second call - to _arguments to be able to parse the line. - - WORD... - WORD... - This covers all forms other than those above. If the ACTION - starts with a space, the remaining list of words will be - invoked unchanged. - - Otherwise it will be invoked with some extra strings placed - after the first word; these are to be passed down as options - to the compadd builtin. They ensure that the state specified - by _arguments, in particular the descriptions of options and - arguments, is correctly passed to the completion command. - These additional arguments are taken from the array parameter - 'expl'; this will be set up before executing the ACTION and - hence may be referred to inside it, typically in an expansion - of the form '$expl[@]' which preserves empty elements of the - array. - - During the performance of the action the array 'line' will be set - to the normal arguments from the command line, i.e. the words from - the command line after the command name excluding all options and - their arguments. Options are stored in the associative array - 'opt_args' with option names as keys and their arguments as the - values. By default, all colons and backslashes in the value are - escaped with backslashes, and if an option has multiple arguments - (for example, when using an OPTSPEC of the form '*OPTSPEC'), they - are joined with (unescaped) colons. However, if the -0 option was - passed, no backslash escaping is performed, and multiple values are - joined with NUL bytes. For example, after 'zsh -o foo:foo -o - bar:bar -o <TAB>', the contents of 'opt_args' would be - - typeset -A opt_args=( [-o]='foo\:foo:bar\:bar:' ) - - by default, and - - typeset -A opt_args=( [-o]=$'foo:foo\x00bar:bar\x00' ) - - if _arguments had been called with the -0 option. - - The parameter 'context' is set when returning to the calling - function to perform an action of the form '->STRING'. It is set to - an array of elements corresponding to the elements of $state. Each - element is a suitable name for the argument field of the context: - either a string of the form 'option-OPT-N' for the N'th argument of - the option -OPT, or a string of the form 'argument-N' for the N'th - argument. For 'rest' arguments, that is those in the list at the - end not handled by position, N is the string 'rest'. For example, - when completing the argument of the -o option, the name is - 'option-o-1', while for the second normal (non-option-) argument it - is 'argument-2'. - - Furthermore, during the evaluation of the ACTION the context name - in the curcontext parameter is altered to append the same string - that is stored in the context parameter. - - The option -C tells _arguments to modify the curcontext parameter - for an action of the form '->STATE'. This is the standard - parameter used to keep track of the current context. Here it (and - not the context array) should be made local to the calling function - to avoid passing back the modified value and should be initialised - to the current value at the start of the function: - - local curcontext="$curcontext" - - This is useful where it is not possible for multiple states to be - valid together. - - _Grouping Options_ - - Options can be grouped to simplify exclusion lists. A group is - introduced with '+' followed by a name for the group in the - subsequent word. Whole groups can then be referenced in an - exclusion list or a group name can be used to disambiguate between - two forms of the same option. For example: - - _arguments \ - '(group2--x)-a' \ - + group1 \ - -m \ - '(group2)-n' \ - + group2 \ - -x -y - - If the name of a group is specified in the form '(NAME)' then only - one value from that group will ever be completed; more formally, - all specifications are mutually exclusive to all other - specifications in that group. This is useful for defining options - that are aliases for each other. For example: - - _arguments \ - -a -b \ - + '(operation)' \ - {-c,--compress}'[compress]' \ - {-d,--decompress}'[decompress]' \ - {-l,--list}'[list]' - - If an option in a group appears on the command line, it is stored - in the associative array 'opt_args' with 'GROUP-OPTION' as a key. - In the example above, a key 'operation--c' is used if the option - '-c' is present on the command line. - - _Specifying Multiple Sets of Arguments_ - - It is possible to specify multiple sets of options and arguments - with the sets separated by single hyphens. This differs from - groups in that sets are considered to be mutually exclusive of each - other. - - Specifications before the first set and from any group are common - to all sets. For example: - - _arguments \ - -a \ - - set1 \ - -c \ - - set2 \ - -d \ - ':arg:(x2 y2)' - - This defines two sets. When the command line contains the option - '-c', the '-d' option and the argument will not be considered - possible completions. When it contains '-d' or an argument, the - option '-c' will not be considered. However, after '-a' both sets - will still be considered valid. - - As for groups, the name of a set may appear in exclusion lists, - either alone or preceding a normal option or argument - specification. - - The completion code has to parse the command line separately for - each set. This can be slow so sets should only be used when - necessary. A useful alternative is often an option specification - with rest-arguments (as in '-foo:*:...'); here the option -foo - swallows up all remaining arguments as described by the OPTARG - definitions. - - _Deriving SPEC forms from the help output_ - - The option '--' allows _arguments to work out the names of long - options that support the '--help' option which is standard in many - GNU commands. The command word is called with the argument - '--help' and the output examined for option names. Clearly, it can - be dangerous to pass this to commands which may not support this - option as the behaviour of the command is unspecified. - - In addition to options, '_arguments --' will try to deduce the - types of arguments available for options when the form '--OPT=VAL' - is valid. It is also possible to provide hints by examining the - help text of the command and adding HELPSPEC of the form - 'PATTERN:MESSAGE:ACTION'; note that other _arguments SPEC forms are - not used. The PATTERN is matched against the help text for an - option, and if it matches the MESSAGE and ACTION are used as for - other argument specifiers. The special case of '*:' means both - MESSAGE and ACTION are empty, which has the effect of causing - options having no description in the help output to be ordered in - listings ahead of options that have a description. - - For example: - - _arguments -- '*\*:toggle:(yes no)' \ - '*=FILE*:file:_files' \ - '*=DIR*:directory:_files -/' \ - '*=PATH*:directory:_files -/' - - Here, 'yes' and 'no' will be completed as the argument of options - whose description ends in a star; file names will be completed for - options that contain the substring '=FILE' in the description; and - directories will be completed for options whose description - contains '=DIR' or '=PATH'. The last three are in fact the default - and so need not be given explicitly, although it is possible to - override the use of these patterns. A typical help text which uses - this feature is: - - -C, --directory=DIR change to directory DIR - - so that the above specifications will cause directories to be - completed after '--directory', though not after '-C'. - - Note also that _arguments tries to find out automatically if the - argument for an option is optional. This can be specified - explicitly by doubling the colon before the MESSAGE. - - If the PATTERN ends in '(-)', this will be removed from the pattern - and the ACTION will be used only directly after the '=', not in the - next word. This is the behaviour of a normal specification defined - with the form '=-'. - - By default, the command (with the option '--help') is run after - resetting all the locale categories (except for LC_CTYPE) to 'C'. - If the localized help output is known to work, the option '-l' can - be specified after the '_arguments --' so that the command is run - in the current locale. - - The '_arguments --' can be followed by the option '-i PATTERNS' to - give patterns for options which are not to be completed. The - patterns can be given as the name of an array parameter or as a - literal list in parentheses. For example, - - _arguments -- -i \ - "(--(en|dis)able-FEATURE*)" - - will cause completion to ignore the options '--enable-FEATURE' and - '--disable-FEATURE' (this example is useful with GNU configure). - - The '_arguments --' form can also be followed by the option '-s - PAIR' to describe option aliases. The PAIR consists of a list of - alternating patterns and corresponding replacements, enclosed in - parens and quoted so that it forms a single argument word in the - _arguments call. - - For example, some configure-script help output describes options - only as '--enable-foo', but the script also accepts the negated - form '--disable-foo'. To allow completion of the second form: - - _arguments -- -s "((#s)--enable- --disable-)" - - _Miscellaneous notes_ - - Finally, note that _arguments generally expects to be the primary - function handling any completion for which it is used. It may have - side effects which change the treatment of any matches added by - other functions called after it. To combine _arguments with other - functions, those functions should be called either before - _arguments, as an ACTION within a SPEC, or in handlers for - '->STATE' actions. - - Here is a more general example of the use of _arguments: - - _arguments '-l+:left border:' \ - '-format:paper size:(letter A4)' \ - '*-copy:output file:_files::resolution:(300 600)' \ - ':postscript file:_files -g \*.\(ps\|eps\)' \ - '*:page number:' - - This describes three options: '-l', '-format', and '-copy'. The - first takes one argument described as 'LEFT BORDER' for which no - completion will be offered because of the empty action. Its - argument may come directly after the '-l' or it may be given as the - next word on the line. - - The '-format' option takes one argument in the next word, described - as 'PAPER SIZE' for which only the strings 'letter' and 'A4' will - be completed. - - The '-copy' option may appear more than once on the command line - and takes two arguments. The first is mandatory and will be - completed as a filename. The second is optional (because of the - second colon before the description 'RESOLUTION') and will be - completed from the strings '300' and '600'. - - The last two descriptions say what should be completed as - arguments. The first describes the first argument as a 'POSTSCRIPT - FILE' and makes files ending in 'ps' or 'eps' be completed. The - last description gives all other arguments the description 'PAGE - NUMBER' but does not offer completions. - -_cache_invalid CACHE_IDENTIFIER - This function returns status zero if the completions cache - corresponding to the given cache identifier needs rebuilding. It - determines this by looking up the cache-policy style for the - current context. This should provide a function name which is run - with the full path to the relevant cache file as the only argument. - - Example: - - _example_caching_policy () { - # rebuild if cache is more than a week old - local -a oldp - oldp=( "$1"(Nm+7) ) - (( $#oldp )) - } - -_call_function RETURN NAME [ ARG ... ] - If a function NAME exists, it is called with the arguments ARGs. - The RETURN argument gives the name of a parameter in which the - return status from the function NAME should be stored; if RETURN is - empty or a single hyphen it is ignored. - - The return status of _call_function itself is zero if the function - NAME exists and was called and non-zero otherwise. - -_call_program [ -l ] [ -p ] TAG STRING ... - This function provides a mechanism for the user to override the use - of an external command. It looks up the command style with the - supplied TAG. If the style is set, its value is used as the - command to execute. The STRINGs from the call to _call_program, or - from the style if set, are concatenated with spaces between them - and the resulting string is evaluated. The return status is the - return status of the command called. - - By default, the command is run in an environment where all the - locale categories (except for LC_CTYPE) are reset to 'C' by calling - the utility function _comp_locale (see below). If the option '-l' - is given, the command is run with the current locale. - - If the option '-p' is supplied it indicates that the command output - is influenced by the permissions it is run with. If the - gain-privileges style is set to true, _call_program will make use - of commands such as sudo, if present on the command-line, to match - the permissions to whatever the final command is likely to run - under. When looking up the gain-privileges and command styles, the - command component of the zstyle context will end with a slash ('/') - followed by the command that would be used to gain privileges. - -_combination [ -s PATTERN ] TAG STYLE SPEC ... FIELD OPTS ... - This function is used to complete combinations of values, for - example pairs of hostnames and usernames. The STYLE argument gives - the style which defines the pairs; it is looked up in a context - with the TAG specified. - - The style name consists of field names separated by hyphens, for - example 'users-hosts-ports'. For each field for a value is already - known, a SPEC of the form 'FIELD=PATTERN' is given. For example, - if the command line so far specifies a user 'pws', the argument - 'users=pws' should appear. - - The next argument with no equals sign is taken as the name of the - field for which completions should be generated (presumably not one - of the FIELDs for which the value is known). - - The matches generated will be taken from the value of the style. - These should contain the possible values for the combinations in - the appropriate order (users, hosts, ports in the example above). - The values for the different fields are separated by colons. This - can be altered with the option -s to _combination which specifies a - pattern. Typically this is a character class, as for example '-s - "[:@]"' in the case of the users-hosts style. Each 'FIELD=PATTERN' - specification restricts the completions which apply to elements of - the style with appropriately matching fields. - - If no style with the given name is defined for the given tag, or if - none of the strings in style's value match, but a function name of - the required field preceded by an underscore is defined, that - function will be called to generate the matches. For example, if - there is no 'users-hosts-ports' or no matching hostname when a host - is required, the function '_hosts' will automatically be called. - - If the same name is used for more than one field, in both the - 'FIELD=PATTERN' and the argument that gives the name of the field - to be completed, the number of the field (starting with one) may be - given after the fieldname, separated from it by a colon. - - All arguments after the required field name are passed to compadd - when generating matches from the style value, or to the functions - for the fields if they are called. - -_command_names [ -e | - ] - This function completes words that are valid at command position: - names of aliases, builtins, hashed commands, functions, and so on. - With the -e flag, only hashed commands are completed. The - flag - is ignored. - -_comp_locale - This function resets all the locale categories other than LC_CTYPE - to 'C' so that the output from external commands can be easily - analyzed by the completion system. LC_CTYPE retains the current - value (taking LC_ALL and LANG into account), ensuring that - non-ASCII characters in file names are still handled properly. - - This function should normally be run only in a subshell, because - the new locale is exported to the environment. Typical usage would - be '$(_comp_locale; COMMAND ...)'. - -_completers [ -p ] - This function completes names of completers. - - -p - Include the leading underscore ('_') in the matches. - -_default - This function corresponds to the -default- special context which is - applied where no completion is defined. It is useful to call it - under certain error conditions such as completion after an - unrecognised subcommand. This applies the concept of graceful - degradation to the completion system, allowing it to fallback on - basic completion of commonly useful things like filenames. - -_describe [-12JVx] [ -oO | -t TAG ] DESCR NAME1 [ NAME2 ] [ OPT ... ] - [ -- NAME1 [ NAME2 ] [ OPT ... ] ... ] - This function associates completions with descriptions. Multiple - groups separated by -- can be supplied, potentially with different - completion options OPTs. - - The DESCR is taken as a string to display above the matches if the - format style for the descriptions tag is set. This is followed by - one or two names of arrays followed by options to pass to compadd. - The array NAME1 contains the possible completions with their - descriptions in the form 'COMPLETION:DESCRIPTION'. Any literal - colons in COMPLETION must be quoted with a backslash. If a NAME2 - is given, it should have the same number of elements as NAME1; in - this case the corresponding elements are added as possible - completions instead of the COMPLETION strings from NAME1. The - completion list will retain the descriptions from NAME1. Finally, - a set of completion options can appear. - - If the option '-o' appears before the first argument, the matches - added will be treated as names of command options (N.B. not shell - options), typically following a '-', '--' or '+' on the command - line. In this case _describe uses the prefix-hidden, prefix-needed - and verbose styles to find out if the strings should be added as - completions and if the descriptions should be shown. Without the - '-o' option, only the verbose style is used to decide how - descriptions are shown. If '-O' is used instead of '-o', command - options are completed as above but _describe will not handle the - prefix-needed style. - - With the -t option a TAG can be specified. The default is 'values' - or, if the -o option is given, 'options'. - - The options -1, -2, -J, -V, -x are passed to _next_label. - - If selected by the list-grouped style, strings with the same - description will appear together in the list. - - _describe uses the _all_labels function to generate the matches, so - it does not need to appear inside a loop over tag labels. - -_description [ -x ] [ -12VJ ] TAG NAME DESCR [ SPEC ... ] - This function is not to be confused with the previous one; it is - used as a helper function for creating options to compadd. It is - buried inside many of the higher level completion functions and so - often does not need to be called directly. - - The styles listed below are tested in the current context using the - given TAG. The resulting options for compadd are put into the - array named NAME (this is traditionally 'expl', but this convention - is not enforced). The description for the corresponding set of - matches is passed to the function in DESCR. - - The styles tested are: format, hidden, matcher, ignore-line, - ignored-patterns, group-name and sort. The format style is first - tested for the given TAG and then for the descriptions tag if no - value was found, while the remainder are only tested for the tag - given as the first argument. The function also calls _setup which - tests some more styles. - - The string returned by the format style (if any) will be modified - so that the sequence '%d' is replaced by the DESCR given as the - third argument without any leading or trailing white space. If, - after removing the white space, the DESCR is the empty string, the - format style will not be used and the options put into the NAME - array will not contain an explanation string to be displayed above - the matches. - - If _description is called with more than three arguments, the - additional SPECs should be of the form 'CHAR:STR'. These supply - escape sequence replacements for the format style: every appearance - of '%CHAR' will be replaced by STRING. If no additional SPECs are - given but the description in DESCR conforms to a common form then - further escape sequences are set for elements of that description. - These elements correspond to a default value ('%o'), the units - ('%m') range of acceptable values ('%r') and the remaining initial - part of the description ('%h'). The form the description takes - consists of specifying the units and range in parentheses and the - default value in square brackets, for example: - - _description times expl 'timeout (seconds) (0-60) [20]' - - It is possible to use zformat conditional expressions when styling - these elements. So, for example, to add 'default:' as a tag but - only when there is a default value to show, the format style might - include '%(o.default: %o.)'. - - If the -x option is given, the description will be passed to - compadd using the -x option instead of the default -X. This means - that the description will be displayed even if there are no - corresponding matches. - - The options placed in the array NAME take account of the group-name - style, so matches are placed in a separate group where necessary. - The group normally has its elements sorted (by passing the option - -J to compadd), but if an option starting with '-V', '-J', '-1', or - '-2' is passed to _description, that option will be included in the - array. Hence it is possible for the completion group to be - unsorted by giving the option '-V', '-1V', or '-2V'. - - In most cases, the function will be used like this: - - local expl - _description files expl file - compadd "$expl[@]" - "$files[@]" - - Note the use of the parameter expl, the hyphen, and the list of - matches. Almost all calls to compadd within the completion system - use a similar format; this ensures that user-specified styles are - correctly passed down to the builtins which implement the internals - of completion. - -_dir_list [ -s SEP ] [ -S ] - Complete a list of directory names separated by colons (the same - format as $PATH). - - -s SEP - Use SEP as separator between items. SEP defaults to a colon - (':'). - - -S - Add SEP instead of slash ('/') as an autoremoveable suffix. - -_dispatch CONTEXT STRING ... - This sets the current context to CONTEXT and looks for completion - functions to handle this context by hunting through the list of - command names or special contexts (as described above for compdef) - given as STRINGs. The first completion function to be defined for - one of the contexts in the list is used to generate matches. - Typically, the last STRING is -default- to cause the function for - default completion to be used as a fallback. - - The function sets the parameter $service to the STRING being tried, - and sets the CONTEXT/COMMAND field (the fourth) of the $curcontext - parameter to the CONTEXT given as the first argument. - -_email_addresses [ -c ] [ -n PLUGIN ] - Complete email addresses. Addresses are provided by plugins. - - -c - Complete bare localhost@domain.tld addresses, without a name - part or a comment. Without this option, RFC822 'FIRSTNAME - LASTNAME <ADDRESS>' strings are completed. - - -n PLUGIN - Complete aliases from PLUGIN. - - The following plugins are available by default: _email-ldap (see - the filter style), _email-local (completes USER@HOSTNAME Unix - addresses), _email-mail (completes aliases from ~/.mailrc), - _email-mush, _email-mutt, and _email-pine. - - Addresses from the _email-FOO plugin are added under the tag - 'email-FOO'. - - _Writing plugins_ - - Plugins are written as separate functions with names starting with - '_email-'. They are invoked with the -c option and compadd - options. They should either do their own completion or set the - $reply array to a list of 'ALIAS:ADDRESS' elements and return 300. - New plugins will be picked up and run automatically. - -_files - The function _files is a wrapper around _path_files. It supports - all of the same functionality, with some enhancements -- notably, - it respects the list-dirs-first style, and it allows users to - override the behaviour of the -g and -/ options with the - file-patterns style. _files should therefore be preferred over - _path_files in most cases. - - This function accepts the full set of options allowed by - _path_files, described below. - -_gnu_generic - This function is a simple wrapper around the _arguments function - described above. It can be used to determine automatically the - long options understood by commands that produce a list when passed - the option '--help'. It is intended to be used as a top-level - completion function in its own right. For example, to enable - option completion for the commands foo and bar, use - - compdef _gnu_generic foo bar - - after the call to compinit. - - The completion system as supplied is conservative in its use of - this function, since it is important to be sure the command - understands the option '--help'. - -_guard [ OPTIONS ] PATTERN DESCR - This function displays DESCR if PATTERN matches the string to be - completed. It is intended to be used in the ACTION for the - specifications passed to _arguments and similar functions. - - The return status is zero if the message was displayed and the word - to complete is not empty, and non-zero otherwise. - - The PATTERN may be preceded by any of the options understood by - compadd that are passed down from _description, namely -M, -J, -V, - -1, -2, -n, -F and -X. All of these options will be ignored. This - fits in conveniently with the argument-passing conventions of - actions for _arguments. - - As an example, consider a command taking the options -n and -none, - where -n must be followed by a numeric value in the same word. By - using: - - _arguments '-n-: :_guard "[0-9]#" "numeric value"' '-none' - - _arguments can be made to both display the message 'numeric value' - and complete options after '-n<TAB>'. If the '-n' is already - followed by one or more digits (the pattern passed to _guard) only - the message will be displayed; if the '-n' is followed by another - character, only options are completed. - -_message [ -r12 ] [ -VJ GROUP ] DESCR -_message -e [ TAG ] DESCR - The DESCR is used in the same way as the third argument to the - _description function, except that the resulting string will always - be shown whether or not matches were generated. This is useful for - displaying a help message in places where no completions can be - generated. - - The format style is examined with the messages tag to find a - message; the usual tag, descriptions, is used only if the style is - not set with the former. - - If the -r option is given, no style is used; the DESCR is taken - literally as the string to display. This is most useful when the - DESCR comes from a pre-processed argument list which already - contains an expanded description. Note that this option does not - disable the '%'-sequence parsing done by compadd. - - The -12VJ options and the GROUP are passed to compadd and hence - determine the group the message string is added to. - - The second -e form gives a description for completions with the tag - TAG to be shown even if there are no matches for that tag. This - form is called by _arguments in the event that there is no action - for an option specification. The tag can be omitted and if so the - tag is taken from the parameter $curtag; this is maintained by the - completion system and so is usually correct. Note that if there - are no matches at the time this function is called, - compstate[insert] is cleared, so additional matches generated later - are not inserted on the command line. - -_multi_parts [ -i ] SEP ARRAY - The argument SEP is a separator character. The ARRAY may be either - the name of an array parameter or a literal array in the form '(foo - bar)', a parenthesised list of words separated by whitespace. The - possible completions are the strings from the array. However, each - chunk delimited by SEP will be completed separately. For example, - the _tar function uses '_multi_parts / PATHARRAY' to complete - partial file paths from the given array of complete file paths. - - The -i option causes _multi_parts to insert a unique match even if - that requires multiple separators to be inserted. This is not - usually the expected behaviour with filenames, but certain other - types of completion, for example those with a fixed set of - possibilities, may be more suited to this form. - - Like other utility functions, this function accepts the '-V', '-J', - '-1', '-2', '-n', '-f', '-X', '-M', '-P', '-S', '-r', '-R', and - '-q' options and passes them to the compadd builtin. - -_next_label [ -x ] [ -12VJ ] TAG NAME DESCR [ OPTION ... ] - This function is used to implement the loop over different tag - labels for a particular tag as described above for the tag-order - style. On each call it checks to see if there are any more tag - labels; if there is it returns status zero, otherwise non-zero. As - this function requires a current tag to be set, it must always - follow a call to _tags or _requested. - - The -x12VJ options and the first three arguments are passed to the - _description function. Where appropriate the TAG will be replaced - by a tag label in this call. Any description given in the - tag-order style is preferred to the DESCR passed to _next_label. - - The OPTIONs given after the DESCR are set in the parameter given by - NAME, and hence are to be passed to compadd or whatever function is - called to add the matches. - - Here is a typical use of this function for the tag foo. The call - to _requested determines if tag foo is required at all; the loop - over _next_label handles any labels defined for the tag in the - tag-order style. - - local expl ret=1 - ... - if _requested foo; then - ... - while _next_label foo expl '...'; do - compadd "$expl[@]" ... && ret=0 - done - ... - fi - return ret - -_normal [ -P | -p PRECOMMAND ] - This is the standard function called to handle completion outside - any special -CONTEXT-. It is called both to complete the command - word and also the arguments for a command. In the second case, - _normal looks for a special completion for that command, and if - there is none it uses the completion for the -default- context. - - A second use is to reexamine the command line specified by the - $words array and the $CURRENT parameter after those have been - modified. For example, the function _precommand, which completes - after precommand specifiers such as nohup, removes the first word - from the words array, decrements the CURRENT parameter, then calls - '_normal -p $service'. The effect is that 'nohup CMD ...' is - treated in the same way as 'CMD ...'. - - -P - Reset the list of precommands. This option should be used if - completing a command line which allows internal commands (e.g. - builtins and functions) regardless of prior precommands (e.g. - 'zsh -c'). - - -p PRECOMMAND - Append PRECOMMAND to the list of precommands. This option - should be used in nearly all cases in which -P is not - applicable. - - If the command name matches one of the patterns given by one of the - options -p or -P to compdef, the corresponding completion function - is called and then the parameter _compskip is checked. If it is - set completion is terminated at that point even if no matches have - been found. This is the same effect as in the -first- context. - -_numbers [ OPTION ... ] [ DESCRIPTION ] [ SUFFIX ... ] - This can be used where a number is followed by a suffix to indicate - the units. The unit suffixes are completed and can also be - included in the description used when completion is invoked for the - preceding number. - - In addition to common compadd options, _numbers accepts the - following options: - - -t TAG - Specify a tag to use instead of the default of numbers. - - -u UNITS - Indicate the default units for the number, e.g. bytes. - - -l MIN - Specify the lowest possible value for the number. - - -m MAX - Specify the highest possible value for the number. - - -d DEFAULT - Specify the default value. - - -N - Allow negative numbers. This is implied if the range includes - a negative. - - -f - Allow decimal numbers. - - Where a particular suffix represents the default units for a - number, it should be prefixed with a colon. Additionally, suffixes - can be followed by a colon and a description. So for example, the - following allows the age of something to be specified, either in - seconds or with an optional suffix with a longer unit of time: - - _numbers -u seconds age :s:seconds m:minutes h:hours d:days - - It is typically helpful for units to be presented in order of - magnitude when completed. To facilitate this, the order in which - they are given is preserved. - - When the format style is looked up with the descriptions tag or the - tag specified with -t, the list of suffixes is available as a '%x' - escape sequence. This is in addition to the usual sequences - documented under the format style. The form this list takes can - also be configured. To this end, the format style is first looked - up with the tag unit-suffixes. The retrieved format is applied to - each suffix in turn and the results are then concatenated to form - the completed list. For the unit-suffixes format, '%x' expands to - the individual suffix and '%X' to its description. %d' indicates a - default suffix and can be used in a condition. The index and - reverse index are set in '%i' and '%r' respectively and are useful - for text included only with the first and last suffixes in the - list. So for example, the following joins the suffixes together as - a comma-separated list: - - zstyle ':completion:*:unit-suffixes' format '%x%(r::,)' - -_options - This can be used to complete the names of shell options. It - provides a matcher specification that ignores a leading 'no', - ignores underscores and allows upper-case letters to match their - lower-case counterparts (for example, 'glob', 'noglob', 'NO_GLOB' - are all completed). Any arguments are propagated to the compadd - builtin. - -_options_set and _options_unset - These functions complete only set or unset options, with the same - matching specification used in the _options function. - - Note that you need to uncomment a few lines in the _main_complete - function for these functions to work properly. The lines in - question are used to store the option settings in effect before the - completion widget locally sets the options it needs. Hence these - functions are not generally used by the completion system. - -_parameters - This is used to complete the names of shell parameters. - - The option '-g PATTERN' limits the completion to parameters whose - type matches the PATTERN. The type of a parameter is that shown by - 'print ${(t)PARAM}', hence judicious use of '*' in PATTERN is - probably necessary. - - All other arguments are passed to the compadd builtin. - -_path_files - This function is used throughout the completion system to complete - filenames. It allows completion of partial paths. For example, - the string '/u/i/s/sig' may be completed to - '/usr/include/sys/signal.h'. - - The options accepted by both _path_files and _files are: - - -f - Complete all filenames. This is the default. - - -/ - Specifies that only directories should be completed. - - -g PATTERN - Specifies that only files matching the PATTERN should be - completed. - - -W PATHS - Specifies path prefixes that are to be prepended to the string - from the command line to generate the filenames but that - should not be inserted as completions nor shown in completion - listings. Here, PATHS may be the name of an array parameter, - a literal list of paths enclosed in parentheses or an absolute - pathname. - - -F IGNORED-FILES - This behaves as for the corresponding option to the compadd - builtin. It gives direct control over which filenames should - be ignored. If the option is not present, the - ignored-patterns style is used. - - Both _path_files and _files also accept the following options which - are passed to compadd: '-J', '-V', '-1', '-2', '-n', '-X', '-M', - '-P', '-S', '-q', '-r', and '-R'. - - Finally, the _path_files function uses the styles expand, - ambiguous, special-dirs, list-suffixes and file-sort described - above. - -_pick_variant [ -b BUILTIN-LABEL ] [ -c COMMAND ] [ -r NAME ] - LABEL=PATTERN ... LABEL [ ARG ... ] - This function is used to resolve situations where a single command - name requires more than one type of handling, either because it has - more than one variant or because there is a name clash between two - different commands. - - The command to run is taken from the first element of the array - words unless this is overridden by the option -c. This command is - run and its output is compared with a series of patterns. - Arguments to be passed to the command can be specified at the end - after all the other arguments. The patterns to try in order are - given by the arguments LABEL=PATTERN; if the output of 'COMMAND ARG - ...' contains PATTERN, then LABEL is selected as the label for the - command variant. If none of the patterns match, the final command - label is selected and status 1 is returned. - - If the '-b BUILTIN-LABEL' is given, the command is tested to see if - it is provided as a shell builtin, possibly autoloaded; if so, the - label BUILTIN-LABEL is selected as the label for the variant. - - If the '-r NAME' is given, the LABEL picked is stored in the - parameter named NAME. - - The results are also cached in the _cmd_variant associative array - indexed by the name of the command run. - -_regex_arguments NAME SPEC ... - This function generates a completion function NAME which matches - the specifications SPECs, a set of regular expressions as described - below. After running _regex_arguments, the function NAME should be - called as a normal completion function. The pattern to be matched - is given by the contents of the words array up to the current - cursor position joined together with null characters; no quotation - is applied. - - The arguments are grouped as sets of alternatives separated by '|', - which are tried one after the other until one matches. Each - alternative consists of a one or more specifications which are - tried left to right, with each pattern matched being stripped in - turn from the command line being tested, until all of the group - succeeds or until one fails; in the latter case, the next - alternative is tried. This structure can be repeated to arbitrary - depth by using parentheses; matching proceeds from inside to - outside. - - A special procedure is applied if no test succeeds but the - remaining command line string contains no null character (implying - the remaining word is the one for which completions are to be - generated). The completion target is restricted to the remaining - word and any ACTIONs for the corresponding patterns are executed. - In this case, nothing is stripped from the command line string. - The order of evaluation of the ACTIONs can be determined by the - tag-order style; the various formats supported by _alternative can - be used in ACTION. The DESCR is used for setting up the array - parameter expl. - - Specification arguments take one of following forms, in which - metacharacters such as '(', ')', '#' and '|' should be quoted. - - /PATTERN/ [%LOOKAHEAD%] [-GUARD] [:TAG:DESCR:ACTION] - This is a single primitive component. The function tests - whether the combined pattern '(#b)((#B)PATTERN)LOOKAHEAD*' - matches the command line string. If so, 'GUARD' is evaluated - and its return status is examined to determine if the test has - succeeded. The PATTERN string '[]' is guaranteed never to - match. The LOOKAHEAD is not stripped from the command line - before the next pattern is examined. - - The argument starting with : is used in the same manner as an - argument to _alternative. - - A component is used as follows: PATTERN is tested to see if - the component already exists on the command line. If it does, - any following specifications are examined to find something to - complete. If a component is reached but no such pattern - exists yet on the command line, the string containing the - ACTION is used to generate matches to insert at that point. - - /PATTERN/+ [%LOOKAHEAD%] [-GUARD] [:TAG:DESCR:ACTION] - This is similar to '/PATTERN/ ...' but the left part of the - command line string (i.e. the part already matched by - previous patterns) is also considered part of the completion - target. - - /PATTERN/- [%LOOKAHEAD%] [-GUARD] [:TAG:DESCR:ACTION] - This is similar to '/PATTERN/ ...' but the ACTIONs of the - current and previously matched patterns are ignored even if - the following 'PATTERN' matches the empty string. - - ( SPEC ) - Parentheses may be used to groups SPECs; note each parenthesis - is a single argument to _regex_arguments. - - SPEC # - This allows any number of repetitions of SPEC. - - SPEC SPEC - The two SPECs are to be matched one after the other as - described above. - - SPEC | SPEC - Either of the two SPECs can be matched. - - The function _regex_words can be used as a helper function to - generate matches for a set of alternative words possibly with their - own arguments as a command line argument. - - Examples: - - _regex_arguments _tst /$'[^\0]#\0'/ \ - /$'[^\0]#\0'/ :'compadd aaa' - - This generates a function _tst that completes aaa as its only - argument. The TAG and DESCRIPTION for the action have been omitted - for brevity (this works but is not recommended in normal use). The - first component matches the command word, which is arbitrary; the - second matches any argument. As the argument is also arbitrary, - any following component would not depend on aaa being present. - - _regex_arguments _tst /$'[^\0]#\0'/ \ - /$'aaa\0'/ :'compadd aaa' - - This is a more typical use; it is similar, but any following - patterns would only match if aaa was present as the first argument. - - _regex_arguments _tst /$'[^\0]#\0'/ \( \ - /$'aaa\0'/ :'compadd aaa' \ - /$'bbb\0'/ :'compadd bbb' \) \# - - In this example, an indefinite number of command arguments may be - completed. Odd arguments are completed as aaa and even arguments - as bbb. Completion fails unless the set of aaa and bbb arguments - before the current one is matched correctly. - - _regex_arguments _tst /$'[^\0]#\0'/ \ - \( /$'aaa\0'/ :'compadd aaa' \| \ - /$'bbb\0'/ :'compadd bbb' \) \# - - This is similar, but either aaa or bbb may be completed for any - argument. In this case _regex_words could be used to generate a - suitable expression for the arguments. - -_regex_words TAG DESCRIPTION SPEC ... - This function can be used to generate arguments for the - _regex_arguments command which may be inserted at any point where a - set of rules is expected. The TAG and DESCRIPTION give a standard - tag and description pertaining to the current context. Each SPEC - contains two or three arguments separated by a colon: note that - there is no leading colon in this case. - - Each SPEC gives one of a set of words that may be completed at this - point, together with arguments. It is thus roughly equivalent to - the _arguments function when used in normal (non-regex) completion. - - The part of the SPEC before the first colon is the word to be - completed. This may contain a *; the entire word, before and after - the * is completed, but only the text before the * is required for - the context to be matched, so that further arguments may be - completed after the abbreviated form. - - The second part of SPEC is a description for the word being - completed. - - The optional third part of the SPEC describes how words following - the one being completed are themselves to be completed. It will be - evaluated in order to avoid problems with quoting. This means that - typically it contains a reference to an array containing previously - generated regex arguments. - - The option -t TERM specifies a terminator for the word instead of - the usual space. This is handled as an auto-removable suffix in - the manner of the option -s SEP to _values. - - The result of the processing by _regex_words is placed in the array - reply, which should be made local to the calling function. If the - set of words and arguments may be matched repeatedly, a # should be - appended to the generated array at that point. - - For example: - - local -a reply - _regex_words mydb-commands 'mydb commands' \ - 'add:add an entry to mydb:$mydb_add_cmds' \ - 'show:show entries in mydb' - _regex_arguments _mydb "$reply[@]" - _mydb "$@" - - This shows a completion function for a command mydb which takes two - command arguments, add and show. show takes no arguments, while - the arguments for add have already been prepared in an array - mydb_add_cmds, quite possibly by a previous call to _regex_words. - -_requested [ -x ] [ -12VJ ] TAG [ NAME DESCR [ COMMAND [ ARG ... ] ] - This function is called to decide whether a tag already registered - by a call to _tags (see below) has been requested by the user and - hence completion should be performed for it. It returns status - zero if the tag is requested and non-zero otherwise. The function - is typically used as part of a loop over different tags as follows: - - _tags foo bar baz - while _tags; do - if _requested foo; then - ... # perform completion for foo - fi - ... # test the tags bar and baz in the same way - ... # exit loop if matches were generated - done - - Note that the test for whether matches were generated is not - performed until the end of the _tags loop. This is so that the - user can set the tag-order style to specify a set of tags to be - completed at the same time. - - If NAME and DESCR are given, _requested calls the _description - function with these arguments together with the options passed to - _requested. - - If COMMAND is given, the _all_labels function will be called - immediately with the same arguments. In simple cases this makes it - possible to perform the test for the tag and the matching in one - go. For example: - - local expl ret=1 - _tags foo bar baz - while _tags; do - _requested foo expl 'description' \ - compadd foobar foobaz && ret=0 - ... - (( ret )) || break - done - - If the COMMAND is not compadd, it must nevertheless be prepared to - handle the same options. - -_retrieve_cache CACHE_IDENTIFIER - This function retrieves completion information from the file given - by CACHE_IDENTIFIER, stored in a directory specified by the - cache-path style which defaults to ~/.zcompcache. The return - status is zero if retrieval was successful. It will only attempt - retrieval if the use-cache style is set, so you can call this - function without worrying about whether the user wanted to use the - caching layer. - - See _store_cache below for more details. - -_sep_parts - This function is passed alternating arrays and separators as - arguments. The arrays specify completions for parts of strings to - be separated by the separators. The arrays may be the names of - array parameters or a quoted list of words in parentheses. For - example, with the array 'hosts=(ftp news)' the call '_sep_parts - '(foo bar)' @ hosts' will complete the string 'f' to 'foo' and the - string 'b@n' to 'bar@news'. - - This function accepts the compadd options '-V', '-J', '-1', '-2', - '-n', '-X', '-M', '-P', '-S', '-r', '-R', and '-q' and passes them - on to the compadd builtin used to add the matches. - -_sequence [ -s SEP ] [ -n MAX ] [ -d ] FUNCTION [ - ] ... - This function is a wrapper to other functions for completing items - in a separated list. The same function is used to complete each - item in the list. The separator is specified with the -s option. - If -s is omitted it will use ','. Duplicate values are not matched - unless -d is specified. If there is a fixed or maximum number of - items in the list, this can be specified with the -n option. - - Common compadd options are passed on to the function. It is - possible to use compadd directly with _sequence, though _values may - be more appropriate in this situation. - -_setup TAG [ GROUP ] - This function sets up the special parameters used by the completion - system appropriately for the TAG given as the first argument. It - uses the styles list-colors, list-packed, list-rows-first, - last-prompt, accept-exact, menu and force-list. - - The optional GROUP supplies the name of the group in which the - matches will be placed. If it is not given, the TAG is used as the - group name. - - This function is called automatically from _description and hence - is not normally called explicitly. - -_store_cache CACHE_IDENTIFIER PARAM ... - This function, together with _retrieve_cache and _cache_invalid, - implements a caching layer which can be used in any completion - function. Data obtained by costly operations are stored in - parameters; this function then dumps the values of those parameters - to a file. The data can then be retrieved quickly from that file - via _retrieve_cache, even in different instances of the shell. - - The CACHE_IDENTIFIER specifies the file which the data should be - dumped to. The file is stored in a directory specified by the - cache-path style which defaults to ~/.zcompcache. The remaining - PARAMs arguments are the parameters to dump to the file. - - The return status is zero if storage was successful. The function - will only attempt storage if the use-cache style is set, so you can - call this function without worrying about whether the user wanted - to use the caching layer. - - The completion function may avoid calling _retrieve_cache when it - already has the completion data available as parameters. However, - in that case it should call _cache_invalid to check whether the - data in the parameters and in the cache are still valid. - - See the _perl_modules completion function for a simple example of - the usage of the caching layer. - -_tags [ [ -C NAME ] TAG ... ] - If called with arguments, these are taken to be the names of tags - valid for completions in the current context. These tags are - stored internally and sorted by using the tag-order style. - - Next, _tags is called repeatedly without arguments from the same - completion function. This successively selects the first, second, - etc. set of tags requested by the user. The return status is zero - if at least one of the tags is requested and non-zero otherwise. - To test if a particular tag is to be tried, the _requested function - should be called (see above). - - If '-C NAME' is given, NAME is temporarily stored in the ARGUMENT - field (the fifth) of the context in the curcontext parameter during - the call to _tags; the field is restored on exit. This allows - _tags to use a more specific context without having to change and - reset the curcontext parameter (which has the same effect). - -_tilde_files - Like _files, but resolve leading tildes according to the rules of - filename expansion, so the suggested completions don't start with a - '~' even if the filename on the command-line does. - -_values [ -O NAME ] [ -s SEP ] [ -S SEP ] [ -wC ] DESC SPEC ... - This is used to complete arbitrary keywords (values) and their - arguments, or lists of such combinations. - - If the first argument is the option '-O NAME', it will be used in - the same way as by the _arguments function. In other words, the - elements of the NAME array will be passed to compadd when executing - an action. - - If the first argument (or the first argument after '-O NAME') is - '-s', the next argument is used as the character that separates - multiple values. This character is automatically added after each - value in an auto-removable fashion (see below); all values - completed by '_values -s' appear in the same word on the command - line, unlike completion using _arguments. If this option is not - present, only a single value will be completed per word. - - Normally, _values will only use the current word to determine which - values are already present on the command line and hence are not to - be completed again. If the -w option is given, other arguments are - examined as well. - - The first non-option argument, DESC, is used as a string to print - as a description before listing the values. - - All other arguments describe the possible values and their - arguments in the same format used for the description of options by - the _arguments function (see above). The only differences are that - no minus or plus sign is required at the beginning, values can have - only one argument, and the forms of action beginning with an equal - sign are not supported. - - The character separating a value from its argument can be set using - the option -S (like -s, followed by the character to use as the - separator in the next argument). By default the equals sign will - be used as the separator between values and arguments. - - Example: - - _values -s , 'description' \ - '*foo[bar]' \ - '(two)*one[number]:first count:' \ - 'two[another number]::second count:(1 2 3)' - - This describes three possible values: 'foo', 'one', and 'two'. The - first is described as 'bar', takes no argument and may appear more - than once. The second is described as 'number', may appear more - than once, and takes one mandatory argument described as 'first - count'; no action is specified, so it will not be completed. The - '(two)' at the beginning says that if the value 'one' is on the - line, the value 'two' will no longer be considered a possible - completion. Finally, the last value ('two') is described as - 'another number' and takes an optional argument described as - 'second count' for which the completions (to appear after an '=') - are '1', '2', and '3'. The _values function will complete lists of - these values separated by commas. - - Like _arguments, this function temporarily adds another context - name component to the arguments element (the fifth) of the current - context while executing the ACTION. Here this name is just the - name of the value for which the argument is completed. - - The style verbose is used to decide if the descriptions for the - values (but not those for the arguments) should be printed. - - The associative array val_args is used to report values and their - arguments; this works similarly to the opt_args associative array - used by _arguments. Hence the function calling _values should - declare the local parameters state, state_descr, line, context and - val_args: - - local context state state_descr line - typeset -A val_args - - when using an action of the form '->STRING'. With this function - the context parameter will be set to the name of the value whose - argument is to be completed. Note that for _values, the state and - state_descr are scalars rather than arrays. Only a single matching - state is returned. - - Note also that _values normally adds the character used as the - separator between values as an auto-removable suffix (similar to a - '/' after a directory). However, this is not possible for a - '->STRING' action as the matches for the argument are generated by - the calling function. To get the usual behaviour, the calling - function can add the separator X as a suffix by passing the options - '-qS X' either directly or indirectly to compadd. - - The option -C is treated in the same way as it is by _arguments. - In that case the parameter curcontext should be made local instead - of context (as described above). - -_wanted [ -x ] [ -C NAME ] [ -12VJ ] TAG NAME DESCR COMMAND [ ARG ...] - In many contexts, completion can only generate one particular set - of matches, usually corresponding to a single tag. However, it is - still necessary to decide whether the user requires matches of this - type. This function is useful in such a case. - - The arguments to _wanted are the same as those to _requested, i.e. - arguments to be passed to _description. However, in this case the - COMMAND is not optional; all the processing of tags, including the - loop over both tags and tag labels and the generation of matches, - is carried out automatically by _wanted. - - Hence to offer only one tag and immediately add the corresponding - matches with the given description: - - local expl - _wanted tag expl 'description' \ - compadd -- MATCH1 MATCH2... - - See also the use of _wanted in the example function in *note - Dynamic named directories::. - - Note that, as for _requested, the COMMAND must be able to accept - options to be passed down to compadd. - - Like _tags this function supports the -C option to give a different - name for the argument context field. The -x option has the same - meaning as for _description. - -_widgets [ -g PATTERN ] - This function completes names of zle widgets (see *note Zle - Widgets::). The PATTERN, if present, is matched against values of - the $widgets special parameter, documented in *note The - zsh/zleparameter Module::. - diff --git a/result/sw/share/info/zsh.info-4 b/result/sw/share/info/zsh.info-4 deleted file mode 100644 index dd6cbcb3..00000000 --- a/result/sw/share/info/zsh.info-4 +++ /dev/null @@ -1,6940 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -File: zsh.info, Node: Completion System Variables, Next: Completion Directories, Prev: Completion Functions, Up: Completion System - -20.7 Completion System Variables -================================ - -There are some standard variables, initialised by the _main_complete -function and then used from other functions. - -The standard variables are: - -_comp_caller_options - The completion system uses setopt to set a number of options. This - allows functions to be written without concern for compatibility - with every possible combination of user options. However, - sometimes completion needs to know what the user's option - preferences are. These are saved in the _comp_caller_options - associative array. Option names, spelled in lowercase without - underscores, are mapped to one or other of the strings 'on' and - 'off'. - -_comp_priv_prefix - Completion functions such as _sudo can set the _comp_priv_prefix - array to a command prefix that may then be used by _call_program to - match the privileges when calling programs to generate matches. - -Two more features are offered by the _main_complete function. The -arrays compprefuncs and comppostfuncs may contain names of functions -that are to be called immediately before or after completion has been -tried. A function will only be called once unless it explicitly -reinserts itself into the array. - - -File: zsh.info, Node: Completion Directories, Prev: Completion System Variables, Up: Completion System - -20.8 Completion Directories -=========================== - -In the source distribution, the files are contained in various -subdirectories of the Completion directory. They may have been -installed in the same structure, or into one single function directory. -The following is a description of the files found in the original -directory structure. If you wish to alter an installed file, you will -need to copy it to some directory which appears earlier in your fpath -than the standard directory where it appears. - -Base - The core functions and special completion widgets automatically - bound to keys. You will certainly need most of these, though will - probably not need to alter them. Many of these are documented - above. - -Zsh - Functions for completing arguments of shell builtin commands and - utility functions for this. Some of these are also used by - functions from the Unix directory. - -Unix - Functions for completing arguments of external commands and suites - of commands. They may need modifying for your system, although in - many cases some attempt is made to decide which version of a - command is present. For example, completion for the mount command - tries to determine the system it is running on, while completion - for many other utilities try to decide whether the GNU version of - the command is in use, and hence whether the --help option is - supported. - -X, AIX, BSD, ... - Completion and utility function for commands available only on some - systems. These are not arranged hierarchically, so, for example, - both the Linux and Debian directories, as well as the X directory, - may be useful on your system. - - -File: zsh.info, Node: Completion Using compctl, Next: Zsh Modules, Prev: Completion System, Up: Top - -21 Completion Using compctl -*************************** - -21.1 Types of completion -======================== - -This version of zsh has two ways of performing completion of words on -the command line. New users of the shell may prefer to use the newer -and more powerful system based on shell functions; this is described in -*note Completion System::, and the basic shell mechanisms which support -it are described in *note Completion Widgets::. This chapter describes -the older compctl command. - -21.2 Description -================ - -compctl [ -CDT ] OPTIONS [ COMMAND ... ] -compctl [ -CDT ] OPTIONS [ -x PATTERN OPTIONS - ... -- ] - [ + OPTIONS [ -x ... -- ] ... [+] ] [ COMMAND ... ] -compctl -M MATCH-SPECS ... -compctl -L [ -CDTM ] [ COMMAND ... ] -compctl + COMMAND ... - -Control the editor's completion behavior according to the supplied set -of OPTIONS. Various editing commands, notably expand-or-complete-word, -usually bound to tab, will attempt to complete a word typed by the user, -while others, notably delete-char-or-list, usually bound to ^D in EMACS -editing mode, list the possibilities; compctl controls what those -possibilities are. They may for example be filenames (the most common -case, and hence the default), shell variables, or words from a -user-specified list. -* Menu: - -* Command Flags:: -* Option Flags:: -* Alternative Completion:: -* Extended Completion:: -* Example:: - - -File: zsh.info, Node: Command Flags, Next: Option Flags, Up: Completion Using compctl - -21.3 Command Flags -================== - -Completion of the arguments of a command may be different for each -command or may use the default. The behavior when completing the -command word itself may also be separately specified. These correspond -to the following flags and arguments, all of which (except for -L) may -be combined with any combination of the OPTIONS described subsequently -in *note Option Flags::: - -COMMAND ... - controls completion for the named commands, which must be listed - last on the command line. If completion is attempted for a command - with a pathname containing slashes and no completion definition is - found, the search is retried with the last pathname component. If - the command starts with a =, completion is tried with the pathname - of the command. - - Any of the COMMAND strings may be patterns of the form normally - used for filename generation. These should be quoted to protect - them from immediate expansion; for example the command string - 'foo*' arranges for completion of the words of any command - beginning with foo. When completion is attempted, all pattern - completions are tried in the reverse order of their definition - until one matches. By default, completion then proceeds as normal, - i.e. the shell will try to generate more matches for the specific - command on the command line; this can be overridden by including - -tn in the flags for the pattern completion. - - Note that aliases are expanded before the command name is - determined unless the COMPLETE_ALIASES option is set. Commands may - not be combined with the -C, -D or -T flags. - --C - controls completion when the command word itself is being - completed. If no compctl -C command has been issued, the names of - any executable command (whether in the path or specific to the - shell, such as aliases or functions) are completed. - --D - controls default completion behavior for the arguments of commands - not assigned any special behavior. If no compctl -D command has - been issued, filenames are completed. - --T - supplies completion flags to be used before any other processing is - done, even before processing for compctls defined for specific - commands. This is especially useful when combined with extended - completion (the -x flag, see *note Extended Completion:: below). - Using this flag you can define default behavior which will apply to - all commands without exception, or you can alter the standard - behavior for all commands. For example, if your access to the user - database is too slow and/or it contains too many users (so that - completion after '~' is too slow to be usable), you can use - - compctl -T -x 's[~] C[0,[^/]#]' -k friends -S/ -tn - - to complete the strings in the array friends after a '~'. The - C[...] argument is necessary so that this form of ~-completion is - not tried after the directory name is finished. - --L - lists the existing completion behavior in a manner suitable for - putting into a start-up script; the existing behavior is not - changed. Any combination of the above forms, or the -M flag (which - must follow the -L flag), may be specified, otherwise all defined - completions are listed. Any other flags supplied are ignored. - -_no argument_ - If no argument is given, compctl lists all defined completions in - an abbreviated form; with a list of OPTIONS, all completions with - those flags set (not counting extended completion) are listed. - -If the + flag is alone and followed immediately by the COMMAND list, the -completion behavior for all the commands in the list is reset to the -default. In other words, completion will subsequently use the options -specified by the -D flag. - -The form with -M as the first and only option defines global matching -specifications (see *note Completion Matching Control::). The match -specifications given will be used for every completion attempt (only -when using compctl, not with the new completion system) and are tried in -the order in which they are defined until one generates at least one -match. E.g.: - - compctl -M '' 'm:{a-zA-Z}={A-Za-z}' - -This will first try completion without any global match specifications -(the empty string) and, if that generates no matches, will try case -insensitive completion. - - -File: zsh.info, Node: Option Flags, Next: Alternative Completion, Prev: Command Flags, Up: Completion Using compctl - -21.4 Option Flags -================= - -[ -fcFBdeaRGovNAIOPZEnbjrzu/12 ] -[ -k ARRAY ] [ -g GLOBSTRING ] [ -s SUBSTSTRING ] -[ -K FUNCTION ] -[ -Q ] [ -P PREFIX ] [ -S SUFFIX ] -[ -W FILE-PREFIX ] [ -H NUM PATTERN ] -[ -q ] [ -X EXPLANATION ] [ -Y EXPLANATION ] -[ -y FUNC-OR-VAR ] [ -l CMD ] [ -h CMD ] [ -U ] -[ -t CONTINUE ] [ -J NAME ] [ -V NAME ] -[ -M MATCH-SPEC ] - -The remaining OPTIONS specify the type of command arguments to look for -during completion. Any combination of these flags may be specified; the -result is a sorted list of all the possibilities. The options are as -follows. -* Menu: - -* Simple Flags:: -* Flags with Arguments:: -* Control Flags:: - - -File: zsh.info, Node: Simple Flags, Next: Flags with Arguments, Up: Option Flags - -21.4.1 Simple Flags -------------------- - -These produce completion lists made up by the shell itself: - --f - Filenames and file system paths. - --/ - Just file system paths. - --c - Command names, including aliases, shell functions, builtins and - reserved words. - --F - Function names. - --B - Names of builtin commands. - --m - Names of external commands. - --w - Reserved words. - --a - Alias names. - --R - Names of regular (non-global) aliases. - --G - Names of global aliases. - --d - This can be combined with -F, -B, -w, -a, -R and -G to get names of - disabled functions, builtins, reserved words or aliases. - --e - This option (to show enabled commands) is in effect by default, but - may be combined with -d; -de in combination with -F, -B, -w, -a, -R - and -G will complete names of functions, builtins, reserved words - or aliases whether or not they are disabled. - --o - Names of shell options (see *note Options::). - --v - Names of any variable defined in the shell. - --N - Names of scalar (non-array) parameters. - --A - Array names. - --I - Names of integer variables. - --O - Names of read-only variables. - --p - Names of parameters used by the shell (including special - parameters). - --Z - Names of shell special parameters. - --E - Names of environment variables. - --n - Named directories. - --b - Key binding names. - --j - Job names: the first word of the job leader's command line. This - is useful with the kill builtin. - --r - Names of running jobs. - --z - Names of suspended jobs. - --u - User names. - - -File: zsh.info, Node: Flags with Arguments, Next: Control Flags, Prev: Simple Flags, Up: Option Flags - -21.4.2 Flags with Arguments ---------------------------- - -These have user supplied arguments to determine how the list of -completions is to be made up: - --k ARRAY - Names taken from the elements of $ARRAY (note that the '$' does not - appear on the command line). Alternatively, the argument ARRAY - itself may be a set of space- or comma-separated values in - parentheses, in which any delimiter may be escaped with a - backslash; in this case the argument should be quoted. For - example, - - compctl -k "(cputime filesize datasize stacksize - coredumpsize resident descriptors)" limit - --g GLOBSTRING - The GLOBSTRING is expanded using filename globbing; it should be - quoted to protect it from immediate expansion. The resulting - filenames are taken as the possible completions. Use '*(/)' - instead of '*/' for directories. The fignore special parameter is - not applied to the resulting files. More than one pattern may be - given separated by blanks. (Note that brace expansion is _not_ - part of globbing. Use the syntax '(either|or)' to match - alternatives.) - --s SUBSTSTRING - The SUBSTSTRING is split into words and these words are than - expanded using all shell expansion mechanisms (see *note - Expansion::). The resulting words are taken as possible - completions. The fignore special parameter is not applied to the - resulting files. Note that -g is faster for filenames. - --K FUNCTION - Call the given function to get the completions. Unless the name - starts with an underscore, the function is passed two arguments: - the prefix and the suffix of the word on which completion is to be - attempted, in other words those characters before the cursor - position, and those from the cursor position onwards. The whole - command line can be accessed with the -c and -l flags of the read - builtin. The function should set the variable reply to an array - containing the completions (one completion per element); note that - reply should not be made local to the function. From such a - function the command line can be accessed with the -c and -l flags - to the read builtin. For example, - - function whoson { reply=(`users`); } - compctl -K whoson talk - - completes only logged-on users after 'talk'. Note that 'whoson' - must return an array, so 'reply=`users`' would be incorrect. - --H NUM PATTERN - The possible completions are taken from the last NUM history lines. - Only words matching PATTERN are taken. If NUM is zero or negative - the whole history is searched and if PATTERN is the empty string - all words are taken (as with '*'). A typical use is - - compctl -D -f + -H 0 '' - - which forces completion to look back in the history list for a word - if no filename matches. - - -File: zsh.info, Node: Control Flags, Prev: Flags with Arguments, Up: Option Flags - -21.4.3 Control Flags --------------------- - -These do not directly specify types of name to be completed, but -manipulate the options that do: - --Q - This instructs the shell not to quote any metacharacters in the - possible completions. Normally the results of a completion are - inserted into the command line with any metacharacters quoted so - that they are interpreted as normal characters. This is - appropriate for filenames and ordinary strings. However, for - special effects, such as inserting a backquoted expression from a - completion array (-k) so that the expression will not be evaluated - until the complete line is executed, this option must be used. - --P PREFIX - The PREFIX is inserted just before the completed string; any - initial part already typed will be completed and the whole PREFIX - ignored for completion purposes. For example, - - compctl -j -P "%" kill - - inserts a '%' after the kill command and then completes job names. - --S SUFFIX - When a completion is found the SUFFIX is inserted after the - completed string. In the case of menu completion the suffix is - inserted immediately, but it is still possible to cycle through the - list of completions by repeatedly hitting the same key. - --W FILE-PREFIX - With directory FILE-PREFIX: for command, file, directory and - globbing completion (options -c, -f, -/, -g), the file prefix is - implicitly added in front of the completion. For example, - - compctl -/ -W ~/Mail maildirs - - completes any subdirectories to any depth beneath the directory - ~/Mail, although that prefix does not appear on the command line. - The FILE-PREFIX may also be of the form accepted by the -k flag, - i.e. the name of an array or a literal list in parenthesis. In - this case all the directories in the list will be searched for - possible completions. - --q - If used with a suffix as specified by the -S option, this causes - the suffix to be removed if the next character typed is a blank or - does not insert anything or if the suffix consists of only one - character and the next character typed is the same character; this - the same rule used for the AUTO_REMOVE_SLASH option. The option is - most useful for list separators (comma, colon, etc.). - --l CMD - This option restricts the range of command line words that are - considered to be arguments. If combined with one of the extended - completion patterns 'p[...]', 'r[...]', or 'R[...]' (see *note - Extended Completion:: below) the range is restricted to the range - of arguments specified in the brackets. Completion is then - performed as if these had been given as arguments to the CMD - supplied with the option. If the CMD string is empty the first - word in the range is instead taken as the command name, and command - name completion performed on the first word in the range. For - example, - - compctl -x 'r[-exec,;]' -l '' -- find - - completes arguments between '-exec' and the following ';' (or the - end of the command line if there is no such string) as if they were - a separate command line. - --h CMD - Normally zsh completes quoted strings as a whole. With this - option, completion can be done separately on different parts of - such strings. It works like the -l option but makes the completion - code work on the parts of the current word that are separated by - spaces. These parts are completed as if they were arguments to the - given CMD. If CMD is the empty string, the first part is completed - as a command name, as with -l. - --U - Use the whole list of possible completions, whether or not they - actually match the word on the command line. The word typed so far - will be deleted. This is most useful with a function (given by the - -K option) which can examine the word components passed to it (or - via the read builtin's -c and -l flags) and use its own criteria to - decide what matches. If there is no completion, the original word - is retained. Since the produced possible completions seldom have - interesting common prefixes and suffixes, menu completion is - started immediately if AUTO_MENU is set and this flag is used. - --y FUNC-OR-VAR - The list provided by FUNC-OR-VAR is displayed instead of the list - of completions whenever a listing is required; the actual - completions to be inserted are not affected. It can be provided in - two ways. Firstly, if FUNC-OR-VAR begins with a $ it defines a - variable, or if it begins with a left parenthesis a literal array, - which contains the list. A variable may have been set by a call to - a function using the -K option. Otherwise it contains the name of - a function which will be executed to create the list. The function - will be passed as an argument list all matching completions, - including prefixes and suffixes expanded in full, and should set - the array reply to the result. In both cases, the display list - will only be retrieved after a complete list of matches has been - created. - - Note that the returned list does not have to correspond, even in - length, to the original set of matches, and may be passed as a - scalar instead of an array. No special formatting of characters is - performed on the output in this case; in particular, newlines are - printed literally and if they appear output in columns is - suppressed. - --X EXPLANATION - Print EXPLANATION when trying completion on the current set of - options. A '%n' in this string is replaced by the number of - matches that were added for this explanation string. The - explanation only appears if completion was tried and there was no - unique match, or when listing completions. Explanation strings - will be listed together with the matches of the group specified - together with the -X option (using the -J or -V option). If the - same explanation string is given to multiple -X options, the string - appears only once (for each group) and the number of matches shown - for the '%n' is the total number of all matches for each of these - uses. In any case, the explanation string will only be shown if - there was at least one match added for the explanation string. - - The sequences %B, %b, %S, %s, %U, and %u specify output attributes - (bold, standout, and underline), %F, %f, %K, %k specify foreground - and background colours, and %{...%} can be used to include literal - escape sequences as in prompts. - --Y EXPLANATION - Identical to -X, except that the EXPLANATION first undergoes - expansion following the usual rules for strings in double quotes. - The expansion will be carried out after any functions are called - for the -K or -y options, allowing them to set variables. - --t CONTINUE - The CONTINUE-string contains a character that specifies which set - of completion flags should be used next. It is useful: - - (i) With -T, or when trying a list of pattern completions, when - compctl would usually continue with ordinary processing after - finding matches; this can be suppressed with '-tn'. - - (ii) With a list of alternatives separated by +, when compctl would - normally stop when one of the alternatives generates matches. It - can be forced to consider the next set of completions by adding - '-t+' to the flags of the alternative before the '+'. - - (iii) In an extended completion list (see below), when compctl - would normally continue until a set of conditions succeeded, then - use only the immediately following flags. With '-t-', compctl will - continue trying extended completions after the next '-'; with '-tx' - it will attempt completion with the default flags, in other words - those before the '-x'. - --J NAME - This gives the name of the group the matches should be placed in. - Groups are listed and sorted separately; likewise, menu completion - will offer the matches in the groups in the order in which the - groups were defined. If no group name is explicitly given, the - matches are stored in a group named default. The first time a - group name is encountered, a group with that name is created. - After that all matches with the same group name are stored in that - group. - - This can be useful with non-exclusive alternative completions. For - example, in - - compctl -f -J files -t+ + -v -J variables foo - - both files and variables are possible completions, as the -t+ - forces both sets of alternatives before and after the + to be - considered at once. Because of the -J options, however, all files - are listed before all variables. - --V NAME - Like -J, but matches within the group will not be sorted in - listings nor in menu completion. These unsorted groups are in a - different name space from the sorted ones, so groups defined as -J - files and -V files are distinct. - --1 - If given together with the -V option, makes only consecutive - duplicates in the group be removed. Note that groups with and - without this flag are in different name spaces. - --2 - If given together with the -J or -V option, makes all duplicates be - kept. Again, groups with and without this flag are in different - name spaces. - --M MATCH-SPEC - This defines additional matching control specifications that should - be used only when testing words for the list of flags this flag - appears in. The format of the MATCH-SPEC string is described in - *note Completion Matching Control::. - - -File: zsh.info, Node: Alternative Completion, Next: Extended Completion, Prev: Option Flags, Up: Completion Using compctl - -21.5 Alternative Completion -=========================== - -compctl [ -CDT ] OPTIONS + OPTIONS [ + ... ] [ + ] COMMAND ... - -The form with '+' specifies alternative options. Completion is tried -with the options before the first '+'. If this produces no matches -completion is tried with the flags after the '+' and so on. If there -are no flags after the last '+' and a match has not been found up to -that point, default completion is tried. If the list of flags contains -a -t with a + character, the next list of flags is used even if the -current list produced matches. - - -File: zsh.info, Node: Extended Completion, Next: Example, Prev: Alternative Completion, Up: Completion Using compctl - -Additional options are available that restrict completion to some part -of the command line; this is referred to as 'extended completion'. - -21.6 Extended Completion -======================== - -compctl [ -CDT ] OPTIONS -x PATTERN OPTIONS - ... -- - [ COMMAND ... ] -compctl [ -CDT ] OPTIONS [ -x PATTERN OPTIONS - ... -- ] - [ + OPTIONS [ -x ... -- ] ... [+] ] [ COMMAND ... ] - -The form with '-x' specifies extended completion for the commands given; -as shown, it may be combined with alternative completion using '+'. -Each PATTERN is examined in turn; when a match is found, the -corresponding OPTIONS, as described in *note Option Flags:: above, are -used to generate possible completions. If no PATTERN matches, the -OPTIONS given before the -x are used. - -Note that each pattern should be supplied as a single argument and -should be quoted to prevent expansion of metacharacters by the shell. - -A PATTERN is built of sub-patterns separated by commas; it matches if at -least one of these sub-patterns matches (they are 'or'ed). These -sub-patterns are in turn composed of other sub-patterns separated by -white spaces which match if all of the sub-patterns match (they are -'and'ed). An element of the sub-patterns is of the form 'C[...][...]', -where the pairs of brackets may be repeated as often as necessary, and -matches if any of the sets of brackets match (an 'or'). The example -below makes this clearer. - -The elements may be any of the following: - -s[STRING]... - Matches if the current word on the command line starts with one of - the strings given in brackets. The STRING is not removed and is - not part of the completion. - -S[STRING]... - Like s[STRING] except that the STRING is part of the completion. - -p[FROM,TO]... - Matches if the number of the current word is between one of the - FROM and TO pairs inclusive. The comma and TO are optional; TO - defaults to the same value as FROM. The numbers may be negative: - -N refers to the N'th last word on the line. - -c[OFFSET,STRING]... - Matches if the STRING matches the word offset by OFFSET from the - current word position. Usually OFFSET will be negative. - -C[OFFSET,PATTERN]... - Like c but using pattern matching instead. - -w[INDEX,STRING]... - Matches if the word in position INDEX is equal to the corresponding - STRING. Note that the word count is made after any alias - expansion. - -W[INDEX,PATTERN]... - Like w but using pattern matching instead. - -n[INDEX,STRING]... - Matches if the current word contains STRING. Anything up to and - including the INDEXth occurrence of this string will not be - considered part of the completion, but the rest will. INDEX may be - negative to count from the end: in most cases, INDEX will be 1 or - -1. For example, - - compctl -s '`users`' -x 'n[1,@]' -k hosts -- talk - - will usually complete usernames, but if you insert an @ after the - name, names from the array HOSTS (assumed to contain hostnames, - though you must make the array yourself) will be completed. Other - commands such as rcp can be handled similarly. - -N[INDEX,STRING]... - Like n except that the string will be taken as a character class. - Anything up to and including the INDEXth occurrence of any of the - characters in STRING will not be considered part of the completion. - -m[MIN,MAX]... - Matches if the total number of words lies between MIN and MAX - inclusive. - -r[STR1,STR2]... - Matches if the cursor is after a word with prefix STR1. If there - is also a word with prefix STR2 on the command line after the one - matched by STR1 it matches only if the cursor is before this word. - If the comma and STR2 are omitted, it matches if the cursor is - after a word with prefix STR1. - -R[STR1,STR2]... - Like r but using pattern matching instead. - -q[STR]... - Matches the word currently being completed is in single quotes and - the STR begins with the letter 's', or if completion is done in - double quotes and STR starts with the letter 'd', or if completion - is done in backticks and STR starts with a 'b'. - - -File: zsh.info, Node: Example, Prev: Extended Completion, Up: Completion Using compctl - -21.7 Example -============ - - compctl -u -x 's[+] c[-1,-f],s[-f+]' \ - -g '~/Mail/*(:t)' - 's[-f],c[-1,-f]' -f -- mail - -This is to be interpreted as follows: - -If the current command is mail, then - - if ((the current word begins with + and the previous word is -f) or - (the current word begins with -f+)), then complete the - non-directory part (the ':t' glob modifier) of files in the - directory ~/Mail; else - - if the current word begins with -f or the previous word was -f, - then complete any file; else - - complete user names. - - -File: zsh.info, Node: Zsh Modules, Next: Calendar Function System, Prev: Completion Using compctl, Up: Top - -22 Zsh Modules -************** - -22.1 Description -================ - -Some optional parts of zsh are in modules, separate from the core of the -shell. Each of these modules may be linked in to the shell at build -time, or can be dynamically linked while the shell is running if the -installation supports this feature. Modules are linked at runtime with -the zmodload command, see *note Shell Builtin Commands::. - -The modules that are bundled with the zsh distribution are: - -zsh/attr - Builtins for manipulating extended attributes (xattr). - -zsh/cap - Builtins for manipulating POSIX.1e (POSIX.6) capability (privilege) - sets. - -zsh/clone - A builtin that can clone a running shell onto another terminal. - -zsh/compctl - The compctl builtin for controlling completion. - -zsh/complete - The basic completion code. - -zsh/complist - Completion listing extensions. - -zsh/computil - A module with utility builtins needed for the shell function based - completion system. - -zsh/curses - curses windowing commands - -zsh/datetime - Some date/time commands and parameters. - -zsh/db/gdbm - Builtins for managing associative array parameters tied to GDBM - databases. - -zsh/deltochar - A ZLE function duplicating EMACS' zap-to-char. - -zsh/example - An example of how to write a module. - -zsh/files - Some basic file manipulation commands as builtins. - -zsh/langinfo - Interface to locale information. - -zsh/mapfile - Access to external files via a special associative array. - -zsh/mathfunc - Standard scientific functions for use in mathematical evaluations. - -zsh/nearcolor - Map colours to the nearest colour in the available palette. - -zsh/newuser - Arrange for files for new users to be installed. - -zsh/parameter - Access to internal hash tables via special associative arrays. - -zsh/pcre - Interface to the PCRE library. - -zsh/param/private - Builtins for managing private-scoped parameters in function - context. - -zsh/regex - Interface to the POSIX regex library. - -zsh/sched - A builtin that provides a timed execution facility within the - shell. - -zsh/net/socket - Manipulation of Unix domain sockets - -zsh/stat - A builtin command interface to the stat system call. - -zsh/system - A builtin interface to various low-level system features. - -zsh/net/tcp - Manipulation of TCP sockets - -zsh/termcap - Interface to the termcap database. - -zsh/terminfo - Interface to the terminfo database. - -zsh/watch - Reporting of login and logout events. - -zsh/zftp - A builtin FTP client. - -zsh/zle - The Zsh Line Editor, including the bindkey and vared builtins. - -zsh/zleparameter - Access to internals of the Zsh Line Editor via parameters. - -zsh/zprof - A module allowing profiling for shell functions. - -zsh/zpty - A builtin for starting a command in a pseudo-terminal. - -zsh/zselect - Block and return when file descriptors are ready. - -zsh/zutil - Some utility builtins, e.g. the one for supporting configuration - via styles. - -* Menu: - -* The zsh/attr Module:: -* The zsh/cap Module:: -* The zsh/clone Module:: -* The zsh/compctl Module:: -* The zsh/complete Module:: -* The zsh/complist Module:: -* The zsh/computil Module:: -* The zsh/curses Module:: -* The zsh/datetime Module:: -* The zsh/db/gdbm Module:: -* The zsh/deltochar Module:: -* The zsh/example Module:: -* The zsh/files Module:: -* The zsh/langinfo Module:: -* The zsh/mapfile Module:: -* The zsh/mathfunc Module:: -* The zsh/nearcolor Module:: -* The zsh/newuser Module:: -* The zsh/parameter Module:: -* The zsh/pcre Module:: -* The zsh/param/private Module:: -* The zsh/regex Module:: -* The zsh/sched Module:: -* The zsh/net/socket Module:: -* The zsh/stat Module:: -* The zsh/system Module:: -* The zsh/net/tcp Module:: -* The zsh/termcap Module:: -* The zsh/terminfo Module:: -* The zsh/watch Module:: -* The zsh/zftp Module:: -* The zsh/zle Module:: -* The zsh/zleparameter Module:: -* The zsh/zprof Module:: -* The zsh/zpty Module:: -* The zsh/zselect Module:: -* The zsh/zutil Module:: - - -File: zsh.info, Node: The zsh/attr Module, Next: The zsh/cap Module, Up: Zsh Modules - -22.2 The zsh/attr Module -======================== - -The zsh/attr module is used for manipulating extended attributes. The --h option causes all commands to operate on symbolic links instead of -their targets. The builtins in this module are: - -zgetattr [ -h ] FILENAME ATTRIBUTE [ PARAMETER ] - Get the extended attribute ATTRIBUTE from the specified FILENAME. - If the optional argument PARAMETER is given, the attribute is set - on that parameter instead of being printed to stdout. - -zsetattr [ -h ] FILENAME ATTRIBUTE VALUE - Set the extended attribute ATTRIBUTE on the specified FILENAME to - VALUE. - -zdelattr [ -h ] FILENAME ATTRIBUTE - Remove the extended attribute ATTRIBUTE from the specified - FILENAME. - -zlistattr [ -h ] FILENAME [ PARAMETER ] - List the extended attributes currently set on the specified - FILENAME. If the optional argument PARAMETER is given, the list of - attributes is set on that parameter instead of being printed to - stdout. - -zgetattr and zlistattr allocate memory dynamically. If the attribute or -list of attributes grows between the allocation and the call to get -them, they return 2. On all other errors, 1 is returned. This allows -the calling function to check for this case and retry. - - -File: zsh.info, Node: The zsh/cap Module, Next: The zsh/clone Module, Prev: The zsh/attr Module, Up: Zsh Modules - -22.3 The zsh/cap Module -======================= - -The zsh/cap module is used for manipulating POSIX.1e (POSIX.6) -capability sets. If the operating system does not support this -interface, the builtins defined by this module will do nothing. The -builtins in this module are: - -cap [ CAPABILITIES ] - Change the shell's process capability sets to the specified - CAPABILITIES, otherwise display the shell's current capabilities. - -getcap FILENAME ... - This is a built-in implementation of the POSIX standard utility. - It displays the capability sets on each specified FILENAME. - -setcap CAPABILITIES FILENAME ... - This is a built-in implementation of the POSIX standard utility. - It sets the capability sets on each specified FILENAME to the - specified CAPABILITIES. - - -File: zsh.info, Node: The zsh/clone Module, Next: The zsh/compctl Module, Prev: The zsh/cap Module, Up: Zsh Modules - -22.4 The zsh/clone Module -========================= - -The zsh/clone module makes available one builtin command: - -clone TTY - Creates a forked instance of the current shell, attached to the - specified TTY. In the new shell, the PID, PPID and TTY special - parameters are changed appropriately. $! is set to zero in the new - shell, and to the new shell's PID in the original shell. - - The return status of the builtin is zero in both shells if - successful, and non-zero on error. - - The target of clone should be an unused terminal, such as an unused - virtual console or a virtual terminal created by - - xterm -e sh -c 'trap : INT QUIT TSTP; tty; - while :; do sleep 100000000; done' - - Some words of explanation are warranted about this long xterm - command line: when doing clone on a pseudo-terminal, some other - session ("session" meant as a unix session group, or SID) is - already owning the terminal. Hence the cloned zsh cannot acquire - the pseudo-terminal as a controlling tty. That means two things: - - • the job control signals will go to the sh-started-by-xterm - process group (that's why we disable INT QUIT and TSTP with - trap; otherwise the while loop could get suspended or killed) - • the cloned shell will have job control disabled, and the job - control keys (control-C, control-\ and control-Z) will not - work. - - This does not apply when cloning to an _unused_ vc. - - Cloning to a used (and unprepared) terminal will result in two - processes reading simultaneously from the same terminal, with input - bytes going randomly to either process. - - clone is mostly useful as a shell built-in replacement for openvt. - - -File: zsh.info, Node: The zsh/compctl Module, Next: The zsh/complete Module, Prev: The zsh/clone Module, Up: Zsh Modules - -22.5 The zsh/compctl Module -=========================== - -The zsh/compctl module makes available two builtin commands. compctl, -is the old, deprecated way to control completions for ZLE. See *note -Completion Using compctl::. The other builtin command, compcall can be -used in user-defined completion widgets, see *note Completion Widgets::. - - -File: zsh.info, Node: The zsh/complete Module, Next: The zsh/complist Module, Prev: The zsh/compctl Module, Up: Zsh Modules - -22.6 The zsh/complete Module -============================ - -The zsh/complete module makes available several builtin commands which -can be used in user-defined completion widgets, see *note Completion -Widgets::. - - -File: zsh.info, Node: The zsh/complist Module, Next: The zsh/computil Module, Prev: The zsh/complete Module, Up: Zsh Modules - -22.7 The zsh/complist Module -============================ - -The zsh/complist module offers three extensions to completion listings: -the ability to highlight matches in such a list, the ability to scroll -through long lists and a different style of menu completion. - -22.7.1 Colored completion listings ----------------------------------- - -Whenever one of the parameters ZLS_COLORS or ZLS_COLOURS is set and the -zsh/complist module is loaded or linked into the shell, completion lists -will be colored. Note, however, that complist will not automatically be -loaded if it is not linked in: on systems with dynamic loading, -'zmodload zsh/complist' is required. - -The parameters ZLS_COLORS and ZLS_COLOURS describe how matches are -highlighted. To turn on highlighting an empty value suffices, in which -case all the default values given below will be used. The format of the -value of these parameters is the same as used by the GNU version of the -ls command: a colon-separated list of specifications of the form -'NAME=VALUE'. The NAME may be one of the following strings, most of -which specify file types for which the VALUE will be used. The strings -and their default values are: - -no 0 - for normal text (i.e. when displaying something other than a - matched file) - -fi 0 - for regular files - -di 32 - for directories - -ln 36 - for symbolic links. If this has the special value target, symbolic - links are dereferenced and the target file used to determine the - display format. - -pi 31 - for named pipes (FIFOs) - -so 33 - for sockets - -bd 44;37 - for block devices - -cd 44;37 - for character devices - -or NONE - for a symlink to nonexistent file (default is the value defined for - ln) - -mi NONE - for a non-existent file (default is the value defined for fi); this - code is currently not used - -su 37;41 - for files with setuid bit set - -sg 30;43 - for files with setgid bit set - -tw 30;42 - for world writable directories with sticky bit set - -ow 34;43 - for world writable directories without sticky bit set - -sa NONE - for files with an associated suffix alias; this is only tested - after specific suffixes, as described below - -st 37;44 - for directories with sticky bit set but not world writable - -ex 35 - for executable files - -lc \e[ - for the left code (see below) - -rc m - for the right code - -tc 0 - for the character indicating the file type printed after filenames - if the LIST_TYPES option is set - -sp 0 - for the spaces printed after matches to align the next column - -ec NONE - for the end code - -Apart from these strings, the NAME may also be an asterisk ('*') -followed by any string. The VALUE given for such a string will be used -for all files whose name ends with the string. The NAME may also be an -equals sign ('=') followed by a pattern; the EXTENDED_GLOB option will -be turned on for evaluation of the pattern. The VALUE given for this -pattern will be used for all matches (not just filenames) whose display -string are matched by the pattern. Definitions for the form with the -leading equal sign take precedence over the values defined for file -types, which in turn take precedence over the form with the leading -asterisk (file extensions). - -The leading-equals form also allows different parts of the displayed -strings to be colored differently. For this, the pattern has to use the -'(#b)' globbing flag and pairs of parentheses surrounding the parts of -the strings that are to be colored differently. In this case the VALUE -may consist of more than one color code separated by equal signs. The -first code will be used for all parts for which no explicit code is -specified and the following codes will be used for the parts matched by -the sub-patterns in parentheses. For example, the specification -'=(#b)(?)*(?)=0=3=7' will be used for all matches which are at least two -characters long and will use the code '3' for the first character, '7' -for the last character and '0' for the rest. - -All three forms of NAME may be preceded by a pattern in parentheses. If -this is given, the VALUE will be used only for matches in groups whose -names are matched by the pattern given in the parentheses. For example, -'(g*)m*=43' highlights all matches beginning with 'm' in groups whose -names begin with 'g' using the color code '43'. In case of the 'lc', -'rc', and 'ec' codes, the group pattern is ignored. - -Note also that all patterns are tried in the order in which they appear -in the parameter value until the first one matches which is then used. -Patterns may be matched against completions, descriptions (possibly with -spaces appended for padding), or lines consisting of a completion -followed by a description. For consistent coloring it may be necessary -to use more than one pattern or a pattern with backreferences. - -When printing a match, the code prints the value of lc, the value for -the file-type or the last matching specification with a '*', the value -of rc, the string to display for the match itself, and then the value of -ec if that is defined or the values of lc, no, and rc if ec is not -defined. - -The default values are ISO 6429 (ANSI) compliant and can be used on -vt100 compatible terminals such as xterms. On monochrome terminals the -default values will have no visible effect. The colors function from -the contribution can be used to get associative arrays containing the -codes for ANSI terminals (see *note Other Functions::). For example, -after loading colors, one could use '$color[red]' to get the code for -foreground color red and '$color[bg-green]' for the code for background -color green. - -If the completion system invoked by compinit is used, these parameters -should not be set directly because the system controls them itself. -Instead, the list-colors style should be used (see *note Completion -System Configuration::). - -22.7.2 Scrolling in completion listings ---------------------------------------- - -To enable scrolling through a completion list, the LISTPROMPT parameter -must be set. Its value will be used as the prompt; if it is the empty -string, a default prompt will be used. The value may contain escapes of -the form '%x'. It supports the escapes '%B', '%b', '%S', '%s', '%U', -'%u', '%F', '%f', '%K', '%k' and '%{...%}' used also in shell prompts as -well as three pairs of additional sequences: a '%l' or '%L' is replaced -by the number of the last line shown and the total number of lines in -the form 'NUMBER/TOTAL'; a '%m' or '%M' is replaced with the number of -the last match shown and the total number of matches; and '%p' or '%P' -is replaced with 'Top', 'Bottom' or the position of the first line shown -in percent of the total number of lines, respectively. In each of these -cases the form with the uppercase letter will be replaced with a string -of fixed width, padded to the right with spaces, while the lowercase -form will not be padded. - -If the parameter LISTPROMPT is set, the completion code will not ask if -the list should be shown. Instead it immediately starts displaying the -list, stopping after the first screenful, showing the prompt at the -bottom, waiting for a keypress after temporarily switching to the -listscroll keymap. Some of the zle functions have a special meaning -while scrolling lists: - -send-break - stops listing discarding the key pressed - -accept-line, down-history, down-line-or-history -down-line-or-search, vi-down-line-or-history - scrolls forward one line - -complete-word, menu-complete, expand-or-complete -expand-or-complete-prefix, menu-complete-or-expand - scrolls forward one screenful - -accept-search - stop listing but take no other action - -Every other character stops listing and immediately processes the key as -usual. Any key that is not bound in the listscroll keymap or that is -bound to undefined-key is looked up in the keymap currently selected. - -As for the ZLS_COLORS and ZLS_COLOURS parameters, LISTPROMPT should not -be set directly when using the shell function based completion system. -Instead, the list-prompt style should be used. - -22.7.3 Menu selection ---------------------- - -The zsh/complist module also offers an alternative style of selecting -matches from a list, called menu selection, which can be used if the -shell is set up to return to the last prompt after showing a completion -list (see the ALWAYS_LAST_PROMPT option in *note Options::). - -Menu selection can be invoked directly by the widget menu-select defined -by this module. This is a standard ZLE widget that can be bound to a -key in the usual way as described in *note Zsh Line Editor::. - -Alternatively, the parameter MENUSELECT can be set to an integer, which -gives the minimum number of matches that must be present before menu -selection is automatically turned on. This second method requires that -menu completion be started, either directly from a widget such as -menu-complete, or due to one of the options MENU_COMPLETE or AUTO_MENU -being set. If MENUSELECT is set, but is 0, 1 or empty, menu selection -will always be started during an ambiguous menu completion. - -When using the completion system based on shell functions, the -MENUSELECT parameter should not be used (like the ZLS_COLORS and -ZLS_COLOURS parameters described above). Instead, the menu style should -be used with the select=... keyword. - -After menu selection is started, the matches will be listed. If there -are more matches than fit on the screen, only the first screenful is -shown. The matches to insert into the command line can be selected from -this list. In the list one match is highlighted using the value for ma -from the ZLS_COLORS or ZLS_COLOURS parameter. The default value for -this is '7' which forces the selected match to be highlighted using -standout mode on a vt100-compatible terminal. If neither ZLS_COLORS nor -ZLS_COLOURS is set, the same terminal control sequence as for the '%S' -escape in prompts is used. - -If there are more matches than fit on the screen and the parameter -MENUPROMPT is set, its value will be shown below the matches. It -supports the same escape sequences as LISTPROMPT, but the number of the -match or line shown will be that of the one where the mark is placed. -If its value is the empty string, a default prompt will be used. - -The MENUSCROLL parameter can be used to specify how the list is -scrolled. If the parameter is unset, this is done line by line, if it -is set to '0' (zero), the list will scroll half the number of lines of -the screen. If the value is positive, it gives the number of lines to -scroll and if it is negative, the list will be scrolled the number of -lines of the screen minus the (absolute) value. - -As for the ZLS_COLORS, ZLS_COLOURS and LISTPROMPT parameters, neither -MENUPROMPT nor MENUSCROLL should be set directly when using the shell -function based completion system. Instead, the select-prompt and -select-scroll styles should be used. - -The completion code sometimes decides not to show all of the matches in -the list. These hidden matches are either matches for which the -completion function which added them explicitly requested that they not -appear in the list (using the -n option of the compadd builtin command) -or they are matches which duplicate a string already in the list -(because they differ only in things like prefixes or suffixes that are -not displayed). In the list used for menu selection, however, even -these matches are shown so that it is possible to select them. To -highlight such matches the hi and du capabilities in the ZLS_COLORS and -ZLS_COLOURS parameters are supported for hidden matches of the first and -second kind, respectively. - -Selecting matches is done by moving the mark around using the zle -movement functions. When not all matches can be shown on the screen at -the same time, the list will scroll up and down when crossing the top or -bottom line. The following zle functions have special meaning during -menu selection. Note that the following always perform the same task -within the menu selection map and cannot be replaced by user defined -widgets, nor can the set of functions be extended: - -accept-line, accept-search - accept the current match and leave menu selection (but do not cause - the command line to be accepted) - -send-break - leaves menu selection and restores the previous contents of the - command line - -redisplay, clear-screen - execute their normal function without leaving menu selection - -accept-and-hold, accept-and-menu-complete - accept the currently inserted match and continue selection allowing - to select the next match to insert into the line - -accept-and-infer-next-history - accepts the current match and then tries completion with menu - selection again; in the case of files this allows one to select a - directory and immediately attempt to complete files in it; if there - are no matches, a message is shown and one can use undo to go back - to completion on the previous level, every other key leaves menu - selection (including the other zle functions which are otherwise - special during menu selection) - -undo - removes matches inserted during the menu selection by one of the - three functions before - -down-history, down-line-or-history -vi-down-line-or-history, down-line-or-search - moves the mark one line down - -up-history, up-line-or-history -vi-up-line-or-history, up-line-or-search - moves the mark one line up - -forward-char, vi-forward-char - moves the mark one column right - -backward-char, vi-backward-char - moves the mark one column left - -forward-word, vi-forward-word -vi-forward-word-end, emacs-forward-word - moves the mark one screenful down - -backward-word, vi-backward-word, emacs-backward-word - moves the mark one screenful up - -vi-forward-blank-word, vi-forward-blank-word-end - moves the mark to the first line of the next group of matches - -vi-backward-blank-word - moves the mark to the last line of the previous group of matches - -beginning-of-history - moves the mark to the first line - -end-of-history - moves the mark to the last line - -beginning-of-buffer-or-history, beginning-of-line -beginning-of-line-hist, vi-beginning-of-line - moves the mark to the leftmost column - -end-of-buffer-or-history, end-of-line -end-of-line-hist, vi-end-of-line - moves the mark to the rightmost column - -complete-word, menu-complete, expand-or-complete -expand-or-complete-prefix, menu-expand-or-complete - moves the mark to the next match - -reverse-menu-complete - moves the mark to the previous match - -vi-insert - this toggles between normal and interactive mode; in interactive - mode the keys bound to self-insert and self-insert-unmeta insert - into the command line as in normal editing mode but without leaving - menu selection; after each character completion is tried again and - the list changes to contain only the new matches; the completion - widgets make the longest unambiguous string be inserted in the - command line and undo and backward-delete-char go back to the - previous set of matches - -history-incremental-search-forward -history-incremental-search-backward - this starts incremental searches in the list of completions - displayed; in this mode, accept-line only leaves incremental - search, going back to the normal menu selection mode - -All movement functions wrap around at the edges; any other zle function -not listed leaves menu selection and executes that function. It is -possible to make widgets in the above list do the same by using the form -of the widget with a '.' in front. For example, the widget -'.accept-line' has the effect of leaving menu selection and accepting -the entire command line. - -During this selection the widget uses the keymap menuselect. Any key -that is not defined in this keymap or that is bound to undefined-key is -looked up in the keymap currently selected. This is used to ensure that -the most important keys used during selection (namely the cursor keys, -return, and TAB) have sensible defaults. However, keys in the -menuselect keymap can be modified directly using the bindkey builtin -command (see *note The zsh/zle Module::). For example, to make the -return key leave menu selection without accepting the match currently -selected one could call - - bindkey -M menuselect '^M' send-break - -after loading the zsh/complist module. - - -File: zsh.info, Node: The zsh/computil Module, Next: The zsh/curses Module, Prev: The zsh/complist Module, Up: Zsh Modules - -22.8 The zsh/computil Module -============================ - -The zsh/computil module adds several builtin commands that are used by -some of the completion functions in the completion system based on shell -functions (see *note Completion System:: ). Except for compquote these -builtin commands are very specialised and thus not very interesting when -writing your own completion functions. In summary, these builtin -commands are: - -comparguments - This is used by the _arguments function to do the argument and - command line parsing. Like compdescribe it has an option -i to do - the parsing and initialize some internal state and various options - to access the state information to decide what should be completed. - -compdescribe - This is used by the _describe function to build the displays for - the matches and to get the strings to add as matches with their - options. On the first call one of the options -i or -I should be - supplied as the first argument. In the first case, display strings - without the descriptions will be generated, in the second case, the - string used to separate the matches from their descriptions must be - given as the second argument and the descriptions (if any) will be - shown. All other arguments are like the definition arguments to - _describe itself. - - Once compdescribe has been called with either the -i or the -I - option, it can be repeatedly called with the -g option and the - names of four parameters as its arguments. This will step through - the different sets of matches and store the value of - compstate[list] in the first scalar, the options for compadd in the - second array, the matches in the third array, and the strings to be - displayed in the completion listing in the fourth array. The - arrays may then be directly given to compadd to register the - matches with the completion code. - -compfiles - Used by the _path_files function to optimize complex recursive - filename generation (globbing). It does three things. With the -p - and -P options it builds the glob patterns to use, including the - paths already handled and trying to optimize the patterns with - respect to the prefix and suffix from the line and the match - specification currently used. The -i option does the directory - tests for the ignore-parents style and the -r option tests if a - component for some of the matches are equal to the string on the - line and removes all other matches if that is true. - -compgroups - Used by the _tags function to implement the internals of the - group-order style. This only takes its arguments as names of - completion groups and creates the groups for it (all six types: - sorted and unsorted, both without removing duplicates, with - removing all duplicates and with removing consecutive duplicates). - -compquote [ -p ] NAMES ... - There may be reasons to write completion functions that have to add - the matches using the -Q option to compadd and perform quoting - themselves. Instead of interpreting the first character of the - all_quotes key of the compstate special association and using the q - flag for parameter expansions, one can use this builtin command. - The arguments are the names of scalar or array parameters and the - values of these parameters are quoted as needed for the innermost - quoting level. If the -p option is given, quoting is done as if - there is some prefix before the values of the parameters, so that a - leading equal sign will not be quoted. - - The return status is non-zero in case of an error and zero - otherwise. - -comptags -comptry - These implement the internals of the tags mechanism. - -compvalues - Like comparguments, but for the _values function. - - -File: zsh.info, Node: The zsh/curses Module, Next: The zsh/datetime Module, Prev: The zsh/computil Module, Up: Zsh Modules - -22.9 The zsh/curses Module -========================== - -The zsh/curses module makes available one builtin command and various -parameters. - -22.9.1 Builtin --------------- - -zcurses init -zcurses end -zcurses addwin TARGETWIN NLINES NCOLS BEGIN_Y BEGIN_X [ PARENTWIN ] -zcurses delwin TARGETWIN -zcurses refresh [ TARGETWIN ... ] -zcurses touch TARGETWIN ... -zcurses move TARGETWIN NEW_Y NEW_X -zcurses clear TARGETWIN [ redraw | eol | bot ] -zcurses position TARGETWIN ARRAY -zcurses char TARGETWIN CHARACTER -zcurses string TARGETWIN STRING -zcurses border TARGETWIN BORDER -zcurses attr TARGETWIN [ [+|-]ATTRIBUTE | FG_COL/BG_COL ] [...] -zcurses bg TARGETWIN [ [+|-]ATTRIBUTE | FG_COL/BG_COL | @CHAR ] [...] -zcurses scroll TARGETWIN [ on | off | [+|-]LINES ] -zcurses input TARGETWIN [ PARAM [ KPARAM [ MPARAM ] ] ] -zcurses mouse [ delay NUM | [+|-]motion ] -zcurses timeout TARGETWIN INTVAL -zcurses querychar TARGETWIN [ PARAM ] -zcurses resize HEIGHT WIDTH [ endwin | nosave | endwin_nosave ] - Manipulate curses windows. All uses of this command should be - bracketed by 'zcurses init' to initialise use of curses, and - 'zcurses end' to end it; omitting 'zcurses end' can cause the - terminal to be in an unwanted state. - - The subcommand addwin creates a window with NLINES lines and NCOLS - columns. Its upper left corner will be placed at row BEGIN_Y and - column BEGIN_X of the screen. TARGETWIN is a string and refers to - the name of a window that is not currently assigned. Note in - particular the curses convention that vertical values appear before - horizontal values. - - If addwin is given an existing window as the final argument, the - new window is created as a subwindow of PARENTWIN. This differs - from an ordinary new window in that the memory of the window - contents is shared with the parent's memory. Subwindows must be - deleted before their parent. Note that the coordinates of - subwindows are relative to the screen, not the parent, as with - other windows. - - Use the subcommand delwin to delete a window created with addwin. - Note that end does _not_ implicitly delete windows, and that delwin - does not erase the screen image of the window. - - The window corresponding to the full visible screen is called - stdscr; it always exists after 'zcurses init' and cannot be delete - with delwin. - - The subcommand refresh will refresh window TARGETWIN; this is - necessary to make any pending changes (such as characters you have - prepared for output with char) visible on the screen. refresh - without an argument causes the screen to be cleared and redrawn. - If multiple windows are given, the screen is updated once at the - end. - - The subcommand touch marks the TARGETWINs listed as changed. This - is necessary before refreshing windows if a window that was in - front of another window (which may be stdscr) is deleted. - - The subcommand move moves the cursor position in TARGETWIN to new - coordinates NEW_Y and NEW_X. Note that the subcommand string (but - not the subcommand char) advances the cursor position over the - characters added. - - The subcommand clear erases the contents of TARGETWIN. One (and no - more than one) of three options may be specified. With the option - redraw, in addition the next refresh of TARGETWIN will cause the - screen to be cleared and repainted. With the option eol, TARGETWIN - is only cleared to the end of the current cursor line. With the - option bot, TARGETWIN is cleared to the end of the window, i.e - everything to the right and below the cursor is cleared. - - The subcommand position writes various positions associated with - TARGETWIN into the array named ARRAY. These are, in order: - - - The y and x coordinates of the cursor relative to the top left - of TARGETWIN - - - The y and x coordinates of the top left of TARGETWIN on the - screen - - - The size of TARGETWIN in y and x dimensions. - - Outputting characters and strings are achieved by char and string - respectively. - - To draw a border around window TARGETWIN, use border. Note that - the border is not subsequently handled specially: in other words, - the border is simply a set of characters output at the edge of the - window. Hence it can be overwritten, can scroll off the window, - etc. - - The subcommand attr will set TARGETWIN's attributes or - foreground/background color pair for any successive character - output. Each ATTRIBUTE given on the line may be prepended by a + - to set or a - to unset that attribute; + is assumed if absent. The - attributes supported are blink, bold, dim, reverse, standout, and - underline. - - Each FG_COL/BG_COL attribute (to be read as 'FG_COL on BG_COL') - sets the foreground and background color for character output. The - color default is sometimes available (in particular if the library - is ncurses), specifying the foreground or background color with - which the terminal started. The color pair default/default is - always available. To use more than the 8 named colors (red, green, - etc.) construct the FG_COL/BG_COL pairs where FG_COL and BG_COL - are decimal integers, e.g 128/200. The maximum color value is 254 - if the terminal supports 256 colors. - - bg overrides the color and other attributes of all characters in - the window. Its usual use is to set the background initially, but - it will overwrite the attributes of any characters at the time when - it is called. In addition to the arguments allowed with attr, an - argument @CHAR specifies a character to be shown in otherwise blank - areas of the window. Owing to limitations of curses this cannot be - a multibyte character (use of ASCII characters only is - recommended). As the specified set of attributes override the - existing background, turning attributes off in the arguments is not - useful, though this does not cause an error. - - The subcommand scroll can be used with on or off to enabled or - disable scrolling of a window when the cursor would otherwise move - below the window due to typing or output. It can also be used with - a positive or negative integer to scroll the window up or down the - given number of lines without changing the current cursor position - (which therefore appears to move in the opposite direction relative - to the window). In the second case, if scrolling is off it is - temporarily turned on to allow the window to be scrolled. - - The subcommand input reads a single character from the window - without echoing it back. If PARAM is supplied the character is - assigned to the parameter PARAM, else it is assigned to the - parameter REPLY. - - If both PARAM and KPARAM are supplied, the key is read in 'keypad' - mode. In this mode special keys such as function keys and arrow - keys return the name of the key in the parameter KPARAM. The key - names are the macros defined in the curses.h or ncurses.h with the - prefix 'KEY_' removed; see also the description of the parameter - zcurses_keycodes below. Other keys cause a value to be set in - PARAM as before. On a successful return only one of PARAM or - KPARAM contains a non-empty string; the other is set to an empty - string. - - If MPARAM is also supplied, input attempts to handle mouse input. - This is only available with the ncurses library; mouse handling can - be detected by checking for the exit status of 'zcurses mouse' with - no arguments. If a mouse button is clicked (or double- or - triple-clicked, or pressed or released with a configurable delay - from being clicked) then KPARAM is set to the string MOUSE, and - MPARAM is set to an array consisting of the following elements: - - - An identifier to discriminate different input devices; this is - only rarely useful. - - - The x, y and z coordinates of the mouse click relative to the - full screen, as three elements in that order (i.e. the y - coordinate is, unusually, after the x coordinate). The z - coordinate is only available for a few unusual input devices - and is otherwise set to zero. - - - Any events that occurred as separate items; usually there will - be just one. An event consists of PRESSED, RELEASED, CLICKED, - DOUBLE_CLICKED or TRIPLE_CLICKED followed immediately (in the - same element) by the number of the button. - - - If the shift key was pressed, the string SHIFT. - - - If the control key was pressed, the string CTRL. - - - If the alt key was pressed, the string ALT. - - Not all mouse events may be passed through to the terminal window; - most terminal emulators handle some mouse events themselves. Note - that the ncurses manual implies that using input both with and - without mouse handling may cause the mouse cursor to appear and - disappear. - - The subcommand mouse can be used to configure the use of the mouse. - There is no window argument; mouse options are global. 'zcurses - mouse' with no arguments returns status 0 if mouse handling is - possible, else status 1. Otherwise, the possible arguments (which - may be combined on the same command line) are as follows. delay - NUM sets the maximum delay in milliseconds between press and - release events to be considered as a click; the value 0 disables - click resolution, and the default is one sixth of a second. motion - proceeded by an optional '+' (the default) or - turns on or off - reporting of mouse motion in addition to clicks, presses and - releases, which are always reported. However, it appears reports - for mouse motion are not currently implemented. - - The subcommand timeout specifies a timeout value for input from - TARGETWIN. If INTVAL is negative, 'zcurses input' waits - indefinitely for a character to be typed; this is the default. If - INTVAL is zero, 'zcurses input' returns immediately; if there is - typeahead it is returned, else no input is done and status 1 is - returned. If INTVAL is positive, 'zcurses input' waits INTVAL - milliseconds for input and if there is none at the end of that - period returns status 1. - - The subcommand querychar queries the character at the current - cursor position. The return values are stored in the array named - PARAM if supplied, else in the array reply. The first value is the - character (which may be a multibyte character if the system - supports them); the second is the color pair in the usual - FG_COL/BG_COL notation, or 0 if color is not supported. Any - attributes other than color that apply to the character, as set - with the subcommand attr, appear as additional elements. - - The subcommand resize resizes stdscr and all windows to given - dimensions (windows that stick out from the new dimensions are - resized down). The underlying curses extension (resize_term call) - can be unavailable. To verify, zeroes can be used for HEIGHT and - WIDTH. If the result of the subcommand is 0, resize_term is - available (2 otherwise). Tests show that resizing can be normally - accomplished by calling zcurses end and zcurses refresh. The - resize subcommand is provided for versatility. Multiple system - configurations have been checked and zcurses end and zcurses - refresh are still needed for correct terminal state after resize. - To invoke them with resize, use ENDWIN argument. Using NOSAVE - argument will cause new terminal state to not be saved internally - by zcurses. This is also provided for versatility and should - normally be not needed. - -22.9.2 Parameters ------------------ - -ZCURSES_COLORS - Readonly integer. The maximum number of colors the terminal - supports. This value is initialised by the curses library and is - not available until the first time zcurses init is run. - -ZCURSES_COLOR_PAIRS - Readonly integer. The maximum number of color pairs FG_COL/BG_COL - that may be defined in 'zcurses attr' commands; note this limit - applies to all color pairs that have been used whether or not they - are currently active. This value is initialised by the curses - library and is not available until the first time zcurses init is - run. - -zcurses_attrs - Readonly array. The attributes supported by zsh/curses; available - as soon as the module is loaded. - -zcurses_colors - Readonly array. The colors supported by zsh/curses; available as - soon as the module is loaded. - -zcurses_keycodes - Readonly array. The values that may be returned in the second - parameter supplied to 'zcurses input' in the order in which they - are defined internally by curses. Not all function keys are - listed, only F0; curses reserves space for F0 up to F63. - -zcurses_windows - Readonly array. The current list of windows, i.e. all windows - that have been created with 'zcurses addwin' and not removed with - 'zcurses delwin'. - - -File: zsh.info, Node: The zsh/datetime Module, Next: The zsh/db/gdbm Module, Prev: The zsh/curses Module, Up: Zsh Modules - -22.10 The zsh/datetime Module -============================= - -The zsh/datetime module makes available one builtin command: - -strftime [ -s SCALAR | -n ] FORMAT [ EPOCHTIME [ NANOSECONDS ] ] -strftime -r [ -q ] [ -s SCALAR | -n ] FORMAT TIMESTRING - Output the date in the FORMAT specified. With no EPOCHTIME, the - current system date/time is used; optionally, EPOCHTIME may be used - to specify the number of seconds since the epoch, and NANOSECONDS - may additionally be used to specify the number of nanoseconds past - the second (otherwise that number is assumed to be 0). See - strftime(3) for details. The zsh extensions described in *note - Prompt Expansion:: are also available. - - -n - Suppress printing a newline after the formatted string. - - -q - Run quietly; suppress printing of all error messages described - below. Errors for invalid EPOCHTIME values are always - printed. - - -r - With the option -r (reverse), use FORMAT to parse the input - string TIMESTRING and output the number of seconds since the - epoch at which the time occurred. The parsing is implemented - by the system function strptime; see strptime(3). This means - that zsh format extensions are not available, but for reverse - lookup they are not required. - - In most implementations of strftime any timezone in the - TIMESTRING is ignored and the local timezone declared by the - TZ environment variable is used; other parameters are set to - zero if not present. - - If TIMESTRING does not match FORMAT the command returns status - 1 and prints an error message. If TIMESTRING matches FORMAT - but not all characters in TIMESTRING were used, the conversion - succeeds but also prints an error message. - - If either of the system functions strptime or mktime is not - available, status 2 is returned and an error message is - printed. - - -s SCALAR - Assign the date string (or epoch time in seconds if -r is - given) to SCALAR instead of printing it. - - Note that depending on the system's declared integral time type, - strftime may produce incorrect results for epoch times greater than - 2147483647 which corresponds to 2038-01-19 03:14:07 +0000. - -The zsh/datetime module makes available several parameters; all are -readonly: - -EPOCHREALTIME - A floating point value representing the number of seconds since the - epoch. The notional accuracy is to nanoseconds if the - clock_gettime call is available and to microseconds otherwise, but - in practice the range of double precision floating point and shell - scheduling latencies may be significant effects. - -EPOCHSECONDS - An integer value representing the number of seconds since the - epoch. - -epochtime - An array value containing the number of seconds since the epoch in - the first element and the remainder of the time since the epoch in - nanoseconds in the second element. To ensure the two elements are - consistent the array should be copied or otherwise referenced as a - single substitution before the values are used. The following - idiom may be used: - - for secs nsecs in $epochtime; do - ... - done - - -File: zsh.info, Node: The zsh/db/gdbm Module, Next: The zsh/deltochar Module, Prev: The zsh/datetime Module, Up: Zsh Modules - -22.11 The zsh/db/gdbm Module -============================ - -The zsh/db/gdbm module is used to create "tied" associative arrays that -interface to database files. If the GDBM interface is not available, -the builtins defined by this module will report an error. This module -is also intended as a prototype for creating additional database -interfaces, so the ztie builtin may move to a more generic module in the -future. - -The builtins in this module are: - -ztie -d db/gdbm -f FILENAME [ -r ] ARRAYNAME - Open the GDBM database identified by FILENAME and, if successful, - create the associative array ARRAYNAME linked to the file. To - create a local tied array, the parameter must first be declared, so - commands similar to the following would be executed inside a - function scope: - - local -A sampledb - ztie -d db/gdbm -f sample.gdbm sampledb - - The -r option opens the database file for reading only, creating a - parameter with the readonly attribute. Without this option, using - 'ztie' on a file for which the user does not have write permission - is an error. If writable, the database is opened synchronously so - fields changed in ARRAYNAME are immediately written to FILENAME. - - Changes to the file modes FILENAME after it has been opened do not - alter the state of ARRAYNAME, but 'typeset -r ARRAYNAME' works as - expected. - -zuntie [ -u ] ARRAYNAME ... - Close the GDBM database associated with each ARRAYNAME and then - unset the parameter. The -u option forces an unset of parameters - made readonly with 'ztie -r'. - - This happens automatically if the parameter is explicitly unset or - its local scope (function) ends. Note that a readonly parameter - may not be explicitly unset, so the only way to unset a global - parameter created with 'ztie -r' is to use 'zuntie -u'. - -zgdbmpath PARAMETERNAME - Put path to database file assigned to PARAMETERNAME into REPLY - scalar. - -zgdbm_tied - Array holding names of all tied parameters. - -The fields of an associative array tied to GDBM are neither cached nor -otherwise stored in memory, they are read from or written to the -database on each reference. Thus, for example, the values in a readonly -array may be changed by a second writer of the same database file. - - -File: zsh.info, Node: The zsh/deltochar Module, Next: The zsh/example Module, Prev: The zsh/db/gdbm Module, Up: Zsh Modules - -22.12 The zsh/deltochar Module -============================== - -The zsh/deltochar module makes available two ZLE functions: - -delete-to-char - Read a character from the keyboard, and delete from the cursor - position up to and including the next (or, with repeat count N, the - Nth) instance of that character. Negative repeat counts mean - delete backwards. - -zap-to-char - This behaves like delete-to-char, except that the final occurrence - of the character itself is not deleted. - - -File: zsh.info, Node: The zsh/example Module, Next: The zsh/files Module, Prev: The zsh/deltochar Module, Up: Zsh Modules - -22.13 The zsh/example Module -============================ - -The zsh/example module makes available one builtin command: - -example [ -flags ] [ ARGS ... ] - Displays the flags and arguments it is invoked with. - -The purpose of the module is to serve as an example of how to write a -module. - - -File: zsh.info, Node: The zsh/files Module, Next: The zsh/langinfo Module, Prev: The zsh/example Module, Up: Zsh Modules - -22.14 The zsh/files Module -========================== - -The zsh/files module makes available some common commands for file -manipulation as builtins; these commands are probably not needed for -many normal situations but can be useful in emergency recovery -situations with constrained resources. The commands do not implement -all features now required by relevant standards committees. - -For all commands, a variant beginning zf_ is also available and loaded -automatically. Using the features capability of zmodload will let you -load only those names you want. Note that it's possible to load only -the builtins with zsh-specific names using the following command: - - zmodload -m -F zsh/files b:zf_\* - -The commands loaded by default are: - -chgrp [ -hRs ] GROUP FILENAME ... - Changes group of files specified. This is equivalent to chown with - a USER-SPEC argument of ':GROUP'. - -chmod [ -Rs ] MODE FILENAME ... - Changes mode of files specified. - - The specified MODE must be in octal. - - The -R option causes chmod to recursively descend into directories, - changing the mode of all files in the directory after changing the - mode of the directory itself. - - The -s option is a zsh extension to chmod functionality. It - enables paranoid behaviour, intended to avoid security problems - involving a chmod being tricked into affecting files other than the - ones intended. It will refuse to follow symbolic links, so that - (for example) ''chmod 600 /tmp/foo/passwd'' can't accidentally - chmod /etc/passwd if /tmp/foo happens to be a link to /etc. It - will also check where it is after leaving directories, so that a - recursive chmod of a deep directory tree can't end up recursively - chmoding /usr as a result of directories being moved up the tree. - -chown [ -hRs ] USER-SPEC FILENAME ... - Changes ownership and group of files specified. - - The USER-SPEC can be in four forms: - - USER - change owner to USER; do not change group - USER:: - change owner to USER; do not change group - USER: - change owner to USER; change group to USER's primary group - USER:GROUP - change owner to USER; change group to GROUP - :GROUP - do not change owner; change group to GROUP - - In each case, the ':' may instead be a '.'. The rule is that if - there is a ':' then the separator is ':', otherwise if there is a - '.' then the separator is '.', otherwise there is no separator. - - Each of USER and GROUP may be either a username (or group name, as - appropriate) or a decimal user ID (group ID). Interpretation as a - name takes precedence, if there is an all-numeric username (or - group name). - - If the target is a symbolic link, the -h option causes chown to set - the ownership of the link instead of its target. - - The -R option causes chown to recursively descend into directories, - changing the ownership of all files in the directory after changing - the ownership of the directory itself. - - The -s option is a zsh extension to chown functionality. It - enables paranoid behaviour, intended to avoid security problems - involving a chown being tricked into affecting files other than the - ones intended. It will refuse to follow symbolic links, so that - (for example) ''chown luser /tmp/foo/passwd'' can't accidentally - chown /etc/passwd if /tmp/foo happens to be a link to /etc. It - will also check where it is after leaving directories, so that a - recursive chown of a deep directory tree can't end up recursively - chowning /usr as a result of directories being moved up the tree. - -ln [ -dfhins ] FILENAME DEST -ln [ -dfhins ] FILENAME ... DIR - Creates hard (or, with -s, symbolic) links. In the first form, the - specified DESTination is created, as a link to the specified - FILENAME. In the second form, each of the FILENAMEs is taken in - turn, and linked to a pathname in the specified DIRectory that has - the same last pathname component. - - Normally, ln will not attempt to create hard links to directories. - This check can be overridden using the -d option. Typically only - the super-user can actually succeed in creating hard links to - directories. This does not apply to symbolic links in any case. - - By default, existing files cannot be replaced by links. The -i - option causes the user to be queried about replacing existing - files. The -f option causes existing files to be silently deleted, - without querying. -f takes precedence. - - The -h and -n options are identical and both exist for - compatibility; either one indicates that if the target is a symlink - then it should not be dereferenced. Typically this is used in - combination with -sf so that if an existing link points to a - directory then it will be removed, instead of followed. If this - option is used with multiple filenames and the target is a symbolic - link pointing to a directory then the result is an error. - -mkdir [ -p ] [ -m MODE ] DIR ... - Creates directories. With the -p option, non-existing parent - directories are first created if necessary, and there will be no - complaint if the directory already exists. The -m option can be - used to specify (in octal) a set of file permissions for the - created directories, otherwise mode 777 modified by the current - umask (see umask(2)) is used. - -mv [ -fi ] FILENAME DEST -mv [ -fi ] FILENAME ... DIR - Moves files. In the first form, the specified FILENAME is moved to - the specified DESTination. In the second form, each of the - FILENAMEs is taken in turn, and moved to a pathname in the - specified DIRectory that has the same last pathname component. - - By default, the user will be queried before replacing any file that - the user cannot write to, but writable files will be silently - removed. The -i option causes the user to be queried about - replacing any existing files. The -f option causes any existing - files to be silently deleted, without querying. -f takes - precedence. - - Note that this mv will not move files across devices. Historical - versions of mv, when actual renaming is impossible, fall back on - copying and removing files; if this behaviour is desired, use cp - and rm manually. This may change in a future version. - -rm [ -dfiRrs ] FILENAME ... - Removes files and directories specified. - - Normally, rm will not remove directories (except with the -R or -r - options). The -d option causes rm to try removing directories with - unlink (see unlink(2)), the same method used for files. Typically - only the super-user can actually succeed in unlinking directories - in this way. -d takes precedence over -R and -r. - - By default, the user will be queried before removing any file that - the user cannot write to, but writable files will be silently - removed. The -i option causes the user to be queried about - removing any files. The -f option causes files to be silently - deleted, without querying, and suppresses all error indications. - -f takes precedence. - - The -R and -r options cause rm to recursively descend into - directories, deleting all files in the directory before removing - the directory with the rmdir system call (see rmdir(2)). - - The -s option is a zsh extension to rm functionality. It enables - paranoid behaviour, intended to avoid common security problems - involving a root-run rm being tricked into removing files other - than the ones intended. It will refuse to follow symbolic links, - so that (for example) ''rm /tmp/foo/passwd'' can't accidentally - remove /etc/passwd if /tmp/foo happens to be a link to /etc. It - will also check where it is after leaving directories, so that a - recursive removal of a deep directory tree can't end up recursively - removing /usr as a result of directories being moved up the tree. - -rmdir DIR ... - Removes empty directories specified. - -sync - Calls the system call of the same name (see sync(2)), which flushes - dirty buffers to disk. It might return before the I/O has actually - been completed. - - -File: zsh.info, Node: The zsh/langinfo Module, Next: The zsh/mapfile Module, Prev: The zsh/files Module, Up: Zsh Modules - -22.15 The zsh/langinfo Module -============================= - -The zsh/langinfo module makes available one parameter: - -langinfo - An associative array that maps langinfo elements to their values. - - Your implementation may support a number of the following keys: - - CODESET, D_T_FMT, D_FMT, T_FMT, RADIXCHAR, THOUSEP, YESEXPR, - NOEXPR, CRNCYSTR, ABDAY_{1..7}, DAY_{1..7}, ABMON_{1..12}, - MON_{1..12}, T_FMT_AMPM, AM_STR, PM_STR, ERA, ERA_D_FMT, - ERA_D_T_FMT, ERA_T_FMT, ALT_DIGITS - - -File: zsh.info, Node: The zsh/mapfile Module, Next: The zsh/mathfunc Module, Prev: The zsh/langinfo Module, Up: Zsh Modules - -22.16 The zsh/mapfile Module -============================ - -The zsh/mapfile module provides one special associative array parameter -of the same name. - -mapfile - This associative array takes as keys the names of files; the - resulting value is the content of the file. The value is treated - identically to any other text coming from a parameter. The value - may also be assigned to, in which case the file in question is - written (whether or not it originally existed); or an element may - be unset, which will delete the file in question. For example, - 'vared 'mapfile[myfile]'' works as expected, editing the file - 'myfile'. - - When the array is accessed as a whole, the keys are the names of - files in the current directory, and the values are empty (to save a - huge overhead in memory). Thus ${(k)mapfile} has the same effect - as the glob operator *(D), since files beginning with a dot are not - special. Care must be taken with expressions such as rm - ${(k)mapfile}, which will delete every file in the current - directory without the usual 'rm *' test. - - The parameter mapfile may be made read-only; in that case, files - referenced may not be written or deleted. - - A file may conveniently be read into an array as one line per - element with the form 'ARRAY=("${(f@)mapfile[FILENAME]}")'. The - double quotes and the '@' are necessary to prevent empty lines from - being removed. Note that if the file ends with a newline, the - shell will split on the final newline, generating an additional - empty field; this can be suppressed by using - 'ARRAY=("${(f@)${mapfile[FILENAME]%$'\n'}}")'. - -22.16.1 Limitations -------------------- - -Although reading and writing of the file in question is efficiently -handled, zsh's internal memory management may be arbitrarily baroque; -however, mapfile is usually very much more efficient than anything -involving a loop. Note in particular that the whole contents of the -file will always reside physically in memory when accessed (possibly -multiple times, due to standard parameter substitution operations). In -particular, this means handling of sufficiently long files (greater than -the machine's swap space, or than the range of the pointer type) will be -incorrect. - -No errors are printed or flagged for non-existent, unreadable, or -unwritable files, as the parameter mechanism is too low in the shell -execution hierarchy to make this convenient. - -It is unfortunate that the mechanism for loading modules does not yet -allow the user to specify the name of the shell parameter to be given -the special behaviour. - - -File: zsh.info, Node: The zsh/mathfunc Module, Next: The zsh/nearcolor Module, Prev: The zsh/mapfile Module, Up: Zsh Modules - -22.17 The zsh/mathfunc Module -============================= - -The zsh/mathfunc module provides standard mathematical functions for use -when evaluating mathematical formulae. The syntax agrees with normal C -and FORTRAN conventions, for example, - - (( f = sin(0.3) )) - -assigns the sine of 0.3 to the parameter f. - -Most functions take floating point arguments and return a floating point -value. However, any necessary conversions from or to integer type will -be performed automatically by the shell. Apart from atan with a second -argument and the abs, int and float functions, all functions behave as -noted in the manual page for the corresponding C function, except that -any arguments out of range for the function in question will be detected -by the shell and an error reported. - -The following functions take a single floating point argument: acos, -acosh, asin, asinh, atan, atanh, cbrt, ceil, cos, cosh, erf, erfc, exp, -expm1, fabs, floor, gamma, j0, j1, lgamma, log, log10, log1p, log2, -logb, sin, sinh, sqrt, tan, tanh, y0, y1. The atan function can -optionally take a second argument, in which case it behaves like the C -function atan2. The ilogb function takes a single floating point -argument, but returns an integer. - -The function signgam takes no arguments, and returns an integer, which -is the C variable of the same name, as described in gamma(3). Note that -it is therefore only useful immediately after a call to gamma or lgamma. -Note also that 'signgam()' and 'signgam' are distinct expressions. - -The functions min, max, and sum are defined not in this module but in -the zmathfunc autoloadable function, described in *note Mathematical -Functions::. - -The following functions take two floating point arguments: copysign, -fmod, hypot, nextafter. - -The following take an integer first argument and a floating point second -argument: jn, yn. - -The following take a floating point first argument and an integer second -argument: ldexp, scalb. - -The function abs does not convert the type of its single argument; it -returns the absolute value of either a floating point number or an -integer. The functions float and int convert their arguments into a -floating point or integer value (by truncation) respectively. - -Note that the C pow function is available in ordinary math evaluation as -the '**' operator and is not provided here. - -The function rand48 is available if your system's mathematical library -has the function erand48(3). It returns a pseudo-random floating point -number between 0 and 1. It takes a single string optional argument. - -If the argument is not present, the random number seed is initialised by -three calls to the rand(3) function -- this produces the same random -numbers as the next three values of $RANDOM. - -If the argument is present, it gives the name of a scalar parameter -where the current random number seed will be stored. On the first call, -the value must contain at least twelve hexadecimal digits (the remainder -of the string is ignored), or the seed will be initialised in the same -manner as for a call to rand48 with no argument. Subsequent calls to -rand48(PARAM) will then maintain the seed in the parameter PARAM as a -string of twelve hexadecimal digits, with no base signifier. The random -number sequences for different parameters are completely independent, -and are also independent from that used by calls to rand48 with no -argument. - -For example, consider - - print $(( rand48(seed) )) - print $(( rand48() )) - print $(( rand48(seed) )) - -Assuming $seed does not exist, it will be initialised by the first call. -In the second call, the default seed is initialised; note, however, that -because of the properties of rand() there is a correlation between the -seeds used for the two initialisations, so for more secure uses, you -should generate your own 12-byte seed. The third call returns to the -same sequence of random numbers used in the first call, unaffected by -the intervening rand48(). - - -File: zsh.info, Node: The zsh/nearcolor Module, Next: The zsh/newuser Module, Prev: The zsh/mathfunc Module, Up: Zsh Modules - -22.18 The zsh/nearcolor Module -============================== - -The zsh/nearcolor module replaces colours specified as hex triplets with -the nearest colour in the 88 or 256 colour palettes that are widely used -by terminal emulators. By default, 24-bit true colour escape codes are -generated when colours are specified using hex triplets. These are not -supported by all terminals. The purpose of this module is to make it -easier to define colour preferences in a form that can work across a -range of terminal emulators. - -Aside from the default colour, the ANSI standard for terminal escape -codes provides for eight colours. The bright attribute brings this to -sixteen. These basic colours are commonly used in terminal applications -due to being widely supported. Expanded 88 and 256 colour palettes are -also common and, while the first sixteen colours vary somewhat between -terminals and configurations, these add a generally consistent and -predictable set of colours. - -In order to use the zsh/nearcolor module, it only needs to be loaded. -Thereafter, whenever a colour is specified using a hex triplet, it will -be compared against each of the available colours and the closest will -be selected. The first sixteen colours are never matched in this -process due to being unpredictable. - -It isn't possible to reliably detect support for true colour in the -terminal emulator. It is therefore recommended to be selective in -loading the zsh/nearcolor module. For example, the following checks the -COLORTERM environment variable: - - [[ $COLORTERM = *(24bit|truecolor)* ]] || zmodload zsh/nearcolor - -Note that some terminals accept the true color escape codes but map them -internally to a more limited palette in a similar manner to the -zsh/nearcolor module. - - -File: zsh.info, Node: The zsh/newuser Module, Next: The zsh/parameter Module, Prev: The zsh/nearcolor Module, Up: Zsh Modules - -22.19 The zsh/newuser Module -============================ - -The zsh/newuser module is loaded at boot if it is available, the RCS -option is set, and the PRIVILEGED option is not set (all three are true -by default). This takes place immediately after commands in the global -zshenv file (typically /etc/zshenv), if any, have been executed. If the -module is not available it is silently ignored by the shell; the module -may safely be removed from $MODULE_PATH by the administrator if it is -not required. - -On loading, the module tests if any of the start-up files .zshenv, -.zprofile, .zshrc or .zlogin exist in the directory given by the -environment variable ZDOTDIR, or the user's home directory if that is -not set. The test is not performed and the module halts processing if -the shell was in an emulation mode (i.e. had been invoked as some other -shell than zsh). - -If none of the start-up files were found, the module then looks for the -file newuser first in a sitewide directory, usually the parent directory -of the site-functions directory, and if that is not found the module -searches in a version-specific directory, usually the parent of the -functions directory containing version-specific functions. (These -directories can be configured when zsh is built using the ---enable-site-scriptdir=DIR and --enable-scriptdir=DIR flags to -configure, respectively; the defaults are PREFIX/share/zsh and -PREFIX/share/zsh/$ZSH_VERSION where the default PREFIX is /usr/local.) - -If the file newuser is found, it is then sourced in the same manner as a -start-up file. The file is expected to contain code to install start-up -files for the user, however any valid shell code will be executed. - -The zsh/newuser module is then unconditionally unloaded. - -Note that it is possible to achieve exactly the same effect as the -zsh/newuser module by adding code to /etc/zshenv. The module exists -simply to allow the shell to make arrangements for new users without the -need for intervention by package maintainers and system administrators. - -The script supplied with the module invokes the shell function -zsh-newuser-install. This may be invoked directly by the user even if -the zsh/newuser module is disabled. Note, however, that if the module -is not installed the function will not be installed either. The -function is documented in *note User Configuration Functions::. - - -File: zsh.info, Node: The zsh/parameter Module, Next: The zsh/pcre Module, Prev: The zsh/newuser Module, Up: Zsh Modules - -22.20 The zsh/parameter Module -============================== - -The zsh/parameter module gives access to some of the internal hash -tables used by the shell by defining some special parameters. - -options - The keys for this associative array are the names of the options - that can be set and unset using the setopt and unsetopt builtins. - The value of each key is either the string on if the option is - currently set, or the string off if the option is unset. Setting a - key to one of these strings is like setting or unsetting the - option, respectively. Unsetting a key in this array is like - setting it to the value off. - -commands - This array gives access to the command hash table. The keys are - the names of external commands, the values are the pathnames of the - files that would be executed when the command would be invoked. - Setting a key in this array defines a new entry in this table in - the same way as with the hash builtin. Unsetting a key as in - 'unset "commands[foo]"' removes the entry for the given key from - the command hash table. - -functions - This associative array maps names of enabled functions to their - definitions. Setting a key in it is like defining a function with - the name given by the key and the body given by the value. - Unsetting a key removes the definition for the function named by - the key. - -dis_functions - Like functions but for disabled functions. - -functions_source - This readonly associative array maps names of enabled functions to - the name of the file containing the source of the function. - - For an autoloaded function that has already been loaded, or marked - for autoload with an absolute path, or that has had its path - resolved with 'functions -r', this is the file found for - autoloading, resolved to an absolute path. - - For a function defined within the body of a script or sourced file, - this is the name of that file. In this case, this is the exact - path originally used to that file, which may be a relative path. - - For any other function, including any defined at an interactive - prompt or an autoload function whose path has not yet been - resolved, this is the empty string. However, the hash element is - reported as defined just so long as the function is present: the - keys to this hash are the same as those to $functions. - -dis_functions_source - Like functions_source but for disabled functions. - -builtins - This associative array gives information about the builtin commands - currently enabled. The keys are the names of the builtin commands - and the values are either 'undefined' for builtin commands that - will automatically be loaded from a module if invoked or 'defined' - for builtin commands that are already loaded. - -dis_builtins - Like builtins but for disabled builtin commands. - -reswords - This array contains the enabled reserved words. - -dis_reswords - Like reswords but for disabled reserved words. - -patchars - This array contains the enabled pattern characters. - -dis_patchars - Like patchars but for disabled pattern characters. - -aliases - This maps the names of the regular aliases currently enabled to - their expansions. - -dis_aliases - Like aliases but for disabled regular aliases. - -galiases - Like aliases, but for global aliases. - -dis_galiases - Like galiases but for disabled global aliases. - -saliases - Like raliases, but for suffix aliases. - -dis_saliases - Like saliases but for disabled suffix aliases. - -parameters - The keys in this associative array are the names of the parameters - currently defined. The values are strings describing the type of - the parameter, in the same format used by the t parameter flag, see - *note Parameter Expansion:: . Setting or unsetting keys in this - array is not possible. - -modules - An associative array giving information about modules. The keys - are the names of the modules loaded, registered to be autoloaded, - or aliased. The value says which state the named module is in and - is one of the strings 'loaded', 'autoloaded', or 'alias:NAME', - where NAME is the name the module is aliased to. - - Setting or unsetting keys in this array is not possible. - -dirstack - A normal array holding the elements of the directory stack. Note - that the output of the dirs builtin command includes one more - directory, the current working directory. - -history - This associative array maps history event numbers to the full - history lines. Although it is presented as an associative array, - the array of all values (${history[@]}) is guaranteed to be - returned in order from most recent to oldest history event, that - is, by decreasing history event number. - -historywords - A special array containing the words stored in the history. These - also appear in most to least recent order. - -jobdirs - This associative array maps job numbers to the directories from - which the job was started (which may not be the current directory - of the job). - - The keys of the associative arrays are usually valid job numbers, - and these are the values output with, for example, ${(k)jobdirs}. - Non-numeric job references may be used when looking up a value; for - example, ${jobdirs[%+]} refers to the current job. - - See the jobs builtin for how job information is provided in a - subshell. - -jobtexts - This associative array maps job numbers to the texts of the command - lines that were used to start the jobs. - - Handling of the keys of the associative array is as described for - jobdirs above. - - See the jobs builtin for how job information is provided in a - subshell. - -jobstates - This associative array gives information about the states of the - jobs currently known. The keys are the job numbers and the values - are strings of the form 'JOB-STATE:MARK:PID=STATE...'. The - JOB-STATE gives the state the whole job is currently in, one of - 'running', 'suspended', or 'done'. The MARK is '+' for the current - job, '-' for the previous job and empty otherwise. This is - followed by one ':PID=STATE' for every process in the job. The - PIDs are, of course, the process IDs and the STATE describes the - state of that process. - - Handling of the keys of the associative array is as described for - jobdirs above. - - See the jobs builtin for how job information is provided in a - subshell. - -nameddirs - This associative array maps the names of named directories to the - pathnames they stand for. - -userdirs - This associative array maps user names to the pathnames of their - home directories. - -usergroups - This associative array maps names of system groups of which the - current user is a member to the corresponding group identifiers. - The contents are the same as the groups output by the id command. - -funcfiletrace - This array contains the absolute line numbers and corresponding - file names for the point where the current function, sourced file, - or (if EVAL_LINENO is set) eval command was called. The array is - of the same length as funcsourcetrace and functrace, but differs - from funcsourcetrace in that the line and file are the point of - call, not the point of definition, and differs from functrace in - that all values are absolute line numbers in files, rather than - relative to the start of a function, if any. - -funcsourcetrace - This array contains the file names and line numbers of the points - where the functions, sourced files, and (if EVAL_LINENO is set) - eval commands currently being executed were defined. The line - number is the line where the 'function NAME' or 'NAME ()' started. - In the case of an autoloaded function the line number is reported - as zero. The format of each element is FILENAME:LINENO. - - For functions autoloaded from a file in native zsh format, where - only the body of the function occurs in the file, or for files that - have been executed by the source or '.' builtins, the trace - information is shown as FILENAME:0, since the entire file is the - definition. The source file name is resolved to an absolute path - when the function is loaded or the path to it otherwise resolved. - - Most users will be interested in the information in the - funcfiletrace array instead. - -funcstack - This array contains the names of the functions, sourced files, and - (if EVAL_LINENO is set) eval commands. currently being executed. - The first element is the name of the function using the parameter. - - The standard shell array zsh_eval_context can be used to determine - the type of shell construct being executed at each depth: note, - however, that is in the opposite order, with the most recent item - last, and it is more detailed, for example including an entry for - toplevel, the main shell code being executed either interactively - or from a script, which is not present in $funcstack. - -functrace - This array contains the names and line numbers of the callers - corresponding to the functions currently being executed. The - format of each element is NAME:LINENO. Callers are also shown for - sourced files; the caller is the point where the source or '.' - command was executed. - - -File: zsh.info, Node: The zsh/pcre Module, Next: The zsh/param/private Module, Prev: The zsh/parameter Module, Up: Zsh Modules - -22.21 The zsh/pcre Module -========================= - -The zsh/pcre module makes some commands available as builtins: - -pcre_compile [ -aimxs ] PCRE - Compiles a perl-compatible regular expression. - - Option -a will force the pattern to be anchored. Option -i will - compile a case-insensitive pattern. Option -m will compile a - multi-line pattern; that is, ^ and $ will match newlines within the - pattern. Option -x will compile an extended pattern, wherein - whitespace and # comments are ignored. Option -s makes the dot - metacharacter match all characters, including those that indicate - newline. - -pcre_study - Studies the previously-compiled PCRE which may result in faster - matching. - -pcre_match [ -v VAR ] [ -a ARR ] [ -n OFFSET ] [ -b ] STRING - Returns successfully if string matches the previously-compiled - PCRE. - - Upon successful match, if the expression captures substrings within - parentheses, pcre_match will set the array match to those - substrings, unless the -a option is given, in which case it will - set the array ARR. Similarly, the variable MATCH will be set to - the entire matched portion of the string, unless the -v option is - given, in which case the variable VAR will be set. No variables - are altered if there is no successful match. A -n option starts - searching for a match from the byte OFFSET position in STRING. If - the -b option is given, the variable ZPCRE_OP will be set to an - offset pair string, representing the byte offset positions of the - entire matched portion within the STRING. For example, a ZPCRE_OP - set to "32 45" indicates that the matched portion began on byte - offset 32 and ended on byte offset 44. Here, byte offset position - 45 is the position directly after the matched portion. Keep in - mind that the byte position isn't necessarily the same as the - character position when UTF-8 characters are involved. - Consequently, the byte offset positions are only to be relied on in - the context of using them for subsequent searches on STRING, using - an offset position as an argument to the -n option. This is mostly - used to implement the "find all non-overlapping matches" - functionality. - - A simple example of "find all non-overlapping matches": - - string="The following zip codes: 78884 90210 99513" - pcre_compile -m "\d{5}" - accum=() - pcre_match -b -- $string - while [[ $? -eq 0 ]] do - b=($=ZPCRE_OP) - accum+=$MATCH - pcre_match -b -n $b[2] -- $string - done - print -l $accum - -The zsh/pcre module makes available the following test condition: - -EXPR -pcre-match PCRE - Matches a string against a perl-compatible regular expression. - - For example, - - [[ "$text" -pcre-match ^d+$ ]] && - print text variable contains only "d's". - - If the REMATCH_PCRE option is set, the =~ operator is equivalent to - -pcre-match, and the NO_CASE_MATCH option may be used. Note that - NO_CASE_MATCH never applies to the pcre_match builtin, instead use - the -i switch of pcre_compile. - - -File: zsh.info, Node: The zsh/param/private Module, Next: The zsh/regex Module, Prev: The zsh/pcre Module, Up: Zsh Modules - -22.22 The zsh/param/private Module -================================== - -The zsh/param/private module is used to create parameters whose scope is -limited to the current function body, and _not_ to other functions -called by the current function. - -This module provides a single autoloaded builtin: - -private [ {+|-}AHUahlmrtux ] [ {+|-}EFLRZi [ N ] ] [ NAME[=VALUE] ... ] - The private builtin accepts all the same options and arguments as - local (*note Shell Builtin Commands::) except for the '-T' option. - Tied parameters may not be made private. - - The '-p' option is presently a no-op because the state of private - parameters cannot reliably be reloaded. This also applies to - printing private parameters with 'typeset -p'. - - If used at the top level (outside a function scope), private - creates a normal parameter in the same manner as declare or - typeset. A warning about this is printed if WARN_CREATE_GLOBAL is - set (*note Options::). Used inside a function scope, private - creates a local parameter similar to one declared with local, - except having special properties noted below. - - Special parameters which expose or manipulate internal shell state, - such as ARGC, argv, COLUMNS, LINES, UID, EUID, IFS, PROMPT, RANDOM, - SECONDS, etc., cannot be made private unless the '-h' option is - used to hide the special meaning of the parameter. This may change - in the future. - -As with other typeset equivalents, private is both a builtin and a -reserved word, so arrays may be assigned with parenthesized word list -NAME=(VALUE...) syntax. However, the reserved word 'private' is not -available until zsh/param/private is loaded, so care must be taken with -order of execution and parsing for function definitions which use -private. To compensate for this, the module also adds the option '-P' -to the 'local' builtin to declare private parameters. - -For example, this construction fails if zsh/param/private has not yet -been loaded when 'bad_declaration' is defined: - bad_declaration() { - zmodload zsh/param/private - private array=( one two three ) - } - -This construction works because local is already a keyword, and the -module is loaded before the statement is executed: - good_declaration() { - zmodload zsh/param/private - local -P array=( one two three ) - } - -The following is usable in scripts but may have trouble with autoload: - zmodload zsh/param/private - iffy_declaration() { - private array=( one two three ) - } - -The private builtin may always be used with scalar assignments and for -declarations without assignments. - -Parameters declared with private have the following properties: - - • Within the function body where it is declared, the parameter - behaves as a local, except as noted above for tied or special - parameters. - • The type of a parameter declared private cannot be changed in the - scope where it was declared, even if the parameter is unset. Thus - an array cannot be assigned to a private scalar, etc. - • Within any other function called by the declaring function, the - private parameter does _NOT_ hide other parameters of the same - name, so for example a global parameter of the same name is visible - and may be assigned or unset. This includes calls to anonymous - functions, although that may also change in the future. However, - the private name may not be created outside the local scope when it - was not previously declared. - • An exported private remains in the environment of inner scopes but - appears unset for the current shell in those scopes. Generally, - exporting private parameters should be avoided. - -Note that this differs from the static scope defined by compiled -languages derived from C, in that the a new call to the same function -creates a new scope, i.e., the parameter is still associated with the -call stack rather than with the function definition. It differs from -ksh 'typeset -S' because the syntax used to define the function has no -bearing on whether the parameter scope is respected. - - -File: zsh.info, Node: The zsh/regex Module, Next: The zsh/sched Module, Prev: The zsh/param/private Module, Up: Zsh Modules - -22.23 The zsh/regex Module -========================== - -The zsh/regex module makes available the following test condition: - -EXPR -regex-match REGEX - Matches a string against a POSIX extended regular expression. On - successful match, matched portion of the string will normally be - placed in the MATCH variable. If there are any capturing - parentheses within the regex, then the match array variable will - contain those. If the match is not successful, then the variables - will not be altered. - - For example, - - [[ alphabetical -regex-match ^a([^a]+)a([^a]+)a ]] && - print -l $MATCH X $match - - If the option REMATCH_PCRE is not set, then the =~ operator will - automatically load this module as needed and will invoke the - -regex-match operator. - - If BASH_REMATCH is set, then the array BASH_REMATCH will be set - instead of MATCH and match. - - Note that the zsh/regex module logic relies on the host system. - The same EXPR and REGEX pair could produce different results on - different platforms if a REGEX with non-standard syntax is given. - - For example, no syntax for matching a word boundary is defined in - the POSIX extended regular expression standard. GNU libc and BSD - libc both provide such syntaxes as extensions (\b and - [[:<:]]/[[:>:]] respectively), but neither of these syntaxes is - supported by both of these implementations. - - Refer to the regcomp(3) and re_format(7) manual pages on your - system for locally-supported syntax. - - -File: zsh.info, Node: The zsh/sched Module, Next: The zsh/net/socket Module, Prev: The zsh/regex Module, Up: Zsh Modules - -22.24 The zsh/sched Module -========================== - -The zsh/sched module makes available one builtin command and one -parameter. - -sched [-o] [+]HH:MM[:SS] COMMAND ... -sched [-o] [+]SECONDS COMMAND ... -sched [ -ITEM ] - Make an entry in the scheduled list of commands to execute. The - time may be specified in either absolute or relative time, and - either as hours, minutes and (optionally) seconds separated by a - colon, or seconds alone. An absolute number of seconds indicates - the time since the epoch (1970/01/01 00:00); this is useful in - combination with the features in the zsh/datetime module, see *note - The zsh/datetime Module::. - - With no arguments, prints the list of scheduled commands. If the - scheduled command has the -o flag set, this is shown at the start - of the command. - - With the argument '-ITEM', removes the given item from the list. - The numbering of the list is continuous and entries are in time - order, so the numbering can change when entries are added or - deleted. - - Commands are executed either immediately before a prompt, or while - the shell's line editor is waiting for input. In the latter case - it is useful to be able to produce output that does not interfere - with the line being edited. Providing the option -o causes the - shell to clear the command line before the event and redraw it - afterwards. This should be used with any scheduled event that - produces visible output to the terminal; it is not needed, for - example, with output that updates a terminal emulator's title bar. - - To effect changes to the editor buffer when an event executes, use - the 'zle' command with no arguments to test whether the editor is - active, and if it is, then use 'zle WIDGET' to access the editor - via the named WIDGET. - - The sched builtin is not made available by default when the shell - starts in a mode emulating another shell. It can be made available - with the command 'zmodload -F zsh/sched b:sched'. - -zsh_scheduled_events - A readonly array corresponding to the events scheduled by the sched - builtin. The indices of the array correspond to the numbers shown - when sched is run with no arguments (provided that the KSH_ARRAYS - option is not set). The value of the array consists of the - scheduled time in seconds since the epoch (see *note The - zsh/datetime Module:: for facilities for using this number), - followed by a colon, followed by any options (which may be empty - but will be preceded by a '-' otherwise), followed by a colon, - followed by the command to be executed. - - The sched builtin should be used for manipulating the events. Note - that this will have an immediate effect on the contents of the - array, so that indices may become invalid. - - -File: zsh.info, Node: The zsh/net/socket Module, Next: The zsh/stat Module, Prev: The zsh/sched Module, Up: Zsh Modules - -22.25 The zsh/net/socket Module -=============================== - -The zsh/net/socket module makes available one builtin command: - -zsocket [ -altv ] [ -d FD ] [ ARGS ] - zsocket is implemented as a builtin to allow full use of shell - command line editing, file I/O, and job control mechanisms. - -22.25.1 Outbound Connections ----------------------------- - -zsocket [ -v ] [ -d FD ] FILENAME - Open a new Unix domain connection to FILENAME. The shell parameter - REPLY will be set to the file descriptor associated with that - connection. Currently, only stream connections are supported. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - In order to elicit more verbose output, use -v. - - File descriptors can be closed with normal shell syntax when no - longer needed, for example: - - exec {REPLY}>&- - -22.25.2 Inbound Connections ---------------------------- - -zsocket -l [ -v ] [ -d FD ] FILENAME - zsocket -l will open a socket listening on FILENAME. The shell - parameter REPLY will be set to the file descriptor associated with - that listener. The file descriptor remains open in subshells and - forked external executables. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - In order to elicit more verbose output, use -v. - -zsocket -a [ -tv ] [ -d TARGETFD ] LISTENFD - zsocket -a will accept an incoming connection to the socket - associated with LISTENFD. The shell parameter REPLY will be set to - the file descriptor associated with the inbound connection. The - file descriptor remains open in subshells and forked external - executables. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - If -t is specified, zsocket will return if no incoming connection - is pending. Otherwise it will wait for one. - - In order to elicit more verbose output, use -v. - - -File: zsh.info, Node: The zsh/stat Module, Next: The zsh/system Module, Prev: The zsh/net/socket Module, Up: Zsh Modules - -22.26 The zsh/stat Module -========================= - -The zsh/stat module makes available one builtin command under two -possible names: - -zstat [ -gnNolLtTrs ] [ -f FD ] [ -H HASH ] [ -A ARRAY ] [ -F FMT ] - [ +ELEMENT ] [ FILE ... ] -stat ... - The command acts as a front end to the stat system call (see - stat(2)). The same command is provided with two names; as the name - stat is often used by an external command it is recommended that - only the zstat form of the command is used. This can be arranged - by loading the module with the command 'zmodload -F zsh/stat - b:zstat'. - - If the stat call fails, the appropriate system error message - printed and status 1 is returned. The fields of struct stat give - information about the files provided as arguments to the command. - In addition to those available from the stat call, an extra element - 'link' is provided. These elements are: - - device - The number of the device on which the file resides. - - inode - The unique number of the file on this device ('_inode_' - number). - - mode - The mode of the file; that is, the file's type and access - permissions. With the -s option, this will be returned as a - string corresponding to the first column in the display of the - ls -l command. - - nlink - The number of hard links to the file. - - uid - The user ID of the owner of the file. With the -s option, - this is displayed as a user name. - - gid - The group ID of the file. With the -s option, this is - displayed as a group name. - - rdev - The raw device number. This is only useful for special - devices. - - size - The size of the file in bytes. - - atime - mtime - ctime - The last access, modification and inode change times of the - file, respectively, as the number of seconds since midnight - GMT on 1st January, 1970. With the -s option, these are - printed as strings for the local time zone; the format can be - altered with the -F option, and with the -g option the times - are in GMT. - - blksize - The number of bytes in one allocation block on the device on - which the file resides. - - block - The number of disk blocks used by the file. - - link - If the file is a link and the -L option is in effect, this - contains the name of the file linked to, otherwise it is - empty. Note that if this element is selected (''zstat - +link'') then the -L option is automatically used. - - A particular element may be selected by including its name preceded - by a '+' in the option list; only one element is allowed. The - element may be shortened to any unique set of leading characters. - Otherwise, all elements will be shown for all files. - - Options: - - -A ARRAY - Instead of displaying the results on standard output, assign - them to an ARRAY, one struct stat element per array element - for each file in order. In this case neither the name of the - element nor the name of the files appears in ARRAY unless the - -t or -n options were given, respectively. If -t is given, - the element name appears as a prefix to the appropriate array - element; if -n is given, the file name appears as a separate - array element preceding all the others. Other formatting - options are respected. - - -H HASH - Similar to -A, but instead assign the values to HASH. The - keys are the elements listed above. If the -n option is - provided then the name of the file is included in the hash - with key name. - - -f FD - Use the file on file descriptor FD instead of named files; no - list of file names is allowed in this case. - - -F FMT - Supplies a strftime (see strftime(3)) string for the - formatting of the time elements. The format string supports - all of the zsh extensions described in *note Prompt - Expansion::. In particular, -F %s.%N can be used to show - timestamps with nanosecond precision if supported by the - system. The -s option is implied. - - -g - Show the time elements in the GMT time zone. The -s option is - implied. - - -l - List the names of the type elements (to standard output or an - array as appropriate) and return immediately; arguments, and - options other than -A, are ignored. - - -L - Perform an lstat (see lstat(2)) rather than a stat system - call. In this case, if the file is a link, information about - the link itself rather than the target file is returned. This - option is required to make the link element useful. It's - important to note that this is the exact opposite from ls(1), - etc. - - -n - Always show the names of files. Usually these are only shown - when output is to standard output and there is more than one - file in the list. - - -N - Never show the names of files. - - -o - If a raw file mode is printed, show it in octal, which is more - useful for human consumption than the default of decimal. A - leading zero will be printed in this case. Note that this - does not affect whether a raw or formatted file mode is shown, - which is controlled by the -r and -s options, nor whether a - mode is shown at all. - - -r - Print raw data (the default format) alongside string data (the - -s format); the string data appears in parentheses after the - raw data. - - -s - Print mode, uid, gid and the three time elements as strings - instead of numbers. In each case the format is like that of - ls -l. - - -t - Always show the type names for the elements of struct stat. - Usually these are only shown when output is to standard output - and no individual element has been selected. - - -T - Never show the type names of the struct stat elements. - - -File: zsh.info, Node: The zsh/system Module, Next: The zsh/net/tcp Module, Prev: The zsh/stat Module, Up: Zsh Modules - -22.27 The zsh/system Module -=========================== - -The zsh/system module makes available various builtin commands and -parameters. - -22.27.1 Builtins ----------------- - -syserror [ -e ERRVAR ] [ -p PREFIX ] [ ERRNO | ERRNAME ] - This command prints out the error message associated with ERRNO, a - system error number, followed by a newline to standard error. - - Instead of the error number, a name ERRNAME, for example ENOENT, - may be used. The set of names is the same as the contents of the - array errnos, see below. - - If the string PREFIX is given, it is printed in front of the error - message, with no intervening space. - - If ERRVAR is supplied, the entire message, without a newline, is - assigned to the parameter names ERRVAR and nothing is output. - - A return status of 0 indicates the message was successfully printed - (although it may not be useful if the error number was out of the - system's range), a return status of 1 indicates an error in the - parameters, and a return status of 2 indicates the error name was - not recognised (no message is printed for this). - -sysopen [ -arw ] [ -m PERMISSIONS ] [ -o OPTIONS ] - -u FD FILE - This command opens a file. The -r, -w and -a flags indicate - whether the file should be opened for reading, writing and - appending, respectively. The -m option allows the initial - permissions to use when creating a file to be specified in octal - form. The file descriptor is specified with -u. Either an - explicit file descriptor in the range 0 to 9 can be specified or a - variable name can be given to which the file descriptor number will - be assigned. - - The -o option allows various system specific options to be - specified as a comma-separated list. The following is a list of - possible options. Note that, depending on the system, some may not - be available. - cloexec - mark file to be closed when other programs are executed (else - the file descriptor remains open in subshells and forked - external executables) - - create - creat - create file if it does not exist - - excl - create file, error if it already exists - - noatime - suppress updating of the file atime - - nofollow - fail if FILE is a symbolic link - - nonblock - the file is opened in nonblocking mode - - sync - request that writes wait until data has been physically - written - - truncate - trunc - truncate file to size 0 - - To close the file, use one of the following: - - exec {FD}<&- - exec {FD}>&- - -sysread [ -c COUNTVAR ] [ -i INFD ] [ -o OUTFD ] - [ -s BUFSIZE ] [ -t TIMEOUT ] [ PARAM ] - Perform a single system read from file descriptor INFD, or zero if - that is not given. The result of the read is stored in PARAM or - REPLY if that is not given. If COUNTVAR is given, the number of - bytes read is assigned to the parameter named by COUNTVAR. - - The maximum number of bytes read is BUFSIZE or 8192 if that is not - given, however the command returns as soon as any number of bytes - was successfully read. - - If TIMEOUT is given, it specifies a timeout in seconds, which may - be zero to poll the file descriptor. This is handled by the poll - system call if available, otherwise the select system call if - available. - - If OUTFD is given, an attempt is made to write all the bytes just - read to the file descriptor OUTFD. If this fails, because of a - system error other than EINTR or because of an internal zsh error - during an interrupt, the bytes read but not written are stored in - the parameter named by PARAM if supplied (no default is used in - this case), and the number of bytes read but not written is stored - in the parameter named by COUNTVAR if that is supplied. If it was - successful, COUNTVAR contains the full number of bytes transferred, - as usual, and PARAM is not set. - - The error EINTR (interrupted system call) is handled internally so - that shell interrupts are transparent to the caller. Any other - error causes a return. - - The possible return statuses are - 0 - At least one byte of data was successfully read and, if - appropriate, written. - - 1 - There was an error in the parameters to the command. This is - the only error for which a message is printed to standard - error. - - 2 - There was an error on the read, or on polling the input file - descriptor for a timeout. The parameter ERRNO gives the - error. - - 3 - Data were successfully read, but there was an error writing - them to OUTFD. The parameter ERRNO gives the error. - - 4 - The attempt to read timed out. Note this does not set ERRNO - as this is not a system error. - - 5 - No system error occurred, but zero bytes were read. This - usually indicates end of file. The parameters are set - according to the usual rules; no write to OUTFD is attempted. - -sysseek [ -u FD ] [ -w start|end|current ] OFFSET - The current file position at which future reads and writes will - take place is adjusted to the specified byte offset. The OFFSET is - evaluated as a math expression. The -u option allows the file - descriptor to be specified. By default the offset is specified - relative to the start or the file but, with the -w option, it is - possible to specify that the offset should be relative to the - current position or the end of the file. - -syswrite [ -c COUNTVAR ] [ -o OUTFD ] DATA - The data (a single string of bytes) are written to the file - descriptor OUTFD, or 1 if that is not given, using the write system - call. Multiple write operations may be used if the first does not - write all the data. - - If COUNTVAR is given, the number of byte written is stored in the - parameter named by COUNTVAR; this may not be the full length of - DATA if an error occurred. - - The error EINTR (interrupted system call) is handled internally by - retrying; otherwise an error causes the command to return. For - example, if the file descriptor is set to non-blocking output, an - error EAGAIN (on some systems, EWOULDBLOCK) may result in the - command returning early. - - The return status may be 0 for success, 1 for an error in the - parameters to the command, or 2 for an error on the write; no error - message is printed in the last case, but the parameter ERRNO will - reflect the error that occurred. - -zsystem flock [ -t TIMEOUT ] [ -i INTERVAL ] [ -f VAR ] [-er] FILE -zsystem flock -u FD_EXPR - The builtin zsystem's subcommand flock performs advisory file - locking (via the fcntl(2) system call) over the entire contents of - the given file. This form of locking requires the processes - accessing the file to cooperate; its most obvious use is between - two instances of the shell itself. - - In the first form the named FILE, which must already exist, is - locked by opening a file descriptor to the file and applying a lock - to the file descriptor. The lock terminates when the shell process - that created the lock exits; it is therefore often convenient to - create file locks within subshells, since the lock is automatically - released when the subshell exits. Note that use of the print - builtin with the -u option will, as a side effect, release the - lock, as will redirection to the file in the shell holding the - lock. To work around this use a subshell, e.g. '(print message) - >> FILE'. Status 0 is returned if the lock succeeds, else status - 1. - - In the second form the file descriptor given by the arithmetic - expression FD_EXPR is closed, releasing a lock. The file - descriptor can be queried by using the '-f VAR' form during the - lock; on a successful lock, the shell variable VAR is set to the - file descriptor used for locking. The lock will be released if the - file descriptor is closed by any other means, for example using - 'exec {VAR}>&-'; however, the form described here performs a safety - check that the file descriptor is in use for file locking. - - By default the shell waits indefinitely for the lock to succeed. - The option -t TIMEOUT specifies a timeout for the lock in seconds; - fractional seconds are allowed. During this period, the shell will - attempt to lock the file every INTERVAL seconds if the -i INTERVAL - option is given, otherwise once a second. (This INTERVAL is - shortened before the last attempt if needed, so that the shell - waits only until the TIMEOUT and not longer.) If the attempt times - out, status 2 is returned. - - (Note: TIMEOUT is limited to 2^30-1 seconds (about 34 years), and - INTERVAL to 0.999 * LONG_MAX microseconds (only about 35 minutes on - 32-bit systems).) - - If the option -e is given, the file descriptor for the lock is - preserved when the shell uses exec to start a new process; - otherwise it is closed at that point and the lock released. - - If the option -r is given, the lock is only for reading, otherwise - it is for reading and writing. The file descriptor is opened - accordingly. - -zsystem supports SUBCOMMAND - The builtin zsystem's subcommand supports tests whether a given - subcommand is supported. It returns status 0 if so, else status 1. - It operates silently unless there was a syntax error (i.e. the - wrong number of arguments), in which case status 255 is returned. - Status 1 can indicate one of two things: SUBCOMMAND is known but - not supported by the current operating system, or SUBCOMMAND is not - known (possibly because this is an older version of the shell - before it was implemented). - -22.27.2 Math Functions ----------------------- - -systell(FD) - The systell math function returns the current file position for the - file descriptor passed as an argument. - -22.27.3 Parameters ------------------- - -errnos - A readonly array of the names of errors defined on the system. - These are typically macros defined in C by including the system - header file errno.h. The index of each name (assuming the option - KSH_ARRAYS is unset) corresponds to the error number. Error - numbers NUM before the last known error which have no name are - given the name ENUM in the array. - - Note that aliases for errors are not handled; only the canonical - name is used. - -sysparams - A readonly associative array. The keys are: - - pid - Returns the process ID of the current process, even in - subshells. Compare $$, which returns the process ID of the - main shell process. - - ppid - Returns the current process ID of the parent of the current - process, even in subshells. Compare $PPID, which returns the - process ID of the initial parent of the main shell process. - - procsubstpid - Returns the process ID of the last process started for process - substitution, i.e. the <(...) and >(...) expansions. - - -File: zsh.info, Node: The zsh/net/tcp Module, Next: The zsh/termcap Module, Prev: The zsh/system Module, Up: Zsh Modules - -22.28 The zsh/net/tcp Module -============================ - -The zsh/net/tcp module makes available one builtin command: - -ztcp [ -acflLtv ] [ -d FD ] [ ARGS ] - ztcp is implemented as a builtin to allow full use of shell command - line editing, file I/O, and job control mechanisms. - - If ztcp is run with no options, it will output the contents of its - session table. - - If it is run with only the option -L, it will output the contents - of the session table in a format suitable for automatic parsing. - The option is ignored if given with a command to open or close a - session. The output consists of a set of lines, one per session, - each containing the following elements separated by spaces: - - File descriptor - The file descriptor in use for the connection. For normal - inbound (I) and outbound (O) connections this may be read and - written by the usual shell mechanisms. However, it should - only be close with 'ztcp -c'. - - Connection type - A letter indicating how the session was created: - - Z - A session created with the zftp command. - - L - A connection opened for listening with 'ztcp -l'. - - I - An inbound connection accepted with 'ztcp -a'. - - O - An outbound connection created with 'ztcp HOST ...'. - - The local host - This is usually set to an all-zero IP address as the address - of the localhost is irrelevant. - - The local port - This is likely to be zero unless the connection is for - listening. - - The remote host - This is the fully qualified domain name of the peer, if - available, else an IP address. It is an all-zero IP address - for a session opened for listening. - - The remote port - This is zero for a connection opened for listening. - -22.28.1 Outbound Connections ----------------------------- - -ztcp [ -v ] [ -d FD ] HOST [ PORT ] - Open a new TCP connection to HOST. If the PORT is omitted, it will - default to port 23. The connection will be added to the session - table and the shell parameter REPLY will be set to the file - descriptor associated with that connection. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - In order to elicit more verbose output, use -v. - -22.28.2 Inbound Connections ---------------------------- - -ztcp -l [ -v ] [ -d FD ] PORT - ztcp -l will open a socket listening on TCP PORT. The socket will - be added to the session table and the shell parameter REPLY will be - set to the file descriptor associated with that listener. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - In order to elicit more verbose output, use -v. - -ztcp -a [ -tv ] [ -d TARGETFD ] LISTENFD - ztcp -a will accept an incoming connection to the port associated - with LISTENFD. The connection will be added to the session table - and the shell parameter REPLY will be set to the file descriptor - associated with the inbound connection. - - If -d is specified, its argument will be taken as the target file - descriptor for the connection. - - If -t is specified, ztcp will return if no incoming connection is - pending. Otherwise it will wait for one. - - In order to elicit more verbose output, use -v. - -22.28.3 Closing Connections ---------------------------- - -ztcp -cf [ -v ] [ FD ] -ztcp -c [ -v ] [ FD ] - ztcp -c will close the socket associated with FD. The socket will - be removed from the session table. If FD is not specified, ztcp - will close everything in the session table. - - Normally, sockets registered by zftp (see *note The zsh/zftp - Module:: ) cannot be closed this way. In order to force such a - socket closed, use -f. - - In order to elicit more verbose output, use -v. - -22.28.4 Example ---------------- - -Here is how to create a TCP connection between two instances of zsh. We -need to pick an unassigned port; here we use the randomly chosen 5123. - -On host1, - zmodload zsh/net/tcp - ztcp -l 5123 - listenfd=$REPLY - ztcp -a $listenfd - fd=$REPLY - The second from last command blocks until there is an incoming -connection. - -Now create a connection from host2 (which may, of course, be the same -machine): - zmodload zsh/net/tcp - ztcp host1 5123 - fd=$REPLY - -Now on each host, $fd contains a file descriptor for talking to the -other. For example, on host1: - print This is a message >&$fd - and on host2: - read -r line <&$fd; print -r - $line - prints 'This is a message'. - -To tidy up, on host1: - ztcp -c $listenfd - ztcp -c $fd - and on host2 - ztcp -c $fd - - -File: zsh.info, Node: The zsh/termcap Module, Next: The zsh/terminfo Module, Prev: The zsh/net/tcp Module, Up: Zsh Modules - -22.29 The zsh/termcap Module -============================ - -The zsh/termcap module makes available one builtin command: - -echotc CAP [ ARG ... ] - Output the termcap value corresponding to the capability CAP, with - optional arguments. - -The zsh/termcap module makes available one parameter: - -termcap - An associative array that maps termcap capability codes to their - values. - - -File: zsh.info, Node: The zsh/terminfo Module, Next: The zsh/watch Module, Prev: The zsh/termcap Module, Up: Zsh Modules - -22.30 The zsh/terminfo Module -============================= - -The zsh/terminfo module makes available one builtin command: - -echoti CAP [ ARG ] - Output the terminfo value corresponding to the capability CAP, - instantiated with ARG if applicable. - -The zsh/terminfo module makes available one parameter: - -terminfo - An associative array that maps terminfo capability names to their - values. - - -File: zsh.info, Node: The zsh/watch Module, Next: The zsh/zftp Module, Prev: The zsh/terminfo Module, Up: Zsh Modules - -22.31 The zsh/watch Module -========================== - -The zsh/watch module can be used to report when specific users log in or -out. This is controlled via the following parameters. - -LOGCHECK - The interval in seconds between checks for login/logout activity - using the watch parameter. - -watch <S> <Z> (WATCH <S>) - An array (colon-separated list) of login/logout events to report. - - If it contains the single word 'all', then all login/logout events - are reported. If it contains the single word 'notme', then all - events are reported as with 'all' except $USERNAME. - - An entry in this list may consist of a username, an '@' followed by - a remote hostname, and a '%' followed by a line (tty). Any of - these may be a pattern (be sure to quote this during the assignment - to watch so that it does not immediately perform file generation); - the setting of the EXTENDED_GLOB option is respected. Any or all - of these components may be present in an entry; if a login/logout - event matches all of them, it is reported. - - For example, with the EXTENDED_GLOB option set, the following: - - watch=('^(pws|barts)') - - causes reports for activity associated with any user other than pws - or barts. - -WATCHFMT - The format of login/logout reports if the watch parameter is set. - Default is '%n has %a %l from %m'. Recognizes the following escape - sequences: - - %n - The name of the user that logged in/out. - - %a - The observed action, i.e. "logged on" or "logged off". - - %l - The line (tty) the user is logged in on. - - %M - The full hostname of the remote host. - - %m - The hostname up to the first '.'. If only the IP address is - available or the utmp field contains the name of an X-windows - display, the whole name is printed. - - _NOTE:_ The '%m' and '%M' escapes will work only if there is a - host name field in the utmp on your machine. Otherwise they - are treated as ordinary strings. - - %F{COLOR} (%f) - Start (stop) using a different foreground color. - - %K{COLOR} (%k) - Start (stop) using a different background color. - - %S (%s) - Start (stop) standout mode. - - %U (%u) - Start (stop) underline mode. - - %B (%b) - Start (stop) boldface mode. - - %t - %@ - The time, in 12-hour, am/pm format. - - %T - The time, in 24-hour format. - - %w - The date in 'DAY-DD' format. - - %W - The date in 'MM/DD/YY' format. - - %D - The date in 'YY-MM-DD' format. - - %D{STRING} - The date formatted as STRING using the strftime function, with - zsh extensions as described by *note Prompt Expansion::. - - %(X:TRUE-TEXT:FALSE-TEXT) - Specifies a ternary expression. The character following the X - is arbitrary; the same character is used to separate the text - for the "true" result from that for the "false" result. Both - the separator and the right parenthesis may be escaped with a - backslash. Ternary expressions may be nested. - - The test character X may be any one of 'l', 'n', 'm' or 'M', - which indicate a 'true' result if the corresponding escape - sequence would return a non-empty value; or it may be 'a', - which indicates a 'true' result if the watched user has logged - in, or 'false' if he has logged out. Other characters - evaluate to neither true nor false; the entire expression is - omitted in this case. - - If the result is 'true', then the TRUE-TEXT is formatted - according to the rules above and printed, and the FALSE-TEXT - is skipped. If 'false', the TRUE-TEXT is skipped and the - FALSE-TEXT is formatted and printed. Either or both of the - branches may be empty, but both separators must be present in - any case. - -Furthermore, the zsh/watch module makes available one builtin command: - -log - List all users currently logged in who are affected by the current - setting of the watch parameter. - - -File: zsh.info, Node: The zsh/zftp Module, Next: The zsh/zle Module, Prev: The zsh/watch Module, Up: Zsh Modules - -22.32 The zsh/zftp Module -========================= - -The zsh/zftp module makes available one builtin command: - -zftp SUBCOMMAND [ ARGS ] - The zsh/zftp module is a client for FTP (file transfer protocol). - It is implemented as a builtin to allow full use of shell command - line editing, file I/O, and job control mechanisms. Often, users - will access it via shell functions providing a more powerful - interface; a set is provided with the zsh distribution and is - described in *note Zftp Function System::. However, the zftp - command is entirely usable in its own right. - - All commands consist of the command name zftp followed by the name - of a subcommand. These are listed below. The return status of - each subcommand is supposed to reflect the success or failure of - the remote operation. See a description of the variable - ZFTP_VERBOSE for more information on how responses from the server - may be printed. - -22.32.1 Subcommands -------------------- - -open HOST[:PORT] [ USER [ PASSWORD [ ACCOUNT ] ] ] - Open a new FTP session to HOST, which may be the name of a TCP/IP - connected host or an IP number in the standard dot notation. If - the argument is in the form HOST:PORT, open a connection to TCP - port PORT instead of the standard FTP port 21. This may be the - name of a TCP service or a number: see the description of ZFTP_PORT - below for more information. - - If IPv6 addresses in colon format are used, the HOST should be - surrounded by quoted square brackets to distinguish it from the - PORT, for example '[fe80::203:baff:fe02:8b56]'. For consistency - this is allowed with all forms of HOST. - - Remaining arguments are passed to the login subcommand. Note that - if no arguments beyond HOST are supplied, open will _not_ - automatically call login. If no arguments at all are supplied, - open will use the parameters set by the params subcommand. - - After a successful open, the shell variables ZFTP_HOST, ZFTP_PORT, - ZFTP_IP and ZFTP_SYSTEM are available; see 'Variables' below. - -login [ NAME [ PASSWORD [ ACCOUNT ] ] ] -user [ NAME [ PASSWORD [ ACCOUNT ] ] ] - Login the user NAME with parameters PASSWORD and ACCOUNT. Any of - the parameters can be omitted, and will be read from standard input - if needed (NAME is always needed). If standard input is a - terminal, a prompt for each one will be printed on standard error - and PASSWORD will not be echoed. If any of the parameters are not - used, a warning message is printed. - - After a successful login, the shell variables ZFTP_USER, - ZFTP_ACCOUNT and ZFTP_PWD are available; see 'Variables' below. - - This command may be re-issued when a user is already logged in, and - the server will first be reinitialized for a new user. - -params [ HOST [ USER [ PASSWORD [ ACCOUNT ] ] ] ] -params - - Store the given parameters for a later open command with no - arguments. Only those given on the command line will be - remembered. If no arguments are given, the parameters currently - set are printed, although the password will appear as a line of - stars; the return status is one if no parameters were set, zero - otherwise. - - Any of the parameters may be specified as a '?', which may need to - be quoted to protect it from shell expansion. In this case, the - appropriate parameter will be read from stdin as with the login - subcommand, including special handling of PASSWORD. If the '?' is - followed by a string, that is used as the prompt for reading the - parameter instead of the default message (any necessary punctuation - and whitespace should be included at the end of the prompt). The - first letter of the parameter (only) may be quoted with a '\'; - hence an argument "\\$word" guarantees that the string from the - shell parameter $word will be treated literally, whether or not it - begins with a '?'. - - If instead a single '-' is given, the existing parameters, if any, - are deleted. In that case, calling open with no arguments will - cause an error. - - The list of parameters is not deleted after a close, however it - will be deleted if the zsh/zftp module is unloaded. - - For example, - - zftp params ftp.elsewhere.xx juser '?Password for juser: ' - - will store the host ftp.elsewhere.xx and the user juser and then - prompt the user for the corresponding password with the given - prompt. - -test - Test the connection; if the server has reported that it has closed - the connection (maybe due to a timeout), return status 2; if no - connection was open anyway, return status 1; else return status 0. - The test subcommand is silent, apart from messages printed by the - $ZFTP_VERBOSE mechanism, or error messages if the connection - closes. There is no network overhead for this test. - - The test is only supported on systems with either the select(2) or - poll(2) system calls; otherwise the message 'not supported on this - system' is printed instead. - - The test subcommand will automatically be called at the start of - any other subcommand for the current session when a connection is - open. - -cd DIRECTORY - Change the remote directory to DIRECTORY. Also alters the shell - variable ZFTP_PWD. - -cdup - Change the remote directory to the one higher in the directory - tree. Note that cd .. will also work correctly on non-UNIX - systems. - -dir [ ARG ... ] - Give a (verbose) listing of the remote directory. The ARGs are - passed directly to the server. The command's behaviour is - implementation dependent, but a UNIX server will typically - interpret ARGs as arguments to the ls command and with no arguments - return the result of 'ls -l'. The directory is listed to standard - output. - -ls [ ARG ... ] - Give a (short) listing of the remote directory. With no ARG, - produces a raw list of the files in the directory, one per line. - Otherwise, up to vagaries of the server implementation, behaves - similar to dir. - -type [ TYPE ] - Change the type for the transfer to TYPE, or print the current type - if TYPE is absent. The allowed values are 'A' (ASCII), 'I' (Image, - i.e. binary), or 'B' (a synonym for 'I'). - - The FTP default for a transfer is ASCII. However, if zftp finds - that the remote host is a UNIX machine with 8-bit byes, it will - automatically switch to using binary for file transfers upon open. - This can subsequently be overridden. - - The transfer type is only passed to the remote host when a data - connection is established; this command involves no network - overhead. - -ascii - The same as type A. - -binary - The same as type I. - -mode [ S | B ] - Set the mode type to stream (S) or block (B). Stream mode is the - default; block mode is not widely supported. - -remote FILE ... -local [ FILE ... ] - Print the size and last modification time of the remote or local - files. If there is more than one item on the list, the name of the - file is printed first. The first number is the file size, the - second is the last modification time of the file in the format - CCYYMMDDhhmmSS consisting of year, month, date, hour, minutes and - seconds in GMT. Note that this format, including the length, is - guaranteed, so that time strings can be directly compared via the - [[ builtin's < and > operators, even if they are too long to be - represented as integers. - - Not all servers support the commands for retrieving this - information. In that case, the remote command will print nothing - and return status 2, compared with status 1 for a file not found. - - The local command (but not remote) may be used with no arguments, - in which case the information comes from examining file descriptor - zero. This is the same file as seen by a put command with no - further redirection. - -get FILE ... - Retrieve all FILEs from the server, concatenating them and sending - them to standard output. - -put FILE ... - For each FILE, read a file from standard input and send that to the - remote host with the given name. - -append FILE ... - As put, but if the remote FILE already exists, data is appended to - it instead of overwriting it. - -getat FILE POINT -putat FILE POINT -appendat FILE POINT - Versions of get, put and append which will start the transfer at - the given POINT in the remote FILE. This is useful for appending - to an incomplete local file. However, note that this ability is - not universally supported by servers (and is not quite the - behaviour specified by the standard). - -delete FILE ... - Delete the list of files on the server. - -mkdir DIRECTORY - Create a new directory DIRECTORY on the server. - -rmdir DIRECTORY - Delete the directory DIRECTORY on the server. - -rename OLD-NAME NEW-NAME - Rename file OLD-NAME to NEW-NAME on the server. - -site ARG ... - Send a host-specific command to the server. You will probably only - need this if instructed by the server to use it. - -quote ARG ... - Send the raw FTP command sequence to the server. You should be - familiar with the FTP command set as defined in RFC959 before doing - this. Useful commands may include STAT and HELP. Note also the - mechanism for returning messages as described for the variable - ZFTP_VERBOSE below, in particular that all messages from the - control connection are sent to standard error. - -close -quit - Close the current data connection. This unsets the shell - parameters ZFTP_HOST, ZFTP_PORT, ZFTP_IP, ZFTP_SYSTEM, ZFTP_USER, - ZFTP_ACCOUNT, ZFTP_PWD, ZFTP_TYPE and ZFTP_MODE. - -session [ SESSNAME ] - Allows multiple FTP sessions to be used at once. The name of the - session is an arbitrary string of characters; the default session - is called 'default'. If this command is called without an - argument, it will list all the current sessions; with an argument, - it will either switch to the existing session called SESSNAME, or - create a new session of that name. - - Each session remembers the status of the connection, the set of - connection-specific shell parameters (the same set as are unset - when a connection closes, as given in the description of close), - and any user parameters specified with the params subcommand. - Changing to a previous session restores those values; changing to a - new session initialises them in the same way as if zftp had just - been loaded. The name of the current session is given by the - parameter ZFTP_SESSION. - -rmsession [ SESSNAME ] - Delete a session; if a name is not given, the current session is - deleted. If the current session is deleted, the earliest existing - session becomes the new current session, otherwise the current - session is not changed. If the session being deleted is the only - one, a new session called 'default' is created and becomes the - current session; note that this is a new session even if the - session being deleted is also called 'default'. It is recommended - that sessions not be deleted while background commands which use - zftp are still active. - -22.32.2 Parameters ------------------- - -The following shell parameters are used by zftp. Currently none of them -are special. - -ZFTP_TMOUT - Integer. The time in seconds to wait for a network operation to - complete before returning an error. If this is not set when the - module is loaded, it will be given the default value 60. A value - of zero turns off timeouts. If a timeout occurs on the control - connection it will be closed. Use a larger value if this occurs - too frequently. - -ZFTP_IP - Readonly. The IP address of the current connection in dot - notation. - -ZFTP_HOST - Readonly. The hostname of the current remote server. If the host - was opened as an IP number, ZFTP_HOST contains that instead; this - saves the overhead for a name lookup, as IP numbers are most - commonly used when a nameserver is unavailable. - -ZFTP_PORT - Readonly. The number of the remote TCP port to which the - connection is open (even if the port was originally specified as a - named service). Usually this is the standard FTP port, 21. - - In the unlikely event that your system does not have the - appropriate conversion functions, this appears in network byte - order. If your system is little-endian, the port then consists of - two swapped bytes and the standard port will be reported as 5376. - In that case, numeric ports passed to zftp open will also need to - be in this format. - -ZFTP_SYSTEM - Readonly. The system type string returned by the server in - response to an FTP SYST request. The most interesting case is a - string beginning "UNIX Type: L8", which ensures maximum - compatibility with a local UNIX host. - -ZFTP_TYPE - Readonly. The type to be used for data transfers , either 'A' or - 'I'. Use the type subcommand to change this. - -ZFTP_USER - Readonly. The username currently logged in, if any. - -ZFTP_ACCOUNT - Readonly. The account name of the current user, if any. Most - servers do not require an account name. - -ZFTP_PWD - Readonly. The current directory on the server. - -ZFTP_CODE - Readonly. The three digit code of the last FTP reply from the - server as a string. This can still be read after the connection is - closed, and is not changed when the current session changes. - -ZFTP_REPLY - Readonly. The last line of the last reply sent by the server. - This can still be read after the connection is closed, and is not - changed when the current session changes. - -ZFTP_SESSION - Readonly. The name of the current FTP session; see the description - of the session subcommand. - -ZFTP_PREFS - A string of preferences for altering aspects of zftp's behaviour. - Each preference is a single character. The following are defined: - - P - Passive: attempt to make the remote server initiate data - transfers. This is slightly more efficient than sendport - mode. If the letter S occurs later in the string, zftp will - use sendport mode if passive mode is not available. - - S - Sendport: initiate transfers by the FTP PORT command. If this - occurs before any P in the string, passive mode will never be - attempted. - - D - Dumb: use only the bare minimum of FTP commands. This - prevents the variables ZFTP_SYSTEM and ZFTP_PWD from being - set, and will mean all connections default to ASCII type. It - may prevent ZFTP_SIZE from being set during a transfer if the - server does not send it anyway (many servers do). - - If ZFTP_PREFS is not set when zftp is loaded, it will be set to a - default of 'PS', i.e. use passive mode if available, otherwise - fall back to sendport mode. - -ZFTP_VERBOSE - A string of digits between 0 and 5 inclusive, specifying which - responses from the server should be printed. All responses go to - standard error. If any of the numbers 1 to 5 appear in the string, - raw responses from the server with reply codes beginning with that - digit will be printed to standard error. The first digit of the - three digit reply code is defined by RFC959 to correspond to: - - 1. - A positive preliminary reply. - - 2. - A positive completion reply. - - 3. - A positive intermediate reply. - - 4. - A transient negative completion reply. - - 5. - A permanent negative completion reply. - - It should be noted that, for unknown reasons, the reply 'Service - not available', which forces termination of a connection, is - classified as 421, i.e. 'transient negative', an interesting - interpretation of the word 'transient'. - - The code 0 is special: it indicates that all but the last line of - multiline replies read from the server will be printed to standard - error in a processed format. By convention, servers use this - mechanism for sending information for the user to read. The - appropriate reply code, if it matches the same response, takes - priority. - - If ZFTP_VERBOSE is not set when zftp is loaded, it will be set to - the default value 450, i.e., messages destined for the user and all - errors will be printed. A null string is valid and specifies that - no messages should be printed. - -22.32.3 Functions ------------------ - -zftp_chpwd - If this function is set by the user, it is called every time the - directory changes on the server, including when a user is logged - in, or when a connection is closed. In the last case, $ZFTP_PWD - will be unset; otherwise it will reflect the new directory. - -zftp_progress - If this function is set by the user, it will be called during a - get, put or append operation each time sufficient data has been - received from the host. During a get, the data is sent to standard - output, so it is vital that this function should write to standard - error or directly to the terminal, _not_ to standard output. - - When it is called with a transfer in progress, the following - additional shell parameters are set: - - ZFTP_FILE - The name of the remote file being transferred from or to. - - ZFTP_TRANSFER - A G for a get operation and a P for a put operation. - - ZFTP_SIZE - The total size of the complete file being transferred: the - same as the first value provided by the remote and local - subcommands for a particular file. If the server cannot - supply this value for a remote file being retrieved, it will - not be set. If input is from a pipe the value may be - incorrect and correspond simply to a full pipe buffer. - - ZFTP_COUNT - The amount of data so far transferred; a number between zero - and $ZFTP_SIZE, if that is set. This number is always - available. - - The function is initially called with ZFTP_TRANSFER set - appropriately and ZFTP_COUNT set to zero. After the transfer is - finished, the function will be called one more time with - ZFTP_TRANSFER set to GF or PF, in case it wishes to tidy up. It is - otherwise never called twice with the same value of ZFTP_COUNT. - - Sometimes the progress meter may cause disruption. It is up to the - user to decide whether the function should be defined and to use - unfunction when necessary. - -22.32.4 Problems ----------------- - -A connection may not be opened in the left hand side of a pipe as this -occurs in a subshell and the file information is not updated in the main -shell. In the case of type or mode changes or closing the connection in -a subshell, the information is returned but variables are not updated -until the next call to zftp. Other status changes in subshells will not -be reflected by changes to the variables (but should be otherwise -harmless). - -Deleting sessions while a zftp command is active in the background can -have unexpected effects, even if it does not use the session being -deleted. This is because all shell subprocesses share information on -the state of all connections, and deleting a session changes the -ordering of that information. - -On some operating systems, the control connection is not valid after a -fork(), so that operations in subshells, on the left hand side of a -pipeline, or in the background are not possible, as they should be. -This is presumably a bug in the operating system. - - -File: zsh.info, Node: The zsh/zle Module, Next: The zsh/zleparameter Module, Prev: The zsh/zftp Module, Up: Zsh Modules - -22.33 The zsh/zle Module -======================== - -The zsh/zle module contains the Zsh Line Editor. See *note Zsh Line -Editor::. - - -File: zsh.info, Node: The zsh/zleparameter Module, Next: The zsh/zprof Module, Prev: The zsh/zle Module, Up: Zsh Modules - -22.34 The zsh/zleparameter Module -================================= - -The zsh/zleparameter module defines two special parameters that can be -used to access internal information of the Zsh Line Editor (see *note -Zsh Line Editor::). - -keymaps - This array contains the names of the keymaps currently defined. - -widgets - This associative array contains one entry per widget. The name of - the widget is the key and the value gives information about the - widget. It is either the string 'builtin' for builtin widgets, a - string of the form 'user:NAME' for user-defined widgets, where NAME - is the name of the shell function implementing the widget, a string - of the form 'completion:TYPE:NAME' for completion widgets, or a - null value if the widget is not yet fully defined. In the - penultimate case, TYPE is the name of the builtin widget the - completion widget imitates in its behavior and NAME is the name of - the shell function implementing the completion widget. - - -File: zsh.info, Node: The zsh/zprof Module, Next: The zsh/zpty Module, Prev: The zsh/zleparameter Module, Up: Zsh Modules - -22.35 The zsh/zprof Module -========================== - -When loaded, the zsh/zprof causes shell functions to be profiled. The -profiling results can be obtained with the zprof builtin command made -available by this module. There is no way to turn profiling off other -than unloading the module. - -zprof [ -c ] - Without the -c option, zprof lists profiling results to standard - output. The format is comparable to that of commands like gprof. - - At the top there is a summary listing all functions that were - called at least once. This summary is sorted in decreasing order - of the amount of time spent in each. The lines contain the number - of the function in order, which is used in other parts of the list - in suffixes of the form '[NUM]', then the number of calls made to - the function. The next three columns list the time in milliseconds - spent in the function and its descendants, the average time in - milliseconds spent in the function and its descendants per call and - the percentage of time spent in all shell functions used in this - function and its descendants. The following three columns give the - same information, but counting only the time spent in the function - itself. The final column shows the name of the function. - - After the summary, detailed information about every function that - was invoked is listed, sorted in decreasing order of the amount of - time spent in each function and its descendants. Each of these - entries consists of descriptions for the functions that called the - function described, the function itself, and the functions that - were called from it. The description for the function itself has - the same format as in the summary (and shows the same information). - The other lines don't show the number of the function at the - beginning and have their function named indented to make it easier - to distinguish the line showing the function described in the - section from the surrounding lines. - - The information shown in this case is almost the same as in the - summary, but only refers to the call hierarchy being displayed. - For example, for a calling function the column showing the total - running time lists the time spent in the described function and its - descendants only for the times when it was called from that - particular calling function. Likewise, for a called function, this - columns lists the total time spent in the called function and its - descendants only for the times when it was called from the function - described. - - Also in this case, the column showing the number of calls to a - function also shows a slash and then the total number of - invocations made to the called function. - - As long as the zsh/zprof module is loaded, profiling will be done - and multiple invocations of the zprof builtin command will show the - times and numbers of calls since the module was loaded. With the - -c option, the zprof builtin command will reset its internal - counters and will not show the listing. - - -File: zsh.info, Node: The zsh/zpty Module, Next: The zsh/zselect Module, Prev: The zsh/zprof Module, Up: Zsh Modules - -22.36 The zsh/zpty Module -========================= - -The zsh/zpty module offers one builtin: - -zpty [ -e ] [ -b ] NAME [ ARG ... ] - The arguments following NAME are concatenated with spaces between, - then executed as a command, as if passed to the eval builtin. The - command runs under a newly assigned pseudo-terminal; this is useful - for running commands non-interactively which expect an interactive - environment. The NAME is not part of the command, but is used to - refer to this command in later calls to zpty. - - With the -e option, the pseudo-terminal is set up so that input - characters are echoed. - - With the -b option, input to and output from the pseudo-terminal - are made non-blocking. - - The shell parameter REPLY is set to the file descriptor assigned to - the master side of the pseudo-terminal. This allows the terminal - to be monitored with ZLE descriptor handlers (see *note Zle - Builtins::) or manipulated with sysread and syswrite (see *note The - zsh/system Module::). _Warning_: Use of sysread and syswrite is - _not_ recommended; use zpty -r and zpty -w unless you know exactly - what you are doing. - -zpty -d [ NAME ... ] - The second form, with the -d option, is used to delete commands - previously started, by supplying a list of their NAMEs. If no NAME - is given, all commands are deleted. Deleting a command causes the - HUP signal to be sent to the corresponding process. - -zpty -w [ -n ] NAME [ STRING ... ] - The -w option can be used to send the to command NAME the given - STRINGs as input (separated by spaces). If the -n option is _not_ - given, a newline is added at the end. - - If no STRING is provided, the standard input is copied to the - pseudo-terminal; this may stop before copying the full input if the - pseudo-terminal is non-blocking. The exact input is always copied: - the -n option is not applied. - - Note that the command under the pseudo-terminal sees this input as - if it were typed, so beware when sending special tty driver - characters such as word-erase, line-kill, and end-of-file. - -zpty -r [ -mt ] NAME [ PARAM [ PATTERN ] ] - The -r option can be used to read the output of the command NAME. - With only a NAME argument, the output read is copied to the - standard output. Unless the pseudo-terminal is non-blocking, - copying continues until the command under the pseudo-terminal - exits; when non-blocking, only as much output as is immediately - available is copied. The return status is zero if any output is - copied. - - When also given a PARAM argument, at most one line is read and - stored in the parameter named PARAM. Less than a full line may be - read if the pseudo-terminal is non-blocking. The return status is - zero if at least one character is stored in PARAM. - - If a PATTERN is given as well, output is read until the whole - string read matches the PATTERN, even in the non-blocking case. - The return status is zero if the string read matches the pattern, - or if the command has exited but at least one character could still - be read. If the option -m is present, the return status is zero - only if the pattern matches. As of this writing, a maximum of one - megabyte of output can be consumed this way; if a full megabyte is - read without matching the pattern, the return status is non-zero. - - In all cases, the return status is non-zero if nothing could be - read, and is 2 if this is because the command has finished. - - If the -r option is combined with the -t option, zpty tests whether - output is available before trying to read. If no output is - available, zpty immediately returns the status 1. When used with a - PATTERN, the behaviour on a failed poll is similar to when the - command has exited: the return value is zero if at least one - character could still be read even if the pattern failed to match. - -zpty -t NAME - The -t option without the -r option can be used to test whether the - command NAME is still running. It returns a zero status if the - command is running and a non-zero value otherwise. - -zpty [ -L ] - The last form, without any arguments, is used to list the commands - currently defined. If the -L option is given, this is done in the - form of calls to the zpty builtin. - - -File: zsh.info, Node: The zsh/zselect Module, Next: The zsh/zutil Module, Prev: The zsh/zpty Module, Up: Zsh Modules - -22.37 The zsh/zselect Module -============================ - -The zsh/zselect module makes available one builtin command: - -zselect [ -rwe ] [ -t TIMEOUT ] [ -a ARRAY ] [ -A ASSOC ] [ FD ... ] - The zselect builtin is a front-end to the 'select' system call, - which blocks until a file descriptor is ready for reading or - writing, or has an error condition, with an optional timeout. If - this is not available on your system, the command prints an error - message and returns status 2 (normal errors return status 1). For - more information, see your system's documentation for select(3). - Note there is no connection with the shell builtin of the same - name. - - Arguments and options may be intermingled in any order. Non-option - arguments are file descriptors, which must be decimal integers. By - default, file descriptors are to be tested for reading, i.e. - zselect will return when data is available to be read from the file - descriptor, or more precisely, when a read operation from the file - descriptor will not block. After a -r, -w and -e, the given file - descriptors are to be tested for reading, writing, or error - conditions. These options and an arbitrary list of file - descriptors may be given in any order. - - (The presence of an 'error condition' is not well defined in the - documentation for many implementations of the select system call. - According to recent versions of the POSIX specification, it is - really an _exception_ condition, of which the only standard example - is out-of-band data received on a socket. So zsh users are - unlikely to find the -e option useful.) - - The option '-t TIMEOUT' specifies a timeout in hundredths of a - second. This may be zero, in which case the file descriptors will - simply be polled and zselect will return immediately. It is - possible to call zselect with no file descriptors and a non-zero - timeout for use as a finer-grained replacement for 'sleep'; note, - however, the return status is always 1 for a timeout. - - The option '-a ARRAY' indicates that ARRAY should be set to - indicate the file descriptor(s) which are ready. If the option is - not given, the array reply will be used for this purpose. The - array will contain a string similar to the arguments for zselect. - For example, - - zselect -t 0 -r 0 -w 1 - - might return immediately with status 0 and $reply containing '-r 0 - -w 1' to show that both file descriptors are ready for the - requested operations. - - The option '-A ASSOC' indicates that the associative array ASSOC - should be set to indicate the file descriptor(s) which are ready. - This option overrides the option -a, nor will reply be modified. - The keys of assoc are the file descriptors, and the corresponding - values are any of the characters 'rwe' to indicate the condition. - - The command returns status 0 if some file descriptors are ready for - reading. If the operation timed out, or a timeout of 0 was given - and no file descriptors were ready, or there was an error, it - returns status 1 and the array will not be set (nor modified in any - way). If there was an error in the select operation the - appropriate error message is printed. - - -File: zsh.info, Node: The zsh/zutil Module, Prev: The zsh/zselect Module, Up: Zsh Modules - -22.38 The zsh/zutil Module -========================== - -The zsh/zutil module only adds some builtins: - -zstyle [ -L [ METAPATTERN [ STYLE ] ] ] -zstyle [ -e | - | -- ] PATTERN STYLE STRING ... -zstyle -d [ PATTERN [ STYLE ... ] ] -zstyle -g NAME [ PATTERN [ STYLE ] ] -zstyle -{a|b|s} CONTEXT STYLE NAME [ SEP ] -zstyle -{T|t} CONTEXT STYLE [ STRING ... ] -zstyle -m CONTEXT STYLE PATTERN - This builtin command is used to define and lookup styles. Styles - are pairs of names and values, where the values consist of any - number of strings. They are stored together with patterns and - lookup is done by giving a string, called the '_context_', which is - matched against the patterns. The definition stored for the most - specific pattern that matches will be returned. - - A pattern is considered to be more specific than another if it - contains more components (substrings separated by colons) or if the - patterns for the components are more specific, where simple strings - are considered to be more specific than patterns and complex - patterns are considered to be more specific than the pattern '*'. - A '*' in the pattern will match zero or more characters in the - context; colons are not treated specially in this regard. If two - patterns are equally specific, the tie is broken in favour of the - pattern that was defined first. - - _Example_ - - For example, a fictional 'weather' plugin might state in its - documentation that it looks up the preferred-precipitation style - under the ':weather:CONTINENT:DAY-OF-THE-WEEK:PHASE-OF-THE-MOON' - context. According to this, you might set the following in your - zshrc: - - zstyle ':weather:europe:*' preferred-precipitation rain - zstyle ':weather:*:Sunday:*' preferred-precipitation snow - - Then the plugin would run under the hood a command such as - - zstyle -s ":weather:${continent}:${day_of_week}:${moon_phase}" preferred-precipitation REPLY - - in order to retrieve your preference into the scalar variable - $REPLY. On Sundays $REPLY would be set to 'snow'; in Europe it - would be set to 'rain'; and on Sundays in Europe it would be set to - 'snow' again, because the patterns ':weather:europe:*' and - ':weather:*:Sunday:*' both match the CONTEXT argument to zstyle -s, - are equally specific, and the latter is more specific (because it - has more colon-separated components). - - _Usage_ - - The forms that operate on patterns are the following. - - zstyle [ -L [ METAPATTERN [ STYLE ] ] ] - Without arguments, lists style definitions. Styles are shown - in alphabetic order and patterns are shown in the order zstyle - will test them. - - If the -L option is given, listing is done in the form of - calls to zstyle. The optional first argument, METAPATTERN, is - a pattern which will be matched against the string supplied as - PATTERN when the style was defined. Note: this means, for - example, 'zstyle -L ":completion:*"' will match any supplied - pattern beginning ':completion:', not just ":completion:*": - use ':completion:\*' to match that. The optional second - argument limits the output to a specific STYLE (not a - pattern). -L is not compatible with any other options. - - zstyle [ - | -- | -e ] PATTERN STYLE STRING ... - Defines the given STYLE for the PATTERN with the STRINGs as - the value. If the -e option is given, the STRINGs will be - concatenated (separated by spaces) and the resulting string - will be evaluated (in the same way as it is done by the eval - builtin command) when the style is looked up. In this case - the parameter 'reply' must be assigned to set the strings - returned after the evaluation. Before evaluating the value, - reply is unset, and if it is still unset after the evaluation, - the style is treated as if it were not set. - - zstyle -d [ PATTERN [ STYLE ... ] ] - Delete style definitions. Without arguments all definitions - are deleted, with a PATTERN all definitions for that pattern - are deleted and if any STYLEs are given, then only those - styles are deleted for the PATTERN. - - zstyle -g NAME [ PATTERN [ STYLE ] ] - Retrieve a style definition. The NAME is used as the name of - an array in which the results are stored. Without any further - arguments, all patterns defined are returned. With a PATTERN - the styles defined for that pattern are returned and with both - a PATTERN and a STYLE, the value strings of that combination - is returned. - - The other forms can be used to look up or test styles for a given - context. - - zstyle -s CONTEXT STYLE NAME [ SEP ] - The parameter NAME is set to the value of the style - interpreted as a string. If the value contains several - strings they are concatenated with spaces (or with the SEP - string if that is given) between them. - - Return 0 if the style is set, 1 otherwise. - - zstyle -b CONTEXT STYLE NAME - The value is stored in NAME as a boolean, i.e. as the string - 'yes' if the value has only one string and that string is - equal to one of 'yes', 'true', 'on', or '1'. If the value is - any other string or has more than one string, the parameter is - set to 'no'. - - Return 0 if NAME is set to 'yes', 1 otherwise. - - zstyle -a CONTEXT STYLE NAME - The value is stored in NAME as an array. If NAME is declared - as an associative array, the first, third, etc. strings are - used as the keys and the other strings are used as the values. - - Return 0 if the style is set, 1 otherwise. - - zstyle -t CONTEXT STYLE [ STRING ... ] - zstyle -T CONTEXT STYLE [ STRING ... ] - Test the value of a style, i.e. the -t option only returns a - status (sets $?). Without any STRING the return status is - zero if the style is defined for at least one matching - pattern, has only one string in its value, and that is equal - to one of 'true', 'yes', 'on' or '1'. If any STRINGs are - given the status is zero if and only if at least one of the - STRINGs is equal to at least one of the strings in the value. - If the style is defined but doesn't match, the return status - is 1. If the style is not defined, the status is 2. - - The -T option tests the values of the style like -t, but it - returns status zero (rather than 2) if the style is not - defined for any matching pattern. - - zstyle -m CONTEXT STYLE PATTERN - Match a value. Returns status zero if the PATTERN matches at - least one of the strings in the value. - -zformat -f PARAM FORMAT SPEC ... -zformat -F PARAM FORMAT SPEC ... -zformat -a ARRAY SEP SPEC ... - This builtin provides different forms of formatting. The first - form is selected with the -f option. In this case the FORMAT - string will be modified by replacing sequences starting with a - percent sign in it with strings from the SPECs. Each SPEC should - be of the form 'CHAR:STRING' which will cause every appearance of - the sequence '%CHAR' in FORMAT to be replaced by the STRING. The - '%' sequence may also contain optional minimum and maximum field - width specifications between the '%' and the 'CHAR' in the form - '%MIN.MAXc', i.e. the minimum field width is given first and if - the maximum field width is used, it has to be preceded by a dot. - Specifying a minimum field width makes the result be padded with - spaces to the right if the STRING is shorter than the requested - width. Padding to the left can be achieved by giving a negative - minimum field width. If a maximum field width is specified, the - STRING will be truncated after that many characters. After all '%' - sequences for the given SPECs have been processed, the resulting - string is stored in the parameter PARAM. - - The %-escapes also understand ternary expressions in the form used - by prompts. The % is followed by a '(' and then an ordinary format - specifier character as described above. There may be a set of - digits either before or after the '('; these specify a test number, - which defaults to zero. Negative numbers are also allowed. An - arbitrary delimiter character follows the format specifier, which - is followed by a piece of 'true' text, the delimiter character - again, a piece of 'false' text, and a closing parenthesis. The - complete expression (without the digits) thus looks like - '%(X.TEXT1.TEXT2)', except that the '.' character is arbitrary. - The value given for the format specifier in the CHAR:STRING - expressions is evaluated as a mathematical expression, and compared - with the test number. If they are the same, TEXT1 is output, else - TEXT2 is output. A parenthesis may be escaped in TEXT2 as %). - Either of TEXT1 or TEXT2 may contain nested %-escapes. - - For example: - - zformat -f REPLY "The answer is '%3(c.yes.no)'." c:3 - - outputs "The answer is 'yes'." to REPLY since the value for the - format specifier c is 3, agreeing with the digit argument to the - ternary expression. - - With -F instead of -f, ternary expressions choose between the - 'true' or 'false' text on the basis of whether the format specifier - is present and non-empty. A test number indicates a minimum width - for the value given in the format specifier. Negative numbers - reverse this, so the test is for whether the value exceeds a - maximum width. - - The form, using the -a option, can be used for aligning strings. - Here, the SPECs are of the form 'LEFT:RIGHT' where 'LEFT' and - 'RIGHT' are arbitrary strings. These strings are modified by - replacing the colons by the SEP string and padding the LEFT strings - with spaces to the right so that the SEP strings in the result (and - hence the RIGHT strings after them) are all aligned if the strings - are printed below each other. All strings without a colon are left - unchanged and all strings with an empty RIGHT string have the - trailing colon removed. In both cases the lengths of the strings - are not used to determine how the other strings are to be aligned. - A colon in the LEFT string can be escaped with a backslash. The - resulting strings are stored in the ARRAY. - -zregexparse - This implements some internals of the _regex_arguments function. - -zparseopts [ -D -E -F -K -M ] [ -a ARRAY ] [ -A ASSOC ] [ - ] SPEC ... - This builtin simplifies the parsing of options in positional - parameters, i.e. the set of arguments given by $*. Each SPEC - describes one option and must be of the form 'OPT[=ARRAY]'. If an - option described by OPT is found in the positional parameters it is - copied into the ARRAY specified with the -a option; if the optional - '=ARRAY' is given, it is instead copied into that array, which - should be declared as a normal array and never as an associative - array. - - Note that it is an error to give any SPEC without an '=ARRAY' - unless one of the -a or -A options is used. - - Unless the -E option is given, parsing stops at the first string - that isn't described by one of the SPECs. Even with -E, parsing - always stops at a positional parameter equal to '-' or '--'. See - also -F. - - The OPT description must be one of the following. Any of the - special characters can appear in the option name provided it is - preceded by a backslash. - - NAME - NAME+ - The NAME is the name of the option without the leading '-'. - To specify a GNU-style long option, one of the usual two - leading '-' must be included in NAME; for example, a '--file' - option is represented by a NAME of '-file'. - - If a '+' appears after NAME, the option is appended to ARRAY - each time it is found in the positional parameters; without - the '+' only the _last_ occurrence of the option is preserved. - - If one of these forms is used, the option takes no argument, - so parsing stops if the next positional parameter does not - also begin with '-' (unless the -E option is used). - - NAME: - NAME:- - NAME:: - If one or two colons are given, the option takes an argument; - with one colon, the argument is mandatory and with two colons - it is optional. The argument is appended to the ARRAY after - the option itself. - - An optional argument is put into the same array element as the - option name (note that this makes empty strings as arguments - indistinguishable). A mandatory argument is added as a - separate element unless the ':-' form is used, in which case - the argument is put into the same element. - - A '+' as described above may appear between the NAME and the - first colon. - - In all cases, option-arguments must appear either immediately - following the option in the same positional parameter or in the - next one. Even an optional argument may appear in the next - parameter, unless it begins with a '-'. There is no special - handling of '=' as with GNU-style argument parsers; given the SPEC - '-foo:', the positional parameter '--foo=bar' is parsed as '--foo' - with an argument of '=bar'. - - When the names of two options that take no arguments overlap, the - longest one wins, so that parsing for the SPECs '-foo -foobar' (for - example) is unambiguous. However, due to the aforementioned - handling of option-arguments, ambiguities may arise when at least - one overlapping SPEC takes an argument, as in '-foo: -foobar'. In - that case, the last matching SPEC wins. - - The options of zparseopts itself cannot be stacked because, for - example, the stack '-DEK' is indistinguishable from a SPEC for the - GNU-style long option '--DEK'. The options of zparseopts itself - are: - - -a ARRAY - As described above, this names the default array in which to - store the recognised options. - - -A ASSOC - If this is given, the options and their values are also put - into an associative array with the option names as keys and - the arguments (if any) as the values. - - -D - If this option is given, all options found are removed from - the positional parameters of the calling shell or shell - function, up to but not including any not described by the - SPECs. If the first such parameter is '-' or '--', it is - removed as well. This is similar to using the shift builtin. - - -E - This changes the parsing rules to _not_ stop at the first - string that isn't described by one of the SPECs. It can be - used to test for or (if used together with -D) extract options - and their arguments, ignoring all other options and arguments - that may be in the positional parameters. As indicated above, - parsing still stops at the first '-' or '--' not described by - a SPEC, but it is not removed when used with -D. - - -F - If this option is given, zparseopts immediately stops at the - first option-like parameter not described by one of the SPECs, - prints an error message, and returns status 1. Removal (-D) - and extraction (-E) are not performed, and option arrays are - not updated. This provides basic validation for the given - options. - - Note that the appearance in the positional parameters of an - option without its required argument always aborts parsing and - returns an error as described above regardless of whether this - option is used. - - -K - With this option, the arrays specified with the -a option and - with the '=ARRAY' forms are kept unchanged when none of the - SPECs for them is used. Otherwise the entire array is - replaced when any of the SPECs is used. Individual elements - of associative arrays specified with the -A option are - preserved by -K. This allows assignment of default values to - arrays before calling zparseopts. - - -M - This changes the assignment rules to implement a map among - equivalent option names. If any SPEC uses the '=ARRAY' form, - the string ARRAY is interpreted as the name of another SPEC, - which is used to choose where to store the values. If no - other SPEC is found, the values are stored as usual. This - changes only the way the values are stored, not the way $* is - parsed, so results may be unpredictable if the 'NAME+' - specifier is used inconsistently. - - For example, - - set -- -a -bx -c y -cz baz -cend - zparseopts a=foo b:=bar c+:=bar - - will have the effect of - - foo=(-a) - bar=(-b x -c y -c z) - - The arguments from 'baz' on will not be used. - - As an example for the -E option, consider: - - set -- -a x -b y -c z arg1 arg2 - zparseopts -E -D b:=bar - - will have the effect of - - bar=(-b y) - set -- -a x -c z arg1 arg2 - - I.e., the option -b and its arguments are taken from the positional - parameters and put into the array bar. - - The -M option can be used like this: - - set -- -a -bx -c y -cz baz -cend - zparseopts -A bar -M a=foo b+: c:=b - - to have the effect of - - foo=(-a) - bar=(-a '' -b xyz) - - -File: zsh.info, Node: Calendar Function System, Next: TCP Function System, Prev: Zsh Modules, Up: Top - -23 Calendar Function System -*************************** - -23.1 Description -================ - -The shell is supplied with a series of functions to replace and enhance -the traditional Unix calendar programme, which warns the user of -imminent or future events, details of which are stored in a text file -(typically calendar in the user's home directory). The version provided -here includes a mechanism for alerting the user when an event is due. - -In addition functions age, before and after are provided that can be -used in a glob qualifier; they allow files to be selected based on their -modification times. - -The format of the calendar file and the dates used there in and in the -age function are described first, then the functions that can be called -to examine and modify the calendar file. - -The functions here depend on the availability of the zsh/datetime module -which is usually installed with the shell. The library function -strptime() must be available; it is present on most recent operating -systems. - -* Menu: - -* Calendar File and Date Formats:: -* Calendar System User Functions:: -* Calendar Styles:: -* Calendar Utility Functions:: -* Calendar Bugs:: - - -File: zsh.info, Node: Calendar File and Date Formats, Next: Calendar System User Functions, Up: Calendar Function System - -23.2 File and Date Formats -========================== - -23.2.1 Calendar File Format ---------------------------- - -The calendar file is by default ~/calendar. This can be configured by -the calendar-file style, see *note Calendar Styles::. The basic format -consists of a series of separate lines, with no indentation, each -including a date and time specification followed by a description of the -event. - -Various enhancements to this format are supported, based on the syntax -of Emacs calendar mode. An indented line indicates a continuation line -that continues the description of the event from the preceding line -(note the date may not be continued in this way). An initial ampersand -(&) is ignored for compatibility. - -An indented line on which the first non-whitespace character is # is not -displayed with the calendar entry, but is still scanned for information. -This can be used to hide information useful to the calendar system but -not to the user, such as the unique identifier used by calendar_add. - -The Emacs extension that a date with no description may refer to a -number of succeeding events at different times is not supported. - -Unless the done-file style has been altered, any events which have been -processed are appended to the file with the same name as the calendar -file with the suffix .done, hence ~/calendar.done by default. - -An example is shown below. - -23.2.2 Date Format ------------------- - -The format of the date and time is designed to allow flexibility without -admitting ambiguity. (The words 'date' and 'time' are both used in the -documentation below; except where specifically noted this implies a -string that may include both a date and a time specification.) Note -that there is no localization support; month and day names must be in -English and separator characters are fixed. Matching is case -insensitive, and only the first three letters of the names are -significant, although as a special case a form beginning "month" does -not match "Monday". Furthermore, time zones are not handled; all times -are assumed to be local. - -It is recommended that, rather than exploring the intricacies of the -system, users find a date format that is natural to them and stick to -it. This will avoid unexpected effects. Various key facts should be -noted. - - • In particular, note the confusion between MONTH/DAY/YEAR and - DAY/MONTH/YEAR when the month is numeric; these formats should be - avoided if at all possible. Many alternatives are available. - • The year must be given in full to avoid confusion, and only years - from 1900 to 2099 inclusive are matched. - -The following give some obvious examples; users finding here a format -they like and not subject to vagaries of style may skip the full -description. As dates and times are matched separately (even though the -time may be embedded in the date), any date format may be mixed with any -format for the time of day provide the separators are clear (whitespace, -colons, commas). - - 2007/04/03 13:13 - 2007/04/03:13:13 - 2007/04/03 1:13 pm - 3rd April 2007, 13:13 - April 3rd 2007 1:13 p.m. - Apr 3, 2007 13:13 - Tue Apr 03 13:13:00 2007 - 13:13 2007/apr/3 - -More detailed rules follow. - -Times are parsed and extracted before dates. They must use colons to -separate hours and minutes, though a dot is allowed before seconds if -they are present. This limits time formats to the following: - - • HH:MM[:SS[.FFFFF]] [am|pm|a.m.|p.m.] - • HH:MM.SS[.FFFFF] [am|pm|a.m.|p.m.] - -Here, square brackets indicate optional elements, possibly with -alternatives. Fractions of a second are recognised but ignored. For -absolute times (the normal format require by the calendar file and the -age, before and after functions) a date is mandatory but a time of day -is not; the time returned is at the start of the date. One variation is -allowed: if a.m. or p.m. or one of their variants is present, an hour -without a minute is allowed, e.g. 3 p.m.. - -Time zones are not handled, though if one is matched following a time -specification it will be removed to allow a surrounding date to be -parsed. This only happens if the format of the timezone is not too -unusual. The following are examples of forms that are understood: - - +0100 - GMT - GMT-7 - CET+1CDT - -Any part of the timezone that is not numeric must have exactly three -capital letters in the name. - -Dates suffer from the ambiguity between DD/MM/YYYY and MM/DD/YYYY. It -is recommended this form is avoided with purely numeric dates, but use -of ordinals, eg. 3rd/04/2007, will resolve the ambiguity as the ordinal -is always parsed as the day of the month. Years must be four digits -(and the first two must be 19 or 20); 03/04/08 is not recognised. Other -numbers may have leading zeroes, but they are not required. The -following are handled: - - • YYYY/MM/DD - • YYYY-MM-DD - • YYYY/MNM/DD - • YYYY-MNM-DD - • DD[th|st|rd] MNM[,] [ YYYY ] - • MNM DD[th|st|rd][,] [ YYYY ] - • DD[th|st|rd]/MM[,] YYYY - • DD[th|st|rd]/MM/YYYY - • MM/DD[th|st|rd][,] YYYY - • MM/DD[th|st|rd]/YYYY - -Here, MNM is at least the first three letters of a month name, matched -case-insensitively. The remainder of the month name may appear but its -contents are irrelevant, so janissary, febrile, martial, apricot, maybe, -junta, etc. are happily handled. - -Where the year is shown as optional, the current year is assumed. There -are only two such cases, the form Jun 20 or 14 September (the only two -commonly occurring forms, apart from a "the" in some forms of English, -which isn't currently supported). Such dates will of course become -ambiguous in the future, so should ideally be avoided. - -Times may follow dates with a colon, e.g. 1965/07/12:09:45; this is in -order to provide a format with no whitespace. A comma and whitespace -are allowed, e.g. 1965/07/12, 09:45. Currently the order of these -separators is not checked, so illogical formats such as 1965/07/12, : -,09:45 will also be matched. For simplicity such variations are not -shown in the list above. Otherwise, a time is only recognised as being -associated with a date if there is only whitespace in between, or if the -time was embedded in the date. - -Days of the week are not normally scanned, but will be ignored if they -occur at the start of the date pattern only. However, in contexts where -it is useful to specify dates relative to today, days of the week with -no other date specification may be given. The day is assumed to be -either today or within the past week. Likewise, the words yesterday, -today and tomorrow are handled. All matches are case-insensitive. -Hence if today is Monday, then Sunday is equivalent to yesterday, Monday -is equivalent to today, but Tuesday gives a date six days ago. This is -not generally useful within the calendar file. Dates in this format may -be combined with a time specification; for example Tomorrow, 8 p.m.. - -For example, the standard date format: - - Fri Aug 18 17:00:48 BST 2006 - -is handled by matching HH:MM:SS and removing it together with the -matched (but unused) time zone. This leaves the following: - - Fri Aug 18 2006 - -Fri is ignored and the rest is matched according to the standard rules. - -23.2.3 Relative Time Format ---------------------------- - -In certain places relative times are handled. Here, a date is not -allowed; instead a combination of various supported periods are allowed, -together with an optional time. The periods must be in order from most -to least significant. - -In some cases, a more accurate calculation is possible when there is an -anchor date: offsets of months or years pick the correct day, rather -than being rounded, and it is possible to pick a particular day in a -month as '(1st Friday)', etc., as described in more detail below. - -Anchors are available in the following cases. If one or two times are -passed to the function calendar, the start time acts an anchor for the -end time when the end time is relative (even if the start time is -implicit). When examining calendar files, the scheduled event being -examined anchors the warning time when it is given explicitly by means -of the WARN keyword; likewise, the scheduled event anchors a repetition -period when given by the RPT keyword, so that specifications such as RPT -2 months, 3rd Thursday are handled properly. Finally, the -R argument -to calendar_scandate directly provides an anchor for relative -calculations. - -The periods handled, with possible abbreviations are: - -Years - years, yrs, ys, year, yr, y, yearly. A year is 365.25 days unless - there is an anchor. - -Months - months, mons, mnths, mths, month, mon, mnth, mth, monthly. Note - that m, ms, mn, mns are ambiguous and are _not_ handled. A month - is a period of 30 days rather than a calendar month unless there is - an anchor. - -Weeks - weeks, wks, ws, week, wk, w, weekly - -Days - days, dys, ds, day, dy, d, daily - -Hours - hours, hrs, hs, hour, hr, h, hourly - -Minutes - minutes, mins, minute, min, but _not_ m, ms, mn or mns - -Seconds - seconds, secs, ss, second, sec, s - -Spaces between the numbers are optional, but are required between items, -although a comma may be used (with or without spaces). - -The forms yearly to hourly allow the number to be omitted; it is assumed -to be 1. For example, 1 d and daily are equivalent. Note that using -those forms with plurals is confusing; 2 yearly is the same as 2 years, -_not_ twice yearly, so it is recommended they only be used without -numbers. - -When an anchor time is present, there is an extension to handle regular -events in the form of the Nth SOMEday of the month. Such a -specification must occur immediately after any year and month -specification, but before any time of day, and must be in the form -N(th|st|rd) DAY, for example 1st Tuesday or 3rd Monday. As in other -places, days are matched case insensitively, must be in English, and -only the first three letters are significant except that a form -beginning 'month' does not match 'Monday'. No attempt is made to -sanitize the resulting date; attempts to squeeze too many occurrences -into a month will push the day into the next month (but in the obvious -fashion, retaining the correct day of the week). - -Here are some examples: - - 30 years 3 months 4 days 3:42:41 - 14 days 5 hours - Monthly, 3rd Thursday - 4d,10hr - -23.2.4 Example --------------- - -Here is an example calendar file. It uses a consistent date format, as -recommended above. - - Feb 1, 2006 14:30 Pointless bureaucratic meeting - Mar 27, 2006 11:00 Mutual recrimination and finger pointing - Bring water pistol and waterproofs - Mar 31, 2006 14:00 Very serious managerial pontification - # UID 12C7878A9A50 - Apr 10, 2006 13:30 Even more pointless blame assignment exercise WARN 30 mins - May 18, 2006 16:00 Regular moaning session RPT monthly, 3rd Thursday - -The second entry has a continuation line. The third entry has a -continuation line that will not be shown when the entry is displayed, -but the unique identifier will be used by the calendar_add function when -updating the event. The fourth entry will produce a warning 30 minutes -before the event (to allow you to equip yourself appropriately). The -fifth entry repeats after a month on the 3rd Thursday, i.e. June 15, -2006, at the same time. - - -File: zsh.info, Node: Calendar System User Functions, Next: Calendar Styles, Prev: Calendar File and Date Formats, Up: Calendar Function System - -23.3 User Functions -=================== - -This section describes functions that are designed to be called directly -by the user. The first part describes those functions associated with -the user's calendar; the second part describes the use in glob -qualifiers. - -23.3.1 Calendar system functions --------------------------------- - -calendar [ -abdDsv ] [ -C CALFILE ] [ -n NUM ] [ -S SHOWPROG ] - [ [ START ] END ] -calendar -r [ -abdDrsv ] [ -C CALFILE ] [ -n NUM ] [ -S SHOWPROG ] - [ START ] - Show events in the calendar. - - With no arguments, show events from the start of today until the - end of the next working day after today. In other words, if today - is Friday, Saturday, or Sunday, show up to the end of the following - Monday, otherwise show today and tomorrow. - - If END is given, show events from the start of today up to the time - and date given, which is in the format described in the previous - section. Note that if this is a date the time is assumed to be - midnight at the start of the date, so that effectively this shows - all events before the given date. - - END may start with a +, in which case the remainder of the - specification is a relative time format as described in the - previous section indicating the range of time from the start time - that is to be included. - - If START is also given, show events starting from that time and - date. The word now can be used to indicate the current time. - - To implement an alert when events are due, include calendar -s in - your ~/.zshrc file. - - Options: - - -a - Show all items in the calendar, regardless of the start and - end. - - -b - Brief: don't display continuation lines (i.e. indented lines - following the line with the date/time), just the first line. - - -B LINES - Brief: display at most the first LINES lines of the calendar - entry. '-B 1' is equivalent to '-b'. - - -C CALFILE - Explicitly specify a calendar file instead of the value of the - calendar-file style or the default ~/calendar. - - -d - Move any events that have passed from the calendar file to the - "done" file, as given by the done-file style or the default - which is the calendar file with .done appended. This option - is implied by the -s option. - - -D - Turns off the option -d, even if the -s option is also - present. - - -n NUM, -NUM - Show at least NUM events, if present in the calendar file, - regardless of the start and end. - - -r - Show all the remaining options in the calendar, ignoring the - given END time. The START time is respected; any argument - given is treated as a START time. - - -s - Use the shell's sched command to schedule a timed event that - will warn the user when an event is due. Note that the sched - command only runs if the shell is at an interactive prompt; a - foreground task blocks the scheduled task from running until - it is finished. - - The timed event usually runs the programme calendar_show to - show the event, as described in *note Calendar Utility - Functions::. - - By default, a warning of the event is shown five minutes - before it is due. The warning period can be configured by the - style warn-time or for a single calendar entry by including - WARN RELTIME in the first line of the entry, where RELTIME is - one of the usual relative time formats. - - A repeated event may be indicated by including RPT RELDATE in - the first line of the entry. After the scheduled event has - been displayed it will be re-entered into the calendar file at - a time RELDATE after the existing event. Note that this is - currently the only use made of the repeat count, so that it is - not possible to query the schedule for a recurrence of an - event in the calendar until the previous event has passed. - - If RPT is used, it is also possible to specify that certain - recurrences of an event are rescheduled or cancelled. This is - done with the OCCURRENCE keyword, followed by whitespace and - the date and time of the occurrence in the regular sequence, - followed by whitespace and either the date and time of the - rescheduled event or the exact string CANCELLED. In this case - the date and time must be in exactly the "date with local - time" format used by the text/calendar MIME type (RFC 2445), - <YYYY><MM><DD>T<HH><MM><SS> (note the presence of the literal - character T). The first word (the regular recurrence) may be - something other than a proper date/time to indicate that the - event is additional to the normal sequence; a convention that - retains the formatting appearance is XXXXXXXXTXXXXXX. - - Furthermore, it is useful to record the next regular - recurrence (as then the displayed date may be for a - rescheduled event so cannot be used for calculating the - regular sequence). This is specified by RECURRENCE and a time - or date in the same format. calendar_add adds such an - indication when it encounters a recurring event that does not - include one, based on the headline date/time. - - If calendar_add is used to update occurrences the UID keyword - described there should be present in both the existing entry - and the added occurrence in order to identify recurring event - sequences. - - For example, - - Thu May 6, 2010 11:00 Informal chat RPT 1 week - # RECURRENCE 20100506T110000 - # OCCURRENCE 20100513T110000 20100513T120000 - # OCCURRENCE 20100520T110000 CANCELLED - - The event that occurs at 11:00 on 13th May 2010 is rescheduled - an hour later. The event that occurs a week later is - cancelled. The occurrences are given on a continuation line - starting with a # character so will not usually be displayed - as part of the event. As elsewhere, no account of time zones - is taken with the times. After the next event occurs the - headline date/time will be 'Thu May 13, 2010 12:00' while the - RECURRENCE date/time will be '20100513T110000' (note that - cancelled and moved events are not taken account of in the - RECURRENCE, which records what the next regular recurrence is, - but they are accounted for in the headline date/time). - - It is safe to run calendar -s to reschedule an existing event - (if the calendar file has changed, for example), and also to - have it running in multiples instances of the shell since the - calendar file is locked when in use. - - By default, expired events are moved to the "done" file; see - the -d option. Use -D to prevent this. - - -S SHOWPROG - Explicitly specify a programme to be used for showing events - instead of the value of the show-prog style or the default - calendar_show. - - -v - Verbose: show more information about stages of processing. - This is useful for confirming that the function has - successfully parsed the dates in the calendar file. - -calendar_add [ -BL ] EVENT ... - Adds a single event to the calendar in the appropriate location. - The event can contain multiple lines, as described in *note - Calendar File and Date Formats::. Using this function ensures that - the calendar file is sorted in date and time order. It also makes - special arrangements for locking the file while it is altered. The - old calendar is left in a file with the suffix .old. - - The option -B indicates that backing up the calendar file will be - handled by the caller and should not be performed by calendar_add. - The option -L indicates that calendar_add does not need to lock the - calendar file as it is already locked. These options will not - usually be needed by users. - - If the style reformat-date is true, the date and time of the new - entry will be rewritten into the standard date format: see the - descriptions of this style and the style date-format. - - The function can use a unique identifier stored with each event to - ensure that updates to existing events are treated correctly. The - entry should contain the word UID, followed by whitespace, followed - by a word consisting entirely of hexadecimal digits of arbitrary - length (all digits are significant, including leading zeroes). As - the UID is not directly useful to the user, it is convenient to - hide it on an indented continuation line starting with a #, for - example: - - Aug 31, 2007 09:30 Celebrate the end of the holidays - # UID 045B78A0 - - The second line will not be shown by the calendar function. - - It is possible to specify the RPT keyword followed by CANCELLED - instead of a relative time. This causes any matched event or - series of events to be cancelled (the original event does not have - to be marked as recurring in order to be cancelled by this method). - A UID is required in order to match an existing event in the - calendar. - - calendar_add will attempt to manage recurrences and occurrences of - repeating events as described for event scheduling by calendar -s - above. To reschedule or cancel a single event calendar_add should - be called with an entry that includes the correct UID but does - _not_ include the RPT keyword as this is taken to mean the entry - applies to a series of repeating events and hence replaces all - existing information. Each rescheduled or cancelled occurrence - must have an OCCURRENCE keyword in the entry passed to calendar_add - which will be merged into the calendar file. Any existing - reference to the occurrence is replaced. An occurrence that does - not refer to a valid existing event is added as a one-off - occurrence to the same calendar entry. - -calendar_edit - This calls the user's editor to edit the calendar file. If there - are arguments, they are taken as the editor to use (the file name - is appended to the commands); otherwise, the editor is given by the - variable VISUAL, if set, else the variable EDITOR. - - If the calendar scheduler was running, then after editing the file - calendar -s is called to update it. - - This function locks out the calendar system during the edit. Hence - it should be used to edit the calendar file if there is any - possibility of a calendar event occurring meanwhile. Note this can - lead to another shell with calendar functions enabled hanging - waiting for a lock, so it is necessary to quit the editor as soon - as possible. - -calendar_parse CALENDAR-ENTRY - This is the internal function that analyses the parts of a calendar - entry, which is passed as the only argument. The function returns - status 1 if the argument could not be parsed as a calendar entry - and status 2 if the wrong number of arguments were passed; it also - sets the parameter reply to an empty associative array. Otherwise, - it returns status 0 and sets elements of the associative array - reply as follows: - - time - The time as a string of digits in the same units as - $EPOCHSECONDS - schedtime - The regularly scheduled time. This may differ from the actual - event time time if this is a recurring event and the next - occurrence has been rescheduled. Then time gives the actual - time and schedtime the time of the regular recurrence before - modification. - text1 - The text from the line not including the date and time of the - event, but including any WARN or RPT keywords and values. - warntime - Any warning time given by the WARN keyword as a string of - digits containing the time at which to warn in the same units - as $EPOCHSECONDS. (Note this is an absolute time, not the - relative time passed down.) Not set no WARN keyword and value - were matched. - warnstr - The raw string matched after the WARN keyword, else unset. - rpttime - Any recurrence time given by the RPT keyword as a string of - digits containing the time of the recurrence in the same units - as $EPOCHSECONDS. (Note this is an absolute time.) Not set - if no RPT keyword and value were matched. - schedrpttime - The next regularly scheduled occurrence of a recurring event - before modification. This may differ from rpttime, which is - the actual time of the event that may have been rescheduled - from the regular time. - rptstr - The raw string matched after the RPT keyword, else unset. - text2 - The text from the line after removal of the date and any - keywords and values. - -calendar_showdate [ -r ] [ -f FMT ] DATE-SPEC ... - The given DATE-SPEC is interpreted and the corresponding date and - time printed. If the initial DATE-SPEC begins with a + or - it is - treated as relative to the current time; DATE-SPECs after the first - are treated as relative to the date calculated so far and a leading - + is optional in that case. This allows one to use the system as a - date calculator. For example, calendar_showdate '+1 month, 1st - Friday' shows the date of the first Friday of next month. - - With the option -r nothing is printed but the value of the date and - time in seconds since the epoch is stored in the parameter REPLY. - - With the option -f FMT the given date/time conversion format is - passed to strftime; see notes on the date-format style below. - - In order to avoid ambiguity with negative relative date - specifications, options must occur in separate words; in other - words, -r and -f should not be combined in the same word. - -calendar_sort - Sorts the calendar file into date and time order. The old calendar - is left in a file with the suffix .old. - -23.3.2 Glob qualifiers ----------------------- - -age - The function age can be autoloaded and use separately from the - calendar system, although it uses the function calendar_scandate - for date formatting. It requires the zsh/stat builtin, but uses - only the builtin zstat. - - age selects files having a given modification time for use as a - glob qualifier. The format of the date is the same as that - understood by the calendar system, described in *note Calendar File - and Date Formats::. - - The function can take one or two arguments, which can be supplied - either directly as command or arguments, or separately as shell - parameters. - - print *(e:age 2006/10/04 2006/10/09:) - - The example above matches all files modified between the start of - those dates. The second argument may alternatively be a relative - time introduced by a +: - - print *(e:age 2006/10/04 +5d:) - - The example above is equivalent to the previous example. - - In addition to the special use of days of the week, today and - yesterday, times with no date may be specified; these apply to - today. Obviously such uses become problematic around midnight. - - print *(e-age 12:00 13:30-) - - The example above shows files modified between 12:00 and 13:00 - today. - - print *(e:age 2006/10/04:) - - The example above matches all files modified on that date. If the - second argument is omitted it is taken to be exactly 24 hours after - the first argument (even if the first argument contains a time). - - print *(e-age 2006/10/04:10:15 2006/10/04:10:45-) - - The example above supplies times. Note that whitespace within the - time and date specification must be quoted to ensure age receives - the correct arguments, hence the use of the additional colon to - separate the date and time. - - AGEREF=2006/10/04:10:15 - AGEREF2=2006/10/04:10:45 - print *(+age) - - This shows the same example before using another form of argument - passing. The dates and times in the parameters AGEREF and AGEREF2 - stay in effect until unset, but will be overridden if any argument - is passed as an explicit argument to age. Any explicit argument - causes both parameters to be ignored. - - Instead of an explicit date and time, it's possible to use the - modification time of a file as the date and time for either - argument by introducing the file name with a colon: - - print *(e-age :file1-) - - matches all files created on the same day (24 hours starting from - midnight) as file1. - - print *(e-age :file1 :file2-) - - matches all files modified no earlier than file1 and no later than - file2; precision here is to the nearest second. - -after -before - The functions after and before are simpler versions of age that - take just one argument. The argument is parsed similarly to an - argument of age; if it is not given the variable AGEREF is - consulted. As the names of the functions suggest, a file matches - if its modification time is after or before the time and date - specified. If a time only is given the date is today. - - The two following examples are therefore equivalent: - print *(e-after 12:00-) - print *(e-after today:12:00-) - - -File: zsh.info, Node: Calendar Styles, Next: Calendar Utility Functions, Prev: Calendar System User Functions, Up: Calendar Function System - -23.4 Styles -=========== - -The zsh style mechanism using the zstyle command is describe in *note -The zsh/zutil Module::. This is the same mechanism used in the -completion system. - -The styles below are all examined in the context :datetime:FUNCTION:, -for example :datetime:calendar:. - -calendar-file - The location of the main calendar. The default is ~/calendar. - -date-format - A strftime format string (see strftime(3)) with the zsh extensions - providing various numbers with no leading zero or space if the - number is a single digit as described for the %D{STRING} prompt - format in *note Prompt Expansion::. - - This is used for outputting dates in calendar, both to support the - -v option and when adding recurring events back to the calendar - file, and in calendar_showdate as the final output format. - - If the style is not set, the default used is similar the standard - system format as output by the date command (also known as 'ctime - format'): '%a %b %d %H:%M:%S %Z %Y'. - -done-file - The location of the file to which events which have passed are - appended. The default is the calendar file location with the - suffix .done. The style may be set to an empty string in which - case a "done" file will not be maintained. - -reformat-date - Boolean, used by calendar_add. If it is true, the date and time of - new entries added to the calendar will be reformatted to the format - given by the style date-format or its default. Only the date and - time of the event itself is reformatted; any subsidiary dates and - times such as those associated with repeat and warning times are - left alone. - -show-prog - The programme run by calendar for showing events. It will be - passed the start time and stop time of the events requested in - seconds since the epoch followed by the event text. Note that - calendar -s uses a start time and stop time equal to one another to - indicate alerts for specific events. - - The default is the function calendar_show. - -warn-time - The time before an event at which a warning will be displayed, if - the first line of the event does not include the text EVENT - RELTIME. The default is 5 minutes. - - -File: zsh.info, Node: Calendar Utility Functions, Next: Calendar Bugs, Prev: Calendar Styles, Up: Calendar Function System - -23.5 Utility functions -====================== - -calendar_lockfiles - Attempt to lock the files given in the argument. To prevent - problems with network file locking this is done in an ad hoc - fashion by attempting to create a symbolic link to the file with - the name FILE.lockfile. No other system level functions are used - for locking, i.e. the file can be accessed and modified by any - utility that does not use this mechanism. In particular, the user - is not prevented from editing the calendar file at the same time - unless calendar_edit is used. - - Three attempts are made to lock the file before giving up. If the - module zsh/zselect is available, the times of the attempts are - jittered so that multiple instances of the calling function are - unlikely to retry at the same time. - - The files locked are appended to the array lockfiles, which should - be local to the caller. - - If all files were successfully locked, status zero is returned, - else status one. - - This function may be used as a general file locking function, - although this will only work if only this mechanism is used to lock - files. - -calendar_read - This is a backend used by various other functions to parse the - calendar file, which is passed as the only argument. The array - calendar_entries is set to the list of events in the file; no - pruning is done except that ampersands are removed from the start - of the line. Each entry may contain multiple lines. - -calendar_scandate - This is a generic function to parse dates and times that may be - used separately from the calendar system. The argument is a date - or time specification as described in *note Calendar File and Date - Formats::. The parameter REPLY is set to the number of seconds - since the epoch corresponding to that date or time. By default, - the date and time may occur anywhere within the given argument. - - Returns status zero if the date and time were successfully parsed, - else one. - - Options: - -a - The date and time are anchored to the start of the argument; - they will not be matched if there is preceding text. - - -A - The date and time are anchored to both the start and end of - the argument; they will not be matched if the is any other - text in the argument. - - -d - Enable additional debugging output. - - -m - Minus. When -R ANCHOR_TIME is also given the relative time is - calculated backwards from ANCHOR_TIME. - - -r - The argument passed is to be parsed as a relative time. - - -R ANCHOR_TIME - The argument passed is to be parsed as a relative time. The - time is relative to ANCHOR_TIME, a time in seconds since the - epoch, and the returned value is the absolute time - corresponding to advancing ANCHOR_TIME by the relative time - given. This allows lengths of months to be correctly taken - into account. If the final day does not exist in the given - month, the last day of the final month is given. For example, - if the anchor time is during 31st January 2007 and the - relative time is 1 month, the final time is the same time of - day during 28th February 2007. - - -s - In addition to setting REPLY, set REPLY2 to the remainder of - the argument after the date and time have been stripped. This - is empty if the option -A was given. - - -t - Allow a time with no date specification. The date is assumed - to be today. The behaviour is unspecified if the iron tongue - of midnight is tolling twelve. - -calendar_show - The function used by default to display events. It accepts a start - time and end time for events, both in epoch seconds, and an event - description. - - The event is always printed to standard output. If the command - line editor is active (which will usually be the case) the command - line will be redisplayed after the output. - - If the parameter DISPLAY is set and the start and end times are the - same (indicating a scheduled event), the function uses the command - xmessage to display a window with the event details. - - -File: zsh.info, Node: Calendar Bugs, Prev: Calendar Utility Functions, Up: Calendar Function System - -23.6 Bugs -========= - -As the system is based entirely on shell functions (with a little -support from the zsh/datetime module) the mechanisms used are not as -robust as those provided by a dedicated calendar utility. Consequently -the user should not rely on the shell for vital alerts. - -There is no calendar_delete function. - -There is no localization support for dates and times, nor any support -for the use of time zones. - -Relative periods of months and years do not take into account the -variable number of days. - -The calendar_show function is currently hardwired to use xmessage for -displaying alerts on X Window System displays. This should be -configurable and ideally integrate better with the desktop. - -calendar_lockfiles hangs the shell while waiting for a lock on a file. -If called from a scheduled task, it should instead reschedule the event -that caused it. - - -File: zsh.info, Node: TCP Function System, Next: Zftp Function System, Prev: Calendar Function System, Up: Top - -24 TCP Function System -********************** - -24.1 Description -================ - -A module zsh/net/tcp is provided to provide network I/O over TCP/IP from -within the shell; see its description in *note Zsh Modules::. This -manual page describes a function suite based on the module. If the -module is installed, the functions are usually installed at the same -time, in which case they will be available for autoloading in the -default function search path. In addition to the zsh/net/tcp module, -the zsh/zselect module is used to implement timeouts on read operations. -For troubleshooting tips, consult the corresponding advice for the zftp -functions described in *note Zftp Function System::. - -There are functions corresponding to the basic I/O operations open, -close, read and send, named tcp_open etc., as well as a function -tcp_expect for pattern match analysis of data read as input. The system -makes it easy to receive data from and send data to multiple named -sessions at once. In addition, it can be linked with the shell's line -editor in such a way that input data is automatically shown at the -terminal. Other facilities available including logging, filtering and -configurable output prompts. - -To use the system where it is available, it should be enough to -'autoload -U tcp_open' and run tcp_open as documented below to start a -session. The tcp_open function will autoload the remaining functions. - -* Menu: - -* TCP Functions:: -* TCP Parameters:: -* TCP Examples:: -* TCP Bugs:: - - -File: zsh.info, Node: TCP Functions, Next: TCP Parameters, Up: TCP Function System - -24.2 TCP User Functions -======================= - -24.2.1 Basic I/O ----------------- - -tcp_open [ -qz ] HOST PORT [ SESS ] -tcp_open [ -qz ] [ -s SESS | -l SESS[,...] ] ... -tcp_open [ -qz ] [ -a FD | -f FD ] [ SESS ] - Open a new session. In the first and simplest form, open a TCP - connection to host HOST at port PORT; numeric and symbolic forms - are understood for both. - - If SESS is given, this becomes the name of the session which can be - used to refer to multiple different TCP connections. If SESS is - not given, the function will invent a numeric name value (note this - is _not_ the same as the file descriptor to which the session is - attached). It is recommended that session names not include - 'funny' characters, where funny characters are not well-defined but - certainly do not include alphanumerics or underscores, and - certainly do include whitespace. - - In the second case, one or more sessions to be opened are given by - name. A single session name is given after -s and a - comma-separated list after -l; both options may be repeated as many - times as necessary. A failure to open any session causes tcp_open - to abort. The host and port are read from the file .ztcp_sessions - in the same directory as the user's zsh initialisation files, i.e. - usually the home directory, but $ZDOTDIR if that is set. The file - consists of lines each giving a session name and the corresponding - host and port, in that order (note the session name comes first, - not last), separated by whitespace. - - The third form allows passive and fake TCP connections. If the - option -a is used, its argument is a file descriptor open for - listening for connections. No function front-end is provided to - open such a file descriptor, but a call to 'ztcp -l PORT' will - create one with the file descriptor stored in the parameter $REPLY. - The listening port can be closed with 'ztcp -c FD'. A call to - 'tcp_open -a FD' will block until a remote TCP connection is made - to PORT on the local machine. At this point, a session is created - in the usual way and is largely indistinguishable from an active - connection created with one of the first two forms. - - If the option -f is used, its argument is a file descriptor which - is used directly as if it were a TCP session. How well the - remainder of the TCP function system copes with this depends on - what actually underlies this file descriptor. A regular file is - likely to be unusable; a FIFO (pipe) of some sort will work better, - but note that it is not a good idea for two different sessions to - attempt to read from the same FIFO at once. - - If the option -q is given with any of the three forms, tcp_open - will not print informational messages, although it will in any case - exit with an appropriate status. - - If the line editor (zle) is in use, which is typically the case if - the shell is interactive, tcp_open installs a handler inside zle - which will check for new data at the same time as it checks for - keyboard input. This is convenient as the shell consumes no CPU - time while waiting; the test is performed by the operating system. - Giving the option -z to any of the forms of tcp_open prevents the - handler from being installed, so data must be read explicitly. - Note, however, this is not necessary for executing complete sets of - send and read commands from a function, as zle is not active at - this point. Generally speaking, the handler is only active when - the shell is waiting for input at a command prompt or in the vared - builtin. The option has no effect if zle is not active; '[[ -o - zle]]' will test for this. - - The first session to be opened becomes the current session and - subsequent calls to tcp_open do not change it. The current session - is stored in the parameter $TCP_SESS; see below for more detail - about the parameters used by the system. - - The function tcp_on_open, if defined, is called when a session is - opened. See the description below. - -tcp_close [ -qn ] [ -a | -l SESS[,...] | SESS ... ] - Close the named sessions, or the current session if none is given, - or all open sessions if -a is given. The options -l and -s are - both handled for consistency with tcp_open, although the latter is - redundant. - - If the session being closed is the current one, $TCP_SESS is unset, - leaving no current session, even if there are other sessions still - open. - - If the session was opened with tcp_open -f, the file descriptor is - closed so long as it is in the range 0 to 9 accessible directly - from the command line. If the option -n is given, no attempt will - be made to close file descriptors in this case. The -n option is - not used for genuine ztcp session; the file descriptors are always - closed with the session. - - If the option -q is given, no informational messages will be - printed. - -tcp_read [ -bdq ] [ -t TO ] [ -T TO ] - [ -a | -u FD[,...] | -l SESS[,...] | -s SESS ... ] - Perform a read operation on the current session, or on a list of - sessions if any are given with -u, -l or -s, or all open sessions - if the option -a is given. Any of the -u, -l or -s options may be - repeated or mixed together. The -u option specifies a file - descriptor directly (only those managed by this system are useful), - the other two specify sessions as described for tcp_open above. - - The function checks for new data available on all the sessions - listed. Unless the -b option is given, it will not block waiting - for new data. Any one line of data from any of the available - sessions will be read, stored in the parameter $TCP_LINE, and - displayed to standard output unless $TCP_SILENT contains a - non-empty string. When printed to standard output the string - $TCP_PROMPT will be shown at the start of the line; the default - form for this includes the name of the session being read. See - below for more information on these parameters. In this mode, - tcp_read can be called repeatedly until it returns status 2 which - indicates all pending input from all specified sessions has been - handled. - - With the option -b, equivalent to an infinite timeout, the function - will block until a line is available to read from one of the - specified sessions. However, only a single line is returned. - - The option -d indicates that all pending input should be drained. - In this case tcp_read may process multiple lines in the manner - given above; only the last is stored in $TCP_LINE, but the complete - set is stored in the array $tcp_lines. This is cleared at the - start of each call to tcp_read. - - The options -t and -T specify a timeout in seconds, which may be a - floating point number for increased accuracy. With -t the timeout - is applied before each line read. With -T, the timeout applies to - the overall operation, possibly including multiple read operations - if the option -d is present; without this option, there is no - distinction between -t and -T. - - The function does not print informational messages, but if the - option -q is given, no error message is printed for a non-existent - session. - - A return status of 2 indicates a timeout or no data to read. Any - other non-zero return status indicates some error condition. - - See tcp_log for how to control where data is sent by tcp_read. - -tcp_send [ -cnq ] [ -s SESS | -l SESS[,...] ] DATA ... -tcp_send [ -cnq ] -a DATA ... - Send the supplied data strings to all the specified sessions in - turn. The underlying operation differs little from a 'print -r' to - the session's file descriptor, although it attempts to prevent the - shell from dying owing to a SIGPIPE caused by an attempt to write - to a defunct session. - - The option -c causes tcp_send to behave like cat. It reads lines - from standard input until end of input and sends them in turn to - the specified session(s) exactly as if they were given as DATA - arguments to individual tcp_send commands. - - The option -n prevents tcp_send from putting a newline at the end - of the data strings. - - The remaining options all behave as for tcp_read. - - The data arguments are not further processed once they have been - passed to tcp_send; they are simply passed down to print -r. - - If the parameter $TCP_OUTPUT is a non-empty string and logging is - enabled then the data sent to each session will be echoed to the - log file(s) with $TCP_OUTPUT in front where appropriate, much in - the manner of $TCP_PROMPT. - -24.2.2 Session Management -------------------------- - -tcp_alias [ -q ] ALIAS=SESS ... -tcp_alias [ -q ] [ ALIAS ... ] -tcp_alias -d [ -q ] ALIAS ... - This function is not particularly well tested. - - The first form creates an alias for a session name; ALIAS can then - be used to refer to the existing session SESS. As many aliases may - be listed as required. - - The second form lists any aliases specified, or all aliases if - none. - - The third form deletes all the aliases listed. The underlying - sessions are not affected. - - The option -q suppresses an inconsistently chosen subset of error - messages. - -tcp_log [ -asc ] [ -n | -N ] [ LOGFILE ] - With an argument LOGFILE, all future input from tcp_read will be - logged to the named file. Unless -a (append) is given, this file - will first be truncated or created empty. With no arguments, show - the current status of logging. - - With the option -s, per-session logging is enabled. Input from - tcp_read is output to the file LOGFILE.SESS. As the session is - automatically discriminated by the filename, the contents are raw - (no $TCP_PROMPT). The option -a applies as above. Per-session - logging and logging of all data in one file are not mutually - exclusive. - - The option -c closes all logging, both complete and per-session - logs. - - The options -n and -N respectively turn off or restore output of - data read by tcp_read to standard output; hence 'tcp_log -cn' turns - off all output by tcp_read. - - The function is purely a convenient front end to setting the - parameters $TCP_LOG, $TCP_LOG_SESS, $TCP_SILENT, which are - described below. - -tcp_rename OLD NEW - Rename session OLD to session NEW. The old name becomes invalid. - -tcp_sess [ SESS [ COMMAND [ ARG ... ] ] ] - With no arguments, list all the open sessions and associated file - descriptors. The current session is marked with a star. For use - in functions, direct access to the parameters $tcp_by_name, - $tcp_by_fd and $TCP_SESS is probably more convenient; see below. - - With a SESS argument, set the current session to SESS. This is - equivalent to changing $TCP_SESS directly. - - With additional arguments, temporarily set the current session - while executing 'COMMAND ARG ...'. COMMAND is re-evaluated so as - to expand aliases etc., but the remaining ARGs are passed through - as that appear to tcp_sess. The original session is restored when - tcp_sess exits. - -24.2.3 Advanced I/O -------------------- - -tcp_command SEND-OPTION ... SEND-ARGUMENT ... - This is a convenient front-end to tcp_send. All arguments are - passed to tcp_send, then the function pauses waiting for data. - While data is arriving at least every $TCP_TIMEOUT (default 0.3) - seconds, data is handled and printed out according to the current - settings. Status 0 is always returned. - - This is generally only useful for interactive use, to prevent the - display becoming fragmented by output returned from the connection. - Within a programme or function it is generally better to handle - reading data by a more explicit method. - -tcp_expect [ -q ] [ -p VAR | -P VAR ] [ -t TO | -T TO ] - [ -a | -s SESS | -l SESS[,...] ] PATTERN ... - Wait for input matching any of the given PATTERNs from any of the - specified sessions. Input is ignored until an input line matches - one of the given patterns; at this point status zero is returned, - the matching line is stored in $TCP_LINE, and the full set of lines - read during the call to tcp_expect is stored in the array - $tcp_expect_lines. - - Sessions are specified in the same way as tcp_read: the default is - to use the current session, otherwise the sessions specified by -a, - -s, or -l are used. - - Each PATTERN is a standard zsh extended-globbing pattern; note that - it needs to be quoted to avoid it being expanded immediately by - filename generation. It must match the full line, so to match a - substring there must be a '*' at the start and end. The line - matched against includes the $TCP_PROMPT added by tcp_read. It is - possible to include the globbing flags '#b' or '#m' in the patterns - to make backreferences available in the parameters $MATCH, $match, - etc., as described in the base zsh documentation on pattern - matching. - - Unlike tcp_read, the default behaviour of tcp_expect is to block - indefinitely until the required input is found. This can be - modified by specifying a timeout with -t or -T; these function as - in tcp_read, specifying a per-read or overall timeout, - respectively, in seconds, as an integer or floating-point number. - As tcp_read, the function returns status 2 if a timeout occurs. - - The function returns as soon as any one of the patterns given - match. If the caller needs to know which of the patterns matched, - the option -p VAR can be used; on return, $var is set to the number - of the pattern using ordinary zsh indexing, i.e. the first is 1, - and so on. Note the absence of a '$' in front of VAR. To avoid - clashes, the parameter cannot begin with '_expect'. The index -1 - is used if there is a timeout and 0 if there is no match. - - The option -P VAR works similarly to -p, but instead of numerical - indexes the regular arguments must begin with a prefix followed by - a colon: that prefix is then used as a tag to which VAR is set when - the argument matches. The tag timeout is used if there is a - timeout and the empty string if there is no match. Note it is - acceptable for different arguments to start with the same prefix if - the matches do not need to be distinguished. - - The option -q is passed directly down to tcp_read. - - As all input is done via tcp_read, all the usual rules about output - of lines read apply. One exception is that the parameter - $tcp_lines will only reflect the line actually matched by - tcp_expect; use $tcp_expect_lines for the full set of lines read - during the function call. - -tcp_proxy - This is a simple-minded function to accept a TCP connection and - execute a command with I/O redirected to the connection. Extreme - caution should be taken as there is no security whatsoever and this - can leave your computer open to the world. Ideally, it should only - be used behind a firewall. - - The first argument is a TCP port on which the function will listen. - - The remaining arguments give a command and its arguments to execute - with standard input, standard output and standard error redirected - to the file descriptor on which the TCP session has been accepted. - If no command is given, a new zsh is started. This gives everyone - on your network direct access to your account, which in many cases - will be a bad thing. - - The command is run in the background, so tcp_proxy can then accept - new connections. It continues to accept new connections until - interrupted. - -tcp_spam [ -ertv ] [ -a | -s SESS | -l SESS[,...] ] CMD [ ARG ... ] - Execute 'CMD [ ARG ... ]' for each session in turn. Note this - executes the command and arguments; it does not send the command - line as data unless the -t (transmit) option is given. - - The sessions may be selected explicitly with the standard -a, -s or - -l options, or may be chosen implicitly. If none of the three - options is given the rules are: first, if the array $tcp_spam_list - is set, this is taken as the list of sessions, otherwise all - sessions are taken. Second, any sessions given in the array - $tcp_no_spam_list are removed from the list of sessions. - - Normally, any sessions added by the '-a' flag or when all sessions - are chosen implicitly are spammed in alphabetic order; sessions - given by the $tcp_spam_list array or on the command line are - spammed in the order given. The -r flag reverses the order however - it was arrived it. - - The -v flag specifies that a $TCP_PROMPT will be output before each - session. This is output after any modification to TCP_SESS by the - user-defined tcp_on_spam function described below. (Obviously that - function is able to generate its own output.) - - If the option -e is present, the line given as 'CMD [ ARG ... ]' - is executed using eval, otherwise it is executed without any - further processing. - -tcp_talk - This is a fairly simple-minded attempt to force input to the line - editor to go straight to the default TCP_SESS. - - An escape string, $TCP_TALK_ESCAPE, default ':', is used to allow - access to normal shell operation. If it is on its own at the start - of the line, or followed only by whitespace, the line editor - returns to normal operation. Otherwise, the string and any - following whitespace are skipped and the remainder of the line - executed as shell input without any change of the line editor's - operating mode. - - The current implementation is somewhat deficient in terms of use of - the command history. For this reason, many users will prefer to - use some form of alternative approach for sending data easily to - the current session. One simple approach is to alias some special - character (such as '%') to 'tcp_command --'. - -tcp_wait - The sole argument is an integer or floating point number which - gives the seconds to delay. The shell will do nothing for that - period except wait for input on all TCP sessions by calling - tcp_read -a. This is similar to the interactive behaviour at the - command prompt when zle handlers are installed. - -24.2.4 'One-shot' file transfer -------------------------------- - -tcp_point PORT -tcp_shoot HOST PORT - This pair of functions provide a simple way to transfer a file - between two hosts within the shell. Note, however, that bulk data - transfer is currently done using cat. tcp_point reads any data - arriving at PORT and sends it to standard output; tcp_shoot - connects to PORT on HOST and sends its standard input. Any unused - PORT may be used; the standard mechanism for picking a port is to - think of a random four-digit number above 1024 until one works. - - To transfer a file from host woodcock to host springes, on - springes: - - tcp_point 8091 >output_file - - and on woodcock: - - tcp_shoot springes 8091 <input_file - - As these two functions do not require tcp_open to set up a TCP - connection first, they may need to be autoloaded separately. - -24.3 TCP User-defined Functions -=============================== - -Certain functions, if defined by the user, will be called by the -function system in certain contexts. This facility depends on the -module zsh/parameter, which is usually available in interactive shells -as the completion system depends on it. None of the functions need be -defined; they simply provide convenient hooks when necessary. - -Typically, these are called after the requested action has been taken, -so that the various parameters will reflect the new state. - -tcp_on_alias ALIAS FD - When an alias is defined, this function will be called with two - arguments: the name of the alias, and the file descriptor of the - corresponding session. - -tcp_on_awol SESS FD - If the function tcp_fd_handler is handling input from the line - editor and detects that the file descriptor is no longer reusable, - by default it removes it from the list of file descriptors handled - by this method and prints a message. If the function tcp_on_awol - is defined it is called immediately before this point. It may - return status 100, which indicates that the normal handling should - still be performed; any other return status indicates that no - further action should be taken and the tcp_fd_handler should return - immediately with the given status. Typically the action of - tcp_on_awol will be to close the session. - - The variable TCP_INVALIDATE_ZLE will be a non-empty string if it is - necessary to invalidate the line editor display using 'zle -I' - before printing output from the function. - - ('AWOL' is military jargon for 'absent without leave' or some - variation. It has no pre-existing technical meaning known to the - author.) - -tcp_on_close SESS FD - This is called with the name of a session being closed and the file - descriptor which corresponded to that session. Both will be - invalid by the time the function is called. - -tcp_on_open SESS FD - This is called after a new session has been defined with the - session name and file descriptor as arguments. If it returns a - non-zero status, opening the session is assumed to fail and the - session is closed again; however, tcp_open will continue to attempt - to open any remaining sessions given on the command line. - -tcp_on_rename OLDSESS FD NEWSESS - This is called after a session has been renamed with the three - arguments old session name, file descriptor, new session name. - -tcp_on_spam SESS COMMAND ... - This is called once for each session spammed, just _before_ a - command is executed for a session by tcp_spam. The arguments are - the session name followed by the command list to be executed. If - tcp_spam was called with the option -t, the first command will be - tcp_send. - - This function is called after $TCP_SESS is set to reflect the - session to be spammed, but before any use of it is made. Hence it - is possible to alter the value of $TCP_SESS within this function. - For example, the session arguments to tcp_spam could include extra - information to be stripped off and processed in tcp_on_spam. - - If the function sets the parameter $REPLY to 'done', the command - line is not executed; in addition, no prompt is printed for the -v - option to tcp_spam. - -tcp_on_unalias ALIAS FD - This is called with the name of an alias and the corresponding - session's file descriptor after an alias has been deleted. - -24.4 TCP Utility Functions -========================== - -The following functions are used by the TCP function system but will -rarely if ever need to be called directly. - -tcp_fd_handler - This is the function installed by tcp_open for handling input from - within the line editor, if that is required. It is in the format - documented for the builtin 'zle -F' in *note Zle Builtins:: . - - While active, the function sets the parameter TCP_HANDLER_ACTIVE to - 1. This allows shell code called internally (for example, by - setting tcp_on_read) to tell if is being called when the shell is - otherwise idle at the editor prompt. - -tcp_output [ -q ] -P PROMPT -F FD -S SESS - This function is used for both logging and handling output to - standard output, from within tcp_read and (if $TCP_OUTPUT is set) - tcp_send. - - The PROMPT to use is specified by -P; the default is the empty - string. It can contain: - %c - Expands to 1 if the session is the current session, otherwise - 0. Used with ternary expressions such as '%(c.-.+)' to output - '+' for the current session and '-' otherwise. - - %f - Replaced by the session's file descriptor. - - %s - Replaced by the session name. - - %% - Replaced by a single '%'. - - The option -q suppresses output to standard output, but not to any - log files which are configured. - - The -S and -F options are used to pass in the session name and file - descriptor for possible replacement in the prompt. - - -File: zsh.info, Node: TCP Parameters, Next: TCP Examples, Prev: TCP Functions, Up: TCP Function System - -24.5 TCP User Parameters -======================== - -Parameters follow the usual convention that uppercase is used for -scalars and integers, while lowercase is used for normal and associative -array. It is always safe for user code to read these parameters. Some -parameters may also be set; these are noted explicitly. Others are -included in this group as they are set by the function system for the -user's benefit, i.e. setting them is typically not useful but is -benign. - -It is often also useful to make settable parameters local to a function. -For example, 'local TCP_SILENT=1' specifies that data read during the -function call will not be printed to standard output, regardless of the -setting outside the function. Likewise, 'local TCP_SESS=SESS' sets a -session for the duration of a function, and 'local TCP_PROMPT=' -specifies that no prompt is used for input during the function. - -tcp_expect_lines - Array. The set of lines read during the last call to tcp_expect, - including the last ($TCP_LINE). - -tcp_filter - Array. May be set directly. A set of extended globbing patterns - which, if matched in tcp_output, will cause the line not to be - printed to standard output. The patterns should be defined as - described for the arguments to tcp_expect. Output of line to log - files is not affected. - -TCP_HANDLER_ACTIVE - Scalar. Set to 1 within tcp_fd_handler to indicate to functions - called recursively that they have been called during an editor - session. Otherwise unset. - -TCP_LINE - The last line read by tcp_read, and hence also tcp_expect. - -TCP_LINE_FD - The file descriptor from which $TCP_LINE was read. - ${tcp_by_fd[$TCP_LINE_FD]} will give the corresponding session - name. - -tcp_lines - Array. The set of lines read during the last call to tcp_read, - including the last ($TCP_LINE). - -TCP_LOG - May be set directly, although it is also controlled by tcp_log. - The name of a file to which output from all sessions will be sent. - The output is proceeded by the usual $TCP_PROMPT. If it is not an - absolute path name, it will follow the user's current directory. - -TCP_LOG_SESS - May be set directly, although it is also controlled by tcp_log. - The prefix for a set of files to which output from each session - separately will be sent; the full filename is ${TCP_LOG_SESS}.SESS. - Output to each file is raw; no prompt is added. If it is not an - absolute path name, it will follow the user's current directory. - -tcp_no_spam_list - Array. May be set directly. See tcp_spam for how this is used. - -TCP_OUTPUT - May be set directly. If a non-empty string, any data sent to a - session by tcp_send will be logged. This parameter gives the - prompt to be used in a file specified by $TCP_LOG but not in a file - generated from $TCP_LOG_SESS. The prompt string has the same - format as TCP_PROMPT and the same rules for its use apply. - -TCP_PROMPT - May be set directly. Used as the prefix for data read by tcp_read - which is printed to standard output or to the log file given by - $TCP_LOG, if any. Any '%s', '%f' or '%%' occurring in the string - will be replaced by the name of the session, the session's - underlying file descriptor, or a single '%', respectively. The - expression '%c' expands to 1 if the session being read is the - current session, else 0; this is most useful in ternary expressions - such as '%(c.-.+)' which outputs '+' if the session is the current - one, else '-'. - - If the prompt starts with %P, this is stripped and the complete - result of the previous stage is passed through standard prompt - %-style formatting before being output. - -TCP_READ_DEBUG - May be set directly. If this has non-zero length, tcp_read will - give some limited diagnostics about data being read. - -TCP_SECONDS_START - This value is created and initialised to zero by tcp_open. - - The functions tcp_read and tcp_expect use the shell's SECONDS - parameter for their own timing purposes. If that parameter is not - of floating point type on entry to one of the functions, it will - create a local parameter SECONDS which is floating point and set - the parameter TCP_SECONDS_START to the previous value of $SECONDS. - If the parameter is already floating point, it is used without a - local copy being created and TCP_SECONDS_START is not set. As the - global value is zero, the shell elapsed time is guaranteed to be - the sum of $SECONDS and $TCP_SECONDS_START. - - This can be avoided by setting SECONDS globally to a floating point - value using 'typeset -F SECONDS'; then the TCP functions will never - make a local copy and never set TCP_SECONDS_START to a non-zero - value. - -TCP_SESS - May be set directly. The current session; must refer to one of the - sessions established by tcp_open. - -TCP_SILENT - May be set directly, although it is also controlled by tcp_log. If - of non-zero length, data read by tcp_read will not be written to - standard output, though may still be written to a log file. - -tcp_spam_list - Array. May be set directly. See the description of the function - tcp_spam for how this is used. - -TCP_TALK_ESCAPE - May be set directly. See the description of the function tcp_talk - for how this is used. - -TCP_TIMEOUT - May be set directly. Currently this is only used by the function - tcp_command, see above. - -24.6 TCP User-defined Parameters -================================ - -The following parameters are not set by the function system, but have a -special effect if set by the user. - -tcp_on_read - This should be an associative array; if it is not, the behaviour is - undefined. Each key is the name of a shell function or other - command, and the corresponding value is a shell pattern (using - EXTENDED_GLOB). Every line read from a TCP session directly or - indirectly using tcp_read (which includes lines read by tcp_expect) - is compared against the pattern. If the line matches, the command - given in the key is called with two arguments: the name of the - session from which the line was read, and the line itself. - - If any function called to handle a line returns a non-zero status, - the line is not output. Thus a tcp_on_read handler containing only - the instruction 'return 1' can be used to suppress output of - particular lines (see, however, tcp_filter above). However, the - line is still stored in TCP_LINE and tcp_lines; this occurs after - all tcp_on_read processing. - -24.7 TCP Utility Parameters -=========================== - -These parameters are controlled by the function system; they may be read -directly, but should not usually be set by user code. - -tcp_aliases - Associative array. The keys are the names of sessions established - with tcp_open; each value is a space-separated list of aliases - which refer to that session. - -tcp_by_fd - Associative array. The keys are session file descriptors; each - value is the name of that session. - -tcp_by_name - Associative array. The keys are the names of sessions; each value - is the file descriptor associated with that session. - - -File: zsh.info, Node: TCP Examples, Next: TCP Bugs, Prev: TCP Parameters, Up: TCP Function System - -24.8 TCP Examples -================= - -Here is a trivial example using a remote calculator. - -To create a calculator server on port 7337 (see the dc manual page for -quite how infuriating the underlying command is): - - tcp_proxy 7337 dc - -To connect to this from the same host with a session also named 'dc': - - tcp_open localhost 7337 dc - -To send a command to the remote session and wait a short while for -output (assuming dc is the current session): - - tcp_command 2 4 + p - -To close the session: - - tcp_close - -The tcp_proxy needs to be killed to be stopped. Note this will not -usually kill any connections which have already been accepted, and also -that the port is not immediately available for reuse. - -The following chunk of code puts a list of sessions into an xterm -header, with the current session followed by a star. - - print -n "\033]2;TCP:" ${(k)tcp_by_name:/$TCP_SESS/$TCP_SESS\*} "\a" - - -File: zsh.info, Node: TCP Bugs, Prev: TCP Examples, Up: TCP Function System - -24.9 TCP Bugs -============= - -The function tcp_read uses the shell's normal read builtin. As this -reads a complete line at once, data arriving without a terminating -newline can cause the function to block indefinitely. - -Though the function suite works well for interactive use and for data -arriving in small amounts, the performance when large amounts of data -are being exchanged is likely to be extremely poor. - - -File: zsh.info, Node: Zftp Function System, Next: User Contributions, Prev: TCP Function System, Up: Top - -25 Zftp Function System -*********************** - -25.1 Description -================ - -This describes the set of shell functions supplied with the source -distribution as an interface to the zftp builtin command, allowing you -to perform FTP operations from the shell command line or within -functions or scripts. The interface is similar to a traditional FTP -client (e.g. the ftp command itself, see ftp(1)), but as it is entirely -done within the shell all the familiar completion, editing and globbing -features, and so on, are present, and macros are particularly simple to -write as they are just ordinary shell functions. - -The prerequisite is that the zftp command, as described in *note The -zsh/zftp Module:: , must be available in the version of zsh installed at -your site. If the shell is configured to load new commands at run time, -it probably is: typing 'zmodload zsh/zftp' will make sure (if that runs -silently, it has worked). If this is not the case, it is possible zftp -was linked into the shell anyway: to test this, type 'which zftp' and if -zftp is available you will get the message 'zftp: shell built-in -command'. - -Commands given directly with zftp builtin may be interspersed between -the functions in this suite; in a few cases, using zftp directly may -cause some of the status information stored in shell parameters to -become invalid. Note in particular the description of the variables -$ZFTP_TMOUT, $ZFTP_PREFS and $ZFTP_VERBOSE for zftp. - -* Menu: - -* Installation:: -* Zftp Functions:: -* Miscellaneous Features:: - - -File: zsh.info, Node: Installation, Next: Zftp Functions, Up: Zftp Function System - -25.2 Installation -================= - -You should make sure all the functions from the Functions/Zftp directory -of the source distribution are available; they all begin with the two -letters 'zf'. They may already have been installed on your system; -otherwise, you will need to find them and copy them. The directory -should appear as one of the elements of the $fpath array (this should -already be the case if they were installed), and at least the function -zfinit should be autoloaded; it will autoload the rest. Finally, to -initialize the use of the system you need to call the zfinit function. -The following code in your .zshrc will arrange for this; assume the -functions are stored in the directory ~/myfns: - - fpath=(~/myfns $fpath) - autoload -U zfinit - zfinit - -Note that zfinit assumes you are using the zmodload method to load the -zftp command. If it is already built into the shell, change zfinit to -zfinit -n. It is helpful (though not essential) if the call to zfinit -appears after any code to initialize the new completion system, else -unnecessary compctl commands will be given. - - -File: zsh.info, Node: Zftp Functions, Next: Miscellaneous Features, Prev: Installation, Up: Zftp Function System - -25.3 Functions -============== - -The sequence of operations in performing a file transfer is essentially -the same as that in a standard FTP client. Note that, due to a quirk of -the shell's getopts builtin, for those functions that handle options you -must use '--' rather than '-' to ensure the remaining arguments are -treated literally (a single '-' is treated as an argument). - -25.3.1 Opening a connection ---------------------------- - -zfparams [ HOST [ USER [ PASSWORD ... ] ] ] - Set or show the parameters for a future zfopen with no arguments. - If no arguments are given, the current parameters are displayed - (the password will be shown as a line of asterisks). If a HOST is - given, and either the USER or PASSWORD is not, they will be - prompted for; also, any parameter given as '?' will be prompted - for, and if the '?' is followed by a string, that will be used as - the prompt. As zfopen calls zfparams to store the parameters, this - usually need not be called directly. - - A single argument '-' will delete the stored parameters. This will - also cause the memory of the last directory (and so on) on the - other host to be deleted. - -zfopen [ -1 ] [ HOST [ USER [ PASSWORD [ ACCOUNT ] ] ] ] - If HOST is present, open a connection to that host under username - USER with password PASSWORD (and, on the rare occasions when it is - necessary, account ACCOUNT). If a necessary parameter is missing - or given as '?' it will be prompted for. If HOST is not present, - use a previously stored set of parameters. - - If the command was successful, and the terminal is compatible with - xterm or is sun-cmd, a summary will appear in the title bar, giving - the local host:directory and the remote host:directory; this is - handled by the function zftp_chpwd, described below. - - Normally, the HOST, USER and PASSWORD are internally recorded for - later re-opening, either by a zfopen with no arguments, or - automatically (see below). With the option '-1', no information is - stored. Also, if an open command with arguments failed, the - parameters will not be retained (and any previous parameters will - also be deleted). A zfopen on its own, or a zfopen -1, never - alters the stored parameters. - - Both zfopen and zfanon (but not zfparams) understand URLs of the - form ftp://HOST/PATH... as meaning to connect to the HOST, then - change directory to PATH (which must be a directory, not a file). - The 'ftp://' can be omitted; the trailing '/' is enough to trigger - recognition of the PATH. Note prefixes other than 'ftp:' are not - recognized, and that all characters after the first slash beyond - HOST are significant in PATH. - -zfanon [ -1 ] HOST - Open a connection HOST for anonymous FTP. The username used is - 'anonymous'. The password (which will be reported the first time) - is generated as USER@HOST; this is then stored in the shell - parameter $EMAIL_ADDR which can alternatively be set manually to a - suitable string. - -25.3.2 Directory management ---------------------------- - -zfcd [ DIR ] -zfcd - -zfcd OLD NEW - Change the current directory on the remote server: this is - implemented to have many of the features of the shell builtin cd. - - In the first form with DIR present, change to the directory DIR. - The command 'zfcd ..' is treated specially, so is guaranteed to - work on non-UNIX servers (note this is handled internally by zftp). - If DIR is omitted, has the effect of 'zfcd ~'. - - The second form changes to the directory previously current. - - The third form attempts to change the current directory by - replacing the first occurrence of the string OLD with the string - NEW in the current directory. - - Note that in this command, and indeed anywhere a remote filename is - expected, the string which on the local host corresponds to '~' is - converted back to a '~' before being passed to the remote machine. - This is convenient because of the way expansion is performed on the - command line before zfcd receives a string. For example, suppose - the command is 'zfcd ~/foo'. The shell will expand this to a full - path such as 'zfcd /home/user2/pws/foo'. At this stage, zfcd - recognises the initial path as corresponding to '~' and will send - the directory to the remote host as ~/foo, so that the '~' will be - expanded by the server to the correct remote host directory. Other - named directories of the form '~name' are not treated in this - fashion. - -zfhere - Change directory on the remote server to the one corresponding to - the current local directory, with special handling of '~' as in - zfcd. For example, if the current local directory is ~/foo/bar, - then zfhere performs the effect of 'zfcd ~/foo/bar'. - -zfdir [ -rfd ] [ - ] [ DIR-OPTIONS ] [ DIR ] - Produce a long directory listing. The arguments DIR-OPTIONS and - DIR are passed directly to the server and their effect is - implementation dependent, but specifying a particular remote - directory DIR is usually possible. The output is passed through a - pager given by the environment variable $PAGER, or 'more' if that - is not set. - - The directory is usually cached for re-use. In fact, two caches - are maintained. One is for use when there is no DIR-OPTIONS or - DIR, i.e. a full listing of the current remote directory; it is - flushed when the current remote directory changes. The other is - kept for repeated use of zfdir with the same arguments; for - example, repeated use of 'zfdir /pub/gnu' will only require the - directory to be retrieved on the first call. Alternatively, this - cache can be re-viewed with the -r option. As relative directories - will confuse zfdir, the -f option can be used to force the cache to - be flushed before the directory is listed. The option -d will - delete both caches without showing a directory listing; it will - also delete the cache of file names in the current remote - directory, if any. - -zfls [ LS-OPTIONS ] [ DIR ] - List files on the remote server. With no arguments, this will - produce a simple list of file names for the current remote - directory. Any arguments are passed directly to the server. No - pager and no caching is used. - -25.3.3 Status commands ----------------------- - -zftype [ TYPE ] - With no arguments, show the type of data to be transferred, usually - ASCII or binary. With an argument, change the type: the types 'A' - or 'ASCII' for ASCII data and 'B' or 'BINARY', 'I' or 'IMAGE' for - binary data are understood case-insensitively. - -zfstat [ -v ] - Show the status of the current or last connection, as well as the - status of some of zftp's status variables. With the -v option, a - more verbose listing is produced by querying the server for its - version of events, too. - -25.3.4 Retrieving files ------------------------ - -The commands for retrieving files all take at least two options. -G -suppresses remote filename expansion which would otherwise be performed -(see below for a more detailed description of that). -t attempts to set -the modification time of the local file to that of the remote file: see -the description of the function zfrtime below for more information. - -zfget [ -Gtc ] FILE1 ... - Retrieve all the listed files FILE1 ... one at a time from the - remote server. If a file contains a '/', the full name is passed - to the remote server, but the file is stored locally under the name - given by the part after the final '/'. The option -c (cat) forces - all files to be sent as a single stream to standard output; in this - case the -t option has no effect. - -zfuget [ -Gvst ] FILE1 ... - As zfget, but only retrieve files where the version on the remote - server is newer (has a later modification time), or where the local - file does not exist. If the remote file is older but the files - have different sizes, or if the sizes are the same but the remote - file is newer, the user will usually be queried. With the option - -s, the command runs silently and will always retrieve the file in - either of those two cases. With the option -v, the command prints - more information about the files while it is working out whether or - not to transfer them. - -zfcget [ -Gt ] FILE1 ... - As zfget, but if any of the local files exists, and is shorter than - the corresponding remote file, the command assumes that it is the - result of a partially completed transfer and attempts to transfer - the rest of the file. This is useful on a poor connection which - keeps failing. - - Note that this requires a commonly implemented, but non-standard, - version of the FTP protocol, so is not guaranteed to work on all - servers. - -zfgcp [ -Gt ] REMOTE-FILE LOCAL-FILE -zfgcp [ -Gt ] RFILE1 ... LDIR - This retrieves files from the remote server with arguments behaving - similarly to the cp command. - - In the first form, copy REMOTE-FILE from the server to the local - file LOCAL-FILE. - - In the second form, copy all the remote files RFILE1 ... into the - local directory LDIR retaining the same basenames. This assumes - UNIX directory semantics. - -25.3.5 Sending files --------------------- - -zfput [ -r ] FILE1 ... - Send all the FILE1 ... given separately to the remote server. If - a filename contains a '/', the full filename is used locally to - find the file, but only the basename is used for the remote file - name. - - With the option -r, if any of the FILES are directories they are - sent recursively with all their subdirectories, including files - beginning with '.'. This requires that the remote machine - understand UNIX file semantics, since '/' is used as a directory - separator. - -zfuput [ -vs ] FILE1 ... - As zfput, but only send files which are newer than their remote - equivalents, or if the remote file does not exist. The logic is - the same as for zfuget, but reversed between local and remote - files. - -zfcput FILE1 ... - As zfput, but if any remote file already exists and is shorter than - the local equivalent, assume it is the result of an incomplete - transfer and send the rest of the file to append to the existing - part. As the FTP append command is part of the standard set, this - is in principle more likely to work than zfcget. - -zfpcp LOCAL-FILE REMOTE-FILE -zfpcp LFILE1 ... RDIR - This sends files to the remote server with arguments behaving - similarly to the cp command. - - With two arguments, copy LOCAL-FILE to the server as REMOTE-FILE. - - With more than two arguments, copy all the local files LFILE1 ... - into the existing remote directory RDIR retaining the same - basenames. This assumes UNIX directory semantics. - - A problem arises if you attempt to use zfpcp LFILE1 RDIR, i.e. the - second form of copying but with two arguments, as the command has - no simple way of knowing if RDIR corresponds to a directory or a - filename. It attempts to resolve this in various ways. First, if - the RDIR argument is '.' or '..' or ends in a slash, it is assumed - to be a directory. Secondly, if the operation of copying to a - remote file in the first form failed, and the remote server sends - back the expected failure code 553 and a reply including the string - 'Is a directory', then zfpcp will retry using the second form. - -25.3.6 Closing the connection ------------------------------ - -zfclose - Close the connection. - -25.3.7 Session management -------------------------- - -zfsession [ -lvod ] [ SESSNAME ] - Allows you to manage multiple FTP sessions at once. By default, - connections take place in a session called 'default'; by giving the - command 'zfsession SESSNAME' you can change to a new or existing - session with a name of your choice. The new session remembers its - own connection, as well as associated shell parameters, and also - the host/user parameters set by zfparams. Hence you can have - different sessions set up to connect to different hosts, each - remembering the appropriate host, user and password. - - With no arguments, zfsession prints the name of the current - session; with the option -l it lists all sessions which currently - exist, and with the option -v it gives a verbose list showing the - host and directory for each session, where the current session is - marked with an asterisk. With -o, it will switch to the most - recent previous session. - - With -d, the given session (or else the current one) is removed; - everything to do with it is completely forgotten. If it was the - only session, a new session called 'default' is created and made - current. It is safest not to delete sessions while background - commands using zftp are active. - -zftransfer SESS1:FILE1 SESS2:FILE2 - Transfer files between two sessions; no local copy is made. The - file is read from the session SESS1 as FILE1 and written to session - SESS2 as file FILE2; FILE1 and FILE2 may be relative to the current - directories of the session. Either SESS1 or SESS2 may be omitted - (though the colon should be retained if there is a possibility of a - colon appearing in the file name) and defaults to the current - session; FILE2 may be omitted or may end with a slash, in which - case the basename of FILE1 will be added. The sessions SESS1 and - SESS2 must be distinct. - - The operation is performed using pipes, so it is required that the - connections still be valid in a subshell, which is not the case - under versions of some operating systems, presumably due to a - system bug. - -25.3.8 Bookmarks ----------------- - -The two functions zfmark and zfgoto allow you to 'bookmark' the present -location (host, user and directory) of the current FTP connection for -later use. The file to be used for storing and retrieving bookmarks is -given by the parameter $ZFTP_BMFILE; if not set when one of the two -functions is called, it will be set to the file .zfbkmarks in the -directory where your zsh startup files live (usually ~). - -zfmark [ BOOKMARK ] - If given an argument, mark the current host, user and directory - under the name BOOKMARK for later use by zfgoto. If there is no - connection open, use the values for the last connection immediately - before it was closed; it is an error if there was none. Any - existing bookmark under the same name will be silently replaced. - - If not given an argument, list the existing bookmarks and the - points to which they refer in the form USER@HOST:DIRECTORY; this is - the format in which they are stored, and the file may be edited - directly. - -zfgoto [ -n ] BOOKMARK - Return to the location given by BOOKMARK, as previously set by - zfmark. If the location has user 'ftp' or 'anonymous', open the - connection with zfanon, so that no password is required. If the - user and host parameters match those stored for the current - session, if any, those will be used, and again no password is - required. Otherwise a password will be prompted for. - - With the option -n, the bookmark is taken to be a nickname stored - by the ncftp program in its bookmark file, which is assumed to be - ~/.ncftp/bookmarks. The function works identically in other ways. - Note that there is no mechanism for adding or modifying ncftp - bookmarks from the zftp functions. - -25.3.9 Other functions ----------------------- - -Mostly, these functions will not be called directly (apart from zfinit), -but are described here for completeness. You may wish to alter -zftp_chpwd and zftp_progress, in particular. - -zfinit [ -n ] - As described above, this is used to initialize the zftp function - system. The -n option should be used if the zftp command is - already built into the shell. - -zfautocheck [ -dn ] - This function is called to implement automatic reopening behaviour, - as described in more detail below. The options must appear in the - first argument; -n prevents the command from changing to the old - directory, while -d prevents it from setting the variable do_close, - which it otherwise does as a flag for automatically closing the - connection after a transfer. The host and directory for the last - session are stored in the variable $zflastsession, but the internal - host/user/password parameters must also be correctly set. - -zfcd_match PREFIX SUFFIX - This performs matching for completion of remote directory names. - If the remote server is UNIX, it will attempt to persuade the - server to list the remote directory with subdirectories marked, - which usually works but is not guaranteed. On other hosts it - simply calls zfget_match and hence completes all files, not just - directories. On some systems, directories may not even look like - filenames. - -zfget_match PREFIX SUFFIX - This performs matching for completion of remote filenames. It - caches files for the current directory (only) in the shell - parameter $zftp_fcache. It is in the form to be called by the -K - option of compctl, but also works when called from a widget-style - completion function with PREFIX and SUFFIX set appropriately. - -zfrglob VARNAME - Perform remote globbing, as describes in more detail below. - VARNAME is the name of a variable containing the pattern to be - expanded; if there were any matches, the same variable will be set - to the expanded set of filenames on return. - -zfrtime LFILE RFILE [ TIME ] - Set the local file LFILE to have the same modification time as the - remote file RFILE, or the explicit time TIME in FTP format - CCYYMMDDhhmmSS for the GMT timezone. This uses the shell's - zsh/datetime module to perform the conversion from GMT to local - time. - -zftp_chpwd - This function is called every time a connection is opened, or - closed, or the remote directory changes. This version alters the - title bar of an xterm-compatible or sun-cmd terminal emulator to - reflect the local and remote hostnames and current directories. It - works best when combined with the function chpwd. In particular, a - function of the form - - chpwd() { - if [[ -n $ZFTP_USER ]]; then - zftp_chpwd - else - # usual chpwd e.g put host:directory in title bar - fi - } - - fits in well. - -zftp_progress - This function shows the status of the transfer. It will not write - anything unless the output is going to a terminal; however, if you - transfer files in the background, you should turn off progress - reports by hand using 'zstyle ':zftp:*' progress none'. Note also - that if you alter it, any output _must_ be to standard error, as - standard output may be a file being received. The form of the - progress meter, or whether it is used at all, can be configured - without altering the function, as described in the next section. - -zffcache - This is used to implement caching of files in the current directory - for each session separately. It is used by zfget_match and - zfrglob. - diff --git a/result/sw/share/info/zsh.info-5 b/result/sw/share/info/zsh.info-5 deleted file mode 100644 index 9644f845..00000000 --- a/result/sw/share/info/zsh.info-5 +++ /dev/null @@ -1,6015 +0,0 @@ -This is zsh.info, produced by makeinfo version 7.2 from tzsh.texi. - -INFO-DIR-SECTION Utilities -START-INFO-DIR-ENTRY -* ZSH: (zsh). The Z Shell Manual. -END-INFO-DIR-ENTRY - - -File: zsh.info, Node: Miscellaneous Features, Prev: Zftp Functions, Up: Zftp Function System - -25.4 Miscellaneous Features -=========================== - -25.4.1 Configuration --------------------- - -Various styles are available using the standard shell style mechanism, -described in *note The zsh/zutil Module::. Briefly, the command 'zstyle -':zftp:*' STYLE VALUE ...'. defines the STYLE to have value VALUE; more -than one value may be given, although that is not useful in the cases -described here. These values will then be used throughout the zftp -function system. For more precise control, the first argument, which -gives a pattern that matches _contexts_ in which the style applies, can -be modified to include a particular function, as for example -':zftp:zfget': the style will then have the given value only in the -zfget function, and will override styles set under ':zftp:*'. Note that -only the top level function name, as called by the user, is used; -calling of lower level functions is transparent to the user. Hence -modifications to the title bar in zftp_chpwd use the contexts -:zftp:zfopen, :zftp:zfcd, etc., depending where it was called from. The -following styles are understood: - -progress - Controls the way that zftp_progress reports on the progress of a - transfer. If empty, unset, or 'none', no progress report is made; - if 'bar' a growing bar of inverse video is shown; if 'percent' (or - any other string, though this may change in future), the percentage - of the file transferred is shown. The bar meter requires that the - width of the terminal be available via the $COLUMNS parameter - (normally this is set automatically). If the size of the file - being transferred is not available, bar and percent meters will - simply show the number of bytes transferred so far. - - When zfinit is run, if this style is not defined for the context - :zftp:*, it will be set to 'bar'. - -update - Specifies the minimum time interval between updates of the progress - meter in seconds. No update is made unless new data has been - received, so the actual time interval is limited only by - $ZFTP_TIMEOUT. - - As described for progress, zfinit will force this to default to 1. - -remote-glob - If set to '1', 'yes' or 'true', filename generation (globbing) is - performed on the remote machine instead of by zsh itself; see - below. - -titlebar - If set to '1', 'yes' or 'true', zftp_chpwd will put the remote host - and remote directory into the titlebar of terminal emulators such - as xterm or sun-cmd that allow this. - - As described for progress, zfinit will force this to default to 1. - -chpwd - If set to '1' 'yes' or 'true', zftp_chpwd will call the function - chpwd when a connection is closed. This is useful if the remote - host details were put into the terminal title bar by zftp_chpwd and - your usual chpwd also modifies the title bar. - - When zfinit is run, it will determine whether chpwd exists and if - so it will set the default value for the style to 1 if none exists - already. - -Note that there is also an associative array zfconfig which contains -values used by the function system. This should not be modified or -overwritten. - -25.4.2 Remote globbing ----------------------- - -The commands for retrieving files usually perform filename generation -(globbing) on their arguments; this can be turned off by passing the -option -G to each of the commands. Normally this operates by retrieving -a complete list of files for the directory in question, then matching -these locally against the pattern supplied. This has the advantage that -the full range of zsh patterns (respecting the setting of the option -EXTENDED_GLOB) can be used. However, it means that the directory part -of a filename will not be expanded and must be given exactly. If the -remote server does not support the UNIX directory semantics, directory -handling is problematic and it is recommended that globbing only be used -within the current directory. The list of files in the current -directory, if retrieved, will be cached, so that subsequent globs in the -same directory without an intervening zfcd are much faster. - -If the remote-glob style (see above) is set, globbing is instead -performed on the remote host: the server is asked for a list of matching -files. This is highly dependent on how the server is implemented, -though typically UNIX servers will provide support for basic glob -patterns. This may in some cases be faster, as it avoids retrieving the -entire list of directory contents. - -25.4.3 Automatic and temporary reopening ----------------------------------------- - -As described for the zfopen command, a subsequent zfopen with no -parameters will reopen the connection to the last host (this includes -connections made with the zfanon command). Opened in this fashion, the -connection starts in the default remote directory and will remain open -until explicitly closed. - -Automatic re-opening is also available. If a connection is not -currently open and a command requiring a connection is given, the last -connection is implicitly reopened. In this case the directory which was -current when the connection was closed again becomes the current -directory (unless, of course, the command given changes it). Automatic -reopening will also take place if the connection was close by the remote -server for whatever reason (e.g. a timeout). It is not available if -the -1 option to zfopen or zfanon was used. - -Furthermore, if the command issued is a file transfer, the connection -will be closed after the transfer is finished, hence providing a -one-shot mode for transfers. This does not apply to directory changing -or listing commands; for example a zfdir may reopen a connection but -will leave it open. Also, automatic closure will only ever happen in -the same command as automatic opening, i.e a zfdir directly followed by -a zfget will never close the connection automatically. - -Information about the previous connection is given by the zfstat -function. So, for example, if that reports: - - Session: default - Not connected. - Last session: ftp.bar.com:/pub/textfiles - -then the command zfget file.txt will attempt to reopen a connection to -ftp.bar.com, retrieve the file /pub/textfiles/file.txt, and immediately -close the connection again. On the other hand, zfcd .. will open the -connection in the directory /pub and leave it open. - -Note that all the above is local to each session; if you return to a -previous session, the connection for that session is the one which will -be reopened. - -25.4.4 Completion ------------------ - -Completion of local and remote files, directories, sessions and -bookmarks is supported. The older, compctl-style completion is defined -when zfinit is called; support for the new widget-based completion -system is provided in the function Completion/Zsh/Command/_zftp, which -should be installed with the other functions of the completion system -and hence should automatically be available. - - -File: zsh.info, Node: User Contributions, Prev: Zftp Function System, Up: Top - -26 User Contributions -********************* - -26.1 Description -================ - -The Zsh source distribution includes a number of items contributed by -the user community. These are not inherently a part of the shell, and -some may not be available in every zsh installation. The most -significant of these are documented here. For documentation on other -contributed items such as shell functions, look for comments in the -function source files. - -* Menu: - -* Utilities:: -* Recent Directories:: -* Other Directory Functions:: -* Version Control Information:: -* Prompt Themes:: -* ZLE Functions:: -* Exception Handling:: -* MIME Functions:: -* Mathematical Functions:: -* User Configuration Functions:: -* Other Functions:: - - -File: zsh.info, Node: Utilities, Next: Recent Directories, Up: User Contributions - -26.2 Utilities -============== - -26.2.1 Accessing On-Line Help ------------------------------ - -The key sequence ESC h is normally bound by ZLE to execute the run-help -widget (see *note Zsh Line Editor::). This invokes the run-help command -with the command word from the current input line as its argument. By -default, run-help is an alias for the man command, so this often fails -when the command word is a shell builtin or a user-defined function. By -redefining the run-help alias, one can improve the on-line help provided -by the shell. - -The helpfiles utility, found in the Util directory of the distribution, -is a Perl program that can be used to process the zsh manual to produce -a separate help file for each shell builtin and for many other shell -features as well. The autoloadable run-help function, found in -Functions/Misc, searches for these helpfiles and performs several other -tests to produce the most complete help possible for the command. - -Help files are installed by default to a subdirectory of /usr/share/zsh -or /usr/local/share/zsh. - -To create your own help files with helpfiles, choose or create a -directory where the individual command help files will reside. For -example, you might choose ~/zsh_help. If you unpacked the zsh -distribution in your home directory, you would use the commands: - - mkdir ~/zsh_help - perl ~/zsh-5.9/Util/helpfiles ~/zsh_help - -The HELPDIR parameter tells run-help where to look for the help files. -When unset, it uses the default installation path. To use your own set -of help files, set this to the appropriate path in one of your startup -files: - - HELPDIR=~/zsh_help - -To use the run-help function, you need to add lines something like the -following to your .zshrc or equivalent startup file: - - unalias run-help - autoload run-help - -Note that in order for 'autoload run-help' to work, the run-help file -must be in one of the directories named in your fpath array (see *note -Parameters Used By The Shell::). This should already be the case if you -have a standard zsh installation; if it is not, copy -Functions/Misc/run-help to an appropriate directory. - -26.2.2 Recompiling Functions ----------------------------- - -If you frequently edit your zsh functions, or periodically update your -zsh installation to track the latest developments, you may find that -function digests compiled with the zcompile builtin are frequently out -of date with respect to the function source files. This is not usually -a problem, because zsh always looks for the newest file when loading a -function, but it may cause slower shell startup and function loading. -Also, if a digest file is explicitly used as an element of fpath, zsh -won't check whether any of its source files has changed. - -The zrecompile autoloadable function, found in Functions/Misc, can be -used to keep function digests up to date. - -zrecompile [ -qt ] [ NAME ... ] -zrecompile [ -qt ] -p ARG ... [ -- ARG ... ] - This tries to find *.zwc files and automatically re-compile them if - at least one of the original files is newer than the compiled file. - This works only if the names stored in the compiled files are full - paths or are relative to the directory that contains the .zwc file. - - In the first form, each NAME is the name of a compiled file or a - directory containing *.zwc files that should be checked. If no - arguments are given, the directories and *.zwc files in fpath are - used. - - When -t is given, no compilation is performed, but a return status - of zero (true) is set if there are files that need to be - re-compiled and non-zero (false) otherwise. The -q option quiets - the chatty output that describes what zrecompile is doing. - - Without the -t option, the return status is zero if all files that - needed re-compilation could be compiled and non-zero if compilation - for at least one of the files failed. - - If the -p option is given, the ARGs are interpreted as one or more - sets of arguments for zcompile, separated by '--'. For example: - - zrecompile -p \ - -R ~/.zshrc -- \ - -M ~/.zcompdump -- \ - ~/zsh/comp.zwc ~/zsh/Completion/*/_* - - This compiles ~/.zshrc into ~/.zshrc.zwc if that doesn't exist or - if it is older than ~/.zshrc. The compiled file will be marked for - reading instead of mapping. The same is done for ~/.zcompdump and - ~/.zcompdump.zwc, but this compiled file is marked for mapping. - The last line re-creates the file ~/zsh/comp.zwc if any of the - files matching the given pattern is newer than it. - - Without the -p option, zrecompile does not create function digests - that do not already exist, nor does it add new functions to the - digest. - -The following shell loop is an example of a method for creating function -digests for all functions in your fpath, assuming that you have write -permission to the directories: - - for ((i=1; i <= $#fpath; ++i)); do - dir=$fpath[i] - zwc=${dir:t}.zwc - if [[ $dir == (.|..) || $dir == (.|..)/* ]]; then - continue - fi - files=($dir/*(N-.)) - if [[ -w $dir:h && -n $files ]]; then - files=(${${(M)files%/*/*}#/}) - if ( cd $dir:h && - zrecompile -p -U -z $zwc $files ); then - fpath[i]=$fpath[i].zwc - fi - fi - done - -The -U and -z options are appropriate for functions in the default zsh -installation fpath; you may need to use different options for your -personal function directories. - -Once the digests have been created and your fpath modified to refer to -them, you can keep them up to date by running zrecompile with no -arguments. - -26.2.3 Keyboard Definition --------------------------- - -The large number of possible combinations of keyboards, workstations, -terminals, emulators, and window systems makes it impossible for zsh to -have built-in key bindings for every situation. The zkbd utility, found -in Functions/Misc, can help you quickly create key bindings for your -configuration. - -Run zkbd either as an autoloaded function, or as a shell script: - - zsh -f ~/zsh-5.9/Functions/Misc/zkbd - -When you run zkbd, it first asks you to enter your terminal type; if the -default it offers is correct, just press return. It then asks you to -press a number of different keys to determine characteristics of your -keyboard and terminal; zkbd warns you if it finds anything out of the -ordinary, such as a Delete key that sends neither ^H nor ^?. - -The keystrokes read by zkbd are recorded as a definition for an -associative array named key, written to a file in the subdirectory .zkbd -within either your HOME or ZDOTDIR directory. The name of the file is -composed from the TERM, VENDOR and OSTYPE parameters, joined by hyphens. - -You may read this file into your .zshrc or another startup file with the -'source' or '.' commands, then reference the key parameter in bindkey -commands, like this: - - source ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE - [[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char - [[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char - # etc. - -Note that in order for 'autoload zkbd' to work, the zkdb file must be in -one of the directories named in your fpath array (see *note Parameters -Used By The Shell::). This should already be the case if you have a -standard zsh installation; if it is not, copy Functions/Misc/zkbd to an -appropriate directory. - -26.2.4 Dumping Shell State --------------------------- - -Occasionally you may encounter what appears to be a bug in the shell, -particularly if you are using a beta version of zsh or a development -release. Usually it is sufficient to send a description of the problem -to one of the zsh mailing lists (see *note Mailing Lists::), but -sometimes one of the zsh developers will need to recreate your -environment in order to track the problem down. - -The script named reporter, found in the Util directory of the -distribution, is provided for this purpose. (It is also possible to -autoload reporter, but reporter is not installed in fpath by default.) -This script outputs a detailed dump of the shell state, in the form of -another script that can be read with 'zsh -f' to recreate that state. - -To use reporter, read the script into your shell with the '.' command -and redirect the output into a file: - - . ~/zsh-5.9/Util/reporter > zsh.report - -You should check the zsh.report file for any sensitive information such -as passwords and delete them by hand before sending the script to the -developers. Also, as the output can be voluminous, it's best to wait -for the developers to ask for this information before sending it. - -You can also use reporter to dump only a subset of the shell state. -This is sometimes useful for creating startup files for the first time. -Most of the output from reporter is far more detailed than usually is -necessary for a startup file, but the aliases, options, and zstyles -states may be useful because they include only changes from the -defaults. The bindings state may be useful if you have created any of -your own keymaps, because reporter arranges to dump the keymap creation -commands as well as the bindings for every keymap. - -As is usual with automated tools, if you create a startup file with -reporter, you should edit the results to remove unnecessary commands. -Note that if you're using the new completion system, you should _not_ -dump the functions state to your startup files with reporter; use the -compdump function instead (see *note Completion System::). - -reporter [ STATE ... ] - Print to standard output the indicated subset of the current shell - state. The STATE arguments may be one or more of: - - all - Output everything listed below. - aliases - Output alias definitions. - bindings - Output ZLE key maps and bindings. - completion - Output old-style compctl commands. New completion is covered - by functions and zstyles. - functions - Output autoloads and function definitions. - limits - Output limit commands. - options - Output setopt commands. - styles - Same as zstyles. - variables - Output shell parameter assignments, plus export commands for - any environment variables. - zstyles - Output zstyle commands. - - If the STATE is omitted, all is assumed. - - With the exception of 'all', every STATE can be abbreviated by any - prefix, even a single letter; thus a is the same as aliases, z is - the same as zstyles, etc. - -26.2.5 Manipulating Hook Functions ----------------------------------- - -add-zsh-hook [ -L | -dD ] [ -Uzk ] HOOK FUNCTION - Several functions are special to the shell, as described in the - section Special Functions, *note Functions::, in that they are - automatically called at specific points during shell execution. - Each has an associated array consisting of names of functions to be - called at the same point; these are so-called 'hook functions'. - The shell function add-zsh-hook provides a simple way of adding or - removing functions from the array. - - HOOK is one of chpwd, periodic, precmd, preexec, zshaddhistory, - zshexit, or zsh_directory_name, the special functions in question. - Note that zsh_directory_name is called in a different way from the - other functions, but may still be manipulated as a hook. - - FUNCTION is name of an ordinary shell function. If no options are - given this will be added to the array of functions to be executed - in the given context. Functions are invoked in the order they were - added. - - If the option -L is given, the current values for the hook arrays - are listed with typeset. - - If the option -d is given, the FUNCTION is removed from the array - of functions to be executed. - - If the option -D is given, the FUNCTION is treated as a pattern and - any matching names of functions are removed from the array of - functions to be executed. - - The options -U, -z and -k are passed as arguments to autoload for - FUNCTION. For functions contributed with zsh, the options -Uz are - appropriate. - -add-zle-hook-widget [ -L | -dD ] [ -Uzk ] HOOK WIDGETNAME - Several widget names are special to the line editor, as described - in the section Special Widgets, *note Zle Widgets::, in that they - are automatically called at specific points during editing. Unlike - function hooks, these do not use a predefined array of other names - to call at the same point; the shell function add-zle-hook-widget - maintains a similar array and arranges for the special widget to - invoke those additional widgets. - - HOOK is one of isearch-exit, isearch-update, line-pre-redraw, - line-init, line-finish, history-line-set, or keymap-select, - corresponding to each of the special widgets zle-isearch-exit, etc. - The special widget names are also accepted as the HOOK argument. - - WIDGETNAME is the name of a ZLE widget. If no options are given - this is added to the array of widgets to be invoked in the given - hook context. Widgets are invoked in the order they were added, - with - zle WIDGETNAME -Nw -f "nolast" -- "$@" - - Note that this means that the 'WIDGET' special parameter tracks the - WIDGETNAME when the widget function is called, rather than tracking - the name of the corresponding special hook widget. - - If the option -d is given, the WIDGETNAME is removed from the array - of widgets to be executed. - - If the option -D is given, the WIDGETNAME is treated as a pattern - and any matching names of widgets are removed from the array. - - If WIDGETNAME does not name an existing widget when added to the - array, it is assumed that a shell function also named WIDGETNAME is - meant to provide the implementation of the widget. This name is - therefore marked for autoloading, and the options -U, -z and -k are - passed as arguments to autoload as with add-zsh-hook. The widget - is also created with 'zle -N WIDGETNAME' to cause the corresponding - function to be loaded the first time the hook is called. - - The arrays of WIDGETNAME are currently maintained in zstyle - contexts, one for each HOOK context, with a style of 'widgets'. If - the -L option is given, this set of styles is listed with 'zstyle - -L'. This implementation may change, and the special widgets that - refer to the styles are created only if add-zle-hook-widget is - called to add at least one widget, so if this function is used for - any hooks, then all hooks should be managed only via this function. - - -File: zsh.info, Node: Recent Directories, Next: Other Directory Functions, Prev: Utilities, Up: User Contributions - -26.3 Remembering Recent Directories -=================================== - -The function cdr allows you to change the working directory to a -previous working directory from a list maintained automatically. It is -similar in concept to the directory stack controlled by the pushd, popd -and dirs builtins, but is more configurable, and as it stores all -entries in files it is maintained across sessions and (by default) -between terminal emulators in the current session. Duplicates are -automatically removed, so that the list reflects the single most recent -use of each directory. - -Note that the pushd directory stack is not actually modified or used by -cdr unless you configure it to do so as described in the configuration -section below. - -26.3.1 Installation -------------------- - -The system works by means of a hook function that is called every time -the directory changes. To install the system, autoload the required -functions and use the add-zsh-hook function described above: - - autoload -Uz chpwd_recent_dirs cdr add-zsh-hook - add-zsh-hook chpwd chpwd_recent_dirs - -Now every time you change directly interactively, no matter which -command you use, the directory to which you change will be remembered in -most-recent-first order. - -26.3.2 Use ----------- - -All direct user interaction is via the cdr function. - -The argument to cdr is a number N corresponding to the Nth most recently -changed-to directory. 1 is the immediately preceding directory; the -current directory is remembered but is not offered as a destination. -Note that if you have multiple windows open 1 may refer to a directory -changed to in another window; you can avoid this by having per-terminal -files for storing directory as described for the recent-dirs-file style -below. - -If you set the recent-dirs-default style described below cdr will behave -the same as cd if given a non-numeric argument, or more than one -argument. The recent directory list is updated just the same however -you change directory. - -If the argument is omitted, 1 is assumed. This is similar to pushd's -behaviour of swapping the two most recent directories on the stack. - -Completion for the argument to cdr is available if compinit has been -run; menu selection is recommended, using: - - zstyle ':completion:*:*:cdr:*:*' menu selection - -to allow you to cycle through recent directories; the order is -preserved, so the first choice is the most recent directory before the -current one. The verbose style is also recommended to ensure the -directory is shown; this style is on by default so no action is required -unless you have changed it. - -26.3.3 Options --------------- - -The behaviour of cdr may be modified by the following options. - --l - lists the numbers and the corresponding directories in abbreviated - form (i.e. with ~ substitution reapplied), one per line. The - directories here are not quoted (this would only be an issue if a - directory name contained a newline). This is used by the - completion system. - --r - sets the variable reply to the current set of directories. Nothing - is printed and the directory is not changed. - --e - allows you to edit the list of directories, one per line. The list - can be edited to any extent you like; no sanity checking is - performed. Completion is available. No quoting is necessary - (except for newlines, where I have in any case no sympathy); - directories are in unabbreviated form and contain an absolute path, - i.e. they start with /. Usually the first entry should be left as - the current directory. - --p 'PATTERN' - Prunes any items in the directory list that match the given - extended glob pattern; the pattern needs to be quoted from - immediate expansion on the command line. The pattern is matched - against each completely expanded file name in the list; the full - string must match, so wildcards at the end (e.g. '*removeme*') are - needed to remove entries with a given substring. - - If output is to a terminal, then the function will print the new - list after pruning and prompt for confirmation by the user. This - output and confirmation step can be skipped by using -P instead of - -p. - -26.3.4 Configuration --------------------- - -Configuration is by means of the styles mechanism that should be -familiar from completion; if not, see the description of the zstyle -command in *note The zsh/zutil Module::. The context for setting styles -should be ':chpwd:*' in case the meaning of the context is extended in -future, for example: - - zstyle ':chpwd:*' recent-dirs-max 0 - -sets the value of the recent-dirs-max style to 0. In practice the style -name is specific enough that a context of '*' should be fine. - -An exception is recent-dirs-insert, which is used exclusively by the -completion system and so has the usual completion system context -(':completion:*' if nothing more specific is needed), though again '*' -should be fine in practice. - -recent-dirs-default - If true, and the command is expecting a recent directory index, and - either there is more than one argument or the argument is not an - integer, then fall through to "cd". This allows the lazy to use - only one command for directory changing. Completion recognises - this, too; see recent-dirs-insert for how to control completion - when this option is in use. - -recent-dirs-file - The file where the list of directories is saved. The default is - ${ZDOTDIR:-$HOME}/.chpwd-recent-dirs, i.e. this is in your home - directory unless you have set the variable ZDOTDIR to point - somewhere else. Directory names are saved in $'...' quoted form, - so each line in the file can be supplied directly to the shell as - an argument. - - The value of this style may be an array. In this case, the first - file in the list will always be used for saving directories while - any other files are left untouched. When reading the recent - directory list, if there are fewer than the maximum number of - entries in the first file, the contents of later files in the array - will be appended with duplicates removed from the list shown. The - contents of the two files are not sorted together, i.e. all the - entries in the first file are shown first. The special value + can - appear in the list to indicate the default file should be read at - that point. This allows effects like the following: - - zstyle ':chpwd:*' recent-dirs-file \ - ~/.chpwd-recent-dirs-${TTY##*/} + - - Recent directories are read from a file numbered according to the - terminal. If there are insufficient entries the list is - supplemented from the default file. - - It is possible to use zstyle -e to make the directory configurable - at run time: - - zstyle -e ':chpwd:*' recent-dirs-file pick-recent-dirs-file - pick-recent-dirs-file() { - if [[ $PWD = ~/text/writing(|/*) ]]; then - reply=(~/.chpwd-recent-dirs-writing) - else - reply=(+) - fi - } - - In this example, if the current directory is ~/text/writing or a - directory under it, then use a special file for saving recent - directories, else use the default. - -recent-dirs-insert - Used by completion. If recent-dirs-default is true, then setting - this to true causes the actual directory, rather than its index, to - be inserted on the command line; this has the same effect as using - the corresponding index, but makes the history clearer and the line - easier to edit. With this setting, if part of an argument was - already typed, normal directory completion rather than recent - directory completion is done; this is because recent directory - completion is expected to be done by cycling through entries menu - fashion. - - If the value of the style is always, then only recent directories - will be completed; in that case, use the cd command when you want - to complete other directories. - - If the value is fallback, recent directories will be tried first, - then normal directory completion is performed if recent directory - completion failed to find a match. - - Finally, if the value is both then both sets of completions are - presented; the usual tag mechanism can be used to distinguish - results, with recent directories tagged as recent-dirs. Note that - the recent directories inserted are abbreviated with directory - names where appropriate. - -recent-dirs-max - The maximum number of directories to save to the file. If this is - zero or negative there is no maximum. The default is 20. Note - this includes the current directory, which isn't offered, so the - highest number of directories you will be offered is one less than - the maximum. - -recent-dirs-prune - This style is an array determining what directories should (or - should not) be added to the recent list. Elements of the array can - include: - - parent - Prune parents (more accurately, ancestors) from the recent - list. If present, changing directly down by any number of - directories causes the current directory to be overwritten. - For example, changing from ~pws to ~pws/some/other/dir causes - ~pws not to be left on the recent directory stack. This only - applies to direct changes to descendant directories; earlier - directories on the list are not pruned. For example, changing - from ~pws/yet/another to ~pws/some/other/dir does not cause - ~pws to be pruned. - - pattern:PATTERN - Gives a zsh pattern for directories that should not be added - to the recent list (if not already there). This element can - be repeated to add different patterns. For example, - 'pattern:/tmp(|/*)' stops /tmp or its descendants from being - added. The EXTENDED_GLOB option is always turned on for these - patterns. - -recent-dirs-pushd - If set to true, cdr will use pushd instead of cd to change the - directory, so the directory is saved on the directory stack. As - the directory stack is completely separate from the list of files - saved by the mechanism used in this file there is no obvious reason - to do this. - -26.3.5 Use with dynamic directory naming ----------------------------------------- - -It is possible to refer to recent directories using the dynamic -directory name syntax by using the supplied function -zsh_directory_name_cdr a hook: - - autoload -Uz add-zsh-hook - add-zsh-hook -Uz zsh_directory_name zsh_directory_name_cdr - -When this is done, ~[1] will refer to the most recent directory other -than $PWD, and so on. Completion after ~[... also works. - -26.3.6 Details of directory handling ------------------------------------- - -This section is for the curious or confused; most users will not need to -know this information. - -Recent directories are saved to a file immediately and hence are -preserved across sessions. Note currently no file locking is applied: -the list is updated immediately on interactive commands and nowhere else -(unlike history), and it is assumed you are only going to change -directory in one window at once. This is not safe on shared accounts, -but in any case the system has limited utility when someone else is -changing to a different set of directories behind your back. - -To make this a little safer, only directory changes instituted from the -command line, either directly or indirectly through shell function calls -(but not through subshells, evals, traps, completion functions and the -like) are saved. Shell functions should use cd -q or pushd -q to avoid -side effects if the change to the directory is to be invisible at the -command line. See the contents of the function chpwd_recent_dirs for -more details. - - -File: zsh.info, Node: Other Directory Functions, Next: Version Control Information, Prev: Recent Directories, Up: User Contributions - -26.4 Abbreviated dynamic references to directories -================================================== - -The dynamic directory naming system is described in the subsection -_Dynamic named directories_ of *note Filename Expansion::. In this, a -reference to ~[...] is expanded by a function found by the hooks -mechanism. - -The contributed function zsh_directory_name_generic provides a system -allowing the user to refer to directories with only a limited amount of -new code. It supports all three of the standard interfaces for -directory naming: converting from a name to a directory, converting in -the reverse direction to find a short name, and completion of names. - -The main feature of this function is a path-like syntax, combining -abbreviations at multiple levels separated by ":". As an example, -~[g:p:s] might specify: -g - The top level directory for your git area. This first component - has to match, or the function will return indicating another - directory name hook function should be tried. - -p - The name of a project within your git area. - -s - The source area within that project. - - This allows you to collapse references to long hierarchies to a very -compact form, particularly if the hierarchies are similar across -different areas of the disk. - -Name components may be completed: if a description is shown at the top -of the list of completions, it includes the path to which previous -components expand, while the description for an individual completion -shows the path segment it would add. No additional configuration is -needed for this as the completion system is aware of the dynamic -directory name mechanism. - -26.4.1 Usage ------------- - -To use the function, first define a wrapper function for your specific -case. We'll assume it's to be autoloaded. This can have any name but -we'll refer to it as zdn_mywrapper. This wrapper function will define -various variables and then call this function with the same arguments -that the wrapper function gets. This configuration is described below. - -Then arrange for the wrapper to be run as a zsh_directory_name hook: - - autoload -Uz add-zsh-hook zsh_directory_name_generic zdn_mywrapper - add-zsh-hook -U zsh_directory_name zdn_mywrapper - -26.4.2 Configuration --------------------- - -The wrapper function should define a local associative array zdn_top. -Alternatively, this can be set with a style called mapping. The context -for the style is :zdn:WRAPPER-NAME where WRAPPER-NAME is the function -calling zsh_directory_name_generic; for example: - - zstyle :zdn:zdn_mywrapper: mapping zdn_mywrapper_top - -The keys in this associative array correspond to the first component of -the name. The values are matching directories. They may have an -optional suffix with a slash followed by a colon and the name of a -variable in the same format to give the next component. (The slash -before the colon is to disambiguate the case where a colon is needed in -the path for a drive. There is otherwise no syntax for escaping this, -so path components whose names start with a colon are not supported.) A -special component :default: specifies a variable in the form /:VAR (the -path section is ignored and so is usually empty) that will be used for -the next component if no variable is given for the path. Variables -referred to within zdn_top have the same format as zdn_top itself, but -contain relative paths. - -For example, - - local -A zdn_top=( - g ~/git - ga ~/alternate/git - gs /scratch/$USER/git/:second2 - :default: /:second1 - ) - -This specifies the behaviour of a directory referred to as ~[g:...] or -~[ga:...] or ~[gs:...]. Later path components are optional; in that -case ~[g] expands to ~/git, and so on. gs expands to /scratch/$USER/git -and uses the associative array second2 to match the second component; g -and ga use the associative array second1 to match the second component. - -When expanding a name to a directory, if the first component is not g or -ga or gs, it is not an error; the function simply returns 1 so that a -later hook function can be tried. However, matching the first component -commits the function, so if a later component does not match, an error -is printed (though this still does not stop later hooks from being -executed). - -For components after the first, a relative path is expected, but note -that multiple levels may still appear. Here is an example of second1: - - local -A second1=( - p myproject - s somproject - os otherproject/subproject/:third - ) - -The path as found from zdn_top is extended with the matching directory, -so ~[g:p] becomes ~/git/myproject. The slash between is added -automatically (it's not possible to have a later component modify the -name of a directory already matched). Only os specifies a variable for -a third component, and there's no :default:, so it's an error to use a -name like ~[g:p:x] or ~[ga:s:y] because there's nowhere to look up the x -or y. - -The associative arrays need to be visible within this function; the -generic function therefore uses internal variable names beginning _zdn_ -in order to avoid clashes. Note that the variable reply needs to be -passed back to the shell, so should not be local in the calling -function. - -The function does not test whether directories assembled by component -actually exist; this allows the system to work across automounted file -systems. The error from the command trying to use a non-existent -directory should be sufficient to indicate the problem. - -26.4.3 Complete example ------------------------ - -Here is a full fictitious but usable autoloadable definition of the -example function defined by the code above. So ~[gs:p:s] expands to -/scratch/$USER/git/myscratchproject/top/srcdir (with $USER also -expanded). - - local -A zdn_top=( - g ~/git - ga ~/alternate/git - gs /scratch/$USER/git/:second2 - :default: /:second1 - ) - - local -A second1=( - p myproject - s somproject - os otherproject/subproject/:third - ) - - local -A second2=( - p myscratchproject - s somescratchproject - ) - - local -A third=( - s top/srcdir - d top/documentation - ) - - # autoload not needed if you did this at initialisation... - autoload -Uz zsh_directory_name_generic - zsh_directory_name_generic "$@ - -It is also possible to use global associative arrays, suitably named, -and set the style for the context of your wrapper function to refer to -this. Then your set up code would contain the following: - - typeset -A zdn_mywrapper_top=(...) - # ... and so on for other associative arrays ... - zstyle ':zdn:zdn_mywrapper:' mapping zdn_mywrapper_top - autoload -Uz add-zsh-hook zsh_directory_name_generic zdn_mywrapper - add-zsh-hook -U zsh_directory_name zdn_mywrapper - -and the function zdn_mywrapper would contain only the following: - - zsh_directory_name_generic "$@" - - -File: zsh.info, Node: Version Control Information, Next: Prompt Themes, Prev: Other Directory Functions, Up: User Contributions - -26.5 Gathering information from version control systems -======================================================= - -In a lot of cases, it is nice to automatically retrieve information from -version control systems (VCSs), such as subversion, CVS or git, to be -able to provide it to the user; possibly in the user's prompt. So that -you can instantly tell which branch you are currently on, for example. - -In order to do that, you may use the vcs_info function. - -The following VCSs are supported, showing the abbreviated name by which -they are referred to within the system: -Bazaar (bzr) - <https://bazaar.canonical.com/> -Codeville (cdv) - <http://freecode.com/projects/codeville/> -Concurrent Versioning System (cvs) - <https://www.nongnu.org/cvs/> -Darcs (darcs) - <http://darcs.net/> -Fossil (fossil) - <https://fossil-scm.org/> -Git (git) - <https://git-scm.com/> -GNU arch (tla) - <https://www.gnu.org/software/gnu-arch/> -Mercurial (hg) - <https://www.mercurial-scm.org/> -Monotone (mtn) - <https://monotone.ca/> -Perforce (p4) - <https://www.perforce.com/> -Subversion (svn) - <https://subversion.apache.org/> -SVK (svk) - <https://svk.bestpractical.com/> - -There is also support for the patch management system quilt -(<https://savannah.nongnu.org/projects/quilt>). See *note vcs_info -Quilt Support:: below for details. - -To load vcs_info: - - autoload -Uz vcs_info - -It can be used in any existing prompt, because it does not require any -specific $psvar entries to be available. - -* Menu: - -* vcs_info Quickstart:: -* vcs_info Configuration:: -* vcs_info Oddities:: -* vcs_info Quilt Support:: -* vcs_info API:: -* vcs_info Variables:: -* vcs_info Hooks:: -* vcs_info Examples:: - - -File: zsh.info, Node: vcs_info Quickstart, Next: vcs_info Configuration, Up: Version Control Information - -26.5.1 Quickstart ------------------ - -To get this feature working quickly (including colors), you can do the -following (assuming, you loaded vcs_info properly - see above): - - zstyle ':vcs_info:*' actionformats \ - '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' - zstyle ':vcs_info:*' formats \ - '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f ' - zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' - precmd () { vcs_info } - PS1='%F{5}[%F{2}%n%F{5}] %F{3}%3~ ${vcs_info_msg_0_}%f%# ' - -Obviously, the last two lines are there for demonstration. You need to -call vcs_info from your precmd function. Once that is done you need a -_single quoted_ '${vcs_info_msg_0_}' in your prompt. - -To be able to use '${vcs_info_msg_0_}' directly in your prompt like -this, you will need to have the PROMPT_SUBST option enabled. - -Now call the vcs_info_printsys utility from the command line: - - % vcs_info_printsys - ## list of supported version control backends: - ## disabled systems are prefixed by a hash sign (#) - bzr - cdv - cvs - darcs - fossil - git - hg - mtn - p4 - svk - svn - tla - ## flavours (cannot be used in the enable or disable styles; they - ## are enabled and disabled with their master [git-svn -> git]) - ## they *can* be used in contexts: ':vcs_info:git-svn:*'. - git-p4 - git-svn - hg-git - hg-hgsubversion - hg-hgsvn - -You may not want all of these because there is no point in running the -code to detect systems you do not use. So there is a way to disable -some backends altogether: - - zstyle ':vcs_info:*' disable bzr cdv darcs mtn svk tla - -You may also pick a few from that list and enable only those: - - zstyle ':vcs_info:*' enable git cvs svn - -If you rerun vcs_info_printsys after one of these commands, you will see -the backends listed in the disable style (or backends not in the enable -style - if you used that) marked as disabled by a hash sign. That means -the detection of these systems is skipped _completely_. No wasted time -there. - - -File: zsh.info, Node: vcs_info Configuration, Next: vcs_info Oddities, Prev: vcs_info Quickstart, Up: Version Control Information - -26.5.2 Configuration --------------------- - -The vcs_info feature can be configured via zstyle. - -First, the context in which we are working: - :vcs_info:VCS-STRING:USER-CONTEXT:REPO-ROOT-NAME - -VCS-STRING - is one of: git, git-svn, git-p4, hg, hg-git, hg-hgsubversion, - hg-hgsvn, darcs, bzr, cdv, mtn, svn, cvs, svk, tla, p4 or fossil. - This is followed by '.quilt-QUILT-MODE' in Quilt mode (see *note - vcs_info Quilt Support:: for details) and by '+HOOK-NAME' while - hooks are active (see *note vcs_info Hooks:: for details). - - Currently, hooks in quilt mode don't add the '.quilt-QUILT-MODE' - information. This may change in the future. - -USER-CONTEXT - is a freely configurable string, assignable by the user as the - first argument to vcs_info (see its description below). - -REPO-ROOT-NAME - is the name of a repository in which you want a style to match. - So, if you want a setting specific to /usr/src/zsh, with that being - a CVS checkout, you can set REPO-ROOT-NAME to zsh to make it so. - -There are three special values for VCS-STRING: The first is named --init-, that is in effect as long as there was no decision what VCS -backend to use. The second is -preinit-; it is used _before_ vcs_info -is run, when initializing the data exporting variables. The third -special value is formats and is used by the vcs_info_lastmsg for looking -up its styles. - -The initial value of REPO-ROOT-NAME is -all- and it is replaced with the -actual name, as soon as it is known. Only use this part of the context -for defining the formats, actionformats or branchformat styles, as it is -guaranteed that REPO-ROOT-NAME is set up correctly for these only. For -all other styles, just use '*' instead. - -There are two pre-defined values for USER-CONTEXT: -default - the one used if none is specified -command - used by vcs_info_lastmsg to lookup its styles - -You can of course use ':vcs_info:*' to match all VCSs in all -user-contexts at once. - -This is a description of all styles that are looked up. - -formats - A list of formats, used when actionformats is not used (which is - most of the time). - -actionformats - A list of formats, used if there is a special action going on in - your current repository; like an interactive rebase or a merge - conflict. - -branchformat - Some backends replace %b in the formats and actionformats styles - above, not only by a branch name but also by a revision number. - This style lets you modify how that string should look. - -nvcsformats - These "formats" are set when we didn't detect a version control - system for the current directory or vcs_info was disabled. This is - useful if you want vcs_info to completely take over the generation - of your prompt. You would do something like - PS1='${vcs_info_msg_0_}' to accomplish that. - -hgrevformat - hg uses both a hash and a revision number to reference a specific - changeset in a repository. With this style you can format the - revision string (see branchformat) to include either or both. It's - only useful when get-revision is true. Note, the full 40-character - revision id is not available (except when using the use-simple - option) because executing hg more than once per prompt is too slow; - you may customize this behavior using hooks. - -max-exports - Defines the maximum number of vcs_info_msg_*_ variables vcs_info - will set. - -enable - A list of backends you want to use. Checked in the -init- context. - If this list contains an item called NONE no backend is used at all - and vcs_info will do nothing. If this list contains ALL, vcs_info - will use all known backends. Only with ALL in enable will the - disable style have any effect. ALL and NONE are case insensitive. - -disable - A list of VCSs you don't want vcs_info to test for repositories - (checked in the -init- context, too). Only used if enable contains - ALL. - -disable-patterns - A list of patterns that are checked against $PWD. If a pattern - matches, vcs_info will be disabled. This style is checked in the - :vcs_info:-init-:*:-all- context. - - Say, ~/.zsh is a directory under version control, in which you do - not want vcs_info to be active, do: - zstyle ':vcs_info:*' disable-patterns "${(b)HOME}/.zsh(|/*)" - -use-quilt - If enabled, the quilt support code is active in 'addon' mode. See - *note vcs_info Quilt Support:: for details. - -quilt-standalone - If enabled, 'standalone' mode detection is attempted if no VCS is - active in a given directory. See *note vcs_info Quilt Support:: - for details. - -quilt-patch-dir - Overwrite the value of the $QUILT_PATCHES environment variable. - See *note vcs_info Quilt Support:: for details. - -quiltcommand - When quilt itself is called in quilt support, the value of this - style is used as the command name. - -check-for-changes - If enabled, this style causes the %c and %u format escapes to show - when the working directory has uncommitted changes. The strings - displayed by these escapes can be controlled via the stagedstr and - unstagedstr styles. The only backends that currently support this - option are git, hg, and bzr (the latter two only support unstaged). - - For this style to be evaluated with the hg backend, the - get-revision style needs to be set and the use-simple style needs - to be unset. The latter is the default; the former is not. - - With the bzr backend, _lightweight checkouts_ only honor this style - if the use-server style is set. - - Note, the actions taken if this style is enabled are potentially - expensive (read: they may be slow, depending on how big the current - repository is). Therefore, it is disabled by default. - -check-for-staged-changes - This style is like check-for-changes, but it never checks the - worktree files, only the metadata in the .${vcs} dir. Therefore, - this style initializes only the %c escape (with stagedstr) but not - the %u escape. This style is faster than check-for-changes. - - In the git backend, this style checks for changes in the index. - Other backends do not currently implement this style. - - This style is disabled by default. - -stagedstr - This string will be used in the %c escape if there are staged - changes in the repository. - -unstagedstr - This string will be used in the %u escape if there are unstaged - changes in the repository. - -command - This style causes vcs_info to use the supplied string as the - command to use as the VCS's binary. Note, that setting this in - ':vcs_info:*' is not a good idea. - - If the value of this style is empty (which is the default), the - used binary name is the name of the backend in use (e.g. svn is - used in an svn repository). - - The repo-root-name part in the context is always the default -all- - when this style is looked up. - - For example, this style can be used to use binaries from - non-default installation directories. Assume, git is installed in - /usr/bin but your sysadmin installed a newer version in - /usr/local/bin. Instead of changing the order of your $PATH - parameter, you can do this: - zstyle ':vcs_info:git:*:-all-' command /usr/local/bin/git - -use-server - This is used by the Perforce backend (p4) to decide if it should - contact the Perforce server to find out if a directory is managed - by Perforce. This is the only reliable way of doing this, but runs - the risk of a delay if the server name cannot be found. If the - server (more specifically, the HOST:PORT pair describing the - server) cannot be contacted, its name is put into the associative - array vcs_info_p4_dead_servers and is not contacted again during - the session until it is removed by hand. If you do not set this - style, the p4 backend is only usable if you have set the - environment variable P4CONFIG to a file name and have corresponding - files in the root directories of each Perforce client. See - comments in the function VCS_INFO_detect_p4 for more detail. - - The Bazaar backend (bzr) uses this to permit contacting the server - about lightweight checkouts, see the check-for-changes style. - -use-simple - If there are two different ways of gathering information, you can - select the simpler one by setting this style to true; the default - is to use the not-that-simple code, which is potentially a lot - slower but might be more accurate in all possible cases. This - style is used by the bzr, hg, and git backends. In the case of hg - it will invoke the external hexdump program to parse the binary - dirstate cache file; this method will not return the local revision - number. - -get-revision - If set to true, vcs_info goes the extra mile to figure out the - revision of a repository's work tree (currently for the git and hg - backends, where this kind of information is not always vital). For - git, the hash value of the currently checked out commit is - available via the %i expansion. With hg, the local revision number - and the corresponding global hash are available via %i. - -get-mq - If set to true, the hg backend will look for a Mercurial Queue (mq) - patch directory. Information will be available via the '%m' - replacement. - -get-bookmarks - If set to true, the hg backend will try to get a list of current - bookmarks. They will be available via the '%m' replacement. - - The default is to generate a comma-separated list of all bookmark - names that refer to the currently checked out revision. If a - bookmark is active, its name is suffixed an asterisk and placed - first in the list. - -use-prompt-escapes - Determines if we assume that the assembled string from vcs_info - includes prompt escapes. (Used by vcs_info_lastmsg.) - -debug - Enable debugging output to track possible problems. Currently this - style is only used by vcs_info's hooks system. - -hooks - A list style that defines hook-function names. See *note vcs_info - Hooks:: below for details. - -patch-format -nopatch-format - This pair of styles format the patch information used by the %m - expando in formats and actionformats for the git and hg backends. - The value is subject to certain %-expansions described below. The - expanded value is made available in the global backend_misc array - as ${backend_misc[patches]} (also if a set-patch-format hook is - used). - -get-unapplied - This boolean style controls whether a backend should attempt to - gather a list of unapplied patches (for example with Mercurial - Queue patches). - - Used by the quilt, hg, and git backends. - -The default values for these styles in all contexts are: - -formats - " (%s)-[%b]%u%c-" -actionformats - " (%s)-[%b|%a]%u%c-" -branchformat - "%b:%r" (for bzr, svn, svk and hg) -nvcsformats - "" -hgrevformat - "%r:%h" -max-exports - 2 -enable - ALL -disable - (empty list) -disable-patterns - (empty list) -check-for-changes - false -check-for-staged-changes - false -stagedstr - (string: "S") -unstagedstr - (string: "U") -command - (empty string) -use-server - false -use-simple - false -get-revision - false -get-mq - true -get-bookmarks - false -use-prompt-escapes - true -debug - false -hooks - (empty list) -use-quilt - false -quilt-standalone - false -quilt-patch-dir - empty - use $QUILT_PATCHES -quiltcommand - quilt -patch-format - BACKEND DEPENDENT -nopatch-format - BACKEND DEPENDENT -get-unapplied - false - -In normal formats and actionformats the following replacements are done: - -%s - The VCS in use (git, hg, svn, etc.). -%b - Information about the current branch. -%a - An identifier that describes the action. Only makes sense in - actionformats. -%i - The current revision number or identifier. For hg the hgrevformat - style may be used to customize the output. -%c - The string from the stagedstr style if there are staged changes in - the repository. -%u - The string from the unstagedstr style if there are unstaged changes - in the repository. -%R - The base directory of the repository. -%r - The repository name. If %R is /foo/bar/repoXY, %r is repoXY. -%S - A subdirectory within a repository. If $PWD is - /foo/bar/repoXY/beer/tasty, %S is beer/tasty. -%m - A "misc" replacement. It is at the discretion of the backend to - decide what this replacement expands to. - - The hg and git backends use this expando to display patch - information. hg sources patch information from the mq extensions; - git from in-progress rebase and cherry-pick operations and from the - stgit extension. The patch-format and nopatch-format styles - control the generated string. The former is used when at least one - patch from the patch queue has been applied, and the latter - otherwise. - - The hg backend displays bookmark information in this expando (in - addition to mq information). See the get-mq and get-bookmarks - styles. Both of these styles may be enabled at the same time. If - both are enabled, both resulting strings will be shown separated by - a semicolon (that cannot currently be customized). - - The quilt 'standalone' backend sets this expando to the same value - as the %Q expando. - -%Q - Quilt series information. When quilt is used (either in 'addon' - mode or as a 'standalone' backend), this expando is set to the - quilt series' patch-format string. The set-patch-format hook and - nopatch-format style are honoured. - - See *note vcs_info Quilt Support:: below for details. - -In branchformat these replacements are done: - -%b - The branch name. For hg, the branch name can include a topic name. -%r - The current revision number or the hgrevformat style for hg. - -In hgrevformat these replacements are done: - -%r - The current local revision number. -%h - The current global revision identifier. - -In patch-format and nopatch-format these replacements are done: - -%p - The name of the top-most applied patch; may be overridden by the - applied-string hook. -%u - The number of unapplied patches; may be overridden by the - unapplied-string hook. -%n - The number of applied patches. -%c - The number of unapplied patches. -%a - The number of all patches (%a = %n + %c). -%g - The names of active mq guards (hg backend). -%G - The number of active mq guards (hg backend). - -Not all VCS backends have to support all replacements. For nvcsformats -no replacements are performed at all, it is just a string. - - -File: zsh.info, Node: vcs_info Oddities, Next: vcs_info Quilt Support, Prev: vcs_info Configuration, Up: Version Control Information - -26.5.3 Oddities ---------------- - -If you want to use the %b (bold off) prompt expansion in formats, which -expands %b itself, use %%b. That will cause the vcs_info expansion to -replace %%b with %b, so that zsh's prompt expansion mechanism can handle -it. Similarly, to hand down %b from branchformat, use %%%%b. Sorry for -this inconvenience, but it cannot be easily avoided. Luckily we do not -clash with a lot of prompt expansions and this only needs to be done for -those. - -When one of the gen-applied-string, gen-unapplied-string, and -set-patch-format hooks is defined, applying %-escaping -('foo=${foo//'%'/%%}') to the interpolated values for use in the prompt -is the responsibility of those hooks (jointly); when neither of those -hooks is defined, vcs_info handles escaping by itself. We regret this -coupling, but it was required for backwards compatibility. - - -File: zsh.info, Node: vcs_info Quilt Support, Next: vcs_info API, Prev: vcs_info Oddities, Up: Version Control Information - -26.5.4 Quilt Support --------------------- - -‘Quilt’ is not a version control system, therefore this is not -implemented as a backend. It can help keeping track of a series of -patches. People use it to keep a set of changes they want to use on top -of software packages (which is tightly integrated into the package build -process - the Debian project does this for a large number of packages). -Quilt can also help individual developers keep track of their own -patches on top of real version control systems. - -The vcs_info integration tries to support both ways of using quilt by -having two slightly different modes of operation: 'addon' mode and -'standalone' mode). - -Quilt integration is off by default; to enable it, set the use-quilt -style, and add %Q to your formats or actionformats style: - zstyle ':vcs_info:*' use-quilt true - -Styles looked up from the Quilt support code include '.quilt-QUILT-MODE' -in the VCS-STRING part of the context, where QUILT-MODE is either addon -or standalone. Example: -:vcs_info:git.quilt-addon:default:REPO-ROOT-NAME. - -For 'addon' mode to become active vcs_info must have already detected a -real version control system controlling the directory. If that is the -case, a directory that holds quilt's patches needs to be found. That -directory is configurable via the 'QUILT_PATCHES' environment variable. -If that variable exists its value is used, otherwise the value 'patches' -is assumed. The value from $QUILT_PATCHES can be overwritten using the -'quilt-patch-dir' style. (Note: you can use vcs_info to keep the value -of $QUILT_PATCHES correct all the time via the post-quilt hook). - -When the directory in question is found, quilt is assumed to be active. -To gather more information, vcs_info looks for a directory called '.pc'; -Quilt uses that directory to track its current state. If this directory -does not exist we know that quilt has not done anything to the working -directory (read: no patches have been applied yet). - -If patches are applied, vcs_info will try to find out which. If you -want to know which patches of a series are not yet applied, you need to -activate the get-unapplied style in the appropriate context. - -vcs_info allows for very detailed control over how the gathered -information is presented (see *note vcs_info Configuration:: and *note -vcs_info Hooks::), all of which are documented below. Note there are a -number of other patch tracking systems that work on top of a certain -version control system (like stgit for ‘git’, or mq for ‘hg’); the -configuration for systems like that are generally configured the same -way as the ‘quilt’ support. - -If the ‘quilt’ support is working in 'addon' mode, the produced string -is available as a simple format replacement (%Q to be precise), which -can be used in formats and actionformats; see below for details). - -If, on the other hand, the support code is working in 'standalone' mode, -vcs_info will pretend as if quilt were an actual version control system. -That means that the version control system identifier (which otherwise -would be something like 'svn' or 'cvs') will be set to '-quilt-'. This -has implications on the used style context where this identifier is the -second element. vcs_info will have filled in a proper value for the -"repository's" root directory and the string containing the information -about quilt's state will be available as the 'misc' replacement (and %Q -for compatibility with 'addon' mode). - -What is left to discuss is how 'standalone' mode is detected. The -detection itself is a series of searches for directories. You can have -this detection enabled all the time in every directory that is not -otherwise under version control. If you know there is only a limited -set of trees where you would like vcs_info to try and look for Quilt in -'standalone' mode to minimise the amount of searching on every call to -vcs_info, there are a number of ways to do that: - -Essentially, 'standalone' mode detection is controlled by a style called -'quilt-standalone'. It is a string style and its value can have -different effects. The simplest values are: 'always' to run detection -every time vcs_info is run, and 'never' to turn the detection off -entirely. - -If the value of quilt-standalone is something else, it is interpreted -differently. If the value is the name of a scalar variable the value of -that variable is checked and that value is used in the same -'always'/'never' way as described above. - -If the value of quilt-standalone is an array, the elements of that array -are used as directory names under which you want the detection to be -active. - -If quilt-standalone is an associative array, the keys are taken as -directory names under which you want the detection to be active, but -only if the corresponding value is the string 'true'. - -Last, but not least, if the value of quilt-standalone is the name of a -function, the function is called without arguments and the return value -decides whether detection should be active. A '0' return value is true; -a non-zero return value is interpreted as false. - -Note, if there is both a function and a variable by the name of -quilt-standalone, the function will take precedence. - - -File: zsh.info, Node: vcs_info API, Next: vcs_info Variables, Prev: vcs_info Quilt Support, Up: Version Control Information - -26.5.5 Function Descriptions (Public API) ------------------------------------------ - -vcs_info [USER-CONTEXT] - The main function, that runs all backends and assembles all data - into ${vcs_info_msg_*_}. This is the function you want to call - from precmd if you want to include up-to-date information in your - prompt (see *note vcs_info Variables:: below). If an argument is - given, that string will be used instead of default in the - USER-CONTEXT field of the style context. - -vcs_info_hookadd - Statically registers a number of functions to a given hook. The - hook needs to be given as the first argument; what follows is a - list of hook-function names to register to the hook. The '+vi-' - prefix needs to be left out here. See *note vcs_info Hooks:: below - for details. - -vcs_info_hookdel - Remove hook-functions from a given hook. The hook needs to be - given as the first non-option argument; what follows is a list of - hook-function names to un-register from the hook. If '-a' is used - as the first argument, all occurrences of the functions are - unregistered. Otherwise only the last occurrence is removed (if a - function was registered to a hook more than once). The '+vi-' - prefix needs to be left out here. See *note vcs_info Hooks:: below - for details. - -vcs_info_lastmsg - Outputs the current values of ${vcs_info_msg_*_}. Takes into - account the value of the use-prompt-escapes style in - ':vcs_info:formats:command:-all-'. It also only prints max-exports - values. - -vcs_info_printsys [USER-CONTEXT] - Prints a list of all supported version control systems. Useful to - find out possible contexts (and which of them are enabled) or - values for the disable style. - -vcs_info_setsys - Initializes vcs_info's internal list of available backends. With - this function, you can add support for new VCSs without restarting - the shell. - -All functions named VCS_INFO_* are for internal use only. - - -File: zsh.info, Node: vcs_info Variables, Next: vcs_info Hooks, Prev: vcs_info API, Up: Version Control Information - -26.5.6 Variable Description ---------------------------- - -${vcs_info_msg_N_} (Note the trailing underscore) - Where N is an integer, e.g., vcs_info_msg_0_. These variables are - the storage for the informational message the last vcs_info call - has assembled. These are strongly connected to the formats, - actionformats and nvcsformats styles described above. Those styles - are lists. The first member of that list gets expanded into - ${vcs_info_msg_0_}, the second into ${vcs_info_msg_1_} and the Nth - into ${vcs_info_msg_N-1_}. (See the max-exports style above.) - -All variables named VCS_INFO_* are for internal use only. - - -File: zsh.info, Node: vcs_info Hooks, Next: vcs_info Examples, Prev: vcs_info Variables, Up: Version Control Information - -26.5.7 Hooks in vcs_info ------------------------- - -Hooks are places in vcs_info where you can run your own code. That code -can communicate with the code that called it and through that, change -the system's behaviour. - -For configuration, hooks change the style context: - :vcs_info:VCS-STRING+HOOK-NAME:USER-CONTEXT:REPO-ROOT-NAME - -To register functions to a hook, you need to list them in the hooks -style in the appropriate context. - -Example: - zstyle ':vcs_info:*+foo:*' hooks bar baz - -This registers functions to the hook 'foo' for all backends. In order -to avoid namespace problems, all registered function names are prepended -by a '+vi-', so the actual functions called for the 'foo' hook are -'+vi-bar' and '+vi-baz'. - -If you would like to register a function to a hook regardless of the -current context, you may use the vcs_info_hookadd function. To remove a -function that was added like that, the vcs_info_hookdel function can be -used. - -If something seems weird, you can enable the 'debug' boolean style in -the proper context and the hook-calling code will print what it tried to -execute and whether the function in question existed. - -When you register more than one function to a hook, all functions are -executed one after another until one function returns non-zero or until -all functions have been called. Context-sensitive hook functions are -executed before statically registered ones (the ones added by -vcs_info_hookadd). - -You may pass data between functions via an associative array, user_data. -For example: - - +vi-git-myfirsthook(){ - user_data[myval]=$myval - } - +vi-git-mysecondhook(){ - # do something with ${user_data[myval]} - } - -There are a number of variables that are special in hook contexts: - -ret - The return value that the hooks system will return to the caller. - The default is an integer 'zero'. If and how a changed ret value - changes the execution of the caller depends on the specific hook. - See the hook documentation below for details. - -hook_com - An associated array which is used for bidirectional communication - from the caller to hook functions. The used keys depend on the - specific hook. - -context - The active context of the hook. Functions that wish to change this - variable should make it local scope first. - -vcs - The current VCS after it was detected. The same values as in the - enable/disable style are used. Available in all hooks except - start-up. - -Finally, the full list of currently available hooks: - -start-up - Called after starting vcs_info but before the VCS in this directory - is determined. It can be used to deactivate vcs_info temporarily - if necessary. When ret is set to 1, vcs_info aborts and does - nothing; when set to 2, vcs_info sets up everything as if no - version control were active and exits. - -pre-get-data - Same as start-up but after the VCS was detected. - -gen-hg-bookmark-string - Called in the Mercurial backend when a bookmark string is - generated; the get-revision and get-bookmarks styles must be true. - - This hook gets the names of the Mercurial bookmarks that vcs_info - collected from 'hg'. - - If a bookmark is active, the key ${hook_com[hg-active-bookmark]} is - set to its name. The key is otherwise unset. - - When setting ret to non-zero, the string in - ${hook_com[hg-bookmark-string]} will be used in the %m escape in - formats and actionformats and will be available in the global - backend_misc array as ${backend_misc[bookmarks]}. - -gen-applied-string - Called in the git (with stgit or during rebase or merge), and hg - (with mq) backends and in quilt support when the applied-string is - generated; the use-quilt zstyle must be true for quilt (the mq and - stgit backends are active by default). - - The arguments to this hook describe applied patches in the opposite - order, which means that the first argument is the top-most patch - and so forth. - - When the patches' log messages can be extracted, those are embedded - within each argument after a space, so each argument is of the form - 'PATCH-NAME FIRST LINE OF THE LOG MESSAGE', where PATCH-NAME - contains no whitespace. The mq backend passes arguments of the - form 'PATCH NAME', with possible embedded spaces, but without - extracting the patch's log message. - - When setting ret to non-zero, the string in - ${hook_com[applied-string]} will be available as %p in the - patch-format and nopatch-format styles. This hook is, in concert - with set-patch-format, responsible for %-escaping that value for - use in the prompt. (See *note vcs_info Oddities::.) - - The quilt backend passes to this hook the inputs - ${hook_com[quilt-patches-dir]} and, if it has been determined, - ${hook_com[quilt-pc-dir]}. - -gen-unapplied-string - Called in the git (with stgit or during rebase), and hg (with mq) - backend and in quilt support when the unapplied-string is - generated; the get-unapplied style must be true. - - This hook gets the names of all unapplied patches which vcs_info in - order, which means that the first argument is the patch - next-in-line to be applied and so forth. - - The format of each argument is as for gen-applied-string, above. - - When setting ret to non-zero, the string in - ${hook_com[unapplied-string]} will be available as %u in the - patch-format and nopatch-format styles. This hook is, in concert - with set-patch-format, responsible for %-escaping that value for - use in the prompt. (See *note vcs_info Oddities::.) - - The quilt backend passes to this hook the inputs - ${hook_com[quilt-patches-dir]} and, if it has been determined, - ${hook_com[quilt-pc-dir]}. - -gen-mqguards-string - Called in the hg backend when guards-string is generated; the - get-mq style must be true (default). - - This hook gets the names of any active mq guards. - - When setting ret to non-zero, the string in - ${hook_com[guards-string]} will be used in the %g escape in the - patch-format and nopatch-format styles. - -no-vcs - This hooks is called when no version control system was detected. - - The 'hook_com' parameter is not used. - -post-backend - Called as soon as the backend has finished collecting information. - - The 'hook_com' keys available are as for the set-message hook. - -post-quilt - Called after the quilt support is done. The following information - is passed as arguments to the hook: 1. the quilt-support mode - ('addon' or 'standalone'); 2. the directory that contains the - patch series; 3. the directory that holds quilt's status - information (the '.pc' directory) or the string "-nopc-" if that - directory wasn't found. - - The 'hook_com' parameter is not used. - -set-branch-format - Called before 'branchformat' is set. The only argument to the hook - is the format that is configured at this point. - - The 'hook_com' keys considered are 'branch' and 'revision'. They - are set to the values figured out so far by vcs_info and any change - will be used directly when the actual replacement is done. - - If ret is set to non-zero, the string in - ${hook_com[branch-replace]} will be used unchanged as the '%b' - replacement in the variables set by vcs_info. - -set-hgrev-format - Called before a 'hgrevformat' is set. The only argument to the - hook is the format that is configured at this point. - - The 'hook_com' keys considered are 'hash' and 'localrev'. They are - set to the values figured out so far by vcs_info and any change - will be used directly when the actual replacement is done. - - If ret is set to non-zero, the string in ${hook_com[rev-replace]} - will be used unchanged as the '%i' replacement in the variables set - by vcs_info. - -pre-addon-quilt - This hook is used when vcs_info's quilt functionality is active in - "addon" mode (quilt used on top of a real version control system). - It is activated right before any quilt specific action is taken. - - Setting the 'ret' variable in this hook to a non-zero value avoids - any quilt specific actions from being run at all. - -set-patch-format - This hook is used to control some of the possible expansions in - patch-format and nopatch-format styles with patch queue systems - such as quilt, mqueue and the like. - - This hook is used in the git, hg and quilt backends. - - The hook allows the control of the %p (${hook_com[applied]}) and %u - (${hook_com[unapplied]}) expansion in all backends that use the - hook. With the mercurial backend, the %g (${hook_com[guards]}) - expansion is controllable in addition to that. - - If ret is set to non-zero, the string in ${hook_com[patch-replace]} - will be used unchanged instead of an expanded format from - patch-format or nopatch-format. - - This hook is, in concert with the gen-applied-string or - gen-unapplied-string hooks if they are defined, responsible for - %-escaping the final patch-format value for use in the prompt. - (See *note vcs_info Oddities::.) - - The quilt backend passes to this hook the inputs - ${hook_com[quilt-patches-dir]} and, if it has been determined, - ${hook_com[quilt-pc-dir]}. - -set-message - Called each time before a 'vcs_info_msg_N_' message is set. It - takes two arguments; the first being the 'N' in the message - variable name, the second is the currently configured formats or - actionformats. - - There are a number of 'hook_com' keys, that are used here: - 'action', 'branch', 'base', 'base-name', 'subdir', 'staged', - 'unstaged', 'revision', 'misc', 'vcs' and one 'miscN' entry for - each backend-specific data field (N starting at zero). They are - set to the values figured out so far by vcs_info and any change - will be used directly when the actual replacement is done. - - Since this hook is triggered multiple times (once for each - configured formats or actionformats), each of the 'hook_com' keys - mentioned above (except for the miscN entries) has an '_orig' - counterpart, so even if you changed a value to your liking you can - still get the original value in the next run. Changing the '_orig' - values is probably not a good idea. - - If ret is set to non-zero, the string in ${hook_com[message]} will - be used unchanged as the message by vcs_info. - -If all of this sounds rather confusing, take a look at *note vcs_info -Examples:: and also in the Misc/vcs_info-examples file in the Zsh -source. They contain some explanatory code. - - -File: zsh.info, Node: vcs_info Examples, Prev: vcs_info Hooks, Up: Version Control Information - -26.5.8 Examples ---------------- - -Don't use vcs_info at all (even though it's in your prompt): - zstyle ':vcs_info:*' enable NONE - -Disable the backends for bzr and svk: - zstyle ':vcs_info:*' disable bzr svk - -Disable everything _but_ bzr and svk: - zstyle ':vcs_info:*' enable bzr svk - -Provide a special formats for git: - zstyle ':vcs_info:git:*' formats ' GIT, BABY! [%b]' - zstyle ':vcs_info:git:*' actionformats ' GIT ACTION! [%b|%a]' - -All %x expansion in all sorts of formats (formats, actionformats, -branchformat, you name it) are done using the 'zformat' builtin from the -'zsh/zutil' module. That means you can do everything with these %x -items what zformat supports. In particular, if you want something that -is really long to have a fixed width, like a hash in a mercurial -branchformat, you can do this: %12.12i. That'll shrink the 40 character -hash to its 12 leading characters. The form is actually '%MIN.MAXx'. -More is possible. See *note The zsh/zutil Module:: for details. - -Use the quicker bzr backend - zstyle ':vcs_info:bzr:*' use-simple true - -If you do use use-simple, please report if it does -'the-right-thing[tm]'. - -Display the revision number in yellow for bzr and svn: - zstyle ':vcs_info:(svn|bzr):*' \ - branchformat '%b%%F{yellow}:%r' - -The doubled percent sign is explained in *note vcs_info Oddities::. - -Alternatively, one can use the raw colour codes directly: - - zstyle ':vcs_info:(svn|bzr):*' \ - branchformat '%b%{'${fg[yellow]}'%}:%r' - -Normally when a variable is interpolated into a format string, the -variable needs to be %-escaped. In this example we skipped that because -we assume the value of ${fg[yellow]} doesn't contain any % signs. - -Make sure you enclose the color codes in %{...%} if you want to use the -string provided by vcs_info in prompts. - -Here is how to print the VCS information as a command (not in a prompt): - vcsi() { vcs_info interactive; vcs_info_lastmsg } - -This way, you can even define different formats for output via -vcs_info_lastmsg in the ':vcs_info:*:interactive:*' namespace. - -Now as promised, some code that uses hooks: say, you'd like to replace -the string 'svn' by 'subversion' in vcs_info's %s formats replacement. - -First, we will tell vcs_info to call a function when populating the -message variables with the gathered information: - zstyle ':vcs_info:*+set-message:*' hooks svn2subversion - -Nothing happens. Which is reasonable, since we didn't define the actual -function yet. To see what the hooks subsystem is trying to do, enable -the 'debug' style: - zstyle ':vcs_info:*+*:*' debug true - -That should give you an idea what is going on. Specifically, the -function that we are looking for is '+vi-svn2subversion'. Note, the -'+vi-' prefix. So, everything is in order, just as documented. When -you are done checking out the debugging output, disable it again: - zstyle ':vcs_info:*+*:*' debug false - -Now, let's define the function: - - function +vi-svn2subversion() { - [[ ${hook_com[vcs_orig]} == svn ]] && hook_com[vcs]=subversion - } - -Simple enough. And it could have even been simpler, if only we had -registered our function in a less generic context. If we do it only in -the 'svn' backend's context, we don't need to test which the active -backend is: - zstyle ':vcs_info:svn+set-message:*' hooks svn2subversion - - function +vi-svn2subversion() { - hook_com[vcs]=subversion - } - -And finally a little more elaborate example, that uses a hook to create -a customised bookmark string for the hg backend. - -Again, we start off by registering a function: - zstyle ':vcs_info:hg+gen-hg-bookmark-string:*' hooks hgbookmarks - -And then we define the '+vi-hgbookmarks' function: - - function +vi-hgbookmarks() { - # The default is to connect all bookmark names by - # commas. This mixes things up a little. - # Imagine, there's one type of bookmarks that is - # special to you. Say, because it's *your* work. - # Those bookmarks look always like this: "sh/*" - # (because your initials are sh, for example). - # This makes the bookmarks string use only those - # bookmarks. If there's more than one, it - # concatenates them using commas. - # The bookmarks returned by `hg' are available in - # the function's positional parameters. - local s="${(Mj:,:)@:#sh/*}" - # Now, the communication with the code that calls - # the hook functions is done via the hook_com[] - # hash. The key at which the `gen-hg-bookmark-string' - # hook looks is `hg-bookmark-string'. So: - hook_com[hg-bookmark-string]=$s - # And to signal that we want to use the string we - # just generated, set the special variable `ret' to - # something other than the default zero: - ret=1 - return 0 - } - -Some longer examples and code snippets which might be useful are -available in the examples file located at Misc/vcs_info-examples in the -Zsh source directory. - -This concludes our guided tour through zsh's vcs_info. - - -File: zsh.info, Node: Prompt Themes, Next: ZLE Functions, Prev: Version Control Information, Up: User Contributions - -26.6 Prompt Themes -================== - -26.6.1 Installation -------------------- - -You should make sure all the functions from the Functions/Prompts -directory of the source distribution are available; they all begin with -the string 'prompt_' except for the special function 'promptinit'. You -also need the 'colors' and 'add-zsh-hook' functions from Functions/Misc. -All these functions may already be installed on your system; if not, you -will need to find them and copy them. The directory should appear as -one of the elements of the fpath array (this should already be the case -if they were installed), and at least the function promptinit should be -autoloaded; it will autoload the rest. Finally, to initialize the use -of the system you need to call the promptinit function. The following -code in your .zshrc will arrange for this; assume the functions are -stored in the directory ~/myfns: - - fpath=(~/myfns $fpath) - autoload -U promptinit - promptinit - -26.6.2 Theme Selection ----------------------- - -Use the prompt command to select your preferred theme. This command may -be added to your .zshrc following the call to promptinit in order to -start zsh with a theme already selected. - -prompt [ -c | -l ] -prompt [ -p | -h ] [ THEME ... ] -prompt [ -s ] THEME [ ARG ... ] - Set or examine the prompt theme. With no options and a THEME - argument, the theme with that name is set as the current theme. - The available themes are determined at run time; use the -l option - to see a list. The special THEME 'random' selects at random one of - the available themes and sets your prompt to that. - - In some cases the THEME may be modified by one or more arguments, - which should be given after the theme name. See the help for each - theme for descriptions of these arguments. - - Options are: - - -c - Show the currently selected theme and its parameters, if any. - -l - List all available prompt themes. - -p - Preview the theme named by THEME, or all themes if no THEME is - given. - -h - Show help for the theme named by THEME, or for the prompt - function if no THEME is given. - -s - Set THEME as the current theme and save state. - -prompt_THEME_setup - Each available THEME has a setup function which is called by the - prompt function to install that theme. This function may define - other functions as necessary to maintain the prompt, including - functions used to preview the prompt or provide help for its use. - You should not normally call a theme's setup function directly. - -26.6.3 Utility Themes ---------------------- - -prompt off - The theme 'off' sets all the prompt variables to minimal values - with no special effects. - -prompt default - The theme 'default' sets all prompt variables to the same state as - if an interactive zsh was started with no initialization files. - -prompt restore - The special theme 'restore' erases all theme settings and sets - prompt variables to their state before the first time the 'prompt' - function was run, provided each theme has properly defined its - cleanup (see below). - - Note that you can undo 'prompt off' and 'prompt default' with - 'prompt restore', but a second restore does not undo the first. - -26.6.4 Writing Themes ---------------------- - -The first step for adding your own theme is to choose a name for it, and -create a file 'prompt_NAME_setup' in a directory in your fpath, such as -~/myfns in the example above. The file should at minimum contain -assignments for the prompt variables that your theme wishes to modify. -By convention, themes use PS1, PS2, RPS1, etc., rather than the longer -PROMPT and RPROMPT. - -The file is autoloaded as a function in the current shell context, so it -may contain any necessary commands to customize your theme, including -defining additional functions. To make some complex tasks easier, your -setup function may also do any of the following: - -Assign prompt_opts - The array prompt_opts may be assigned any of "bang", "cr", - "percent", "sp", and/or "subst" as values. The corresponding - setopts (promptbang, etc.) are turned on, all other prompt-related - options are turned off. The prompt_opts array preserves setopts - even beyond the scope of localoptions, should your function need - that. - -Modify hooks - Use of add-zsh-hook and add-zle-hook-widget is recommended (see the - ‘Manipulating Hook Functions’ section above). All hooks that - follow the naming pattern prompt_THEME_HOOK are automatically - removed when the prompt theme changes or is disabled. - -Declare cleanup - If your function makes any other changes that should be undone when - the theme is disabled, your setup function may call - - prompt_cleanup COMMAND - - where COMMAND should be suitably quoted. If your theme is ever - disabled or replaced by another, COMMAND is executed with eval. - You may declare more than one such cleanup hook. - -Define preview - Define or autoload a function prompt_NAME_preview to display a - simulated version of your prompt. A simple default previewer is - defined by promptinit for themes that do not define their own. - This preview function is called by 'prompt -p'. - -Provide help - Define or autoload a function prompt_NAME_help to display - documentation or help text for your theme. This help function is - called by 'prompt -h'. - - -File: zsh.info, Node: ZLE Functions, Next: Exception Handling, Prev: Prompt Themes, Up: User Contributions - -26.7 ZLE Functions -================== - -26.7.1 Widgets --------------- - -These functions all implement user-defined ZLE widgets (see *note Zsh -Line Editor::) which can be bound to keystrokes in interactive shells. -To use them, your .zshrc should contain lines of the form - - autoload FUNCTION - zle -N FUNCTION - -followed by an appropriate bindkey command to associate the function -with a key sequence. Suggested bindings are described below. - -bash-style word functions - If you are looking for functions to implement moving over and - editing words in the manner of bash, where only alphanumeric - characters are considered word characters, you can use the - functions described in the next section. The following is - sufficient: - - autoload -U select-word-style - select-word-style bash - -forward-word-match, backward-word-match -kill-word-match, backward-kill-word-match -transpose-words-match, capitalize-word-match -up-case-word-match, down-case-word-match -delete-whole-word-match, select-word-match -select-word-style, match-word-context, match-words-by-style - The first eight '-match' functions are drop-in replacements for the - builtin widgets without the suffix. By default they behave in a - similar way. However, by the use of styles and the function - select-word-style, the way words are matched can be altered. - select-word-match is intended to be used as a text object in vi - mode but with custom word styles. For comparison, the widgets - described in *note Text Objects:: use fixed definitions of words, - compatible with the vim editor. - - The simplest way of configuring the functions is to use - select-word-style, which can either be called as a normal function - with the appropriate argument, or invoked as a user-defined widget - that will prompt for the first character of the word style to be - used. The first time it is invoked, the first eight -match - functions will automatically replace the builtin versions, so they - do not need to be loaded explicitly. - - The word styles available are as follows. Only the first character - is examined. - - bash - Word characters are alphanumeric characters only. - - normal - As in normal shell operation: word characters are alphanumeric - characters plus any characters present in the string given by - the parameter $WORDCHARS. - - shell - Words are complete shell command arguments, possibly including - complete quoted strings, or any tokens special to the shell. - - whitespace - Words are any set of characters delimited by whitespace. - - default - Restore the default settings; this is usually the same as - 'normal'. - - All but 'default' can be input as an upper case character, which - has the same effect but with subword matching turned on. In this - case, words with upper case characters are treated specially: each - separate run of upper case characters, or an upper case character - followed by any number of other characters, is considered a word. - The style subword-range can supply an alternative character range - to the default '[:upper:]'; the value of the style is treated as - the contents of a '[...]' pattern (note that the outer brackets - should not be supplied, only those surrounding named ranges). - - More control can be obtained using the zstyle command, as described - in *note The zsh/zutil Module::. Each style is looked up in the - context :zle:WIDGET where WIDGET is the name of the user-defined - widget, not the name of the function implementing it, so in the - case of the definitions supplied by select-word-style the - appropriate contexts are :zle:forward-word, and so on. The - function select-word-style itself always defines styles for the - context ':zle:*' which can be overridden by more specific (longer) - patterns as well as explicit contexts. - - The style word-style specifies the rules to use. This may have the - following values. - - normal - Use the standard shell rules, i.e. alphanumerics and - $WORDCHARS, unless overridden by the styles word-chars or - word-class. - - specified - Similar to normal, but _only_ the specified characters, and - not also alphanumerics, are considered word characters. - - unspecified - The negation of specified. The given characters are those - which will _not_ be considered part of a word. - - shell - Words are obtained by using the syntactic rules for generating - shell command arguments. In addition, special tokens which - are never command arguments such as '()' are also treated as - words. - - whitespace - Words are whitespace-delimited strings of characters. - - The first three of those rules usually use $WORDCHARS, but the - value in the parameter can be overridden by the style word-chars, - which works in exactly the same way as $WORDCHARS. In addition, - the style word-class uses character class syntax to group - characters and takes precedence over word-chars if both are set. - The word-class style does not include the surrounding brackets of - the character class; for example, '-:[:alnum:]' is a valid - word-class to include all alphanumerics plus the characters '-' and - ':'. Be careful including ']', '^' and '-' as these are special - inside character classes. - - word-style may also have '-subword' appended to its value to turn - on subword matching, as described above. - - The style skip-chars is mostly useful for transpose-words and - similar functions. If set, it gives a count of characters starting - at the cursor position which will not be considered part of the - word and are treated as space, regardless of what they actually - are. For example, if - - zstyle ':zle:transpose-words' skip-chars 1 - - has been set, and transpose-words-match is called with the cursor - on the X of fooXbar, where X can be any character, then the - resulting expression is barXfoo. - - Finer grained control can be obtained by setting the style - word-context to an array of pairs of entries. Each pair of entries - consists of a PATTERN and a SUBCONTEXT. The shell argument the - cursor is on is matched against each PATTERN in turn until one - matches; if it does, the context is extended by a colon and the - corresponding SUBCONTEXT. Note that the test is made against the - original word on the line, with no stripping of quotes. Special - handling is done between words: the current context is examined and - if it contains the string between the word is set to a single - space; else if it is contains the string back, the word before the - cursor is considered, else the word after cursor is considered. - Some examples are given below. - - The style skip-whitespace-first is only used with the forward-word - widget. If it is set to true, then forward-word skips any - non-word-characters, followed by any non-word-characters: this is - similar to the behaviour of other word-orientated widgets, and also - that used by other editors, however it differs from the standard - zsh behaviour. When using select-word-style the widget is set in - the context :zle:* to true if the word style is bash and false - otherwise. It may be overridden by setting it in the more specific - context :zle:forward-word*. - - It is possible to create widgets with specific behaviour by - defining a new widget implemented by the appropriate generic - function, then setting a style for the context of the specific - widget. For example, the following defines a widget - backward-kill-space-word using backward-kill-word-match, the - generic widget implementing backward-kill-word behaviour, and - ensures that the new widget always implements space-delimited - behaviour. - - zle -N backward-kill-space-word backward-kill-word-match - zstyle :zle:backward-kill-space-word word-style space - - The widget backward-kill-space-word can now be bound to a key. - - Here are some further examples of use of the styles, actually taken - from the simplified interface in select-word-style: - - zstyle ':zle:*' word-style standard - zstyle ':zle:*' word-chars '' - - Implements bash-style word handling for all widgets, i.e. only - alphanumerics are word characters; equivalent to setting the - parameter WORDCHARS empty for the given context. - - style ':zle:*kill*' word-style space - - Uses space-delimited words for widgets with the word 'kill' in the - name. Neither of the styles word-chars nor word-class is used in - this case. - - Here are some examples of use of the word-context style to extend - the context. - - zstyle ':zle:*' word-context \ - "*/*" filename "[[:space:]]" whitespace - zstyle ':zle:transpose-words:whitespace' word-style shell - zstyle ':zle:transpose-words:filename' word-style normal - zstyle ':zle:transpose-words:filename' word-chars '' - - This provides two different ways of using transpose-words depending - on whether the cursor is on whitespace between words or on a - filename, here any word containing a /. On whitespace, complete - arguments as defined by standard shell rules will be transposed. - In a filename, only alphanumerics will be transposed. Elsewhere, - words will be transposed using the default style for - :zle:transpose-words. - - The word matching and all the handling of zstyle settings is - actually implemented by the function match-words-by-style. This - can be used to create new user-defined widgets. The calling - function should set the local parameter curcontext to :zle:WIDGET, - create the local parameter matched_words and call - match-words-by-style with no arguments. On return, matched_words - will be set to an array with the elements: (1) the start of the - line (2) the word before the cursor (3) any non-word characters - between that word and the cursor (4) any non-word character at the - cursor position plus any remaining non-word characters before the - next word, including all characters specified by the skip-chars - style, (5) the word at or following the cursor (6) any non-word - characters following that word (7) the remainder of the line. Any - of the elements may be an empty string; the calling function should - test for this to decide whether it can perform its function. - - If the variable matched_words is defined by the caller to - match-words-by-style as an associative array (local -A - matched_words), then the seven values given above should be - retrieved from it as elements named start, word-before-cursor, - ws-before-cursor, ws-after-cursor, word-after-cursor, - ws-after-word, and end. In addition the element is-word-start is 1 - if the cursor is on the start of a word or subword, or on white - space before it (the cases can be distinguished by testing the - ws-after-cursor element) and 0 otherwise. This form is recommended - for future compatibility. - - It is possible to pass options with arguments to - match-words-by-style to override the use of styles. The options - are: - -w - WORD-STYLE - -s - SKIP-CHARS - -c - WORD-CLASS - -C - WORD-CHARS - -r - SUBWORD-RANGE - - For example, match-words-by-style -w shell -c 0 may be used to - extract the command argument around the cursor. - - The word-context style is implemented by the function - match-word-context. This should not usually need to be called - directly. - -bracketed-paste-magic - The bracketed-paste widget (see *note Miscellaneous:: in *note - Standard Widgets::) inserts pasted text literally into the editor - buffer rather than interpret it as keystrokes. This disables some - common usages where the self-insert widget is replaced in order to - accomplish some extra processing. An example is the contributed - url-quote-magic widget described below. - - The bracketed-paste-magic widget is meant to replace - bracketed-paste with a wrapper that re-enables these self-insert - actions, and other actions as selected by zstyles. Therefore this - widget is installed with - - autoload -Uz bracketed-paste-magic - zle -N bracketed-paste bracketed-paste-magic - - Other than enabling some widget processing, bracketed-paste-magic - attempts to replicate bracketed-paste as faithfully as possible. - - The following zstyles may be set to control processing of pasted - text. All are looked up in the context ':bracketed-paste-magic'. - - active-widgets - A list of patterns matching widget names that should be - activated during the paste. All other key sequences are - processed as self-insert-unmeta. The default is 'self-*' so - any user-defined widgets named with that prefix are active - along with the builtin self-insert. - - If this style is not set (explicitly deleted) or set to an - empty value, no widgets are active and the pasted text is - inserted literally. If the value includes 'undefined-key', - any unknown sequences are discarded from the pasted text. - - inactive-keys - The inverse of active-widgets, a list of key sequences that - always use self-insert-unmeta even when bound to an active - widget. Note that this is a list of literal key sequences, - not patterns. - - paste-init - A list of function names, called in widget context (but not as - widgets). The functions are called in order until one of them - returns a non-zero status. The parameter 'PASTED' contains - the initial state of the pasted text. All other ZLE - parameters such as 'BUFFER' have their normal values and - side-effects, and full history is available, so for example - paste-init functions may move words from BUFFER into PASTED to - make those words visible to the active-widgets. - - A non-zero return from a paste-init function does _not_ - prevent the paste itself from proceeding. - - Loading bracketed-paste-magic defines backward-extend-paste, a - helper function for use in paste-init. - - zstyle :bracketed-paste-magic paste-init \ - backward-extend-paste - - When a paste would insert into the middle of a word or append - text to a word already on the line, backward-extend-paste - moves the prefix from LBUFFER into PASTED so that the - active-widgets see the full word so far. This may be useful - with url-quote-magic. - - paste-finish - Another list of function names called in order until one - returns non-zero. These functions are called _after_ the - pasted text has been processed by the active-widgets, but - _before_ it is inserted into 'BUFFER'. ZLE parameters have - their normal values and side-effects. - - A non-zero return from a paste-finish function does _not_ - prevent the paste itself from proceeding. - - Loading bracketed-paste-magic also defines quote-paste, a - helper function for use in paste-finish. - - zstyle :bracketed-paste-magic paste-finish \ - quote-paste - zstyle :bracketed-paste-magic:finish quote-style \ - qqq - - When the pasted text is inserted into BUFFER, it is quoted per - the quote-style value. To forcibly turn off the built-in - numeric prefix quoting of bracketed-paste, use: - - zstyle :bracketed-paste-magic:finish quote-style \ - none - - _Important:_ During active-widgets processing of the paste (after - paste-init and before paste-finish), BUFFER starts empty and - history is restricted, so cursor motions, etc., may not pass - outside of the pasted content. Text assigned to BUFFER by the - active widgets is copied back into PASTED before paste-finish. - -copy-earlier-word - This widget works like a combination of insert-last-word and - copy-prev-shell-word. Repeated invocations of the widget retrieve - earlier words on the relevant history line. With a numeric - argument N, insert the Nth word from the history line; N may be - negative to count from the end of the line. - - If insert-last-word has been used to retrieve the last word on a - previous history line, repeated invocations will replace that word - with earlier words from the same line. - - Otherwise, the widget applies to words on the line currently being - edited. The widget style can be set to the name of another widget - that should be called to retrieve words. This widget must accept - the same three arguments as insert-last-word. - -cycle-completion-positions - After inserting an unambiguous string into the command line, the - new function based completion system may know about multiple places - in this string where characters are missing or differ from at least - one of the possible matches. It will then place the cursor on the - position it considers to be the most interesting one, i.e. the one - where one can disambiguate between as many matches as possible with - as little typing as possible. - - This widget allows the cursor to be easily moved to the other - interesting spots. It can be invoked repeatedly to cycle between - all positions reported by the completion system. - -delete-whole-word-match - This is another function which works like the -match functions - described immediately above, i.e. using styles to decide the word - boundaries. However, it is not a replacement for any existing - function. - - The basic behaviour is to delete the word around the cursor. There - is no numeric argument handling; only the single word around the - cursor is considered. If the widget contains the string kill, the - removed text will be placed in the cutbuffer for future yanking. - This can be obtained by defining kill-whole-word-match as follows: - - zle -N kill-whole-word-match delete-whole-word-match - - and then binding the widget kill-whole-word-match. - -up-line-or-beginning-search, down-line-or-beginning-search - These widgets are similar to the builtin functions - up-line-or-search and down-line-or-search: if in a multiline buffer - they move up or down within the buffer, otherwise they search for a - history line matching the start of the current line. In this case, - however, they search for a line which matches the current line up - to the current cursor position, in the manner of - history-beginning-search-backward and -forward, rather than the - first word on the line. - -edit-command-line - Edit the command line using your visual editor, as in ksh. - - bindkey -M vicmd v edit-command-line - - The editor to be used can also be specified using the editor style - in the context of the widget. It is specified as an array of - command and arguments: - - zstyle :zle:edit-command-line editor gvim -f - -expand-absolute-path - Expand the file name under the cursor to an absolute path, - resolving symbolic links. Where possible, the initial path segment - is turned into a named directory or reference to a user's home - directory. - -history-search-end - This function implements the widgets - history-beginning-search-backward-end and - history-beginning-search-forward-end. These commands work by first - calling the corresponding builtin widget (see *note History - Control::) and then moving the cursor to the end of the line. The - original cursor position is remembered and restored before calling - the builtin widget a second time, so that the same search is - repeated to look farther through the history. - - Although you autoload only one function, the commands to use it are - slightly different because it implements two widgets. - - zle -N history-beginning-search-backward-end \ - history-search-end - zle -N history-beginning-search-forward-end \ - history-search-end - bindkey '\e^P' history-beginning-search-backward-end - bindkey '\e^N' history-beginning-search-forward-end - -history-beginning-search-menu - This function implements yet another form of history searching. - The text before the cursor is used to select lines from the - history, as for history-beginning-search-backward except that all - matches are shown in a numbered menu. Typing the appropriate - digits inserts the full history line. Note that leading zeroes - must be typed (they are only shown when necessary for removing - ambiguity). The entire history is searched; there is no - distinction between forwards and backwards. - - With a numeric argument, the search is not anchored to the start of - the line; the string typed by the use may appear anywhere in the - line in the history. - - If the widget name contains '-end' the cursor is moved to the end - of the line inserted. If the widget name contains '-space' any - space in the text typed is treated as a wildcard and can match - anything (hence a leading space is equivalent to giving a numeric - argument). Both forms can be combined, for example: - - zle -N history-beginning-search-menu-space-end \ - history-beginning-search-menu - -history-pattern-search - The function history-pattern-search implements widgets which prompt - for a pattern with which to search the history backwards or - forwards. The pattern is in the usual zsh format, however the - first character may be ^ to anchor the search to the start of the - line, and the last character may be $ to anchor the search to the - end of the line. If the search was not anchored to the end of the - line the cursor is positioned just after the pattern found. - - The commands to create bindable widgets are similar to those in the - example immediately above: - - autoload -U history-pattern-search - zle -N history-pattern-search-backward history-pattern-search - zle -N history-pattern-search-forward history-pattern-search - -incarg - Typing the keystrokes for this widget with the cursor placed on or - to the left of an integer causes that integer to be incremented by - one. With a numeric argument, the number is incremented by the - amount of the argument (decremented if the numeric argument is - negative). The shell parameter incarg may be set to change the - default increment to something other than one. - - bindkey '^X+' incarg - -incremental-complete-word - This allows incremental completion of a word. After starting this - command, a list of completion choices can be shown after every - character you type, which you can delete with ^H or DEL. Pressing - return accepts the completion so far and returns you to normal - editing (that is, the command line is _not_ immediately executed). - You can hit TAB to do normal completion, ^G to abort back to the - state when you started, and ^D to list the matches. - - This works only with the new function based completion system. - - bindkey '^Xi' incremental-complete-word - -insert-composed-char - This function allows you to compose characters that don't appear on - the keyboard to be inserted into the command line. The command is - followed by two keys corresponding to ASCII characters (there is no - prompt). For accented characters, the two keys are a base - character followed by a code for the accent, while for other - special characters the two characters together form a mnemonic for - the character to be inserted. The two-character codes are a subset - of those given by RFC 1345 (see for example - <http://www.faqs.org/rfcs/rfc1345.html>). - - The function may optionally be followed by up to two characters - which replace one or both of the characters read from the keyboard; - if both characters are supplied, no input is read. For example, - insert-composed-char a: can be used within a widget to insert an a - with umlaut into the command line. This has the advantages over - use of a literal character that it is more portable. - - For best results zsh should have been built with support for - multibyte characters (configured with --enable-multibyte); however, - the function works for the limited range of characters available in - single-byte character sets such as ISO-8859-1. - - The character is converted into the local representation and - inserted into the command line at the cursor position. (The - conversion is done within the shell, using whatever facilities the - C library provides.) With a numeric argument, the character and - its code are previewed in the status line - - The function may be run outside zle in which case it prints the - character (together with a newline) to standard output. Input is - still read from keystrokes. - - See insert-unicode-char for an alternative way of inserting Unicode - characters using their hexadecimal character number. - - The set of accented characters is reasonably complete up to Unicode - character U+0180, the set of special characters less so. However, - it is very sporadic from that point. Adding new characters is - easy, however; see the function define-composed-chars. Please send - any additions to zsh-workers@zsh.org. - - The codes for the second character when used to accent the first - are as follows. Note that not every character can take every - accent. - ! - Grave. - ' - Acute. - > - Circumflex. - ? - Tilde. (This is not ~ as RFC 1345 does not assume that - character is present on the keyboard.) - - - Macron. (A horizontal bar over the base character.) - ( - Breve. (A shallow dish shape over the base character.) - . - Dot above the base character, or in the case of i no dot, or - in the case of L and l a centered dot. - : - Diaeresis (Umlaut). - c - Cedilla. - _ - Underline, however there are currently no underlined - characters. - / - Stroke through the base character. - " - Double acute (only supported on a few letters). - ; - Ogonek. (A little forward facing hook at the bottom right of - the character.) - < - Caron. (A little v over the letter.) - 0 - Circle over the base character. - 2 - Hook over the base character. - 9 - Horn over the base character. - - The most common characters from the Arabic, Cyrillic, Greek and - Hebrew alphabets are available; consult RFC 1345 for the - appropriate sequences. In addition, a set of two letter codes not - in RFC 1345 are available for the double-width characters - corresponding to ASCII characters from ! to ~ (0x21 to 0x7e) by - preceding the character with ^, for example ^A for a double-width - A. - - The following other two-character sequences are understood. - - ASCII characters - These are already present on most keyboards: - <( - Left square bracket - // - Backslash (solidus) - )> - Right square bracket - (! - Left brace (curly bracket) - !! - Vertical bar (pipe symbol) - !) - Right brace (curly bracket) - '? - Tilde - - Special letters - Characters found in various variants of the Latin alphabet: - ss - Eszett (scharfes S) - D-, d- - Eth - TH, th - Thorn - kk - Kra - 'n - 'n - NG, ng - Ng - OI, oi - Oi - yr - yr - ED - ezh - - Currency symbols - Ct - Cent - Pd - Pound sterling (also lira and others) - Cu - Currency - Ye - Yen - Eu - Euro (N.B. not in RFC 1345) - - Punctuation characters - References to "right" quotes indicate the shape (like a 9 - rather than 6) rather than their grammatical use. (For - example, a "right" low double quote is used to open quotations - in German.) - !I - Inverted exclamation mark - BB - Broken vertical bar - SE - Section - Co - Copyright - -a - Spanish feminine ordinal indicator - << - Left guillemet - -- - Soft hyphen - Rg - Registered trade mark - PI - Pilcrow (paragraph) - -o - Spanish masculine ordinal indicator - >> - Right guillemet - ?I - Inverted question mark - -1 - Hyphen - -N - En dash - -M - Em dash - -3 - Horizontal bar - :3 - Vertical ellipsis - .3 - Horizontal midline ellipsis - !2 - Double vertical line - =2 - Double low line - '6 - Left single quote - '9 - Right single quote - .9 - "Right" low quote - 9' - Reversed "right" quote - "6 - Left double quote - "9 - Right double quote - :9 - "Right" low double quote - 9" - Reversed "right" double quote - /- - Dagger - /= - Double dagger - - Mathematical symbols - DG - Degree - -2, +-, -+ - - sign, +/- sign, -/+ sign - 2S - Superscript 2 - 3S - Superscript 3 - 1S - Superscript 1 - My - Micro - .M - Middle dot - 14 - Quarter - 12 - Half - 34 - Three quarters - *X - Multiplication - -: - Division - %0 - Per mille - FA, TE, /0 - For all, there exists, empty set - dP, DE, NB - Partial derivative, delta (increment), del (nabla) - (-, -) - Element of, contains - *P, +Z - Product, sum - *-, Ob, Sb - Asterisk, ring, bullet - RT, 0(, 00 - Root sign, proportional to, infinity - - Other symbols - cS, cH, cD, cC - Card suits: spades, hearts, diamonds, clubs - Md, M8, M2, Mb, Mx, MX - Musical notation: crotchet (quarter note), quaver (eighth - note), semiquavers (sixteenth notes), flag sign, natural - sign, sharp sign - Fm, Ml - Female, male - - Accents on their own - '> - Circumflex (same as caret, ^) - '! - Grave (same as backtick, `) - ', - Cedilla - ': - Diaeresis (Umlaut) - 'm - Macron - '' - Acute - -insert-files - This function allows you type a file pattern, and see the results - of the expansion at each step. When you hit return, all expansions - are inserted into the command line. - - bindkey '^Xf' insert-files - -insert-unicode-char - When first executed, the user inputs a set of hexadecimal digits. - This is terminated with another call to insert-unicode-char. The - digits are then turned into the corresponding Unicode character. - For example, if the widget is bound to ^XU, the character sequence - '^XU 4 c ^XU' inserts L (Unicode U+004c). - - See insert-composed-char for a way of inserting characters using a - two-character mnemonic. - -narrow-to-region [ -p PRE ] [ -P POST ] - [ -S STATEPM | -R STATEPM | [ -l LBUFVAR ] [ -r RBUFVAR ] ] - [ -n ] [ START END ] -narrow-to-region-invisible - Narrow the editable portion of the buffer to the region between the - cursor and the mark, which may be in either order. The region may - not be empty. - - narrow-to-region may be used as a widget or called as a function - from a user-defined widget; by default, the text outside the - editable area remains visible. A recursive-edit is performed and - the original widening status is then restored. Various options and - arguments are available when it is called as a function. - - The options -p PRETEXT and -P POSTTEXT may be used to replace the - text before and after the display for the duration of the function; - either or both may be an empty string. - - If the option -n is also given, PRETEXT or POSTTEXT will only be - inserted if there is text before or after the region respectively - which will be made invisible. - - Two numeric arguments may be given which will be used instead of - the cursor and mark positions. - - The option -S STATEPM is used to narrow according to the other - options while saving the original state in the parameter with name - STATEPM, while the option -R STATEPM is used to restore the state - from the parameter; note in both cases the _name_ of the parameter - is required. In the second case, other options and arguments are - irrelevant. When this method is used, no recursive-edit is - performed; the calling widget should call this function with the - option -S, perform its own editing on the command line or pass - control to the user via 'zle recursive-edit', then call this - function with the option -R. The argument STATEPM must be a - suitable name for an ordinary parameter, except that parameters - beginning with the prefix _ntr_ are reserved for use within - narrow-to-region. Typically the parameter will be local to the - calling function. - - The options -l LBUFVAR and -r RBUFVAR may be used to specify - parameters where the widget will store the resulting text from the - operation. The parameter LBUFVAR will contain LBUFFER and RBUFVAR - will contain RBUFFER. Neither of these two options may be used - with -S or -R. - - narrow-to-region-invisible is a simple widget which calls - narrow-to-region with arguments which replace any text outside the - region with '...'. It does not take any arguments. - - The display is restored (and the widget returns) upon any zle - command which would usually cause the line to be accepted or - aborted. Hence an additional such command is required to accept or - abort the current line. - - The return status of both widgets is zero if the line was accepted, - else non-zero. - - Here is a trivial example of a widget using this feature. - local state - narrow-to-region -p $'Editing restricted region\n' \ - -P '' -S state - zle recursive-edit - narrow-to-region -R state - -predict-on - This set of functions implements predictive typing using history - search. After predict-on, typing characters causes the editor to - look backward in the history for the first line beginning with what - you have typed so far. After predict-off, editing returns to - normal for the line found. In fact, you often don't even need to - use predict-off, because if the line doesn't match something in the - history, adding a key performs standard completion, and then - inserts itself if no completions were found. However, editing in - the middle of a line is liable to confuse prediction; see the - toggle style below. - - With the function based completion system (which is needed for - this), you should be able to type TAB at almost any point to - advance the cursor to the next ''interesting'' character position - (usually the end of the current word, but sometimes somewhere in - the middle of the word). And of course as soon as the entire line - is what you want, you can accept with return, without needing to - move the cursor to the end first. - - The first time predict-on is used, it creates several additional - widget functions: - - delete-backward-and-predict - Replaces the backward-delete-char widget. You do not need to - bind this yourself. - insert-and-predict - Implements predictive typing by replacing the self-insert - widget. You do not need to bind this yourself. - predict-off - Turns off predictive typing. - - Although you autoload only the predict-on function, it is necessary - to create a keybinding for predict-off as well. - - zle -N predict-on - zle -N predict-off - bindkey '^X^Z' predict-on - bindkey '^Z' predict-off - -read-from-minibuffer - This is most useful when called as a function from inside a widget, - but will work correctly as a widget in its own right. It prompts - for a value below the current command line; a value may be input - using all of the standard zle operations (and not merely the - restricted set available when executing, for example, - execute-named-cmd). The value is then returned to the calling - function in the parameter $REPLY and the editing buffer restored to - its previous state. If the read was aborted by a keyboard break - (typically ^G), the function returns status 1 and $REPLY is not - set. - - If one argument is supplied to the function it is taken as a - prompt, otherwise '? ' is used. If two arguments are supplied, - they are the prompt and the initial value of $LBUFFER, and if a - third argument is given it is the initial value of $RBUFFER. This - provides a default value and starting cursor placement. Upon - return the entire buffer is the value of $REPLY. - - One option is available: '-k NUM' specifies that NUM characters are - to be read instead of a whole line. The line editor is not invoked - recursively in this case, so depending on the terminal settings the - input may not be visible, and only the input keys are placed in - $REPLY, not the entire buffer. Note that unlike the read builtin - NUM must be given; there is no default. - - The name is a slight misnomer, as in fact the shell's own - minibuffer is not used. Hence it is still possible to call - executed-named-cmd and similar functions while reading a value. - -replace-argument, replace-argument-edit - The function replace-argument can be used to replace a command line - argument in the current command line or, if the current command - line is empty, in the last command line executed (the new command - line is not executed). Arguments are as delimited by standard - shell syntax, - - If a numeric argument is given, that specifies the argument to be - replaced. 0 means the command name, as in history expansion. A - negative numeric argument counts backward from the last word. - - If no numeric argument is given, the current argument is replaced; - this is the last argument if the previous history line is being - used. - - The function prompts for a replacement argument. - - If the widget contains the string edit, for example is defined as - - zle -N replace-argument-edit replace-argument - - then the function presents the current value of the argument for - editing, otherwise the editing buffer for the replacement is - initially empty. - -replace-string, replace-pattern -replace-string-again, replace-pattern-again - The function replace-string implements three widgets. If defined - under the same name as the function, it prompts for two strings; - the first (source) string will be replaced by the second everywhere - it occurs in the line editing buffer. - - If the widget name contains the word 'pattern', for example by - defining the widget using the command 'zle -N replace-pattern - replace-string', then the matching is performed using zsh patterns. - All zsh extended globbing patterns can be used in the source - string; note that unlike filename generation the pattern does not - need to match an entire word, nor do glob qualifiers have any - effect. In addition, the replacement string can contain parameter - or command substitutions. Furthermore, a '&' in the replacement - string will be replaced with the matched source string, and a - backquoted digit '\N' will be replaced by the Nth parenthesised - expression matched. The form '\{N}' may be used to protect the - digit from following digits. - - If the widget instead contains the word 'regex' (or 'regexp'), then - the matching is performed using regular expressions, respecting the - setting of the option RE_MATCH_PCRE (see the description of the - function regexp-replace below). The special replacement facilities - described above for pattern matching are available. - - By default the previous source or replacement string will not be - offered for editing. However, this feature can be activated by - setting the style edit-previous in the context :zle:WIDGET (for - example, :zle:replace-string) to true. In addition, a positive - numeric argument forces the previous values to be offered, a - negative or zero argument forces them not to be. - - The function replace-string-again can be used to repeat the - previous replacement; no prompting is done. As with - replace-string, if the name of the widget contains the word - 'pattern' or 'regex', pattern or regular expression matching is - performed, else a literal string replacement. Note that the - previous source and replacement text are the same whether pattern, - regular expression or string matching is used. - - In addition, replace-string shows the previous replacement above - the prompt, so long as there was one during the current session; if - the source string is empty, that replacement will be repeated - without the widget prompting for a replacement string. - - For example, starting from the line: - - print This line contains fan and fond - - and invoking replace-pattern with the source string 'f(?)n' and the - replacement string 'c\1r' produces the not very useful line: - - print This line contains car and cord - - The range of the replacement string can be limited by using the - narrow-to-region-invisible widget. One limitation of the current - version is that undo will cycle through changes to the replacement - and source strings before undoing the replacement itself. - -send-invisible - This is similar to read-from-minibuffer in that it may be called as - a function from a widget or as a widget of its own, and - interactively reads input from the keyboard. However, the input - being typed is concealed and a string of asterisks ('*') is shown - instead. The value is saved in the parameter $INVISIBLE to which a - reference is inserted into the editing buffer at the restored - cursor position. If the read was aborted by a keyboard break - (typically ^G) or another escape from editing such as push-line, - $INVISIBLE is set to empty and the original buffer is restored - unchanged. - - If one argument is supplied to the function it is taken as a - prompt, otherwise 'Non-echoed text: ' is used (as in emacs). If a - second and third argument are supplied they are used to begin and - end the reference to $INVISIBLE that is inserted into the buffer. - The default is to open with ${, then INVISIBLE, and close with }, - but many other effects are possible. - -smart-insert-last-word - This function may replace the insert-last-word widget, like so: - - zle -N insert-last-word smart-insert-last-word - - With a numeric argument, or when passed command line arguments in a - call from another widget, it behaves like insert-last-word, except - that words in comments are ignored when INTERACTIVE_COMMENTS is - set. - - Otherwise, the rightmost ''interesting'' word from the previous - command is found and inserted. The default definition of - ''interesting'' is that the word contains at least one alphabetic - character, slash, or backslash. This definition may be overridden - by use of the match style. The context used to look up the style - is the widget name, so usually the context is :insert-last-word. - However, you can bind this function to different widgets to use - different patterns: - - zle -N insert-last-assignment smart-insert-last-word - zstyle :insert-last-assignment match '[[:alpha:]][][[:alnum:]]#=*' - bindkey '\e=' insert-last-assignment - - If no interesting word is found and the auto-previous style is set - to a true value, the search continues upward through the history. - When auto-previous is unset or false (the default), the widget must - be invoked repeatedly in order to search earlier history lines. - -transpose-lines - Only useful with a multi-line editing buffer; the lines here are - lines within the current on-screen buffer, not history lines. The - effect is similar to the function of the same name in Emacs. - - Transpose the current line with the previous line and move the - cursor to the start of the next line. Repeating this (which can be - done by providing a positive numeric argument) has the effect of - moving the line above the cursor down by a number of lines. - - With a negative numeric argument, requires two lines above the - cursor. These two lines are transposed and the cursor moved to the - start of the previous line. Using a numeric argument less than -1 - has the effect of moving the line above the cursor up by minus that - number of lines. - -url-quote-magic - This widget replaces the built-in self-insert to make it easier to - type URLs as command line arguments. As you type, the input - character is analyzed and, if it may need quoting, the current word - is checked for a URI scheme. If one is found and the current word - is not already in quotes, a backslash is inserted before the input - character. - - Styles to control quoting behavior: - - url-metas - This style is looked up in the context - ':url-quote-magic:SCHEME' (where SCHEME is that of the current - URL, e.g. "ftp"). The value is a string listing the - characters to be treated as globbing metacharacters when - appearing in a URL using that scheme. The default is to quote - all zsh extended globbing characters, excluding '<' and '>' - but including braces (as in brace expansion). See also - url-seps. - - url-seps - Like url-metas, but lists characters that should be considered - command separators, redirections, history references, etc. - The default is to quote the standard set of shell separators, - excluding those that overlap with the extended globbing - characters, but including '<' and '>' and the first character - of $histchars. - - url-globbers - This style is looked up in the context ':url-quote-magic'. - The values form a list of command names that are expected to - do their own globbing on the URL string. This implies that - they are aliased to use the 'noglob' modifier. When the first - word on the line matches one of the values _and_ the URL - refers to a local file (see url-local-schema), only the - url-seps characters are quoted; the url-metas are left alone, - allowing them to affect command-line parsing, completion, etc. - The default values are a literal 'noglob' plus (when the - zsh/parameter module is available) any commands aliased to the - helper function 'urlglobber' or its alias 'globurl'. - - url-local-schema - This style is always looked up in the context ':urlglobber', - even though it is used by both url-quote-magic and urlglobber. - The values form a list of URI schema that should be treated as - referring to local files by their real local path names, as - opposed to files which are specified relative to a - web-server-defined document root. The defaults are "ftp" and - "file". - - url-other-schema - Like url-local-schema, but lists all other URI schema upon - which urlglobber and url-quote-magic should act. If the URI - on the command line does not have a scheme appearing either in - this list or in url-local-schema, it is not magically quoted. - The default values are "http", "https", and "ftp". When a - scheme appears both here and in url-local-schema, it is quoted - differently depending on whether the command name appears in - url-globbers. - - Loading url-quote-magic also defines a helper function 'urlglobber' - and aliases 'globurl' to 'noglob urlglobber'. This function takes - a local URL apart, attempts to pattern-match the local file portion - of the URL path, and then puts the results back into URL format - again. - -vi-pipe - This function reads a movement command from the keyboard and then - prompts for an external command. The part of the buffer covered by - the movement is piped to the external command and then replaced by - the command's output. If the movement command is bound to vi-pipe, - the current line is used. - - The function serves as an example for reading a vi movement command - from within a user-defined widget. - -which-command - This function is a drop-in replacement for the builtin widget - which-command. It has enhanced behaviour, in that it correctly - detects whether or not the command word needs to be expanded as an - alias; if so, it continues tracing the command word from the - expanded alias until it reaches the command that will be executed. - - The style whence is available in the context :zle:$WIDGET; this may - be set to an array to give the command and options that will be - used to investigate the command word found. The default is whence - -c. - -zcalc-auto-insert - This function is useful together with the zcalc function described - in *note Mathematical Functions::. It should be bound to a key - representing a binary operator such as '+', '-', '*' or '/'. When - running in zcalc, if the key occurs at the start of the line or - immediately following an open parenthesis, the text "ans " is - inserted before the representation of the key itself. This allows - easy use of the answer from the previous calculation in the current - line. The text to be inserted before the symbol typed can be - modified by setting the variable ZCALC_AUTO_INSERT_PREFIX. - - Hence, for example, typing '+12' followed by return adds 12 to the - previous result. - - If zcalc is in RPN mode (-r option) the effect of this binding is - automatically suppressed as operators alone on a line are - meaningful. - - When not in zcalc, the key simply inserts the symbol itself. - -26.7.2 Utility Functions ------------------------- - -These functions are useful in constructing widgets. They should be -loaded with 'autoload -U FUNCTION' and called as indicated from -user-defined widgets. - -split-shell-arguments - This function splits the line currently being edited into shell - arguments and whitespace. The result is stored in the array reply. - The array contains all the parts of the line in order, starting - with any whitespace before the first argument, and finishing with - any whitespace after the last argument. Hence (so long as the - option KSH_ARRAYS is not set) whitespace is given by odd indices in - the array and arguments by even indices. Note that no stripping of - quotes is done; joining together all the elements of reply in order - is guaranteed to produce the original line. - - The parameter REPLY is set to the index of the word in reply which - contains the character after the cursor, where the first element - has index 1. The parameter REPLY2 is set to the index of the - character under the cursor in that word, where the first character - has index 1. - - Hence reply, REPLY and REPLY2 should all be made local to the - enclosing function. - - See the function modify-current-argument, described below, for an - example of how to call this function. - -modify-current-argument [ EXPR-USING-$ARG | FUNC ] - This function provides a simple method of allowing user-defined - widgets to modify the command line argument under the cursor (or - immediately to the left of the cursor if the cursor is between - arguments). - - The argument can be an expression which when evaluated operates on - the shell parameter ARG, which will have been set to the command - line argument under the cursor. The expression should be suitably - quoted to prevent it being evaluated too early. - - Alternatively, if the argument does not contain the string ARG, it - is assumed to be a shell function, to which the current command - line argument is passed as the only argument. The function should - set the variable REPLY to the new value for the command line - argument. If the function returns non-zero status, so does the - calling function. - - For example, a user-defined widget containing the following code - converts the characters in the argument under the cursor into all - upper case: - - modify-current-argument '${(U)ARG}' - - The following strips any quoting from the current word (whether - backslashes or one of the styles of quotes), and replaces it with - single quoting throughout: - - modify-current-argument '${(qq)${(Q)ARG}}' - - The following performs directory expansion on the command line - argument and replaces it by the absolute path: - - expand-dir() { - REPLY=${~1} - REPLY=${REPLY:a} - } - modify-current-argument expand-dir - - In practice the function expand-dir would probably not be defined - within the widget where modify-current-argument is called. - -26.7.3 Styles -------------- - -The behavior of several of the above widgets can be controlled by the -use of the zstyle mechanism. In particular, widgets that interact with -the completion system pass along their context to any completions that -they invoke. - -break-keys - This style is used by the incremental-complete-word widget. Its - value should be a pattern, and all keys matching this pattern will - cause the widget to stop incremental completion without the key - having any further effect. Like all styles used directly by - incremental-complete-word, this style is looked up using the - context ':incremental'. - -completer - The incremental-complete-word and insert-and-predict widgets set up - their top-level context name before calling completion. This - allows one to define different sets of completer functions for - normal completion and for these widgets. For example, to use - completion, approximation and correction for normal completion, - completion and correction for incremental completion and only - completion for prediction one could use: - - zstyle ':completion:*' completer \ - _complete _correct _approximate - zstyle ':completion:incremental:*' completer \ - _complete _correct - zstyle ':completion:predict:*' completer \ - _complete - - It is a good idea to restrict the completers used in prediction, - because they may be automatically invoked as you type. The _list - and _menu completers should never be used with prediction. The - _approximate, _correct, _expand, and _match completers may be used, - but be aware that they may change characters anywhere in the word - behind the cursor, so you need to watch carefully that the result - is what you intended. - -cursor - The insert-and-predict widget uses this style, in the context - ':predict', to decide where to place the cursor after completion - has been tried. Values are: - - complete - The cursor is left where it was when completion finished, but - only if it is after a character equal to the one just inserted - by the user. If it is after another character, this value is - the same as 'key'. - - key - The cursor is left after the Nth occurrence of the character - just inserted, where N is the number of times that character - appeared in the word before completion was attempted. In - short, this has the effect of leaving the cursor after the - character just typed even if the completion code found out - that no other characters need to be inserted at that position. - - Any other value for this style unconditionally leaves the cursor at - the position where the completion code left it. - -list - When using the incremental-complete-word widget, this style says if - the matches should be listed on every key press (if they fit on the - screen). Use the context prefix ':completion:incremental'. - - The insert-and-predict widget uses this style to decide if the - completion should be shown even if there is only one possible - completion. This is done if the value of this style is the string - always. In this case the context is ':predict' (_not_ - ':completion:predict'). - -match - This style is used by smart-insert-last-word to provide a pattern - (using full EXTENDED_GLOB syntax) that matches an interesting word. - The context is the name of the widget to which - smart-insert-last-word is bound (see above). The default behavior - of smart-insert-last-word is equivalent to: - - zstyle :insert-last-word match '*[[:alpha:]/\\]*' - - However, you might want to include words that contain spaces: - - zstyle :insert-last-word match '*[[:alpha:][:space:]/\\]*' - - Or include numbers as long as the word is at least two characters - long: - - zstyle :insert-last-word match '*([[:digit:]]?|[[:alpha:]/\\])*' - - The above example causes redirections like "2>" to be included. - -prompt - The incremental-complete-word widget shows the value of this style - in the status line during incremental completion. The string value - may contain any of the following substrings in the manner of the - PS1 and other prompt parameters: - - %c - Replaced by the name of the completer function that generated - the matches (without the leading underscore). - - %l - When the list style is set, replaced by '...' if the list of - matches is too long to fit on the screen and with an empty - string otherwise. If the list style is 'false' or not set, - '%l' is always removed. - - %n - Replaced by the number of matches generated. - - %s - Replaced by '-no match-', '-no prefix-', or an empty string if - there is no completion matching the word on the line, if the - matches have no common prefix different from the word on the - line, or if there is such a common prefix, respectively. - - %u - Replaced by the unambiguous part of all matches, if there is - any, and if it is different from the word on the line. - - Like 'break-keys', this uses the ':incremental' context. - -stop-keys - This style is used by the incremental-complete-word widget. Its - value is treated similarly to the one for the break-keys style (and - uses the same context: ':incremental'). However, in this case all - keys matching the pattern given as its value will stop incremental - completion and will then execute their usual function. - -toggle - This boolean style is used by predict-on and its related widgets in - the context ':predict'. If set to one of the standard 'true' - values, predictive typing is automatically toggled off in - situations where it is unlikely to be useful, such as when editing - a multi-line buffer or after moving into the middle of a line and - then deleting a character. The default is to leave prediction - turned on until an explicit call to predict-off. - -verbose - This boolean style is used by predict-on and its related widgets in - the context ':predict'. If set to one of the standard 'true' - values, these widgets display a message below the prompt when the - predictive state is toggled. This is most useful in combination - with the toggle style. The default does not display these - messages. - -widget - This style is similar to the command style: For widget functions - that use zle to call other widgets, this style can sometimes be - used to override the widget which is called. The context for this - style is the name of the calling widget (_not_ the name of the - calling function, because one function may be bound to multiple - widget names). - - zstyle :copy-earlier-word widget smart-insert-last-word - - Check the documentation for the calling widget or function to - determine whether the widget style is used. - - -File: zsh.info, Node: Exception Handling, Next: MIME Functions, Prev: ZLE Functions, Up: User Contributions - -26.8 Exception Handling -======================= - -Two functions are provided to enable zsh to provide exception handling -in a form that should be familiar from other languages. - -throw EXCEPTION - The function throw throws the named EXCEPTION. The name is an - arbitrary string and is only used by the throw and catch functions. - An exception is for the most part treated the same as a shell - error, i.e. an unhandled exception will cause the shell to abort - all processing in a function or script and to return to the top - level in an interactive shell. - -catch EXCEPTION-PATTERN - The function catch returns status zero if an exception was thrown - and the pattern EXCEPTION-PATTERN matches its name. Otherwise it - returns status 1. EXCEPTION-PATTERN is a standard shell pattern, - respecting the current setting of the EXTENDED_GLOB option. An - alias catch is also defined to prevent the argument to the function - from matching filenames, so patterns may be used unquoted. Note - that as exceptions are not fundamentally different from other shell - errors it is possible to catch shell errors by using an empty - string as the exception name. The shell variable CAUGHT is set by - catch to the name of the exception caught. It is possible to - rethrow an exception by calling the throw function again once an - exception has been caught. - -The functions are designed to be used together with the always construct -described in *note Complex Commands::. This is important as only this -construct provides the required support for exceptions. A typical -example is as follows. - - { - # "try" block - # ... nested code here calls "throw MyExcept" - } always { - # "always" block - if catch MyExcept; then - print "Caught exception MyExcept" - elif catch ''; then - print "Caught a shell error. Propagating..." - throw '' - fi - # Other exceptions are not handled but may be caught further - # up the call stack. - } - -If all exceptions should be caught, the following idiom might be -preferable. - - { - # ... nested code here throws an exception - } always { - if catch *; then - case $CAUGHT in - (MyExcept) - print "Caught my own exception" - ;; - (*) - print "Caught some other exception" - ;; - esac - fi - } - -In common with exception handling in other languages, the exception may -be thrown by code deeply nested inside the 'try' block. However, note -that it must be thrown inside the current shell, not in a subshell -forked for a pipeline, parenthesised current-shell construct, or some -form of command or process substitution. - -The system internally uses the shell variable EXCEPTION to record the -name of the exception between throwing and catching. One drawback of -this scheme is that if the exception is not handled the variable -EXCEPTION remains set and may be incorrectly recognised as the name of -an exception if a shell error subsequently occurs. Adding unset -EXCEPTION at the start of the outermost layer of any code that uses -exception handling will eliminate this problem. - - -File: zsh.info, Node: MIME Functions, Next: Mathematical Functions, Prev: Exception Handling, Up: User Contributions - -26.9 MIME Functions -=================== - -Three functions are available to provide handling of files recognised by -extension, for example to dispatch a file text.ps when executed as a -command to an appropriate viewer. - -zsh-mime-setup [ -fv ] [ -l [ SUFFIX ... ] ] -zsh-mime-handler [ -l ] COMMAND ARGUMENT ... - These two functions use the files ~/.mime.types and - /etc/mime.types, which associate types and extensions, as well as - ~/.mailcap and /etc/mailcap files, which associate types and the - programs that handle them. These are provided on many systems with - the Multimedia Internet Mail Extensions. - - To enable the system, the function zsh-mime-setup should be - autoloaded and run. This allows files with extensions to be - treated as executable; such files be completed by the function - completion system. The function zsh-mime-handler should not need - to be called by the user. - - The system works by setting up suffix aliases with 'alias -s'. - Suffix aliases already installed by the user will not be - overwritten. - - For suffixes defined in lower case, upper case variants will also - automatically be handled (e.g. PDF is automatically handled if - handling for the suffix pdf is defined), but not vice versa. - - Repeated calls to zsh-mime-setup do not override the existing - mapping between suffixes and executable files unless the option -f - is given. Note, however, that this does not override existing - suffix aliases assigned to handlers other than zsh-mime-handler. - - Calling zsh-mime-setup with the option -l lists the existing - mappings without altering them. Suffixes to list (which may - contain pattern characters that should be quoted from immediate - interpretation on the command line) may be given as additional - arguments, otherwise all suffixes are listed. - - Calling zsh-mime-setup with the option -v causes verbose output to - be shown during the setup operation. - - The system respects the mailcap flags needsterminal and - copiousoutput; see mailcap(4) or mailcap(5) (the man page's name - varies across platforms). - - The functions use the following styles, which are defined with the - zstyle builtin command (*note The zsh/zutil Module::). They should - be defined before zsh-mime-setup is run. The contexts used all - start with :mime:, with additional components in some cases. It is - recommended that a trailing * (suitably quoted) be appended to - style patterns in case the system is extended in future. Some - examples are given below. - - For files that have multiple suffixes, e.g. .pdf.gz, where the - context includes the suffix it will be looked up starting with the - longest possible suffix until a match for the style is found. For - example, if .pdf.gz produces a match for the handler, that will be - used; otherwise the handler for .gz will be used. Note that, owing - to the way suffix aliases work, it is always required that there be - a handler for the shortest possible suffix, so in this example - .pdf.gz can only be handled if .gz is also handled (though not - necessarily in the same way). Alternatively, if no handling for - .gz on its own is needed, simply adding the command - - alias -s gz=zsh-mime-handler - - to the initialisation code is sufficient; .gz will not be handled - on its own, but may be in combination with other suffixes. - - current-shell - If this boolean style is true, the mailcap handler for the - context in question is run using the eval builtin instead of - by starting a new sh process. This is more efficient, but may - not work in the occasional cases where the mailcap handler - uses strict POSIX syntax. - - disown - If this boolean style is true, mailcap handlers started in the - background will be disowned, i.e. not subject to job control - within the parent shell. Such handlers nearly always produce - their own windows, so the only likely harmful side effect of - setting the style is that it becomes harder to kill jobs from - within the shell. - - execute-as-is - This style gives a list of patterns to be matched against - files passed for execution with a handler program. If the - file matches the pattern, the entire command line is executed - in its current form, with no handler. This is useful for - files which might have suffixes but nonetheless be executable - in their own right. If the style is not set, the pattern *(*) - *(/) is used; hence executable files are executed directly and - not passed to a handler, and the option AUTO_CD may be used to - change to directories that happen to have MIME suffixes. - - execute-never - This style is useful in combination with execute-as-is. It is - set to an array of patterns corresponding to full paths to - files that should never be treated as executable, even if the - file passed to the MIME handler matches execute-as-is. This - is useful for file systems that don't handle execute - permission or that contain executables from another operating - system. For example, if /mnt/windows is a Windows mount, then - - zstyle ':mime:*' execute-never '/mnt/windows/*' - - will ensure that any files found in that area will be executed - as MIME types even if they are executable. As this example - shows, the complete file name is matched against the pattern, - regardless of how the file was passed to the handler. The - file is resolved to a full path using the :P modifier - described in *note Modifiers::; this means that symbolic links - are resolved where possible, so that links into other file - systems behave in the correct fashion. - - file-path - Used if the style find-file-in-path is true for the same - context. Set to an array of directories that are used for - searching for the file to be handled; the default is the - command path given by the special parameter path. The shell - option PATH_DIRS is respected; if that is set, the appropriate - path will be searched even if the name of the file to be - handled as it appears on the command line contains a '/'. The - full context is :mime:.SUFFIX:, as described for the style - handler. - - find-file-in-path - If set, allows files whose names do not contain absolute paths - to be searched for in the command path or the path specified - by the file-path style. If the file is not found in the path, - it is looked for locally (whether or not the current directory - is in the path); if it is not found locally, the handler will - abort unless the handle-nonexistent style is set. Files found - in the path are tested as described for the style - execute-as-is. The full context is :mime:.SUFFIX:, as - described for the style handler. - - flags - Defines flags to go with a handler; the context is as for the - handler style, and the format is as for the flags in mailcap. - - handle-nonexistent - By default, arguments that don't correspond to files are not - passed to the MIME handler in order to prevent it from - intercepting commands found in the path that happen to have - suffixes. This style may be set to an array of extended glob - patterns for arguments that will be passed to the handler even - if they don't exist. If it is not explicitly set it defaults - to [[:alpha:]]#:/* which allows URLs to be passed to the MIME - handler even though they don't exist in that format in the - file system. The full context is :mime:.SUFFIX:, as described - for the style handler. - - handler - Specifies a handler for a suffix; the suffix is given by the - context as :mime:.SUFFIX:, and the format of the handler is - exactly that in mailcap. Note in particular the '.' and - trailing colon to distinguish this use of the context. This - overrides any handler specified by the mailcap files. If the - handler requires a terminal, the flags style should be set to - include the word needsterminal, or if the output is to be - displayed through a pager (but not if the handler is itself a - pager), it should include copiousoutput. - - mailcap - A list of files in the format of ~/.mailcap and /etc/mailcap - to be read during setup, replacing the default list which - consists of those two files. The context is :mime:. A + in - the list will be replaced by the default files. - - mailcap-priorities - This style is used to resolve multiple mailcap entries for the - same MIME type. It consists of an array of the following - elements, in descending order of priority; later entries will - be used if earlier entries are unable to resolve the entries - being compared. If none of the tests resolve the entries, the - first entry encountered is retained. - - files - The order of files (entries in the mailcap style) read. - Earlier files are preferred. (Note this does not resolve - entries in the same file.) - - priority - The priority flag from the mailcap entry. The priority - is an integer from 0 to 9 with the default value being 5. - - flags - The test given by the mailcap-prio-flags option is used - to resolve entries. - - place - Later entries are preferred; as the entries are strictly - ordered, this test always succeeds. - - Note that as this style is handled during initialisation, the - context is always :mime:, with no discrimination by suffix. - - mailcap-prio-flags - This style is used when the keyword flags is encountered in - the list of tests specified by the mailcap-priorities style. - It should be set to a list of patterns, each of which is - tested against the flags specified in the mailcap entry (in - other words, the sets of assignments found with some entries - in the mailcap file). Earlier patterns in the list are - preferred to later ones, and matched patterns are preferred to - unmatched ones. - - mime-types - A list of files in the format of ~/.mime.types and - /etc/mime.types to be read during setup, replacing the default - list which consists of those two files. The context is - :mime:. A + in the list will be replaced by the default - files. - - never-background - If this boolean style is set, the handler for the given - context is always run in the foreground, even if the flags - provided in the mailcap entry suggest it need not be (for - example, it doesn't require a terminal). - - pager - If set, will be used instead of $PAGER or more to handle - suffixes where the copiousoutput flag is set. The context is - as for handler, i.e. :mime:.SUFFIX: for handling a file with - the given SUFFIX. - - Examples: - - zstyle ':mime:*' mailcap ~/.mailcap /usr/local/etc/mailcap - zstyle ':mime:.txt:' handler less %s - zstyle ':mime:.txt:' flags needsterminal - - When zsh-mime-setup is subsequently run, it will look for mailcap - entries in the two files given. Files of suffix .txt will be - handled by running 'less FILE.TXT'. The flag needsterminal is set - to show that this program must run attached to a terminal. - - As there are several steps to dispatching a command, the following - should be checked if attempting to execute a file by extension .EXT - does not have the expected effect. - - The command 'alias -s EXT' should show 'ps=zsh-mime-handler'. If - it shows something else, another suffix alias was already installed - and was not overwritten. If it shows nothing, no handler was - installed: this is most likely because no handler was found in the - .mime.types and mailcap combination for .ext files. In that case, - appropriate handling should be added to ~/.mime.types and mailcap. - - If the extension is handled by zsh-mime-handler but the file is not - opened correctly, either the handler defined for the type is - incorrect, or the flags associated with it are in appropriate. - Running zsh-mime-setup -l will show the handler and, if there are - any, the flags. A %s in the handler is replaced by the file - (suitably quoted if necessary). Check that the handler program - listed lists and can be run in the way shown. Also check that the - flags needsterminal or copiousoutput are set if the handler needs - to be run under a terminal; the second flag is used if the output - should be sent to a pager. An example of a suitable mailcap entry - for such a program is: - - text/html; /usr/bin/lynx '%s'; needsterminal - - Running 'zsh-mime-handler -l COMMAND LINE' prints the command line - that would be executed, simplified to remove the effect of any - flags, and quoted so that the output can be run as a complete zsh - command line. This is used by the completion system to decide how - to complete after a file handled by zsh-mime-setup. - -pick-web-browser - This function is separate from the two MIME functions described - above and can be assigned directly to a suffix: - - autoload -U pick-web-browser - alias -s html=pick-web-browser - - It is provided as an intelligent front end to dispatch a web - browser. It may be run as either a function or a shell script. - The status 255 is returned if no browser could be started. - - Various styles are available to customize the choice of browsers: - - browser-style - The value of the style is an array giving preferences in - decreasing order for the type of browser to use. The values - of elements may be - - running - Use a GUI browser that is already running when an X - Window display is available. The browsers listed in the - x-browsers style are tried in order until one is found; - if it is, the file will be displayed in that browser, so - the user may need to check whether it has appeared. If - no running browser is found, one is not started. - Browsers other than Firefox, Opera and Konqueror are - assumed to understand the Mozilla syntax for opening a - URL remotely. - - x - Start a new GUI browser when an X Window display is - available. Search for the availability of one of the - browsers listed in the x-browsers style and start the - first one that is found. No check is made for an already - running browser. - - tty - Start a terminal-based browser. Search for the - availability of one of the browsers listed in the - tty-browsers style and start the first one that is found. - - If the style is not set the default running x tty is used. - - x-browsers - An array in decreasing order of preference of browsers to use - when running under the X Window System. The array consists of - the command name under which to start the browser. They are - looked up in the context :mime: (which may be extended in - future, so appending '*' is recommended). For example, - - zstyle ':mime:*' x-browsers opera konqueror firefox - - specifies that pick-web-browser should first look for a - running instance of Opera, Konqueror or Firefox, in that - order, and if it fails to find any should attempt to start - Opera. The default is firefox mozilla netscape opera - konqueror. - - tty-browsers - An array similar to x-browsers, except that it gives browsers - to use when no X Window display is available. The default is - elinks links lynx. - - command - If it is set this style is used to pick the command used to - open a page for a browser. The context is - :mime:browser:new:$browser: to start a new browser or - :mime:browser:running:$browser: to open a URL in a browser - already running on the current X display, where $browser is - the value matched in the x-browsers or tty-browsers style. - The escape sequence %b in the style's value will be replaced - by the browser, while %u will be replaced by the URL. If the - style is not set, the default for all new instances is - equivalent to %b %u and the defaults for using running - browsers are equivalent to the values kfmclient openURL %u for - Konqueror, firefox -new-tab %u for Firefox, opera -newpage %u - for Opera, and %b -remote "openUrl(%u)" for all others. - - -File: zsh.info, Node: Mathematical Functions, Next: User Configuration Functions, Prev: MIME Functions, Up: User Contributions - -26.10 Mathematical Functions -============================ - -zcalc [ -erf ] [ EXPRESSION ... ] - A reasonably powerful calculator based on zsh's arithmetic - evaluation facility. The syntax is similar to that of formulae in - most programming languages; see *note Arithmetic Evaluation:: for - details. - - Non-programmers should note that, as in many other programming - languages, expressions involving only integers (whether constants - without a '.', variables containing such constants as strings, or - variables declared to be integers) are by default evaluated using - integer arithmetic, which is not how an ordinary desk calculator - operates. To force floating point operation, pass the option -f; - see further notes below. - - If the file ~/.zcalcrc exists it will be sourced inside the - function once it is set up and about to process the command line. - This can be used, for example, to set shell options; emulate -L zsh - and setopt extendedglob are in effect at this point. Any failure - to source the file if it exists is treated as fatal. As with other - initialisation files, the directory $ZDOTDIR is used instead of - $HOME if it is set. - - The mathematical library zsh/mathfunc will be loaded if it is - available; see *note The zsh/mathfunc Module::. The mathematical - functions correspond to the raw system libraries, so trigonometric - functions are evaluated using radians, and so on. - - Each line typed is evaluated as an expression. The prompt shows a - number, which corresponds to a positional parameter where the - result of that calculation is stored. For example, the result of - the calculation on the line preceded by '4> ' is available as $4. - The last value calculated is available as ans. Full command line - editing, including the history of previous calculations, is - available; the history is saved in the file ~/.zcalc_history. To - exit, enter a blank line or type ':q' on its own ('q' is allowed - for historical compatibility). - - A line ending with a single backslash is treated in the same - fashion as it is in command line editing: the backslash is removed, - the function prompts for more input (the prompt is preceded by - '...' to indicate this), and the lines are combined into one to get - the final result. In addition, if the input so far contains more - open than close parentheses zcalc will prompt for more input. - - If arguments are given to zcalc on start up, they are used to prime - the first few positional parameters. A visual indication of this - is given when the calculator starts. - - The constants PI (3.14159...) and E (2.71828...) are provided. - Parameter assignment is possible, but note that all parameters will - be put into the global namespace unless the :local special command - is used. The function creates local variables whose names start - with _, so users should avoid doing so. The variables ans (the - last answer) and stack (the stack in RPN mode) may be referred to - directly; stack is an array but elements of it are numeric. - Various other special variables are used locally with their - standard meaning, for example compcontext, match, mbegin, mend, - psvar. - - The output base can be initialised by passing the option '-#BASE', - for example 'zcalc -#16' (the '#' may have to be quoted, depending - on the globbing options set). - - If the option '-e' is set, the function runs non-interactively: the - arguments are treated as expressions to be evaluated as if entered - interactively line by line. - - If the option '-f' is set, all numbers are treated as floating - point, hence for example the expression '3/4' evaluates to 0.75 - rather than 0. Options must appear in separate words. - - If the option '-r' is set, RPN (Reverse Polish Notation) mode is - entered. This has various additional properties: - Stack - Evaluated values are maintained in a stack; this is contained - in an array named stack with the most recent value in - ${stack[1]}. - - Operators and functions - If the line entered matches an operator (+, -, *, /, **, ^, | - or &) or a function supplied by the zsh/mathfunc library, the - bottom element or elements of the stack are popped to use as - the argument or arguments. The higher elements of stack - (least recent) are used as earlier arguments. The result is - then pushed into ${stack[1]}. - - Expressions - Other expressions are evaluated normally, printed, and added - to the stack as numeric values. The syntax within expressions - on a single line is normal shell arithmetic (not RPN). - - Stack listing - If an integer follows the option -r with no space, then on - every evaluation that many elements of the stack, where - available, are printed instead of just the most recent result. - Hence, for example, zcalc -r4 shows $stack[4] to $stack[1] - each time results are printed. - - Duplication: = - The pseudo-operator = causes the most recent element of the - stack to be duplicated onto the stack. - - pop - The pseudo-function pop causes the most recent element of the - stack to be popped. A '>' on its own has the same effect. - - >IDENT - The expression > followed (with no space) by a shell - identifier causes the most recent element of the stack to be - popped and assigned to the variable with that name. The - variable is local to the zcalc function. - - <IDENT - The expression < followed (with no space) by a shell - identifier causes the value of the variable with that name to - be pushed onto the stack. IDENT may be an integer, in which - case the previous result with that number (as shown before the - > in the standard zcalc prompt) is put on the stack. - - Exchange: xy - The pseudo-function xy causes the most recent two elements of - the stack to be exchanged. '<>' has the same effect. - - The prompt is configurable via the parameter ZCALCPROMPT, which - undergoes standard prompt expansion. The index of the current - entry is stored locally in the first element of the array psvar, - which can be referred to in ZCALCPROMPT as '%1v'. The default - prompt is '%1v> '. - - The variable ZCALC_ACTIVE is set within the function and can be - tested by nested functions; it has the value rpn if RPN mode is - active, else 1. - - A few special commands are available; these are introduced by a - colon. For backward compatibility, the colon may be omitted for - certain commands. Completion is available if compinit has been - run. - - The output precision may be specified within zcalc by special - commands familiar from many calculators. - :norm - The default output format. It corresponds to the printf %g - specification. Typically this shows six decimal digits. - - :sci DIGITS - Scientific notation, corresponding to the printf %g output - format with the precision given by DIGITS. This produces - either fixed point or exponential notation depending on the - value output. - - :fix DIGITS - Fixed point notation, corresponding to the printf %f output - format with the precision given by DIGITS. - - :eng DIGITS - Exponential notation, corresponding to the printf %E output - format with the precision given by DIGITS. - - :raw - Raw output: this is the default form of the output from a math - evaluation. This may show more precision than the number - actually possesses. - - Other special commands: - :!LINE... - Execute LINE... as a normal shell command line. Note that it - is executed in the context of the function, i.e. with local - variables. Space is optional after :!. - - :local ARG ... - Declare variables local to the function. Other variables may - be used, too, but they will be taken from or put into the - global scope. - - :function NAME [ BODY ] - Define a mathematical function or (with no BODY) delete it. - :function may be abbreviated to :func or simply :f. The NAME - may contain the same characters as a shell function name. The - function is defined using zmathfuncdef, see below. - - Note that zcalc takes care of all quoting. Hence for example: - - :f cube $1 * $1 * $1 - - defines a function to cube the sole argument. Functions so - defined, or indeed any functions defined directly or - indirectly using functions -M, are available to execute by - typing only the name on the line in RPN mode; this pops the - appropriate number of arguments off the stack to pass to the - function, i.e. 1 in the case of the example cube function. - If there are optional arguments only the mandatory arguments - are supplied by this means. - - [#BASE] - This is not a special command, rather part of normal - arithmetic syntax; however, when this form appears on a line - by itself the default output radix is set to BASE. Use, for - example, '[#16]' to display hexadecimal output preceded by an - indication of the base, or '[##16]' just to display the raw - number in the given base. Bases themselves are always - specified in decimal. '[#]' restores the normal output - format. Note that setting an output base suppresses floating - point output; use '[#]' to return to normal operation. - - $VAR - Print out the value of var literally; does not affect the - calculation. To use the value of var, omit the leading '$'. - - See the comments in the function for a few extra tips. - -min(ARG, ...) -max(ARG, ...) -sum(ARG, ...) -zmathfunc - The function zmathfunc defines the three mathematical functions - min, max, and sum. The functions min and max take one or more - arguments. The function sum takes zero or more arguments. - Arguments can be of different types (ints and floats). - - Not to be confused with the zsh/mathfunc module, described in *note - The zsh/mathfunc Module::. - -zmathfuncdef [ MATHFUNC [ BODY ] ] - A convenient front end to functions -M. - - With two arguments, define a mathematical function named MATHFUNC - which can be used in any form of arithmetic evaluation. BODY is a - mathematical expression to implement the function. It may contain - references to position parameters $1, $2, ... to refer to - mandatory parameters and ${1:-DEFVALUE} ... to refer to optional - parameters. Note that the forms must be strictly adhered to for - the function to calculate the correct number of arguments. The - implementation is held in a shell function named - zsh_math_func_MATHFUNC; usually the user will not need to refer to - the shell function directly. Any existing function of the same - name is silently replaced. - - With one argument, remove the mathematical function MATHFUNC as - well as the shell function implementation. - - With no arguments, list all MATHFUNC functions in a form suitable - for restoring the definition. The functions have not necessarily - been defined by zmathfuncdef. - - -File: zsh.info, Node: User Configuration Functions, Next: Other Functions, Prev: Mathematical Functions, Up: User Contributions - -26.11 User Configuration Functions -================================== - -The zsh/newuser module comes with a function to aid in configuring shell -options for new users. If the module is installed, this function can -also be run by hand. It is available even if the module's default -behaviour, namely running the function for a new user logging in without -startup files, is inhibited. - -zsh-newuser-install [ -f ] - The function presents the user with various options for customizing - their initialization scripts. Currently only ~/.zshrc is handled. - $ZDOTDIR/.zshrc is used instead if the parameter ZDOTDIR is set; - this provides a way for the user to configure a file without - altering an existing .zshrc. - - By default the function exits immediately if it finds any of the - files .zshenv, .zprofile, .zshrc, or .zlogin in the appropriate - directory. The option -f is required in order to force the - function to continue. Note this may happen even if .zshrc itself - does not exist. - - As currently configured, the function will exit immediately if the - user has root privileges; this behaviour cannot be overridden. - - Once activated, the function's behaviour is supposed to be - self-explanatory. Menus are present allowing the user to alter the - value of options and parameters. Suggestions for improvements are - always welcome. - - When the script exits, the user is given the opportunity to save - the new file or not; changes are not irreversible until this point. - However, the script is careful to restrict changes to the file only - to a group marked by the lines '# Lines configured by - zsh-newuser-install' and '# End of lines configured by - zsh-newuser-install'. In addition, the old version of .zshrc is - saved to a file with the suffix .zni appended. - - If the function edits an existing .zshrc, it is up to the user to - ensure that the changes made will take effect. For example, if - control usually returns early from the existing .zshrc the lines - will not be executed; or a later initialization file may override - options or parameters, and so on. The function itself does not - attempt to detect any such conflicts. - - -File: zsh.info, Node: Other Functions, Prev: User Configuration Functions, Up: User Contributions - -26.12 Other Functions -===================== - -There are a large number of helpful functions in the Functions/Misc -directory of the zsh distribution. Most are very simple and do not -require documentation here, but a few are worthy of special mention. - -26.12.1 Descriptions --------------------- - -colors - This function initializes several associative arrays to map color - names to (and from) the ANSI standard eight-color terminal codes. - These are used by the prompt theme system (*note Prompt Themes::). - You seldom should need to run colors more than once. - - The eight base colors are: black, red, green, yellow, blue, - magenta, cyan, and white. Each of these has codes for foreground - and background. In addition there are seven intensity attributes: - bold, faint, standout, underline, blink, reverse, and conceal. - Finally, there are seven codes used to negate attributes: none - (reset all attributes to the defaults), normal (neither bold nor - faint), no-standout, no-underline, no-blink, no-reverse, and - no-conceal. - - Some terminals do not support all combinations of colors and - intensities. - - The associative arrays are: - - color - colour - Map all the color names to their integer codes, and integer - codes to the color names. The eight base names map to the - foreground color codes, as do names prefixed with 'fg-', such - as 'fg-red'. Names prefixed with 'bg-', such as 'bg-blue', - refer to the background codes. The reverse mapping from code - to color yields base name for foreground codes and the bg- - form for backgrounds. - - Although it is a misnomer to call them 'colors', these arrays - also map the other fourteen attributes from names to codes and - codes to names. - - fg - fg_bold - fg_no_bold - Map the eight basic color names to ANSI terminal escape - sequences that set the corresponding foreground text - properties. The fg sequences change the color without - changing the eight intensity attributes. - - bg - bg_bold - bg_no_bold - Map the eight basic color names to ANSI terminal escape - sequences that set the corresponding background properties. - The bg sequences change the color without changing the eight - intensity attributes. - - In addition, the scalar parameters reset_color and bold_color are - set to the ANSI terminal escapes that turn off all attributes and - turn on bold intensity, respectively. - -fned [ -x NUM ] NAME - Same as zed -f. This function does not appear in the zsh - distribution, but can be created by linking zed to the name fned in - some directory in your fpath. - -histed [ [ NAME ] SIZE ] - Same as zed -h. This function does not appear in the zsh - distribution, but can be created by linking zed to the name histed - in some directory in your fpath. - -is-at-least NEEDED [ PRESENT ] - Perform a greater-than-or-equal-to comparison of two strings having - the format of a zsh version number; that is, a string of numbers - and text with segments separated by dots or dashes. If the PRESENT - string is not provided, $ZSH_VERSION is used. Segments are paired - left-to-right in the two strings with leading non-number parts - ignored. If one string has fewer segments than the other, the - missing segments are considered zero. - - This is useful in startup files to set options and other state that - are not available in all versions of zsh. - - is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS - is-at-least 3.1.0 && setopt HIST_REDUCE_BLANKS - is-at-least 2.6-17 || print "You can't use is-at-least here." - -nslookup [ ARG ... ] - This wrapper function for the nslookup command requires the - zsh/zpty module (see *note The zsh/zpty Module::). It behaves - exactly like the standard nslookup except that it provides - customizable prompts (including a right-side prompt) and completion - of nslookup commands, host names, etc. (if you use the - function-based completion system). Completion styles may be set - with the context prefix ':completion:nslookup'. - - See also the pager, prompt and rprompt styles below. - -regexp-replace VAR REGEXP REPLACE - Use regular expressions to perform a global search and replace - operation on a variable. POSIX extended regular expressions (ERE) - are used, unless the option RE_MATCH_PCRE has been set, in which - case Perl-compatible regular expressions are used (this requires - the shell to be linked against the pcre library). - - VAR is the name of the variable containing the string to be - matched. The variable will be modified directly by the function. - The variables MATCH, MBEGIN, MEND, match, mbegin, mend should be - avoided as these are used by the regular expression code. - - REGEXP is the regular expression to match against the string. - - REPLACE is the replacement text. This can contain parameter, - command and arithmetic expressions which will be replaced: in - particular, a reference to $MATCH will be replaced by the text - matched by the pattern. - - The return status is 0 if at least one match was performed, else 1. - - Note that if using POSIX EREs, the ^ or word boundary operators - (where available) may not work properly. - -run-help CMD - This function is designed to be invoked by the run-help ZLE widget, - in place of the default alias. See 'Accessing On-Line Help' (*note - Utilities::) for setup instructions. - - In the discussion which follows, if CMD is a file system path, it - is first reduced to its rightmost component (the file name). - - Help is first sought by looking for a file named CMD in the - directory named by the HELPDIR parameter. If no file is found, an - assistant function, alias, or command named run-help-CMD is sought. - If found, the assistant is executed with the rest of the current - command line (everything after the command name CMD) as its - arguments. When neither file nor assistant is found, the external - command 'man CMD' is run. - - An example assistant for the "ssh" command: - - run-help-ssh() { - emulate -LR zsh - local -a args - # Delete the "-l username" option - zparseopts -D -E -a args l: - # Delete other options, leaving: host command - args=(${@:#-*}) - if [[ ${#args} -lt 2 ]]; then - man ssh - else - run-help $args[2] - fi - } - - Several of these assistants are provided in the Functions/Misc - directory. These must be autoloaded, or placed as executable - scripts in your search path, in order to be found and used by - run-help. - - run-help-btrfs - run-help-git - run-help-ip - run-help-openssl - run-help-p4 - run-help-sudo - run-help-svk - run-help-svn - Assistant functions for the btrfs, git, ip, openssl, p4, sudo, - svk, and svn, commands. - -tetris - Zsh was once accused of not being as complete as Emacs, because it - lacked a Tetris game. This function was written to refute this - vicious slander. - - This function must be used as a ZLE widget: - - autoload -U tetris - zle -N tetris - bindkey KEYS tetris - - To start a game, execute the widget by typing the KEYS. Whatever - command line you were editing disappears temporarily, and your - keymap is also temporarily replaced by the Tetris control keys. - The previous editor state is restored when you quit the game (by - pressing 'q') or when you lose. - - If you quit in the middle of a game, the next invocation of the - tetris widget will continue where you left off. If you lost, it - will start a new game. - -tetriscurses - This is a port of the above to zcurses. The input handling is - improved a bit so that moving a block sideways doesn't - automatically advance a timestep, and the graphics use unicode - block graphics. - - This version does not save the game state between invocations, and - is not invoked as a widget, but rather as: - - autoload -U tetriscurses - tetriscurses - -zargs [ OPTION ... -- ] [ INPUT ... ] [ -- COMMAND [ ARG ... ] ] - This function has a similar purpose to GNU xargs. Instead of - reading lines of arguments from the standard input, it takes them - from the command line. This is useful because zsh, especially with - recursive glob operators, often can construct a command line for a - shell function that is longer than can be accepted by an external - command. - - The OPTION list represents options of the zargs command itself, - which are the same as those of xargs. The INPUT list is the - collection of strings (often file names) that become the arguments - of the command, analogous to the standard input of xargs. Finally, - the ARG list consists of those arguments (usually options) that are - passed to the COMMAND each time it runs. The ARG list precedes the - elements from the input list in each run. If no COMMAND is - provided, then no ARG list may be provided, and in that event the - default command is 'print' with arguments '-r --'. - - For example, to get a long ls listing of all non-hidden plain files - in the current directory or its subdirectories: - - autoload -U zargs - zargs -- **/*(.) -- ls -ld -- - - The first and third occurrences of '--' are used to mark the end of - options for zargs and ls respectively to guard against filenames - starting with '-', while the second is used to separate the list of - files from the command to run ('ls -ld --'). - - The first '--' would also be needed if there was a chance the list - might be empty as in: - - zargs -r -- ./*.back(#qN) -- rm -f - - In the event that the string '--' is or may be an INPUT, the -e - option may be used to change the end-of-inputs marker. Note that - this does _not_ change the end-of-options marker. For example, to - use '..' as the marker: - - zargs -e.. -- **/*(.) .. ls -ld -- - - This is a good choice in that example because no plain file can be - named '..', but the best end-marker depends on the circumstances. - - The options -i, -I, -l, -L, and -n differ slightly from their usage - in xargs. There are no input lines for zargs to count, so -l and - -L count through the INPUT list, and -n counts the number of - arguments passed to each execution of COMMAND, _including_ any ARG - list. Also, any time -i or -I is used, each INPUT is processed - separately as if by '-L 1'. - - For details of the other zargs options, see the xargs(1) man page - (but note the difference in function between zargs and xargs) or - run zargs with the --help option. - -zed [ -f [ -x NUM ] ] NAME -zed [ -h [ NAME ] SIZE ] -zed -b - This function uses the ZLE editor to edit a file or function. - - Only one NAME argument is allowed. If the -f option is given, the - name is taken to be that of a function; if the function is marked - for autoloading, zed searches for it in the fpath and loads it. - Note that functions edited this way are installed into the current - shell, but _not_ written back to the autoload file. In this case - the -x option specifies that leading tabs indenting the function - according to syntax should be converted into the given number of - spaces; '-x 2' is consistent with the layout of functions - distributed with the shell. - - Without -f, NAME is the path name of the file to edit, which need - not exist; it is created on write, if necessary. With -h, the file - is presumed to contain history events. - - When no file name is provided for -h the current shell history is - edited in place. The history is renumbered when zed exits - successfully. - - When editing history, multi-line events must have a trailing - backslash on every line before the last. - - While editing, the function sets the main keymap to zed and the vi - command keymap to zed-vicmd. These will be copied from the - existing main and vicmd keymaps if they do not exist the first time - zed is run. They can be used to provide special key bindings used - only in zed. - - If it creates the keymap, zed rebinds the return key to insert a - line break and '^X^W' to accept the edit in the zed keymap, and - binds 'ZZ' to accept the edit in the zed-vicmd keymap. - - The bindings alone can be installed by running 'zed -b'. This is - suitable for putting into a startup file. Note that, if rerun, - this will overwrite the existing zed and zed-vicmd keymaps. - - Completion is available, and styles may be set with the context - prefix ':completion:zed:'. - - A zle widget zed-set-file-name is available. This can be called by - name from within zed using '\ex zed-set-file-name' or can be bound - to a key in either of the zed or zed-vicmd keymaps after 'zed -b' - has been run. When the widget is called, it prompts for a new name - for the file being edited. When zed exits the file will be written - under that name and the original file will be left alone. The - widget has no effect when invoked from 'zed -f'. The completion - context is changed to ':completion:zed-set-file-name:'. When - editing the current history with 'zed -h', the history is first - updated and then the file is written, but the global setting of - HISTFILE is not altered. - - While zed-set-file-name is running, zed uses the keymap - zed-normal-keymap, which is linked from the main keymap in effect - at the time zed initialised its bindings. (This is to make the - return key operate normally.) The result is that if the main - keymap has been changed, the widget won't notice. This is not a - concern for most users. - -zcp [ -finqQvwW ] SRCPAT DEST -zln [ -finqQsvwW ] SRCPAT DEST - Same as zmv -C and zmv -L, respectively. These functions do not - appear in the zsh distribution, but can be created by linking zmv - to the names zcp and zln in some directory in your fpath. - -zkbd - See 'Keyboard Definition' (*note Utilities::). - -zmv [ -finqQsvwW ] [ -C | -L | -M | -{p|P} PROGRAM ] [ -o OPTSTRING ] - SRCPAT DEST - Move (usually, rename) files matching the pattern SRCPAT to - corresponding files having names of the form given by DEST, where - SRCPAT contains parentheses surrounding patterns which will be - replaced in turn by $1, $2, ... in DEST. For example, - - zmv '(*).lis' '$1.txt' - - renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to - 'my.old.stuff.txt', and so on. - - The pattern is always treated as an EXTENDED_GLOB pattern. Any - file whose name is not changed by the substitution is simply - ignored. Any error (a substitution resulted in an empty string, - two substitutions gave the same result, the destination was an - existing regular file and -f was not given) causes the entire - function to abort without doing anything. - - In addition to pattern replacement, the variable $f can be referred - to in the second (replacement) argument. This makes it possible to - use variable substitution to alter the argument; see examples - below. - - Options: - - -f - Force overwriting of destination files. Not currently passed - down to the mv/cp/ln command due to vagaries of - implementations (but you can use -o-f to do that). - -i - Interactive: show each line to be executed and ask the user - whether to execute it. 'Y' or 'y' will execute it, anything - else will skip it. Note that you just need to type one - character. - -n - No execution: print what would happen, but don't do it. - -q - Turn bare glob qualifiers off: now assumed by default, so this - has no effect. - -Q - Force bare glob qualifiers on. Don't turn this on unless you - are actually using glob qualifiers in a pattern. - -s - Symbolic, passed down to ln; only works with -L. - -v - Verbose: print each command as it's being executed. - -w - Pick out wildcard parts of the pattern, as described above, - and implicitly add parentheses for referring to them. - -W - Just like -w, with the addition of turning wildcards in the - replacement pattern into sequential ${1} .. ${N} references. - -C - -L - -M - Force cp, ln or mv, respectively, regardless of the name of - the function. - -p PROGRAM - Call PROGRAM instead of cp, ln or mv. Whatever it does, it - should at least understand the form - PROGRAM -- OLDNAME NEWNAME - where OLDNAME and NEWNAME are filenames generated by zmv. - PROGRAM will be split into words, so might be e.g. the name - of an archive tool plus a copy or rename subcommand. - -P PROGRAM - As -p PROGRAM, except that PROGRAM does not accept a following - -- to indicate the end of options. In this case filenames - must already be in a sane form for the program in question. - -o OPTSTRING - The OPTSTRING is split into words and passed down verbatim to - the cp, ln or mv command called to perform the work. It - should probably begin with a '-'. - - Further examples: - - zmv -v '(* *)' '${1// /_}' - - For any file in the current directory with at least one space in - the name, replace every space by an underscore and display the - commands executed. - - zmv -v '* *' '${f// /_}' - - This does exactly the same by referring to the file name stored in - $f. - - For more complete examples and other implementation details, see - the zmv source file, usually located in one of the directories - named in your fpath, or in Functions/Misc/zmv in the zsh - distribution. - -zrecompile - See 'Recompiling Functions' (*note Utilities::). - -zstyle+ CONTEXT STYLE VALUE [ + SUBCONTEXT STYLE VALUE ... ] - This makes defining styles a bit simpler by using a single '+' as a - special token that allows you to append a context name to the - previously used context name. Like this: - - zstyle+ ':foo:bar' STYLE1 VALUE1 \ - +':baz' STYLE2 VALUE2 \ - +':frob' STYLE3 VALUE3 - - This defines STYLE1 with VALUE1 for the context :foo:bar as usual, - but it also defines STYLE2 with VALUE2 for the context :foo:bar:baz - and STYLE3 with VALUE3 for :foo:bar:frob. Any SUBCONTEXT may be - the empty string to re-use the first context unchanged. - -26.12.2 Styles --------------- - -insert-tab - The zed function _sets_ this style in context ':completion:zed:*' - to turn off completion when TAB is typed at the beginning of a - line. You may override this by setting your own value for this - context and style. - -pager - The nslookup function looks up this style in the context - ':nslookup' to determine the program used to display output that - does not fit on a single screen. - -prompt -rprompt - The nslookup function looks up this style in the context - ':nslookup' to set the prompt and the right-side prompt, - respectively. The usual expansions for the PS1 and RPS1 parameters - may be used (see *note Prompt Expansion::). - - -File: zsh.info, Node: Concept Index, Next: Variables Index, Prev: Top, Up: Top - -Concept Index -************* - -�[index�] -* Menu: - -* -help: Invocation. (line 77) -* -version: Invocation. (line 77) -* .zwc files, creation: Shell Builtin Commands. - (line 2421) -* $0, setting: Description of Options. - (line 1051) -* $0, using: Description of Options. - (line 1296) -* acquiring zsh by FTP: Availability. (line 8) -* aliases, completion of: Description of Options. - (line 154) -* aliases, defining: Shell Builtin Commands. - (line 67) -* aliases, expanding in function definition: Description of Options. - (line 946) -* aliases, expansion: Description of Options. - (line 680) -* aliases, global: Aliasing. (line 17) -* aliases, listing: Shell Builtin Commands. - (line 67) -* aliases, removing: Shell Builtin Commands. - (line 2261) -* aliasing: Aliasing. (line 6) -* alternate forms for complex commands: Alternate Forms For Complex Commands. - (line 6) -* always blocks: Complex Commands. (line 104) -* ambiguous completion: Description of Options. - (line 185) -* annoying keyboard, sun: Description of Options. - (line 818) -* anonymous functions: Functions. (line 141) -* approximate matching: Filename Generation. - (line 420) -* argument splitting, in typeset etc.: Description of Options. - (line 1242) -* arithmetic base: Arithmetic Evaluation. - (line 36) -* arithmetic evaluation: Arithmetic Evaluation. - (line 6) -* arithmetic expansion: Arithmetic Expansion. - (line 6) -* arithmetic operators: Arithmetic Evaluation. - (line 110) -* array assignment: Array Parameters. (line 6) -* array expansion style, rc: Parameter Expansion. - (line 291) -* array parameters, setting: Shell Builtin Commands. - (line 1556) -* array style, ksh: Description of Options. - (line 1220) -* arrays, behaviour of index zero: Description of Options. - (line 1256) -* arrays, ksh style: Description of Options. - (line 1220) -* assignment: Parameters. (line 40) -* asynchronous jobs, and exiting shell: Jobs & Signals. (line 113) -* author: Author. (line 6) -* autocd, silencing: Description of Options. - (line 35) -* autoloading functions: Functions. (line 25) -* autoloading functions <1>: Shell Builtin Commands. - (line 114) -* availability of zsh: Availability. (line 8) -* background jobs, I/O: Jobs & Signals. (line 57) -* background jobs, notification: Description of Options. - (line 870) -* background jobs, priority of: Description of Options. - (line 837) -* bases, in arithmetic: Arithmetic Evaluation. - (line 36) -* bases, output in C format: Description of Options. - (line 971) -* bash, BASH_REMATCH variable: Description of Options. - (line 1171) -* beep, ambiguous completion: Description of Options. - (line 193) -* beep, enabling: Description of Options. - (line 1505) -* beep, history: Description of Options. - (line 502) -* bg, output in POSIX format: Description of Options. - (line 874) -* binding keys: Zle Builtins. (line 12) -* binding widgets: Zle Builtins. (line 236) -* bindings, key: Keymaps. (line 6) -* brace expansion: Brace Expansion. (line 6) -* brace expansion, disabling: Description of Options. - (line 328) -* brace expansion, extending: Description of Options. - (line 239) -* bracketed paste: Parameters Used By The Shell. - (line 544) -* break, inside function: Description of Options. - (line 1058) -* builtin commands: Shell Builtin Commands. - (line 6) -* builtins, utility: The zsh/zutil Module. - (line 6) -* calendar function system: Calendar Function System. - (line 6) -* calling widgets: Zle Builtins. (line 236) -* capabilities, getting from files: The zsh/cap Module. (line 15) -* capabilities, setting: The zsh/cap Module. (line 11) -* capabilities, setting on files: The zsh/cap Module. (line 19) -* case selection: Complex Commands. (line 54) -* case-insensitive globbing, option: Description of Options. - (line 244) -* case-insensitive regular expression matches, option: Description of Options. - (line 252) -* case-sensitive globbing, option: Description of Options. - (line 256) -* cd, automatic: Description of Options. - (line 17) -* cd, behaving like pushd: Description of Options. - (line 26) -* cd, silencing: Description of Options. - (line 35) -* cd, to parameter: Description of Options. - (line 29) -* cd, with .. in argument: Description of Options. - (line 44) -* CDPATH, order of checking: Description of Options. - (line 64) -* character classes: Filename Generation. - (line 37) -* characters, (Unicode) combining: Description of Options. - (line 1508) -* characters, multibyte, in expansion and globbing: Description of Options. - (line 375) -* clobbering, of empty files: Description of Options. - (line 691) -* clobbering, of files: Description of Options. - (line 683) -* clobbering, POSIX compatibility: Description of Options. - (line 1163) -* cloning the shell: The zsh/clone Module. - (line 8) -* colon modifiers: Modifiers. (line 6) -* combining characters (Unicode): Description of Options. - (line 1508) -* command execution: Command Execution. (line 6) -* command execution, enabling: Description of Options. - (line 1045) -* command hashing: Description of Options. - (line 739) -* command not found, handling of: Command Execution. (line 6) -* command substitution: Command Substitution. - (line 6) -* commands, alternate forms for complex: Alternate Forms For Complex Commands. - (line 6) -* commands, builtin: Shell Builtin Commands. - (line 6) -* commands, complex: Complex Commands. (line 6) -* commands, disabling: Shell Builtin Commands. - (line 345) -* commands, enabling: Shell Builtin Commands. - (line 613) -* commands, simple: Simple Commands & Pipelines. - (line 6) -* commands, tracing: Description of Options. - (line 1155) -* comments: Comments. (line 6) -* comments, in interactive shells: Description of Options. - (line 736) -* compatibility: Compatibility. (line 6) -* compatibility, csh: Shell Builtin Commands. - (line 500) -* compatibility, ksh: Shell Builtin Commands. - (line 500) -* compatibility, sh: Shell Builtin Commands. - (line 500) -* compdef, use of by compinit: Initialization. (line 129) -* compilation: Shell Builtin Commands. - (line 2421) -* completion removable suffix, highlighting: Character Highlighting. - (line 43) -* completion system: Completion System. (line 6) -* completion system, adding definitions: Initialization. (line 319) -* completion system, autoloaded functions: Initialization. (line 114) -* completion system, bindable commands: Bindable Commands. (line 6) -* completion system, choosing completers: Control Functions. (line 6) -* completion system, completers: Control Functions. (line 36) -* completion system, configuration: Completion System Configuration. - (line 6) -* completion system, directory structure: Completion Directories. - (line 6) -* completion system, initializing: Initialization. (line 39) -* completion system, installing: Initialization. (line 6) -* completion system, styles: Completion System Configuration. - (line 475) -* completion system, tags: Completion System Configuration. - (line 186) -* completion system, utility functions: Completion Functions. - (line 6) -* completion system, variables: Completion System Variables. - (line 6) -* completion widgets, adding specified matches: Completion Builtin Commands. - (line 6) -* completion widgets, condition codes: Completion Condition Codes. - (line 6) -* completion widgets, creating: Zle Builtins. (line 325) -* completion widgets, examining and setting state in: Completion Special Parameters. - (line 67) -* completion widgets, example: Completion Widget Example. - (line 6) -* completion widgets, modifying special parameters: Completion Builtin Commands. - (line 319) -* completion, ambiguous: Description of Options. - (line 185) -* completion, beep on ambiguous: Description of Options. - (line 193) -* completion, coloured listings: The zsh/complist Module. - (line 6) -* completion, controlling: Completion Widgets. (line 5) -* completion, controlling <1>: Completion System. (line 5) -* completion, controlling <2>: Completion Using compctl. - (line 5) -* completion, exact matches: Description of Options. - (line 220) -* completion, listing: Description of Options. - (line 199) -* completion, listing <1>: The zsh/complist Module. - (line 6) -* completion, listing choices: Description of Options. - (line 110) -* completion, listing choices, bash style: Description of Options. - (line 145) -* completion, listing order: Description of Options. - (line 203) -* completion, menu: Description of Options. - (line 113) -* completion, menu <1>: Description of Options. - (line 212) -* completion, programmable: Completion Widgets. (line 6) -* completion, programmable <1>: Completion System. (line 6) -* completion, programmable <2>: Completion Using compctl. - (line 6) -* completion, scroll listings: The zsh/complist Module. - (line 6) -* completion, selecting by cursor: The zsh/complist Module. - (line 208) -* completion, utility: The zsh/computil Module. - (line 6) -* completion, widgets: Completion Widgets. (line 6) -* complex commands: Complex Commands. (line 6) -* conditional expression: Complex Commands. (line 198) -* conditional expressions: Conditional Expressions. - (line 6) -* continue, inside function: Description of Options. - (line 1058) -* continuing jobs automatically: Description of Options. - (line 828) -* continuing loops: Shell Builtin Commands. - (line 316) -* coprocess: Simple Commands & Pipelines. - (line 36) -* correction, spelling: Description of Options. - (line 701) -* csh, compatibility: Shell Builtin Commands. - (line 500) -* csh, history style: Description of Options. - (line 1196) -* csh, loop style: Description of Options. - (line 1203) -* csh, null command style: Parameters Used By The Shell. - (line 275) -* csh, null globbing style: Description of Options. - (line 267) -* csh, quoting style: Description of Options. - (line 1207) -* csh, redirections with no command: Description of Options. - (line 1215) -* database file path, reading: The zsh/db/gdbm Module. - (line 45) -* database tied array, creating: The zsh/db/gdbm Module. - (line 15) -* database tied array, destroying: The zsh/db/gdbm Module. - (line 35) -* database tied arrays, enumerating: The zsh/db/gdbm Module. - (line 49) -* date string, printing: The zsh/datetime Module. - (line 8) -* DEBUG trap, before or after command: Description of Options. - (line 985) -* defining mathematical functions: Shell Builtin Commands. - (line 830) -* defining widgets: Zle Builtins. (line 236) -* descriptors, file: Redirection. (line 6) -* directories, changing: Shell Builtin Commands. - (line 216) -* directories, hashing: Description of Options. - (line 747) -* directories, maintaining list of recent: Recent Directories. - (line 3) -* directories, marking: Description of Options. - (line 371) -* directories, named: Description of Options. - (line 118) -* directories, named, dynamic: Dynamic named directories. - (line 6) -* directories, named, dynamic, helper function: Other Directory Functions. - (line 3) -* directories, named, static: Static named directories. - (line 6) -* directory stack, controlling syntax: Description of Options. - (line 86) -* directory stack, ignoring duplicates: Description of Options. - (line 82) -* directory stack, printing: Shell Builtin Commands. - (line 324) -* directory stack, silencing: Description of Options. - (line 90) -* disabling brace expansion: Description of Options. - (line 328) -* disabling commands: Shell Builtin Commands. - (line 345) -* discarding embedded nulls in $'...': Description of Options. - (line 1369) -* disowning jobs: Jobs & Signals. (line 101) -* doing nothing: Shell Builtin Commands. - (line 62) -* doing nothing, successfully: Shell Builtin Commands. - (line 1750) -* doing nothing, unsuccessfully: Shell Builtin Commands. - (line 674) -* dynamic directory naming, helper function: Other Directory Functions. - (line 3) -* dynamic named directories: Dynamic named directories. - (line 6) -* echo, BSD compatible: Description of Options. - (line 1182) -* editing history: Shell Builtin Commands. - (line 677) -* editing over slow connection: Parameters Used By The Shell. - (line 24) -* editing parameters: Zle Builtins. (line 189) -* editor ksh style: Zsh Line Editor. (line 17) -* editor, enabling: Description of Options. - (line 1549) -* editor, line: Zsh Line Editor. (line 6) -* editor, overstrike mode: Description of Options. - (line 1530) -* editor, single line mode: Description of Options. - (line 1533) -* eight bit characters, printing: Description of Options. - (line 785) -* embedded nulls, in $'...': Description of Options. - (line 1369) -* enable globbing qualifiers: Description of Options. - (line 234) -* enable history substitution: Description of Options. - (line 487) -* enabling bracketed paste: Parameters Used By The Shell. - (line 544) -* enabling commands: Shell Builtin Commands. - (line 613) -* enabling globbing: Description of Options. - (line 286) -* enabling the beep: Description of Options. - (line 1505) -* enabling the editor: Description of Options. - (line 1549) -* environment: Parameters. (line 23) -* environment variables: Parameters. (line 23) -* environment, and local parameters: Description of Options. - (line 647) -* EOF, ignoring: Description of Options. - (line 726) -* error, option to continue script on: Description of Options. - (line 1187) -* errors, handling of: Errors. (line 6) -* escape sequences, terminal, for highlighting: Character Highlighting. - (line 67) -* evaluating arguments as commands: Shell Builtin Commands. - (line 633) -* evaluation, arithmetic: Arithmetic Evaluation. - (line 6) -* event designators, history: Event Designators. (line 6) -* executables, hashing: Description of Options. - (line 752) -* execution, of commands: Command Execution. (line 6) -* execution, timed: The zsh/sched Module. - (line 9) -* exit status from pipeline: Description of Options. - (line 1122) -* exit status, printing: Description of Options. - (line 790) -* exit status, trapping: Description of Options. - (line 990) -* exiting loops: Shell Builtin Commands. - (line 202) -* exiting shell, and asynchronous jobs: Jobs & Signals. (line 113) -* exiting, checking jobs when: Description of Options. - (line 841) -* exiting, checking running jobs when: Description of Options. - (line 854) -* expanding parameters: Shell Builtin Commands. - (line 62) -* expansion: Expansion. (line 6) -* expansion style, sh: Description of Options. - (line 1403) -* expansion, arithmetic: Arithmetic Expansion. - (line 6) -* expansion, brace: Brace Expansion. (line 6) -* expansion, brace, disabling: Description of Options. - (line 328) -* expansion, brace, extending: Description of Options. - (line 239) -* expansion, filename: Filename Expansion. (line 6) -* expansion, history: History Expansion. (line 6) -* expansion, parameter: Parameter Expansion. - (line 6) -* expansion, prompt: Prompt Expansion. (line 9) -* export: Parameters. (line 23) -* export, automatic: Description of Options. - (line 644) -* exporting, and local parameters: Description of Options. - (line 662) -* expressions, conditional: Conditional Expressions. - (line 6) -* extended attributes, xattr, getting from files: The zsh/attr Module. - (line 10) -* extended attributes, xattr, listing: The zsh/attr Module. - (line 23) -* extended attributes, xattr, removing, deleting: The zsh/attr Module. - (line 19) -* extended attributes, xattr, setting on files: The zsh/attr Module. - (line 15) -* fg, output in POSIX format: Description of Options. - (line 874) -* field splitting, sh style: Description of Options. - (line 1419) -* field splitting, sh style, parameter: Parameter Expansion. - (line 308) -* file clobbering, allowing: Description of Options. - (line 683) -* file clobbering, of empty files: Description of Options. - (line 691) -* file clobbering, POSIX compatibility: Description of Options. - (line 1163) -* file descriptors: Redirection. (line 6) -* file descriptors, use with parameters: Redirection. (line 144) -* file descriptors, waiting for: The zsh/zselect Module. - (line 8) -* file, history: Shell Builtin Commands. - (line 783) -* filename expansion: Filename Expansion. (line 6) -* filename expansion, =: Description of Options. - (line 272) -* filename expansion, notes: Notes. (line 6) -* filename generation: Filename Generation. - (line 6) -* filename generation, bad pattern: Description of Options. - (line 229) -* files used: Files. (line 45) -* files, examining: The zsh/stat Module. - (line 9) -* files, global startup, inhibiting: Description of Options. - (line 662) -* files, listing: The zsh/stat Module. - (line 9) -* files, manipulating: The zsh/files Module. - (line 6) -* files, marking type of: Description of Options. - (line 208) -* files, shutdown: Files. (line 9) -* files, startup: Files. (line 9) -* files, transferring: The zsh/zftp Module. - (line 8) -* flags, parameter expansion: Parameter Expansion. - (line 358) -* flags, shell: Invocation. (line 9) -* floating point parameters: Arithmetic Evaluation. - (line 225) -* floating point, forcing use of: Description of Options. - (line 280) -* flow control: Description of Options. - (line 721) -* for loops: Complex Commands. (line 14) -* forcing use of floating point: Description of Options. - (line 280) -* FTP: The zsh/zftp Module. - (line 8) -* FTP sites for zsh: Availability. (line 8) -* FTP, functions for using shell as client: Zftp Function System. - (line 5) -* FTP, starting a session: The zsh/zftp Module. - (line 27) -* function return, on error: Description of Options. - (line 1012) -* function, scope of break and continue: Description of Options. - (line 1058) -* functions: Functions. (line 6) -* functions, anonymous: Functions. (line 141) -* functions, autoloading: Functions. (line 25) -* functions, autoloading <1>: Shell Builtin Commands. - (line 114) -* functions, defining mathematical: Shell Builtin Commands. - (line 830) -* functions, defining with expanded aliases: Description of Options. - (line 946) -* functions, math, use of: Arithmetic Evaluation. - (line 194) -* functions, mathematical: The zsh/mathfunc Module. - (line 6) -* functions, profiling: The zsh/zprof Module. - (line 6) -* functions, recompiling: Utilities. (line 57) -* functions, removing: Shell Builtin Commands. - (line 2269) -* functions, returning from: Shell Builtin Commands. - (line 1532) -* glob flags: Filename Generation. - (line 237) -* glob operators: Filename Generation. - (line 27) -* globbing: Expansion. (line 34) -* globbing flags: Filename Generation. - (line 237) -* globbing modifiers: Modifiers. (line 6) -* globbing qualifiers, enable: Description of Options. - (line 234) -* globbing style, sh: Description of Options. - (line 425) -* globbing, ** special: Description of Options. - (line 306) -* globbing, bad pattern: Description of Options. - (line 229) -* globbing, enabling: Description of Options. - (line 286) -* globbing, extended: Description of Options. - (line 275) -* globbing, no matches: Description of Options. - (line 398) -* globbing, no matches <1>: Description of Options. - (line 403) -* globbing, null, style, csh: Description of Options. - (line 267) -* globbing, of . files: Description of Options. - (line 302) -* globbing, qualifiers: Filename Generation. - (line 511) -* globbing, recursive: Filename Generation. - (line 478) -* globbing, short forms: Description of Options. - (line 306) -* globbing, sorting numerically: Description of Options. - (line 408) -* grammar, shell: Shell Grammar. (line 6) -* hash: Parameters. (line 15) -* hashing, of commands: Description of Options. - (line 739) -* hashing, of directories: Description of Options. - (line 747) -* hashing, of executables: Description of Options. - (line 752) -* helpfiles utility: Utilities. (line 9) -* hexadecimal, output in C format: Description of Options. - (line 971) -* highlighting, region: Character Highlighting. - (line 19) -* highlighting, special characters: Character Highlighting. - (line 38) -* history: History Expansion. (line 6) -* history beeping: Description of Options. - (line 502) -* history event designators: Event Designators. (line 6) -* history expansion: History Expansion. (line 6) -* history modifiers: Modifiers. (line 6) -* history style, csh: Description of Options. - (line 1196) -* history word designators: Word Designators. (line 6) -* history, appending to a file: Description of Options. - (line 478) -* history, editing: Shell Builtin Commands. - (line 677) -* history, enable substitution: Description of Options. - (line 487) -* history, expiring duplicates: Description of Options. - (line 506) -* history, file: Shell Builtin Commands. - (line 783) -* history, hook when line is saved: Functions. (line 235) -* history, ignoring all duplicates: Description of Options. - (line 528) -* history, ignoring duplicates: Description of Options. - (line 533) -* history, ignoring duplicates in search: Description of Options. - (line 523) -* history, ignoring spaces: Description of Options. - (line 537) -* history, incremental appending to a file: Description of Options. - (line 598) -* history, incremental appending to a file with time: Description of Options. - (line 606) -* history, sharing: Description of Options. - (line 619) -* history, stack: Shell Builtin Commands. - (line 752) -* history, timestamping: Description of Options. - (line 491) -* history, verifying substitution: Description of Options. - (line 593) -* hook function utility: Utilities. (line 253) -* identifiers, non-portable characters in: Description of Options. - (line 1336) -* if construct: Complex Commands. (line 8) -* input, tracing: Description of Options. - (line 1152) -* integer parameters: Arithmetic Evaluation. - (line 220) -* introduction: Introduction. (line 6) -* invocation: Invocation. (line 5) -* invoking widgets: Zle Builtins. (line 236) -* job control, allowing: Description of Options. - (line 867) -* job control, in subshell: Description of Options. - (line 874) -* jobs: Jobs & Signals. (line 9) -* jobs, asynchronous, and exiting shell: Jobs & Signals. (line 113) -* jobs, background priority: Description of Options. - (line 837) -* jobs, background, I/O: Jobs & Signals. (line 57) -* jobs, backgrounding: Shell Builtin Commands. - (line 194) -* jobs, continuing automatically: Description of Options. - (line 828) -* jobs, disowning: Jobs & Signals. (line 101) -* jobs, disowning <1>: Shell Builtin Commands. - (line 433) -* jobs, foregrounding: Shell Builtin Commands. - (line 793) -* jobs, HUP: Description of Options. - (line 861) -* jobs, killing: Shell Builtin Commands. - (line 1046) -* jobs, list format: Description of Options. - (line 864) -* jobs, output in subshell: Description of Options. - (line 874) -* jobs, referring to: Jobs & Signals. (line 67) -* jobs, resuming: Shell Builtin Commands. - (line 793) -* jobs, resuming automatically: Description of Options. - (line 833) -* jobs, suspending: Jobs & Signals. (line 26) -* jobs, waiting for: Shell Builtin Commands. - (line 2327) -* key bindings: Keymaps. (line 6) -* keyboard definition: Utilities. (line 140) -* keymaps: Keymaps. (line 6) -* keymaps <1>: Zle Builtins. (line 12) -* keys, binding: Zle Builtins. (line 12) -* keys, rebinding: Zle Builtins. (line 12) -* killing jobs: Shell Builtin Commands. - (line 1046) -* ksh compatibility: Compatibility. (line 6) -* ksh, argument splitting in typeset: Description of Options. - (line 1242) -* ksh, array style: Description of Options. - (line 1220) -* ksh, compatibility: Shell Builtin Commands. - (line 500) -* ksh, editor mode: Zsh Line Editor. (line 17) -* ksh, null command style: Parameters Used By The Shell. - (line 275) -* ksh, option printing style: Description of Options. - (line 1237) -* ksh, redirections with no command: Description of Options. - (line 1410) -* ksh, single letter options style: Description of Options. - (line 1414) -* limits, resource: Shell Builtin Commands. - (line 1077) -* limits, resource <1>: Shell Builtin Commands. - (line 2172) -* limits, resource <2>: Shell Builtin Commands. - (line 2285) -* line editor: Zsh Line Editor. (line 6) -* line number, in evaluated expression: Description of Options. - (line 1034) -* line, reading: Shell Builtin Commands. - (line 922) -* links, symbolic: Description of Options. - (line 58) -* list: Simple Commands & Pipelines. - (line 61) -* loading modules: Shell Builtin Commands. - (line 2552) -* local keymaps: Keymaps. (line 86) -* logging out, checking jobs when: Description of Options. - (line 841) -* logging out, checking running jobs when: Description of Options. - (line 854) -* long option: Invocation. (line 66) -* loop style, csh: Description of Options. - (line 1203) -* loops, continuing: Shell Builtin Commands. - (line 316) -* loops, exiting: Shell Builtin Commands. - (line 202) -* loops, for: Complex Commands. (line 14) -* loops, repeat: Complex Commands. (line 46) -* loops, until: Complex Commands. (line 42) -* loops, while: Complex Commands. (line 38) -* mail, warning of reading: Description of Options. - (line 760) -* mailing lists: Mailing Lists. (line 6) -* marking directories: Description of Options. - (line 371) -* marking file types: Description of Options. - (line 208) -* matching, approximate: Filename Generation. - (line 420) -* mathematical functions: The zsh/mathfunc Module. - (line 6) -* mathematical functions, use of: Arithmetic Evaluation. - (line 194) -* mode, privileged: Description of Options. - (line 1448) -* modifiers: Modifiers. (line 6) -* modifiers, precommand: Precommand Modifiers. - (line 6) -* modules: Zsh Modules. (line 5) -* modules, example: The zsh/example Module. - (line 8) -* modules, loading: Shell Builtin Commands. - (line 2552) -* modules, writing: The zsh/example Module. - (line 8) -* multibyte characters, in expansion and globbing: Description of Options. - (line 375) -* multios: Redirection. (line 197) -* named directories, dynamic: Dynamic named directories. - (line 6) -* named directories, dynamic, helper function: Other Directory Functions. - (line 3) -* named directories, static: Static named directories. - (line 6) -* no clobber, POSIX compatible: Description of Options. - (line 1163) -* notification of background jobs: Description of Options. - (line 870) -* null command style: Parameters Used By The Shell. - (line 275) -* null globbing style, csh: Description of Options. - (line 267) -* nulls, embedded in $'...': Description of Options. - (line 1369) -* octal, arithmetic expressions: Description of Options. - (line 1112) -* octal, output in C format: Description of Options. - (line 971) -* operator precedence: Description of Options. - (line 980) -* operators, arithmetic: Arithmetic Evaluation. - (line 110) -* option printing style, ksh: Description of Options. - (line 1237) -* option printing, ksh style: Description of Options. - (line 1237) -* options: Options. (line 6) -* options, aliases: Option Aliases. (line 6) -* options, description: Description of Options. - (line 6) -* options, processing: Shell Builtin Commands. - (line 926) -* options, setting: Shell Builtin Commands. - (line 1605) -* options, shell: Invocation. (line 9) -* options, single letter: Single Letter Options. - (line 6) -* options, single letter, ksh style: Description of Options. - (line 1414) -* options, specifying: Specifying Options. (line 6) -* options, unsetting: Shell Builtin Commands. - (line 2316) -* overstrike mode, of editor: Description of Options. - (line 1530) -* parameter expansion: Parameter Expansion. - (line 6) -* parameter expansion flags: Parameter Expansion. - (line 358) -* parameter expansion rules: Parameter Expansion. - (line 902) -* parameter expansion style, rc: Description of Options. - (line 412) -* parameter expansion, examples: Parameter Expansion. - (line 1104) -* parameter modifiers: Modifiers. (line 6) -* parameter names, non-portable characters in: Description of Options. - (line 1336) -* parameter, file access via: The zsh/mapfile Module. - (line 6) -* parameters: Parameters. (line 6) -* parameters, array: Parameters. (line 15) -* parameters, associative array: Parameters. (line 15) -* parameters, declaring: Shell Builtin Commands. - (line 1777) -* parameters, editing: Zle Builtins. (line 189) -* parameters, editor: User-Defined Widgets. - (line 15) -* parameters, expanding: Shell Builtin Commands. - (line 62) -* parameters, floating point: Arithmetic Evaluation. - (line 225) -* parameters, for using file descriptors: Redirection. (line 144) -* parameters, integer: Arithmetic Evaluation. - (line 220) -* parameters, listing: Shell Builtin Commands. - (line 1556) -* parameters, marking readonly: Shell Builtin Commands. - (line 1525) -* parameters, positional: Shell Builtin Commands. - (line 1556) -* parameters, positional <1>: Shell Builtin Commands. - (line 1632) -* parameters, scalar: Parameters. (line 15) -* parameters, setting: Shell Builtin Commands. - (line 1777) -* parameters, setting array: Shell Builtin Commands. - (line 1556) -* parameters, special: Parameters. (line 32) -* parameters, special <1>: The zsh/parameter Module. - (line 6) -* parameters, special <2>: The zsh/zleparameter Module. - (line 6) -* parameters, substituting unset: Description of Options. - (line 435) -* parameters, unsetting: Shell Builtin Commands. - (line 2295) -* parameters, warning when created globally: Description of Options. - (line 441) -* parameters, warning when setting in enclosing scope: Description of Options. - (line 450) -* parameters, zle: User-Defined Widgets. - (line 15) -* path search, extended: Description of Options. - (line 764) -* path search, for script argument to shell: Description of Options. - (line 778) -* PCRE, regexp: Description of Options. - (line 418) -* pipeline: Simple Commands & Pipelines. - (line 21) -* pipeline, exit status from: Description of Options. - (line 1122) -* precedence of glob operators: Filename Generation. - (line 223) -* precedence, operator: Description of Options. - (line 980) -* precommand modifiers: Precommand Modifiers. - (line 6) -* priority of background jobs: Description of Options. - (line 837) -* private parameter, creating: The zsh/param/private Module. - (line 12) -* privileged mode: Description of Options. - (line 1448) -* process substitution: Process Substitution. - (line 6) -* prompt expansion: Prompt Expansion. (line 9) -* prompt, ! expansion: Description of Options. - (line 903) -* prompt, % expansion: Description of Options. - (line 930) -* prompt, parameter expansion: Description of Options. - (line 934) -* prompt, save partial lines: Description of Options. - (line 912) -* prompt, with CR: Description of Options. - (line 907) -* pushd, making cd behave like: Description of Options. - (line 26) -* pushd, to home: Description of Options. - (line 93) -* qualifiers, globbing: Filename Generation. - (line 511) -* querying before rm *: Description of Options. - (line 800) -* quoting: Quoting. (line 6) -* quoting style, csh: Description of Options. - (line 1207) -* quoting style, rc: Description of Options. - (line 794) -* rc, array expansion style: Parameter Expansion. - (line 291) -* rc, parameter expansion style: Description of Options. - (line 412) -* rc, quoting style: Description of Options. - (line 794) -* reading a line: Shell Builtin Commands. - (line 922) -* rebinding keys: Zle Builtins. (line 12) -* rebinding widgets: Zle Builtins. (line 236) -* recent directories, maintaining list of: Recent Directories. - (line 3) -* recursive globbing: Filename Generation. - (line 478) -* redirection: Redirection. (line 6) -* redirection, current shell's I/O: Shell Builtin Commands. - (line 656) -* redirections with no command, csh: Description of Options. - (line 1215) -* redirections with no command, ksh: Description of Options. - (line 1410) -* redirections with no command, sh: Description of Options. - (line 1410) -* referring to jobs: Jobs & Signals. (line 67) -* regex: The zsh/regex Module. - (line 6) -* regexp, bash BASH_REMATCH variable: Description of Options. - (line 1171) -* regexp, PCRE: Description of Options. - (line 418) -* region, highlighting: Character Highlighting. - (line 19) -* regular expressions: The zsh/regex Module. - (line 6) -* regular expressions, case-insensitive matching, option: Description of Options. - (line 252) -* regular expressions, perl-compatible: The zsh/pcre Module. - (line 6) -* removable suffix, highlighting in completion: Character Highlighting. - (line 43) -* repeat loops: Complex Commands. (line 46) -* reporter utility: Utilities. (line 179) -* reserved words: Reserved Words. (line 6) -* resource limits: Shell Builtin Commands. - (line 1077) -* resource limits <1>: Shell Builtin Commands. - (line 2172) -* resource limits <2>: Shell Builtin Commands. - (line 2285) -* restricted shell: Restricted Shell. (line 6) -* restricted shell <1>: Description of Options. - (line 1474) -* resuming jobs automatically: Description of Options. - (line 833) -* return from function, on error: Description of Options. - (line 1012) -* rm *, querying before: Description of Options. - (line 800) -* rm *, waiting before: Description of Options. - (line 803) -* roadmap: Roadmap. (line 6) -* rules, parameter expansion: Parameter Expansion. - (line 902) -* scalar: Parameters. (line 15) -* select, system call: The zsh/zselect Module. - (line 8) -* selection, case: Complex Commands. (line 54) -* selection, user: Complex Commands. (line 81) -* sh compatibility: Compatibility. (line 6) -* sh, compatibility: Shell Builtin Commands. - (line 500) -* sh, expansion style: Description of Options. - (line 1403) -* sh, field splitting style: Description of Options. - (line 1419) -* sh, field splitting style, parameter: Parameter Expansion. - (line 308) -* sh, globbing style: Description of Options. - (line 425) -* sh, redirections with no command: Description of Options. - (line 1410) -* sh, single letter options style: Description of Options. - (line 1414) -* share history: Description of Options. - (line 619) -* shell flags: Invocation. (line 9) -* shell grammar: Shell Grammar. (line 6) -* shell options: Invocation. (line 9) -* shell, cloning: The zsh/clone Module. - (line 8) -* shell, suspending: Shell Builtin Commands. - (line 1648) -* shell, timing: Shell Builtin Commands. - (line 1674) -* shutdown files: Files. (line 9) -* signals, trapping: Functions. (line 282) -* signals, trapping <1>: Shell Builtin Commands. - (line 1678) -* simple commands: Simple Commands & Pipelines. - (line 6) -* single command: Description of Options. - (line 1494) -* single letter options: Single Letter Options. - (line 5) -* single letter options, ksh style: Description of Options. - (line 1414) -* slash, removing trailing: Description of Options. - (line 139) -* slow connection, editing over: Parameters Used By The Shell. - (line 24) -* sockets: The zsh/net/socket Module. - (line 8) -* sockets, closing TCP: The zsh/net/tcp Module. - (line 102) -* sockets, inbound TCP: The zsh/net/tcp Module. - (line 75) -* sockets, inbound Unix domain: The zsh/net/socket Module. - (line 33) -* sockets, outbound TCP: The zsh/net/tcp Module. - (line 61) -* sockets, outbound Unix domain: The zsh/net/socket Module. - (line 15) -* sockets, TCP: The zsh/net/tcp Module. - (line 8) -* sockets, Unix domain: The zsh/net/socket Module. - (line 8) -* special characters, highlighting: Character Highlighting. - (line 38) -* special parameters: Parameters. (line 32) -* spelling correction: Description of Options. - (line 701) -* stack, history: Shell Builtin Commands. - (line 752) -* startup files: Files. (line 9) -* startup files, global, inhibiting: Description of Options. - (line 662) -* startup files, sourcing: Description of Options. - (line 668) -* static named directories: Static named directories. - (line 6) -* status, on exit from pipeline: Description of Options. - (line 1122) -* styles in zftp functions: Miscellaneous Features. - (line 9) -* sublist: Simple Commands & Pipelines. - (line 44) -* subscript flags: Array Parameters. (line 213) -* subscripts: Array Parameters. (line 112) -* subshell: Complex Commands. (line 95) -* substitution, command: Command Substitution. - (line 6) -* substitution, parameter, flags: Parameter Expansion. - (line 358) -* substitution, parameter, rules: Parameter Expansion. - (line 902) -* substitution, process: Process Substitution. - (line 6) -* suffix, highlighting removable, in completion: Character Highlighting. - (line 43) -* sun keyboard, annoying: Description of Options. - (line 818) -* suspending jobs: Jobs & Signals. (line 26) -* suspending the shell: Shell Builtin Commands. - (line 1648) -* symbolic links: Description of Options. - (line 58) -* TCP: The zsh/net/tcp Module. - (line 8) -* TCP function system: TCP Function System. - (line 6) -* TCP, example: The zsh/net/tcp Module. - (line 117) -* termcap value, printing: The zsh/termcap Module. - (line 8) -* terminal: The zsh/clone Module. - (line 8) -* terminal escape sequences for highlighting: Character Highlighting. - (line 67) -* terminfo value, printing: The zsh/terminfo Module. - (line 8) -* text objects: Text Objects. (line 6) -* timed execution: The zsh/sched Module. - (line 9) -* timing: Complex Commands. (line 192) -* timing the shell: Shell Builtin Commands. - (line 1674) -* tracing, of commands: Description of Options. - (line 1155) -* tracing, of input lines: Description of Options. - (line 1152) -* trapping signals: Functions. (line 282) -* trapping signals <1>: Shell Builtin Commands. - (line 1678) -* traps, asynchronous: Description of Options. - (line 1424) -* traps, DEBUG, before or after command: Description of Options. - (line 985) -* traps, on function exit: Description of Options. - (line 1389) -* traps, POSIX compatibility: Description of Options. - (line 1389) -* try blocks: Complex Commands. (line 104) -* tty, freezing: Shell Builtin Commands. - (line 1753) -* umask: Shell Builtin Commands. - (line 2252) -* Unicode combining characters: Description of Options. - (line 1508) -* unset parameters, substituting: Description of Options. - (line 435) -* until loops: Complex Commands. (line 42) -* user contributions: User Contributions. (line 5) -* user selection: Complex Commands. (line 81) -* users, watching: The zsh/watch Module. - (line 120) -* variables: Parameters. (line 5) -* variables, environment: Parameters. (line 23) -* version: Top. (line 12) -* version control utility: Version Control Information. - (line 6) -* waiting before rm *: Description of Options. - (line 803) -* waiting for jobs: Shell Builtin Commands. - (line 2327) -* watching users: The zsh/watch Module. - (line 120) -* while loops: Complex Commands. (line 38) -* widgets: Zle Widgets. (line 6) -* widgets, binding: Zle Builtins. (line 236) -* widgets, calling: Zle Builtins. (line 236) -* widgets, defining: Zle Builtins. (line 236) -* widgets, invoking: Zle Builtins. (line 236) -* widgets, rebinding: Zle Builtins. (line 236) -* widgets, standard: Standard Widgets. (line 6) -* widgets, user-defined: User-Defined Widgets. - (line 6) -* windows, curses: The zsh/curses Module. - (line 12) -* word designators, history: Word Designators. (line 6) -* writing modules: The zsh/example Module. - (line 8) -* zftp function system: Zftp Function System. - (line 6) -* zftp function system, automatic reopening: Miscellaneous Features. - (line 100) -* zftp function system, configuration: Miscellaneous Features. - (line 9) -* zftp function system, remote globbing: Miscellaneous Features. - (line 76) -* zftp function system, styles: Miscellaneous Features. - (line 9) -* zftp, functions: The zsh/zftp Module. - (line 401) -* zftp, parameters: The zsh/zftp Module. - (line 265) -* zftp, problems: The zsh/zftp Module. - (line 449) -* zftp, subcommands: The zsh/zftp Module. - (line 27) -* ZLE: Zsh Line Editor. (line 5) -* zle, builtin commands: Zle Builtins. (line 6) -* zlogin: Files. (line 21) -* zlogout: Files. (line 24) -* zprofile: Files. (line 18) -* zrecompile utility: Utilities. (line 57) -* zsh/datetime, function system based on: Calendar Function System. - (line 5) -* zshenv: Files. (line 9) -* zshrc: Files. (line 20) -* ztcp, function system based on: TCP Function System. - (line 5) - diff --git a/result/sw/share/info/zsh.info-6 b/result/sw/share/info/zsh.info-6 deleted file mode 100644 index b0876ca5..00000000 Binary files a/result/sw/share/info/zsh.info-6 and /dev/null differ diff --git a/result/sw/share/locale/af/LC_MESSAGES/bash.mo b/result/sw/share/locale/af/LC_MESSAGES/bash.mo deleted file mode 100644 index 56f6b5aa..00000000 Binary files a/result/sw/share/locale/af/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/bg/LC_MESSAGES/bash.mo b/result/sw/share/locale/bg/LC_MESSAGES/bash.mo deleted file mode 100644 index 8638773e..00000000 Binary files a/result/sw/share/locale/bg/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/ca/LC_MESSAGES/bash.mo b/result/sw/share/locale/ca/LC_MESSAGES/bash.mo deleted file mode 100644 index c144d0ed..00000000 Binary files a/result/sw/share/locale/ca/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/ca/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/ca/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 623225f4..00000000 Binary files a/result/sw/share/locale/ca/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/ca/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/ca/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 306edbf3..00000000 Binary files a/result/sw/share/locale/ca/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/cs/LC_MESSAGES/bash.mo b/result/sw/share/locale/cs/LC_MESSAGES/bash.mo deleted file mode 100644 index 39e0b6c7..00000000 Binary files a/result/sw/share/locale/cs/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/cs/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/cs/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 14d875c2..00000000 Binary files a/result/sw/share/locale/cs/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/cs/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/cs/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index f7ab72bc..00000000 Binary files a/result/sw/share/locale/cs/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/da/LC_MESSAGES/bash.mo b/result/sw/share/locale/da/LC_MESSAGES/bash.mo deleted file mode 100644 index 46243f38..00000000 Binary files a/result/sw/share/locale/da/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/da/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/da/LC_MESSAGES/texinfo.mo deleted file mode 100644 index fbbf53a4..00000000 Binary files a/result/sw/share/locale/da/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/de/LC_MESSAGES/bash.mo b/result/sw/share/locale/de/LC_MESSAGES/bash.mo deleted file mode 100644 index 388ad49e..00000000 Binary files a/result/sw/share/locale/de/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/de/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/de/LC_MESSAGES/texinfo.mo deleted file mode 100644 index b88f4786..00000000 Binary files a/result/sw/share/locale/de/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/de/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/de/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 836d8be3..00000000 Binary files a/result/sw/share/locale/de/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/el/LC_MESSAGES/bash.mo b/result/sw/share/locale/el/LC_MESSAGES/bash.mo deleted file mode 100644 index 809aac86..00000000 Binary files a/result/sw/share/locale/el/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/el/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/el/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 323c6900..00000000 Binary files a/result/sw/share/locale/el/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/en@boldquot/LC_MESSAGES/bash.mo b/result/sw/share/locale/en@boldquot/LC_MESSAGES/bash.mo deleted file mode 100644 index 21505e33..00000000 Binary files a/result/sw/share/locale/en@boldquot/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/en@quot/LC_MESSAGES/bash.mo b/result/sw/share/locale/en@quot/LC_MESSAGES/bash.mo deleted file mode 100644 index 710a9d7c..00000000 Binary files a/result/sw/share/locale/en@quot/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/eo/LC_MESSAGES/bash.mo b/result/sw/share/locale/eo/LC_MESSAGES/bash.mo deleted file mode 100644 index b0227e55..00000000 Binary files a/result/sw/share/locale/eo/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/eo/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/eo/LC_MESSAGES/texinfo.mo deleted file mode 100644 index bec2a182..00000000 Binary files a/result/sw/share/locale/eo/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/eo/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/eo/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index b4891186..00000000 Binary files a/result/sw/share/locale/eo/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/es/LC_MESSAGES/bash.mo b/result/sw/share/locale/es/LC_MESSAGES/bash.mo deleted file mode 100644 index 68edd53c..00000000 Binary files a/result/sw/share/locale/es/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/es/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/es/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 9bcb3bd9..00000000 Binary files a/result/sw/share/locale/es/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/es/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/es/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index eec804ee..00000000 Binary files a/result/sw/share/locale/es/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/et/LC_MESSAGES/bash.mo b/result/sw/share/locale/et/LC_MESSAGES/bash.mo deleted file mode 100644 index ac47880e..00000000 Binary files a/result/sw/share/locale/et/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/fi/LC_MESSAGES/bash.mo b/result/sw/share/locale/fi/LC_MESSAGES/bash.mo deleted file mode 100644 index 7f4b31dd..00000000 Binary files a/result/sw/share/locale/fi/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/fi/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/fi/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 5212b185..00000000 Binary files a/result/sw/share/locale/fi/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/fi/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/fi/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 3b2f91c4..00000000 Binary files a/result/sw/share/locale/fi/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/fr/LC_MESSAGES/bash.mo b/result/sw/share/locale/fr/LC_MESSAGES/bash.mo deleted file mode 100644 index 39d8520c..00000000 Binary files a/result/sw/share/locale/fr/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/fr/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/fr/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 03d97b13..00000000 Binary files a/result/sw/share/locale/fr/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/fr/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/fr/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index a2c480bd..00000000 Binary files a/result/sw/share/locale/fr/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/ga/LC_MESSAGES/bash.mo b/result/sw/share/locale/ga/LC_MESSAGES/bash.mo deleted file mode 100644 index 88309c9d..00000000 Binary files a/result/sw/share/locale/ga/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/gl/LC_MESSAGES/bash.mo b/result/sw/share/locale/gl/LC_MESSAGES/bash.mo deleted file mode 100644 index ba7923da..00000000 Binary files a/result/sw/share/locale/gl/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/he/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/he/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 938e0e97..00000000 Binary files a/result/sw/share/locale/he/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/hr/LC_MESSAGES/bash.mo b/result/sw/share/locale/hr/LC_MESSAGES/bash.mo deleted file mode 100644 index 228b369e..00000000 Binary files a/result/sw/share/locale/hr/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/hr/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/hr/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 22d5b01c..00000000 Binary files a/result/sw/share/locale/hr/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/hr/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/hr/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 969ca9c3..00000000 Binary files a/result/sw/share/locale/hr/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/hu/LC_MESSAGES/bash.mo b/result/sw/share/locale/hu/LC_MESSAGES/bash.mo deleted file mode 100644 index cfc7843c..00000000 Binary files a/result/sw/share/locale/hu/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/hu/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/hu/LC_MESSAGES/texinfo.mo deleted file mode 100644 index d5ab55e4..00000000 Binary files a/result/sw/share/locale/hu/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/hu/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/hu/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 254577e2..00000000 Binary files a/result/sw/share/locale/hu/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/id/LC_MESSAGES/bash.mo b/result/sw/share/locale/id/LC_MESSAGES/bash.mo deleted file mode 100644 index ca3c6feb..00000000 Binary files a/result/sw/share/locale/id/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/id/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/id/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 57ca03e3..00000000 Binary files a/result/sw/share/locale/id/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/it/LC_MESSAGES/bash.mo b/result/sw/share/locale/it/LC_MESSAGES/bash.mo deleted file mode 100644 index f23813b0..00000000 Binary files a/result/sw/share/locale/it/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/it/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/it/LC_MESSAGES/texinfo.mo deleted file mode 100644 index d05085eb..00000000 Binary files a/result/sw/share/locale/it/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/it/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/it/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index a11f410a..00000000 Binary files a/result/sw/share/locale/it/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/ja/LC_MESSAGES/bash.mo b/result/sw/share/locale/ja/LC_MESSAGES/bash.mo deleted file mode 100644 index 0314f9e8..00000000 Binary files a/result/sw/share/locale/ja/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/ja/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/ja/LC_MESSAGES/texinfo.mo deleted file mode 100644 index a9516bda..00000000 Binary files a/result/sw/share/locale/ja/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/ka/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/ka/LC_MESSAGES/texinfo.mo deleted file mode 100644 index cc51c1dd..00000000 Binary files a/result/sw/share/locale/ka/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/ka/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/ka/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index fbf16061..00000000 Binary files a/result/sw/share/locale/ka/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/ko/LC_MESSAGES/bash.mo b/result/sw/share/locale/ko/LC_MESSAGES/bash.mo deleted file mode 100644 index 11fe7d2e..00000000 Binary files a/result/sw/share/locale/ko/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/lt/LC_MESSAGES/bash.mo b/result/sw/share/locale/lt/LC_MESSAGES/bash.mo deleted file mode 100644 index 59b42925..00000000 Binary files a/result/sw/share/locale/lt/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/nb/LC_MESSAGES/bash.mo b/result/sw/share/locale/nb/LC_MESSAGES/bash.mo deleted file mode 100644 index 8d59f1d2..00000000 Binary files a/result/sw/share/locale/nb/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/nb/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/nb/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 726bec7d..00000000 Binary files a/result/sw/share/locale/nb/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/nb/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/nb/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 42b1864d..00000000 Binary files a/result/sw/share/locale/nb/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/nl/LC_MESSAGES/bash.mo b/result/sw/share/locale/nl/LC_MESSAGES/bash.mo deleted file mode 100644 index 86de738c..00000000 Binary files a/result/sw/share/locale/nl/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/nl/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/nl/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 680ae189..00000000 Binary files a/result/sw/share/locale/nl/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/nl/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/nl/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 0e3a3c49..00000000 Binary files a/result/sw/share/locale/nl/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/pl/LC_MESSAGES/bash.mo b/result/sw/share/locale/pl/LC_MESSAGES/bash.mo deleted file mode 100644 index 4adbed02..00000000 Binary files a/result/sw/share/locale/pl/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/pl/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/pl/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 7ebcb53d..00000000 Binary files a/result/sw/share/locale/pl/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/pl/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/pl/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 4e30ef99..00000000 Binary files a/result/sw/share/locale/pl/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/pt/LC_MESSAGES/bash.mo b/result/sw/share/locale/pt/LC_MESSAGES/bash.mo deleted file mode 100644 index 0f516eea..00000000 Binary files a/result/sw/share/locale/pt/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/pt/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/pt/LC_MESSAGES/texinfo.mo deleted file mode 100644 index e99bac09..00000000 Binary files a/result/sw/share/locale/pt/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/pt/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/pt/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index b7843806..00000000 Binary files a/result/sw/share/locale/pt/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/pt_BR/LC_MESSAGES/bash.mo b/result/sw/share/locale/pt_BR/LC_MESSAGES/bash.mo deleted file mode 100644 index 6048f5c9..00000000 Binary files a/result/sw/share/locale/pt_BR/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 67d79e55..00000000 Binary files a/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 61d096b9..00000000 Binary files a/result/sw/share/locale/pt_BR/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/ro/LC_MESSAGES/bash.mo b/result/sw/share/locale/ro/LC_MESSAGES/bash.mo deleted file mode 100644 index f1036a70..00000000 Binary files a/result/sw/share/locale/ro/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/ro/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/ro/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 4972e174..00000000 Binary files a/result/sw/share/locale/ro/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/ro/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/ro/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 628c954f..00000000 Binary files a/result/sw/share/locale/ro/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/ru/LC_MESSAGES/bash.mo b/result/sw/share/locale/ru/LC_MESSAGES/bash.mo deleted file mode 100644 index ec59728a..00000000 Binary files a/result/sw/share/locale/ru/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/ru/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/ru/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 14f439e1..00000000 Binary files a/result/sw/share/locale/ru/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/rw/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/rw/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 0d78c9cc..00000000 Binary files a/result/sw/share/locale/rw/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/sk/LC_MESSAGES/bash.mo b/result/sw/share/locale/sk/LC_MESSAGES/bash.mo deleted file mode 100644 index 22b4af34..00000000 Binary files a/result/sw/share/locale/sk/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/sk/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/sk/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 81d95d67..00000000 Binary files a/result/sw/share/locale/sk/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/sk/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/sk/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 9b1053fc..00000000 Binary files a/result/sw/share/locale/sk/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/sl/LC_MESSAGES/bash.mo b/result/sw/share/locale/sl/LC_MESSAGES/bash.mo deleted file mode 100644 index 2615432b..00000000 Binary files a/result/sw/share/locale/sl/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/sl/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/sl/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 696fb2e4..00000000 Binary files a/result/sw/share/locale/sl/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/sr/LC_MESSAGES/bash.mo b/result/sw/share/locale/sr/LC_MESSAGES/bash.mo deleted file mode 100644 index 609b0183..00000000 Binary files a/result/sw/share/locale/sr/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/sr/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/sr/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 926be90f..00000000 Binary files a/result/sw/share/locale/sr/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/sr/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/sr/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index c0657c1f..00000000 Binary files a/result/sw/share/locale/sr/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/sv/LC_MESSAGES/bash.mo b/result/sw/share/locale/sv/LC_MESSAGES/bash.mo deleted file mode 100644 index 804ca8fe..00000000 Binary files a/result/sw/share/locale/sv/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/sv/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/sv/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 49d2a5ee..00000000 Binary files a/result/sw/share/locale/sv/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/sv/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/sv/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 295d60f0..00000000 Binary files a/result/sw/share/locale/sv/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/tr/LC_MESSAGES/bash.mo b/result/sw/share/locale/tr/LC_MESSAGES/bash.mo deleted file mode 100644 index ecd482e3..00000000 Binary files a/result/sw/share/locale/tr/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/tr/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/tr/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 501ecdf8..00000000 Binary files a/result/sw/share/locale/tr/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/uk/LC_MESSAGES/bash.mo b/result/sw/share/locale/uk/LC_MESSAGES/bash.mo deleted file mode 100644 index eda38aff..00000000 Binary files a/result/sw/share/locale/uk/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/uk/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/uk/LC_MESSAGES/texinfo.mo deleted file mode 100644 index b6e82b7f..00000000 Binary files a/result/sw/share/locale/uk/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/uk/LC_MESSAGES/texinfo_document.mo b/result/sw/share/locale/uk/LC_MESSAGES/texinfo_document.mo deleted file mode 100644 index 11598553..00000000 Binary files a/result/sw/share/locale/uk/LC_MESSAGES/texinfo_document.mo and /dev/null differ diff --git a/result/sw/share/locale/vi/LC_MESSAGES/bash.mo b/result/sw/share/locale/vi/LC_MESSAGES/bash.mo deleted file mode 100644 index f97a37d6..00000000 Binary files a/result/sw/share/locale/vi/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/vi/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/vi/LC_MESSAGES/texinfo.mo deleted file mode 100644 index a24f297a..00000000 Binary files a/result/sw/share/locale/vi/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/zh_CN/LC_MESSAGES/bash.mo b/result/sw/share/locale/zh_CN/LC_MESSAGES/bash.mo deleted file mode 100644 index e3171aef..00000000 Binary files a/result/sw/share/locale/zh_CN/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/zh_CN/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/zh_CN/LC_MESSAGES/texinfo.mo deleted file mode 100644 index 45fca259..00000000 Binary files a/result/sw/share/locale/zh_CN/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/locale/zh_TW/LC_MESSAGES/bash.mo b/result/sw/share/locale/zh_TW/LC_MESSAGES/bash.mo deleted file mode 100644 index 9dd7546f..00000000 Binary files a/result/sw/share/locale/zh_TW/LC_MESSAGES/bash.mo and /dev/null differ diff --git a/result/sw/share/locale/zh_TW/LC_MESSAGES/texinfo.mo b/result/sw/share/locale/zh_TW/LC_MESSAGES/texinfo.mo deleted file mode 100644 index d0e9d7d9..00000000 Binary files a/result/sw/share/locale/zh_TW/LC_MESSAGES/texinfo.mo and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/ex.1.gz b/result/sw/share/man/da.ISO8859-1/man1/ex.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/rview.1.gz b/result/sw/share/man/da.ISO8859-1/man1/rview.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/rvim.1.gz b/result/sw/share/man/da.ISO8859-1/man1/rvim.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/view.1.gz b/result/sw/share/man/da.ISO8859-1/man1/view.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/vim.1.gz b/result/sw/share/man/da.ISO8859-1/man1/vim.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/vimdiff.1.gz b/result/sw/share/man/da.ISO8859-1/man1/vimdiff.1.gz deleted file mode 100644 index 77458fc5..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.ISO8859-1/man1/vimtutor.1.gz b/result/sw/share/man/da.ISO8859-1/man1/vimtutor.1.gz deleted file mode 100644 index c6ff93ca..00000000 Binary files a/result/sw/share/man/da.ISO8859-1/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/ex.1.gz b/result/sw/share/man/da.UTF-8/man1/ex.1.gz deleted file mode 100644 index 20875578..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/rview.1.gz b/result/sw/share/man/da.UTF-8/man1/rview.1.gz deleted file mode 100644 index 20875578..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/rvim.1.gz b/result/sw/share/man/da.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 20875578..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/view.1.gz b/result/sw/share/man/da.UTF-8/man1/view.1.gz deleted file mode 100644 index 20875578..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/vim.1.gz b/result/sw/share/man/da.UTF-8/man1/vim.1.gz deleted file mode 100644 index 20875578..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/da.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index 58b7c6a6..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/da.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/da.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index 0a618f40..00000000 Binary files a/result/sw/share/man/da.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/ex.1.gz b/result/sw/share/man/da/man1/ex.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/rview.1.gz b/result/sw/share/man/da/man1/rview.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/rvim.1.gz b/result/sw/share/man/da/man1/rvim.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/view.1.gz b/result/sw/share/man/da/man1/view.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/vim.1.gz b/result/sw/share/man/da/man1/vim.1.gz deleted file mode 100644 index dedeecd3..00000000 Binary files a/result/sw/share/man/da/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/vimdiff.1.gz b/result/sw/share/man/da/man1/vimdiff.1.gz deleted file mode 100644 index 77458fc5..00000000 Binary files a/result/sw/share/man/da/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/da/man1/vimtutor.1.gz b/result/sw/share/man/da/man1/vimtutor.1.gz deleted file mode 100644 index c6ff93ca..00000000 Binary files a/result/sw/share/man/da/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.ISO8859-1/man1/ex.1.gz b/result/sw/share/man/de.ISO8859-1/man1/ex.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de.ISO8859-1/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.ISO8859-1/man1/rview.1.gz b/result/sw/share/man/de.ISO8859-1/man1/rview.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de.ISO8859-1/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.ISO8859-1/man1/rvim.1.gz b/result/sw/share/man/de.ISO8859-1/man1/rvim.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de.ISO8859-1/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.ISO8859-1/man1/view.1.gz b/result/sw/share/man/de.ISO8859-1/man1/view.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de.ISO8859-1/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.ISO8859-1/man1/vim.1.gz b/result/sw/share/man/de.ISO8859-1/man1/vim.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de.ISO8859-1/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.UTF-8/man1/ex.1.gz b/result/sw/share/man/de.UTF-8/man1/ex.1.gz deleted file mode 100644 index 92a79041..00000000 Binary files a/result/sw/share/man/de.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.UTF-8/man1/rview.1.gz b/result/sw/share/man/de.UTF-8/man1/rview.1.gz deleted file mode 100644 index 92a79041..00000000 Binary files a/result/sw/share/man/de.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.UTF-8/man1/rvim.1.gz b/result/sw/share/man/de.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 92a79041..00000000 Binary files a/result/sw/share/man/de.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.UTF-8/man1/view.1.gz b/result/sw/share/man/de.UTF-8/man1/view.1.gz deleted file mode 100644 index 92a79041..00000000 Binary files a/result/sw/share/man/de.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/de.UTF-8/man1/vim.1.gz b/result/sw/share/man/de.UTF-8/man1/vim.1.gz deleted file mode 100644 index 92a79041..00000000 Binary files a/result/sw/share/man/de.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/de/man1/ex.1.gz b/result/sw/share/man/de/man1/ex.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/de/man1/rview.1.gz b/result/sw/share/man/de/man1/rview.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/de/man1/rvim.1.gz b/result/sw/share/man/de/man1/rvim.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/de/man1/view.1.gz b/result/sw/share/man/de/man1/view.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/de/man1/vim.1.gz b/result/sw/share/man/de/man1/vim.1.gz deleted file mode 100644 index 2fd93997..00000000 Binary files a/result/sw/share/man/de/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/evim.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/evim.1.gz deleted file mode 100644 index 44ceea40..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/ex.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/ex.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/rview.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/rview.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/rvim.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/rvim.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/view.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/view.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/vim.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/vim.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/vimdiff.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/vimdiff.1.gz deleted file mode 100644 index 8098ae05..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/vimtutor.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/vimtutor.1.gz deleted file mode 100644 index 62ffa24d..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.ISO8859-1/man1/xxd.1.gz b/result/sw/share/man/fr.ISO8859-1/man1/xxd.1.gz deleted file mode 100644 index d09a275a..00000000 Binary files a/result/sw/share/man/fr.ISO8859-1/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/evim.1.gz b/result/sw/share/man/fr.UTF-8/man1/evim.1.gz deleted file mode 100644 index c1ce3450..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/ex.1.gz b/result/sw/share/man/fr.UTF-8/man1/ex.1.gz deleted file mode 100644 index 49670585..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/rview.1.gz b/result/sw/share/man/fr.UTF-8/man1/rview.1.gz deleted file mode 100644 index 49670585..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/rvim.1.gz b/result/sw/share/man/fr.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 49670585..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/view.1.gz b/result/sw/share/man/fr.UTF-8/man1/view.1.gz deleted file mode 100644 index 49670585..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/vim.1.gz b/result/sw/share/man/fr.UTF-8/man1/vim.1.gz deleted file mode 100644 index 49670585..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/fr.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index d3d7414c..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/fr.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index 4646b821..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr.UTF-8/man1/xxd.1.gz b/result/sw/share/man/fr.UTF-8/man1/xxd.1.gz deleted file mode 100644 index 793b3d30..00000000 Binary files a/result/sw/share/man/fr.UTF-8/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/evim.1.gz b/result/sw/share/man/fr/man1/evim.1.gz deleted file mode 100644 index 44ceea40..00000000 Binary files a/result/sw/share/man/fr/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/ex.1.gz b/result/sw/share/man/fr/man1/ex.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/rview.1.gz b/result/sw/share/man/fr/man1/rview.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/rvim.1.gz b/result/sw/share/man/fr/man1/rvim.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/view.1.gz b/result/sw/share/man/fr/man1/view.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/vim.1.gz b/result/sw/share/man/fr/man1/vim.1.gz deleted file mode 100644 index 99233c26..00000000 Binary files a/result/sw/share/man/fr/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/vimdiff.1.gz b/result/sw/share/man/fr/man1/vimdiff.1.gz deleted file mode 100644 index 8098ae05..00000000 Binary files a/result/sw/share/man/fr/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/vimtutor.1.gz b/result/sw/share/man/fr/man1/vimtutor.1.gz deleted file mode 100644 index 62ffa24d..00000000 Binary files a/result/sw/share/man/fr/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/fr/man1/xxd.1.gz b/result/sw/share/man/fr/man1/xxd.1.gz deleted file mode 100644 index d09a275a..00000000 Binary files a/result/sw/share/man/fr/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/evim.1.gz b/result/sw/share/man/it.ISO8859-1/man1/evim.1.gz deleted file mode 100644 index 302c903b..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/ex.1.gz b/result/sw/share/man/it.ISO8859-1/man1/ex.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/rview.1.gz b/result/sw/share/man/it.ISO8859-1/man1/rview.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/rvim.1.gz b/result/sw/share/man/it.ISO8859-1/man1/rvim.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/view.1.gz b/result/sw/share/man/it.ISO8859-1/man1/view.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/vim.1.gz b/result/sw/share/man/it.ISO8859-1/man1/vim.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/vimdiff.1.gz b/result/sw/share/man/it.ISO8859-1/man1/vimdiff.1.gz deleted file mode 100644 index 265784a4..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/vimtutor.1.gz b/result/sw/share/man/it.ISO8859-1/man1/vimtutor.1.gz deleted file mode 100644 index 9f761e32..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.ISO8859-1/man1/xxd.1.gz b/result/sw/share/man/it.ISO8859-1/man1/xxd.1.gz deleted file mode 100644 index 37ca8e5e..00000000 Binary files a/result/sw/share/man/it.ISO8859-1/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/evim.1.gz b/result/sw/share/man/it.UTF-8/man1/evim.1.gz deleted file mode 100644 index 2d8713b3..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/ex.1.gz b/result/sw/share/man/it.UTF-8/man1/ex.1.gz deleted file mode 100644 index 95a1d1e0..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/rview.1.gz b/result/sw/share/man/it.UTF-8/man1/rview.1.gz deleted file mode 100644 index 95a1d1e0..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/rvim.1.gz b/result/sw/share/man/it.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 95a1d1e0..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/view.1.gz b/result/sw/share/man/it.UTF-8/man1/view.1.gz deleted file mode 100644 index 95a1d1e0..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/vim.1.gz b/result/sw/share/man/it.UTF-8/man1/vim.1.gz deleted file mode 100644 index 95a1d1e0..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/it.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index d119b2ce..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/it.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index 22528776..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/it.UTF-8/man1/xxd.1.gz b/result/sw/share/man/it.UTF-8/man1/xxd.1.gz deleted file mode 100644 index 569cd6d6..00000000 Binary files a/result/sw/share/man/it.UTF-8/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/evim.1.gz b/result/sw/share/man/it/man1/evim.1.gz deleted file mode 100644 index 302c903b..00000000 Binary files a/result/sw/share/man/it/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/ex.1.gz b/result/sw/share/man/it/man1/ex.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/rview.1.gz b/result/sw/share/man/it/man1/rview.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/rvim.1.gz b/result/sw/share/man/it/man1/rvim.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/view.1.gz b/result/sw/share/man/it/man1/view.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/vim.1.gz b/result/sw/share/man/it/man1/vim.1.gz deleted file mode 100644 index 840dcce7..00000000 Binary files a/result/sw/share/man/it/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/vimdiff.1.gz b/result/sw/share/man/it/man1/vimdiff.1.gz deleted file mode 100644 index 265784a4..00000000 Binary files a/result/sw/share/man/it/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/vimtutor.1.gz b/result/sw/share/man/it/man1/vimtutor.1.gz deleted file mode 100644 index 9f761e32..00000000 Binary files a/result/sw/share/man/it/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/it/man1/xxd.1.gz b/result/sw/share/man/it/man1/xxd.1.gz deleted file mode 100644 index 37ca8e5e..00000000 Binary files a/result/sw/share/man/it/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/evim.1.gz b/result/sw/share/man/ja/man1/evim.1.gz deleted file mode 100644 index 5f503891..00000000 Binary files a/result/sw/share/man/ja/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/ex.1.gz b/result/sw/share/man/ja/man1/ex.1.gz deleted file mode 100644 index 724ec1a4..00000000 Binary files a/result/sw/share/man/ja/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/rview.1.gz b/result/sw/share/man/ja/man1/rview.1.gz deleted file mode 100644 index 724ec1a4..00000000 Binary files a/result/sw/share/man/ja/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/rvim.1.gz b/result/sw/share/man/ja/man1/rvim.1.gz deleted file mode 100644 index 724ec1a4..00000000 Binary files a/result/sw/share/man/ja/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/view.1.gz b/result/sw/share/man/ja/man1/view.1.gz deleted file mode 100644 index 724ec1a4..00000000 Binary files a/result/sw/share/man/ja/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/vim.1.gz b/result/sw/share/man/ja/man1/vim.1.gz deleted file mode 100644 index 724ec1a4..00000000 Binary files a/result/sw/share/man/ja/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/vimdiff.1.gz b/result/sw/share/man/ja/man1/vimdiff.1.gz deleted file mode 100644 index c06d3100..00000000 Binary files a/result/sw/share/man/ja/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/vimtutor.1.gz b/result/sw/share/man/ja/man1/vimtutor.1.gz deleted file mode 100644 index fb7da3a2..00000000 Binary files a/result/sw/share/man/ja/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/ja/man1/xxd.1.gz b/result/sw/share/man/ja/man1/xxd.1.gz deleted file mode 100644 index d7131fd0..00000000 Binary files a/result/sw/share/man/ja/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/bash.1.gz b/result/sw/share/man/man1/bash.1.gz deleted file mode 100644 index ea2c1216..00000000 Binary files a/result/sw/share/man/man1/bash.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/bashbug.1.gz b/result/sw/share/man/man1/bashbug.1.gz deleted file mode 100644 index 5dc8a8ef..00000000 Binary files a/result/sw/share/man/man1/bashbug.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/evim.1.gz b/result/sw/share/man/man1/evim.1.gz deleted file mode 100644 index 03af2835..00000000 Binary files a/result/sw/share/man/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/ex.1.gz b/result/sw/share/man/man1/ex.1.gz deleted file mode 100644 index 513c3c90..00000000 Binary files a/result/sw/share/man/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/info.1.gz b/result/sw/share/man/man1/info.1.gz deleted file mode 100644 index 43202287..00000000 Binary files a/result/sw/share/man/man1/info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/install-info.1.gz b/result/sw/share/man/man1/install-info.1.gz deleted file mode 100644 index 43bb9c05..00000000 Binary files a/result/sw/share/man/man1/install-info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/makeinfo.1.gz b/result/sw/share/man/man1/makeinfo.1.gz deleted file mode 100644 index 39cdc36f..00000000 Binary files a/result/sw/share/man/man1/makeinfo.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-build.1.gz b/result/sw/share/man/man1/nix-build.1.gz deleted file mode 100644 index 330e9d8c..00000000 Binary files a/result/sw/share/man/man1/nix-build.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-channel.1.gz b/result/sw/share/man/man1/nix-channel.1.gz deleted file mode 100644 index 0fd8c556..00000000 Binary files a/result/sw/share/man/man1/nix-channel.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-collect-garbage.1.gz b/result/sw/share/man/man1/nix-collect-garbage.1.gz deleted file mode 100644 index b1439acb..00000000 Binary files a/result/sw/share/man/man1/nix-collect-garbage.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-copy-closure.1.gz b/result/sw/share/man/man1/nix-copy-closure.1.gz deleted file mode 100644 index e248ef17..00000000 Binary files a/result/sw/share/man/man1/nix-copy-closure.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-delete-generations.1.gz b/result/sw/share/man/man1/nix-env-delete-generations.1.gz deleted file mode 100644 index 8dc3d5f2..00000000 Binary files a/result/sw/share/man/man1/nix-env-delete-generations.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-install.1.gz b/result/sw/share/man/man1/nix-env-install.1.gz deleted file mode 100644 index 65c167d2..00000000 Binary files a/result/sw/share/man/man1/nix-env-install.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-list-generations.1.gz b/result/sw/share/man/man1/nix-env-list-generations.1.gz deleted file mode 100644 index 49ad84d9..00000000 Binary files a/result/sw/share/man/man1/nix-env-list-generations.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-query.1.gz b/result/sw/share/man/man1/nix-env-query.1.gz deleted file mode 100644 index df714993..00000000 Binary files a/result/sw/share/man/man1/nix-env-query.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-rollback.1.gz b/result/sw/share/man/man1/nix-env-rollback.1.gz deleted file mode 100644 index a60b0a03..00000000 Binary files a/result/sw/share/man/man1/nix-env-rollback.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-set-flag.1.gz b/result/sw/share/man/man1/nix-env-set-flag.1.gz deleted file mode 100644 index 6178e6ae..00000000 Binary files a/result/sw/share/man/man1/nix-env-set-flag.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-set.1.gz b/result/sw/share/man/man1/nix-env-set.1.gz deleted file mode 100644 index e908ad15..00000000 Binary files a/result/sw/share/man/man1/nix-env-set.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-switch-generation.1.gz b/result/sw/share/man/man1/nix-env-switch-generation.1.gz deleted file mode 100644 index 9e79ddee..00000000 Binary files a/result/sw/share/man/man1/nix-env-switch-generation.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-switch-profile.1.gz b/result/sw/share/man/man1/nix-env-switch-profile.1.gz deleted file mode 100644 index d100b600..00000000 Binary files a/result/sw/share/man/man1/nix-env-switch-profile.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-uninstall.1.gz b/result/sw/share/man/man1/nix-env-uninstall.1.gz deleted file mode 100644 index 8dea65f7..00000000 Binary files a/result/sw/share/man/man1/nix-env-uninstall.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env-upgrade.1.gz b/result/sw/share/man/man1/nix-env-upgrade.1.gz deleted file mode 100644 index c202b892..00000000 Binary files a/result/sw/share/man/man1/nix-env-upgrade.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-env.1.gz b/result/sw/share/man/man1/nix-env.1.gz deleted file mode 100644 index 74981bc7..00000000 Binary files a/result/sw/share/man/man1/nix-env.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-hash.1.gz b/result/sw/share/man/man1/nix-hash.1.gz deleted file mode 100644 index 1a5fd9f6..00000000 Binary files a/result/sw/share/man/man1/nix-hash.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-instantiate.1.gz b/result/sw/share/man/man1/nix-instantiate.1.gz deleted file mode 100644 index aaef5a91..00000000 Binary files a/result/sw/share/man/man1/nix-instantiate.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-prefetch-url.1.gz b/result/sw/share/man/man1/nix-prefetch-url.1.gz deleted file mode 100644 index a25a1fa3..00000000 Binary files a/result/sw/share/man/man1/nix-prefetch-url.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-shell.1.gz b/result/sw/share/man/man1/nix-shell.1.gz deleted file mode 100644 index 07c72b14..00000000 Binary files a/result/sw/share/man/man1/nix-shell.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-add-fixed.1.gz b/result/sw/share/man/man1/nix-store-add-fixed.1.gz deleted file mode 100644 index 0aa63f54..00000000 Binary files a/result/sw/share/man/man1/nix-store-add-fixed.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-add.1.gz b/result/sw/share/man/man1/nix-store-add.1.gz deleted file mode 100644 index 57642a8b..00000000 Binary files a/result/sw/share/man/man1/nix-store-add.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-delete.1.gz b/result/sw/share/man/man1/nix-store-delete.1.gz deleted file mode 100644 index fa0c058b..00000000 Binary files a/result/sw/share/man/man1/nix-store-delete.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-dump-db.1.gz b/result/sw/share/man/man1/nix-store-dump-db.1.gz deleted file mode 100644 index 27483dd7..00000000 Binary files a/result/sw/share/man/man1/nix-store-dump-db.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-dump.1.gz b/result/sw/share/man/man1/nix-store-dump.1.gz deleted file mode 100644 index 6207e889..00000000 Binary files a/result/sw/share/man/man1/nix-store-dump.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-export.1.gz b/result/sw/share/man/man1/nix-store-export.1.gz deleted file mode 100644 index f1deba7e..00000000 Binary files a/result/sw/share/man/man1/nix-store-export.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-gc.1.gz b/result/sw/share/man/man1/nix-store-gc.1.gz deleted file mode 100644 index b8c761be..00000000 Binary files a/result/sw/share/man/man1/nix-store-gc.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-generate-binary-cache-key.1.gz b/result/sw/share/man/man1/nix-store-generate-binary-cache-key.1.gz deleted file mode 100644 index 7d77ba5f..00000000 Binary files a/result/sw/share/man/man1/nix-store-generate-binary-cache-key.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-import.1.gz b/result/sw/share/man/man1/nix-store-import.1.gz deleted file mode 100644 index 270f349b..00000000 Binary files a/result/sw/share/man/man1/nix-store-import.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-load-db.1.gz b/result/sw/share/man/man1/nix-store-load-db.1.gz deleted file mode 100644 index 0f154134..00000000 Binary files a/result/sw/share/man/man1/nix-store-load-db.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-optimise.1.gz b/result/sw/share/man/man1/nix-store-optimise.1.gz deleted file mode 100644 index 1e1eb032..00000000 Binary files a/result/sw/share/man/man1/nix-store-optimise.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-print-env.1.gz b/result/sw/share/man/man1/nix-store-print-env.1.gz deleted file mode 100644 index c8193466..00000000 Binary files a/result/sw/share/man/man1/nix-store-print-env.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-query.1.gz b/result/sw/share/man/man1/nix-store-query.1.gz deleted file mode 100644 index 9569255f..00000000 Binary files a/result/sw/share/man/man1/nix-store-query.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-read-log.1.gz b/result/sw/share/man/man1/nix-store-read-log.1.gz deleted file mode 100644 index a6b7d332..00000000 Binary files a/result/sw/share/man/man1/nix-store-read-log.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-realise.1.gz b/result/sw/share/man/man1/nix-store-realise.1.gz deleted file mode 100644 index 246a4b49..00000000 Binary files a/result/sw/share/man/man1/nix-store-realise.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-repair-path.1.gz b/result/sw/share/man/man1/nix-store-repair-path.1.gz deleted file mode 100644 index f3c8efc3..00000000 Binary files a/result/sw/share/man/man1/nix-store-repair-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-restore.1.gz b/result/sw/share/man/man1/nix-store-restore.1.gz deleted file mode 100644 index efa50441..00000000 Binary files a/result/sw/share/man/man1/nix-store-restore.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-serve.1.gz b/result/sw/share/man/man1/nix-store-serve.1.gz deleted file mode 100644 index 0ab0a92a..00000000 Binary files a/result/sw/share/man/man1/nix-store-serve.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-verify-path.1.gz b/result/sw/share/man/man1/nix-store-verify-path.1.gz deleted file mode 100644 index a2055738..00000000 Binary files a/result/sw/share/man/man1/nix-store-verify-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store-verify.1.gz b/result/sw/share/man/man1/nix-store-verify.1.gz deleted file mode 100644 index 6d666d27..00000000 Binary files a/result/sw/share/man/man1/nix-store-verify.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix-store.1.gz b/result/sw/share/man/man1/nix-store.1.gz deleted file mode 100644 index a6d4463f..00000000 Binary files a/result/sw/share/man/man1/nix-store.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix.1.gz b/result/sw/share/man/man1/nix.1.gz deleted file mode 100644 index 5610d14c..00000000 Binary files a/result/sw/share/man/man1/nix.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-build.1.gz b/result/sw/share/man/man1/nix3-build.1.gz deleted file mode 100644 index 198e3ac9..00000000 Binary files a/result/sw/share/man/man1/nix3-build.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-bundle.1.gz b/result/sw/share/man/man1/nix3-bundle.1.gz deleted file mode 100644 index 179cb356..00000000 Binary files a/result/sw/share/man/man1/nix3-bundle.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-config-check.1.gz b/result/sw/share/man/man1/nix3-config-check.1.gz deleted file mode 100644 index fb109000..00000000 Binary files a/result/sw/share/man/man1/nix3-config-check.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-config-show.1.gz b/result/sw/share/man/man1/nix3-config-show.1.gz deleted file mode 100644 index 75f70ba5..00000000 Binary files a/result/sw/share/man/man1/nix3-config-show.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-config.1.gz b/result/sw/share/man/man1/nix3-config.1.gz deleted file mode 100644 index 264a1fd4..00000000 Binary files a/result/sw/share/man/man1/nix3-config.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-copy.1.gz b/result/sw/share/man/man1/nix3-copy.1.gz deleted file mode 100644 index 617b1fa5..00000000 Binary files a/result/sw/share/man/man1/nix3-copy.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-daemon.1.gz b/result/sw/share/man/man1/nix3-daemon.1.gz deleted file mode 100644 index 7186b541..00000000 Binary files a/result/sw/share/man/man1/nix3-daemon.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-derivation-add.1.gz b/result/sw/share/man/man1/nix3-derivation-add.1.gz deleted file mode 100644 index ff5eb907..00000000 Binary files a/result/sw/share/man/man1/nix3-derivation-add.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-derivation-show.1.gz b/result/sw/share/man/man1/nix3-derivation-show.1.gz deleted file mode 100644 index d495934f..00000000 Binary files a/result/sw/share/man/man1/nix3-derivation-show.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-derivation.1.gz b/result/sw/share/man/man1/nix3-derivation.1.gz deleted file mode 100644 index 763a1e16..00000000 Binary files a/result/sw/share/man/man1/nix3-derivation.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-develop.1.gz b/result/sw/share/man/man1/nix3-develop.1.gz deleted file mode 100644 index 5b0f1bff..00000000 Binary files a/result/sw/share/man/man1/nix3-develop.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-edit.1.gz b/result/sw/share/man/man1/nix3-edit.1.gz deleted file mode 100644 index b9ab2db2..00000000 Binary files a/result/sw/share/man/man1/nix3-edit.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-env-shell.1.gz b/result/sw/share/man/man1/nix3-env-shell.1.gz deleted file mode 100644 index e2be8563..00000000 Binary files a/result/sw/share/man/man1/nix3-env-shell.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-eval.1.gz b/result/sw/share/man/man1/nix3-eval.1.gz deleted file mode 100644 index 782e78fe..00000000 Binary files a/result/sw/share/man/man1/nix3-eval.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-archive.1.gz b/result/sw/share/man/man1/nix3-flake-archive.1.gz deleted file mode 100644 index 9acce5be..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-archive.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-check.1.gz b/result/sw/share/man/man1/nix3-flake-check.1.gz deleted file mode 100644 index 0ee40cfb..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-check.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-clone.1.gz b/result/sw/share/man/man1/nix3-flake-clone.1.gz deleted file mode 100644 index e6dd7e94..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-clone.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-info.1.gz b/result/sw/share/man/man1/nix3-flake-info.1.gz deleted file mode 100644 index cf86582a..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-init.1.gz b/result/sw/share/man/man1/nix3-flake-init.1.gz deleted file mode 100644 index dc3ca4f4..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-init.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-lock.1.gz b/result/sw/share/man/man1/nix3-flake-lock.1.gz deleted file mode 100644 index e5710413..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-lock.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-metadata.1.gz b/result/sw/share/man/man1/nix3-flake-metadata.1.gz deleted file mode 100644 index 5fb07b30..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-metadata.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-new.1.gz b/result/sw/share/man/man1/nix3-flake-new.1.gz deleted file mode 100644 index 9b8fdc22..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-new.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-prefetch.1.gz b/result/sw/share/man/man1/nix3-flake-prefetch.1.gz deleted file mode 100644 index 0c59306d..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-prefetch.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-show.1.gz b/result/sw/share/man/man1/nix3-flake-show.1.gz deleted file mode 100644 index 64944c5e..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-show.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake-update.1.gz b/result/sw/share/man/man1/nix3-flake-update.1.gz deleted file mode 100644 index 88b0d2df..00000000 Binary files a/result/sw/share/man/man1/nix3-flake-update.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-flake.1.gz b/result/sw/share/man/man1/nix3-flake.1.gz deleted file mode 100644 index 9d001451..00000000 Binary files a/result/sw/share/man/man1/nix3-flake.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-fmt.1.gz b/result/sw/share/man/man1/nix3-fmt.1.gz deleted file mode 100644 index 9706ce24..00000000 Binary files a/result/sw/share/man/man1/nix3-fmt.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-convert.1.gz b/result/sw/share/man/man1/nix3-hash-convert.1.gz deleted file mode 100644 index 1b730a3b..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-convert.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-file.1.gz b/result/sw/share/man/man1/nix3-hash-file.1.gz deleted file mode 100644 index 4da22047..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-file.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-path.1.gz b/result/sw/share/man/man1/nix3-hash-path.1.gz deleted file mode 100644 index 724a585c..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-to-base16.1.gz b/result/sw/share/man/man1/nix3-hash-to-base16.1.gz deleted file mode 100644 index f155cbbb..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-to-base16.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-to-base32.1.gz b/result/sw/share/man/man1/nix3-hash-to-base32.1.gz deleted file mode 100644 index 0f5f91cb..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-to-base32.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-to-base64.1.gz b/result/sw/share/man/man1/nix3-hash-to-base64.1.gz deleted file mode 100644 index 2975c3f5..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-to-base64.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash-to-sri.1.gz b/result/sw/share/man/man1/nix3-hash-to-sri.1.gz deleted file mode 100644 index 8dd80c81..00000000 Binary files a/result/sw/share/man/man1/nix3-hash-to-sri.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-hash.1.gz b/result/sw/share/man/man1/nix3-hash.1.gz deleted file mode 100644 index 6f4020c8..00000000 Binary files a/result/sw/share/man/man1/nix3-hash.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-help-stores.1.gz b/result/sw/share/man/man1/nix3-help-stores.1.gz deleted file mode 100644 index 8b1b3ec8..00000000 Binary files a/result/sw/share/man/man1/nix3-help-stores.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-help.1.gz b/result/sw/share/man/man1/nix3-help.1.gz deleted file mode 100644 index 8314e129..00000000 Binary files a/result/sw/share/man/man1/nix3-help.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-key-convert-secret-to-public.1.gz b/result/sw/share/man/man1/nix3-key-convert-secret-to-public.1.gz deleted file mode 100644 index 1937437a..00000000 Binary files a/result/sw/share/man/man1/nix3-key-convert-secret-to-public.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-key-generate-secret.1.gz b/result/sw/share/man/man1/nix3-key-generate-secret.1.gz deleted file mode 100644 index 072a024a..00000000 Binary files a/result/sw/share/man/man1/nix3-key-generate-secret.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-key.1.gz b/result/sw/share/man/man1/nix3-key.1.gz deleted file mode 100644 index 5778d520..00000000 Binary files a/result/sw/share/man/man1/nix3-key.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-log.1.gz b/result/sw/share/man/man1/nix3-log.1.gz deleted file mode 100644 index c703fa71..00000000 Binary files a/result/sw/share/man/man1/nix3-log.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-nar-cat.1.gz b/result/sw/share/man/man1/nix3-nar-cat.1.gz deleted file mode 100644 index 36ea9c78..00000000 Binary files a/result/sw/share/man/man1/nix3-nar-cat.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-nar-dump-path.1.gz b/result/sw/share/man/man1/nix3-nar-dump-path.1.gz deleted file mode 100644 index f529357a..00000000 Binary files a/result/sw/share/man/man1/nix3-nar-dump-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-nar-ls.1.gz b/result/sw/share/man/man1/nix3-nar-ls.1.gz deleted file mode 100644 index 07692cf4..00000000 Binary files a/result/sw/share/man/man1/nix3-nar-ls.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-nar-pack.1.gz b/result/sw/share/man/man1/nix3-nar-pack.1.gz deleted file mode 100644 index 691d13b2..00000000 Binary files a/result/sw/share/man/man1/nix3-nar-pack.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-nar.1.gz b/result/sw/share/man/man1/nix3-nar.1.gz deleted file mode 100644 index 0b97648b..00000000 Binary files a/result/sw/share/man/man1/nix3-nar.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-path-info.1.gz b/result/sw/share/man/man1/nix3-path-info.1.gz deleted file mode 100644 index b5002ac5..00000000 Binary files a/result/sw/share/man/man1/nix3-path-info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-print-dev-env.1.gz b/result/sw/share/man/man1/nix3-print-dev-env.1.gz deleted file mode 100644 index c65c8502..00000000 Binary files a/result/sw/share/man/man1/nix3-print-dev-env.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-diff-closures.1.gz b/result/sw/share/man/man1/nix3-profile-diff-closures.1.gz deleted file mode 100644 index b65d0c11..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-diff-closures.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-history.1.gz b/result/sw/share/man/man1/nix3-profile-history.1.gz deleted file mode 100644 index 1a2b32f6..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-history.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-install.1.gz b/result/sw/share/man/man1/nix3-profile-install.1.gz deleted file mode 100644 index 8fe43ef0..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-install.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-list.1.gz b/result/sw/share/man/man1/nix3-profile-list.1.gz deleted file mode 100644 index a82b7200..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-list.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-remove.1.gz b/result/sw/share/man/man1/nix3-profile-remove.1.gz deleted file mode 100644 index d522a60c..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-remove.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-rollback.1.gz b/result/sw/share/man/man1/nix3-profile-rollback.1.gz deleted file mode 100644 index 6a5f4b82..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-rollback.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-upgrade.1.gz b/result/sw/share/man/man1/nix3-profile-upgrade.1.gz deleted file mode 100644 index f13d1207..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-upgrade.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile-wipe-history.1.gz b/result/sw/share/man/man1/nix3-profile-wipe-history.1.gz deleted file mode 100644 index 28dbb252..00000000 Binary files a/result/sw/share/man/man1/nix3-profile-wipe-history.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-profile.1.gz b/result/sw/share/man/man1/nix3-profile.1.gz deleted file mode 100644 index 4b2b2950..00000000 Binary files a/result/sw/share/man/man1/nix3-profile.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-realisation-info.1.gz b/result/sw/share/man/man1/nix3-realisation-info.1.gz deleted file mode 100644 index 1c3bce69..00000000 Binary files a/result/sw/share/man/man1/nix3-realisation-info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-realisation.1.gz b/result/sw/share/man/man1/nix3-realisation.1.gz deleted file mode 100644 index 6076a04d..00000000 Binary files a/result/sw/share/man/man1/nix3-realisation.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-registry-add.1.gz b/result/sw/share/man/man1/nix3-registry-add.1.gz deleted file mode 100644 index 5c25a7dd..00000000 Binary files a/result/sw/share/man/man1/nix3-registry-add.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-registry-list.1.gz b/result/sw/share/man/man1/nix3-registry-list.1.gz deleted file mode 100644 index 11da8ae4..00000000 Binary files a/result/sw/share/man/man1/nix3-registry-list.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-registry-pin.1.gz b/result/sw/share/man/man1/nix3-registry-pin.1.gz deleted file mode 100644 index 2cfcbad7..00000000 Binary files a/result/sw/share/man/man1/nix3-registry-pin.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-registry-remove.1.gz b/result/sw/share/man/man1/nix3-registry-remove.1.gz deleted file mode 100644 index e5a571c3..00000000 Binary files a/result/sw/share/man/man1/nix3-registry-remove.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-registry.1.gz b/result/sw/share/man/man1/nix3-registry.1.gz deleted file mode 100644 index f5aafa68..00000000 Binary files a/result/sw/share/man/man1/nix3-registry.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-repl.1.gz b/result/sw/share/man/man1/nix3-repl.1.gz deleted file mode 100644 index edd5ff0c..00000000 Binary files a/result/sw/share/man/man1/nix3-repl.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-run.1.gz b/result/sw/share/man/man1/nix3-run.1.gz deleted file mode 100644 index 59b6c4ed..00000000 Binary files a/result/sw/share/man/man1/nix3-run.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-search.1.gz b/result/sw/share/man/man1/nix3-search.1.gz deleted file mode 100644 index 53460816..00000000 Binary files a/result/sw/share/man/man1/nix3-search.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-add-file.1.gz b/result/sw/share/man/man1/nix3-store-add-file.1.gz deleted file mode 100644 index 68a81379..00000000 Binary files a/result/sw/share/man/man1/nix3-store-add-file.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-add-path.1.gz b/result/sw/share/man/man1/nix3-store-add-path.1.gz deleted file mode 100644 index d01579f1..00000000 Binary files a/result/sw/share/man/man1/nix3-store-add-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-add.1.gz b/result/sw/share/man/man1/nix3-store-add.1.gz deleted file mode 100644 index 8d51d589..00000000 Binary files a/result/sw/share/man/man1/nix3-store-add.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-cat.1.gz b/result/sw/share/man/man1/nix3-store-cat.1.gz deleted file mode 100644 index 27d74f11..00000000 Binary files a/result/sw/share/man/man1/nix3-store-cat.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-copy-log.1.gz b/result/sw/share/man/man1/nix3-store-copy-log.1.gz deleted file mode 100644 index a49fa589..00000000 Binary files a/result/sw/share/man/man1/nix3-store-copy-log.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-copy-sigs.1.gz b/result/sw/share/man/man1/nix3-store-copy-sigs.1.gz deleted file mode 100644 index d721ff84..00000000 Binary files a/result/sw/share/man/man1/nix3-store-copy-sigs.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-delete.1.gz b/result/sw/share/man/man1/nix3-store-delete.1.gz deleted file mode 100644 index 7853d498..00000000 Binary files a/result/sw/share/man/man1/nix3-store-delete.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-diff-closures.1.gz b/result/sw/share/man/man1/nix3-store-diff-closures.1.gz deleted file mode 100644 index 770d19c0..00000000 Binary files a/result/sw/share/man/man1/nix3-store-diff-closures.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-dump-path.1.gz b/result/sw/share/man/man1/nix3-store-dump-path.1.gz deleted file mode 100644 index 278607bb..00000000 Binary files a/result/sw/share/man/man1/nix3-store-dump-path.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-gc.1.gz b/result/sw/share/man/man1/nix3-store-gc.1.gz deleted file mode 100644 index b6f71743..00000000 Binary files a/result/sw/share/man/man1/nix3-store-gc.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-info.1.gz b/result/sw/share/man/man1/nix3-store-info.1.gz deleted file mode 100644 index 385946f3..00000000 Binary files a/result/sw/share/man/man1/nix3-store-info.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-ls.1.gz b/result/sw/share/man/man1/nix3-store-ls.1.gz deleted file mode 100644 index d086f778..00000000 Binary files a/result/sw/share/man/man1/nix3-store-ls.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-make-content-addressed.1.gz b/result/sw/share/man/man1/nix3-store-make-content-addressed.1.gz deleted file mode 100644 index fad2e73d..00000000 Binary files a/result/sw/share/man/man1/nix3-store-make-content-addressed.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-optimise.1.gz b/result/sw/share/man/man1/nix3-store-optimise.1.gz deleted file mode 100644 index 4fab9d48..00000000 Binary files a/result/sw/share/man/man1/nix3-store-optimise.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-path-from-hash-part.1.gz b/result/sw/share/man/man1/nix3-store-path-from-hash-part.1.gz deleted file mode 100644 index 80e905c7..00000000 Binary files a/result/sw/share/man/man1/nix3-store-path-from-hash-part.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-ping.1.gz b/result/sw/share/man/man1/nix3-store-ping.1.gz deleted file mode 100644 index 6e8a4ad8..00000000 Binary files a/result/sw/share/man/man1/nix3-store-ping.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-prefetch-file.1.gz b/result/sw/share/man/man1/nix3-store-prefetch-file.1.gz deleted file mode 100644 index 4b340277..00000000 Binary files a/result/sw/share/man/man1/nix3-store-prefetch-file.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-repair.1.gz b/result/sw/share/man/man1/nix3-store-repair.1.gz deleted file mode 100644 index 496f52f9..00000000 Binary files a/result/sw/share/man/man1/nix3-store-repair.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-sign.1.gz b/result/sw/share/man/man1/nix3-store-sign.1.gz deleted file mode 100644 index ae529dda..00000000 Binary files a/result/sw/share/man/man1/nix3-store-sign.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store-verify.1.gz b/result/sw/share/man/man1/nix3-store-verify.1.gz deleted file mode 100644 index 4a7c9f47..00000000 Binary files a/result/sw/share/man/man1/nix3-store-verify.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-store.1.gz b/result/sw/share/man/man1/nix3-store.1.gz deleted file mode 100644 index 3323ba66..00000000 Binary files a/result/sw/share/man/man1/nix3-store.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-upgrade-nix.1.gz b/result/sw/share/man/man1/nix3-upgrade-nix.1.gz deleted file mode 100644 index b19125a0..00000000 Binary files a/result/sw/share/man/man1/nix3-upgrade-nix.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/nix3-why-depends.1.gz b/result/sw/share/man/man1/nix3-why-depends.1.gz deleted file mode 100644 index 0249b6ce..00000000 Binary files a/result/sw/share/man/man1/nix3-why-depends.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/pdftexi2dvi.1.gz b/result/sw/share/man/man1/pdftexi2dvi.1.gz deleted file mode 100644 index a7cd74d2..00000000 Binary files a/result/sw/share/man/man1/pdftexi2dvi.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/pod2texi.1.gz b/result/sw/share/man/man1/pod2texi.1.gz deleted file mode 100644 index 34967f20..00000000 Binary files a/result/sw/share/man/man1/pod2texi.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/rview.1.gz b/result/sw/share/man/man1/rview.1.gz deleted file mode 100644 index 513c3c90..00000000 Binary files a/result/sw/share/man/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/rvim.1.gz b/result/sw/share/man/man1/rvim.1.gz deleted file mode 100644 index 513c3c90..00000000 Binary files a/result/sw/share/man/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/texi2any.1.gz b/result/sw/share/man/man1/texi2any.1.gz deleted file mode 100644 index 09d3381e..00000000 Binary files a/result/sw/share/man/man1/texi2any.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/texi2dvi.1.gz b/result/sw/share/man/man1/texi2dvi.1.gz deleted file mode 100644 index d0841175..00000000 Binary files a/result/sw/share/man/man1/texi2dvi.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/texi2pdf.1.gz b/result/sw/share/man/man1/texi2pdf.1.gz deleted file mode 100644 index a7cd74d2..00000000 Binary files a/result/sw/share/man/man1/texi2pdf.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/texindex.1.gz b/result/sw/share/man/man1/texindex.1.gz deleted file mode 100644 index 159b4c73..00000000 Binary files a/result/sw/share/man/man1/texindex.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/view.1.gz b/result/sw/share/man/man1/view.1.gz deleted file mode 100644 index 513c3c90..00000000 Binary files a/result/sw/share/man/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/vim.1.gz b/result/sw/share/man/man1/vim.1.gz deleted file mode 100644 index 513c3c90..00000000 Binary files a/result/sw/share/man/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/vimdiff.1.gz b/result/sw/share/man/man1/vimdiff.1.gz deleted file mode 100644 index ae8a2833..00000000 Binary files a/result/sw/share/man/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/vimtutor.1.gz b/result/sw/share/man/man1/vimtutor.1.gz deleted file mode 100644 index 0e06de48..00000000 Binary files a/result/sw/share/man/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/xxd.1.gz b/result/sw/share/man/man1/xxd.1.gz deleted file mode 100644 index a1bb779e..00000000 Binary files a/result/sw/share/man/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zsh.1.gz b/result/sw/share/man/man1/zsh.1.gz deleted file mode 100644 index b84cf224..00000000 Binary files a/result/sw/share/man/man1/zsh.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshall.1.gz b/result/sw/share/man/man1/zshall.1.gz deleted file mode 100644 index f324e36f..00000000 Binary files a/result/sw/share/man/man1/zshall.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshbuiltins.1.gz b/result/sw/share/man/man1/zshbuiltins.1.gz deleted file mode 100644 index ff24f4bc..00000000 Binary files a/result/sw/share/man/man1/zshbuiltins.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshcalsys.1.gz b/result/sw/share/man/man1/zshcalsys.1.gz deleted file mode 100644 index 1bbb65ea..00000000 Binary files a/result/sw/share/man/man1/zshcalsys.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshcompctl.1.gz b/result/sw/share/man/man1/zshcompctl.1.gz deleted file mode 100644 index d4f2fa68..00000000 Binary files a/result/sw/share/man/man1/zshcompctl.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshcompsys.1.gz b/result/sw/share/man/man1/zshcompsys.1.gz deleted file mode 100644 index 75531b40..00000000 Binary files a/result/sw/share/man/man1/zshcompsys.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshcompwid.1.gz b/result/sw/share/man/man1/zshcompwid.1.gz deleted file mode 100644 index 64101c99..00000000 Binary files a/result/sw/share/man/man1/zshcompwid.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshcontrib.1.gz b/result/sw/share/man/man1/zshcontrib.1.gz deleted file mode 100644 index 24b0d344..00000000 Binary files a/result/sw/share/man/man1/zshcontrib.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshexpn.1.gz b/result/sw/share/man/man1/zshexpn.1.gz deleted file mode 100644 index 209e42d3..00000000 Binary files a/result/sw/share/man/man1/zshexpn.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshmisc.1.gz b/result/sw/share/man/man1/zshmisc.1.gz deleted file mode 100644 index 55c492e4..00000000 Binary files a/result/sw/share/man/man1/zshmisc.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshmodules.1.gz b/result/sw/share/man/man1/zshmodules.1.gz deleted file mode 100644 index f8917be2..00000000 Binary files a/result/sw/share/man/man1/zshmodules.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshoptions.1.gz b/result/sw/share/man/man1/zshoptions.1.gz deleted file mode 100644 index ab89b7b0..00000000 Binary files a/result/sw/share/man/man1/zshoptions.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshparam.1.gz b/result/sw/share/man/man1/zshparam.1.gz deleted file mode 100644 index 15e1128b..00000000 Binary files a/result/sw/share/man/man1/zshparam.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshroadmap.1.gz b/result/sw/share/man/man1/zshroadmap.1.gz deleted file mode 100644 index 14c3217f..00000000 Binary files a/result/sw/share/man/man1/zshroadmap.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshtcpsys.1.gz b/result/sw/share/man/man1/zshtcpsys.1.gz deleted file mode 100644 index c4b7a069..00000000 Binary files a/result/sw/share/man/man1/zshtcpsys.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshzftpsys.1.gz b/result/sw/share/man/man1/zshzftpsys.1.gz deleted file mode 100644 index 209510ad..00000000 Binary files a/result/sw/share/man/man1/zshzftpsys.1.gz and /dev/null differ diff --git a/result/sw/share/man/man1/zshzle.1.gz b/result/sw/share/man/man1/zshzle.1.gz deleted file mode 100644 index 1dfb97e5..00000000 Binary files a/result/sw/share/man/man1/zshzle.1.gz and /dev/null differ diff --git a/result/sw/share/man/man5/configuration.nix.5 b/result/sw/share/man/man5/configuration.nix.5 deleted file mode 100644 index d6ff5e43..00000000 --- a/result/sw/share/man/man5/configuration.nix.5 +++ /dev/null @@ -1,18119 +0,0 @@ -.TH "CONFIGURATION\&.NIX" "5" "01/01/1980" "nix-darwin" "nix-darwin Reference Pages" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" enable line breaks after slashes -.cflags 4 / -.SH "NAME" -\fIconfiguration\&.nix\fP \- nix-darwin system configuration specification -.SH "DESCRIPTION" -.PP -The file \fIconfiguration\&.nix\fP contains the declarative specification of your nix-darwin system configuration\&. The command \fBnix-darwin\-rebuild\fP takes this file and realises the system configuration specified therein\&. -.SH "OPTIONS" -.PP -You can use the following options in \fIconfiguration\&.nix\fP\&. -.PP -\fB_module\&.args\fR -.RS 4 -Additional arguments passed to each module in addition to ones like \fR\(oqlib\(cq\fP, \fR\(oqconfig\(cq\fP, and \fR\(oqpkgs\(cq\fP, \fR\(oqmodulesPath\(cq\fP\&. -.sp -This option is also available to all submodules\&. Submodules do not inherit args from their parent module, nor do they provide args to their parent module or sibling submodules\&. The sole exception to this is the argument \fR\(oqname\(cq\fP which is provided by parent modules to a submodule and contains the attribute name the submodule is bound to, or a unique generated name if it is not bound to an attribute\&. -.sp -Some arguments are already passed by default, of which the following \fIcannot\fR be changed with this option: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIlib\fP: The nixpkgs library\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIconfig\fP: The results of all options after merging the values from all modules together\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIoptions\fP: The options declared in all modules\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIspecialArgs\fP: The \fR\(oqspecialArgs\(cq\fP argument passed to \fR\(oqevalModules\(cq\fP\&. -.RE -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -All attributes of \fIspecialArgs\fP -.sp -Whereas option values can generally depend on other option values thanks to laziness, this does not apply to \fR\(oqimports\(cq\fP, which must be computed statically before anything else\&. -.sp -For this reason, callers of the module system can provide \fR\(oqspecialArgs\(cq\fP which are available during import resolution\&. -.sp -For NixOS, \fR\(oqspecialArgs\(cq\fP includes \fImodulesPath\fP, which allows you to import extra modules from the nixpkgs package tree without having to somehow make the module aware of the location of the \fR\(oqnixpkgs\(cq\fP or NixOS directories\&. -.sp -.RS 4 -.nf -{ modulesPath, \&.\&.\&. }: { - imports = [ - (modulesPath + \(dq/profiles/minimal\&.nix\(dq) - ]; -} -.fi -.RE -.RE -.sp -For NixOS, the default value for this option includes at least this argument: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fIpkgs\fP: The nixpkgs package set according to the \fBnixpkgs\&.pkgs\fP option\&. -.RE -.sp -\fIType:\fR lazy attribute set of raw value -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nixpkgs/lib/modules\&.nix>\fP -.RE -.RE -.PP -\fBdocumentation\&.enable\fR -.RS 4 -Whether to install documentation of packages from \fBenvironment\&.systemPackages\fP into the generated system path\&. -.sp -See \[u201C]Multiple\-output packages\[u201D] chapter in the nixpkgs manual for more info\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/documentation>\fP -.RE -.RE -.PP -\fBdocumentation\&.doc\&.enable\fR -.RS 4 -Whether to install documentation distributed in packages\[u2019] \fR\(oq/share/doc\(cq\fP\&. Usually plain text and/or HTML\&. This also includes \[u201C]doc\[u201D] outputs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/documentation>\fP -.RE -.RE -.PP -\fBdocumentation\&.info\&.enable\fR -.RS 4 -Whether to install info pages and the \fBinfo\fP command\&. This also includes \[u201C]info\[u201D] outputs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/documentation>\fP -.RE -.RE -.PP -\fBdocumentation\&.man\&.enable\fR -.RS 4 -Whether to install manual pages and the \fBman\fP command\&. This also includes \[u201C]man\[u201D] outputs\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/documentation>\fP -.RE -.RE -.PP -\fBenvironment\&.enableAllTerminfo\fR -.RS 4 -Whether to install all terminfo outputs -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/terminfo\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.darwinConfig\fR -.RS 4 -The path of the darwin configuration\&.nix used to configure the system, this updates the default darwin\-config entry in NIX_PATH\&. Since this changes an environment variable it will only apply to new shells\&. -.sp -NOTE: Changing this requires running \fBdarwin\-rebuild switch \-I darwin\-config=/path/to/configuration\&.nix\fP the first time to make darwin\-rebuild aware of the custom location\&. -.sp -\fIType:\fR null or absolute path or string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if config\&.nixpkgs\&.flake\&.setNixPath then - # Don\[u2019]t set this for flake\[u2010]based systems\&. - null -else if config\&.system\&.stateVersion >= 6 then - \(dq/etc/nix\-darwin/configuration\&.nix\(dq -else - \(dq${config\&.system\&.primaryUserHome}/\&.nixpkgs/darwin\-configuration\&.nix\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.defaultPackages\fR -.RS 4 -Set of default packages that aren\[u2019]t strictly necessary for a running system, entries can be removed for a more minimal NixOS installation\&. -.sp -Like with systemPackages, packages are installed to \fI/run/current\-system/sw\fP\&. They are automatically available to all users, and are automatically updated every time you rebuild the system configuration\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR these packages, with their meta\&.priority numerically increased (thus lowering their installation priority): -.sp -.RS 4 -.nf -[ ] -.fi -.RE -.sp -\fIExample:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.etc\fR -.RS 4 -Set of files that have to be linked in \fI/etc\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/etc\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.etc\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/etc\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.etc\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/etc\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.etc\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/etc\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.etc\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/etc\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.extraInit\fR -.RS 4 -Shell script code called during global environment initialisation after all variables and profileVariables have been set\&. This code is asumed to be shell\-independent, which means you should stick to pure sh without sh word split\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.extraOutputsToInstall\fR -.RS 4 -Entries listed here will be appended to the \fR\(oqmeta\&.outputsToInstall\(cq\fP attribute for each package in \fR\(oqenvironment\&.systemPackages\(cq\fP, and the files from the corresponding derivation outputs symlinked into \fI/run/current\-system/sw\fP\&. -.sp -For example, this can be used to install the \fR\(oqdev\(cq\fP and \fR\(oqinfo\(cq\fP outputs for all packages in the system environment, if they are available\&. -.sp -To use specific outputs instead of configuring them globally, select the corresponding attribute on the package derivation, e\&.g\&. \fR\(oqlibxml2\&.dev\(cq\fP or \fR\(oqcoreutils\&.info\(cq\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqdev\(dq - \(dqinfo\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.extraSetup\fR -.RS 4 -Shell fragments to be run after the system environment has been created\&. This should only be used for things that need to modify the internals of the environment, e\&.g\&. generating MIME caches\&. The environment being built can be accessed at $out\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.interactiveShellInit\fR -.RS 4 -Shell script code called during interactive shell initialisation\&. This code is asumed to be shell\-independent, which means you should stick to pure sh without sh word split\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.launchAgents\fR -.RS 4 -Set of files that have to be linked in \fI/Library/LaunchAgents\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchAgents\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchAgents\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchAgents\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchAgents\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchDaemons\fR -.RS 4 -Set of files that have to be linked in \fI/Library/LaunchDaemons\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchDaemons\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchDaemons\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchDaemons\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.launchDaemons\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.loginShellInit\fR -.RS 4 -Shell script code called during login shell initialisation\&. This code is asumed to be shell\-independent, which means you should stick to pure sh without sh word split\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.pathsToLink\fR -.RS 4 -List of directories to be symlinked in \fI/run/current\-system/sw\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/share/doc\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.profiles\fR -.RS 4 -A list of profiles used to setup the global environment\&. -.sp -\fIType:\fR list of string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.shellAliases\fR -.RS 4 -An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs\&. The alises are added to all users\[u2019] shells\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - ll = \(dqls \-l\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.shellInit\fR -.RS 4 -Shell script code called during shell initialisation\&. This code is asumed to be shell\-independent, which means you should stick to pure sh without sh word split\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBenvironment\&.shells\fR -.RS 4 -A list of permissible login shells for user accounts\&. -.sp -The default macOS shells will be automatically included: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/bash -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/csh -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/dash -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/ksh -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/sh -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/tcsh -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -/bin/zsh -.RE -.sp -\fIType:\fR list of (package or absolute path) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.bashInteractive pkgs\&.zsh ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/shells\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.systemPackages\fR -.RS 4 -The set of packages that appear in /run/current\-system/sw\&. These packages are automatically available to all users, and are automatically updated every time you rebuild the system configuration\&. (The latter is the main difference with installing them in the default profile, \fI/nix/var/nix/profiles/default\fP\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.firefox pkgs\&.thunderbird ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.systemPath\fR -.RS 4 -The set of paths that are added to PATH\&. -.sp -\fIType:\fR list of (absolute path or string) -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/system\-path\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.userLaunchAgents\fR -.RS 4 -Set of files that have to be linked in \fI\(ti/Library/LaunchAgents\fP\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.userLaunchAgents\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.userLaunchAgents\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.userLaunchAgents\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.userLaunchAgents\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/launchd\&.nix>\fP -.RE -.RE -.PP -\fBenvironment\&.variables\fR -.RS 4 -A set of environment variables used in the global environment\&. These variables will be set on shell initialisation\&. The value of each variable can be either a string or a list of strings\&. The latter is concatenated, interspersed with colon characters\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - EDITOR = \(dqvim\(dq; - LANG = \(dqnl_NL\&.UTF\-8\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/environment>\fP -.RE -.RE -.PP -\fBfonts\&.packages\fR -.RS 4 -List of fonts to install into \fI/Library/Fonts/Nix Fonts\fP\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.dejavu_fonts ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/fonts>\fP -.RE -.RE -.PP -\fBhomebrew\&.enable\fR -.RS 4 -Whether to enable \fBnix\-darwin\fP to manage installing/updating/upgrading Homebrew taps, formulae, and casks, as well as Mac App Store apps and Docker containers, using Homebrew Bundle\&. -.sp -Note that enabling this option does not install Homebrew, see the Homebrew \fBwebsite\fR[1]\fR for installation instructions\&. -.sp -Use the \fBhomebrew.brews\fR[2]\fR, \fBhomebrew.casks\fR[3]\fR, \fBhomebrew.masApps\fR[4]\fR, and \fBhomebrew.whalebrews\fR[5]\fR options to list the Homebrew formulae, casks, Mac App Store apps, and Docker containers you\[u2019]d like to install\&. Use the \fBhomebrew.taps\fR[6]\fR option, to make additional formula repositories available to Homebrew\&. This module uses those options (along with the \fBhomebrew.caskArgs\fR[7]\fR options) to generate a Brewfile that \fBnix\-darwin\fP passes to the \fBbrew bundle\fP command during system activation\&. -.sp -The default configuration of this module prevents Homebrew Bundle from auto\-updating Homebrew and all formulae, as well as upgrading anything that\[u2019]s already installed, so that repeated invocations of \fBdarwin\-rebuild switch\fP (without any change to the configuration) are idempotent\&. You can modify this behavior using the options under \fBhomebrew.onActivation\fR[8]\fR\&. -.sp -This module also provides a few options for modifying how Homebrew commands behave when you manually invoke them, under \fBhomebrew.global\fR[9]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://brew\&.sh -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhomebrew\&.brews\fP option -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -see the \fBhomebrew\&.casks\fP option -.RE -.RS 4 -\h'-3'\fB4\&.\fP\h'1'\c -see the \fBhomebrew\&.masApps\fP option -.RE -.RS 4 -\h'-3'\fB5\&.\fP\h'1'\c -see the \fBhomebrew\&.whalebrews\fP option -.RE -.RS 4 -\h'-3'\fB6\&.\fP\h'1'\c -see the \fBhomebrew\&.taps\fP option -.RE -.RS 4 -\h'-3'\fB7\&.\fP\h'1'\c -see the \fBhomebrew\&.caskArgs\fP option -.RE -.RS 4 -\h'-3'\fB8\&.\fP\h'1'\c -see the \fBhomebrew\&.onActivation\fP option -.RE -.RS 4 -\h'-3'\fB9\&.\fP\h'1'\c -see the \fBhomebrew\&.global\fP option -.RE -.RE -.PP -\fBhomebrew\&.brewPrefix\fR -.RS 4 -The path prefix where the \fBbrew\fP executable is located\&. This will be set to the correct value based on your system\[u2019]s platform, and should only need to be changed if you manually installed Homebrew in a non\-standard location\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if pkgs\&.stdenv\&.hostPlatform\&.isAarch64 then \(dq/opt/homebrew/bin\(dq -else \(dq/usr/local/bin\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\fR -.RS 4 -List of Homebrew formulae to install\&. -.sp -Formulae defined as strings, e\&.g\&., \fR\(oq\(dqimagemagick\(dq\(cq\fP, are a shorthand for: -.sp -\fR\(oq{ name = \(dqimagemagick\(dq; }\(cq\fP -.sp -\fIType:\fR list of ((submodule) or string convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -# Adapted examples from https://github\&.com/Homebrew/homebrew\-bundle#usage -[ - # \(gabrew install\(ga - \(dqimagemagick\(dq - - # \(gabrew install \-\-with\-rmtp\(ga, \(gabrew services restart\(ga on version changes - { - name = \(dqdenji/nginx/nginx\-full\(dq; - args = [ \(dqwith\-rmtp\(dq ]; - restart_service = \(dqchanged\(dq; - } - - # \(gabrew install\(ga, always \(gabrew services restart\(ga, \(gabrew link\(ga, \(gabrew unlink mysql\(ga (if it is installed) - { - name = \(dqmysql@5\&.6\(dq; - restart_service = true; - link = true; - conflicts_with = [ \(dqmysql\(dq ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.args\fR -.RS 4 -Arguments flags to pass to \fBbrew install\fP\&. Values should not include the leading \fR\(oq\(dq\-\-\(dq\(cq\fP\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.conflicts_with\fR -.RS 4 -List of formulae that should be unlinked and their services stopped (if they are installed)\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.link\fR -.RS 4 -Whether to link the formula to the Homebrew prefix\&. When this option is \fR\(oqnull\(cq\fP, Homebrew will use it\[u2019]s default behavior which is to link the formula if it\[u2019]s currently unlinked and not keg\-only, and to unlink the formula if it\[u2019]s currently linked and keg\-only\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.name\fR -.RS 4 -The name of the formula to install\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.restart_service\fR -.RS 4 -Whether to run \fBbrew services restart\fP for the formula and register it to launch at login (or boot)\&. If set to \fR\(oq\(dqchanged\(dq\(cq\fP, the service will only be restarted on version changes\&. -.sp -Homebrew\[u2019]s default is \fR\(oqfalse\(cq\fP\&. -.sp -\fIType:\fR null or boolean or value \[u201C]changed\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.brews\&.*\&.start_service\fR -.RS 4 -Whether to run \fBbrew services start\fP for the formula and register it to launch at login (or boot)\&. -.sp -Homebrew\[u2019]s default is \fR\(oqfalse\(cq\fP\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\fR -.RS 4 -Arguments passed to \fBbrew install \-\-cask\fP for all casks listed in \fBhomebrew.casks\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - appdir = \(dq\(ti/Applications\(dq; - require_sha = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.casks\fP option -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.appdir\fR -.RS 4 -Target location for Applications\&. -.sp -Homebrew\[u2019]s default is \fI/Applications\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.audio_unit_plugindir\fR -.RS 4 -Target location for Audio Unit Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Audio/Plug\-Ins/Components\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.colorpickerdir\fR -.RS 4 -Target location for Color Pickers\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/ColorPickers\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.dictionarydir\fR -.RS 4 -Target location for Dictionaries\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Dictionaries\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.fontdir\fR -.RS 4 -Target location for Fonts\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Fonts\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.ignore_dependencies\fR -.RS 4 -Ignore casks dependencies in case you manage them extrenally -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.input_methoddir\fR -.RS 4 -Target location for Input Methods\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Input Methods\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.internet_plugindir\fR -.RS 4 -Target location for Internet Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Internet Plug\-Ins\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.language\fR -.RS 4 -Comma\-separated list of language codes to prefer for cask installation\&. The first matching language is used, otherwise it reverts to the cask\[u2019]s default language\&. The default value is the language of your system\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqzh\-TW\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.mdimporterdir\fR -.RS 4 -Target location for Spotlight Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Spotlight\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.no_binaries\fR -.RS 4 -Whether to disable linking of helper executables\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.no_quarantine\fR -.RS 4 -Whether to disable quarantining of downloads\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.prefpanedir\fR -.RS 4 -Target location for Preference Panes\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/PreferencePanes\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.qlplugindir\fR -.RS 4 -Target location for QuickLook Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/QuickLook\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.require_sha\fR -.RS 4 -Whether to require cask(s) to have a checksum\&. -.sp -Homebrew\[u2019]s default is \fR\(oqfalse\(cq\fP\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.screen_saverdir\fR -.RS 4 -Target location for Screen Savers\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Screen Savers\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.servicedir\fR -.RS 4 -Target location for Services\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Services\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.vst3_plugindir\fR -.RS 4 -Target location for VST3 Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Audio/Plug\-Ins/VST3\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.caskArgs\&.vst_plugindir\fR -.RS 4 -Target location for VST Plugins\&. -.sp -Homebrew\[u2019]s default is \fI\(ti/Library/Audio/Plug\-Ins/VST\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.casks\fR -.RS 4 -List of Homebrew casks to install\&. -.sp -Casks defined as strings, e\&.g\&., \fR\(oq\(dqgoogle\-chrome\(dq\(cq\fP, are a shorthand for: -.sp -\fR\(oq{ name = \(dqgoogle\-chrome\(dq; }\(cq\fP -.sp -\fIType:\fR list of ((submodule) or string convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -# Adapted examples from https://github\&.com/Homebrew/homebrew\-bundle#usage -[ - # \(gabrew install \-\-cask\(ga - \(dqgoogle\-chrome\(dq - - # \(gabrew install \-\-cask \-\-appdir=\(ti/my\-apps/Applications\(ga - { - name = \(dqfirefox\(dq; - args = { appdir = \(dq\(ti/my\-apps/Applications\(dq; }; - } - - # always upgrade auto\-updated or unversioned cask to latest version even if already installed - { - name = \(dqopera\(dq; - greedy = true; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.casks\&.*\&.args\fR -.RS 4 -Arguments passed to \fBbrew install \-\-cask\fP when installing this cask\&. See \fBhomebrew.caskArgs\fR[1]\fR for the available options\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.caskArgs\fP option -.RE -.RE -.PP -\fBhomebrew\&.casks\&.*\&.greedy\fR -.RS 4 -Whether to always upgrade this cask regardless of whether it\[u2019]s unversioned or it updates itself\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.casks\&.*\&.name\fR -.RS 4 -The name of the cask to install\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.extraConfig\fR -.RS 4 -Extra lines to be added verbatim to the bottom of the generated Brewfile\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - # \(aqbrew cask install\(aq only if \(aq/usr/libexec/java_home \-\-failfast\(aq fails - cask \(dqjava\(dq unless system \(dq/usr/libexec/java_home \-\-failfast\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.global\fR -.RS 4 -Options for configuring the behavior of Homebrew commands when you manually invoke them\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.global\&.autoUpdate\fR -.RS 4 -Whether to enable Homebrew to auto\-update itself and all formulae when you manually invoke commands like \fBbrew install\fP, \fBbrew upgrade\fP, \fBbrew tap\fP, and \fBbrew bundle [install]\fP\&. -.sp -Note that Homebrew auto\-updates when you manually invoke commands like the ones mentioned above if it\[u2019]s been more then 5 minutes since it last updated\&. -.sp -You may want to consider disabling this option if you have \fBhomebrew.onActivation.upgrade\fR[1]\fR enabled, and \fBhomebrew.onActivation.autoUpdate\fR[2]\fR disabled, if you want to ensure that your installed formulae will only be upgraded during \fBnix\-darwin\fP system activation, after you\[u2019]ve explicitly run \fBbrew update\fP\&. -.sp -Implementation note: when disabled, this option sets the \fR\(oqHOMEBREW_NO_AUTO_UPDATE\(cq\fP environment variable, by adding it to \fBenvironment.variables\fR[3]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.onActivation\&.upgrade\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBhomebrew\&.onActivation\&.autoUpdate\fP option -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -see the \fBenvironment\&.variables\fP option -.RE -.RE -.PP -\fBhomebrew\&.global\&.brewfile\fR -.RS 4 -Whether to enable Homebrew to automatically use the Brewfile that this module generates in the Nix store, when you manually invoke \fBbrew bundle\fP\&. -.sp -Enabling this option will change the default value of \fBhomebrew.global.lockfiles\fR[1]\fR to \fR\(oqfalse\(cq\fP since, with this option enabled, \fBbrew bundle [install]\fP will default to using the Brewfile that this module generates in the Nix store, unless you explicitly point it at another Brewfile using the \fR\(oq\-\-file\(cq\fP flag\&. As a result, it will try to write the lockfile in the Nix store, and complain that it can\[u2019]t (though the command will run successfully regardless)\&. -.sp -Implementation note: when enabled, this option sets the \fR\(oqHOMEBREW_BUNDLE_FILE\(cq\fP environment variable to the path of the Brewfile that this module generates in the Nix store, by adding it to \fBenvironment.variables\fR[2]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.global\&.lockfiles\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBenvironment\&.variables\fP option -.RE -.RE -.PP -\fBhomebrew\&.global\&.lockfiles\fR -.RS 4 -Whether to enable Homebrew to generate lockfiles when you manually invoke \fBbrew bundle [install]\fP\&. -.sp -This option will default to \fR\(oqfalse\(cq\fP if \fBhomebrew.global.brewfile\fR[1]\fR is enabled since, with that option enabled, \fBbrew bundle [install]\fP will default to using the Brewfile that this module generates in the Nix store, unless you explicitly point it at another Brewfile using the \fR\(oq\-\-file\(cq\fP flag\&. As a result, it will try to write the lockfile in the Nix store, and complain that it can\[u2019]t (though the command will run successfully regardless)\&. -.sp -Implementation note: when disabled, this option sets the \fR\(oqHOMEBREW_BUNDLE_NO_LOCK\(cq\fP environment variable, by adding it to \fBenvironment.variables\fR[2]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR !config\&.homebrew\&.global\&.brewfile -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.global\&.brewfile\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -see the \fBenvironment\&.variables\fP option -.RE -.RE -.PP -\fBhomebrew\&.masApps\fR -.RS 4 -Applications to install from Mac App Store using \fBmas\fP\&. -.sp -Note that you need to be signed into the Mac App Store for \fBmas\fP to successfully install and upgrade applications, and that unfortunately apps removed from this option will not be uninstalled automatically even if \fBhomebrew.onActivation.cleanup\fR[1]\fR is set to \fR\(oq\(dquninstall\(dq\(cq\fP or \fR\(oq\(dqzap\(dq\(cq\fP (this is currently a limitation of Homebrew Bundle)\&. -.sp -For more information on \fBmas\fP see: \fBgithub\&.com/mas\-cli/mas\fR[2]\fR\&. -.sp -\fIType:\fR attribute set of (positive integer, meaning >0) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq1Password for Safari\(dq = 1569813296; - Xcode = 497799835; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.onActivation\&.cleanup\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/mas\-cli/mas -.RE -.RE -.PP -\fBhomebrew\&.onActivation\fR -.RS 4 -Options for configuring the behavior of the \fBbrew bundle\fP command that \fBnix\-darwin\fP runs during system activation\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.onActivation\&.autoUpdate\fR -.RS 4 -Whether to enable Homebrew to auto\-update itself and all formulae during \fBnix\-darwin\fP system activation\&. The default is \fR\(oqfalse\(cq\fP so that repeated invocations of \fBdarwin\-rebuild switch\fP are idempotent\&. -.sp -Note that Homebrew auto\-updates when it\[u2019]s been more then 5 minutes since it last updated\&. -.sp -Although auto\-updating is disabled by default during system activation, note that Homebrew will auto\-update when you manually invoke certain Homebrew commands\&. To modify this behavior see \fBhomebrew.global.autoUpdate\fR[1]\fR\&. -.sp -Implementation note: when disabled, this option sets the \fR\(oqHOMEBREW_NO_AUTO_UPDATE\(cq\fP environment variable when \fBnix\-darwin\fP invokes \fBbrew bundle [install]\fP during system activation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.global\&.autoUpdate\fP option -.RE -.RE -.PP -\fBhomebrew\&.onActivation\&.cleanup\fR -.RS 4 -This option manages what happens to formulae installed by Homebrew, that aren\[u2019]t present in the Brewfile generated by this module, during \fBnix\-darwin\fP system activation\&. -.sp -When set to \fR\(oq\(dqnone\(dq\(cq\fP (the default), formulae not present in the generated Brewfile are left installed\&. -.sp -When set to \fR\(oq\(dquninstall\(dq\(cq\fP, \fBnix\-darwin\fP invokes \fBbrew bundle [install]\fP with the \fB\-\-cleanup\fP flag\&. This uninstalls all formulae not listed in generated Brewfile, i\&.e\&., \fBbrew uninstall\fP is run for those formulae\&. -.sp -When set to \fR\(oq\(dqzap\(dq\(cq\fP, \fBnix\-darwin\fP invokes \fBbrew bundle [install]\fP with the \fB\-\-cleanup \-\-zap\fP flags\&. This uninstalls all formulae not listed in the generated Brewfile, and if the formula is a cask, removes all files associated with that cask\&. In other words, \fBbrew uninstall \-\-zap\fP is run for all those formulae\&. -.sp -If you plan on exclusively using \fBnix\-darwin\fP to manage formulae installed by Homebrew, you probably want to set this option to \fR\(oq\(dquninstall\(dq\(cq\fP or \fR\(oq\(dqzap\(dq\(cq\fP\&. -.sp -\fIType:\fR one of \[u201C]none\[u201D], \[u201C]uninstall\[u201D], \[u201C]zap\[u201D] -.sp -\fIDefault:\fR \(dqnone\(dq -.sp -\fIExample:\fR \(dquninstall\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.onActivation\&.extraFlags\fR -.RS 4 -Extra flags to pass to \fBbrew bundle [install]\fP during \fBnix\-darwin\fP system activation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-verbose\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.onActivation\&.upgrade\fR -.RS 4 -Whether to enable Homebrew to upgrade outdated formulae and Mac App Store apps during \fBnix\-darwin\fP system activation\&. The default is \fR\(oqfalse\(cq\fP so that repeated invocations of \fBdarwin\-rebuild switch\fP are idempotent\&. -.sp -Implementation note: when disabled, \fBnix\-darwin\fP invokes \fBbrew bundle [install]\fP with the \fB\-\-no\-upgrade\fP flag during system activation\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.taps\fR -.RS 4 -List of Homebrew formula repositories to tap\&. -.sp -Taps defined as strings, e\&.g\&., \fR\(oq\(dquser/repo\(dq\(cq\fP, are a shorthand for: -.sp -\fR\(oq{ name = \(dquser/repo\(dq; }\(cq\fP -.sp -\fIType:\fR list of ((submodule) or string convertible to it) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -# Adapted examples from https://github\&.com/Homebrew/homebrew\-bundle#usage -[ - # \(gabrew tap\(ga - \(dqhomebrew/cask\(dq - - # \(gabrew tap\(ga with custom Git URL and arguments - { - name = \(dquser/tap\-repo\(dq; - clone_target = \(dqhttps://user@bitbucket\&.org/user/homebrew\-tap\-repo\&.git\(dq; - force_auto_update = true; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.taps\&.*\&.clone_target\fR -.RS 4 -Use this option to tap a formula repository from anywhere, using any transport protocol that \fBgit\fP handles\&. When \fBclone_target\fP is specified, taps can be cloned from places other than GitHub and using protocols other than HTTPS, e\&.g\&., SSH, git, HTTP, FTP(S), rsync\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.taps\&.*\&.force_auto_update\fR -.RS 4 -Whether to auto\-update the tap even if it is not hosted on GitHub\&. By default, only taps hosted on GitHub are auto\-updated (for performance reasons)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.taps\&.*\&.name\fR -.RS 4 -When \fBclone_target\fP is unspecified, this is the name of a formula repository to tap from GitHub using HTTPS\&. For example, \fR\(oq\(dquser/repo\(dq\(cq\fP will tap https://github\&.com/user/homebrew\-repo\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqhomebrew/cask\-fonts\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.user\fR -.RS 4 -The user that owns the Homebrew installation\&. In most cases this should be the normal user account that you installed Homebrew as\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR config\&.system\&.primaryUser -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.RE -.PP -\fBhomebrew\&.whalebrews\fR -.RS 4 -List of Docker images to install using \fBwhalebrew\fP\&. -.sp -When this option is used, \fR\(oq\(dqwhalebrew\(dq\(cq\fP is automatically added to \fBhomebrew.brews\fR[1]\fR\&. -.sp -For more information on \fBwhalebrew\fP see: \fBgithub\&.com/whalebrew/whalebrew\fR[2]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqwhalebrew/wget\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/homebrew\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBhomebrew\&.brews\fP option -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/whalebrew/whalebrew -.RE -.RE -.PP -\fBlaunchd\&.agents\fR -.RS 4 -Definition of per\-user launchd agents\&. -.sp -When a user logs in, a per\-user launchd is started\&. It does the following: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -It loads the parameters for each launch\-on\-demand user agent from the property list files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and the user\[u2019]s individual Library/LaunchAgents directory\&. -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -It registers the sockets and file descriptors requested by those user agents\&. -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -It launches any user agents that requested to be running all the time\&. -.RE -.RS 4 -\h'-3'\fB4\&.\fP\h'1'\c -As requests for a particular service arrive, it launches the corresponding user agent and passes the request to it\&. -.RE -.RS 4 -\h'-3'\fB5\&.\fP\h'1'\c -When the user logs out, it sends a SIGTERM signal to all of the user agents that it started\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.command\fR -.RS 4 -Command executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.environment\fR -.RS 4 -Environment variables passed to the service\[u2019]s processes\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - LANG = \(dqnl_NL\&.UTF\-8\(dq; - PATH = \(dq/foo/bar/bin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.path\fR -.RS 4 -Packages added to the service\[u2019]s \fBPATH\fP environment variable\&. Only the \fIbin\fP and subdirectories of each package is added\&. -.sp -\fIType:\fR list of (absolute path or string) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.script\fR -.RS 4 -Shell commands executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\fR -.RS 4 -Each attribute in this set specifies an option for a key in the plist\&. \fBhttps://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html\fR[1]\fR -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - KeepAlive = true; - Program = \(dq/run/current\-system/sw/bin/nix\-daemon\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.AbandonProcessGroup\fR -.RS 4 -When a job dies, launchd kills any remaining processes with the same process group ID as the job\&. Setting this key to true disables that behavior\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Debug\fR -.RS 4 -This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while dealing with this job\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Disabled\fR -.RS 4 -This optional key is used as a hint to \fR\(oqlaunchctl(1)\(cq\fP that it should not submit this job to launchd when loading a job or jobs\&. The value of this key does NOT reflect the current state of the job on the running system\&. If you wish to know whether a job is loaded in launchd, reading this key from a configuration file yourself is not a sufficient test\&. You should query launchd for the presence of the job using the \fR\(oqlaunchctl(1)\(cq\fP list subcommand or use the ServiceManagement framework\[u2019]s \fR\(oqSMJobCopyDictionary()\(cq\fP method\&. -.sp -Note that as of Mac OS X v10\&.6, this key\[u2019]s value in a configuration file conveys a default value, which is changed with the [\-w] option of the \fR\(oqlaunchctl(1)\(cq\fP load and unload subcommands\&. These subcommands no longer modify the configuration file, so the value displayed in the configuration file is not necessarily the value that \fR\(oqlaunchctl(1)\(cq\fP will apply\&. See \fR\(oqlaunchctl(1)\(cq\fP for more information\&. -.sp -Please also be mindful that you should only use this key if the provided on\-demand and KeepAlive criteria are insufficient to describe the conditions under which your job needs to run\&. The cost to have a job loaded in launchd is negligible, so there is no harm in loading a job which only runs once or very rarely\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.EnableGlobbing\fR -.RS 4 -This flag causes launchd to use the \fR\(oqglob(3)\(cq\fP mechanism to update the program arguments before invocation\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.EnableTransactions\fR -.RS 4 -This flag instructs launchd that the job promises to use \fR\(oqvproc_transaction_begin(3)\(cq\fP and \fR\(oqvproc_transaction_end(3)\(cq\fP to track outstanding transactions that need to be reconciled before the process can safely terminate\&. If no outstanding transactions are in progress, then launchd is free to send the SIGKILL signal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.EnvironmentVariables\fR -.RS 4 -This optional key is used to specify additional environment variables to be set before running the job\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.ExitTimeOut\fR -.RS 4 -The amount of time launchd waits before sending a SIGKILL signal\&. The default value is 20 seconds\&. The value zero is interpreted as infinity\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.GroupName\fR -.RS 4 -This optional key specifies the group to run the job as\&. This key is only applicable when launchd is running as root\&. If UserName is set and GroupName is not, the the group will be set to the default group of the user\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NumberOfFiles = 4096; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the \fR\(oqmlock(2)\(cq\fP function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.InitGroups\fR -.RS 4 -This optional key specifies whether \fR\(oqinitgroups(3)\(cq\fP should be called before running the job\&. The default is true in 10\&.5 and false in 10\&.4\&. This key will be ignored if the UserName key is not set\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.KeepAlive\fR -.RS 4 -This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation\&. The default is false and therefore only demand will start the job\&. The value may be set to true to unconditionally keep the job alive\&. Alternatively, a dictionary of conditions may be specified to selectively control whether launchd keeps a job alive or not\&. If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary\&. If launchd finds no reason to restart the job, it falls back on demand based invocation\&. Jobs that exit quickly and frequently when configured to be kept alive will be throttled to converve system resources\&. -.sp -\fIType:\fR null or boolean or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Label\fR -.RS 4 -This required key uniquely identifies the job to launchd\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LaunchEvents\fR -.RS 4 -Specifies higher\-level event types to be used as launch\-on\-demand event sources\&. Each sub\-dictionary defines events for a particular event subsystem, such as \[u201C]com\&.apple\&.iokit\&.matching\[u201D], which can be used to launch jobs based on the appearance of nodes in the IORegistry\&. Each dictionary within the sub\-dictionary specifies an event descriptor that is specified to each event subsystem\&. With this key, the job promises to use the xpc_set_event_stream_handler(3) API to consume events\&. See xpc_events(3) for more details on event sources\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.iokit\&.matching\(dq = { - \(dqcom\&.apple\&.usb\&.device\(dq = { - IOMatchLaunchStream = true; - IOProviderClass = \(dqIOUSBDevice\(dq; - idProduct = \(dq*\(dq; - idVendor = \(dq*\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LaunchOnlyOnce\fR -.RS 4 -This optional key specifies whether the job can only be run once and only once\&. In other words, if the job cannot be safely respawned without a full machine reboot, then set this key to be true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LimitLoadFromHosts\fR -.RS 4 -This configuration file only applies to hosts NOT listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LimitLoadToHosts\fR -.RS 4 -This configuration file only applies to the hosts listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LimitLoadToSessionType\fR -.RS 4 -This configuration file only applies to sessions of the type specified\&. This key is used in concert with the \-S flag to \fBlaunchctl\fP\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LowPriorityBackgroundIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O when the process is throttled with the Darwin\-background classification\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.LowPriorityIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.MachServices\fR -.RS 4 -This optional key is used to specify Mach services to be registered with the Mach bootstrap sub\-system\&. Each key in this dictionary should be the name of service to be advertised\&. The value of the key must be a boolean and set to true\&. Alternatively, a dictionary can be used instead of a simple true value\&. -.sp -Finally, for the job itself, the values will be replaced with Mach ports at the time of check\-in with launchd\&. -.sp -\fIType:\fR null or (attribute set of (boolean or (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg\&.nixos\&.service\(dq = { - ResetAtClose = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Nice\fR -.RS 4 -This optional key specifies what nice(3) value should be applied to the daemon\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.OnDemand\fR -.RS 4 -This key was used in Mac OS X 10\&.4 to control whether a job was kept alive or not\&. The default was true\&. This key has been deprecated and replaced in Mac OS X 10\&.5 and later with the more powerful KeepAlive option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.ProcessType\fR -.RS 4 -This optional key describes, at a high level, the intended purpose of the job\&. The system will apply resource limits based on what kind of job it is\&. If left unspecified, the system will apply light resource limits to the job, throttling its CPU usage and I/O bandwidth\&. The following are valid values: -.RS 4 -.PP -Background -.RS 4 -Background jobs are generally processes that do work that was not directly requested by the user\&. The resource limits applied to Background jobs are intended to prevent them from disrupting the user experience\&. -.RE -.PP -Standard -.RS 4 -Standard jobs are equivalent to no ProcessType being set\&. -.RE -.PP -Adaptive -.RS 4 -Adaptive jobs move between the Background and Interactive classifications based on activity over XPC connections\&. See \fR\(oqxpc_transaction_begin(3)\(cq\fP for details\&. -.RE -.PP -Interactive -.RS 4 -Interactive jobs run with the same resource limitations as apps, that is to say, none\&. Interactive jobs are critical to maintaining a responsive user experience, and this key should only be used if an app\[u2019]s ability to be responsive depends on it, and cannot be made Adaptive\&. -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]Background\[u201D], \[u201C]Standard\[u201D], \[u201C]Adaptive\[u201D], \[u201C]Interactive\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqBackground\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Program\fR -.RS 4 -This key maps to the first argument of \fR\(oqexecvp(3)\(cq\fP\&. If this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead\&. This key is required in the absence of the ProgramArguments key\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.ProgramArguments\fR -.RS 4 -This key maps to the second argument of \fR\(oqexecvp(3)\(cq\fP\&. This key is required in the absence of the Program key\&. Please note: many people are confused by this key\&. Please read \fR\(oqexecvp(3)\(cq\fP very carefully! -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.QueueDirectories\fR -.RS 4 -Much like the WatchPaths option, this key will watch the paths for modifications\&. The difference being that the job will only be started if the path is a directory and the directory is not empty\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.RootDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchroot(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.RunAtLoad\fR -.RS 4 -This optional key is used to control whether your job is launched once at the time the job is loaded\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.ServiceIPC\fR -.RS 4 -This optional key specifies whether the job participates in advanced communication with launchd\&. The default is false\&. This flag is incompatible with the inetdCompatibility key\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SessionCreate\fR -.RS 4 -This key specifies that the job should be spawned into a new security audit session rather than the default session for the context is belongs to\&. See auditon(2) for details\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\fR -.RS 4 -This optional key is used to specify launch on demand sockets that can be used to let launchd know when to run the job\&. The job must check\-in to get a copy of the file descriptors using APIs outlined in launch(3)\&. The keys of the top level Sockets dictionary can be anything\&. They are meant for the application developer to use to differentiate which descriptors correspond to which application level protocols (e\&.g\&. http vs\&. ftp vs\&. DNS\[u2026])\&. At check\-in time, the value of each Sockets dictionary key will be an array of descriptors\&. Daemon/Agent writers should consider all descriptors of a given key to be to be effectively equivalent, even though each file descriptor likely represents a different networking protocol which conforms to the criteria specified in the job configuration file\&. -.sp -The parameters below are used as inputs to call \fR\(oqgetaddrinfo(3)\(cq\fP\&. -.sp -\fIType:\fR null or (attribute set of (submodule)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.Bonjour\fR -.RS 4 -This optional key can be used to request that the service be registered with the \fR\(oqmDNSResponder(8)\(cq\fP\&. If the value is boolean, the service name is inferred from the SockServiceName\&. -.sp -\fIType:\fR null or boolean or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.MulticastGroup\fR -.RS 4 -This optional key can be used to request that the datagram socket join a multicast group\&. If the value is a hostname, then \fR\(oqgetaddrinfo(3)\(cq\fP will be used to join the correct multicast address for a given socket family\&. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily family also be set, otherwise the results are undefined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SecureSocketWithKey\fR -.RS 4 -This optional key is a variant of SockPathName\&. Instead of binding to a known path, a securely generated socket is created and the path is assigned to the environment variable that is inherited by all jobs spawned by launchd\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockFamily\fR -.RS 4 -This optional key can be used to specifically request that \[u201C]IPv4\[u201D] or \[u201C]IPv6\[u201D] socket(s) be created\&. -.sp -\fIType:\fR null or one of \[u201C]IPv4\[u201D], \[u201C]IPv6\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockNodeName\fR -.RS 4 -This optional key specifies the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPassive\fR -.RS 4 -This optional key specifies whether \fR\(oqlisten(2)\(cq\fP or \fR\(oqconnect(2)\(cq\fP should be called on the created file descriptor\&. The default is true (\[u201C]to listen\[u201D])\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathMode\fR -.RS 4 -This optional key specifies the mode of the socket\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathName\fR -.RS 4 -This optional key implies SockFamily is set to \[u201C]Unix\[u201D]\&. It specifies the path to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockProtocol\fR -.RS 4 -This optional key specifies the protocol to be passed to \fR\(oqsocket(2)\(cq\fP\&. The only value understood by this key at the moment is \[u201C]TCP\[u201D]\&. -.sp -\fIType:\fR null or value \[u201C]TCP\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockServiceName\fR -.RS 4 -This optional key specifies the service on the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockType\fR -.RS 4 -This optional key tells launchctl what type of socket to create\&. The default is \[u201C]stream\[u201D] and other valid values for this key are \[u201C]dgram\[u201D] and \[u201C]seqpacket\[u201D] respectively\&. -.sp -\fIType:\fR null or one of \[u201C]stream\[u201D], \[u201C]dgram\[u201D], \[u201C]seqpacket\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the mlock(2) function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StandardErrorPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stderr when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StandardInPath\fR -.RS 4 -This optional key specifies what file should be used for data being supplied to stdin when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StandardOutPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stdout when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StartCalendarInterval\fR -.RS 4 -This optional key causes the job to be started every calendar interval as specified\&. The semantics are much like \fBcrontab\fP\fR(5)\fP: Missing attributes are considered to be wildcard\&. Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon waking from sleep\&. -.sp -.RS 4 -\fBImportant\fP -.br -The list must not be empty and must not contain duplicate entries (attrsets which compare equally)\&. -.RE -.sp -.RS 4 -\fBCaution\fP -.br -Since missing attrs become wildcards, an empty attrset effectively means \[u201C]every minute\[u201D]\&. -.RE -.sp -\fIType:\fR null or (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 2; - Minute = 30; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StartInterval\fR -.RS 4 -This optional key causes the job to be started every N seconds\&. If the system is asleep, the job will be started the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.StartOnMount\fR -.RS 4 -This optional key causes the job to be started every time a filesystem is mounted\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.ThrottleInterval\fR -.RS 4 -This key lets one override the default throttling policy imposed on jobs by launchd\&. The value is in seconds, and by default, jobs will not be spawned more than once every 10 seconds\&. The principle behind this is that jobs should linger around just in case they are needed again in the near future\&. This not only reduces the latency of responses, but it encourages developers to amortize the cost of program invocation\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.TimeOut\fR -.RS 4 -The recommended idle time out (in seconds) to pass to the job\&. If no value is specified, a default time out will be supplied by launchd for use by the job at check in time\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.Umask\fR -.RS 4 -This optional key specifies what value should be passed to \fR\(oqumask(2)\(cq\fP before running the job\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.UserName\fR -.RS 4 -This optional key specifies the user to run the job as\&. This key is only applicable when launchd is running as root\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.WaitForDebugger\fR -.RS 4 -This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger to attach before any code in the job is executed\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.WatchPaths\fR -.RS 4 -This optional key causes the job to be started if any one of the listed paths are modified\&. -.sp -\fIType:\fR null or (list of absolute path) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.WorkingDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchdir(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.inetdCompatibility\fR -.RS 4 -The presence of this key specifies that the daemon expects to be run as if it were launched from inetd\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Wait = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.agents\&.<name>\&.serviceConfig\&.inetdCompatibility\&.Wait\fR -.RS 4 -This flag corresponds to the \[u201C]wait\[u201D] or \[u201C]nowait\[u201D] option of inetd\&. If true, then the listening socket is passed via the standard in/out/error file descriptors\&. If false, then \fR\(oqaccept(2)\(cq\fP is called on behalf of the job, and the result is passed via the standard in/out/error descriptors\&. -.sp -\fIType:\fR null or boolean or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\fR -.RS 4 -Definition of launchd daemons\&. -.sp -After the system is booted and the kernel is running, launchd is run to finish the system initialization\&. As part of that initialization, it goes through the following steps: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -It loads the parameters for each launch\-on\-demand system\-level daemon from the property list files found in /System/Library/LaunchDaemons/ and /Library/LaunchDaemons/\&. -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -It registers the sockets and file descriptors requested by those daemons\&. -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -It launches any daemons that requested to be running all the time\&. -.RE -.RS 4 -\h'-3'\fB4\&.\fP\h'1'\c -As requests for a particular service arrive, it launches the corresponding daemon and passes the request to it\&. -.RE -.RS 4 -\h'-3'\fB5\&.\fP\h'1'\c -When the system shuts down, it sends a SIGTERM signal to all of the daemons that it started\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.command\fR -.RS 4 -Command executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.environment\fR -.RS 4 -Environment variables passed to the service\[u2019]s processes\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - LANG = \(dqnl_NL\&.UTF\-8\(dq; - PATH = \(dq/foo/bar/bin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.path\fR -.RS 4 -Packages added to the service\[u2019]s \fBPATH\fP environment variable\&. Only the \fIbin\fP and subdirectories of each package is added\&. -.sp -\fIType:\fR list of (absolute path or string) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.script\fR -.RS 4 -Shell commands executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\fR -.RS 4 -Each attribute in this set specifies an option for a key in the plist\&. \fBhttps://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html\fR[1]\fR -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - KeepAlive = true; - Program = \(dq/run/current\-system/sw/bin/nix\-daemon\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.AbandonProcessGroup\fR -.RS 4 -When a job dies, launchd kills any remaining processes with the same process group ID as the job\&. Setting this key to true disables that behavior\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Debug\fR -.RS 4 -This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while dealing with this job\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Disabled\fR -.RS 4 -This optional key is used as a hint to \fR\(oqlaunchctl(1)\(cq\fP that it should not submit this job to launchd when loading a job or jobs\&. The value of this key does NOT reflect the current state of the job on the running system\&. If you wish to know whether a job is loaded in launchd, reading this key from a configuration file yourself is not a sufficient test\&. You should query launchd for the presence of the job using the \fR\(oqlaunchctl(1)\(cq\fP list subcommand or use the ServiceManagement framework\[u2019]s \fR\(oqSMJobCopyDictionary()\(cq\fP method\&. -.sp -Note that as of Mac OS X v10\&.6, this key\[u2019]s value in a configuration file conveys a default value, which is changed with the [\-w] option of the \fR\(oqlaunchctl(1)\(cq\fP load and unload subcommands\&. These subcommands no longer modify the configuration file, so the value displayed in the configuration file is not necessarily the value that \fR\(oqlaunchctl(1)\(cq\fP will apply\&. See \fR\(oqlaunchctl(1)\(cq\fP for more information\&. -.sp -Please also be mindful that you should only use this key if the provided on\-demand and KeepAlive criteria are insufficient to describe the conditions under which your job needs to run\&. The cost to have a job loaded in launchd is negligible, so there is no harm in loading a job which only runs once or very rarely\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.EnableGlobbing\fR -.RS 4 -This flag causes launchd to use the \fR\(oqglob(3)\(cq\fP mechanism to update the program arguments before invocation\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.EnableTransactions\fR -.RS 4 -This flag instructs launchd that the job promises to use \fR\(oqvproc_transaction_begin(3)\(cq\fP and \fR\(oqvproc_transaction_end(3)\(cq\fP to track outstanding transactions that need to be reconciled before the process can safely terminate\&. If no outstanding transactions are in progress, then launchd is free to send the SIGKILL signal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.EnvironmentVariables\fR -.RS 4 -This optional key is used to specify additional environment variables to be set before running the job\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.ExitTimeOut\fR -.RS 4 -The amount of time launchd waits before sending a SIGKILL signal\&. The default value is 20 seconds\&. The value zero is interpreted as infinity\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.GroupName\fR -.RS 4 -This optional key specifies the group to run the job as\&. This key is only applicable when launchd is running as root\&. If UserName is set and GroupName is not, the the group will be set to the default group of the user\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NumberOfFiles = 4096; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the \fR\(oqmlock(2)\(cq\fP function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.InitGroups\fR -.RS 4 -This optional key specifies whether \fR\(oqinitgroups(3)\(cq\fP should be called before running the job\&. The default is true in 10\&.5 and false in 10\&.4\&. This key will be ignored if the UserName key is not set\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.KeepAlive\fR -.RS 4 -This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation\&. The default is false and therefore only demand will start the job\&. The value may be set to true to unconditionally keep the job alive\&. Alternatively, a dictionary of conditions may be specified to selectively control whether launchd keeps a job alive or not\&. If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary\&. If launchd finds no reason to restart the job, it falls back on demand based invocation\&. Jobs that exit quickly and frequently when configured to be kept alive will be throttled to converve system resources\&. -.sp -\fIType:\fR null or boolean or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Label\fR -.RS 4 -This required key uniquely identifies the job to launchd\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LaunchEvents\fR -.RS 4 -Specifies higher\-level event types to be used as launch\-on\-demand event sources\&. Each sub\-dictionary defines events for a particular event subsystem, such as \[u201C]com\&.apple\&.iokit\&.matching\[u201D], which can be used to launch jobs based on the appearance of nodes in the IORegistry\&. Each dictionary within the sub\-dictionary specifies an event descriptor that is specified to each event subsystem\&. With this key, the job promises to use the xpc_set_event_stream_handler(3) API to consume events\&. See xpc_events(3) for more details on event sources\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.iokit\&.matching\(dq = { - \(dqcom\&.apple\&.usb\&.device\(dq = { - IOMatchLaunchStream = true; - IOProviderClass = \(dqIOUSBDevice\(dq; - idProduct = \(dq*\(dq; - idVendor = \(dq*\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LaunchOnlyOnce\fR -.RS 4 -This optional key specifies whether the job can only be run once and only once\&. In other words, if the job cannot be safely respawned without a full machine reboot, then set this key to be true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LimitLoadFromHosts\fR -.RS 4 -This configuration file only applies to hosts NOT listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LimitLoadToHosts\fR -.RS 4 -This configuration file only applies to the hosts listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LimitLoadToSessionType\fR -.RS 4 -This configuration file only applies to sessions of the type specified\&. This key is used in concert with the \-S flag to \fBlaunchctl\fP\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LowPriorityBackgroundIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O when the process is throttled with the Darwin\-background classification\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.LowPriorityIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.MachServices\fR -.RS 4 -This optional key is used to specify Mach services to be registered with the Mach bootstrap sub\-system\&. Each key in this dictionary should be the name of service to be advertised\&. The value of the key must be a boolean and set to true\&. Alternatively, a dictionary can be used instead of a simple true value\&. -.sp -Finally, for the job itself, the values will be replaced with Mach ports at the time of check\-in with launchd\&. -.sp -\fIType:\fR null or (attribute set of (boolean or (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg\&.nixos\&.service\(dq = { - ResetAtClose = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Nice\fR -.RS 4 -This optional key specifies what nice(3) value should be applied to the daemon\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.OnDemand\fR -.RS 4 -This key was used in Mac OS X 10\&.4 to control whether a job was kept alive or not\&. The default was true\&. This key has been deprecated and replaced in Mac OS X 10\&.5 and later with the more powerful KeepAlive option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.ProcessType\fR -.RS 4 -This optional key describes, at a high level, the intended purpose of the job\&. The system will apply resource limits based on what kind of job it is\&. If left unspecified, the system will apply light resource limits to the job, throttling its CPU usage and I/O bandwidth\&. The following are valid values: -.RS 4 -.PP -Background -.RS 4 -Background jobs are generally processes that do work that was not directly requested by the user\&. The resource limits applied to Background jobs are intended to prevent them from disrupting the user experience\&. -.RE -.PP -Standard -.RS 4 -Standard jobs are equivalent to no ProcessType being set\&. -.RE -.PP -Adaptive -.RS 4 -Adaptive jobs move between the Background and Interactive classifications based on activity over XPC connections\&. See \fR\(oqxpc_transaction_begin(3)\(cq\fP for details\&. -.RE -.PP -Interactive -.RS 4 -Interactive jobs run with the same resource limitations as apps, that is to say, none\&. Interactive jobs are critical to maintaining a responsive user experience, and this key should only be used if an app\[u2019]s ability to be responsive depends on it, and cannot be made Adaptive\&. -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]Background\[u201D], \[u201C]Standard\[u201D], \[u201C]Adaptive\[u201D], \[u201C]Interactive\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqBackground\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Program\fR -.RS 4 -This key maps to the first argument of \fR\(oqexecvp(3)\(cq\fP\&. If this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead\&. This key is required in the absence of the ProgramArguments key\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.ProgramArguments\fR -.RS 4 -This key maps to the second argument of \fR\(oqexecvp(3)\(cq\fP\&. This key is required in the absence of the Program key\&. Please note: many people are confused by this key\&. Please read \fR\(oqexecvp(3)\(cq\fP very carefully! -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.QueueDirectories\fR -.RS 4 -Much like the WatchPaths option, this key will watch the paths for modifications\&. The difference being that the job will only be started if the path is a directory and the directory is not empty\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.RootDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchroot(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.RunAtLoad\fR -.RS 4 -This optional key is used to control whether your job is launched once at the time the job is loaded\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.ServiceIPC\fR -.RS 4 -This optional key specifies whether the job participates in advanced communication with launchd\&. The default is false\&. This flag is incompatible with the inetdCompatibility key\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SessionCreate\fR -.RS 4 -This key specifies that the job should be spawned into a new security audit session rather than the default session for the context is belongs to\&. See auditon(2) for details\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\fR -.RS 4 -This optional key is used to specify launch on demand sockets that can be used to let launchd know when to run the job\&. The job must check\-in to get a copy of the file descriptors using APIs outlined in launch(3)\&. The keys of the top level Sockets dictionary can be anything\&. They are meant for the application developer to use to differentiate which descriptors correspond to which application level protocols (e\&.g\&. http vs\&. ftp vs\&. DNS\[u2026])\&. At check\-in time, the value of each Sockets dictionary key will be an array of descriptors\&. Daemon/Agent writers should consider all descriptors of a given key to be to be effectively equivalent, even though each file descriptor likely represents a different networking protocol which conforms to the criteria specified in the job configuration file\&. -.sp -The parameters below are used as inputs to call \fR\(oqgetaddrinfo(3)\(cq\fP\&. -.sp -\fIType:\fR null or (attribute set of (submodule)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.Bonjour\fR -.RS 4 -This optional key can be used to request that the service be registered with the \fR\(oqmDNSResponder(8)\(cq\fP\&. If the value is boolean, the service name is inferred from the SockServiceName\&. -.sp -\fIType:\fR null or boolean or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.MulticastGroup\fR -.RS 4 -This optional key can be used to request that the datagram socket join a multicast group\&. If the value is a hostname, then \fR\(oqgetaddrinfo(3)\(cq\fP will be used to join the correct multicast address for a given socket family\&. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily family also be set, otherwise the results are undefined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SecureSocketWithKey\fR -.RS 4 -This optional key is a variant of SockPathName\&. Instead of binding to a known path, a securely generated socket is created and the path is assigned to the environment variable that is inherited by all jobs spawned by launchd\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockFamily\fR -.RS 4 -This optional key can be used to specifically request that \[u201C]IPv4\[u201D] or \[u201C]IPv6\[u201D] socket(s) be created\&. -.sp -\fIType:\fR null or one of \[u201C]IPv4\[u201D], \[u201C]IPv6\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockNodeName\fR -.RS 4 -This optional key specifies the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPassive\fR -.RS 4 -This optional key specifies whether \fR\(oqlisten(2)\(cq\fP or \fR\(oqconnect(2)\(cq\fP should be called on the created file descriptor\&. The default is true (\[u201C]to listen\[u201D])\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathMode\fR -.RS 4 -This optional key specifies the mode of the socket\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathName\fR -.RS 4 -This optional key implies SockFamily is set to \[u201C]Unix\[u201D]\&. It specifies the path to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockProtocol\fR -.RS 4 -This optional key specifies the protocol to be passed to \fR\(oqsocket(2)\(cq\fP\&. The only value understood by this key at the moment is \[u201C]TCP\[u201D]\&. -.sp -\fIType:\fR null or value \[u201C]TCP\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockServiceName\fR -.RS 4 -This optional key specifies the service on the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockType\fR -.RS 4 -This optional key tells launchctl what type of socket to create\&. The default is \[u201C]stream\[u201D] and other valid values for this key are \[u201C]dgram\[u201D] and \[u201C]seqpacket\[u201D] respectively\&. -.sp -\fIType:\fR null or one of \[u201C]stream\[u201D], \[u201C]dgram\[u201D], \[u201C]seqpacket\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the mlock(2) function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StandardErrorPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stderr when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StandardInPath\fR -.RS 4 -This optional key specifies what file should be used for data being supplied to stdin when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StandardOutPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stdout when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StartCalendarInterval\fR -.RS 4 -This optional key causes the job to be started every calendar interval as specified\&. The semantics are much like \fBcrontab\fP\fR(5)\fP: Missing attributes are considered to be wildcard\&. Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon waking from sleep\&. -.sp -.RS 4 -\fBImportant\fP -.br -The list must not be empty and must not contain duplicate entries (attrsets which compare equally)\&. -.RE -.sp -.RS 4 -\fBCaution\fP -.br -Since missing attrs become wildcards, an empty attrset effectively means \[u201C]every minute\[u201D]\&. -.RE -.sp -\fIType:\fR null or (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 2; - Minute = 30; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StartInterval\fR -.RS 4 -This optional key causes the job to be started every N seconds\&. If the system is asleep, the job will be started the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.StartOnMount\fR -.RS 4 -This optional key causes the job to be started every time a filesystem is mounted\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.ThrottleInterval\fR -.RS 4 -This key lets one override the default throttling policy imposed on jobs by launchd\&. The value is in seconds, and by default, jobs will not be spawned more than once every 10 seconds\&. The principle behind this is that jobs should linger around just in case they are needed again in the near future\&. This not only reduces the latency of responses, but it encourages developers to amortize the cost of program invocation\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.TimeOut\fR -.RS 4 -The recommended idle time out (in seconds) to pass to the job\&. If no value is specified, a default time out will be supplied by launchd for use by the job at check in time\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.Umask\fR -.RS 4 -This optional key specifies what value should be passed to \fR\(oqumask(2)\(cq\fP before running the job\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.UserName\fR -.RS 4 -This optional key specifies the user to run the job as\&. This key is only applicable when launchd is running as root\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.WaitForDebugger\fR -.RS 4 -This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger to attach before any code in the job is executed\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.WatchPaths\fR -.RS 4 -This optional key causes the job to be started if any one of the listed paths are modified\&. -.sp -\fIType:\fR null or (list of absolute path) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.WorkingDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchdir(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.inetdCompatibility\fR -.RS 4 -The presence of this key specifies that the daemon expects to be run as if it were launched from inetd\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Wait = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.daemons\&.<name>\&.serviceConfig\&.inetdCompatibility\&.Wait\fR -.RS 4 -This flag corresponds to the \[u201C]wait\[u201D] or \[u201C]nowait\[u201D] option of inetd\&. If true, then the listening socket is passed via the standard in/out/error file descriptors\&. If false, then \fR\(oqaccept(2)\(cq\fP is called on behalf of the job, and the result is passed via the standard in/out/error descriptors\&. -.sp -\fIType:\fR null or boolean or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.envVariables\fR -.RS 4 -A set of environment variables to be set on all future processes launched by launchd in the caller\[u2019]s context\&. The value of each variable can be either a string or a list of strings\&. The latter is concatenated, interspersed with colon characters\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - LANG = \(dqnl_NL\&.UTF\-8\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.labelPrefix\fR -.RS 4 -The default prefix of the service label\&. Individual services can override this by setting the Label attribute\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqorg\&.nixos\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\fR -.RS 4 -Definition of per\-user launchd agents\&. -.sp -When a user logs in, a per\-user launchd is started\&. It does the following: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -It loads the parameters for each launch\-on\-demand user agent from the property list files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and the user\[u2019]s individual Library/LaunchAgents directory\&. -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -It registers the sockets and file descriptors requested by those user agents\&. -.RE -.RS 4 -\h'-3'\fB3\&.\fP\h'1'\c -It launches any user agents that requested to be running all the time\&. -.RE -.RS 4 -\h'-3'\fB4\&.\fP\h'1'\c -As requests for a particular service arrive, it launches the corresponding user agent and passes the request to it\&. -.RE -.RS 4 -\h'-3'\fB5\&.\fP\h'1'\c -When the user logs out, it sends a SIGTERM signal to all of the user agents that it started\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.command\fR -.RS 4 -Command executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR string or absolute path -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.environment\fR -.RS 4 -Environment variables passed to the service\[u2019]s processes\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - LANG = \(dqnl_NL\&.UTF\-8\(dq; - PATH = \(dq/foo/bar/bin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.path\fR -.RS 4 -Packages added to the service\[u2019]s \fBPATH\fP environment variable\&. Only the \fIbin\fP and subdirectories of each package is added\&. -.sp -\fIType:\fR list of (absolute path or string) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.script\fR -.RS 4 -Shell commands executed as the service\[u2019]s main process\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\fR -.RS 4 -Each attribute in this set specifies an option for a key in the plist\&. \fBhttps://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html\fR[1]\fR -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - KeepAlive = true; - Program = \(dq/run/current\-system/sw/bin/nix\-daemon\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://developer\&.apple\&.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd\&.plist\&.5\&.html -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.AbandonProcessGroup\fR -.RS 4 -When a job dies, launchd kills any remaining processes with the same process group ID as the job\&. Setting this key to true disables that behavior\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Debug\fR -.RS 4 -This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while dealing with this job\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Disabled\fR -.RS 4 -This optional key is used as a hint to \fR\(oqlaunchctl(1)\(cq\fP that it should not submit this job to launchd when loading a job or jobs\&. The value of this key does NOT reflect the current state of the job on the running system\&. If you wish to know whether a job is loaded in launchd, reading this key from a configuration file yourself is not a sufficient test\&. You should query launchd for the presence of the job using the \fR\(oqlaunchctl(1)\(cq\fP list subcommand or use the ServiceManagement framework\[u2019]s \fR\(oqSMJobCopyDictionary()\(cq\fP method\&. -.sp -Note that as of Mac OS X v10\&.6, this key\[u2019]s value in a configuration file conveys a default value, which is changed with the [\-w] option of the \fR\(oqlaunchctl(1)\(cq\fP load and unload subcommands\&. These subcommands no longer modify the configuration file, so the value displayed in the configuration file is not necessarily the value that \fR\(oqlaunchctl(1)\(cq\fP will apply\&. See \fR\(oqlaunchctl(1)\(cq\fP for more information\&. -.sp -Please also be mindful that you should only use this key if the provided on\-demand and KeepAlive criteria are insufficient to describe the conditions under which your job needs to run\&. The cost to have a job loaded in launchd is negligible, so there is no harm in loading a job which only runs once or very rarely\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.EnableGlobbing\fR -.RS 4 -This flag causes launchd to use the \fR\(oqglob(3)\(cq\fP mechanism to update the program arguments before invocation\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.EnableTransactions\fR -.RS 4 -This flag instructs launchd that the job promises to use \fR\(oqvproc_transaction_begin(3)\(cq\fP and \fR\(oqvproc_transaction_end(3)\(cq\fP to track outstanding transactions that need to be reconciled before the process can safely terminate\&. If no outstanding transactions are in progress, then launchd is free to send the SIGKILL signal\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.EnvironmentVariables\fR -.RS 4 -This optional key is used to specify additional environment variables to be set before running the job\&. -.sp -\fIType:\fR null or (attribute set of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.ExitTimeOut\fR -.RS 4 -The amount of time launchd waits before sending a SIGKILL signal\&. The default value is 20 seconds\&. The value zero is interpreted as infinity\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.GroupName\fR -.RS 4 -This optional key specifies the group to run the job as\&. This key is only applicable when launchd is running as root\&. If UserName is set and GroupName is not, the the group will be set to the default group of the user\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NumberOfFiles = 4096; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the \fR\(oqmlock(2)\(cq\fP function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.HardResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.InitGroups\fR -.RS 4 -This optional key specifies whether \fR\(oqinitgroups(3)\(cq\fP should be called before running the job\&. The default is true in 10\&.5 and false in 10\&.4\&. This key will be ignored if the UserName key is not set\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.KeepAlive\fR -.RS 4 -This optional key is used to control whether your job is to be kept continuously running or to let demand and conditions control the invocation\&. The default is false and therefore only demand will start the job\&. The value may be set to true to unconditionally keep the job alive\&. Alternatively, a dictionary of conditions may be specified to selectively control whether launchd keeps a job alive or not\&. If multiple keys are provided, launchd ORs them, thus providing maximum flexibility to the job to refine the logic and stall if necessary\&. If launchd finds no reason to restart the job, it falls back on demand based invocation\&. Jobs that exit quickly and frequently when configured to be kept alive will be throttled to converve system resources\&. -.sp -\fIType:\fR null or boolean or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Label\fR -.RS 4 -This required key uniquely identifies the job to launchd\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LaunchEvents\fR -.RS 4 -Specifies higher\-level event types to be used as launch\-on\-demand event sources\&. Each sub\-dictionary defines events for a particular event subsystem, such as \[u201C]com\&.apple\&.iokit\&.matching\[u201D], which can be used to launch jobs based on the appearance of nodes in the IORegistry\&. Each dictionary within the sub\-dictionary specifies an event descriptor that is specified to each event subsystem\&. With this key, the job promises to use the xpc_set_event_stream_handler(3) API to consume events\&. See xpc_events(3) for more details on event sources\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqcom\&.apple\&.iokit\&.matching\(dq = { - \(dqcom\&.apple\&.usb\&.device\(dq = { - IOMatchLaunchStream = true; - IOProviderClass = \(dqIOUSBDevice\(dq; - idProduct = \(dq*\(dq; - idVendor = \(dq*\(dq; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LaunchOnlyOnce\fR -.RS 4 -This optional key specifies whether the job can only be run once and only once\&. In other words, if the job cannot be safely respawned without a full machine reboot, then set this key to be true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LimitLoadFromHosts\fR -.RS 4 -This configuration file only applies to hosts NOT listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LimitLoadToHosts\fR -.RS 4 -This configuration file only applies to the hosts listed with this key\&. Note: One should set kern\&.hostname in \fR\(oqsysctl\&.conf(5)\(cq\fP for this feature to work reliably\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LimitLoadToSessionType\fR -.RS 4 -This configuration file only applies to sessions of the type specified\&. This key is used in concert with the \-S flag to \fBlaunchctl\fP\&. -.sp -\fIType:\fR null or string or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LowPriorityBackgroundIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O when the process is throttled with the Darwin\-background classification\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.LowPriorityIO\fR -.RS 4 -This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.MachServices\fR -.RS 4 -This optional key is used to specify Mach services to be registered with the Mach bootstrap sub\-system\&. Each key in this dictionary should be the name of service to be advertised\&. The value of the key must be a boolean and set to true\&. Alternatively, a dictionary can be used instead of a simple true value\&. -.sp -Finally, for the job itself, the values will be replaced with Mach ports at the time of check\-in with launchd\&. -.sp -\fIType:\fR null or (attribute set of (boolean or (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqorg\&.nixos\&.service\(dq = { - ResetAtClose = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Nice\fR -.RS 4 -This optional key specifies what nice(3) value should be applied to the daemon\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.OnDemand\fR -.RS 4 -This key was used in Mac OS X 10\&.4 to control whether a job was kept alive or not\&. The default was true\&. This key has been deprecated and replaced in Mac OS X 10\&.5 and later with the more powerful KeepAlive option\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.ProcessType\fR -.RS 4 -This optional key describes, at a high level, the intended purpose of the job\&. The system will apply resource limits based on what kind of job it is\&. If left unspecified, the system will apply light resource limits to the job, throttling its CPU usage and I/O bandwidth\&. The following are valid values: -.RS 4 -.PP -Background -.RS 4 -Background jobs are generally processes that do work that was not directly requested by the user\&. The resource limits applied to Background jobs are intended to prevent them from disrupting the user experience\&. -.RE -.PP -Standard -.RS 4 -Standard jobs are equivalent to no ProcessType being set\&. -.RE -.PP -Adaptive -.RS 4 -Adaptive jobs move between the Background and Interactive classifications based on activity over XPC connections\&. See \fR\(oqxpc_transaction_begin(3)\(cq\fP for details\&. -.RE -.PP -Interactive -.RS 4 -Interactive jobs run with the same resource limitations as apps, that is to say, none\&. Interactive jobs are critical to maintaining a responsive user experience, and this key should only be used if an app\[u2019]s ability to be responsive depends on it, and cannot be made Adaptive\&. -.RE -.RE -.sp -\fIType:\fR null or one of \[u201C]Background\[u201D], \[u201C]Standard\[u201D], \[u201C]Adaptive\[u201D], \[u201C]Interactive\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqBackground\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Program\fR -.RS 4 -This key maps to the first argument of \fR\(oqexecvp(3)\(cq\fP\&. If this key is missing, then the first element of the array of strings provided to the ProgramArguments will be used instead\&. This key is required in the absence of the ProgramArguments key\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.ProgramArguments\fR -.RS 4 -This key maps to the second argument of \fR\(oqexecvp(3)\(cq\fP\&. This key is required in the absence of the Program key\&. Please note: many people are confused by this key\&. Please read \fR\(oqexecvp(3)\(cq\fP very carefully! -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.QueueDirectories\fR -.RS 4 -Much like the WatchPaths option, this key will watch the paths for modifications\&. The difference being that the job will only be started if the path is a directory and the directory is not empty\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.RootDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchroot(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.RunAtLoad\fR -.RS 4 -This optional key is used to control whether your job is launched once at the time the job is loaded\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.ServiceIPC\fR -.RS 4 -This optional key specifies whether the job participates in advanced communication with launchd\&. The default is false\&. This flag is incompatible with the inetdCompatibility key\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SessionCreate\fR -.RS 4 -This key specifies that the job should be spawned into a new security audit session rather than the default session for the context is belongs to\&. See auditon(2) for details\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\fR -.RS 4 -This optional key is used to specify launch on demand sockets that can be used to let launchd know when to run the job\&. The job must check\-in to get a copy of the file descriptors using APIs outlined in launch(3)\&. The keys of the top level Sockets dictionary can be anything\&. They are meant for the application developer to use to differentiate which descriptors correspond to which application level protocols (e\&.g\&. http vs\&. ftp vs\&. DNS\[u2026])\&. At check\-in time, the value of each Sockets dictionary key will be an array of descriptors\&. Daemon/Agent writers should consider all descriptors of a given key to be to be effectively equivalent, even though each file descriptor likely represents a different networking protocol which conforms to the criteria specified in the job configuration file\&. -.sp -The parameters below are used as inputs to call \fR\(oqgetaddrinfo(3)\(cq\fP\&. -.sp -\fIType:\fR null or (attribute set of (submodule)) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.Bonjour\fR -.RS 4 -This optional key can be used to request that the service be registered with the \fR\(oqmDNSResponder(8)\(cq\fP\&. If the value is boolean, the service name is inferred from the SockServiceName\&. -.sp -\fIType:\fR null or boolean or list of string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.MulticastGroup\fR -.RS 4 -This optional key can be used to request that the datagram socket join a multicast group\&. If the value is a hostname, then \fR\(oqgetaddrinfo(3)\(cq\fP will be used to join the correct multicast address for a given socket family\&. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily family also be set, otherwise the results are undefined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SecureSocketWithKey\fR -.RS 4 -This optional key is a variant of SockPathName\&. Instead of binding to a known path, a securely generated socket is created and the path is assigned to the environment variable that is inherited by all jobs spawned by launchd\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockFamily\fR -.RS 4 -This optional key can be used to specifically request that \[u201C]IPv4\[u201D] or \[u201C]IPv6\[u201D] socket(s) be created\&. -.sp -\fIType:\fR null or one of \[u201C]IPv4\[u201D], \[u201C]IPv6\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockNodeName\fR -.RS 4 -This optional key specifies the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPassive\fR -.RS 4 -This optional key specifies whether \fR\(oqlisten(2)\(cq\fP or \fR\(oqconnect(2)\(cq\fP should be called on the created file descriptor\&. The default is true (\[u201C]to listen\[u201D])\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathMode\fR -.RS 4 -This optional key specifies the mode of the socket\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockPathName\fR -.RS 4 -This optional key implies SockFamily is set to \[u201C]Unix\[u201D]\&. It specifies the path to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockProtocol\fR -.RS 4 -This optional key specifies the protocol to be passed to \fR\(oqsocket(2)\(cq\fP\&. The only value understood by this key at the moment is \[u201C]TCP\[u201D]\&. -.sp -\fIType:\fR null or value \[u201C]TCP\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockServiceName\fR -.RS 4 -This optional key specifies the service on the node to \fR\(oqconnect(2)\(cq\fP or \fR\(oqbind(2)\(cq\fP to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Sockets\&.<name>\&.SockType\fR -.RS 4 -This optional key tells launchctl what type of socket to create\&. The default is \[u201C]stream\[u201D] and other valid values for this key are \[u201C]dgram\[u201D] and \[u201C]seqpacket\[u201D] respectively\&. -.sp -\fIType:\fR null or one of \[u201C]stream\[u201D], \[u201C]dgram\[u201D], \[u201C]seqpacket\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\fR -.RS 4 -Resource limits to be imposed on the job\&. These adjust variables set with \fR\(oqsetrlimit(2)\(cq\fP\&. The following keys apply: -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.CPU\fR -.RS 4 -The maximum amount of cpu time (in seconds) to be used by each process\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Core\fR -.RS 4 -The largest size (in bytes) core file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Data\fR -.RS 4 -The maximum size (in bytes) of the data segment for a process; this defines how far a program may extend its break with the \fR\(oqsbrk(2)\(cq\fP system call\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.FileSize\fR -.RS 4 -The largest size (in bytes) file that may be created\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.MemoryLock\fR -.RS 4 -The maximum size (in bytes) which a process may lock into memory using the mlock(2) function\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfFiles\fR -.RS 4 -The maximum number of open files for this process\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxfiles (SoftResourceLimits) or kern\&.maxfilesperproc (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.NumberOfProcesses\fR -.RS 4 -The maximum number of simultaneous processes for this user id\&. Setting this value in a system wide daemon will set the \fR\(oqsysctl(3)\(cq\fP kern\&.maxproc (SoftResourceLimits) or kern\&.maxprocperuid (HardResourceLimits) value in addition to the \fR\(oqsetrlimit(2)\(cq\fP values\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.ResidentSetSize\fR -.RS 4 -The maximum size (in bytes) to which a process\[u2019]s resident set size may grow\&. This imposes a limit on the amount of physical memory to be given to a process; if memory is tight, the system will prefer to take memory from processes that are exceeding their declared resident set size\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.SoftResourceLimits\&.Stack\fR -.RS 4 -The maximum size (in bytes) of the stack segment for a process; this defines how far a program\[u2019]s stack segment may be extended\&. Stack extension is performed automatically by the system\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StandardErrorPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stderr when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StandardInPath\fR -.RS 4 -This optional key specifies what file should be used for data being supplied to stdin when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StandardOutPath\fR -.RS 4 -This optional key specifies what file should be used for data being sent to stdout when using \fR\(oqstdio(3)\(cq\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StartCalendarInterval\fR -.RS 4 -This optional key causes the job to be started every calendar interval as specified\&. The semantics are much like \fBcrontab\fP\fR(5)\fP: Missing attributes are considered to be wildcard\&. Unlike cron which skips job invocations when the computer is asleep, launchd will start the job the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon waking from sleep\&. -.sp -.RS 4 -\fBImportant\fP -.br -The list must not be empty and must not contain duplicate entries (attrsets which compare equally)\&. -.RE -.sp -.RS 4 -\fBCaution\fP -.br -Since missing attrs become wildcards, an empty attrset effectively means \[u201C]every minute\[u201D]\&. -.RE -.sp -\fIType:\fR null or (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 2; - Minute = 30; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StartInterval\fR -.RS 4 -This optional key causes the job to be started every N seconds\&. If the system is asleep, the job will be started the next time the computer wakes up\&. If multiple intervals transpire before the computer is woken, those events will be coalesced into one event upon wake from sleep\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.StartOnMount\fR -.RS 4 -This optional key causes the job to be started every time a filesystem is mounted\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.ThrottleInterval\fR -.RS 4 -This key lets one override the default throttling policy imposed on jobs by launchd\&. The value is in seconds, and by default, jobs will not be spawned more than once every 10 seconds\&. The principle behind this is that jobs should linger around just in case they are needed again in the near future\&. This not only reduces the latency of responses, but it encourages developers to amortize the cost of program invocation\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.TimeOut\fR -.RS 4 -The recommended idle time out (in seconds) to pass to the job\&. If no value is specified, a default time out will be supplied by launchd for use by the job at check in time\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.Umask\fR -.RS 4 -This optional key specifies what value should be passed to \fR\(oqumask(2)\(cq\fP before running the job\&. Known bug: Property lists don\[u2019]t support octal, so please convert the value to decimal\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.UserName\fR -.RS 4 -This optional key specifies the user to run the job as\&. This key is only applicable when launchd is running as root\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.WaitForDebugger\fR -.RS 4 -This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger to attach before any code in the job is executed\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.WatchPaths\fR -.RS 4 -This optional key causes the job to be started if any one of the listed paths are modified\&. -.sp -\fIType:\fR null or (list of absolute path) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.WorkingDirectory\fR -.RS 4 -This optional key is used to specify a directory to \fR\(oqchdir(2)\(cq\fP to before running the job\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.inetdCompatibility\fR -.RS 4 -The presence of this key specifies that the daemon expects to be run as if it were launched from inetd\&. -.sp -\fIType:\fR null or (submodule) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - Wait = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.agents\&.<name>\&.serviceConfig\&.inetdCompatibility\&.Wait\fR -.RS 4 -This flag corresponds to the \[u201C]wait\[u201D] or \[u201C]nowait\[u201D] option of inetd\&. If true, then the listening socket is passed via the standard in/out/error file descriptors\&. If false, then \fR\(oqaccept(2)\(cq\fP is called on behalf of the job, and the result is passed via the standard in/out/error descriptors\&. -.sp -\fIType:\fR null or boolean or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlaunchd\&.user\&.envVariables\fR -.RS 4 -A set of environment variables to be set on all future processes launched by launchd in the caller\[u2019]s context\&. The value of each variable can be either a string or a list of strings\&. The latter is concatenated, interspersed with colon characters\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - LANG = \(dqnl_NL\&.UTF\-8\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/launchd>\fP -.RE -.RE -.PP -\fBlib\fR -.RS 4 -This option allows modules to define helper functions, constants, etc\&. -.sp -\fIType:\fR attribute set of (attribute set) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/misc/lib\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.computerName\fR -.RS 4 -The user\-friendly name for the system, set in System Preferences > Sharing > Computer Name\&. -.sp -Setting this option is equivalent to running \fR\(oqscutil \-\-set ComputerName\(cq\fP\&. -.sp -This name can contain spaces and Unicode characters\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqJohn\[u2019]s MacBook Pro\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.dns\fR -.RS 4 -The list of dns servers used when resolving domain names\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq8\&.8\&.8\&.8\(dq - \(dq8\&.8\&.4\&.4\(dq - \(dq2001:4860:4860::8888\(dq - \(dq2001:4860:4860::8844\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.domain\fR -.RS 4 -The domain\&. It can be left empty if it is auto\-detected through DHCP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhome\&.arpa\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.fqdn\fR -.RS 4 -The fully qualified domain name (FQDN) of this host\&. By default, it is the result of combining \fR\(oqnetworking\&.hostName\(cq\fP and \fR\(oqnetworking\&.domain\&.\(cq\fP -.sp -Using this option will result in an evaluation error if the hostname is empty or no domain is specified\&. -.sp -Modules that accept a mere \fR\(oqnetworking\&.hostName\(cq\fP but prefer a fully qualified domain name may use \fR\(oqnetworking\&.fqdnOrHostName\(cq\fP instead\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq${networking\&.hostName}\&.${networking\&.domain}\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.fqdnOrHostName\fR -.RS 4 -Either the fully qualified domain name (FQDN), or just the host name if it does not exists\&. -.sp -This is a convenience option for modules to read instead of \fR\(oqfqdn\(cq\fP when a mere \fR\(oqhostName\(cq\fP is also an acceptable value; this option does not throw an error when \fR\(oqdomain\(cq\fP is unset\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -if cfg\&.domain == null then cfg\&.hostName else cfg\&.fqdn -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.hostName\fR -.RS 4 -The hostname of your system, as visible from the command line and used by local and remote networks when connecting through SSH and Remote Login\&. -.sp -Setting this option is equivalent to running the command \fR\(oqscutil \-\-set HostName\(cq\fP\&. -.sp -(Note that networking\&.localHostName defaults to the value of this option\&.) -.sp -\fIType:\fR null or string matching the pattern \(ha(([a\-zA\-Z0\-9]|[a\-zA\-Z0\-9][a\-zA\-Z0\-9\e\-]*[a\-zA\-Z0\-9])\e\&.)*([A\-Za\-z0\-9]|[A\-Za\-z0\-9][A\-Za\-z0\-9\e\-]*[A\-Za\-z0\-9])$ -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqJohns\-MacBook\-Pro\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.knownNetworkServices\fR -.RS 4 -List of networkservices that should be configured\&. -.sp -To display a list of all the network services on the server\[u2019]s hardware ports, use \fBnetworksetup \-listallnetworkservices\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqWi\-Fi\(dq - \(dqEthernet Adaptor\(dq - \(dqThunderbolt Ethernet\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.localHostName\fR -.RS 4 -The local hostname, or local network name, is displayed beneath the computer\[u2019]s name at the top of the Sharing preferences pane\&. It identifies your Mac to Bonjour\-compatible services\&. -.sp -Setting this option is equivalent to running the command \fR\(oqscutil \-\-set LocalHostName\(cq\fP, where running, e\&.g\&., \fR\(oqscutil \-\-set LocalHostName \(aqJohns\-MacBook\-Pro\(aq\(cq\fP, would set the systems local hostname to \[u201C]Johns\-MacBook\-Pro\&.local\[u201D]\&. The value of this option defaults to the value of the networking\&.hostName option\&. -.sp -By default on macOS the local hostname is your computer\[u2019]s name with \[u201C]\&.local\[u201D] appended, with any spaces replaced with hyphens, and invalid characters omitted\&. -.sp -\fIType:\fR null or string matching the pattern \(ha(([a\-zA\-Z0\-9]|[a\-zA\-Z0\-9][a\-zA\-Z0\-9\e\-]*[a\-zA\-Z0\-9])\e\&.)*([A\-Za\-z0\-9]|[A\-Za\-z0\-9][A\-Za\-z0\-9\e\-]*[A\-Za\-z0\-9])$ -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqJohns\-MacBook\-Pro\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.search\fR -.RS 4 -The list of search paths used when resolving domain names\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.wakeOnLan\&.enable\fR -.RS 4 -Enable Wake\-on\-LAN for the device\&. -.sp -Battery powered devices may require being connected to power\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/networking>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\fR -.RS 4 -Set of wg\-quick interfaces\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.address\fR -.RS 4 -List of IP addresses for this interface\&. -.sp -\fIType:\fR null or (list of string) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.autostart\fR -.RS 4 -Whether to bring up this interface automatically during boot\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.dns\fR -.RS 4 -List of DNS servers for this interface\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.listenPort\fR -.RS 4 -Port to listen on, randomly selected if not specified\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.mtu\fR -.RS 4 -MTU to set for this interface, automatically set if not specified -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\fR -.RS 4 -List of peers associated with this interface\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\&.*\&.allowedIPs\fR -.RS 4 -List of IP addresses associated with this peer\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\&.*\&.endpoint\fR -.RS 4 -IP and port to connect to this peer at\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\&.*\&.persistentKeepalive\fR -.RS 4 -Interval in seconds to send keepalive packets -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\&.*\&.presharedKeyFile\fR -.RS 4 -Optional, path to file containing the pre\-shared key for this peer\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.peers\&.*\&.publicKey\fR -.RS 4 -The public key for this peer\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.postDown\fR -.RS 4 -List of commands to run after interface shutdown -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or (list of string) convertible to it -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.postUp\fR -.RS 4 -List of commands to run after interface setup\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or (list of string) convertible to it -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.preDown\fR -.RS 4 -List of commadns to run before interface shutdown\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or (list of string) convertible to it -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.preUp\fR -.RS 4 -List of commands to run before interface setup\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] or (list of string) convertible to it -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.privateKeyFile\fR -.RS 4 -Path to file containing this interface\[u2019]s private key\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.interfaces\&.<name>\&.table\fR -.RS 4 -Controls the routing table to which routes are added\&. There are two special values: \fR\(oqoff\(cq\fP disables the creation of routes altogether, and \fR\(oqauto\(cq\fP (the default) adds routes to the default table and enables special handling of default routes\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnetworking\&.wg\-quick\&.logDir\fR -.RS 4 -Directory to save wg\-quick logs to\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq/var/log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/wg\-quick\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.enable\fR -.RS 4 -Whether to enable Nix\&. -.sp -Disabling this will stop nix\-darwin from managing the installed version of Nix, the nix\-daemon launchd daemon, and the settings in \fI/etc/nix/nix\&.conf\fP\&. -.sp -This allows you to use nix\-darwin without it taking over your system installation of Nix\&. Some nix\-darwin functionality that relies on managing the Nix installation, like the \fR\(oqnix\&.*\(cq\fP options to adjust Nix settings or configure a Linux builder, will be unavailable\&. You will also have to upgrade Nix yourself, as nix\-darwin will no longer do so\&. -.sp -.RS 4 -\fBWarning\fP -.br -If you have already removed your global system installation of Nix, this will break nix\-darwin and you will have to reinstall Nix to fix it\&. -.RE -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.package\fR -.RS 4 -This option specifies the Nix package instance to use throughout the system\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\fR -.RS 4 -This option lists the machines to be used if distributed builds are enabled (see \fBnix\&.distributedBuilds\fP)\&. Nix will perform derivations on those machines via SSH by copying the inputs to the Nix store on the remote machine, starting the build, then copying the output back to the local Nix store\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.hostName\fR -.RS 4 -The hostname of the build machine\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqnixbuilder\&.example\&.org\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.mandatoryFeatures\fR -.RS 4 -A list of features mandatory for this builder\&. The builder will be ignored for derivations that don\[u2019]t require all features in this list\&. All mandatory features are automatically included in \fIsupportedFeatures\fP\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqbig\-parallel\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.maxJobs\fR -.RS 4 -The number of concurrent jobs the build machine supports\&. The build machine will enforce its own limits, but this allows hydra to schedule better since there is no work\-stealing between build machines\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.protocol\fR -.RS 4 -The protocol used for communicating with the build machine\&. Use \fR\(oqssh\-ng\(cq\fP if your remote builder and your local Nix version support that improved protocol\&. -.sp -Use \fR\(oqnull\(cq\fP when trying to change the special localhost builder without a protocol which is for example used by hydra\&. -.sp -\fIType:\fR one of <null>, \[u201C]ssh\[u201D], \[u201C]ssh\-ng\[u201D] -.sp -\fIDefault:\fR \(dqssh\(dq -.sp -\fIExample:\fR \(dqssh\-ng\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.publicHostKey\fR -.RS 4 -The (base64\-encoded) public host key of this builder\&. The field is calculated via \fBbase64 \-w0 /etc/ssh/ssh_host_type_key\&.pub\fP\&. If null, SSH will use its regular known\-hosts file when connecting\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.speedFactor\fR -.RS 4 -The relative speed of this builder\&. This is an arbitrary integer that indicates the speed of this builder, relative to other builders\&. Higher is faster\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.sshKey\fR -.RS 4 -The path to the SSH private key with which to authenticate on the build machine\&. The private key must not have a passphrase\&. If null, the building user (root on NixOS machines) must have an appropriate ssh configuration to log in non\-interactively\&. -.sp -Note that for security reasons, this path must point to a file in the local filesystem, \fInot\fR to the nix store\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/root/\&.ssh/id_buildhost_builduser\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.sshUser\fR -.RS 4 -The username to log in as on the remote host\&. This user must be able to log in and run nix commands non\-interactively\&. It must also be privileged to build derivations, so must be included in \fBnix\&.settings\&.trusted\-users\fP\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqbuilder\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.supportedFeatures\fR -.RS 4 -A list of features supported by this builder\&. The builder will be ignored for derivations that require features not in this list\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqkvm\(dq - \(dqbig\-parallel\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.system\fR -.RS 4 -The system type the build machine can execute derivations on\&. Either this attribute or \fIsystems\fP must be present, where \fIsystem\fP takes precedence if both are set\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqx86_64\-linux\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.buildMachines\&.*\&.systems\fR -.RS 4 -The system types the build machine can execute derivations on\&. Either this attribute or \fIsystem\fP must be present, where \fIsystem\fP takes precedence if both are set\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqx86_64\-linux\(dq - \(dqaarch64\-linux\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.channel\&.enable\fR -.RS 4 -Whether the \fR\(oqnix\-channel\(cq\fP command and state files are made available on the machine\&. -.sp -The following files are initialized when enabled: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq/nix/var/nix/profiles/per\-user/root/channels\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq$HOME/\&.nix\-defexpr/channels\(cq\fP (on login) -.RE -.sp -Disabling this option will not remove the state files from the system\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.checkConfig\fR -.RS 4 -If enabled (the default), checks for data type mismatches and that Nix can parse the generated nix\&.conf\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.daemonIOLowPriority\fR -.RS 4 -Whether the Nix daemon process should considered to be low priority when doing file system I/O\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.daemonProcessType\fR -.RS 4 -Nix daemon process resource limits class\&. These limits propagate to build processes\&. \fR\(oqStandard\(cq\fP is the default process type and will apply light resource limits, throttling its CPU usage and I/O bandwidth\&. -.sp -See \fBman launchd\&.plist\fP for explanation of other process types\&. -.sp -\fIType:\fR one of \[u201C]Background\[u201D], \[u201C]Standard\[u201D], \[u201C]Adaptive\[u201D], \[u201C]Interactive\[u201D] -.sp -\fIDefault:\fR \(dqStandard\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.distributedBuilds\fR -.RS 4 -Whether to distribute builds to the machines listed in \fBnix\&.buildMachines\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.extraOptions\fR -.RS 4 -Additional text appended to \fInix\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - keep\-outputs = true - keep\-derivations = true -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.automatic\fR -.RS 4 -Automatically run the garbage collector at a specific time\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-gc>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.interval\fR -.RS 4 -The calendar interval at which the garbage collector will run\&. See the \fBserviceConfig\&.StartCalendarInterval\fP option of the \fBlaunchd\fP module for more info\&. -.sp -\fIType:\fR (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 3; - Minute = 15; - Weekday = 7; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-gc>\fP -.RE -.RE -.PP -\fBnix\&.gc\&.options\fR -.RS 4 -Options given to \fInix\-collect\-garbage\fP when the garbage collector is run automatically\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq\-\-max\-freed $((64 * 1024**3))\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-gc>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.enable\fR -.RS 4 -Whether to enable Linux builder\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.package\fR -.RS 4 -This option specifies the Linux builder to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.darwin\&.linux\-builder\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.config\fR -.RS 4 -This option specifies extra NixOS configuration for the builder\&. You should first use the Linux builder without changing the builder configuration otherwise you may not be able to build the Linux builder\&. -.sp -\fIType:\fR module -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -({ pkgs, \&.\&.\&. }: - -{ - environment\&.systemPackages = [ pkgs\&.neovim ]; -}) -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.ephemeral\fR -.RS 4 -Whether to enable wipe the builder\[u2019]s filesystem on every restart\&. -.sp -This is disabled by default as maintaining the builder\[u2019]s Nix Store reduces rebuilds\&. You can enable this if you don\[u2019]t want your builder to accumulate state\&. \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.mandatoryFeatures\fR -.RS 4 -A list of features mandatory for the Linux builder\&. The builder will be ignored for derivations that don\[u2019]t require all features in this list\&. All mandatory features are automatically included in \fIsupportedFeatures\fP\&. -.sp -This sets the corresponding \fR\(oqnix\&.buildMachines\&.*\&.mandatoryFeatures\(cq\fP option\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [] -.sp -\fIExample:\fR [ \(dqbig\-parallel\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.maxJobs\fR -.RS 4 -Instead of setting this directly, you should set \fBnix\&.linux\-builder\&.config\&.virtualisation\&.cores\fP to configure the amount of cores the Linux builder should have\&. -.sp -The number of concurrent jobs the Linux builder machine supports\&. The build machine will enforce its own limits, but this allows hydra to schedule better since there is no work\-stealing between build machines\&. -.sp -This sets the corresponding \fR\(oqnix\&.buildMachines\&.*\&.maxJobs\(cq\fP option\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - The \(gavirtualisation\&.cores\(ga of the build machine\(aqs final NixOS configuration\&. -\(aq\(aq -.fi -.RE -.sp -\fIExample:\fR 2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.protocol\fR -.RS 4 -The protocol used for communicating with the build machine\&. Use \fR\(oqssh\-ng\(cq\fP if your remote builder and your local Nix version support that improved protocol\&. -.sp -Use \fR\(oqnull\(cq\fP when trying to change the special localhost builder without a protocol which is for example used by hydra\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqssh\-ng\(dq -.sp -\fIExample:\fR \(dqssh\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.speedFactor\fR -.RS 4 -The relative speed of the Linux builder\&. This is an arbitrary integer that indicates the speed of this builder, relative to other builders\&. Higher is faster\&. -.sp -This sets the corresponding \fR\(oqnix\&.buildMachines\&.*\&.speedFactor\(cq\fP option\&. -.sp -\fIType:\fR positive integer, meaning >0 -.sp -\fIDefault:\fR 1 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.supportedFeatures\fR -.RS 4 -A list of features supported by the Linux builder\&. The builder will be ignored for derivations that require features not in this list\&. -.sp -This sets the corresponding \fR\(oqnix\&.buildMachines\&.*\&.supportedFeatures\(cq\fP option\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ \(dqkvm\(dq \(dqbenchmark\(dq \(dqbig\-parallel\(dq ] -.sp -\fIExample:\fR [ \(dqkvm\(dq \(dqbig\-parallel\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.systems\fR -.RS 4 -This option specifies system types the build machine can execute derivations on\&. -.sp -This sets the corresponding \fR\(oqnix\&.buildMachines\&.*\&.systems\(cq\fP option\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -\(aq\(aq - The \(ganixpkgs\&.hostPlatform\&.system\(ga of the build machine\(aqs final NixOS configuration\&. -\(aq\(aq -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqx86_64\-linux\(dq - \(dqaarch64\-linux\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.linux\-builder\&.workingDirectory\fR -.RS 4 -The working directory of the Linux builder daemon process\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq/var/lib/linux\-builder\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/linux\-builder\&.nix>\fP -.RE -.RE -.PP -\fBnix\&.nixPath\fR -.RS 4 -The default Nix expression search path, used by the Nix evaluator to look up paths enclosed in angle brackets (e\&.g\&. \fR\(oq<nixpkgs>\(cq\fP)\&. -.sp -Named entries can be specified using an attribute set, if an entry is configured multiple times the value with the lowest ordering will be used\&. -.sp -\fIType:\fR nix path -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -lib\&.optionals cfg\&.channel\&.enable [ - # Include default path <darwin\-config>\&. - { darwin\-config = \(dq${config\&.environment\&.darwinConfig}\(dq; } - \(dq/nix/var/nix/profiles/per\-user/root/channels\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.nrBuildUsers\fR -.RS 4 -Number of \fR\(oqnixbld\(cq\fP user accounts created to perform secure concurrent builds\&. If you receive an error message saying that \[u201C]all build users are currently in use\[u201D], you should increase this value\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.optimise\&.automatic\fR -.RS 4 -Automatically run the nix store optimiser at a specific time\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-optimise>\fP -.RE -.RE -.PP -\fBnix\&.optimise\&.interval\fR -.RS 4 -The calendar interval at which the optimiser will run\&. See the \fBserviceConfig\&.StartCalendarInterval\fP option of the \fBlaunchd\fP module for more info\&. -.sp -\fIType:\fR (submodule) or unique (non\-empty (list of (submodule))) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - { - Hour = 4; - Minute = 15; - Weekday = 7; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-optimise>\fP -.RE -.RE -.PP -\fBnix\&.registry\fR -.RS 4 -A system\-wide flake registry\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.exact\fR -.RS 4 -Whether the \fBfrom\fP reference needs to match exactly\&. If set, a \fBfrom\fP reference like \fR\(oqnixpkgs\(cq\fP does not match with a reference like \fR\(oqnixpkgs/nixos\-20\&.03\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.flake\fR -.RS 4 -The flake input \fBfrom\fP is rewritten to\&. -.sp -\fIType:\fR null or (attribute set) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR nixpkgs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.from\fR -.RS 4 -The flake reference to be rewritten\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or package) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - id = \(dqnixpkgs\(dq; - type = \(dqindirect\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.registry\&.<name>\&.to\fR -.RS 4 -The flake reference \fBfrom\fP is rewritten to\&. -.sp -\fIType:\fR attribute set of (string or signed integer or boolean or package) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - owner = \(dqmy\-org\(dq; - repo = \(dqmy\-nixpkgs\(dq; - type = \(dqgithub\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\fR -.RS 4 -Configuration for Nix, see \fBhttps://nixos\&.org/manual/nix/stable/#sec\-conf\-file\fR[1]\fR for avalaible options\&. The value declared here will be translated directly to the key\-value pairs Nix expects\&. -.sp -Nix configurations defined under \fBnix\&.*\fP will be translated and applied to this option\&. In addition, configuration specified in \fBnix\&.extraOptions\fP which will be appended verbatim to the resulting config file\&. -.sp -\fIType:\fR attribute set of (Nix config atom (null, bool, int, float, str, path or package) or list of (Nix config atom (null, bool, int, float, str, path or package))) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://nixos\&.org/manual/nix/stable/#sec\-conf\-file -.RE -.RE -.PP -\fBnix\&.settings\&.allowed\-users\fR -.RS 4 -A list of names of users (separated by whitespace) that are allowed to connect to the Nix daemon\&. As with \fBnix\&.settings\&.trusted\-users\fP, you can specify groups by prefixing them with \fR\(oq@\(cq\fP\&. Also, you can allow all users by specifying \fR\(oq*\(cq\fP\&. The default is \fR\(oq*\(cq\fP\&. Note that trusted users are always allowed to connect\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq*\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq@admin\(dq - \(dq@builders\(dq - \(dqalice\(dq - \(dqbob\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.auto\-optimise\-store\fR -.RS 4 -If set to true, Nix automatically detects files in the store that have identical contents, and replaces them with hard links to a single copy\&. This saves disk space\&. If set to false (the default), you can enable \fBnix\&.optimise\&.automatic\fP to run \fBnix\-store \-\-optimise\fP periodically to get rid of duplicate files\&. You can also run \fBnix\-store \-\-optimise\fP manually\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.cores\fR -.RS 4 -This option defines the maximum number of concurrent tasks during one build\&. It affects, e\&.g\&., \-j option for make\&. The special value 0 means that the builder should use all available CPU cores in the system\&. Some builds may become non\-deterministic with this option; use with care! Packages will only be affected if enableParallelBuilding is set for them\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR 64 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.extra\-sandbox\-paths\fR -.RS 4 -Directories from the host filesystem to be included in the sandbox\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/dev\(dq - \(dq/proc\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.max\-jobs\fR -.RS 4 -This option defines the maximum number of jobs that Nix will try to build in parallel\&. The default is auto, which means it will use all available logical cores\&. It is recommend to set it to the total number of logical cores in your system (e\&.g\&., 16 for two CPUs with 4 cores each and hyper\-threading)\&. -.sp -\fIType:\fR signed integer or value \[u201C]auto\[u201D] (singular enum) -.sp -\fIDefault:\fR \(dqauto\(dq -.sp -\fIExample:\fR 64 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.require\-sigs\fR -.RS 4 -If enabled (the default), Nix will only download binaries from binary caches if they are cryptographically signed with any of the keys listed in \fBnix\&.settings\&.trusted\-public\-keys\fP\&. If disabled, signatures are neither required nor checked, so it\[u2019]s strongly recommended that you use only trustworthy caches and https to prevent man\-in\-the\-middle attacks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.sandbox\fR -.RS 4 -If set, Nix will perform builds in a sandboxed environment that it will set up automatically for each build\&. This prevents impurities in builds by disallowing access to dependencies outside of the Nix store by using network and mount namespaces in a chroot environment\&. It doesn\[u2019]t affect derivation hashes, so changing this option will not trigger a rebuild of packages\&. -.sp -\fIType:\fR boolean or value \[u201C]relaxed\[u201D] (singular enum) -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.substituters\fR -.RS 4 -List of binary cache URLs used to obtain pre\-built binaries of Nix packages\&. -.sp -By default https://cache\&.nixos\&.org/ is added\&. -.sp -\fIType:\fR list of string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.trusted\-public\-keys\fR -.RS 4 -List of public keys used to sign binary caches\&. If \fBnix\&.settings\&.trusted\-public\-keys\fP is enabled, then Nix will use a binary from a binary cache if and only if it is signed by \fIany\fR of the keys listed here\&. By default, only the key for \fR\(oqcache\&.nixos\&.org\(cq\fP is included\&. -.sp -\fIType:\fR list of string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqhydra\&.nixos\&.org\-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.trusted\-substituters\fR -.RS 4 -List of binary cache URLs that non\-root users can use (in addition to those specified using \fBnix\&.settings\&.substituters\fP) by passing \fR\(oq\-\-option binary\-caches\(cq\fP to Nix commands\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqhttps://hydra\&.nixos\&.org/\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnix\&.settings\&.trusted\-users\fR -.RS 4 -A list of names of users that have additional rights when connecting to the Nix daemon, such as the ability to specify additional binary caches, or to import unsigned NARs\&. You can also specify groups by prefixing them with \fR\(oq@\(cq\fP; for instance, \fR\(oq@admin\(cq\fP means all users in the wheel group\&. -.sp -\fIType:\fR list of string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqroot\(dq - \(dqalice\(dq - \(dq@admin\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.buildPlatform\fR -.RS 4 -Specifies the platform on which nix\-darwin should be built\&. By default, nix\-darwin is built on the system where it runs, but you can change where it\[u2019]s built\&. Setting this option will cause nix\-darwin to be cross\-compiled\&. -.sp -For instance, if you\[u2019]re doing distributed multi\-platform deployment, or if you\[u2019]re building machines, you can set this to match your development system and/or build farm\&. -.sp -Ignored when \fR\(oqnixpkgs\&.pkgs\(cq\fP is set\&. -.sp -\fIType:\fR string or (attribute set) -.sp -\fIDefault:\fR config\&.nixpkgs\&.hostPlatform -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - system = \(dqx86_64\-darwin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.config\fR -.RS 4 -Global configuration for Nixpkgs\&. The complete list of \fBNixpkgs configuration options\fR[1]\fR is in the \fBNixpkgs manual section on global configuration\fR[2]\fR\&. -.sp -Ignored when \fBnixpkgs\&.pkgs\fP is set\&. -.sp -\fIType:\fR nixpkgs config -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ allowBroken = true; allowUnfree = true; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://nixos\&.org/manual/nixpkgs/unstable/#sec\-config\-options\-reference -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://nixos\&.org/manual/nixpkgs/unstable/#chap\-packageconfig -.RE -.RE -.PP -\fBnixpkgs\&.flake\&.setFlakeRegistry\fR -.RS 4 -Whether to pin nixpkgs in the system\-wide flake registry (\fR\(oq/etc/nix/registry\&.json\(cq\fP) to the store path of the sources of nixpkgs used to build the nix\-darwin system\&. -.sp -This is on by default for nix\-darwin configurations built with flakes\&. -.sp -This option makes \fBnix run nixpkgs#hello\fP reuse dependencies from the system, avoid refetching nixpkgs, and have a consistent result every time\&. -.sp -Note that this option makes the nix\-darwin closure depend on the nixpkgs sources, which may add undesired closure size if the system will not have any nix commands run on it\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR config\&.nix\&.enable && config\&.nixpkgs\&.flake\&.source != null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\-flake\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.flake\&.setNixPath\fR -.RS 4 -Whether to set \fBNIX_PATH\fP to include \fR\(oqnixpkgs=flake:nixpkgs\(cq\fP such that \fR\(oq<nixpkgs>\(cq\fP lookups receive the version of nixpkgs that the system was built with, in concert with \fBnixpkgs\&.flake\&.setFlakeRegistry\fP\&. -.sp -This is on by default for nix\-darwin configurations built with flakes\&. -.sp -This makes \fBnix\-build \(aq<nixpkgs>\(aq \-A hello\fP work out of the box on flake systems\&. -.sp -Note that this option makes the nix\-darwin closure depend on the nixpkgs sources, which may add undesired closure size if the system will not have any nix commands run on it\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR config\&.nix\&.enable && nixpkgs\&.flake\&.source != null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\-flake\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.flake\&.source\fR -.RS 4 -The path to the nixpkgs sources used to build the system\&. This is automatically set up to be the store path of the nixpkgs flake used to build the system if using \fR\(oqnixpkgs\&.lib\&.darwinSystem\(cq\fP, and is otherwise null by default\&. -.sp -This can also be optionally set if the nix\-darwin system is not built with a flake but still uses pinned sources: set this to the store path for the nixpkgs sources used to build the system, as may be obtained by \fR\(oqbuiltins\&.fetchTarball\(cq\fP, for example\&. -.sp -Note: the name of the store path must be \[u201C]source\[u201D] due to \fBhttps://github\&.com/NixOS/nix/issues/7075\fR[1]\fR\&. -.sp -\fIType:\fR null or string or absolute path -.sp -\fIDefault:\fR \(dqif (using nix\-darwin\&.lib\&.darwinSystem) then nixpkgs\&.source else null\(dq -.sp -\fIExample:\fR \(dqbuiltins\&.fetchTarball { name = \e\(dqsource\e\(dq; sha256 = \e\(dqsha256\-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\e\(dq; url = \e\(dqhttps://github\&.com/nixos/nixpkgs/archive/somecommit\&.tar\&.gz\e\(dq; }\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\-flake\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/NixOS/nix/issues/7075 -.RE -.RE -.PP -\fBnixpkgs\&.hostPlatform\fR -.RS 4 -Specifies the platform where the nix\-darwin configuration will run\&. -.sp -To cross\-compile, set also \fR\(oqnixpkgs\&.buildPlatform\(cq\fP\&. -.sp -Ignored when \fR\(oqnixpkgs\&.pkgs\(cq\fP is set\&. -.sp -\fIType:\fR string or (attribute set) -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - system = \(dqaarch64\-darwin\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.RE -.PP -\fBnixpkgs\&.overlays\fR -.RS 4 -List of overlays to apply to Nixpkgs\&. This option allows modifying the Nixpkgs package set accessed through the \fR\(oqpkgs\(cq\fP module argument\&. -.sp -For details, see the \fBOverlays chapter in the Nixpkgs manual\fR[1]\fR\&. -.sp -If the \fBnixpkgs\&.pkgs\fP option is set, overlays specified using \fR\(oqnixpkgs\&.overlays\(cq\fP will be applied after the overlays that were already included in \fR\(oqnixpkgs\&.pkgs\(cq\fP\&. -.sp -\fIType:\fR list of (nixpkgs overlay) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - (self: super: { - openssh = super\&.openssh\&.override { - hpnSupport = true; - kerberos = self\&.libkrb5; - }; - }) -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://nixos\&.org/manual/nixpkgs/stable/#chap\-overlays -.RE -.RE -.PP -\fBnixpkgs\&.pkgs\fR -.RS 4 -If set, the pkgs argument to all nix\-darwin modules is the value of this option, extended with \fR\(oqnixpkgs\&.overlays\(cq\fP, if that is also set\&. The nix\-darwin and Nixpkgs architectures must match\&. Any other options in \fR\(oqnixpkgs\&.*\(cq\fP, notably \fR\(oqconfig\(cq\fP, will be ignored\&. -.sp -The default value imports the Nixpkgs from \fBnixpkgs.source\fR[1]\fR\&. The \fR\(oqconfig\(cq\fP, \fR\(oqoverlays\(cq\fP, \fR\(oqlocalSystem\(cq\fP, and \fR\(oqcrossSystem\(cq\fP are based on this option\[u2019]s siblings\&. -.sp -This option can be used to increase the performance of evaluation, or to create packages that depend on a container that should be built with the exact same evaluation of Nixpkgs, for example\&. Applications like this should set their default value using \fR\(oqlib\&.mkDefault\(cq\fP, so user\-provided configuration can override it without using \fR\(oqlib\(cq\fP\&. -.sp -\fIType:\fR An evaluation of Nixpkgs; the top level attribute set of packages -.sp -\fIExample:\fR import <nixpkgs> {} -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBnixpkgs\&.source\fP option -.RE -.RE -.PP -\fBnixpkgs\&.source\fR -.RS 4 -The path to import Nixpkgs from\&. If you\[u2019]re setting a custom \fBnixpkgs.pkgs\fR[1]\fR or \fR\(oq_module\&.args\&.pkgs\(cq\fP, setting this to something with \fR\(oqrev\(cq\fP and \fR\(oqshortRev\(cq\fP attributes (such as a flake input or \fR\(oqbuiltins\&.fetchGit\(cq\fP result) will also set \fR\(oqsystem\&.nixpkgsRevision\(cq\fP and related options\&. (nix\-darwin only) -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR <nixpkgs> or nix\-darwin\[u2019]s nixpkgs flake input -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -see the \fBnixpkgs\&.pkgs\fP option -.RE -.RE -.PP -\fBnixpkgs\&.system\fR -.RS 4 -Specifies the Nix platform type on which nix\-darwin should be built\&. It is better to specify \fR\(oqnixpkgs\&.hostPlatform\(cq\fP instead\&. -.sp -Ignored when \fR\(oqnixpkgs\&.pkgs\(cq\fP or \fR\(oqnixpkgs\&.hostPlatform\(cq\fP is set\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR Traditionally builtins\&.currentSystem, but unset when invoking nix\-darwin through lib\&.darwinSystem\&. -.sp -\fIExample:\fR \(dqx86_64\-darwin\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nixpkgs\&.nix>\fP -.RE -.RE -.PP -\fBpower\&.restartAfterFreeze\fR -.RS 4 -Whether to restart the computer after a system freeze\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power>\fP -.RE -.RE -.PP -\fBpower\&.restartAfterPowerFailure\fR -.RS 4 -Whether to restart the computer after a power failure\&. -.sp -Option is not supported on all devices\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power>\fP -.RE -.RE -.PP -\fBpower\&.sleep\&.allowSleepByPowerButton\fR -.RS 4 -Whether the power button can sleep the computer\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power/sleep\&.nix>\fP -.RE -.RE -.PP -\fBpower\&.sleep\&.computer\fR -.RS 4 -Amount of idle time (in minutes) until the computer sleeps\&. -.sp -\fR\(oq\(dqnever\(dq\(cq\fP disables computer sleeping\&. -.sp -The system might not be considered idle before connected displays sleep, as per the \fR\(oqpower\&.sleep\&.display\(cq\fP option\&. -.sp -\fIType:\fR null or positive integer, meaning >0, or value \[u201C]never\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqnever\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power/sleep\&.nix>\fP -.RE -.RE -.PP -\fBpower\&.sleep\&.display\fR -.RS 4 -Amount of idle time (in minutes) until displays sleep\&. -.sp -\fR\(oq\(dqnever\(dq\(cq\fP disables display sleeping\&. -.sp -\fIType:\fR null or positive integer, meaning >0, or value \[u201C]never\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqnever\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power/sleep\&.nix>\fP -.RE -.RE -.PP -\fBpower\&.sleep\&.harddisk\fR -.RS 4 -Amount of idle time (in minutes) until hard disks sleep\&. -.sp -\fR\(oq\(dqnever\(dq\(cq\fP disables hard disk sleeping\&. -.sp -\fIType:\fR null or positive integer, meaning >0, or value \[u201C]never\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqnever\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/power/sleep\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&._1password\&.enable\fR -.RS 4 -Whether to enable the 1Password CLI tool\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/_1password\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&._1password\&.package\fR -.RS 4 -The 1Password CLI package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&._1password\-cli -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/_1password\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&._1password\-gui\&.enable\fR -.RS 4 -Whether to enable the 1Password GUI application\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/_1password\-gui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&._1password\-gui\&.package\fR -.RS 4 -The 1Password GUI package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&._1password\-gui -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/_1password\-gui\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.arqbackup\&.enable\fR -.RS 4 -Whether to enable Arq backup\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/arqbackup\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.arqbackup\&.package\fR -.RS 4 -The arq package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.arq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/arqbackup\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.enable\fR -.RS 4 -Whether to configure bash as an interactive shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/bash>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.completion\&.enable\fR -.RS 4 -Enable bash completion for all interactive bash shells\&. -.sp -NOTE: This doesn\[u2019]t work with bash 3\&.2, which is installed by default on macOS by Apple\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/bash>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.completion\&.package\fR -.RS 4 -The bash\-completion package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.bash\-completion -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/bash>\fP -.RE -.RE -.PP -\fBprograms\&.bash\&.interactiveShellInit\fR -.RS 4 -Shell script code called during interactive bash shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/bash>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.enable\fR -.RS 4 -Whether to enable direnv integration\&. Takes care of both installation and setting up the sourcing of the shell\&. Additionally enables nix\-direnv integration\&. \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.package\fR -.RS 4 -The direnv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.direnv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.direnvrcExtra\fR -.RS 4 -Extra lines to append to the sourced direnvrc -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - export FOO=\(dqfoo\(dq - echo \(dqloaded direnv!\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.finalPackage\fR -.RS 4 -The wrapped direnv package\&. -.sp -\fIType:\fR package \fI(read only)\fR -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.loadInNixShell\fR -.RS 4 -Whether to enable loading direnv in \fR\(oqnix\-shell\(cq\fP \fR\(oqnix shell\(cq\fP or \fR\(oqnix develop\(cq\fP \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.nix\-direnv\&.enable\fR -.RS 4 -Whether to enable a faster, persistent implementation of use_nix and use_flake, to replace the built\-in one \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.nix\-direnv\&.package\fR -.RS 4 -The nix\-direnv package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.nix\-direnv -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.settings\fR -.RS 4 -Direnv configuration\&. Refer to \fBdirenv\&.toml\fP\fR(1)\fP\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - global = { - log_format = \(dq\-\(dq; - log_filter = \(dq\(ha$\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.direnv\&.silent\fR -.RS 4 -Whether to enable the hiding of direnv logging \&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/direnv\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.enable\fR -.RS 4 -Whether to configure fish as an interactive shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.package\fR -.RS 4 -The fish package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.fish -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.babelfishPackage\fR -.RS 4 -The babelfish package to use when useBabelfish is set to true\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation babelfish\-1\&.2\&.1> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.interactiveShellInit\fR -.RS 4 -Shell script code called during interactive fish shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.loginShellInit\fR -.RS 4 -Shell script code called during fish login shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.promptInit\fR -.RS 4 -Shell script code used to initialise fish prompt\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellAliases\fR -.RS 4 -Set of aliases for fish shell\&. See \fBenvironment\&.shellAliases\fP for an option format description\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.shellInit\fR -.RS 4 -Shell script code called during fish shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.useBabelfish\fR -.RS 4 -If enabled, the configured environment will be translated to native fish using \fBbabelfish\fR[1]\fR\&. Otherwise, \fBforeign\-env\fR[2]\fR will be used\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/bouk/babelfish -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/oh\-my\-fish/plugin\-foreign\-env -.RE -.RE -.PP -\fBprograms\&.fish\&.vendor\&.completions\&.enable\fR -.RS 4 -Whether fish should use completion files provided by other packages\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.vendor\&.config\&.enable\fR -.RS 4 -Whether fish should source configuration snippets provided by other packages\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.fish\&.vendor\&.functions\&.enable\fR -.RS 4 -Whether fish should autoload fish functions provided by other packages\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/fish\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnupg\&.agent\&.enable\fR -.RS 4 -Enables GnuPG agent for every user session\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/gnupg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.gnupg\&.agent\&.enableSSHSupport\fR -.RS 4 -Enable SSH agent support in GnuPG agent\&. Also sets SSH_AUTH_SOCK environment variable correctly\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/gnupg\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.info\&.enable\fR -.RS 4 -Whether to enable info pages and the \fBinfo\fP command\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/info>\fP -.RE -.RE -.PP -\fBprograms\&.man\&.enable\fR -.RS 4 -Whether to enable manual pages and the \fBman\fP command\&. This also includes \[u201C]man\[u201D] outputs of all \fR\(oqsystemPackages\(cq\fP\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/man\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.enable\fR -.RS 4 -Whether to enable nix\-index and its command\-not\-found helper\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/nix\-index>\fP -.RE -.RE -.PP -\fBprograms\&.nix\-index\&.package\fR -.RS 4 -This option specifies the nix\-index package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.nix\-index\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/nix\-index>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.extraConfig\fR -.RS 4 -Extra configuration text loaded in \fIssh_config\fP\&. See \fBssh_config\fP\fR(5)\fP for help\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\fR -.RS 4 -The set of system\-wide known SSH hosts\&. To make simple setups more convenient the name of an attribute in this set is used as a host name for the entry\&. This behaviour can be disabled by setting \fR\(oqhostNames\(cq\fP explicitly\&. You can use \fR\(oqextraHostNames\(cq\fP to add additional host names without disabling this default\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - myhost = { - extraHostNames = [ \(dqmyhost\&.mydomain\&.com\(dq \(dq10\&.10\&.1\&.4\(dq ]; - publicKeyFile = \&./pubkeys/myhost_ssh_host_dsa_key\&.pub; - }; - \(dqmyhost2\&.net\(dq\&.publicKey = \(dqssh\-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILIRuJ8p1Fi+m6WkHV0KWnRfpM1WxoW8XAS+XvsSKsTK\(dq; - \(dqmyhost2\&.net/dsa\(dq = { - hostNames = [ \(dqmyhost2\&.net\(dq ]; - publicKeyFile = \&./pubkeys/myhost2_ssh_host_dsa_key\&.pub; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\&.<name>\&.certAuthority\fR -.RS 4 -This public key is an SSH certificate authority, rather than an individual host\[u2019]s key\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\&.<name>\&.extraHostNames\fR -.RS 4 -A list of additional host names and/or IP numbers used for accessing the host\[u2019]s ssh service\&. This list is ignored if \fR\(oqhostNames\(cq\fP is set explicitly\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\&.<name>\&.hostNames\fR -.RS 4 -The set of system\-wide known SSH hosts\&. To make simple setups more convenient the name of an attribute in this set is used as a host name for the entry\&. This behaviour can be disabled by setting \fR\(oqhostNames\(cq\fP explicitly\&. You can use \fR\(oqextraHostNames\(cq\fP to add additional host names without disabling this default\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dq\[u2039]name\[u203A]\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\&.<name>\&.publicKey\fR -.RS 4 -The public key data for the host\&. You can fetch a public key from a running SSH server with the \fBssh\-keyscan\fP command\&. The public key should not include any host names, only the key type and the key itself\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqecdsa\-sha2\-nistp521 AAAAE2VjZHN\&.\&.\&.UEPg==\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.ssh\&.knownHosts\&.<name>\&.publicKeyFile\fR -.RS 4 -The path to the public key file for the host\&. The public key file is read at build time and saved in the Nix store\&. You can fetch a public key file from a running SSH server with the \fBssh\-keyscan\fP command\&. The content of the file should follow the same format as described for the \fR\(oqpublicKey\(cq\fP option\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enable\fR -.RS 4 -Whether to configure tmux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enableFzf\fR -.RS 4 -Enable fzf keybindings for selecting tmux sessions and panes\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enableMouse\fR -.RS 4 -Enable mouse support for tmux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enableSensible\fR -.RS 4 -Enable sensible configuration options for tmux\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.enableVim\fR -.RS 4 -Enable vim style keybindings for copy mode, and navigation of tmux panes\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.extraConfig\fR -.RS 4 -Extra configuration to add to \fItmux\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.iTerm2\fR -.RS 4 -Cater to iTerm2 and its tmux integration, as appropriate\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxOptions\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxOptions\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxOptions\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.tmux\&.tmuxOptions\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/tmux\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.enable\fR -.RS 4 -Whether to configure vim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.enableSensible\fR -.RS 4 -Enable sensible configuration options for vim\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.extraKnownPlugins\fR -.RS 4 -Custom plugin declarations to add to VAM\[u2019]s knownPlugins\&. -.sp -\fIType:\fR attribute set of package -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - vim\-jsx = pkgs\&.vimUtils\&.buildVimPluginFrom2Nix { - name = \(dqvim\-javascript\-2016\-07\-29\(dq; - src = pkgs\&.fetchgit { - url = \(dqgit://github\&.com/mxw/vim\-jsx\(dq; - rev = \(dq261114c925ea81eeb4db1651cc1edced66d6b5d6\(dq; - sha256 = \(dq17pffzwnvsimnnr4ql1qifdh4a0sqqsmcwfiqqzgglvsnzw5vpls\(dq; - }; - dependencies = []; - - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.plugins\fR -.RS 4 -VAM plugin dictionaries to use for vim_configurable\&. -.sp -\fIType:\fR list of (attribute set) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - names = [ - \(dqsurround\(dq - \(dqvim\-nix\(dq - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.vimConfig\fR -.RS 4 -Extra vimrcConfig to use for vim_configurable\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.vimOptions\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.vimOptions\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.vimOptions\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.vim\&.vimOptions\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/vim\&.nix>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enable\fR -.RS 4 -Whether to configure zsh as an interactive shell\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableAutosuggestions\fR -.RS 4 -Enable zsh\-autosuggestions\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableBashCompletion\fR -.RS 4 -Enable bash completion for all interactive zsh shells\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableCompletion\fR -.RS 4 -Enable zsh completion for all interactive zsh shells\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableFastSyntaxHighlighting\fR -.RS 4 -Whether to enable zsh\-fast\-syntax\-highlighting\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableFzfCompletion\fR -.RS 4 -Enable fzf completion\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableFzfGit\fR -.RS 4 -Enable fzf keybindings for C\-g git browsing\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableFzfHistory\fR -.RS 4 -Enable fzf keybinding for Ctrl\-r history search\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableGlobalCompInit\fR -.RS 4 -Enable execution of compinit call for all interactive zsh shells\&. -.sp -This option can be disabled if the user wants to extend its \fR\(oqfpath\(cq\fP and a custom \fR\(oqcompinit\(cq\fP call in the local config is required\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR config\&.programs\&.zsh\&.enableCompletion -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.enableSyntaxHighlighting\fR -.RS 4 -Enable zsh\-syntax\-highlighting\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.interactiveShellInit\fR -.RS 4 -Shell script code called during interactive zsh shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.loginShellInit\fR -.RS 4 -Shell script code called during zsh login shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.promptInit\fR -.RS 4 -Shell script code used to initialise the zsh prompt\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dqautoload \-U promptinit && promptinit && prompt suse && setopt prompt_sp\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.shellInit\fR -.RS 4 -Shell script code called during zsh shell initialisation\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBprograms\&.zsh\&.variables\fR -.RS 4 -A set of environment variables used in the global environment\&. These variables will be set on shell initialisation\&. The value of each variable can be either a string or a list of strings\&. The latter is concatenated, interspersed with colon characters\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/zsh>\fP -.RE -.RE -.PP -\fBsecurity\&.pam\&.services\&.sudo_local\&.enable\fR -.RS 4 -Whether to enable managing \fI/etc/pam\&.d/sudo_local\fP with nix\-darwin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pam\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.pam\&.services\&.sudo_local\&.reattach\fR -.RS 4 -Whether to enable reattaching a program to the user\[u2019]s bootstrap session\&. -.sp -This fixes Touch ID for sudo not working inside tmux and screen\&. -.sp -This allows programs like tmux and screen that run in the background to survive across user sessions to work with PAM services that are tied to the bootstrap session\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pam\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.pam\&.services\&.sudo_local\&.text\fR -.RS 4 -Contents of \fI/etc/pam\&.d/sudo_local\fP -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pam\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.pam\&.services\&.sudo_local\&.touchIdAuth\fR -.RS 4 -Whether to enable Touch ID with sudo\&. -.sp -This will also allow your Apple Watch to be used for sudo\&. If this doesn\[u2019]t work, you can go into \fR\(oqSystem Settings > Touch ID & Password\(cq\fP and toggle the switch for your Apple Watch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pam\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.pam\&.services\&.sudo_local\&.watchIdAuth\fR -.RS 4 -Use Apple Watch for sudo authentication, for devices without Touch ID or laptops with lids closed, consider using this\&. -.sp -When enabled, you can use your Apple Watch to authenticate sudo commands\&. If this doesn\[u2019]t work, you can go into \fR\(oqSystem Settings > Touch ID & Password\(cq\fP and toggle the switch for your Apple Watch\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pam\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.pki\&.caCertificateBlacklist\fR -.RS 4 -A list of blacklisted CA certificate names that won\[u2019]t be imported from the Mozilla Trust Store into \fI/etc/ssl/certs/ca\-certificates\&.crt\fP\&. Use the names from that file\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqWoSign\(dq - \(dqWoSign China\(dq - \(dqCA WoSign ECC Root\(dq - \(dqCertification Authority of WoSign G2\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pki>\fP -.RE -.RE -.PP -\fBsecurity\&.pki\&.certificateFiles\fR -.RS 4 -A list of files containing trusted root certificates in PEM format\&. These are concatenated to form \fI/etc/ssl/certs/ca\-certificates\&.crt\fP, which is used by many programs that use OpenSSL, such as \fBcurl\fP and \fBgit\fP\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dq${pkgs\&.cacert}/etc/ssl/certs/ca\-bundle\&.crt\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pki>\fP -.RE -.RE -.PP -\fBsecurity\&.pki\&.certificates\fR -.RS 4 -A list of trusted root certificates in PEM format\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ \(aq\(aq - NixOS\&.org - ========= - \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- - MIIGUDCCBTigAwIBAgIDD8KWMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ - TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0 - \&.\&.\&. - \-\-\-\-\-END CERTIFICATE\-\-\-\-\- - \(aq\(aq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pki>\fP -.RE -.RE -.PP -\fBsecurity\&.pki\&.installCACerts\fR -.RS 4 -Whether to enable certificate management with nix\-darwin\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/pki>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\fR -.RS 4 -Definition of sandbox profiles\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.allowLocalNetworking\fR -.RS 4 -Whether to allow localhost network access inside the sandbox\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.allowNetworking\fR -.RS 4 -Whether to allow network access inside the sandbox\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.allowSystemPaths\fR -.RS 4 -Whether to allow read access to FHS paths like /etc and /var\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.closure\fR -.RS 4 -List of store paths to make accessible\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.readablePaths\fR -.RS 4 -List of paths that should be read\-only inside the sandbox\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sandbox\&.profiles\&.<name>\&.writablePaths\fR -.RS 4 -List of paths that should be read/write inside the sandbox\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sandbox>\fP -.RE -.RE -.PP -\fBsecurity\&.sudo\&.extraConfig\fR -.RS 4 -Extra configuration text appended to \fIsudoers\fP\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/security/sudo\&.nix>\fP -.RE -.RE -.PP -\fBsecurity\&.sudo\&.keepTerminfo\fR -.RS 4 -Whether to preserve the \fR\(oqTERMINFO\(cq\fP and \fR\(oqTERMINFO_DIRS\(cq\fP environment variables, for \fR\(oqroot\(cq\fP and the \fR\(oqadmin\(cq\fP group\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/config/terminfo\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.enable\fR -.RS 4 -Whether to enable AeroSpace window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.package\fR -.RS 4 -The aerospace package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.aerospace -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\fR -.RS 4 -AeroSpace configuration, see <link xlink:href=\[u201C]https://nikitabobko\&.github\&.io/AeroSpace/guide#configuring\-aerospace\[u201D]/> for supported values\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - gaps = { - outer\&.left = 8; - outer\&.bottom = 8; - outer\&.top = 8; - outer\&.right = 8; - }; - mode\&.main\&.binding = { - alt\-h = \(dqfocus left\(dq; - alt\-j = \(dqfocus down\(dq; - alt\-k = \(dqfocus up\(dq; - alt\-l = \(dqfocus right\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.enable\-normalization\-flatten\-containers\fR -.RS 4 -Containers that have only one child are \[u201C]flattened\[u201D]\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.enable\-normalization\-opposite\-orientation\-for\-nested\-containers\fR -.RS 4 -Containers that nest into each other must have opposite orientations\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.accordion\-padding\fR -.RS 4 -Padding between windows in an accordion container\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 30 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.after\-login\-command\fR -.RS 4 -Do not use AeroSpace to run commands after login\&. (Managed by launchd instead) -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.after\-startup\-command\fR -.RS 4 -Add commands that run after AeroSpace startup -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqlayout tiles\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.default\-root\-container\-layout\fR -.RS 4 -Default layout for the root container\&. -.sp -\fIType:\fR one of \[u201C]tiles\[u201D], \[u201C]accordion\[u201D] -.sp -\fIDefault:\fR \(dqtiles\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.default\-root\-container\-orientation\fR -.RS 4 -Default orientation for the root container\&. -.sp -\fIType:\fR one of \[u201C]horizontal\[u201D], \[u201C]vertical\[u201D], \[u201C]auto\[u201D] -.sp -\fIDefault:\fR \(dqauto\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.exec\-on\-workspace\-change\fR -.RS 4 -Commands to run every time workspace changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/bin/bash\(dq - \(dq\-c\(dq - \(dqsketchybar \-\-trigger aerospace_workspace_change FOCUSED=$AEROSPACE_FOCUSED_WORKSPACE\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.key\-mapping\&.preset\fR -.RS 4 -Keymapping preset\&. -.sp -\fIType:\fR one of \[u201C]qwerty\[u201D], \[u201C]dvorak\[u201D] -.sp -\fIDefault:\fR \(dqqwerty\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-focus\-changed\fR -.RS 4 -Commands to run every time focused window or workspace changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-focused\-monitor\-changed\fR -.RS 4 -Commands to run every time focused monitor changes\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqmove\-mouse monitor\-lazy\-center\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\fR -.RS 4 -Commands to run every time a new window is detected with optional conditions\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - check\-further\-callbacks = false; - if = { - app\-id = \(dqAnother\&.Cool\&.App\(dq; - app\-name\-regex\-substring = \(dqCoolApp\(dq; - during\-aerospace\-startup = false; - window\-title\-regex\-substring = \(dqTitle\(dq; - workspace = \(dqcool\-workspace\(dq; - }; - run = [ - \(dqmove\-node\-to\-workspace m\(dq - \(dqresize\-node\(dq - ]; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.check\-further\-callbacks\fR -.RS 4 -Whether to check further callbacks after this rule (optional)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\fR -.RS 4 -Conditions for detecting a window\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\&.app\-id\fR -.RS 4 -The application ID to match (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\&.app\-name\-regex\-substring\fR -.RS 4 -Regex substring to match the app name (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\&.during\-aerospace\-startup\fR -.RS 4 -Whether to match during aerospace startup (optional)\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\&.window\-title\-regex\-substring\fR -.RS 4 -Substring to match in the window title (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.if\&.workspace\fR -.RS 4 -The workspace name to match (optional)\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.on\-window\-detected\&.*\&.run\fR -.RS 4 -Commands to execute when the conditions match (required)\&. -.sp -\fIType:\fR string or list of string -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqmove\-node\-to\-workspace m\(dq - \(dqresize\-node\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.start\-at\-login\fR -.RS 4 -Do not start AeroSpace at login\&. (Managed by launchd instead) -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.aerospace\&.settings\&.workspace\-to\-monitor\-force\-assignment\fR -.RS 4 -Map workspaces to specific monitors\&. Left\-hand side is the workspace name, and right\-hand side is the monitor pattern\&. -.sp -\fIType:\fR attribute set of (signed integer or string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dq1\(dq = 1; - \(dq2\(dq = \(dqmain\(dq; - \(dq3\(dq = \(dqsecondary\(dq; - \(dq4\(dq = \(dqbuilt\-in\(dq; - \(dq5\(dq = \(dq\(habuilt\-in retina display$\(dq; - \(dq6\(dq = [ - \(dqsecondary\(dq - \(dqdell\(dq - ]; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/aerospace>\fP -.RE -.RE -.PP -\fBservices\&.autossh\&.sessions\fR -.RS 4 -List of AutoSSH sessions to start as launchd daemon\&. Each daemon is named \[u2018]autossh\-{session\&.name}\[u2019]\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - extraArguments = \(dq\-N \-D4343 billremote@socks\&.host\&.net\(dq; - monitoringPort = 20000; - name = \(dqsocks\-peer\(dq; - user = \(dqbill\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/autossh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autossh\&.sessions\&.*\&.extraArguments\fR -.RS 4 -Arguments to be passed to AutoSSH and retransmitted to SSH process\&. Some meaningful options include \-N (don\[u2019]t run remote command), \-D (open SOCKS proxy on local port), \-R (forward remote port), \-L (forward local port), \-v (Enable debug)\&. Check ssh manual for the complete list\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dq\-N \-D4343 bill@socks\&.example\&.net\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/autossh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autossh\&.sessions\&.*\&.monitoringPort\fR -.RS 4 -Port to be used by AutoSSH for peer monitoring\&. Note, that AutoSSH also uses mport+1\&. Value of 0 disables the keep\-alive style monitoring -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR 20000 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/autossh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autossh\&.sessions\&.*\&.name\fR -.RS 4 -Name of the local AutoSSH session -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqsocks\-peer\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/autossh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.autossh\&.sessions\&.*\&.user\fR -.RS 4 -Name of the user the AutoSSH session should run as -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqbill\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/autossh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\fR -.RS 4 -Attribute set of buildkite agents\&. The attribute key is combined with the hostname and a unique integer to create the final agent name\&. This can be overridden by setting the \fR\(oqname\(cq\fP attribute\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.enable\fR -.RS 4 -Whether to enable this buildkite agent -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.package\fR -.RS 4 -Which buildkite\-agent derivation to use -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.buildkite\-agent -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.dataDir\fR -.RS 4 -The workdir for the agent -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq/var/lib/buildkite\-agent\-\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.extraConfig\fR -.RS 4 -Extra lines to be added verbatim to the configuration file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqdebug=true\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.checkout\fR -.RS 4 -The \fR\(oqcheckout\(cq\fP hook script will replace the default checkout routine of the bootstrap\&.sh script\&. You can use this hook to do your own SCM checkout behaviour -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.command\fR -.RS 4 -The \fR\(oqcommand\(cq\fP hook script will replace the default implementation of running the build command\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.environment\fR -.RS 4 -The \fR\(oqenvironment\(cq\fP hook will run before all other commands, and can be used to set up secrets, data, etc\&. Anything exported in hooks will be available to the build script\&. -.sp -Note: the contents of this file will be copied to the world\-readable Nix store\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - export SECRET_VAR=\(gahead \-1 /run/keys/secret\(ga -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.post\-artifact\fR -.RS 4 -The \fR\(oqpost\-artifact\(cq\fP hook will run just after artifacts are uploaded -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.post\-checkout\fR -.RS 4 -The \fR\(oqpost\-checkout\(cq\fP hook will run after the bootstrap script has checked out your projects source code\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.post\-command\fR -.RS 4 -The \fR\(oqpost\-command\(cq\fP hook will run after the bootstrap script has run your build commands -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.pre\-artifact\fR -.RS 4 -The \fR\(oqpre\-artifact\(cq\fP hook will run just before artifacts are uploaded -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.pre\-checkout\fR -.RS 4 -The \fR\(oqpre\-checkout\(cq\fP hook will run just before your projects source code is checked out from your SCM provider -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.pre\-command\fR -.RS 4 -The \fR\(oqpre\-command\(cq\fP hook will run just before your build command runs -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.pre\-exit\fR -.RS 4 -The \fR\(oqpre\-exit\(cq\fP hook will run just before your build job finishes -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.hooksPath\fR -.RS 4 -Path to the directory storing the hooks\&. Consider using \fBservices\&.buildkite\-agents\&.<name>\&.hooks\&.<name>\fP instead\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR generated from \fBservices\&.buildkite\-agents\&.<name>\&.hooks\fP -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.name\fR -.RS 4 -The name of the agent as seen in the buildkite dashboard\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq%hostname\-\[u2039]name\[u203A]\-%n\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.preCommands\fR -.RS 4 -Extra commands to run before starting buildkite\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.privateSshKeyPath\fR -.RS 4 -OpenSSH private key -.sp -A run\-time path to the key file, which is supposed to be provisioned outside of Nix store\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.runtimePackages\fR -.RS 4 -Add programs to the buildkite\-agent environment -.sp -\fIType:\fR list of (package or absolute path) -.sp -\fIDefault:\fR [ pkgs\&.bash pkgs\&.gnutar pkgs\&.gzip pkgs\&.git pkgs\&.nix ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.shell\fR -.RS 4 -Command that buildkite\-agent 3 will execute when it spawns a shell\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq${pkgs\&.bash}/bin/bash \-e \-c\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.tags\fR -.RS 4 -Tags for the agent\&. -.sp -\fIType:\fR attribute set of (string or list of string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - docker = \(dqtrue\(dq; - queue = \(dqdefault\(dq; - ruby2 = \(dqtrue\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.buildkite\-agents\&.<name>\&.tokenPath\fR -.RS 4 -The token from your Buildkite \[u201C]Agents\[u201D] page\&. -.sp -A run\-time path to the token file, which is supposed to be provisioned outside of Nix store\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/buildkite\-agents\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.enable\fR -.RS 4 -Enable to run Cachix Agent as a system service\&. -.sp -Read \fBCachix Deploy\fR[1]\fR documentation for more information\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/cachix\-agent\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.cachix\&.org/deploy/ -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.package\fR -.RS 4 -Package containing cachix executable\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.cachix -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.credentialsFile\fR -.RS 4 -Required file that needs to contain: -.sp -export CACHIX_AGENT_TOKEN=\[u2026] -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/etc/cachix\-agent\&.token\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.logFile\fR -.RS 4 -Absolute path to log all stderr and stdout -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dq/var/log/cachix\-agent\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.cachix\-agent\&.name\fR -.RS 4 -Agent name, usually the same as the hostname\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/cachix\-agent\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.enable\fR -.RS 4 -Whether to enable the chunkwm window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.package\fR -.RS 4 -This option specifies the chunkwm package to use\&. -.sp -\fIType:\fR package -.sp -\fIExample:\fR pkgs\&.chunkwm -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.extraConfig\fR -.RS 4 -Additional commands for \fIchunkwmrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqchunkc tiling::rule \-\-owner Emacs \-\-state tile\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.hotload\fR -.RS 4 -Whether to enable hotload\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.plugins\&.border\&.config\fR -.RS 4 -Optional border plugin configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dqchunkc set focused_border_color 0xffc0b18b\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.plugins\&.dir\fR -.RS 4 -Chunkwm Plugins directory\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/run/current\-system/sw/lib/chunkwm/plugins\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.plugins\&.list\fR -.RS 4 -Chunkwm Plugins to enable\&. -.sp -\fIType:\fR list of (one of \[u201C]border\[u201D], \[u201C]ffm\[u201D], \[u201C]tiling\[u201D]) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqborder\(dq - \(dqffm\(dq - \(dqtiling\(dq -] -.fi -.RE -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqtiling\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.chunkwm\&.plugins\&.tiling\&.config\fR -.RS 4 -Optional tiling plugin configuration\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIExample:\fR \(dqchunkc set global_desktop_mode bsp\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/chunkwm\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnscrypt\-proxy\&.enable\fR -.RS 4 -Whether to enable the dnscrypt\-proxy service\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnscrypt\-proxy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnscrypt\-proxy\&.package\fR -.RS 4 -The dnscrypt\-proxy package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.dnscrypt\-proxy -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnscrypt\-proxy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnscrypt\-proxy\&.settings\fR -.RS 4 -Attrset that is converted and passed as TOML config file\&. For available params, see: \fBhttps://github\&.com/DNSCrypt/dnscrypt\-proxy/blob/2\&.1\&.12/dnscrypt\-proxy/example\-dnscrypt\-proxy\&.toml\fR[1]\fR -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - sources\&.public\-resolvers = { - urls = [ \(dqhttps://download\&.dnscrypt\&.info/resolvers\-list/v2/public\-resolvers\&.md\(dq ]; - cache_file = \(dqpublic\-resolvers\&.md\(dq; - minisign_key = \(dqRWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3\(dq; - refresh_delay = 72; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnscrypt\-proxy\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/DNSCrypt/dnscrypt\-proxy/blob/2\&.1\&.12/dnscrypt\-proxy/example\-dnscrypt\-proxy\&.toml -.RE -.RE -.PP -\fBservices\&.dnsmasq\&.enable\fR -.RS 4 -Whether to enable DNSmasq\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnsmasq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnsmasq\&.package\fR -.RS 4 -This option specifies the dnsmasq package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.dnsmasq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnsmasq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnsmasq\&.addresses\fR -.RS 4 -List of domains that will be redirected by the DNSmasq\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ localhost = \(dq127\&.0\&.0\&.1\(dq; } -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnsmasq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnsmasq\&.bind\fR -.RS 4 -This option specifies the interface on which DNSmasq will listen\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnsmasq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.dnsmasq\&.port\fR -.RS 4 -This option specifies port on which DNSmasq will listen\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 53 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/dnsmasq\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.enable\fR -.RS 4 -Whether to enable the Emacs Daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.package\fR -.RS 4 -This option specifies the emacs package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR <derivation emacs\-30\&.1> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.additionalPath\fR -.RS 4 -This option specifies additional PATH that the emacs daemon would have\&. Typically if you have binaries in your home directory that is what you would add your home path here\&. One caveat is that there won\[u2019]t be shell variable expansion, so you can\[u2019]t use $HOME for example -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/Users/my_user_name\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.emacs\&.exec\fR -.RS 4 -Emacs command/binary to execute\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqemacs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/emacs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.enable\fR -.RS 4 -Whether to enable Eternal Terminal server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.package\fR -.RS 4 -This option specifies the eternal\-terminal package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.eternal\-terminal\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.logSize\fR -.RS 4 -The maximum log size\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 20971520 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.port\fR -.RS 4 -The port the server should listen on\&. Will use the server\[u2019]s default (2022) if not specified\&. -.sp -Make sure to open this port in the firewall if necessary\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 2022 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.silent\fR -.RS 4 -If enabled, disables all logging\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.eternal\-terminal\&.verbosity\fR -.RS 4 -The verbosity level (0\-9)\&. -.sp -\fIType:\fR one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/eternal\-terminal\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\fR -.RS 4 -Multiple GitHub Runners\&. -.sp -If \fR\(oquser\(cq\fP and \fR\(oqgroup\(cq\fP are set to \fR\(oqnull\(cq\fP, the module will configure nix\-darwin to manage the \fR\(oq_github\-runner\(cq\fP user and group\&. Note that multiple runner configurations share the same user/group, which means they can access resources from other runners\&. Make each runner use its own user and group if this is not what you want\&. In this case, you will have to do the user and group creation yourself\&. If only \fR\(oquser\(cq\fP is set, while \fR\(oqgroup\(cq\fP is set to \fR\(oqnull\(cq\fP, the service will infer the primary group of the \fR\(oquser\(cq\fP\&. -.sp -For each GitHub runner, the system activation script creates the following directories: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq/var/lib/github\-runners/<name>\(cq\fP: State directory to store the runner registration credentials -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq/var/lib/github\-runners/_work/<name>\(cq\fP: Working directory for workflow files\&. The runner only uses this directory if \fR\(oqworkDir\(cq\fP is \fR\(oqnull\(cq\fP (see the \fR\(oqworkDir\(cq\fP option for details)\&. -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq/var/log/github\-runners/<name>\(cq\fP: The launchd service writes the stdout and stderr streams to this directory\&. -.RE -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - runner1 = { - enable = true; - name = \(dqrunner1\(dq; - tokenFile = \(dq/secrets/token1\(dq; - url = \(dqhttps://github\&.com/owner/repo\(dq; - }; - runner2 = { - enable = true; - name = \(dqrunner2\(dq; - tokenFile = \(dq/secrets/token2\(dq; - url = \(dqhttps://github\&.com/owner/repo\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.enable\fR -.RS 4 -Whether to enable GitHub Actions runner\&. -.sp -Note: GitHub recommends using self\-hosted runners with private repositories only\&. Learn more here: \fBAbout self\-hosted runners\fR[1]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.github\&.com/en/actions/hosting\-your\-own\-runners/about\-self\-hosted\-runners -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.package\fR -.RS 4 -The github\-runner package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.github\-runner -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.ephemeral\fR -.RS 4 -If enabled, causes the following behavior: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Passes the \fR\(oq\-\-ephemeral\(cq\fP flag to the runner configuration script -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -De\-registers and stops the runner with GitHub after it has processed one job -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -Restarts the service after its successful exit -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -On start, wipes the state directory and configures a new runner -.RE -.sp -You should only enable this option if \fR\(oqtokenFile\(cq\fP points to a file which contains a personal access token (PAT)\&. If you\[u2019]re using the option with a registration token, restarting the service will fail as soon as the registration token expired\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.extraEnvironment\fR -.RS 4 -Extra environment variables to set for the runner, as an attrset\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - GIT_CONFIG = \(dq/path/to/git/config\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.extraLabels\fR -.RS 4 -Extra labels in addition to the default (unless disabled through the \fR\(oqnoDefaultLabels\(cq\fP option)\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ \(dqnixos\(dq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.extraPackages\fR -.RS 4 -Extra packages to add to \fR\(oqPATH\(cq\fP of the service to make them available to workflows\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.group\fR -.RS 4 -Group under which to run the service\&. -.sp -If this option and the \fR\(oquser\(cq\fP option is set to \fR\(oqnull\(cq\fP, nix\-darwin creates the \fR\(oqgithub\-runner\(cq\fP user and group\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR groupname -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.name\fR -.RS 4 -Name of the runner to configure\&. If null, defaults to the hostname\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIExample:\fR \(dqnixos\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.noDefaultLabels\fR -.RS 4 -Disables adding the default labels\&. Also see the \fR\(oqextraLabels\(cq\fP option\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.nodeRuntimes\fR -.RS 4 -List of Node\&.js runtimes the runner should support\&. -.sp -\fIType:\fR non\-empty (list of value \[u201C]node20\[u201D] (singular enum)) -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -[ - \(dqnode20\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.replace\fR -.RS 4 -Replace any existing runner with the same name\&. -.sp -Without this flag, registering a new runner with the same name fails\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.runnerGroup\fR -.RS 4 -Name of the runner group to add this runner to (defaults to the default runner group)\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.serviceOverrides\fR -.RS 4 -Modify the service\&. Can be used to, e\&.g\&., adjust the sandboxing options\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.tokenFile\fR -.RS 4 -The full path to a file which contains either -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -a fine\-grained personal access token (PAT), -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -a classic PAT -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -or a runner registration token -.RE -.sp -Changing this option or the \fR\(oqtokenFile\(cq\fP\[u2019]s content triggers a new runner registration\&. -.sp -You can also manually trigger a new runner registration by deleting \fI/var/lib/github\-runners/<name>/\&.runner\fP and restarting the service\&. -.sp -We suggest using the fine\-grained PATs\&. A runner registration token is valid only for 1 hour after creation, so the next time the runner configuration changes this will give you hard\-to\-debug HTTP 404 errors in the configure step\&. -.sp -The file should contain exactly one line with the token without any newline\&. (Use \fR\(oqecho \-n \(aq\[u2026]token\[u2026]\(aq > \[u2026]token file\[u2026]\(cq\fP to make sure no newlines sneak in\&.) -.sp -If the file contains a PAT, the service creates a new registration token on startup as needed\&. If a registration token is given, it can be used to re\-register a runner of the same name but is time\-limited as noted above\&. -.sp -For fine\-grained PATs: -.sp -Give it \[u201C]Read and Write access to organization/repository self hosted runners\[u201D], depending on whether it is organization wide or per\-repository\&. You might have to experiment a little, fine\-grained PATs are a \fR\(oqbeta\(cq\fP Github feature and still subject to change; nonetheless they are the best option at the moment\&. -.sp -For classic PATs: -.sp -Make sure the PAT has a scope of \fR\(oqadmin:org\(cq\fP for organization\-wide registrations or a scope of \fR\(oqrepo\(cq\fP for a single repository\&. -.sp -For runner registration tokens: -.sp -Nothing special needs to be done, but updating will break after one hour, so these are not recommended\&. -.sp -\fIType:\fR absolute path -.sp -\fIExample:\fR \(dq/run/secrets/github\-runner/nixos\&.token\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.url\fR -.RS 4 -Repository to add the runner to\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -IMPORTANT: If your token is org\-wide (not per repository), you need to provide a github org link, not a single repository, so do it like this \fR\(oqhttps://github\&.com/nixos\(cq\fP, not like this \fR\(oqhttps://github\&.com/nixos/nixpkgs\(cq\fP\&. Otherwise, you are going to get a \fR\(oq404 NotFound\(cq\fP from \fR\(oqPOST https://api\&.github\&.com/actions/runner\-registration\(cq\fP in the configure script\&. -.sp -\fIType:\fR string -.sp -\fIExample:\fR \(dqhttps://github\&.com/nixos/nixpkgs\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.user\fR -.RS 4 -User under which to run the service\&. -.sp -If this option and the \fR\(oqgroup\(cq\fP option is set to \fR\(oqnull\(cq\fP, nix\-darwin creates the \fR\(oqgithub\-runner\(cq\fP user and group\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR username -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.github\-runners\&.<name>\&.workDir\fR -.RS 4 -Working directory, available as \fR\(oq$GITHUB_WORKSPACE\(cq\fP during workflow runs and used as a default for \fBrepository checkouts\fR[1]\fR\&. The service cleans this directory on every service start\&. -.sp -Changing this option triggers a new runner registration\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/github\-runner/options\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/actions/checkout -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.enable\fR -.RS 4 -Whether to enable Gitlab Runner\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.package\fR -.RS 4 -Gitlab Runner package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.gitlab\-runner\(dq -.sp -\fIExample:\fR pkgs\&.gitlab\-runner_1_11 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.checkInterval\fR -.RS 4 -Defines the interval length, in seconds, between new jobs check\&. The default value is 3; if set to 0 or lower, the default value will be used\&. See \fBrunner documentation\fR[1]\fR for more information\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIExample:\fR with lib; (length (attrNames config\&.services\&.gitlab\-runner\&.services)) * 3 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.gitlab\&.com/runner/configuration/advanced\-configuration\&.html#how\-check_interval\-works -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.concurrent\fR -.RS 4 -Limits how many jobs globally can be run concurrently\&. The most upper limit of jobs using all defined runners\&. 0 does not mean unlimited\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1 -.sp -\fIExample:\fR config\&.nix\&.maxJobs -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.configFile\fR -.RS 4 -Configuration file for gitlab\-runner\&. -.sp -\fBconfigFile\fP takes precedence over \fBservices\fP\&. \fBcheckInterval\fP and \fBconcurrent\fP will be ignored too\&. -.sp -This option is deprecated, please use \fBservices\fP instead\&. You can use \fBregistrationConfigFile\fP and \fBregistrationFlags\fP for settings not covered by this module\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.extraPackages\fR -.RS 4 -Extra packages to add to PATH for the gitlab\-runner process\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.gracefulTermination\fR -.RS 4 -Finish all remaining jobs before stopping\&. If not set gitlab\-runner will stop immediatly without waiting for jobs to finish, which will lead to failed builds\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.gracefulTimeout\fR -.RS 4 -Time to wait until a graceful shutdown is turned into a forceful one\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqinfinity\(dq -.sp -\fIExample:\fR \(dq5min 20s\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.prometheusListenAddress\fR -.RS 4 -Address (<host>:<port>) on which the Prometheus metrics HTTP server should be listening\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqlocalhost:8080\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.sentryDSN\fR -.RS 4 -Data Source Name for tracking of all system level errors to Sentry\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttps://public:private@host:port/1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\fR -.RS 4 -GitLab Runner services\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - # runner for building in docker via host\(aqs nix\-daemon - # nix store will be readable in runner, might be insecure - nix = { - # File should contain at least these two variables: - # \(gaCI_SERVER_URL\(ga - # \(gaREGISTRATION_TOKEN\(ga - registrationConfigFile = \(dq/run/secrets/gitlab\-runner\-registration\(dq; - dockerImage = \(dqalpine\(dq; - dockerVolumes = [ - \(dq/nix/store:/nix/store:ro\(dq - \(dq/nix/var/nix/db:/nix/var/nix/db:ro\(dq - \(dq/nix/var/nix/daemon\-socket:/nix/var/nix/daemon\-socket:ro\(dq - ]; - dockerDisableCache = true; - preBuildScript = pkgs\&.writeScript \(dqsetup\-container\(dq \(aq\(aq - mkdir \-p \-m 0755 /nix/var/log/nix/drvs - mkdir \-p \-m 0755 /nix/var/nix/gcroots - mkdir \-p \-m 0755 /nix/var/nix/profiles - mkdir \-p \-m 0755 /nix/var/nix/temproots - mkdir \-p \-m 0755 /nix/var/nix/userpool - mkdir \-p \-m 1777 /nix/var/nix/gcroots/per\-user - mkdir \-p \-m 1777 /nix/var/nix/profiles/per\-user - mkdir \-p \-m 0755 /nix/var/nix/profiles/per\-user/root - mkdir \-p \-m 0700 \(dq$HOME/\&.nix\-defexpr\(dq - - \&. ${pkgs\&.nix}/etc/profile\&.d/nix\&.sh - - ${pkgs\&.nix}/bin/nix\-env \-i ${concatStringsSep \(dq \(dq (with pkgs; [ nix cacert git openssh ])} - - ${pkgs\&.nix}/bin/nix\-channel \-\-add https://nixos\&.org/channels/nixpkgs\-unstable - ${pkgs\&.nix}/bin/nix\-channel \-\-update nixpkgs - \(aq\(aq; - environmentVariables = { - ENV = \(dq/etc/profile\(dq; - USER = \(dqroot\(dq; - NIX_REMOTE = \(dqdaemon\(dq; - PATH = \(dq/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/bin:/sbin:/usr/bin:/usr/sbin\(dq; - NIX_SSL_CERT_FILE = \(dq/nix/var/nix/profiles/default/etc/ssl/certs/ca\-bundle\&.crt\(dq; - }; - tagList = [ \(dqnix\(dq ]; - }; - # runner for building docker images - docker\-images = { - # File should contain at least these two variables: - # \(gaCI_SERVER_URL\(ga - # \(gaREGISTRATION_TOKEN\(ga - registrationConfigFile = \(dq/run/secrets/gitlab\-runner\-registration\(dq; - dockerImage = \(dqdocker:stable\(dq; - dockerVolumes = [ - \(dq/var/run/docker\&.sock:/var/run/docker\&.sock\(dq - ]; - tagList = [ \(dqdocker\-images\(dq ]; - }; - # runner for executing stuff on host system (very insecure!) - # make sure to add required packages (including git!) - # to \(gaenvironment\&.systemPackages\(ga - shell = { - # File should contain at least these two variables: - # \(gaCI_SERVER_URL\(ga - # \(gaREGISTRATION_TOKEN\(ga - registrationConfigFile = \(dq/run/secrets/gitlab\-runner\-registration\(dq; - executor = \(dqshell\(dq; - tagList = [ \(dqshell\(dq ]; - }; - # runner for everything else - default = { - # File should contain at least these two variables: - # \(gaCI_SERVER_URL\(ga - # \(gaREGISTRATION_TOKEN\(ga - registrationConfigFile = \(dq/run/secrets/gitlab\-runner\-registration\(dq; - dockerImage = \(dqdebian:stable\(dq; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.buildsDir\fR -.RS 4 -Absolute path to a directory where builds will be stored in context of selected executor (Locally, Docker, SSH)\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/var/lib/gitlab\-runner/builds\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.cloneUrl\fR -.RS 4 -Overwrite the URL for the GitLab instance\&. Used if the Runner can\[u2019]t connect to GitLab on the URL GitLab exposes itself\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqhttp://gitlab\&.example\&.local\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.debugTraceDisabled\fR -.RS 4 -When set to true Runner will disable the possibility of using the \fR\(oqCI_DEBUG_TRACE\(cq\fP feature\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerAllowedImages\fR -.RS 4 -Whitelist allowed images\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqruby:*\(dq - \(dqpython:*\(dq - \(dqphp:*\(dq - \(dqmy\&.registry\&.tld:5000/*:*\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerAllowedServices\fR -.RS 4 -Whitelist allowed services\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqpostgres:9\(dq - \(dqredis:*\(dq - \(dqmysql:*\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerDisableCache\fR -.RS 4 -Disable all container caching\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerExtraHosts\fR -.RS 4 -Add a custom host\-to\-IP mapping\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqother\-host:127\&.0\&.0\&.1\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerImage\fR -.RS 4 -Docker image to be used\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerPrivileged\fR -.RS 4 -Give extended privileges to container\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.dockerVolumes\fR -.RS 4 -Bind\-mount a volume and create it if it doesn\[u2019]t exist prior to mounting\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/var/run/docker\&.sock:/var/run/docker\&.sock\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.environmentVariables\fR -.RS 4 -Custom environment variables injected to build environment\&. For secrets you can use \fBregistrationConfigFile\fP with \fR\(oqRUNNER_ENV\(cq\fP variable set\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NAME = \(dqvalue\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.executor\fR -.RS 4 -Select executor, eg\&. shell, docker, etc\&. See \fBrunner documentation\fR[1]\fR for more information\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqdocker\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.gitlab\&.com/runner/executors/README\&.html -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.limit\fR -.RS 4 -Limit how many jobs can be handled concurrently by this service\&. 0 (default) simply means don\[u2019]t limit\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.maximumTimeout\fR -.RS 4 -What is the maximum timeout (in seconds) that will be set for job when using this Runner\&. 0 (default) simply means don\[u2019]t limit\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.postBuildScript\fR -.RS 4 -Runner\-specific command script executed after code is pulled and just after build executes\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.preBuildScript\fR -.RS 4 -Runner\-specific command script executed after code is pulled, just before build executes\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.preCloneScript\fR -.RS 4 -Runner\-specific command script executed before code is pulled\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.protected\fR -.RS 4 -When set to true Runner will only run on pipelines triggered on protected branches\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.registrationConfigFile\fR -.RS 4 -Absolute path to a file with environment variables used for gitlab\-runner registration\&. A list of all supported environment variables can be found in \fR\(oqgitlab\-runner register \-\-help\(cq\fP\&. -.sp -Ones that you probably want to set is -.sp -\fR\(oqCI_SERVER_URL=<CI server URL>\(cq\fP -.sp -\fR\(oqREGISTRATION_TOKEN=<registration secret>\(cq\fP -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.registrationFlags\fR -.RS 4 -Extra command\-line flags passed to \fR\(oqgitlab\-runner register\(cq\fP\&. Execute \fR\(oqgitlab\-runner register \-\-help\(cq\fP for a list of supported flags\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-docker\-helper\-image my/gitlab\-runner\-helper\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.requestConcurrency\fR -.RS 4 -Limit number of concurrent requests for new jobs from GitLab\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.runUntagged\fR -.RS 4 -Register to run untagged builds; defaults to \fR\(oqtrue\(cq\fP when \fBtagList\fP is empty\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.services\&.<name>\&.tagList\fR -.RS 4 -Tag list\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.sessionServer\fR -.RS 4 -The session server allows the user to interact with jobs that the Runner is responsible for\&. A good example of this is the \fBinteractive web terminal\fR[1]\fR\&. -.sp -\fIType:\fR submodule -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - listenAddress = \(dq0\&.0\&.0\&.0:8093\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.gitlab\&.com/ee/ci/interactive_web_terminal/index\&.html -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.sessionServer\&.advertiseAddress\fR -.RS 4 -The URL that the Runner will expose to GitLab to be used to access the session server\&. Fallbacks to \fBlistenAddress\fP if not defined\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqrunner\-host\-name\&.tld:8093\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.sessionServer\&.listenAddress\fR -.RS 4 -An internal URL to be used for the session server\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq0\&.0\&.0\&.0:8093\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.gitlab\-runner\&.sessionServer\&.sessionTimeout\fR -.RS 4 -How long in seconds the session can stay active after the job completes (which will block the job from finishing)\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 1800 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/gitlab\-runner\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.enable\fR -.RS 4 -Enable to run Hercules CI Agent as a system service\&. -.sp -\fBHercules CI\fR[1]\fR is a continuous integation service that is centered around Nix\&. -.sp -Support is available at \fBhelp@hercules\-ci\&.com\fR[2]\fR\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://hercules\-ci\&.com -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -mailto:help@hercules\-ci\&.com -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.package\fR -.RS 4 -Package containing the bin/hercules\-ci\-agent executable\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.hercules\-ci\-agent -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.logFile\fR -.RS 4 -Stdout and sterr of hercules\-ci\-agent process\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/log/hercules\-ci\-agent\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\fR -.RS 4 -These settings are written to the \fR\(oqagent\&.toml\(cq\fP file\&. -.sp -Not all settings are listed as options, can be set nonetheless\&. -.sp -For the exhaustive list of settings, see \fBhttps://docs\&.hercules\-ci\&.com/hercules\-ci/reference/agent\-config/\fR[1]\fR\&. -.sp -\fIType:\fR TOML value -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.hercules\-ci\&.com/hercules\-ci/reference/agent\-config/ -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.apiBaseUrl\fR -.RS 4 -API base URL that the agent will connect to\&. -.sp -When using Hercules CI Enterprise, set this to the URL where your Hercules CI server is reachable\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqhttps://hercules\-ci\&.com\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.baseDirectory\fR -.RS 4 -State directory (secrets, work directory, etc) for agent -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/lib/hercules\-ci\-agent\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.binaryCachesPath\fR -.RS 4 -Path to a JSON file containing binary cache secret keys\&. -.sp -As these values are confidential, they should not be in the store, but copied over using other means, such as agenix, NixOps \fR\(oqdeployment\&.keys\(cq\fP, or manual installation\&. -.sp -The format is described on \fBhttps://docs\&.hercules\-ci\&.com/hercules\-ci\-agent/binary\-caches\-json/\fR[1]\fR\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR staticSecretsDirectory + \(dq/binary\-caches\&.json\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.hercules\-ci\&.com/hercules\-ci\-agent/binary\-caches\-json/ -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.clusterJoinTokenPath\fR -.RS 4 -Location of the cluster\-join\-token\&.key file\&. -.sp -You can retrieve the contents of the file when creating a new agent via \fBhttps://hercules\-ci\&.com/dashboard\fR[1]\fR\&. -.sp -As this value is confidential, it should not be in the store, but installed using other means, such as agenix, NixOps \fR\(oqdeployment\&.keys\(cq\fP, or manual installation\&. -.sp -The contents of the file are used for authentication between the agent and the API\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR staticSecretsDirectory + \(dq/cluster\-join\-token\&.key\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://hercules\-ci\&.com/dashboard -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.concurrentTasks\fR -.RS 4 -Number of tasks to perform simultaneously\&. -.sp -A task is a single derivation build, an evaluation or an effect run\&. At minimum, you need 2 concurrent tasks for \fR\(oqx86_64\-linux\(cq\fP in your cluster, to allow for import from derivation\&. -.sp -\fR\(oqconcurrentTasks\(cq\fP can be around the CPU core count or lower if memory is the bottleneck\&. -.sp -The optimal value depends on the resource consumption characteristics of your workload, including memory usage and in\-task parallelism\&. This is typically determined empirically\&. -.sp -When scaling, it is generally better to have a double\-size machine than two machines, because each split of resources causes inefficiencies; particularly with regards to build latency because of extra downloads\&. -.sp -\fIType:\fR positive integer, meaning >0, or value \[u201C]auto\[u201D] (singular enum) -.sp -\fIDefault:\fR \(dqauto\(dq, meaning equal to the number of CPU cores\&. -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.labels\fR -.RS 4 -A key\-value map of user data\&. -.sp -This data will be available to organization members in the dashboard and API\&. -.sp -The values can be of any TOML type that corresponds to a JSON type, but arrays can not contain tables/objects due to limitations of the TOML library\&. Values involving arrays of non\-primitive types may not be representable currently\&. -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR -.sp -.RS 4 -.nf -{ - agent\&.source = \(dq\&.\&.\&.\(dq; # One of \(dqnixpkgs\(dq, \(dqflake\(dq, \(dqoverride\(dq - lib\&.version = \(dq\&.\&.\&.\(dq; - pkgs\&.version = \(dq\&.\&.\&.\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.secretsJsonPath\fR -.RS 4 -Path to a JSON file containing secrets for effects\&. -.sp -As these values are confidential, they should not be in the store, but copied over using other means, such as agenix, NixOps \fR\(oqdeployment\&.keys\(cq\fP, or manual installation\&. -.sp -The format is described on \fBhttps://docs\&.hercules\-ci\&.com/hercules\-ci\-agent/secrets\-json/\fR[1]\fR\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR staticSecretsDirectory + \(dq/secrets\&.json\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://docs\&.hercules\-ci\&.com/hercules\-ci\-agent/secrets\-json/ -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.staticSecretsDirectory\fR -.RS 4 -This is the default directory to look for statically configured secrets like \fR\(oqcluster\-join\-token\&.key\(cq\fP\&. -.sp -See also \fR\(oqclusterJoinTokenPath\(cq\fP and \fR\(oqbinaryCachesPath\(cq\fP for fine\-grained configuration\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR baseDirectory + \(dq/secrets\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.hercules\-ci\-agent\&.settings\&.workDirectory\fR -.RS 4 -The directory in which temporary subdirectories are created for task state\&. This includes sources for Nix evaluation\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR baseDirectory + \(dq/work\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/hercules\-ci\-agent/common\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ipfs\&.enable\fR -.RS 4 -Whether to enable the ipfs daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ipfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ipfs\&.enableGarbageCollection\fR -.RS 4 -Passes \-\-enable\-gc flag to ipfs daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ipfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ipfs\&.package\fR -.RS 4 -The ipfs package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation kubo\-0\&.34\&.1> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ipfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ipfs\&.ipfsPath\fR -.RS 4 -Set the IPFS_PATH environment variable\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ipfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ipfs\&.logFile\fR -.RS 4 -The logfile to use for the ipfs service\&. Alternatively \fBsudo launchctl debug system/org\&.nixos\&.ipfs \-\-stderr\fP can be used to stream the logs to a shell after restarting the service with \fBsudo launchctl kickstart \-k system/org\&.nixos\&.ipfs\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/var/tmp/ipfs\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ipfs\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.enable\fR -.RS 4 -Whether to enable Enable the jankyborders service\[u2026] -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.package\fR -.RS 4 -The jankyborders package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.jankyborders -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.active_color\fR -.RS 4 -Sets the border color for the focused window (format: 0xAARRGGBB)\&. For instance, active_color=\[u201C]0xff00ff00\[u201D] creates a green border\&. For Gradient Border : active_color=\[u201C]gradient(top_right=0x9992B3F5,bottom_left=0x9992B3F5)\[u201D] -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq0xFFFFFFFF\(dq -.sp -\fIExample:\fR \(dq0xFFFFFFFF\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.ax_focus\fR -.RS 4 -If set to true, the (slower) accessibility API is used to resolve the focused window\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.background_color\fR -.RS 4 -Sets the background fill color for all windows (only 0xAARRGGBB arguments supported)\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq0xFFFFFFFF\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.blacklist\fR -.RS 4 -The applications specified here are excluded from being bordered\&. For example, blacklist = [ \[u201C]Safari\[u201D] \[u201C]kitty\[u201D] ] excludes Safari and kitty from being bordered\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqSafari\(dq - \(dqkitty\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.blur_radius\fR -.RS 4 -Sets the blur radius applied to the borders or backgrounds with transparency\&. -.sp -\fIType:\fR floating point number -.sp -\fIDefault:\fR 0\&.0 -.sp -\fIExample:\fR 5\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.hidpi\fR -.RS 4 -If set to on, the border will be drawn with retina resolution\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.inactive_color\fR -.RS 4 -Sets the border color for all windows not in focus (format: 0xAARRGGBB)\&. For Gradient Border : inactive_color=\[u201C]gradient(top_right=0x9992B3F5,bottom_left=0x9992B3F5)\[u201D] -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq0xFFFFFFFF\(dq -.sp -\fIExample:\fR \(dq0xFFFFFFFF\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.order\fR -.RS 4 -Specifies whether borders should be drawn above or below windows\&. -.sp -\fIType:\fR one of \[u201C]above\[u201D], \[u201C]below\[u201D] -.sp -\fIDefault:\fR \(dqbelow\(dq -.sp -\fIExample:\fR \(dqabove\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.style\fR -.RS 4 -Specifies the style of the border (either round or square)\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dqround\(dq -.sp -\fIExample:\fR \(dqsquare/round\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.whitelist\fR -.RS 4 -Once this list is populated, only applications listed here are considered for receiving a border\&. If the whitelist is empty (default) it is inactive\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqArc\(dq - \(dqUSB Overdrive\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.jankyborders\&.width\fR -.RS 4 -Determines the width of the border\&. For example, width=5\&.0 creates a border 5\&.0 points wide\&. -.sp -\fIType:\fR floating point number -.sp -\fIDefault:\fR 5\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/jankyborders>\fP -.RE -.RE -.PP -\fBservices\&.karabiner\-elements\&.enable\fR -.RS 4 -Whether to enable Karabiner\-Elements\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/karabiner\-elements>\fP -.RE -.RE -.PP -\fBservices\&.karabiner\-elements\&.package\fR -.RS 4 -The karabiner\-elements package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.karabiner\-elements -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/karabiner\-elements>\fP -.RE -.RE -.PP -\fBservices\&.khd\&.enable\fR -.RS 4 -Whether to enable the khd hotkey daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/khd>\fP -.RE -.RE -.PP -\fBservices\&.khd\&.package\fR -.RS 4 -This option specifies the khd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.khd\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/khd>\fP -.RE -.RE -.PP -\fBservices\&.khd\&.i3Keybindings\fR -.RS 4 -Wether to configure i3 style keybindings for kwm\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/khd>\fP -.RE -.RE -.PP -\fBservices\&.khd\&.khdConfig\fR -.RS 4 -Config to use for \fIkhdrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqalt + shift \- r : kwmc quit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/khd>\fP -.RE -.RE -.PP -\fBservices\&.kwm\&.enable\fR -.RS 4 -Whether to enable the khd window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/kwm>\fP -.RE -.RE -.PP -\fBservices\&.kwm\&.package\fR -.RS 4 -This option specifies the kwm package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.kwm\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/kwm>\fP -.RE -.RE -.PP -\fBservices\&.kwm\&.kwmConfig\fR -.RS 4 -Config to use for \fIkwmrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqkwmc rule owner=\e\(dqiTerm2\e\(dq properties={role=\e\(dqAXDialog\e\(dq}\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/kwm>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.enable\fR -.RS 4 -Whether to enable the lorri service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.lorri\&.logFile\fR -.RS 4 -The logfile to use for the lorri service\&. Alternatively \fBsudo launchctl debug system/org\&.nixos\&.lorri \-\-stderr\fP can be used to stream the logs to a shell after restarting the service with \fBsudo launchctl kickstart \-k system/org\&.nixos\&.lorri\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/var/tmp/lorri\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/lorri\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.enable\fR -.RS 4 -Whether to enable the Mopidy Daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.package\fR -.RS 4 -This option specifies the mopidy package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.mopidy\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.mediakeys\&.enable\fR -.RS 4 -Whether to enable the Mopidy OSX Media Keys support daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.mopidy\&.mediakeys\&.package\fR -.RS 4 -This option specifies the mediakeys package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.pythonPackages\&.osxmpdkeys\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mopidy\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netbird\&.enable\fR -.RS 4 -Whether to enable Netbird daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/netbird\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netbird\&.package\fR -.RS 4 -The package to use for netbird -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.netbird -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/netbird\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.enable\fR -.RS 4 -Whether to enable Netdata daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.package\fR -.RS 4 -The netdata package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.netdata -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.cacheDir\fR -.RS 4 -Cache directory for Netdata -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/cache/netdata\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.config\fR -.RS 4 -Custom configuration for Netdata -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.logDir\fR -.RS 4 -Log directory for Netdata -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/log/netdata\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.netdata\&.workDir\fR -.RS 4 -Working directory for Netdata -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/lib/netdata\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/netdata\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nextdns\&.enable\fR -.RS 4 -Whether to enable the NextDNS DNS/53 to DoH Proxy service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nextdns>\fP -.RE -.RE -.PP -\fBservices\&.nextdns\&.arguments\fR -.RS 4 -Additional arguments to be passed to nextdns run\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-config\(dq - \(dq10\&.0\&.3\&.0/24=abcdef\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nextdns>\fP -.RE -.RE -.PP -\fBservices\&.nix\-daemon\&.enableSocketListener\fR -.RS 4 -Whether to make the nix\-daemon service socket activated\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-daemon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nix\-daemon\&.logFile\fR -.RS 4 -The logfile to use for the nix\-daemon service\&. Alternatively \fBsudo launchctl debug system/org\&.nixos\&.nix\-daemon \-\-stderr\fP can be used to stream the logs to a shell after restarting the service with \fBsudo launchctl kickstart \-k system/org\&.nixos\&.nix\-daemon\fP\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/var/log/nix\-daemon\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-daemon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.nix\-daemon\&.tempDir\fR -.RS 4 -The TMPDIR to use for nix\-daemon\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/nix\-daemon\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.ofborg\&.enable\fR -.RS 4 -Whether to enable the ofborg builder service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ofborg>\fP -.RE -.RE -.PP -\fBservices\&.ofborg\&.package\fR -.RS 4 -This option specifies the ofborg package to use\&. eg\&. -.sp -(import <ofborg> {})\&.ofborg\&.rs -.sp -$ nix\-channel \-\-add https://github\&.com/NixOS/ofborg/archive/released\&.tar\&.gz ofborg $ nix\-channel \-\-update -.sp -\fIType:\fR package -.sp -\fIExample:\fR pkgs\&.ofborg -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ofborg>\fP -.RE -.RE -.PP -\fBservices\&.ofborg\&.configFile\fR -.RS 4 -Configuration file to use for ofborg\&. -.sp -WARNING Don\[u2019]t use a path literal or derivation for this, that would expose credentials in the store making them world readable\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ofborg>\fP -.RE -.RE -.PP -\fBservices\&.ofborg\&.logFile\fR -.RS 4 -The logfile to use for the ofborg service\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/log/ofborg\&.log\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/ofborg>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.enable\fR -.RS 4 -Whether to enable Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.package\fR -.RS 4 -Offlineimap derivation to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.offlineimap\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.extraConfig\fR -.RS 4 -Additional text to be appended to \fIofflineimaprc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.path\fR -.RS 4 -List of derivations to put in Offlineimap\[u2019]s path\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.pass pkgs\&.bash pkgs\&.notmuch ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.runQuick\fR -.RS 4 -Run only quick synchronizations\&. Ignore any flag updates on IMAP servers\&. If a flag on the remote IMAP changes, and we have the message locally, it will be left untouched in a quick run\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.offlineimap\&.startInterval\fR -.RS 4 -Optional key to start offlineimap services each N seconds -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR 300 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/mail/offlineimap\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.openssh\&.enable\fR -.RS 4 -Whether to enable Apple\[u2019]s built\-in OpenSSH server\&. -.sp -The default is null which means let macOS manage the OpenSSH server\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/openssh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.openssh\&.extraConfig\fR -.RS 4 -Extra configuration text loaded in \fIsshd_config\fP\&. See \fBsshd_config\fP\fR(5)\fP for help\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/openssh\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.enable\fR -.RS 4 -Whether to enable PostgreSQL Server\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.enableTCPIP\fR -.RS 4 -Whether PostgreSQL should listen on all network interfaces\&. If disabled, the database can only be accessed via its Unix domain socket or via TCP connections to localhost\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.package\fR -.RS 4 -PostgreSQL package to use\&. -.sp -\fIType:\fR package -.sp -\fIExample:\fR pkgs\&.postgresql_11 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.authentication\fR -.RS 4 -Defines how users authenticate themselves to the server\&. See the \fBPostgreSQL documentation for pg_hba\&.conf\fR[1]\fR for details on the expected format of this option\&. By default, peer based authentication will be used for users connecting via the Unix socket, and md5 password authentication will be used for users connecting via TCP\&. Any added rules will be inserted above the default rules\&. If you\[u2019]d like to replace the default rules entirely, you can use \fR\(oqlib\&.mkForce\(cq\fP in your module\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.postgresql\&.org/docs/current/auth\-pg\-hba\-conf\&.html -.RE -.RE -.PP -\fBservices\&.postgresql\&.checkConfig\fR -.RS 4 -Check the syntax of the configuration file at compile time -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.dataDir\fR -.RS 4 -The data directory for PostgreSQL\&. If left as the default value this directory will automatically be created before the PostgreSQL server starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/lib/postgresql/${config\&.services\&.postgresql\&.package\&.psqlSchema}\(dq -.sp -\fIExample:\fR \(dq/var/lib/postgresql/11\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.ensureDatabases\fR -.RS 4 -Ensures that the specified databases exist\&. This option will never delete existing databases, especially not when the value of this option is changed\&. This means that databases created once through this option or otherwise have to be removed manually\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqgitea\(dq - \(dqnextcloud\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.ensureUsers\fR -.RS 4 -Ensures that the specified users exist and have at least the ensured permissions\&. The PostgreSQL users will be identified using peer authentication\&. This authenticates the Unix user with the same name only, and that without the need for a password\&. This option will never delete existing users or remove permissions, especially not when the value of this option is changed\&. This means that users created and permissions assigned once through this option or otherwise have to be removed manually\&. -.sp -\fIType:\fR list of (submodule) -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - name = \(dqnextcloud\(dq; - ensurePermissions = { - \(dqDATABASE nextcloud\(dq = \(dqALL PRIVILEGES\(dq; - }; - } - { - name = \(dqsuperuser\(dq; - ensurePermissions = { - \(dqALL TABLES IN SCHEMA public\(dq = \(dqALL PRIVILEGES\(dq; - }; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.ensureUsers\&.*\&.ensurePermissions\fR -.RS 4 -Permissions to ensure for the user, specified as an attribute set\&. The attribute names specify the database and tables to grant the permissions for\&. The attribute values specify the permissions to grant\&. You may specify one or multiple comma\-separated SQL privileges here\&. -.sp -For more information on how to specify the target and on which privileges exist, see the \fBGRANT syntax\fR[1]\fR\&. The attributes are used as \fR\(oqGRANT ${attrValue} ON ${attrName}\(cq\fP\&. -.sp -\fIType:\fR attribute set of string -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - \(dqDATABASE \e\(dqnextcloud\e\(dq\(dq = \(dqALL PRIVILEGES\(dq; - \(dqALL TABLES IN SCHEMA public\(dq = \(dqALL PRIVILEGES\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.postgresql\&.org/docs/current/sql\-grant\&.html -.RE -.RE -.PP -\fBservices\&.postgresql\&.ensureUsers\&.*\&.name\fR -.RS 4 -Name of the user to ensure\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.extraPlugins\fR -.RS 4 -List of PostgreSQL plugins\&. PostgreSQL version for each plugin should match version for \fR\(oqservices\&.postgresql\&.package\(cq\fP value\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR with pkgs\&.postgresql_11\&.pkgs; [ postgis pg_repack ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.identMap\fR -.RS 4 -Defines the mapping from system users to database users\&. -.sp -The general form is: -.sp -map\-name system\-username database\-username -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.initdbArgs\fR -.RS 4 -Additional arguments passed to \fR\(oqinitdb\(cq\fP during data dir initialisation\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-data\-checksums\(dq - \(dq\-\-allow\-group\-access\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.initialScript\fR -.RS 4 -A file containing SQL statements to execute on first startup\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.logLinePrefix\fR -.RS 4 -A printf\-style string that is output at the beginning of each log line\&. Upstream default is \fR\(oq\(aq%m [%p] \(aq\(cq\fP, i\&.e\&. it includes the timestamp\&. We do not include the timestamp, because journal has it anyway\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq[%p] \(dq -.sp -\fIExample:\fR \(dq%m [%p] \(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.port\fR -.RS 4 -The port on which PostgreSQL listens\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 5432 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.recoveryConfig\fR -.RS 4 -Contents of the \fIrecovery\&.conf\fP file\&. -.sp -\fIType:\fR null or strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.RE -.PP -\fBservices\&.postgresql\&.settings\fR -.RS 4 -PostgreSQL configuration\&. Refer to \fBhttps://www\&.postgresql\&.org/docs/11/config\-setting\&.html#CONFIG\-SETTING\-CONFIGURATION\-FILE\fR[1]\fR for an overview of \fR\(oqpostgresql\&.conf\(cq\fP\&. -.sp -.RS 4 -\fBNote\fP -.br -String values will automatically be enclosed in single quotes\&. Single quotes will be escaped with two single quotes as described by the upstream documentation linked above\&. -.RE -.sp -\fIType:\fR attribute set of (boolean or floating point number or signed integer or string) -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - log_connections = true; - log_statement = \(dqall\(dq; - logging_collector = true - log_disconnections = true - log_destination = lib\&.mkForce \(dqsyslog\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/postgresql>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://www\&.postgresql\&.org/docs/11/config\-setting\&.html#CONFIG\-SETTING\-CONFIGURATION\-FILE -.RE -.RE -.PP -\fBservices\&.privoxy\&.enable\fR -.RS 4 -Whether to enable the privoxy proxy service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.privoxy\&.package\fR -.RS 4 -This option specifies the privoxy package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation privoxy\-3\&.0\&.34> -.sp -\fIExample:\fR pkgs\&.privoxy -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.privoxy\&.confdir\fR -.RS 4 -Directory for privoxy files such as \&.action and \&.filter\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.privoxy\&.config\fR -.RS 4 -Config to use for privoxy -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqforward / upstream\&.proxy:8080\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.privoxy\&.listenAddress\fR -.RS 4 -The address and TCP port on which privoxy will listen\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq127\&.0\&.0\&.1:8118\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.privoxy\&.templdir\fR -.RS 4 -Directory for privoxy template files\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq\e${pkgs\&.privoxy}/etc/templates\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/privoxy>\fP -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.enable\fR -.RS 4 -Whether to enable Prometheus Node exporter\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.enabledCollectors\fR -.RS 4 -Collectors to enable in addition to the ones that are \fBenabled by default\fR[1]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/prometheus/node_exporter#enabled\-by\-default -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.package\fR -.RS 4 -The prometheus\-node\-exporter package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.prometheus\-node\-exporter -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.disabledCollectors\fR -.RS 4 -Collectors to disable from the list of collectors that are \fBenabled by default\fR[1]\fR\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dqboottime\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://github\&.com/prometheus/node_exporter#enabled\-by\-default -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.extraFlags\fR -.RS 4 -Extra commandline options to pass to the Node exporter executable\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\-\-log\&.level=debug\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.listenAddress\fR -.RS 4 -Address where Node exporter exposes its HTTP interface\&. Leave empty to bind to all addresses\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dq0\&.0\&.0\&.0\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.prometheus\&.exporters\&.node\&.port\fR -.RS 4 -Port where the Node exporter exposes its HTTP interface\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 9100 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/prometheus\-node\-exporter\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.enable\fR -.RS 4 -Whether to enable the redis database service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.package\fR -.RS 4 -This option specifies the redis package to use -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.redis\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.appendOnly\fR -.RS 4 -By default data is only periodically persisted to disk, enable this option to use an append\-only file for improved persistence\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.bind\fR -.RS 4 -The IP interface to bind to\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq127\&.0\&.0\&.1\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.dataDir\fR -.RS 4 -Data directory for the redis database\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR \(dq/var/lib/redis\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.extraConfig\fR -.RS 4 -Additional text to be appended to \fIredis\&.conf\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.port\fR -.RS 4 -The port for Redis to listen to\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 6379 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.redis\&.unixSocket\fR -.RS 4 -The path to the socket to bind to\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq/var/run/redis\&.sock\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/redis>\fP -.RE -.RE -.PP -\fBservices\&.sketchybar\&.enable\fR -.RS 4 -Whether to enable sketchybar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/sketchybar>\fP -.RE -.RE -.PP -\fBservices\&.sketchybar\&.package\fR -.RS 4 -The sketchybar package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.sketchybar -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/sketchybar>\fP -.RE -.RE -.PP -\fBservices\&.sketchybar\&.config\fR -.RS 4 -Contents of sketchybar\[u2019]s configuration file\&. If empty (the default), the configuration file won\[u2019]t be managed\&. -.sp -See \fBdocumentation\fR[1]\fR and \fBexample\fR[2]\fR\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -\(aq\(aq - sketchybar \-\-bar height=24 - sketchybar \-\-update - echo \(dqsketchybar configuration loaded\&.\&.\(dq -\(aq\(aq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/sketchybar>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://felixkratz\&.github\&.io/SketchyBar/ -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -https://github\&.com/FelixKratz/SketchyBar/blob/master/sketchybarrc -.RE -.RE -.PP -\fBservices\&.sketchybar\&.extraPackages\fR -.RS 4 -Extra packages to add to PATH\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.jq ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/sketchybar>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.enable\fR -.RS 4 -Whether to enable the skhd hotkey daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/skhd>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.package\fR -.RS 4 -This option specifies the skhd package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR <derivation skhd\-0\&.3\&.9> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/skhd>\fP -.RE -.RE -.PP -\fBservices\&.skhd\&.skhdConfig\fR -.RS 4 -Config to use for \fIskhdrc\fP\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR \(dqalt + shift \- r : chunkc quit\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/skhd>\fP -.RE -.RE -.PP -\fBservices\&.spacebar\&.enable\fR -.RS 4 -Whether to enable the spacebar spacebar\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spacebar>\fP -.RE -.RE -.PP -\fBservices\&.spacebar\&.package\fR -.RS 4 -The spacebar package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spacebar>\fP -.RE -.RE -.PP -\fBservices\&.spacebar\&.config\fR -.RS 4 -Key/Value pairs to pass to spacebar\[u2019]s \[u2018]config\[u2019] domain, via the configuration file\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - clock_format = \(dq%R\(dq; - background_color = \(dq0xff202020\(dq; - foreground_color = \(dq0xffa8a8a8\(dq; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spacebar>\fP -.RE -.RE -.PP -\fBservices\&.spacebar\&.extraConfig\fR -.RS 4 -Extra arbitrary configuration to append to the configuration file\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -echo \(dqspacebar config loaded\&.\&.\&.\(dq -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spacebar>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.enable\fR -.RS 4 -Whether to enable the spotifyd service\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spotifyd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.package\fR -.RS 4 -The spotifyd package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dqpkgs\&.spotifyd\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spotifyd\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.spotifyd\&.settings\fR -.RS 4 -Configuration for spotifyd, see \fBhttps://spotifyd\&.github\&.io/spotifyd/config/File\&.html\fR[1]\fR for supported values\&. -.sp -\fIType:\fR null or TOML value -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - bitrate = 160; - volume_normalisation = true; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/spotifyd\&.nix>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://spotifyd\&.github\&.io/spotifyd/config/File\&.html -.RE -.RE -.PP -\fBservices\&.synapse\-bt\&.enable\fR -.RS 4 -Whether to run Synapse BitTorrent Daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synapse\-bt\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.synapse\-bt\&.package\fR -.RS 4 -Synapse BitTorrent package to use\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.synapse\-bt\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synapse\-bt\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.synapse\-bt\&.downloadDir\fR -.RS 4 -Download directory for Synapse BitTorrent\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/var/lib/synapse\-bt\(dq -.sp -\fIExample:\fR \(dq/var/lib/synapse\-bt/downloads\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synapse\-bt\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.synapse\-bt\&.extraConfig\fR -.RS 4 -Extra configuration options for Synapse BitTorrent\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synapse\-bt\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.synapse\-bt\&.port\fR -.RS 4 -The port on which Synapse BitTorrent listens\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 16384 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synapse\-bt\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.package\fR -.RS 4 -The package used for the synergy client and server\&. -.sp -\fIType:\fR package -.sp -\fIDefault:\fR \(dqpkgs\&.synergy\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.enable\fR -.RS 4 -Whether to enable the Synergy client (receive keyboard and mouse events from a Synergy server)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.autoStart\fR -.RS 4 -Whether the Synergy client should be started automatically\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.screenName\fR -.RS 4 -Use the given name instead of the hostname to identify ourselves to the server\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.serverAddress\fR -.RS 4 -The server address is of the form: [hostname][:port]\&. The hostname must be the address or hostname of the server\&. The port overrides the default port, 24800\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.tls\&.enable\fR -.RS 4 -Whether to enable Whether TLS encryption should be used\&. -.sp -Using this requires a TLS certificate that can be generated by starting the Synergy GUI once and entering a valid product key\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.client\&.tls\&.cert\fR -.RS 4 -The TLS certificate to use for encryption\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\(ti/\&.synergy/SSL/Synergy\&.pem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.enable\fR -.RS 4 -Whether to enable the Synergy server (send keyboard and mouse events)\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.address\fR -.RS 4 -Address on which to listen for clients\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.autoStart\fR -.RS 4 -Whether the Synergy server should be started automatically\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.configFile\fR -.RS 4 -The Synergy server configuration file\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq/etc/synergy\-server\&.conf\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.screenName\fR -.RS 4 -Use the given name instead of the hostname to identify this screen in the configuration\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.tls\&.enable\fR -.RS 4 -Whether to enable Whether TLS encryption should be used\&. -.sp -Using this requires a TLS certificate that can be generated by starting the Synergy GUI once and entering a valid product key\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.synergy\&.server\&.tls\&.cert\fR -.RS 4 -The TLS certificate to use for encryption\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dq\(ti/\&.synergy/SSL/Synergy\&.pem\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/synergy>\fP -.RE -.RE -.PP -\fBservices\&.tailscale\&.enable\fR -.RS 4 -Whether to enable Tailscale client daemon\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/tailscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tailscale\&.package\fR -.RS 4 -The package to use for tailscale -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.tailscale -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/tailscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.tailscale\&.overrideLocalDns\fR -.RS 4 -This option implements \fR\(oqOverride local DNS\(cq\fP as it is not yet implemented in Tailscaled\-on\-macOS\&. -.sp -To use this option, in the Tailscale control panel: -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -at least one DNS server is added -.RE -.RS 4 -\h'-3'\fB2\&.\fP\h'1'\c -\fR\(oqOverride local DNS\(cq\fP is enabled -.RE -.sp -As this option sets 100\&.100\&.100\&.100 as your sole DNS server, if the requirements above are not met, all non\-MagicDNS queries WILL fail\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/tailscale\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.telegraf\&.enable\fR -.RS 4 -Whether to enable telegraf agent\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/telegraf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.telegraf\&.package\fR -.RS 4 -Which telegraf derivation to use -.sp -\fIType:\fR package -.sp -\fIDefault:\fR pkgs\&.telegraf -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/telegraf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.telegraf\&.configUrl\fR -.RS 4 -Url to fetch config from -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/telegraf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.telegraf\&.environmentFiles\fR -.RS 4 -File to load as environment file\&. This is useful to avoid putting secrets into the nix store\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq/run/keys/telegraf\&.env\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/telegraf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.telegraf\&.extraConfig\fR -.RS 4 -Extra configuration options for telegraf -.sp -\fIType:\fR TOML value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - inputs = { - statsd = { - delete_timings = true; - service_address = \(dq:8125\(dq; - }; - }; - outputs = { - influxdb = { - database = \(dqtelegraf\(dq; - urls = [ - \(dqhttp://localhost:8086\(dq - ]; - }; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/monitoring/telegraf\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trezord\&.enable\fR -.RS 4 -Enable Trezor bridge daemon, for use with Trezor hardware wallets\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/trezord\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trezord\&.emulator\&.enable\fR -.RS 4 -Enable Trezor emulator support\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/trezord\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.trezord\&.emulator\&.port\fR -.RS 4 -Listening port for the Trezor emulator\&. -.sp -\fIType:\fR 16 bit unsigned integer; between 0 and 65535 (both inclusive) -.sp -\fIDefault:\fR 21324 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/trezord\&.nix>\fP -.RE -.RE -.PP -\fBservices\&.yabai\&.enable\fR -.RS 4 -Whether to enable the yabai window manager\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/yabai>\fP -.RE -.RE -.PP -\fBservices\&.yabai\&.enableScriptingAddition\fR -.RS 4 -Whether to enable yabai\[u2019]s scripting\-addition\&. SIP must be disabled for this to work\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/yabai>\fP -.RE -.RE -.PP -\fBservices\&.yabai\&.package\fR -.RS 4 -The yabai package to use\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR <derivation yabai\-7\&.1\&.15> -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/yabai>\fP -.RE -.RE -.PP -\fBservices\&.yabai\&.config\fR -.RS 4 -Key/Value pairs to pass to yabai\[u2019]s \[u2018]config\[u2019] domain, via the configuration file\&. -.sp -\fIType:\fR attribute set -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - focus_follows_mouse = \(dqautoraise\(dq; - mouse_follows_focus = \(dqoff\(dq; - window_placement = \(dqsecond_child\(dq; - window_opacity = \(dqoff\(dq; - top_padding = 36; - bottom_padding = 10; - left_padding = 10; - right_padding = 10; - window_gap = 10; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/yabai>\fP -.RE -.RE -.PP -\fBservices\&.yabai\&.extraConfig\fR -.RS 4 -Extra arbitrary configuration to append to the configuration file -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -yabai \-m rule \-\-add app=\(aqSystem Preferences\(aq manage=off -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/services/yabai>\fP -.RE -.RE -.PP -\fBsystem\&.activationScripts\&.<name>\&.enable\fR -.RS 4 -Whether this file should be generated\&. This option allows specific files to be disabled\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/activation\-scripts\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.activationScripts\&.<name>\&.source\fR -.RS 4 -Path of the source file\&. -.sp -\fIType:\fR absolute path -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/activation\-scripts\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.activationScripts\&.<name>\&.target\fR -.RS 4 -Name of symlink\&. Defaults to the attribute name\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/activation\-scripts\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.activationScripts\&.<name>\&.text\fR -.RS 4 -Text of the file\&. -.sp -\fIType:\fR strings concatenated with \[u201C]\en\[u201D] -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/activation\-scripts\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.checks\&.verifyBuildUsers\fR -.RS 4 -Whether to run the Nix build users validation checks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/checks\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.checks\&.verifyMacOSVersion\fR -.RS 4 -Whether to run the macOS version check\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/checks\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.checks\&.verifyNixPath\fR -.RS 4 -Whether to run the NIX_PATH validation checks\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/checks\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.configurationRevision\fR -.RS 4 -The Git revision of the top\-level flake from which this configuration was built\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/version\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.darwinLabel\fR -.RS 4 -Label to be used in the names of generated outputs\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/version\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.darwinRelease\fR -.RS 4 -The nix\-darwin release (e\&.g\&. \fR\(oq24\&.11\(cq\fP)\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq25\&.11\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/version\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.\(dq\&.GlobalPreferences\(dq\&.\(dqcom\&.apple\&.mouse\&.scaling\(dq\fR -.RS 4 -Sets the mouse tracking speed\&. Found in the \[u201C]Mouse\[u201D] section of \[u201C]System Preferences\[u201D]\&. Set to \-1\&.0 to disable mouse acceleration\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \-1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/GlobalPreferences\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.\(dq\&.GlobalPreferences\(dq\&.\(dqcom\&.apple\&.sound\&.beep\&.sound\(dq\fR -.RS 4 -Sets the system\-wide alert sound\&. Found under \[u201C]Sound Effects\[u201D] in the \[u201C]Sound\[u201D] section of \[u201C]System Preferences\[u201D]\&. Look in \[u201C]/System/Library/Sounds\[u201D] for possible candidates\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/GlobalPreferences\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.ActivityMonitor\&.IconType\fR -.RS 4 -Change the icon in the dock when running\&. -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -0: Application Icon -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -2: Network Usage -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -3: Disk Activity -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -5: CPU Usage -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -6: CPU History Default is null\&. -.RE -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/ActivityMonitor\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.ActivityMonitor\&.OpenMainWindow\fR -.RS 4 -Open the main window when opening Activity Monitor\&. Default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/ActivityMonitor\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.ActivityMonitor\&.ShowCategory\fR -.RS 4 -Change which processes to show\&. -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -100: All Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -101: All Processes, Hierarchally -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -102: My Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -103: System Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -104: Other User Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -105: Active Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -106: Inactive Processes -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -107: Windowed Processes Default is 100\&. -.RE -.sp -\fIType:\fR null or one of 100, 101, 102, 103, 104, 105, 106, 107 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/ActivityMonitor\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.ActivityMonitor\&.SortColumn\fR -.RS 4 -Which column to sort the main activity page (such as \[u201C]CPUUsage\[u201D])\&. Default is null\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/ActivityMonitor\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.ActivityMonitor\&.SortDirection\fR -.RS 4 -The sort direction of the sort column (0 is decending)\&. Default is null\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/ActivityMonitor\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.CustomSystemPreferences\fR -.RS 4 -Sets custom system preferences -.sp -\fIType:\fR plist value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NSGlobalDomain = { - TISRomanSwitchState = 1; - }; - \(dqcom\&.apple\&.Safari\(dq = { - \(dqcom\&.apple\&.Safari\&.ContentPageGroupIdentifier\&.WebKit2DeveloperExtrasEnabled\(dq = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/CustomPreferences\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.CustomUserPreferences\fR -.RS 4 -Sets custom user preferences -.sp -\fIType:\fR plist value -.sp -\fIDefault:\fR { } -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -{ - NSGlobalDomain = { - TISRomanSwitchState = 1; - }; - \(dqcom\&.apple\&.Safari\(dq = { - \(dqcom\&.apple\&.Safari\&.ContentPageGroupIdentifier\&.WebKit2DeveloperExtrasEnabled\(dq = true; - }; -} -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/CustomPreferences\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.LaunchServices\&.LSQuarantine\fR -.RS 4 -Whether to enable quarantine for downloaded applications\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/LaunchServices\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleEnableMouseSwipeNavigateWithScrolls\fR -.RS 4 -Enables swiping left or right with two fingers to navigate backward or forward\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleEnableSwipeNavigateWithScrolls\fR -.RS 4 -Enables swiping left or right with two fingers to navigate backward or forward\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleFontSmoothing\fR -.RS 4 -Sets the level of font smoothing (sub\-pixel font rendering)\&. -.sp -\fIType:\fR null or one of 0, 1, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleICUForce24HourTime\fR -.RS 4 -Whether to use 24\-hour or 12\-hour time\&. The default is based on region settings\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleInterfaceStyle\fR -.RS 4 -Set to \[u2018]Dark\[u2019] to enable dark mode\&. -.sp -To set to light mode, set this to \fR\(oqnull\(cq\fP and you\[u2019]ll need to manually run \fBdefaults delete \-g AppleInterfaceStyle\fP\&. -.sp -This option requires logging out and logging back in to apply\&. -.sp -\fIType:\fR null or value \[u201C]Dark\[u201D] (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleInterfaceStyleSwitchesAutomatically\fR -.RS 4 -Whether to automatically switch between light and dark mode\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleKeyboardUIMode\fR -.RS 4 -Configures the keyboard control behavior\&. The default is 0\&. -.sp -0 = Disabled 2 = Enabled on Sonoma or later 3 = Enabled on older macOS versions -.sp -\fIType:\fR null or one of 0, 2, 3 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleMeasurementUnits\fR -.RS 4 -Whether to use centimeters (metric) or inches (US, UK) as the measurement unit\&. The default is based on region settings\&. -.sp -\fIType:\fR null or one of \[u201C]Centimeters\[u201D], \[u201C]Inches\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleMetricUnits\fR -.RS 4 -Whether to use the metric system\&. The default is based on region settings\&. -.sp -\fIType:\fR null or one of 0, 1 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.ApplePressAndHoldEnabled\fR -.RS 4 -Whether to enable the press\-and\-hold feature\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleScrollerPagingBehavior\fR -.RS 4 -Jump to the spot that\[u2019]s clicked on the scroll bar\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleShowAllExtensions\fR -.RS 4 -Whether to show all file extensions in Finder\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleShowAllFiles\fR -.RS 4 -Whether to always show hidden files\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleShowScrollBars\fR -.RS 4 -When to show the scrollbars\&. Options are \[u2018]WhenScrolling\[u2019], \[u2018]Automatic\[u2019] and \[u2018]Always\[u2019]\&. -.sp -\fIType:\fR null or one of \[u201C]WhenScrolling\[u201D], \[u201C]Automatic\[u201D], \[u201C]Always\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleSpacesSwitchOnActivate\fR -.RS 4 -Whether or not to switch to a workspace that has a window of the application open, that is switched to\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleTemperatureUnit\fR -.RS 4 -Whether to use Celsius or Fahrenheit\&. The default is based on region settings\&. -.sp -\fIType:\fR null or one of \[u201C]Celsius\[u201D], \[u201C]Fahrenheit\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.AppleWindowTabbingMode\fR -.RS 4 -Sets the window tabbing when opening a new document: \[u2018]manual\[u2019], \[u2018]always\[u2019], or \[u2018]fullscreen\[u2019]\&. The default is \[u2018]fullscreen\[u2019]\&. -.sp -\fIType:\fR null or one of \[u201C]manual\[u201D], \[u201C]always\[u201D], \[u201C]fullscreen\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.InitialKeyRepeat\fR -.RS 4 -Apple menu > System Preferences > Keyboard -.sp -If you press and hold certain keyboard keys when in a text area, the key\[u2019]s character begins to repeat\&. For example, the Delete key continues to remove text for as long as you hold it down\&. -.sp -This sets how long you must hold down the key before it starts repeating\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.KeyRepeat\fR -.RS 4 -Apple menu > System Preferences > Keyboard -.sp -If you press and hold certain keyboard keys when in a text area, the key\[u2019]s character begins to repeat\&. For example, the Delete key continues to remove text for as long as you hold it down\&. -.sp -This sets how fast it repeats once it starts\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticCapitalizationEnabled\fR -.RS 4 -Whether to enable automatic capitalization\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticDashSubstitutionEnabled\fR -.RS 4 -Whether to enable smart dash substitution\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticInlinePredictionEnabled\fR -.RS 4 -Whether to enable inline predictive text\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticPeriodSubstitutionEnabled\fR -.RS 4 -Whether to enable smart period substitution\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticQuoteSubstitutionEnabled\fR -.RS 4 -Whether to enable smart quote substitution\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticSpellingCorrectionEnabled\fR -.RS 4 -Whether to enable automatic spelling correction\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSAutomaticWindowAnimationsEnabled\fR -.RS 4 -Whether to animate opening and closing of windows and popovers\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSDisableAutomaticTermination\fR -.RS 4 -Whether to disable the automatic termination of inactive apps\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSDocumentSaveNewDocumentsToCloud\fR -.RS 4 -Whether to save new documents to iCloud by default\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSNavPanelExpandedStateForSaveMode\fR -.RS 4 -Whether to use expanded save panel by default\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSNavPanelExpandedStateForSaveMode2\fR -.RS 4 -Whether to use expanded save panel by default\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSScrollAnimationEnabled\fR -.RS 4 -Whether to enable smooth scrolling\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSTableViewDefaultSizeMode\fR -.RS 4 -Sets the size of the finder sidebar icons: 1 (small), 2 (medium) or 3 (large)\&. The default is 3\&. -.sp -\fIType:\fR null or one of 1, 2, 3 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSTextShowsControlCharacters\fR -.RS 4 -Whether to display ASCII control characters using caret notation in standard text views\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSUseAnimatedFocusRing\fR -.RS 4 -Whether to enable the focus ring animation\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSWindowResizeTime\fR -.RS 4 -Sets the speed speed of window resizing\&. The default is given in the example\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.2 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.NSWindowShouldDragOnGesture\fR -.RS 4 -Whether to enable moving window by holding anywhere on it like on Linux\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.PMPrintingExpandedStateForPrint\fR -.RS 4 -Whether to use the expanded print panel by default\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.PMPrintingExpandedStateForPrint2\fR -.RS 4 -Whether to use the expanded print panel by default\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&._HIHideMenuBar\fR -.RS 4 -Whether to autohide the menu bar\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.keyboard\&.fnState\(dq\fR -.RS 4 -Use F1, F2, etc\&. keys as standard function keys\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.mouse\&.tapBehavior\(dq\fR -.RS 4 -Configures the trackpad tap behavior\&. Mode 1 enables tap to click\&. -.sp -\fIType:\fR null or value 1 (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.sound\&.beep\&.feedback\(dq\fR -.RS 4 -Apple menu > System Preferences > Sound -.sp -Make a feedback sound when the system volume changed\&. This setting accepts the integers 0 or 1\&. Defaults to 1\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.sound\&.beep\&.volume\(dq\fR -.RS 4 -Apple menu > System Preferences > Sound -.sp -Sets the beep/alert volume level from 0\&.000 (muted) to 1\&.000 (100% volume)\&. -.sp -75% = 0\&.7788008 -.sp -50% = 0\&.6065307 -.sp -25% = 0\&.4723665 -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.springing\&.delay\(dq\fR -.RS 4 -Set the spring loading delay for directories\&. The default is given in the example\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.springing\&.enabled\(dq\fR -.RS 4 -Whether to enable spring loading (expose) for directories\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.swipescrolldirection\(dq\fR -.RS 4 -Whether to enable \[u201C]Natural\[u201D] scrolling direction\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.trackpad\&.enableSecondaryClick\(dq\fR -.RS 4 -Whether to enable trackpad secondary click\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.trackpad\&.forceClick\(dq\fR -.RS 4 -Whether to enable trackpad force click\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.trackpad\&.scaling\(dq\fR -.RS 4 -Configures the trackpad tracking speed (0 to 3)\&. The default is \[u201C]1\[u201D]\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.NSGlobalDomain\&.\(dqcom\&.apple\&.trackpad\&.trackpadCornerClickBehavior\(dq\fR -.RS 4 -Configures the trackpad corner click behavior\&. Mode 1 enables right click\&. -.sp -\fIType:\fR null or value 1 (singular enum) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/NSGlobalDomain\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.SoftwareUpdate\&.AutomaticallyInstallMacOSUpdates\fR -.RS 4 -Automatically install Mac OS software updates\&. Defaults to false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/SoftwareUpdate\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.AppWindowGroupingBehavior\fR -.RS 4 -Grouping strategy when showing windows from an application\&. false means \[u201C]One at a time\[u201D] true means \[u201C]All at once\[u201D] -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.AutoHide\fR -.RS 4 -Auto hide stage strip showing recent apps\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.EnableStandardClickToShowDesktop\fR -.RS 4 -Click wallpaper to reveal desktop Clicking your wallpaper will move all windows out of the way to allow access to your desktop items and widgets\&. Default is true\&. false means \[u201C]Only in Stage Manager\[u201D] true means \[u201C]Always\[u201D] -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.EnableTiledWindowMargins\fR -.RS 4 -Enable window margins when tiling windows\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.EnableTilingByEdgeDrag\fR -.RS 4 -Enable dragging windows to screen edges to tile them\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.EnableTilingOptionAccelerator\fR -.RS 4 -Enable holding alt to tile windows\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.EnableTopTilingByEdgeDrag\fR -.RS 4 -Enable dragging windows to the menu bar to fill the screen\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.GloballyEnabled\fR -.RS 4 -Enable Stage Manager Stage Manager arranges your recent windows into a single strip for reduced clutter and quick access\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.HideDesktop\fR -.RS 4 -Hide items in Stage Manager\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.StageManagerHideWidgets\fR -.RS 4 -Hide widgets in Stage Manager\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.StandardHideDesktopIcons\fR -.RS 4 -Hide items on desktop\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.WindowManager\&.StandardHideWidgets\fR -.RS 4 -Hide widgets on desktop\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/WindowManager\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.alf\&.allowdownloadsignedenabled\fR -.RS 4 -Apple menu > System Preferences > Security and Privacy > Firewall -.sp -Allows any downloaded Application that has been signed to accept incoming requests\&. Default is 0\&. -.sp -0 = disabled 1 = enabled -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/alf\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.alf\&.allowsignedenabled\fR -.RS 4 -Apple menu > System Preferences > Security and Privacy > Firewall -.sp -Allows any signed Application to accept incoming requests\&. Default is true\&. -.sp -0 = disabled 1 = enabled -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/alf\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.alf\&.globalstate\fR -.RS 4 -Apple menu > System Preferences > Security and Privacy > Firewall -.sp -Enable the internal firewall to prevent unauthorised applications, programs and services from accepting incoming connections\&. -.sp -0 = disabled 1 = enabled 2 = blocks all connections except for essential services -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/alf\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.alf\&.loggingenabled\fR -.RS 4 -Apple menu > System Preferences > Security and Privacy > Firewall -.sp -Enable logging of requests made to the firewall\&. Default is 0\&. -.sp -0 = disabled 1 = enabled -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/alf\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.alf\&.stealthenabled\fR -.RS 4 -Apple menu > System Preferences > Security and firewall -.sp -Drops incoming requests via ICMP such as ping requests\&. Default is 0\&. -.sp -0 = disabled 1 = enabled -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/alf\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.AirDrop\fR -.RS 4 -Apple menu > System Preferences > Control Center > AirDrop -.sp -Show a AirDrop control in menu bar\&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.BatteryShowPercentage\fR -.RS 4 -Apple menu > System Preferences > Control Center > Battery -.sp -Show a battery percentage in menu bar\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.Bluetooth\fR -.RS 4 -Apple menu > System Preferences > Control Center > Bluetooth -.sp -Show a bluetooth control in menu bar\&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.Display\fR -.RS 4 -Apple menu > System Preferences > Control Center > Display -.sp -Show a Screen Brightness control in menu bar\&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.FocusModes\fR -.RS 4 -Apple menu > System Preferences > Control Center > Focus -.sp -Show a Focus control in menu bar\&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.NowPlaying\fR -.RS 4 -Apple menu > System Preferences > Control Center > Now Playing -.sp -Show a Now Playing control in menu bar\&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.controlcenter\&.Sound\fR -.RS 4 -Apple menu > System Preferences > Control Center > Sound -.sp -Show a sound control in menu bar \&. Default is null\&. -.sp -18 = Display icon in menu bar 24 = Hide icon in menu bar -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/controlcenter\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.enable\-spring\-load\-actions\-on\-all\-items\fR -.RS 4 -Enable spring loading for all Dock items\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.appswitcher\-all\-displays\fR -.RS 4 -Whether to display the appswitcher on all displays or only the main one\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.autohide\fR -.RS 4 -Whether to automatically hide and show the dock\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.autohide\-delay\fR -.RS 4 -Sets the speed of the autohide delay\&. The default is given in the example\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 0\&.24 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.autohide\-time\-modifier\fR -.RS 4 -Sets the speed of the animation when hiding/showing the Dock\&. The default is given in the example\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.dashboard\-in\-overlay\fR -.RS 4 -Whether to hide Dashboard as a Space\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.expose\-animation\-duration\fR -.RS 4 -Sets the speed of the Mission Control animations\&. The default is given in the example\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 1\&.0 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.expose\-group\-apps\fR -.RS 4 -Whether to group windows by application in Mission Control\[u2019]s Expos\[u00E9]\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.largesize\fR -.RS 4 -Magnified icon size on hover\&. The default is 16\&. -.sp -\fIType:\fR null or integer between 16 and 128 (both inclusive) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.launchanim\fR -.RS 4 -Animate opening applications from the Dock\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.magnification\fR -.RS 4 -Magnify icon on hover\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.mineffect\fR -.RS 4 -Set the minimize/maximize window effect\&. The default is genie\&. -.sp -\fIType:\fR null or one of \[u201C]genie\[u201D], \[u201C]suck\[u201D], \[u201C]scale\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.minimize\-to\-application\fR -.RS 4 -Whether to minimize windows into their application icon\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.mouse\-over\-hilite\-stack\fR -.RS 4 -Enable highlight hover effect for the grid view of a stack in the Dock\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.mru\-spaces\fR -.RS 4 -Whether to automatically rearrange spaces based on most recent use\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.orientation\fR -.RS 4 -Position of the dock on screen\&. The default is \[u201C]bottom\[u201D]\&. -.sp -\fIType:\fR null or one of \[u201C]bottom\[u201D], \[u201C]left\[u201D], \[u201C]right\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\fR -.RS 4 -Persistent applications, spacers, files, and folders in the dock\&. -.sp -\fIType:\fR null or (list of (attribute\-tagged union or (string or absolute path) convertible to it)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - { - app = \(dq/Applications/Safari\&.app\(dq; - } - { - spacer = { - small = false; - }; - } - { - spacer = { - small = true; - }; - } - { - folder = \(dq/System/Applications/Utilities\(dq; - } - { - file = \(dq/User/example/Downloads/test\&.csv\(dq; - } -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\&.*\&.app\fR -.RS 4 -An application to be added to the dock\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\&.*\&.file\fR -.RS 4 -A file to be added to the dock\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\&.*\&.folder\fR -.RS 4 -A folder to be added to the dock\&. -.sp -\fIType:\fR string -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\&.*\&.spacer\fR -.RS 4 -A spacer to be added to the dock\&. Can be small or regular size\&. -.sp -\fIType:\fR submodule -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-apps\&.*\&.spacer\&.small\fR -.RS 4 -Whether the spacer is small\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.RE -.PP -\fBsystem\&.defaults\&.dock\&.persistent\-others\fR -.RS 4 -Persistent folders in the dock\&. -.sp -\fIType:\fR null or (list of (absolute path or string)) -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - \(dq\(ti/Documents\(dq - \(dq\(ti/Downloads\(dq -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.scroll\-to\-open\fR -.RS 4 -Scroll up on a Dock icon to show all Space\[u2019]s opened windows for an app, or open stack\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.show\-process\-indicators\fR -.RS 4 -Show indicator lights for open applications in the Dock\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.show\-recents\fR -.RS 4 -Show recent applications in the dock\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.showhidden\fR -.RS 4 -Whether to make icons of hidden applications tranclucent\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.slow\-motion\-allowed\fR -.RS 4 -Allow for slow\-motion minimize effect while holding Shift key\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.static\-only\fR -.RS 4 -Show only open applications in the Dock\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.tilesize\fR -.RS 4 -Size of the icons in the dock\&. The default is 64\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.wvous\-bl\-corner\fR -.RS 4 -Hot corner action for bottom left corner\&. Valid values include: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq1\(cq\fP: Disabled -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq2\(cq\fP: Mission Control -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq3\(cq\fP: Application Windows -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq4\(cq\fP: Desktop -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq5\(cq\fP: Start Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq6\(cq\fP: Disable Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq7\(cq\fP: Dashboard -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq10\(cq\fP: Put Display to Sleep -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq11\(cq\fP: Launchpad -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq12\(cq\fP: Notification Center -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq13\(cq\fP: Lock Screen -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq14\(cq\fP: Quick Note -.RE -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.wvous\-br\-corner\fR -.RS 4 -Hot corner action for bottom right corner\&. Valid values include: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq1\(cq\fP: Disabled -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq2\(cq\fP: Mission Control -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq3\(cq\fP: Application Windows -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq4\(cq\fP: Desktop -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq5\(cq\fP: Start Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq6\(cq\fP: Disable Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq7\(cq\fP: Dashboard -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq10\(cq\fP: Put Display to Sleep -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq11\(cq\fP: Launchpad -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq12\(cq\fP: Notification Center -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq13\(cq\fP: Lock Screen -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq14\(cq\fP: Quick Note -.RE -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.wvous\-tl\-corner\fR -.RS 4 -Hot corner action for top left corner\&. Valid values include: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq1\(cq\fP: Disabled -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq2\(cq\fP: Mission Control -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq3\(cq\fP: Application Windows -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq4\(cq\fP: Desktop -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq5\(cq\fP: Start Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq6\(cq\fP: Disable Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq7\(cq\fP: Dashboard -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq10\(cq\fP: Put Display to Sleep -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq11\(cq\fP: Launchpad -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq12\(cq\fP: Notification Center -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq13\(cq\fP: Lock Screen -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq14\(cq\fP: Quick Note -.RE -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.dock\&.wvous\-tr\-corner\fR -.RS 4 -Hot corner action for top right corner\&. Valid values include: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq1\(cq\fP: Disabled -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq2\(cq\fP: Mission Control -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq3\(cq\fP: Application Windows -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq4\(cq\fP: Desktop -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq5\(cq\fP: Start Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq6\(cq\fP: Disable Screen Saver -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq7\(cq\fP: Dashboard -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq10\(cq\fP: Put Display to Sleep -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq11\(cq\fP: Launchpad -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq12\(cq\fP: Notification Center -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq13\(cq\fP: Lock Screen -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oq14\(cq\fP: Quick Note -.RE -.sp -\fIType:\fR null or (positive integer, meaning >0) -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/dock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.AppleShowAllExtensions\fR -.RS 4 -Whether to always show file extensions\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.AppleShowAllFiles\fR -.RS 4 -Whether to always show hidden files\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.CreateDesktop\fR -.RS 4 -Whether to show icons on the desktop or not\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.FXDefaultSearchScope\fR -.RS 4 -Change the default search scope\&. Use \[u201C]SCcf\[u201D] to default to current folder\&. The default is unset (\[u201C]This Mac\[u201D])\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.FXEnableExtensionChangeWarning\fR -.RS 4 -Whether to show warnings when change the file extension of files\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.FXPreferredViewStyle\fR -.RS 4 -Change the default finder view\&. \[u201C]icnv\[u201D] = Icon view, \[u201C]Nlsv\[u201D] = List view, \[u201C]clmv\[u201D] = Column View, \[u201C]Flwv\[u201D] = Gallery View The default is icnv\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.FXRemoveOldTrashItems\fR -.RS 4 -Remove items in the trash after 30 days\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.NewWindowTarget\fR -.RS 4 -Change the default folder shown in Finder windows\&. \[u201C]Other\[u201D] corresponds to the value of NewWindowTargetPath\&. The default is unset (\[u201C]Recents\[u201D])\&. -.sp -\fIType:\fR null or one of \[u201C]Computer\[u201D], \[u201C]OS volume\[u201D], \[u201C]Home\[u201D], \[u201C]Desktop\[u201D], \[u201C]Documents\[u201D], \[u201C]Recents\[u201D], \[u201C]iCloud Drive\[u201D], \[u201C]Other\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.NewWindowTargetPath\fR -.RS 4 -Sets the URI to open when NewWindowTarget is \[u201C]Other\[u201D]\&. Spaces and similar characters must be escaped\&. If the value is invalid, Finder will open your home directory\&. Example: \[u201C]file:///Users/foo/long%20cat%20pics\[u201D]\&. The default is unset\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.QuitMenuItem\fR -.RS 4 -Whether to allow quitting of the Finder\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowExternalHardDrivesOnDesktop\fR -.RS 4 -Whether to show external disks on desktop\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowHardDrivesOnDesktop\fR -.RS 4 -Whether to show hard disks on desktop\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowMountedServersOnDesktop\fR -.RS 4 -Whether to show connected servers on desktop\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowPathbar\fR -.RS 4 -Show path breadcrumbs in finder windows\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowRemovableMediaOnDesktop\fR -.RS 4 -Whether to show removable media (CDs, DVDs and iPods) on desktop\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&.ShowStatusBar\fR -.RS 4 -Show status bar at bottom of finder windows with item/disk space stats\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&._FXShowPosixPathInTitle\fR -.RS 4 -Whether to show the full POSIX filepath in the window title\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&._FXSortFoldersFirst\fR -.RS 4 -Keep folders on top when sorting by name\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.finder\&._FXSortFoldersFirstOnDesktop\fR -.RS 4 -Keep folders on top when sorting by name on the desktop\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/finder\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.hitoolbox\&.AppleFnUsageType\fR -.RS 4 -Chooses what happens when you press the Fn key on the keyboard\&. A restart is required for this setting to take effect\&. -.sp -The default is unset (\[u201C]Show Emoji & Symbols\[u201D])\&. -.sp -\fIType:\fR null or one of \[u201C]Do Nothing\[u201D], \[u201C]Change Input Source\[u201D], \[u201C]Show Emoji & Symbols\[u201D], \[u201C]Start Dictation\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/hitoolbox\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.iCal\&.CalendarSidebarShown\fR -.RS 4 -Show calendar list\&. The default is false\&. -.sp -This requires restarting \fR\(oqCalendar\&.app\(cq\fP to show\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/iCal\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.iCal\&.\(dqTimeZone support enabled\(dq\fR -.RS 4 -Turn on time zone support\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/iCal\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.iCal\&.\(dqfirst day of week\(dq\fR -.RS 4 -Set the day to start week on in the Calendar\&. The default is \[u201C]System Setting\[u201D]\&. -.sp -System Setting means inherit the value from Language & Region\&. -.sp -\fIType:\fR null or one of \[u201C]System Setting\[u201D], \[u201C]Sunday\[u201D], \[u201C]Monday\[u201D], \[u201C]Tuesday\[u201D], \[u201C]Wednesday\[u201D], \[u201C]Thursday\[u201D], \[u201C]Friday\[u201D], \[u201C]Saturday\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/iCal\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.DisableConsoleAccess\fR -.RS 4 -Disables the ability for a user to access the console by typing \[u201C]>console\[u201D] for a username at the login window\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.GuestEnabled\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Allow users to login to the machine as guests using the Guest account\&. Default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.LoginwindowText\fR -.RS 4 -Text to be shown on the login window\&. Default is \[u201C]\e\eU03bb\[u201D]\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.PowerOffDisabledWhileLoggedIn\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -If set to true, the Power Off menu item will be disabled when the user is logged in\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.RestartDisabled\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Hides the Restart button on the login screen\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.RestartDisabledWhileLoggedIn\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Disables the \[u201C]Restart\[u201D] option when users are logged in\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.SHOWFULLNAME\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Displays login window as a name and password field instead of a list of users\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.ShutDownDisabled\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Hides the Shut Down button on the login screen\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.ShutDownDisabledWhileLoggedIn\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Disables the \[u201C]Shutdown\[u201D] option when users are logged in\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.SleepDisabled\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Hides the Sleep button on the login screen\&. Default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.loginwindow\&.autoLoginUser\fR -.RS 4 -Apple menu > System Preferences > Users and Groups > Login Options -.sp -Auto login the supplied user on boot\&. Default is Off\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/loginwindow\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.magicmouse\&.MouseButtonMode\fR -.RS 4 -\[u201C]OneButton\[u201D]: any tap is a left click\&. \[u201C]TwoButton\[u201D]: allow left\- and right\-clicking\&. -.sp -\fIType:\fR null or one of \[u201C]OneButton\[u201D], \[u201C]TwoButton\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/magicmouse\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.FlashDateSeparators\fR -.RS 4 -When enabled, the clock indicator (which by default is the colon) will flash on and off each second\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.IsAnalog\fR -.RS 4 -Show an analog clock instead of a digital one\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.Show24Hour\fR -.RS 4 -Show a 24\-hour clock, instead of a 12\-hour clock\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.ShowAMPM\fR -.RS 4 -Show the AM/PM label\&. Useful if Show24Hour is false\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.ShowDate\fR -.RS 4 -Show the full date\&. Default is null\&. -.sp -0 = When space allows 1 = Always 2 = Never -.sp -\fIType:\fR null or one of 0, 1, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.ShowDayOfMonth\fR -.RS 4 -Show the day of the month\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.ShowDayOfWeek\fR -.RS 4 -Show the day of the week\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.menuExtraClock\&.ShowSeconds\fR -.RS 4 -Show the clock with second precision, instead of minutes\&. Default is null\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/clock\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.disable\-shadow\fR -.RS 4 -Disable drop shadow border around screencaptures\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.include\-date\fR -.RS 4 -Include date and time in screenshot filenames\&. The default is true\&. Screenshot 2024\-01\-09 at 13\&.27\&.20\&.png would be an example for true\&. -.sp -Screenshot\&.png Screenshot 1\&.png would be an example for false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.location\fR -.RS 4 -The filesystem path to which screencaptures should be written\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.show\-thumbnail\fR -.RS 4 -Show thumbnail after screencapture before writing to file\&. The default is true\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.target\fR -.RS 4 -Target to which screencapture should save screenshot to\&. The default is \[u201C]file\[u201D]\&. Valid values include: -.sp -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqfile\(cq\fP: Saves as a file in location specified by \fR\(oqsystem\&.defaults\&.screencapture\&.location\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqclipboard\(cq\fP: Saves screenshot to clipboard -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqpreview\(cq\fP: Opens screenshot in Preview app -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqmail\(cq\fP -.RE -.RS 4 -\h'-2'\fB\[u2022]\fP\h'1'\c -\fR\(oqmessages\(cq\fP -.RE -.sp -\fIType:\fR null or one of \[u201C]file\[u201D], \[u201C]clipboard\[u201D], \[u201C]preview\[u201D], \[u201C]mail\[u201D], \[u201C]messages\[u201D] -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screencapture\&.type\fR -.RS 4 -The image format to use, such as \[u201C]jpg\[u201D]\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screencapture\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screensaver\&.askForPassword\fR -.RS 4 -If true, the user is prompted for a password when the screen saver is unlocked or stopped\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screensaver\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.screensaver\&.askForPasswordDelay\fR -.RS 4 -The number of seconds to delay before the password will be required to unlock or stop the screen saver (the grace period)\&. -.sp -\fIType:\fR null or signed integer -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/screensaver\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.smb\&.NetBIOSName\fR -.RS 4 -Hostname to use for NetBIOS\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/smb\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.smb\&.ServerDescription\fR -.RS 4 -Hostname to use for sharing services\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/smb\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.spaces\&.spans\-displays\fR -.RS 4 -Apple menu > System Preferences > Mission Control -.sp -Displays have separate Spaces (note a logout is required before this setting will take effect)\&. -.sp -false = each physical display has a separate space (Mac default) true = one space spans across all physical displays -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/spaces\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.ActuationStrength\fR -.RS 4 -0 to enable Silent Clicking, 1 to disable\&. The default is 1\&. -.sp -\fIType:\fR null or one of 0, 1 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.Clicking\fR -.RS 4 -Whether to enable trackpad tap to click\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.Dragging\fR -.RS 4 -Whether to enable tap\-to\-drag\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.FirstClickThreshold\fR -.RS 4 -For normal click: 0 for light clicking, 1 for medium, 2 for firm\&. The default is 1\&. -.sp -\fIType:\fR null or one of 0, 1, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.SecondClickThreshold\fR -.RS 4 -For force touch: 0 for light clicking, 1 for medium, 2 for firm\&. The default is 1\&. -.sp -\fIType:\fR null or one of 0, 1, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.TrackpadRightClick\fR -.RS 4 -Whether to enable trackpad right click\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.TrackpadThreeFingerDrag\fR -.RS 4 -Whether to enable three finger drag\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.trackpad\&.TrackpadThreeFingerTapGesture\fR -.RS 4 -0 to disable three finger tap, 2 to trigger Look up & data detectors\&. The default is 2\&. -.sp -\fIType:\fR null or one of 0, 2 -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/trackpad\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.universalaccess\&.closeViewScrollWheelToggle\fR -.RS 4 -Use scroll gesture with the Ctrl (\(ha) modifier key to zoom\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/universalaccess\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.universalaccess\&.closeViewZoomFollowsFocus\fR -.RS 4 -Follow the keyboard focus while zoomed in\&. Without setting \fR\(oqcloseViewScrollWheelToggle\(cq\fP this has no effect\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/universalaccess\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.universalaccess\&.mouseDriverCursorSize\fR -.RS 4 -Set the size of cursor\&. 1 for normal, 4 for maximum\&. The default is 1\&. -.sp -\fIType:\fR null or floating point number -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR 1\&.5 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/universalaccess\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.universalaccess\&.reduceMotion\fR -.RS 4 -Disable animation when switching screens or opening apps -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/universalaccess\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.defaults\&.universalaccess\&.reduceTransparency\fR -.RS 4 -Disable transparency in the menu bar and elsewhere\&. The default is false\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/defaults/universalaccess\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.enableKeyMapping\fR -.RS 4 -Whether to enable keyboard mappings\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.nonUS\&.remapTilde\fR -.RS 4 -Whether to remap the Tilde key on non\-us keyboards\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.remapCapsLockToControl\fR -.RS 4 -Whether to remap the Caps Lock key to Control\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.remapCapsLockToEscape\fR -.RS 4 -Whether to remap the Caps Lock key to Escape\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.swapLeftCommandAndLeftAlt\fR -.RS 4 -Whether to swap the left Command key and left Alt key\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.keyboard\&.swapLeftCtrlAndFn\fR -.RS 4 -Whether to swap the left Control key and Fn (Globe) key\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/keyboard\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.nixpkgsRelease\fR -.RS 4 -The nixpkgs release (e\&.g\&. \fR\(oq24\&.11\(cq\fP)\&. -.sp -\fIType:\fR string \fI(read only)\fR -.sp -\fIDefault:\fR \(dq25\&.11\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/version\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.patches\fR -.RS 4 -Set of patches to apply to \fI/\fP\&. -.sp -.RS 4 -\fBWarning\fP -.br -This can modify everything so use with caution\&. -.RE -.sp -Useful for safely changing system files\&. Unlike the etc module this won\[u2019]t remove or modify files with unexpected content\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR -.sp -.RS 4 -.nf -[ - (pkgs\&.writeText \(dqbashrc\&.patch\(dq \(aq\(aq\(aq - \-\-\- a/etc/bashrc - +++ b/etc/bashrc - @@ \-8,3 +8,5 @@ - shopt \-s checkwinsize - - [ \-r \(dq/etc/bashrc_$TERM_PROGRAM\(dq ] && \&. \(dq/etc/bashrc_$TERM_PROGRAM\(dq - + - +if test \-e /etc/static/bashrc; then \&. /etc/static/bashrc; fi - \(aq\(aq\(aq) -] -.fi -.RE -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/patches\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.primaryUser\fR -.RS 4 -The user used for options that previously applied to the user running \fR\(oqdarwin\-rebuild\(cq\fP\&. -.sp -This is a transition mechanism as nix\-darwin reorganizes its options and will eventually be unnecessary and removed\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/primary\-user\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.profile\fR -.RS 4 -Profile to use for the system\&. -.sp -\fIType:\fR absolute path -.sp -\fIDefault:\fR \(dq/nix/var/nix/profiles/system\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system>\fP -.RE -.RE -.PP -\fBsystem\&.startup\&.chime\fR -.RS 4 -Whether to enable the startup chime\&. -.sp -By default, this option does not affect your system configuration in any way\&. However, this means that after it has been set once, unsetting it will not return to the old behavior\&. It will allow the setting to be controlled in System Settings, though\&. -.sp -\fIType:\fR null or boolean -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/startup\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.stateVersion\fR -.RS 4 -Every once in a while, a new nix\-darwin release may change configuration defaults in a way incompatible with stateful data\&. For instance, if the default version of PostgreSQL changes, the new version will probably be unable to read your existing databases\&. To prevent such breakage, you can set the value of this option to the nix\-darwin release with which you want to be compatible\&. The effect is that nix\-darwin will option defaults corresponding to the specified release (such as using an older version of PostgreSQL)\&. -.sp -\fIType:\fR integer between 1 and 6 (both inclusive) -.sp -\fIDefault:\fR 6 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/system/version\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.tools\&.darwin\-option\&.enable\fR -.RS 4 -Whether to enable darwin\-option script\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nix\-darwin\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.tools\&.darwin\-rebuild\&.enable\fR -.RS 4 -Whether to enable darwin\-rebuild script\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nix\-darwin\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.tools\&.darwin\-uninstaller\&.enable\fR -.RS 4 -Whether to enable darwin\-uninstaller script\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nix\-darwin\&.nix>\fP -.RE -.RE -.PP -\fBsystem\&.tools\&.darwin\-version\&.enable\fR -.RS 4 -Whether to enable darwin\-version script\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIExample:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/nix/nix\-darwin\&.nix>\fP -.RE -.RE -.PP -\fBtime\&.timeZone\fR -.RS 4 -The time zone used when displaying times and dates\&. See \fBhttps://en\&.wikipedia\&.org/wiki/List_of_tz_database_time_zones\fR[1]\fR or run \fBsudo systemsetup \-listtimezones\fP for a comprehensive list of possible values for this setting\&. -.sp -\fIType:\fR null or string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqAmerica/New_York\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/time>\fP -.RE -.sp -.RS 4 -\h'-3'\fB1\&.\fP\h'1'\c -https://en\&.wikipedia\&.org/wiki/List_of_tz_database_time_zones -.RE -.RE -.PP -\fBusers\&.groups\fR -.RS 4 -Configuration for groups\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.groups\&.<name>\&.description\fR -.RS 4 -The group\[u2019]s description\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.groups\&.<name>\&.gid\fR -.RS 4 -The group\[u2019]s GID\&. -.sp -\fIType:\fR signed integer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.groups\&.<name>\&.members\fR -.RS 4 -The group\[u2019]s members\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.groups\&.<name>\&.name\fR -.RS 4 -The group\[u2019]s name\&. If undefined, the name of the attribute set will be used\&. -.sp -\fIType:\fR string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.knownGroups\fR -.RS 4 -List of groups owned and managed by nix\-darwin\&. Used to indicate what users are safe to create/delete based on the configuration\&. Don\[u2019]t add system groups to this\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.knownUsers\fR -.RS 4 -List of users owned and managed by nix\-darwin\&. Used to indicate what users are safe to create/delete based on the configuration\&. Don\[u2019]t add the admin user or other system users to this\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\fR -.RS 4 -Configuration for users\&. -.sp -\fIType:\fR attribute set of (submodule) -.sp -\fIDefault:\fR { } -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.packages\fR -.RS 4 -The set of packages that should be made availabe to the user\&. This is in contrast to \fBenvironment\&.systemPackages\fP, which adds packages to all users\&. -.sp -\fIType:\fR list of package -.sp -\fIDefault:\fR [ ] -.sp -\fIExample:\fR [ pkgs\&.firefox pkgs\&.thunderbird ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.createHome\fR -.RS 4 -Create the home directory when creating the user\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.description\fR -.RS 4 -A short description of the user account, typically the user\[u2019]s full name\&. -.sp -This defaults to \fR\(oqnull\(cq\fP which means, on creation, \fR\(oqsysadminctl\(cq\fP will pick the description which is usually always \fBname\fP\&. -.sp -Using an empty name is not supported and breaks macOS like making the user not appear in Directory Utility\&. -.sp -\fIType:\fR null or non\-empty string -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR \(dqAlice Q\&. User\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.gid\fR -.RS 4 -The user\[u2019]s primary group\&. -.sp -\fIType:\fR signed integer -.sp -\fIDefault:\fR 20 -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.home\fR -.RS 4 -The user\[u2019]s home directory\&. This defaults to \fR\(oqnull\(cq\fP\&. -.sp -When this is set to \fR\(oqnull\(cq\fP, if the user has not been created yet, they will be created with the home directory \fR\(oq/var/empty\(cq\fP to match the old default\&. -.sp -\fIType:\fR null or absolute path -.sp -\fIDefault:\fR null -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.ignoreShellProgramCheck\fR -.RS 4 -By default, nix\-darwin will check that programs\&.SHELL\&.enable is set to true if the user has a custom shell specified\&. If that behavior isn\[u2019]t required and there are custom overrides in place to make sure that the shell is functional, set this to true\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR false -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.isHidden\fR -.RS 4 -Whether to make the user account hidden\&. -.sp -\fIType:\fR boolean -.sp -\fIDefault:\fR true -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.name\fR -.RS 4 -The name of the user account\&. If undefined, the name of the attribute set will be used\&. -.sp -\fIType:\fR non\-empty string -.sp -\fIDefault:\fR \(dq\[u2039]name\[u203A]\(dq -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.openssh\&.authorizedKeys\&.keyFiles\fR -.RS 4 -A list of files each containing one OpenSSH public key that should be added to the user\[u2019]s authorized keys\&. The contents of the files are read at build time and added to a file that the SSH daemon reads in addition to the the user\[u2019]s authorized_keys file\&. You can combine the \fR\(oqkeyFiles\(cq\fP and \fR\(oqkeys\(cq\fP options\&. -.sp -\fIType:\fR list of absolute path -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.openssh\&.authorizedKeys\&.keys\fR -.RS 4 -A list of verbatim OpenSSH public keys that should be added to the user\[u2019]s authorized keys\&. The keys are added to a file that the SSH daemon reads in addition to the the user\[u2019]s authorized_keys file\&. You can combine the \fR\(oqkeys\(cq\fP and \fR\(oqkeyFiles\(cq\fP options\&. Warning: If you are using \fR\(oqNixOps\(cq\fP then don\[u2019]t use this option since it will replace the key required for deployment via ssh\&. -.sp -\fIType:\fR list of string -.sp -\fIDefault:\fR [ ] -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/programs/ssh\&.nix>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.shell\fR -.RS 4 -The user\[u2019]s shell\&. This defaults to \fR\(oqnull\(cq\fP\&. -.sp -When this is set to \fR\(oqnull\(cq\fP, if the user has not been created yet, they will be created with the shell \fR\(oq/usr/bin/false\(cq\fP to prevent interactive login\&. If the user already exists, the value is considered managed by macOS and \fR\(oqnix\-darwin\(cq\fP will not change it\&. -.sp -\fIType:\fR null or package or absolute path -.sp -\fIDefault:\fR null -.sp -\fIExample:\fR pkgs\&.bashInteractive -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.PP -\fBusers\&.users\&.<name>\&.uid\fR -.RS 4 -The user\[u2019]s UID\&. -.sp -\fIType:\fR signed integer -.sp -\fIDeclared by:\fP -.RS 4 -\fB<nix\-darwin/modules/users>\fP -.RE -.RE -.SH "AUTHORS" -.PP -Daiderd Jordan and the nix-darwin contributors \ No newline at end of file diff --git a/result/sw/share/man/man5/info.5.gz b/result/sw/share/man/man5/info.5.gz deleted file mode 100644 index 2f5c3187..00000000 Binary files a/result/sw/share/man/man5/info.5.gz and /dev/null differ diff --git a/result/sw/share/man/man5/nix-profiles.5.gz b/result/sw/share/man/man5/nix-profiles.5.gz deleted file mode 100644 index 3976c980..00000000 Binary files a/result/sw/share/man/man5/nix-profiles.5.gz and /dev/null differ diff --git a/result/sw/share/man/man5/nix.conf.5.gz b/result/sw/share/man/man5/nix.conf.5.gz deleted file mode 100644 index 40ca13db..00000000 Binary files a/result/sw/share/man/man5/nix.conf.5.gz and /dev/null differ diff --git a/result/sw/share/man/man5/texinfo.5.gz b/result/sw/share/man/man5/texinfo.5.gz deleted file mode 100644 index 926ede73..00000000 Binary files a/result/sw/share/man/man5/texinfo.5.gz and /dev/null differ diff --git a/result/sw/share/man/man8/nix-daemon.8.gz b/result/sw/share/man/man8/nix-daemon.8.gz deleted file mode 100644 index 490ccd3b..00000000 Binary files a/result/sw/share/man/man8/nix-daemon.8.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/evim.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/evim.1.gz deleted file mode 100644 index a92e4818..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/ex.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/ex.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/rview.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/rview.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/rvim.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/rvim.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/view.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/view.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/vim.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/vim.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/vimdiff.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/vimdiff.1.gz deleted file mode 100644 index 29cfab48..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/vimtutor.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/vimtutor.1.gz deleted file mode 100644 index 76be9f81..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.ISO8859-2/man1/xxd.1.gz b/result/sw/share/man/pl.ISO8859-2/man1/xxd.1.gz deleted file mode 100644 index b216bce0..00000000 Binary files a/result/sw/share/man/pl.ISO8859-2/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/evim.1.gz b/result/sw/share/man/pl.UTF-8/man1/evim.1.gz deleted file mode 100644 index f997fd9c..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/ex.1.gz b/result/sw/share/man/pl.UTF-8/man1/ex.1.gz deleted file mode 100644 index f88c4759..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/rview.1.gz b/result/sw/share/man/pl.UTF-8/man1/rview.1.gz deleted file mode 100644 index f88c4759..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/rvim.1.gz b/result/sw/share/man/pl.UTF-8/man1/rvim.1.gz deleted file mode 100644 index f88c4759..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/view.1.gz b/result/sw/share/man/pl.UTF-8/man1/view.1.gz deleted file mode 100644 index f88c4759..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/vim.1.gz b/result/sw/share/man/pl.UTF-8/man1/vim.1.gz deleted file mode 100644 index f88c4759..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/pl.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index 4168282a..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/pl.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index 9f1d0e71..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl.UTF-8/man1/xxd.1.gz b/result/sw/share/man/pl.UTF-8/man1/xxd.1.gz deleted file mode 100644 index 3cbb7dbc..00000000 Binary files a/result/sw/share/man/pl.UTF-8/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/evim.1.gz b/result/sw/share/man/pl/man1/evim.1.gz deleted file mode 100644 index a92e4818..00000000 Binary files a/result/sw/share/man/pl/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/ex.1.gz b/result/sw/share/man/pl/man1/ex.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/rview.1.gz b/result/sw/share/man/pl/man1/rview.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/rvim.1.gz b/result/sw/share/man/pl/man1/rvim.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/view.1.gz b/result/sw/share/man/pl/man1/view.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/vim.1.gz b/result/sw/share/man/pl/man1/vim.1.gz deleted file mode 100644 index 7bd3bc18..00000000 Binary files a/result/sw/share/man/pl/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/vimdiff.1.gz b/result/sw/share/man/pl/man1/vimdiff.1.gz deleted file mode 100644 index 29cfab48..00000000 Binary files a/result/sw/share/man/pl/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/vimtutor.1.gz b/result/sw/share/man/pl/man1/vimtutor.1.gz deleted file mode 100644 index 76be9f81..00000000 Binary files a/result/sw/share/man/pl/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/pl/man1/xxd.1.gz b/result/sw/share/man/pl/man1/xxd.1.gz deleted file mode 100644 index b216bce0..00000000 Binary files a/result/sw/share/man/pl/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/evim.1.gz b/result/sw/share/man/ru.KOI8-R/man1/evim.1.gz deleted file mode 100644 index 45781318..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/ex.1.gz b/result/sw/share/man/ru.KOI8-R/man1/ex.1.gz deleted file mode 100644 index dc899349..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/rview.1.gz b/result/sw/share/man/ru.KOI8-R/man1/rview.1.gz deleted file mode 100644 index dc899349..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/rvim.1.gz b/result/sw/share/man/ru.KOI8-R/man1/rvim.1.gz deleted file mode 100644 index dc899349..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/view.1.gz b/result/sw/share/man/ru.KOI8-R/man1/view.1.gz deleted file mode 100644 index dc899349..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/vim.1.gz b/result/sw/share/man/ru.KOI8-R/man1/vim.1.gz deleted file mode 100644 index dc899349..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/vimdiff.1.gz b/result/sw/share/man/ru.KOI8-R/man1/vimdiff.1.gz deleted file mode 100644 index 54be1f7b..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/vimtutor.1.gz b/result/sw/share/man/ru.KOI8-R/man1/vimtutor.1.gz deleted file mode 100644 index 6bb447ce..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.KOI8-R/man1/xxd.1.gz b/result/sw/share/man/ru.KOI8-R/man1/xxd.1.gz deleted file mode 100644 index cfd0708b..00000000 Binary files a/result/sw/share/man/ru.KOI8-R/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/evim.1.gz b/result/sw/share/man/ru.UTF-8/man1/evim.1.gz deleted file mode 100644 index c7d6e0ee..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/ex.1.gz b/result/sw/share/man/ru.UTF-8/man1/ex.1.gz deleted file mode 100644 index 0051657d..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/rview.1.gz b/result/sw/share/man/ru.UTF-8/man1/rview.1.gz deleted file mode 100644 index 0051657d..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/rvim.1.gz b/result/sw/share/man/ru.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 0051657d..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/view.1.gz b/result/sw/share/man/ru.UTF-8/man1/view.1.gz deleted file mode 100644 index 0051657d..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/vim.1.gz b/result/sw/share/man/ru.UTF-8/man1/vim.1.gz deleted file mode 100644 index 0051657d..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/ru.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index 4fae16cc..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/ru.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index 8e339824..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/ru.UTF-8/man1/xxd.1.gz b/result/sw/share/man/ru.UTF-8/man1/xxd.1.gz deleted file mode 100644 index 5ca5a254..00000000 Binary files a/result/sw/share/man/ru.UTF-8/man1/xxd.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/evim.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/evim.1.gz deleted file mode 100644 index 27ecbf9a..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/ex.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/ex.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/rview.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/rview.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/rvim.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/rvim.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/view.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/view.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/vim.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/vim.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/vimdiff.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/vimdiff.1.gz deleted file mode 100644 index 315c850a..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.ISO8859-9/man1/vimtutor.1.gz b/result/sw/share/man/tr.ISO8859-9/man1/vimtutor.1.gz deleted file mode 100644 index f264c6d6..00000000 Binary files a/result/sw/share/man/tr.ISO8859-9/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/evim.1.gz b/result/sw/share/man/tr.UTF-8/man1/evim.1.gz deleted file mode 100644 index 0e5774b4..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/ex.1.gz b/result/sw/share/man/tr.UTF-8/man1/ex.1.gz deleted file mode 100644 index 5788c6cf..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/rview.1.gz b/result/sw/share/man/tr.UTF-8/man1/rview.1.gz deleted file mode 100644 index 5788c6cf..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/rvim.1.gz b/result/sw/share/man/tr.UTF-8/man1/rvim.1.gz deleted file mode 100644 index 5788c6cf..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/view.1.gz b/result/sw/share/man/tr.UTF-8/man1/view.1.gz deleted file mode 100644 index 5788c6cf..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/vim.1.gz b/result/sw/share/man/tr.UTF-8/man1/vim.1.gz deleted file mode 100644 index 5788c6cf..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/vimdiff.1.gz b/result/sw/share/man/tr.UTF-8/man1/vimdiff.1.gz deleted file mode 100644 index b0907aee..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr.UTF-8/man1/vimtutor.1.gz b/result/sw/share/man/tr.UTF-8/man1/vimtutor.1.gz deleted file mode 100644 index e8e57c3b..00000000 Binary files a/result/sw/share/man/tr.UTF-8/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/evim.1.gz b/result/sw/share/man/tr/man1/evim.1.gz deleted file mode 100644 index 27ecbf9a..00000000 Binary files a/result/sw/share/man/tr/man1/evim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/ex.1.gz b/result/sw/share/man/tr/man1/ex.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr/man1/ex.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/rview.1.gz b/result/sw/share/man/tr/man1/rview.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr/man1/rview.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/rvim.1.gz b/result/sw/share/man/tr/man1/rvim.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr/man1/rvim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/view.1.gz b/result/sw/share/man/tr/man1/view.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr/man1/view.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/vim.1.gz b/result/sw/share/man/tr/man1/vim.1.gz deleted file mode 100644 index 0ea01e30..00000000 Binary files a/result/sw/share/man/tr/man1/vim.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/vimdiff.1.gz b/result/sw/share/man/tr/man1/vimdiff.1.gz deleted file mode 100644 index 315c850a..00000000 Binary files a/result/sw/share/man/tr/man1/vimdiff.1.gz and /dev/null differ diff --git a/result/sw/share/man/tr/man1/vimtutor.1.gz b/result/sw/share/man/tr/man1/vimtutor.1.gz deleted file mode 100644 index f264c6d6..00000000 Binary files a/result/sw/share/man/tr/man1/vimtutor.1.gz and /dev/null differ diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_adjust b/result/sw/share/zsh/5.9/functions/VCS_INFO_adjust deleted file mode 100644 index 5ee2a494..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_adjust +++ /dev/null @@ -1,8 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ -n ${vcs_comm[overwrite_name]} ]] && vcs=${vcs_comm[overwrite_name]} -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_bydir_detect b/result/sw/share/zsh/5.9/functions/VCS_INFO_bydir_detect deleted file mode 100644 index 89b4d650..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_bydir_detect +++ /dev/null @@ -1,41 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -# Helper function for VCS_INFO_detect_* -# -# Usage: -# vcs_comm[detect_need_file]=FILENAMES VCS_INFO_bydir_detect DIRNAME -# where DIRNAME is a directory name and FILENAMES is a space-separated list -# of filenames. -# -# If any parent directory of the current working directory, other than the root -# directory, contains a subdirectory named DIRNAME that contains a file whose name -# is in FILENAMES, set vcs_comm[basedir] to the path of that parent directory and -# return true. Otherwise, return false. - -setopt localoptions NO_shwordsplit -local dirname=$1 -local basedir="." file - -basedir=${basedir:P} -while [[ ${basedir} != '/' ]]; do - [[ -r ${basedir} ]] || return 1 - if [[ -n ${vcs_comm[detect_need_file]} ]] ; then - [[ -d ${basedir}/${dirname} ]] && { - for file in ${(s: :)${vcs_comm[detect_need_file]}}; do - [[ -e ${basedir}/${dirname}/${file} ]] && break 2 - done - } - else - [[ -d ${basedir}/${dirname} ]] && break - fi - - basedir=${basedir:h} -done - -[[ ${basedir} == "/" ]] && return 1 -vcs_comm[basedir]=${basedir} -# TODO: Would the following be correct? --- -# rrn=${vcs_comm[basedir]:t} -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_check_com b/result/sw/share/zsh/5.9/functions/VCS_INFO_check_com deleted file mode 100644 index 1b86593a..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_check_com +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -case $1 in - (/*) - [[ -x $1 ]] && return 0 - ;; - (*) - (( ${+commands[$1]} )) && return 0 -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_bzr b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_bzr deleted file mode 100644 index 0b12fb54..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_bzr +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## bazaar support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com bzr || return 1 -vcs_comm[detect_need_file]=branch/format -VCS_INFO_bydir_detect '.bzr' -return $? diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cdv b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cdv deleted file mode 100644 index a0324533..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cdv +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## codeville support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=format -VCS_INFO_bydir_detect '.cdv' -return $? diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cvs b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cvs deleted file mode 100644 index a57959ec..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_cvs +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -## cvs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -if ! [[ -d "./CVS" ]] || ! [[ -r "./CVS/Repository" ]] ; then - return 1 -fi - -# Look for the most distant parent that still has a CVS subdirectory. -local cvsbase="." -cvsbase=${cvsbase:P} -while [[ -d "${cvsbase:h}/CVS" ]]; do - cvsbase="${cvsbase:h}" - if [[ $cvsbase == '/' ]]; then - break - fi -done - -vcs_comm[basedir]="${cvsbase}" diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_darcs b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_darcs deleted file mode 100644 index 1e3f5476..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_darcs +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## darcs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=format -VCS_INFO_bydir_detect '_darcs' -return $? diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_fossil b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_fossil deleted file mode 100644 index a44b33eb..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_fossil +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## fossil support by: Mike Meyer <mwm@mired.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="_FOSSIL_ .fslckout" -VCS_INFO_bydir_detect . || return 1 - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_git b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_git deleted file mode 100644 index b7955de3..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_git +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## git support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && { print -l git-p4 git-svn; return 0 } - -if VCS_INFO_check_com ${vcs_comm[cmd]} && vcs_comm[gitdir]="$(${vcs_comm[cmd]} rev-parse --git-dir 2> /dev/null)" ; then - vcs_comm[basedir]="$( ${vcs_comm[cmd]} rev-parse --show-toplevel 2> /dev/null )" - if [[ -d ${vcs_comm[gitdir]}/svn ]] ; then vcs_comm[overwrite_name]='git-svn' - elif [[ -d ${vcs_comm[gitdir]}/refs/remotes/p4 ]] ; then vcs_comm[overwrite_name]='git-p4' ; fi - return 0 -fi -return 1 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_hg b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_hg deleted file mode 100644 index d7b1d0d3..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_hg +++ /dev/null @@ -1,20 +0,0 @@ -## vim:ft=zsh -## mercurial support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && { print -l hg-git hg-hgsubversion hg-hgsvn; return 0 } - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="store data sharedpath" -VCS_INFO_bydir_detect '.hg' || return 1 - -if [[ -d ${vcs_comm[basedir]}/.hg/svn ]] ; then - vcs_comm[overwrite_name]='hg-hgsubversion' -elif [[ -d ${vcs_comm[basedir]}/.hgsvn ]] ; then - vcs_comm[overwrite_name]='hg-hgsvn' -elif [[ -e ${vcs_comm[basedir]}/.hg/git-mapfile ]] ; then - vcs_comm[overwrite_name]='hg-git' -fi -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_mtn b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_mtn deleted file mode 100644 index 3f88ba2e..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_mtn +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## monotone support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]=revision -VCS_INFO_bydir_detect '_MTN' -return $? diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_p4 b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_p4 deleted file mode 100644 index 5ec21da9..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_p4 +++ /dev/null @@ -1,78 +0,0 @@ -## vim:ft=zsh -## perforce support by: Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -# If use-server is true in the :vcs_info:p4:... context, contact the -# server to decide whether the directory is handled by Perforce. This can -# cause a delay if the network times out, in particular if looking up the -# server name failed. Hence this is not the default. If a timeout -# occurred, the server:port pair is added to the associative array -# vcs_info_p4_dead_servers and the server is never contacted again. The -# array must be edited by hand to remove it. -# -# If use-server is false or not set, the function looks to see if there is -# a file $P4CONFIG somewhere above in the hierarchy. This is far from -# foolproof; in fact it relies on you using the particular working practice -# of having such files in all client root directories and nowhere above. - - -(( ${+functions[VCS_INFO_p4_get_server]} )) || -VCS_INFO_p4_get_server() { - emulate -L zsh - setopt extendedglob - - local -a settings - settings=(${(f)"$(${vcs_comm[cmd]} set)"}) - serverport=${${settings[(r)P4PORT=*]##P4PORT=}%% *} - case $serverport in - (''|:) - serverport=perforce:1666 - ;; - - (:*) - serverport=perforce${serverport} - ;; - - (*:) - serverport=${serverport}1666 - ;; - - (<->) - serverport=perforce:${serverport} - ;; - esac -} - - -VCS_INFO_detect_p4() { - local serverport p4where - - if zstyle -t ":vcs_info:p4:${usercontext}:${rrn}" use-server; then - # Use "p4 where" to decide whether the path is under the - # client workspace. - if (( ${#vcs_info_p4_dead_servers} )); then - # See if the server is in the list of defunct servers - VCS_INFO_p4_get_server - [[ -n $vcs_info_p4_dead_servers[$serverport] ]] && return 1 - fi - if p4where="$(${vcs_comm[cmd]} where 2>&1)"; then - return 0 - fi - if [[ $p4where = *"Connect to server failed"* ]]; then - # If the connection failed, mark the server as defunct. - # Otherwise it worked but we weren't within a client. - typeset -gA vcs_info_p4_dead_servers - [[ -z $serverport ]] && VCS_INFO_p4_get_server - vcs_info_p4_dead_servers[$serverport]=1 - fi - return 1 - else - [[ -n ${P4CONFIG} ]] || return 1 - VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 - vcs_comm[detect_need_file]="${P4CONFIG}" - VCS_INFO_bydir_detect . - return $? - fi -} - -VCS_INFO_detect_p4 "$@" diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svk b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svk deleted file mode 100644 index e21b2dd7..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svk +++ /dev/null @@ -1,40 +0,0 @@ -## vim:ft=zsh -## svk support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -# This detection function is a bit different from the others. -# We need to read svk's config file to detect a svk repository -# in the first place. Therefore, we'll just proceed and read -# the other information, too. This is more then any of the -# other detections do but this takes only one file open for -# svk at most. VCS_INFO_get_data_svk() gets simpler, too. :-) - -setopt localoptions noksharrays extendedglob -local -i fhash -fhash=0 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -[[ -f ~/.svk/config ]] || return 1 - -while IFS= read -r line ; do - if [[ -n ${vcs_comm[basedir]} ]] ; then - line=${line## ##} - [[ ${line} == depotpath:* ]] && vcs_comm[branch]=${line##*/} - [[ ${line} == revision:* ]] && vcs_comm[revision]=${line##*[[:space:]]##} - [[ -n ${vcs_comm[branch]} ]] && [[ -n ${vcs_comm[revision]} ]] && break - continue - fi - (( fhash > 0 )) && [[ ${line} == ' '[^[:space:]]*:* ]] && break - [[ ${line} == ' hash:'* ]] && fhash=1 && continue - (( fhash == 0 )) && continue - [[ ${PWD}/ == ${${line## ##}%:*}/* ]] && vcs_comm[basedir]=${${line## ##}%:*} -done < ~/.svk/config - -[[ -n ${vcs_comm[basedir]} ]] && \ -[[ -n ${vcs_comm[branch]} ]] && \ -[[ -n ${vcs_comm[revision]} ]] && return 0 -return 1 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svn b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svn deleted file mode 100644 index c2288e42..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_svn +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## subversion support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[detect_need_file]="entries format wc.db" -VCS_INFO_bydir_detect '.svn' || return 1 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_tla b/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_tla deleted file mode 100644 index ac4dbd73..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_detect_tla +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## gnu arch support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit - -[[ $1 == '--flavours' ]] && return 1 - -VCS_INFO_check_com ${vcs_comm[cmd]} || return 1 -vcs_comm[basedir]="$(${vcs_comm[cmd]} tree-root 2> /dev/null)" && return 0 -return 1 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_formats b/result/sw/share/zsh/5.9/functions/VCS_INFO_formats deleted file mode 100644 index daf169f2..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_formats +++ /dev/null @@ -1,106 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays NO_shwordsplit -local msg tmp -local -i i -local -A hook_com -# The _origs are needed because hooks can change values and there would -# be no way to get the originals back for later hooks (a hook is run for -# each message, that's being created). -hook_com=( - action "$1" - action_orig "$1" - branch "$2" - branch_orig "$2" - base "$3" - base_orig "$3" - staged "$4" - staged_orig "$4" - unstaged "$5" - unstaged_orig "$5" - revision "$6" - revision_orig "$6" - misc "$7" - misc_orig "$7" - vcs "${vcs}" - vcs_orig "${vcs}" -) -hook_com[base-name]="${${hook_com[base]}:t}" -hook_com[base-name_orig]="${hook_com[base-name]}" -hook_com[subdir]="$(VCS_INFO_reposub ${hook_com[base]})" -hook_com[subdir_orig]="${hook_com[subdir]}" - -VCS_INFO_hook 'post-backend' - -## description (for backend authors): -# action: a string that signals a certain non-default condition in the -# repository (like 'rebase-i' in git). If this in non-empty, -# the actionformats will be used, too. -# branch: the name of the currently checked out branch. -# base: the full name of the repository's root directory. -# staged: non-empty if the repository contains staged changes. -# unstaged: non-empty if the repository contains unstaged changes. -# revision: an identifier of the currently checked out revision. -# misc: a string that may contain anything the backend author likes. -# -# If an argument has no valid value for a given backend, an empty value -# should be provided. eg: -# VCS_INFO_formats '' "${foobranch}" "${foobase}" '' '' '' "${foomisc}" - -## description (vcs_info internals): -# This function is called by the backend with information about the repository, -# and (after some manipulations) populates the ${msgs} variable in preparation -# for calling VCS_INFO_set. - -if [[ -n ${hook_com[action]} ]] ; then - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" actionformats msgs - (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b|%a]%u%c-' -else - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" formats msgs - (( ${#msgs} < 1 )) && msgs[1]=' (%s)-[%b]%u%c-' -fi - -if [[ -n ${hook_com[staged]} ]] ; then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" stagedstr tmp - [[ -z ${tmp} ]] && hook_com[staged]='S' || hook_com[staged]=${tmp} -fi - -if [[ -n ${hook_com[unstaged]} ]] ; then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" unstagedstr tmp - [[ -z ${tmp} ]] && hook_com[unstaged]='U' || hook_com[unstaged]=${tmp} -fi - -if [[ ${quiltmode} != 'standalone' ]] && VCS_INFO_hook "pre-addon-quilt"; then - local REPLY - VCS_INFO_quilt addon - hook_com[quilt]="${REPLY}" - unset REPLY -elif [[ ${quiltmode} == 'standalone' ]]; then - hook_com[quilt]=${hook_com[misc]} -fi - -(( ${#msgs} > maxexports )) && msgs[$(( maxexports + 1 )),-1]=() -for i in {1..${#msgs}} ; do - if VCS_INFO_hook "set-message" $(( $i - 1 )) "${msgs[$i]}"; then - zformat -f msg ${msgs[$i]} \ - a:${hook_com[action]} \ - b:${hook_com[branch]} \ - c:${hook_com[staged]} \ - i:${hook_com[revision]} \ - m:${hook_com[misc]} \ - r:${hook_com[base-name]} \ - s:${hook_com[vcs]} \ - u:${hook_com[unstaged]} \ - Q:${hook_com[quilt]} \ - R:${hook_com[base]} \ - S:${hook_com[subdir]} - msgs[$i]=${msg} - else - msgs[$i]=${hook_com[message]} - fi -done -hook_com=() -backend_misc=() -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_cmd b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_cmd deleted file mode 100644 index 26046f1c..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_cmd +++ /dev/null @@ -1,6 +0,0 @@ -## vim:ft=zsh -# find out if the user wants us to use a special binary. -# the default command name is the same as the backend name. -local cmd -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" "command" cmd -vcs_comm[cmd]=${cmd:-$vcs} diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_bzr b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_bzr deleted file mode 100644 index f1f5527e..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_bzr +++ /dev/null @@ -1,106 +0,0 @@ -## vim:ft=zsh et -## bazaar support by: Frank Terbeck <ft@bewatermyfriend.org> -## mostly rewritten by: Jan Pobrislo <ccx@webprojekty.cz> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local bzrbase bzrbr bzr_changes bzr_type -local -a bzrinfo -local -A hook_com bzr_info - -(( ${+functions[VCS_INFO_bzr_get_info]} )) || -VCS_INFO_bzr_get_info() { - bzrinfo=( ${(s.:.)$( ${vcs_comm[cmd]} version-info --custom \ - --template="{revno}:{branch_nick}:{clean}")} ) - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" - then - VCS_INFO_bzr_get_changes - elif [[ ${bzrinfo[2]} == 1 ]] - then - bzr_changes = '1' - fi -} - -(( ${+functions[VCS_INFO_bzr_get_info_restricted]} )) || -VCS_INFO_bzr_get_info_restricted() { - # we are forbidden from fetching info on bound branch from remote repository - bzrinfo=( $(${vcs_comm[cmd]} revno) ${bzrbase:t} ) - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" && \ - [[ ! $bzr_type == lightweigth ]] - then - VCS_INFO_bzr_get_changes - fi -} - -(( ${+functions[VCS_INFO_bzr_get_changes]} )) || -VCS_INFO_bzr_get_changes() { - local -A counts - local line flag - bzr_changes=$( - ${vcs_comm[cmd]} stat -SV | while read flag line - do - counts[${flag}]=$(( ${counts[${flag}]:-0} + 1 )) - done - for flag in ${(k)counts} - do - printf "%s:%d " $flag ${counts[${flag}]} - done - ) -} - -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "use-simple" ; then - # simple parsing will fail to fetch information from lightweigth checkouts - bzrbase=${vcs_comm[basedir]} - bzrinfo[2]=${bzrbase:t} - if [[ -f ${bzrbase}/.bzr/branch/last-revision ]] ; then - bzrinfo[1]=$(< ${bzrbase}/.bzr/branch/last-revision) - bzrinfo[1]=${${bzrinfo[1]}%% *} - fi -else - # Parse the output of 'bzr info' into associative array bzr_info - ${vcs_comm[cmd]} info | { - local line key value dirtype - read dirtype - grep '^[ a-zA-Z0-9]\+: ' | while read line - do - value=${line#*': '} - key=${${line%%: *}// /_} - bzr_info[$key]=$value - done - } - - case "$dirtype" in - ('Checkout'*) - bzr_type=checkout - bzrbase=${bzr_info[checkout_root]} ;; - ('Repository checkout'*) - bzr_type=checkout - bzrbase=${bzr_info[repository_checkout_root]} ;; - ('Lightweight checkout'*) - bzr_type=lightweigth - bzrbase=${bzr_info[light_checkout_root]} ;; - (*) - bzr_type=standalone - bzrbase=${bzr_info[branch_root]} ;; - esac - - bzrbase=${bzrbase:P} - - if [ -n "${bzr_info[checkout_of_branch]}" ] && \ - zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "use-server" - then - VCS_INFO_bzr_get_info - else - case ${bzr_info[checkout_of_branch]} in - (file://*) VCS_INFO_bzr_get_info ;; - (*://*) VCS_INFO_bzr_get_info_restricted ;; - (*) VCS_INFO_bzr_get_info ;; - esac - fi -fi - -rrn=${bzrbase:t} -VCS_INFO_set-branch-format "${bzrinfo[2]}" "${bzrinfo[1]}" && - bzrbr="${REPLY}" -VCS_INFO_formats '' "${bzrbr}" "${bzrbase}" '' "${bzr_changes}" "${bzrinfo[1]}" "${bzr_changes}" -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cdv b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cdv deleted file mode 100644 index 4f811848..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cdv +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## codeville support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local cdvbase - -cdvbase=${vcs_comm[basedir]} -rrn=${cdvbase:t} -VCS_INFO_formats '' "${cdvbase:t}" "${cdvbase}" '' '' '' '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cvs b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cvs deleted file mode 100644 index bc0d5cfe..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_cvs +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## cvs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local cvsbranch cvsbase - -cvsbase="${vcs_comm[basedir]}" -# VCS_INFO_detect_cvs ensured that ./CVS/Repository exists. -cvsbranch=$(< ./CVS/Repository) -rrn=${cvsbase:t} -cvsbranch=${cvsbranch##${rrn}/} -[[ -z ${cvsbranch} ]] && cvsbranch=${rrn} -VCS_INFO_formats '' "${cvsbranch}" "${cvsbase}" '' '' '' '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_darcs b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_darcs deleted file mode 100644 index 3f6a2264..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_darcs +++ /dev/null @@ -1,11 +0,0 @@ -## vim:ft=zsh -## darcs support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local darcsbase - -darcsbase=${vcs_comm[basedir]} -rrn=${darcsbase:t} -VCS_INFO_formats '' "${darcsbase:t}" "${darcsbase}" '' '' '' '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_fossil b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_fossil deleted file mode 100644 index e84b3abc..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_fossil +++ /dev/null @@ -1,25 +0,0 @@ -## vim:ft=zsh -## fossil support by: Mike Meyer (mwm@mired.org) -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob -local a b -local -A fsinfo -local fshash fsbranch changed merging action - -${vcs_comm[cmd]} status | - while IFS=: read a b; do - fsinfo[${a//-/_}]="${b## #}" - done - -fshash=${fsinfo[checkout]%% *} -fsbranch=${fsinfo[tags]%%, *} -changed=${(Mk)fsinfo:#(ADDED|EDITED|DELETED|UPDATED)*} -merging=${(Mk)fsinfo:#*_BY_MERGE*} -if [ -n "$merging" ]; then - action="merging" -fi - -rrn=${fsinfo[local_root]:t} -VCS_INFO_formats "$action" "${fsbranch}" "${fsinfo[local_root]}" '' "$changed" "${fshash}" "${fsinfo[repository]}" -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_git b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_git deleted file mode 100644 index e45eebc8..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_git +++ /dev/null @@ -1,398 +0,0 @@ -## vim:ft=zsh -## git support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local gitdir gitbase gitbranch gitaction gitunstaged gitstaged gitsha1 gitmisc -local -i querystaged queryunstaged -local -a git_patches_applied git_patches_unapplied -local -A hook_com - -(( ${+functions[VCS_INFO_git_getaction]} )) || -VCS_INFO_git_getaction () { - local gitdir=$1 - local tmp - - for tmp in "${gitdir}/rebase-apply" \ - "${gitdir}/rebase" \ - "${gitdir}/../.dotest" ; do - if [[ -d ${tmp} ]] ; then - if [[ -f "${tmp}/rebasing" ]] ; then - gitaction="rebase" - elif [[ -f "${tmp}/applying" ]] ; then - gitaction="am" - else - gitaction="am/rebase" - fi - return 0 - fi - done - - for tmp in "${gitdir}/rebase-merge/interactive" \ - "${gitdir}/.dotest-merge/interactive" ; do - if [[ -f "${tmp}" ]] ; then - gitaction="rebase-i" - return 0 - fi - done - - for tmp in "${gitdir}/rebase-merge" \ - "${gitdir}/.dotest-merge" ; do - if [[ -d "${tmp}" ]] ; then - gitaction="rebase-m" - return 0 - fi - done - - if [[ -f "${gitdir}/MERGE_HEAD" ]] ; then - gitaction="merge" - return 0 - fi - - if [[ -f "${gitdir}/BISECT_LOG" ]] ; then - gitaction="bisect" - return 0 - fi - - if [[ -f "${gitdir}/CHERRY_PICK_HEAD" ]] ; then - if [[ -d "${gitdir}/sequencer" ]] ; then - gitaction=cherry-seq - else - gitaction=cherry - fi - return 0 - fi - - if [[ -d "${gitdir}/sequencer" ]] ; then - gitaction="cherry-or-revert" - return 0 - fi - - return 1 -} - -(( ${+functions[VCS_INFO_git_getbranch]} )) || -VCS_INFO_git_getbranch () { - local gitdir=$1 tmp actiondir - local gitsymref="${vcs_comm[cmd]} symbolic-ref HEAD" - - actiondir='' - for tmp in "${gitdir}/rebase-apply" \ - "${gitdir}/rebase" \ - "${gitdir}/../.dotest"; do - if [[ -d ${tmp} ]]; then - actiondir=${tmp} - break - fi - done - if [[ -n ${actiondir} ]]; then - gitbranch="$(${(z)gitsymref} 2> /dev/null)" - [[ -z ${gitbranch} ]] && [[ -r ${actiondir}/head-name ]] \ - && gitbranch="$(< ${actiondir}/head-name)" - [[ -z ${gitbranch} || ${gitbranch} == 'detached HEAD' ]] && [[ -r ${actiondir}/onto ]] \ - && gitbranch="$(< ${actiondir}/onto)" - - elif [[ -f "${gitdir}/MERGE_HEAD" ]] ; then - gitbranch="$(${(z)gitsymref} 2> /dev/null)" - [[ -z ${gitbranch} ]] && gitbranch="$(< ${gitdir}/ORIG_HEAD)" - - elif [[ -d "${gitdir}/rebase-merge" ]] ; then - gitbranch="$(< ${gitdir}/rebase-merge/head-name)" - if [[ $gitbranch == 'detached HEAD' ]]; then - # get a sha1 - gitbranch="$(< ${gitdir}/rebase-merge/orig-head)" - fi - - elif [[ -d "${gitdir}/.dotest-merge" ]] ; then - gitbranch="$(< ${gitdir}/.dotest-merge/head-name)" - - elif gitbranch="$(${(z)gitsymref} 2> /dev/null)" ; then - elif gitbranch="refs/tags/$(${vcs_comm[cmd]} describe --all --exact-match HEAD 2>/dev/null)" ; then - elif gitbranch="$(${vcs_comm[cmd]} describe --contains HEAD 2>/dev/null)" ; then - ## Commented out because we don't know of a case in which 'describe --contains' fails and 'name-rev --tags' succeeds. - #elif gitbranch="$(${vcs_comm[cmd]} name-rev --name-only --no-undefined --tags HEAD 2>/dev/null)" ; then - elif gitbranch="$(${vcs_comm[cmd]} name-rev --name-only --no-undefined --always HEAD 2>/dev/null)" ; then - fi - - if [[ -z ${gitbranch} ]] - then - gitbranch="${${"$(< $gitdir/HEAD)"}[1,7]}..." - fi - - return 0 -} - -(( ${+functions[VCS_INFO_git_handle_patches]} )) || -VCS_INFO_git_handle_patches () { - local git_applied_s git_unapplied_s gitmsg - # All callers populate $git_patches_applied and $git_patches_unapplied in - # order, but the hook requires us to reverse $git_patches_applied. - git_patches_applied=(${(Oa)git_patches_applied}) - - VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' \ - 'git_patches_unapplied' 'git_unapplied_s' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" gitmsg \ - '' '' '' - gitmisc=$REPLY -} - -gitdir=${vcs_comm[gitdir]} -VCS_INFO_git_getbranch ${gitdir} -gitbase=${vcs_comm[basedir]} -if [[ -z ${gitbase} ]]; then - # Bare repository - gitbase=${gitdir:P} -fi -rrn=${gitbase:t} -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-revision ; then - gitsha1=$(${vcs_comm[cmd]} rev-parse --quiet --verify HEAD) -else - gitsha1='' -fi -gitbranch="${gitbranch##refs/[^/]##/}" - -if [[ -z ${gitdir} ]] || [[ -z ${gitbranch} ]] ; then - return 1 -fi - -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-changes" ; then - querystaged=1 - queryunstaged=1 -elif zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "check-for-staged-changes" ; then - querystaged=1 -fi -if (( querystaged || queryunstaged )) && \ - [[ "$(${vcs_comm[cmd]} rev-parse --is-inside-work-tree 2> /dev/null)" == 'true' ]] ; then - # Default: off - these are potentially expensive on big repositories - if (( queryunstaged )) ; then - ${vcs_comm[cmd]} diff --no-ext-diff --ignore-submodules=dirty --quiet --exit-code 2> /dev/null || - gitunstaged=1 - fi - if (( querystaged )) ; then - if ${vcs_comm[cmd]} rev-parse --quiet --verify HEAD &> /dev/null ; then - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty HEAD 2> /dev/null - (( $? && $? != 128 )) && gitstaged=1 - else - # empty repository (no commits yet) - # 4b825dc642cb6eb9a060e54bf8d69288fbee4904 is the git empty tree. - ${vcs_comm[cmd]} diff-index --cached --quiet --ignore-submodules=dirty 4b825dc642cb6eb9a060e54bf8d69288fbee4904 2>/dev/null - (( $? && $? != 128 )) && gitstaged=1 - fi - fi -fi - -VCS_INFO_adjust -VCS_INFO_git_getaction ${gitdir} - -local patchdir=${gitdir}/patches/${gitbranch} -if [[ -d $patchdir ]] && [[ -f $patchdir/applied ]] \ - && [[ -f $patchdir/unapplied ]] -then - # stgit - git_patches_applied=(${(f)"$(< "${patchdir}/applied")"}) - git_patches_unapplied=(${(f)"$(< "${patchdir}/unapplied")"}) - VCS_INFO_git_handle_patches -elif [[ -d "${gitdir}/rebase-merge" ]]; then - # 'git rebase -i' - patchdir="${gitdir}/rebase-merge" - local p - (( ${+functions[VCS_INFO_git_map_rebase_line_to_hash_and_subject]} )) || - VCS_INFO_git_map_rebase_line_to_hash_and_subject() { - local p=$1 - unset REPLY - # pick/edit/fixup/squash/reword: Add "$hash $subject" to $git_patches_applied. - # exec: Add "exec ${command}" to $git_patches_applied. - # (anything else): As 'exec'. - case $p in - ([#]*) - # Comment line. Skip. - return 0 - ;; - (''(p|pick|e|edit|r|reword|f|fixup|s|squash)' '*) - # The line is of the form "pick $hash $subject". - # Just strip the verb and we're good to go. - p=${p#* } - # Special case: in an interactive rebase, if the user wrote "p $shorthash\n" - # in the editor (without a description after the hash), then the .../done - # file will contain "p $longhash $shorthash\n" (git 2.11.0) or "pick $longhash\n" - # (git 2.19.0). - if [[ $p != *\ * ]]; then - # The line is of the form "pick $longhash\n" - # - # Mark the log message subject as unknown. - # TODO: Can we performantly obtain the subject? - p+=" ?" - elif (( ${#${p//[^ ]}} == 1 )) && [[ ${p%% *} == ${p#* }* ]]; then - # The line is of the form "p $longhash $shorthash\n" - # - # The shorthash is superfluous, so discard it, and mark - # the log message subject as unknown. - # TODO: Can we performantly obtain the subject? - p="${p%% *} ?" - fi - ;; - (''(x|exec) *) - # The line is of the form 'exec foo bar baz' where 'foo bar - # baz' is a shell command. There's no way to map _that_ to - # "$hash $subject", but I hope this counts as making an effort. - p=${p/#x /exec } - ;; - (*) - # Forward compatibility with not-yet-existing 'git rebase -i' verbs. - if [[ $p != *\ * ]]; then - p+=" ?" - fi - esac - REPLY=$p - } - if [[ -f "${patchdir}/done" ]] ; then - for p in ${(f)"$(< "${patchdir}/done")"}; do - VCS_INFO_git_map_rebase_line_to_hash_and_subject "$p" - (( $+REPLY )) && git_patches_applied+=( "$REPLY" ) - done - fi - if [[ -f "${patchdir}/git-rebase-todo" ]] ; then - for p in ${(f)"$(< "${patchdir}/git-rebase-todo")"}; do - VCS_INFO_git_map_rebase_line_to_hash_and_subject "$p" - (( $+REPLY )) && git_patches_unapplied+=( "$REPLY" ) - done - fi - VCS_INFO_git_handle_patches -elif [[ -d "${gitdir}/rebase-apply" ]]; then - # 'git rebase' without -i, or 'git am' - patchdir="${gitdir}/rebase-apply" - local next="${patchdir}/next" - local this_patch_file - if [[ -f $next ]]; then - local cur=$(< $next) - local p subject - # Compute patch names for patches "before" the current patch - if [[ -r ${patchdir}/rewritten ]]; then - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple; then - git_patches_applied=( ${${(f)"$(<${patchdir}/rewritten)"}// */' ?'} ) - else - git_patches_applied=( - ${(f)"$(${vcs_comm[cmd]} log --no-walk=unsorted --pretty='%h %s' ${${(f)"$(<${patchdir}/rewritten)"}%% *} --)"} - ) - fi - else - # Compatibility with old git. In 2.11 and 2.24, at least, - # (( cur == 1 )), so the loop body would never run. However, both - # of these versions have original-commit and orig-head and would - # take the 'if' branch, rather than this 'else' branch. - for ((p = 1; p < cur; p++)); do - printf -v this_patch_file "%s/%04d" "${patchdir}" "${p}" - if [[ -f $this_patch_file ]]; then - VCS_INFO_patch2subject "${this_patch_file}" - git_patches_applied+=( "$p $REPLY" ) - else - git_patches_applied+=( "$p ?" ) - fi - done - fi - # Set $subject to the info for the current patch - if [[ -f "${patchdir}/msg-clean" ]]; then - subject="${$(< "${patchdir}/msg-clean")[(f)1]}" - elif [[ -f "${patchdir}/final-commit" ]]; then - # This value is not rfc2047-encoded. It's also available via - # "${patchdir}/info". - subject="${$(< "${patchdir}/final-commit")[(f)1]}" - elif printf -v this_patch_file "%s/%04d" "${patchdir}" "${cur}" - [[ -f $this_patch_file ]] - then - # This branch is last for several reasons: - # - # - The "Subject" header will be MIME-encoded (rfc2047). - # - # - If the mail has full rfc822 headers (including "Received" and - # so on), we won't find the "Subject:" header, since - # VCS_INFO_patch2subject only checks the first few lines. - # - # - In --scissors mode, we may find the outer "Subject:" header, - # whereas the inner one (after the scissors line) will be used, - # if present. - () { - local REPLY - VCS_INFO_patch2subject "${this_patch_file}" - subject=$REPLY - } - fi - subject=${subject:-'?'} - if [[ -f "${patchdir}/original-commit" ]]; then - git_patches_applied+=("$(< ${patchdir}/original-commit) $subject") - elif [[ -f "${patchdir}/next" ]]; then - git_patches_applied+=("$(< ${patchdir}/next) $subject") - else - git_patches_applied+=("? $subject") - fi - # Handle patches scheduled for after the current patch, if instructed to. - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-unapplied; then - local last="$(< "${patchdir}/last")" - if [[ -r ${patchdir}/original-commit && -r ${patchdir}/orig-head ]] && - ! zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple - then - git_patches_unapplied+=( ${(f)"$(${vcs_comm[cmd]} log --reverse --pretty="%h %s" "$(<${patchdir}/original-commit)..$(<${patchdir}/orig-head)")"} ) - else - for ((p = cur+1; p <= last; p++)); do - printf -v this_patch_file "%s/%04d" "${patchdir}" "${p}" - if [[ -f $this_patch_file ]]; then - VCS_INFO_patch2subject "${this_patch_file}" - git_patches_unapplied+=( "$p $REPLY" ) - else - git_patches_unapplied+=( "$p ?" ) - fi - done - fi - fi - fi - unset this_patch_file - - VCS_INFO_git_handle_patches -elif [[ -f "${gitdir}/MERGE_HEAD" ]]; then - # This is 'git merge --no-commit' - local -a heads=( ${(@f)"$(<"${gitdir}/MERGE_HEAD")"} ) - local subject; - # TODO: maybe read up to the first blank line - IFS='' read -r subject < "${gitdir}/MERGE_MSG" - # $subject is the subject line of the would-be commit - # Maybe we can get the subject lines of MERGE_HEAD's commits cheaply? - - local p - for p in $heads[@]; do - git_patches_applied+=("$p $subject") - done - unset p - - # Not touching git_patches_unapplied - - VCS_INFO_git_handle_patches -elif [[ -f "${gitdir}/CHERRY_PICK_HEAD" ]]; then - # 'git cherry-pick' without -n, that conflicted. (With -n, git doesn't - # record the CHERRY_PICK_HEAD information anywhere, as of git 2.6.2.) - # - # ### 'git cherry-pick foo bar baz' only records the "remaining" part of - # ### the queue in the .git dir: if 'bar' has a conflict, the .git dir - # ### has a record of 'baz' being queued, but no record of 'foo' having been - # ### part of the queue as well. Therefore, the %n/%c applied/unapplied - # ### expandos will be memoryless: the "applied" counter will always - # ### be "1". The %u/%c tuple will assume the values [(1,2), (1,1), (1,0)], - # ### whereas the correct sequence would be [(1,2), (2,1), (3,0)]. - local subject - # TODO: maybe read up to the first blank line - IFS='' read -r subject < "${gitdir}/MERGE_MSG" - git_patches_applied=( "$(<${gitdir}/CHERRY_PICK_HEAD) ${subject}" ) - if [[ -f "${gitdir}/sequencer/todo" ]]; then - # Get the next patches, and remove the one that's in CHERRY_PICK_HEAD. - git_patches_unapplied=( ${${(M)${(f)"$(<"${gitdir}/sequencer/todo")"}:#pick *}#pick } ) - git_patches_unapplied[1]=() - else - git_patches_unapplied=() - fi - VCS_INFO_git_handle_patches -else - gitmisc='' -fi - -backend_misc[patches]="${gitmisc}" -VCS_INFO_formats "${gitaction}" "${gitbranch}" "${gitbase}" "${gitstaged}" "${gitunstaged}" "${gitsha1}" "${gitmisc}" -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_hg b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_hg deleted file mode 100644 index ea3798b8..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_hg +++ /dev/null @@ -1,244 +0,0 @@ -## vim:ft=zsh -## mercurial support by: Frank Terbeck <ft@bewatermyfriend.org> -## with large contributions by Seth House <seth@eseth.com> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit - -local hgbase bmfile branchfile topicfile rebasefile dirstatefile mqseriesfile \ - curbmfile curbm \ - mqstatusfile mqguardsfile patchdir mergedir \ - r_csetid r_lrev r_branch i_bmhash i_bmname \ - revformat branchformat hgactionstring hgchanges \ - hgbmstring hgmqstring applied_string unapplied_string guards_string - -local -a hgid_args defrevformat defbranchformat \ - hgbmarks mqpatches mqguards mqunapplied hgmisc \ - i_patch i_patchguards i_negguards i_posguards - -local -A hook_com - -hgbase=${vcs_comm[basedir]} -rrn=${hgbase:t} -r_csetid='' # changeset id (long hash) -r_lrev='' # local revision -patchdir="${hgbase}/.hg/patches" -mergedir="${hgbase}/.hg/merge/" -bmfile="${hgbase}/.hg/bookmarks" -curbmfile="${hgbase}/.hg/bookmarks.current" -branchfile="${hgbase}/.hg/branch" -topicfile="${hgbase}/.hg/topic" -rebasefile="${hgbase}/.hg/rebasestate" -dirstatefile="${hgbase}/.hg/dirstate" -mqstatusfile="${patchdir}/status" # currently applied patches -mqseriesfile="${patchdir}/series" # all patches -mqguardsfile="${patchdir}/guards" - -# Look for any --flavours -VCS_INFO_adjust - -# Calling the 'hg' program is quite a bit too slow for prompts. -# Disabled by default anyway, so no harm done. -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-revision ; then - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" use-simple \ - && VCS_INFO_hexdump ${dirstatefile} 20 ; then - # Calling VCS_INFO_hexdump is (much) faster than hg but doesn't get - # the local rev - r_csetid=$REPLY - else - # Settling for a short (but unique!) hash because getting the full - # 40-char hash in addition to all the other info we want isn't - # available in a single hg invocation - hgid_args=( id -i -n ) - - # Looking for changes is a tad bit slower since the dirstate cache must - # first be refreshed before being read - zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - "check-for-changes" || hgid_args+=( -r. ) - - HGPLAIN=1 ${vcs_comm[cmd]} ${(z)hgid_args} 2> /dev/null \ - | read -r r_csetid r_lrev - fi -fi - -# If the user doesn't opt to invoke hg we can still get the current branch -if [[ -r ${branchfile} ]] ; then - r_branch=$(< ${branchfile}) -fi - -# If we still don't know the branch it's safe to assume default -[[ -n ${r_branch} ]] || r_branch="default" - -# Show topic if there is any (the UI for this experimental concept is not yet -# final, but for a long time the convention has been to join the branch name -# and the topic name by a colon) -if [[ -f ${topicfile} && -r ${topicfile} && -s ${topicfile} ]] ; then - IFS= read -r REPLY < ${topicfile} - r_branch=${r_branch}:${REPLY} -fi - -# The working dir has uncommitted-changes if the revision ends with a + -if [[ $r_lrev[-1] == + ]] ; then - hgchanges=1 - - r_lrev=${r_lrev%+} - r_csetid=${r_csetid%+} -fi - -# This directory only exists during a merge -[[ -d $mergedir ]] && hgactionstring="merging" - -# This file only exists during a rebase -[[ -e $rebasefile ]] && hgactionstring="rebasing" - - -### Build the current revision display -[[ -n ${r_csetid} ]] && defrevformat+=( "%h" ) -[[ -n ${r_lrev} ]] && defrevformat+=( "%r" ) - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - "hgrevformat" revformat || revformat=${(j/:/)defrevformat} - -hook_com=( localrev "${r_lrev}" "hash" "${r_csetid}" ) - -if VCS_INFO_hook 'set-hgrev-format' "${revformat}"; then - zformat -f r_lrev "${revformat}" \ - "r:${hook_com[localrev]}" "h:${hook_com[hash]}" -else - r_lrev=${hook_com[rev-replace]} -fi - -hook_com=() - -### Build the branch display -[[ -n ${r_branch} ]] && defbranchformat+=( "%b" ) -[[ -n ${r_lrev} ]] && defbranchformat+=( "%r" ) - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" \ - branchformat branchformat || branchformat=${(j/:/)defbranchformat} - -hook_com=( branch "${r_branch}" revision "${r_lrev}" ) - -if VCS_INFO_hook 'set-branch-format' "${branchformat}"; then - zformat -f branchformat "${branchformat}" \ - "b:${hook_com[branch]}" "r:${hook_com[revision]}" -else - branchformat=${hook_com[branch-replace]} -fi - -hook_com=() - -### Look for current Bookmarks (this requires knowing the changeset id) -if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-bookmarks \ - && [[ -r "${bmfile}" ]] && [[ -n "$r_csetid" ]] ; then - while read -r i_bmhash i_bmname ; do - # Compare hash in bookmarks file with changeset id - [[ $i_bmhash == $r_csetid* ]] && hgbmarks+=( $i_bmname ) - done < ${bmfile} - - if [[ -r "$curbmfile" ]] ; then - curbm=$(<"${curbmfile}") - hook_com[hg-active-bookmark]=$curbm - else - # leave curbm empty and [hg-active-bookmark] undefined. - fi - - if VCS_INFO_hook 'gen-hg-bookmark-string' "${hgbmarks[@]}"; then - # If there is an active bookmark, annotate it and put it first. - if [[ -n $curbm ]] ; then - hgbmarks[(i)$curbm]=() - hgbmarks[1,0]="${curbm}*" - fi - hgbmstring=${(j:, :)hgbmarks} - # Deannotate the array, in case later code expects it to be valid. - # (The order is not restored.) - [[ -n $curbm ]] && hgbmarks[1]=${${hgbmarks[1]}[1,-2]} - else - hgbmstring=${hook_com[hg-bookmark-string]} - fi - - hook_com=() -fi - -### Look for any applied Mercurial Queue patches -if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \ - && [[ -d $patchdir ]] ; then - if [[ -e $mqstatusfile ]]; then - mqpatches=( ${${(f)"$(< "${patchdir}/status")"}/(#s)[a-f0-9]##:/} ) - mqpatches=( ${(Oa)mqpatches} ) - fi - - if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" get-unapplied \ - && [[ -r ${mqseriesfile} ]]; then - # Okay, here's a little something that assembles a list of unapplied - # patches that takes into account if mq-guards are active or not. - - # Collect active guards - if [[ -r ${mqguardsfile} ]]; then - mqguards=( ${(f)"$(< "${mqguardsfile}")"} ) - mqguards=( ${(oa)mqguards} ) - fi - - while read -r i_patch i_patchguards ; do - # Skip commented lines - [[ ${i_patch} == [[:space:]]#"#"* ]] && continue - - # Skip applied patches - (( ${+mqpatches[(re)${i_patch}]} )) && continue - - # Separate negative and positive guards to more easily find the - # intersection of active guards with patch guards - i_patchguards=( ${(s: :)i_patchguards} ) - i_negguards=( ${${(M)i_patchguards:#*"#-"*}/(#s)\#-/} ) - i_posguards=( ${${(M)i_patchguards:#*"#+"*}/(#s)\#+/} ) - - # Patch with any negative guards is never pushed if guard is active - if [[ ${#i_negguards} -gt 0 - && ${#${(@M)mqguards:#${(~j,|,)i_negguards}}} -gt 0 ]] ; then - continue - fi - - # Patch with positive guards is only pushed if guard is active - if [[ ${#i_posguards} -gt 0 ]] ; then - if [[ ${#${(@M)mqguards:#${(~j,|,)i_posguards}}} -gt 0 ]] ; then - mqunapplied+=( $i_patch ) - fi - continue - fi - - # If we made it this far the patch isn't guarded and should be pushed - mqunapplied+=( $i_patch ) - done < ${mqseriesfile} - fi - - if VCS_INFO_hook 'gen-mqguards-string' "${mqguards[@]}"; then - guards_string=${(j:,:)mqguards} - # TODO: %-escape extra_zformats[g:...] value - else - guards_string=${hook_com[guards-string]} - fi - - local -A extra_hook_com=( guards "${guards_string}" guards-n ${#mqguards} ) - - (( ${+functions[VCS_INFO_hg_extra_zformats]} )) || - VCS_INFO_hg_extra_zformats() { - reply=( "g:${hook_com[guards]}" "G:${#mqguards}" ) - } - - VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ - 'mqunapplied' 'unapplied_string' \ - ":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring \ - extra_hook_com VCS_INFO_hg_extra_zformats '' - hgmqstring=$REPLY -fi - - -### Build the misc string -hgmisc+=( ${hgmqstring} ) -hgmisc+=( ${hgbmstring} ) - -backend_misc[patches]="${hgmqstring}" -backend_misc[bookmarks]="${hgbmstring}" - -VCS_INFO_formats "${hgactionstring}" "${branchformat}" "${hgbase}" '' "${hgchanges}" "${r_lrev}" "${(j:;:)hgmisc}" -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_mtn b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_mtn deleted file mode 100644 index 0a8064c3..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_mtn +++ /dev/null @@ -1,12 +0,0 @@ -## vim:ft=zsh -## monotone support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local mtnbranch mtnbase - -mtnbase=${vcs_comm[basedir]} -rrn=${mtnbase:t} -mtnbranch=${${(M)${(f)"$( ${vcs_comm[cmd]} status )"}:#(#s)Current branch:*}/*: /} -VCS_INFO_formats '' "${mtnbranch}" "${mtnbase}" '' '' '' '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_p4 b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_p4 deleted file mode 100644 index e8a08a66..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_p4 +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -## perforce support by: Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -# XXX: This soooo needs to be cached -setopt localoptions extendedglob -local p4base a b -local -A p4info -local -A hook_com - -${vcs_comm[cmd]} info | while IFS=: read a b; do p4info[${a// /_}]="${b## #}"; done -p4base=${vcs_comm[basedir]} - -# We'll use the client name as the branch; close enough. -local p4branch change -# We'll use the latest change number to which the hierarchy from -# here down is synced as the revision. -# I suppose the following might be slow on a tortuous client view. -change="${${$(${vcs_comm[cmd]} changes -m 1 ...\#have)##Change }%% *}" -rrn=${p4base:t} -VCS_INFO_set-branch-format "${p4info[Client_name]}" "${change}" && - p4branch="${REPLY}" -VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' "$change" '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svk b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svk deleted file mode 100644 index 149e3022..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svk +++ /dev/null @@ -1,14 +0,0 @@ -## vim:ft=zsh -## svk support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit -local svkbranch svkbase -local -A hook_com - -svkbase=${vcs_comm[basedir]} -rrn=${svkbase:t} -VCS_INFO_set-branch-format "${vcs_comm[branch]}" "${vcs_comm[revision]}" && - svkbranch="${REPLY}" -VCS_INFO_formats '' "${svkbranch}" "${svkbase}" '' '' "${vcs_comm[revision]}" '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svn b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svn deleted file mode 100644 index b33efc2f..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_svn +++ /dev/null @@ -1,74 +0,0 @@ -## vim:ft=zsh -## subversion support by: -## + Frank Terbeck <ft@bewatermyfriend.org> -## + Phil Pennock -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local svnbase svnbranch a b rrn -local -i rc -local -A svninfo parentinfo cwdinfo -local -A hook_com -integer -r SVN_ERR_WC_UPGRADE_REQUIRED=155036 # from /usr/local/include/subversion-1/svn_error_codes.h -integer -r SVN_ERR_WC_UNSUPPORTED_FORMAT=155021 - -svnbase="."; -svninfo=() -# Unfortunately, `$pipestatus' is broken currently. Until that problem is -# resolved, here is a workaround that will get things done, without using it. -# Clumsily, but that's life. -local -a dat -dat=( ${(f)"$(${vcs_comm[cmd]} info --non-interactive 2>&1)"} ) -rc=$? -if (( rc != 0 )) ; then - if (( rc == 1 )) && [[ -n ${(M)dat:#"svn: E${SVN_ERR_WC_UPGRADE_REQUIRED}: "*} ]]; then - hook_com=() - # User should run 'svn upgrade' - VCS_INFO_formats '' '?' '?' '' '' '?' 'working copy upgrade required' - return $? - elif (( rc == 1 )) && [[ -n ${(M)dat:#"svn: E${SVN_ERR_WC_UNSUPPORTED_FORMAT}: "*} ]]; then - hook_com=() - # User probably needs to install a newer svn, but we're not sure, so point - # the user to svn's error message. - VCS_INFO_formats '' '?' '?' '' '' '?' 'svn error' - return $? - else - return 1 - fi -fi -# The following line is the real code, the following is the workaround. -#${vcs_comm[cmd]} info --non-interactive \ -print -l "${dat[@]}" \ -|& while IFS=: read a b; do - svninfo[${a// /_}]="${b## #}" -done -#rc=${pipestatus[1]} -#(( rc != 0 )) && return 1 - -cwdinfo=(${(kv)svninfo}) - -# Set svnbase to the wcroot path and svninfo to its `svn info`. -if (( ${+svninfo[Working_Copy_Root_Path]} )); then - # svn 1.7+ - svnbase=${svninfo[Working_Copy_Root_Path]} - ${vcs_comm[cmd]} info --non-interactive -- "${svnbase}" | while IFS=: read a b; do svninfo[${a// /_}]="${b## #}"; done -else - # svn 1.0-1.6 - svnbase=${svnbase:P} - while [[ -d "${svnbase:h}/.svn" ]]; do - parentinfo=() - ${vcs_comm[cmd]} info --non-interactive -- "${svnbase:h}" | while IFS=: read a b; do parentinfo[${a// /_}]="${b## #}"; done - [[ ${parentinfo[Repository_UUID]} != ${svninfo[Repository_UUID]} ]] && break - svninfo=(${(kv)parentinfo}) - svnbase=${svnbase:h} - if [[ $svnbase == '/' ]]; then - break - fi - done -fi - -rrn=${svnbase:t} -VCS_INFO_set-branch-format "${svninfo[URL]##*/}" "${cwdinfo[Revision]}" && - svnbranch="${REPLY}" -VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' "${cwdinfo[Revision]}" '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_tla b/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_tla deleted file mode 100644 index 4e9cee8b..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_get_data_tla +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## gnu arch support by: Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local tlabase tlabranch - -tlabase=${vcs_comm[basedir]:P} -rrn=${tlabase:t} -# tree-id gives us something like 'foo@example.com/demo--1.0--patch-4', so: -tlabranch=${${"$( ${vcs_comm[cmd]} tree-id )"}/*\//} -VCS_INFO_formats '' "${tlabranch}" "${tlabase}" '' '' '' '' -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_hexdump b/result/sw/share/zsh/5.9/functions/VCS_INFO_hexdump deleted file mode 100644 index 11f1c1a5..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_hexdump +++ /dev/null @@ -1,16 +0,0 @@ -## vim:ft=zsh - -# VCS_INFO_hexdump FILENAME BYTECOUNT -# -# Return in $REPLY a hexadecimal representation (lowercase, no whitespace) -# of the first BYTECOUNT bytes of FILENAME. - -if [[ -r $1 ]]; then - setopt localoptions nomultibyte extendedglob - local val - read -k $2 -u 0 val <$1 - REPLY=${(Lj::)${(l:2::0:)${(@s//)val}//(#m)*/$(( [##16] ##$MATCH ))}} -else - return 1 -fi - diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_hook b/result/sw/share/zsh/5.9/functions/VCS_INFO_hook deleted file mode 100644 index 94ae6301..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_hook +++ /dev/null @@ -1,58 +0,0 @@ -### vim:ft=zsh:foldmethod=marker -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -local hook static func -local context hook_name -local -i ret -local -a hooks tmp -local -i debug - -ret=0 -hook_name="$1" -shift -context=":vcs_info:${vcs}+${hook_name}:${usercontext}:${rrn}" -static=":vcs_info-static_hooks:${hook_name}" - -zstyle -t "${context}" debug && debug=1 || debug=0 -if (( debug )); then - printf 'VCS_INFO_hook: running hook: "%s"\n' "${hook_name}" - printf 'VCS_INFO_hook: current context: "%s"\n' "${context}" - printf 'VCS_INFO_hook: static context: "%s"\n' "${static}" -fi - -zstyle -a "${static}" hooks hooks -if (( debug )); then - printf '+ static hooks: %s\n' "${(j:, :)hooks}" -fi -zstyle -a "${context}" hooks tmp -if (( debug )); then - printf '+ context hooks: %s\n' "${(j:, :)tmp}" -fi -hooks+=( "${tmp[@]}" ) -(( ${#hooks} == 0 )) && return 0 - -# Protect some internal variables in hooks. The `-g' parameter to -# typeset does *not* make the parameters global here (they are already -# "*-local-export). It prevents typeset from creating *new* *local* -# parameters in this function's scope. -typeset -g -r vcs rrn usercontext maxexports msgs vcs_comm -for hook in ${hooks} ; do - func="+vi-${hook}" - if (( ${+functions[$func]} == 0 )); then - (( debug )) && printf ' + Unknown function: "%s"\n' "${func}" - continue - fi - (( debug )) && printf ' + Running function: "%s"\n' "${func}" - true - ${func} "$@" - case $? in - (0) - ;; - (*) - break - ;; - esac -done -typeset -g +r vcs rrn usercontext maxexports msgs vcs_comm -return $ret diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_maxexports b/result/sw/share/zsh/5.9/functions/VCS_INFO_maxexports deleted file mode 100644 index d697b9ab..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_maxexports +++ /dev/null @@ -1,13 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions NO_shwordsplit unset - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" "max-exports" maxexports || maxexports=2 -if [[ ${maxexports} != <-> ]] || (( maxexports < 1 )); then - printf 'vcs_info(): expecting numeric arg >= 1 for max-exports (got %s).\n' ${maxexports} - printf 'Defaulting to 2.\n' - maxexports=2 -fi -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_nvcsformats b/result/sw/share/zsh/5.9/functions/VCS_INFO_nvcsformats deleted file mode 100644 index 581aa5a9..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_nvcsformats +++ /dev/null @@ -1,15 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions noksharrays NO_shwordsplit -local c v rr - -if [[ $1 == '-preinit-' ]] ; then - c='default' - v='-preinit-' - rr='-all-' -fi -zstyle -a ":vcs_info:${v:-$vcs}:${c:-$usercontext}:${rrn:-$rr}" nvcsformats msgs -(( ${#msgs} > maxexports )) && msgs[${maxexports},-1]=() -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_patch2subject b/result/sw/share/zsh/5.9/functions/VCS_INFO_patch2subject deleted file mode 100644 index 5aa9efd2..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_patch2subject +++ /dev/null @@ -1,82 +0,0 @@ -## vim:ft=zsh -# -# This function takes as an argument a filename of a patch and sets $REPLY to -# a single-line "subject", or unsets it if no subject could be extracted. -{ - setopt localoptions extendedglob - integer i - integer -r LIMIT=10 - local -a lines - local needle - readonly svn_log_pattern='^r[0-9]* [|] .*' - if [[ -f "$1" ]]; then - # Extract the first LIMIT lines, or up to the first empty line or the start of the unidiffs, - # whichever comes first. - while (( i++ < LIMIT )); do - IFS= read -r "lines[$i]" - if [[ -z ${lines[$i]} ]] || [[ ${lines[$i]} == (#b)(---[^-]|Index:)* ]]; then - lines[$i]=() - break - fi - done < "$1" - - if needle=${lines[(i)Subject:*]}; (( needle <= $#lines )); then - # "Subject: foo" line, plus rfc822 whitespace unfolding. - # - # Example: 'git format-patch' patches. - REPLY=${lines[needle]} - REPLY=${REPLY#*: } - REPLY=${REPLY#\[PATCH\] } - while [[ ${${lines[++needle]}[1]} == ' ' ]]; do - REPLY+=${lines[needle]} - done - elif needle=${lines[(r)Description:*]}; [[ -n $needle ]]; then - # "Description: foo" line. - # - # Example: DEP-3 patches. - REPLY=${needle#*: } - elif [[ ${lines[1]} == '# HG changeset patch' ]] && { needle=${${lines:#([#]*)}[1]}; [[ -n $needle ]] }; then - # Mercurial patch - REPLY=$needle - elif [[ ${lines[1]} == "commit "[0-9a-f](#c40) ]] && - [[ ${lines[2]} == "Author:"* && ${lines[3]} == "Date:"* ]] && - (( ! ${+lines[4]} )); then - # `git show` output. - # - # The log message is after the first blank line, so open() the file - # again. Also check whether the following line (second line of the - # log message itself) is empty. - { - repeat 4 { IFS= read -r } - IFS= read -r needle; needle=${needle#' '} - if IFS= read -r; REPLY=${REPLY#' '}; [[ -n $REPLY ]]; then - needle+='...' - fi - } < "$1" - REPLY=$needle - elif [[ $lines[1] =~ $svn_log_pattern ]] || [[ $lines[2] =~ $svn_log_pattern ]]; then - # Read up to the next blank line, and the first two lines after it. - integer multiline=0 - { - while read -r needle; [[ -n $needle ]]; do done - # Read the first line of the second paragraph, which is the first - # line of the log message. - read -r needle - read -r && [[ -n $REPLY ]] && multiline=1 - } < "$1" - REPLY=$needle - if (( multiline )); then REPLY+='...'; fi - elif (( ${+lines[1]} )); then - # The first line of the file is not part of the diff. - REPLY=${lines[1]} - else - # The patch has no subject. - unset REPLY - return 0 - fi - else - # The patch cannot be examined, or invalid arguments. - unset REPLY - return 1 - fi -} diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_quilt b/result/sw/share/zsh/5.9/functions/VCS_INFO_quilt deleted file mode 100644 index ce5b41f2..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_quilt +++ /dev/null @@ -1,207 +0,0 @@ -## vim:ft=zsh:foldmethod=marker - -(( ${+functions[VCS_INFO_quilt-match]} )) || -function VCS_INFO_quilt-match() { - emulate -L zsh - setopt extendedglob - local d mode="$1" param="$2" - local -a list - - case ${mode} in - (assoc) list=( ${(kOP)param} );; - (array) : "${foo[@]}" ${(t)foo}; list=( ${(OP)param} );; - (*) return 1;; - esac - for d in "${list[@]}"; do - if [[ ${PWD} == ${d%/##}(|/*) ]]; then - print "$d" - return 0 - fi - done - return 1 -} - -(( ${+functions[VCS_INFO_quilt-standalone-detect]} )) || -function VCS_INFO_quilt-standalone-detect() { - emulate -L zsh - setopt extendedglob - local param - local -i ret - - zstyle -s "${context}" quilt-standalone param || return 1 - [[ "${param}" == 'never' ]] && return 1 - [[ "${param}" == 'always' ]] && return 0 - - if (( ${+functions[$param]} )); then - ${param} - return $? - fi - - case ${(Pt)param} in - *association*) - local m - local -A A - m="$(VCS_INFO_quilt-match assoc ${param})" - A=(${(kvP)param}) - (( $? == 0 )) && [[ ${A[$m]} == "true" ]] && return 0 - return 1 - ;; - *array*) - typeset -gU ${param} - VCS_INFO_quilt-match array ${param} > /dev/null - return $? - ;; - *scalar*) - [[ "${(P)param}" == 'always' ]] && return 0 - [[ "${(P)param}" == 'never' ]] && return 1 - ;; - esac - # If nothing hit yet, it just wasn't meant to be. - return 1 -} - -(( ${+functions[VCS_INFO_quilt-dirfind]} )) || -function VCS_INFO_quilt-dirfind() { - # This is a wrapper around VCS_INFO_bydir_detect(). It makes sure - # that $vcs_comm[] is unchanged. Currently, changing anything in it - # should not be an issue, but this makes sure the code can safely - # be called elsewhere, too - if needed. - emulate -L zsh - setopt extendedglob - local dir="$1" file="$2"; shift $# - local ret oldfile olddir - - olddir=${vcs_comm[basedir]} - vcs_comm[basedir]='' - oldfile=${vcs_comm[detect_need_file]} - vcs_comm[detect_need_file]=${file} - VCS_INFO_bydir_detect ${dir} - ret=$? - vcs_comm[detect_need_file]=${oldfile} - REPLY=${vcs_comm[basedir]} - vcs_comm[basedir]="${olddir}" - return ${ret} -} - -(( ${+functions[VCS_INFO_quilt-patch2subject]} )) || -function VCS_INFO_quilt-patch2subject() { - VCS_INFO_patch2subject "$@" -} - -{ - emulate -L zsh - setopt extendedglob - local mode="$1" - local patches pc qstring root - local -i ret - local context - local -a applied unapplied applied_string unapplied_string quiltcommand quilt_env - local -A hook_com - - context=":vcs_info:${vcs}.quilt-${mode}:${usercontext}:${rrn}" - zstyle -t "${context}" use-quilt || return 1 - - case ${mode} in - (standalone) - VCS_INFO_quilt-standalone-detect || return 1 - ;; - (addon) - ;; - (*) - printf 'Invalid mode: `%s'\''\n' "$1" - return 2 - ;; - esac - - # Look for the patches directory. - # - # 1. Check if there's a .pc/.version file in a parent dir. If so, use the - # patches dir from the corresponding .pc/.quilt_patches. - if VCS_INFO_quilt-dirfind .pc .version; then - pc=$REPLY - [[ ${quiltmode} == 'standalone' ]] && root=${pc} - pc=${pc}/.pc - if [[ -e ${pc}/applied-patches ]]; then - applied=( ${(f)"$(<$pc/applied-patches)"} ) - # throw away empty entries - applied=( ${applied:#} ) - applied=( ${(Oa)applied} ) - else - applied=() - fi - patches=$(<$pc/.quilt_patches) - patches=`builtin cd -q "${pc:h}" && print -r - ${patches:P}` - # 2. Else, locate a patches dir using the style settings. - else - zstyle -s "${context}" quilt-patch-dir patches || patches="${QUILT_PATCHES}" - : ${patches:="patches"} - if [[ "${patches}" != /* ]]; then - if VCS_INFO_quilt-dirfind "${patches}"; then - patches=$REPLY/$patches - else - return $? - fi - else - [[ -d ${patches} ]] || return 1 - fi - quilt_env+=(QUILT_PATCHES="$patches") - fi - # At this point, $patches is set and points to an existing directory. - - if zstyle -t "${context}" get-unapplied; then - # This zstyle call needs to be moved further up if `quilt' needs - # to be run in more places than this one. - zstyle -s "${context}" quiltcommand quiltcommand || quiltcommand='quilt' - unapplied=( ${(f)"$(if (( $+quilt_env[1] )); then export ${quilt_env[@]}; fi - $quiltcommand --quiltrc /dev/null unapplied 2> /dev/null)"} ) - unapplied=( ${unapplied:#} ) - else - unapplied=() - fi - - { - local i - for ((i=1; i<=$#applied; i++)); do - if VCS_INFO_quilt-patch2subject "$patches/$applied[$i]" && (( $+REPLY )) - then - applied[$i]+=" $REPLY" - else - applied[$i]+=" ?" - fi - done - for ((i=1; i<=$#unapplied; i++)); do - if VCS_INFO_quilt-patch2subject "$patches/$unapplied[$i]" && (( $+REPLY )) - then - unapplied[$i]+=" $REPLY" - else - unapplied[$i]+=" ?" - fi - done - } - - typeset -A quilt_extra_info=( - quilt-patches-dir ${patches} - ${pc:+"quilt-pc-dir"} $pc - ) - - VCS_INFO_set-patch-format 'applied' 'applied_string' \ - 'unapplied' 'unapplied_string' \ - ${context} qstring \ - quilt_extra_info '' quilt_extra_info - qstring=$REPLY - - case ${mode} in - (standalone) - backend_misc[patches]=${qstring} - VCS_INFO_formats '' '' "${root}" '' '' '' "${qstring}" - VCS_INFO_set - ;; - (addon) - # When VCS_INFO_quilt() is called with "addon" a "local REPLY" variable - # should be in place. That variable can be unset after it's being used. - REPLY="${qstring}" - ;; - esac - - VCS_INFO_hook 'post-quilt' ${mode} ${patches} ${pc:-\\-nopc-} -} diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_reposub b/result/sw/share/zsh/5.9/functions/VCS_INFO_reposub deleted file mode 100644 index 8ebc90b6..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_reposub +++ /dev/null @@ -1,14 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -setopt localoptions extendedglob NO_shwordsplit -local base=${1%%/##} tmp - -tmp="$(pwd -P)" -[[ $tmp == ${base}/* ]] || { - printf '.' - return 1 -} -printf '%s' ${tmp#$base/} -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_set b/result/sw/share/zsh/5.9/functions/VCS_INFO_set deleted file mode 100644 index 0e584914..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_set +++ /dev/null @@ -1,30 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -# This function sets ${vcs_info_msg_<N>_} from ${msgs}. - -setopt localoptions noksharrays NO_shwordsplit unset -local -i i j - -if [[ $1 == '--nvcs' ]] ; then - [[ $2 == '-preinit-' ]] && (( maxexports == 0 )) && (( maxexports = 1 )) - for i in {0..$((maxexports - 1))} ; do - typeset -g vcs_info_msg_${i}_= - done - VCS_INFO_nvcsformats $2 - [[ $2 != '-preinit-' ]] && VCS_INFO_hook "no-vcs" -fi - -(( ${#msgs} - 1 < 0 )) && return 0 -for i in {0..$(( ${#msgs} - 1 ))} ; do - (( j = i + 1 )) - typeset -g vcs_info_msg_${i}_=${msgs[$j]} -done - -if (( i < maxexports )) ; then - for j in {$(( i + 1 ))..${maxexports}} ; do - [[ -n ${(P)${:-vcs_info_msg_${j}_}} ]] && typeset -g vcs_info_msg_${j}_= - done -fi -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_set-branch-format b/result/sw/share/zsh/5.9/functions/VCS_INFO_set-branch-format deleted file mode 100644 index cbab60e2..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_set-branch-format +++ /dev/null @@ -1,24 +0,0 @@ -## vim:ft=zsh -# -# A function for calling the branch-format hook -# -# Return the value to use in REPLY -# -# Parameters: -readonly branch=$1 -readonly revision=$2 -# - -[[ -n $rrn ]] || return 1 -local -A hook_com -local branchformat - -zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat branchformat || branchformat="%b:%r" -hook_com=( branch "${branch}" revision "${revision}" ) -if VCS_INFO_hook 'set-branch-format' "${branchformat}"; then - zformat -f REPLY "${branchformat}" "b:${hook_com[branch]}" "r:${hook_com[revision]}" -else - REPLY=${hook_com[branch-replace]} -fi -hook_com=() -return 0 diff --git a/result/sw/share/zsh/5.9/functions/VCS_INFO_set-patch-format b/result/sw/share/zsh/5.9/functions/VCS_INFO_set-patch-format deleted file mode 100644 index 1c774a7f..00000000 --- a/result/sw/share/zsh/5.9/functions/VCS_INFO_set-patch-format +++ /dev/null @@ -1,91 +0,0 @@ -## vim:ft=zsh -# -# This function is the common guts of the gen-applied-string / -# gen-unapplied-string / set-patch-format dance of several backends. -# -# Parameters: -# $1 - name of an array parameter to be the argument to gen-applied-string -# (patches in reverse order) -# $2 - name of a parameter to store the applied-string in -# $3 - name of an array parameter to be the argument to gen-unapplied-string -# (patches in order) -# $4 - name of a parameter to store the unapplied-string in -# $5 - context argument for use in zstyle getters -# $6 - name of a parameter to store a patch-format format string in -# $7 - name of an assoc parameter with extra $hook_com key-value pairs for the -# set-patch-format hook invocation, or '' for none -# $8 - name of a function that sets $reply to extra arguments for the patch-format zformat call, or '' for none -# $9 - name of an assoc parameter with extra $hook_com key-value pairs for the -# gen-applied-string & gen-unapplied-string hook invocations, or '' for none -# -# The expanded patch-format string is returned in $REPLY. -# -# Output: -# - $hook_com is overwritten and the keys 'applied', 'applied-n', -# 'unapplied', 'unapplied-n', 'all-n' are set. -{ - hook_com=() - - local applied_needs_escaping='unknown' - hook_com+=( ${9:+"${(@kvP)9}"} ) - if VCS_INFO_hook 'gen-applied-string' "${(@P)1}"; then - if (( ${(P)#1} )); then - REPLY=${(P)1[1]} - else - REPLY="" - fi - applied_needs_escaping='yes' - else - REPLY=${hook_com[applied-string]} - fi - : ${(P)2::=$REPLY} - hook_com=() - - local unapplied_needs_escaping='unknown' - hook_com+=( ${9:+"${(@kvP)9}"} ) - if VCS_INFO_hook 'gen-unapplied-string' "${(@P)3}"; then - REPLY=${(P)#3} - unapplied_needs_escaping='yes' - else - REPLY=${hook_com[unapplied-string]} - fi - : ${(P)4::=$REPLY} - hook_com=() - - if (( ${(P)#1} )); then - zstyle -s "${5}" patch-format REPLY || REPLY="%p (%n applied)" - else - zstyle -s "${5}" nopatch-format REPLY || REPLY="no patch applied" - fi - : ${(P)6::=$REPLY} - - hook_com=( - applied-n ${(P)#1} - applied "${(P)2}" - unapplied-n ${(P)#3} - unapplied "${(P)4}" - ) - hook_com[all-n]=$(( ${hook_com[applied-n]} + ${hook_com[unapplied-n]} )) - hook_com+=( ${7:+"${(@kvP)7}"} ) - if VCS_INFO_hook 'set-patch-format' "${(P)6}"; then - # Escape the value for use in $PS1 - if [[ $applied_needs_escaping == 'yes' ]]; then - hook_com[applied]=${hook_com[applied]//'%'/%%} - fi - if [[ $unapplied_needs_escaping == 'yes' ]]; then - hook_com[unapplied]=${hook_com[unapplied]//'%'/%%} - fi - - reply=() - [[ -n $8 ]] && "$8" - zformat -f REPLY "${(P)6}" "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \ - "n:${hook_com[applied-n]}" "c:${hook_com[unapplied-n]}" \ - "a:${hook_com[all-n]}" \ - "${reply[@]}" - else - unset applied_needs_escaping unapplied_needs_escaping # the hook deals with escaping - REPLY=${hook_com[patch-replace]} - fi - hook_com=() - -} diff --git a/result/sw/share/zsh/5.9/functions/_SUSEconfig b/result/sw/share/zsh/5.9/functions/_SUSEconfig deleted file mode 100644 index 737a80b1..00000000 --- a/result/sw/share/zsh/5.9/functions/_SUSEconfig +++ /dev/null @@ -1,14 +0,0 @@ -#compdef SuSEconfig - -local modules -modules=( /sbin/conf.d/SuSEconfig.*~(*.rpm*|*.swap|*.bak|*.orig|*~|\#*)(N:e) ) - -_arguments \ - '--help' \ - '--quick' \ - '--force' \ - '--verbose' \ - '--nonewpackage' \ - '-norestarts' \ - '-nomodule' \ - '--module:module:compadd -a modules' diff --git a/result/sw/share/zsh/5.9/functions/__arguments b/result/sw/share/zsh/5.9/functions/__arguments deleted file mode 100644 index af771097..00000000 --- a/result/sw/share/zsh/5.9/functions/__arguments +++ /dev/null @@ -1,44 +0,0 @@ -#compdef _arguments - -# Dear reader: This function is called "__arguments" and is the completion -# function for the completion function _arguments. This function, however, is -# not the completion function _arguments. If you're looking for the function -# _arguments, then you've come to the wrong place. -# -# _arguments is a completion utility function. It is called by completion -# functions for command-line tools. -# -# __arguments is a completion function for _arguments. It runs when one does -# `_arguments -<TAB>' at the shell prompt to jog one's memory about _arguments' -# option flags. -# -# _arguments is in documented in the manual. If you were looking for its -# source code, that'd be either in ../../../Completion/Base/Utility/_arguments -# or in ./_arguments, depending on where you're reading this file. -# -# __arguments takes no arguments. - -if (( ${words[(i)--]} < CURRENT )); then - # "Deriving spec forms from the help output" - _arguments : \ - '*-i[specify option name exclude patterns]:option name exclude pattern' \ - '*-s[specify option aliases]:pattern and replacement as "(this that)"' \ - '*:helpspec (pattern\:message\:action)' -else - _arguments -A '-([AMO]*|[0CRSWnsw])' : \ - '!-n[set $NORMARG]' \ - '-s[enable single-letter option stacking (-x -y == -xy)]' \ - '-w[(rarely needed) enable single-letter option stacking with arguments (-x X -y == -xy X)]' \ - '-W[(rarely needed) enable single-letter option stacking with arguments in the same word (-x X -y == -xXy)]' \ - "-C[modify \$curcontext for \`->action' (instead of \$context)]" \ - "-R[when \`->action' matches, return 300]" \ - "-S[honour \`--' as end-of-options guard]" \ - "-A[do not complete options after non-options]:pattern matching unknown options (e.g., '-*')" \ - '-O[pass elements of array variable to function calls in actions]:array variable name:_parameters -g array' \ - "-M[specify matchspec for completing option names and values]:matchspec for completing option names and values [ 'r\\:|[_-]=* r\\:|=*' ]" \ - '-0[have ${(v)opt_args} be NUL-joined rather than colon-escaped and colon-joined]' \ - "--[derive optspecs from \`\${command} --help' output]" \ - '1::optional delimiter:(\:)' \ - '*:spec (e.g., "(-t --to)"*{-t+,--to=}"[specify recipient]\:recipient'\''s address\:_email_addresses)' - # TODO: doesn't support "Specifying Multiple Sets of Arguments" -fi diff --git a/result/sw/share/zsh/5.9/functions/_a2ps b/result/sw/share/zsh/5.9/functions/_a2ps deleted file mode 100644 index aa2f4c3b..00000000 --- a/result/sw/share/zsh/5.9/functions/_a2ps +++ /dev/null @@ -1,64 +0,0 @@ -#compdef a2ps - -# This is for the GNU version of a2ps. - -if [[ "$words[1]" != "$_cache_a2ps_cmd" ]]; then - local descr - - _cache_a2ps_cmd="$words[1]" - - descr=( "${(@)${(f@)$(_call_program features $words[1] --list=features)// - / }:#}" ) - - _cache_a2ps_values=( - "${descr[(r)Known [Ss]tyle [Ss]heets*]#* }" - "${descr[(r)Known [Ee]ncodings*]#* }" - "${descr[(r)Known [Mm]edia*]#* }" - "${descr[(r)Known [Pp]rologues*]#* }" - "${descr[(r)Known PostScript Printer Descriptions*]#* }" - "${descr[(r)Known [Oo]utputs*]#* }" - "${descr[(r)Known [Uu]ser [Oo]ptions*]#* }" - "${descr[(r)Known Variables*]#* }" - ) -fi - -integer ret=1 -local context state line expl -typeset -A opt_args - -_arguments \ - '(-E --pretty-print=)'{-E-,--pretty-print=}"[enable pretty-printing]::language:(${_cache_a2ps_values[1]})" \ - \*{-D+,--define=}"[set or unset variable]:variable:(${_cache_a2ps_values[8]})" \ - '(-d -P --printer)'{-P,--printer=}"[send output to printer]:printer:->printers" \ - '(-A --file-align)'{-A,--file-align=}'[specify alignment of separate files]:mode:(virtual rank page sheet)' \ - '(-a --pages)'{-a-,--pages=}'[select pages to print]:page range' \ - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[quiet output]' \ - '(-q --quiet --silent -v --verbose)'{-v-,--verbose=}'[verbose output]:level' \ - '(-b --header)'{-b-,--header=}'[set the page header]:text' \ - '(-g)--highlight-level=:highlight:(none normal heavy)' \ - '--list=:topic:(features delegations encodings media prologues printers style-sheets user-options variables)' \ - "--user-option=:user option:(${_cache_a2ps_values[7]})" \ - {-M,--medium=}":medium:(${_cache_a2ps_values[3]})" \ - "--ppd=::printer description:(${_cache_a2ps_values[5]})" \ - '--statusdict=:statusdict definition' \ - '--setpagedevice=:page device definition' \ - '--margin=:margin size (PostScript points)' \ - '--toc=:format' \ - --{{center,left,right}-title.underlay,{,left-,right-}footer}'=:text' \ - '*:input file:_files' -- \ - '*\*:toggle:(yes no)' \ - '*=DIRECTION:direction:(rows columns)' \ - '*=TYPE:type:((r\:CR mac\:CR unix\:LF n\:LF nr\:LFCR rn\:CRLF pc\:CRLF any auto))' \ - '--version-control*:version control:(none off t numbered nil existing never simple)' \ - '--strip-level*:strip level:((0\:everything\ is\ printed 1\:regular\ comments\ are\ not\ printed 2\:strong\ comments\ are\ not\ printed 3\:no\ comment\ is\ printed))' \ - '--sides=*:mode:(simplex duplex tumble)' \ - '--non-printable-format*:format:(caret space question-mark octal hexa emacs)' \ - "--encoding*:encoding:(${_cache_a2ps_values[2]})" \ - "--prologue*::prologue:(${_cache_a2ps_values[4]})" && ret=0 - -if [[ $state = printers ]]; then - _wanted printers expl printer compadd -- ${=_cache_a2ps_values[6]} && ret=0 - _printers && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_a2utils b/result/sw/share/zsh/5.9/functions/_a2utils deleted file mode 100644 index 8ee30ecf..00000000 --- a/result/sw/share/zsh/5.9/functions/_a2utils +++ /dev/null @@ -1,24 +0,0 @@ -#compdef a2ensite a2dissite a2enmod a2dismod - -local -a expl mods - -case "$service" in - a2ensite) - _wanted sites expl sites \ - _files -W /etc/apache2/sites-available - ;; - a2dissite) - _wanted sites expl sites \ - _files -W /etc/apache2/sites-enabled - ;; - a2enmod) - mods=( /etc/apache2/mods-available/*.load(N:r:t) ) - _wanted mods expl mods compadd -a mods - ;; - a2dismod) - mods=( /etc/apache2/mods-enabled/*.load(N:r:t) ) - _wanted mods expl mods compadd -a mods - ;; -esac - -return diff --git a/result/sw/share/zsh/5.9/functions/_aap b/result/sw/share/zsh/5.9/functions/_aap deleted file mode 100644 index 38e50f1f..00000000 --- a/result/sw/share/zsh/5.9/functions/_aap +++ /dev/null @@ -1,50 +0,0 @@ -#compdef aap - -# A-A-P recipe executive version 1.076; released 2005 May 30 12:47:03 GMT - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(- *)'{-V,--version}'[print version information and exit]' \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(-s --silent -v --verbose)'{-v,--verbose}'[print more information]' \ - '(-v --verbose -s --silent)'{-s,--silent}'[print less information]' \ - '(-d --debug)'{-d,--debug=}'[debug the specified items]:flags:' \ - '--profile=[profile A-A-P execution and write results in specified file]:output file:_files' \ - '(-n --nobuild)'{-n,--nobuild}'[print the build commands but do not execute them]' \ - '--changed=[consider specified file changed]:changed file:_files' \ - '(-t --touch)'{-t,--touch}'[update target signatures, do not build]' \ - '(-F --force)'{-F,--force}'[force rebuilding]' \ - '(-C --contents)'{-C,--contents}'[only build when file contents changed]' \ - \*{-c,--command=}'[execute a command after reading the recipe]:aap command:' \ - '(-k --continue)'{-k,--continue}'[continue building after an error]' \ - '(-S --stop)'{-S,--stop}'[stop building at first error (default)]' \ - '(-N --nofetch-recipe -R --fetch-recipe)'{-R,--fetch-recipe}'[fetch recipe file and child recipes]' \ - '(-R --fetch-recipe -N --nofetch-recipe)'{-N,--nofetch-recipe}'[do not fetch recipes for "fetch" target]' \ - '(-a --nocache)'{-a,--nocache}"[always download files, don't use the cache]" \ - '(-l --local)'{-l,--local}'[do not recurse into subdirectories]' \ - '(-j --jobs)'{-j,--jobs=}'[maximum number of parallel jobs]:number of jobs:' \ - '(-f --recipe -u --search-up --up)'{-u,--search-up,--up}'[search directory tree upwards for main.aap recipe]' \ - \*{-I,--include=}'[directory to search for included recipes]:include directory:_files -/' \ - '(-u --search-up --up -f --recipe)'{-f,--recipe=}'[recipe file to be executed]:recipe file:_files -g \*.aap\(-.\)' \ - '--install=[install specified package]:package name:' \ - '--[end of options, targets and assignments follow]' \ - '*:aap target:->target' && ret=0 - -if [[ "$state" = target ]]; then - local targets recipe - if [[ -n $opt_args[(I)(-u|--search-up|--up)] ]]; then - recipe=( (../)#main.aap(N[-1]) ) - else - recipe=${(v)opt_args[(I)(-f|--recipe)]:-main.aap} - fi - if [[ -f $recipe ]]; then - targets=( ${${(f)"$(_call_program targets $words[1] -f $recipe comment 2>/dev/null)"}/(#b)target (*):[[:blank:]]##(*)/$match[1]:${match[2]:l}} comment ) - _describe -t targets 'aap target' targets && ret=0 - else - _message -e targets 'aap target' - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_abcde b/result/sw/share/zsh/5.9/functions/_abcde deleted file mode 100644 index 3f748d37..00000000 --- a/result/sw/share/zsh/5.9/functions/_abcde +++ /dev/null @@ -1,41 +0,0 @@ -#compdef abcde - -_arguments -s -S -A "-*" \ - '(-t -T -p)-1[encode the whole CD in a single file]' \ - '-a[comma-delimited list of actions to perform]:action:_sequence compadd - cddb cue read getalbumart embedalbumart normalize encode tag move replaygain playlist clean' \ - '-b[enable batch mode normalization]' \ - '-B[enable automatic embedding of album art with certain containers]' \ - '-c+[specify an additional configuration file to parse]:config:_files' \ - '-C+[resume a session when read was completed but CD is not present]:disc id:compadd abcde.*(N:e)' \ - '-d+[specify CD device from which to read audio tracks]:CD device:_files -g "*(-%)" -P / -W /' \ - '-D[capture debugging information]' \ - '-e[erase information about encoded tracks from the internal status file]' \ - '-f[force the removal of the temporary ABCDETEMPDIR directory]' \ - "-g[enable lame's --nogap option]" \ - '-G[download album art using the getalbumart function]' \ - '(- :)-h[get help information]' \ - '-j+[start specified number of encoder processes at once]:number' \ - '-k[keep the wav files after encoding]' \ - '-l[use the low disk space algorithm]' \ - '-L[use a local CDDB repository]' \ - '-m[create DOS-style playlists, modifying the resulting one by adding CRLF line endings those to work]' \ - "-n[don't query CDDB database]" \ - '-N[non interactive mode]' \ - '-o+[select output type]:output type [vorbis]:(vorbis ogg mp3 flac spx mpc m4a wav wv ape opus mka aiff)' \ - "-p[pads track numbers with 0's]" \ - '-P[use Unix PIPES to read and encode in one step]' \ - '-Q+[specify CD lookup methods]:lookup method [musicbrainz]:_sequence compadd - musicbrainz cddb cdtext' \ - '-r+[remote encode on this comma-delimited list of machines using distmp3]:hosts:_sequence _hosts' \ - '-s+[fields to be shown in the CDDB parsed entries]:field:_sequence compadd - year genre' \ - '-S+[set the speed of the CD drive]:speed' \ - '-t+[start the numbering of the tracks at a given number]:track-number' \ - '-T+[start the numbering of the tracks at a given number and change internal tag numbering]:track-number' \ - '-U[set CDDBPROTO to version 5]' \ - '(- :)-v[show the version and exit]' \ - '-V[be more verbose]' \ - '-x[eject the CD when all tracks have been read]' \ - '-X+[use an alternative "cue2discid" implementation]:cue2discid:_command_names -e' \ - '-w+[add a comment to the tracks ripped from the CD]:comment' \ - "-W+[concatenate CD's]:cd-number" \ - '-z[debug mode]' \ - '*: :_guard "^-*" "track list"' diff --git a/result/sw/share/zsh/5.9/functions/_absolute_command_paths b/result/sw/share/zsh/5.9/functions/_absolute_command_paths deleted file mode 100644 index 0d52ff85..00000000 --- a/result/sw/share/zsh/5.9/functions/_absolute_command_paths +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This function completes 'ls' to '/bin/ls' -_hashed_absolute_command_paths() { - local -aU set_of_dirs_of_hashed_commands=( ${^commands%/*}/ ) - local i - integer ret=1 - for i in $set_of_dirs_of_hashed_commands - do - local -a matches=( "${(@)commands[(R)${~i}[^/]#]}" ) - local -a descs=( $matches:t ) - compadd -M "l:|=$i" -d descs "$@" -a matches - ret=0 - done - return ret -} - -# This function completes absolute pathnames of executables, e.g., /etc/rc.local -_typed-in_absolute_command_paths() { - # TODO: the description "full path to an executable" and tag in the caller are ignored by _path_files - if [[ -z $PREFIX ]]; then - _path_files -/ -g '*(-*)' -P / -W / - elif [[ $PREFIX[1] == / ]]; then - _path_files -/ -g '*(-*)' -W / - else - return 1 - fi -} - -_absolute_command_paths() { - _alternative \ - 'commands:hashed command by absolute path:_hashed_absolute_command_paths' \ - 'commands:full path to an executable:_typed-in_absolute_command_paths' -} - - -_absolute_command_paths "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ack b/result/sw/share/zsh/5.9/functions/_ack deleted file mode 100644 index 6dc3ab0d..00000000 --- a/result/sw/share/zsh/5.9/functions/_ack +++ /dev/null @@ -1,143 +0,0 @@ -#compdef ack ack2 ack-grep ack-standalone - -local curcontext="$curcontext" update_policy ign suf ret=1 -local -a state line -local -A opt_args - -_ack_types_caching_policy() { - # Rebuild if ackrc more recent than cache. - [[ -f ${ACKRC:-$HOME/.ackrc} && ${ACKRC:-$HOME/.ackrc} -nt "$1" ]] && return 0 - - # Rebuild if cache is older than one week. - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -zstyle -s ":completion:${curcontext}:" cache-policy update_policy -[[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _ack_types_caching_policy - -typeset -ga _ack_raw_types -if _cache_invalid ack-types || ! _retrieve_cache ack-types; then - _ack_raw_types=( - ${(S)${(S)${(f)${${"$(_call_program file-types $words[1] --help-types)"}#*--\[no\]}}%; ?irst line matches \/*\/}#*no\]} ) - [[ $#_ack_raw_types -gt 0 ]] && _store_cache ack-types _ack_raw_types -fi - -(( $#words > 2 )) && ign='!' - -_arguments -C -s -S \ - '(-i --ignore-case -I -S --smart-case --no-smart-case --nosmart-case --lines)'{-i,--ignore-case}'[match case-insensitively]' \ - '(-i --ignore-case -I -S --no-smart-case --nosmart-case --lines)'{-S,--smart-case}'[case-insensitive match unless pattern includes uppercase]' \ - '(-i --ignore-case -I -S --smart-case --no-smart-case --nosmart-case --lines)'{--no-smart-case,--nosmart-case}'[disable --smart-case option]' \ - '(-i --ignore-case -S --smart-case --no-smart-case --nosmart-case --lines)-I[turn on case-sensitivity in pattern]' \ - '(-v --invert-match)'{-v,--invert-match}'[select non-matching lines]' \ - '(-w --word-regexp)'{-w,--word-regexp}'[force pattern to match only whole words]' \ - '(-Q --literal)'{-Q,--literal}'[use literal strings]' \ - '(1)*--lines=[only print specific lines of each file]:line number (list and/or range)' \ - '(-l --files-with-matches -L --files-without-matches)'{-l,--files-with-matches}"[output matching files' names only]" \ - '(-L --files-without-matches -l --files-with-matches)'{-L,--files-without-matches}"[output non-matching files' names only]" \ - '--output=[output result of expression for each line (turns off text highlighting)]:perl expression' \ - '-o[show only matching part of line]' \ - '--passthru[print all lines, whether matching or not]' \ - '(1)--match=[specify the pattern explicitly]:pattern' \ - '(-m --max-count)'{-m+,--max-count=}'[stop after specified no of matches in each file]:max number of matches' \ - '-1[stop after reporting first match of any kind]' \ - '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print filename with each match]' \ - '(-h --no-filename -H --with-filename)'{-h,--no-filename}'[suppress printing of filenames]' \ - '(-c --count)'{-c,--count}'[only print a count of matching lines]' \ - '--column[print column number of first match on each line]' \ - '(-A --after-context -C --context)'{-A+,--after-context=}'[specify lines of trailing context]::lines [2]' \ - '(-B --before-context -C --context)'{-B+,--before-context=}'[specify lines of leading context]::lines [2]' \ - '(-C --context -A --after-context -B --before-context)'{-C+,--context=}'[specify lines of context]:lines [2]' \ - '--print0[separate filenames with a null instead of a newline]' \ - '-s[suppress error messages about nonexistent or unreadable files]' \ - "(--nopager)--pager=[direct ack's output through program]: : _command_names -e" \ - "(--pager)--nopager[don't send output through a pager; overrides .ackrc, ACK_PAGER & ACK_PAGER_COLOR]" \ - '(--noheading --heading)'{--noheading,--heading}'[print a filename heading above results, default on]' \ - '(--nobreak --break)'{--nobreak,--break}'[print a break between results from different files, default on]' \ - '(--nogroup)--group[group matches by file name]' \ - "(--group)--nogroup[don't group matches by file name]" \ - '--proximate=[separate match output with blank lines unless they are adjacent]::proximity (lines)' \ - '(--nocolor --nocolour)--colo'{,u}'r[enable color highlighting of output]' \ - '(--color --colour --color-filename --color-match --color-colno --color-lineno)--nocolo'{,u}'r[suppress the color]' \ - '(--nocolor --nocolour --color --colour)--color-filename=[sets the color to be used for filenames]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-match=[sets the color to be used for matches]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-colno=[specify color for column numbers]:color:->colors' \ - '(--nocolor --nocolour --color --colour)--color-lineno=[specify color for line numbers]:color:->colors' \ - '--flush[flush output on every line]' \ - '(1)-f[only print the files that would be searched, without actually doing any searching]' \ - '(1)-g[print files where the relative path + filename matches the given pattern]:pattern to match against filenames' \ - '--sort-files[sorts the found files lexically]' \ - '--show-types[print the file types that ack associates with each file]' \ - '(--files-from -x)--files-from=[read the list of files to search from specified file]:file:_files' \ - '(-x --files-from)-x[read the list of files to search from standard input]' \ - '*--ignore-dir'{,ectory}'=[ignore directory]:directory:_directories' \ - '*--noignore-dir'{,ectory}'=[remove directory from ignored list]:directory:_directories' \ - '*--ignore-file=[add filter for ignoring files]:filter:->filters' \ - '(-r -R --recurse -n --no-recurse)'{-r,-R,--recurse}'[recurse subdirectories]' \ - '(-n --no-recurse -r -R --recurse)'{-n,--no-recurse}"[don't descend into subdirectories]" \ - '(--nofollow)--follow[follow symlinks]' \ - "(--follow)--nofollow[don't follow symlinks]" \ - '(-k --known-types)'{-k,--known-types}'[include only files of types that ack recognizes]' \ - '*--type=[specify the types of files to include or exclude from a search]:type:->file-types' \ - '*--type-'{add,set}'=[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \ - '*--type-del=[remove all filters associated with specified file type]: :->file-types' \ - '(--env)--noenv[ignore environment variables and global ackrc files]' '!(--noenv)--env)' \ - '--ackrc=[specify an ackrc file to use]:file:_files' \ - '--ignore-ack-defaults[ignore default definitions included with ack]' \ - "${ign}(- 1 *)--create-ackrc[output an ackrc based on customizations]" \ - "${ign}(- 1 *)"{-\?,--help}'[display usage information]' \ - "${ign}(- 1 *)--help-types[display all known types]" \ - "${ign}(- 1 *)--dump[display information on which options are loaded and which RC files]" \ - '(--filter --nofilter)--filter[treat standard input as pipe]' \ - '(--filter --nofilter)--nofilter[treat standard input as tty]' \ - "${ign}(- 1 *)--man[display the manual page]" \ - "${ign}(- 1 *)--faq[display the frequently asked questions]" \ - "${ign}(- 1 *)--cookbook[display a list of tips and tricks for using ack]" \ - "${ign}(- 1 *)--version[display version and copyright information]" \ - "${ign}(- 1 *)--bar[consult Admiral Ackbar]" \ - "${ign}(- 1 *)--thpppt[bill the cat]" \ - "${ign}(- 1 *)--cathy[chocolate chocolate chocolate]" \ - {'--','--no'}${_ack_raw_types/ ##/\[}']' \ - '1: :_guard "^-*" pattern' \ - '*:file:_files' && ret=0 - -case $state in - colors) - compset -P '* ' - compset -S ' *' - _wanted colors expl color compadd \ - {,on_}{,bright_}{black,red,green,yellow,blue,magenta,cyan,white} \ - clear reset dark bold under{line,score} blink reverse concealed && ret=0 - ;; - type-defs) - if ! compset -P 1 '*:'; then - _message -e type-name 'type name' - return - fi - ;& # fall-through - filters) - if compset -P 1 'ext:'; then - _sequence _wanted extensions expl 'extension' compadd - *.*(N:e) && ret=0 - elif compset -P 1 'is:'; then - _description files expl 'file name' - _files "$expl[@]" && ret=0 - elif compset -P 1 '(firstline|)match:'; then - _message -e patterns 'pattern' - else - compset -S ':*' || suf=-S - _description filters expl filter - compadd "$expl[@]" ${suf:+-S:} ext is && ret=0 - compadd "$expl[@]" ${suf:+-S:/} match firstlinematch && ret=0 - fi - ;; - file-types) - local types; types=( {,no}${^_ack_raw_types/ ##/:} ) - _describe -t file-types 'file type' types && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_acpi b/result/sw/share/zsh/5.9/functions/_acpi deleted file mode 100644 index 85068750..00000000 --- a/result/sw/share/zsh/5.9/functions/_acpi +++ /dev/null @@ -1,18 +0,0 @@ -#compdef acpi - -_arguments -s \ - '(-b --battery)'{-b,--battery}'[battery information]' \ - '(-B --without-battery)'{-B,--without-battery}'[suppress battery information]' \ - '(-t --thermal)'{-t,--thermal}'[thermal information]' \ - '(-T --without-thermal)'{-T,--without-thermal}'[suppress thermal information]' \ - '(-a --ac-adapter)'{-a,--ac-adapter}'[ac adapter information]' \ - '(-A --without-ac-adapter)'{-A,--without-ac-adapter}'[suppress ac-adapter information]' \ - '(-V --everything)'{-V,--everything}'[show every device, overrides above options]' \ - '(-s --show-empty)'{-s,--show-empty}'[show non-operational devices]' \ - '(-S --hide-empty)'{-S,--hide-empty}'[hide non-operational devices]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-c,--celsius}'[use Celsius as the temperature scale]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-f,--fahrenheit}'[use Fahrenheit as the temperature scale]' \ - '(-c --celsius -f --fahrenheit -k --kelvin)'{-k,--kelvin}'[use Kelvin as the temperature scale]' \ - '(-d --directory)'{-d,--directory}'[path to ACPI info (/proc/acpi)]:directory:_files -/' \ - '(-h --help)'{-h,--help}'[display this help and exit]' \ - '(-v --version)'{-v,--version}'[output version information and exit]' diff --git a/result/sw/share/zsh/5.9/functions/_acpitool b/result/sw/share/zsh/5.9/functions/_acpitool deleted file mode 100644 index e7dcb4ea..00000000 --- a/result/sw/share/zsh/5.9/functions/_acpitool +++ /dev/null @@ -1,69 +0,0 @@ -#compdef acpitool - -local ret=1 selbrands disambig -typeset -a brands args - -if ! zstyle -a ":completion:${curcontext}:" acpi-extensions brands || \ - (( $brands[(I)detect] )); then - [[ -d /proc/acpi/toshiba ]] && brands+=toshiba - [[ -d /proc/acpi/asus ]] && brands+=asus - [[ -d /proc/acpi/ibm ]] && brands+=thinkpad -elif (( $brands[(I)all] )); then - brands=(toshiba asus thinkpad) -fi - -args=( - '(-a --ac_adapter)'{-a,--ac_adapter}'[show AC adapter presence]' - '-b[show battery status for available batteries]' - '(-B --battery)'{-B,--battery}'[show detailed battery status for all batteries found]' - '(-c --cpu)'{-c,--cpu}'[show CPU information]' - '(-a --ac_adapter -A -b -B --battery -c --cpu -e -f --fan -t --thermal -w)-e[show just about everything]' - '(-f --fan)'{-f,--fan}'[show fan status]' - '(-h --help)'{-h,--help}'[display help]' - '(-s --suspend)'{-s,--suspend}'[suspend machine to memory (sleep state S3)]' - '-S[suspend machine to disk (sleep state S4)]' - '(-t --thermal)'{-t,--thermal}'[show thermal zone(s) information and trip points]' - '-v[show more verbose output]' - '(-V --version)'{-V,--version}'[output version information and exit]' - '-w[show the wakeup capable devices]' - '-W+[toggle enable/disable wakeup capable device]: :_wakeup_capable_devices' -) - -if (( $brands[(I)asus] )); then - disambig= - (( $brands[(I)(toshiba|thinkpad)] )) && disambig='Asus ' - args+=( - '(-A --Asus)'{-A,--Asus}'[show supported Asus ACPI extensions]' - '-m+[set mail LED status]:mail LED status:((1\:on 0\:off))' - '-n+[set wireless LED status]:wireless LED status:((1\:on 0\:off))' - '-o+[set LCD panel status]:LCD panel status:((1\:on 0\:off))' - "-z+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)" - ) -fi - -selbrands= -if (( $brands[(I)toshiba] )); then - selbrands=Toshiba - args+=( - '-F+[force fan on or switch back to auto mode]:fan status:((1\:on 0\:auto))' - '(-T --Toshiba)'{-T,--Toshiba}'[show supported Toshiba ACPI extensions]' - ) -fi - -if (( $brands[(I)thinkpad] )); then - [[ -n $selbrands ]] && selbrands+=/ - selbrands=${selbrands}Thinkpad - args+=('-j[eject ultrabay device]') -fi - -if [[ -n $selbrands ]]; then - disambig= - (( $brands[(I)asus] )) && disambig="$selbrands " - args+=( - "-l+[set ${disambig}LCD brightness level]:${disambig}LCD brightness level:(0 1 2 3 4 5 6 7)" - ) -fi - -_arguments -s $args && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_acroread b/result/sw/share/zsh/5.9/functions/_acroread deleted file mode 100644 index 4a5cb5cb..00000000 --- a/result/sw/share/zsh/5.9/functions/_acroread +++ /dev/null @@ -1,119 +0,0 @@ -#compdef acroread - -local curcontext="$curcontext" state line -local cmdfile - -if [[ -z $_acroread_version ]]; then - _acroread_version="$($words[1] -version 2>/dev/null)" -fi - -if [[ -z $_acroread_version ]]; then - if [[ $words[1] = */* && -x $words[1] ]]; then - cmdfile=$words[1] - elif [[ -x $commands[$words[1]] ]]; then - cmdfile=$commands[$words[1]] - fi - - # Try extracting the version number directly from the executable. - # (This will fail if the executable is a wrapper script for acroread.) - _acroread_version=${${(M)${(f)"$(<$cmdfile)"}:#ver=*}##ver=} - - if [[ -z $_acroread_version ]]; then - local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]} - if [[ -r $acropath ]]; then - _acroread_version=${${(M)${(f)"$(<$acropath)"}:#ver=*}##ver=} - fi - fi -fi - -if [[ $_acroread_version == [789].* ]]; then - local -a extra_args - extra_args=() - if [[ $_acroread_version == [89].* ]]; then - extra_args+=(-man '-installCertificate:server ip::server port') - fi - if [[ $_acroread_version == 9.* ]]; then - extra_args+=(-openInNewInstance) - fi - _arguments -C \ - "${extra_args[@]}" \ - '--display=:X display:_x_display' \ - '--screen=:X screen (overrides the screen part of DISPLAY)' \ - --sync \ - '-geometry:[<width>x<height>][{+|-}<x offset>{+|-}<y offset>]' \ - -help \ - -iconic \ - '*-setenv:<var>=<value>' \ - -tempFile \ - '-tempFileTitle:title' \ - -openInNewWindow \ - -version \ - '-visual:X visual:_x_visual' \ - '-toPostScript:*::PostScript conversion options:= ->tops' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return - - [[ -n "$state" ]] && _arguments \ - '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \ - -binary \ - '-start:integer' \ - '-end:integer' \ - -optimizeForSpeed \ - -landscape \ - -reverse \ - '(-even)-odd' \ - '(-odd)-even' \ - -commentsOff \ - -annotsOff \ - -stampsOff \ - -markupsOn \ - '(-level3)-level2' \ - '(-level2)-level3' \ - -printerhalftones \ - -saveVM \ - '-scale:integer' \ - -shrink \ - -expand \ - '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \ - '-transQuality:transparency flattening level:(1 2 3 4 5)' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return -else - _x_arguments -C \ - -help \ - -helpall \ - \*-iconic \ - \*+iconic \ - '-name:application name:_x_name' \ - '*-setenv:<var>=<value>' \ - -tempFile \ - '-tempFileTitle:title' \ - '(+useFrontEndProgram)-useFrontEndProgram' \ - '(-useFrontEndProgram)+useFrontEndProgram' \ - '-visual:X visual:_x_visual' \ - '-xrm:X resource specification:_x_resource' \ - '-toPostScript:*::PostScript conversion options:= ->tops' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return - - [[ -n "$state" ]] && _arguments \ - '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \ - -binary \ - '-start:integer' \ - '-end:integer' \ - -optimizeForSpeed \ - -landscape \ - -reverse \ - '(-even)-odd' \ - '(-odd)-even' \ - -commentsOff \ - '(-level2 -level3)-level1' \ - '(-level1 -level3)-level2' \ - '(-level1 -level2)-level3' \ - -printerhalftones \ - -saveVM \ - '-scale:integer' \ - -shrink \ - '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \ - '-transQuality:transparency flattening level:(1 2 3 4 5)' \ - '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_adb b/result/sw/share/zsh/5.9/functions/_adb deleted file mode 100644 index 8a071fa8..00000000 --- a/result/sw/share/zsh/5.9/functions/_adb +++ /dev/null @@ -1,624 +0,0 @@ -#compdef adb -value-,ADB_TRACE,-default- -value-,ANDROID_SERIAL,-default- -value-,ANDROID_LOG_TAGS,-default- - -_adb() { - # rely on localoptions - setopt nonomatch - - local -a ADB_DEVICE_SPECIFICATION - local LOG_REDIRECT - - if [[ $1 = -l ]]; then - # Run to load _adb and associated functions but do - # nothing else. - return - fi - - if [[ $service = -value-* ]]; then - #_message compstate=$compstate[parameter] - case $compstate[parameter] in - (ADB_TRACE) - _adb_trace_opts - ;; - - (ANDROID_SERIAL) - _adb_device_serial - ;; - - (ANDROID_LOG_TAGS) - _adb_logcat_filter_specification - ;; - - esac - # We do not handle values anywhere else. - return - fi - - local -a ALL_ADB_COMMANDS - ALL_ADB_COMMANDS=( - "backup" - "bugreport" - "connect" - "devices" - "disable-verity" - "disconnect" - "emu" - "enable-verity" - "exec-out" - "forward" - "get-devpath" - "get-serialno" - "get-state" - "help" - "install" - "install-multiple" - "jdwp" - "keygen" - "kill-server" - "logcat" - "ppp" - "pull" - "push" - "reboot" - "reboot-bootloader" - "remount" - "restore" - "reverse" - "root" - "shell" - "sideload" - "start-server" - "status-window" - "sync" - "tcpip" - "uninstall" - "unroot" - "usb" - "version" - "wait-for-device" - ) - - (( $+functions[_adb_device_specification] )) && _adb_device_specification - - if ! adb ${ADB_DEVICE_SPECIFICATION} shell exit 2>/dev/null; then - # early bail-out until a single valid device/emulator is specified and up-and-running - [[ $words[CURRENT-1] = -s ]] || _message -r "No (started) device specified, completions do not yet work" - #TODO handle -t transport-id - _arguments \ - '-s[serial]: :_adb_device_serial' \ - '( -e)-d[device]' \ - '(-d )-e[emulator]' \ - '1:option:_adb_options_handler' \ - '*: : _default' - - return - fi - - (( $+functions[_adb_check_log_redirect] )) && _adb_check_log_redirect - - (( $+functions[_adb_dispatch_command] )) && _adb_dispatch_command -} - -(( $+functions[_adb_dispatch_command] )) || -_adb_dispatch_command () { - local curcontext="${curcontext}" - local integer last_command_pos=-1 - - (( $+functions[_adb_sanitize_context] )) && _adb_sanitize_context - if [[ ${last_command_pos} -gt 0 ]] - then - shift ${last_command_pos}-1 words - CURRENT=$(( ${CURRENT} - ${last_command_pos} + 1 )) - fi - - case ${curcontext} in - (*:adb-shell:|*:adb-exec-out:) - (( $+functions[_adb_dispatch_shell] )) && _adb_dispatch_shell - ;; - (*:adb-backup:) - (( $+functions[_adb_dispatch_backup] )) && _adb_dispatch_backup - ;; - (*:adb-connect:|*:adb-disconnect:) - (( $+functions[_adb_dispatch_connection_handling] )) && _adb_dispatch_connection_handling - ;; - (*:adb-logcat:) - (( $+functions[_adb_dispatch_logcat] )) && _adb_dispatch_logcat - ;; - (*:adb-push:) - (( $+functions[_adb_dispatch_push] )) && _adb_dispatch_push - ;; - (*:adb-pull:) - (( $+functions[_adb_dispatch_pull] )) && _adb_dispatch_pull - ;; - (*:adb-install:) - (( $+functions[_adb_dispatch_install] )) && _adb_dispatch_install - ;; - (*:adb-uninstall:) - (( $+functions[_adb_dispatch_uninstall] )) && _adb_dispatch_uninstall - ;; - (*:adb-*) - _default - ;; - (*) - _arguments \ - '(-d -e)-s[serial]: :_adb_device_serial' \ - '(-s -e)-d[device]' \ - '(-d -s)-e[emulator]' \ - '*:option:_adb_options_handler' - ;; - esac -} - -(( $+functions[_adb_sanitize_context] )) || -_adb_sanitize_context () { - local -a mywords - for adbcommand in "${ALL_ADB_COMMANDS[@]}" - do - if [[ -n "${adbcommand}" ]] && [[ ${words[(I)${adbcommand}]} -gt 0 ]] - then - last_command_pos=${words[(I)${adbcommand}]} - mywords[${last_command_pos}]=${adbcommand} - fi - done - ##expand unquoted to remove sparse elements - mywords=( ${mywords[@]} ) - (( $#mywords )) && curcontext="${curcontext%:*}-${mywords[-1]}:" -} - -(( $+functions[_adb_device_specification] )) || -_adb_device_specification () { - if [[ $words[2] == -[de] ]]; then - ADB_DEVICE_SPECIFICATION=($words[2]) - elif [[ $words[2] == -[st] ]]; then - ADB_DEVICE_SPECIFICATION=($words[2,3]) - fi -} - -(( $+functions[_adb_dispatch_shell] )) || -_adb_dispatch_shell () { - if [[ $CURRENT -le 2 ]] - then - (( $+functions[_adb_shell_commands_handler] )) && _adb_shell_commands_handler - return - fi - - case ${words[2]} in - (am) - (( $+functions[_adb_activity_manager_handler] )) && _adb_activity_manager_handler - ;; - (pm) - (( $+functions[_adb_package_manager_handler] )) && _adb_package_manager_handler - ;; - (cmd) - (( $+functions[_adb_cmd_handler] )) && _adb_cmd_handler - ;; - (dumpsys) - (( $+functions[_adb_dumpsys_handler] )) && _adb_dumpsys_handler - ;; - (start|stop) - (( $+functions[_adb_startstop] )) && _adb_startstop ${words[2]} - ;; - (*) - _arguments '*: :_adb_remote_folder' - ;; - esac -} - -(( $+functions[_adb_dispatch_backup] )) || -_adb_dispatch_backup() { - _arguments \ - '-f[specify backup file]:backup file:_files' \ - '-apk[backup .apk files]' '!(-apk)-noapk' \ - '-obb[backup .obb files]' '!(-obb)-noobb' \ - '-shared[backup shared storage]' '!(-shared)-noshared' \ - '-all[backup all installed apps]' \ - '-nosystem[include system apps when backing up all apps]' '!(-nosystem)-system' \ - '*:package name:_adb_installed_packages' -} - -(( $+functions[_adb_pm_list] )) || -_adb_pm_list () { - case ${words[4]} in - (packages) - _arguments -s '-f[see their associated file]' \ - ':' - ;; - (permissions) - _arguments -s '-g[organize by group]' \ - '-f[print all information]' \ - '-d[only list dangerous permissions]' \ - '-u[only list user visible permissions]' \ - '-s[short summary]' \ - ':' - ;; - (permission-groups) - ;; - (instrumentation) - _arguments -s '-f[see their associated file]' \ - ':' - ;; - (features) - ;; - (users) - ;; - (*) - _wanted pm_list_argument expl 'pm list argument' compadd packages permission-groups permissions instrumentation features users - ;; - esac -} - -(( $+functions[_adb_intent_handler] )) || -_adb_intent_handler () { - _message -r "<INTENT> specifications include these flags: - [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] - [-c <CATEGORY> [-c <CATEGORY>] ...] - [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] - [--esn <EXTRA_KEY> ...] - [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] - [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] - [-n <COMPONENT>] [-f <FLAGS>] - [--grant-read-uri-permission] [--grant-write-uri-permission] - [--debug-log-resolution] - [--activity-brought-to-front] [--activity-clear-top] - [--activity-clear-when-task-reset] [--activity-exclude-from-recents] - [--activity-launched-from-history] [--activity-multiple-task] - [--activity-no-animation] [--activity-no-history] - [--activity-no-user-action] [--activity-previous-is-top] - [--activity-reorder-to-front] [--activity-reset-task-if-needed] - [--activity-single-top] - [--receiver-registered-only] [--receiver-replace-pending] - [<URI>]" -} - -(( $+functions[_adb_activity_manager_handler] )) || -_adb_activity_manager_handler () { - if [[ $CURRENT -le 3 ]] - then - _wanted am_argument expl 'am argument' compadd start startservice broadcast instrument profile - return - fi - case ${words[3]} in - (start) - _arguments -s '-D[enable debugging]' \ - '-W[wait for launch to complete]' \ - '*:intent:_adb_intent_handler' - ;; - (startservice) - _arguments -s '*:intent:_adb_intent_handler' - ;; - (broadcast) - _arguments -s '*:intent:_adb_intent_handler' - ;; - (instrument) - _arguments -s '-r[print raw results]' \ - '-e[set argument NAME to VALUE]:<NAME> <VALUE>:' \ - '-p[write profiling data to FILE]:<FILE>:' \ - '-w[wait for instrumentation to finish]' \ - ':' - ;; - (profile) - _message -r "<PROCESS> start/stop <FILE>" - ;; - esac -} - -(( $+functions[_adb_package_manager_handler] )) || -_adb_package_manager_handler () { - case ${words[3]} in - (list) - (( $+functions[_adb_pm_list] )) && _adb_pm_list - ;; - (path) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (enable) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (disable) - (( $+functions[_adb_installed_packages] )) && _adb_installed_packages - ;; - (setInstallLocation) - _wanted install-locations expl 'install location' compadd -d "(0:auto 1:internal 2:external)" 0 1 2 - ;; - (getInstallLocation) - ;; - (*) - _wanted pm_argument expl 'pm argument' compadd list path install uninstall enable disable setInstallLocation getInstallLocation - ;; - esac -} - -(( $+functions[_adb_cmd_handler] )) || -_adb_cmd_handler () { - local -a cmds - cmds=(${${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out cmd -l)"}[2,-1]}##[[:space:]]##}) - _wanted dumpsys expl 'cmd command' compadd ${cmds%$'\r'} -} - -(( $+functions[_adb_dumpsys_handler] )) || -_adb_dumpsys_handler () { - if [[ $CURRENT -eq 3 ]]; then - local -a services - services=(${${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out dumpsys -l)"}[2,-1]}##[[:space:]]##}) - _wanted dumpsys expl 'dumpsys service' compadd - ${services%$'\r'} - elif [[ $CURRENT -ge 4 && $words[3] == SurfaceFlinger ]]; then - (( CURRENT -= 2 )) - shift 2 words - typeset -A opt_args - local context state state_descr line - _arguments -R \ - '--file[start/stop continuous dumpsys to file]' \ - '--no-limit[disable wrapping around continuous dumpsys at ~20MB]' \ - '--full-dump[set fullDump = true]' \ - '--allocated_buffers[show allocated buffers dump]' \ - '--display-id[show display id dump]' \ - '--dispsync[show dispsync dump]' \ - '--edid[raw edid dump for specified hwc display (binary output)]:*:hwc display:->hwcdisplay' \ - '--latency[show latency stats]:*:layer:->layer' \ - '--latency-clear[clear latency stats]:*:layer:->layer' \ - '--list[list all layers]' \ - '--planner[pass planner dump arguments]:*:planner arguments:->planner' \ - '--static-screen[show static screen stats]' \ - '--timestats[pass time stats arguments]:*:timestats arguments:->timestats' \ - '--vsync[show vsync dump]' \ - '--wide-color[show wide color info]' \ - '--frametimeline[pass frametimeline arguments]:*:frametimeline arguments:->frametimeline' \ - '--mini[show mini dump]' - if [[ $? == 300 ]]; then - case $state in - layer) - typeset -a layers - layers=(${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out dumpsys SurfaceFlinger --list)"}[2,-1]}) - _wanted dumpsys expl 'layers' compadd - ${layers%$'\r'} - ;; - planner) - _arguments \ - {--compare,-c}'[compare predictions of two hashes]:left: :right: :' \ - {--describe,-d}'[describe hash]:hash: :' \ - {--help,-h}'[help]' \ - {--similar,-s}'[show similar stacks matching given plan]:plan: :' \ - {--layers,-l}'[show current layers]' - ;; - timestats) - _arguments -disable -enable -clear -dump -maxlayers'[only with -dump]:int:' - ;; - frametimeline) - _arguments -jank -all - ;; - esac - fi - fi -} - -(( $+functions[_adb_startstop] )) || -_adb_startstop () { - local -a services - local -A service_status - services=(${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} exec-out getprop)"}) - service_status=( ${(s,: ,)${(j,: ,)${(M)services:#\[init.svc.*}}} ) - local -A map=(start stopped stop running) - services=( ${(k)service_status[(R)*$map[$1]*]} ) - _wanted services expl "$map[$1] services" compadd - ${${${services#\[}%\]}#init.svc.} -} - -(( $+functions[_adb_dispatch_uninstall] )) || -_adb_dispatch_uninstall () { - _arguments \ - '-k[keep data and cache]' \ - '--user[uninstall for user id]:user id:_adb_users' \ - '1:installed package:_adb_installed_packages' -} - -(( $+functions[_adb_dispatch_install] )) || -_adb_dispatch_install () { - argcount=${#${(M)words#-*}} - if [[ $CURRENT -gt (( argcount + 2 )) ]] - then - _message -r "Notice: you can only install one package at a time" - return - fi - - _arguments \ - '-l[forward lock]' \ - '-r[reinstall]' \ - '-s[install on sd]' \ - '*:apk file:_path_files -g "*(/)|*.apk"' -} - -(( $+functions[_adb_dispatch_push] )) || -_adb_dispatch_push () { - if [[ $CURRENT -gt 3 ]] - then - _message -r "Notice: you can only push a single item at a time" - return - fi - if [[ $CURRENT -gt 2 ]] - then - _arguments '*: :_adb_remote_folder' - else - _arguments '*:local file/folder:_files' - fi -} - -(( $+functions[_adb_dispatch_pull] )) || -_adb_dispatch_pull () { - if [[ $CURRENT -gt 3 ]] - then - _message -r "Notice: you can only pull a single item at a time" - return - fi - if [[ $CURRENT -gt 2 ]] - then - _arguments '*:local file/folder:_files' - else - _arguments '*: :_adb_remote_folder' - fi -} - -(( $+functions[_adb_dispatch_connection_handling] )) || -_adb_dispatch_connection_handling () { - if compset -P '*:' - then - local expl - _wanted ports expl port compadd "$@" 5555 - else - _hosts -qS: - fi -} - -(( $+functions[_adb_check_log_redirect] )) || -_adb_check_log_redirect () { - LOG_REDIRECT=${$(adb ${ADB_DEVICE_SPECIFICATION} shell getprop log.redirect-stdio 2>/dev/null)// -/} - [[ ${LOG_REDIRECT[1,4]} == "true" ]] && _message -r "Notice: stdio log redirection enabled on the device, so some completions will not work" -} - -(( $+functions[_adb_trace_opts] )) || -_adb_trace_opts() { - _values -s , 'adb trace option' \ - '(1 adb sockets packets rwx usb sync sysdeps transport jdwp)all' \ - '(all adb sockets packets rwx usb sync sysdeps transport jdwp)1' \ - 'adb' \ - 'sockets' \ - 'packets' \ - 'rwx' \ - 'usb' \ - 'sync' \ - 'sysdeps' \ - 'transport' \ - 'jdwp' -} - -(( $+functions[_adb_device_serial] )) || -_adb_device_serial() { - local expl - local -a devices device_desc - local device - devices=( $(adb devices -l | sed -n -e 's/:/\\:/' -e 's/^\([^[:space:]]*\)[[:space:]]*.*product:\([^[:space:]]*\).*$/\1:\2/p') ) - zstyle -a :completion:${curcontext} device-names device_desc - for device in $device_desc; do - if [[ -n $devices[(r)${device%:*}:*] ]]; then - devices[(i)${device%:*}:*]=$device - elif [[ -n $devices[(r)*:${device%:*}] ]]; then - devices[(i)*:${device%:*}]=${${devices[(r)*:${device%:*}]}%:*}:${device#*:} - fi - done - _describe -t dev_serial 'available device' devices -} - -(( $+functions[_adb_logcat_filter_specification] )) || -_adb_logcat_filter_specification() { - zstyle ":completion:${curcontext}:" cache-policy _adb_cache_policy_single_command - - local cacheid=logcat_filter_cache_${$(adb ${ADB_DEVICE_SPECIFICATION} get-serialno)} - typeset -a logcat_filter_tags - if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" - then - logcat_filter_tags=( $(command adb ${ADB_DEVICE_SPECIFICATION} logcat -d -v brief | sed -n 's#^[VDIWEF]/\([^[:space:](]*\).*#\1#p' |sort | uniq) ) - _store_cache "$cacheid" logcat_filter_tags - fi - local expl - if compset -P '*:' - then - _wanted filter expl filter compadd W S E I D V \* - else - _wanted filtertags expl filtertags compadd -qS: ${logcat_filter_tags[@]} \* - fi -} - -(( $+functions[_adb_dispatch_logcat] )) || -_adb_dispatch_logcat() { - _arguments \ - '(-c -g)-s[set default filter to silent]' \ - '(-c -g)-f[log output to file (defaults to stdout)]:logfile:_files' \ - '(-c -g -d)-r[rotate log at specified size, requires -f]:log size (kbytes) [16]' \ - '(-c -g -d)-n[specify max number of rotated logs]:number [4]' \ - '(-c -g -d)-v[log format]:format: _values "format" brief process tag thread raw time threadtime long' \ - '(-d -t -g)-c[clear log]' \ - '(-c -g)-d[dump log]' \ - '(-c -g)-t[print only recent lines (implies -d)]:linecount:_guard "[0-9]#" "numeric value"' \ - '(-c -g)-B[output log in binary]' \ - '(-c -g)*:filtering:_adb_logcat_filter_specification' -} - -(( $+functions[_adb_options_handler] )) || -_adb_options_handler() { - local expl - _wanted adb_options expl 'adb option' compadd "${ALL_ADB_COMMANDS[@]}" -} - -(( $+functions[_adb_shell_commands_handler] )) || -_adb_shell_commands_handler() { - local expl - _wanted adb_shell_commands expl 'adb shell command' compadd ls pm am mkdir rmdir rm cat cmd dumpsys start stop -} - -(( $+functions[_adb_device_available] )) || -_adb_device_available() { - [[ $(adb ${ADB_DEVICE_SPECIFICATION} get-state 2>&1) == "device" ]] && return 0 - return 1 -} - -(( $+functions[_adb_remote_folder] )) || -_adb_remote_folder () { - typeset -a files dirs - local pref=${PREFIX} - if [[ $pref != */* ]]; then - pref= - elif [[ $pref != */ ]]; then - pref=${pref%/*}/ - fi - # yes, this ls is sickening to look at, but android doesn't have printf or find - files=(${${(f)"$(adb ${ADB_DEVICE_SPECIFICATION} shell 'ls -1d 2> /dev/null '$pref'*/ '$pref'*')"}%$'\r'}) - dirs=(${${(M)files:#*/}%/}) - files=(${${files:|dirs}:#*\*(/|)}) - _adb_device_available && \ - _wanted adb_remote_folder expl 'file/folder on device' _multi_parts $@ / files -} - -(( $+functions[_adb_installed_packages] )) || -_adb_installed_packages() { - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _adb_cache_policy_single_command - fi - - local cacheid=package_cache_${$(adb ${ADB_DEVICE_SPECIFICATION} get-serialno)} - typeset -a installed_packages - if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid" - then - installed_packages=(${$( adb ${ADB_DEVICE_SPECIFICATION} shell pm list packages )//#package:/}) - _store_cache "$cacheid" installed_packages - fi - - _wanted adb_installed_packages expl 'packages that are installed' compadd ${installed_packages} -} - -(( $+functions[_adb_users] )) || -_adb_users() { - local -a users - users=( ${${${(M)${(f)"$(adb shell pm list users)"}:#*UserInfo*}#*UserInfo\{}%:*} ) - _describe -t users 'user' users -} - -(( $+functions[_adb_cache_policy_single_command] )) || -_adb_cache_policy_single_command () { - typeset -a old - - # cache is valid for 1 minute - old=( "$1"(mm+1) ) - (( $#old )) -} - -(( $+functions[_adb_cache_policy_daily] )) || -_adb_cache_policy_daily () { - typeset -a old - - # cache is valid for a day - old=( "$1"(mh+12) ) - (( $#old )) -} - - - -_adb $@ diff --git a/result/sw/share/zsh/5.9/functions/_add-zle-hook-widget b/result/sw/share/zsh/5.9/functions/_add-zle-hook-widget deleted file mode 100644 index c0bd7781..00000000 --- a/result/sw/share/zsh/5.9/functions/_add-zle-hook-widget +++ /dev/null @@ -1,39 +0,0 @@ -#compdef add-zle-hook-widget - -_add-zle-hook-widget_types() { - local -a tmp - - autoload -U add-zle-hook-widget - add-zle-hook-widget -h >&/dev/null # sets the zstyle - zstyle -g tmp zle-hook types - - compadd "$@" -M 'L:|=zle-' -M 'r:|-=* r:|=*' -- zle-${^tmp} -} - -_add-zle-hook-widget_widgets() { - local expl - if (( $+opt_args[-d] )); then - local -a tmp - zstyle -g tmp $line[1] widgets - _wanted widgets expl "installed hook" compadd -- ${tmp#<->:} && return 0 - else - _wanted widgets expl widget _widgets -g 'user:*' && return 0 - fi - return 1 -} - -_add-zle-hook-widget() { - local context state state_descr line - typeset -A opt_args - _arguments -s -w -S : \ - "(-d -D -U -z -k)-L[output in form of 'zstyle' commands]" \ - '(-L -D -U -z -k)-d[remove HOOK from the array]' \ - '(-L -d -U -z -k)-D[interpret HOOK as pattern to remove from the array]' \ - '(-L -d -D)-U[suppress alias expansion for functions]' \ - '(-L -d -D -k)-z[mark function for zsh-style autoloading]' \ - '(-L -d -D -z)-k[mark function for ksh-style autoloading]' \ - ':hook type:_add-zle-hook-widget_types' \ - ':widget:_add-zle-hook-widget_widgets' -} - -_add-zle-hook-widget "$@" diff --git a/result/sw/share/zsh/5.9/functions/_add-zsh-hook b/result/sw/share/zsh/5.9/functions/_add-zsh-hook deleted file mode 100644 index 5b1ff0e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_add-zsh-hook +++ /dev/null @@ -1,27 +0,0 @@ -#compdef add-zsh-hook - -_add-zsh-hook_hooks() { - local expl - if (( $+opt_args[-d] )); then - _wanted functions expl "installed hook" compadd -a - "$line[1]_functions" && return 0 - else - _functions && return 0 - fi - return 1 -} - -_add-zsh-hook() { - local context state state_descr line - typeset -A opt_args - _arguments -s -w -S : \ - "(-d -D -U -z -k)-L[output in form of 'typeset' commands]" \ - '(-L -D -U -z -k)-d[remove HOOK from the array]' \ - '(-L -d -U -z -k)-D[interpret HOOK as pattern to remove from the array]' \ - '(-L -d -D)-U[suppress alias expansion for functions]' \ - '(-L -d -D -k)-z[mark function for zsh-style autoloading]' \ - '(-L -d -D -z)-k[mark function for ksh-style autoloading]' \ - ':hook class:(chpwd precmd preexec periodic zshaddhistory zshexit zsh_directory_name)' \ - ':hook function:_add-zsh-hook_hooks' -} - -_add-zsh-hook "$@" diff --git a/result/sw/share/zsh/5.9/functions/_alias b/result/sw/share/zsh/5.9/functions/_alias deleted file mode 100644 index 617627cb..00000000 --- a/result/sw/share/zsh/5.9/functions/_alias +++ /dev/null @@ -1,24 +0,0 @@ -#compdef alias - -local curcontext="$curcontext" state line expl type suf -typeset -A opt_args - -_arguments -C -s -A "-*" -S \ - '(-r +r -s +s)-+g[list or define global aliases]' \ - '(-g +g -s +s)-+r[list or define regular aliases]' \ - '(-r +r -g +g)-+s[list or define suffix aliases]' \ - '-+m[print aliases matching specified pattern]' \ - '-L[print each alias in the form of calls to alias]' \ - '*::alias definition:->defn' - -if [[ -n "$state" ]]; then - if compset -P 1 '*='; then - compset -q - _normal - else - compset -S '=*' || suf='=' - type=( ${opt_args[(i)[-+][grs]]#?} ) - (( $#type )) && type=( -s $type ) - _wanted -x alias expl 'alias definition' _aliases -qS "$suf" "$type[@]" - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_aliases b/result/sw/share/zsh/5.9/functions/_aliases deleted file mode 100644 index 6506ece1..00000000 --- a/result/sw/share/zsh/5.9/functions/_aliases +++ /dev/null @@ -1,19 +0,0 @@ -#compdef unalias - -local expl sel args opts - -zparseopts -E -D s:=sel - -[[ -z $sel ]] && sel=rgs - -opts=( "$@" ) - -args=() -[[ $sel = *r* ]] && args=( $args 'aliases:regular alias:compadd -k aliases' ) -[[ $sel = *g* ]] && args=( $args 'global-aliases:global alias:compadd -k galiases' ) -[[ $sel = *s* ]] && args=( $args 'suffix-aliases:suffix alias:compadd -k saliases' ) -[[ $sel = *R* ]] && args=( $args 'disabled-aliases:disabled regular alias:compadd -k dis_aliases' ) -[[ $sel = *G* ]] && args=( $args 'disabled-global-aliases:disabled global alias:compadd -k dis_galiases' ) -[[ $sel = *S* ]] && args=( $args 'disabled-suffix-aliases:disabled suffix alias:compadd -k dis_saliases' ) - -_alternative -O opts $args diff --git a/result/sw/share/zsh/5.9/functions/_all_labels b/result/sw/share/zsh/5.9/functions/_all_labels deleted file mode 100644 index e607d639..00000000 --- a/result/sw/share/zsh/5.9/functions/_all_labels +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev - -if [[ "$1" = - ]]; then - __prev=- - shift -fi - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -__tmp=${argv[(ib:4:)-]} -__len=$# -if [[ __tmp -lt __len ]]; then - __pre=$(( __tmp-1 )) - __suf=$__tmp -elif [[ __tmp -eq $# ]]; then - __pre=-2 - __suf=$(( __len+1 )) -else - __pre=4 - __suf=5 -fi - -while comptags "-A$__prev" "$1" curtag __spec; do - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - _comp_tags="$_comp_tags $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - - "$4" "${(P@)2}" "${(@)argv[5,-1]}" && __ret=0 - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - - "${(@)argv[4,__pre]}" "${(P@)2}" "${(@)argv[__suf,-1]}" && __ret=0 - fi -done - -return __ret diff --git a/result/sw/share/zsh/5.9/functions/_all_matches b/result/sw/share/zsh/5.9/functions/_all_matches deleted file mode 100644 index 59a6d806..00000000 --- a/result/sw/share/zsh/5.9/functions/_all_matches +++ /dev/null @@ -1,47 +0,0 @@ -#autoload - -_all_matches() { - local old - - zstyle -s ":completion:${curcontext}:" old-matches old - - if [[ "$old" = (only|true|yes|1|on) ]]; then - - if [[ -n "$compstate[old_list]" ]]; then - compstate[insert]=all - compstate[old_list]=keep - return 0 - fi - - [[ "$old" = *only* ]] && return 1 - fi - - (( $comppostfuncs[(I)_all_matches_end] )) || - comppostfuncs=( "$comppostfuncs[@]" _all_matches_end ) - - _all_matches_context=":completion:${curcontext}:" - - return 1 -} - -_all_matches_end() { - local not - - zstyle -s "$_all_matches_context" avoid-completer not || - not=( _expand _old_list _correct _approximate ) - - if [[ "$compstate[nmatches]" -gt 1 && $not[(I)(|_)$_completer] -eq 0 ]]; then - local expl - - if zstyle -t "$_all_matches_context" insert; then - compstate[insert]=all - else - _description all-matches expl 'all matches' - compadd "$expl[@]" -C - fi - fi - - unset _all_matches_context -} - -_all_matches "$@" diff --git a/result/sw/share/zsh/5.9/functions/_alsa-utils b/result/sw/share/zsh/5.9/functions/_alsa-utils deleted file mode 100644 index dd5c2686..00000000 --- a/result/sw/share/zsh/5.9/functions/_alsa-utils +++ /dev/null @@ -1,54 +0,0 @@ -#compdef aplay arecord -# Copyright (c) 2019 Sebastian Gniazdowski - -setopt localoptions warncreateglobal typesetsilent - -local -a opts -opts=( - '(- : *)'{-h,--help}'[print help message]' - '(- : *)'--version'[print current version]' - # -l/--list-devices doesn't benefit from -v/--verbose - '(- : *)'{-l,--list-devices}'[list all soundcards and digital audio devices]' - - '(-L --list-pcms)'{-L,--list-pcms}'[list device names]' - '(-D --device)'{-D+,--device=}'[select PCM by name]' - '(-q --quiet)'{-q,--quiet}'[quiet mode]' - '(-t --file-type)'{-t+,--file-type=}'[file type (voc, wav, raw or au)]' - '(-c --channels)'{-c+,--channels=}'[channels]' - '(-r --rate)'{-r+,--rate=}'[sample rate]' - '(-f --format)'{-f+,--format=}'[sample format (case insensitive)]' - '(-d --duration)'{-d+,--duration=}'[interrupt after # seconds]' - '(-s --samples)'{-s+,--samples=}'[interrupt after # samples per channel]' - '(-M --mmap)'{-M,--mmap}'[mmap stream]' - '(-N --nonblock)'{-N,--nonblock}'[nonblocking mode]' - '(-F --period-time)'{-F+,--period-time=}'[distance between interrupts is # microseconds]' - '(-B --buffer-time)'{-B+,--buffer-time=}'[buffer duration is # microseconds]' - --period-size='[distance between interrupts is # frames]' - --buffer-size='[buffer duration is # frames]' - '(-A --avail-min)'{-A+,--avail-min=}'[min available space for wakeup is # microseconds]' - '(-R --start-delay)'{-R+,--start-delay=}'[delay for automatic PCM start is # microseconds]' - '(-T --stop-delay)'{-T+,--stop-delay=}'[delay for automatic PCM stop is # microseconds from xrun]' - '*'{-v,--verbose}'[show PCM structure and setup (accumulative)]' - '(-V --vumeter)'{-V+,--vumeter=}'[enable VU meter (TYPE: mono or stereo)]' - '(-I --separate-channels)'{-I,--separate-channels}'[file for each channel]' - '(-i --interactive)'{-i,--interactive}'[allow interactive operation from stdin]' - '(-m --chmap)'{-m+,--chmap=}'[give the channel map to override or follow]' - --disable-resample'[disable automatic rate resample]' - --disable-channels'[disable automatic channel conversions]' - --disable-format'[disable automatic format conversions]' - --disable-softvol'[disable software volume control (softvol)]' - --test-position'[test ring buffer position]' - --test-coef='[test coefficient for ring buffer position]:coefficient [8]' - --test-nowait'[do not wait for ring buffer - eats whole CPU]' - --max-file-time='[start another output file when the old file has recorded]' - --process-id-file='[write the process ID here]' - --use-strftime'[apply the strftime facility to the output file name]' - --dump-hw-params'[dump hw_params of the device]' - --fatal-errors'[treat all errors as fatal]' - - '*:sound file:_files' -) - -_arguments -s -S $opts - -# The return value passes through diff --git a/result/sw/share/zsh/5.9/functions/_alternative b/result/sw/share/zsh/5.9/functions/_alternative deleted file mode 100644 index 3c61d112..00000000 --- a/result/sw/share/zsh/5.9/functions/_alternative +++ /dev/null @@ -1,83 +0,0 @@ -#autoload - -local tags def expl descr action mesgs nm="$compstate[nmatches]" subopts -local opt ws curcontext="$curcontext" - -subopts=() -while getopts 'O:C:' opt; do - case "$opt" in - O) subopts=( "${(@P)OPTARG}" ) ;; - C) curcontext="${curcontext%:*}:$OPTARG" ;; - esac -done - -shift OPTIND-1 - -[[ "$1" = -(|-) ]] && shift - -mesgs=() - -_tags "${(@)argv%%:*}" - -while _tags; do - for def; do - if _requested "${def%%:*}"; then - descr="${${def#*:}%%:*}" - action="${def#*:*:}" - - _description "${def%%:*}" expl "$descr" - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - mesgs=( "$mesgs[@]" "${def%%:*}:$descr") - elif [[ "$action" = \(\(*\)\) ]]; then - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "${def%%:*}" "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels "${def%%:*}" expl "$descr" \ - compadd "$subopts[@]" -a - ws - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label "${def%%:*}" expl "$descr"; do - eval "$action[2,-2]" - done - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label "${def%%:*}" expl "$descr"; do - "$action[@]" - done - else - - # Otherwise we call it with the description-arguments built above. - - eval "action=( $action )" - while _next_label "${def%%:*}" expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" - done - fi - fi - done - [[ nm -ne compstate[nmatches] ]] && return 0 -done - -for descr in "$mesgs[@]"; do - _message -e "${descr%%:*}" "${descr#*:}" -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_analyseplugin b/result/sw/share/zsh/5.9/functions/_analyseplugin deleted file mode 100644 index f7f36db5..00000000 --- a/result/sw/share/zsh/5.9/functions/_analyseplugin +++ /dev/null @@ -1,25 +0,0 @@ -#compdef analyseplugin - -local expl context state line nopts ret=1 -typeset -A opt_args - -_arguments \ - '-l[gives a brief listing (one line per plugin)]' \ - '(-)1:plugin file:->pfile' \ - '(-)2::plugin label:->plabel' && ret=0 - -case "$state" in - pfile) - _wanted plugin-files expl 'plugin file' compadd \ - ${~${^${${(f)"$(_call_program ladspa-plugins listplugins 2> /dev/null)"}:#[[:space:]]*}/%:/(:t:r)}} \ - && return - ;; - plabel) - typeset -a plabel - nopts=(${words:#-*}) - plabel=(${${(f)"$($nopts[1] -l $nopts[2] 2> /dev/null)"}/[[:space:]]##/:}) - _describe -t plugin-label 'plugin label' plabel && return - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ansible b/result/sw/share/zsh/5.9/functions/_ansible deleted file mode 100644 index 2d976b0a..00000000 --- a/result/sw/share/zsh/5.9/functions/_ansible +++ /dev/null @@ -1,406 +0,0 @@ -#compdef ansible ansible-config ansible-console ansible-doc ansible-galaxy ansible-inventory ansible-playbook ansible-pull ansible-vault -value-,ANSIBLE_STDOUT_CALLBACK,-default- -value-,ANSIBLE_INVENTORY_ENABLED,-default- - -local curcontext="$curcontext" plug plugvar subcmd ign ret=1 -local -a args state line expl gactions -local -A opt_args - -case $service in - *,ANSIBLE_STDOUT_CALLBACK,*) - plug=callback - state=plugins - ;; - *,ANSIBLE_INVENTORY_ENABLED,*) - plug=inventory - state=plugins - ;; - ansible|ansible-console|ansible-doc|ansible-playbook) - args=( - \*{-M+,--module-path=}'[specify path to modules]:module path:_dir_list' - ) - ;| - ansible|ansible-console|ansible-playbook|ansible-pull) - args+=( - '(-K --ask-become-pass)'{-K,--ask-become-pass}'[ask for privilege escalation password]' - '(-k --ask-pass)'{-k,--ask-pass}'[ask for connection password]' - '--list-hosts[output list of matching hosts]' - '(-l --limit)'{-l+,--limit=}'[further limit hosts to an additional pattern]:host subset:->hosts' - '(-T --timeout)'{-T+,--timeout=}'[override the connection timeout]:timeout (seconds) [10]' - '(-c --connection)'{-c+,--connection=}'[specify connection type]:connection type [smart]:->connect-types' - '(-u --user)'{-u+,--user=}'[specify remote user for connection]:remote user:_users' - '--private-key=[specify file to use to authenticate the connection]:private key file:_files' - '--ssh-common-args=[specify common arguments to pass to sftp/scp/ssh]:ssh option' - '--sftp-extra-args=[specify extra arguments to pass to sftp]:sftp option' - '--scp-extra-args=[specify extra arguments to pass to scp]:scp option' - '--ssh-extra-args=[specify extra arguments to pass to ssh]:ssh option' - ) - ;| - ansible|ansible-console|ansible-playbook) - args+=( - '(-C --check)'{-C,--check}"[don't make any changes]" - '(-D --diff)'{-D,--diff}'[show differences when changing small files and templates]' - '(-b --become)'{-b,--become}'[escalate privileges on remote system]' - '(-f --forks)'{-f+,--forks=}'[specify number of parallel processes to use]:processes [5]' - '--become-method=[specify privilege escalation method to use]:method [sudo]:(sesu sudo su pbrun pfexec doas dzdo ksu runas pmrun enable machinectl)' - '--become-user=[specify remote user for running operations]:user:_users' - "--syntax-check[perform a syntax check on the playbook, but don't execute it]" - '!(-R --su-user -U --sudo-user)'{-R,-U,--su-user,--sudo-user}':user [root]:_users' - ) - ;| - ansible|ansible-console|ansible-inventory|ansible-playbook|ansible-pull) - args+=( - --ask-vault-pass{,word}'[ask for vault password]' - '(-e --extra-vars)'{-e+,--extra-vars=}'[set additional variables]:key=value or YAML/JSON' - '--vault-id=[specify vault identity to use]:vault identity' - --vault-pass{,word}-file='[specify vault password file]:vault password file:_files' - \*{-i+,--inventory=}'[specify inventory host file or host list]: : _alternative "files\:inventory file\:_files" - "hosts\:host\: _sequence _hosts"' - '!(-i --inventory)--inventory-file=:inventory file:_files' - ) - ;| - ansible|ansible-console|ansible-inventory) - args+=( - '--playbook-dir=[specify substitute playbook directory]:directory:_directories' - ) - ;| - ansible-playbook|ansible-pull) - args+=( - '(-t --tags)'{-t,--tags}'[only run plays and tasks tagged with these values]:tag:->tags' - "--skip-tags[only run plays and tasks whose tags don't match]" - ) - ;| - ansible|ansible-console) - args+=( - '--task-timeout[set the task timeout limit]:timeout (seconds)' - ) - ;| - ansible) - args+=( - '(-a --args)'{-a+,--args=}'[specify command or module arguments]:arguments:->args' - '(-B --background)'{-B+,--background=}'[run asynchronously, failing after specified time]:fail timeout (seconds)' - '(-m --module-name)'{-m+,--module-name=}'[specify action to execute]: :->plugins' - '(-o --one-line)'{-o,--one-line}'[condense output]' - '(-P --poll)'{-P+,--poll=}'[specify the poll interval if using -B]:interval (seconds) [15]' - '(-t --tree)'{-t+,--tree=}'[specify directory for log output]:directory:_directories' - '--output[output file name for encrypt or decrypt; use - for stdout]:output file:_files' - ':host:->hosts' - ) - ;; - ansible-config) - args+=( - '(-c --config)'{-c+,--config=}'[specify configuration file]:config file:_files' - '1:action:(( - list\:list\ all\ configuration - dump\:show\ the\ current\ settings,\ merge\ specified\ configuration - view\:display\ the\ current\ config\ file - ))' - ) - [[ -n $words[(r)dump] ]] && args+=( '--only-changed[only show configuration that is changed from the default]' ) - ;; - ansible-console) - args+=( - '--step[one-step-at-a-time: confirm each task before running]' - ) - ;; - ansible-doc) - args+=( - '!--metadata-dump' # "internal testing only" - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-j,--json}'[change output to json format]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-l,--list}'[list available plugins]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-F,--list_files}'[show plugin names and their source files without summaries]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-s,--snippet}'[show playbook snippet for specified plugins]' - '(-l --list -F --list_files -s --snippet -e --entry-point)--metadata-dump[dump json metadata for all plugins]' - '(-l --list -F --list_files -s --snippet --metadata-dump -e --entry-point)'{-e+,--entry-point=}'[select the entry point for roles]:entry point' - '(-t --type)'{-t+,--type=}'[choose plugin type]:plugin type [module]:(become cache callback cliconf connection httpapi inventory lookup netconf shell vars module strategy role keyword)' - '(-r --roles-path)'{-r+,--roles-path=}'[specify directory containing roles]:directory:_directories' - '*:plugin:->plugins' - ) - ;; - ansible-inventory) - args+=( - '--export[when doing an --list, represent in a way that is optimized for export]' - '(-y --yaml)--graph[output inventory graph]' - '--host[output specific host information]' - '--output=[with --list, specify output file]:file:_files' - '--list[output all hosts information]' - '(-y --yaml --vars --graph)--toml[use TOML format instead of JSON]' - '(-y --yaml)--vars[add variables to the graph display]' - '(-y --yaml --toml --vars --graph)'{-y,--yaml}'[use YAML format instead of JSON]' - ':host or group:->hosts' - ) - ;; - ansible-galaxy) - args=( -A "-*" $args - '--list[list integrations]' - '(-c --ignore-certs)'{-c,--ignore-certs}'[ignore SSL certificate validation errors]' - '(-s --server)'{-s+,--server=}'[specify API server destination]:server destination' - '--remove=[remove integration]:integration id' - '::type:(collection role)' - '*::args:->galaxy' - ) - ;; - ansible-playbook) - args+=( - '--flush-cache[clear the fact cache for every host in inventory]' - '--force-handlers[run handlers even if a task fails]' - '--list-tags[list all available tags]' - '--list-tasks[list all tasks that would be executed]' - '--start-at-task=[start the playbook at specified task]:task' - '--key-file=[specify file to use to authenticate the connection]:private key file:_files' - '*:playbook:_files -g "(#i)*.y(|a)ml"' - ) - ;; - ansible-pull) - args+=( - "--check[don't make any changes]" - '--diff[show the differences in changed files]' - '(-d --directory)'{-d+,--directory=}'[specify directory to checkout repository to]:directory:_directories' - '--full[do a full instead of a shallow clone]' - '(-m --module-name)'{-m+,--module-name=}'[specify repository module used for checking out repository]:module:(git subversion hg bzr)' - '--accept-host-key[add the hostkey for the repo url if not already added]' - '--purge[purge checkout after playbook run]' - '(-f --force)'{-f,--force}'[run the playbook even if the repository could not be updated]' - '(-C --checkout)'{-C,--checkout}'[specify branch/tag/commit to checkout]:branch/tag/commit' - '--track-subs[submodules will track the latest changes]' - '(-o --only-if-changed)'{-o,--only-if-changed}'[only run the playbook if the repository has been updated]' - '(-s --sleep)'{-s+,--sleep=}'[delay for random duration before starting]:max delay (seconds)' - '(-U --url)'{-U+,--url=}'[specify URL of the playbook repository]:url:_urls' - '--verify-commit[verify GPG signature of checked out commit]' - '*:playbook:_files -g "(#i)*.y(|a)ml"' - ) - ;; - ansible-vault) - args=( -A "-*" $args - '::action:compadd -M "r:|_=* r:|=*" - create decrypt edit encrypt encrypt_string rekey view' - '*::args:->vault' - ) - ;; -esac - -(( $#words > 2 )) && ign='!' -if (( $#args )); then - _arguments -s -S -C $args \ - "${ign}(- :)--version[display version information, config and module locations]" \ - "${ign}(- :)"{-h,--help}'[display usage information]' \ - \*{-v,--verbose}"[verbose mode (repeat to increase)]" && ret=0 - - plug=${(v)opt_args[(i)-(t|-type)]:-module} -fi - -case $state in - args) - case ${(v)opt_args[(I)-(m|module)]} in - *) # shell, command or no module specified - _cmdstring && ret=0 - ;; - esac - ;; - hosts) - local alts - [[ -prefix - ]] && return ret - compset -P '*[,:](|[&!~])' - compset -S '[:,]*' - if compset -P '@'; then - _files && ret=0 - else - local -a inventory - typeset -ga _ansible_hosts _ansible_groups - if (( !$#_ansible_hosts || !$#_ansible_groups )); then - inventory=( ${(f)"$(_call_program groups ansible-inventory --graph)"} ) - _ansible_hosts=( ${${(M)inventory%--[^:]#}#--} ) - _ansible_groups=( ${${${(M)inventory%@*:}%:}#@} ) - fi - [[ $IPREFIX = *[:,] ]] && - alts=( 'operators:operator:_values -S "" operator "![exclude hosts]" "&[intersection of hosts]" "~[regular expression pattern]"' ) - _alternative $alts \ - 'groups:group:compadd -qS: -a _ansible_groups' \ - 'hosts:host:compadd -qS: -a _ansible_hosts' && ret=0 - fi - ;; - connect-types) - plug=connection - ;& - plugins) - plugvar=_ansible_${plug}_plugins - typeset -ga ${plug} - if zstyle -T ":completion:${curcontext}:plugins" verbose; then - (( ${(P)#plugvar} )) || set -A ${plugvar} \ - ${${(f)"$(_call_program plugins ansible-doc -t $plug -l)"}/ ##/:} - _describe -t plugins "${plug} plugin" $plugvar -M 'r:|.=* r:|=*' && ret=0 - else - (( ${(P)#plugvar} )) || set -A ${plugvar} \ - ${${(f)"$(_call_program plugins ansible-doc -t $plug -F)"}%% *} - _wanted plugins expl "${plug} plugin" compadd -M 'r:|.=* r:|=*' -a $plugvar && ret=0 - fi - ;; - tags) - # The recursive glob here is questionable and perhaps there should be a style. - _sequence _wanted tags expl tag compadd - \ - ${(s.,.)${(j.,.)${(M)${(f)"$(cat **/*.yml)"}:# #tags:*}#*: }} && ret=0 - ;; - galaxy) - ign='' - gactions=( delete import info init install list remove search setup ) - case ${(j.:.)line[1,3]} in - (role|collection):*:*) - subcmd="${line[1]}-${line[2]}" - ;; - collection:*) - gactions=( init build publish install ) - subcmd=collection - ;; - role:*) subcmd=role ;; - *:*) subcmd="role-${line[1]}" ;& - [^:]#) - words=( role "$words[@]" ) - (( CURRENT++ )) - ;; - esac - curcontext="${curcontext%:*}-${subcmd}:" - (( $#words > 3 )) && ign='!' - args=( - "${ign}(-)"{-h,--help}'[display usage information]' - '1: :{ _wanted actions expl action compadd -a gactions }' - ) - case $subcmd in - *-*) - args+=( - '(-c --ignore-certs)'{-c,--ignore-certs}'[ignore SSL certificate validation errors]' - '(-s --server)'{-s+,--server=}'[specify API server destination]:server:_hosts' - --{token,api-key}='[specify ansible galaxy API key]:api key' - \*{-v,--verbose}'[verbose mode]' - ) - ;| - role-setup) # order important here, source comes before github args - args+=( ': :_guard "^-*" "source"' '*:secret' ) - ;| - role-(delete|import|setup)) - args+=( ': :_guard "^-*" "github username"' ':github repository' ) - ;| - role-(info|init|install|list|remove)) - args+=( '*: :_guard "^-*" "role name"' ) - ;| - role-(info|search|list|remove|install)) - args+=( '(-p --roles-path)'{-p,--roles-path}'[specify location of roles]:path:_directories' ) - ;| - role-(info|init)) - args+=( "--offline[don't query the galaxy API]" ) - ;| - *-(init|build|install)) - args+=( '(-f --force)'{-f,--force}'[force overwriting an existing role or collection]' ) - ;| - *-install) - args+=( - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors and continue with the next specified role/collection]' - '(-n --no-deps)'{-n,--no-deps}"[don’t download roles/collections listed as dependencies]" - "--force-with-deps[force overwriting an existing role/collection and it's dependencies]" - ) - ;| - *-init) - args+=( - '--init-path=[specify path in which the skeleton will be created]:path:_directories' - ) - ;| - role-search) - args+=( - '--author=[specify GitHub username]:username' - '--galaxy-tags=[specify list of galaxy tags to filter by]:galaxy tags' - '--platforms=[specify list of OS platforms to filter by]:platforms' - '*: :_guard "^-*" "search term"' - ) - ;; - role-setup) - args+=( - '--list[list integrations]' - '--remove=[remove integration]:integration id' - ) - ;; - role-init) - args+=( - '--role-skeleton=[specify path to a role skeleton that the new role should be based upon]:path:_files' - '--type=[initialize using an alternate role type]:role type:(container apb network)' - ) - ;; - role-install) - args+=( - '(-g --keep-scm-meta)'{-g,--keep-scm-meta}'[use tar instead of the scm archive option when packaging the role]' - '(-r --role-file)'{-r+,--role-file=}'[specify file containing a list of roles to be imported]:file:_files' - ) - ;; - role-import) - args+=( - '--status[check the status of the most recent import request for given github_user/github_repo]' - "--no-wait[don’t wait for import results]" - '--branch=[specify branch to import]:branch' - '--role-name=[specify name the role should have]:role' - ) - ;; - collection-build) - args+=( - '--output-path=[specify path in which the collection is built to]:path [.]:_directories' - '*:collection directory to build:_directories' - ) - ;; - collection-init) - args+=( - '--collection-skeleton=[specify path to a collection skeleton that the new role should be based upon]:path:_files' - ': :_guard "^-*" "collection name"' - ) - ;; - collection-publish) - args+=( - "--no-wait[don't wait for import validation results]" - '--import-timeout=[specify time to wait for import process]:time' - ':collection tarball:_files' - ) - ;; - collection-install) - args+=( - '(-p --collections-path)'{-p+,--collections-path=}'[specify directory containing collections]:_directories' - '(-r --requirements-file *)'{-r+,--requirements-file=}'[specify file containing a list of collections to install]:file:_files' - '--pre[include pre-release versions]' - '*:collection name:_files' - ) - ;; - esac - _arguments -s -S : $args && ret=0 - ;; - vault) - ign='' - curcontext="${curcontext%:*}-${line[1]}:" - (( $#words > 2 )) && ign='!' - args=( - "${ign}(-)"{-h,--help}'[display usage information]' - --ask-vault-pass{,word}'[ask for vault password]' - '--vault-id=[specify vault identity to use]:vault identity' - --vault-pass{,word}-file='[specify vault password file]:vault password file:_files' - \*{-v,--verbose}'[verbose mode]' - ) - case $line[1] in - create|(de|en)crypt*|edit|rekey) - args+=( - '--encrypt-vault-id=[specify vault id to use to encrypt (required if more than one vault-id is provided)]:vault id' - ) - ;| - (de|en)crypt*) args+=( '--output=[specify output file name]:file:_files' ) ;| - encrypt_string) - args+=( - '(-p --prompt)'{-p,--prompt}'[prompt for the string to encrypt]' - "--show-input[don't hide input when prompted for the string to encrypt]" - '(-n --name)'{-n+,--name=}'[specify the variable name]:variable' - '--stdin-name=[specify the variable name for stdin]:variable' - ) - ;| - create|edit|rekey|view) args+=( ':file:_files' ) ;| - decrypt|rekey) - args+=( - '--new-vault-id=[specify new vault identity to use]:vault identity' - '--new-vault-password-file=[specify new vault password file]:vault password file:_files' - ) - ;| - (en|de)crypt) args+=( '::file:_files' ) ;; - esac - _arguments -s -S $args && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ant b/result/sw/share/zsh/5.9/functions/_ant deleted file mode 100644 index 7401c744..00000000 --- a/result/sw/share/zsh/5.9/functions/_ant +++ /dev/null @@ -1,147 +0,0 @@ -#compdef ant -value-,ANT_ARGS,-default- - -# Apache Ant version 1.7.1 - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args -local buildfile classpath cp userjars importedfiles target='*:target:->target' targets tmp - -find_targets() { - importedfiles=( $(sed -n "s/ *<import[^>]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $1) ) - # Tweaked to omit targets beginning with "-" that can't - # be invoked from the command line; see zsh-workers/24129. - sed -n "s/ *<target[^>]* name=[\"']\([^-][^\"']*\)[\"'].*/\1/p" $1 - if (( $#importedfiles )) ; then - ( cd $1:h - for file in $importedfiles ; do - expanded=( $(echo $file | sed -n "s|\${ant.home}|$ANT_HOME|p") ) - if [[ ! "bla$expanded" = "bla" ]]; then - file=$expanded - fi - if [[ -f $file ]]; then - find_targets $file - fi - done ) - fi -} - -if [[ $service = *ANT_ARGS* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - unset target -fi - -_arguments -C \ - '(- *)'{-h,-help,--h,--help}'[display help information]' \ - '--noconfig[suppress sourcing of configuration files]' \ - '--usejikes[enable use of jikes by default, unless set explicitly in configuration files]' \ - '--execdebug[print ant exec line generated by this launch script]' \ - '(-p -projecthelp *)'{-p,-projecthelp}'[print project help information]' \ - '(- *)-version[display version information]' \ - '(- *)-diagnostics[print information helpful to diagnosis or report problems]' \ - '(-q -quiet)'{-q,-quiet}'[be extra quiet]' \ - '(-s -silent)'{-s,-silent}'[print nothing but task outputs and build failures]' \ - '(-v -verbose)'{-v,-verbose}'[be extra verbose]' \ - '(-d -debug)'{-d,-debug}'[print debugging information]' \ - '(-e -emacs)'{-e,-emacs}'[produce logging information without adornments]' \ - '*-lib[specify a path to search for jars and classes]:class path:->classpath' \ - '(-l -logfile)'{-l,-logfile}'[use specified file for log]:logfile:_files' \ - '-logger[specify the class which is to perform logging]:class:->class' \ - '*-listener[add an instance of specified class as a project listener]:class:->class' \ - '-noinput[do not allow interactive input]' \ - '(-f -file -buildfile -s -find)'{-f,-file,-buildfile}'[use specified build file]:build file:_files -g "*.xml(-.)"' \ - '*-D+[specify property with value to use]:property:->property' \ - '(-k -keep-going)'{-keep-going,-k}'[execute all targets that do not depend on failed target(s)]' \ - '-propertyfile[load all properties from specified file with -D properties taking precedence]:property file:_files -g "*.properties(-.)"' \ - '-inputhandler[specify class which will handle input requests]:class:->class' \ - '(-s -find -f -file -buildfile)'{-s,-find}'[search for specified build file towards the root of filesystem]:build file:(build.xml)' \ - '-nice[specify a niceness value for the main thread]:niceness value [5]:({1..10})' \ - '-nouserlib[run ant without using the jar files from ${user.home}/.ant/lib]' \ - '-noclasspath[run ant without using CLASSPATH]' \ - '-autoproxy[Java1.5+: use the OS proxy settings]' \ - "-main[override Ant's normal entry point]:class:->class" \ - $target && ret=0 - -case $state in - class) - if (( ! $+opt_args[-nouserlib] )); then - userjars=( $HOME/.ant/lib/*.jar ) - fi - if (( ! $+opt_args[-noclasspath] )); then - classpath=$CLASSPATH - fi - cp=( $opt_args[-lib] $userjars $ANT_HOME/lib/*.jar $classpath ) - cp=${(j.:.)cp:-' '} - _java_class -classpath $cp && ret=0 - ;; - classpath) - compset -P '*:' - compset -S ':*' - _alternative \ - "classpath:$state:_path_files -qS: -g '*.(jar|zip)(-.)'" \ - "classpath:$state:_path_files -r': ' -/" && ret=0 - ;; - property) - if compset -P 1 '*='; then - _default && ret=0 - else - _message -e properties 'property name' - fi - ;; - target) - if [[ -n $opt_args[(I)(-s|-find)] ]]; then - buildfile=( (../)#${(v)opt_args[(I)(-s|-find)]:-build.xml}(N[-1]) ) - else - buildfile=${(v)opt_args[(I)(-f|-file|-buildfile)]:-build.xml} - fi - if [[ -f $buildfile ]]; then - if zstyle -t ":completion:${curcontext}:targets" call-command; then - # Run ant -projecthelp also passing any of -find, -s, -buildfile, -file - # or -f options. - # Parse output into an array of the format "target:description". - # For the array to be set with correct argument boundaries, the entire - # set statement needs to be eval'd. On Cygwin, need to kill \r's output - # from Java or parsing will fail. - eval set -A tmp "${$(_call_program targets "$words[1]" -buildfile $buildfile -projecthelp | - while read target desc - do - # This loop reads ant -projecthelp output from versions 1.3 to 1.6 - ln="${target}${desc:+:$desc}" - [[ $target = "" ]] && continue # skip blank lines - case $ln in - (Buildfile:*) - buildfile=$desc - ;; - (Default:target:*) - # with version 1.5, target is on the same line - default_target="${${desc/target:/}# }" - # versions 1.3 and 1.4 with default target on a separate line - if [[ -z $default_target ]]; then - read junk - read default_target junk - fi - # Output target again indicating its the default one. - print -n "'${default_target}:(Default target) ' " - ;; - (Searching:*|Main:targets:|Subtargets:|BUILD:SUCCESSFUL|Total:time:*) - ;; - (*) - # Return target and description - print -n "'$ln' " - ;; - esac - done - )//$'\015'}" - _describe 'target' tmp && ret=0 - else - targets=( $(find_targets $buildfile) ) - _wanted targets expl target compadd -a targets && ret=0 - fi - else - _message -e targets target - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_antiword b/result/sw/share/zsh/5.9/functions/_antiword deleted file mode 100644 index 385bda66..00000000 --- a/result/sw/share/zsh/5.9/functions/_antiword +++ /dev/null @@ -1,24 +0,0 @@ -#compdef antiword - -# Version: 0.37 (21 Oct 2005) - -local papersizes - -papersizes=( 10x14 a3 a4 a5 b4 b5 executive folio legal letter note quarto statement tabloid ) - -_arguments -s -S \ - '( -w -f -p -t -x)-a+[Adobe PDF output]:paper size:(${papersizes[@]})' \ - '(-i -L -a -p -t -x)-f[formatted text output]' \ - '( -w -a -f -t -x)-p+[PostScript output]:paper size:(${papersizes[@]})' \ - '(-i -L -a -f -p -x)-t[text output (default)]' \ - '(-i -L -m -w -a -f -p -t )-x+[XML output]:DTD:(db)' \ - '(-x)-m+[character mapping file]:mapping file:_files' \ - '(-i -L -a -p -x)-w+[width in characters of text output]:line width:' \ - '(-w -f -t -x)-i+[image level (PostScript only)]:image level:((0\:use\ non\ standard\ extensions\ from\ Ghostscript 1\:show\ no\ images 2\:PostScript\ level\ 2\ compatible 3\:PostScript\ level\ 3\ compatible))' \ - '(-w -f -t -x)-L[use landscape mode (PostScript only)]' \ - '-s[show hidden (by Word) text]' \ - '-r[show removed text]' \ - '(- *)-h[display help information]' \ - '*:MS Word file:_files -g "*.doc(-.)"' && return - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_apachectl b/result/sw/share/zsh/5.9/functions/_apachectl deleted file mode 100644 index 65019d63..00000000 --- a/result/sw/share/zsh/5.9/functions/_apachectl +++ /dev/null @@ -1,3 +0,0 @@ -#compdef apachectl apache2ctl - -_sub_commands start startssl stop restart fullstatus status graceful configtest help diff --git a/result/sw/share/zsh/5.9/functions/_apm b/result/sw/share/zsh/5.9/functions/_apm deleted file mode 100644 index e6179d67..00000000 --- a/result/sw/share/zsh/5.9/functions/_apm +++ /dev/null @@ -1,41 +0,0 @@ -#compdef apm - -if [[ $OSTYPE == linux* ]]; then - - _arguments -s \ - '(-)'{-V,--version}'[print the apm program version and exit immediately]' \ - '(-v --verbose)'{-v,--verbose}'[print information about APM BIOS and Linux APM driver version]' \ - '(-m --minutes)'{-m,--minutes}'[print total minutes remaining instead of using an hh:mm format]' \ - '(-s --suspend)'{-s,--suspend}'[put the machine into suspend mode if possible]' \ - '(-S --standby)'{-S,--standby}'[put the machine into standby mode if possible]' \ - '(-n --noignore)'{-n,--noignore}'[tell the system not to ignore system-generated APM message]' \ - '(-i --ignore)'{-i,--ignore}'[tell the system to ignore system-generated APM message]' && return - -elif [[ $OSTYPE == (freebsd|dragonfly)* ]]; then - - _arguments \ - '-a[display AC line status]' \ - '-b[display battery status]' \ - '-d[disable/enable display suspension]:bool:' \ - '-e[disable/enable apm functions]:bool:' \ - '-h[disable/enable HLT in kernel context switch]:bool:' \ - '-l[display remaining battery percentage]' \ - '-r[enable resume wakeup timer]' \ - '-s[display status of APM support]' \ - '-t[display estimated remaining battery life in seconds]' \ - '-Z[transition system into standby mode]' \ - '-z[suspend the system]' && return - -elif [[ $OSTYPE == openbsd* ]]; then - _arguments \ - '-z[engage suspend mode]' \ - '-S[engage stand-by mode]' \ - '-l[display estimated battery lifetime percentage]' \ - '-m[display estimated battery lifetime minutes]' \ - '-b[display battery status]' \ - '-a[display AC line status]' \ - '-v[verbose]' \ - '-f[socket]:sockname:_files' && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_approximate b/result/sw/share/zsh/5.9/functions/_approximate deleted file mode 100644 index dcd8b277..00000000 --- a/result/sw/share/zsh/5.9/functions/_approximate +++ /dev/null @@ -1,125 +0,0 @@ -#autoload - -# This code will try to correct the string on the line based on the -# strings generated for the context. These corrected strings will be -# shown in a list and one can cycle through them as in a menu completion -# or get the corrected prefix. - -# We don't try correction if the string is too short or we have tried it -# already. - -[[ _matcher_num -gt 1 || "${#:-$PREFIX$SUFFIX}" -le 1 ]] && return 1 - -local _comp_correct _correct_expl _correct_group comax cfgacc match -local oldcontext="${curcontext}" opm="$compstate[pattern_match]" -local dounfunction -integer ret=1 - -if [[ "$1" = -a* ]]; then - cfgacc="${1[3,-1]}" -elif [[ "$1" = -a ]]; then - cfgacc="$2" -else - zstyle -s ":completion:${curcontext}:" max-errors cfgacc || - cfgacc='2 numeric' -fi - -# Get the number of errors to accept. - -if [[ "$cfgacc" = *numeric* && ${NUMERIC:-1} -ne 1 ]]; then - # A numeric argument may mean that we should not try correction. - - [[ "$cfgacc" = *not-numeric* ]] && return 1 - - # Prefer the numeric argument if that has a sensible value. - - comax="${NUMERIC:-1}" -else - comax="${cfgacc//[^0-9]}" -fi - -# If the number of errors to accept is too small, give up. - -[[ "$comax" -lt 1 ]] && return 1 - -_tags corrections original - -# Otherwise temporarily define a function to use instead of -# the builtin that adds matches. This is used to be able -# to stick the `(#a...)' in the right place (after an -# ignored prefix). -# -# Current shell structure for use with "always", to make sure -# we unfunction the compadd. -{ -if (( ! $+functions[compadd] )); then - dounfunction=1 - compadd() { - local ppre="$argv[(I)-p]" - - [[ ${argv[(I)-[a-zA-Z]#U[a-zA-Z]#]} -eq 0 && - "${#:-$PREFIX$SUFFIX}" -le _comp_correct ]] && return - - if [[ "$PREFIX" = \~* && ( ppre -eq 0 || "$argv[ppre+1]" != \~* ) ]]; then - PREFIX="~(#a${_comp_correct})${PREFIX[2,-1]}" - else - PREFIX="(#a${_comp_correct})$PREFIX" - fi - - (( $_correct_group && ${${argv[1,(r)-(|-)]}[(I)-*[JV]]} )) && - _correct_expl[_correct_group]=${argv[1,(r)-(-|)][(R)-*[JV]]} - - builtin compadd "$_correct_expl[@]" "$@" - } -fi - -_comp_correct=1 - -[[ -z "$compstate[pattern_match]" ]] && compstate[pattern_match]='*' - -while [[ _comp_correct -le comax ]]; do - curcontext="${oldcontext/(#b)([^:]#:[^:]#:)/${match[1][1,-2]}-${_comp_correct}:}" - - _description corrections _correct_expl corrections \ - "e:$_comp_correct" "o:$PREFIX$SUFFIX" - - _correct_group="$_correct_expl[(I)-*[JV]]" - - if _complete; then - if zstyle -t ":completion:${curcontext}:" insert-unambiguous && - [[ "${#compstate[unambiguous]}" -ge "${#:-$PREFIX$SUFFIX}" ]]; then - compstate[pattern_insert]=unambiguous - elif _requested original && - { [[ compstate[nmatches] -gt 1 ]] || - zstyle -t ":completion:${curcontext}:" original }; then - local expl - - _description -V original expl original - - builtin compadd "$expl[@]" -U -Q - "$PREFIX$SUFFIX" - - # If you always want to see the list of possible corrections, - # set `compstate[list]=list force' here. - - [[ "$compstate[list]" != list* ]] && - compstate[list]="$compstate[list] force" - fi - compstate[pattern_match]="$opm" - - ret=0 - break - fi - - [[ "${#:-$PREFIX$SUFFIX}" -le _comp_correct+1 ]] && break - (( _comp_correct++ )) -done - -} always { - [[ -n $dounfunction ]] && (( $+functions[compadd] )) && unfunction compadd -} - -(( ret == 0 )) && return 0 - -compstate[pattern_match]="$opm" - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_apt b/result/sw/share/zsh/5.9/functions/_apt deleted file mode 100644 index 494d3bf8..00000000 --- a/result/sw/share/zsh/5.9/functions/_apt +++ /dev/null @@ -1,714 +0,0 @@ -#compdef apt apt-get apt-cache apt-cdrom apt-config apt-mark - -_apt () { - case "$service" in - apt) _apt-cmd "$@";; - apt-get) _apt-get "$@";; - apt-cache) _apt-cache "$@";; - apt-cdrom) _apt-cdrom "$@";; - apt-config) _apt-config "$@";; - apt-mark) _apt-mark "$@";; - *) _message "unknown command $service";; - esac -} - -# usage: _apt_arguments funcname option-spec... -- rest-regex -_apt_arguments () { - - local funcname - funcname="$1" - shift - - typeset -A canonicalize num_options - local short_hasarg short_bool short_intlevel short_configfile short_arbitem - local long_hasarg long_bool long_intlevel long_configfile long_arbitem - local short_release long_release - local comp_hasarg='' - local opt opts type - - while [[ 0 -lt $# && $1 != -- ]]; do - opts="${1%%:*}" - type="${1#*:}" - - case $type in - bool) num_options[$opts]=1;; - intlevel) num_options[$opts]=-1;; - configfile) num_options[$opts]=1;; - arbitem) num_options[$opts]=-1;; - release) num_options[$opts]=1;; - *) num_options[$opts]=1 - comp_hasarg="${comp_hasarg}$opts) $type;;"$'\n' - type=hasarg;; - esac - - for opt in ${(s:,:)=opts}; do - canonicalize[$opt]="$opts" - case $opt in - --*) eval "long_$type=(\$long_$type ${opt#--})";; - -?) eval "short_$type=(\$short_$type ${opt#-})";; - esac - done - shift - done - - # skip -- - [[ 0 -lt $# ]] && shift - - comp_hasarg="{case \$current_option in - ${comp_hasarg}esac}" - - local short_seq false true bool bool_prefix intlevel word word1 nul qnul match - local comp_bool comp_intlevel comp_configfile comp_arbitem comp_long comp_opt - local comp_release comp_long_prefix comp_short - local regex_short regex_long regex_all regex_long_prefix - - regex_all=( \( "$@" \) ) - - short_seq="(${(j:|:)short_bool}|${(j:|:)short_intlevel})#" - - false=(no false without off disable) - true=(yes true with on enable) - bool=($false $true) - - bool_prefix=(--${^bool}-) - - intlevel='[0-9]##' - - word=$'[^\0]#\0' - word1=$'[^\0]##\0' - nul=$'\0' - qnul="\$'\\0'" - - comp_bool="($bool)" - comp_intlevel= - comp_configfile='_files' - comp_arbitem= - comp_release='_apt_releases' - - comp_short=\ -'{if [[ $PREFIX = -'"$short_seq"' ]]; then - _apt_consume_short ${PREFIX[2,-1]} - tmp1=(${(M)${(s:,:)${(kj:,:)num_options[(R)*~0]}}:#-?}) - tmp2=(${PREFIX}${^tmp1#-}) - _describe -o option tmp1 tmp2 -elif [[ -z "$PREFIX" ]]; then - tmp1=(${(M)${(s:,:)${(kj:,:)num_options[(R)*~0]}}:#-?}) - _describe -o option tmp1 -fi}' - - comp_long=\ -'tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#--*}#--}}" -tmp2=(--${(M)^long_bool:#$~tmp1} --${(M)^long_intlevel:#$~tmp1}) -tmp3=(--${(M)^long_hasarg:#$~tmp1} --${(M)^long_configfile:#$~tmp1} --${(M)^long_arbitem:#$~tmp1} --${(M)^long_release:#$~tmp1}) -_describe -o option tmp2 -- tmp3 -S= -- bool_prefix -S ""' - - comp_long_prefix=\ -'{tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#--*}#--}}" -tmp2=($_ra_left${(M)^long_bool:#$~tmp1} $_ra_left${(M)^long_intlevel:#$~tmp1}) -tmp3=($_ra_left${(M)^long_hasarg:#$~tmp1} $_ra_left${(M)^long_configfile:#$~tmp1} $_ra_left${(M)^long_arbitem:#$~tmp1} $_ra_left${(M)^long_release:#$~tmp1}) -tmp1="${(j:|:)${(@)${(@M)${(@s:,:)${(@kj:,:)num_options[(R)*~0]}}:#-?}#-}}" -tmp2=("$tmp2[@]" $_ra_left${(M)^short_bool:#$~tmp1} $_ra_left${(M)^short_intlevel:#$~tmp1}) -tmp3=("$tmp3[@]" $_ra_left${(M)^short_hasarg:#$~tmp1} $_ra_left${(M)^short_configfile:#$~tmp1} $_ra_left${(M)^short_arbitem:#$~tmp1} $_ra_left${(M)^short_release:#$~tmp1}) -_describe -o option tmp2 -- tmp3 -S=}' - - comp_opt='{{ ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ "$PREFIX" = -* ]] }'" && { $comp_short; $comp_long }}" - comp_short="{$comp_short}" - comp_long="{$comp_long}" - - regex_short=() - regex_long=() - regex_long_prefix=() - - if (( $#short_hasarg )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_hasarg})(=|)"/ - -'_apt_consume_short ${match[1]%=}; current_option=${canonicalize[-${${match[1]%=}[-1]}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_hasarg})$nul"/ - -'_apt_consume_short ${match[1][-2]}; current_option=${canonicalize[-${${match[1]%'$qnul'}[-1]}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)short_hasarg})="/ - -'_apt_consume_short ${match[1][-2]}; current_option=${canonicalize[-${${match[1]%=}[-1]}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - fi - - if (( $#short_bool )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_bool})($nul(${(j:|:)bool})|(${(j:|:)bool})|)$nul"/ - -'_apt_consume_short ${match[1]%%('$qnul'('${(j:|:)bool}')|('${(j:|:)bool}')|)'$qnul'}' \| - /"$short_seq(${(j:|:)short_bool})="/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_bool})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)short_bool})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - fi - - if (( $#short_intlevel )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_intlevel})($nul$intlevel|$intlevel|)$nul"/ - -'_apt_consume_short ${match[1]%%'"($qnul$intlevel|$intlevel|)$qnul"'}' \| - /"$short_seq(${(j:|:)short_intlevel})="/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_intlevel})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)short_intlevel})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - fi - - if (( $#short_configfile )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_configfile})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_configfile})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)short_configfile})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - fi - - if (( $#short_arbitem )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_arbitem})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_arbitem})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)short_arbitem})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - fi - - if (( $#short_release )); then - regex_short=("$regex_short[@]" - /"$short_seq(${(j:|:)short_release})(=|)"/ - -'_apt_consume_short ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":release name:release:$comp_release" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)short_release})$nul"/ - -'_apt_consume_short ${match[1][-2]}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)short_release})="/ - -'_apt_consume_short ${match[1][-2]}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - fi - - if (( $#long_hasarg )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_hasarg})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}; current_option=${canonicalize[--${match[1]%'$qnul'}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)long_hasarg})="/ - -'_apt_consume_long ${match[1]%=}; current_option=${canonicalize[--${match[1]%=}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_hasarg})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}; current_option=${canonicalize[--${match[1]%'$qnul'}]}' - /"$word"/ ":options:option:$comp_hasarg" \| - /"(${(j:|:)long_hasarg})="/ - -'_apt_consume_long ${match[1]%=}; current_option=${canonicalize[--${match[1]%=}]}' - \( /"$word1"/ ":options:option:$comp_hasarg" \| /"$nul"/ /"$word"/ ":options:option:$comp_hasarg" \) \| - ) - fi - - if (( $#long_bool )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_bool})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)long_bool})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_bool})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":names:boolean value:$comp_bool" \| /"$nul"/ /"$word"/ ":names:boolean value:$comp_bool" \) \| - /"(${(j:|:)long_bool})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"((${(j:|:)bool})$nul|)"/ ":names:boolean value:$comp_bool" \| - ) - fi - - if (( $#long_intlevel )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_intlevel})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)long_intlevel})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_intlevel})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_intlevel" \| /"$nul"/ /"$word"/ ":options:option:$comp_intlevel" \) \| - /"(${(j:|:)long_intlevel})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"($intlevel$nul|)"/ ":options:option:$comp_intlevel" \| - ) - fi - - if (( $#long_configfile )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_configfile})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)long_configfile})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_configfile})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":files:config file:$comp_configfile" \| - /"(${(j:|:)long_configfile})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":files:config file:$comp_configfile" \| /"$nul"/ /"$word"/ ":files:config file:$comp_configfile" \) \| - ) - fi - - if (( $#long_arbitem )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_arbitem})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)long_arbitem})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_arbitem})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":options:option:$comp_arbitem" \| - /"(${(j:|:)long_arbitem})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":options:option:$comp_arbitem" \| /"$nul"/ /"$word"/ ":options:option:$comp_arbitem" \) \| - ) - fi - - if (( $#long_release )); then - regex_long=("$regex_long[@]" - /"(${(j:|:)long_release})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)long_release})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - regex_long_prefix=("$regex_long_prefix[@]" - /"(${(j:|:)long_release})$nul"/ - -'_apt_consume_long ${match[1]%'$qnul'}' - /"$word"/ ":releases:release name:$comp_release" \| - /"(${(j:|:)long_release})="/ - -'_apt_consume_long ${match[1]%=}' - \( /"$word1"/ ":releases:release name:$comp_release" \| /"$nul"/ /"$word"/ ":releases:release name:$comp_release" \) \| - ) - fi - - regex_all=( - /"$word"/ - \( /--/+ \( "$regex_long[@]" - /"(${(j:|:)bool})-"/+ - \( "$regex_long_prefix[@]" - /"[]"/ ":options:option:$comp_long_prefix" \) \) \| - /-/+ \( "$regex_short[@]" /"[]"/ \) \| - /"[]"/ ":options:option:$comp_opt" \) \# - "$regex_all[@]" - ) - - _regex_arguments "${funcname}_sm" "$regex_all[@]" - - eval "$funcname () { - typeset -A canonicalize num_options - canonicalize=(${(kv)canonicalize}) - num_options=(${(kv)num_options}) - - local short_hasarg short_bool short_intlevel short_configfile short_arbitem - local long_hasarg long_bool long_intlevel long_configfile long_arbitem - local short_release long_release - local bool_prefix - short_hasarg=($short_hasarg) - short_bool=($short_bool) - short_intlevel=($short_intlevel) - short_configfile=($short_configfile) - short_arbitem=($short_arbitem) - short_release=($short_release) - long_hasarg=($long_hasarg) - long_bool=($long_bool) - long_intlevel=($long_intlevel) - long_configfile=($long_configfile) - long_arbitem=($long_arbitem) - long_release=($long_release) - bool_prefix=($bool_prefix) - - local current_option tmp1 tmp2 tmp3 - - ${funcname}_sm - }" -} - -_apt_consume_short () { - local short opt - for short in ${(s::)1}; do - opt="$canonicalize[-$short]" - (( 0 < num_options[$opt] && num_options[$opt]-- )) - done - return 0 -} - -_apt_consume_long () { - local long opt - opt="$canonicalize[--$1]" - (( 0 < num_options[$opt] && num_options[$opt]-- )) - return 0 -} - -_apt-cmd () { - _apt_arguments _apt-cmd_sm \ - -h,--help:bool \ - -v,--version:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -t,--target-release:release \ - -- \ - /$'list\0'/ \( \ - \( \ - /$'--installed\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# /'[]'/ \| \ - // %-% /$'--[^\0]#\0'/ ':options:option:(--installed --upgradable --all-versions)' \ - \| \) \ - /$'[^-\0][^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \ - \) \| \ - /$'search\0'/ /$'[^\0]#\0'/ ':strings:pattern:' \| \ - /$'showsrc\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'show\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'depends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'rdepends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'update\0'/ \| \ - \( \ - /$'(install|download|source|build-dep)\0'/ -'subcmd=${match%?}' \ - /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=+-" "$expl_packages[@]" avail' \# \ - \( \ - // '%(.|)/%' -'[[ $subcmd = install ]]' /'[]'/ ':files: :_deb_files -c' \| \ - /$'[^\0/=]#\/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \ - /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \| \ - \) \ - \) \| \ - /$'(remove|reinstall|purge)\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'upgrade\0'/ \| \ - /$'autoclean\0'/ \| \ - /$'changelog\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'autoremove\0'/ \| \ - /$'full-upgrade\0'/ \| \ - /$'dist-upgrade\0'/ \| \ - /$'edit-sources\0'/ \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" list search showsrc show depends rdepends policy update install reinstall download source build-dep remove upgrade full-upgrade dist-upgrade edit-sources autoclean changelog autoremove purge' - - _apt-cmd () { - local expl_action expl_packages subcmd - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-cmd_sm - } - - _apt-cmd "$@" -} - -_apt-get () { - _apt_arguments _apt-get_sm \ - -h,--help:bool \ - -v,--version:bool \ - -q,--quiet,--silent:intlevel \ - -d,--download-only:bool \ - -b,--compile,--build:bool \ - -s,--simulate,--just-print,--dry-run,--recon,--no-act:bool \ - -y,--yes,--assume-yes:bool \ - -f,--fix-broken:bool \ - -u,--show-upgraded:bool \ - -V,--verbose-versions:bool \ - -m,--ignore-missing,--fix-missing:bool \ - --no-download:bool \ - --no-install-recommends:bool \ - --ignore-hold:bool \ - --no-upgrade:bool \ - --force-yes:bool \ - --print-uris:bool \ - --purge:bool \ - --list-cleanup:bool \ - --reinstall:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -t,--target-release,--default-release:release \ - --trivial-only:bool \ - --no-remove:bool \ - --only-source:bool \ - --diff-only:bool \ - --tar-only:bool \ - --arch-only:bool \ - --allow-unauthenticated:bool \ - --auto-remove:bool \ - -- \ - /$'update\0'/ \| \ - /$'upgrade\0'/ \| \ - \( \ - /$'install\0'\|$'download\0'\|$'source\0'\|$'build-dep\0'/ \ - /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=" "$expl_packages[@]" avail' \# \ - \( \ - /$'[^\0/=]#/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \ - /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \ - \) \ - \) \| \ - /$'remove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'purge\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'dist-upgrade\0'/ \| \ - /$'dselect-upgrade\0'/ \| \ - /$'clean\0'/ \| \ - /$'autoclean\0'/ \| \ - /$'changelog\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'check\0'/ \| \ - /$'autoremove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'help\0/' \| \ - /$'markauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'unmarkauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" update upgrade install remove purge dist-upgrade dselect-upgrade clean autoclean changelog check source build-dep autoremove help markauto unmarkauto download' - - _apt-get () { - local expl_action expl_packages - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-get_sm - } - - _apt-get "$@" -} - -_apt-cache () { - _apt_arguments _apt-cache_sm \ - -h,--help:bool \ - -v,--version:bool \ - -p,--pkg-cache:'_files "$expl_pkg_cache[@]"' \ - -s,--src-cache:'_files "$expl_src_cache[@]"' \ - -q,--quiet:intlevel \ - -i,--important:bool \ - -f,--full:bool \ - -g,--generate:bool \ - -n,--names-only:bool \ - --all-names:bool \ - -a,--all-versions:bool \ - --recurse:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - --installed:bool \ - -- \ - /$'help\0'/ \| \ - /$'add\0'/ /$'[^\0]#\0'/ ':files:index file:_files' \# \| \ - /$'gencaches\0'/ \| \ - /$'showpkg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'showsrc\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'stats\0'/ \| \ - /$'dump\0'/ \| \ - /$'dumpavail\0'/ \| \ - /$'unmet\0'/ \| \ - /$'search\0'/ /$'[^\0]#\0'/ ':strings:pattern:' \| \ - /$'show\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'depends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'rdepends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'pkgnames\0'/ /$'[^\0]#\0'/ ':strings:prefix:' \| \ - /$'dotty\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'xvcg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /$'madison\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" help add gencaches showpkg showsrc stats dump dumpavail unmet search show depends rdepends pkgnames dotty policy xvcg madison' - - _apt-cache () { - local expl_action expl_packages expl_pkg_cache expl_src_cache - _description actions expl_action 'action' - _description packages expl_packages 'package' - _description files expl_pkg_cache 'package cache' - _description files expl_src_cache 'source cache' - - _apt-cache_sm - } - - _apt-cache "$@" -} - -_apt-cdrom () { - _apt_arguments _apt-cdrom_sm \ - -h,--help:bool \ - -v,--version:bool \ - -d,--cdrom:'_files "$expl_mount_point[@]" -/' \ - -r,--rename:bool \ - -m,--no-mount:bool \ - -f,--fast:bool \ - -n,--just-print,--recon,--no-act:bool \ - -a,--thorough:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -- \ - /$'add\0'/ \| \ - /$'ident\0'/ \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" add ident' - - _apt-cdrom () { - local expl_action expl_mount_point - _description actions expl_action 'action' - _description files expl_mount_point 'mount point' - - _apt-cdrom_sm - } - - _apt-cdrom "$@" -} - -_apt-config () { - _apt_arguments _apt-config \ - -h,--help:bool \ - -v,--version:bool \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -- \ - /$'shell\0'/ \ - \( \ - /$'[^\0]#\0'/ ':parameters:shell variable to assign:_parameters' \ - /$'[^\0]#\0'/ ':values:configuration key:compadd - ${${(f)"$(apt-config dump 2>&1)"}% *}' \ - \) \# \| \ - /$'dump\0'/ \| \ - /"[]"/ ':argument-1:action:compadd shell dump' - - _apt-config "$@" -} - -_apt_releases_update () { - if ( [[ ${+_apt_releases} -eq 0 ]] || - _cache_invalid APT_releases ) && ! _retrieve_cache APT_releases; - then - local -a tmp=("${(f)$(apt-cache policy)}") - _apt_releases=( -${${${${(M)tmp:#*release*a=*}#*a=}%%,*}:#now} -${${${${(M)tmp:#*release*n=*}#*n=}%%,*}:#now} - ) - typeset -U _apt_releases - _store_cache APT_releases _apt_releases - fi -} - -_apt_releases () { - local update_policy - - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _apt_caching_policy - fi - - _apt_releases_update - - _tags apt-releases && compadd -a _apt_releases -} - -# Complete versions of the package named in $match[1]. -# -# Interpret the package name as a binary package (even if there is -# a source package by that name, too). -_apt_versions_of_binary_package() { - local package_name=${match[1]%=} # $match was set by _regex_arguments - local line - local name version source - local -a kv - - for line in ${(f)"$(_call_program versions-of-package "apt-cache madison $package_name")"}; do - # If $package_name is a source package name, we'll have lines of the form - # $package_name | $version | ...Sources - # - # If $package_name is a binary package name, we'll have lines of the form - # $package_name | $version | ...Packages - # $src_package_name | $version | ...Sources - for name version source in "${(@s. | .)line}"; do - # Remove leading/trailing whitespace - name=${name// } - version=${version// } - source=${${source# ##}% ##} - - # Skip source packages - if [[ $name != $package_name ]] || [[ $source != *Packages* ]]; then - continue - fi - - kv+=( "${version//:/\\:}:$source" ) - done - done - - _describe -t apt-package-versions 'package version' kv "$@" -} - -_apt_caching_policy () { - local -a oldp - - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - [[ /var/cache/apt/pkgcache.bin -nt "$1" || - /var/lib/dpkg/available -nt "$1" ]] -} - -_apt-mark () { - _apt_arguments _apt-mark_sm \ - -h,--help:bool \ - -v,--version:bool \ - -f,--file:configfile \ - -c,--config-file:configfile \ - -o,--option:arbitem \ - -qq:bool \ - -s:bool \ - -- \ - /$'auto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'manual\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'hold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'unhold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showauto\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showmanual\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /$'showhold\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \ - /"[]"/ ':argument-1::compadd "$expl_action[@]" auto manual hold unhold showauto showmanual showhold' - - _apt-mark () { - local expl_action expl_packages - _description actions expl_action 'action' - _description packages expl_packages 'package' - - _apt-mark_sm - } - - _apt-mark "$@" -} - -_apt "$@" diff --git a/result/sw/share/zsh/5.9/functions/_apt-file b/result/sw/share/zsh/5.9/functions/_apt-file deleted file mode 100644 index 5b24707d..00000000 --- a/result/sw/share/zsh/5.9/functions/_apt-file +++ /dev/null @@ -1,59 +0,0 @@ -#compdef apt-file - -local curcontext="$curcontext" state line expl cmds ret=1 -typeset -A opt_args - -_arguments -C -S \ - '(--cache -c)'{--cache,-c}'[cache directory]:directory:_directories' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(--cdrom-mount -d)'{--cdrom-mount,-d}'[cdrom mount point]:directory:_directories' \ - '(--from-file -f --from-deb -D)'{--from-file,-f}'[read patterns from given file]' \ - '(--from-deb -D --from-file -f)'{--from-dev,-D}'[use contents of given .deb archives as patterns]' \ - '(--ignore-case -i)'{--ignore-case,-i}'[ignore case]' \ - '(--regexp -x)'{--regexp,-x}'[regular expression]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-a --architecture)'{-a,--architecture}'[architecture]:architecture:_deb_architectures' \ - '(-s --sources-list)'{-s,--sources-list}'[source.list file]:file:_files' \ - '(-l --package-only)'{-l,--package-only}'[only display package name]' \ - '(-N --non-interactive)'{-N,--non-interactive}'[skip schemes requiring user input]' \ - '(-F --fixed-string)'{-F,--fixed-string}'[do not expand search pattern]' \ - '(-y --dummy)'{-y,--dummy}'[run in dummy mode]' \ - '(-)'{-h,--help}'[display help screen]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( - 'update:resynchronize package contents' - {find,search}:'search in which package file is included' - {list,show}:'list contents of a package' - 'purge:remove all Contents-<ARCH>.gz files in cache directory' - ) - _describe -t commands 'apt-list command' cmds - ;; - args) - case $line[1] in - search|find) - if (( $#opt_args[(I)(-D|--from-deb)] )); then - _deb_files - elif (( $#opt_args[(I)(-f|--from-file)] )); then - _files - else - _message -e patterns "pattern" - fi - ;; - list|show) - _deb_packages avail - ;; - update|purge) - # do nothing - ;; - *) - _message "command $line[1] not available" - ;; - esac - ;; -esac && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_apt-move b/result/sw/share/zsh/5.9/functions/_apt-move deleted file mode 100644 index 6911ef6f..00000000 --- a/result/sw/share/zsh/5.9/functions/_apt-move +++ /dev/null @@ -1,57 +0,0 @@ -#compdef apt-move - -local curcontext="$curcontext" state line expl cmds ret=1 -typeset -A opt_args - -_arguments -C \ - '-a[process all packages]' \ - '-c[specify an alternative configuration file]' \ - '-d[override the DIST setting]' \ - '-f[override the MAXDELETE setting]' \ - '-q[be quiet; suppress normal output]' \ - '-t[show what apt-move would do, but do not actually do anything]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( - 'get:update your master files from local apt' - 'getlocal:alias of get' - 'fsck:fix broken repositories' - 'move:move cache files into mirror tree' - 'movefile:move files into the repository' - 'delete:delete obsolete packages' - 'packages:create new local Packages files' - 'update:alias for: get move delete packages' - 'local:alias for: move delete packages' - 'localupdate:alias for: getlocal move delete packages' - 'mirror:update your local mirror from remote rsync site' - 'sync:same as mirror, but only gets packages that you currently have installed on your system' - 'exclude:prints a list of all packages EXCLUDED from the mirror by the .exclude file' - 'listbin:prints lists of packages which can serve as the input to mirrorbin(mirror,sync,repo)' - 'listsrc:same as listbin, but lists source packages' - 'mirrorbin:same as mirror, but gets the packages specified on stdin' - 'mirrorsrc:same as mirrorbin, but gets source packages' - ) - _describe -t commands 'apt-move command' cmds && ret=0 - ;; - args) - case $line[1] in - get|getlocal) - _directories && ret=0 - ;; - movefile) - _files -g "*.d(sc|eb)(-.)" && ret=0 - ;; - listbin) - _wanted lists expl list compadd mirror sync repo && ret=0 - ;; - *) - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_apt-show-versions b/result/sw/share/zsh/5.9/functions/_apt-show-versions deleted file mode 100644 index 1c3617d6..00000000 --- a/result/sw/share/zsh/5.9/functions/_apt-show-versions +++ /dev/null @@ -1,13 +0,0 @@ -#compdef apt-show-versions - -_arguments \ - '(--status-file -stf)'{--status-file=,-stf}'[specify dpkg status file]:status file:_files' \ - '(--list-dir -ld)'{--list-dir=,-ld}"[specify dir for apt's list files]:apt list dir:_files -/" \ - '(--package -p)'{--package=,-p}'[restrict to specified package]:package:_deb_packages avail' \ - '(--regex -r)'{--regex,-r}'[interpret -p argument as regex]' \ - '(--upgradeable -u)'{--upgradeable,-u}'[print only upgradeable packages]' \ - '(--allversions -a)'{--allversions,-a}'[print all available versions]' \ - '(--brief -b)'{--brief,-b}'[brief output]' \ - '(--verbose -v)'{--verbose,-v}'[verbose output]' \ - '(--help -h)'{--help,-h}'[display help information]' \ - ':package:_deb_packages avail' diff --git a/result/sw/share/zsh/5.9/functions/_aptitude b/result/sw/share/zsh/5.9/functions/_aptitude deleted file mode 100644 index 5b10adb8..00000000 --- a/result/sw/share/zsh/5.9/functions/_aptitude +++ /dev/null @@ -1,127 +0,0 @@ -#compdef aptitude - -local curcontext="$curcontext" sep ret=1 -local state line expl specs disp cmds suf - -_arguments -C \ - '(- 1 *)'{-h,--help}'[display help information]' \ - '(- 1 *)--version[display version information]' \ - '--add-user-tag=[add user tag to affected packages]:tag' \ - '--add-user-tag-to=[add user tag to matching packages]:tag,pattern' \ - '--allow-new-upgrades[install upgrades for packages regardless]' \ - '(--no-new-installs)--allow-new-installs[allow the safe-upgrade command to install new packages]' \ - '--allow-untrusted[install packages from untrusted sources without prompting]' \ - '--disable-columns[output results without any special formatting]' \ - '(-F --display-format)'{-F,--display-format}'[specify output format for search command]:format:->format-strings' \ - '--group-by=[control how the versions command groups its output]:grouping:(archive auto none package source-package source-version)' \ - '--log-file=[specify output log file]:file:_files' \ - '*--log-level=[specify minimum message level to log]:level:compadd -o nosort off fatal error warn info debug trace' \ - '--log-resolver[set some standard log levels related to the resolver]' \ - '(--allow-new-installs)--no-new-installs[prevent safe-upgrade from installing any new packages]' \ - '(--allow-new-upgrades)--no-new-upgrades[prevent safe-upgrade from upgrading packages regardless]' \ - "--no-show-resolver-actions[don't display the actions performed by the “safe” resolver]" \ - '(-O --sort)'{-O,--sort}'[specify sort order]:sort order:->orderings' \ - '-o[set a configuration file option]:key=value' \ - '(-s --simulate)'{-s,--simulate}'[print actions without performing them]' \ - '(-d --download-only)'{-d,--download-only}"[just download packages - don\'t install]" \ - '(-P --prompt)'{-P,--prompt}'[always display a prompt]' \ - '--purge-unused[purge in addition to removing each package that is no longer required]' \ - '(-y --assume-yes)'{-y,--assume-yes}'[assume yes answer to questions]' \ - '(-w --width)'{-w,--width}'[specify output width]:width' \ - '-f[aggressively try to fix dependencies of broken packages]' \ - '(-V --show-versions)'{-V,--show-versions}'[show which versions of packages will be installed]' \ - '(-D --show-deps)'{-D,--show-deps}'[show brief explanations of automatic installations and removals]' \ - '-Z[show disk space changes for each package]' \ - '(-v --verbose)'{-v,--verbose}'[causes some commands to display extra information]' \ - '(-R --without-recommends)'{-R,--with-recommends}'[install recommended packages when installing new packages]' \ - '(--without-suggests)--with-suggests[install suggested packages when installing new packages]' \ - '(-r --with-recommends)'{-r,--without-recommends}'[ignore recommended packages when installing new packages]' \ - '(--with-suggests)--without-suggests[ignore suggested packages when installing new packages]' \ - '--remove-user-tag=[remove user tag from affected packages]:tag' \ - '--remove-user-tag-from=[remove user tag from matching packages]:tag,pattern' \ - '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:->aptitude-releases' \ - '(-q --quiet)'{-q=,--quiet=}'[less Output]:level' \ - '--schedule-only[schedule operations to be performed in the future]' \ - '--purge-unused[purge unused packages instead of removing]' \ - '--visual-preview[start up the visual interface and display its preview screen]' \ - '--full-resolver[attempts to resolve conflicts with a higher risk of breakage]' \ - '--safe-resolver[attempts to resolve conflicts with a lower risk of breakage]' \ - '--show-package-names[control when the versions command shows package names]:when:(always auto never)' \ - '--show-summary=[summarize each dependency chain that the why command outputs]::mode:(no-summary first-package first-package-and-type all-packages all-packages-with-dep-versions)' \ - '(-W --show-why)'{-W,--show-why}'[show which manually installed package requires each automatically installed package]' \ - '-S[load the extended state information from non-standard state file]:state file:_files' \ - '-u[begin updating the package lists as soon as the program starts]' \ - '-i[displays a download preview when the program starts]' \ - '-Z[show how much disk space will be used or freed by the individual packages]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - aptitude-releases) - releases=( - ${${(M)${(f)"$(</etc/apt/sources.list)"}\ -:#[ $'\t']#deb(|-src)*}/(#b)[ $'\t']#[^ $'\t']##[ $'\t']##[^ $'\t']##[ $'\t']##([^ $'\t']##)*/$match[1]} - ) - _description releases expl release - compadd "$expl[@]" -a releases && ret=0 - ;; - cmds) - cmds=( ${${(M)${(f)"$(_call_program commands aptitude -h 2>/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l}) - - _describe -t commands 'aptitude command' cmds && ret=0 - ;; - format-strings) - compset -P '(%\#[0-9]|%[A-Za-z%]|[^%])#' - compset -S '*' - zstyle -s ":completion:${curcontext}:format-specifiers" list-separator sep || sep=-- - specs=( - '%%:literal %' '%#:parameter replacement' '%a:action flag' - '%A:action' '%B:broken count' '%c:current state flag' - '%C:current state' '%d:description' '%D:package size' - '%E:architecture' '%H:hostname' '%i:pin priority' - '%I:installed size' '%m:maintainer' '%M:automatic flag' - '%n:program version' '%N:program name' '%o:download size' - '%O:origin' '%p:package name' '%P:priority' - '%r:reverse depends count' '%R:abbreviated priority' '%s:section' - '%S:trust status' '%t:archive' '%T:tagged' - '%u:disk usage change' '%v:current version' '%V:candidate version' - '%Z:size change' - ) - zformat -a disp " $sep " $specs - _description format-specifiers expl 'format specifier' - compadd "$expl[@]" -S '' -d disp - ${specs%:*} - ;; - orderings) - line=( "${(@)${(@)${(@s.,.)PREFIX}#(\\|)\~}[1,-2]}" ) - compset -P '*,' - compset -S ',*' || suf=( -qS , ) - if ! compset -P '(\\|)~'; then - _description prefixes expl 'reverse order' - compadd "$expl[@]" -S '' \~ && ret=0 - fi - _description sort-key expl 'order [name,version]' - compadd -F line "$expl[@]" $suf - installsize installsizechange debsize \ - name priority version && ret=0 - ;; - args) - case $line[1] in - search) - _message -e patterns pattern - ;; - (download|show|changelog|why|why-not|build-dep|build-depends) - _deb_packages avail && ret=0 - ;; - (remove|purge|hold|unhold|reinstall|forbid-version|markauto|unmarkauto) - _deb_packages installed && ret=0 - ;; - install) - _deb_packages uninstalled && ret=0 - ;; - *) - (( ret )) && _message 'no more arguments' - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_arch_archives b/result/sw/share/zsh/5.9/functions/_arch_archives deleted file mode 100644 index 9ffd7e3d..00000000 --- a/result/sw/share/zsh/5.9/functions/_arch_archives +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -local ARCHCMD="$1" -shift -local expl completions library name_arg='-n' -if [[ -n $argv[(r)--library] ]]; then - library='library-' - # remove parameter from $@ before calling compadd - argv[(r)--library]=() - name_arg= -fi -completions=($(_call_program ${ARCHCMD} ${ARCHCMD} ${library:-}archives $name_arg)) -_description -V archives expl "${library:-}archives" -compadd "$@" "$expl[@]" -- "$completions[@]" diff --git a/result/sw/share/zsh/5.9/functions/_arch_namespace b/result/sw/share/zsh/5.9/functions/_arch_namespace deleted file mode 100644 index 17129388..00000000 --- a/result/sw/share/zsh/5.9/functions/_arch_namespace +++ /dev/null @@ -1,105 +0,0 @@ -#autoload - -_arch_namespace () { #double as arch_namespace_categories - local ARCHCMD="$1" - shift -# takes an integer argument specifying how many components: -# 1: category -# 2: branch -# 3: version -# 4: revision - local suffix expl archive=`$ARCHCMD my-default-archive 2> /dev/null` - local trailing_dashes=0 - [[ -n $argv[(r)--trailing-dashes] ]] && trailing_dashes=1 - local library - [[ -n $argv[(r)--library] ]] && library='library-'; - local exclude_library_revisions=0 - [[ -n $argv[(r)--exclude-library-revisions] ]] && exclude_library_revisions=1 - - if [ $1 -gt 1 ] || (( trailing_dashes )); then - suffix=(-q -S --) - fi - if [[ $PREFIX = */* ]]; then - compset -P '*/' - archive=${IPREFIX%/*} - _description -V categories expl "${library:-}categories in $archive" - compadd $suffix "$expl[@]" `$ARCHCMD ${library:-}categories $archive` - elif [ -z $IPREFIX ]; then - local index=$(( words[(i)-A] + 1 )) - (( index < CURRENT )) || index=$(( words[(i)--archive] + 1 )) - (( index < CURRENT )) && archive=$words[$index] - - if [ $archive ]; then - _description -V categories expl "${library:-}categories in $archive" - compadd "$expl[@]" $suffix `$ARCHCMD ${library:-}categories $archive` - fi - - _arch_archives "$ARCHCMD" -S / ${library:+--library} - fi - if [ $archive ] && [ $1 -gt 1 ] && [[ $PREFIX != *@* ]] \ - && [[ $PREFIX = *--* ]]; then - #this match could be better - _arch_namespace_branches "$ARCHCMD" $(($1 - 1)) - fi -} - -(( $+functions[_arch_namespace_branches] )) || -_arch_namespace_branches () { - local ARCHCMD="$1" - shift - local suffix expl - if [ $1 -gt 1 ] || (( $trailing_dashes )); then - suffix=(-q -S --) - fi - if [[ $IPREFIX != *-- ]]; then - compset -P 1 '*--' - local category=${IPREFIX%--} - _description -V branches expl "${library:-}branches" - compadd $suffix "$expl[@]" \ - ${${(@)$($ARCHCMD ${library:-}branches $category)}##*--} - fi - if [ $1 -gt 1 ] && [[ $IPREFIX = *-- ]] && [[ $PREFIX = *--* ]]; then - _arch_namespace_versions "${ARCHCMD}" $(($1 - 1)) - fi -} - -(( $+functions[_arch_namespace_versions] )) || -_arch_namespace_versions () { - local ARCHCMD="$1" - shift - local suffix expl - if [ $1 -gt 1 ]; then - suffix=(-q -S --) - fi - if [[ $IPREFIX != *--*-- ]] || [[ $IPREFIX != */*--*-- ]]; then - compset -P 1 '*--' - local branch=${IPREFIX%--} - _description -V versions expl "${library:-}versions" - compadd $suffix "$expl[@]" \ - ${${(@)$($ARCHCMD ${library:-}versions $branch)}##*--} - fi - if [ $1 -gt 1 ] && [[ $IPREFIX = *--*-- ]] && ([[ $IPREFIX = */*--*-- ]] \ - || [[ $PREFIX != */* ]]) && [[ $PREFIX = *--* ]]; then - _arch_namespace_revisions "${ARCHCMD}" - fi -} - -(( $+functions[_arch_namespace_revisions] )) || -_arch_namespace_revisions () { - local ARCHCMD="$1" - local expl - if [[ $IPREFIX != *--*--*-- ]] || [[ $IPREFIX != */*--*--*-- ]]; then - compset -P 1 '*--' - local version=${IPREFIX%--} - _description -V revisions expl "${library:-}revisions" - local completions c - completions=( - ${${(@)$($ARCHCMD ${library:-}revisions $version)}##*--} - ) - (( exclude_library_revisions )) && \ - foreach c ($($ARCHCMD library-revisions $version)); do completions[(r)$c]=(); done - compadd "$expl[@]" -a completions - fi -} - -_arch_namespace "$@" diff --git a/result/sw/share/zsh/5.9/functions/_arg_compile b/result/sw/share/zsh/5.9/functions/_arg_compile deleted file mode 100644 index e37c869e..00000000 --- a/result/sw/share/zsh/5.9/functions/_arg_compile +++ /dev/null @@ -1,199 +0,0 @@ -#autoload - -# A simple compiler for _arguments descriptions. The first argument of -# _arg_compile is the name of an array parameter in which the parse is -# returned. The remaining arguments form a series of `phrases'. Each -# `phrase' begins with one of the keywords "argument", "option", or "help" -# and consists of a series of keywords and/or values. The syntax is as -# free-form as possible, but "argument" phrases generally must appear in -# the same relative position as the corresponding argument on the command -# line to be completed, and there are some restrictions on ordering of -# keywords and values within each phrase. -# -# Anything appearing before the first phrase or after the last is passed -# through verbatim. (See TODO.) If more detailed mixing of compiled and -# uncompiled fragments is necessary, use two or more calls, either with -# different array names or by passing the output of each previous call -# through the next. -# -# In the documentation below, brackets [ ] indicate optional elements and -# braces { } indicate elements that may be repeated zero or more times. -# Except as noted, bracketed or braced elements may appear in any order -# relative to each other, but tokens within each element are ordered. -# -# argument [POS] [means MSG] [action ACT] -# -# POS may be an integer N for the Nth argument or "*" for all, and -# must appear first if it appears at all. -# MSG is a string to be displayed above the matches in a listing. -# ACT is (currently) as described in the compsys manual. -# -# option OPT [follow HOW] [explain STR] {unless XOR} \ -# {[means MSG] [action ACT]} [through PAT [means MSG] [action ACT]] -# -# OPT is the option, prefixed with "*" if it may appear more than once. -# HOW refers to a following argument, and may be one of: -# "close" must appear in the same word (synonyms "join" or "-") -# "next" the argument must appear in the next word (aka "split") -# "loose" the argument may appear in the same or the next word ("+") -# "assign" as loose, but must follow an "=" in the same word ("=") -# HOW should be suffixed with a colon if the following argument is -# _not_ required to appear. -# STR is to be displayed based on style `description' -# XOR is another option in combination with which OPT may not appear. -# It may be ":" to disable non-option completions when OPT is present. -# MSG is a string to be displayed above the matches in a listing. -# ACT is (currently) as described in the compsys manual. -# PAT is either "*" for "all remaining words on the line" or a pattern -# that, if matched, marks the end of the arguments of this option. -# The "through PAT ..." description must be the last. -# PAT may be suffixed with one colon to narrow the $words array to -# the remainder of the command line, or with two colons to narrow -# to the words before (not including) the next that matches PAT. -# -# help PAT [means MSG] action ACT -# -# ACT is applied to any option output by --help that matches PAT. -# Do not use "help" with commands that do not support --help. -# PAT may be suffixed with a colon if the following argument is -# _not_ required to appear (this is usually inferred from --help). -# MSG is a string to be displayed above the matches in a listing. - -# EXAMPLE: -# This is from _gprof in the standard distribution. Note that because of -# the brace expansion trick used in the "function name" case, no attempt -# is made to use `phrase' form; that part gets passed through unchanged. -# It could simply be moved to the _arguments call ahead of "$args[@]". -# -# _arg_compile args -s -{a,b,c,D,h,i,l,L,s,T,v,w,x,y,z} \ -# -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,Z}:'function name:->funcs' \ -# option -I means directory action _dir_list \ -# option -d follow close means "debug level" \ -# option -k means "function names" action '->pair' \ -# option -m means "minimum execution count" \ -# argument means executable action '_files -g \*\(-\*\)' \ -# argument means "profile file" action '_files -g gmon.\*' \ -# help '*=name*' means "function name" action '->funcs' \ -# help '*=dirs*' means "directory" action _dir_list -# _arguments "$args[@]" - -# TODO: -# Verbose forms of various actions, e.g. (but not exactly) -# "state foo" becomes "->foo" -# "completion X explain Y ..." becomes "((X\:Y ...))" -# etc. -# Represent leading "*" in OPT some other way. -# Represent trailing colons in HOW and PAT some other way. -# Stricter syntax checking on HOW, sanity checks on XOR. -# Something less obscure than "unless :" would be nice. -# Warning or other syntax check for stuff after the last phrase. - -emulate -L zsh -local -h argspec dspec helpspec prelude xor -local -h -A amap dmap safe - -[[ -n "$1" ]] || return 1 -[[ ${(tP)${1}} = *-local ]] && { print -R NAME CONFLICT: $1 1>&2; return 1 } -safe[reply]="$1"; shift - -# First consume and save anything before the argument phrases - -helpspec=() -prelude=() - -while (($#)) -do - case $1 in - (argument|help|option) break;; - (*) prelude=("$prelude[@]" "$1"); shift;; - esac -done - -# Consume all the argument phrases and build the argspec array - -while (($#)) -do - amap=() - dspec=() - case $1 in - - # argument [POS] [means MSG] [action ACT] - (argument) - shift - while (($#)) - do - case $1 in - (<1->|\*) amap[position]="$1"; shift;; - (means|action) amap[$1]="$2"; shift 2;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done - if (( $#amap )) - then - argspec=("$argspec[@]" "${amap[position]}:${amap[means]}:${amap[action]}") - fi;; - - # option OPT [follow HOW] [explain STR] {unless XOR} \ - # {[through PAT] [means MSG] [action ACT]} - (option) - amap[option]="$2"; shift 2 - dmap=() - xor=() - while (( $# )) - do - (( ${+amap[$1]} || ${+dmap[through]} )) && break; - case $1 in - (follow) - amap[follow]="${2:s/join/-/:s/close/-/:s/next//:s/split//:s/loose/+/:s/assign/=/:s/none//}" - shift 2;; - (explain) amap[explain]="[$2]" ; shift 2;; - (unless) xor=("$xor[@]" "${(@)=2}"); shift 2;; - (through|means|action) - while (( $# )) - do - (( ${+dmap[$1]} )) && break 2 - case $1 in - (through|means|action) dmap[$1]=":${2}"; shift 2;; - (argument|option|help|follow|explain|unless) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - if (( $#dmap )) - then - dspec=("$dspec[@]" "${dmap[through]}${dmap[means]:-:}${dmap[action]:-:}") - fi - done - if (( $#amap )) - then - argspec=("$argspec[@]" "${xor:+($xor)}${amap[option]}${amap[follow]}${amap[explain]}${dspec}") - fi;; - - # help PAT [means MSG] action ACT - (help) - amap[pattern]="$2"; shift 2 - while (($#)) - do - (( ${+amap[$1]} )) && break; - case $1 in - (means|action) amap[$1]="$2"; shift 2;; - (argument|option|help) break;; - (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;; - esac - done - if (( $#amap )) - then - helpspec=("$helpspec[@]" "${amap[pattern]}:${amap[means]}:${amap[action]}") - fi;; - (*) break;; - esac -done - -eval $safe[reply]'=( "${prelude[@]}" "${argspec[@]}" ${helpspec:+"-- ${helpspec[@]}"} "$@" )' - -# print -R _arguments "${prelude[@]:q}" "${argspec[@]:q}" ${helpspec:+"-- ${helpspec[@]:q}"} "$@:q" - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/_arguments b/result/sw/share/zsh/5.9/functions/_arguments deleted file mode 100644 index 5ff34ff4..00000000 --- a/result/sw/share/zsh/5.9/functions/_arguments +++ /dev/null @@ -1,589 +0,0 @@ -#autoload - -# Complete the arguments of the current command according to the -# descriptions given as arguments to this function. - -local long cmd="$words[1]" descr odescr mesg subopts opt opt2 usecc autod -local oldcontext="$curcontext" hasopts rawret optarg singopt alwopt -local setnormarg start rest -local -a match mbegin mend -integer opt_args_use_NUL_separators=0 - -subopts=() -singopt=() -while [[ "$1" = -([AMO]*|[0CRSWnsw]) ]]; do - case "$1" in - -0) opt_args_use_NUL_separators=1; shift ;; - -C) usecc=yes; shift ;; - -O) subopts=( "${(@P)2}" ); shift 2 ;; - -O*) subopts=( "${(@P)${1[3,-1]}}" ); shift ;; - -R) rawret=yes; shift;; - -n) setnormarg=yes; NORMARG=-1; shift;; - -w) optarg=yes; shift;; - -W) alwopt=arg; shift;; - -[Ss]) singopt+=( $1 ); shift;; - -[AM]) singopt+=( $1 $2 ); shift 2 ;; - -[AM]*) singopt+=( $1 ); shift ;; - esac -done - -[[ $1 = ':' ]] && shift -singopt+=( ':' ) # always end with ':' to indicate the end of options - -[[ "$PREFIX" = [-+] ]] && alwopt=arg - -long=$argv[(I)--] -if (( long )); then - local name tmp tmpargv - - tmpargv=( "${(@)argv[1,long-1]}" ) # optspec's before --, if any - - name=${~words[1]} 2>/dev/null - [[ "$name" = [^/]*/* ]] && name="$PWD/$name" - - name="_args_cache_${name}" - name="${name//[^a-zA-Z0-9_]/_}" - - if (( ! ${(P)+name} )); then - local iopts sopts lflag pattern tmpo dir cur cache - typeset -Ua lopts - - cache=() - - # We have to build a new long-option cache, get the `-i' and - # `-s' options. - - set -- "${(@)argv[long+1,-1]}" - - iopts=() - sopts=() - while [[ "$1" = -[lis]* ]]; do - if [[ "$1" = -l ]]; then - lflag='-l' - shift - continue - fi - if [[ "$1" = -??* ]]; then - tmp="${1[3,-1]}" - cur=1 - else - tmp="$2" - cur=2 - fi - if [[ "$tmp[1]" = '(' ]]; then - tmp=( ${=tmp[2,-2]} ) - else - tmp=( "${(@P)tmp}" ) - fi - if [[ "$1" = -i* ]]; then - iopts+=( "$tmp[@]" ) - else - sopts+=( "$tmp[@]" ) - fi - shift cur - done - - # Now get the long option names by calling the command with `--help'. - # The parameter expansion trickery first gets the lines as separate - # array elements. Then we select all lines whose first non-blank - # character is a hyphen. Since some commands document more than one - # option per line, separated by commas, we convert commas into - # newlines and then split the result again at newlines after joining - # the old array elements with newlines between them. Then we select - # those elements that start with two hyphens, remove anything up to - # those hyphens and anything from the space or tab after the - # option up to the end. - - tmp=() - _call_program $lflag options ${~words[1]} --help 2>&1 | - while IFS= read -r opt; do - if (( ${#tmp} )); then - # Previous line had no comment. Is the current one suitable? - # It's hard to be sure, but if it there was nothing on the - # previous line and the current one is indented more than - # a couple of spaces (and isn't completely whitespace or punctuation) - # there's a pretty good chance. - if [[ $opt = [[:space:]][[:space:]][[:space:]]*[[:alpha:]]* ]]; then - # Assume so. - opt=${opt##[[:space:]]##} - # Same substitution as below. - lopts+=("${^tmp[@]}":${${${opt//:/-}//\[/(}//\]/)}) - tmp=() - # Finished with this line. - continue - else - # Still no comment, add the previous options anyway. - # Add a ':' after the option anyways, to make the matching of - # the options lateron work as intended. - # It will be removed again later. - lopts+=("${^tmp[@]}":) - tmp=() - fi - fi - while [[ $opt = [,[:space:]]#(#b)(-[^,[:space:]]#)(*) ]]; do - # We used to remove the brackets from "[=STUFF]", - # but later the code appears to handle it with the brackets - # present. Maybe the problem was that the intervening code - # didn't. If it's buggy without removing them, the problem - # probably is later, not here. - start=${match[1]} - rest=${match[2]} - if [[ -z ${tmp[(r)${start%%[^a-zA-Z0-9_-]#}]} ]]; then - # variant syntax seen in fetchmail: - # --[fetch]all means --fetchall or --all. - # maybe needs to be more general - if [[ $start = (#b)--\[(*)\](*) ]]; then - tmp+=("--${match[1]}${match[2]}" "--${match[2]}") - else - tmp+=($start) - fi - fi - opt=$rest - done - # If there's left over text, assume it's a description; it - # may be truncated but if it's too long it's no use anyway. - # There's one hiccup: we sometimes get descriptions like - # --foo fooarg Do some foo stuff with foo arg - # and we need to remove fooarg. Use whitespace for hints. - opt=${opt## [^[:space:]]## } - opt=${opt##[[:space:]]##} - if [[ -n $opt ]]; then - # Add description after a ":", converting any : in the description - # to a -. Use RCQUOTES to append this to all versions of the option. - lopts+=("${^tmp[@]}":${${${opt//:/-}//\[/(}//\]/)}) - tmp=() - # If there's no comment, we'll see if there's one on the - # next line. - fi - done - # Tidy up any remaining uncommented options. - if (( ${#tmp} )); then - lopts+=("${^tmp[@]}":) - fi - - # Remove options also described by user-defined specs. - - tmp=() - # Ignore any argument and description information when searching - # the long options array here and below. - for opt in "${(@)${(@)lopts:#--}%%[\[:=]*}"; do - - # Using (( ... )) gives a parse error. - - let "$tmpargv[(I)(|\([^\)]#\))(|\*)${opt}(|[-+]|=(|-))(|\[*\])(|:*)]" || - tmp+=( "$lopts[(r)$opt(|[\[:=]*)]" ) - done - lopts=( "$tmp[@]" ) - - # Now remove all ignored options ... - - while (( $#iopts )); do - lopts=( ${lopts:#$~iopts[1](|[\[:=]*)} ) - shift iopts - done - - # ... and add "same" options - - while (( $#sopts )); do - # This implements adding things like --disable-* based - # on the existence of --enable-*. - # TODO: there's no anchoring here, is that correct? - # If it's not, careful with the [\[:=]* stuff. - lopts+=( ${lopts/$~sopts[1]/$sopts[2]} ) - shift 2 sopts - done - - # Then we walk through the descriptions plus a few builtin ones. - # The last one matches all options; the `special' description and action - # makes those options be completed without an argument description. - - argv+=( - '*=FILE*:file:_files' - '*=(DIR|PATH)*:directory:_files -/' - '*=*:=: ' - '*: : ' - ) - - while (( $# )); do - - # First, we get the pattern and the action to use and take them - # from the positional parameters. - - # This is the first bit of the arguments in the special form - # for converting --help texts, taking account of any quoting - # of colons. - pattern="${${${(M)1#*[^\\]:}[1,-2]}//\\\\:/:}" - # Any action specifications that go with it. - descr="${1#${pattern}}" - if [[ "$pattern" = *\(-\) ]]; then - # This is the special form to disallow arguments - # in the next word. - pattern="$pattern[1,-4]" - dir=- - else - dir= - fi - shift - - # We get all options matching the pattern and take them from the - # list we have built. If no option matches the pattern, we - # continue with the next. - - # Ignore :descriptions at the ends of lopts for matching this; - # they aren't in the patterns. - tmp=("${(@M)lopts:##$~pattern:*}") - lopts=("${(@)lopts:##$~pattern:*}") - - (( $#tmp )) || continue - - opt='' - - # Clean suffix ':' added earlier - tmp=("${(@)tmp%:}") - - # If there are option strings with a `[=', we take these to get an - # optional argument. - - tmpo=("${(@M)tmp:#[^:]##\[\=*}") - if (( $#tmpo )); then - tmp=("${(@)tmp:#[^:]##\[\=*}") - - for opt in "$tmpo[@]"; do - # Look for --option:description and turn it into - # --option[description]. We didn't do that above - # since it could get confused with the [=ARG] stuff. - if [[ $opt = (#b)(*):([^:]#) ]]; then - opt=$match[1] - odescr="[${match[2]}]" - else - odescr= - fi - if [[ $opt = (#b)(*)\[\=* ]]; then - opt2=${${match[1]}//[^a-zA-Z0-9_-]}=-${dir}${odescr} - else - opt2=${${opt}//[^a-zA-Z0-9_-]}=${dir}${odescr} - fi - if [[ "$descr" = :\=* ]]; then - cache+=( "${opt2}::${(L)${opt%\]}#*\=}: " ) - elif [[ "$descr" = ::* ]]; then - cache+=( "${opt2}${descr}" ) - else - cache+=( "${opt2}:${descr}" ) - fi - done - fi - - # Descriptions with `=': mandatory argument. - # Basically the same as the foregoing. - # TODO: could they be combined? - - tmpo=("${(@M)tmp:#[^:]##\=*}") - if (( $#tmpo )); then - tmp=("${(@)tmp:#[^:]##\=*}") - - for opt in "$tmpo[@]"; do - if [[ $opt = (#b)(*):([^:]#) ]]; then - opt=$match[1] - odescr="[${match[2]}]" - else - odescr= - fi - opt2="${${opt%%\=*}//[^a-zA-Z0-9_-]}=${dir}${odescr}" - if [[ "$descr" = :\=* ]]; then - cache+=( "${opt2}:${(L)${opt%\]}#*\=}: " ) - else - cache+=( "${opt2}${descr}" ) - fi - done - fi - - # Everything else is just added as an option without arguments or - # as described by $descr. - - if (( $#tmp )); then - tmp=( - # commands with a description of the option (as opposed - # to the argument, which is what descr contains): needs to be - # "option[description]". - # Careful: \[ on RHS of substitution keeps the backslash, - # I discovered after about half an hour, so don't do that. - "${(@)^${(@)tmp:#^*:*}//:/[}]" - # commands with no description - "${(@)${(@)tmp:#*:*}//[^a-zA-Z0-9_-]}") - if [[ -n "$descr" && "$descr" != ': : ' ]]; then - cache+=( "${(@)^tmp}${descr}" ) - else - cache+=( "$tmp[@]" ) - fi - fi - done - set -A "$name" "${(@)cache:# #}" - fi - set -- "$tmpargv[@]" "${(@P)name}" -fi - -zstyle -s ":completion:${curcontext}:options" auto-description autod - -if (( $# )) && comparguments -i "$autod" "$singopt[@]" "$@"; then - local action noargs aret expl local tried ret=1 - local next direct odirect equal single matcher matched ws tmp1 tmp2 tmp3 - local opts subc tc prefix suffix descrs actions subcs anum - local origpre="$PREFIX" origipre="$IPREFIX" nm="$compstate[nmatches]" - - if comparguments -D descrs actions subcs; then - if comparguments -O next direct odirect equal; then - opts=yes - _tags "$subcs[@]" options - else - _tags "$subcs[@]" - fi - else - if comparguments -a; then - noargs='no more arguments' - else - noargs='no arguments' - fi - if comparguments -O next direct odirect equal; then - opts=yes - _tags options - elif [[ $? -eq 2 ]]; then - compadd -Q - "${PREFIX}${SUFFIX}" - return 0 - else - _message "$noargs" - return 1 - fi - fi - - comparguments -M matcher - - context=() - state=() - state_descr=() - - while true; do - while _tags; do - anum=1 - if [[ -z "$tried" ]]; then - while [[ anum -le $#descrs ]]; do - - action="$actions[anum]" - descr="$descrs[anum]" - subc="$subcs[anum++]" - - if [[ $subc = argument* && -n $setnormarg ]]; then - comparguments -n NORMARG - fi - - if [[ -n "$matched" ]] || _requested "$subc"; then - - curcontext="${oldcontext%:*}:$subc" - - _description "$subc" expl "$descr" - - if [[ "$action" = \=\ * ]]; then - action="$action[3,-1]" - words=( "$subc" "$words[@]" ) - (( CURRENT++ )) - fi - - if [[ "$action" = -\>* ]]; then - action="${${action[3,-1]##[ ]#}%%[ ]#}" - if (( ! $state[(I)$action] )); then - comparguments -W line opt_args $opt_args_use_NUL_separators - state+=( "$action" ) - state_descr+=( "$descr" ) - if [[ -n "$usecc" ]]; then - curcontext="${oldcontext%:*}:$subc" - else - context+=( "$subc" ) - fi - compstate[restore]='' - aret=yes - fi - else - if [[ -z "$local" ]]; then - local line - typeset -A opt_args - local=yes - fi - - comparguments -W line opt_args $opt_args_use_NUL_separators - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - _message -e "$subc" "$descr" - mesg=yes - tried=yes - alwopt=${alwopt:-yes} - elif [[ "$action" = \(\(*\)\) ]]; then - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "$subc" "$descr" ws -M "$matcher" "$subopts[@]" || - alwopt=${alwopt:-yes} - tried=yes - - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels "$subc" expl "$descr" compadd "$subopts[@]" -a - ws || - alwopt=${alwopt:-yes} - tried=yes - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label "$subc" expl "$descr"; do - eval "$action[2,-2]" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label "$subc" expl "$descr"; do - "$action[@]" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - else - - # Otherwise we call it with the description-arguments. - - eval "action=( $action )" - while _next_label "$subc" expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" && ret=0 - done - (( ret )) && alwopt=${alwopt:-yes} - tried=yes - fi - fi - fi - done - fi - if _requested options && - [[ -z "$hasopts" && - -z "$matched" && - ( -z "$aret" || "$PREFIX" = "$origpre" ) ]] && - { ! zstyle -T ":completion:${oldcontext%:*}:options" prefix-needed || - [[ "$origpre" = [-+]* || -z "$aret$mesg$tried" ]] } ; then - local prevpre="$PREFIX" previpre="$IPREFIX" prevcontext="$curcontext" - - curcontext="${oldcontext%:*}:options" - - hasopts=yes - - PREFIX="$origpre" - IPREFIX="$origipre" - - if [[ -z "$alwopt" || -z "$tried" || "$alwopt" = arg ]] && - comparguments -s single; then - - if [[ "$single" = direct ]]; then - _all_labels options expl option \ - compadd -QS '' - "${PREFIX}${SUFFIX}" - elif [[ -z "$optarg" && "$single" = next ]]; then - _all_labels options expl option \ - compadd -Q - "${PREFIX}${SUFFIX}" - elif [[ "$single" = equal ]]; then - _all_labels options expl option \ - compadd -QqS= - "${PREFIX}${SUFFIX}" - else - - tmp1=( "$next[@]" "$direct[@]" "$odirect[@]" "$equal[@]" ) - - [[ "$PREFIX" = [-+]* ]] && tmp1=( "${(@M)tmp1:#${PREFIX[1]}*}" ) - - [[ "$single" = next ]] && - tmp1=( "${(@)tmp1:#[-+]${PREFIX[-1]}((#e)|:*)}" ) - - [[ "$PREFIX" != --* ]] && tmp1=( "${(@)tmp1:#--*}" ) - tmp3=( "${(M@)tmp1:#[-+]?[^:]*}" ) - tmp1=( "${(M@)tmp1:#[-+]?(|:*)}" ) - tmp2=( "${PREFIX}${(@M)^${(@)${(@)tmp1%%:*}#[-+]}:#?}" ) - - _describe -O option \ - tmp1 tmp2 -S '' -- \ - tmp3 - - [[ -n "$optarg" && "$single" = next && nm -eq $compstate[nmatches] ]] && - _all_labels options expl option \ - compadd -Q - "${PREFIX}${SUFFIX}" - - fi - single=yes - else - next+=( "$odirect[@]" ) - _describe -O option \ - next -M "$matcher" -- \ - direct -S '' -M "$matcher" -- \ - equal -qS= -M "$matcher" - fi - PREFIX="$prevpre" - IPREFIX="$previpre" - curcontext="$prevcontext" - fi - [[ -n "$tried" && "${${alwopt:+$origpre}:-$PREFIX}" != [-+]* ]] && break - done - if [[ -n "$opts" && -z "$aret" && - -z "$matched" && - ( -z "$tried" || -n "$alwopt" ) && - nm -eq compstate[nmatches] ]]; then - - PREFIX="$origpre" - IPREFIX="$origipre" - - prefix="${PREFIX#*\=}" - suffix="$SUFFIX" - PREFIX="${PREFIX%%\=*}" - SUFFIX='' - - compadd -M "$matcher" -D equal - "${(@)equal%%:*}" - - if [[ $#equal -eq 1 ]]; then - PREFIX="$prefix" - SUFFIX="$suffix" - IPREFIX="${IPREFIX}${equal[1]%%:*}=" - matched=yes - - comparguments -L "${equal[1]%%:*}" descrs actions subcs - - _tags "$subcs[@]" - - continue - fi - fi - break - done - - [[ -z "$aret" || -z "$usecc" ]] && curcontext="$oldcontext" - - if [[ -n "$aret" ]]; then - [[ -n $rawret ]] && return 300 - -### Returning non-zero would allow the calling function to add its own -### completions if we generated only options and have to use a ->state -### action. But if that then doesn't generate matches, the calling -### function's return value would be wrong unless it compares -### $compstate[nmatches] to its previous value. Ugly. -### -### return 1 - else - [[ -n "$noargs" && nm -eq "$compstate[nmatches]" ]] && _message "$noargs" - fi - # Set the return value. - - [[ nm -ne "$compstate[nmatches]" ]] -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_arp b/result/sw/share/zsh/5.9/functions/_arp deleted file mode 100644 index 7727de28..00000000 --- a/result/sw/share/zsh/5.9/functions/_arp +++ /dev/null @@ -1,100 +0,0 @@ -#compdef arp - -local state line expl curcontext="$curcontext" ret=1 -typeset -A opt_args -local -a cmds args vopt flags - -flags=( temp pub ) -cmds=( - '(2 3)-a[show entries for all hosts]' - '(2 -d)-d[delete entry from table]' - '(-n -v)-s[create an arp entry]' - '(2 3 -n -v)-f[read multiple entries from file]' -) -args=( '-n[show numeric addresses]' ) -vopt='-v[be verbose]' - -if (( ${+words[(r)-d]} )) && [[ $OSTYPE = (*bsd|dragonfly|darwin)* ]]; then - args+=( '(1 *)-a[delete all entries]' ) -fi - -case $OSTYPE in - linux*) - cmds=( - '(2 * -D --use-device)-a[show entries in BSD style output format]' - '!(2 * -D --use-device)-e' - '(2 -n --numeric -D --use-device -H --hw-type)'{-d,--delete}'[delete entry from table]' - '(-n --numeric)'{-s,--set}'[create an ARP entry]' - '(2 * -D --use-device)'{-f,--file}'[read multiple entries from file]' - ) - args=( - '(-i --device)'{-i+,--device=}'[select an interface]:interface:_net_interfaces' - '(-D --use-device -a --display -d --delete)'{-D,--use-device}"[use specified interface's hardware address]" - '(-H --hw-type -d --delete)'{-H+,--hw-type=}'[specify class of entries to check for]:class:(ash ether arcnet pronet ax25 netrom rose dlci fddi hippi irda x25 infiniband eui64)' - '(* -n --numeric -d --delete -s --set -f --file)'{-n,--numeric}'[show numeric addresses]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) - flags+=( netmask ) - ;; - darwin*|freebsd*|dragonfly*) - cmds+=( '(-n -i)-S[create an arp entry, replacing any existing entry]' ) - args+=( '(-s -Q -f)-i+[select an interface]:interface:_net_interfaces' ) - ;| - darwin*) - args+=( - '(-d -s -S -f)-l[show link-layer reachability information]' - '(-d -s -S -f)-x[show extended link-layer reachability information]' - ) - flags+=( reject blackhole only ifscope ) - ;; - dragonfly*) - flags+=( only ) - args+=( '-c:cpu' ) - ;; - netbsd*) - flags+=( proxy ) - args+=( $vopt ) - ;; - freebsd*) - flags+=( blackhole reject ) - ;; - openbsd*) - args+=( - '(-a -d -W)-F[overwrite existing entries]' - '(-W)-V+[select the routing domain]:routing domain:_routing_domains' - ) - cmds+=( - '(- 1)-W[send the wake on LAN frame]' - ) - flags+=( permanent ) - ;; - solaris*) flags+=( trail permanent) ;; -esac - -_arguments -C -s -S $args \ - '1: :->hostintable' \ - '2:ethernet address' \ - "*: :->flags" \ - + '(cmds)' $cmds && ret=0 - -if [[ "$state" = hostintable ]]; then - if [[ -n $opt_args[(i)-(D|-use-device)] ]]; then - _wanted interfaces expl interface _net_interfaces && ret=0 - elif [[ -n $opt_args[(i)-(f|-file)] ]]; then - _files && ret=0 - elif [[ -n $opt_args[(i)-(s|S|-set)] ]]; then - _hosts && ret=0 - else - _wanted hosts expl 'host' compadd ${${${(f)"$(${words[1]} -an)"}##[ ?(]#}%%[ )]*} && ret=0 - fi -elif [[ "$state" = flags ]]; then - if [[ $words[CURRENT-1] = netmask ]]; then - _message -e netmasks netmask - elif (( $+opt_args[-W] )) || [[ $words[CURRENT-1] = ifscope ]]; then - _wanted interfaces expl interface _net_interfaces && ret=0 - else - _wanted flags expl flag compadd -F line $flags && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_arping b/result/sw/share/zsh/5.9/functions/_arping deleted file mode 100644 index 4974a408..00000000 --- a/result/sw/share/zsh/5.9/functions/_arping +++ /dev/null @@ -1,56 +0,0 @@ -#compdef arping - -if _pick_variant iputils=iputils thabets -V; then - -_arguments -s \ - '-f[quit on first reply]' \ - '-q[be quiet]' \ - '-b[keep broadcasting, do not go unicast]' \ - '-D[duplicate address detection mode]'\ - '-U[unsolicited ARP mode, update your neighbours]' \ - '-A[ARP answer mode, update your neighbours]' \ - '-V[print version and exit]' \ - '-c[how many packets to send]:count' \ - '-w[how long to wait for a reply]:timeout' \ - '-i[specify interval between packets]:interval (seconds)' \ - '-I[interface]:ethernet interface:_net_interfaces' \ - '-s[source ip address]:source IP address:_hosts' \ - ':destination:_hosts' - -else - -_arguments -s -S -A "-*" \ - '(-)'{-h,--help}'[display help information]' \ - '-q[only display error messages]' \ - '-a[audible ping]' \ - '*-v[verbose output]' \ - '-r[raw output: only the MAC/IP address displayed]' \ - '-R[like -r but shows "the other one"]' \ - '-d[find duplicate replies]' \ - '-D[display answers as exclamation marks and missing packets as dots]' \ - '-e[like -a but beep when there is no reply]' \ - "-F[don't try to be smart about the interface name]" \ - '-g+[specify group to setgid() to]:group [nobody]:_groups' \ - '-m+[specify type of timestamp for incoming packets]:timestamp type' \ - '(:)-B[255.255.255.255]' \ - '-0[source 0.0.0.0]' \ - '-b[source 255.255.255.255]' \ - '-S+[set source IP]:source IP address:_hosts' \ - '-T+[target IP]:target IP address:_hosts' \ - '-p[turn on promiscuous mode]' \ - '-Q+[specify 802.1p priority to set]:priority [0]' \ - '-s[set source MAC address]:source MAC address' \ - '-t[set target MAC address]:target MAC address' \ - '-c[send this many requests]:count' \ - '-C[only wait for specified replies]:reply count' \ - '-i+[interface]:interface:_net_interfaces' \ - '-A[only count addresses matching requested address]' \ - '-P[send ARP replies instead of requests]' \ - '-u[show index=received/sent instead of just index=received when pinging MACs]' \ - '-U[send unsolicited ARP]' \ - '-V+[specify VLAN tag to set]:vlan' \ - '-w+[specify time to wait between pings (microseconds)]:time (microseconds)' \ - '-W+[specify time to wait between pings (seconds)]:time (seconds)' \ - '(-B):address:_hosts' - -fi diff --git a/result/sw/share/zsh/5.9/functions/_arrays b/result/sw/share/zsh/5.9/functions/_arrays deleted file mode 100644 index c28fb179..00000000 --- a/result/sw/share/zsh/5.9/functions/_arrays +++ /dev/null @@ -1,5 +0,0 @@ -#compdef shift - -local expl - -_wanted arrays expl array _parameters "$@" -g '*array*' diff --git a/result/sw/share/zsh/5.9/functions/_asciidoctor b/result/sw/share/zsh/5.9/functions/_asciidoctor deleted file mode 100644 index 3839c7ed..00000000 --- a/result/sw/share/zsh/5.9/functions/_asciidoctor +++ /dev/null @@ -1,42 +0,0 @@ -#compdef asciidoctor - -# Notes: -# - We don't offer -v for verbose, even though that works in some cases -# - @todo We don't complete arguments to -E and -r. Unclear how they work. -# Should we offer gem names from `gem list`...? - -_arguments -s -S : \ - '(: * -)'{-h+,--help=}'[display help information]::help topic:(( - manpage\:"dump man page" - ))' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-q -v --quiet --verbose)'{-q,--quiet}'[reduce output verbosity]' \ - '(-q -v --quiet --verbose)'{-v,--verbose}'[increase output verbosity]' \ - '*'{-a+,--attribute=}'[set/unset specified document attribute]:document attribute' \ - '(-b --backend)'{-b+,--backend=}'[specify backend output format]:backend:( - docbook docbook45 docbook5 html html5 manpage - )' \ - '(-B --base-dir)'{-B+,--base-dir=}'[specify document base directory]:base directory:_files -/' \ - '(-d --doctype)'{-d+,--doctype=}'[specify document type]:document type:( - article book inline manpage - )' \ - '(-D --destination-dir)'{-D+,--destination-dir=}'[specify destination directory]:destination directory:_files -/' \ - '(-e --eruby)'{-e+,--eruby=}'[specify eRuby implementation]:eRuby implementation:(erb erubis)' \ - '(-E --template-engine)'{-E+,--template-engine=}'[specify template engine]:template engine' \ - '--failure-level=[specify minimum logging level to trigger non-zero exit]:failure logging level [FATAL]:( - WARNING ERROR FATAL - )' \ - '*'{-I+,--load-path=}'[add specified directory to load path]:extension directory:_files -/' \ - '(-n --section-numbers)'{-n,--section-numbers}'[auto-number section titles]' \ - '(-o --out-file)'{-o+,--out-file=}'[specify output file]:output file:_files' \ - '(-R --source-directory)'{-R+,--source-dir=}'[specify source directory]:source directory:_files -/' \ - '*'{-r+,--require=}'[require specified library]:Ruby library' \ - '(-s --no-header-footer)'{-s,--no-header-footer}'[suppress document header/footer]' \ - '(-S --safe --safe-mode)'{-S+,--safe-mode=}'[specify safe-mode level]:safe-mode level [unsafe]:( - unsafe safe server secure - )' \ - '(-S --safe-mode)--safe[set safe-mode level to safe]' \ - '(-t --timings)'{-t,--timings}'[display timing information]' \ - '*'{-T+,--template-dir=}'[specify template directory]:template directory:_files -/' \ - '--trace[include backtrace information on errors]' \ - '*:source file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_asciinema b/result/sw/share/zsh/5.9/functions/_asciinema deleted file mode 100644 index 8e94f0d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_asciinema +++ /dev/null @@ -1,59 +0,0 @@ -#compdef asciinema - -local ret=1 -local -a context line state state_descr help -local -A opt_args - -help=( '(: * -)'{-h,--help}'[display help information]' ) - -_arguments -A '-*' \ - $help \ - '(: * -)--version[display version information]' \ - '1:command:(( - auth\:"link install ID with asciinema.org account" - cat\:"dump full output of recorded session" - play\:"play back recorded session" - rec\:"record session" - upload\:"upload recorded session" - ))' \ - '*:: :->next' \ -&& ret=0 - -[[ $state == next ]] && -case $words[1] in - auth) - _arguments -s -S : $help && ret=0 - ;; - cat|upload) - _arguments -s -S : $help '1::recording file:_files' && ret=0 - ;; - play) - _arguments -s -S : \ - $help \ - '(-i --idle-time-limit)'{-i+,--idle-time-limit=}'[specify max idle time]:max idle time (seconds)' \ - '(-s --speed)'{-s+,--speed=}'[specify playback speed]:speed factor' \ - '1: :->files-urls' \ - && ret=0 - [[ $state == files-urls ]] && - _alternative 'files:recording file:_files' 'urls: :_urls' && - ret=0 - ;; - rec) - _arguments -s -S : \ - $help \ - '(--overwrite)--append[append to existing recording]' \ - '(-c --command)'{-c+,--command=}'[specify command to record]: :_path_commands' \ - '(-e --env)'{-e+,--env=}'[specify environment variables to capture]:environment variable:_sequence _parameters -g "*export*"' \ - '(-i --idle-time-limit)'{-i+,--idle-time-limit=}'[specify max idle time]:max idle time (seconds)' \ - '(-q -y --quiet --yes)'{-q,--quiet}'[suppress notices/warnings (implies -y)]' \ - '--raw[save raw stdout output, without timing or other metadata]' \ - '--stdin[enable stdin (keyboard) recording]' \ - '(-t --title)'{-t+,--title=}'[specify title of recording]:title' \ - '(--append)--overwrite[overwrite existing recording]' \ - '(-y --yes)'{-y,--yes}'[bypass confirmation prompts]' \ - '1::recording file:_files' \ - && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_assign b/result/sw/share/zsh/5.9/functions/_assign deleted file mode 100644 index 4935cc9c..00000000 --- a/result/sw/share/zsh/5.9/functions/_assign +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -assign-parameter- - -_parameters -g "^*readonly*" -S '' diff --git a/result/sw/share/zsh/5.9/functions/_at b/result/sw/share/zsh/5.9/functions/_at deleted file mode 100644 index b2258902..00000000 --- a/result/sw/share/zsh/5.9/functions/_at +++ /dev/null @@ -1,41 +0,0 @@ -#compdef atrm atq at batch - -local context state line expl ret=1 -typeset -A opt_args - -#todo (when extremely bored) make -l and -d do the atq and atrm completions -case $service in -atrm) - _arguments \ - '-V[print version number]' \ - '*:job number:->jobs' && ret=0 - ;; -atq) - _arguments \ - '-V[print version number]' \ - '-q[uses specified queue]:a-z+A-Z' && ret=0 - ;; -at|batch) - _arguments \ - - new-job \ - '-V[print version number]' \ - '-q[uses specified queue, uppercase acts as batch]:a-z+A-Z' \ - '-f[read job from file rather than from stdin]:file:_files' \ - '-v[show the time the job will be executed]' \ - '-m[send mail even if there was no output]' \ - ':time:' \ - - atq \ - '-l[alias for atq]' \ - - atrm \ - '-d[alias for atrm]' \ - - show-job \ - '-c[cat specified jobs to stdout]:*:job number:->jobs' && ret=0 -esac - -case $state in -jobs) - _wanted -C $context jobs expl 'job number' compadd ${(M)${(f)"$(_call_program job atq)"}##<->} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_attr b/result/sw/share/zsh/5.9/functions/_attr deleted file mode 100644 index efa7c5c4..00000000 --- a/result/sw/share/zsh/5.9/functions/_attr +++ /dev/null @@ -1,69 +0,0 @@ -#compdef attr getfattr setfattr xattr - -case $service in - attr) - local -a list - [[ $OSTYPE = irix* ]] && - list=( '(-g -s -r -V)-l[list extended attributes associated with file]' ) - _arguments -s -S "$list[@]" \ - '(-l -r -s -V)-g[get extended attribute for file]:attribute name' \ - '(-l -g -s -q -V)-r[remove given attribute from file]:attribute name' \ - '(-l -g -r)-s[set named attribute for file]:attribute name' \ - '(-r)-q[quiet output]' \ - '(-g -r)-V[specify value of attribute]:value' \ - '-L[dereference symbolic links]' \ - '-R[operator in the root attribute namespace]' \ - '1:file:_files' - return - ;; - getfattr) - _arguments -s -S \ - '(-d --dump -n --name)'{-n+,--name=}'[dump the value of the named extended attribute]' \ - '(-n --name -d --dump)'{-d,--dump}'[dump the values of all extended attributes]' \ - '(-e --encoding)'{-e+,--encoding=}'[encode values after retrieving them]:encoding:(text hex base64)' \ - '(-h --no-dereference)'{-h,--no-dereference}"[don't follow symbolic links]" \ - '(-m --match)'{-m+,--match=}'[only include attributes with names matching regex]:regular expression' \ - '--one-file-system[skip files on different filesystems]' \ - "--absolute-names[don't strip leading slash characters]" \ - '--only-values[dump only attribute values]' \ - '(-R --recursive)'{-R,--recursive}'[list attributes of all files and directories recursively]' \ - '(-P --physical -L --logical)'{-L,--logical}'[follow all symbolic links]' \ - '(-L --logical -P --physical)'{-P,--physical}'[skip all symbolic links]' \ - '(* -)--version[display version information]' \ - '(* -)--help[display help information]' \ - '*:file:_files' - return - ;; - setfattr) - _arguments -s -S \ - '(-n --name)'{-n+,--name=}'[specify extended attribute to set]' \ - '(-v --value)'{-v+,--value=}'[specify value for the attribute]' \ - '(-x --remove)'{-x+,--remove=}'[remove specified extended attribute]' \ - '(-n --name -v --value)--restore[restore extended attributes from dump file]:dump file:_files' \ - '--raw[attribute value is not encoded]' \ - '(-h --no-dereference)'{-h,--no-dereference}"[don't follow symbolic links]" \ - '(* -)--version[display version information]' \ - '(* -)--help[display help information]' \ - '*:file:_files' - return - ;; - # The Python xattr module ships with a utility called xattr which might appear - # on some systems; it is not entirely compatible with the Darwin variant, but - # does seem inspired by it, to the degree that this is probably close enough - xattr) - _arguments -s -S -A '-*' : \ - '(: -)'{-h,--help}'[display help information]' \ - '(-c -d -w)-l[display in long format]' \ - '-r[act recursively]' \ - '-s[act on symbolic links]' \ - '(-w)-v[always display file name]' \ - '(-c -d)-x[use hexadecimal format for value input and output]' \ - '*: :_files' \ - + '(op)' \ - '(-l -x)-c[remove all attributes]' \ - '(-l -x)-d[remove specified attribute]:attribute name' \ - '-p[display value of specified attribute]:attribute name' \ - '(-l -v)-w[set value of specified attribute]:attribute name: :attribute value' - return - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_augeas b/result/sw/share/zsh/5.9/functions/_augeas deleted file mode 100644 index f9c05212..00000000 --- a/result/sw/share/zsh/5.9/functions/_augeas +++ /dev/null @@ -1,61 +0,0 @@ -#compdef augtool - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args - -_arguments -C -s \ - '(-c --typecheck)'{-c,--typecheck}'[perform type checking on lenses]' \ - '(-b --backup)'{-b,--backup}'[preserve original files with .augsave extension]' \ - '(-n --new)'{-n,--new}'[leave files untouched but save changes with a .augnew extension]' \ - '(-r --root)'{-r,--root=}'[specify filesystem root]:root directory:_files -/' \ - \*{-I+,--include=}'[add directory containing lenses to search path]:directory:_files -/' \ - \*{-t+,--transform=}'[add a file transform]:xfm' \ - '(-l --load-file)'{-l+,--load-file=}'[load individual file in the tree]:file:_files' \ - '(-f --file *)'{-f+,--file=}'[read commands from specified file]:file:_files' \ - '(-i --interactive)'{-i,--interactive}'[read commands from the terminal]' \ - '(-e --echo)'{-e,--echo}'[echo commands read from a file or stdin]' \ - '(-s --autosave)'{-s,--autosave}'[automatically save at the end of instructions]' \ - '(-S --nostdinc)'{-S,--nostdinc}'[do not search the builtin default directories for modules]' \ - '(-L --noload)'{-L,--noload}'[do not load any files into the tree on startup]' \ - '(-A --noautoload)'{-A,--noautoload}'[do not autoload modules from the search path]' \ - '--span[load span positions for nodes related to a file]' \ - '--timing[after executing each command, show how long it took]' \ - '(- *)--version[print version information]' \ - '(-)'{-h,--help}'[print help information]' \ - '*:: :->subcommands' && ret=0 - -[[ -z $state ]] && return ret - -if [[ CURRENT -eq 1 || $words[1] == help ]]; then - local -a subcmds - subcmds=( ${${${(M)${(f)"$(_call_program subcommands augtool help 2>/dev/null)"}:# *}## #}// #- /:} ) - _describe -t subcommands "augtool command" subcmds && ret=0 - return ret -fi - -_tags paths -while _tags; do - if _requested paths; then - local subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - if compset -P '/files/'; then - _all_labels paths expl path _path_files -W / && ret=0 - elif compset -P '/augeas/'; then - compset -P '*/' - local files - files=( ${${(f)"$(_call_program path augtool ls ${words[CURRENT]%/*} 2>/dev/null)"}% = *} ) - while _next_label paths expl path; do - compadd "$expl[@]" -- ${files:#*/} && ret=0 - compadd "$expl[@]" -S '' -- ${(M)files:#*/} && ret=0 - done - else - local -a suf - suf=(-S '') - compset -S '/*' || suf=( -S / ) - _all_labels paths expl path compadd -P/ "$suf[@]" files augeas && ret=0 - fi - fi - (( ret )) || break -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_auto-apt b/result/sw/share/zsh/5.9/functions/_auto-apt deleted file mode 100644 index 2e6dccbc..00000000 --- a/result/sw/share/zsh/5.9/functions/_auto-apt +++ /dev/null @@ -1,31 +0,0 @@ -#compdef auto-apt - -local expl prev="$words[CURRENT-1]" - -# if there is a command in arguments ? -if [[ -n $words[(r)(run|update|update-local|merge|del|check|list|search|debuilt|status)] ]] ; then - - # yes, add completion for command arguments and command options - if [[ -n $words[(r)(update|update-local|merge)] && "$words[CURRENT]" = -* ]] ; then - _wanted option expl 'option' compadd - "-a" && return; - fi - - if [[ -n $words[(r)(check|list|search)] && "$words[CURRENT]" = -* ]] ; then - _wanted option expl 'option' compadd - "-v" "-f" && return; - fi - - case $prev in - run) _wanted command expl 'command' _files -g '*(/,*)' && return ;; - del) _wanted package expl 'package' _deb_packages avail && return ;; - esac -else - _arguments \ - '-a:distribution:_values -s , distribution main contrib non-free non-US none' \ - '-p:hook:_values -s , hook exec open access stat none' \ - '-D:dbfile:_files' \ - '-F:filedb:_files' \ - -h -s -y -q -i -X -x -L \ - '*:command:(run update update-local merge del check list search debuild status)' && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_autocd b/result/sw/share/zsh/5.9/functions/_autocd deleted file mode 100644 index 58ba5b17..00000000 --- a/result/sw/share/zsh/5.9/functions/_autocd +++ /dev/null @@ -1,5 +0,0 @@ -#compdef -command- - -_command_names -local ret=$? -[[ -o autocd ]] && _cd || return ret diff --git a/result/sw/share/zsh/5.9/functions/_avahi b/result/sw/share/zsh/5.9/functions/_avahi deleted file mode 100644 index 562ec364..00000000 --- a/result/sw/share/zsh/5.9/functions/_avahi +++ /dev/null @@ -1,52 +0,0 @@ -#compdef avahi-browse avahi-browse-domains avahi-resolve avahi-resolve-address avahi-resolve-host-name - -local curcontext="$curcontext" pri ret=1 -local -A opt_args -local -a state line args serv desc disp - -args=( - '(- 1)'{-h,--help}'[display usage information]' - '(- 1)'{-V,--version}'[display version information]' - '(-v --verbose)'{-v,--verbose}'[enable verbose mode]' -) - -case $service in - *-browse*) - serv=( ${(f)"$(_call_program service-types avahi-browse -bk)"} ) - desc=( ${(f)"$(_call_program service-types-description avahi-browse -b)"} ) - (( $#desc )) && print -v disp -f '%s:%s' ${serv:^desc} - - _arguments -s -S -C $args \ - '(-D --browse-domains -a --all -b --dump-db)'{-D,--browse-domains}'[browse for browsing domains instead of services]' \ - '(-D --browse-domains -a --all -b --dump-db)'{-a,--all}'[show all services, regardless of the type]' \ - '(-d --domain)'{-d+,--domain=}'[specify domain to browse in]:domain' \ - '(-t --terminate)'{-t,--terminate}'[terminate after dumping a more or less complete list]' \ - '(-c --cache)'{-c,--cache}'[terminate after dumping all entries from the cache]' \ - '(-l --ignore-local)'{-l,--ignore-local}'[ignore local services]' \ - '(-r --resolve)'{-r,--resolve}'[resolve services found]' \ - '(-f --no-fail)'{-f,--no-fail}"[don't fail if the daemon is not available]" \ - '(-p --parsable)'{-p,--parsable}'[output in parsable format]' \ - '(-k --no-db-lookup)'{-k,--no-db-lookup}"[don't lookup service types]" \ - '(-D --browse-domains -a --all -b --dump-db)'{-b,--dump-db}'[dump service type database]' \ - '1: :->service-types' && ret=0 - - [[ -n $state ]] && _describe -t services "service type" disp && ret=0 - ;; - *-resolve*) - if (( ${words[(I)(-n|--name)]} )) || [[ $service = *-host-name ]]; then - args=( '*:host:_hosts' ) - pri=1 - fi - if (( ${words[(I)(-a|--address)]} )) || [[ $service = *-address && -n $pri ]]; then - args=( '*: :_guard "^-*" address' ) - fi - - _arguments -s -S $args \ - '(-a --address -n --name -h --help -V --version)'{-a,--address}'[resolve address]' \ - '(-a --address -n --name -h --help -V --version)'{-n,--name}'[resolve host name]' \ - '(-4)-6[lookup IPv6 address]' \ - '(-6)-4[lookup IPv4 address]' && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_awk b/result/sw/share/zsh/5.9/functions/_awk deleted file mode 100644 index e8f4a253..00000000 --- a/result/sw/share/zsh/5.9/functions/_awk +++ /dev/null @@ -1,120 +0,0 @@ -#compdef awk gawk nawk - -# For gawk ver.3 to 5, in addition to POSIX. -# -# gawk's options '-W ...' (such as '-W help') are not supported. -# gawk3 has some synonyms for long options (e.g., --compat is a synonym -# for --traditional). These are not supported either. -# -# 'gawk -f<TAB>' will complete files in AWKPATH in addition to those in -# the current directory. If this is annoying, you may try -# zstyle ':completion:*:*:gawk:option-f-1:*' tag-order program-files - -local variant curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a args - -_pick_variant -r variant gawk4='GNU Awk [45]' gawk3='GNU Awk 3' posix --version - -args=( - {-F+,--field-separator}'[define input field separator by extended regex]:extended regular expression:' - '*'{-v+,--assign}'[assign values to variables]:assignment:' - '(1)*'{-f+,--file}'[read program file]:program file:->script' - '1: :_guard "^-*" "program text"' - '*:input file:_files' -) - -case $variant in - (gawk*) - args+=( - {-c,--traditional}'[run in compatibility mode]' - '(- : *)'{-C,--copyright}'[print copyright info and exit]' - {-d-,--dump-variables=-}'[print a sorted list of global variables]::output file:_files' - {-e,--source}'[pass program text in arg]:program text:' - '(1)'{-E+,--exec}'[like -f, but safer for CGI]:program file:->script' - '(- : *)'{-h,--help}'[print usage message and exit]' - {-L-,--lint=-}'[warn about dubious or non-portable constructs]::flag:((fatal\:"treat warnings as fatal error" invalid\:"warn only about things that are actually invalid" no-ext\:"disable warnings about gawk extensions"))' - {-n,--non-decimal-data}'[auto-detect octal/hexadecimal values in input]' - {-N,--use-lc-numeric}"[force use of locale's decimal point character]" - {-O,--optimize}'[enable optimization]' - {-p-,--profile=-}'[output profiling data to file]::output file:_files' - {-P,--posix}'[run in strict POSIX mode]' - {-r,--re-interval}'[enable interval expressions in regex matching]' - {-t,--lint-old}'[warn about non-portable constructs]' - '(- : *)'{-V,--version}'[print version info and exit]' - ) - ;| - (gawk4) - args+=( - {-b,--characters-as-bytes}'[treat all input data as single-byte characters]' - {-D-,--debug=-}'[enable debugging]::debugger command file:_files' - {-g,--gen-pot}'[scan awk program and generate .po file on stdout]' - '*'{-i+,--include}'[load source library]:library file:->script' - '*'{-l+,--load}'[load dynamic extension]:extension:->extension' - {-M,--bignum}'[select arbitrary-precision arithmetic on numbers]' - {-o-,--pretty-print=-}'[pretty-print awk program]::output file:_files' - '(-s --no-optimize)'{-s,--no-optimize}'[disable default optimizations upon the internal program representation]' - {-S,--sandbox}'[disable system(), redirections and dynamic extensions]' - ) - ;; - (gawk3) - # one letter options are new in gawk4 - args=( ${args:#(|\*)(|\(*\))-[cCdEhLnNtOpPreV]*} ) - args+=( - '--gen-po[scan awk program and generate .po file on stdout]' - ) - ;; - (*) - # remove long options - args=( ${args:#*--*} ) -esac - -_arguments -S -s -C : $args && ret=0 - -# Complete files in . (current directory) and AWKPATH/AWKLIBPATH. -# Use different tag/description for files in . even if . is in AWKPATH. -_files_in_curdir_or_path() { - local expl pat1 pat2 - if [[ -n $6 ]]; then # $6 = 'so', 'dll' or '' - pat1="-g *.$6" - pat2="-g *.$6" - fi - if [[ $words[CURRENT] == */* || $variant != gawk* || \ - -n $opt_args[(I)(-c|--traditional|-P|--posix)] ]]; then - _wanted $2 expl $3 _files $pat1 && ret=0 - else - local prog='BEGIN {print ENVIRON["'$1'"]}' - local -aU paths - # split AWKPATH into paths, and replace null element by '.'. - paths=( "${(@)${(@s.:.)$(_call_program get-awk-env \ - $words[1] ${(q)prog})}:/#%/.}" ) - if (( $paths[(I).] )); then - # If '.' is in paths, remove it; we will handle it separately - paths=( ${(@)paths:#.} ) - else - # If '.' is not in paths, we should not complete files in '.' - pat1='-g *(-/)' - fi - if (( $#paths )); then - _alternative "${2}:${3}:_files ${(b)pat1}" \ - "${4}:${5}:_files -W paths ${(b)pat2}" && ret=0 - else - _wanted $2 expl $3 _files $pat1 && ret=0 - fi - fi -} - -case $state in - (script) - _files_in_curdir_or_path AWKPATH program-files 'program file' \ - library-files 'library in AWKPATH' - ;; - (extension) - local ext=so - [[ $OSTYPE == cygwin* ]] && ext=dll - _files_in_curdir_or_path AWKLIBPATH extensions 'extension' \ - library-files 'extension in AWKLIBPATH' $ext - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_axi-cache b/result/sw/share/zsh/5.9/functions/_axi-cache deleted file mode 100644 index 5fd4c38f..00000000 --- a/result/sw/share/zsh/5.9/functions/_axi-cache +++ /dev/null @@ -1,33 +0,0 @@ -#compdef axi-cache - -local expl - -_arguments \ - '--version[version]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-s --sort)'{-s,--sort=}':sort value:('${(j: :)${${(M)${(f)"$(</var/lib/apt-xapian-index/values)"}:#[a-z]*}%% *}}')' \ - '--tags[show tags, not packages]' \ - '*:args:->args' && return 0 - -if (( CURRENT == 2 )); then - _wanted tag expl 'axi-cache command' \ - compadd help search more last show again info \ - rdetails depends madison policy showpkg showsrc -else - case "$words[2]" in - (search|show|again|rdetails|depends|madison|policy|showpkg|showsrc) - _wanted tag expl 'terms/query' \ - compadd -- $($service $words[2] --tabcomplete=plain -- $words[CURRENT]) - ;; - (more|last) - _wanted tag expl 'count' \ - compadd -- 1 2 3 4 5 6 7 8 9 0 - ;; - (help|info) - # no args - ;; - (*) - _files - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_base64 b/result/sw/share/zsh/5.9/functions/_base64 deleted file mode 100644 index 47a65034..00000000 --- a/result/sw/share/zsh/5.9/functions/_base64 +++ /dev/null @@ -1,59 +0,0 @@ -#compdef base64 gbase64 base32 gbase32 - -# Note: This does NOT cover `uuencode`/`uudecode`, which on some BSD systems -# have the aliases `b64encode`/`b64decode` — those are sufficiently different -# that they belong in another function. It DOES cover GNU's `base32`, since it -# is essentially the same program as their `base64`. - -local variant type=base${service//[^2346]/} - -_pick_variant -r variant \ - gnu='Free Soft' fourmilab=fourmi darwin=-D unix --version - -case $variant in - gnu) - _arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - + dec \ - '(enc -d --decode)'{-d,--decode}"[decode input from $type]" \ - '(enc -i --ignore-garbage)'{-i,--ignore-garbage}'[ignore irrelevant characters when decoding]' \ - + '(enc)' \ - '(dec)'{-w+,--wrap=}'[wrap encoded lines at specified number of columns]:number of columns' \ - + in \ - '1:input file:_files' - return - ;; - darwin) - _arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - + '(dec)' \ - '(enc)'{-D,--decode}"[decode input from $type]" \ - + '(enc)' \ - '(dec)'{-b+,--break=}'[wrap encoded lines at specified number of columns]:number of columns' \ - + '(out)' \ - {-o+,--output=}'[specify output file]:output file:_files' \ - + '(in)' \ - {-i+,--input=}'[specify input file]:input file:_files' \ - '1:input file:_files' - return - ;; - fourmilab) - _arguments -s -S : \ - '(: -)--copyright[display copyright information]' \ - '(: -)'{-u,--help}'[display help information]' \ - '(: -)--version[display version information]' \ - + dec \ - '(enc -d --decode)'{-d,--decode}"[decode input from $type]" \ - '(enc -n --noerrcheck)'{-n,--noerrcheck}'[ignore errors when decoding]' \ - + '(enc)' \ - '(dec)'{-e,--encode}"[encode input to $type]" \ - + io \ - '1:input file:_files' \ - '2:output file:_files' - return - ;; -esac - -# A few other implementations exist, though they are rarely encountered -_default diff --git a/result/sw/share/zsh/5.9/functions/_basename b/result/sw/share/zsh/5.9/functions/_basename deleted file mode 100644 index a826b56b..00000000 --- a/result/sw/share/zsh/5.9/functions/_basename +++ /dev/null @@ -1,27 +0,0 @@ -#compdef basename gbasename - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( -s -S -A "-*" - '(2 -a --multiple)'{-a,--multiple}'[support multiple arguments, handling each]' - '(2 -a --multiple -s --suffix)'{-s+,--suffix=}'[remove a trailing suffix]:suffix' - '(-z --zero)'{-z,--zero}'[separate output with NUL rather than newline]' - '(- *)--version[display version information]' - '(- *)--help[display help information]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args=( -s -S -A "-*" - '(2)-a[support multiple arguments, handling each]' - '(-a 2)-s+[remove a trailing suffix]:suffix' - ) - ;; -esac - -_arguments $args \ - '1:file:_files' \ - '(*)2:suffix' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_basenc b/result/sw/share/zsh/5.9/functions/_basenc deleted file mode 100644 index 515621aa..00000000 --- a/result/sw/share/zsh/5.9/functions/_basenc +++ /dev/null @@ -1,30 +0,0 @@ -#compdef basenc -# based on GNU coreutils 8.32 - -local specs=( - + '(type)' - "(info)--base64[same as 'base64' program (RFC4648 section 4)]" - "(info)--base64url[file- and url-safe base64 (RFC4648 section 5)]" - "(info)--base32[same as 'base32' program (RFC4648 section 6)]" - "(info)--base32hex[extended hex alphabet base32 (RFC4648 section 7)]" - "(info)--base16[hex encoding (RFC4648 section 8)]" - "(info)--base2msbf[bit string with most significant bit (msb) first]" - "(info)--base2lsbf[bit string with least significant bit (lsb) first]" - "(info)--z85[ascii85-like encoding (ZeroMQ spec-32/Z85)]" - - + enc - '(info dec -w --wrap)'{-w+,--wrap=}"[wrap encoded lines at specified column]:number of characters (0=disable wrapping) [76]: " - - + dec - '(info enc -d --decode)'{-d,--decode}"[decode data]" - '(info enc -i --ignore-garbage)'{-i,--ignore-garbage}"[when decoding, ignore non-alphabet characters]" - - + info - "(: -)--help[display help information and exit]" - "(: -)--version[output version information and exit]" - - + input - '(info)1:input file:_files' -) - -_arguments -s -S : $specs diff --git a/result/sw/share/zsh/5.9/functions/_bash b/result/sw/share/zsh/5.9/functions/_bash deleted file mode 100644 index 383b369c..00000000 --- a/result/sw/share/zsh/5.9/functions/_bash +++ /dev/null @@ -1,86 +0,0 @@ -#compdef bash - -local ret=1 -local -a context line state state_descr args tmp cmd -local -A opt_args val_args - -cmd=( $words[1] --noprofile --norc ) - -args=( - # Long options must appear before short options (take care — some of these are - # duplicated in the s group below!) - + l - '!--debug' - '--debugger[enable extended debugging mode]' - '(-D --dump-po-strings --dump-strings)--dump-po-strings[like -D, but display in gettext PO format]' - '(-D --dump-po-strings --dump-strings)--dump-strings[display strings subject to language translation]' - '(: -)--help[display help information]' - # The usual = is deliberately omitted here - '(--init-file --rcfile)'{--init-file,--rcfile}'[load specified file instead of ~/.bashrc]: :_files' - '(-l --login)--login[act as login shell]' - '--noediting[disable readline editing]' - '--noprofile[do not load /etc/profile, ~/.bash_profile, etc.]' - '--norc[do not load ~/.bashrc]' - '--posix[enable POSIX mode]' - '--pretty-print[format a shell script]' - '(-r --restricted)--restricted[act as restricted shell]' - '(: -)--version[display version information]' - # This is ugly, but this way the + variants have accurate descriptions. Note - # that bash does accept + variants of -i, -l, -s, etc., but they don't seem to - # actually do anything, so we don't bother with them - + s - '(l)'{'-a[','+a[do not '}'mark all functions and variables for export]' - '(l)'{'-B[','+B[do not '}'enable brace expansion]' - '(l)'{'-b[','+b[do not '}'report status of terminated background jobs immediately]' - '(l)'{'-C[','+C[do not '}'prevent output redirection from overwriting existing files]' - '(l 1 -)-c[execute specified command string]:command string:_cmdstring:argv[0]:' - '(l)-D[display strings subject to language translation]' - '(l)'{'-E[','+E[do not '}'make functions and subshells inherit ERR traps]' - '(l)'{'-e[','+e[do not '}'exit immediately on non-zero return]' - '(l)'{'-f[','+f[do not '}'disable file globbing]' - '(l)'{'-H[','+H[do not '}'enable history substitution]' - '(l)'{'-h[','+h[do not '}'hash commands]' - '(l)-i[act as interactive shell]' - '(l)'{'-k[','+k[do not '}'act on variable assignments in command arguments]' - '(l)-l[act as login shell]' - '(l)'{'-m[','+m[do not '}'enable job control]' - '(l)'{'-n[','+n[do not '}'read (syntax-check) commands only]' - '(l)*'{'-O[','+O[un'}'set specified `shopt` option]: :->shopt-options' - '(l)*'{'-o[','+o[un'}'set specified `set` option]: :->set-options' - '(l)'{'-P[','+P[do not '}'resolve cd paths]' - '(l)'{'-p[','+p[do not '}'enable privileged mode]' - '(l)-r[act as restricted shell]' - '(l 1 -c)-s[read commands from standard input]' - '(l)'{'-T[','+T[do not '}'make functions and subshells inherit DEBUG and RETURN traps]' - '(l)'{'-t[','+t[do not '}'exit after executing one command]' - '(l)'{'-u[','+u[do not '}'treat unset variables as an error during parameter expansion]' - '(l)'{'-v[','+v[do not '}'print shell input lines as they are read]' - '(l)'{'-x[','+x[do not '}'print command trace]' - + o - '(-)1:script file:_files' - '(-)*:: :->args' -) - -_arguments -s -S -A '-*' : $args && ret=0 - -case $state in - args) - if [[ -n ${opt_args[(i)s--[cs]]} ]]; then - _files && ret=0 - else - _normal && ret=0 - fi - ;; - set-options) - tmp=( ${(f)"$( _call_program set-options $cmd -c '"shopt -o"' )"} ) - tmp=( ${tmp%%[[:space:]]*} ) - _values -w '`set` option' $tmp && ret=0 - ;; - shopt-options) - tmp=( ${(f)"$( _call_program shopt-options $cmd -c shopt )"} ) - tmp=( ${tmp%%[[:space:]]*} ) - _values -w '`shopt` option' $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_bash_completions b/result/sw/share/zsh/5.9/functions/_bash_completions deleted file mode 100644 index feb72145..00000000 --- a/result/sw/share/zsh/5.9/functions/_bash_completions +++ /dev/null @@ -1,46 +0,0 @@ -#compdef -K _bash_complete-word complete-word \e~ _bash_list-choices list-choices ^X~ -# -# This function is for bash compatibility. As some of the bash bindings -# are already taken up in zsh, only Esc ~ and \C-x ~ are bound, and -# you must add the rest by hand. The bindings expected are: -# -# Esc ! -> command name -# Esc $ -> environment variables -# Esc @ -> machine names -# Esc / -> file name -# Esc ~ -> a user name -# -# C-x instead of Esc with one of the above will list matches and won't -# attempt any completion. -# -# The following will bind the remaining set; simply put it in .zshrc -# after compinit is run. -# -# for key in '!' '$' '@' '/'; do -# bindkey "\e$key" _bash_complete-word -# bindkey "^X$key" _bash_list-choices -# done -# -# If for some reason \e~ or ^X~ were already bound to something else, -# that will not have been overridden, so you should add '~' to the -# list of keys at the top of the for-loop. - -eval "$_comp_setup" - -local key=$KEYS[-1] expl - -case $key in - '!') _main_complete _command_names - ;; - '$') _main_complete - parameters _wanted parameters expl 'exported parameter' \ - _parameters -g '*export*' - ;; - '@') _main_complete _hosts - ;; - '/') _main_complete _files - ;; - '~') _main_complete _users - ;; - *) _message "Key $key is not understood" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_baudrates b/result/sw/share/zsh/5.9/functions/_baudrates deleted file mode 100644 index a9d7fe54..00000000 --- a/result/sw/share/zsh/5.9/functions/_baudrates +++ /dev/null @@ -1,77 +0,0 @@ -#autoload - -# Offer a list of baud-rates. Usage: -# -# _baudrates [OPTION(s)...] -# -# Available options: -# -# -u LIMIT Upper limit. LIMIT is the maximum value the offered list -# will contain, if the complete list includes LIMIT exactly. -# -# -l LIMIT Lower limit. Like -u but for the lower boundary. -# -# -f FUNCTION If given FUNCTION is used as a predicate to filter the -# value in the complete list to generate an arbitrary -# sub-set. -# -# The default complete list of available baud rates is also configurable via -# the 'baud-rates' style: -# -# zstyle ':completion:*' baud-rates 23 42 666 -# -# It is also possible to override the arguments to -f, -u and -l via styles in -# a similar fashion: -# -# zstyle ':completion:*:*:screen:*:baud-rates' max-value 9600 -# zstyle ':completion:*:*:screen:*:baud-rates' min-value 1200 -# zstyle ':completion:*:*:screen:*:baud-rates' filter some_function_name - -local tmp -local -a expl rates -local -A opts - -zparseopts -E -A opts u: l: f: - -# The following uses a generated list; first find out where the B* macros are -# defined: -# -# grep -r B115200 /usr/include -# -# Then generate the actual list: -# -# sed -ne '/^[ \t]*#define[ \t]*B[0-9][0-9]*/s,^.*B\([0-9][0-9]*\).*,\1,p' \ -# < /usr/include/asm-generic/termbits.h -# -# This one was generated on a Debian Stretch system, leaving out the "0" rate, -# which is synonymous to "hang-up". - -zstyle -a ":completion:${curcontext}:" baud-rates rates || - rates=( 50 75 110 134 150 200 300 600 - 1200 1800 2400 4800 9600 - 19200 38400 57600 - 115200 230400 460800 500000 576000 921600 - 1000000 1152000 1500000 2000000 2500000 3000000 3500000 4000000 ) - -zstyle -s ":completion:${curcontext}:baud-rates" max-value tmp && opts[-u]=$tmp -zstyle -s ":completion:${curcontext}:baud-rates" min-value tmp && opts[-l]=$tmp -zstyle -s ":completion:${curcontext}:baud-rates" filter tmp && opts[-f]=$tmp - -if (( ${+opts[-u]} )) || (( ${+opts[-l]} )); then - local -i min max - min=${opts[-l]:-0} - max=${opts[-u]:-${${(On)rates}[1]}} - rates=( ${(M)rates:#${~:-<$min-$max>}} ) -fi - -if (( ${+opts[-f]} )); then - set -- $rates - rates=( ) - for item; do - ${opts[-f]} $item && rates+=( $item ) - done -fi - -# -1 removes dupes (which there shouldn't be) -_description -1 -o numeric baud-rates expl 'baud rate' -compadd "${argv[@]}" "$expl[@]" -- "${rates[@]}" diff --git a/result/sw/share/zsh/5.9/functions/_baz b/result/sw/share/zsh/5.9/functions/_baz deleted file mode 100644 index 0acdc463..00000000 --- a/result/sw/share/zsh/5.9/functions/_baz +++ /dev/null @@ -1,585 +0,0 @@ -#compdef baz - -autoload -z is-at-least -local BAZ=$words[1] -local baz_version -local hide_short - -# ask the user which version of baz this is -if ! zstyle -s ":completion:${curcontext}:" baz-version baz_version; then - # ask baz instead - baz_version="${${$($BAZ --version)#baz Bazaar version }%% \(thelove@canonical.com*}" -fi - -# test whether to hide short options from completion -if zstyle -s ":completion:${curcontext}:" hide-shortopts hide_short; then - case $hide_short in - true|yes|on|1) hide_short='!' ;; - *) hide_short='' ;; - esac -fi - -# completion functions -(( $+functions[_baz_archives] )) || -_baz_archives () { _arch_archives baz "$@" } - -(( $+functions[_baz_categories] )) || -_baz_categories () { _arch_namespace baz 1 "$argv[@]" } - -(( $+functions[_baz_branches] )) || -_baz_branches () { _arch_namespace baz 2 "$argv[@]" } - -(( $+functions[_baz_versions] )) || -_baz_versions () { _arch_namespace baz 3 "$argv[@]" } - -(( $+functions[_baz_revisions] )) || -_baz_revisions () { _arch_namespace baz 4 "$argv[@]" } - -(( $+functions[_baz_local_revisions] )) || -_baz_local_revisions () { - local expl1 expl2 tree_version=`$BAZ tree-version` - _description -V applied-patches expl1 "patch from this version" - _description -V other-patches expl2 "patch from other versions" - compadd "$expl1[@]" `$BAZ logs` - compadd "$expl2[@]" `$BAZ logs --full $($BAZ log-versions | grep -v $tree_version)` - # This is incredibly slow. - # Should complete based on -A, -R, -d -} - -(( $+functions[_baz_config] )) || -_baz_config () { - local configdir root ret=1 n expl - - n=$opt_args[(i)(-d|--dir)] - [[ -n "$n" ]] && configdir=$opt_args[$n] - root="$(_call_program baz $BAZ tree-root ${configdir} 2>&1)" - if (( $? )); then - if [[ -d "configs" ]]; then - root=. - else - _message -e messages "Error: $root" - return $ret - fi - fi - - if [[ -d "$root/configs" ]]; then - configdir=("$root/configs") - _description files expl 'config file' - _files -W configdir "$expl[@]" && ret=0 - else - _message -e messages "No configs/ directory in tree whose root is $root" - fi - return $ret -} - -(( $+functions[_baz_limit] )) || -_baz_limit () { #presently only does push-mirror style limits - [[ $words[$CURRENT] == *@* ]] && return 1 - - local expl archive - archive=${words[(r)*@*]:-$($BAZ my-default-archive 2> /dev/null)} - if [ $archive ]; then - - if [[ $PREFIX != *--* ]]; then - _description -V categories expl "categories in $archive" - compadd -q -S -- "$expl[@]" `$BAZ category $archive` - else - _baz_namespace_branches 3 - fi - fi -} - -(( $+functions[_baz_tree_or_rev] )) || -_baz_tree_or_rev () { - _alternative 'trees:tree:_files -/' 'revisions:revision:_baz_revisions' -} - -(( $+functions[_baz_libraries] )) || -_baz_libraries () { - local libraries expl - libraries=($(_call_program baz $BAZ my-revision-library)) - _description -V libraries expl "revision library" - compadd "$expl[@]" -a libraries -} - -(( $+functions[_baz_my_revision_library] )) || -_baz_my_revision_library () { - if [[ -n $words[(r)-d] ]] || [[ -n $words[(r)--delete] ]]; then - _baz_libraries - else - _files -/ - fi -} - -(( $+functions[_baz_log_versions] )) || -_baz_log_versions () { - local logs expl - logs=($(_call_program baz $BAZ log-versions)) - _description -V versions expl "log version" - compadd "$expl[@]" -a logs -} - -# command argument definitions -# commands with different versions - -local cmd_register_archive cmd_archives cmd_ls_archives cmd_redo -local cmd_redo_changes cmd_what_changed cmd_categories -local cmd_branches cmd_versions cmd_cacherev cmd_logs cmd_log_versions -local cmd_log_ls cmd_update cmd_join_branch cmd_replay cmd_deltapatch -local cmd_delta_patch cmd_apply_delta cmd_sync_tree cmd_make_sync_tree -local cmd_delta cmd_revdelta cmd_library_categories cmd_library_branches -local cmd_library_versions cmd_library_revisions -local cmd_status cmd_diff - -cmd_log_ls=('*:version:_baz_log_versions') -cmd_log_versions=() -# the options should only complete items that are in the tree - -cmd_register_archive=('::archive:_baz_archives' ':location:_files -/') -cmd_archives=('::regex:') -cmd_redo=('::changeset:_files -/') -cmd_status=('::dir:_files -/') -cmd_diff=('::revision:_baz_revisions' - # ':separator:(--)' '*::limit:_files' - #don't understand the limit usage -) -cmd_categories=('::archive:_baz_archives') -cmd_branches=('::category:_baz_categories') -cmd_versions=('::branch:_baz_branches') -cmd_cacherev=('::revision:_baz_revisions') -#should only complete non-cached revisions - -cmd_logs=($cmd_log_ls) -cmd_update=('::revision:_baz_revisions') -cmd_join_branch=(':revision:_baz_revisions') -#should only complete continuation revisions - -cmd_replay=('*::revision:_baz_revisions') -cmd_deltapatch=(':FROM:_baz_tree_or_rev' ':TO:_baz_tree_or_rev') -cmd_sync_tree=(':revision:_baz_revisions') -cmd_delta=(':FROM:_baz_tree_or_rev' ':TO:_baz_tree_or_rev' '::DEST:_files -/') -cmd_library_categories=('::archive:_baz_archives --library') -cmd_library_branches=('::category:_baz_categories --library') -cmd_library_versions=('::branch:_baz_branches --library') -cmd_library_revisions=('::version:_baz_versions --library') - -cmd_ls_archives=($cmd_archives) -cmd_redo_changes=($cmd_redo) -cmd_what_changed=($cmd_changes) -cmd_delta_patch=($cmd_deltapatch) -cmd_apply_delta=($cmd_deltapatch) -cmd_make_sync_tree=($cmd_sync_tree) -cmd_revdelta=($cmd_delta) - -# commands the same in all versions - -local cmd_help -cmd_help=() - -local cmd_my_id -cmd_my_id=('::id-string:') - -local cmd_my_default_archive -cmd_my_default_archive=('::archive:_baz_archives') - -local cmd_whereis_archive -cmd_whereis_archive=(':archive:_baz_archives') - -local cmd_init_tree -cmd_init_tree=('::version:_baz_versions') - -local cmd_tree_id -cmd_tree_id=('::directory:_files -/') - -local cmd_tree_root -cmd_tree_root=('::directory:_files -/') - -local cmd_tree_version -cmd_tree_version=(':version:_baz_versions') - -local cmd_build_config cmd_buildcfg -cmd_build_config=(':config:_baz_config') -cmd_buildcfg=($cmd_build_config) - -local cmd_cat_config cmd_catcfg cmd_cfgcat -cmd_cat_config=(':config:_baz_config') -cmd_catcfg=($cmd_cat_config) -cmd_cfgcat=($cmd_cat_config) - -local cmd_undo cmd_undo_changes -cmd_undo=('::revision:_baz_revisions') -cmd_undo_changes=($cmd_undo) - -local cmd_file_diffs -cmd_file_diffs=(':file:_files' '::revision:_baz_revisions') - -local cmd_file_find -cmd_file_find=(':file:_files' '::revision:_baz_revisions') - -local cmd_inventory cmd_srcfind -cmd_inventory=('::separator:(--)' '*:directory:_files -/') -cmd_srcfind=($cmd_inventory) - -local cmd_lint -cmd_lint=('::directory:_files -/') - -local cmd_id cmd_invtag -cmd_id=('*:file:_files') -cmd_invtag=($cmd_id) - -local cmd_id_tagging_method cmd_tagging_method methods -cmd_id_tagging_method=('::tagging method:(($methods))') -methods=( - 'names:use naming conventions only' - 'implicit:use naming conventions but permit for inventory tags' - 'tagline:use naming conventions but permit for inventory tags' - 'explicit:require explicit designation of source' -) -cmd_tagging_method=($cmd_id_tagging_method) - -local cmd_add cmd_add_id cmd_add_tag -cmd_add=('*:file to add:_files') -cmd_add_id=($cmd_add) -cmd_add_tag=($cmd_add) - -local cmd_delete cmd_delete_id cmd_delete_tag -cmd_delete=('*:file to delete:_files') -cmd_delete_id=($cmd_delete) -cmd_delete_tag=($cmd_delete) - -local cmd_move cmd_move_id cmd_move_tag -cmd_move_id=(':old name:_files' ':new name:_files') -cmd_move_id=($cmd_move) -cmd_move_tag=($cmd_move) -#would be nice not to offer dirs for newname if oldname is a file, and -#vice versa - -local cmd_mv -cmd_mv=('*:file:_files') -# not really right, but close enough - -local cmd_default_id cmd_explicit_default cmd_default_tag -cmd_default_id=('::TAG-PREFIX:') -cmd_explicit_default=($cmd_default_id) -cmd_default_tag=($cmd_default_id) - -local cmd_tagging_defaults cmd_id_tagging_defaults -cmd_tagging_defaults=() -cmd_id_tagging_defaults=($cmd_tagging_defaults) - -local cmd_changeset cmd_mkpatch -cmd_changeset=( - ':ORIG:_files -/' - ':MOD:_files -/' - ':DEST:_files -/' - '*:file:_files' -) -cmd_mkpatch=("$cmd_changeset[@]") - -local cmd_dopatch cmd_do_changeset cmd_apply_changeset -cmd_dopatch=(':changeset:_files -/' ':target:_files -/') -cmd_do_changeset=($cmd_dopatch) -cmd_apply_changeset=($cmd_dopatch) - -local cmd_show_changeset -cmd_show_changeset=('::changeset:_files -/') - -local cmd_make_archive -cmd_make_archive=('::name:' ':location:_files -/') - -local cmd_archive_setup -cmd_archive_setup=('*:version:_baz_branches --trailing-dashes') - -local cmd_make_category -cmd_make_category=(':category:_baz_archives -S /') - -local cmd_make_branch -cmd_make_branch=(':branch:_baz_categories --trailing-dashes') - -local cmd_make_version -cmd_make_version=(':version:_baz_branches --trailing-dashes') - -local cmd_import cmd_imprev -cmd_import=('::version:_baz_versions') -cmd_imprev=($cmd_import) - -local cmd_commit cmd_cmtrev -cmd_commit=('*:file:_files') -cmd_cmtrev=($cmd_commit) - -local cmd_get cmd_getrev -cmd_get=(':revision:_baz_revisions' '::directory:_files -/') -cmd_getrev=($cmd_get) - -local cmd_get_patch cmd_get_changeset -cmd_get_patch=(':revision:_baz_revisions' '::dir:_files -/') -cmd_get_changeset=($cmd_get_patch) - -local cmd_lock_revision -cmd_lock_revision=(':revision:_baz_revisions') - -local cmd_push_mirror cmd_archive_mirror -cmd_push_mirror=( - '::FROM or MINE:_baz_archives' - '::TO:_baz_archives' - '::LIMIT:_baz_limit' -) -cmd_archive_mirror=($cmd_push_mirror) - -local cmd_revisions -cmd_revisions=('::version:_baz_versions') - -local cmd_ancestry -cmd_ancestry=('::revision:_baz_revisions') - -local cmd_ancestry_graph -cmd_ancestry_graph=('::revision:_baz_revisions') - -local cmd_cat_archive_log -cmd_cat_archive_log=(':revision:_baz_revisions') - -local cmd_cachedrevs -cmd_cachedrevs=(':version:_baz_versions') - -local cmd_uncacherev -cmd_uncacherev=(':revision:_baz_revisions' '::dir:_files -/') - -local cmd_archive_meta_info -cmd_archive_meta_info=(':item-name:((name\:foo mirror\:bar))') - -local cmd_archive_snapshot -cmd_archive_snapshot=(':dir:_files -/' '::limit:_baz_revisions') - -local cmd_archive_version -cmd_archive_version=() - -local cmd_archive_fixup -cmd_archive_fixup=() - -local cmd_make_log -cmd_make_log=('::version:_baz_versions') - -local cmd_add_log cmd_add_log_version -cmd_add_log=(':version:_baz_versions') -cmd_add_log_version=($cmd_add_log) - -local cmd_remove_log cmd_remove_log_version -cmd_remove_log=(':version:_baz_log_versions') -cmd_remove_log_version=($cmd_remove_log) - -local cmd_abrowse -cmd_abrowse=('::LIMIT:_baz_revisions') - -local cmd_cat_log -cmd_cat_log=(':revision-spec:_baz_local_revisions') - -local cmd_changelog -cmd_changelog=('::version:_baz_versions') - -local cmd_log_for_merge -cmd_log_for_merge=('::version:_baz_versions') - -local cmd_merges -cmd_merges=(':INTO:_baz_revisions' '::FROM:_baz_revisions') - -local cmd_new_merges -cmd_new_merges=('::version:_baz_versions') - -local cmd_branch -cmd_branch=(':SOURCE-REVISION:_baz_revisions' ':TAG-VERSION:_baz_versions') - -local cmd_merge -cmd_merge=(':FROM:_baz_revisions') - -local cmd_missing cmd_whats_missing -cmd_missing=('::revision:_baz_revisions') -cmd_whats_missing=($cmd_missing) - -local cmd_pristines cmd_ls_pristines -cmd_pristines=('::limit:_baz_revisions') -cmd_ls_pristines=($cmd_pristines) - -local cmd_lock_pristine -cmd_lock_pristine=(':revision:_baz_revisions') - -local cmd_add_pristine -cmd_add_pristine=(':revision:_baz_revisions') - -local cmd_find_pristine -cmd_find_pristine=(':revision:_baz_revisions') - -local cmd_my_revision_library -cmd_my_revision_library=(':library:_baz_my_revision_library') - -local cmd_library_find -cmd_library_find=(':revision:_baz_revisions --library') - -local cmd_library_add -cmd_library_add=(':revision:_baz_revisions --exclude-library-revisions') - -local cmd_library_remove -cmd_library_remove=(':revision:_baz_revisions --library') - -local cmd_library_archives -cmd_library_archives=() - -local cmd_library_log -cmd_library_log=(':revision:_baz_revisions --library') - -local cmd_library_file -cmd_library_file=(':file:_files' ':revision:_baz_revisions --library') - -local cmd_grab -cmd_grab=(':location:_files') - -local cmd_parse_package_name -cmd_parse_package_name=(':name:') - -local cmd_valid_package_name -cmd_valid_package_name=(':name:') - -local cmd_library_config -cmd_library_config=(':library:_baz_libraries') - -local cmd_rbrowse -cmd_rbrowse=('::regular expression:') - -local cmd_rm -cmd_rm=('*:file:_files') - -local cmd_escape -cmd_escape=(':string:') - -local cmd_switch -cmd_switch=(':revision:_baz_revisions') - -#mutually exclusive options - -local -A excludes -excludes=( -# This first line means that if --output was given, don't complete -# --no-output or --keep. The converse is not true. ---output '--no-output --keep' ---no-output --output - ---silent ' --quiet --report --verbose --debug' ---quiet '--silent --report --verbose --debug' ---report '--silent --quiet --verbose --debug' ---verbose '--silent --quiet --report --debug' ---debug '--silent --quiet --report --verbose ' - ---sparse --non-sparse ---non-sparse --sparse - ---files ' --directories --both' ---directories '--files --both' ---both '--files --directories ' - ---mirror --mirror-from ---mirror-from --mirror - ---no-cached --cached-tags ---cached-tags --no-cached - ---non-greedy --greedy ---greedy --non-greedy -) - -_baz_main () { - typeset -A opt_args - local arguments - if (( CURRENT > 2 )); then - local cmd=${words[2]} - local var_cmd=cmd_${cmd//-/_} - curcontext="${curcontext%:*:*}:baz-$cmd:" - (( CURRENT-- )) - shift words - - arguments=() - local input - input=(${${(M)${(f)"$($BAZ $cmd -h)"}:# *}# }) - - local i j=1 - local short long arg desc action - short=() - long=() - arg=() - desc=() - action=() - for (( i=1 ; i <= ${#input} ; i++ )); do - [[ "$input[i]" != *[^\ ]* ]] && continue # stupid blank lines - short[j]="${${${input[i]}[1,2]}#--}" - long[j]="${${input[i]#-?, }%% *}" - - arg[j]="${${${input[i]%% *}##* }##-*}" - [[ $long[j] == --archive ]] && arg[j]=ARCHIVE # baz doesn't mention this - - desc[j]="${input[i]##* }" - if [[ "$input[i+1]" == \ *[^\ ]* ]]; then # description continues - (( i++ )) - desc[j]="$desc[j] ${input[i]##* }" - fi - [[ "$short[j]" == -[hHV] ]] && continue - desc[j]="${${desc[j]//\[/\\[}//\]/\\]}" # escape brackets - - case $arg[j] in - DIR|PATCH-DIR|DEST|OUTPUT|PATH) - action[j]='_files -/' ;; - FILES|FILE|SNAP-FILE) - action[j]='_files' ;; - MASTER|MASTER-SOURCE|ARCHIVE) - action[j]='_baz_archives' ;; - CATEGORY) - action[j]='_baz_categories' ;; - BRANCH) - action[j]='_baz_branches' ;; - VERSION) - action[j]='_baz_versions' ;; - CFG) - action[j]='_baz_configs' ;; - LIB) - action[j]='_baz_libraries' ;; -# PATCH,FILE) # not sure how to complete this -# action[j]='_baz_patch_file' ;; - *) - action[j]='' ;; - esac - - (( j++ )) - - done - - local excluded k - for (( i = 1 ; i < j ; i++ )); do - excluded=($short[i] $long[i]) - foreach opt (${=excludes[$long[i]]}) - k=$long[(i)$opt] - excluded=($excluded $short[k] $long[k]) - #excludes matching short options too :-) - end - - - # generate arguments to _arguments ;-) - # make long and short options mutually exclusive - [ $short[i] ] && arguments=("$arguments[@]" - "${hide_short}(${excluded})${short[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - [ $long[i] ] && arguments=("$arguments[@]" - "(${excluded})${long[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - done - - arguments=("$arguments[@]" "${(@P)var_cmd-*:FILE:_files}") - else - local help - local -U cmds - help=(${(f)"$($BAZ help)"}) - cmds=(${${${${(M)help:#* :*}/ #: #/:}%% ##}## #}) - arguments=(':command:(($cmds))') - fi - _arguments -S -A '-*' \ - {"${hide_short}(: -)-V",'(: -)--version'}'[display version]' \ - {"${hide_short}(: -)-h",'(: -)--help'}'[display help]' \ - '(: -)-H[display verbose help]' \ - "$arguments[@]" -} - -_baz_main "$@" diff --git a/result/sw/share/zsh/5.9/functions/_be_name b/result/sw/share/zsh/5.9/functions/_be_name deleted file mode 100644 index 4b80c65f..00000000 --- a/result/sw/share/zsh/5.9/functions/_be_name +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -local -a type be_names expl - -zparseopts -D -E -a type t+: - -be_names=( ${${(f)"$(_call_program boot-environs beadm list -H)"}%%;*} ) - -[[ -n $type[(r)all] ]] && - be_names+=( ${${${(f)"$(_call_program boot-environs beadm list -sH)"}#*;}%%;*} ) - -_description boot-environs expl 'boot environment' -compadd "$@" "$expl[@]" -a be_names diff --git a/result/sw/share/zsh/5.9/functions/_beadm b/result/sw/share/zsh/5.9/functions/_beadm deleted file mode 100644 index cdb324e8..00000000 --- a/result/sw/share/zsh/5.9/functions/_beadm +++ /dev/null @@ -1,78 +0,0 @@ -#compdef beadm - -local cmd expl args cmds - -if (( CURRENT == 2 )); then - [[ $OSTYPE = solaris* ]] && cmds=( set-policy ) - _wanted subcommands expl 'subcommand' compadd $cmds \ - activate create destroy list mount rename unmount - return -fi - -cmd="$words[2]" -curcontext="${curcontext%:*}-$cmd:" -shift words -(( CURRENT-- )) - -case $cmd in - activate) - _wanted boot-environs expl 'boot environment' _be_name - ;; - create) - [[ $OSTYPE = solaris* ]] && args=( - '-a[activate new BE]' - '-d[description]:description' - '*-o[property]:zfs property' - '-p[create new BE in specified zfs pool]:zfs pool:_zfs_pool' - ) - _arguments -A "-*" -s $args \ - '-e[base BE]:BE name or snapshot:_be_name -t all' \ - ':new BE name:' - ;; - destroy) - [[ $OSTYPE = solaris* ]] && args=( - '-f[unmount BE if necessary]' - '(:)-O[destroy all orphaned boot environments]' - ) - _arguments -A "-*" $args \ - "-F[don't prompt for verification]" \ - ':BE or BE snapshot:_be_name' - ;; - list) - if [[ $OSTYPE = solaris* ]]; then - args=( '-d[list subordinate filesystems]' ) - elif [[ $OSTYPE = freebsd* ]]; then - args=( '-D[display space usage of boot environment]' ) - fi - _arguments -A "-*" -s $args \ - '-a[list subordinate filesystems and snapshots]' \ - '-s[list snapshots]' \ - '-H[parseable format]' \ - ':boot environment:_be_name' - ;; - mount) - [[ $OSTYPE = solaris* ]] && - args=( '-b[mount associated boot pool dataset]' ) - _arguments -A "-*" $args \ - ':BE name:_be_name' \ - ':mountpoint:_path_files -/' - ;; - rename) - _arguments -A "-*" \ - ':existing boot environment name:_be_name' \ - ':new boot environment:' - ;; - set-policy) - _arguments -A "-*" \ - '*-n[specify policy]:policy:(static -static noevict -noevict)' \ - '*:BE name:_be_name' - ;; - u(n|)mount) - _arguments -A "-*" \ - '-f[force unmount]' \ - ':boot environment:_be_name' - ;; - *) - _message "unknown beadm subcommand: $service" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_beep b/result/sw/share/zsh/5.9/functions/_beep deleted file mode 100644 index d393bc91..00000000 --- a/result/sw/share/zsh/5.9/functions/_beep +++ /dev/null @@ -1,50 +0,0 @@ -#compdef beep - -# beep [--verbose | --debug] [-e device | --device device] [-f N] [-l N] -# [-r N] [-d N] [-D N] [-s] [-c] -# beep [ OPTIONS ] [-n] [--new] [ OPTIONS ] -# beep [-h] [--help] -# beep [-v] [-V] [--version] - -# We support the -n/--new restart flag, when it is in its own word, by -# stripping all words from the command line that are after the first -n -# following words[CURRENT] or before the first -n preceding it. As far as -# _arguments knows, the -n flag does not exist, and argv should specify -# a single beeping specification. - -## Strip $words[2] through the first -n preceding $words[CURRENT]. -integer specstart -while specstart=$words[(i)(-n|--new)] - (( specstart < CURRENT )) -do - words[2,specstart]=() - (( CURRENT -= specstart - 1)) -done -unset specstart - -## Strip everything in $words after the first -n following $words[CURRENT]. -integer specend -while specend=$words[(I)(-n|--new)] - (( specend > CURRENT )) -do - words[specend,$#words]=() -done -unset specend - -local -a args -args=( - "(--verbose --debug)"{--verbose,--debug}"[enable debug output]" - "(-e --device)"{-e+,--device=}"[specify device to use]:device (default /dev/tty0, /dev/vc/0)" - "-f+:frequency (Hz) as integer or float" - "-l+:duration (ms)" - "-r+:number of repetitions" - "(-D)-d+[delay between beeps]:delay (ms)" - "(-d)-D+[delay after each beep]:delay (ms)" - "(-n --new)"{-n,--new}"[start a new beeping specification]" - "-s[cat, and beep after each line]" - "-c[cat, and beep after each character]" - "(-)"{-h,--help}"[display usage info]" - "(-)"{-v,-V,--version}"[display version info]" -) - -_arguments -s -S -w : $args diff --git a/result/sw/share/zsh/5.9/functions/_bibtex b/result/sw/share/zsh/5.9/functions/_bibtex deleted file mode 100644 index 8db38a24..00000000 --- a/result/sw/share/zsh/5.9/functions/_bibtex +++ /dev/null @@ -1,5 +0,0 @@ -#compdef bibtex - -# bibtex only works when the *.aux file exists, but complete the *.tex file in -# case it hasn't been compiled yet. -_files -g '*.(aux|tex)(:r)' diff --git a/result/sw/share/zsh/5.9/functions/_bind_addresses b/result/sw/share/zsh/5.9/functions/_bind_addresses deleted file mode 100644 index d1272780..00000000 --- a/result/sw/share/zsh/5.9/functions/_bind_addresses +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -# Complete locally bound IP addresses -# -# Options: -# -0 Return also `0.0.0.0` and `::` -# -4 Return only IPv4 addresses -# -6 Return only IPv6 addresses -# -b Return IPv6 addresses in brackets (for use with port numbers) -# -h Return also `localhost` -# -L Exclude loop-back addresses (`127.0.0.0/8` and `::1`) -# -K Exclude link-local addresses (`169.254.0.0/16` and `fe80::/10`) - -local MATCH MBEGIN MEND -local -a expl tmp cmd=( ifconfig -a ) -local -A opts - -zparseopts -A opts -D -E -- 0 4 6 b h L K - -# A lot of Linux systems have ifconfig, but this is probably safer (and it's -# parsed the same way) -[[ $OSTYPE == linux* ]] && (( $+commands[ip] )) && cmd=( ip addr show ) - -tmp=( ${(f)"$( _call_program bind-addresses $cmd )"} ) -tmp=( ${(@M)tmp##(|[[:space:]]##)inet(|6)(|:)[[:space:]]*} ) -tmp=( ${(@)tmp#*inet(|6)(|:)[[:space:]]##} ) -tmp=( ${(@)tmp%%[^0-9A-Fa-f:.]*} ) - -# The order of operations here is significant -(( $+opts[-0] )) && tmp+=( 0.0.0.0 :: ) - -if (( $+opts[-6] )); then - tmp=( ${(@M)tmp:#*:*} ) -elif (( $+opts[-4] )); then - tmp=( ${(@)tmp:#*:*} ) -fi - -(( $+opts[-L] )) && { - tmp=( ${(@)tmp:#127.*} ) - tmp=( ${(@)tmp:#[0:]##:1} ) -} -(( $+opts[-K] )) && { - tmp=( ${(@)tmp:#169.254.*} ) - tmp=( ${(@)tmp:#(#i)fe[89ab]?:*} ) -} - -(( $+opts[-b] )) && tmp=( ${(@)tmp/(#m)*:*/\[$MATCH\]} ) -(( $+opts[-h] )) && tmp+=( localhost ) - -_wanted bind-addresses expl 'bind address' compadd -a "$@" - tmp diff --git a/result/sw/share/zsh/5.9/functions/_bindkey b/result/sw/share/zsh/5.9/functions/_bindkey deleted file mode 100644 index df9c8f22..00000000 --- a/result/sw/share/zsh/5.9/functions/_bindkey +++ /dev/null @@ -1,38 +0,0 @@ -#compdef bindkey - -# Normally, this completes names of zle widgets, whether the builtin ones -# or ones defined by the user. Note that a - allows a wildcard before it, -# so h-b-s-b will complete to history-beginning-search-backward. You -# can alter this by removing the -M ... from the second compadd. -# -# Where appropriate, will complete keymaps instead of widgets. - -local state expl line curcontext="$curcontext" ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(-v -a -M -l -D -A -N -p)-e[select emacs keymap and bind it to main]' \ - '(-e -a -M -l -D -A -N -p)-v[select viins keymap and bind it to main]' \ - '(-e -v -M -l -D -A -N -p)-a[select vicmd keymap]' \ - '(-e -v -a -l -D -A -N)-M[specify keymap to select]:keymap:->keymap' \ - '(-e -v -a -M -D -A -N -m -p -r -s -R *)-l[list existing keymap names]' \ - '(-e -v -a -d -A -N -m -r -s -R *)-L[output in form of bindkey commands]' \ - '(-e -v -a -l -D -A -N -m -p -r -s -R *)-d[delete existing keymaps and reset to default state]' \ - '(-e -v -a -M -l -d -A -N -m -p -r -s -R *)-D[delete named keymaps]:*:keymap:->keymap' \ - '(-e -v -a -M -l -L -d -D -N -m -p -r -s -R *)-A[create alias to keymap]:old-keymap:->keymap:new-keymap:->keymap' \ - '(-e -v -a -M -l -L -d -D -A -m -p -r -s -R *)-N[create new keymap]:new-keymap:->keymap:old-keymap to copy:->keymap' \ - '(-l -L -d -D -A -N -p -r -s -r -R *)-m[add builtin meta-key bindings to selected keymap]' \ - '(-e -v -a -d -D -A -N -m -s -R *)-p[list bindings which have given key sequence as a prefix]:key sequence' \ - '(-l -L -d -D -A -N -m -s *)-r[unbind specified in-strings]:*:in-string' \ - '(-l -L -d -D -A -N -m -p -r *)-s[bind each in-string to each out-string]:*:key string' \ - '(-e -v -a -M -l -L -d -D -A -N -m -p)-R[interpret in-strings as ranges]' \ - '(-l -L -d -A -N -m -p -r -s):in-string' \ - '(-l -L -d -A -N -m -p -r -s)*::widget:_widgets' && ret=0 - -case $state in - keymap) - _wanted keymaps expl keymap compadd -a keymaps && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_bison b/result/sw/share/zsh/5.9/functions/_bison deleted file mode 100644 index 67ad7f0e..00000000 --- a/result/sw/share/zsh/5.9/functions/_bison +++ /dev/null @@ -1,21 +0,0 @@ -#compdef bison - -_arguments -s -S \ - '(--file-prefix)-b+[specify output file prefix]:output file prefix' \ - '(--defines)-d[write token definition file]' \ - '(--raw)-r[output bison token numbers]' \ - '(--token-table)-k[output token table]' \ - '(--no-lines)-l[don'"'"'t generate #line directives]' \ - '(--no-parser)-n[don'"'"'t generate parse (only declarations)]' \ - '(--output-file)-o+[specify parser output file name]:parser file name:_files' \ - '(--name-prefix)-p+[change yy prefix]:prefix string' \ - '(--debug)-t[output YYDEBUG definition]' \ - '(--verbose)-v[verbose mode]' \ - '(--version)-V[show version]' \ - '(--help)-h[show help]' \ - '(--yacc --fixed-output-file)-y[imitate yacc'"'"'s output file convention]' \ - ':input file:_files -g \*.\(\#i\)\(bison\|yacc\|y\)\(-.\)' \ - -- \ - '*=outfile:parser file name:_files' \ - '*file-prefix=prefix:output file prefix' \ - '*name-prefix=prefix:prefix string' diff --git a/result/sw/share/zsh/5.9/functions/_bittorrent b/result/sw/share/zsh/5.9/functions/_bittorrent deleted file mode 100644 index 1fbab35e..00000000 --- a/result/sw/share/zsh/5.9/functions/_bittorrent +++ /dev/null @@ -1,100 +0,0 @@ -#compdef btdownloadcurses btdownloadheadless btdownloadgui btlaunchmany btlaunchmanycurses bttrack btshowmetainfo btreannounce btmakemetafile btrename - -# Bittorrent completion commands. Originally written by Jussi -# Pakkanen, 2004. Most of the command descriptions are from the Debian -# project's man pages. - -# Modified by R.Ramkumar, 2006 to conform to zsh completion standards and -# enhance completion for certain options. - -case $service in - -# Start with the clients. - - btdownloadcurses) - ;& - btdownloadheadless) - ;& - btdownloadgui) - ;& - btlaunchmany) - ;& - btlaunchmanycurses) - _arguments -s -S \ - '(--responsefile)--responsefile+[specify file for server response]:file:_files'\ - "--url+[specify URL of torrent file]:URL:_urls"\ - '(-i --ip)'{-i+,--ip+}'[specify ip address to report as]:ip address'\ - "--bind+[specify ip to bind to instead of default]:ip:_bind_addresses"\ - "--minport+[specify minimum port to listen to]:port:"\ - "--maxport+[specify maximum port to listen to]:port:"\ - "--saveas+[specify file to save to]:file:_files -/"\ - "--max_uploads+[specify maximum amount of uploads]:uploads:"\ - "--max_upload_rate+[specify maximum upload rate]:rate (kb):"\ - "--keepalive_interval+[specify pause between keepalives]:time (s):"\ - "--download_slice_size+[specify bytes to query per request]:size (b):"\ - "--request_backlog+[specify number of requests to keep in a single pipe]:requests:"\ - "--max_message_length+[specify maximum length of prefix encoding]:size (b):"\ - "--timeout+[specify timeout before closing sockets on receiving nothing]:timeout (s):"\ - "--timeout_check_interval+[specify interval to check for connection time]:time interval (s):"\ - "--max_slice_length+[specify maximum size of requests accepted from peers]:size (b):"\ - "--max_rate_recalculate_interval+[specify length of pauses leading to reduced rate]:time (s):"\ - "--max_rate_period+[specify maximum time taken to guess the current rate estimate]:time (s):"\ - "--upload_rate_fudge+[specify time equivalent of writing to kernel TCP buffer]:time (s):"\ - "--display_interval+[specify time between updates to displayed information]:time (s):"\ - "--rerequest_interval+[specify time between requests for more peers]:time (s)"\ - "--min_peers+[specify peers needed before stopping or delaying requests for peers]:peers:"\ - "--http_timeout+[specify timeout for http connections]:timeout (s):"\ - "--snub_time+[specify timeout to decide that connection is semi-permanently choked]:timeout (s):"\ - "--spew+[display diagnostic info to stdout]:enable:(0 1)"\ - "--check_hashes+[check hashes on disk]:enable:(0 1)"\ - "--max_initiate+[specify peers needed before stopping initiating new connections]:peers:"\ - "--report_hash_failures+[report hash failures to user]:enable:(0 1)"\ - "--rarest_first_priority_cutoff+[specify peers which need to have a piece before other partials take priority over rarest first]:peers:"\ - ':torrent file:_files -g "*.torrent(-.)"' - return - ;; - -# Next up are the torrent file manipulation programs. - - btshowmetainfo) - _files -g "*.torrent(-.)" && return - ;; - - btrename) - _files -g '*.torrent(-.)' && return - ;; - - btmakemetafile) - _arguments -s -S \ - '--piece_size_pow2+[specify power of 2 to set the piece size to]:power:' \ - "--comment+[specify human-readable comment to put in .torrent]:comment:"\ - "--target+[specify target file for the torrent]:file:_files"\ - ':file:_files' - return - ;; - - btreannounce) - _files -g '*.torrent(-.)' && return - ;; - -# Lastly the tracker. - - bttrack) - _arguments -s -S \ - "--port+[specify port to listen on]:port number:" \ - "--dfile+[specify file to store recent downloader info]:file:_files" \ - "--bind+[specify ip to bind to]:bind address:_bind_addresses" \ - "--socket_timeout+[specify timeout for closing connections]:timeout (s):"\ - "--save_dfile_interval+[specify interval between saving dfile]:time (s):"\ - "--timeout_downloaders_interval+[timeout for expiring downloaders]:time (s):" \ - "--reannounce_interval+[specify interval downloaders should wait between reannouncements]:time (s):" \ - "--response_size+[specify peers to send in an info message]:peers:" \ - "--timeout_check_interval+[specify connection timeout]:timeout (s):"\ - "--nat_check=[check back and ban downloaders behind NAT]:enable:(0 1)" \ - "--min_time_between_log_flushes+[specify minimum time between log flushes]:time (s):" \ - "--allowed_dir+[specify directory having downloadable torrents]:directory:_files -/" \ - "--parse_allowed_interval+[specify interval between reloading allowed_dir]:time (min):" \ - "--show_names+[display names from allowed dir]:enable:(0 1)" - return - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_bogofilter b/result/sw/share/zsh/5.9/functions/_bogofilter deleted file mode 100644 index ff36e83a..00000000 --- a/result/sw/share/zsh/5.9/functions/_bogofilter +++ /dev/null @@ -1,127 +0,0 @@ -#compdef bogoutil bogotune bogofilter - -_bogoutil_caching_policy () { - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - return 1 -} - -_bogoutil() { - - local bogotokens expl ret=1 - typeset -a _bogoutil_actions - _bogoutil_actions=(-h --help -V --version -d --dump -l --load -u - --upgrade -m -w -p -H --db-verify -r -R --db-prune --db-recover - --db-recover-harder --db-remove-environment -k --db-cachesize) - - _arguments -s \ - '*'{-v,--verbosity}'[verbose]' \ - '-n[replace non-ASCII characters]' \ - {-D,--debug-to-stdout}'[redirect debug output to stdout]' \ - '-a[acceptable token age]:date or day count' \ - '-c[acceptable count]:count threshold' \ - '-s[acceptable size range]:min-max range' \ - {-y,--timestamp-date=}'[date for when unknown]:date in YYYYMMDD format' \ - '(--input-file -I)'{-I,--input-file=}'[input file]:input file:_files' \ - {-x,--debug-flags=}'[debug flags]:debug flags:' \ - "($_bogoutil_actions)"{-d,--dump=}'[print contents of db]:database file:_files -g "*.db(-.)"' \ - "($_bogoutil_actions)"{-l,--load=}'[load file into db]:textfile:_files' \ - "($_bogoutil_actions)"{-u,--upgrade=}'[upgrade wordlist version]:database file:_files -g "*.db(-.)"' \ - "($_bogoutil_actions)"'-m[perform maintenance functions]:file:_files' \ - "($_bogoutil_actions)"'-w[display token information]:database file or directory:_files' \ - "($_bogoutil_actions)"'-p[display token probability information]:database file or directory:_files' \ - "($_bogoutil_actions)"'-H[print histogram]:database file or directory:_files' \ - "($_bogoutil_actions)"'-r[recalculate ROBX]:database:_files -/' \ - "($_bogoutil_actions)"'-R[recalculate and save ROBX]:database:_files -/' \ - "($_bogoutil_actions)"{-k,--db-cachesize=}'[set Berkeley DB cache size]:size in MB' \ - "($_bogoutil_actions)"'--db-verify[verify database]:database:_files -/' \ - "($_bogoutil_actions)"'--db-recover[run regular recovery]:database:_files -/' \ - "($_bogoutil_actions)"'--db-recover-harder[run catastrophic recovery]:database:_files -/' \ - "($_bogoutil_actions)"'--db-prune[checkpoint database]:database:_files -/' \ - "($_bogoutil_actions)"'--db-remove-environment:database:_files -/' \ - '--db_lk_max_locks[set max lock count]' \ - '--db_lk_max_objects[set max object count]' \ - "($_bogoutil_actions)"{-h,--help}'[help]' \ - "($_bogoutil_actions)"{-V,--version}'[version]' \ - '*:tokens:->tokens' && ret=0 - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _bogoutil_caching_policy - fi - - case $state in - (tokens) - if ( [[ -z "$bogotokens" ]] || _cache_invalid bogotokens ) && - ! _retrieve_cache bogotokens; then - bogotokens=(${${(f)"$(_call_program bogotokens bogoutil -d ~/.bogofilter/wordlist.db -c 50)"}%% *}) - _store_cache bogotokens bogotokens - fi - _wanted tokens expl "token" compadd -a bogotokens && ret=0 - ;; - esac - - return ret -} - -case $service in - (bogoutil) - _bogoutil "$@" - ;; - (bogotune) - _arguments \ - '-h[help]' \ - '-C[do not read standard configs]' \ - '-c[config file]:config file:_files' \ - '-D[do not a wordlist file]' \ - '-d[wordlist dir]:directory:_files -/' \ - '-E[disable ESF tuning]' \ - '-M[output input file in message count format]' \ - '-r[specify robx value]:robx value:' \ - '-T[specify fp target value]:fp target value:' \ - '-s[spam files]:spam files:_files' \ - '-n[non-spam files]:non-spam files:_files' \ - '-v[verbose]' \ - '-q[quiet]' - ;; - (bogofilter) - _arguments -s -w \ - '(--help)-h[help]' \ - '(--version)-V[version]' \ - '(--query)-Q[query]' \ - '-QQ[display extended config info]' \ - '(--passthrough)-p[passthrough]' \ - '(--ham-true)-e[ham-true]' \ - '(--update-as-scored)-u[update-as-scored]' \ - '(--classify-mbox)-M[classify-mbox]' \ - '(--classify-stdin)-b[classify-stdin]' \ - '(--classify-files)-B[classify-files]:file list:_files' \ - '(--dataframe)-R[print R dataframe]' \ - '(--register-spam)-s[register as spam]' \ - '(--register-ham)-n[register as non-spam]' \ - '(--unregister-spam)-S[unregister as spam]' \ - '(--unregister-ham)-N[unregister as non-spam]' \ - '(--config-file)-c[config file]:config file:_files' \ - '(--no-config-file)-C[do not read standard config files]' \ - '(--bogofilter_dir)-d[wordlist directory]' \ - '(--no-header-tags)-H[disable header line tagging]' \ - '(--db_cachesize)-k[set Berkeley DB cache size]:megabytes:' \ - '(--use-syslog)-l[log via syslog]' \ - '(--syslog-tag)-L[specify tag value for log messages]:tag:' \ - '(--input-file)-I[specify input file instead of stdin]:input file:_files' \ - '(--output-file)-O[specify output file instead of stdout]:output file:_files' \ - '(--min_dev --robs --robx)-m[user-defined min_dev, robs, and robx]:values:' \ - '(--spam_cutoff --ham_cutoff)-o[user-defined spam and ham cutoffs]:values:' \ - '(--terse)-t[terse output mode]' \ - '(--fixed-terse-format)-T[invariant terse output mode]' \ - '(--report-unsure)-U[print statistics if spamicity is unsure]' \ - '(--verbosity)-v[set debug verbosity level]' \ - '(--timestamp-date)-y[set date for token timestamps]' \ - '(--debug-to-stdout)-D[direct debug output to stdout]' \ - '(--debug-flags)-x[debug flags]:debug flags:' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_bpf_filters b/result/sw/share/zsh/5.9/functions/_bpf_filters deleted file mode 100644 index b744b1ab..00000000 --- a/result/sw/share/zsh/5.9/functions/_bpf_filters +++ /dev/null @@ -1,217 +0,0 @@ -#autoload - -# spaces are valid instead of word ends, perhaps better to just do compset -q - -local -a networks fields dirs protos relop -local -A subtypes flags -local values dir wlantype skip repeat=1 packet proto=0 -local suf=']' - -local WORD=$'[^ \0]##[ \0]##' - -networks=( - /$'[^/ \0]#'/ - \( - /$'[ \0]'/ ': _message -e networks network' - /$'mask[ \0]'/ ':masks:mask:(mask)' - /$WORD/ ':netmasks:netmask:' - \| - /// /$WORD/ ': _message -e masks "netmask length (bits)"' - \) -) -subtypes=( - mgt 'assoc-req assoc-resp reassoc-req reassoc-resp probe-req probe-resp beacon atim disassoc auth deauth' - ctl 'ps-poll rts cts ack cf-end cf-end-ack' - data 'data data-cf-ack data-cf-poll data-cf-ack-poll null cf-ack cf-poll cf-ack-poll qos-data qos-data-cf-ack qos-data-cf-poll qos-data-cf-ack-poll qos qos-cf-poll and qos-cf-ack-poll' -) -flags=( - len len - tcp 'tcp-fin tcp-syn tcp-rst tcp-push tcp-ack tcp-urg' - icmp 'icmp-echoreply icmp-unreach icmp-sourcequench icmp-redirect icmp-echo icmp-routeradvert icmp-routersolicit icmp-timxceed icmp-paramprob icmp-tstamp icmp-tstampreply icmp-ireq icmp-ireqreply icmp-maskreq icmp-maskreply' -) - -case $OSTYPE in - solaris*) - fields=( ipaddr etheraddr atalkaddr ethertype rpc nofrag inet inet6 vlan-id ) - protos=( bootp dhcp dhcp6 apple pppoe ldap slp ospf ) - dirs=( from to ) - relop=( \^ % ) - ;| - solaris2.<11->) - fields+=( zone ) - ;| - (free|open)bsd*) # pf(4) specific filters - fields=( ifname on rnr rulenum srnr subruleset reason ruleset rset action ) - ;| - ^(solaris|openbsd)*) - protos+=( mpls netbeui iso geneve aarp ipx llc ) - ;| - ^openbsd*) - protos+=( ah esp sctp pppoed pppoes ) - ;| - ^solaris*) - protos+=( fddi wlan atalk stp lat moprc mopdl ) - relop=( '>>' '<<' ) - ;; -esac - -compquote suf - -# the regex is essentially: -# ( [not]* ( expression | [protocol]? [standalone-field | direction field ]? ) and|or ) * -# the proto variable ensures that and/or is not allowed if there is no -# protocol or field: it is one, the other or both but not neither - -_regex_arguments _bpf /$'[^\0]#\0'/ \( \ - /$'(not[ \0]#|![ \0]#|(\\\\|)\\([ \0]#)'/ ':operators:operator:(not \()' \# \ - \(\ - \(\ - \(\ - /"(0x[0-9a-f]##|[0-9]##|${(j.|.)${=flags}})"$'[ \0]#'/ -'((repeat != 2))' ":expressions:expression:compadd ${=flags[$packet]}" \ - \|\ - /'[a-z]##(\\|)\[[^\]]##(\\|)\]'$'[ \0]#'/ \ - \|\ - /'[a-z]##(\\|)\[[^:\]]##:'/ /'[]'/ ':sizes:field size (bytes):compadd -S "$suf" 1 2 4' \ - \|\ - /'tcp(\\|)\['/ -packet=tcp \ - /'[]'/ ':offsets:header offset:compadd -S "$suf " tcpflags' \ - \|\ - /'icmp(\\|)\['/ -packet=icmp \ - /'[]'/ ':offsets:header offset:compadd -S "$suf " icmptype icmpcode' \ - \|\ - /'[a-z]##(\\|)\['/ /'[]'/ ':offsets:offset:' \ - \)\ - \(\ - /$'(\\\\|)([<>=!](\\\\|)[<>=]|[<>&|=+*/%^-])[ \0]#'/ -'repeat=0' ":operators:operator:(+ - = != < > <= >= & | $relop and or)" \ - // ': _message -e expressions expression' \ - \|\ - // -'repeat=2' \ - \)\ - \) \# \ - // -'(( repeat == 2))' \ - // -'repeat=1' \ - \|\ - /$'ether[ \0]proto[ \0]'/ \ - /$WORD/ ':protocols:protocol:(\ip \ip6 \arp \rarp \atalk \aarp \dec \net \sca \lat \mopdl \moprc \iso \stp \ipx \netbeui)' \ - \|\ - /$'(less|greater)[ \0]'/ ':fields:field:(less greater)' \ - /$WORD/ ':numbers:length (bytes):' \ - \|\ - \(\ - /$'(tcp|udp|icmp|ether|ip|ip6|arp|rarp|decnet|bootp|dhcp|dhcp6|apple|pppoe|pppoed|ldap|ah|esp|slp|sctp|ospf|iso|clnp|esis|isis|atalk|aarp|iso|stp|ipx|netbeui|lat|moprc|mopdl)[ \0]'/ ":protocols:protocol qualifier:(tcp udp icmp ether tr ip ip6 arp rarp decnet $protos)" \ - \| /$'((fddi|tr|wlan)[ \0]|)'/ '-(( ++proto ))' \) \ - \(\ - /$'mpls[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e labels "label number"' \ - \|\ - /$'geneve[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e vnis "vni"' \ - \|\ - /$'pppoes[ \0]'/ \ - /$'((0x|)[0-9a-f]##[ \0]|)'/ ': _message -e session-ids "session id"' \ - \|\ - /$'proto[ \0]'/ ':fields:field:(proto)' \ - /$WORD/ ':protocols:protocol:(\icmp \icmp6 \igmp \igrp \pim \ah \esp \vrrp \udp \tcp)' \ - \|\ - /$'(broad|multi)cast[ \0]'/ ':fields:field:(broadcast multicast)' \ - \|\ - /$'type[ \0]'/ ':fields:field:(type)' \ - /$WORD/ -'wlantype=${match%?}' ':wlan-types:wlan type:(mgt ctl data)' \ - \(\ - /$'subtype[ \0]'/ ':fields:field:(subtype)' \ - /$WORD/ ':subtypes:subtype:compadd ${=subtypes[$wlantype]:-$subtypes}' \ - \| \)\ - \|\ - /$'protochain[ \0]'/ ':fields:field:(protochain)' \ - /$WORD/ ':protocols:protocol:' \ - \|\ - /$'vlan-id[ \0]'/ \ - /$WORD/ ':vlans:vlan:' \ - \|\ - /$'vlan[ \0]'/ ':fields:field:(vlan)' \ - \( /$WORD/ ': _message -e vlans vlan' \| \) \ - \|\ - \(\ - /$'(ra|ta|addr[1-4]|inbound|outbound)[ \0]'/ ":directions:direction qualifier:(src dst inbound outbound ra ta addr1 addr2 addr3 addr4 $dirs)" \ - \|\ - /$'(src|from|dst|to)[ \0]'/ -'values=${values:-hosts};dir=$match' \ - \(\ - /$'(or|and)[ \0]'/ ':operators:operator:(or and)' \ - /$'(src|dst)[ \0]'/ ':directions:direction qualifier:compadd ${${${${dir%?}:/dst/to}:/(src|from)/dst}:/to/src}' \ - \| \)\ - \| \)\ - \(\ - /$'(host|gateway)[ \0]'/ ":fields:field:(host gateway $fields)" \ - /$WORD/ -values=hosts ':hosts:host:_hosts' \ - \|\ - /$'inet(6|)[ \0]'/ \ - \( /$'host[ \0]'/ ':fields:field:(host)' \| \) \ - /$WORD/ -values=hosts ':hosts:host:_hosts' \ - \|\ - /$'ethertype[ \0]'/ \ - /$WORD/ ':numbers:number:' \ - \|\ - /$'(ipaddr|etheraddr|atalkaddr)[ \0]'/ \ - /$WORD/ ':addresses:address:' \ - \|\ - /$'llc[ \0]'/\ - /$'((s|u|rr|rnr|rej|ui|ua|disc|sabme|test|xid|frmr)[ \0]|)'/ ':types:type:(s u rr rnr rej ui ua disc sabme test xid frmr)' \ - \|\ - /$'(ifname|on)[ \0]'/ \ - /$WORD/ ':interfaces:interface:_net_interfaces' \ - \|\ - /$'(rnr|rulenum|srnr|subruleset)[ \0]'/ \ - /$WORD/ ':rules:rule number:' \ - \|\ - /$'reason[ \0]'/ \ - /$WORD/ ':reasons:reason:(match bad-offset fragment short normalize memory)' \ - \|\ - /$'(rset|ruleset)[ \0]'/ \ - /$WORD/ ':rule-sets:rule set:' \ - \|\ - /$'action[ \0]'/ \ - /$WORD/ ':actions:action:(pass block nat rdr binat scrub)' \ - \|\ - /$'rpc[ \0]'/ \ - \(\ - /$'[^, \0]##[ \0]'/ ':programs:rpc program:compadd -qS, - ${${(f)"$(</etc/rpc)"}%%[[:blank:]#]*}' \ - \|\ - /$'[^, \0]##,[^, \0]##,'/ /$'[^, \0]##[ \0]'/ ':procedures:procedure:' \ - \|\ - /$'[^, \0]##,'/ /$'[^, \0]##[ \0]'/ ':versions:version:' \ - \)\ - \|\ - /$'zone[ \0]'/ \ - /$WORD/ ':zones:zone:_zones' \ - \|\ - /$'port[ \0]'/ ':fields:field:(port)' \ - /$WORD/ -values=ports ':ports:port:_ports' \ - \|\ - /$'portrange[ \0]'/ -values=portranges ':fields:field:(portrange)' \ - /$'[^ \0-]##-'/ ':ports:port:_ports -S-' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - /$'net[ \0]'/ -values='networks' ':fields:field:(net)' \ - $networks \ - \|\ - // -'[[ $values = hosts ]]' \ - /$WORD/ ':hosts:host:_hosts' \ - \|\ - // -'[[ $values = ports ]]' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - // -'[[ $values = networks ]]' \ - $networks \ - \|\ - // -'[[ $values = portranges ]]' \ - /$'[^ \0-]##-'/ ':ports:port:_ports -S-' \ - /$WORD/ ':ports:port:_ports' \ - \|\ - // -'(( ++proto ))' \ - \)\ - \)\ - \)\ - // -'(( proto < 2 ))' \ - /$'(and|or|&&|\\|\\||\\))[ \0]'/ -proto=0 ':operators:operator:compadd and or \)' \) \# - -_bpf "$@" diff --git a/result/sw/share/zsh/5.9/functions/_bpython b/result/sw/share/zsh/5.9/functions/_bpython deleted file mode 100644 index 2c2ea11b..00000000 --- a/result/sw/share/zsh/5.9/functions/_bpython +++ /dev/null @@ -1,43 +0,0 @@ -#compdef bpython bpython-gtk bpython-urwid bpython2 bpython2-gtk bpython2-urwid bpython3 bpython3-gtk bpython3-urwid - -local -a all_opts urwid_opts gtk_opts - -all_opts=( - '--config[configuration file]:config file:_files' - '-h --help[show help message]' - '(-i --interactive)'{-i,--interactive}'[drop to bpython after running a file]' - '(-q --quiet)'{-q,--quiet}'[do not flush the output to stdout]' - '(-V --version)'{-V,--version}'[print version]' - '1:script:_files -g "*.u#py(-.)"' - '*:arguments:' -) - -urwid_opts=( - '(-r --reactor)'{-r,--reactor}'[use twisted reactor instead of the event loop]:reactor' - '--help-reactors[display list of available Twisted reactors]' - '(-p --plugin)'{-p,--plugin}'[execute a twisted plugin]:plugin' - '(-s --server)'{-s,--server}'[run an eval server on the given port]:port:_ports' -) - -gtk_opts=( - '--socket-id[embed bpython]:socket id:' -) - -case "$service" in - bpython|bpython2|bpython3) - _arguments \ - "$all_opts[@]" - ;; - - bpython-urwid|bpython2-urwid|bpython3-urwid) - _arguments \ - "$all_opts[@]" \ - "$urwid_opts[@]" - ;; - - bpython-gtk|bpython2-gtk|bpython3-gtk) - _arguments \ - "$all_opts[@]" \ - "$gtk_opts[@]" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_brace_parameter b/result/sw/share/zsh/5.9/functions/_brace_parameter deleted file mode 100644 index 66be4f7c..00000000 --- a/result/sw/share/zsh/5.9/functions/_brace_parameter +++ /dev/null @@ -1,214 +0,0 @@ -#compdef -brace-parameter- - -local char delim found_percent found_m exp -local -a flags -integer q_last n_q - -if [[ $PREFIX = *'${('[^\)]# ]]; then - # Parameter flags. - compset -p 3 - - # Based on code in _globquals. - while [[ -n $PREFIX ]]; do - char=$PREFIX[1] - compset -p 1 - if [[ $char = q ]]; then - (( q_last++, n_q++ )) - continue - else - (( q_last = 0 )) - fi - # Skip arguments to find what's left to complete - case $char in - (%) - found_percent=1 - ;; - - (m) - found_m=1 - ;; - - ([gIjsZ_]) - # Single delimited argument. - if [[ -z $PREFIX ]]; then - _delimiters qualifier-$char - return - elif ! _globqual_delims; then - # still completing argument - case $char in - (g) - compset -P '*' - flags=('o:octal escapes' 'c:expand ^X etc.' 'e:expand \\M-t etc.') - _describe -t format 'format option' flags -Q -S '' - ;; - - (I) - _message 'integer expression' - ;; - - ([js]) - _message "separator" - ;; - - (Z) - compset -P '*' - flags=( - 'c:parse comments as strings (else as ordinary words)' - 'C:strip comments (else treat as ordinary words)' - 'n:treat newlines as whitespace' - ) - _describe -t format 'format option' flags -Q -S '' - ;; - - (_) - _message "no useful values" - ;; - esac - return - fi - ;; - - ([lr]) - # One compulsory argument, two optional. - if [[ -z $PREFIX ]]; then - _delimiters qualifier-$char - return - else - delim=$PREFIX[1] - if ! _globqual_delims; then - # still completing argument - _message "padding width" - return - fi - # TBD if $PREFIX is empty can complete - # either repeat delimiter or a new qualifier. - # You might think it would just be easier - # for the user to type the delimiter at - # this stage, but users are astonishingly lazy. - if [[ $delim = $PREFIX[1] ]]; then - # second argument - if ! _globqual_delims; then - _message "repeated padding" - return - fi - if [[ $delim = $PREFIX[1] ]]; then - if ! _globqual_delims; then - _message "one-off padding" - return - fi - fi - fi - fi - ;; - esac - done - - if [[ -z $found_percent ]]; then - flags=("%:expand prompt sequences") - else - flags=("%:expand prompts respecting options") - fi - case $q_last in - (0) - if (( n_q == 0 )); then - flags+=("q:quote with backslashes") - fi - ;; - - (1) - flags+=( - "q:quote with single quotes" - "-:quote minimally for readability" - "+:quote like q-, plus \$'...' for unprintable characters" - ) - ;; - - (2) - flags+=("q:quote with double quotes") - ;; - - (3) - flags+=("q:quote with \$'...'") - ;; - esac - if (( !n_q )); then - flags+=("Q:remove one level of quoting") - fi - if [[ -z $found_m ]]; then - flags+=("m:count multibyte width in padding calculation") - else - flags+=("m:count number of character code points in padding calculation") - fi - flags+=( - "#:interpret numeric expression as character code" - "@:prevent double-quoted joining of arrays" - "*:enable extended globs for pattern" - "A:assign as an array parameter" - "a:sort in array index order (with O to reverse)" - "b:backslash quote pattern characters only" - "c:count characters in an array (with \${(c)#...})" - "C:capitalize words" - "D:perform directory name abbreviation" - "e:perform single-word shell expansions" - "f:split the result on newlines" - "F:join arrays with newlines" - "g:process echo array sequences (needs options)" - "i:sort case-insensitively" - "k:substitute keys of associative arrays" - "L:lower case all letters" - "n:sort positive decimal integers numerically" - "-:sort decimal integers numerically" - "o:sort in ascending order (lexically if no other sort option)" - "O:sort in descending order (lexically if no other sort option)" - "P:use parameter value as name of parameter for redirected lookup" - "t:substitute type of parameter" - "u:substitute first occurrence of each unique word" - "U:upper case all letters" - "v:substitute values of associative arrays (with (k))" - "V:visibility enhancements for special characters" - "w:count words in array or string (with \${(w)#...})" - "W:count words including empty words (with \${(W)#...})" - "X:report parsing errors and eXit substitution" - "z:split words as if zsh command line" - "0:split words on null bytes" - "p:handle print escapes or variables in parameter flag arguments" - "~:treat strings in parameter flag arguments as patterns" - "j:join arrays with specified string" - "l:left-pad resulting words" - "r:right-pad resulting words" - "s:split words on specified string" - "Z:split words as if zsh command line (with options)" - # "_:extended flags, for future expansion" - "S:match non-greedy in /, // or search substrings in % and # expressions" - "I:search <argument>th match in #, %, / expressions" - "B:include index of beginning of match in #, % expressions" - "E:include index of one past end of match in #, % expressions" - "M:include matched portion in #, % expressions" - "N:include length of match in #, % expressions" - "R:include rest (unmatched portion) in #, % expressions" - ) - _describe -t flags "parameter flag" flags -Q -S '' - return -elif compset -P '*:([\|\*\^]|\^\^)'; then - _arrays - return -elif compset -P '*:'; then - flags=( - '-:substitute alternate value if parameter is null' - '+:substitute alternate value if parameter is non-null' - '=:substitute and assign alternate value if parameter is null' - '\:=:unconditionally assign value to parameter' - '?:print error if parameter is null' - '#:filter value matching pattern' - '/:replace whole word matching pattern' - '|:set difference' - '*:set intersection' - '^:zip arrays' - '^^:zip arrays reusing values from shorter array' - ) - _describe -t flags "operator" flags -Q -S '' - _history_modifiers p - return -fi - -_parameters -e diff --git a/result/sw/share/zsh/5.9/functions/_brctl b/result/sw/share/zsh/5.9/functions/_brctl deleted file mode 100644 index 4d053d5c..00000000 --- a/result/sw/share/zsh/5.9/functions/_brctl +++ /dev/null @@ -1,67 +0,0 @@ -#compdef brctl - -local curcontext="$curcontext" expl ret=1 -local subcmd - -if (( CURRENT == 2 )); then - _describe 'brctl command' '( - addbr:create\ instance\ of\ ethernet\ bridge - delbr:deletes\ specified\ bridge\ instance - show:show\ all\ current\ bridge\ instances - addif:add\ interface\ to\ bridge - delif:remove\ interface\ from\ bridge - hairpin:toggle\ hairpin\ mode\ on\ a\ port - showmacs:show\ a\ list\ of\ learned\ MAC\ addresses - setageing:set\ MAC\ address\ ageing\ time - setgcint:set\ garbage\ collection\ interval - stp:control\ use\ of\ spanning\ tree\ protocol - showstp:show\ bridge\ stp\ info - setbridgeprio:set\ bridge\ priority - setfd:set\ bridge\ forward\ delay - sethello:set\ bridge\ hello\ time - setmaxage:set\ maximum\ message\ age - setpathcost:set\ cost\ of\ port - setportprio:set\ priority\ of\ port - )' && ret=0 -else - shift words - (( CURRENT-- )) - subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - - if (( CURRENT == 2 )); then - _wanted bridges expl 'bridge' compadd \ - ${${(f)"$(brctl show 2>/dev/null)"}[2,-1]%% *} && ret=0 - elif (( CURRENT == 3 )); then - case $subcmd in - addif|delif) - _net_interfaces && ret=0 - ;; - setageing|setgcint|setfd|sethello|setmaxage) - _message -e time 'time (seconds)' - ;; - setbridgeprio) - _message -e priority 'priority' - ;; - setpathcost|setportprio|hairpin) - _message -e ports 'port' - ;; - stp) - _wanted states expl 'state' compadd on off && ret=0 - ;; - *) - _message 'unknown subcommand: $subcmd' - ;; - esac - elif (( CURRENT == 4 )); then - if [[ $subcmd == setpathcost ]]; then - _message -e cost 'cost' - elif [[ $subcmd == setportprio ]]; then - _message -e priority 'priority' - elif [[ $subcmd == hairpin ]]; then - _message -e onoff 'on|off' - fi - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_bsd_disks b/result/sw/share/zsh/5.9/functions/_bsd_disks deleted file mode 100644 index 986d36e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_bsd_disks +++ /dev/null @@ -1,26 +0,0 @@ -#autoload -# disk device names on BSDs -local -a disks - -case $OSTYPE in - freebsd*) - disks=( ${${(M)${(f)"$(geom disk list)"}\:#Geom name\:*}#*\: } ) - ;; - dragonfly*) - disks=( $(sysctl -n kern.disks) ) - ;; - openbsd*) - disks=( ${${(s.,.)"$(sysctl -n hw.disknames)"}%\:*} ) - ;; - netbsd*) - disks=( $(sysctl -n hw.disknames) ) - ;; -esac - -if (( $#disks )); then - local expl - _wanted disk-devices expl 'disk device' compadd "$@" $disks - return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_bsd_pkg b/result/sw/share/zsh/5.9/functions/_bsd_pkg deleted file mode 100644 index 82cf6226..00000000 --- a/result/sw/share/zsh/5.9/functions/_bsd_pkg +++ /dev/null @@ -1,257 +0,0 @@ -#compdef pkg_add pkg_create pkg_delete pkg_info - -(( $+functions[_bsd_pkg_pkgfiles] )) || -_bsd_pkg_pkgfiles() { - local ret=1 paths portsdir pkgsdir - - case $OSTYPE in - netbsd*) - portsdir=/usr/pkgsrc - pkgsdir=${PACKAGES:-$portsdir/packages}/All - ;; - openbsd*) - portsdir=${${(M)${(f)"$(</etc/mk.conf)"}:#PORTSDIR*}#*=[[:blank:]]#} - portsdir=${${portsdir:-$PORTSDIR}:-/usr/ports} - pkgsdir=${${(M)${(f)"$(</etc/mk.conf)"}:#PACKAGE_REPOSITORY*}#*=[[:blank:]]#} - pkgsdir=${${pkgsdir:-$PACKAGE_REPOSITORY}:-$portsdir/packages/}/$(make -V MACHINE_ARCH)/All - ;; - *) - portsdir=${PORTSDIR:-/usr/ports} - pkgsdir=${PACKAGES:-$portsdir/packages}/All - ;; - esac - - paths=( "${(@)${(@s.:.)PKG_PATH}:#}" ) - _files "$@" -g '*.t[bg]z(-.)' && ret=0 - (( $#path )) && _files "$@" -W paths -g '*.t[bg]z(-.)' && ret=0 - compadd "$@" - $pkgsdir/*.t[bg]z(-.) && ret=0 - - return ret -} - -(( $+functions[_bsd_pkg_pkgs] )) || -_bsd_pkg_pkgs() { - compadd "$@" - ${PKG_DBDIR:-/var/db/pkg}/*(/:t) -} - -(( $+functions[_bsd_pkg_pkgs_and_files] )) || -_bsd_pkg_pkgs_and_files() { - local ret=1 - - if (( $words[(I)-*F*] )); then - _files "$@" && ret=0 - else - _bsd_pkg_pkgs "$@" && ret=0 - fi - - return ret -} - -_bsd_pkg() { - local flags - - case "$service" in - pkg_add) - flags=( - "-n[don't really install packages]" - '-v[be verbose]' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '-A[do not record packages as installed manually]' - '-C[specify configuration file]:config file:_files' - '-D[force updating even if dependencies are not satisfied]' - '-f[force installation]' - "-I[don't execute installation scripts]" - '-K[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-m[specify machine architecture]:architecture:_netbsd_architectures' - '-P[specify destdir prefix]:destdir directory:_files -/' - '-p[specify prefix]:prefix directory:_files -/' - "-R[don't record]" - '-U[replace an already installed version]' - '-u[update]' - '-V[show version and exit]' - '*:package to install:_bsd_pkg_pkgfiles' - ) - ;; - openbsd*) - flags+=( - '-A+[arch to assume for any package tests]:architecture:_obsd_architectures' - '-a[do not record packages as installed manually]' - '-aa[force already installed packages to be tagged as installed automatically]' - '-B+[specify destdir prefix]:destdir directory:_files -/' - '-c[while replacing packages, delete extra configuration file in the old package]' - '*-D+[specify failsafe to waive]:failsafe:(( - allversions\:"do not trim older p* variants of packages for updates" - arch\:"architecture recorded in package may not match" - checksum\:"verify checksums before deleting or tying old files" - dontmerge\:"do not merge updates together if dependencies are too strict" - donttie\:"do not try to find new files in old packages by comparing the stored sha256" - downgrade\:"do not filter out package versions older than what is currently installed" - installed\:"in update mode, reinstall an existing package with the same update signature" - nonroot\:"install even if not running as root" - repair\:"attempt to repair installed packages with missing registration data" - scripts\:"external scripts may fail" - SIGNER\:"list of trusted signers, separated by commas" - snap\:"force %c and %m to expand to snapshots" - unsigned\:"allow the installation of unsigned packages without warnings/errors" - updatedepends\:"force update even if forward dependencies no longer match" - ))' - '-I[force non-interactive mode]' - '-i[force interactive mode]' - '-L+[specify a localbase]:localbase:_files -/' - '-l+[specify pkg_info output file to install]:pkg_info file:_files' - '-m[always display progress meter]' - '-P+[check distribution permissions]:permission type:(ftp)' - "-qq[don't check checksums]" - '-r[replace existing packages]' - "-s[don't install; just report disk size changes]" - '-U[update dependencies before installing]' - '-u[update the specified package or all if none given]' - '-V[turn on statistics output]' - '-x[disable progress meter]' - '-z[fuzzy package matching]' - ) - esac - - _arguments -s $flags[@] - ;; - - pkg_create) - case "$OSTYPE" in - netbsd*) - # NetBSD users, improve me! - flags=( - '*:package name:_bsd_pkg_pkgs' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - - pkg_delete) - flags=( - "-n[don't really deinstall packages]" - '-v[be verbose]' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '(:)-A[remove automatically installed packages that are no longer required]' - "-D[don't execute deinstallation scripts]" - '-F[specify each package by an installed file]' - '-f[force deinstallation]' - '-ff[force deinstallation even if preserved]' - '-K+[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-k[silently skip preserved packages]' - '-N[leave the files installed]' - "-O[only delete the package's entries]" - '-P+[specify destdir prefix]:destdir directory:_files -/' - '-p+[specify prefix]:prefix directory:_files -/' - '-R[delete upward recursively]' - '-r[delete recursively]' - '-V[show version and exit]' - '*:package name:_bsd_pkg_pkgs_and_files' - ) - ;; - openbsd*) - flags+=( - '-a[delete unused dependencies]' - '-B+[specify destdir prefix]:destdir directory:_files -/' - '*-D+[specify failsafe to waive]:failsafe:(( - baddepend\:"force deletion of packages even if they reference nonexistent dependencies" - checksum\:"verify checksums before deleting or tying old files" - dependencies\:"delete the set of packages that depend upon the requested packages" - nonroot\:"install even if not running as root" - scripts\:"external scripts may fail" - ))' - '-I[force non-interactive mode]' - '-i[force interactive mode]' - '-m[always display progress meter]' - "-qq[don't check checksums]" - "-s[don't install; just report disk size changes]" - '-V[turn on statistics output]' - '-X[delete everything, except the specified packages]' - '-x[disable progress meter]' - '*:package name:_bsd_pkg_pkgs_and_files' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - - pkg_info) - flags=( - '(:)-a[show all installed packages]' - '-c[show comment fields]' - '-d[show long descriptions]' - '-e+[test if package is installed]:package name:_bsd_pkg_pkgs' - '-f[show packing list instructions]' - '-I[show index lines]' - '-L[show full pathnames of files]' - '-l+[specify prefix string]:prefix string:' - '-q[be quiet]' - '-R[show list of installed requiring packages]' - '-s[show total size occupied by each package]' - '-v[be verbose]' - '(-a -A)*:package name:_bsd_pkg_pkgs_and_files' - ) - - case "$OSTYPE" in - netbsd*) - flags+=( - '-B[show build information]' - '-b[show RCS Id strings]' - '-D[show install-message files]' - '-F[specify each package by an installed file]' - '-i[show install scripts]' - '-K+[override PKG_DBDIR]:pkg_dbdir:_files -/' - '-k[show deinstall scripts]' - '-m[show mtree files]' - '-N[show which packages each package was built with]' - '-n[show which packages each package needs]' - '-p[show installation prefixes]' - '-Q+[show the definition of the specified variable from the build information]:variable:' - '-r[show list of installed requiring packages recursively]' - '-S[show total size occupied by each package and its dependents]' - '-u[show information for all user-installed packages]' - '-V[show version and exit]' - '-X[print summary information]' - ) - ;; - openbsd*) - flags+=( - '(:)-A[show all installed packages, including internal packages]' - '-C[show certificate information]' - '*-D+[specify failsafe to waive]:failsafe:(( - SIGNER\:"list of trusted signers, separated by commas" - snap\:"force %c and %m to expand to snapshots" - unsigned\:"allow the installation of unsigned packages without warnings/errors" - ))' - '-E[show the package that contains the specified file]:file:_files' - # XXX only with -L - '-K[prefix filenames with category keywords]' - '-M[show the install-message file]' - '-m[only show manual installations]' - '-P[show the pkgpath]' - '-Q+[show packages matching the specified query]:query:' - '-r+[check the list of packages for a specified pkgspec]:pkgspec:' - '-S[show the update signature]' - '-t[show packages not required by any other]' - '-U[show the deinstall-message file]' - '-z[fuzzy package matching]' - ) - ;; - esac - - _arguments -s $flags[@] - ;; - esac -} - -_bsd_pkg "$@" diff --git a/result/sw/share/zsh/5.9/functions/_bsdconfig b/result/sw/share/zsh/5.9/functions/_bsdconfig deleted file mode 100644 index f8825557..00000000 --- a/result/sw/share/zsh/5.9/functions/_bsdconfig +++ /dev/null @@ -1,63 +0,0 @@ -#compdef bsdconfig - -local -a shortcuts -shortcuts=( - api - 'console:utilities to customize the behavior of the system console' - 'defaultrouter:default router/gateway' - 'diskmgmt:manage disk partitions and/or labels using sade(8)' - 'docsinstall:install/reinstall FreeBSD documentation set(s)' - 'dot:generate a graphviz dot(1) language file(printed on stdout)' - 'groupadd:add groups' - 'groupdel:delete groups' - 'groupedit:edit/view groups' - 'groupmgmt:utilities to add/change/view/delete group accounts' - 'hostname:set hostname/domainname' - includes - 'kern_securelevel:set kern.securelevel variable' - 'mouse:utilities for configuring, exploring, and enabling console mouse support' - 'mouse_disable:disable mouse support' - 'mouse_enable:enable mouse support' - 'mouse_flags:set mouse daemon flags' - 'mouse_port:select mouse port' - 'mouse_type:select mouse type' - 'nameservers:DNS Nameservers menu under networking' - 'netdev:configure network interfaces' - 'networking:utilities for network related settings' - 'packages:browse, install, uninstall, or re-install packaged software' - 'password:set the system administrator (root) password' - 'security:configure various system security settings' - 'startup:configure various aspects of system startup' - 'startup_misc:miscellaneous startup services' - 'startup_rcadd:add directives to rc.conf(5)' - 'startup_rcconf:view/edit directives to rc.conf(5)' - 'startup_rcdelete:delete directives from rc.conf(5)' - 'startup_rcvar:toggle directives on/off' - 'syscons_font:select console font' - 'syscons_keymap:select console keymap' - 'syscons_repeat:set key repeat speed' - 'syscons_saver:select console screensaver' - 'syscons_screenmap:select console screenmap' - 'syscons_ttys:select console TTY type' - 'timezone:set the regional timezone of the local machine' - 'ttys:edit the ttys(5) database with your favorite editor' - 'useradd:add users' - 'userdel:delete users' - 'useredit:edit/view users' - 'usermgmt:utilities to add/edit/view/delete user accounts' - vt_font - vt_keymap - vt_repeat - vt_saver - vt_screenmap - vt_ttys -) - -_arguments -s -w -A '-*' : \ - '-d[debug mode]' \ - '-D[send debug info to file]: :{ compset -P 1 +; _files }' \ - '-f[load file as script then exit]: : _files' \ - '-h[display help information]' \ - '-S[secure X11 mode]' \ - '-X[use Xdialog(1)]' \ - '1:bsdconfig(8) menu:(( $shortcuts ))' diff --git a/result/sw/share/zsh/5.9/functions/_bsdinstall b/result/sw/share/zsh/5.9/functions/_bsdinstall deleted file mode 100644 index e0589d72..00000000 --- a/result/sw/share/zsh/5.9/functions/_bsdinstall +++ /dev/null @@ -1,46 +0,0 @@ -#compdef bsdinstall - -local -a _bsdinstall_targets -_bsdinstall_targets=( - 'auto:standard interactive installation, including disk partitioning' - "entropy:stores a small amount of data from /dev/random in the new system's root" - 'jail:sets up a new chroot system at destination, suitable for use with jail(8)' - 'script:run an installation script' - "keymap:set the keymap and save to the new system's rc.conf" - 'hostname:set the hostname for the new system' - 'netconfig:configure networking' - 'autopart:run the interactive guided disk partitioner' - 'zfsboot:run the interactive/scriptable ZFS partitioner' - 'scriptedpart:non-interactive partition setup' - 'mount:mount the file systems previously configured by autopart, partedit, or scriptedpart' - 'distfetch:fetches the distributions in DISTRIBUTIONS to BSDINSTALL_DISTDIR from BSDINSTALL_DISTSITE' - 'checksum:verifies the checksums of the distributions listed in DISTRIBUTIONS' - 'distextract:extracts the distributions listed in DISTRIBUTIONS into BSDINSTALL_CHROOT' - "rootpass:interactively invokes passwd(1) in the new system to set the root user's password" - 'adduser:interactively invokes adduser(8) in the new system' - 'time:interactively sets the time, date, and time zone of the new system' - 'services:queries the user for the system daemons to begin at system startup' - 'config:installs the configuration files destined for the new system' -) - -local context state state_descr line -typeset -A val_args -_arguments -A '-*' : \ - '-D[installation log file]: : _files' \ - '1: :->targets' \ - '*: :->args' - -case $state in - targets) _describe targets _bsdinstall_targets;; - args) - shift words - [[ $words[1] == '-D' ]] && shift 2 words - - case $words[1] in - jail) _files -/;; - script) _files;; - scriptedpart) _message "$words[1] parameters";; - *) _message "nothing to complete"; return 1;; - esac - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_btrfs b/result/sw/share/zsh/5.9/functions/_btrfs deleted file mode 100644 index 65cf067a..00000000 --- a/result/sw/share/zsh/5.9/functions/_btrfs +++ /dev/null @@ -1,448 +0,0 @@ -#compdef btrfs - -local curcontext="$curcontext" curstate state line expl grp cmd cont shift ret=1 -local -a cmds_1 cmds_2 cmds_3 cmds_4 cmds_5 cmds_6 cmds_7 cmds_8 cmds_9 cmds_10 -local -a groups args - -groups=( subvolume filesystem device scrub balance inspect-internal property - quota qgroup replace rescue check restore send receive - help version ) -cmds_1=( create delete list snapshot get-default set-default find-new show sync help ) -cmds_2=( df du show sync defragment resize label usage help ) -cmds_3=( add delete remove ready scan stats usage help ) -cmds_4=( start cancel resume status help ) -cmds_5=( start pause cancel resume status ) -cmds_6=( dump-{super,tree} {inode,logical,subvolid}-resolve min-dev-size rootid tree-stats help ) -cmds_7=( get set list ) -cmds_8=( enable disable rescan help ) -cmds_9=( assign remove create destroy show limit help ) -cmds_10=( start status cancel help ) -cmds_11=( chunk-recover fix-device-size super-recover zero-log create-control-device ) - -_arguments -C -A "-*" "$args[@]" \ - '(- *)--help[print help information]' \ - '(- *)--version[print version information]' \ - '(-v --verbose -q --quiet --help --version)'{-v,--verbose}'[verbose output of operation]' \ - '(-v --verbose -q --quiet --help --version)'{-q,--quiet}'[suppress all messages except errors]' \ - '(--help --version)--format=[specify output format]:format:(text json)' \ - '(--version)1: :->groups' \ - '2: :->cmds' \ - '*:: :->args' && ret=0 - -while (( $#state )); do - curstate=$state - shift state - case $curstate in - groups) - _wanted command-groups expl 'btrfs command group' compadd -a groups && ret=0 - ;; - cmds) - grp=${groups[(i)$words[2]*]} - (( grp && grp <= 16 )) || return 1 - cont=${groups[grp]} - curcontext="${curcontext%:*:*}:$service-${cont}:" - if (( grp <= 11 )); then - _wanted commands expl command compadd -a cmds_$grp && ret=0 - continue - fi - ;& - args) - if [[ $curstate != cmds ]]; then - grp=${groups[(i)$words[1]*]} - (( grp && grp <= 16 )) || return 1 - cont=${groups[grp]} - if (( grp <= 11 )); then - local group=cmds_$grp - local cmd=${${(P)group}[(i)$words[2]*]} - (( cmd )) || return 1 - cont+=:${${(P)group}[cmd]} - else - shift=1 - fi - curcontext="${curcontext%:*:*}:$service-${cont/:/-}:" - fi - args=( '(-)--help[print help information]' ) - case ${cont} in - (balance|replace):start|device:(add|delete|remove)|filesystem:resize) - args+=( - "--enqueue[wait if there's another exclusive operation running, otherwise continue]" - ) - ;| - subvolume:create) - args+=( - '*-i[add the newly created subvolume to a qgroup]:qgroup' - '1:destination:->mounts' - ) - ;; - subvolume:delete) - args+=( '!-v' '!--verbose' - '(-c --commit-after -C --commit-each)'{-c,--commit-after}'[wait for transaction commit at the end of the operation]' - '(-c --commit-after -C --commit-each)'{-C,--commit-each}'[wait for transaction commit after deleting each subvolume]' - '(-i --subvolid)'{-i+,--subvolid=}'[specify id of subvolume to be removed]:subvolume id' - '1:subvolume:_files -/' - ) - ;; - subvolume:snapshot) - args+=( - '-r[readonly snapshot]' - '*-i[assign to qgroup]:qgroup: _message "qgroup"' - '1:source directory:_files -/' - '2:snapshot name or destination:_files -/' - ) - ;; - subvolume:list) - args+=( - '-p[include parent ID in output]' - '-a[include all subvolumes]' - '-c[include ogeneration of the subvolume]' - '-g[include generation of the subvolume]' - '-o[include only subvolumes below the path]' - '-u[include UUID of subvolume]' - '-q[include parent UUID of subvolume]' - '-R[include the uuid of the received snapshots]' - '-t[print results as a table]' - '-s[list only snapshot subvolumes]' - '-r[list only readonly subvolumes]' - '-d[list deleted subvolumes that are not yet cleaned]' - '-G[subvolume generation is more or less than]:gen: _guard "(|+|-)[0-9]#"' - '-C[subvolume ogeneration is more or less than]:ogen: _guard "(|+|-)[0-9]#"' - '--sort=-[list in order]:order:_sequence compadd - rootid gen ogen path' - '1:path:->mounts' - ) - ;; - subvolume:set-default) args+=( '1:id:_guard "[0-9]#" id' '2:path:->mounts' );; - subvolume:show) - args+=( - '(-r --rootid)'{-r,--rootid}'[rootid of the subvolume]' - '(-u --uuid)'{-u,--uuid}'[uuid of the subvolume]' - '1:subvolume path:_directories' - ) - ;| - subvolume:sync) args+=( '-s[sleep between checks]:delay (seconds) [1]' );; - subvolume:find-new) args+=( '1:subvol:_files -/' '2:lastgen: _message "last gen"' );; - (device|filesystem|qgroup|subvolume):(df|du|show|usage)|scrub:status) - args+=( - '--iec[use 1024 as a base]' - '--si[use 1000 as a base]' - ) - ;| - (device|filesystem):(df|usage)|subvolume:show) - args+=( - '(-b --raw)'{-b,--raw}'[output raw numbers in bytes]' - '(-h --human-readable -H)'{-h,--human-readable}'[output human friendly numbers, base 1024]' - '(-h --human-readable -H)-H[output human friendly numbers, base 1000]' - '(-k --kbytes)'{-k,--kbytes}'[show sizes in KiB, or kB with --si]' - '(-m --mbytes)'{-m,--mbytes}'[show sizes in MiB, or MB with --si]' - '(-g --gbytes)'{-g,--gbytes}'[show sizes in GiB, or GB with --si]' - '(-t --tbytes)'{-t,--tbytes}'[show sizes in TiB, or TB with --si]' - ) - ;| - (filesystem|qgroup|scrub):(du|show|status)) - args+=( - '--raw[output raw numbers in bytes]' - '--human-readable[output human friendly numbers, base 1024]' - '--kbytes[show sizes in KiB, or kB with --si]' - '--mbytes[show sizes in MiB, or MB with --si]' - '--gbytes[show sizes in GiB, or GB with --si]' - '--tbytes[show sizes in TiB, or TB with --si]' - ) - ;| - filesystem:resize) args+=( '1: :_numbers -u bytes -N size K M G T P E' '2:path:->mounts' );; - filesystem:defragment) - args+=( '!-v' - '-r[defragment files recursively]' - '-c+[compress files while defragmenting]::compression algorithm:(zlib lzo zstd)' - '-r[defragment files recursively]' - '-f[flush after defragmenting]' - '-s[start position]: :_numbers -u bytes -d "beginning of file" offset K M G T P E' - '-l[defragment limited number of bytes]: :_numbers -u bytes length K M G T P E' - '-t[defragment only extents up to a certain size]: :_numbers -u bytes -d 32M "maximum extent size" K M G T P E' - '*:file:_files' - ) - ;; - filesystem:du) args+=( '(-s --summarize)'{-s,--summarize}'[display only a total for each argument]' );; - filesystem:label) args+=( '1:device:_files -g "*(-%)"' '2:new label' );; - filesystem:show) - args+=( - '(1 -)'{-d,--all-devices}'[scan all devices in /dev]' - '(1 -)'{-m,--mounted}'[show only mounted filesystems]' - '--raw[output raw numbers in bytes]' - '--human-readable[output human friendly numbers, base 1024]' - '1: :_guard "^-*" uuid or label' - ) - ;; - filesystem:usage) args+=( '-T[show data in tabular format]' );; - device:(add|delete|ready|remove)) - args+=( - '1:device:_files -g "*(-%)"' - '2:path:->mounts' - ) - [[ ${${(P)group}[cmd]} == add ]] && - args+=( - {-K,--nodiscard}"[don't perform whole device TRIM]" - {-f,--force}'[force overwrite of existing filesystem]' - ) - ;; - device:scan) - args+=( - '(-)'{-u,--forget}'[unregister all stale devices or a given device]' - '(1 -)'{-d,--all-devices}'[enumerate and register all devices]' - '1:device:_files -g "*(-%)"' - ) - ;; - device:stats) - args+=( - '(-c --check)'{-c,--check}'[return non-zero if any stat counter is not zero]' - '(-z --reset)'{-z,--reset}'[reset stats when done]' - "1:device or mountpoint:_files -g '*(-%,/)'" - ) - ;; - device:ready) args+=( '1:device: _files -g "*(-%)"' );; - scrub:(start|resume)) - args+=( '!-q' - "-B[don't background and print statistics at end]" - '-d[print separate statistics for each device]' - '-r[read only mode]' - '-R[raw print mode]' - '-c[set ioprio class]:class:(( 0\:none 1\:realtime 2\:best-effort 3\:idle))' - '-n[set ioprio classdata]:classdata:(0 1 2 3 4 5 6 7)' - '1:path or device:_files' - ) - [[ ${${(P)group}[cmd]} == start ]] && args+=( - '-f[force starting new scrub even if a scrub is already running]' - ) - ;; - scrub:cancel) args+=( '1: : _guard "^-*" "path or device"' );; - scrub:status) - args+=( - '-d[separate statistics for each device]' - '-R[print raw stats]' - '1:path or device:_files' - ) - ;; - balance:start) - args+=( '!-v' '!--verbose' - '(-m -s)-d+[act on data chunks]:filter:->filters' - '(-d -s)-m+[act on metadata chunks]:filter:->filters' - '(-d -m)-s+[act on system chunks (only under -f)]:filters:->filters' - '-f[force a reduction of metadata integrity]' - "--full-balance[don't print warning and don't delay start]" - '(--background --bg)'{--background,--bg}'[run balance operation asynchronously in the background]' - '1:path:_files -/' - ) - ;; - balance:status) args+=( '!-v' '!--verbose' '1:path:_files -/' );; - balance:(pause|cancel|resume)) args+=( '1:path:_files -/' );; - property:set) args+=( '3:value' );& - property:get) args+=( '2:property:(ro label compression)' );& - property:list) - args+=( - '-t[specify object type]:object type:(subvol filesystem inode device)' - '1: : _guard "^-*" object' - ) - ;; - quota:(enable|disable)) args+=( '1:path:_files -/' );; - quota:rescan) - args+=( - '-s[show status of currently running rescan]' - '-w[wait for rescan to finish]' - '1:path:_files -/' - ) - ;; - qgroup:(assign|remove)) - args+=( - \!--rescan - "--no-rescan[don't do a rescan, even if the quotas may become inconsistent]" - '1:source path:_files -/' - '2:destination path:_files -/' - '3:path:_files -/' - ) - ;; - qgroup:(create|destroy)) args+=( '1:qgroupid:' '2:path:_files -/' );; - qgroup:show) - args+=( - '-p[print parent qgroup id]' - '-c[print child qgroup id]' - '-r[print max referenced size of qgroup]' - '-e[print max exclusive size of qgroup]' - '-F[list impacted qgroups \(include ancestral qgroups\)]' - '-f[list impacted qgroups \(exclude ancestral qgroups\)]' - '--sort=-[sort qgroups]:sort:_values -s , sort \ - qgroupid rfer excl max_rfer max_excl' - '--sync[do filesystem sync before getting information]' - '1:path:_files -/' - ) - ;; - qgroup:limit) - args+=( - '-c[limit amount of data after compression]' - '-e[limit space exclusively to qgroup]' - ': :_guard "^-*" "size or none"' - ':qgroup id or path:_files -/' - ':path:_files -/' - ) - ;; - replace:start) - args+=( - '-r[read from specified source device only]:srcdev:_files' - '-f[force overwriting of target]' - "-B[don't background]" - ':srcdev or devid:_files' - ':target:_files' - ':path:->mounts' - ) - ;; - replace:status) args+=( '-1[print once rather than continuously]' ':path:->mounts' );; - replace:cancel) args+=( ':path:->mounts' );; - inspect*:dump-tree) - args+=( - '(-e --extents)'{-e,--extents}'[print only extent info: extent and device trees]' - '(-d --device)'{-d,--device}'[print only device info: tree root, chunk and device trees]' - '(-r --roots)'{-r,--roots}'[print only short root node info]' - '(-R --backups)'{-R,--backups}'[same as --roots plus print backup root info]' - '(-u --uuid)'{-u,--uuid}'[print only the uuid tree]' - \*{-b,--block}'[print info from the specified block only]:block number' - '(-t --tree)'{-t,--tree}'[print only tree with the given id (string or number)]:tree id' - '--follow[use with -b, to show all children tree blocks of the block]' - "--noscan[don't scan devices from the filesystem, use only the listed ones]" - '!(--dfs)--bfs' - '--dfs[depth-first traversal of the trees]' - '--hide-names[hide filenames/subvolume/xattrs and other name references]' - '--csum-headers[print node checksums stored in headers (metadata)]' - '--csum-items[print checksums stored in checksum items (data)]' - ) - ;; - inspect*:dump-super) - args+=( \!-s:byte\ number '!-i:super:(0 1 2)' - '(-f --full)'{-f,--full}'[print full superblock information, backup roots etc.]' - '(-a --all)'{-a,--all}'[print information about all superblocks]' - '(-s --super)'{-s,--super}'[specify which copy to print out]:super:(0 1 2)' - '(-F --force)'{-F,--force}'[attempt to dump superblocks with bad magic]' - '--bytenr[specify alternate superblock offset]:offset' - ) - ;; - inspect*:inode*) args+=( '!-v' '1:inode:_files' '2:path:_files -/' );; - inspect*:subvol*) args+=( '!-v' '1:subvolid:_guard "[0-9]#" subvolume id' '2:path:_files -/' );; - inspect*:logical*) - args+=( '!-v' - '-P[skip the path resolving and print the inodes instead]' - '-o[ignore offsets when matching references]' - '-s[specify buffer size]:buffer size [4096]' - '1:logical address:_files' - '2:filesystem path:_files -/' - ) - ;; - inspect*:min*) args+=( '--id[specify the device id to query]:device id [1]' );; - inspect*:rootid) args+=( '1:path:_files -/' );; - inspect*:tree*) args+=( '-b[print raw numbers in bytes]' );; - rescue:(chunk|super)-recover) - args+=( '!-v' - '-y[assume yes to every question]' - '1:device:_files' - ) - [[ ${${(P)group}[cmd]} == chunk-recover ]] && args+=('(-)-h[display help]') - ;; - subvolume:get-default) ;& - *:sync) ;& - *:df) args+=( '1:path:->mounts' );; - check) - args+=( \!--readonly - '(-s --super)'{-s,--super}'[specify superblock]:superblock' - '(-b --backup)'{-b,--backup}'[use the backup root copy]' - '(-r --tree-root)'{-r,--tree-root}'[use specified byte number for the tree root]:byte number' - '--chunk-root[ use the given offset for the chunk tree root]:byte offset' - '--repair[try to repair the filesystem]' - '--force[skip mount checks, repair is not possible]' - '--mode[select memory/IO trade-off]:mode:(original lowmem)' - '--init-csum-tree[create a new CRC tree]' - '--init-extent-tree[create a new extent tree]' - '--clear-space-cache[clear space cache for v1 or v2]:version:(v1 v2)' - '--check-data-csum[verify checksums of data blocks]' - '(-Q --qgroup-report)'{-Q,--qgroup-report}'[verify qgroup accounting and compare against filesystem accounting]' - '(-E --subvol-extents)'{-E,--subvol-extents}'[show extent state for the given subvolume]:subvolume id' - '(-p --progress)'{-p,--progress}'[indicate progress at various checking phases]' - '1:path:_files -/' - ) - ;; - restore) - args+=( '!-v' '!--verbose' - '(-s --snapshots)'{-s,--snapshots}'[get snapshots]' - '(-x --xattr)'{-x,--xattr}'[restore extended attributes]' - '(-m --metadata)'{-m,--metadata}'[restore owner, mode and times]' - '(-S --symlink)'{-S,--symlink}'[restore symbolic links]' - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors]' - '(-o --overwrite)'{-o,--overwrite}'[overwrite directories and files]' - '-t[specify tree location]:tree root' - '-f[specify filesystem location]:byte offset' - '(-u --super)'{-u,--super}'[use specified superblock mirror]:mirror:(0 1 2)' - '(-r --root)'{-r,--root}'[specify root objectid]:root id' - '-d[find directory]' - '(-l --list-roots)'{-l,--list-roots}'[list tree roots]' - '(-D --dry-run)'{-D,--dry-run}'[dry run (only list files that would be recovered)]' - '--path-regex[restore only filenames matching regex]:regex' - '-c[ignore case (--path-regex only)]' - '1:device:_files -/' - '2:path:_files -/' - ) - ;; - send|receive) - args+=( '!-q' '!--quiet' ) - ;| - send) - args+=( '!-v' - '-e[if sending multiple subvolumes at once, use the new format]' - '-p[send incremental stream]:parent:_files -/' - '*-c[use snapshot as clone source]:clone:_files -/' - '-f[specify output file]:file:_files' - '--no-data[send in NO_FILE_DATA mode]' - '1:subvolume:_files -/' - ) - ;; - receive) - args+=( '!-v' - '-f[input file]:file: _files' - '-e[terminate after <end cmd>]' - '(-C --chroot)'{-C,--chroot}'[confine the process to destination path using chroot(1)]' - '(-E --max-errors)'{-E,--max-errors}'[terminate as soon as specified number of errors occur]:errors [1]' - '(--dump)-m[specify root mount point of the destination filesystem]:mount point:_directories' - '(-m)--dump[dump stream metadata, one line per operation]' - '1:mount:->mounts' - ) - ;; - h(|e(|l(|p)))) args+=( - '--full[display detailed help on every command]' - '--box[show list of built-in tools (busybox style)]' - ) - ;; - *) args+=( '*: :_default' );; # fallback for unknown subcommands - esac - if ! (( shift )); then - shift words - (( CURRENT-- )) - fi - _arguments -C "$args[@]" && ret=0 - ;; - mounts) - _wanted mount-points expl 'mount point' compadd \ - ${${${(M)${(f)"$(</etc/mtab)"}:#*btrfs*}#* }%% *} && ret=0 - ;; - filters) - state=() - _values -s , filter \ - 'profiles[balance only block groups in given replication profiles]:profile:->profiles' \ - 'usage[balance block groups with usage below percentage]:percentage' \ - 'devid[limit by device ID]:device ID' \ - 'drange[balance block groups overlapping byte range]:range' \ - 'vrange[balance block groups overlapping byte range in virtual address space]:range' \ - 'convert[convert block groups to given profile]:profile:->profiles' \ - 'soft[leave chunks that already have target profile]' && ret=0 - state=( $state ) - ;; - profiles) - compset -P '*\|' - _values -s ',' profile raid0 raid1 raid5 raid6 raid10 dup single && ret=0 - ;; - esac -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_bts b/result/sw/share/zsh/5.9/functions/_bts deleted file mode 100644 index 70b95ef9..00000000 --- a/result/sw/share/zsh/5.9/functions/_bts +++ /dev/null @@ -1,291 +0,0 @@ -#compdef bts - -local expl first=1 - -_arguments -A "-*" \ - '(-o --offline)'{-o,--offline}'[use cached bugs]' \ - '(--online --no-offline)'{--online,--no-offline}'[do not use cached bugs]' \ - '(--cache --no-cache)--cache[cache new versions of pages]' \ - '(--cache --no-cache)--no-cache[do not cache new versions of pages]' \ - '--cache-mode=:cache mode:(min mbox full)' \ - '--cache-delay=:seconds:' \ - '--mbox[open a mail reader to read the corresponding mbox]' \ - '--mailreader=:reader:' \ - '(-f --force-refresh)'{-f,--force-refresh}'[download bug report even if unchanged]' \ - '-no-force-refresh[do not force refresh]' \ - '(-q --quiet)*'{-q,--quiet}'[only display info about newly cached pages]' \ - '(--no-conf --noconf)*'{--no-conf,--noconf}'[do not read any config files]' \ - '*:subcommand and args:->subcmds' && return 0 - -compset -N '-[^0-9]##' && first=0 -compset -N '[,.]' && first=0 -[[ $first -eq 0 ]] || compset -n 2 - -if [[ CURRENT -eq 1 ]]; then - _wanted cmd expl 'bts command' compadd show bugs reopen retitle \ - reassign merge unmerge tag tags severity forwarded notforwarded help \ - clone submitter found notfound block unblock user usertag usertags \ - package owner noowner reportspam cache cleancache claim unclaim \ - subscribe unsubscribe fixed notfixed affects spamreport status \ - select done archive unarchive summary forcemerge limit listcachedbugs \ - version - return -fi - -case "$words[1]" in - (unmerge|notforwarded|noowner|reportspam|spamreport|archive|unarchive) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (show|bugs) - if [[ CURRENT -eq 2 ]]; then - _alternative \ - 'packages:package:_deb_packages avail' \ - 'emails:package maintainer:compadd $DEBEMAIL' \ - 'bugnum:bug number:_debbugs_bugnumber' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - reopen) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted submitter expl 'new submitter' compadd -- $DEBEMAIL - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - retitle) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _message -e submitter 'new title' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - reassign) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted submitter expl 'new package' _deb_packages avail - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (status) - # TODO: some additional syntaxes aren't being completed. - ;& - (merge|forcemerge) - _debbugs_bugnumber - if [[ CURRENT -gt 2 ]]; then - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - tags#) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - elif [[ CURRENT -eq 4 ]]; then - _wanted tag expl 'tag' \ - compadd patch wontfix moreinfo unreproducible help pending \ - fixed security upstream confirmed fixed-upstream \ - fixed-in-experimental d-i ipv6 lfs l10n potato woody sarge \ - sarge-ignore etch etch-ignore lenny lenny-ignore squeeze \ - squeeze-ignore wheezy wheezy-ignore sid experimental - else - _wanted tag expl 'tag' \ - compadd patch wontfix moreinfo unreproducible help pending \ - fixed security upstream confirmed fixed-upstream \ - fixed-in-experimental d-i ipv6 lfs l10n potato woody sarge \ - sarge-ignore etch etch-ignore lenny lenny-ignore squeeze \ - squeeze-ignore wheezy wheezy-ignore sid experimental - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - severity) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted severity expl 'severity' \ - compadd wishlist minor normal serious important critical grave - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - forwarded) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted upstream expl 'upstream email' _email_addresses -c - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (clone) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 || -prefix [-] ]]; then - _wanted newid expl 'new ID' compadd -- -{1..9} - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (submitter) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - else - _alternative \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'email:email address:_email_addresses -c' \ - 'bang:bang:compadd \!' - fi - ;; - (owner|subscribe|unsubscribe) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _alternative \ - 'email:email address:_email_addresses -c' \ - 'bang:bang:compadd \!' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (found|notfound|fixed|notfixed) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _message -e version 'version' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (block|unblock) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted prep expl 'preposition' compadd by with - else - _alternative \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'separator:separator:compadd -S " " , .' - fi - ;; - (user) - if [[ CURRENT -eq 2 ]]; then - _wanted upstream expl 'user email for usertags' _email_addresses -c - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (usertags#) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - elif [[ CURRENT -eq 4 ]]; then - _message -e usertag 'user tag' - else - _message -e usertag 'user tag' - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (package) - if [[ CURRENT -eq 2 ]]; then - _wanted package expl 'package' _deb_packages avail - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (cache) - _alternative \ - 'source-packages:source package:_deb_packages -P "src:" source' \ - 'package:binary package:_deb_packages avail' \ - 'email:email address:_email_addresses -c -P "from:"' \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'rc:rc:compadd release-critical' - ;; - (cleancache) - _alternative \ - 'source-packages:source package:_deb_packages -P "src:" source' \ - 'package:binary package:_deb_packages avail' \ - 'email:email address:_email_addresses -c -P "from:"' \ - 'bugnum:bug number:_debbugs_bugnumber' \ - 'all:all:compadd ALL' - ;; - (claim|unclaim) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _alternative \ - 'email:email address:_email_addresses -c' \ - 'separator:separator:compadd -S " " , .' - else - _wanted sep expl 'separator' compadd -S ' ' , . - fi - ;; - (affects) - if [[ CURRENT -eq 2 ]]; then - _debbugs_bugnumber - elif [[ CURRENT -eq 3 ]]; then - _wanted operator expl 'operator' compadd - '+' '-' '=' - else - _wanted package expl 'package' _deb_packages avail - fi - ;; - (summary) - case $CURRENT in - (2) _debbugs_bugnumber;; - (3) _message -e message-number 'message number';& - (4) _wanted sep expl 'separator' compadd -S ' ' , .;; - esac - ;; - (close|done) - case $CURRENT in - (2) _debbugs_bugnumber;; - (3) _message -e version 'version';& - (4) _wanted sep expl 'separator' compadd -S ' ' , .;; - esac - ;; - (select) - _values -S : -w "select field" \ - '*package[binary package]: :_deb_packages avail' \ - '*source[source package]: :_deb_packages source' \ - '*maintainer:email address of the maintainer:_email_addresses -c' \ - '*submitter:email address of the submitter:_email_addresses -c' \ - '*severity:severity:(wishlist minor normal important serious grave critical)' \ - '*tag[tags applied to the bug]:tags:' \ - '*owner:owner:_email_addresses -c' \ - '*correspondent:email address of a correspondent:_email_addresses -c' \ - '*affects:affected package:_deb_packages avail' \ - '*users:namespaces of usertags:_email_addresses -c' \ - '*archive:whether to search archived bugs:((0:no 1:yes both:both))' - # undocumented: bugs - _wanted sep expl 'separator' compadd -S ' ' , . - ;; - (limit) - _values -S : -w "limit field" \ - '*submitter[email address of the submitter]:submitter:_email_addresses -c' \ - '*date[bug submission timestamp]:unix timestamp' \ - '*subject[subject of the bug]:bug subject:' \ - '*msgid[message-id of the initial bug report]:message-id:' \ - '*package[binary package]: :_deb_packages avail' \ - '*source[source package]: :_deb_packages source' \ - '*tag[tags applied to the bug]:tags:' \ - '*severity:severity:(wishlist minor normal important serious grave critical)' \ - '*owner:owner:_email_addresses -c' \ - '*affects:affected package:_deb_packages avail' \ - '*archive:whether to search archived bugs:((0:no 1:yes both:both))' - _wanted sep expl 'separator' compadd -S ' ' , . - ;; - help) - ;& - *) _wanted sep expl 'separator' compadd -S ' ' , . - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_bug b/result/sw/share/zsh/5.9/functions/_bug deleted file mode 100644 index 436d294f..00000000 --- a/result/sw/share/zsh/5.9/functions/_bug +++ /dev/null @@ -1,109 +0,0 @@ -#compdef bug reportbug querybts - -local _bug_commonargs _rb_commonargs - -_bug_commonargs=( - '-d[debug: send mail to postmaster@localhost]' - '-m[maintainer-only]' - '-p[print to stdout instead of mail]' - '-h[help]' -) - -_rb_commonargs=( - '(-B --bts)'{-B,--bts=}'[use alternate BTS]:system:(debian gnome kde tdyc kde-debian)' - '(-l --ldap)'{-l,--ldap}'[enable LDAP support]' - '(-l --ldap)--no-ldap[disable LDAP support]' - '(--proxy --http_proxy)'--{http_,}'proxy=:proxy host:_hosts' -) - -case "$service" in - bug) - _arguments \ - '-c[exclude configs from report]' \ - '-f[argument is a file, not a package]' \ - '-H[special header]:custom header:' \ - '-q[quiet - no e-mail forwarding]' \ - '-s[set subject]:subject:' \ - '-S[set severity]:severity:(wishlist normal important serious grave critical)' \ - '-v[version]' \ - '-x[do not cc submitter]' \ - '-z[send configs verbatim]' \ - '*:package:_deb_packages installed' \ - "$_bug_commonargs[@]" - ;; - reportbug) - _arguments \ - '(-c --no-config-files)'{-c,--no-config-files}'[exclude configs from report]' \ - '(-f --filename)'{-f,--filename=}'[argument is a file, not a package]:filename:_files' \ - '(-H --header)'{-H,--header=}'[special header]:custom header' \ - '(-s --subject)'{-s,--subject=}'[set subject]:subject' \ - '(-S --severity)'{-S,--severity=}'[set severity]:severity:(wishlist normal important serious grave critical)' \ - '(-x --no-cc)'{-x,--no-cc}'[do not cc submitter]' \ - '(-z --no-compress)'{-z,--no-compress}'[send configs verbatim]' \ - '(-a --af)'{-a,--af}'[use af instead of editor]' \ - '(-g --gpg --gnupg)'{-g,--gpg,--gnupg}'[sign report with GnuPG]' \ - '(-i --include)'{-i,--include}'[include text]:include file:_files' \ - '(-A --attach)'{-A,--attach=}'[attach file]:attachment:_files' \ - '(-M --mutt)'{-M,--mutt}'[use mutt instead of editor]' \ - '(-G --gnus)'{-G,--gnus}'[use GNUS instead of editor]' \ - '(-e --editor)'{-e,--editor=}'[use specified editor instead of editor]:editor' \ - '--mua=[use specified mua instead of editor]' \ - '--mta=[use specified mta]' \ - '(-n --nmh --mh)'{-n,--nmh,--mh}'[use comp instead of editor]' \ - '(-o --output)'{-o,--output=}'[output to file instead of mail]:output file:_files' \ - '(-P --pgp)'{-P,--pgp}'[sign report with PGP]' \ - '(-C --class)'{-C,--class=}':GNATS report class' \ - '--realname=:real name' \ - '(--replyto)--reply-to=' \ - '(--reply-to)--replyto=' \ - '--email=:originating address:_email_addresses' \ - '--smtphost=:SMTP server:_hosts' \ - '(-p --print)'{-p,--print}'[print to stdout instead of mail]' \ - '(-q --quiet)'{-q,--quiet}'[reduce verbosity of output]' \ - '(--no-query-source)--query-source' \ - '(--query-source)--no-query-source' \ - '(--no-debconf)--debconf' \ - '(--debconf)--no-debconf' \ - '(-Q --query-only)'{-Q,--query-only}'[do not submit]' \ - '(-j --justification)'{-j,--justification=}':justification' \ - '(-V --package-version)'{-V,--package-version=}':package version' \ - '(-u --interface)'{-u,--interface=}':user interface' \ - '(-t --type)'{-t,--type=}':type of report' \ - '--template[output a template report only]' \ - '--configure[reconfigure reportbug for this user]' \ - '(--no-check-available)--check-available' \ - '(--check-available)--no-check-available' \ - '--mode=' \ - '(-v --verify --no-verify)'{-v,--verify}'[verify integrity with debsums]' \ - '(--verify -v)--no-verify' \ - '(-k --kudos)'{-k,--kudos}'[send appreciative email to maintainer]' \ - '--mirror=:BTS mirror:_hosts' \ - '--list-cc=:carbon copy:' \ - '--report-quiet' \ - '(-O --offline)'{-O,--offline}'[disable external queries]' \ - '(-b --no-query-bts --query-bts)'{-b,--no-query-bts}'[do not query BTS]' \ - '(-b --no-query-bts)--query-bts' \ - '(-T --tags)'{-T,--tags=}'[add specified tags]:tags' \ - '(-m)--maintonly' \ - '(-d)--debug' \ - '--version' \ - '--license' \ - '(--no-paranoid)--paranoid' \ - '(--paranoid)--no-paranoid' \ - '--body=:message body string' \ - '--body-file=:message body file:_files' \ - '*:package: _alternative "packages::_deb_packages installed" "files::{ [[ \$PREFIX[1] == / ]] && _files }"' \ - "$_bug_commonargs[@]" \ - "$_rb_commonargs[@]" - ;; - querybts) - _arguments \ - '(-w --web)'{-w,--web}'[launch external web browser]' \ - '(-A --archive)'{-A,--archive}'[browse archived bugs]' \ - '(-s --source)'{-s,--source}'[query for source packages rather than binary]' \ - '(-v --version)'{-v,--version}'[show version]' \ - "$_rb_commonargs[@]" \ - '*:a package name or bug numbers:_deb_packages avail' - # TODO: could call _debbugs_bugnumber here. - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_builtin b/result/sw/share/zsh/5.9/functions/_builtin deleted file mode 100644 index ffb7b8c8..00000000 --- a/result/sw/share/zsh/5.9/functions/_builtin +++ /dev/null @@ -1,11 +0,0 @@ -#compdef builtin - -if (( $CURRENT > 2 )); then - shift words - (( CURRENT -- )) - _normal -p $service -else - local expl - - _wanted commands expl 'builtin command' compadd "$@" -k builtins -fi diff --git a/result/sw/share/zsh/5.9/functions/_bzip2 b/result/sw/share/zsh/5.9/functions/_bzip2 deleted file mode 100644 index c175e5c9..00000000 --- a/result/sw/share/zsh/5.9/functions/_bzip2 +++ /dev/null @@ -1,50 +0,0 @@ -#compdef bzip2 bunzip2 bzcat=bunzip2 bzip2recover -redirect-,<,bunzip2=bunzip2 -redirect-,>,bzip2=bunzip2 -redirect-,<,bzip2=bzip2 - -local decompress expl state line curcontext="$curcontext" ret=1 -typeset -A opt_args - -case "$service" in - bzip2recover) [[ $CURRENT = 2 ]] && state=files;; - bzip2) decompress=no;& - bunzip2) _arguments -C -s -S \ - '(- *)'{-h,--help}'[display help message]' \ - '(-d --decompress --compress -z --test -t)'{-d,--decompress}'[decompress]' \ - '(-z --compress --decompress -d --test -t)'{-z,--compress}'[compress]' \ - '(-k --keep)'{-k,--keep}"[keep (don't delete) input files]" \ - '(-f --force)'{-f,--force}'[force overwrite]' \ - '(-t --test --decompress -d --compress -z)'{-t,--test}'[test compressed file integrity]' \ - '(-c --stdout)'{-c,--stdout}'[write on standard output]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all warnings]' \ - \*{-v,--verbose}'[verbose mode]' \ - '(- *)'{-L,--license}'[display software license]' \ - '(- *)'{-V,--version}'[display version number]' \ - '(--small -s)'{-s,--small}'[reduce memory usage (at most 2500k)]' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9 --fast )--best' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9 --best)--fast' \ - '( -2 -3 -4 -5 -6 -7 -8 -9 --fast --best)-1' \ - '(-1 -3 -4 -5 -6 -7 -8 -9 --fast --best)-2' \ - '(-1 -2 -4 -5 -6 -7 -8 -9 --fast --best)-3' \ - '(-1 -2 -3 -5 -6 -7 -8 -9 --fast --best)-4' \ - '(-1 -2 -3 -4 -6 -7 -8 -9 --fast --best)-5' \ - '(-1 -2 -3 -4 -5 -7 -8 -9 --fast --best)-6' \ - '(-1 -2 -3 -4 -5 -6 -8 -9 --fast --best)-7' \ - '(-1 -2 -3 -4 -5 -6 -7 -9 --fast --best)-8' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 --fast --best)-9' \ - '*:files:->files' && ret=0 - ;; -esac - -if [[ "$state" = files ]]; then - (( $+opt_args[-z] || $+opt_args[--compress] )) && decompress=no - (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[-t] || - $+opt_args[--test] )) && unset decompress - if [[ -z "$decompress" ]]; then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.(bz2|tbz|tbz2)(-.)' && return - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(bz2|tbz|tbz2)(-.)' && return - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_bzr b/result/sw/share/zsh/5.9/functions/_bzr deleted file mode 100644 index 121c2816..00000000 --- a/result/sw/share/zsh/5.9/functions/_bzr +++ /dev/null @@ -1,426 +0,0 @@ -#compdef bzr - -# bzr is the bazaar-ng revision-control system - -local curcontext="$curcontext" state line expl cmd args ret=1 -typeset -A opt_args - -_arguments -C \ - '1: :->cmd' \ - '*:: :->args' && ret=0 - -if (( ! $+_bzr_cmds )); then - typeset -gH _bzr_cmds - _bzr_cmds=(${(f)"$(_call_program subcommands bzr shell-complete)"}) -fi - -if [[ $state != 'args' ]]; then - _describe -t subcommands 'subcommand' _bzr_cmds - return -fi - -cmd="$words[1]" -curcontext="${curcontext%:*:*}:bzr-$cmd:" - -(( $+functions[_bzr_unknownFiles] )) || -_bzr_unknownFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --unknown -R)"}) - compadd -af fileList -} - -(( $+functions[_bzr_unknownRoot] )) || -_bzr_unknownRoot() { - local -a fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --from-root --unknown)"}) - compadd -af fileList -} - -(( $+functions[_bzr_versionedFiles] )) || -_bzr_versionedFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr ls --null --versioned -R)"}) - compadd -af fileList -} - -(( $+functions[_bzr_modifiedFiles] )) || -_bzr_modifiedFiles() { - local fileList - fileList=(${(ps:\0:)"$(_call_program files bzr status . --versioned --short | cut -b 5- | tr '\n' '\0')"}) - compadd -af fileList -} - -(( $+functions[_bzr_completeParents] )) || -_bzr_completeParents() { - local parentFile=$(_call_program parents bzr root)/.bzr/branch/parent - [[ -r $parentFile ]] && _wanted parents expl parent compadd -- $(<$parentFile) -} - -args=( '(-)'{--help,-h}'[show help message]' ) - -case $cmd in -(add) - args+=( - '--dry-run[show what would be added without adding anything]' - '--no-recurse[do not recurse into subdirectories]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:unknown file:_bzr_unknownFiles' - ) - ;; - -(annotate|blame|praise) - args+=( - '--all[show annotations on all lines]' - '--long[show date in annotations]' - '(-r --revision)'{--revision=,-r}'[the revision to show]:rev:' - '*:file:_bzr_versionedFiles' - ) - ;; - -(branch|get|clone) - args+=( - '(-r --revision)'{--revision=,-r}'[the revision to get]:rev:' - '--basis=[specify basis branch]:basis:' - ) - if (( CURRENT == 2 )); then - args+=( '*:FROM_LOCATION:_files -/' ) - elif (( CURRENT == 3 )); then - args+=( '*:TO_LOCATION:_files -/' ) - fi - ;; - -(checkout|co) - args+=( - '--lightweight[perform a lightweight checkout]' - '(-r --revision)'{--revision=,-r}'[the revision to get]:rev:' - ) - _bzr_completeParents && ret=0 - ;; - -(rename|move|mv) - if (( CURRENT == 2 )); then - args+=( '*:file:_bzr_versionedFiles' ) - else - args=( '*:destination dir:_files -/' ) - fi - ;; - -(cat) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:rev:' - '*:file:_bzr_versionedFiles' - ) - ;; - -(root) - args+=( '*:file:_files' ) - ;; - -(log) - args+=( - '--forward[reverse direction of revisions]' - '(-l --long --short --log_format)--line[use log format with one line per revision. Same as "--log-format line"]' - '(-l --long --short --line)--log-format=[use the specified log format]:log format:(line short long)' - '(-l --long --short --line --log-format)'{--long,-l}'[use detailed log format. Same as "--log-format long"]' - '(-l --long --log_format)--short[use moderately short log format. Same as "--log-format short"]' - '(-m --message)'{--message=,-m}'[specify regexp]:regexp:' - '(-r --revision)'{--revision=,-r}'[revision or range]:rev or rev range:' - '--show-ids[show file IDs]' - '--timezone=[specify timezone for dates]:timezone:' - '(-v --verbose)'{--verbose,-v}'[show revision manifest]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(resolve|resolved) - args+=( - '--all[resolve all conflicts in this tree]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(status|st|stat) - args+=( - '--all[include unchanged versioned files]' - '(-r --revision)'{--revision=,-r}'[compare working tree with revision]:revision:' - '--show-ids[show file IDs]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(check) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:DIR:_files -/' - ) - ;; - -(mkdir|renames|update) - args+=( '*:DIR:_files -/' ) - ;; - -(init|upgrade) - args+=( - '--format=[format for repository]:format:(default knit metaweave weave)' - '*:DIR:_files -/' - ) - ;; - -(init-repo|init-repository) - args+=( - '--format=[format for repository]:format:(default knit metaweave weave)' - '--trees[allows branches in repository to have a working tree]' - '*:DIR:_files -/' - ) - ;; - -(remove|rm) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:file:_bzr_versionedFiles' - ) - ;; - -(pull) - args+=( - '--overwrite[ignore differences, overwrite unconditionally]' - '--remember[remember the specified location as a default]' - '(-r --revision)'{--revision=,-r}'[get a particular revision]:revision:' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(missing) - args+=( - '(-l --long --short --log_format)--line[use log format with one line per revision. Same as "--log-format line"]' - '(-l --long --short --line)--log-format=[use the specified log format]:log format:(line short long)' - '(-l --long --short --line --log-format)'{--long,-l}'[use detailed log format. Same as "--log-format long"]' - '(-l --long --log_format)--short[use moderately short log format. Same as "--log-format short"]' - '--mine-only[display changes in the local branch only]' - '--reverse[reverse the order of revisions]' - '--show-ids[show internal object ids]' - '--theirs-only[display changes in the remote branch only]' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(commit|checkin|ci) - args+=( - '(-F --file)'{--file=,-F}'[commit message from file]:message file:' - '--local[perform a local only commit in a bound branch]' - '(-m --message)'{--message=,-m}'[commit message]:message text:' - '--strict[refuse to commit if there are unknown files]' - '--unchanged[include unchanged files]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:modified file:_bzr_modifiedFiles' - ) - ;; - -(shelve) - args+=( - '--destroy[Destroy removed changes instead of shelving them]' - '(-m --message)'{--message=,-m}'[shelve message]:message text:' - '--all[shelve all changes]' - '(-q --quiet)'{--quiet,-q}'[be quiet]' - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:modified file:_bzr_modifiedFiles' - ) - ;; - -(bind|break-lock|reconcile) - _bzr_completeParents && ret=0 - ;; - -(register-branch) - args+=( - '--author=[email of the branch author, if not you]:email:' - '--branch-description=[longer description of the branch]:description:' - '--branch-name=[short name for the branch]:name:' - '--branch-title=[one-sentence description of the branch]:title:' - '--dry-run[prepare the request but do not actually send it]' - '--link-bug=[the bug this branch fixes]:bug-ID:' - '--product=[launchpad product short name to associate with the branch]:product:' - ) - _bzr_completeParents && ret=0 - ;; - -(remerge) - args+=( - '--merge-type=[the type of the merge]:type:' - '--reprocess[reprocess to reduce spurious conflicts]' - '--show-base[show base revision text in conflicts]' - ) - _bzr_completeParents && ret=0 - ;; - -(conflicts|added|deleted|modified|unknowns|directories|ignored|unbind|nick|revno|version) - ;; - -(whoami) - args+=( '--email[only show e-mail address]' ) - ;; - -(inventory) - args+=( - '--kind=[limit output by type]:kind:(file directory symlink)' - '(-r --revision)'{--revision=,-r}'[show inventory of a revision]:revision:' - '--show-ids[show file IDs]' - ) - ;; - -(diff|dif|di|cdiff) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--diff-options=[options to pass to gdiff]:diff options:' - '(-p --prefix)'{--prefix,-p}'[set prefix added to old and new filenames]' - '*:file:_files' - ) - ;; - -(export) - args+=( - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--format=[format of exported file]:format:(dir tar tgz tbz2)' - '--root=[root directory of patch]:_files -/' - '*:destination:_files' - ) - ;; - -(ignore) - args+=( '*:NAME_PATTERN:_bzr_unknownRoot' ) - ;; - -(info) - args+=( - '(-v --verbose)'{--verbose,-v}'[display more information]' - '*:branch:_files -/' - ) - ;; - -(testament) - args+=( - '(-l --long)'{--long,-l}'[use long format]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '*:branch:_files -/' - ) - ;; - -(revert|merge-revert) - args+=( - '--no-backup[skip generation of backup~ files]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '*:file:_bzr_modifiedFiles' - ) - ;; - -(merge) - args+=( - '--force[ignore uncommitted changes]' - '--merge-type:merge type:(diff3 merge3 weave)' - '--remember[remember the specified location as a default]' - '--reprocess[reprocess to reduce spurious conflicts]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--show-base[show base revision text in conflicts]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(ls) - args+=( - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '(-r --revision)'{--revision=,-r}'[revision]:revision:' - '--from-root[print all paths from the root of the branch]' - '--non-recursive[do not recurse into subdirectories]' - '--null[null separate the files]' - '--ignored[print ignored files]' - '--unknown[print unknown files]' - '--versioned[print versioned files]' - ) - ;; - -(switch) - args+=( - '--force[switch even if local commits will be lost]' - '(-q --quiet -v --verbose)'{--quiet,-q}'[be quiet]' - '(-v --verbose -q --quiet)'{--verbose,-v}'[display more information]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(help) - args=( - '(-l --long)'{--long,-l}'[use long format]' - '*:subcmds:->cmds' - ) - _arguments -s "$args[@]" && ret=0 - _describe -t subcommands 'subcommand' _bzr_cmds && ret=0 - return ret - ;; - - # Plugins - -(visualize|visualise|viz|vis) - args+=( '(-r --revision)'{--revision=,-r}'[starting revision]:rev:' ) - ;; - -(gannotate|gblame|gpraise) - args+=( - '--all[show annotations on all lines]' - "--plain[don't highlight annotation lines]" - '*:file:_bzr_versionedFiles' - ) - ;; - -(push) - args+=( - '--create-prefix[create the path leading up to the branch when missing]' - '--overwrite[ignore differences, overwrite unconditionally]' - '--remember[remember the specified location as a default]' - '*:local repository:_files -/' - ) - _bzr_completeParents && ret=0 - ;; - -(clean-tree) - args+=( - '--dry-run[show files to delete instead of deleting them]' - '--ignored[delete all ignored files]' - '--detritus[delete conflict files, merge backups, failed self-tests, *~, *.tmp, etc]' - ) - ;; - -(uncommit) - args+=( - '--dry-run[do not make any changes]' - '--force[say "yes" to all questions]' - '(-r --revision)'{--revision=,-r}'[the earliest revision to delete]:rev:' - '(-v --verbose)'{--verbose,-v}'[display more information]' - ) - ;; - -(sign-my-commits) - args+=( '--dry-run[do not actually sign anything]' ) - ;; - -(send) - args+=( '*:DIR:_files -/' ) - ;; - -(*) - _default - return - ;; -esac - -_arguments -s "$args[@]" && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_cabal b/result/sw/share/zsh/5.9/functions/_cabal deleted file mode 100644 index bd81cf26..00000000 --- a/result/sw/share/zsh/5.9/functions/_cabal +++ /dev/null @@ -1,9 +0,0 @@ -#compdef cabal - -local -a subcmds - -subcmds=(${${${${${(f)"$(cabal --help)"}[(r)Commands:*,(r)For more information*]}[2,-2]}# }%% *}) - -_arguments \ - '1:subcmd:compadd -a subcmds' \ - ':other: _alternative "options:option:compadd -- $(cabal $words[2] --list-options)" "files:file:_files"' diff --git a/result/sw/share/zsh/5.9/functions/_cache_invalid b/result/sw/share/zsh/5.9/functions/_cache_invalid deleted file mode 100644 index e5538143..00000000 --- a/result/sw/share/zsh/5.9/functions/_cache_invalid +++ /dev/null @@ -1,21 +0,0 @@ -#autoload -# -# Function to decide whether a completions cache needs rebuilding - -local _cache_ident _cache_dir _cache_path _cache_policy -_cache_ident="$1" - -# If the cache is disabled, we never want to rebuild it, so pretend -# it's valid. -zstyle -t ":completion:${curcontext}:" use-cache || return 1 - -zstyle -s ":completion:${curcontext}:" cache-path _cache_dir -: ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} -_cache_path="$_cache_dir/$_cache_ident" - -# See whether the caching policy says that the cache needs rebuilding -# (the policy will return 0 if it does). -zstyle -s ":completion:${curcontext}:" cache-policy _cache_policy -[[ -n "$_cache_policy" ]] && "$_cache_policy" "$_cache_path" && return 0 - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_caffeinate b/result/sw/share/zsh/5.9/functions/_caffeinate deleted file mode 100644 index 9e361a5b..00000000 --- a/result/sw/share/zsh/5.9/functions/_caffeinate +++ /dev/null @@ -1,12 +0,0 @@ -#compdef caffeinate - -_arguments -s -S : \ - '-d[prevent display sleep]' \ - '-i[prevent system idle sleep]' \ - '-m[prevent disk idle sleep]' \ - '-s[prevent system sleep (AC power only)]' \ - '-u[declare that user is active]' \ - '(:)-t[specify assertion timeout value]:timeout (seconds)' \ - '(:)-w[wait for specified PID]: :_pids' \ - '(-)1: : _command_names -e' \ - '(-)*::command argument' diff --git a/result/sw/share/zsh/5.9/functions/_cal b/result/sw/share/zsh/5.9/functions/_cal deleted file mode 100644 index 82bb98b5..00000000 --- a/result/sw/share/zsh/5.9/functions/_cal +++ /dev/null @@ -1,28 +0,0 @@ -#compdef cal ncal - -local args - -case $service in - cal) - args=( - '-3[three in a row]' - '-m[Monday as first day of the week]' - ) - ;; - ncal) - args=( - '-J[display Julian calendar]' - '-e[display date of western Easter]' - '-o[display date of orthodox Easter]' - '-p[assume as by ncal]' - '-s[country code]' - '-w[print number of the week below each column]' - ) - ;; -esac - -_arguments "${args[@]}" \ - '-j[display Julian days]' \ - '-y[display a calendar for the current year]' \ - '::month' \ - ':year' diff --git a/result/sw/share/zsh/5.9/functions/_calendar b/result/sw/share/zsh/5.9/functions/_calendar deleted file mode 100644 index a79fc729..00000000 --- a/result/sw/share/zsh/5.9/functions/_calendar +++ /dev/null @@ -1,34 +0,0 @@ -#compdef calendar - -if [[ $+functions[calendar] -eq 1 && -z $precommands[(r)command] ]]; then - # The shell function is loaded, and we're not instructed to - # use an external command, so complete that. - _arguments \ - '-a[show all calendar items]' \ - '-b[brief, display first line only]' \ - '-d[move events to done file]' \ - '-D[never move events to done file]' \ - '-r[show all remaining items from start or now]' \ - '-s[use sched to schedule a warning]' \ - '-v[verbose]' \ - '-B[select number of lines to display]:lines: ' \ - '-C[select calendar file]:calendar file:_path_files' \ - '-n[select max number of events]:max number of events: ' \ - '-S[select show programme]:show programme:_command_names' \ - '1:date/time: ' \ - '(-r)2:end date/time: ' -else - # This is only one particular version of calendar. - # Some variant of BSD, I think. - - _arguments \ - '-a[process files of all users]' \ - '-A[print today and the following num days]:number of days:' \ - '-b[enforce special KOI8 date calculation mode]' \ - '-B[print today and the previous num days]:number of days:' \ - '-f[use file as the default calendar]:calendar file:_files' \ - '-l[print today and the following num days]:number of days:' \ - '-w[print today and the following num days only if today is Friday]:number of days:' \ - '-t[act as though today is the date specified]:date:' - -fi diff --git a/result/sw/share/zsh/5.9/functions/_call_function b/result/sw/share/zsh/5.9/functions/_call_function deleted file mode 100644 index 342f3509..00000000 --- a/result/sw/share/zsh/5.9/functions/_call_function +++ /dev/null @@ -1,32 +0,0 @@ -#autoload - -# Utility function to call a function if it exists. -# -# Usage: _call_function <return> <name> [ <args> ... ] -# -# If a function named <name> is defined (or defined to be autoloaded), -# it is called. If <return> is given not the string `-' or empty, it is -# taken as the name of a parameter and the return status of the function -# called is stored in this parameter. All other arguments are given -# to the function called. -# The return value of this function is zero if the function was -# called and non-zero otherwise. - -local _name _ret - -[[ "$1" != (|-) ]] && _name="$1" - -shift - -if (( $+functions[$1] )); then - "$@" - _ret="$?" - - [[ -n "$_name" ]] && eval "${_name}=${_ret}" - - compstate[restore]='' - - return 0 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_call_program b/result/sw/share/zsh/5.9/functions/_call_program deleted file mode 100644 index 55712b04..00000000 --- a/result/sw/share/zsh/5.9/functions/_call_program +++ /dev/null @@ -1,40 +0,0 @@ -#autoload +X - -local -xi COLUMNS=999 -local curcontext="${curcontext}" tmp err_fd=-1 clocale='_comp_locale;' -local -a prefix - -if [[ "$1" = -p ]]; then - shift - if (( $#_comp_priv_prefix )); then - curcontext="${curcontext%:*}/${${(@M)_comp_priv_prefix:#^*[^\\]=*}[1]}:" - zstyle -t ":completion:${curcontext}:${1}" gain-privileges && - prefix=( $_comp_priv_prefix ) - fi -elif [[ "$1" = -l ]]; then - shift - clocale='' -fi - -if (( ${debug_fd:--1} > 2 )) || [[ ! -t 2 ]] -then exec {err_fd}>&2 # debug_fd is saved stderr, 2 is trace or redirect -else exec {err_fd}>/dev/null -fi - -{ # Begin "always" block - -if zstyle -s ":completion:${curcontext}:${1}" command tmp; then - if [[ "$tmp" = -* ]]; then - eval $clocale "$tmp[2,-1]" "$argv[2,-1]" - else - eval $clocale $prefix "$tmp" - fi -else - eval $clocale $prefix "$argv[2,-1]" -fi 2>&$err_fd - -} always { - -exec {err_fd}>&- - -} diff --git a/result/sw/share/zsh/5.9/functions/_canonical_paths b/result/sw/share/zsh/5.9/functions/_canonical_paths deleted file mode 100644 index a8fbbb52..00000000 --- a/result/sw/share/zsh/5.9/functions/_canonical_paths +++ /dev/null @@ -1,122 +0,0 @@ -#autoload - -# This completion function completes all paths given to it, and also tries to -# offer completions which point to the same file as one of the paths given -# (relative path when an absolute path is given, and vice versa; when ..'s are -# present in the word to be completed, and some paths got from symlinks). - -# Usage: _canonical_paths [-A var] [-N] [-MJV12onfX] tag desc [paths...] - -# -A, if specified, takes the paths from the array variable specified. Paths -# can also be specified on the command line as shown above. -N, if specified, -# prevents canonicalizing the paths given before using them for completion, in -# case they are already so. `tag' and `desc' arguments are well, obvious :) In -# addition, the options -M, -J, -V, -1, -2, -o, -n, -F, -x, -X are passed to -# compadd. - -_canonical_paths_add_paths () { - # origpref = original prefix - # expref = expanded prefix - # curpref = current prefix - # canpref = canonical prefix - # rltrim = suffix to trim and readd - local origpref=$1 expref rltrim curpref canpref subdir - [[ $2 != add ]] && matches=() - expref=${~origpref} 2>/dev/null - [[ $origpref == (|*/). ]] && rltrim=. - curpref=${${expref%$rltrim}:-./} - canpref=$curpref:P - [[ $curpref == */ && $canpref == *[^/] ]] && canpref+=/ - canpref+=$rltrim - [[ $expref == *[^/] && $canpref == */ ]] && origpref+=/ - - # Append to $matches the subset of $files that matches $canpref. - if [[ $canpref == $origpref ]]; then - # This codepath honours any -M matchspec parameters. - () { - local -a tmp_buffer - compadd -A tmp_buffer "$__gopts[@]" -a files - matches+=( "${(@)tmp_buffer/$canpref/$origpref}" ) - } - else - # ### Ideally, this codepath would do what the 'if' above does, - # ### but telling compadd to pretend the "word on the command line" - # ### is ${"the word on the command line"/$origpref/$canpref}. - matches+=(${${(M)files:#$canpref*}/$canpref/$origpref}) - fi - - for subdir in $expref?*(@); do - _canonical_paths_add_paths ${subdir/$expref/$origpref} add - done -} - -_canonical_paths() { - # The following parameters are used by callee functions: - # __gopts - # matches - # files - # (possibly others) - - local __index - typeset -a __gopts __opts - - zparseopts -D -a __gopts M+: J+: V+: o+: 1 2 n F: x+: X+: A:=__opts N=__opts - - : ${1:=canonical-paths} ${2:=path} - - __index=$__opts[(I)-A] - (( $__index )) && set -- $@ ${(P)__opts[__index+1]} - - local expl ret=1 tag=$1 desc=$2 - - shift 2 - - if ! zmodload -F zsh/stat b:zstat 2>/dev/null; then - _wanted "$tag" expl "$desc" compadd $__gopts $@ && ret=0 - return ret - fi - - typeset REPLY - typeset -a matches files - - if (( $__opts[(I)-N] )); then - files=($@) - else - files+=($@:P) - fi - - local base=$PREFIX - typeset -i blimit - - _canonical_paths_add_paths $base - - if [[ -z $base ]]; then - _canonical_paths_add_paths / add - elif [[ $base == ..(/.(|.))#(|/) ]]; then - - # This style controls how many parent directory links (..) to chase searching - # for possible completions. The default is 8. Note that this chasing is - # triggered only when the user enters at least a .. and the path completed - # contains only . or .. components. A value of 0 turns off .. link chasing - # altogether. - - zstyle -s ":completion:${curcontext}:$tag" \ - canonical-paths-back-limit blimit || blimit=8 - - if [[ $base != */ ]]; then - [[ $base != *.. ]] && base+=. - base+=/ - fi - until [[ $base.. -ef $base || blimit -le 0 ]]; do - base+=../ - _canonical_paths_add_paths $base add - blimit+=-1 - done - fi - - _wanted "$tag" expl "$desc" compadd $__gopts -Q -U -a matches && ret=0 - - return ret -} - -_canonical_paths "$@" diff --git a/result/sw/share/zsh/5.9/functions/_capabilities b/result/sw/share/zsh/5.9/functions/_capabilities deleted file mode 100644 index 8cb31878..00000000 --- a/result/sw/share/zsh/5.9/functions/_capabilities +++ /dev/null @@ -1,65 +0,0 @@ -#autoload - -# This function completes POSIX capabilities for Linux. -# Many command line utilities expect different syntax to encode various kinds -# of capability names or sets, so this function tries to be as generic as -# possible. It accepts compadd options to allow variations on the exact -# generated completion matches. -# -# Usage examples: -# -# Complete full capability names: -# _capabilities -p cap_ -# Sort the completion list by capability number: -# _capabilities -o nosort - -# The list of Linux capabilities is taken from include/uapi/linux/capability.h -# and subject to the following pipe filter: -# grep 'define CAP' | sed -r 's/^[[:space:]]*#define[[:space:]]+CAP_//; s/[[:space:]]+[0-9]+$//' | tr '[[:upper:]]' '[[:lower:]]' -local -a caplist=( - chown - dac_override - dac_read_search - fowner - fsetid - kill - setgid - setuid - setpcap - linux_immutable - net_bind_service - net_broadcast - net_admin - net_raw - ipc_lock - ipc_owner - sys_module - sys_rawio - sys_chroot - sys_ptrace - sys_pacct - sys_admin - sys_boot - sys_nice - sys_resource - sys_time - sys_tty_config - mknod - lease - audit_write - audit_control - setfcap - mac_override - mac_admin - syslog - wake_alarm - block_suspend - audit_read - perfmon - bpf - checkpoint_restore -) -local -a expl - -_description capabilities expl "Linux capability" -compadd "${(@)expl}" "$@" -a - caplist diff --git a/result/sw/share/zsh/5.9/functions/_cat b/result/sw/share/zsh/5.9/functions/_cat deleted file mode 100644 index 74d7278b..00000000 --- a/result/sw/share/zsh/5.9/functions/_cat +++ /dev/null @@ -1,62 +0,0 @@ -#compdef cat gcat - -local -a args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-A --show-all)'{-A,--show-all}'[equivalent to -vET]' - '(-b --number-nonblank -n --number)'{-b,--number-nonblank}'[number nonempty output lines, overrides -n]' - '-e[equivalent to -vE]' - '(-E --show-ends)'{-E,--show-ends}'[display $ at end of each line]' - '(-n --number)'{-n,--number}'[number all output lines]' - '(-s --squeeze-blank)'{-s,--squeeze-blank}'[suppress repeated empty output lines]' - '-t[equivalent to -vT]' - '(-T --show-tabs)'{-T,--show-tabs}'[display TAB characters as ^I]' - '-u[ignored]' - '(-v --show-nonprinting)'{-v,--show-nonprinting}'[use ^ and M- notation, except for LFD and TAB]' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - '*: :_files' - ) - -elif [[ "$OSTYPE" == (*bsd|dragonfly|darwin)* ]]; then - args=( - -A "-*" - '(-n)-b[number non-blank output lines]' - '(-v)-e[display $ at the end of each line (implies -v)]' - '-n[number all output lines]' - '-s[squeeze multiple blank lines into one]' - '(-v)-t[display tab as ^I (implies -v)]' - '-u[do not buffer output]' - '-v[display non-printing chars as ^X or M-a]' - '*: :_files' - ) - [[ $OSTYPE = (free|net)bsd* ]] && args+=( - '-l[set a lock on the stdout file descriptor]' - ) - [[ $OSTYPE = netbsd* ]] && args+=( - '-B+[read with buffer of specified size]:size (bytes)' - '-f[only attempt to display regular files]' - ) -elif [[ $OSTYPE = solaris* ]]; then - args=( - -A "-*" - '(-b)-n[number all output lines]' - '(-n)-b[number non-blank output lines]' - "-u[don't buffer output]" - '-s[be silent about non-existent files]' - '-v[display non-printing chars as ^X or M-a]' - '-e[display $ at the end of each line (requires -v)]' - '-t[display tab as ^I and formfeeds and ^L (requires -v)]' - '*: :_files' - ) -else - # POSIX requires '-u', and most OSes may support '-n' - args=( - '-n[number all output lines]' - '-u[do not buffer output]' - '*: :_files' - ) -fi - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_ccal b/result/sw/share/zsh/5.9/functions/_ccal deleted file mode 100644 index f8e19e15..00000000 --- a/result/sw/share/zsh/5.9/functions/_ccal +++ /dev/null @@ -1,17 +0,0 @@ -#compdef ccal - -_arguments \ - '-nodata[ignore appointment descriptions file]' \ - '-data-file=[load appointments from file]:caldat file:_files' \ - '-future[show only future appointments on current month]' \ - "-today[show only today's appointments on current month]" \ - '-europe[European format (first day is Monday)]' \ - '-american[North American format (first day is Sunday)]' \ - '-maxappts=[display maximum of n appointments]:number of appointments:('{8..50}')' \ - '-pause[pause for keystroke before exiting]' \ - '-nocolor[inhibit use of colors]' \ - '-color-file=[load color definitions from file]:calcol file:_files' \ - '-8bit[display 8-bit ascii characters]' \ - '1:month:(1 2 3 4 5 6 7 8 9 10 11 12 jan feb mar apr may jun jul aug sep oct nov dec)' \ - '2:year:' - diff --git a/result/sw/share/zsh/5.9/functions/_cd b/result/sw/share/zsh/5.9/functions/_cd deleted file mode 100644 index 46237e73..00000000 --- a/result/sw/share/zsh/5.9/functions/_cd +++ /dev/null @@ -1,118 +0,0 @@ -#compdef cd chdir pushd - -# Handling of cd. -# - Normally just completes directories. Uses cdpath if that's set -# and the string doesn't begin with ~, /, ./ or ../. -# - In the second argument to cd for the form `cd old new', completes -# possible `new' strings by examining `old' and $PWD. -# - After - or +, _directory_stack completes numbers, but the listing -# gives you the list of directories to complete. This turns on -# menu-completion and lists the possibilities automatically, otherwise -# it's not a lot of use. If you don't type the + or - it will -# complete directories as normal. - -_cd_options() { - _arguments -s \ - '-q[quiet, no output or use of hooks]' \ - '-s[refuse to use paths with symlinks]' \ - '(-P)-L[retain symbolic links ignoring CHASE_LINKS]' \ - '(-L)-P[resolve symbolic links as CHASE_LINKS]' -} - -setopt localoptions nonomatch - -local expl ret=1 curarg -integer argstart=2 noopts match mbegin mend - -if (( CURRENT > 1 )); then - # if not in command position, may have options. - # Careful: -<-> is not an option. - while [[ $words[$argstart] = -* && argstart -lt CURRENT ]]; do - curarg=$words[$argstart] - [[ $curarg = -<-> ]] && break - (( argstart++ )) - [[ $curarg = -- ]] && noopts=1 && break - done -fi - -if [[ CURRENT -eq $((argstart+1)) ]]; then - # cd old new: look for old in $PWD and see what can replace it - local rep - # Get possible completions using word in position 2 - rep=(${~PWD/$words[$argstart]/*}~$PWD(-/)) - # Now remove all the common parts of $PWD and the completions from this - rep=(${${rep#${PWD%%$words[$argstart]*}}%${PWD#*$words[$argstart]}}) - (( $#rep )) && _wanted -C replacement strings expl replacement compadd -a rep -else - # Complete directory stack entries with ~ or when not in command position - # (the rest of this test is optimization for the _tilde call below) - if [[ "$PREFIX" == (#b)(\~|)[^/]# && - ( -n "$match[1]" || ( CURRENT -gt 1 && ! -o cdablevars ) ) ]]; then - _directory_stack && ret=0 - fi - - local -a tmpWpath - if [[ $PREFIX = (|*/)../* ]]; then - local tmpprefix - # Use cd in a subshell to properly [not] resolve symlinks - tmpprefix=$(cd ${PREFIX%/*} >&/dev/null && print $PWD) - if [[ -n $tmpprefix ]]; then - tmpWpath=(-W $tmpprefix) - IPREFIX=${IPREFIX}${PREFIX%/*}/ - PREFIX=${PREFIX##*/} - fi - fi - - if [[ $PREFIX != (\~|/|./|../)* && $IPREFIX != ../* ]]; then - local tmpcdpath alt - - alt=() - - tmpcdpath=(${${(@)cdpath:#.}:#$PWD}) - - (( $#tmpcdpath )) && - alt=( 'path-directories:directory in cdpath:_path_files -W tmpcdpath -/' ) - - # With cdablevars, we can complete foo as if ~foo/ - if [[ -o cdablevars && -n "$PREFIX" && "$PREFIX" != <-> ]]; then - if [[ "$PREFIX" != */* ]]; then - alt=( "$alt[@]" 'named-directories: : _tilde' ) - else - local oipre="$IPREFIX" opre="$PREFIX" dirpre dir - - # Note we need a tilde because cdablevars also allows user home - # directories, hence nonomatch (above) to suppress error messages. - - dirpre="${PREFIX%%/*}/" - IPREFIX="$IPREFIX$dirpre" - eval "dir=( ~$dirpre )" - PREFIX="${PREFIX#*/}" - - [[ $#dir -eq 1 && "$dir[1]" != "~$dirpre" ]] && - _wanted named-directories expl 'directory after cdablevar' \ - _path_files -W dir -/ && ret=0 - - PREFIX="$opre" - IPREFIX="$oipre" - fi - fi - # Don't complete local directories in command position, that's - # already handled by _command_names (see _autocd) - - [[ CURRENT -ne 1 || ( -z "$path[(r).]" && $PREFIX != */* ) ]] && - alt=( "${cdpath+local-}directories:${cdpath+local }directory:_path_files ${(j: :)${(@q)tmpWpath}} -/" "$alt[@]" ) - - if [[ CURRENT -eq argstart && noopts -eq 0 && $PREFIX = -* ]] && - zstyle -t ":completion:${curcontext}:options" complete-options; then - alt=("$service-options:$service option:_cd_options" "$alt[@]") - fi - - _alternative "$alt[@]" && ret=0 - - return ret - fi - [[ CURRENT -ne 1 ]] && _wanted directories expl directory \ - _path_files $tmpWpath -/ && ret=0 - - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_cdbs-edit-patch b/result/sw/share/zsh/5.9/functions/_cdbs-edit-patch deleted file mode 100644 index a1b537e8..00000000 --- a/result/sw/share/zsh/5.9/functions/_cdbs-edit-patch +++ /dev/null @@ -1,3 +0,0 @@ -#compdef cdbs-edit-patch - -_files -W $PWD/debian/patches diff --git a/result/sw/share/zsh/5.9/functions/_cdcd b/result/sw/share/zsh/5.9/functions/_cdcd deleted file mode 100644 index 3fa83f61..00000000 --- a/result/sw/share/zsh/5.9/functions/_cdcd +++ /dev/null @@ -1,80 +0,0 @@ -#compdef cdcd - -local expl - -_cdcd_tracks () -{ - local -a tracks - tracks=( ${${(M)${(f)"$(cdcd tracks)"}:#(#s) #[0-9]##:*}/(#s) #(#b)([0-9]##):[ >]#? #[^ ]# #(*) ##/$match[1]:${match[2]}} ) - _describe tracks tracks -V tracks -} - -_cdcd_commands () -{ - local -a commands - commands=( - 'play:play a track' - 'stop:stop playing' - {open,eject}':eject the CD-ROM tray' - 'close:close the CD-ROM tray' - 'pause:pause playing' - 'resume:resume playing' - 'ff:fast forward' - 'rew:rewind' - 'next:advance one track' - 'prev:return to previous track' - 'getvol:get current volume settings' - 'setvol:set volume settings' - 'status:get numerical data regarding the CD status' - 'info:short information about the CD' - 'tracks:list all tracks on the CD' - 'rndplay:play a random track' - 'list:list all CDs in a CD-ROM changer' - 'slot:changes the current CD in the CD-ROM changer' - 'edit:edit information about the disc' - 'ext:extended information about the disc' - 'refresh:refresh the information about the CD from a CDDB server' - 'device:change the CD-ROM device cdcd will use' - 'verbose:toggle verbosity' - 'sites:edit the server list' - 'access:configure cddb access method' - 'help:display a help message' - ) - _describe -t commands 'cdcd command' commands -} - -if (( CURRENT == 2 )); then - _cdcd_commands -else - case "$words[2]" in - # sub-commands with no args - stop|open|eject|close|pause|resume|next|prev|getvol) - ;& - status|info|tracks|rndplay|list|slot|refresh) - _message 'no more arguments' - ;; - # sub-commands with args that cannot be completed - ff|rew|setvol) - ;; - # sub-commands that do not work as expected - access|edit|sites) - ;; - # completeable sub-commands - verbose) - _wanted subcommand expl 'verbose subcommand' compadd on off - ;; - ext) - _values 'ext subcommand' \ - 'disc[extra information about the disc]' \ - {1..${${(z)${${(f)"$(cdcd info)"}[3]}}[3]}} - ;; - device) - _wanted device expl 'cdrom device' compadd /dev/cd* /dev/cd*/* - ;; - play) - _cdcd_tracks - ;; - help) - _cdcd_commands;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_cdr b/result/sw/share/zsh/5.9/functions/_cdr deleted file mode 100644 index 3a1e9bde..00000000 --- a/result/sw/share/zsh/5.9/functions/_cdr +++ /dev/null @@ -1,57 +0,0 @@ -#compdef cdr - -local expl insert_string -integer default insert - -zstyle -t ':chpwd:' recent-dirs-default && default=1 -if (( default )); then - zstyle -s ":completion:${curcontext}:" recent-dirs-insert insert_string - case $insert_string in - (both) - insert=4 - ;; - - (fallback) - insert=3 - ;; - - (always) - insert=2 - ;; - - ([tT]*|1|[yY]*) - insert=1 - ;; - - (*) - insert=0 - esac -fi - -# See if we should fall back to cd completion. -if [[ default -ne 0 && insert -lt 2 && \ - ( CURRENT -ne 2 || (-n $words[2] && $words[2] != <->) ) ]]; then - $_comps[cd] "$@" - return -fi - -local -a values keys - -if (( insert )); then - # insert the actual directory, not the number - values=(${${(f)"$(cdr -l)"}##<-> ##}) - # Suppress the usual space suffix, since there's no further argument - # and it's useful to be able to edit the directory e.g. add /more/stuff. - if _wanted -V recent-dirs expl 'recent directory' compadd -S '' -Q -a values - then - (( insert == 4 )) || return 0 - fi - - (( insert >= 3 )) || return - $_comps[cd] "$@" -else - values=(${${(f)"$(cdr -l)"}/ ##/:}) - keys=(${values%%:*}) - - _describe -t dir-index 'recent directory index' values keys -V unsorted -fi diff --git a/result/sw/share/zsh/5.9/functions/_cdrdao b/result/sw/share/zsh/5.9/functions/_cdrdao deleted file mode 100644 index ceb86267..00000000 --- a/result/sw/share/zsh/5.9/functions/_cdrdao +++ /dev/null @@ -1,285 +0,0 @@ -#compdef cdrdao - -# TODO: Options must come before parameters. - -# Command completion and main loop {{{1 - -_cdrdao () { - local ret=1 - local -a commands - if (( CURRENT == 2 )); then - commands=( ${${${(M)${(f)"$(_call_program subcommands cdrdao 2>&1)"}:# *}// #- /:}#??} ) - _describe -t subcommands 'cdrdao command' commands && ret=0 - else - local cmd="${words[2]}" - local curcontext="${curcontext%:*:*}:cdrdao-$cmd:" - shift words - (( CURRENT-- )) - if ! _call_function ret _cdrdao-$cmd; then - _default && ret=0 - fi - fi - - return ret -} - -# Common arguments {{{1 - -declare -ga _cdrdao_tmpfile_args -_cdrdao_tmpfile_args=( - '--tmpdir[directory to store temporary data in]:directory:_directories' - '--keep[do not remove temporary data when done]' -) - -# TODO: Gah! Fix a cddb server spec matcher -declare -ga _cdrdao_cddb_args -_cdrdao_cddb_args=( - '--cddb-servers[specify list of CDDB servers to use]:CDDB servers:' - '--cddb-timeout[specify timeout in seconds for connections to CDDB servers]: :_guard "[[\:digit\:]]" timeout' - '--cddb-directory[directory where fetched CDDB records will be stored]:directory:_directories' -) - -declare -g _cdrdao_paranoiamode_arg -_cdrdao_paranoiamode_arg='--paranoia-mode[set correction mode for digital audio extraction]:mode:(("0\:no checking" "1\:perform overlapped reading to avoid jitter" "2\:like 1 but with checks of read audio data" "3\:like 2 but with scratch detection/repair (default)"))' - -declare -g _cdrdao_fasttoc_arg -_cdrdao_fasttoc_arg='--fast-toc[skip pre-gap-length and index-mark extraction]' - -declare -g _cdrdao_swap_arg -_cdrdao_swap_arg='--swap[swap the byte order of samples]' - -declare -g _cdrdao_reload_arg -_cdrdao_reload_arg='--reload[reload the disk if necessary]' - -declare -g _cdrdao_eject_arg -_cdrdao_eject_arg='--eject[eject CD after completed operation]' - -declare -g _cdrdao_speed_arg -_cdrdao_speed_arg='-speed[set writing speed]: :_guard "[[\:digit\:]]##" speed' - -declare -ga _cdrdao_common_args -_cdrdao_common_args=( - '(*)'{-h,--help}'[display command/option summary]' - '-v[set verbosity level]: :_guard "[[\:digit\:]]##" verbosity') - -declare -ga _cdrdao_common_toc_args -_cdrdao_common_toc_args=( - $_cdrdao_common_args - ':TOC file:_files -g "*.toc(-.)"') - -declare -ga _cdrdao_common_device_args -_cdrdao_common_device_args=( - $_cdrdao_common_args - '--device[set SCSI address of the CD recorder]:device:__cdrdao-device' - '--driver[use given driver for the CD recorder]:driver:__cdrdao-drivers' -) - -declare -ga _cdrdao_common_toc_device_args -_cdrdao_common_toc_device_args=( - $_cdrdao_common_toc_args - $_cdrdao_common_device_args - '--force[force execution of operation]' -) - -declare -ga _cdrdao_common_read_args -_cdrdao_common_read_args=( - '--rspeed[set reading speed]: :_guard "[[\:digit\:]]##" speed' - '--session[specify what session to process on multi-session CDs]: :_guard "[[\:digit\:]]##" "session number"' - '--read-subchan[set sub-channel reading-mode]:mode:(("rw\:de-interleaved and error corrected" "rw_raw\:not de-interleaved, not error-corrected, and L-EC data included"))' - '--tao-source[indicate that source CD was written in TAO mode]' - '--with-cddb[retrieve CD-TEXT data from a CDDB server]') - -# Sub-command completion {{{1 - -_cdrdao-show-toc () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -_cdrdao-toc-info () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -_cdrdao-toc-size () { - __cdrdao-show-toc-or-toc-info-or-toc-size -} - -__cdrdao-show-toc-or-toc-info-or-toc-size () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_tmpfile_args -} - -_cdrdao-read-toc () { - __cdrdao-read-toc-or-read-cd $_cdrdao_cddb_args -} - -_cdrdao-read-cd () { - __cdrdao-read-toc-or-read-cd \ - $_cdrdao_paranoiamode_arg \ - $_cdrdao_cddb_args -} - -__cdrdao-read-toc-or-read-cd () { - local -a dependent_args - - __cdrdao-read-toc-or-read-cd-or-copy-dependent-args - - _arguments \ - $_cdrdao_common_toc_device_args \ - $_cdrdao_common_read_args \ - $dependent_args \ - $_cdrdao_fasttoc_arg \ - '--datafile[set name of data file placed in TOC file]:file:_files' \ - '--read-raw[read data in raw format from CD]' \ - '--no-mode2-mixed[if MODE2_FORM1 or MODE2_FORM2, do not extract as MODE2_FORM_MIX]' \ - "$@" && ret=0 -} - -_cdrdao-read-cddb () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_cddb_args -} - -_cdrdao-show-data () { - _arguments \ - $_cdrdao_common_toc_args \ - $_cdrdao_swap_arg -} - -_cdrdao-read-test () { - _arguments \ - $_cdrdao_common_toc_args -} - -_cdrdao-disk-info () { - __cdrdao-disk-info-or-drive-info -} - -__cdrdao-disk-info-or-drive-info () { - _arguments \ - $_cdrdao_common_device_args -} - -_cdrdao-discid() { - _arguments $_cdrdao_common_device_args $_cdrdao_cddb_args \ - '--query-string[print out CDDB query only]' -} - -_cdrdao-msinfo () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_reload_arg -} - -_cdrdao-drive-info () { - __cdrdao-disk-info-or-drive-info -} - -_cdrdao-unlock () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_reload_arg \ - $_cdrdao_eject_arg -} - -_cdrdao-blank () { - _arguments \ - $_cdrdao_common_device_args \ - $_cdrdao_speed_arg \ - '--blank-mode[set the blanking mode]:blanking mode:(("full\:completely erase data" "minimal\:only dereference data"))' \ - $_cdrdao_eject_arg -} - -_cdrdao-scanbus () { - _arguments \ - $_cdrdao_common_args -} - -_cdrdao-simulate () { - __cdrdao-simulate-or-write -} - -__cdrdao-simulate-or-write () { - local _cdrdao_capacity_arg= - - if (( $words[(I)--full-burn] )); then - _cdrdao_capacity_arg='--capacity[set disk capacity for --full-burn]: :_guard "[[\:digit\:]]" minutes' - fi - - _arguments \ - $_cdrdao_common_toc_device_args \ - $_cdrdao_speed_arg \ - '--multi[do not close the session after successful write]' \ - '--overburn[allow overburning of medium]' \ - '--full-burn[force burning to the outer disk edge]' \ - $_cdrdao_capacity_arg \ - $_cdrdao_eject_arg \ - $_cdrdao_swap_arg \ - '--buffers[set fifo buffer size]: :_guard "[[\:digit\:]]" size' \ - $_cdrdao_reload_arg \ - $_cdrdao_tmpfile_args \ - '-n[do not pause before writing]' \ - $* -} - -_cdrdao-write () { - __cdrdao-simulate-or-write \ - '--simulate[only perform a write simulation]' \ - '--buffer-under-run-protection[whether to use buffer under-run protection]:buffer under-run protection setting:(("0\:disable buffer under-run protection" "1\:enable buffer under-run protection"))' \ - '--write-speed-control[whether to use writing-speed control]:writing-speed control setting:(("0\:disable writing-speed control" "1\:enable writing-speed control"))' \ - $* -} - -__cdrdao-read-toc-or-read-cd-or-copy-dependent-args () { - if (( words[(I)--tao-source] )); then - dependent_args+='--tao-source-adjust[specify number of link blocks for tracks written in TAO mode]: :_guard "[[\:digit\:]]##" "link blocks"' - fi - - if (( words[(I)--with-cddb] )); then - dependent_args+=$_cdrdao_cddb_args - fi -} - -_cdrdao-copy () { - local -a dependent_args - - __cdrdao-read-toc-or-read-cd-or-copy-dependent-args - - _cdrdao-write \ - $dependent_args \ - $_cdrdao_common_read_args \ - '--source-device[set SCSI address of the CD reader]:device:__cdrdao-device' \ - '--source-driver[use given driver for the CD reader]:driver:__cdrdao-drivers' \ - '--on-the-fly[perform on-the-fly copy of CD (no image created)]' \ - $_cdrdao_fasttoc_arg \ - '--keepimage[do not remove generated image when done]' \ - $_cdrdao_paranoiamode_arg -} - -# Type completion {{{1 - -__cdrdao-device () { - # Use cdrdao scanbus and also check what OS we're running under and provide - # additional stuff, like devices (/dev/sg0) - local -a expl devices - devices=(${${(f)"$(_call_program devices cdrdao scanbus -v 0 2>&1)"}%% :*}) - - _wanted devices expl 'device' compadd -a devices -} - -__cdrdao-drivers () { - local expl suf - local -Ua drivers - drivers=(${(f)"$(_call_program drivers cut -d'\|' -f4 /usr/share/cdrdao/drivers -s)"}) - if compset -P \*:; then - _message -e options option - else - compset -S :\* || suf=-qS: - _wanted drivers expl 'driver' compadd $suf -a drivers - fi -} - -# }}}1 - -_cdrdao diff --git a/result/sw/share/zsh/5.9/functions/_cdrecord b/result/sw/share/zsh/5.9/functions/_cdrecord deleted file mode 100644 index 602cd5e8..00000000 --- a/result/sw/share/zsh/5.9/functions/_cdrecord +++ /dev/null @@ -1,105 +0,0 @@ -#compdef cdrecord wodim - -local curcontext="$curcontext" state line expl ret=1 -local devices btypes - -_arguments -C \ - '-version[print version information]' \ - '*-d[increase debug level]' \ - \*{-verbose,-v}'[increase verbosity level]' \ - \*{-Verbose,-V}'[increase scsi command transport verbosity level]' \ - '(-silent -s)'{-silent,-s}'[do not print a status report for failed scsi commands]' \ - '-setdropts[set driver specific options and exit]' \ - '-checkdrive[check if a driver for the device is present]' \ - '-prcap[print drive capabilities for MMC compliant drives]' \ - '-inq[do an inquiry for the drive and exit]' \ - '-scanbus[scan the scsi bus and exit]' \ - '-reset[reset the scsi bus with the cdrecorder]' \ - '-overburn[allow writing of more than the official size of a medium]' \ - '-ignsize[ignore the known size of a medium (may cause problems)]' \ - '-useinfo[use .inf files to overwrite audio options]' \ - '-format[format a CD-RW/DVD-RW/DVD+RW disc]' \ - '-load[load the disk and exit]' \ - '-lock[load and lock disc in tray loader]' \ - '-eject[eject the disk after doing the work]' \ - '-dummy[do everything with laser turned off]' \ - '-msinfo[retrieve multi-session info for mkisofs]' \ - '-toc[retrieve and print TOC/PMA data]' \ - '-atip[retrieve and print ATIP data]' \ - '-multi[generate a TOC that allows multi session]' \ - '-fix[fixate a corrupt or unfixated disk]' \ - '-nofix[do not fixate disk after writing tracks]' \ - '-waiti[wait until input is available before opening SCSI]' \ - '-immed[try to use scsi IMMED flag]' \ - '-force[force continuation on some errors]' \ - '-dao[set disk at once mode]' \ - '-raw[set raw writing mode]' \ - '-raw96r[write disk in raw/raw96r mode]' \ - '-raw96p[write disk in raw/raw96p mode]' \ - '-raw16[write disk in raw/raw16 mode]' \ - '-text[write CD-Text from .inf/.cue files]' \ - '*-audio[subsequent tracks are CD-DA audio tracks]' \ - '*-data[subsequent tracks are CD-ROM data mode 1 (default)]' \ - '*-mode2[subsequent tracks are CD-ROM data mode 2]' \ - '*-xa[subsequent tracks are CD-ROM XA mode 2 form 1 - 2048 bytes]' \ - '*-xa1[subsequent tracks are CD-ROM XA mode 2 form 1 - 2056 bytes]' \ - '*-xa2[subsequent tracks are CD-ROM XA mode 2 form 2 - 2324 bytes]' \ - '*-cdi[subsequent tracks are CDI tracks]' \ - '-isosize[use iso9660 file system size for next data track]' \ - '(-nopreemp)-preemp[audio tracks are mastered with 50/15 preemphasis]' \ - '(-preemp)-nopreemp[audio tracks are mastered with no preemphasis (default)]' \ - '-copy[audio tracks have unlimited copy permission]' \ - '-nocopy[audio tracks may only be copied once for personal use]' \ - '-scms[audio tracks will not not have any copy permission at all]' \ - '(-nopad)-pad[pad tracks]' \ - '(-pad)-nopad[do not pad data tracks (default)]' \ - '*-shorttrack[subsequent tracks may be non Red Book if in DAO mode]' \ - '*-noshorttrack[subsequent tracks must be >= 4 seconds]' \ - '-swab[audio data source is byte-swapped (little-endian/Intel)]' \ - '*: :->values' - -if [[ -n $state ]]; then - _tags values files - while _tags; do - if _requested values && (( ! ${#words[2,CURRENT-1]:#(-*|*=*)} )); then - _values -C -s ' ' 'option' \ - 'dev[specify scsi device to use]:device:->device' \ - 'gracetime[set grace time before starting to write]:time (seconds)' \ - 'timeout[set default scsi timeout]:timeout (seconds)' \ - 'debug[specify debug level]:debug level' \ - {kdebug,kd}'[specify kernel debug level]:debug level' \ - 'driver[user supplied driver name]:drive' \ - 'driveropts[a comma separated list of driver specific options]:driver options' \ - 'speed[set speed of drive]:speed' \ - 'blank[blank a CD-RW disc]:blank type:->blank' \ - 'fs[set fifo size]:size' \ - 'tsize[length of valid data in next track]:length' \ - 'padsize[amount of padding for next track]:amount of padding' \ - 'pregap[amount of pre-gap sectors before next track]:amount' \ - 'defpregap[amount of pre-gap sectors for all but first track]:amount' \ - 'mcn[set media catalog number for this CD]:text' \ - 'isrc[set isrc number for the next track]:text' \ - 'index[set the index list for the next track]:list' \ - 'textfile[set the file with CD-Text data]:name:_files -g "*.inf(-.)"' \ - 'cuefile[set the file with CDRWIN CUE data]:name:_files -g "*.cue(-.)"' && ret=0 - fi - _requested files expl track _files && ret=0 - (( ret )) || break - done - - case $state in - device) - devices=( ${(f)"$(_call_program device $service -scanbus 2>/dev/null \ - |grep '^ '|cut -c2-6,23-|sed 's/ /:/')"} ) - _describe -t devices device devices && return - ;; - blank) - btypes=( - 'help:display list of available blanking types' - ${${${${(f)"$(_call_program blank-types $service blank=help 2>&1)"}[2,-1]}#?}/[[:blank:]]##/:} - ) - _describe -t blank-types 'blanking type' btypes && return - ;; - esac - -fi diff --git a/result/sw/share/zsh/5.9/functions/_chattr b/result/sw/share/zsh/5.9/functions/_chattr deleted file mode 100644 index bf46d8b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_chattr +++ /dev/null @@ -1,42 +0,0 @@ -#compdef chattr - -local ret=1 -local -a context line state state_descr -local -A opt_args val_args - -_arguments -s -S : \ - '-f[suppress most error messages]' \ - "-p+[set file's project number]:project number" \ - '-R[act recursively]' \ - '-V[output verbosely]' \ - "-v+[set file's version/generation number]:version/generation number" \ - '1: :->attrs' \ - '*: :_files' \ -&& ret=0 - -[[ $state == attrs ]] && -if compset -P '*[=+-]'; then - # These modes can't be changed with chattr: [EhINXZ] - _values -S '' attribute \ - 'A[no atime updates]' \ - 'a[append only]' \ - 'C[no copy on write]' \ - 'c[compressed]' \ - 'D[no synchronous directory updates]' \ - 'd[no dump]' \ - 'e[extent format]' \ - 'i[immutable]' \ - 'j[data journalling]' \ - 'P[project hierarchy]' \ - 'S[synchronous updates]' \ - 's[secure deletion]' \ - 'T[top of directory hierarchy]' \ - 't[no tail-merging]' \ - 'u[undeletable]' \ - && ret=0 -else - compset -P '*' - _values -S '' operator = + - && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_chcon b/result/sw/share/zsh/5.9/functions/_chcon deleted file mode 100644 index 2d523f28..00000000 --- a/result/sw/share/zsh/5.9/functions/_chcon +++ /dev/null @@ -1,24 +0,0 @@ -#compdef chcon - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -C -s -S \ - '(-h --no-dereference)--dereference[dereference symlinks]' \ - '(-h --no-dereference --dereference)'{-h,--no-dereference}'[operate on symlinks themselves]' \ - '(1 -u --user -r --role -l --range -t --type)--reference=[copy security context of specified file]:file:_files' \ - '(1 --reference -u --user)'{-u+,--user=}'[set user in the target security context]: :_selinux_users' \ - '(1 --reference -r --role)'{-r+,--role=}'[set role in the target security context]: :_selinux_roles' \ - '(1 --reference -t --type)'{-t+,--type=}'[set type in the target security context]: :_selinux_types' \ - '(1 --reference -l --range)'{-l+,--range=}'[set range in the target security context]:selinux range' \ - '(--recursive -R)'{--recursive,-R}'[recurse subdirectories]' \ - '(-v --verbose)'{-v,--verbose}'[output a diagnostic for every file processed]' \ - '(-H -L -P)-H[follow symlinks on the command line]' \ - '(-H -L -P)-L[follow all symlinks]' \ - "(-H -L -P)-P[don't follow symlinks (default)]" \ - '!(--preserve-root)--no-preserve-root' \ - "--preserve-root[fail to operate recursively on '/']" \ - '(--reference -u --user -r --role -l --range -t --type)1:security context:_selinux_contexts' \ - "${ign}--help[display help information]" \ - "${ign}--version[display version information]" \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_chflags b/result/sw/share/zsh/5.9/functions/_chflags deleted file mode 100644 index 924b09ac..00000000 --- a/result/sw/share/zsh/5.9/functions/_chflags +++ /dev/null @@ -1,23 +0,0 @@ -#compdef chflags - -local args own='-g *(-u$EUID)' - -(( ! EUID || $+_comp_priv_prefix )) && own= - -if [[ $OSTYPE = (darwin|dragonfly|freebsd)* ]]; then - args=( - "-f[don't display diagnostic messages]" - '-v[verbose output]' - ) -fi - -_arguments -s -A "-*" : $args \ - ': :_file_flags' \ - '*:file:_files "$own"' \ - - opth \ - '-h[act on symlinks]' \ - - optR \ - '-R[recurse directories]' \ - '(-L -P)-H[follow symlinks on the command line (specify with -R)]' \ - '(-H -P)-L[follow all symlinks (specify with -R)]' \ - '(-L -H)-P[do not follow symlinks (specify with -R)]' diff --git a/result/sw/share/zsh/5.9/functions/_chkconfig b/result/sw/share/zsh/5.9/functions/_chkconfig deleted file mode 100644 index 76da38d2..00000000 --- a/result/sw/share/zsh/5.9/functions/_chkconfig +++ /dev/null @@ -1,28 +0,0 @@ -#compdef chkconfig - -local curcontext="$curcontext" state line expl ret=1 - -case $OSTYPE in -linux*) - _arguments -C \ - '(- 2)--list[list services]' \ - '(-)--level[specify runlevels to apply to]:-:_values -s "" "run levels" 1 2 3 4 5 6 7' \ - '(- 2)--add[add new service]' \ - '(- 2)--del[remove service from chkconfig management]' \ - '1:service name:_services' \ - '2:state:(on off reset)' && ret=0 -;; -irix*) - _arguments -C \ - '(- 1)-s[print state of configuration flags]' \ - '(1 -s)-f[set flag state]:configuration flag:->flag:state:(on off)' \ - '1:configuration flag:->flag' && ret=0 - - if [[ -n "$state" ]]; then - _wanted conf-flags expl 'configuration flag' \ - compadd ${${${(f)"$($words[1])"}[4,-1]##$'\t'}%% *} && ret=0 - fi -;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_chmod b/result/sw/share/zsh/5.9/functions/_chmod deleted file mode 100644 index 42e3fa63..00000000 --- a/result/sw/share/zsh/5.9/functions/_chmod +++ /dev/null @@ -1,96 +0,0 @@ -#compdef chmod gchmod zf_chmod - -local curcontext="$curcontext" state line expl ret=1 variant -local -a args privs aopts - -# usual -* pattern picks up valid non-options, e.g. -x which is like a-x -aopts=( -A '-[^gorstuwxX]*' ) - -args=( '*: :->files' '1: :_file_modes' ) - -_pick_variant -r variant -b zsh gnu=Free\ Soft $OSTYPE --version -case "$variant" in - zsh) - # Assign, not append because zf_chmod only supports octal modes. - args=( - '-R[change files and directories recursively]' - '-s[enable paranoid behavior]' - '1: :_guard "[0-7]#" "octal mode"' - '*: :->files' - ) - ;; - gnu) - aopts=() - args+=( - '(-v --verbose -c --changes)'{-c,--changes}'[report changes made]' - '(-v --verbose -c --changes)'{-v,--verbose}'[output a diagnostic for every file processed]' - '(-f --silent --quiet)'{-f,--silent,--quiet}'[suppress most error messages]' - '(--no-preserve-root)--preserve-root[fail to operate recursively on /]' - "(--preserve-root)--no-preserve-root[don't treat / specially (default)]" - '(1)--reference=[copy permissions of specified file]:file:_files' - '(-R --recursive)'{-R,--recursive}'[change files and directories recursively]' - '(- : *)--help[display help information]' - '(- : *)--version[display version information]' - ) - ;; - *) - args+=( - '-f[suppress most error messages]' - '-R[change files and directories recursively]' - ) - ;| - freebsd*|dragonfly*|darwin*) - args+=( - '-v[output a diagnostic for every file processed]' - ) - ;| - freebsd*|netbsd*|darwin*|dragonfly*) - args+=( - '-h[operate on symlinks themselves]' - ) - ;| - freebsd*|openbsd*|netbsd*|darwin*|dragonfly*) - args+=( - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - ) - ;| - darwin*) - args+=( - '(1)-C[return false if any specified files have ACLs]' - '(1)-N[remove ACLs from specified files]' - '(1)-E[read ACL info from stdin as sequential list of ACEs]' - "(1)-i[remove inherited bit from all entries in specified files' ACLs]" - "(1)-I[remove all inherited entries from specified files' ACLs]" - ) - ;; -esac - -_arguments -C -s -S $aopts "$args[@]" && ret=0 - -case "$state" in - files) - if [[ -n $opt_args[--reference] ]]; then - zmodload -F zsh/stat b:zstat 2>/dev/null - typeset -i8 ref=$(zstat +mode $opt_args[--reference]) - _wanted files expl file _files -g "*(-.^f${ref#??})" && ret=0 - elif [[ $line[1] = [0-7]## ]]; then - _wanted files expl file _files -g "*(-.^f$line[1])" && ret=0 - else - local spec who op priv - local -a specs - for spec in ${(s:,:)line[1]}; do - if [[ ${spec#*[+-=]} != [rwxst]## ]]; then - _files && ret=0 - return ret - fi - - specs+=( ${${(M)spec##[+-=]*}:+a}$spec ) - done - _wanted files expl file _files -g "*(-.^f:${(j.,.)specs}:)" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_choom b/result/sw/share/zsh/5.9/functions/_choom deleted file mode 100644 index 2a6dd03c..00000000 --- a/result/sw/share/zsh/5.9/functions/_choom +++ /dev/null @@ -1,10 +0,0 @@ -#compdef choom - -_arguments -S \ - '(H -n --adjust)'{-n,--adjust}'+[specify the adjust score value (-1000...1000)]:score (-1000...1000)' \ - '(H -p --pid)'{-p,--pid}'[interpret args as process ID]:process ID:_pids' \ - '(H -p --pid):command:_command_names' \ - '*::arguments:_normal' \ - + 'H' \ - '(- *)'{-V,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' diff --git a/result/sw/share/zsh/5.9/functions/_chown b/result/sw/share/zsh/5.9/functions/_chown deleted file mode 100644 index 9ebbf7ba..00000000 --- a/result/sw/share/zsh/5.9/functions/_chown +++ /dev/null @@ -1,117 +0,0 @@ -#compdef chown chgrp gchown=chown gchgrp=chgrp zf_chown=chown zf_chgrp=chgrp - -local curcontext="$curcontext" state line expl ret=1 variant -local suf usr grp req deref pattern arg args aopts=( -A '-*' ) - -_pick_variant -r variant -b zsh gnu=Free\ Soft $OSTYPE --version -case "$variant" in - gnu) - aopts=() - args=( - '(-c --changes -v --verbose)'{-c,--changes}'[report each change made]' - '(-c --changes -v --verbose)'{-v,--verbose}'[output info for every file processed]' - '(-h --no-dereference)--dereference[dereference symlinks]' - '(-h --no-dereference --dereference)'{-h,--no-dereference}'[operate on symlinks themselves]' - '(-f --silent --quiet)'{-f,--silent,--quiet}"[don't report errors]" - '--preserve-root[fail to operate recursively on /]' - '--reference=[copy ownership of specified file]:file:_files' - '(-R --recursive)'{-R,--recursive}'[change files and directories recursively]' - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - '(- : *)--help[display help information]' - '(- : *)--version[display version information]' - ) - [[ $service = chown ]] && - args+=( '--from=[restrict changes to files by current ownership]: :->owner' ) - ;; - *) - args=( - '-h[operate on symlinks themselves]' - '-R[change files and directories recursively]' - ) - ;| - zsh) - args+=( - '-s[enable paranoid behavior]' - ) - ;; - *) - args+=( - '(-H -L -P)-L[follow all symlinks]' - '(-H -L -P)-H[follow symlinks on the command line]' - '(-H -L -P)-P[do not follow symlinks (default)]' - ) - ;| - dragonfly*|freebsd*) - args+=( - "-x[don't traverse file systems]" - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|solaris*) - args+=( - "-f[don't report errors]" - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-v[output info for every file processed]' - ) - ;| - solaris2.<11->) - args+=( - '-s[owner and/or group are Windows SID strings]' - ) - ;; -esac - -(( $+words[(r)--reference*] )) || args+=( '(--reference)1: :->owner' ) -_arguments -C -s -S $aopts "$args[@]" '*: :->files' && ret=0 - -case $state in - owner) - if [[ $service = chgrp ]] || compset -P '*[:.]'; then - if (( EGID && $+commands[groups] && ! $+_comp_priv_prefix )); then # except for sudo - _wanted groups expl 'group' compadd -- $(groups) && return 0 - fi - _groups && ret=0 - else - if compset -S '[.:]*'; then - suf=() - elif [[ $OSTYPE = irix* ]]; then - suf=( -qS '.' ) - else - suf=( -qS ':' ) - fi - _users "$suf[@]" && ret=0 - fi - ;; - files) - (( $+opt_args[-h] || $+opt_args[--no-dereference] )) || deref="-" - if (( $+opt_args[--reference] )); then - zmodload -F zsh/stat b:zstat 2>/dev/null - usr=$(zstat +uid $opt_args[--reference]) - grp=$(zstat +gid $opt_args[--reference]) - _wanted files expl file _files -g "*($deref^u$usr,$deref^g$grp)" && ret=0 - return ret - fi - if [[ $service = chgrp ]]; then - grp=${line[1]} - else - usr=${line[1]%%[.:]*} - usr=${${(M)usr:#[0-9]#}:-${userdirs[$usr]:+.$usr.}} - grp=${${(M)line[1]%%[.:]*}#?} - fi - [[ -n $grp ]] && grp="${${(M)grp:#[0-9]#}:-.$grp.}" - req=( ${usr:+\^u$usr} ${grp:+\^g$grp} ) - (( EUID )) && req=( u$EUID$^req ) - req=( $deref$^req ) - req="*(${(j:,:)req})" - - ( : $~req ) 2> /dev/null || req='*' - - _wanted files expl file _files -g "$req" && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_chroot b/result/sw/share/zsh/5.9/functions/_chroot deleted file mode 100644 index 51699269..00000000 --- a/result/sw/share/zsh/5.9/functions/_chroot +++ /dev/null @@ -1,53 +0,0 @@ -#compdef chroot gchroot - -local variant ret=1 -local -a context line state state_descr args -local -A opt_args - -_pick_variant -r variant gnu='Free Soft' unix --version - -variant+=-$OSTYPE - -case $variant in - gnu-*) - args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - '--groups=[specify supplemental group memberships]: :_sequence -s , _groups' - '--userspec=[specify user and group to run process as]: :->userspecs' - '--skip-chdir[do not change working directory to /]' - ) - ;; - *-openbsd*) - args=( - '-u+[specify user to run process as]: :_users' - '-g+[specify group to run process as, and supplemental group memberships]: :_sequence -s , _groups' - ) - ;; - *-(darwin|dragonfly|freebsd|netbsd)*) - args=( - '-u+[specify user to run process as]: :_users' - '-g+[specify group to run process as]: :_groups' - '-G+[specify supplemental group memberships]: :_sequence -s , _groups' - ) - ;; -esac - -args+=( '1:new root directory:_directories' '*:::command:_normal' ) - -_arguments -s -S : $args && ret=0 - -# @todo user:group specs are probably used often enough to justify making a type -# function for this (see also `chown`, `cpio`, `rsync`, ...) -[[ $state == userspecs ]] && -if compset -P '*:*:'; then - ret=1 -elif compset -P '*:'; then - _groups && ret=0 -elif compset -S ':*'; then - _users && ret=0 -else - _users -qS : && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_chrt b/result/sw/share/zsh/5.9/functions/_chrt deleted file mode 100644 index 6789b66c..00000000 --- a/result/sw/share/zsh/5.9/functions/_chrt +++ /dev/null @@ -1,68 +0,0 @@ -#compdef chrt - -local curcontext="$curcontext" cmd="$words[1]" ret=1 -local -a state line expl -typeset -A opt_args - -_arguments -C -s -S -A "-*" \ - '(H -a --all-tasks)'{-a,--all-tasks}'[operate on all tasks (threads) for a given pid]' \ - '(H)'{-v,--verbose}'[display status information]' \ - '(H)'{-p,--pid}'[interpret args as process ID]' \ - '(H -R --reset-on-fork -b --batch -d --deadline -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \ - '(H)*::command or priority:->cmd_or_prio' \ - + 'H' \ - '(* -)'{-m,--max}'[show minimum and maximum valid priorities, then exit]' \ - '(* -)'{-h,--help}'[display usage information]' \ - '(* -)'{-V,--version}'[output version information]' \ - + 'dline' \ - '(H -T --sched-runtime -b --batch -f --fifo -i --idle -o --other -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \ - '(H -P --sched-period -b --batch -f --fifo -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \ - '(H -D --sched-deadline -b --batch -f --fifo -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \ - + '(policy)' \ - '(H dline -R --reset-on-fork)'{-b,--batch}'[set scheduling policy to SCHED_BATCH]' \ - '(H -R --reset-on-fork)'{-d,--deadline}'[set scheduling policy to SCHED_DEADLINE]' \ - '(H dline)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \ - '(H dline -R --reset-on-fork)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \ - '(H dline -R --reset-on-fork)'{-o,--other}'[set scheduling policy to SCHED_OTHER]' \ - '(H dline)'{-r,--rr}'[set scheduling policy to SCHED_RR (default)]' && ret=0 - -_chrt_priority() -{ - local ty - [[ -prefix - ]] && return 1 - if (( $+opt_args[policy--b] || $+opt_args[policy---batch] )); then - ty=BATCH - elif (( $+opt_args[policy--f] || $+opt_args[policy---fifo] )); then - ty=FIFO - elif (( $+opt_args[policy--o] || $+opt_args[policy---other] )); then - ty=OTHER - else - ty=RR - fi - local range - range=${${(M)${(f)"$(_call_program priorities $cmd --max)"}:#*_${ty}*}#*: } - if [[ $range = 0/0 ]]; then - _wanted priorites expl 'priority' compadd 0 - else - _message -e priorities "priority (range $range)" - fi -} - -if (( $+opt_args[-p] || $+opt_args[--pid] )) -then - if (( CURRENT == 1 )); then - _alternative \ - 'priority:priority:_chrt_priority' \ - 'processes:process IDs:_pids' && ret=0 - else - _pids && ret=0 - fi -elif (( CURRENT == 1 )); then - _chrt_priority && ret=0 -else - shift words - (( CURRENT-- )) - _normal && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_chsh b/result/sw/share/zsh/5.9/functions/_chsh deleted file mode 100644 index 80236980..00000000 --- a/result/sw/share/zsh/5.9/functions/_chsh +++ /dev/null @@ -1,67 +0,0 @@ -#compdef chsh chpass - -local variant help=h -local -a args shells - -case $OSTYPE in - darwin*|*bsd*) - args=( '(-a)-s[specify new login shell]:shell:($shells)' ) - ;| - (free|net|open)bsd*) - args+=( '(-s 1)-a[specify user database entry]:passwd entry' ) - ;| - darwin*) - args+=( - '-l[specify location of user]:location' - '-u[specify authentication name]:auth user' - ) - ;; - (free|net)bsd*) - args+=( - '(-y)-l[update only the local password file]' - '(-l)-y[force YP database entry to be changed]' - ) - ;| - freebsd*) - args+=( - '-p[specify encrypted password field]:password hash' - '-e[change account expire time]:expiry time' - '-d[specify NIS domain]:domain' - '-h[specify NIS server to query]:NIS server:_hosts' - '-o[force use of RPC-based updates]' - ) - ;; - (linux-gnu) - _pick_variant -r variant util-linux=util-linux suse=pwdutils debian -v - args=( -S : '(-)'{-s+,--shell=}'[specify new login shell]:shell:($shells)' ) - case $variant in - suse|util-linux) - shells=( $(_call_program shells $words[1] -l) ) - args+=( - '(-)'{-l,--list-shells}'[print shells in /etc/shells]' - '(-)'{-v,--version}'[display version information]' - ) - help=u - ;| - util-linux|debian) - args+=( '(-)-'{$help,-help}'[display help information]' ) - ;| - suse) - args+=( - '(-)'{-u,--usage}'[display short usage message]' - '(-)--help[display help information]' - '(-D --binddn)'{-D+,--binddn=}'[specify LDAP distinguished name to bind]:binddn' - '(-P --path)'{-P+,--path=}'[specify path to search for passwd and shadow files]:path:_directories' - '(-q --quiet)'{-q,--quiet}"[don't be verbose]" - '--service=[use specified name service]:service:(files nis nisplus ldap)' - ) - ;; - debian) - args+=( '(-R --root)'{-R+,--root=}'[specify directory to chroot into]:directory:_directories' ) - ;; - esac - ;; -esac - -(( $#shells )) || shells=( ${(Z+Cn+)"$(</etc/shells)"} ) -_arguments $args '1:user name:_users' diff --git a/result/sw/share/zsh/5.9/functions/_cksum b/result/sw/share/zsh/5.9/functions/_cksum deleted file mode 100644 index 67f2a789..00000000 --- a/result/sw/share/zsh/5.9/functions/_cksum +++ /dev/null @@ -1,112 +0,0 @@ -#compdef cksum gcksum sum gsum md2 md4 md5 rmd160 sha1 sha256 sha384 sha512 sha512t256 skein256 skein512 skein1024 - -# This function covers mostly the BSD `cksum`, `sum`, and digest utilities. It -# also covers the GNU Coreutils `cksum` and `sum`. For the GNU digest utilities, -# see `_md5sum`. For the `shasum` Perl script, see `_shasum`. -# -# Notes: -# - We really don't do a very good job of handling option exclusivity here. In -# particular, OpenBSD treats -t and -x as exclusive of each other and most -# other options — but there are issues with other variants too (@todo) -# - Although only OpenBSD's documentation mentions it, -t can be supplied -# multiple times with all variants to run additional rounds of testing -# - All digest variants on a given platform share code, but not all variants are -# found on all platforms (e.g., Darwin only has `md5`). Some BSDs are actively -# purging legacy/insecure digest tools -# - The documentation for Dragonfly/FreeBSD `sum` says that it's 'identical to' -# `cksum`, but, as the synopsis confirms, it doesn't take any options -# - FreeBSD's -c is never useful, and Dragonfly's -b/-e are *almost* never -# useful, with multiple input files -# - NetBSD's -n isn't useful with `sum` and `cksum` unless a digest is specified -# with -a. Similarly, OpenBSD's -b isn't useful with `cksum` without -a -# - OpenBSD's -a option allows you to add a b/x suffix to each algorithm name; -# we don't handle that. Also, only one -a option can be used in conjunction -# with -c; we don't handle that either - -local -a args - -_pick_variant gnu='Free Soft' unix --version && { - args=( - '*: :_files' - '(: -)--help[display help information]' - '(: -)--version[display version information]' - ) - [[ $service == *cksum* ]] || args+=( - '(-s --sysv)-r[use BSD algorithm (1 KiB blocks)]' - '(-r -s --sysv)'{-s,--sysv}'[use System V algorithm (512 B blocks)]' - ) - _arguments -s -S : $args - return -} - -[[ $OSTYPE == (darwin|dragonfly|freebsd|openbsd)* && $service == sum ]] && { - _default - return -} - -[[ $OSTYPE == (darwin|dragonfly|freebsd)* && $service == cksum ]] && { - _arguments -s -S -A '-*' \ - '-o[use specified historic algorithm]:historic algorithm:(1 2 3)' \ - '*: :_files' - return -} - -case $OSTYPE in - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '(-n -p -r)-q[output checksums only]' - ) - ;| # MATCH AGAIN - darwin*|dragonfly*|freebsd*|openbsd*) - args+=( - '(-p -q)-r[reverse output format]' - ) - ;| # MATCH AGAIN - netbsd*|openbsd*) - args+=( - '-c[verify checksums from input files]' - ) - ;| # MATCH AGAIN - dragonfly*) - args+=( - '-b+[begin processing files at specified offset]:begin offset (bytes)' - '-e+[end processing files at specified offset]:end offset (bytes)' - ) - ;; - freebsd*) - args+=( - '-c+[verify input against specified digest string]:digest string' - ) - ;; - netbsd*) - args+=( - '(-p -q)-n[reverse output format]' - '(-p)-w[warn on malformed checksum files]' - ) - [[ $service == (|ck)sum ]] && args+=( - '(-o)-a+[use specified algorithm]:algorithm:(crc md2 md4 md5 old1 old2 rmd160 sha1 sha256 sha384 sha512)' - '(-a)-o+[use specified historic algorithm]:historic algorithm:(1 2)' - ) - ;; - openbsd*) - args+=( - '-b[output in base64]' - '(-h)-C+[verify input files against checksums in specified file]:checksum file:_files' - '(-C)-h+[output checksums to specified file]:checksum file:_files' - '(-n -r)-q[output checksum only, or suppress check success messages]' - ) - [[ $service == cksum ]] && args+=( - '*-a+[use specified algorithm(s)]:algorithm:_values -s , algorithm cksum md5 rmd160 sha1 sha224 sha256 sha384 sha512/256 sha512' - ) - ;; -esac - -args+=( - '-p[output stdin along with checksum]' - '*-s+[checksum specified string]:string' - '*-t[run built-in time trial(s)]' - '-x[run built-in tests]' - '*: :_files' -) - -_arguments -s -S -A '-*' : $args diff --git a/result/sw/share/zsh/5.9/functions/_clay b/result/sw/share/zsh/5.9/functions/_clay deleted file mode 100644 index 581338b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_clay +++ /dev/null @@ -1,42 +0,0 @@ -#compdef clay - -# Completion for the Clay Programming Language -# http://claylabs.com/clay/ - -_arguments -C \ - "-o:specify output file:_files" \ - "-target:set target platform for code generation" \ - "-shared[create a dynamically linkable library]" \ - "-emit-llvm[emit llvm code]" \ - "-S[emit assembler code]" \ - "-c[emit object code]" \ - "-D-:set flag value" \ - "-O-:set optimization level:(0 1 2 3)" \ - "-g[keep debug symbol information]" \ - "-exceptions[enable exception handling]" \ - "-no-exceptions[disable exception handling]" \ - "-inline[inline procedures marked 'forceinline']" \ - "-no-inline[ignore 'inline' and 'forceinline' keyword]" \ - "-import-externals[include externals from imported modules]" \ - "-no-import-externals[don't include externals from imported modules]" \ - "-pic[generate position independent code]" \ - "-abort[abort on error (to get stacktrace in gdb)]" \ - "-run[execute the program without writing to disk]" \ - "-timing[show timing information]" \ - "-full-match-errors[show universal patterns in match failure errors]" \ - "-log-match:log overload matching behavior for calls" \ - "-arch:build for Darwin architecture <arch>" \ - "-F-:add <dir> to framework search path:_files -/" \ - "-framework:link with framework <name>" \ - "-L:add <dir> to library search path:_files -/" \ - "-Wl,-:pass flags to linker" \ - "-l-:link with library <lib>" \ - "-I+:add <path> to clay module search path:_files -/" \ - "-deps[keep track of the dependencies of the currently]" \ - "-no-deps[don't generate dependencies file]" \ - "-o-deps:write the dependencies to this file" \ - "-e:compile and run <source> (implies -run)" \ - "-M-:import <module>.*; for -e" \ - "-v[display version info]" \ - ":program file:_files -g '*.clay(-.)'" - diff --git a/result/sw/share/zsh/5.9/functions/_cmdambivalent b/result/sw/share/zsh/5.9/functions/_cmdambivalent deleted file mode 100644 index 1f15d11a..00000000 --- a/result/sw/share/zsh/5.9/functions/_cmdambivalent +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -if (( CURRENT == 1 && ${#words} == 1 )); then - # Heuristics to decide whether to complete for system() or for execl(). - local space=' ' - if (( ${${words[CURRENT]}[(I)$space]} )); then - _cmdstring - elif [[ ${${compstate[all_quotes]}[1]} == (\'|\") ]]; then - _cmdstring - else - _command_names -e - fi -elif (( CURRENT == 1 )); then - _command_names -e -else - _normal -fi diff --git a/result/sw/share/zsh/5.9/functions/_cmdstring b/result/sw/share/zsh/5.9/functions/_cmdstring deleted file mode 100644 index fb19fdb7..00000000 --- a/result/sw/share/zsh/5.9/functions/_cmdstring +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -# This is for a quoted argument that will be interpreted as a command. - -compset -q -_normal diff --git a/result/sw/share/zsh/5.9/functions/_cmp b/result/sw/share/zsh/5.9/functions/_cmp deleted file mode 100644 index 6d7bfb1b..00000000 --- a/result/sw/share/zsh/5.9/functions/_cmp +++ /dev/null @@ -1,34 +0,0 @@ -#compdef cmp gcmp - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( - '(-b --print-bytes)'{-b,--print-bytes}'[print differing bytes]' - '(-i --ignore-initial)'{-i+,--ignore-initial}'[skip specified number of bytes]:bytes' - '(-l --verbose -s --silent --quiet)'{-l,--verbose}'[output all differences]' - '(-n --bytes)'{-n+,--bytes=}'[specify maximum bytes to compare]:bytes' - '(-s --quiet --silent -l --verbose)'{-s,--quiet,--silent}'[return status alone signifies differences]' - '(- *)'{-v,--version}'[display version information]' - '(- *)--help[display help information]' - ) - ;; - netbsd*) args+=( "-c[don't use mmap]" ) ;| - freebsd*|openbsd*) - args=( - "-h[don't follow symbolic links]" - '-x[hexadecimal output and zero based offset index]' - '-z[compare file sizes first]' - ) - ;& - *) - args+=( - '(-s)-l[output all differences]' - '(-l)-s[silent: return status alone signifies differences]' - ) - ;; -esac - -_arguments -s $args '1:file 1:_files' '2:file 2:_files' '::byte offset' '::byte offset' diff --git a/result/sw/share/zsh/5.9/functions/_code b/result/sw/share/zsh/5.9/functions/_code deleted file mode 100644 index 76cd3dd1..00000000 --- a/result/sw/share/zsh/5.9/functions/_code +++ /dev/null @@ -1,38 +0,0 @@ -#compdef code - -local arguments - -arguments=( - '(-d --diff)'{-d,--diff}'[compare two files with each other]:file to compare:_files:file to compare with:_files' - \*{-a,--add}'[add specified directory to the last active window]:directory:_directories' - '(-g --goto)'{-g,--goto}'[open a file at the path on the specified line and column position]:file\:line[\:column]:_files -r \:' - '(-n --new-window -r --reuse-window)'{-n,--new-window}'[open a new window]' - '(-n --new-window -r --reuse-window)'{-r,--reuse-window}'[open a file or directory in the last active window]' - '(-w --wait)'{-w,--wait}'[wait for the files to be closed before returning]' - '--locale=[specify the locale to use]:locale (e.g. en-US or zh-TW):(de en en-US es fr it ja ko ru zh-CN zh-TW bg hu pt-br tr bg hu pt-br tr)' - '--user-data-dir[specify the directory that user data is in]:directory:_directories' - '(- *)'{-v,--version}'[print version]' - '(- *)'{-h,--help}'[print usage]' - '--extensions-dir[specify the root path for extensions]:root path:_directories' - '--list-extensions[list the installed extensions]' - '--show-versions[show versions of installed extensions, when using --list-extension]' - '--install-extension[specify extension to install]:id or path:_files -g "*.vsix(-.)"' - '--uninstall-extension[specify extension to uninstall]:id or path:_files -g "*.vsix(-.)"' - '--enable-proposed-api[enable proposed api features for specified extension]:extension id' - '--verbose[print verbose output (implies --wait)]' - '--log[specify log level to use]:level [info]:(critical error warn info debug trace off)' - '(-s --status)'{-s,--status}'[print process usage and diagnostics information]' - '(-p --performance)'{-p,--performance}'[start with the "Developer: Startup Performance" command enabled]' - '--prof-startup[run CPU profiler during startup]' - \*--disable-extension'[disable specified installed extension]' - '(--disable-extension --disable-extensions)--disable-extensions[disable all installed extensions]' - '--inspect-extensions[allow debugging and profiling of extensions]' - '--inspect-brk-extensions[allow debugging and profiling of extensions with the extension host being paused after start]' - '--disable-gpu[disable GPU hardware acceleration]' - '--upload-logs[uploads logs from current session to a secure endpoint]:confirm:(iConfirmLogsUpload)' - '--max-memory=[specify max memory size for a window]:size (Mbytes)' - '--folder-uri[open specified URI as a folder, if there is an extension contributing a FileSystemProvider for that URI]' - '*:filename:_files' -) - -_arguments -s -S $arguments diff --git a/result/sw/share/zsh/5.9/functions/_column b/result/sw/share/zsh/5.9/functions/_column deleted file mode 100644 index 94bdccf0..00000000 --- a/result/sw/share/zsh/5.9/functions/_column +++ /dev/null @@ -1,82 +0,0 @@ -#compdef column - -# Note: BSD and util-linux disagree on how to describe the behaviour of the -x -# option. We use our own wording to avoid confusion - -local variant ret=1 -local -a context state line expl args columns MATCH aopts=( -A '-*' ) -local -i MBEGIN MEND -local -A opt_args - -# Debian and its derivatives (as of 2019) ship with a slightly customised -# version of the BSD column instead of the util-linux one. It can be identified -# by the presence of the custom option -n in the synopsis -_pick_variant -r variant \ - util-linux='(#i)util-linux' \ - debian='\[-[A-Za-z]#n[A-Za-z]#\]' \ - $OSTYPE \ ---version - -case $variant in - util-linux) - aopts=() - args=( - '(info json -c --output-width)'{-c+,--output-width=}'[format output to fit display of specified width]:width' - '(info)'{-L,--table-empty-lines}"[don't ignore empty lines]" - + fill - '(info table text json -x --fillrows)'{-x,--fillrows}'[print across before down]' - + table - '(info fill -t --table)'{-t,--table}'[create a table]' - '(info fill -o --output-separator)'{-o+,--output-separator=}'[specify column separator for table output]:separator [two spaces]' - '(info fill -s --separator)'{-s+,--separator=}'[specify column delimiters in input data]:delimiters' - '(info fill -O --table-order)'{-O+,--table-order=}'[specify order of output columns]: :->columns' - '(info fill -N --table-columns)'{-N+,--table-columns=}'[specify column names]:names' - '(info fill -H --table-hide)'{-H+,--table-hide=}"[don't print specified columns]: :->columns" - + text - '(info fill json -d --table-noheadings)'{-d,--table-noheadings}"[don't print header]" - '(info fill json -E --table-noextreme)'{-E+,--table-noextreme}"[specify columns where length can be ignored]: :->columns" - '(info fill json -e --table-header-repeat)'{-e,--table-header-repeat}'[repeat header for each page]' - '(info fill json -H --table-hide)'{-H+,--table-hide=}"[don't print specified columns]: :->columns" - '(info fill json -R --table-right)'{-R+,--table-right=}'[right align text in these columns]: :->columns' - '(info fill json -T --table-truncate)'{-T+,--table-truncate=}'[truncate text in the columns when necessary]: :->columns' - '(info fill json -W --table-wrap)'{-W+,--table-wrap=}'[wrap text in the columns when necessary]: :->columns' - '(info fill json -r --tree)'{-r+,--tree=}'[specify column to format tree-like]: :->columns' - '(info fill json -i --tree-id)'{-i+,--tree-id=}'[specify column containing ID for child-parent relations]: :->columns' - '(info fill json -p --tree-parent)'{-p+,--tree-parent=}'[specify column containing reference to parent]: :->columns' - + json - '(info fill text -n --table-name -c --output-width)'{-n+,--table-name=}'[specify table name for JSON output]:name' - '(info fill text -J --json -c --output-width)'{-J,--json}'[use JSON output format for table]' - + info - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) - ;; - debian) - aopts=() - args=( - "(-x)-n[don't merge multiple adjacent delimiters]" - "-e[don't ignore empty lines]" - ) - ;& # FALL THROUGH - *) - args+=( - '(-t -s)-c+[format output to fit display of specified width]:width' - '(-c -x)-t[create a table]' - '(-c -x)-s+[specify column delimiters in input data]:delimiters' - '(-n -t -s)-x[print across before down]' - ) - ;; -esac - -_arguments -s -S $aopts '*:file:_files' $args && ret=0 - -if [[ -n $state ]]; then - columns=( ${(s.,.)${(Q)${opt_args[table--N]:-$opt_args[table---table-columns]}//(#m)\\([\\:])/${MATCH[2]}}} ) - if (( $#columns )); then - ${${(M)state:#*s}:+_sequence} _wanted -C "$context[1]" columns expl column compadd -a - columns && ret=0 - else - _message -e columns "$state" - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_combination b/result/sw/share/zsh/5.9/functions/_combination deleted file mode 100644 index 5e87b31e..00000000 --- a/result/sw/share/zsh/5.9/functions/_combination +++ /dev/null @@ -1,102 +0,0 @@ -#autoload - -# Usage: -# _combination [-s S] TAG STYLE \ -# Ki1[:Ni1]=Pi1 Ki2[:Ni2]=Pi2 ... Kim[:Nim]=Pim Kj[:Nj] EXPL... -# -# STYLE should be of the form K1-K2-...-Kn. -# -# Example: telnet -# -# Assume a user sets the style `users-hosts-ports' as for the my-accounts -# tag: -# -# zstyle ':completion:*:*:telnet:*:my-accounts' users-hosts-ports \ -# @host0: user1@host1: user2@host2: -# @mail-server:{smtp,pop3} -# @news-server:nntp -# @proxy-server:8000 -# -# -# `_telnet' completes hosts as: -# -# _combination my-accounts users-hosts-ports \ -# ${opt_args[-l]:+users=${opt_args[-l]:q}} \ -# hosts "$expl[@]" -# -# This completes `host1', `host2', `mail-server', `news-server' and -# `proxy-server' according to the user given with `-l' if it is exists. -# And if it is failed, `_hosts' is called. -# -# `_telnet' completes ports as: -# -# _combination my-accounts users-hosts-ports \ -# ${opt_args[-l]:+users=${opt_args[-l]:q}} \ -# hosts="${line[2]:q}" \ -# ports "$expl[@]" -# -# This completes `smtp', `pop3', `nntp' and `8000' according to the -# host argument --- $line[2] and the user option argument if it is -# exists. And if it is failed, `_ports' is called. -# -# `_telnet' completes users for an argument of option `-l' as: -# -# _combination my-accounts users-hosts-ports \ -# ${line[2]:+hosts="${line[2]:q}"} \ -# ${line[3]:+ports="${line[3]:q}"} \ -# users "$expl[@]" -# -# This completes `user1' and `user2' according to the host argument and -# the port argument if they are exist. And if it is failed, `_users' is -# called. - -local sep tag style keys pats key num tmp - -if [[ "$1" = -s ]]; then - sep="$2" - shift 2 -elif [[ "$1" = -s* ]]; then - sep="${1[3,-1]}" - shift -else - sep=: -fi - -tag="$1" -style="$2" -shift 2 - -keys=( ${(s/-/)style} ) -pats=( "${(@)keys/*/*}" ) - -while [[ "$1" = *=* ]]; do - tmp="${1%%\=*}" - key="${tmp%:*}" - if [[ $1 = *:* ]]; then - num=${tmp##*:} - else - num=1 - fi - pats[$keys[(in:num:)$key]]="${1#*\=}" - shift -done - -key="${1%:*}" -if [[ $1 = *:* ]]; then - num=${1##*:} -else - num=1 -fi -shift - -if zstyle -a ":completion:${curcontext}:$tag" "$style" tmp; then - eval "tmp=( \"\${(@M)tmp:#\${(j($sep))~pats}}\" )" - if (( keys[(in:num:)$key] != 1 )); then - eval "tmp=( \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}${~sep}} )" - fi - tmp=( ${tmp%%${~sep}*} ) - - compadd "$@" -a tmp || { (( $+functions[_$key] )) && "_$key" "$@" } -else - (( $+functions[_$key] )) && "_$key" "$@" -fi diff --git a/result/sw/share/zsh/5.9/functions/_comm b/result/sw/share/zsh/5.9/functions/_comm deleted file mode 100644 index f8c535a4..00000000 --- a/result/sw/share/zsh/5.9/functions/_comm +++ /dev/null @@ -1,30 +0,0 @@ -#compdef comm gcomm - -local -a args aopts=( -A '-*' ) - -args=( - '-1[suppress lines unique to first file]' - '-2[suppress lines unique to second file]' - '-3[suppress lines that appear in both files]' - '1:file to compare:_files' - '2:file to compare:_files' -) - -if _pick_variant gnu=GNU unix --version; then - aopts=( ) - args+=( - '(--nocheck-order)--check-order[check input is correctly sorted]' - "(--check-order)--nocheck-order[don't check input is correctly sorted]" - '--output-delimiter=[specify column delimiter]:delimiter' - '--total[display summary]' - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter]' - '(- : *)--version[display version information]' - '(- : *)--help[display help information]' - ) -elif [[ $OSTYPE = (freebsd|dragonfly|darwin)* ]]; then - args+=( '-i[case insensitive comparison of lines]' ) -elif [[ $OSTYPE = (openbsd|netbsd)* ]]; then - args+=( '-f[case insensitive comparison of lines]' ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/sw/share/zsh/5.9/functions/_command b/result/sw/share/zsh/5.9/functions/_command deleted file mode 100644 index 503f860a..00000000 --- a/result/sw/share/zsh/5.9/functions/_command +++ /dev/null @@ -1,7 +0,0 @@ -#compdef command - -_arguments \ - '-v[indicate result of command search]:*:command:_path_commands' \ - '-V[show result of command search in verbose form]:*:command:_path_commands' \ - '(-)-p[use default PATH to find command]' \ - '*:: : _normal -p $service' diff --git a/result/sw/share/zsh/5.9/functions/_command_names b/result/sw/share/zsh/5.9/functions/_command_names deleted file mode 100644 index 12cbd69c..00000000 --- a/result/sw/share/zsh/5.9/functions/_command_names +++ /dev/null @@ -1,68 +0,0 @@ -#autoload - -# The option `-e' if given as the first argument says that we should -# complete only external commands and executable files. This and a -# `-' as the first argument is then removed from the arguments. - -local args defs expl ffilt - -zstyle -t ":completion:${curcontext}:commands" rehash && rehash - -zstyle -t ":completion:${curcontext}:functions" prefix-needed && \ - [[ $PREFIX != [_.]* ]] && \ - ffilt='[(I)[^_.]*]' - -defs=( - 'commands:external command:_path_commands' -) - -if [[ -n "$path[(r).]" || $PREFIX = */* ]]; then - defs+=( 'executables:executable file:_files -g \*\(-\*\)' ) -else - # this is ignored but exists to facilitate the use of the fake style - _description executables expl 'executable file' -fi - -if [[ "$1" = -e ]]; then - shift -elif (( ${#precommands:|builtin_precommands} )); then - # precommand excludes internal options below -else - [[ "$1" = - ]] && shift - - defs=( "$defs[@]" - 'builtins:builtin command:compadd -Qk builtins' - "functions:shell function:compadd -k 'functions$ffilt'" - 'aliases:alias:compadd -Qk aliases' - 'suffix-aliases:suffix alias:_suffix_alias_files' - 'reserved-words:reserved word:compadd -Qk reswords' - 'jobs:: _jobs -t' - 'parameters:: _parameters -g "^*(readonly|association)*" -qS= -r "\n\t\- =[+"' - 'parameters:: _parameters -g "*association*~*readonly*" -qS\[ -r "\n\t\- =[+"' - ) -fi - -args=( "$@" ) - -local -a cmdpath - -zstyle -a ":completion:${curcontext}" command-path cmdpath - -# Using the current PATH doesn't necessarily make sense when completing commands -# to tools like sudo, which might set a different one. A common issue is that -# /**/sbin appear in the PATH used by the tool, but not in the one used by the -# unprivileged user who calls it. To do the right thing in the most common -# cases, we'll simply ensure that the sbin variants always appear here when not -# otherwise overridden (bash-completion's _sudo does something similar) -if (( ! $#cmdpath && $#_comp_priv_prefix )); then - cmdpath=( $path ${path/%\/bin//sbin} ) - cmdpath=( ${(u)^cmdpath}(/-N) ) -fi - -if (( $#cmdpath )); then - local -a +h path - local -A +h commands - path=( $cmdpath:A ) -fi - -_alternative -O args "$defs[@]" diff --git a/result/sw/share/zsh/5.9/functions/_comp_locale b/result/sw/share/zsh/5.9/functions/_comp_locale deleted file mode 100644 index e55338b9..00000000 --- a/result/sw/share/zsh/5.9/functions/_comp_locale +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -# Arrange that LC_CTYPE retains the current setting so characters in -# file names are handled properly, but other locales are set to C so -# that the completion system can process output without surprises. - -# This exports new locale settings, so should only -# be run in a subshell. A typical use is in a $(...). - -local ctype - -if ctype=${${(f)"$(locale 2>/dev/null)"}:#^LC_CTYPE=*}; then - unset -m LC_\* - [[ -n $ctype ]] && eval export $ctype -else - ctype=${LC_ALL:-${LC_CTYPE:-${LANG:-C}}} - unset -m LC_\* - export LC_CTYPE=$ctype -fi -export LANG=C diff --git a/result/sw/share/zsh/5.9/functions/_compadd b/result/sw/share/zsh/5.9/functions/_compadd deleted file mode 100644 index 4456cf71..00000000 --- a/result/sw/share/zsh/5.9/functions/_compadd +++ /dev/null @@ -1,103 +0,0 @@ -#compdef compadd -P _* - -local curcontext="$curcontext" ret=1 -local -a state line args -typeset -A opt_args - -args=( - '-P+[specify prefix]:prefix' - '-S+[specify suffix]:suffix' - '-p+[specify hidden prefix]:hidden prefix' - '-s+[specify hidden suffix]:hidden suffix' - '-i+[specify ignored prefix]:ignored prefix' - '-I+[specify ignored suffix]:ignored suffix' - '-o[specify order for matches by match string not by display string]:: : _values -s , order - "match[order by match not by display string]" - "nosort[matches are pre-ordered]" - "numeric[order numerically]" - "reverse[order backwards]"' - '(-1 -E)-J+[specify match group]:group' - '!-V+:group' - '(-J -E)-1[remove only consecutive duplicates from group]' - '-2[preserve all duplicates]' - '(-x)-X[specify explanation]:explanation' - '(-X)-x[specify unconditional explanation]:explanation' - '-q[make suffix autoremovable]' - '-r+[specify character class for suffix autoremoval]:character class' - '-R+[specify function for suffix autoremoval]:function:_functions' - '-F+[specify array of ignore patterns]:array:_parameters -g "*array*"' - '-Q[disable quoting of possible completions]' - '*-M[specify matching specifications]' - '-n[hide matches in completion listing]' - '-O+[populate array with matches instead of adding them]:array:_parameters -g "*array*"' - '-A+[populate array with expanded matches instead of adding them]:array:_parameters -g "*array*"' - '*-D+[delete elements from array corresponding to non-matching candidates]:array:_parameters -g "*array*"' -) - -case $service in - compadd|_(path_|)files) - args+=( - '-W[specify location for matches marked as files]' - ) - ;| - compadd) - args+=( - '(-k)-a[matches are elements of specified arrays]' - '(-a)-k[matches are keys of specified associative arrays]' - '-d+[specify display strings]:array:_parameters -g "*array*"' - '-l[list display strings one per line, not in columns]' - '-f[mark matches as being files]' - '-e[mark matches as being parameters]' - '-C[add special match that expands to all other matches]' - '(-1 -J)-E+[add specified number of display only matches]:number' - '-U[disable internal matching of completion candidates]' - '*:candidate:->candidates' - ) - ;; - _dates) - args=( ${args:#([(][^)]##\)|)-[12noOAD]*} - '-f[specify format for matches]:format:_date_formats' - '-F[select a future rather than past date]' - ) - ;; - _(path_|)files) - args=( ${args:#([(][^)]##\)|)-[OAD]*} - '-g+[specify file glob pattern]:glob pattern' - '-/[complete only directories]' - ) - ;; - _parameters) - args+=( - '-g+[specify pattern to filter parameter type by]:pattern' - ) - ;; - _pids) - args+=( '-m+[pattern to filter process command line by]:pattern' ) - ;; - _process_names) - args+=( - '-a[include all processes]' - '-t[use truncated process names]' - ) - ;; - _sys_calls) - args+=( - '-a[add "all" as an additional match]' - '-n[add "none" as an additional match]' - ) - ;; -esac - -_arguments -C -s -S -A "-*" $args && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[-a] )); then - _parameters -g "*array*" && ret=0 - elif (( $+opt_args[-k] )); then - _parameters -g "*assoc*" && ret=0 - else - _message -e candidates candidate - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_compdef b/result/sw/share/zsh/5.9/functions/_compdef deleted file mode 100644 index 22af7f56..00000000 --- a/result/sw/share/zsh/5.9/functions/_compdef +++ /dev/null @@ -1,79 +0,0 @@ -#compdef compdef - -local state line expl disp curcontext="$curcontext" pat normal ret=1 -local args1 args2 -typeset -A opt_args - -args2=() -if (( ! ${words[2,-1][(I)[^-]*]} || ${words[(I)-[kK]]} )); then - args1=( - -A '-*' - '(-d)-a[make function autoloadable]' - '(-d)-n[leave existing definitions intact]' - ) - args2=( - - d - '-d[delete]:*:completed command:->ccom' - - k - '-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' - - K - '-K[define multiple widgets based on function]:*::: :->multi' - ) -else - args1=( - '!-a' '!-n' - '*-N[completion for named command]' - ) -fi - -_arguments -C -s -S \ - "$args1[@]" \ - '*-p[completion for command matching pattern]' \ - '*-P[completion for command matching pattern]' \ - ':completion function:->cfun' \ - '*:commands:->com' \ - "$args2[@]" && ret=0 - -if [[ $state = multi ]]; then - case $(( CURRENT % 3 )) in - 0) _message -e keys key - return 1;; - 1) state=cfun;; - 2) state=style;; - esac -fi - -case $state in - com) - pat="${words[(I)-[pP]]}" - normal="${words[(I)-N]}" - if (( pat && pat > normal )); then - _message -e patterns 'pattern' - else - _command_names && ret=0 - fi - ;; - ccom) - _wanted commands expl 'completed command' compadd -k _comps && ret=0 - ;; - cfun) - typeset -aU list=( ${(v)_comps} ${(k)functions[(I)_*]} ) - (( ${+list[1]} )) || list+=( ${^fpath:/.}/_(|*[^~])(:t) ) - if zstyle -T ":completion:${curcontext}:functions" prefix-hidden; then - disp=( ${list[@]#_} ) - _wanted functions expl 'completion function' \ - compadd -d disp -a list && ret=0 - else - _wanted functions expl 'completion function' compadd -a list && ret=0 - fi - ;; - style) - _wanted widgetstyle expl 'widget style' \ - compadd -M 'r:|-=* r:|=*' \ - complete-word delete-char-or-list expand-or-complete \ - expand-or-complete-prefix list-choices menu-complete \ - menu-expand-or-complete reverse-menu-complete && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_complete b/result/sw/share/zsh/5.9/functions/_complete deleted file mode 100644 index 743fd046..00000000 --- a/result/sw/share/zsh/5.9/functions/_complete +++ /dev/null @@ -1,144 +0,0 @@ -#autoload - -# Generate all possible completions. Note that this is not intended as -# a normal completion function, but as one possible value for the -# completer style. - -local comp name oldcontext ret=1 service -typeset -T curcontext="$curcontext" ccarray - -oldcontext="$curcontext" - -# If we have a user-supplied context name, use only that. - -if [[ -n "$compcontext" ]]; then - - if [[ "${(t)compcontext}" = *array* ]]; then - local expl - - _wanted values expl value compadd -a - compcontext - - elif [[ "${(t)compcontext}" = *assoc* ]]; then - local expl tmp i - - tmp=() - for i in "${(@k)compcontext[(R)*[^[:blank:]]]}"; do - tmp=( "$tmp[@]" "${i}:${compcontext[$i]}" ) - done - tmp=( "$tmp[@]" "${(k@)compcontext[(R)[[:blank:]]#]}" ) - - _describe -t values value tmp - - elif [[ "$compcontext" = *:*:* ]]; then - local tag="${${compcontext%%:*}:-values}" - local descr="${${${compcontext#${tag}:}%%:*}:-value}" - local action="${compcontext#${tag}:${descr}:}" expl ws ret=1 - - case "$action" in - \ #) - _message -e "$tag" "$descr";; - - \(\(*\)\)) - eval ws\=\( "${action[3,-3]}" \) - - _describe -t "$tag" "$descr" ws;; - - \(*\)) - eval ws\=\( "${action[2,-2]}" \) - - _wanted "$tag" expl "$descr" compadd -a - ws;; - - \{*\}) - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - eval "$action[2,-2]" && ret=0 - done - (( ret )) || break - done;; - - \ *) - eval ws\=\( "$action" \) - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - "$ws[@]" - done - (( ret )) || break - done;; - - *) - eval ws\=\( "$action" \) - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - "$ws[1]" "$expl[@]" "${(@)ws[2,-1]}" - done - (( ret )) || break - done;; - - esac - - else - ccarray[3]="$compcontext" - - comp="$_comps[$compcontext]" - [[ -n "$comp" ]] && eval "$comp" - fi - - return -fi - -# An entry for `-first-' is the replacement for `compctl -T' - -comp="$_comps[-first-]" -if [[ -n "$comp" ]]; then - service="${_services[-first-]:--first-}" - ccarray[3]=-first- - eval "$comp" && ret=0 - if [[ "$_compskip" = all ]]; then - _compskip= - return ret - fi -fi - -# If we are inside `vared' and we don't have a $compcontext, we treat -# this like a parameter assignment. Which it is. - -[[ -n $compstate[vared] ]] && compstate[context]=vared - -# For arguments and command names we use the `_normal' function. - -ret=1 -if [[ "$compstate[context]" = command ]]; then - curcontext="$oldcontext" - _normal -s && ret=0 -else - # Let's see if we have a special completion definition for the other - # possible contexts. - - local cname="-${compstate[context]:s/_/-/}-" - - ccarray[3]="$cname" - - comp="$_comps[$cname]" - service="${_services[$cname]:-$cname}" - - # If not, we use default completion, if any. - - if [[ -z "$comp" ]]; then - if [[ "$_compskip" = *default* ]]; then - _compskip= - return 1 - fi - comp="$_comps[-default-]" - service="${_services[-default-]:--default-}" - fi - [[ -n "$comp" ]] && eval "$comp" && ret=0 -fi - -_compskip= - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_complete_debug b/result/sw/share/zsh/5.9/functions/_complete_debug deleted file mode 100644 index 94fd4acc..00000000 --- a/result/sw/share/zsh/5.9/functions/_complete_debug +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -k complete-word \C-x? - -eval "$_comp_setup" - -(( $+_debug_count )) || integer -g _debug_count -local tmp=${TMPPREFIX}${$}${words[1]:t}$[++_debug_count] -local pager w="${(qq)words}" - -integer debug_fd=-1 -{ - if [[ -t 2 ]]; then - zmodload -F zsh/files b:zf_ln 2>/dev/null && - zf_ln -fn =(<<<'') $tmp && - exec {debug_fd}>&2 2>| $tmp - fi - - local -a debug_indent - () { - setopt localoptions no_ignorebraces - debug_indent=( '%'{3..20}'(e. .)' ) - } - local PROMPT4 PS4="${(j::)debug_indent}+%N:%i> " - setopt xtrace - : $ZSH_NAME $ZSH_VERSION - ${1:-_main_complete} - integer ret=$? - unsetopt xtrace - - if (( debug_fd != -1 )); then - zstyle -s ':completion:complete-debug::::' pager pager - print -sR "${pager:-${PAGER:-${VISUAL:-${EDITOR:-more}}}} ${(q)tmp} ;: $w" - _message -r "Trace output left in $tmp (up-history to view)" - if [[ $compstate[nmatches] -le 1 && $compstate[list] != *force* ]]; then - compstate[list]='list force messages' - fi - fi -} always { - (( debug_fd != -1 )) && exec 2>&$debug_fd {debug_fd}>&- -} -return ret diff --git a/result/sw/share/zsh/5.9/functions/_complete_help b/result/sw/share/zsh/5.9/functions/_complete_help deleted file mode 100644 index 69855de9..00000000 --- a/result/sw/share/zsh/5.9/functions/_complete_help +++ /dev/null @@ -1,91 +0,0 @@ -#compdef -k complete-word \C-xh - -_complete_help() { - eval "$_comp_setup" - - local _sort_tags=_help_sort_tags text i j k tmp - typeset -A help_funcs help_tags help_sfuncs help_styles - - local -H _help_scan_funcstack="main_complete|complete|approximate|normal" - local -H _help_filter_funcstack="alternative|call_function|describe|dispatch|wanted|requested|all_labels|next_label" - - { - compadd() { return 1 } - compcall() { _help_sort_tags use-compctl } - zstyle() { - local _f="${${(@)${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}" - - [[ -z "$_f" ]] && _f="${${(@)funcstack[2,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}" - - if [[ "$help_sfuncs[$2]" != *${_f}* || - "$help_styles[${2}${_f}]" != *${3}* ]]; then - - [[ "$help_sfuncs[$2]" != *${_f}* ]] && help_sfuncs[$2]+=$'\0'"${_f}" - local _t - - case "$1" in - -s) _t='[string] ';; - -a) _t='[array] ';; - -h) _t='[assoc] ';; - *) _t='[boolean]';; - esac - help_styles[${2}${_f}]+=",${_t} ${3}:${_f}" - fi - - # No need to call the completers more than once with different match specs. - - if [[ "$3" = matcher-list ]]; then - set -A "$4" '' - else - builtin zstyle "$@" - fi - } - - ${1:-_main_complete} - } always { - unfunction compadd compcall zstyle - } - - for i in "${(@ok)help_funcs}"; do - text+=$'\n'"tags in context :completion:${i}:" - tmp=() - for j in "${(@ps.\0.)help_funcs[$i][2,-1]}"; do - tmp+=( "${(@s.,.)help_tags[${i}${j}][2,-1]}" ) - done - zformat -a tmp ' (' "$tmp[@]" - tmp=( $'\n '${^tmp}')' ) - text+="${tmp}" - done - - if [[ ${NUMERIC:-1} -ne 1 ]]; then - text+=$'\n' - for i in "${(@ok)help_sfuncs}"; do - text+=$'\n'"styles in context ${i}" - tmp=() - for j in "${(@ps.\0.)help_sfuncs[$i][2,-1]}"; do - tmp+=( "${(@s.,.)help_styles[${i}${j}][2,-1]}" ) - done - zformat -a tmp ' (' "$tmp[@]" - tmp=( $'\n '${^tmp}')' ) - text+="${tmp}" - done - fi - compstate[list]='list force' - compstate[insert]='' - - compadd -UX "$text[2,-1]" -n '' -} - -_help_sort_tags() { - local f="${${(@)${(@)funcstack[3,(i)_($~_help_scan_funcstack)]}:#(_($~_help_filter_funcstack)|\((eval|anon)\))}% *}" - - if [[ "$help_funcs[$curcontext]" != *${f}* || - "$help_tags[${curcontext}${f}]" != *(${(j:|:)~argv})* ]]; then - [[ "$help_funcs[$curcontext]" != *${f}* ]] && - help_funcs[$curcontext]+=$'\0'"${f}" - help_tags[${curcontext}${f}]+=",${argv}:${f}" - comptry "$@" 2>/dev/null - fi -} - -_complete_help "$@" diff --git a/result/sw/share/zsh/5.9/functions/_complete_help_generic b/result/sw/share/zsh/5.9/functions/_complete_help_generic deleted file mode 100644 index 7aaa1a8d..00000000 --- a/result/sw/share/zsh/5.9/functions/_complete_help_generic +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -# Note this is a normal ZLE widget, not a completion widget. -# A completion widget can't call another widget, while a normal -# widget can. - -[[ $WIDGET = *noread* ]] || local ZSH_TRACE_GENERIC_WIDGET - -if [[ $WIDGET = *debug* ]]; then - ZSH_TRACE_GENERIC_WIDGET=_complete_debug -else - ZSH_TRACE_GENERIC_WIDGET=_complete_help -fi - -if [[ $WIDGET != *noread* ]]; then - zle read-command && zle $REPLY -w -fi diff --git a/result/sw/share/zsh/5.9/functions/_complete_tag b/result/sw/share/zsh/5.9/functions/_complete_tag deleted file mode 100644 index 397b8d90..00000000 --- a/result/sw/share/zsh/5.9/functions/_complete_tag +++ /dev/null @@ -1,62 +0,0 @@ -#compdef -k complete-word \C-xt - -# Complete tags using either TAGS or tags. Looks up your directory -# hierarchy to find one. If both exist, uses TAGS. -# -# You can override the choice of tags file with $TAGSFILE (for TAGS) -# or $tagsfile (for tags). -# -# Could be rewritten by some sed expert to use sed instead of perl. - -emulate -L zsh - -# Tags file to look for -local c_Tagsfile=${TAGSFILE:-TAGS} c_tagsfile=${tagsfile:-tags} expl -# Max no. of directories to scan up through -integer c_maxdir=10 -# Context. -local curcontext="$curcontext" -local -a c_tags_array - -if [[ -z "$curcontext" ]]; then - curcontext="complete-tag:::" -else - curcontext="complete-tag:${curcontext#*:}" -fi - -local c_path= -integer c_idir -while [[ ! -f $c_path$c_Tagsfile && - ! -f $c_path$c_tagsfile && $c_idir -lt $c_maxdir ]]; do - (( c_idir++ )) - c_path=../$c_path -done - -if [[ -f $c_path$c_Tagsfile && $c_path$c_Tagsfile -ef $c_path$c_tagsfile && - "$(head -1 $c_path$c_tagsfile)" == '!_TAG_'* ]]; then - c_Tagsfile= -fi - -if [[ -f $c_path$c_Tagsfile ]]; then - # prefer the more comprehensive TAGS, which unfortunately is a - # little harder to parse. - # could do this with sed, just can't be bothered to work out how, - # after quarter of an hour of trying, except for - # rm -f =sed; ln -s /usr/local/bin/perl /usr/bin/sed - # but that's widely regarded as cheating. - c_tags_array=($(sed -n \ - -e 's/^\(.*[a-zA-Z_0-9]\)[[ '$'\t'':;,()]*'$'\177''.*$/\1/' \ - -e 's/^.*[^a-zA-Z_0-9]//' \ - -e '/^[a-zA-Z_].*/p' $c_path$c_Tagsfile)) -# c_tags_array=($(perl -ne '/([a-zA-Z_0-9]+)[ \t:;,\(]*\x7f/ && -# print "$1\n"' $c_path$c_Tagsfile)) - _main_complete - '' _wanted etags expl 'emacs tag' \ - compadd -a c_tags_array -elif [[ -f $c_path$c_tagsfile ]]; then - # tags doesn't have as much in, but the tag is easy to find. - # we can use awk here. - c_tags_array=($(awk '{ print $1 }' $c_path$c_tagsfile)) - _main_complete - '' _wanted vtags expl 'vi tag' compadd -a c_tags_array -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_completers b/result/sw/share/zsh/5.9/functions/_completers deleted file mode 100644 index 87c986a1..00000000 --- a/result/sw/share/zsh/5.9/functions/_completers +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -# option: -p - needs a `_' prefix -local us -local -a disp list expl - -list=( complete approximate correct match expand list menu oldlist - ignored prefix history ) -zparseopts -D -K -E 'p=us' -[[ -n "$us" ]] && us='_' -zstyle -t ":completion:${curcontext}:completers" prefix-hidden && - disp=(-d list) -_wanted completers expl 'completer' \ - compadd "$@" "$disp[@]" - "$us${^list[@]}" diff --git a/result/sw/share/zsh/5.9/functions/_composer b/result/sw/share/zsh/5.9/functions/_composer deleted file mode 100644 index 1cd3f356..00000000 --- a/result/sw/share/zsh/5.9/functions/_composer +++ /dev/null @@ -1,850 +0,0 @@ -#compdef composer composer.phar - -# Notes: -# - With some re-arranging, this function could be used as a base for completing -# any Symfony Console application. It's worth mentioning that most Console -# applications provide their help output in structured XML and JSON formats, -# and a helper function could be written to parse these and produce basic -# completion similar to what `_arguments --` does. But it wouldn't be fully -# featured like this -# - Completing arbitrary package names from Packagist, even with caching enabled -# (which it is by default here), can be very slow; it may even hang the shell. -# To disable the fetching of remote packages and use only local cache/JSON -# information for completion, set the fetch-packages style as follows: -# zstyle ':completion:*:composer:*' fetch-packages no -# - @todo We don't complete custom commands (including script aliases). This is -# easy to do in the general case, but it probably requires some clever caching -# to avoid introducing a noticeable lag to every completion operation, due to -# the way command resolution works and the fact that discovering custom -# commands requires making slow calls to Composer -# - @todo We don't complete version constraints - -# Check cache validity -__composer_cache_policy() { - # Invalidate if the cache is over a week old - [[ -n $1(#qmw+1N) ]] && return 0 - - __composer_update_work_dir - - # Invalidate if the current project JSON file is newer than the cache - [[ -e $_composer_work_dir/composer.json ]] && - [[ $_composer_work_dir/composer.json -nt $1 ]] -} - -# _call_program wrapper (same eval/quoting rules apply) -# $1 => tag -# $2 ... => composer arguments -(( $+functions[__composer_call] )) || -__composer_call() { - local -a cmd - - __composer_update_work_dir - - cmd=( ${_composer_cmd:-composer} -d${(q)${_composer_work_dir:-$PWD}} ) - (( _composer_is_global )) && cmd+=( global ) - - _call_program $1 $cmd "${@[2,-1]}" -} - -# Resolve potentially abbreviated/aliased command name to canonical name -# $1 => name of scalar parameter to set -# $2 => provided command name -(( $+functions[__composer_resolve_cmd] )) || -__composer_resolve_cmd() { - local __i __ret=1 - local -a __cmds __tmp=( ${(@)_composer_cmds%%:*} ) - - __cmds=( $__tmp[(r)$2] ) - (( $#__cmds )) || __cmds=( ${(M)__tmp:#$2*} ) - - if (( $#__cmds == 1 )); then - 2=$__cmds[1] - (( $+_composer_cmd_aliases[$2] )) && 2=$_composer_cmd_aliases[$2] - __ret=0 - else - 3=$__cmds[1] - - # An ambiguous prefix match isn't ambiguous if all the matches are aliases - # of each other - for (( __i = 2; __i <= $#__cmds; __i++ )); do - if [[ $_composer_cmd_aliases[$__cmds[__i]] == $3 ]]; then - __cmds[__i]=() - elif [[ $_composer_cmd_aliases[$3] == $__cmds[__i] ]]; then - 3=$__cmds[__i] - __cmds[__i]=() - fi - done - - if (( $#__cmds == 1 )); then - 2=$3 - __ret=0 - elif (( $#__cmds )); then - _message -e ambiguous-commands "ambiguous command: $2 ($__cmds)" - else - # @todo Too annoying without handling custom commands - : _message -e unrecognized-commands "unrecognized command: $2" - fi - fi - : ${(P)1::=$2} - return __ret -} - -# Remove already-used global options (this is a bit silly admittedly) -# $1 ... => options given (e.g. ${(k)opt_args}) -(( $+functions[__composer_prune_global_opts] )) || -__composer_prune_global_opts() { - local opt - local -a excls specs remove - - for opt in $@; do - specs=( ${(M)_composer_global_opts:#(*[\*\)]|)${opt}[=+-]#\[*} ) - excls=( ${=${(@)${(@M)specs#\([^\)]##\)}//[ \(\)]/ }} ) - remove+=( - # Don't remove used options like *-v - ${specs:#(*\)|)\*${opt}[=+-]#\[*} - # But do remove them if a used option excludes them - ${(M)_composer_global_opts:#(*[\*\)]|)(${(j<|>)~${(@b)excls}})[=+-]#\[*} - ) - done - - _composer_global_opts=( ${_composer_global_opts:#(${(j<|>)~${(@b)remove}})} ) -} - -# Update the working directory from opt_args/PWD. This is a little irritating to -# deal with; for now we're just calling it anywhere it might be important -(( $+functions[__composer_update_work_dir] )) || -__composer_update_work_dir() { - if [[ -n ${(v)opt_args[(i)(-d|--working-dir)]} ]]; then - _composer_work_dir=${(Q)${(v)opt_args[(i)(-d|--working-dir)]}} - elif [[ -z $_composer_work_dir ]]; then - _composer_work_dir=$PWD - fi -} - -# Complete local/vendored binaries -(( $+functions[__composer_binaries] )) || -__composer_binaries() { - local -a expl tmp - - tmp=( ${(f)"$( __composer_call exec-list exec -l )"} ) - tmp=( ${(@)tmp%%[[:space:]]##} ) - [[ $tmp[1] == *: ]] && tmp[1]=() - tmp=( ${(@)tmp##[\*-][[:space:]]#} ) - tmp=( ${(@)tmp%%[[:space:]]##\(local\)} ) - - _wanted -x commands expl binary compadd -a "$@" - tmp -} - -# Complete commands -(( $+functions[__composer_commands] )) || -__composer_commands() { - _describe -t commands command _composer_cmds -} - -# Complete package licences -(( $+functions[__composer_licenses] )) || -__composer_licenses() { - # These are just the ones the Composer documentation recommends; the full list - # of supported identifiers can be found at https://spdx.org/licenses/. If - # other functions need to complete licences in the future, it might be wise to - # break this out into a _licenses type - local -a tmp=( - 'Apache-2.0:Apache License 2.0' - 'BSD-2-Clause:BSD 2-Clause "Simplified" License' - 'BSD-3-Clause:BSD 3-Clause "New" or "Revised" License' - 'BSD-4-Clause:BSD 4-Clause "Original" or "Old" License' - 'GPL-2.0-only:GNU General Public License v2.0 only' - 'GPL-2.0-or-later:GNU General Public License v2.0 or later' - 'GPL-3.0-only:GNU General Public License v3.0 only' - 'GPL-3.0-or-later:GNU General Public License v3.0 or later' - 'LGPL-2.1-only:GNU Lesser General Public License v2.1 only' - 'LGPL-2.1-or-later:GNU Lesser General Public License v2.1 or later' - 'LGPL-3.0-only:GNU Lesser General Public License v3.0 only' - 'LGPL-3.0-or-later:GNU Lesser General Public License v3.0 or later' - 'MIT:MIT License' - 'proprietary:proprietary/closed-source license' - ) - _describe -t licenses 'package license' tmp -} - -# Complete packages -# --pairs => complete as package:constraint pairs -# --vendor => complete only vendored (installed) packages -(( $+functions[__composer_packages] )) || -__composer_packages() { - local cwd - local -a pairs vendor home_dirs pkgs - - __composer_update_work_dir - - zparseopts -D -E - -vendor=vendor -pairs=pairs - - (( $#pairs )) && compset -P '*[:= ]' && { - _message -e versions 'version constraint' - return - } - - home_dirs=( - $COMPOSER_HOME(#q/N) - $HOME/.composer(#q/N) - $HOME/.config/composer(#q/N) - ${XDG_CONFIG_HOME:-/@err@}/composer(#q/N) - ) - - pkgs=( $_composer_work_dir/vendor/*/*(#q/N) ) - - # Trying to work out the path to the vendor directory when we're global is - # tedious, so we'll just take everything we can find - (( ! $#vendor || _composer_is_global )) && - pkgs+=( $^home_dirs/vendor/*/*(#q/N) ) - - (( $#vendor )) || pkgs+=( - ${COMPOSER_CACHE_DIR:-/@err@}/files/*/*(#q/N) - $^home_dirs/cache/files/*/*(#q/N) - ) - - pkgs=( ${(@M)pkgs%%[^/]##/[^/]##} ) - - (( $#vendor )) || { - pkgs+=( - ${(f)"$( - _call_program packages-json \ - command grep -soE ${(qq):-'"[^/]+\\?/[^/]+"\s*:'} -- \ - ${(qq)_composer_work_dir}/composer.json - )"//[$':" \t\\']/} - ${(@)${(f)"$( - _call_program packages-lock \ - command grep -soE ${(qq):-'"name"\s*:\s*"[^/]+\\?/[^/]+"'} -- \ - ${(qq)_composer_work_dir}/composer.lock - )"//\"name\"/}//[$':" \t\\']/} - ) - - zstyle -T ":completion:*:*:$service:*" fetch-packages && { - { (( ! $#_composer_cache_pkgs )) || _cache_invalid composer-pkgs } && - ! _retrieve_cache composer-pkgs && { - _composer_cache_pkgs=( ${(f)"$( - __composer_call packages-fetch show -aN | - LC_ALL=C tr -d '\t ' # Seems faster than ${...//.../} here - )"} ) - _store_cache composer-pkgs _composer_cache_pkgs - } - pkgs+=( $_composer_cache_pkgs ) - } - } - - (( $#pkgs )) || { - _message -e packages package - return - } - - if [[ $PREFIX == */* ]]; then - _description packages expl "${PREFIX%%/*}/* package" - else - _description packages expl 'package vendor' - fi - _multi_parts "${(@)expl}" "$@" / pkgs -} - -# Complete package repositories -(( $+functions[__composer_repositories] )) || -__composer_repositories() { - _alternative \ - 'urls:repository URL:_urls' \ - 'files:repository JSON configuration file:_files -g "*.json(#q-.)"' \ - 'json:repository JSON configuration object:' -} - -# Complete composer.json scripts -(( $+functions[__composer_scripts] )) || -__composer_scripts() { - local -a expl tmp - - tmp=( ${(f)"$( __composer_call run-script-list run-script -l )"} ) - tmp=( ${(@)tmp##[[:space:]]##} ) - tmp=( ${(@)tmp%%[[:space:]]##} ) - [[ $tmp[1] == *: ]] && tmp[1]=() - tmp=( ${(@)tmp##[\*-][[:space:]]#} ) - tmp=( ${(@)tmp%%[[:space:]]*} ) - - _wanted -x commands expl script compadd -a "$@" - tmp -} - -# Complete package stabilities -(( $+functions[__composer_stabilities] )) || -__composer_stabilities() { - local -a expl - _wanted stabilities expl 'package stability' compadd "$@" - \ - stable RC beta alpha dev -} - -# Complete package types -(( $+functions[__composer_types] )) || -__composer_types() { - local -a expl - # Only the first four here are official types listed in the documentation; the - # others are popular custom types - _wanted types expl 'package type' compadd "$@" - \ - composer-plugin library metapackage project \ - cakephp-plugin cantao-module drupal-module magento2-module package \ - phpcodesniffer-standard silverstripe-module symfony-bundle \ - typo3-cms-extension wordpress-plugin yii2-extension -} - -(( $+functions[_composer_archive] )) || -_composer_archive() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dir=[specify output directory]:output directory:_files -/' \ - '--file=[specify output file name]:output file name (without extension):_files' \ - '(-f --format)'{-f+,--format=}'[specify archive format]:archive format:(tar zip)' \ - '1:: :__composer_packages' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_check-platform-reqs] )) || -_composer_check-platform-reqs() { - _arguments -s -S : \ - $_composer_global_opts \ - '--no-dev[do not check require-dev package requirements]' -} - -(( $+functions[_composer_config] )) || -_composer_config() { - local ret=1 - local -a context expl line state state_descr cmd tmp - local -A opt_args - - # -a and -f can be used together, in which case auth.json will be looked up in - # the base directory of the -f file. -f and -g can't be used together, but -f - # can still be used to specify config.json with `composer global config` - _arguments -s -S : \ - $_composer_global_opts \ - + '(a)' '(A l u : *)'{-a,--auth}'[edit auth.json (with -e)]' \ - + '(A)' '(a e u)--absolute[display absolute *-dir setting paths]' \ - + '(e)' '(A l u : *)'{-e,--editor}'[open configuration in $EDITOR]' \ - + '(f)' '(g)'{-f+,--file=}'[specify {composer,config}.json path]:configuration file:_files' \ - + '(g)' {-g,--global}'[use global config.json]' \ - + '(l)' '(a e u : *)'{-l,--list}'[list configuration settings]' \ - + '(u)' '(a A e l *)--unset[unset specified setting key]' \ - + k '(a e l)1: :->key' \ - + v '(a e l u)*:: :->val' \ - && ret=0 - __composer_update_work_dir - - case $state in - key) - # `composer config` doesn't seem to actually respect -d... - tmp=( ${(v)opt_args[(i)([^-]##-|)(-f|--file)]} ) - cmd=( config -f$^tmp $opt_args[(i)([^-]##-|)(-g|--global)] -l ) - - tmp=( ${(@M)${(f)"$( __composer_call config-list $cmd )"}#\[*\]} ) - tmp=( ${(@)tmp//[ \]\[]/} ) - - _wanted setting-keys expl 'setting key' compadd -a "$@" - tmp && ret=0 - ;; - val) - case $words[1] in - *[.-]dirs#|home) - _wanted setting-values expl 'setting value' _files -/ "$@" && ret=0 - ;; - *[.-]domains#) - _wanted setting-values expl 'setting value' _hosts "$@" && ret=0 - ;; - *[.-]urls#) - _wanted setting-values expl 'setting value' _urls "$@" && ret=0 - ;; - *) - # If we wanted we could get specific about booleans, etc., here - _wanted setting-values expl 'setting value' _default "$@" && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_composer_create-project] )) || -_composer_create-project() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '(--remove-vcs)--keep-vcs[do not remove VCS directory]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-install[skip installation of package dependencies]' \ - '--no-progress[do not display download progress]' \ - '--no-secure-http[do not use HTTPS]' \ - '--no-scripts[prevent execution of scripts defined in root package]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '(--keep-vcs)--remove-vcs[force removal of VCS directory]' \ - '--repository=[specify package repository]: :__composer_repositories' \ - '!(--repository)--repository_url:repository URL:_urls' \ - '(-s --stability)'{-s+,--stability=}'[specify minimum stability]: :__composer_stabilities' \ - '1: :__composer_packages' \ - '2::project directory:_files -/' \ - '3:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_depends] )) || -_composer_depends() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-r --recursive)'{-r,--recursive}'[resolve recursively up to root package]' \ - '(-t --tree)'{-t,--tree}'[display in tree format]' \ - '1: :__composer_packages --vendor' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_dump-autoload] )) || -_composer_dump-autoload() { - _arguments -s -S : \ - $_composer_global_opts \ - '--apcu[use APCu to cache found/not-found classes]' \ - '--no-dev[ignore autoload-dev rules]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - + '(a)' '(o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(o)' {-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_exec] )) || -_composer_exec() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '(: * -l --list)'{-l,--list}'[display available binaries]' \ - '1: :__composer_binaries' \ - '*: :->next' \ - && ret=0 - - # Can't use *:: here, it won't complete subsequent options - [[ $state == next ]] && { - shift words - (( CURRENT-- )) - unset _composer_cmd - _normal && ret=0 - } - - return ret -} - -(( $+functions[_composer_global] )) || -_composer_global() { - _composer_is_global=1 - _composer "$@" -} - -(( $+functions[_composer_help] )) || -_composer_help() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [txt]:(json md txt xml)' \ - '--raw[output raw help (with text format)]' \ - '1: :__composer_commands' -} - -(( $+functions[_composer_home] )) || -_composer_home() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-H --homepage)'{-H,--homepage}'[use home page instead of repository]' \ - '(-s --show)'{-s,--show}'[display URL only (do not open)]' \ - '*: :__composer_packages' \ -} - -(( $+functions[_composer_init] )) || -_composer_init() { - _arguments -s -S : \ - $_composer_global_opts \ - '--author=[specify package author]:package author' \ - '--description=[specify package description]:package description' \ - '--homepage=[specify package home page]:package home page:_urls' \ - '(-l --license)'{-l+,--license=}'[specify package license]: :__composer_licenses' \ - '--name=[specify package name]: :__composer_packages' \ - '*--repository=[specify custom package repository]: :__composer_repositories' \ - '*--require=[specify package to require]: :__composer_packages --pairs' \ - '*--require-dev=[specify package to require for development]: :__composer_packages --pairs' \ - '(-s --stability)'{-s+,--stability=}'[specify minimum stability]: :__composer_stabilities' \ - '--type=-[specify package type]:: :__composer_types' -} - -(( $+functions[_composer_install] )) || -_composer_install() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--dry-run[do not actually install (implies -v)]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_licenses] )) || -_composer_licenses() { - _arguments -s -S : \ - $_composer_global_opts \ - '--no-dev[ignore require-dev packages]' \ - '--format=[specify output format]:output format [text]:(json text)' -} - -(( $+functions[_composer_list] )) || -_composer_list() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [txt]:(json md txt xml)' \ - '--raw[output raw help (with text format)]' \ - '1: :_guard "^-*" namespace' -} - -(( $+functions[_composer_outdated] )) || -_composer_outdated() { - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [text]:(json text)' \ - '--strict[return non-zero exit code if there are outdated packages]' \ - '1: :__composer_packages --vendor' \ - + '(a)' '(D I)'{-a,--all}'[display all installed packages]' \ - + '(D)' '(a)'{-D,--direct}'[display only packages directly required by root package]' \ - + '(I)' '(a)*--ignore=[ignore specified package (with -o)]: :__composer_packages' \ - + '(m)' '(a)'{-m,--minor-only}'[display only packages with minor semver updates (with -o)]' \ - + '(o)' '!(a)'{-o,--outdated} -} - -(( $+functions[_composer_prohibits] )) || -_composer_prohibits() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-r --recursive)'{-r,--recursive}'[resolve recursively up to root package]' \ - '(-t --tree)'{-t,--tree}'[display in tree format]' \ - '1: :__composer_packages --vendor' \ - '2:: :_guard "^-*" "version constraint"' -} - -(( $+functions[_composer_remove] )) || -_composer_remove() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dev[remove package from require-dev]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '(--update-no-dev)--no-update[do not update dependencies]' \ - '(--update-with-dependencies)--no-update-with-dependencies[do not update inherited dependencies]' \ - '(--no-update)--update-no-dev[update dependencies with --no-dev option]' \ - '(--no-update-with-dependencies)--update-with-dependencies[update inherited dependencies]' \ - '*: :__composer_packages --vendor' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' -} - -(( $+functions[_composer_require] )) || -_composer_require() { - _arguments -s -S : \ - $_composer_global_opts \ - '--dev[add package to require-dev]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '--prefer-lowest[prefer lowest versions of dependencies]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '--prefer-stable[prefer stable versions of dependencies]' \ - '--sort-packages[sort packages when adding/updating dependencies]' \ - '(--no-update)--update-no-dev[update dependencies with --no-dev option]' \ - '*: :__composer_packages --pairs' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' \ - + '(u)' \ - '(--update-no-dev)--no-update[do not update dependencies]' \ - '--update-with-dependencies[update inherited dependencies, except root requirements]' \ - '--update-with-all-dependencies[update all inherited dependencies]' -} - -(( $+functions[_composer_run-script] )) || -_composer_run-script() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[enable dev mode]' \ - '(: * -l --list)'{-l,--list}'[display available scripts]' \ - '(--dev)--no-dev[disable dev mode]' \ - '--timeout=[specify script timeout]:timeout (seconds)' \ - '1: :__composer_scripts' \ - '*: :->next' \ - && ret=0 - - # Can't use *:: here, it won't complete subsequent options - [[ $state == next ]] && { - shift words - (( CURRENT-- )) - unset _composer_cmd - _normal && ret=0 - } - - return ret -} - -(( $+functions[_composer_search] )) || -_composer_search() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-N --only-name)'{-N,--only-name}'[search package names only]' \ - '(-t --type)'{-t+,--type=}'[search for specified package type]: :__composer_types' \ - '*: :__composer_packages' -} - -(( $+functions[_composer_self-update] )) || -_composer_self-update() { - _arguments -s -S : \ - $_composer_global_opts \ - + '(c)' \ - '--preview[force update to preview channel]' \ - '--snapshot[force update to snapshot channel]' \ - '--stable[force update to stable channel]' \ - + '(C)' '(u)--set-channel-only[set channel as default and exit]' \ - + u \ - '(C -r --rollback)--clean-backups[delete old back-ups during update]' \ - '(C)--no-progress[do not display download progress]' \ - '(c C -r --rollback)'{-r,--rollback}'[roll back to earlier installation]' \ - '(C)--update-keys[prompt for key update]' \ - '(C)1: :_guard "^-*" "Composer version"' -} - -(( $+functions[_composer_show] )) || -_composer_show() { - local ret=1 - local -a context line state state_descr - local -A opt_args - - _arguments -s -S : \ - $_composer_global_opts \ - '--format=[specify output format]:output format [text]:(json text)' \ - '--strict[return non-zero exit code if there are outdated packages]' \ - '1: :->pkgs' \ - '2:: :_guard "^-*" "version constraint"' \ - + '(a)' '(D I s t)'{-a,--available}'[display only available packages]' \ - + '(A)' '(D I s t)--all[display all packages]' \ - + '(D)' '(a A p s)'{-D,--direct}'[display only packages directly required by root package]' \ - + '(i)' '(s)'{-i,--installed}'[display only installed packages]' \ - + '(I)' '(a A s t)*--ignore=[ignore specified package (with -o)]: :__composer_packages' \ - + '(l)' '(s t)'{-l,--latest}'[display only latest version of installed packages]' \ - + '(m)' '(a A s t)'{-m,--minor-only}'[display only packages with minor semver updates (with -o)]' \ - + '(N)' '(P)'{-N,--name-only}'[display package names only]' \ - + '(o)' '(l t s)'{-o,--outdated}'[like -l, but display only outdated packages]' \ - + '(p)' '(D)'{-p,--platform}'[display only PHP platform packages]' \ - + '(P)' '(a A N)'{-P,--path}'[display package file paths]' \ - + '(s)' '(a A I l o t)'{-s,--self}'[display root package information]' \ - + '(t)' '(a A I l o s)'{-t,--tree}'[display in tree format]' \ - && ret=0 - - [[ $state == pkgs ]] && - if [[ -n $opt_args[(i)[aA]-*] ]]; then - __composer_packages && ret=0 - else - __composer_packages --vendor && ret=0 - fi - - return ret -} - -(( $+functions[_composer_suggests] )) || -_composer_suggests() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--by-suggestion)--by-package[group results by suggesting package]' \ - '(--by-package)--by-suggestion[group results by suggested package]' \ - '--no-dev[exclude suggestions from require-dev packages]' \ - '*: :__composer_packages --vendor' -} - -(( $+functions[_composer_update] )) || -_composer_update() { - _arguments -s -S : \ - $_composer_global_opts \ - '(--no-dev)--dev[install require-dev packages]' \ - '--dry-run[do not actually update (implies -v)]' \ - '(-i -n --interactive --no-interaction)'{-i,--interactive}'[update with interactive interface]' \ - '--ignore-platform-reqs[ignore PHP platform requirements]' \ - '--lock[update composer.lock hash only]' \ - '!(--no-plugins)--no-custom-installers' \ - '(--dev)--no-dev[do not install require-dev packages]' \ - '--no-progress[do not display download progress]' \ - '--no-scripts[prevent execution of scripts defined in composer.json]' \ - '--no-suggest[do not display package suggestions]' \ - '(--prefer-source)--prefer-dist[prefer installation from dist]' \ - '--prefer-lowest[prefer lowest versions of dependencies]' \ - '(--prefer-dist)--prefer-source[prefer installation from source]' \ - '--prefer-stable[prefer stable versions of dependencies]' \ - '--root-reqs[update only root-package dependencies]' \ - '*:: :__composer_packages --vendor' \ - + '(a)' '(n o)'{-a,--classmap-authoritative}'[autoload from class maps only (implies -o)]' \ - + '(A)' '(n)--apcu-autoloader[use APCu to cache found/not-found classes]' \ - + '(n)' '(a A o)--no-autoload[skip autoloader generation]' \ - + '(o)' '(n)'{-o,--optimize}'[use class maps for PSR-0/4 packages]' \ - + '(u)' \ - '--with-dependencies[update dependencies of whitelisted packages, except root requirements]' \ - '--with-all-dependencies[update all dependencies of whitelisted packages]' -} - -(( $+functions[_composer_validate] )) || -_composer_validate() { - _arguments -s -S : \ - $_composer_global_opts \ - '(-A --with-dependencies)'{-A,--with-dependencies}'[validate composer.json of installed dependencies]' \ - '--no-check-all[do not validate completely]' \ - '--no-check-lock[ignore out-of-date composer.lock]' \ - '--no-check-publish[ignore publish errors]' \ - '--strict[return non-zero exit code for warnings as well as errors]' \ - '1::composer.json file:_files -g "*.json(#q-.)"' -} - -_composer() { - local ret=1 tmp helps cmd - local -a context line state state_descr - local -A opt_args - - # These are meant for use by helper functions; we check for set-ness first in - # case of `composer global` - (( $+_composer_cmd )) || { - local _composer_cmd=$words[1] _composer_is_global=0 _composer_work_dir= - local -a _composer_cmds _composer_global_opts _composer_cache_pkgs - local -A _composer_cmd_aliases - - # alias -> canonical (mappings derived from source) - _composer_cmd_aliases=( - browse home - clearcache clear-cache - dumpautoload dump-autoload - i install - info show - selfupdate self-update - u update - upgrade update - why depends - why-not prohibits - ) - # Official commands (see note at top about custom ones) - _composer_cmds=( - about:'display short information about Composer' - archive:'create archive of project/package' - check-platform-reqs:'check that platform requirements are satisfied' - clear{-,}cache:'clear internal package cache' - config:'set configuration options' - create-project:'create new project from package' - {depends,why}:'display packages depending on package' - diagnose:'diagnose system problems' - dump{-,}autoload:'dump class autoloader' - exec:'execute vendored binary/script' - global:'run command in global Composer directory' - help:'display help information' - {home,browse}:'open package home page or repository in browser' - init:'create basic composer.json' - {install,i}:'install packages in composer.{lock,json}' - licenses:'display dependency license information' - list:'display supported commands' - outdated:'display outdated packages' - {prohibits,why-not}:'display packages preventing package from being installed' - remove:'remove and uninstall required package' - require:'add and install required package' - run-script:'run scripts in composer.json' - search:'search packages' - self{-,}update:'upgrade Composer' - {show,info}:'display package information' - status:'display locally modified packages' - suggests:'display package suggestions' - {update,u,upgrade}:'upgrade packages in composer.json and update composer.lock' - validate:'validate composer.{json,lock}' - ) - # Global options (can be used both before and after a command) - _composer_global_opts=( - '(-h --help)'{-h,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - - # Symfony handles -vv and -vvv specially - '(-q -v --quiet --verbose)'{-q,--quiet}'[reduce output verbosity]' - '(-q --quiet --verbose)*-v[increase output verbosity]' - '(-q --quiet --verbose)--verbose[increase output verbosity]' - - '(--no-ansi)--ansi[force ANSI (color) output]' - '(--ansi)--no-ansi[disable ANSI (color) output]' - - '(-n --no-interaction)'{-n,--no-interaction}'[run non-interactively]' - - '--no-plugins[disable plug-ins]' - '--profile[display timing and memory usage information]' - '(-d --working-dir)'{-d+,--working-dir=}'[specify working directory]:working directory:_files -/' - ) - - # Use caching by default; Composer is very slow - zstyle -s ":completion:*:*:$service:*" cache-policy tmp - [[ -n $tmp ]] || - zstyle ":completion:*:*:$service:*" cache-policy __composer_cache_policy - - zstyle -s ":completion:*:*:$service:*" use-cache tmp - [[ -n $tmp ]] || - zstyle ":completion:*:*:$service:*" use-cache yes - } - - # Symfony's Application class naively intercepts --version and --help no - # matter where they appear on the command line. --version is handled - # sufficiently by the global option spec above; for --help, we need to - # simulate the help command - [[ -n $words[(r)(-h|--help)] ]] && { - helps=${#${(M)words[2,CURRENT]:#(-h|--help)}} - words=( "$words[1]" help "${(@)words[2,CURRENT]:#(-h|--help)}" ) - (( CURRENT -= helps - 1 )) - __composer_prune_global_opts -h --help - } - - _arguments -s -S -A '-*' : \ - $_composer_global_opts \ - '1: :__composer_commands' \ - '*:: :->next' \ - && ret=0 - __composer_update_work_dir - - [[ $state == next ]] && { - # Resolve abbreviated/aliased command names and ensure that $words[1] works - # as expected in our helper functions - __composer_resolve_cmd cmd $words[1] - words[1]=$_composer_cmd - - # Don't offer global options again after they've been given - __composer_prune_global_opts ${(k)opt_args} - # This is intentionally done twice - [[ $cmd == help ]] && __composer_prune_global_opts -h --help - - if (( $+functions[_composer_$cmd] )); then - _composer_$cmd "$@" && ret=0 - else - _arguments -s -S : $_composer_global_opts && ret=0 - fi - } - - return ret -} - -_composer "$@" diff --git a/result/sw/share/zsh/5.9/functions/_compress b/result/sw/share/zsh/5.9/functions/_compress deleted file mode 100644 index cd96b8e8..00000000 --- a/result/sw/share/zsh/5.9/functions/_compress +++ /dev/null @@ -1,48 +0,0 @@ -#compdef compress uncompress -redirect-,<,uncompress=uncompress -redirect-,>,compress=uncompress -redirect-,<,compress=compress - -local expl state line bits common_args1 common_args2 decompress ret=1 -local curcontext="$curcontext" -typeset -A opt_args -bits=( {9..16} ) - -common_args1=( \ - '-n[omit compressed file header from compressed file]' \ - '-V[display current version and compile options]' \ - '*:files:->files') -common_args2=( \ - '-c[write on standard output]' \ - '(-F)-f[force overwrite]' \ - '(-f)-F[force overwrite]' \ - '(-v)-q[suppress display of compression statistics]' \ - '(-q)-v[display compression statistics]' \ - "${common_args1[@]}" ) - -case "$service" in - compress) - _arguments -C -s \ - "-b[specify maximum number of bits used to replace common substring]:bits:(${bits[*]})" \ - '-C[produce output compatible with BSD 2.0]' \ - '(-b -C)-d[decompress]' \ - "${common_args2[@]}" && ret=0 - ;; - uncompress) - _arguments -C -s "${common_args2[@]}" && ret=0 - decompress=yes - ;; - zcat) - _arguments -C -s "${common_args1[@]}" && ret=0 - decompress=yes - ;; -esac - -if [[ "$state" = files ]]; then - if [[ -z "$decompress" ]] || (( $+opt_args[-d] )); then - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.Z(-.)' && return - else - _description files expl 'compressed file' - _files "$expl[@]" -g '*.Z(-.)' && return - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_condition b/result/sw/share/zsh/5.9/functions/_condition deleted file mode 100644 index 0285911a..00000000 --- a/result/sw/share/zsh/5.9/functions/_condition +++ /dev/null @@ -1,60 +0,0 @@ -#compdef -condition- - -local prev="$words[CURRENT-1]" ret=1 - -if [[ "$prev" = -o ]]; then - _tags -C -o options && _options -elif [[ "$prev" = -([a-hkprsuwxLOGSN]|[no]t|ef) ]]; then - _tags -C "$prev" files && _files -elif [[ "$prev" = -t ]]; then - _file_descriptors -elif [[ "$prev" = -v ]]; then - _parameters -r "\= \t\n\[\-" -else - if [[ "$PREFIX" = -* ]] || - ! zstyle -T ":completion:${curcontext}:options" prefix-needed; then - - if [[ "$prev" = (\[\[|\|\||\&\&|\!|\() ]]; then - _describe -o 'condition code' \ - '( -a:existing\ file - -b:block\ special\ file - -c:character\ special\ file - -d:directory - -e:existing\ file - -f:regular\ file - -g:setgid\ bit - -h:symbolic\ link - -k:sticky\ bit - -n:non-empty\ string - -o:option - -p:named\ pipe - -r:readable\ file - -s:non-empty\ file - -t:terminal\ file\ descriptor - -u:setuid\ bit - -v:set\ variable - -w:writable\ file - -x:executable\ file - -z:empty\ string - -L:symbolic\ link - -O:own\ file - -G:group-owned\ file - -S:socket - -N:unread\ file)' && ret=0 - else - _describe -o 'condition code' \ - '( -nt:newer\ than - -ot:older\ than - -ef:same\ file - -eq:numerically\ equal - -ne:numerically\ not\ equal - -lt:numerically\ less\ than - -le:numerically\ less\ than\ or\ equal - -gt:numerically\ greater\ than - -ge:numerically\ greater\ than\ or\ equal)' && ret=0 - fi - fi - _alternative 'files:: _files' 'parameters:: _parameters' && ret=0 - - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_configure b/result/sw/share/zsh/5.9/functions/_configure deleted file mode 100644 index 3b22b53d..00000000 --- a/result/sw/share/zsh/5.9/functions/_configure +++ /dev/null @@ -1,11 +0,0 @@ -#compdef configure config.status - -_arguments -- -i '(--(disable|enable)-FEATURE* --(with|without)-PACKAGE*)' \ - -s '((#s)--disable- --enable- - (#s)--enable- --disable- - (#s)--with- --without- - (#s)--without- --with-)' \ - '*=(E|)PREFIX*:prefix directory:_files -/' \ - '*=PROGRAM*:program:_command_names -e' \ - '*=NAME*executable*:program:_command_names -e' \ - '*=NAME*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_coreadm b/result/sw/share/zsh/5.9/functions/_coreadm deleted file mode 100644 index 655b48e6..00000000 --- a/result/sw/share/zsh/5.9/functions/_coreadm +++ /dev/null @@ -1,45 +0,0 @@ -#compdef coreadm - -local -a content option - -content=( - "anon[anonymous private mappings]" - "ctf[CTF type information]" - "data[writable private file mappings]" - "dism[DISM mappings]" - "heap[process heap]" - "ism[ISM mappings]" - "rodata[read-only private file mappings]" - "shanon[anonymous shared mappings]" - "shfile[file-backed shared mappings]" - "shm[System V shared memory]" - "stack[process stack]" - "symtab[symbol table sections for loaded files]" - "text[readable and executable private file mappings]" -) - -option=( - 'global:allow global core dumps' - 'process:allow per-process core dumps' - 'global-setid:allow set-id global core dumps' - 'proc-setid:allow set-id per-process core dumps' - 'log:generate a syslog message on global core dump' - 'kzone:allow kernel zone core dumps' -) - -# _values doesn't quite work for us here -- the separator can be either -# "+" or "-" -_arguments -s \ - - set1 \ - '-g[global core file name pattern]:' \ - '-G[global core file content]:content:_values -s + "content" $content' \ - '-i[per-process core file name pattern]:' \ - '-I[per-process core file content]:content:_values -s + "content" $content' \ - '*-d[disable core option]:option:(($option))' \ - '*-e[enable core option]:option:(($option))' \ - - set2 \ - '-p[PID-specific per-process core file name pattern]:' \ - '-P[PID-specific per-process core file content]:content:_values -s + "content" $content' \ - '*:pid:_pids' \ - - set3 \ - '-u[update options from coreadm.conf]' diff --git a/result/sw/share/zsh/5.9/functions/_correct b/result/sw/share/zsh/5.9/functions/_correct deleted file mode 100644 index c9c3d999..00000000 --- a/result/sw/share/zsh/5.9/functions/_correct +++ /dev/null @@ -1,19 +0,0 @@ -#autoload - -# This is mainly a wrapper around the more general `_approximate'. -# By setting `compstate[pattern_match]' to something unequal to `*' and -# then calling `_approximate', we get only corrections, not all strings -# with the corrected prefix and something after it. -# -# Supported configuration keys are the same as for `_approximate', only -# starting with `correct'. - -local ret=1 opm="$compstate[pattern_match]" - -compstate[pattern_match]='-' - -_approximate && ret=0 - -compstate[pattern_match]="$opm" - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_correct_filename b/result/sw/share/zsh/5.9/functions/_correct_filename deleted file mode 100644 index 3150ffcd..00000000 --- a/result/sw/share/zsh/5.9/functions/_correct_filename +++ /dev/null @@ -1,72 +0,0 @@ -#compdef -k complete-word \C-xC - -# Function to correct a filename. Can be used as a completion widget, -# or as a function in its own right, in which case it will print the -# corrected filename to standard output. -# -# You can adapt max_approx to the maximum number of mistakes -# which are allowed in total. -# -# If the numeric prefix is greater than 1, the maximum number of errors -# will be set to that. - -# Doesn't get right special characters in the filename; should -# strip them (e.g. "foo\ bar" -> "foo bar") and then re-insert them. - -emulate -LR zsh -setopt extendedglob - -local file="$PREFIX$SUFFIX" trylist tilde etilde testcmd -integer approx max_approx=6 - -if [[ -z $WIDGET ]]; then - file=$1 - local IPREFIX -else - (( ${NUMERIC:-1} > 1 )) && max_approx=$NUMERIC -fi - -if [[ $file = \~*/* ]]; then - tilde=${file%%/*} - etilde=${~tilde} 2>/dev/null - file=${file/#$tilde/$etilde} -fi - -if [[ $CURRENT -eq 1 && $file != /* ]]; then - testcmd=1 -elif [[ $file = \=* ]]; then - [[ -n $WIDGET ]] && PREFIX="$PREFIX[2,-1]" - IPREFIX="${IPREFIX}=" - file="$file[2,-1]" - testcmd=1 -fi - -# We need the -Q's to avoid the tilde we've put back getting quoted. -if [[ -z $testcmd && -e "$file" ]] || - { [[ -n $testcmd ]] && whence "$file" >&/dev/null }; then - if [[ -n $WIDGET ]]; then - compadd -QUf -i "$IPREFIX" -I "$ISUFFIX" "${file/#$etilde/$tilde}" - [[ -n "$compstate[insert]" ]] && compstate[insert]=menu - else - print "$file" - fi - return -fi - -for (( approx = 1; approx <= max_approx; approx++ )); do - if [[ -z $testcmd ]]; then - trylist=( (#a$approx)"$file"(N) ) - else - trylist=( "${(@)${(@f)$(whence -wm "(#a$approx)$file" 2>/dev/null)}%:*}" ) - [[ $file = */* ]] || trylist=(${trylist##*/}) - fi - (( $#trylist )) && break -done -(( $#trylist )) || return 1 - -if [[ -n $WIDGET ]]; then - compadd -QUf -i "$IPREFIX" -I "$ISUFFIX" "${trylist[@]/#$etilde/$tilde}" - [[ -n "$compstate[insert]" ]] && compstate[insert]=menu -else - print "$IPREFIX${^trylist[@]}" -fi diff --git a/result/sw/share/zsh/5.9/functions/_correct_word b/result/sw/share/zsh/5.9/functions/_correct_word deleted file mode 100644 index e81c7ac7..00000000 --- a/result/sw/share/zsh/5.9/functions/_correct_word +++ /dev/null @@ -1,15 +0,0 @@ -#compdef -k complete-word \C-xc - -# Simple completion front-end implementing spelling correction. -# The maximum number of errors is set quite high, and -# the numeric prefix can be used to specify a different value. - -local curcontext="$curcontext" - -if [[ -z "$curcontext" ]]; then - curcontext="correct-word:::" -else - curcontext="correct-word:${curcontext#*:}" -fi - -_main_complete _correct diff --git a/result/sw/share/zsh/5.9/functions/_cowsay b/result/sw/share/zsh/5.9/functions/_cowsay deleted file mode 100644 index 8a1b4c4c..00000000 --- a/result/sw/share/zsh/5.9/functions/_cowsay +++ /dev/null @@ -1,31 +0,0 @@ -#compdef cowsay cowthink - -local context state line -typeset -A opt_args - -_arguments -s -S -A "-*" \ - "(H mode)-e+[specify cow's eyes]:eye string [oo]" \ - '(H)-f+[specify cowfile]:cowfile:->cowfile' \ - "(H mode)-T+[specify cow's tongue]:tongue string" \ - '(H)-W+[specify width for message word wrap]:wrap column [40]' \ - '(H)-n[no wordwrap]' \ - '*:message' \ - + 'H' \ - '(- *)-h[display usage information]' \ - '(- *)-l[list all cowfiles]' \ - + '(mode)' \ - '(H -e -T)-b[borg mode]' \ - '(H -e -T)-d[dead mode]' \ - '(H -e -T)-g[greedy mode]' \ - '(H -e -T)-p[paranoia mode]' \ - '(H -e -T)-s[stoned mode]' \ - '(H -e -T)-t[tired mode]' \ - '(H -e -T)-w[wired mode]' \ - '(H -e -T)-y[youthful mode]' && return - -case "$state" in - (cowfile) - _wanted -C option-f-1 cowfiles expl 'cow file' compadd \ - ${=${(f)"$(_call_program cowfiles $words[1] -l)"}:#*\:} || _files -g "*.cow(-.)" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_cp b/result/sw/share/zsh/5.9/functions/_cp deleted file mode 100644 index f7411055..00000000 --- a/result/sw/share/zsh/5.9/functions/_cp +++ /dev/null @@ -1,66 +0,0 @@ -#compdef cp gcp - -if _pick_variant gnu=GNU unix --version; then - _arguments -s -S \ - '(-a --archive)'{-a,--archive}'[archive mode, same as -dR --preserve=all]' \ - "--attributes-only[don't copy file data, just attributes]" \ - '(-b --backup)-b[backup]' \ - '(-b --backup)--backup=-[backup each destination file]::method:(none off numbered t existing nil simple never)' \ - '--copy-contents[copy contents of special files when recursive]' \ - '-d[same as --no-dereference --preserve=links]' \ - '(-f --force)'{-f,--force}'[remove and retry for destinations that cannot be opened]' \ - '(-i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwrite]' \ - '-H[follow command-line symbolic links]' \ - '(-l --link)'{-l,--link}'[link files instead of copying]' \ - '(-L --dereference)'{-L,--dereference}'[always follow symbolic links]' \ - '(-n --no-clobber -i --interactive)'{-n,--no-clobber}"[don't overwrite an existing file]" \ - '(-P --no-dereference)'{-P,--no-dereference}'[never follow symbolic links]' \ - '-p[same as --preserve=mode,ownership,timestamps]' \ - '--preserve=-[preserve specified attributes]:: :_values -s , attribute mode timestamps ownership links context xattr all' \ - "--no-preserve=[don't preserve specified attributes]: :_values -s , attribute mode timestamps ownership links context xattr all" \ - '--parents[append source path to target directory]' \ - '(-R -r --recursive)'{-R,-r,--recursive}'[copy directories recursively]' \ - '--reflink=-[control clone/CoW copies]::when to perform a lightweight copy:(always auto)' \ - '--remove-destination[remove each existing destination file before attempting to open it]' \ - '--sparse=[control creation of sparse files]:when to create sparse files:(auto always never)' \ - '--strip-trailing-slashes[remove any trailing slashes from each source argument]' \ - '(-s --symbolic-link)'{-s,--symbolic-link}'[make symbolic links instead of copies of non-directories]' \ - '(-S --suffix)'{-S+,--suffix=}'[override the usual backup suffix]:backup suffix' \ - '(-t --target-directory)'{-t+,--target-directory=}'[copy all source arguments into target directory]:target directory:_files -/' \ - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat DEST as a normal file]' \ - '(-u --update)'{-u,--update}'[copy only when source is newer than destination or destination is missing]' \ - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \ - '(-x --one-file-system)'{-x,--one-file-system}'[stay on this file system]' \ - '(--context)-Z[set destination SELinux security context]' \ - '(-Z)--context=-[set destination SELinux security context]:: :_selinux_contexts' \ - '(- *)--help' '(- *)--version' \ - '*:file or directory:_files' -else - local pattern arg args - args=( - '(-L -P)-H[follow symlinks on the command line in recursive mode]' - '(-H -P)-L[follow all symlinks in recursive mode]' - '(-H -L)-P[do not follow symlinks in recursive mode (default)]' - '(-i -n)-f[force overwriting existing file]' - '(-f -n)-i[confirm before overwriting existing file]' - '-p[preserve timestamps, mode, owner, flags, ACLs, and extended attributes]' - '-R[copy directories recursively]' \ - '(-)*:file or directory:_files' - ) - for pattern arg in \ - '(aix|hpux|irix|solaris)*' '-r[copy directories recursively]' \ - 'solaris2.<9->*' '-@[preserve extended attributes]' \ - 'solaris2.<11->*' '-/[preserve extended attributes and extended system attributes]' \ - '(darwin|dragonfly|freebsd)*' "(-f -i)-n[don't overwrite existing file]" \ - 'netbsd*' "-N[don't copy file flags]" \ - '(darwin|dragonfly|freebsd|netbsd|openbsd)*' '-a[archive mode, same as -RpP]' \ - '(dragonfly|freebsd)*' '-l[link files instead of copying]' \ - '(darwin|dragonfly|*bsd)*' '-v[show file names as they are copied]' \ - 'darwin*' "-X[don't copy extended attributes or resource forks]" \ - '(dragonfly|freebsd)*' "-x[don't traverse file systems]" \ - 'freebsd<10->.*' '-s[make symbolic links instead of copies of non-directories]' - do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) - done - _arguments -s -S $args -fi diff --git a/result/sw/share/zsh/5.9/functions/_cpio b/result/sw/share/zsh/5.9/functions/_cpio deleted file mode 100644 index 20f8c712..00000000 --- a/result/sw/share/zsh/5.9/functions/_cpio +++ /dev/null @@ -1,133 +0,0 @@ -#compdef cpio - -local -a args -local ig curcontext="$curcontext" state line -local expl ret=1 -local fmts='(bar bin odc newc crc tar ustar hpbin hpodc)' - -_pick_variant -r ig gnu=GNU unix --version - -if (( CURRENT == 2 )); then - # Complete arguments - args=('-o[create archive]' '-i[extract from archive]' - '-p[run as filter on directory tree]') - [[ $ig = gnu ]] && args=($args '--create[create archive]' - '--extract[extract from archive]' - '--pass-through[run as filter on directory tree]' - '--help[show help text]' '--version[show version information]') -else - if [[ -n ${words[(r)(-o*|-[^-]*o*|--create)]} ]]; then - # Options for creating archive - if [[ $ig = gnu ]]; then - args=( - '--file=:archive file:->afile' - "--format=:format type:$fmts" - '--message=:message at end of volume:' - '--null' '--reset-access-time' - '--verbose' '--dot' '--append' - '--block-size=:block size (512 byte units)' - '--dereference' - '--io-size=:block size (bytes)' - '--quiet' '--force-local' '--help' '--version') - fi - args+=( - '-A[append files to archive]' - '-B[block size 5120 bytes with special file]' - '-C[set block size per record]:block size (bytes)' - '-F[set archive file to use]:archive file:->afile' - '(-H)-c[read/write header in ASCII]' - "(-c)-H[set format type for archive header]:$fmts" - '-L[follow symbolic links]' - '-M[print message at end of volume]:message to print:' - '-O[set output archive file]:output archive file:_files' - ) - elif [[ -n ${words[(r)(-i*|-[^-]*i*|--extract)]} ]]; then - if [[ $ig = gnu ]]; then - args=('--file=:archive file:->afile' - "--format=:format type:$fmts" - '--make-directories' '--nonmatching' - '--preserve-modification-time' '--numeric' - '--rename' '--list' '--swap-bytes' '--swap-halfwords' - '--dot' '--unconditional' '--verbose' - '--block-size=:block size (512 byte units)' - '--swap-halfwords' - '--io-size=:block size in bytes:' - '--pattern-file=:file with list of patterns:_files' - '--owner=:user (and group) for files:->user' '--no-preserve-owner' - '--message=:message at end of volume:' - '--force-local' - '--no-absolute-filenames' '--sparse' '--only-verify-crc' - '--quiet' '--help' '--version') - fi - args+=( - '-b[reverse bytes in word]' - '-B[block size 5120 bytes with special file]' - '-d[create directories as needed]' - '-C[set block size per record]:block size (bytes)' - '-E[read filenames from file]:file name for list of files:_files' - '-f[only copy files not matching patterns]' - '-F[set archive file to use]:archive file:->afile' - '(-H)-c[read/write header in ASCII]' - "(-c)-H[set format type for archive header]:$fmts" - '-I[set input archive file]:input archive file:_files' - '-m[preserve file modification times]' - '-M[print message at end of volume]:message to print:' - '-n[show UID and GID numerically]' - '-r[interactively rename files]' - '-R[set user and group for files]:user (and group) for files:->user' - '-s[swap bytes within each halfword]' - '-S[swap bytes within each word]' - '-t[print a table of contents]' - '*:pattern to extract' - ) - elif [[ -n ${words[(r)(-p*|-[^-]*p*|--pass-through)]} ]]; then - if [[ $ig = gnu ]]; then - args=('--null' '--reset-access-time' '--make-directories' - '--link' '--quiet' '--preserve-modification-time' - '--unconditional' '--verbose' '--dot' '--dereference' - '--owner=:user (and group) for files:->user' - '--no-preserve-owner' '--sparse' '--help' '--version') - fi - args+=( - '-d[create directories as needed]' - '-l[link files instead of copying]' - '-L[follow symbolic links]' - '-m[preserve file modification times]' - '-R[set user and group for files]:user (and group) for files:->user' - '*:destination directory:_files -/' - ) - else - return 1 - fi - args+=( - '-a[reset access time of input files]' - ) -fi - -_arguments -C -s "$args[@]" && ret=0 - -if [[ $state = afile ]]; then - if [[ $ig != gnu ]]; then - _files && ret=0 - elif compset -P 1 '*:'; then - _remote_files -- ssh && ret=0 - elif compset -P '*@'; then - _wanted hosts expl 'remote host name' _hosts && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:remote host name:_hosts -S:' \ - 'users:user name:_users -qS@' && ret=0 - fi -elif [[ $state = user ]]; then - if compset -P '*[:.]'; then - _groups && ret=0 - else - local suf=. - [[ $OSTYPE = (solaris|hpux)* ]] && suf=: - compset -S '.*' && unset suf - _users -S "$suf" -q && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_cplay b/result/sw/share/zsh/5.9/functions/_cplay deleted file mode 100644 index f1755c1a..00000000 --- a/result/sw/share/zsh/5.9/functions/_cplay +++ /dev/null @@ -1,8 +0,0 @@ -#compdef cplay - -_arguments -s \ - '-n[enable restricted mode]' \ - '-r[toggle playlist repeat mode]' \ - '-R[toggle playlist random mode]' \ - '-v[toggle PCM and MASTER volume control]' \ - '*:playlist or directory or audio file:_files -g "*.(mp3|mp2|ogg|669|amf|ams|dsm|far|it|med|mod|mt2|mtm|okt|s3m|stm|ult|gdm|xm|m3u|pls|spx|wav|au)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_cpupower b/result/sw/share/zsh/5.9/functions/_cpupower deleted file mode 100644 index 6763bdd1..00000000 --- a/result/sw/share/zsh/5.9/functions/_cpupower +++ /dev/null @@ -1,120 +0,0 @@ -#compdef cpupower - -local curcontext="$curcontext" ret=1 -local -a state line expl cmds args -typeset -A opt_args - -_arguments -C \ - '(- :)'{-h,--help}'[print help information]' \ - '(- :)'{-v,--version}'[print version information]' \ - '(-d --debug)'{-d,--debug}'[enable debug output]' \ - '(-c --cpu)'{-c,--cpu}'[limit values to specific processor cores]:cpu' \ - ':cmd:->cmds' \ - '*::arg:->args' && ret=0 - -cmds=( - 'frequency-info:show current frequency info' - 'frequency-set:set frequency parameters' - 'idle-info:show current idle state info' - 'idle-set:set idle state parameters' - 'info:show global power parameters' - 'set:set global power parameters' - 'monitor:report frequency and idle statistics' - 'powercap-info:show powercapping related kernel and hardware configurations' - 'help:print usage information' -) -case $state in - cmds) - _describe command cmds -M 'r:|-=* r:|=*' && ret=0 - ;; - args) - curcontext="${curcontext%:*}-$words[1]" - case ${words[1]} in - help) - _describe command cmds - return - ;; - frequency-info) - args=( - '(-m --human)'{-m,--human}'[use human readable output]' - '(-n --no-rounding)'{-n,--no-rounding}'[disable rounding of values]' - - '(info)' - {-e,--debug}'[print debug info]' - {-f,--freq}'[show current frequency]' - {-w,--hwfreq}'[show current hardware frequency]' - {-l,--hwlimits}'[show min/max frequency allowed]' - {-d,--driver}'[show the kernel driver in use]' - {-p,--policy}'[show the current cpufreq policy]' - {-g,--governors}'[show available governors]' - {-r,--related-cpus}'[show cpus that run at the same frequency]' - {-a,--affected-cpus}'[show software controlled cpus]' - {-s,--stats}'[show cpufreq statistics]' - {-y,--latency}'[show frequency change latency]' - ) - [[ -n $opt_args[(i)-(c|-cpu)] ]] || args+=( - {-o,--proc}'[print old style proc info]' - ) - ;; - frequency-set) - args=( - '(-d --min)'{-d+,--min}'[new minimum frequency]:frequency:->frequencies' - '(-u --max)'{-u+,--max}'[new maximum frequency]:frequency:->frequencies' - '(-g --governor)'{-g+,--governor}'[new cpufreq governor]:governor:->governors' - '(-)'{-f+,--freq}'[new frequency for userspace governor]:frequency:->frequencies' - '(-r --related)'{-r,--related}'[modify all hardware related cpus]' - ) - ;; - idle-info) - args=( - '(-f --silent)'{-f,--silent}'[print summary only]' - '(-e --proc)'{-e,--proc}'[print old style proc info (deprecated)]' - ) - ;; - idle-set) - args=( - '(-d --disable)'{-d+,--disable}'[disable specific sleep state]:state no' - '(-e --enable)'{-e+,--enable}'[enable specific sleep state]:state no' - '(-D --disable-by-latency)'{-D+,--disable-by-latency}'[disable state based on latency]:latency' - '(-E --enable-all)'{-E,--enable-all}'[enable all idle states]' - ) - ;; - info) - args=( - '(-b --perf-bias)'{-b,--perf-bias}'[show intel performance bias value]' - ) - ;; - set) - args=( - '(-b --perf-bias)'{-b+,--perf-bias}'[set intel performance bias value]:performance bias' - ) - ;; - monitor) - args=( - '(-)-l[list available monitors]' - '-m+[display specified monitors]:monitor:->monitors' - '-i+[measurement interval]:interval (seconds)' - '-c[schedule on every core]' - '-v[increase verbosity]' - '*:::command: _normal' - ) - ;; - esac - _arguments -C -s "$args[@]" && ret=0 - case $state in - frequencies) - _wanted -x frequencies expl frequency compadd $(cpupower frequency-info | - sed -n 's/ //g; s/,/ /g; s/availablefrequencysteps://p') && ret=0 - ;; - governors) - _wanted governors expl 'scaling governor' compadd \ - ${=${"$(_call_program governors cpupower frequency-info -g)"}##*:} && ret=0 - ;; - monitors) - _sequence _wanted monitors expl 'monitor' compadd - ${${${(M)${(f)"$(_call_program monitors \ - cpupower monitor -l)"}:#Monitor *}#*\"}%%\"*} && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_crontab b/result/sw/share/zsh/5.9/functions/_crontab deleted file mode 100644 index cda7549a..00000000 --- a/result/sw/share/zsh/5.9/functions/_crontab +++ /dev/null @@ -1,68 +0,0 @@ -#compdef crontab - -# Notes: -# - We assume a cronie-, dcron-, or Vixie-esque crontab -# - BusyBox crontab is forked from dcron -# - Generally only the super-user can use -c/-u; we aren't that restrictive -# - @todo As usual, BusyBox multi-call isn't handled - -local variant sluser -local -a args etargs ccargs clargs rcargs aopts - -_pick_variant -r variant \ - dcron='-c*(#i)dir' \ - cronie-selinux='(#i)selinux' \ - cronie='(#i)cluster' \ - unix --help -variant+=-$OSTYPE - -# On Solaris, instead of using -u, the user can be specified as an optional -# first operand with -e/-l/-r. We'll treat it as an optional *argument* to one -# of those options, though, since the logic is a bit simpler -if [[ $variant == *-solaris* ]]; then - sluser='::user whose crontab to work with:_users' -else - etargs+=( '(cl)-u+[specify user whose crontab to work with]: :_users' ) -fi - -case $variant in - dcron-*) - etargs+=( '-c+[specify crontab directory]:crontab directory:_directories' ) - ;; - cronie-selinux-*) - ccargs+=( '(-l cl nc rc)-s[append SELinux context (with -e)]' ) - ;& # FALL THROUGH - cronie-*) - etargs+=( '(: * -)-V[display version information]' ) - clargs+=( - '(: * -)-c[display cluster host]' - '(: * -)-n+[specify cluster host]: :_hosts' - ) - ;& # FALL THROUGH - *-linux*) - rcargs+=( '(cc cl nc)-i[prompt for confirmation (with -r)]' ) - ;; - *-freebsd*) - rcargs+=( '(cc cl nc)-f[bypass confirmation prompt (with -r)]' ) - ;; -esac - -(( $#etargs )) && args+=( + et $etargs ) # Misc. -(( $#clargs )) && args+=( + cl $clargs ) # Work with cluster -args+=( - + nc # Install new crontab - '(cc cl rc sl):crontab to install:_files' - + cc # Edit/display current crontab - "(-l cl nc rc)-e[edit current crontab]$sluser" - "(-e -s cl nc rc)-l[display current crontab]$sluser" - $ccargs - + rc # Remove current crontab - "(cc cl nc)-r[remove current crontab]$sluser" - $rcargs -) - -# Implementations that use GNU's getopt(3) probably support permutation; this -# should be accurate enough -[[ $OSTYPE == linux* ]] || aopts=( -A '-*' ) - -_arguments -s -S $aopts : $args diff --git a/result/sw/share/zsh/5.9/functions/_cryptsetup b/result/sw/share/zsh/5.9/functions/_cryptsetup deleted file mode 100644 index f7149a76..00000000 --- a/result/sw/share/zsh/5.9/functions/_cryptsetup +++ /dev/null @@ -1,166 +0,0 @@ -#compdef cryptsetup - -local curcontext="$curcontext" ign ret=1 -local -a actions state line expl - -(( $#words > 2 )) && ign='!' -_arguments -s \ - '(-v --verbose)'{-v,--verbose}'[enable verbose mode]' \ - '--debug[show debug messages]' \ - '--debug-json[show debug messages including JSON metadata]' \ - '(-c --cipher)'{-c+,--cipher=}'[set cipher]:cipher specification' \ - '(-h --hash)'{-h+,--hash=}'[hash algorithm]:hash algorithm' \ - '(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \ - '(-d --key-file)'{-d+,--key-file=}'[set keyfile]:key file:_files' \ - '--master-key-file=[set master key]:key file:_files' \ - '--dump-master-key[dump luks master key]' \ - '(-s --key-size)'{-s+,--key-size=}'[set key size]:size (bits)' \ - '(-l --keyfile-size)'{-l+,--keyfile-size=}'[set keyfile size]:size (bytes)' \ - '--keyfile-offset=[specify number of bytes to skip in keyfile]:offset (bytes)' \ - '--new-keyfile-size=[set new keyfile size (luksAddKey)]:size (bytes)' \ - '--new-keyfile-offset=[specify number of bytes to skip in newly added keyfile]:offset (bytes)' \ - '(-S --key-slot)'{-S+,--key-slot=}'[select key slot]:key slot' \ - '(-b --size)'{-b+,--size=}'[force device size]:sectors' \ - '--device-size=[use only specified device size (ignore rest of device)]:size (bytes)' \ - '(-o --offset)'{-o+,--offset=}'[set start offset]:sectors' \ - '(-p --skip)'{-p+,--skip=}'[data to skip at beginning]:sectors' \ - '(-r --readonly)'{-r,--readonly}'[create a read-only mapping]' \ - '(-i --iter-time)'{-i+,--iter-time=}'[set password processing duration]:duration (milliseconds)' \ - '(-q --batch-mode)'{-q,--batch-mode}"[don't ask for confirmation]" \ - '(-t --timeout)'{-t+,--timeout=}'[set password prompt timeout]:timeout (seconds)' \ - '--progress-frequency=[specify progress line update interval]:interval (seconds)' \ - '(-T --tries)'{-T+,--tries=}'[set maximum number of retries]:number of retries' \ - '--align-payload=[set payload alignment]:sectors' \ - '--header-backup-file=[specify file with LUKS header and keyslots backup]:file:_files' \ - '(--use-urandom)--use-random[use /dev/random to generate volume key]' \ - '(--use-random)--use-urandom[use /dev/urandom to generate volume key]' \ - '--shared[share device with another non-overlapping crypt segment]' \ - '--uuid=[set device UUID]:uuid' \ - '--allow-discards[allow discard (aka TRIM) requests for device]' \ - '--header=[device or file with separated LUKS header]:file:_files' \ - '--test-passphrase[do not activate device, just check passphrase]' \ - '--tcrypt-hidden[use hidden header (hidden TCRYPT device)]' \ - '--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \ - '--tcrypt-backup[use backup (secondary) TCRYPT header]' \ - '--veracrypt[scan also for VeraCrypt compatible device]' \ - '--veracrypt-pim=[specify personal iteration multiplier for VeraCrypt compatible device]:multiplier' \ - '--veracrypt-query-pim[query personal iteration multiplier for VeraCrypt compatible device]' \ - '(-M --type)'{-M+,--type=}'[specify type of device metadata]:type:(luks luks1 luks2 plain loopaes tcrypt bitlk)' \ - '--force-password[disable password quality check (if enabled)]' \ - '--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \ - '--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \ - '--perf-no_read_workqueue[bypass dm-crypt workqueue and process read requests synchronously]' \ - '--perf-no_write_workqueue[bypass dm-crypt workqueue and process write requests synchronously]' \ - '--deferred[device removal is deferred until the last user closes it]' \ - '--serialize-memory-hard-pbkdf[use global lock to serialize memory]' \ - '--pbkdf=[specify PBKDF algorithm for LUKS2]:algorithm:(argon2i argon2id pbkdf2)' \ - '--pbkdf-memory=[specify PBKDF memory cost limit]:limit (kilobytes)' \ - '--pbkdf-parallel=[specify PBKDF parallel cost]:threads' \ - '--pbkdf-force-iterations=[specify PBKDF iterations cost]:cost' \ - '--priority=[specify keyslot priority]:priority:(ignore normal prefer)' \ - '--disable-locks[disable locking of on-disk metadata]' \ - '--disable-keyring[disable loading volume keys via kernel keyring]' \ - '(-I --integrity)'{-I+,--integrity=}'[specify data integrity algorithm (LUKS2 only)]:algorithm' \ - '--integrity-no-journal[disable journal for integrity device]' \ - "--integrity-no-wipe[don't wipe device after format]" \ - '--integrity-legacy-padding[use inefficient legacy padding (old kernels)]' \ - "--token-only[don't ask for passphrase if activation by token fails]" \ - '--token-id=[specify token number]:number [any]' \ - '--key-description=[specify key description]:description' \ - '--sector-size=[specify encryption sector size]:size [512 bytes]' \ - '--iv-large-sectors[use IV counted in sector size (not in 512 bytes)]' \ - '--persistent[set activation flags persistent for device]' \ - '--label=[set label for the LUKS2 device]:label' \ - '--subsystem=[set subsystem label for the LUKS2 device]:subsystem' \ - '--unbound[create or dump unbound (no assigned data segment) LUKS2 keyslot]' \ - '--json-file=[read or write token to json file]:json file:_files -g "*.json(-.)"' \ - '--luks2-metadata-size=[specify LUKS2 header metadata area size]:size (bytes)' \ - '--luks2-keyslots-size=[specify LUKS2 header keyslots area size]:size (bytes)' \ - '--refresh[refresh (reactivate) device with new parameters]' \ - '--keyslot-key-size=[specify size of the encryption key]:size (bits)' \ - '--keyslot-cipher=[specify cipher used for LUKS2 keyslot encryption]:cipher' \ - '--encrypt[Encrypt LUKS2 device (in-place encryption)]' \ - '--decrypt[decrypt LUKS2 device (remove encryption)]' \ - '--init-only[initialize LUKS2 reencryption in metadata only]' \ - '--resume-only[resume initialized LUKS2 reencryption only]' \ - '--reduce-device-size=[reduce data device size (move data offset)]:size (bytes)' \ - '--hotzone-size=[specify maximal reencryption hotzone size]:size (bytes)' \ - '--resilience=[specify reencryption hotzone resilience type]:resilience type:(checksum journal none)' \ - '--resilience-hash=[specify reencryption hotzone checksums hash]:string' \ - '--active-name=[override device autodetection of dm device to be reencrypted]:string' \ - "${ign}(- : *)"{-V,--version}'[show version information]' \ - "${ign}(- : *)"{-\?,--help}'[display help information]' \ - "${ign}(- : *)--usage[display brief usage]" \ - ':action:->actions' \ - '*::arguments:->action-arguments' && ret=0 - -case $state in - actions) - actions=( - 'open:open device with named mapping' - 'close:close device (remove mapping)' - 'status:report mapping status' - 'resize:resize an active mapping' - 'benchmark:benchmark cipher' - 'repair:try to repair on-disk metadata' - 'reencrypt:reencrypt LUKS2 device' - 'erase:erase all keyslots' - 'convert:convert LUKS from/to LUKS2 format' - 'config:set permanent configuration options for LUKS2' - 'luksFormat:initialize a LUKS partition' - 'luksAddKey:add a new key' - 'luksRemoveKey:remove a key' - 'luksChangeKey:change a key' - 'luksConvertKey:convert a key to new pbkdf parameters' - 'luksKillSlot:wipe key from slot' - 'luksUUID:print/change device UUID' - 'isLuks:check if device is a LUKS partition' - 'luksDump:dump header information' - 'tcryptDump:dump TCRYPT device information' - 'bitlkDump:dump BITLK device information' - 'luksSuspend:suspend LUKS device and wipe key' - 'luksResume:resume suspended LUKS device' - 'luksHeaderBackup:store binary backup of headers' - 'luksHeaderRestore:restore header backup' - 'token:manipulate auto-activation token of the device' - ) - _describe action actions && ret=0 - ;; - action-arguments) - local -a args - local mapping=':mapping:_path_files -W /dev/mapper' - local device=':device:_files' - case ${words[1]} in - create) args=( $mapping $device '--type=:type' );; - open) args=( $device $mapping '--type=:type' );; - (plain|luks|loopaes|tcrypt)Open) args=( $device $mapping '--type=:type' );; - benchmark) args=( '--cipher=:cipher' );; - luksKillSlot) args=( $device ':key slot number' );; - remove|status|resize|*lose|luksSuspend|luksResume) args=( $mapping );; - erase|convert|config|repair|reencrypt|(luks(AddKey|Erase|RemoveKey|DelKey|UUID|Dump)|isLuks)) - args=( $device ) - ;; - luks(Format|AddKey|RemoveKey|ChangeKey|ConvertKey)) - args=( $device ':key file:_files' ) - ;; - luksHeader*) args=( $device '--header-backup-file:file:_files' );; - token) - args=( - ':action:(( - add\:create\ a\ new\ keyring - remove\:remove\ any\ token\ from\ slot - import\:store\ arbitrary\ valid\ token\ json\ in\ LUKS2\ header - export\:write\ requested\ token\ json\ to\ a\ file - ))' - $device - ) - ;; - *) - _default && ret=0 - ;; - esac - _arguments $args && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_cscope b/result/sw/share/zsh/5.9/functions/_cscope deleted file mode 100644 index 8c3839d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_cscope +++ /dev/null @@ -1,29 +0,0 @@ -#compdef cscope - -_arguments -s -S \ - '-b[build the cross-reference only]' \ - '-C[ignore letter case when searching]' \ - "-c[use only ASCII characters in the cross-ref file (don't compress)]" \ - "-d[don't update the cross-reference]" \ - '-e[suppress the <Ctrl>-e command prompt between files]' \ - '-F+[read symbol reference lines from specified file]:symbol-reference file:_files' \ - '-f+[specify cross-reference file]:cross-reference file [cscope.out]:_files' \ - '(-)'{-h,--help}'[display help information]' \ - '*-I+[specify directory to search for #include files]:include directory:_directories' \ - '-i+[specify file containing a list if files to browse]:file [cscope.file]:_files' \ - "-k[kernel mode - don't use /usr/include for #include files]" \ - '-L[do a single search with line-oriented output]' \ - '-l[line-oriented interface]' \ - -{0,1,2,3,4,5,6,7,8,9}'+:pattern' \ - '-P+[prepend path to relative file names in pre-built cross-ref file]:path:_directories' \ - '-p+[specify number of path components to display]:path components [1]' \ - '-q[build an inverted index for quick symbol searching]' \ - '-R[recurse directories for files]' \ - '-s+[specify directory to search for additional source files]:directory:_directories' \ - '-T[use only the first eight characters to match against C symbols]' \ - '-U[check file time stamps]' \ - '-u[unconditionally build the cross-reference file]' \ - '-v[be more verbose in line mode]' \ - '-X[remove the cscope reference file and inverted indexes at end]' \ - '(-)'{-V,--version}'[display version information]' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_csplit b/result/sw/share/zsh/5.9/functions/_csplit deleted file mode 100644 index 5f72232b..00000000 --- a/result/sw/share/zsh/5.9/functions/_csplit +++ /dev/null @@ -1,51 +0,0 @@ -#compdef csplit - -local curcontext=$curcontext cnt_info ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -# common specs -specs=( - '(hv -f --prefix)'{-f+,--prefix=}'[specify prefix for output file names]:prefix [xx]: ' - '(hv -n --digits -b --suffix-format)'{-n+,--digits=}'[specify number of digits in output file names]:number [2]: ' - '(hv -k --keep-files)'{-k,--keep-files}'[do not remove output files on errors]' - '(hv -s --quiet --silent)'{-s,--quiet,--silent}'[do not print counts of output file sizes]' - '(hv)1: :_files' - '(hv)*: :->patterns' -) - -if _pick_variant gnu=GNU unix --version; then - # GNU coreutils 8.32 - specs+=( - '(hv -b --suffix-format -n --digits)'{-b+,--suffix-format=}'[specify format for numbers in output file names]:format [%%02d]: ' - '(hv)--suppress-matched[suppress the lines matching the pattern]' - '(hv -z --elide-empty)'{-z,--elide-empty-files}'[remove empty output files]' - + hv - '(: * -)--help[display help and exit]' - '(: * -)--version[output version information and exit]' - ) - cnt_info="(integer or '*')" -else - # POSIX ({Free,Open}BSD, DragonFly, macOS) - specs=( ${specs:#(|*\))--*} ) # remove long options - optA=( -A '-?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -C -s -S $optA : $specs && ret=0 - -case $state in - patterns) - if compset -P '(/?*/|%?*%)'; then - _message '[+|-]offset' && ret=0 - elif compset -P '[/%]'; then - _message 'regex' && ret=0 - elif compset -P '(|\\){'; then - _message "count $cnt_info" && ret=0 - elif compset -P '[0-9]*'; then - _message 'line number' && ret=0 - elif [[ ${words[CURRENT]} != -* ]] then - _message "line_number, '/regex/[offset]', '%%regex%%[offset]', or '{count}'" && ret=0 - fi -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_cssh b/result/sw/share/zsh/5.9/functions/_cssh deleted file mode 100644 index 5db9db5b..00000000 --- a/result/sw/share/zsh/5.9/functions/_cssh +++ /dev/null @@ -1,21 +0,0 @@ -#compdef cssh crsh - -_arguments \ - '-h[help]' \ - '-H[show man page]' \ - '-v[show version]' \ - '-d[enable basic debugging mode]' \ - '-D[enable extended debugging mode]' \ - '-q[enable automatic quit after last window is closed]' \ - '-Q[disable automatic quit after last window is closed]' \ - '-u[output configuration]' \ - '-g[enable window tiling]' \ - '-G[disable window tiling]' \ - '-c[use additional cluster file]:cluster file:_files' \ - '-l:username:_users' \ - '-T:window title prefix:' \ - '-o:arguments to ssh or rsh:' \ - '-t:arguments to terminals:' \ - '-i[ignore errors from unresolvable hostnames]' \ - '-e[evaluate arguments to identify potential errors]:userhostport:_user_at_host' \ - '*:userhostport: _alternative hosts:host:_hosts usersathosts:userathost:_user_at_host' diff --git a/result/sw/share/zsh/5.9/functions/_csup b/result/sw/share/zsh/5.9/functions/_csup deleted file mode 100644 index 69e13f3d..00000000 --- a/result/sw/share/zsh/5.9/functions/_csup +++ /dev/null @@ -1,26 +0,0 @@ -#compdef csup - -_arguments -s \ - '-1[disable automatic retries]' \ - '-4[force usage of IPv4 addresses]' \ - '-6[force usage of IPv6 addresses]' \ - '-A[local address to bind to when connecting to the server]:local address:_hosts' \ - '-b[base directory]:base directory:_files -/' \ - '-c[subdirectory of base for information about collections]:collections directory:_files -/' \ - '-d[maximum number of deleted files]:maximum number of deleted files:' \ - '-h[server host]:server host:_hosts' \ - '-i[include only files and directories matching]:file pattern:' \ - '-k[keep temporary copies of failed updates]' \ - '-l[lock file]:lock file:_files' \ - '-L[verbosity level]:verbosity level:(0 1 2)' \ - '-L0[verbosity level 0]' \ - '-L1[verbosity level 1]' \ - '-L2[verbosity level 2]' \ - '-p[server port]:port:_ports' \ - '-r[maximum number of retries]:maximum number of retries:' \ - '-s[suppress status checks]' \ - '-v[print version information]' \ - '(-Z)-z[enable compression]' \ - '(-z)-Z[disable compression]' \ - ':csup file:_files' \ - ':destination directory:_files -/' diff --git a/result/sw/share/zsh/5.9/functions/_ctags b/result/sw/share/zsh/5.9/functions/_ctags deleted file mode 100644 index e2b28011..00000000 --- a/result/sw/share/zsh/5.9/functions/_ctags +++ /dev/null @@ -1,244 +0,0 @@ -#compdef ctags arduino-ctags ctags-exuberant ctags-universal - -local context state line expl -local -A opt_args -local -a arguments - -if [ -z "$_ctags_type" ]; then - local output=`ctags --version 2>&1` - if [[ "$output" = *Universal\ Ctags* ]]; then - _ctags_type="universal" - elif [[ "$output" = *Exuberant\ Ctags* ]]; then - _ctags_type="exuberant" - elif [[ "$output" = *usage:\ ctags* ]]; then - _ctags_type="bsd" - elif [[ "$output" = *Emacs* ]]; then - _ctags_type="etags" - else - _ctags_type="universal" - fi -fi - -if [ "$_ctags_type" = "etags" ]; then - _etags - return $? -fi - -_ctags_languages() { - _call_program languages $service --list-languages | sed -n 's/^\([A-Za-z][A-Za-z0-9#_+]*\).*/\1/p' -} - -if [[ "$PREFIX" = --alias-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --extras-*=* ]]; then - _message flags - return 1 -elif [[ "$PREFIX" = --fields-*=* ]]; then - _message flags - return 1 -elif [[ "$PREFIX" = --input-encoding-*=* ]]; then - _message encoding - return 1 -elif [[ "$PREFIX" = --kinddef-*=* ]]; then - _message kind - return 1 -elif [[ "$PREFIX" = --kinds-*=* ]]; then - _message kind - return 1 -elif [[ "$PREFIX" = --map-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --mline-regex-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --param-*=* ]]; then - _message argument - return 1 -elif [[ "$PREFIX" = --regex-*=* ]]; then - _message pattern - return 1 -elif [[ "$PREFIX" = --roles-*.*=* ]] then - _message role - return 1 -elif [[ "$PREFIX" = --roles-*.* ]] then - _message kind - return 1 -fi - -if [ "$_ctags_type" = "universal" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-D[give definition for macro]:macro definition:" - "-e[output tag file for use with emacs]" - {-f+,-o+}"[write tags to specified file]:output file:_files" - "-F[use forward searching patterns (/.../)]" - "-h[specify a list of file extensions to be treated as include files]:extensions" - "-I[specify a list of tokens to be specially handled]:identifier list" - "-L[read a list of input file names from the specified file]:input file:_files" - "-n[equivalent to --excmd=number]" - "-N[equivalent to --excmd=pattern]" - "(--recurse -R)--recurse=-[search files recursively]::bool:(yes no)" - "(--recurse -R)-R[search files recursively]" - "-u[equivalent to --sort=no]" - "-x[print a tabular cross reference file to stdout]" - "--alias--[add a pattern detecting a name, can be used as an alt name for lang]:language:->languageequals" - "--append=-[should tags be appended to existing tag file]:bool:(yes no)" - "--etags-include=-[include reference to file in emacs style tag file]:file:_files" - "--exclude=-[exclude files and directories matching pattern]:pattern" - "--exclude-exception=-[don't exclude files and directories matching pattern even if they match the pattern specified with --exclude]:pattern" - "--excmd=-[uses the specified type of ex command to locate tags]:ex command type:(number pattern mix combine)" - "--extras=-[include extra tag entries for selected information]:flags (fFgpqrs)" - "--extras--[include <lang> own extra tag entries for selected information]:language:->languageequals" - "--fields=-[include selected extension fields]:flags (aCeEfFikKlmnNpPrRsStxzZ)" - "--fields--[include selected <lang> own extension fields]:language:->languageequals" - "--filter=-[behave as a filter, reading file names from stdin and writing tags to stdout]:bool:(yes no)" - "--filter-terminator=-[specify string to print to stdout following the tags for each file parsed when --filter is enabled]:string" - "--format=-[force output of specified tag file format]:level" - "(--guess-language-eagerly -G)"{--guess-language-eagerly,-G}"[guess the language of input file more eagerly]" - {--help,-?}"[display help text]" - "--help-full[display help text with experimental features]" - "--if0=-[should code within #if 0 conditionals be parsed]:bool:(yes no)" - "--input-encoding=-[specify encoding of all input files]:encoding" - "--input-encoding--[specify encoding of the <lang> input files]:language:->languageequals" - "--kinddef--[define new kind for <lang>]:language:->languageequals" - "--kinds--[enable/disable tag kinds for <lang>]:language:->languageequals" - "--langdef=-[define a new language to be parsed with regular expressions]:name" - "--langmap=-[override default mapping of language to input file extension]:maps" - "--language-force=-[force all files to be interpreted using specified language]:language:->language" - "--languages=-[restrict files scanned to these comma-separated languages]:language:->languages" - "--license[print details of software license]" - "--line-directives=-[should #line directives be processed]:bool:(yes no)" - "--links=-[indicate whether symlinks should be followed]:bool:(yes no)" - "--list-aliases=-[list of alias patterns]:language:->language" - "--list-excludes[list of exclude patterns for files/dirs]" - "--list-extras=-[list of extra tag flags]:language:->language" - "--list-features[list of compiled features]" - "--list-fields=-[list of fields]:language:->language" - "--list-kinds=-[list of all tag kinds for lang]:language:->language" - "--list-kinds-full=-[list details of all tag kinds for lang]:language:->language" - "--list-languages[list of supported languages]" - "--list-map-extensions=-[list of language extensions in mapping]:language:->language" - "--list-map-patterns=-[list of language patterns in mapping]:language:->language" - "--list-maps=-[list of language mappings (both extensions and patterns)]:language:->language" - "--list-mline-regex-flags[list of flags which can be used in a multiline regex parser definition]" - "--list-params=-[list of language parameters. works with --machinable]:language:->language" - "--list-pseudo-tags[list of pseudo tags]" - "--list-regex-flags[list of flags which can be used in a regex parser definition]" - "--list-roles=-[list of all roles of tag kinds specified for langs]:language:->language" - "--list-subparsers=-[list of subparsers for the base lang]:language:->language" - "--machinable=-[use tab separated representation in --list-* output]:bool:(yes no)" - "--map--[set, add(+), or remove(-) the map for <lang>]:language:->languageequals" - "--maxdepth=-[specify maximum recursion depth]:depth" - "--mline-regex--[define multiline regex for locating tags in <lang>]:language:->languageequals" - "--options=-[specify file (or dir) from which command line options should be read]:file:_files" - "--options-maybe=-[same as --options but doesn't error]:file:_files" - "--optlib-dir=-[add or set dir to optlib search path]:dir:_files -/" - "--output-encoding=-[the encoding to write the tag file in]:encoding" - "--output-format=-[specify the output format]:format:(u-ctags e-ctags etags xref)" - "--param--[set <lang> specific parameter]:language:->languageequals" - "--pattern-length-limit=-[cutoff patterns of tag entries after N characters]:number" - "--print-language[don't make tags file but just print the guessed lang name for input file]" - "--pseudo-tags=-[enable/disable emitting pseudo tag named ptag. if *, enable emitting all pseudo tags]:ptag" - "--put-field-prefix[put UCTAGS as prefix for the name of fields newly introducted in universal ctags]" - "--quiet=-[don't print notice class messages]:bool:(yes no)" - "--regex--[define regex for locating tags in specific lang]:language:->languageequals" - "--roles--[enable/disable tag roles for kinds of <lang>]:language:->languagedot" - "--sort=-[should tags be sorted]:argument:(yes no foldcase)" - "--tag-relative=-[should paths be relative to location of tag file]:argument:(yes no always never)" - "--totals=-[print stats about input and tag files]:argument:(yes no extra)" - "(--verbose -V)--verbose=-[enable verbose messages describing actions]:bool:(yes no)" - "(--verbose -V)-V[enable verbose messages describing actions]" - "--version[print version]" - "--with-list-header=-[prepend the column descriptions in --list-* output]:bool:(yes no)" - "*:file:_files" - ) -elif [ "$_ctags_type" = "exuberant" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-e[output tag file for use with emacs]" - {-f+,-o+}"[write tags to specified file]:output file:_files" - "-F[use forward searching patterns (/.../)]" - "-h[specify a list of file extensions to be treated as include files]:extensions" - "-I[specify a list of tokens to be specially handled]:identifier list" - "-L[read a list of input file names from the specified file]:input file:_files" - "-n[equivalent to --excmd=number]" - "-N[equivalent to --excmd=pattern]" - "(--recurse -R)--recurse=-[search files recursively]::bool:(yes no)" - "(--recurse -R)-R[search files recursively]" - "-u[equivalent to --sort=no]" - "-x[print a tabular cross reference file to stdout]" - "--append=-[should tags be appended to existing tag file]:bool:(yes no)" - "--etags-include=-[include reference to file in emacs style tag file]:file:_files" - "--exclude=-[exclude files and directories matching pattern]:pattern" - "--excmd=-[uses the specified type of ex command to locate tags]:ex command type:(number pattern mix)" - "--extra=-[include extra tag entries for selected information]:flags (fg)" - "--fields=-[include selected extension fields]:flags (afmikKlnsStz)" - "--file-scope=-[should tags scoped only for a single file be included in output]:bool:(yes no)" - "--filter=-[behave as a filter, reading file names from stdin and writing tags to stdout]:bool:(yes no)" - "--filter-terminator=-[specify string to print to stdout following the tags for each file parsed when --filter is enabled]:string" - "--format=-[force output of specified tag file format]:level" - "--help[display help text]" - "--if0=-[should code within #if 0 conditionals be parsed]:bool:(yes no)" - "--langdef=-[define a new language to be parsed with regular expressions]:name" - "--langmap=-[override default mapping of language to input file extension]:maps" - "--language-force=-[force all files to be interpreted using specified language]:language:->language" - "--languages=-[restrict files scanned to these comma-separated languages]:language:->languages" - "--license[print details of software license]" - "--line-directives=-[should #line directives be processed]:bool:(yes no)" - "--links=-[indicate whether symlinks should be followed]:bool:(yes no)" - "--list-kinds=-[list of all tag kinds for lang]:language:->language" - "--list-languages[list of supported languages]" - "--list-maps=-[list of language mappings (both extensions and patterns)]:language:->language" - "--options=-[specify file (or dir) from which command line options should be read]:file:_files" - "--regex--[define regex for locating tags in specific lang]:language:->language" - "--sort=-[should tags be sorted]:argument:(yes no foldcase)" - "--tag-relative=-[should paths be relative to location of tag file]:argument:(yes no)" - "--totals=-[print stats about input and tag files]:argument:(yes no)" - "(--verbose -V)--verbose=-[enable verbose messages describing actions]:bool:(yes no)" - "(--verbose -V)-V[enable verbose messages describing actions]" - "--version[print version]" - "*:file:_files" - ) - if [[ "$PREFIX" = -* ]]; then - local -a languages=(`_ctags_languages`) - local -a languages2 - for language in $languages; do - arguments+=("--$language-kinds=-:kinds") - done - fi -elif [ "$_ctags_type" = "bsd" ]; then - arguments=( - "-a[append to tags file]" - "-B[use backward searching patterns (?...?)]" - "-d[create tags for #defines that don't take arguments]" - "-F[use forward searching patterns (/.../)]" - "-f+[write tags to specified file]:output file:_files" - "-t[create tags for typedefs, structs, unions, and enums]" - "-u[update the specified files in the tags file]" - "-v[an index of the form expected by vgrind(1) is produced]" - "-w[suppress warning diagnostics]" - "-x[ctags produces a simple function index]" - "*:file:_files" - ) -fi - -_arguments -s $arguments - -if [ "$state" = "language" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -a languages -elif [ "$state" = "languageequals" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -S = -a languages -elif [ "$state" = "languagedot" ]; then - local -a languages=(`_ctags_languages`) - _wanted languages expl language compadd -S . -a languages -elif [ "$state" = "languages" ]; then - local -a languages=(`_ctags_languages`) - _values -s , languages $languages -fi - -return $(( compstate[nmatches] > 0 ? 0 : 1 )) diff --git a/result/sw/share/zsh/5.9/functions/_ctags_tags b/result/sw/share/zsh/5.9/functions/_ctags_tags deleted file mode 100644 index 2474969a..00000000 --- a/result/sw/share/zsh/5.9/functions/_ctags_tags +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl tags - -[[ -r tags ]] && tags=( ${${${(f)"$(< tags)"}:#!*}%%[[:blank:]]*} ) - -_wanted ctags expl 'tag' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a "$@" - tags diff --git a/result/sw/share/zsh/5.9/functions/_cu b/result/sw/share/zsh/5.9/functions/_cu deleted file mode 100644 index 5876820e..00000000 --- a/result/sw/share/zsh/5.9/functions/_cu +++ /dev/null @@ -1,64 +0,0 @@ -#compdef cu - -local variant ign -local -a args - -_pick_variant -r variant taylor='Taylor UUCP' $OSTYPE --version - -case $variant in - openbsd*) - args+=( - "-d[don't block waiting for a carrier to be detected]" - '-r[start cu in restricted mode - prevent local operations]' - '-E+[specify escape character]:escape character [~]' - ) - ;; - taylor|(net|free)bsd*) - args+=( - '(-o -P --parity)-e[use even parity]' - '(-e -P --parity)-o[use odd parity]' - ) - ;| - dragonfly*|(net|free)bsd*) - args+=( '-t[connect via a hard-wired connection to a host on a dial-up line]' ) - ;| - taylor|netbsd*) - (( $#words > 2 )) && ign='!' - args+=( - "${ign}--help[display usage information]" - '(-s)--speed=[set line speed for the connection]:line speed [9600]:_baudrates' - '(-e -o -P)--parity=[set parity]:parity [none]:(even odd none)' - '(-h --halfduplex)'{-h,--halfduplex}'[echo characters locally]' - '--nostop[turn off XON/XOFF handling]' - '(-E --escape)'{-E+,--escape=}'[specify escape character]:escape character [~]' - '(-a -p --port)'{-a+,-p+,--port=}'[specify the port]:port' - '(-c --phone -n --prompt)'{-c+,--phone=}'[specify phone number to call]:phone number' - '(1 -l -z --system)--line=[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*|cu.*)(N%c))' - ) - ;| - taylor) - args+=( - "${ign}(-v --version)"{-v,--version}"[display version information]" - '(-n --prompt -c --phone)'{-n,--prompt}'[prompt for the phone number to use]' - '(-x --debug)-d[enter debugging mode]' - '(-d -x --debug)'{-x+,--debug=}'[turn on particular debugging types]:debug type:_sequence compadd - all abnormal chat handshake port config incoming outgoing' - '(-I --config)'{-I+,--config=}'[specify configuration file]:configuration file:_files' - '(1 -z --system)'{-z+,--system=}'[specify system to call]:system' - ) - ;; - netbsd*) - args+=( - '(-E --escape)-n+[disable escape character processing]' - '(-f -F --flow)'{-F+,--flow=}'[set flow control]:flow control:(hard soft none)' - '(-F --flow)-f[use no flow control]' - '(-e -o --parity)-P+[set parity]:parity [none]:(even odd none)' - ) - ;; - dragonfly*|freebsd*) args+=( '-a[set the acu port]:acu' ) ;| - freebsd*) args=( -A "-*" $args '-h[echo characters locally]' ) ;; -esac - -_arguments -s $args \ - '(--speed)-s+[set line speed for the connection]:line speed [9600]:_baudrates' \ - '(1 --line -z --system)-l+[specify line to use]:line:(/dev/(cuaU#<->|ttyS<->|tty.*|cu.*)(N%c))' \ - '1: :_guard "^-*" system' diff --git a/result/sw/share/zsh/5.9/functions/_curl b/result/sw/share/zsh/5.9/functions/_curl deleted file mode 100644 index ecccdd38..00000000 --- a/result/sw/share/zsh/5.9/functions/_curl +++ /dev/null @@ -1,7 +0,0 @@ -#compdef curl - -# As of 7.43.0, curl upstream provides its own _curl definition. This -# definition is provided as a fallback, and should be installed later -# in $fpath than the curl-provided definition of _curl. - -_gnu_generic || _urls "$@" diff --git a/result/sw/share/zsh/5.9/functions/_cut b/result/sw/share/zsh/5.9/functions/_cut deleted file mode 100644 index d3b1e2b1..00000000 --- a/result/sw/share/zsh/5.9/functions/_cut +++ /dev/null @@ -1,58 +0,0 @@ -#compdef cut gcut - -typeset -A _cut_args - -case $LANG in - (de_DE.UTF-8) - _cut_args=( - bytes "nur diese Bytes ausgeben" - characters "nur diese Zeichen ausgeben" - delimiter "Delimiter anstelle von Tabulator als Trenner benutzen" - fields "nur diese Felder und alle Zeilen OHNE Trennzeichen ausgeben" - complement $'das Komplement der Menge der gew\u00e4hlten Bytes, Zeichen oder Felder bilden' - only-delimited "keine Zeilen ausgeben, die keinen Trenner enthalten" - output-delimiter "Zeichenkette als Ausgabetrennzeichen benutzen" - help "diese Hilfe anzeigen und beenden" - version "Versionsinformation anzeigen und beenden" - ) - ;; - (*) - _cut_args=( - bytes "select only specified bytes" - characters "select only specified characters" - delimiter "use alternate field delimiter" - fields "select only specified fields" - complement "negate the set of selected bytes, characters or fields" - only-delimited "suppress lines with no delimiters" - output-delimiter "use specified string as the output delimiter" - help "display help information" - version "output version information" - ) - ;; -esac - -if _pick_variant gnu="Free Soft" unix --version; then - _arguments \ - '(--bytes -b)'{--bytes=,-b+}'['$_cut_args[bytes]']:list' \ - '(--characters -c)'{--characters=,-c+}'['$_cut_args[characters]']:list' \ - '(--delimiter -d)'{--delimiter=,-d+}'['$_cut_args[delimiter]']:delimiter' \ - '(--fields -f)'{--fields=,-f+}'['$_cut_args[fields]']:list' \ - '--complement['$_cut_args[complement]']' \ - '(--only-delimited -s)'{--only-delimited,-s}'['$_cut_args[only-delimited]']' \ - '--output-delimiter=['$_cut_args[output-delimiter]']:delimiter' \ - '(- *)--help['$_cut_args[help]']' \ - '(- *)--version['$_cut_args[version]']' \ - '*:file:_files' -else - case $OSTYPE in - freebsd*|dragonfly*) args+=( '(-d)-w[use whitespace as the delimiter]' ) ;; - esac - _arguments $args \ - "-b[${_cut_args[bytes]}]:list" \ - "-c[${_cut_args[characters]}]:list" \ - "(-w)-d[${_cut_args[delimiter]}]:delimiter" \ - "-f[${_cut_args[fields]}]:list" \ - "-n[do not split multi-byte characters]" \ - "-s[${_cut_args[only-delimited]}]" \ - '*:file:_files' -fi diff --git a/result/sw/share/zsh/5.9/functions/_cvs b/result/sw/share/zsh/5.9/functions/_cvs deleted file mode 100644 index 4dc5b6c6..00000000 --- a/result/sw/share/zsh/5.9/functions/_cvs +++ /dev/null @@ -1,964 +0,0 @@ -#compdef cvs - -# redefine _cvs. - -_cvs() { - # "+Qqrwtnlvb:T:e:d:Hfz:s:xa" - _arguments -s \ - '-R[read only access]' \ - '-a[authenticate]' \ - '-f[disable .cvsrc]' \ - '(-n)-l[disable logging]' \ - '(-l)-n[no change]' \ - '(-q)-Q[really quiet]' \ - '(-Q)-q[somewhat quiet]' \ - '(-w)-r[make new working file read only]' \ - '-t[trace]' \ - '(-r)-w[make new working file read-write]' \ - '-x[encrypt client/server communication]' \ - '(-)'{-v,--version}'[print version and copyright information]' \ - '(-)'{-H,--help}'[print help information]' \ - '(-)--help-commands[command help]' \ - '(-)--help-synonyms[command synonyms help]' \ - '(-)--help-options[global options help]' \ - '*--allow-root=[allowable root for pserver]:rootdir:_files -/' \ - '-T+[temporary directory]:temporary directory:_cvs_tempdir' \ - '-d+[cvs root directory]:cvsroot:_cvs_root' \ - '-e+[editor]:editor:_cvs_editor' \ - '-s+[user variable]:user variable:_cvs_user_variable' \ - '-z+[gzip level]:gzip level:(0 1 2 3 4 5 6 7 8 9)' \ - '*::cvs command:_cvs_command' -} - -# define cvs command dispatch function. - -(( $+functions[_cvs_command] )) || -_cvs_command() { - local cmd cvsroot="$CVSROOT" ret=1 - [[ -f CVS/Root ]] && cvsroot="$(<CVS/Root)" - [[ -n "$opt_args[-d]" ]] && cvsroot=${(e)~opt_args[-d]:Q} - - if (( ! $+_cvs_syns )); then - typeset -gA _cvs_syns - _cvs_syns=( ${(s. .)${(f)"$(cvs --help-synonyms 2>&1)"}[2,-2]/(#b) #([a-z]#) #([a-z]#) ([a-z]#)/$match[1] $match[2]:$match[3]} ) - fi - - (( $+_cvs_cmds )) || _cvs_cmds=( - ${${(f)"$(_call_program commands cvs --help-commands 2>&1)"}[2,-2]/(#b) #([a-z]##) #([A-Z])/$match[1]:${match[2]:l}} - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'cvs command' _cvs_cmds || compadd "$@" - ${(s.:.)${(j.:.)_cvs_syns}} - else - local curcontext="$curcontext" - - cmd="${${_cvs_cmds[(r)$words[1]:*]%%:*}:-${(k)_cvs_syns[(r)(*:|)$words[1](:*|)]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:cvs-${cmd}:" - _call_function ret _cvs_$cmd || _message 'no more arguments' - else - _message "unknown cvs command: $words[1]" - fi - return ret - fi -} - -# define completion functions for each cvs command - -(( $+functions[_cvs_add] )) || -_cvs_add() { - # "+k:m:" - _arguments -s \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-m+[message]:message:_cvs_m' \ - '*:added file:_cvs_files_unmaintained' \ -} - -(( $+functions[_cvs_admin] )) || -_cvs_admin() { - # "+ib::c:a:A:e::l::u::LUn:N:m:o:s:t::IqxV:k:" - _arguments -s \ - -{i,x} \ - '(-U)-L[set lock strict]' \ - '(-L)-U[set locl non-strict]' \ - '-I[interactive]' \ - '-q[quiet]' \ - '-b-[default branch]:default branch:(1.1.1)' \ - '-c+:comment leader (not used)' \ - '-a+:login names (not work with CVS)' \ - '-A+:access list to append (not work with CVS)' \ - '-e-:access list to erase (not work with CVS)' \ - '-l-[lock]:revision to lock' \ - '-u-[unlock]:revision to unlock' \ - '-n+[name revision]:symbolic-name(\:revision)' \ - '-N+[force to name revision]:symbolic-name(\:revision)' \ - '-m+[replace log]:revision\:msg' \ - '-o+[delete revision]:range to delete' \ - '-s+[replace state attribute]:state(\:revision)' \ - '-t-[replace descriptive text]:descriptive text:_cvs_admin_t' \ - '-V+:version (obsolete)' \ - '-k+[set keyword substitution]:keyword substitution:_cvs_k' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_admin_t] )) || -_cvs_admin_t() { - if compset -P -; then - _message -e descriptions 'descriptive text' - else - _files "$@" - fi -} - -(( $+functions[_cvs_annotate] )) || -_cvs_annotate() { - # "+lr:D:fR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '-f[use head revision]' \ - '(-l)-R[recursive]' \ - '(-f -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-f -r)-D+[specify date]:date:_cvs_D' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_rannotate] )) || -_cvs_rannotate() { - # "+lr:D:fR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '-f[use head revision]' \ - '(-l)-R[recursive]' \ - '(-f -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-f -r)-D+[specify date]:date:_cvs_D' \ - '*:file:_cvs_modules' -} - -(( $+functions[_cvs_checkout] )) || -_cvs_checkout() { - # "+ANnk:d:flRpQqcsr:D:j:P" - _arguments -s \ - '-N[don'\''t shorten module paths]' \ - '-A[reset sticky tags, dates and -k]' \ - '-n[disable checkout program]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '(-s)-c[module database]' \ - '(-c)-s[module database with status]' \ - '-P[prune empty directory]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-d+[directory]:directory:_files -/' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '-j+[merge]:tag:_cvs_revisions' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_commit] )) || -_cvs_commit() { - # "+nlRm:fF:r:" - _arguments -s \ - '-n[disable module program]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-f[force to commit]' \ - '(-F)-m+[message]:message:_cvs_m' \ - '(-m)-F+[message file]:log message file:_files' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - '*:modified file:_cvs_commit_arg' -} - -(( $+functions[_cvs_commit_arg] )) || -_cvs_commit_arg() { - if (( $+opt_args[-f] )); then - _cvs_files - else - _cvs_files_modified - fi -} - -(( $+functions[_cvs_diff] )) || -_cvs_diff() { - local of ofwuc ouc oss ofwy ofwg ofwl - # output formats - of="-y --side-by-side -n --rcs -e -f --ed -q --brief -c -C --context -u -U \ - --unified --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format --new-line-format \ - --unchanged-line-format" - - # output formats w/o unified and context - ofwuc="-y --side-by-side -n --rcs -e -f --ed -q --brief --old-group-format \ - --new-group-format --changed-group-format --unchanged-group-format \ - --line-format --old-line-format --new-line-format --unchanged-line-format" - - # option specific to unified or context diff - ouc='-L --label -p --show-c-function -F --show-function-line' - - # option specific to side by side - oss='-W --width --left-column --suppress-common-lines' - - # output formats w/o side by side - ofwy="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format \ - --new-line-format --unchanged-line-format" - - # output formats w/o group format - ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --line-format --old-line-format --new-line-format --unchanged-line-format" - - # output formats w/o line format - ofwl="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format" - - # "+abcdefhilnpstuw0123456789BHNRC:D:F:I:L:U:V:W:k:r:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - {,}'(-r)-D+[specify date]:date:_cvs_D' \ - {,}'(-D)-r+[specify revision]:tag:_cvs_revisions' \ - -{h,0,1,2,3,4,5,6,7,8,9} \ - '--binary[binary mode]' \ - '--ifdef=[set macro name for merged if-then-else format]:name' \ - '(-i --ignore-case)'{-i,--ignore-case}'[case insensitive]' \ - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all white space]' \ - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \ - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore lines that are all blank]' \ - '(-I --ignore-matching-lines)'{-I+,--ignore-matching-lines=}'[ignore lines that match regex]:line exclusion regex' \ - '(-a --text)'{-a,--text}'[treat all files as text]' \ - "($of $oss)"{-C+,--context=-}'[context diff; specify lines of context]:number of lines of context' \ - "($of $oss)-c[output a context diff]" \ - "($of $oss)"{-U+,--unified=-}'[unified diff; specify lines of context]:number of lines of context' \ - "($of $oss)-u[output a unified diff]" \ - {,}"($ofwuc $oss -L --label)"{-L+,--label=}'[set label to use instead of file name]:label' \ - "($ofwuc $oss -p --show-c-function)"{-p,--show-c-function}'[show C function of each change]' \ - "($ofwuc $oss -F --show-function-line=)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' \ - "($of $ouc $oss)--brief[output only whether files differ]" \ - "($of $ouc $oss)"{-e,--ed}'[output an ed script]' \ - "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \ - "($of $ouc $oss)"{-n,--rcs}'[RCS format diff]' \ - "($of $ouc)--side-by-side[output in two columns]" \ - "($of $ouc)-y[output in two columns]" \ - "($ofwy $ouc -W --width)"{-W+,--width=}'[set size of line]:number of characters per line' \ - "($ofwy $ouc)--left-column[output only left column of common lines]" \ - "($ofwy $ouc)--suppress-common-lines[do not output common lines]" \ - "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format" \ - "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format" \ - "($ofwg $ouc $oss)--changed-group-format=[set changed group format]:changed group format" \ - "($ofwg $ouc $oss)--unchanged-group-format=[set unchanged group format]:unchanged group format" \ - "($ofwl $ouc $oss)--line-format=[set line format]:line format" \ - "($ofwl $ouc $oss)--old-line-format=[set old line format]:old line format" \ - "($ofwl $ouc $oss)--new-line-format=[set new line format]:new line format" \ - "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format" \ - '--paginate[output through pr]' \ - '(-t --expand-tabs)'{-t,--expand-tabs}'[expand tabs to spaces]' \ - '--initial-tab[prepend a tab]' \ - '(-N --new-file)'{-N,--new-file}'[treat absent files as empty]' \ - '(-s --report-identical-files)'{-s,--report-identical-files}'[report when two files are the same]' \ - '--horizon-lines=[set number of lines to keep in prefix and suffix]:number of horizon lines' \ - '(-d --minimal)'{-d,--minimal}'[try to find a smaller set of changes]' \ - '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]' \ - '*:file:_cvs_diff_arg' -} - -(( $+functions[_cvs_diff_arg] )) || -_cvs_diff_arg() { - _cvs_files_modified || _cvs_files -} - -(( $+functions[_cvs_edit] )) || -_cvs_edit() { - # "+lRa:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-a+[specify action]:action:(edit unedit commit all none)' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_editors] )) || -_cvs_editors() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_export] )) || -_cvs_export() { - # "+Nnk:d:flRQqr:D:" - _arguments -s \ - '-N[don'\''t shorten module paths]' \ - '-n[disable checkout program]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '-d+[directory]:directory:_files -/' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_history] )) || -_cvs_history() { - # "+Tacelow?D:b:f:m:n:p:r:t:u:x:X:z:" - _arguments -s \ - '-T[all tags]' \ - '-a[all users]' \ - '-c[modified files]' \ - '-e[everything]' \ - '-l[last modification]' \ - '-o[check-outed modules]' \ - '-w[working directory]' \ - '-D+[since date]:date:_cvs_D' \ - '-b+[back to record]:string' \ - '-f+[specify file]:file:_cvs_files' \ - '-m+[specify module]:module:_cvs_modules' \ - '*-n+[in module]:module:_cvs_modules' \ - '*-p+[in repository]:repository' \ - '-r+[since revision]:rev' \ - '-t+[since tag]:tag' \ - '*-u+[specify user]:user name' \ - '-x+[specify type]:type:_cvs_history_x' \ - '-X+[debugging]:arg' \ - '-z+[specify timezone]:timezone' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_history_x] )) || -_cvs_history_x() { - _values -s '' 'type' \ - 'F[release]' \ - 'O[checkout]' \ - 'E[export]' \ - 'T[rtag]' \ - 'C[merge collision-detected]' \ - 'G[merge succeed]' \ - 'U[working file was copied]' \ - 'W[working file was deleted]' \ - 'A[a file was added]' \ - 'M[a file was modified]' \ - 'R[a file was removed]' -} - -(( $+functions[_cvs_import] )) || -_cvs_import() { - # "+Qqdb:m:I:k:W:" - _arguments -s \ - '-d[use file modification time]' \ - '-b+[specify vendor branch]:branch:(1.1.3)' \ - '-m+[message]:message:_cvs_m' \ - '*-I+[ignore files]:name:_files' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '*-W+[wrapper specification]:spec:_files' \ - ':repository:_cvs_modules' \ - ':vendor tag:_cvs_vendor_branches' \ - ':release tag' -} - -(( $+functions[_cvs_log] )) || -_cvs_log() { - # "+bd:hlNRr::s:tw::" - _arguments -s \ - '-b[default branch]' \ - '(-t)-h[header]' \ - '-l[don'\''t recurse]' \ - '-R[print the name of RCS file in the repository]' \ - '-N[don'\''t list tags]' \ - '(-h)-t[header with descriptive text]' \ - '-d+[specify dates]:date range' \ - '-r-[specify revisions]:revisions' \ - '-s+[specify states]:state:_sequence compadd - Exp Stab Rel dead' \ - '-w-[specify logins]:login list' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_rlog] )) || -_cvs_rlog() { - # "+bd:hlNRr::s:tw::" - _arguments -s \ - '-b[default branch]' \ - '(-t)-h[header]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-N[don'\''t list tags]' \ - '(-h)-t[header with descriptive text]' \ - '-d+[specify dates]:date range' \ - '-r-[specify revisions]:revisions' \ - '-s+[specify states]:state:_sequence compadd - Exp Stab Rel dead' \ - '-w-[specify logins]:login list' \ - '*:file:_cvs_modules' -} - -(( $+functions[_cvs_rdiff] )) || -_cvs_rdiff() { - # "+V:k:cuftsQqlRD:r:" - _arguments -s \ - '-c[output a context diff]' \ - '-u[output a unified diff]' \ - '-f[use most recent revision if -D/-r is not matched]' \ - '-s[short patch]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-V+[specify version]:version' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '(-D -D -r -r)-t[top two differences]' \ - '(-t -r)-D+[specify date]:date:_cvs_D' \ - '(-t -r)-D+[specify date]:date:_cvs_D' \ - '(-t -D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-t -D)-r+[specify revision]:tag:_cvs_revisions' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_release] )) || -_cvs_release() { - # "+Qdq" - _arguments -s \ - '-d[delete]' \ - '*:directory:_files -/' -} - -(( $+functions[_cvs_remove] )) || -_cvs_remove() { - # "+flR" - _arguments -s \ - '-f[force to remove]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:removed file:_cvs_remove_arg' -} - -(( $+functions[_cvs_remove_arg] )) || -_cvs_remove_arg() { - if (( $+opt_args[-f] )); then - _cvs_files - else - _cvs_files_removed - fi -} - -(( $+functions[_cvs_rtag] )) || -_cvs_rtag() { - # "+FanfQqlRdbr:D:" - _arguments -s \ - '(-d)-F[move tag if already exists]' \ - '(-d)-a[clear tag from removed files]' \ - '-n[disable tag program]' \ - '(-d)-f[force a head revision]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '(-b)-d[delete tag]' \ - '(-d)-b[create branch]' \ - '-D+[specify date]:date:_cvs_D' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - ':tag' \ - '*:module:_cvs_modules' -} - -(( $+functions[_cvs_status] )) || -_cvs_status() { - # "+vlR" - _arguments -s \ - '-v[verbose]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_tag] )) || -_cvs_tag() { - # "+FQqlRcdr:D:bf" - _arguments -s \ - '(-d)-F[move tag if already exists]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-c[check that working files unmodified]' \ - '(-b)-d[delete tag]' \ - '(-d)-b[create branch]' \ - '(-d)-f[force a head revision]' \ - '-r+[specify revision]:tag:_cvs_revisions' \ - '-D+[specify date]:date:_cvs_D' \ - ':tag:_cvs_revisions' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_unedit] )) || -_cvs_unedit() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_update] )) || -_cvs_update() { - # "+ApCPflRQqduk:r:D:j:I:W:" - _arguments -s \ - '-C[overwrite local modification]' \ - '-A[reset sticky tags, dates and -k]' \ - '-p[check out to standard output]' \ - '-P[prune empty directory]' \ - '-f[use head revision]' \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '-d[create directories]' \ - '-k+[keyword]:keyword substitution:_cvs_k' \ - '(-D)-r+[specify revision]:tag:_cvs_revisions' \ - '(-r)-D+[specify date]:date:_cvs_D' \ - '*-j+[merge]:tag:_cvs_revisions' \ - '*-I+[ignore files]:file:_files' \ - '*-W+[wrapper specification]:spec:_files' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_watch] )) || -_cvs_watch() { - local expl - - if (( CURRENT == 2 )); then - _wanted values expl 'watch command' compadd on off add remove - else - case "$words[2]" in - on|off) # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - ':watch command' \ - '*:file:_cvs_files' - ;; - add|remove) # "+lRa:" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*-a+[specify action]:action:(edit unedit commit all none)' \ - ':watch command' \ - '*:file:_cvs_files' - ;; - esac - fi -} - -(( $+functions[_cvs_watchers] )) || -_cvs_watchers() { - # "+lR" - _arguments -s \ - "(-R)-l[don't recurse]" \ - '(-l)-R[recursive]' \ - '*:file:_cvs_files' -} - -(( $+functions[_cvs_loadstat] )) || -_cvs_loadstat() { - (( $+_cvs_loadstat_status )) && return $_cvs_loadstat_status - - zmodload -F zsh/stat b:zstat 2>/dev/null - (( _cvs_loadstat_status = ! $+builtins[zstat] )) - return $_cvs_loadstat_status -} - -(( $+functions[_cvs_root] )) || -_cvs_root() { - local cvspassfile id slash - - typeset -gU _cvs_roots - - if [[ -f "${cvspassfile::=${CVS_PASSFILE:-$HOME/.cvspass}}" ]]; then - if _cvs_loadstat; then - id="$(LC_ALL=C builtin zstat -g +mtime -F '%Y/%m/%d-%T' "$cvspassfile")" - else - id="$(LC_ALL=C ls -l "$cvspassfile")" - fi - if [[ "$id" != "$_cvs_pass_id" ]]; then - slash=/ - _cvs_roots=($_cvs_roots ${${${${(f)"$(<$cvspassfile)"}#/1 }%% *}/:2401${slash}/:/}) - _cvs_pass_id="$id" - fi - fi - - _tags files && { - compadd -M 'r:|[:@./]=** r:|=**' "$@" -a _cvs_roots || { - compset -P ':(local|fork):'; _files "$@" -W / -/ - } - } -} - -(( $+functions[_cvs_tempdir] )) || -_cvs_tempdir() { - _tags directories && compadd "$@" $TMPPREFIX:h $TMPDIR /tmp -} - -(( $+functions[_cvs_user_variable] )) || -_cvs_user_variable() { - if compset -P 1 '*='; then - _default - else - _message -e variables "variable" - fi -} - -# define completion functions for cvs global options. - -(( $+functions[_cvs_editor] )) || -_cvs_editor() { - _tags commands && compadd "$@" vi -} - -# define completion functions for cvs common options and arguments. - -(( $+functions[_cvs_D] )) || -_cvs_D() { - _tags values && compadd "$@" today yesterday week\ ago month\ ago -} - -(( $+functions[_cvs_k] )) || -_cvs_k() { - _values 'keyword substitution' \ - 'kv[generate keyword strings using the default form]' \ - "kvl[include locker's name in strings if given revision is locked]" \ - 'k[generate only keyword names in keyword strings; omit their values]' \ - 'o[generate the old keyword string as present in the file before check in]' \ - "b[binary - like \`o' but also inhibit line ending conversions]" \ - 'v[generate only keyword values for keyword strings]' -} - -(( $+functions[_cvs_m] )) || -_cvs_m() { - _message -e messages "log message" -} - -(( $+functions[_cvs_modules] )) || -_cvs_modules() { - if compset -P '(#m)(*/)'; then - _cvs_sub_modules "$cvsroot" "${MATCH%/}" - else - _cvs_top_modules "$cvsroot" - fi -} - -(( $+functions[_cvs_top_modules] )) || -_cvs_top_modules() { - local root="$1" - - if [[ -d $root ]]; then - _wanted modules expl 'module name' \ - compadd - $root/*(/:t) \ - ${${(M)${(f)"$(<$root/CVSROOT/modules)"}:#[^#]*}%%[ ]*} - else - if [[ "$_cvs_top_modules_cache_key" != "$root" ]]; then - _cvs_top_modules_cache_key="$root" - _cvs_top_modules_cache_mods=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_remote_directories "$root" . _cvs_top_modules_cache_mods - _cvs_top_modules_cache_mods=( - "$_cvs_top_modules_cache_mods[@]" - ${(M)${${(f)"$( - CVS_IGNORE_REMOTE_ROOT= _call_program modules cvs -d "$root" co -c - )"}%%[ ]*}:#?*} - ) - fi - fi - if (( $#_cvs_top_modules_cache_mods )); then - _wanted modules expl 'module name' \ - compadd -a _cvs_top_modules_cache_mods - else - _message -e modules 'module name' - fi - fi -} - -(( $+functions[_cvs_sub_modules] )) || -_cvs_sub_modules() { - local root="$1" dir="$2" ignore - - if [[ -d $root ]]; then - _wanted modules expl 'module name' \ - _path_files -W "($root/$dir)" -/ -F "(Attic */Attic)" - else - if [[ $_cvs_sub_modules_cache_key != "$root $dir" ]]; then - _cvs_sub_modules_cache_key="$root $dir" - _cvs_sub_modules_cache_mods=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_remote_directories "$root" "$dir" _cvs_sub_modules_cache_mods - fi - fi - if (( $#_cvs_sub_modules_cache_mods )); then - _wanted modules expl 'module name' \ - compadd -qS/ -a _cvs_sub_modules_cache_mods - else - _message -e modules 'module name' - fi - fi -} - -# _cvs_run cvsroot directory cvs-arguments... -(( $+functions[_cvs_run] )) || -_cvs_run() { - local cvsroot="$1" dir="$2" - shift 2 - local d=${TMPPREFIX:-/tmp/zsh}-cvs-work-$$ - rm -rf $d - mkdir $d && - ( - chmod 0700 $d && - builtin cd -q $d && - mkdir CVS >&/dev/null || return 1 - print -r - "$cvsroot" > CVS/Root - print "$dir" > CVS/Repository - print D > CVS/Entries - CVS_IGNORE_REMOTE_ROOT= cvs "$@" - ) - rm -rf $d -} - -# _cvs_remote_directories cvsroot directory [variable] -(( $+functions[_cvs_remote_directories] )) || -_cvs_remote_directories() { - local root="$1" dir="$2" subdirs - shift 2 - subdirs=(${${(M)${(f)"$(_call_program directories _cvs_run "$root" "$dir" update -r00 -d -p 2>&1)"}:#* New directory \`*\' -- ignored}/(#b)*\`(*)\'*/$match[1]}) - if (( $# )); then - eval "$1=(\"\$subdirs[@]\")" - else - if (( $#subdirs )); then - print -lr - $subdirs - fi - fi -} - -(( $+functions[_cvs_vendor_branches] )) || -_cvs_vendor_branches() { - local expl vendor_branch - vendor_branch=() - if zstyle -T ":completion:${curcontext}:" remote-access; then - if [[ -n $opt_args[-b] ]]; then - _cvs_extract_vendor_branch -b "$opt_args[-b]" "$cvsroot" "$line[1]" \ - vendor_branch - else - _cvs_extract_vendor_branch "$cvsroot" "$line[1]" vendor_branch - fi - fi - if (( $#vendor_branch )); then - _wanted values expl 'vendor branch' compadd -a vendor_branch - else - _message -e branches 'vendor branch' - fi -} - -# _cvs_extract_vendor_branch [-b numeric-branch] cvsroot directory [variable] -(( $+functions[_cvs_extract_vendor_branch] )) || -_cvs_extract_vendor_branch() { - local numeric='1\.1\.1' - if [[ $1 = -b ]]; then - numeric="${2//./\\.}" - shift 2 - fi - local root="$1" dir="$2" - shift 2 - - local vtags - vtags=($( - _call_program tags _cvs_run "$root" "$dir" -Q log -h 2>/dev/null | - sed -ne $'/^symbolic names:/{ -n -:loop -/^[^ \t]/d -/: '"$numeric"$'$/b found -n -b loop -:found -s/^[ \t]*\\(.*\\): '"$numeric"$'$/\\1/p -n -/^[ \t]/b found -q -}')) - if (( $# )); then - eval "$1=(\"\$vtags[@]\")" - else - if (( $#vtags )); then - print -lr - "$vtags[@]" - fi - fi -} - -(( $+functions[_cvs_revisions] )) || -_cvs_revisions() { - local expl - - if [[ $_cvs_revisions_key != $cvsroot:$PWD ]]; then - _cvs_revisions_key="$cvsroot:$PWD" - if zstyle -T ":completion:${curcontext}:" remote-access; then - _cvs_revisions_cache=( - $(CVS_IGNORE_REMOTE_ROOT= _call_program tags cvs -d "$cvsroot" -q status -vl .| - sed -n -e '/No Tags Exist/d' \ - -e 's/^ \([A-Za-z][-_0-9A-Za-z+]*\).*/\1/p'| - sort|uniq) - ) - else - _cvs_revisions_cache=() - fi - fi - - if (( $#_cvs_revisions_cache )); then - _wanted values expl revision compadd -a _cvs_revisions_cache - else - _message -e revisions revision - fi -} - -# define completion functions for files maintained by cvs. - -(( $+functions[_cvs_files] )) || -_cvs_files() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'existing-files:file:_cvs_existing_entries' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_modified] )) || -_cvs_files_modified() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'existing-files:file:_cvs_modified_entries' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_removed] )) || -_cvs_files_removed() { - _alternative \ - 'directories:directory:_cvs_existing_directories' \ - 'removed-files:removed file:_cvs_nonexistent_entries' -} - -(( $+functions[_cvs_files_unmaintained] )) || -_cvs_files_unmaintained() { - _cvs_nonentried_files || - _cvs_existing_directories || - _cvs_strict_nonentried_files -} - -(( $+functions[_cvs_existing_directories] )) || -_cvs_existing_directories() { - local expl - _wanted directories expl directory _path_files -g "*~(*/|)CVS(/)" || - _cvs_path_prefixes -} - -(( $+functions[_cvs_existing_entries] )) || -_cvs_existing_entries() { - local expl match linedir realdir pat - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && - pat=(${(@)${(@)${(@M)${(@f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}%%/*}) - (( ${#pat} )) && _wanted files expl file _path_files -a pat -} - -(( $+functions[_cvs_modified_entries] )) || -_cvs_modified_entries() { - if _cvs_loadstat; then - local expl match linedir realdir pat slash=/ - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - local -a mtime - LC_ALL=C builtin zstat -A mtime -gn +mtime -F $'%a %b %e %T %Y\n' ${realdir}*(D) 2>/dev/null - [[ -n ${pat::="${(@j:|:)${(@)${(@)${(@)${(@)${(@)${(@M)${(@f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}/${slash}[^${slash}]#${slash}//}%/[^/]#/[^/]#}:#${(j:|:)~${(f)${(j:/:)${mtime##*/}}//(#m)[][*?()<|^~#\\]/\\$MATCH}#/}}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH}"} ]] - } && - _wanted files expl 'modified file' _path_files -g "$pat" - else - _cvs_existing_entries - fi -} - -(( $+_cvs_ignore_default )) || -local _cvs_ignore_default=( - RCS SCCS CVS CVS.adm RCSLOG 'cvslog.*' tags TAGS .make.state .nse_depinfo - '*\~' '\#*' '.\#*' ',*' '_$*' '*$' '*.old' '*.bak' '*.BAK' '*.orig' '*.rej' - '.del-*' '*.a' '*.olb' '*.o' '*.obj' '*.so' '*.exe' '*.Z' '*.elc' '*.ln' - core -) - -(( $+functions[_cvs_strict_nonentried_files] )) || -_cvs_strict_nonentried_files() { - local expl match linedir realdir omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - omitpats=( - ${${${${(M)${(f)"$(<"$realdir"CVS/Entries)"}:#/*}#/}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ) - if (( $#omitpats )); then - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D.)" - else - _path_files -g "*~(*/|)(D.)" - fi - } -} - -(( $+functions[_cvs_nonentried_files] )) || -_cvs_nonentried_files() { - local expl match linedir realdir omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - [[ -f "$realdir"CVS/Entries ]] && { - omitpats=( - ${${${${(M)${${(f)"$(<"$realdir"CVS/Entries)"}:#/*/-*/*/*/*}:#(D|)/*}#(D|)/}%%/*}//(#m)[][*?()<|^~#\\]/\\$MATCH} - $_cvs_ignore_default - ${=cvsignore} - ) - [[ -r ~/.cvsignore ]] && omitpats=($omitpats $(<~/.cvsignore)) - [[ -r ${realdir}.cvsignore ]] && omitpats=($omitpats $(<${realdir}.cvsignore)) - omitpats=($omitpats $=CVSIGNORE) - - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D.)" - } -} - -(( $+functions[_cvs_nonexistent_entries] )) || -_cvs_nonexistent_entries() { - local expl match linedir realdir files - match=() - : ${PREFIX:#(#b)(*/)(*)} - linedir="$match[1]" - realdir=${(e)~linedir} - files=(${realdir}*(D:t)) - [[ -f "$realdir"CVS/Entries ]] && { - files=( - ${${${${(M)${(f)"$(<"$realdir"CVS/Entries)"}:#(D|)/*}#(D|)/}%%/*}:#${(j:|:)~${files//(#m)[][*?()<|^~#\\]/\\$MATCH}}} - ) - compquote files - _wanted files expl 'removed file' compadd -Qp "$linedir" -a files - } -} - -(( $+functions[_cvs_path_prefixes] )) || -_cvs_path_prefixes() { - local expl match - match=() - [[ "$PREFIX$SUFFIX" = (#b)(*)(/[^/]#) ]] && { - PREFIX="$match[1]" - ISUFFIX="$match[2]$ISUFFIX" - SUFFIX='' - _wanted directories expl directory \ - _path_files -g "*~($PREFIX|(*/|)CVS)(/)" -S '' - } -} - -_cvs "$@" diff --git a/result/sw/share/zsh/5.9/functions/_cvsup b/result/sw/share/zsh/5.9/functions/_cvsup deleted file mode 100644 index a1657e65..00000000 --- a/result/sw/share/zsh/5.9/functions/_cvsup +++ /dev/null @@ -1,27 +0,0 @@ -#compdef cvsup - -_arguments -s \ - '-1[disable automatic retries]' \ - '-a[server must authenticate itself]' \ - '-A:local address:_hosts' \ - '-b:base directory:_files -/' \ - '-c:collections directory:_files -/' \ - '-d:maximum number of deleted files:' \ - '-D[perform only deletions]' \ - '(-E)-e[enable execution of commands from server]' \ - '(-e)-E[disable execution of commands from server]' \ - '-g[disable use of GUI]' \ - '-h:server host:_hosts' \ - '-i:file pattern:' \ - '-k[keep temporary copies of failed updates]' \ - '-l:lock file:_files' \ - '-L:verbosity level:(0 1 2)' \ - '-p:port:_ports' \ - '-P:connection mode:(m a port lo-hi -)' \ - '-r:maximum number of retries:' \ - '-s[suppress status checks]' \ - '-v[print version information]' \ - '(-Z)-z[enable compression]' \ - '(-z)-Z[disable compression]' \ - ':cvsup file:_files' \ - ':destination directory:_files -/' diff --git a/result/sw/share/zsh/5.9/functions/_cygcheck b/result/sw/share/zsh/5.9/functions/_cygcheck deleted file mode 100644 index e0d7532e..00000000 --- a/result/sw/share/zsh/5.9/functions/_cygcheck +++ /dev/null @@ -1,31 +0,0 @@ -#compdef cygcheck cygcheck.exe - -# cygwin 1.5.25 - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -local -a exclusive_opts -exclusive_opts=(-k --keycheck -f --find-package -l --list-package -p --package-query -h --help -V --version) - -_arguments -C -s -S \ - "(* $exclusive_opts -c --check-setup)"{-c,--check-setup}'[show installed version of the specified package and verify integrity (or for all installed packages if none specified)]:*:package:->package' \ - "(* $exclusive_opts -d --dump-only)"{-d,--dump-only}'[just list packages, do not verify (with -c)]' \ - "(* $exclusive_opts -s --sysinfo)"{-s,--sysinfo}'[produce diagnostic system information (implies -c -d)]' \ - "(* $exclusive_opts -r --registry)"{-r,--registry}'[also scan registry for Cygwin settings (with -s)]' \ - '(* -)'{-k,--keycheck}'[perform a keyboard check session (must be run from a plain console only, not from a pty/rxvt/xterm)]' \ - '(* -)'{-f,--find-package}'[find the package that specified file belongs to]:*:file:_files' \ - '(* -)'{-l,--list-package}'[list contents of the specified package (or all packages if none given)]:*:package:->package' \ - '(* -)'{-p,--package-query}'[search for the specified regexp in the entire cygwin.com package repository (requires internet connectivity)]:regexp:' \ - '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -v --verbose)'{-v,--verbose}'[produce more verbose output]' \ - '(-V --version -k --keycheck -f --find-package -l --list-package -p --package-query -c --check-setup -d --dump-only -h --help)'{-h,--help}'[annotate output with explanatory comments when given with another command, otherwise print this help]' \ - '(* -)'{-V,--version}'[print the version of cygcheck and exit]' \ - '(-)*:program: _command_names -e' && return - -if [[ "$state" = package ]]; then - local -a packages - packages=( ${${${(f)"$(_call_program packages $words[1] -c -d)"}[3,-1]}%% *} ) - _wanted packages expl package compadd -a packages && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_cygpath b/result/sw/share/zsh/5.9/functions/_cygpath deleted file mode 100644 index 0b64d55d..00000000 --- a/result/sw/share/zsh/5.9/functions/_cygpath +++ /dev/null @@ -1,28 +0,0 @@ -#compdef cygpath cygpath.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-d,--dos}'[print DOS (short) form of specified path (C:\PROGRA~1\)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-m,--mixed}'[like --windows, but with regular slashes (C:/WINNT)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-M,--mode}'[report on mode of file (binmode or textmode)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-u,--unix}'[(default) print Unix form of specified path (/cygdrive/c/winnt)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-w,--windows}'[print Windows form of specified path (C:\WINNT)]' \ - '(--dos --mixed --mode --type --unix --windows -d -m -M -t -u -w)'{-t,--type}'[print type]:type:(dos mixed unix windows)' \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-a,--absolute}'[output absolute path]' \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-l,--long-name}'[print Windows long form of specified path (with -w, -m only)]' \ - "(--absolute --long-name --path --short-name -a -l -p -s)"{-p,--path}"[specified path is a PATH list (i.e., '/bin:/usr/bin')]" \ - '(--absolute --long-name --path --short-name -a -l -p -s)'{-s,--short-name}'[print DOS (short) form of specified path (with -w, -m only)]' \ - "(--allusers -A)"{-A,--allusers}"[use 'All Users' instead of current user for -D, -P]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-D,--desktop}"[output 'Desktop' directory and exit]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-H,--homeroot}"[output 'Profiles' directory (home root) and exit]" \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-P,--smprograms}"[output Start Menu 'Programs' directory and exit]" \ - '(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)'{-S,--sysdir}'[output system directory and exit]' \ - "(--desktop --homeroot --smprograms --sysdir --windir -D -H -P -S -W)"{-W,--windir}"[output 'Windows' directory and exit]" \ - '(--file -f)'{-f,--file}'[read FILE for input; use - to read from STDIN]: :_files' \ - '(--option -o)'{-o,--option}'[read options from FILE as well (for use with --file)]' \ - '(--close -c)'{-c,--close}'[close specified handle (for use in captured process)]:handle' \ - '(--ignore -i)'{-i,--ignore}'[ignore missing argument]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_cygrunsrv b/result/sw/share/zsh/5.9/functions/_cygrunsrv deleted file mode 100644 index 17a0afba..00000000 --- a/result/sw/share/zsh/5.9/functions/_cygrunsrv +++ /dev/null @@ -1,36 +0,0 @@ -#compdef cygrunsrv cygrunsrv.exe - -# cygrunsrv 1.34 - -_arguments -s -S \ - '(-I --install)'{-I,--install}'[install a new service]:service' \ - '(-R --remove)'{-R,--remove}'[remove specified service]:service' \ - '(-S --start)'{-S,--start}'[start specified service]:service' \ - '(-E --stop)'{-E,--stop}'[stop specified service]:service' \ - '(-Q --query)'{-Q,--query}'[query specified service]:service' \ - '(-L --list)'{-L,--list}'[lists services that have been installed with cygrunsrv]:server:' \ - '(-p --path)'{-p,--path}'[specify application path which is run as a service]:application path' \ - '(-P --crs-path)'{-P,--crs-path}'[path to cygrunsrv]:path:_files' \ - '(-a --args)'{-a,--args}'[specify options to give service on startup]:args' \ - '(-c --chdir)'{-c,--chdir}'[specify working directory for the application]:directory:_directories' \ - '(-e --env)'{-e,--env}'[specify environment strings exported to service]:var=value' \ - '(-d --disp)'{-d,--disp}'[specify display name for service]:display name' \ - '(-f --desc)'{-f,--desc}'[specify service description]:description' \ - '(-t --type)'{-t,--type}'[specify service start type]:start type:(auto manual)' \ - '(-u --user)'{-u,--user}'[specify user to start service under]:user:_users' \ - '(-w --passwd)'{-w,--passwd}'[specify password for user]:password' \ - '(-s --termsig)'{-s,--termsig}'[specify signal to use to stop service]:signal:_signals' \ - '(-z --shutsig)'{-z,--shutsig}'[specify signal to send to service application when shutdown has been initiated]:signal:_signals' \ - '(-y --dep)'{-y,--dep}'[specify name of service that must be started]:service' \ - '(-0 --stdin)'{-0,--stdin}'[specify file for stdin redirection]:stdin file:_files' \ - '(-1 --stdout)'{-1,--stdout}'[specify file for stdout redirection]:stdout file:_files' \ - '(-2 --stderr)'{-2,--stderr}'[specify file for stderr redirection]:stderr file:_files' \ - '(-x --pidfile)'{-x,--pidfile}'[optional path for .pid file written by application after fork()]:pid file:_files -g "*.pid(-.)"' \ - '(-n --neverexits)'{-n,--neverexits}'[service should never exit by itself]' \ - '(-O --preshutdown -o --shutdown)'{-O,--preshutdown}'[stop service application during system preshutdown]' \ - '(-O --preshutdown -o --shutdown)'{-o,--shutdown}'[stop service application during system shutdown]' \ - '(-i --interactive)'{-i,--interactive}'[allow service to interact with the desktop (No effect since Windows Vista/Longhorn)]' \ - '(-j --nohide )'{-j,--nohide}"[don't hide console window when service interacts with desktop]" \ - '(-V --verbose)'{-V,--verbose}'[when used with --query or --list, causes extra information to be printed]' \ - '(- *)'{-h,--help}'[print help information]' \ - '(- *)'{-v,--version}'[print version information]' diff --git a/result/sw/share/zsh/5.9/functions/_cygserver b/result/sw/share/zsh/5.9/functions/_cygserver deleted file mode 100644 index 392bf5cb..00000000 --- a/result/sw/share/zsh/5.9/functions/_cygserver +++ /dev/null @@ -1,21 +0,0 @@ -#compdef cygserver cygserver.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--config-file -f)'{-f,--config-file}'[use specified config file]:config file [/etc/cygserver.conf]:_files -g "*.conf(-.)"' \ - '(--cleanup-threads -c)'{-c,--cleanup-threads}'[number of cleanup threads to use]:number of threads [2]' \ - '(--process-cache -p)'{-p,--process-cache}'[size of process cache]:cache size:' \ - '(--request-threads -r)'{-r,--request-threads}'[number of request threads to use]:number of threads [10]' \ - '(--debug -d)'{-d,--debug}'[log debug messages to stderr]' \ - '(--stderr -e --no-stderr -E)'{-e,--stderr}'[log to stderr (default if stderr is a tty)]' \ - '(--stderr -e --no-stderr -E)'{-E,--no-stderr}"[don't log to stderr (see -y, -Y options)]" \ - '(--log-level -l)'{-l,--log-level}'[specify log verbosity]:verbosity level [6]:({1..7})' \ - '(--syslog -y --no-syslog -Y)'{-y,--syslog}'[log to syslog (default if stderr is no tty)]' \ - '(--syslog -y --no-syslog -Y)'{-Y,--no-syslog}"[don't log to syslog (see -e, -E options)]" \ - '(--no-sharedmem -m)'{-m,--no-sharedmem}"[don't start XSI Shared Memory support]" \ - '(--no-msgqueues -q)'{-q,--no-msgqueues}"[don't start XSI Message Queue support]" \ - '(--no-semaphores -s)'{-s,--no-semaphores}"[don't start XSI Semaphore support]" \ - '(--shutdown -S)'{-S,--shutdown}'[shutdown the daemon]' \ - '(--help -h)'{-h,--help}'[output usage information and exit]' \ - '(--version -v)'{-v,--version}'[output version information and exit]' diff --git a/result/sw/share/zsh/5.9/functions/_cygstart b/result/sw/share/zsh/5.9/functions/_cygstart deleted file mode 100644 index c8941ea0..00000000 --- a/result/sw/share/zsh/5.9/functions/_cygstart +++ /dev/null @@ -1,30 +0,0 @@ -#compdef cygstart cygstart.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--action -a)'{-a,--action=-}'[use specified action instead of default]:action:(open edit explore print find)' \ - '(--open -o)'{-o,--open}'[short for: --action open]' \ - '(--explore -x)'{-x,--explore}'[short for: --action explore]' \ - '(--edit -e)'{-e,--edit}'[short for: --action edit]' \ - '(--find -f)'{-f,--find}'[short for: --action find]' \ - '(--print -p)'{-p,--print}'[short for: --action print]' \ - '(--directory -d)'{-d,--directory=-}'[set working directory]:directory:_directories' \ - '--hide[hides the window and activates another window]' \ - '--maximize[maximizes the specified window]' \ - '--minimize[minimizes the specified window and activates the next top-level window in the z-order]' \ - '--restore[activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window]' \ - '--show[activates the window and displays it in its current size and position]' \ - '--showmaximized[activates the window and displays it as a maximized window]' \ - '--showminimized[activates the window and displays it as a minimized window]' \ - '--showminnoactive[displays the window as a minimized window. The active window remains active]' \ - '--showna[displays the window in its current state. The active window remains active]' \ - '--shownoactivate[displays a window in its most recent size and position. The active window remains active]' \ - '--shownormal[activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time]' \ - '(--help -?)'{-\?,--help}'[display help information]' \ - '--usage[display brief usage message]' \ - '--version[display version information]' \ - '--license[display licensing information]' \ - '--reference[open MSDN reference for ShellExecute]' \ - '1:file: _alternative "programs:program: _command_names -e" "files:file:_files" "urls:URL:_urls"' \ - '*::program arguments: _normal' diff --git a/result/sw/share/zsh/5.9/functions/_dak b/result/sw/share/zsh/5.9/functions/_dak deleted file mode 100644 index 9976c737..00000000 --- a/result/sw/share/zsh/5.9/functions/_dak +++ /dev/null @@ -1,243 +0,0 @@ -#compdef dak - -local expl cmd args ret=1 - -if (( CURRENT == 2 )); then - if (( ! $+_dak_cmds )); then - typeset -gH _dak_cmds - _dak_cmds=(${${${(f)${"$(_call_program dak dak --help)"#*Availa#ble commands:}}#[^a-z] ##}%%[ ]*}) - fi - - _describe -t subcommands 'subcommand' _dak_cmds - return -fi - -cmd="$words[2]" -local curcontext="${curcontext%:*:*}:dak-$cmd:" - -args=( '(-)'{--help,-h}'[show help message]' ) - -case $cmd in -(ls) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-b --binary-type)'{-b,--binary-type=}':type:(deb udeb)' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-g --greaterorequal)'{-g,--greaterorequal} - '(-G --greaterthan)'{-G,--greaterthan} - '(-r --regex)'{-r,--regex} - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - '(-S --source-and-binary)'{-S,--source-and-binary} - '*:package:_deb_packages avail' - ) - ;; -(override) - args+=( - '(-d --done)'{-d,--done=}'[send prioritys/section change as closure to bug]:bug number:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - ':package:_deb_packages avail' - ':section:(admin base comm contrib/admin contrib/comm contrib/devel contrib/doc contrib/games contrib/graphics contrib/interpreters contrib/kde contrib/libdevel contrib/libs contrib/mail contrib/math contrib/misc contrib/net contrib/otherosfs contrib/perl contrib/python contrib/science contrib/sound contrib/tex contrib/text contrib/utils contrib/web contrib/x11 devel doc editors electronics embedded games gnome graphics hamradio interpreters kde libdevel libs mail math misc net news non-free/admin non-free/base non-free/comm non-free/devel non-free/doc non-free/editors non-free/electronics non-free/games non-free/graphics non-free/hamradio non-free/libdevel non-free/libs non-free/mail non-free/math non-free/misc non-free/net non-free/news non-free/otherosfs non-free/python non-free/science non-free/sound non-free/tex non-free/text non-free/utils non-free/web non-free/x11 oldlibs otherosfs perl python science shells sound tex text utils web x11)' - ':priority:(extra important optional required standard)' - ) - ;; -(check-archive) - args+=( - '*:mode:(( - md5sums\:validate\ the\ md5sums\ stored\ in\ the\ database - files\:check\ files\ in\ the\ database\ against\ what\ is\ in\ the\ archive - dsc-syntax\:validate\ the\ syntax\ of\ .dsc\ files\ in\ the\ archive - missing-overrides\:check\ for\ missing\ overrides - source-in-one-dir\:ensure\ the\ source\ for\ each\ package\ is\ in\ one\ directory - timestamps\:check\ for\ future\ timestamps\ in\ .debs - tar-gz-in-dsc\:ensure\ each\ .dsc\ lists\ a\ .tar.gz\ file - validate-indices\:ensure\ files\ mentioned\ in\ Packages\ and\ Sources\ exist - files-not-symlinks\:check\ files\ in\ the\ database\ are\ not\ symlinks - validate-builddeps\:validate\ build-dependencies\ of\ .dsc\ files\ in\ the\ archive))' - ) - ;; -(queue-report) - args+=( - '(-n --new)'{-n,--new}'[produce html output]' - '(-s --sort)'{-s,--sort=}':sort key:((ao\:age,\ oldest\ first an\:age,\ newest\ first na\:name,\ ascending nd\:name,\ descending nf\:notes,\ first nl\:notes,\ last))' - '(-a --age)'{-a,--age=}':age key:((m\:minutes h\:hours d\:days w\:weeks o\:months y\:years))' - ) - ;; -(rm) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-b --binary)'{-b,--binary}'[remove binaries only]' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-C --carbon-copy)'{-C,--carbon-copy=}':cc address:_email_addresses' - '(-d --done)'{-d,--done=}'[send prioritys/section change as closure to bug]:bug number:' - '(-m --reason)'{-m,--reason=}':reason for removal:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-p --partial)'{-p,--partial}'[do not affect override files]' - '(-R --rdep-check)'{-R,--rdep-check}'[check reverse dependencies]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - '(-S --source-only)'{-S,--source-only}'[remove source only]' - '*:package:_deb_packages avail' - ) - ;; -(process-unchecked|process-accepted) - args+=( - '(-a --automatic)'{-a,--automatic}'[automatic run]' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-p --no-lock)'{-p,--no-lock}'[do not check lockfile]' - '(-s --no-mail)'{-s,--no-mail}'[do not send any mail]' - '(-V --version)'{-V,--version}'[display the version number and exit]' - ) - ;; - -(make-suite-file-list) - args+=( - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source"' - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' - '(-n --no-delete)'{-n,--no-delete}'[do not delete older versions]' - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable experimental' - ) - ;; - -(generate-releases) - args+=( - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(generate-index-diffs) - args+=( - '-c[give the canonical path of the file]' - '-p[name for the patch (defaults to current time)]' - '-n[take no action]' - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(clean-suites) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '*:suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(clean-queues) - args+=( - '(-d --days)'{-d,--days=}':days:' - '(-i --incoming)'{-i,--incoming=}':incoming dir:' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(clean-proposed-updates) - args+=( - '(-v --verbose)'{-v,--verbose}'[be more verbose about what is being done]' - '*:changes or admin file:_files -g "*.(changes|joey)(-.)"' - ) - ;; - -(check-overrides) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - ) - ;; - -(clean-proposed-updates) - args+=( - '(-q --quiet)'{-q,--quiet}'[be quieter about what is being done]' - '(-v --verbose)'{-v,--verbose}'[be more verbose about what is being done]' - '*:changes or deb or admin file:_files -g "*.(changes|deb|joey)(-.)"' - ) - ;; - -(control-overrides) - args+=( - '(-c --component)'{-c,--component=}':component:(main contrib non-free)' - '(-s --suite)'{-s,--suite=}':suite:(oldstable stable testing unstable experimental)' - '(-t --type)'{-t,--type=}':type:(deb dsc udeb)' - '(-a --add)'{-a,--add}'[add overrides]' - '(-S --set)'{-S,--set}'[set overrides]' - '(-l --list)'{-l,--list}'[list overrides]' - '(-q --quiet)'{-q,--quiet}'[be less verbose]' - ) - ;; - -(control-suite) - args+=( - '(-a --add)'{-a,--add=}':suite:(oldstable stable testing unstable experimental)' - '(-l --list)'{-l,--list=}':suite:(oldstable stable testing unstable experimental)' - '(-r --remove)'{-r,--remove=}':suite:(oldstable stable testing unstable experimental)' - '(-s --set)'{-s,--set=}':suite:(oldstable stable testing unstable experimental)' - '*:file:_files' - ) - ;; - -(cruft-report) - args+=( - '(-m --mode)'{-m,--mode=}':mode:(full daily)' - '(-s --suite)'{-s,--suite=}':suite:(oldstable stable testing unstable experimental)' - ) - ;; - -(decode-dot-dak) - args+=( - '*:dot-dak file:_files -g "*.dak(-.)"' - ) - ;; - -(import-archive) - args+=( - '(-a --action)'{-a,--action}'[actually perform the initialization]' - ) - ;; - -(import-users-from-passwd) - args+=( - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-q --quiet)'{-q,--quiet}'[be quiet about what is being done]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(make-maintainers) - args+=( - '*:extra file:_files' - ) - ;; - -(poolize) - args+=( - '(-l --limit)'{-l,--limit=}'[only migrate amount of packages]:amount (kb)' - '(-n --no-action)'{-n,--no-action}'[do not do anything]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - -(reject-proposed-updates) - args+=( - '(-m --message)'{-m,--message=}'[use this message for rejection]:message:' - '(-s --no-mail)'{-s,--no-mail}'[do not send any mail]' - '*:changes file:_files -g "*.changes(-.)"' - ) - ;; - -(stats) - args+=( - ':mode:((arch-space\:displays\ space\ used\ by\ each\ architecture pkg-nums\:displays\ the\ number\ of\ packages\ by\ suite/architecture daily-install\:displays\ daily\ install\ stats\ suitable\ for\ graphing))' - ) - ;; - -(symlink-dists) - args+=( - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - ) - ;; - - (*) - args+=( '*: :_default' ) - ;; - -esac - -_arguments -s "$args[@]" && ret=0 -return ret diff --git a/result/sw/share/zsh/5.9/functions/_darcs b/result/sw/share/zsh/5.9/functions/_darcs deleted file mode 100644 index 74734711..00000000 --- a/result/sw/share/zsh/5.9/functions/_darcs +++ /dev/null @@ -1,38 +0,0 @@ -#compdef darcs -## Darcs completion snippet for zsh. -## -## Copyright (C) 2009 Nicolas Pouillard -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -local expl - -if (($CURRENT == 2)); then - # We're completing the first word after "darcs" -- the command. - _wanted command expl 'darcs command' \ - compadd -- $( darcs --commands ) -else - case "${words[$CURRENT]}"; in - # If it looks like an URL... - ht*|ft*) - _arguments '*:URL:_urls' - ;; - # If it looks like an explicit path... - /*|./*|\~*|../*) - _arguments '*:file:_files' - ;; - # Otherwise, let's ask darcs for all possible options - *) - _wanted args expl 'arg for darcs command' \ - compadd -- $( darcs ${words[2]} --list-option ) - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_date b/result/sw/share/zsh/5.9/functions/_date deleted file mode 100644 index 97c27283..00000000 --- a/result/sw/share/zsh/5.9/functions/_date +++ /dev/null @@ -1,104 +0,0 @@ -#compdef date gdate - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a opts args - -opts=( -s -w -C ) - -if _pick_variant gnu="Free Software Foundation" unix --version; then - local d='(-d --date -f --file -r --reference -s --set)' - local f='(-I --iso-8601 -R --rfc-email --rfc-3339)' - args=( - $d{-d+,--date=}'[output date specified by string]:time string' - '--debug[annotate parsed date and warn about questionable usage]' - $d{-f+,--file=}'[output dates specified in file]:file:_files' - $d{-r+,--reference=}'[output last modification time of specified file]:file:_files' - $d{-s+,--set=}'[set time]:time string' - $f{-I-,--iso-8601=-}'[display in ISO 8601 format]::precision:(date hours minutes seconds ns)' - $f{-R,--rfc-email}'[display in RFC5322 format]' - $f'--rfc-3339=-[display in RFC 3339 format]:precision:(date seconds ns)' - '(-u --utc --universal)'{-u,--utc,--universal}'[display or set time in UTC]' - '(- :)--help[output help and exit]' - '(- :)--version[output version info and exit]' - ) -else - args=( '-u[display or set time in UTC]' ) - case "$OSTYPE" in - solaris*) - args+=( '-a:adjustment' ) - ;; - freebsd*|dragonfly*|darwin*|netbsd*|openbsd*) - opts+=( -A '-*' ) - args+=( - "-j[don't try to set date]" - '2:format or date:->fmt_date' - ) - ;| - freebsd*|dragonfly*|darwin*|netbsd*) - args+=( '-n[only set time on current machine]' ) - ;| - freebsd*|dragonfly*|darwin*|openbsd*) - args+=( - '-f+[use specified format for input]:parsing format:_date_formats:new date' - ) - ;| - dragonfly*|darwin*|netbsd*|openbsd*) - args+=( - '-r+[output date specified by reference time]:seconds since epoch' - ) - ;| - freebsd*) - local -a alts - alts=( - 'seconds:sec:_guard "(0x[0-9a-fA-F]#|[0-9]#)" "seconds since epoch"' - 'files:file:_files' - ) - args+=( - '-r+[reference time: file modification or literal time]:reference: _alternative $alts' - '(-R)-I-[display in ISO 8601 format]::precision:(date hours minutes seconds)' - ) - ;| - freebsd*|dragonfly*|darwin*) - args+=( - "*-v+[adjust and print (but don't set) date]:[+-]value[ymwdHMS]" - ) - ;| - freebsd<-12>.*|darwin*) - args+=( - '-d+:daylight saving time value' - '-t+:minutes west of GMT' - ) - ;| - freebsd*|dragonfly*) - args+=( '-R[display in RFC2822 format]' ) - ;| - openbsd*|netbsd*) args+=( '-a[gradually skew]' ) - ;| - openbsd*) - args+=( '-z[specify timezone for output]:time zone:_time_zone') - ;| - netbsd*) - args+=( '-d[output date specified by string]:time string:' ) - ;; - esac -fi - -_arguments $opts : $args \ - '1:format or date:->fmt_date' && ret=0 - -case $state in - (fmt_date) - local expl - if compset -P '+'; then - _wanted date-formats expl 'output format' _date_formats && ret=0 - elif [[ $words[CURRENT] != -* ]]; then - # TODO: in most cases it should be possible to determine which - # (or both or neither) of the +format and/or date is allowed - # depending on the options already on the command line - _message -e date-formats '+format or date' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_date_formats b/result/sw/share/zsh/5.9/functions/_date_formats deleted file mode 100644 index 55af7c59..00000000 --- a/result/sw/share/zsh/5.9/functions/_date_formats +++ /dev/null @@ -1,112 +0,0 @@ -#autoload - -local flag ret=1 -local -aU specs -local -A exclusion - -exclusion=( - 'E' '[cCgGxXyY]' - 'O' '[BdeHImMSuUVwWy]' - '-' '[OEdegHIjklmMSUz]' - '_' '[OEdgHIjmMSUz]' - '0' '[Oekl]' - '^' '[OEaAbBchP]' - '#' '[OEaAbBchpPrXZ]' -) - -compset -P '(%[0-9EO_\\^#-]#[^0-9%EO_\\^#-]|[^%])#' -compset -S '%*' -specs=( - 'a:abbreviated day name' - 'A:full day name' - {b,h}':abbreviated month name' - 'B:full month name' - 'c:preferred locale date and time' - 'C:2-digit century' - 'd:day of month (01-31)' - 'D:American format month/day/year (%m/%d/%y)' - 'e:day of month ( 1-31)' - 'F:ISO 8601 year-month-date (%Y-%m-%d)' - 'G:4-digit ISO 8601 week-based year' - 'g:2-digit ISO 8601 week-based year' - 'H:hour (00-23)' - 'I:hour (01-12)' - 'j:day of year (001-366)' - 'k:hour ( 0-23)' - 'l:hour ( 1-12)' - 'm:month (01-12)' - 'M:minute (00-59)' - 'n:newline' - 'p:locale dependent AM/PM' - 'r:locale dependent a.m. or p.m. time (%I:%M:%S %p)' - 'R:24-hour notation time (%H:%M)' - 's:seconds since the epoch' - 'S:seconds (00-60)' - 't:tab' - 'T:24-hour notation with seconds (%H:%M:%S)' - 'u:day of week (1-7, 1=Monday)' - 'U:week number of current year, Sunday based (00-53)' - 'V:ISO 8601 week number of current year, week 1 has 4 days in current year (01-53)' - 'w:day of week (0-6, 0=Sunday)' - 'W:week number of current year, Monday based (00-53)' - 'x:locale dependent date representation without time' - 'X:locale dependent time representation without date' - 'y:2-digit year (00-99)' - 'Y:full year' - 'z:UTC offset' - 'Z:timezone name' - '%:literal %' -) - -case $OSTYPE in - linux-gnu) - [[ $1 == zsh ]] || # %N is handled below in this case - specs+=( 'N:fractional part of seconds since epoch, in nanoseconds' ) - ;| - freebsd*|dragonfly*|darwin*|linux-gnu|solaris2.<11->) - specs+=( - 'E:alternate representation' - 'O:alternative format modifier' - "-:don't pad numeric values" - '0:left pad numeric values with zeroes' - '_:left pad numeric values with spaces' - ) - ;| - linux-gnu|solaris2.<11->) - specs+=( - '#:swap case of alphabetic characters' - '^:convert lowercase characters to uppercase' - 'P:lower case locale dependent am/pm' - ) - ;| - freebsd*|dragonfly*|darwin*|openbsd*|netbsd*) - specs+=( 'v:date in short form (%e-%b-%Y)' ) - ;| - solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*) - specs+=( '+:localized representation of date and time' ) - ;; - solaris2.<-10>) - specs=( ${specs:#[EOs]:*} ) - ;; -esac - -if [[ $1 == zsh ]]; then - specs+=( - 'f:day of month (1-31)' - 'K:hour (0-23)' - 'L:hour (0-12)' - 'N:fractional part of seconds since epoch, in nanoseconds (%9.)' - '.:fractional part of seconds since epoch' - "-:don't pad numeric values" - ) -fi - -for flag in ${(s..)PREFIX#%}; do - (( $+exclusion[$flag] )) && specs=( ${(M)specs:#${~exclusion[$flag]}:*} ) -done - -_describe -t date-format-specifier 'date format specifier' specs \ - -p "${(Q)PREFIX:-%}" -S '' && ret=0 -[[ $1 == zsh ]] && _message -e date-format-precision 'precision for %%. (1-9)' - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dates b/result/sw/share/zsh/5.9/functions/_dates deleted file mode 100644 index b75b3af0..00000000 --- a/result/sw/share/zsh/5.9/functions/_dates +++ /dev/null @@ -1,127 +0,0 @@ -#autoload - -# Options: -# -f format : specify strftime format for matches -# -f s/m/h/d/w/M : specify relative format -# -F : select a future rather than past date - -# Styles: -# max-matches-length : maximum number or percentage of lines to use for -# completion listing, if both are specified, the -# lowest takes precedence. -# date-format : override date format - -local -a disp cand expl -local userformat format spacer=1 spacing month monstart skip match -local d day daysecs extra preclude r ri col -local -a starts skips -local -i start now mult -local -i columns=$(( (COLUMNS+4) / 32 )) rows=LINES-4 offset=0 -local -a days=( Mo Tu We Th Fr Sa Su ) -local future mlabel mfmt mlabels - -zparseopts -D -K -E f:=format F=future -(( future = $#future ? 1 : -1 )) -zstyle -s ":completion:${curcontext}:dates" date-format userformat -format=${userformat:-${format[2]:-%F}} - -zstyle -a ":completion:${curcontext}:dates" max-matches-length r -for ri in $r; do - [[ $ri = [0-9]##% ]] && (( ri = LINES * .${ri%%%} )) - (( ri < rows )) && (( rows=ri )) -done -(( rows = rows / 8 )) -zmodload -i zsh/datetime || rows=0 - -_tags dates || return 0 -_comp_mesg=yes -_description -2V -x dates expl date -compadd "${@:/-X/-x}" "$expl[@]" - -[[ -z $MENUSELECT && $WIDGET != menu-select ]] && return -[[ -n $PREFIX$SUFFIX ]] && return 0 -(( rows )) || return 0 -compstate[list]='packed rows' - -if [[ $WIDGET = _next_tags ]]; then - typeset -g -i _next_tags_line - typeset -g -i _next_tags_date=$(( HISTNO == _next_tags_line ? _next_tags_date+1 : 1)) - _next_tags_line=HISTNO - (( offset = _next_tags_date*rows*columns )) -fi - -(( now=EPOCHSECONDS )) -strftime -s year '%Y' $now -strftime -s month '%m' $now -(( offset = future*offset + year*12 + month + ((future == 1) ? rows*columns-2 : -1) )) -for ((;rows;rows--)); do - disp=() mlabels="" - for ((col=1;col<=columns;col++)); do - (( start = offset + col - rows * columns )) - strftime -r -s monstart '%Y%m' $(( start/12 ))$(( 1 + start % 12 )) - strftime -s skip '%w' $(( monstart-86400 )) - starts[col]=$monstart - skips[col]=$skip - disp+=( $days ' ' ) - - mfmt='%B' - strftime -s mlabel '%m' $monstart - [[ $mlabel = 01 ]] && mfmt+=' %Y' - strftime -s mlabel "$mfmt" $monstart - - mlabels+="${(r.(col == columns) ? 28 : 32.):-${(l.(26-$#mlabel)/2.)}$mlabel}" - done - (( spacing = COLUMNS - 32 * columns + 2 )) - disp[-1]="${(l.spacing.)}" - (( spacing < 2 )) && spacer=0 disp[-1]=() - expl[1+expl[(i)-J]]=dates-$rows - compadd -x "$mlabels" "$expl[@]" -d disp -E $(( $#disp )) - - for ((line=0;line<6;line++)); do - for ((col=1;col<=columns;col++)); do - if (( skips[col] && !line )); then - disp=(); disp[skips[col]]='' - compadd -x "$mlabels" "$expl[@]" -d disp -E $skips[col] - (( skip=skips[col] )) - else - skip=0 - fi - disp=() cand=() - (( extra = (col == columns) ? spacer : 1 )) - (( preclude = 0 )) - for ((d=1;d<=7-skip;d++)); do - (( day = d+7*line+skip-skips[col] )) - (( daysecs = starts[col] + 86400 * (day - 1) )) - strftime -s realday '%d' $daysecs - if (( realday != day )); then - (( extra+=8-d )) - break - fi - (( mult = -future * (now - daysecs) + (future == 1 ? 86400 : 0) )) - case $format in - s) (( match = mult )) ;; - m) (( match = mult / 60 )) ;; - h) (( match = mult / 3600 )) ;; - d) (( match = mult / 86400 )) ;; - w) (( match = mult / 604800 )) ;; - M) (( match = mult / 2592000 )) ;; - *) strftime -s match - $format $daysecs ;; - esac - disp+=( "${(l.2.)day}" ) - if (( future < 0 && now < daysecs )); then - (( extra++ )) - elif (( future > 0 && (now - daysecs) > 86400 )); then - (( preclude++ )) - else - (( (now - daysecs) < 86400 && (now - daysecs) > 0 )) && - compstate[insert]=menu:$(( compstate[nmatches] + $#disp )) - cand+=( "$match" ) - fi - done - if (( preclude )); then - compadd -x "$mlabels" "$expl[@]" -E $preclude -d disp - shift preclude disp - fi - compadd -x "$mlabels" -U -i "$IPREFIX" -I "$ISUFFIX" "$expl[@]" "$@" -d disp -E $extra -a cand - done - done -done diff --git a/result/sw/share/zsh/5.9/functions/_dbus b/result/sw/share/zsh/5.9/functions/_dbus deleted file mode 100644 index 37b5458d..00000000 --- a/result/sw/share/zsh/5.9/functions/_dbus +++ /dev/null @@ -1,112 +0,0 @@ -#compdef dbus-send dbus-monitor dbus-launch - -local curcontext="$curcontext" state line expl find end ret=1 -typeset -A opt_args -local -a suf introspect interfaces - -case $service in - dbus-send) - _arguments -A "--*" -C \ - '(--session)--system' '(--system)--session' \ - '--address=-:bus address:->addresses' \ - '--dest=-:connection:->connections' \ - '--print-reply=-::format:(literal)' \ - '--reply-timeout=-:timeout (ms)' \ - '--type=-:type:(method_call signal)' \ - '(* -)--help' \ - ':object path:->objectpaths' \ - ':message name:->methods' \ - ':content:->contents' && ret=0 - ;; - dbus-monitor) - _arguments -A "--*" -C \ - '*:watch expression:->expressions' \ - - '(bus)' \ - --system --session \ - '--address=-:bus address:->addresses' \ - - '(format)' \ - --monitor --profile --pcap --binary && ret=0 - ;; - dbus-launch) - _arguments -C \ - --version"[print the version of dbus-launch]" \ - --help"[print the help info of dbus-launch]" \ - --sh-syntax"[emit bourne-shell compatible code to set up environment variables]" \ - --csh-syntax"[emit csh compatible code to set up environment variables]" \ - --auto-syntax"[choose --csh-syntax or --sh-syntax based on the SHELL environment variable]" \ - --binary-syntax"[use a nul-terminated syntax with the environment data]" \ - --close-stderr"[close stderr stream before starting the d-bus daemon]" \ - --exit-with-session"[create a persistent \"babysitter\" process]" \ - --exit-with-x11"[create a persistent \"babysitter\" process that will connect to the x server]" \ - --autolaunch="[scan for a previously-started session and reuse the values found there]:machine id:->machine-id" \ - --config-file="[pass --config-file=FILENAME to the bus daemon]" && ret=0 - ;; -esac - -case $state in - addresses) - compset -P '*;' - if compset -P 1 '*='; then - _files && ret=0 - else - _message -e addresses address - fi - ;; - connections) - _wanted connections expl connection compadd ${=${(M)PREFIX:#*.*}:+-M 'r:|.=* r:|=*'} ${$(_call_program connections dbus-send ${opt_args[(I)--system]} --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListActivatableNames 2>/dev/null):#(array|\[|\])} ${$(_call_program connections dbus-send ${opt_args[(I)--system]} --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames 2>/dev/null):#(array|\[|\])} && ret=0 - ;; - objectpaths) - if [[ -prefix / ]]; then - compset -P ${PREFIX%%[^/]#} - _wanted objectpaths expl 'object path' compadd -qS/ ${${${(M)${(f)"$(_call_program objectpaths dbus-send --print-reply ${(M)words:#(--dest=|--system|--address=)*} ${${IPREFIX%/}:-/} org.freedesktop.DBus.Introspectable.Introspect 2>/dev/null)"}:#*node name=[^/]##\"*}#*\"}%\"*} && ret=0 - else - _wanted objectpaths expl 'object path' compadd -S '/' -r '-=' '' && ret=0 - fi - ;; - methods) - introspect=( ${(M)${(f)"$(_call_program methods dbus-send --print-reply ${(M)words:#(--dest=|--system|--address=|/)*} org.freedesktop.DBus.Introspectable.Introspect 2>/dev/null)"}:#*name=*} ) - interfaces=( ${${${(M)introspect:#*interface name=*}#*\"}%\"*} ) - _wanted interfaces expl interface compadd -qS. -M 'r:|.=* r:|=*' -a interfaces && ret=0 - if [[ $compstate[nmatches] != $#interfaces ]] && compset -P '*.'; then - find="*interface name=?${IPREFIX%.}??" - end=${interfaces[(i)${IPREFIX%.}]} - _wanted methods expl method compadd ${${${(M)${${introspect[${introspect[(i)$find]}+1,(in.end+1.)*interface name=*]}:#*interface name=*}:#*${${opt_args[--type]%_*}:-method} name=*}#*\"}%\"*} && ret=0 - fi - ;; - contents) - compset -S ':*' || suf=( -S : ) - while compset -P '(array|dict|variant):'; do - : - done - if compset -P '*:'; then - _message -e value 'value' - else - _alternative -O suf \ - 'containers:container:(array dict variant)' \ - 'types:type:(string double byte boolean objpath '${(j. .):-{,u}int{16,32,64}}\) && ret=0 - fi - ;; - expressions) - _values -w -s , 'expression' \ - 'type:message type:(signal method_call method_return error)' \ - 'sender:bus or name' \ - 'interface:interface' \ - 'member:member' \ - 'path:path' \ - 'path_namespace:path' \ - 'destination:unique name' \ - arg{0..9}:value \ - 'arg0namespace:namespace' \ - 'eavesdrop:eavesdropping:(true false)' && ret=0 - ;; - machine-id) - { local machine_id="$(</var/lib/dbus/machine-id)" } 2>/dev/null - if [[ -n "$machine_id" ]]; then - _wanted machine-ids expl machine-id compadd $machine_id && ret=0 - else - _message "No /var/lib/dbus/machine-id found" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dchroot b/result/sw/share/zsh/5.9/functions/_dchroot deleted file mode 100644 index 2a6f5d80..00000000 --- a/result/sw/share/zsh/5.9/functions/_dchroot +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dchroot - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '(-p --path)'{-p,--path}'[print path to selected chroot]' \ - '--config[dump configuration of selected chroots]' \ - '(-d --preserve-environment)'{-d,--preserve-environment}'[preserve user environment]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - chroot) - _wanted -C $context chroots expl 'chroot' \ - compadd ${(os:,:)${${${"$(_call_program chroots dchroot -l )"#*: }// /}//[[\]]/,}} - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dchroot-dsa b/result/sw/share/zsh/5.9/functions/_dchroot-dsa deleted file mode 100644 index e8e981b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_dchroot-dsa +++ /dev/null @@ -1,27 +0,0 @@ -#compdef dchroot-dsa - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '(-p --listpaths)'{-p,--listpaths}'[print paths to available chroots]' \ - '--config[dump configuration of selected chroots]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - chroot) - _wanted -C $context chroots expl 'chroot' \ - compadd ${(os:,:)${${${"$(_call_program chroots dchroot -l )"#*: }// /}//[[\]]/,}} - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dconf b/result/sw/share/zsh/5.9/functions/_dconf deleted file mode 100644 index bfb314c7..00000000 --- a/result/sw/share/zsh/5.9/functions/_dconf +++ /dev/null @@ -1,71 +0,0 @@ -#compdef dconf - -local curcontext="$curcontext" state line cmds ret=1 -local cmd=$words[1] - -cmds=( - 'help:display help information' - 'read:read the value of a key' - 'list:list the contents of a directory' - 'write:change the value of a key' - 'reset:reset the value of a key or directory' - 'compile:compile a binary database from keyfiles' - 'update:update the system databases' - 'watch:watch a path for changes' - 'dump:dump an entire subpath to stdout' - 'load:populate a subpath from stdin' -) - -if (( CURRENT == 2 )); then - _describe -t commands command cmds - return -fi - -curcontext="${curcontext%:*}-$words[2]:" -shift words -(( CURRENT-- )) - -case $words[1] in - dump|list|load) state=dirs ;; - watch) state=keys ;; - read) - _arguments -A "-*" '-d[read default values]' '1:key:->keys' && ret=0 - ;; - write) - _arguments '1:key:->keys' '2:value' && ret=0 - ;; - reset) - _arguments -A "-*" '-f[reset entire directory]' '1:key:->keys' && ret=0 - [[ $+opt_args[-f] = 1 && state = keys ]] && state=dirs - ;; - compile) - _arguments '1:file:_files' '2:path:_directories' && ret=0 - ;; - help) - _describe -t commands command cmds && ret=0 - ;; - *) _default && ret=0 ;; -esac - -case $state in - keys) - compset -P '*/' - dirs=( ${${${(f)"$(_call_program keys dconf _complete \'\' "${IPREFIX:-/}")"}#$IPREFIX}%% #} ) - _tags keys - while _tags; do - if _requested keys; then - _description keys expl keu - compadd "$expl[@]" -qS ' ' ${dirs:#*/} && ret=0 - compadd "$expl[@]" -S '' ${(M)dirs:#*/} && ret=0 - fi - (( ret )) || break - done - ;; - dirs) - compset -P '*/' - _wanted keys expl directory compadd -S '' - \ - ${${(f)"$(_call_program keys dconf _complete / "${IPREFIX:-/}")"}#$IPREFIX} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dcop b/result/sw/share/zsh/5.9/functions/_dcop deleted file mode 100644 index a0329e11..00000000 --- a/result/sw/share/zsh/5.9/functions/_dcop +++ /dev/null @@ -1,119 +0,0 @@ -#compdef dcop dcopstart dcopfind dcopref dcopclient dcopobject - -local curcontext="$curcontext" desc vals arg base max=0 ret=1 -local app obj fun -local -a state line expl - -case $service in - dcop(client|object)) - state=( dcopref ) - max=2 - ;; - dcopref) max=3 ;; - dcopstart) - if (( CURRENT > 2 )); then - _urls && return - fi - ;; - dcopfind) - local cmd=$words[1] - _arguments -C \ - '-a[print application id instead of DCOPRef]' \ - '-l[if object not found, run dcopstart and retry]' \ - '*::args:->args' && ret=0 - unset state - words=( $cmd $words ) - (( CURRENT++ )) - ;; -esac - -if (( max && CURRENT > max )); then - _message 'no more arguments' - return 1 -fi - -if [[ -z "$state" ]]; then - state=(application object function) - [[ $words[2] = DCOPRef* && CURRENT -ne 2 ]] - base=$? - state=( ${state[CURRENT-base]:-arg} ) - - [[ $state[1] = application && $service = dcop(|find) ]] && state+=( dcopref ) -fi - -while (( $#state )); do - unset app obj fun - - if [[ $words[2] = (#b)DCOPRef*\(([^,]#)((#e)|,)([^\\\)]#)(*) ]]; then - if [[ -n $match[2] ]]; then - app=$match[1] - if [[ -n $match[4] ]]; then - obj=$match[3] - [[ -n $words[3] && CURRENT -gt 3 ]] && fun=$words[3] - fi - fi - else - case $CURRENT in - <5->) fun="$words[4]" ;& - 4) obj="$words[3]" ;& - 3) app="$words[2]" ;; - esac - fi - vals=( ${(f)"$(_call_program dcop-$state[1]s ${(M)words[1]##*/}dcop $app $obj 2>/dev/null)"} ) - - case "$state[1]" in - application|object) - [[ -n ${(M)vals:#*\(default\)} ]] && vals+=( default ) - _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${vals% \(default\)} && ret=0 - ;; - - function) - [[ $service = dcopfind ]] && vals=( ${(M)vals:#bool *} ) - _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${${vals#* }%\(*} && ret=0 - ;; - - arg) - arg=${${${(M)vals:#*$fun\(*}#*\(}%\)*}, - arg=${${(s.,.)arg}[CURRENT-base-3]} - if [[ -n $arg ]]; then - if [[ $arg = (Q(|C)String|*int )* || $arg != *\ * ]]; then - # don't mention the argument's type - desc="${arg##* }" - else - desc="${arg##* } (${arg% *})" - fi - case $arg in - bool*) _wanted argument expl "$desc" compadd true false && return ;; - (#i)*(file|path|dir)*) _wanted argument expl "$desc" _files && return ;; - (#i)*url*) _wanted argument expl "$desc" _urls && return ;; - *) _message -e argument "$desc" ;; - esac - else - _message 'no more arguments' - fi - ;; - - dcopref) - if ! compset -P '*\('; then - _wanted dcoprefs expl 'dcop ref' compadd -S '' 'DCOPRef(' && ret=0 - elif compset -P '*,'; then - if compset -S '(|\\)\)*'; then - set -- -S '' "$@" - else - set -- "$@" -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " - fi - state+=( object ) - else - if compset -S ',*'; then - set -- "$@" -S '' - else - set -- "$@" -S , - fi - state+=( application ) - fi - ;; - esac - shift state -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dcut b/result/sw/share/zsh/5.9/functions/_dcut deleted file mode 100644 index fb1ac7e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_dcut +++ /dev/null @@ -1,160 +0,0 @@ -#compdef dcut - -# TODO: dcut supports two ways to be called: -# * dcut HOST COMMAND ... -# * dcut COMMAND ... -# So ideally, if the first argument is completed, both commands and hosts should -# be offered. If host is given, the second argument should be completed as -# command and if not, it should be completed as command specific option. - -function _dput_hosts() { - local expl - - if ( [[ ${+_dput_cfhosts} -eq 0 ]] || _cache_invalid dputhosts ) && ! _retrieve_cache dputhosts; then - local cmd - if _pick_variant dputng="usage: dput" dput -H ; then - cmd=(dirt hosts) - else - cmd=(dput -H) - fi - _dput_cfhosts=(${${(M)${(f)"$($cmd)"}:#*=>*}/ =>*/}) - _store_cache dputhosts _dput_cfhosts - fi - - _wanted dputhosts expl 'target host' compadd -a _dput_cfhosts -} - -function _dcut_commands() { - local -a cmds - if _pick_variant dcutng="usage: dcut" dcut -v ; then - cmds=( - dm:'manage Debian Maintainer permissions' - break-the-archive:'break the archive' - reschedule:'reschedule a deferred upload' - cancel:'cancel a deferred upload' - rm:'remove a file from the upload queue' - upload:'upload a command file' - ) - else - cmds=( - rm:'remove a file from the upload queue' - cancel:'cancel a deferred upload' - reschedule:'reschedule a deferred upload' - ) - fi - _describe -t commands command cmds -} - -function _dcut() { - local -a all_opts dcut_opts dcut_ng_opts - local state line context - local -A opt_args - local curcontext="${curcontext}" - - all_opts=( - '(-c --config)'{-c,--config=}'[specify config file]:config file:_files' - '(-h --help)'{-h,--help}'[show help message and exit]' - '(-m --maintainer)'{-m,--maintainer=}'[use maintainer for upload field and GPG key selection]:maintainer address' - '(-k --keyid)'{-k,--keyid}'[use key id for signing]:keyid' - '(-O --output)'{-O,--output=}'[write command file to file instead of uploading]:output file:_files' - '(-P --passive)'{-P,--passive}'[use passive FTP for uploads]' - '(-v --version)'{-v,--version}'[show version information]' - ': :_dcut_commands' - ) - - dcut_opts=( - '(-d --debug)'{-d,--debug}'[debug mode]' - '(-s --simulate)'{-s,--simulate}'[simulate an upload only]' - '(-i --input)'{-i,--input=}'[create commands file to remove every file listed in the changes file]:changes file:_files -g"*.changes(-.)"' - '(-U --upload)'{-U,--upload=}'[upload commands file]:commands file:_files' - '(--host 1)'{--host=}'[upload to host if it is named like a command]:host:_dput_hosts' - '*:: :->dcut_command_arguments' - ) - - dcut_ng_opts=( - '*'{-d,--debug}'[enable debug messages, repeat twice to increase the verbosity level]' - '*'{-s,--simulate}'[simulate an upload only, repeat twice to increase level of simulation]' - '*:: :->dcut_ng_command_arguments' - ) - - if _pick_variant dcutng="usage: dcut" dcut -v ; then - _arguments -C \ - "$all_opts[@]" "$dcut_ng_opts[@]" && return - else - _arguments -C \ - "$all_opts[@]" "$dcut_opts[@]" && return - fi - - case $state in - (dcut_command_arguments) - # arguments to dcut commands - local -a opts - case ${line[1]} in - (cancel) - # dcut cancel arguments - opts=( - '1::changes file:_files -g"*.changes(-.)"' - ) - ;; - (reschedule) - # dcut reschedule arguments - opts=( - '1::changes file:_files -g"*.changes(-.)"' - '2::new delayed queue:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - ) - ;; - (rm) - # dcut rm arguments - opts=( - '--searchdirs[search in all directories for the given files]' - '1::file to be deleted:_files' - ) - ;; - esac - _arguments "$opts[@]" && return - ;; - (dcut_ng_command_arguments) - # arguments to dput-ng's dcut commands - local -a opts - case ${line[1]} in - (cancel) - # dcut cancel arguments - opts=( - '(-f --filename)'{-f,--filename}'[.changes file name of the upload to be cancelled]:file name:_files -g"*.changes(-.)"' - ) - ;; - (dm) - # dcut dm arguments - opts=( - '--uid[full name and address or GPG fingerprint of the Debian Maintainer]' - '*--allow[grant permission to upload a source package]:source package' - '*--deny[remove permission to upload a source package]:source package' - ) - ;; - (reschedule) - # dcut reschedule arguments - opts=( - '(-f --filename)'{-f,--filename}'[.changes file name to be rescheduled]:file name:_files -g"*.changes(-.)"' - '(-d --days)'{-d,--days}'[new delayed queue]:days:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - ) - ;; - (rm) - # dcut rm arguments - opts=( - '*'{-f,--filename}'[file name to be removed]:file name:_files' - '--searchdirs[search in all directories for the given files]' - ) - ;; - (upload) - # dcut upload arguments - opts=( - '-f --filename)'{-f,--filename}'[file to be uploaded]:file name:_files' - ) - ;; - esac - _arguments "$opts[@]" && return - ;; - esac -} - -_dcut "$@" diff --git a/result/sw/share/zsh/5.9/functions/_dd b/result/sw/share/zsh/5.9/functions/_dd deleted file mode 100644 index 10682bc8..00000000 --- a/result/sw/share/zsh/5.9/functions/_dd +++ /dev/null @@ -1,101 +0,0 @@ -#compdef dd gdd - -local -a vals conv flags units -local variant - -units=( w:word b:block k:1024 m g t ) -_pick_variant -r variant gnu=GNU $OSTYPE --version - -vals=( - '(ibs obs)bs[block size]: :_numbers -u bytes "block size" $units' - 'cbs[conversion buffer size]: :_numbers -u bytes "buffer size" $units' - 'conv[specify conversions to apply]: :_values -s , conversion $conv' - 'count[number of input blocks to copy]:blocks' - '(bs)ibs[input block size]: :_numbers -u bytes -d 512 "block size" $units' - 'if[specify input file]:input file:_tilde_files' - '(bs)obs[output block size]: :_numbers -u bytes -d 512 "block size" $units' - 'of[specify output file]:output file:_tilde_files' - 'seek[output blocks initially skipped]:blocks' - 'skip[input blocks initially skipped]:blocks' -) -conv=( - '(ascii asciib oldascii ebcdic ebcdicb oldebcdic ibm ibmb oldibm)'{ascii,ebcdic,ibm} - '(unblock)block' '(block)unblock' - '(ucase)lcase' '(lcase)ucase' - swab sync noerror notrunc -) - -case $variant in - ^gnu) - vals+=( - 'files[specify number of input files to copy and concatenate]:number of files' - ) - ;| - (gnu|darwin|dragonfly|(free|net)bsd*) - conv+=( sparse ) - ;| - gnu|netbsd*) - vals+=( - '*iflag[specify read flags]:flag:_sequence compadd - $flags' - '*oflag[specify write flags]:flag:_sequence compadd - $flags' - ) - flags=( append direct directory dsync sync nonblock noctty nofollow ) - ;| - darwin*|dragonfly*|(free|net)bsd*) - vals+=( - 'oseek[output blocks initially skipped]:blocks' - ) - conv+=( - '(ascii oldascii ebcdic oldebcdic oldibm)'old{ascii,ebcdic,ibm} - ) - ;| - (darwin|dragonfly|freebsd|netbsd|solaris)*) - vals+=( - 'iseek[input blocks initially skipped]:blocks' - ) - ;| - (open|free)bsd*) - vals+=( - 'status[specify level of information to print to stderr]:level:(none noxfer)' - ) - conv+=( osync ) - ;| - - freebsd*) - vals+=( - 'fillchar[specify padding character]:character' - 'speed[limit copying speed]: :_numbers -u bytes/second speed $units' - ) - conv+=( - '(pareven parnone parodd parset)'{pareven,parnone,parodd,parset} - ) - ;; - gnu) - vals+=( - 'status[specify level of information to print to stderr]:level:(none noxfer progress)' - ) - flags+=( fullblock noatime nocache count_bytes skip_bytes seek_bytes ) - conv+=( excl nocreat fdatasync fsync ) - units=( c:1 w:2 b:512 kB:1000 K:1024 MB:1000^2 M:1024\^2 GB G TB T PB P EB E ZB Z YB Y ) - ;; - netbsd*) - vals+=( - 'msgfmt[specify format for information summary]:format:(quiet posix human)' - 'progress[enable progress display]:enable:(1)' - ) - flags+=( - wronly rdwr creat trunc excl shlock exlock cloexec nosigpipe rsync alt_io async - ) - ;; - solaris*) - vals+=( - 'files[specify number of input files to copy and concatenate]:number of files' - 'oseek[output blocks initially skipped (via seek, not NUL-padding)]:blocks' - ) - conv+=( - '(ascii asciib ebcdic ebcdicb ibmb)'{ascii,ebcdic,ibm}b - ) - ;; -esac - -_values -w 'option' $vals diff --git a/result/sw/share/zsh/5.9/functions/_deb_architectures b/result/sw/share/zsh/5.9/functions/_deb_architectures deleted file mode 100644 index 1429112a..00000000 --- a/result/sw/share/zsh/5.9/functions/_deb_architectures +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local extra expl -zparseopts -E -D -a extra a: - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" alpha amd64 arm64 armel armhf hppa hurd-i386 i386 ia64 \ - kfreebsd-amd64 kfreebsd-i386 m68k mips mipsel powerpc powerpcspe ppc64 \ - ppc64el s390x sh4 sparc sparc64 x32 ${=extra[2]} diff --git a/result/sw/share/zsh/5.9/functions/_deb_codenames b/result/sw/share/zsh/5.9/functions/_deb_codenames deleted file mode 100644 index feea8b49..00000000 --- a/result/sw/share/zsh/5.9/functions/_deb_codenames +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local distro codenames ret=1 - -for distro in /usr/share/distro-info/*.csv(N); do - # TODO: magic number "6" - codenames=( ${(f)"$(<$distro tail -n6 | cut -d, -f3,1)"} ) - codenames=( ${codenames/(#b)(*),(*)/${match[2]}:${match[1]}} ) - _describe -V -t codename-${distro:t:r} "${distro:t:r} codenames" codenames && ret=0 -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_deb_files b/result/sw/share/zsh/5.9/functions/_deb_files deleted file mode 100644 index e84871cc..00000000 --- a/result/sw/share/zsh/5.9/functions/_deb_files +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -# This function is used to generate file names for Debian package files (.deb -# and friends). In addition to the options supported by _files, it understands -# the following: -# -# -c Include .changes and .dsc files - -local -a _expl _fopts _c _exts=( deb ddeb udeb ) - -zparseopts -a _fopts -D -E - \ - c=_c 1 2 F+: J+: M+: n P+: q r+: R+: S+: V+: W+: X+: - -(( $#_c )) && _exts+=( changes dsc ) - -_description files _expl 'Debian package' -_files "${(@)_fopts}" "${(@)_expl}" -g "*.(${(j<|>)_exts})(-.)" diff --git a/result/sw/share/zsh/5.9/functions/_deb_packages b/result/sw/share/zsh/5.9/functions/_deb_packages deleted file mode 100644 index bdc0cb00..00000000 --- a/result/sw/share/zsh/5.9/functions/_deb_packages +++ /dev/null @@ -1,138 +0,0 @@ -#autoload - -# Usage: _deb_packages expl... (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) - -_deb_packages_update_avail () { - if ( [[ ${+_deb_packages_cache_avail} -eq 0 ]] || - _cache_invalid DEBS_avail ) && ! _retrieve_cache DEBS_avail; - then - _deb_packages_cache_avail=( - ${(f)"$(apt-cache --generate pkgnames 2>/dev/null)"} - ) - - _store_cache DEBS_avail _deb_packages_cache_avail - fi - cachevar=_deb_packages_cache_avail -} - -_deb_packages_update_installed () { - if ( [[ ${+_deb_packages_cache_installed} -eq 0 ]] || - _cache_invalid DEBS_installed ) && ! _retrieve_cache DEBS_installed; - then - _deb_packages_cache_installed=() - dpkg --get-selections | while read package state ; do - [[ $state = (install|hold) ]] && _deb_packages_cache_installed+=$package - done - _store_cache DEBS_installed _deb_packages_cache_installed - fi - cachevar=_deb_packages_cache_installed -} - -_deb_packages_update_held () { - if ( [[ ${+_deb_packages_cache_held} -eq 0 ]] || - _cache_invalid DEBS_held ) && ! _retrieve_cache DEBS_held; - then - _deb_packages_cache_held=() - dpkg --get-selections | while read package state ; do - [[ $state = hold ]] && _deb_packages_cache_held+=$package - done - _store_cache DEBS_held _deb_packages_cache_held - fi - cachevar=_deb_packages_cache_held -} - -_deb_packages_update_deinstalled () { - if ( [[ ${+_deb_packages_cache_deinstalled} -eq 0 ]] || - _cache_invalid DEBS_deinstalled ) && ! _retrieve_cache DEBS_deinstalled; - then - _deb_packages_cache_deinstalled=() - dpkg --get-selections | while read package state ; do - [[ $state = deinstall ]] && _deb_packages_cache_deinstalled+=$package - done - _store_cache DEBS_deinstalled _deb_packages_cache_deinstalled - fi - cachevar=_deb_packages_cache_deinstalled -} - -_deb_packages_update_xinstalled () { - if ( [[ ${+_deb_packages_cache_xinstalled} -eq 0 ]] || - _cache_invalid DEBS_xinstalled ) && ! _retrieve_cache DEBS_xinstalled; - then - _deb_packages_cache_xinstalled=() - dpkg --get-selections | while read package state ; do - _deb_packages_cache_xinstalled+=$package - done - _store_cache DEBS_xinstalled _deb_packages_cache_xinstalled - fi - cachevar=_deb_packages_cache_xinstalled -} - -_deb_packages_update_uninstalled () { - _deb_packages_update_avail - _deb_packages_update_installed - if (( ! $+_deb_packages_cache_uninstalled )); then - # Package lists too large to efficiently diff with zsh expansion - _deb_packages_cache_uninstalled=( - $( print -l $_deb_packages_cache_avail | - fgrep -xvf =(print -l $_deb_packages_cache_installed) ) - ) - fi - cachevar=_deb_packages_cache_uninstalled -} - -_deb_packages_update_source () { - if ( [[ ${+_deb_packages_cache_source} -eq 0 ]] || - _cache_invalid DEBS_source ) && ! _retrieve_cache DEBS_source; - then - _deb_packages_cache_source=( - # requires apt >= 1.1.8 - # if dpkg --compare-versions "$(dpkg-query --show --showformat '${Version}\n' apt)" '>=' '1.1.8' ; then ...; else ...; fi - ${(f)"$(/usr/lib/apt/apt-helper cat-file $(apt-get indextargets --format '$(FILENAME)' 'Created-By: Sources' 2>/dev/null) 2>/dev/null | sed -ne 's/^Package: //p' | uniq)"} - ) - - _store_cache DEBS_source _deb_packages_cache_source - fi - cachevar=_deb_packages_cache_source -} - -_deb_packages () { - local command="$argv[$#]" expl cachevar pkgset update_policy - - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _debs_caching_policy - fi - - [[ "$command" = (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) ]] || { - _message "unknown command: $command" - return - } - - zstyle -s ":completion:${curcontext}:" packageset pkgset - - [[ "$pkgset" = (installed|deinstalled|xinstalled|held|uninstalled|avail|available|source) ]] || { - pkgset="$command" - } - - [[ "$pkgset" = "available" ]] && pkgset="avail" - - expl=("${(@)argv[1,-2]}") - - _deb_packages_update_$pkgset - - typeset -gH $cachevar - - _tags packages && compadd "$expl[@]" -a - $cachevar -} - -_debs_caching_policy () { - # rebuild if cache is more than a week old - local -a oldp - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - [[ /var/cache/apt/pkgcache.bin -nt "$1" || - /var/lib/dpkg/available -nt "$1" ]] -} - -_deb_packages "$@" diff --git a/result/sw/share/zsh/5.9/functions/_debbugs_bugnumber b/result/sw/share/zsh/5.9/functions/_debbugs_bugnumber deleted file mode 100644 index 85e0c60d..00000000 --- a/result/sw/share/zsh/5.9/functions/_debbugs_bugnumber +++ /dev/null @@ -1,11 +0,0 @@ -#autoload -# TODO: use _describe with some basic metadata (e.g., bug title/package/version) - -local expl - -[[ $PREFIX$SUFFIX == [0-9]# ]] || return 1 - -# The cache directory moved; try both locations. -# ### TODO: Use 'bts listcachedbugs'? -local -a cachedirs=( ~/.devscripts_cache/bts ~/.cache/devscripts/bts ) -_wanted -x bugnum expl 'bug number' compadd -- $^cachedirs/<->.(html|mbox)(N:t:r) diff --git a/result/sw/share/zsh/5.9/functions/_debchange b/result/sw/share/zsh/5.9/functions/_debchange deleted file mode 100644 index 84f364d4..00000000 --- a/result/sw/share/zsh/5.9/functions/_debchange +++ /dev/null @@ -1,78 +0,0 @@ -#compdef debchange dch=debchange - -# Based on dch from devscripts-2.15.3 - -# At most one of -a/-e/-i/-r/-v may be specified. -# TODO: specifying --release in the exclusion lists makes -i/-a/-v/-e exclude --release-heuristic, although they shouldn't. -# TODO: --news' optional argument isn't completed -# TODO: support --noconf/--no-conf - -# List taken from error message: "Only one of ... is allowed; try dch --help for more info" -local -a mutex=( - -a --append - -i --increment - -e --edit - -r --release - -v --newversion - -d --fromdirname - -n --nmu - --bin-nmu - -q --qa - -R --rebuild - -s --security - --team - --bpo - -l --local -) - -_arguments -S -s -A "-*" \ - '(-h --help)'{-h,--help}'[display help information]' \ - --version'' \ - "($mutex)"{-i,--increment}'[increment release or version number]' \ - "($mutex)"{-a,--append}'[add new changelog entry]' \ - "($mutex)"{-v+,--newversion=}'[specify new version number]:version:' \ - "($mutex)"{-e,--edit}'[edit changelog in an editor]' \ - "($mutex)"{-r,--release}'[finalize changelog for a release]' \ - '(--no-force-save-on-release)'--force-save-on-release'[with --release, require changelog to be saved when previewed (default)]' \ - '(--force-save-on-release)'--no-force-save-on-release'[with --release, do not require changelog to be saved when previewed]' \ - --create'[create a new debian/changelog (or NEWS) file]' \ - --empty'[with --create, do not add an "Initial release." entry]' \ - --package='[specify package name to use in new changelog or new entry]:package name:_deb_packages avail' \ - "($mutex)"{-n,--nmu}'[increment release number for a non-maintainer upload (NMU)]' \ - "($mutex)"--bin-nmu'[increment release number for a binary non-maintainer upload (binNMU)]' \ - "($mutex)"{-q,--qa}'[increment release number for a quality assurance upload (QA)]' \ - "($mutex)"{-R,--rebuild}'[increment release number for a no-change upload (a rebuild)]' \ - "($mutex)"{-s,--security}'[increment release number for a security team upload]' \ - "($mutex)"--team'[increment release number for a team upload]' \ - "($mutex)"{-U,--upstream}'[increment release number for a parent-distro upload (on a derived distro)]' \ - "($mutex)"--bpo'[increment release number for a ${suite}-backports upload]' \ - "($mutex)"{-l+,--local=}'[add suffix to version number (for local builds)]:version number suffix' \ - '(-b --force-bad-version)'{-b,--force-bad-version}'[force version number to be less than the current one]' \ - --allow-lower-version='[allow version number lower than current one if the former matches ARG]:pattern to match version numbers that may be lower than current one' \ - --force-distribution'[accept unrecognized distribution name]' \ - '(--no-auto-nmu)'--auto-nmu'[automatically detect NMUs (default)]' \ - '(--auto-nmu)'--no-auto-nmu'[do not automatically detect NMUs]' \ - "($mutex)"{-d,--fromdirname}'[derive upstream version number from basename of current working directory]' \ - --closes='[specify bug numbers to close]:bug numbers to close (comma-separated)' \ - --query'[with --closes, contact the BTS (default)]' \ - --noquery'[with --closes, contact the BTS (default)]' \ - '(--no-preserve --nopreserve --preserve -p)'{-p,--preserve}'[preserve source tree directory name]' \ - '(--preserve -p)'{--no-preserve,--nopreserve}'[do not preserve source tree directory name (default)]' \ - --vendor='[override distributor ID (default\: see dpkg-vendor)]:vendor name' \ - '(-D --distribution)'{-D+,--distribution=}'[specify distribution name for entry (default: value of top entry)]:distribution name' \ - '(-u --urgency)'{-u+,--urgency=}'[specify urgency for entry (default\: value of top entry)]:urgency' \ - '(-c --changelog)'{-c+,--changelog=}'[specify changelog filename]:changelog filename:_files' \ - --news'[edit NEWS instead of changelog (optional argument\: filename)]' \ - '(--nomultimaint)'--multimaint'[indicate multiple authors (default)]' \ - '(--multimaint)'--nomultimaint'[do not indicate multiple authors]' \ - '(--nomultimaint-merge)'--multimaint-merge'[merge changes by a the same author]' \ - '(--multimaint-merge)'--nomultimaint-merge'[do not merge changes by a the same author (default)]' \ - '(-m --maintmaint)'{-m,--maintmaint}'[do not modify maintainer details]' \ - '(-M --controlmaint)'{-M,--controlmaint}'[use maintainer details from debian/control]' \ - '(--nomainttrailer)'{-t,--mainttrailer}'[do not modify changelog trailer line unless required]' \ - '(--mainttrailer -t)'--nomainttrailer'[modify changelog trailer line normally]' \ - --check-dirname-level':when to check the parent directory'\''s name:((0\:never 1\:"if different from current working directory" 2\:always))' \ - --check-dirname-regex'[regex to match base directory'\''s name]:anchored perl regular expression (default\: '\''PACKAGE(-.+)?'\'')' \ - --release-heuristic'[control "package has been released" heuristic]:heuristic:((changelog\:"via changelog \"UNRELEASED\" distribution (default)" log\:"ia upload logfile in parent directory"))' \ - ':text:' - # multimaint diff --git a/result/sw/share/zsh/5.9/functions/_debcheckout b/result/sw/share/zsh/5.9/functions/_debcheckout deleted file mode 100644 index 3e6d5df7..00000000 --- a/result/sw/share/zsh/5.9/functions/_debcheckout +++ /dev/null @@ -1,21 +0,0 @@ -#compdef debcheckout - -# The helpstrings use the term 'checkout' (rather than 'clone' or 'branch' or -# 'fork') to be consistent with the name of the tool. - -local -a args=( -'(-a --auth)'{-a,--auth}'[rewrite anonymous checkout URLs to authenticated ones]' -'(-p --print -d --details)'{-d,--details}'[print detailed information; do not checkout]' -'(-h --help)'{-h,--help}'[show usage message]' -'(-p --print -d --details)'{-p,--print}'[print summary information; do not checkout]' -'(-P --package)'{-P+,--package=}'[specify package name explicitly (when target is a URL)]:package name:_deb_packages available' -'(-t --type)'{-t+,--type=}'[specify repository type]:repository type:((arch\:Arch bzr\:Bazaar cvs\:CVS darcs\:Darcs git\:Git hg\:Mercurial svn\:Subversion))' -'(-u --username)'{-u+,--username=}'[specify username (implies --auth)]:username: ' -\*{-f+,--file=}'[extract named file]:remote filename' -'--source=:policy for .orig.tar.gz file:(never auto download-only always)' -'--git-track=[specify branches to track]:branches (separated by spaces) or '\'\*\' -'1:package or URL: _alternative "_deb_packages available" "_urls"' -'2::destination directory:_path_files -/' -) - -_arguments -s -S : "$args[@]" diff --git a/result/sw/share/zsh/5.9/functions/_debdiff b/result/sw/share/zsh/5.9/functions/_debdiff deleted file mode 100644 index 9e8ffd59..00000000 --- a/result/sw/share/zsh/5.9/functions/_debdiff +++ /dev/null @@ -1,22 +0,0 @@ -#compdef debdiff - -_arguments \ - '(-d --dirs)'{-d,--dirs}'[do not ignore directories]' \ - '--nodirs[ignore directories]' \ - '(-m --move)'{-m,--move}':movement:_files' \ - '--move-regex:movement:_files' \ - '--nocontrol[do not compare control files]' \ - '--control[compare control files]' \ - '--wp[pass -p to wdiff]' \ - '--wl[pass -l to wdiff]' \ - '--wt[pass -t to wdiff]' \ - '--show-moved[show movements between packages]' \ - '--noshow-moved[do not show movements between packages]' \ - '--renamed:package:_deb_packages avail' \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any config files]' \ - '(-h --help)'{-h,--help}'[show help]' \ - '(-v --version)'{-v,--version}'[show version]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet if no differences]' \ - '--from: :_deb_files' \ - '--to: :_deb_files' \ - '*:file to compare:_deb_files -c' diff --git a/result/sw/share/zsh/5.9/functions/_debfoster b/result/sw/share/zsh/5.9/functions/_debfoster deleted file mode 100644 index 08a1078e..00000000 --- a/result/sw/share/zsh/5.9/functions/_debfoster +++ /dev/null @@ -1,68 +0,0 @@ -#compdef debfoster - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - '(-v --verbose)'{-v,--verbose}'[be a loudmouth]' \ - '(-V --version)'{-V,--versuib}'[show version and copyright information]' \ - '(-h --help)'{-h,--help}'[show help information]' \ - '(-q --quiet)'{-q,--quiet}'[silently build keeper file]' \ - '(-f --force)'{-f,--force}'[force system to conform to keeper file]' \ - '(-m --mark-only)'{-m,--mark-only}'[do not install or delete packages]' \ - '(-u --upgrade)'{-u,--upgrade}'[try to upgrade dependencies]' \ - '(-c --config)'{-c,--config}'[specify configuration file]:file:_files' \ - '(-k --keeperfile)'{-k,--keeperfile}'[specify keeper file]:file:_files' \ - '(-n --no-keeperfile)'{-n,--no-keeperfile}'[do not read keeper file]' \ - '(-i --ignore-default-rules)'{-i,--ignore-default-rules}'[ignore default rules]' \ - '(-a --show-keepers)'{-a,--show-keepers}'[show packages on keeper list]' \ - '(-s --show-orphans)'{-s,--show-orphans}'[show orphaned packages]' \ - '(-d --show-depends)'{-d,--show-depends}'[show all depends of specified package]:package:_deb_packages avail' \ - '(-e --show-dependents)'{-e,--show-dependents}'[show dependents of specified package]:package:_deb_packages avail' \ - '(-p --show-providers)'{-p,--show-providers}'[show packages providing specified package]:package:_deb_packages avail' \ - '(-r --show-related)'{-r,--show-related}'[show packages brought in by specified package]:package:_deb_packages avail' \ - '(-t --use-tasks)'{-t,--use-tasks}'[make tasks visible as packages]' \ - '*-'{-option,o}'[override any configuration option]:option string:->option' \ - '*:package markings: _alternative "installed:installed packages:_deb_packages -S- installed" "uninstalled:uninstalled packages:_deb_packages uninstalled"' \ - && ret=0 - -if [[ -n "$state" ]]; then - if compset -P 1 '*='; then - case "$IPREFIX" in - *(#i)(install|remove|info)cmd*) - _wanted values expl 'command string' _cmdstring && ret=0 - ;; - *(#i)(keeperfile|dpkg(status|available))*) - _wanted values expl 'metadata file' _files && ret=0 - ;; - *(#i)maxpriority*) - _wanted values expl 'package priority' \ - compadd required important standard optional extra ANY && ret=0 - ;; - *(#i)(use(hold|essential|predepends|recommends|suggests|tasks)|negativekeepers|verbose|force|quiet)*) - _wanted values expl 'truth value' \ - compadd yes no && ret=0 - ;; - *(#i)(no|)keepsections*) - _wanted values expl 'section' compadd \ - x11 web utils text tex sound shells science \ - otherosfs oldlibs news net misc math mail libs \ - interpreters hamradio graphics games electronics \ - editors doc devel comm base admin && ret=0 - ;; - *(#i)guessdepends*) - _wanted values expl 'name extension' \ - compadd doc dev && ret=0 - ;; - esac - else - _wanted values expl 'configure file option' \ - compadd -M 'm:{a-z}={A-Z}' -S '=' - \ - InstallCmd RemoveCmd InfoCmd KeeperFile DpkgStatus \ - DpkgAvailable MaxPriority UseHold UseEssential \ - UsePreDepends UseRecommends UseSuggests UseTasks \ - KeepSections NokeepSections GuessDepends NegativeKeepers \ - Verbose Force Quiet && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_deborphan b/result/sw/share/zsh/5.9/functions/_deborphan deleted file mode 100644 index 9f6df6f6..00000000 --- a/result/sw/share/zsh/5.9/functions/_deborphan +++ /dev/null @@ -1,42 +0,0 @@ -#compdef deborphan - -local keep=(/var/lib/deborphan/keep(N) /dev/null) -_arguments : \ - {--help,-h}'[help]' \ - {--status-file,-f}'[specify status file]:file:_files' \ - {--version,-v}'[version]' \ - {--show-deps,-d}'[show dependencies for packages that have them]' \ - {--show-priority,-P}'[show priority of packages found]' \ - {--show-section,-s}'[show the sections the packages are in]' \ - --no-show-section'[do not show sections]' \ - {--show-size,-z}'[show installed size of packages found]' \ - {--all-packages,-a}'[compare all packages, not just libs]' \ - {--exclude,-e}'[work as if specified packages were not installed]:packages:_sequence _deb_packages - avail' \ - {--force-hold,-H}'[ignore hold flags]' \ - {--nice-mode,-n}'[disable checks for "recommends" and "suggests"]' \ - --ignore-recommends'[disable checks for recommends]' \ - --ignore-suggests'[disable checks for "suggests"]' \ - {--priority,-p}'[select only packages with at least specified priority]:priority:' \ - --find-config'[find "orphaned" configuration files]' \ - --libdevel'[search in libdevel in addition to libs and oldlibs]' \ - {--add-keep,-A}'[packages to never report]:*:package:_deb_packages installed' \ - {--keep-file,-k}'[file to get/store info about kept packages]:file:_files' \ - {--list-keep,-L}'[list the packages that are never reported]' \ - {--del-keep,-R}"[packages to remove from the 'keep' file]:*:package:compadd -X 'kept package' $(< $keep[1])" \ - {--zero-keep,-Z}'[remove all packages from the "keep" file]' \ - --guess-common'[try to report common packages]' \ - --guess-data'[try to report data packages]' \ - --guess-debug'[try to report debugging libraries]' \ - --guess-dev'[try to report development packages]' \ - --guess-doc'[try to report documentation packages]' \ - --guess-dummy'[try to report dummy packages]' \ - --guess-kernel'[try to report kernel modules]' \ - --guess-interpreters'[try to report interpreter libraries]' \ - --guess-mono'[try to report mono libraries]' \ - --guess-perl'[try to report perl libraries]' \ - --guess-pike'[try to report pike libraries]' \ - --guess-python'[try to report python libraries]' \ - --guess-ruby'[try to report ruby libraries]' \ - --guess-section'[try to report libraries in wrong sections]' \ - --guess-all'[try all of the above]' \ - --guess-only'[use --guess options only]' diff --git a/result/sw/share/zsh/5.9/functions/_debsign b/result/sw/share/zsh/5.9/functions/_debsign deleted file mode 100644 index b358186b..00000000 --- a/result/sw/share/zsh/5.9/functions/_debsign +++ /dev/null @@ -1,15 +0,0 @@ -#compdef debsign - -_arguments \ - '-r[copy .changes file from remote host]: :_user_at_host' \ - '-p[program with which to sign]:program name' \ - '-m[maintainer]:maintainer name and email address' \ - '-e[maintainer]:maintainer name and email address' \ - '-k[key ID to use for signing]:keyid' \ - '-s[argument style for signing program]:gpg or pgp' \ - '-S[look for source-only .changes file]' \ - '-a[architecture]:Debian architecture' \ - '-t[GNU system type]:GNU system type' \ - '--help[display help information]' \ - '--version[display version information]' \ - '*:changes or dsc file:_files -g "*.(changes|dsc)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_debsnap b/result/sw/share/zsh/5.9/functions/_debsnap deleted file mode 100644 index b9393cac..00000000 --- a/result/sw/share/zsh/5.9/functions/_debsnap +++ /dev/null @@ -1,77 +0,0 @@ -#compdef debsnap - -# Based on debsnap from devscripts-2.20.3 - -local context state state_descr line ret=1 -local -a expl -typeset -A opt_args - -_arguments \ - '(-d --destdir)'{-d+,--destdir=}'[set download directory]:download directory:_files -/' \ - '(-f --force)'{-f,--force}'[allow non-empty destination directory]' \ - '(-v --verbose)'{-v,--verbose}'[print configuration and report progress]' \ - --list"[list versions; don't download]" \ - --binary'[operate on binary packages (default: source packages)]' \ - '*'{-a+,--architecture=}'[specify architectures to download]:architecture to download:_deb_architectures' \ - --first='[download all versions newer than this]:version number (lower bound):->versions' \ - --last='[download all versions older than this]:version number (upper bound):->versions' \ - '(-)'{-h,--help}'[show usage information]' \ - '(-)'--version'[show version number and license]' \ - '1: :->package' \ - '2:version number to download:->versions' \ - && ret=0 - -# -a implies --binary -if (( ${+opt_args[-a]} || ${+opt_args[--architecture]} )); then - opt_args[--binary]='' -fi - -case $state in - (package) - if (( ${+opt_args[--binary]} )); then - _description binary-packages expl 'binary package to download' - _deb_packages "${expl[@]}" avail && ret=0 - else - _description source-packages expl 'source package to download' - _deb_packages "${expl[@]}" source && ret=0 - fi - ;; - (versions) - local package=${(Q)line[1]} - if [[ -n $package ]]; then - # Compute the arguments to --list - local -a args - () { - local i j - - # repeatable flags with arguments, where the values can't contain colons - for i in ${(k)opt_args[(I)(-a|--architecture)]}; do - for j in ${(@s.:.)opt_args[$i]}; do - [[ -n $j ]] || continue - args+=( $i $j ) - done - done - - # non-repeatable flags with arguments, where the values may contain colons - for i in ${(k)opt_args[(I)(--first|--last)]}; do - # Avoid spurious "No matches" results in 'debsnap --first 42.1 --last 42.<TAB>'. - [[ $context != option${i}-* ]] || continue - - # Un-escape colons (epoch separators in the version number) - args+=( $i ${(Q)opt_args[$i]} ) - done - - # flags without arguments - args+=( ${(k)opt_args[(I)(--binary)]} ) - } - - local -a versions=( ${(Oaf)"$(_call_program versions debsnap --list ${args} -- ${line[1]})"} ) - _description -V versions expl ${state_descr} - compadd "$@" "${expl[@]}" -a versions && ret=0 - else - _message -- $state_descr && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_debuild b/result/sw/share/zsh/5.9/functions/_debuild deleted file mode 100644 index 5b1d0ea3..00000000 --- a/result/sw/share/zsh/5.9/functions/_debuild +++ /dev/null @@ -1,20 +0,0 @@ -#compdef debuild - -local ign noc - -(( $#words > 2 )) && ign='!' -(( CURRENT != 2 )) && noc='!' - -_arguments \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)--version[display version and copyright information]" \ - ${noc}{--no-conf,--noconf}"[don't read devscripts config files]" \ - {-r-,--rootcmd=}'[specify command used to become root if debuild not setuid root]: : _command_names -e' \ - '(--preserve-env)*'{-e-,--preserve-envvar=}'[preserve environment variable]:environment variable:_parameters -g "*export*"' \ - '(-e --preserve-envvar)--preserve-env[preserve all environment vars (except PATH)]' \ - '*'{-e-,--set-envvar=}'[preserve environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '--prepend-path=[prepend to the sanitised PATH]: :_dir_list' \ - '(-D)-d[skip checking of build dependencies]' \ - '(-d)-D[force checking of build dependencies]' \ - '--check-dirname-level[specify how much to check directory names]:level [1]:((0\:never 1\:only\ if\ program\ changes\ directory 2\:always))' \ - '--check-dirname-regex[specify what constitutes a matching directory name]:perl regex [PACKAGE(-.*)?]' diff --git a/result/sw/share/zsh/5.9/functions/_default b/result/sw/share/zsh/5.9/functions/_default deleted file mode 100644 index 81744cde..00000000 --- a/result/sw/share/zsh/5.9/functions/_default +++ /dev/null @@ -1,27 +0,0 @@ -#compdef -default- - -local ctl - -if { zstyle -s ":completion:${curcontext}:" use-compctl ctl || - zmodload -e zsh/compctl } && [[ "$ctl" != (no|false|0|off) ]]; then - local opt - - opt=() - [[ "$ctl" = *first* ]] && opt=(-T) - [[ "$ctl" = *default* ]] && opt=("$opt[@]" -D) - compcall "$opt[@]" || return 0 -fi - -_files "$@" && return 0 - -# magicequalsubst allows arguments like <any-old-stuff>=~/foo to do -# file name expansion after the =. In that case, it's natural to -# allow completion to handle file names after any equals sign. - -if [[ -o magicequalsubst && "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value "$@" -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_defaults b/result/sw/share/zsh/5.9/functions/_defaults deleted file mode 100644 index b05222af..00000000 --- a/result/sw/share/zsh/5.9/functions/_defaults +++ /dev/null @@ -1,72 +0,0 @@ -#compdef defaults - -_defaults_domains(){ - if [[ "`eval echo $PREFIX`" != [/~]* ]]; then - local str="$(_call_program domains defaults domains 2>/dev/null)" - local expl - local -a list - list=( ${(s/, /)str} -g -globalDomain ) - _wanted domains expl 'defaults database domain' \ - compadd -M 'r:|.=* r:|=*' -a list - else - _files -g '*.plist(-.:r)' - fi -} - -_defaults_keys(){ - local ks - ks=(${${${${(M)${(f)"$(defaults read "$words[2]" 2>/dev/null)"}:# [^ ]*=*}# }%% = *}:Q}) - local expl - _wanted keys expl 'key' compadd "$ks[@]" -} - -_defaults(){ - local -a _1st_arguments - _1st_arguments=( read read-type write rename delete domains find help ) - - local curcontext="$curcontext" state line expl - typeset -A opt_args - - _arguments -C -A '-*' \ - '(-currentHost)-host:host:_hosts' \ - '(-host)-currentHost' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "command" _1st_arguments - return - fi - - case $words[1] in - read|read-type|delete) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:key:_defaults_keys" - ;; - write) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:key:_defaults_keys" \ - "*::value" - ;; - rename) - _arguments \ - "(1)-app:application:_mac_applications" \ - "(-app)1:domain:_defaults_domains" \ - "2:old key:_defaults_keys" \ - "3:new key:_defaults_keys" - ;; - domains|help) - ;; - find) - _message word - ;; - *) - _message "unknown defaults command: $words[1]" - ;; - esac -} - -_defaults "$@" diff --git a/result/sw/share/zsh/5.9/functions/_delimiters b/result/sw/share/zsh/5.9/functions/_delimiters deleted file mode 100644 index d98d5a76..00000000 --- a/result/sw/share/zsh/5.9/functions/_delimiters +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -# Simple function to offer delimiters for modifiers and qualifiers. -# Single argument is tag to use. - -local expl -local -a list - -zstyle -a ":completion:${curcontext}:$1" delimiters list || - list=(: + / - %) - -if (( ${#list} )); then - _wanted delimiters expl delimiter compadd -S '' -a list -else - _message delimiter -fi diff --git a/result/sw/share/zsh/5.9/functions/_describe b/result/sw/share/zsh/5.9/functions/_describe deleted file mode 100644 index c12eb0ea..00000000 --- a/result/sw/share/zsh/5.9/functions/_describe +++ /dev/null @@ -1,140 +0,0 @@ -#autoload - -# ### Note: Calling this function twice during one completion operation, such -# ### that in each call there exists a pair of items having the same description -# ### as each other, and the two calls specify the same $_type, currently leads -# ### to garbled output; see workers/35229 (May 2015) and its thread (which also -# ### discusses at least two other issues, that may or may not be related to -# ### this one). - -# This can be used to add options or values with descriptions as matches. - -local _opt _expl _tmpm _tmpd _mlen _noprefix -local _type=values _descr _ret=1 _showd _nm _hide _args _grp _sep -local csl="$compstate[list]" csl2 -local _oargv _argv _new _strs _mats _opts _i _try=0 -local OPTIND OPTARG -local -a _jvx12 - -# Get the option. - -while getopts "oOt:12JVx" _opt; do - case $_opt in - (o) - _type=options;; - (O) - _type=options - _noprefix=1 - ;; - (t) - _type="$OPTARG" - ;; - (1|2|J|V|x) - _jvx12+=(-$_opt) - esac -done -shift $(( OPTIND - 1 )) -unset _opt - -[[ "$_type$_noprefix" = options && ! -prefix [-+]* ]] && \ - zstyle -T ":completion:${curcontext}:options" prefix-needed && - return 1 - -# Do the tests. `showd' is set if the descriptions should be shown. - -zstyle -T ":completion:${curcontext}:$_type" verbose && _showd=yes - -zstyle -s ":completion:${curcontext}:$_type" list-separator _sep || _sep=-- -zstyle -s ":completion:${curcontext}:$_type" max-matches-width _mlen || - _mlen=$((COLUMNS/2)) - -_descr="$1" -shift - -if [[ -n "$_showd" ]] && - zstyle -T ":completion:${curcontext}:$_type" list-grouped; then - _oargv=( "$@" ) - _grp=(-g) -else - _grp=() -fi - -[[ "$_type" = options ]] && - zstyle -t ":completion:${curcontext}:options" prefix-hidden && - _hide="${(M)PREFIX##(--|[-+])}" - -_tags "$_type" -while _tags; do - while _next_label $_jvx12 "$_type" _expl "$_descr"; do - - if (( $#_grp )); then - - set -- "$_oargv[@]" - _argv=( "$_oargv[@]" ) - _i=1 - (( _try++ )) - while (( $# )); do - - _strs="_a_$_try$_i" - if [[ "$1" = \(*\) ]]; then - eval local "_a_$_try$_i;_a_$_try$_i"'='$1 - else - eval local "_a_$_try$_i;_a_$_try$_i"'=( "${'$1'[@]}" )' - fi - _argv[_i]="_a_$_try$_i" - shift - (( _i++ )) - - if [[ "$1" = (|-*) ]]; then - _mats= - else - _mats="_a_$_try$_i" - if [[ "$1" = \(*\) ]]; then - eval local "_a_$_try$_i;_a_$_try$_i"'='$1 - else - eval local "_a_$_try$_i;_a_$_try$_i"'=( "${'$1'[@]}" )' - fi - _argv[_i]="_a_$_try$_i" - shift - (( _i++ )) - fi - - _opts=( "${(@)argv[1,(i)--]:#--}" ) - shift "$#_opts" - (( _i += $#_opts )) - if [[ $1 == -- ]]; then - shift - (( _i++ )) - fi - - if [[ -n $_mats ]]; then - compadd "$_opts[@]" -2 -o nosort "${_expl[@]}" -D $_strs -O $_mats - \ - "${(@)${(@M)${(@P)_mats}##([^:\\]|\\?)##}//\\(#b)(?)/$match[1]}" - else - compadd "$_opts[@]" -2 -o nosort "${_expl[@]}" -D $_strs - \ - "${(@)${(@M)${(@P)_strs}##([^:\\]|\\?)##}//\\(#b)(?)/$match[1]}" - fi - done - set - "$_argv[@]" - fi - - if [[ -n "$_showd" ]]; then - compdescribe -I "$_hide" "$_mlen" "$_sep " _expl "$_grp[@]" "$@" - else - compdescribe -i "$_hide" "$_mlen" "$@" - fi - - compstate[list]="$csl" - - while compdescribe -g csl2 _args _tmpm _tmpd; do - - compstate[list]="$csl $csl2" - [[ -n "$csl2" ]] && compstate[list]="${compstate[list]:s/rows//}" - - compadd "$_args[@]" -d _tmpd -a _tmpm && _ret=0 - done - done - (( _ret )) || return 0 -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_description b/result/sw/share/zsh/5.9/functions/_description deleted file mode 100644 index 368b41ee..00000000 --- a/result/sw/share/zsh/5.9/functions/_description +++ /dev/null @@ -1,123 +0,0 @@ -#autoload - -local name nopt xopt format gname hidden hide match opts tag -local -a ign gropt sort -local -a match mbegin mend - -opts=() - -xopt=(-X) -nopt=() -zparseopts -K -D -a nopt 1 2 V=gropt J=ign x=xopt - -3="${${3##[[:blank:]]#}%%[[:blank:]]#}" -[[ -n "$3" ]] && _lastdescr=( "$_lastdescr[@]" "$3" ) - -zstyle -s ":completion:${curcontext}:$1" group-name gname && - [[ -z "$gname" ]] && gname="$1" - -_setup "$1" "${gname:--default-}" - -name="$2" - -zstyle -s ":completion:${curcontext}:$1" format format || - zstyle -s ":completion:${curcontext}:descriptions" format format - -if zstyle -s ":completion:${curcontext}:$1" hidden hidden && - [[ "$hidden" = (all|yes|true|1|on) ]]; then - [[ "$hidden" = all ]] && format='' - opts=(-n) -fi -zstyle -s ":completion:${curcontext}:$1" matcher match && - opts=($opts -M "$match") -[[ -n "$_matcher" ]] && opts=($opts -M "$_matcher") - -# Use sort style, but ignore `menu' value to help _expand. -# Also don't override explicit use of -V. -if [[ -z "$gropt" ]]; then - if zstyle -a ":completion:${curcontext}:$1" sort sort || - zstyle -a ":completion:${curcontext}:" sort sort - then - if [[ -z "${(@)sort:#(match|numeric|reverse)}" ]]; then - gropt=( -o ${(j.,.)sort} ) - elif [[ "$sort" != (yes|true|1|on|menu) ]]; then - gropt=( -o nosort ) - fi - fi -else - gropt=( -o nosort ) -fi - -if [[ -z "$_comp_no_ignore" ]]; then - zstyle -a ":completion:${curcontext}:$1" ignored-patterns _comp_ignore || - _comp_ignore=() - - if zstyle -s ":completion:${curcontext}:$1" ignore-line hidden; then - local -a qwords - qwords=( ${words//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} ) - case "$hidden" in - true|yes|on|1) _comp_ignore+=( $qwords );; - current) _comp_ignore+=( $qwords[CURRENT] );; - current-shown) - [[ "$compstate[old_list]" = *shown* ]] && - _comp_ignore+=( $qwords[CURRENT] );; - other) _comp_ignore+=( $qwords[1,CURRENT-1] - $qwords[CURRENT+1,-1] );; - esac - fi - - # Ensure the ignore option is first so we can override it - # for fake-always. - (( $#_comp_ignore )) && opts=( -F _comp_ignore $opts ) -else - _comp_ignore=() -fi - -tag="$1" - -shift 2 -if [[ -z "$1" && $# -eq 1 ]]; then - format= -elif [[ -n "$format" ]]; then - if [[ -z $2 ]]; then - argv+=( h:${1%%( ##\((#b)([^\)]#[^0-9-][^\)]#)(#B)\)|)( ##\((#b)([0-9-]##)(#B)\)|)( ##\[(#b)([^\]]##)(#B)\]|)} ) - [[ -n $match[1] ]] && argv+=( m:$match[1] ) - [[ -n $match[2] ]] && argv+=( r:$match[2] ) - [[ -n $match[3] ]] && argv+=( o:$match[3] ) - fi - - zformat -F format "$format" "d:$1" "${(@)argv[2,-1]}" -fi - -if [[ -n "$gname" ]]; then - if [[ -n "$format" ]]; then - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J "$gname" "$xopt" "$format" - else - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J "$gname" - fi -else - if [[ -n "$format" ]]; then - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J -default- "$xopt" "$format" - else - set -A "$name" "$opts[@]" "$nopt[@]" "$gropt[@]" -J -default- - fi -fi - -if ! (( ${funcstack[2,-1][(I)_description]} )); then - local fakestyle descr - for fakestyle in fake fake-always; do - zstyle -a ":completion:${curcontext}:$tag" $fakestyle match || - continue - - descr=( "${(@M)match:#*[^\\]:*}" ) - - opts=("${(@P)name}") - if [[ $fakestyle = fake-always && $opts[1,2] = "-F _comp_ignore" ]]; then - shift 2 opts - fi - compadd "${(@)opts}" - "${(@)${(@)match:#*[^\\]:*}:s/\\:/:/}" - (( $#descr )) && _describe -t "$tag" '' descr "${(@)opts}" - done -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/_devtodo b/result/sw/share/zsh/5.9/functions/_devtodo deleted file mode 100644 index 8363495c..00000000 --- a/result/sw/share/zsh/5.9/functions/_devtodo +++ /dev/null @@ -1,176 +0,0 @@ -#compdef devtodo todo tda tde tdd tdr -## completion for devtodo 0.1.20 <http://swapoff.org/DevTodo> - -typeset -a arg_generic arg_add todo_opts \ - priorities -typeset -A arg_pair arg_desc -typeset -i i -typeset expl arg - -for ((i=2; i <= $#words; i++)) { - if [[ $words[$i] == '--database' ]]; then - todo_opts+=(--database ${~words[$((++i))]}) 2>/dev/null - elif [[ $words[$i] == '--sort' ]]; then - todo_opts+=(--sort ${words[$((++i))]}) - fi -} - -priorities=(verylow low medium high veryhigh) - -arg_add=( - '-p[priority]:priority:_todo_priority' - '-g[parent item]:parent:_todo_index' -) - -arg_generic=( - '--remove[remove items]:index:_todo_index' - '--database[database file]:file:_files' - '--global-database[global database file]:file:_files' - '*--colour[item color]:color:_todo_color' - '--force-colour[force use of colors]' - '--mono[no colors]' - '--help[display help]' - '--version[display version]' - '--title[todo title]:string: ' - '--date-format[strftime time format]:time string:_date_formats' - '*--format[define format]:format:_todo_format' - '*--use-format[output format]:format:_todo_format' - '--sort[sort database]:sort expression:_todo_sort' - '--paranoid[paranoid permissions etc]' - '--database-loaders[loader order]:database loader: ' - '--backup[backup database]:count: ' - '--timeout[display timeout]:seconds: ' - '--purge[purge completed items]:days: ' - '*'{'--filter','-f'}'[show items matching filter]:filter:_todo_filter' - '*::item:_todo_index' -) - -arg_pair=( - 'verbose' 'v' - 'add' 'a' - 'graft' 'g' - 'link' 'l' - 'reparent' 'R' - 'priority' 'p' - 'edit' 'e' - 'done' 'd' - 'not-done' 'D' - 'global' 'G' - 'TODO' 'T' - 'all' 'A' -) - -arg_desc=( - 'verbose' '[be verbose]' - 'add' '[add item]:item' - 'graft' '[parent item]:parent:_todo_index' - 'link' '[link file into database]:database:_files' - 'reparent' '[change item parent]:index:_todo_index' - 'priority' '[item priority]:priority:_todo_priority' - 'edit' '[edit item]:index:_todo_index' - 'done' '[mark as done]:index:_todo_index' - 'not-done' '[mark as undone]:index:_todo_index -u' - 'global' '[use global database]' - 'TODO' '[generate TODO file]' - 'all' '[show all items]' -) - -for arg in ${(k)arg_pair}; { - arg_generic+='(--'$arg')-'${arg_pair[$arg]}${arg_desc[$arg]} - arg_generic+='(-'${arg_pair[$arg]}')--'${arg}${arg_desc[$arg]} -} - -function _todo_index () { - typeset number text i entry last_entry depth last_depth=0 IFS=$'\n' - typeset -a index desc - for i in $*; do - case $i in - -u) todo_opts+=(--filter done) - esac - done - for entry in $(todo $todo_opts -f +children --format display='%1>%i%n:%t\n'); do - number=${entry%%:*} - depth=$(( ${#number} - ${#${number// }} )) - ((depth)) && entry=${(j:.:)${${(s:.:):-a.${last_entry%%:*}}[2,depth+1]}}.$entry - text=${entry#*:} - number=${${entry%%:*}// } - entry=$number:$text - index+=$entry - last_depth=$depth - last_entry=$entry - done - _describe -t items index index -} - -function _todo_color () { - if compset -P '*='; then - _wanted color expl 'color' \ - compadd black red green yellow blue magenta cyan white default - else - _wanted item expl 'item' \ - compadd -S '=' $priorities title info - fi -} - -function _todo_filter { - typeset prefix - if [[ ${#${words[$CURRENT]}} -gt 0 ]] { - prefix=${${words[$CURRENT]}[1]} - _wanted expression expl 'filter expression' \ - compadd -p $prefix -- all children done $priorities - } else { - # XXX the '-' makes problems - _wanted expression expl 'filter expression' \ - compadd -S '' -- - + = all children done $priorities - } -} - -function _todo_format () { - typeset prefix - if [[ -prefix *= ]] { - _message 'format string' - } else { - _wanted expression expl 'format name' \ - compadd -S '=' display generated verbose-display verbose-generated - } -} - -function _todo_priority () { - _wanted priority expl 'priority' \ - compadd default $priorities -} - -function _todo_sort () { - typeset -a keys used_prefixes - typeset key prefix='' - keys=(created completed text priority duration none done) - for key in $keys; { - [[ $key != none ]] && keys+="-$key" - } - - if [[ -prefix *, ]] { - prefix=${words[$CURRENT]%,*}, - used_prefixes=(${(s:,:)prefix}) - for key in $used_prefixes; { - [[ $key == -* ]] && used_prefixes+=$key[2,-1] || used_prefixes+=-$key - } - } - _wanted expression expl 'sort expression' \ - compadd -F used_prefixes -qS , -P "$prefix" $keys -} - -case $service in - tda) - _arguments -s $arg_add - ;; - tde|tdd) - _arguments -s ':index:_todo_index' - ;; - tdr) - zstyle ':completion:*:tdr:*' ignore-line yes - _arguments -s '*:index:_todo_index' - ;; - *todo) - _arguments -s $arg_generic - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_df b/result/sw/share/zsh/5.9/functions/_df deleted file mode 100644 index 21abff10..00000000 --- a/result/sw/share/zsh/5.9/functions/_df +++ /dev/null @@ -1,111 +0,0 @@ -#compdef df gdf - -local curcontext="$curcontext" state state_descr line args spec ret=1 -local -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '--total[produce a grand total]' - '(-T --print-type)'{-T,--print-type}'[print file system type]' - '(-a --all)'{-a,--all}'[include dummy file systems]' - '--direct[show statistics for a file instead of mount point]' - '(-l --local)'{-l,--local}'[limit listing to local file systems]' - '*'{-t+,--type=}'[limit listing to file systems of specified type]:file system type:_file_systems' - '*'{-x+,--exclude-type=}'[exclude file systems of specified type]:file system type:_file_systems' - '(--no-sync)--sync[invoke sync before getting usage info]' - '(--sync)--no-sync[do not invoke sync before getting usage info (default)]' - '--output=-[output all or specified fields]::field:_values -s , "field" - source fstype itotal iused iavail ipcent size used avail pcent file target' - '!-v' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - '*: :_umountable' - - '(format)' - {-B+,--block-size=}'[specify block size]:size (bytes)' - '-k[like --block-size=1K]' - {-P,--portability}'[use the POSIX output format]' - {-h,--human-readable}'[print sizes in human readable format]' - {-H,--si}'[human readable format, but use powers of 1000 not 1024]' - {-i,--inodes}'[list inode information instead of block usage]' - ) -elif [[ "$OSTYPE" == (darwin|dragonfly|freebsd|netbsd*|openbsd)* ]]; then - args=( - '(-b -g -H -h -k -m --si)-h[human-readable output (base 2)]' - '(-b -g -H -h -k -m --si)-k[use 1024-byte blocks]' - '(-G -i -P)-P[POSIX compliant output]' - '(-G -i -P)-i[include inode usage statistics (default)]' - '-l[only display locally-mounted file systems]' - '-n[use previously obtained statistics]' - '*: :_umountable' - ) - spec='[only display file systems of specified types]:file system type:->fslist' - case "$OSTYPE" in - (darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-a[show all mount points]' - '(-b -g -H -h -k -m --si)-g[use 1024^3-byte blocks]' - '(-b -g -H -h -k -m --si)-m[use 1024*1024-byte blocks]' - ) - ;| - (darwin*|dragonfly*|freebsd*) - args+=( - '(-b -g -H -h -k -m --si)-b[use 512-byte blocks (default)]' - '(-b -g -H -h -k -m --si)-H[human-readable output (base 10)]' - ) - ;| - (darwin*|freebsd*) - args+=( - '-c[display a grand total]' - ) - ;| - (darwin*) - args+=( - "-T+$spec" - "!-t+$spec" # obsolete - ) - ;; - (dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - "-t+$spec" - ) - ;| - (dragonfly*|freebsd*) - args+=( - '-T[include file system type]' - ) - ;| - (freebsd*) - args+=( - '--libxo[generate output via libxo]' - '(-b -g -H -h -k -m --si)--si[human-readable output (base 10)]' - '-,[separate thousands]' - ) - ;; - (netbsd*) - args+=( - '(-G -i -P)-G[display all fields in statvfs]' - ) - ;; - esac -else - # POSIX - args=( - '-k[use 1024-byte blocks]' - '-P[POSIX compliant output]' - '-t[include total allocated-space figures in the output]' - '*: :_umountable' - ) -fi - -_arguments -C -s -S : $args && ret=0 - -case "$state" in - (fslist) - [[ ! -prefix *, ]] && ! compset -P 'no' && - _describe -t list-prefixes 'prefix to list' \ - '( no:exclude\ file\ system\ types\ in\ the\ list )' && ret=0 - _sequence -s , _file_systems && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dhclient b/result/sw/share/zsh/5.9/functions/_dhclient deleted file mode 100644 index e22586b0..00000000 --- a/result/sw/share/zsh/5.9/functions/_dhclient +++ /dev/null @@ -1,79 +0,0 @@ -#compdef dhclient dhclient3 - -local args - -case $OSTYPE in - (open|free)bsd*) - args+=( - '-c+[specify configuration file]:file:_files' - ) - ;| - freebsd*) - args+=( - '(-d)-b[immediately move to the background]' - '-l+[specify leases file]:file:_files' - '-p+[specify PID file]:file:_files' - '-u[reject leases with unknown options]' - '-q[quiet]' - ) - ;; - openbsd*) - args+=( - '-i+[ignore values provided by leases for specified options]:options' - "-n[don't configure any interfaces]" - '-r[release the current lease back to the server it came from]' - '-v[verbose log messages]' - ) - ;; - *) # ISC implementation, used on Linux and NetBSD - args=( - '!(-6 -S -T -P -D -N)-4' - '(-4 -s)-6[use the DHCPv6 protocol]' - '-1[only try once to get a lease]' - '(-d)-nw[daemonize immediately rather than wait for IP acquisition]' - "-m[don't require responding ethernet address of dhcp server to match expectation]" - '-v[verbose log messages]' - "-w[don't exit if there are no interfaces found to configure]" - "-n[don't configure any interfaces]" - '-e[specify env vars to pass to child processes]:env var key value pairs' - '-q[quiet]' - '(-x)-r[release the current lease]' - '(-r)-x[stop the running DHCP client without releaseing current lease]' - '-p[specify port to transmit to / listen on]:port:_ports' - '(-6)-s[transmit to specific target instead of broadcast]:server:_hosts' - '-g[force giaddr field]:relay:_hosts' - '-i[use a DUID with DHCPv4 clients]' - '-I[use the standard DDNS scheme]' - '(-)--version[display version number]' - '(-4)-S[use Information-request to get only stateless configuration]' - '(-4)*-T[ask for IPv6 temporary addresses]' - '(-4)-P[enable IPv6 prefix delegation]' - '-D[specify DUID selection method]:DUID:((LL\:link-layer LLT\:link-layer\ plus\ timestamp))' - '(-4)-N[restore normal address query for IPv6]' - '-lf[lease file]:lease file:_files' - '(--no-pid)-pf[pid file]:pid file:_files' - '(-pf)--no-pid[disable writing pid files]' - '-cf[config file]:config file:_files' - '-df[duid file]:duid file:_files' - '-sf[script file]:script file:_files' - '-4o6[DHCPv4 over DHCPv6 protocol]:port' - "-nc[don't drop capabilities]" - '-B[set the BOOTP broadcast flag in request packets]' - '-C[specify dhcp-client-identifier option]:option' - '(-F)-H[specify host-name option]:host name:_hosts' - '(-H)-F[specify fully qualified hostname option]:host name:_hosts' - '-V[specify vendor-class-identifier option]:option' - '--request-options[specify list of options the client is to request from the server]:options' - '--timeout[specify time after which dhclient will decide that no DHCP servers can be contacted]:timeout' - '--dad-wait-time[specify maximum time to wait for duplicate address detection]:time (seconds)' - '--prefix-len-hint[specify length to request when requesting new prefixes]:length' - '--decline-wait-time[specify time an IPv4 client should wait between declining an address and issuing a discover]:time (seconds)' - '--address-prefix-len[specify length of the prefix for IPv6 addresses]:length' - '(-)'{--help,-h}'[display usage information]' - ) - ;; -esac - -_arguments -s -S -A "-*" $args \ - '(-b -nw)-d[remain as a foreground process]' \ - ':interface:_net_interfaces' diff --git a/result/sw/share/zsh/5.9/functions/_dhcpinfo b/result/sw/share/zsh/5.9/functions/_dhcpinfo deleted file mode 100644 index 1dac684a..00000000 --- a/result/sw/share/zsh/5.9/functions/_dhcpinfo +++ /dev/null @@ -1,32 +0,0 @@ -#compdef dhcpinfo - -local -a mnemonics_v4 mnemonics_v6 - -mnemonics_v4=( - Subnet UTCoffst Router Timeserv IEN116ns DNSserv Logserv - Cookie Lprserv Impress Resource Hostname Bootsize Dumpfile - DNSdmain Swapserv Rootpath ExtendP IpFwdF NLrouteF PFilter - MaxIpSiz IpTTL PathTO PathTbl MTU SameMtuF Broadcst - MaskDscF MaskSupF RDiscvyF RSolictS StaticRt TrailerF - ArpTimeO EthEncap TcpTTL TcpKaInt TcpKaGbF NISdmain - NISservs NTPservs NetBNms NetBDsts NetBNdT NetBScop - XFontSrv XDispMgr LeaseTim Message T1Time T2Time NW_dmain - NWIPOpts NIS+dom NIS+serv TFTPsrvN OptBootF MblIPAgt - OptBootF MblIPAgt SMTPserv POP3serv NNTPserv WWWservs - Fingersv IRCservs STservs STDAservs UserClas SLP_DA SLP_SS - AgentOpt FQDN PXEarch BootFile BootPath BootSrvA BootSrvN - EchoVC LeaseNeg -) - -mnemonics_v6=( - ClientID ServerID Preference Unicast UserClass VendorClass - SIPNames SIPAddresses DNSAddresses DNSSearch NISServers - NIS+Servers NISDomain NIS+Domain SNTPServers InfoRefresh - BCMCDomain BCMCAddresses -) - -_arguments -A "-*" \ - '-c[]' \ - '-i[interface]:interface' \ - '-n[maximum number of lines]:limit' \ - ':DHCP parameter:_values "DHCP parameter" $mnemonics_v4' diff --git a/result/sw/share/zsh/5.9/functions/_dict b/result/sw/share/zsh/5.9/functions/_dict deleted file mode 100644 index 928728e0..00000000 --- a/result/sw/share/zsh/5.9/functions/_dict +++ /dev/null @@ -1,44 +0,0 @@ -#compdef dict - -local strategy database state line curcontext="$curcontext" -typeset -A opt_args - -_arguments -C -S \ - '(--host -h)'{--host=,-h+}'[specify hostname of dict server]:dict server:_hosts' \ - '(--port -p)'{--port=,-p+}'[specify port for dict server]:service:_ports' \ - '(--database -d)'{--database=,-d+}'[database]:db name:->database' \ - '(--match -m)'{--match,-m}'[perform matching]' \ - '(--strategy -s)'{--strategy=,-s+}'[specify matching strategy]:strategy:->strategy' \ - '(--nocorrect -C)'{--nocorrect,-C}'[disable spelling correction]' \ - '(--config -c)'{--config=,-c+}'[specify config file]:config file:_files' \ - '(--dbs -D)'{--dbs,-D}'[list available databases]' \ - '(--strats -S)'{--strats,-S}'[list available search strategies]' \ - '(--serverhelp -H)'{--serverhelp,-H}'[query server for help info it provides]' \ - '(--info -i)'{--info=,-i+}'[get info on specified database]:db name:->database' \ - '(--serverinfo -I)'{--serverinfo,-I}'[display info about server]' \ - '(--noauth -a)'{--noauth,-a}'[disable authentication]' \ - '(--user -u)'{--user=,-u+}'[specify username for authentication]:user name:' \ - '(--key -k)'{--key=,-k+}'[specify key for authentication]:shared secret:' \ - '(-)'{--version,-V}'[display program version]' \ - '(-)'{--license,-L}'[display program license]' \ - '(-6)-4[force use of IPv4 addresses only]' \ - '(-4)-6[force use of IPv6 addresses only]' \ - '(-)--help[display usage info]' \ - '(--verbose -v)'{--verbose,-v}'[verbose output]' \ - '(--raw -r)'{--raw,-r}'[be very verbose]' \ - '(--pager -P)'{--pager=,-P+}'[specify pager]:program:_command_names -e' \ - '--pipesize=[specify buffer size for pipelining commands]:buffer size:' \ - '--client=[specify additional text to send to server]:client text' \ - '--debug=[set a debug flag]:debug flag:(verbose raw scan parse pipe serial time)' \ - ':word:_dict_words' && return - -case "$state" in - strategy) - strategy=( ${${${(f)"$(_call_program strategy dict -S 2>/dev/null)"}[2,-1]#?}/ ##/:} ) - _describe -t strategy strategy strategy && return - ;; - database) - database=( ${${${(f)"$(_call_program database dict --dbs 2>/dev/null)"}[2,-1]#?}/ ##/:} ) - _describe -t database database database && return - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dict_words b/result/sw/share/zsh/5.9/functions/_dict_words deleted file mode 100644 index 4928a50f..00000000 --- a/result/sw/share/zsh/5.9/functions/_dict_words +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -local begin end ret=1 -local -a args dict dicts dictwords expl - -if [[ $service = dict ]]; then - args=( ${(kv)opt_args[(I)-([hpdauk]|-(host|port|database|noauth|user|key))]} ) -fi - -if [[ -z $words[CURRENT] ]]; then - _message -e dict 'dictionary word' - return 1 -elif [[ -z $SUFFIX ]]; then - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s prefix $PREFIX 2>/dev/null)"}} ) -elif [[ -z $PREFIX ]]; then - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s suffix $SUFFIX 2>/dev/null)"}} ) -else - dictwords=( ${(z)${(f)"$(_call_program words dict $args -m -s regexp $PREFIX.\*$SUFFIX 2>/dev/null)"}} ) -fi - -dictwords=( ${${dictwords#\"}%\"} ) -dicts=( ${${(M)dictwords:#*:}%:} ) - -if zstyle -t ":completion:${curcontext}:words" separate-sections; then - _tags words.$^dicts - while _tags; do - for dict in $dicts; do - if _requested words.$dict expl "word from $dict"; then - (( begin=${dictwords[(i)$dict:]} + 1 )) - end=${dictwords[(ib.begin.)*:]} - [[ $end = 1 ]] && end=$#dictwords - compadd "$expl[@]" "$@" -M 'm:{a-zA-Z}={A-Za-z} r:|=*' -a - \ - 'dictwords[begin,end]' && ret=0 - fi - done - (( ret )) || break - done - - return 1 -else - _wanted words expl word compadd -M 'm:{a-zA-Z}={A-Za-z} r:|=*' "$@" - \ - ${dictwords:#*:} -fi diff --git a/result/sw/share/zsh/5.9/functions/_diff b/result/sw/share/zsh/5.9/functions/_diff deleted file mode 100644 index d242b388..00000000 --- a/result/sw/share/zsh/5.9/functions/_diff +++ /dev/null @@ -1,3 +0,0 @@ -#compdef diff gdiff - -_diff_options "$words[1]" ':original file:_files' ':new file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_diff3 b/result/sw/share/zsh/5.9/functions/_diff3 deleted file mode 100644 index 8c59d701..00000000 --- a/result/sw/share/zsh/5.9/functions/_diff3 +++ /dev/null @@ -1,46 +0,0 @@ -#compdef diff3 - -local -a args ed -local ign - -if _pick_variant gnu=GNU unix --version; then - ed=( - '(-m --merge -A --show-all)'{-e,--ed}'[output ed script for incorporating changes]' - '(-m --merge -A --show-all)'{-E,--show-overlap}'[like -e, but bracket conflicts]' - '(-m --merge -A --show-all)'{-3,--easy-only}'[like -e, but incorporate only nonoverlapping changes]' - '(-m --merge -A --show-all)'{-x,--overlap-only}'[like -e, but incorporate only overlapping changes]' - '(-m --merge -A --show-all)-X[like -x, but bracket conflicts]' - ) - (( $#words > 2 )) && ign='!' - args=( - '(-A --show-all ed)'{-A,--show-all}'[output all changes, bracketing conflicts]' - "(-m --merge)-i[append 'w' and 'q' commands to ed scripts]" - '(-m --merge -i ed)'{-m,--merge}'[output merged file instead of ed script]' - '(-a --text)'{-a,--text}'[treat all files as text]' - '--strip-trailing-cr[strip trailing carriage return on input]' - '(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up by prepending a tab]' - '--diff-program=[specify program to compare files]: : _command_names -e' - \*{-L+,--label=}'[use specified label instead of file name]:label' - "$ign(- :)--help[display usage information]" - "$ign(- :)"{-v,--version}'[display version information]' - ) -else - args=( -A "-*" ) - ed=( - '-e[output ed script for incorporating changes]' - '-E[like -e, but bracket conflicts]' - '-x[like -e, but incorporate only overlapping changes]' - '-X[like -x, but bracket conflicts]' - '-3[like -e, but incorporate only nonoverlapping changes]' - ) - if [[ $OSTYPE != solaris* ]]; then # likely the openbsd diff3 implementation - args+=( '-a[treat all files as text]' ) - fi -fi - -_arguments -s -S $args \ - '1: : _wanted files expl "first updated file (${${(As.:.)opt_args[-L]}[1]:-mine})" _files' \ - '2: : _wanted files expl "original file (${${(As.:.)opt_args[-L]}[2]:-old})" _files' \ - '3: : _wanted files expl "second updated file (${${(As.:.)opt_args[-L]}[3]:-their})" _files' \ - + '(ed)' $ed - diff --git a/result/sw/share/zsh/5.9/functions/_diff_options b/result/sw/share/zsh/5.9/functions/_diff_options deleted file mode 100644 index dfa9889f..00000000 --- a/result/sw/share/zsh/5.9/functions/_diff_options +++ /dev/null @@ -1,188 +0,0 @@ -#autoload - -local of ofwuc ouc oss ofwy ofwg ofwl cmd variant -local -a args - -cmd="$1" -shift - -_diff_palette() { - local context state line ret=1 - local -a suf - _values -s : attribute \ - "ad[added text]:attribute [32]:->attrs" \ - "de[deleted text]:attribute [31]:->attrs" \ - "hd[header]:attribute [1]:->attrs" \ - "ln[line numbers]:attribute [36]:->attrs" \ - "rs[rest - other text]:attribute [0]:->attrs" && ret=0 - if [[ -n $state ]]; then - compset -P '*;' - compset -S '[;=]*' || suf=( -S: -r ": ;\\\t\n\=" ) - _alternative -C context -O suf \ - 'attributes:attributes:((0:reset 1:bold 3:italics 4:underline 5:blink))' \ - 'colors:color:((30:default 31:red 32:green 33:yellow 34:blue 35:magenta 36:cyan 37:white))' && ret=0 - fi - return ret -} - -if _pick_variant -r variant -c $cmd gnu=GNU unix -v || [[ $OSTYPE = freebsd<12->.* ]]; then - # output formats - of="-y --side-by-side -n --rcs -e -f --ed -q --brief -c -C --context -u -U \ - --unified --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format --new-line-format \ - --unchanged-line-format -D --ifdef" - - # output formats w/o unified and context - ofwuc="-y --side-by-side -n --rcs -e -f --ed -q --brief --old-group-format \ - --new-group-format --changed-group-format --unchanged-group-format \ - --line-format --old-line-format --new-line-format --unchanged-line-format \ - -D --ifdef" - - # option specific to unified or context diff - ouc='-L --label -p --show-c-function -F --show-function-line' - - # option specific to side by side - oss='-W --width --left-column --suppress-common-lines' - - # output formats w/o side by side - ofwy="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format --line-format --old-line-format \ - --new-line-format --unchanged-line-format -D --ifdef" - - # output formats w/o group format - ofwg="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --line-format --old-line-format --new-line-format --unchanged-line-format - -D --ifdef" - - # output formats w/o line format - ofwl="-n --rcs -e -f --ed -q --brief -c -C --context -u -U --unified \ - --old-group-format --new-group-format --changed-group-format \ - --unchanged-group-format" - - if [[ $variant = gnu ]]; then - (( $#words > 2 )) || args+=( - '(-v --version)'{-v,--version}'[display version information]' - '--help[display usage information]' - ) - args+=( - '(-H --speed-large-files)'{-H,--speed-large-files}'[assume large files and many small changes]' - '(-E --ignore-tab-expansion)'{-E,--ignore-tab-expansion}'[ignore changes due to tab expansion]' - '(-Z --ignore-trailing-space)'{-Z,--ignore-trailing-space}'[ignore white space at line end]' - "($ofwuc $oss -F --show-function-line)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' - "($ofwy $ouc)--left-column[output only left column of common lines]" - "($ofwg $ouc $oss)--old-group-format=[set old group format]:old group format" - "($ofwg $ouc $oss)--new-group-format=[set new group format]:new group format" - "($ofwl $ouc $oss)--unchanged-line-format=[set unchanged line format]:unchanged line format" - '(--to-file)--from-file=[compare specified file to all operands]:from file:_files' \ - '(--from-file)--to-file=[compare all operands to specified file]:to file:_files' \ - '--color=-[use colors in output]::when [auto]:(never always auto)' - '--palette=[specify colors to use]:color:_diff_palette' - ) - else - args+=( '!--speed-large-files' ) - fi - - _arguments -s $args \ - '(-i --ignore-case)'{-i,--ignore-case}'[case insensitive]' \ - '--ignore-file-name-case[ignore case when comparing file names]' \ - '!(--ignore-file-name-case)--no-ignore-file-name-case' \ - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \ - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all white space]' \ - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore lines that are all blank]' \ - '(-I --ignore-matching-lines)'{-I+,--ignore-matching-lines=}'[ignore lines that match regex]:line exclusion regex:' \ - '--strip-trailing-cr[strip trailing carriage return on input]' \ - '(-a --text)'{-a,--text}'[treat all files as text]' \ - "($of $oss)"{-C+,--context=-}'[output a context diff]:number of lines of copied context' \ - "($of $oss)-c[output a context diff]" \ - "($of $oss)"{-U+,--unified=-}'[output a unified diff]:number of lines of unified context' \ - "($of $oss)-u[output a unified diff]" \ - "($ofwuc $oss)*"{-L+,--label=}'[set label to use instead of file name and timestamp]:label' \ - "($ofwuc $oss -p --show-c-function)"{-p,--show-c-function}'[show C function of each change]' \ - "($of $ouc $oss)"{-q,--brief}'[output only whether files differ]' \ - "($of $ouc $oss -e --ed)"{--ed,-e}'[output an ed script]' \ - "!($of $ouc $oss)--normal" \ - "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \ - "($of $ouc $oss)"{-n,--rcs}'[output an RCS format diff]' \ - "($of $oss)"{-D+,--ifdef=}'[output merged file with preprocessor directives]:preprocessor symbol' \ - "($ofwg $ouc $oss)--changed-group-format=[set changed group format]:changed group format" \ - "($ofwg $ouc $oss)--unchanged-group-format=[set unchanged group format]:unchanged group format" \ - "($ofwl $ouc $oss)--line-format=[set line format]:line format" \ - "($ofwl $ouc $oss)--old-line-format=[set old line format]:old line format" \ - "($ofwl $ouc $oss)--new-line-format=[set new line format]:new line format" \ - '(-l --paginate)'{-l,--paginate}'[long output format (paginate with pr(1))]' \ - '(-t --expand-tabs)'{-t,--expand-tabs}'[expand tabs to spaces]' \ - '(-T --initial-tab)'{-T,--initial-tab}'[prepend a tab]' \ - '--tabsize=[specify width of tab]:width [8]' \ - '(-r --recursive)'{-r,--recursive}'[recursively compare subdirectories]' \ - "--no-dereference[don't follow symbolic links]" \ - '(-N --new-file)'{-N,--new-file}'[treat absent files as empty]' \ - '(-P --unidirectional-new-file)'{-P,--unidirectional-new-file}'[treat absent first files as empty]' \ - '(-s --report-identical-files)'{-s,--report-identical-files}'[report when two files are the same]' \ - \*{-x+,--exclude=}'[exclude files matching pattern]:exclusion pattern' \ - \*{-X+,--exclude-from=}'[exclude files matching pattern in file]:exclude file:_files' \ - '(-S --starting-file)'{-S+,--starting-file=}'[set first file in comparison]:start with file:_files' \ - '--horizon-lines=[set number of lines to keep in prefix and suffix]:number of horizon lines' \ - '(-d --minimal)'{-d,--minimal}'[try to find a smaller set of changes]' \ - "($of $ouc)"{-y,--side-by-side}'[output in two columns]' \ - "($ofwy $ouc)--suppress-common-lines[don't output common lines]" \ - "($ofwy $ouc --width -W)"{--width=,-W+}'[set size of line]:number of characters per line' \ - "$@" -else - of='-c -e -f' - case $OSTYPE in - openbsd*|solaris2.<9->) - of+=' -u -U' - args+=( - "($of)-u[output a unified diff]" - "($of)-U+[output a unified diff]:lines of context" - ) - ;| - openbsd*|solaris*) - args+=( - "($of)-C+[output a context diff]:lines of context" - "($of)-D+[output merged file with preprocessor directives]:preprocessor symbol" - '-i[case insensitive]' - '-l[long output format (paginate with pr(1))]' - '-s[report on identical files]' - '-t[expand tabs in output lines]' - ) - ;| - solaris*) - of+=' -h -n' - args+=( - '-w[ignore all white space]' - "($of)-h[do a fast, half-hearted job]" - "($of)-n[output a reversed ed script]" - '-S+[set first file in comparison]:start with file:_files' - ) - ;; - openbsd*) - of+=' -n -q -u -C -D -U' - args=( - "($of)-n[output an rcsdiff(1)-compatible diff]" - "($of)-q[only print a line when the files differ; does not produce a list of changes]" - '-a[treat all files as ASCII text]' - '-d[try to produce the smallest diff possible]' - '-I[ignore changes whose lines match the extended regular expression]:extended regular expression pattern' - '*-L[print a label instead of the file name and time]:label' - '-p[show characters from the last line before the context]' - '-T[consistently align tabs]' - '-w[like -b, but totally ignore whitespace]' - '-N[treat absent files in either directory as if they were empty]' - '-P[treat absent files in the second directory as if they were empty]' - '-S[start a directory diff from a file name]:file name:_files' - '*-X[exclude files and subdirectories whose basenames match lines in a file]:file name:_files' - '-x[exclude files and subdirectories whose basenames match a pattern]:pattern' - ) - ;; - esac - - _arguments -s "$args[@]" \ - "($of)-c[output a context diff]" \ - "($of)-e[output an ed script]" \ - "($of)-f[output a reversed ed script]" \ - '-b[skip trailing white spaces]' \ - '-r[recursively compare subdirectories]' \ - "$@" -fi diff --git a/result/sw/share/zsh/5.9/functions/_diffstat b/result/sw/share/zsh/5.9/functions/_diffstat deleted file mode 100644 index 9e7bf779..00000000 --- a/result/sw/share/zsh/5.9/functions/_diffstat +++ /dev/null @@ -1,32 +0,0 @@ -#compdef diffstat - -_arguments -s -S \ - '-b[ignore lines indicating binary file differences]' \ - '-c[prefix each line with hash mark]' \ - '-C[use color highlighting of histogram]' \ - '-d[print debug information]' \ - '-D+[specify location of patched files for unchanged count]:location:_directories' \ - '-e+[redirect standard error to specified file]:error file:_files' \ - '-E[trim escape sequences, e.g. from colordiff]' \ - '-f+[specify histogram format]:format:((0\:concise 1\:normal 2\:dots 3\:dots+normal 4\:value 5\:value+normal 6\:value+dots 7\:value+dots+normal))' \ - '(- *)-h[display help information]' \ - '-k[suppress merging of filenames in report]' \ - '-K[resolve ambiguity of "only" filenames]' \ - '-l[list only the filenames]' \ - '-m[merge insert/delete data in chunks as modified-lines]' \ - '-n+[specify minimum width for filenames]:width [auto]' \ - '-N+[specify maximum width for filenames]:width [auto]' \ - '-o+[redirect standard output to specified file]:output file:_files' \ - '-p+[specify number of path separators to strip]:path components [common]' \ - '-q[suppress "0 files changed" message for empty diffs]' \ - '-r+[specify rounding for histogram]:rounding:((0\:none 1\:simple 2\:simple+adjustment))' \ - '(-t)-s[show only the summary line]' \ - '-S+[specify location of original files for unchanged count]:location:_directories' \ - '-R[assume patch was created with old and new files swapped]' \ - '(-T -s)-t[overrides histogram, generates csv output]' \ - '(-t)-T[print amounts (like -t) in addition to histogram]' \ - '-u[suppress sorting of filenames in report]' \ - '-v[show progress]' \ - '(- *)-V[print version number]' \ - '-w+[specify maximumn width of output]:maximum width [80]' \ - '*:patch file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_dig b/result/sw/share/zsh/5.9/functions/_dig deleted file mode 100644 index 3081e2cf..00000000 --- a/result/sw/share/zsh/5.9/functions/_dig +++ /dev/null @@ -1,103 +0,0 @@ -#compdef dig - -local curcontext="$curcontext" state line expl -local -a alts args -[[ -prefix + ]] && args=( - '*+'{no,}'tcp[use TCP instead of UDP for queries]' - '*+'{no,}'ignore[ignore truncation in UDP responses]' - '*+domain=[set search list to single domain]:domain:_hosts' - '*+dscp=[set DSCP code point for query]:code point (0..63)' - '*+'{no,}'search[use search list defined in resolv.conf]' - '*+'{no,}'showsearch[show intermediate results in domain search]' - '*+split[split hex/base64 fields into chunks]:width (characters) [56]' - '*+'{no,}'aaonly[set aa flag in the query]' - '*+'{no,}'additional[print additional section of a reply]' - '*+'{no,}'adflag[set the AD (authentic data) bit in the query]' - '*+'{no,}'badcookie[retry BADCOOKIE responses]' - '*+'{no,}'cdflag[set the CD (checking disabled) bit in the query]' - '*+'{no,}'class[display the CLASS whening printing the record]' - '*+'{no,}'cookie[add a COOKIE option to the request]' - '*+'{no,}'crypto[display cryptographic fields in DNSSEC records]' - '*+edns=[specify EDNS version for query]:version (0-255)' - '*+noedns[clear EDNS version to be sent]' - '*+ednsflags=[set EDNS flags bits]:flags' - '*+'{no,}'ednsnegotiation[set EDNS version negotiation]' - '*+ednsopt=[specify EDNS option]:code point' - '*+noedns[clear EDNS options to be sent]' - '*+'{no,}'expandaaaa[expand AAAA records]' - '*+'{no,}'expire[send an EDNS Expire option]' - '*+'{no,}'header-only[send query without a question section]' - '*+'{no,}'idnin[set processing of IDN domain names on input]' - '*+'{no,}'idnout[set conversion of IDN puny code on output]' - '*+'{no,}'keepalive[request EDNS TCP keepalive]' - '*+'{no,}'keepopen[keep TCP socket open between queries]' - '*+'{no,}'mapped[allow mapped IPv4 over IPv6 to be used]' - '*+'{no,}'recurse[set the RD (recursion desired) bit in the query]' - '*+'{no,}'nssearch[search all authoritative nameservers]' - '*+opcode[set DNS message opcode of the request]:opcode [QUERY]:(QUERY IQUERY STATUS NOTIFY UPDATE)' - '*+noopcode[clear DNS message opcode]' - '*+'{no,}'trace[trace delegation down from root]' - '*+'{no,}'cmd[print initial comment in output]' - '*+'{no,}'short[print terse output]' - '*+'{no,}'identify[print IP and port of responder]' - '*+'{no,}'comments[print comment lines in output]' - '*+'{no,}'stats[print statistics]' - '*+padding[set padding block size]:size [0]' - '*+'{no,}'qr[print query as it was sent]' - '*+'{no,}'question[print question section of a query]' - '*+'{no,}'raflag[set RA flag in the query]' - '*+'{no,}'answer[print answer section of a reply]' - '*+'{no,}'authority[print authority section of a reply]' - '*+'{no,}'all[set all print/display flags]' - '*+'{no,}'subnet[send EDNS client subnet option]:addr/prefix-length' - '*+'{no,}'tcflag[set TC flag in the query]' - '*+timeout=[set query timeout]:timeout (seconds) [5]' - '*+tries=[specify number of UDP query attempts]:tries' - '*+retry=[specify number of UDP query retries]:retries' - '*+'{no,}'rrcomments[set display of per-record comments]' - '*+ndots=[specify number of dots to be considered absolute]:dots' - '*+bufsize=[specify UDP buffer size]:size (bytes)' - '*+'{no,}'multiline[verbose multi-line output]' - '*+'{no,}'onesoa[AXFR prints only one soa record]' - '*+'{no,}"fail[don't try next server on SERVFAIL]" - '*+'{no,}'besteffort[try to parse even malformed messages]' - '*+'{no,}'dnssec[request DNSSEC records]' - '*+'{no,}'nsid[include EDNS name server ID request in query]' - '*+'{no,}'ttlid[display the TTL whening printing the record]' - '*+'{no,}'ttlunits[display the TTL in human-readable units]' - '*+'{no,}'unexpected[print replies from unexpected sources]' - '*+'{no,}'unknownformat[print RDATA in RFC 3597 "unknown" format]' - '*+'{no,}'yaml[present the results as YAML]' - '*+'{no,}'zflag[set Z flag in query]' -) -_arguments -s -C $args \ - '(- *)-h[display help information]' \ - '(- *)-v[display version information]' \ - '*-c+[specify class]:class:compadd -M "m\:{a-z}={A-Z}" - IN CS CH HS' \ - '*-b+[specify source IP]:IP' \ - '*-f+[batch mode, read arguments from file]:file:_files' \ - '*-m[enable memory usage debugging]' \ - '*-p+[specify port number]:port:_ports' \ - '*-4[use IPv4 only]' \ - '*-6[use IPv6 only]' \ - '*-t+[specify type]:type:_dns_types' \ - '*-q+[specify host name to query]:host:_hosts' \ - "-r[don't read ~/.digrc]" \ - '*-x+[reverse lookup]:IP address' \ - '*-k+[specify TSIG key file]:file:_files' \ - '*-y+[specify TSIG key]:hmac\:name\:key' \ - '*: :->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P @; then - _wanted hosts expl 'DNS server' _hosts && ret=0; - else - case $#line in - <3->) alts+=( 'classes:query class:compadd -M "m:{a-z}={A-Z}" - IN CS CH HS' ) ;& - 2) alts+=( 'types:query type:_dns_types' ) ;; - esac - _alternative 'hosts:host:_hosts' $alts && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dir_list b/result/sw/share/zsh/5.9/functions/_dir_list deleted file mode 100644 index 536d424e..00000000 --- a/result/sw/share/zsh/5.9/functions/_dir_list +++ /dev/null @@ -1,29 +0,0 @@ -#compdef -value-,TERMINFO_DIRS,-default- -P -value-,*PATH,-default- - -# options: -# -s <sep> to specify the separator (default is a colon) -# -S to say that the separator should be added as a suffix (instead -# of the default slash) -# any description passed should apply to an individual directory and not -# to the entire list - -local sep=: dosuf suf - -while [[ "$1" = -(s*|S) ]]; do - case "$1" in - -s) sep="$2"; shift 2;; - -s*) sep="${1[3,-1]}"; shift;; - -S) dosuf=yes; shift;; - esac -done - -compset -P "*${sep}" -compset -S "${sep}*" || suf="$sep" - -if [[ -n "$dosuf" ]]; then - suf=(-S "$suf") -else - suf=() -fi - -_directories "$suf[@]" -r "${sep}"' /\t\t\-' "$@" diff --git a/result/sw/share/zsh/5.9/functions/_directories b/result/sw/share/zsh/5.9/functions/_directories deleted file mode 100644 index dc92e6c3..00000000 --- a/result/sw/share/zsh/5.9/functions/_directories +++ /dev/null @@ -1,5 +0,0 @@ -#compdef dircmp -P -value-,*path,-default- - -local expl - -_wanted directories expl directory _files -/ "$@" - diff --git a/result/sw/share/zsh/5.9/functions/_directory_stack b/result/sw/share/zsh/5.9/functions/_directory_stack deleted file mode 100644 index e84115a6..00000000 --- a/result/sw/share/zsh/5.9/functions/_directory_stack +++ /dev/null @@ -1,45 +0,0 @@ -#compdef popd - -# This just completes the numbers after +, showing the full directory list -# with numbers. For - we do the same thing, but reverse the numbering (other -# way round if pushdminus is set). Note that this function is also called -# from _cd for cd and pushd. - -setopt localoptions nonomatch - -local expl list lines revlines disp sep - -### we decided against this, for now... -#! zstyle -T ":completion:${curcontext}:directory-stack" prefix-needed || - -[[ $PREFIX = [-+]* ]] || return 1 - -zstyle -s ":completion:${curcontext}:directory-stack" list-separator sep || sep=-- - -if zstyle -T ":completion:${curcontext}:directory-stack" verbose; then - # get the list of directories with their canonical number - # and turn the lines into an array, removing the current directory - lines=("${(D)dirstack[@]}") - - if [[ ( $PREFIX[1] = - && ! -o pushdminus ) || - ( $PREFIX[1] = + && -o pushdminus ) ]]; then - integer i - revlines=( $lines ) - for (( i = 1; i <= $#lines; i++ )); do - lines[$i]="$((i-1)) $sep ${revlines[-$i]##[0-9]#[ ]#}" - done - else - for (( i = 1; i <= $#lines; i++ )); do - lines[$i]="$i $sep ${lines[$i]##[0-9]#[ ]#}" - done - fi - # get the array of numbers only - list=( ${PREFIX[1]}${^lines%% *} ) - disp=( -ld lines ) -else - list=( ${PREFIX[1]}{0..${#dirstack}} ) - disp=() -fi - -_wanted -V directory-stack expl 'directory stack' \ - compadd "$@" "$disp[@]" -Q -a list diff --git a/result/sw/share/zsh/5.9/functions/_dirs b/result/sw/share/zsh/5.9/functions/_dirs deleted file mode 100644 index 0281f373..00000000 --- a/result/sw/share/zsh/5.9/functions/_dirs +++ /dev/null @@ -1,8 +0,0 @@ -#compdef dirs - -_arguments -s \ - '(-)-c[clear the directory stack]' \ - '(* -c)-l[display directory names in full]' \ - '(* -c)-v[display numbered list of directory stack]' \ - '(* -c)-p[display directory entries one per line]' \ - '(-)*:directory:_directories' diff --git a/result/sw/share/zsh/5.9/functions/_disable b/result/sw/share/zsh/5.9/functions/_disable deleted file mode 100644 index da380303..00000000 --- a/result/sw/share/zsh/5.9/functions/_disable +++ /dev/null @@ -1,16 +0,0 @@ -#compdef disable - -local -a ali_arr sali_arr func_arr - -ali_arr=(${(k)aliases} ${(k)galiases}) -sali_arr=(${(k)saliases}) -func_arr=(${(k)functions}) - -_arguments -C -s -A "-*" -S \ - "(-f -r -s -p)-a[act on regular or global aliases]:*:regular or global alias:compadd -k ali_arr" \ - "(-a -r -s -p)-f[act on functions]:*:function:compadd -k func_arr" \ - "(-a -f -s -p)-r[act on reserved words]:*:reserved-word:compadd -k reswords" \ - "(-a -f -r -p)-s[act on suffix aliases]:*:suffix alias:compadd -k sali_arr" \ - "(-a -f -r -s)-p[act on pattern characters]:*:pattern character:compadd -k patchars" \ - '-m[treat arguments as patterns]' \ - "*:builtin command:(${(k)builtins})" diff --git a/result/sw/share/zsh/5.9/functions/_dispatch b/result/sw/share/zsh/5.9/functions/_dispatch deleted file mode 100644 index 3f6fe5b9..00000000 --- a/result/sw/share/zsh/5.9/functions/_dispatch +++ /dev/null @@ -1,91 +0,0 @@ -#autoload - -local comp pat val name i ret=1 _compskip="$_compskip" -local curcontext="$curcontext" service str noskip -local -a match mbegin mend - -# If we get the option `-s', we don't reset `_compskip'. - -if [[ "$1" = -s ]]; then - noskip=yes - shift -fi - -[[ -z "$noskip" ]] && _compskip= - -curcontext="${curcontext%:*:*}:${1}:" - -shift - -# See if there are any matching pattern completions. - -if [[ "$_compskip" != (all|*patterns*) ]]; then - - for str in "$@"; do - [[ -n "$str" ]] || continue - service="${_services[$str]:-$str}" - for i in "${(@)_patcomps[(K)$str]}"; do - if [[ $i = (#b)"="([^=]#)"="(*) ]]; then - service=$match[1] - i=$match[2] - fi - eval "$i" && ret=0 - if [[ "$_compskip" = *patterns* ]]; then - break - elif [[ "$_compskip" = all ]]; then - _compskip='' - return ret - fi - done - done -fi - -# Now look up the names in the normal completion array. - -ret=1 -for str in "$@"; do - [[ -n "$str" ]] || continue - # The following means we look up the names of commands - # after stripping quotes. This is presumably correct, - # but do we need to do the same elsewhere? - str=${(Q)str} - name="$str" - comp="${_comps[$str]}" - service="${_services[$str]:-$str}" - - [[ -z "$comp" ]] || break -done - -# And generate the matches, probably using default completion. - -if [[ -n "$comp" && "$name" != "${argv[-1]}" ]]; then - _compskip=patterns - eval "$comp" && ret=0 - [[ "$_compskip" = (all|*patterns*) ]] && return ret -fi - -if [[ "$_compskip" != (all|*patterns*) ]]; then - for str; do - [[ -n "$str" ]] || continue - service="${_services[$str]:-$str}" - for i in "${(@)_postpatcomps[(K)$str]}"; do - _compskip=default - eval "$i" && ret=0 - if [[ "$_compskip" = *patterns* ]]; then - break - elif [[ "$_compskip" = all ]]; then - _compskip='' - return ret - fi - done - done -fi - -[[ "$name" = "${argv[-1]}" && -n "$comp" && - "$_compskip" != (all|*default*) ]] && - service="${_services[$name]:-$name}" && - eval "$comp" && ret=0 - -_compskip='' - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_django b/result/sw/share/zsh/5.9/functions/_django deleted file mode 100644 index 1d5cf731..00000000 --- a/result/sw/share/zsh/5.9/functions/_django +++ /dev/null @@ -1,210 +0,0 @@ -#compdef django-admin.py django-admin manage.py - -local curcontext="$curcontext" state line expl ret=1 - -if [[ "$service" = "manage.py" && ! -x ./manage.py ]]; then - _default - return -fi - -declare -ga common_args -common_args=( - '--help[display help information]' - '--version[display version information]' - '--pythonpath=[directory to add to the Python path]:directory:_directories -W / -P /' - '--settings=[python path to settings module]:settings' - '--traceback[print traceback on exception]' -) - -typeset -A opt_args -_arguments -C \ - $common_args \ - ':subcommand:->subcommand' \ - '*::options:->options' && ret=0 - -case $state in - subcommand) - subcommands=( - "cleanup:remove old data from the database" - "compilemessages:compile .po files to .mo for use with gettext" - "createcachetable:creates table for SQL cache backend" - "createsuperuser:create a superuser" - "dbshell:run command-line client for the current database" - "diffsettings:display differences between the current settings and Django defaults" - "dumpdata:output contents of database as a fixture" - "flush:execute 'sqlflush' on the current database" - "inspectdb:output Django model module for tables in database" - "loaddata:install the named fixture(s) in the database" - "makemessages:pull out all strings marked for translation" - "reset:executes 'sqlreset' for the given app(s)" - "runfcgi:run this project as a fastcgi" - "runserver:start a lightweight web server for development" - "shell:run a Python interactive interpreter. Tries to use IPython, if it's available" - "sql:print the CREATE TABLE statements for the given app(s)" - "sqlall:print the CREATE TABLE, CREATE INDEX and custom statements for the given app(s)" - "sqlclear:print the DROP TABLE statements for the given app(s)" - "sqlcustom:print the custom table-modifying SQL statements for the given app(s)" - "sqlflush:print the SQL statements required to return all tables to installation state" - "sqlindexes:print the CREATE INDEX statements for the given app(s)" - "sqlreset:print the DROP TABLE and CREATE TABLE statements for the given app(s)" - "sqlsequencereset:print the SQL statements for resetting sequences for the given app(s)" - "startapp:create Django app directory in this project's directory" - "startproject:create a Django project directory structure for a given project name" - "syncdb:create database tables for apps in INSTALLED_APPS where required" - "test:run the test suite for the specified app, or the entire site" - "testserver:run a development server with data from the given fixture(s)" - "validate:validate all installed modules" - ) - - for cmd in $(./manage.py --help 2>&1 >/dev/null | \ - awk -v drop=1 '{ if (!drop) print substr($0, 3) } /^Available subcommands/ { drop=0 }') - do - if ! echo $subcommands | grep -qs "${cmd}:" - then - subcommands+=($cmd) - fi - done - - _describe -t subcommands 'django admin subcommand' subcommands && ret=0 - ;; - - options) - declare -a args - args=( - $common_args - ) - - declare -a verbosity - verbosity=( - '--verbosity=:verbosity:(0 1 2):[verbosity level; 0=minimal, 1=normal, 2=all]' - ) - - declare -a locale - locale=( - {-l,--locale=}'[locale to process (default: all)]:locale' - ) - - declare -a noinput - noinput=( - '--noinput[do not prompt for any input]' - ) - - port_opts={,0.0.0.0\\:,127.0.0.1\\:}800{0,1} - - _appname () { - local settings="" - if [ -e settings.py ]; then - settings="settings.py" - elif [ -n "${DJANGO_SETTINGS_MODULE}" ]; then - settings="${DJANGO_SETTINGS_MODULE}" - else - return 0 - fi - - _wanted appname expl appname compadd - $(command \ - sed -n "/INSTALLED_APPS\s*=\s*(/,/)/p" ${settings} | \ - sed -n "s/^\s*'\(.*\.\)*\(.*\)'.*$/\2 /pg") - } - - case $words[1] in - compilemessages) - args+=$locale - ;; - - createcachetable) - args+=':tablename:' - ;; - - createsuperuser) - args+=( - $noinput - '--username[username for the superuser]:username' - '--email[email address for the superuser]:email' - ) - ;; - - dumpdata) - args+=( - '--format=:format:(xml python json yaml):[serialization format for the fixtures]' - '--indent=[indent level to use when pretty-printing]:indent' - {-e,--exclude=}'[app to exclude]:exclude:_appname' - ) - ;; - - flush) - args+=$verbosity - ;; - - loaddata) - args+=( - $verbosity - '*:fixture:' - ) - ;; - - makemessages) - args+=( - $locale - $verbosity - {-d,--domain=}'[domain of the message files]:domain [django]:(django djangojs)' - {-a,--all}'[re-examine all code and templates]' - {-e,--extensions=}'[file extension(s) to examine]:extension [html]' - ) - ;; - - runserver|runserver_plus) - args+=( - '--noreload[do not use auto-reloader]' - '--adminmedia=[directory from which to serve admin media]:directory:_directories' - ':port:('$port_opts')' - ) - ;; - - shell) - args+='--plain[use plain Python, not IPython]' - ;; - - reset|sql*) - args+='*:appname:_appname' - ;; - - startapp) - args+=':new_appname:' - ;; - - syncdb) - args+=( - $verbosity - $noinput - ) - ;; - - "test") - args+=( - $verbosity - $noinput - '*:appname:_appname' - ) - ;; - - testserver) - args+=( - $verbosity - '--addrport=:addrport:('$port_opts'):[port number or ipaddr:port to run server on]' - '*:fixture:' - ) - ;; - - validate|runfcgi) - ;; - - *) - _files - ;; - esac - - _arguments -C $args && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dkms b/result/sw/share/zsh/5.9/functions/_dkms deleted file mode 100644 index 2a3c016c..00000000 --- a/result/sw/share/zsh/5.9/functions/_dkms +++ /dev/null @@ -1,165 +0,0 @@ -#compdef dkms - -local curcontext="$curcontext" ign cmds opts ret=1 -local -a state line expl args subcmds dirs -local -A opt_args - -subcmds=( - 'add:add a module/version combination to the tree for builds and installs' - 'remove:remove a module from the tree' - 'build:compile a module for a kernel' - 'unbuild:undoes the build of a module' - "install:install a build module for it's corresponding kernel" - 'uninstall:uninstall a module for a kernel' - 'match:install every module that is installed for a template kernel for another kernel' - 'mkdriverdisk:create a floppy driver disk image for use when updated drivers are needed to install an OS' - 'mktarball:tar up files in the DKMS tree for a specific module' - 'ldtarball:extract a tarball created with mktarball into the DKMS tree' - 'mkrpm:create an RPM package for a module' - 'mkdeb:create a debian binary package for a module' - 'mkdsc:create a debian source package for a module' - 'mkbmdeb:create a debian package containing just binary modules' - 'mkkmp:create a Kernel Module Package source RPM for a module' - 'status:display the current status of modules, versions and kernels within the tree' - 'autoinstall:try to install the latest revision of all modules that have been installed for other kernel revisions' -) - -args=( - '(1)-m[specify module]:module:->modules' - '(1)-v[specify module version]:version' - '(-q --quiet)'{-q,--quiet}'[suppress output]' - '(--all)*'{-a,--arch}'[specify system architecture]:architecture:->architectures' - '*--directive=:directive' - '--dkmstree=:path:_directories' - '--installtree=:path:_directories' - '--sourcetree=:path:_directories' - '--dkmsframework=:path:_directories' - '--force-version-override' - '1: : _describe -t commands command subcmds' -) - -cmd=${${${subcmds%%:*}:*words}[1]} -if [[ -n $cmd ]]; then - curcontext="${curcontext%:*}-$cmd:" -else - # exclude sub-commands based on any options specified so far - for cmds opts in \ - '(remove|build|install|uninstall|match|status|mk(^kmp))' 'k' \ - '(add|remove)' '-rpm_safe_upgrade' \ - 'mk(driverdisk|kmp)' '-spec' \ - 'mk(deb|dsc|bmdeb|rpm)' '-legacy-postinst' \ - 'mk(tarball|rpm|deb|dsc)' '-(source|binary)-only' \ - '(match|build|mkkmp)' '(k|-no-(prepare|clean)-kernel|-kernelsourcedir)' \ - '(|un)install' '-no-(depmod|initrd)' \ - 'mkdriverdisk' '([dr]|-distro|-release|-size|-media)' \ - '(add|build|install|ldtarball)' '-force' \ - 'match' '-templatekernel' \ - '*tarball' '-archive' \ - '(match|build|mkkmp)' '(j*|-no-(prepare|clean)-kernel|-kernelsourcedir)' \ - '(remove|build|install|status|mk(^kmp))' '-all' \ - 'build' '-config' - do - [[ -n ${(M)words:#-${~opts}*} ]] && - subcmds=( ${(M)subcmds:#${~cmds}:*} ) - done - args+=( '(1 -)'{-V,--version}'[display version information]' ) - ign='!' # hide some uncommon options but handle their arguments -fi - -case $cmd in - remove|build|install|uninstall|mk*|status) - args+=( ': :->modules' ) - ;| - |remove|(un|)build|install|uninstall|match|status|mk(^kmp)) - args+=( '(--all)*-k[specify kernel version]:kernel:->kernels' ) - ;| - |add|remove) args+=( "${ign}--rpm_safe_upgrade" ) ;| - |mk(driverdisk|kmp)) - args+=( "${ign}--spec=:spec file:_files -g '*.spec(-.)'" ) - ;| - |(mk|ld)tarball) - args+=( "${ign}--archive=:tarball:_files -g '*.tar(-.)'" ) - ;| - |mk(deb|dsc|bmdeb|rpm)) - args+=( "${ign}--legacy-postinst=:value [1]:(0 1)" ) - ;| - |mk(tarball|rpm|deb|dsc)) args+=( "${ign}(--source-only --binaries-only)--"{source,binaries}-only ) ;| - |match|build|mkkmp) - args+=( #TODO: check ignore needed in absence of parameters - "${ign}--no-prepare-kernel" - "${ign}--no-clean-kernel" - '--kernelsourcedir=:directory:_directories' - "${ign}-j+[specify maximum number of jobs to use when building]:jobs" - ) - ;| - |(|un)install) - args+=( - "${ign}--no-depmod" - "${ign}--no-initrd" - ) - ;| - |add) - args+=( - '-c[specify location of dkms.conf file]:location:_files' - ) - ;| - |remove|(un|)build|install|status|mk(^kmp)) - args+=( '(-a --arch -k)--all[specify all relevant kernels/arches]' ) - ;| - |build) - args+=( "${ign}--config=:kernel config file:_files" ) - ;| - |add|build|install|ldtarball) - args+=( '--force[force overwriting of extant files]' ) - ;| - |match) - args+=( "${ign}--templatekernel=:kernel:->kernels" ) - ;| - |mkdriverdisk) - args+=( - "${ign}(-d --distro)"{-d,--distro=}':distribution:(redhat'{,1,2,3}' suse unitedlinux)' - "${ign}(-r --release)"{-r,--release=}':release' - "${ign}--size=:size (kb) [1440]" - "${ign}--media=:media type [floppy]:(floppy iso tar)" - ) - ;| - add) - args+=( - '3:path:_directories' - '4:tarball:_files -g "*.tar(-.)"' - ) - ;; - install) - args+=( - '3:rpm file:_files -g "*.rpm(-.)"' - ) - ;; -esac - -_arguments -C $args && ret=0 - -case $state in - modules) - dirs=( ${(e)opt_args[--dkmstree]:-/var/lib/dkms}/*/*(/) ) - dirs=( ${${(M)dirs%/*/*}#/} ) - _description modules expl module - _multi_parts -i "$expl[@]" / dirs && ret=0 - ;; - kernels) - if compset -P 1 '*/'; then - _description architectures expl architecture - compadd "$expl[@]" /lib/modules/$IPREFIX/build/arch/*(/:t) && ret=0 - else - compset -S '/*' - dirs=( /lib/modules/*(/:t) ) - _description -V kernels expl kernel - compadd "$expl[@]" -r "/ \t\n\-" ${(on)dirs} && ret=0 - fi - ;; - architectures) - _description architectures expl architecture - compadd "$expl[@]" /lib/modules/$(uname -r)/build/arch/*(/:t) && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dladm b/result/sw/share/zsh/5.9/functions/_dladm deleted file mode 100644 index 5ce9872d..00000000 --- a/result/sw/share/zsh/5.9/functions/_dladm +++ /dev/null @@ -1,734 +0,0 @@ -#compdef dladm - -_dladm_links() { - compadd "$@" - $(_call_program links dladm show-link -p -o link) -} - -_dladm_devs() { - compadd "$@" - $(_call_program devices dladm show-phys -p -o device) -} - -_dladm_aggrs() { - compadd "$@" - $(_call_program aggregations dladm show-aggr -p -o link) -} - -_dladm_aggr_ports() { - compadd "$@" - $(_call_program ports dladm show-aggr -p -x -o ports) -} - -_dladm_vlans() { - compadd "$@" - $(_call_program vlans dladm show-vlan -p -o link) -} - -_dladm_wifi_links() { - compadd "$@" - $(_call_program wifi-links dladm show-wifi -p -o link) -} - -_dladm_wifi_nets() { - compadd "$@" - ${(f)"$(_call_program networks dladm scan-wifi -p -o essid)"} -} - -_dladm_secobjs() { - compadd "$@" - ${(f)"$(_call_program secure-objects dladm show-secobj -p -o object)"} -} - -_dladm_ethers() { - compadd "$@" - $(_call_program ethers dladm show-ether -p -o link) -} - -_dladm_vnics() { - compadd "$@" - $(_call_program vnics dladm show-vnic -p -o link) -} - -_dladm_etherstubs() { - compadd "$@" - $(_call_program etherstubs dladm show-etherstub) -} - -_dladm_bridges() { - compadd "$@" - $(_call_program bridges dladm show-bridge -p -o bridge) -} - -_dladm_iptuns() { - compadd "$@" - $(_call_program ip-tunnels dladm show-iptun -p -o link) -} - -_dladm_parts() { - compadd "$@" - $(_call_program parts dladm show-part -p -o link) -} - -_dladm_iblinks() { - compadd "$@" - $(_call_program iblinks dladm show-ib -p -o link) -} - -_dladm() { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local -a subcmds - local -a linkprops linkprops_general linkprops_nonvlanvnic linkprops_wifi - local -a linkprops_ether linkprops_ib linkprops_iptun - local -a link_properties link_stats_properties vnic_properties - local -a aggr_properties aggr_lacp_properties aggr_ext_properties - local -a vlan_properties wifi_properties wifi_connect_properties - local -a ether_properties linkprop_properties secobj_properties - local -a bridge_properties bridge_stats_properties bridge_link_properties - local -a bridge_link_stats_properties bridge_fwd_properties - local -a bridge_fwd_properties bridge_trill_properties - local -a iptun_properties tunnel_values part_properties ib_properties - - # TODO: some subcommands can take multiple comma-separated targets - # TODO: some option sets may be different based on other commandline flags - # TODO: some subcommands may take different arguments based on options - - subcmds=( - help show-ether show-ib - {add,create,delete,modify,remove,show}-{aggr,bridge} - {rename,show}-link - {connect,disconnect,scan,show}-wifi - {reset,set,show}-linkprop - {create,delete,modify,show}-vlan - {delete,show}-phys - {create,delete,modify,show}-{vnic,iptun} - {create,delete,show}-{etherstub,secobj,part,cap} - ) - - if [[ $service == "dladm" ]]; then - _arguments -C -A "-*" \ - '-\?[display help information]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "dladm subcommand" compadd -M 'r:|-=* r:|=*' -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" - fi - - link_properties=( link zone class mtu state over ) - link_stats_properties=( link ipackets rbytes ierrors opackets obytes oerrors ) - - aggr_properties=( link policy addrpolicy lacpactivity lacptimer mode flags ) - aggr_lacp_properties=( link port aggregatable sync coll dist defaulted expired ) - aggr_ext_properties=( link port speed duplex state address portstate ) - - vlan_properties=( link vid over flags ) - - wifi_connect_properties=( link essid bssid sec mode strength speed bsstype ) - wifi_properties=( $wifi_connect_properties status auth ) - - ether_properties=( link ptype state auto speed-duplex pause rem_fault ) - - linkprop_properties=( link property value default possible ) - - secobj_properties=( object class ) - - vnic_properties=( link over speed macaddr macaddrtype ) - - bridge_properties=( bridge address priority bmaxage bhellotime bfwddelay - forceproto tctime tccount tchange desroot rootcost rootport - maxage hellotime fwddelay holdtime ) - bridge_stats_properties=( bridge drops forwards mbcast recv sent unknown ) - bridge_link_properties=( link index state uptime opercost operp2p operedge - desroot descost desbridge desport tcack ) - bridge_link_stats_properties=( link cfgbpdu tcnbpdu rstpbpdu txbpdu drops recv xmit ) - bridge_fwd_properties=( dest age flags output ) - bridge_trill_properties=( nick flags link nexthop ) - - iptun_properties=( link type flags local remote ) - tunnel_values=( 'local:address/host:' 'remote:address/host:' ) - - part_properties=( link pkey over state flags ) - - ib_properties=( link hcaguid portguid port state pkeys ) - - linkprops_general=( - 'autopush:streams modules' - 'cos:value:(0 1 2 3 4 5 6 7)' - 'cpus:processors' - 'cpus-effective' - 'etsbw-lcl:percentage:' - 'etsbw-lcl-advice' - 'etsbw-lcl-effective' - 'etsbw-rmt-effective' - 'lro:value:(off on auto)' - 'lro-effective' - 'mac-address:MAC address' - 'maxbw:bandwith' - 'pool:pools' - 'pool-effective' - 'priority:priority:(high medium low)' - 'rxringsavail' - 'rxrings:value' - 'rxhwclntavail' - 'txringsavail' - 'txrings:value' - 'txhwclntavail' - 'forward:value:(0 1)' - 'stp_priority:value' - 'stp_cost:value' - 'stp_edge:value:(0 1)' - 'stp_p2p:value:(true false auto)' - 'stp_mcheck:value:(0 1)' - 'protection:value:(mac-nospoof ip-nospoof dhcp-nospoof restricted)' - 'vsi-mgrid:IPv6 address' - 'vsi-mgrid-effective' - 'vsi-mgrid-enc:encoding:(oracle_v1 none)' - 'vsi-mgrid-enc-effective' - 'vsi-typeid:value' - 'vsi-typeid-effective' - 'vsi-vers:value' - 'vsi-vers-effective' - 'zone:zone:_zones' - ) - linkprops_nonvlanvnic=( - 'default_tag:value' - 'learn_decay:value' - 'learn_limit:value' - 'rxfanout:value' - 'rxfanout-effective:value' - 'stp:value:(0 1)' - ) - linkprops_wifi=( - 'channel:value' - 'powermode:value:(off max fast)' - 'radio:value:(on off)' - 'speed:value' - ) - linkprops_ether=( - 'duplex' - 'state' - 'adv_autoneg_cap' - 'adv_10gfdx_cap' - 'adv_1000fdx_cap' - 'adv_1000hdx_cap' - 'adv_100fdx_cap' - 'adv_100hdx_cap' - 'adv_10fdx_cap' - 'adv_10hdx_cap' - 'en_10gfdx_cap:value:(0 1)' - 'en_1000fdx_cap:value:(0 1)' - 'en_1000hdx_cap:value:(0 1)' - 'en_100fdx_cap:value:(0 1)' - 'en_100hdx_cap:value:(0 1)' - 'en_10fdx_cap:value:(0 1)' - 'en_10hdx_cap:value:(0 1)' - 'flowctrl:value:(auto no rx tx pfc bi)' - 'flowctrl-effective' - 'gvrp-timeout:value' - 'mtu:value' - 'ntcs' - 'pfcmap:value' - 'pfcmap-lcl-effective' - 'pfcmap-rmt-effective' - 'speed' - 'tagmode:value:(normal vlanonly)' - 'vlan-announce:value:(off gvrp)' - ) - linkprops_ib=( - "linkmode:value:(cm ud)" - ) - linkprops_iptun=( - "hoplimit:value" - "encaplimit:value" - ) - linkprops=( - $linkprops_general $linkprops_wifi $linkprops_ether - $linkprops_ib $linkprops_iptun - ) - - case $service in - (help) - _wanted commands expl "dladm subcommand" compadd -M 'r:|-=* r:|=*' -a subcmds - ;; - - (show-link) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_properties' \ - - set2 \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_stats_properties' \ - ':link name:_dladm_links' - ;; - - (rename-link) - _arguments -A "-*" \ - '-R[root directory]:directory:_path_files -/' \ - ':old link name:_dladm_links' \ - ':new link name:' - ;; - - (show-phys) - _arguments -A "-*" \ - '-D[show Data Center Bridging information]:featureset:(ets pfc)' \ - '-H[show hardware resource usage]' \ - '-L[display location information]' \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '-m[display MAC address information]' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" link media state speed duplex device' \ - ':physical link name:_dladm_devs' - ;; - - (delete-phys) - _arguments -A "-*" \ - ':physical link name:_dladm_devs' - ;; - - (create-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - \*{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mode)'{-m,--mode}'[aggregation mode]:mode:(dlmp trunk)' \ - '(-P --policy)'{-P,--policy}'[port selection policy]:policy:_values -s , "policy" L2 L3 L4' \ - '(-L --lacp-mode)'{-L,--lacp-mode}'[LACP mode]:lacp mode:(off active passive)' \ - '(-T --lacp-timer)'{-T,--lacp-timer}'[LACP timer]:lacp timer:(short long)' \ - '(-u --unicast)'{-u,--unicast}'[unicast address]:unicast address:' \ - ':aggregate link name:' - ;; - - (modify-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mode)'{-m,--mode}'[aggregation mode]:mode:(dlmp trunk)' \ - '(-P --policy)'{-P,--policy}'[port selection policy]:policy:_values -s , "policy" L2 L3 L4' \ - '(-L --lacp-mode)'{-L,--lacp-mode}'[LACP mode]:lacp mode:(off active passive)' \ - '(-T --lacp-timer)'{-T,--lacp-timer}'[LACP timer]:lacp timer:(short long)' \ - '(-u --unicast)'{-u,--unicast}'[unicast address]:unicast address:' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (delete-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (add-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (remove-aggr) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_aggr_ports' \ - ':aggregate link name:_dladm_aggrs' - ;; - - (show-aggr) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-s --statistics)'{-s,--statistics}'[display link statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':aggregate link name:_dladm_links' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_properties' \ - - lacp \ - '(-L --lacp)'{-L,--lacp}'[LACP information]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_lacp_properties' \ - - extended \ - '(-x --extended)'{-x,--extended}'[extended information]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_ext_properties' - ;; - - (create-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \ - '(-f --force)'{-f,--force}'[force VLAN creation]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '-v[VLAN ID]:id:' \ - ':VLAN link name:' - ;; - - (delete-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':VLAN link name:_dladm_vlans' - ;; - - (modify-vlan) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \ - '(-f --force)'{-f,--force}'[force VLAN creation]' \ - '(-R --root-dir)'{-R,--root-dir}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '-v[VLAN ID]:id:' \ - - set1 \ - '-L[source link]:link:_dladm_links' \ - - set2 \ - ':VLAN link name:' - ;; - - (show-vlan) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $vlan_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':VLAN link name:_dladm_vlans' - ;; - - (scan-wifi) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $wifi_connect_properties' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (connect-wifi) - _arguments -A "-*" \ - '(-e --essid)'{-e,--essid}'[ESSID name]:network:_dladm_wifi_nets' \ - '(-b --bsstype)'{-b,--bsstype}'[BSS type]:' \ - '(-m --mode)'{-m,--mode}'[802.11 mode]:802.11 mode:(a b g n)' \ - '(-k --key)'{-k,--key}'[key name]:key:_sequence _dladm_secobjs' \ - '(-s --sec)'{-s,--sec}'[security mode]:security mode:(none wep wpa)' \ - '(-a --auth)'{-a,--auth}'[authentication mode]:authentication mode:(open shared)' \ - '(-c --create-ibss)'{-c,--create-ibss}'[create an ad-hoc network]' \ - '(-T --timeout)'{-T,--timeout}'[association timeout]:association timeout:(forever)' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (disconnect-wifi) - _arguments -A "-*" \ - - set1 \ - '(-a --all-links)'{-a,--all-links}'[all links]' \ - - set2 \ - ':wireless link name:_dladm_wifi_links' - ;; - - (show-wifi) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $wifi_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':wireless link name:_dladm_wifi_links' - ;; - - (show-ether) - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-x --extended)'{-x,--extended}'[extended output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $ether_properties' \ - '-P[protocol]:protocol:(ecp vdp)' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':ethernet link name:_dladm_ethers' - ;; - - (set-linkprop) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[change should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${(M)linkprops\:#*\:*}' \ - ':link name:_dladm_links' - ;; - - (reset-linkprop) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[change should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${${(M)linkprops\:#*\:*}%%\:*}' \ - ':link name:_dladm_links' - ;; - - (show-linkprop) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent link properties]' \ - '(-c --parseable)'{-c,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $linkprop_properties' \ - '(-p --prop)'{-p,--prop}'[properties]:property:_values -s , "property" ${linkprops%%\:*}' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':link name:_dladm_links' - ;; - - (create-secobj) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-c --class)'{-c,--class}'[class]:class:(wep wpa)' \ - '(-f --file)'{-f,--file}'[file containing object value]:file:_path_files' \ - ':object name:' - ;; - - (delete-secobj) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':object name:_sequence _dladm_secobjs' - ;; - - (show-secobj) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent object information]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $secobj_properties' \ - ':object name:_sequence _dladm_secobjs' - ;; - - (create-vnic) - # TODO: MAC address completion could be richer - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \ - '-v[VLAN ID]:id:' \ - '(-p --prop)'{-p,--prop}'[property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \ - ':VNIC name:' - ;; - - (delete-vnic) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':VNIC name:_dladm_vnics' - ;; - - (modify-vnic) - # TODO: MAC address completion could be richer - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \ - '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \ - '-v[VLAN ID]:id:' \ - '(-p --prop)'{-p,--prop}'[property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \ - - set1 \ - '-L[source link]:link:_dladm_links' \ - - set2 \ - ':VNIC name:' - ;; - - (show-vnic) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent object information]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $vnic_properties' \ - '(-l --link)'{-l,--link}'[limit to VNICs on link]:link:_dladm_links' \ - '(-s --statistics)'{-s,--statistics}'[display VNIC statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \ - '-Z[display ZONE column in output]' \ - '-v[display all VLAN information]' \ - '-z[zone]:zone:_sequence _zones' \ - ':VNIC name:_dladm_vnics' - ;; - - (create-etherstub) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':etherstub name:' - ;; - - (delete-etherstub) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':etherstub name:_dladm_etherstubs' - ;; - - (show-etherstub) - _arguments -A "-*" \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':etherstub name:_dladm_etherstubs' - ;; - - (show-usage) - _arguments -A "-*" \ - '(-f --file)'{-f,--file}'[read records from file]:file:_path_files' \ - '(-F --format)'{-F,--format}'[plotfile format]:plotfile format:(gnuplot)' \ - '(-p --plot)'{-p,--plot}'[write plot to file]:' \ - '(-e --start)'{-e,--start}'[start time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \ - '(-s --stop)'{-s,--stop}'[stop time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \ - ':link name:_dladm_links' - ;; - - (create-bridge) - _arguments -A "-*" \ - '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --priority)'{-p,--priority}'[specify the bridge priority]:value' \ - '(-m --max-age)'{-m,--max-age}'[specify the max age for config info]:value' \ - '(-h --hello-time)'{-h,--hello-time}'[specify the hello time]:value' \ - '(-d --forward-delay)'{-d,--forward-delay}'[specify the forward delay]:value' \ - '(-f --force-protocol)'{-f,--force-protocol}'[specify forced maximum supported protocol]:value' \ - '*'{-l,--link}'[specify link to add]:link:_dladm_links' \ - ':bridge name:' - ;; - - - (modify-bridge) - _arguments -A "-*" \ - '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-p --priority)'{-p,--priority}'[specify the bridge priority]:value' \ - '(-m --max-age)'{-m,--max-age}'[specify the max age for config info]:value' \ - '(-h --hello-time)'{-h,--hello-time}'[specify the hello time]:value' \ - '(-d --forward-delay)'{-d,--forward-delay}'[specify the forward delay]:value' \ - '(-f --force-protocol)'{-f,--force-protocol}'[specify forced maximum supported protocol]:value' \ - ':bridge name:_dladm_bridges' - ;; - - - (delete-bridge) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':bridge name:_dladm_bridges' - ;; - - - (add-bridge|remove-bridge) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '*'{-l,--link}'[specify link to add]:link:_dladm_links' \ - ':bridge name:_dladm_bridges' - ;; - - - (show-bridge) - # XXX $bridge_stats_properties get added into -o completions for set1 - # XXX $bridge_link_stats_properties get added into -o completions for set3 - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - - set1 \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_properties' \ - - set2 \ - '(-s --statistics)'{-s,--statistics}'[display statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:seconds' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_stats_properties' \ - - set3 \ - '(-l --link)'{-l,--link}'[display link status or statistics]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_link_properties' \ - - set4 \ - '(-s --statistics)'{-s,--statistics}'[display statistics]' \ - '(-l --link)'{-l,--link}'[display link status or statistics]' \ - '(-i --interval)'{-i,--interval}'[specify an interval]:seconds' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_link_stats_properties' \ - - set5 \ - '(-f --forwarding)'{-f,--forwarding}'[display forwarding entries]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_fwd_properties' \ - - set6 \ - '(-t --trill)'{-t,--trill}'[display TRILL nickname entries]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $bridge_trill_properties' \ - ':bridge name:_dladm_bridges' - ; - - - (create-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary tunnel]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-T --type)'{-T,--type}'[tunnel type]:tunnel type:(ipv4 ipv6 6to4)' \ - '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \ - ':tunnel name' - ;; - - (modify-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary modification]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \ - ':tunnel name:_dladm_iptuns' - ;; - - (delete-iptun) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':tunnel name:_dladm_iptuns' - ;; - - (show-iptun) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent tunnel configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $iptun_properties' \ - '-Z[display ZONE column in output]' \ - '-z[zone]:zone:_sequence _zones' \ - ':tunnel name:_dladm_iptuns' - ;; - - (create-part) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary partition]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - '(-f --force)'{-f,--force}'[force partition creation]' \ - '(-l --link)'{-l,--link}'[IP-over-IB physical link name]:IB link:_dladm_iblinks' \ - '(-p --prop)'{-p,--prop}'[set link properties]:link property:_values -s , "property" ${(M)linkprops_nonvlanvnic\:#*\:*} ${(M)linkprops_general\:#*\:*}' \ - '(-P --pkey)'{-P,--pkey}'[set partition key]:hex number' \ - ':partition link name:' - ;; - - (delete-part) - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \ - '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \ - ':link name:_dladm_parts' - ;; - - (show-part) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent partition configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-l --link)'{-l,--link}'[information for this link]:link name:_dladm_iblinks' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $part_properties' \ - ':partition link name:_dladm_parts' - ;; - - (show-ib) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[display persistent partition configuration]' \ - '(-p --parseable)'{-p,--parseable}'[parseable output]' \ - '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $ib_properties' \ - ':IB link name:_dladm_iblinks' - ;; - - ((create|delete)-cap) - _arguments -A "-*" \ - '(-R --root)'{-R,--root}'[specify root directory]:directory:_directories' \ - '(-t --temporary)'{-t,--temporary}'[capture datalink is temporary\: until next reboot]' \ - ':cap link' - ;; - - (show-cap) - _arguments -A "-*" \ - '(-P --persistent)'{-P,--persistent}'[show persistent datalink configuration]' \ - '(-p --parseable)'{-p,--parseable}'[output using a stable machine-parseable format]' \ - '(-o --output)'{-o,--output}'[specify output fields]: _values -s , "field" LINK ZONE TYPE MTU' \ - ':cap link' - ;; - - (*) - _default - ;; - esac -} - -_dladm "$@" diff --git a/result/sw/share/zsh/5.9/functions/_dlocate b/result/sw/share/zsh/5.9/functions/_dlocate deleted file mode 100644 index a2b54820..00000000 --- a/result/sw/share/zsh/5.9/functions/_dlocate +++ /dev/null @@ -1,33 +0,0 @@ -#compdef dlocate - -local context state line -typeset -A opt_args - -_arguments \ - '-h[help]' \ - '-S[match strings only]' \ - '-L[list all files in package]' \ - '-l[almost-emulation of dpkg -l]' \ - '-s[print status of package]' \ - '-ls[ls -ldF of all files in package]' \ - '-du[du -sck of all files in package]' \ - '-conf[list conffiles in package]' \ - '-lsconf[ls -ldF of conffiles in package]' \ - '-lsman[list man pages in package]' \ - '-lsbin[list executable files in package]' \ - '-md5sum[list md5sums (if any) of package]' \ - '-md5check[check md5sums (if any) of package]' \ - '-man[list man pages (if any) of package]' \ - ':arg:->stringorpkg' && return 0 - -case "$state" in - (stringorpkg) - if (( $+opt_args[-S] )); then - _files - else - _alternative \ - 'string:search string:_files' \ - 'package:Debian packages:_deb_packages installed' - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dmesg b/result/sw/share/zsh/5.9/functions/_dmesg deleted file mode 100644 index 1aa3bc26..00000000 --- a/result/sw/share/zsh/5.9/functions/_dmesg +++ /dev/null @@ -1,39 +0,0 @@ -#compdef dmesg - -local -a args - -case $OSTYPE in - linux*) args=( -S -- ) ;; - darwin*|dragonfly*|*bsd*) - args=( - '-M[extract values from core]:core file:_files' - '-N[extract name list from kernel image]:system:_files' - ) - ;| - dragonfly*|freebsd*) - args=( - '-a[show all data, including syslog and console]' - '-c[clear the buffer after printing]' - ) - ;| - openbsd*) - args+=( - '-s[show console message buffer instead]' - ) - ;; - dragonfly*) - args+=( - '\*-f[follow buffer, displaying new data as it arrives]' - '-n[use specified kernel core]:number' - ) - ;; - netbsd*) - args+=( - '-d[show timestamp deltas]' - '(-t)-T[format uptime timestamps in a human readable form]' - '(-T)-t[suppress printing uptime timestamps]' - ) - ;; -esac - -_arguments -s : $args diff --git a/result/sw/share/zsh/5.9/functions/_dmidecode b/result/sw/share/zsh/5.9/functions/_dmidecode deleted file mode 100644 index 047b74f6..00000000 --- a/result/sw/share/zsh/5.9/functions/_dmidecode +++ /dev/null @@ -1,15 +0,0 @@ -#compdef dmidecode - -_arguments -s \ - '(-d --dev-mem --from-dump)'{-d+,--dev-mem=}'[read memory from specified file]:memory device [/dev/mem]:_files' \ - '(-)'{-h,--help}'[display usage information]' \ - '(-q --quiet -u --dump)'{-q,--quiet}'[be less verbose]' \ - '(-t --type -H --handle -u --dump --dump-bin -s --string)'{-s+,--string=}'[only display value of specified DMI string]:DMI string:(bios-vendor bios-version bios-release-date system-manufacturer system-product-name system-version system-serial-number system-uuid baseboard-manufacturer baseboard-product-name baseboard-version baseboard-serial-number baseboard-asset-tag chassis-manufacturer chassis-type chassis-version chassis-serial-number chassis-asset-tag processor-family processor-manufacturer processor-version processor-frequency)' \ - '(-s --string -H --handle --dump-bin)*'{-t+,--type=}'[only display entries of specified type]:entry type:(bios system baseboard chassis processor memory cache connector slot)' \ - '(-s --string -t --type -H --handle --dump-bin)'{-H,--handle=}'[only display the entry of specified handle]:handle' \ - '(-q --quiet -u --dump -s --string)'{-u,--dump}"[don't decode entries]" \ - '(-s --string -t --type -H --handle)--dump-bin=[dump DMI data to a binary file]:file:_files' \ - '(-d --dev-mem)--from-dump=[read DMI data from a binary file]:file:_files' \ - "--no-sysfs[don't attempt to read DMI data from sysfs files]" \ - '--oem-string=[only display the value of the specified OEM string]:OEM string number' \ - '(-)'{-V,--version}'[display version information]' diff --git a/result/sw/share/zsh/5.9/functions/_dnf b/result/sw/share/zsh/5.9/functions/_dnf deleted file mode 100644 index ce111f38..00000000 --- a/result/sw/share/zsh/5.9/functions/_dnf +++ /dev/null @@ -1,551 +0,0 @@ -#compdef dnf dnf-2 dnf-3 -# -# based on dnf-4.2.18 -# - -_dnf_helper() { - # Get the pathname of the python executable from the 1st line of dnf-2/dnf-3. - # Probably /usr/bin/python{2,3} or /usr/libexec/platform-python. - local shebang - read -u0 shebang < $(readlink -f /usr/bin/dnf) - local python_exec=${${shebang##\#! #}%% *} - local -a helper_script=( - 'import sys' - 'from dnf.cli.completion_helper import main' - 'main(sys.argv[1:])' - ) - $python_exec -c ${(j.;.)helper_script} "$@" "$PREFIX" \ - -d 0 -q -C --assumeno --nogpgcheck 2>/dev/null </dev/null -} - -_dnf_query_db() { - # $1: table name in the database ('available' or 'installed') - sqlite3 -batch -init /dev/null "$cache_file" \ - "select pkg from $1 WHERE pkg LIKE '$PREFIX%$SUFFIX'" -} - -_dnf_repositories() { - # required option: -T (all|disabled|enabled) - local selected expl - zparseopts -D -E - T:=selected - selected=$selected[2] - _wanted $selected-repositories expl "$selected repository" \ - compadd "$@" - $(_dnf_helper repolist --$selected) -} - -_dnf_packages() { - # required option: -T (all|available|installed|upgradable) - local selected pkgs expl - zparseopts -D -E - T:=selected - selected=$selected[2] - if [[ $selected = upgradable ]]; then - pkgs=( $(_dnf_helper upgrade) ) - elif [[ -r $cache_file ]]; then - local table=$selected - # 'available' table contains both 'available' and 'installed' packages - [[ $selected = all ]] && table=available - pkgs=( $(_dnf_query_db $table) ) - if [[ $selected = available ]]; then - local inst=( $(_dnf_query_db installed) ) - pkgs=( ${pkgs:|inst} ) # remove installed packages - fi - else - pkgs=( $(_dnf_helper list --$selected) ) - fi - _wanted $selected-packages expl "$selected package" compadd "$@" -a pkgs -} - -_dnf_rpm_files() { - local expl - _wanted rpm-files expl 'rpm file' _files -g '(#i)*.rpm(-.)' -} - -_dnf_packages_or_rpms() { - if [[ "$words[CURRENT]" = (*/*|\~*) ]]; then # if looks like a path name - _dnf_rpm_files - else - _dnf_packages "$@" - fi -} - -_dnf_groups_caching_policy() { - # TODO: Are there any reliable ways to validate the cache? - local -a newer=( "$1"(Nmw-1) ) # rebuild if more than a week old - return $#newer -} - -_dnf_groups() { - local package_groups update_policy expl - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _dnf_groups_caching_policy - fi - if _cache_invalid dnf-groups || ! _retrieve_cache dnf-groups; then - # this can be very slow - package_groups=( ${${${(M)${(f)"$(_call_program package-groups \ - $service group list -v 2>/dev/null)"}:# *}#*\(}%\)*} ) - _store_cache dnf-groups package_groups - fi - _wanted package-groups expl 'package group' compadd "$@" -a package_groups -} - -_dnf_repoquery() { - local _h='' - # 'dnf deplist' is an alias for 'dnf repoquery --deplist' - [[ $words[1] = deplist ]] && _h='!' - local -a opts=( '(- *)--querytags[list tags recognized by --queryformat]' ) - # Select options - opts+=( - '(-a --all)'{-a,--all}'[query all packages]' - '--arch=[limit results to specified architectures]:list of archs: ' - '--available[limit results to available packages]' - '--disable-modular-filtering[include packages of inactive module streams]' - '(-f --file)'{-f+,--file=}'[limit results to packages which own specified file]:file:_files' - '--latest-limit=[limit results to latest packages of specified number]:number: ' - '--recent[limit results to recently edited packages]' - '(--exactdeps)--alldeps[with --what{depends,requires}, also check non-explicit dependencies]' - '(--alldeps)--exactdeps[with --what{depends,requires}, check only explicit dependencies]' - '*--repo=[limit result to packages from the specified repo]: : _sequence _dnf_repositories -T all' - '--srpm[operate on the corresponding source RPM]' - '--whatdepends=[limit result to packages that require, enhance, recommend, suggest or supplement specified capability]:capability: ' - ) - for v in conflict enhance obsolete provide recommend require suggest supplement; do - opts+=( "--what${v}s=[limit result to packages that $v specified capability]:capability: " ) - done - # Query options - opts+=( - '--location[show a location where package could be downloaded from]' - '--tree[display recursive tree of packages]' - $_h'--deplist[display list of all direct dependencies and their providers]' - '--recursive[query packages recursively]' - '--resolve[resolve capabilities to originating package(s)]' - ) - # mutually exclusive Select options - opts+=( - + '(pkg_filter)' - '--duplicates[limit results to installed duplicate packages]' - '--installonly[limit results to installed installonly packages]' - '--unsatisfied[limit results to installed packages with unsatisfied dependencies]' - + '(list_group)' - '--installed[limit results to installed packages]' - '--extras[limit results to extra packages (not in any repos)]' - '--upgrades[limit results to upgrades for installed packages]' - '--unneeded[limit results to packages which are no longer needed]' - '--userinstalled[limit results to packages installed by user]' - ) - # mutually exclusive Query options - opts+=( - + '(output_format)' - {-i,--info}'[show detailed info about the package]' - {-l,--list}'[show list of files in the packages]' - {-s,--source}'[show source RPM name]' - '--changelogs[print package changelogs]' - '--nvr[show found packages in name-version-release format]' - '--nevra[show found packages in name-epoch:version-release.architecture format]' - '--envra[show found packages in epoch:name-version-release.architecture format]' - {--qf=,--queryformat=}'[specify custom output format]:format: ' - '--groupmember[display groups in which the package belongs]' - + '(pkg_attr)' - '--conflicts[display capabilities that the package conflicts with]' - '--depends[display capabilities that the package depends on, enhances, recommends, suggests or supplements]' - '--enhances[display capabilities that the package enhance]' - '--provides[display capabilities that the package provides]' - '--recommends[display capabilities that the package recommends]' - '--requires[display capabilities that the package depends on]' - '--requires-pre[display capabilities that the package depends on for running %pre script]' - '--suggests[display capabilities that the package suggests]' - '--supplements[display capabilities that the package supplements]' - '--obsoletes[display capabilities that the package obsoletes]' - ) - _arguments : '*: : _dnf_packages -T all' $opts -} - -_dnf_repository_packages() { - if (( CURRENT == 2 )); then - _dnf_repositories -T all - elif (( CURRENT == 3 )); then - local -a subcmds=( - 'check-update:check if updates are available in the repository' - 'info:list description of packages in the repository' - 'install:install all packages in the repository' - 'list:list packages in the repository' - 'move-to:reinstall all packages that are available in the repository' - 'reinstall:run reinstall-old, or move-to if it fails' - 'reinstall-old:reinstall all packages that were installed from the repository' - 'remove:remove all packages installed from the repository' - 'remove-or-distro-sync:sync packages with other repo if available there, or remove otherwise' - 'remove-or-reinstall:reinstall packages if available in other repo, or remove otherwise' - 'upgrade:update all packages in the repository' - ) - _describe -t subcommands 'subcommand' subcmds - elif [[ $words[3] = (info|list) ]]; then - if (( CURRENT == 4 )); then - _wanted options expl "option" compadd - --all --installed --available \ - --extras --obsoletes --recent --upgrades - else - _dnf_packages -T all - fi - elif [[ $words[3] = install ]]; then - _dnf_packages -T available - elif [[ $words[3] = upgrade* ]]; then - _dnf_packages -T upgradable - else - _dnf_packages -T installed - fi -} - -_dnf() { - local cache_file="/var/cache/dnf/packages.db" - local -a opts=( - '(-6)-4[resolve to IPv4 addresses only]' - '(-4)-6[resolve to IPv6 addresses only]' - '*--advisory=[include packages for specified advisory]:advisory: ' - '--allowerasing[allow erasing installed packages to resolve dependencies]' - '(-y --assumeyes)--assumeno[answer no for all questions]' - '(-b --best)'{-b,--best}'[try the best available package version]' - '--bugfix[include bugfix relevant packages]' - '*'{--bz=,--bzs=}'[include packages needed to fix the specified Bugzilla]:BZ ID: ' - '(-C --cacheonly)'{-C,--cacheonly}"[run entirely from system cache, don't update cache]" - '--color=[control whether color is used]:when:(always never auto)' - '--comment=[add comment to transaction history]:comment: ' - '(-c --config)'{-c+,--config=}'[specify configuration file]:config file:_files' - '*'{--cve=,--cves=}'[include packages needed to fix the specified CVE]:CVE ID: ' - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debugging output level]:level (0-10): ' - '--debugsolver[dump detailed solving results in file ./debugdata]' - '*--disableexcludes=[disable config file excludes]: : _alternative "sections\:section\:(all main)" "repositories\:repository\:_dnf_repositories -T all"' - '(--disable --set-disabled)'{--disable,--set-disabled}'[disable repos with config-manager command]' - '*--disableplugin=[disable specified plugins]:list of plugin names: ' - '(--repo)*--disablerepo=[disable specified repos]: : _sequence _dnf_repositories -T enabled' - '(--downloaddir --destdir)'{--downloaddir=,--destdir=}'[redirect downloaded packages to the specified dir]:directory:_files -/' - '--downloadonly[only download the resolved packages]' - '(-e --errorlevel)'{-e+,--errorlevel=}'[specify error output level]:level (0-10): ' - '(--enable --set-enabled)'{--enable,--set-enabled}'[enable repos with config-manager command]' - '--enableplugin=[enable specified plugins]:list of plugin names: ' - '*--enablerepo=[enable additional repos]: : _sequence _dnf_repositories -T disabled' - '--enhancement[include enhancement relevant packages]' - '*'{-x+,--exclude=}'[exclude specified packages]: : _sequence _dnf_packages -T all' - '--forcearch=[force the use of the specified arch]:arch: ' - '(-)'{-h,--help}'[show the help message]' - '--installroot=[set install root]:directory:_files -/' - '--newpackage[include newpackage relevant packages]' - '--noautoremove[disable removal of dependencies that are no longer used]' - '--nobest[do not limit transactions to best candidates]' - '--nodocs[do not install documentation]' - '--nogpgcheck[skip checking GPG signatures on packages]' - '--noplugins[disable all plugins]' - '--obsoletes[enable obsoletes processing logic]' - '(-q --quiet)'{-q,--quiet}'[show just the relevant content]' - '(-R --randomwait)'{-R+,--randomwait=}'[maximum command wait time]:max wait time (minutes): ' - '--refresh[set metadata as expired before running the command]' - '--releasever=[configure DNF for another release]:release: ' - '*--repofrompath=[specify additional repos]:repository_label,path_or_url: ' - '(--disablerepo)*'{--repo=,--repoid=}'[enable just the specified repo]: : _sequence _dnf_repositories -T all' - '--rpmverbosity=[set RPM debug scriptlet output level]:debug level:(critical emergency error warn info debug)' - '*--sec-severity=[include security relevant packages matching specified severity]:severity:(Critical Important Moderate Low)' - '--security[include security relevant packages]' - '*--setopt=[override config option]:repoid.option=value: ' - '--skip-broken[resolve depsolve problems by skipping packages]' - '--show-duplicates[show duplicate packages in repos]' - '(-v --verbose)'{-v,--verbose}'[set verbose, show debug messages]' - '(- *)--version[show dnf version]' - '(-y --assumeyes --assumeno)'{-y,--assumeyes}'[answer yes for all questions]' - ) - _arguments -s : $opts '*::dnf command:_dnf_command' -} - -_dnf_command() { - local -a dnf_cmds=( - 'alias:define and manage aliases' - "autoremove:automatically remove no longer required packages" - 'check:report problems in local packagedb if any' - "check-update:check for available package upgrades" - "clean:remove cached data" - 'deplist:alias for "repoquery --deplist"' - "distro-sync:synchronize installed packages to the latest available versions" - "downgrade:downgrade a package" - "group:display, or use, the groups information" - "help:display a helpful usage message" - "history:display, or use, the transaction history" - "info:display details about a package or group of packages" - "install:install a package or packages on your system" - "list:list a package or groups of packages" - "makecache:generate the metadata cache" - "mark:mark or unmark installed packages as installed by user" - 'module:interact with modules' - "provides:find what package provides the given value" - "reinstall:reinstall a package" - "remove:remove a package or packages from your system" - "repolist:display the configured software repositories" - 'repoquery:search repos for packages and display info about them' - "repository-packages:run commands on top of all packages in given repository" - "search:search package details for the given string" - 'shell:open an interactive shell' - 'swap:replace a package by another' - "updateinfo:display advisories about packages" - "upgrade:upgrade a package or packages on your system" - 'upgrade-minimal:upgrade only bugfix, enhancement or security fix' - ) - - if (( CURRENT == 1 )); then - _describe -t dnf-commands 'dnf command' dnf_cmds - else - local curcontext=$curcontext cur=$words[CURRENT] cmd tmp expl ret=1 - # Deal with aliases (not comprehensive) - case $words[1] in - check-updgrade) cmd=check-update;; - distrosync|dsync) cmd=distro-sync;; - dg) cmd=downgrade;; - erase|rm) cmd=remove;; - groups|grp) cmd=group;; - hist) cmd=history;; - in) cmd=install;; - mc) cmd=makecache;; - prov|whatprovides) cmd=provides;; - rei) cmd=reinstall;; - repoinfo) cmd=repolist;; - rq) cmd=repoquery;; - se) cmd=search;; - sh) cmd=shell;; - update|up) cmd=upgrade;; - update-minimal|up-min) cmd=upgrade-minimal;; - *) cmd="${${dnf_cmds[(r)$words[1]:*]%%:*}}";; - esac - (( $#cmd )) && curcontext="${curcontext%:*:*}:dnf-${cmd}:" - - case $cmd in - alias) - if (( CURRENT == 2 )); then - _wanted subcommands expl 'subcommand' \ - compadd - list add delete && ret=0 - elif [[ $words[2] = add ]]; then - _message "name='value'" && ret=0 - else - _message "alias name" && ret=0 - fi - ;; - autoremove|downgrade|reinstall) - _dnf_packages_or_rpms -T installed && ret=0 - ;; - check) - tmp=( - '--all:show all problems (default)' - '--dependencies:show dependency problems' - '--duplicates:show duplicate problems' - '--obsoleted:show obsoleted packages' - '--provides:show problems with provides' - ) - _describe -t options 'option' tmp && ret=0 - ;; - check-update) - if [[ $cur = -* ]]; then - _wanted options expl 'option' compadd - --changelogs && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - clean) - tmp=( - 'dbcache:remove cache files generated from the repository metadata' - 'expire-cache:mark the repository metadata expired' - 'metadata:remove the repository metadata' - 'packages:remove any cached packages' - 'all:clean all' - ) - _describe -t targets 'clean target' tmp && ret=0 - ;; - distro-sync) - _dnf_packages -T installed && ret=0 - ;; - group) - if (( CURRENT == 2 )); then - tmp=( - "summary:display groups overview" - "info:display package lists of a group" - "install:install packages from a group" - "list:list all matching groups" - "remove:remove packages in a group not used by other groups" - "upgrade:upgrade the group and its packages" - "mark:mark a group for installation or removal" - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif (( CURRENT == 3 )) && [[ $cur = -* ]]; then - if [[ $words[2] == install ]]; then - _wanted options expl 'option' compadd - --with-optional && ret=0 - elif [[ $words[2] == list ]]; then - tmp=( - '--available:show only available groups' - '--installed:show only installed groups' - '--hidden:show also hidden groups' - '--ids:show also ID of groups' - ) - _describe -t options 'option' tmp && ret=0 - fi - elif (( CURRENT == 3 )) && [[ $words[2] == mark ]]; then - _wanted subcommands expl 'subcommand' \ - compadd - install remove && ret=0 - else - _dnf_groups && ret=0 - fi - ;; - help) - if (( CURRENT == 2 )); then - _wanted commands expl 'dnf command or alias' \ - compadd - $(_dnf_helper '_cmds') && ret=0 - fi - ;; - history) - if (( CURRENT == 2 )); then - tmp=( - "list:list transactions" - "info:describe the given transactions" - "redo:repeat the specified transaction" - "rollback:undo all since the given transaction" - "undo:undo transactions" - "userinstalled:list all packages installed by users" - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif [[ $words[2] != userinstalled ]]; then - _message 'transaction' && ret=0 - fi - ;; - info|list) - if (( CURRENT == 2 )); then - if [[ $cur = -* ]]; then - tmp=( --all --available --installed --extras - --obsoletes --upgrades --autoremove --recent ) - _wanted options expl 'option' compadd -a tmp - else - _dnf_packages -T all && ret=0 - fi - elif [[ $words[2] == --(all|recent) ]]; then - _dnf_packages -T all && ret=0 - elif [[ $words[2] == --available ]]; then - _dnf_packages -T available && ret=0 - elif [[ $words[2] == --upgrades ]]; then - _dnf_packages -T upgradable && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - install) - _dnf_packages_or_rpms -T available && ret=0 - ;; - makecache) - if (( CURRENT == 2 )); then - _describe -t options 'option' \ - '(--timer:"be more resource-aware")' && ret=0 - fi - ;; - mark) - if (( CURRENT == 2 )); then - _wanted subcommands expl 'mark as' \ - compadd - install remove group && ret=0 - else - _dnf_packages -T installed && ret=0 - fi - ;; - module) - if (( CURRENT == 2 )); then - tmp=( - 'install:install a module profile including its packages' - 'update:update packages associated with an active module stream' - 'remove:remove installed module profiles and their packages' - 'enable:enable a module stream' - 'disable:disable a module with all its streams' - 'reset:reset module state, no longer enabled or disabled' - 'provides:list modular packages, with modules they belong to' - 'list:list all (or selected) module streams, profiles and states' - 'info:print detailed information about a module' - 'repoquery:list packages belonging to a module' - ) - _describe -t subcommands 'subcommand' tmp && ret=0 - elif (( CURRENT == 3 )) && [[ $cur = -* ]]; then - if [[ $words[2] = remove ]]; then - tmp=( --all ) - elif [[ $words[2] = list ]]; then - tmp=( --all --enabled --disabled --installed ) - elif [[ $words[2] = info ]]; then - tmp=( --profile ) - elif [[ $words[2] = repoquery ]]; then - tmp=( --available --installed ) - fi - _wanted options expl 'option' compadd -a tmp && ret=0 - else - # TODO: complete module name or spec - if [[ $words[2] = provides ]]; then - _dnf_packages -T all && ret=0 - elif [[ $words[2] = (disable|reset|list) ]]; then - _message 'module name' && ret=0 - else - _message 'module spec' && ret=0 - fi - fi - ;; - provides) - _files && ret=0 - ;; - remove) - if (( CURRENT == 2 )) && [[ $cur = -* ]]; then - _wanted options expl 'option' \ - compadd - --duplicates --oldinstallonly && ret=0 - elif [[ $words[2] != -* ]]; then - _dnf_packages_or_rpms -T installed && ret=0 - fi - ;; - repolist) - if (( CURRENT == 2 )); then - _wanted options expl 'option' \ - compadd - --enabled --disabled --all && ret=0 - fi - ;; - repoquery|deplist) - _dnf_repoquery && ret=0 - ;; - repository-packages) - _dnf_repository_packages - ;; - search) - if [[ $cur = -* ]]; then - _wanted options expl 'option' compadd - --all && ret=0 - else - _message 'keywords' && ret=0 - fi - ;; - shell) - if (( CURRENT == 2 )); then - _wanted script-files expl 'script file' _files && ret=0 - fi - ;; - swap) - case $CURRENT in - 2) _dnf_packages -T installed && ret=0 ;; - 3) _dnf_packages -T available && ret=0 ;; - esac - ;; - updateinfo) - tmp=( - '--with-cve[print only advisories referencing CVE]' - '--with-bz[print only advisories referencing bugzilla]' - + '(output-type)' - '--summary[display just counts of advisories of each type]' - '--list[display list of advisories]' - '--info[display detailed information of advisories]' - + '(availability)' - '--available[limit to advisories about newer versions of installed packages]' - '--installed[limit to advisories about equal or older versions of installed packages]' - '--updates[limit to advisories about newer and available versions of installed packages]' - ) - _arguments '*: : _dnf_packages -T installed' $tmp && ret=0 - ;; - upgrade) - _dnf_packages_or_rpms -T upgradable && ret=0 - ;; - upgrade-minimal) - _dnf_packages -T upgradable && ret=0 - ;; - esac - return ret - fi -} - -_dnf "$@" diff --git a/result/sw/share/zsh/5.9/functions/_dns_types b/result/sw/share/zsh/5.9/functions/_dns_types deleted file mode 100644 index b6bc2e68..00000000 --- a/result/sw/share/zsh/5.9/functions/_dns_types +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -local expl -_description dns-types expl 'DNS type' -compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z}' \ - ANY A AAAA AFSDB APL AXFR CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME \ - DNSKEY DS HIP HINFO IPSECKEY IXFR KEY KX LOC MX NAPTR NS NSEC NSEC3 \ - NSEC3PARAM OPT PTR RRSIG RP SIG SOA SPF SRV SSHFP TA TKEY TLSA TSIG TXT diff --git a/result/sw/share/zsh/5.9/functions/_doas b/result/sw/share/zsh/5.9/functions/_doas deleted file mode 100644 index 3ef036a8..00000000 --- a/result/sw/share/zsh/5.9/functions/_doas +++ /dev/null @@ -1,23 +0,0 @@ -#compdef doas - -local environ e cmd cpp -local -a _comp_priv_prefix -local -A opt_args - -zstyle -a ":completion:${curcontext}:" environ environ - -for e in "${environ[@]}" -do local -x "$e" -done - -cmd="$words[1]" -cpp='_comp_priv_prefix=( $cmd -n ${(kv)opt_args[(I)-u]} )' -_arguments -s -S -A '-*' : \ - '(: * -)-L[clear any persisted authorizations]' \ - '(-L)-a+[specify authentication style]:authentication style' \ - '(-L -n -s)-C+[check config file and report on command matching]:config:_files' \ - '(-C -L)-n[non-interactive: fail rather than prompt for a password]' \ - '(-C -L *)-s[run a shell]' \ - '(-L)-u+[run command as specified user]: :_users' \ - "(-)1: :{ $cpp; _command_names -e }" \ - "*:: :{ $cpp; _normal }" diff --git a/result/sw/share/zsh/5.9/functions/_domains b/result/sw/share/zsh/5.9/functions/_domains deleted file mode 100644 index 851ac793..00000000 --- a/result/sw/share/zsh/5.9/functions/_domains +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -local expl domains tmp - -if ! zstyle -a ":completion:${curcontext}:domains" domains domains; then - if (( ! $+_cache_domains )); then - _cache_domains=() - if [[ -f /etc/resolv.conf ]]; then - while read tmp; do - [[ "$tmp" = (domain|search)* ]] && - _cache_domains=( "$_cache_domains[@]" "${=${tmp%%[ ]#}#*[ ]}" ) - done < /etc/resolv.conf - _cache_domains=( "${(@)_cache_domains:#[ ]#}" ) - fi - fi - domains=( "$_cache_domains[@]" ) -fi - -_wanted domains expl domain \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - domains diff --git a/result/sw/share/zsh/5.9/functions/_dos2unix b/result/sw/share/zsh/5.9/functions/_dos2unix deleted file mode 100644 index c7820a8e..00000000 --- a/result/sw/share/zsh/5.9/functions/_dos2unix +++ /dev/null @@ -1,129 +0,0 @@ -#compdef dos2unix unix2dos mac2unix unix2mac - -local variant ret=1 -local -a context expl line state state_descr cp_opts xl_opts args -local -A opt_args - -# Code-page options for ISO translation (use group `cp`) -cp_opts=( - '(-7 -ascii)-437[use DOS code page 437 (US) for ISO translation]' - '(-7 -ascii)-850[use DOS code page 850 (Western European) for ISO translation]' - '(-7 -ascii)-860[use DOS code page 860 (Portuguese) for ISO translation]' - '(-7 -ascii)-863[use DOS code page 863 (French Canadian) for ISO translation]' - '(-7 -ascii)-865[use DOS code page 865 (Nordic) for ISO translation]' - - '(-7 -ascii)-1252[use Windows code page 1252 (Western European) for ISO translation]' -) -# Translation/conversion options (use group `xl`) -xl_opts=( - '(cp)-7[also replace 8-bit characters by 7-bit spaces]' - '(cp)-ascii[convert only line breaks (CRLF<->LF)]' - '-iso[also convert between DOS and ISO character sets]' - - {-c,--convmode}'[specify conversion mode]:conversion mode:(( - 7bit\:"also replace 8-bit characters by 7-bit spaces" - ascii\:"convert only line breaks (CRLF<->LF)" - iso\:"also convert between DOS and ISO character sets" - mac\:"convert only line breaks (CR<->LF)" - ))' - {-ub,--assume-utf16be}'[assume input file format is UTF-16BE]' - {-ul,--assume-utf16le}'[assume input file format is UTF-16LE]' -) - -# `dos2unix` here is the dos2unix package provided by many Linux distributions, -# Homebrew, &al. `unix2dos` is the unix2dos package provided by FreeBSD, &al. -# Some implementations (Solaris) don't bother with any kind of argument -# validation, so we pass in /dev/null to make sure they never hang -_pick_variant -r variant \ - dos2unix='(#i)waterlan' \ - unix2dos='-p' \ - $OSTYPE \ - --version /dev/null{,} - -case $variant in - dos2unix) - # -D and -gb are omitted, since they only make sense on Windows - args=( - '(: * -)'{-h,--help}'[display help information]' - '(: * -)'{-L,--license}'[display license information]' - '(: * -)'{-V,--version}'[display version information]' - '(-l --newline)'{-l,--newline}'[write two line breaks to output for each converted line break]' - '(-u --keep-utf16)'{-u,--keep-utf16}'[write output in same UTF-16 encoding as input]' - '*:: :->file' - + '(qv)' # Verbosity options - {-q,--quiet}'[reduce output verbosity]' - {-v,--verbose}'[increase output verbosity]' - + '(cp)' # Code-page options - $cp_opts - + '(xl)' # Translation/conversion options - $xl_opts - + bm # BOM options - '(-b -r --keep-bom --remove-bom)'{-b,--keep-bom}'[write existing BOM to output]' - '(-m -r --add-bom --remove-bom)'{-m,--add-bom}'[write new BOM to output]' - '(bm)'{-r,--remove-bom}"[don't write BOM to output]" - + '(ch)' # chown options - '--allow-chown[allow file-ownership changes in old-file mode]' - "--no-allow-chown[don't allow file-ownership changes in old-file mode]" - + '(fs)' # Force/safe options - {-f,--force}'[force conversion of binary files]' - {-s,--safe}'[skip binary files]' - + '(in)' # Info options - {-i-,--info=-}'[display (specified) file information]:: :->info' - + '(ln)' # Symlink options - {-F,--follow-symlink}'[follow symbolic links]' - {-R,--replace-symlink}'[replace symbolic links]' - {-S,--skip-symlink}'[skip symbolic links]' - + '(no)' # File-mode options - {-n,--newfile}'[convert each input file to specified output file]' - {-o,--oldfile}'[convert input files in place]' - ) - # No stacking! - _arguments -S -A '-*' : $args && ret=0 - - case $state in - file) - if (( CURRENT % 2 == 0 )) && [[ -n ${opt_args[(I)*-(-n|--newfile)]} ]]; then - _description files expl 'output file' - else - _description files expl 'input file' - fi - _files "${(@)expl}" && ret=0 - ;; - info) - _values -s '' 'information flag [dumbt]' \ - '0[end each output line with NUL instead of newline]' \ - 'b[show BOM type]' \ - 'c[show only files that would be converted]' \ - 'd[show number of DOS line breaks (CRLF)]' \ - 'h[show header]' \ - 'm[show number of Mac line breaks (CR)]' \ - 'p[show file names without paths]' \ - 't[show whether file is text or binary]' \ - 'u[show number of UNIX line breaks (LF)]' \ - && ret=0 - ;; - esac - - return ret - ;; - unix2dos) - _arguments -s -S -A '-*' : \ - '-p[preserve access and modification times]' \ - '*:input file:_files' - return - ;; - solaris*) - _arguments -A '-*' : \ - '1:input file:_files' \ - '2:output file:_files' \ - + '(cp)' \ - ${(@M)cp_opts:#(|\([^\)]#\))-(437|850|860|863|865)(|\[*)} \ - + '(xl)' \ - ${(@M)xl_opts:#(|\([^\)]#\))-(7|ascii|iso)(|\[*)} - return - ;; - *) - _default - return - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dpatch-edit-patch b/result/sw/share/zsh/5.9/functions/_dpatch-edit-patch deleted file mode 100644 index 2c463066..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpatch-edit-patch +++ /dev/null @@ -1,17 +0,0 @@ -#compdef dpatch-edit-patch - -_arguments \ - '(-d --description)'{-d,--description=}'[description for the new patch, if applicable]' \ - '(-o --outdir)'{-o,--outdir=}'[output directory for patches]:patch output directory:_files -/' \ - '(-s --sourcedir)'{-s,--sourcedir=}'[source directory]:source directory:_files -/' \ - '(-t --tmpdir)'{-t,--tmpdir=}'[temporary directory]:temporary directory:_files -/' \ - '(-p --stampdir)'{-p,--stampdir=}'[stamp directory]:stamp directory:_files -/' \ - '(-e --exclude)'{-e,--exclude}'[list of files and directories to be excluded]:excluded files and directories:_files' \ - '(-b --debianonly)'{-b,--debianonly=}'[unpack .orig.tar.gz before invoking the shell]:path to .orig.tar.gz:_files' \ - '(-k --keeptemp)'{-k,--keeptemp}'[keep working source tree after exit]' \ - '(-c --clean)'{-c,--clean}'[clean the current directory]' \ - '(-l --shell)'{-l,--shell=}'[shell to be invoked]:shell:' \ - '(-P --origtargzpath)'{-P,--origtargzpath=}'[colon-separated list of paths containing upstream tarballs, use with -b]:path to upstream tarballs:_dir_list' \ - '(-h --help)'{-h,--help}'[help text]' \ - '1:patch name:_files -W $PWD/debian/patches -g \*.dpatch\(-.\:r\)' \ - '2:base patch name:_files -W $PWD/debian/patches -g \*.dpatch\(-.\:r\)' diff --git a/result/sw/share/zsh/5.9/functions/_dpkg b/result/sw/share/zsh/5.9/functions/_dpkg deleted file mode 100644 index 48ea2db9..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpkg +++ /dev/null @@ -1,194 +0,0 @@ -#compdef dpkg dpkg-deb dpkg-query dpkg-reconfigure - -local _dpkg_deb_actions _dpkg_common_actions _dpkg_actions _dpkg_options -local _dpkg_options_recursive #_dpkg_actions_install _dpkg_actions_record_avail -local _dpkg_deb_only_actions -local _dpkg_deb_and_query_only_actions _dpkg_deb_and_query_only_options -local _dpkg_query_actions -local curcontext="$curcontext" context state line expl ret -typeset -A opt_args - -_dpkg_deb_only_actions=( - '-D[debugging output]' - '(--new)--old[old archive format]' - '(--old)--new[new archive format]' - '--nocheck[suppress control file check]' - '-z+[compression level]:compression number:(1 2 3 4 5 6 7 8 9)' -) - -_dpkg_deb_actions=( - '(--build -b)'{--build,-b}'[build archive]:directory:_files -/' - '(--contents -c)'{--contents,-c}'[list contents]: :_deb_files' - '(--info -I)'{--info,-I}'[show info]: :_deb_files' - '(--field -f)'{--field,-f}'[show fields]: :_deb_files' - '(--control -e)'{--control,-e}'[extract control]: :_deb_files' - '(--extract -x)'{--extract,-x}'[extract files]: :_deb_files' - '(--vextract -X)'{--vextract,-X}'[extract and list files]: :_deb_files' - '--fsys-tarfile[output fs tarfile]: :_deb_files' -) - -_dpkg_common_actions=( - '--help[show help]' - '--version[show version]' - '(--license --licence)'{--license,--licence}'[show licensing]' -) - -_dpkg_actions=( - '(--install -i)'{--install,-i}'[install packages]:*:Debian packages:->install' - '--unpack[unpack package]: :_deb_files' - '--configure[reconfigure specified packages]:*:package:->configure' - '(--remove -r)'{--remove,-r}'[remove package]:*:package:->remove' - '(--purge -P)'{--purge,-P}'[purge package]:*:package:->purge' - '--update-avail[update available]:package file:_files' - '--merge-avail[merge available]:package file:_files' - '(--record-avail -A)'{--record-avail,-A}'[record available]:*:package files:->record_avail' - '--forget-old-unavail[forget uninstalled unavailable]' - '--clear-avail[clear available]' - '(--audit -C)'{--audit,-C}'[check for broken pkgs]' - '--get-selections[get selections]:pattern:' - '--set-selections[set selections]' - '--yet-to-unpack[list uninstalled]' - '--print-architecture[print target architecture]' - '--print-installation-architecture' - '--print-foreign-architectures[print list of extra architectures]' - '--add-architecture[add extra architecture]:architecture:->add_architecture' - '--remove-architecture[remove extra architecture]:architecture:->remove_architecture' - '--compare-versions[compare version numbers]:*::expression:= ->compare_versions' -) - -_dpkg_options=( - '--abort-after[abort after errors]:number of errors:' - '--root=[alternative root]:root:_files -/' - '--instdir=[change inst root but not data dir]:_files -/' - '(--selected-only -O)'{--selected-only,-O}'[skip unselected packages]' - '(--skip-same-version -E)'{--skip-same-version,-E}'[skip packages with same version as installed]' - '(--refuse-downgrade -G)'{--refuse-downgrade,-G}'[skip packages with earlier version than installed]' - '(--auto-deconfigure -B)'{--auto-deconfigure,-B}'[install can break other packages]' - '--largemem[optimize for >4Mb RAM]' - '--smallmem[optimize for <4Mb RAM]' - '--no-act[show potential actions but do not follow through]' - '-D+[debug options]:debug options:(h 1 2 3)' - '--debug=[debug options]:debug options:(help 1 2 3)' - '--ignore-depends=[ignore depends involving package]:package:_deb_packages avail' - --{force,refuse,no-force}'--[forcing options]:what:(all downgrade configure-any hold bad-path not-root overwrite overwrite-diverted bad-verify depends-version depends confnew confold confdef confmiss conflicts architecture overwrite-dir remove-reinstreq remove-essential help)' -) - -_dpkg_options_recursive=( '(--recursive -R)'{--recursive,-R}'[recursive]' ) - -_dpkg_deb_and_query_only_actions=( - '(--show -W)'{--show,-W}'[show package info]: :_deb_files' -) - -_dpkg_deb_and_query_only_options=( - '--showformat=-[alternative format]:format: ' -) - -_dpkg_query_actions=( - '(--status -s)'{--status,-s}'[display package status]:*:packages:->status' - '(--print-avail -p)'{--print-avail,-p}'[display available details]:packages:_deb_packages avail' - '(--listfiles -L)'{--listfiles,-L}'[list owned files]:*:packages:->listfiles' - '(--list -l)'{--list,-l}'[list packages]:*:packages:->list' - '(--search -S)'{--search,-S}'[search for file owner]:*:pattern:->search' - '--admindir=[data directory]:directory:_files -/' -) - -# not needed anymore? -# _dpkg_actions_install=('(--install)-i[install]' '(-i)--install') -# _dpkg_actions_record_avail=('(--record-avail)-A[record available]' '(-A)--record-avail') - -case "$service" in - dpkg) - _arguments -C -s \ - "$_dpkg_actions[@]" \ - "$_dpkg_deb_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_options[@]" \ - "$_dpkg_options_recursive[@]" \ - "$_dpkg_query_actions[@]" && return 0 - ;; - - dpkg-deb) - _arguments "$_dpkg_deb_actions[@]" \ - "$_dpkg_deb_only_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_deb_and_query_only_actions[@]" \ - "$_dpkg_deb_and_query_only_options[@]" && return 0 - - ;; - - dpkg-query) - _arguments "$_dpkg_query_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_deb_and_query_only_actions[@]" \ - "$_dpkg_deb_and_query_only_options[@]" && return 0 - ;; - dpkg-reconfigure) - _arguments -s -w \ - '(-f --frontend)'{-f,--frontend}'[select frontend to use]:frontend:(dialog readline noninteractive gnome kde editor web)' \ - '(-p --priority)'{-p,--priority}'[specify min priority of questions]:priority:(low medium high critical)' \ - '--default-priority[use default question priority]' \ - '(*)--all[reconfigure all installed packages using debconf]' \ - '(-u --unseen-only)'{-u,--unseen-only}'[only ask questions not yet seen are asked]' \ - '--force[reconfigure even packages in broken state]' \ - '(-)'{-h,--help}'[display help information]' \ - '*:package:_deb_packages installed' && return 0 - ;; -esac - -case "$state" in - install|record_avail) - _call_function ret _dpkg_$state && return ret -# not needed anymore? -# "${(@e):-\$_dpkg_actions_${state}}" \ - _arguments -C -A '-*' -s \ - "$_dpkg_options[@]" \ - \!${^_dpkg_actions%%:*} \ - - recur \ - "$_dpkg_options_recursive[@]" \ - '*:directory:_path_files -/' \ - - nonrecur \ - '*: :_deb_files' - ;; - remove|status|listfiles) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:package:_deb_packages installed' - ;; - purge) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:package:_deb_packages xinstalled' - ;; - list) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:packages:_deb_packages avail' - ;; - compare_versions) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s \ - '1:version A:' \ - '2:operator:(lt le eq ne ge gt lt-nl le-nl ge-nl gt-nl)' \ - '3:version B:' - ;; - configure) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s '--configure' \ - "$_dpkg_options[@]" \ - '(* -a --pending)'{-a,--pending}'[pending packages]' \ - '*:package:_deb_packages installed' - ;; - search) - _call_function ret _dpkg_$state && return ret - _files - ;; - add_architecture) - _call_function ret _dpkg_$state && return ret - _wanted architecture expl 'extra architecture' \ - compadd ${(f)"$(dpkg-architecture -L 2>/dev/null)"} - ;; - remove_architecture) - _call_function ret _dpkg_$state && return ret - _wanted architecture expl 'extra architecture' \ - compadd ${(f)"$(dpkg --print-foreign-architectures 2>/dev/null)"} -esac diff --git a/result/sw/share/zsh/5.9/functions/_dpkg-buildpackage b/result/sw/share/zsh/5.9/functions/_dpkg-buildpackage deleted file mode 100644 index b0eea578..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpkg-buildpackage +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dpkg-buildpackage - -_arguments \ - '-b[binary-only build, no source]' \ - '-B[binary-only build, no source or arch-indep binaries]' \ - '-S[source-only build, no binaries]' \ - '-s-:source generation:((i\:default a\:force\ inclusion\ of\ original\ source d\:force\ exclusion\ of\ original\ source))' \ - '-a-:architecture:_deb_architectures' \ - '-v-:version:' \ - '-C-:changes description:_files' \ - '-m-:maintainer address:_email_addresses' \ - '-e-:maintainer address:_email_addresses' \ - '(-d)-D[check build dependencies and conflicts]' \ - '(-D)-d[do not check build dependencies and conflicts]' \ - '-W[turn certain errors into warnings]' \ - '-E[negates previously-set -W]' \ - '-nc[do not clean source tree]' \ - '-tc[clean the source tree after build]' \ - '-r-:gain-root command: _command_names -e' \ - '-p-:sign command: _command_names -e' \ - '-k-:key ID:' \ - '-us[do not sign source package]' \ - '-uc[do not sign .changes file]' \ - '*-i-:ignore regexp:' \ - '*-I-:ignore filename:_files' \ - '--admindir=:dpkg database dir:_files -/' \ - '(-h --help)'{-h,--help}'[show usage message]' \ - '--version[show version]' diff --git a/result/sw/share/zsh/5.9/functions/_dpkg-cross b/result/sw/share/zsh/5.9/functions/_dpkg-cross deleted file mode 100644 index 7d890827..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpkg-cross +++ /dev/null @@ -1,22 +0,0 @@ -#compdef dpkg-cross - -local _dpkgcross_arches - -_dpkgcross_arches=(/etc/dpkg-cross/cross-config.*(N)) -_dpkgcross_arches=(${${_dpkgcross_arches#*.}:-alpha amd64 common cygwin-i386 gnu hppa i386 linux m32r m68k mips powerpc sh sh3 sh3eb sh4 sh4eb w32}) - -_arguments \ - '(-h --help)'{-h,--help}'[show summary of options]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-q --quiet)'{-q,--quiet}'[be more quiet]' \ - '(-a --arch)'{-a,--arch}':architecture:('"$_dpkgcross_arches"')' \ - '(-i --install)'{-i,--install}'[install packages]' \ - '(-A --convert-anyway)'{-A,--convert-anyway}'[convert package even if not useful]' \ - '(-b --build)'{-b,--build}'[just build but do not install]' \ - '(-r --remove)'{-r,--remove}'[remove packages]' \ - '(-s --status)'{-s,--status}'[print status of named packages]' \ - '(-l --list)'{-l,--list}'[print short status of named packages or patterns]' \ - '(-L --list-files)'{-L,--list-files}'[list files belonging to named packages]' \ - '(-u --update)'{-u,--update}'[update current cross-inst]' \ - '(-Q --query)'{-Q,--query}'[print available update packages]' \ - '*:package or path or pattern:_files' diff --git a/result/sw/share/zsh/5.9/functions/_dpkg-repack b/result/sw/share/zsh/5.9/functions/_dpkg-repack deleted file mode 100644 index 37f80051..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpkg-repack +++ /dev/null @@ -1,7 +0,0 @@ -#compdef dpkg-repack - -_arguments \ - '--root=[take package from filesystem rooted on <dir>]:root dir:_files -/' \ - '--arch=[force the package to be built for specified architecture]:architecture:_deb_architectures' \ - '--generate[generate build directory but do not build deb]' \ - '*:package:_deb_packages xinstalled' diff --git a/result/sw/share/zsh/5.9/functions/_dpkg_source b/result/sw/share/zsh/5.9/functions/_dpkg_source deleted file mode 100644 index eabe8bc3..00000000 --- a/result/sw/share/zsh/5.9/functions/_dpkg_source +++ /dev/null @@ -1,28 +0,0 @@ -#compdef dpkg-source - -_arguments \ - '-x[specify source file]:Debian source file:_files -g "*.dsc(-.)"' \ - '-b[specify source directory]:Debian source directory:_files -/' \ - '-c-[control file]:control file:_files' \ - '-l-[changelog file]:changelog file:_files' \ - '-F-[changelog format]:changelog format:' \ - '-V-[set substitutions variable]:expression:' \ - '-T-[alternate variable file]:varlistfile:' \ - '-D-[override dsc field]:expression:' \ - '-U-[remove a field]:field:' \ - '-i-[ignore files in diff]:filter:' \ - '-sa[autoselect orig source]' \ - '-sk[use packaged orig source - unpack and keep]' \ - '-sp[use packaged orig source - unpack and remove]' \ - '-su[use unpackaged orig source - unpack and keep]' \ - '-sr[use unpackaged orig source - unpack and remove]' \ - '-ss[trust packed and unpacked source are the same]' \ - '-sn[no diff, do main tarfile only]' \ - '-sA[autoselect orig source with overwrite]' \ - '-sK[use packaged orig source - unpack and keep with overwrite]' \ - '-sP[use packaged orig source - unpack and remove with overwrite]' \ - '-sU[use unpackaged orig source - unpack and keep with overwrite]' \ - '-sR[use unpackaged orig source - unpack and remove with overwrite]' \ - '-sp[leave original source packed in cwd]' \ - '-su[unpack original source tree too]' \ - '-h[help]' diff --git a/result/sw/share/zsh/5.9/functions/_dput b/result/sw/share/zsh/5.9/functions/_dput deleted file mode 100644 index bf6c2bae..00000000 --- a/result/sw/share/zsh/5.9/functions/_dput +++ /dev/null @@ -1,61 +0,0 @@ -#compdef dput - -_dput() { - local -a all_opts dput_opts dput_ng_opts - - all_opts=( - '(-c --config)'{-c,--config}'[specify config file]:config file:_files' - '(-h --help)'{-h,--help}'[show help message and exit]' - '(-f --force)'{-f,--force}'[force an upload]' - '(-P --passive)'{-P,--passive}'[use passive FTP for uploads]' - '(-U --no-upload-log)'{-U,--no-upload-log}'[do not write an .upload log after uploading]' - '(-D --dinstall)'{-D,--dinstall}'[run dinstall after upload]' - '(-e --delayed)'{-e,--delayed}'[number of days in delayed queue]:number of days:(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)' - '(-l --lintian)'{-l,--lintian}'[run lintian before upload]' - '(-o --check-only)'{-o,--check-only}'[check the package, do not upload]' - '(-u --unchecked)'{-u,--unchecked}'[do not check GPG signature on the changes file]' - '(-v --version)'{-v,--version}'[show version information]' - '1::host:_dput_hosts' - '*:changes file:_files -g "*.changes(-.)"' - ) - - dput_opts=( - '(-d --debug)'{-d,--debug}'[debug mode]' - '(-H --host-list)'{-H,--host-list}'[display host list]' - '(-s --simulate)'{-s,--simulate}'[simulate an upload only]' - '(-p --print)'{-p,--print}'[print configuration]' - ) - - dput_ng_opts=( - '*'{-d,--debug}'[enable debug messages, repeat twice to increase the verbosity level]' - '*'{-s,--simulate}'[simulate an upload only, repeat twice to increase level of simulation]' - '(-F --full-upload-log)'{-F,--full-upload-log}'[write more verbose .upload logs]' - ) - - if _pick_variant dputng="usage: dput" dput -H ; then - _arguments \ - "$all_opts[@]" "$dput_ng_opts[@]" - else - _arguments \ - "$all_opts[@]" "$dput_opts[@]" - fi -} - -_dput_hosts() { - local expl - - if ( [[ ${+_dput_cfhosts} -eq 0 ]] || _cache_invalid dputhosts ) && ! _retrieve_cache dputhosts; then - local cmd - if _pick_variant dputng="usage: dput" dput -H ; then - cmd=(dirt hosts) - else - cmd=(dput -H) - fi - _dput_cfhosts=(${${(M)${(f)"$($cmd)"}:#*=>*}/ =>*/}) - _store_cache dputhosts _dput_cfhosts - fi - - _wanted dputhosts expl 'target host' compadd -a _dput_cfhosts -} - -_dput "$@" diff --git a/result/sw/share/zsh/5.9/functions/_drill b/result/sw/share/zsh/5.9/functions/_drill deleted file mode 100644 index 68fa7917..00000000 --- a/result/sw/share/zsh/5.9/functions/_drill +++ /dev/null @@ -1,46 +0,0 @@ -#compdef drill - -local curcontext="$curcontext" ret=1 -local -a state line expl - -_arguments -s -S -C \ - '-D[enable DNSSEC (DO bit)]' \ - '-T[trace from the root down]' \ - '-S[chase signature(s) to a known key]' \ - '-I[specify source address to query from]:source address' \ - '(-Q)-V+[specify verbosity]:number (0-5)' \ - '(-V)-Q[quiet mode (overrules -V)]' \ - '-f+[read packet from file and send it]:file:_files' \ - '-i+[read packet from file and print it]:file:_files' \ - '-w+[write answer packet to file]:file:_files' \ - '-q+[write query packet to file]:file:_files' \ - '(- *)-h[display usage information]' \ - '(- *)-v[display version information]' \ - '(-6)-4[stay on ipv4]' \ - '(-4)-6[stay on ipv6]' \ - '-a[fallback to EDNS0 and TCP if the answer is truncated]' \ - '-b+[specify buffer size (defaults to 512 b)]:size (bytes) [512]' \ - '-c+[use specified file for rescursive nameserver configuration]:file [/etc/resolv.conf]:_files' \ - '-k+[specify a file that contains a trusted DNSSEC key]:file:_files' \ - '*-o+[set/unset header bits]:mnemonic (uppercase sets, lower unsets):_sequence compadd - QR qr AA aa TC tc RD rd CD cd RA ra AD ad' \ - '-p+[use specified remote port number]:port:_ports' \ - '-s[show the DS RR for each key in a packet]' \ - '-x[do a reverse lookup]' \ - '-r+[use specified file as root servers hint file]:file:_files' \ - '-t[send the query with tcp]' '!(-t)-u' \ - '-d+[use specified domain as the start point for the trace]:domain' \ - '-y+[specify named base64 tsig key, and optional algorithm]:name\:key\:algorithm [hmac-md5.sig-alg.reg.int]' \ - "-z[don't randomize the nameservers before use]" \ - '*:args:->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P @; then - _wanted hosts expl 'DNS server' _hosts && ret=0; - else - _alternative 'hosts:host:_hosts' \ - 'types:query type:_dns_types' \ - 'classes:query class:compadd -M "m:{a-z}={A-Z}" - IN CS CH HS' && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_dropbox b/result/sw/share/zsh/5.9/functions/_dropbox deleted file mode 100644 index 45c77ae0..00000000 --- a/result/sw/share/zsh/5.9/functions/_dropbox +++ /dev/null @@ -1,66 +0,0 @@ -#compdef dropbox - -if [[ CURRENT -eq 2 || $words[2] = help ]]; then - local -a line progs - - _call_program command dropbox help | - while read -A line; do - if [[ $line[1] = [a-z]## ]]; then - progs+=("${line[1]}:${line[2,-1]}") - fi - done - - _describe -t command 'Dropbox command' progs -else - local -a opts - - case $words[2] in - (exclude) - _path_files -g '*(/)' - ;; - - (filestatus) - shift words - (( CURRENT-- )) - _arguments -s : \ - '(-l --list)'{-l,--list}'[use format like ls]' \ - '(-a --all)'{-a,--all}'[do not ignore entries starting .]' \ - '*:File to list:_files' - ;; - - (ls|puburl|sharelink) - _files - ;; - - (autostart|lansync) - opts=("y:turn $words[2] on" "n:turn $words[2] off") - _describe "$words[2] behaviour" opts - ;; - - (proxy) - _arguments \ - '2:proxy mode:(none auto manual)' \ - '3:proxy type for manual mode:(http socks4 socks5)' \ - '4:proxy host for manual mode:_hosts' \ - '5:proxy port for manual mode:_ports' \ - '6:proxy user for manual mode:_users' \ - '7:proxy password for manual mode:' - ;; - - (start) - shift words - (( CURRENT-- )) - _arguments -s : '(-i --install)'{-i,--install}'[auto install dropboxd]' - ;; - - (throttle) - _arguments \ - '2:download limit (KB/s):(unlimited)' \ - '3:upload limit (KB/s):(unlimited)' - ;; - - (*) - _default - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_dscverify b/result/sw/share/zsh/5.9/functions/_dscverify deleted file mode 100644 index 84b00e4e..00000000 --- a/result/sw/share/zsh/5.9/functions/_dscverify +++ /dev/null @@ -1,26 +0,0 @@ -#compdef dscverify - -# $ dscverify --version -# This is dscverify, from the Debian devscripts package, version 2.20.2 -# ... - -local all_opts=( - '--help[show the help message and exit]' - '--version[show the version + copyright and exit]' - '--no-default-keyrings[do not check against the default keyrings]' - '*--keyring[add keyring to the list of keyrings used]:keyring:_files -g "*.(kbx|gpg)(-.)"' - '(--nosigcheck --no-sig-check -u)'{--nosigcheck,--no-sig-check,-u}"[don't verify the GPG signature]" - "--verbose[don't suppress GPG output]" - '*:dsc file:_files -g "*.(changes|dsc|buildinfo)(-.)"' -) - -local first_only=( - '(--no-conf --noconf)'{--no-conf,--noconf}"[don't read the devscripts config file]" -) - -if (( CURRENT == 2 )); then - all_opts+=( $first_only ) -fi - -_arguments \ - "$all_opts[@]" diff --git a/result/sw/share/zsh/5.9/functions/_dsh b/result/sw/share/zsh/5.9/functions/_dsh deleted file mode 100644 index 2486b23f..00000000 --- a/result/sw/share/zsh/5.9/functions/_dsh +++ /dev/null @@ -1,34 +0,0 @@ -#compdef dsh - -local curcontext="$curcontext" state line expl -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -s -C -S \ - '(-v --verbose -q --quiet)'{-v,--verbose}'[verbose output]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[quieter output]' \ - '(-M --show-machine-names)'{-M,--show-machine-names}'[prepend the host name on output]' \ - '(-i --duplicate-input)'{-i,--duplicate-input}'[duplicate input given to dsh]' \ - '(-b --bufsize)'{-b,--bufsize}'[change buffer size used in input duplication]:buffer size for -i (bytes)' \ - \*{-m,--machine}'[execute on machine]:machine:{_hosts || _user_at_host}' \ - '(-n --num-topology)'{-n,--num-topology}'[how to divide the machines]:number' \ - '(-a --all)'{-a,--all}'[execute on all machines]' \ - \*{-g,--group}'[execute on group member]:groupname:->groups' \ - '(-f --file)'{-f,--file}'[use the file as list of machines]:file:_files' \ - '(-r --remoteshell)'{-r,--remoteshell}'[execute using shell]:remote shell:(rsh ssh)' \ - '(-o --remoteshellopt)'{-o,--remoteshellopt}'[option to give to remote shell ]:option' \ - '(-)'{-h,--help}'[display help information]' \ - '(-w --wait-shell -c --concurrent-shell)'{-w,--wait-shell}'[sequentially execute shell]' \ - '(-c --concurrent-shell -w --wait-shell)'{-c,--concurrent-shell}'[execute shell concurrently]' \ - '(-F --forklimit)'{-F,--forklimit}'[concurrent with limit on number]:fork limit' \ - '(-)'{-V,--version}'[display version information]' \ - '*::args: _normal' && return - -if [[ $state = groups ]]; then - if ! zstyle -s ":completion:${curcontext}:dsh-groups" dsh-groups grp; then - [[ -e ~/.dsh/group ]] && grp="~/.dsh/group" || return 1 - fi - _path_files -W ~/.dsh/group && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_dtrace b/result/sw/share/zsh/5.9/functions/_dtrace deleted file mode 100644 index 06e0dc4f..00000000 --- a/result/sw/share/zsh/5.9/functions/_dtrace +++ /dev/null @@ -1,152 +0,0 @@ -#compdef dtrace - -local curcontext="$curcontext" ret=1 -local -a state line args xopts - -case $OSTYPE in - ^darwin*) - args=( - '-32[generate 32-bit D programs and ELF files]' - '-64[generate 64-bit D programs and ELF files]' - '(-A -h -l -V)-G[generate an ELF file containing embedded dtrace program]' - '-X+[specify ISO C conformance settings for preprocessor]:ISO C conformance:((a\:"ISO plus K&R extensions (default)" c\:"Strictly conformant ISO C" s\:"K&R C only" t\:"ISO plus K&R extensions"))' - ) - xopts=( - 'errexit[exit on error with specified status code]::status [1]' - 'noresolve[do not perform user address symbol resolution]' - 'uresolve[specify resolution of user addresses]:how:(no symbol basename absolute)' - ) - ;; - darwin*) - args=( - '*-W[wait for the named process to launch]:name' - ) - xopts=( - 'amin[set minimum stability attributes]:attribute' - 'arch[set target data model]:arch' - 'argref[ignore additional positional command-line args]' - 'core[create core dump when exiting dtrace]' - 'cpp[run C preprocessor over D programs before compiling]' - 'cpphdrs[print each header file name used]' - 'ctypes[write all CTF definitions into a file]:file:_file' - 'debug[enable DTrace debug messages]' - 'define[add preprocessor define]:var[=val]' - 'disallow_dsym[do not use dSYM files]' - 'droptags[print drop tags to stderr]' - 'empty[allow empty D files]' - 'encoding[set encoding used for output]:encoding:(ascii utf8)' - 'errtags[prefix error message with error tags]' - 'evaltime[when to start instrumenting a new process]:when:(preinit postinit)' - 'incdir[add include file search directory]:directory:_files -/' - 'ireg[specify size of DIF integer register set]:size' - 'late[set whether references to dynamic translators are allowed]: :(dynamic static)' - 'libdir[add library search directory]:directory:_files -/' - 'mangled[show mangled symbols for C++/Swift probes]' - 'nolibs[do not include D system libraries]' - 'nojtanalysis[disable jump table analysis]' - 'noerror[do not show error messages]' - 'pgmax[set maximum number of processes DTrace can grab at the same time]:number' - 'preallocate[preallocate memory in dtrace before running the script]:size' - 'pspec[interpret ambiguous specifications as probe names]' - 'strip[strip non-loadable sections from D program]' - 'tree[show dtrace compiler parse tree at different stages]:bitmap:(1 2 4)' - 'tregs[specify size of DIF tuple register set]:size' - 'undef[add #undef into preprocessor predefines]:var name' - 'verbose[show D compiler intermediate code]' - 'version[request specific version of DTrace scripting language]:version' - 'zdefs[permit probe descriptions that match zero probes]' - 'buflimit[specify threshold percentage for early buffer switches]:percentage (1-99)' - 'temporal[whether to sort events in time order]:bool:(true false)' - 'stacksymbols[whether to symbolicate stack symbols]:bool:(true false)' - ) - ;; -esac - -xopts+=( - 'aggrate[rate of aggregation reading]:time' - 'aggsize[aggregation buffer size]:size' - 'ustackframes[number of user stack frames]:scalar' - 'bufpolicy[specify the buffer policy for the principal buffer]:policy:(fill switch ring)' - 'bufresize[buffer resizing policy]:policy:(auto manual)' - 'bufsize[size of the per-CPU principal buffer]:size' - 'cleanrate[cleaning rate (hz)]:time' - 'cpu[specify the CPU on which to enable tracing]:scalar' - 'defaultargs[allow references to unspecified macro arguments]' - 'destructive[allow destructive actions]' - 'dynvarsize[size of the dynamic variable space]:size' - 'flowindent[turn on flow indentation]' - 'grabanon[claim anonymous state]' - 'jstackframes[number of default stack frames for jstack()]:scalar' - 'jstackstrsize[default string space size for jstack()]:scalar' - 'nspec[number of speculations]:scalar' - 'quiet[set quiet mode]' - 'specsize[size of the speculation buffer]:size' - 'strsize[maximum size of strings]:size' - 'stackframes[maximum number of kernelspace stack frames to unwind for stack()]:scalar' - 'stackindent[whitespace characters to use when indenting stack() and ustack() output]:scalar' - 'statusrate[rate of status checking]:time' - 'switchrate[rate of buffer switching]:time' - 'ustackframes[maximum number of userspace stack frames to unwind for ustack()]:scalar' - 'agghist[whether to show histogram for all aggregations]:bool:(true false)' - 'aggpack[pack aggregations together]' - 'aggsortkey[sort aggregation by key]' - 'aggsortkeypos[position of aggregate key used for sorting]:position' - 'aggsortpos[position of the aggregate variable used for sorting]:position' - 'aggsortrev[sort aggregations in reverse order]' - 'aggzoom[zoom aggregation histogram to the maximum value]' - 'rawbytes[always print tracemem output in hexadecimal]' -) - -_arguments -C -s $args \ - '-a[claim anonymous tracing state]' \ - '(-G -h -l -V)-A[generate driver.conf(4) directives for anonymous tracing]' \ - '-b+[set trace buffer size]:size' \ - '*-c+[run specified command and exit upon its completion]:command' \ - '-C[run cpp(1) preprocessor on script files]' \ - '*-D+[define symbol when invoking preprocessor]:name' \ - '-e[exit after compiling request but prior to enabling probes]' \ - '-f+[enable or list probes matching the specified function name]:function:->functions' \ - '-F[coalesce trace output by function]' \ - '-H[print included files when invoking preprocessor]' \ - '(-A -G -l -V)-h[generate a header file]' \ - '*-i+[enable or list probes matching the specified probe id]:probe-id' \ - '-I+[add include directory to preprocessor search path]:path:_directories' \ - '(-A -G -h -V)-l[list probes instead of enabling them]' \ - '-L+[add directory to search path for DTrace libraries]:path:_directories' \ - '*-m+[trace or list probes matching the specified module name]:module:->modules' \ - '*-n+[trace or list probes matching the specified probe name]:name:->probes' \ - '-o+[set output file]:output file:_files' \ - '-p+[grab specified process-ID and cache its symbol tables]:pid:_pids' \ - '*-P+[trace or list probes matching the specified provider name]:provider:->providers' \ - '-q[set quiet mode (only output explicitly traced data)]' \ - '*-s+[enable or list probes according to the specified D script]:script file:_files' \ - '-S[print D compiler intermediate code]' \ - '*-U+[undefine symbol when invoking preprocessor]:name' \ - '-v[set verbose mode (report program stability attributes)]' \ - '(-A -G -h -l)-V[report DTrace API version]' \ - '-w[permit destructive actions]' \ - '*-x+[enable or modify compiler and tracing options]: : _values option $xopts' \ - '-Z[permit probe descriptions that match zero probes]' && return - -if [[ -n $state ]]; then - local -a fields=( providers modules functions probes ) - local -a suf=( : : : ) - typeset -ga _cache_dtrace_probes - (( $#_cache_dtrace_probes )) || _cache_dtrace_probes=( - ${${${${(f)"$(_call_program dtrace-probes dtrace -l)"}[2,-1]}:#*[:[#]*}/(#b) #<-> #([^ ]#) #([^ ]#) #([^ ]#) ##([^ ]##)/${match[1]}:${match[3]:+$match[2]}:${match[3]:-$match[2]}:$match[4]} - ) # filtering out those containing : and [, they occur on macos but may just be unmangled forms and not directly usable - suf[${fields[(i)$state]}]=( "${compstate[quote][-1]} " ) # field matching the state gets a space suffix - while compset -P 1 '*:'; do - shift fields # each already listed field reduces one being possible - done - _tags dtrace-${^fields[1,(r)$state]} - while _tags; do - _requested dtrace-probes expl 'probe name' compadd -S "$suf[4]" - ${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#(#e)}##*:} && ret=0 - _requested dtrace-functions expl 'function' compadd -S "$suf[3]" - ${${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#:[^:]#(#e)}%:*}##*:} && ret=0 - _requested dtrace-modules expl 'module' compadd -S "$suf[2]" - ${${${(M)_cache_dtrace_probes:#((#s)|*:)${IPREFIX}[^:]#:[^:]#:[^:]#(#e)}#*:}%%:*} && ret=0 - _requested dtrace-providers expl 'provider' compadd -S "$suf[1]" - ${_cache_dtrace_probes%%:*} && ret=0 - (( ret )) || return 0 - done -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_dtruss b/result/sw/share/zsh/5.9/functions/_dtruss deleted file mode 100644 index b56e713d..00000000 --- a/result/sw/share/zsh/5.9/functions/_dtruss +++ /dev/null @@ -1,18 +0,0 @@ -#compdef dtruss - -_arguments -s : \ - '-a[print all details]' \ - '-b+[specify dynamic variable buffer size]:buffer size [4m]' \ - '-c[print system call counts]' \ - '-d[print relative timestamps]' \ - '-e[print elapsed times]' \ - '-f[follow children as they are forked]' \ - '-l[force printing of pid/lwpid per line]' \ - "-L[don't print pid/lwpid per line]" \ - '(-p :)-n+[examine processes with the specified name]: : _process_names -a' \ - '-o[print on-cpu times]' \ - '-s[print stack backtraces]' \ - '(-n :)-p+[examine process with the specified pid]: : _pids' \ - '-t+[examine only the specified syscall]: : _sys_calls' \ - '1: : _command_names -e' \ - '*:: : _normal' diff --git a/result/sw/share/zsh/5.9/functions/_du b/result/sw/share/zsh/5.9/functions/_du deleted file mode 100644 index 711f4347..00000000 --- a/result/sw/share/zsh/5.9/functions/_du +++ /dev/null @@ -1,79 +0,0 @@ -#compdef du gdu - -if _pick_variant gnu=Free\ Soft unix --version /dummy/no-such-file; then - local context state line expl ret=1 - - _arguments -s \ - '(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \ - '--apparent-size[print apparent sizes rather than disc usage]' \ - '(-B --block-size -k)'{-B+,--block-size=}'[specify block size]:size (bytes)' \ - '(-B --block-size -k --apparent-size -b --bytes)'{-b,--bytes}'[equivalent to --apparent-size --block-size=1]' \ - '(-c --total)'{-c,--total}'[produce a grand total]' \ - '(-H -D --dereference-args -L --dereference -P --no-dereference)'{-H,-D,--dereference-args}'[dereference arguments that are symlinks]' \ - '(-H -D --dereference-args -L --dereference -P --no-dereference)'{-P,--no-dereference}'[do not dereference any symlinks]' \ - '(-h --human-readable -H --si)'{-h,--human-readable}'[print sizes in human readable format]' \ - '(--si -h --human-readable)--si[human readable form using powers of 1000]' \ - '(-B --block-size)-k[use block size of 1k]' \ - '(-B --block-size)-m[use block size of 1M]' \ - '(-l --count-links)'{-l,--count-links}'[count sizes many times if hard linked]' \ - '(-L --dereference -H -D --dereference-args -P --no-dereference)'{-L,--dereference}'[dereference all symlinks]' \ - '(-S --separate-dirs)'{-S,--separate-dirs}'[do not include size of subdirectories]' \ - '(-s --summarize --max-depth -d -a --all)'{-s,--summarize}'[only report total for each argument]' \ - '(-x --one-file-system)'{-x,--one-file-system}'[skip directories on different filesystems]' \ - '(-0 --null)'{-0,--null}'[end each output line with NUL instead of newline]' \ - \*{-X+,--exclude-from=}'[exclude files matching any pattern in file]:file:_files' \ - '*--exclude=[exclude files matching pattern]:pattern' \ - '(-s --summarize -d --max-depth)'{-d+,--max-depth=}'[maximum levels to recurse]:levels' \ - '--files0-from=[use NUL-terminated list of files from file]:file:_files' \ - '--time-style=[show times using given style, +FORMAT for strftime formatted args]:style:->timestyle' \ - '--time=-[show time of last modification of any file in the directory]:property:(atime access use ctime status)' \ - '(-t --threshold)'{-t+,--threshold=}'[report only entries for which size exceeds threshold]:threshold' \ - '--inodes[list inode usage information instead of block usage]' \ - '(* -)--help[display help information]' \ - '(* -)--version[display version information]' \ - '*:file:_files' && ret=0 - - case $state in - (timestyle) - local -a style desc - style=(full-iso long-iso iso +) - desc=('full-iso' 'long-iso' 'iso' '+FORMAT like `date'\''') - _wanted -C $context -V style expl style compadd -d desc -a style && ret=0 - ;; - esac - - return ret - -else - local pattern arg args - args=( - '(-a -s -d)-a[report sizes for all files, not just directories]' - '(-H -L -P)-L[follow all symlinks]' - '(-a -s -d)-s[only report total for each argument]' - '(-h -m -g -B)-k[use block size of 1K-byte]' - '-r[notify about unreadable files/directories]' - ) - local xdev='[skip directories on different filesystems]' - for pattern arg in \ - 'freebsd*' '-A[apparent size instead of usage]' \ - '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-H -L -P)-H[follow symlinks on the command line]' \ - '(darwin|*bsd|dragonfly)*' '(-H -L -P)-P[do not follow symlinks (default)]' \ - '(darwin|dragonfly|freebsd)*' '*-I+[ignore files/directories matching specified mask]:mask' \ - '(darwin|*bsd|dragonfly)*' '(-a -s -d)-d+[display entry for directories up to specified depth]:depth' \ - '(darwin*|*bsd*|dragonfly*|solaris2.<10->)' '(-k -m -g -B)-h[human readable output]' \ - 'netbsd*' '-i[output inode usage instead of blocks]' \ - '(darwin*|freebsd*|netbsd*|solaris2.<11->)' '(-h -k -g -B)-m[use block size of 1M-byte]' \ - '(darwin|freebsd<8->.|netbsd)*' '(-h -k -m -B)-g[use block size of 1G-byte]' \ - 'freebsd*' '(-h -k -m -g)-B+[block size]:block size (bytes)' \ - '(darwin|*bsd|dragonfly)*' '-c[display grand total]' \ - 'freebsd*' '-l[count sizes many times if hard linked]' \ - '(freebsd|netbsd)*' '-n[ignore files and directories with nodump flag set]' \ - 'solaris*' "(-a)-o[don't add child directories' usage to parent's total]" \ - 'freebsd<8->.*' '-t+[report only entries for which size exceeds threshold]:threshold' \ - 'solaris*' "-d$xdev" \ - '(darwin|*bsd|dragonfly|solaris)*' "-x$xdev" - do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) - done - _arguments -s -A "-*" $args '*:file:_files' -fi diff --git a/result/sw/share/zsh/5.9/functions/_dumpadm b/result/sw/share/zsh/5.9/functions/_dumpadm deleted file mode 100644 index 44d681ae..00000000 --- a/result/sw/share/zsh/5.9/functions/_dumpadm +++ /dev/null @@ -1,22 +0,0 @@ -#compdef dumpadm - -local -a content - -content=( - 'kernel:kernel memory pages only' - 'all:all memory pages' - 'curproc:kernel memory pages plus curproc pages' - 'allproc:kernel memory pages and all process pages' -) -_arguments -s \ - '-e[print estimate of disk space required to store compressed crash dump]' \ - "-n[don't run savecore on reboot]" \ - '-p[produce machine parseable output]' \ - '-u[update dump configuration from dumpadm.conf]' \ - '-y[run savecore on reboot]' \ - '-c[set dump content]:dump content:(($content))' \ - '-d[set dump device]: : _alternative "tokens\:token\:(swap none)" "files\:block device\:_files -g \*\(-%b\)"' \ - '-m[set minfree size]:size' \ - '-s[set the savecore directory]:directory:_files -/' \ - '-r[alternate root directory]:directory:_files -/' \ - '-z[enable saving core files in a compressed format]:compression:(on off)' diff --git a/result/sw/share/zsh/5.9/functions/_dumper b/result/sw/share/zsh/5.9/functions/_dumper deleted file mode 100644 index 42af5fd0..00000000 --- a/result/sw/share/zsh/5.9/functions/_dumper +++ /dev/null @@ -1,11 +0,0 @@ -#compdef dumper dumper.exe - -# cygwin 1.5.25 - -_arguments -s -S \ - '(--verbose -d --quiet -q)'{-d,--verbose}'[be verbose while dumping]' \ - '(--verbose -d --quiet -q)'{-q,--quiet}'[be quiet while dumping (default)]' \ - '(- 1 *)'{-h,--help}'[output help information and exit]' \ - '(- 1 *)'{-v,--version}'[output version information and exit]' \ - '1: :_files' \ - '*: :_pids' diff --git a/result/sw/share/zsh/5.9/functions/_dupload b/result/sw/share/zsh/5.9/functions/_dupload deleted file mode 100644 index 65ce4b0e..00000000 --- a/result/sw/share/zsh/5.9/functions/_dupload +++ /dev/null @@ -1,21 +0,0 @@ -#compdef dupload - -if (( ! $+_dupload_sites )); then - _dupload_sites=( - $(grep -hs "^\$cfg" /etc/dupload.conf ~/.dupload.conf | sed 's/^\$cfg{\([^}]*\)}.*$/\1/') - ) -fi - -_arguments \ - '--to:nickname[nickname of target site]:('"$_dupload_sites"')' \ - '(-d --debug)'{-d,--debug}'[ftp verbosity]:debuglevel:' \ - '(-f --force)'{-f,--force}'[upload ignoring logs]' \ - '(-k --keep)'{-k,--keep}'[keep going, skip broken]' \ - '--no[dry run]' \ - '--nomail[suppress announcement]' \ - '--mailonly[dry run and real announcement]' \ - '--noarchive[add anti-archival header]' \ - '(-p --print)'{-p,--print}'[print config legibly]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-V --Version)'{-V,--Version}'[display version information]' \ - '*:changes file:_files -g "*.changes(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_dvi b/result/sw/share/zsh/5.9/functions/_dvi deleted file mode 100644 index 6576a84d..00000000 --- a/result/sw/share/zsh/5.9/functions/_dvi +++ /dev/null @@ -1,104 +0,0 @@ -#compdef dvips dvibook dviconcat dvicopy dvidvi dvipdf dviselect dvitodvi dvitype - -local expl args - -args=( - '-i[specify input file]:input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - '-o[specify output file]:output DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':output DVI file:_files -g "*.(dvi|DVI)(-.)"' -) - -case "$service" in -dvips) - _arguments \ - '-a[make three passes]' \ - '(-B)-A[print only odd numbered pages]' \ - '(-A)-B[print only even numbered pages]' \ - '(-c -C)-b[select number of copies (duplicating body)]:number of copies' \ - '(-b -C)-c[select number of copies]:number of copies' \ - '(-b -c)-C[select number of copies (collated)]:number of copies' \ - '-d[set debug flags]:debug flags' \ - '(-X -Y)-D[set resolution]:resolution in dots per inch' \ - '-e[set maximum character offset]:maximum character offset' \ - '-E[generate EPSF file]' \ - '(-o)-f[write to stdout]' \ - '-F[append control-D]' \ - '-G[shift low chars to higher position]' \ - '-h[specify additional header file]:postscript header file:_files -g "*.(#i)(ps|eps)(-.)"' \ - '-i[one file per section]' \ - '-j[download fonts partially]' \ - '-k[print crop marks]' \ - '-K[include postscript comments]' \ - '(-pp)-l[specify last page to print]:number of last page' \ - '-m[specify manual feed for printer]' \ - '-M[no automatic font generation]' \ - '(-pp)-n[specify maximum number of pages to print]:maximum number of pages' \ - '-N[turn off structured comments]' \ - '(-f)-o[specify output file name]:output file name:_files -g "*.(#i)(ps|eps)(-.)"' \ - '-O[specify offset of origin]:offset of origin (<x>,<y>)' \ - '(-p -l -n)-pp[specify which pages to print]:list of pages or ranges to print:' \ - '(-pp)-p[specify first page to print]:number of first page' \ - '-P+[specify printer]:printer name' \ - '-q[quiet operation]' \ - '-r[reverse order of pages]' \ - '-R[run securely]' \ - '-s[enclose output in save/restore pair]' \ - '-S[set maximum number of pages per section]:maximum number of pages per section' \ - '(-T)*-t[specify paper type]:paper type:(letter legal ledger a4 a3 landscape)' \ - '(-t)-T[set paper size]:paper size (<x>,<y>)' \ - '-u:PS mapfile:' \ - '-U[disable string param trick]' \ - '-v[print version number and quit]' \ - '-V[send downloadable PS fonts as PK]' \ - '-x[set magnification ratio]:magnification ratio (per mille)' \ - '(-D)-X[set horizontal resolution]:horizontal resolution' \ - '-y[multiply by dvi magnification]' \ - '(-D)-Y[set vertical resolution]:vertical resolution' \ - '-z[hyper PS]' \ - '-Z[compress bitmapped fonts]' \ - ':input file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dvibook) - _arguments -s \ - '-q[quiet operation]' \ - '-s-[specify signature size]:signature size' \ - "$args[@]" - ;; -dviconcat) - _arguments \ - '-m[specify magnification]:magnification factor' \ - '-o[specify output file]:output DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - '*:input DVI file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dvidvi) - _arguments -s \ - '-q[quiet operation]' \ - '-r[reverse order of pages]' \ - '(-i -x)-f[select first page]:number of first page:' \ - '(-i -x)-l[select last page]:number of last page:' \ - '(-i -x)-n[select number of pages]:maximum number of pages:' \ - '(-f -l -n)-i[specify included pages]:list of included pages:' \ - '(-f -l -n)-x[specify excluded pages]:list of excluded pages:' \ - ':input DVI file:_files -g "*.(dvi|DVI)(-.)"' \ - ':output DVI file:_files -g "*.(dvi|DVI)(-.)"' - ;; -dviselect) - _arguments -s \ - '-s[silent operation]' \ - ':list of pages:' \ - "$args[@]" - ;; -dvitodvi) - _arguments -s \ - '-q[quiet operation]' \ - '-w-[set w dimension specifier]:width for dimension specifier:' \ - '-h-[set h dimension specifier]:height for dimension specifier:' \ - ':page specifications:' \ - "$args[@]" - ;; -*) - _description files expl 'DVI file' - _files "$expl[@]" -g '*.(dvi|DVI)(-.)' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_dynamic_directory_name b/result/sw/share/zsh/5.9/functions/_dynamic_directory_name deleted file mode 100644 index f449c3b1..00000000 --- a/result/sw/share/zsh/5.9/functions/_dynamic_directory_name +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local func -integer ret=1 - -if [[ -n $functions[zsh_directory_name] || \ - ${+zsh_directory_name_functions} -ne 0 ]] ; then - [[ -n $functions[zsh_directory_name] ]] && zsh_directory_name c && ret=0 - for func in $zsh_directory_name_functions; do - $func c && ret=0 - done - return ret -else - _message 'dynamic directory name: implemented as zsh_directory_name c' -fi diff --git a/result/sw/share/zsh/5.9/functions/_e2label b/result/sw/share/zsh/5.9/functions/_e2label deleted file mode 100644 index 2545f72a..00000000 --- a/result/sw/share/zsh/5.9/functions/_e2label +++ /dev/null @@ -1,3 +0,0 @@ -#compdef e2label - -_arguments '1:device:_files' '2::volume label:(/dev/disk/by-label/*(N:t))' diff --git a/result/sw/share/zsh/5.9/functions/_ecasound b/result/sw/share/zsh/5.9/functions/_ecasound deleted file mode 100644 index 5fd9055a..00000000 --- a/result/sw/share/zsh/5.9/functions/_ecasound +++ /dev/null @@ -1,212 +0,0 @@ -#compdef ecasound - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '-c[start in interactive mode]' \ - '(-q)-d\:-[debug level]:debug level' \ - '-D[print all debug information to stderr]' \ - '(-d)-q[quiet mode, no output]' \ - '(-)--help[show usage information]' \ - '(-)--version[show version information]' \ - '-n\:-[set the name of chainsetup]:chainsetup name' \ - '-s\:-[create a new chainsetup from file]:chainsetup file:_files' \ - '-sr\:-[set internal sampling rate]:internal sampling rate:(8000 11025 22050 44100 48000)' \ - '*-a\:-[select active signal chains]:chain name' \ - '-b\:-[set the size of buffer in samples]:buffer size:->b' \ - '-m\:-[force use of specified mix mode]:mix mode:((auto\:automatic simple\:only\ one\ input/cain/output normal\:normal\ single-threaded\ mode))' \ - '-r[use realtime scheduling policy (SCHED_FIFO)]' \ - '-r\:-[use realtime scheduling policy (SCHED_FIFO)]:sched_priority' \ - '-x[truncate outputs]' \ - '*-z\:-[enable feature]:feature:->z' \ - '-t\:-[set processing time in seconds]:seconds (int/float)' \ - '-tl[enable looping]' \ - '*-f\:-[set sampling parameters for the following input/output files]: :->f' \ - '*-y\:-[set starting position for last specified input/output]:seconds' \ - '*-i\:-[specifies a new input source]:input source:->io' \ - '*-o\:-[specifies a new output source]:output source:->io' \ - '*-Md\:-[set the active MIDI-device]:device name:_files' \ - '*-Mms\:-[send MMC start/stop to MIDI device-id]:device id' \ - '*-mss[sends MIDI-sync to the selected MIDI-device]' \ - '*-pf\:-[use the first preset found from file as chain operator]:preset file:_files -g \*.epp\(-.\)' \ - '*-pn\:-[find preset from global preset database]:preset name:->pn' \ - '*-ev[analyze sample data to find max apm value without clipping]' \ - '*-ezf[find the optimal value for DC-adjusting]' \ - '*-eS\:-[audio stamp]:stamp-id (int)' \ - '*-ea\:-[amplify signal]:amplification value (percent)' \ - '*-eac\:-[amplify signal of channel]: :->eac' \ - '*-eaw\:-[amplify signal (clipping)]: :->eaw' \ - '*-eal\:-[limits audio level]:limit (percent)' \ - '*-ec\:-[compressor (a simple one)]: :->ec' \ - '*-eca\:-[a more advanced compressor]: :->eca' \ - '*-enm\:-[noise gate. (each channel is processes separately)]: :->enm' \ - '*-ei\:-[pitch shifter (modifies audio pitch by altering its length)]:pitch-shift (percent)' \ - '*-epp\:-[normal pan effect]:panning (0=left, 50=center, 100=right)' \ - '*-ezx\:-[adjusts the signal DC (use -ezf to find optimal values)]: :->ezx' \ - '*-eem-[envelope modulation]: :->emod' \ - '*-ef-[apply filter effects]: :->filters' \ - '*-erc\:-[copy channel]: :->erc' \ - '*-erm\:-[mix all channels to one channel]:to channel' \ - '*-et-[time based effects]: :->teffects' \ - '*-el\:-[LADSPA Plugin]: :->el' \ - '*-eli\:-[LADSPA Plugin]: :->el' \ - '*-gc\:-[time crop gate]: :->gc' \ - '*-ge\:-[threshold gate]: :->ge' \ - ':input source:->io' && ret=0 - -case $state in - filters) - _values -S : 'filter effect' \ - '1[resonant bandpass filter]: :->ef1' \ - '3[resonant lowpass filter]: :->ef3' \ - '4[resonant lowpass filter (3rd-order, 36dB)]: :->ef4' \ - 'a[allpass filter]: :->efa' \ - 'c[comb filter]: :->efc' \ - 'b[bandpass filter]: :->efb' \ - 'h[highpass filter]:cutoff frequency' \ - 'i[inverse comb filter]: :->efi' \ - 'l[lowpass filter]:cutoff frequency' \ - 'r[bandreject filter]: :->efr' \ - 's[resonator (resonating bandpass filter)]: :->efs' - ;; - teffects) - _values -S : 'time based effect' \ - 'c[chorus]: :->etc' \ - 'd[delay effect]: :->etd' \ - 'e[a more advanced reverb effect]: :->ete' \ - 'f[fake-stereo effect]:delay time (msec)' \ - 'l[flanger]: :->etl' \ - 'm[multitap delay]: :->etm' \ - 'p[phaser]: :->etp' \ - 'r[reverb effect]: :->etr' - ;; - emod) - _values -S : 'envelope modulation' \ - 'b[pulse gate]: :->eemb' \ - 'p[pulse gate (hz)]: :->eemp' \ - 't[tremolo effect]: :->eemt' - ;; -esac && ret=0 - -case $state in - b) - _wanted -V sizes expl 'buffer size' compadd \ - 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 - ;; - f) - if compset -P '*,*,*,'; then - _values 'interleaving' \ - 'i[interleaved stream format]' \ - 'n[noninterleaved]' - elif compset -P '*,*,'; then - _message 'sampling rate' - elif compset -P '*,'; then - _message 'channel' - else - _values 'sampling parameter' \ - 'u8[unsigned 8-bit]' \ - 's16_le[signed 16-bit little endian]' \ - 's16_be[signed 16-bit big endian]' \ - 's24_le[signed 24-bit little endian]' \ - 's24_be[signed 24-bit big endian]' \ - 's32_le[signed 32-bit little endian]' \ - 's32_be[signed 32-bit big endian]' \ - 'f32_le[32-bit float (little endian)]' \ - 'f32_be[32-bit float (big endian)]' - fi - ;; - z) - _values -s , feature \ - '(nodb)db[enable double-buffering]' \ - '(db)nodb[disable double-buffering]' \ - 'dbsize[set db buffer size]:buffer size in sample frames:(0 1 2 4 8 16)' \ - '(nointbuf)intbuf[use extra internal buffering for realtime devices]' \ - '(intbuf)nointbuf[prevent extra internal buffering for realtime devices]' \ - 'xruns[processing will be halted when a under/overrun occurs]' \ - 'psr[enable the precise-sample-rates]' - ;; - io) - if compset -P 'alsa,'; then - if [[ -e /proc/asound ]]; then - eval `grep "^[[:digit:]]" < /proc/asound/cards|awk 'BEGIN {print "_values '\''ALSA device'\''" }; {print "'\''" $1 "[" $6, $7, $8, $9 "]'\''"}'||echo _message Wrong` - else - _message 'ALSA information bot found in proc filesystem' - fi - else - _alternative \ - 'files:input/output file:_files -g "*.(aif|aiff|mid|wav|ewf|mp3|mp2)(-.)"' \ - 'streams:stream:(stdin stdout)' \ - 'devices:realtime device:((/dev/dsp alsa\:alsa\ device null\:null\ device))' - fi - ;; - pn) - _wanted presets expl preset compadd \ - ${${(M)${(f)"$(</usr/share/ecasound/effect_presets)"}:#[a-z]*}%% *} - ;; - etd) - if compset -P 3 '*,'; then - _message 'mix (wet) (percent)' - elif compset -P 2 '*,'; then - _message 'number of delays' - elif compset -P '*,'; then - _values -s , 'surround mode' \ - '0[normal]' \ - '1[surround]' \ - '2[stereo-spread]' - else - _message 'delay time (msec)' - fi - ;; - ge) - if compset -P 2 '*,'; then - _values 'volume mode' - 'rms' - elif compset -P '*,'; then - _message 'close threshold (percent)' - else - _message 'open threshold (percent)' - fi - ;; - *) - # all the rest are comma separated lists for which we use a message prompt - typeset -A msgs - local str - msgs=( - eac 'amplification value (percent):channel' - eaw 'amplification value (percent):channel:max-clipped-samples' - ec 'compression rate (decibels):threshold (0.0-1.0)' - eca 'peak-level:release-time (seconds):fast compression rate (0.0-1.0):compression rate' - enm 'threshold-level:pre-hold-time (msec):attack-time (msec):post-hold-time (msec):release-time (msec)' - ezx 'left DC fix value:right CD fix value' - eemb 'pulse frequency (beats per minute):on time (msec)' - eemp 'pulse frequency (hz):on time (percent)' - eemt 'tremolo speed (beats per second):depth (percent)' - ef1 'center frequency:width (Hz)' - ef3 'cutoff frequency:resonance:gain' - ef4 'cutoff:resonance' - efa 'delay (samples):feedback (percent)' - efc 'delay (samples):radius (0-1.0)' - efb 'center frequency:width (Hz)' - efi 'delay (samples):radius (0-1.0)' - efr 'center frequency:width (Hz)' - efs 'center frequency:width (Hz)' - erc 'from channel:to channel' - etc 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - ete 'room size (metres):feedback level (percent):amount of reverbed signal added to the original (wet) (percent)' - etl 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - etm 'delay time (msec):number of delays:mix (wet) (percent)' - etp 'delay time (msec):variance time (samples):feedback (percent):lfo frequency' - etr 'delay time (msec):surround mode:feedback (percent)' - el 'unique LADSPA name/number' - gc 'start time (seconds):length (seconds)' - ) - str=$msgs[$state] - while compset -P 1 '*,'; do - str="${str#*:}" - done - _message "${str%%:*}" - ;; -esac && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_echotc b/result/sw/share/zsh/5.9/functions/_echotc deleted file mode 100644 index 79eb6d91..00000000 --- a/result/sw/share/zsh/5.9/functions/_echotc +++ /dev/null @@ -1,5 +0,0 @@ -#compdef echotc - -local expl - -_wanted arguments expl 'terminal capability' compadd -k termcap diff --git a/result/sw/share/zsh/5.9/functions/_echoti b/result/sw/share/zsh/5.9/functions/_echoti deleted file mode 100644 index ed3a98f4..00000000 --- a/result/sw/share/zsh/5.9/functions/_echoti +++ /dev/null @@ -1,5 +0,0 @@ -#compdef echoti - -local expl - -_wanted arguments expl 'terminal capability' compadd -k terminfo diff --git a/result/sw/share/zsh/5.9/functions/_ed b/result/sw/share/zsh/5.9/functions/_ed deleted file mode 100644 index 6ca9ceac..00000000 --- a/result/sw/share/zsh/5.9/functions/_ed +++ /dev/null @@ -1,38 +0,0 @@ -#compdef ed - -local -a args - -args=( - '(-p --prompt)'{-p+,--prompt=}'[specify prompt]:prompt:' - '(-s --quiet --silent)'{-s,--quiet,--silent}'[suppress diagnostics]' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(-G --traditional)'{-G,--traditional}'[run in compatibility mode]' - '(- :)'{-h,--help}'[display help]' - '(-l --loose-exit-status)'{-l,--loose-exit-status}'[exit 0 even if a command fails]' - '(-r --restricted)'{-r,--restricted}'[run in restricted mode]' - '(- :)'{-V,--version}'[display version]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) -else - args=(-A '-*' ${args:#*\)--*}) - case $OSTYPE in - dragonfly*|freebsd*|darwin*|netbsd*|solaris*) - args+=( - '-x[prompt for an encryption key]' - ) - ;| - netbsd*) - args+=( - '-E[enable extended regular expressions]' - '-S[disable ! command]' - ) - ;; - esac -fi - -_arguments -s -S \ - $args \ - ':file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_elfdump b/result/sw/share/zsh/5.9/functions/_elfdump deleted file mode 100644 index 065f4b97..00000000 --- a/result/sw/share/zsh/5.9/functions/_elfdump +++ /dev/null @@ -1,43 +0,0 @@ -#compdef elfdump - -local -a args - -args=( - '-c[dump section header information]' - '-d[dump .dynamic section]' - '-e[dump file header]' - '-G[dump .got (global offset table) section]' - '-h[dump .hash section]' - '-i[dump .interp (interpreter) section]' - '-n[dump .note sections]' - '(-w)-p[dump program headers]' - '-r[dump relocation sections]' - '-s[dump symbol table sections]' - '(-p)-w[write contents of matched sections to file]:file:_files' -) - -case $OSTYPE in - solaris*) - args+=( - '-g[dump .group section]' - '-H[dump .SUNW_cap (capabilities) section]' - '-m[dump .SUNW_move section]' - '-S[dump symbol table sections sorted according to symbol sort sections]' - '-u[dump stack unwind/exceptions sections]' - '-v[dump .SUNW_version (versioning) sections]' - '-y[dump .SUNW_syminfo (symbol bindings) section]' - '-I[match sections by index]:index or range' - "-N[match sections by name]:section" - '-T[match sections by type]:type' - '-C[demangle C++ symbol names]' - '-k[calculate ELF checksum]' - '-l[show long section names without truncation]' - '-O[specify osabi to apply]:osabi' - '-P[use alternative section header]' - "*:elf file:_object_files" - ) - ;; - freebsd*) args+=( '-a[dump all information]' ) ;; -esac - -_arguments -s $args diff --git a/result/sw/share/zsh/5.9/functions/_elinks b/result/sw/share/zsh/5.9/functions/_elinks deleted file mode 100644 index 2080b372..00000000 --- a/result/sw/share/zsh/5.9/functions/_elinks +++ /dev/null @@ -1,62 +0,0 @@ -#compdef elinks - -# ELinks 0.12pre5 - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -A '-*' \ - '*-anonymous[restrict to anonymous mode]::boolean:(0 1)' \ - '*-auto-submit[autosubmit first form]::boolean:(0 1)' \ - '*-base-session[clone internal session with given ID]:ID number:' \ - '*-config-dir[name of directory with configuration file]:configuration directory:_files -/' \ - '(- 1)-config-dump[print default configuration file to stdout]' \ - '*-config-file[name of configuration file]:configuration file:_files' \ - '*-default-mime-type[MIME type assumed for unknown document types]:MIME type:_mime_types' \ - '*-default-keys[ignore user-defined keybindings]::boolean:(0 1)' \ - '*-dump[print formatted versions of given URLs to stdout]::boolean:(0 1)' \ - '*-dump-charset[codepage to use with -dump]:codepage:' \ - '-dump-color-mode[color mode used with -dump]:color mode:((-1\:standard\ dump\ mode 0\:mono\ mode 1\:16\ color\ mode 2\:88\ color\ mode 3\:256\ color\ mode 4\:true\ color\ mode))' \ - '*-dump-width[width of document formatted with -dump]:width:' \ - '*-eval[evaluate configuration file directive]:configuration option:' \ - '*-force-html[interpret documents of unknown types as HTML]' \ - '(- 1)-'{\?,h,help}'[print usage help and exit]' \ - '*-localhost[only permit local connections]::boolean:(0 1)' \ - '(- 1)-long-help[print detailed usage help and exit]' \ - '(- 1)-config-help[print help for configuration options]' \ - '(- 1)-lookup[look up specified host]:host:_hosts' \ - '*-no-connect[run as separate instance]::boolean:(0 1)' \ - "*-no-home[don't use files in ~/.elinks]::boolean:(0 1)" \ - '*-no-numbering[disable link numbering in dump output]::boolean:(0 1)' \ - '*-no-references[disable printing of link references in dump output]::boolean:(0 1)' \ - '*-remote[control an already running ELinks]:*:command:->remote' \ - '*-session-ring[connect to session ring with given ID]:ID number:' \ - '*-source[print the source of given URLs to stdout]::boolean:(0 1)' \ - '(1)*-stdin[read document from stdin]::boolean:(0 1)' \ - '*-touch-files[touch files in ~/.elinks when running with -no-connect/-session-ring]::boolean:(0 1)' \ - '*-verbose[verbose level]:verbosity level:((0\:serious\ errors 1\:serious\ errors\ and\ warnings 2\:all\ messages ))' \ - '(- 1)-version[print version information and exit]' \ - '1:URL:->url' && ret=0 - -if [[ "$state" = url ]]; then - local -a bookmarks - local file=${opt_args[-config-dir]:-${ELINKS_CONFDIR:-~/.elinks}}/bookmarks - - if [[ -s $file ]]; then - bookmarks=( ${${${(f)"$(< $file)"}#* }%% *} ) - fi - - _alternative \ - 'files:file:_files' \ - 'bookmarks:bookmark:compadd -a bookmarks' \ - 'urls:URL:_urls' && ret=0 -elif [[ "$state" = remote ]]; then - local -a commands - commands=( ping openURL addBookmark infoBox xfeDoCommand ) - - _alternative \ - 'commands:command:compadd -a commands' \ - 'urls:URL:_urls' && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_email_addresses b/result/sw/share/zsh/5.9/functions/_email_addresses deleted file mode 100644 index d5f175a7..00000000 --- a/result/sw/share/zsh/5.9/functions/_email_addresses +++ /dev/null @@ -1,187 +0,0 @@ -#autoload -# options: -# -# -n plugin - can complete nicknames from specified plugin -# -s sep - complete a list of addresses separated by specified character -# -c - e-mail address must be of form user@host (no comments or aliases) -# -# TODO: with -n, have the named plugin complete not only aliases but also addresses? -# -# Plugins are written as separate functions with names starting `_email-'. -# They should either do their own completion or return the addresses in the -# reply array in the form 'alias:address' and return 300. The -c option is -# passed on to plugins (and -n could be if needed ever). New plugins will be -# picked up and run automatically. - -# plugins -(( $+functions[_email-mail] )) || -_email-mail() { - local rc rcfiles i - - rcfiles=( $files[$plugin] ) - for ((i=1;i<=$#rcfiles;i++)); do - rcfiles+=( ${~${(M)${(f)"$(<$rcfiles[i])"}:#source*}##source[[:blank:]]##}(N) ) - done - reply=() - for rc in $rcfiles; do - reply+=( ${${${(M)${(f)"$(<$rc)"}:#alias*}##alias[[:blank:]]##}/[[:blank:]]##/:} ) - done - return 300 -} -(( $+functions[_email-mutt] )) || _email-mutt() { _email-mail } -(( $+functions[_email-mush] )) || _email-mush() { _email-mail } - -(( $+functions[_email-MH] )) || -_email-MH() { - reply=( ${${(f)"$(_call_program aliases ali 2>/dev/null)"}/: /:} ) - return 300 -} - -(( $+functions[_email-pine] )) || -_email-pine() { - reply=( ${${${${${(f)"$(<~/.addressbook)"}:#*DELETED*}:#\ *}/ [^ ]# /:}%% *} ) - return 300 -} - -(( $+functions[_email-ldap] )) || -_email-ldap() { - local -a expl ali res filter - local -A opts - local dn cn mail - - zparseopts -D -E -A opts c - - zstyle -a ":completion:${curcontext}:$curtag" filter filter - (( $#filter )) || return - - filter=( "("${filter}"=${PREFIX}*${SUFFIX})" ) - (( $#filter > 1 )) && filter="(|"${(j..)filter}")" - res=( ${(f)"$(_call_program $curtag ldapsearch -LLL \$filter cn mail 2>/dev/null)"} ) - (( $#res > 1 )) || return - - for dn cn mail in "${res[@]}"; do - if (( $+opts[-c] )); then - ali+=( "${mail#*: }" ) - else - cn="${cn#*: }" - [[ $cn = *$~__specials* ]] && cn="\"$cn\"" - ali+=( "$cn <${mail#*: }>" ) - fi - done - compstate[insert]=menu - _wanted email-ldap expl 'matching name' \ - compadd -U -i "$IPREFIX" -I "$ISUFFIX" "$@" -a - ali -} - -(( $+functions[_email-local] )) || -_email-local() { - local suf opts - zparseopts -D -E -A opts c S:=suf - - if compset -P '*@'; then - _hosts "$@" "$suf[@]" - else - suf=() - compset -S '@*' || suf=( -qS @ ) - _users "$suf[@]" "$@" - fi -} - -_email_addresses() { - local -a plugins reply list args - local -A opts files - local plugin rcfile muttrc expl sep ret fret - - local __specialx='][()<>@,;:\\".' - local __spacex=" " # Space, tab - local __specials="[$__specialx]" - local __atom="[^$__specialx$__spacex]##" - local __space="[$__spacex]#" # Really, space or comment - local __qtext='[^"\\]' - local __qpair='\\?' - local __beginq='"' - local __endq='(|[^\\])"' - local __dot="$__space.$__space" - - local __domainref="$__atom" - local __domainlit='\[([^]]|'"$__qpair"')#(|[^\\])\]' - local __quotedstring="$__beginq($__qtext|$__qpair)#$__endq" - local __word="($__atom|$__quotedstring)" - local __phrase="($__space$__word$__space)#" # Strictly, should use `##' - local __localpart="$__word($__dot$__word)#" - - local __subdomain="($__domainref|$__domainlit)" - local __domain="$__subdomain($__dot$__subdomain)#" - local __addrspec="$__localpart$__space@$__space$__domain" - - local __addresses="($__qtext|$__quotedstring)##" - - zparseopts -D -E -A opts n: s: c - set -- "$@" -M 'r:|[.@]=* r:|=* m:{a-zA-Z}={A-Za-z}' - - if [[ -n $opts[-s] ]]; then - # remove up to the last unquoted separator - if [[ ${(Q)PREFIX} = (#b)($~__addresses$opts[-s])* ]]; then - IFS="$opts[-s]" eval 'compset -P $(( ${#${=${:-x${match[1]}x}}} - 1 )) "*${opts[-s]}"' - fi - - # for the suffix, I'm too lazy to work out how to preserve quoted separators - compset -S "$opts[-s]*" || set -- -q -S "$opts[-s]" "$@" - fi - - # get list of all plugins except any with missing config files - if ! zstyle -s ":completion:${curcontext}:email-addresses" muttrc muttrc; then - [[ -e ~/mutt/muttrc ]] && muttrc="~/mutt/muttrc" || muttrc="~/.muttrc" - fi - files=( MH ${MH:-~/.mh_profile} mutt $~muttrc mush ~/.mushrc mail ${MAILRC:-~/.mailrc} pine ~/.addressbook ) - plugins=( - ${${(k)functions[(I)_email-*]#*-}:#(${(kj.|.)~files})} - $files(Ne:'REPLY=( ${(k)files[(r)$REPLY]} ):') - ) - - ret=1 - _tags email-$plugins - while _tags; do - for plugin in $plugins; do - if _requested email-$plugin; then - while _next_label email-$plugin expl 'email address'; do - - args=() - if (( $+opts[-c] )) || zstyle -t \ - ":completion:${curcontext}:$curtag" strip-comments - then - args=( '-c' ) - fi - - if ! _call_function fret _email-$plugin "$@" $args; then - _message "$plugin: plugin not found" - continue - fi - ret=$(( ret && fret )) - - if (( fret == 300 )); then - if (( ! $+opts[-c] )) && [[ $opts[-n] = $plugin ]]; then - zstyle -s ":completion:${curcontext}:$curtag" list-separator sep || sep=-- - zformat -a list " $sep " "${reply[@]}" - _wanted mail-aliases expl 'alias' compadd "$@" \ - -d list - ${reply%%:*} && ret=0 - else - if (( $#args )); then - reply=( ${(SM)${reply#*:}##$~__addrspec} ) - else - # remove lines not containing `@' as they probably aren't addresses - reply=( "${(@)${(M@)reply:#*@*}#*:}" ) - fi - compadd -a "$@" "$expl[@]" reply && ret=0 - fi - fi - done - fi - done - (( ret )) || return 0 - done - - return 1 -} - -_email_addresses "$@" diff --git a/result/sw/share/zsh/5.9/functions/_emulate b/result/sw/share/zsh/5.9/functions/_emulate deleted file mode 100644 index d6fb0c3d..00000000 --- a/result/sw/share/zsh/5.9/functions/_emulate +++ /dev/null @@ -1,8 +0,0 @@ -#compdef emulate - -_arguments -C -s \ - '-L[set local_options and local_traps as well]' \ - '-R[reset all options instead of only those needed for script portability]' \ - '1:shell to emulate:(zsh sh ksh csh)' \ - '2:specify optional command:(-c)' \ - '3:command:_cmdstring' diff --git a/result/sw/share/zsh/5.9/functions/_enable b/result/sw/share/zsh/5.9/functions/_enable deleted file mode 100644 index b62619d8..00000000 --- a/result/sw/share/zsh/5.9/functions/_enable +++ /dev/null @@ -1,16 +0,0 @@ -#compdef enable - -local -a ali_arr sali_arr func_arr - -ali_arr=(${(k)dis_aliases} ${(k)dis_galiases}) -sali_arr=(${(k)dis_saliases}) -func_arr=(${(k)dis_functions}) - -_arguments -C -s -A "-*" -S \ - "(-f -r -s -p)-a[act on regular or global aliases]:*:alias:compadd -k ali_arr" \ - "(-a -r -s -p)-f[act on functions]:*:function:compadd -k func_arr" \ - "(-a -f -s -p)-r[act on reserved words]:*:reserved-word:compadd -k dis_reswords" \ - "(-a -f -r -p)-s[act on suffix aliases]:*:suffix alias:compadd -k sali_arr" \ - "(-a -f -r -s)-p[act on pattern characters]:*:pattern character:compadd -k dis_patchars" \ - '-m[treat arguments as patterns]' \ - "*:builtin command:(${(k)dis_builtins})" diff --git a/result/sw/share/zsh/5.9/functions/_enscript b/result/sw/share/zsh/5.9/functions/_enscript deleted file mode 100644 index 3e09da5a..00000000 --- a/result/sw/share/zsh/5.9/functions/_enscript +++ /dev/null @@ -1,192 +0,0 @@ -#compdef enscript - -local curcontext="$curcontext" state line match -typeset -A opt_args -local -a libpath - -_arguments -C -s -S \ - '( -2 --columns)-1' \ - '(-1 --columns)-2' \ - '(-1 -2 )--columns=:columns:' \ - '(--pages)-a+:pages:(even odd)' \ - '(-a)--pages=:pages:(even odd)' \ - '(--file-align)-A+:align:' \ - '(-A)--file-align=:align:' \ - '(--header -b -B --no-header --lineprinter -l)'{-b+,--header=}':page header:->formats' \ - '(--header -b -B --no-header --lineprinter -l)'{-B,--no-header} \ - '(--truncate-lines)-c' \ - '(-c)--truncate-lines' \ - '(--line-numbers -C)'{-C-,--line-numbers=-}'::start line [1]' \ - '(--printer -d )-P+:printer name: _printers' \ - '(--printer -P)-d+:printer name: _printers' \ - '( -d -P)--printer=:printer name: _printers' \ - '*-D+:key\:value:' \ - '*--setpagedevice=:key\:value:' \ - '(--escapes)-e-:escape character:' \ - '(-e)--escapes=-:escape character:' \ - '(-E --highlight)'{-E-,--highlight=-}':input language:->inputlang' \ - '(--font -f)'{-f+,--font=}':fontname:->fonts' \ - '(--header-font -F)'{-F+,--header-font=}':fontname:->fonts' \ - '(--print-anyway)-g' \ - '(-g)--print-anyway' \ - '(--fancy-header)-G' \ - '(-G)--fancy-header=:header:->headers' \ - '(--no-job-header)-h' \ - '(-h)--no-job-header' \ - '(--highlight-bars -H)'{-H-,--highlight-bars=-}'::height (lines) [2]' \ - '(--indent -i)'{-i+,--indent=}':indent width' \ - '(--filter -I)'{-I+,--filter=}':input filter:_cmdstring' \ - '(--borders)-j' \ - '(-j)--borders' \ - '(-k --page-prefeed -K --no-page-prefeed)'{-k,--page-prefeed} \ - '!(-k --page-prefeed -K --no-page-prefeed)'{-K,--no-page-prefeed} \ - '(--lineprinter -l --lines-per-page -L --header -b -B --no-header)'{-l,--lineprinter} \ - '(--lines-per-page -L --lineprinter -l)'{-L+,--lines-per-page=}':lines per page' \ - '(--mail)-m' \ - '(-m)--mail' \ - '(--media)-M+:media name:(A4)' \ - '(-M)--media=:media name:(A4)' \ - '(--copies -n )-#+:number of copies:' \ - '(--copies -#)-n+:number of copies:' \ - '( -n -#)--copies=:number of copies:' \ - '(--newline)-N+:newline type:((n\:unix r\:mac))' \ - '(-N)--newline=:newline type:((n\:unix r\:mac))' \ - '(-o -p --output -p)'{-o+,-p+,--output=}':output file:_files' \ - '(--missing-characters)-O' \ - '(-O)--missing-characters' \ - '(--quiet --silent)-q' \ - '(-q --silent)--quiet' \ - '(-q --quiet)--silent' \ - '(-r --landscape -R --portrait)'{-r,--landscape} \ - '(-r --landscape -R --portrait)'{-R,--portrait} \ - '(--baselineskip -s)'{-s+,--baselineskip=}':baseline skip (PostScript points) [1]' \ - '*-S+:key\:value:' \ - '*--statusdict=:key\:value:' \ - '(--title -t )-J+:banner title:' \ - '(--title -J)-t+:banner title:' \ - '( -t -J)--title=:banner title:' \ - '(--tabsize -T)'{-T+,--tabsize=}':tabsize [8]' \ - '(--underlay)-u-:underlay text:' \ - '(-u)--underlay=-:underlay text:' \ - '(--nup)-U+:pages:(4)' \ - '(-U)--nup=:pages:(4)' \ - '(--verbose)-v' \ - '(-v)--verbose=-:level:' \ - '(- *)'{-V,--version} \ - '(-w --language)'{-w-,--language=}':output language:(PostScript html overstrike rtf)' \ - '(-W --option)'{-W-,--option=}':helper option' \ - '(--encoding)-X+:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \ - '(-X)--encoding=:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \ - '(--no-formfeed)-z' \ - '(-z)--no-formfeed' \ - '(--pass-through)-Z' \ - '(-Z)--pass-through' \ - '--color=-:use color:(false true)' \ - '--continuous-page-numbers' \ - '--download-font=:fontname:' \ - '--extended-return-values' \ - '--filter-stdin=:stdin name:(-)' \ - '--footer=:page footer:->formats' \ - '--h-column-height=:horizontal column height:' \ - '(- *)--help' \ - '(- *)--help-highlight' \ - '--highlight-bar-gray=:gray level (0-1):' \ - '--list-media' \ - '--margins=:left\:right\:top\:bottom:' \ - '--mark-wrapped-lines=-:wrapped line style [none]:(none plus box arrow)' \ - '--non-printable-format=:rendering of non-printable characters:(caret octal questionmark space)' \ - '--nup-columnwise' \ - '--nup-xpad=:x-padding [10]' \ - '--nup-ypad=:y-padding [10]' \ - '--page-label-format=:page label format:(short long)' \ - '--ps-level=:PostScript language level:(1 2)' \ - '--printer-options=:extra options:' \ - '--rotate-even-pages' \ - '--slice=:vertical slice number' \ - '--style=:highlighting style:(a2ps emacs emacs_verbose ifh msvc)' \ - '--swap-even-page-margins' \ - '--toc' \ - '--word-wrap' \ - '--ul-angle=:angle' \ - '--ul-font=:fontname [Times-Roman200]:->fonts' \ - '--ul-gray=:gray level (0..1) [.8]' \ - '--ul-position=:position [+0+0 -0-0]' \ - '--ul-style=:style [outline]:(outline filled)' \ - '*:filename:_files' && return 0 - -case "$state" in - fonts) - if compset -P 1 '*@'; then - _message -e size 'pointsize, optionally width/height' - else - libpath=( {${commands[enscript]:h:h},/usr}/share/enscript/afm/font.map(N) ) - _wanted fonts expl font compadd -qS @ - ${${(f)"$(<$libpath[1])"}%% *} - fi - ;; - formats) - local -a specs - local suf='{' - compquote suf - if [[ ${PREFIX} = *[%$]D${suf}[^}]# ]]; then - _strftime - elif [[ ${(Q)PREFIX} = *\$\([^\)]# ]]; then - compset -P '*\(' - _parameters -g '*export*' -S '\)' - elif [[ ${(Q)PREFIX} = *\$ ]]; then - specs=( - '$:a dollar symbol' - '%:current page number' - '=:number of pages in the current file' - 'p:number of pages processed so far' - {C,\*}':file modification time (hh:mm:ss)' - 'n:basename of the input file name' - 'N:full input file name' - 'E:file modification date (yy/mm/dd)' - 'F:file modification date (dd.mm.yyyy)' - 't:file modification time (12-hour)' - 'T:file modification time (24-hour)' - 'v:sequence number of current input file' - 'V:sequence number of current input file in table of contents format' - 'W:file modification date (mm/dd/yy)' - '\(:environment variable' - ) - compset -P "*" - _describe -t format-specifiers 'format specifier' specs -S '' -- '( D:modification\ date )' -qS $suf - elif [[ ${(Q)PREFIX} = *% ]]; then - specs=( - 'c:trailing component of the current working directory' - {C,\*}':current time (hh:mm:ss)' - 'E:current date (yy/mm/dd)' - 'F:current date (dd.mm.yyyy)' - 'H:document title' - 'L:lines in the input file' - 'm:hostname in short form' - 'M:hostname in fully qualified form' - 'n:user login name' - 'N:user gecos field first component' - 't:current time (12-hour)' - 'T:current time (24-hour)' - 'W:current date (mm/dd/yy)' - ) - compset -P "*" - _describe -t format-specifiers 'format specifier' specs -S '' -- '( D:current\ time )' -qS $suf - else - compset -P "*" - _wanted format-specifiers expl 'format specifier' compadd -S '' % \$ - fi - ;; - headers) - libpath=( {${commands[enscript]:h:h},/usr}/share/enscript(N/) ~/.enscript(N/) ) - _wanted headers expl header compadd $^libpath/*.hdr(N:r:t) - ;; - inputlang) - if (( ! $+_cache_enscript_languages )); then - typeset -ga _cache_enscript_languages - _cache_enscript_languages=(${${(f)${(F)${(M)${(f)"$(_call_program languages enscript --help-pretty-print)"}:#(Name|Description):*}}//(#b)Name: ([^ -]##)( -Description: ([^ -]##)|)/$match[1]:$match[3]}%:}) - fi - _describe -t languages 'input language' _cache_enscript_languages - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_entr b/result/sw/share/zsh/5.9/functions/_entr deleted file mode 100644 index 438ab179..00000000 --- a/result/sw/share/zsh/5.9/functions/_entr +++ /dev/null @@ -1,26 +0,0 @@ -#compdef entr - -local curcontext="$curcontext" state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -S \ - '(-r)-a[respond to all events rather than consolidating them to avoid looping]' \ - '-c[execute clear before invoking utility]' \ - '-d[track directories and exit if a new file is added]' \ - "-n[non-interactive mode; don't access TTY]" \ - '-p[postpone first execution of the utility]' \ - '(-a)-r[reload a persistent child process]' \ - '(*)-s[evaluate the first argument using interpreter specified by $SHELL]' \ - '-z[exit after the utility completes]' \ - '(-): :->command' \ - '*::arguments:_normal' && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[-s] )); then - _cmdstring && ret=0 - else - _command_names -e && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_env b/result/sw/share/zsh/5.9/functions/_env deleted file mode 100644 index a5dd49d3..00000000 --- a/result/sw/share/zsh/5.9/functions/_env +++ /dev/null @@ -1,74 +0,0 @@ -#compdef env genv - -local context state line variant ign ret=1 -local -a args suf - -_pick_variant -r variant gnu=Free\ Soft $OSTYPE --version -case $variant in - gnu) - (( $#words > 2 )) && ign='!' - args=( - '(-)'{-i,--ignore-environment}'[start with empty environment]' - '(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"' - '(-C --chdir)'{-C+,--chdir=}'[change working directory]:directory:_directories' - '(-S --split-string)'{-S+,--split-string=}'[perform word splitting]:string to split' - '--block-signal=[block delivery of signals to command]:signal:_sequence _signals' - '--default-signal=[reset handling of signals to the default]:signal:_sequence _signals' - '--ignore-signal=[set handling of signals to do nothing]:signal:_sequence _signals' - '--list-signal-handling[list non default signal handling to stderr]' - '(-v --debug)'{-v,--debug}'[print verbose information for each processing step]' - "${ign}(- *)--help[display help information]" - "${ign}(- *)--version[display version information]" - ) - ;; - freebsd*) - args=( - '-0[use NUL, not newline after each variable in output]' - '-L[add variables from system login.conf(5)]: :->user-class' - '-U[add variables from user and system login.conf(5)]: :->user-class' - ) - ;| - freebsd*|darwin*|dragonfly*) - args+=( - '(-i)*-u+[remove variable from the environment]:env var to remove:_parameters -g "*export*"' - '-P+[specify alternate executable search PATH]:path:_dir_list' - '-S+[perform word splitting]:string to split' - '*-v[verbose output]' - ) - ;& - *) - if (( $words[(i)-] < CURRENT )); then - words[(i)-]=() - (( CURRENT-- )) - else - args+=( - '(-i)'{-,-i}'[start with empty environment]' - ) - fi - ;; -esac - -_arguments $args \ - '*::arguments:->normal' && ret=0 - -if [[ -n $state ]]; then - case $state in - normal) - while [[ $words[1] = *=* ]]; do - shift words - (( CURRENT-- )) - done - _normal && ret=0 - ;; - user-class) - if compset -P 1 '*/'; then - _login_classes && ret=0 - else - compset -S '/*' || suf=( -qS/ ) - _users $suf && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_eog b/result/sw/share/zsh/5.9/functions/_eog deleted file mode 100644 index 6a737a79..00000000 --- a/result/sw/share/zsh/5.9/functions/_eog +++ /dev/null @@ -1,24 +0,0 @@ -#compdef eog - -_arguments -s -S \ - - '(help)' \ - '--version[display version information]' \ - {-h,--help}'[display help information]' \ - '--help-all[display help on all options]' \ - '--help-gtk[display help on GTK+ options]' \ - - normal \ - '--class=[specify program class as used by the window manager]:class' \ - '--name=[program name as used by the window manager]:name:_x_name' \ - '--gdk-debug=[specify GDK debugging flags to set]:flag' \ - '--gdk-no-debug=[specify GDK debugging flags to unset]:flag' \ - '--gtk-module=[load additional GTK+ modules]:module' \ - '--g-fatal-warnings[make all warnings fatal]' \ - '--gtk-debug=[specify GTK+ debugging flags to set]:flag' \ - '--gtk-no-debug=[specify GTK+ debugging flags to unset]:flag' \ - '(-f --fullscreen)'{-f,--fullscreen}'[open in fullscreen mode]' \ - '(-s --slide-show -f --fullscreen)'{-s,--slide-show}'[open in slideshow mode]' \ - '(-g --disable-gallery)'{-g,--disable-gallery}'[disable image gallery]' \ - '(-n --new-instance)'{-n,--new-instance}'[start a new instance]' \ - '(-w --single-window)'{-w,--single-window}'[open in single window]' \ - '--display=[specify X display]:display:_x_display' \ - '*:image file:_files -g "*.(#i)(ani|bmp|gif|ico|jpeg|jpg|pcx|png|pnm|ras|svg|tga|tiff||tif|wbmp|wbm|xbm|xpm)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_equal b/result/sw/share/zsh/5.9/functions/_equal deleted file mode 100644 index 58a415d5..00000000 --- a/result/sw/share/zsh/5.9/functions/_equal +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -equal- - -_path_commands diff --git a/result/sw/share/zsh/5.9/functions/_espeak b/result/sw/share/zsh/5.9/functions/_espeak deleted file mode 100644 index 4ab443bb..00000000 --- a/result/sw/share/zsh/5.9/functions/_espeak +++ /dev/null @@ -1,46 +0,0 @@ -#compdef espeak - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '(1 --stdin)-f+[specify file to speak]:text file:_files' \ - '(1 -f)--stdin[speak from stdin]' \ - '(-q)-a+[specify amplitude]:amplitude (0-200) [100]' \ - '(-q)-g+[specify pause between words]:pause (10ms) [1]' \ - '-k[capital letter indication]:integer:((1\:sound 2\:the\ word\ "capitals"))' \ - '-l[specify line length below which clause is ended]:length' \ - '(-q)-p+[specify pitch adjustment]:adjustment (0-99)' \ - '(-q)-s+[specify speed]:speed (words per minute) [175]' \ - '(-q)-v+[voice]:voice name:->voices' \ - '(--stdout -q)-w+[write speech to wav file]:wav file:_files -g "*.wav(-.)"' \ - '-b+[specify input encoding]:encoding:((1\:UTF-8 2\:8-bit 3\:16-bit))' \ - '-m[interpret SSML markup, ignore other XML]' \ - '(-a -g -p -s -v -w -z --split --stdout)-q[quiet, no sound output]' \ - '(-x --ipa)-x[output phoneme mnemonics]' \ - '(-X --ipa)-X[output phoneme mnemonics and translation trace]' \ - '(-q)-z[suppress final sentence pause at the end of the text]' \ - '--compile=-[compile pronunciation rules and dictionary]::voicename or debug' \ - '(-x -X)--ipa=-[output phonemes using International Phonetic Alphabet]::options:((1\:use\ ties 2\:use\ ZWJ 3\:separate\ with\ _))' \ - '--path=[specify espeak-data path]:path:_files -/' \ - '--pho[output mbrola phoneme data]' \ - '--phonout=[output filename for -x/-X/--ipa]:filename:_files' \ - '--punct=-[speak names of punctuation characters]::characters' \ - '(-q --stdout)--split=[periodically start new wav file]:period (minutes)' \ - '(-w -q --split)--stdout[output speech to stdout]' \ - '--voices=-[list available voices]::language code:->languages' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)--version[display version information]' && ret=0 - -case $state in - voices) - _wanted voices expl voice compadd \ - ${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c22)}%% *} && ret=0 - ;; - languages) - _wanted languages expl language compadd \ - ${${${(f)"$(_call_program voices $words[1] --voices)"}[2,-1]#?(#c4)}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_etags b/result/sw/share/zsh/5.9/functions/_etags deleted file mode 100644 index d1644fde..00000000 --- a/result/sw/share/zsh/5.9/functions/_etags +++ /dev/null @@ -1,63 +0,0 @@ -#compdef etags - -integer ret=1 -local context state line expl -typeset -A opt_args - -_arguments \ - '(-a --append)'{-a,--append}'[append tag entries]' \ - '--packages-only[only generate tags for Ada packages]' \ - '--declarations[C etc.: tags for function declarations]' \ - '(-D --no-defines)'{-D,--no-defines}'[No tags for preprocessor definitions]' \ - {-i-,--include=}'[Tag file should include another]:tag file:_files' \ - {-l-,--language=}'[Specify language]:language:->lang' \ - '--no-globals[No tag entries for global variables]' \ - '--no-members[No tag entries for structure members]' \ - {-r-,--regex=}'[Specify regular expression]:regular expression:->regex' \ - {-R,--no-regex}'[No regular expressions for tags]' \ - '(-I --ignore-indentation)'{-I,--ignore-indentation}'[Closing brace in first col may not be start of func]' \ - '(-o --output)'{-o-,--output=}'[Specify output file]:file:_files' \ - '--parse-stdin=[Specify file name for stdin]:file name:_files' \ - '(-V --version)'{-V,--version}'[Output version]' \ - '(-h --help)'{-h,--help}'[Output help]' \ - '*:file to tag:_files' \ - && ret=0 - -case $state in - (lang) - local -a langs - langs=(${${${${(f)"$(etags --help)"}:#^ [^[:blank:]]##[[:blank:]]##([[:alnum:].]*|)}# }%%[[:blank:]]*}) - _wanted languages expl language compadd -a langs && ret=0 - ;; - - (regex) - if compset -P @; then - _files && ret=0 - elif [[ -n $PREFIX ]]; then - local sep=$PREFIX[1] - [[ $sep = [\\*?#] ]] && sep="\\$sep" - local -a match mbegin mend - if compset -P "$sep*$sep*$sep"; then - local mods=smi - mods=${mods//[${PREFIX}]} - if [[ -n $mods ]]; then - compset -P '*' - local -a modarr - [[ $mods = *i* ]] && modarr+=("i:ignore case") - [[ $mods = *m* ]] && modarr+=("m:allow multi-line matches") - [[ $mods = *s* ]] && modarr+=("s:multi-line, dot matches newline") - _describe -t modifiers modifier modarr && ret=0 - fi - elif compset -P "$sep*$sep"; then - _message "tagname" && ret=0 - else - compset -P "$sep" - _message "tag regexp" && ret=0 - fi - else - _message "regexp separator or @ for file" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ethtool b/result/sw/share/zsh/5.9/functions/_ethtool deleted file mode 100644 index 95a8bbfb..00000000 --- a/result/sw/share/zsh/5.9/functions/_ethtool +++ /dev/null @@ -1,347 +0,0 @@ -#compdef ethtool - -local curcontext="$curcontext" -local -a state line expl cmds -local -A opt_args - -_arguments -C \ - '--debug[turn on debugging messages]:mask:((1\:parser\ information))' \ - '--json[output results in JSON]' \ - '(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \ - '(cmds)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \ - "1:interface:_net_interfaces" \ - '*:: :->args' \ - + '(cmdc)' \ - '(cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \ - '(cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \ - + '(cmds)' \ - '(1)'{-h,--help}'[display help information]' \ - '(1)--version[display version information]' \ - {-s,--change}'[allow changing some or all settings of the specified ethernet device]' \ - {-a,--show-pause}'[query the specified ethernet device for pause parameter information]' \ - {-A,--pause}'[change the pause parameters of the specified ethernet device]' \ - {-g,--show-ring}'[query the specified ethernet device for RX/TX ring parameter information]' \ - {-G,--set-ring}'[change the RX/TX ring parameters of the specified ethernet device]' \ - {-k,--show-features,--show-offload}'[query the specified ethernet device for offload information]' \ - {-K,--features,--offload}'[change the offload parameters of the specified ethernet device]' \ - {-i,--driver}'[query the specified ethernet device for associated driver information]' \ - {-d,--register-dump}'[retrieve and prints a register dump for the specified ethernet device]' \ - {-e,--eeprom-dump}'[retrieve and prints an EEPROM dump for the specified ethernet device]' \ - {-E,--change-eeprom}'[change EEPROM byte for the specified ethernet device]' \ - {-r,--negotiate}'[restart auto-negotiation on the specified ethernet device]' \ - {-p,--identify}'[initiate adapter-specific action intended to identify the adapter by sight]' \ - {-t,--test}'[execute adapter selftest on the specified ethernet device]' \ - {-S,--statistics}'[query specified ethernet device for NIC- and driver-specific statistics]' \ - '--phy-statistics[show phy statistics]' \ - {-n,--show-nfc,-u,--show-ntuple}'[retrieve receive network flow classification options or rules]' \ - {-N,--config-nfc,-U,--config-ntuple}'[configure receive network flow classification options or rules]' \ - {-T,--show-time-stamping}"[show device's time stamping capabilities]" \ - {-x,--show-rxfh-indir,--show-rxfh}'[show Rx flow hash indirection table and/or RSS hash key]' \ - {-X,--set-rxfh-indir,--rxfh}'[set Rx flow hash indirection table and/or RSS hash key]' \ - {-f,--flash}'[flash firmware image from the specified file]' \ - {-P,--show-permaddr}'[show permanent hardware address]' \ - {-w,--get-dump}'[get dump flag, data]' \ - {-W,--set-dump}'[set device dump flag]' \ - {-l,--show-channels}'[query channels]' \ - {-L,--set-channels}'[set channels]' \ - '--show-priv-flags[query private flags]' \ - '--set-priv-flags[set private flags]' \ - {-m,--dump-module-eeprom,--module-info}'[show module EEPROM information]' \ - '--show-eee[show EEE settings]' \ - '--set-eee[set EEE settings]' \ - '--set-phy-tunable[set PHY tunable]' \ - '--get-phy-tunable[get PHY tunable]' \ - '--get-tunable[get tunable parameters]' \ - "--set-tunable[set driver's tunable parameters]" \ - '--reset[reset hardware components]' \ - '--show-fec[query device for forward error correction support]' \ - '--set-fec[configure forward error correction for device]' \ - '--cable-test[perform cable test and report the results]' \ - '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \ - '--show-tunnels[show tunnel-related device capabilities and state]' \ - '--monitor[listen to netlink notifications and displays them]::command:( - --all -s --change -k --show-features --show-offload -K - --features --offload --show-priv-flags --set-priv-flags -g --show-ring - -G --set-ring -l --show-channels -L --set-channels -c --show-coalesce - -C --coalesce -a --show-pause -A --pause --show-eee --set-eee - --cable-test --cable-test-tdr - )' && return - -if [[ -n $state ]]; then - case $words[CURRENT-1] in - rx|tx) - if (( $+opt_args[cmds--G] + $+opt_args[cmds---set-ring] )); then - _message -e numbers 'number of ring entries' - elif (( $+opt_args[cmds--L] + $+opt_args[cmds---set-channels] )); then - _message -e numbers 'number of channels' - else - _wanted onoff expl 'enabled' compadd off on - fi - ;; - autoneg|adaptive-[rt]x|raw|hex|sg|tso|ufo|gso|lro|eee|tx-lpi|downshift) ;& - fast-link-down|energy-detect-power-down|mode) - _wanted onoff expl 'enabled' compadd off on - ;; - rx-usecs|rx-frames|rx-usecs-irq|rx-frames-irq|tx-usecs|tx-frames) ;& - tx-usecs-irq|tx-frames-irq|stats-block-usecs|pkt-rate-low|rx-usecs-low) ;& - rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;& - rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac|rx-mini) ;& - rx-jumbo|offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;& - dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;& - page|bank|i2c|first|last|step|pair|lanes) ;& - rx-copybreak|tx-copybreak|pfc-prevention-tout) ;& - other|combined|tx-timer|count|msecs) - _message -e numbers 'number' - ;; - speed) - _wanted -x speed expl 'speed' compadd 10 100 1000 - ;; - duplex) - _wanted duplex expl 'duplex mode' compadd half full - ;; - port) - _wanted port expl 'device port' compadd tp aui bnc mii fibre da - ;; - master-slave) - _wanted roles expl role compadd {preferred,forced}-{master,slave} - ;; - advertise) - _values 'hexadecimal value (or a combination of the following)' \ - '0x001[10 half]' \ - '0x002[10 full]' \ - '0x004[100 half]' \ - '0x008[100 full]' \ - '0x010[1000 half(not supported by IEEE standards)]' \ - '0x020[1000 full]' \ - '0x8000[2500 full(not supported by IEEE standards)]' \ - '0x800[10000 full]' \ - '0x03F[auto]' \ - 'mode[set mode]' - ;; - xcvr) - _wanted xcvr expl 'transceiver type' compadd internal external - ;; - wol) - _values -s '' 'Wake-on-LAN option' \ - '(d)p[wake on phy activity]' \ - '(d)u[wake on unicast messages]' \ - '(d)m[wake on multicast messages]' \ - '(d)b[wake on broadcast messages]' \ - '(d)a[wake on ARP]' \ - '(d)g[wake on MagicPacket(tm)]' \ - '(d)s[enable SecureOn(tm) password for MagicPacket(tm)]' \ - '(d)f[wake on filter(s)]' \ - '(p u m b a g s)d[disable (wake on nothing)]' - ;; - sopass) - _message -e secureon 'password - 6 bytes in ethernet MAC hex format (xx:yy:zz:aa:bb:cc)' - ;; - data|file) - _wanted files expl 'file' _files - ;; - rx-flow-hash) - _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} - ;; - rule) - _message -e ids 'rule id' - ;; - flow-type) - _wanted flow-types expl 'flow type' compadd ether {tcp,udp,ah,esp,sctp}{4,6} - ;; - src|src-ip|dst|dst-ip|dst-mac) - _message -e addresses address - ;; - m) - _message -e masks mask - ;; - hkey) - _message -e keys 'hash key' - ;; - hfunc) - _message -e functions 'hash function' - ;; - flags) - _message -e masks mask - ;; - context) - _message -e contexts 'RSS context' - ;; - *) - case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in - -A|--pause) - _values -S ' ' -w 'pause parameter' \ - 'autoneg[specify if pause autonegotiation is enabled]' \ - 'rx[specify if RX pause is enabled]' \ - 'tx[specify if TX pause is enabled]' - ;; - -C|--coalesce) - _wanted settings expl 'coalescing setting' compadd -F line -M 'r:|-=* r:|=*' - \ - adaptive-{r,t}x {r,t}x-{usecs,frames}{,-irq,-high,-low} \ - stats-block-usecs pkt-rate-{low,high} sample-interval - ;; - -G|--set-ring) - _values -S ' ' -w 'ring parameter' \ - 'rx[change number of ring entries for the RX ring]' \ - 'rx-mini[change number of ring entries for the RX Mini ring]' \ - 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ - 'tx[change number of ring entries for the TX ring]' - ;; - -d|--register-dump) - _values -S ' ' -w 'option' \ - 'hex[dump hex register data]' \ - 'raw[dump raw register data]' \ - 'file[use contents from file rather than device]' - ;; - -e|--eeprom-dump) - _values -S ' ' -w 'option' \ - 'raw[dump raw EEPROM data]' \ - 'offset' 'length' - ;; - -E|--change-eeprom) - _values -S ' ' -w 'option' \ - 'magic[device-specific key]' \ - 'offset' 'length' - 'value[new value]' - ;; - -K|--features|--offload) - if (( CURRENT % 2 )); then - _wanted values expl enable compadd on off - else - _wanted features expl feature compadd -F line - \ - ${${${${(f)"$(_call_program features $words[1] -k $line[1])"}%%:*}#$'\t'}[2,-1]} \ - rx tx sg tso ufo gso gro rxvlan txvlan ntuple rxhash - fi - ;; - -p|--identify) - (( CURRENT = 4 )) && _message -e length 'duration (seconds)' - ;; - -S|--statistics) - _arguments '(-)--all-groups' '(-)--groups:eth-phy: :eth-mac: :eth-ctrl: :rmon' - ;; - -t|--test) - _values -S ' ' -w 'test mode' \ - '(online)offline:perform full set of tests possibly causing normal operation interruption (default)]' \ - '(offline)online:perform limited set of tests without interrupting normal adapter operation]' \ - 'external_lb[perform full set of tests plus external-loopback test]' - ;; - -s|--change) - if (( ! $words[(I)msglvl] )); then - _values -S ' ' -w 'generic option' \ - 'speed[set speed in Mb/s]' \ - 'lanes[set number of lanes]' \ - 'duplex[set full or half duplex mode]' \ - 'port[select device port]' \ - 'master-slave[configure interface role]' \ - 'autoneg[specify if autonegotiation is enabled]' \ - 'advertise[set the speed and duplex advertised by autonegotiation]' \ - 'phyad[PHY address]' \ - 'xcvr[select transceiver type]' \ - 'wol[set Wake-on-LAN options]' \ - 'sopass[set the SecureOn(tm) password]' \ - 'msglvl[set the driver message level]' - elif (( (CURRENT - $words[(I)msglvl]) % 2 )); then - [[ -prefix [^0-9]## ]] || _message -e numbers number - _wanted flags expl 'message type flag' compadd drv probe link timer \ - if{down,up} rx_{err,status} tx_{err,queued,done} intr pktdata hw wol - else - _wanted onoff expl 'enabled' compadd off on - fi - ;; - -n|-u|--show-nfc|--show-ntuple) - _wanted options expl option compadd -F line - rx-flow-hash context rule - ;; - -N|-U|--config-nfc|--config-ntuple) - if [[ $words[CURRENT-2] = rx-flow-hash ]]; then - _values -S ' ' 'rx packet hash' \ - 'm[layer 2 destination address]' \ - 'v[VLAN tag]' \ - 't[layer 3 protocol field]' \ - 's[IP source address]' \ - 'd[IP destination address]' \ - 'f[bytes 0 and 1 of the Layer 4 header]' \ - 'n[bytes 2 and 3 of the Layer 4 header]' \ - 'r[discard all packets of this flow type]' - elif [[ $words[CURRENT-1] = delete ]]; then - _message -e numbers 'number' - else - _wanted options expl option compadd -F line - rx-flow-hash context flow-type \ - delete src dst proto src-ip dst-ip tos m tclass l4proto src-port \ - dst-port spi l4data vlan-etype vlan user-def dst-mac action vf \ - queue context loc - fi - ;; - -x|--show-rxfh-indir|--show-rxfh) - _wanted options expl option compadd -F line - context - ;; - -X|--set-rxfh-indir|--rxfh) - _values -S ' ' -w 'option' \ - context \ - '(weight default)equal' \ - '(equal default)weight' \ - '(equal weight)default' \ - hkey hfunc delete - ;; - -f|--flash) - if (( CURRENT == 4 )); then - _files - else - _message -e regions region - fi - ;; - -w|--get-dump) - _wanted options expl option compadd data - ;; - -L|--set-channels) - _wanted options expl option compadd -F line - rx tx other combined - ;; - --set-priv-flags) - if (( CURRENT % 2 )); then - _wanted values expl enable compadd on off - else - _message -e flags 'private flag' - fi - ;; - -m|--dump-module-eeprom|--module-info) - _wanted options expl option compadd -F line - raw hex offset \ - length page bank i2c - ;; - --set-eee) - _wanted behaviours expl behaviour compadd -F line - eee advertise tx-lpi tx-timer - ;; - --set-phy-tunable) - _wanted options expl tunable compadd -F line - downshift count \ - fast-link-down msecs energy-detect-power-down - ;; - --get-phy-tunable) - _wanted options expl tunable compadd downshift fast-link-down \ - energy-detect-power-down - ;; - --[gs]et-tunable) - _wanted options expl tunable compadd rx-copybreak tx-copybreak \ - pfc-prevention-tout - ;; - --reset) - _wanted components expl component compadd flags dedicated all \ - {mgmt,irq,dma,filter,offload,mac,phy,ram,ap}{,-shared} - ;; - --set-fec) - if (( CURRENT == 4 )); then - _wanted options expl tunable compadd - encoding - else - _wanted encodings expl encoding compadd -F line auto off rs baser - fi - ;; - -Q|--pre-queue) - if (( CURRENT == 4 )); then - _wanted options expl option compadd - queue_mask - elif (( CURRENT == 6)); then - _wanted options expl option compadd -c --show-coalescing -C --coalesce - fi - ;; - --cable-test-tdr) - _wanted options expl 'distance options' compadd first last step pair - ;; - esac - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_evince b/result/sw/share/zsh/5.9/functions/_evince deleted file mode 100644 index 21b49336..00000000 --- a/result/sw/share/zsh/5.9/functions/_evince +++ /dev/null @@ -1,26 +0,0 @@ -#compdef evince - -_arguments -s -S \ - - '(help)' \ - '--version[display version information]' \ - {-h,--help}'[display help information]' \ - '--help-all[display help on all options]' \ - '--help-gtk[display help on GTK+ options]' \ - - normal \ - '--class=[specify program class as used by the window manager]:class' \ - '--name=[program name as used by the window manager]:name:_x_name' \ - '--gdk-debug=[specify GDK debugging flags to set]:flag' \ - '--gdk-no-debug=[specify GDK debugging flags to unset]:flag' \ - '--gtk-module=[load additional GTK+ modules]:module' \ - '--g-fatal-warnings[make all warnings fatal]' \ - '--gtk-debug=[specify GTK+ debugging flags to set]:flag' \ - '--gtk-no-debug=[specify GTK+ debugging flags to unset]:flag' \ - '(-p --page-label -i --page-index -n --named-dest)'{-p,--page-label=}'[specify page label of the document to display]' \ - '(-p --page-label -i --page-index -n --named-dest)'{-i,--page-index=}'[specify page number of the document to display]' \ - '(-p --page-label -i --page-index -n --named-dest)'{-n,--named-dest=}'[specify named destination to display]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-f,--fullscreen}'[run evince in fullscreen mode]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-s,--presentation}'[run evince in presentation mode]' \ - '(-f --fullscreen -s --presentation -w --preview)'{-w,--preview}'[run evince as a previewer]' \ - '(-l --find)'{-l,--find=}'[specify word or phrase to find in the document]:word or phrase' \ - '--display=[specify X display]:display:_x_display' \ - '*:document file:_files -g "*.(#i)(dvi|djvu|pdf|ps|eps|tif|tiff)(-.)"' \ diff --git a/result/sw/share/zsh/5.9/functions/_exec b/result/sw/share/zsh/5.9/functions/_exec deleted file mode 100644 index 2498b57c..00000000 --- a/result/sw/share/zsh/5.9/functions/_exec +++ /dev/null @@ -1,7 +0,0 @@ -#compdef exec - -_arguments -s -S -A '-*' : \ - '-a+[set argv\[0\] to specified string]:argv[0] string' \ - '-c[clear environment]' \ - '-l[simulate login shell (prepend - to argv\[0\])]' \ - '*:: : _normal -p $service' diff --git a/result/sw/share/zsh/5.9/functions/_expand b/result/sw/share/zsh/5.9/functions/_expand deleted file mode 100644 index e5e4f9b3..00000000 --- a/result/sw/share/zsh/5.9/functions/_expand +++ /dev/null @@ -1,245 +0,0 @@ -#autoload - -# This completer function is intended to be used as the first completer -# function and allows one to say more explicitly when and how the word -# from the line should be expanded than expand-or-complete. -# This function will allow other completer functions to be called if -# the expansions done produce no result or do not change the original -# word from the line. - -setopt localoptions nonomatch - -[[ _matcher_num -gt 1 ]] && return 1 - -local exp word sort expr expl subd pref suf=" " force opt asp tmp opre pre epre -local continue=0 - -(( $# )) && - while getopts gsco opt; do - force="$force$opt" - done - -if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" -else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" -fi - -[[ "$word" = *\$(|\{[^\}]#) || - ( "$word" = *\$[a-zA-Z0-9_]## && $+parameters[${word##*\$}] -eq 0 ) ]] && - return 1 - -### I'm not sure about the pattern to use in the following test. -# It once was: -# [[ "$word" = (\~*/|\$(|[=~#^+])[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]|\$\{*\}?)[^\$\{\}\(\)\<\>?^*#~]# ]] && - -zstyle -T ":completion:${curcontext}:" suffix && - [[ "$word" = (\~*/*|*\$(|[=~#^+])[a-zA-Z0-9_\[\]]##[^a-zA-Z0-9_\[\]]|*\$\{*\}?) && - "${(e)word}" != (#s)(*[^\\]|)[][^*?\(\)\<\>\{\}\|]* ]] && - return 1 - -zstyle -s ":completion:${curcontext}:" accept-exact tmp || - [[ ! -o recexact ]] || tmp=1 - -if [[ "$tmp" != (yes|true|on|1) ]]; then - { [[ "$word" = \~(|[-+]) || - ( "$word" = \~[-+][1-9]## && $word[3,-1] -le $#dirstack ) || - $word = \~\[*\]/* ]] && return 1 } - { [[ ( "$word" = \~* && ${#userdirs[(I)${word[2,-1]}*]}+${#nameddirs[(I)${word[2,-1]}*]} -gt 1 ) || - ( "$word" = *\$[a-zA-Z0-9_]## && - ${#parameters[(I)${word##*\$}*]} -ne 1 ) ]] && continue=1 } - [[ continue -eq 1 && "$tmp" != continue ]] && return 1 -fi - -# In exp we will collect the expansions. - -exp=("$word") - -# First try substitution. That weird thing spanning multiple lines -# changes quoted spaces, tabs, and newlines into spaces and protects -# this function from aborting on parse errors in the expansion. - -if [[ "$force" = *s* ]] || - zstyle -T ":completion:${curcontext}:" substitute; then - -### We once used this: -### -### [[ ! -o ignorebraces && "${#${exp}//[^\{]}" = "${#${exp}//[^\}]}" ]] && -### eval exp\=\( ${${(q)exp}:gs/\\{/\{/:gs/\\}/\}/} \) 2>/dev/null -### -### instead of the following loop to expand braces. But that made -### parameter expressions such as ${foo} be expanded like brace -### expansions, too (and with braceccl set...). - - if [[ ! $_comp_caller_options[ignorebraces] == on && "${#${exp}//[^\{]}" = "${#${exp}//[^\}]}" ]]; then - local otmp - - tmp=${(q)word} - while [[ $#tmp != $#otmp ]]; do - otmp=$tmp - tmp=${tmp//(#b)\\\$\\\{(([^\{\}]|\\\\{|\\\\})#)([^\\])\\\}/\\$\\\\{${match[1]}${match[3]}\\\\}} - done - eval exp\=\( ${tmp:gs/\\{/\{/:gs/\\}/\}/} \) 2>/dev/null - fi - -### There's a bug: spaces resulting from brace expansion are quoted in -### the following expression, too. We don't want that, but I have no -### idea how to fix it. - - setopt aliases - eval 'exp=( ${${(e)exp//\\[ -]/ }//(#b)([ -])/\\$match[1]} )' 2>/dev/null - setopt NO_aliases -else - exp=( ${exp:s/\\\$/\$} ) -fi - -# If the array is empty, store the original string again. - -[[ -z "$exp" ]] && exp=("$word") - -subd=("$exp[@]") - -# Now try globbing. - -# We need to come out of this with consistent quoting, by hook or by crook. -integer done_quote -local -a orig_exp=( $exp ) -if [[ "$force" = *g* ]] || zstyle -T ":completion:${curcontext}:" glob; then - eval 'exp=( ${~exp//(#b)\\([ \"'"\'"' -])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null && (( $#exp )) && done_quote=1 -fi -# If the globbing failed, or we didn't try globbing, we'll do -# it again without the "~" so globbing is simply omitted. -if (( ! done_quote )); then - eval 'exp=( ${orig_exp//(#b)\\([ \"'"\'"' -])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null -fi - -### Don't remember why we once used this instead of the (q) above. -# eval 'exp=( ${~exp} ); exp=( ${exp//(#b)([][()|*?^#~<>\\=])/\\${match[1]}} )' 2>/dev/null - -# If we don't have any expansions or only one and that is the same -# as the original string, we let other completers run. - -(( $#exp )) || exp=("$subd[@]") - -[[ $#exp -eq 1 && "${exp[1]//\\}" = "${word//\\}"(|\(N\)) ]] && return 1 - -# With subst-globs-only we bail out if there were no glob expansions, -# regardless of any substitutions - -{ [[ "$force" = *o* ]] || - zstyle -t ":completion:${curcontext}:" subst-globs-only } && - [[ "$subd" = "$exp"(|\(N\)) ]] && return 1 - -zstyle -s ":completion:${curcontext}:" keep-prefix tmp || tmp=changed - -if [[ "$word" = (\~*/*|*\$*/*) && "$tmp" = (yes|true|on|1|changed) ]]; then - if [[ "$word" = *\$* ]]; then - opre="${(M)word##*\$[^/]##/}" - else - opre="${word%%/*}" - fi - eval 'epre=( ${(e)~opre} )' 2> /dev/null - - if [[ -n "$epre" && $#epre -eq 1 ]]; then - pre="${(q)epre[1]}" - [[ ( "$tmp" != changed || $#exp -gt 1 || - "${opre}${exp[1]#${pre}}" != "$word" ) && "${exp[1]}" = $pre* ]] && - exp=( ${opre}${^exp#${pre}} ) - fi - [[ $#exp -eq 1 && "$exp[1]" = "$word" ]] && return 1 -fi - -# Now add as matches whatever the user requested. - -zstyle -s ":completion:${curcontext}:" sort sort - -[[ "$sort" = (yes|true|1|on) ]] && exp=( "${(@o)exp}" ) - -if zstyle -s ":completion:${curcontext}:" add-space tmp; then - if [[ "$tmp" != *subst* || "$word" != *\$* || "$exp[1]" = *\$* ]]; then - [[ "$tmp" = *file* ]] && asp=file - [[ "$tmp" = *(yes|true|1|on|subst)* ]] && asp="yes$asp" - fi -else - asp=file -fi - -# If there is only one expansion, add a suitable suffix - -if (( $#exp == 1 )); then - if [[ -d ${exp[1]/${opre}/${pre}} && "$exp[1]" != */ ]]; then - suf=/ - elif [[ "$asp" = yes* || - ( "$asp" = *file && -f "${exp[1]/${opre}/${pre}}" ) ]]; then - suf=' ' - else - suf= - fi -fi - -if [[ -z "$compstate[insert]" ]] ;then - if [[ "$sort" = menu ]]; then - _description expansions expl expansions "o:$word" - else - _description -V expansions expl expansions "o:$word" - fi - - compadd "$expl[@]" -UQ -qS "$suf" -a exp -else - _tags all-expansions expansions original - - if [[ $#exp -ge 1 ]] && _requested expansions; then - local i j normal space dir - - if [[ "$sort" = menu ]]; then - _description expansions expl expansions "o:$word" - else - _description -V expansions expl expansions "o:$word" - fi - normal=() - space=() - dir=() - - for i in "$exp[@]"; do - j="${i/${opre}/${pre}}" - if [[ -d "$j" && "$i" != */ ]]; then - dir=( "$dir[@]" "$i" ) - elif [[ "$asp" = yes* || ( "$asp" = *file && -f "$j" ) ]]; then - space=( "$space[@]" "$i" ) - else - normal=( "$normal[@]" "$i" ) - fi - done - pref="${${word:#[~/]*}:+$PWD}/" - (( $#dir )) && compadd "$expl[@]" -fW "$pref" -UQ -qS/ -a dir - (( $#space )) && compadd "$expl[@]" -fW "$pref" -UQ -qS " " -a space - (( $#normal )) && compadd "$expl[@]" -fW "$pref" -UQ -qS "" -a normal - fi - if _requested all-expansions; then - local disp dstr - - if [[ "$sort" = menu ]]; then - _description all-expansions expl 'all expansions' "o:$word" - else - _description -V all-expansions expl 'all expansions' "o:$word" - fi - if [[ "${#${exp}}" -ge COLUMNS ]]; then - disp=( -ld dstr ) - dstr=( "${(r:COLUMNS-5:)exp} ..." ) - else - disp=() - fi - [[ -o multios ]] && exp=($exp[1] $compstate[redirect]${^exp[2,-1]}) - compadd "$disp[@]" "$expl[@]" -UQ -qS "$suf" - "$exp" - fi - - _requested original expl original && compadd "$expl[@]" -UQ - "$word" - - compstate[insert]=menu -fi - -return continue diff --git a/result/sw/share/zsh/5.9/functions/_expand_alias b/result/sw/share/zsh/5.9/functions/_expand_alias deleted file mode 100644 index 8240e416..00000000 --- a/result/sw/share/zsh/5.9/functions/_expand_alias +++ /dev/null @@ -1,67 +0,0 @@ -#compdef -K _expand_alias complete-word \C-xa - -local word expl tmp pre sel what -local -a tmpa suf - -eval "$_comp_setup" - -if [[ -n $funcstack[2] ]]; then - if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" - else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" - fi - pre=() -else - local curcontext="$curcontext" - - if [[ -z "$curcontext" ]]; then - curcontext="expand-alias-word:::" - else - curcontext="expand-alias-word:${curcontext#*:}" - fi - - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" - pre=(_main_complete - aliases) -fi - -zstyle -s ":completion:${curcontext}:" regular tmp || tmp=yes -case $tmp in -always) sel=r;; -yes|1|true|on) [[ CURRENT -eq 1 ]] && sel=r;; -esac -zstyle -T ":completion:${curcontext}:" global && sel="g$sel" -zstyle -t ":completion:${curcontext}:" disabled && sel="${sel}${(U)sel}" - -tmp= -[[ $sel = *r* ]] && tmp=$aliases[$word] -[[ -z $tmp && $sel = *g* ]] && tmp=$galiases[$word] -[[ -z $tmp && $sel = *R* ]] && tmp=$dis_aliases[$word] -[[ -z $tmp && $sel = *G* ]] && tmp=$dis_galiases[$word] - -if [[ -n $tmp ]]; then - # We used to remove the quoting from the value in the parameter. - # That was probably just an oversight: an alias is always replaced - # literally. - tmp=${tmp%%[[:blank:]]##} - if [[ $tmp[1] = [[:alnum:]_] ]]; then - tmpa=(${(z)tmp}) - if [[ $tmpa[1] = $word && $tmp = $aliases[$word] ]]; then - # This is an active regular alias and the first word in the result - # is the same as what was on the line already. Quote it so - # that it doesn't get reexanded on execution. - # - # Strictly we also need to check if the original word matches - # a later word in the expansion and the previous words are - # all aliases where the expansion ends in " ", but I'm - # too lazy. - tmp="\\$tmp" - fi - fi - zstyle -T ":completion:${curcontext}:" add-space || suf=( -S '' ) - $pre _wanted aliases expl alias compadd -UQ "$suf[@]" -- ${tmp%%[[:blank:]]##} -elif (( $#pre )) && zstyle -t ":completion:${curcontext}:" complete; then - $pre _aliases -s "$sel" -S '' -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_expand_word b/result/sw/share/zsh/5.9/functions/_expand_word deleted file mode 100644 index 9b71dc83..00000000 --- a/result/sw/share/zsh/5.9/functions/_expand_word +++ /dev/null @@ -1,13 +0,0 @@ -#compdef -K _expand_word complete-word \C-xe _list_expansions list-choices \C-xd - -# Simple completion front-end implementing expansion. - -local curcontext="$curcontext" - -if [[ -z "$curcontext" ]]; then - curcontext="expand-word:::" -else - curcontext="expand-word:${curcontext#*:}" -fi - -_main_complete _expand diff --git a/result/sw/share/zsh/5.9/functions/_extensions b/result/sw/share/zsh/5.9/functions/_extensions deleted file mode 100644 index 8b6c4fd6..00000000 --- a/result/sw/share/zsh/5.9/functions/_extensions +++ /dev/null @@ -1,33 +0,0 @@ -#autoload - -# This completer completes filename extensions when completing -# after *. or ^*. It can be used anywhere in the completer list -# but if used after _expand, patterns that already match a file -# will be expanded before it is called. - -compset -P '(#b)([~$][^/]#/|)(*/|)(\^|)\*.' || return 1 - -local -aU files -local -a expl suf mfiles - -files=( ${(e)~match[1]}${match[2]}*.* ) || return 1 -eval set -A files '${(MSI:'{1..${#${(O)files//[^.]/}[1]}}':)files%%.[^/]##}' -files=( ${files:#.<->(.*|)} ) - -if zstyle -t ":completion:${curcontext}:extensions" prefix-hidden; then - files=( ${files#.} ) -else - PREFIX=".$PREFIX" - IPREFIX="${IPREFIX%.}" -fi - -zstyle -T ":completion:${curcontext}:extensions" add-space || - suf=( -S '' ) - -_description extensions expl 'file extension' - -# for an exact match, fail so as to give _expand or _match a chance. -compadd -O mfiles "$expl[@]" -a files -[[ $#mfiles -gt 1 || ${mfiles[1]} != $PREFIX ]] && - compadd "$expl[@]" "$suf[@]" -a files && - [[ -z $compstate[exact_string] ]] diff --git a/result/sw/share/zsh/5.9/functions/_external_pwds b/result/sw/share/zsh/5.9/functions/_external_pwds deleted file mode 100644 index dfc1abe1..00000000 --- a/result/sw/share/zsh/5.9/functions/_external_pwds +++ /dev/null @@ -1,43 +0,0 @@ -#autoload - -# Completes current directories of other zsh processes -# this is intended to be used via _generic bound to a -# different key. Note that pattern matching is enabled. - -local -a expl -local -au dirs - -# undo work _main_complete did to remove the tilde -PREFIX="$IPREFIX$PREFIX" -IPREFIX= -SUFFIX="$SUFFIX$ISUFFIX" -ISUFFIX= - -[[ -o magicequalsubst ]] && compset -P '*=' - -case $OSTYPE in - solaris*) - dirs=( - ${(M)${${(f)"$(pgrep -U $UID -x zsh|xargs pwdx 2>/dev/null)"}:#$$:*}%%/*} - ) - ;; - linux*) - dirs=( /proc/${^$(pidof -- -zsh zsh):#$$}/cwd(N:P) ) - dirs=( $^dirs(N^@) ) - ;; - freebsd*) - dirs=( $(pgrep -U $UID -x zsh) ) - dirs=( $(procstat -h -f $dirs|awk '{if ($3 == "cwd") print $NF}') ) - ;; - *) - if (( $+commands[lsof] )); then - dirs=( ${${${(M)${(f)"$(lsof -a -u $EUID -c zsh -p \^$$ -d cwd -F n -w - 2>/dev/null)"}:#n*}#?}%% \(*} ) - fi - ;; -esac -dirs=( ${(D)dirs:#$PWD} ) - -compstate[pattern_match]='*' -_wanted directories expl 'current directory from other shell' \ - compadd -M "r:|/=* r:|=*" -f -a dirs diff --git a/result/sw/share/zsh/5.9/functions/_fakeroot b/result/sw/share/zsh/5.9/functions/_fakeroot deleted file mode 100644 index f7a298cf..00000000 --- a/result/sw/share/zsh/5.9/functions/_fakeroot +++ /dev/null @@ -1,10 +0,0 @@ -#compdef fakeroot - -_arguments \ - '(-l --lib)'{-l,--lib}'[specify alternate wrapper library]:wrapper library:_files' \ - '--faked[specify alternate faked binary]:fake binary:_command_names -e' \ - '-s[save the fakeroot environment on exit]:save file:_files' \ - '-i[load a previously saved environment]:file:_files' \ - '(-u --unknown-is-real)'{-u,--unknown-is-real}'[use real ownership of previously unknown files]' \ - '(-):command name:_command_names -e' \ - '*::arguments:_normal' diff --git a/result/sw/share/zsh/5.9/functions/_fbsd_architectures b/result/sw/share/zsh/5.9/functions/_fbsd_architectures deleted file mode 100644 index 011d0b46..00000000 --- a/result/sw/share/zsh/5.9/functions/_fbsd_architectures +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" amd64 arm arm64 i386 mips powerpc riscv sparc64 diff --git a/result/sw/share/zsh/5.9/functions/_fbsd_device_types b/result/sw/share/zsh/5.9/functions/_fbsd_device_types deleted file mode 100644 index f1897f6a..00000000 --- a/result/sw/share/zsh/5.9/functions/_fbsd_device_types +++ /dev/null @@ -1,31 +0,0 @@ -#autoload -# -# device types on FreeBSD/DragonFly -# (for commands using devstat_buildmatch(), such as iostat and vmstat) -# -local -a d i types - -d=( da sa printer proc worm cd scanner optical changer - comm array enclosure floppy) -i=( IDE SCSI other ) -types=( - "($d)da[direct access devices]" - "($d)sa[sequential access devices]" - "($d)printer[printers]" - "($d)proc[processor devices]" - "($d)worm[write once read multiple devices]" - "($d)cd[CD devices]" - "($d)scanner[scanner devices]" - "($d)optical[optical memory devices]" - "($d)changer[medium changer devices]" - "($d)comm[communication devices]" - "($d)array[storage array devices]" - "($d)enclosure[enclosure services devices]" - "($d)floppy[floppy devices]" - "($i)IDE[Integrated Drive Electronics devices]" - "($i)SCSI[Small Computer System Interface devices]" - "($i)other[any other device interface]" - 'pass[passthrough devices]' -) - -_values -s , 'device type' $types diff --git a/result/sw/share/zsh/5.9/functions/_fc b/result/sw/share/zsh/5.9/functions/_fc deleted file mode 100644 index 80e570c5..00000000 --- a/result/sw/share/zsh/5.9/functions/_fc +++ /dev/null @@ -1,92 +0,0 @@ -#compdef fc history r - -local curcontext="$curcontext" state state_descr line expl ret=1 -local num cmd sep -local -a events -typeset -A opt_args -local fc_common fc_hist fc_r - -# hide any replacements from _arguments -local cur=${(M)#words[1,CURRENT-1]:#*=*} -words=( "${(@)words[1,CURRENT-1]:#*=*}" "${(@)words[CURRENT,-1]}" ) -(( CURRENT -= cur )) - -fc_common=( - -s -S - '(-A -R -W -p -P)-I[include internal (new) events only]' - '(-A -R -W -p -P)-L[include local events only]' - '(-A -R -W -p -P)-r[reverse order of the events]' - '(-A -R -W -e -p -P)-n[suppress line numbers]' -) - -if [[ -n ${words[(r)-[pa](|[ap])]} ]]; then - fc_common+=( - ':history file:_files' - ':history size:' - ':saved history size:' - ) - [[ -n ${words[(r)-(|a)p(|a)]} ]] || fc_common+='!-a:option:(-p)' -elif [[ -n ${words[(r)-*[ARWI]*]} ]]; then - fc_common+=( ':history file:_files' ) -else - fc_common=( -C "$fc_common[@]" - '(-)1:first event:->events' '2:last event:->events' - ) -fi - -fc_hist=( - '(-A -R -W -a -p -P 2)-m[treat argument as a pattern]' - '(-A -R -W -e -f -E -i -t -a -p -P)-d[print time-stamps]' - '(-A -R -W -e -d -E -i -t -a -p -P)-f[mm/dd/yyyy format time-stamps]' - '(-A -R -W -e -d -f -i -t -a -p -P)-E[dd.mm.yyyy format time-stamps]' - '(-A -R -W -e -d -f -E -t -a -p -P)-i[yyyy-mm-dd format time-stamps]' - '(-A -R -W -e -d -f -E -i -a -p -P)-t[print time-stamps in specified format]:date format' - '(-A -R -W -e -a -p -P)-D[print elapsed times]' - - '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-a[with -p, automatically pop history on function return]' - '(-A -R -W -I -e -d -f -i -l -m -n -r -D -E -t -P)-p[push current history to stack]' - '(- *)-P[pop history from stack]' -) - -fc_r='(-A -R -W -e)-l[list resulting commands on stdout]' - -case $service in - history) - _arguments "$fc_common[@]" "$fc_hist[@]" && ret=0 - ;; - r) - _arguments "$fc_common[@]" "$fc_r" && ret=0 - ;; - *) - _arguments "$fc_common[@]" "$fc_hist[@]" "$fc_r" \ - '(-A -R -W -a -l -n -d -f -E -i -r -t -D -p -P -s)-e+[specify editor to invoke]:editor to invoke:_command_names -e' \ - '(-A -R -W -a -l -n -d -f -E -i -r -t -D -p -P -e)-s[re-execute command without invoking editor (like -e-)]' \ - '(-a -l -L -m -e -r -n -d -f -t -E -i -R -D -A -W -p -P *)-'{\ -'R[read history from file]',\ -'A[append history to file]',\ -'W[write history to file]'} && ret=0 - ;; -esac - -if [[ -n $state ]]; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - if [[ -z ${line:#*=*} ]] && compset -P 1 '*='; then - _message -e replacements 'replacement' - elif [[ -prefix [0-9] ]]; then - print -v events -f "%-${#HISTNO}.${#HISTNO}s $sep %s" "${(kv)history[@]}" - _wanted -2V events expl "$state_descr" compadd -M "B:0=" -ld events - \ - "${events[@]%% *}" - elif [[ -prefix - ]]; then - for num cmd in "${(kv@)history}"; do - (( num=num - HISTNO )) - events+=( "${(r.1+$#HISTNO.)num} $sep $cmd" ) - done - _wanted -2V events expl "$state_descr" compadd -ld events - \ - "${events[@]%% *}" - else - _wanted events expl "$state_descr" compadd -S '' - \ - ${${history%%[=[:IFS:]]*}:#[0-9-]*} || _guard "[0-9]#" event - fi -fi && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_feh b/result/sw/share/zsh/5.9/functions/_feh deleted file mode 100644 index a094e33c..00000000 --- a/result/sw/share/zsh/5.9/functions/_feh +++ /dev/null @@ -1,197 +0,0 @@ -#compdef feh -## completion for feh 1.6, based on feh(1) - -typeset -a arguments -typeset -A argument_pairs argument_postfix -typeset arg - -argument_pairs=( - 'help' 'h' - 'version' 'v' - 'verbose' 'V' - 'quiet' 'q' - 'theme' 'T+' - 'recursive' 'r' - 'randomize' 'z' - 'filelist' 'f+' - 'preload' 'p' - 'full-screen' 'F' - 'geometry' 'g+' - 'auto-zoom' 'Z' - 'multiwindow' 'w' - 'borderless' 'x' - 'draw-filename' 'd' - 'slideshow-delay' 'D+' - 'reload' 'R+' - 'keep-http' 'k' - 'builtin' 'Q' - 'list' 'l' - 'customlist' 'L+' - 'loadable' 'U' - 'unloadable' 'u' - 'sort' 'S+' - 'reverse' 'n' - 'action' 'A+' - 'montage' 'm' - 'collage' 'c' - 'index' 'i' - 'fullindex' 'I' - 'thumbnails' 't' - 'menu-font' 'M+' - 'no-menus' 'N' - 'reload-button' '0' - 'menu-button' '3+' - 'prev-button' '4+' - 'next-button' '5+' - 'rotate-button' '8+' - 'blur-button' '9+' - 'ignore-aspect' 'X' - 'stretch' 's' - 'thumb-width' 'y+' - 'thumb-height' 'E+' - 'limit-width' 'W+' - 'limit-height' 'H+' - 'bg' 'b+' - 'alpha' 'a+' - 'font' 'e+' - 'scale-down' '.' - 'output-dir' 'j+' - 'wget-timestamp' 'G' - 'fontpath' 'C+' - 'image-bg' 'B+' - 'output' 'o' - 'output-only' 'O' - 'rcfile' '_' - 'thumb-title' '~' - 'title' '^' - 'start-at' '|' - 'title-font' '@' -) - -argument_postfix=( - 'help' '[show help]' - 'version' '[show version information]' - 'verbose' '[be verbose]' - 'quiet' '[suppress non-fatal errors]' - 'theme' '[load named options from config]:theme:_feh_theme' - 'recursive' '[recurse into subdirectories]' - 'randomize' '[randomize file list before displaying]' - 'filelist' '[read file list from this file]:file:_files' - 'preload' '[eliminate unloadable images before displaying]' - 'full-screen' '[make the window fullscreen]' - 'geometry' '[limit window size]:geometry: ' - 'auto-zoom' '[zoom picture to screen size]' - 'multiwindow' '[multiple windows, one image per window]' - 'borderless' '[borderless windows]' - 'draw-filename' '[show filename in images]' - 'reload' '[time delay for reloading]:time: ' - 'keep-http' "[don't delete cached files]" - 'builtin' '[use builtin http client]' - 'list' '[list images, their size, etc.]' - 'customlist' '[format list output]:format: ' - 'loadable' '[print loadable images]' - 'unloadable' '[print unloadable images]' - 'sort' '[sort images]:sort type:(name filename width height pixels size format)' - 'reverse' '[reverse sort order]' - 'action' '[action to perform on each image]:shell: ' - 'montage' '[enable montage mode]' - 'collage' '[enable collage mode]' - 'index' '[enable index mode]' - 'fullindex' '[enable verbose index mode]' - 'thumbnails' '[enable interactive index mode]' - 'menu-font' '[set font in menus]:font: ' - 'no-menus' "[don't load or show any menus]" - 'reload-button' '[button to reload image]:button:_feh_button' - 'pan-button' '[button to pan image]:button:_feh_button' - 'zoom-button' '[button to zoom image]:button:_feh_button' - 'menu-button' '[button to activate menu]:button:_feh_button' - 'prev-button' '[button to go to previous image]:button:_feh_button' - 'next-button' '[button to go to next image]:button:_feh_button' - 'rotate-button' '[Ctrl+Button to rotate image]:button:_feh_button' - 'blur-button' '[Ctrl+Button tu blur image]:button:_feh_button' - 'ignore-aspect' "[montage mode: Don't preserve aspect ratio]" - 'stretch' '[montage mode: Enlarge images to fit thumbnail size]' - 'thumb-width' '[montage mode: Thumbnail width]:pixels: ' - 'thumb-height' '[montage mode: Thumbnail height]:pixels: ' - 'limit-width' '[montage mode: Limit montage width]:pixels: ' - 'limit-height' '[montage mode: Limit montage height]:pixels: ' - 'bg' '[montage mode: Background image]:file:_files' - 'alpha' '[montage mode: Thumbnail transparency level]:integer: ' - 'font' '[index mode: Thumbnail info font]:font: ' - 'slideshow-delay' '[slide change delay]:seconds' - 'scale-down' '[scale down images which are too big]' - 'output-dir' '[save files to DIR (with -k)]:directory:_files -/' - 'wget-timestamp' '[add no timestamp ("?123") to URLs]' - 'fontpath' '[add paths to font path]:font path:_files -/' - 'image-bg' '[set transparent image background]:background:(white black default)' - 'output' '[montage mode: Output file]:file:_files' - 'output-only' "[montage mode: Output file, don't display montage]:file: files" - 'rcfile' '[specify config file]:file:_files' - 'thumb-title' '[window title in thumbnail mode]:format string' - 'title' '[window title in slideshow mode]:format string' - 'start-at' '[start slideshow at]:file:_files' - 'title-font' '[title font for index mode]:font' -) - -arguments=( - '--zoom[zoom images]:percent: ' - '--caption-path[where to look for image captions]:relative directory: ' - --action{1..9}':shell: ' - '--bg-tile[set tiled desktop background]:file:_files' - '--bg-center[set centered desktop background]:file:_files' - '--bg-scale[set scaled desktop background]:file:_files' - '--bg-seamless[set desktop background with seamless borders]:file:_files' - '--bg-fill[set scaled desktop background, preserving aspect ratio]:file:_files' - '--menu-style[style descriptor for menu text]:file:_files' - '--menu-border[set menu background border]:integer: ' - '--menu-ctrl-mask[use Ctrl+Button to display menu]' - '--no-rotate-ctrl-mask[don'\''t require Ctrl for the rotate button]' - '--no-blur-ctrl-mask[don'\''t require Ctrl for the blur button]' - '--no-xinerama[disable xinerama support]' - '--screen-clip[toggle window clipping]' - '--hide-pointer[hide mouse pointer in fullscreen mode]' - '*--fontpath[index mode: directory to search for fonts]:directory:_path_files -/' - '--index-name[show image name in index/thumbnail mode]:bool:(0 1)' - '--index-size[show image size in index/thumbnail mode]:bool:(0 1)' - '--index-dim[show image dimensions in index/thumbnail mode]:bool:(0 1)' - '--no-jump-on-resort[stay at current image after resorting the filelist]' - '--cycle-once[quit after one loop through the slideshow]' - '--draw-actions[draw defined actions]' - '--cache-thumbnails[enable thumbnail caching]' - '--menu-bg[background image in menus]: :_feh_background' - '--thumb-redraw[set thumbnail image redraw frequency]:digit' - '*:file:_files' -) - -for arg in ${(k)argument_pairs}; { - arguments+='(--'${arg}')-'${argument_pairs[$arg]}${argument_postfix[$arg]} - arguments+='(-'${argument_pairs[$arg]}[1]')--'${arg}${argument_postfix[$arg]} -} - -function _feh_theme { - if [[ -r ~/.fehrc ]]; then - typeset -a themes tmp - typeset theme IFS=$'\n' - for theme in $(grep "\w" ~/.fehrc | grep -v "^#"); do - tmp=(${(s: :)theme}) - theme=${tmp[1]} - shift tmp - themes+=${theme}:${(j: :)tmp} - done - _describe 'theme' themes - fi -} - -function _feh_button { - typeset expl - _wanted button expl button \ - compadd {0..5} -} - -function _feh_background { - _alternative \ - 'file:file:_files' \ - 'mode:mode:(trans)' -} - -_arguments -s ${arguments} diff --git a/result/sw/share/zsh/5.9/functions/_fetch b/result/sw/share/zsh/5.9/functions/_fetch deleted file mode 100644 index eef5ffd9..00000000 --- a/result/sw/share/zsh/5.9/functions/_fetch +++ /dev/null @@ -1,43 +0,0 @@ -#compdef fetch - -# Deprecated arguments are prefixed with ! so they aren't listed but their arguments are completed -_arguments -s -S \ - '(-1 --one-file)'{-1,--one-file}'[stop and return exit code 0 at the first successfully retrieved file]' \ - '(-4 --ipv4-only)'{-4,--ipv4-only}'[forces fetch to use IPv4 addresses only]' \ - '(-6 --ipv6-only)'{-6,--ipv6-only}'[forces fetch to use IPv6 addresses only]' \ - '(-A --no-redirect)'{-A,--no-redirect}"[don't automatically follow "temporary" (302) redirects]" \ - '(-a --retry)'{-a,--retry}'[automatically retry the transfer upon soft failures]' \ - '(-B --buffer-size)'{-B+,--buffer-size=}'[specify the read buffer size in bytes]:buffer size (bytes)' \ - '--bind-address=[specify address to which outgoing connections will be bound]:host:_hosts' \ - '--ca-cert=[specify certificate bundle containing trusted CA certificates]:file:_files' \ - '--ca-path=[specify directory containing trusted CA hashes]:path:_directories' \ - '--cert=[specify PEM encoded client key for authentication]:file:_files -g "*.pem(-.)"' \ - '--crl=[specify certificate revocation list file]:file:_files' \ - '(-d --direct)'{-d,--direct}'[use a direct connection even if a proxy is configured]' \ - '(-F --force-restart)'{-F,--force-restart}'[in combination with the -r flag, forces a restart]' \ - '(-i --if-modified-since)'{-i+,--if-modified-since=}'[only retrieve if remote file newer than specified local file]:file:_files' \ - '--key=[specify PEM encoded client key]:key file:_files -g "*.pem(-.)"' \ - '(-l --symlink)'{-l,--symlink}'[if the target is a file-scheme URL, make a symbolic link to the target]' \ - '-M' \ - '(-m --mirror -r --restart)'{-m,--mirror}'[mirror mode]' \ - '(-N --netrc)'{-N+,--netrc=}'[use file instead of ~/.netrc to look up login names and pass- words for FTP sites]' \ - '(-n --no-mtime)'{-n,--no-mtime}"[don't preserve the modification time]" \ - '--no-passive[force FTP code to use active mode]' \ - '--no-proxy=[hosts on which to disable proxies]:host:_sequence _hosts' \ - '--no-sslv3' '--no-tlsv1' --no-verify-hostname --no-verify-peer \ - '(-o --output)'{-o+,--output=}'[set the output file name]:file:_files' \ - '-P' \ - '(-p --passive)'{-p,--passive}'[use passive FTP]' \ - '--referer=:URL:_urls' \ - '(-q --quiet)'{-q,--quiet}'[quiet mode]' \ - '(-R --keep-output)'{-R,--keep-output}"[don't delete the output file in any circumstances]" \ - '(-r --restart -m --mirror)'{-r,--restart}'[restart a previously interrupted transfer]' \ - '(-S --require-size)'{-S+,--require-size=}'[require the file size reported by the server to match the specified value]' \ - '(-s --print-size)'{-s,--print-size}'[print the size in bytes, without fetching it]' \ - '(-T --timeout)'{-T+,--timeout=}'[set timeout value]:seconds:' \ - '(-U --passive-portrange-default)'{-U,--passive-portrange-default}'[when using passive FTP, allocate the port for the data connection from the low port range]' \ - '--user-agent=:user agent' \ - '(-v --verbose)'{-v,--verbose}'[increase verbosity level]' \ - '(-w --retry-delay)'{-w+,--retry-delay=}'[wait successive retries]:delay (seconds)' \ - '!(*)-h+:host:_hosts' '!(*)-f+:file:_files' '!(*)-c+:remote directory:_directories' \ - '*:URL to fetch:_urls' diff --git a/result/sw/share/zsh/5.9/functions/_fetchmail b/result/sw/share/zsh/5.9/functions/_fetchmail deleted file mode 100644 index bc5a3968..00000000 --- a/result/sw/share/zsh/5.9/functions/_fetchmail +++ /dev/null @@ -1,11 +0,0 @@ -#compdef fetchmail - -_arguments -S \ - {--bsmtp,'(--logfile)-L','(-L)--logfile','(--fetchmailrc)-f','(-f)--fetchmailrc','(--idfile)-i','(-i)--idfile'}':file:_files' \ - {--plugin,--plugout,'(--mda)-m','(-m)--mda'}':command:_command_names -e' \ - {'(--username)-u','(-u)--username'}:user:_users \ - '--auth:authentication type:(password kerberos kerberos_v5)' \ - {'(--protocol)-p','(-p)--protocol'}:protocol:'(auto pop2 pop3 apop rpop kpop sdps imap imap-k4 imap-gss etrn)' \ - {'(--port)-P','(-P)--port'}':port number' \ - '*:mail server:_hosts' \ - -- diff --git a/result/sw/share/zsh/5.9/functions/_ffmpeg b/result/sw/share/zsh/5.9/functions/_ffmpeg deleted file mode 100644 index 1329939c..00000000 --- a/result/sw/share/zsh/5.9/functions/_ffmpeg +++ /dev/null @@ -1,200 +0,0 @@ -#compdef ffmpeg - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -(( $+functions[_ffmpeg_presets] )) || _ffmpeg_presets() { - local presets - presets=(~/.ffmpeg/*.ffpreset(:t:r) "$FFMPEG_DATADIR"/*.ffpreset(:t:r)) - _wanted ffmpeg-presets expl 'preset' compadd -a presets -} - -(( $+functions[_ffmpeg_acodecs] )) || _ffmpeg_acodecs() { - local acodecs - acodecs=(copy ${${(M)${(f)"$(_call_program audio-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]A[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-audio-codecs expl 'force audio codec (''copy'' to copy stream)' compadd -a acodecs -} - -(( $+functions[_ffmpeg_vcodecs] )) || _ffmpeg_vcodecs() { - local vcodecs - vcodecs=(copy ${${(M)${(f)"$(_call_program video-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]V[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-video-codecs expl 'force video codec (''copy'' to copy stream)' compadd -a vcodecs -} - -(( $+functions[_ffmpeg_scodecs] )) || _ffmpeg_scodecs() { - local scodecs - scodecs=(copy ${${(M)${(f)"$(_call_program video-codecs $words[1] -codecs 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]]S[S[:space:]][D[:space:]][T[:space:]][[:space:]][^[:space:]]##*}//(#b)????????([^[:space:]]##)*/$match[1]}) - _wanted ffmpeg-video-codecs expl 'force video codec (''copy'' to copy stream)' compadd -a scodecs -} - -(( $+functions[_ffmpeg_formats] )) || _ffmpeg_formats() { - local formats - formats=(${(ou)${=${(s:,:)${${(M)${(f)"$(_call_program formats $words[1] -formats 2>/dev/null)"}:#[[:space:]][D[:space:]][E[:space:]][[:space:]][^[:space:]]##*}//(#b)????([^[:space:]]##)*/$match[1]}}}}) - _wanted ffmpeg-formats expl 'force format' compadd -a formats -} - -(( $+functions[_ffmpeg_pix_fmts] )) || _ffmpeg_pix_fmts() { - local pix_fmts - _wanted ffmpeg-pix-fmts expl 'pixel format' compadd "$@" - \ - ${${${(M)${(f)"$(_call_program formats $words[1] -pix_fmts 2>/dev/null)"}:#[I.][O.][H.][P.][B.] [^=[:space:]]*}#* }%% *} -} - -(( $+functions[_ffmpeg_bsfs] )) || _ffmpeg_bsfs() { - local bsfs - bsfs=(${${(f)"$(_call_program bsfs $words[1] -bsfs 2>/dev/null)"}:#*:}) - _wanted ffmpeg-bsfs expl 'set bitstream filter' compadd -a bsfs -} - -typeset -A _ffmpeg_flags - -(( $+functions[_ffmpeg_flag_options] )) || _ffmpeg_flag_options() { - local expl - _wanted options expl 'flag' compadd -S '' -- {-,+}${^flag_options} -} - -(( $+functions[_ffmpeg_more_flag_options] )) || _ffmpeg_more_flag_options() { - compset -p $1 && _ffmpeg_flag_options -} - -(( $+functions[_ffmpeg_new_flag_options] )) || _ffmpeg_new_flag_options() { - compset -P '*' && _ffmpeg_flag_options -} - -(( $+functions[_ffmpeg_flags] )) || _ffmpeg_flags() { - local -a flag_options - eval "flag_options=(\${=_ffmpeg_flags[$1]})" - - local match mbegin mend - integer ret=1 - - if [[ $PREFIX = (#b)(*)[-+]([^-+]#) ]]; then - if [[ -n ${flag_options[(R)$match[2]]} ]]; then - _ffmpeg_new_flag_options && ret=0 - fi - if [[ -n ${flag_options[(R)$match[2]?*]} ]]; then - _ffmpeg_more_flag_options ${#match[1]} && ret=0 - fi - else - _ffmpeg_flag_options && ret=0 - fi - - return ret -} - -(( $+functions[_ffmpeg_register_lastopt_values] )) || _ffmpeg_register_lastopt_values() { - if (( lastopt_takesargs )); then - lastopt+=":$lastopt_description:" - if (( $#lastopt_values )); then - if [[ $lastopt_type == flags ]]; then - lastopt="*$lastopt" - flagtype=${${lastopt%%:*}#-} - lastopt+="->$flagtype" - _ffmpeg_flags[$flagtype]="${lastopt_values[*]}" - else - lastopt+="(${lastopt_values[*]})" - fi - fi - fi - _ffmpeg_argspecs+=$lastopt -} - -local -a _ffmpeg_argspecs -{ - local lastopt REPLY - local lastopt_description - local lastopt_takesargs - local lastopt_type - local -a lastopt_values - - _call_program options $words[1] -h 2>/dev/null | while IFS=$'\n' read -r; do - if [[ $REPLY == -* ]]; then - [[ -n $lastopt ]] && _ffmpeg_register_lastopt_values - lastopt=${REPLY%%[[:space:]]*} - lastopt_description=${REPLY##-[^[:space:]]##[[:space:]]##} - if [[ $lastopt_description == (#b)'<'(?##)'>'* ]]; then - lastopt_type=$match[1] - lastopt_description=${lastopt_description##<[^[:space:]]##>[[:space:]]##[^[:space:]]##[[:space:]]#} - if [[ -z $lastopt_description ]]; then - lastopt_description=$lastopt - fi - lastopt_description=${lastopt_description//:/\\:} - elif [[ $lastopt_description == [^[:space:]]##[[:space:]][[:space:]]* ]]; then - local example=${lastopt_description%% *} - example=${example//:/\\:} - lastopt_description=${lastopt_description##[^[:space:]]##[[:space:]]##} - lastopt_description=${lastopt_description//:/\\:} - if [[ $example == filename ]]; then - lastopt_takesargs=0 - lastopt+=":$lastopt_description:_files" - elif [[ $lastopt == -[asv]pre ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=": :_ffmpeg_presets" - elif [[ $lastopt == -acodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_acodecs" - elif [[ $lastopt == -vcodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_vcodecs" - elif [[ $lastopt == -scodec ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_scodecs" - elif [[ $lastopt == -f ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=": :_ffmpeg_formats" - elif [[ $lastopt == -pix_fmt ]]; then - lastopt_takesargs=0 - lastopt="*$lastopt" - lastopt+=":set pixel format:_ffmpeg_pix_fmts" - elif [[ $example == bitstream_filter ]]; then - lastopt_takesargs=0 - lastopt+=": :_ffmpeg_bsfs" - else - lastopt_takesargs=1 - lastopt_description+=" ($example)" - fi - else - lastopt_takesargs=0 - if [[ $lastopt == -vfilters ]]; then - lastopt+=": :->vfilters" - fi - fi - lastopt_values=() - elif [[ $REPLY == ' '* ]]; then - REPLY=${REPLY##[[:space:]]##} - REPLY=${REPLY%%[[:space:]]##*} - lastopt_takesargs=1 - lastopt_values+=$REPLY - fi - done - [[ -n $lastopt ]] && _ffmpeg_register_lastopt_values -} - -_arguments -C -S \ - "${_ffmpeg_argspecs[@]}" \ - '*:output file:_files' \ - && return - -[[ "$state" == "vfilters" ]] && - _values -s , -S = 'video filter' \ - 'aspect:set aspect ratio (rational number X\:Y or decimal number):' \ - 'crop:crop input video (x\:y\:width\:height):' \ - 'format: :_sequence -s : _ffmpeg_pix_fmts' \ - 'noformat: :_sequence -s : _ffmpeg_pix_fmts' \ - 'null' \ - 'pad:add pads to the input image (width\:height\:x\:y\:color_string):' \ - 'pixelaspect:set pixel aspect ratio (rational number X\:Y or decimal number):' \ - 'scale:scale input video (width\:height):' \ - 'slicify:output slice height ("random" or a number of pixels):' \ - 'unsharp:luma_x\:luma_y\:luma_amount\:chroma_x\:chroma_y\:chroma_amount:' \ - 'vflip' \ - 'buffer' \ - 'nullsrc' \ - 'nullsink' \ - && return - -[[ -n $state && -n $_ffmpeg_flags[$state] ]] && - _ffmpeg_flags $state && return - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_figlet b/result/sw/share/zsh/5.9/functions/_figlet deleted file mode 100644 index 32bed479..00000000 --- a/result/sw/share/zsh/5.9/functions/_figlet +++ /dev/null @@ -1,40 +0,0 @@ -#compdef figlet - -local fontdir -typeset -A opt_args - -fontdir=$(_call_program path figlet -I2 2>/dev/null) - -_arguments -s -S \ - "(-r -l -x)-c[center justify]" \ - "(-S -s -o -W -m)-k[use kerning]" \ - "(-r -c -x)-l[left justify]" \ - "(-p)-n[normal mode]" \ - "(-k -S -s -W)-o[let letters overlap]" \ - "(-n)-p[paragraph mode]" \ - "(-c -l -x)-r[right justify]" \ - "(-k -S -o -W -m)-s[smushed spacing]" \ - "(-w)-t[use terminal width]" \ - "(-I)-v[version]" \ - "(-r -c -l)-x[use default justification of font]" \ - "(-E)-D[use Deutsch character set]" \ - "(-D)-E[use English character set]" \ - "(-X -R)-L[left-to-right]" \ - "(-C)-N[clear controlfile list]" \ - "(-L -X)-R[right-to-left]" \ - "(-k -s -o -W -m)-S[smush letters together or else!]" \ - "(-k -S -s -o -m)-W[wide spacing]" \ - "(-L -R)-X[use default writing direction of font]" \ - "(-t)-w+[specify output width]:output width (in columns)" \ - "-d+[specify font directory]:font directory:_path_files -/" \ - '-f+[specify font]:font:_files -W ${~opt_args[-d]\:-$fontdir} -g \*flf\*\(-.\:r\)' \ - '(-k -S -s -o -W)-m+[specify layout mode]:layout mode' \ - '(-N)-C+[specify control file]:control file:_files -W ${~opt_args[-d]\:-$fontdir} -g \*flc\*\(-.\:r\)' \ - "(-v)-I+[display info]:info code:(( - -1\:normal\ operation\ \(default\) - 0\:version,\ copyright\ and\ usage\ information - 1\:version\ in\ integer\ format - 2\:default\ font\ directory - 3\:name\ of\ font\ figlet\ would\ use - 4\:output\ width\ in\ columns - ))" diff --git a/result/sw/share/zsh/5.9/functions/_file_descriptors b/result/sw/share/zsh/5.9/functions/_file_descriptors deleted file mode 100644 index be96dd0e..00000000 --- a/result/sw/share/zsh/5.9/functions/_file_descriptors +++ /dev/null @@ -1,59 +0,0 @@ -#autoload - -local i fds expl disp link sep -local -a list proc - -fds=( /dev/fd/<3->(N:t) ) -fds=( ${(n)fds} ) - -if zstyle -T ":completion:${curcontext}:file-descriptors" verbose; then - zstyle -s ":completion:${curcontext}:file-descriptors" list-separator sep || sep=-- - - if [[ $OSTYPE = freebsd* ]]; then - fds=( ${(f)"$(procstat -f $$|awk -v OFS=: '$3>2 && $3~/[0-9]/ {print $3,$10}')"} ) - zformat -a list " $sep " $fds - fds=( ${fds%%:*} ) - elif - proc=( /proc/$$/(fd|path)/<->(@N[-1]:h) ) - [[ -n $proc ]] - then - if zmodload -F zsh/stat b:zstat; then - for i in "${fds[@]}"; do - if zstat +link -A link $proc/$i; then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link[1]}" ) - else - fds[(i)$i]=() - fi - done - elif (( $+commands[readlink] )); then - for i in "${fds[@]}"; do - if link=$(readlink $proc/$i); then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link}" ) - else - fds[(i)$i]=() - fi - done - else - for i in "${fds[@]}"; do - if link=$(ls -l $proc/$i); then - list+=( "${(r.$#fds[-1].)i} $sep ${(D)link#* -> }" ) - else - fds[(i)$i]=() - fi - done - fi 2>/dev/null - fi - - if (( list[(I)* $sep ?*] )); then - list=( - "${(r.$#fds[-1].):-0} $sep standard input" - "${(r.$#fds[-1].):-1} $sep standard output" - "${(r.$#fds[-1].):-2} $sep standard error" $list - ) - disp=( -d list ) - fi -fi -fds=( 0 1 2 $fds ) - -_description -V file-descriptors expl 'file descriptor' -compadd $disp -o nosort "$@" "$expl[@]" -a fds diff --git a/result/sw/share/zsh/5.9/functions/_file_flags b/result/sw/share/zsh/5.9/functions/_file_flags deleted file mode 100644 index 202a46c4..00000000 --- a/result/sw/share/zsh/5.9/functions/_file_flags +++ /dev/null @@ -1,70 +0,0 @@ -#autoload - -# Provides completion for file flags (formerly part of _chflags) - -local curcontext=$curcontext su=$(( ! EUID || $+_comp_priv_prefix )) -local -a context line state state_descr copts=( "${@}" ) flags flag_descs -local -A val_args - -flag_descs+=( - nodump nodump - uappnd 'user append-only' - uchg 'user immutable' -) - -if (( su )); then - flag_descs+=( - arch archived - sappnd 'system append-only' - schg 'system immutable' - ) -fi - -if [[ $OSTYPE = (darwin|dragonfly|freebsd|netbsd)* ]]; then - flag_descs+=(opaque opaque) - - if [[ $OSTYPE = darwin* ]]; then - flag_descs+=(hidden hidden) - fi - - if [[ $OSTYPE = (dragonfly|freebsd)* ]]; then - flag_descs+=(uunlnk 'user undeletable') - - (( su )) && - flag_descs+=(sunlnk 'system undeletable') - fi - - if [[ $OSTYPE = dragonfly* ]]; then - flag_descs+=( - cache cache - nouhistory 'user nohistory' - ) - - (( su )) && flag_descs+=( - noscache noscache - noshistory 'system nohistory' - ) - fi - - [[ $OSTYPE = freebsd* ]] && flag_descs+=( - uarch archive - uhidden hidden - uoffline offline - urdonly 'DOS, Windows and CIFS readonly' - ureparse 'Windows reparse point' - usparse 'sparse file' - usystem 'DOS, Windows and CIFS system' - ) -fi - -for 1 2 in $flag_descs; do - if [[ $1 = no* ]]; then - flags+=("(${1#no})$1[set the $2 flag]" - "($1)${1#no}[unset the $2 flag]") - else - flags+=("(no$1)$1[set the $2 flag]" - "($1)no$1[unset the $2 flag]") - fi -done - -_values -O copts -s , 'file flags' $flags diff --git a/result/sw/share/zsh/5.9/functions/_file_modes b/result/sw/share/zsh/5.9/functions/_file_modes deleted file mode 100644 index fbe4c936..00000000 --- a/result/sw/share/zsh/5.9/functions/_file_modes +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# Provides completion for file modes (formerly part of _chmod) - -local curcontext=$curcontext -local -a context line state state_descr copts=( "${@}" ) privs -local -A val_args - -privs=( - 'r[read]' 'w[write]' 'x[execute]' - 's[set uid/gid]' 't[sticky]' - 'X[execute only if directory or executable to another]' - "u[owner's current permissions]" - "g[group's current permissions]" - "o[others' current permissions]" -) - -[[ $OSTYPE == solaris* ]] && -privs+=( 'l[mandatory locking]' ) - -compset -P '*,' -compset -S ',*' - -if [[ -prefix [0-7] ]]; then - _message -e number 'numeric mode' -elif compset -P '[a-z]#[+-=]'; then - _values -O copts -S '' privilege $privs && return 0 -else - compset -P '*' - copts=( -S '' ) - _alternative -O copts \ - 'who:who:((a\:all u\:owner g\:group o\:others))' \ - 'operators:operator:(+ - =)' \ - && return 0 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_file_systems b/result/sw/share/zsh/5.9/functions/_file_systems deleted file mode 100644 index 1e47ff7b..00000000 --- a/result/sw/share/zsh/5.9/functions/_file_systems +++ /dev/null @@ -1,38 +0,0 @@ -#autoload - -local expl fss - -case $OSTYPE in - aix*) fss=( jfs nfs cdrfs ) ;; - irix*) fss=( efs proc fd nfs iso9660 dos hfs cachefs xfs ) ;; - linux*) - typeset -aU fss - fss=( adfs bfs cramfs ext2 ext3 hfs hpfs iso9660 minix ntfs qnx4 - reiserfs romfs swap udf ufs vxfs xfs xiafs ) - [[ -r /proc/filesystems ]] && - fss+=( ${$(</proc/filesystems)#nodev} ) - [[ -r /etc/filesystems ]] && - fss+=( ${${${(f)"$(</etc/filesystems)"}:#\#*}#\*} ) - ;; - osf*) fss=( advfs ufs nfs mfs cdfs ) ;; - solaris*) fss=( ufs nfs hsfs s5fs pcfs cachefs tmpfs ) ;; - dragonfly*) - fss=( cd9660 devfs ext2fs fdesc kernfs linprocfs mfs msdos nfs - ntfs null nwfs portal procfs std udf ufs umap union ) - ;; - freebsd*) - fss=( ${${(f)"$(_call_program fstypes lsvfs)"}[3,-1]%% *} ) || - fss=( cd9660 devfs ext2fs fdescfs kernfs linprocfs linsysfs mfs msdosfs nfs - ntfs nullfs nwfs portalfs procfs smbfs std tmpfs udf ufs unionfs - reiserfs xfs zfs ) - ;; - darwin*) - fss=( autofs /sbin/mount_*(#qN-*:s./sbin/mount_.) ) - ;; - *) - # default for all other systems - fss=( ufs ) - ;; -esac - -_wanted fstypes expl 'file system type' compadd "$@" -M 'L:|no=' -a "$@" - fss diff --git a/result/sw/share/zsh/5.9/functions/_files b/result/sw/share/zsh/5.9/functions/_files deleted file mode 100644 index f03b4a14..00000000 --- a/result/sw/share/zsh/5.9/functions/_files +++ /dev/null @@ -1,153 +0,0 @@ -#compdef -redirect-,-default-,-default- - -local -a match mbegin mend -local -a subtree -local ret=1 - -# Look for glob qualifiers. This is duplicated from _path_files because -# we don't want to complete them multiple times (for each file pattern). -if _have_glob_qual $PREFIX; then - compset -p ${#match[1]} - compset -S '[^\)\|\~]#(|\))' - if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then - _globflags && ret=0 - else - if [[ $_comp_caller_options[extendedglob] == on ]]; then - _describe -t globflags "glob flag" '(\#:introduce\ glob\ flag)' -Q -S '' && ret=0 - fi - _globquals && ret=0 - fi - return ret -elif [[ $_comp_caller_options[extendedglob] == on && $PREFIX = \(\#[^\)]# ]] && compset -P '\(\#'; then - # Globbing flags can start at beginning of word, even though - # glob qualifiers can't. - _globflags && return -fi - -local opts tmp glob pat pats expl tag i def descr end ign tried -local type sdef ignvars ignvar prepath oprefix rfiles rfile - -zparseopts -a opts \ - '/=tmp' 'f=tmp' 'g+:-=tmp' q n 1 2 P: S: r: R: W: x+: X+: M+: F: J+: V+: o+: - -type="${(@j::M)${(@)tmp#-}#?}" -if (( $tmp[(I)-g*] )); then - glob="${${${(@)${(@M)tmp:#-g*}#-g}##[[:blank:]]#}%%[[:blank:]]#}" - [[ "$glob" = *[^\\][[:blank:]]* ]] && - glob="{${glob//(#b)([^\\])[[:blank:]]##/${match[1]},}}" - - # add `#q' to the beginning of any glob qualifier if not there already - [[ "$glob" = (#b)(*\()([^\|\~]##\)) && $match[2] != \#q* ]] && - glob="${match[1]}#q${match[2]}" -elif [[ $type = */* ]]; then - glob="*(#q-/)" -fi -tmp=$opts[(I)-F] -if (( tmp )); then - ignvars=($=opts[tmp+1]) - if [[ $ignvars = _comp_ignore ]]; then - ign=( $_comp_ignore ) - elif [[ $ignvars = \(* ]]; then - ign=( ${=ignvars[2,-2]} ) - else - ign=() - for ignvar in $ignvars; do - ign+=(${(P)ignvar}) - done - opts[tmp+1]=_comp_ignore - fi -else - ign=() -fi - -if zstyle -a ":completion:${curcontext}:" file-patterns tmp; then - pats=() - - for i in ${tmp//\%p/${${glob:-\*}//:/\\:}}; do - if [[ $i = *[^\\]:* ]]; then - pats+=( " $i " ) - else - pats+=( " ${i}:files " ) - fi - done -elif zstyle -t ":completion:${curcontext}:" list-dirs-first; then - pats=( " *(-/):directories:directory ${${glob:-*}//:/\\:}(#q^-/):globbed-files" '*:all-files' ) -else - # People prefer to have directories shown on first try as default. - # Even if the calling function didn't use -/. - pats=( "${${glob:-*}//:/\\:}:globbed-files *(-/):directories" '*:all-files ' ) -fi - -tried=() -for def in "$pats[@]"; do - eval "def=( ${${def//\\:/\\\\\\:}//(#b)([][()|*?^#~<>])/\\${match[1]}} )" - - tmp="${(@M)def#*[^\\]:}" - (( $tried[(I)${(q)tmp}] )) && continue - tried=( "$tried[@]" "$tmp" ) - - for sdef in "$def[@]"; do - - tag="${${sdef#*[^\\]:}%%:*}" - pat="${${sdef%%:${tag}*}//\\:/:}" - - if [[ "$sdef" = *:${tag}:* ]]; then - # If the file-patterns spec includes a description, use it and give the - # group/description options from it precedence over passed in parameters. - descr="${(Q)sdef#*:${tag}:}" - end= - else - if (( $opts[(I)-X] )); then - descr= - else - descr=file - fi - end=yes - fi - - _tags "$tag" - while _tags; do - _comp_ignore=() - while _next_label "$tag" expl "$descr"; do - _comp_ignore=( $_comp_ignore $ign ) - if [[ -n "$end" ]]; then - expl=( "$opts[@]" "$expl[@]" ) - else - expl+=( "$opts[@]" ) - fi - - if _path_files -g "$pat" "$expl[@]"; then - ret=0 - elif [[ $PREFIX$SUFFIX != */* ]] && \ - zstyle -a ":completion:${curcontext}:$tag" recursive-files rfiles - then - for rfile in $rfiles; do - if [[ $PWD/ = ${~rfile} ]]; then - if [[ -z $subtree ]]; then - subtree=( **/*(/) ) - fi - for prepath in $subtree; do - oprefix=$PREFIX - PREFIX=$prepath/$PREFIX - _path_files -g "$pat" "$expl[@]" && ret=0 - PREFIX=$oprefix - done - break - fi - done - fi - done - (( ret )) || break - done - - ### For that _next_tags change mentioned above we would have to - ### comment out the following line. (Or not, depending on the order - ### of the patterns.) - - [[ "$pat" = '*' ]] && return ret - - done - (( ret )) || return 0 -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_find b/result/sw/share/zsh/5.9/functions/_find deleted file mode 100644 index 74111f92..00000000 --- a/result/sw/share/zsh/5.9/functions/_find +++ /dev/null @@ -1,171 +0,0 @@ -#compdef find gfind - -local curcontext="$curcontext" state_descr variant default ret=1 -local -a state line args alts disp smatch - -_pick_variant -r variant gnu=GNU $OSTYPE -version - -case $variant in - solaris*) - args+=( - '*-'{n,}'cpio:device:_files' - '*-local' - ) - ;| - solaris*|darwin*) - args+=( '*-xattr' ) - ;| - solaris2.<10->|freebsd*|darwin*) - args+=( '*-acl' ) - ;| - solaris2.<11->|freebsd*|dragonfly*|darwin*|openbsd*|gnu) - args+=( - '*-amin:access time (minutes)' - '*-cmin:inode change time (minutes)' - '*-mmin:modification time (minutes)' - '*-iname:name pattern to match (case insensitive)' - '*-print0' - ) - ;| - solaris*|freebsd*|dragonfly*|darwin*|gnu) - args+=( '*-mount' ) - ;| - netbsd*|freebsd*|dragonfly*|darwin*|gnu) - args+=( '(-H -L)-P[never follow symlinks]' ) - ;| - darwin*|freebsd*|gnu) - args+=( - '*-Bmin:birth time (minutes)' - '*-Bnewer:file to compare (birth time):_files' - '*-Btime:birth time (hours)' - ) - ;| - netbsd*|freebsd*|dragonfly*|openbsd*|darwin*|gnu) - args+=( - '-d[depth first traversal]' - '*-anewer:file to compare (access time):_files' - '*-cnewer:file to compare (inode change time):_files' - '*-empty' - '*-execdir:program: _command_names -e:*\;::program arguments: _normal' - '*-maxdepth:maximum search depth' - '*-mindepth:minimum search depth' - '*-path:path pattern to search:' - ) - ;| - freebsd*|dragonfly*|darwin*|gnu) - args+=( - '*-delete' - '*-gid:numeric group ID' - '*-uid:numeric user ID' - '*-noleaf' - '*-lname:link pattern to search' - '*-ilname:link pattern to search (case insensitive)' - '*-ipath:path pattern to search (case insensitive)' - '*-regex:regular expression to search' - '*-iregex:regular expression to search (case insensitive)' - '*-wholename:full path pattern to search' \ - '*-iwholename:full path pattern to search (case insensitive)' - '*-ignore_readdir_race' - '*-mnewer:file to compare (modification time):_files' - '*-noignore_readdir_race' - '*-okdir:program: _command_names -e:*\;::program arguments: _normal' - '*-samefile:file to compare inode:_files' \ - '*-true' - '*-false' - '*-and' - '*-or' - '*-not' - ) - ;| - freebsd*|dragonfly*|gnu) args+=( '*-quit' ) ;| - netbsd*|freebsd*|dragonfly*|darwin*) - args+=( - '-E[use extended regular expressions with -regex/-iregex]' - '-s[traverse directories in sorted order]' - ) - ;| - netbsd*|freebsd*|dragonfly*|openbsd*|darwin*) - args+=( - '-X[warn if filename contains characters special to xargs]' - '-f[specify file hierarchy to traverse]:path:_directories' - "-x[don't span filesystems]" - '*-flags:flag:_chflags' - ) - ;| - freebsd*|dragonfly*) args+=( '*-sparse' ) ;| - darwin*) args+=( '*-xattrname:name' ) ;| - gnu) - args+=( - '(- *)-help' '(-)--help' - '(- *)-version' '(-)--version' - '-D[print diagnostics]:debug option:(exec opt rates search stat time tree all help)' - '-O+[enable query optimisation]:level:(1 2 3)' - '*-daystart' - '-regextype:regexp syntax:(help findutils-default awk egrep ed emacs gnu-awk grep posix-awk posix-basic posix-egrep posix-extended posix-minimal-basic sed)' - '*-warn' - '*-nowarn' - '*-xautofs' - '*-used:access after inode change (days)' - '*-executable' - '*-readable' - '*-writable' - '*-xtype:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' - '*-fls:output file:_files' - '*-fprint:output file:_files' - '*-fprint0:output file:_files' - '*-fprintf:output file:_files:output format' - '*-printf:output format' - ) - [[ $OSTYPE = linux-gnu ]] && args+=( '*-context:SELinux context (glob pattern):_selinux_contexts' ) - ;; -esac - -_arguments -C $args \ - '(-L -P)-H[only follow symlinks when resolving command-line arguments]' \ - '(-H -P)-L[follow symlinks]' \ - '*-atime:access time (days):->times' \ - '*-ctime:inode change time (days):->times' \ - '*-depth' \ - '*-exec:program: _command_names -e:*\;::program arguments: _normal' \ - '*-follow' \ - '*-fstype:file system type:_file_systems' \ - '*-group:group:_groups' \ - '*-inum:inode number:' \ - '*-links:number of links:' \ - '*-ls' \ - '*-mtime:modification time (days):->times' \ - '*-name:name pattern' \ - '*-newer:file to compare (modification time):_files' \ - '*-nogroup' \ - '*-nouser' \ - '*-ok:program: _command_names -e:*\;::program arguments: _normal' \ - '*-perm: :_file_modes' \ - '*-print' \ - '*-prune' \ - '*-size:file size (blocks)' \ - '*-type:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' \ - '*-user:user:_users' \ - '*-xdev' \ - '*-a' '*-o' \ - '(-D -E -H -L -O -P -f -s -x --help --version)*:directory:_files -/' \ -&& ret=0 - -if [[ $state = times ]]; then - if ! compset -P '[+-]' || [[ -prefix '[0-9]' ]]; then - compstate[list]+=' packed' - if zstyle -t ":completion:${curcontext}:senses" verbose; then - zstyle -s ":completion:${curcontext}:senses" list-separator sep || sep=-- - default=" [default exactly]" - disp=( "+ $sep before (older files)" "- $sep since (newer files)" ) - smatch=( - + ) - else - disp=( before exactly since ) - smatch=( + '' - ) - fi - alts=( "senses:sense${default}:compadd -V times -S '' -d disp -a smatch" ) - fi - alts+=( "times:${state_descr}:_dates -f d" ) - _alternative $alts && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_find_net_interfaces b/result/sw/share/zsh/5.9/functions/_find_net_interfaces deleted file mode 100644 index 06238b11..00000000 --- a/result/sw/share/zsh/5.9/functions/_find_net_interfaces +++ /dev/null @@ -1,41 +0,0 @@ -#autoload - -# This can be called independently of completion. It returns -# arrays net_intf_disp and net_intf_list which the caller should -# make local. - -local sep list - -# Make sure needed tools are in the path. -local PATH=$PATH -PATH=/sbin:$PATH - -case $OSTYPE in - aix*) - net_intf_list=( ${(f)"$(lsdev -C -c if -F 'name:description')"} ) - if zstyle -T ":completion:${curcontext}" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep " "$net_intf_list[@]" - net_intf_disp=(-ld list) - fi - ;; - darwin*|freebsd*|dragonfly*) net_intf_list=( $(ifconfig -l) ) ;; - irix*) net_intf_list=( ${${${(f)"$(/usr/etc/netstat -i)"}%% *}[2,-1]} ) ;; - *) - if (( $+commands[ip] )); then - # if ip is available, we can also show altnames - net_intf_list=( $(_call_program interfaces "ip link | sed -ne 's/^[0-9]\+: \([^:@]\+\).*/\1/p;t; s/^[\ ]\+altname \(.\+\)\$/\1/p'") ) - else - # linux's deprecated ifconfig may truncate long interface names - net_intf_list=( $(_call_program interfaces "ifconfig -a 2>/dev/null | sed -n 's/^\([^ :]*\).*/\1/p'") ) - fi - - if (( ${#net_intf_list} == 0 )) && [[ -d /proc/sys/net/ipv4/conf ]]; then - # On linux we used to use the following as the default, without /sys/class/net/*. - # However, we now use ip or ifconfig since it finds additional devices such - # as tunnels. So only do this if that didn't work. - typeset -gU net_intf_list - net_intf_list=( /proc/sys/net/ipv4/conf/*~*(all|default)(N:t) /sys/class/net/*(N:t) ) - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_findmnt b/result/sw/share/zsh/5.9/functions/_findmnt deleted file mode 100644 index 0c832364..00000000 --- a/result/sw/share/zsh/5.9/functions/_findmnt +++ /dev/null @@ -1,117 +0,0 @@ -#compdef findmnt -# -# Note for customization: -# Options -N -k -m -s are in a group 'S' and need be specified as -# 'S-option-N' etc. in the context for zstyle. For example, if you want -# all PIDs to be completed for 'findmnt -N<TAB>', then -# zstyle ':completion:*:findmnt:S-option-N-1:processes' command 'ps -A' -# -local curcontext=$curcontext state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -C \ - '(H -A --all)'{-A,--all}'[print all filesystems]' \ - '(H -a --ascii)'{-a,--ascii}'[use ascii characters for tree formatting]' \ - '(H -b --bytes)'{-b,--bytes}'[print SIZE etc. in bytes]' \ - '(H -c --nocanonicalize)'{-c,--nocanonicalize}'[do not canonicalize path]' \ - '(H -d --direction)'{-d+,--direction=}'[specify the search direction]:direction:(forward backward)' \ - '(H -e --evaluate)'{-e,--evaluate}'[convert LABEL/UUID/PARTLABEL/PARTUUID to the device name]' \ - '(H -F --tab-file)*'{-F+,--tab-file=}'[search in the specified tab file]:tab file:_files' \ - '(H -f --first-only)'{-f,--first-only}'[print the first matching filesystem only]' \ - '(H -i --invert)'{-i,--invert}'[invert the sense of matching]' \ - '(H -M --mountpoint :)'{-M+,--mountpoint=}'[specify the mountpoint]: :->targets' \ - '(H -n --noheadings)'{-n,--noheadings}'[do not print a header line]' \ - '(H -O --options)'{-O+,--options=}'[only print the filesystems with the specified options]:list of options: ' \ - '(H -o --output --output-all)'{-o+,--output=}'[specify output columns]: :->columns' \ - '(H -o --output)--output-all[output all available columns]' \ - '(H -p --poll)'{-p+,--poll=}'[monitor changes in /proc/self/mountinfo]::action:(mount umount remount move)' \ - '(H --real)--pseudo[print only pseudo-filesystems]' \ - '(H -R --submounts)'{-R,--submounts}'[print recursively all submounts]' \ - '(H --pseudo)--real[print only real filesystems]' \ - '(H -S --source :)'{-S+,--source=}'[specify the mount source]: :->sources' \ - '(H -T --target :)'{-T+,--target=}'[specify the mount target]:target:_files' \ - '(H -t --types)'{-t+,--types=}'[specify the type of filesystems]:filesystem types:_sequence -s , _file_systems' \ - '--tree[use tree-like output if possible]' \ - '(H -U --uniq)'{-U,--uniq}'[ignore filesystems with duplicated mount targets]' \ - '(H -u --notruncate)'{-u,--notruncate}'[do not truncate text in columns]' \ - '(H -v --nofsroot)'{-v,--nofsroot}'[do not print \[/dir\] in the SOURCE column]' \ - '(H -w --timeout)'{-w+,--timeout}'[specify timeout for --poll]:milliseconds: ' \ - '(H -x --verify)'{-x,--verify}'[check mount table content]' \ - '(H)--verbose[print more information]' \ - '(H)1: :->sources_targets' \ - '(H)2:: :->targets' \ - + '(format)' \ - '(H)'{-D,--df}'[imitate the output of df command]' \ - '(H)'{-J,--json}'[use JSON output format]' \ - '(H)'{-l,--list}'[use list output format]' \ - '(H)'{-P,--pairs}'[use key="value" output format]' \ - '(H)'{-r,--raw}'[use raw output format]' \ - + '(S)' \ - '(H)'{-k,--kernel}'[search in /proc/self/mountinfo (default)]' \ - '(H)'{-m,--mtab}'[search in /etc/mtab]' \ - '(H)'{-N+,--task=}'[search /proc/<pid>/mountinfo]: :_pids' \ - '(H)'{-s,--fstab}'[search in /etc/fstab]' \ - + '(H)' \ - '(- :)'{-h,--help}'[display help text and exit]' \ - '(- :)'{-V,--version}'[display version and exit]' \ - && ret=0 - -__findmnt_mountpoints () { - compadd "$@" \ - ${(f)"$(_call_program mount-points findmnt $opts -oTARGET)"} -} - -case $state in - columns) - compset -P '+' || _describe -t list-prefixes prefix \ - '( +:"not replace but extend the list" )' -S '' && ret=0 - local -a columns=( - ${${${(f)"$(_call_program columns findmnt -h)"}[(r)Available*,-2]}[2,-1]} - ) - columns=( ${${${${${${columns## #}//:/\\:}//\[/\\[}//]/\\]}/ /[}/%/]} ) - _values -s , -M 'm:{a-z}={A-Z}' column $columns && ret=0 - ;; - *) # call "findmnt $opts" to get possible sources/targets - local opts='-lnve' - if [[ -n $opt_args[(I)S-(-m|--mtab)] ]]; then - opts+=' -m' - elif [[ -n $opt_args[(I)S-(-s|--fstab)] ]]; then - opts+=' -s' - elif [[ -n $opt_args[(I)S-(-N|--task)] ]]; then - opts+=" -N${(v)opt_args[(I)S-(-N|--task)]}" - fi - ;| - sources*) # 'sources' or 'sources_targets' - local -a val - if compset -P 'LABEL='; then - val=( ${(f)"$(_call_program labels findmnt $opts -oLABEL)"} ) - _describe -t labels 'LABEL' val && ret=0 - elif compset -P 'PARTLABEL='; then - val=( ${(f)"$(_call_program labels findmnt $opts -oPARTLABEL)"} ) - _describe -t labels 'PARTLABEL' val && ret=0 - elif compset -P 'UUID='; then - val=( ${(f)"$(_call_program uuids findmnt $opts -oUUID)"} ) - _describe -t uuids 'UUID' val && ret=0 - elif compset -P 'PARTUUID='; then - val=( ${(f)"$(_call_program uuids findmnt $opts -oPARTUUID)"} ) - _describe -t uuids 'PARTUUID' val && ret=0 - else - local -a alts=( - 'devices:device:compadd \ - $(_call_program devices findmnt $opts -oSOURCE)' - 'device-numbers:major-minor:compadd \ - ${$(_call_program device-numbers findmnt $opts -oMAJ:MIN)// /}' - 'prefixes:prefix:compadd -S "" LABEL= UUID= PARTLABEL= PARTUUID=' - ) - [[ $state = sources_targets ]] && - alts+=( 'mount-points:mountpoint:__findmnt_mountpoints' ) - _alternative $alts && ret=0 - fi - ;; - targets) - local expl - _wanted mount-points expl 'mountpoint' __findmnt_mountpoints && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_finger b/result/sw/share/zsh/5.9/functions/_finger deleted file mode 100644 index 1ffb52d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_finger +++ /dev/null @@ -1,80 +0,0 @@ -#compdef finger - -local curcontext="$curcontext" state line match ret=1 -typeset -A opt_args - -if (( ! $+_finger_args )); then - local help="$(_call_program options finger -\\\? 2>&1)" - local -A optionmap - -## `finger -\?': - -# SunOS 5.7: -# finger: illegal option -- ? -# Usage: finger [-bfhilmpqsw] [-t l|h|l,h] [name1 [name2 ...] ] - -# SunOS 4.1.4: -# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] - -# IRIX 6.3: -# Usage: finger [-bfhilmpqsw] [login1 [login2 ...] ] - -# NetBSD 1.4.1: -# finger: illegal option -- ? -# usage: finger [-lmpsho] [login ...] - -# FreeBSD 2.2.8 -# finger: illegal option -- ? -# usage: finger [-lmpshoT] [login ...] - -# BSD/OS 3.0: -# finger: illegal option -- ? -# usage: finger [-lmps] [login ...] - -# 4.4BSD Lite: -# usage: finger [-lmps] [login ...] - -# Debian GNU/Linux (potato) (netstd 3.07-10): -# finger: invalid option -- ? -# usage: finger [-lmps] [login ...] - - if [[ "$help" = *\[-(#b)(lmps[a-zA-Z]#)* ]]; then - # BSD style - optionmap=( - '*m*' '-m[match to login name]' - '*l*' '(-s -o)-l[force long format]' - '*s*' '(-l -p)-s[force short format]' - '*p*' '(-s -o)-p[suppress .forward, .plan and .project]' - '*o*' '(-l -p)-o[print office information]' - '*T*' '-T[disable T/TCP]' - ) - _finger_args=($optionmap[(K)$match[1]]) - elif [[ "$help" = *\[-(#b)(bfhilmpqsw[a-zA-Z]#)* ]]; then - # System V style - optionmap=( - '*m*' '-m[match to login name]' - '*l*' '( -i -q -s -f -w)-l[force long format]' - '*i*' '(-l -q -s -b -h -p -w)-i[force idle format]' - '*q*' '(-l -i -s -b -h -p -w)-q[force quick format]' - '*s*' '(-l -i -q -b -h -p)-s[force short format]' - '*b*' '(-i -q -s)-b[suppress home and shell]' - '*f*' '(-l)-f[suppress header]' - '*h*' '(-i -q -s)-h[suppress .project]' - '*p*' '(-i -q -s)-p[suppress .plan]' - '*w*' '(-i -q -l)-w[suppress full name]' - ) - _finger_args=($optionmap[(K)$match[1]]) - else - _finger_args=() - fi -fi - -_arguments -C -s $_finger_args '*:finger targets:->finger-targets' && ret=0 - -case "$state" in -finger-targets) - _user_at_host -t other-accounts "$@" && return - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_fink b/result/sw/share/zsh/5.9/functions/_fink deleted file mode 100644 index 04a067ec..00000000 --- a/result/sw/share/zsh/5.9/functions/_fink +++ /dev/null @@ -1,168 +0,0 @@ -#compdef fink - -_fink_get_packages_with_cache(){ - local cache_policy - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _finkpkgs_caching_policy - fi - - typeset -g -a _fink_pkgs - local expl - - if ( (( #_fink_pkgs == 0 )) || _cache_invalid finkpkgs) \ - && ! _retrieve_cache finkpkgs; then - _fink_pkgs=(${(f)"$( - command fink list --tab \ - | command grep -v '\[virtual package\]' \ - | command sed 's/^ / n /' \ - | command cut -f1,2 - )"}) - _store_cache finkpkgs _fink_pkgs - fi - - if (( # > 0 )); then - local i - for i in "$@"; do - case "$i" in - -i) packages+=(${${(M)_fink_pkgs:#?i?*}#* }) ;; - -o) packages+=(${${(M)_fink_pkgs:#(i)*}#* }) ;; - -n) packages+=(${${(M)_fink_pkgs:# n *}#* }) ;; - esac - done - else - packages=(${_fink_pkgs#* }) - fi -} - -_fink_get_packages_without_cache(){ - local expl - - packages=(${(f)"$( - command fink list -t "$@" "$PREFIX" \ - | command grep -v '\[virtual package\]' \ - | command cut -f2 - )"}) -} - -_fink_get_packages(){ - # variable packages will be set - if zstyle -t ":completion:${curcontext}:" use-cache; then - _fink_get_packages_with_cache "$@" - else - _fink_get_packages_without_cache "$@" - fi -} - -_finkpkgs_caching_policy(){ - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) || - [[ /sw/var/cache/apt/pkgcache.bin -nt "$1" ]] || - [[ /sw/var/lib/dpkg/available -nt "$1" ]] -} - -_fink(){ - local -a _1st_arguments - _1st_arguments=( - 'install:install or update packages' - 'remove:remove packages' - 'purge:remove packages and configuration files' - 'update-all:update all installed packages to the latest version' - 'list:search package name or conditions and list' - 'apropos:search package descriptions or conditions and list' - 'describe:display a description of the package' - 'fetch:download package source files' - 'fetch-all:downloads all package source files' - 'fetch-missing:download all missing package source files' - 'build:build .deb packages' - 'rebuild:rebuild .deb packages' - 'reinstall:reinstall packages' - 'configure:rerun the fink configuration process' - 'selfupdate:upgrade to a new fink release' - 'validate:validate files' - 'scanpackages:call dpkg-scanpackages' - 'checksums:validate the MD5 digest of all tarballs' - 'cleanup:removes obsolete package files' - ) - - local curcontext="$curcontext" state line expl - local -A opt_args - - _arguments \ - '(-h --help)'{-h,--help}'[display help text]' \ - '(-q --quiet)'{-q,--quiet}'[causes fink to be less verbose]' \ - '(-V --version)'{-V,--version}'[display version information]' \ - '(-v --verbose)'{-v,--verbose}'[causes fink to be more verbose]' \ - '(-y --yes)'{-y,--yes}'[assume default answer for interactive questions]' \ - '*:: :->subcmds' && return 0 - - if (( CURRENT == 1 )); then - _describe -t commands "fink subcommand" _1st_arguments - return - fi - - local -a packages - - case "$words[1]" in - install|update|enable|activate|use) - _fink_get_packages -n -o - _wanted packages expl 'not installed or outdated fink package' compadd -a packages ;; - remove|disable|deactivate|unuse|delete|purge) - _fink_get_packages -i - _wanted packages expl 'installed package' compadd -a packages ;; - #update-all) - list) - _arguments \ - '(-t --tab)'{-t,--tab}'[outputs list with tabs as field delimiter]' \ - '(-i --installed)'{-i,--installed}'[packages currently installed]' \ - '(-u --uptodate)'{-u,--uptodate}'[packages up to date]' \ - '(-o --outdate)'{-o,--outdated}'[packages newer version is available]' \ - '(-n --notinstalled)'{-n,--notinstalled}'[packages not installed]' \ - '(-b --buildonly)'{-b,--buildonly}'[packages Build Only Depends]' \ - '(-s --section)'{-s=,--section=}'[sections]:section name' \ - '(-m --maintainer)'{-m=,--maintainer=}'[maintainer]:maintainer name' \ - --tree='[tree]:tree name' \ - '(-w --width)'{-w=,--width=}'[width of display]:number or "auto"' \ - '(1 : -)'{-h,--help}'[display help text]' \ - '1: :->pkgs' && return 0 - - if [[ "$state" == pkgs ]]; then - _fink_get_packages - _wanted packages expl 'package name hint' compadd -a packages - fi ;; - apropos) - _arguments \ - '(-t --tab)'{-t,--tab}'[output the list with tabs as field delimiter]' \ - '(-w --width)'{-w=,--width=}'[width of display]:number or "auto"' \ - '(1 : -)'{-h,--help}'[display help text]' \ - '1: :->pkgs' && return - - if [[ "$state" == pkgs ]]; then - _fink_get_packages - _wanted packages expl 'package hint' compadd -a packages - fi ;; - describe|desc|description|info) - _fink_get_packages - _wanted packages expl 'package' compadd -a packages ;; - #fetch) - #fetch-all) - fetch-missing) - _arguments \ - '(-i --ignore-restrictive)'{-i,--ignore-restrictive}'[do not fetch packages that are "License: Restrictive"]' ;; - #build) - rebuild|reinstall) - _fink_get_packages - _wanted packages expl 'package' compadd -a packages ;; - #configure) - #selfupdate) - validate|check) - _wanted files expl 'finkinfo file' _files -g "*.info(-.)" ;; - #scanpackages) - #checksums) - #cleanup) - *) _default ;; - esac -} - -_fink "$@" diff --git a/result/sw/share/zsh/5.9/functions/_first b/result/sw/share/zsh/5.9/functions/_first deleted file mode 100644 index 4b565fca..00000000 --- a/result/sw/share/zsh/5.9/functions/_first +++ /dev/null @@ -1,47 +0,0 @@ -#compdef -first- - -# This function is called at the very beginning before any other -# function for a specific context. -# -# This just gives some examples of things you might want to do here. -# -# -# Other things you can do here is to complete different things if the -# word on the line matches a certain pattern. This example allows -# completion of words from the history by adding two commas at the end -# and hitting TAB. -# -# if [[ "$PREFIX" = *,, ]]; then -# local max i=1 expl opt -# -# PREFIX="$PREFIX[1,-2]" -# # If a numeric prefix is given, we use it as the number of -# # lines (multiplied by ten below) in the history to search. -# if [[ ${NUMERIC:-1} -gt 1 ]]; then -# max=$NUMERIC -# unset NUMERIC -# else -# # The default is to search the last 100 lines. -# max=10 -# fi -# # We first search in the last ten words, then in the last -# # twenty words, and so on... -# while [[ i -le max ]]; do -# if zstyle -t ":completion:${curcontext}:history-words" sort; then -# opt=-J -# else -# opt=-V -# fi -# if _wanted "$opt" history-words expl "history ($n)" \ -# compadd -Q - \ -# "${(@)${(@)historywords:#[\$'\"]*}[1,i*10]}"; then -# # We have found at least one matching word, so we switch -# # on menu-completion and make sure that no other -# # completion function is called by setting _compskip. -# compstate[insert]=menu -# _compskip=all -# return 0 -# fi -# (( i++ )) -# done -# fi diff --git a/result/sw/share/zsh/5.9/functions/_flac b/result/sw/share/zsh/5.9/functions/_flac deleted file mode 100644 index 82b6f016..00000000 --- a/result/sw/share/zsh/5.9/functions/_flac +++ /dev/null @@ -1,120 +0,0 @@ -#compdef flac metaflac - -local shortops common shared blocktypes level - -shortops=( - --show-md5sum - --show-min-blocksize - --show-max-blocksize - --show-min-framesize - --show-max-framesize - --show-sample-rate - --show-channels - --show-bps - --show-total-samples - --show-vendor-tag - '--show-tag=:FLAC tag' - '--remove-tag=:FLAC tag' - '--remove-first-tag=:FLAC tag' - --remove-all-tags - '*--set-tag=:FLAC tag and value: ' - '*--set-tag-from-file=:tag' - '--import-tags-from=:flat file:_files' - '--export-tags-to=:new file: ' - '--import-cuesheet-from=:file:_files' - '--export-cuesheet-to=:new file:_files' - '--import-picture-from=:file or specification:_files' - '--export-picture-to=:file:_files' - --scan-replay-gain - --remove-replay-gain - --add-replay-gain - '*--add-seekpoint=:seek point' - '--add-padding=:length (bytes)' -) - -blocktypes=( STREAMINFO PADDING APPLICATION SEEKTABLE VORBIS_COMMENT PICTURE ) -common=( - '--block-number=:block number' - '(--except-block-type)--block-type=:block type:_sequence compadd - $blocktypes' - '(--block-type)--except-block-type=:block type:_sequence compadd - $blocktypes' -) -shared=( - '--no-utf8-convert' - '--preserve-modtime' -) -level=( -{,-compression-level-}{0,1,2,3,4,5,6,7,8} --best --fast ) - -case $service in - flac) - _arguments -s -S $shared \ - '(H -c --stdout)'{-c,--stdout}'[write output to stdout]' \ - '(H -s --silent --totally-silent)'{-s,--silent}"[don't output runtime statistics]" \ - '(H)--totally-silent' \ - '(H -w --warnings-as-errors)'{-w,--warnings-as-errors}'[treat all warnings as errors]' \ - '(H -f --force)'{-f,--force}'[overwrite output files]' \ - '(H -o --output-name -c --stdout)'{-o,--output-name=}'[specify output file name]' \ - '(H)--output-prefix=[prepend specified string to output file names]' \ - '(H)--delete-input-file' \ - '(H)--keep-foreign-metadata' \ - '(H)--skip=[skip initial samples from each input]:skip (mm:ss.ss)' \ - '(H)--until=[stop at specified sample for each input]:stop (+-mm:ss.ss)' \ - '(H)--ogg[use ogg as a transport layer]' \ - '(H)--serial-number=[serial number to use for the FLAC stream]:serial number' \ - '(H --force-aiff-format --force-rf64-format --force-wave64-format)--format-raw-format' \ - '*:file:_files -F line -g "(#i)*.(${${opt_args[(i)decode-*]:+flac|oga}:-wav|aif|aiff|raw|rf64|w64})(-.)"' \ - - 'H' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-H,--explain}'[display detailed explanation of usage and options]' \ - - encode \ - '(-V --verify)'{-V,--verify}'[verify a correct encoding]' \ - --lax --ignore-chunk-sizes '!--sector-align' --replay-gain \ - '--cuesheet=:file:_files' \ - '--picture=:specification:' \ - \*{-T,--tag}'[add a FLAC tag]:field=value' \ - '--tag-from-file=:field=file' \ - \*{-S,--seekpoint=}':seek point' \ - '(-P --padding)'{-P,--padding=}'[add space for metadata]:length (bytes)' \ - "($level[*])"$^level \ - '(-b --blocksize)'{-b,--blocksize=}'[specify block size in samples]:size:(192 576 1152 2304 4608 256 512 1024 2048 4096 8192 16384)' \ - '(-m --mid-side -M --adaptive-mid-side)'{-m,--mid-side}'[try mid-side coding for each frame]' \ - '(-m --mid-side -M --adaptive-mid-side)'{-M,--adaptive-mid-side}'[adaptive mid-side coding for all frames]' \ - '(-e --exhaustive-model-search)'{-e,--exhaustive-model-search}'[do exhaustive model search]' \ - \*{-A,--apodization=}'[window audio data with given the function]:function:(bartlett bartlett_hann blackman blackman_harris_4term_92dbconnes flattop gauss hamming hann kaiser_bessel nuttall rectangle triangle tukey welch)' \ - '(-l --max-lpc-order)'{-l,--max-lpc-order=}'[specify max LPC order]:order' \ - '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-p,--qlp-coeff-precision-search}'[exhaustively search LP coeff quantization]' \ - '(-p --qlp-coeff-precision-search -q --qlp-coeff-precision)'{-q,--qlp-coeff-precision=}'[specify precision]:precision (bits)' \ - '(-r --rice-partition-order)'{-r,--rice-partition-order=}'[set min/max residual partition order]:order' \ - '--endian=:byte order:(big little)' \ - '--channels=:channels' \ - '--bps=:bits per sample' \ - '--sample-rate=:sample rate (Hz)' \ - '--sign=:sign of samples [signed]:(signed unsigned)' \ - '--input-size=:size (bytes)' \ - - decode \ - '(-d --decode -t --test -a --analyze)'{-d,--decode}'[decode a FLAC encoded file]' \ - '(-d --decode -t --test -a --analyze --delete-input-file)'{-t,--test}'[test a FLAC encoded file]' \ - '(-d --decode -t --test -a --analyze --delete-input-file)'{-a,--analyze}'[analyze a FLAC encoded file]' \ - '(-d --decode -t --test)'{--residual-text,--residual-gnuplot} \ - '(-F --decode-through-errors)'{-F,--decode-through-errors}'[continue decoding through stream errors]' \ - '--apply-replaygain-which-is-not-lossless=:specification' \ - '--cue=[set the beginning and ending cuepoints to decode]:cue point' \ - '(--force-raw-format --force-rf64-format --force-wave64-format)--force-aiff-format' \ - '(--force-raw-format --force-aiff-format --force-wave64-format)--force-rf64-format' \ - '(--force-raw-format --force-aiff-format --force-rf64-format)--force-wave64-format' \ - ;; - metaflac) - _arguments -S $shared \ - '(--no-filename)--with-filename[prefix output with filename]' \ - '(--with-filename)--no-filename' \ - '--dont-use-padding[always rewrite the file]' \ - "*:FLAC file:_files -g \*.flac\(-.\)" \ - - 'short' $shortops \ - - 'list' $common --list \ - '--application-data-format=:format:(text hexdump)' \ - - 'remove' $common --remove \ - - '(ops)' \ - '(-)--help' '(-)--version' \ - --remove-all --merge-padding --sort-padding - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_flex b/result/sw/share/zsh/5.9/functions/_flex deleted file mode 100644 index 80b0cd7f..00000000 --- a/result/sw/share/zsh/5.9/functions/_flex +++ /dev/null @@ -1,61 +0,0 @@ -#compdef flex flex++ - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '-C-[specify degree of table compression]:table compression:->tabcomp' \ - '--align[trade off larger tables for better memory alignment]' \ - '--ecs[construct equivalence classes]' \ - '--meta-ecs[construct meta-equivalence classes]' \ - '--read[use read() instead of stdio for scanner input]' \ - '(-f --full)'{-f,--full}'[generate fast scanner (full table)]' \ - '(-F --fast)'{-F,--fast}'[use fast scanner table representation]' \ - '(-d --debug)'{-d,--debug}'[enable debug mode in scanner]' \ - '(-b --backup)'{-b,--backup}'[write backup information to lex.backup]' \ - '(-p --perf-report)'{-p,--perf-report}'[generate performance report]' \ - '(-s --nodefault)'{-s,--nodefault}'[suppress default rule to ECHO unmatched text]' \ - '(-T --trace)'{-T,--trace}'[trace mode]' \ - '(-w --nowarn)'{-w,--nowarn}'[suppress warnings]' \ - '(-v --verbose)'{-v,--verbose}'[show summary of statistics about scanner]' \ - '--hex[use hexadecimal numbers instead of octal in debug outputs]' \ - '(-o --outfile)'{-o+,--outfile=}'[specify output file]:output file:_files' \ - '(-S --skel)'{-S+,--skel=}'-[override skeleton file]:skeleton file:_files' \ - '(-t --stdout)'{-t,--stdout}'[write scanner to stdout]' \ - '--yyclass=[specify name of C++ class]:class name' \ - '--header-file=-[create a C header file in addition to the scanner]:file:_files' \ - '--tables-file=-[write tables to file]::tables file:_files' \ - '(-7 -8 --7bit --8bit)'{-7,--7bit}'[generate 7-bit scanner]' \ - '(-7 -8 --7bit --8bit)'{-8,--8bit}'[generate 8-bit scanner]' \ - '(-B --batch -I --interactive)'{-B,--batch}'[generate batch scanner]' \ - '(-i --case-insensitive)'{-i,--case-insensitive}'[generate case-insensitive scanner]' \ - '(-l --lex-compat)'{-l,--lex-compat}'[maximum compatibility with original lex]' \ - '(-X --posix-compat)'{-l,--posix-compat}'[maximum compatibility with POSIX lex]' \ - '(-B --batch -I --interactive)'{-I,--interactive}'[generate interactive scanner]' \ - '--yylineno[track line count in yylineno]' \ - '-\+[generate C++ scanner class]' \ - '-D-[define macro]:macro' \ - '(-L --noline)'{-L,--noline}"[don't generate #line directives]" \ - '(-P --prefix)'{-P+,--prefix=}'[change yy prefix]:prefix string' \ - '(-R --reentrant)'{-R,--reentrant}'[generate a reentrant C scanner]' \ - '--bison-bridge[scanner for bison pure parser]' \ - '--bison-locations[include yylloc support]' \ - '--stdinit[initialize yyin/yyout to stdin/stdout]' \ - "--nounistd[don't include <unistd.h>]" \ - "--no-[don't generate a particular function]:function" \ - '(-c -n)'{-c,-n}'[do nothing]' \ - '(- *)'{-h,--help}'[display help information]' \ - '( *)'{-V,--version}'[display version information]' \ - '*:input file:_files -g "*.(#i)(f|)lex(-.)"' && ret=0 - -if [[ -n "$state" ]]; then - _values -s '' 'table compression' \ - 'a[align tables]' \ - 'e[construct equivalence classes]' \ - '(m)f[generate full tables]' \ - '(m)F[generate fast tables]' \ - '(f F)m[construct meta-equivalence classes]' \ - "r[don't use stdio library]" && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_floppy b/result/sw/share/zsh/5.9/functions/_floppy deleted file mode 100644 index 3dd3ee8e..00000000 --- a/result/sw/share/zsh/5.9/functions/_floppy +++ /dev/null @@ -1,5 +0,0 @@ -#compdef dosread dosdel - -local expl - -_wanted floppyfiles expl 'file on floppy' compadd - ${$(dosdir)[1,-5]:l} diff --git a/result/sw/share/zsh/5.9/functions/_flowadm b/result/sw/share/zsh/5.9/functions/_flowadm deleted file mode 100644 index e4d682ff..00000000 --- a/result/sw/share/zsh/5.9/functions/_flowadm +++ /dev/null @@ -1,99 +0,0 @@ -#compdef flowadm - -local -a subcmds tr props -local expl - -_flowadm_flow(){ - compadd "$@" - $(_call_program flows flowadm show-flow -p -o flow) -} - -subcmds=( - help show-flow add-flow match-flow remove-flow set-flowprop - reset-flowprop show-flowprop -) -tr=( tcp udp sctp icmp icmpv6 ) -props=( maxbw ) - -if [[ $service == "flowadm" ]]; then - _arguments -C -A "-*" \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "flowadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" -fi -case $service in - - ("help") - _arguments ':subcommand:($subcmds)' - ;; - - ("show-flow") - _arguments -A "-*" \ - '-o[specify field to display]:field:(flow link ipaddr proto port dsfield)' \ - '-p[parsable output]' \ - '-P[persistent flow property information]' \ - - set1 \ - '-l[display information for link]:link or flow:_net_interfaces' \ - - set2 \ - ':flow:_flowadm_flow' \ - ;; - - (match-flow) - _arguments -A "-*" \ - '-o[specify field to display]:field:(flow link ipaddr proto port dsfield)' \ - '-p[parsable output]' \ - '-P[persistent flow property information]' \ - '-a[specify attribute]:attribute:(local_ip= remote_ip= transport=$tr local_port= dsfield=)' \ - '(:)-l[display information for link]:link or flow:_net_interfaces' \ - '(-l):flow:_flowadm_flow' \ - ;; - - ("add-flow") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-l[specify link to which flow will be added]:link:_net_interfaces' \ - '-a[specify attribute]:attribute:(local_ip= remote_ip= transport=$tr local_port= dsfield=)' \ - '-p[set property value]:property:(maxbw=)' \ - ;; - - ("remove-flow") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - - set1 \ - '-l[specify link from which flow will be deleted]:link:_net_interfaces' \ - - set2 \ - ':flow:_flowadm_flow' \ - ;; - - ("set-flowprop") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-p[set property value]:property:(maxbw=)' \ - ':flow:_flowadm_flow' \ - ;; - - ("reset-flowprop") - _arguments -A "-*" \ - '-t[temporary changes - do not persist across reboots]' \ - '-R[alternate root dir]:alternate root:_files' \ - '-p[set property value]:property:(maxbw=)' \ - ':flow:_flowadm_flow' \ - ;; - - ("show-flowprop") - _arguments -A "-*" \ - '-c[parsable output (requires -o)]' \ - '-l[specify link whose properties will be shown]:link:_net_interfaces' \ - '-P[persistent flow property information]' \ - '-p[property to show]:property:_values -s , "property" $props' \ - ':flow:_flowadm_flow' \ - ;; - -esac diff --git a/result/sw/share/zsh/5.9/functions/_fmadm b/result/sw/share/zsh/5.9/functions/_fmadm deleted file mode 100644 index 54e22bde..00000000 --- a/result/sw/share/zsh/5.9/functions/_fmadm +++ /dev/null @@ -1,125 +0,0 @@ -#compdef fmadm - -_fm_modules() { - compadd "$@" - ${${(f)"$(_call_program modules fmadm config)"}[2,-1]// */} -} - -_fm_faulted_fmris() { - compadd "$@" - $(fmadm faulty -r 2> /dev/null | awk '{print $1}') -} - -_fm_faulted_uuids() { - compadd "$@" - $(fmadm faulty -s 2> /dev/null | tail +4 | awk '{print $4}') -} - -_fm_faulted_labels() { - local line q='"' - compadd "$@" - $(fmadm faulty -f 2> /dev/null | while read line; do - if [[ $line == "----"* ]]; then - read line - if [[ $line == '"'* ]]; then - print ${${line[(r)$q,(rn:2:)$q]}[2,-2]} - fi - fi - done) -} - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args -local -a subcmds args - -# TODO: lookup-alias and remove-alias need completion based on the -# output of list-alias, but I have no examples of that output. - -subcmds=( - faulty list acquit replaced repaired list-alert clear - list-defect list-fault - add-alias remove-alias lookup-alias list-alias sync-alias - config load unload reset rotate flush -) - -_arguments -C -A "-*" \ - '-q[quiet mode]' \ - '1:fmadm subcommand:compadd -M "r:|-=* r:|=*" -a subcmds' \ - '*::command:->subcmd' && ret=0 - -[[ -z $state ]] && return ret -service="$words[1]" -curcontext="${curcontext%:*}-$service:" - -case $service in - (faulty|list|list-alert|list-defect|list-fault) - args+=( - '-f[display faulty FRUs]' - '-i[display persistent cache IDs]' - '-p[page output]' - '-r[display resources]' - '-s[display one-line summaries]' - '-u[only display fault with given uuid]:uuid:_fm_faulted_uuids' - '-v[display full output]' - ) - ;| - - (list|faulty) - _arguments -A "-*" $args \ - '-a[display all faults]' \ - '-g[group faults]' \ - '-n[limit output to specified number of entries]:number' - ;; - - (list-alert|list-defect|list-fault) - _arguments -A "-*" $args \ - '-a[display all resources]' - ;; - - (acquit) - _alternative \ - 'fmadm-acquit-label:label:_fm_faulted_labels' \ - 'fmadm-acquit-uuid:uuid:_fm_faulted_uuids' \ - 'fmadm-acquit-fmri:fmri:_fm_faulted_fmris' && ret=0 - ;; - - (repaired|replaced) - _alternative \ - 'fmadm-acquit-label:label:_fm_faulted_labels' \ - 'fmadm-acquit-fmri:fmri:_fm_faulted_fmris' && ret=0 - ;; - - (add-alias) - _arguments :chassis :alias-id :comment && ret=0 - ;; - - (remove-alias|lookup-alias) - _message -e aliases 'chassis or alias-id' - ;; - - (load) - _directories && ret=0 - ;; - - (unload) - _fm_modules && ret=0 - ;; - - (reset) - _arguments -A "-*" \ - '-s[reset named SERD]:serd' \ - ':module:_fm_modules' && ret=0 - ;; - - (rotate) - _values 'logfile' errlog fltlog infolog infolog_hival && ret=0 - ;; - - (flush) - _fm_faulted_fmris && ret=0 - ;; - - (list-alias|config|sync-aliases) _message 'no more arguments' ;; - - (*) # fallback to defaults for any new or unhandled subcommand - _default && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_fmt b/result/sw/share/zsh/5.9/functions/_fmt deleted file mode 100644 index 59d90ff8..00000000 --- a/result/sw/share/zsh/5.9/functions/_fmt +++ /dev/null @@ -1,60 +0,0 @@ -#compdef fmt gfmt - -local variant -local -a args -local copt="[preserve indentation of first two lines]" -local wopt="[specify maximum line width]:width [75]" -local sopt="[don't join short lines\: split only]" - -args=( -A "-*" "(1 2)-w+$wopt" '*:file:_files' ) -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args=( - '(-c --crown-margin)'{-c,--crown-margin}$copt - '(-w --width)'{-w+,--width=}$wopt - '(-p --prefix)'{-p+,--prefix=}'[only reformat lines with specified prefix]:prefix' - '(-s --split-only)'{-s,--split-only}$sopt - '(-t --tagged-paragraph)'{-t,--tagged-paragraph}'[indentation of first line different from second]' - '(-u --uniform-spacing)'{-u,--uniform-spacing}'[use one space between words, two after sentences]' - '(-g --goal)'{-g,--goal=}'[specify goal width]:goal width [93% of width]' - '(- *)--help[display help information]' - '(- *)--version[display version information]' - '*:file:_files' - ) - ;; - solaris*) - args=( - "-c$copt" - "-s$sopt" - ) - ;; - netbsd*) - args+=( - '-C[center the text]' - '(1 2)-g+[specify goal width]:goal width' - '(1 2)-m+[specify maximum width]:maximum width' - '-r[format all lines]' - ) - ;| - darwin*|dragonfly*|freebsd*|openbsd*) - args+=( - '-c[center the text line by line]' - '-m[sensible formatting of mail header lines]' - '-n[format lines beginning with a . (dot) character]' - "-p[change in indentation doesn't start new paragraph]" - '-s[collapse whitespace inside lines]' - '-d+[specify sentence-ending characters]:sentence ends [.?!]' - '-l+[replace initial spaces with tabs]:tab width [8]' - '-t+[specify tab width of input files]:tab width [8]' - ) - ;& # fall-through - netbsd*) - args+=( ':: :_guard "[0-9]#" goal width' ) - (( ${(M)#words[1,CURRENT-1]:#[0-9]##} )) && args+=( - ':: :_guard "[0-9]#" maximum width' - ) - ;; -esac - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_fold b/result/sw/share/zsh/5.9/functions/_fold deleted file mode 100644 index 1a3ef8b5..00000000 --- a/result/sw/share/zsh/5.9/functions/_fold +++ /dev/null @@ -1,24 +0,0 @@ -#compdef fold gfold - -local variant -local -a args - -_pick_variant -r variant busybox=BusyBox gnu='Free Soft' unix --version - -args=( - '(-b --bytes)'{-b,--bytes}'[count bytes rather than columns]' - '(: -)--help[display help information]' - '(-s --spaces)'{-s,--spaces}'[fold on whitespace]' - '(-w --width)'{-w+,--width=}'[specify line width]:line width (columns or bytes)' - '(: -)--version[display version information]' - '*: :_files' -) - -# Non-GNU variants don't support long options (except BusyBox's --help) -if [[ $variant == *busybox* ]]; then # See also: _busybox - args=( ${args:#((#s)|*\))(\*|)--^help*} ) -elif [[ $variant != gnu ]]; then - args=( ${args:#((#s)|*\))(\*|)--*} ) -fi - -_arguments -s -S : $args diff --git a/result/sw/share/zsh/5.9/functions/_fortune b/result/sw/share/zsh/5.9/functions/_fortune deleted file mode 100644 index c0eca56a..00000000 --- a/result/sw/share/zsh/5.9/functions/_fortune +++ /dev/null @@ -1,15 +0,0 @@ -#compdef fortune - -_arguments \ - '-a[choose from all lists of maxims, both offensive and not]' \ - '-c[show the cookie file from which the fortune came]' \ - '-e[consider all fortune files to be of equal size]' \ - '-f[print out the list of files which would be searched]' \ - '-l[long dictums only]' \ - '-m[print all matches to regex]:BRE' \ - '-n[set longest length to be short]:length' \ - '-o[choose only from potentially offensive aphorisms]' \ - '-s[short apothegms only]' \ - '-i[ignore case for -m patterns]' \ - '-w[wait before termination for a time based on msg length]' \ - '*:databases' diff --git a/result/sw/share/zsh/5.9/functions/_free b/result/sw/share/zsh/5.9/functions/_free deleted file mode 100644 index 6d74e4a0..00000000 --- a/result/sw/share/zsh/5.9/functions/_free +++ /dev/null @@ -1,25 +0,0 @@ -#compdef free - -_arguments -s \ - '(-l --lohi)'{-l,--lohi}'[show detailed low and high memory statistics]' \ - '(-t --total)'{-t,--total}'[show total for RAM + swap]' \ - '(-w --wide)'{-w,--wide}'[wide mode]' \ - '(-s --seconds)'{-s,--seconds}'[specify the delay between display]:seconds: ' \ - '(-c --count)'{-c+,--count=}'[specify the display count]:count: ' \ - '(-C --full-cache)'{-C,--full-cache}'[add further cache lines to main cache]' \ - '--si[use power of 1000 instead of power of 1024]' \ - '(-)--help[print help and exit]' \ - '(-)'{-V,--version}'[print version information and exit]' \ - + '(unit)' \ - {-b,--bytes}'[display the amount of memory in bytes]' \ - {-k,--kibi}'[display the amount of memory in kibibytes (default)]' \ - {-m,--mebi}'[display the amount of memory in mebibytes]' \ - {-g,--gibi}'[display the amount of memory in gibibytes]' \ - '--tebi[display the amount of memory in tebibytes]' \ - '--pebi[display the amount of memory in pebibytes]' \ - '(--si)--kilo[display the amount of memory in kilobytes]' \ - '(--si)--mega[display the amount of memory in megabytes]' \ - '(--si)--giga[display the amount of memory in gigabytes]' \ - '(--si)--tera[display the amount of memory in terabytes]' \ - '(--si)--peta[display the amount of memory in petabytes]' \ - {-h,--human}'[automatically select unit]' diff --git a/result/sw/share/zsh/5.9/functions/_freebsd-update b/result/sw/share/zsh/5.9/functions/_freebsd-update deleted file mode 100644 index 7dd90729..00000000 --- a/result/sw/share/zsh/5.9/functions/_freebsd-update +++ /dev/null @@ -1,25 +0,0 @@ -#compdef freebsd-update - -local flags -flags=( - '(cron)fetch[fetch a compressed snapshot or update existing one]' - '(fetch)cron[sleep rand(3600) seconds, and then fetch updates]' - '(install rollback)upgrade[fetch files necessary for upgrading to a new release]' - 'updatesready[check if there are fetched updates ready to install]' - '(upgrade rollback)install[install the most recently fetched updates or upgrade]' - '(upgrade install)rollback[uninstall the most recently installed updates]' - 'IDS[compare the system against an index of "known good" files]' - 'showconfig[show configuration options after parsing conffile and command line options]' -) - -_arguments \ - '-b[operate on a system mounted at basedir]:basedir:_files -/' \ - '-d[store working files in workdir]:workdir:_files -/' \ - '-f[read configuration options from conffile]:conf file:_files' \ - '-F[force freebsd-update fetch to proceed where it normally would not]' \ - '-k[trust an RSA key with SHA256 of KEY]:RSA key' \ - '-r[specify the new release]:new release' \ - '-s[fetch files from the specified server or server pool]:server:_hosts' \ - '-t[mail output of cron command, if any, to address]:address' \ - '--currently-running[assume specified release as current]:release' \ - '*:command:_values -S " " -w "commands" $flags[@]' diff --git a/result/sw/share/zsh/5.9/functions/_fs_usage b/result/sw/share/zsh/5.9/functions/_fs_usage deleted file mode 100644 index 1d76cf86..00000000 --- a/result/sw/share/zsh/5.9/functions/_fs_usage +++ /dev/null @@ -1,28 +0,0 @@ -#compdef fs_usage - -local curcontext="$curcontext" state state_descr line ret=1 -typeset -A opt_args - -_arguments -s -C -A '-*' : \ - '-e[exclude fs_usage and the specified processes from sampling]' \ - '-w[use wider output]' \ - '*-f+[specify output filtering mode]:mode:(network filesys pathname exec diskio cachehit)' \ - '-b[annotate disk I/O events with BootCache info]' \ - '(-R -S -E)-t+[specify run timeout]:seconds' \ - '(-t)-R+[specify raw trace file to process]:raw trace file:_files' \ - '(-t)-S+[specify time to begin processing the trace file]:seconds' \ - '(-t)-E+[specify time to stop processing the trace file]:seconds' \ - '*: :->pid-or-pname' && ret=0 - -case $state in - (pid-or-pname) - if [[ -z $opt_args[-R] ]]; then - _alternative "processes:: _pids" \ - "processes-names:: _process_names -a" && ret=0 - else - _message 'pid or process name in the trace file' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_fsh b/result/sw/share/zsh/5.9/functions/_fsh deleted file mode 100644 index c3937311..00000000 --- a/result/sw/share/zsh/5.9/functions/_fsh +++ /dev/null @@ -1,22 +0,0 @@ -#compdef fsh - -local curcontext="$curcontext" state line ret=1 -local -a _comp_priv_prefix - -_arguments -C \ - '(- : *)'{-h,--help}'[display help information]' \ - '(- : *)'{-V,--version}'[display version information]' \ - '-r[specify method]:method:(rsh ssh)' \ - '-l[specify login id]:login:_users' \ - '(-T --timeout)'{-T,--timeout}':idle timeout:' \ - ':remote host name:_hosts' \ - '(-):command: _command_names -e' \ - '*::args:->command' && ret=0 - -if [[ -n "$state" ]]; then - shift 1 words - (( CURRENT-- )) - _normal && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_fstat b/result/sw/share/zsh/5.9/functions/_fstat deleted file mode 100644 index 15337844..00000000 --- a/result/sw/share/zsh/5.9/functions/_fstat +++ /dev/null @@ -1,12 +0,0 @@ -#compdef fstat - -_arguments -s \ -'-f[restrict examination to files open in the same file systems as the named file arguments]' \ -'-M+[extract values associated with the name list from the specified core]:core:_files' \ -'-N+[extract the name list from the specified system]:system' \ -'-m[include memory-mapped files in the listing]' \ -'-n[numerical format]' \ -'-p+[report all files open by the specified process]:process id:_pids' \ -'-u+[report all files open by the specified user]:user:_users' \ -'-v[verbose mode]' \ -'*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_functions b/result/sw/share/zsh/5.9/functions/_functions deleted file mode 100644 index 4d336695..00000000 --- a/result/sw/share/zsh/5.9/functions/_functions +++ /dev/null @@ -1,9 +0,0 @@ -#compdef unfunction - -local expl ffilt - -zstyle -t ":completion:${curcontext}:functions" prefix-needed && \ - [[ $PREFIX != [_.]* ]] && \ - ffilt='[(I)[^_.]*]' - -_wanted functions expl 'shell function' compadd -k "$@" - "functions$ffilt" diff --git a/result/sw/share/zsh/5.9/functions/_fuse_arguments b/result/sw/share/zsh/5.9/functions/_fuse_arguments deleted file mode 100644 index b5c21a5e..00000000 --- a/result/sw/share/zsh/5.9/functions/_fuse_arguments +++ /dev/null @@ -1,53 +0,0 @@ -#autoload - -local ret long rawret nm=${compstate[nmatches]} fsopt cvalsvar -typeset -a fargs opts - -fargs=( - '(-d -f)-d[enable debug output]' - '-f[enable foreground operation]' - '-r[mount filesystem read-only]' - '-s[disable multi-threaded operation]' - '(-h --help)'{-h,--help}'[display help and exit]' - '(-V --version)'{-V,--version}'[show version information and exit]' -) - -(( $# )) || fargs+='*:default: _default' - -long=$argv[(I)--] -if (( long )); then - argv[long]=($fargs --) -else - set -- "$@" $fargs -fi - -while [[ $1 == -(O*|F*|[CRWsw]) ]]; do - if [[ $1 == -F?* ]]; then - cvalsvar=${1[3,-1]} - elif [[ $1 == -F ]]; then - cvalsvar=$2 - shift - else - opts+=$1 - [[ $1 == -R ]] && rawret=yes - fi - shift -done - -if [[ $cvalsvar != - ]]; then - fsopt='*-o[specify mount options]:mount option:_fuse_values' - [[ -n $cvalsvar ]] && fsopt+=" -A $cvalsvar" - fsopt+=' mount\ option' - set -- "$@" $fsopt -fi - -_arguments -R $opts "$@" - -ret=$? - -if [[ $ret == 300 ]]; then - compstate[restore]= - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_fuse_values b/result/sw/share/zsh/5.9/functions/_fuse_values deleted file mode 100644 index 211eb5b3..00000000 --- a/result/sw/share/zsh/5.9/functions/_fuse_values +++ /dev/null @@ -1,70 +0,0 @@ -#autoload - -local ret stateset fvals cvalsvar cvalind -typeset -a fvals opts - -if [[ $1 = -O* ]]; then - opts+=$1 - shift -fi -opts+=(-s , -S =) - -cvalind=$argv[(I)-A*] - -while (( cvalind )); do - if [[ ${(P)cvalind} = -A?* ]]; then - cvalsvar=${(P)cvalind[3,-1]} - argv[cvalind]=() - else - cvalsvar=$argv[cvalind+1] - argv[cvalind,cvalind+1]=() - fi - cvalind=$argv[(I)-A*] -done - -fvals=( - 'ro[mount filesystem read-only]' - 'allow_other[allow access to other users]' - 'allow_root[allow access to root]' - 'nonempty[allow mounts over non-empty file/dir]' - 'default_permissions[enable permission checking by kernel]' - 'fsname[set filesystem name]:name' - 'large_read[issue large read requests (linux v2.4 only)]' - 'max_read[set maximum size of read requests]:size' - 'hard_remove[immediate removal (do not hide files)]' - 'use_ino[let filesystem set inode numbers]' - 'readdir_ino[try to fill in d_ino in readdir]' - 'direct_io[use direct I/O]' - 'kernel_cache[cache files in kernel]' - 'umask[set file permissions]:permission mask (octal)' - 'uid[set file owner]:user id:' - 'gid[set file group]:group id:' - 'entry_timeout[cache timeout for names]:timeout (s)' - 'negative_timeout[cache timeout for deleted names]:timeout (s)' - 'attr_timeout[cache timeout for attributes]:timeout (s)' -) - -[[ -n $cvalsvar ]] && set -- "$@" ${(P)cvalsvar} - -if [[ $# -eq 0 ]]; then - set -- 'mount option' $fvals -else - set -- "$@" $fvals -fi - -if [[ -n $state ]]; then - stateset=$state - state= -fi - -_values $opts "$@" && ret=0 - -if [[ -n $state ]]; then - compstate[restore]= -elif [[ -n $stateset ]]; then - state=$stateset -else - unset state -fi - -return $ret diff --git a/result/sw/share/zsh/5.9/functions/_fuser b/result/sw/share/zsh/5.9/functions/_fuser deleted file mode 100644 index 05de1c52..00000000 --- a/result/sw/share/zsh/5.9/functions/_fuser +++ /dev/null @@ -1,81 +0,0 @@ -#compdef fuser - -local -a args argf variant -typeset -A opt_args - -args=( - '-u[append the user name of the process owner to each PID]' - '(-f)-c[list all processes accessing files on the filesystem specified by name]' - '(-c)-f[list all processes accessing named files]' -) -argf=( '*:file:_files' ) - -_pick_variant -r variant psmisc='(#i)psmisc' $OSTYPE -V -case $variant in - psmisc) - (( $+functions[_fuser_services] )) || - _fuser_services() { - local expl suf ret=1 - - [[ $opt_args[-n] = ??p || $EUID = 0 ]] || return - - if compset -P '*/'; then - _wanted protocols expl protocol compadd tcp udp - elif compset -P '*,*,'; then - compset -S '/*' || [[ -n $opt_args[-n] ]] || suf=( -qS / ) - _ports $suf && ret=0 - elif compset -P '*,'; then - compset -S ',*' || suf=( -S , -r "/ \t\n\-" ) - _hosts $suf && ret=0 - else - compset -S ',*' || suf=( -S ${${opt_args[-n]/?*/,}:-/} -r "/, \t\n\-" ) - _ports $suf && ret=0 - fi - - return ret - } - - args+=( - '(-s)-a[show all files specified on the command line]' \ - {-c,-m}'[list all processes accessing files on the filesystem specified by name]' \ - '-k[kill processes accessing the file]' \ - '-i[ask for confirmation before killing]' \ - '(-)-l[list all known signal names]' \ - '-n[select name space]:namespace:(file udp tcp)' \ - '(-a -u -v)-s[silent operation]' \ - '-v[verbose mode]' \ - '-V[display version information]' \ - '-4[search only for IPv4 sockets]' \ - '-6[search only for IPv6 sockets]' \ - ) - argf=( '*:name: _alternative "files:file:_files" "services:service:_fuser_services"' ) - [[ -prefix - && -z ${${words[1,CURRENT-1]}[(r)-[A-Z][A-Z]*]} ]] && - argf[1]+=' "signals:signal:_signals -P-"' - ;; - freebsd*|openbsd*|solaris2.<9->) - args+=( - '-s[send alternate signal]:signal:_signals' - '-k[send SIGKILL to each process]' - ) - ;| - openbsd*|freebsd*) - args+=( - '-M[extra values from specified core file]:core file:_files' - '-N[extract name list from specified system]:system' - ) - ;| - freebsd*) args+=( '-m[include mapped files]' ) ;; - solaris2.<9->) - args+=( - '-n[list only processes with non-blocking mandatory locks]' - ) - ;; - solaris2.<10->) - args+=( '-d[report device usage for all minor nodes bound to same device]' ) - ;; - sysv4 ) - (( $+words[(r)-k] )) && argf=( ':name: _alternative signals\:signal\:_signals\ -p files:file:_files' ) - ;; -esac - -_arguments -s $args $argf diff --git a/result/sw/share/zsh/5.9/functions/_fusermount b/result/sw/share/zsh/5.9/functions/_fusermount deleted file mode 100644 index 41d3dec7..00000000 --- a/result/sw/share/zsh/5.9/functions/_fusermount +++ /dev/null @@ -1,26 +0,0 @@ -#compdef fusermount - -local expl context state line -typeset -A opt_args - -_arguments \ - '-h[display help information]' \ - '-V[display version information]' \ - '-o[specify mount options]:mount option:_fuse_values "mount option"' \ - '-u[unmount a fuse mount]' \ - '-z[unmount lazily (work even when if the resource is still busy)]' \ - '-q[suppress nonessential output]' \ - ':mount point:->mountpoint' && return 0 - -typeset -a mtpts - -case "$state" in - (mountpoint) - if [[ $+opt_args[-u] -eq 0 ]]; then - _files -/ - else - mtpts=(${${${"${(f)$(< /etc/mtab)}"}#* }%% *}) - _canonical_paths mounted 'mounted filesystem' "${(@g::)mtpts}" - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_fw_update b/result/sw/share/zsh/5.9/functions/_fw_update deleted file mode 100644 index b01749f3..00000000 --- a/result/sw/share/zsh/5.9/functions/_fw_update +++ /dev/null @@ -1,10 +0,0 @@ -#compdef fw_update - -_arguments -s -S -A "-*" \ - '(*)-a[install or update firmware for all drivers]' \ - '-d[delete drivers instead of adding them]' \ - '-i[display information]' \ - '-n[dry run]' \ - '-p[use the firmware at specified path]:path:' \ - '*-v[verbose output]' \ - '(-a)*:driver:' diff --git a/result/sw/share/zsh/5.9/functions/_gcc b/result/sw/share/zsh/5.9/functions/_gcc deleted file mode 100644 index ac0e8fda..00000000 --- a/result/sw/share/zsh/5.9/functions/_gcc +++ /dev/null @@ -1,2287 +0,0 @@ -#compdef gcc g++ cc c++ llvm-gcc llvm-g++ clang clang++ -value-,LDFLAGS,-default- -value-,CFLAGS,-default- -value-,CXXFLAGS,-default- -value-,CPPFLAGS,-default- -P gcc-* -P g++-* -P c++-* - -local curcontext="$curcontext" state line ret=1 expl i -local -a args args2 warnings arch -typeset -A opt_args - -if [[ "$service" = -value-* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - if [[ "$service" = *LDFLAGS ]]; then - args2=( '-R:runtime path:->rundir' ) - else - args2=() - fi -else - # On some systems (macOS), cc/gcc/g++ are actually clang; treat them accordingly - [[ $service != clang* ]] && - _pick_variant clang=clang unix --version && - service=clang-$service - - args2=( '*:input file:_files -g "*.([cCmisSoak]|cc|cpp|cxx|ii|k[ih])(-.)"' ) -fi - -args=() -case $MACHTYPE in - -m68*) - args=( - -m68000 -m68020 -m68020-40 -m68030 -m68040 -m68881 - -mbitfield -mc68000 -mc68020 -mfpa -mnobitfield - -mrtd -mshort -msoft-float - ) - ;; -vax) - args=( - -mg -mgnu -munix - ) - ;; -c[1234]*) - args=( - -mc1 -mc2 -mc32 -mc34 -mc38 - -margcount -mnoargcount - -mlong32 -mlong64 - -mvolatile-cache -mvolatile-nocache - ) - ;; -amd290?0) - args=( - -m29000 -m29050 -mbw -mnbw -mdw -mndw - -mlarge -mnormal -msmall - -mkernel-registers -mno-reuse-arg-regs - -mno-stack-check -mno-storem-bug - -mreuse-arg-regs -msoft-float -mstack-check - -mstorem-bug -muser-registers - ) - ;; -arm) - args=( - -mapcs -m2 -m3 -m6 -mbsd -mxopen -mno-symrename - '-faapcs-bitfield-load[all volatile bit-field write generates at least one load]' - '-faapcs-bitfield-width[volatile bit-field width is dictated by the field container type]' - '-mcmse[allow use of CMSE]' - '-mexecute-only[disallow generation of data access to code sections]' - '-mno-movt[disallow use of movt/movw pairs]' - '-mno-neg-immediates[disallow converting instructions with negative immediates to their negation]' - '-mnocrc[disallow use of CRC instructions]' - '-mrestrict-it[disallow generation of deprecated IT blocks for ARMv8]' - '-mtp=[thread pointer access method]:arg' - '-munaligned-access[allow memory accesses to be unaligned]' - ) - ;; -m88k) - args=( - -m88000 -m88100 -m88110 -mbig-pic - -mcheck-zero-division -mhandle-large-shift - -midentify-revision -mno-check-zero-division - -mno-ocs-debug-info -mno-ocs-frame-position - -mno-optimize-arg-area -mno-serialize-volatile - -mno-underscores -mocs-debug-info - -mocs-frame-position -moptimize-arg-area - -mserialize-volatile -msvr3 - -msvr4 -mtrap-large-shift -muse-div-instruction - -mversion-03.00 -mwarn-passed-structs - '-mshort-data--:maximum displacement:' - ) - ;; -rs6000|powerpc*) - arch=(rios1 rios2 rsc 501 603 604 power powerpc 403 common) - args=( - -mpower -mno-power -mpower2 -mno-power2 - -mpowerpc -mno-powerpc - -mpowerpc-gpopt -mno-powerpc-gpopt - -mpowerpc-gfxopt -mno-powerpc-gfxopt - -mnew-mnemonics -mno-new-mnemonics - -mfull-toc -mminimal-toc -mno-fop-in-toc -mno-sum-in-toc - -msoft-float -mhard-float -mmultiple -mno-multiple - -mstring -mno-string -mbit-align -mno-bit-align - -mstrict-align -mno-strict-align -mrelocatable -mno-relocatable - -mtoc -mno-toc -mtraceback -mno-traceback - -mlittle -mlittle-endian -mbig -mbig-endian - -mcall-aix -mcall-sysv -mprototype - '-mcpu=:CPU type:->arch' - '-maltivec[altivec]' - '-mcmpb[cmpb]' - '-mcrbits[crbits]' - '-mcrypto[crypto]' - '-mdirect-move[direct move]' - '-mefpu2[efpu2]' - '-mfloat128[float128]' - '-mfprnd[fprnd]' - '-mhtm[htm]' - '-minvariant-function-descriptors[invariant function descriptors]' - '-misel[isel]' - '-mlongcall[longcall]' - '-mmfocrf[mfocrf]' - '-mmfcrf[mfcrf]' - '-mmma[mma]' - '-mpaired-vector-memops[paired vector memops]' - '-mpcrel[pcrel]' - '-mpopcntd[popcntd]' - '-mpower10-vector[power10 vector]' - '-mpower8-vector[power8 vector]' - '-mpower9-vector[power9 vector]' - '-mrop-protection[rop protection]' - '-msecure-plt[secure plt]' - '-mspe[spe]' - '-mvsx[vsx]' - ) - ;; -romp) - args=( - -mcall-lib-mul -mfp-arg-in-fpregs -mfp-arg-in-gregs - -mfull-fp-blocks -mhc-struct-return -min-line-mul - -mminimum-fp-blocks -mnohc-struct-return - ) - ;; -mips*) - arch=(r2000 r3000 r4000 r4400 r4600 r6000) - args=( - -membedded-pic -mgas -mgp32 -mgp64 -mhalf-pic -mhard-float -mint64 -mips1 - -mips2 -mips3 -mlong64 -mmemcpy -mmips-as -mmips-tfile -mno-abicalls - -mno-embedded-data -mno-embedded-pic -mno-gpopt -mno-long-calls -mno-memcpy - -mno-mips-tfile -mno-rnames -mno-stats -mrnames -msoft-float -m4650 -mmad - -mstats -nocpp - '-mcpu=:CPU type:->arch' - '-mabicalls[enable SVR4-style position-independent code]' - '-mabs=[abs]:arg' - '-mcheck-zero-division[check zero division]' - '-mcompact-branches=[compact branches]:arg' - '-mdouble-float[double float]' - '-mdsp[dsp]' - '-mdspr2[dspr2]' - '-membedded-data[place constants in the .rodata section instead of the .sdata section]' - '-mextern-sdata[assume that externally defined data is in the small data]' - '-mfp32[use 32-bit floating point registers]' - '-mfp64[use 64-bit floating point registers]' - '-mginv[ginv]' - '-mgpopt[use GP relative accesses for symbols known to be in a small data section]' - '-mindirect-jump=[change indirect jump instructions to inhibit speculation]:arg' - '-mips16[ips16]' - '-mldc1-sdc1[ldc1 sdc1]' - '-mlocal-sdata[extend the -G behaviour to object local data]' - '-mmadd4[enable the generation of 4-operand madd.s, madd.d, etc]' - '-mmicromips[micromips]' - '-mmsa[enable MSA ASE]' - '-mmt[enable MT ASE]' - '-mnan=[nan]:arg' - '-mno-mips16[no mips16]' - '-msingle-float[single float]' - '-mvirt[virt]' - '-mxgot[xgot]' - ) - ;; -i[3456]86|x86_64) - arch=( - native i386 i486 i586 pentium pentium-mmx pentiumpro i686 pentium2 pentium3 - pentium3m pentium-m pentium4 pentium4m prescott nocona core2 corei7 corei7-avx - core-avx-i core-avx2 atom k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp - athlon-mp k8 opteron athlon64 athlon-fx k8-sse3 opteron-sse3 athlon64-sse3 - amdfam10 barcelona bdver1 bdver2 bdver3 btver1 btver2 winchip-c6 winchip2 c3 - c3-2 geode - ) - args=( - '-m128bit-long-double[sizeof(long double) is 16]' - '-m16[generate 16bit i386 code]' - '-m32[generate 32bit i386 code]' - '-m3dnowa[support Athlon 3Dnow! built-in functions]' - '-m3dnow[support 3DNow! built-in functions]' - '-m64[generate 64bit x86-64 code]' - '-m80387[use hardware fp]' - '-m8bit-idiv[expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check]' - '-m96bit-long-double[sizeof(long double) is 12]' - '-mabi=-[generate code that conforms to the given ABI]:abi:(ms sysv)' - '-mabm[support code generation of Advanced Bit Manipulation (ABM) instructions]' - '-maccumulate-outgoing-args[reserve space for outgoing arguments in the function prologue]' - '-maddress-mode=-[use given address mode]:address mode:(short long)' - '-madx[support flag-preserving add-carry instructions]' - '-maes[support AES built-in functions and code generation]' - '-malign-data=-[use the given data alignment]:type:(compat abi cacheline)' - '-malign-double[align some doubles on dword boundary]' - '-malign-functions=-[function starts are aligned to this power of 2]: **2 base for function alignment: ' - '-malign-jumps=-[jump targets are aligned to this power of 2]: **2 base for jump goal alignment: ' - '-malign-loops=-[loop code aligned to this power of 2]: **2 base for loop alignment: ' - '-malign-stringops[align destination of the string operations]' - '-mamx-bf16[amx bf16]' - '-mamx-int8[amx int8]' - '-mamx-tile[amx tile]' - '-mandroid[generate code for the Android platform]' - '-march=-[generate instructions for CPU type]:CPU type:->archgeneric' - '-masm=-[use given assembler dialect]:asm dialect:(att intel)' - '-mavx256-split-unaligned-load[split 32-byte AVX unaligned load]' - '-mavx256-split-unaligned-store[split 32-byte AVX unaligned store]' - '-mavx2[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation]' - '-mavx5124fmaps[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built- in functions and code generation]' - '-mavx5124vnniw[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built- in functions and code generation]' - '-mavx512bf16[avx512bf16]' - '-mavx512bitalg[avx512bitalg]' - '-mavx512bw[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built- in functions and code generation]' - '-mavx512cd[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built- in functions and code generation]' - '-mavx512dq[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built- in functions and code generation]' - '-mavx512er[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built- in functions and code generation]' - '-mavx512f[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation]' - '-mavx512ifma[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation]' - '-mavx512pf[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built- in functions and code generation]' - '-mavx512vbmi2[avx512vbmi2]' - '-mavx512vbmi[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation]' - '-mavx512vl[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built- in functions and code generation]' - '-mavx512vnni[avx512vnni]' - '-mavx512vp2intersect[avx512vp2intersect]' - '-mavx512vpopcntdq[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation]' - '-mavx[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation]' - '-mavxvnni[avxvnni]' - '-mbionic[use Bionic C library]' - '-mbmi2[support BMI2 built-in functions and code generation]' - '-mbmi[support BMI built-in functions and code generation]' - '-mbranch-cost=-[branches are this expensive (1-5, arbitrary units)]:branch cost (1-5): ' - '-mcldemote[cldemote]' - '-mcld[generate cld instruction in the function prologue]' - '-mclflushopt[support CLFLUSHOPT instructions]' - '-mclwb[support CLWB instruction]' - '-mclzero[support CLZERO built-in functions and code generation]' - '-mcmodel=-[use given x86-64 code model]:memory model:(32 small kernel medium large)' - '-mcpu=-[set CPU type]:CPU type:->arch' - '-mcrc32[support code generation of crc32 instruction]' - '-mcx16[support code generation of cmpxchg16b instruction]' - '-mdispatch-scheduler[do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected]' - '-menqcmd[enqcmd]' - '-mf16c[support F16C built-in functions and code generation]' - '-mfancy-math-387[generate sin, cos, sqrt for FPU]' - '-mfentry[emit profiling counter call at function entry before prologue]' - '-mfma4[support FMA4 built-in functions and code generation]' - '-mfma[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation]' - '-mforce-drap[always use Dynamic Realigned Argument Pointer (DRAP) to realign stack]' - '-mfpmath=-[generate floating point mathematics using given instruction set]:FPU type:(387 sse sse,387 both)' - '-mfp-ret-in-387[return values of functions in FPU registers]' - '-mfsgsbase[support FSGSBASE built-in functions and code generation]' - '-mfunction-return=-[convert function return to call and return thunk]:choice:(keep thunk thunk-inline thunk-extern)' - '-mfxsr[support FXSAVE and FXRSTOR instructions]' - '-mgeneral-regs-only[generate code which uses only the general registers]' - '-mgfni[gfni]' - '-mglibc[use GNU C library]' - '-mhard-float[use hardware fp]' - '-mhle[support Hardware Lock Elision prefixes]' - '-mhreset[hreset]' - '-miamcu[generate code that conforms to Intel MCU psABI]' - '-mieee-fp[use IEEE math for fp comparisons]' - '-mincoming-stack-boundary=-[assume incoming stack aligned to this power of 2]:assumed size of boundary: ' - '-mindirect-branch=-[convert indirect call and jump to call and return thunks]:choice:(keep thunk thunk-inline thunk-extern)' - '-mindirect-branch-register[force indirect call and jump via register]' - '-minline-all-stringops[inline all known string operations]' - '-minline-stringops-dynamically[inline memset/memcpy string operations, but perform inline version only for small blocks]' - '-minvpcid[invpcid]' - '-mkl[kl]' - '-mlarge-data-threshold=-[data greater than given threshold will go into .ldata section in x86-64 medium model]:threshold: ' - '-mlong-double-128[use 128-bit long double]' - '-mlong-double-64[use 64-bit long double]' - '-mlong-double-80[use 80-bit long double]' - '-mlwp[support LWP built-in functions and code generation]' - '-mlzcnt[support LZCNT built-in function and code generation]' - {'-mmemset-strategy=-','-mmemcpy-strategy=-'}'[specify memcpy expansion strategy when expected size is known]:strategy:' - '-mmitigate-rop[attempt to avoid generating instruction sequences containing ret bytes]' - '-mmmx[support MMX built-in functions]' - '-mmovbe[support code generation of movbe instruction]' - '-mmovdir64b[movdir64b]' - '-mmovdiri[movdiri]' - '-mmpx[support MPX code generation]' - '-mms-bitfields[use native (MS) bitfield layout]' - '-mmusl[use musl C library]' - '-mmwaitx[support MWAITX and MONITORX built-in functions and code generation]' - '-mno-default[clear all tune features]' - '-mnop-mcount[generate mcount/__fentry__ calls as nops. To activate they need to be patched in]' - '-mno-sse4[do not support SSE4.1 and SSE4.2 built-in functions and code generation]' - '-momit-leaf-frame-pointer[omit the frame pointer in leaf functions]' - '-mpc32[set 80387 floating-point precision to 32-bit]' - '-mpc64[set 80387 floating-point precision to 64-bit]' - '-mpc80[set 80387 floating-point precision to 80-bit]' - '-mpclmul[support PCLMUL built-in functions and code generation]' - '-mpconfig[pconfig]' - '-mpku[support PKU built-in functions and code generation]' - '-mpopcnt[support code generation of popcnt instruction]' - '-mprefer-avx128[use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer]' - '-mpreferred-stack-boundary=-[attempt to keep stack aligned to this power of 2]:size of boundary: ' - '-mprefetchwt1[support PREFETCHWT1 built-in functions and code generation]' - '-mprfchw[support PREFETCHW instruction]' - '-mptwrite[ptwrite]' - '-mpush-args[use push instructions to save outgoing arguments]' - '-mrdpid[support RDPID built-in functions and code generation]' - '-mrdrnd[support RDRND built-in functions and code generation]' - '-mrdseed[support RDSEED instruction]' - '-mrecip=-[control generation of reciprocal estimates]::instruction:(all none div divf divd rsqrt rsqrtf rsqrtd)' # TODO comma separated and can have ! - '-mrecip[generate reciprocals instead of divss and sqrtss]' - '-mrecord-mcount[generate __mcount_loc section with all mcount or __fentry__ calls]' - '-mred-zone[use red-zone in the x86-64 code]' - '-mreg-alloc=[control the default allocation order of integer registers]:default register allocation order:' - '-mregparm=-[number of registers used to pass integer arguments]:number of integer argument registers: ' - '-mretpoline-external-thunk[retpoline external thunk]' - '-mrtd[alternate calling convention]' - '-mrtm[support RTM built-in functions and code generation]' - '-msahf[support code generation of sahf instruction in 64bit x86-64 code]' - '-mserialize[serialize]' - '-msgx[support SGX built-in functions and code generation]' - '-msha[support SHA1 and SHA256 built-in functions and code generation]' - '-mshstk[shstk]' - '-mskip-rax-setup[skip setting up RAX register when passing variable arguments]' - '-msoft-float[do not use hardware fp]' - '-msse2avx[encode SSE instructions with VEX prefix]' - '-msse2[support MMX, SSE and SSE2 built-in functions and code generation]' - '-msse3[support MMX, SSE, SSE2 and SSE3 built-in functions and code generation]' - '-msse4.1[support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation]' - '-msse4.2[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation]' - '-msse4a[support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation]' - '-msse4[support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation]' - '-msseregparm[use SSE register passing conventions for SF and DF mode]' - '-msse[support MMX and SSE built-in functions and code generation]' - '-mssse3[support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation]' - '-mstack-arg-probe[enable stack probing]' - '-mstack-protector-guard=-[use given stack-protector guard]:guard:(global tls)' - '-mstackrealign[realign stack in prologue]' - '-mstringop-strategy=-[chose strategy to generate stringop using]:stringop strategy:(byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop)' - '-mstv[disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones]' - '-mtbm[support TBM built-in functions and code generation]' - '-mthreads[support thread-safe exception handling on MinGW]' - '-mtls-dialect=-[use given thread-local storage dialect]:TLS dialect:(gnu gnu2)' - '-mtls-direct-seg-refs[use direct references against %gs when accessing tls data]' - '-mtsxldtrk[tsxldtrk]' - #'-mtune-ctrl=-[fine grain control of tune features]:feature-list:' #for dev use only - '-mtune=-[tune code for CPU type]:CPU type:->arch' - '-muclibc[use uClibc C library]' - '-muintr[uintr]' - '-mvaes[vaes]' - '-mveclibabi=-[vector library ABI to use]:vector library ABI:(acml svml)' - '-mvect8-ret-in-mem[return 8-byte vectors in memory]' - '-mvpclmulqdq[vpclmulqdq]' - '-mvzeroupper[generate vzeroupper instruction before a transfer of control flow out of the function]' - '-mwaitpkg[waitpkg]' - '-mwbnoinvd[wbnoinvd]' - '-mwidekl[widekl]' - '-mx32[generate 32bit x86-64 code]' - '-mx87[x87]' - '-mxop[support XOP built-in functions and code generation]' - '-mxsavec[support XSAVEC instructions]' - '-mxsaveopt[support XSAVEOPT instruction]' - '-mxsaves[support XSAVES and XRSTORS instructions]' - '-mxsave[support XSAVE and XRSTOR instructions]' - ) - ;; -hppa*) - args=( - -mdisable-fpregs -mdisable-indexing -mfast-indirect-calls - -mgas -mjump-in-delay -mlong-millicode-calls -mno-disable-fpregs - -mno-disable-indexing -mno-fast-indirect-calls -mno-gas - -mno-jump-in-delay -mno-millicode-long-calls - -mno-portable-runtime -mno-soft-float -msoft-float - -mpa-risc-1-0 -mpa-risc-1-1 -mportable-runtime - '-mschedule=:code scheduling constraints:(700 7100 7100LC)' - ) - ;; -i960) - args=( - -m{ka,kb,mc,ca,cf,sa,sb} - -masm-compat -mclean-linkage - -mcode-align -mcomplex-addr -mleaf-procedures - -mic-compat -mic2.0-compat -mic3.0-compat - -mintel-asm -mno-clean-linkage -mno-code-align - -mno-complex-addr -mno-leaf-procedures - -mno-old-align -mno-strict-align -mno-tail-call - -mnumerics -mold-align -msoft-float -mstrict-align - -mtail-call - ) - ;; -sparc) - arch=( - v7 cypress v8 supersparc sparclite f930 f934 hypersparc sparclite86x sparclet - tsc701 v9 ultrasparc ultrasparc3 - ) - args=( - -mapp-regs -mno-app-regs - -mfpu -mhard-float - -mno-fpu -msoft-float - -mhard-quad-float - -msoft-quad-float - -mno-unaligned-doubles - -munaligned-doubles - -mfaster-structs -mno-faster-structs - -mimpure-text - '-mcpu=:CPU type:->arch' - '-mtune=:CPU type:->arch' - -mv8plus -mno-v8plus - -mvis -mno-vis - -mlittle-endian - -m32 -m64 - '-mcmodel=:memory model:(medlow medmid medany embmedany)' - -mstack-bias -mno-stack-bias - -mv8 - -mcypress -mepilogue -mflat - -mno-flat - -mno-epilogue - -msparclite -msupersparc - -mmedlow -mmedany - -mint32 -mint64 -mlong32 -mlong64 - ) - ;; -alpha*) - args=( - -mfp-regs -mno-fp-regs -mno-soft-float - -msoft-float - ) - ;; -clipper) - args=( - -mc300 -mc400 - ) - ;; -h8/300) - args=( - -mrelax -mh - ) - ;; -aarch64) - args=( - '-mmark-bti-property[add .note.gnu.property with BTI to assembly files]' - '-moutline[enable function outlining (AArch64 only)]' - '-msve-vector-bits=[specify the size in bits of an SVE vector register]:bits' - ) - ;; -amdgpu) - args=( - '-mcumode[specify CU wavefront execution mode]' - '-mtgsplit[enable threadgroup split execution mode (AMDGPU only)]' - ) - ;; -hexagon) - args=( - '-mieee-rnd-near[ieee rnd near]' - '-mmemops[enable generation of memop instructions]' - '-mnvj[enable generation of new-value jumps]' - '-mnvs[enable generation of new-value stores]' - '-mpackets[enable generation of instruction packets]' - '-mhvx[enable Hexagon Vector eXtensions]' - '-mhvx-length=[set Hexagon Vector Length]:arg' - '-mhvx=[enable Hexagon Vector eXtensions]:arg' - ) - ;; -webassembly*) - args=( - '-matomics[atomics]' - '-mbulk-memory[bulk memory]' - '-mexception-handling[exception handling]' - '-mmultivalue[multivalue]' - '-mmutable-globals[mutable globals]' - '-mnontrapping-fptoint[no ntrapping fptoint]' - '-mreference-types[reference types]' - '-msign-ext[sign ext]' - '-msimd128[simd128]' - '-mtail-call[tail call]' - '-munimplemented-simd128[unimplemented simd128]' - '-mexec-model=[execution model]:arg' - ) - ;; -riscv) - args=( - '-msave-restore[enable using library calls for save and restore]' - ) - ;; -esac - -if [[ "$service" = clang* ]]; then - args+=( - '-all_load[undocumented option]' - '-allowable_client[undocumented option]:argument' - '--analyzer-no-default-checks[analyzer does no default checks]' - '--analyzer-output[static analyzer report output format]:format:(html plist plist-multi-file plist-html sarif sarif-html text)' - '--analyze[run the static analyzer]' - '-arch[arch]:argument' - '-arch_errors_fatal[arch errors fatal]' - '-arch_only[arch only]:argument' - '-arcmt-migrate-emit-errors[emit ARC errors even if the migrator can fix them]' - '-arcmt-migrate-report-output[output path for the plist report]:file:_files' - '-a-[undocumented option]:argument' - '--autocomplete=[autocomplete]:argument' - '-bind_at_load[bind at load]' - '--bootclasspath=[bootclasspath]:arg' - '-bundle[bundle]' - '-bundle_loader[bundle loader]:argument' - '--CLASSPATH=[CLASSPATH]:arg' - '--classpath=[classpath]:arg' - '-cl-denorms-are-zero[allow denormals to be flushed to zero]' - '-cl-fast-relaxed-math[cl fast relaxed math]' - '-cl-finite-math-only[allow floating-point optimizations]' - '-cl-fp32-correctly-rounded-divide-sqrt[specify that divide and sqrt are correctly rounded]' - '-client_name[client name]:argument' - '-cl-kernel-arg-info[generate kernel argument metadata]' - '-cl-mad-enable[allow use of less precise MAD computations]' - '-cl-no-signed-zeros[allow use of no signed zeros computations]' - '-cl-no-stdinc[disables all standard includes]' - '-cl-opt-disable[disables all optimizations]' - '-cl-single-precision-constant[treat double float constant as single precision]' - '-cl-std=[openCL language standard to compile for]:arg' - '-cl-strict-aliasing[this option is added for compatibility with OpenCL 1.0]' - '-cl-uniform-work-group-size[defines that the global work-size be uniform]' - '-cl-unsafe-math-optimizations[allow unsafe floating-point optimizations]' - '-compatibility_version[compatibility version]:compatibility version' - '--config[specifies configuration file]:configuration file:_files' - '--constant-cfstrings[use constant cfstrings]' - '--coverage[coverage]' - '-coverage[coverage]' - '-cpp[cpp]' - '--cuda-compile-host-device[compile CUDA code for both host and device]' - '--cuda-device-only[compile CUDA code for device only]' - '--cuda-gpu-arch=[cUDA offloading device architecture]:arg' - '--cuda-host-only[compile CUDA code for host only]' - '*--cuda-include-ptx=[include ptx for the following gpu architecture]:argument' - '--cuda-noopt-device-debug[enable device-side debug info generation]' - '--cuda-path=[cUDA installation path]:arg' - '--cuda-path-ignore-env[ignore environment variables to detect CUDA installation]' - '-cuid=[an id for compilation unit]:argument' - '-current_version[current version]:current version' - '-cxx-isystem[add directory to the C++ SYSTEM include search path]:directory:_files -/' - '-dead_strip[dead strip]' - '-dependency-dot[file to write dot-formatted header dependencies to]:file:_files' - '-dependency-file[file to write dependency output to]:file:_files' - '--dyld-prefix=[dyld prefix]:prefix' - '--dylib_file[dyld file]:file:_files' - '-dylinker[dylinker]' - '-dylinker_install_name[dylinker install name]:name' - '-dynamic[dynamic]' - '-dynamiclib[dynamic lib]' - '-EB[big endian]' - '-EL[little endian]' - '-emit-ast[emit Clang AST files for source inputs]' - '-emit-interface-stubs[generate Interface Stub Files]' - '-emit-llvm[use the LLVM representation for assembler and object files]' - '-emit-merged-ifs[generate Interface Stub Files, emit merged text not binary]' - '--emit-static-lib[enable linker job to emit a static library]' - #'-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang[trivial automatic variable initialization to zero is only here for benchmarks]' - '--encoding=[encoding]:arg' - '-exported_symbols_list[exported symbols list]:argument' - '--extdirs=[extdirs]:arg' - '--extra-warnings[enable extra warnings]' - '-faccess-control[access control]' - '*-F+[add directory to framework search path]:framework directory:_files -/' - '-faddrsig[emit an address-significance table]' - '-faggressive-function-elimination[aggressive function elimination]' - '-falign-commons[align commons]' - '-faligned-allocation[aligned allocation]' - '-faligned-new[enable C++17 aligned allocation functions]' - '-fall-intrinsics[all intrinsics]' - '-fallow-editor-placeholders[treat editor placeholders as valid source code]' - '-fallow-unsupported[allow unsupported]' - '-falternative-parameter-statement[enable the old style PARAMETER statement]' - '-faltivec[altivec]' - '-fansi-escape-codes[use ANSI escape codes for diagnostics]' - "-fapple-kext[use Apple's kernel extensions ABI]" - '-fapple-link-rtlib[force linking the clang builtins runtime library]' - '-fapple-pragma-pack[enable Apple GCC-compatible #pragma pack handling]' - '-fapplication-extension[restrict code to those available for App Extensions]' - '-fasm-blocks[asm blocks]' - '-fassume-sane-operator-new[assume sane operator new]' - '-fast[ast]' - '-fastcp[astcp]' - '-fastf[astf]' - '-fautolink[autolink]' - '-fautomatic[automatic]' - '-fauto-profile-accurate[auto profile accurate]' - '-fauto-profile=[enable sample-based profile guided optimizations]::arg' - '-fbackslash[change the interpretation of backslashes in string literals]' - '-fbacktrace[backtrace]' - '-fbasic-block-sections=[generate labels for each basic block]:arg' - '-fbinutils-version=[produced object files can use all ELF features supported by this version]:major.minor' - '-fblas-matmul-limit=[blas matmul limit]:arg' - '-fblocks[enable the blocks language feature]' - '-fbootclasspath=[bootclasspath]:arg' - '-fborland-extensions[accept non-standard constructs supported by the Borland compiler]' - '-fbracket-depth=[bracket depth]:arg' - '-fbuild-session-file=[use the last modification time of <file> as the build session timestamp]:file:_files' - '-fbuild-session-timestamp=[time when the current build session started]:time since Epoch in seconds' - '-fbuiltin-module-map[load the clang builtins module map file]' - '-fcaret-diagnostics[show diagnostic messages using a caret]' - '-fcf-protection=[instrument control-flow architecture protection]::arg (options\: return, branch, full, none)' - '-fcf-runtime-abi=[cf runtime abi]:arg' - '-fchar8_t[enable C++ builtin type char8_t]' - '-fcheck-array-temporaries[check array temporaries]' - '-fcheck=[check]:arg' - '-fclang-abi-compat=[attempt to match the ABI of Clang <version>]:version' - '-fclasspath=[classpath]:arg' - '-fcoarray=[coarray]:arg' - '-fcolor-diagnostics[enable colors in diagnostics]' - '-fcomment-block-commands=[treat each comma separated argument in <arg> as a documentation comment block command]:arg' - '-fcompile-resource=[compile resource]:arg' - '-fcomplete-member-pointers[require member pointer base types to be complete if they would be significant under the Microsoft ABI]' - '-fconstant-cfstrings[constant cfstrings]' - '-fconstant-string-class=[constant string class]:arg' - '-fconstexpr-backtrace-limit=[constexpr backtrace limit]:arg' - '-fconstexpr-depth=[constexpr depth]:arg' - '-fconstexpr-steps=[constexpr steps]:arg' - '-fconvergent-functions[assume functions may be convergent]' - '-fconvert=[convert]:arg' - '-fcoroutines-ts[enable support for the C++ Coroutines TS]' - '-fcoverage-compilation-dir=[the compilation directory to embed in the coverage mapping]:arg' - '-fcoverage-mapping[generate coverage mapping to enable code coverage analysis]' - '-fcoverage-prefix-map=[remap file source paths in coverage mapping]:arg' - '-fcrash-diagnostics-dir=[crash diagnostics dir]:arg' - '-fcray-pointer[cray pointer]' - '-fcreate-profile[create profile]' - '-fcs-profile-generate[generate instrumented code to collect context sensitive execution counts]' - '-fcs-profile-generate=[generate instrumented code to collect context sensitive execution counts]:directory:_files -/' - '-fc\+\+-static-destructors[c++ static destructors]' - '-fcuda-approx-transcendentals[use approximate transcendental functions]' - '-fcuda-flush-denormals-to-zero[flush denormal floating point values to zero in CUDA device mode]' - '-fcuda-rdc[cuda rdc]' - '-fcuda-short-ptr[use 32-bit pointers for accessing const/local/shared address spaces]' - '-fcxx-exceptions[enable C++ exceptions]' - '-fcxx-modules[cxx modules]' - '-fdebug-compilation-dir=[the compilation directory to embed in the debug info]:arg' - '-fdebug-default-version=[default DWARF version to use]:arg' - '-fdebug-dump-parse-tree[dump the parse tree]' - '-fdebug-dump-provenance[dump provenance]' - '-fdebug-dump-symbols[dump symbols after the semantic analysis]' - '-fdebug-info-for-profiling[emit extra debug info to make sample profile more accurate]' - '-fdebug-macro[emit macro debug information]' - '-fdebug-measure-parse-tree[measure the parse tree]' - '-fdebug-pass-arguments[debug pass arguments]' - '-fdebug-pass-structure[debug pass structure]' - '-fdebug-pre-fir-tree[dump the pre-FIR tree]' - '-fdebug-ranges-base-address[use DWARF base address selection entries in .debug_ranges]' - '-fdebug-unparse[unparse and stop]' - '-fdebug-unparse-with-symbols[unparse and stop]' - '-fdeclspec[allow __declspec as a keyword]' - '-fdefault-double-8[set the default double precision kind to an 8 byte wide type]' - '-fdefault-integer-8[set the default integer kind to an 8 byte wide type]' - '-fdefault-real-8[set the default real kind to an 8 byte wide type]' - '-fdelayed-template-parsing[parse templated function definitions at the end of the translation unit]' - '-fdenormal-fp-math=[denormal fp math]:arg' - '-fdepfile-entry=[depfile entry]:arg' - '-fdiagnostics-absolute-paths[print absolute paths in diagnostics]' - '-fdiagnostics-fixit-info[supply fixit into with diagnostic messages]' - '-fdiagnostics-format=[diagnostics format]:arg' - '-fdiagnostics-hotness-threshold=[prevent optimization remarks from being output if they do not meet threshold]:value' - '-fdiagnostics-parseable-fixits[print fixits in a machine parseable form]' - '-fdiagnostics-print-source-range-info[print source range spans in numeric form]' - '-fdiagnostics-show-category=[diagnostics show category]:arg' - '-fdiagnostics-show-hotness[enable profile hotness information in diagnostic line]' - '-fdiagnostics-show-note-include-stack[display include stacks for diagnostic notes]' - '-fdiagnostics-show-option[enable -Woption information in diagnostic line]' - '-fdiagnostics-show-template-tree[print a template comparison tree for differing templates]' - '-fdigraphs[enable alternative token representations]' - "-fdirect-access-external-data[don't use GOT indirection to reference external data symbols]" - '-fdiscard-value-names[discard value names in LLVM IR]' - '-fd-lines-as-code[d lines as code]' - '-fd-lines-as-comments[d lines as comments]' - '-fdollar-ok[dollar ok]' - '-fdouble-square-bracket-attributes[enable double square bracket attributes]' - '-fdump-fortran-optimized[dump fortran optimized]' - '-fdump-fortran-original[dump fortran original]' - '-fdump-parse-tree[dump parse tree]' - '-fdwarf-directory-asm[DWARF directory asm]' - '-fdwarf-exceptions[use DWARF style exceptions]' - '-felide-constructors[elide constructors]' - '-felide-type[elide types when printing diagnostics]' - '-fembed-bitcode=[embed LLVM bitcode (option: off, all, bitcode, marker)]:option' - '-fembed-bitcode[equivalent to -fembed-bitcode=all]' - '-fembed-bitcode-marker[equivalent to -fembed-bitcode=marker]' - '-femit-all-decls[emit all declarations]' - '-femulated-tls[use emutls functions to access thread_local variables]' - '-fenable-matrix[enable matrix data type and related builtin functions]' - '-fencoding=[encoding]:arg' - '-ferror-limit=[error limit]:arg' - '-fescaping-block-tail-calls[escaping block tail calls]' - '-fexperimental-isel[experimental isel]' - '-fexperimental-new-constant-interpreter[enable the experimental new constant interpreter]' - '-fexperimental-relative-c\+\+-abi-vtables[use the experimental C++ class ABI for classes with vtables]' - '-fexperimental-strict-floating-point[enables experimental strict floating point in LLVM]' - '-fextdirs=[extdirs]:arg' - '-fexternal-blas[external blas]' - '-ff2c[f2c]' - '-ffile-compilation-dir=[the compilation directory to embed in the debug info]:arg' - '-ffile-prefix-map=[remap file source paths in debug info and predefined preprocessor macros]:arg' - '-ffine-grained-bitfield-accesses[use separate accesses for consecutive bitfield runs with legal widths and alignments]' - '-ffinite-loops[assume all loops are finite]' - '-ffixed-form[process source files in fixed form]' - '-ffixed-line-length=[set column after which characters are ignored]:arg' - '-ffixed-point[enable fixed point types]' - '-fforce-dwarf-frame[always emit a debug frame section]' - '-fforce-emit-vtables[emits more virtual tables to improve devirtualization]' - '-fforce-enable-int128[enable support for int128_t type]' - '-ffor-scope[for scope]' - '-ffpe-trap=[fpe trap]:arg' - '-ffp-exception-behavior=[specifies the exception behavior of floating-point operations]:arg' - '-ffp-model=[controls the semantics of floating-point calculations]:arg' - '-ffree-form[process source files in free form]' - '-ffree-line-length-[free line length]:arg' - '-ffrontend-optimize[frontend optimize]' - '-fglobal-isel[enables the global instruction selector]' - '-fgnuc-version=[sets various macros to claim compatibility with the given GCC version]:version' - '-fgnu-inline-asm[gnu inline asm]' - '-fgnu-keywords[allow GNU-extension keywords regardless of language standard]' - '-fgnu-runtime[generate output compatible with the standard GNU Objective-C runtime]' - '-fgpu-allow-device-init[allow device side init function in HIP]' - '-fgpu-defer-diag[defer host/device related diagnostic messages for CUDA/HIP]' - '-fgpu-rdc[generate relocatable device code, also known as separate compilation mode]' - '-fgpu-sanitize[enable sanitizer for AMDGPU target]' - '-fheinous-gnu-extensions[heinous GNU extensions]' - '-fhip-new-launch-api,[-fno-hip-new-launch-api Use new kernel launching API for HIP]' - '-fhonor-infinites[honor infinites]' - '-fhonor-infinities[honor infinities]' - '-fhonor-nans[honor nans]' - '-fignore-exceptions[enable support for ignoring exception handling constructs]' - '-filelist[ilelist]:arg' - '-fimplicit-module-maps[implicit module maps]' - '-fimplicit-modules[implicit modules]' - '-fimplicit-none[no implicit typing allowed unless overridden by IMPLICIT statements]' - '-findirect-virtual-calls[indirect virtual calls]' - '-finit-character=[init character]:arg' - '-finit-integer=[init integer]:arg' - '-finit-local-zero[init local zero]' - '-finit-logical=[init logical]:arg' - '-finit-real=[init real]:arg' - '-finline-hint-functions[inline functions which are (explicitly or implicitly) marked inline]' - '-finstrument-function-entry-bare[instrument function entry only]' - '-finstrument-functions-after-inlining[insert the calls after inlining]' - '-finteger-4-integer-8[integer 4 integer 8]' - '-fintegrated-as[enable the integrated assembler]' - '-fintegrated-cc1[run cc1 in-process]' - '-fintrinsic-modules-path[intrinsic modules path]' - '-flarge-sizes[use INTEGER(KIND=8) for the result type in size-related intrinsics]' - '-flat_namespace[flat namespace]' - '-flegacy-pass-manager[use the legacy pass manager in LLVM]' - '-flimited-precision=[limited precision]:arg' - '-flogical-abbreviations[enable logical abbreviations]' - '-flto=-[generate output files suitable for link time optimization]::style:(full thin)' - '-flto-jobs=[controls the backend parallelism]:arg' - '-fmacro-backtrace-limit=[macro backtrace limit]:limit' - '-fmacro-prefix-map=[remap file source paths in predefined preprocessor macros]:arg' - '-fmax-array-constructor=[max array constructor]:arg' - '-fmax-identifier-length[max identifier length]' - '-fmax-stack-var-size=[max stack var size]:arg' - '-fmax-subrecord-length=[max subrecord length]:arg' - '-fmax-tokens=[max total number of preprocessed tokens for -Wmax-tokens]:number' - '-fmax-type-align=[specify the maximum alignment to enforce on pointers lacking an explicit alignment]:arg' - '-fmemory-profile=[enable heap memory profiling and dump results into <directory>]::directory:_files -/' - '-fmodule-file-deps[module file deps]' - '-fmodule-file=[specify the mapping of module name to precompiled module file]:file:_files' - '-fmodule-implementation-of[module implementation of]:name' - '-fmodule-map-file=[load this module map file]:file:_files' - '-fmodule-maps[implicitly search the file system for module map files.]' - '-fmodule-name=[specify the name of the module to build]:name' - '-fmodule-private[module private]' - '-fmodules-cache-path=[specify the module cache path]:directory:_files -/' - '-fmodules-decluse[require declaration of modules used within a module]' - '-fmodules-disable-diagnostic-validation[disable validation of the diagnostic options when loading the module]' - '-fmodules[enable the modules language feature]' - '-fmodules-ignore-macro=[ignore the definition of the given macro when building and loading modules]:macro' - '-fmodules-prune-after=[specify the interval after which a module file will be considered unused]:seconds' - '-fmodules-prune-interval=[specify the interval between attempts to prune the module cache]:seconds' - '-fmodules-search-all[search even non-imported modules to resolve references]' - '-fmodules-strict-decluse[requires all headers to be in modules]' - '-fmodules-ts[enable support for the C++ Modules TS]' - '-fmodules-user-build-path[specify the module user build path]:directory:_files -/' - '-fmodules-validate-input-files-content[validate PCM input files based on content if mtime differs]' - "-fmodules-validate-once-per-build-session[don't verify input files for the modules]" - '-fmodules-validate-system-headers[validate the system headers that a module depends on when loading the module]' - '-fms-compatibility[enable full Microsoft Visual C++ compatibility]' - '-fms-compatibility-version=[microsoft compiler version number]:arg' - '-fmsc-version=[microsoft compiler version number to report]:arg' - '-fms-memptr-rep=[ms memptr rep]:arg' - '-fms-volatile[ms volatile]' - '-fnested-functions[nested functions]' - '-fnew-alignment=[specifies the largest alignment guaranteed]:align' - '-fnext-runtime[next runtime]' - '-fno-builtin-[disable implicit builtin knowledge of a specific function]:arg' - '-fno-crash-diagnostics[disable auto-generation of preprocessed source files and a script for reproduction during a clang crash]' - '-fno-limit-debug-info[no limit debug info]' - '-fno-max-type-align[no max type align]' - '-fno_modules-validate-input-files-content[no modules validate input files content]' - '-fno_pch-validate-input-files-content[no pch validate input files content]' - '-fno-strict-modules-decluse[no strict modules decluse]' - '-fno-temp-file[directly create compilation output files]' - '-fno-working-directory[no working directory]' - '-fnoxray-link-deps[no xray link deps]' - '-fobjc-abi-version=-[set Objective-C ABI version]:version' - '-fobjc-arc-exceptions[use EH-safe code when synthesizing retains and releases in -fobjc-arc]' - '-fobjc-arc[synthesize retain and release calls for Objective-C pointers]' - '-fobjc-convert-messages-to-runtime-calls[convert messages to runtime calls]' - '-fobjc-encode-cxx-class-template-spec[fully encode C++ class template specialization]' - '-fobjc-exceptions[enable Objective-C exceptions]' - '-fobjc-infer-related-result-type[infer related result type]' - '-fobjc-legacy-dispatch[use legacy dispatch]' - '-fobjc-link-runtime[set link runtime]' - '-fobjc-nonfragile-abi[set nonfragile abi]' - '-fobjc-nonfragile-abi-version=-[set nonfragile abi version]:version' - '-fobjc-runtime=-[specify the target Objective-C runtime kind and version]:runtime' - '-fobjc-sender-dependent-dispatch[set sender dependent dispatch]' - '-fobjc-weak[enable ARC-style weak references in Objective-C]' - '-fopenmp-targets=[specify comma-separated list of triples OpenMP offloading targets to be supported]:targets' - '-fopenmp-version=[openmp version]:version' - '-foperator-arrow-depth=[operator arrow depth]:arg' - '-foperator-names[treat C++ operator name keywords as synonyms for operators]' - '-foptimization-record-file=[specify the output name of the file containing the optimization remarks]:file:_files' - '-foptimization-record-passes=[only include passes which match a specified regex]:regex' - '-force_cpusubtype_ALL[force cpusubtype all]' - '-force_flat_namespace[force flat namespace]' - '--force-link=[force link]:arg' - '-force_load[force load]:argument' - '-forder-file-instrumentation[generate instrumented code to collect order file]' - '-foutput-class-dir=[output class dir]:arg' - '-fpack-derived[pack derived]' - '-fparse-all-comments[parse all comments]' - '-fpascal-strings[recognize and construct Pascal-style string literals]' - '-fpass-plugin=[load pass plugin from a dynamic shared object file]:dsopath' - '-fpatchable-function-entry=[generate NOPs around function entry]:N,M' - '-fpch-codegen[generate code for uses of this PCH]' - '-fpch-debuginfo[generate debug info for types in an object file built from this PCH]' - '-fpch-instantiate-templates[instantiate templates already while building a PCH]' - '-fpch-validate-input-files-content[validate PCH input files based on content]' - '-fprebuilt-implicit-modules[look up implicit modules]' - '-fprebuilt-module-path=[specify the prebuilt module path]:directory:_files -/' - '-fpreserve-as-comments[preserve as comments]' - '-fproc-stat-report=[save subprocess statistics to the given file]:arg' - '-fprofile-exclude-files=[exclude files from profile]:arg' - '-fprofile-filter-files=[filter files for profile]:arg' - '-fprofile-instr-generate=[generate instrumented profile into file]::file:_files' - '-fprofile-instr-use=[use instrumentation data for profile-guided optimization]::arg' - '-fprofile-list=[filename defining the list of items to instrument]:file:_files' - '-fprofile-remapping-file=[use the remappings described in file in profile]:file:_files' - '-fprofile-sample-accurate[specifies that the sample profile is accurate]' - '-fprofile-sample-use=[profile sample use]::arg' - '-fprofile-update=[set update method of profile counters]:method' - '-fprotect-parens[protect parens]' - '-fpseudo-probe-for-profiling[emit pseudo probes for sample profiling]' - '*-framework[include framework found in search path]:framework:->framework' - '-frange-check[range check]' - '-freal-4-real-10[real 4 real 10]' - '-freal-4-real-16[real 4 real 16]' - '-freal-4-real-8[real 4 real 8]' - '-freal-8-real-10[real 8 real 10]' - '-freal-8-real-16[real 8 real 16]' - '-freal-8-real-4[real 8 real 4]' - '-frealloc-lhs[realloc lhs]' - '-frecord-command-line[record command line]' - '-frecord-marker=[record marker]:arg' - '-frecursive[recursive]' - '-fregister-global-dtors-with-atexit[use atexit to register global destructors]' - '-frelaxed-template-template-args[enable C++17 relaxed template template argument matching]' - '-frepack-arrays[repack arrays]' - '-freroll-loops[turn on loop reroller]' - '-fretain-comments-from-system-headers[retain comments from system headers]' - '-frewrite-imports[rewrite imports]' - '-frewrite-includes[rewrite includes]' - '-frewrite-map-file=[rewrite map file]:arg' - '-fropi[generate read-only position independent code (ARM only)]' - '-frtlib-add-rpath[add -rpath with architecture-specific resource directory to the linker flags]' - '-frtti-data[rtti data]' - '-frwpi[generate read-write position independent code (ARM only)]' - '-fsanitize-address-destructor-kind=[set destructor type used in ASan instrumentation]:kind' - '-fsanitize-address-field-padding=[level of field padding for AddressSanitizer]:arg' - '-fsanitize-address-globals-dead-stripping[enable linker dead stripping of globals in AddressSanitizer]' - '-fsanitize-address-poison-custom-array-cookie[enable poisoning array cookies when using custom operator new in AddressSanitizer]' - '-fsanitize-address-use-after-scope[enable use-after-scope detection in AddressSanitizer]' - '-fsanitize-address-use-odr-indicator[enable ODR indicator globals]' - '-fsanitize-blacklist=[path to blacklist file for sanitizers]:arg' - '-fsanitize-cfi-canonical-jump-tables[make the jump table addresses canonical in the symbol table]' - '-fsanitize-cfi-cross-dso[enable control flow integrity (CFI) checks for cross-DSO calls]' - '-fsanitize-cfi-icall-generalize-pointers[generalize pointers in CFI indirect call type signature checks]' - '-fsanitize-coverage-allowlist=[sanitize coverage allowlist]:arg' - '-fsanitize-coverage-blacklist=[disable sanitizer coverage instrumentation]:arg' - '-fsanitize-coverage-blocklist=[sanitize coverage blocklist]:arg' - '-fsanitize-coverage=[specify the type of coverage instrumentation for Sanitizers]:arg' - '-fsanitize-coverage-whitelist=[restrict sanitizer coverage instrumentation]:arg' - '-fsanitize-hwaddress-abi=[select the HWAddressSanitizer ABI to target]:arg' - '-fsanitize-link-c\+\+-runtime[sanitize link c++ runtime]' - '-fsanitize-link-runtime[sanitize link runtime]' - '-fsanitize-memory-track-origins=[enable origins tracking in MemorySanitizer]::arg' - '-fsanitize-memory-use-after-dtor[enable use-after-destroy detection in MemorySanitizer]' - '-fsanitize-minimal-runtime[sanitize minimal runtime]' - '-fsanitize-recover=[enable recovery for specified sanitizers]::arg' - '-fsanitize-stats[enable sanitizer statistics gathering]' - '-fsanitize-system-blacklist[path to system blacklist file for sanitizers]:file:_files' - '-fsanitize-thread-atomics[enable atomic operations instrumentation in ThreadSanitizer (default)]' - '-fsanitize-thread-func-entry-exit[enable function entry/exit instrumentation in ThreadSanitizer]' - '-fsanitize-thread-memory-access[enable memory access instrumentation in ThreadSanitizer]' - '-fsanitize-trap=[enable trapping for specified sanitizers]::arg' - '-fsanitize-undefined-strip-path-components=[strip a given number of path components when emitting check metadata]:number' - '-fsanitize-undefined-trap-on-error[equivalent to -fsanitize-trap=undefined]' - '-fsave-optimization-record=[generate an optimization record file in a specific format]::format' - '-fsecond-underscore[second underscore]' - '-fseh-exceptions[use SEH style exceptions]' - '-fsemantic-interposition[semantic interposition]' - '-fshow-column[show the column]' - '-fshow-overloads=[which overload candidates to show when overload resolution fails]:arg' - '-fshow-source-location[show source location]' - '-fsignaling-math[signaling math]' - '-fsign-zero[sign zero]' - '-fsized-deallocation[enable C++14 sized global deallocation functions]' - '-fsjlj-exceptions[use SjLj style exceptions]' - '-fslp-vectorize[enable the superword-level parallelism vectorization passes]' - '-fspell-checking-limit=[spell checking limit]:arg' - '-fspell-checking[spell checking]' - '-fsplit-dwarf-inlining[provide minimal debug info in the object]' - '-fsplit-lto-unit[enables splitting of the LTO unit]' - '-fsplit-machine-functions[enable late function splitting using profile information]' - '-fstack-arrays[stack arrays]' - '-fstack-clash-protection[enable stack clash protection]' - '-fstack-size-section[emit section containing metadata on function stack sizes]' - '-fstandalone-debug[emit full debug info for all types used by the program]' - '-fstrict-float-cast-overflow[assume that overflowing float-to-int casts are undefined]' - '-fstrict-return[strict return]' - '-fstrict-vtable-pointers[enable optimizations based on the strict vtables]' - '-fstruct-path-tbaa[struct path tbaa]' - '-fsycl[enable SYCL kernels compilation for device]' - '-fsymbol-partition=[symbol partition]:arg' - '-fsystem-module[build this module as a system module. only used with -emit-module]' - '-ftemplate-backtrace-limit=[template backtrace limit]:arg' - '-ftemplate-depth--[template depth]:arg' - '-ftemplate-depth=[template depth]:arg' - '-fterminated-vtables[terminated vtables]' - '-fthin-link-bitcode=[write minimized bitcode to <file>]:file:_files' - '-fthinlto-index=[perform ThinLTO importing using provided index]:arg' - '-fthreadsafe-statics[threadsafe statics]' - '-ftime-trace-granularity=[minimum time granularity traced by time profiler]:microseconds' - '-ftime-trace[turn on time profiler]' - '-ftrap-function=[issue call to specified function rather than a trap instruction]:function name' - '-ftrapv-handler=[specify the function to be called on overflow]:function name' - '-ftrigraphs[process trigraph sequences]' - '-ftrivial-auto-var-init=[initialize trivial automatic stack variables]:arg' - '-ftrivial-auto-var-init-stop-after=[stop initializing trivial automatic stack variables after the specified number of instances]:arg' - '-funderscoring[underscoring]' - '-funique-basic-block-section-names[use unique names for basic block sections]' - '-funique-internal-linkage-names[uniqueify Internal Linkage Symbol Names]' - '-funique-section-names[unique section names]' - '-funit-at-a-time[unit at a time]' - '-fuse-cuid=[method to generate ids for compilation units for single source offloading languages CUDA and HIP]:argument' - '-fuse-cxa-atexit[use cxa atexit]' - '-fuse-init-array[use init array]' - '-fuse-line-directives[use #line in preprocessed output]' - '-fvalidate-ast-input-files-content[compute and store the hash of input files used to build an AST]' - '-fveclib=[use the given vector functions library]:arg' - '-fvectorize[enable the loop vectorization passes]' - '-fvirtual-function-elimination[enables dead virtual function elimination optimization]' - '-fvisibility-dllexport=[the visibility for dllexport definitions]:arg' - '-fvisibility-externs-dllimport=[the visibility for dllimport external declarations]:arg' - '-fvisibility-externs-nodllstorageclass=[the visibility for external declarations without an explicit DLL dllstorageclass]:arg' - '-fvisibility-from-dllstorageclass[set the visibility of symbols in the generated code from their DLL storage class]' - '-fvisibility-global-new-delete-hidden[give global C++ operator new and delete declarations hidden visibility]' - '-fvisibility-inlines-hidden[give inline C++ member functions hidden visibility by default]' - '-fvisibility-inlines-hidden-static-local-var[visibility inlines hidden static local var]' - '-fvisibility-ms-compat[give global types and functions a specific visibility]' - '-fvisibility-nodllstorageclass=[the visibility for defintiions without an explicit DLL export class]:arg' - '-fwasm-exceptions[use WebAssembly style exceptions]' - '-fwhole-file[whole file]' - '-fwhole-program-vtables[enables whole-program vtable optimization]' - '-fwritable-strings[store string literals as writable data]' - '-fxl-pragma-pack[enable IBM XL #pragma pack handling]' - '-fxor-operator[enable .XOR. as a synonym of .NEQV.]' - '-fxray-always-emit-customevents[always emit xray customevent calls]' - '-fxray-always-emit-typedevents[always emit xray typedevents calls]' - '-fxray-always-instrument=[file defining xray always instrument]:file:_files' - '-fxray-attr-list=[file defining the list of xray attributes]:file:_files' - '-fxray-function-groups=[only instrument 1 of N groups]:arg' - '-fxray-function-index[xray function index]' - "-fxray-ignore-loops[don't instrument functions with loops unless they also meet the minimum function size]" - '-fxray-instruction-threshold=[sets the minimum function size to instrument with XRay]:arg' - '-fxray-instrumentation-bundle=[select which XRay instrumentation points to emit]:arg' - '-fxray-instrument[generate XRay instrumentation sleds on function entry and exit]' - '-fxray-link-deps[tells clang to add the link dependencies for XRay]' - '-fxray-modes=[list of modes to link in by default into XRay instrumented binaries]:arg' - '-fxray-never-instrument=[file defining the whitelist for Xray attributes]:file:_files' - '-fxray-selected-function-group=[select which group of functions to instrument]:arg' - '-fzvector[enable System z vector language extension]' - {-gcc-toolchain=,--gcc-toolchain=}'[use the gcc toolchain at the given directory]:directory:_files -/' - '-gcodeview[generate CodeView debug information]' - {-gcodeview-ghash,-gno-codeview-ghash}'[emit type record hashes is a .debug section]' - '-gcolumn-info[column info]' - '-gdwarf-aranges[DWARF aranges]' - '-gembed-source[embed source text in DWARF debug sections]' - '-gfull[emit debugging information for all symbols and types]' - {-G-,-G=-,-msmall-data-limit=,-msmall-data-threshold}'[put objects of at most size bytes into small data section]:size' - '-ggnu-pubnames[gnu pubnames]' - '-ginline-line-tables[inline line tables]' - '-gline-directives-only[emit debug line info directives only]' - '-gline-tables-only[line tables only]' - '-glldb[lldb]' - '-gmlt[emit debug line number tables only]' - '-gmodules[generate debug info with external references]' - '-gno-column-info[no column info]' - '-gno-embed-source[no embed source]' - '-gno-gnu-pubnames[no gnu pubnames]' - '-gno-inline-line-tables[no inline line tables]' - '-gno-record-command-line[no record command line]' - '--gpu-instrument-lib=[instrument device library for HIP]:argument' - '--gpu-max-threads-per-block=[default max threads per block for kernel launch bounds for HIP]' - '-grecord-command-line[record command line]' - '-gsce[sce]' - '-gused[emit debugging information for symbols that are used]' - '-gz=[DWARF debug sections compression type]::arg' - '-headerpad_max_install_names[headerpad max install names]:argument' - '-help[display this information]' - '--help-hidden[display help for hidden options]' - '--hip-device-lib=[hIP device library]:arg' - '--hip-device-lib-path=[hip device lib path]:arg' - '--hip-link[link clang-offload-bundler bundles for HIP]' - '--hip-version=[HIP version in the format of major.minor.patch]' - '-ibuiltininc[enable builtin #include directories even when -nostdinc is used before or after -ibuiltininc]' - '-iframework[add directory to SYSTEM framework search path]:directory:_files -/' - '-iframeworkwithsysroot[add directory to SYSTEM framework search path, absolute paths are relative to -isysroot]:directory:_files -/' - '-image_base[image base]:argument' - '-include-pch[include precompiled header file]:file:_files' - '-index-header-map[make the next included directory (-I or -F) an indexer header map]' - '-init[init]:arg' - '-install_name[install name]:arg' - '-integrated-as[integrated as]' - '-interface-stub-version=[interface stub version]:arg' - '-isystem-after[add directory to end of the SYSTEM include search path]:directory:_files -/' - '-ivfsoverlay[overlay the virtual filesystem described by file over the real file system]:arg' - '-iwithsysroot[add directory to SYSTEM include search path]:directory:_files -/' - '-J[this option specifies where to put .mod files for compiled modules]:arg' - '-keep_private_externs[keep private externs]' - '*-lazy_framework[lazy framework]:framework:->framework' - '*-lazy_library[lazy library]:arg' - '--ld-path=[ld path]:arg' - '--libomptarget-amdgcn-bc-path=[path to libomptarget-amdgcn bitcode library]:arg' - '--libomptarget-nvptx-bc-path=[path to libomptarget-nvptx bitcode library]:arg' - '--library-directory=[add directory to library search path]:directory:_files -/' - '-maix-struct-return[return all structs in memory]' - "-malign-branch-boundary=[specify the boundary's size to align branches]:size" - '-malign-branch=[specify types of branches to align]:arg' - '-mappletvos-version-min=[appletvos version min]:arg' - '-mappletvsimulator-version-min=[appletvsimulator version min]:arg' - '-mbackchain[link stack frames through backchain on System Z]' - '-mbig-endian[big endian]' - '-mbranches-within-32B-boundaries[align selected branches within 32-byte boundary]' - '-mbranch-protection=[enforce targets of indirect branches and function returns]:arg' - '-mcode-object-v3[legacy option to specify code object ABI V3]' - '-mcode-object-version=[specify code object ABI version]:version' - '-mconsole[console]:arg' - '-mcrc[allow use of CRC instructions]' - '-mdefault-build-attributes[default build attributes]:arg' - '-mdll[dll]:arg' - '-mdouble=[force double to be 32 bits or 64 bits]:arg' - '-mdynamic-no-pic[dynamic no pic]:arg' - '-meabi[set EABI type]:arg' - '-menable-experimental-extensions[enable use of experimental RISC-V extensions]' - '-menable-unsafe-fp-math[allow unsafe floating-point math optimizations which may decrease precision]' - '-mfix-cortex-a53-835769[workaround Cortex-A53 erratum 835769]' - '-mfloat-abi=[float abi]:arg' - '-mfpu=[fpu]:arg' - '-mglobal-merge[enable merging of globals]' - '-mharden-sls=[select straight-line speculation hardening scope]:arg' - '--mhwdiv=[hwdiv]:arg' - '-mhwdiv=[hwdiv]:arg' - '-mhwmult=[hwmult]:arg' - '-mignore-xcoff-visibility[do not emit the visibility attribute for asm]' - '--migrate[run the migrator]' - '-mimplicit-float[implicit float]' - '-mimplicit-it=[implicit it]:arg' - '-mincremental-linker-compatible[emit an object file which can be used with an incremental linker]' - '-mios-simulator-version-min=[ios simulator version min]:arg' - '-mios-version-min=[ios version min]:arg' - '-miphoneos-version-min=[iphoneos version min]:arg' - '-miphonesimulator-version-min=[iphonesimulator version min]:arg' - '-mkernel[kernel]' - '-mlinker-version=[linker version]:arg' - '-mlittle-endian[little endian]' - "-mllvm[additional arguments to forward to LLVM's option processing]:arg" - '-mlong-calls[generate branches with extended addressability]' - '-mlvi-cfi[enable only control-flow mitigations for Load Value Injection]' - '-mlvi-hardening[enable all mitigations for Load Value Injection]' - '-mmacos-version-min=[set Mac OS X deployment target]:arg' - '-mmacosx-version-min=[macosx version min]:arg' - '-mmcu=[mcu]:arg' - '-module-dependency-dir[directory to dump module dependencies to]:arg' - '-module-dir[odule dir]:dir' - '-module-file-info[provide information about a particular module file]' - '-moslib=[oslib]:arg' - '-moutline-atomics[generate local calls to out-of-line atomic operations]' - '-mpacked-stack[use packed stack layout]' - '-mpad-max-prefix-size=[specify maximum number of prefixes to use for padding]:arg' - '-mpie-copy-relocations[pie copy relocations]' - '-mprefer-vector-width=[specifies preferred vector width]:arg' - '-mqdsp6-compat[enable hexagon-qdsp6 backward compatibility]' - '-mrelax-all[relax all machine instructions]' - '-mrelax[enable linker relaxation]' - '-mretpoline[retpoline]' - '-mseses[enable speculative execution side effect suppression (SESES)]' - '-msign-return-address=[select return address signing scope]:arg' - '-msim[sim]' - '-mspeculative-load-hardening[speculative load hardening]' - '-mstack-alignment=[set the stack alignment]:arg' - '-mstack-probe-size=[set the stack probe size]:size' - '-mstack-protector-guard-offset=[use the given offset for addressing the stack-protector guard]:arg' - '-mstack-protector-guard-reg=[use the given reg for addressing the stack-protector guard]:reg' - '-msvr4-struct-return[return small structs in registers]' - '-mthread-model[the thread model to use]:arg' - '-mthumb[thumb]' - '-mtls-size=[specify bit size of immediate TLS offsets]:arg' - '-mtvos-simulator-version-min=[tvos simulator version min]:arg' - '-mtvos-version-min=[tvos version min]:arg' - '-multi_module[multi module]' - '-multiply_defined[multiply defined]:arg' - '-multiply_defined_unused[multiply defined unused]:arg' - '-municode[unicode]:arg' - '-munsafe-fp-atomics[enable unsafe floating point atomic instructions]' - '-mv55[equivalent to -mcpu=hexagonv55]' - '-mv5[equivalent to -mcpu=hexagonv5]' - '-mv60[equivalent to -mcpu=hexagonv60]' - '-mv62[equivalent to -mcpu=hexagonv62]' - '-mv65[equivalent to -mcpu=hexagonv65]' - '-mv66[equivalent to -mcpu=hexagonv66]' - '-mv67[equivalent to -mcpu=hexagonv67]' - '-mv67t[equivalent to -mcpu=hexagonv67t]' - '-mv68[equivalent to -mcpu=hexagonv68]' - '-mvx[vx]' - '-mwarn-nonportable-cfstrings[warn nonportable cfstrings]' - '-mwatchos-simulator-version-min=[watchos simulator version min]:arg' - '-mwatchos-version-min=[watchos version min]:arg' - '-mwatchsimulator-version-min=[watchsimulator version min]:arg' - '-mwavefrontsize64[specify wavefront size 64 mode]' - '-mwindows[windows]:arg' - '-mzvector[zvector]' - '-nobuiltininc[do not search builtin directory for include files]' - '-nocpp[no cpp]' - '-nocudainc[do not add include paths for CUDA/HIP and do not include the default CUDA/HIP wrapper headers]' - '*--no-cuda-include-ptx=[do not include ptx for the following gpu architecture]:argument' - '-nocudalib[do not link device library for CUDA/HIP device compilation]' - '--no-cuda-noopt-device-debug[disable device-side debug info generation]' - "--no-cuda-version-check[don't error out if the detected version of the CUDA install is too low for the requested CUDA gpu architecture]" - '-no_dead_strip_inits_and_terms[no dead strip inits and terms]' - '-nofixprebinding[no fixprebinding]' - '-nogpuinc[no gpuinc]' - '-nogpulib[no gpulib]' - '--no-integrated-cpp[no integrated cpp]' - '-no-integrated-cpp[no integrated cpp]' - '-nolibc[no libc]' - '-nomultidefs[no multidefs]' - '--no-offload-arch=[no offload arch]:arg' - '-no-pie[no pie]' - '-nopie[no pie]' - '-noprebind[no prebind]' - '-noprofilelib[no profilelib]' - '-no-pthread[no pthread]' - '-noseglinkedit[no seglinkedit]' - '--no-standard-libraries[no standard libraries]' - '-nostdinc\+\+[disable standard #include directories for the C++ standard library]' - '-nostdlibinc[do not search standard system directories for include files]' - '-nostdlib\+\+[no stdlib++]' - '--no-system-header-prefix=[no system header prefix]:prefix' - '--no-undefined[no undefined]' - '-objcmt-atomic-property[make migration to atomic properties]' - '-objcmt-migrate-all[enable migration to modern ObjC]' - '-objcmt-migrate-annotation[enable migration to property and method annotations]' - '-objcmt-migrate-designated-init[enable migration to infer NS_DESIGNATED_INITIALIZER for initializer methods]' - '-objcmt-migrate-instancetype[enable migration to infer instancetype for method result type]' - '-objcmt-migrate-literals[enable migration to modern ObjC literals]' - '-objcmt-migrate-ns-macros[enable migration to NS_ENUM/NS_OPTIONS macros]' - '-objcmt-migrate-property-dot-syntax[enable migration of setter/getter messages to property-dot syntax]' - '-objcmt-migrate-property[enable migration to modern ObjC property]' - '-objcmt-migrate-protocol-conformance[enable migration to add protocol conformance on classes]' - '-objcmt-migrate-readonly-property[enable migration to modern ObjC readonly property]' - '-objcmt-migrate-readwrite-property[enable migration to modern ObjC readwrite property]' - '-objcmt-migrate-subscripting[enable migration to modern ObjC subscripting]' - "-objcmt-ns-nonatomic-iosonly[enable migration to use NS_NONATOMIC_IOSONLY macro for setting property's atomic attribute]" - '-objcmt-returns-innerpointer-property[enable migration to annotate property with NS_RETURNS_INNER_POINTER]' - '-objcmt-whitelist-dir-path=[objcmt whitelist dir path]:arg' - '-objcmt-white-list-dir-path=[only modify files with a filename contained in the provided directory path]:arg' - '-ObjC[treat source files as Objective-C]' - '-ObjC\+\+[treat source files as Objective-C++]' - '-object[object]' - '--offload-arch=[offload arch]:arg' - '--output-class-directory=[output class directory]:arg' - '-pagezero_size[pagezero size]:arg' - '-pg[enable mcount instrumentation]' - {-p,--profile}'[enable function profiling for prof]' - '-prebind_all_twolevel_modules[prebind all twolevel modules]' - '-prebind[prebind]' - '--precompile[only precompile the input]' - '-preload[preload]' - '--print-diagnostic-categories[print diagnostic categories]' - '-print-effective-triple[print effective triple]' - '--print-effective-triple[print the effective target triple]' - '--print-file-name=[print the full library path of <file>]:file:_files' - '-print-ivar-layout[enable Objective-C Ivar layout bitmap print trace]' - '--print-libgcc-file-name[print the library path for the currently used compiler runtime library]' - '--print-multi-directory[print multi directory]' - '--print-multi-lib[print multi lib]' - '--print-prog-name=[print the full program path of <name>]:name' - '-print-resource-dir[print resource dir]' - '--print-resource-dir[print the resource directory pathname]' - '--print-search-dirs[print the paths used for finding libraries and programs]' - '--print-supported-cpus[print supported cpus]' - '-print-supported-cpus[print supported cpus]' - '-print-targets[print targets]' - '--print-targets[print the registered targets]' - '-print-target-triple[print target triple]' - '--print-target-triple[print the normalized target triple]' - '-private_bundle[private bundle]' - '--profile-blocks[undocumented option]' - '-pthreads[pthreads]' - '-pthread[support POSIX threads in generated code]' - '--ptxas-path=[path to ptxas (used for compiling CUDA code)]:arg' - "-Qunused-arguments[don't emit warning for unused driver arguments]" - '-read_only_relocs[read only relocs]:arg' - '-relocatable-pch[relocatable pch]' - '--relocatable-pch[whether to build a relocatable precompiled header]' - '-R[enable the specified remark]:remark' - '--resource=[resource]:arg' - '-rewrite-legacy-objc[rewrite Legacy Objective-C source to C++]' - '-rewrite-objc[rewrite Objective-C source to C++]' - '--rocm-device-lib-path=[rOCm device library path]:arg' - '--rocm-path=[rOCm installation path]:arg' - '-Rpass-analysis=[report transformation analysis from optimization passes]:regex' - '-Rpass-missed=[report missed transformations by optimization passes]:arg' - '-Rpass=[report transformations performed by optimization passes]:arg' - '-rpath[rpath]:arg' - '-r[product a relocatable object as output]' - '--rtlib=[compiler runtime library to use]:arg' - '-rtlib=[rtlib]:arg' - '--save-stats=[save llvm statistics]:arg' - '-sectalign[sectalign]:arg' - '-sectcreate[sectcreate]:arg' - '-sectobjectsymbols[sectobjectsymbols]:arg' - '-sectorder[sectorder]:arg' - '-seg1addr[seg1addr]:arg' - '-segaddr[segaddr]:arg' - '-seg_addr_table_filename[seg addr table filename]:arg' - '-seg_addr_table[seg addr table]:arg' - '-segcreate[segcreate]:arg' - '-seglinkedit[seglinkedit]' - '-segprot[segprot]:arg' - '-segs_read_only_addr[segs read only addr]:arg' - '-segs_read_[segs read]:arg' - '-segs_read_write_addr[segs read write addr]:arg' - '--serialize-diagnostics[serialize compiler diagnostics to a file]:arg' - '-serialize-diagnostics[serialize diagnostics]:arg' - '-shared-libasan[dynamically link the sanitizer runtime]' - '-shared-libsan[shared libsan]' - '--shared[shared]' - '--signed-char[signed char]' - '-single_module[single module]' - '--specs=[specs]:arg' - '-static-libgfortran[static libgfortran]' - '-static-libsan[statically link the sanitizer runtime]' - '-static-libstdc\+\+[static libstdc++]' - '-static-openmp[use the static host OpenMP runtime while linking.]' - '-static-pie[static pie]' - '--static[static]' - '-std-default=[std default]:arg' - '--stdlib=[c++ standard library to use]:arg' - '-stdlib\+\+-isystem[use directory as the C++ standard library include path]:directory:_files -/' - '-stdlib=[stdlib]:arg' - '-sub_library[sub library]:arg' - '-sub_umbrella[sub umbrella]:arg' - '-sycl-std=[SYCL language standard to compile for]:standard' - '--system-header-prefix=[treat all #include paths starting with <prefix> as including a system header]:prefix' - '-target[generate code for the given target]:arg' - '--target=[target]:arg' - '-Tbss[set starting address of BSS to <addr>]:addr' - '-Tdata[set starting address of DATA to <addr>]:addr' - '--traditional[traditional]' - '-traditional[traditional]' - '-Ttext[set starting address of TEXT to <addr>]:addr' - '-t[undocumented option]' - '-twolevel_namespace_hints[twolevel namespace hints]' - '-twolevel_namespace[twolevel namespace]' - '-umbrella[umbrella]:arg' - '-undefined[undefined]:arg' - '-unexported_symbols_list[unexported symbols list]:arg' - '--unsigned-char[unsigned char]' - '--unwindlib=[unwind library to use]:arg' - '-unwindlib=[unwindlib]:arg' - '--verify-debug-info[verify the binary representation of debug output]' - '-verify-pch[load and verify that a pre-compiled header file is not stale]' - '--warn-=-[enable the specified warning]:warning:->warning' - '*-weak_framework[weak framework]:framework:->framework' - '*-weak_library[weak library]:arg' - '-weak-l[weak l]:arg' - '-weak_reference_mismatches[weak reference mismatches]:arg' - '-whatsloaded[whatsloaded]' - '-whyload[whyload]' - '-working-directory=[resolve file paths relative to the specified directory]:arg' - '-Xanalyzer[pass <arg> to the static analyzer]:arg' - '-Xarch_device[pass arg to CUDA/HIP device compilation]:argument' - '-Xarch_host[pass arg to CUDA/HIP host compilation]:argument' - '-Xclang[pass <arg> to the clang compiler]:arg' - '-Xcuda-fatbinary[pass arg to fatbinary invocation]:argument' - '-Xcuda-ptxas[pass arg to the ptxas assemler]:argument' - '-Xflang[pass <arg> to the flang compiler]:arg' - '-Xopenmp-target[pass arg to the the target offloading toolchain]:argument' - '-y[the action to perform on the input]:arg' - '-Z-[undocumented option]:argument' - ) -else - args+=( - '--dump=[dump information]:argument' - '-flto=-[enable link-time optimization]::jobs:' - '*--help=-[display this information]:class:->help' - ) -fi - -local -a sanitizers -sanitizers=( - address alignment bool bounds enum float-cast-overflow float-divide-by-zero - integer-divide-by-zero memory nonnull-attribute null nullability-arg - nullability-assign nullability-return object-size pointer-overflow return - unsigned-integer-overflow returns-nonnull-attribute shift signed-integer-overflow - unreachable vla-bound vptr -) - -local -a languages -languages=( - c c-header cpp-output c++ c++-header c++-cpp-output objective-c objective-c-header - objective-c-cpp-output objective-c++ objective-c++-header objective-c++-cpp-output - assembler assembler-with-cpp ada f77 f77-cpp-input f95 f95-cpp-input go java - brig none -) - -# warnings (from --help=warnings), note some -W options are listed by --help=common instead -warnings+=( - '-Wabi-tag[warn if a subobject has an abi_tag attribute that the complete object type does not have]' - '-Wabi[warn about things that will change when compiling with an ABI-compliant compiler]::' - '-Waddress[warn about suspicious uses of memory addresses]' - '-Waggregate-return[warn about returning structures, unions or arrays]' - '-Waggressive-loop-optimizations[warn if a loop with constant number of iterations triggers undefined behavior]' - '-Waliasing[warn about possible aliasing of dummy arguments]' - '-Walign-commons[warn about alignment of COMMON blocks]' - '-Waligned-new=[warn even if '\'new\'' uses a class member allocation function]:none|global|all: ' - '-Wall[enable most warning messages]' - '-Walloca-larger-than=[warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes]:bytes: ' - '-Walloca[warn on any use of alloca]' - '-Walloc-size-larger-than=[warn for calls to allocation functions that attempt to allocate objects larger than the specified number of bytes]:bytes: ' - '-Walloc-zero[warn for calls to allocation functions that specify zero bytes]' - '-Wampersand[warn about missing ampersand in continued character constants]' - '-Wargument-mismatch[warn about type and rank mismatches between arguments and parameters]' - '-Warray-bounds[warn if an array is accessed out of bounds]' - '-Warray-bounds=[warn if an array is accessed out of bounds]:level:(1 2)' - '-Warray-temporaries[warn about creation of array temporaries]' - '-Wassign-intercept[warn whenever an Objective-C assignment is being intercepted by the garbage collector]' - '-Wattributes[warn about inappropriate attribute usage]' - '-Wbad-function-cast[warn about casting functions to incompatible types]' - '-Wbool-compare[warn about boolean expression compared with an integer value different from true/false]' - '-Wbool-operation[warn about certain operations on boolean expressions]' - '-Wbuiltin-declaration-mismatch[warn when a built-in function is declared with the wrong signature]' - '-Wbuiltin-macro-redefined[warn when a built-in preprocessor macro is undefined or redefined]' - '-Wc++0x-compat[deprecated in favor of -Wc++11-compat]' - '-Wc++11-compat[warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011]' - '-Wc++14-compat[warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014]' - '-Wc++1z-compat[warn about C++ constructs whose meaning differs between ISO C++ 2014 and (forthcoming) ISO C++ 201z(7?)]' - '-Wc90-c99-compat[warn about features not present in ISO C90, but present in ISO C99]' - '-Wc99-c11-compat[warn about features not present in ISO C99, but present in ISO C11]' - '-Wcast-align[warn about pointer casts which increase alignment]' - '-Wcast-qual[warn about casts which discard qualifiers]' - '-Wc-binding-type[warn if the type of a variable might be not interoperable with C]' - '-Wc++-compat[warn about C constructs that are not in the common subset of C and C++]' - '-Wcharacter-truncation[warn about truncated character expressions]' - '-Wchar-subscripts[warn about subscripts whose type is "char"]' - '-Wchkp[warn about memory access errors found by Pointer Bounds Checker]' - '-Wclobbered[warn about variables that might be changed by "longjmp" or "vfork"]' - '-Wcomments[synonym for -Wcomment]' - '-Wcomment[warn about possibly nested block comments, and C++ comments spanning more than one physical line]' - '-Wcompare-reals[warn about equality comparisons involving REAL or COMPLEX expressions]' - '-Wconditionally-supported[warn for conditionally-supported constructs]' - '-Wconversion-extra[warn about most implicit conversions]' - '-Wconversion-null[warn for converting NULL from/to a non-pointer type]' - '-Wconversion[warn for implicit type conversions that may change a value]' - '-Wcoverage-mismatch[warn in case profiles in -fprofile-use do not match]' - '-Wcpp[warn when a #warning directive is encountered]' - '-Wctor-dtor-privacy[warn when all constructors and destructors are private]' - '-Wdangling-else[warn about dangling else]' - '-Wdate-time[warn about __TIME__, __DATE__ and __TIMESTAMP__ usage]' - '-Wdeclaration-after-statement[warn when a declaration is found after a statement]' - '-Wdelete-incomplete[warn when deleting a pointer to incomplete type]' - '-Wdelete-non-virtual-dtor[warn about deleting polymorphic objects with non- virtual destructors]' - '-Wdeprecated-declarations[warn about uses of __attribute__((deprecated)) declarations]' - '-Wdeprecated[warn if a deprecated compiler feature, class, method, or field is used]' - '-Wdesignated-init[warn about positional initialization of structs requiring designated initializers]' - '-Wdisabled-optimization[warn when an optimization pass is disabled]' - '-Wdiscarded-array-qualifiers[warn if qualifiers on arrays which are pointer targets are discarded]' - '-Wdiscarded-qualifiers[warn if type qualifiers on pointers are discarded]' - '-Wdiv-by-zero[warn about compile-time integer division by zero]' - '-Wdouble-promotion[warn about implicit conversions from "float" to "double"]' - '-Wduplicated-branches[warn about duplicated branches in if-else statements]' - '-Wduplicated-cond[warn about duplicated conditions in an if-else-if chain]' - '-Wduplicate-decl-specifier[warn when a declaration has duplicate const, volatile, restrict or _Atomic specifier]' - '-Weffc\+\+[warn about violations of Effective C++ style rules]' - '-Wempty-body[warn about an empty body in an if or else statement]' - '-Wendif-labels[warn about stray tokens after #else and #endif]' - '-Wenum-compare[warn about comparison of different enum types]' - # '-Werror-implicit-function-declaration[this switch is deprecated; use -Werror=implicit-fun]' # this still exists but makes completing -Werror= less convenient - '-Wexpansion-to-defined[warn if "defined" is used outside #if]' - '-Wextra[print extra (possibly unwanted) warnings]' - '-Wfloat-conversion[warn for implicit type conversions that cause loss of floating point precision]' - '-Wfloat-equal[warn if testing floating point numbers for equality]' - '-Wformat-contains-nul[warn about format strings that contain NUL bytes]' - '-Wformat-extra-args[warn if passing too many arguments to a function for its format string]' - '-Wformat-nonliteral[warn about format strings that are not literals]' - '-Wformat-overflow[warn about function calls with format strings that write past the end of the destination region]' - '-Wformat-overflow=[warn about function calls with format strings that write past the end of the destination region]:level:(1 2)' - '-Wformat-security[warn about possible security problems with format functions]' - '-Wformat-signedness[warn about sign differences with format functions]' - '-Wformat-truncation[warn about calls to snprintf and similar functions that truncate output. Same as -Wformat- truncation=1. Same as -Wformat-truncation=]' - '-Wformat-truncation=[warn about calls to snprintf and similar functions that truncate output]:level:(1 2)' - '-Wformat=[warn about printf/scanf/strftime/strfmon format string anomalies]::level:(1 2)' - '-Wformat-y2k[warn about strftime formats yielding 2-digit years]' - '-Wformat-zero-length[warn about zero-length formats]' - '-Wframe-address[warn when __builtin_frame_address or __builtin_return_address is used unsafely]' - '-Wframe-larger-than=[warn if a function'\''s stack frame requires more than <number> bytes]:bytes: ' - '-Wfree-nonheap-object[warn when attempting to free a non-heap object]' - '-Wfunction-elimination[warn about function call elimination]' - '-Whsa[warn when a function cannot be expanded to HSAIL]' - '-Wignored-attributes[warn whenever attributes are ignored]' - '-Wignored-qualifiers[warn whenever type qualifiers are ignored]' - '-Wimplicit-fallthrough=[warn when a switch case falls through]:level:(1 2 3 4 5)' - '-Wimplicit-function-declaration[warn about implicit function declarations]' - '-Wimplicit-interface[warn about calls with implicit interface]' - '-Wimplicit-int[warn when a declaration does not specify a type]' - '-Wimplicit-procedure[warn about called procedures not explicitly declared]' - '-Wimplicit[warn about implicit declarations]' - '-Wimport[warn about imports]' - '-Wincompatible-pointer-types[warn when there is a conversion between pointers that have incompatible types]' - '-Winherited-variadic-ctor[warn about C++11 inheriting constructors when the base has a variadic constructor]' - '-Winit-self[warn about variables which are initialized to themselves]' - '-Winline[warn when an inlined function cannot be inlined]' - '-Wint-conversion[warn about incompatible integer to pointer and pointer to integer conversions]' - '-Winteger-division[warn about constant integer divisions with truncated results]' - '-Wint-in-bool-context[warn for suspicious integer expressions in boolean context]' - '-Wintrinsic-shadow[warn if a user-procedure has the same name as an intrinsic]' - '-Wintrinsics-std[warn on intrinsics not part of the selected standard]' - '-Wint-to-pointer-cast[warn when there is a cast to a pointer from an integer of a different size]' - '-Winvalid-memory-model[warn when an atomic memory model parameter is known to be outside the valid range]' - '-Winvalid-offsetof[warn about invalid uses of the "offsetof" macro]' - '-Winvalid-pch[warn about PCH files that are found but not used]' - '-Wjump-misses-init[warn when a jump misses a variable initialization]' - '-Wlarger-than=[warn if an object is larger than <number> bytes]:bytes: ' - '-Wline-truncation[warn about truncated source lines]' - '-Wliteral-suffix[warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore]' - '-Wlogical-not-parentheses[warn when logical not is used on the left hand side operand of a comparison]' - '-Wlogical-op[warn when a logical operator is suspiciously always evaluating to true or false]' - '-Wlong-long[do not warn about using "long long" when -pedantic]' - '-Wlto-type-mismatch[during link time optimization warn about mismatched types of global declarations]' - '-Wmain[warn about suspicious declarations of "main"]' - '-Wmaybe-uninitialized[warn about maybe uninitialized automatic variables]' - '-Wmemset-elt-size[warn about suspicious calls to memset where the third argument contains the number of elements not multiplied by the element size]' - '-Wmemset-transposed-args[warn about suspicious calls to memset where the third argument is constant literal zero and the second is not]' - '-Wmisleading-indentation[warn when the indentation of the code does not reflect the block structure]' - '-Wmissing-braces[warn about possibly missing braces around initializers]' - '-Wmissing-declarations[warn about global functions without previous declarations]' - '-Wmissing-field-initializers[warn about missing fields in struct initializers]' - '-Wmissing-include-dirs[warn about user-specified include directories that do not exist]' - '-Wmissing-parameter-type[warn about function parameters declared without a type specifier in K&R-style functions]' - '-Wmissing-prototypes[warn about global functions without prototypes]' - '-Wmudflap[warn about constructs not instrumented by -fmudflap]' - '-Wmultichar[warn about use of multi-character character constants]' - '-Wmultiple-inheritance[warn on direct multiple inheritance]' - '-Wnamespaces[warn on namespace definition]' - '-Wnarrowing[warn about narrowing conversions within { } that are ill-formed in C++11]' - '-Wnested-externs[warn about "extern" declarations not at file scope]' - '-Wnoexcept-type[warn if C++1z noexcept function type will change the mangled name of a symbol]' - '-Wnoexcept[warn when a noexcept expression evaluates to false even though the expression can''t actually throw]' - '-Wnonnull-compare[warn if comparing pointer parameter with nonnull attribute with NULL]' - '-Wnonnull[warn about NULL being passed to argument slots marked as requiring non-NULL]' - '-Wnonportable-cfstrings[warn on CFStrings containing nonportable characters]' - '-Wnon-template-friend[warn when non-templatized friend functions are declared within a template]' - '-Wnon-virtual-dtor[warn about non-virtual destructors]' - '-Wnormalized=-[warn about non-normalised Unicode strings]:normalization:((id\:allow\ some\ non-nfc\ characters\ that\ are\ valid\ identifiers nfc\:only\ allow\ NFC nfkc\:only\ allow\ NFKC none\:allow\ any\ normalization)): ' - '-Wnull-dereference[warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior]' - '-Wodr[warn about some C++ One Definition Rule violations during link time optimization]' - '-Wold-style-cast[warn if a C-style cast is used in a program]' - '-Wold-style-declaration[warn for obsolescent usage in a declaration]' - '-Wold-style-definition[warn if an old-style parameter definition is used]' - '-Wopenmp-simd[warn if a simd directive is overridden by the vectorizer cost model]' - '-Woverflow[warn about overflow in arithmetic expressions]' - '-Woverlength-strings[warn if a string is longer than the maximum portable length specified by the standard]' - '-Woverloaded-virtual[warn about overloaded virtual function names]' - '-Woverride-init-side-effects[warn about overriding initializers with side effects]' - '-Woverride-init[warn about overriding initializers without side effects]' - '-Wpacked-bitfield-compat[warn about packed bit-fields whose offset changed in GCC 4.4]' - '-Wpacked[warn when the packed attribute has no effect on struct layout]' - '-Wpadded[warn when padding is required to align structure members]' - '-Wparentheses[warn about possibly missing parentheses]' - '-Wpedantic[issue warnings needed for strict compliance to the standard]' - '-Wplacement-new=[warn for placement new expressions with undefined behavior]::level:(1 2)' - '-Wpmf-conversions[warn when converting the type of pointers to member functions]' - '-Wpointer-arith[warn about function pointer arithmetic]' - '-Wpointer-compare[warn when a pointer is compared with a zero character constant]' - '-Wpointer-sign[warn when a pointer differs in signedness in an assignment]' - '-Wpointer-to-int-cast[warn when a pointer is cast to an integer of a different size]' - '-Wpoison-system-directories[warn for -I and -L options using system directories if cross compiling]' - '-Wpragmas[warn about misuses of pragmas]' - '-Wproperty-assign-default[warn if a property for an Objective-C object has no assign semantics specified]' - '-Wprotocol[warn if inherited methods are unimplemented]' - '-Wpsabi[warn about psabi]' - '-Wrealloc-lhs-all[warn when a left-hand-side variable is reallocated]' - '-Wrealloc-lhs[warn when a left-hand-side array variable is reallocated]' - '-Wreal-q-constant[warn about real-literal-constants with '\'q\'' exponent-letter]' - '-Wredundant-decls[warn about multiple declarations of the same object]' - '-Wregister[warn about uses of register storage specifier]' - '-Wreorder[warn when the compiler reorders code]' - '-Wrestrict[warn when an argument passed to a restrict- qualified parameter aliases with another argument]' - '-Wreturn-local-addr[warn about returning a pointer/reference to a local or temporary variable]' - '-Wreturn-type[warn whenever a function'\''s return type defaults to "int" (C), or about inconsistent return types (C++)]' - '-Wscalar-storage-order[warn on suspicious constructs involving reverse scalar storage order]' - '-Wselector[warn if a selector has multiple methods]' - '-Wsequence-point[warn about possible violations of sequence point rules]' - '-Wshadow-ivar[warn if a local declaration hides an instance variable]' - '-Wshadow[warn when one variable shadows another. Same as -Wshadow=global]' - '-Wshift-count-negative[warn if shift count is negative]' - '-Wshift-count-overflow[warn if shift count >= width of type]' - '-Wshift-negative-value[warn if left shifting a negative value]' - '-Wshift-overflow[warn if left shift of a signed value overflows. Same as -Wshift-overflow=]' - '-Wshift-overflow=[warn if left shift of a signed value overflows]:level:(1 2)' - '-Wsign-compare[warn about signed-unsigned comparisons]' - '-Wsign-conversion[warn for implicit type conversions between signed and unsigned integers]' - '-Wsign-promo[warn when overload promotes from unsigned to signed]' - '-Wsized-deallocation[warn about missing sized deallocation functions]' - '-Wsizeof-array-argument[warn when sizeof is applied on a parameter declared as an array]' - '-Wsizeof-pointer-memaccess[warn about suspicious length parameters to certain string functions if the argument uses sizeof]' - '-Wstack-protector[warn when not issuing stack smashing protection for some reason]' - '-Wstack-usage=[warn if stack usage might be larger than specified amount]:bytes: ' - '-Wstrict-aliasing[warn about code which might break strict aliasing rules]' - '-Wstrict-aliasing=-[warn about code which might break strict aliasing rules]:level of checking (higher is more accurate):(1 2 3)' - '-Wstrict-null-sentinel[warn about uncasted NULL used as sentinel]' - '-Wstrict-overflow[warn about optimizations that assume that signed overflow is undefined]' - '-Wstrict-overflow=-[warn about optimizations that assume that signed overflow is undefined]:level of checking (higher finds more cases):(1 2 3 4 5)' - '-Wstrict-prototypes[warn about unprototyped function declarations]' - '-Wstrict-selector-match[warn if type signatures of candidate methods do not match exactly]' - '-Wstringop-overflow=[under the control of Object Size type, warn about buffer overflow in string manipulation functions like memcpy and strcpy]:level:(1 2 3 4)' - '-Wstringop-overflow[warn about buffer overflow in string manipulation functions like memcpy and strcpy. Same as -Wstringop-overflow=]' - '-Wsubobject-linkage[warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage]' - '*-Wsuggest-attribute=-[warn about functions that might be candidates for attributes]:attribute:(pure const noreturn format)' - '-Wsuggest-final-methods[warn about C++ virtual methods where adding final keyword would improve code quality]' - '-Wsuggest-final-types[warn about C++ polymorphic types where adding final keyword would improve code quality]' - '-Wsuggest-override[suggest that the override keyword be used when the declaration of a virtual function overrides another]' - '-Wsurprising[warn about "suspicious" constructs]' - '-Wswitch-bool[warn about switches with boolean controlling expression]' - '-Wswitch-default[warn about enumerated switches missing a "default-" statement]' - '-Wswitch-enum[warn about all enumerated switches missing a specific case]' - '-Wswitch-unreachable[warn about statements between switch'\''s controlling expression and the first case]' - '-Wswitch[warn about enumerated switches, with no default, missing a case]' - '-Wsync-nand[warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used]' - '-Wsynth[deprecated. This switch has no effect]' - '-Wsystem-headers[do not suppress warnings from system headers]' - '-Wtabs[permit nonconforming uses of the tab character]' - '-Wtarget-lifetime[warn if the pointer in a pointer assignment might outlive its target]' - '-Wtautological-compare[warn if a comparison always evaluates to true or false]' - '-Wtemplates[warn on primary template declaration]' - '-Wterminate[warn if a throw expression will always result in a call to terminate()]' - '-W[this switch is deprecated; use -Wextra instead]' - '-Wtraditional-conversion[warn of prototypes causing type conversions different from what would happen in the absence of prototype]' - '-Wtraditional[warn about features not present in traditional C]' - '-Wtrampolines[warn whenever a trampoline is generated]' - '-Wtrigraphs[warn if trigraphs are encountered that might affect the meaning of the program]' - '-Wtype-limits[warn if a comparison is always true or always false due to the limited range of the data type]' - '-Wundeclared-selector[warn about @selector()s without previously declared methods]' - '-Wundefined-do-loop[warn about an invalid DO loop]' - '-Wundef[warn if an undefined macro is used in an #if directive]' - '-Wunderflow[warn about underflow of numerical constant expressions]' - '-Wuninitialized[warn about uninitialized automatic variables]' - '-Wunknown-pragmas[warn about unrecognized pragmas]' - '-Wunsafe-loop-optimizations[warn if the loop cannot be optimized due to nontrivial assumptions]' - '-Wunsuffixed-float-constants[warn about unsuffixed float constants]' - '-Wunused-but-set-parameter[warn when a function parameter is only set, otherwise unused]' - '-Wunused-but-set-variable[warn when a variable is only set, otherwise unused]' - '-Wunused-const-variable[warn when a const variable is unused. Same as -Wunused-const-variable=]' - '-Wunused-const-variable=[warn when a const variable is unused]:level:(1 2)' - '-Wunused-dummy-argument[warn about unused dummy arguments]' - '-Wunused[enable all -Wunused- warnings]' - '-Wunused-function[warn when a function is unused]' - '-Wunused-label[warn when a label is unused]' - '-Wunused-local-typedefs[warn when typedefs locally defined in a function are not used]' - '-Wunused-macros[warn about macros defined in the main file that are not used]' - '-Wunused-parameter[warn when a function parameter is unused]' - '-Wunused-result[warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value]' - '-Wunused-value[warn when an expression value is unused]' - '-Wunused-variable[warn when a variable is unused]' - '-Wuseless-cast[warn about useless casts]' - '-Wuse-without-only[warn about USE statements that have no ONLY qualifier]' - '-Wvarargs[warn about questionable usage of the macros used to retrieve variable arguments]' - '-Wvariadic-macros[warn about using variadic macros]' - '-Wvector-operation-performance[warn when a vector operation is compiled outside the SIMD]' - '-Wvirtual-inheritance[warn on direct virtual inheritance]' - '-Wvirtual-move-assign[warn if a virtual base has a non-trivial move assignment operator]' - '-Wvla-larger-than=[warn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes]:bytes: ' - '-Wvla[warn if a variable length array is used]' - '-Wvolatile-register-var[warn when a register variable is declared volatile]' - '-Wwrite-strings[in C++, nonzero means warn about deprecated conversion from string literals to '\''char *'\''. In C, similar warning, except that the conversion is]' - '-Wzero-as-null-pointer-constant[warn when a literal '\''0'\'' is used as null pointer]' - '-Wzerotrip[warn about zero-trip DO loops]' -) - -# clang specific warnings -if [[ "$service" = clang* ]]; then - warnings+=( - '-Wlarge-by-value-copy=[warn on large by value copy]:argument' - '-Wunreachable-code-aggressive[controls -Wunreachable-code, -Wunreachable-code-break, -Wunreachable-code-return]' - '-Wunreachable-code-break[warn when break will never be executed]' - '-Wunreachable-code-loop-increment[warn when loop will be executed only once]' - '-Wunreachable-code-return[warn when return will not be executed]' - '-Wunreachable-code[warn on code that will not be executed]' - ) -else - warnings+=( - '-Wunreachable-code[does nothing. Preserved for backward compatibility]' - ) -fi - -args+=( - {'*-A-','*--assert='}'[make an assertion]:define assertion:' - '--all-warnings[display all warnings]' - {-ansi,--ansi}'[same as -std=c89 or -std=c++98]' - '-aux-info[emit declaration information into <file>]:file:_files' - {'-B-','--prefix='}'[add <prefix> to the compiler'\''s search paths]:executable prefix:_files -/' - '-b[specify target machine to compile to]:target machine:' - {-CC,--comments-in-macros}'[do not discard comments, including macro expansion]' - {-C,--comments}'[do not discard comments during preprocess]' - {-c,--compile}'[compile and assemble, but do not link]' - {'*-D-','*--define-macro='}'[define a macro]:define macro:' - '-d-[dump the state of the preprocessor]:dump:->dump' - '--dependencies[generate Makefile dependencies]' - '-dumpbase[set the file basename to be used for dumps]:file:_files' - '-dumpdir[set the directory name to be used for dumps]:file:_files -/' - '-dumpmachine[display the compiler'\''s target processor]' - '-dumpspecs[display all of the built in spec strings]' - '-dumpversion[display the version of the compiler]' - '+e-[control how virtual function definitions are used]:virtual function definitions in classes:((0\:only\ interface 1\:generate\ code))' - {-e,--entry}'[specify program entry point is entry]:entry' - {-E,--preprocess}'[preprocess only; do not compile, assemble or link]' - '-fabi-version=-[use specified C++ ABI version]:ABI version [0]:(0 1 2 3 4 5 6 7 8 9 10 11 12 13)' - '-fada-spec-parent=[dump Ada specs as child units of given parent]' - '-faggressive-loop-optimizations[aggressively optimize loops using language constraints]' - '-falign-functions[align the start of functions]' - '-falign-jumps[align labels which are only reached by jumping]' - '-falign-labels[align all labels]' - '-falign-loops[align the start of loops]' - '-fallow-parameterless-variadic-functions[allow variadic functions without named parameter]' - '-fasm[recognize the asm keyword]' - '-fassociative-math[allow optimization for floating-point arithmetic which may change the result of the operation due to rounding]' - '-fasynchronous-unwind-tables[generate unwind tables that are exact at each instruction boundary]' - '-fauto-inc-dec[generate auto-inc/dec instructions]' - '-fbounds-check[generate code to check bounds before indexing arrays]' - '-fbranch-count-reg[replace add, compare, branch with branch on count register]' - '-fbranch-probabilities[use profiling information for branch probabilities]' - '-fbranch-target-load-optimize2[perform branch target load optimization after prologue / epilogue threading]' - '-fbranch-target-load-optimize[perform branch target load optimization before prologue / epilogue threading]' - '-fbtr-bb-exclusive[restrict target load migration not to re-use registers in any basic block]' - '-fbuilding-libgcc[specify building libgcc]' - '-fbuiltin[recognize builtin functions]' - '-fcaller-saves[save registers around function calls]' - '-fcall-saved--[mark <register> as being preserved across functions]:register' - '-fcall-used--[mark <register> as being corrupted by function calls]:register' - '-fcanonical-system-headers[where shorter use canonicalized paths to system headers]' - '-fcheck-data-deps[compare the results of several data dependence analyzers]' - '-fcheck-pointer-bounds[add pointer bounds checker instrumentation]' - '-fchkp-check-incomplete-type[generate pointer bounds check for variables with incomplete type]' - '-fchkp-check-read[generate checks for all read accesses to memory]' - '-fchkp-check-write[generate checks for all write accesses to memory]' - '-fchkp-first-field-has-own-bounds[forces checker to use narrowed bounds for address of the first field]' - '-fchkp-instrument-calls[generate bounds passing for calls]' - '-fchkp-instrument-marked-only[instrument only functions marked with bnd_instrument attribute]' - '-fchkp-narrow-bounds[control how checker handle pointers to object fields]' - '-fchkp-narrow-to-innermost-array[forces checker to use bounds of the innermost arrays in case of nested static array access]' - '-fchkp-optimize[allow checker optimizations]' - '-fchkp-store-bounds[generate bounds stores for pointer writes]' - '-fchkp-treat-zero-dynamic-size-as-infinite[with this option zero size obtained dynamically for objects with incomplete type will be treated as infinite]' - '-fchkp-use-fast-string-functions[allow to use *_nobnd versions of string functions]' - '-fchkp-use-nochk-string-functions[allow to use *_nochk versions of string functions]' - '-fchkp-use-static-bounds[use statically initialized variable for vars bounds instead of generating them each time it is required]' - '-fchkp-use-static-const-bounds[use statically initialized variable for constant bounds]' - '-fchkp-use-wrappers[transform instrumented builtin calls into calls to wrappers]' - '-fchkp-zero-input-bounds-for-main[use zero bounds for all incoming arguments in main function]' - '-fcilkplus[enable Cilk Plus]' - '-fcode-hoisting[enable code hoisting]' - '-fcombine-stack-adjustments[looks for opportunities to reduce stack adjustments and stack references]' - '-fcommon[do not put uninitialized globals in the common section]' - '-fcompare-debug=-[compile with and without e.g. -gtoggle, and compare the final-insns dump]:opts:' # TODO: complete gcc options here - '-fcompare-debug-second[run only the second compilation of -fcompare-debug]' - '-fcompare-elim[perform comparison elimination after register allocation has finished]' - '-fcond-mismatch[allow the arguments of the ? operator to have different types]' - '-fconserve-stack[do not perform optimizations increasing noticeably stack usage]' - '-fcprop-registers[perform a register copy-propagation optimization pass]' - '-fcrossjumping[perform cross-jumping optimization]' - '-fcse-follow-jumps[when running CSE, follow jumps to their targets]' - '-fcx-fortran-rules[complex multiplication and division follow Fortran rules]' - '-fcx-limited-range[omit range reduction step when performing complex division]' - '-fdata-sections[place data items into their own section]' - '-fdbg-cnt=-[,<counter>-<limit>,...) Set the debug counter limit]:counter\:limit,...: ' # TODO: gcc -fdbg-cnt-list -x c /dev/null -o /dev/null -c - '-fdbg-cnt-list[list all available debugging counters with their limits and counts]' - '-fdce[use the RTL dead code elimination pass]' - '-fdebug-cpp[emit debug annotations during preprocessing]' - '-fdebug-prefix-map=-[map one directory name to another in debug information]:/old/dir=/new/dir:->dirtodir' - '-fdebug-types-section[output .debug_types section when using DWARF v4 debuginfo]' - '-fdefer-pop[defer popping functions args from stack until later]' - '-fdelayed-branch[attempt to fill delay slots of branch instructions]' - '-fdelete-dead-exceptions[delete dead instructions that may throw exceptions]' - '-fdelete-null-pointer-checks[delete useless null pointer checks]' - '-fdevirtualize-speculatively[perform speculative devirtualization]' - '-fdevirtualize[try to convert virtual calls to direct ones]' - '-fdiagnostics-color=-[colorize diagnostics]::color:(never always auto)' - '-fdiagnostics-generate-patch[print fix-it hints to stderr in unified diff format]' - '-fdiagnostics-parseable-fixits[print fixit hints in machine-readable form]' - '-fdiagnostics-show-caret[show the source line with a caret indicating the column]' - '-fdiagnostics-show-location=-[how often to emit source location at the beginning of line-wrapped diagnostics]:source location:(once every-line)' - '-fdiagnostics-show-option[amend appropriate diagnostic messages with the command line option that controls them]' - '-fdirectives-only[preprocess directives only]' - '-fdollars-in-identifiers[permit $ as an identifier character]' - '-fdse[use the RTL dead store elimination pass]' - '-fdump-ada-spec-slim[write all declarations as Ada code for the given file only]' - '-fdump-ada-spec[write all declarations as Ada code transitively]' - '-fdump-final-insns=-[dump to filename the insns at the end of translation]:filename:_files' - '-fdump-go-spec=-[write all declarations to file as Go code]:filename:_files' - '-fdump-noaddr[suppress output of addresses in debugging dumps]' - '-fdump-passes[dump optimization passes]' - '-fdump-unnumbered-links[suppress output of previous and next insn numbers in debugging dumps]' - '-fdump-unnumbered[suppress output of instruction numbers, line number notes and addresses in debugging dumps]' - '-fdwarf2-cfi-asm[enable CFI tables via GAS assembler directives]' - '-fearly-inlining[perform early inlining]' - '-feliminate-dwarf2-dups[perform DWARF2 duplicate elimination]' - '-feliminate-unused-debug-symbols[perform unused type elimination in debug info]' - '-feliminate-unused-debug-types[perform unused type elimination in debug info]' - '-femit-class-debug-always[do not suppress C++ class debug information]' - '-femit-struct-debug-baseonly[aggressive reduced debug info for structs]' - '-femit-struct-debug-detailed=-[detailed reduced debug info for structs]:spec list [all]' - '-femit-struct-debug-reduced[conservative reduced debug info for structs]' - '-fexceptions[enable exception handling]' - '-fexcess-precision=-[specify handling of excess floating-point precision]:precision handling:(fast standard)' - '-fexec-charset=-[convert all strings and character constants to character set]:character set [UTF-8]' - '-fexpensive-optimizations[perform a number of minor, expensive optimizations]' - '-fextended-identifiers[permit universal character names in identifiers]' - '-ffast-math[sets -fno-math-errno, -funsafe-math-optimizations, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and -fcx-limited-range]' - '-ffat-lto-objects[output lto objects containing both the intermediate language and binary output]' - '-ffinite-math-only[assume no NaNs or infinities are generated]' - '-ffixed--[mark <register> as being unavailable to the compiler]:register' - '-ffloat-store[don'\''t allocate floats and doubles in extended- precision registers]' - '-fforward-propagate[perform a forward propagation pass on RTL]' - '-ffp-contract=-[perform floating-point expression contraction]:style [fast]:(on off fast)' - '-ffp-int-builtin-inexact[allow built-in functions ceil, floor, round, trunc to raise "inexact" exceptions]' - '-ffreestanding[do not assume that standard C libraries and main exist]' - '-ffunction-cse[allow function addresses to be held in registers]' - '-ffunction-sections[place each function into its own section]' - '-fgcse-after-reload[perform global common subexpression elimination after register allocation has finished]' - '-fgcse-las[perform redundant load after store elimination in global common subexpression elimination]' - '-fgcse-lm[perform enhanced load motion during global common subexpression elimination]' - '-fgcse[perform global common subexpression elimination]' - '-fgcse-sm[perform store motion after global common subexpression elimination]' - '-fgnu89-inline[use traditional GNU semantics for inline functions]' - '-fgnu-tm[enable support for GNU transactional memory]' - '-fgraphite[enable in and out of Graphite representation]' - '-fgraphite-identity[enable Graphite Identity transformation]' - '-fguess-branch-probability[enable guessing of branch probabilities]' - '-fhoist-adjacent-loads[enable hoisting adjacent loads to encourage generating conditional move instructions]' - '-fhosted[assume normal C execution environment]' - '-fif-conversion2[perform conversion of conditional jumps to conditional execution]' - '-fif-conversion[perform conversion of conditional jumps to branchless equivalents]' - '-findirect-inlining[perform indirect inlining]' - '-finhibit-size-directive[do not generate .size directives]' - '-finline-atomics[inline __atomic operations when a lock free instruction sequence is available]' - '-finline[enable inlining of function declared "inline", disabling disables all inlining]' - '-finline-functions-called-once[integrate functions only required by their single caller]' - '-finline-functions[integrate functions not declared "inline" into their callers when profitable]' - '-finline-limit=-[limit the size of inlined functions to <number>]:number: ' - '-finline-small-functions[integrate functions into their callers when code size is known not to grow]' - '-finput-charset=[specify the default character set for source files]:character set' - '-finstrument-functions-exclude-file-list=-[do not instrument functions listed in files]:comma-separated file list:->commafiles' - '-finstrument-functions-exclude-function-list=-[do not instrument listed functions]:comma-separated list of syms: ' - '-finstrument-functions[instrument function entry and exit with profiling calls]' - '-fipa-bit-cp[perform interprocedural bitwise constant propagation]' - '-fipa-cp-clone[perform cloning to make Interprocedural constant propagation stronger]' - '-fipa-cp[perform interprocedural constant propagation]' - '-fipa-icf-functions[perform Identical Code Folding for functions]' - '-fipa-icf[perform Identical Code Folding for functions and read-only variables]' - '-fipa-icf-variables[perform Identical Code Folding for variables]' - '-fipa-profile[perform interprocedural profile propagation]' - '-fipa-pta[perform interprocedural points-to analysis]' - '-fipa-pure-const[discover pure and const functions]' - '-fipa-ra[use caller save register across calls if possible]' - '-fipa-reference[discover readonly and non addressable static variables]' - '-fipa-sra[perform interprocedural reduction of aggregates]' - '-fipa-vrp[perform IPA Value Range Propagation]' - '-fira-algorithm=[set the used IRA algorithm]:algorithm:(cb priority)' - '-fira-hoist-pressure[use IRA based register pressure calculation in RTL hoist optimizations]' - '-fira-loop-pressure[use IRA based register pressure calculation in RTL loop optimizations]' - '-fira-region=-[set regions for IRA]:region:(all mixed one)' - '-fira-region=[set regions for IRA]:region:(one all mixed)' - '-fira-share-save-slots[share slots for saving different hard registers]' - '-fira-share-spill-slots[share stack slots for spilled pseudo-registers]' - '-fira-verbose=-[control IRA'\''s level of diagnostic messages]:verbosity: ' - '-fisolate-erroneous-paths-attribute[detect paths that trigger erroneous or undefined behavior due to a null value being used in a way forbidden by a returns_nonnull or]' - '-fisolate-erroneous-paths-dereference[detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main]' - '-fivopts[optimize induction variables on trees]' - '-fjump-tables[use jump tables for sufficiently large switch statements]' - '-fkeep-inline-functions[generate code for functions even if they are fully inlined]' - '-fkeep-static-consts[emit static const variables even if they are not used]' - '-flax-vector-conversions[allow implicit conversions between vectors with differing numbers of subparts and/or differing element types]' - '-fleading-underscore[give external symbols a leading underscore]' - '-flifetime-dse[tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes]' - '-flive-range-shrinkage[relief of register pressure through live range shrinkage]' - '-floop-nest-optimize[enable the loop nest optimizer]' - '-floop-parallelize-all[mark all loops as parallel]' - '-flra-remat[do CFG-sensitive rematerialization in LRA]' - '-flto-compression-level=-[use specified zlib compression level for IL]:compression level: ' - '-flto-odr-type-merging[merge C++ types using One Definition Rule]' - '-flto-partition=-[partition symbols and vars at linktime based on object files they originate from]:partitioning algorithm:(1to1 balanced max one none)' - '-flto-report[report various link-time optimization statistics]' - '-fmath-errno[set errno after built-in math functions]' - '-fmax-errors=-[maximum number of errors to report]:errors: ' - '-fmem-report[report on permanent memory allocation]' - '-fmem-report-wpa[report on permanent memory allocation in WPA only]' - '-fmerge-all-constants[attempt to merge identical constants and constant variables]' - '-fmerge-constants[attempt to merge identical constants across compilation units]' - '-fmerge-debug-strings[attempt to merge identical debug strings across compilation units]' - '-fmessage-length=-[limit diagnostics to <number> characters per line. 0 suppresses line-wrapping]:length: ' - '-fmodulo-sched-allow-regmoves[perform SMS based modulo scheduling with register moves allowed]' - '-fmodulo-sched[perform SMS based modulo scheduling before the first scheduling pass]' - '-fmove-loop-invariants[move loop invariant computations out of loops]' - "-fms-extensions[don't warn about uses of Microsoft extensions]" - '-fmudflapir[this switch lacks documentation]' - '-fmudflap[this switch lacks documentation]' - '-fmudflapth[this switch lacks documentation]' - '-fnon-call-exceptions[support synchronous non-call exceptions]' - '-fno-stack-limit[do not limit the size of the stack]' - '-fno-threadsafe-statics[do not generate thread-safe code for initializing local statics]' - '-fnothrow-opt[treat a throw() exception specification as noexcept to improve code size]' - '-fomit-frame-pointer[when possible do not generate stack frames]' - '-fopenacc[enable OpenACC]' - '-fopenmp[enable OpenMP (implies -frecursive in Fortran)]' - "-fopenmp-simd[enable OpenMP's SIMD directives]" - '-foptimize-sibling-calls[optimize sibling and tail recursive calls]' - '-foptimize-strlen[enable string length optimizations on trees]' - '-fopt-info[enable all optimization info dumps on stderr]' - '-fopt-info-type=-[dump compiler optimization details]:filename:_files' - '-fpack-struct[pack structure members together without holes]' - '-fpack-struct=[set initial maximum structure member alignment]:alignment (power of 2): ' - '-fpartial-inlining[perform partial inlining]' - '-fpcc-struct-return[return small aggregates in memory, not registers]' - '-fpch-deps[this switch lacks documentation]' - '-fpch-preprocess[look for and use PCH files even when preprocessing]' - '-fpeel-loops[perform loop peeling]' - '-fpeephole2[enable an RTL peephole pass before sched2]' - '-fpeephole[enable machine specific peephole optimizations]' - '-fPIC[generate position-independent code if possible (large mode)]' - '-fpic[generate position-independent code if possible (small mode)]' - '-fPIE[generate position-independent code for executables if possible (large mode)]' - '-fpie[generate position-independent code for executables if possible (small mode)]' - '-fplan9-extensions[enable Plan 9 language extensions]' - '-fplt[use PLT for PIC calls (-fno-plt- load the address from GOT at call site)]' - '-fplugin-arg--[specify argument <key>=<value> for plugin <name>]:-fplugin-arg-name-key=value: ' #TODO - '-fplugin=-[specify a plugin to load]:plugin: ' # TODO: complete plugins? - '-fpost-ipa-mem-report[report on memory allocation before interprocedural optimization]' - '-fpredictive-commoning[run predictive commoning optimization]' - '-fprefetch-loop-arrays[generate prefetch instructions, if available, for arrays in loops]' - '-fpre-ipa-mem-report[report on memory allocation before interprocedural optimization]' - '-fpreprocessed[treat the input file as already preprocessed]' - '-fprintf-return-value[treat known sprintf return values as constants]' - '-fprofile-arcs[insert arc-based program profiling code]' - '-fprofile-correction[enable correction of flow inconsistent profile data input]' - '-fprofile-dir=-[set the top-level directory for storing the profile data]:profile directory:_files -/' - '-fprofile[enable basic program profiling code]' - '-fprofile-generate[enable common options for generating profile info for profile feedback directed optimizations]' - '-fprofile-report[report on consistency of profile]' - '-fprofile-use[enable common options for performing profile feedback directed optimizations]' - '-fprofile-values[insert code to profile values of expressions]' - '-frandom-seed=-[use <string> as random seed]:seed: ' - '-freciprocal-math[same as -fassociative-math for expressions which include division]' - '-frecord-gcc-switches[record gcc command line switches in the object file]' - '-free[turn on Redundant Extensions Elimination pass]' - '-freg-struct-return[return small aggregates in registers]' - '-frename-registers[perform a register renaming optimization pass]' - '-freorder-blocks-algorithm=[set the used basic block reordering algorithm]:algorithm:(simple stc)' - '-freorder-blocks-and-partition[reorder basic blocks and partition into hot and cold sections]' - '-freorder-blocks[reorder basic blocks to improve code placement]' - '-freorder-functions[reorder functions to improve code placement]' - '-frequire-return-statement[functions which return values must end with return statements]' - '-frerun-cse-after-loop[add a common subexpression elimination pass after loop optimizations]' - '-freschedule-modulo-scheduled-loops[enable/disable the traditional scheduling in loops that already passed modulo scheduling]' - '-frounding-math[disable optimizations that assume default FP rounding behavior]' - '-frtti[generate run time type descriptor information]' - "-fsanitize=-[enable AddressSanitizer, a memory error detector]:style:($sanitizers)" - '-fsched2-use-superblocks[if scheduling post reload, do superblock scheduling]' - '-fsched-critical-path-heuristic[enable the critical path heuristic in the scheduler]' - '-fsched-dep-count-heuristic[enable the dependent count heuristic in the scheduler]' - '-fsched-group-heuristic[enable the group heuristic in the scheduler]' - '-fsched-interblock[enable scheduling across basic blocks]' - '-fsched-last-insn-heuristic[enable the last instruction heuristic in the scheduler]' - '-fsched-pressure[enable register pressure sensitive insn scheduling]' - '-fsched-rank-heuristic[enable the rank heuristic in the scheduler]' - '-fsched-spec[allow speculative motion of non-loads]' - '-fsched-spec-insn-heuristic[enable the speculative instruction heuristic in the scheduler]' - '-fsched-spec-load[allow speculative motion of some loads]' - '-fsched-spec-load-dangerous[allow speculative motion of more loads]' - '-fsched-stalled-insns[allow premature scheduling of queued insns]' - '-fsched-stalled-insns-dep[set dependence distance checking in premature scheduling of queued insns]' - '-fsched-stalled-insns-dep=[set dependence distance checking in premature scheduling of queued insns]:insns:' - '-fsched-stalled-insns-dep=-[set dependence distance checking in premature scheduling of queued insns]:instructions: ' - '-fsched-stalled-insns=[set number of queued insns that can be prematurely scheduled]:insns:' - '-fsched-stalled-insns=-[set number of queued insns that can be prematurely scheduled]:instructions: ' - '-fschedule-fusion[perform a target dependent instruction fusion optimization pass]' - '-fschedule-insns2[reschedule instructions after register allocation]' - '-fschedule-insns[reschedule instructions before register allocation]' - '-fsched-verbose=-[set the verbosity level of the scheduler]:verbosity: ' - '-fsection-anchors[access data in the same section from shared anchor points]' - '-fselective-scheduling2[run selective scheduling after reload]' - '-fselective-scheduling[schedule instructions using selective scheduling algorithm]' - '-fsel-sched-pipelining-outer-loops[perform software pipelining of outer loops during selective scheduling]' - '-fsel-sched-pipelining[perform software pipelining of inner loops during selective scheduling]' - '-fsel-sched-reschedule-pipelined[reschedule pipelined regions without pipelining]' - '-fshort-double[use the same size for double as for float]' - '-fshort-enums[use the narrowest integer type possible for enumeration types]' - '-fshort-wchar[force the underlying type for "wchar_t" to be "unsigned short"]' - '-fshow-column[show column numbers in diagnostics, when available]' - '-fshrink-wrap[emit function prologues only before parts of the function that need it, rather than at the top of the function]' - '-fshrink-wrap-separate[shrink-wrap parts of the prologue and epilogue separately]' - '-fsignaling-nans[disable optimizations observable by IEEE signaling NaNs]' - '-fsigned-bitfields[when signed or unsigned is not given make the bitfield signed]' - '-fsigned-char[make char signed by default]' - '-fsigned-zeros[disable floating point optimizations that ignore the IEEE signedness of zero]' - '-fsimd-cost-model=[specifies the vectorization cost model for code marked with a simd directive]:model:(unlimited dynamic cheap)' - '-fsingle-precision-constant[convert floating point constants to single precision constants]' - '-fsplit-ivs-in-unroller[split lifetimes of induction variables when loops are unrolled]' - '-fsplit-loops[perform loop splitting]' - '-fsplit-paths[split paths leading to loop backedges]' - '-fsplit-stack[generate discontiguous stack frames]' - '-fsplit-wide-types[split wide types into independent registers]' - '-fssa-backprop[enable backward propagation of use properties at the SSA level]' - '-fssa-phiopt[optimize conditional patterns using SSA PHI nodes]' - '-fstack-check=-[insert stack checking code into the program. -fstack-check=specific if to argument given]:type:(none generic specific)' - '-fstack-limit-register=-[trap if the stack goes past <register>]:register: ' - '-fstack-limit-symbol=-[trap if the stack goes past symbol <name>]:name: ' - '-fstack-protector-all[use a stack protection method for every function]' - '-fstack-protector-explicit[use stack protection method only for functions with the stack_protect attribute]' - '-fstack-protector-strong[use a smart stack protection method for certain functions]' - '-fstack-protector[use propolice as a stack protection method]' - '-fstack-reuse=[set stack reuse level for local variables]:level:(all named_vars none)' - '-fstack-reuse=-[set stack reuse level for local variables]:reuse-level:(all named_vars none)' - '-fstack-usage[output stack usage information on a per-function basis]' - '-fstdarg-opt[optimize amount of stdarg registers saved to stack at start of function]' - '-fstore-merging[merge adjacent stores]' - '-fstrict-aliasing[assume strict aliasing rules apply]' - '-fstrict-enums[assume that values of enumeration type are always within the minimum range of that type]' - '-fstrict-overflow[treat signed overflow as undefined]' - '-fstrict-volatile-bitfields[force bitfield accesses to match their type width]' - '-fsync-libcalls[implement __atomic operations via libcalls to legacy __sync functions]' - '-fsyntax-only[check for syntax errors, then stop]' - '-ftabstop=[distance between tab stops for column reporting]:number' - '-ftest-coverage[create data files needed by "gcov"]' - '-fthread-jumps[perform jump threading optimizations]' - '-ftime-report[report the time taken by each compiler pass]' - '-ftls-model=-[set the default thread-local storage code generation model]:TLS model:(global-dynamic local-dynamic initial-exec local-exec)' - '-ftracer[perform superblock formation via tail duplication]' - '-ftrack-macro-expansion=[track locations of tokens coming from macro expansion and display them in error messages]::argument' - '-ftrapping-math[assume floating-point operations can trap]' - '-ftrapv[trap for signed overflow in addition, subtraction and multiplication]' - '-ftree-bit-ccp[enable SSA-BIT-CCP optimization on trees]' - '-ftree-builtin-call-dce[enable conditional dead code elimination for builtin calls]' - '-ftree-ccp[enable SSA-CCP optimization on trees]' - '-ftree-ch[enable loop header copying on trees]' - '-ftree-coalesce-vars[enable SSA coalescing of user variables]' - '-ftree-copy-prop[enable copy propagation on trees]' - '-ftree-cselim[transform condition stores into unconditional ones]' - '-ftree-dce[enable SSA dead code elimination optimization on trees]' - '-ftree-dominator-opts[enable dominator optimizations]' - '-ftree-dse[enable dead store elimination]' - '-ftree-forwprop[enable forward propagation on trees]' - '-ftree-fre[enable Full Redundancy Elimination (FRE) on trees]' - '-ftree-loop-distribute-patterns[enable loop distribution for patterns transformed into a library call]' - '-ftree-loop-distribution[enable loop distribution on trees]' - '-ftree-loop-if-convert[convert conditional jumps in innermost loops to branchless equivalents]' - '-ftree-loop-im[enable loop invariant motion on trees]' - '-ftree-loop-ivcanon[create canonical induction variables in loops]' - '-ftree-loop-linear[enable loop interchange transforms. Same as -floop-interchange]' - '-ftree-loop-optimize[enable loop optimizations on tree level]' - '-ftree-loop-vectorize[enable loop vectorization on trees]' - '-ftree-lrs[perform live range splitting during the SSA- >normal pass]' - '-ftree-parallelize-loops=[enable automatic parallelization of loops]' - '-ftree-parallelize-loops=-[enable automatic parallelization of loops]:threads: ' - '-ftree-partial-pre[in SSA-PRE optimization on trees, enable partial- partial redundancy elimination]' - '-ftree-phiprop[enable hoisting loads from conditional pointers]' - '-ftree-pre[enable SSA-PRE optimization on trees]' - '-ftree-pta[perform function-local points-to analysis on trees]' - '-ftree-reassoc[enable reassociation on tree level]' - '-ftree-scev-cprop[enable copy propagation of scalar-evolution information]' - '-ftree-sink[enable SSA code sinking on trees]' - '-ftree-slp-vectorize[enable basic block vectorization (SLP) on trees]' - '-ftree-slsr[perform straight-line strength reduction]' - '-ftree-sra[perform scalar replacement of aggregates]' - '-ftree-switch-conversion[perform conversions of switch initializations]' - '-ftree-tail-merge[enable tail merging on trees]' - '-ftree-ter[replace temporary expressions in the SSA->normal pass]' - '-ftree-vectorize[enable vectorization on trees]' - '-ftree-vrp[perform Value Range Propagation on trees]' - '-funconstrained-commons[assume common declarations may be overridden with ones with a larger trailing array]' - '-funroll-all-loops[perform loop unrolling for all loops]' - '-funroll-loops[perform loop unrolling when iteration count is known]' - '-funsafe-loop-optimizations[allow loop optimizations to assume that the loops behave in normal way]' - '-funsafe-math-optimizations[allow math optimizations that may violate IEEE or ISO standards]' - '-funsigned-bitfields[when signed or unsigned is not given make the bitfield unsigned]' - '-funsigned-char[make char unsigned by default]' - '-funswitch-loops[perform loop unswitching]' - '-funwind-tables[just generate unwind tables for exception handling]' - '-fuse-ld=-[use the specified linker instead of the default linker]:linker:(bfd gold)' - '-fuse-linker-plugin[use linker plugin during link-time optimization]' - '-fvariable-expansion-in-unroller[apply variable expansion when loops are unrolled]' - '-fvar-tracking-assignments[perform variable tracking by annotating assignments]' - '-fvar-tracking-assignments-toggle[toggle -fvar-tracking-assignments]' - '-fvar-tracking[perform variable tracking]' - '-fvar-tracking-uninit[perform variable tracking and also tag variables that are uninitialized]' - '-fvect-cost-model=[specifies the cost model for vectorization]:model:(unlimited dynamic cheap)' - '-fverbose-asm[add extra commentary to assembler output]' - '-fvisibility=-[set the default symbol visibility]:visibility:(default internal hidden protected)' - '-fvpt[use expression value profiles in optimizations]' - '-fweb[construct webs and split unrelated uses of single variable]' - '-fwhole-program[perform whole program optimizations]' - '-fwide-exec-charset=[convert all wide strings and character constants to character set]:character set' - '-fworking-directory[generate a #line directive pointing at the current working directory]' - '-fwrapv[assume signed arithmetic overflow wraps around]' - '-fzero-initialized-in-bss[put zero initialized data in the bss section]' - {-g-,--debug=}'[generate debug information]::debugging information type or level:(0 1 2 3 gdb gdb0 gdb1 gdb2 gdb3 coff stabs stabs+ dwarf dwarf+ dwarf-2 dwarf-3 dwarf-4 dwarf-5 dwarf32 dwarf64 xcoff xcoff+)' - '-gno-pubnames[don'\''t generate DWARF pubnames and pubtypes sections]' - '-gno-record-gcc-switches[don'\''t record gcc command line switches in DWARF DW_AT_producer]' - '-gno-split-dwarf[don'\''t generate debug information in separate .dwo files]' - '-gno-strict-dwarf[emit DWARF additions beyond selected version]' - '-gpubnames[generate DWARF pubnames and pubtypes sections]' - '-grecord-gcc-switches[record gcc command line switches in DWARF DW_AT_producer]' - '-gsplit-dwarf[generate debug information in separate .dwo files]' - '-gstrict-dwarf[don'\''t emit DWARF additions beyond selected version]' - '-gtoggle[toggle debug information generation]' - '-gvms[generate debug information in VMS format]' - '--help[display this information]' - {-H,--trace-includes}'[print name of each header file used]' - {'*-idirafter','*--include-directory-after='}'[add directory after include search path]:second include path directory:_files -/' - {'*-I-','*--include-directory='}'[add directory to include search path]:header file search path:_files -/' - {'*-imacros','*--imacros='}'[include macros from file before parsing]:macro input file:_files -g \*.h\(-.\)' - '-imultiarch[set <dir> to be the multiarch include subdirectory]:directory:_files -/' #XXX not in manpage - '-imultilib=[set dir to be the multilib include subdirectory]:dir:_files -/' - '--include-barrier[restrict all prior -I flags to double-quoted inclusion and remove current directory from include path]' - {'*-include=','*--include='}'[include file before parsing]:include file:_files -g \*.h\(-.\)' - '-iplugindir=-[set <dir> to be the default plugin directory]:directory:_files -/' - {'*-iprefix','*--include-prefix='}'[set the -iwithprefix prefix]:prefix:_files' - '-iquote=[add dir to the end of the quote include path]:dir:_files -/' - '-isysroot=[set dir to be the system root directory]:dir:_files -/' - '*-isystem[add directory to system include search path]:second include path directory (system):_files -/' - {'*-iwithprefixbefore','*--include-with-prefix-before='}'[set directory to include search path with prefix]:main include path directory:_files -/' - {'*-iwithprefix','*--include-with-prefix=','*--include-with-prefix-after='}'[set directory to system include search path with prefix]:second include path directory:_files -/' - '*-L-[add directory to library search path]:library search path:_files -/' - '-lang-asm[set lang asm]' - '*-l+[include library found in search path]:library:->library' - '-MF[write dependency output to the given file]:file:_files' - '-MJ[write a compilation database entry per input]' - '-MQ[add a make-quoted target]:target' - '*-M-[set flags for generating Makefile dependencies]::output dependencies:->dependencies' - '-MT[add an unquoted target]:target' - '-no-canonical-prefixes[do not canonicalize paths when building relative prefixes to other gcc components]' - '-nodefaultlibs[do not use the standard system libraries when linking]' - '-nostartfiles[do not use the standard system startup files when linking]' - {-nostdinc,--no-standard-includes}'[do not search standard system directories or compiler builtin directories for include files]' - '-nostdlib[do not use standard system startup files or libraries when linking]' - {-O-,--optimize=-}'[control the optimization]::optimization level:((0 1 2 3 g\:optimize\ for\ debugging\ experience s\:optimize\ for\ space fast\:optimize\ for\ speed\ disregarding\ exact\ standards\ compliance))' - {-o,--output=}'[write output to file]:output file:_files -g "^*.(c|h|cc|C|cxx|cpp|hpp)(-.)"' - '--output-pch=[output pch]' - '--param[set parameter <param> to value. See manpage for a complete list of parameters]:name=value' - '-pass-exit-codes[exit with highest error code from a phase]' - {-pedantic-errors,--pedantic-errors}'[like -pedantic but issue them as errors]' - {-pedantic,--pedantic}'[issue all mandatory diagnostics in the C standard]' - '(-pg)-p[enable function profiling for prof]' - '-pie[create a position independent executable]' - {-pipe,--pipe}'[use pipes rather than intermediate files]' - {-P,--no-line-commands}'[inhibit generation of linkemakers during preprocess]' - '(-p)-pg[enable function profiling for gprof]' - '-###[print commands to run this compilation]' - '-print-file-name=-[display the full path to library <library>]:library:->library' - '-print-libgcc-file-name[display the name of the compiler'\''s companion library]' - '--print-missing-file-dependencies[print missing file dependencies]' - '-print-multiarch[display the target'\''s normalized GNU triplet, used as a component in the library path]' - '-print-multi-directory[display the root directory for versions of libgcc]' - '-print-multi-lib[display the mapping between command line options and multiple library search directories]' - '-print-multi-os-directory[display the relative path to OS libraries]' - '-print-prog-name=-[display the full path to compiler component <program>]:program:' - '-print-search-dirs[display the directories in the compiler'\''s search path]' - '-print-sysroot[display the target libraries directory]' - '-print-sysroot-headers-suffix[display the sysroot suffix used to find headers]' - {-Qn,-fno-ident}'[do not emit metadata containing compiler name and version]' - '-quiet[do not display functions compiled or elapsed time]' - {-Qy,-fident}'[emit metadata containing compiler name and version]' - '-rdynamic[pass the flag -export-dynamic to the ELF linker, on targets that support it]' - '-remap[remap file names when including files]' - {-S,--assemble}'[compile only; do not assemble or link]' - '-save-stats=-[save code generation statistics]:location:(cwd obj)' - '-save-temps[do not delete intermediate files]' - '-shared[create a shared library]' - '-shared-libgcc[force shared libgcc]' - '*-specs=-[override built-in specs with the contents of <file>]:file:_files' - '-s[remove all symbol table and relocation information from the executable]' - '-static-libgcc[force static libgcc]' - '-static[on systems that support dynamic linking, this prevents linking with the shared libraries]' - {'-std=-','--std='}'[assume that the input sources are for specified standard]:standard:(c90 c89 iso9899\:1990 iso9899\:199409 c99 iso9899\:1999 c11 iso9899\:2011 gnu90 gnu89 gnu99 gnu11 c++98 c++03 gnu++98 gnu++03 c++11 gnu++11 c++1y gnu++1y c++14 gnu++14 c++1z gnu++1z c++17 iso9899\:2017 gnu++17 c++2a gnu++2a)' - '-symbolic[bind references to global symbols when building a shared object]' - '--sysroot=-[use <directory> as the root directory for headers and libraries]:directory:_files -/' - '--target-help[display target specific command line options]' - '-time[time the execution of each subprocess]' - {-traditional-cpp,--traditional-cpp}'[use traditional preprocessor]' - {-trigraphs,--trigraphs}'[process trigraph sequences]' - '-T[specify linker script]:linker script:_files' - '-undef[do not predefine system specific and gcc specific macros]' - '*-u[pretend symbol to be undefined]:symbol:' - '--user-dependencies[print user dependencies]' - {'*-U-','*--undefine-macro='}'[undefine a macro]:undefine macro:' - '-version[display the compiler'\''s version]' - '--version[display version information]' - '-V[specify compiler version]:compiler version:' - {-v,--verbose}'[enable verbose output]' - '*-Wa,-[pass arguments to the assembler]:assembler option:' - '--warn--[enable the specified warning]:warning:->warning' - '*-Werror=-[treat specified warning as error (or all if none specified)]::warning:->warning' - '-Wfatal-errors[exit on the first error occurred]' - '*-Wl,-[pass arguments to the linker]:linker option:' - {-w,--no-warnings}'[suppress warnings]' - '*-Wp,-[pass arguments to the preprocessor]:preprocessor option:' - '--write-dependencies[write a depfile containing user and system dependencies]' - '--write-user-dependencies[write a depfile containing user dependencies]' - '*-Xassembler[pass argument to the assembler]:assembler option:' - '*-Xlinker[pass argument to the linker]:linker option:' - '*-Xpreprocessor[pass argument to the preprocessor]:preprocessor option:' - '-x[specify the language of the following input files]:input file language:('"$languages"')' -) - -# not meant for end users -#'-fdisable--pass=-[disables an optimization pass]:range1+range2: ' -#'-fdisable-[disables an optimization pass]' -#'-fenable--pass=-[enables an optimization pass]:range1+range2: ' -#'-fenable-[enables an optimization pass]' -#'-fdump-<type>[dump various compiler internals to a file]' - -args+=($warnings) - -# How to mostly autogenerate the above stuff: -# joinhelplines() { sed '$!N;s/^\( -.*\)\n \s*\([^-]\)/\1 \2/;P;D' } -# gcc-x86() { gcc --help=target,\^undocumented | joinhelplines | joinhelplines } -# compdef _gnu_generic gcc-x86 -# printf '%s\n' ${(onq-)_args_cache_gcc_x86} - -# TODO: -fno-<TAB> and -mno-<TAB> match lots of non-existent options. -_arguments -C -M 'L:|-{fWm}no-=-{fWm} r:|[_-]=* r:|=*' \ - "$args[@]" \ - "$args2[@]" && ret=0 - -case "$state" in -dump) - local -a dump_values=( - 'A[verbose assembly output]' - 'D[macro definitions and normal output]' - 'I[include directives and normal output]' - 'J[after last jump optimization]' - 'L[after loop optimization]' - 'M[only macro definitions]' - 'N[macro names]' - 'R[after second instruction scheduling pass]' - 'S[after first instruction scheduling pass]' - 'a[all dumps]' - 'c[after instruction combination]' - 'd[after delayed branch scheduling]' - 'f[after flow analysis]' - 'g[after global register allocation]' - 'j[after jump optimization]' - 'k[after conversion from registers to stack]' - 'l[after local register allocation]' - 'm[print memory usage statistics]' - 'p[annotate assembler output]' - 'r[after RTL generation]' - 's[after CSE]' - 't[after second CSE pass]' - 'x[only generate RTL]' - 'y[debugging information during parsing]' - ) - _values -s '' 'dump information' $dump_values && ret=0 - ;; -dependencies) - local -a dependencies=( - 'D:generate make dependencies and compile' - 'G:treat missing header files as generated' - 'M:only user header files' - 'MD:output to file' - 'P:generate phony targets for all headers' - 'V:use NMake/Jom format for the depfile' - ) - _describe dependencies dependencies && ret=0 - ;; -library) - # TODO: improve defaults for library_path (e.g., use output of clang -Wl,-v) - local -a library_path=( /usr/lib /usr/local/lib ) - case $OSTYPE in - (darwin*) - library_path+=( $(xcrun --show-sdk-path)/usr/lib ) - ;; - (linux-gnu) - local tmp - tmp=$(_call_program library-paths $words[1] -print-multiarch) - if [[ $tmp != '' && -d /usr/lib/$tmp ]]; then - library_path+=( /usr/lib/$tmp ) - elif [[ -d /usr/lib64 ]]; then - library_path+=( /usr/lib64 ) - fi - ;; - esac - # Add directories from -L options - for ((i = 2; i < $#words; i++)); do - if [[ "$words[i]" = -L ]]; then - library_path+=("$words[++i]") - elif [[ "$words[i]" = -L* ]]; then - library_path+=("${words[i]##-L}") - fi - done - _wanted libraries expl library \ - compadd - $library_path/lib*.(a|so*|dylib)(:t:fr:s/lib//) && ret=0 - ;; -rundir) - compset -P '*:' - compset -S ':*' - _files -/ -S/ -r '\n\t\- /:' "$@" && ret=0 - ;; -help) - _values -s , 'help' \ - optimizers warnings target params common \ - c c++ objc objc++ lto ada adascil adawhy fortran go java \ - {\^,}undocumented {\^,}joined {\^,}separate \ - && ret=0 - ;; -dirtodir) - compset -P '*=' - _files -/ && ret=0 - ;; -commafiles) - compset -P '*,' - _files && ret=0 - ;; -framework) - local -a framework_path=() - case $OSTYPE in - darwin*) - framework_path=( $(xcrun --show-sdk-path)/System/Library/Frameworks ) ;; - esac - # Add directories from -F options - for ((i = 2; i < $#words; i++)); do - if [[ "$words[i]" = -F ]]; then - framework_path+=("$words[++i]") - elif [[ "$words[i]" = -F* ]]; then - framework_path+=("${words[i]##-F}") - fi - done - _wanted frameworks expl framework \ - compadd -- $framework_path/*.framework(:t:r) && ret=0 - ;; -warning) - local -a warning_names - for warning in $warnings; do - if [[ "$warning" = (#b)-W([^=\[]##)[^\[]#\[(*)\]* ]]; then - warning_names+=("$match[1]:$match[2]") - fi - done - _describe warning warning_names && ret=0 - ;; -arch) - _wanted cputypes expl "CPU type" compadd -a arch && ret=0 - ;; -archgeneric) - arch+=(generic) - _wanted cputypes expl "CPU type" compadd -a arch && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_gcore b/result/sw/share/zsh/5.9/functions/_gcore deleted file mode 100644 index a31a8126..00000000 --- a/result/sw/share/zsh/5.9/functions/_gcore +++ /dev/null @@ -1,68 +0,0 @@ -#compdef gcore - -case $OSTYPE in - solaris*) - local -a content - - content=( - 'anon[anonymous private mappings]' - 'ctf[CTF type information]' - 'data[writable private file mappings]' - 'dism[DISM mappings]' - 'heap[process heap]' - 'ism[ISM mappings]' - 'rodata[read-only private file mappings]' - 'shanon[anonymous shared mappings]' - 'shfile[file-backed shared mappings]' - 'shm[System V shared memory]' - 'stack[process stack]' - 'symtab[symbol table sections for loaded files]' - 'text[readable and executable private file mappings]' - ) - - _arguments -s \ - '(-c -g)-p[use per-process core file repository]' \ - '(-c -p)-g[use global core file repository]' \ - '-F[force grabbing the target process]' \ - '(-p -g)-c[set core file content]: :_values -s + "content" $content' \ - '-o[set core file base name]:file base name:_files' \ - '*:pid:_pids' - ;; - netbsd*) - _arguments \ - '-c+[write core file to specified file]:file:_files' \ - '*:pid:_pids' - ;; - dragonfly*) - _arguments -s \ - '-c+[write core file to specified file]:file:_files' \ - '-l+[skip map segments larger than the specified limit]:limit (bytes)' \ - '-s[stop the process while gathering the core image]' \ - '-v[Verbosely print out the map segments being dumped]' \ - '::executable:' \ - ':pid:_pids' - ;; - freebsd*) - _arguments -s \ - '-c+[write core file to specified file]:file:_files' \ - '-f[dump all available segments]' \ - '::executable:' \ - ':pid:_pids' - ;; - darwin*) - _arguments -s -A '-*' \ - '-s[suspend the process while the core file is captured]' \ - '-v[report progress on the dump as it proceeds]' \ - '-b+[specify maximum size of core file]:size (MiB): ' \ - '(-c)-o+[write core file to specified file]:file:_files' \ - '(-o)-c+[specify format of core file name]:format (%%N\:program name, %%U\:uid, %%P\:pid, %%T\:time stamp)' \ - '1:pid:_pids' - ;; - *) - # GNU GDB gcore - _arguments -s -A '-*' \ - '-a[dump all memory mappings]' \ - '-o+[set core file base name]:file base name:_files' \ - '*:pid:_pids' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_gdb b/result/sw/share/zsh/5.9/functions/_gdb deleted file mode 100644 index 6bdd5594..00000000 --- a/result/sw/share/zsh/5.9/functions/_gdb +++ /dev/null @@ -1,55 +0,0 @@ -#compdef gdb - -local cur="$words[CURRENT]" prev w list ret=1 expl - -[[ "$PREFIX" = --* ]] && - _arguments -- '*=(CORE|SYM)FILE:core file:_files' \ - '*=EXECFILE:executable:_files -g \*\(-\*\)' \ - '*=TTY: :_ttys -o' && return 0 - -if compset -P '-(cd|directory)='; then - _files -/ -elif compset -P '-tty='; then - _ttys -o -elif compset -P '-(exec|se)='; then - _description files expl executable - _files "$expl[@]" -g '*(-*)' -elif compset -P '-(symbols|core|command)='; then - _files -elif compset -P '--pid='; then - _pids -elif [[ "$PREFIX" = -* ]]; then - _tags options - while _tags; do - while _next_label options expl option; do - compadd "$expl[@]" -QS '' - -symbols\= -exec\= -se\= -core\= -command\= \ - -directory\= -cd\= -tty\= && ret=0 - compadd "$expl[@]" - -help -h -s -e -c -x -d -nx -n -quiet -q \ - -batch -fullname -f -b && ret=0 - done - (( ret )) || return 0 - done -else - prev="$words[CURRENT-1]" - - case "$prev" in - (-d) _files -/ && return 0 ;; - (-[csx]) _files && return 0 ;; - (-e) _description files expl executable - _files "$expl[@]" -g '*(-*)' && return 0 ;; - (-b) _baudrates && return 0 ;; - esac - - w=( "${(@)words[2,CURRENT-1]}" ) - while [[ "$w[1]" = -* ]]; do - [[ "$w[1]" = -(cd|se|tty|[decsxb]) ]] && shift 1 w - shift 1 w - done - - if [[ $#w -gt 1 ]]; then - _alternative "files:: _files -g '*core*(-.)'" "processes:: _pids -m ${w[1]:t}" - else - _description files expl executable - _files "$expl[@]" -g '*(-*)' - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_geany b/result/sw/share/zsh/5.9/functions/_geany deleted file mode 100644 index c6a9ae11..00000000 --- a/result/sw/share/zsh/5.9/functions/_geany +++ /dev/null @@ -1,30 +0,0 @@ -#compdef geany - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -s -S \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)--help-all[display all options]" \ - "${ign}(- *)--help-gtk[display GTK+ Options]" \ - '--column=[set initial column number for the first opened file]:column number' \ - '(-c --config)'{-c,--config=}'[use an alternate configuration directory]:configuration directory:_directories' \ - "${ign}(- *)--ft-names[print internal filetype names]" \ - {-g,--generate-tags}'[generate global tags file]:tags file:_files -g "*.tags(-.)":*:source file:_files' \ - '(-P --no-preprocessing)'{-P,--no-preprocessing}"[don't preprocess C/C++ files when generating tags]" \ - '(-i --new-instance --socket-file)'{-i,--new-instance}"[don't open files in a running instance, force opening a new instance]" \ - '(-i --new-instance)--socket-file=[use specified socket file to communicate with a Geany instance]:socket:_files -g "*(-=)"' \ - "${ign}(- *)--list-documents[return a list of open documents in a running Geany instance]" \ - '(-l --line)'{-l,--line=}'[set initial line number for the first opened file]:line number' \ - '(-m --no-msgwin)'{-m,--no-msgwin}"[don't show message window at startup]" \ - '(-n --no-ctags)'{-n,--no-ctags}"[don't load completion and call tip data]" \ - '(-p --no-plugins)'{-p,--no-plugins}"[don't load plugins]" \ - "${ign}(- *)--print-prefix[print Geany's installation prefix]" \ - '(-r --read-only)'{-r,--read-only}'[open all given files in read-only mode]' \ - '(-s --no-session)'{-s,--no-session}"[don't load the previous session's files]" \ - '(-t --no-terminal --vte-lib)'{-t,--no-terminal}"[don't load terminal support]" \ - '(-t --no-terminal)--vte-lib=[specify path and filename of VTE library]:libvte.so filename:_files -g "*.so(-.)"' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - "${ign}(- *)"{-V,--version}'[display version information]' \ - '--display=[specify X display to use]:display:_x_display' \ - '(-g --generate-tags)*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_gem b/result/sw/share/zsh/5.9/functions/_gem deleted file mode 100644 index 7d81619b..00000000 --- a/result/sw/share/zsh/5.9/functions/_gem +++ /dev/null @@ -1,328 +0,0 @@ -#compdef gem -P gem[0-9.]# - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args def -local -a args cmds helptopics proxy lropts filter -local cmd="unknown" - -proxy=( - '(-p --http-proxy)'{-p,--http-proxy=}'[use HTTP proxy for remote operations]:proxy url:_urls' -) -lropts=( $proxy - '${def[local]}(-l --local -r --remote -b --both)'{-l,--local}'[restrict operations to the LOCAL domain]' - '${def[remote]}(-l --local -r --remote -b --both)'{-r,--remote}'[restrict operations to the REMOTE domain]' - '${def[both]}(-l --local -r --remote -b --both)'{-b,--both}'[allow LOCAL and REMOTE operations]' - '(-B --bulk-threshold)'{-B,--bulk-threshold=}'[specify threshold for switching to bulk synchronization]:threshold [1000]' - '--clear-sources[clear the gem sources]' - \*{-s,--source=}'[append specified URL to list of gem sources]:url:_urls' -) - -_arguments -C -s \ - '(* -)'{-h,--help}'[display usage information]' \ - '(* -)'{-v,--version}'[display version information]' \ - '*::command:->command' && ret=0 - -if [[ $state = command ]]; then - if (( CURRENT == 1 )); then - cmd=subcommands - else - cmds=( - build cert check cleanup contents dependency environment fetch - generate_index help install info list lock mirror open outdated owner - pristine push query rdoc search server signin signout sources - specification stale uninstall unpack update which yank - ) - cmds=( ${(M)cmds:#${words[1]}*} ) - if (( ${#cmds} == 1 )) || [[ $cmds[1] = install ]]; then - cmd="$cmds[1]" - curcontext="${curcontext%:*:*}:gem-${cmd}:" - fi - fi - case $cmd in - help) - helptopics=( - 'commands:list all gem commands' - 'examples:show some examples of usage' - 'gem_dependencies:gem dependencies file guide' - 'platforms:show information about platforms' - ) - _describe -t topics 'help topic' helptopics -- && ret=0 - ;& - subcommands) - cmds=( ${${${(M)${(f)"$(_call_program commands gem help commands)"}:# [^ ]*}## #}/ ##/:} ) - _describe -t commands 'gem command' cmds -- && ret=0 - return ret - ;; - check|cleanup|contents|dependency|list|open|pristine|rdoc|uninstall|unpack|update) - args+=( '(--all --skip)*:installed gem:->gems-local' ) - ;| - install) - (( ${(M)#line:#[^-]*} > 1 )) && args+=( - '(*)--[specify build options]:*:build option:_default' - ) - ;| - fetch|install|lock|owner|search|yank) - args+=( '*:gem:->gems-remote' ) - ;| - cleanup|uninstall) - args+=( '(-D --check-development)'{-D,--check-development}'[check development dependencies while uninstalling]' ) - ;| - contents|pristine|rdoc) - args+=( '(*)--all[apply to all installed gems]' ) - ;| - info|list|query) def[local]='!' ;| - search) def[remote]='!' ;| - info|list|query|search) - args+=( ${(e)lropts} - '(-a --all)'{-a,--all}'[display all gem versions]' - '(-e --exact)'{-e,--exact}'[use exact string matching instead of regex]' - '(-I --no-installed -i --installed)'{-i,--installed}'[check if gem is installed]' - '(-I --no-installed -i --installed)'{-I,--no-installed}'[check if gem is not installed]' - '--no-versions[display only gem names]' - ) - ;| - list|query|search) - args+=( - '(-d --details)'{-d,--details}'[display detailed gem information]' - '!(-d --details)--no-details' - ) - ;| - check|contents|dependency|fetch|install|list|open|pristine|query|rdoc|search|specification|uninstall|unpack|yank) - args+=( '(-v --version)'{-v,--version=}'[specify version of gem]:version' ) - ;| - dependency|fetch|install|outdated|specification|uninstall|update|yank) - args+=( '--platform=[specify the platform of gem]:platform' ) - ;| - dependency|fetch|install|list|query|search|specification|update) - args+=( '--prerelease[include prerelease versions of a gem]' '!(--prerelease)--no-prerelease' ) - ;| - install|unpack|update) - args+=( '(-P --trust-policy)'{-P,--trust-policy=}'[specify gem trust policy]:policy' ) - ;| - install|update) - def[both]='!' - args+=( ${(e)lropts} - '(-N --no-document)--document=[generate documentation for installed gems]::documentation type:_sequence compadd - rdoc ri' - '(-N --no-document --document)'{-N,--no-document}'[disable documentation generation]' - '--build-root=[specify temporary installation root]:directory:_directories' - '--vendor[install gem into the vendor directory]' - '(-f --force)'{-f,--force}'[force gem to install, bypassing dependency checks]' - "(-w --wrappers)--no-wrappers[don't install bin wrappers]" - '--format-executable[add matching version suffix on executables to ruby]' - "--user-install[install in user's home directory]" - '--development[install additional development dependencies]' - '--development-all[install development dependencies for all gems]' - "--conservative[don't attempt to upgrade gems already meeting version requirement]" - "--minimal-deps[don't upgrade any dependencies that already meet version requirements]" - '--post-install-message[print post install message]' - '(-g --file)'{-g,--file=}'[read from a gem dependencies API file and install the listed gems]:file:_files' - '--without=[omit the named groups when installing gem dependencies]:group' - "--default[add the gem's full specification to specifications/default and extract only its bin]" - '--explain[rather than install the gems, indicate which would be installed]' - "--no-lock[don't create a lock file]" - '--suggestions[suggest alternates when gems are not found]' - ) - ;| - (un|)install|pristine|update) - args+=( - '(-n --bindir)'{-n,--bindir=}'[specify directory where binary files are located]:directory:_directories' - ) - ;| - (un|)install|update) - args+=( - '--ignore-dependencies[ignore dependency requirements]' - '(-i --install-dir)'{-i,--install-dir=}'[specify gem repository directory to get installed gems]:directory:_directories' - ) - ;| - owner|push) - args+=( $proxy ) - ;| - owner|push|yank) - args+=( '(-k --key)'{-k,--key=}'[use specified API key from ~/.gem/credentials]:key name' ) - ;| - owner|push|signin|yank) - args+=( '--host=[use another gemcutter-compatible host]:host:_urls' ) - ;| - owner|push|signin) - args+=( '--otp=[specify digit code for multifactor authentication]:code' ) - ;| - install|pristine|update) - args+=( '(-E --env-shebang)'{-E,--env-shebang}'[rewrite executables with a shebang of /usr/bin/env]' ) - ;| - build) - args+=( - '(--strict)--force[skip validation of the spec]' - '(--force)--strict[consider warnings as errors when validating the spec]' - '(-o --output)'{-o+,--output=}'[output gem with the given filename]:file:_files' - '-C+[run as if specified directory was the current directory]:directory:_directories' - '1:gemspec file:_files -g "*.gemspec(-.)"' - ) - ;; - cert) - args+=( - '(-a --add)'{-a,--add=}'[add a trusted certificate.]:certificate' \ - '(-l --list)'{-l,--list=}'[list trusted certificates where the subject contains specified filter]:filter' - '(-r --remove)'{-r,--remove=}'[remove trusted certificates where the subject contains specified filter]:filter' - '(-b --build)'{-b,--build=}'[build private key and self-signed certificate for specified email address]:email address:_email_addresses -c' - '(-C --certificate)'{-C,--certificate=}'[specify signing certificate for --sign]:certificate' - '(-K --private-key)'{-K,--private-key=}'[specify key for --sign or --build]:key' - '(-s --sign)'{-s,--sign=}'[sign specified certificate with the key from -K and the certificate from -C]:certificate' - '(-d --days)'{-d,--days=}'[specify days before certificate expires]:days' - '(-R --re-sign)'{-R,--re-sign}'[re-sign the certificate]' - ) - ;; - check) - args+=( - "--no-alien[don't report \"unmanaged\" or rogue files in the gem repository]" - '--doctor[clean up uninstalled gems and broken specifications]' - "--dry-run[don't remove files, only report what would be removed]" - "--no-gems[don't check installed gems for problems]" - ) - ;; - cleanup) - args+=( - '(-n -d --dryrun)'{-n,-d,--dryrun}"[don't uninstall gems]" - "--user-install[cleanup in user's home directory instead of GEM_HOME]" - ) - ;; - contents) - args+=( - '(-s --spec-dir)'{-s,--spec-dir=}'[search for gems in specific paths]:path:_sequence _directories' - '(-l --lib-only)'{-l,--lib-only}"[only return files in the Gem's lib_dirs]" - '--no-prefix[include installed path prefix]' - '--show-install-dir[show only the gem install dir]' - ) - ;; - dependency) - def[local]='!' - args+=( ${(e)lropts} - '(-R --reverse-dependencies)'{-R,--reverse-dependencies}'[include reverse dependencies in the output]' - '--pipe[pipe format]' - ) - ;; - environment) - args+=( '1:information:(gemdir gempath version remotesources platform)' ) - ;; - fetch) - def=( both \! local \! remote \! ) - args+=( ${(e)lropts} ) - ;; - generate_index) - args+=( - '(-d --directory)'{-d,--directory=}'[specify repository base dir containing gems]:directory:_directories' - '--update[update modern indexes with gems added since the last update]' - ) - ;; - lock) - args+=( '(-s --strict)'{-s,--strict}'[fail if unable to satisfy a dependency]' ) - ;; - open) - args+=( '(-e --editor)'{-e,--editor=}'[open gem sources in specified editor]:editor:_command_names -e' ) - ;; - outdated) - args+=( ${(e)lropts} ) - ;; - owner) - args+=( - '(-a --add)'{-a,--add=}'[add an owner]:email:_email_addresses -c' - '(-r --remove)'{-r,--remove=}'[remove an owner]:email:_email_addresses -c' - ) - ;; - pristine) - args+=( - '(*)*--skip=[with --all, skip specified gem]:installed gem:->gems-local' - "--no-extensions[don't restore gems with extensions in addition to regular gems]" - '--only-executables[only restore executables]' - ) - ;; - push) - args+=( '1:gem file:_files -g "*.gem(-.)"' ) - ;; - query) - args+=( - '(-n --name-matches)'{-n,--name-matches=}'[specify regex to match against gem names]:gem name (regex):->gems-local' - ) - ;; - rdoc) - args+=( - '--rdoc[generate RDoc HTML]' - '--no-ri[generate RI data]' - '--overwrite[overwrite installed documents]' - ) - ;; - server) - args+=( - '(-p --port)'{-p,--port=}'[specify port to listen on]:port [8808]:_ports' - '(-d --dir)'{-d,--dir=}'[specify directories from which to serve gems]:directory:_directories' - '--daemon[run as a daemon]' - '(-b --bind)'{-b,--bind=}'[specify addresses to bind]:host:_sequence _hosts' - '(-l --launch)'{-l,--launch=}'[launch a browser window]:command:_command_names -e' - ) - ;; - sources) - args+=( $proxy - '(-a --add)'{-a,--add=}'[add source]:source URI:_urls' - '(-l --list)'{-l,--list}'[list sources]' - '(-r --remove)'{-r,--remove=}'[remove source]:source URI:_urls' - '(-c --clear-all)'{-c,--clear-all}'[remove all sources (clear the cache)]' - '(-u --update)'{-u,--update}'[update source cache]' - ) - ;; - specification) - def[local]='!' - args+=( ${(e)lropts} - '--all[output specifications for all versions of the gem]' - '!(--ruby --marshal)--yaml' '(--ruby --json)--marshal' '(--marshal --json 2)--ruby' - '1:gem:->gems-local' - '2:gemspec field:(name description version platform authors autorequire bindir cert_chain date dependencies email executable executables extensions extra_rdoc_files files homepage licenses metadata post_install_message rdoc_options require_paths required_ruby_version requirements rubyforge_project rubygems_version signing_key specification_version summary test_files)' - ) - ;; - uninstall) - args+=( - '(-a --all)'{-a,--all}'[uninstall all matching versions]' - '(-x --executables)'{-x,--executables}'[uninstall applicable executables without confirmation]' - "--no-user-install[uninstall from user's home directory]" - "--format-executable[assume executable names match Ruby's prefix and suffix]" - '--force[uninstall all versions of the named gems ignoring dependencies]' - '--abort-on-dependent[prevent uninstalling gems that are depended on by other gems]' - '--vendor[uninstall gem from the vendor directory]' - ) - ;; - unpack) - args+=( - '--spec[unpack the gem specification]' - '--target=[specify target directory for unpacking]:directory:_directories' - ) - ;; - update) - args+=( '--system[update the RubyGems system software]::version' ) - ;; - which) - args+=( - '(-a --all)'{-a,--all}'[show all matching files]' - '(-g --gems-first)'{-g,--gems-first}'[search gems before non-gems]' - '*:file:_files' - ) - ;; - yank) - args+=( '--otp=[specify code for multifactor authentication]:code' ) - ;; - esac - _arguments -C ${args:-'*: :_default'} \ - '(-)'{-h,--help}'[display usage information]' \ - '(-V --verbose --no-verbose)'{-V,--verbose,--no-verbose}'[set verbose level of output]' \ - '(-q --quiet -V --verbose --no-verbose)'{-q,--quiet}'[silence commands progress meter]' \ - '--silent[silence rubygems output]' \ - '--config-file=[use specified config file]:file:_files' \ - '--backtrace[show stack backtrace on errors]' \ - '--debug[turn on ruby debugging]' \ - '--norc[avoid loading any .gemrc file]' && ret=0 - - if [[ $state == gems* ]]; then - filter=( ${${opt_args[(I)-([lbr]|-local|-remote|-both)]}:-${${(M)state:#*-*}/gems-/--}} ) - _description gems expl gem - compadd "$expl[@]" ${${(f)"$(_call_program gems gem list $filter -q --no-versions)"}%% *} && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_generic b/result/sw/share/zsh/5.9/functions/_generic deleted file mode 100644 index 0a18b568..00000000 --- a/result/sw/share/zsh/5.9/functions/_generic +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -if [[ -n $ZSH_TRACE_GENERIC_WIDGET ]]; then - local widget=$ZSH_TRACE_GENERIC_WIDGET - unset ZSH_TRACE_GENERIC_WIDGET - $widget _generic - return -fi - -local curcontext="${curcontext:-}" - -if [[ -z "$curcontext" ]]; then - curcontext="${WIDGET}:::" -else - curcontext="${WIDGET}:${curcontext#*:}" -fi - -_main_complete "$@" diff --git a/result/sw/share/zsh/5.9/functions/_genisoimage b/result/sw/share/zsh/5.9/functions/_genisoimage deleted file mode 100644 index e0a5f2ab..00000000 --- a/result/sw/share/zsh/5.9/functions/_genisoimage +++ /dev/null @@ -1,46 +0,0 @@ -#compdef genisoimage - -_arguments \ - '-nobak[do not include backup files]' \ - '-no-bak[do not include backup files]' \ - '-abstract:abstract filename:_files' \ - '(-A -appid)'{-A,-appid}':application ID:' \ - '-biblio:bibliographic filename:_files' \ - '-cache-inodes[cache inodes]' \ - '-no-cache-inodes[do not cache inodes]' \ - '-check-oldnames[check all imported ISO9660 names from old session]' \ - '-check-session[check all ISO9660 names from previous session]:_files' \ - '-copyright:copyright filename:_files' \ - '-debug[set debug flag]' \ - '(-b -eltorito-boot)'{-b,-eltorito-boot}':boot image:_files' \ - '-eltorito-alt-boot[start specifying alternative El Torito boot parameters]' \ - '(-B -sparc-boot)'{-B,-sparc-boot}':boot image:_files' \ - '-sunx86-boot:boot image:_files' \ - '(-G -generic-boot)'{-G,-generic-boot}':boot image:_files' \ - '-sparc-label:label text:' \ - '-sunx86-label:label text:' \ - '(-c -eltorito-catalog)'{-c,-eltorito-catalog}':catalog:_files' \ - '(-C -cdrecord-params)'{-C,-cdrecord-params}':params:' \ - '(-d -omit-period)'{-d,-omit-period}'[omit trailing periods from filenames]' \ - '-dir-mode:mode:' \ - '(-D -disable-deep-relocation)'{-D,-disable-deep-relocation}'[disable deep directory relocation]' \ - '-file-mode:mode:' \ - '(-f -follow-links)'{-f,-follow-links}'[follow symbolic links]' \ - '-gid:gid:' \ - '-graft-points[allow to use graft points for filenames]' \ - '-root:dir:_files -/' \ - '-old-root:dir:_files -/' \ - '-help[print option help]' \ - '-hide:globfile:_files' \ - '-hide-list:file list:_files' \ - '-hidden:globfile:_files' \ - '-hidden-list:file list:_files' \ - '-hide-joliet:globfile:_files' \ - '-hide-joliet-list:file list:_files' \ - '-hide-joliet-trans-tbl[hide TRANS.TBL from Joliet tree]' \ - '-hide-rr-moved[rename RR_MOVED to .rr_moved in Rock Ridge tree]' \ - '-gui[switch behaviour for GUI]' \ - '-input-charset:charset:' \ - '-output-charset:charset:' \ - '-iso-level:conformance level:(1 2 3 4)' \ - '*:pathspec:_files' diff --git a/result/sw/share/zsh/5.9/functions/_getclip b/result/sw/share/zsh/5.9/functions/_getclip deleted file mode 100644 index 4a333f90..00000000 --- a/result/sw/share/zsh/5.9/functions/_getclip +++ /dev/null @@ -1,12 +0,0 @@ -#compdef getclip getclip.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[output text will have DOS line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[output text will have UNIX line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display brief usage message]' \ - '(-)--version[display version information]' \ - '(-)--license[display licensing information]' diff --git a/result/sw/share/zsh/5.9/functions/_getconf b/result/sw/share/zsh/5.9/functions/_getconf deleted file mode 100644 index 36f58226..00000000 --- a/result/sw/share/zsh/5.9/functions/_getconf +++ /dev/null @@ -1,109 +0,0 @@ -#compdef getconf - -local variant list_cmd ret=1 -local -a context expl line state state_descr args -local -A opt_args - -local -a syskeys posixkeys confkeys pathkeys1 pathkeys2 allkeys mykeys restkeys -syskeys=(ARG_MAX BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX - BC_STRING_MAX CHILD_MAX COLL_WEIGHTS_MAX EXPR_NEST_MAX LINE_MAX - NGROUPS_MAX OPEN_MAX RE_DUP_MAX STREAM_MAX TZNAME_MAX) -posixkeys=(_POSIX_CHILD_MAX _POSIX_LINK_MAX - _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_NAME_MAX _POSIX_NGROUPS_MAX - _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX - _POSIX_STREAM_MAX _POSIX_TZNAME_MAX _POSIX_VERSION - POSIX2_BC_BASE_MAX POSIX2_BC_DIM_MAX POSIX2_BC_SCALE_MAX - POSIX2_BC_STRING_MAX POSIX2_COLL_WEIGHTS_MAX POSIX2_EXPR_NEST_MAX - POSIX2_LINE_MAX POSIX2_RE_DUP_MAX POSIX2_VERSION POSIX2_C_BIND - POSIX2_C_DEV POSIX2_FORT_DEV POSIX2_FORT_RUN POSIX2_LOCALEDEF - POSIX2_SW_DEV _XOPEN_VERSION) -confkeys=(PATH GNU_LIBC_VERSION GNU_LIBPTHREAD_VERSION - LFS_CFLAGS LFS_LDFLAGS LFS_LIBS LFS_LINTFLAGS - LFS64_CFLAGS LFS64_LDFLAGS LFS64_LIBS LFS64_LINTFLAGS) -pathkeys1=(PIPE_BUF _POSIX_CHOWN_RESTRICTED - _POSIX_NO_TRUNC _POSIX_VDISABLE) -pathkeys2=(LINK_MAX MAX_CANON MAX_INPUT NAME_MAX PATH_MAX PIPE_BUF) -mykeys=($syskeys $posixkeys $confkeys $pathkeys1 $pathkeys2) - -if _pick_variant -r variant gnu='(Free Soft|GLIBC)' $OSTYPE --version; then - # GNU getconf doesn't use getopt(3), strangely - args+=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(1 -)-a[display all configuration variables and their values]' - '(-)-v[specify programming environment]: :->env' - ) - : ${list_cmd:='$words[1] -a'} - -else - [[ $variant == (netbsd*|solaris*) ]] && { - args+=( '(1 -)-a[display all configuration variables and their values]' ) - : ${list_cmd:='$words[1] -a'} - } - - [[ $variant == openbsd* ]] && { - args+=( - '(: - *)-l[display all system (non-path) configuration variables]' - '(: - *)-L[display all path configuration variables]' - ) - : ${list_cmd:='$words[1] -l; $words[1] -L'} - } - - [[ $variant == netbsd* ]] || - args+=( '(-)-v+[specify programming environment]: :->env' ) - - # This is a bit silly, but actually pretty accurate, where available - : ${list_cmd:=' - command strings -- ${${(Q)words[1]}:c} | - LC_ALL=C GREP_OPTIONS= command grep -xE \ - "_*[A-Z][A-Z0-9_]*_[A-Z0-9_]*|NZERO|PATH|[A-Z]+(BITS|SIZE)" - '} -fi - -_arguments -S -A '-*' : $args '1: :->var' '2: :_files' && ret=0 - -case $state in - env) - _wanted environments expl 'programming environment' compadd - \ - POSIX_V{6,7}_ILP32_OFF32 \ - POSIX_V{6,7}_ILP32_OFFBIG \ - POSIX_V{6,7}_LP64_OFF64 \ - POSIX_V{6,7}_LPBIG_OFFBIG \ - && ret=0 - ;; - var) - _tags syswideconfig pathconfig standardsconfig confstring restconfig - - allkeys=(${${(f)"$( _call_program variables $list_cmd )"}%%[=:[:space:]]*}) - restkeys=(${allkeys:|mykeys}) - - while _tags; do - _requested -V syswideconfig expl 'system-wide configuration variable' \ - compadd -S '' $syskeys && ret=0 - - _requested -V standardsconfig \ - expl 'system-standards configuration variable' \ - compadd -S '' $posixkeys && ret=0 - - _requested -V confstring \ - expl 'configuration-dependent string variable' \ - compadd -S '' $confkeys && ret=0 - - _requested pathconfig && - while _next_label -V pathconfig expl 'system path configuration variable'; do - compadd "$expl[@]" -S '' $pathkeys1 && ret=0 - compadd "$expl[@]" -S ' ' $pathkeys2 && ret=0 - done - - if (( ${#restkeys} )); then - _requested -V restconfig \ - expl 'remaining unclassified configuration variable' \ - compadd -S '' $restkeys && ret=0 - fi - - (( ret )) || break - done - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_getent b/result/sw/share/zsh/5.9/functions/_getent deleted file mode 100644 index b96852db..00000000 --- a/result/sw/share/zsh/5.9/functions/_getent +++ /dev/null @@ -1,65 +0,0 @@ -#compdef getent - -local curcontext="$curcontext" state line expl ret=1 -local services databases keys -local -a args -typeset -A opt_args - -if _pick_variant -r is_gnu gnu='(Free Soft|GNU|GLIBC|Gentoo)' unix --version; then - args+=( - '(- 1 *)'{-\?,--help}'[display help information]' - '(- 1 *)--usage[display a short usage message]' - '(- 1 *)'{-V,--version}'[display version information]' - '*'{-s+,--service=}'[specify service configuration to use]: :->services' - '(-i --no-idn)'{-i,--no-idn}'[disable IDN encoding]' - ) -fi - -_arguments -s -S -C "$args[@]" \ - '1:database:->databases' \ - '*:key:->keys' && ret=0 - -case $state in - services) - # @todo GNU getent supports both `-s svc` and `-s db:svc`; we only complete - # the former here - services=( {,/usr}/lib/{,*-linux-gnu/}libnss_*(N-.:fr:t:s/libnss_//) ) - _wanted services expl 'service or database:service' \ - compadd ${(u)services%-*} \ - && ret=0 - ;; - databases) - if [[ $is_gnu = gnu ]]; then - databases=( "${(@)${(@f)$(_call_program databases $words[1] --help \ - 2>/dev/null)}[(r)Supported*,-1]}" ) - databases=( "${=${(@)databases[2,${(@)databases[(i)]}-1]}}" ) - elif [[ $OSTYPE = freebsd* ]]; then - databases=( ${=${(f)"$(_call_program databases $words[1] 2>&1)"}[-1]} ) - else - databases=( passwd group hosts ipnodes services protocols ethers networks netmasks ) - fi - _wanted databases expl database compadd -a databases && ret=0 - ;; - keys) - keys=( ${(f)"$(_call_program keys $words[1] ${(kv)opt_args[(i)-s|--service]} $line[1] 2>/dev/null)"} ) - case $line[1] in - *hosts) _wanted keys expl key compadd ${=keys#* } && ret=0 ;; - networks|rpc|protocols|services) - _wanted keys expl key compadd ${=keys%% *} && ret=0 - ;; - aliases|passwd|shadow|group) - _wanted keys expl key compadd ${keys%%:*} && ret=0 - ;; - utmpx) - if (( CURRENT > 3 )); then - _files && ret=0 - else - _wanted keys expl key compadd active lastlogin log && ret=0 - fi - ;; - *) _message -e keys key;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_getfacl b/result/sw/share/zsh/5.9/functions/_getfacl deleted file mode 100644 index 27b5ee1c..00000000 --- a/result/sw/share/zsh/5.9/functions/_getfacl +++ /dev/null @@ -1,30 +0,0 @@ -#compdef getfacl getfacl.exe - -if _pick_variant cygwin=cygwin unix --version; then -# cygwin 1.5.25 -_arguments -s -S \ - '(--all -a)'{-a,--all}'[display the filename, owner, group, and ACL of the file]' \ - '(--dir -d)'{-d,--dir}'[display the filename, owner, group, and default ACL of the directory]' \ - '(--noname -n)'{-n,--noname}'[display user and group IDs instead of names]' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '*: :_files' -else -_arguments -s -S \ - '(-a --access)'{-a,--access}'[display the file access control list only]' \ - '(-d --default)'{-d,--default}'[display the default access control list only]' \ - '(-c --omit-header)'{-c,--omit-header}"[don't display the comment header]" \ - '(-e --all-effective)'{-e,--all-effective}'[print all effective rights]' \ - '(-E --no-effective)'{-E,--no-effective}'[print no effective rights]' \ - '(-s --skip-base)'{-s,--skip-base}'[skip files that only have the base entries]' \ - '(-R --recursive)'{-R,--recursive}'[recurse into subdirectories]' \ - '(-L --logical)'{-L,--logical}'[logical walk, follow symbolic links]' \ - '(-P --physical)'{-P,--physical}"[physical walk, don't follow symbolic links]" \ - '(-t --tabular)'{-t,--tabular}'[use tabular output format]' \ - '(-n --numeric)'{-n,--numeric}'[print numeric user/group identifiers]' \ - '--one-file-system[skip files on different filesystems]' \ - '(-p --absolute-names)'{-p,--absolute-names}"[don't strip leading '/' in pathnames]" \ - '(- *)'{-v,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - '*: :_files' -fi diff --git a/result/sw/share/zsh/5.9/functions/_getmail b/result/sw/share/zsh/5.9/functions/_getmail deleted file mode 100644 index 32fc1a99..00000000 --- a/result/sw/share/zsh/5.9/functions/_getmail +++ /dev/null @@ -1,27 +0,0 @@ -#compdef getmail - -_getmail_confiles() { - local -a a f - local expl - f=( ~/.getmail/*~$HOME/.getmail/oldmail*(.)) - a=(${f#~/.getmail/}) - _wanted getmail-conffile expl 'config file' compadd "$@" -a - a -} - -local -a arguments - arguments=( - '--version[show version]' - '(--help -h)'{--help,-h}'[display help]' - '(--getmaildir -g)'{--getmaildir=,-g+}'[specify config/data directory]:config directory:_directories' - \*{--rcfile=,-r+}'[specify configuration file]:config file:_getmail_confiles' - '--dump[dump configuration]' - '--trace[print extended information]' - '*:files:_files' - \*{--verbose,-v}'[verbose mode]' - '(--quiet -q)'{--quiet,-q}'[silent mode]' - '(--delete -d --dont-delete -l)'{--delete,-d}'[delete messages from server]' - '(--delete -d --dont-delete -l)'{--dont-delete,-l}"[don't delete messages from server]" - '(--new -n --all -a)'{--all,-a}'[retrieve all messages]' - '(--new -n --all -a)'{--new,-n}'[retrieve only new messages]' - ) -_arguments -s -S $arguments diff --git a/result/sw/share/zsh/5.9/functions/_getopt b/result/sw/share/zsh/5.9/functions/_getopt deleted file mode 100644 index a8b0f6fc..00000000 --- a/result/sw/share/zsh/5.9/functions/_getopt +++ /dev/null @@ -1,29 +0,0 @@ -#compdef getopt ggetopt - -local -a args aopts - -# @todo BusyBox getopt is borrowed straight from util-linux, so they're nearly -# identical, but not quite: BusyBox doesn't have -h and -V and often doesn't -# support long options. So possibly this could be more accurate -if _pick_variant busybox=BusyBox util-linux='(enhanced|util-linux)' unix --version; then - args=( - '(-a --alternative)'{-a,--alternative}'[allow long options with single -]' - '(: -)'{-h,--help}'[display help information]' - '*'{-l+,--longoptions=}'[specify long options]:long options' - '(-n --name)'{-n+,--name=}'[specify program name]:program name' - '(1 -o --options)'{-o+,--options=}'[specify short options]:short options' - '(-q --quiet)'{-q,--quiet}'[suppress getopt(3) error messages]' - '(-Q --quiet-output)'{-Q,--quiet-output}'[suppress normal output]' - '(-s --shell)'{-s+,--shell=}'[specify shell quoting conventions]:shell:(bash csh tcsh sh)' - '(: -)'{-T,--test}'[test for enhanced getopt]' - '(-u --unquoted)'{-u,--unquoted}'[do not quote output]' - '(: -)'{-V,--version}'[display version information]' - '(-o --options)1: :_guard "^-*" "short options"' - '*:argument' - ) - [[ -n $POSIXLY_CORRECT ]] && aopts+=( -A '-*' ) -else - args=( '1:short options' '*:argument' ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/sw/share/zsh/5.9/functions/_ghostscript b/result/sw/share/zsh/5.9/functions/_ghostscript deleted file mode 100644 index 2c6f40a3..00000000 --- a/result/sw/share/zsh/5.9/functions/_ghostscript +++ /dev/null @@ -1,121 +0,0 @@ -#compdef gs ghostscript - -local -a specs names device - -device=( ${${path[1,CURRENT-1]}[(R)-sDEVICE=*]} ) - -if compset -N '-[-+@]'; then - if [[ CURRENT -eq 1 ]]; then - _pspdf - else - _message -e arguments 'userdict ARGUMENTS' - return 1 - fi -elif compset -P '@'; then - _files -else - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - _x_arguments -C \ - '-q[quiet startup]' \ - '-g-[set device size]:device size (<width>x<height>):' \ - '-r-[set resolution]:resolution (<val> or <x>x<y>):' \ - '-I+[add to library file search path]:directory:_dir_list' \ - \*-{d,D}'-[define name with definition]:def:->dname' \ - \*-{s,S}'-[define name with value]:def:->sname' \ - '-u[undefine name, cancelling -d or -s]:name:->uname' \ - '-P[look first in the current directory for library files]' \ - '-c[specify postscript code]:*[-@]*:postscript (-f to end)' \ - '-o+[specify OutputFile and enable -dPATCH and -dNOPAUSE options]: :->outfile' \ - '(- *)-'{h,\?}'[display useful options and available devices]' \ - '!-f-:PostScript or PDF file:_pspdf' \ - '*:PostScript or PDF file:_pspdf' && ret=0 - - [[ $state = sname ]] && compset -P '(stdout|OutputFile)=' && state=outfile - case "$state" in - dname) - if [[ "$PREFIX" = *\=* ]]; then - _message -e definition-values 'systemdict definition value' - else - names=( ${${(f)"$($words[1] -q -o /dev/null -DNODISPLAY -c 'systemdict { type /booleantype eq { = } if } forall')"}:#*[a-z]*} ) - _wanted boolean-definitions expl 'systemdict boolean definition' compadd -M 'm:{a-z}={A-Z}' -a names && ret=0 - names=( FirstPage LastPage - $($words[1] -q -o /dev/null $device -DNODISPLAY -c 'currentpagedevice { type /integertype eq { = } if } forall') ) - _wanted integer-definitions expl 'currentpagedevice integer definition' compadd -S = -M 'm:{a-z}={A-Z}' -a names && ret=0 - fi - ;; - sname) - if compset -P 1 '*='; then - case "$IPREFIX" in - *DEVICE\=) - _wanted devices expl 'ghostscript device' \ - compadd - ${(0)"$($words[1] -q -o /dev/null -DNODISPLAY -c 'devicenames { dup length string cvs print (\0) print } forall')"} && ret=0 - ;; - *PAPERSIZE=) - names=( $($words[1] -q -o /dev/null -DNODISPLAY -c 'statusdict /.pagetypenames get { = } forall ') ) - _description paper-sizes expl 'paper size' - compadd "$expl[@]" -a names && ret=0 - ;; - *PDFSETTINGS=) - _description settings expl 'configuration' - compadd "$expl[@]" /screen /ebook /printer /prepress /default && ret=0 - ;; - *AutoRotatePages=) - _description settings expl 'orientation selection' - compadd "$expl[@]" /None /All /PageByPage && ret=0 - ;; - *CompatibilityLevel=) - _description pdf-levels expl 'PDF compatibility level' - compadd "$expl[@]" 1.{2,3,4} && ret=0 - ;; - *FONT=) # e.g. SUBSTFONT - _wanted fonts expl 'font' compadd - \ - $($words[1] -q -o /dev/null -DNODISPLAY -c '(*) { = } 256 string /Font resourceforall') && ret=0 - ;; - *) - _message -e values 'systemdict value' - return 1 - ;; - esac - else - _wanted definition-names expl 'systemdict name' compadd -S\= -M 'm:{a-z}={A-Z}' - \ - DEVICE OutputFile PAPERSIZE PDFSETTINGS CompatibilityLevel stdout COLORSCREEN \ - DITHERPPI InterpolateControl TextAlphaBits GraphicsAlphaBits PageList SUBSTFONT \ - && ret=0 - fi - ;; - uname) - _message -e definition-names 'systemdict definition name' - ;; - outfile) - if compset -P "*%"; then - specs=( - {d,i}':signed decimal number or with leading " numeric value of following character' - 'o:unsigned octal number' - 'u:unsigned decimal number' - {x,X}':unsigned hexadecimal number, letters capitalized as x' - '%:a literal percent sign' - '#:alternate form' - '0:zero pad to length' - '-:left adjust result' - '+:always place sign before number' - '.:precision' - ) - if ! compset -P '[0-9#.+-]##'; then - specs+=( - 'stdout:redirect to standard output' - 'stderr:redirect to standard error' - 'pipe%:redirect to a pipe' - ) - fi - _describe -t print-format-specifiers 'print format specifier' specs -S '' && ret=0 - else - _description files expl 'output file' - _files "$expl[@]" && ret=0 - fi - ;; - esac - - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_git b/result/sw/share/zsh/5.9/functions/_git deleted file mode 100644 index cecb80ac..00000000 --- a/result/sw/share/zsh/5.9/functions/_git +++ /dev/null @@ -1,8503 +0,0 @@ -#compdef git git-cvsserver git-receive-pack git-upload-archive git-upload-pack git-shell gitk tig - -# Some parts of this completion's behaviour are configurable: -# -# Say you got your own git sub-commands (git will run a program `git-foo' -# when you run "git foo") and you want "git f<tab>" to complete that sub -# commands name for you. You can make that sub-command known to the completion -# via the user-command style: -# -# % zstyle ':completion:*:*:git:*' user-commands foo:'description for foo' -# -# `user-commands' is a list style, so you can add any number of programs there. -# The :description part is optional, so you could add all git-* programs from -# your $path like this: -# -# % zstyle ':completion:*:*:git:*' user-commands ${${(M)${(k)commands}:#git-*}/git-/} -# -# A better solution is to create a function _git-foo() to handle specific -# completion for that command. This also allows you to add command-specific -# completion as well. Place such a function inside an autoloaded #compdef file -# and you should be all set. You can add a description to such a function by -# adding a line matching -# -# #description DESCRIPTION -# -# as the second line in the file. See -# Completion/Debian/Command/_git-buildpackage in the Zsh sources for an -# example. -# -# When _git does not know a given sub-command (say `bar'), it falls back to -# completing file names for all arguments to that sub command. I.e.: -# -# % git bar <tab> -# -# ...will complete file names. If you do *not* want that fallback to be used, -# use the `use-fallback' style like this: -# -# % zstyle ':completion:*:*:git*:*' use-fallback false - -# TODO: There is still undocumented configurability in here. - -# HIGH-LEVEL COMMANDS (PORCELAIN) - -# Main Porcelain Commands - -(( $+functions[_git-add] )) || -_git-add () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local ignore_missing= - if (( words[(I)-n|--dry-run] )); then - ignore_missing='--ignore-missing[check if files (even missing) are ignored in dry run]' - fi - - _arguments -C -S -s $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually add files; only show which ones would be added]' \ - '(-v --verbose)'{-v,--verbose}'[show files as they are added]' \ - '(-f --force)'{-f,--force}'[allow adding otherwise ignored files]' \ - '(-i --interactive : -)'{-i,--interactive}'[add contents interactively to index]' \ - '(-p --patch)'{-p,--patch}'[like -i but go directly into patch mode for specified files]' \ - '(-e --edit)'{-e,--edit}'[open diff against index in editor]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal --renormalize)'{-A,--all,--no-ignore-removal}'[add, modify, and remove index entries to match the working tree]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal --renormalize)'{--no-all,--ignore-removal}'[like "--all" but ignore removals]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)'{-u,--update}'[update the index just where it already has an entry matching <pathspec>]' \ - '(-A --all --no-ignore-removal -u --update --no-all --ignore-removal)--renormalize[renormalize EOL of tracked files (implies -u)]' \ - '(-N --intent-to-add)'{-N,--intent-to-add}'[record only that path will be added later]' \ - '--refresh[do not add files, but refresh their stat() info in index]' \ - '--ignore-errors[continue adding if an error occurs]' \ - $ignore_missing \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - '--chmod=[override the executable bit of the listed files]:override:(-x +x)' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '*:: :->file' && return - - case $state in - (file) - declare -a ignored_files_alternatives - if [[ -n ${opt_args[(I)-f|--force]} ]]; then - ignored_files_alternatives=( - 'ignored-modified-files:ignored modified file:__git_ignore_line_inside_arguments __git_modified_files --ignored' - 'ignored-other-files:ignored other file:__git_ignore_line_inside_arguments __git_other_files --ignored') - fi - - _alternative \ - 'modified-files::__git_ignore_line_inside_arguments __git_modified_files' \ - 'other-files::__git_ignore_line_inside_arguments __git_other_files' \ - $ignored_files_alternatives && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-am] )) || -_git-am () { - local -a apply_options - __git_setup_apply_options - - # NOTE: --rebasing and --resolvemsg are only for internal use between git - # rebase and git am. - _arguments -s -S $endopt \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by: trailer to the commit message]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-k --keep)'{-k,--keep}'[pass -k to git mailinfo]' \ - '--keep-non-patch[pass -b to git mailinfo]' \ - '(-m --message-id)'{-m,--message-id}'[pass -m flag to git-mailinfo]' \ - '( --no-keep-cr)--keep-cr[pass --keep-cr to git mailsplit]' \ - '(--keep-cr )--no-keep-cr[do not pass --keep-cr to git mailsplit]' \ - '(-c --scissors --no-scissors)'{-c,--scissors}'[strip everything before a scissors line]' \ - '(-c --scissors --no-scissors)--no-scissors[ignore scissors lines]' \ - '--quoted-cr=[specify action when quoted CR is found]:action [warn]:(nowarn warn strip)' \ - '(-q --quiet)'{-q,--quiet}'[only print error messages]' \ - '(-u --utf8 --no-utf8)'{-u,--utf8}'[pass -u to git mailinfo]' \ - '(-u --utf8 --no-utf8)--no-utf8[pass -n to git mailinfo]' \ - '(-3 --3way)'{-3,--3way}'[use 3-way merge if patch does not apply cleanly]' \ - $apply_options \ - '--quit[abort the patching operation but keep HEAD where it is]' \ - '--show-current-patch=-[show the message being applied]::show [raw]:(diff raw)' \ - '(-i --interactive)'{-i,--interactive}'[apply patches interactively]' \ - '--committer-date-is-author-date[use author date as committer date]' \ - '--ignore-date[use committer date as author date]' \ - '--skip[skip the current patch]' \ - '(--continue -r --resolved)'{--continue,-r,--resolved}'[continue after resolving patch failure by hand]' \ - '--abort[restore the original branch and abort the patching operation]' \ - '--patch-format=-[specify format patches are in]:patch format:((mbox\:"mbox format" - stgit-series\:"StGit patch series" - stgit\:"stgit format"))' \ - '*:mbox file:_files' -} - -(( $+functions[_git-archive] )) || -_git-archive () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a backend_args - - if (( words[(b:CURRENT-1:I)--format=*] )); then - case ${words[$words[(I)--format=*]]#--format=} in - (zip) - backend_args=( - '-0[do not deflate files]' - '-1[minimum compression]' - '-2[a little more compression]' - '-3[slightly more compression]' - '-4[a bit more compression]' - '-5[even more compression]' - '-6[slightly even more compression]' - '-7[getting there]' - '-8[close to maximum compression]' - '-9[maximum compression]') - ;; - esac - fi - - _arguments -C -S -s $endopt \ - '--format=-[format of the resulting archive]:archive format:__git_archive_formats' \ - '(- :)'{-l,--list}'[list available archive formats]' \ - '(-v --verbose)'{-v,--verbose}'[report progress to stderr]' \ - '--prefix=-[prepend the given path prefix to each filename]:path prefix:_directories -r ""' \ - '--add-file=[add untracked file to archive]:file:_files' \ - '(-o --output)'{-o+,--output=}'[write archive to specified file]:archive:_files' \ - '--worktree-attributes[look for attributes in .gitattributes in working directory too]' \ - $backend_args \ - '--remote=[archive remote repository]:remote repository:__git_any_repositories' \ - '--exec=[path to git-receive-pack on remote]:remote path:_files' \ - ': :__git_tree_ishs' \ - '*: :->file' && ret=0 - - case $state in - (file) - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-bisect] )) || -_git-bisect () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - local good bad - - if good=$(_call_program commands git bisect terms --term-good); then - bad=$(_call_program commands git bisect terms --term-bad) - else - good=( good old ) bad=( new bad ) - fi - - _arguments -C \ - '--help[display git-bisect manual page]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - help:'display a short usage description' - start:'reset bisection state and start a new bisection' - ${^bad}:'mark current or given revision as bad' - ${^good}:'mark current or given revision as good' - skip:'choose a nearby commit' - next:'find next bisection to test and check it out' - reset:'finish bisection search and return to the given branch (or master)' - visualize:'show the remaining revisions in gitk' - view:'show the remaining revisions in gitk' - replay:'replay a bisection log' - terms:'show currently used good/bad terms' - log:'show log of the current bisection' - run:'run evaluation script') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (start) - _arguments -C \ - --term-{good,old}'=[specify alternate term for good revisions]:term' \ - --term-{bad,new}'=[specify alternate term for bad revisions]:term' \ - '--no-checkout[set BISECT_HEAD reference instead of doing checkout at each iteration]' \ - '--first-parent[follow only the first parent commit upon seeing a merge commit]' \ - ':bad revision:__git_commits' \ - '*: :->revision-or-path' && ret=0 - case $state in - (revision-or-path) - if compset -N '--' || ! __git_is_committish $line[CURRENT-1]; then - __git_cached_files && ret=0 - else - _alternative \ - 'revisions::__git_revisions' \ - 'files::__git_cached_files' && ret=0 - fi - ;; - esac - ;; - (${(~j.|.)bad}|${(~j.|.)good}|skip) - # TODO: skip can take revlists. - _arguments \ - '*: :__git_commits' && ret=0 - ;; - (replay) - _arguments \ - ':log file:_files' && ret=0 - ;; - (reset) - _arguments \ - ': :__git_heads' && ret=0 - ;; - (run) - _arguments \ - '*:: : _normal' && ret=0 - ;; - (terms) - _arguments --term-good --term-bad && ret=0 - ;; - (view|visualize) - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s \ - $log_options \ - $revision_options && ret=0 - (*) - _nothing - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-branch] )) || -_git-branch () { - declare l c m d e - - l='--color --no-color -r --remotes -a -v --verbose --abbrev --no-abbrev -l --list --points-at --sort' - c='--create-reflog -f --force -t --track --no-track -u --set-upstream --set-upstream-to --unset-upstream --contains --no-contains --merged --no-merged' - m='-c --copy -C -m --move -M --edit-description --show-current' - d='-d --delete -D' - - declare -a dependent_creation_args - if (( words[(I)(-r|--remotes)] == 0 )); then - dependent_creation_args=( - "($l $m $d): :__git_branch_names" - "::start-point:__git_revisions") - fi - - declare -a dependent_deletion_args - if (( words[(I)-d] || words[(I)-D] )); then - dependent_creation_args= - dependent_deletion_args=( - '-r[delete only remote-tracking branches]') - if (( words[(I)(-r|--remotes)] )); then - dependent_deletion_args+='*: :__git_ignore_line_inside_arguments __git_remote_branch_names' - else - dependent_deletion_args+='*: :__git_ignore_line_inside_arguments __git_branch_names' - fi - fi - - declare -a dependent_modification_args - if (( words[(I)-m] || words[(I)-M] )); then - dependent_creation_args= - dependent_modification_args=( - ':old or new branch name:__git_branch_names' - '::new branch name:__git_branch_names') - fi - - _arguments -S -s $endopt \ - "($c $m $d --no-color :)--color=-[turn on branch coloring]:: :__git_color_whens" \ - "($c $m $d : --color)--no-color[turn off branch coloring]" \ - "($c $m $d --no-column)--column=-[display tag listing in columns]:: :_git_column_layouts" \ - "($c $m $d --column)--no-column[don't display in columns]" \ - "($c $m $d)*"{-l,--list}'[list only branches matching glob]:pattern' \ - "($c $m -a)"{-r,--remotes}'[list or delete only remote-tracking branches]' \ - "($c $m $d : -r --remotes)-a[list both remote-tracking branches and local branches]" \ - "($c $m $d : -v -vv --verbose)"{-v,-vv,--verbose}'[show SHA1 and commit subject line for each head]' \ - "($c $m $d :)--abbrev=[use specified digits to display object names]:digits" \ - "($c $m $d :)--no-abbrev[don't abbreviate sha1s]" \ - "(- :)--show-current[show current branch name]" \ - "($l $m $d)--create-reflog[create the branch's reflog]" \ - "($l $m $d -f --force)"{-f,--force}'[force the creation of a new branch]' \ - "($l $m $d -t --track)"{-t,--track}'[setup configuration so that pull merges from the start point]' \ - "($l $m $d)--no-track[override the branch.autosetupmerge configuration variable]" \ - "($l $m $d -u --set-upstream --set-upstream-to --unset-upstream)"{-u+,--set-upstream-to=}'[set up configuration so that pull merges]:remote branch:__git_remote_branch_names' \ - "($l $m $d -u --set-upstream --set-upstream-to --unset-upstream)--unset-upstream[remove upstream configuration]" \ - "($l $m $d)*--contains=[only list branches that contain the specified commit]: :__git_committishs" \ - "($l $m $d)*--no-contains=[only list branches that don't contain the specified commit]: :__git_committishs" \ - "($l $m $d)--merged=[only list branches that are fully contained by HEAD]: :__git_committishs" \ - "($l $m $d)--no-merged=[don't list branches that are fully contained by HEAD]: :__git_committishs" \ - "($c $l $m $d)--edit-description[edit branch description]" \ - $dependent_creation_args \ - "($l $c $d $m)"{-m,--move}"[rename a branch and the corresponding reflog]" \ - "($l $c $d $m)-M[rename a branch even if the new branch-name already exists]" \ - "($l $c $d $m)"{-c,--copy}"[copy a branch and the corresponding reflog]" \ - "($l $c $d $m)-C[copy a branch even if the new branch-name already exists]" \ - $dependent_modification_args \ - "($l $c $m $d)"{-d,--delete}"[delete a fully merged branch]" \ - "($l $c $m $d)-D[delete a branch]" \ - {-q,--quiet}"[be more quiet]" \ - '*--sort=[specify field to sort on]: :__git_ref_sort_keys' \ - '--points-at=[only list tags of the given object]: :__git_commits' \ - "($c $m $d -i --ignore-case)"{-i,--ignore-case}'[sorting and filtering are case-insensitive]' \ - $dependent_deletion_args -} - -(( $+functions[_git-bundle] )) || -_git-bundle () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'create:create a bundle' - 'verify:check that a bundle is valid and will apply cleanly' - 'list-heads:list references defined in bundle' - 'unbundle:unbundle a bundle to repository') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (create) - if (( CURRENT == 2 )); then - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't show progress]" \ - '--progress[show progress meter]' \ - '--all-progress[show progress meter during object writing phase]' \ - '--all-progress-implied[similar to --all-progress when progress meter is shown]' \ - '--version=[specify bundle format version]:version:(2 3)' \ - ':bundle:_files' && ret=0 - else - local revision_options - __git_setup_revision_options - - _arguments -S -s \ - $revision_options \ - ': :_files' \ - '*: :__git_commit_ranges2' && ret=0 - fi - ;; - (verify) - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't show bundle details]" \ - ':bundle:_files' && ret=0 - ;; - (list-heads) - _arguments \ - ':bundle:_files' \ - '*: :__git_references' && ret=0 - ;; - (unbundle) - _arguments \ - '--progress[show progress meter]' \ - ':bundle:_files' \ - '*: :__git_references' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-version] )) || -_git-version () { - _arguments -S $endopt \ - '--build-options[also print build options]' -} - -(( $+functions[_git-check-ignore] )) || -_git-check-ignore () { - _arguments -s -S $endopt \ - '(-q --quiet)'{-q,--quiet}'[do not output anything, just set exit status]' \ - '(-v --verbose)'{-v,--verbose}'[output details about the matching pattern (if any) for each pathname]' \ - '--stdin[read file names from stdin instead of from the command-line]' \ - '-z[make output format machine-parseable and treat input-paths as NUL-separated with --stdin]' \ - '(-n --non-matching)'{-n,--non-matching}'[show given paths which do not match any pattern]' \ - '--no-index[do not look in the index when undertaking the checks]' \ - '*:: :_files' -} - -(( $+functions[_git-check-mailmap] )) || -_git-check-mailmap () { - _arguments -S $endopt \ - '--stdin[read contacts from stdin after those given on the command line]' -} - -(( $+functions[_git-checkout] )) || -_git-checkout () { - # TODO: __git_tree_ishs is just stupid. It should be giving us a list of tags - # and perhaps also allow all that just with ^{tree} and so on. Not quite sure - # how to do that, though. - local new_branch_reflog_opt - if (( words[(I)-b|-B|--orphan] )); then - new_branch_reflog_opt="(--patch)-l[create the new branch's reflog]" - fi - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -s \ - '(-q --quiet)'{-q,--quiet}'[suppress progress reporting]' \ - '(-f --force -m --merge --conflict --patch)'{-f,--force}'[force branch switch/ignore unmerged entries]' \ - '(-q --quiet -2 --ours -3 --theirs --patch)'{-2,--ours}'[check out stage #2 for unmerged paths]' \ - '(-q --quiet -2 --ours -3 --theirs --patch)'{-3,--theirs}'[check out stage #3 for unmerged paths]' \ - '( -B --orphan -2 --ours -3 --theirs --conflict --patch -d --detach)-b+[create a new branch based at given commit]: :__git_branch_names' \ - '(-b --orphan -2 --ours -3 --theirs --conflict --patch -d --detach)-B+[create or update branch based at given commit]: :__git_branch_names' \ - '(-t --track --orphan --patch -d --detach)'{-t,--track}'[set up configuration so pull merges from the base commit]' \ - '(--patch)--no-track[override the branch.autosetupmerge configuration variable]' \ - $new_branch_reflog_opt \ - '(-b -B -t --track --patch --orphan -d --detach)'{-d,--detach}'[detach the HEAD at named commit]' \ - '(-b -B -t --track --patch -d --detach)--orphan=[create a new orphan branch based at given commit]: :__git_branch_names' \ - '(-q --quiet -f --force -m --merge --conflict --patch)'{-m,--merge}'[3way merge current branch, working tree and new branch]' \ - '(-q --quiet -f --force -m --merge --patch)--conflict=[same as --merge, using given merge style]:style:(merge diff3)' \ - '(-)'{-p,--patch}'[interactively select hunks in diff between given tree-ish and working tree]' \ - "--ignore-skip-worktree-bits[don't limit pathspecs to sparse entries only]" \ - "--no-guess[don't second guess 'git checkout <no-such-branch>']" '!(--no-guess)--guess' \ - "--ignore-other-worktrees[don't check if another worktree is holding the given ref]" \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '--no-overlay[remove files from index or working tree that are not in the tree-ish]' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '--progress[force progress reporting]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-)--[start file arguments]' \ - '*:: :->branch-or-tree-ish-or-file' && ret=0 - - case $state in - (branch-or-tree-ish-or-file) - # TODO: Something about *:: brings us here when we complete at "-". I - # guess that this makes sense in a way, as we might want to treat it as - # an argument, but I can't find anything in the documentation about this - # behavior. - [[ $line[CURRENT] = -* ]] && return - if (( CURRENT == 1 )) && [[ -z $opt_args[(I)--] ]]; then - # TODO: Allow A...B - local \ - tree_ish_arg='tree-ishs::__git_commits_prefer_recent' \ - file_arg='modified-files::__git_modified_files' - - if [[ -n ${opt_args[(I)-b|-B|--orphan|--detach]} ]]; then - _alternative $tree_ish_arg && ret=0 - elif [[ -n $opt_args[(I)--track] ]]; then - _alternative remote-branches::__git_remote_branch_names && ret=0 - elif [[ -n ${opt_args[(I)--ours|--theirs|-m|--conflict|--patch|--no-guess]} ]]; then - _alternative $tree_ish_arg $file_arg && ret=0 - else - _alternative \ - $file_arg \ - $tree_ish_arg \ - 'remote-branch-names-noprefix::__git_remote_branch_names_noprefix' \ - && ret=0 - fi - - elif [[ -n ${opt_args[(I)-b|-B|-t|--track|--orphan|--detach]} ]]; then - _nothing - elif [[ -n $line[1] ]] && __git_is_treeish ${(Q)line[1]}; then - __git_ignore_line __git_tree_files ${PREFIX:-.} ${(Q)line[1]} && ret=0 - else - __git_ignore_line __git_modified_files && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-cherry-pick] )) || -_git-cherry-pick () { - local -a git_commit_opts - git_commit_opts=(--all --not HEAD --not) - _arguments \ - '(- :)--quit[end revert or cherry-pick sequence]' \ - '(- :)--continue[resume revert or cherry-pick sequence]' \ - '(- :)--skip[skip current commit and continue]' \ - '(- :)--abort[cancel revert or cherry-pick sequence]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '--allow-empty[preserve initially empty commits]' \ - '--allow-empty-message[allow replaying a commit with an empty message]' \ - '--keep-redundant-commits[keep cherry-picked commits that will become empty]' \ - '(-e --edit --ff)'{-e,--edit}'[edit commit before committing the cherry-pick]' \ - '(--ff)-x[append information about what commit was cherry-picked]' \ - '(-m --mainline)'{-m+,--mainline=}'[specify mainline when cherry-picking a merge commit]:parent number' \ - '--rerere-autoupdate[update index with reused conflict resolution if possible]' \ - '(-n --no-commit --ff)'{-n,--no-commit}'[do not make the actual commit]' \ - '(-s --signoff --ff)'{-s,--signoff}'[add Signed-off-by trailer at the end of the commit message]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(-e --edit -x -n --no-commit -s --signoff)--ff[fast forward, if possible]' \ - '*: : __git_commit_ranges -O expl:git_commit_opts' -} - -(( $+functions[_git-citool] )) || -_git-citool () { - _nothing -} - -(( $+functions[_git-clean] )) || -_git-clean () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '-d[also remove untracked directories]' \ - \*{-f,--force}'[required by default; twice, removes untracked nested repositories]' \ - '(-i --interactive)'{-i,--interactive}'[show what would be done and clean files interactively]' \ - '(-n --dry-run)'{-n,--dry-run}'[only show what would and what would not be removed]' \ - '(-q --quiet)'{-q,--quiet}"[don't print names of files removed]" \ - '*'{-e+,--exclude=}'[skip files matching specified pattern]:pattern' \ - '(-X )-x[also remove ignored files]' \ - '( -x)-X[remove only ignored files]' \ - '*: :->file' && ret=0 - - case $state in - (file) - local exclusion ignored_other_files_alt other_files_alt - declare -a exclusions - for spec in $opt_args[-e] $opt_args[--exclude]; do - integer i - for (( i = 1; i <= $#spec; i++ )); do - case $spec[i] in - (\\) - if (( i + 1 <= $#spec )) && [[ $spec[i+1] == : ]]; then - (( i++ )) - exclusion+=: - else - exclusion+=$spec[i] - fi - ;; - (:) - exclusions+=(-x $exclusion) exclusion= - ;; - (*) - exclusion+=$spec[i] - ;; - esac - done - done - [[ -n $exclusion ]] && exclusions+=(-x $exclusion) - if [[ -n ${opt_args[(I)-x|-X]} ]]; then - ignored_other_files_alt="ignored-untracked-files::__git_ignored_other_files $exclusions" - fi - if [[ -z ${opt_args[(I)-X]} ]]; then - other_files_alt="untracked-files::__git_other_files $exclusions" - fi - _alternative \ - $ignored_other_files_alt \ - $other_files_alt && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-clone] )) || -_git-clone () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: Argument to -o should be a remote name. - # TODO: Argument to -b should complete branch names in the repository being - # cloned (see __git_references()) - _arguments -C -S -s $endopt \ - '(-l --local --no-local)'{-l,--local}'[clone locally, hardlink refs and objects if possible]' \ - '(-l --local --no-local)--no-local[override --local, as if file:/// URL was given]' \ - '--no-hardlinks[copy files instead of hardlinking when doing a local clone]' \ - '(-s --shared)'{-s,--shared}'[share the objects with the source repository (warning: see man page)]' \ - '(-j --jobs)'{-j+,--jobs=}'[specify number of submodules cloned in parallel]:jobs' \ - '--reference[reference repository]:repository:_directories' \ - '--reference-if-able[reference repository]:repository:_directories' \ - '--dissociate[make the newly-created repository independent of the --reference repository]' \ - '(-q --quiet)'{-q,--quiet}'[operate quietly]' \ - '(-v --verbose)'{-v,--verbose}'[always display the progressbar]' \ - '--progress[output progress even if stderr is not a terminal]' \ - "--reject-shallow[don't clone shallow repository]" \ - '(-n --no-checkout)'{-n,--no-checkout}'[do not checkout HEAD after clone is complete]' \ - '(-o --origin)--bare[make a bare GIT repository]' \ - '(--bare)--mirror[clone refs into refs/* instead of refs/remotes/origin/*]' \ - '(-o --origin --bare)'{-o+,--origin=}'[use given remote name instead of "origin"]: :__git_guard_branch-name' \ - '(-b --branch)'{-b+,--branch=}'[point HEAD to the given branch]: :__git_guard_branch-name' \ - '(-u --upload-pack)'{-u+,--upload-pack=}'[specify path to git-upload-pack on remote side]:remote path' \ - '--template=[directory to use as a template for the object database]: :_directories' \ - '*'{-c,--config}'[<key>=<value> set a configuration variable in the newly created repository]' \ - '--depth[create a shallow clone, given number of revisions deep]: :__git_guard_number depth' \ - '--shallow-since=[shallow clone since a specific time]:time' \ - '*--shallow-exclude=[shallow clone excluding commits reachable from specified remote revision]:revision' \ - '(--no-single-branch)--single-branch[clone only history leading up to the main branch or the one specified by -b]' \ - '(--single-branch)--no-single-branch[clone history leading up to each branch]' \ - "--no-tags[don't clone any tags and make later fetches not follow them]" \ - '--shallow-submodules[any cloned submodules will be shallow]' \ - '--recursive[initialize all contained submodules]' \ - '(--recursive --recurse-submodules)'{--recursive,--recurse-submodules}'=-[initialize submodules in the clone]::file:__git_files' \ - '--separate-git-dir[place .git dir outside worktree]:path to .git dir:_path_files -/' \ - \*--server-option='[send specified string to the server when using protocol version 2]:option' \ - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' \ - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' \ - '--filter=[object filtering]:filter:_git_rev-list_filters' \ - '--remote-submodules[any cloned submodules will use their remote-tracking branch]' \ - '--sparse[initialize the sparse-checkout file to start with only the top-level files]' \ - ': :->repository' \ - ': :_directories' && ret=0 - - case $state in - (repository) - if [[ -n ${opt_args[(I)-l|--local|--no-hardlinks|-s|--shared|--reference]} ]]; then - __git_local_repositories && ret=0 - else - __git_any_repositories && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-column] )) || -_git-column() { - _arguments -s \ - '--command=[look up layout mode using in config vars using specified command]:command:(branch clean status tag ui)' \ - '--mode=[specify layout mode]: :_git_column_layouts' \ - '--raw-mode=[same as --mode but take mode encoded as a number]:mode' \ - "--width=[specify the terminal width]:width [${COLUMNS:-80}]" \ - '--indent=[specify string to be printed at the beginning of each line]:string' \ - '--nl=[specify string to be printed at the end of each line, including newline character]:string' \ - '--padding=[specify number of spaces between columns]:spaces [1]' -} - -(( $+functions[_git-commit] )) || -_git-commit () { - local amend_opt='--amend[amend the tip of the current branch]' - if __git_is_initial_commit || __git_is_in_middle_of_merge; then - amend_opt= - fi - - local reset_author_opt= - if (( words[(I)-C|--reuse-message(=*|)|-c|--reedit-message(=*|)|--amend] )); then - reset_author_opt='(--author)--reset-author[make committer the author of the commit]' - fi - - # TODO: --interactive isn't explicitly listed in the documentation. - _arguments -S -s $endopt \ - '(-a --all --interactive -o --only -i --include *)'{-a,--all}'[stage all modified and deleted paths]' \ - '--fixup=[construct a commit message for use with rebase --autosquash]:commit to be amended:_git_fixup' \ - '--squash=[construct a commit message for use with rebase --autosquash]:commit to be amended:__git_recent_commits' \ - $reset_author_opt \ - '( --porcelain --dry-run)--short[dry run with short output format]' \ - '--branch[show branch information]' \ - '!(--no-ahead-behind)--ahead-behind' \ - "--no-ahead-behind[don't display detailed ahead/behind counts relative to upstream branch]" \ - '(--short --dry-run)--porcelain[dry run with machine-readable output format]' \ - '(--short --porcelain --dry-run -z --null)'{-z,--null}'[dry run with NULL-separated output format]' \ - {-p,--patch}'[use the interactive patch selection interface to chose which changes to commit]' \ - '(--reset-author)--author[override the author name used in the commit]:author name' \ - '--date=[override the author date used in the commit]:date' \ - '*--trailer=[add custom trailer(s)]:trailer' \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by trailer at the end of the commit message]' \ - '(-n --no-verify)'{-n,--no-verify}'[bypass pre-commit and commit-msg hooks]' \ - '--allow-empty[allow recording an empty commit]' \ - '--allow-empty-message[allow recording a commit with an empty message]' \ - '--cleanup=[specify how the commit message should be cleaned up]:mode:_git_cleanup_modes' \ - '(-e --edit --no-edit)'{-e,--edit}'[edit the commit message before committing]' \ - '(-e --edit --no-edit)--no-edit[do not edit the commit message before committing]' \ - '--no-post-rewrite[bypass the post-rewrite hook]' \ - '(-a --all --interactive -o --only -i --include)'{-i,--include}'[update the given files and commit the whole index]' \ - '(-a --all --interactive -o --only -i --include)'{-o,--only}'[commit only the given files]' \ - '(-u --untracked-files)'{-u-,--untracked-files=-}'[show files in untracked directories]::mode:((no\:"show no untracked files" - normal\:"show untracked files and directories" - all\:"show individual files in untracked directories"))' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[show unified diff of all file changes]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[suppress commit summary message]' \ - '--dry-run[only show list of paths that are to be committed or not, and any untracked]' \ - '( --no-status)--status[include the output of git status in the commit message template]' \ - '(--status )--no-status[do not include the output of git status in the commit message template]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-a --all --interactive -o --only -i --include *)--interactive[interactively update paths in the index file]' \ - $amend_opt \ - '*: :__git_ignore_line_inside_arguments __git_changed_files' \ - - '(message)' \ - {-C+,--reuse-message=}'[use existing commit object with same log message]: :__git_commits' \ - {-c+,--reedit-message=}'[use existing commit object and edit log message]: :__git_commits' \ - {-F+,--file=}'[read commit message from given file]: :_files' \ - \*{-m+,--message=}'[use the given message as the commit message]:message' \ - {-t+,--template=}'[use file as a template commit message]:template:_files' -} - -(( $+functions[_git-describe] )) || -_git-describe () { - _arguments -S -s $endopt \ - '(*)--dirty=-[describe HEAD, adding mark if dirty]::mark' \ - '(*)--broken=-[describe HEAD, adding mark if broken]::mark' \ - '--all[use any ref found in "$GIT_DIR/refs/"]' \ - '--tags[use any ref found in "$GIT_DIR/refs/tags"]' \ - '(--tags)--contains[find the tag after the commit instead of before]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '( --exact-match)--candidates=[consider up to given number of candidates]: :__git_guard_number "number of candidates"' \ - '(--candidates )--exact-match[only output exact matches, same as --candidates=0]' \ - '--debug[display information about the searching strategy]' \ - '--long[always show full format, even for exact matches]' \ - '*--match=[only consider tags matching glob pattern]:pattern' \ - "*--exclude=[don't consider tags matching glob pattern]:pattern" \ - '--always[show uniquely abbreviated commit object as fallback]' \ - '--first-parent[follow only the first parent of merge commits]' \ - '*: :__git_committishs' -} - -(( $+functions[_git-diff] )) || -_git-diff () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a diff_options diff_stage_options - __git_setup_diff_options - __git_setup_diff_stage_options - - _arguments -C -s $endopt \ - $* \ - $diff_options \ - '(--exit-code)--quiet[disable all output]' \ - $diff_stage_options \ - '(--cached --staged)--no-index[show diff between two paths on the filesystem]' \ - '(--cached --staged --no-index)'{--cached,--staged}'[show diff between index and named commit]' \ - '(-)--[start file arguments]' \ - '*:: :->from-to-file' && ret=0 - - case $state in - (from-to-file) - # If "--" is part of $opt_args, this means it was specified before any - # $words arguments. This means that no heads are specified in front, so - # we need to complete *changed* files only. - if [[ -n ${opt_args[(I)--]} ]]; then - if [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - __git_changed-in-index_files && ret=0 - else - __git_changed-in-working-tree_files && ret=0 - fi - return ret - fi - - # If "--no-index" was given, only file paths need to be completed. - if [[ -n ${opt_args[(I)--no-index]} ]]; then - _alternative 'files::_files' && ret=0 - return ret - fi - - # Otherwise, more complex conditions need to be checked. - case $CURRENT in - (1) - local files_alt='files::__git_changed-in-working-tree_files' - if [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - files_alt='files::__git_changed-in-index_files' - fi - - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'blobs-and-trees-in-treeish::__git_blobs_and_trees_in_treeish' \ - $files_alt \ - 'blobs::__git_blobs ' && ret=0 - ;; - (2) - # Check if first argument is something special. In case of committish ranges and committishs offer a full list compatible completions. - if __git_is_committish_range $line[1]; then - # Example: git diff branch1..branch2 <tab> - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1] || __git_is_treeish $line[1]; then - local files_alt='files::__git_tree_files ${PREFIX:-.} HEAD' - [[ $line[1] = (HEAD|@) ]] && - files_alt='files::__git_changed_files' - # Example: git diff branch1 <tab> - _alternative \ - 'commits::__git_commits' \ - 'blobs-and-trees-in-treeish::__git_blobs_and_trees_in_treeish' \ - $files_alt && ret=0 - elif __git_is_blob $line[1]; then - _alternative \ - 'files::__git_cached_files' \ - 'blobs::__git_blobs' && ret=0 - elif [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - # Example: git diff --cached file1 <tab> - __git_changed-in-index_files && ret=0 - else - # Example: git diff file1 <tab> - __git_changed-in-working-tree_files && ret=0 - fi - ;; - (*) - if __git_is_committish_range $line[1]; then - # Example: git diff branch1..branch2 file1 <tab> - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif { __git_is_committish $line[1] && __git_is_committish $line[2] } || - __git_is_treeish $line[2]; then - # Example: git diff branch1 branch2 <tab> - __git_tree_files ${PREFIX:-.} $line[2] && ret=0 - elif [[ $line[1] = (HEAD|@) ]]; then - # Example: git diff @ file1 <tab> - # Example: git diff HEAD -- <tab> - __git_ignore_line __git_changed_files && ret=0 - elif __git_is_committish $line[1] || __git_is_treeish $line[1]; then - # Example: git diff branch file1 <tab> - # Example: git diff branch -- f<tab> - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - elif __git_is_blob $line[1] && __git_is_blob $line[2]; then - _nothing - elif [[ -n ${opt_args[(I)--cached|--staged]} ]]; then - # Example: git diff --cached file1 file2 <tab> - __git_changed-in-index_files && ret=0 - else - # Example: git diff file1 file2 <tab> - __git_changed-in-working-tree_files && ret=0 - fi - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-fetch] )) || -_git-fetch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a fetch_options - __git_setup_fetch_options - - _arguments -C -S -s $endopt \ - $fetch_options \ - '--atomic[use atomic transaction to update references]' \ - '(--all -m --multiple)'{-m,--multiple}'[fetch from multiple remotes]' \ - '(-n --no-tags -t --tags)'{-n,--no-tags}'[disable automatic tag following]' \ - '--prefetch[modify the refspec to place all refs within refs/prefetch/]' \ - '(-P --prune-tags)'{-P,--prune-tags}'[prune local tags no longer on remote and clobber changed tags]' \ - '--write-fetch-head[write fetched references to the FETCH_HEAD file]' \ - "--negotiate-only[don't fetch a packfile; instead, print ancestors of negotiation tips]" \ - '--filter=[object filtering]:filter:_git_rev-list_filters' \ - '(--auto-maintenance --auto-gc)'--auto-{maintenance,gc}"[run 'maintenance --auto' after fetching]" \ - '--write-commit-graph[write the commit-graph after fetching]' \ - '--stdin[accept refspecs from stdin]' \ - '*:: :->repository-or-group-or-refspec' && ret=0 - - case $state in - (repository-or-group-or-refspec) - if (( CURRENT > 1 )) && [[ -z ${opt_args[(I)--multiple]} ]]; then - __git_ref_specs_fetchy && ret=0 - else - _alternative \ - 'remotes::__git_remotes' \ - 'remotes-groups::__git_remotes_groups' \ - 'local-repositories::__git_local_repositories' \ - 'remote-repositories::__git_remote_repositories' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-format-patch] )) || -_git-format-patch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a diff_options - __git_setup_diff_options - - # TODO: -- is wrong. - # TODO: Should filter out --name-only, --name-status, and --check from - # $diff_options. - _arguments -C -S -s $endopt \ - $diff_options \ - '--[limit the number of patches to prepare]: :__git_guard_number "number of patches to prepare"' \ - '(-o --output-directory --stdout)'{-o+,--output-directory=}'[store resulting files in given directory]: :_directories' \ - '(-n --numbered -N --no-numbered -k --keep-subject)'{-n,--numbered}'[name output in \[PATCH n/m\] format]' \ - '(-n --numbered -N --no-numbered -k --keep-subject)'{-N,--no-numbered}'[name output in \[PATCH\] format]' \ - '--start-number=[start numbering patches at given number]: :__git_guard_number "patch number"' \ - '--numbered-files[use only number for file name]' \ - '(-n --numbered -N --no-numbered -k --keep-subject --rfc --subject-prefix)'{-k,--keep-subject}"[don't strip/add \[PATCH\] from the first line of the commit message]" \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by: trailer to the commit message]' \ - '(-o --output-directory)--stdout[output the generated mbox on standard output (implies --mbox)]' \ - '( --no-attach --inline)--attach=-[create attachments instead of inlining patches]::boundary' \ - '(--attach --inline)--no-attach[disable creation of attachments]' \ - '(--attach --no-attach )--inline=-[inline patches]::boundary' \ - '( --no-thread)--thread=-[make the second and subsequent mails refer to the first]::style:((shallow\:"all refer to the first" - deep\:"each refers to the previous"))' \ - '(--thread )--no-thread[do not thread messages]' \ - '--in-reply-to=[make the first mail a reply to the given message]:message id' \ - '--ignore-if-in-upstream[do not include a patch that matches a commit in the given range]' \ - '(-v --reroll-count)'{-v+,--reroll-count=}'[mark the series as the <n>-th iteration of the topic]: :__git_guard_number iteration' \ - '--filename-max-length=[specify max length of output filename]:length' \ - '(-k --keep-subject --subject-prefix)--rfc[use \[RFC PATCH\] instead of \[PATCH\]]' \ - "--cover-from-description=[generate parts of a cover letter based on a branch's description]:mode:(message default subject auto none)" \ - '(-k --keep-subject --rfc)--subject-prefix=[use the given prefix instead of \[PATCH\]]:prefix' \ - '*--to=[add To: header to email headers]: :_email_addresses' \ - '*--cc=[add Cc: header to email headers]: :_email_addresses' \ - '--from=[add From: header to email headers]: :_email_addresses' \ - '*--add-header=[add an arbitrary header to email headers]:header' \ - '--cover-letter[generate a cover letter template]' \ - '--notes=[append notes for the commit after the three-dash line]:: :__git_notes_refs' \ - '( --no-signature --signature-file)--signature=[add a signature]:signature' \ - '(--signature --signature-file)--no-signature[do not add a signature]' \ - '(--signature --no-signature )--signature-file=[use contents of file as signature]' \ - '--suffix=[use the given suffix for filenames]:filename suffix' \ - '(-q --quiet)'{-q,--quiet}'[suppress the output of the names of generated files]' \ - '--no-binary[do not output contents of changes in binary files, only note that they differ]' \ - '--root[treat the revision argument as a range]' \ - '--zero-commit[output all-zero hash in From header]' \ - '--progress[show progress while generating patches]' \ - '--interdiff=[insert interdiff against previous patch series in cover letter or single patch]:reference to tip of previous series:__git_revisions' \ - '--range-diff=[insert range-diff against previous patch series in cover letter or single patch]:reference to tip ot previous series:__git_revisions' \ - '--creation-factor=[for range-diff, specify weighting for creation]:weighting (percent)' \ - ': :->commit-or-commit-range' && ret=0 - - case $state in - (commit-or-commit-range) - if [[ -n ${opt_args[(I)--root]} ]]; then - __git_commits && ret=0 - else - __git_commit_ranges && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-gc] )) || -_git-gc () { - _arguments -S -s $endopt \ - '--aggressive[more aggressively optimize]' \ - '--auto[check whether housekeeping is required]' \ - '( --no-prune)--prune=-[prune loose objects older than given date]::date [2 weeks ago]:__git_datetimes' \ - '(--prune )--no-prune[do not prune any loose objects]' \ - '(-q --quiet)'{-q,--quiet}'[suppress progress reporting]' \ - '--keep-largest-pack[repack all other packs except the largest pack]' \ -} - -(( $+functions[_git-grep] )) || -_git-grep () { - local -a pattern_operators - - # TODO: Need to deal with grouping with ( and ) - if (( words[(I)-e] == CURRENT - 2 )); then - pattern_operators=( - '--and[both patterns must match]' - '--or[either pattern must match]' - '--not[the following pattern must not match]') - fi - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: Need to implement -<num> as a shorthand for -C<num> - _arguments -C -A '-*' $endopt \ - '(-O --open-files-in-pager --no-index)--cached[search blobs registered in index file instead of working tree]' \ - '(--cached)--no-index[search files in current directory, not just tracked files]' \ - '(--exclude-standard)--no-exclude-standard[search also in ignored files]' \ - '(--no-exclude-standard)--exclude-standard[exclude files standard ignore mechanisms]' \ - '--recurse-submodules[recursively search in each submodule]' \ - "--parent-basename=[prepend parent project's basename to output]:basename" \ - '--untracked[search also in untracked files]' \ - '(-a --text)'{-a,--text}'[process binary files as if they were text]' \ - '(--textconv --no-textconv)--textconv[honor textconv filter settings]' \ - "(--textconv --no-textconv)--no-textconv[don't honor textconv filter settings]" \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case when matching]' \ - "-I[don't match pattern in binary files]" \ - '!-r' '!--recursive' \ - '--max-depth=[descend at most given levels of directories]: :__git_guard_number depth' \ - '(-w --word-regexp)'{-w,--word-regexp}'[match only whole words]' \ - '(-v --invert-match)'{-v,--invert-match}'[select non-matching lines]' \ - '(-H)-h[suppress output of filenames]' \ - '(-h -c --count)-H[show filenames]' \ - '--full-name[output paths relative to the project top directory]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-E,--extended-regexp}'[use extended regular expressions]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-G,--basic-regexp}'[use basic regular expressions]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-P,--perl-regexp}'[use perl-compatible regexes]' \ - '(-E --extended-regexp -G --basic-regexp -P --perl-regexp -F --fixed-strings)'{-F,--fixed-strings}'[use literal strings]' \ - '(-n --line-number)'{-n,--line-number}'[prefix the line number to matching lines]' \ - '(-c --count)--column[show column number of first match]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{-l,--files-with-matches,--name-only}'[show only names of matching files]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{-L,--files-without-match}'[show only names of non-matching files]' \ - '(-c --count -o --only-matching -n --line-number --color --no-color --cached --heading -O --open-files-in-pager)'{-O,--open-files-in-pager=}'-[open matching files in pager]::pager:_cmdstring' \ - '(-z --null)'{-z,--null}'[output \0 after filenames]' \ - '(-c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching)'{--only-matching,-o}'[show only matching part of line]' \ - '(-h -c --count -l --files-with-matches --name-only -L --files-without-match -o --only-matching --color --break --heading -p --show-function -W --function-context)'{-c,--count}'[show number of matching lines in files]' \ - '(--no-color -O --open-files-in-pager)--color=-[color matches]:: :__git_color_whens' \ - "(--color -O --open-files-in-pager)--no-color[don't color matches]" \ - '(-c --count -O --open-files-in-pager)--break[print an empty line between matches from different files]' \ - '(-c --count -O --open-files-in-pager)--heading[show the filename above the matches]' \ - '(-A --after-context)'{-A+,--after-context=}'[specify lines of trailing context]: :__git_guard_number lines' \ - '(-B --before-context)'{-B+,--before-context=}'[specify lines of leading context]: :__git_guard_number lines' \ - '(-A --after-context -B --before-context -C --context)'{-C+,--context=}'[specify lines of context]: :__git_guard_number lines' \ - '--threads=[use specified number of threads]:number of threads' \ - '(-c --count -p --show-function)'{-p,--show-function}'[show preceding line containing function name of match]' \ - '(-c --count -W --function-context)'{-W,--function-context}'[show whole function where a match was found]' \ - '(1)*-f+[read patterns from given file]:pattern file:_files' \ - '(1)*-e+[use the given pattern for matching]:pattern' \ - $pattern_operators \ - '--all-match[all patterns must match]' \ - ': :_guard "^-*" pattern' \ - '*:: :->tree-or-file' && ret=0 - - # TODO: If --cached, --no-index, -O, or --open-files-in-pager was given, - # don't complete treeishs. - case $state in - (tree-or-file) - integer first_tree last_tree start end i - - (( start = words[(I)(-f|-e)] > 0 ? 1 : 2 )) - (( end = $#line - 1 )) - - for (( i = start; i <= end; i++ )); do - [[ line[i] == '--' ]] && break - __git_is_treeish $line[i] || break - if (( first_tree == 0 )); then - (( first_tree = last_tree = i )) - else - (( last_tree = i )) - fi - done - - # TODO: Need to respect --cached and --no-index here. - if (( last_tree == 0 || last_tree == end )); then - if (( first_tree == 0 )); then - _alternative \ - 'treeishs::__git_tree_ishs' \ - 'files::__git_cached_files' && ret=0 - else - _alternative \ - 'treeishs::__git_trees' \ - "files::__git_tree_files ${PREFIX:-.} $line[first_tree,last_tree]" && ret=0 - fi - else - if (( first_tree == 0 )); then - __git_cached_files && ret=0 - else - __git_tree_files ${PREFIX:-.} $line[first_tree,last_tree] && ret=0 - fi - fi - ;; - esac - - return ret -} - -(( $+functions[_git-gui] )) || -_git-gui () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '--version[display version information]' \ - ': :->command' \ - '*:: :->arg' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - blame:'start a blame viewer' - browser:'start a tree browser' - citool:'arrange to make one commit' - version:'display version information') - - _describe -t commands command commands && ret=0 - ;; - (arg) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (blame) - _git-blame && ret=0 - ;; - (browser) - _arguments -C \ - ':: :__git_revisions' \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_is_treeish $line[1] && __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - ;; - (citool) - _git-citool && ret=0 - ;; - (version) - _nothing - ;; - (*) - _nothing - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-init] )) || -_git-init () { - _arguments -S -s $endopt \ - '(-q --quiet)'{-q,--quiet}'[do not print any results to stdout]' \ - '--bare[create a bare repository]' \ - '--template=[directory to use as a template for the object database]: :_directories' \ - '--shared=[share repository amongst several users]:: :__git_repository_permissions' \ - '--separate-git-dir=[create git dir elsewhere and link it using the gitdir mechanism]:: :_directories' \ - '(-b --initial-branch)'{-b+,--initial-branch=}'[override the name of the initial branch]:branch name' \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' \ - ':: :_directories' -} - -(( $+functions[_git-interpret-trailers] )) || -_git-interpret-trailers() { - _arguments -S $endopt \ - '--in-place[edit files in place]' \ - '--trim-empty[trim empty trailers]' \ - '--where[specify where to place the new trailer]' \ - '--if-exists[specify action if trailer already exists]' \ - '--if-missing[specify action if trailer is missing]' \ - '--only-trailers[output only the trailers]' \ - "--only-input[don't apply config rules]" \ - '--unfold[join whitespace-continued values]' \ - '--parse[set parsing options]' \ - "--no-divider[don't treat --- as the end of the commit message]" \ - '--trailer[specify trailer(s) to add]' \ - '*:file:_files' -} - -(( $+functions[_git-log] )) || -_git-log () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a log_options revision_options diff_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s $endopt \ - $log_options \ - $revision_options \ - '(-)--[start file arguments]' \ - '1: :->first-commit-ranges-or-files' \ - '*: :->commit-ranges-or-files' && ret=0 - - case $state in - (first-commit-ranges-or-files) - if [[ -n ${opt_args[(I)--]} ]]; then - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_tree_files ${PREFIX:-.} HEAD' && ret=0 - fi - ;; - (commit-ranges-or-files) - # Multiple revspecs are permitted. - if [[ -z ${opt_args[(I)--]} ]]; then - __git_commit_ranges "$@" && ret=0 - fi - - # TODO: Write a wrapper function that checks whether we have a - # committish range or committish and calls __git_tree_files - # appropriately. - if __git_is_committish_range $line[1]; then - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1]; then - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - else - __git_tree_files ${PREFIX:-.} HEAD && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-maintenance] )) || -_git-maintenance() { - local curcontext="$curcontext" state state_descr line ret=1 - local -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - register:'initialize config values to run maintenance on this repository' - run:'run one or more maintenance tasks' - start:'start running maintenance on the current repository' - stop:'halt the background maintenance schedule' - unregister:'remove the current repository from background maintenance' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (run) - _arguments -S $endopt \ - '--auto[run tasks based on the state of the repository]' \ - '--schedule=[run tasks based on frequency]:frequency (seconds)' \ - "--quiet[don't report progress or other information to stderr]" \ - '*--task=[run a specific task]:task:(gc commit-graph prefetch loose-objects incremental-repack pack-refs)' && ret=0 - ;; - (start) - _arguments \ - '--scheduler=:scheduler:(auto crontab systemd-timer launchctl schtasks)' - esac - ;; - esac - - return ret -} - -(( $+functions[_git-merge] )) || -_git-merge () { - local -a merge_options - __git_setup_merge_options - local -a git_commit_opts=(--all --not HEAD --not) - - _arguments -S -s $endopt \ - $merge_options \ - \*{-m+,--message=}'[set the commit message to be used for the merge commit]:merge message' \ - \*{-F+,--file=}'[read commit message from a file]:file' \ - '(--edit --no-edit)-e[open an editor to change the commit message]' \ - '( --no-rerere-autoupdate)--rerere-autoupdate[allow the rerere mechanism to update the index]' \ - '(--rerere-autoupdate )--no-rerere-autoupdate[do not allow the rerere mechanism to update the index]' \ - '(--quit --continue)--abort[restore the original branch and abort the merge operation]' \ - '(--abort --continue)--quit[--abort but leave index and working tree alone]' \ - '(--abort --quit)--continue[continue the current in-progress merge]' \ - '--progress[force progress reporting]' \ - '--no-verify[verify commit-msg hook]' \ - '*: : __git_commits -O expl:git_commit_opts' -} - -(( $+functions[_git-mv] )) || -_git-mv () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '(-f --force)'{-f,--force}'[rename/move even if targets exist]' \ - '-k[skip rename/move that would lead to errors]' \ - '(-n --dry-run)'{-n,--dry-run}'[only show what would happen]' \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - ':source:__git_cached_files' \ - '*:: :->source-or-destination' && ret=0 - - case $state in - (source-or-destination) - _alternative \ - 'cached-files:source:__git_cached_files' \ - 'directories:destination directory:_directories' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-notes] )) || -_git-notes () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C $endopt \ - '--ref=[manipulate the notes tree in given ref]: :__git_notes_refs' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - list:'list notes object for given object' - add:'add notes for a given object' - copy:'copy notes from one object to another' - append:'append notes to a given object' - edit:'edit notes for a given object' - merge:'merge the given notes ref into the current ref' - show:'show notes for a given object' - remove:'remove notes for a given object' - prune:'remove all notes for non-existing/unreachable objects' - get-ref:'print the current notes ref' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (list|show) - _arguments -S $endopt \ - ': :__git_commits' && ret=0 - ;; - (add) - # TODO: Only complete commits that don't have notes already, unless - # -f or --force has been given. - _arguments -S -s $endopt \ - '*'{-m+,--message=}'[use given note message]:message' \ - '*'{-F+,--file=}'[take note message from given file]:note message file:_files' \ - '(-C --reuse-message)'{-C+,--reuse-message=}'[take note message from given blob object]: :__git_blobs' \ - '(-c --reedit-message)'{-c+,--reedit-message=}'[take note message from given blob object and edit it]: :__git_blobs' \ - '(-f --force)'{-f,--force}'[overwrite existing note]' \ - ': :__git_commits' && ret=0 - ;; - (copy) - _arguments -S -s $endopt \ - '(-f --force)'{-f,--force}'[replace existing note]' \ - '(:)--stdin[read objects from stdin]' \ - '(:--stdin)--for-rewrite=[load rewriting config for given command]:command:(amend rebase)' \ - ': :__git_commits' \ - ': :__git_commits' && ret=0 - ;; - (edit) - _arguments -S $endopt --allow-empty ':object:__git_commits' && ret=0 - ;; - (merge) - _arguments -S -s $endopt \ - '(-s --strategy)--abort[abort an in-progress notes merge]' \ - '(-s --strategy)--commit[finalize an in-progress notes merge]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(--abort --commit)'{-s,--strategy=}'[resolve conflicts using the given strategy]' \ - ': :__git_notes_refs' && ret=0 - ;; - (prune) - _arguments -s -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '(-n --dry-run)'{-n,--dry-run}"[don't remove anything, just report what would be deleted]" && ret=0 - ;; - (remove) - _arguments -S $endopt --ignore-missing --stdin ':object:__git_commits' && ret=0 - ;; - (append) - _arguments -S -s $endopt \ - '*'{-m+,--message=}'[use given note message]:message' \ - '*'{-F+,--file=}'[take note message from given file]:note message file:_files' \ - '(-C --reuse-message)'{-C+,--reuse-message=}'[take note message from given blob object]: :__git_blobs' \ - '(-c --reedit-message)'{-c+,--reedit-message=}'[take note message from given blob object and edit it]: :__git_blobs' \ - ': :__git_commits' && ret=0 - ;; - (get-ref) - _nothing - ;; - (*) - _default && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-pull] )) || -_git-pull () { - local -a merge_options fetch_options - __git_setup_merge_options - __git_setup_fetch_options - - _arguments -S -s $endopt \ - $merge_options \ - '(-r --rebase --no-rebase)'{-r=-,--rebase=-}'[perform a rebase after fetching]::rebase after fetching:(( - true\:"rebase after fetching" - false\:"merge after fetching" - merges\:"try to rebase merges instead of skipping them" - preserve\:"rebase and preserve merges" - interactive\:"allow list of commits to be edited" - ))' \ - '(-r --rebase )--no-rebase[do not perform a rebase after fetching]' \ - $fetch_options \ - '(--no-tags -t --tags)--no-tags[disable automatic tag following]' \ - ': :__git_any_repositories' \ - '*: :__git_ref_specs_fetchy' -} - -(( $+functions[_git-push] )) || -_git-push () { - local ret=1 - local -a sign - sign=( - {yes,true}'\:always,\ and\ fail\ if\ unsupported\ by\ server' - {no,false}'\:never' - if-asked'\:iff\ supported\ by\ server' - ) - # NOTE: For --receive-pack we use _files to complete, even though this will - # only complete files on the local end, not the remote end. Still, it may be - # helpful to get some sort of completion going, perhaps modifying the path - # later on to match the remote end. - _arguments -S -s $endopt \ - '--all[push all refs under refs/heads/]' \ - '--prune[remove remote branches that do not have a local counterpart]' \ - '--mirror[push all refs under refs/heads/ and refs/tags/ and delete non-existing refs]' \ - '(-n --dry-run)'{-n,--dry-run}'[do everything except actually send the updates]' \ - '--porcelain[produce machine-readable output]' \ - '(-d --delete)'{-d,--delete}'[delete all listed refs from the remote repository]' \ - '--tags[all tags under refs/tags are pushed]' \ - '--follow-tags[also push missing annotated tags reachable from the pushed refs]' \ - '(--receive-pack --exec)'{--receive-pack=-,--exec=-}'[path to git-receive-pack on remote]:remote git-receive-pack:_files' \ - '(--force-with-lease --no-force-with-lease)*--force-with-lease=-[allow refs that are not ancestors to be updated if current ref matches expected value]::ref and expectation:->lease' \ - '(--force-with-lease --no-force-with-lease)--no-force-with-lease[cancel all previous force-with-lease specifications]' \ - '--force-if-includes[require remote updates to be integrated locally]' \ - '(-f --force)'{-f,--force}'[allow refs that are not ancestors to be updated]' \ - '(:)--repo=[default repository to use]:repository:__git_any_repositories' \ - '(-u --set-upstream)'{-u,--set-upstream}'[add upstream reference for each branch that is up to date or pushed]' \ - '( --no-thin)--thin[try to minimize number of objects to be sent]' \ - '(--thin )--no-thin[do not try to minimize number of objects to be sent]' \ - '(-q --quiet -v --verbose --progress)'{-q,--quiet}'[suppress all output]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' \ - '(-q --quiet)--progress[output progress information]' \ - '(--verify)--no-verify[bypass the pre-push hook]' \ - '--recurse-submodules=[submodule handling]:submodule handling:(( - check\:"refuse to push if submodule commit not to be found on remote" - on-demand\:"push all changed submodules" - only\:"submodules will be recursively pushed while the superproject is left unpushed" - no\:"no submodule handling"))' \ - "(--no-signed --signed)--sign=-[GPG sign the push]::signing enabled:(($^^sign))" \ - '(--no-signed --sign)--signed[GPG sign the push]' \ - "(--sign --signed)--no-signed[don't GPG sign the push]" \ - '--atomic[request atomic transaction on remote side]' \ - '*'{-o+,--push-option=}'[transmit string to server to pass to pre/post-receive hooks]:string' \ - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' \ - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' \ - ': :__git_any_repositories' \ - '*: :__git_ref_specs_pushy' && ret=0 - - case $state in - (lease) - compset -P '*:' - if [[ -n ${IPREFIX#*=} ]]; then - _guard '[[:xdigit:]]#' "expected value" && ret=0 - else - __git_remote_branch_names_noprefix && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-range-diff] )) || -_git-range-diff () { - local -a diff_options - __git_setup_diff_options - - _arguments -s -S $endopt \ - '--creation-factor=[specify weighting for creation]:weighting (percent)' \ - '--no-dual-color[use simple diff colors]' \ - '(--no-notes)*--notes=[show notes that annotate commit, with optional ref argument show this notes ref instead of the default notes ref(s)]:: :__git_notes_refs' \ - '(--right-only)--left-only[only emit output related to the first range]' \ - '(--left-only)--right-only[only emit output related to the second range]' \ - $diff_options \ - '1:range 1:__git_commit_ranges' \ - '2:range 2:__git_commit_ranges' \ - '3:revision 2:__git_commits' -} - -(( $+functions[_git-rebase] )) || -_git-rebase () { - local -a autosquash_opts - - if (( words[(I)-i|--interactive] )); then - autosquash_opts=( - '( --no-autosquash)--autosquash[check for auto-squash boundaries]' - '(--autosquash )--no-autosquash[do not check for auto-squash boundaries]') - fi - - _arguments -s -S $endopt \ - - actions \ - '(-)--continue[continue after resolving merge conflict]' \ - '(-)--abort[abort current rebase]' \ - '(-)--edit-todo[edit interactive instruction sheet in an editor]' \ - '(-)--skip[skip the current patch]' \ - '(-)--quit[abort but keep HEAD where it is]' \ - '(-)--show-current-patch[show the patch file being applied or merged]' \ - - options \ - '(--onto --root)--keep-base[use the merge-base of upstream and branch as the current base]' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '(-q --quiet -v --verbose --stat -n --no-stat)'{-q,--quiet}'[suppress all output]' \ - '(-q --quiet -v --verbose --stat -n --no-stat)'{-v,--verbose}'[output additional information]' \ - '(-n --no-stat)'{-n,--no-stat}"[don't show diffstat of what changed upstream]" \ - '--rerere-autoupdate[update the index with reused conflict resolution if possible]' \ - '--no-verify[bypass the pre-rebase hook]' \ - '(--apply -m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)-C-[ensure that given lines of surrounding context match]: :__git_guard_number "lines of context"' \ - '(-f --force-rebase)'{-f,--force-rebase}'[force rebase even if current branch descends from commit rebasing onto]' \ - '(-i --interactive)--ignore-whitespace[ignore changes in whitespace]' \ - '(--apply -m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)--whitespace=-[detect a new or modified line that has whitespace errors]: :__git_apply_whitespace_strategies' \ - '(-i --interactive)--committer-date-is-author-date[use author date as committer date]' \ - '(-f --force-rebase)'{--ignore-date,--reset-author-date}'[ignore author date and use current date]' \ - '(-m --merge -s --strategy -X --strategy-option --auto-squash --no-auto-squash -r --rebase-merges -i --interactive -x --exec --empty --reapply-cherry-picks --edit-todo --reschedule-failed-exec)--apply[use apply strategies to rebase]' \ - '(-m --merge --apply --whitespace -C)'{-m,--merge}'[use merging strategies to rebase]' \ - '(-i --interactive --ignore-whitespace --apply --whitespace -C --committer-date-is-author-date)'{-i,--interactive}'[make a list of commits to be rebased and open in $EDITOR]' \ - '(--apply --whitespace -C)--empty=[specify how to handle commits that become empty]:handling:(drop keep ask)' \ - '(--apply --whitespace -C)'{-x+,--exec=}'[with -i\: append "exec <cmd>" after each line]:command:_command_names -e' \ - '(-r --rebase-merges --apply --whitespace -C)'{-r-,--rebase-merges=-}'[try to rebase merges instead of skipping them]::option:(rebase-cousins no-rebase-cousins)' \ - '(--apply --whitespace -C)*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '(--apply --whitespace -C)*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(1 --keep-base --fork-point)--root[rebase all reachable commits]' \ - $autosquash_opts \ - '(--autostash --no-autostash)--autostash[stash uncommitted changes before rebasing and apply them afterwards]' \ - "(--autostash --no-autostash)--no-autostash[don't stash uncommitted changes before rebasing and apply them afterwards]" \ - '(--root)--fork-point[use merge-base --fork-point to refine upstream]' \ - '--signoff[add Signed-off-by: trailer to the commit message]' \ - '--no-ff[cherry-pick all rebased commits with --interactive, otherwise synonymous to --force-rebase]' \ - '(--keep-base)--onto=[start new branch with HEAD equal to given revision]:newbase:__git_revisions' \ - "(--apply --whitespace -C)--reschedule-failed-exec[automatically re-schedule any 'exec' that fails]" \ - '(--apply --whitespace -C)--reapply-cherry-picks[apply all changes, even those already present upstream]' \ - ':upstream branch:__git_revisions' \ - '::working branch:__git_revisions' -} - -(( $+functions[_git-reset] )) || -_git-reset () { - local curcontext=$curcontext state line ret=1 - typeset -A opt_args - - _arguments -C -s -S $endopt \ - '( --mixed --hard --merge --keep -p --patch -- *)--soft[do not touch the index file nor the working tree]' \ - '(--soft --hard --merge --keep -p --patch -- *)--mixed[reset the index but not the working tree (default)]' \ - '(--soft --hard --merge --keep -p --patch -- *)'{-N,--intent-to-add}'[record only the fact that removed paths will be added later]' \ - '(--soft --mixed --merge --keep -p --patch -- *)--hard[match the working tree and index to the given tree]' \ - '(--soft --mixed --hard --keep -p --patch -- *)--merge[reset out of a conflicted merge]' \ - '(--soft --mixed --hard --merge -p --patch -- *)--keep[like --hard, but keep local working tree changes]' \ - '--recurse-submodules=-[control recursive updating of submodules]::reset:__git_commits' \ - '(-p --patch)'{-p,--patch}'[select diff hunks to remove from the index]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(--soft --mixed --hard --merge --keep):: :__git_commits' \ - '(--soft --mixed --hard --merge --keep)*:: :->file' && ret=0 - - case $state in - (file) - local tree=HEAD - if zstyle -t :completion:${curcontext}: verbose; then - if ! tree=$(_call_program headed git rev-parse --verify HEAD); then - # well-known sha1 of the empty tree - tree=4b825dc642cb6eb9a060e54bf8d69288fbee4904 - fi - fi - if [[ -n $line[1] ]] && __git_is_treeish $line[1]; then - tree=$line[1] - fi - __git_ignore_line __git_treeish-to-index_files $tree && ret=0 - esac - - return ret -} - -(( $+functions[_git-restore] )) || -_git-restore() { - local curcontext="$curcontext" state line expl ret=1 - local -A opt_args - - _arguments -C -s -S $endopt \ - '(-s --source)'{-s,--source=}'[specify which tree-ish to checkout from]:source tree:->sources' \ - '(-S --staged)'{-S,--staged}'[restore the index]' \ - '(-W --worktree)'{-W,--worktree}'[restore the working tree (default)]' \ - '--ignore-unmerged[ignore unmerged entries]' \ - '--overlay[never remove files when restoring]' '!(--overlay)--no-overlay' \ - '(-q --quiet --no-progress)'{-q,--quiet}'[suppress feedback messages]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '(--no-progress)--progress[force progress reporting]' \ - '(-m --merge)'{-m,--merge}'[perform a 3-way merge with the new branch]' \ - '--conflict=[change how conflicting hunks are presented]:conflict style [merge]:(merge diff3)' \ - '(-2 --ours -3 --theirs -m --merge)'{-2,--ours}'[checkout our version for unmerged files]' \ - '(-2 --ours -3 --theirs -m --merge)'{-3,--theirs}'[checkout their version for unmerged files]' \ - '(-p --patch)'{-p,--patch}'[select hunks interactively]' \ - "--ignore-skip-worktree-bits[don't limit pathspecs to sparse entries only]" \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '*:path spec:->pathspecs' && ret=0 - - case $state in - pathspecs) - integer opt_S opt_W - [[ -n ${opt_args[(I)-S|--staged]} ]] && opt_S=1 - [[ -n ${opt_args[(I)-W|--worktree]} ]] && opt_W=1 - if (( opt_S && opt_W )) - then - __git_ignore_line __git_changed_files && ret=0 - elif (( opt_S )) - then - __git_ignore_line __git_changed-in-index_files && ret=0 - else - __git_ignore_line __git_changed-in-working-tree_files && ret=0 - fi - ;; - sources) - # if a path has already been specified, use it to select commits - git_commit_opts=(-- $line) - __git_commits_prefer_recent -O expl:git_commit_opts && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-revert] )) || -_git-revert () { - _arguments -S -s $endopt \ - '(- :)--quit[end revert or cherry-pick sequence]' \ - '(- :)--continue[resume revert or cherry-pick sequence]' \ - '(- :)--abort[cancel revert or cherry-pick sequence]' \ - '(- :)--skip[skip current commit and continue]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '(-e --edit --no-edit)'{-e,--edit}'[edit the commit before committing the revert]' \ - '(-e --edit --no-edit)--no-edit[do not edit the commit message before committing the revert]' \ - '(-m --mainline)'{-m+,--mainline=}'[pick which parent is mainline]:parent number' \ - '--rerere-autoupdate[update the index with reused conflict resolution if possible]' \ - '(-n --no-commit)'{-n,--no-commit}'[do not commit the reversion]' \ - '(-s --signoff)'{-s,--signoff}'[add Signed-off-by line at the end of the commit message]' \ - '--strategy=[use given merge strategy]:merge strategy:__git_merge_strategies' \ - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - ': :__git_recent_commits' -} - -(( $+functions[_git-rm] )) || -_git-rm () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-f --force)'{-f,--force}'[override the up-to-date check]' \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually remove the files, just show if they exist in the index]' \ - '-r[allow recursive removal when a leading directory-name is given]' \ - '--cached[only remove files from the index]' \ - '--ignore-unmatch[exit with 0 status even if no files matched]' \ - '--sparse[allow updating entries outside of sparse-checkout cone]' \ - '(*)--pathspec-from-file=[read pathspec from file]:file:_files' \ - '(*)--pathspec-file-nul[pathspec elements are separated with NUL character]' \ - '(-q --quiet)'{-q,--quiet}"[don't list removed files]" \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_cached_files && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-shortlog] )) || -_git-shortlog () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - local -a revision_options - __git_setup_revision_options - - # TODO: should take all arguments found in setup_revisions() (probably more - # or less what git-rev-list takes). - _arguments -C -S -s $endopt \ - '(: -)'{-h,--help}'[print a short usage message and exit]' \ - '(-n --numbered)'{-n,--numbered}'[sort according to number of commits]' \ - '(-s --summary)'{-s,--summary}'[suppress commit description]' \ - '(-e --email)'{-e,--email}'[show email address of each author]' \ - '-w-[linewrap the output]:: :->wrap' \ - '*--group=[group commits by field]: : _values -S\: field author committer trailer\:trailer' \ - '(-c --committer)'{-c,--committer}'[alias for --group=committer]' \ - $revision_options \ - '(-)--[start file arguments]' \ - '*:: :->commit-range-or-file' && ret=0 - - case $state in - (wrap) - if [[ -prefix [[:digit:]]#,[[:digit:]]#,[[:digit:]]# ]]; then - compset -P '[[:digit:]]#,[[:digit:]]#,' - __git_guard_number 'indent of second and subsequent wrapped lines' - elif [[ -prefix [[:digit:]]#,[[:digit:]]# ]]; then - compset -P '[[:digit:]]#,' - compset -S ',[[:digit:]]#' - __git_guard_number 'indent of first wrapped line' - else - compset -S ',[[:digit:]]#,[[:digit:]]#' - __git_guard_number 'line width' - fi - ;; - (commit-range-or-file) - case $CURRENT in - (1) - if [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_cached_files' && ret=0 - fi - ;; - (*) - # TODO: Write a wrapper function that checks whether we have a - # committish range or committish and calls __git_tree_files - # appropriately. - if __git_is_committish_range $line[1]; then - __git_tree_files ${PREFIX:-.} $(__git_committish_range_last $line[1]) && ret=0 - elif __git_is_committish $line[1]; then - __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - else - __git_cached_files && ret=0 - fi - ;; - esac - esac - - return ret -} - -(( $+functions[_git-show] )) || -_git-show () { - local curcontext=$curcontext state line ret=1 - typeset -A opt_args - - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -C -s $endopt \ - $log_options \ - $revision_options \ - '(-q --quiet)'{-q,--quiet}'[suppress diff output]' \ - '*:: :->object' && ret=0 - - case $state in - (object) - _alternative \ - 'commits::__git_commits' \ - 'tags::__git_tags' \ - 'trees::__git_trees' \ - 'blobs::__git_blobs' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-sparse-checkout] )) || -_git-sparse-checkout() { - local curcontext="$curcontext" state state_descr line ret=1 - local -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - local -a commands - - commands=( - list:'describe the patterns in the sparse-checkout file' - init:'enable the core.sparseCheckout setting' - set:'write a set of patterns to the sparse-checkout file' - add:'update the sparse-checkout file to include additional patterns' - reapply:'reapply the sparsity pattern rules to paths in the working tree' - disable:'disable the config setting, and restore all files in the working directory' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - init) - _arguments \ - '--cone[allow for better performance with a limited set of patterns]' \ - '--no-sparse-index[rewrite index to not be sparse]' - ;; - set|add) - _arguments -S \ - '--stdin[read patterns from input]' \ - '*:pattern:_files' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-stash] )) || -_git-stash () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - local -a save_arguments - - save_arguments=( - '(-p --patch -a --all -u --include-untracked)'{-p,--patch}'[interactively select hunks from diff between HEAD and working tree to stash]' - '(-k --keep-index --no-keep-index)'{-k,--keep-index}'[all changes already added to the index are left intact]' - '(-k --keep-index)--no-keep-index[all changes already added to the index are undone]' - '(-q --quiet)'{-q,--quiet}'[suppress all output]' - '(-p --patch -a --all -u --include-untracked)'{-u,--include-untracked}'[include untracked files]' - '(-p --patch -a --all -u --include-untracked)'{-a,--all}'[include ignored files]' - '(* -p --patch)--pathspec-from-file=[read pathspec from file]:file:_files' - '(* -p --patch)--pathspec-file-nul[pathspec elements are separated with NUL character]' - ) - - _arguments -C \ - '*::: :->args' \ - '(-m --message)'{-m+,--message=}'[specify stash description]:description' \ - ${save_arguments//#\(/(* } && ret=0 - - if [[ -n $state ]]; then - if (( CURRENT == 1 )); then - local -a commands - - commands=( - {push,save}:'save your local modifications to a new stash' - list:'list the stashes that you currently have' - show:'show the changes recorded in the stash as a diff' - pop:'remove and apply a single stashed state from the stash list' - apply:'apply the changes recorded in the stash' - branch:'branch off at the commit at which the stash was originally created' - clear:'remove all the stashed states' - drop:'remove a single stashed state from the stash list' - create:'create a stash without storing it in the ref namespace' - ) - - _describe -t commands command commands && ret=0 - else - curcontext=${curcontext%:*}-$line[1]: - compset -n 1 - - case $line[1] in - (save) - _arguments -S $endopt \ - $save_arguments \ - ':: :_guard "([^-]?#|)" message' && ret=0 - ;; - (push) - _arguments -S $endopt \ - $save_arguments \ - '(-m --message)'{-m+,--message=}'[specify stash description]:description' \ - '*: : __git_ignore_line __git_modified_files' && ret=0 - ;; - (--) - __git_modified_files - ;; - (list) - local -a log_options revision_options - __git_setup_log_options - __git_setup_revision_options - - _arguments -s \ - $log_options \ - $revision_options && ret=0 - ;; - (show) - local diff_options - __git_setup_diff_options - - _arguments -S -s $endopt \ - $diff_options \ - ':: :__git_stashes' && ret=0 - ;; - (pop|apply) - _arguments -S $endopt \ - '--index[try to reinstate the changes added to the index as well]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ':: :__git_stashes' && ret=0 - ;; - (branch) - _arguments \ - ': :__git_guard_branch-name' \ - ':: :__git_stashes' && ret=0 - ;; - (clear) - _nothing - ;; - (drop) - _arguments -S $endopt \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ':: :__git_stashes' && ret=0 - ;; - (create) - _nothing - ;; - (*) - _nothing - ;; - esac - fi - fi - - return ret -} - -(( $+functions[_git-status] )) || -_git-status () { - local -a branch_opts - - if (( $words[(I)-s|--short|--porcelain|-z] )); then - branch_opts=('(-b --branch)'{-b,--branch}'[show branch and tracking info]') - fi - - _arguments -S -s $endopt \ - '(-s --short --column --no-column --show-stash)'{-s,--short}'[output in short format]' \ - $branch_opts \ - '(-s --short)--porcelain=-[produce machine-readable output]:version:(v1)' \ - '(-s --short)--show-stash[show stash information]' \ - '!(--no-ahead-behind)--ahead-behind' \ - "--no-ahead-behind[don't display detailed ahead/behind counts relative to upstream branch]" \ - '(-u --untracked-files)'{-u-,--untracked-files=-}'[show untracked files]::mode:((no\:"show no untracked files" \ - normal\:"show untracked files and directories" \ - all\:"also show untracked files in untracked directories (default)"))' \ - '--ignore-submodules[ignore changes to submodules]:: :__git_ignore_submodules_whens' \ - '--ignored=-[show ignored files as well]:mode [traditional]:(traditional matching no)' \ - '(-z --null --column --no-column)'{-z,--null}'[use NUL termination on output]' \ - '(--no-column -z --null)--column=-[display in columns]:: :_git_column_layouts' \ - "(--column)--no-column[don't display in columns]" \ - "(--no-renames -M --find-renames)--no-renames[don't detect renames]" \ - '(--no-renames -M --find-renames)-M[detect renames]' \ - '(--no-renames -M --find-renames)--find-renames=-[detect renames, optionally set similarity index]::similarity' \ - '*: :__git_ignore_line_inside_arguments _files' -} - -(( $+functions[_git-submodule] )) || -_git-submodule () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - add:'add given repository as a submodule' - status:'show the status of a submodule' - init:'initialize a submodule' - deinit:'unregister a submodule' - update:'update a submodule' - set-branch:'set default remote tracking branch for the submodule' - set-url:'set URL of the specified submodule' - summary:'show commit summary between given commit and working tree/index' - foreach:'evaluate shell command in each checked-out submodule' - absorbgitdirs:'move the git directory of a submodule into its superprojects' - sync:'synchronize submodule settings') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (add) - # TODO: Second argument should only complete relative paths inside - # the current repository. - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(-b --branch)'{-b,--branch}'[branch of repository to add as submodule]' \ - '(-f --force)'{-f,--force}'[allow adding an otherwise ignored submodule path]' \ - '--name[use given name instead of defaulting to its path]:name' \ - '--reference=[remote repository to clone]: :__git_any_repositories' \ - ': :__git_any_repositories' \ - ':: :_directories' && ret=0 - ;; - (status) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--cached[use commit stored in the index]' \ - '--recursive[traverse submodules recursively]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (init) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (deinit) - _arguments -S \ - '(-f --force)'{-f,--force}'[remove submodule worktree even if local modifications are present]' \ - '(*)--all[remove all submodules]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (update) - # TODO: --init not properly documented. - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(-N --no-fetch)'{-N,--no-fetch}'[do not fetch new objects from repository]' \ - '(--merge --rebase)--checkout[checkout commit recorded in the superproject in the submodule on a detached HEAD]' \ - '(--checkout --rebase)--merge[merge commit recorded in superproject into current branch of submodule]' \ - '(--checkout --merge)--rebase[rebase current branch onto commit recorded in superproject]' \ - '--no-recommend-shallow[ignore submodule.<name>.shallow from .gitmodules]' \ - '--reference=[remote repository to clone]: :__git_any_repositories' \ - '--recursive[traverse submodules recursively]' \ - '--remote[use the status of the submodule''s remote-tracking branch]' \ - '--force[discard local changes by checking out the current up-to-date version]' \ - '--init[initialize uninitialized submodules]' \ - '--single-branch[clone only one branch]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (set-branch) - _arguments -C -A '-*' \ - '(-d --default)'{-d,--default}'[remove config key to cause the tracking branch to default to master]' \ - '(-b --branch)'{-b,--branch=}'[specify the remote branch]:remote branch' \ - '1:path:_directories' - ;; - (set-url) - _arguments -C -A '-*' \ - '1:path:_directories' \ - '2:url:_urls' && ret=0 - ;; - (summary) - _arguments -C -A '-*' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '(--files)--cached[use commit stored in the index]' \ - '(--cached)--files[compare commit in index with submodule HEAD commit]' \ - '(-n --summary-limit)'{-n,--summary-limit=}'[limit summary size]: :__git_guard_number "limit"' \ - '(-)--[start submodule arguments]' \ - '*:: :->commit-or-submodule' && ret=0 - - case $state in - (commit-or-submodule) - if (( CURRENT == 1 )) && [[ -z ${opt_args[(I)--]} ]]; then - _alternative \ - 'commits::__git_commits' \ - 'submodules::__git_submodules' && ret=0 - else - __git_ignore_line __git_submodules && ret=0 - fi - ;; - esac - ;; - (foreach) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--recursive[traverse submodules recursively]' \ - '(-):command: _command_names -e' \ - '*::arguments: _normal' && ret=0 - ;; - (sync) - _arguments -S \ - '--recursive[traverse submodules recursively]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*: :__git_ignore_line_inside_arguments __git_submodules' && ret=0 - ;; - (absorbgitdirs) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '*:path:_directories' - ;; - (*) - _default - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-subtree] )) || -_git-subtree () { - local curcontext="$curcontext" state state_descr line ret=1 - declare -A opt_args - - # TODO: -P should only complete paths inside the current repository. - _arguments -C \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '-d[show debug messages]' \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - add:'create the subtree by importing its contents' - merge:'merge recent changes up to specified commit into the subtree' - pull:'fetch from remote repository and merge recent changes into the subtree' - push:'does a split and `git push`' - split:'extract a new synthetic project history from a subtree') - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (add) - _arguments \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_any_repositories_or_references' \ - ':: :__git_ref_specs' && ret=0 - # TODO: the use of __git_ref_specs isn't quite right: it will - # complete "foo:bar" values which git-subtree(1) doesn't take. What - # we should complete here is what's on *one* side of the colon in - # __git_ref_specs. - ;; - (merge) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_references' && ret=0 - ;; - (pull) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - '--squash[import only a single commit from the subproject]' \ - ': :__git_any_repositories' \ - ':: :__git_ref_specs' && ret=0 - ;; - (push) - _arguments -S \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \ - '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \ - ': :__git_any_repositories' \ - ':: :__git_ref_specs' && ret=0 - ;; - (split) - _arguments -S \ - '--annotate[add a prefix to commit message of new commits]:prefix' \ - '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \ - '(-P --prefix)'{-P+,--prefix=}'[specify path to the subtree in the repository to manipulate]: :_directories' \ - '(-b --branch)'{-b,--branch=}'[create a new branch]' \ - '--onto=[try connecting new tree to an existing one]: :__git_ref_specs' \ - '(-m --message)'{-m+,--message=}'[specify commit message for the merge]:message' \ - '--ignore-joins[ignore prior --rejoin commits]' \ - '--onto=[try connecting new tree to an existing one]: :__git_ref_specs' \ - '--rejoin[merge the new branch back into HEAD]' \ - '*: :__git_references' && ret=0 - ;; - (*) - _default && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-switch] )) || -_git-switch() { - local curcontext="$curcontext" state line expl ret=1 - local -A opt_args - - _arguments -C -s -S $endopt \ - '(-c --create -C --force-create -d --detach --orphan --ignore-other-worktrees 1)'{-c,--create}'[create and switch to a new branch]:branch:->branches' \ - '(-c --create -C --force-create -d --detach --orphan --ignore-other-worktrees 1)'{-C,--force-create}'[create/reset and switch to a branch]:branch:->branches' \ - "(--guess --orphan 2)--no-guess[don't second guess 'git switch <no-such-branch>']" \ - "(--no-guess -t --track -d --detach --orphan 2)--guess[second guess 'git switch <no-such-branch> (default)]" \ - '(-f --force --discard-changes -m --merge --conflict)'{-f,--force,--discard-changes}'[throw away local modifications]' \ - '(-q --quiet --no-progress)'{-q,--quiet}'[suppress feedback messages]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet --progress)--no-progress[suppress progress reporting]' \ - '--progress[force progress reporting]' \ - '(-m --merge --discard-changes --orphan)'{-m,--merge}'[perform a 3-way merge with the new branch]' \ - '(--discard-changes --orphan)--conflict=[change how conflicting hunks are presented]:conflict style [merge]:(merge diff3)' \ - '(-d --detach -c --create -C --force-create --ignore-other-worktrees --orphan --guess --no-guess 1)'{-d,--detach}'[detach HEAD at named commit]' \ - '(-t --track --no-track --guess --orphan 1)'{-t,--track}'[set upstream info for new branch]' \ - "(-t --track --guess --orphan 1)--no-track[don't set upstream info for a new branch]" \ - '(-c --create -C --force-create -d --detach --ignore-other-worktrees -m --merge --conflict -t --track --guess --no-track -t --track)--orphan[create new unparented branch]: :__git_branch_names' \ - '!--overwrite-ignore' \ - "(-c --create -C --force-create -d --detach --orphan)--ignore-other-worktrees[don't check if another worktree is holding the given ref]" \ - '1: :->branches' \ - '2:start point:->start-points' && ret=0 - - case $state in - branches) - if [[ -n ${opt_args[(i)--guess]} ]]; then - # --guess is the default but if it has been explicitly specified, - # we'll only complete remote branches - __git_remote_branch_names_noprefix && ret=0 - else - _alternative \ - 'branches::__git_branch_names' \ - 'remote-branch-names-noprefix::__git_remote_branch_names_noprefix' && ret=0 - fi - ;; - start-points) - if [[ -n ${opt_args[(I)-t|--track|--no-track]} ]]; then - # with an explicit --track, stick to remote branches - # same for --no-track because it'd be meaningless with anything else - __git_heads_remote && ret=0 - else - __git_revisions && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-tag] )) || -_git-tag () { - _arguments -s -S $endopt \ - - creation \ - '(-a --annotate -s --sign -u --local-user)'{-a,--annotate}'[create an unsigned, annotated tag]' \ - '(-e --edit)'{-e,--edit}'[force edit of tag message]' \ - '(-a --annotate -s --sign -u --local-user)'{-s,--sign}'[create a signed and annotated tag]' \ - '(-a --annotate -s --sign)'{-u+,--local-user=}'[create a tag, annotated and signed with the given key]: :__git_gpg_secret_keys' \ - '(-f --force)'{-f,--force}'[replace existing tag]' \ - '--create-reflog[create a reflog]' \ - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' \ - '(-m --message -F --file)'{-F+,--file=}'[read tag message from given file]:message file:_files' \ - '(-m --message -F --file)'{-m+,--message=}'[specify tag message]:message' \ - ': :__git_tags' \ - ':: :__git_commits' \ - - deletion \ - '(-d --delete)'{-d,--delete}'[delete tags]' \ - '*:: :__git_ignore_line_inside_arguments __git_tags' \ - - listing \ - '-n+[limit line output of annotation]: :__git_guard_number "limit"' \ - '(-l --list)'{-l,--list}'[list tags matching pattern]' \ - '(--no-column)--column=-[display tag listing in columns]:: :_git_column_layouts' \ - '(--column)--no-column[do not display in columns]' \ - '*--contains=[only list tags that contain the specified commit]: :__git_commits' \ - "*--no-contains=[only list tags that don't contain the specified commit]: :__git_commits" \ - '--merged=-[print only tags that are merged]:: :__git_commits' \ - '--no-merged=-[print only tags that are not merged]:: :__git_commits' \ - '--sort=[specify how the tags should be sorted]:field:__git_ref_sort_keys' \ - '--points-at=[only list tags of the given object]: :__git_commits' \ - '--format=[specify format to use for the output]:format:__git_format_ref' \ - '--color=-[respect any colors specified in the format]::when:(always never auto)' \ - '(-i --ignore-case)'{-i,--ignore-case}'[sorting and filtering are case-insensitive]' \ - ':: :_guard "^-*" pattern' \ - - verification \ - '(-v --verify)'{-v,--verify}'[verify gpg signature of tags]' \ - '*:: :__git_ignore_line_inside_arguments __git_tags' -} - -(( $+functions[_git-worktree] )) || -_git-worktree() { - local curcontext="$curcontext" state state_descr line ret=1 - declare -A opt_args - - _arguments -C \ - ': :->command' \ - '*::: := ->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands args - - commands=( - add:'create a new working tree' - prune:'prune working tree information' - list:'list details of each worktree' - lock:'prevent a working tree from being pruned' - move:'move a working tree to a new location' - remove:'remove a working tree' - unlock:'allow working tree to be pruned, moved or deleted' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (add) - if (( $words[(I)--detach] )); then - args=( ':branch:__git_branch_names' ) - else - args=( ':commit:__git_commits' ) - fi - _arguments -S $endopt \ - '(-f --force)'{-f,--force}'[checkout branch even if already checked out in another worktree]' \ - '(-B --detach)-b+[create a new branch]: :__git_branch_names' \ - '(-b --detach)-B+[create or reset a branch]: :__git_branch_names' \ - '(-b -B)--detach[detach HEAD at named commit]' \ - '--no-checkout[suppress file checkout in new worktree]' \ - '--lock[keep working tree locked after creation]' \ - ':path:_directories' $args && ret=0 - ;; - (prune) - _arguments -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}"[don't remove, show only]" \ - '(-v --verbose)'{-v,--verbose}'[report pruned objects]' \ - '--expire[expire objects older than specified time]:time' && ret=0 - ;; - (list) - _arguments -S $endopt '--porcelain[machine-readable output]' && ret=0 - ;; - (lock) - _arguments -C -S $endopt '--reason=[specify reason for locking]:reason' ': :->worktrees' && ret=0 - ;; - (move) - _arguments -C \ - ': :->worktrees' \ - ':location:_directories' && ret=0 - ;; - (remove) - _arguments -C -S $endopt '--force[remove working trees that are not clean or that have submodules]' \ - ': :->worktrees' && ret=0 - ;; - (unlock) - state=worktrees - ;; - esac - if [[ $state = worktrees ]]; then - __git_worktrees && ret=0 - fi - ;; - esac - return ret -} - -(( $+functions[_gitk] )) || -_gitk () { - _git-log -} - -(( $+functions[_tig] )) || -_tig () { - _git-log -} - -# Ancillary Commands (Manipulators) - -(( $+functions[_git-config] )) || -_git-config () { - local name_arg value_arg - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - if (( words[(I)--get-regexp] )); then - name_arg=':name regex' - elif (( words[(I)--get-colorbool] )); then - name_arg=':: :->is-a-tty' - elif (( words[(I)--get-color] )); then - name_arg='::default' - elif (( words[(I)--remove-section|--rename-section] )); then - name_arg=': :->section' - elif (( words[(I)--get|--get-all] )); then - name_arg=': :->gettable-option' - else - name_arg=': :->option' - fi - - if (( words[(I)--rename-section] )); then - value_arg=': :->section' - else - value_arg=': :->value' - fi - - _arguments -C -S -s $endopt \ - '( --system --local --worktree -f --file --blob)--global[use user-global config file]' \ - '(--global --local --worktree -f --file --blob)--system[use system-wide config file]' \ - '(--global --system --worktree -f --file --blob)--local[use local config file]' \ - '(--global --system --local -f --file --blob)--worktree[use per-worktree config file]' \ - '(--global --system --local --worktree --blob)'{-f+,--file=}'[use given config file]:config file:_files' \ - '(--global --system --local --worktree -f --file)--blob=[read config from given blob object]:blob:__git_blobs' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --path --expiry-date)'{-t+,--type=}'[ensure that incoming and outgoing values are canonicalize-able as the given type]:type:(bool int bool-or-int bool-or-str path expiry-date color)' \ - '(-t --type --int --bool-or-int --bool-or-str --path --expiry-date)--bool[setting is a boolean]' \ - '(-t --type --bool --bool-or-int --bool-or-str --path --expiry-date)--int[setting is an integer]' \ - '(-t --type --bool --int --bool-or-str --path --expiry-date)--bool-or-int[setting is a boolean or integer]' \ - '(-t --type --bool --int --bool-or-int --path --expiry-date)--bool-or-str[setting is a boolean or string]' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --expiry-date)--path[setting is a path]' \ - '(-t --type --bool --int --bool-or-int --bool-or-str --path)--expiry-date[setting is an expiry date]' \ - '(-z --null)'{-z,--null}'[end values with NUL and newline between key and value]' \ - '--fixed-value[use string equality when comparing values]' \ - '(--get --get-all --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool)--name-only[show variable names only]' \ - '(--includes)'--no-includes"[don't respect \"include.*\" directives]" \ - '(--no-includes)'--includes'[respect "include.*" directives in config files when looking up values]' \ - '(--global --system --local -f --file --blob --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool --show-scope)--show-origin[show origin of config]' \ - '(--global --system --local -f --file --blob --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section -e --edit --get-color --get-colorbool --show-origin)--show-scope[show scope of config (worktree, local, global, system, command)]' \ - '(2 --add -e --edit -l --list --name-only --rename-section --remove-section --replace-all --unset --unset-all)--default=[with --get, use specified default value when entry is missing]:default' \ - $name_arg \ - $value_arg \ - '::value regex' \ - - '(actions)' \ - '(2 --name-only)--get[get the first matching value of the key]' \ - '(2 --name-only)--get-all[get all matching values of the key]' \ - '(2)--get-regexp[like "--get-all", but interpret "name" as a regular expression]' \ - '(--name-only --show-origin)--get-urlmatch[get value specific for the URL]' \ - '(-z --null --name-only --show-origin)--replace-all[replace all values of the given key]' \ - '(3 -z --null --name-only --show-origin)--add[add new value without altering any existing ones]' \ - '(2 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--unset[remove the first matching value of the key]' \ - '(2 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--unset-all[remove all matching values of the key]' \ - '(3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--rename-section[rename the given section]' \ - '(3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--remove-section[remove the given section]' \ - '(: --bool --int --bool-or-int --bool-or-str --path)'{-l,--list}'[list all variables set in config file]' \ - '(-e --edit --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)'{-e,--edit}'[open config file for editing]' \ - '(2 3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--get-color[find color setting]: :->gettable-color-option' \ - '(2 3 --bool --int --bool-or-int --bool-or-str --path -z --null --name-only --show-origin)--get-colorbool[check if color should be used]: :->gettable-colorbool-option' && ret=0 - __git_config_option-or-value "$@" && ret=0 - return ret -} - -(( $+functions[__git_config_option] )) || -__git_config_option () { - local -A opt_args=() - local -a line=( ${words[CURRENT]%%=*} ) - local state=option - __git_config_option-or-value "$@" -} - -(( $+functions[__git_config_value] )) || -__git_config_value () { - local -A opt_args=() - local -a line=( ${words[CURRENT]%%=*} ${words[CURRENT]#*=} ) - local state=value - __git_config_option-or-value "$@" -} - -# Helper to _git-config(). May be called by other functions, too, provided -# that The caller has set $line, $state, and $opt_args as _git-config() would -# set them: -# -# - set $line[1] to the option name being completed (even if completing an -# option value). -# - set $opt_args to git-config(1) options, as set by _arguments in -# _git-config(). -# - set $state as _arguments in _git-config() would set it. -(( $+functions[__git_config_option-or-value] )) || -__git_config_option-or-value () { - local expl ret - - # TODO: Add support for merge.*. (merge driver), diff.*. (diff driver), and filter.*. (filter driver) options - # (see gitattributes(5)). - # TODO: .path options should take absolute paths. - declare -a git_options - git_options=( - advice.fetchShowForcedUpdates:'show advice when git-fetch takes time to calculate forced updates::->bool:true' - advice.pushNonFastForward:'show advice when git push refuses non-fast-forward refs::->bool:true' - advice.pushUpdateRejected:'combined setting for advice.push*::->bool:true' - advice.pushNonFFCurrent:'show advice when git push fails due to a non-fast-forward update to the current branch::->bool:true' - advice.pushNonFFMatching:'show advice when running git-push and pushed matching refs explicitly::->bool:true' - advice.pushAlreadyExists:'show advice when git-push rejects an update that does not qualify for fast-forwarding::->bool:true' - advice.pushFetchFirst:'show advice when git-push rejects an update that tries to overwrite a remote ref that points at unknown object::->bool:true' - advice.pushNeedsForce:'show advice when git-push rejects an update that tries to overwrite a remote ref that points a non-commitish::->bool:true' - advice.pushUnqualifiedRefname:'show advice when git-push gives up trying to guess a remote ref::->bool:true' - advice.statusHints:'show advice in output of git status::->bool:true' - advice.statusUoption:'show advice to consider using the "-u" option to git-status when it takes more than 2 seconds::->bool:true' - advice.commitBeforeMerge:'show advice when git merge refuses to merge::->bool:true' - advice.resetQuiet:'show advice to consider using the --quiet option to git-reset::->bool:true' - advice.resolveConflict:'show advice when conflict prevents operation from being performed::->bool:true' - advice.sequencerInUse:'show advice shown when a sequencer command is already in progress::->bool:true' - advice.implicitIdentity:'show advice when identity is guessed from system settings::->bool:true' - advice.detachedHead:'show advice when entering detached-HEAD state::->bool:true' - advice.checkoutAmbiguousRemoteBranchName:'show advice when argument for a remote tracking branch is ambiguous::->bool:true' - advice.amWorkDir:'show the location of the patch file when git-am fails to apply it::->bool:true' - advice.rmHints:'show directions in case of failure in the output of git-rm(1)::->bool:true' - advice.addEmbeddedRepo:"show advice on what to do when you’ve accidentally added one git repo inside of another::->bool:true" - advice.ignoredHook:'show advice if a hook is ignored because the hook is not set as executable::->bool:true' - advice.waitingForEditor:'print a message to the terminal whenever Git is waiting for editor input from the user::->bool:true' - advice.nestedTag:'show advice if a user attempts to recursively tag a tag object::->bool:true' - author.email:'email address used for author in commits::_email_addresses -c' - author.name:'full name used for author in commits:name:->string' - am.threeWay:'use 3-way merge if patch does not apply cleanly::->bool:false' - blame.blankboundary:'show blank SHA-1 for boundary commits::->bool:false' - blame.coloring:'determine the coloring scheme to be applied to blame output:scheme [none]:->string' - blame.showEmail:"show author email instead of author name::->bool:false" - blame.showroot:'show root commits as normal commits::->bool:false' - blame.ignoreRevsFile:'ignore revisions listed in the file:file:_files' - blame.date:'date format to use in output::__git_date_formats:iso' - 'branch.*.description:branch description:branch description:->string' - branch.sort:"default sorting order for 'git branch' output::__git_ref_sort_keys" - checkout.defaultRemote:'assumed remote name when specifying an unqualified remote branch name:remote name:__git_remotes' - cvsexportcommit.cvsdir:'the default location of the CVS checkout to use for the export:cvs export dir:_directories' - column.ui:'specify whether supported commands should output in columns.::->column:never' - column.branch:'specify whether to output branch listing in git branch in columns::_git_column_layouts:never' - column.clean:'specify the layout when listing items in git clean -i::_git_column_layouts:never' - column.status:'specify whether to output untracked files in git status in columns::_git_column_layouts:never' - column.tag:'specify whether to output tag listing in git tag in columns::_git_column_layouts:never' - committer.email:'email address used for committer in commits::_email_addresses -c' - committer.name:'full name used for committer in commits:name:->string' - core.fileMode:'track changes to the executable bit of files::->bool:true' - core.attributesfile:'look into this file for attributes in addition to .gitattributes:additional attributes file:_files' - core.abbrev:'set the length object names are abbreviated to:length:->int:7' - core.checkRoundtripEncoding:"encodings to UTF-8 round trip check::_guard '' 'comma-separated list of encodings'" # _guard used as a hack because _message doesn't take compadd options - core.commentchar:'comment character when using an editor::->string' - core.filesRefLockTimeout:"how long to retry locking a reference:retry time (milliseconds, or -1 for indefinite):->int:100" - core.ignoreCygwinFSTricks:'use Cygwin stat()/lstat()::->bool:true' - core.ignorecase:'use workarounds for non-case-sensitive filesystems::->bool:false' - core.trustctime:'trust inode change time::->bool:true' - core.quotepath:'escape characters in paths on output::->bool:false' - core.eol:'line ending type::->core.eol:native' - core.safecrlf:'verify that CRLF conversion is reversible::->core.safecrlf:false' - core.autocrlf:'convert CRLFs to and from system specific::->core.autocrlf:false' - core.symlinks:'create symbolic links for indexed symbolic links upon creation::->bool:true' - core.gitProxy:'command to execute to establish a connection to remote server:proxy command:_cmdstring' - core.ignoreStat:'ignore modification times of files::->bool:false' - core.preferSymlinkRefs:'use symbolic links for symbolic-reference files::->bool:false' - core.bare:'use a repository without a working tree::->bool:false' - core.worktree:'path to the root of the work tree:work tree:_directories' - core.logAllRefUpdates:'log updates of references::->bool:true' - core.repositoryFormatVersion:'internal variable determining the repository version:version:->string' - core.sharedRepository:'what kind of sharing is done for this repository::->permission:false' - core.warnAmbiguousRefs:'warn if a ref name is ambiguous::->bool:true' - core.compression:'level of compression to apply to packs::->compression:-1' - core.loosecompression:'level of compression to apply to non-pack files::->compression:1' - core.packedGitWindowSize:'size of mappings of pack files:pack window size:->bytes' - core.packedGitLimit:'maximum number of bytes to map from pack files:maximum pack file map size:->bytes' - core.packedRefsTimeout:"how long to retry locking the packed-refs file:retry time (milliseconds, or -1 for indefinite):->int:1000" - core.precomposeunicode:'revert the unicode decomposition of filenames done by Mac OS::->bool:false' - core.deltaBaseCacheLimit:'maximum size of cache for base objects:maximum base objects cache size:->bytes:96m' - core.bigFileThreshold:'maximum size of files to compress:maximum compress size:->bytes:512m' - core.excludesfile:'additional file to use for exclusion:excludes file:_files' - core.askpass:'program to use for asking for passwords:password command:_cmdstring' - core.editor:'editor to use for editing messages:editor:_cmdstring' - core.pager:'pager to use for paginating output:pager:_cmdstring' - core.whitespace:'list of common whitespace problems to notice::->core.whitespace' - core.fsyncobjectfiles:'fsync() when writing object files::->bool:false' - core.preloadindex:'use parallel index preload for operations like git diff::->bool:true' - core.createObject:'take steps to prevent overwriting existing objects::->core.createObject:link' - core.checkstat:'determine which stat fields to match between the index and work tree::->core.checkstat:default' - core.notesRef:'show notes in given refs:refs:->string:refs/notes/commits' - core.sparseCheckoutCone:"enable git-sparse-checkout(1) cone mode::->bool:false" - core.sparseCheckout:'use sparse checkout::->bool:false' - core.splitIndex:"enable the split-index feature::->bool:false" - core.useReplaceRefs:"honour 'replace' refs::->bool:true" - credential.helper:'external helper to be called when a username or password credential is needed::_cmdstring' - credential.useHttpPath:'consider the "path" component of an http or https URL to be important::->bool:false' - credential.username:'If no username is set use this username by default:default username:->string' - 'credential.*.helper:external helper to be called when a username or password credential is needed::_cmdstring' - 'credential.*.useHttpPath:consider the "path" component of an http or https URL to be important::->bool:false' - 'credential.*.username:if no username is set use this username by default:default username:->string' - credentialCache.ignoreSIGHUP:'ignore SIGHUP in git-credential-cache—daemon::->bool:false' - add.ignore-errors:'ignore indexing errors when adding files::->bool:false' - add.ignoreErrors:'ignore indexing errors when adding files::->bool:false' - am.keepcr:'keep CR characters when splitting mails::->bool:false' - apply.ignorewhitespace:'ignore whitespace changes::->apply.ignorewhitespace:no' - apply.whitespace:'default value for the --whitespace option::->apply.whitespace:error' - branch.autosetupmerge:'set up new branches for git pull::->bool:true' - branch.autosetuprebase:'rebase new branches of merge for autosetupmerge::->branch.autosetuprebase:never' - 'branch.*.remote:what remote git fetch and git push should fetch form/push to::__git_remotes' - 'branch.*.merge:default refspec to be marked for merging::__git_remote_references' - 'branch.*.mergeoptions:default options for merging::->branch.mergeoptions' - 'branch.*.pushremote:what remote git push should push to::__git_remotes' - 'branch.*.rebase:rebase on top of fetched branch::->bool:false' - 'browser.*.cmd:browser command to use:browser:_cmdstring' - 'browser.*.path:path to use for the browser:absolute browser path:_absolute_command_paths' - clean.requireForce:'require --force for git clean to actually do something::->bool:true' - color.branch:'color output of git branch::->color-bool:false' - color.branch.current:'color of the current branch::->color' - color.branch.local:'color of a local branch::->color' - color.branch.remote:'color of a remote branch::->color' - color.branch.upstream:'color of upstream branches::->color' - color.branch.plain:'color of other branches::->color' - color.diff:'color output of git diff::->color-bool:false' - color.diff.plain:'color of context text::->color' - color.diff.meta:'color of meta-information::->color' - color.diff.frag:'color of hunk headers::->color' - color.diff.func:'color of function in hunk header::->color' - color.diff.old:'color of removed lines::->color' - color.diff.oldMoved:'color of lines removed by a move::->color' - color.diff.oldMovedAlternative:'alternative color of lines removed by a move::->color' - color.diff.oldMovedAlternativeDimmed:'dimmed alternative color of lines removed by a move::->color' - color.diff.oldMovedDimmed:'dimmed color of lines removed by a move::->color' - color.diff.new:'color of added lines::->color' - color.diff.newMoved:'color of lines added by a move::->color' - color.diff.newMovedAlternative:'alternative color of lines added by a move::->color' - color.diff.newMovedAlternativeDimmed:'dimmed alternative color of lines added by a move::->color' - color.diff.newMovedDimmed:'dimmed color of lines added by a move::->color' - color.diff.commit:'color of commit headers::->color' - color.diff.whitespace:'color of whitespace errors::->color' - color.decorate.branch:'color of branches::->color' - color.decorate.remoteBranch:'color of remote branches::->color' - color.decorate.tag:'color of tags::->color' - color.decorate.stash:'color of stashes::->color' - color.decorate.HEAD:'color of HEAD::->color' - color.grep:'whether or not to color output of git grep::->color-bool:false' - color.grep.context:'color of non-matching text in context lines::->color' - color.grep.filename:'color of filename prefix::->color' - color.grep.function:'color of function name lines::->color' - color.grep.linenumber:'color of line number prefix::->color' - color.grep.match:'color of matching text::->color' - color.grep.selected:'color of non-matching text in selected lines::->color' - color.grep.separator:'color of separators between fields in a line::->color' - color.interactive:'whether or not to color in interactive mode::->color-bool:false' - color.interactive.prompt:'color of prompt::->color' - color.interactive.header:'color of header::->color' - color.interactive.help:'color of help::->color' - color.interactive.error:'color of error::->color' - color.pager:'feed colored output to pager::->bool:true' - color.showbranch:'color output of git show-branch::->color-bool:false' - color.status:'color output of git status::->color-bool:false' - color.status.branch:'color of the current branch::->color' - color.status.header:'color of header text::->color' - color.status.added:'color of added, but not yet committed, files::->color' - color.status.updated:'color of updated, but not yet committed, files::->color' - color.status.changed:'color of changed, but not yet added in the index, files::->color' - color.status.untracked:'color of files not currently being tracked::->color' - color.status.nobranch:'color of no-branch warning::->color' - color.ui:'color output of capable git commands::->color-bool:auto' - commit.cleanup:'default --cleanup option::_git_cleanup_modes' - commit.gpgsign:'always GPG-sign commits::->bool:false' - commit.status:'include status information in commit message template::->bool:true' - commit.template:'template file for commit messages:template:_files' - 'diff.*.binary:make the diff driver treat files as binary::->bool:false' - 'diff.*.cachetextconv:make the diff driver cache the text conversion outputs::->bool:false' - 'diff.*.command:custom diff driver command::_cmdstring' - 'diff.*.textconv:command to generate the text-converted version of a file::_cmdstring' - 'diff.*.wordregex:regular expression that the diff driver should use to split words in a line:regular expression:->string' - 'diff.*.xfuncname:regular expression that the diff driver should use to recognize the hunk header:regular expression:->string' - diff.algorithm:'default diff algorithm::->diff.algorithm:default' - diff.autorefreshindex:'run git update-index --refresh before git diff::->bool:true' - diff.colorMoved:"color moved lines in diffs::__git_color_moved" - diff.colorMovedWS:"ignore whitespace when detecting moved lines::__git_color_movedws" - diff.wsErrorHighlight:'highlight whitespace errors: :__git_ws_error_highlight' - diff.context:'default number of context lines::->int:3' - diff.dirstat:'comma separated list of --dirstat parameters specifying default behaviour:comma-separated list:->string:changes,noncumulative,3' - diff.external:'command to generate diff with:diff command:_cmdstring' - diff.indentHeuristic:"heuristically shift hunk boundaries::->bool:true" - diff.interHunkContext:"combine hunks closer than N lines:number of lines:->int" - diff.mnemonicprefix:'use mnemonic source and destination prefixes::->bool:false' - diff.noprefix:'strip source and destination prefixes::->bool:false' - diff.orderfile:'file to read patch order glob patterns from:order file:_files' - diff.renameLimit:'number of files to consider when detecting copy/renames:limit (number of files):->int' - diff.renames:'try to detect renames::->diff.renames:true' - diff.ignoreSubmodules:'ignore submodules::->bool:false' - diff.statGraphWidth:'width of the graph part in --stat output:width:->int' - diff.submodule:'output format for submodule differences::->diff.submodule:short' - diff.suppressBlankEmpty:'inhibit printing space before empty output lines::->bool:false' - diff.tool:'diff tool to use::__git_difftools' - 'difftool.*.cmd:command to invoke for the diff tool::_cmdstring' - 'difftool.*.path:path to use for the diff tool:absolute diff tool path:_absolute_command_paths' - difftool.prompt:'prompt before each invocation of the diff tool::->bool:true' - diff.wordRegex:'regex used to determine what a word is when performing word-by-word diff:regular expression:->string' - diff.guitool:'diff tool with gui to use::__git_difftools' - merge.guitool:'merge tool with gui to use::__git_difftools' - fastimport.unpackLimit:"whether to import objects as loose object files or as a pack:threshold for packing (number of objects imported):->int" - feature.experimental:'enable config options that are new to Git::->bool:false' - feature.manyFiles:'enable config options that optimize for repos with many files::->bool:false' - fetch.output:'output format:format:compadd compact full' - fetch.parallel:'specify maximum number of fetch operations to run in parallel:number:->int' - fetch.prune:'remove any remote tracking branches that no longer exist remotely::->bool:false' - fetch.pruneTags:"maintain one-to-one correspondence with upstream tag refs::->bool:false" - fetch.showForcedUpdates:"show forced updates::->bool:true" - fetch.unpackLimit:'maximum number of objects to unpack when fetching:unpack limit:->int' - fetch.recurseSubmodules:'recurse into submodules (as needed) when fetching::->fetch.recurseSubmodules:on-demand' - fetch.fsckObjects:'check all fetched objects::->bool:false' - fetch.writeCommitGraph:'write a commit-graph after every git fetch command that downloads a pack-file from a remote::->bool:false' - 'filter.*.clean:command which is used to convert the content of a worktree file to a blob upon checkin::_cmdstring' - 'filter.*.smudge:command which is used to convert the content of a blob object to a worktree file upon checkout::_cmdstring' - format.attach:'use multipart/mixed attachments::->bool:false' - format.coverLetter:'control whether to generate a cover-letter when format-patch is invoked::->bool:false' - format.numbered:'use sequence numbers in patch subjects::->format.numbered:auto' - format.headers:'additional email headers to include in email patches:headers:->string' - format.to:'additional email recipients of patches::->string' - format.cc:'additional carbon-copy email recipients of patches:recipients:->string' - format.subjectprefix:'prefix to use for subjects:prefix:->string' - format.signature:'signature to use:signature:->string' - format.suffix:'default suffix for output files from git-format-patch:suffix:->string' - format.pretty:'pretty format for log/show/whatchanged:format:->string' - format.thread:'threading style to use::->format.thread:false' - format.signoff:'enable --signoff by default::->bool:false' - 'gc.*.reflogexpire:grace period for git reflog expire::->days:90' - 'gc.*.reflogexpireunreachable:grace period for git reflog expire for unreachable entries::->days:30' - gc.aggressiveDepth:'maximum delta depth:maximum delta depth::->int:250' - gc.aggressiveWindow:'window size used in delta compression algorithm::->int:250' - gc.auto:'minimum limit for packing loose objects with --auto::->int:6700' - gc.autoDetach:"make 'git gc --auto' run in the background::->bool:true" - gc.autopacklimit:'minimum limit for packing packs with --auto::->int:50' - gc.bigPackThreshold:"keep large packs:size threshold:->bytes" - gc.packrefs:'allow git gc to run git pack-refs::->gc.packrefs:true' - gc.pruneexpire:'grace period for pruning:number of days, "now", or "never":->int' - gc.reflogexpire:'grace period for git reflog expire::->days:90' - gc.reflogexpireunreachable:'grace period for git reflog expire for unreachable entries::->days:30' - gc.rerereresolved:'number of days to keep records of resolved merges::->days:60' - gc.rerereunresolved:'number of days to keep records of unresolved merges::->days:15' - gc.worktreePruneExpire:'grace period for pruning worktrees:number of days, "now", or "never":->int' # git default: 3.months.ago - gitcvs.commitmsgannotation:'string to append to each commit message::->string' - gitcvs.enabled:'enable the cvs server interface::->bool:false' - gitcvs.logfile:'name of log file for cvs pserver:log file:_files' - gitcvs.dbname:'name of database to use:database name:->string' - gitcvs.dbdriver:'name of DBI driver to use::->gitcvs.dbdriver:SQLite' - gitcvs.dbuser:'username to connect to database as:database user:_users' - gitcvs.dbpass:'password to use when connecting to database:password:->string' - gitcvs.dbTableNamePrefix:'database table name prefix:prefix:->string' - 'gitcvs.*.commitmsgannotation:string to append to each commit message:annotation:->string' - 'gitcvs.*.enabled:enable the cvs server interface::->bool:false' - 'gitcvs.*.logfile:name of log file for cvs pserver:log file:_files' - 'gitcvs.*.dbname:name of database to use:database name:->string' - 'gitcvs.*.dbdriver:name of DBI driver to use:DBI driver:->string' - 'gitcvs.*.dbuser:username to connect to database as::_users' - 'gitcvs.*.dbpass:password to use when connecting to database:password:->string' - 'gitcvs.*.dbTableNamePrefix:database table name prefix:prefix:->string' - gitcvs.usecrlfattr:'use end-of-line conversion attributes::->bool:false' - gitcvs.allbinary:'treat all files from CVS as binary::->bool:false' - gpg.format:'private key format for --gpg-sign:format:compadd openpgp x509' - gpg.minTrustLevel:'minimum trust level for signature verification:trust level:compadd undefined never marginal fully ultimate' # TODO: sort in this order (use compadd -V) - {gpg.program,gpg.openpgp.program}:'use program instead of "gpg" found on $PATH when making or verifying a PGP signature::_cmdstring' - gpg.x509.program:'use program instead of "gpgsm" found on $PATH when making or verifying an x509 signature::_cmdstring' - gui.commitmsgwidth:'width of commit message window:width::->int:75' - gui.diffcontext:'number of context lines used in diff window:context::->int:5' - gui.encoding:'encoding to use for displaying file contents::->encoding' - gui.matchtrackingbranch:'create branches that track remote branches::->bool:false' - gui.newbranchtemplate:'suggested name for new branches:template:->string' - gui.pruneduringfetch:'prune tracking branches when performing a fetch::->bool:false' - gui.trustmtime:'trust file modification timestamp::->bool:false' - gui.spellingdictionary:'dictionary to use for spell checking commit messages:dictionary:_files' - gui.fastcopyblame:'try harder during blame detection::->bool:false' - gui.copyblamethreshold:'threshold to use in blame location detection:threshold:->string' - gui.blamehistoryctx:'specify radius of history context in days for selected commit::->days' - 'guitool.*.argprompt:prompt for arguments:argument prompt:->string' - 'guitool.*.cmd:shell command line to execute::_cmdstring' - 'guitool.*.confirm:show a confirmation dialog::->bool:false' - 'guitool.*.needsfile:require that a diff is selected for command to be available::->bool:false' - 'guitool.*.noconsole:suppress command output::->bool:false' - 'guitool.*.norescan:skip rescanning for changes to the working directory::->bool:false' - 'guitool.*.revprompt:request a single valid revision from the user, and set the "REVISION" environment variable::->string' - 'guitool.*.prompt:prompt to display:prompt:->string' - 'guitool.*.revunmerged:show only unmerged branches in revprompt::->bool:false' - 'guitool.*.title:title of prompt dialog:prompt title:->string' - guitool.cmd:'shell command line to execute::_cmdstring' - guitool.needsfile:'require that a diff is selected for command to be available::->bool:false' - guitool.noconsole:'suppress command output::->bool:false' - guitool.norescan:'skip rescanning for changes to the working directory::->bool:false' - guitool.confirm:'show a confirmation dialog::->bool:false' - guitool.argprompt:'prompt for arguments:argument prompt:->string' - guitool.revprompt:'prompt for a single revision:revision prompt:->string' - guitool.revunmerged:'show only unmerged branches in revprompt::->bool:false' - guitool.title:'title of prompt dialog:prompt title:->string' - guitool.prompt:'prompt to display:prompt:->string' - grep.column:"show column number of first match::->bool:false" - grep.extendedRegexp:'enable --extended-regexp option by default (ignored when grep.patternType is set)::->bool:false' - grep.fullname:'enable --full-name option by default::->bool:false' - grep.lineNumber:'enable -n option by default::->bool:false' - grep.patternType:'default matching pattern type::->grep.patternType:default' - grep.threads:"number of worker threads::->int" - help.browser:'browser used to display help in web format::__git_browsers' - help.htmlpath:'location of HTML help::->help.htmlpath' - http.cookiefile:'file containing cookie lines which should be used in the Git http session::_files' - http.lowSpeedLimit:'limit controlling when to abort an HTTP transfer:speed limit:->int' - http.lowSpeedTime:'limit controlling when to abort an HTTP transfer:time limit (seconds):->int' - help.format:'default help format used by git help::->help.format' - help.autocorrect:'execute corrected mistyped commands::->bool:false' - http.proxy:'HTTP proxy to use:proxy:_urls' - http.savecookies:'save cookies to the cookie file::->bool:false' - http.sslVerify:'verify the SSL certificate for HTTPS::->bool:true' - http.sslCert:'file containing SSL certificates for HTTPS:SSL certificate file:_files' - http.sslKey:'file containing the SSL private key for HTTPS:SSL private key file:_files' - http.sslCertPasswordProtected:'prompt for a password for the SSL certificate::->bool:false' - http.sslCAInfo:'file containing CA certificates to verify against for HTTPS:CA certificates file:_files' - http.sslCAPath:'directory containing files with CA certificates to verify against for HTTPS:CA certificates directory:_directories' - http.sslTry:'attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol::->bool:false' - http.maxRequests:'how many HTTP requests to launch in parallel:maximum number of requests::->int:5' - http.minSessions:'number of curl sessions to keep across requests:minimum number of sessions::->int:1' - http.postBuffer:'maximum size of buffer used by smart HTTP transport when POSTing:maximum POST buffer size:->bytes:1m' - http.lowSpeedLimit:'lower limit for HTTP transfer-speed:low transfer-speed limit:->int' - http.lowSpeedTime:'duration for http.lowSpeedLimit:time:->int' - http.noEPSV:'disable the use of the EPSV ftp-command::->bool:false' - http.useragent:'user agent presented to HTTP server:user agent string:->string' - http.getanyfile:'allow clients to read any file within repository::->bool:true' - http.uploadpack:'serve git fetch-pack and git ls-remote clients::->bool:true' - http.receivepack:'serve git send-pack clients::->bool:true' - 'http.*.cookiefile:file containing cookie lines which should be used in the Git http session::_files' - 'http.*.lowSpeedLimit:limit controlling when to abort an HTTP transfer:speed limit:->int' - 'http.*.lowSpeedTime:limit controlling when to abort an HTTP transfer:time limit (seconds):->int' - 'help.*.format:default help format used by git help::->help.format' - 'help.*.autocorrect:execute corrected mistyped commands::->bool:false' - 'http.*.proxy:HTTP proxy to use:proxy:_urls' - 'http.*.savecookies:save cookies to the cookie file::->bool:false' - 'http.*.sslVerify:verify the SSL certificate for HTTPS::->bool:true' - 'http.*.sslCert:file containing SSL certificates for HTTPS:SSL certificate file:_files' - 'http.*.sslKey:file containing the SSL private key for HTTPS:SSL private key file:_files' - 'http.*.sslCertPasswordProtected:prompt for a password for the SSL certificate::->bool:false' - 'http.*.sslCAInfo:file containing CA certificates to verify against for HTTPS:CA certificates file:_files' - 'http.*.sslCAPath:directory containing files with CA certificates to verify against for HTTPS:CA certificates directory:_directories' - 'http.*.sslTry:attempt to use AUTH SSL/TLS and encrypted data transfers when connecting via regular FTP protocol::->bool:false' - 'http.*.maxRequests:how many HTTP requests to launch in parallel:maximum number of requests::->int:5' - 'http.*.minSessions:number of curl sessions to keep across requests:minimum number of sessions::->int:1' - 'http.*.postBuffer:maximum size of buffer used by smart HTTP transport when POSTing:maximum POST buffer size:->bytes:1m' - 'http.*.lowSpeedLimit:lower limit for HTTP transfer-speed:low transfer-speed limit:->int' - 'http.*.lowSpeedTime:duration for http.lowSpeedLimit:time:->int' - 'http.*.noEPSV:disable the use of the EPSV ftp-command::->bool:false' - 'http.*.useragent:user agent presented to HTTP server:user agent string:->string' - 'http.*.getanyfile:allow clients to read any file within repository::->bool:true' - 'http.*.uploadpack:serve git fetch-pack and git ls-remote clients::->bool:true' - 'http.*.receivepack:serve git send-pack clients::->bool:true' - i18n.commitEncoding:'character encoding commit messages are stored in::->encoding' - i18n.logOutputEncoding:'character encoding commit messages are output in::->encoding' - imap.folder:'IMAP folder to use with git imap-send:IMAP folder name::_mailboxes' - imap.tunnel:'tunneling command to use for git imap-send:tunnel command:_cmdstring' - imap.host:'host git imap-send should connect to::_hosts' - # TODO: If imap.host is set, complete users on that system. - imap.user:'user git imap-send should log in as::_users' - imap.pass:'password git imap-send should use when logging in:password:->string' - imap.port:'port git imap-send should connect on::_ports' - imap.sslverify:'verify server certificate::->bool:true' - imap.preformattedHTML:'use HTML encoding when sending a patch::->bool:false' - imap.authMethod:'authentication method used::->imap.authMethod' - init.templatedir:'directory from which templates are copied:template directory:_directories' - instaweb.browser:'browser to use when browsing with gitweb::__git_browsers' - instaweb.httpd:'HTTP-daemon command-line to execute for instaweb:daemon:_cmdstring' - instaweb.local:'bind to 127.0.0.1::->bool:false' - instaweb.modulepath:'module path for the Apache HTTP-daemon for instaweb:module directory:_directories' - instaweb.port:'port to bind HTTP daemon to for instaweb::_ports' - interactive.diffFilter:"mark up diffs for human consumption:filter command:_cmdstring" - interactive.singlekey:'accept one-letter input without Enter::->bool:false' - log.abbrevCommit:'make git-log, git-show, and git-whatchanged assume --abbrev-commit::->bool:false' - log.date:'default date-time mode::__git_date_formats' - log.decorate:'type of ref names to show::__git_log_decorate_formats' - log.mailmap:'make git-log, git-show, and git-whatchanged assume --use-mailmap:->bool:false' - log.showroot:'show initial commit as a diff against an empty tree::->bool:true' - mailinfo.scissors:'remove everything in body before a scissors line::->bool:false' - mailmap.blob:'like mailmap.file, but consider the value as a reference to a blob in the repository:blob reference:->string' - mailmap.file:'augmenting mailmap file:mailmap file:_files' - man.viewer:'man viewer to use for help in man format::__git_man_viewers' - 'man.*.cmd:the command to invoke the specified man viewer:man command:_cmdstring' - 'man.*.path:path to use for the man viewer:absolute man tool path:_absolute_command_paths' - merge.branchdesc:'populate the log message with the branch description text as well::->bool:false' - merge.conflictstyle:'style used for conflicted hunks::->merge.conflictstyle:merge' - merge.defaultToUpstream:'merge the upstream branches configured for the current branch by default::->bool:true' - merge.ff:'allow fast-forward merges::->merge.ff:true' - merge.log:'include summaries of merged commits in new merge commit messages::->bool:false' - merge.directoryRenames:"try to detect directory renames:mode:compadd false true conflict" - merge.renames:"try to detect renames::->diff.renames" - merge.renameLimit:'number of files to consider when detecting copy/renames during merge:limit (number of files):->int' - merge.renormalize:'use canonical representation of files during merge::->bool:false' - merge.stat:'print the diffstat between ORIG_HEAD and merge at end of merge::->bool:true' - merge.tool:'tool used by git mergetool during merges::__git_mergetools' - merge.verbosity:'amount of output shown by recursive merge strategy::->merge.verbosity:2' - 'merge.*.name:human-readable name for custom low-level merge driver:name:->string' - 'merge.*.driver:command that implements a custom low-level merge driver:merge command:_cmdstring' - 'merge.*.recursive:low-level merge driver to use when performing internal merge between common ancestors::__git_builtin_merge_drivers' - 'mergetool.*.path:path to use for the merge tool:absolute merge tool path:_absolute_command_paths' - 'mergetool.*.cmd:command to invoke for the merge tool:merge command:_cmdstring' - 'mergetool.*.trustExitCode:trust the exit code of the merge tool::->bool:false' - mergetool.keepBackup:'keep the original file with conflict markers::->bool:true' - mergetool.keepTemporaries:'keep temporary files::->bool:false' - mergetool.prompt:'prompt before each invocation of the merge tool::->bool:true' - notes.displayRef:'refname to show notes from::->refname' - notes.rewrite.amend:'copy notes from original to rewritten commit when running git amend::->bool:true' - notes.rewrite.rebase:'copy notes from original to rewritten commit when running git rebase::->bool:true' - notes.rewriteMode:'what to do when target commit already has a not when rewriting::->notes.rewriteMode' - notes.rewriteRef:'refname to use when rewriting::->refname' - pack.window:'size of window:window size::->int:10' - pack.depth:'maximum delta depth:maximum delta depth::->int:50' - pack.windowMemory:'window size limit:maximum window size:->bytes:0' - pack.compression:'compression level::->compression:-1' - pack.deltaCacheSize:'maximum amount of memory for caching deltas:maximum delta cache size:->bytes:256m' - pack.deltaCacheLimit:'maximum size of deltas:maximum delta size::->int:1000' - pack.threads:'number of threads to use for searching for best delta matches:number of threads:->int' - pack.indexVersion:'default pack index version:index version:->string' - pack.packSizeLimit:'maximum size of packs:maximum size of packs:->bytes' - pull.ff:'accept fast-forwards only::->bool:false' - pull.octopus:'default merge strategy to use when pulling multiple branches::__git_merge_strategies' - pull.rebase:'rebase branches on top of the fetched branch, instead of merging::->pull.rebase:false' - pull.twohead:'default merge strategy to use when pulling a single branch::__git_merge_strategies' - push.default:'action git push should take if no refspec is given::->push.default:simple' - push.followTags:'enable --follow-tags option by default::->bool:false' - push.gpgSign:'GPG-sign pushes::->bool:false' - push.recurseSubmodules:'ensure all submodule commits are available on a remote-tracking branch' - push.pushOption:'transmit strings to server to pass to pre/post-receive hooks::->string' - rebase.stat:'show a diffstat of what changed upstream since last rebase::->bool:false' - rebase.autoSquash:'autosquash by default::->bool:false' - rebase.autoStash:'autostash by default::->bool:false' - rebase.instructionFormat:'interactive rebase todo list format::__git_format_placeholders' - rebase.missingCommitsCheck:'print a warning if some commits are removed' - rebase.rescheduleFailedExec:"automatically re-schedule any 'exec' that fails::->bool" - receive.autogc:'run git gc --auto after receiving data::->bool:true' - receive.fsckObjects:'check all received objects::->bool:true' - receive.hiderefs:'string(s) receive-pack uses to decide which refs to omit from its initial advertisement:hidden refs:->string' - receive.unpackLimit:'maximum number of objects received for unpacking into loose objects:unpack limit:->int' - receive.denyDeletes:'deny a ref update that deletes a ref::->bool:false' - receive.denyDeleteCurrent:'deny a ref update that deletes currently checked out branch::->bool:false' - receive.denyCurrentBranch:'deny a ref update of currently checked out branch::->receive.denyCurrentBranch' - receive.denyNonFastForwards:'deny a ref update that is not a fast-forward::->bool:false' - receive.updateserverinfo:'run git update-server-info after receiving data::->bool:false' - 'remote.pushdefault:URL of a remote repository to pushto::__git_any_repositories' - 'remote.*.url:URL of a remote repository::__git_any_repositories' - 'remote.*.partialclonefilter:filter applied when fetching from this promisor remote:filter:->string' - 'remote.*.promisor:use this remote to fetch promisor objects::->bool:false' - 'remote.*.pushurl:push URL of a remote repository::__git_any_repositories' - 'remote.*.proxy:URL of proxy to use for a remote repository::_urls' - "remote.*.pruneTags:maintain one-to-one correspondence with remote's tag refs::->bool:false" - 'remote.*.prune:remove any remote tracking branches that no longer exist remotely::->bool:false' - 'remote.*.fetch:default set of refspecs for git fetch::__git_ref_specs_fetchy' - 'remote.*.push:default set of refspecs for git push::__git_ref_specs_pushy' - 'remote.*.mirror:push with --mirror::->bool:false' - 'remote.*.skipDefaultUpdate:skip this remote by default::->bool:false' - 'remote.*.skipFetchAll:skip this remote by default::->bool:false' - 'remote.*.receivepack:default program to execute on remote when pushing:git receive-pack command:_cmdstring' - 'remote.*.uploadpack:default program to execute on remote when fetching:git upload-pack command:_cmdstring' - 'remote.*.tagopt:options for retrieving remote tags::->remote.tagopt' - 'remote.*.vcs:interact with the remote through git-remote helper:remote VCS:->string' - repack.packKeptObjects:'repack objects in packs marked with .keep::->bool' - repack.useDeltaIslands:'pass --delta-islands to git-pack-objects::->bool:false' - repack.usedeltabaseoffset:'use delta-base offsets::->bool:true' - repack.writeBitmaps:'trade off disk space for faster subsequent repacks::->bool' - rerere.autoupdate:'update index after resolution::->bool:false' - rerere.enabled:'record resolved conflicts::->bool' - reset.quiet:'pass --quiet by default::->bool:false' - sendemail.identity:'default identity::__git_sendemail_identities' - sendemail.smtpencryption:'encryption method to use::->sendemail.smtpencryption' - sendemail.aliasesfile:'file containing email aliases:email aliases file:_files' - sendemail.aliasfiletype:'format of aliasesfile::->sendemail.aliasfiletype' - sendemail.annotate:'review and edit each patch you are about to send::->bool:false' - sendemail.bcc:'value of Bcc\: header::_email_addresses' - sendemail.cc:'value of Cc\: header::_email_addresses' - sendemail.cccmd:'command to generate Cc\: header with:Cc\: command:_cmdstring' - sendemail.tocmd:'command to generate To\: header with:To\: command:_cmdstring' - sendemail.chainreplyto:'send each email as a reply to the previous one::->bool:false' - sendemail.confirm:'type of confirmation required before sending::->sendemail.confirm:auto' - sendemail.envelopesender:'envelope sender to send emails as::_email_addresses' - sendemail.from:'sender email address::_email_addresses' - sendemail.multiedit:'edit all files at once::->bool:true' - sendemail.signedoffbycc:'add Signed-off-by\: or Cc\: lines to Cc\: header::->bool:true' - sendemail.smtpBatchSize:"number of messages to send per SMTP connection::->int" - sendemail.smtpReloginDelay:"delay before reconnecting to SMTP server:delay (seconds):->int" - sendemail.smtppass:'password to use for SMTP-AUTH:password:->string' - sendemail.suppresscc:'rules for suppressing Cc\:::->sendemail.suppresscc' - sendemail.suppressfrom:'add From\: address to the Cc\: list::->bool:false' - sendemail.to:'value of To\: header::_email_addresses' - sendemail.smtpdomain:'FQDN to use for HELO/EHLO commands to SMTP server:smtp domain:_domains' - sendemail.smtpserver:'SMTP server to connect to:smtp host: __git_sendmail_smtpserver_values' - sendemail.smtpserveroption:'specifies the outgoing SMTP server option to use:SMTP server option:->string' - sendemail.smtpserverport:'port to connect to SMTP server on:smtp port:_ports' - sendemail.smtpsslcertpath:'path to ca-certificates (directory or file):ca certificates path:_files' - sendemail.smtpuser:'user to use for SMTP-AUTH:smtp user:_users' - sendemail.thread:'set In-Reply-To\: and References\: headers::->bool:true' - sendemail.validate:'perform sanity checks on patches::->bool:true' - sendemail.xmailer:'add the "X-Mailer" header::->bool:true' - 'sendemail.*.aliasesfile:file containing email aliases::_files' - 'sendemail.*.aliasfiletype:format of aliasesfile::->sendemail.aliasfiletype' - 'sendemail.*.annotate:review and edit each patch you are about to send::bool->false' - 'sendemail.*.bcc:value of Bcc\: header::_email_addresses' - 'sendemail.*.cc:value of Cc\: header::_email_addresses' - 'sendemail.*.cccmd:command to generate Cc\: header with:Cc\: command:_cmdstring' - 'sendemail.*.tocmd:command to generate To\: header with:To\: command:_cmdstring' - 'sendemail.*.chainreplyto:send each email as a reply to the previous one::->bool:false' - 'sendemail.*.confirm:type of confirmation required before sending::->sendemail.confirm:auto' - 'sendemail.*.envelopesender:envelope sender to send emails as::_email_addresses' - 'sendemail.*.from:sender email address::_email_addresses' - 'sendemail.*.multiedit:edit all files at once::->bool:false' - 'sendemail.*.signedoffbycc:add Signed-off-by\: or Cc\: lines to Cc\: header::->bool:true' - 'sendemail.*.smtppass:password to use for SMTP-AUTH:password:->string' - 'sendemail.*.suppresscc:rules for suppressing Cc\:::->sendemail.suppresscc' - 'sendemail.*.suppressfrom:rules for suppressing From\:::->sendemail.suppressfrom' - 'sendemail.*.to:value of To\: header::_email_addresses' - 'sendemail.*.smtpdomain:FQDN to use for HELO/EHLO commands to SMTP server:smtp domain:_domains' - 'sendemail.*.smtpserver:SMTP server to connect to:smtp host: __git_sendmail_smtpserver_values' - 'sendemail.*.smtpserveroption:specifies the outgoing SMTP server option to use:SMTP server option:->string' - 'sendemail.*.smtpserverport:port to connect to SMTP server on:smtp port:_ports' - 'sendemail.*.smtpuser:user to use for SMTP-AUTH:smtp user:_users' - 'sendemail.*.thread:set In-Reply-To\: and References\: headers::->bool:true' - 'sendemail.*.validate:perform sanity checks on patches::->bool:true' - sendemail.assume8bitEncoding:'encoding to use for non-ASCII messages::__git_encodings' - sequence.editor:'text editor used by git rebase -i::_cmdstring' - showbranch.default:'default set of branches for git show-branch::->branch' - status.aheadBehind:"display detailed ahead/behind counts relative to upstream branch::->bool:true" - status.relativePaths:'show paths relative to current directory::->bool:false' - status.showStash:'show number of stashes::->bool:false' - status.showUntrackedFiles:'show untracked files::->status.showUntrackedFiles:normal' - status.submodulesummary:'include submodule summary::->bool:false' - status.branch:'show branch and tracking info in short format::->bool:false' - status.short:'use short format by default::->bool:false' - status.renameLimit:'number of files to consider when detecting copy/renames:limit (number of files):->int' - status.renames:"detect renames in 'status' and 'commit'::->diff.renames" - 'submodule.*.branch:remote branch name for a submodule:branch name:->string' - 'submodule.*.fetchRecurseSubmodules:fetch commits of submodules::->bool' - 'submodule.*.path:path within project:submodule directory:_directories -qS \:' - 'submodule.*.url:URL to update from::__git_any_repositories' - 'submodule.*.update:update strategy to use::->submodule.update:none' - 'submodule.*.ignore:ignore modifications to submodules with git status and git diff-*::->submodule.ignore' - submodule.recurse:'recurse into submodules by default (for most git commands)::->bool:false' - ssh.variant:'SSH command flavour:flavour id:compadd ssh simple plink putty tortoiseplink' - svn.noMetadata:'disable git-svn-id: lines at end of commits::->bool:false' - svn.useSvmProps:'use remappings of URLs and UUIDs from mirrors::->bool:false' - svn.useSvnsyncProps:'use remappings of URLs and UUIDs for the svnsync command::->bool:false' - svn.ignore-paths:'regular expression of paths to not check out:regular expression:->string' - svn.brokenSymlinkWorkaround:'apply the broken-symlink check::->bool:true' - svn.pathnameencoding:'encoding to recode pathnames into::->encoding' - svn.followparent:'follow parent commit::->bool:true' - svn.authorsFile:'default authors file:authors file:_files' - svn.quiet:'produce less output::->bool:false' - 'svn-remote.*.automkdirs:attempt to recreate empty directories that are in the Subversion repository::->bool:true' - 'svn-remote.*.noMetadata:disable git-svn-id: lines at end of commits::->bool:false' - 'svn-remote.*.useSvmProps:use remappings of URLs and UUIDs from mirrors::->bool:false' - 'svn-remote.*.useSvnsyncProps:use remappings of URLs and UUIDs for the svnsync command::->bool:false' - 'svn-remote.*.rewriteRoot:alternate root URL to use:root url:_urls' - 'svn-remote.*.rewriteUUID:remap URLs and UUIDs for mirrors manually::->bool:false' - 'svn-remote.*.ignore-paths:regular expression of paths to not check out:regular expression:->string' - 'svn-remote.*.url:URL to connect to::_urls' - 'svn-remote.*.fetch:fetch specification::__git_ref_specs_fetchy' # ### undocumented - 'svn-remote.*.pushurl:URL to push to::_urls' - 'svn-remote.*.branches:branch mappings:branch mapping:->string' - 'svn-remote.*.tags:tag mappings:tag mapping:->string' - tag.gpgSign:'sign all tags::->bool' - tag.sort:'default sorting method:sorting method:->string' - 'tar.*.command:specify a shell command through which the tar output generated by git archive should be piped::_cmdstring' - 'tar.*.remote:enable <format> for use by remote clients via git-upload-archive::->bool' - tar.umask:'umask to apply::->umask' - transfer.unpackLimit:'default value for fetch.unpackLimit and receive.unpackLimit:unpack limit::->int:100' - transfer.fsckObjects:'check all objects::->bool:false' - transfer.hiderefs:'string(s) to decide which refs to omit from initial advertisements:hidden refs:->string' - uploadpack.hiderefs:'string(s) upload-pack uses to decide which refs to omit from its initial advertisement:hidden refs:->string' - uploadpack.allowtipsha1inwant:'allow upload-pack to accept a fetch request that asks for an object at the tip of a hidden ref::->bool:false' - uploadarchive.allowUnreachable:'allow git-upload-archive to accept an archive requests that ask for unreachable objects::->bool:false' - 'url.*.insteadOf:string to start URLs with:prefix:->string' - 'url.*.pushInsteadOf:string to start URLs to push to with:prefix:->string' - user.email:'email address used for commits::_email_addresses -c' - user.name:'full name used for commits:name:->string' - user.useConfigOnly:'avoid guessing defaults for user.email and user.name:->bool:true' - user.signingkey:'default GPG key to use when creating signed tags::__git_gpg_secret_keys' - versionsort.suffix:'specify sort order of suffixes applied to tags:suffix' - web.browser:'web browser to use::__git_browsers' - worktree.guessRemote:'with add, if branch matches remote track it::->bool:true' - - {fetch.fsck.skipList,receive.fsck.skipList,fsck.skipList}:'ignore objects broken in a non-fatal way:path to a list of objects:_files' - ) - - declare -a git_present_options # 'present' is an adjective - git_present_options=( - ${${${(0)"$(_call_program gettable-options git config -z --list)"}%%$'\n'*}//:/\\:} - - # Remove the "'git help config' for more information" line. - # - # Change literal 'foo.<bar>.baz' to 'foo.*.baz'. With that, completing - # at foo.lorem.<TAB> will offer foo.lorem.baz. - ${${${(f)"$(_call_program all-known-options "git help -c")"}:#* *}/<*>/*} - ) - - # Add to $git_options options from the config file, and from 'git help -c', - # that aren't already in $git_options. - () { - local -a -U sections_that_permit_arbitrary_subsection_names=( - alias - pager - pretty - remotes - ${(u)${(M)${git_options%%:*}:#*[.][*][.]*}%%.*} - ${(u)${(M)git_present_options:#*[.][*][.]*}%%.*} - ) - local key - for key in $git_present_options ; do - if (( ${+git_options[(r)(#i)${(b)key}:*]} )); then - # $key is already in git_options - continue - elif (( ${+sections_that_permit_arbitrary_subsection_names[(r)${(b)key%%.*}]} )); then - if [[ $key == *.*.* ]]; then - # If $key isn't an instance of a known foo.*.bar:baz $git_options entry... - if ! (( ${+git_options[(r)(#i)${(b)key%%.*}.[*].${(b)key##*.}:*]} )); then - # ... then add it. - git_options+="${key}:unknown option name::->unknown" - fi - else - # $key is of the form "foo.bar" where 'foo' is known - # No need to add it; "foo.<TAB>' will find 'bar' via another codepath later - # ### TODO: that "other codepath" will probably run git config -z again, redundantly. - continue - fi - else - git_options+="${key}:unknown option name::->unknown" - fi - done - } - - case $state in - (section) - __git_config_sections -b '(|)' '^' section-names 'section name' $* && ret=0 - ;; - (is-a-tty) - declare -a values - values=( - true - false - auto) - _describe -t values 'stdout is a tty' values && ret=0 - ;; - (option) - local label=option - declare -a sections sections_and_options options - - [[ -prefix *. ]] && label="${line[1]%.*} option" - - if compset -P '[^.]##.*.'; then - declare -a match mbegin mend - # TODO: completing 'gpg.openpgp<TAB>' adds both 'gpg.openpgp.program' and 'gpg.*.program' to $options, so it ends up being listed as 'unknown option name' even though we have a description - # When completing 'remote.foo.<TAB>', offer 'bar' if $git_options contains 'remote.foo.bar'. - options+=(${${${${(M)git_options:#(#i)${IPREFIX}[^.:]##:*}#(#i)${IPREFIX}}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}) - # When completing 'remote.foo.<TAB>', offer 'bar' if $git_options contains 'remote.*.bar'. - options+=(${${${${(M)git_options:#(#i)${IPREFIX%%.*}.\*.[^.:]##:*}#(#i)${IPREFIX%%.*}.\*.}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}) - - declare -a labels - labels=( - 'branch.*.:${${line[1]#branch.}%.*} branch option' - 'browser.*.:${${line[1]#browser.}%.*} browser option' - 'color.branch.:branch-specific color option' - 'color.diff.:diff-specific color option' - 'color.decorate.:git-log---decorate-specific color option' - 'color.grep.:git-grep-specific color option' - 'color.interactive.:interaction-specific color option' - 'color.status.:git-status-specific color option' - 'credential.*.:${${line[1]#credential.}%.*}-specific option' - 'filter.*.:${${line[1]#filter.}%.*} driver option' - 'diff.*.:${${line[1]#diff.}%.*} driver option' - 'difftool.*.:${${line[1]#difftool.}%.*}-specific option' - 'gc.*.:${${line[1]#gc.}%.*}-specific gc option' - 'gitcvs.*.:gitcvs ${${line[1]#gitcvs.}%.*}-specific option' - 'guitool.*.:${${line[1]#guitool.}%.*}-specific option' - 'http.*.:${${line[1]#http.}%.*}-specific option' - 'man.*.:${${line[1]#man.}%.*}-specific man option' - 'merge.*.:${${line[1]#merge.}%.*}-specific merge option' - 'mergetool.*.:${${line[1]#mergetool.}%.*}-specific option' - 'sendemail.*.:${${line[1]#sendemail.}%.*}-specific sendemail option' - 'submodule.*.:${${line[1]#submodule.}%.*}-submodule-specific option' - 'url.*.:${${line[1]#url.}%.*}-specific option' - 'svn-remote.*.:git-svn ${${line[1]#svn-remote.}%.*}-specific option') - - local found - found=${${${(M)labels:#(${IPREFIX}|${IPREFIX%%.*}.\*.):*}[1]}#*:} - [[ -n $found ]] && label=${(Q)"$(eval "print -rn -- $found")"} - elif compset -P '[^.]##.'; then - local opt - declare -a match mbegin mend - for opt in ${${${${(M)git_options:#(#i)${IPREFIX}[^.:][^:]#:*}#(#i)${IPREFIX}}/#(#b)([^:]##:)([^\\:]#(\\?[^\\:]#)#:[^\\:]#(\\?[^\\:]#)#:->bool)/$match[1]whether or not to $match[2]}/#(#b)([^:]##:([^\\:]#(\\?[^\\:]#)#))*/$match[1]}; do - if (( ${git_options[(I)${IPREFIX}${opt%%:*}.*]} )); then - sections_and_options+=$opt - else - options+=$opt - fi - done - - declare -a subsections - subsections=( - 'color.decorate:git log --decorate options' - 'gitcvs.ext:ext-connection-method-specific options' - 'gitcvs.pserver:pserver-connection-method-specific options' - 'notes.rewrite:commands to copy notes from original for when rewriting commits') - # Set $sections to the applicable subsection names (e.g., 'decorate:...' if $IPREFIX == "color.") - sections+=(${${(M)subsections:#${IPREFIX}[^.:]##(.|):*}#${IPREFIX}}) - - # TODO: Is it fine to use functions like this before _describe below, - # or do we need a tag loop? - # TODO: It would be nice to output _message -e TYPE label when the - # following functions don't generate any output in the case of - # multi-level options. - case $IPREFIX in - # Note: If you add a branch to this 'case' statement, - # update $sections_that_permit_arbitrary_subsection_names. - (alias.) - __git_aliases && ret=0 - ;; - (branch.) - __git_branch_names -S . && ret=0 - ;; - (browser.) - __git_browsers -S . && ret=0 - ;; - (credential.) - _urls && ret=0 - ;; - (difftool.) - __git_difftools -S . && ret=0 - ;; - (gc.) - __git_config_sections '^gc\..+\.[^.]+$' refpatterns 'ref pattern' -S . && ret=0 - ;; - (guitool.) - __git_config_sections '^guitool\..+\.[^.]+$' guitools 'gui tool' -S . && ret=0 - ;; - (http.) - __git_config_sections '^http\..+\.[^.]+$' bases base -S . && ret=0 - ;; - (man.) - __git_man_viewers -S . && ret=0 - ;; - (merge.) - __git_merge_drivers -S . && ret=0 - ;; - (mergetool.) - __git_mergetools -S . && ret=0 - ;; - (pager.) - _git_commands && ret=0 - ;; - (pretty.) - __git_config_sections -a '(|)' '^pretty\..+\.[^.]+$' prettys 'pretty format string' && ret=0 - ;; - (remote.) - __git_remotes -S . && ret=0 - ;; - (remotes.) - __git_remote-groups && ret=0 - ;; - (sendemail.) - __git_sendemail_identities -S . && ret=0 - ;; - (submodule.) - __git_submodules -S . && ret=0 - ;; - (url.) - __git_config_sections '^url\..+\.[^.]+$' bases base -S . && ret=0 - ;; - (svn-remote.) - __git_svn-remotes -S . && ret=0 - ;; - (*.) - local -a existing_subsections=( ${${${(M)git_present_options:#${IPREFIX}*.*}#${IPREFIX}}%.*} ) - _describe -t existing-subsections "existing subsection" existing_subsections -S . && ret=0 - ;; - esac - else - sections=( - advice:'options controlling advice' - author:'options controlling author identity' - committer:'options controlling committer identity' - core:'options controlling git core' - credential:'credential options' - add:'git add options' - alias:'command aliases' - am:'git am options' - apply:'git apply options' - blame:'git blame options' - branch:'branch options' - browser:'browser options' - clean:'git clean options' - color:'color options' - column:'column options' - commit:'git commit options' - diff:'diff options' - difftool:'difftools' - feature:'options modifying defaults for a group of other settings' - fetch:'git fetch options' - format:'format options' - gc:'git gc options' - gpg:'gpg options' - gitcvs:'git-cvs options' - gui:'git gui options' - guitool:'git gui tool options' - help:'git help options' - http:'http options' - i18n:'internationalization options' - imap:'IMAP options' - init:'git init options' - instaweb:'git web options' - interactive:'options controlling interactivity' - log:'git log options' - mailmap:'mailmap options' - man:'man options' - merge:'git merge options' - mergetool:'mergetools' - notes:'git notes options' - pack:'options controlling packing' - pager:'pager options' - pretty:'pretty formats' - pull:'git pull options' - push:'git push options' - rebase:'git rebase options' - receive:'git receive options' - remote:'remotes' - remotes:'remotes groups' - repack:'repack options' - rerere:'git rerere options' - sendemail:'git send-email options' - showbranch:'showbranch options' - status:'git status options' - submodule:'git submodule options' - tar:'git tar-tree options' - transfer:'options controlling transfers' - uploadpack:'git upload-pack options' - uploadarchive:'git upload-archive options' - url:'URL prefixes' - user:'options controlling user identity' - web:'web options' - versionsort:'tag sorting options' - worktree:'git worktree options' - svn:'git svn options' - svn-remote:'git svn remotes' - ) - () { - local i - for i in ${(u)git_present_options%%.*}; do - (( ${+sections[(r)(#i)${(b)i}:*]} )) || - sections+="${i}:unknown section name" - done - } - fi - - # TODO: Add equivalent of -M 'r:|.=* r:|=*' here so that we can complete - # b.d.c to browser.dillo.cmd. - _describe -t option-names $label \ - sections -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' -S . -- \ - sections_and_options -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' -qS . -- \ - options -M 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' "$@" && ret=0 - ;; - (gettable-option) - _wanted git-options expl option compadd -M 'r:|.=* r:|=*' -a - git_present_options && ret=0 - ;; - (gettable-colorbool-option) - __git_config_sections -b '(|)' -a '(|)' '^color\.[^.]+$' gettable-colorbool-options option && ret=0 - ;; - (gettable-color-option) - __git_config_sections -b '(|)' -a '(|)' '^color\.[^.]+\..*$' gettable-color-options option && ret=0 - ;; - (value) - local current=${${(0)"$(_call_program current "git config $opt_args[(I)--system|--global|--local]" ${(kv)opt_args[(I)-f|--file]} "-z --get ${(q)line[1]}")"}#*$'\n'} - case $line[1] in - (alias.*) - if [[ -n $current ]]; then - compadd - $current && ret=0 - else - _message 'command' - fi - return - ;; - (remotes.*) - # TODO: Use this strategy for all multi-item values. - compset -P '* ' - - local suffix - if [[ $words[CURRENT] == [\"\']* ]]; then - suffix=' ' - else - suffix='\ ' - fi - - # TODO: Should really only complete unique remotes, that is, not the same - # remote more than once in the list. - __git_remotes -S $suffix -q && ret=0 - return ret - ;; - esac - local z=$'\0' - - # Set $parts to the $git_options element that corresponds to $line[1] - # (the option name whose value is currently being completed). The elements - # of $parts are the colon-separated elements of the $git_options element. - declare -a parts - parts=("${(S@0)${git_options[(r)(#i)${line[1]}:*]}//(#b)(*[^\\]|):/$match[1]$z}") - if (( $#parts < 2 )) && [[ $line[1] == [^.]##.*.[^.]## ]]; then - parts=("${(S@0)${git_options[(r)(#i)${line[1]%%.*}.\*.${line[1]##*.}:*]}//(#b)(*[^\\]|):/$match[1]$z}") - fi - - (( $#parts >= 4 )) || return ret - case $parts[4] in - ('->'*) - case ${parts[4]#->} in - (apply.ignorewhitespace) - __git_config_values -- "$current" "$parts[5]" \ - {no,false,never,none}':do not ignore whitespace' \ - change:'ignore changes in whitespace' && ret=0 - ;; - (apply.whitespace) - __git_apply_whitespace_strategies && ret=0 - ;; - (bool) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" && ret=0 - ;; - (branch) - __git_branch_names && ret=0 - ;; - (branch.autosetuprebase) - __git_config_values -- "$current" "$parts[5]" \ - never:'never set branch.*.rebase to true' \ - local:'set branch.*.rebase to true for tracked branches of local branches' \ - remote:'set branch.*.rebase to true for tracked branches of remote branches' \ - always:'set branch.*.rebase to true for all tracking branches' && ret=0 - ;; - (branch.mergeoptions) - # TODO: Complete options to git-merge(1). - _message 'git-merge options' - ;; - (bytes) - __git_guard_bytes "$parts[3]" && ret=0 - ;; - (color) - compset -P '* ' - - case ($words[CURRENT]) in - (?*' '?*' '*) - if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then - __git_colors && ret=0 - else - __git_color_attributes && ret=0 - fi - ;; - (*) - local suffix q_flag - if [[ $words[CURRENT] == [\"\']* ]]; then - suffix=' ' - q_flag=-q - else - suffix='\ ' - fi - - if [[ $words[CURRENT] == *(bold|dim|ul|blink|reverse)* ]]; then - __git_colors -S $suffix $q_flag && ret=0 - else - _alternative \ - 'colors::__git_colors -S $suffix $q_flag' \ - 'attributes::__git_color_attributes -S $suffix $q_flag' && ret=0 - fi - ;; - esac - ;; - (color-bool) - __git_config_values -t booleans -l boolean -- "$current" "$parts[5]" \ - {never,false,no,off}:"do not $parts[2]" \ - always:"always $parts[2]" \ - {auto,true,yes,on}:$parts[2] && ret=0 - ;; - (compression) - __git_compression_levels && ret=0 - ;; - (core.autocrlf) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - input:'convert CRLFs on input only' && ret=0 - ;; - (core.checkstat) - __git_config_values -- "$current" "$parts[5]" \ - default:'check all fields' \ - minimal:'check fewer fields' && ret=0 - ;; - (core.createObject) - __git_config_values -- "$current" "$parts[5]" \ - rename:'rename source objects' \ - link:'hardlink, then delete source objects' && ret=0 - ;; - (core.safecrlf) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - warn:'only warn about irreversible CRLF conversions' && ret=0 - ;; - (core.whitespace) - declare -a values - - values=( - 'blank-at-eol[treat whitespace at the end of the line as an error]' - 'space-before-tab[treat space character before tab character in initial indent as an error]' - 'indent-with-non-tab[treat lines indented with 8 or more space characters as an error]' - 'tab-in-indent[treat lines indented with a tab character as an error]' - 'blank-at-eof[treat blank lines at the end of the files as an error]' - 'cr-at-eol[treat carriage-return at the end of the line as part of line terminator]') - - _values -s , $parts[2] $values && ret=0 - ;; - (days) - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - __git_guard_number 'number of days' - fi - ;; - (diff.algorithm) - __git_config_values -- "$current" "$parts[5]" \ - default:'basic greedy diff algorithm' \ - myers:'basic greedy diff algorithm' \ - minimal:'spend extra time to make sure the smallest possible diff is produced' \ - patience:'generate diffs with patience algorithm' \ - histogram:'generate diffs with histogram algorithm' && ret=0 - ;; - (diff.renames) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - {copies,copy}:'try to detect both renames and copies' && ret=0 - ;; - (diff.submodule) - __git_config_values -- "$current" "$parts[5]" \ - short:'show pairs of commit name' \ - log:'list commits like git submodule does' && ret=0 - ;; - (encoding) - __git_encodings && ret=0 - ;; - (eol) - __git_config_values -- "$current" "$parts[5]" \ - lf:'use LF' \ - crlf:'use CR+LF' \ - native:'use line ending of platform' && ret=0 - ;; - (fetch.recurseSubmodules) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - on-demand:'only when submodule reference in superproject is updated' && ret=0 - ;; - (format.numbered) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - auto:'use sequence numbers if more than one patch' && ret=0 - ;; - (format.thread) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - deep:'make every mail a reply to the previous one' \ - shallow:'make every mail a reply to the first one' && ret=0 - ;; - (gc.packrefs) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - notbare:'pack references if the repository has a working directory' && ret=0 - ;; - (gitcvs.dbdriver) - # TODO: Would be nice to only include those that are installed, but I - # couldn't figure out a good way of doing that when I wrote this code. - __git_config_values -t dbi-drivers -l 'DBI driver' -- "$current" "$part[5]" \ - SQLite:'use the SQLite database driver' \ - Pg:'use the Pg database driver' && ret=0 - ;; - (grep.patternType) - __git_config_values -- "$current" "$parts[5]" \ - basic:'use --basic-regexp' \ - default:'use default' \ - extended:'use --extended-regexp' \ - fixed:'use --fixed-strings' \ - perl:'use --perl-regexp' && ret=0 - ;; - (help.format) - __git_config_values -- "$current" "$parts[5]" \ - man:'use man' \ - info:'use info' \ - {web,html}:'use HTML' && ret=0 - ;; - (help.htmlpath) - _alternative \ - 'path::_files -/' \ - 'url::_urls' && ret=0 - ;; - (imap.authMethod) - __git_config_values -- "$current" "$parts[5]" \ - CRAM-MD5:'use CRAM-MD5' && ret=0 - ;; - (int) - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - __git_guard_number ${parts[3]:-'integer'} - fi - ;; - (merge.conflictstyle) - __git_config_values -- "$current" "$parts[5]" \ - merge:'use standard merge style' \ - diff3:'use diff3 style' && ret=0 - ;; - (merge.ff) - __git_config_booleans "$current" "$parts[5]" "$parts[2]" \ - only:'only allow fast-forward merges (equivalent to --ff-only)' && ret=0 - ;; - (merge.verbosity) - __git_config_values -t verbosity-levels -l 'verbosity level' -- "$current" "$parts[5]" \ - 0:'only final error message if conflicts were detected' \ - 1:'conflicts' \ - 2:'conflicts and file changes' \ - 5:'debugging information' && ret=0 - ;; - (notes.rewriteMode) - __git_config_values -- "$current" "$parts[5]" \ - overwrite:'overwrite existing notes' \ - concatenate:'add the note to the existing ones' \ - ignore:'ignore the new note' && ret=0 - ;; - (permission) - __git_repository_permissions && ret=0 - ;; - (pull.rebase) - __git_config_values -- "$current" "$parts[5]" \ - {true,yes,on}:$parts[2] \ - {false,no,off}:"do not $parts[2]" \ - preserve:"rebase and preserve merges" && ret=0 - ;; - (push.default) - __git_config_values -- "$current" "$parts[5]" \ - nothing:'do not push anything' \ - matching:'push all matching branches' \ - upstream:'push current branch to its upstream branch' \ - simple:'like upstream, but only if local and remote names are the same' \ - current:'push current branch to branch of same name' && ret=0 - ;; - (receive.denyCurrentBranch) - __git_config_values -- "$current" "$parts[5]" \ - {refuse,true,yes,on}:'update ref to current branch of non-bare repository' \ - {warn}:'warn about dangers of pushing, but perform it anyway' \ - {false,no,off}:'do not update ref to current branch of non-bare repository' && ret=0 - ;; - (remote.tagopt) - __git_config_values -- "$current" "$parts[5]" \ - --tags:'automatically follow tags' \ - --no-tags:'do not automatically follow tags' && ret=0 - ;; - (sendemail.aliasfiletype) - __git_config_values -- "$current" "$parts[5]" \ - elm:'elm(1)' \ - gnus:'gnus(1)' \ - mutt:'mutt(1)' \ - mailrc:'mailrc(5)' \ - pine:'pine(1)' && ret=0 - ;; - (sendemail.confirm) - __git_sendemail_confirm_values && ret=0 - ;; - (sendemail.smtpencryption) - __git_sendemail_smtpencryption_values && ret=0 - ;; - (sendemail.suppresscc) - __git_sendemail_suppresscc_values && ret=0 - ;; - (status.showUntrackedFiles) - __git_config_values -- "$current" "$parts[5]" \ - no:'do not show untracked files' \ - normal:'show untracked files and directories' \ - all:'show all individual files in directories' && ret=0 - ;; - (refname|string) - # TODO: Something better? - if [[ -n $current ]]; then - compadd - $current && ret=0 - elif [[ -n $parts[5] ]]; then - compadd - $parts[5] && ret=0 - else - # _message 'refname' - _message "${parts[3]:-${parts[2]:-value}}" - fi - ;; - (submodule.update) - compset -P '*!' - if [[ -n $IPREFIX ]]; then - _command_names -e - else - __git_config_values -- "$current" "$parts[5]" \ - rebase:'rebase current branch onto commit recorded in superproject' \ - merge:'merge commit recorded in superproject into current branch of submodule' \ - none:'do not merge or rebase' \ - '!:specify command name that takes sha1 to update to as parameter' && ret=0 - fi - ;; - (submodule.ignore) - __git_config_values -- "$current" "$parts[5]" \ - all:'never consider submodules modified' \ - dirty:'ignore all changes to submodule work tree, only take diff between HEAD and recorded commit' \ - untracked:'show modified tracked files' \ - none:'show modified tracked and untracked files' && ret=0 - ;; - (umask) - _alternative \ - 'values:value:(user)' \ - 'umasks: :__git_guard_number umask' && ret=0 - ;; - (unknown) - _message "$line[1] option value" - compadd - $current && ret=0 - ;; - esac - ;; - (*) - # TODO: Do we need to set up a _requested/_next_label? - declare -a action - _description values expl "$parts[3]" - eval "action=($parts[4])" - "$action[1]" "$expl[@]" "${(@)action[2,-1]}" && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-fast-export] )) || -_git-fast-export () { - # TODO: * should be git-rev-arg and git-rev-list arguments. - _arguments -S -s $endopt \ - '--progress=[insert progress statements]: :__git_guard_number interval' \ - '--signed-tags=[specify how to handle signed tags]:action:((verbatim\:"silently export" - warn\:"export, but warn" - warn-strip\:"export as unsigned tags, but warn" - strip\:"export as unsigned tags instead" - abort\:"abort on signed tags (default)"))' \ - '--tag-of-filtered-object=[specify how to handle tags whose tagged object is filtered out]:action:((abort\:"abort on such tags" - drop\:"omit such tags" - rewrite\:"tag ancestor commit"))' \ - '-M-[detect moving lines in the file as well]: : :__git_guard_number "number of characters"' \ - '-C-[detect copies as well as renames with given scope]: :__git_guard_number size' \ - '--reencode=[specify how to handle encoding header in commit objects]:mode [abort]:(yes no abort)' \ - '--export-marks=[dump internal marks table when complete]: :_files' \ - '--import-marks=[load marks before processing input]: :_files' \ - '--import-marks-if-exists=[load marks from file if it exists]: :_files' \ - '--fake-missing-tagger=[fake a tagger when tags lack them]' \ - '--use-done-feature[start with a "feature done" stanza, and terminate with a "done" command]' \ - "--no-data[skip output of blob objects, instead referring to them via their SHA-1 hash]" \ - '--full-tree[output full tree for each commit]' \ - '(--get --get-all)--name-only[show variable names only]' \ - '*--refspec=[apply refspec to exported refs]:refspec' \ - '--anonymize[anonymize output]' \ - '*--anonymize-map[apply conversion in anonymized output]:from\:to' \ - '--reference-excluded-parents[reference parents not in fast-export stream by object id]' \ - '--show-original-ids[show original object ids of blobs/commits]' \ - '--mark-tags[label tags with mark ids]' \ - '*: :__git_commit_ranges' -} - -(( $+functions[_git-fast-import] )) || -_git-fast-import () { - _arguments -S -A '-*' $endopt \ - '--cat-blob-fd=-[write responses to cat-blob and ls queries to <fd> instead of stdout]:file descriptor' \ - '--date-format=-[type of dates used in input]:format:((raw\:"native Git format" - rfc2822\:"standard email format from RFC 2822" - now\:"use current time and timezone"' \ - '--done[terminate with error if there is no "done" command at the end of the stream]' \ - '--force[force updating modified existing branches]' \ - '--max-pack-size=-[maximum size of each packfile]: : __git_guard_bytes -d unlimited size' \ - '--big-file-threshold=-[maximum size of blob to create deltas for]: : __git_guard_bytes -d 512m size' \ - '--depth=-[maximum delta depth for blob and tree deltification]: :__git_guard_number "maximum delta depth"' \ - '--active-branches=-[maximum number of branches to maintain active at once]: :__git_guard_number "maximum number of branches"' \ - '--export-marks=-[dump internal marks table when complete]: :_files' \ - '--import-marks=-[load marks before processing input]: :_files' \ - '*--relative-marks[paths for export/import are relative to internal directory in current repository]' \ - '*--no-relative-marks[paths for export/import are not relative to internal directory in current repository]' \ - '--export-pack-edges=-[list packfiles and last commit on branches in them in given file]: :_files' \ - '--quiet[disable all non-fatal output]' \ - '--stats[display statistics about object created]' -} - -(( $+functions[_git-filter-branch] )) || -_git-filter-branch () { - # TODO: --*-filter should take a whole command line. - # TODO: --original should take subdirectory under .git named refs/* or some - # such. - # TODO: * should be git-rev-arg and git-rev-list arguments. - _arguments -S -A '-*' $endopt \ - '--setup[specify one time setup command]: :_cmdstring' \ - '--env-filter[filter for modifying environment in which commit will be performed]: :_cmdstring' \ - '--tree-filter[filter for rewriting tree and its contents]: :_cmdstring' \ - '--index-filter[filter for rewriting index]: :_cmdstring' \ - '--parent-filter[filter for rewriting parent list of commit]: :_cmdstring' \ - '--msg-filter[filter for rewriting commit messages]: :_cmdstring' \ - '--commit-filter[filter for rewriting commit]: :_cmdstring' \ - '--tag-name-filter[filter for rewriting tag names]: :_cmdstring' \ - '--subdirectory-filter[only look at history that touches given directory]: :_directories' \ - '--prune-empty[ignore empty generated commits]' \ - '--original[namespace where original commits will be stored]:namespace:_directories' \ - '-d[temporary directory used for rewriting]: :_directories' \ - '(-f --force)'{-f,--force}'[force operation]' \ - '--state-branch[load mapping from old to new objects from specified branch]:branch:__git_branch_names' \ - '*: :__git_commit_ranges' -} - -(( $+functions[_git-mergetool] )) || -_git-mergetool () { - # TODO: Only complete files with merge conflicts. - _arguments -S -A '-*' \ - '(-t --tool)'{-t,--tool=}'[merge resolution program to use]: :__git_mergetools' \ - '--tool-help[print a list of merge tools that may be used with "--tool"]' \ - '(-y --no-prompt --prompt)'{-y,--no-prompt}'[do not prompt before invocation of merge resolution program]' \ - '(-y --no-prompt)--prompt[prompt before invocation of merge resolution program]' \ - '(-g --gui)'{-g,--gui}'[use merge.guitool variable instead of merge.tool]' \ - '!(-g --gui)--no-gui' \ - '-O-[process files in the order specified in file]:order file:_files' \ - '*:conflicted file:_files' -} - -(( $+functions[_git-pack-refs] )) || -_git-pack-refs () { - _arguments -S $endopt \ - '( --no-all)--all[pack all refs]' \ - '(--all )--no-all[do not pack all refs]' \ - '( --no-prune)--prune[remove loose refs after packing them]' \ - '(--prune )--no-prune[do not remove loose refs after packing them]' -} - -(( $+functions[_git-prune] )) || -_git-prune () { - _arguments -s -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not remove anything; just report what would be removed]' \ - '(-v --verbose)'{-v,--verbose}'[report all removed objects]' \ - '--progress[show progress]' \ - '--expire=[only expire loose objects older than specified date]: :__git_datetimes' \ - '--exclude-promisor-objects[limit traversal to objects outside promisor packfiles]' \ - '*:: :__git_heads' -} - -(( $+functions[_git-reflog] )) || -_git-reflog () { - declare -a revision_options - __git_setup_revision_options - - if [[ $words[2] == --* ]]; then - _arguments -S \ - $revision_options \ - ':: :__git_references' - else - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - # TODO: -h is undocumented. - _arguments -C -S \ - '(- : *)-h[display usage]' \ - $revision_options \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'expire:prune old reflog entries' - 'delete:delete entries from reflog' - 'show:show log of ref' - 'exists:check whether a ref has a reflog' - ) - - _alternative \ - 'commands:: _describe -t commands command commands' \ - 'references:: __git_references' && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (expire) - _arguments -S \ - '(-n --dry-run)'{-n,--dry-run}"[don't actually prune any entries; show what would be pruned]" \ - '--stale-fix[prune any reflog entries that point to "broken commits"]' \ - '--expire=-[prune entries older than given time]: :__git_datetimes' \ - '--expire-unreachable=-[prune entries older than given time and unreachable]: :__git_datetimes' \ - '--all[prune all refs]' \ - '--updateref[update ref with SHA-1 of top reflog entry after expiring or deleting]' \ - '--rewrite[adjust reflog entries to ensure old SHA-1 points to new SHA-1 of previous entry after expiring or deleting]' \ - '--verbose[output additional information]' && ret=0 - ;; - (delete) - _arguments -C -S \ - '(-n --dry-run)'{-n,--dry-run}"[dpn't update entries; show what would be done]" \ - '--updateref[update ref with SHA-1 of top reflog entry after expiring or deleting]' \ - '--rewrite[adjust reflog entries to ensure old SHA-1 points to new SHA-1 of previous entry after expiring or deleting]' \ - '--verbose[output additional information]' \ - '*:: :->reflog-entry' && ret=0 - - case $state in - (reflog-entry) - # TODO: __git_ignore_line doesn't work here for some reason. - __git_ignore_line __git_reflog_entries && ret=0 - ;; - esac - ;; - (show|--*) - _arguments -S \ - $revision_options \ - ':: :__git_references' && ret=0 - ;; - (exists) - __git_references && ret=0 - ;; - esac - esac - - return ret - fi -} - -(( $+functions[_git-remote] )) || -_git-remote () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(-v --verbose)'{-v,--verbose}'[show remote url after name]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - 'add:add a new remote' - 'get-url:retrieves the URLs for a remote' - 'rename:rename a remote and update all associated tracking branches' - {rm,remove}':remove a remote and all associated tracking branches' - 'set-head:set or delete default branch for a remote' - 'set-branches:change list of branches tracked by a remote' - 'set-url:change URL for a remote' - 'show:show information about a given remote' - 'prune:delete all stale tracking branches for a remote' - 'update:fetch updates for a set of remotes' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - - case $line[1] in - (add) - # TODO: -t and --track should really list branches at url. - _arguments -S -s $endopt \ - '(-f --fetch)'{-f,--fetch}'[run git fetch on new remote after it has been created]' \ - '( --no-tags)--tags[tell git fetch to import every tag from remote repository]' \ - '(--tags )--no-tags[tell git fetch to not import every tag from remote repository]' \ - '*'{-t,--track=}'[track given branch instead of default glob refspec]: :__git_branch_names' \ - '(-m --master)'{-m,--master=}'[set HEAD of remote to point to given master branch]: :__git_branch_names' \ - '--mirror[do not use separate remotes]::mirror type:(fetch pull)' \ - ':name:__git_remotes' \ - ':repository:__git_repositories_or_urls' && ret=0 - ;; - (get-url) - _arguments -S -s $endopt \ - '--push[list push URL instead of fetch URL]' \ - '--all[list all URLs for the remote]' \ - ': :__git_remotes' && ret=0 - ;; - (rename) - _arguments \ - ':old name:__git_remotes' \ - ':new name:__git_remotes' && ret=0 - ;; - (set-head) - # TODO: Second argument should be a branch at url for remote. - _arguments -S -s $endopt \ - '(- 2)'{-d,--delete}'[delete default branch]' \ - '(- 2)'{-a,--auto}'[determine default branch automatically]' \ - ': :__git_remotes' \ - ': :__git_branch_names' && ret=0 - ;; - (set-branches) - # TODO: Branches should be at url. - _arguments -S -s $endopt \ - '--add[add branches to those already defined]' \ - ': :__git_remotes' \ - '*: :__git_branch_names' && ret=0 - ;; - (set-url) - _arguments -S $endopt \ - '--push[manipulate push URLs instead of fetch URLs]' \ - '(3)--add[add URL to those already defined]' \ - '(2)--delete[delete all matching URLs]' \ - '1: :__git_remotes' \ - '2:new url:__git_repositories_or_urls' \ - '3:old url: __git_current_remote_urls ${(k)opt_args[--push]} $line[1]' && ret=0 - ;; - (show) - _arguments -S $endopt \ - '-n[do not contact the remote for a list of branches]' \ - '*: :__git_remotes' && ret=0 - ;; - (prune) - _arguments -S -s $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[do not actually prune, only list what would be done]' \ - '*: :__git_remotes' && ret=0 - ;; - (update) - _arguments -S -s $endopt \ - '(-p --prune)'{-p,--prune}'[prune all updated remotes]' \ - ': :__git_remote-groups' && ret=0 - ;; - (*) # rm, remove and fallback for any new subcommands - __git_remotes && ret=0 - ;; - esac - ;; - esac - - return ret -} - -(( $+functions[_git-repack] )) || -_git-repack () { - _arguments -s \ - '(-A --unpack-unreachable)-a[pack all objects into a single pack]' \ - '(-a -k --keep-unreachable)-A[pack all objects into a single pack, but unreachable objects become loose]' \ - '-d[remove redundant packs after packing]' \ - "--unpack-unreachable=[with -A, don't loosen objects older than specified date]:date" \ - '-f[pass --no-reuse-delta option to git pack-objects]' \ - '-F[pass --no-reuse-object option to git pack-objects]' \ - "-n[don't update server information]" \ - '(-q --quiet)'{-q,--quiet}'[pass -q option to git pack-objects]' \ - '(-l --local)'{-l,--local}'[pass --local option to git pack-objects]' \ - '(-b --write-bitmap-index)'{-b,--write-bitmap-index}'[write a bitmap index]' \ - '(-i --delta-islands)'{-i,--delta-islands}'[pass --delta-islands to git-pack-objects]' \ - "--unpack-unreachable=[with -A, don't loosen objects older than specified time]:time" \ - '(-k --keep-unreachable)'{-k,--keep-unreachable}'[with -a, repack unreachable objects]' \ - '--window=[number of objects to consider when doing delta compression]:number of objects' \ - '--window-memory=[scale window size dynamically to not use more than specified amount of memory]: : __git_guard_bytes' \ - '--depth=[maximum delta depth]:maximum delta depth' \ - '--threads=[limit maximum number of threads]:threads' \ - '--max-pack-size=-[maximum size of each output packfile]: : __git_guard_bytes "maximum pack size"' \ - '--pack-kept-objects[repack objects in packs marked with .keep]' \ - '--keep-pack=[ignore named pack]:pack' \ - '(-g --geometric)'{-g+,--geometric=}'[find a geometric progression with specified factor]:factor' \ - '(-m --write-midx)'{-m,--write-midx}'[write a multi-pack index of the resulting packs]' -} - -(( $+functions[_git-replace] )) || -_git-replace () { - _arguments -S -s $endopt \ - '(-d --delete -l --list -g --graft *)'{-f,--force}'[overwrite existing replace ref]' \ - "(-d --delete -l --list -g --graft 2 *)--raw[don't pretty-print contents for --edit]" \ - '(-d --delete -e --edit -g --graft --raw)--format=[use specified format]:format:(short medium long)' \ - ': :__git_objects' \ - ':replacement:__git_objects' \ - '*: :__git_objects' \ - - '(actions)' \ - '(: * --raw -f --force)'{-l,--list}'[list replace refs]:pattern' \ - {-d,--delete}'[delete existing replace refs]:*:replacement:__git_objects' \ - '(* 2 --format)'{-e,--edit}'[edit existing object and replace it with the new one]' \ - '(--raw --format)'{-g,--graft}'[rewrite the parents of a commit]' \ - '--convert-graft-file[convert existing graft file]' -} - -# Ancillary Commands (Interrogators) - -(( $+functions[_git-annotate] )) || -_git-annotate() { - _git-blame "$@" -} - -(( $+functions[_git-blame] )) || -_git-blame () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - # TODO: Not sure about __git_cached_files. - _arguments -C -S -s $endopt \ - '-b[show blank SHA-1 for boundary commits]' \ - '--root[do not treat root commits as boundaries]' \ - '--show-stats[include additional statistics at the end of blame output]' \ - '--progress[force progress reporting]' \ - '*-L[annotate only the given line range]: :->line-range' \ - '-l[show long rev]' \ - '-t[show raw timestamp]' \ - '-S[use revs from revs-file]:revs-file:_files' \ - '--reverse[walk history forward instead of backward]' \ - '(-p --porcelain)'{-p,--porcelain}'[show results designed for machine processing]' \ - '--line-porcelain[show results designed for machine processing but show commit information for every line]' \ - '--incremental[show results incrementally for machine processing]' \ - '--contents[annotate against the given file if no rev is specified]: :_files' \ - '(-h --help)'{-h,--help}'[show help message]' \ - '-c[use same output format as git annotate]' \ - '--score-debug[output debugging information relating to -C and -M line movement]' \ - '(-e --show-email)'{-e,--show-email}'[show the author email instead of the author name]' \ - '(-f --show-name)'{-f,--show-name}'[show the filename of the original commit]' \ - '(-n --show-number)'{-n,--show-number}'[show the line number in the original commit]' \ - '-s[suppress author name and timestamp]' \ - '-w[ignore whitespace when finding lines]' \ - '--ignore-rev=[ignore specified revision when blaming]:revision:__git_revisions' \ - '--ignore-revs-file=[ignore revisions from file]:file:_files' \ - '(--color-by-age)--color-lines[color redundant metadata from previous line differently]' \ - '(--color-lines)--color-by-age[color lines by age]' \ - $revision_options \ - ':: :__git_revisions' \ - ': :__git_cached_files' && ret=0 - - case $state in - (line-range) - if compset -P '([[:digit:]]#|/[^/]#(\\?[^/]#)#/),'; then - _alternative \ - 'line-numbers: :__git_guard_number "line number"' \ - 'regexes::_guard "(/[^/]#(\\?[^/]#)#(/|)|)" regex' \ - 'offsets::_guard "([+-][[:digit:]]#|)" "line offset"' && ret=0 - else - _alternative \ - 'line-numbers: :__git_guard_number "line number"' \ - 'regexes::_guard "(/[^/]#(\\?[^/]#)#(/|)|)" regex' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-bugreport] )) || -_git-bugreport() { - _arguments \ - '(-o --output-directory)'{-o+,--output-directory=}'[specify a destination for the bugreport file]:directory:_directories' \ - '(-s --suffix)'{-s+,--suffix=}'[specify a strftime format suffix for the filename]:format:_date_formats' -} - -(( $+functions[_git-cherry] )) || -_git-cherry () { - _arguments -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - ':upstream commit:__git_commits' \ - '::head commit:__git_commits' \ - '::limit commit:__git_commits' -} - -(( $+functions[_git-count-objects] )) || -_git-count-objects () { - _arguments -s -S $endopt \ - '(-v --verbose)'{-v,--verbose}'[also report number of in-pack objects and objects that can be removed]' \ - {-H,--human-readable}'[print sizes in human readable format]' -} - -(( $+functions[_git-difftool] )) || -_git-difftool () { - # TODO: Is this fine, or do we need to modify the context or similar? - _git-diff \ - '(-d --dir-diff --no-index)'{-d,--dir-diff}'[diff a whole tree by preparing a temporary copy]' \ - '(-y --no-prompt --prompt)'{-y,--no-prompt}'[do not prompt before invocation of diff tool]' \ - '(-y --no-prompt)--prompt[prompt before invocation of diff tool]' \ - '(-t --tool -x --extcmd)'{-t,--tool=-}'[merge resolution program to use]: :__git_difftools' \ - '(-t --tool -x --extcmd)'{-x,--extcmd=-}'[custom diff command to use]: :_cmdstring' \ - '--tool-help[print a list of diff tools that may be used with --tool]' \ - '(--symlinks)--no-symlinks[make copies of instead of symlinks to the working tree]' \ - '(---no-symlinks)--symlinks[make symlinks to instead of copies of the working tree]' \ - '(-g --gui)'{-g,--gui}'[use diff.guitool instead of diff.tool]' \ - '--trust-exit-code[make git-difftool exit when diff tool returns a non-zero exit code]' -} - -(( $+functions[_git-fsck] )) || -_git-fsck () { - _arguments -S -s $endopt \ - '--unreachable[show objects that are unreferenced in the object database]' \ - '(--dangling --no-dangling)--dangling[print dangling objects (default)]' \ - '(--dangling --no-dangling)--no-dangling[do not print dangling objects]' \ - '--root[show root nodes]' \ - '--tags[show tags]' \ - '--cache[consider objects recorded in the index as head nodes for reachability traces]' \ - '--no-reflogs[do not consider commits referenced only by reflog entries to be reachable]' \ - '--full[check all object directories]' \ - '--connectivity-only[check only connectivity]' \ - '--strict[do strict checking]' \ - '(-v --verbose)'{-v,--verbose}'[output additional information]' \ - '--lost-found[write dangling objects into .git/lost-found]' \ - '--progress[show progress]' \ - '--name-objects[show verbose names for reachable objects]' \ - '*: :__git_objects' -} - -(( $+functions[_git-get-tar-commit-id] )) || -_git-get-tar-commit-id () { - _message 'no arguments allowed; accepts tar-file on standard input' -} - -(( $+functions[_git-help] )) || -_git-help () { - _arguments -S -s \ - '(-c --config -i --info -m --man -w --web)'{-a,--all}'[show all available commands]' \ - '(-)'{-c,--config}'[print all configuration variable names]' \ - '(-a --all -g --guides -c --config -m --man -w --web)'{-i,--info}'[display manual for the command in info format]' \ - '(-a --all -g --guides -c --config -i --info -w --web)'{-m,--man}'[display manual for the command in man format]' \ - '(-a --all -g --guides -c --config -i --info -m --man)'{-w,--web}'[display manual for the command in HTML format]' \ - '(-g --guides -c --config -i --info -m --man -w --web)'{-g,--guides}'[prints a list of useful guides on the standard output]' \ - '(-v --verbose)'{-v,--verbose}'[print command descriptions]' \ - ': : _alternative commands:command:_git_commands "guides:git guide:(attributes cli core-tutorial cvs-migration diffcore everyday glossary hooks ignore modules namespaces repository-layout revisions tutorial tutorial-2 workflows)"' -} - -(( $+functions[_git-instaweb] )) || -_git-instaweb () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-l --local)'{-l,--local}'[bind the web server to 127.0.0.1]' \ - '(-d --httpd)'{-d,--httpd=}'[HTTP-daemon command-line that will be executed]:command line' \ - '(-m --module-path)'{-m,--module-path=}'[module path for the Apache HTTP-daemon]:module path:_directories' \ - '(-p --port)'{-p,--port=}'[port to bind web server to]: :__git_guard_number port' \ - '(-b --browser)'{-b,--browser=}'[web-browser command-line that will be executed]:command line' \ - '(:)--start[start the HTTP-daemon and exit]' \ - '(:)--stop[stop the HTTP-daemon and exit]' \ - '(:)--restart[restart the HTTP-daemon and exit]' \ - ': :->command' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - start:'start the HTTP-daemon and exit' - stop:'stop the HTTP-daemon and exit' - restart:'restart the HTTP-daemon and exit') - - _describe -t commands command commands && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-merge-tree] )) || -_git-merge-tree () { - _arguments \ - ':base-tree:__git_tree_ishs' \ - ':branch 1:__git_tree_ishs' \ - ':branch 2:__git_tree_ishs' -} - -(( $+functions[_git-rerere] )) || -_git-rerere () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '--rerere-autoupdate[register clean resolutions in index]' \ - ': :->command' && ret=0 - - case $state in - (command) - # TODO: This isn't optimal, as forget get confused. - _values command \ - 'clear[reset metadata used by rerere]' \ - 'forget[resets metadata used by rerere for specific conflict]: :__git_cached_files' \ - 'diff[output diffs for the current state of the resolution]' \ - 'status[print paths with conflicts whose merge resolution rerere will record]' \ - 'remaining[print paths with conflicts that have not been autoresolved by rerere]' \ - 'gc[prune old records of conflicted merges]' && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-rev-parse] )) || -_git-rev-parse () { - local parseopt_opt= sq_quote_opt= local_env_vars_opt= h_opt= - declare -a quiet_opts - if (( CURRENT == 2 )); then - parseopt_opt='--parseopt[use git rev-parse in option parsing mode]' - sq_quote_opt='--sq-quote[use git rev-parse in shell quoting mode]' - local_env_vars_opt='--local-env-vars[list git environment variables local to repository]' - h_opt='-h[display usage]' - fi - - if (( words[(I)--verify] )); then - quiet_opts=({-q,--quiet}'[do not output error messages]') - fi - - local ret=0 - - if (( words[(I)--parseopt] )); then - if (( words[(I)--] )); then - _message 'argument' - else - # TODO: Parse option specification? - _arguments -S -s \ - '(- *)'{-h,--help}'[display usage]' \ - '--keep-dashdash[do not skip first -- option]' \ - '--stop-at-non-option[stop parsing options at first non-option argument]' \ - '--stuck-long[output options in long form if available, and with their arguments stuck]' \ - '*:option specification' && ret=0 - fi - elif (( words[(I)--sq-quote] )); then - _message 'argument' - elif (( words[(I)--local-env-vars|-h] )); then - _message 'no more arguments' - else - _arguments \ - $parseopt_opt \ - $sq_quote_opt \ - $local_env_vars_opt \ - $h_opt \ - '( --no-revs --verify --short)--revs-only[do not output flags and parameters not meant for git rev-list]' \ - '(--revs-only --verify --short)--no-revs[do not output flags and parameters meant for git rev-list]' \ - '( --no-flags --verify --short)--flags[do not output non-flag parameters]' \ - '(--flags --verify --short)--no-flags[do not output flag parameters]' \ - '--default[use given argument if there is no parameter given]:argument' \ - '(--revs-only --no-revs --flags --no-flags --short)--verify[verify parameter to be usable]' \ - '(-q --quiet)'{-q,--quiet}'[suppress all output]' \ - '--sq[output single shell-quoted line]' \ - '--not[toggle ^ prefix of object names]' \ - '( --symbolic-full-name)--symbolic[output in a format as true to input as possible]' \ - '(--symbolic )--symbolic-full-name[same as --symbolic, but omit non-ref inputs]' \ - '--abbrev-ref=-[a non-ambiguous short name of object]::mode:(strict loose)' \ - '--disambiguate=-[show every object whose name begins with the given prefix]:prefix' \ - '--all[show all refs found in refs/]' \ - '--branches=-[show branch refs found in refs/heads/]::shell glob pattern' \ - '--tags=-[show tag refs found in refs/tags/]::shell glob pattern' \ - '--remotes=-[show tag refs found in refs/remotes/]::shell glob pattern' \ - '--glob=-[show all matching refs]::shell glob pattern' \ - '--show-toplevel[show absolute path of top-level directory]' \ - '--show-prefix[show path of current directory relative to top-level directory]' \ - '--show-cdup[show path of top-level directory relative to current directory]' \ - '--git-dir[show $GIT_DIR if defined else show path to .git directory]' \ - '--is-inside-git-dir[show whether or not current working directory is below repository directory]' \ - '--is-inside-work-tree[show whether or not current working directory is inside work tree]' \ - '--is-bare-repository[show whether or not repository is bare]' \ - '(--revs-only --no-revs --flags --no-flags --verify)--short=-[show only shorter unique name]:: :__git_guard_number length' \ - '(--since --after)'{--since=-,--after=-}'[show --max-age= parameter corresponding given date string]:datestring' \ - '(--until --before)'{--until=-,--before=-}'[show --min-age= parameter corresponding given date string]:datestring' \ - '--resolve-git-dir[check if <path> is a valid repository or gitfile and print location]:git dir:_files -/' \ - '*: :__git_objects' && ret=0 - fi - - return ret -} - -(( $+functions[_git-show-branch] )) || -_git-show-branch () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(--more --merge-base --independent)--list[do not show any ancestry (--more=-1)]' \ - - branches \ - '(-r --remotes -a --all)'{-r,--remotes}'[show remote-tracking branches]' \ - '(-r --remotes -a --all)'{-a,--all}'[show both remote-tracking branches and local branches]' \ - '--current[include current branch to the list of revs]' \ - '( --date-order)--topo-order[show commits in topological order]' \ - '(--topo-order )--date-order[show commits in commit-date order]' \ - '--sparse[output merges that are reachable from multiple tips being shown]' \ - '( --list --merge-base --independent)--more=[go given number of commit beyond common ancestor (no ancestry if negative)]:: :_guard "(-|)[[\:digit\:]]#" limit' \ - '(--more --list --independent)--merge-base[act like git merge-base -a, but with two heads]' \ - '(--more --list --merge-base )--independent[show only the reference that can not be reached from any of the other]' \ - '( --sha1-name)--no-name[do not show naming strings for each commit]' \ - '(--no-name )--sha1-name[name commits with unique prefix of object names]' \ - '--topics[show only commits that are NOT on the first branch given]' \ - '( --no-color)--color[color status sign of commits]:: :__git_color_whens' \ - '(--color )--no-color[do not color status sign of commits]' \ - '*: :__git_revisions' \ - - reflogs \ - '(-g --reflog)'{-g,--reflog=}'[show reflog entries for given ref]:: :->limit-and-base' \ - ': :__git_references' && ret=0 - - case $state in - (limit-and-base) - if compset -P '[[:digit:]]##,'; then - _alternative \ - 'counts: :__git_guard_number count' \ - 'dates::__git_datetimes' && ret=0 - else - __git_guard_number limit - fi - ;; - esac - - return ret -} - -(( $+functions[_git-verify-commit] )) || -_git-verify-commit () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[print contents of the commit object before validating it]' \ - '--raw[print raw gpg status output]' \ - '*: :__git_commits' -} - -(( $+functions[_git-verify-tag] )) || -_git-verify-tag () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[print contents of the tag object before validating it]' \ - '--raw[print raw gpg status output]' \ - '--format=[specify format to use for the output]:format:__git_format_ref' \ - '*: :__git_tags' -} - -(( $+functions[_git-whatchanged] )) || -_git-whatchanged () { - local -a revision_options - __git_setup_revision_options - - _arguments -s -S $endopt \ - $revision_options \ - '1:: :__git_commits' \ - '*: :__git_cached_files' -} - -# Interacting With Others - -(( $+functions[_git-archimport] )) || -_git-archimport () { - # TODO: archive/branch can perhaps use _arch_archives. It should also allow - # an optional colon followed by a __git_branches. - _arguments \ - '-h[display usage]' \ - '-v[verbose output]' \ - '-T[create tag for every commit]' \ - '-f[use fast patchset import strategy]' \ - '-o[use old-style branch names]' \ - '-D[attempt to import trees that have been merged from]: :__git_guard_number depth' \ - '-a[auto-register archives at http://mirrors.sourcecontrol.net]' \ - '-t[use given directory as temporary directory]: :_directories' \ - '*:archive/branch' -} - -(( $+functions[_git-cvsexportcommit] )) || -_git-cvsexportcommit () { - # TODO: Could use _cvs_root from _cvs for completing argument to -d. - _arguments \ - '-c[commit automatically if patch applied cleanly]' \ - '-p[be pedantic (paranoid) when applying patches]' \ - '-a[add authorship information]' \ - '-d[set an alternative CVSROOT to use]:cvsroot' \ - '-f[force the merge, even if files are not up to date]' \ - '-P[force the parent commit, even if it is not a direct parent]' \ - '-m[prepend the commit message with the provided prefix]:message prefix' \ - '-u[update affected files from CVS repository before attempting export]' \ - '-k[reverse CVS keyword expansion]' \ - '-w[specify location of CVS checkout to use for export]' \ - '-W[use current working directory for bot Git and CVS checkout]' \ - '-v[verbose output]' \ - '-h[display usage]' \ - ':: :__git_commits' \ - ': :__git_commits' -} - -(( $+functions[_git-cvsimport] )) || -_git-cvsimport () { - # TODO: _cvs_root for -d would be nice - _arguments \ - '-v[verbose output]' \ - '-d[specify the root of the CVS archive]:cvsroot' \ - '-C[specify the git repository to import into]:directory:_directories' \ - '-r[the git remote to import into]:remote' \ - '-o[specify the branch into which you wish to import]: :__git_branch_names' \ - '-i[do not perform a checkout after importing]' \ - '-k[remove keywords from source files in the CVS archive]' \ - '-u[convert underscores in tag and branch names to dots]' \ - '-s[substitute the "/" character in branch names with given substitution]:substitute' \ - '-p[specify additional options for cvsps]:cvsps-options' \ - '-z[specify timestamp fuzz factor to cvsps]:fuzz-factor' \ - '-P[read cvsps output file]:file:_files' \ - '-m[attempt to detect merges based on the commit message]' \ - '*-M[attempt to detect merges based on the commit message with custom pattern]:pattern' \ - '-S[skip paths matching given regex]:regex' \ - '-a[import all commits, including recent ones]' \ - '-L[limit the number of commits imported]:limit' \ - '-A[specify author-conversion file]:author-conversion file:_files' \ - '-R[generate cvs-revisions file mapping CVS revision numbers to commit IDs]' \ - '-h[display usage information]' \ - ':cvsmodule' -} - -(( $+functions[_git-cvsserver] )) || -_git-cvsserver () { - _arguments -S -s \ - '--base-path[path to prepend to requested CVSROOT]: :_directories' \ - '--strict-paths[do not allow recursing into subdirectories]' \ - '--export-all[do not check for gitcvs.enabled]' \ - '(- * -V --version)'{-V,--version}'[display version information]' \ - '(- * -h --help)'{-h,-H,--help}'[display usage information]' \ - '::type:(pserver server)' \ - '*: :_directories' -} - -(( $+functions[_git-imap-send] )) || -_git-imap-send () { - _arguments -S $endopt \ - '--curl[use libcurl to communicate with the IMAP server]' \ - - '(out)' \ - {-v,--verbose}'[be more verbose]' \ - {-q,--quiet}'[be more quiet]' -} - -(( $+functions[_git-quiltimport] )) || -_git-quiltimport () { - _arguments -S $endopt \ - '(-n --dry-run)'{-n,--dry-run}'[check patches and warn if they cannot be imported]' \ - '--author[default author name and email address to use for patches]: :_email_addresses' \ - '--patches[set directory containing patches]:patch directory:_directories' \ - '--series[specify quilt series file]:series file:_files' \ - '--keep-non-patch[pass -b to git mailinfo]' -} - -(( $+functions[_git-request-pull] )) || -_git-request-pull () { - _arguments -S $endopt \ - '-p[display patch text]' \ - ':start commit:__git_commits' \ - ': :_urls' \ - '::end commit:__git_commits' -} - -(( $+functions[_git-send-email] )) || -_git-send-email () { - _arguments -S $endopt \ - '--annotate[review and edit each patch before sending it]' \ - '--bcc=[Bcc: value for each email]: :_email_addresses' \ - '--cc=[starting Cc: value for each email]: :_email_addresses' \ - '--to-cover[copy the To: list from the first file to the rest]' \ - '--cc-cover[copy the Cc: list from the first file to the rest]' \ - '--compose[edit introductory message for patch series]' \ - '--from=[specify sender]:email address:_email_addresses' \ - '--reply-to=[specify Reply-To address]:email address:_email_addresses' \ - '--in-reply-to=[specify contents of first In-Reply-To header]:message-id' \ - '--subject=[specify the initial subject of the email thread]:subject' \ - '--to=[specify the primary recipient of the emails]: :_email_addresses' \ - "--no-xmailer[don't add X-Mailer header]" \ - '--8bit-encoding=[encoding to use for non-ASCII messages]: :__git_encodings' \ - '--compose-encoding=[encoding to use for compose messages]: :__git_encodings' \ - '--transfer-encoding=[specify transfer encoding to use]:transfer encoding:(quoted-printable 8bit base64)' \ - '--envelope-sender=[specify the envelope sender used to send the emails]: :_email_addresses' \ - '--sendmail-cmd=[specify command to run to send email]:command:_cmdstring' \ - '--smtp-encryption=[specify encryption method to use]: :__git_sendemail_smtpencryption_values' \ - '--smtp-domain=[specify FQDN used in HELO/EHLO]: :_domains' \ - '--smtp-pass=[specify password to use for SMTP-AUTH]::password' \ - '--smtp-server=[specify SMTP server to connect to, or sendmail command]: : __git_sendmail_smtpserver_values' \ - '--smtp-server-port=[specify port to connect to SMTP server on]:smtp port:_ports' \ - '--smtp-server-option=[specify the outgoing SMTP server option to use]:SMTP server option' \ - '--smtp-ssl-cert-path=[path to ca-certificates (directory or file)]:ca certificates path:_files' \ - '--smtp-user=[specify user to use for SMTP-AUTH]:smtp user:_users' \ - '(--no-smtp-auth)--smtp-auth=[specify allowed AUTH mechanisms]:space-separated list of mechanisms' \ - '(--smtp-auth)--no-smtp-auth[disable SMTP authentication]' \ - '--smtp-debug=[enable or disable debug output]:smtp debug:((0\:"disable" 1\:"enable"))' \ - '--batch-size=[specify maximum number of messages per connection]:number' \ - '--relogin-delay=[specify delay between successive logins]:delay (seconds)' \ - '--cc-cmd=[specify command to generate Cc\: header with]:Cc\: command:_cmdstring' \ - '--to-cmd=[specify command to generate To\: header with]:To\: command:_cmdstring' \ - '( --no-chain-reply-to)--chain-reply-to[send each email as a reply to previous one]' \ - '(--chain-reply-to )--no-chain-reply-to[send all emails after first as replies to first one]' \ - '--identity=[specify configuration identity]: :__git_sendemail_identities' \ - '( --no-signed-off-by-cc)--signed-off-by-cc[add emails found in Signed-off-by: lines to the Cc: list]' \ - '(--signed-off-by-cc )--no-signed-off-by-cc[do not add emails found in Signed-off-by: lines to the Cc: list]' \ - '--suppress-cc=[specify rules for suppressing Cc:]: :__git_sendemail_suppresscc_values' \ - '( --no-suppress-from)--suppress-from[do not add the From: address to the Cc: list]' \ - '(--suppress-from )--no-suppress-from[add the From: address to the Cc: list]' \ - '( --no-thread)--thread[set In-Reply-To: and References: headers]' \ - '(--thread )--no-thread[do not set In-Reply-To: and References: headers]' \ - '--confirm[specify type of confirmation required before sending]: :__git_sendemail_confirm_values' \ - '--dry-run[do everything except actually sending the emails]' \ - '( --no-format-patch)--format-patch[interpret ambiguous arguments as format-patch arguments]' \ - '(--format-patch )--no-format-patch[interpret ambiguous arguments file-name arguments]' \ - '--quiet[be less verbose]' \ - '( --no-validate)--validate[perform sanity checks on patches]' \ - '(--validate )--no-validate[do not perform sanity checks on patches]' \ - '--force[send emails even if safety checks would prevent it]' \ - '(- *)--dump-aliases[dump configured aliases and exit]' \ - '*: : _alternative -O expl - "files:file:_files" - "commits:recent commit object name:__git_commit_objects_prefer_recent"' -} - -(( $+functions[_git-svn] )) || -_git-svn () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '(- :)'{-V,--version}'[display version information]' \ - '(- :)'{-h,-H,--help}'[display usage information]' \ - ': :->command' \ - '*:: :->option-or-argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - blame:'show what revision and author last modified each line of a file' - branch:'create a branch in the SVN repository' - clone:'same as init, followed by fetch' - commit-diff:'commit diff of two tree-ishs' - create-ignore:'recursively finds the svn:ignore property and creates .gitignore files' - dcommit:'commit diffs from given head onto SVN repository' - fetch:'fetch revisions from the SVN remote' - find-rev:'output git commit corresponding to the given SVN revision'\''s hash' - gc:'compress git-svn-related information' - info:'show information about a file or directory' - init:'initialize an empty git repository with additional svn data' - log:'output SVN log-messages' - migrate:'migrate configuration/metadata/layout from previous versions of git-svn' - mkdirs:'recreate empty directories that Git cannot track' - propget:'get a given SVN property for a file' - proplist:'list the SVN properties stored for a file or directory' - propset:'set the value of a property on a file or directory - will be set on commit' - rebase:'fetch revs from SVN parent of HEAD and rebase current work on it' - reset:'undo effect of fetch back to specific revision' - set-tree:'commit given commit or tree to SVN repository' - show-externals:'show the subversion externals' - show-ignore:'output svn:ignore in format of a toplevel .gitignore file' - tag:'create a tag in the SVN repository' - ) - - _describe -t commands command commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - declare -a opts - - case $line[1] in - (clone|dcommit|fetch|init|migrate|rebase|set-tree) - # TODO: --no-auth-cache is undocumented. - # TODO: --config-dir is undocumented. - opts+=( - '--config-dir=:configuration directory:_directories' - '--ignore-paths[regular expression of paths to not check out]:perl regex' - '--include-paths[regular expression of paths to check out]:perl regex' - '--ignore-refs:ref' - '--no-auth-cache' - '--username=[username to use for SVN transport]: :_users' - ) - ;| - (clone|dcommit|fetch|log|rebase|set-tree) - opts+=( - '(-A --authors-file)'{-A,--authors-file}'[specify author-conversion file]:author-conversion file:_files' - ) - ;| - (clone|dcommit|fetch|rebase|set-tree) - # TODO: --repack-flags can be improved by actually completing the legal - # flags to git-repack. - # TODO: --no-checkout is undocumented. - opts+=( - "--add-author-from[when committing to svn, append a From: line based on the git commit's author string]" - '--authors-prog=[specify program used to generate authors]: :_cmdstring' - '(--no-follow-parent)--follow-parent[follow parent commit]' - "(--follow-parent)--no-follow-parent[don't follow parent commit]" - '--localtime[store Git commit times in local timezone]' - '--log-window-size=[fetch specified number of log entries per-request]:entries [100]' - '--no-checkout' - '(-q --quiet)'{-q,--quiet}'[make git-svn less verbose]' - '(--repack-flags --repack-args --repack-opts)'{--repack-flags=,--repack-args=,--repack-opts=}'[flags to pass to git-repack]:git-repack flags' - '--repack=[repack files (for given number of revisions)]:: :__git_guard_number "revision limit"' - '--use-log-author[use author from the first From: or Signed-Off-By: line, when fetching into git]' - ) - ;| - (clone|init) - opts+=( - '(-T --trunk)'{-T-,--trunk=}'[set trunk sub-directory]:trunk sub-directory:->subdirectory' - '(-t --tags)*'{-t-,--tags=}'[add tags sub-directory]:tags sub-directory:->subdirectory' - '(-b --branches)*'{-b-,--branches=}'[add branches sub-directory]:branches sub-directory:->subdirectory' - '(-s --stdlayout)'{-s,--stdlayout}'[shorthand for setting trunk, tags, branches as relative paths, the SVN default]' - '--no-metadata[get rid of git-svn-id: lines at the end of every commit]' - '--rewrite-root=[set svn-remote.*.rewriteRoot]:new root:_urls' - '--rewrite-uuid=[set svn-remote.*.rewriteUUID]:uuid' - '--prefix=[prefix to use for names of remotes]:path prefix:_directories -r ""' - '( --no-minimize-url)--minimize-url[minimize URLs]' - "(--minimize-url )--no-minimize-url[don't minimize URLs]" - '--shared=[share repository amongst several users]:: :__git_repository_permissions' - '--template=[directory to use as a template for the object database]: :_directories' - '--use-svm-props[re-map repository URLs and UUIDs from mirrors created with SVN::Mirror]' - '--use-svnsync-props[re-map repository URLs and UUIDs from mirrors created with svnsync]' - ) - ;| - (commitdiff|dcommit|set-tree) - # TODO: -C and --copy-similarity are undocumented. - opts+=( - '(-C --copy-similarity)'{-C-,--copy-similarity=}': :_guard "[[\:digit:\]]#" number' - '(-e --edit)'{-e,--edit}'[edit commit message before committing]' - '-l-[limit number of rename/copy targets to run]: :__git_guard_number' - '--find-copies-harder[try harder to find copies]' - '--rmdir[remove empty directories from SVN tree after commit]' - ':: :__git_svn-remotes' - ) - ;| - (fetch|clone) - opts+=( - '(-r --revision)'{-r,--revision}'[only fetch given revision or revision range]: :__git_svn_revisions' - ':: :__git_svn-remotes' - ) - ;| - (fetch|rebase|dcommit) - # TODO: --fetch-all and --all are undocumented. - opts+=( '(--fetch-all --all)'{--fetch-all,--all} ) - ;| - (rebase|dcommit) - opts+=( - '(-M -m --merge)'{-M,-m,--merge}'[use merging strategies, if necessary]' - '*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies' - ) - ;| - (rebase|dcommit|branch|tag) - opts+=( - '(-n --dry-run)'{-n,--dry-run}'[only display what would be done]' - ) - ;| - (rebase|dcommit|log) - opts+=( '(-v --verbose)'{-v,--verbose}'[display extra information]' ) - ;| - (branch|tag) - # TODO: -d/--destination should complete output of - # git config --get-all svn-remote.*.branches - # git config --get-all svn-remote.*.tags - # TODO: --username should probably use something from _svn. - # TODO: --commit-url should complete output of - # git config --get-all svn-remote.*.commiturl - opts+=( - '(-m --message)'{-m,--message}'[specify the commit message]:message' - '(-d --destination)'{-d,--destination}"[location of $line[1] to create in SVN repository]: :_directories" - '--username[specify SVN username to perform commit as]: :_users' - '--commit-url[specify URL to connect to destination SVN repository]: :_urls' - '--parents[create parent folders]' - ) - ;| - (commit-diff|create-ignore|dcommit|show-ignore|mkdirs|proplist|propget|show-externals) - # TODO: -r and --revision is undocumented for dcommit, show-ignore and mkdirs. - opts+=( - '(-r --revision)'{-r,--revision}'[specify SVN revision]: :__git_svn_revisions' - ) - ;| - (propset|propget) - opts+=( '1:property:(svn:ignore svn:keywords svn:executable svn:eol-style svn:mime-type svn:externals svn:needs-lock)' ) - ;| - - # ;| style fall-throughs end; here on each command covered once - (blame) - opts+=( - '--git-format[produce output in git-blame format, with SVN revision numbers instead of git commit hashes]' - '*:file:__git_cached_files' - ) - ;; - (branch) - opts+=( '(-t --tag)'{-t,--tag}'[create a tag]' ) - ;; - (clone) - opts+=( - '--preserve-empty-dirs[create a placeholder file for each empty directory]' - '--placeholder-filename=[specify name of placeholder files created by --preserve-empty-dirs]:filename [.gitignore]:_files' - ':url:_urls' - '::directory:_directories' - ) - ;; - (commit-diff) - # TODO: -m and --message is undocumented. - # TODO: -F and --file is undocumented. - opts+=( - '(-m --message)'{-m-,--message=}':message' - '(-F --file)'{-F-,--file=}':file:_files' - ':original tree:__git_tree_ishs' - ':new tree result:__git_tree_ishs' - ':target:_urls' - ) - ;; - (dcommit) - # TODO: --set-svn-props is undocumented - opts+=( - '--commit-url[commit to a different SVN url]:SVN URL:_url' - '(-i --interactive)'{-i,--interactive}'[ask for confirmation that a patch should be sent to SVN]' - '--mergeinfo[add specified merge information during the dcommit]:mergeinfo' \ - "--no-rebase[don't rebase or reset after committing]" - '--set-svn-props:arg' - ) - ;; - (fetch) - opts+=( - '(-p --parent)'{-p,--parent}'[fetch only from SVN parent of current HEAD]' - ) - ;; - (info) - opts+=( - '--url[output only value of URL field]' - ':file:__git_cached_files' - ) - ;; - (init) - opts+=( ':SVN URL:_urls' ':target directory:_directories' ) - ;; - (find-rev) - opts+=( - '(-A --after -B --before)'{-B,--before}'[with no exact match, find last commit for current branch]' - '(-A --after -B --before)'{-A,--after}'[with no exact match, find closest match searching forwards]' - ':revision: _alternative "svn-revisions\:svn revision number\:__git_svn_revision_numbers -p r" "git-revisions\:git revision\:__git_revisions"' - ) - ;; - (log) - declare -a revision_options - __git_setup_revision_options - - # TODO: --color is undocumented. - # TODO: --pager is undocumented. - # TODO: --non-recursive is undocumented. - opts+=( - $revision_options - '(-r --revision)'{-r-,--revision=}'[revisions to output log information for]: :__git_svn_revision_numbers' - '--limit=[like --max-count, but not counting merged/excluded commits]: :__git_guard_number limit' - '--incremental[give output suitable for concatenation]' - '--show-commit[output git commit SHA-1, as well]' - '--color' - '--pager:pager:_cmdstring' - '--non-recursive' - ':file:__git_cached_files' - ) - ;; - (migrate) - opts+=( '--minimize' ) - ;; - (propset) - opts+=( ':value' ) - ;& - (proplist|propget) - opts+=( '*:file:__git_cached_files' ) - ;; - (rebase) - opts+=( - '(-l --local)'{-l,--local}"[don't fetch remotely, rebase against the last fetched commit from SVN]" - '!--preserve-merges' - '(--rebase-merges -p)'{--rebase-merges,-p}'[try to recreate merges instead of ignoring them]' - ) - ;; - (reset) - opts+=( - '(-r --revision)'{-r,--revision}'[specify most recent SVN revision to keep]: :__git_svn_revisions' - '(-p --parent)'{-p,--parent}'[discard specified revision as well, keeping nearest parent instead]' - ) - ;; - (set-tree) - opts+=( '--stdin[read list of commits to commit from stdin]' ) - ;; - (create-ignore|gc|mkdirs|show-externals|show-ignore|tag) ;; - (*) # fallback to files on any new/unrecognised commands - opts+=( '*:file:_files' ) - ;; - esac - - _arguments -C -S -s \ - '(-)'{-h,-H}'[display usage information]' \ - '(-)'{-V,--version}'[display version information]' \ - '--minimize-connections' \ - '(-R --svn-remote --remote)'{-R,--svn-remote,--remote}'[svn remote to use]:svn remote:__git_svn-remotes' \ - '(-i --id)'{-i,--id}'[set GIT_SVN_ID]:GIT_SVN_ID' \ - $opts && ret=0 - - case $state in - (subdirectory) - _alternative \ - 'sub-directories:sub-directory:_directories' \ - 'urls: :_urls' && ret=0 - ;; - esac - ;; - esac - - return ret -} - -# LOW-LEVEL COMMANDS (PLUMBING) - -# Manipulation commands - -(( $+functions[_git-apply] )) || -_git-apply () { - local -a apply_options - __git_setup_apply_options - - _arguments -S -s $endopt \ - $apply_options \ - '(--index --cached --reject)'{-3,--3way}'[fall back on 3-way merge if patch fails]' \ - '--stat[output diffstat for input (turns off "apply")]' \ - '--numstat[same as --stat but in decimal notation and complete pathnames (turns off "apply")]' \ - '--summary[output summary of git-diff extended headers (turns off "apply")]' \ - '--check[check if patches are applicable (turns off "apply")]' \ - '( --cached)--index[make sure that patch is applicable to index]' \ - '(--index )--cached[apply patches without touching working tree]' \ - '--build-fake-ancestor[build temporary index for blobs with ambiguous origin]:index:_files' \ - '(-R --reverse)'{-R,--reverse}'[apply patches in reverse]' \ - '-z[use NUL termination on output]' \ - '--unidiff-zero[disable unified-diff-context check]' \ - '--apply[apply patches that would otherwise not be applied]' \ - '--no-add[ignore additions made by the patch]' \ - '--allow-overlap[allow overlapping hunks]' \ - '--inaccurate-eof[work around missing-new-line-at-EOF bugs]' \ - '(-v --verbose)'{-v,--verbose}'[display progress on stderr]' \ - '--recount[do not trust line counts in hunk headers]' \ - '*:patch:_files' -} - -(( $+functions[_git-checkout-index] )) || -_git-checkout-index () { - local z_opt= - - if (( words[(I)--stdin] )); then - z_opt='-z[paths are separated with NUL character when reading from standard input]' - fi - - _arguments -S -s $endopt \ - '(-u --index)'{-u,--index}'[update stat information in index]' \ - '(-q --quiet)'{-q,--quiet}'[no warning for existing files and files not in index]' \ - '(-f --force)'{-f,--force}'[force overwrite of existing files]' \ - '(-a --all --stdin *)'{-a,--all}'[check out all files in index]' \ - '(-n --no-create)'{-n,--no-create}'[do not checkout new files]' \ - '--temp[write content to temporary files]' \ - '(-a --all *)--stdin[read list of paths from the standard input]' \ - '--prefix=[prefix to use when creating files]:directory:_directories' \ - '--stage=[check out files from named stage]:stage:(1 2 3 all)' \ - $z_opt \ - '*: :__git_cached_files' -} - -(( $+functions[_git-commit-graph] )) || -_git-commit-graph() { - local -a args progress - progress=( "--no-progress[don't show progress]" ) - if [[ $words[2] = write ]]; then - args=( $progress - '(--split --size-multiple --max-commits --expire-time)--append[include all commits present in existing commit-graph file]' - '--changed-paths[enable computation for changed paths]' - '(--append)--split=-[write the commit-graph as a chain of multiple commit-graph files]::strategy:(no-merge replace)' - '(--stdin-packs --stdin-commits)--reachable[walk commits starting at all refs]' - '(--reachable --stdin-commits)--stdin-packs[only walk objects in pack-indexes read from input]' - '(--reachable --stdin-packs)--stdin-commits[walk commits starting at commits read from input]' - '(--append)--size-multiple=:commits [2]' - '(--append)--max-commits=:commits' - '(--append)--expire-time=:date/time:__git_datetimes' - '--max-new-filters=[specify maximum number of changed-path bloom filters to compute]:' - ) - elif [[ $words[2] = verify ]]; then - args=( $progress - '--shallow[only check the tip commit-graph file in a chain of split commit-graphs]' - ) - fi - - _arguments -S $endopt $args \ - '--object-dir=[specify location of packfiles and commit-graph file]:directory:_directories' \ - '(-h)1:verb:(verify write)' -} - -(( $+functions[_git-commit-tree] )) || -_git-commit-tree () { - _arguments -S $endopt \ - '-h[display usage]' \ - '*-p+[specify parent commit]:parent commit:__git_objects' \ - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' \ - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" \ - '-F+[read commit log from specified file]:file:_files' \ - '*-m+[specify paragraph of commit log message]:message' \ - ': :__git_trees' -} - -(( $+functions[_git-hash-object] )) || -_git-hash-object () { - _arguments -s -S $endopt \ - '-t[type of object to create]:object type:((blob\:"a blob of data" - commit\:"a tree with parent commits" - tag\:"a symbolic name for another object" - tree\:"a recursive tree of blobs"))' \ - '-w[write object to object database]' \ - '(: --stdin-paths)--stdin[read object from standard input]' \ - '(: --stdin --path)--stdin-paths[read file names from standard input instead of from command line]' \ - '--literally[just hash any random garbage to create corrupt objects for debugging Git]' \ - '( --no-filters)--path=[hash object as if it were located at given path]: :_files' \ - '(--path )--no-filters[hash contents as is, ignoring any input filters]' \ - '(--stdin --stdin-paths):file:_files' -} - -(( $+functions[_git-index-pack] )) || -_git-index-pack () { - local -a stdin_opts - - if (( words[(I)--stdin] )); then - stdin_opts=( - '--fix-thin[record deltified objects, based on objects not included]' - '--keep=-[create .keep file]::reason') - fi - - # NOTE: --index-version is only used by the Git test suite. - # TODO: --pack_header is undocumented. - _arguments \ - '-v[display progress on stderr]' \ - '-o[write generated pack index into specified file]: :_files' \ - '(--no-rev-index)--rev-index[generate a reverse index corresponding to the given pack]' \ - "(--rev-index)--no-rev-index[don't generate a reverse index corresponding to the given pack]" \ - '--stdin[read pack from stdin and instead write to specified file]' \ - $stdin_opts \ - '--strict[die if the pack contains broken objects or links]' \ - '--threads=[specify number of threads to use]:number of threads' \ - ':pack file:_files -g "*.pack(-.)"' -} - -(( $+functions[_git-merge-file] )) || -_git-merge-file () { - integer n_labels=${#${(M)words[1,CURRENT-1]:#-L}} - local label_opt= - - if (( n_labels < 3 )) || [[ $words[CURRENT-1] == -L ]]; then - local -a ordinals - - ordinals=(first second third) - - label_opt="*-L[label to use for the $ordinals[n_labels+1] file]:label" - fi - - _arguments \ - $label_opt \ - '(-p --stdout)'{-p,--stdout}'[send merged file to standard output instead of overwriting first file]' \ - '(-q --quiet)'{-q,--quiet}'[do not warn about conflicts]' \ - '( --theirs --union)--ours[resolve conflicts favoring our side of the lines]' \ - '(--ours --union)--theirs[resolve conflicts favoring their side of the lines]' \ - '(--ours --theirs )--union[resolve conflicts favoring both sides of the lines]' \ - '--marker-size[specify length of conflict markers]: :__git_guard_number "marker length"' \ - '--diff3[use a diff3 based merge]' \ - ':current file:_files' \ - ':base file:_files' \ - ':other file:_files' -} - -(( $+functions[_git-merge-index] )) || -_git-merge-index () { - if (( CURRENT > 2 )) && [[ $words[CURRENT-1] != -[oq] ]]; then - _arguments -S \ - '(:)-a[run merge against all files in index that need merging]' \ - '*: :__git_cached_files' - else - declare -a arguments - - (( CURRENT == 2 )) && arguments+='-o[skip failed merges]' - (( CURRENT == 2 || CURRENT == 3 )) && arguments+='(-o)-q[do not complain about failed merges]' - (( 2 <= CURRENT && CURRENT <= 4 )) && arguments+='*:merge program:_files -g "*(*)"' - - _arguments -S $arguments - fi -} - -(( $+functions[_git-mktag] )) || -_git-mktag () { - _arguments --no-strict -} - -(( $+functions[_git-mktree] )) || -_git-mktree () { - _arguments -S -s \ - '-z[read NUL-terminated ls-tree -z output]' \ - '--missing[allow missing objects]' \ - '--batch[allow creation of more than one tree]' -} - -(( $+functions[_git-multi-pack-index] )) || -_git-multi-pack-index() { - _arguments \ - '--object-dir=[specify location of git objects]:directory:_directories' \ - '(--progress)--no-progress[turn progress off]' '!(--no-progress)--progress' \ - '--stdin-packs[write a multi-pack index containing only pack index basenames provided on stdin]' \ - '--refs-snapshot=[specify a file which contains a "refs snapshot" taken prior to repacking]:file:_files' \ - '--batch-size=[during repack, select packs so as to have pack files of at least the specified size]:size' \ - '1:verb:(write verify expire repack)' -} - -(( $+functions[_git-pack-objects] )) || -_git-pack-objects () { - local thin_opt= - - if (( words[(I)--stdout] )); then - thin_opt='--thin[create a thin pack]' - fi - - # NOTE: --index-version is only used by the Git test suite. - _arguments \ - '(-q --quiet)'{-q,--quiet}"[don't report progress]" \ - '(-q --quiet --all-progress)--progress[show progress meter]' \ - '(-q --quiet --progress --all-progress-implied)--all-progress[show progress meter during object writing phase]' \ - '(-q --quiet --all-progress)--all-progress-implied[like --all-progress, but only if --progress was also passed]' \ - '(--stdout)--max-pack-size=[specify maximum size of each output pack file]: : __git_guard_bytes "maximum pack size"' \ - '(--incremental)--local[similar to --incremental, but only ignore unpacked non-local objects]' \ - '(--local)--incremental[ignore objects that have already been packed]' \ - '--window=-[limit pack window by objects]: :__git_guard_number "window size"' \ - '--window-memory=-[specify window size in memory]: : __git_guard_bytes "window size"' \ - '--depth=-[maximum delta depth]: :__git_guard_number "maximum delta depth"' \ - "--no-reuse-delta[don't reuse existing deltas, but compute them from scratch]" \ - "--no-reuse-object[don't reuse existing object data]" \ - '--delta-base-offset[use delta-base-offset packing]' \ - '--threads=-[specify number of threads for searching for best delta matches]: :__git_guard_number "number of threads"' \ - '--non-empty[only create a package if it contains at least one object]' \ - '(--stdin-packs)--revs[read revision arguments from standard input]' \ - '(--revs)--unpacked[limit objects to pack to those not already packed]' \ - '(--revs --stdin-packs)--all[include all refs as well as revisions already specified]' \ - '--reflog[include objects referred by reflog entries]' \ - '--indexed-objects[include objects referred to by the index]' \ - '(--revs --all --keep-unreachable --pack-loose-unreachable --unpack-unreachable)--stdin-packs[read packs from stdin]' \ - '(: --max-pack-size)--stdout[output pack to stdout]' \ - '--include-tag[include unasked-for annotated tags if object they reference is included]' \ - '(--revs --stdin-packs --unpack-unreachable)--keep-unreachable[add objects unreachable from refs in packs named with --unpacked to resulting pack]' \ - '(--revs --stdin-packs)--pack-loose-unreachable[pack unreachable loose objects]' \ - '(--revs --stdin-packs --keep-unreachable)--unpack-unreachable=-[keep unreachable objects in loose form]::time' \ - '--sparse[use sparse reachability algorithm]' \ - '--include-tag[include tag objects that refer to objects to be packed]' \ - $thin_opt \ - '--shallow[create packs suitable for shallow fetches]' \ - '--honor-pack-keep[ignore objects in local pack with .keep file]' \ - '--keep-pack=[ignore named pack]:pack' \ - '--compression=-[specify compression level]: :__git_compression_levels' \ - '--keep-true-parents[pack parents hidden by grafts]' \ - '--use-bitmap-index[use a bitmap index if available to speed up counting objects]' \ - '--write-bitmap-index[write a bitmap index together with the pack index]' \ - '--filter=[omit certain objects from pack file]:filter:_git_rev-list_filters' \ - '--missing=[specify how missing objects are handled]:action:(error allow-any allow-promisor print)' \ - "--exclude-promisor-objects[don't pack objects in promisor packfiles]" \ - '--delta-islands[respect islands during delta compression]' \ - '--uri-protocol=[exclude any configured uploadpack.blobpackfileuri with given protocol]:protocol' \ - ':base-name:_files' -} - -(( $+functions[_git-prune-packed] )) || -_git-prune-packed () { - _arguments -S -s \ - '(-n --dry-run)'{-n,--dry-run}'[only list objects that would be removed]' \ - '(-q --quiet)'{-q,--quiet}'[do not display progress on standard error]' -} - -(( $+functions[_git-read-tree] )) || -_git-read-tree () { - local trivial_opt= aggressive_opt= dryrun_opt= - - if (( words[(I)-m] )); then - dryrun_opt='--dry-run[report if a merge would fail without touching the index or the working tree]' - trivial_opt='--trivial[restrict three-way merge to only happen if no file-level merging is required]' - aggressive_opt='--aggressive[try harder to resolve merge conflicts]' - fi - - local -a ui_opts - - if (( words[(I)(-m|--reset|--prefix)] )); then - ui_opts=( - '( -i)-u[update the work tree after successful merge]' - '(-u )-i[update only the index; ignore changes in work tree]') - fi - - local exclude_per_directory_opt - - if (( words[(I)-u] )); then - exclude_per_directory_opt='--exclude-per-directory=-[specify .gitignore file]:.gitignore file:_files' - fi - - _arguments -S -s \ - '( --reset --prefix)-m[perform a merge, not just a read]' \ - '(-m --prefix)--reset[perform a merge, not just a read, ignoring unmerged entries]' \ - '(-m --reset 2 3)--prefix=-[read the contents of specified tree-ish under specified directory]:prefix:_directories -r ""' \ - $ui_opts \ - $dryrun_opt \ - '-v[display progress on standard error]' \ - $trivial_opt \ - $aggressive_opt \ - $exclude_per_directory_opt \ - '--index-output=[write index in the named file instead of $GIT_INDEX_FILE]: :_files' \ - '--no-sparse-checkout[display sparse checkout support]' \ - '--debug-unpack[debug unpack-trees]' \ - '--recurse-submodules=-[control recursive updating of submodules]::checkout:__git_commits' \ - '(-q --quiet)'{-q,--quiet}'[suppress feedback messages]' \ - '--empty[instead of reading tree object(s) into the index, just empty it]' \ - '1:first tree-ish to be read/merged:__git_tree_ishs' \ - '2::second tree-ish to be read/merged:__git_tree_ishs' \ - '3::third tree-ish to be read/merged:__git_tree_ishs' -} - -(( $+functions[_git-symbolic-ref] )) || -_git-symbolic-ref () { - _arguments -S -s \ - '(-d --delete)'{-d,--delete}'[delete symbolic ref]' \ - '(-q --quiet)'{-q,--quiet}'[do not issue error if specified name is not a symbolic ref]' \ - '--short[shorten the ref name (eg. refs/heads/master -> master)]' \ - '-m[update reflog for specified name with specified reason]:reason for update' \ - ':symbolic reference:__git_heads' \ - ':: :__git_references' -} - -(( $+functions[_git-unpack-objects] )) || -_git-unpack-objects () { - _arguments \ - '-n[only list the objects that would be unpacked]' \ - '-q[run quietly]' \ - '-r[try recovering objects from corrupt packs]' \ - '--strict[do not write objects with broken content or links]' -} - -(( $+functions[_git-update-index] )) || -_git-update-index () { - local z_opt - - if (( words[(I)--stdin|--index-info] )); then - z_opt='-z[paths are separated with NUL character when reading from stdin]' - fi - - _arguments -S \ - '(-)'{-h,--help}'[display usage information]' \ - '-q[continue refresh even when index needs update]' \ - '--add[add files not already in index]' \ - '(--force-remove)--remove[remove files that are in the index but are missing from the work tree]' \ - '(-q --unmerged --ignore-missing --really-refresh)--refresh[refresh index]' \ - '--ignore-submodules[do not try to update submodules]' \ - '--unmerged[if unmerged changes exists, ignore them instead of exiting]' \ - '--ignore-missing[ignore missing files when refreshing the index]' \ - '*--cacheinfo[insert information directly into the cache]: :_guard "[0-7]#" "octal file mode": :_guard "[[\:xdigit\:]]#" "object id": :_files' \ - '(: -)--index-info[read index information from stdin]' \ - '--chmod=-[set execute permissions on updated files]:permission:((+x\:executable -x\:"not executable"))' \ - '( --no-assume-unchanged)--assume-unchanged[set "assume unchanged" bit for given paths]' \ - '(--assume-unchanged )--no-assume-unchanged[unset "assume unchanged" bit for given paths]' \ - '(-q --unmerged --ignore-missing --refresh)--really-refresh[refresh index, unconditionally checking stat information]' \ - '( --no-skip-worktree)--skip-worktree[set "skip-worktree" bit for given paths]' \ - '(--skip-worktree )--no-skip-worktree[unset "skip-worktree" bit for given paths]' \ - "--ignore-skip-worktree-entries[don't touch index-only entries]" \ - '(-)'{-g,--again}'[run git-update-index on differing index entries]' \ - '(-)--unresolve[restore "unmerged" or "needs updating" state of files]' \ - '--info-only[only insert files object-IDs into index]' \ - '--replace[replace files already in index, if necessary]' \ - '(--remove)--force-remove[remove named paths even if present in worktree]' \ - '(: -)--stdin[read list of paths from standard input]' \ - '--verbose[report what is being added and removed from the index]' \ - '--clear-resolve-undo[forget saved unresolved conflicts]' \ - '--index-version=[write index in specified on-disk format version]:version:(2 3 4)' \ - '--split-index[enable/disable split index]' \ - '--untracked-cache[enable/disable untracked cache]' \ - '--test-untracked-cache[test if the filesystem supports untracked cache]' \ - '--force-untracked-cache[enable untracked cache without testing the filesystem]' \ - '--force-write-index[write out the index even if is not flagged as changed]' \ - '--fsmonitor[enable or disable file system monitor]' \ - '--fsmonitor-valid[mark files as fsmonitor valid]' \ - '--no-fsmonitor-valid[clear fsmonitor valid bit]' \ - $z_opt \ - '*:: :_files' -} - -(( $+functions[_git-update-ref] )) || -_git-update-ref () { - local z_opt - - if (( words[(I)--stdin] )); then - z_opt='-z[values are separated with NUL character when reading from stdin]' - fi - - _arguments -S -s \ - '-m[update reflog for specified name with specified reason]:reason for update' \ - '(:)-d[delete given reference after verifying its value]:symbolic reference:__git_revisions:old reference:__git_revisions' \ - '(-d --no-deref)--stdin[reads instructions from standard input]' \ - $z_opt \ - '(-d -z --stdin)--no-deref[overwrite ref itself, not what it points to]' \ - '--create-reflog[create a reflog]' \ - ':symbolic reference:__git_revisions' \ - ':new reference:__git_revisions' \ - '::old reference:__git_revisions' -} - -(( $+functions[_git-write-tree] )) || -_git-write-tree () { - # NOTE: --ignore-cache-tree is only used for debugging. - _arguments -S -s \ - '--missing-ok[ignore objects in index that are missing in object database]' \ - '--prefix=[write tree representing given sub-directory]:sub-directory:_directories -r ""' -} - -# Interrogation commands - -(( $+functions[_git-cat-file] )) || -_git-cat-file () { - _arguments -S -s \ - '(-t -s -e -p --allow-unknown-type 1)--textconv[show content as transformed by a textconv filter]' \ - '(-t -s -e -p --allow-unknown-type 1)--filters[show content as transformed by filters]' \ - '(-t -s -e -p --allow-unknown-type 1)--path=[use a specific path for --textconv/--filters]:path:_directories' \ - - query \ - '(-s -e -p --textconv --filters 1)-t[show type of given object]' \ - '(-t -e -p --textconv --filters 1)-s[show size of given object]' \ - '(-e -p --textconv --filters 1)--allow-unknown-type[allow query of broken/corrupt objects of unknown type]' \ - '(-t -s -p -textconv --filters --allow-unknown-type 1)-e[exit with zero status if object exists]' \ - '(-t -s -e -textconv --filters --allow-unknown-type 1)-p[pretty-print given object]' \ - '(-):object type:(blob commit tag tree)' \ - ': :__git_objects' \ - - batch \ - '(--batch-check)--batch=-[print SHA1, type, size and contents (or in specified format)]::format' \ - '(--batch)--batch-check=-[print SHA1, type and size (or in specified format)]::format' \ - '--follow-symlinks[follow in-tree symlinks (used with --batch or --batch-check)]' \ - '--batch-all-objects[show all objects with --batch or --batch-check]' \ - "--unordered[don't order --batch-all-objects output]" \ - '--buffer[disable flushing of output after each object]' -} - -(( $+functions[_git-diff-files] )) || -_git-diff-files () { - local -a revision_options diff_stage_options - __git_setup_revision_options - __git_setup_diff_stage_options - - _arguments -S -s \ - $revision_options \ - $diff_stage_options \ - ': :__git_changed-in-working-tree_files' \ - ': :__git_changed-in-working-tree_files' \ - '*: :__git_changed-in-working-tree_files' -} - -(( $+functions[_git-diff-index] )) || -_git-diff-index () { - local -a revision_options - __git_setup_revision_options - - # TODO: Description of -m doesn't match that for git-rev-list. What's going - # on here? - # TODO: With --cached, shouldn't we only list files changed in index compared - # to given tree-ish? This should be done for git-diff as well, in that case. - _arguments -S \ - $revision_options \ - "--cached[don't consider the work tree at all]" \ - '-m[flag non-checked-out files as up-to-date]' \ - ': :__git_tree_ishs' \ - '*: :__git_cached_files' -} - -(( $+functions[_git-diff-tree] )) || -_git-diff-tree () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - # NOTE: -r, -t, --root are actually parsed for all - # __git_setup_revision_options, but only used by this command, so only have - # them here. - _arguments -C -S -s \ - $revision_options \ - '-r[recurse into subdirectories]' \ - '(-r )-t[display tree objects in diff output]' \ - '--root[display root diff]' \ - '-m[do not ignore merges]' \ - '-s[do not show differences]' \ - '(--pretty --header)-v[display commit message before differences]' \ - '--no-commit-id[do not display commit IDs]' \ - '(-c --cc)-c[show differences from each of parents to merge result]' \ - '(-c --cc)--cc[how differences from each of parents and omit differences from only one parent]' \ - '--combined-all-paths[show name of file in all parents for combined diffs]' \ - '--always[always show commit itself and commit log message]' \ - ': :__git_tree_ishs' \ - '*:: :->files' && ret=0 - - case $state in - (files) - if (( $#line > 2 )); then - # TODO: It would be better to output something like - # - # common files: - # ... - # original tree: - # ... - # new tree: - # ... - _alternative \ - "original-tree-files:original tree:__git_tree_files ${PREFIX:-.} $line[1]" \ - "new-tree-files:new tree:__git_tree_files ${PREFIX:-.} $line[2]" && ret=0 - else - _alternative \ - 'tree-ishs::__git_tree_ishs' \ - "tree-files::__git_tree_files ${PREFIX:-.} $line[1]" && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-for-each-ref] )) || -_git-for-each-ref () { - # TODO: Better completion for --format: should complete %(field) stuff, that - # is, %(refname), %(objecttype), %(objectsize), %(objectname) with optional '*' - # in front. - _arguments -S -s \ - '--count=[maximum number of refs to iterate over]: :__git_guard_number "maximum number of refs"' \ - '*--sort=[key to sort refs by]: :__git_ref_sort_keys' \ - '--format=-[output format of ref information]:format:__git_format_ref' \ - '--color=-[respect any colors specified in the format]::when:(always never auto)' \ - '*--points-at=[print only refs which point at the given object]:object:__git_commits' \ - '*--merged=[print only refs that are merged]:object:__git_commits' \ - '*--no-merged=[print only refs that are not merged]:object:__git_commits' \ - '*--contains=[print only refs that contain specified commit]:object:__git_commits' \ - "*--no-contains=[print only refs that don't contain specified commit]:object:__git_commits" \ - '--ignore-case[sorting and filtering are case-insensitive]' \ - '(-s --shell -p --perl --python --tcl)'{-s,--shell}'[use string literals suitable for sh]' \ - '(-s --shell -p --perl --python --tcl)'{-p,--perl}'[use string literals suitable for Perl]' \ - '(-s --shell -p --perl --tcl)'--python'[use string literals suitable for Python]' \ - '(-s --shell -p --perl --python )'--tcl'[use string literals suitable for Tcl]' \ - ':: :_guard "([^-]?#|)" pattern' -} - -(( $+functions[_git-for-each-repo] )) || -_git-for-each-repo() { - _arguments -S \ - '(-C --config)'{-C,--config=}'[specify config variable for list of paths]:config variable' \ - ':git command:_git_commands' \ - '*:: := _git' -} - -(( $+functions[_git-ls-files] )) || -_git-ls-files () { - local no_empty_directory_opt= - - if (( words[(I)--directory] )); then - no_empty_directory_opt="--no-empty-directory[don't list empty directories]" - fi - - # TODO: Replace _files with something more intelligent based on seen options. - # TODO: Apply excludes like we do for git-clean. - _arguments -S -s $endopt \ - '(-c --cached)'{-c,--cached}'[show cached files in output]' \ - '(-d --deleted)'{-d,--deleted}'[show deleted files in output]' \ - '(-m --modified)'{-m,--modified}'[show modified files in output]' \ - '(-o --others)'{-o,--others}'[show other files in output]' \ - '(-i --ignored)'{-i,--ignored}'[show ignored files in output]' \ - '(-s --stage --with-tree)'{-s,--stage}'[show stage files in output]' \ - '--directory[if a whole directory is classified as "other", show just its name]' \ - '--eol[show line endings of files]' \ - $no_empty_directory_opt \ - '(-s --stage -u --unmerged --with-tree)'{-u,--unmerged}'[show unmerged files in output]' \ - '--resolve-undo[show resolve-undo information]' \ - '(-k --killed)'{-k,--killed}'[show killed files in output]' \ - '-z[separate paths with the NUL character]' \ - '*'{-x,--exclude=-}'[skip files matching given pattern]:file pattern' \ - '*'{-X,--exclude-from=-}'[skip files matching patterns in given file]: :_files' \ - '*--exclude-per-directory=-[skip directories matching patterns in given file]: :_files' \ - '--exclude-standard[skip files in standard Git exclusion lists]' \ - '--error-unmatch[if any file does not appear in index, treat this as an error]' \ - '(-s --stage -u --unmerged)--with-tree=[treat paths removed since given tree-ish as still present]: :__git_tree_ishs' \ - '(-f)-v[indicate status of each file using lowercase for assume changed files]' \ - '(-v)-f[indicate status of each file using lowercase for fsmonitor clean files]' \ - '--full-name[force paths to be output relative to the project top directory]' \ - '--recurse-submodules[recurse through submodules]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '--debug[show debugging data]' \ - '--deduplicate[suppress duplicate entries]' \ - '*:: :_files' -} - -(( $+functions[_git-ls-remote] )) || -_git-ls-remote () { - # TODO: repository needs fixing - _arguments -S -s $endopt \ - '(-q --quiet)'{-q,--quiet}"[don't print remote URL]" \ - '--upload-pack=[specify path to git-upload-pack on remote side]:remote path' \ - '(-h --heads)'{-h,--heads}'[show only refs under refs/heads]' \ - '(-t --tags)'{-t,--tags}'[show only refs under refs/tags]' \ - "--refs[don't show peeled tags]" \ - '--exit-code[exit with status 2 when no matching refs are found in the remote repository]' \ - '--get-url[expand the URL of the given repository taking into account any "url.<base>.insteadOf" config setting]' \ - '*--sort=[specify field name to sort on]:field:__git_ref_sort_keys' \ - '--symref[show underlying ref in addition to the object pointed by it]' \ - \*{-o+,--server-option=}'[send specified string to the server when using protocol version 2]:option' \ - ': :__git_any_repositories' \ - '*: :__git_references' -} - -(( $+functions[_git-ls-tree] )) || -_git-ls-tree () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C -S -s $endopt \ - '(-t)-d[do not show children of given tree (implies -t)]' \ - '-r[recurse into subdirectories]' \ - '-t[show tree entries even when going to recurse them]' \ - '(-l --long --name-only --name-status)'{-l,--long}'[show object size of blob entries]' \ - '-z[use NUL termination on output]' \ - '(--name-only --name-status --abbrev)'{--name-only,--name-status}'[list only filenames, one per line]' \ - '(--name-only --name-status)--abbrev=[use specified digits to display object names]:digits' \ - '--full-name[output full path-names]' \ - '(--full-name)--full-tree[do not limit listing to current working-directory]' \ - ': :__git_tree_ishs' \ - '*:: :->file' && ret=0 - - case $state in - (file) - __git_ignore_line __git_tree_files ${PREFIX:-.} $line[1] && ret=0 - ;; - esac - - return ret -} - -(( $+functions[_git-merge-base] )) || -_git-merge-base () { - _arguments -S -s $endopt \ - '(-a --all)'{-a,--all}'[display all common ancestors]' \ - '--octopus[compute best common ancestors of all supplied commits]' \ - '--is-ancestor[tell if A is ancestor of B (by exit status)]' \ - '(-)--independent[display minimal subset of supplied commits with same ancestors]' \ - '--fork-point[find the point at which B forked from ref A (uses reflog)]' \ - ': :__git_commits' \ - '*: :__git_commits' -} - -(( $+functions[_git-name-rev] )) || -_git-name-rev () { - _arguments -S $endopt \ - '--tags[only use tags to name commits]' \ - '*--refs=[only use refs matching given pattern]: :_guard "?#" "shell pattern"' \ - '--no-refs[clear any previous ref patterns given]' \ - '*--exclude=[ignore refs matching specified pattern]:pattern' \ - '(--stdin :)--all[list all commits reachable from all refs]' \ - '(--all :)--stdin[read from stdin and append revision-name]' \ - '--name-only[display only name of commits]' \ - '--no-undefined[die with non-zero return when a reference is undefined]' \ - '--always[show uniquely abbreviated commit object as fallback]' \ - '(--stdin --all)*: :__git_commits' -} - -(( $+functions[_git-pack-redundant] )) || -_git-pack-redundant () { - _arguments -S -A '-*' \ - '(:)--all[process all packs]' \ - '--alt-odb[do not require objects to be present in local packs]' \ - '--verbose[output some statistics to standard error]' \ - '(--all)*::pack:_files -g "*.pack(-.)"' -} - -(( $+functions[_git-rev-list] )) || -_git-rev-list () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - declare -a revision_options - __git_setup_revision_options - - _arguments -C -S $endopt \ - $revision_options \ - '--no-filter[turn off any previous --filter argument]' \ - '--filter-print-omitted[print a list of objects omitted by --filter]' \ - '--filter=[omit certain objects from pack file]:filter:_git_rev-list_filters' \ - '--missing=[specify how missing objects are handled]:action:(error allow-any allow-promisor print)' \ - '(--count --pretty --header --left-right --abbrev-commit --abbrev --parent --children)--quiet[print nothing; exit status indicates if objects are fully connected]' \ - '--use-bitmap-index[try to speed traversal using pack bitmap index if available]' \ - '--progress=-[show progress reports as objects are considered]:header' \ - '(--pretty --quiet)--header[display contents of commit in raw-format]' \ - "--no-object-names[don't print the names of the object IDs that are found]" \ - '!(--no-object-names)--object-names)' \ - '--timestamp[print raw commit timestamp]' \ - '( --bisect-vars --bisect-all)--bisect[show only middlemost commit object]' \ - '(--bisect)--bisect-vars[same as --bisect, displaying shell-evalable code]' \ - '(--bisect)--bisect-all[display all commit objects between included and excluded commits]' \ - '*:: :->commit-or-path' && ret=0 - - case $state in - (commit-or-path) - # TODO: What paths should we be completing here? - if [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'commit-ranges::__git_commit_ranges' \ - 'cached-files::__git_cached_files' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git_rev-list_filters] )) || -_git_rev-list_filters() { - _values 'filter' \ - 'blob\:none[omit all blobs]' \ - 'blob\:limit[omit blobs larger than specified size]:size' \ - 'sparse\:oid[uses a sparse-checkout specification contained in the blob]:blob-ish' \ - 'tree\:0[omit blobs and trees with depth exceeding limit]' -} - -(( $+functions[_git-show-index] )) || -_git-show-index() { - _arguments \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' -} - -(( $+functions[_git-show-ref] )) || -_git-show-ref () { - _arguments -S $endopt \ - - list \ - '--head[show the HEAD reference, even if it would normally be filtered out]' \ - '--tags[show only refs/tags]' \ - '--heads[show only refs/heads]' \ - '(-d --dereference)'{-d,--dereference}'[dereference tags into object IDs as well]' \ - '(-s --hash)'{-s+,--hash=-}'[only show the SHA-1 hash, not the reference name]:: :__git_guard_number length' \ - '--verify[enable stricter reference checking]' \ - '--abbrev=[use specified digits to display object names]:digits' \ - '(-q --quiet)'{-q,--quiet}'[do not print any results]' \ - '*: :_guard "([^-]?#|)" pattern' \ - - exclude \ - '--exclude-existing=-[filter out existing refs from stdin]:: :_guard "([^-]?#|)" pattern' -} - -(( $+functions[_git-unpack-file] )) || -_git-unpack-file () { - _arguments \ - '(:)-h[display usage information]' \ - '(-): :__git_blobs' -} - -(( $+functions[_git-var] )) || -_git-var () { - _arguments \ - '(:)-l[show logical variables]' \ - '(-):variable:((GIT_AUTHOR_IDENT\:"name and email of author" \ - GIT_COMMITTER_IDENT\:"name and email of committer" \ - GIT_EDITOR\:"text editor used by git commands" \ - GIT_PAGER\:"text viewer used by git commands"))' -} - -(( $+functions[_git-verify-pack] )) || -_git-verify-pack () { - _arguments -S -s $endopt \ - '(-v --verbose)'{-v,--verbose}'[show objects contained in pack]' \ - '(-s --stat-only)'{-s,--stat-only}'[do not verify pack contents; only display histogram of delta chain length]' \ - '--object-format=[specify the hash algorithm to use]:algortithm:(sha1 sha256)' \ - '*:index file:_files -g "*.idx(-.)"' -} - -# Syncing Repositories - -(( $+functions[_git-daemon] )) || -_git-daemon () { - # TODO: do better than _directories? The directory needs to be a git-repository, - # so one could check for a required file in the given directory. - # TODO: --interpolated-path should complete %H, %CH, %IP, %P, and %D. - _arguments -S \ - '--strict-paths[match paths exactly]' \ - '--access-hook=-[allow an external tool to accept or decline service]:path:_directories' \ - '--base-path=-[remap all the path requests as relative to the given path]:path:_directories' \ - '--base-path-relaxed[allow lookup of base path without prefix]' \ - '--interpolated-path=-[dynamically construct alternate paths]:path:_directories' \ - '--export-all[allow pulling from all repositories without verification]' \ - '(--port --listen --user --group)--inetd[run server as an inetd service]' \ - '(--inetd)--listen=-[listen on a specific IP address or hostname]: :_hosts' \ - '(--inetd)--port=-[specify port to listen to]: :_ports' \ - '--init-timeout=-[specify timeout between connection and request]: :__git_guard_number timeout' \ - '--timeout=-[specify timeout for sub-requests]: :__git_guard_number timeout' \ - '--max-connections=-[specify maximum number of concurrent clients]: :__git_guard_number "connection limit"' \ - '--syslog[log to syslog instead of standard error]' \ - '--user-path=-[allow ~user notation to be used in requests]::path:_directories' \ - '--verbose[log details about incoming connections and requested files]' \ - '--reuseaddr[reuse addresses when already bound]' \ - '(--syslog)--detach[detach from the shell]' \ - '--pid-file=-[save the process id in given file]:pid file:_files' \ - '--user=-[set uid of daemon]: :_users' \ - '--group=-[set gid of daemon]: :_groups' \ - '--enable=-[enable site-wide service]: :__git_daemon_service' \ - '--disable=-[disable site-wide service]: :__git_daemon_service' \ - '--allow-override[allow overriding site-wide service]: :__git_daemon_service' \ - '--forbid-override[forbid overriding site-wide service]: :__git_daemon_service' \ - '(--no-informative-errors)--informative-errors[report more verbose errors to the client]' \ - '(--informative-errors)--no-informative-errors[report all errors as "access denied" to the client]' \ - '--log-destination=[send log messages to the specified destination]:destination:(stderr syslog none)' \ - '*:repository:_directories' -} - -(( $+functions[_git-fetch-pack] )) || -_git-fetch-pack () { - # TODO: Limit * to __git_head_references? - _arguments -A '-*' \ - '--all[fetch all remote refs]' \ - '--stdin[take the list of refs from stdin]' \ - '(-q --quiet)'{-q,--quiet}'[make output less verbose]' \ - '(-k --keep)'{-k,--keep}'[do not invoke git-unpack-objects on received data]' \ - '--thin[fetch a thin pack]' \ - '--include-tag[download referenced annotated tags]' \ - '(--upload-pack --exec)'{--upload-pack=-,--exec=-}'[specify path to git-upload-pack on remote side]:remote path' \ - '--depth=-[limit fetching to ancestor-chains not longer than given number]: :__git_guard_number "maximum ancestor-chain length"' \ - '--no-progress[do not display progress]' \ - '--diag-url' \ - '-v[produce verbose output]' \ - ': :__git_any_repositories' \ - '*: :__git_references' -} - -(( $+functions[_git-http-backend] )) || -_git-http-backend () { - _nothing -} - -(( $+functions[_git-send-pack] )) || -_git-send-pack () { - local -a sign - sign=( - {yes,true}'\:always,\ and\ fail\ if\ unsupported\ by\ server' - {no,false}'\:never' - if-asked'\:iff\ supported\ by\ server' - ) - _arguments -S -A '-*' $endopt \ - '(-v --verbose)'{-v,--verbose}'[produce verbose output]' \ - '(-q --quiet)'{-q,--quiet}'[be more quiet]' \ - '(--receive-pack --exec)'{--receive-pack=-,--exec=-}'[specify path to git-receive-pack on remote side]:remote path' \ - '--remote[specify remote name]:remote' \ - '(*)--all[update all refs that exist locally]' \ - '(-n --dry-run)'{-n,--dry-run}'[do everything except actually sending the updates]' \ - '--mirror[mirror all refs]' \ - '(-f --force)'{-f,--force}'[update remote orphaned refs]' \ - "(--no-signed --signed)--sign=-[GPG sign the push]::signing enabled:(($^^sign))" \ - '(--no-signed --sign)--signed[GPG sign the push]' \ - "(--sign --signed)--no-signed[don't GPG sign the push]" \ - '*--push-option=[specify option to transmit]:option' \ - '--progress[force progress reporting]' \ - '--thin[send a thin pack]' \ - '--atomic[request atomic transaction on remote side]' \ - '--stateless-rpc[use stateless RPC protocol]' \ - '--stdin[read refs from stdin]' \ - '--helper-status[print status from remote helper]' \ - '--force-with-lease=[require old value of ref to be at specified value]:refname\:expect' \ - '--force-if-includes[require remote updates to be integrated locally]' \ - ': :__git_any_repositories' \ - '*: :__git_remote_references' -} - -(( $+functions[_git-update-server-info] )) || -_git-update-server-info () { - _arguments -S -s $endopt \ - '(-f --force)'{-f,--force}'[update the info files from scratch]' -} - -(( $+functions[_git-http-fetch] )) || -_git-http-fetch () { - _arguments -s \ - '-c[fetch commit objects]' \ - '-t[fetch trees associated with commit objects]' \ - '-a[fetch all objects]' \ - '-v[report what is downloaded]' \ - '-w[write commit-id into the filename under "$GIT_DIR/refs/<filename>"]:filename' \ - '--recover[recover from a failed fetch]' \ - '(1 --packfile)--stdin[read commit ids and refs from standard input]' \ - '!(1 --stdin)--packfile=:hash' \ - '!--index-pack-args=:args' \ - '1: :__git_commits' \ - ': :_urls' -} - -(( $+functions[_git-http-push] )) || -_git-http-push () { - _arguments \ - '--all[verify that all objects in local ref history exist remotely]' \ - '--force[allow refs that are not ancestors to be updated]' \ - '--dry-run[do everything except actually sending the updates]' \ - '--verbose[report the list of objects being walked locally and sent to remote]' \ - '( -D)-d[remove refs from remote repository]' \ - '(-d )-D[forcefully remove refs from remote repository]' \ - ': :_urls' \ - '*: :__git_remote_references' -} - -# NOTE: git-parse-remote isn't a user command. - -(( $+functions[_git-receive-pack] )) || -_git-receive-pack () { - _arguments -S -A '-*' $endopt \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '--stateless-rpc[quit after a single request/response exchange]' \ - ':directory to sync into:_directories' -} - -(( $+functions[_git-shell] )) || -_git-shell () { - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - _arguments -C \ - '-c[command to execute]: :->command' \ - ': :->argument' && ret=0 - - case $state in - (command) - declare -a commands - - commands=( - git-receive-pack - git-upload-pack - git-upload-archive - cvs) - - _describe -t commands command commands && ret=0 - ;; - (argument) - case $line[1] in - (git-receive-pack) - local expl - - _description directories expl 'directory to sync into' - _directories $expl && ret=0 - ;; - (git-upload-pack|git-upload-archive) - local expl - - _description directories expl 'directory to sync from' - _directories $expl && ret=0 - ;; - (cvs) - compadd - server && ret=0 - esac - ;; - esac - - return ret -} - - -(( $+functions[_git-upload-archive] )) || -_git-upload-archive () { - _arguments \ - ':directory to get tar archive from:_directories' -} - -(( $+functions[_git-upload-pack] )) || -_git-upload-pack () { - _arguments -S -A '-*' $endopt \ - '--stateless-rpc[quit after a single request/response exchange]' \ - '--advertise-refs[exit immediately after initial ref advertisement]' \ - "--strict[don't try <directory>/.git/ if <directory> is not a git directory]" \ - '--timeout=-[interrupt transfer after period of inactivity]: :__git_guard_number "inactivity timeout (seconds)"' \ - ': :_directories' -} - -# Internal Helper Commands - -(( $+functions[_git-check-attr] )) || -_git-check-attr () { - local z_opt= - - local curcontext=$curcontext state line ret=1 - declare -A opt_args - - if (( words[(I)--stdin] )); then - z_opt='-z[paths are separated with NUL character when reading from stdin]' - fi - - _arguments -C \ - {-a,--all}'[list all attributes that are associated with the specified paths]' \ - '--stdin[read file names from stdin instead of from command line]' \ - '--cached[consider .gitattributes in the index only, ignoring the working tree.]' \ - '-z[terminate input and output records by a NUL character]' \ - $z_opt \ - '(-)--[interpret preceding arguments as attributes and following arguments as path names]' \ - '*:: :->attribute-or-file' && ret=0 - - case $state in - (attribute-or-file) - local -a attributes - - attributes=(crlf ident filter diff merge) - - local only_attributes=1 - for (( i = 2; i < $#words; i++ )); do - if (( attributes[(I)$words[i]] == 0 )); then - only_attributes=0 - break - fi - done - - if (( !only_attributes )) || [[ -n ${opt_args[(I)--]} ]]; then - __git_cached_files && ret=0 - else - _alternative \ - 'attributes::__git_attributes' \ - 'files::__git_cached_files' && ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_git-check-ref-format] )) || -_git-check-ref-format () { - _arguments \ - '-h[display usage information]' \ - '(--no-allow-onelevel)--allow-onelevel[accept one-level refnames]' \ - '(--allow-onelevel)--no-allow-onelevel[do not accept one-level refnames]' \ - '--refspec-pattern[interpret <refname> as a reference name pattern for a refspec]' \ - '--normalize[normalize refname by removing leading slashes]' \ - '--branch[expand previous branch syntax]' \ - ': :__git_references' -} - -(( $+functions[_git-fmt-merge-msg] )) || -_git-fmt-merge-msg () { - _arguments -S -s $endopt \ - '( --no-log)--log=-[display one-line descriptions from actual commits being merged]::number of commits [20]' \ - '(--log )--no-log[do not display one-line descriptions from actual commits being merged]' \ - '(-m --message)'{-m+,--message=}'[use given message instead of branch names for first line in log message]:message' \ - '(-F --file)'{-F,--file}'[specify list of merged objects from file]: :_files' -} - -(( $+functions[_git-mailinfo] )) || -_git-mailinfo () { - # TODO: --no-inbody-headers is undocumented. - _arguments -A '-*' \ - '(-b)-k[prevent removal of cruft from Subject: header]' \ - '(-k)-b[limit stripping of bracketed strings to the word PATCH]' \ - '(-u --encoding)-u[encode commit information in UTF-8]' \ - '(-u --encoding)--encoding=-[encode commit information in given encoding]: :__git_encodings' \ - '-n[disable all charset re-coding of metadata]' \ - '(-m --message-id)'{-m,--message-id}'[copy the Message-ID header at the end of the commit message]' \ - '-n[disable charset re-coding of metadata]' \ - '( --no-scissors)--scissors[remove everything in body before a scissors line]' \ - '(--scissors )--no-scissors[do not remove everything in body before a scissors line]' \ - '--quoted-cr=[specify action when quoted CR is found]:action [warn]:(nowarn warn strip)' \ - '--no-inbody-headers[undocumented]' \ - ':message file:_files' \ - ':patch file:_files' -} - -(( $+functions[_git-mailsplit] )) || -_git-mailsplit () { - _arguments -S -A '-*' \ - '-o-[directory in which to place individual messages]:directory:_directories' \ - '-b[if file does not begin with "From " line, assume it is a single mail message]' \ - '-d-[specify number of leading zeros]: :__git_guard_number precision' \ - '-f-[skip the first N numbers]: :__git_guard_number' \ - '--keep-cr[do not remove CR from lines ending with CR+LF]' \ - '*::mbox file:_files' -} - -(( $+functions[_git-merge-one-file] )) || -_git-merge-one-file () { - _message 'you probably should not be issuing this command' -} - -(( $+functions[_git-patch-id] )) || -_git-patch-id () { - _arguments \ - '--stable[use a sum of hashes unaffected by diff ordering]' \ - '--unstable[use patch-id compatible with git 1.9 and older]' -} - -# NOTE: git-sh-setup isn't a user command. - -(( $+functions[_git-stripspace] )) || -_git-stripspace () { - _arguments \ - '(-s --strip-comments -c --comment-lines)'{-s,--strip-comments}'[also strip lines starting with #]' \ - '(-c --comment-lines -s --strip-comments)'{-c,--comment-lines}'[prepend comment character and blank to each line]' -} - -# INTERNAL GIT COMPLETION FUNCTIONS - -# Generic Helpers - -(( $+functions[__git_command_successful] )) || -__git_command_successful () { - if (( ${#*:#0} > 0 )); then - _message 'not a git repository' - return 1 - fi - return 0 -} - -(( $+functions[__git_committish_range_first] )) || -__git_committish_range_first () { - print -r -- ${${${1%..*}%.}:-HEAD} -} - -(( $+functions[__git_committish_range_last] )) || -__git_committish_range_last () { - print -r -- ${${${1#*..}#.}:-HEAD} -} - -(( $+functions[__git_pattern_escape] )) || -__git_pattern_escape () { - print -r -n - ${(b)1} -} - -(( $+functions[__git_is_type] )) || -__git_is_type () { - git rev-parse -q --verify "$2^{$1}" 2>/dev/null >/dev/null -} - -(( $+functions[__git_is_blob] )) || -__git_is_blob () { - __git_is_type blob $1 -} -(( $+functions[__git_is_committish] )) || -__git_is_committish () { - __git_is_type commit $1 -} - -(( $+functions[__git_is_treeish] )) || -__git_is_treeish () { - __git_is_type tree $1 -} - -(( $+functions[__git_is_committish_range] )) || -__git_is_committish_range () { - [[ $1 == *..(.|)* ]] || return 1 - local first="$(__git_committish_range_first $1)" - local last="$(__git_committish_range_last $1)" - [[ $first != *..* && $last != *..* ]] && \ - __git_is_committish $first && \ - __git_is_committish $last -} - -(( $+functions[__git_is_initial_commit] )) || -__git_is_initial_commit () { - git rev-parse -q --verify HEAD >/dev/null 2>/dev/null - (( $? == 1 )) -} - -(( $+functions[__git_is_in_middle_of_merge] )) || -__git_is_in_middle_of_merge () { - local gitdir - - gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) - __git_command_successful $pipestatus || return - - [[ -f $gitdir/MERGE_HEAD ]] -} - -(( $+functions[__git_describe_branch] )) || -__git_describe_branch () { - local __commits_in=$1 - local __tag=$2 - local __desc=$3 - shift 3 - - integer maxverbose - if zstyle -s :completion:$curcontext: max-verbose maxverbose && - (( ${compstate[nmatches]} <= maxverbose )); then - local __c - local -a __commits - for __c in ${(P)__commits_in}; do - __commits+=("${__c}:${$(_call_program describe git rev-list -1 --oneline $__c)//:/\\:}") - done - _describe -t $__tag $__desc __commits "$@" - else - local expl - _wanted $__tag expl $__desc compadd "$@" -a - $__commits_in - fi -} - -(( $+functions[__git_describe_commit] )) || -__git_describe_commit () { - __git_describe_branch $1 $2 $3 -M 'r:|/=* r:|=*' "${(@)argv[4,-1]}" -} - -# Completion Wrappers - -# '__git_ignore_line $callee "${callee_args[@]}" "${callee_compadd_args[@]}"' -# invokes '$callee "${callee_args[@]}" "${callee_compadd_args[@]}"' with -# callee_compadd_args modified to exclude positional parameters to the completed -# command from being completed. This causes 'git add foo <TAB>' not to offer -# 'foo' again. -# -# Note: This function can't be used to wrap bare 'compadd' calls that use a '--' -# argument terminator. It can wrap functions of the form -# f() { shift $N; compadd "$@" -a - mymatches } -# . -(( $+functions[__git_ignore_line] )) || -__git_ignore_line () { - local -a ignored=(${line:#${words[CURRENT]}}) - $* -F ignored -} - -(( $+functions[__git_ignore_line_inside_arguments] )) || -__git_ignore_line_inside_arguments () { - declare -a compadd_opts - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - - __git_ignore_line $* $compadd_opts -} - -# Common Argument Types - -(( $+functions[_git_commands] )) || -_git_commands () { - local -a cmdtypes - cmdtypes=( main_porcelain_commands user_commands - third_party_commands ancillary_manipulator_commands - ancillary_interrogator_commands interaction_commands - plumbing_manipulator_commands plumbing_interrogator_commands - plumbing_sync_commands plumbing_sync_helper_commands - plumbing_internal_helper_commands - ) - local -a $cmdtypes - - main_porcelain_commands=( - add:'add file contents to index' - am:'apply patches from a mailbox' - archive:'create archive of files from named tree' - bisect:'find, by binary search, change that introduced a bug' - branch:'list, create, or delete branches' - bundle:'move objects and refs by archive' - checkout:'checkout branch or paths to working tree' - cherry-pick:'apply changes introduced by some existing commits' - citool:'graphical alternative to git commit' - clean:'remove untracked files from working tree' - clone:'clone repository into new directory' - commit:'record changes to repository' - describe:'show most recent tag that is reachable from a commit' - diff:'show changes between commits, commit and working tree, etc.' - fetch:'download objects and refs from another repository' - format-patch:'prepare patches for e-mail submission' - gc:'cleanup unnecessary files and optimize local repository' - grep:'print lines matching a pattern' - gui:'run portable graphical interface to git' - init:'create empty git repository or re-initialize an existing one' - log:'show commit logs' - maintenance:'run tasks to optimize Git repository data' - merge:'join two or more development histories together' - mv:'move or rename file, directory, or symlink' - notes:'add or inspect object notes' - pull:'fetch from and merge with another repository or local branch' - push:'update remote refs along with associated objects' - range-diff:'compare two commit ranges' - rebase:'forward-port local commits to the updated upstream head' - reset:'reset current HEAD to specified state' - restore:'restore working tree files' - revert:'revert existing commits' - rm:'remove files from the working tree and from the index' - shortlog:'summarize git log output' - show:'show various types of objects' - sparse-checkout:'initialize and modify the sparse-checkout' - stash:'stash away changes to dirty working directory' - status:'show working-tree status' - submodule:'initialize, update, or inspect submodules' - subtree:'split repository into subtrees and merge them' - switch:'switch branches' - tag:'create, list, delete or verify tag object signed with GPG' - worktree:'manage multiple working dirs attached to the same repository' - ) - ancillary_manipulator_commands=( - config:'get and set repository or global options' - fast-export:'data exporter' - fast-import:'import information into git directly' - filter-branch:'rewrite branches' - mergetool:'run merge conflict resolution tools to resolve merge conflicts' - pack-refs:'pack heads and tags for efficient repository access' - prune:'prune all unreachable objects from the object database' - reflog:'manage reflog information' - remote:'manage set of tracked repositories' - repack:'pack unpacked objects in a repository' - replace:'create, list, delete refs to replace objects') - - ancillary_interrogator_commands=( - blame:'show what revision and author last modified each line of a file' - bugreport:'collect information for user to file a bug report' - count-objects:'count unpacked objects and display their disk consumption' - difftool:'show changes using common diff tools' - fsck:'verify connectivity and validity of objects in database' - help:'display help information about git' - instaweb:'instantly browse your working repository in gitweb' - interpret-trailers:'add or parse structured information in commit messages' - merge-tree:'show three-way merge without touching index' - rerere:'reuse recorded resolution of conflicted merges' - show-branch:'show branches and their commits' - verify-commit:'check GPG signature of commits' - verify-tag:'check GPG signature of tags' - whatchanged:'show commit-logs and differences they introduce' - version:'show git version') - - interaction_commands=( - archimport:'import an Arch repository into git' - cvsexportcommit:'export a single commit to a CVS checkout' - cvsimport:'import a CVS "repository" into a git repository' - cvsserver:'run a CVS server emulator for git' - imap-send:'send a collection of patches to an IMAP folder' - quiltimport:'apply a quilt patchset' - request-pull:'generate summary of pending changes' - send-email:'send collection of patches as emails' - svn:'bidirectional operation between a Subversion repository and git') - - plumbing_manipulator_commands=( - apply:'apply patch to files and/or to index' - checkout-index:'copy files from index to working directory' - commit-graph:'write and verify Git commit-graph files' - commit-tree:'create new commit object' - hash-object:'compute object ID and optionally create a blob from a file' - index-pack:'build pack index file for an existing packed archive' - merge-file:'run a three-way file merge' - merge-index:'run merge for files needing merging' - mktag:'create tag object with extra validation' - mktree:'build tree-object from git ls-tree formatted text' - multi-pack-index:'write and verify multi-pack-indexes' - pack-objects:'create packed archive of objects' - prune-packed:'remove extra objects that are already in pack files' - read-tree:'read tree information into directory index' - symbolic-ref:'read and modify symbolic references' - unpack-objects:'unpack objects from packed archive' - update-index:'register file contents in the working directory to the index' - update-ref:'update object name stored in a reference safely' - write-tree:'create tree from the current index') - - plumbing_interrogator_commands=( - cat-file:'provide content or type information for repository objects' - cherry:'find commits not merged upstream' - diff-files:'compare files in working tree and index' - diff-index:'compare content and mode of blobs between index and repository' - diff-tree:'compare content and mode of blobs found via two tree objects' - for-each-ref:'output information on each ref' - for-each-repo:'run a git command on a list of repositories' - get-tar-commit-id:'extract commit ID from an archive created using git archive' - ls-files:'information about files in index/working directory' - ls-remote:'show references in a remote repository' - ls-tree:'list contents of a tree object' - merge-base:'find as good a common ancestor as possible for a merge' - name-rev:'find symbolic names for given revisions' - pack-redundant:'find redundant pack files' - rev-list:'list commit object in reverse chronological order' - rev-parse:'pick out and massage parameters for other git commands' - show-index:'show packed archive index' - show-ref:'list references in a local repository' - unpack-file:'create temporary file with blob'\''s contents' - var:'show git logical variable' - verify-pack:'validate packed git archive files') - - plumbing_sync_commands=( - daemon:'run a really simple server for git repositories' - fetch-pack:'receive missing objects from another repository' - http-backend:'run a server side implementation of Git over HTTP' - send-pack:'push objects over git protocol to another repository' - update-server-info:'update auxiliary information file to help dumb servers') - - plumbing_sync_helper_commands=( - http-fetch:'download from remote git repository via HTTP' - http-push:'push objects over HTTP/DAV to another repository' - parse-remote:'routines to help parsing remote repository access parameters' - receive-pack:'receive what is pushed into repository' - shell:'restricted login shell for GIT-only SSH access' - upload-archive:'send archive back to git-archive' - upload-pack:'send objects packed back to git fetch-pack') - - plumbing_internal_helper_commands=( - check-attr:'display gitattributes information' - check-ignore:'debug gitignore/exclude files' - check-mailmap:'show canonical names and email addresses of contacts' - check-ref-format:'ensure that a reference name is well formed' - column:'display data in columns' - fmt-merge-msg:'produce merge commit message' - mailinfo:'extract patch and authorship from a single email message' - mailsplit:'split mbox file into a list of files' - merge-one-file:'standard helper-program to use with git merge-index' - patch-id:'compute unique ID for a patch' - stripspace:'filter out empty lines') - - zstyle -a :completion:$curcontext: user-commands user_commands - - local command - for command in ${(k)_git_third_party_commands}; do - (( $+commands[git-${command}] )) && third_party_commands+=$command$_git_third_party_commands[$command] - done - - local -a aliases - __git_extract_aliases - local cmdtype len dup sep - local -a allcmds allmatching alts disp expl - - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - for cmdtype in $cmdtypes aliases; do - if [[ $cmdtype = aliases ]]; then - for dup in ${${aliases%:*}:*allcmds}; do - aliases=( ${aliases:#$dup:*} ) - done - fi - local -a ${cmdtype}_m - set -A ${cmdtype}_m ${(P)cmdtype%%:*} - allcmds+=( ${(P)${:-${cmdtype}_m}} ) - done - zstyle -T ":completion:${curcontext}:" verbose && disp=(-ld '${cmdtype}_d') - _description '' expl '' # get applicable matchers - compadd "$expl[@]" -O allmatching -a allcmds - len=${#${(O)allmatching//?/.}[1]} # length of longest match - for cmdtype in aliases $cmdtypes; do - local -a ${cmdtype}_d - (( $#disp )) && set -A ${cmdtype}_d \ - ${${(r.COLUMNS-4.)${(P)cmdtype}/(#s)(#m)[^:]##:/${(r.len.)MATCH[1,-2]} $sep }%% #} - alts+=( "${cmdtype//_/-}:${${cmdtype//_/ }%%(e|)s}:compadd ${(e)disp} -a ${cmdtype}_m" ) - done - - _alternative $alts -} - -(( $+functions[__git_aliases] )) || -__git_aliases () { - local -a aliases - __git_extract_aliases - - _describe -t aliases alias aliases $* -} - -(( $+functions[__git_extract_aliases] )) || -__git_extract_aliases () { - local -a tmp - tmp=(${${(0)"$(_call_program aliases "git config -z --get-regexp '^alias.'")"}#alias.}) - if (( ${#tmp} > 0 )); then - aliases=(${^tmp/$'\n'/:alias for \'}\') - else - aliases=() - fi -} - -(( $+functions[_git_column_layouts] )) || -_git_column_layouts() { - _values -s , 'column layout [always,column,nodense]' \ - '(never auto)always[always show in columns]' \ - '(always auto)never[never show in columns]' \ - '(always never)auto[show in columns if the output is to the terminal]' \ - '(row plain)column[fill columns before rows]' \ - '(column plain)row[fill rows before columns]' \ - '(column row)plain[show in one column]' \ - '(nodense)dense[make unequal size columns to utilize more space]' \ - '(dense)nodense[make equal size columns]' -} - -(( $+functions[__git_date_formats] )) || -__git_date_formats () { - declare -a date_formats - - if compset -P 'format(-local|):'; then - _strftime - return - fi - - date_formats=( - relative:'show dates relative to the current time' - local:'show timestamps in the local timezone' - iso{,8601}:'show timestamps in ISO 8601 format' - iso{,8601}-local:'show timestamps in ISO 8601 format in the local timezone' - iso-strict:'show timestamps in strict ISO 8601 format' - iso-strict-local:'show timestamps in strict ISO 8601 format in the local timezone' - rfc{,2822}:'show timestamps in RFC 2822 format' - rfc{,2822}-local:'show timestamps in RFC 2822 format in the local timezone' - short:'show only date but not time' - short-local:'show only date but not time in the local timezone' - raw:'show date in internal raw git format (%s %z)' - raw-local:'show date in internal raw git format (%s %z) in the local timezone' - human:'elide some current and recent date elements' - human-local:'elide some current and recent date elements in the local timezone' - unix:'show date as a Unix epoch timestamp' - default:'show timestamp in rfc-like format' - default-local:'show timestamp in rfc-like format in the local timezone' - ) - - _describe -t date-formats 'date format' date_formats -- '( format\:custom\ format )' -S : -} - -(( $+functions[_git_diff_filters] )) || -_git_diff_filters() { - local sep - local -a dispinc dispexc exclude - typeset -A filters - exclude=( ${(s..)PREFIX:u} ${(s..)SUFFIX:u} ${(s..)PREFIX:l} ${(s..)SUFFIX:l} ) - compset -P \* - compset -S \* - filters=( A added C copied D deleted M modified R renamed T changed b "pairing broken" ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - print -v dispinc -f "%s $sep %s" ${(kv)filters} - print -v dispexc -f "%s $sep %s" ${(kv)filters:l} - else - dispinc=() - fi - _alternative \ - "included-file-types:included file type:compadd -S '' -d dispinc -F exclude -k filters" \ - "excluded-file-types:excluded file type:compadd -S '' -d dispexc -F exclude ${(k)filters:l}" -} - -(( $+functions[_git_dirstat_params] )) || -_git_dirstat_params() { - - _alternative \ - "limits: :_guard '(*,|)[0-9]#' 'minimum cut-off limit (percent)'" \ - "parameters: :_values -s , 'method for computing stats [changes]' - '(lines files)changes[count added/removed lines, ignoring moves]' - '(changes files)lines[count added/removed lines]' - '(changes lines)files[count number of files changed]' - 'cumulative[count changes in a child directory for the parent directory as well]'" -} - -(( $+functions[_git_cleanup_modes] )) || -_git_cleanup_modes() { - declare -a cleanup_modes - cleanup_modes=( - strip:'remove both whitespace and commentary lines' - whitespace:'remove leading and trailing whitespace lines' - verbatim:"don't change the commit message at all" - scissors:"same as whitespace but cut from scissor line" - default:'act as '\''strip'\'' if the message is to be edited and as '\''whitespace'\'' otherwise' - ) - _describe -t modes mode cleanup_modes -} - -(( $+functions[__git_gpg_secret_keys] )) || -__git_gpg_secret_keys () { - local expl - - _wanted secret-keys expl 'secret key' compadd \ - ${${(Mo)$(_call_program secret-keys gpg --list-secret-keys 2>/dev/null):%<*>}//(<|>)/} -} - -(( $+functions[__git_merge_strategies] )) || -__git_merge_strategies () { - local expl - - _wanted merge-strategies expl 'merge strategy' compadd "$@" - \ - ${=${${${(M)${(f)"$(_call_program merge-strategies \ - "git merge -s '' 2>&1")"}:#[Aa]vailable (custom )#strategies are: *}#[Aa]vailable (custom )#strategies are: }%.}:-octopus ours recursive resolve subtree} -} - -(( $+functions[_git_strategy_options] )) || -_git_strategy_options() { - _values "strategy option" ours theirs ignore-space-change \ - ignore-all-space ignore-space-at-eol ignore-cr-at-eol \ - renormalize no-renormalize \ - 'find-renames::similarity threshold' \ - subtree:path \ - 'diff-algorithm:algorithm:(patience minimal histogram myers)' -} - -(( $+functions[__git_encodings] )) || -__git_encodings () { - # TODO: Use better algorithm, as shown in iconv completer (separate it to a - # new Type). - local expl - _wanted encodings expl 'encoding' compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \ - ${${${(f)"$(_call_program encodings iconv --list)"}## #}%//} -} - -(( $+functions[__git_apply_whitespace_strategies] )) || -__git_apply_whitespace_strategies () { - declare -a strategies - - strategies=( - 'nowarn:turn off the trailing-whitespace warning' - 'warn:output trailing-whitespace warning, but apply patch' - 'fix:output trailing-whitespace warning and strip trailing whitespace' - 'error:output trailing-whitespace warning and refuse to apply patch' - 'error-all:same as "error", but output warnings for all files') - - _describe -t strategies 'trailing-whitespace resolution strategy' strategies $* -} - -(( $+functions[__git_remotes] )) || -__git_remotes () { - local remotes expl - - remotes=(${(f)"$(_call_program remotes git remote 2>/dev/null)"}) - __git_command_successful $pipestatus || return 1 - - _wanted remotes expl remote compadd "$@" -a - remotes -} - -(( $+functions[__git_ref_specs_pushy] )) || -__git_ref_specs_pushy () { - # TODO: This needs to deal with a lot more types of things. - if compset -P '*:'; then - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix - else - compset -P '+' - if compset -S ':*'; then - __git_heads - else - _alternative \ - 'commit-tags::__git_commit_tags' \ - 'heads::__git_heads -qS :' - fi - fi -} - -(( $+functions[__git_ref_specs_fetchy] )) || -__git_ref_specs_fetchy () { - # TODO: This needs to deal with a lot more types of things. - if compset -P '*:'; then - __git_heads_local - else - compset -P '+' - if compset -S ':*'; then - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix - else - # TODO: have the caller supply the correct remote name, restrict to refs/remotes/${that_remote}/* only - __git_remote_branch_names_noprefix -qS : - fi - fi -} - -(( $+functions[__git_ref_specs] )) || -__git_ref_specs () { - # Backwards compatibility: define this function to support user dotfiles that - # define custom _git-${subcommand} completions in terms of this function. - # ### We may want to warn here "use _pushy() or _fetchy()". - __git_ref_specs_pushy "$@" -} - -(( $+functions[__git_color_whens] )) || -__git_color_whens () { - local -a whens - - whens=( - 'always:always use colors' - 'never:never use colors' - 'auto:use colors if output is to a terminal') - - _describe -t whens when whens $* -} - -(( $+functions[__git_ignore_submodules_whens] )) || -__git_ignore_submodules_whens () { - local -a whens - - whens=( - none:'submodule is dirty when it contains untracked or modified files' - untracked:'submodule is dirty when it contains untracked files' - dirty:'ignore all changes to submodules, showing only changes to commits stored in superproject' - all:'ignore all changes to submodules (default)') - - _describe -t whens when whens $* -} - -# (Currently) Command-specific Argument Types -(( $+functions[__git_archive_formats] )) || -__git_archive_formats () { - local expl - - _wanted archive-formats expl 'archive format' \ - compadd $* - ${${(f)"$(_call_program archive-formats git archive --list)"}} -} - -(( $+functions[__git_compression_levels] )) || -__git_compression_levels () { - __git_config_values -t compression-levels -l 'compression level' -- "$current" "$parts[5]" \ - '-1:default level of compression' \ - '0:do not deflate files' \ - '1:minimum compression' \ - '2:a little more compression' \ - '3:slightly more compression' \ - '4:a bit more compression' \ - '5:even more compression' \ - '6:slightly even more compression' \ - '7:getting there' \ - '8:close to maximum compression' \ - '9:maximum compression' -} - -(( $+functions[__git_attributes] )) || -__git_attributes () { - local -a attributes - - attributes=( - 'crlf:line-ending convention' - 'ident:ident substitution' - 'filter:filters' - 'diff:textual diff' - 'merge:merging strategy') - - _describe -t attributes attribute attributes $* -} - -(( $+functions[__git_daemon_service] )) || -__git_daemon_service () { - local -a services - - services=( - 'upload-pack:serve git fetch-pack and git ls-remote clients' - 'upload-archive:serve git archive --remote clients') - - _describe -t services service services $* -} - -(( $+functions[_git_log_line_ranges] )) || -_git_log_line_ranges() { - local sep pos=start op=( / : ) - if compset -P '*[^,^]:'; then - __git_tree_files ${PREFIX:-.} HEAD - else - compset -P 1 '*,' && pos=end - if compset -P '(^|):'; then - _message -e functions function - elif compset -P '(^|)/'; then - _message -e patterns regex - else - zstyle -s ":completion:${curcontext}:forms" list-separator sep || sep=-- - sep=' -- ' - sep="${(q)sep}" - _guard "[0-9]#" "$pos line number" && return - compset -P \^ || op+=( \^ ) - _wanted forms expl form compadd -S '' -d "( - /\ $sep\ regex - :\ $sep\ function - ^\ $sep\ search\ from\ start\ of\ file )" $op - fi - fi -} - -(( $+functions[__git_log_decorate_formats] )) || -__git_log_decorate_formats () { - declare -a log_decorate_formats - - log_decorate_formats=( - short:'do not show ref name prefixes' - full:'show ref name prefixes' - no:'do not show ref names') - - _describe -t log-decorate-formats 'log decorate format' log_decorate_formats $* -} - -(( $+functions[__git_repository_permissions] )) || -__git_repository_permissions () { - if [[ -prefix [0-7] ]]; then - _message -e number 'numeric mode' - else - declare -a permissions - - permissions=( - {umask,false,no,off}':use permissions reported by umask()' - {group,true,yes,on}':files and objects are group-writable' - {all,world,everybody}':files and objects are readable by all users and group-shareable') - - _describe -t permissions permission permissions $* - fi -} - -(( $+functions[__git_reflog_entries] )) || -__git_reflog_entries () { - local expl - declare -a reflog_entries - - # Repeat the %gD on the RHS due to uniquify the matches, to avoid bad - # completion list layout. (Compare workers/34768) - reflog_entries=(${(f)"$(_call_program reflog-entries "git reflog -1000 --pretty='%gD:[%h] %gs (%gD)'" 2>/dev/null)"}) - reflog_entries=( ${reflog_entries/HEAD@$'\x7b'/@$'\x7b'} ) - __git_command_successful $pipestatus || return 1 - - _describe -Vx -t reflog-entries 'reflog entry' reflog_entries -} - -(( $+functions[__git_ref_sort_keys] )) || -__git_ref_sort_keys () { - compset -P '-' - - __git_ref_fields "$@" -} - -(( $+functions[__git_ref_fields] )) || -__git_ref_fields () { - # pass -a to complete all fields, otherwise only fields relevant to sorting - local match mbegin mend - local -a cfields fields append opts all - - zparseopts -D -E -a opts M+: x+: X+: J+: V+: o+: 1 2 a=all - - if compset -P 1 '(#b)(*):'; then - case $match[1] in - push|upstream) - append=( - 'trackshort[show terse version: > (ahead) < (behind) = (in sync)]' - 'track[print gone whenever unknown upstream ref is encountered]' - 'track,nobracket[tracking information without brackets]' - ) - ;& - refname|upstream|symref) - append+=( - {strip,lstrip}'[strip elements from the left]:elements to strip / -remain' - 'rstrip[strip elements from the right]:elements to strip / -remain' - 'short[strip to non-ambiguous short name]' - ) - ;; - objectname) - append=( - 'short[strip to non-ambiguous short name]:length' - ) - ;; - color) - _alternative \ - 'colors::__git_colors' \ - 'attributes::__git_color_attributes' - return - ;; - align) - append=( - 'width[specify width]:width' - 'position[specify alignment]:alignment:(left right middle)' - ) - ;; - if) append=( {,not}'equals:string' ) ;; - contents) append=( subject body signature lines:lines ) ;; - tailers) append=( only unfold ) ;; - v|version) - append=( - 'refname[sort by versions]' - ) - ;; - esac - (( $#append )) || return 1 - _values 'interpolation modifier' $append - return - fi - - cfields=( - 'refname:name of the ref' - 'objectname:object name (SHA-1)' - 'upstream:name of a local ref which can be considered “upstream” from the displayed ref' - 'push:name of a local ref which represents the @{push} location for the displayed ref' - 'symref:the ref which the given symbolic ref refers to' - 'contents:complete message' - 'trailers:structured information in commit messages' - ) - fields=( - 'objecttype:the type of the object' - 'objectsize:the size of the object' - 'deltabase:object name of the delta base of the object' - 'HEAD:* if HEAD matches ref or space otherwise' - 'tree:the tree header-field' - 'parent:the parent header-field' - 'numparent:number of parent objects' - 'object:the object header-field' - 'type:the type header-field' - 'tag:the tag header-field' - 'author:the author header-field' - 'authorname:the name component of the author header-field' - 'authoremail:the email component of the author header-field' - 'authordate:the date component of the author header-field' - 'committer:the committer header-field' - 'committername:the name component of the committer header-field' - 'committeremail:the email component of the committer header-field' - 'committerdate:the date component of the committer header-field' - 'tagger:the tagger header-field' - 'taggername:the name component of the tagger header-field' - 'taggeremail:the email component of the tagger header-field' - 'taggerdate:the date component of the tagger header-field' - 'creator:the creator header-field' - 'creatordate:the date component of the creator header-field' - 'subject:the subject of the message' - 'body:the body of the message' - 'version\:refname:sort by versions' - ) - if (( $#all )); then - cfields+=( - 'color:change output color' - 'align:set alignment' - 'if:conditional' - ) - fields+=( - 'then:true branch' - 'else:false branch' - 'end:end if or align block' - ) - fi - - _describe -t fields 'field' cfields -S : -r ':\\) \t\n\-' -- fields "$@" -} - -(( $+functions[__git_format_ref] )) || -__git_format_ref() { - local expl - compset -P '(%\\\([^)]#\\\)|[^%]|%%|%[[:xdigit:]][[:xdigit:]])#' - if compset -P '%\\\((\*|)'; then - __git_ref_fields -S '\)' -a - else - _wanted -x formats expl format compadd -S '' '%(' - fi -} - -(( $+functions[__git_signoff_file] )) || -__git_signoff_file () { - _alternative \ - 'signoffs:signoff:(yes true me please)' \ - 'files:signoff file:_files' -} - -(( $+functions[__git_stashes] )) || -__git_stashes () { - local expl - declare -a interleaved - declare -a stashes - declare -a descriptions - - interleaved=(${(ps:\0:)"$(_call_program stashes git stash list -z --pretty='format:%gd%x00%s%x00\(%cr\)' 2>/dev/null)"}) - __git_command_successful $pipestatus || return 1 - () { - local i j k - for i j k in $interleaved; do - stashes+=($i) - descriptions+=("$i: $j $k") - done - } - - _wanted stashes expl 'stash' compadd -Vx -d descriptions -a - stashes -} - -(( $+functions[__git_svn_revisions] )) || -__git_svn_revisions () { - if [[ -prefix *: ]]; then - compset -P '*:' - - _alternative \ - 'revision-numbers::__git_svn_revision_numbers' \ - 'symbolic-revisions:symbolic revision:((HEAD:"the topmost revision of the SVN repository"))' - else - _alternative \ - 'revision-numbers::__git_svn_revision_numbers' \ - 'symbolic-revisions:symbolic revision:__git_svn_base_revisions' - fi -} - -(( $+functions[__git_svn_base_revisions] )) || -__git_svn_base_revisions () { - declare -a symbolic_revisions - - symbolic_revisions=( - 'BASE:the bottommost revision of the SVN repository') - - # TODO: How do we deal with $*? - _describe -t symbolic-revisions 'symbolic revision' symbolic_revisions -S ':' -r ': ' -} - -# Object Type Argument Types - -(( $+functions[__git_branch_names] )) || -__git_branch_names () { - local expl - declare -a branch_names - - branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names branch-names 'branch name' "$@" -} - -(( $+functions[__git_remote_branch_names] )) || -__git_remote_branch_names () { - declare -a branch_names - - branch_names=(${${(f)"$(_call_program remote-branch-refs git for-each-ref --format='"%(refname)"' refs/remotes 2>/dev/null)"}#refs/remotes/}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names remote-branch-names 'remote branch name' "$@" -} - -(( $+functions[__git_remote_branch_names_noprefix] )) || -__git_remote_branch_names_noprefix () { - declare -a heads - - branch_names=(${${${${(f)"$(_call_program remote-branch-refs-noprefix git for-each-ref --format='"%(refname)"' refs/remotes 2>/dev/null)"}#refs/remotes/}#*/}:#HEAD}) - __git_command_successful $pipestatus || return 1 - - __git_describe_commit branch_names remote-branch-names-noprefix 'remote branch name' "$@" -} - -(( $+functions[__git_commit_objects_prefer_recent] )) || -__git_commit_objects_prefer_recent () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - - __git_recent_commits $argument_array_names || __git_commit_objects -} - -# This function returns in $reply recently-checked-out refs' names, in order -# from most to least recent. -(( $+functions[__git_recent_branches__names] )) || -__git_recent_branches__names() -{ - # This parameter expansion does the following: - # 1. Obtains the last 1000 'checkout' operations from the reflog - # 2. Extracts the move-source from each - # 3. Eliminates duplicates - # 4. Eliminates commit hashes (leaving only ref names) - # [This step is done again by the caller.] - # - # See workers/38592 for an equivalent long-hand implementation, and the rest - # of that thread for why this implementation was chosen instead. - # - # Note: since we obtain the "from" part of the reflog, we only obtain heads, not tags. - reply=(${${(u)${${(M)${(0)"$(_call_program reflog git reflog -1000 -z --pretty='%gs')"}:#(#s)checkout: moving from *}#checkout: moving from }%% *}:#[0-9a-f](#c40)}) -} - -(( $+functions[__git_recent_branches] )) || -__git_recent_branches() { - local -a branches - local -A descriptions - local -a reply - local -aU valid_ref_names_munged=( ${"${(f)"$(_call_program valid-ref-names 'git for-each-ref --format="%(refname)" refs/heads/')"}"#refs/heads/} ) - - # 1. Obtain names of recently-checked-out branches from the reflog. - # 2. Remove ref names that no longer exist from the list. - # (We must do this because #3 would otherwise croak on them.) - __git_recent_branches__names; branches=( ${(@)reply:*valid_ref_names_munged} ) - - # 3. Early out if no matches. - if ! (( $+branches[1] )); then - # This can happen in a fresh repository (immediately after 'clone' or 'init') before - # any 'checkout' commands were run in it. - return 1 - fi - - # 4. Obtain log messages for all of them in one shot. - # TODO: we'd really like --sort=none here... but git doesn't support such a thing. - local z=$'\0' - descriptions=( "${(0)"$(_call_program all-descriptions "git --no-pager for-each-ref --format='%(refname)%00%(subject)'" refs/heads/${(q)^branches} "--")"//$'\n'/$z}" ) - - # 5. Synthesize the data structure _describe wants. - local -a branches_colon_descriptions - local branch - for branch in ${branches} ; do - branches_colon_descriptions+="${branch//:/\:}:${descriptions[refs/heads/${(b)branch}]}" - done - - _describe -V -t recent-branches "recent branches" branches_colon_descriptions -} - -(( $+functions[__git_commits_prefer_recent] )) || -__git_commits_prefer_recent () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - - _alternative \ - 'recent-branches::__git_recent_branches' \ - "commits::__git_commits $argument_array_names" -} - -(( $+functions[__git_commits] )) || -__git_commits () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - set -- "${(@P)argument_array_names[1]}" - local commit_opts__argument_name=$argument_array_names[2] - - # TODO: deal with things that __git_heads and __git_tags has in common (i.e., - # if both exists, they need to be completed to heads/x and tags/x. - local -a sopts ropt expl - zparseopts -E -a sopts S: r:=ropt R: q - sopts+=( $ropt:q ) - expl=( "$@" ) - _alternative \ - "heads::__git_heads $sopts" \ - "commit-tags::__git_commit_tags $sopts" \ - 'commit-objects:: __git_commit_objects_prefer_recent -O expl:$commit_opts__argument_name' -} - -(( $+functions[__git_heads] )) || -__git_heads () { - _alternative 'heads-local::__git_heads_local' 'heads-remote::__git_heads_remote' -} - -(( $+functions[__git_heads_local] )) || -__git_heads_local () { - local f gitdir - declare -a heads - - heads=(${(f)"$(_call_program headrefs git for-each-ref --format='"%(refname:short)"' refs/heads refs/bisect refs/stash 2>/dev/null)"}) - gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) - if __git_command_successful $pipestatus; then - for f in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do - [[ -f $gitdir/$f ]] && heads+=$f - done - fi - - __git_describe_commit heads heads-local "local head" "$@" -} - -(( $+functions[__git_heads_remote] )) || -__git_heads_remote () { - declare -a heads - - heads=(${(f)"$(_call_program headrefs git for-each-ref --format='"%(refname:short)"' refs/remotes 2>/dev/null)"}) - - __git_describe_commit heads heads-remote "remote head" "$@" -} - -(( $+functions[__git_commit_objects] )) || -__git_commit_objects () { - local gitdir expl start - declare -a commits - - if [[ -n $PREFIX[(r)@] ]] || [[ -n $SUFFIX[(r)@] ]]; then - # doesn't match a commit hash, but might be a reflog entry - __git_reflog_entries; return $? - elif ! [[ "$PREFIX$SUFFIX" == [[:xdigit:]](#c1,40) ]]; then - # Abort if the argument does not match a commit hash (including empty). - return 1 - fi - - # Note: the after-the-colon part must be unique across the entire array; - # see workers/34768 - commits=(${(f)"$(_call_program commits git --no-pager rev-list -1000 --all --reflog --format='%h:\[%h\]\ %s\ \(%cr\)' HEAD)"}) - __git_command_successful $pipestatus || return 1 - commits=(${commits:#commit [[:xdigit:]](#c40,)}) - - _describe -Vx -t commits 'commit object name' commits -} - -(( $+functions[__git_recent_commits] )) || -__git_recent_commits () { - local gitdir expl start - declare -a descr tags heads commits argument_array_names commit_opts - local h i j k ret - integer distance_from_head - local label - local parents - local next_first_parent_ancestral_line_commit - - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - (( $#argument_array_names > 1 )) && (( ${(P)+argument_array_names[2]} )) && - commit_opts=( "${(@P)argument_array_names[2]}" ) - - # Careful: most %d will expand to the empty string. Quote properly! - # NOTE: we could use %D directly, but it's not available in git 1.9.1 at least. - commits=("${(f)"$(_call_program commits git --no-pager rev-list -20 --format='%h%n%d%n%s\ \(%cr\)%n%p' HEAD ${(q)commit_opts})"}") - __git_command_successful $pipestatus || return 1 - - # h => hard-coded 'commit abcdef1234567890...' -- just discarded - for h i j k parents in "$commits[@]" ; do - # Note: the after-the-colon part must be unique across the entire array; - # see workers/34768 - if (( $#commit_opts )); then - # $commit_opts is set, so the commits we receive might not be in order, - # or might not be ancestors of HEAD. However, we must make the - # description unique (due to workers/34768), which we do by including the - # hash. Git always prints enough hash digits to make the output unique.) - label="[$i]" - elif (( distance_from_head )) && [[ $i != $next_first_parent_ancestral_line_commit ]]; then - # The first commit (HEAD), and its ancestors along the first-parent line, - # get HEAD~$n labels. - # - # For other commits, we just print the hash. (${parents} does provide enough - # information to compute HEAD~3^2~4 -style labels, though, if somebody cared - # enough to implement that.) - label="[$i]" - else - # Compute a first-parent-ancestry commit's label. - if false ; then - elif (( distance_from_head == 0 )); then - label="[HEAD] " - elif (( distance_from_head == 1 )); then - label="[HEAD^] " - elif (( distance_from_head == 2 )); then - label="[HEAD^^] " - elif (( distance_from_head < 10 )); then - label="[HEAD~$distance_from_head] " - else - label="[HEAD~$distance_from_head]" - fi - ## Disabled because _describe renders the output unhelpfully when this function - ## is called twice during a single completion operation, and list-grouped is - ## in its default setting (enabled). - #descr+=("@~${distance_from_head}":"${label} $k") # CROSSREF: use the same label as below - - # Prepare for the next first-parent-ancestry commit. - (( ++distance_from_head )) - next_first_parent_ancestral_line_commit=${parents%% *} - fi - # label is now 9 bytes, so the descriptions ($k) will be aligned. - descr+=($i:"${label} $k") # CROSSREF: use the same label as above - - j=${${j# \(}%\)} # strip leading ' (' and trailing ')' - j=${j/ ->/,} # Convert " -> master, origin/master". - for j in ${(s:, :)j}; do - if [[ $j == 'tag: '* ]] ; then - tags+=( ${j#tag: } ) - else - heads+=( $j ) - fi - done - done - - ret=1 - # Resetting expl to avoid it 'leaking' from one line to the next. - expl=() - _describe -V -t commits 'recent commit object name' descr && ret=0 - expl=() - _wanted commit-tags expl 'commit tag' compadd "$@" -a - tags && ret=0 - expl=() - _wanted heads expl 'head' compadd -M "r:|/=* r:|=*" "$@" -a - heads && ret=0 - return ret -} - -(( $+functions[_git_fixup] )) || -_git_fixup() { - local alts - alts=( 'commits: :__git_recent_commits' ) - if ! compset -P '(amend|reword):'; then - alts+=( 'actions:action:compadd -S: amend reword' ) - fi - _alternative $alts -} - -(( $+functions[__git_blob_objects] )) || -__git_blob_objects () { - _guard '[[:xdigit:]](#c,40)' 'blob object name' -} - -(( $+functions[__git_blobs] )) || -__git_blobs () { - _alternative \ - 'blob-tags::__git_blob_tags' \ - 'blob-objects::__git_blob_objects' -} - -(( $+functions[__git_blobs_and_trees_in_treeish] )) || -__git_blobs_and_trees_in_treeish () { - compset -P '*:' - [[ -n ${IPREFIX} ]] || return 1 - if [[ -n ${IPREFIX%:} ]]; then - __git_is_treeish ${IPREFIX%:} && __git_tree_files ${PREFIX:-.} ${IPREFIX%:} - else - __git_changed-in-index_files - fi -} - -(( $+functions[__git_committishs] )) || -__git_committishs () { - __git_commits -} - -(( $+functions[__git_revisions] )) || -__git_revisions () { - # TODO: deal with prefixes and suffixes listed in git-rev-parse - __git_commits $* -} - -(( $+functions[__git_commits2] )) || -__git_commits2 () { - compset -P '\\\^' - __git_commits -} - -(( $+functions[__git_commit_ranges] )) || -__git_commit_ranges () { - local -a argument_array_names - zparseopts -D -E O:=argument_array_names - # Turn (-O foo:bar) to (foo bar) - (( $#argument_array_names )) && argument_array_names=( "${(@s/:/)argument_array_names[2]}" ) - set -- "${(@P)argument_array_names[1]}" - local commit_opts__argument_name=$argument_array_names[2] - - local -a suf - local -a expl - if compset -P '*..(.|)'; then - expl=( $* ) - else - if ! compset -S '..*'; then - local match mbegin mend - if [[ ${PREFIX} = (#b)((\\|)\^)* ]]; then - compset -p ${#match[1]} - else - suf=( -S .. -r '@~ \^:\t\n\-' ) - fi - fi - expl=( $* $suf ) - fi - - __git_commits -O expl:$commit_opts__argument_name -} - -(( $+functions[__git_commit_ranges2] )) || -__git_commit_ranges2 () { - _alternative \ - 'commits::__git_commits2' \ - 'ranges::__git_commit_ranges' -} - -(( $+functions[__git_trees] )) || -__git_trees () { - __git_objects -} - -(( $+functions[__git_tree_ishs] )) || -__git_tree_ishs () { - __git_commits -} - -(( $+functions[__git_objects] )) || -__git_objects () { - compset -P '*:' - if [[ -n $IPREFIX ]]; then - if compset -P ./ ; then - __git_tree_files "$PREFIX" "${IPREFIX%:./}" - else - __git_tree_files --root-relative "$PREFIX" "${IPREFIX%:}" - fi - else - _alternative \ - 'revisions::__git_revisions' \ - 'files::__git_cached_files' - fi -} - -(( $+functions[__git_submodules] )) || -__git_submodules () { - local expl - declare -a submodules - - submodules=( ${${${(f)"$(_call_program submodules git submodule)"}#?* }%% *} ) - - _wanted submodules expl submodule compadd "$@" -a - submodules -} - -# Tag Argument Types - -(( $+functions[__git_tags] )) || -__git_tags () { - local expl - declare -a tags - - tags=(${${(f)"$(_call_program tagrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) - __git_command_successful $pipestatus || return 1 - - _wanted tags expl tag compadd -M 'r:|/=* r:|=*' "$@" -a - tags -} - -(( $+functions[__git_commit_tags] )) || -__git_commit_tags () { - __git_tags_of_type commit $* -} - -(( $+functions[__git_blob_tags] )) || -__git_blob_tags () { - __git_tags_of_type blob $* -} - -(( $+functions[__git_tags_of_type] )) || -__git_tags_of_type () { - local type expl - declare -a tags - - type=$1; shift - - tags=(${${(M)${(f)"$(_call_program ${(q)type}-tag-refs "git for-each-ref --format='%(*objecttype)%(objecttype) %(refname)' refs/tags 2>/dev/null")"}:#$type(tag|) *}#$type(tag|) refs/tags/}) - __git_command_successful $pipestatus || return 1 - - _wanted $type-tags expl "$type tag" compadd -M 'r:|/=* r:|=*' "$@" -o numeric -a - tags -} - -# Reference Argument Types - -(( $+functions[__git_references] )) || -__git_references () { - local expl - - # TODO: depending on what options are on the command-line already, complete - # only tags or heads - # TODO: perhaps caching is unnecessary. usually won't contain that much data - # TODO: perhaps provide alternative here for both heads and tags (and use - # __git_heads and __git_tags) - # TODO: instead of "./.", we should be looking in the repository specified as - # an argument to the command (but default to "./." I suppose (why not "."?)) - # TODO: deal with GIT_DIR - if [[ $_git_refs_cache_pwd != $PWD ]]; then - _git_refs_cache=(${${${(f)"$(_call_program references git ls-remote ./. 2>/dev/null)"}#*$'\t'}#refs/(heads|tags)/}) - __git_command_successful $pipestatus || return 1 - _git_refs_cache_pwd=$PWD - fi - - _wanted references expl 'reference' compadd -M 'r:|/=* r:|=*' -a - _git_refs_cache -} - -# ### currently unused; are some callers of __git_references supposed to call this function? -(( $+functions[__git_local_references] )) || -__git_local_references () { - local expl - - if [[ $_git_local_refs_cache_pwd != $PWD ]]; then - _git_local_refs_cache=(${${${(f)"$(_call_program references git ls-remote ./. 2>/dev/null)"}#*$'\t'}#refs/}) - __git_command_successful $pipestatus || return 1 - _git_local_refs_cache_pwd=$PWD - fi - - _wanted references expl 'reference' compadd -M 'r:|/=* r:|=*' -a - _git_local_refs_cache -} - -(( $+functions[__git_remote_references] )) || -__git_remote_references () { - __git_references -} - -(( $+functions[__git_notes_refs] )) || -__git_notes_refs () { - local expl - declare -a notes_refs - - notes_refs=(${${(f)"$(_call_program notes-refs git for-each-ref --format='"%(refname)"' refs/notes 2>/dev/null)"}#$type refs/notes/}) - __git_command_successful $pipestatus || return 1 - - _wanted notes-refs expl 'notes ref' compadd "$@" -a - notes_refs -} - -# File Argument Types - -(( $+functions[__git_files_relative] )) || -__git_files_relative () { - local files file f_parts prefix p_parts tmp - - prefix=$(_call_program gitprefix git rev-parse --show-prefix 2>/dev/null) - __git_command_successful $pipestatus || return 1 - - if (( $#prefix == 0 )); then - print $1 - return - fi - - files=() - - # Collapse "//" and "/./" into "/". Strip any remaining "/." and "/". - for file in ${${${${${(0)1}//\/\///}//\/.\///}%/.}%/}; do - integer i n - (( n = $#file > $#prefix ? $#file : $#prefix )) - for (( i = 1; i <= n; i++ )); do - if [[ $file[i] != $prefix[i] ]]; then - while (( i > 0 )) && [[ $file[i-1] != / ]]; do - (( i-- )) - done - break - fi - done - - files+=${(l@${#prefix[i,-1]//[^\/]}*3@@../@)}${file[i,-1]} - done - - print ${(pj:\0:)files} -} - -(( $+functions[__git_files] )) || -__git_files () { - local compadd_opts opts tag description gittoplevel gitprefix files expl - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - zparseopts -D -E -a opts -- -cached -deleted -modified -others -ignored -unmerged -killed x+: --exclude+: - tag=$1 description=$2; shift 2 - - gittoplevel=$(_call_program toplevel git rev-parse --show-toplevel 2>/dev/null) - __git_command_successful $pipestatus || return 1 - [[ -n $gittoplevel ]] && gittoplevel+="/" - - gitprefix=$(_call_program gitprefix git rev-parse --show-prefix 2>/dev/null) - __git_command_successful $pipestatus || return 1 - - # TODO: --directory should probably be added to $opts when --others is given. - - local pref=${(Q)${~PREFIX}} - [[ $pref[1] == '/' ]] || pref=$gittoplevel$gitprefix$pref - - # First allow ls-files to pattern-match in case of remote repository. Use the - # icase pathspec magic word to ensure that we support case-insensitive path - # completion for users with the appropriate matcher configuration - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard ${(q)opts} -- ${(q)${pref:+:\(icase\)$pref\*}:-.} 2>/dev/null)"}) - __git_command_successful $pipestatus || return - - # If ls-files succeeded but returned nothing, try again with no pattern. Note - # that ls-files defaults to the CWD if not given a path, so if the file we - # were trying to add is in an *adjacent* directory, this won't return anything - # helpful either - if [[ -z "$files" && -n "$pref" ]]; then - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard ${(q)opts} -- 2>/dev/null)"}) - __git_command_successful $pipestatus || return - fi - -# _wanted $tag expl $description _files -g '{'${(j:,:)files}'}' $compadd_opts - - _wanted $tag expl $description _multi_parts -f $compadd_opts - / files -} - -(( $+functions[__git_cached_files] )) || -__git_cached_files () { - __git_files --cached cached-files 'cached file' $* -} - -(( $+functions[__git_deleted_files] )) || -__git_deleted_files () { - __git_files --deleted deleted-files 'deleted file' $* -} - -(( $+functions[__git_modified_files] )) || -__git_modified_files () { - __git_files --modified modified-files 'modified file' $* -} - -(( $+functions[__git_other_files] )) || -__git_other_files () { - __git_files --others untracked-files 'untracked file' $* -} - -(( $+functions[__git_ignored_cached_files] )) || -__git_ignored_cached_files () { - __git_files --ignored --cached ignored-cached-files 'ignored cached file' $* -} - -(( $+functions[__git_ignored_other_files] )) || -__git_ignored_other_files () { - __git_files --ignored --others ignored-untracked-files 'ignored untracked file' $* -} - -(( $+functions[__git_unmerged_files] )) || -__git_unmerged_files () { - __git_files --unmerged unmerged-files 'unmerged file' $* -} - -(( $+functions[__git_killed_files] )) || -__git_killed_files () { - __git_files --killed killed-files 'killed file' $* -} - -(( $+functions[__git_diff-index_files] )) || -__git_diff-index_files () { - local tree=$1 description=$2 tag=$3; shift 3 - local files expl - - # $tree needs to be escaped for _call_program; matters for $tree = "HEAD^" - files=$(_call_program files git diff-index -z --name-only --no-color --cached ${(q)tree} 2>/dev/null) - __git_command_successful $pipestatus || return 1 - files=(${(0)"$(__git_files_relative $files)"}) - __git_command_successful $pipestatus || return 1 - - _wanted $tag expl $description _multi_parts $@ - / files -} - -(( $+functions[__git_changed-in-index_files] )) || -__git_changed-in-index_files () { - __git_diff-index_files HEAD 'changed in index file' changed-in-index-files "$@" -} - -(( $+functions[__git_treeish-to-index_files] )) || -__git_treeish-to-index_files () { - local tree=$1; shift - __git_diff-index_files $tree "files different between ${(qq)tree} and the index" treeish-to-index-files "$@" -} - -(( $+functions[__git_changed-in-working-tree_files] )) || -__git_changed-in-working-tree_files () { - local files expl - - files=$(_call_program changed-in-working-tree-files git diff -z --name-only --no-color 2>/dev/null) - __git_command_successful $pipestatus || return 1 - files=(${(0)"$(__git_files_relative $files)"}) - __git_command_successful $pipestatus || return 1 - - _wanted changed-in-working-tree-files expl 'changed in working tree file' _multi_parts $@ -f - / files -} - -(( $+functions[__git_changed_files] )) || -__git_changed_files () { - _alternative \ - 'changed-in-index-files::__git_changed-in-index_files' \ - 'changed-in-working-tree-files::__git_changed-in-working-tree_files' -} - -# __git_tree_files [--root-relative] FSPATH TREEISH [TREEISH...] [COMPADD OPTIONS] -# -# Complete [presently: a single level of] repository files under FSPATH. -# FSPATH is interpreted as a directory path within each TREEISH. -# FSPATH is relative to cwd, unless --root-relative is specified, in -# which case it is relative to the repository root. -(( $+functions[__git_tree_files] )) || -__git_tree_files () { - local tree Path - integer at_least_one_tree_added - local -a tree_files compadd_opts - local -a extra_args - - if [[ $1 == --root-relative ]]; then - extra_args+=(--full-tree) - shift - fi - - zparseopts -D -E -a compadd_opts V+: J+: 1 2 o+: n f x+: X+: M+: P: S: r: R: q F: - - Path=${(M)1##(../)#} - [[ ${1##(../)#} = */* ]] && extra_args+=( -r ) - shift - (( at_least_one_tree_added = 0 )) - for tree; do - tree_files+=(${(ps:\0:)"$(_call_program tree-files git ls-tree $extra_args --name-only -z ${(q)tree} $Path 2>/dev/null)"}) - __git_command_successful $pipestatus && (( at_least_one_tree_added = 1 )) - done - - if (( !at_least_one_tree_added )); then - return 1 - fi - - local expl - _wanted files expl 'tree file' _multi_parts -f $compadd_opts -- / tree_files -} - -# Repository Argument Types - -(( $+functions[__git_remote_repositories] )) || -__git_remote_repositories () { - if compset -P '*:'; then - _remote_files -/ -- ssh - else - _ssh_hosts -S: - fi -} - -(( $+functions[__git_repositories] )) || -__git_repositories () { - _alternative \ - 'local-repositories::__git_local_repositories' \ - 'remote-repositories::__git_remote_repositories' -} - -(( $+functions[__git_local_repositories] )) || -__git_local_repositories () { - local expl - - _wanted local-repositories expl 'local repository' _directories -} - -(( $+functions[__git_repositories_or_urls] )) || -__git_repositories_or_urls () { - _alternative \ - 'repositories::__git_repositories' \ - 'urls::_urls' -} - -(( $+functions[__git_current_remote_urls] )) || -__git_current_remote_urls () { - local expl - _description remote-urls expl 'current url' - compadd "$expl[@]" -M 'r:|/=* r:|=*' - ${(f)"$(_call_program remote-urls - git remote get-url "$@" --all)"} -} - -(( $+functions[__git_any_repositories] )) || -__git_any_repositories () { - # TODO: should also be $GIT_DIR/remotes/origin - _alternative \ - 'local-repositories::__git_local_repositories' \ - 'remotes: :__git_remotes' \ - 'remote-repositories::__git_remote_repositories' -} - -(( $+functions[__git_any_repositories_or_references] )) || -__git_any_repositories_or_references () { - _alternative \ - 'repositories::__git_any_repositories' \ - 'references::__git_references' -} - -# Common Guards - -(( $+functions[__git_guard] )) || -__git_guard () { - declare -A opts - - zparseopts -K -D -A opts M+: J+: V+: 1 2 o+: n F: x+: X+: - - [[ "$PREFIX$SUFFIX" != $~1 ]] && return 1 - - if (( $+opts[-X] )); then - _message -r $opts[-X] - else - _message -e $2 - fi - - [[ -n "$PREFIX$SUFFIX" ]] -} - -__git_guard_branch-name () { - if [[ -n $PREFIX$SUFFIX ]]; then - _call_program check-ref-format git check-ref-format "refs/heads/"${(q)PREFIX}${(q)SUFFIX} &>/dev/null - (( ${#pipestatus:#0} > 0 )) && return 1 - fi - - _message -e 'branch name' - - [[ -n $PREFIX$SUFFIX ]] -} - -__git_guard_diff-stat-width () { - if [[ $PREFIX == *,* ]]; then - compset -P '*,' - __git_guard_number 'filename width' - else - compset -S ',*' - __git_guard_number width - fi -} - -(( $+functions[__git_guard_number] )) || -__git_guard_number () { - declare -A opts - - zparseopts -K -D -A opts M+: J+: V+: 1 2 o+: n F: x+: X+: - - _guard '[[:digit:]]#' ${1:-number} -} - -(( $+functions[__git_guard_bytes] )) || -__git_guard_bytes () { - _numbers -u bytes ${*:-size} k m g -} - -(( $+functions[__git_datetimes] )) || -__git_datetimes () { - # TODO: Use this in more places. - _guard '*' 'time specification' -} - -(( $+functions[__git_stages] )) || -__git_stages () { - __git_guard $* '[[:digit:]]#' 'stage' -} - -(( $+functions[__git_svn_revision_numbers] )) || -__git_svn_revision_numbers () { - __git_guard_number 'revision number' -} - -# _arguments Helpers - -(( $+functions[__git_setup_log_options] )) || -__git_setup_log_options () { - # TODO: Need to implement -<n> for limiting the number of commits to show. - log_options=( - '(- *)-h[display help]' - '--decorate-refs=[only decorate refs that match pattern]:pattern' - "--decorate-refs-exclude=[don't decorate refs that match pattern]:pattern" - '( --no-decorate)--decorate=-[print out ref names of any commits that are shown]: :__git_log_decorate_formats' - '(--decorate )--no-decorate[do not print out ref names of any commits that are shown]' - '( --no-follow)--follow[follow renames]' - '(--follow )--no-follow[do not follow renames]' - '--source[show which ref each commit is reached from]' - '*-L+[trace evolution of line range, function or regex within a file]: :_git_log_line_ranges' - ) -} - -(( $+functions[__git_ws_error_highlight] )) || -__git_ws_error_highlight() { - _values -s , "kind of line" all default none context old new -} - -(( $+functions[__git_color_moved] )) || -__git_color_moved() { - local -a __git_color_moved=( - no:"do not highlight moved lines" - default:"like zebra" - plain:"highlight moved lines with color" - blocks:"greedily detect blocks of moved text of at least 20 characters" - zebra:"like blocks, with alternating colors between different blocks" - dimmed-zebra:"like zebra, uninteresting parts are dimmed" - ) - _describe "mode" __git_color_moved -} - -(( $+functions[__git_color_movedws] )) || -__git_color_movedws() { - _sequence compadd - no ignore-space-at-eol ignore-space-change ignore-all-space allow-indentation-change -} - -(( $+functions[__git_setup_diff_options] )) || -__git_setup_diff_options () { - # According to Git: "fatal: --name-only, --name-status, --check and -s are mutually exclusive" - local exclusive_diff_options='(--name-only --name-status --check -s --no-patch)' - - diff_options=( - {-p,-u,--patch}'[generate diff in patch format]' - {-U,--unified=}'[generate diff with given lines of context]: :__git_guard_number lines' - '--raw[generate default raw diff output]' - '--patch-with-raw[generate patch but also keep the default raw diff output]' - $exclusive_diff_options{-s,--no-patch}'[suppress diff output]' - '(--minimal --patience --histogram --diff-algorithm)--minimal[spend extra time to make sure the smallest possible diff is produced]' - '(--minimal --patience --histogram --diff-algorithm)--patience[generate diffs with patience algorithm]' - '(--minimal --patience --histogram --diff-algorithm)--histogram[generate diffs with histogram algorithm]' - '(--minimal --patience --histogram --diff-algorithm)*--anchored=[generate diffs using the "anchored diff" algorithm]:text' - '(--minimal --patience --histogram --diff-algorithm)--diff-algorithm=[choose a diff algorithm]:diff algorithm:((default\:"basic greedy diff algorithm" - myers\:"basic greedy diff algorithm" - minimal\:"spend extra time to make sure the smallest possible diff is produced" - patience\:"generate diffs with patience algorithm" - histogram\:"generate diffs with histogram algorithm"))' - '--stat=-[generate diffstat instead of patch]:: :__git_guard_diff-stat-width' - '--stat-width=-[generate diffstat with a given width]:width' - '--stat-graph-width=-[generate diffstat with a given graph width]:width' - '--stat-count=[generate diffstat with limited lines]:lines' - '--compact-summary[generate compact summary in diffstat]' - '--numstat[generate more machine-friendly diffstat]' - '--shortstat[generate summary diffstat]' - '--dirstat=-[generate dirstat by amount of changes]:: :_git_dirstat_params' - '--cumulative[synonym for --dirstat=cumulative]' - '--dirstat-by-file=-[generate dirstat by number of files]:: :__git_guard_number limit' - '--summary[generate condensed summary of extended header information]' - '--patch-with-stat[generate patch and prepend its diffstat]' - '-z[use NUL termination on output]' - $exclusive_diff_options'--name-only[show only names of changed files]' - $exclusive_diff_options'--name-status[show only names and status of changed files]' - '--submodule=-[select output format for submodule differences]::format:((short\:"show pairs of commit names" - log\:"list commits like git submodule does" - diff\:"show differences"))' - '( --no-color --color-words --color-moved)--color=-[show colored diff]:: :__git_color_whens' - '(--color --color-words --color-moved)--no-color[turn off colored diff]' - '--word-diff=-[show word diff]::mode:((color\:"highlight changed words using color" - plain\:"wrap deletions and insertions with markers" - porcelain\:"use special line-based format for scripts" - none\:"disable word diff"))' - '--word-diff-regex=-[specify what constitutes a word]:word regex' - '(--color --no-color )--color-words=-[show colored-word diff]::word regex' - '(--color --no-color )--color-moved=-[color moved lines differently]::mode:__git_color_moved' - '(--no-color-moved-ws)--color-moved-ws=[configure how whitespace is ignored when performing move detection for --color-moved]:mode:__git_color_movedws' - "(--color-moved-ws)--no-color-moved-ws=[don't ignore whitespace when performing move detection]" - "--ita-invisible-in-index[hide 'git add -N' entries from the index]" - "!(--ita-invisible-in-index)--ita-visible-in-index" - '--no-renames[turn off rename detection]' - $exclusive_diff_options'--check[warn if changes introduce trailing whitespace or space/tab indents]' - '--full-index[show full object name of pre- and post-image blob]' - '(--full-index)--binary[in addition to --full-index, output binary diffs for git-apply]' - '--ws-error-highlight=[specify where to highlight whitespace errors]: :__git_ws_error_highlight' - '--abbrev=[use specified digits to display object names]:digits' - '(-B --break-rewrites)'{-B-,--break-rewrites=-}'[break complete rewrite changes into pairs of given size]:: :__git_guard_number size' - '(-M --find-renames)'{-M-,--find-renames=-}'[detect renames with given scope]:: :__git_guard_number size' - '(-C --find-copies)'{-C-,--find-copies=-}'[detect copies as well as renames with given scope]:: :__git_guard_number size' - '--find-copies-harder[try harder to find copies]' - '(-D --irreversible-delete)'{-D,--irreversible-delete}'[omit the preimage for deletes]' - '--rename-empty[use empty blobs as rename source]' - '--follow[continue listing the history of a file beyond renames]' - '-l-[limit number of rename/copy targets to run]: :__git_guard_number' - '--diff-filter=-[select certain kinds of files for diff]: :_git_diff_filters' - '-S-[look for differences that add or remove the given string]:string' - '-G-[look for differences whose added or removed line matches the given regex]:pattern' - '--pickaxe-all[when -S finds a change, show all changes in that changeset]' - '--pickaxe-regex[treat argument of -S as regular expression]' - '-O-[output patch in the order of glob-pattern lines in given file]: :_files' - '--rotate-to=[show the change in specified path first]:path:_directories' - '--skip-to=[skip the output to the specified path]:path:_directories' - '--find-object=[look for differences that change the number of occurrences of specified object]:object:__git_blobs' - '-R[do a reverse diff]' - '--relative=-[exclude changes outside and output relative to given directory]:: :_directories' - '(-a --text)'{-a,--text}'[treat all files as text]' - '--ignore-space-at-eol[ignore changes in whitespace at end of line]' - '--ignore-cr-at-eol[ignore carriage-return at end of line]' - '(-b --ignore-space-change -w --ignore-all-space)'{-b,--ignore-space-change}'[ignore changes in amount of white space]' - '(-b --ignore-space-change -w --ignore-all-space)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' - '--ignore-blank-lines[ignore changes whose lines are all blank]' - \*{-I+,--ignore-matching-lines=}'[ignore changes whose lines all match regex]:regex' - '--no-indent-heuristic[disable heuristic that shifts diff hunk boundaries to make patches easier to read]' - '--inter-hunk-context=[combine hunks closer than N lines]:number of lines' - '--output-indicator-new=[specify the character to indicate a new line]:character [+]' - '--output-indicator-old=[specify the character to indicate a old line]:character [-]' - '--output-indicator-context=[specify the character to indicate a context line]:character [ ]' - '--exit-code[report exit code 1 if differences, 0 otherwise]' - '( --no-ext-diff)--ext-diff[allow external diff helper to be executed]' - '(--ext-diff )--no-ext-diff[disallow external diff helper to be executed]' - '(--textconv --no-textconv)--textconv[allow external text conversion filters to be run when comparing binary files]' - '(--textconv --no-textconv)--no-textconv[do not allow external text conversion filters to be run when comparing binary files]' - '--ignore-submodules[ignore changes to submodules]:: :__git_ignore_submodules_whens' - '(--no-prefix)--src-prefix=[use given prefix for source]:prefix' - '(--no-prefix)--dst-prefix=[use given prefix for destination]:prefix' - '--line-prefix=[prepend additional prefix to every line of output]:prefix' - '(--src-prefix --dst-prefix)--no-prefix[do not show any source or destination prefix]' - '(-c --cc)'{-c,--cc}'[combined diff format for merge commits]' - '--output=[output to a specific file]: :_files') -} - -(( $+functions[__git_setup_diff_stage_options] )) || -__git_setup_diff_stage_options () { - diff_stage_options=( - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-1,--base}'[diff against "base" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-2,--ours}'[diff against "our branch" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)'{-3,--theirs}'[diff against "their branch" version]' - '(-0 -1 -2 -3 --base --ours --theirs -c --cc --no-index)-0[omit diff output for unmerged entries]' - ) -} - -(( $+functions[__git_format_placeholders] )) || -__git_format_placeholders() { - local sep - local -a disp names placeholders expl - _describe -t formats format '( oneline:"<hash> <title>" - short:"commit hash plus author and title headers" - medium:"like short plus author date header and full message" - full:"like medium with committer header instead of date" - fuller:"like full plus author and commit date headers" - reference:"<abbrev hash> (<title>, <short author date>)" - email:"email patch format" - mboxrd:"like email with From lines in message quoted with >" - raw:"entire commit object" )' -- '( format:"specify own format" )' -S ':' && return - compset -P 'format:' - compset -P '(%[^acgCG]|%?[^%]|[^%])#' - if compset -P '%C'; then - _wanted colors expl color compadd reset red green blue - return - fi - if [[ -prefix %G ]]; then - placeholders=( - 'GG:raw verification message' - 'G?:indicate [G]ood, [B]ad, [U]ntrusted or [N]o signature' - 'GS:name of signer' - 'GK:signing key' - 'GF:fingerprint of signing key' - 'GP:fingerprint of primary key whose subkey was used to sign' - ) - disp=( -l ) - elif [[ -prefix %g ]]; then - placeholders=( - gD:'reflog selector' - gd:'short reflog selector' - gn:'reflog identity' - gN:'reflog identity name' - ge:'reflog identity email' - gE:'reflog identity email (use .mailmap)' - gs:'reflog subject' - ) - disp=( -l ) - elif [[ $PREFIX = (#b)%([ac]) ]]; then - placeholders=( - n:'name' - N:'name (use .mailmap)' - e:'email' - E:'email (use .mailmap)' - d:'date' - D:'date, RFC2822 style' - r:'date, relative' - t:'date, UNIX timestamp' - i:'date, like ISO 8601' - I:'date, strict ISO 8601' - ) - placeholders=( $match[1]$^placeholders ) - else - placeholders=( - H:commit\ hash - h:'abbreviated commit hash' - T:'tree hash' - t:'abbreviated tree hash' - P:'parent hashes' - p:'abbreviated parent hashes' - a:'author details' - c:'committer details' - d:'ref name in brackets' - D:'ref name' - S:'ref name used to reach commit' - e:encoding - s:subject - f:'sanitized subject' - g:reflog - b:body - B:'raw body' - N:notes - G:GPG\ details - C:color - m:mark - n:newline - %:raw\ % - x:'hex code' - w:'switch line wrapping' - ) - fi - names=( ${placeholders%%:*} ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a placeholders " $sep " $placeholders - disp+=(-d placeholders) - else - disp=() - fi - _wanted placeholders expl placeholder \ - compadd -p % -S '' "$disp[@]" "$@" - "$names[@]" -} - -(( $+functions[__git_setup_revision_options] )) || -__git_setup_revision_options () { - local -a diff_options - __git_setup_diff_options - - revision_options=( - $diff_options - '(-v --header)'{--pretty=-,--format=-}'[pretty print commit messages]::format:__git_format_placeholders' - '(--abbrev-commit --no-abbrev-commit)--abbrev-commit[show only partial prefixes of commit object names]' - '(--abbrev-commit --no-abbrev-commit)--no-abbrev-commit[show the full 40-byte hexadecimal commit object name]' - '(--abbrev --no-abbrev)--no-abbrev[show the full 40-byte hexadecimal commit object name]' - '--oneline[shorthand for --pretty=oneline --abbrev-commit]' - '--encoding=-[output log messages in given encoding]:: :__git_encodings' - '(--no-notes --notes)--no-notes[do not show notes that annotate commit]' - '(--no-notes )*--notes=[show notes that annotate commit, with optional ref argument show this notes ref instead of the default notes ref(s)]:: :__git_notes_refs' - '--show-signature[validate GPG signature of commit]' - '( --date)--relative-date[show dates relative to current time]' - '(--relative-date )--date=-[format of date output]: :__git_date_formats' - '--parents[display parents of commit]' - '--children[display children of commit]' - '--left-right[mark which side of symmetric diff commit is reachable from]' - '(--show-linear-break )--graph[display graphical representation of commit history]' - '( --graph)--show-linear-break=[show a barrier between commits from different branches]:barrier' - '--count[display how many commits would have been listed]' - '(-n --max-count)'{-n+,--max-count=}'[maximum number of commits to display]: :__git_guard_number' - '--skip=[skip given number of commits before output]: :__git_guard_number' - '(--max-age --since --after)'{--since=,--after=}'[show commits more recent than given date]:date' - '(--min-age --until --before)'{--until=,--before=}'[show commits older than given date]: :__git_guard_number timestamp' - '( --since --after)--max-age=-[maximum age of commits to output]: :__git_guard_number timestamp' - '( --until --before)--min-age[minimum age of commits to output]: :__git_guard_number timestamp' - '*--author=[limit commits to those by given author]:author' - '*--committer=[limit commits to those by given committer]:committer' - '*--grep=[limit commits to those with log messages matching the given pattern]:pattern' - '--all-match[limit commits to those matching all --grep, --author, and --committer]' - '--invert-grep[limit commits to those not matching --grep, --author and --committer]' - '(-i --regexp-ignore-case)'{-i,--regexp-ignore-case}'[match regexps ignoring case]' - '!(-E --extended-regexp -F --fixed-strings -P --perl-regexp)--basic-regexp' - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-E,--extended-regexp}'[use POSIX extended regexps]' - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-F,--fixed-strings}"[don't interpret patterns as regexps]" - '(-E --extended-regexp -F --fixed-strings -P --perl-regexp)'{-P,--perl-regexp}'[use perl regular expression]' - '--remove-empty[stop when given path disappears from tree]' - '(--no-merges --min-parents)--merges[display only merge commits]' - "(--merges --max-parents)--no-merges[don't display commits with more than one parent]" - '(--min-parents --no-min-parents --merges)--min-parents=-[show only commits with at least specified number of commits]: :__git_guard_number "number of parents"' - '(--min-parents --no-min-parents --merges)--no-min-parents[reset limit]' - '(--max-parents --no-max-parents --no-merges)--max-parents=-[show only commits with at most specified number of commits]: :__git_guard_number "number of parents"' - '(--max-parents --no-max-parents)--no-max-parents[reset limit]' - '--first-parent[follow only first parent from merge commits]' - '*--not[reverses meaning of ^ prefix for revisions that follow]' - '--all[show all commits from refs]' - '--branches=-[show all commits from refs/heads]::pattern' - '--tags=-[show all commits from refs/tags]::pattern' - '--remotes=-[show all commits from refs/remotes]::pattern' - '--glob=[show all commits from refs matching glob]:pattern' - '--exclude=[do not include refs matching glob]:pattern' - '--exclude=[do not include refs matching glob]:pattern' - '--ignore-missing[ignore invalid object an ref names on command line]' - '--bisect[pretend as if refs/bisect/bad --not refs/bisect/good-* was given on command line]' - '(-g --walk-reflogs --reverse)'{-g,--walk-reflogs}'[walk reflog entries from most recent to oldest]' - '--grep-reflog=[limit commits to ones whose reflog message matches the given pattern (with -g, --walk-reflogs)]:pattern' - '--merge[after a failed merge, show refs that touch files having a conflict]' - '--boundary[output uninteresting commits at boundary]' - '--simplify-by-decoration[show only commits that are referenced by a ref]' - '( --dense --sparse --simplify-merges --ancestry-path)--full-history[do not prune history]' - '(--full-history --sparse --simplify-merges --ancestry-path)--dense[only display selected commits, plus meaningful history]' - '(--full-history --dense --simplify-merges --ancestry-path)--sparse[when paths are given, display only commits that changes any of them]' - '(--full-history --dense --sparse --ancestry-path)--simplify-merges[milder version of --full-history]' - '(--full-history --dense --sparse --simplify-merges )--ancestry-path[only display commits that exists directly on ancestry chains]' - '( --date-order --author-date-order)--topo-order[display commits in topological order]' - '(--topo-order --author-date-order)--date-order[display commits in date order]' - '(--topo-order --date-order )--author-date-order[display commits in author date order]' - '(-g --walk-reflogs)--reverse[display commits in reverse order]' - '( --objects-edge)--objects[display object ids of objects referenced by listed commits]' - '(--objects )--objects-edge[display object ids of objects referenced by listed and excluded commits]' - "( --do-walk)--no-walk=-[only display given revs, don't traverse their ancestors]::order:(sorted unsorted)" - '(--no-walk )--do-walk[only display given revs, traversing their ancestors]' - '( --cherry-pick)--cherry-mark[like --cherry-pick but mark equivalent commits instead of omitting them]' - '(--cherry-pick )--cherry-pick[omit any commit that introduces the same change as another commit on "the other side" of a symmetric range]' - '( --right-only)--left-only[list only commits on the left side of a symmetric range]' - '(--left-only )--right-only[list only commits on the right side of a symmetric range]' - '(--left-only --right-only --cherry-pick --cherry-mark --no-merges --merges --max-parents)--cherry[synonym for --right-only --cherry-mark --no-merges]' - '(-c --cc )--full-diff[show full commit diffs when using log -p, not only those affecting the given path]' - '--log-size[print log message size in bytes before the message]' - --{use-,}mailmap'[use mailmap file to map author and committer names and email]' - - '--reflog[show all commits from reflogs]' - '--single-worktree[examine the current working tree only]' - '--stdin[additionally read commits from standard input]' - '--default[use argument as default revision]:default revision:__git_revisions' - # TODO: --early-output is undocumented. - '--early-output=-[undocumented]::undocumented' - ) - - if (( words[(I)--objects(|-edge)] )); then - revision_options+=('--unpacked[print object IDs not in packs]') - fi -} - -(( $+functions[__git_setup_merge_options] )) || -__git_setup_merge_options () { - merge_options=( - '( --no-commit)--commit[perform the merge and commit the result]' - '(--commit )--no-commit[perform the merge but do not commit the result]' - '( --no-edit -e)--edit[open an editor to change the commit message]' - "(--edit -e)--no-edit[don't open an editor to change the commit message]" - '--cleanup=[specify how to strip spaces and #comments from message]:mode:_git_cleanup_modes' - '( --no-ff)--ff[do not generate a merge commit if the merge resolved as a fast-forward]' - '(--ff )--no-ff[generate a merge commit even if the merge resolved as a fast-forward]' - '( --no-log)--log=-[add entries from shortlog to merge commit message]::entries to add' - '(--log )--no-log[do not list one-line descriptions of the commits being merged in the log message]' - '(-n --no-stat)--stat[show a diffstat at the end of the merge]' - '(--stat -n --no-stat)'{-n,--no-stat}'[do not show diffstat at the end of the merge]' - '( --no-squash)--squash[merge, but do not commit]' - '--autostash[automatically stash/stash pop before and after]' - '--signoff[add Signed-off-by: trailer]' - '(--squash )--no-squash[merge and commit]' - '--ff-only[refuse to merge unless HEAD is up to date or merge can be resolved as a fast-forward]' - '(-S --gpg-sign --no-gpg-sign)'{-S-,--gpg-sign=-}'[GPG-sign the commit]::key id' - "(-S --gpg-sign --no-gpg-sign)--no-gpg-sign[don't GPG-sign the commit]" - '*'{-s+,--strategy=}'[use given merge strategy]:merge strategy:__git_merge_strategies' - '*'{-X+,--strategy-option=}'[pass merge-strategy-specific option to merge strategy]: :_git_strategy_options' - '(--verify-signatures)--verify-signatures[verify the commits being merged or abort]' - '(--no-verify-signatures)--no-verify-signatures[do not verify the commits being merged]' - '(-q --quiet -v --verbose)'{-q,--quiet}'[suppress all output]' - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' - '--allow-unrelated-histories[allow merging unrelated histories]' - ) -} - -(( $+functions[__git_setup_fetch_options] )) || -__git_setup_fetch_options () { - fetch_options=( - '(: * -m --multiple)--all[fetch all remotes]' - '(-a --append)'{-a,--append}'[append ref names and object names of fetched refs to "$GIT_DIR/FETCH_HEAD"]' - '(-j --jobs)'{-j+,--jobs=}'[specify number of submodules fetched in parallel]:jobs' - '--depth=[deepen the history of a shallow repository by the given number of commits]: :__git_guard_number depth' - '--unshallow[convert a shallow clone to a complete one]' - '--update-shallow[accept refs that update .git/shallow]' - '--refmap=[specify refspec to map refs to remote tracking branches]:refspec' - '(-4 --ipv4 -6 --ipv6)'{-4,--ipv4}'[use IPv4 addresses only]' - '(-4 --ipv4 -6 --ipv6)'{-6,--ipv6}'[use IPv6 addresses only]' - '--dry-run[show what would be done, without making any changes]' - '(-f --force)'{-f,--force}'[force overwrite of local reference]' - '(-k --keep)'{-k,--keep}'[keep downloaded pack]' - '(-p --prune)'{-p,--prune}'[remove any remote tracking branches that no longer exist remotely]' - '(--no-tags -t --tags)'{-t,--tags}'[fetch remote tags]' - '(-u --update-head-ok)'{-u,--update-head-ok}'[allow updates of current branch head]' - '--upload-pack=[specify path to git-upload-pack on remote side]:remote path' - '(--no-recurse-submodules --recurse-submodules)--recurse-submodules=-[specify when to fetch commits of submodules]::recursive fetching mode:((no\:"disable recursion" - yes\:"always recurse" - on-demand\:"only when submodule reference in superproject is updated"))' - '(--no-recurse-submodules --recurse-submodules)--no-recurse-submodules[disable recursive fetching of submodules]' - '(--no-recurse-submodules)--recurse-submodules-default=-[provide internal temporary non-negative value for "--recurse-submodules"]::recursive fetching mode:((yes\:"always recurse" - on-demand\:"only when submodule reference in superproject is updated"))' - '--submodule-prefix=-[prepend <path> to paths printed in informative messages]:submodule prefix path:_files -/' - '(-q --quiet -v --verbose --progress)'{-q,--quiet}'[suppress all output]' - '(-q --quiet -v --verbose)'{-v,--verbose}'[output additional information]' - '(-q --quiet)--progress[force progress reporting]' - '--show-forced-updates[check for forced-updates on all updated branches]' - '--set-upstream[set upstream for git pull/fetch]' - '--shallow-since=[deepen history of shallow repository based on time]:time' \ - '*--shallow-exclude=[deepen history of shallow clone by excluding revision]:revision' \ - '--deepen[deepen history of shallow clone]:number of commits' \ - \*{-o+,--server-option=}'[send specified string to the server when using protocol version 2]:option' - '--negotiation-tip=[only report refs reachable from specified object to the server]:commit:__git_commits' \ - ) -} - -(( $+functions[__git_setup_apply_options] )) || -__git_setup_apply_options () { - apply_options=( - '--whitespace=[detect a new or modified line that ends with trailing whitespaces]: :__git_apply_whitespace_strategies' - '-p-[remove N leading slashes from traditional diff paths]: :_guard "[[\:digit\:]]#" "number of slashes to remove"' - '-C-[ensure at least N lines of context match before and after each change]: :_guard "[[\:digit\:]]#" "number of lines of context"' - '--reject[apply hunks that apply and leave rejected hunks in .rej files]' - '(--ignore-space-change --ignore-whitespace)'{--ignore-space-change,--ignore-whitespace}'[ignore changes in whitespace in context lines]' - '--directory=[root to prepend to all filenames]:root:_directories' - '*--exclude=[skip files matching specified pattern]:pattern' - '*--include=[include files matching specified pattern]:pattern' - ) -} - -# Git Config Helpers - -(( $+functions[__git_config_get_regexp] )) || -__git_config_get_regexp () { - declare -A opts - - zparseopts -A opts -D b: a: - [[ -n $opts[-b] ]] || opts[-b]='*.' - [[ -n $opts[-a] ]] || opts[-a]='.[^.]##' - [[ $1 == -- ]] && shift - - set -A $2 ${${${(0)"$(_call_program ${3:-$2} "git config -z --get-regexp -- ${(q)1}")"}#${~opts[-b]}}%%${~opts[-a]}$'\n'*} -} - -(( $+functions[__git_config_sections] )) || -__git_config_sections () { - declare -a opts - local regex tag desc - local -a groups - - zparseopts -a opts -D b: a: - regex=$1 - tag=$2 - desc=$3 - shift 3 - - __git_config_get_regexp $opts -- $regex groups $tag - # TODO: Should escape : with \: in groups. - _describe -t $tag $desc groups $* -} - -# __git_config_booleans [-t TAG] [-l LABEL] CURRENT DEFAULT DESCRIPTION [OTHER]... -# -# -t can be used to specify a tag to use (default: booleans). -# -l can be used to specify a label to use (default: boolean). -# -# The first argument is the current value, so that the description of the -# current value can be suffixed with " (current)". -# -# The second argument is the default value, so that the description of the -# default value can be suffixed with " (default)". -# -# The third argument is the description to use for the true and false values. -# -# The rest of the arguments can be used to provide additional "boolean" values -# that should be included. They should be of the form that _describe expects. -(( $+functions[__git_config_booleans] )) || -__git_config_booleans () { - local tag label current default description - declare -a booleans - - zparseopts -D t=tag l=label - current=$1 - default=${2:-true} - description=$3 - shift 3 - booleans=( - {true,yes,on}":$description" - {false,no,off}":do not $description" - $*) - - __git_config_values -t ${tag:-booleans} -l ${label:-boolean} -- "$current" $default $booleans -} - -# __git_config_values [-t TAG] [-l LABEL] CURRENT DEFAULT [VALUES]... -# -# -t can be used to specify a tag to use (default: values). -# -l can be used to specify a label to use (default: value). -# -# The first argument is the current value, so that the description of the -# current value can be suffixed with " (current)". -# -# The second argument is the default value, so that the description of the -# default value can be suffixed with " (default)". -# -# The rest of the arguments are values of the form VALUE:DESCRIPTION to be -# passed to _describe. -(( $+functions[__git_config_values] )) || -__git_config_values () { - declare -A opts - local current default key - declare -a values - - zparseopts -A opts -D t: l: - [[ $1 == -- ]] && shift - current=$1 - default=$2 - shift 2 - values=($*) - [[ -n $current ]] && values[(r)$(__git_pattern_escape $current):*]+=' (current)' - values[(r)$(__git_pattern_escape $default):*]+=' (default)' - - _describe -t ${opts[-t]:-values} ${opts[-l]:-value} values -} - -# Git Config Sections and Types -(( $+functions[__git_browsers] )) || -__git_browsers () { - local expl - declare -a userbrowsers builtinbrowsers - - __git_config_get_regexp '^browser\..+\.cmd$' userbrowsers - builtinbrowsers=( - firefox - iceweasel - seamonkey - iceape - google-chrome - chrome - chromium - konquerer - opera - w3m - elinks - links - lynx - dillo - open - start - cygstart - xdg-open) - - _alternative \ - 'user-browsers:user-defined browser:compadd -a - userbrowsers' \ - 'builtin-browsers:builtin browser:compadd -a - builtinbrowsers' -} - -__git_worktrees () { - local -a records=( ${(ps.\n\n.)"$(_call_program directories git worktree list --porcelain)"} ) - local -a directories descriptions - local i hash branch - for i in $records; do - directories+=( ${${i%%$'\n'*}#worktree } ) - hash=${${${"${(f)i}"[2]}#HEAD }[1,9]} - branch=${${"${(f)i}"[3]}#branch refs/heads/} - - # Simulate the non-porcelain output - if [[ $branch == detached ]]; then - # TODO: show a ref that points at $hash here, like vcs_info does? - branch="(detached HEAD)" - else - branch="[$branch]" - fi - - descriptions+=( "${directories[-1]}"$'\t'"$hash $branch" ) - done - _wanted directories expl 'working tree' compadd -ld descriptions -S ' ' -f -M 'r:|/=* r:|=*' -a directories -} - -(( $+functions[__git_difftools] )) || -__git_difftools () { - __git_diff-or-merge-tools diff $* -} - -(( $+functions[__git_diff-or-merge-tools] )) || -__git_diff-or-merge-tools () { - local type=$1; shift - integer ret=1 - local expl - declare -a userdifftools usermergetools builtintools builtindifftools builtinmergetools - - [[ $type == diff ]] && __git_config_get_regexp '^difftool\..+\.cmd$' userdifftools - __git_config_get_regexp '^mergetool\..+\.cmd$' usermergetools - builtintools=( - araxis - bc - bc3 - codecompare - deltawalker - diffmerge - diffuse - ecmerge - emerge - examdiff - guiffy - gvimdiff - gvimdiff2 - gvimdiff3 - kdiff3 - meld - opendiff - p4merge - tkdiff - tortoisemerge - smerge - vimdiff - vimdiff2 - vimdiff3 - winmerge - xxdiff) - - builtindifftools=($builtintools kompare) - builtinmergetools=($builtintools tortoisemerge) - - case $type in - (diff) _tags user-difftools builtin-difftools user-mergetools ;; - (merge) _tags user-mergetools builtin-mergetools ;; - esac - - while _tags; do - _requested user-difftools expl 'user-defined difftool' compadd "$@" -a - userdifftools && ret=0 - _requested user-mergetools expl 'user-defined mergetool' compadd "$@" -a - usermergetools && ret=0 - _requested builtin-difftools expl 'builtin difftool' compadd "$@" -a - builtindifftools && ret=0 - _requested builtin-mergetools expl 'builtin mergetool' compadd "$@" -a - builtinmergetools && ret=0 - - (( ret )) || break - done - - return ret -} - -(( $+functions[__git_mergetools] )) || -__git_mergetools () { - __git_diff-or-merge-tools merge $* -} - -(( $+functions[__git_merge_drivers] )) || -__git_merge_drivers () { - __git_config_sections '^merge\..+\.name$' merge-drivers 'merge driver' $* -} - -(( $+functions[__git_builtin_merge_drivers] )) || -__git_builtin_merge_drivers () { - local -a builtin_merge_drivers - builtin_merge_drivers=( - text:'normal 3-way file-level merge for text files' - binary:'binary file merge driver' - union:'run 3-way file-levele merge with lines from both versions') - _describe -t builtin-merge-drivers 'builtin merge driver' builtin_merge_drivers $* -} - -(( $+functions[__git_man_viewers] )) || -__git_man_viewers () { - # TODO: Add support for standard commands. - __git_config_sections '^man\..+\.cmd$' man-viewers 'man viewer' $* -} - -(( $+functions[__git_svn-remotes] )) || -__git_svn-remotes () { - __git_config_sections -a '(|)' '^svn-remote\..+$' svn-remotes 'svn remote' $* -} - -(( $+functions[__git_remote-groups] )) || -__git_remote-groups () { - __git_config_sections -a '(|)' '^remotes\..+$' remotes-groups 'remotes group' $* -} - -(( $+functions[__git_remotes_groups] )) || -__git_remotes_groups () { - local expl - - _wanted remotes-groups expl 'remotes group' \ - compadd $* - ${${${(0)"$(_call_program remotes-groups git config --get-regexp -z '"^remotes\..*$"')"}%%$'\n'*}#remotes.} - -} - -(( $+functions[__git_sendemail_identities] )) || -__git_sendemail_identities () { - __git_config_sections '^sendemail\..+\.[^.]+$' identities 'sendemail identity' $* -} - -(( $+functions[__git_sendemail_smtpencryption_values] )) || -__git_sendemail_smtpencryption_values () { - __git_config_values -- "$current" "$parts[5]" \ - ssl:'use SSL' \ - tls:'use TLS' -} - -(( $+functions[__git_sendemail_confirm_values] )) || -__git_sendemail_confirm_values () { - __git_config_values -- "$current" "$parts[5]" \ - always:'always confirm before sending' \ - never:'never confirm before sending' \ - cc:'confirm before sending to automatically added Cc-addresses' \ - compose:'confirm before sending first message when using --compose' \ - auto:'same as cc together with compose' -} - -(( $+functions[__git_sendemail_suppresscc_values] )) || -__git_sendemail_suppresscc_values () { - __git_config_values -- "$current" "$parts[5]" \ - author:'avoid including patch author' \ - self:'avoid including sender' \ - cc:'avoid including anyone mentioned in Cc lines except for self' \ - bodycc:'avoid including anyone mentioned in Cc lines in patch body except for self' \ - sob:'avoid including anyone mentioned in Signed-off-by lines except for self' \ - cccmd:'avoid running --cc-cmd' \ - tocmd:'avoid running --to-cmd' \ - body:'equivalent to sob + bodycc' \ - misc-by:'avoid including anyone mentioned in various "-by" lines in the patch body' \ - all:'avoid all auto Cc values' -} - -(( $+functions[__git_sendmail_smtpserver_values] )) || -__git_sendmail_smtpserver_values() { - _alternative "hosts:smtp host:_hosts" "commands: :_absolute_command_paths" -} - -(( $+functions[__git_colors] )) || -__git_colors () { - declare -a expl - - _wanted colors expl color compadd "$@" - \ - black red green yellow blue magenta cyan white -} - -(( $+functions[__git_color_attributes] )) || -__git_color_attributes () { - declare -a expl - - _wanted attributes expl attribute compadd "$@" - \ - bold dim ul blink reverse -} - -# Now, for the main drive... -_git() { - if (( CURRENT > 2 )); then - local -a aliases - local -A git_aliases - local a k v - local endopt='!(-)--end-of-options' - aliases=(${(0)"$(_call_program aliases git config -z --get-regexp '\^alias\\.')"}) - for a in ${aliases}; do - k="${${a/$'\n'*}/alias.}" - v="${a#*$'\n'}" - git_aliases[$k]="$v" - done - - if (( $+git_aliases[$words[2]] && !$+commands[git-$words[2]] && !$+functions[_git-$words[2]] )); then - local -a tmpwords expalias - expalias=(${(z)git_aliases[$words[2]]}) - tmpwords=(${words[1]} ${expalias}) - if [[ -n "${words[3,-1]}" ]] ; then - tmpwords+=(${words[3,-1]}) - fi - [[ -n ${words[$CURRENT]} ]] || tmpwords+=('') - (( CURRENT += ${#expalias} - 1 )) - words=("${tmpwords[@]}") - unset tmpwords expalias - fi - - unset git_aliases aliases - fi - - integer ret=1 - - if [[ $service == git ]]; then - local curcontext=$curcontext state line - declare -A opt_args - - # TODO: This needs an update - # TODO: How do we fix -c argument? - _arguments -C \ - '(- :)--version[display version information]' \ - '(- :)--help[display help message]' \ - '-C[run as if git was started in given path]: :_directories' \ - \*{-c,--config-env=}'[pass configuration parameter to command]: :->configuration' \ - '--exec-path=-[path containing core git-programs]:: :_directories' \ - '(: -)--man-path[print the manpath for the man pages for this version of Git and exit]' \ - '(: -)--info-path[print the path where the info files are installed and exit]' \ - '(: -)--html-path[display path to HTML documentation and exit]' \ - '(-p --paginate -P --no-pager)'{-p,--paginate}'[pipe output into a pager]' \ - '(-p --paginate -P --no-pager)'{-P,--no-pager}"[don't pipe git output into a pager]" \ - '--git-dir=[path to repository]: :_directories' \ - '--work-tree=[path to working tree]: :_directories' \ - '--namespace=[set the Git namespace]:namespace' \ - '--super-prefix=[set a prefix which gives a path from above a repository down to its root]:path:_directories' \ - '--bare[use $PWD as repository]' \ - '--no-replace-objects[do not use replacement refs to replace git objects]' \ - '--literal-pathspecs[treat pathspecs literally, rather than as glob patterns]' \ - '(-): :->command' \ - '(-)*:: :->option-or-argument' && return - - case $state in - (command) - _git_commands && ret=0 - ;; - (option-or-argument) - curcontext=${curcontext%:*:*}:git-$words[1]: - (( $+opt_args[--git-dir] )) && local -x GIT_DIR=${(Q)${~opt_args[--git-dir]}} - (( $+opt_args[--work-tree] )) && local -x GIT_WORK_TREE=${(Q)${~opt_args[--work-tree]}} - if ! _call_function ret _git-$words[1]; then - if [[ $words[1] = \!* ]]; then - words[1]=${words[1]##\!} - _normal && ret=0 - elif zstyle -T :completion:$curcontext: use-fallback; then - _default && ret=0 - else - _message "unknown sub-command: $words[1]" - fi - fi - ;; - (configuration) - if compset -P 1 '*='; then - __git_config_value && ret=0 - else - if compset -S '=*'; then - __git_config_option && ret=0 # don't move cursor if we completed just the "foo." in "foo.bar.baz=value" - compstate[to_end]='' - else - __git_config_option -S '=' && ret=0 - fi - fi - ;; - esac - else - _call_function ret _$service - fi - - return ret -} - -# Load any _git-* definitions so that they may be completed as commands. -declare -gA _git_third_party_commands -_git_third_party_commands=() - -local file input -for file in ${^fpath}/_git-*~(*~|*.zwc)(-.N); do - local name=${${file:t}#_git-} - if (( $+_git_third_party_commands[$name] )); then - continue - fi - - local desc= - integer i=1 - while read input; do - if (( i == 2 )); then - if [[ $input == '#description '* ]]; then - desc=:${input#\#description } - fi - break - fi - (( i++ )) - done < $file - - _git_third_party_commands+=([$name]=$desc) -done - -_git diff --git a/result/sw/share/zsh/5.9/functions/_git-buildpackage b/result/sw/share/zsh/5.9/functions/_git-buildpackage deleted file mode 100644 index 81bf7dac..00000000 --- a/result/sw/share/zsh/5.9/functions/_git-buildpackage +++ /dev/null @@ -1,43 +0,0 @@ -#compdef git-buildpackage -#description build Debian packages from a git repository - -_arguments \ - '--version[show program version number and exit]' \ - '--help[show help message and exit]' \ - '--git-ignore-new[build with uncommitted changes in the source tree]' \ - '--git-no-ignore-new[negates --git-ignore-new]' \ - '--git-verbose[verbose command execution]' \ - '--git-tag[create a tag after a successful build]' \ - '--git-tag-only[do not build, only tag and run the posttag hook]' \ - '--git-retag[do not fail if the tag already exists]' \ - '--git-sign-tags[sign tags]' \ - '--git-no-sign-tags[negates --git-sign-tags]' \ - '--git-keyid=-[GPG keyid to sign tags with]:GPG key:' \ - '--git-debian-tag=-[format string for debian tags]:format string [debian/%%(version)s]' \ - '--git-upstream-tag=-[format string for upstream tags]:format string [upstream/%%(version)s]' \ - '--git-pristine-tar[use pristine-tar to create .orig.tar.gz]' \ - '--git-no-pristine-tar[negates --git-pristine-tar]' \ - '--git-force-create[force creation of orig.tar.gz]' \ - '--git-no-create-orig[do not create orig.tar.gz]' \ - '--git-tarball-dir=-[location to look for external tarballs]:tarball directory:_files -/' \ - '--git-compression=-[compression type]:compression type [auto]:(auto gzip bzip2 lzma xz)' \ - '--git-compression-level=-[set compression level]:level:(1 2 3 4 5 6 7 8 9)' \ - '--git-upstream-branch=-[upstream branch]::' \ - '--git-debian-branch=-[branch the Debian package is being developed on]::' \ - '--git-ignore-branch[build although debian-branch != current branch]' \ - '--git-no-ignore-branch[negates --git-ignore-branch]' \ - '--git-builder=-[command to build the Debian package]:command:' \ - '--git-cleaner=-[command to clean the working copy]:command:' \ - '--git-prebuild=-[command to run before a build]:command:' \ - '--git-postbuild=-[hook run after a successful build]:command:' \ - '--git-posttag=-[hook run after a successful tag operation]:command:' \ - '--git-pbuilder[invoke git-pbuilder for building]' \ - '--git-no-pbuilder[negates --git-pbuilder]' \ - '--git-dist=-[build for this distribution when using git-pbuilder]:distribution:' \ - '--git-arch=-[build for this architecture when using git-pbuilder]:architecture:' \ - '--git-export-dir=-[before building the package export the source into this directory]:directory:_files -/' \ - '--git-export=-[export treeish object instead of HEAD]:treeish:' \ - '--git-dont-purge[retain exported package build directory]' \ - '--git-overlay[extract orig tarball when using export-dir option]' \ - '--git-no-overlay[negates --git-overlay]' \ - '*:other options:_dpkg-buildpackage' diff --git a/result/sw/share/zsh/5.9/functions/_global b/result/sw/share/zsh/5.9/functions/_global deleted file mode 100644 index ffd8c0dc..00000000 --- a/result/sw/share/zsh/5.9/functions/_global +++ /dev/null @@ -1,45 +0,0 @@ -#compdef global - -local cmds="(-c --completion -f --file -g --grep -I --idutils -p --print-dbpath -P --path -u --update --version --help)" - -_arguments \ - "$cmds"{-c,--completion}'[completion on prefix]:prefix:' \ - "$cmds"{-f,--file}'[print function definitions in file]' \ - "$cmds"{-g,--grep}'[print all lines which match pattern using grep]:pattern' \ - "$cmds"{-I,--idutils}'[print all lines which match pattern using id-utils]:pattern' \ - "$cmds"{-p,--print-dbpath}'[print location of GTAGS]' \ - "$cmds"{-P,--path}'[print paths matching pattern]:pattern:' \ - "$cmds"{-u,--update}'[locate tag files and update incrementally]' \ - '(-a --absolute)'{-a,--absolute}'[print absolute path names]' \ - '(--color)--color=-[color matches]::color:(always auto never)' \ - '(-d --definition)'{-d,--definition}'[print locations of definitions]' \ - '(-e --regexp :)'{-e,--regexp}'[specify pattern]:pattern:_global_tags' \ - '(--encode-path)--encode-path=-[encode path characters in hexadecimal representation]:format' \ - '(-F --first-match)'{-f,--first-match}'[stop searching if tag is found in current tag file]' \ - '(--from-here)--from-here=-[decide tag type by context]:line_path:' \ - '(-G --basic-regexp :)'{-G,--basic-regexp}'[specify basic regexp to use]:word:_global_tags' \ - '(--gtagsconf)--gtagsconf=-[set environment variable GTAGSCONF]:file:_files' \ - '(--gtagslabel)--gtagslabel=-[set environment variable GTAGSLABEL]:file:_files' \ - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case in patterns]' \ - '(-L --file-list)'{-L,--file-list}'[obtain files from file in addition to the arguments]:file:_files' \ - '(-l --local)'{-l,--local}'[print just objects which exist under the current directory]' \ - '(--literal)--literal[use literal search instead of regexp search]' \ - '(-M --match-case)'{-m,--match-case}'[enable case sensitive search]' \ - '(--match-part)--match-part=-[specify how path name completion should match]::part:(first last all)' \ - '(-n --nofilter)'{-n,--nofilter}'[suppress sort filter and path conversion filter]' \ - '(-O --only-other)'{-O,--only-other}'[search only text files]' \ - '(-o --other)'{-o,--other}'[search in other files, not just source files (with -g)]' \ - '(--path-style)--path-style=-[specify path style]::style:(relative absolute shorter abslib through)' \ - '(--print0)--print0[print each record followed by a null character]' \ - '(-q --quiet)'{-q,--quiet}'[quiet mode]' \ - '(-r --reference --rootdir)'{-r,--reference,--rootdir}'[find object references instead of definitions]' \ - '(--result)--result=-[specify result format]::format:(path ctags ctags-x grep cscope)' \ - '(- :)--single-update=-[updata tag for specified file]:file:_files' \ - '(-s --symbol)'{-s,--symbol}'[find symbols instead of function names]:pattern' \ - '(-t --tags)'{-t,--tags}'[output in standard ctags format]' \ - '(-T --through -s -r -l)'{-T,--through}'[search through all tag files in GTAGSLIBPATH]' \ - '(-v --verbose)'{-v,--verbose}'[verbose mode]' \ - '(-x --cxref)'{-x,--cxref}'[additionally list line number and contents]' \ - '(- :)--version[display version information]' \ - '(- :)--help[display help information]' \ - ':word:_global_tags' diff --git a/result/sw/share/zsh/5.9/functions/_global_tags b/result/sw/share/zsh/5.9/functions/_global_tags deleted file mode 100644 index fcda28df..00000000 --- a/result/sw/share/zsh/5.9/functions/_global_tags +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl tags - -tags=( $(_call_program global-tags global --completion $PREFIX 2>/dev/null) ) - -_wanted global-tags expl 'tag' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a "$@" - tags diff --git a/result/sw/share/zsh/5.9/functions/_globflags b/result/sw/share/zsh/5.9/functions/_globflags deleted file mode 100644 index d24e8f2a..00000000 --- a/result/sw/share/zsh/5.9/functions/_globflags +++ /dev/null @@ -1,62 +0,0 @@ -#autoload - -# Complete 'globbing flags', i.e., '(#x)'; everything up to the '#' will -# have been "compset -P"'d by the caller. - -local ret=1 -local -a flags -local preprefix=$IPREFIX - -compset -P '([ilIUubBmMcq]|a(|<->))##' -# make sure to not consider anything before the '#' -preprefix=${IPREFIX[$#preprefix,-1]} -if [[ $preprefix = *\#q* ]]; then - _globquals - return -elif [[ $preprefix = *q* ]]; then - _message 'q flag has to be specified by itself' - return -elif [[ $preprefix = *a(|<->) ]]; then - _message -e number 'errors' - if [[ $preprefix = *a ]]; then - return - else - compset -P '<->' - fi -elif [[ $preprefix = *\#c ]]; then - _message -e range 'repetitions (min,max) or (exact)' - return -fi - -flags=( - 'i:case insensitive' - 'l:lower case characters match uppercase' - 'I:case sensitive matching' - 's:match start of string' - 'e:match end of string' - 'U:consider all characters to be one byte' - 'u:support multibyte characters in pattern' -) -[[ $compstate[context] = condition ]] && flags+=( - 'b:activate backreferences' - 'B:deactivate backreferences' - 'm:set reference to entire matched data' - 'M:deactivate m flag' -) -flags=( ${flags:#[$preprefix[(R)\#,-1]]*} ) -if [[ $IPREFIX != *'#' ]]; then - flags=( ${flags:#[se]*} ) -fi -_describe -t globflags "glob flag" flags -Q -S ')' && ret=0 -flags=( - 'a:approximate matching' - 'q:introduce glob qualifier' - 'c:match repetitions of preceding pattern' -) -flags=( ${flags:#[$preprefix[(R)\#,-1]]*} ) -if [[ $IPREFIX != *'#' ]]; then - flags=( ${flags:#[cq]*} ) -fi -_describe -t globflags "glob flag" flags -Q -S '' && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_globqual_delims b/result/sw/share/zsh/5.9/functions/_globqual_delims deleted file mode 100644 index bba4241e..00000000 --- a/result/sw/share/zsh/5.9/functions/_globqual_delims +++ /dev/null @@ -1,24 +0,0 @@ -#autoload - -# Helper for _globquals. Sets delim to delimiter to match. - -# don't restore special parameters -compstate[restore]=no - -delim=$PREFIX[1] -compset -p 1 - -# One of matching brackets? -# These don't actually work: the parser gets very confused. -local matchl="<({[" matchr=">)}]" -integer ind=${matchl[(I)$delim]} - -(( ind )) && delim=$matchr[ind] - -if compset -P "[^$delim]#$delim"; then - # Completely matched. - return 0 -else - # Still in delimiter - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_globquals b/result/sw/share/zsh/5.9/functions/_globquals deleted file mode 100644 index bc3165eb..00000000 --- a/result/sw/share/zsh/5.9/functions/_globquals +++ /dev/null @@ -1,276 +0,0 @@ -#autoload - -local state=qual expl char delim timespec default MATCH -integer MBEGIN MEND -local -a alts tdisp sdisp tmatch smatch -local -A specmap - -while [[ -n $PREFIX ]]; do - char=$PREFIX[1] - compset -p 1 - case $char in - ([-/F.@=p*rwxAIERWXsStUG^MTNDn,]) - # no argument - ;; - - (%) - # optional b, c - if [[ $PREFIX[1] = [bc] ]]; then - compset -p 1 - fi - ;; - - (f) - if ! compset -P "[-=+][0-7?]##"; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-f - return - elif ! _globqual_delims; then - # still completing mode spec - _message -e modes "mode spec" - return - fi - fi - ;; - - (P) - # skip delimited prefix - if [[ -z $PREFIX ]]; then - _delimiters qualifier-P - return - elif ! _globqual_delims; then - # can't suggest anything here - _message -e prefix prefix - return - fi - ;; - - (e) - # complete/skip delimited command line - if [[ -z $PREFIX ]]; then - _delimiters qualifier-e - return - elif ! _globqual_delims; then - # still completing command to eval - compset -q - _normal - return - fi - ;; - - (+) - # complete/skip command name (no delimiters) - if [[ $PREFIX = [[:IDENT:]]# ]]; then - # either nothing there yet, or still on name - _command_names - return - fi - compset -P '[[:IDENT:]]##' - ;; - - (d) - # complete/skip device - if ! compset -p '[[:digit:]]##'; then - _message -e device-ids "device ID" - return - fi - ;; - - (l) - # complete/skip link count - if ! compset -P '([-+]|)[[:digit:]]##'; then - _message -e numbers "link count" - return - fi - ;; - - (u) - # complete/skip UID or delimited user - if ! compset -P '[[:digit:]]##'; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-u - return - elif ! _globqual_delims; then - # still completing user - _users -S $delim - return - fi - fi - ;; - - (g) - # complete/skip GID or delimited group - if ! compset -P '[[:digit:]]##'; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-g - return - elif ! _globqual_delims; then - # still completing group - _groups -S $delim - return - fi - fi - ;; - - ([amc]) - if ! compset -P '([Mwhmsd]|)([-+]|)<->'; then - # complete/skip relative time spec - alts=() - timespec=$PREFIX[1] - if ! compset -P '[Mwhmsd]' && [[ -z $PREFIX ]]; then - tdisp=( seconds minutes hours days weeks Months ) - tmatch=( s m h d w M ) - if zstyle -t ":completion:${curcontext}:time-specifiers" verbose; then - zstyle -s ":completion:${curcontext}:time-specifiers" list-separator sep || sep=-- - print -v tdisp -f "%s ${sep//(#m)[%\\]/$MATCH$MATCH} %s" ${tmatch:^^tdisp} - fi - alts+=( "time-specifiers:time specifier:compadd -E 0 -d tdisp -S '' -a tmatch" ) - fi - if ! compset -P '[-+]' && [[ -z $PREFIX ]]; then - if zstyle -t ":completion:${curcontext}:senses" verbose; then - zstyle -s ":completion:${curcontext}:senses" list-separator sep || sep=-- - default=" [default exactly]" - sdisp=( "+ $sep before (older files)" "- $sep since (newer files)" ) - smatch=( + - ) - else - sdisp=( before exactly since ) - smatch=( + '' - ) - fi - alts+=( "senses:sense${default}:compadd -E 0 -d sdisp -S '' -a smatch" ) - fi - specmap=( M months w weeks h hours m minutes s seconds '(|+|-|d)' days) - alts+=('digits:digit ('${${specmap[(K)${timespec:-d}]}:-invalid time specifier}'):_dates -f ${${timespec/[-+]/d}:-d} -S ""' ) - _alternative $alts - return - fi - ;; - - (L) - # complete/skip file size - if ! compset -P '([kKmMgGtTpP]|)([-+]|)<->'; then - # complete/skip size spec - alts=() - if ! compset -P '[kKmMgGtTpP]' && [[ -z $PREFIX ]]; then - alts+=( - "size-specifiers:size specifier:\ -((k\:kb m\:mb g\:gb t\:tb p\:512-byte\ blocks))") - fi - if ! compset -P '[-+]' && [[ -z $PREFIX ]]; then - alts+=("senses:sense:((-\:less\ than +\:more\ than))") - fi - alts+=('digits:digit: ') - _alternative $alts - return - fi - ;; - - ([oO]) - # complete/skip sort spec - if ! compset -p 1; then - alts=( - "n:lexical order of name" - "L:size of file" - "l:number of hard links" - "a:last access time" - "m:last modification time" - "c:last inode change time" - "d:directory depth" - "N:no sorting" - "e:execute code" - "+:+ command name" - ) - _describe -t sort-specifiers "sort specifier" alts -Q -S '' - return - elif [[ $IPREFIX[-1] = e ]]; then - if [[ -z $PREFIX ]]; then - _delimiters qualifier-oe - return - elif ! _globqual_delims; then - compset -q - _normal - return - fi - elif [[ $IPREFIX[-1] = + ]]; then - if [[ $PREFIX = [[:IDENT:]]# ]]; then - # either nothing there yet, or still on name - _command_names - return - fi - fi - ;; - - (\[) - # complete/skip range: check for closing bracket - if ! compset -P "(-|)[[:digit:]]##(,(-|)[[:digit:]]##|)]"; then - if compset -P "(-|)[[:digit:]]##,"; then - _message "end of range" - else - _message "start of range" - fi - return - fi - ;; - - (:) - # complete modifiers and don't stop completing them - _history_modifiers q - return - ;; - esac -done - -case $state in - (qual) - local -a quals - quals=( - "/:directories" - "F:non-empty directories" - ".:plain files" - "@:symbolic links" - "=:sockets" - "p:named pipes (FIFOs)" - "*:executable plain files" - "%:device files" - "r:owner-readable" - "w:owner-writeable" - "x:owner-executable" - "A:group-readable" - "I:group-writeable" - "E:group-executable" - "R:world-readable" - "W:world-writeable" - "X:world-executable" - "s:setuid" - "S:setgid" - "t:sticky bit set" - "f:+ access rights" - "e:execute code" - "+:+ command name" - "d:+ device" - "l:+ link count" - "U:owned by EUID" - "G:owned by EGID" - "u:+ owning user" - "g:+ owning group" - "a:+ access time" - "m:+ modification time" - "c:+ inode change time" - "L:+ size" - "^:negate qualifiers" - "-:follow symlinks toggle" - "M:mark directories" - "T:mark types" - "N:use NULL_GLOB" - "D:glob dots" - "n:numeric glob sort" - "o:+ sort order, up" - "O:+ sort order, down" - "P:prepend word" - "Y:+ at most ARG matches" - "[:+ range of files" - "):end of qualifiers" - "\::modifier" - ) - _describe -t globquals "glob qualifier" quals -Q -S '' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_gnome-gv b/result/sw/share/zsh/5.9/functions/_gnome-gv deleted file mode 100644 index b1b66e2a..00000000 --- a/result/sw/share/zsh/5.9/functions/_gnome-gv +++ /dev/null @@ -1,6 +0,0 @@ -#compdef gnome-gv ggv - -_arguments \ - '(--help)-?[help]' \ - '(--windows)-w[number of empty windows]:number:' \ - '*:file: _pspdf -z' -- diff --git a/result/sw/share/zsh/5.9/functions/_gnu_generic b/result/sw/share/zsh/5.9/functions/_gnu_generic deleted file mode 100644 index 9dae2bdf..00000000 --- a/result/sw/share/zsh/5.9/functions/_gnu_generic +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -# This is for GNU-like commands which understand the --help option, -# but which do not otherwise require special completion handling. - -_arguments '*:arg: _default' -- diff --git a/result/sw/share/zsh/5.9/functions/_gnupod b/result/sw/share/zsh/5.9/functions/_gnupod deleted file mode 100644 index 22ccabb9..00000000 --- a/result/sw/share/zsh/5.9/functions/_gnupod +++ /dev/null @@ -1,108 +0,0 @@ -#compdef gnupod_addsong gnupod_addsong.pl=gnupod_addsong gnupod_check gnupod_check.pl=gnupod_check gnupod_INIT gnupod_INIT.pl=gnupod_INIT gnupod_search gnupod_search.pl=gnupod_search mktunes mktunes.pl=mktunes tunes2pod tunes2pod.pl=tunes2pod - -local arguments - -case "$service" in - (gnupod_addsong) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint, default is $IPOD_MOUNTPOINT]:mount point:_files' - '(-r --restore)'{-r,--restore}'[restore the iPod (create a new GNUtunesDB from scratch)]' - '(-d --duplicate)'{-d,--duplicate}'[allow duplicate files]' - '(-p --playlist)'{-p,--playlist=}'[add songs to this playlist]:playlist:' - --playlist-is-podcast'[set podcast flag for playlist(s) created using --playlist]' - --podcast-artwork'[download and install artwork for podcasts from their channel]' - --podcast-cache-dir='[set a directory in which podcast media files will be cached]:podcast cache dir:' - --podcast-files-limit='[limit files to download (0 = all (default), -X = X oldest, X = X newest)]:podcast files limit:'. - --disable-v1'[do not read ID3v1 Tags (MP3 Only)]' - --disable-v2'[do not read ID3v2 Tags (MP3 Only)]' - '(-x --decode)'{-x,--decode=}'[convert FLAC Files to WAVE/MP3 or AAC on-the-fly]:encoding:(pcm mp3 aac aacbm)' - --decode=video'[convert .avi Files into iPod video on-the-fly]' - '(-e --reencode)'{-e,--reencode=}'[reencode MP3/AAC files with new quality on-the-fly]:quality number (0 = Good 9 = Bad):(1 2 3 4 5 6 7 8 9)' - '(-t --set-title)'{-t,--set-title=}'[set Title (Override ID3 Tag)]:title:' - '(-a --set-artist)'{-a,--set-artist=}'[set Artist (Override ID3 Tag)]:artist:' - '(-l --set-album)'{-l,--set-album=}'[set Album (Override ID3 Tag)]:album:' - '(-g --set-genre)'{-g,--set-genre=}'[set Genre (Override ID3 Tag)]:genre:' - --set-rating='[set Rating (0=-/20=*/40=**/60=***/80=****/100=*****)]:rating:(0 20 40 60 80 100)' - --set-playcount='[set Playcount]:play count:' - --set-songnum='[override Songnum/Tracknum field]:song number:' - '(-b --set-bookmarkable)'{-b,--set-bookmarkable}'[set this song as bookmarkable (= Remember position)]' - --set-shuffleskip'[exclude this file in shuffle-mode]' - --set-compilation'[mark songs as being part of a compilation]' - --min-vol-adj='[minimum volume adjustment allowed by ID3v2.4 RVA2 tag]:adjustment (-100..100) [0]' - --max-vol-adj='[maximum volume adjustment allowed by ID3v2.4 RVA2 tag]:adjustment (-100..100) [0]' - --artwork='[use FILE as album cover]:artwork:_files' - '*:file to add:_files' -) - ;; - - (gnupod_check) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - --fixit'[try to fixup some errors (may delete lost files)]' -) - ;; - - (gnupod_INIT) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-d --disable-convert)'{-d,--disable-convert}'[do not try to convert an existing iTunesDB]' - '(-f --france)'{-f,--france}'[limit volume to 100dB, works only on very old iPods]' - --noask'[do not wait for any user input]' -) - ;; - - (gnupod_search) - arguments=( - --help'[display help and exit]' - --version'[display version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-t --title)'{-t,--title=}'[search songs by title]:title string:' - '(-a --artist)'{-a,--artist=}'[search songs by artist]:artist string:' - '(-l --album)'{-l,--album=}'[search songs by album]:album string:' - '(-i --id)'{-i,--id=}'[search songs by ID]:ID integer:' - '(-g --genre)'{-g,--genre=}'[search songs by genre]:genre string:' - '(-c --playcount)'{-c,--playcount=}'[search songs by playcount]:playcount:' - '(-s --rating)'{-s,--rating=}'[search songs by Rating (20 is one star, 40 two, etc.)]:playcount:(0 20 40 60 80 100)' - '(-R --podcastrss)'{-R,--podcastrss=}'[search songs by RSS]:RSS:' - '(-G --podcastguid)'{-G,--podcastguid=}'[search songs by GUID]:GUID:' - '(-b --bitrate)'{-b,--bitrate=}'[search songs by Bitrate]:bitrate:' - '(-o --match-once)'{-o,--match-once}'[search does not need to match multiple times (eg. -a & -l)]' - --delete'[remove matched songs from the iPod]' - --view='[modify output (default is ialt, see --help)]:output string:' - --rename='[rename key into value for matched songs]:KEY=VALUE:' - --artwork='[use FILE as Cover for found files]:artwork:_files' -) - ;; - - (mktunes) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - '(-n --ipod-name)'{-n,--ipod-name=}'[iPod Name (For unlabeled iPods)]:name:' - '(-v --volume)'{-v,--volume=}'[adjust volume +-VALUE%]:volume percent:' - '(-e --energy)'{-e,--energy}'[save energy (disable scrolling title)]' - '(-g --fwguid)'{-g,--fwguid=}'[FirewireGuid / Serial of connected iPod]' -) - ;; - - (tunes2pod) - arguments=( - '(-h --help)'{-h,--help}'[display help and exit]' - --version'[output version information and exit]' - '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files' - --force'[disable sync checking]' -) - ;; - (*) - return 1 - ;; -esac - -_arguments : $arguments diff --git a/result/sw/share/zsh/5.9/functions/_gnutls b/result/sw/share/zsh/5.9/functions/_gnutls deleted file mode 100644 index b9f91264..00000000 --- a/result/sw/share/zsh/5.9/functions/_gnutls +++ /dev/null @@ -1,225 +0,0 @@ -#compdef gnutls-cli gnutls-cli-debug gnutls-serv certtool srptool - -local -a args - -args=( - '(- :)'{-h,--help}'[display help information]' - '(- :)--version=[display version information]:information:((v\:simple c\:copyright n\:full))' - '(- :)-v[display version information]' - '(- :)'{-\!,--more-help}'[display help information through a pager]' - '(-d --debug)'{-d,--debug}'[enable debugging]:debug level' - \*{-V,--verbose}'[more verbose output]' -) - -case "$service" in - gnutls-*) - args+=( - '(-p --port)'{-p,--port}'[specify port or service to connect to]:port:_ports' - ) - ;| - gnutls-cli*) - args+=( - '(--app-proto --starttls-proto)'{--app-proto,--starttls-proto}"=[specify application protocol to use to obtain the server's certificate]:protocol:(https ftp smtp imap ldap xmpp lmtp pop3 nntp sieve postgres)" - ':hostname:_hosts' - ) - ;| - gnutls-cli|gnutls-serv) - args+=( - "--sni-hostname=[specify server's hostname for server name indication extension]:hostname" - "--noticket[don't accept session tickets]" - '(-u --udp)'{-u,--udp}'[use DTLS (datagram TLS) over UDP]' - '--mtu=[set MTU for datagram TLS]:mtu' - '--srtp-profiles=[offer SRTP profiles]:string' - '(-b --heartbeat)'{-b,--heartbeat}'[activate heartbeat support]' - '--x509fmtder[use DER format for certificates to read from]' - '--priority=[specify TLS algorithms and protocols to enable]:(NORMAL PFS SECURE128 SECURE192 SUITEB128 SUITEB192 LEGACY PERFORMANCE NONE)' - '--x509cafile=[specify certificate file to use]:file:_files' - '--x509crlfile=[specify CRL file to use]:file:_files' - '*--x509keyfile=[specify X.509 key file to use]:file:_files' - '*--x509certfile=[specify X.509 certificate file to use]:file:_files' - '*--rawpkkeyfile=[specify private key file or URL to use]:file:_files' - '*--rawpkfile=[specify raw public-key file to use]:file:_files' - '(-l --list -p --port)'{-l,--list}'[print list of the supported algorithms/modes]' - '--keymatexport=[specify label used for exporting keying material]:label' - '--keymatexportsize=[specify size of the exported keying material]:size' - ) - ;| - gnutls-cli|gnutls-serv|certtool) - args+=( - '--provider=[specify PKCS #11 provider library]:provider:_files' - ) - ;| - gnutls-cli|certtool) - args+=( - '--verify-allow-broken[allow broken algorithms, such as MD5 for certificate verification]' - ) - ;| - - gnutls-cli) - args+=( - '--tofu[enable trust on first use authentication]' '!--no-tofu' - '--strict-tofu[fail to connect if a certificate is unknown or has changed]' '!--no-strict-tofu' - '--dane[enable DANE certificate verification (DNSSEC)]' '!--no-dane' - '--local-dns[use the local DNS server for DNSSEC resolving]' '!--no-local-dna' - '--no-ca-verification[disable CA certificate verification]' '!--ca-verification' - '--ocsp[enable OCSP certificate verification]' '!--no-oscp' - '(-r --resume)'{-r,--resume}'[establish a session and resume]' - '--earlydata=[send early data on resumption from the specified file]:file:_files' - '(-e --rehandshake)'{-e,--rehandshake}'[connect, establish a session and rehandshake immediately]' - "--verify-hostname-str=[specify server's hostname to use for validation]:hostname" - '(-s --starttls)'{-s,--starttls}'[start TLS on EOF or SIGALRM]' - '--crlf[send CR LF instead of LF]' - '--fastopen[enable TCP Fast Open]' - "--print-cert[print peer's certificate in PEM format]" - "--save-cert=[save peer's certificate chain in the specified file in PEM format]:file:_files" - "(--save-ocsp-multi)--save-ocsp=[save peer's OCSP status response in the provided file]:file:_files" - "(--save-ocsp)--save-ocsp-multi=[save all peer's OCSP responses in the provided file]:file:_files" - '--save-server-trace=[save the server-side TLS message trace in the provided file]:file:_files' - '--save-client-trace=[save the client-side TLS message trace in the provided file]:file:_files' - '--dh-bits=[specify minimum number of bits allowed for DH]:bits' - '--srpusername[specify SRP username to use]:username' - '--srppasswd[specify SRP password to use]:password' - '--pskusername[specify PSK username to use]:username' - '--pskkey[specify PSK key to use]:key' - "--insecure[don't require server cert validation]" - '--benchmark-ciphers[benchmark individual ciphers]' - '--benchmark-soft-ciphers[benchmark individual software ciphers]' - '--benchmark-tls-kx[benchmark TLS key exchange methods]' - '--benchmark-tls-ciphers[benchmark TLS ciphers]' - '--priority-list[print list of the supported priority strings]' - '*--alpn=[enable application layer protocol]:string' - '--recordsize=[specify maximum record size to advertise]:record size (0-4096)' - "--disable-sni[don't send a Server Name]" - '--single-key-share[send a single key share under TLS1.3]' - '--post-handshake-auth[enable post-handshake authentication under TLS1.3]' - '--inline-commands[inline commands of the form ^<cmd>^]' - '--inline-commands-prefix=[change delimiter used for inline commands]:delimiter [^]' - '--fips140-mode[report status of FIPS140-2 mode in gnutls library]' - '--logfile=[redirect informational messages to a specific file]:file:_files' - '--waitresumption[block waiting for the resumption data under TLS1.3]' - '--ca-auto-retrieve[enable automatic retrieval of missing CA certificates]' - ) - ;; - - gnutls-serv) - args+=( - '--sni-hostname-fatal[send fatal alert on sni-hostname mismatch]' - '*--alpn=[specify ALPN protocol to be enabled by the server]:protocol' - '--alpn-fatal[send fatal alert on non-matching ALPN name]' - '--earlydata[accept early data]' - '--maxearlydata=[specify maximum early data size to accept]:size' - "--nocookie[don't require cookie on DTLS sessions]" - '(-g --generate)'{-g,--generate}'[generate Diffie-Hellman parameters]' - '(-q --quiet)'{-q,--quiet}'[suppress some messages]' - "--nodb[don't use a resumption database]" - '--http[act as an HTTP server]' - '--echo[act as an Echo server]' - "--crlf[don't replace CRLF by LF in Echo server mode]" - '(-a --disable-client-cert -r --require-client-cert)'{-a,--disable-client-cert}"[don't request a client certificate]" - '(-a --disable-client-cert -r --require-client-cert)'{-r,--require-client-cert}'[require a client certificate]' - '--verify-client-cert[if a client certificate is sent then verify it]' - '--dhparams=[specify DH params file to use]:file:_files' - '--srppasswd=[specify SRP password file to use]:file:_files' - '--srppasswdconf=[specify SRP password configuration file to use]:file:_files' - '--pskpasswd=[specify PSK password file to use]:file:_files' - '--pskhint=[specify PSK identity hint to use]:string' - '*--ocsp-response=[specify OCSP response to send to client]:string:_files' - '--ignore-ocsp-response-errors[ignore any errors when setting the OCSP response]' - '--recordsize=[specify maximum record size to advertise]:record size (0-16384)' - '--httpdata=[specify data to use as HTTP response]:file:_files' - ) - ;; - - certtool) - args+=( - '(-q --generate-request)--infile:input file:_files ' - '--outfile:output file:_files ' - '(-s --generate-self-signed)'{-s,--generate-self-signed}'[generate a self-signed certificate]' - '(-c --generate-certificate)'{-c,--generate-certificate}'[generate a signed certificate]' - '--generate-proxy[generate a proxy certificate]' - '--generate-crl[generate a CRL]' - '(-u --update-certificate)'{-u,--update-certificate}'[update a signed certificate]' - '--fingerprint[print the fingerprint of the given certificate]' - '--key-id[print the key ID of the given certificate]' - '--v1[generate an X.509 version 1 certificate (with no extensions)]' - '--sign-params=[sign a certificate with a specific signature algorithm]:algorithm:(RSA-PSS)' - '(-p --generate-privkey)'{-p,--generate-privkey}'[generate a private key]' - '(-q --generate-request --infile)'{-q,--generate-request}'[generate a PKCS #10 certificate request]' - '(-e --verify-chain)'{-e,--verify-chain}'[verify a PEM encoded certificate chain]' - '--verify[verify a PEM encoded certificate chain using a trusted list]' - '--verify-crl[verify a CRL]' - '(--verify-email)--verify-hostname=[specify hostname to be used for certificate chain verification]:hostname:_hosts' - '(--verify-hostname)--verify-email=[specify email to be used for certificate chain verification]:email:_email_addresses' - '--verify-purpose=[specify a purpose OID to be used for certificate chain verification]:purpose' - '--verify-profile=[specify a security level profile to be used for verification]:profile' - '--p7-sign[sign using a PKCS #7 structure]' - '--p7-detached-sign[sign using a detached PKCS #7 structure]' - "--no-p7-include-cert[don't include signer's certificate will in the cert list]" - '--p7-time[include a timestamp in the PKCS #7 structure]' - '--p7-show-data[show embedded data in the PKCS #7 structure]' - '--p7-verify[verify the provided PKCS #7 structure]' - '--generate-dh-params[generate PKCS #3 encoded Diffie Hellman parameters]' - '--get-dh-params[get the included PKCS #3 encoded Diffie Hellman parameters]' - '--dh-info[print information PKCS #3 encoded Diffie-Hellman parameters]' - '--load-privkey:private key file:_files' - '--load-pubkey:public key file:_files' - '--load-request:certificate request file:_files' - '--load-certificate:certificate file:_files' - '--load-ca-privkey:certificate authority private key file:_files' - '--load-ca-certificate:certificate authority certificate file:_files' - '--load-crl=[load the provided CRL]:CRL' - '--load-data=[load auxiliary data]:data' - '--password=[specify password to use]:password' - '--hex-numbers[big number in an easier format to parse]' - '--cprint[prints certain information is C-friendly format]' - '--null-password[enforce a NULL password]' - '--empty-password[enforce an empty password]' - '--key-type=[specify the key type to use on key generation]:key type' - '(-i --certificate-info)'{-i,--certificate-info}'[print information on a certificate]' - '(-l --crl-info)'{-l,--crl-info}'[print information on a CRL]' - '--crq-info[print information on a certificate request]' - "--no-crq-extensions[don't use extensions in certificate requests]" - '--p12-info[print information on a PKCS #12 structure]' - '--p12-name=[specify PKCS #12 friendly name to use]:name' - '--p7-info[print information on a PKCS #7 structure]' - '--smime-to-p7[convert S/MIME to PKCS #7 structure]' - '(-k --key-info)'{-k,--key-info}'[print information on a private key]' - '--p8-info[print information on a PKCS #8 structure]' - '--to-rsa[convert an RSA-PSS key to raw RSA format]' - '--bits=[specify number of bits for key generation]:bits' - '--curve=[specify the curve used for EC key generation]:curve' - '--sec-param=[specify the security level]:security level:(low legacy medium high ultra)' - '--to-p8[convert a given key to a PKCS #8 structure]' - '--provable[generate a private key or parameters from a seed using a provable method]' - '--verify-provable-privkey[verify a private key generated from a seed using a provable method]' - '--seed=[when generating a private key use the given seed]:seed (hex-encoded)' - '--pubkey-info[print information on a public key]' - '--to-p12[generate a PKCS #12 structure]' - '(-8 --pkcs8)'{-8,--pkcs8}'[use PKCS #8 format for private keys]' - '--hash=[specify hash algorithm for signing]:algorithm:(MD5 SHA1 RMD160)' - '--salt-size=[specify the RSA-PSS key default salt size]:size' - {--inder,--inraw}'[use DER format for input certificates and private keys]' - {--outder,--outraw}'[use DER format for output certificates and private keys]' - '--template=[specify template file to use for non-interactive operation]:file:_files' - '--stdout-info[print information to stdout instead of stderr]' - '--ask-pass[enable interaction for entering password when in batch mode]' - '--pkcs-cipher=[specify cipher to use for pkcs operations]:cipher:(3des 3des-pkcs12 aes-128 aes-192 aes-256 rc2-40 arcfour)' - '!(--no-text)--text' - "--no-text[don't output textual information before PEM-encoded certificates, private keys, etc]" - ) - ;; - - srptool) - args+=( - '(-i --index)'{-i+,--index=}':index of params in tpasswd.conf' - '(-u --username)'{-u+,--username=}':username:_users' - '(-p --passwd)'{-p+,--passwd=}':password file:_files' - '(-s --salt)'{-s+,--salt=}'[specify salt size]:salt size for crypt algorithm' - '--verify[just verify password]' - '(-v --passwd-conf)'{-v+,--passwd-conf=}'[generate a password configuration file]:password conf file:_files' - '--create-conf=[generate a tpasswd.conf file]:file:_files' - ) - ;; -esac - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_go b/result/sw/share/zsh/5.9/functions/_go deleted file mode 100644 index 0b4b16df..00000000 --- a/result/sw/share/zsh/5.9/functions/_go +++ /dev/null @@ -1,18 +0,0 @@ -#compdef gccgo gofmt 5l 6l 8l 5g 6g 8g - -# This is for the computer language go, -# http://golang.org. - -local expl pat - -case $service in - (<->l) - pat="*.${service[1,-2]}" - ;; - - (*) - pat="*.go" - ;; -esac - -_wanted files expl "input file" _files -g "$pat(-.)" diff --git a/result/sw/share/zsh/5.9/functions/_gpasswd b/result/sw/share/zsh/5.9/functions/_gpasswd deleted file mode 100644 index 24fe361b..00000000 --- a/result/sw/share/zsh/5.9/functions/_gpasswd +++ /dev/null @@ -1,12 +0,0 @@ -#compdef gpasswd - -_arguments -s \ - '(-a --add -d --delete)'{-a,--add}'[add user to group]: : _users' \ - '(-d --delete -a --add)'{-d,--delete}'[remove user from group]: : _users' \ - '(-)'{-h,--help}'[display help]' \ - '(-Q --root)'{-Q,--root}'[specify directory to chroot into]: : _files -/' \ - '(-r --remove-password)'{-r,--remove-password}'[remove the group password]' \ - '(-R --restrict)'{-R,--restrict}'[restrict access to GROUP to its members]' \ - '(-M --members -A --administrators)'{-M,--members}'[set the list of members of GROUP]: :_sequence _users' \ - '(-A --administrators -M --members)'{-A,--administrators}'[set the list of admins for GROUP]: :_sequence _users' \ - '1: : _groups' diff --git a/result/sw/share/zsh/5.9/functions/_gpg b/result/sw/share/zsh/5.9/functions/_gpg deleted file mode 100644 index 5d54865d..00000000 --- a/result/sw/share/zsh/5.9/functions/_gpg +++ /dev/null @@ -1,282 +0,0 @@ -#compdef gpg gpgv gpg-zip gpg2=gpg - -local curcontext="$curcontext" state line expl ret=1 -local -a args allopts dups extra -typeset -A opt_args - -if [[ $service = gpg-zip ]]; then - args=( - '--gpg[command to use instead of gpg]:command:_command' - '--gpg-args[gpg arguments]:gpg arguments:' - '--tar[command to use instead of tar]:command:_command' - '--tar-args[tar arguments]:tar arguments:' - '--list-archive[list archive contents]' - ) -else - allopts=( $(_call_program options $words[1] --dump-options) ) - args=( - '(-q --quiet)*'{-v,--verbose}'[increase amount of output]' - '(-q --quiet -v --verbose)'{-q,--quiet}'[reduce amount of output]' - '--keyring=[add specified file to list of keyrings]:file:_files' - '--'{status,logger}'-fd:file descriptor:_file_descriptors' - '--homedir:directory:_directories' - ) -fi - -[[ $service = gpgv ]] || args+=( - '(-e --encrypt)'{-e,--encrypt}'[encrypt data. this option may be combined with --sign]' - {-d,--decrypt}'[decrypt file or stdin]' - '(-c --symmetric)'{-c,--symmetric}'[encrypt with symmetric cipher only]' - '(-s --sign)'{-s,--sign}'[make a signature]' - '*'{-r+,--recipient}'[specify user to encrypt for]:recipient:->public-keys' - '(-u --local-user)'{-u+,--local-user}'[use name as the user ID to sign]:user attachment:_users' - '(-o --output)'{-o+,--output}'[write output to file]:output file:_files' - '(-h --help)'{-h,--help}'[display usage information]' - '--version[print info on program version and supported algorithms]' -) - -[[ $service = gpg ]] && args+=( - '--decrypt-files[decrypt multiple files]' - '(-b --detach-sign)'{-b,--detach-sign}'[make a detached signature]' - --clear{,-}sign'[make a clear text signature]' - '--store[store only]' - '--verify[verify a signature]' - '--verify-files[verify a list of files]' - '(-f --encrypt-files)'{-f,--encrypt-files}'[encrypt files]' - '(-k --list-keys)'{-k,--list-keys}'[list all keys]' - '--list-public-keys[list all public keys]' - '(-K --list-secret-keys)'{-K,--list-secret-keys}'[list all secret keys]' - --list-sig{,nature}s'[lists keys and signatures]:key attachment:->public-keys' - '--list-options[modify what the various --list-* commands show]: :->option-list' - --check-sig{,nature}s'[list key, signatures and check them]:key attachment:->public-keys' - '--fingerprint[list all keys with their fingerprints]:key attachment:->public-keys' - '--list-packets[list only the sequence of packets]' - '--gen-key[generate a new pair key]' - '--edit-key[interactively edit a key]:key attachment:->public-keys' - '--sign-key[sign a key]:key attachment:->public-keys' - '--lsign-key[sign a key but mark as non-exportable]:key attachment:->public-keys' - '--delete-keys[remove key from public keyring]:key attachment:->public-keys' - '--delete-secret-keys[remove key from public & private keyring]:key attachment:->secret-keys' - '--delete-secret-and-public-keys:key attachment:->secret-keys' - '--gen-revoke[generate a revocation certificate]' - '--desig-revoke[generate a designated revocation certificate]' - '--passwd[change a passphrase]' - '--export[export all keys from all keyrings]' - '--send-keys[send keys to a keyserver]:key attachment:->public-keyids' - '--export-secret-keys:key attachment:->secret-keys' - '--export-secret-subkeys:key attachment:->secret-keys' - '--import[import a gpg key from a file]:attachment (file):_files' - '--fast-import[import a file without adding to trustdb]:attachment (file):_files' - '--fetch-keys[fetch key at URIs]:uri:' - --rec{eive,v}-keys'[receive a list of keys from a keyserver]:key attachment:->public-keyids' - '--refresh-keys[update all keys from a keyserver]' - '--search-keys[search for keys on a key server]' - '--update-trustdb[update the trust database]' - '--check-trustdb[unattended trust database update]' - '--fix-trustdb[fix a corrupted trust database]' - '--export-ownertrust[list the assigned ownertrust values in ASCII format]:file:_files' - '--import-ownertrust[update the trustdb with a file]:file:_files' - '--dearmor[de-Armor a file or stdin]' - '--enarmor[en-Armor a file or stdin]' - '--print-md[print message digests]:algorithm:->ciphers::file:_files' - '--print-mds[print message digests]::file:_files' - '--tofu-policy:policy:(good unknown bad ask auto):*:keys:->public-keys' - '--tofu-default-policy:policy:(good unknown bad ask auto)' - '--quick-generate-key:user-id: :algorithm:(default future-default rsa dsa elg ed25519 cv25519): : _values -s , usage - default sign auth encr::expiration' - '--quick-add-key:fingerprint: :algorithm:(default future-default rsa dsa elg ed25519 cv25519): : _values -s , usage - default sign auth encr::expiration' - '--gen-random:quality level:(0 1 2):count (bytes)' '--gen-prime' - '--warranty[print warranty info]' - '(-a --armor)'{-a,--armor}'[create ASCII armored output]' - '--default-key[specify default user ID for signatures]:key:->secret-keys' - '--default-recipient[specify default recipient]:recipient:->public-keys' - '--default-recipient-self[use default key as default recipient]' - '--no-default-recipient[reset default recipient]' - '*--encrypt-to[specify recipient]:key:->public-keys' - '(--encrypt-to)--no-encrypt-to[disable the use of all --encrypt-to keys]' - '-z[specify compression level]:compression level:((0\:no\ compression 1\:minimum 2 3 4 5 6\:default 7 8 9\:maximum))' - '(-t --textmode)'{-t,--textmode}'[use canonical text mode]' - '(-n --dry-run)'{-n,--dry-run}"[don't make any changes]" - '(-i --interactive --batch)'{-i,--interactive}'[prompt before overwriting files]' - '(-i --interactive --no-batch)--batch[use batch mode]' - '--no-tty[never output to tty]' - '(--batch)--no-batch[disable batch mode]' - '(--no)--yes[assume "yes" on most questions]' - '(--yes)--no[assume "no" on most questions]' - '--default-cert-check-level:check level:((0\:no\ claim 1\:no\ verification 2\:casual\ verification 3\:extensive\ verification))' - '--trusted-key[assume that the specified key is trustworthy]:long key id' - '--always-trust[skip key validation]' - '--keyserver[specify key server to use]:key server:_hosts' - '--keyserver-options[specify keyserver options]:options' - '--import-options[specify options for importing keys]:options' - '--export-options[specify options for exporting keys]:options' - '--photo-viewer:command:_command_names -e' - '--exec-path:path:_dir_list' - '--show-keyring[display keyring name when listing keys]' - '--secret-keyring[add specified file to list of secret keyrings]:file:_files' - '--charset:character set:(iso-8859-1 iso-8859-2 koi8-r utf-8)' - '--utf8-strings' '--no-utf8-strings[arguments are not in UTF8]' - '(--no-options)--options[specify file to read options from]:options file:_files' - "(--options)--no-options[don't read options file]" - '--'{attribute,passphrase,command}'-fd:file descriptor:_file_descriptors' - '--sk-comments[include secret key comments when exporting keys]' - '(--emit-version)--no-emit-version[omit version string in clear text signatures]' - '(--no-emit-version)--emit-version[force writing of version string in clear text signatures]' - '(-N --notation-data)'{-N,--notation-data}'[put parameter in signature]:name=value' - '(--no-show-notation)--show-notation[show key signature notations]' - "(--show-notation)--no-show-notation[don't show key signature notations]" - '--set-policy-url:policy URL' - '--set-filename[specify file which is stored in messages]:file:_files' - '--completes-needed:number' '--marginals-needed:number' '--max-cert-depth:number' - '--'{{,disable-,s2k-}cipher,{,s2k-,cert-}digest,disable-pubkey}'-algo:cipher:->ciphers' - '--s2k-mode:value' - '--compress-algo:compression algorithm:((0\:disable\ compression 1\:zlib 2\:rfc1950))' - '--personal-'{cipher,digest,compress}'-preferences:string' - --{card-edit,edit-card}'[present smartcard menu]' '--card-status[show smartcard content]' - '--change-pin[present menu to change smartcard pin]' - '--list-config[display internal configuration parameters]' - '--hidden-recipient[hidden recipient]:recipient:->public-keys' - '--default-preference-list:string' - '--fetch-keys:URIs' - '--hidden-encrypt-to:recipient:->public-keys' - '--compress-level:integer' - '--bzip2-compress-level:integer' - '--default-cert-level:integer' - '--max-output[maximum output generated when processing file]:bytes:' - '--gpg-agent-info[override GPG_AGENT_INFO]:' - '--primary-keyring:file:_files' - '--verify-options: :->verify-options' - '--debug:flags:' '--status-file:file:_files' - '--attribute-file:file:_files' '--load-extension:file:_files' - '--s2k-count:integer' - '--sig-notation:name=value:' '--cert-notation:name=value:' - '--passphrase-file:file:_files' '--passphrase-repeat:integer:' - '--command-file:file:_files' '--trustdb-name:file:_files' - '--trust-model:trust model:(pgp classic tofu tofu+pgp direct always auto)' - '--sig-policy-url:string:' '--cert-policy-url:string:' - '--sig-keyserver-url:string:' '--comment[comment]:comment:' - '--no-comments[disable comments]' - '--logger-file[write log to file]:file:_files' - '--rebuild-keydb-caches[create signature caches in keyring]' - '--default-keyserver-url:name:' - '--display-charset[set native charset]:charset:((iso-8859-1 iso-8859-2 iso-8859-15 koi8-r utf-8))' - '--ungroup[remove group]:group name:' - '--no-groups[remove all entries from --group list]' - '--enable-progress-filter[enable progress status output]' - '--multifile[process multiple files]' - '--keyid-format[key id format]:key format:((short 0xshort long 0xlong))' - '--exit-on-status-write-error[exit immediately on error write]' - '--limit-card-insert-tries:integer' - '--reader-port[card reader port]:port' - '--ctapi-driver[file to use to access smartcard reader]:file:_files' - '--pcsc-driver[file to use to access smartcard reader]:file:_files' - '--auto-key-locate:parameters' - '--dump-options[show all options]' -) - -extra=( ${${${args#\([^\)]#\)}#\*}%%[=:\[]*} ) -extra=( ${allopts:|extra} ) -_arguments -C -s -S -A "-*" $args $extra '*:args:->args' && ret=0 - -if [[ $state = args ]]; then - if (( ${+opt_args[--export]} || ${+opt_args[-k]} || ${+opt_args[--list-keys]} || ${+opt_args[--list-public-keys]} )); then - state=public-keys - elif (( ${+opt_args[--list-secret-keys]} )); then - state=secret-keys - else - _files && return - fi -fi - -# We need to keep some arguments to get a consistent list of keys -# etc. -local -a needed -integer krind=${words[(I)--keyring(|=*)]} -needed=(${words[(r)--no-default-keyring]}) -if (( krind )); then - # We have a --keyring option. We can't be completing its - # argument because that was handled above, so it must be complete. - if [[ $words[krind] = --keyring ]]; then - if [[ -n $words[krind+1] ]]; then - needed+=(--keyring=$words[krind+1]) - fi - else - needed+=($words[krind]) - fi -fi - -case "$state" in - public-keys) - local public_keys_lines=(${(f)"$(_call_program public-keys ${(q)words[1]} ${(q)needed} --list-public-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#public_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)public_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - done - fi - done - _describe -t public-keys 'public key' emails uids - ;; - secret-keys) - local secret_keys_lines=(${(f)"$(_call_program secret-keys ${(q)words[1]} ${(q)needed} --list-secret-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#secret_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)secret_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)secret_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)secret_keys_lines[$i]}") - done - fi - done - _describe -t secret-keys 'secret key' emails uids - ;; - ciphers) - _wanted ciphers expl cipher compadd \ - ${${(s.,.)${(M)${(f)${"$(_call_program ciphers ${(q)words[1]} ${(q)needed} --version)"}//,$'\n' #/, }:#Cipher*}#*:}# } && return - ;; - (public-keyids) - local public_keys_lines=(${(f)"$(_call_program public-keyids ${(q)words[1]} ${(q)needed} --list-public-keys --list-options no-show-photos --with-colons)"}) - local -a uids emails - local i j parts current_uid - for (( i = 1; i < ${#public_keys_lines[@]}; ++i )); do - parts=("${(@s.:.)public_keys_lines[$i]}") - if [[ ${parts[1]} == "fpr" ]]; then - current_uid="${parts[10]}" - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - while [[ ${parts[1]} == "uid" ]]; do - uids+=("${current_uid}") - emails+=("${parts[10]}") - i=$((i + 1)) - parts=("${(@s.:.)public_keys_lines[$i]}") - done - fi - done - _describe -t public-keyids 'public key' emails uids - ;; - (option-list) - _sequence _wanted options expl option \ - compadd - {no-,}show-{photos,usage,policy-urls,{std,user}-notations,keyserver-urls,uid-validity,unusable-{uids,subkeys},keyring,sig-{expire,subpackets}} && return - ;; - (verify-options) - _sequence _wanted options expl option \ - compadd - {no-,}show-{photos,policy-urls,{std,user}-notations,keyserver-urls,uid-validity,unusable-uids,primary-uid-only} {no-,}pka-{lookups,trust-increase} && return - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_gphoto2 b/result/sw/share/zsh/5.9/functions/_gphoto2 deleted file mode 100644 index 788c9702..00000000 --- a/result/sw/share/zsh/5.9/functions/_gphoto2 +++ /dev/null @@ -1,96 +0,0 @@ -#compdef gphoto2 - -local curcontext="$curcontext" ret=1 -local -a state line values expl -typeset -A opt_args - -_arguments -s -C \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)'{-h,--usage}'[display a short usage message]' \ - '--debug[turn on debugging]' \ - '--debug-loglevel=[set debug level]:debug level:(error debug data all)' \ - '--debug-logfile=[name of file to write debug info to]:file:_files' \ - '(-q --quiet)'{-q,--quiet}'[quiet output]' \ - '--hook-script=[hook script to call after downloads, captures, etc.]:file:_files' \ - '--stdout[send file to stdout]' \ - '--stdout-size[print filesize before data]' \ - '--auto-detect[list auto-detected cameras]' \ - '--show-exif=[show EXIF information of JPEG images]:range' \ - '--show-info=[show image information, like width, height, and capture time]:range' \ - '--summary[summary of camera status]' \ - '--manual[camera driver manual]' \ - '--about[show information about the camera driver]' \ - '--storage-info[show storage information]' \ - '--shell[start the gphoto2 shell]' \ - '(-)'{-v,--version}'[display version and exit]' \ - '--list-cameras[list supported camera models]' \ - '--list-ports[list supported port devices]' \ - '(-a --abilities)'{-a,--abilities}'[display camera abilities]' \ - '--port=[specify port device]:port:->ports' \ - '--speed=[specify serial transfer speed]:speed' \ - '--camera=[specify camera model]:camera model:->models' \ - '--usbid=[override USB IDs (expert only)]:usbid' \ - '--list-config[list configuration tree]' \ - '--list-all-config[dump full configuration tree]' \ - '--get-config=[get configuration value]:string' \ - '--set-config=[set configuration value or index in choices]:string' \ - '--set-config-index=[set configuration value index in choices]:string' \ - '--set-config-value=[set configuration value]:string' \ - '--config[start curses configuration menu]' \ - '--reset[reset device port]' \ - '--keep[keep images on camera after capturing]' \ - '--keep-raw[keep the RAW images on the camera with --capture-image-and-download]' \ - '--no-keep[remove images from camera after capturing]' \ - '--wait-event=-[wait for event from camera]::count' \ - '--wait-event-and-download=-[wait for event from camera and download new images]::count' \ - '--capture-preview[capture a quick preview]' \ - '--show-preview[capture a quick preview and display using ASCII art]' \ - '(-B --bulb)'{-B,--bulb=}'[set bulb exposure time]:exposure time (seconds)' \ - '(-F --frames)'{-F,--frames=}'[set number of frames to capture]:frames [unlimited]' \ - '(-I --interval)'{-I,--interval=}'[set capture interval in seconds]:interval (seconds)' \ - '--reset-interval[reset capture interval on signal]' \ - '--capture-image[capture an image]' \ - '--trigger-capture[trigger capture of an image]' \ - '--capture-image-and-download[capture an image and download it]' \ - '--capture-movie=-[capture a movie]:count or seconds' \ - '--capture-sound[capture an audio clip]' \ - '--capture-tethered=-[wait for shutter release on the camera and download]::count' \ - '(-l --list-folders)'{-l,--list-folders}'[list folders in folder]' \ - '(-L --list-files)'{-L,--list-files}'[list files in folder]' \ - '(-m --mkdir)'{-m,--mkdir=}'[create a directory]:directory' \ - '(-r --rmdir)'{-r,--rmdir=}'[remove a directory]:directory' \ - '(-n --num-files)'{-n,--num-files}'[display number of files]' \ - '(-p --get-file)'{-p,--get-file=}'[get files given in range]:range' \ - '(-P --get-all-files)'{-P,--get-all-files}'[get all files from folder]' \ - '(-t --get-thumbnail)'{-t,--get-thumbnail=}'[get thumbnails given in range]:range' \ - '(-T --get-all-thumbnails)'{-T,--get-all-thumbnails}'[get all thumbnails from folder]' \ - '--get-metadata=[get metadata given in range]:range' \ - '--get-all-metadata[get all metadata from folder]' \ - '--upload-metadata=[upload metadata for file]:string' \ - '--get-raw-data=[get raw data given in range]:range' \ - '--get-all-raw-data[get all raw data from folder]' \ - '--get-audio-data=[get audio data given in range]:range' \ - '--get-all-audio-data[get all audio data from folder]' \ - '(-d --delete-file)'{-d,--delete-file=}'[delete files in given range]:range' \ - '(-D --delete-all-files)'{-D,--delete-all-files}'[delete all files in folder]' \ - '(-u --upload-file)'{-u,--upload-file=}'[upload a file to camera]:file:_files' \ - '--filename=[specify pattern to save file as]:pattern:_date_formats' \ - '(-f --folder)'{-f,--folder=}'[specify camera folder]:folder [/]' \ - '(-R --recurse --no-recurse)'{-R,--recurse}'[recursion (default for download)]' \ - '(-R --recurse)--no-recurse[no recursion (default for deletion)]' \ - '--new[process new files only]' \ - '--force-overwrite[overwrite files without asking]' \ - '--skip-existing[skip files that already exist on local filesystem]' && ret=0 - -case $state in - models) - _wanted models expl 'camera model' compadd \ - ${${${(f)"$(_call_program models $words[1] --list-cameras)"}[3,-1]#*\"}%%\"*} && ret=0 - ;; - ports) - values=( ${${${(f)"$(gphoto2 --list-ports)"}[4,-1]/:/\\:}/ ##/:} ) - _describe -t ports 'port' values - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_gprof b/result/sw/share/zsh/5.9/functions/_gprof deleted file mode 100644 index a7e602fd..00000000 --- a/result/sw/share/zsh/5.9/functions/_gprof +++ /dev/null @@ -1,58 +0,0 @@ -#compdef gprof - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C -s -{a,b,c,D,h,i,l,L,r,s,T,v,w,x,y,z} \ - -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,R,S,t,Z}:'function name:->funcs' \ - '-I:directory:_dir_list' \ - '-d-:debug level:' '-k:function names:->pair' \ - '-m:minimum execution count:' \ - ':executable:_files -g \*\(-\*\)' \ - ':profile file:_files -g gmon.\*\(-.\)' \ - -- -s '((#s)--[no-] --)' \ - '*=name*:function name:->funcs' \ - '*=dirs*:directory:_dir_list' && ret=0 - -if [[ -n "$state" ]]; then - local cmd pair expl - - _tags functions || return 1 - - [[ "$state" = pair ]] && pair=yes - - if [[ $#line -gt 1 ]]; then - cmd="$line[2]" - else - return 1 - fi - - if [[ -n "$cmd" ]]; then - if [[ "$cmd" = /* ]]; then - tmp="$cmd" - else - tmp="$PWD/$cmd" - fi - - if [[ "$tmp" != "$_gprof_command" ]]; then - _gprof_command="$tmp" - _gprof_funcs=( "${(@)${(@M)${(@f)$(nm $cmd)}:#[^ ]# [tT] ([^_]|_[^_])*}##* }" ) - fi - - if [[ -n "$pair" ]]; then - if compset -P '*/'; then - expl='call arc to function' - else - expl='call arc from function' - fi - else - expl=function - fi - _wanted functions expl "$expl" \ - compadd -M 'r:|_=* r:|=*' -a _gprof_funcs && ret=0 - else - return 1 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_gqview b/result/sw/share/zsh/5.9/functions/_gqview deleted file mode 100644 index f317ab53..00000000 --- a/result/sw/share/zsh/5.9/functions/_gqview +++ /dev/null @@ -1,12 +0,0 @@ -#compdef gqview - -_arguments \ - '(+t -t --without-tools --with-tools)'{+t,--with-tools}'[force show of tools]' \ - '(+t -t --without-tools --with-tools)'{-t,--without-tools}'[force hide of tools]' \ - '(--fullscreen -f)'{-f,--fullscreen}'[start in full screen mode]' \ - '(--slideshow -s)'{-s,--slideshow}'[start in slideshow mode]' \ - '(--list -l)'{-l,--list}'[open collection window for command line]' \ - '--debug[turn on debug output]' \ - '(--version -v)'{-v,--version}'[print version info]' \ - '(--help -h)'{-h,--help}'[show help]' \ - '*:picture file:_files -g "*.(#i)(jpg|jpe|jpeg|png|gif|tif|tiff|bmp)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_gradle b/result/sw/share/zsh/5.9/functions/_gradle deleted file mode 100644 index c1f7c05e..00000000 --- a/result/sw/share/zsh/5.9/functions/_gradle +++ /dev/null @@ -1,150 +0,0 @@ -#compdef gradle gradlew - -local -i ret=1 -local curcontext="$curcontext" state state_descr outputline -local gradle_inspect=yes gradle_buildfile cache_policy cache_name tag_order filter -local -A opt_args task_map -local -aU gradle_subprojects gradle_tasks tasks -local -a match mbegin mend - -_gradle_caching_policy() { - # Invalidate the cache if it cannot be read. - [[ -r "$1" ]] || - return 0 - - # Invalidate the cache if it's older than the build file. - [[ $gradle_buildfile -nt $1 ]] && - return - - # Invalidate the cache if it doesn't contain the required arrays. - local cache="$( < $1 )" - [[ "$cache" != *'gradle_subprojects=('*')'* || "$cache" != *'gradle_tasks=('*')'* ]] -} - -zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy || \ - zstyle ":completion:*:*:$service:*" cache-policy _gradle_caching_policy - -# By default, we only complete main tasks (belonging to a group). Secondary tasks are -# completed if no main tasks are found. -zstyle -a ":completion:*:*:$service:*" tag-order tag_order || \ - zstyle ":completion:*:*:$service:*" tag-order 'gradle_group' 'gradle_all' - -# The completion inspects the current build file to find tasks to complete. Setting -# this style to 'no' or 'false' turns off inspection. In that case only the built-in tasks -# are completed. -zstyle -T ":completion:*:*:$service:*" gradle-inspect || gradle_inspect=no - -_arguments -C \ - '(-)'{-\?,-h,--help}'[Shows a help message.]' \ - {-a,--no-rebuild}'[Do not rebuild project dependencies.]' \ - {-b,--build-file}'[Specifies the build file.]:build file:_files -g "*.gradle(-.)"' \ - {-C,--cache}'[Specifies how compiled build scripts should be cached.]:cache policy:(on rebuild)' \ - {-c,--settings-file}'[Specifies the settings file.]:settings file:_files -g "*.properties(-.)"' \ - '--continue[Continues task execution after a task failure.]' \ - \*{-D+,--system-prop}'[Set system property of the JVM (e.g. -Dmyprop=myvalue).]:system property (prop=val):' \ - '(-i --info -q --quiet)'{-d,--debug}'[Log in debug mode (includes normal stacktrace).]' \ - '(--nodaemon)--daemon[Uses the Gradle daemon to run the build. Starts the daemon if not running.]' \ - '--foreground[Starts the Gradle daemon in the foreground.]' \ - {-g,--gradle-user-home}'[Specifies the gradle user home directory.]:home directory:_directories' \ - '(-)--gui[Launches the Gradle GUI.]' \ - {-I,--init-script}'[Specifies an initialization script.]:init script:_files -g "*.gradle(-.)"' \ - '(-d --debug -q --quiet)'{-i,--info}'[Set log level to info.]' \ - {-m,--dry-run}'[Runs the builds with all task actions disabled.]' \ - '--no-color[Do not use color in the console output.]' \ - '(--daemon)--no-daemon[Do not use the Gradle daemon to run the build.]' \ - '--no-opt[Ignore any task optimization.]' \ - '--offline[The build should operate without accessing network resources.]' \ - \*{-P+,--project-prop}'[Set project property for the build script (e.g. -Pmyprop=myvalue).]:project property (prop=val):' \ - {-p,--project-dir}'[Specifies the start directory for Gradle.]:start directory:_directories' \ - '--parallel[Build projects in parallel. Gradle will attempt to determine the optimal number of executor threads to use.]' \ - '--parallel-threads[Build projects in parallel, using the specified number of executor threads.]' \ - '--profile[Profiles build execution time and generates a report in the <build_dir>/reports/profile directory.]' \ - '--project-cache-dir[Specifies the project-specific cache directory.]:cache directory:_directories' \ - '(-d --debug -i --info)'{-q,--quiet}'[Log errors only.]' \ - '--recompile-scripts[Force build script recompiling.]' \ - '--refresh[Refresh the state of resources of the type(s) specified.]:refresh policy:(dependencies)' \ - '--refresh-dependencies[Refresh the state of dependencies.]' \ - '--rerun-tasks[Ignore previously cached task results.]' \ - '(-S --full-stacktrace)'{-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \ - '(-s --stacktrace)'{-S,--full-stacktrace}'[Print out the full (very verbose) stacktrace for all exceptions.]' \ - '(-)--stop[Stops the Gradle daemon if it is running.]' \ - {-u,--no-search-upward}"[Don't search in parent folders for a settings.gradle file.]" \ - '(-)'{-v,--version}'[Print version info.]' \ - {-x,--exclude-task}'[Specify a task to be excluded from execution.]:task to exclude:->task' \ - '*:task:->task' \ - && ret=0 - -if [[ $state == task && ! -prefix - ]]; then - # :<task> runs <task> in the root project only. - # :<subproject>:<task> is the same as <subproject>:<task> (without the leading colon). - compset -P \: - - if [[ $gradle_inspect == yes ]]; then - # If a build file is specified after '-b' or '--build-file', use this file. Otherwise, - # default is the file 'build.gradle' in the current directory. - gradle_buildfile=${${(v)opt_args[(i)-b|--build-file]}:-build.gradle} - - if [[ -f $gradle_buildfile ]]; then - # Cache name is constructed from the absolute path of the build file. - cache_name=${${gradle_buildfile:a}//[^[:alnum:]]/_} - - if _cache_invalid $cache_name || ! _retrieve_cache $cache_name; then - zle -R "Generating cache from $gradle_buildfile" - - # Run gradle/gradlew and retrieve possible tasks. - for outputline in ${(f)"$($service --build-file $gradle_buildfile -q tasks --all)"}; do - - # Tasks and subprojects each start with a lowercase letter, but whereas tasks are in camelCase, each - # subproject consists of one or more sections of kebab-case, with each section ending in a ':'. - # A subproject task is a task prefixed with a subproject and runs in that project only. - # Specifying a task without a subproject prefix runs the task in all subprojects where it exists. - # Tasks prefixed by whitespace are dependencies of the task above them and should be ignored. - if [[ $outputline == (#b)([[:lower:]][-[:lower:][:digit:]]#\:)#([[:lower:]][[:alnum:]]#)(|' - '*) ]] - then - task=$match[-2] - task_descr=${match[-1]# - } - shift -p 2 match - subproject=${(j::)match//:/'\:'} - - if [[ -n $subproject ]]; then - gradle_subprojects+=( ${subproject%'\:'} ) - task_map[$subproject$task]=$task_descr - - # We cannot count on the description of a subproject task to be representative of the task - # in general. - : ${task_map[$task]=} - else - task_map[$task]=$task_descr - fi - fi - done - printf -v gradle_tasks '%s:%s' "${(kv@)task_map}" - _store_cache $cache_name gradle_subprojects gradle_tasks - fi - - if [[ $IPREFIX == *: ]] || ! zstyle -T ":completion:${curcontext}:subprojects" prefix-needed; then - _describe -t subprojects 'gradle subproject' gradle_subprojects -S \: && - ret=0 - fi - if [[ $PREFIX == *:* ]] || ! zstyle -T ":completion:${curcontext}:tasks" prefix-needed; then - tasks=( $gradle_tasks[@] ) - else - # If no subproject is specified, then filter out all subproject tasks. - tasks=( ${gradle_tasks[@]:#*'\:'*} ) - fi - _describe -t tasks 'gradle task' tasks && - ret=0 - fi - else - _describe -t tasks 'built-in task' '( - "dependencies:Displays all dependencies declared in root project." - "dependencyInsight:Displays the insight into a specific dependency in root project." - "help:Displays a help message." - "projects:Displays the sub-projects of root project." - "properties:Displays the properties of root project." - "tasks:Displays the tasks runnable from root project." - )' && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_graphicsmagick b/result/sw/share/zsh/5.9/functions/_graphicsmagick deleted file mode 100644 index dc799085..00000000 --- a/result/sw/share/zsh/5.9/functions/_graphicsmagick +++ /dev/null @@ -1,547 +0,0 @@ -#compdef gm - -local state line expl formats curcontext="$curcontext" -typeset -A opt_args - -formats=jpg:jpeg:jp2:j2k:jpc:jpx:jpf:tif:tiff:miff:ras:bmp:cgm:dcx:ps:eps:fig:fits:fpx:gif:mpeg:pbm:pgm:ppm:pcd:pcl:pdf:pcx:png:rad:rgb:rgba:rle:sgi:html:shtml:tga:ttf:uil:xcf:xwd:xbm:xpm:yuv - -if (( $# )); then - _files "$@" -g "*.(#i)(${~formats//:/|})(-.)" - return -fi - -if (( CURRENT == 2 )); then - compadd animate benchmark compare composite conjure convert display help identify import mogrify montage version - -else - -case "$words[2]" in - (display) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colormap:colormap type:(shared private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-enhance[enhance noisy image]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-immutable[disallow image modifications]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-magnify:factor' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:3-D edges (raised)' \ - '*+raise:3-D edges (lowered)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-segment:cluster pixel number' \ - '*-shared_memory' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-texture:background texture image:_imagemagick' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-update:redisplay test time (seconds)' \ - '*-use_pixmap' \ - '*-verbose' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*-window_group' \ - '*-write:output filename:_files' \ - '*:picture file:_imagemagick' && return - ;; - - (animate) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '*-colormap:colormap type:(Shared Private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dither[apply dithering]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-noop' \ - '*-pause:delay (seconds)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-scenes:image scene number' \ - '*-shared_memory' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-verbose[print image information]' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*:picture file:_imagemagick' && return - ;; - - (import) - _x_arguments -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-border:border size (<width>x<height>):' \ - '-bordercolor:color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-debug' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-descend[descend window hierarchy]' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-frame[include window manager frame]' \ - '(- *)-help[display help information]' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-pause:delay (seconds)' \ - '-ping' \ - '-pointsize:Postscript font size' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '-scene:number of screen snapshots' \ - '-screen[get root window]' \ - '-silent[be quiet]' \ - '-snaps:number' \ - '-transparent:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-trim' \ - '-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '-verbose[print image information]' \ - '-window:window ID to get:_x_window' \ - ':output file:_files' && return - ;; - - (montage) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-adjoin[join images]' \ - '*-background:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-frame[draw frame around image]' \ - '*-font:annotation font:_x_font' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '(- *)-help[display help information]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-mode:montage type:(Frame Unframe Concatenate)' \ - '*-monochrome[transform to black and white]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-shadow[add shadow]' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-stroke:color:_x_color' \ - '*-texture:background texture image:_imagemagick' \ - '*-tile:number of tiles (<width>x<height>)' \ - '*-title:image title' \ - '*-transparent:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '*-verbose[print image information]' \ - '*:picture file:_imagemagick' && return - ;; - - (convert) - _arguments -C -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-affine[drawing transform matrix]:matrix' \ - '-antialias[remove pixel aliasing]' \ - '-append[append image sequence]' \ - '-average[average image sequence]' \ - '-background[specify background color]:color:_x_color' \ - '-blur:blur factor (0.0 - 99.9%%)' \ - '-border:border size (<width>x<height>)' \ - '-bordercolor:border color:_x_color' \ - '-box:annotation bounding box color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-channel:channel:(Red Green Blue Opacity Cyan Magenta Yellow Black)' \ - '-charcoal:charcoal drawing factor' \ - '-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '-clip' \ - '-coalesce[merge image sequence]' \ - '-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-contrast[enhance contrast]' \ - '+contrast[reduce contrast]' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-cycle:image colormap shift' \ - '-debug' \ - '-deconstruct[break down image sequence into parts]' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-despeckle[reduce speckles in image]' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '-edge:edge detection factor (0.0 - 99.9%%)' \ - '-emboss[emboss image]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-enhance[enhance image]' \ - '-equalize[histogram equalization]' \ - '-fill[specify color to use when filling a graphic primitive]:color:_x_color' \ - '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '-flatten[flatten a sequence of images]' \ - '-flip[vertical mirror image]' \ - '-flop[horizontal mirror image]' \ - '-font:annotation font:_x_font' \ - '-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '-fuzz:maximum distance for equal colors' \ - '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-implode:implosion factor (0.0 - 99.9%%)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-layer:layer type:(Red Green Blue Matte)' \ - '-linewidth:line width' \ - '-loop:number of iterations (GIF animation)' \ - '-map[single image colormap file]:picture file for colors:_imagemagick' \ - '+map[all images colormap file]:picture file for colors:_imagemagick' \ - '-matte[store matte channel]' \ - '-modulate:<brightness>,<saturation>,<hue>' \ - '-monochrome[transform to black and white]' \ - '-morph[morph image sequence]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-noise[noise peak elimination]' \ - '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '-normalize[use full color value range]' \ - '-opaque:image pen color:_x_color' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-paint:oil painting radius' \ - '-pen:font color:_x_color' \ - '-pointsize:Postscript font size' \ - '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \ - '-profile:information profile:->profile' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-raise:lighten or darken edges (<width>x<height>)' \ - '-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sample:scale factors (<width>x<height>)' \ - '-scene:image scene number' \ - '-seed:random number seed' \ - '-segment:segment thresholds (<cluster>x<smoothing>)' \ - '-shade:image shading (<azimuth>x<elevation>)' \ - '-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '-shear:shearing angles (<x>x<y> in degrees)' \ - '-size:image size (<width>x<height>+<offset>)' \ - '-solarize:solarization threshold' \ - '-spread:neighborhood size' \ - '-swirl:swirl tightness' \ - '-texture:background texture image:_imagemagick' \ - '-threshold:threshold for maximum intensity' \ - '-transparency:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '-verbose[print image information]' \ - '-view:FlashPix viewing parameters' \ - '-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - - if [[ "$state" = profile ]]; then - if compset -P 1 '*:'; then - _files - else - _wanted prefixes expl 'profile type' compadd icc: iptc: - fi - return - fi - ;; - - (composite) - _arguments -M 'm:{a-z}={A-Z}' \ - '-blend:blending factor (0.0 - 99.9%%)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-displace:displacements scales (<horizontal>x<vertical>)' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '+dither[render Postscript without aliasing]' \ - '-font:normal text font:_x_font' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-matte[store matte channel]' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-scene:image scene number' \ - '-stegano:watermark offset' \ - '-stereo[create stereo anaglyph]' \ - '-tile[repeat composite operation]' \ - '-treedepth:color reduction tree depth' \ - '-verbose[print image information]' \ - ':image file:_imagemagick' \ - ':composite file:_imagemagick' \ - ':mask or combined file:_imagemagick' \ - ':combined file:_files' && return - ;; - - (mogrify) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-affine[drawing transform matrix]:matrix' \ - '*-antialias[remove pixel aliasing]' \ - '*-background[specify background color]:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:border color:_x_color' \ - '*-box:annotation bounding box color:_x_color' \ - '*-charcoal:charcoal drawing factor' \ - '*-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-cycle:image colormap shift' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-emboss[emboss image]' \ - '*-enhance[enhance image]' \ - '*-equalize[histogram equalization]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - "*-format:output file format:(${formats//:/ })" \ - '*-font:annotation font:_x_font' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-fuzz:maximum distance for equal colors' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '*-implode:implosion factor (0.0 - 99.9%%)' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-layer:layer type:(Red Green Blue Matte)' \ - '*-linewidth:line width' \ - '*-loop:number of iterations (GIF animation)' \ - '*-map[single image colormap file]:picture file for colors:_imagemagick' \ - '*+map[all images colormap file]:picture file for colors:_imagemagick' \ - '*-matte[store matte channel]' \ - '*-modulate:<brightness>,<saturation>,<hue>' \ - '*-monochrome[transform to black and white]' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noise[noise peak elimination]' \ - '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '*-normalize[use full color value range]' \ - '*-opaque:image pen color:_x_color' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-paint:oil painting radius' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:lighten or darken edges (<width>x<height>)' \ - '*-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-scene:image scene number' \ - '*-seed:random number seed' \ - '*-segment:segment thresholds (<cluster>x<smoothing>)' \ - '*-shade:image shading (<azimuth>x<elevation>)' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-shave:shave edges (<width>x<height>{%%})' \ - '*-shear:shearing angles (<x>x<y> in degrees)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-solarize:solarization threshold' \ - '*-spread:neighborhood size' \ - '*-swirl:swirl tightness' \ - '*-texture:background texture image:_imagemagick' \ - '*-threshold:threshold for maximum intensity' \ - '*-transparency:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '*-verbose[print image information]' \ - '*-view:FlashPix viewing parameters' \ - '*-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - ;; - - (identify) - _arguments \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-debug' '*-ping' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth[specify image depth]:image depth:(8 16)' \ - '*-format[specify format for image characteristics]:format' \ - '(- *)-help[display help information]' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-verbose[print more detailed info about image]' \ - '*:picture file:_imagemagick' && return - ;; - - (compare) - _arguments \ - '*-authenticate[decrypt image]:password' \ - '*-colorspace[alternate image colorspace]:type' \ - '*-debug[display copious debugging information]:events' \ - '*-define[coder/decoder specific options]:values' \ - '*-density[ horizontal and vertical density of the image]:geometry' \ - '*-depth[image depth]:value' \ - '*-display[get image or font from this X server]:server' \ - '*-endian[multibyte word order]:(LSB MSB Native)' \ - '*-file[write difference image to this file]:file:_files' \ - '(- *)-help[print program options]' \ - '*-highlight-color[color to use when annotating difference pixels]:color' \ - '*-highlight-style[pixel highlight style]:(assign threshold tint xor)' \ - '*-interlace:type:(None Line Plane Partition)' \ - '*-limit:resource limit type and value:(Disk Files Map Memory Pixels)' \ - '*-log[format of debugging information]:format' \ - '*-matte[store matte channel if the image has one]' \ - '*-metric[comparison metric (MAE, MSE, PAE, PSNR, RMSE)]' \ - '*-monitor[show progress indication]' \ - '*-sampling-factor[horizontal and vertical sampling factors]:factors' \ - '*-size[width and height of image]:geometry' \ - '*-type[image type]:type' \ - '*-verbose[print detailed information about the image]' \ - '*-version[print version information]' \ - '*:picture file:_files' && return - ;; - - (*) _message 'unknown' ;; -esac - -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_grep b/result/sw/share/zsh/5.9/functions/_grep deleted file mode 100644 index 2dcbff4a..00000000 --- a/result/sw/share/zsh/5.9/functions/_grep +++ /dev/null @@ -1,142 +0,0 @@ -#compdef grep egrep fgrep bsdgrep rgrep zgrep zegrep zfgrep ggrep gegrep gfgrep gzgrep gzegrep gzfgrep bzgrep bzegrep bzfgrep -value-,GREP_OPTIONS,-default- - -local command variant -local -a arguments matchers - -if [[ $service = *GREP_OPT* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - command=grep -else - arguments=( '(-e --regexp -f --file)1: :_guard "^-*" pattern' ) - if [[ $service = z* ]]; then - arguments+=( '*: :_files -g "*.gz(-.)"' ) - elif [[ $service = bz* ]]; then - arguments+=( '*: :_files -g "*.bz2(-.)"' ) - else - arguments+=( '*: :_files' ) - fi - command="$words[1]" -fi - -if [[ $service != (|g|z|gz|bz)[ef]grep ]]; then - matchers='(--extended-regexp --fixed-strings --basic-regexp --perl-regexp -E -F -G -P)' - arguments+=( - $matchers{--extended-regexp,-E}'[use extended regular expression]' - $matchers{--fixed-strings,-F}'[use literal strings]' - $matchers{--basic-regexp,-G}'[use basic regular expression]' - ) -fi -[[ $service = rgrep ]] || arguments+=( - '(--directories -d -r --recursive)'{--directories=,-d+}'[specify handling of directories]:action on directory:(read skip recurse)' - '(--recursive -r --dereference-recursive -R -d --directories)'{--recursive,-r}'[recurse subdirectories]' -) - -arguments+=( - '(--after-context -A)'{--after-context=,-A+}'[specify lines of trailing context]:lines' - '(--text -a --binary-files -I)'{--text,-a}'[process binary file as if it were text]' - '(--before-context -B)'{--before-context=,-B+}'[specify lines of leading context]:lines' - '(--context -C)'{--context=,-C-}'[specify lines of context]:lines' - '(--color --colour)--'{color,colour}'=-[distinguish matching string]::when:(always never auto)' - '(--byte-offset -b -c)'{--byte-offset,-b}'[print the byte offset with output lines]' - '(--text -a -I)--binary-files=[specify type to assume for binary files]:file type:(binary without-match text)' - '(--count -c --byte-offset -b --line-number -n)'{--count,-c}'[only print a count of matching lines]' - '(--devices -D)'{--devices=,-D+}'[specify handling of devices, FIFOs and sockets]:action on device:(read skip)' - '(1)*'{--regexp=,-e+}'[specify pattern]:pattern' - '(1)*'{--file=,-f+}'[specify pattern file]:file:_files' - '(--with-filename -H --no-filename -h)'{--with-filename,-H}'[print filename with each match]' - '(--no-filename -h --with-filename -H --null -Z --files-without-match -L --file-with-matches -l)'{--no-filename,-h}'[suppress printing of filenames]' - '--label=[provide filename to print for stdin]:filename label for stdin' - '--line-buffered[flush output on every line]' - '(--text -a --binary-files)-I[process binary files as if non-matching]' - '(--ignore-case -i -y)'{--ignore-case,-i,-y}'[case-insensitive]' - '(--files-without-match -L --file-with-matches -l --no-filename -h -o --only-matching)'{--files-without-match,-L}"[output non-matching files' names only]" - '(--files-with-matches -l --files-without-match -L --no-filename -h -o --only-matching)'{--files-with-matches,-l}"[output matching files' names only]" - '(--max-count -m)'{--max-count=,-m+}'[stop after specified no of matches in each file]:max number of matches' - '(--line-number -n -c)'{--line-number,-n}'[prefix output with line numbers]' - '(--only-matching -o --files-with-matches -l --files-without-match -L)'{--only-matching,-o}'[show only matching part of line]' - '(--quiet --silent -q)'{--quiet,--silent,-q}'[suppress normal output]' - '*--include=[examine files matching specified pattern]:file pattern' - '*--exclude=[skip files matching specified pattern]:file pattern' - '*--exclude-dir=[skip directories matching specified pattern]:directory pattern' - '(--no-messages -s)'{--no-messages,-s}'[suppress messages about unreadable or non-existent files]' - '(--version -V)'{--version,-V}'[display version info]' - '(--invert-match -v)'{--invert-match,-v}'[select non-matching lines]' - '(--word-regexp -w --line-regexp -x)'{--word-regexp,-w}'[force pattern to match only whole words]' - '(--line-regexp -x --word-regexp -w)'{--line-regexp,-x}'[force pattern to match only whole lines]' - '(-)--help[display help information]' -) - -_pick_variant -r variant -c "$command" gnu=gnu gpl2=2.5.1 unix --version -case $variant:$OSTYPE in - (gnu:*|gpl2:freebsd*)) - [[ $service != (|g|z|gz|bz)[ef]grep ]] && arguments+=( - $matchers{--perl-regexp,-P}'[use perl regular expression]' - ) - ;| - *:openbsd*|unix:freebsd*) - arguments=( # argument to context is optional and after = only - ${arguments:#((#s)|*\))-(C|-context)*} - '(--context -C)'{--context=-,-C-}'[specify lines of context]::lines' - ) - ;| - (gnu:*|gpl2:(free|net)bsd*)) - arguments+=( - '*--exclude-from=[skip files matching pattern in specified file]:file:_files' - '(-z --null-data)'{-z,--null-data}'[input data separated by 0 byte, not newline]' - ) - ;| - gpl2:(freebsd|darwin)*) - arguments+=( - '(--null --no-filename -h)--null[print 0 byte after each filename]' - '(-Z --decompress -J --bz2decompress)'{-J,--bz2decompress}"[decompress bzip2'ed input before searching]" - '(-Z --decompress -J --bz2decompress)'{-Z,--decompress}"[decompress gzip'ed input before searching]" - ) - ;| - (gpl2:darwin*|unix:freebsd*)) - arguments+=( - '(-p -S)-O[recurse symlinks on the command line]' - "!(-O -S)-p[don't recurse symlinks]" - '(-O -p)-S[recurse all symlinks]' - '*--include-dir=[only search directories matching specified pattern]:directory pattern' - ) - ;| - (gnu:*|gpl2:netbsd*|unix:freebsd*)) - arguments+=( - '(--null -Z --no-filename -h)'{--null,-Z}'[print 0 byte after each filename]' - ) - ;| - gnu:*) - arguments+=( - '(--no-group-separator)--group-separator=[specify separator between blocks of context]:separator [--]' - "(--group-separator)--no-group-separator[don't separate context blocks]" - '(-T --initial-tab)'{-T,--initial-tab}'[make tabs line up (if needed)]' - '(--recursive -r --dereference-recursive -R -d --directories)'{--dereference-recursive,-R}'[recurse subdirectories, following symlinks]' - ) - ;; - unix:freebsd*) - arguments+=( - '!(-U --binary --binary-files)'{-U,--binary} - '--mmap[use mmap(2) instead of read(2) to read input]' - ) - [[ $service = rgrep ]] || arguments+=( - '(--recursive -r -d --directories)-R[recurse subdirectories]' - ) - ;; - gpl2:*) arguments=( ${${arguments:#*\)-r}/\)-r/\)-R} ) ;; - *:openbsd*) - arguments=( - ${(M)arguments:#((#s)|*\))--(context|binary-files|line-buffered|label|max-count)*} - ${${arguments:#((#s)|*\))(\*|)-[d-]*}/\)-r/\)-R} - "-U[search binary files but don't print them]" - '-Z[behave as zgrep]' - ) - ;; - *) - # remove long options and GNU specific short opts, this is right for solaris - arguments=( ${arguments:#((#s)|*\))(\*|)-[aABCdDfGHILmorVy-]*} ) - ;; -esac - -_arguments -S -s $arguments[@] diff --git a/result/sw/share/zsh/5.9/functions/_grep-excuses b/result/sw/share/zsh/5.9/functions/_grep-excuses deleted file mode 100644 index 972bd18c..00000000 --- a/result/sw/share/zsh/5.9/functions/_grep-excuses +++ /dev/null @@ -1,8 +0,0 @@ -#compdef grep-excuses - -_arguments \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any config files]' \ - '(--wipnity -w)'{--wipnity,-w}'[get information from release.debian.org]' \ - '--version[display version information]' \ - '--help[display help information]' \ - ':package:_deb_packages avail' diff --git a/result/sw/share/zsh/5.9/functions/_groff b/result/sw/share/zsh/5.9/functions/_groff deleted file mode 100644 index d78d6540..00000000 --- a/result/sw/share/zsh/5.9/functions/_groff +++ /dev/null @@ -1,45 +0,0 @@ -#compdef groff - -local _troff_options - -_troff_options=('-a[ascii approximation of output]' - '-b[backtrace on error or warning]' - '-c[disable color output]' - '-C[enable compatibility mode]' - '*-d[define string]:definition:' - '-E[disable troff error messages]' - '-f[set default font family]:font family:' - '-F[set path for font DESC files]:path:' - '-i[process standard input after specified input files]' - '-m[include macro file]:name:(man mandoc mdoc me mm ms www)' - '-M[dir path for macro files]:path:' - '-n[number for the first page]:number:' - '-o[output only pages in list]:list:' - '*-r[set number register]:setting:' - '*-w[enable warning name]:name:' - '*-W[disable warning name]:name') - -_arguments \ - '-e[preprocess with eqn]' \ - '-g[preprocess with grn]' \ - '-G[preprocess with grap]' \ - '(-h --help)'{-h,--help}'[help]' \ - '-I[add search dir for soelim]:directory:_files -/' \ - '-l[send output to spooler program for printing]' \ - '*-L[pass arg to spooler program]:spooler argument:' \ - "-N[don't allow newlines within eqn delimiters]" \ - '-p[preprocess with pic]' \ - '*-P[pass option to postprocessor]:option:' \ - '-R[preprocess with refer]' \ - '-s[preprocess with soelim]' \ - '(-U)-S[safer mode]' \ - '-t[preprocess with tbl]' \ - '-T[set output device]:device:((ascii\:ASCII\ character\ set cp1047\:EBDIC\ code\ page\ IBM\ cp1047 nippon\:Japanese-EUC\ character\ set dvi\:TeX\ DVI\ format html\:HTML\ output ascii8\:8-bit\ clean latin1\:ISO\ 8859-1 lbp\:Canon\ CAPSL\ printers lj4\:HP\ LaserJet4-compatible\ printers ps\:PostScript\ output utf8\:Unicode\ \(ISO\ 10646\)\ character\ set X75\:75dpi\ X\ Window\ System\ output X75-12\:75dpi\ X\ Window\ System\ output\ \(12pt\) X100\:100dpi\ X\ Window\ System\ output X100-12\:100dpi\ X\ Window\ System\ output\ \(12pt\)))' \ - '(-S)-U[unsafe mode]' \ - '(-v --version)'{-v,--version}'[version]' \ - '-V[output the pipeline that would be run but do not execute]' \ - '-X[use gxditview instead of the usual postprocessor]' \ - '-z[suppress output generated by troff]' \ - '-Z[do not postprocess the output of troff]' \ - "$_troff_options[@]" \ - ':file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_groups b/result/sw/share/zsh/5.9/functions/_groups deleted file mode 100644 index c5e5aaf8..00000000 --- a/result/sw/share/zsh/5.9/functions/_groups +++ /dev/null @@ -1,28 +0,0 @@ -#compdef newgrp groupdel - -local expl groups tmp - -_tags groups || return 1 - -if ! zstyle -a ":completion:${curcontext}:" groups groups; then - (( $+_cache_groups )) || - if [[ $OSTYPE = darwin* ]]; then - if (( ${+commands[lookupd]} )); then - : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups lookupd -q group)"}:#name*}##*: }} - elif (( ${+commands[dscacheutil]} )); then - : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups dscacheutil -q group)"}:#name*}##*: }} - fi - elif (( ${+commands[getent]} )); then - : ${(A)_cache_groups:=${${(f)"$(_call_program groups getent group 2>/dev/null)"}%%:*}} - else - : ${(A)_cache_groups:=${${${(f)"$(</etc/group)"}%%:*}:#+}} - if (( ${+commands[ypcat]} )) && - tmp=$(_call_program groups ypcat group.byname 2>/dev/null); then - _cache_groups+=( ${${(f)tmp}%%:*} ) # If you use YP - fi - fi - - groups=( "$_cache_groups[@]" ) -fi - -_wanted groups expl group compadd -a "$@" - groups diff --git a/result/sw/share/zsh/5.9/functions/_growisofs b/result/sw/share/zsh/5.9/functions/_growisofs deleted file mode 100644 index 206d2c2c..00000000 --- a/result/sw/share/zsh/5.9/functions/_growisofs +++ /dev/null @@ -1,345 +0,0 @@ -#compdef mkisofs growisofs - -local context state line -typeset -A opt_args - -declare -a find_options - -find_options=( - '( -L -P)-H[follow symbolic links encountered on the command line]' - '(-H -P)-L[follow all symbolic links]' - '(-H -L )-P[do not follow symbolic links (default)]' - '(- *)-help[print -find help]' - '(- *)-version[print -find version]') - -local find_paths -find_paths='*: :_directories' - -declare -a find_operators - -find_operators=( - '*-a[logical and of options]' - '*-o[logical or of options]') - -declare -a find_expressions - -# TODO: Modes (see _chmod) -# TODO: Ranges -# TODO: The -type types should be documented correctly and only include D on -# Solaris systems (?) -# TODO: --sfm is only available on NT systems (i.e., cygwin?) -find_expressions=( - '*-acl[true if the file has additional ACLs defined]' - '*-atime[true if the last-access time is in the specified range]:range' - '*-chgrp[change group of file]:group:_group' - '*-chmod[change mode of file]:mode' - '*-chown[change user of file]:user:_user' - '*-ctime[true if the inode-change time is in the specified range]:range' - '*-depth[evaluate directory contents before directory itself]' - '*-dostat[do not do stat optimization]' - '*-exec[execute program on found file]:program: _command_names -e:*\;::program arguments: _normal' - '*-false[always false]' - '*-fstype[true if the file is on a file system of the given type]:file-system type:_file_systems' - '*-group[true if the file is owned by the given group]:group:_groups' - '*-inum[true if the inode of the file is in the specified range]:inode range' - '*-linkedto[true if the file is linked to the given file]:file:_files' - '*-links[true if the file has a number of links to it in the specified range]:number of links' - '*-lname[true if symbolic-link name matches the given glob]:glob' - '*-local[true if the file is on a local file-system]' - '*-lpat[true if symbolic-link name matches the given pattern]:pattern' - '*-ls[list found files]' - '*-maxdepth[descend at most the given number of directories deep]:maximum search depth:' - '*-mindepth[descend at least the given number of directories deep]:minimum search depth' - '*-mtime[true if the last-modification time is in the specified range]:range' - '*-name[true if file-name matches the given glob]:glob' - '*-newer[true if last-modification time is newer than that of the given file]:file:_files' - '*-neweraa[true if the last-access time is newer than that of the given file]:file:_files' - '*-newerac[true if the last-access time is newer than the inode-change time of the given file]:file:_files' - '*-neweram[true if the last-access time is newer than the last-modification time of the given file]:file:_files' - '*-newerca[true if the inode-change time is newer than the last-access time of the given file]:file:_files' - '*-newercc[true if the inode-change time is newer than that of the given file]:file:_files' - '*-newercm[true if the inode-change time is newer than the last-modification time of the given file]:file:_files' - '*-newerma[true if the last-modification time is newer than the last-access time of the given file]:file:_files' - '*-newermc[true if the last-modification time is newer than the inode-change time of the given file]:file:_files' - '*-newermm[true if the last-modification time is newer than that of the given file]:file:_files' - '*-nogroup[true if the group of the file is not in the group database]' - '*-nouser[true if the user of the file is not in the user database]' - '*-ok[execute program on found file, after confirmation]:program: _command_names -e:*\;::program arguments: _normal' - '*-pat[true if the file-name matches the given pattern]:pattern' - '*-path[true if the full path matches the given glob]:glob' - '*-perm[true if the given symbolic or octal permission matches that of the file]:mode' - '*-ppat[true if the full path matches the given pattern]:pattern' - '*-print[print filenames to stdout separated by newlines]' - '*-printnnl[print filenames to stdout separated by spaces]' - '*-prune[do not descend into found directory]' - '*-size[true if the size of the file is in the given range]:range' - '*-sparse[true if the file appears to be sparse]' - '*-true[always true]' - '*-type[true if the file is of the given type]:file type:((b\:"block (buffered) special" - c\:"character (unbuffered) special" - d\:directory - p\:"named pipe (FIFO)" - f\:"regular file" - l\:"symbolic link" - s\:socket - D\:"door (Solaris)" - e\:unknown))' - '*-user[true if the file is owned by the given user]:user:_users' - '*-xattr[true if the file has extended attributes]' - '*'{-xdev,-mount}'[restrict the search to the current file-system]') - -(( $+_cache_mkisofs_find_primaries_not_taking_an_argument )) || -_cache_mkisofs_find_primaries_not_taking_an_argument=(\) ${${${find_expressions:#\*-*\[*\]:*}#\*}%%\[*}) - -(( $+_cache_mkisofs_find_primaries_taking_an_argument )) || -_cache_mkisofs_find_primaries_taking_an_argument=(${${${(M)find_expressions:#\*-*\[*\]:*}#\*}%%\[*}) - -(( $+functions[_mkisofs_character_sets] )) || -_mkisofs_character_sets () { - local expl character_sets - character_sets=${${(f)"$(_call_program character-sets mkisofs -input-charset help 2>&1)"}[3,-1]} - _wanted character-sets expl 'character set' compadd - $character_sets -} - -(( $+functions[_mkisofs_sparc_boot_images] )) || -_mkisofs_sparc_boot_images () { - compset -P '*,' - sep='-qS,' - [[ $words[CURRENT] == ?*,?*,?*,?*,?*,?*,* ]] && sep= - _alternative \ - "boot-images:boot image:_files $sep" \ - 'boot-image-replications:boot-image replication:((...\:"use the previous boot-image for the rest of the partitions"))' -} - -# TODO: Need to escape = in the result. -(( $+functions[_mkisofs_pathspec] )) || -_mkisofs_pathspec () { - local sep - if (( $words[(I)-graft-points] )); then - if ! compset -P 1 '*[^\\]\='; then - sep='-qS=' - fi - fi - _files $sep -} - - -integer index_of_find -(( index_of_find = $words[(I)-find] )) - -if (( index_of_find > 0 && index_of_find < CURRENT )); then - if (( $words[(I)-help] || $words[(I)-version] )); then - _message 'no more arguments' - elif (( index_of_find == CURRENT - 1 )); then - _arguments \ - $find_options \ - $find_paths \ - $find_expressions - elif ((( index_of_find == CURRENT - 2 )) && - [[ $words[CURRENT-1] == -([HLP]|-(help|version)) ]]) || - [[ -d $words[CURRENT-1] ]]; then - # TODO: all $words[index_of_find,CURRENT-1] must be -d. - # But we can perhaps assume that the user hasn't gone back and changed an - # argument without thinking about it carefully...otherwise, all previous - # words of interest will have passed the -d test. - _arguments \ - $find_paths \ - $find_expressions - else - integer i - (( i = index_of_find + 1 )) - while [[ $words[i] == -([HLP]|-(help|version)) ]]; do - (( i++ )) - done - while [[ -d $words[i] ]]; do - (( i++ )) - done - words=($words[1,index_of_find] $words[i,-1]) - (( CURRENT -= i - index_of_find - 1 )) - echo one: $i - $CURRENT - $words > /dev/pts/8 - integer old_words_length - (( old_words_length = $#words )) - words=(${words:#\\[()\!]}) - (( CURRENT -= old_words_length - $#words )) - echo two: $i - $CURRENT - $words > /dev/pts/8 - _arguments \ - $find_operators \ - $find_expressions - fi - # elif (( $_cache_mkisofs_find_primaries_not_taking_an_argument[(I)$words[CURRENT-1]] || - # $_cache_mkisofs_find_primaries_taking_an_argument[(I)$words[CURRENT-2]] )); then - # _arguments \ - # $find_operators \ - # $find_expressions \ - # '*:fuck: ' - # echo 3 > /dev/pts/7 - # else - # _arguments \ - # $find_expressions \ - # '*:fuck: ' - # echo 4 > /dev/pts/7 - # fi -else - declare -a growisofs_options - - if [[ $service == growisofs ]]; then - growisofs_options=( - '-Z[burn an initial session to the selected device]:device:->devimg' - '-M[merge a session with an existing one on the selected device]:device:->devimg' - '-dvd-compat[provide maximum compatibility with DVD-ROM/Video]' - '-dry-run[do everything up to the actual burning process]' - '-overburn[allow overburning of the media]' - '-speed=-[set recording speed]:speed') - fi - - # TODO: -M device and -dev device - _arguments \ - '-abstract[specify the abstract file-name]:file:_files' \ - '-A[specify application id]:application id' \ - {-allow-leading-dots,-ldots}'[allow ISO9660 filenames to begin with a period]' \ - '-allow-lowercase[allow lower-case characters in ISO9660 filenames]' \ - '-allow-multidot[allow more than one dot in ISO9660 filen-names]' \ - '-biblio[specify the bibliographic file-name]:file:_files' \ - '(-no-cache-inodes )-cache-inodes[cache inode and device numbers to find hard links to files]' \ - '( -cache-inodes)-no-cache-inodes[do not cache inode and device numbers]' \ - '-b[specify path and file-name of a el torito boot-image]:boot image:_files' \ - '-eltorito-alt-boot[start a new set of el torito boot parameters]' \ - {-B,-sparc-boot}'[specify comma-separated list of boot images needed for sparc systems]:boot image:_mkisofs_sparc_boot_images' \ - '-G[specify path and file-name of a generic boot-image]:boot image:_files' \ - '-hard-disk-boot[specify that the el torito boot-image is a hard-disk image]' \ - '-no-emul-boot[specify that the el torito boot-image is a "no emulation" image]' \ - '-no-boot[specify that the el torito CD should be marked non-bootable]' \ - '-boot-load-seg[specify the load-segment address of the boot-image for a "no emulation" image]:segment address' \ - '-boot-lead-size[specify the number of 512-byte sectors to load in "no emulation" mode]:load sectors' \ - '-boot-info-table[specify that a 56-byte table of CD-ROM-layout information should be written]' \ - '-C[specify last session start and next session start addresses for CDextra]' \ - '-c[specify the path and file-name of a boot catalog to be used for an el torito bootable-CD]' \ - '-check-oldnames[check all filenames imported from an old session against current rules]' \ - '-check-session[check old session for compliance against current rules]' \ - '-copyright[specify the path and file-name of the copyright file]' \ - '-d[omit trailing period from files that do not have a period]' \ - "-D[don't use deep directory-reallocation]" \ - '-dir-mode[specify the mode of directories]' \ - '-dvd-video[generate a DVD-Video compliant UDF file-system]' \ - '-f[follow symbolic links when generating the file system]' \ - '-file-mode[specify the mode of regular files]' \ - '-find[the rest of the command line is treated like a find expression]' \ - '-gid[use the given group-id for files in the image]:group:_groups' \ - '-gui[behave favorable towards a GUI]' \ - '-graft-points[allow graft-points in filenames]' \ - '*-hide[hide files and directories matching the given glob on the image]:glob' \ - '-hide-list[hide files and directories found in the given file]:file-list file:_files' \ - '-hide-joliet[hide files and directories matching the given glob in the Joliet tree of the image]:glob' \ - '-hide-joliet-trans-tbl[hide the TRANS.TBL files from the Joliet tree]' \ - '-hide-rr-moved[rename the RR_MOVED directory to .rr_moved in the Rock Ridge tree]' \ - '-input-charset[specify the character set of source files]:character set:_mkisofs_character_sets' \ - '-output-charset[specify the character set of files in the Rock Ridge tree]:_mkisofs_character_sets' \ - '-iso-level[specify ISO9660 conformance level]:ISO9660 conformance level:(1 2 3 4)' \ - '-J[generate a Joliet tree]' \ - '-joliet-long[generate a Joliet tree allowing filenames up to 103 characters long]' \ - '-jcharset[specify the character set of files in the Joliet tree]:_mkisofs_character_sets' \ - '-l[allow full 31-character filenames]' \ - '-log-file[write all output to the given file]:log file:_files' \ - '-m[exclude files matching the given glob from the image]:glob' \ - '-exclude-list[exclude files matching globs in the given file]:glob file:_files' \ - '-max-iso9660-filenames[allow 37-character ISO9660-filenames]' \ - '-M[specify path or device to existing ISO9660 image to merge with]:ISO9660 image:_files' \ - '-dev[specify device of existing ISO9660 image to merge with]:ISO9660 device' \ - '-N[omit version numbers from ISO9660 filenames]' \ - '-new-dir-mode[mode to use when creating directories in the ISO9660 image]:mode' \ - {-nobak,-no-bak}'[do not include backup files on the ISO9660 file-system]' \ - '-force-rr[do not use the automatic Rock Ridge attribute-recognition for previous sessions]' \ - '-no-rr[do not use use the Rock Ridge attributes from previous sessions]' \ - "-no-split-symlink-components[don't split the symbolic-link components]" \ - '-no-split-symlink-fields[do not split the symbolic-link fields]' \ - '-o[output the ISO9660-file-system image to the given file]:ISO9660 image:_files' \ - '-pad[pad the end of the image by 150 sectors]' \ - '-no-pad[do not pad the end of the image by 150 sectors]' \ - '-path-list[read directory and file-name pathspecs from the given file]' \ - '-publisher[specify what should be written in the publisher volume-header]' \ - '-p[specify what should be written in the preparer volume-header]' \ - '-print-size[print estimated file-system-size in multiples of the sector size and exit]' \ - '-quiet[output even less information than usual]' \ - '-R[generate SUSP and RR records using the Rock-Ridge protocol]' \ - '-r[same as -R, but with more useful UID and GID values]' \ - '-relaxed-filenames[allow more characters in ISO9660 filenames]' \ - '-root[move all files and directories into the given directory on the image]:root directory:_directories' \ - '-rrip110[create ISO9660-file-system images that follow the Rrip v1.10 standard]' \ - '-rrip112[create ISO9660-file-system images that follow the Rrip v1.12 standard]' \ - '-old-root[specify the root directory used in a previous session]:old root-directory:_directories' \ - '-sort[sort files on the image based on weights defined in the given file]:sort-weighting file:_files' \ - '-sparc-label[set the sun disk-label-name used for the -sparc-boot option]:label' \ - '-split-output[split the output image into several files ~1GiB in size]' \ - '-stream-media-size[enable streaming operation and set media size to given number of sectors]:media size (sectors)' \ - '-stream-file-name[reserved for future use]:name' \ - '-sunx86-boot[specify a comma-separated list of file-system images needed to make a bootable Solaris-x86-CD]:list' \ - '-sunx86-label[specify the SVr4 disk-label-name for the SVr4 disk-label created with the -sunx86-boot option]:label' \ - '-sysid[specify the system ID]' \ - '-T[generate a TRANS.TBL file in each directory on the image]' \ - '-table-name[alternative translation-table filename]:translation-table filename:_files' \ - '-ucs-level[specify Unicode conformance-level in the Joliet directory]:Unicode conformance-level:(1 2 3)' \ - '-udf[include UDF support in the generated file-system image]' \ - '-uid[use the given user-id for files in the image]:user:_users' \ - '-use-fileversions[use version numbers found on the file system for files included in the image]' \ - '-U[allow basically any characters in filenames in the ISO9660 image]' \ - "-no-iso-translate[do not translate invalid characters '#' and '~' for ISO9660 filenames]" \ - '-V[specify the volume ID]:volume ID' \ - '-volset[specify the volume-set ID]:volume-set ID' \ - '-volset-size[specify the size of the volume-set]:volume-set size' \ - '-volset-seqno[specify the volume-set sequence-number]:volume-set sequence-number' \ - '*-v[enable verbose execution (given twice produces additional output)]' \ - '*-x[exclude complete pathname from the image]:path:_directories' \ - '-z[generate special RRIP records for transparently compressed files]' \ - '-hfs[create a ISO9660/HFS-hybrid CD]' \ - '-apple[create an ISO9660 CD with apple extensions]' \ - '-map[use the given file to map CREATOR and TYPE information for a file based on extension]:mapping file:_files' \ - '-magic[the CREATOR and TYPE information is set using the magic number of the file]:magic file:_files' \ - '-hfs-creator[specify the default CREATOR for all files in the image]:creator' \ - '-hfs-type[specify the default TYPE for all files in the image]:type' \ - '-probe[search the contents of files for known Apple/Unix file-formats]' \ - '-no-desktop[do not create (empty) Desktop files]' \ - '-map-name[use the HFS filename as the starting point for the image filenames]' \ - '-boot-hfs-file[use the given file as a boot driver]:boot-driver file:_files' \ - '-part[generate an HFS partition table]' \ - '-auto[make the HFS CD auto-start with the given file]:auto-start file:_files' \ - '-cluster-size[set the size in bytes of allocation units of PC-Exchange files]:cluster size' \ - '-hide-hfs[hide files matching the given glob from the HFS volume]:glob' \ - '-hide-hfs-list[hide files matching any of the globs found in the given file]:glob file:_files' \ - '-hfs-volid[volume name for the HFS partition]:HFS volume-name' \ - '-icon-position[use the icon-position information from the Apple/Unix file]' \ - '-root-info[set metadata for the root folder of the HFS volume]' \ - '*-prep-boot[specify the PReP boot-image-file]:PReP boot-image-file:_files' \ - '-input--hfs-charset[specify the character set used in HFS filenames]:character set:_mkisofs_character_sets' \ - '-output-hfs-charset[specify the character set of files in the HFS volume]:_mkisofs_character_sets' \ - '-hfs-unlock[do not lock the HFS volume]' \ - '-hfs-bless["bless" the given directory/folder]' \ - '-hfs-params[override certain parameters used to create the HFS file system]:parameters' \ - '--cap[look for AUFS CAP Macintosh files]' \ - '--netatalk[look for NETATALK Macintosh files]' \ - '--double[look for AppleDouble Macintosh files]' \ - '--ethershare[look for Helios EtherShare Macintosh files]' \ - '--ushare[look for IPT UShare Macintosh files]' \ - '--exchange[look for PC Exchange Macintosh files]' \ - '--sgi[look for SGI Macintosh files]' \ - '--xinet[look for XINET Macintosh files]' \ - '--macbin[look for MacBinary Macintosh files]' \ - '--single[look for AppleSingle Macintosh files]' \ - '--dave[look for Thursby Software Systems DAVE Macintosh files]' \ - "--sfm[look for Microsoft's Services for Macintosh files]" \ - '--osx-double[look for MacOS X AppleDouble Macintosh files]' \ - '--osx-hfs[look for MacOS X HFS Macintosh files]' \ - '(- *)-help[display help message]' \ - '(- *)-version[display version information]' \ - $growisofs_options \ - '*:pathspec:_mkisofs_pathspec' && return 0 - - case "$state" in - (devimg) - if compset -P 1 '*='; then - _files - else - _files -g "*(%,@)" - fi - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_gsettings b/result/sw/share/zsh/5.9/functions/_gsettings deleted file mode 100644 index 2724be0e..00000000 --- a/result/sw/share/zsh/5.9/functions/_gsettings +++ /dev/null @@ -1,50 +0,0 @@ -#compdef gsettings - -local curcontext="$curcontext" state line expl ret=1 -local subcmds - -_arguments -A "-*" \ - '(- 1 *)--version[show version information]' \ - '--schemadir[specify location of schemata]:directory:_directories' \ - ':command:->subcmds' \ - '*::args:->subargs' && ret=0 - -if [[ $state = subargs ]]; then - curcontext="${curcontext%:*}-$words[1]:" - case $words[1] in - help) state=subcmds;; - describe|get|range|reset|writable|monitor) - _arguments ':schema:->schemata' ':key:->keys' - ;; - set) - _arguments ':schema:->schemata' ':key:->keys' ':value' - ;; - (list|reset)-(keys|recursively|children)) state=schemata ;; - list-schemas) - _arguments '--print-paths' - ;; - *) _default && ret=0 ;; - esac -fi - -case $state in - subcmds) - subcmds=( ${(L)${${(M)${${(f)"$(_call_program commands $service help)"}[(r)Commands:*,-2]}:# *}#??}/ ##/:} ) - _describe -t commands 'command' subcmds -M 'r:?|-=* r:|=*' && ret=0 - state='' - ;; - schemata) - if compset -P 1 '*:'; then - _directories && ret=0 - else - _wanted schemata expl 'schema' compadd -M 'r:|.=* r:|=*' \ - $(_call_program schemata $service list-schemas) && ret=0 - fi - ;; - keys) - _wanted keys expl 'key' compadd \ - $(_call_program keys $service list-keys $words[CURRENT-1]) && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_gstat b/result/sw/share/zsh/5.9/functions/_gstat deleted file mode 100644 index 238defce..00000000 --- a/result/sw/share/zsh/5.9/functions/_gstat +++ /dev/null @@ -1,14 +0,0 @@ -#compdef gstat - -_arguments -s : \ - '-a[only display providers that are at least 0.1% busy]' \ - '(-B)-b[batch mode]' \ - '(-b)-B[endless batch mode]' \ - '-c[enable the display geom(4) consumers]' \ - '(-b -B)-C[CSV output mode]' \ - '-d[enable the display delete operations]' \ - '-f+[filter by regex]:regex' \ - '-o[enable the display for other operations]' \ - "-s[enable blocks' size statistics]" \ - '-I+[display refresh rate]:interval (ms)' \ - '-p[only display physical providers]' diff --git a/result/sw/share/zsh/5.9/functions/_guard b/result/sw/share/zsh/5.9/functions/_guard deleted file mode 100644 index 1cbd4f39..00000000 --- a/result/sw/share/zsh/5.9/functions/_guard +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local garbage - -zparseopts -K -D -a garbage M+: J+: V+: 1 2 o+: n F: X+: - -[[ "$PREFIX$SUFFIX" != $~1 ]] && return 1 - -shift -_message -e "$*" - -[[ -n "$PREFIX$SUFFIX" ]] diff --git a/result/sw/share/zsh/5.9/functions/_guilt b/result/sw/share/zsh/5.9/functions/_guilt deleted file mode 100644 index 10455867..00000000 --- a/result/sw/share/zsh/5.9/functions/_guilt +++ /dev/null @@ -1,43 +0,0 @@ -#compdef guilt guilt-add guilt-applied guilt-delete guilt-files guilt-fold guilt-fork guilt-header guilt-help guilt-import-commit guilt-import guilt-init guilt-new guilt-next guilt-patchbomb guilt-pop guilt-prev guilt-push guilt-rebase guilt-refresh guilt-rm guilt-series guilt-status guilt-top guilt-unapplied - -local -a _guilt_commands - -_guilt_commands=( -'add:add a file to git and guilt' -'applied:list applied patches' -'delete:delete a patch' -'files:print the list of files that the topmost patch changes' -'fold:fold a specified patch into the topmost applied patch' -'fork:fork the topmost applied patch' -'header:print a patch header' -'help:open man page of a guilt command' -'import-commit:import one or more commits as patches' -'import:import specified patch file' -'init:initialize guilt for use in a git repository' -'new:create a new patch' -'next:output the name of next patch to be pushed' -'patchbomb:email a series of commits interactively' -'pop:pop patches from the tree' -'prev:output name of second topmost applied patch' -'push:push patches onto the tree' -'rebase:rebase pushed patches' -'refresh:refresh topmost applied patch' -'rm:remove a file from the git tree and guilt' -'series:print the stack of patches' -'status:print the status of files since the last refresh' -'top:output name of topmost applied patch' -'unapplied:list all unapplied patches' -) - -case "$service" in - (guilt) - if (( CURRENT == 2 )); then - _describe -t commands 'guilt command' _guilt_commands && ret=0 - else - _files - fi - ;; - (*) - _files - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_gv b/result/sw/share/zsh/5.9/functions/_gv deleted file mode 100644 index 9b11ad31..00000000 --- a/result/sw/share/zsh/5.9/functions/_gv +++ /dev/null @@ -1,44 +0,0 @@ -#compdef gv - -_arguments \ - '-geometry:geometry:_x_geometry' \ - '(--nosafer)--safer' \ - '(--safer)--nosafer' \ - '(--noquiet)--quiet' \ - '(--quiet)--noquiet' \ - '(--nocenter)--center' \ - '(--center)--nocenter' \ - '(--noswap)--swap' \ - '(--swap)--noswap' \ - '(--noantialias)--antialias' \ - '(--antialias)--noantialias' \ - '(--nodsc)--dsc' \ - '(--dsc)--nodsc' \ - '(--noeof)--eof' \ - '(--eof)--noeof' \ - '(--nopixmap)--pixmap' \ - '(--pixmap)--nopixmap' \ - '(--nowatch)--watch' \ - '(--watch)--nowatch' \ - '(--noresize)--resize' \ - '(--resize)--noresize' \ - '(--monochrome --color)--grayscale' \ - '(--grayscale --color)--monochrome' \ - '(--landscape --seascape --upsidedown)--portrait' \ - '(--portrait --seascape --upsidedown)--landscape' \ - '(--portrait --landscape --upsidedown)--seascape' \ - '(--portrait --landscape --seascape)--upsidedown' \ - -{h,v} \ - -{,-}{help,version} \ - -{,-}{spartan,widgetless,presentation,fullscreen} \ - -{,-}{infoSilent,infoErrors,infoAll} \ - -{,-}'password=:password:' \ - '--arguments=:ghostscript arguments:' \ - '--page=:label of first page:' \ - '--media=:page size:(Letter Legal Statement Tabloid Ledger Folio Quarto 10x14 Executive A3 A4 A5 B4 B5)' \ - '--orientation=:orientation:(landscape seascape upsidedown portrait)' \ - '--scale=:scale entry:' \ - '--scalebase=:scale base:' \ - '--ad=:resource file:_files' \ - '--style=:resource file:_files' \ - '*:file: _pspdf -z' diff --git a/result/sw/share/zsh/5.9/functions/_gzip b/result/sw/share/zsh/5.9/functions/_gzip deleted file mode 100644 index 8354b34d..00000000 --- a/result/sw/share/zsh/5.9/functions/_gzip +++ /dev/null @@ -1,112 +0,0 @@ -#compdef gzip gunzip gzcat=gunzip pigz unpigz -redirect-,<,gunzip=gunzip -redirect-,>,gzip=gunzip -redirect-,<,gzip=gzip -value-,GZIP,-default- - -local decompress files expl curcontext="$curcontext" state line ret=1 -local -a pigz -typeset -A opt_args -local excl="--decompress --uncompress -1 -2 -3 -4 -5 -6 -7 -8 -9 -11 --best" - -files=( '*:files:->files' ) -case "$service" in -unpigz|pigz) - pigz=( - '(-A --alias)'{-A+,--alias=}'[specify filename to use in zip entry for stdin]:filename' - '(-C --comment)'{-C+,--comment=}'[put specified comment in the gzip or zip header]' - '(-H --huffman -U --rle)'{-H,--huffman}'[use only Huffman coding for compression]' - '(-U --rle -H --huffman)'{-U,--rle}'[use run-length encoding for compression]' - '(-K --zip -z --zlib)'{-K,--zip}'[compress to PKWare zip format]' - '(-b --blocksize)'{-b+,--blocksize}'[set compression block size]:size (KiB)' - '(-p --processes)'{-p,--processes}'[specify number of processes to use]' - '(-z --zlib -K --zip)'{-z,--zlib}'[compress to zlib (.zz) format]' - '(-m --no-time)'{-m,--no-time}"[don't store/restore modification time in/from header]" - '(-M --time)'{-M,--time}"[store/restore modification time in/from header]" - '(--synchronous)-Y[force output file write to permanent storage]' - ) -;| -pigz) - pigz+=( - '(-i --independent)'{-i,--independent}'[compress blocks independently to allow for damage recovery]' - "($excl)-11" - '(--rsyncable)-R[make rsync-friendly archive]' - "($excl)"{-F,--first}'[do iterations first, before block split]' - "($excl)"{-I+,--iterations}'[specify number of iterations for optimization]:iterations [15]' - "($excl)"{-J+,--maxsplits}'[specify maximum number of split blocks]:split blocks [15]' - "($excl)"{-O,--oneblock}"[don't split into smaller blocks]" - ) -;| -*GZIP*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - files=() - ;& -gunzip|zcat|unpigz) - decompress=yes - ;& -gzip|pigz) - _arguments -C -s -S \ - '(--to-stdout --stdout)-c[write on standard output]' \ - '(-c --stdout)--to-stdout[write on standard output]' \ - '(-c --to-stdout)--stdout[write on standard output]' \ - "($excl)"{-d,--decompress,--uncompress}'[decompress]' \ - '(--force)-f[force overwrite]' \ - '(-f)--force[force overwrite]' \ - '(- *)'{-h,--help}'[display help message]' \ - "(--keep)-k[don't delete input files]" \ - "(-k)--keep[don't delete input files]" \ - '(--list)-l[list compressed file contents]' \ - '(-l)--list[list compressed file contents]' \ - '(- *)'{-L,--license}'[display software license]' \ - "(--no-name)-n[don't save or restore the original name and time stamp]" \ - "(-n)--no-name[don't save or restore the original name and time stamp]" \ - '(--name)-N[save or restore the original name and time stamp]' \ - '(-N)--name[save or restore the original name and time stamp]' \ - '(--quiet --silent)-q[suppress all warnings]' \ - '(-q --silent)--quiet[suppress all warnings]' \ - '(-q --quiet)--silent[suppress all warnings]' \ - '(--recursive)-r[operate recursively on directories]' \ - '(-r)--recursive[operate recursively on directories]' \ - '(-R)--rsyncable[make rsync-friendly archive]' \ - '(--suffix)-S+[specify suffix for compressed files]:suffix:' \ - '(-S)--suffix=[specify suffix for compressed files]:suffix:' \ - '(-Y)--synchronous[force output file write to permanent storage]' \ - '(--test)-t[test compressed file integrity]' \ - '(-t)--test[test compressed file integrity]' \ - '(--verbose)-v[verbose mode]' \ - '(-v)--verbose[verbose mode]' \ - '(- *)'{-V,--version}'[display version number]' \ - "($excl)"-{-fast,1,2,3,4,5,6,7,8,9,-best} \ - "$pigz[@]" "$files[@]" && ret=0 - ;; -esac - -case "$state" in -files) - (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[--uncompress] || - $+opt_args[-l] || $+opt_args[--list] || - $+opt_args[-t] || $+opt_args[--test] )) && - decompress=yes - if (( $+opt_args[-r] || $+opt_args[--recursive] )); then - if [[ -z "$decompress" ]]; then - _description directories expl 'directory to compress' - _files "$expl[@]" -/ && return - else - _description directories expl 'compressed directory' - _files "$expl[@]" -/ && return - fi - else - if [[ -z "$decompress" ]]; then - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(([tT]|)[gG]|)[zZ](-.)' && return - else - _description files expl 'compressed file' - if (( $+opt_args[-f] )); then - _files "$expl[@]" && return - else - _files "$expl[@]" -g '*.(([tT]|)[gG]|)[zZ](-.)' && return - fi - fi - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_hash b/result/sw/share/zsh/5.9/functions/_hash deleted file mode 100644 index d4bb59d2..00000000 --- a/result/sw/share/zsh/5.9/functions/_hash +++ /dev/null @@ -1,41 +0,0 @@ -#compdef hash rehash - -local state line expl common_args curcontext="$curcontext" ret=1 -typeset -A opt_args - -common_args=( \ - '-d[use named directory hash table]' \ - '(-r -m -v)-f[rebuild hash table]' ) - -case ${service} in - hash) - _arguments -C -s -S \ - '(-f -m -v)-r[empty hash table]' \ - '(-f -r)-m[treat arguments as patterns]' \ - '(-f -r -m)-v[list entries as they are added]' \ - '(-f -r -v)-L[list in the form of calls to hash]' \ - "${common_args[@]}" \ - '(-d -f -r -m -v -L)*:hash:->hashval' && ret=0 - ;; - rehash) - _arguments -C -s ${common_args[@]} && return 0 - ;; -esac - -if [[ $state = hashval ]]; then - if (( $+opt_args[-d] )); then - if compset -P 1 '*='; then - _wanted -C value files expl directories _path_files -/ && ret=0 - else - _wanted -C name named-directories expl 'named directory' \ - compadd -q -S '=' -k nameddirs && ret=0 - fi - elif compset -P 1 '*='; then - _wanted -C value values expl 'executable file' _files -g '*(-*)' && ret=0 - else - curcontext="${curcontext%:*}:name" - _path_commands -q -S '=' && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_have_glob_qual b/result/sw/share/zsh/5.9/functions/_have_glob_qual deleted file mode 100644 index 7b558bfd..00000000 --- a/result/sw/share/zsh/5.9/functions/_have_glob_qual +++ /dev/null @@ -1,24 +0,0 @@ -#autoload - -# Test if $1 has glob qualifiers. This is partly magic, partly guesswork, -# wholly flakey. -# -# If $2 is "complete" test if the qualifiers are complete (up to the ")" -# at the end of the word), else that they are incomplete. -# Sets match, mbegin, mend to reflect their location. -# $match[1] is everything up to the start of the qualifiers themselves; -# this may therefore end in "(" or "(#q". -# $match[2] is everything at the start not counting the "(" or "(#q". -# $match[5] is the set of qualifiers themselves, not including a trailing -# parenthesis. -local complete - -[[ $2 = complete ]] && complete=")" - -[[ -z $compstate[quote] && - ( $_comp_caller_options[bareglobqual] == on && - $1 = (#b)(((*[^\\\$]|)(\\\\)#)\()([^\)\|\~]#)$complete && - ${#match[1]} -gt 1 || - $_comp_caller_options[extendedglob] == on && - $1 = (#b)(((*[^\\\$]|)(\\\\)#)"(#q")([^\)]#)$complete - ) ]] diff --git a/result/sw/share/zsh/5.9/functions/_hdiutil b/result/sw/share/zsh/5.9/functions/_hdiutil deleted file mode 100644 index 20e69cbc..00000000 --- a/result/sw/share/zsh/5.9/functions/_hdiutil +++ /dev/null @@ -1,585 +0,0 @@ -#compdef hdiutil - -# utilities -# -_hdiutil_disk() { - local -a disk_desc - _call_program devices hdiutil info | while read; do - local disk_name="${${(M)REPLY[(w)1]%/dev/disk*}#/dev/}" - if (( #disk_name )); then - disk_desc+=( "$disk_name:${${(M)REPLY% *}#?}" ) - fi - done - _describe -t devices disk disk_desc -} - -_hdiutil_device() { - local -a device_desc - _call_program devices /usr/bin/hdiutil burn -list | while read; do - if [[ "$REPLY" == [:space:]#IOService:* ]]; then - device_desc+=( "$REPLY" ) - fi - done - local expl - _wanted devices expl device compadd "$device_desc[@]" -} - -_hdiutil_imagesize(){ - local -a arr - local num="${PREFIX%%[^0-9]*}" - if [[ -n "$num" ]]; then - arr=( - "$num"b:"$(($num / 2.**11)) mega bytes" - "$num"k:"$(($num / 2.**10)) mega bytes" - "$num"m:"$(($num)) mega bytes" - "$num"g:"$(($num)) giga bytes" - "$num"t:"$(($num * 2**10)) giga bytes" - "$num"p:"$(($num * 2**20)) giga bytes" - "$num"e:"$(($num * 2**30)) giga bytes" - ) - - local expl - _describe -t values "size (b, k, m, g..)" arr -V1 - else - _message "size (b, k, m, g..)" - fi -} - -_hdiutil_imageformat(){ - local -a fmts ofmts - fmts=( - "UDRW:UDIF read/write image" - "UDRO:UDIF read-only image" - "UDCO:UDIF ADC-compressed image" - "UDZO:UDIF zlib-compressed image" - "ULFO:UDIF lzfse-compressed image" - "ULMO:UDIF lzma-compressed image" - "UDBZ:UDIF bzip2-compressed image" - "UDTO:DVD/CD-R master for export" - "UDSP:SPARSE (grows with content)" - "UDSB:SPARSEBUNDLE (grows with content; bundle-backed)" - "UFBI:UDIF entire image with MD5 checksum" - ) - ofmts=( - "UDRo:UDIF read-only" - "UDCo:UDIF compressed" - "RdWr:NDIF read/write image" - "Rdxx:NDIF read-only image (Disk Copy 6.3.3 format)" - "ROCo:NDIF compressed image" - "Rken:NDIF compressed" - "DC42:Disk Copy 4.2 image" - "IPOD:iPod image" # Mentioned in help, not manual - "UDxx:UDIF stub image" # Mentioned in help, not manual - "UNIV:hybrid image (HFS+/ISO/UDF)" # Mentioned in help, not manual - ) - _describe -t types "image format" fmts -V1 || - _describe -t types "obsolete/deprecated image format" ofmts -V1 -} - -_hdiutil_images() { - local -a expl - _description files expl 'disk image' - _files "$@" "${(@)expl}" -g '*.(bin|cdr|dmg|img|iso|sparse(bundle|image))(-.)' -} - -_hdiutil(){ - local -a _common_options - _common_options=( - '(: -)'-help'[display help message of a verb]' - '(-quiet)-verbose' '(-verbose debug)-quiet' '(-quiet)-debug' - ) - - local -A _common_usage_options - _common_usage_options=( - -shadow "-shadow:shadow file:_files -g '*.shadow(-.)'" - -encryption "-encryption:encryption method:(CEncryptedEncoding)" - -stdinpass "-stdinpass[specify password from standard input]" - -certificate "-certificate[secondary access certificate]:certificate file:_files" - -cacert "-cacert[certificate authority certificate]: :_files" - -imagekey "*-imagekey[image key]: :->keyvalue" - -srcimagekey "*-srcimagekey[source image key]: :->keyvalue" - -tgtimagekey "*-tgtimagekey[target image key]: :->keyvalue" - -insecurehttp "-insecurehttp[ignore SSL host validation failure]" - -plist "-plist[display output in plist format]" - -recover "-recover[keychain to unlock]:keychain file:_files -g '*.keychain(-.)'" - ) - - local -a _1st_arguments - _1st_arguments=( - 'help:display minimal usage information' - 'attach:attach a disk image' - 'mount:attach a disk image' - 'detach:detach a disk image' - 'eject:detach a disk image' - 'verify:verify the checksum of a disk image' - 'create:create a disk image' - 'convert:convert a disk image into another format' - 'burn:burn image to optical media' - 'makehybrid:generate cross-platform hybrid images' - 'compact:compacts a SPARSE disk image' - 'info:display information about the disk image driver and attached images' - 'load:manually load the disk image driver' - 'checksum:calculate the specified checksum on the image data' - 'chpass:change the passphrase for an encrypted image' - 'unflatten:extract any UDIF metadata into resource fork' - 'flatten:embed any resource fork into UDIF data fork' - 'hfsanalyze:print information about an HFS/HFS+ volume' - 'mountvol:mount a volume' - 'unmount:unmount a volume' - 'imageinfo:print out information about a disk image' - 'plugins:print information about DiskImages framework plugins' - 'internet-enable:enable or disable post-processing for the image' - 'resize:resize partition or image' - 'segment:segment disk image' - 'pmap:display the partition map' - ) - - local size_spec='-size -sectors -megabytes -srcfolder -srcdir' - - # - local curcontext="$curcontext" state line expl - local -A opt_args - - _arguments -C '*:: :->subcmds' - - if (( CURRENT == 1 )); then - _describe -t commands "hdiutil subcommand" _1st_arguments - return - fi - - case "$words[1]" in - attach|mount) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-recover]" \ - "(-readwrite)-readonly[force the resulting device to be read-only]" \ - "(-readonly)-readwrite[attempt to set the device to be read/write]" \ - "(-nokernel)-nokernel[attach with/without a helper process]" \ - "(-kernel)-kernel[attach with/without a helper process]" \ - "-notremovable[prevent this image from being detached]" \ - "(-nomount)-mount[indicate whether image should be mounted]:mount?:(required optional suppressed)" \ - "(-mount)-nomount[indicate whether image should be mounted]" \ - "-mountroot[mount volumes in specified path]: :_directories" \ - "-mountpoint[mount volume at specified path]: :_directories" \ - "-union[perform a union mount]" \ - "-private[suppress mount notifications to the rest of the system]" \ - "-nobrowse[mark the volumes non-browsable in applications]" \ - "-owners[enable or disable owners for HFS+ volumes]: :(on off)" \ - "*-drivekey[key/value pair in the IOKit registry]:key=value:" \ - "(-noverify)-verify[verify image checksums]" \ - "(-verify)-noverify" \ - "(-noignorebadchecksums)-ignorebadchecksums[indicate bad checksums should be ignored]" \ - "(-ignorebadchecksums)-noignorebadchecksums" \ - "(-noidme)-idme[perform IDME actions]" \ - "(-idme)-noidme" \ - "(-noidmereveal)-idmereveal[reveal the results of IDME processing]" \ - "(-idmereveal)-noidmereveal" \ - "(-noidmetrash)-idmetrash[put IDME images in the trash after processing]" \ - "(-idmetrash)-noidmetrash" \ - "(-noautoopen)-autoopen[auto-open volumes after attaching an image]" \ - "(-autoopen)-noautoopen" \ - "(-noautoopenro)-autoopenro[auto-open read-only volumes]" \ - "(-autoopenro)-noautoopenro" \ - "(-noautoopenrw)-autoopenrw[auto-open read/write volumes]" \ - "(-autoopenrw)-noautoopenrw" \ - "1:disk image to attach:_hdiutil_images" \ - && return 0 - ;; - detach|eject) - _arguments \ - "$_common_options[@]" \ - "-force[unmount any filesystems and detaches the image]" \ - "1: :_hdiutil_disk" && return 0 - ;; - verify) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "1:disk image to verify:_hdiutil_images" \ - && return 0 - ;; - create) - local fold_opts="-format -crossdev -nocrossdev -scrub -noscrub" - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-imagekey]:" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-plist]" \ - "($size_spec $fold_opts)-size[specify size]: :_hdiutil_imagesize" \ - "($size_spec $fold_opts)-sectors[specify size]:512 byte sectors" \ - "($size_spec $fold_opts)-megabytes[specify size]:mega bytes" \ - "($size_spec)-srcfolder[specify directory]: :_directories" \ - "($size_spec)-srcdir[specify directory]: :_directories" \ - "-align[size to which partition is aligned]:size" \ - "-type[image type]:image type:(( - SPARSEBUNDLE\:'sparse bundle disk image' - SPARSE\:'sparse disk image' - UDIF\:'read/write disk image' - UDTO\:'DVD/CD master' - ))" \ - "-fs[filesystem to make]:filesystem:(( - UDF\:'Universal Disk Format' - MS-DOS\ FAT12\:'MS-DOS (FAT12)' - MS-DOS\:'MS-DOS (FAT)' - MS-DOS\ FAT16\:'MS-DOS (FAT16)' - {FAT32,MS-DOS\ FAT32}\:'MS-DOS (FAT32)' - ExFAT\:'ExFAT' - HFS+\:'Mac OS Extended' - {HFS+J,JHFS+,HFSJ,Journaled\ HFS+}\:'Mac OS Extended (journaled)' - {HFS+X,HFSX,Case-sensitive\ HFS+}\:'Mac OS Extended (case-sensitive)' - {JHFS+X,JHFSX,HFS+X+J,HFS+XJ,HFSXJ,Case-sensitive\ Journaled\ HFS+}\:'Mac OS Extended (case-sensitive, journaled)' - APFS\:'APFS' - Case-sensitive\ APFS\:'APFS (case-sensitive)' - ))" \ - "-volname[volume name]:name" \ - "-uid[uid of root directory]:uid in number" \ - "-gid[gid of root directory]:gid in number" \ - "-mode[mode of root directory]:mode" \ - "-nouuid[suppress adding a UUID]" \ - "(-noautostretch)-autostretch" \ - "(-autostretch)-noautostretch" \ - "-stretch[max_stretch]: :_hdiutil_imagesize" \ - "-fsargs[additional arguments to pass to newfs]:arguments" \ - "-layout[partition layout]:partition layout:(( - MBRSPUD\:'single partition, MBR' - SPUD\:'single partition, APM' - UNIVERSAL\ CD\:'CD/DVD' - NONE\:'no partition map' - GPTSPUD\:'single partition, GPT' - SPCD\:'single partition, CD/DVD' - UNIVERSAL\ HD\:'hard disk' - ISOCD\:'single partition, CD/DVD with ISO data' - ))" \ - "-partitionType[partition type]:partition type:(Apple_HFS Apple_UFS)" \ - "-ov[overwrite an existing file]" \ - "-attach[attach the image after creating it]" \ - "-format:format:_hdiutil_imageformat" \ - "(-nocrossdev)-crossdev[cross device boundaries when copying from the source]" \ - "(-crossdev)-nocrossdev" \ - "(-noscrub)-scrub[skip temporary files and trashes]" \ - "(-scrub)-noscrub" \ - "(-noanyowners)-anyowners[allow user files being copied]" \ - "(-anyowners)-noanyowners" \ - "1:disk image to create:_files" && return 0 - - if [[ $state = keyvalue ]]; then - _values 'key=value' \ - "di-sparse-puma-compatible: :(TRUE FALSE)" \ - "di-shadow-puma-compatible: :(TRUE FALSE)" \ - "encrypted-encoding-version:version:(1 2)" \ - "zlib-level:compression level:(1 2 3 4 5 6 7 8 9)" && return 0 - fi - ;; - convert) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-certificate]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-align:size (512 byte sectors)" \ - "-segmentSize: :_hdiutil_imagesize" \ - "-pmap[add partition map]" \ - "-tasks[number of tasks for compression operation]:number:" \ - "-ov[overwrite an existing file]" \ - "-format:format:_hdiutil_imageformat" \ - "-o:target disk image:_files" \ - "1:source disk image:_hdiutil_images" \ - && return 0 - - if [[ $state = keyvalue ]]; then - _values 'key=value' \ - "zlib-level:compression level:(1 2 3 4 5 6 7 8 9)" && return 0 - fi - ;; - burn) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "-device[device to use for burning]:device:_hdiutil_device" \ - "-testburn[don\'t turn on laser]" \ - "-anydevice[allow burning to devices not qualified by Apple]" \ - "(-eject)-noeject[don\'t eject disc after burning]" \ - "(-noeject)-eject" \ - "(-verifyburn)-noverifyburn[don\'t verify disc contents after burn]" \ - "(-noverifyburn)-verifyburn" \ - "(-addpmap)-noaddpmap[don\'t add partition map]" \ - "(-noaddpmap)-addpmap" \ - "(-skipfinalfree)-noskipfinalfree[don\'t skip final free partition]" \ - "(-noskipfinalfree)-skipfinalfree" \ - "(-nooptimizeimage)-optimizeimage[optimize filesystem for burning]" \ - "(-optimizeimage)-nooptimizeimage" \ - "-nounderrun[turn off buffer underrun protection]" \ - "-forceclose[force the disc to be closed after burning]" \ - "-speed[desired \"x-factor\"]:x_factor:(1 2 4 6 max)" \ - "-sizequery[calculate the required size without burning anything]" \ - "-erase[erase the media]" \ - "-fullerase[erase all sectors of the disc]" \ - "-list[list all burning devices with paths suitable for -device]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - makehybrid) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "-hfs[generate an HFS+ filesystem]" \ - "-iso[generate an ISO9660 filesystem with Rock Ridge extensions]" \ - "-joliet[generate Joliet extensions to ISO9660]" \ - "-hfs-blessed-directory[blessed folder for booting Mac OS X]: :_directories" \ - "-hfs-openfolder[folder automatically opened]: :_directories" \ - "-hfs-startupfile-size[Startup File size]:bytes" \ - "-abstract-file[path to an ISO9660/Joliet Abstract file]: :_file" \ - "-bibliography-file[path to a ISO9660/Joliet Bibliography file]: :_file" \ - "-copyright-file[path to a ISO9660/Joliet Copyright file]: :_file" \ - "-application[creator application name]:creator name" \ - "-preparer[data preparer name]:preparer name" \ - "-publisher[publisher name]:publisher name" \ - "-system-id[system identifier]:system identifier" \ - "-keep-mac-specific[keep Macintosh-specific files in non-HFS+ filesystems]" \ - "-default-volume-name[default volume name for all filesystems]:name" \ - "-hfs-volume-name[volume name for HFS+ filesystem]:name" \ - "-iso-volume-name[volume name for ISO9660 filesystem]:name" \ - "-joliet-volume-name[volume name for Joliet]:name" \ - "-hide-all[glob expression to hide]:glob expression" \ - "-hide-hfs[glob expression to hide in HFS+]:glob expression" \ - "-hide-iso[glob expression to hide in ISO9660]:glob expression" \ - "-hide-joliet[glob expression to hide in Joliet]:glob expression" \ - "-print-size[print size estimate and quit]" \ - "-plistin[accept command-line options as a plist on stdin]" \ - "-ov[overwrite an existing file]" \ - "(-noverify)-verify[verify image checksums]" \ - "(-verify)-noverify" \ - "(-nokernel)-nokernel[attach with a helper process]" \ - "(-kernel)-kernel[attach without a helper process]" \ - "-o:target disk image:_files" \ - "1:source disk image or directory:_hdiutil_images" \ - && return 0 - ;; - compact) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "1:sparse image:_files -g '*.sparseimage(-.)'" && return 0 - ;; - info) - _arguments "$_common_options[@]" \ - "$_common_usage_options[-plist]" && return 0 - ;; - load) - _arguments "$_common_options[@]" && return 0 - ;; - checksum) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-type:image type:(UDIF-CRC32 UDIF-MD5 DC42 CRC28 CRC32 MD5)" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - chpass) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-recover]" \ - "$_common_usage_options[-srcimagekey]" \ - "-oldstdinpass[specify old password from standard input]" \ - "-newstdinpass[specify new password from standard input]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - unflatten) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - flatten) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "(-xml)-noxml[don\'t embed XML data for in-kernel attachment]" \ - "(-noxml)-xml" \ - "(-rsrcfork)-norsrcfork[don\'t embed resource fork data]" \ - "(-norsrcfork)-rsrcfork" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - hfsanalyze) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "1:disk image or device:_hdiutil_images" \ - && return 0 - ;; - mountvol) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-plist]" \ - "1: :_path_files -W /dev -g disk\*" && return 0 - ;; - unmount) - _arguments \ - "$_common_options[@]" \ - "-force[unmount filesystem regardless of open files]" \ - "1:device or mount point:_files" && return 0 - ;; - imageinfo) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "-format[just print out the image format]" \ - "-checksum[just print out the image checksum]" \ - "1: :_hdiutil_images" \ - && return 0 - ;; - plugins) - _arguments \ - "$_common_options[@]" "$_common_usage_options[-plist]" && return 0 - ;; - internet-enable) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-plist]" \ - "(-yes -no -query)"{-yes,-no,-query} \ - "1: :_hdiutil_images" \ - && return 0 - ;; - - resize) - _arguments -C \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "$_common_usage_options[-plist]" \ - "(-sectors)-size[specify size]: :_hdiutil_imagesize" \ - "(-size)-sectors[specify size]:size (512 byte sectors)/min/max:" \ - "-imageonly[only resize image file]" \ - "-partitiononly[only resize partition(s) in the image]" \ - "-partitionNumber[partition to resize]:partition number" \ - "-growonly[only allow the image to grow]" \ - "-shrinkonly[only allow the image to shrink]" \ - "-nofinalgap[allow elimination of trailing free partition]" \ - "-limits[displays min/current/max size]" \ - "1:disk image:_files -g \*.dmg\(\|.bin\)\(-.\)" \ - && return 0 - ;; - segment) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-tgtimagekey]" \ - "$_common_usage_options[-plist]" \ - "(-segmentSize)-segmentCount[number of segments]:number" \ - "(-segmentCount)-segmentSize[segment size]: :_hdiutil_imagesize" \ - "-firstSegmentSize[first segment size]: :_hdiutil_imagesize" \ - "-restricted[make restricted segments]" \ - "-o[first segment name]:name" \ - "1:source disk image:_files -g \*.dmg\(\|.bin\)\(-.\)" \ - && return 0 - ;; - pmap) - _arguments \ - "$_common_options[@]" \ - "$_common_usage_options[-encryption]" \ - "$_common_usage_options[-stdinpass]" \ - "$_common_usage_options[-srcimagekey]" \ - "$_common_usage_options[-shadow]" \ - "$_common_usage_options[-insecurehttp]" \ - "$_common_usage_options[-cacert]" \ - "-options[just print out the image checksum]: :->option" \ - "1: :_hdiutil_images" \ - && return 0 - - case "$state" in - option) - _values -s '' option \ - "r[process all without modification]" \ - "x[process 2K & 512 entries and merge]" \ - "s[return all quantities in sectors]" \ - "S[sort all entries by block number]" \ - "g[account for all unmapped space]" \ - "c[combine adjacent freespace entries]" \ - "f[extend last partition to device end]" \ - "v[synthesize single volumes as a single partition entry]" \ - "k[skip zero length entries]" \ - "K[skip all free & void partitions]" \ - "m[merge small free partitions into a previous partition]" \ - "i[ignore small free partitions caused by block alignment]" - ;; - esac - ;; - *) - _message "unknown hdiutil command: $words[1]" - _default - ;; - esac - return 1 -} - -_hdiutil "$@" diff --git a/result/sw/share/zsh/5.9/functions/_head b/result/sw/share/zsh/5.9/functions/_head deleted file mode 100644 index 0771b1e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_head +++ /dev/null @@ -1,45 +0,0 @@ -#compdef head ghead - -local curcontext=$curcontext state state_descr line expl opts args ret=1 -typeset -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-n --lines -c --bytes)'{-c+,--bytes=}'[print the first (or with -, all but the last) specified bytes]:number of bytes:->number' - '(-n --lines -c --bytes)'{-n+,--lines=}'[print the first (or with -, all but the last) specified lines]:number of lines:->number' - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[never print headers giving file names]' - '(-q --quiet --silent -v --verbose)'{-v,--verbose}'[always print headers giving file names]' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) -else - opts=(-A '-*') - args=( '(-c)-n+[display the first specified lines]:number of lines' ) - case $OSTYPE in - (freebsd*|darwin*|dragonfly*|netbsd*) - args+=( '(-n)-c+[display the first specified bytes]:number of bytes' ) - ;| - dragonfly*|netbsd*) - args+=( - '(-v)-q[never print headers giving file names]' - '(-q)-v[always print headers giving file names]' - ) - ;; - esac -fi - -_arguments -C -s -S $opts : $args '*:file:_files' && return 0 - -case $state in - (number) - local alts - [[ -z $PREFIX ]] && alts=( - 'sign:sign:((-\:"print all but the last specified bytes/lines" +\:"print the first specified bytes/lines (default)"))' - ) - compset -P '+' - alts+=( 'numbers: :_numbers -N $state_descr b\:512 K\:1024 KB\:1000 M\:1024\^2 MB\:1000\^2 G\:1024\^3 GB\:1000\^3 T\:1024\^4 TB\:1000\^4' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_hexdump b/result/sw/share/zsh/5.9/functions/_hexdump deleted file mode 100644 index f700ca68..00000000 --- a/result/sw/share/zsh/5.9/functions/_hexdump +++ /dev/null @@ -1,35 +0,0 @@ -#compdef hexdump hd - -local -a args fmts optpar -fmts=( - {--one-byte-octal,-b}'[one-byte octal display]' - {--one-byte-char,-c}'[one-byte character display]' - {--two-bytes-decimal,-d}'[two-byte decimal display]' - {--two-bytes-octal,-o}'[two-byte octal display]' - {--two-bytes-hex,-x}'[two-byte hexadecimal display]' - {--format=,-e+}'[specify format string to be used for displaying data]:format' - {--format-file=,-f+}'[specify file that contains format strings]:file:_files' -) -args=( - '(H -n --length)'{--length=,-n+}'[interpret only specified amount of input]:length (bytes)' - '(H -s --skip)'{--skip=,-s+}'[skip specified bytes at the beginning]:offset (bytes)' - '(H -v --no-squeezing)'{--no-squeezing,-v}'[output identical lines]' -) - -[[ $service = hexdump ]] && fmts+=( {--canonical,-C}'[canonical hex+ASCII display]' ) - -if [[ $OSTYPE = linux* ]]; then - args+=( - '(-L --color)'{-L+,--color=}'[interpret color formatting specifiers colors are enabled by default]:mode' - + H - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) -else - # strip long options by taking every second element - print -v fmts -f '%2$s' -- "$fmts[@]" - print -v args -f '%2$s' -- "$args[@]" - optpar=( -A "-*" ) -fi - -_arguments -s -S $optpar '*:file:_files' $args + '(formats)' '(H)'$^fmts diff --git a/result/sw/share/zsh/5.9/functions/_history b/result/sw/share/zsh/5.9/functions/_history deleted file mode 100644 index cd69ca17..00000000 --- a/result/sw/share/zsh/5.9/functions/_history +++ /dev/null @@ -1,65 +0,0 @@ -#autoload - -# Hm, this *can* sensibly be used as a completer. But it could also be used -# as a utility function, so maybe it should be moved into another directory. -# Or maybe not. Hm. -# -# -# Complete words from the history -# -# Code taken from _history_complete_words. -# -# Available styles: -# -# sort -- sort matches lexically (default is to sort by age) -# remove-all-dups -- -# remove /all/ duplicate matches rather than just consecutives -# range -- range of history words to complete - -local opt expl max slice hmax=$#historywords beg=2 - -if zstyle -t ":completion:${curcontext}:" remove-all-dups; then - opt=- -else - opt=-1 -fi - -if zstyle -t ":completion:${curcontext}:" sort; then - opt="${opt}J" -else - opt="${opt}V" -fi - -if zstyle -s ":completion:${curcontext}:" range max; then - if [[ $max = *:* ]]; then - slice=${max#*:} - max=${max%:*} - else - slice=$max - fi - [[ max -gt hmax ]] && max=$hmax -else - max=$hmax - slice=$max -fi - -PREFIX="$IPREFIX$PREFIX" -IPREFIX= -SUFFIX="$SUFFIX$ISUFFIX" -ISUFFIX= - -# We skip the first element of historywords so the current word doesn't -# interfere with the completion - -local -a hslice -while [[ $compstate[nmatches] -eq 0 && beg -lt max ]]; do - if [[ -n $compstate[quote] ]] - then hslice=( ${(Q)historywords[beg,beg+slice]} ) - else hslice=( ${historywords[beg,beg+slice]} ) - fi - _wanted "$opt" history-words expl 'history word' \ - compadd -Q -a hslice - (( beg+=slice )) -done - -(( $compstate[nmatches] )) diff --git a/result/sw/share/zsh/5.9/functions/_history_complete_word b/result/sw/share/zsh/5.9/functions/_history_complete_word deleted file mode 100644 index fe2a846d..00000000 --- a/result/sw/share/zsh/5.9/functions/_history_complete_word +++ /dev/null @@ -1,121 +0,0 @@ -#compdef -K _history-complete-older complete-word \e/ _history-complete-newer complete-word \e, -# -# Complete words from the history -# -# by Adam Spiers, with help gratefully received from -# Sven Wischnowsky and Bart Schaefer -# -# Available styles: -# -# list -- avoid to display lists of available matches -# stop -- stop before looping at beginning and end of matches -# sort -- sort matches lexically (default is to sort by age) -# remove-all-dups -- -# remove /all/ duplicate matches rather than just consecutives -# range -- range of history words to complete - -_history_complete_word () { - eval "$_comp_setup" - - local expl direction stop curcontext="$curcontext" - - if [[ -z "$curcontext" ]]; then - curcontext=history-words::: - else - curcontext="history-words${curcontext#*:}" - fi - - if [[ $WIDGET = *newer ]]; then - direction=newer - else - direction=older - fi - - zstyle -t ":completion:${curcontext}:history-words" stop && stop=yes - - zstyle -T ":completion:${curcontext}:history-words" list || compstate[list]='' - - if [[ $LASTWIDGET = _history-complete-* && - ( -n "$compstate[old_list]" || -n $_hist_stop ) ]]; then - if [[ "$direction" == older ]]; then - if [[ $_hist_stop = new ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=2 - _hist_stop= - elif [[ $_hist_stop = old ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=1 - _hist_stop= - elif [[ compstate[old_insert] -lt _hist_menu_length ]]; then - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] + 1 )) - elif [[ -n $stop ]]; then - _hist_stop=old - _message 'beginning of history reached' - return 1 - else - compstate[old_list]=keep - compstate[insert]=1 - fi - elif [[ "$direction" == 'newer' ]]; then - if [[ $_hist_stop = old ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=$(( $compstate[nmatches] - 1 )) - _hist_stop= - elif [[ $_hist_stop = new ]]; then - PREFIX=$_hist_old_prefix - _history_complete_word_gen_matches - compstate[insert]=$compstate[nmatches] - _hist_stop= - elif [[ compstate[old_insert] -gt 1 ]]; then - compstate[old_list]=keep - (( compstate[insert] = compstate[old_insert] - 1 )) - elif [[ -n $stop ]]; then - _hist_stop=new - _message 'end of history reached' - return 1 - else - compstate[old_list]=keep - compstate[insert]=$_hist_menu_length - fi - fi - return 0 - else - _hist_stop= - _hist_old_prefix="$PREFIX" - _history_complete_word_gen_matches - fi - - (( $compstate[nmatches] )) -} - -_history_complete_word_gen_matches () { - - [[ -n "$_hist_stop" ]] && PREFIX="$_hist_old_prefix" - - _main_complete _history - - zstyle -T ":completion:${curcontext}:history-words" list || compstate[list]= - - _hist_menu_length="$compstate[nmatches]" - - if [[ $_lastcomp[insert] != *unambig* ]]; then - case "$direction" in - newer) compstate[insert]=$_hist_menu_length - [[ -n "$_hist_stop" ]] && (( compstate[insert]-- )) - ;; - older) compstate[insert]=1 - [[ -n "$_hist_stop" ]] && (( compstate[insert]++ )) - ;; - esac - fi - - _hist_stop= - - return -} - -_history_complete_word "$@" diff --git a/result/sw/share/zsh/5.9/functions/_history_modifiers b/result/sw/share/zsh/5.9/functions/_history_modifiers deleted file mode 100644 index 1a049d6c..00000000 --- a/result/sw/share/zsh/5.9/functions/_history_modifiers +++ /dev/null @@ -1,89 +0,0 @@ -#autoload - -# Complete history-style modifiers; the first : will have -# been matched and compset -p 1'd. -# The single argument is the type of context: -# h history -# q glob qualifier -# p parameter - -local -a list - -local type=$1 delim expl -integer global - -while true; do - if [[ -n $PREFIX ]]; then - local char=$PREFIX[1] - - global=0 - compset -p 1 - case $char in - ([hretpqQxlu\&]) - # single character modifiers - ;; - - (s) - # match delimiter string delimiter string delimiter - if [[ -z $PREFIX ]]; then - _delimiters modifier-s - return - fi - delim=$PREFIX[1] - compset -p 1 - if ! compset -P "[^${delim}]#${delim}[^${delim}]#${delim}"; then - if compset -P "[^${delim}]#${delim}"; then - _message "replacement string" - else - _message "original string" - fi - return - fi - ;; - - (g) - global=1 - continue - ;; - esac - - # modifier completely matched, see what's next. - compset -P : && continue - # if there's something other than colon next, bummer - [[ -n $PREFIX ]] && return 1 - - list=("\::modifier") - [[ $type = q ]] && list+=("):end of qualifiers") - # strictly we want a normal suffix if end of qualifiers - _describe -t delimiters "delimiter" list -Q -S '' - return - else - list=( - "s:substitute string" - "&:repeat substitution" - ) - if (( ! global )); then - list+=( - "a:absolute path, resolve '..' lexically" - "A:as ':a', then resolve symlinks" - "c:PATH search for command" - "g:globally apply s or &" - "h:head - strip trailing path element" - "t:tail - strip directories" - "r:root - strip suffix" - "e:leave only extension" - "Q:strip quotes" - "P:realpath, resolve '..' physically" - "l:lower case all words" - "u:upper case all words" - ) - [[ $type = h ]] && list+=( - "p:print without executing" - "x:quote words, breaking on whitespace" - ) - [[ $type = [hp] ]] && list+=("q:quote to escape further substitutions") - fi - _describe -t modifiers "modifier" list -Q -S '' - return - fi -done diff --git a/result/sw/share/zsh/5.9/functions/_host b/result/sw/share/zsh/5.9/functions/_host deleted file mode 100644 index e1174d46..00000000 --- a/result/sw/share/zsh/5.9/functions/_host +++ /dev/null @@ -1,23 +0,0 @@ -#compdef host - -# Note: This command is closely related to (and shares some options with) dig -_arguments -s -S -A '-*' : \ - '(: * -)-V[display version information]' \ - '(-6)-4[use IPv4 only]' \ - '(-4)-6[use IPv6 only]' \ - '(-v -t)-a[query for all record types or (with -l) list all zone records]' \ - '(-d -v)'{-d,-v}'[increase output verbosity]' \ - '-c+[specify query class]:query class:compadd -M "m\:{a-z}={A-Z}" - CH CS HS IN' \ - '-C[check SOA consistency]' \ - '-l[list zone records]' \ - '-N+[specify number of dots required to consider host name absolute]:number of dots' \ - '-r[query non-recursively (clear RD bit)]' \ - '-R+[specify number of retries for UDP queries]:number of retries [1]' \ - '-s[do not try next name server after SERVFAIL]' \ - '-t+[specify query type]: :_dns_types' \ - '-T[query via TCP]' \ - '*-m+[specify memory-usage debug flag]:debug flag:(record usage trace)' \ - '(-W)-w[disable query timeout (wait forever)]' \ - '(-w)-W+[specify query timeout]:query timeout (seconds) [5 (UDP), 10 (TCP)]' \ - '1: :_hosts' \ - '2::DNS server:_hosts' diff --git a/result/sw/share/zsh/5.9/functions/_hostname b/result/sw/share/zsh/5.9/functions/_hostname deleted file mode 100644 index 40a3189a..00000000 --- a/result/sw/share/zsh/5.9/functions/_hostname +++ /dev/null @@ -1,76 +0,0 @@ -#compdef hostname - -local variant=$OSTYPE ret=1 -local -a context line state state_descr args aopts=( -A '-*' ) -local -A opt_args - -# May be overridden below -args=( '(-4 -6 -d -f -i -r -s)1: :_guard "^-*" "host name"' ) - -# On badly behaved systems it may be dangerous to call `hostname --help` or -# similar, so for now we'll avoid _pick_variant and just trust this. In the -# future, we should replace this by a method that can safely detect Solaris, -# BusyBox, etc. (@todo) -[[ $OSTYPE == linux* ]] && -(( $+commands[nisdomainname] || $+commands[ypdomainname] )) && -variant+=-net-tools - -case $variant in - *-net-tools) - aopts=( ) - args=( - '(: * -)'{-h,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - + '(g)' # Get - '(: gs s)'{-A,--all-fqdns}'[display FQDNs resolved from network interface addresses]' - '(: gs s)'{-d,--domain}'[display DNS domain only]' - '(: gs s)'{-f,--fqdn,--long}'[display host name with DNS domain (FQDN)]' - '(: gs s)'{-i,--ip-address}'[display IP addresses for host (via DNS resolution)]' - '(: gs s)'{-I,--all-ip-addresses}'[display IP addresses for host (via network interfaces)]' - '(: gs s)'{-s,--short}'[display short host name only]' - + '(gs)' # Get/set - '(g)'{-y,--yp,--nis}'[display NIS domain only]' - + s # Set - '(-b --boot g)'{-b,--boot}'[always set a host name]' - '(: -F --file g)'{-F+,--file=}'[read host name to set from specified file]: :_files' - + o - '(-F --file g)1: :->host-or-domain' - ) - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '(: -4 -6 -d -f)-s[display short host name only]' - ) - ;| # MATCH AGAIN - darwin*|freebsd*) - args+=( - '(: -d -s)-f[display host name with DNS domain (FQDN)]' - ) - ;| # MATCH AGAIN - freebsd*) - args+=( - '(: -f -s)-d[display DNS domain only]' - ) - ;; - dragonfly*) - args+=( - '(: -6 -r)-4[use first IPv4 address on interface (with -i)]' - '(: -4 -r)-6[use first IPv6 address on interface (with -i)]' - '(: -r)-i+[retrieve host name via specified interface]: :_net_interfaces' - '(: -4 -6 -i)-r+[retrieve host name via specified IP address]: :_bind_addresses' - ) - ;; -esac - -_arguments -s -S $aopts : $args && ret=0 - -[[ $state == host-or-domain ]] && { - [[ -prefix -* ]] || - if [[ -n ${opt_args[(i)*-(-y|--yp|--nis)]} ]]; then - _message -e nis-domains 'NIS domain' && ret=0 - else - _message -e host-names 'host name' && ret=0 - fi -} - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_hosts b/result/sw/share/zsh/5.9/functions/_hosts deleted file mode 100644 index 4057fee1..00000000 --- a/result/sw/share/zsh/5.9/functions/_hosts +++ /dev/null @@ -1,78 +0,0 @@ -#compdef ftp rwho rup xping traceroute aaaa zone mx ns soa txt - -# avoid calling variable "hosts", it's an obvious candidate for use in -# zstyle -e '*' hosts 'reply=($hosts)' -local expl _hosts tmp useip - -if ! zstyle -a ":completion:${curcontext}:hosts" hosts _hosts; then - if (( $+_cache_hosts == 0 )); then - # uniquify - typeset -gUa _cache_hosts - local ipstrip='[:blank:]#[^[:blank:]]#' - - # This boolean style determines whether hosts completes IP addresses. The - # default is no (not using IP addresses). - zstyle -t ":completion:${curcontext}:hosts" use-ip && useip=yes - [[ -n $useip ]] && ipstrip= - if (( ${+commands[getent]} )); then - # pws: we were using the horrible ": ${(A)...:=}" syntax to assign - # to _cache_hosts, overriding the typeset as well as being unreadable - # and having obscure splitting behaviour. Why? We've just - # tested _cache_hosts doesn't exist. - _cache_hosts=(${(s: :)${(ps:\t:)${(f)~~"$(_call_program hosts getent hosts 2>/dev/null)"}##${~ipstrip}}}) - else - _cache_hosts=(${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##${~ipstrip}}}) - if (( ${+commands[ypcat]} )) && - tmp=$(_call_program hosts ypcat hosts.byname 2>/dev/null); then - _cache_hosts+=( ${=${(f)tmp}##${~ipstrip}} ) # If you use YP - fi - fi - - local khostfile - typeset -Ua khostfiles - - # This style specifies a list of files to look up for host names and IP - # addresses, if asked to. The files can contain comma separated host names - # and IP's, and any text on a line after the first whitespace,| or # is - # discarded. ssh's known_hosts files are thus supported. This style defaults - # to the list /etc/ssh/ssh_known_hosts, ~/.ssh/known_hosts - zstyle -a ":completion:${curcontext}:hosts" known-hosts-files khostfiles || - khostfiles=(/etc/ssh/ssh_known_hosts ~/.ssh/known_hosts) - - for khostfile in $khostfiles; do - if [[ -r $khostfile ]]; then - khosts=(${(s/,/j/,/u)${(f)"$(<$khostfile)"}%%[ |#]*}) - - # known_hosts syntax supports the host being in the form [hostname]:port - # The filter below extracts the hostname from lines using this format. - # - # known_hosts syntax supports wildcards. The filter below removes wildcard - # entries. - () { - local host - local -a match mbegin mend - khosts=() - for host; do - if [[ $host == *[*?]* ]]; then - continue - elif [[ $host = (#b)*\[(*)\]:[[:digit:]]#* ]]; then - khosts+=${match[1]} - else - khosts+=$host - fi - done - } "$khosts[@]" - - if [[ -z $useip ]]; then - khosts=(${${khosts:#(#s)[0-9]##.[0-9]##.[0-9]##.[0-9]##(#e)}:#(#s)[0-9a-f:]##(#e)}) - fi - _cache_hosts+=($khosts) - fi - done - fi - - _hosts=( "$_cache_hosts[@]" ) -fi - -_wanted hosts expl host \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - _hosts diff --git a/result/sw/share/zsh/5.9/functions/_htop b/result/sw/share/zsh/5.9/functions/_htop deleted file mode 100644 index e8d2fffb..00000000 --- a/result/sw/share/zsh/5.9/functions/_htop +++ /dev/null @@ -1,55 +0,0 @@ -#compdef htop pcp-htop - -# Notes: -# - htop allows long options to be passed with a single dash; we don't account -# for this -# - htop parses optional arguments to -H and -u 'cleverly' by allowing the next -# word to be the optarg if it doesn't begin with a '-'; this should work here -# - There is a special version of htop designed to be used with PCP (Performance -# CoPilot); we don't fully account for this -# - Some of the ranges and defaults listed here had to be found in the source - -local MATCH MBEGIN MEND ret=1 -local -a context line state state_descr args tmp - -args=( - '(-d --delay)'{-d+,--delay=}'[specify update frequency]:delay (tenths of seconds) (1-100) [15]' - '(-C --no-color --no-colour)'{-C,--no-colo{,u}r}'[use monochrome colour scheme]' - '(-F --filter)'{-F+,--filter=}'[show only commands matching specified filter]:case-insensitive command-line sub-string:_process_names -a' - '(-)'{-h,--help}'[display usage information]' - '(-H --highlight-changes)'{-H+,--highlight-changes=}'[highlight new and old processes (optionally specify delay)]::delay (seconds) (1-86400) [5]' - '(-M --no-mouse)'{-M,--no-mouse}'[disable mouse]' - \*{-p+,--pid=}'[show only specified PIDs]: : _sequence _pids' - '--readonly[disable all system and process changing features]' - '(-s --sort-key)'{-s+,--sort-key=}'[sort by specified column]: :->sort-keys' - '(-t --tree)'{-t,--tree}'[show tree view of processes]' - '(-u --user)'{-u+,--user=}'[show only processes of current or specified user]:: : _users' - '(-U --no-unicode)'{-U,--no-unicode}'[disable Unicode]' - '(-)'{-V,--version}'[display version information]' -) - -[[ $OSTYPE == linux* ]] && -(( ! EUID || $+_comp_priv_prefix )) && -_pick_variant libcap=drop-capabilities $OSTYPE --help && -args+=( - '--drop-capabilities=-[drop specified capabilities]::mode [basic]:(( - off\:"do not drop capabilities" - basic\:"drop capabilities not needed for standard functionality (retains kill, renice, etc.)" - strict\:"drop capabilities not needed for core functionality" - ))' -) - -_arguments -s -S : $args && ret=0 - -case $state in - sort-keys) - tmp=( ${(f)"$(_call_program sort-keys $words[1] --sort-key help)"} ) - tmp=( ${tmp/#[[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${tmp/[[:space:]]##/:} ) - tmp=( ${tmp/(#m):[A-Z]/${(L)MATCH}} ) - _describe -t sort-keys 'column (key)' tmp && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_hwinfo b/result/sw/share/zsh/5.9/functions/_hwinfo deleted file mode 100644 index 7dff8280..00000000 --- a/result/sw/share/zsh/5.9/functions/_hwinfo +++ /dev/null @@ -1,79 +0,0 @@ -#compdef hwinfo - -_arguments \ - '--help[show usage info]' \ - '--version[show libhd version]' \ - '--short[just a short listing]' \ - '--log[write info to logfile]:logfile:_files' \ - '--debug[set debuglevel]:debug level:(1 2 3 4 5 6 7 8 9)' \ - '--dump-db[dump hardware data base, 0: external, 1: internal]:dumpdb:(0 1)' \ - '--bios' \ - '--block' \ - '--bluetooth' \ - '--braille' \ - '--bridge' \ - '--camera' \ - '--cdrom' \ - '--chipcard' \ - '--cpu' \ - '--disk' \ - '--dsl' \ - '--dvb' \ - '--floppy' \ - '--framebuffer' \ - '--gfxcard' \ - '--hub' \ - '--ide' \ - '--isapnp' \ - '--isdn' \ - '--joystick' \ - '--keyboard' \ - '--memory' \ - '--modem' \ - '--monitor' \ - '--mouse' \ - '--netcard' \ - '--network' \ - '--partition' \ - '--pci' \ - '--pcmcia' \ - '--pcmcia-ctrl' \ - '--pppoe' \ - '--printer' \ - '--scanner' \ - '--scsi' \ - '--smp' \ - '--sound' \ - '--storage-ctrl' \ - '--sys' \ - '--tape' \ - '--tv' \ - '--usb' \ - '--usb-ctrl' \ - '--vbe' \ - '--wlan' \ - '--zip' \ - '--all' \ - '--reallyall' && return 0 - - -# hwinfo-9.31-1.1 -# -# Usage: hwinfo [options] -# Probe for hardware. -# --short just a short listing -# --log logfile write info to logfile -# --debug level set debuglevel -# --version show libhd version -# --dump-db n dump hardware data base, 0: external, 1: internal -# --hw_item probe for hw_item -# hw_item is one of: -# all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, -# disk, dsl, dvb, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn, -# joystick, keyboard, memory, modem, monitor, mouse, netcard, network, -# partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi, smp, -# sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe, wlan, zip -# -# Note: debug info is shown only in the log file. (If you specify a -# log file the debug level is implicitly set to a reasonable value.) - diff --git a/result/sw/share/zsh/5.9/functions/_iconv b/result/sw/share/zsh/5.9/functions/_iconv deleted file mode 100644 index bf04acfe..00000000 --- a/result/sw/share/zsh/5.9/functions/_iconv +++ /dev/null @@ -1,81 +0,0 @@ -#compdef iconv - -local expl curcontext="$curcontext" state line variant ret=1 - -if _pick_variant -r variant libiconv='GNU*libiconv' glibc='(Free Soft|GNU*libc|GLIBC|Gentoo)' unix --version; then - local -a args - local exargs="-l --list -? --help --usage --version -V" - - args=( - "(-f --from-code $exargs)"{-f+,--from-code=}'[specify code set of input file]:code set:->from_codeset' - "(-t --to-code $exargs)"{-t+,--to-code=}'[specify code set for output]:code set:->to_codeset' - '(- 1 -l --list)'{-l,--list}'[list all character code sets]' - "($exargs)-c[omit invalid characters from output]" - "(-s --silent --verbose $exargs)"{-s,--silent}'[suppress warnings]' - '(-)'{-\?,--help}'[display help information]' - '(-)'{-V,--version}'[print program version]' - '1:input file:_files' - ) - - case $variant in - (libiconv) - args=( ${(R)args:#(|\*)(|\(*\))-[V\?]*} ) # remove -V and -? - args+=( - '--byte-subst=[format for unconvertible bytes]:format string' - '--widechar-subst=[format for unconvertible wide chars]:format string' - '--unicode-subst=[format for unconvertible Unicode chars]:format string' - ) - ;; - (glibc) - args+=( - '(-)--usage[display a short usage message]' - "(-o --output $exargs)"{-o+,--output=}'[specify output file]:output file:_files' - "(-s --silent $exargs)--verbose[print progress information]" - ) - ;; - esac - - _arguments -C -S -s : $args && return 0 - - if [[ $state = *_codeset ]]; then - # suffix is meaningful only for output encoding - if [[ $state = to_codeset ]] && compset -P '*[^/]/'; then - _wanted suffix expl suffix compadd "$@" /TRANSLIT /IGNORE && ret=0 - else - _wanted codesets expl 'code set' compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \ - ${$(_call_program codesets $words[1] --list)%//} && ret=0 - fi - fi - - return ret - -else - local LOCPATH="${LOCPATH:-/usr/lib/nls/loc}" - local -U codeset - - _arguments -C \ - '(-l)-f[specify code set of input file]:code set:->codeset' \ - '(-l)-t[specify code set for output]:code set:->codeset' \ - '(-l)-c[omit invalid characters from output]' \ - '(-l)-s[suppress warnings]' \ - '(- 1)-l[list all character code sets]' \ - '1:file:_files' && return 0 - - if [[ $state = codeset ]]; then - if [[ $OSTYPE = freebsd* ]]; then - codeset=( $(_call_program codesets $words[1] -l) ) - elif [[ -f /usr/lib/iconv/iconv_data ]]; then # IRIX & Solaris - codeset=( ${${(f)"$(</usr/lib/iconv/iconv_data)"}%%[[:blank:]]*} ) - codeset+=( /usr/lib/iconv/*%*.so(Ne.'reply=( ${${REPLY:t}%%%*} ${${REPLY:r}#*%} )'.) ) - elif [[ -d $LOCPATH/iconv ]]; then # OSF - codeset=( $LOCPATH/iconv/*(N:t) ) - codeset=( ${(j:_:s:_:)codeset} ) - else - return 1 - fi - - _wanted codesets expl 'code set' compadd -a codeset - fi - -fi diff --git a/result/sw/share/zsh/5.9/functions/_iconvconfig b/result/sw/share/zsh/5.9/functions/_iconvconfig deleted file mode 100644 index a10e134e..00000000 --- a/result/sw/share/zsh/5.9/functions/_iconvconfig +++ /dev/null @@ -1,13 +0,0 @@ -#compdef iconvconfig - -local exargs="-? --help --usage -V --version" - -_arguments -S -s \ - "($exargs)--nostdlib[do not search system directory]" \ - "(-o --output $exargs)"{-o+,--output=}'[specify output file]:output file:_files' \ - "($exargs)--prefix=[specify system dir prefix]:prefix:_files" \ - '(- *)'{-\?,--help}'[display help information]' \ - '(- *)--usage[display a short usage message]' \ - '(- *)'{-V,--version}'[print program version]' \ - '*:directory:_files -/' \ - && return 0 diff --git a/result/sw/share/zsh/5.9/functions/_id b/result/sw/share/zsh/5.9/functions/_id deleted file mode 100644 index a0a03faa..00000000 --- a/result/sw/share/zsh/5.9/functions/_id +++ /dev/null @@ -1,56 +0,0 @@ -#compdef id gid - -local args choices - -if _pick_variant gnu=GNU $OSTYPE --version; then - choices='--help --version -Z --context -g --group -G --groups -u --user' - _arguments \ - "($choices)"{-Z,--context}'[print only security context]' \ - "($choices)"{-g,--group}'[print only EGID]' \ - "($choices -r --real)"{-G,--groups}'[print all GIDs]' \ - '(-n --name --help --version)'{-n,--name}'[show name instead of number]' \ - '(-r --real -g --groups --help --version)'{-r,--real}'[show real ID instead of effective]' \ - "($choices)"{-u,--user}'[print only EUID]' \ - '(-z --zero --help --version)'{-z,--zero}'[delimit entries with NUL characters]' \ - '(- :)--help[display help information]' \ - '(- :)--version[display version]' \ - ':user:_users' -else - choices="-A -a -c -G -g -M -p -P -R -u" - args=( - "($choices)-g[print only EGID]" - "($choices -r)-G[print all GIDs]" - "($choices)-u[print only EUID]" - '(-A -c -M -P)-n[show name instead of number]' - '(-A -c -M -P)-r[show real ID instead of effective]' - ) - case $OSTYPE in - solaris*) - args+=( - '(-g -G -u -n -r)-a[show user name, user ID and all the groups]' - '(-g -G -u -n -r)-p[show project membership]' - ) - ;; - openbsd*) - args+=( - '(-)-c[display the login class]' - '(-)-p[make the output human readable]' - '(-)-R[display the routing table of the current process]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args+=( '(-)-P[print id in the form of a password file entry]' ) - ;| - darwin*|freebsd*) - args+=( - '(-)-A[print process audit user ID]' - '(-)-M[print MAC label of the current process]' - ) - ;| - freebsd*) args+=( '(-)-c[print current login class]' ) ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( '(-)-p[human readable output]' ) - ;; - esac - _arguments -s $args ':user:_users' -fi diff --git a/result/sw/share/zsh/5.9/functions/_ifconfig b/result/sw/share/zsh/5.9/functions/_ifconfig deleted file mode 100644 index 25ddd55b..00000000 --- a/result/sw/share/zsh/5.9/functions/_ifconfig +++ /dev/null @@ -1,90 +0,0 @@ -#compdef ifconfig - -local curcontext="$curcontext" state line ret=1 -local -a opts args alias debug updownlist - -alias=( '(-alias alias)'{,-}'alias[remove or establish alternate address for if]' ) -debug=( '(-debug debug)'{,-}'debug[disable or enable debugging code]' ) -updownlist=( - '(-a -d -C)-u[restrict to interfaces which are up]' - '(-a -u -C)-d[restrict to interfaces which are down]' - '(-a -C -m -L 1 *)-l[list interfaces]' -) - -case $OSTYPE in - darwin*) - args=( -s $updownlist ) - opts=( - $alias $debug delete dest_address ipdst nsellength - {,-}trailers {,-}link{0,1,2} - ) - ;; - freebsd*|dragonfly*) - args=( -s $updown - '(-a -l -u -d -m -L 1 *)-C[list interface cloners]' - '(-l -C)-m[list supported media]' - '(-l -C)-L[show address lifetime as time offset]' - ) - listopts=( - active caps chan countries mac mesh regdomain roam txparam txpower - scan sta wme - ) - opts=( $alias $debug $listopts - anycast lladdr media {,-}mediaopt {,delete}tunnel create destroy - {,un}plumb vlan {,-}vlandev metric prefixlen range phase ssid muid - stationname channel authmode {,-}powersave powersavesleep wepmode - {,-}wep {,-}nwkey add delete ether {,-}link{0,1,2} list wme wmm - roam roam:rssi roam:rate roaming - ) - ;| - dragonfly*) - args+=( '-n[disable auto-loading of kernel network interface driver]' ) - ;; - irix5*) opts=( $debug ) ;; - irix6*) - opts=( $debug {-,}highbw {,-}link{0,1,2} primary rspace sspace ) - args=( '-w[display additional information]' ) - ;; - linux*) - opts=( - '(-promisc promisc)'{,-}'promisc[disable or enable promiscuous mode]' - '(-allmulti allmulti)'{,-}'allmulti[disable or enable all-multicast]' - 'media[set physical port type]:medium type:(auto 10base2 10baseT AUI)' - 'hw[set hardware class]:hardware class:(ether ax25 ARCnet netrom)' - add del dstaddr io_addr irq mem_start multicast pointopoint - tunnel txqueuelen - ) - ;; - solaris*) - args=( - '-ad[apply to all down interfaces]' - '-adD[apply to all down interfaces not controlled by DHCP]' - '-au[apply to all up interfaces]' - '-auD[apply to all up interfaces not controlled by DHCP]' - ) - opts=( - 'auto-revarp[use RARP to acquire address]' - {,-}trailers {,-}private {,un}plumb - '(dhcp auto-dhcp)'{,auto-}'dhcp[use dhcp]' - primary wait drop extend ping release start status - ) - ;; -esac - -_arguments -C "$args[@]" \ - '-a[apply to all interfaces]' \ - '1:network interface:_net_interfaces -r ": \t\n\-"' \ - '::address family:(atalk ether inet inet6 ax25 ddp ipx netrom)' \ - '*:option:->options' && ret=0 - -[[ -n "$state" ]] && _values -S ' ' -w 'option' "$opts[@]" \ - '(down)up[activate interface]' \ - '(up)down[shut down interface]' \ - '(-arp arp)'{,-}'arp[disable or enable address resolution protocol]' \ - 'metric[set routing metric for interface]:routing metric' \ - 'mtu[set maximum transfer unit]:mtu' \ - 'netmask[specify network mask]:netmask' \ - 'broadcast[specify broadcast address]:broadcast address' \ - 'address[specify IP address of interface]:IP address' && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_iftop b/result/sw/share/zsh/5.9/functions/_iftop deleted file mode 100644 index 05db3fa0..00000000 --- a/result/sw/share/zsh/5.9/functions/_iftop +++ /dev/null @@ -1,27 +0,0 @@ -#compdef iftop - -_interfaces () { - local disp expl sep - _description interfaces expl 'network interface' - _net_interfaces "$expl[@]" - if zstyle -t ":completion:${curcontext}:interfaces" verbose; then - zstyle -s ":completion:${curcontext}:interfaces" list-separator sep || sep=-- - disp=( "any $sep capture on all interfaces" ) - compadd "$expl[@]" -ld disp any - else - compadd "$expl[@]" any - fi -} - -_arguments \ - '(-h -n -N -p -b -B -P -i -f -F -c)'-h'[print a summary of usage]' \ - -n"[don't do hostname lookups]" \ - -N"[don't resolve port number to service names]" \ - -p'[run in promiscuous mode]' \ - -P'[turn on port display]' \ - -b"[don't display bar graphs of traffic]" \ - -B'[display bandwidth rates in bytes/sec rather than bits/sec]' \ - '-i+[interface]:network interface:_interfaces' \ - '-f+[filter]:BPF filter' \ - '-F+[net/mask]:network/mask' \ - '-c+[config file]:config file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_ignored b/result/sw/share/zsh/5.9/functions/_ignored deleted file mode 100644 index 00dfc42f..00000000 --- a/result/sw/share/zsh/5.9/functions/_ignored +++ /dev/null @@ -1,68 +0,0 @@ -#autoload - -# Use ignored matches. - -[[ _matcher_num -gt 1 || $compstate[ignored] -eq 0 ]] && return 1 - -local comp -integer ind - -if ! zstyle -a ":completion:${curcontext}:" completer comp; then - comp=( "${(@)_completers[1,_completer_num-1]}" ) - ind=${comp[(I)_ignored(|:*)]} - (( ind )) && comp=("${(@)comp[ind,-1]}") -fi - -local _comp_no_ignore=yes tmp expl \ - _completer _completer_num \ - _matcher _c_matcher _matchers _matcher_num - -_completer_num=1 - -for tmp in "$comp[@]"; do - if [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - if [[ "$tmp" != _ignored ]] && "$tmp"; then - if zstyle -s ":completion:${curcontext}:" single-ignored tmp && - [[ $compstate[old_list] != shown && - $compstate[nmatches] -eq 1 ]]; then - case "$tmp" in - show) compstate[insert]='' compstate[list]='list force' tmp='' ;; - menu) - compstate[insert]=menu - _description original expl original - compadd "$expl[@]" -S '' - "$PREFIX$SUFFIX" - ;; - esac - fi - - return 0 - fi - - (( _matcher_num++ )) - done - - (( _completer_num++ )) -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_imagemagick b/result/sw/share/zsh/5.9/functions/_imagemagick deleted file mode 100644 index b7671fe4..00000000 --- a/result/sw/share/zsh/5.9/functions/_imagemagick +++ /dev/null @@ -1,547 +0,0 @@ -#compdef animate composite combine convert display identify import mogrify montage xtp - -local state line expl curcontext="$curcontext" -local -a formats -typeset -A opt_args - -# Things that could be improved: -# -# - file names and types ($formats) -# - the -draw option -# - urls for xtp -# -# and certainly many other things... - -formats=(jpg jpeg jp2 j2k jpc jpx jpf tif tiff miff ras bmp cgm dcx ps eps fig fits fpx gif mpeg pbm pgm ppm pcd pcl pdf pcx png rad rgb rgba rle sgi html shtml tga ttf uil xcf xwd xbm xpm yuv) - -if (( $# )); then - _files "$@" -g "*.(#i)(${(j:|:)formats})(-.)" - return -fi - -case "$service" in - display) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colormap:colormap type:(shared private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-enhance[enhance noisy image]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-immutable[disallow image modifications]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-magnify:factor' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:3-D edges (raised)' \ - '*+raise:3-D edges (lowered)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-segment:cluster pixel number' \ - '*-shared_memory' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-texture:background texture image:_imagemagick' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-update:redisplay test time (seconds)' \ - '*-use_pixmap' \ - '*-verbose' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*-window_group' \ - '*-write:output filename:_files' \ - '*:picture file:_imagemagick' && return - ;; - - animate) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-backdrop[use full screen]' \ - '*-background:color:_x_color' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '*-colormap:colormap type:(Shared Private)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-debug' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:image resolution (<width>x<height> in pixels)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dither[apply dithering]' \ - '*-font:font:_x_font' \ - '*-foreground:color:_x_color' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '(- *)-help[display help information]' \ - '*-iconGeometry:geometry:_x_geometry' \ - '*-iconic' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-map:colormap type for display:(best default gray red green blue)' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-monochrome[transform to black and white]' \ - '*-name:image name' \ - '*-noop' \ - '*-pause:delay (seconds)' \ - '*-remote:remote command (file name):_imagemagick' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-scenes:image scene number' \ - '*-shared_memory' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-text_font:font:_x_font' \ - '*-title:image title' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-verbose[print image information]' \ - '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \ - '*-window:window ID to display image in:_x_window' \ - '*:picture file:_imagemagick' && return - ;; - - import) - _x_arguments -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-border:border size (<width>x<height>):' \ - '-bordercolor:color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-debug' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-descend[descend window hierarchy]' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-frame[include window manager frame]' \ - '(- *)-help[display help information]' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-pause:delay (seconds)' \ - '-ping' \ - '-pointsize:Postscript font size' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '-scene:number of screen snapshots' \ - '-screen[get root window]' \ - '-silent[be quiet]' \ - '-snaps:number' \ - '-transparent:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-trim' \ - '-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '-verbose[print image information]' \ - '-window:window ID to get:_x_window' \ - ':output file:_files' && return - ;; - - montage) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-adjoin[join images]' \ - '*-background:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-bordercolor:color:_x_color' \ - '*-borderwidth:geometry' \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-debug' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '*-endian:image endianness:(MSB LSB)' \ - '*+endian' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-frame[draw frame around image]' \ - '*-font:annotation font:_x_font' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '(- *)-help[display help information]' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-label:label string' \ - '*-matte[store matte channel]' \ - '*-mattecolor:color:_x_color' \ - '*-mode:montage type:(Frame Unframe Concatenate)' \ - '*-monochrome[transform to black and white]' \ - '*-noop' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sampling_factor:sampling factor (<horizontal_factor>x<vertical_factor>)' \ - '*-scenes:image scene number' \ - '*-shadow[add shadow]' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-stroke:color:_x_color' \ - '*-texture:background texture image:_imagemagick' \ - '*-tile:number of tiles (<width>x<height>)' \ - '*-title:image title' \ - '*-transparent:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-trim' \ - '*-type:image type:(Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize)' \ - '*-verbose[print image information]' \ - '*:picture file:_imagemagick' && return - ;; - - convert) - _arguments -C -M 'm:{a-z}={A-Z}' \ - '-adjoin[join images]' \ - '-affine[drawing transform matrix]:matrix' \ - '-alpha[set the alpha channel]:alpha' \ - '-antialias[remove pixel aliasing]' \ - '-authenticate[decrypt image with specified password]:password' \ - '-attenuate[lessen (or intensify) when adding noise to an image]:value' \ - '-append[append image sequence]' \ - '-average[average image sequence]' \ - '-background[specify background color]:color:_x_color' \ - '-blur:blur factor (0.0 - 99.9%%)' \ - '-border:border size (<width>x<height>)' \ - '-bordercolor:border color:_x_color' \ - '-box:annotation bounding box color:_x_color' \ - '-cache[specify memory available to the pixel cache]:memory (MB)' \ - '-channel:channel:(Red Green Blue Opacity Cyan Magenta Yellow Black)' \ - '-charcoal:charcoal drawing factor' \ - '-chop:<width>x<height>{+-}<x>{+-}<y>' \ - '-clip' \ - '-coalesce[merge image sequence]' \ - '-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-contrast[enhance contrast]' \ - '+contrast[reduce contrast]' \ - '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '-cycle:image colormap shift' \ - '-debug' \ - '-deconstruct[break down image sequence into parts]' \ - '-delay:delay for next image (1/100ths of a second)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-depth:image depth:(8 16)' \ - '-despeckle[reduce speckles in image]' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \ - '-edge:edge detection factor (0.0 - 99.9%%)' \ - '-emboss[emboss image]' \ - '(+endian)-endian:image endianness:(MSB LSB)' \ - '(-endian)+endian' \ - '-enhance[enhance image]' \ - '-equalize[histogram equalization]' \ - '-features[analyze image features (e.g. contrast, correlation)]:distance' \ - '-fill[specify color to use when filling a graphic primitive]:color:_x_color' \ - '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '-flatten[flatten a sequence of images]' \ - '-flip[vertical mirror image]' \ - '-flop[horizontal mirror image]' \ - '-font:annotation font:_x_font' \ - '-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '-fuzz:maximum distance for equal colors' \ - '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-implode:implosion factor (0.0 - 99.9%%)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-interpolative-resize[resize image using point sampled interpolation]:geometry' \ - '-label:label string' \ - '-layer:layer type:(Red Green Blue Matte)' \ - '-linewidth:line width' \ - '-loop:number of iterations (GIF animation)' \ - '-map[single image colormap file]:picture file for colors:_imagemagick' \ - '+map[all images colormap file]:picture file for colors:_imagemagick' \ - '-mask[associate a mask with the image]:file:_files' \ - '-matte[store matte channel]' \ - '-modulate:<brightness>,<saturation>,<hue>' \ - '-monochrome[transform to black and white]' \ - '-morph[morph image sequence]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-noise[noise peak elimination]' \ - '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '-normalize[use full color value range]' \ - '-opaque:image pen color:_x_color' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-paint:oil painting radius' \ - '-pen:font color:_x_color' \ - '-pointsize:Postscript font size' \ - '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \ - '-profile:information profile:->profile' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-raise:lighten or darken edges (<width>x<height>)' \ - '-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '-rotate:rotation (degrees{<}{>})' \ - '-sample:scale factors (<width>x<height>)' \ - '-scene:image scene number' \ - '-seed:random number seed' \ - '-segment:segment thresholds (<cluster>x<smoothing>)' \ - '-shade:image shading (<azimuth>x<elevation>)' \ - '-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '-shear:shearing angles (<x>x<y> in degrees)' \ - '-size:image size (<width>x<height>+<offset>)' \ - '-solarize:solarization threshold' \ - '-spread:neighborhood size' \ - '-support[specify resize support]:support (>1.0 is blurry, < 1.0 is sharp)' \ - '-swirl:swirl tightness' \ - '-texture:background texture image:_imagemagick' \ - '-threshold:threshold for maximum intensity' \ - '-transparency:transparent color:_x_color' \ - '-treedepth:color reduction tree depth' \ - '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '-verbose[print image information]' \ - '-view:FlashPix viewing parameters' \ - '-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - - if [[ "$state" = profile ]]; then - if compset -P 1 '*:'; then - _files - else - _wanted prefixes expl 'profile type' compadd icc: iptc: - fi - return - fi - ;; - - combine|composite) - _arguments -M 'm:{a-z}={A-Z}' \ - '-blend:blending factor (0.0 - 99.9%%)' \ - '-colors:preferred number of colors' \ - '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '-comment:comment string' \ - '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \ - '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '-density:resolution in pixels of image (<width>x<height>)' \ - '-displace:displacements scales (<horizontal>x<vertical>)' \ - '-display:display:_x_display' \ - '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '-dither[apply dithering]' \ - '+dither[render Postscript without aliasing]' \ - '-font:normal text font:_x_font' \ - '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '-interlace:interlacing scheme:(None Line Plane Partition)' \ - '-label:label string' \ - '-matte[store matte channel]' \ - '-monochrome[transform to black and white]' \ - '-negate[invert image]' \ - '+negate[invert only grayscale]' \ - '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '-quality:JPEG/MIFF/PNG compression level' \ - '-scene:image scene number' \ - '-stegano:watermark offset' \ - '-stereo[create stereo anaglyph]' \ - '-tile[repeat composite operation]' \ - '-treedepth:color reduction tree depth' \ - '-verbose[print image information]' \ - ':image file:_imagemagick' \ - ':composite file:_imagemagick' \ - ':mask or combined file:_imagemagick' \ - ':combined file:_files' && return - ;; - - mogrify) - _arguments -M 'm:{a-z}={A-Z}' \ - '*-affine[drawing transform matrix]:matrix' \ - '*-antialias[remove pixel aliasing]' \ - '*-background[specify background color]:color:_x_color' \ - '*-blur:blur factor (0.0 - 99.9%%)' \ - '*-border:border size (<width>x<height>)' \ - '*-bordercolor:border color:_x_color' \ - '*-box:annotation bounding box color:_x_color' \ - '*-charcoal:charcoal drawing factor' \ - '*-colorize:colorization amount (<num> or <red>/<green>/<blue>)' \ - '*-colors:preferred number of colors' \ - '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \ - '*-comment:comment string' \ - '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \ - '*-contrast[enhance contrast]' \ - '*+contrast[reduce contrast]' \ - '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%%})' \ - '*-cycle:image colormap shift' \ - '*-delay:delay for next image (1/100ths of a second)' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth:image depth:(8 16)' \ - '*-despeckle[reduce speckles in image]' \ - '*-display:display:_x_display' \ - '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \ - '*-dither[apply dithering]' \ - '*+dither[render Postscript without aliasing]' \ - '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \ - '*-edge:edge detection factor (0.0 - 99.9%%)' \ - '*-emboss[emboss image]' \ - '*-enhance[enhance image]' \ - '*-equalize[histogram equalization]' \ - '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ - '*-flip[vertical mirror image]' \ - '*-flop[horizontal mirror image]' \ - "*-format:output file format:($formats)" \ - '*-font:annotation font:_x_font' \ - '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \ - '*-fuzz:maximum distance for equal colors' \ - '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \ - '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>})' \ - '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \ - '*-implode:implosion factor (0.0 - 99.9%%)' \ - '*-interlace:interlacing scheme:(None Line Plane Partition)' \ - '*-layer:layer type:(Red Green Blue Matte)' \ - '*-linewidth:line width' \ - '*-loop:number of iterations (GIF animation)' \ - '*-map[single image colormap file]:picture file for colors:_imagemagick' \ - '*+map[all images colormap file]:picture file for colors:_imagemagick' \ - '*-matte[store matte channel]' \ - '*-modulate:<brightness>,<saturation>,<hue>' \ - '*-monochrome[transform to black and white]' \ - '*-negate[invert image]' \ - '*+negate[invert only grayscale]' \ - '*-noise[noise peak elimination]' \ - '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \ - '*-normalize[use full color value range]' \ - '*-opaque:image pen color:_x_color' \ - '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \ - '*-paint:oil painting radius' \ - '*-pen:font color:_x_color' \ - '*-pointsize:Postscript font size' \ - '*-quality:JPEG/MIFF/PNG compression level' \ - '*-raise:lighten or darken edges (<width>x<height>)' \ - '*-region:image region (<width>x<height>{+-}<x>{+-}<y>)' \ - '*-resize:size (<width>x<height>{%%}{@}{!}{<}{>})' \ - '*-roll:image roll offset ({+-}<x>{+-}<y>)' \ - '*-rotate:rotation (degrees{<}{>})' \ - '*-sample:scale factors (<width>x<height>)' \ - '*-scene:image scene number' \ - '*-seed:random number seed' \ - '*-segment:segment thresholds (<cluster>x<smoothing>)' \ - '*-shade:image shading (<azimuth>x<elevation>)' \ - '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ - '*-shave:shave edges (<width>x<height>{%%})' \ - '*-shear:shearing angles (<x>x<y> in degrees)' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-solarize:solarization threshold' \ - '*-spread:neighborhood size' \ - '*-swirl:swirl tightness' \ - '*-texture:background texture image:_imagemagick' \ - '*-threshold:threshold for maximum intensity' \ - '*-transparency:transparent color:_x_color' \ - '*-treedepth:color reduction tree depth' \ - '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \ - '*-verbose[print image information]' \ - '*-view:FlashPix viewing parameters' \ - '*-wave:sine wave parameters (<amplitude>x<wavelength>)' \ - '*:picture file:_imagemagick' && return - ;; - - xtp) - _arguments -M 'm:{a-z}={A-Z}' \ - '-account:password' \ - '-binary[retrieve files as binary]' \ - '-directory[list directory]' \ - '-exclude:regular expression for exclusion' \ - '-file:output file:_files' \ - '-get[get files]' \ - '-port:port: _ports' \ - '-proxy:host of proxy ftp daemon:_hosts' \ - '-print[print files]' \ - '-prune[process files from remote directory]' \ - '-put[put files]' \ - '-retrieve[retrieve matching files]' \ - '-timeout:maximum timeout' \ - '-type:remote system type:(UNIX VMS other)' \ - ':URL: _urls' && return - ;; - - identify) - _arguments \ - '*-cache[specify memory available to the pixel cache]:memory (MB)' \ - '*-debug' '*-ping' \ - '*-density:resolution in pixels of image (<width>x<height>)' \ - '*-depth[specify image depth]:image depth:(8 16)' \ - '*-format[specify format for image characteristics]:format' \ - '(- *)-help[display help information]' \ - '*-size:image size (<width>x<height>+<offset>)' \ - '*-verbose[print more detailed info about image]' \ - '*:picture file:_imagemagick' && return - ;; - - *) _message 'eh?' ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_in_vared b/result/sw/share/zsh/5.9/functions/_in_vared deleted file mode 100644 index c3c8a20e..00000000 --- a/result/sw/share/zsh/5.9/functions/_in_vared +++ /dev/null @@ -1,35 +0,0 @@ -#compdef -vared- - -local also - -# Completion inside vared. - -if [[ $compstate[vared] = *\[* ]]; then - if [[ $compstate[vared] = *\]* ]]; then - # vared on an array-element - compstate[parameter]=${${compstate[vared]%%\]*}//\[/-} - compstate[context]=value - also=-value- - else - # vared on an array-value - compstate[parameter]=${compstate[vared]%%\[*} - compstate[context]=value - also=-value- - fi -else - # vared on a parameter, let's see if it is an array - compstate[parameter]=$compstate[vared] - if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then - compstate[context]=array_value - also=-array-value- - else - compstate[context]=value - also=-value- - fi -fi - -# Don't insert TAB in first column. Never. - -compstate[insert]="${compstate[insert]//tab /}" - -_dispatch "$also" "$also" diff --git a/result/sw/share/zsh/5.9/functions/_inetadm b/result/sw/share/zsh/5.9/functions/_inetadm deleted file mode 100644 index 527cc5a7..00000000 --- a/result/sw/share/zsh/5.9/functions/_inetadm +++ /dev/null @@ -1,10 +0,0 @@ -#compdef inetadm - -_arguments -s \ - '-?[help]' \ - '-l[list service instance properties]:FMRI:_svcs_fmri -i' \ - '-e[enable specified instance]:FMRI:_svcs_fmri -i' \ - '-d[disable specified instance]:FMRI:_svcs_fmri -i' \ - '-p[list inet service properties]' \ - '-m[modify service instance properties]:FMRI:_svcs_fmri -i' \ - '-M[modify inet service properties]' diff --git a/result/sw/share/zsh/5.9/functions/_init_d b/result/sw/share/zsh/5.9/functions/_init_d deleted file mode 100644 index cdc37329..00000000 --- a/result/sw/share/zsh/5.9/functions/_init_d +++ /dev/null @@ -1,125 +0,0 @@ -#compdef -p */(init|rc[0-9S]#).d/* - -local cmds script -local -a flags - -_compskip=all - -if [[ $OSTYPE = freebsd* ]]; then - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - local -a scriptpath - local name=$1 dir - # Known locations of init scripts - # C.f. Unix/Type/_services - scriptpath=(/etc/rc.d $(/bin/sh -c '. /etc/rc.subr; load_rc_config XXX; echo $local_startup' 2>/dev/null)) - - for dir in $scriptpath; do - if [[ -f $dir/$name ]]; then - echo $dir/$name - return 0 - fi - done - return 1 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local magic cmds cmd_prefix - - [[ -x $script ]] || return 1 - [[ $(read -u0 -k2 magic < $script && echo $magic) = '#!' ]] || return 0 - [[ -f /etc/rc.subr ]] && [[ -x /sbin/rcorder ]] || return 0 - grep -q '^ *\. */etc/rc\.subr *$' $script || return 0 - cmds=( - start stop restart rcvar status poll - $(/bin/sh -c "set -- rcvar; . $script >/dev/null; echo \$extra_commands" 2>/dev/null) - ) - - for cmd_prefix in {,one,fast,force,quiet}; do - echo ${cmds/#/$cmd_prefix} - done - - return 0 - } -elif [[ $OSTYPE = openbsd* ]]; then - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - echo /etc/rc.d/$1 - return 0 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local -a cmds disabled - - cmds=(start stop reload restart check) - disabled=(${${${(M)${(f)"$(< $script)"}:#rc_(${(~j:|:)cmds})=NO}#rc_}%=NO}) - echo ${cmds:|disabled} - } - - flags=('-d[print debug information]' '-f[forcibly start the daemon]') -else - (( $+functions[_init_d_fullpath] )) || - _init_d_fullpath() { - local -a scriptpath - local name=$1 dir - # Known locations of init scripts - # C.f. Unix/Type/_services - scriptpath=(/etc/init.d /etc/rc.d /etc/rc.d/init.d) - - for dir in $scriptpath; do - if [[ -f $dir/$name ]]; then - echo $dir/$name - return 0 - fi - done - return 1 - } - - (( $+functions[_init_d_get_cmds] )) || - _init_d_get_cmds() { - local what magic cmds - local -a tmp - - [[ -x $script ]] || return 1 - - # If the file starts with `#!' we hope that this is a shell script - # and get lines looking like <space>foo|bar) with the words in $what. Note - # that we'll fail to match if any of the alternate patterns in the case - # clause are not enumerated (e.g., `start|stop|custom)` won't match) - tmp=( - status add delete clean list - load save show check {config,}test - standalone master graceful - debug debug{_,-}{up,down} dump{,{_,-}stats} - {force-,graceful-,try-,}{start,stop,restart,reload} - {start,stop}-htcacheclean - ) - what="((['\"]|)(${(j<|>)tmp})(['\"]|))" - - read -u0 -k2 magic < $script && [[ $magic = '#!' ]] && { - cmds=( ${(f)"$(< $script)"} ) - cmds=( ${(M)cmds:#[[:blank:]]#${~what}([[:blank:]]#\|[[:blank:]]#${~what})#[[:blank:]]#\)} ) - cmds=( ${${(j:|:s:|:)cmds}//[^-a-z_]} ) - } - - # This would be the pattern to use every line of the form <space>foo). - # Some people say this might match too many lines... - # - # cmds=( ${${(j:|:s:|:)${(M)${(f)"$(< $script)"}:#[[:blank:]]#(\'|)[a-z_|]##\'|)\)}}//[^a-z_]} ) - - echo $cmds - return 0 - } -fi - -script=$words[1] -[[ $script = */* ]] || script="$(_init_d_fullpath "$script")" - -cmds=( $(_init_d_get_cmds) ) || return 1 - -(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds || - cmds=(start stop) - -_arguments -s -A "-*" $flags ':init.d command:_sub_commands $cmds' diff --git a/result/sw/share/zsh/5.9/functions/_initctl b/result/sw/share/zsh/5.9/functions/_initctl deleted file mode 100644 index b60bdbc5..00000000 --- a/result/sw/share/zsh/5.9/functions/_initctl +++ /dev/null @@ -1,184 +0,0 @@ -#compdef initctl start stop restart reload status -# Written by Bernhard Tittelbach -# based on completion script by Mildred - -typeset -g -a -U _initctl_events_list _initctl_eventargs_list - -# run show-config -e and if possible parse out all events and KEY= arguments -# otherwise provide some common values -_initctl_fillarray_events_args () -{ - setopt extendedglob - local showconfig="$(initctl show-config -e 2>| /dev/null)" - if [[ -n "$showconfig" ]]; then - _initctl_events_list=() - _initctl_eventargs_list=() - for cline in "${(f)showconfig}"; do - if [[ "$cline" == (#s)\ \ (stop\ on|start\ on|emit)\ (#b)([[:alpha:]-_]##)(*)(#e) ]]; then - _initctl_events_list+=($match[1]) - # this is a bit tricky, we take the string right of the matched event - # and parse for \sUPPERCASE=\S (in perl-re syntax) substrings until there are no more matches - # since we can't do multiple matches, we concatenated the remaining strings and try again - local stml="$match[2]" - while [[ "$stml" == (#b)(*)\ ([[:upper:]_]##\=)[^[:space:]](#b)(*) ]]; do - _initctl_eventargs_list+=($match[2]) - stml="$match[1] $match[3]" - done - unset stml - fi - done - else - _initctl_events_list=( socket login-session-start desktop-session-start virtual-filesystems local-filesystems remote-filesystems all-swaps filesystem mounting mounted net-device-up start-portmap runlevel unmounted-remote-filesystems ) - _initctl_eventargs_list=( PRIMARY_DEVICE_FOR_DISPLAY= EXIT_STATUS= EXIT_SIGNAL= RUNLEVEL= MOUNTPOINT= TYPE= INTERFACE= ) - fi - return 0 -} - -# list all upstart jobs, i.e. all files in /etc/init/ -_initctl_helper_jobs() -{ - _path_files -W "/etc/init/" -g "*.conf(-.:r)" -} - -# list events, generate array if necessary -_initctl_known_events() -{ - [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args - _values "Event" "$_initctl_events_list[@]" -} - -# list events, allow multiple choices, generate array if necessary -_initctl_multiple_known_events() -{ - [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args - _values -s "," "event" "$_initctl_events_list[@]" -} - -# list KEY= arguments, generate array if necessary -_initctl_known_eventargs() -{ - [[ ${#_initctl_eventargs_list} -eq 0 ]] && _initctl_fillarray_events_args - _values "argument key" "$_initctl_eventargs_list[@]" -} - -# describe and offer commands for initctl, then call matching completion function -_initctl_command() -{ - local cmds - cmds=( - start:"Start jobs" - stop:"Stop jobs" - restart:"Restart jobs" - reload:"Send SIGHUP to process instance" - status:"Query status of jobs" - list:"List known jobs" - emit:"Emit an event" - reload-configuration:"tell init to reload config files (generally inotify is used)" - version:"Request the version of the init daemon" - log-priority:"Change the minimum priority of log messages from the init daemon" - show-config:"Show start/stop/emit for processes" - check-config:"Find jobs than can't be started" - help:"display list of commands" - ) - - if (( CURRENT == 1 )); then - _describe -t command "initctl command" cmds - fi - - local cmd=$words[1] - - local curcontext="${curcontext%:*}:initctl-${cmd}" - _call_function ret _initctl_${cmd_completion_funcs[${cmd}]-${cmd_completion_default}} -} - -# completion for start/stop/restart/reload i.e. anything that take one job and multiple KEY= arguments's -_initctl_startstop() -{ - _arguments \ - '--no-wait[do not wait for operation to complete before exiting]' \ - "${common_args[@]}" \ - ':upstart job:_initctl_helper_jobs' \ - '*::argument key:_initctl_known_eventargs' -} - -# completion for anything that takes one job -_initctl_argjob() -{ - _arguments \ - "${common_args[@]}" \ - ':upstart job:_initctl_helper_jobs' \ - '*::' -} - -# completion for emit, providing options, one event and multiple KEY= arguments's -_initctl_emit() -{ - _arguments \ - '--no-wait[do not wait for event to finish before exiting]' \ - "${common_args[@]}" \ - ':event:_initctl_known_events' \ - '*::argument key:_initctl_known_eventargs' -} - -# the fallback, just the options -_initctl_basic() -{ - _arguments \ - "${common_args[@]}" -} - -# completion for show-config, additional option and one job -_initctl_show-config() -{ - _arguments \ - "(-e --enumerate)"{-e,--enumerate}"[enumerate emit lines]" \ - "${common_args[@]}" \ - '::upstart job:_initctl_helper_jobs' \ - '*::' -} - -# completion for show-config, additional options and one job -_initctl_check-config() -{ - _arguments \ - "(-i --ignore-events)"{-i,--ignore-events}"[list of comma-separated events to ignore]:Events:_initctl_multiple_known_events" \ - "(-w --warn)"{-w,--warn}"[treat any unknown jobs or events as error]" \ - "${common_args[@]}" \ - '::upstart job:_initctl_helper_jobs' \ - '*::' -} - -# after defining above functions, overwrite _initctl function so helper-functions are loaded only once -_initctl() -{ - local -a common_args - common_args=( - '--session[use D-Bus session bus to connect to init daemon (for testing)]' - '--system[talk via DBUS system bus instead of socket]' - '(-q --quiet)'{-q,--quiet}'[reduce output to errors only]' - '(-v --verbose)'{-v,--verbose}'[increase output to include informational messages]' - '--dest=[specify D-Bus name for init]:D-Bus name [com.ubuntu.Upstart]' - '--help[display help and exit]' - '--version[output version information and exit]' - ) - - # map each initctl function to a completion function - local -A cmd_completion_funcs - cmd_completion_funcs=( start startstop stop startstop restart startstop reload startstop show-config show-config status argjob emit emit check-config check-config ) - - # define fallback completion function - local cmd_completion_default=basic - - # depending on which command was used, call different completion functions - case $service in - initctl) - _arguments "${common_args[@]}" '*::initctl command:_initctl_command' - ;; - start|stop|restart|reload|status) - _call_function ret _initctl_${cmd_completion_funcs[${service}]-${cmd_completion_default}} - ;; - *) return 1 ;; - esac -} - -_initctl "$@" diff --git a/result/sw/share/zsh/5.9/functions/_install b/result/sw/share/zsh/5.9/functions/_install deleted file mode 100644 index 36411996..00000000 --- a/result/sw/share/zsh/5.9/functions/_install +++ /dev/null @@ -1,113 +0,0 @@ -#compdef install ginstall - -local curcontext="$curcontext" lx ret=1 -local -a line state state_descr common_args args tmp -local -A opt_args val_args - -# These are *almost* common — non-GNU variants need to remove the long options -common_args=( - '(--backup)-b[create backups of destination files]' - '(-C -c --compare)'{-C,--compare}'[copy files; do nothing if identical destination file exists]' - '(-C -c --compare)-c[copy files (default)]' - '(-d --directory)'{-d,--directory}'[create directories]' - '(-g --group)'{-g+,--group=}'[specify destination file group]: :_groups' - '(-m --mode)'{-m+,--mode=}'[specify destination file mode]: :_file_modes' - '(-o --owner)'{-o+,--owner=}'[specify destination file owner]: :_users' - '(-p --preserve-timestamps)'{-p,--preserve-timestamps}'[preserve modification times]' - '(-s --strip)'{-s,--strip}'[strip binaries]' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '*: :_files' -) - -if _pick_variant gnu='Free Soft' unix --version; then - # Hide Linux-specific options on non-Linux platforms - [[ $OSTYPE == linux* ]] || lx='!' - args+=( - $common_args - '(-b --backup)--backup=[create backup; optionally specify method]:: :->controls' - "${lx}--context=-[like -Z, or specify SELinux security context to set]::SELinux security context:_selinux_contexts" - '-D[create all leading destination path components]' - '(: -)--help[display help information]' - "${lx}--preserve-context[preserve SELinux security context]" - '--strip-program=[specify program used to strip binaries]:strip program:_files' - '(-S --suffix)'{-S+,--suffix=}'[specify backup suffix]:backup suffix' - '(-t --target-directory)'{-t+,--target-directory=}'[copy source to specified directory]: :_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat destination as regular file]' - '(: -)--version[display version information]' - "${lx}-Z[set SELinux security context on destination files to default type]" - ) - -else - args+=( - ${common_args##((#s)|*\))(\*|)--*} - '-B+[specify backup suffix for -b]:backup suffix' - '-f+[specify destination file flags]: :_file_flags' - ) - [[ $OSTYPE == dragonfly* ]] && args+=( - '!-D+[no effect (compatibility with NetBSD)]: :_directories' - '-L+[use user/group database files from specified directory]: :_directories' - '-l[fall back to system files if user/group not found in -L directory]' - ) - [[ $OSTYPE == netbsd* ]] && args+=( - '-a+[specify shell command to run on files after install]:shell command' - '-r[use temporary files to perform safe copy]' - '-S+[specify arguments to pass to strip program]:arguments to strip program' - ) - [[ $OSTYPE == (net|open)bsd* ]] && { - # (Net|Open)BSD has no -v for some reason - args=( ${args##((#s)|*\))(\*|)-v*} ) - } - [[ $OSTYPE == openbsd* ]] && args+=( - '-D[create all leading destination path components]' - '-F[flush installed file contents to disk]' - ) - [[ $OSTYPE == (darwin|dragonfly)* ]] && args+=( - '-M[disable use of mmap(2)]' - ) - [[ $OSTYPE == (dragonfly|freebsd|netbsd)* ]] && args+=( - '(-C -c --compare)-l+[link files (rather than copy) using specified method]: :->linkflags' - '+N+[use user/group database files from specified directory]: :_directories' - '-U[indicate that install is unprivileged]' - ) - [[ $OSTYPE == (freebsd|netbsd)* ]] && args+=( - '-D+[specify destination directory used for metadata log]: :_directories' - '-h+[store digest in metadata log using specified method]: :->digests' - '-M+[log mtree(8) metadata for installed files to specified file]:metadata log file:_files' - '-T+[specify mtree(8) tags to store in metadata log]:mtree(8) tags' - ) - [[ $OSTYPE == netbsd* ]] || args+=( - '-S[use temporary files to perform safe copy]' - ) -fi - -_arguments -C -s -S : $args && ret=0 - -case $state in - controls) - tmp=( - {none,off}':never make backups' - {numbered,t}':make numbered backups' - {existing,nil}':make numbered backups if they already exist' - # 'never' actually means 'always'... - {simple,never}':make simple backups' - ) - _describe -t controls 'version control method' tmp && ret=0 - ;; - digests) - tmp=( none md5 rmd160 sha1 sha256 sha512 ) - [[ $OSTYPE == netbsd* ]] && tmp+=( sha384 ) - _values 'digest method' $tmp && ret=0 - ;; - linkflags) - tmp=( - 'h[hard links]' - 's[symlinks]' - 'm[mixed (hard links for files on same file system)]' - 'a[symlinks use absolute path]' - 'r[symlinks use relative path]' - ) - _values -S '' 'link flag' $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_invoke-rc.d b/result/sw/share/zsh/5.9/functions/_invoke-rc.d deleted file mode 100644 index cd8df28c..00000000 --- a/result/sw/share/zsh/5.9/functions/_invoke-rc.d +++ /dev/null @@ -1,11 +0,0 @@ -#compdef invoke-rc.d - -_arguments \ - '--quiet[quiet mode, no error messages are generated]' \ - '--force[run the initscript regardless of policy and subsystem]' \ - '--try-anyway[run the initscript even if a non-fatal error is found]' \ - '--disclose-deny[return 101 instead of 0 if action is denied]' \ - '--query[return one of status codes 100-106, does not run the script]' \ - '--no-fallback[ignore any fallback action requests by the policy layer]' \ - '1:service:_services' \ - '2:command:(start stop force-stop restart reload force-reload status)' diff --git a/result/sw/share/zsh/5.9/functions/_ionice b/result/sw/share/zsh/5.9/functions/_ionice deleted file mode 100644 index ba403ca5..00000000 --- a/result/sw/share/zsh/5.9/functions/_ionice +++ /dev/null @@ -1,35 +0,0 @@ -#compdef ionice - -local curcontext="$curcontext" state line expl ret=1 -local -A opt_args - -_arguments -C -s -S \ - '(H -c --class)'{-c+,--class=}'[scheduling class]:class:((0\:none 1\:realtime 2\:best-effort 3\:idle))' \ - '(H -m --classdata)'{-n+,--classdata=}'[scheduling class priority]:class-priority:(( - 0\:high\ priority - {6..1}\: - 7\:low\ priority - ))' \ - '(H -t --ignore)'{-t,--ignore}'[ignore failures]' \ - '(H)*:: :->args' \ - + 'H' \ - '(- *)'{-V,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - + '(args)' \ - '(H)'{-p-,--pid=-}'[interpret args as process ID]::process id:_pids' \ - '(H)'{-P-,--pgid=-}'[specify process group IDs]::process group:_pgids' \ - '(H)'{-u-,--uid=-}'[act on running process owned by specified users]::user id' && ret=0 - -if [[ -n $state ]]; then - if (( $+opt_args[args--p] || $+opt_args[args---pid] )); then - _pids && ret=0 - elif (( $+opt_args[args--P] || $+opt_args[args---pgid] )); then - _pgids && ret=0 - elif (( $+opt_args[args--u] || $+opt_args[args---uid] )); then - _message -e uids 'user id' - else - _normal && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_iostat b/result/sw/share/zsh/5.9/functions/_iostat deleted file mode 100644 index 1152b0d8..00000000 --- a/result/sw/share/zsh/5.9/functions/_iostat +++ /dev/null @@ -1,159 +0,0 @@ -#compdef iostat - -local -a args parser -parser=( -s -S -A '-*' ) - -case $OSTYPE:l in - *bsd*|dragonfly*) - args+=( - '-c+[repeat the display N times]:count' - '-C[display CPU statistics]' - '-d[display only device statistics]' - '-I[display total statistics for a given period, rather than average]' - '-T[display TTY statistics]' - '-w+[specify the duration of pauses between each display]:duration' - '*: :_bsd_disks' - ) - ;| - freebsd*|openbsd*|dragonfly*) - args+=( - '-M+[extract values of the name list from specified file]:core:_files' - '-N+[extract the name list from the specified file]:system:_files' - ) - ;| - freebsd*|dragonfly*) - args+=( - '-h[top mode]' - '-K[display block count in kilobytes, not block size]' - '-n+[display up to the specified number fo devices]:number of disks' - '-o[display old-style iostat device statistics]' - '*-t+[specify which type of device to display]: :_fbsd_device_types' - ) - ;| - freebsd*) - args+=( - '-x[show extended disk statistics]' - '-z[omit lines for devices with no activity]' - '(* -)-?[display a usage statement and exit]' - ) - ;; - dragonfly*) - args+=( - '-D[display more details]' - ) - ;; - openbsd*|netbsd*) - args+=( - '-D[display alternate disk statistics]' - ) - ;| - netbsd*) - args+=( - '-x[show extended disk statistics]' - '-y[report data on waiting and active requests]' - ) - ;; - aix*) - args=( - '(-b -q -Q -f -F)-a[displays the adapter throughput report]' - '(-b)-A[displays the legacy asynchronous IO utilization report, and turns off the display of TTY utilization report]' - '-b[displays the block I/O device utilization statistics]' - '(-b)-d[turns off the display of TTY utilization report or CPU utilization report]' - '(-b -f -F)-D[displays the extended tape/drive utilization report]' - '(-a -b -D)-f[displays the file system utilization report]' - '(-a -b -D)-F[displays the file system utilization report, and turns off other utilization reports]' - '(-b)-l[displays the output in long listing mode]' - '(-b -t)-m[displays the path utilization report]' - '(-b)-p[displays the tape utilization report]' - '(-b)-P[displays the POSIX asynchronous IO utilization report]' - '(-b)-q[specifies AIO queues and their request counts]' - '(-b)-Q[displays a list of all the mounted file systems and the associated queue numbers with their request counts]' - '(-b)-R[specifies that the reset of min* and max* values should happen at each interval]' - '(-b)-s[specifies the system throughput report]' - '(-b)-S[displays the processor statistics that are multiplied by a value of 10]:power' - '(-b -m)-t[turns off the display of disk utilization report]' - '-T[displays the time stamp]' - '(-b)-V[displays valid nonzero statistics]' - '(-b)-z[resets the disk input/output statistics]' - '(-b)-@[reports I/O activities of a workload partition]:workload:(ALL Global)' - '*:drives:_files' # not sure how to enumerate drives on aix - ) - ;; - solaris*) - args=( - '-c[report percentage of time the system spent in user/system mode, dtrace probes and idling]' - '-C[report extended disk statistics aggregated by controller id, when used with -x]' - '-d[report kilobytes transferred per second, transfers per second and average service time]' - '-D[report reads/writes per second and percentage disk utilization]' - '-e[display device error summary statistics]' - '-E[display all device error statistics]' - '-i[display Device ID instead of the Serial No, when used with -E]' - '-I[report counts in each interval]' - '-l[limit the number of disks included in the report]:number of disks' - '-m[report file system mount points]' - '-M[display data throughput in MB/sec instead of KB/sec]' - '-n[display names in descriptive format]' - '-p[report per-partition statistics]' - '-P[report per-partition statistics only]' - '-r[display data in comma-separated format]' - '-s[suppress message related to state changes]' - '-t[report the number of characters read and written to terminals per second]' - '-T[display a timestamp]:format:(( "u\:internal representation of time" "d\:standard date format" ))' - '-X[report statistics for lun.controller, for disks under scsi_vhci(7D) control]' - '-x[report extended disk statistics]' - '-Y[report statistics for lun.targetport and lun.targetport.controller, for disks under scsi_vhci(7D) control]' - '-z[ignore lines where data values are all zeros]' - '::device:( ${${${(f)"$(iostat -rx 1 1)"}[3,-1]}%%,*} )' - ) - ;; - darwin*) - args=( - '(- *)-?[display usage statement and exit]' - '-C[display CPU statistics]' - '-c+[number of times to display statistics]:count' - '-d[display only device statistics]' - '-I[display total statistics for a given period, rather than average]' - '-K[display block count in kilobytes]' - '-n+[limit the number of disks included in the report]:number of disks' - '-o[display old-style iostat device statistics]' - '-T[display TTY statistics]' - '-U[display system load averages]' - '-w+[specify the duration of pauses between each display]:duration' - '*::device:_files -W /dev -g "disk*"' - ) - ;; - *linux*) - parser=( -s ) - args=( - '-c[display CPU utilization report]' - '-d[display device utilization report]' - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' - '-f[specify alternative directory to read device statistics from]:directory:_directories' - '+f[specify additional directory to read device statistics from]:directory:_directories' - '*-g[display statistics for a group of devices]:group name' - '-H[only display global statistics for group]' - '(--human)-h[human readable device utilization report]' - '--human[print sizes in human readable format]' - '--pretty[make report easier to read by a human]' - '-j[display persistent device name]:name type:(ID LABEL PATH UUID)' - '(-m)-k[display statistics in kB/s]' - '(-k)-m[display statistics in MB/s]' - '-N[display registered device mapper names]' - '-o[display statistics in JSON]:format:(JSON)' - '-p[display statistics for block devices]' - '-t[display the time for each report]' - '(- *)-V[display version information]' - '-x[display extended statistics]' - '-y[omit first statistics report following system boot]' - '-z[omit output for devices lacking activity]' - '*::device:_files -W /dev -g "*(-%)"' - ) - ;; -esac - -if (( $#args )); then - _arguments $parser : $args - return -fi - -_default diff --git a/result/sw/share/zsh/5.9/functions/_ip b/result/sw/share/zsh/5.9/functions/_ip deleted file mode 100644 index 9a7cbd82..00000000 --- a/result/sw/share/zsh/5.9/functions/_ip +++ /dev/null @@ -1,577 +0,0 @@ -#compdef ip - -# This is based on iproute2-ss061214. -# The manual and help text summaries are not consistent with the main -# manual text. I have based this on the main manual text, except where -# it's obviously deficient. - -# -# Values encoding simple types -# -local -a subcmd_dev net_intf_disp net_intf_list -# subcmd_dev=(/$'[[:alnum:][:punct:][:cntrl:][:digit:]]##\0'/ ':interfaces:network interface:_net_interfaces') -_find_net_interfaces -subcmd_dev=(/"(${(j.|.)net_intf_list})"$'\0'/ - ':interfaces:network interface:_net_interfaces') - -local -a subcmd_onoff -subcmd_onoff=(/$'(on|off)\0'/ ':onoff:state (on or off):(on off)') - -local -a subcmd_string -subcmd_string=(/$'[^\0]#\0'/ ':string:arbitrary string:( )') - -local -a subcmd_number -subcmd_number=(/$'[0-9]##\0'/ ':number:decimal number:( )') - -local xp='[[:xdigit:]][[:xdigit:]]' -local -a subcmd_lladdr -subcmd_lladdr=(/"${xp}:${xp}:${xp}:${xp}:${xp}:${xp}"$'\0'/ -':lladdress:link layer (MAC) address:( )') - -local -a subcmd_ipaddr -subcmd_ipaddr=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ':ipaddress:IP address (v4 or v6) with optional /<network-prefix-length>:( )' -) - -local -a subcmd_ipaddrs -local PATH=$PATH -PATH=/sbin:$PATH -subcmd_ipaddrs=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ":ipaddress:IP address (v4 or v6) currently set:( $(ip addr show | sed -n 's/^ *inet6* \([0-9a-f\.:/]*\) .*$/\1/p') )" -) -local -a subcmd_prefix_label -subcmd_prefix_label=( - /$'(<->(.<->(.<->(.<->|)|)|)|[:[:xdigit]]#:[:[:xdigit:]]#)(|/<->)\0'/ - ":ipaddresslabel:IP addrlabel prefix currently set:( $(ip -6 addrlabel list 2>/dev/null | sed -n 's/^prefix \([0-9a-f\.:/]*\) .*$/\1/p') )" -) - - -local -a subcmd_scope -_regex_words scope "IP address scope" \ - 'global:address globally valid' \ - 'site:address valid for site (IPv6)' \ - 'link:address valid for single link' \ - 'host:address valid for this host' -subcmd_scope=("$reply[@]") - -local -a subcmd_nud -_regex_words nud "Neighbour Unreachability Detection state" \ - 'permanent:valid forever' \ - 'noarp:valid, not validated, removed if expired' \ - 'reachable:valid until reachability timeout' \ - 'stale:valid but suspicious' -subcmd_nud=("$reply[@]") - -local -a subcmd_rttype -_regex_words route-type "Route type" \ - 'unicast:real point-to-point route' \ - 'unreachable:generate Host Unreachable messages' \ - 'blackhole:silently discard' \ - 'prohibit:generate Communication Administratively Prohibited messages' \ - 'local:Loopback route' \ - 'broadcast:destinations are broadcast addresses' \ - 'throw:used with policy rules, generate Net Unreachable if no route' \ - 'nat:Network Address Translation route' \ - 'anycast:anycast addresses, not implemented' \ - 'multicast:multicast routing, not present in normal tables' -subcmd_rttype=("$reply[@]") - -local -a subcmd_route -# Route type is optional in route. -# There's an overall default but then the whole thing is missed -# out, and it's marked as optional anyway. -subcmd_route=("(" $subcmd_rttype "|" ")" $subcmd_ipaddr) - -local -a subcmd_tos -_regex_words tos "type of service" \ - 'lowdelay:low latency' \ - 'throughput:high bulk throughput' \ - 'reliability:high reliability' -subcmd_tos=("(" "$reply[@]" "|" - /$'(|0x)[[:xdigit:]]##\0'/ ":hex-number:8-bit hex number:( )" ")") - -local -a subcmd_lockmtu -subcmd_lockmtu=("(" /$'lock\0'/ ":lock:lock:(lock)" "|" ")" $subcmd_number ) - -local -a subcmd_nexthop -_regex_words nexthop 'nexthop route keyword' \ - 'via:specify nexthop router:$subcmd_ipaddr' \ - 'dev:specify output device:$subcmd_dev' \ - 'weight:specify relative quality of route:$subcmd_number' -subcmd_nexthop=("$reply[@]" "#") - -local -a subcmd_rtprotocol -_regex_words rtprotocol 'route protocol' \ - 'redirect:installed from ICMP redirect' \ - 'kernel:installed automatically by kernel' \ - 'boot:installed during boot sequence' \ - 'static:installed by administrator' \ - 'ra:installed by Router Discovery protocol' -subcmd_rtprotocol=("$reply[@]") - -local -a subcmd_rttable -_regex_words rttable 'routing table' \ - 'local:local routes' \ - 'main:main routing table' \ - 'default:default routing table' \ - 'unspec:unspecified routing table' -subcmd_rttable=("(" "$reply[@]" "|" $subcmd_number ")") - -local -a subcmd_rtrealm subcmd_rtrealms -_regex_words -t / rtrealm 'routing realm' \ - 'cosmos:everywhere' -subcmd_rtrealms=("(" "$reply[@]" "|" /$'[0-9]##/'/ - ':number:decimal number:( )' ")") - -_regex_words rtrealm 'routing realm' \ - 'cosmos:everywhere' -subcmd_rtrealm=("(" "$reply[@]" "|" $subcmd_number ")") -subcmd_rtrealms+=($subcmd_rtrealm) - -local -a subcmd_rtselector -_regex_words rtselmod 'routing selector modifier' \ - 'root:select minimum route prefix length to match' \ - 'match:select maximum route prefix length to match' \ - 'exact:select exact prefix length to match' -subcmd_rtselector=("(" "$reply[@]" "|" ")" $subcmd_ipaddr) - -local -a subcmd_family -_regex_words family 'protocol family' \ - 'inet:IPv4' \ - 'inet6:IPv6' \ - 'link:local, no networking protocol' -subcmd_family=("$reply[@]") - -local -a subcmd_ruletypes -_regex_words ruletype 'rule type' \ - 'unicast:rule applies to a route' \ - 'blackhole:rule silently drops packet' \ - 'unreachable:rule generates Network Unreachable messages' \ - 'prohibit:rule generates Communication Administratively Prohibited messages' \ - 'nat:rule prescribes translation of source IP address' -subcmd_ruletypes=("$reply[@]") - -local -a subcmd_tunnelmode -_regex_words tunnelmode 'tunnel mode' \ - 'ipip:IPv4 in IPv4 tunnel' \ - 'sit:Simple Internet Transition - IPv6 in IPv4 tunnel' \ - 'gre:Generic Route Encapsulation - IPv4/IPv6 in IPv4 tunnel' -subcmd_tunnelmode=("$reply[@]") - -local -a subcmd_files -subcmd_files=(/$'[^\0]##\0'/ ':file:file name:_files') - - -# -# The ip top-level commands. First link -# -local -a link_set_cmds -_regex_words \ - link-set-commands 'link set commands' \ - 'dev:specify device:$subcmd_dev' \ - 'u*p:change state to up' \ - 'do*wn:change state to down' \ - 'ar*p:change ARP flag on device:$subcmd_onoff' \ - 'mu*lticast:change MULTICAST flag on device:$subcmd_onoff' \ - 'pr*omisc:set promiscuous mode:$subcmd_onoff' \ - 'dy*namic:change DYNAMIC flag on device:$subcmd_onoff' \ - 'n*ame:change name of device:$subcmd_string' \ - 'txq*ueuelen:specify length of transmit queue:$subcmd_number' \ - 'txql*en:specify length of transmit queue:$subcmd_number' \ - 'm*tu:specify maximum transmit unit:$subcmd_number' \ - 'ad*dress:specify unicast link layer (MAC) address:$subcmd_lladdr' \ - 'br*oadcast:specify broadcast link layer (MAC) address:$subcmd_lladdr' \ - 'brd:specify broadcast link layer (MAC) address:$subcmd_lladdr' \ - 'p*eer:specify peer link layer (MAC) address:$subcmd_lladdr' -# can complete interface with no dev, subcommands can repeat... -link_set_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a link_show_cmds -_regex_words link-show-commands 'link show commands' \ - 'dev:specify device:$subcmd_dev' \ - 'up:limit display to running devices' -link_show_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a link_cmds -_regex_words \ - link-commands "link command" \ - 'h*elp:show help for command' \ - 'se*t:change device attributes:$link_set_cmds' \ - 'sh*ow:display device attributes:$link_show_cmds' -link_cmds=("$reply[@]") - - -# -# addr -# -local -a addr_add_cmds -# TODO: broadcast can take + or = -_regex_words addr-add-commands "addr add/remove/change/replace commands" \ - 'dev:specify device:$subcmd_dev' \ - 'lo*cal:specify local IP address:$subcmd_ipaddr' \ - 'p*eer:specify peer IP address (point-to-point):$subcmd_ipaddr' \ - 'b*roadcast:specify broadcast IP address:$subcmd_ipaddr' \ - 'la*bel:specify tag for device:$subcmd_string' \ - 's*cope:specify scope for address:$subcmd_scope' -# can complete IP address with no keyword -addr_add_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#" ) - -local -a addr_del_cmds -addr_del_cmds=("(" $subcmd_ipaddrs "|" "$reply[@]" ")" "#" ) - -local -a addr_show_cmds -# TODO: broadcast can take + or = -_regex_words addr-show-commands "addr show commands" \ - 'dev:specify device:$subcmd_dev' \ - 's*cope:specify scope for address:$subcmd_scope' \ - 't*o:limit to given IP address/prefix:$subcmd_ipaddr' \ - 'la*bel:list tags matching glob patter:$subcmd_string' \ - 'dynamic:list addresses from stateless configuration (IPv6)' \ - 'permanent:list non-dynamic addresses (IPv6)' \ - 'tentative:list addresses failing duplicate address detection (IPv6)' \ - 'deprecated:list deprecated addresses (IPv6)' \ - 'primary:list only primary addresses' \ - 'secondary:list only secondary addresses' -# can complete device with no keyword -addr_show_cmds=("(" $subcmd_dev "|" ")" "$reply[@]" "#" ) - -local -a addr_cmds -_regex_words \ - addr-commands "addr command" \ - 'h*elp:show help for command' \ - 'a*dd:add new protocol address:$addr_add_cmds' \ - 'c*hange:change existing protocol address:$addr_add_cmds' \ - 'r*eplace:add or update protocol address:$addr_add_cmds' \ - 'd*elete:delete protocol address:$addr_del_cmds' \ - 's*how:show protocol address:$addr_show_cmds' \ - 'f*lush:flush protocol address:$addr_show_cmds' -addr_cmds=("$reply[@]") - -# -# addrlabel -# - -local -a addrlabel_add_cmds -_regex_words addrlabel-add-commands "addlabel add command" \ - 'p*refix: limit to given IP address/prefix' \ - 'd*ev: specify device:$subcmd_dev' \ - 'l*abel: number' -addrlabel_add_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a addrlabel_del_cmds -_regex_words addrlabel-add-commands "addlabel del command" \ - 'p*refix: limit to given IP address/prefix:$subcmd_prefix_label' \ - 'd*ev: specify device:$subcmd_dev' \ - 'l*abel: number:$subcmd_number' -addrlabel_del_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - - -local -a addrlabel_cmds -_regex_words \ - addrlabel-commands "addrlabel command" \ - 'h*elp: show help for command' \ - 'a*dd: add an address labels:$addrlabel_add_cmds' \ - 'd*el: delete an address labels:$addrlabel_del_cmds' \ - 'l*ist: list address labels' \ - 'f*lush: flush adderss labels' -addrlabel_cmds=("$reply[@]") - -# -# neigh -# -local -a neigh_add_cmds -_regex_words neigh-add-commands "neighbour add command" \ - 't*o:add new neighbour IP address:$subcmd_ipaddr' \ - 'dev:specify network device:$subcmd_dev' \ - 'l*laddr:specify link layer (MAC) address or null:$subcmd_lladdr' \ - 'n*ud:specify neighbour unreachability detection state:$subcmd_nud' -# to-address without keyword can appear first -neigh_add_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a neigh_del_cmds -_regex_words neigh-add-commands "neighbour delete command" \ - 't*o:remove neighbour IP address:$subcmd_ipaddr' \ - 'dev:specify network device:$subcmd_dev' -neigh_del_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a neigh_show_cmds -_regex_words neigh-show-commands "neighbour show command" \ - 't*o:select neighbours by prefix:$subcmd_ipaddr' \ - 'dev:select neighbours by device:$subcmd_dev' \ - 'u*nused:only list unused neighbours' \ - 'n*ud:only list neighbours in given state:$subcmd_nud' -neigh_show_cmds=( "(" $subcmd_ipaddr "|" ")" "$reply[@]" "#" ) - -local -a neigh_cmds -_regex_words \ - neigh-commands "neigh command" \ - 'h*elp:show help for command' \ - 'a*dd:add new neighbour entry:$neigh_add_cmds' \ - 'c*hange:change existing neighbour entry:$neigh_add_cmds' \ - 'r*eplace:add or change neighbour entry:$neigh_add_cmds' \ - 'd*elete:delete neighbour entry:$neigh_del_cmds' \ - 's*how:list neighbour entries:$neigh_show_cmds' \ - 'f*lush:flush neighbour entries:$neigh_show_cmds' -neigh_cmds=("$reply[@]") - - -# -# route -# -local -a route_add_cmds -_regex_words route-add-commands "route add/change/replace command" \ - 'to:route destination prefix:$subcmd_route' \ - 'tos:type of service:$subcmd_tos' \ - 'ds*field:type of service:$subcmd_tos' \ - 'me*tric:preference value of route:$subcmd_number' \ - 'pre*ference:preference value of route:$subcmd_number' \ - 'ta*ble:select table by ID:$subcmd_rttable' \ - 'dev:select device:$subcmd_dev' \ - 'v*ia:select nexthop router:$subcmd_ipaddr' \ - 'sr*c:select preferred source address:$subcmd_ipaddr' \ - 're*alm:select routing realm:$subcmd_rtrealm' \ - 'mtu:select maximum transport unit:$subcmd_lockmtu' \ - 'w*indow:select maximal window in bytes:$subcmd_number' \ - 'rtt:select round trip time estimate:$subcmd_number' \ - 'rttv*ar:select initial round trip variance estimate:$subcmd_number' \ - 'ss*thresh:select initial slow start threshold estimate:$subcmd_number' \ - 'cw*nd:select clamp for congestion window (only if locked):$subcmd_number' \ - 'in*itcwnd:select max initial cwnd in MSS:$subcmd_number' \ - 'ad*vmss:select maximal segment size advertised:$subcmd_number' \ - 're*ordering:select maximal reordering for path:$subcmd_number' \ - 'ne*xthop:select nexthop of multipath route:$subcmd_nexthop' \ - 'sc*ope:select scope of destinations:$subcmd_scope' \ - 'pro*tocol:select routing protocol identifier:$subcmd_rtprotocol' \ - 'onl*ink:pretend nexthop is directly attached' \ - 'eq*ualize:allow packet by packet randomization' -# route can appear with no "to" -route_add_cmds=("(" $subcmd_route "|" ")" "$reply[@]" "#") - -local -a route_show_cmds -_regex_words route-show-commands "route show command" \ - 'to:select route via prefix:$subcmd_rtselector' \ - 'tos:type of service:$subcmd_tos' \ - 'ta*ble:select table by ID:$subcmd_rttable' \ - 'cl*oned:list only dynamically forked routes' \ - 'ca*ched:list only dynamically forked routes' \ - 'f*rom:select route via source address prefix:$subcmd_rtselector' \ - 'p*rotocol:select routing protocol identifier:$subcmd_rtprotocol' \ - 'sc*ope:select scope of destinations:$subcmd_scope' \ - 'ty*pe:route type:$subcmd_rttype' \ - 'dev:select device:$subcmd_dev' \ - 'v*ia:select nexthop router:$subcmd_ipaddr' \ - 'sr*c:select route via source prefix:$subcmd_ipaddr' \ - 'realm:select routing realm:$subcmd_rtrealm' \ - 'realms:select from/to routing realms:$subcmd_rtrealms' -# route selector can appear with no "to" -route_show_cmds=("(" $subcmd_rtselector "|" ")" "$reply[@]" "#") - -local -a route_get_cmds -_regex_words route-get-commands "route get commands" \ - 'to:route destination:$subcmd_ipaddr' \ - 'f*rom:route source:$subcmd_ipaddr' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:type of service:$subcmd_tos' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'oif:select output interface (device):$subcmd_dev' \ - 'c*onnected:use preferred address as source' -route_get_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a route_cmds -_regex_words \ - route-commands "route command" \ - 'h*elp:show help for command' \ - 'a*dd:add new network route:$route_add_cmds' \ - 'c*hange:change existing network route:$route_add_cmds' \ - 'r*eplace:add or change network route:$route_add_cmds' \ - 'd*elete:delete network route:$route_add_cmds' \ - 's*how:list network routes:$route_show_cmds' \ - 'f*lush:flush network routes:$route_show_cmds' \ - 'g*et:get a single network route:$route_get_cmds' -route_cmds=("$reply[@]") - - -# -# rule -# -local -a rule_add_cmds -_regex_words rule-add-commands 'ip rule add/delete commands' \ - 'ty*xpe:type of rule:$subcmd_ruletypes' \ - 'fr*om:select source prefix:$subcmd_ipaddr' \ - 'to:select destination prefix:$subcmd_ipaddr' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:select type of service:$subcmd_tos' \ - 'fw*mark:select fwmark:$subcmd_string' \ - 'pr*iority:select unique priority for rule:$subcmd_number' \ - 'ta*ble:select routing table by ID:$subcmd_rttable' \ - 're*alms:select from/to routing realms:$subcmd_rtrealms' \ - 'nat:select base of IP block to translate:$subcmd_ipaddr' - -rule_add_cmds=("(" $subcmd_ruletypes "|" ")" "$reply[@]" "#") - -local -a rule_cmds -_regex_words \ - rule-commands "rule command" \ - 'h*elp:show help for command' \ - 'a*dd:insert a new routing rule:$rule_add_cmds' \ - 'd*elete:delete a routing rule:$rule_add_cmds' \ - 'f*lush:flush rules and dump deleted rules' \ - 's*how:list routing rules' -rule_cmds=("$reply[@]") - - -# -# tunnel -# -local -a tunnel_add_cmds -_regex_words tunnel-add-commands 'tunnel add/change/delete commands' \ - 'na*me:select tunnel device name:$subcmd_dev' \ - 'm*ode:select tunnel mode:$subcmd_tunnelmode' \ - 'r*emote:select remote endpoint address:$subcmd_ipaddr' \ - 'l*ocal:select local address:$subcmd_ipaddr' \ - 'ttl:set fixed time to live, 1 to 255 or 0 (inherit):$subcmd_number' \ - 'tos:select type of service:$subcmd_tos' \ - 'ds*field:select type of service:$subcmd_tos' \ - 'dev:select device to bind tunnel to:$subcmd_dev' \ - 'no*pmtudisc:disable path maximum transport unit discovery' \ - 'ik*ey:set input key for GRE tunnel:$subcmd_ipaddr' \ - 'ok*ey:set output key for GRE tunnel:$subcmd_ipaddr' \ - 'k*ey:set bidirectional key for GRE tunnel:$subcmd_ipaddr' \ - 'ic*sum:enable input checksums for GRE tunnel' \ - 'oc*sum:enable output checksums for GRE tunnel' \ - 'c*sum:enable bidirectional checksums for GRE tunnel' \ - 'is*eq:serialize input packets on GRE tunnel' \ - 'os*eq:serialize output packets on GRE tunnel' \ - 's*eq:serialize packets bidirectionally on GRE tunnel' -# name is default... we always complete it as an interface, -# although that's not really right for "add". -tunnel_add_cmds=("$reply[@]" "#") - -local -a tunnel_cmds -_regex_words \ - tunnel-commands "tunnel command" \ - 'h*elp:show help for command' \ - 'a*dd:add a new IP tunnel:$tunnel_add_cmds' \ - 'c*hange:change an existing IP tunnel:$tunnel_add_cmds' \ - 'd*el:destroy an IP tunnel:$tunnel_add_cmds' \ - 's*how:list IP tunnels' -tunnel_cmds=("$reply[@]") - - -# -# maddr -# -local -a maddr_add_cmds -_regex_words maddr-add-commands "maddr add/delete command" \ - 'a*ddress:select link layer (MAC) address:$subcmd_lladdr' \ - 'dev:select device to bind multicast address to:$subcmd_dev' -maddr_add_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]" "#") - -local -a maddr_show_cmds -_regex_words maddr-show-commands 'maddr show command' \ - 'dev:select device with multicast address(es):$subcmd_dev' -# device is default argument but if given the "dev" is useless -maddr_show_cmds=("(" $subcmd_dev "|" "$reply[@]" ")") - -local -a maddr_cmds -_regex_words \ - maddr-commands "maddr command" \ - 'h*elp:show help for command' \ - 'a*dd:add multicast address:$maddr_add_cmds' \ - 'd*elete:delete multicast address:$maddr_add_cmds' \ - 's*how:list multicast addresses:$maddr_show_cmds' -maddr_cmds=("$reply[@]") - - -# -# mroute -# -local -a mroute_show_cmds -_regex_words mroute-show-commands "mroute show command" \ - 'to:select destination prefix:$subcmd_ipaddr' \ - 'iif:select input interface (device):$subcmd_dev' \ - 'from:select source prefix:$subcmd_ipaddr' -mroute_show_cmds=("(" $subcmd_ipaddr "|" ")" "$reply[@]") - -local -a mroute_cmds -_regex_words \ - mroute-commands "mroute command" \ - 'h*elp:show help for command' \ - 's*how:list multicast routing cache entries:$mroute_show_cmds' -mroute_cmds=("$reply[@]") - - -# -# monitor -# -local -a monitor_cmds -_regex_words \ - monitor-commands "monitor command" \ - 'h*elp:show help for command' \ - 'all:monitor all changes' \ - 'link:monitor changes to links' \ - 'address:monitor changes to addresses' \ - 'route:monitor changes to routes' \ - 'file:read rtmon-generated log:$subcmd_files' -monitor_cmds=("$reply[@]") - - -# -# Global argument handling -# - -# Arguments to _regex_arguments, built up in array $args. -local -a args reply -args=( - # Command word. Don't care what that is. - /$'[^\0]#\0'/ -) - -# TODO: -# -b*atch <FILENAME> -# -force (for batch mode) -# -l*oops <COUNT> -# -n*etns <NETNS> -# -rc, -rcvbuf<SIZE> -_regex_words options "ip options" \ - '-h*uman:output statistics with human readable values' \ - '-i*ec:print human readable rates in IEC units (ie. 1K = 1024)' \ - '-s*tatistics:output statistics' \ - '-d*etails:output more detailed information' \ - '-c*olor:color output' \ - '-br*ief:brief output' \ - '-a*ll:executes specified command over all objects' \ - '-f*amily:select protocol family:$subcmd_family' \ - '-4:IPv4' \ - '-6:IPv6' \ - '-B:family bridge' \ - '-D:family DECnet' \ - '-I:family IPX' \ - '-M:family MPLS' \ - '-0:link protocol, no networking' \ - '-o*neline:output one record per line' \ - '-t*imestamp:display current time when using monitor option' \ - '-ts*hort:display current time in shorter format when using monitor option' \ - '-r*esolve:use system resolver for DNS names' -args+=("$reply[@]" "#") - -_regex_words \ - commands "ip command" \ - 'l*ink:configure network device:$link_cmds' \ - 'addrlabel:manage addrlabel:$addrlabel_cmds' \ - 'a*ddr:manage protocol address:$addr_cmds' \ - 'r*oute:manage routing table:$route_cmds' \ - 'ru*le:manage routing policy database:$rule_cmds' \ - 'n*eigh:manage neighbour/ARP tables:$neigh_cmds' \ - 't*unnel:configure tunnel:$tunnel_cmds' \ - 'm*addr:manage multicast addresses:$maddr_cmds' \ - 'mr*oute:manage multicast routing cache:$mroute_cmds' \ - 'mo*nitor:monitor state:$monitor_cmds' -args+=("$reply[@]") - -_regex_arguments _ip "${args[@]}" - -_ip "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ipadm b/result/sw/share/zsh/5.9/functions/_ipadm deleted file mode 100644 index 34d1eacb..00000000 --- a/result/sw/share/zsh/5.9/functions/_ipadm +++ /dev/null @@ -1,375 +0,0 @@ -#compdef ipadm -# Synced with the S11U1 build 19 man page - -_ipadm_ifs() { - local -a extra - - zparseopts -D -E -a extra /+: - - compadd "$@" - $(ipadm show-if -p -o ifname) $extra[2,-1] -} - -_ipadm_enabled_ifs() { - # Interfaces not marked "disabled" - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}:#disabled:*}#*:}" -} - -_ipadm_disabled_ifs() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o state,ifname)}#disabled:*}:#*:*}" -} - -_ipadm_vnis() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#vni:*}:#*:*}" -} - -_ipadm_ipmps() { - compadd "$@" - "${(@)${(@)${(f)$(ipadm show-if -p -o class,ifname)}#ipmp:*}:#*:*}" -} - -_ipadm_get_possible_values() { - local -a proto poss - local cmd - - cmd=${${(M)words:#set-*}/set/show} - if [[ $cmd == "show-prop" ]]; then - # You have to specify a protocol for show-prop if you specify a - # property, so we loop through them all. - poss=() - for proto in ipv4 ipv6 icmp tcp udp sctp; do - poss=( $poss ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} -o possible $proto 2> /dev/null)//,/ } ) - done - poss=( ${(u)poss:#\?} ) - else - proto=${=opt_args[-m]:+-m $opt_args[-m]} - poss=( ${(u)=$(ipadm $cmd -c -p ${IPREFIX%=} $proto -o possible)//,/ } ) - fi - if [[ $poss[1] == [0-9]##-[0-9]## ]]; then - if (( $#poss > 1 )); then - _message -e "number in ranges ${(j:, :)poss}" - else - _message -e "number in range $poss" - fi - elif [[ -z $poss[1] ]]; then - _message -e "value" - else - compadd "$@" - $poss - fi -} - -_ipadm_addrobjs() { - compadd "$@" - $(ipadm show-addr -p -o addrobj) -} - -_ipadm_addrobjs_or_ifs() { - compadd "$@" - $(ipadm show-addr -p -o addrobj) \ - $(ipadm show-if -p -o ifname) -} - -_ipadm_protos() { - compadd "$@" - $(ipadm show-prop -c -o proto) -} - -_ipadm() { - local context state line expl - local -A opt_args - local -a subcmds - local -a if_properties if_propproperties if_properties2 - local -a addr_properties addr_propproperties - local -a addrobj_properties - local -a proto_ipv4_properties proto_ipv6_properties proto_tcp_properties - local -a proto_udp_properties proto_sctp_properties proto_icmp_properties - local -a proto_all_properties proto_propproperties - - subcmds=( - "help" - {"show","disable","enable"}"-if" - {"create","delete"}"-ip" - {"create","delete"}"-vni" - {"create","delete","add","remove"}"-ipmp" - {"set","reset","show"}"-ifprop" - {"create","delete","show","up","down","refresh","disable","enable"}"-addr" - {"set","reset","show"}"-addrprop" - {"set","reset","show"}"-prop" - ) - - if_properties=( "ifname" "class" "state" "active" "current" "persistent" "over" ) - - if_propproperties=( "ifname" "property" "proto" "perm" "current" "persistent" "default" "possible" ) - - if_properties2=( - "arp:value:_ipadm_get_possible_values" - "forwarding:value:_ipadm_get_possible_values" - "metric:value:_ipadm_get_possible_values" - "mtu:value:_ipadm_get_possible_values" - "nud:value:_ipadm_get_possible_values" - "usesrc:value:_ipadm_ifs -/ none" - "exchange_routes:value:_ipadm_get_possible_values" - "group:value:_ipadm_get_possible_values" - "standby:value:_ipadm_get_possible_values" - ) - - addr_properties=( - "broadcast:value:_ipadm_get_possible_values" - "deprecated:value:_ipadm_get_possible_values" - "prefixlen:value:_ipadm_get_possible_values" - "private:value:_ipadm_get_possible_values" - "reqhost:value:_ipadm_get_possible_values" - "transmit:value:_ipadm_get_possible_values" - "zone:value:_zones -t c" - ) - - addr_propproperties=( "addrobj" "property" "perm" "current" "persistent" "default" "possible" ) - - addrobj_properties=( - "addrobj" "type" "state" "current" "persistent" "addr" - "cid-type" "cid-value" "begin" "expire" "renew" - ) - - proto_ipv4_properties=( "hostmodel" "ttl" "forwarding" ) - proto_ipv6_properties=( "hostmodel" "hoplimit" "forwarding" ) - proto_tcp_properties=( "cong_default" "cong_enabled" "ecn" "extra_priv_ports" "max_buf" "recv_buf" - "send_buf" "sack" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) - proto_udp_properties=( "extra_priv_ports" "max_buf" "recv_buf" "send_buf" "smallest_anon_port" - "largest_anon_port" "smallest_nonpriv_port" ) - proto_sctp_properties=( "cong_default" "cong_enabled" "extra_priv_ports" "max_buf" "recv_buf" - "send_buf" "smallest_anon_port" "largest_anon_port" "smallest_nonpriv_port" ) - proto_icmp_properties=( "max_buf" "recv_buf" "send_buf" ) - proto_all_properties=( $proto_ipv4_properties $proto_ipv6_properties $proto_tcp_properties - $proto_udp_properties $proto_sctp_properties $proto_icmp_properties ) - proto_all_properties=( $^proto_all_properties:value:_ipadm_get_possible_values ) - - proto_propproperties=( "proto" "property" "perm" "current" "persistent" "default" "possible" ) - - if [[ $service == "ipadm" ]]; then - _arguments -C -A "-*" \ - '-\?[Help]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "ipadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - case $service in - ("help") - _arguments ':subcommand:($subcmds)' - ;; - - ("create-ip") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - ':interface name:' - ;; - - ("delete-ip") - _arguments -A "-*" \ - ':interface name:_ipadm_ifs' - ;; - - ("create-vni") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - ':VNI name:' - ;; - - ("delete-vni") - _arguments -A "-*" \ - ':VNI name:_ipadm_vnis' - ;; - - ("create-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:' - ;; - - ("delete-ipmp") - _arguments -A "-*" \ - '(-f --force)'{-f,--force}'[First remove all underlying interfaces from group]' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("add-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("remove-ipmp") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Interface should be temporary]' \ - '(-i --interface)'{-i,--interface}'[List of underlying interfaces]:interface name:_values -s , "interface" $(ipadm show-if -p -o ifname)' \ - ':IPMP interface name:_ipadm_ipmps' - ;; - - ("show-if") - _arguments -A "-*" \ - '(-p --parseable)'{-p,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $if_properties' \ - ':interface name:_ipadm_ifs' - ;; - - ("disable-if") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':interface name:_ipadm_enabled_ifs' - ;; - - ("enable-if") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':interface name:_ipadm_disabled_ifs' - ;; - - ("set-ifprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $if_properties2' \ - ':interface name:_ipadm_ifs' - ;; - - ("reset-ifprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:($if_properties2)' \ - ':interface name:_ipadm_ifs' - ;; - - ("show-ifprop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-m --module)'{-m,--module}'[Protocol]:protocol:(ipv4 ipv6)' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $if_propproperties' \ - '(-p --prop)'{-p,--prop}'[Interface properties to display]:property:_values -s , "property" ${if_properties2%%\:*}' \ - ':interface name:_ipadm_ifs' - ;; - - ("create-addr") - # This causes all options and arguments following -T to be - # stuck into $opt_args[-T]. It feels hacky, but it seems - # to do the trick. - # XXX When -T is static, it's not necessary. - _arguments -C -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Address should be temporary]' \ - '-T[Address type]:*::address type:->newaddr' - - if [[ $state == "newaddr" ]]; then - - case ${opt_args[-T]#-T:} in - ("static:"*) - local -a addrthingsv4 - addrthingsv4=( "local:address: " "remote:address: ") - _arguments -A "-*" \ - '(-d --down)'{-d,--down}'[Address should be marked down]' \ - '(-a --address)'{-a,--address}'[Address specification]:address:_values -s , "address" $addrthingsv4' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("dhcp:"*) - _arguments -A "-*" \ - '(-w --wait)'{-w,--wait}'[Seconds to wait for completion]:number or "forever":{if [[ -prefix [0-9]## ]]; then _message -e "number of seconds"; else _wanted forever expl "number or \"forever\"" compadd forever; fi}' \ - '-h[Request a specific hostname]:hostname:' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("addrconf:"*) - local -a addrthingsv6 statefulness - addrthingsv6=( "local:interface id: " "remote:interface id: ") - statefulness=( "stateful:statefulness:(yes no)" "stateless:statelessness:(yes no)" ) - _arguments -A "-*" \ - '(-i --interface-id)'{-i,--interface-id}'[Interface ID]:address:_values -s , "interface id" $addrthingsv6' \ - '(-p --prop)'{-p,--prop}'[Statefulness configuration]:statefulness configuration:_values -s , "statefulness" $statefulness' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - (*) - _wanted commands expl "address type" compadd static dhcp addrconf - ;; - esac - fi - - ;; - - ("delete-addr") - _arguments -A "-*" \ - '(-r --release)'{-r,--release}'[Release DHCP-acquired address]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("show-addr") - _arguments -A "-*" \ - '(-d --dhcp -p --parseable)'{-d,--dhcp}'[Display DHCP status fields]' \ - '(-p --parseable -d --dhcp)'{-p,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $addrobj_properties' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ({"up","down","disable","enable"}"-addr") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("refresh-addr") - _arguments -A "-*" \ - '(-i --inform)'{-i,--inform}'[Retrieve DHCP parameters]' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("set-addrprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $addr_properties' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("reset-addrprop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:(${addr_properties%%\:*})' \ - ':address object name:_ipadm_addrobjs' - ;; - - ("show-addrprop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $addr_propproperties' \ - '(-p --prop)'{-p,--prop}'[Address object properties to display]:property:_values -s , "property" ${addr_properties%%\:*}' \ - ':address object name:_ipadm_addrobjs_or_ifs' - ;; - - ("set-prop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to set]:property:_values -s , "property" $proto_all_properties' \ - ':protocol name:_ipadm_protos' - ;; - - ("reset-prop") - _arguments -A "-*" \ - '(-t --temporary)'{-t,--temporary}'[Change should be temporary]' \ - '(-p --prop)'{-p,--prop}'[Property to reset]:property:(${proto_all_properties%%\:*})' \ - ':protocol name:_ipadm_protos' - ;; - - ("show-prop") - _arguments -A "-*" \ - '(-c --parseable)'{-c,--parseable}'[Parseable output]' \ - '(-o --output)'{-o,--output}'[Property properties to display]:property:_values -s , "property" $proto_propproperties' \ - '(-p --prop)'{-p,--prop}'[Protocol properties to display]:property:_values -s , "property" ${proto_all_properties%%\:*}' \ - ':protocol name:_ipadm_protos' - ;; - - (*) - _message "unknown ipadm subcommand: $service" - ;; - esac -} - -_ipadm "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ipfw b/result/sw/share/zsh/5.9/functions/_ipfw deleted file mode 100644 index 49d0ef1e..00000000 --- a/result/sw/share/zsh/5.9/functions/_ipfw +++ /dev/null @@ -1,325 +0,0 @@ -#compdef ipfw - -local word=$'/[^ \t\0]#[ \t\0]/' comma next pqs nat -local -a actions address pathname ropts ca -local -A opt_args nat_options - -_ipfw_tables() { - local -a expl match opts all - zparseopts -D -E -a opts M+: x+: X+: J+: V+: o+: 1 2 a=all - _description -x ipfw-tables expl 'table' - match=( ${${${(M)${(f)"$(_call_program ipfw-tables - ipfw table all info 2>/dev/null)"}:#-*}#*\(}%%\)*} ) - if (( $#all )); then - match+=( all ) - compadd -D match -a match - [[ $#PREFIX -eq 0 && $#match -eq 1 && $match[1] = all ]] && compstate[insert]='' - fi - compadd "$opts[@]" "$expl[@]" "$@" -a match -} - -_ipfw_rules() { - local -a rules - rules=( ${${(f)"$(_call_program ipfw-rules ipfw list)"}/ /:} ) - _describe -x -t ipfw-rules rule rules "$@" -} - -ropts=( # rule options - bridged - defer-{immediate-,}action diverted{,-loopback,-output} - dst-{ip{,6,v6},port} established ext6hdr - fib flow flow-id frag gid jail - icmptypes icmp6types in out - ipid iplen ipoptions ipprecedence ipsec iptos dscp ipttl ipversion - keep-state layer2 limit lookup - MAC mac-type proto record-state recv xmit via - set-limit setup sockarg - src-{ip,ip6,port} tagged - tcpack tcpdatalen tcpflags tcpmss tcpseq tcpwin tcpoptions - uid verrevpath versrcreach antispoof -) - -nat_options=( - nat64lsn "prefix4 prefix6 states_chunk host_del_age pg_del_age tcp_syn_age tcp_est_age tcp_close_age udp_age icmp_age log -log allow_private -allow_private" - nat64stl "prefix6 table4 table6 log -log allow_private -allow_private" - nat64clat "clat_prefix plat_prefix log -log allow_private -allow_private" - nptv6 "int_prefix ext_prefix ext_if prefixlen" -) - -ca=( compadd -S " " -r " $compstate[quote]\t\n\-" ) - -address=( - \( $'/not[ \t\0]/' ':operators:operator:$ca not' \| \) - \( $'/(any|me|me6)[ \t\0]/' ':addresses:address:$ca any me me6' - \| '/table??/' ':tables:table:compadd -S "" -s\( table' - $word ':tables:table:_ipfw_tables -s\) -S ""' - \| // -'comma=0' - \( - // -'(( ! comma ))' - \( $'/[^, \t\0]#/' $'%[, \t\0]%' ':hosts:ip or host:_hosts -S, -r "/: \t\n\-"' - \| $'/[^},/:]##//' '/[]/' ': _message -e numbers "mask length"' - \| $'/[^},/:]##:/' '/[]/' ': _message -e numbers "mask"' - \| $'/([0-9]##.)(#c3)[0-9]##/' '/[]/' ':symbols:symbol:compadd -S "" / : ,' - \| // '%[1-9]%' '/[]/' ': _message -e ip-addresses "IP address"' \) - \( /,/ -'comma=0' \| // -'comma=1' \) - $'/([ \t\0]|)/' - \) \# - // -'(( comma ))' - \) -) -address=( - \( $'/[({][ \t]\0/' -'next=1' ':symbols:symbol:$ca - {' - \( // -'(( next ))' $address - \( $'/or[ \t\0]/' -'next=1' ':symbols:symbol:$ca - or \}' \| // -'next=0' \) - \) \# - $'/[})][ \t\0]/' - \| $address \) - \( - \( $'/not[ \t\0]/' ':specifiers:specifier:$ca - not' \| \) - $word -$'[[ $match != to? && -z ${(M)ropts:#${match%?}} ]]' ':ports:port:_sequence _ports' - \| \) -) - -actions=( - $'/[^\0]##\0(-[a-zA-Z0-9]##[ \t]#)#/' # skip over options, completed by _arguments but can - \( # be quoted in one argument which that doesn't handle - $'/add[ \t\0]/' ':firewall-commands:firewall configuration:$ca add' - \( $'/<->[ \t\0]/' ': _guard "[0-9]#" "rule number (00000-65535)"' \| \) - \( $'/set[ \t\0]/' ':specifiers:specifier:$ca set' $word ':sets:set:$ca -o numeric {0..31}' \| \) - \( $'/prob[ \t\0]/' ':specifiers:specifier:$ca prob' $word ': _message -e probabilities "match probability (0.0-1.0)"' \| \) - \( # rule actions - $'/check-state[ \t\0]/' $word ': _message -e flow-names "flow name"' - \| - \( $'/(divert|tee)[ \t\0]/' $word ': _message -e ports port' - \| $'/(fwd|forward)[ \t\0]/' - \( $word ': _guard "[0-9]#" "ip address"' - \| '/[^\0]#,/' ':specials:special:compadd -qS, tablearg' - $word ':ports:port:_ports -qS " "' \) - \| $'/(nat*|nptv6)[ \t\0]/' - \( $word ': _guard "[0-9]#" "nat instance"' - \| $word ':specials:special:$ca global tablearg' \) - \| $'/pipe[ \t\0]/' $word ': _message -e pipes "dummynet pipe"' - \| $'/queue[ \t\0]/' $word ': _message -e queues "dummynet queue"' - \| $'/(skipto|call)[ \t\0]/' \( /t/+ $word ':specials:special:$ca tablearg' \| '/[]/' ':ipfw-rules:rule:_ipfw_rules -qS " "' \) - \| $'/unreach[ \t\0]/' $word ':codes:code:$ca net host protocol port needfrag srcfail net-unknown host-unknown isolated net-prohib host-prohib tosnet toshost filter-prohib host-precedence precedence-cutoff' - \| $'/unreach6[ \t\0]/' $word ':codes:code:$ca no-route admin-prohib address port' - \| $'/(netgraph|ngtee)[ \t\0]/' $word ': _message -e cookies cookie' - \| $'/setfib[ \t\0]/' \( $word ': _guard "[0-9]#" "routing table"' \| '/[]/' ':specials:special:$ca tablearg' \) - \| $'/setdscp[ \t\0]/' \( $word ':dscps:dscp:$ca cs{0..7} af{1,2,3,4}{1,2,3} ef be' \| '/[]/' ':specials:special:$ca tablearg' \) - \| $'/tcp-setmss[ \t\0]/' $word ': _message -e mss mss' - \| $word \) - \( $'/log[ \t\0]/' ':specifiers:specifier:$ca log' - \( $'/logamount[ \t\0]/' ':specifiers:specifier:$ca logamount' $word ': _message -e limits "maximum count"' \| \) - \| \) - \( $'/altq[ \t\0]/' ':specifiers:specifier:$ca altq' $word ': _message -e queues queue' \| \) - \( $'/(tag|untag)[ \t\0]/' ':specifiers:specifier:$ca tag untag' $word ': _message -e numbers "tag (1-65534)"' \| \) - # rule body - \( \( $'/not[ \t\0]/' ':operators:operator:$ca not' \| \) - $'/(ip(v|)(4|6|)|all|icmp|ip|tcp|udp|sctp)[ \t\0]/' ':protocols:protocol:$ca ip ip4 ipv4 ip6 ipv6 all icmp tcp udp sctp' - $'/from[ \t\0]/' ':specifiers:specifier:$ca from' - $address - $'/to[ \t\0]/' ':specifiers:specifier:$ca to' - $address - \| \) - # rule options - \( $'///[ \t\0]/' ':rule-options:rule option:((//\:comment))' // ': _message -e comments comment' - \| $'/(dst|src)-ip(|6|v6)[ \t\0]/' $word ': _message -e addresses address' - \| $'/(dst|src)-port[ \t\0]/' $word ':ports:port:_sequence _ports' - \| $'/ext6hdr[ \t\0]/' $word ':headers:extended header:_sequence compadd - frag hopopt route rthdr0 rthdr2 dstopt ah esp' - \| $'/fib[ \t\0]/' $word ': _message -e routing-tables "routing table"' - \| $'/flow[ \t\0]/' '/table??/' ':tables:table:compadd -S "" -s\( table' - $word ':tables:table:_ipfw_tables -s\) -S ""' - \| $'/flow-id[ \t\0]/' $word ': _message -e flow-labels "flow label"' - \| $'/frag[ \t\0]/' $word ':fragmentation options:fragmentation option:_sequence compadd - df mf rf offset' - \| $'/gid[ \t\0]/' $word ':groups:group:_groups' - \| $'/jail[ \t\0]/' $word ':jails:jail:_jails' - \| $'/ipoptions[ \t\0]/' $word ':ip-options:ip option:_sequence compadd - ssrr lsrr rr ts' - \| $'/iptos[ \t\0]/' $word ':tos-fields:tos field:_sequence compadd - lowdelay throughput reliability mincost congestion' - \| $'/(set-|)limit[ \t\0]/' $word ':parameters:parameter to limit:$ca {src,dsr}-{addr,port}' - $word ': _message -e numbers "connection limit"' - \| $'/lookup[ \t\0]/' $word ':fields:field:$ca {src,dst}-{ip,port} uid jail' - $word ': _message -e names name' - \| $'/(#i)mac[ \t\0]/' $word ': _message -e mac-addresses "destination mac"' - $word ': _message -e mac-addresses "source mac"' - \| $'/proto[ \t\0]/' $word ': _message -e protocols "IP protocol"' - \| $'/(recv|xmit|via)[ \t\0]/' - \( $word ':interfaces:interface:_net_interfaces -qS " "' - \| $word ':ipfw-tables:table:_ipfw_tables -qS " "' - \| $'/any[ \t\0]/' ':interfaces:interface:$ca any' \) - \| $'/tcpflags[ \t\0]/' $word ':tcp-flags:tcp flag:_sequence compadd - fin syn rst psh ack urg' - \| $'/tcpoptions[ \t\0]/' $word ':tcp-options:tcp option:_sequence compadd - mss window sack ts cc' - \| $'/uid[ \t\0]/' $word ':users:user:_users -qS " "' - \| $'/(icmp(|6)types|ipid|iplen|ipprecedence|dscp|ipttl|ipversion|keep-state|mac-type|tagged|tcp(ack|datalen|mss|pack|seq|win))[ \t\0]/' $word ': _message -e values value' - \| $word ':rule-options:rule option:$ca -a ropts' - \) \# - \| - '/[]/' ':actions:action:$ca allow check-state count deny divert forward nat nat64lsn nat64stl nat64clat nptv6 pipe queue reset reset6 skipto call return tee unreach unreach6 netgraph setfib ngtee setfib setdscp tcp-setmss reass abort abort6' - \) - \| $'/set[ \t\0]show[ \t\0]/' - \| $'/set[ \t\0]move[ \t\0]/' - \( // %r% $'/rule[ \t\0]/' ': $ca rule' \| \) - $word ':ipfw-rules: :_ipfw_rules -qS " "' - $'/to[ \t\0]/' ': $ca to' - $word ':ipfw-rules: :_ipfw_rules' - \| $'/set[ \t\0]swap[ \t\0]/' - $word ':ipfw-sets:set:$ca -o numeric {0..31}' - $word ':ipfw-sets:set:compadd -o numeric {0..31}' - \| $'/set[ \t\0]/' '%[ed]%' - \( - $'/(en|dis)able[ \t\0]/' ':set-commands:set command:$ca -F line enable disable' - $'/<->[ \t\0]/' ':ipfw-sets:set:$ca -o numeric {0..31}' - $'/<->[ \t\0]/' ':ipfw-sets:set:$ca -o numeric {0..31}' \# - \) \# - \| - \( $'/set[ \t\0]/' ':firewall-commands:firewall configuration:$ca set' - \( $'/<->[ \t\0]/' ':sets:set:$ca -o numeric {0..31}' - \| '/[]/' ':set-commands:set command:$ca move swap show enable disable' \) - \| \) - \( $'/(list|show|delete)[ \t\0]/' ':firewall-commands:firewall configuration:$ca list show delete zero resetlog' - \( $'/[0-9]##-/' $word ':ipfw-rules: :_ipfw_rules -qS " "' - \| $word ':ipfw-rules: :_ipfw_rules -qS "-"' \) \# - \| $'/(zero|resetlog)[ \t\0]/' $word ':ipfw-rules: :_ipfw_rules -qS " "' \# - \| $'/flush[ \t\0]/' ':firewall-commands:firewall configuration:(flush)' - \| $'/table[ \t\0]/' ':commands:command:$ca table' - \( # lookup tables - $'/all[ \t\0]/' $word ':commands:table command:compadd destroy list info detail flush' - \| - $word ':tables:table:_ipfw_tables -a -qS " "' - \( $'/create[ \t\0]/' - \( $'/type[ \t\0]/' $word ':types:type:(addr iface number flow)' - \| $'/valtype[ \t\0]([^ \t\0]#,|)/' $word ':value-types:value type:compadd -qS, skipto pipe fib nat dscp tag divert netgraph limit ipv4 ipv6' - \| $'/algo[ \t\0]/' $word ':algorithms:lookup algorithm:$ca addr\:radix addr\:hash iface\:array number\:array flow\:hash' - \| $'/limit[ \t\0]/' $word ': _message -e numbers "maximum number of items"' - \| $word ':options:option:$ca -F line type valtype algo limit locked missing or-flush' \) \# - \| $'/modify[ \t\0]/' - $'/limit[ \t\0]/' ':options:option:$ca limit' - $word ': _message -e numbers "maximum number of items"' - \| $'/swap[ \t\0]/' - $word ':tables:table:_ipfw_tables -a' - \| $'/(atomic[ \t\0]|)add[ \t\0]/' \( - $word ': _message -e table-keys "table key"' - $word ': _message -e values value' \) \# - \| $'/delete[ \t\0]/' $word ': _message -e table-keys "table key"' \# - \| $'/lookup[ \t\0]/' $word ': _message -e addresses address' - \| - '/[]/' ':commands:table command:compadd - destroy lock unlock list info detail flush' - \| - $word ':commands:table command:$ca -Q - create modify swap add atomic\ add delete lookup' - \) - \) - \| $'/(nat64(lsn|stl|clat)|nptv6)[ \t\0]/' -'nat=${match%?}' ':commands:command:$ca nat64lsn nat64stl nat64clat nptv6' - $word ': _message -e names name' - \( $'/(config|create)[ \t\0]/' - \( $'/[^\0]#prefix([46]|)[ \t\0]/' $word ': _message -e prefixes prefix' - \| $'/states_chunks[ \t\0]/' $word ': _message -e numbers number' - \| $'/[^\0]#_age[ \t\0]/' ': _message -e seconds "age (seconds)"' - \| $'/table[46][ \t\0]/' $word ':ipfw-tables:ipfw table:_ipfw_tables -qS " "' - \| $'/ext_if[ \t\0]/' $word ':interfaces:interface:_net_interfaces -qS " "' - \| $'/prefixlen[ \t\0]/' ': _message -e lengths length' - \| $word ':options:option:$ca -F line $=nat_options[$nat]' \) \# - \| $'/(list|show)[ \t\0]/' - \( // -'[[ $nat = *lsn]' $word ':states:state:(states)' - \| // -'[[ $nat != *lsn]' \) - \| $'/stats[ \t\0]/' $word ':commands:command:(reset)' - \| - $word ':commands:command:$ca create config list show destroy stats' - \) - \) - \| # in-kernel NAT - $'/nat[ \t\0]/' ':commands:command:$ca nat' - $word ': _message -e numbers "nat instance"' - \( $'/config[ \t\0]/' - \( $'/if[ \t\0]/' $word ':interfaces:interface:_net_interfaces -qS " "' - \| $'/ip[ \t\0]/' $word ': _message -e ip-addresses "ip address"' - \| $'/redirect_addr[ \t\0]/' - $word ': _message -e ip-addresses "IP address"' - $word ': _message -e ip-addresses "IP address"' - \| $'/redirect_port[ \t\0]/' $word ':protocols:protocol:$ca sctp tcp udp' - '/[^:]##:/' ': _message -e ip-addresses "IP address"' - $word ':ports:port:_ports' - $word ':ports:port:_sequence _ports' - \| $'/redirect_proto[ \t\0]/' $word ':protocols:protocol:$ca sctp tcp udp' - $word ': _message -e ip-addresses "IP address"' - $word ': _message -e ip-addresses "IP address"' - \| $word ':parameters:config parameter:$ca ip if log deny_in same_ports unreg_only unreg_cgn reset reverse proxy_only skip_global redirect_port redirect_addr redirect_proto' - \) \# - \| $'/show[ \t\0]/' $word ':actions:action:(config log)' - \| '/[]/' ':commands:command:$ca config show' \) - \| # dummynet configuration - $'/(pipe|queue|sched)[ \t\0]/' -'pqs=${match%?}' ':dummynet-commands:dummynet configuration:$ca pipe queue sched' - $word ': _message -e numbers number' - $word ':options:config:$ca config' - \( $'/bw[ \t\0]/' - \( $word ':bandwidths: :_numbers -M "m:{a-z}={A-Z}" bandwidth {K,M,G}{bit,Byte}/s' - \| $word ':devices:device:_net_interfaces -qS " "' \) - \| $'/delay[ \t\0]/' $word ': _message -e numbers "propagation delay (ms)"' - \| $'/burst[ \t\0]/' $word ': _message -e numbers "size (bytes)"' - \| $'/profile[ \t\0]/' $word ':files:file:_files -qS " "' - \| $'/pipe[ \t\0]/' $word ': _message -e pipes pipe' - \| $'/weight[ \t\0]/' $word ': _message -e weights "weight (1-100) [1]"' - \| $'/type[ \t\0]/-' - \( $'/fq_(pie|codel)[ \t\0]/' - \( $'/limit[ \t\0]/' $word ': _message -e numbers "limit (packets) [10240]"' - \| $'/flows[ \t\0]/' $word ': _message -e numbers "flow queues [1024]"' - \| $'/quantum[ \t\0]/' ':parameters:parameter:$ca -F line quantum limit flows' \) \# - '/[]/' - \| $word ':types:scheduling algorithm:$ca fifo wf2q+ rr qfq fq_codel fq_pie fq_codel' \) - \| $'/buckets[ \t\0]/' $word ': _message -e sizes "hash table size (16-65536)"' - \| $'/mask[ \t\0]/' $word ':mask-specifiers:mask specifier:$ca dst-ip dst-ip6 src-ip src-ip6 dst-port src-port flow-id proto all' - \| $'/plr[ \t\0]/' $word ': _message -e numbers "packet loss rate (0.0-1.0)"' - \| $'/queue[ \t\0]/' $word ': _message -e sizes "queue size"' - \| $'/(red|gred)[ \t\0]/' $word ': _message -e thresholds thresholds' - \| $'/codel[ \t\0]/' - \( $'/(target|interval)[ \t\0]/' $word ': _message -e times "time (ms)"' - \| $'/(ecn|noecn)[ \t\0]/' ':options:option:$ca -F line target interval ecn noecn' \) \# - '/[]/' - \| $'/pie[ \t\0]/' - \( $'/(target|tupdate|max_burst)[ \t\0]/' $word ': _message -e times "time"' - \| $'/(alpha|beta)[ \t\0]/' $word ': _message -e weights weight' - \| $'/max_ecnth[ \t\0]/' $word ': _message -e probabilities probability' - \| $word ':options:option:$ca -F line alpha beta max_burst max_ecnth {,no}{ecn,capdrop,drand} onoff dre ts' \) \# - '/[]/' - \| // '-[[ $pqs = pipe ]]' $'/noerror[ \t\0]/' ':options:option:$ca -F line bw delay burst profile buckets mask noerror plr queue red gred codel pie' - \| // '-[[ $pqs = queue ]]' $'/noerror[ \t\0]/' ':options:option:$ca -F line pipe weight buckets mask noerror plr queue red gred codel pie' - \| // '-[[ $pqs = sched ]]' $'/[]/' ':options:option:$ca -F line type bw delay burst profile' - \) \# - \| # sysctl shortcuts - $'/(en|dis)able[ \t\0]/' ':sysctl-shortcuts:sysctl shortcut:$ca enable disable' - $word ':values:value:(firewall altq one_pass debug verbose dyn_keepalive)' - \| - $'/internal[ \t\0]/' ':commands:command:$ca internal' - $word ':lists:list:(iflist talist vlist)' - \) -) - -if (( $words[(I)-p*] )); then - pathname=( ':path:_files -P / -W /' ) -fi - -_regex_arguments _ipfw_actions "$actions[@]" - -if [[ -prefix *[$' \t']* ]]; then - # This allows from things like ipfw "-n add..." - _ipfw_actions - return -fi - -_arguments -s $pathname \ - '(-p)-a[show counter values when listing rules (implied by show)]' \ - '(-p)-b[show only the action and the comment]' \ - '-c[show rules in compact form]' \ - '(-p)-d[show dynamic rules in addition to static ones]' \ - '(-p)-D[act on dynamic states only]' \ - '-f[run without confirmation]' \ - '(- *)-h[display syntax summary]' \ - '(-p)-i[format values as IP addresses in table listings]' \ - '-n[only check syntax, make no changes]' \ - '-N[resolve addresses and service names in output]' \ - '-q[quiet output]' \ - '-S[show the set each rule belongs to]' \ - '(-p)-s+[sort pipes by field]:field (negative reverses):((0\:unsorted 1\:packets 2\:bytes 3\:total\ packets 4\:total\ bytes))' \ - '(-p -T)-t[show timestamp of last match, ctime() format]' \ - '(-p -t)-T[show timestamp of last match as seconds since epoch]' \ - '(-a -b -d -D -i -s -t -T *)-p+[specify preprocessor]:preprocessor:_command_names -e' \ - '*:::actions:= _ipfw_actions' - diff --git a/result/sw/share/zsh/5.9/functions/_ipsec b/result/sw/share/zsh/5.9/functions/_ipsec deleted file mode 100644 index 631d2bc9..00000000 --- a/result/sw/share/zsh/5.9/functions/_ipsec +++ /dev/null @@ -1,179 +0,0 @@ -#compdef ipsec strongswan - -# Completion for the ipsec script (aka strongswan on some systems) provided by -# FreeS/WAN, Openswan, Libreswan, and strongSwan. See also strongSwan's swanctl. -# -# As with swanctl, elevated privileges are usually required to complete SA names -# and the like; consider setting the gain-privileges style as follows: -# zstyle ':completion:*:(ipsec|strongswan)/*' gain-privileges yes -# -# @todo We don't complete pool names or virtual IPs - -# Complete connection (IKE SA) names and optionally SA/instance names -# --instances => also complete SA/instance names -(( $+functions[_ipsec_connections] )) || -_ipsec_connections() { - local -a instances tmp ipsec_conns ipsec_insts - - zparseopts -D -E -a instances - -instances - - tmp=( ${(f)${"$( - _call_program -p ipsec-status ${_ipsec_cmd:-$words[1]} statusall - )"#*$'\n'[[:space:]]#[Cc]onnections:[[:space:]]#$'\n'}} ) - tmp=( ${(@M)tmp:#[[:space:]]#[^[:space:]]##:[[:space:]]##?*} ) - tmp=( ${(@)${(@)tmp##[[:space:]]##}%%:*} ) - - ipsec_conns=( ${(@)tmp%%['[{']<->['}]']} ) - ipsec_insts=( ${(@M)tmp:#*['[{']<->['}]']} ) - - (( $#ipsec_conns )) || { - _message -e connections 'connection name' - return - } - - tmp=( 'connections:connection name:compadd -a - ipsec_conns' ) - (( $#instances && $#ipsec_insts )) && - tmp+=( 'instances:connection SA/instance name:compadd -a - ipsec_insts' ) - - _alternative $tmp -} - -# Complete arguments to /usr/lib/ipsec/starter. This is rarely invoked directly, -# and there is almost no documentation on it, but the start/restart commands -# pass options to it -(( $+functions[_ipsec_starter] )) || -_ipsec_starter() { - _arguments : \ - '(--nofork)--attach-gdb[start daemon under gdb (implies --nofork)]' \ - '--auto-update[specify select time-out]:select time-out (seconds)' \ - '--conf[specify path to ipsec.conf]:ipsec.conf file:_files' \ - '--daemon[specify daemon name]:daemon name' \ - '--nofork[do not fork daemon]' \ - + '(d)' \ - '--debug[set log level 2]' \ - '--debug-more[set log level 3]' \ - '--debug-all[set log level 4]' \ - '--nolog[set log level 0]' -} - -_ipsec() { - local ret=1 variant _ipsec_cmd=$words[1] - local -a context line state state_descr tmp - local -A opt_args - - _pick_variant -r variant \ - freeswan='(#i)frees/#wan' \ - libreswan='(#i)libreswan' \ - openswan='(#i)openswan' \ - strongswan='(#i)strongswan' \ - unix \ - --version - - # Provide only basic completion for non-strongSwan implementations - if [[ $variant == unix ]]; then - _default - return - elif [[ $variant == (free|libre|open)* ]]; then - tmp=( ${(f)"$( _call_program ipsec-help $words[1] --help )"} ) - tmp=( ${(@M)tmp:#($' '|$'\t')*} ) - tmp=( ${(@)tmp:#*[':/<>()[]']*} ) - tmp=( ${(f)${(F)tmp//[[:space:]]##/$'\n'}} ) - - _arguments -S -A '-*' : \ - '(: * -)--help[display help information]' \ - '(: * -)--version[display version information]' \ - "(-)1:command:(${(j< >)${(@q-)tmp}})" \ - '(-)2: :_default' - return - fi - - _arguments -A '-*' \ - '(: * -)--confdir[display path to configuration directory (IPSEC_CONFDIR)]' \ - '(: * -)--copyright[display copyright information]' \ - '(: * -)--directory[display path to libexec/utility directory (IPSEC_DIR)]' \ - '(: * -)--help[display help information]' \ - '(: * -)--piddir[display path to PID directory (IPSEC_PIDDIR)]' \ - '(: * -)--version[display version information]' \ - '(: * -)--versioncode[display brief version information]' \ - '1:command:(( - down\:"terminate IPsec connection/SA" - down-srcip\:"terminate IKE SAs by client virtual IP" - leases\:"display IP address/pool status" - listaacerts\:"display X.509 authorization authority certificates" - listacerts\:"display X.509 attribute certificates" - listalgs\:"display loaded algorithms" - listall\:"execute all list commands" - listcacerts\:"display X.509 certificate authority certificates" - listcainfos\:"display certificate authority information" - listcerts\:"display X.509/OpenPGP certificates" - listcounters\:"display IKE counter information" - listcrls\:"display certificate revocation lists" - listgroups\:"display groups for user authorization profiles" - listocsp\:"display OCSP revocation information" - listocspcerts\:"display X.509 OCSP signer certificates" - listplugins\:"display loaded plug-in features" - listpubkeys\:"display RSA public keys" - purgecerts\:"purge cached certificates" - purgecrl\:"purge cached certificate revocation lists" - purgeike\:"purge IKE SAs without a quick mode or CHILD_SA" - purgeocsp\:"purge cached OCSP information" - reload\:"reload entire configuration (send SIGUSR1)" - rereadacerts\:"re-read attribute certificates" - rereadaacerts\:"flush and re-read authorization authority certificates" - rereadall\:"execute all re-read commands" - rereadcacerts\:"flush and re-read certificate authority certificates" - rereadcrls\:"re-read certificate revocation lists" - rereadocspcerts\:"re-read OCSP certificates" - rereadsecrets\:"flush and re-read secrets" - resetcounters\:"reset IKE counter information" - restart\:"equivalent to stop + start" - route\:"insert kernel IPsec policy for connection" - start\:"start IKE daemon" - status\:"display concise connection status" - statusall\:"display detailed connection status" - stop\:"terminate all IPsec connections and stop IKE daemon" - stroke\:"issue stroke command" - unroute\:"remove kernel IPsec policy for connection" - up\:"bring up IPsec connection" - update\:"reload changes in configuration (send SIGHUP)" - ))' \ - '*:: :->next' \ - && ret=0 - - [[ $state == next ]] && - case $words[1] in - down) - _arguments : '1: :_ipsec_connections --instances' && ret=0 - ;; - listcounters|resetcounters|route|status|statusall|unroute|up) - _arguments : '1: :_ipsec_connections' && ret=0 - ;; - down-srcip) - _arguments : \ - '1:virtual IP address (start)' \ - '2::virtual IP address (end)' \ - && ret=0 - ;; - leases) - _arguments : '1:pool name' '2::virtual IP address' && ret=0 - ;; - list*~list(counters|plugins)) - _arguments : '--utc[use UTC for time fields]' && ret=0 - ;; - start|restart) - _ipsec_starter && ret=0 - ;; - stroke) - _arguments -s -S -A '-*' \ - '(: * -)'{-h,--help}'[display help information]' \ - '(-d --daemon)'{-d+,--daemon=}'[specify daemon name]:daemon name' \ - '1: :_guard "^-*" "stroke command"' \ - '*:stroke command argument:_default' \ - && ret=0 - ;; - esac - - return ret -} - -_ipsec "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ipset b/result/sw/share/zsh/5.9/functions/_ipset deleted file mode 100644 index a4048090..00000000 --- a/result/sw/share/zsh/5.9/functions/_ipset +++ /dev/null @@ -1,142 +0,0 @@ -#compdef ipset - -local offset=0 -local -a args from_to hash cmds listopts addopts - -_set_types () { - _values -S \ "set type" \ - 'bitmap\:ip[uses a memory range to store IPv4 host (default) or IPv4 subnet addresses up to 65536 elements]'\ - 'bitmap\:ip,mac[uses a memory range to store an IPv4 host/subnet and mac address pair up to 65536 elements]'\ - 'bitmap\:port[uses a memory range to store port numbers independent of L4 protocol at up to 65536 elements]'\ - 'hash\:ip[stores IPv4/IPv6 host/subnet addresses. 0.0.0.0 and :: cannot be stored]'\ - 'hash\:net[stores varying sizes of IPv4/IPv6 addresses. 0.0.0.0 and :: cannot be stored]'\ - 'hash\:ip,port[stores IPv4/IPv6 addresses and port numbers, including L4 proto - port 0 cannot be stored]'\ - 'hash\:net,port[stores varying sizes of IPv4/IPv6 addresses and port numbers, including L4 proto]'\ - 'hash\:ip,port,ip[stores IPv4/IPv6 addresses, a port with L4 proto and another IPv4/IPv6 address]'\ - 'hash\:ip,port,net[stores an IPv4/IPv6 address, port with L4 proto and an arbitrary size IPv4/IPv6 subnet]'\ - 'hash\:net,iface[stores an IPv4/IPv6 address and an interface name]'\ - 'list\:set[a simple list which stores names of other sets]' -} - -#if [[ $words[2] = (-q|--quiet) ]]; then -# offset=1 -#fi - -_ipsets () { - local -a vals - vals=( ${${(M)${(f)"$(_call_program ipsets ipset -L)"}%Name: *}#Name: } ) - _describe -t ipsets "IP set" vals -} -_sets () { - _ipsets - local -a vals -} - -from_to=('(--network)--from[from IP or network (with --netmask)]:IP' - '(--network)--to[to IP or network (with --netmask)]:IP' - '(--from --to)--network[network]:IP/mask' -) - -hash=( '--hashsize[the initial hash size aligned to a power of 2]:hashsize [1024]' - '--maxelem[the maximum number of elements in the set]:max elements [65536]' - '--family[the protocol family of addresses to be stored in the set]:address family [inet]:(inet inet6)' - '--timeout[adds timeout support to the set with your specified value as default, (0 = forever)]:entrytimeout' - '--probes[max number of tries to resolve clashing, altering this is discouraged]:tries [8]' - '--resize[ratio of increasing hash size after unsuccessful <probes> of double-hashing, altering discouraged]:percent' -) - -case $words[offset+2]; in - -N|--create) - case $words[offset+4]; in - bitmap\:ip) - args=( $from_to - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - bitmap\:ip,mac) - args=( $from_to - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - bitmap\:port) - args=( '--from[from port]:port:_ports' - '--to[to port]:port:_ports' - ) - ;; - hash\:ip) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net) - args=( $hash ) - ;; - hash\:ip,port) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net,port) - args=( $hash ) - ;; - hash\:ip,port,ip) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:ip,port,net) - args=( $hash - '--netmask[store network addresses instead of IP addresses]:CIDR' - ) - ;; - hash\:net,iface) - args=( $hash ) - ;; - list\:set) - args=( '--size[size of the new setlist]:size [8]' ) - ;; - esac - ;; -esac - -_ips () { - if [[ $CURRENT -eq ((offset+4)) ]]; then - local ips=1 default - local -a vals vals1 vals2 bindings - vals=( ${${${(f)"$(_call_program ipsets ipset -L $words[offset+3])"}[4,-1]}//\:/\\:} ) - for i in $vals; do - if [[ $i = Default\ binding\\:* ]]; then default=${i#Default binding\\: }; continue; fi - if [[ $i = (Header\\:*|Members\\:*|Size in memory\\:*|References\\:*) ]]; then continue; fi - if [[ $i = 'Bindings\:' ]]; then ips=0; continue; fi - if (( $ips )); then vals1+=$i; else bindings+=${i/ ->/:}; fi - done - _describe -t ips "IPs from $words[offset+3] set" vals1 - _describe -t special_values "special value" vals2 - fi -} - -cmds=(-N -X -F -E -W -S -R -A -D -T -B -U -H --create --destroy --flush --rename --swap --save --restore --add --del --test --help) -listopts=(-n --name -s --sorted -t --terse -r --resolve -L --list) -addopts=(--timeout --timeout -! --exist -A --add) - -_arguments \ - "($cmds $listopts $addopts)"{-N,--create}'[create a set]:set name::::_set_types' \ - "($cmds $listopts)"{-X,--destroy}'[destroy specified set (or all if none specified)]:set name:_sets' \ - "($cmds $listopts)"{-F,--flush}'[flush specified set (or all if none specified)]:set name:_sets' \ - "($cmds $listopts)"{-E,--rename}'[rename set]:current set name:_ipsets:new set name:' \ - "($cmds $listopts)"{-W,--swap}'[swap two sets]:::_ipsets:::_ipsets' \ - "($cmds -L --list -q --quiet )"{-L,--list}'[list the entries and bindings for the specified set (or all if none specified)]:::_sets' \ - "($cmds $listopts)"{-S,--save}'[save the given set (or all if none specified)]:::_sets' \ - "($cmds $listopts)"{-R,--restore}'[restore a saved session generated by --save from stdin]' \ - "($cmds $listopts)"{-A,--add}'[add an IP to a set]:::_ipsets:IP' \ - "($cmds $listopts)"{-D,--del}'[delete an IP from a set]:::_ipsets:::_ips' \ - "($cmds $listopts)"{-T,--test}'[test whether an IP is in a set]:::_ipsets:::_ips' \ - "($cmds $listopts)"{-H,--help}'[print help and settype specific help if settype specified]:::_set_types' \ - "(-q --quiet $listopts)"{-q,--quiet}'[suppress any output to stdout and stderr]' \ - "(-t --terse $listopts)"{-t,--terse}'[list set names and headers without entries]' \ - "(-r --resolve $listopts)"{-r,--resolve}'[enforce DNS name lookup of addresses, slow!]' \ - "(-! --exist $addopts)"{-!,--exist}'[ignore errors when creating an identical set, adding existing entry or deleting a non-existent one]'\ - "(--timeout --timeout $addopts)"{--timeout,--timeout}'[set the timeout for this entry. set must have been created with timeout support]:timeout'\ - "($cmds -s --sorted -q --quiet)"{-s,--sorted}'[sorted output]' \ - "($cmds -n --name -q --quiet)"{-n,--name}"[name output only; suppresses showing of set information]" \ - "$args[@]" diff --git a/result/sw/share/zsh/5.9/functions/_iptables b/result/sw/share/zsh/5.9/functions/_iptables deleted file mode 100644 index 27c801da..00000000 --- a/result/sw/share/zsh/5.9/functions/_iptables +++ /dev/null @@ -1,248 +0,0 @@ -#compdef iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore - -local curcontext="$curcontext" state line expl i ret=1 -local -a cmds rcmds ropts rules states prev args - -case $service in - iptables-save | ip6tables-save) - _arguments -s \ - {-c,--counters}'[include values of packet and byte counters in output]' \ - {-t,--table}'[specify table]:table:(filter nat mangle raw security)' - return - ;; - iptables-restore | ip6tables-restore) - _arguments -s \ - {-c,--counters}'[restore the values of all packet and byte counters]' \ - {-n,--noflush}"[don't flush the previous contents of the table]" - return - ;; -esac - -rcmds=( -A --append -D --delete -I --insert -R --replace ) -cmds=( - -L --list -F --flush -Z --zero -N --new --new-chain -X --delete-chain - -P --policy -E --rename-chain -h --help -V --version -) -ropts=( - -p --protocol -s --src --source -d --dst --destination -j --jump -i - --in-interface -o --out-interface -f --fragment -c --set-counters -) - -prev=( ${words[1,CURRENT-1]} ) -case ${prev[${prev[(I)-p|--protocol]}+1]}; in - tcp) - args=( - '--tcp-flags[match based on TCP flags in a packet]: :->tcp-flags: :->tcp-flags' - '--syn[match packets with the SYN flag set]' - '--tcp-option[match based on TCP options]:option' - ) - ;& - udp) - args+=( - '(--sport --source-port)'{--sport,--source-port}'[match packets based on source port]:*^!:port:_ports' - '(--dport --destination-port)'{--dport,--destination-port}'[match packets based on destination port]:*^!:port:_ports' - ) - ;; - icmp) args=( '--icmp-type[match specified ICMP type]:*^!:ICMP type:->icmp-types' ) ;; -esac - -case ${prev[${prev[(I)-j|--jump]}+1]}; in - DNAT) args+=( '(--to --to-destination)'{--to,--to-destination}':address' ) ;; - DSCP) - args+=( - '--set-dscp[set the DSCP field]:value' - '--set-dscp-class[set the DiffServ class]:class' - ) - ;; - ECN) args+=( '--ecn-tcp-remove[remove all ECN bits from TCP header]' ) ;; - LOG) - args+=( - '--log-level[specify level of logging]:log level:(debug info notice warning err crit alert emerg)' - '--log-prefix[specify prefix string for log message]:string' - '--log-tcp-sequence[log TCP sequence numbers]' - '--log-tcp-options[log TCP options]' - '--log-ip-options[log IP options]' - ) - ;; - MARK) args+=( '--set-mark[set fwmark in packet]:number' ) ;; - REDIRECT|MASQUERADE) args+=( '--to-ports[port (range) to map to]:port range:_ports' ) ;; - REJECT) args+=( '--reject-with[drop packet and send reply]:reject type:->reject-types' ) ;; - SNAT) args+=( '(--to --to-source)*'{--to,--to-source}'[specify address to map source to]:address' ) ;; - TCPMSS) - args+=( - '--set-mss[explicitly set MSS option]:value' - '--clamp-mss-to-pmtu[automatically clamp MSS value]' - ) - ;; - TOS) args+=( '--set-tos[set type of service field]:type of service:->tos' ) ;; - ULOG) - args+=( - '--ulog-nlgroup[specify netlink group used for logging]:netlink group' - '--ulog-prefix[specify prefix string for log message]:string' - '--ulog-cprange[specify size of each packet to be passed]:size (bytes)' - '--ulog-qthreshold[specify threshold of in-kernel queue]:size' - ) - ;; -esac - -# loop through all -m options preceding the cursor -local i=1 -typeset -U args -while - (( i=words[(ib.i.)-m|--match]+1 )) -(( i<CURRENT )); do - case ${words[i]}; in - ah) args+=( '--ahspi[match SPIs in AH header]:*^!:spi' ) ;; - conntrack) - args+=( - '--ctstate[match packet state]:state:->cfstates' - '--ctproto[match protocol]:protocol:_ports' - '--ctorigsrc[match original source address]:*^!:network:_hosts' - '--ctorigdst[match original destination address]:*^!:network:_hosts' - '--ctreplsrc[match reply source address]:*^!:network:_hosts' - '--ctrepldst[match reply destination address]:*^!:network:_hosts' - '--ctstatus[match internal conntrack states]:state:(NONE EXPECTED SEEN_REPLY ASSURED)' - '--ctexpire[match remaining lifetime]:time' - ) - ;; - dscp) - args+=( - '--dscp[match DSCP field]:value' - '--dscp-class[match the DiffServ class]:class' - ) - ;; - esp) args+=( '--espspi[match SPIs in ESP header]:*^!:spi' ) ;; - helper) args+=( '--helper[match packets related to a conntrack-helper]:helper:(ftp)' ) ;; - length) args+=( '--length[match packet length]:length' ) ;; - limit) - args+=( - '--limit[specify max matches limit]:number' - '--limit-burst[specify max burst before limit applies]:number' - ) - ;; - mac) args+=( '--mac-source[match source ethernet address]:*^!:ethernet address' ) ;; - mark) args+=( '--mark[match fwmark in packet]:number' ) ;; - multiport) - args+=( - '--source-ports[match packets based on source ports]:ports:->port-list' - '(--dports --destination-ports)'{--dports,--destination-ports}'[match packets based on destination ports]:ports:->port-list' - '--ports[match where source and destination ports are equal]:ports:->port-list' - ) - ;; - owner) - args+=( - '--uid-owner[match packet by user id of creating process]:user id' - '--gid-owner[match packet by ggroup id of creating process]:group id' - '--pid-owner[match packet by process id of creating process]:process id:_pids' - '--sid-owner[match packet by session id of creating process]:session id' - '--cmd-owner[match packet by name of creating command]:command:_command_names -e' - ) - ;; - physdev) - args+=( - '--physdev-in[specify bridge port via which packet is received]:name' - '--physdev-out[specify bridge port via which packet is sent]:name' - ) - ;; - pkttype) args+=( '--pkt-type[match link-layer packet type]:type:(unicast broadcast multicast)' ) ;; - state) - args+=( - '--state[match packet state]:state:->states' - ) - ;; - tos) args+=( '--tos[match type of service field]:type of service:->tos' ) ;; - ttl) args+=( '--ttl[match type to live]:TTL value' ) ;; - esac -done - -_arguments -C -s \ - '(-)'{-h,--help}'[print program information]' \ - '(-)'{-V,--version}'[print version information]' \ - '(-h --help -V --version)'{-t,--table}'[specify table]:table:(filter nat mangle raw security)' \ - "($rcmds $cmds)"{-A,--append}'[append rules to end of specified chain]:chain:->chains' \ - "($rcmds $cmds -c --set-counters)"{-D,--delete}'[delete rules from specified chain]:chain:->chains::rule number:->rulenums' \ - "($rcmds $cmds)"{-I,--insert}'[insert rules before specified rule number]:chain:->chains::rule number:->rulenums' \ - "($rcmds $cmds)"{-R,--replace}'[replace a rule]:chain:->chains::rule number:->rulenums' \ - "($rcmds "${(j. .)cmds:#(-Z|--zero)}" $ropts)"{-L,--list}'[list rules in selected chain]::chain:->chains' \ - "($rcmds $cmds $ropts)"{-F,--flush}'[flush specified chain (delete all rules)]::chain:->chains' \ - "($rcmds "${(j. .)cmds:#(-L|--list)}" $ropts)"{-Z,--zero}'[zero the packet and byte counters]::chain:->chains' \ - "($rcmds $cmds)"{-N,--new,--new-chain}'[create a new user-defined chain]:chain name' \ - "($rcmds $cmds)"{-X,--delete-chain}'[delete a user-defined chain]:: :->user-chains' \ - "($rcmds $cmds)"{-P,--policy}'[set the policy for a chain to given target]:chain:->chains:target:->targets' \ - "($rcmds $cmds)"{-E,--rename-chain}'[rename a user-defined chain]:old chain:->user-chains:new chain name' \ - "($cmds -p --protocol)"{-p,--protocol}'[specify protocol of rule]:*^!:protocol:(! tcp udp icmp all)' \ - "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_hosts' \ - "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_hosts' \ - "($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \ - "($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \ - "($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \ - "($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \ - "($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \ - '(-v --verbose)'{-v,--verbose}'[enable verbose output]' \ - '(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \ - '(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \ - '--line-numbers[print line numbers when listing]' \ - '--modprobe=[specify command to load modules with]:command:_command_names -e' \ - "($cmds)*"{-m,--match}'[extended match (may load extension)]:extension:(ah conntrack dscp esp helper icmp length limit mac mark multiport owner physdev pkttype state tcp tos ttl udp unclean)' \ - "$args[@]" && ret=0 - -case "$state" in - targets) - _wanted targets expl 'builtin target' compadd \ - ACCEPT DROP QUEUE RETURN DNAT DSCP ECN LOG MARK MASQUERADE MIRROR \ - REDIRECT REJECT SNAT TCPMSS TOS ULOG && ret=0 - ;& - user-chains) - _wanted chains expl 'user-defined chain' compadd \ - ${${${${(M)${(f)"$(_call_program chains $words[1] \ - ${(kv)opt_args[(i)-t|--table]} -nL \ - 2>/dev/null)"}:#Chain*}#* }%% *}:#(INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING)} && ret=0 - ;; - chains) - _wanted chains expl 'chain' compadd \ - ${${${(M)${(f)"$(_call_program chains $words[1] \ - ${(kv)opt_args[(i)-t|--table]} -nL \ - 2>/dev/null)"}:#Chain*}#* }%% *} && ret=0 - ;; - rulenums) - rules=( - ${${${(f)"$(_call_program chains $words[1] ${(kv)opt_args[(i)-t|--table]} \ - --line-numbers -nL ${(v)opt_args[(i)-D|--delete|-I|--insert|-R|--replace]%:*} \ - 2>/dev/null)"}[3,-1]}/ ##/:} - ) - _describe -t rulenum 'rule number' rules && ret=0 - ;; - tcp-flags) - _values -s , 'tcp flag' SYN ACK FIN RST URG PSH NONE ALL && ret=0 - ;; - icmp-types) - _wanted icmp-types expl 'icmp type' compadd \ - ${${${(f)"$(_call_program icmp-types ${words[1]} -p icmp --help \ - 2>/dev/null)"}[(r)any,-1]## #}%% *} && ret=0 - ;; - reject-types) - _wanted reject-types expl 'reject type' compadd \ - ${${${(f)"$(_call_program icmp-types ${words[1]} -j REJECT --help \ - 2>/dev/null)"}[(r)*types:,-1]## #}[2,-1]%% *} && ret=0 - ;; - *states) - states=( NEW ESTABLISHED RELATED INVALID ) - [[ "$state" = cf* ]] && states+=( SNAT DNAT ) - _values -s , 'state' $states && return - ;; - port-list) - compset -P '*,' - if compset -S ',*'; then - _ports && ret=0 - else - _ports -qS, && ret=0 - fi - ;; - tos) - _wanted tos expl 'type of service' compadd \ - ${${${(f)"$(_call_program tos ${words[1]} -m tos --help \ - 2>/dev/null)"}[(r)*16*,-1]## #}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_irssi b/result/sw/share/zsh/5.9/functions/_irssi deleted file mode 100644 index ee1e1ef4..00000000 --- a/result/sw/share/zsh/5.9/functions/_irssi +++ /dev/null @@ -1,36 +0,0 @@ -#compdef irssi - -local expl - -_irssi_servers() { - local a - a=( $(grep "\(^[{ ]*address\)\|\([{ ]address\)[ ]*=" ~/.irssi/config | sed -e "s,^.*address *= *\"\([^\"]\+\).*,\1 ,g") ) - _wanted irc-servers expl 'irc server' compadd "$@" -a - a -} - -_irssi_ports() { - local a - a=( $(grep "\(^[{ ]*port\)\|\([{ ]port\)[ ]*=" ~/.irssi/config | sed -e "s,^.*port *= *\"\([^\"]\+\).*,\1,g") ) - _wanted ports expl 'port' compadd "$@" -a - a -} - -_irssi_nick() { - local a - a=( $(grep "\(^[{ ]*nick\)\|\([{ ]nick\)\|\([{ ]alternate_nick\)\|\(^[{ ]*alternate_nick\)[ ]*=" ~/.irssi/config | sed -e "s,^.*nick *= *\"\([^\"]\+\).*,\1,g") ) - _wanted nicknames expl 'nick' compadd "$@" -a - a -} - -_arguments -s \ - '--config=[config file]:config:_files' \ - '--home=[home dir location]:home:_dir_list' \ - '(-c --connect)'{-c,--connect=}'[connect to servers]:irc server:_irssi_servers' \ - '(-w --password)'{-w,--password=}'[password]:password' \ - '(-p --port)'{-p,--port=}'[specify a port]:port:_irssi_ports' \ - '-![disable autoconnect]' \ - '--noconnect[disable autoconnect]' \ - '(-n --nick)'{-n,--nick=}'[set nick name]:nick:_irssi_nick' \ - '(-h --hostname)'{-h,--hostname=}'[specify hostname]:hostname:_hosts' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display usage]' - diff --git a/result/sw/share/zsh/5.9/functions/_ispell b/result/sw/share/zsh/5.9/functions/_ispell deleted file mode 100644 index 6a3e86d4..00000000 --- a/result/sw/share/zsh/5.9/functions/_ispell +++ /dev/null @@ -1,96 +0,0 @@ -#compdef ispell buildhash munchlist findaffix tryaffix icombine ijoin - -case "$service" in -ispell) - _arguments -s \ - '(-n -h)-t[input file is in TeX/LaTeX format]' \ - '(-t -h)-n[input file is in nroff/troff format]' \ - '(-n -t)-h[input file is in HTML format]' \ - '(-x)-b[create backup file]' \ - '(-b)-x[don'"'"'t create backup file]' \ - '(-C)-B[report run-together words as errors]' \ - '(-B)-C[take run-together words as compounds]' \ - '-P[don'"'"'t generate extra root/affix combinations]' \ - '-m[make possible root/affix combinations]' \ - '-S[sort guesses by probable correctness]' \ - '-d[specify alternate dictionary file]:dictionary file:_files' \ - '-p[specify alternate personal dictionary file]:personal dictionary file:_files' \ - '-w[specify additional word characters]:word characters:' \ - '-W[specify length of legal words]:length of legal words:' \ - '-T[specify formatter type]:formatter type:(nroff mm ms me man NeXT tex bib)' \ - '(-N)-M[show menu]' \ - '(-M)-N[don'"'"'t show menu]' \ - '-L-[specify number of context lines to show]:number of context lines:' \ - '-V[show non-7-bit characters escaped]' \ - '-l[produce list of misspelled words on stdout]' \ - '-s[stop after each line of input (SIGTSTP)]' \ - '-f[specify output file name]:output file:_files' \ - '(-A)-a[single line input/output mode]' \ - '(-a)-A[single line input/output mode (with include-files)]' \ - '(-e)-c[produce list of possible root words and affixes]' \ - '(-c)-e-[expand affix flags]::expansion level:((1\:normal 2\:append\ prepend\ original\ root/affix\ combination 3\:output\ multiple\ lines 4\:append\ root\ length\ ratios))' \ - '-D[dump affix tables]' \ - '*-v[show version]' \ - ':file to spell-check:_files' - ;; -buildhash) - _arguments \ - '(-c)-s[silent operation]' \ - '(: -s)-c[count mode]:count: :affix file:_files -g "*.(#i)aff(-.)"' \ - ':raw dictionary file:_files:' \ - ':affix file:_files -g "*.(#i)aff(-.)"' \ - ':hashed output file:_files "*.(#i)hash(-.)"' - ;; -munchlist) - _arguments -s \ - '-l[specify affix file]:affix file:_files -g "*.(#i)aff(-.)"' \ - '-c[specify converted output file name]:converted file name:_files' \ - '-T[specify string character type]:string character type:' \ - '-s[specify strip hash file]:hash file:_files "*.(#i)hash(-.)"' \ - '-D[debug mode]' \ - '-v[verbose mode]' \ - '-w[specify additional word characters]:word characters:' \ - '*:dictionary file:_files' - ;; -findaffix) - _arguments -s \ - '(-s)-p[search possible prefixes]' \ - '(-p)-s[search possible suffixes]' \ - '-f[sort affixes by frequency]' \ - '-c[clean output]' \ - '-m[specify minimum affix length]:minimum affix length:' \ - '-M[specify maximum affix length]:maximum affix length:' \ - '-e[specify header/trailer length of suppressed affixes]:header/trailer length of suppressed affixes:' \ - '-t[specify field separator character]:field separator character:' \ - '-l[specify minimum occurrence count]:minimum occurrence count:' \ - '*:dictionary file:_files' - ;; -tryaffix) - _arguments -s \ - '(-s)-p[estimate effectiveness of prefix]' \ - '(-p)-s[estimate effectiveness of suffix]' \ - '-c[write only summary of the results]' \ - ':expanded dictionary file:_files:' \ - '*:affix and optional addition:' - ;; -icombine) - _arguments \ - '-T[specify string character type]:string character type:' \ - ':affix file:_files -g "*.(#i)aff(-.)"' - ;; -ijoin) - _arguments -s \ - '(-u)-s[use signed comparison]' \ - '(-s)-u[use unsigned comparison]' \ - '-a[print lines for unpairable lines and normal output]:file number:(1 2)' \ - '-v[print lines for unpairable lines instead of normal output]:file number:(1 2)' \ - '-e[specify replacement string]:replacement string:' \ - '-o[specify output field list]:output field list:' \ - '-t[specify field separator character]:field separator character:' \ - '(-1 -2)-j-[specify join file and field]:file number:(1 2):field number:' \ - '(-j)-1[specify join field]:field number:' \ - '(-j)-2[specify join field]:field number:' \ - ':first input file:_files' \ - ':second input file:_files' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_iwconfig b/result/sw/share/zsh/5.9/functions/_iwconfig deleted file mode 100644 index 07c028be..00000000 --- a/result/sw/share/zsh/5.9/functions/_iwconfig +++ /dev/null @@ -1,70 +0,0 @@ -#compdef iwconfig - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - '(1 * -)--help[display help information]' \ - '(1 * -)--version[display version information]' \ - '1:network interface:_net_interfaces' \ - '*:parameter:->parameters' && ret=0 - -if [[ -n "$state" ]]; then - local -a arg - - case $words[CURRENT-1] in - essid) _wanted -x names expl 'network name' compadd off any on ;; - nwid|domain) _message -e ids 'network id' ;; - freq|channel) _message -e channels 'channel or frequency' ;; - sens) _message -e levels 'signal level' ;; - mode) - _wanted modes expl 'operating mode' compadd \ - Ad-Hoc Managed Master Repeater Secondary Monitor Auto - ;; - ap) _message -e access-points 'access point' ;; - nick*) _message -e names 'nickname' ;; - rate|bit*) _message -e bit-rates 'bit rate' ;; - rts*|frag*) _message -e sizes 'size' ;; - key|enc*) _message -e keys 'key' ;; - power) - arg=( - \*{min,max}'[modifier]' - '*off[disable power management]' - '*on[enable power management]' - '*all[receive all packets]' - 'unicast[receive unicast packets only]' - 'multicast[receive multicast and broadcast packets only]' - ) - ;& - min|max) - _values -S ' ' -w 'parameter' \ - 'period[set the period between wake ups]' \ - 'timeout[set timeout before sleep]' \ - $arg[@] && ret=0 - ;; - period|timeout) _message -e timeouts 'timeout' ;; - txpower) _message -e power 'transmit power' ;; - retry) _message -e retries 'retries' ;; - (modu) _wanted -x names expl 'modulation' compadd 11g CCK OFDMa auto ;; - *) - _values -S ' ' -w 'option' \ - 'essid[set the network name]' \ - '(nwid domain)'{nwid,domain}'[set the network ID]' \ - '(freq channel)'{freq,channel}'[set the operating frequency or channel]' \ - 'sens[set the sensitivity threshold]' \ - 'mode[set operating mode]' \ - 'ap[register with given access point]' \ - '(nick nickname)'nick{,name}'[set the nickname]' \ - '(rate bit)'{rate,bit}'[set the bitrate]' \ - 'rts[set packet size threshold for sending RTS]' \ - 'frag[set maximum packet fragment size]' \ - \*{key,enc}'[add encryption key]' \ - '*power[manipulate power management scheme parameters]' \ - 'txpower[set transmit power]' \ - 'retry[set number of retries]' \ - 'modu[force a specific set of modulations]' \ - 'commit[apply changes immediately]' && ret=0 - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_jail b/result/sw/share/zsh/5.9/functions/_jail deleted file mode 100644 index 26d0a6a8..00000000 --- a/result/sw/share/zsh/5.9/functions/_jail +++ /dev/null @@ -1,53 +0,0 @@ -#compdef jail - -local curcontext="$curcontext" ret=1 -local -a state state_descr line jails running alts suf -local -A opt_args - -_arguments -C -s \ - '-c[create a new jail]' \ - '-m[modify an existing jail]' \ - '-r[remove specified jail]' \ - '-d[allow changes to a dying jail]' \ - '-f+[specify configuration file]:config file [/etc/jail.conf]:_files' \ - '-h[resolve host.hostname and use IP addresses for the jail]' \ - '(-q)-i[output jail ID of new jails]' \ - '-J+[write a file containing parameters used to start the jail]:file:_files' \ - '-p+[limit the number of commands from exec.* that can run simultaneously]:limit' \ - '(-i -v)-q[suppress the message printed when a jail is created, modified or removed]' \ - '-R[remove jail without using the configuration file]' \ - '(-q)-v[print a message on every operation]' \ - '!-n+:name' '!-l' '!-s+:secure level' \!-{u,U}'+:user:_users' \ - '*:: :->args' && ret=0 - -if [[ -n $state ]]; then - if compset -P 1 '(^name)='; then - case ${IPREFIX%=} in - command|exec.*st(art|op)*) _cmdstring && ret=0 ;; - depend) _jails && ret=0 ;; - path) _directories && ret=0 ;; - host|vnet) alts=( 'values:value:(inherit new)' ) ;; - ip[46]) alts=( 'values:value:(inherit new disable)' ) ;; - *_user) _users && ret=0 ;; - *) _message -e values 'value' ;; - esac - elif compset -P name= || [[ $#line = 1 ]]; then - if (( $+opt_args[-r] || $+opt_args[-m] )); then - alts=( 'jails:jail:_jails' ) - elif (( $+opt_args[-c] )); then - running=( ${${(f)"$(_call_program jails jls name)"}/ /:} ) - jails=( ${${(M)${(f)"$(<${opt_args[-f]:-/etc/jail.conf})"}:#[a-z]# #\{#(#e)}%% *} ) - alts=( "jails:jail:compadd - ${jails:|running}" ) - fi - fi - if [[ -z $IPREFIX ]]; then - compset -S '=*' || suf=( -qS = ) - alts+=( - 'parameters:parameter:compadd -r "\n\t\- =" - persist allow.{set_hostname,sysvipc,raw_sockets,chflags,mount{,.devfs,.fdescfs,.nullfs,.procfs,.linprocfs,.linsysfs,.tmpfs,.zfs},quotas,socket_af} mount.{devfs,fdescfs,procfs}' - 'parameters:parameter:compadd $suf - jid name path ip{4,6}{,.addr{,sel}} vnet host.hostname host securelevel devfs_ruleset children.{max,cur} enforce_statfs cpuset.id osrelease osreldate command exec.{{,pre,post}{start,stop},clean,jail_user,system{,_jail}_user,timeout,consolelog,fib} stop.timeout {vnet.,}interface ip_hostname mount{,.fstab} depend' - ) - fi - (( $#alts )) && _alternative $alts && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_jails b/result/sw/share/zsh/5.9/functions/_jails deleted file mode 100644 index 89e34ba4..00000000 --- a/result/sw/share/zsh/5.9/functions/_jails +++ /dev/null @@ -1,33 +0,0 @@ -#autoload - -# Options: -# -# -0 include jid 0 as a match for the host system -# -o param jail parameter to complete instead of jid - -# e.g. name, path, ip4.addr, host.hostname - -local addhost host param desc=1 -local -a jails args expl -zparseopts -D -K -E 0=addhost o:=param -param=${param[2]:-name} - -jails=( ${${(f)"$(_call_program jails jls $param name)"}/ /:} ) -case $param in - jid) host=0 ;; - name) - host=0 - desc=0 - ;; - path) - host=/ - args=( -M 'r:|/=* r:|=*' ) - ;; - ip4.addr) args=( -M 'r:|.=* r:|=*' ) ;; -esac -[[ -n $addhost && -n $host ]] && jails+=( "$host:$HOST" ) - -if (( desc )); then - _describe -t jails jail jails "$@" "$args[@]" -else - _wanted jails expl jail compadd "$@" "$args[@]" - ${jails%:*} -fi diff --git a/result/sw/share/zsh/5.9/functions/_java b/result/sw/share/zsh/5.9/functions/_java deleted file mode 100644 index ff6e8264..00000000 --- a/result/sw/share/zsh/5.9/functions/_java +++ /dev/null @@ -1,644 +0,0 @@ -#compdef javac java javadoc appletviewer jar jdb javah javap extcheck rmic rmiregistry rmid serialver native2ascii keytool jarsigner policytool - -local expl tmp jdb_args jar_cmd match basedir ret=1 -local curcontext="$curcontext" state line jf -typeset -A opt_args tmpassoc - -jdb_args=() - -case "$service" in -javac|jar) - if compset -P @; then - _wanted files expl 'option file' _files - return - fi - ;| # continue -javac) - _arguments -C \ - '-g-[generate debugging information]:debug:->debug' \ - '-A-[specify option to annotation processors]:option' \ - '-implicit\:-[control generation of class files for implicitly loaded sources]:implicit:(class none)' \ - '-nowarn[generate no warnings]' \ - '-verbose[output messages about what the compiler is doing]' \ - '-deprecation[output source locations where deprecated APIs are used]' \ - '(-cp -classpath)'{-cp,-classpath}'[specify where to find user class files]:class path:->classpath' \ - '-sourcepath[specify where to find input source files]:source path:->sourcepath' \ - '-bootclasspath[override location of bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-endorseddirs[override location of endorsed standards path]:path:->extdirs' \ - '-extdirs[override location of installed extensions]:extensions directories:->extdirs' \ - '-d[specify where to place generated class files]:directory:_files -/' \ - '-encoding[specify character encoding used by source files]:encoding:->encoding' \ - '-proc\:-[control annotation processing]:annotation processing:(none only)' \ - '-processor[specify annotation processors to run]:class:_files' \ - '-processorpath[specify where to find annotation processors]:directory:_directories' \ - '-parameters[generate metadata for reflection on method parameters]' \ - '-s[specify directory for generated source files]:directory:_directories' \ - '-h[specify where to place generated native header files]:directory:_directories' \ - '-source[provide source compatibility with specified release]:release:(1.{2..8} {5..8})' \ - '-target[specify VM version]:release:(1.{1..5})' \ - '-profile[check that API used is available in the specified profile]:profile' \ - '(-)-help[print a synopsis of standard options]' \ - '(-)-version[print version information]' \ - '(-)-X[display information about non-standard options]' \ - '-J-[pass flag directly to the runtime system]:flag' \ - '-Werror[terminate compilation if warnings occur]' \ - '*:java source file:_files -g \*.java\(-.\)' && return 0 - ;; - -jdb) - jdb_args=( - '-host[specify host to connect to]:host:_hosts' - '-password[specify password]:password' - '-attach[attach to running VM]:address' - '-listen[wait for VM to connect]:address' - '-listenany[wait for VM to connect at any available address]' - '-launch[launch VM immediately]' - '-listconnectors[list the connectors available in this VM]' - '-connect[connect to target VM]:connector' - -dbgtrace -tclient -tserver - '-J-[java runtime option]:option' - ) - ;& - -java) - _arguments -C \ - "$jdb_args[@]" \ - -client -server -d32 -d64 \ - '-agentlib\:-:agent library' \ - '-agentpath\:-:path:_directories' \ - '-javaagent\:-:path:_directories' \ - '(-cp -classpath)'{-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-D-[specify a property]:property:->property' \ - \*{-enableassertions,-ea}-::class \ - \*{-disableassertions,-da}-::class \ - '(-enablesystemassertions -esa -disablesystemassertions -dsa)'{-enablesystemassertions,-esa,-disablesystemassertions,-dsa} \ - '(-verbose:class)-verbose[print class information]' \ - '(-verbose)-verbose\:class[print class information]' \ - '-verbose\:gc[print gc information]' \ - '-verbose\:jni[print JNI information]' \ - '(- 1)-version[print version]' \ - '-showversion[print version and continue]' \ - '(- 1)-'{\?,help}'[print help message]' \ - '(- 1)-X-[non-standard java option]:option' \ - '(- 1)-jar[specify a program encapsulated as jar]:jar:_files -g \*.jar\(-.\)' \ - '-splash\:-[show splash screen with specified image]:image:_files' \ - '(-):class:_java_class -m main ${(kv)opt_args[(i)(-classpath|-cp)]}' \ - '*::args:= _normal' \ - && return 0 - ;; - -javadoc) - _arguments -C \ - '-overview[specify overview file]:_files' \ - '-public[display public classes and members only]' \ - '-protected[display public/protected classes and members only (default)]' \ - '-package[display packages, public/protected classes and members only]' \ - '-private[display all classes and members]' \ - '-help[print help message]' \ - '-doclet[specify a doclet]:doclet:_java_class -t doclet ${(kv)opt_args[(i)-classpath]}' \ - '-docletpath[specify a path to search doclet]:doclet path:->docletpath' \ - '-sourcepath[specify path for source files]:source path:->sourcepath' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-exclude[specify a list of packages to exclude]:package list' \ - '-subpackages[specify subpackages to recursively load]:subpackage list' \ - '-breakiterator[compute first sentence with BreakIterator]' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-source[provide source compatibility with specified release]:release' \ - '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ - '-verbose[print verbose messages]' \ - '-locale[specify locale]:language_country_variant:' \ - '-encoding[specify character encoding for source files]:encoding:->encoding' \ - "-quiet[don't display status messages]" \ - '-J-[specify java option]:java option:' \ - '-X[print a synopsis of nonstandard options and exit]' \ - '-d[specify destination directory]:destination directory:_files -/' \ - '-use[display pages for use]' \ - '-version[include @version text]' \ - '-author[include @author text]' \ - '-splitindex[split index file for each alphabet]' \ - '-windowtitle[specify HTML title element]:title element:' \ - '-doctitle[specify title]:document title:' \ - '-header[specify header text]:header text:' \ - '-footer[specify footer text]:footer text:' \ - '-bottom[specify bottom text]:bottom text:' \ - '-link[generate a link to external reference classes]:document URL:' \ - '-linkoffline[generate a link for external reference class names]:document URL::package list URL:' \ - '-excludedocfilessubdir[exclude any doc-files subdirectories with given name]:name:_directories' \ - '-group[generate tables for each group]:group heading::package patterns:' \ - "-nodeprecated[don't include @deprecated information]" \ - '-noqualifier[exclude the list of qualifiers from the output]:qualifier list' \ - "-nosince[don't include @since information]" \ - "-notimestamp[don't include hidden time stamp]" \ - "-nodeprecatedlist[don't generate deprecated API list]" \ - "-notree[don't generate class and interface hierarchy]" \ - "-noindex[don't generate index]" \ - "-nohelp[don't generate help link]" \ - "-nonavbar[don't generate navigation bar]" \ - '-serialwarn[generate warning about @serial tag]' \ - '*-tag[specify single argument custom tag]:tag' \ - '-taglet[specify fully qualified name of Taglet to register]:taglet' \ - '-tagletpath[specify path to Taglets]:path:_directories' \ - '-charset[specify charset of generated documentation]:charset:->encoding' \ - '-helpfile[specify alternative help link]:helpfile path/filename:' \ - '-linksource[generate source in HTML]' \ - '-sourcetab[specify the number of spaces each tab takes up in the source]:spaces' \ - '-keywords[include HTML meta tags with package, class and member info]' \ - '-stylesheetfile[specify alternative HTML style sheet]:stylesheet path/filename:_directories' \ - '-docencoding[specify character encoding for output HTML files]:encoding:->encoding' \ - '*:package name, source file or @list:->docsrc' && ret=0 - ;; - -appletviewer) - _arguments -C \ - '-debug[run applet on jdb]' \ - '-encoding[specify character encoding for source files]:encoding:->encoding' \ - '-J-[specify java option]:java option:' \ - '*:URL:_urls' && return 0 - ;; - -jar) - if (( CURRENT == 2 )); then - compset -P - - _values -s '' 'jar command' \ - '( t x u)c[create new archive]' \ - '(c x u)t[list the table of archive]' \ - '(c t u)x[extract files from archive]' \ - '(c t x )u[update archive]' \ - 'f[specify archive file]' \ - 'v[verbose mode]' \ - '(e)m[specify manifest file]' \ - 'n[perform Pack200 normalization after creating a new archive]' \ - '(m)e[specify class of for application entry point]' \ - '0[store only without using ZIP compression]' \ - "M[don't create manifest file]" \ - "P[preserve leading / and .. components on file names]" \ - 'i[generate index information for specified jar files]' && return - else - jar_cmd="${words[2]#-}" - tmpassoc=( - m ':manifest file:_files' - e ':main class' - f ':archive file:_files -g "*.([ejw]ar|zip)(-.)"' - ) - _arguments '*-C[directory of class file]:directory:_directories' \ - '-J-[java runtime option]:option' \ - "${jar_cmd/[^-]*/:dummy:}" \ - ${${(s::)jar_cmd}/(#b)(?)/$tmpassoc[$match[1]]} \ - '*:file:->jararg' && return 0 - fi - ;; - -javah|javah_g) - _arguments -C \ - '-o[specify output file]:output file:_files' \ - '-d[specify destination directory]:directory:_files -/' \ - '-stubs[generate stubs]' \ - '-verbose[print verbose messages]' \ - '-help[print help message]' \ - '-version[print version]' \ - '-jni[JNI-style native method function prototypes]' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-old[generate old JDK1.0-style header files]' \ - '-force[force output]' \ - '-J-[java runtime option]:option' \ - '*:class:_java_class -m main ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -javap) - _arguments -C \ - '-help[print help message]' \ - '-version[print version information]' \ - {-v,-verbose}'[print additional information]' \ - '-l[line and local variable tables]' \ - '(-protected -package -p -private)-public[show only public classes and members]' \ - '(-public -package -p -private)-protected[show only protected/public classes and members]' \ - '(-public -protected -p -private)-package[show only package/protected/public classes and members (default)]' \ - '(-public -package -protected -p -private)'{-p,-private}'[show all classes and members]' \ - '-J-[specify java option]:java option:' \ - '-c[disassemble code]' \ - '-s[print internal type signatures]' \ - '-sysinfo[show system info (path, size, date, MD5 hash) of class being processed]' \ - '-constants[show final constants]' \ - {-cp,-classpath}'[specify path for user class files]:class path:->classpath' \ - '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ - '-extdirs[specify directories for extensions]:extensions directories:->extdirs' \ - '*:class:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -extcheck) - _arguments \ - '-verbose[print verbose messages]' \ - ':target jar file:_files -g \*.jar\(-.\)' && return 0 - ;; - -rmic) - _arguments -C \ - '-classpath[specify path for user class files]:class path:->classpath' \ - '-d[specify destination directory]:directory:_files -/' \ - '-depend[treat dependencies]' \ - '-g[enable debugging]' \ - '-J-[specify java option]:java option:' \ - '-keepgenerated[retain generated source files]' \ - '-nowarn[disable warnings]' \ - '-show[GUI mode]' \ - '-vcompat[compatible with JDK 1.1 and 1.2 (default)]' \ - '-verbose[print verbose messages]' \ - '-v1.1[JDK 1.1 stub protocol]' \ - '-v1.2[JDK 1.2 stub protocol]' \ - '*:package qualified class name:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -rmiregistry) - if (( CURRENT == 2 )); then - _wanted ports expl 'port to listen on' _ports && return - else - _message 'no more arguments' - fi - ;; - -rmid) - _arguments \ - '-C-[specify command line argument for child process]:command line argument for child process:' \ - '-log[specify log directory]:directory to place logs:_files -/' \ - '-port[specify port]:port:_ports' \ - '-stop[stop rmid]:' && return 0 - ;; - -serialver) - _arguments \ - '-classpath[specify where to find user class files]:class path:->classpath' \ - '(*)-show[display user interface]' \ - '(-show)*:class:_java_class ${(kv)opt_args[(i)-classpath]}' && return 0 - ;; - -native2ascii) - _arguments -C \ - '-reverse[convert Latin-1 (with \udddd) to native encoding]' \ - '-encoding[specify character encoding]:encoding:->encoding' \ - ':input file:_files' \ - ':output file:_files' && return 0 - ;; - -keytool) - _arguments \ - '-J-[specify java option]:java option:' \ - - genkey \ - '-genkey[command to generate a key pair]' \ - '-alias[alias]:alias:' \ - '-keyalg[key algorithm]:key algorithm:' \ - '-keysize[key size]:key size:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-dname[X.500 distinguish name]:X.500 distinguish name:' \ - '-keypass[password for private key]:password for private key:' \ - '-validity[valid days]:number of days:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - import \ - '-import[command to import certificate or certificate chain]' \ - '-alias[alias]:alias:' \ - '-file[specify certificate file]:certificate file:_files' \ - '-keypass[password for private key]:password for private key:' \ - '-noprompt[disable interaction with the user]' \ - '-trustcacerts[use cacerts]' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - selfcert \ - '-selfcert[command to generate X.509 v1 self-signed certificate]' \ - '-alias[alias]:alias:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-dname[X.500 distinguish name]:X.500 distinguish name:' \ - '-validity[valid days]:number of days:' \ - '-keypass[password for private key]:password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - identitydb \ - '-identitydb[command to read identity database]' \ - '-file[specify identity database file]:identity database file:_files' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - certreq \ - '-certreq[command to generate certificate signing request]' \ - '-alias[alias]:alias:' \ - '-sigalg[signature algorithm]:signature algorithm:' \ - '-file[specify certificate signing request file]:certificate signing request file:_files' \ - '-keypass[password for private key]:password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - export \ - '-export[command to store certificate]' \ - '-alias[alias]:alias:' \ - '-file[specify certificate file]:certificate file:_files' \ - '-rfc[make certificate format printable as RFC 1421]' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - list \ - '-list[command to print keystore entry]' \ - '-alias[alias]:alias:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '(-rfc)-v[make certificate format human-readable]' \ - '(-v)-rfc[make certificate format printable as RFC 1421]' \ - - printcert \ - '-printcert[command to print certificate in a human-readable format]' \ - '-file[specify certificate file]:certificate file:_files' \ - '-v[verbose mode]' \ - - keyclone \ - '-keyclone[command to create new keystore entry]' \ - '-alias[alias]:alias:' \ - '-dest[destination alias]:destination alias:' \ - '-keypass[password for private key]:password for private key:' \ - '-new[password for private key of new entry]:password for private key of new entry:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - storepasswd \ - '-storepasswd[command to change password for keystore]' \ - '-new[new password]:new password:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - keypasswd \ - '-keypasswd[command to change password for private key]' \ - '-alias[alias]:alias:' \ - '-keypass[old password for private key]:old password for private key:' \ - '-new[nwe password for private key]:new password for private key:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - delete \ - '-delete[command to delete entry]' \ - '-alias[alias]:alias:' \ - '-storetype[keystore type]:store type:' \ - '-keystore[keystore location]:keystore location:_files' \ - '-storepass[password for keystore]:password:' \ - '-v[verbose mode]' \ - - help \ - '(-J)-help[command to print help message]' && return 0 - ;; - -jarsigner) - _arguments \ - '-keystore[keystore location]:keystore location:_files' \ - '-storetype[specify keystore type]:store type:' \ - '-storepass[specify password for keystore]:password:' \ - '-keypass[specify password for private key]:password:' \ - '-sigfile[specify base file name of .SF and .DSA files to be generated]:sigfile:_files' \ - '-signedjar[specify signed JAR file]:_files -g "*.(jar|zip)(-.)"' \ - '(2)-verify[verify mode]' \ - '-certs[output certificate information in verify mode]' \ - '-verbose[print verbose messages]' \ - '-internalsf[old behaviour]' \ - '-sectionsonly[omit header of hash of the whole manifest file]' \ - '-J-[specify java option]:java option:' \ - ':jar file:_files -g "*.(jar|zip)(-.)"' \ - ':alias:' && return 0 - ;; - -policytool) - _arguments \ - '-file:policy file:_files' && return 0 - ;; - -*) - _message 'unknown command' - ;; -esac - -[[ -n "$state" ]] && -case "$state" in -debug) - if [[ -prefix :*, ]]; then - compset -P : - _values -s , "debug info" lines vars source && return - else - _description debuginfo expl "debug info" - compadd -P: "$expl[@]" none && ret=0 - compadd -P: -qS, "$expl[@]" lines vars source && ret=0 - fi - ;; - -classpath|sourcepath|bootstrapclasspath|docletpath) - compset -P '*:' - compset -S ':*' - _alternative \ - "classpath:$state:_path_files -qS: -g '*.(jar|zip)(-.)'" \ - "classpath:$state:_path_files -r': ' -/" && return - ;; - -extdirs) - compset -P '*:' - _path_files -/ && return - ;; - -encoding) - tmp=( - 'US-ASCII:American Standard Code for Information Interchange' - 'Cp1252:Windows Latin-1' - 'ISO-8859-1:ISO 8859-1, Latin alphabet No. 1 ' - 'ISO-8859-15:Latin alphabet No. 9 ' - 'UTF-8:Eight-bit UCS Transformation Format' - 'UTF-16:Sixteen-bit UCS Transformation Format, byte order identified by an' - 'UTF-16BE:Sixteen-bit UCS Transformation Format, big-endian byte order ' - 'UTF-16LE:Sixteen-bit UCS Transformation Format, little-endian byte order ' - 'ASCII:American Standard Code for Information Interchange' - 'ISO8859_1:ISO 8859-1, Latin alphabet No. 1' - 'UnicodeBig:Sixteen-bit Unicode Transformation Format, big-endian' - 'UnicodeBigUnmarked:Sixteen-bit Unicode Transformation Format, big-endian' - 'UnicodeLittle:Sixteen-bit Unicode Transformation Format, little-endian' - 'UnicodeLittleUnmarked:Sixteen-bit Unicode Transformation Format, little-endian' - 'UTF8:Eight-bit Unicode Transformation Format' - 'UTF-16:Sixteen-bit Unicode Transformation Format, byte order' - 'Big5:Big5, Traditional Chinese' - 'Big5_HKSCS:Big5 with Hong Kong extensions, Traditional Chinese' - 'Big5_Solaris:Big5 with seven additional Hanzi ideograph character mappings ' - 'Cp037:USA, Canada (Bilingual, French), Netherlands, Portugal, Brazil, Australia' - 'Cp273:IBM Austria, Germany' - 'Cp277:IBM Denmark, Norway' - 'Cp278:IBM Finland, Sweden' - 'Cp280:IBM Italy' - 'Cp284:IBM Catalan/Spain, Spanish Latin America' - 'Cp285:IBM United Kingdom, Ireland' - 'Cp297:IBM France' - 'Cp420:IBM Arabic' - 'Cp424:IBM Hebrew' - 'Cp437:MS-DOS United States, Australia, New Zealand, South Africa' - 'Cp500:EBCDIC 500V1' - 'Cp737:PC Greek' - 'Cp775:PC Baltic' - 'Cp838:IBM Thailand extended SBCS' - 'Cp850:MS-DOS Latin-1' - 'Cp852:MS-DOS Latin-2' - 'Cp855:IBM Cyrillic' - 'Cp856:IBM Hebrew' - 'Cp857:IBM Turkish' - 'Cp858:Variant of Cp850 with Euro character' - 'Cp860:MS-DOS Portuguese' - 'Cp861:MS-DOS Icelandic' - 'Cp862:PC Hebrew' - 'Cp863:MS-DOS Canadian French' - 'Cp864:PC Arabic' - 'Cp865:MS-DOS Nordic' - 'Cp866:MS-DOS Russian' - 'Cp868:MS-DOS Pakistan' - 'Cp869:IBM Modern Greek' - 'Cp870:IBM Multilingual Latin-2' - 'Cp871:IBM Iceland' - 'Cp874:IBM Thai' - 'Cp875:IBM Greek' - 'Cp918:IBM Pakistan (Urdu)' - 'Cp921:IBM Latvia, Lithuania (AIX, DOS)' - 'Cp922:IBM Estonia (AIX, DOS)' - 'Cp930:Japanese Katakana-Kanji mixed with 4370 UDC, superset of 5026' - 'Cp933:Korean Mixed with 1880 UDC, superset of 5029' - 'Cp935:Simplified Chinese Host mixed with 1880 UDC, superset of 5031' - 'Cp937:Traditional Chinese Host miexed with 6204 UDC, superset 5033' - 'Cp939:Japanese Latin Kanji mixed with 4370 UDC, superset of 5035' - 'Cp942:IBM OS/2 Japanese, superset of Cp932' - 'Cp942C:Variant of Cp942' - 'Cp943:IBM OS/2 Japanese, superset of Cp932 and Shift-JIS' - 'Cp943C:Variant of Cp943' - 'Cp948:OS/2 Chinese (Taiwan) superset of 938' - 'Cp949:PC Korean' - 'Cp949C:Variant of Cp949' - 'Cp950:PC Chinese (Hong Kong, Taiwan)' - 'Cp964:AIX Chinese (Taiwan)' - 'Cp970:AIX Korean' - 'Cp1006:IBM AIX Pakistan (Urdu)' - 'Cp1025:IBM Multilingual Cyrillic (Bulgaria, Bosnia)' - 'Cp1025:IBM Multilingual Cyrillic - Bulgaria, Bosnia, Herzegovinia, Macedonia (FYR)' - 'Cp1026:IBM Latin-5, Turkey' - 'Cp1046:IBM Arabic - Windows' - 'Cp1097:IBM Iran (Farsi)/Persian' - 'Cp1098:IBM Iran (Farsi)/Persian (PC)' - 'Cp1112:IBM Latvia, Lithuania' - 'Cp1122:IBM Estonia' - 'Cp1123:IBM Ukraine' - 'Cp1124:IBM AIX Ukraine' - 'Cp1140:Variant of Cp037 with Euro character' - 'Cp1141:Variant of Cp273 with Euro character' - 'Cp1142:Variant of Cp277 with Euro character' - 'Cp1143:Variant of Cp278 with Euro character' - 'Cp1144:Variant of Cp280 with Euro character' - 'Cp1145:Variant of Cp284 with Euro character' - 'Cp1146:Variant of Cp285 with Euro character' - 'Cp1147:Variant of Cp297 with Euro character' - 'Cp1148:Variant of Cp500 with Euro character' - 'Cp1149:Variant of Cp871 with Euro character' - 'Cp1250:Windows Eastern European' - 'Cp1251:Windows Cyrillic' - 'Cp1253:Windows Greek' - 'Cp1254:Windows Turkish' - 'Cp1255:Windows Hebrew' - 'Cp1256:Windows Arabic' - 'Cp1257:Windows Baltic' - 'Cp1258:Windows Vietnamese' - "Cp1381:IBM OS/2, DOS People's Republic of China (PRC)" - "Cp1383:IBM AIX People's Republic of China (PRC)" - 'Cp33722:IBM-eucJP - Japanese (superset of 5050)' - 'EUC_CN:GB2312, EUC encoding, Simplified Chinese' - 'EUC_JP:JIS X 0201, 0208, 0212, EUC encoding, Japanese' - 'EUC_KR:KS C 5601, EUC encoding, Korean' - 'EUC_TW:CNS11643 (Plane 1-3), EUC encoding, Traditional Chinese' - 'GB18030:Simplified Chinese, PRC standard' - 'GBK:GBK, Simplified Chinese' - 'ISCII91:ISCII91 encoding of Indic scripts' - 'ISO2022CN:ISO 2022 CN, Chinese (conversion to Unicode only)' - 'ISO2022CN_CNS:CNS 11643 in ISO 2022 CN form, Traditional Chinese' - 'ISO2022CN_GB:GB 2312 in ISO 2022 CN form, Simplified Chinese' - 'ISO2022JP:JIS X 0201, 0208 in ISO 2022 form, Japanese' - 'ISO2022KR:ISO 2022 KR, Korean' - 'ISO8859_2:ISO 8859-2, Latin alphabet No. 2' - 'ISO8859_3:ISO 8859-3, Latin alphabet No. 3' - 'ISO8859_4:ISO 8859-4, Latin alphabet No. 4' - 'ISO8859_5:ISO 8859-5, Latin/Cyrillic alphabet' - 'ISO8859_6:ISO 8859-6, Latin/Arabic alphabet' - 'ISO8859_7:ISO 8859-7, Latin/Greek alphabet' - 'ISO8859_8:ISO 8859-8, Latin/Hebrew alphabet' - 'ISO8859_9:ISO 8859-9, Latin alphabet No. 5' - 'ISO8859_13:ISO 8859-13, Latin alphabet No. 7' - 'ISO8859_15:ISO 8859-15, Latin alphabet No. 9' - 'JIS0201:JIS X 0201, Japanese' - 'JIS0208:JIS X 0208, Japanese' - 'JIS0212:JIS X 0212, Japanese' - 'JISAutoDetect:Detects and converts from Shift-JIS, EUC-JP, ISO 2022 JP' - 'Johab:Johab, Korean' - 'KOI8_R:KOI8-R, Russian' - 'MS874:Windows Thai' - 'MS932:Windows Japanese' - 'MS936:Windows Simplified Chinese' - 'MS949:Windows Korean' - 'MS950:Windows Traditional Chinese' - 'MacArabic:Macintosh Arabic' - 'MacCentralEurope:Macintosh Latin-2' - 'MacCroatian:Macintosh Croatian' - 'MacCyrillic:Macintosh Cyrillic' - 'MacDingbat:Macintosh Dingbat' - 'MacGreek:Macintosh Greek' - 'MacHebrew:Macintosh Hebrew' - 'MacIceland:Macintosh Iceland' - 'MacRoman:Macintosh Roman' - 'MacRomania:Macintosh Romania' - 'MacSymbol:Macintosh Symbol' - 'MacThai:Macintosh Thai' - 'MacTurkish:Macintosh Turkish' - 'MacUkraine:Macintosh Ukraine' - 'SJIS:Shift-JIS, Japanese' - 'TIS620:TIS620, Thai' - ) - _describe 'character encoding' tmp -- - ;; - -property) - if compset -P 1 '*='; then - _default && return - else - _message -e property-names 'property name' - fi - ;; - -docsrc) - if compset -P @; then - _wanted files expl 'package/source list file' _files && return - else - _wanted files expl 'package or source' _files -g '*.java(-.)' && return - fi - ;; - -jararg) - if [[ "$words[CURRENT - 2]" == -C ]]; then - _wanted file expl 'input file' _files -W "($words[CURRENT - 1])" && return - elif [[ $words[2] = *x* ]]; then - jf="$words[3]" - if [[ $jf != $_jar_cache_name && -f $jf ]]; then - _jar_cache_list=("${(@f)$($words[1] tf $jf)}") - _jar_cache_name=$jf - fi - _wanted files expl 'file from archive' _multi_parts / _jar_cache_list && return - else - _wanted files expl 'input file' _files && return - fi - ;; - -*) - _message "unknown state: $state" - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_java_class b/result/sw/share/zsh/5.9/functions/_java_class deleted file mode 100644 index 0e30e550..00000000 --- a/result/sw/share/zsh/5.9/functions/_java_class +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -# Should probably add some sort of cache. -# Should we call _multi_parts instead of compadd? - -local classpath i expl -local -a c -local method type - -zparseopts -D -E -a classpath t:=type m:=method cp: classpath: -: "$classpath[@]" -classpath="${${classpath[2]:-${CLASSPATH:-.}}//\\:/:}" -: "$classpath[@]" - -for i in "${(s.:.)classpath}"; do - [[ -z $i ]] && i=. - if [[ -f $i ]] && [[ "$i" == *.(jar|zip|war|ear) ]]; then - c+=( ${${${(M)$(_call_program jar_classes jar -tf $i 2>/dev/null)##*.class}%%.class}:gs#/#.#} ) - elif [[ -d $i ]]; then - c+=( $i/**/*.class(.:r:s/.class//:s#$i/##:gs#/#.#) ) - fi -done - -_wanted classes expl 'java class' compadd "$@" -M 'r:|.=* r:|=*' -a - c - diff --git a/result/sw/share/zsh/5.9/functions/_jexec b/result/sw/share/zsh/5.9/functions/_jexec deleted file mode 100644 index 6a2d05a8..00000000 --- a/result/sw/share/zsh/5.9/functions/_jexec +++ /dev/null @@ -1,21 +0,0 @@ -#compdef jexec - -_jexec_normal() { - local PATH=$PATH - local -a _comp_priv_prefix - # relative paths are relative to the jail's root - path=( "$(_call_program paths jls -j $words[1] path)"/$^path ) - shift 1 words; (( CURRENT-- )) - _normal -} - -_jexec() { - _arguments -s -S -A "-*" : \ - '-l[execute in a clean environment]' \ - '(-U)-u[host environment user whom command runs as]:host user:_users' \ - '(-u)-U[jail environment user whom command runs as]:jail user:_users' \ - '1:jail:_jails' \ - '*:: : _jexec_normal' -} - -_jexec "$@" diff --git a/result/sw/share/zsh/5.9/functions/_jls b/result/sw/share/zsh/5.9/functions/_jls deleted file mode 100644 index a6f8a7eb..00000000 --- a/result/sw/share/zsh/5.9/functions/_jls +++ /dev/null @@ -1,19 +0,0 @@ -#compdef jls - -local curcontext=$curcontext state state_descr line -typeset -A opt_args - -_arguments -C -s -w -A '-*' : \ - '-d[include diying jails]' \ - '-h[print header line]' \ - "-N[print jail's name instead of numeric ID]" \ - '-n[print parameters in ``name=value'\'\'' format]' \ - '-q[quote parameter value when it contains whitespace, quotes or empty string]' \ - '-s[print parameters suitable for passing to jail(8)]' \ - '-v[print a multiple-line summary per jail]' \ - '-j[the jid or name of the jail to list]:jail:_jails' \ - '*: :->parameters' - -if [[ $state == parameters ]]; then - _values -w -S ' ' 'jail parameter' ${${${(f)"$(sysctl -N security.jail.param)"}%.#}##security.jail.param.#} -fi diff --git a/result/sw/share/zsh/5.9/functions/_jobs b/result/sw/share/zsh/5.9/functions/_jobs deleted file mode 100644 index bc35c44d..00000000 --- a/result/sw/share/zsh/5.9/functions/_jobs +++ /dev/null @@ -1,84 +0,0 @@ -#autoload - -local expl disp jobs job jids pfx='%' desc how expls sep - -if [[ "$1" = -t ]]; then - zstyle -T ":completion:${curcontext}:jobs" prefix-needed && - [[ "$PREFIX" != %* && compstate[nmatches] -ne 0 ]] && return 1 - shift -fi -zstyle -t ":completion:${curcontext}:jobs" prefix-hidden && pfx='' -zstyle -T ":completion:${curcontext}:jobs" verbose && desc=yes - -if [[ "$1" = -r ]]; then - jids=( "${(@k)jobstates[(R)running*]}" ) - shift - expls='running job' -elif [[ "$1" = -s ]]; then - jids=( "${(@k)jobstates[(R)suspended*]}" ) - shift - expls='suspended job' -else - [[ "$1" = - ]] && shift - jids=( "${(@k)jobtexts}" ) - expls=job -fi - -if [[ -n "$desc" ]]; then - disp=() - zstyle -s ":completion:${curcontext}:jobs" list-separator sep || sep=-- - for job in "$jids[@]"; do - [[ -n "$desc" ]] && - disp=( "$disp[@]" "${pfx}${(r:2:: :)job} $sep ${(r:COLUMNS-8:: :)jobtexts[$job]}" ) - done -fi - -zstyle -s ":completion:${curcontext}:jobs" numbers how - -if [[ "$how" = (yes|true|on|1) ]]; then - jobs=( "$jids[@]" ) -else - local texts i text str tmp num max=0 - - # Find shortest unambiguous strings. - - texts=( "$jobtexts[@]" ) - jobs=() - for i in "$jids[@]"; do - text="$jobtexts[$i]" - str="${text%% *}" - if [[ "$text" = *\ * ]]; then - text="${text#* }" - else - text="" - fi - tmp=( "${(@M)texts:#${str}*}" ) - num=1 - while [[ -n "$text" && $#tmp -ge 2 ]]; do - str="${str} ${text%% *}" - if [[ "$text" = *\ * ]]; then - text="${text#* }" - else - text="" - fi - tmp=( "${(@M)texts:#${str}*}" ) - (( num++ )) - done - - [[ num -gt max ]] && max="$num" - - jobs=( "$jobs[@]" "$str" ) - done - - if [[ "$how" = [0-9]## && max -gt how ]]; then - jobs=( "$jids[@]" ) - else - [[ -z "$pfx" && -n "$desc" ]] && disp=( "${(@)disp#%}" ) - fi -fi - -if [[ -n "$desc" ]]; then - _wanted jobs expl "$expls" compadd "$@" -ld disp - "%$^jobs[@]" -else - _wanted jobs expl "$expls" compadd "$@" - "%$^jobs[@]" -fi diff --git a/result/sw/share/zsh/5.9/functions/_jobs_bg b/result/sw/share/zsh/5.9/functions/_jobs_bg deleted file mode 100644 index 0c184220..00000000 --- a/result/sw/share/zsh/5.9/functions/_jobs_bg +++ /dev/null @@ -1,3 +0,0 @@ -#compdef bg - -_jobs -s "$@" diff --git a/result/sw/share/zsh/5.9/functions/_jobs_builtin b/result/sw/share/zsh/5.9/functions/_jobs_builtin deleted file mode 100644 index 70804cf0..00000000 --- a/result/sw/share/zsh/5.9/functions/_jobs_builtin +++ /dev/null @@ -1,10 +0,0 @@ -#compdef jobs - -_arguments -C -s \ - "(-d -l -p -r -s *)-Z[specify string to replace shell's argument and environment with]:string" \ - '(-Z)-d[show directory from which each job was started]' \ - '(-Z)-l[list process IDs]' \ - '(-Z)-p[list process groups]' \ - '(-Z -s)-r[list only running jobs]' \ - '(-Z -r)-s[list only stopped jobs]' \ - '(-Z)*::job:_jobs' diff --git a/result/sw/share/zsh/5.9/functions/_jobs_fg b/result/sw/share/zsh/5.9/functions/_jobs_fg deleted file mode 100644 index 57117f0d..00000000 --- a/result/sw/share/zsh/5.9/functions/_jobs_fg +++ /dev/null @@ -1,3 +0,0 @@ -#compdef disown fg - -_jobs "$@" diff --git a/result/sw/share/zsh/5.9/functions/_joe b/result/sw/share/zsh/5.9/functions/_joe deleted file mode 100644 index 74b0bf1a..00000000 --- a/result/sw/share/zsh/5.9/functions/_joe +++ /dev/null @@ -1,39 +0,0 @@ -#compdef joe - -_arguments \ - '-asis[characters with codes >127 will be displayed non-inverted]' \ - '-backpath[backup file directory]:backup file directory:_files -/' \ - '-baud[inserts delays for baud rates below 19200]:baud rate:_baudrates' \ - '-beep[beep on command errors or when cursor goes past extremes]' \ - '-columns[sets the number of screen columns]:num of columns' \ - '-csmode[continued search mode]' \ - '-dopadding[catch up after long terminal commands]' \ - '-exask[^KX verify the file name that it is about to write]' \ - '-force[make sure that last line of the file has a line-feed]' \ - '-help[start editor with help screen on]' \ - '-keepup[update column number and control-key prefix after each keystroke]' \ - '-lightoff[make block highlighting go away after any block command]' \ - '-lines[set the number of screen lines]:num of screen lines' \ - '-marking[text between ^KB and the cursor is highlighted]' \ - '-mid[scroll window and make cursor go to center after]' \ - '-nobackups[prevents making backup files]' \ - '-nonotice[prevents displaying copyright notice on startup]' \ - '-nosta[eliminate top-most status line]' \ - '-noxon[turn off ^S/^Q processing]' \ - '-orphan[extra files get placed in orphaned buffers instead of new windows]' \ - '-pg[specify the number of lines to keep after PgUp/PgDn]:num of lines to keep' \ - '-skiptop[prevents use of top n screen lines]:num of top lines to skip' \ - '+-[number of lines]:number of lines' \ - '-crlf[use CR+LF as end of line sequence, instead of just LF]' \ - '-wordwrap[wrap the previous word when you type past the right margin]' \ - '-autoindent[indentation is duplicated onto the next line]' \ - '-overwrite[typing overwrites existing characters]' \ - '-lmargin[set the left margin]:left margin' \ - '-rmargin[set the right margin]:right margin' \ - '-tab[set the TAB character width]:tab width' \ - '-indentc[set the indentation character for ^K, and ^K.]:indent char for ^K, and ^K.' \ - '-istep[set the indentation step for ^K, and ^K.]:indent step for ^K, and ^K.' \ - '-linums[display line numbers before each line]' \ - '-rdonly[make file read-only]' \ - '-keymap[use an alternate section of joerc for keybindings]:keymap name' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_join b/result/sw/share/zsh/5.9/functions/_join deleted file mode 100644 index 4915a060..00000000 --- a/result/sw/share/zsh/5.9/functions/_join +++ /dev/null @@ -1,29 +0,0 @@ -#compdef join gjoin - -local args variant -args=( - '*-a+[print unpairable lines from specified file]:file number:(1 2)' - '-e+[replace missing input fields with specified string]:replacement string' - "(-1 -2)-j+[join on specified field for both files]:field number" - '-o+[use specified output format]:format string' - '-t+[use specified character as field separator]:separator' - '*-v+[like -a, but suppress joined output lines]:file number:(1 2)' - '(-j -1 -j1)'{-j1,-1+}'[join on specified field of first file]:field number' - '(-j -2 -j2)'{-j2,-2+}'[join on specified field of second file]:field number' - '1:file:_files' '2:file:_files' -) -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args+=( - '(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing fields]' - '(-)--help[display help information]' - '(-)--version[output version information]' - '(--check-order --nocheck-order)'{--check-order,--nocheck-order} - '--header[treat first line in each file as field headers]' - '(-z --zero-terminated)'{-z,--zero-terminated}'[end lines with 0 byte, not newline]' - ) - ;; -esac - -_arguments -s $args diff --git a/result/sw/share/zsh/5.9/functions/_jot b/result/sw/share/zsh/5.9/functions/_jot deleted file mode 100644 index e8abcb7d..00000000 --- a/result/sw/share/zsh/5.9/functions/_jot +++ /dev/null @@ -1,82 +0,0 @@ -#compdef jot - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args - -_arguments -s -C : \ - '(-b)-r[generate random data instead of the default sequential data]' \ - '(-c -p -r -w)-b+[just print the specified word repeatedly]:word:' \ - '(-b -c -p)-w+[specify output format as in printf]:output format:->format' \ - '(-b -p -w)-c[same as -w %c]' \ - '-s+[separate the data by the specified string instead of newline]:string:' \ - '-n[do not print the final newline]' \ - '(-b -c -w)-p+[specify number of digits after decimal point]:precision:' \ - '(-)1: :_guard "^-*" "number of data"' \ - '2::lower bound:' \ - '3::upper bound:' \ - '4:: :->lastarg' && ret=0 - -case $state in - (format) - local -a flags digits conversions - flags=( - '#:alternative form' - ' :leave a blank before a positive number' - '+:always place a sign before a number' - '-:left adjust' - ) - digits=(0 1 2 3 4 5 6 7 8 9 .) - conversions=( - {d,i}':signed decimal' - 'o:unsigned octal' - 'u:unsigned decimal' - {x,X}':unsigned hexadecimal' - 'l'{d,i}':long signed decimal' - 'lo:long unsigned octal' - 'lu:long unsigned decimal' - 'l'{x,X}':long unsigned hexadecimal' - 'f:double number' - {e,E}':double number in scientific notation' - {g,G}':use %f or %e, whichever is more appropriate' - 'c:character' - ) - - compset -P '([^%]#%%)#' - if compset -P '[^%]#%'; then - # flags: (|\#)(| )(|+|-) - compset -P '(\#|\\\#)' && flags=( ${(@)flags:#\#*} ) - compset -P '( |\\ )' && flags=( ${(@)flags:#(\#| )*} ) - compset -P '(+|-)' || compset -P '[0-9]##' && flags=() - # width.precision: [0-9]#(|.[0-9]#) - if compset -P '.'; then - flags=() - digits=( ${(@)digits:#.} ) - fi - compset -P '[0-9]#' - # conversion specifier: ((|l)[diouxX]|[feEgGc]) - if compset -P '((|l)[diouxX]|[feEgGc])'; then - _message -e format-rest 'rest of the format' && ret=0 - else - local opts=( -S '' ) - _alternative -O opts 'flags:flag:(( $flags ))' \ - "width-precision:width.precision:($digits)" \ - 'conversion-specifiers:conversion specifier:(( $conversions ))' \ - && ret=0 - fi - else - local expl - compset -P '*' - _wanted start-specification expl 'start specification' \ - compadd -S '' % && ret=0 - fi - ;; - (lastarg) - if (( $+opt_args[-r] )); then - _message -e seeds 'random number seed' && ret=0 - else - _message -e steps 'step size' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_jq b/result/sw/share/zsh/5.9/functions/_jq deleted file mode 100644 index b8e41dd6..00000000 --- a/result/sw/share/zsh/5.9/functions/_jq +++ /dev/null @@ -1,37 +0,0 @@ -#compdef jq - -# last updated for jq-1.5-1-a5b5cbe (debian package 1.5+dfsg-1.3) - -# Note: -# Arguments to options must be in separate words. Thus, -# {-f,--from-file}'[foo]' -# is correct like that, without the usual {-f+,--from-file=} suffixes. -# -_arguments -S -s : \ - "--version[output jq's version number]" \ - "--seq[use application/json-seq ASCII RS/LF scheme in input and output]" \ - "--stream[parse input streamily (changes output)]" \ - '(-s --slurp)'{-s,--slurp}'[join input JSON objects to array before filtering]' \ - '(-R --raw-input)'{-R,--raw-input}'[consider each input line as a JSON strings]' \ - '(-n --null-input)'{-n,--null-input}'[input is ignored]' \ - '(-c --compact-output)'{-c,--compact-output}"[don't pretty-print]" \ - '(--indent)--tab[indent output using TAB characters]' \ - '(--tab)--indent[indent output using given number of spaces]:number of spaces (integer):(2 4 8)' \ - '(-C --color-output -M --monochrome-output)'{-C,--color-output}'[output in color]' \ - '(-C --color-output -M --monochrome-output)'{-M,--monochrome-output}'[output without color]' \ - '(-a --ascii-output)'{-a,--ascii-output}'[restrict output to ASCII]' \ - '--unbuffered[flush output after each JSON object]' \ - '(-S --sort-keys)'{-S,--sort-keys}'[output object keys in sorted order]' \ - '(-r --raw-output -j --join-output)'{-r,--raw-output}"[don't JSON-quote output if it's a string]" \ - '(-r --raw-output -j --join-output)'{-j,--join-output}"[like -r, without newlines between outputs]" \ - '(-f --from-file)'{-f,--from-file}'[read filter from file]:_files' \ - '-L+[prepend a directory to the module search path]:_directories' \ - '(-e --exit-status)'{-e,--exit-status}'[report "false" and "null" results via exit code]' \ - '*--arg[pre-set a variable to a string]:variable name: :value (string)' \ - '*--argjson[pre-set a variable to an object]:variable name: :value (JSON)' \ - '*--slurpfile[pre-set a variable to an array of JSON texts read from a file]:variable name: :file:_files' \ - '*--rawfile[pre-set a variable to the contents of a file]:variable name: :file:_files' \ - '--args[remaining arguments are string arguments, not files]' \ - '--jsonargs[remaining arguments are JSON arguments, not files]' \ - "1: :_guard '|[^-]' filter" \ - "*: :_files" diff --git a/result/sw/share/zsh/5.9/functions/_kdeconnect b/result/sw/share/zsh/5.9/functions/_kdeconnect deleted file mode 100644 index ee186690..00000000 --- a/result/sw/share/zsh/5.9/functions/_kdeconnect +++ /dev/null @@ -1,33 +0,0 @@ -#compdef kdeconnect-cli - -_kdeconnect_device-ids() { - compadd $(kdeconnect-cli --list-available --id-only) -} - -_arguments \ - '(-l --list-devices -a --list-available)'{-l,--list-devices}'[list all devices]' \ - '(-l --list-devices -a --list-available)'{-a,--list-available}'[list available (paired and reachable) devices]' \ - '--id-only[make --list-devices or --list-available print only the devices id, to ease scripting]' \ - '--refresh[search for devices in the network and re-establish connections]' \ - '(--pair --unpair)--pair[request pairing with the specified device]' \ - '--ring[find the device by ringing it]' \ - '(--pair --unpair)--unpair[stop pairing to the specified device]' \ - '(--ping --ping-msg)--ping[send a ping to the device]' \ - '(--ping --ping-msg)--ping-msg[send a ping to the device with the specified message]:message' \ - '--share[share a file to the device]:file:_files' \ - '--list-notifications[display the notifications on the device]' \ - '--lock[lock the specified device]' \ - '--send-sms[send an SMS. Requires --destination]:message' \ - '--destination[specify phone number to send the SMS to]:phone number' \ - '(-d --device -n --name)'{-d,--device}'[specify device ID]:id:_kdeconnect_device-ids' \ - '(-d --device -n --name)'{-n,--name}'[specify device name]:name' \ - '--encryption-info[get encryption info about the device]' \ - '--list-commands[list remote commands and their ids]' \ - '--execute-command[execute a remote command]:command id' \ - '(-k --send-keys)'{-k,--send-keys}'[send keys to the specified device]' \ - "--my-id[display this device's id and exit]" \ - '(-)'{-h,--help}'[display usage information]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)--author[show author information and exit]' \ - '(-)--license[show license information and exit]' \ - '--desktopfile[specify base file name of the desktop entry for this application]:file' diff --git a/result/sw/share/zsh/5.9/functions/_kdump b/result/sw/share/zsh/5.9/functions/_kdump deleted file mode 100644 index e5c7c4cc..00000000 --- a/result/sw/share/zsh/5.9/functions/_kdump +++ /dev/null @@ -1,84 +0,0 @@ -#compdef kdump - -_kdump_pid() { - local -a args pids - local -A assoc_pids - - if (( $+opt_args[-f] )); then - args=(-f $opt_args[-f]) - fi - pids=(${${${(f)"$(_call_program kdump-pids kdump $args)"}:#($'\t'| )*}## #}) - [[ $OSTYPE == netbsd* ]] && pids=(${pids/ ##[0-9]##/}) - pids=(${(u)${pids/ /:}%% *}) - for 1 in $pids; do - local pid=${1%%:*} process=${1#*:} - if (( $+assoc_pids[$pid] )); then - assoc_pids[$pid]+=", $process" - else - assoc_pids[$pid]=$process - fi - done - pids=() - for pid procs in ${(kv)assoc_pids}; do - pids+=($pid:$procs) - done - _describe -t kdump-pids 'kdump pid' pids -} - -local args=( - '-d[display numbers in decimal]' - '-f+[use the specified file (- for stdin)]:dump file:_files' - '-l[loop reading the trace file]' - '-m+[maximum I/O bytes to display]:max data bytes:' - '-n[suppress ad hoc translations]' - '-p+[show output only for the specified pid]: :_kdump_pid' - '(-E -T)-R[display relative timestamps]' - '(-E -R )-T[display absolute timestamps]' - '-t[select which tracepoints to display]: :_ktrace_points' -) - -case $OSTYPE; in - freebsd*|netbsd*) - args+=( - '(-R -T)-E[display elapsed timestamps]' - ) - ;| - freebsd*|openbsd*) - args+=( - '-H[display thread identifiers]' - ) - ;| - dragonfly*) - args+=( - '(-c -R)-a[display full human readable output]' - '-c[display the CPU the thread is running on]' - '-j[use a fixed format output]' - ) - ;; - freebsd*) - args+=( - '-A[display description of the ABI of traced process]' - '-r[symbolically display structure members]' - '-S[display system call numbers]' - '-s[suppress display of I/O data]' - ) - ;; - netbsd*) - args+=( - '-e[interpret system call maps using the specified emulation]:emulation:' - '-N[suppress system call name translation]' - '-X[Display GIO data in hex and ascii in groups of specified size]:size:(1 2 4 8 16)' - '-x[Display GIO data in hex and ascii]' - '1:dump file:_files' - ) - ;; - openbsd*) - args+=( - # XXX handle -TR - '-X[display I/O data in hex and ASCII]' - '-x[display I/O data in hex]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/sw/share/zsh/5.9/functions/_kfmclient b/result/sw/share/zsh/5.9/functions/_kfmclient deleted file mode 100644 index 87080cf9..00000000 --- a/result/sw/share/zsh/5.9/functions/_kfmclient +++ /dev/null @@ -1,105 +0,0 @@ -#compdef kfmclient kioclient - -# kfmclient is a command line interface for use with Konqueror, -# the KDE file manager and web browser. -# -# In KDE4, kioclient has similar syntax but doesn't necessarily talk -# to Konqueror ("kioclient exec ." by default starts Dolphin, for example). - -local expl -local -a context state line -typeset -A opt_args - -_arguments \ - '--help[show help message]' \ - '--help-qt[show Qt specific options]' \ - '--help-kde[show KDE specific options]' \ - '--help-all[show all options]' \ - '--author[show author information]' \ - '-v[show version information]' \ - '--version[show version information]' \ - '--license[show license information]' \ - '--commands[show available commands]' \ - '--display=:X display:_x_display' \ - '--session=:session id for restoring application: ' \ - '--cmap[use private colormap (8-bit display)]' \ - '--ncols=:limit on number of colors (8-bit display): ' \ - '--nograb[never grab mouse or keyboard]' \ - '--dograb[override nograb in debugger]' \ - '--sync[switch to synchronous mode when debugging]' \ - '--fn=:font name:_x_font' \ - '--font=:font name:_x_font' \ - '--bg=:background color:_x_color' \ - '--background=:background color:_x_color' \ - '--fg=:foreground color:_x_color' \ - '--foreround=:foreground color:_x_color' \ - '--btn=:button color:_x_color' \ - '--button=:button color:_x_color' \ - '--name=:application name: ' \ - '--title=:application title (caption): ' \ - '--visual=:specify visual:_x_visual' \ - '--inputstyle:X input method:(onthespot overthespot offthespot root)' \ - '--im:X Input Method server: ' \ - '--noxim[disable X Input Method]' \ - '--reverse[reverse widget layout]' \ - '--caption=:name in titlebar: ' \ - '--icon=:application icon: ' \ - '--miniicon=:icon in titlebar: ' \ - '--config=:configuration file:_files' \ - '--dcopserver=:DCOP server: ' \ - '--nocrashhandler[disable crash handler, allow core dumps]' \ - '--waitforwm[wait for a WM_NET compatible window manager]' \ - '--style=:GUI style for application: ' \ - '--geometry=:client window geometry:_x_geometry' \ - '1:client command:(openURL openProfile openProperties exec move -download copy sortDesktop configure configureDesktop)' \ - '2::args:->firstarg' \ - '3::args:->secondarg' && return 0 - -[[ $state = *arg ]] || return 1 - -# Argument to previous command. - -case $line[1] in - (openURL) - if [[ $state = secondarg ]]; then - _mime_types - return - elif [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; - - (openProfile) - if [[ $state = secondarg ]]; then - _webbrowser - return - elif [[ $state = firstarg ]]; then - local appdata=${$(kde-config --path data 2> /dev/null):-~/.kde/share/apps/} - _wanted profile expl 'Konqueror profile' \ - compadd -- ${(s/:/)^${appdata}}konqueror/profiles/*(:t) - return - fi - ;; - - (exec) - if [[ $state = secondarg ]]; then - # Look for a Desktop Action binding. - _wanted binding expl 'KDE binding' compadd -- ${${${(M)${(f)"$(<$file)"}:#"[Desktop Action "*"]"}%%\]}##"[Desktop Action "} - return - elif [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; - - (move|download|copy|openProperties) - if [[ $state = firstarg ]]; then - _webbrowser - return - fi - ;; -esac - -_message "no more arguments" diff --git a/result/sw/share/zsh/5.9/functions/_kill b/result/sw/share/zsh/5.9/functions/_kill deleted file mode 100644 index b9dfde3f..00000000 --- a/result/sw/share/zsh/5.9/functions/_kill +++ /dev/null @@ -1,22 +0,0 @@ -#compdef kill - -local curcontext="$curcontext" line state ret=1 -typeset -A opt_args - -_arguments -C \ - '(-s -l 1)-n[specify signal number]:signal number' \ - '(-n -l 1)-s[specify signal name]:signal:_signals -s' \ - '(-n -s)-l[list signal names or numbers of specified signals]:*:signal:_signals' \ - '(-n -s -l)1::signal:_signals -p -s' \ - '*:processes:->processes' && ret=0 - -if [[ -n "$state" ]]; then - local pgrp='process-groups:: _wanted ' - [[ -n "$opt_args[(i)-[ns]]${${(@)line:#--}}" && -prefix - ]] && pgrp+='-x ' - pgrp+="process-groups expl 'process-group' compadd - 0" - _alternative \ - 'processes:: _pids' \ - 'jobs:: _jobs -t' $pgrp && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_killall b/result/sw/share/zsh/5.9/functions/_killall deleted file mode 100644 index 3ddd3634..00000000 --- a/result/sw/share/zsh/5.9/functions/_killall +++ /dev/null @@ -1,71 +0,0 @@ -#compdef killall killall5 - -if [[ $service = killall5 || $OSTYPE != (linux|*bsd|dragonfly|darwin)* ]]; then - _signals -p - return -fi - -typeset -a opts args -[[ $EUID = 0 || $_comp_priv_prefix[1] = sudo ]] && opts=( -a ) - -if _pick_variant psmisc=PSmisc unix --version; then - - local curcontext=$curcontext state state_descr line ret=1 - typeset -A opt_args - args=( - '(-e --exact)'{-e,--exact}'[require exact match for names longer than 15 chars]' - '(-I --ignore-case)'{-I,--ignore-case}'[do case insensitive process name match]' - '(-g --process-group)'{-g,--process-group}'[kill the process group to which the process belongs]' - '(-i --interactive)'{-i,--interactive}'[interactively ask for confirmation before killing]' - '(- : *)'{-l,--list}'[list all known signal names]' - '(-n --ns)'{-n+,--ns=}'[match against the PID namespace of the given PID]: : _pids' - '(-o --older-than)'{-o+,--older-than=}'[match only processes older than the specified time]:time:->time' - '(-q --quiet)'{-q,--quiet}'[do not complain if no processes were killed]' - '(-r --regexp)'{-r,--regexp}'[interpret process name as extended regular expression]' - '(1 -s --signal)'{-s+,--signal=}'[send the specified signal]: : _signals' - '(-u --user)'{-u+,--user=}'[kill only processes owned by specified user]: : _users' - '(-v --verbose)'{-v,--verbose}'[report if the signal was successfully sent]' - '(-w --wait)'{-w,--wait}'[wait for all killed processes to die]' - '(- : *)'{-V,--version}'[display version information]' - '(-y --younger-than)'{-y+,--younger-than=}'[match only processes younger than the specified time]:time:->time' - "1: : _alternative 'signals: :_signals -p' 'processes-names: :_process_names $opts'" - "*: :_process_names $opts" - ) - [[ $CURRENT = 2 || ( $CURRENT = 3 && $words[2] = (-Z|--context) ) ]] && \ - args+=( '(-Z --context)'{-Z+,--context=}'[specify SELinux security context]:regex pattern:_selinux_contexts' ) - - _arguments -s -S -C : $args && ret=0 - - case $state in - (time) - _numbers -fN age 's:seconds' 'm:minutes' 'h:hours' 'd:days' \ - 'w:weeks' 'M:months' 'y:years' - ;; - esac - - return ret - -else # bsd and darwin - - if [[ $OSTYPE == (freebsd|dragonfly)* ]]; then - args=( '-j+[kill processes in specified jail]: :_jails -0' ) - opts+=( -t ) # long process names must be truncated - fi - args+=( - '-v[be more verbose about what will be done]' - '-e[use effective user ID for -u option]' - '(- : *)-help[give a help on command usage and exit]' - '(- : *)-l[list names of available signals and exit]' - '-m[interpret specified name as a regular expression]' - '-s[show only what will be done, but do not send any signal]' - '-d[print info about processes matched, but do not send any signal]' - '-u+[limit to processes belonging to specified user]: : _users' - '-t+[limit to processes running on specified tty]: :_ttys -od' - "-c+[with -u or -t, limit to processes matching specified name]: :_process_names $opts" - '-z[do not skip zombies]' - "*: :_process_names $opts" - + '(signal)' -$signals[2,-3] - ) - _arguments -s -S -A '-*' : $args - -fi diff --git a/result/sw/share/zsh/5.9/functions/_kld b/result/sw/share/zsh/5.9/functions/_kld deleted file mode 100644 index 42fdc2bd..00000000 --- a/result/sw/share/zsh/5.9/functions/_kld +++ /dev/null @@ -1,46 +0,0 @@ -#compdef kldload kldunload - -(( $+functions[_kld_module] )) || -_kld_module() { - local ret=1 - - compadd "$@" - /boot/{kernel,modules}/*.ko(-.:t) && ret=0 - _files "$@" -g '*.ko(-.)' && ret=0 - - return ret -} - -(( $+functions[_kld_unload] )) || -_kld_unload() { - compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $5 }' ) -} - -(( $+functions[_kld_unload_id] )) || -_kld_unload_id() { - compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $1 }' ) -} - -_kld() { - unset _cache_sysctlvars - - case "$service" in - kldload) - _arguments -s -S -A "-*" \ - "-n[don't try to load module if already loaded]" \ - '-v[be verbose]' \ - '-q[silence any extraneous warnings]' \ - '*:module to load:_kld_module' - ;; - - kldunload) - _arguments -s -S -A "-*" \ - '-f[force the unload]' \ - '-v[be verbose]' \ - '(-n)-i:module id to unload:_kld_unload_id' \ - '(-i)-n:module to unload:_kld_unload' \ - '*:module to unload:_kld_unload' - ;; - esac -} - -_kld "$@" diff --git a/result/sw/share/zsh/5.9/functions/_knock b/result/sw/share/zsh/5.9/functions/_knock deleted file mode 100644 index 3cf83e3c..00000000 --- a/result/sw/share/zsh/5.9/functions/_knock +++ /dev/null @@ -1,9 +0,0 @@ -#compdef knock - -_arguments \ - '(-u --udp)'{-u,--udp}'[UDP mode]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version -h --help -u --udp -v --verbose)'{-V,--version}'[display version]' \ - '(-h --help -u --udp -v --verbose -V --version)'{-h,--help}'[help]' \ - '1:host:_hosts' \ - '*:port:_ports' diff --git a/result/sw/share/zsh/5.9/functions/_kpartx b/result/sw/share/zsh/5.9/functions/_kpartx deleted file mode 100644 index 79a8dd8a..00000000 --- a/result/sw/share/zsh/5.9/functions/_kpartx +++ /dev/null @@ -1,14 +0,0 @@ -#compdef kpartx - -_arguments -s -S : \ - '(-d -u -l)-a[add partition mappings]' \ - '-r[read-only partition mappings]' \ - '(-a -u -l)-d[delete partition mappings]' \ - '(-a -d -l)-u[update partition mappings]' \ - '(-a -d -u)-l[list partition mappings]' \ - '-p[set device name-partition number delimiter]' \ - '-f[force creation of mappings]' \ - '-g[force GUID partition table]' \ - '-v[operate verbosely]' \ - '-n[return before the partitions are created]' '!(-n)-s' \ - '1: : _files' diff --git a/result/sw/share/zsh/5.9/functions/_ktrace b/result/sw/share/zsh/5.9/functions/_ktrace deleted file mode 100644 index 9613ba2b..00000000 --- a/result/sw/share/zsh/5.9/functions/_ktrace +++ /dev/null @@ -1,30 +0,0 @@ -#compdef ktrace - -local args=( - '-a[append to the trace file]' - '(*)-C[disable tracing on all user owned processes or all processes if executed by root]' - '-c[clear the trace points]' - '-d[trace current descendants]' - '-f+[log trace to specified file]:trace file:_files' - '(-p *)-g+[enable/disable tracing on specified process group]:pgid:_pgids' - '-i[inherit trace flags on future children]' - '(-g *)-p+[enable/disable tracing on specified PID]: :_pids' - '-t+[select information to include in dump]:trace string:_ktrace_points' - '*:: : _normal -p ktrace' -) - -case $OSTYPE; in - openbsd*) - args+=( - '-B[process relocations immediately]' - ) - ;; - netbsd*) - args+=( - '-n[stop tracing if writes to the trace file would block]' - '-s[write to the trace file with synchronized I/O]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/sw/share/zsh/5.9/functions/_ktrace_points b/result/sw/share/zsh/5.9/functions/_ktrace_points deleted file mode 100644 index 3068951f..00000000 --- a/result/sw/share/zsh/5.9/functions/_ktrace_points +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -local points=( - 'c[trace system calls]' - 'i[trace I/O]' - 'n[trace namei translations]' - 's[trace signal processing]' - 'u[trace user data]' - '+[trace the default points]' -) - -case $OSTYPE in - dragonfly*|freebsd*|netbsd*) - points+=( - 'w[context switches]' - ) - ;| - freebsd*|openbsd*) - points+=( - 't[trace various structures]' - ) - ;| - freebsd*) - points+=( - 'f[trace page faults]' - 'p[trace capability check failures]' - 'y[trace sysctl(3) requests]' - ) - ;; - netbsd*) - points+=( - 'A[trace all tracepoints]' - 'a[trace exec arguments]' - 'e[trace emulation changes]' - 'f[trace open file descriptors after exec]' - 'S[trace MIB access (sysctl)]' - 'v[trace exec environment]' - '-[do not trace following trace points]' - ) - ;; - openbsd*) - points+=( - 'p[trace violation of pledge(2) restrictions]' - 'x[trace argument vector in execve(2)]' - 'X[trace environment in execve(2)]' - ) - ;; -esac - -_values -s '' 'ktrace point' $points diff --git a/result/sw/share/zsh/5.9/functions/_kvno b/result/sw/share/zsh/5.9/functions/_kvno deleted file mode 100644 index 9664e187..00000000 --- a/result/sw/share/zsh/5.9/functions/_kvno +++ /dev/null @@ -1,25 +0,0 @@ -#compdef kvno - -local curcontext="$curcontext" state line ret=1 - -_arguments -C \ - '-c[specify credentials cache to use]:cache:_files' \ - '-e[specify encryption type]:encryption type' \ - '-q[suppress printing]' \ - '(- :)-h[display help information]' \ - '-P[acquire credentials for the principal during S4U2Self]' \ - '-S[specify the service name of the principal]:service' \ - '-U[specify user for S4U2Self]:user:_users' \ - ':principal:->principal' && ret=0 - -if [[ $state = principal ]]; then - if compset -P '*/'; then - _hosts && ret=0 - else - _alternative \ - 'users:user:_users' \ - 'services:service:compadd -S/ host' && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_last b/result/sw/share/zsh/5.9/functions/_last deleted file mode 100644 index 2013cc1c..00000000 --- a/result/sw/share/zsh/5.9/functions/_last +++ /dev/null @@ -1,61 +0,0 @@ -#compdef last lastb - -local pattern arg args ttys -ttys=( /dev/tty*(N) /dev/pts/*(N) reboot ) -ttys=( ${ttys#/dev/} ) - -[[ $OSTYPE = linux-gnu ]] || args=( -A "-*" ) -for pattern arg in \ - '(solaris*|linux-gnu)' '(--hostlast)-a[display hostname in last column]' \ - '((free|net|open)bsd*|darwin*|dragonfly*)' '-h+[limit sessions by hostname]:host:_hosts' \ - '((free|open)bsd*)' '-s[report duration in seconds]' \ - '(freebsd*|openbsd*)' '-d+[limit sessions to those active at snapshot time]:time ([[CC]YY][MMDD]hhmm[.SS])' \ - '((net|free|open)bsd*|darwin*|dragonfly*)' '-t+[limit sessions by tty]:tty:_ttys -D' \ - 'openbsd*' '-c[calculate total time]' \ - '^darwin*' '(--file)-f+[specify account file]:file:_files' \ - '(solaris*|linux-gnu|freebsd*|openbsd*)' '(--limit)-n+[specify number of lines to show]:number' \ - '((open|net)bsd*|dragonfly*)' '-T[show more detailed time information including year and seconds]' \ - 'netbsd*' '-x[assume file is in wtmpx(5) format]' \ - 'netbsd*' '-n[show IP of remote hosts]' \ - 'freebsd*' '-w[show seconds in duration field]' \ - 'freebsd*' '-y[show year in session start time]' -do - [[ $OSTYPE = $~pattern ]] && args+=( $arg ) -done - -case $OSTYPE in - netbsd*|dragonfly*) - args+=( - '-H[specify width for host field]:width' - '-N[specify width for login name field]:width' - '-L[specify width for tty field]:width' - ) - ;; - linux-gnu) - args+=( - '(-a)--hostlast[display hostname in last column]' - '(-d --dns -i --ip)'{-d,--dns}'[translate IP to hostname]' - '(-f)--file=[specify account file]:file:_files' - '(-F --fulltimes)'{-F,--fulltimes}'[show full login and logout times and dates]' - '(-i --ip -d --dns)'{-i,--ip}'[show IP of remote hosts]' - '(-n)--limit=[specify number of lines to show]:number' - '(-R --nohostname)'{-R,--nohostname}'[suppress display of hostname field]' - '(-s --since)'{-s+,--since=}'[display lines since the specified time]:time (YYYYMMDDhhmmss)' - '(-t --until)'{-t+,--until=}'[display lines until the specified time]:time (YYYYMMDDhhmmss)' - '(-p --present)'{-p+,--present=}'[display who were present at the specified time]:time (YYYYMMDDhhmmss)' - '(-w --fullnames)'{-w,--fullnames}'[show full user and domain names]' - '(-x --system)'{-x,--system}'[display shutdown/runlevel entries]' - '--time-format=[show timestamps in the specified format]:format:(notime short full iso)' - '(- *)'{-h,--help}'[display usage information]' - '(- *)'{-V,--version}'[display version information]' - ) - ;; -esac - -if [[ $OSTYPE = (linux-gnu|solaris*) ]]; then - args+=( '*:arg: _alternative "users:user:_users" "ttys:tty:_ttys -d" "ttys:tty:(reboot)"' ) -else - args+=( '*:user:_users' ) -fi - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_ld_debug b/result/sw/share/zsh/5.9/functions/_ld_debug deleted file mode 100644 index 5c10faa0..00000000 --- a/result/sw/share/zsh/5.9/functions/_ld_debug +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -value-,LD_DEBUG,-default- - -local vals - -vals=( - 'libs[display library search paths]' - 'files[show processing of files and libraries]' - 'bindings[display symbol binding]' - 'reloc[display relocation processing]' - 'symbols[display symbol table processing]' - 'unused[show unused files]' - 'versions[show version processing]' - 'help[display help message]' -) - -case $OSTYPE in - solaris*) - vals+=( - 'basic[provide basic trace information/warnings]' - 'cap[display hardware/software capability processing]' - 'detail[provide more info in conjunction with other options]' - 'demangle[display C++ symbol names in their demangled form]' - 'init[display init and fini processing]' - 'long[display long object names without truncation]' - 'move[display move section processing]' - 'segments[display available output segments and address/offset processing]' - 'strtab[display information about string table compression]' - 'tls[display TLS processing info]' - ) - ;; - linux*) - vals+=( - 'all[combine all options]' - 'scopes[display scope information]' - 'statistics[display relocation statistics]' - ) - ;; -esac -_values -s , capability $vals - diff --git a/result/sw/share/zsh/5.9/functions/_ldap b/result/sw/share/zsh/5.9/functions/_ldap deleted file mode 100644 index 8fa17e2f..00000000 --- a/result/sw/share/zsh/5.9/functions/_ldap +++ /dev/null @@ -1,87 +0,0 @@ -#compdef ldap - -local -a commands scopes -commands=( - search:'search a directory' -) -scopes=( - base:'base object only' - one:'one level' - sub:subtree -) - -_ldap_url() { - local nm=$compstate[nmatches] - local -a expl protocols suf_proto suf_scope tags - protocols=( - ldap:'TCP in plaintext' - ldaps:'TLS' - ldap+tls:'TCP and use StartTLS' - ldapi:'connect to a socket' - ) - - # [protocol://]host[:port][/basedn[?[attribute,...][?[scope][?[filter]]]]] - if ! compset -P '*://'; then - tags=(protocol) - compset -S ':*' || suf_proto=( -S :// ) - fi - - if ! compset -P '*/'; then - if compset -P '*:'; then - tags=(port) - compset -S '/*' - else - if ! compset -S '://*'; then - tags+=(host) - compset -S '[:/]*' - fi - fi - else - case $PREFIX in - *\?*\?*\?*) tags=(filter);; - *\?*\?*) tags=(scope); [[ -suffix \?* ]] || suf_scope=( -qS \? );; - *\?*) tags=(attribute);; - *) tags=(basedn);; - esac - compset -P '*\?' - compset -S '\?*' - fi - - _tags $tags - while _tags; do - _requested protocol && _describe -t protocol protocol protocols $suf_proto - _requested host && _hosts -S '' - _requested port expl port - _requested basedn expl 'base DN' - _requested attribute expl attribute - _requested scope && _describe -t scope scope scopes $suf_scope - _requested filter expl filter - [[ nm -ne compstate[nmatches] ]] && return 0 - done -} - -if (( CURRENT == 2 )); then - _describe command commands -else - shift words; (( CURRENT-- )) - case $words[1] in - search) - _arguments -s -S -A '-*' \ - '-b+[specify base DN]:base DN:' \ - '-c+[specify CA file]:CA file:' \ - '-D+[specify bind DN]:bind DN:' \ - '-H+[specify URL]: :_ldap_url' \ - '-L[output in LDIF]' \ - '-l+[specify time limit or 0 for no limit]:time limit [0]:' \ - '-s+[specify scope]:scope [sub]:(($scopes))' \ - '-v[be verbose]' \ - '-W[prompt for bind secret]' \ - '-w+[specify bind secret]:bind secret:' \ - '-x[use simple authentication]' \ - '-Z[use StartTLS]' \ - '-z+[specify maximum number of results or 0 for no limit]:size limit [0]:' \ - '::filter:' \ - '*:attribute:' - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_ldconfig b/result/sw/share/zsh/5.9/functions/_ldconfig deleted file mode 100644 index 16ce3d68..00000000 --- a/result/sw/share/zsh/5.9/functions/_ldconfig +++ /dev/null @@ -1,81 +0,0 @@ -#compdef ldconfig ldconfig.real - -local ret=1 -local -a args context line state state_descr -local -A opt_args - -case $OSTYPE in - linux*) - args=( - '(x -v --verbose)'{-v,--verbose}'[output verbosely]' \ - + x \ - '(: -)'{-\?,--help}'[display help information]' - '(: -)'{-p,--print-cache}'[display libraries in current cache]' - '(: -)--usage[display brief usage information]' - '(: -)'{-V,--version}'[display version information]' - + l - '(x o)-l[manually link individual libraries (library mode)]' - + o - '(x l -c --format)'{-c+,--format=}'[specify cache format]:cache format:(old new compat)' - '(x l)-C+[specify cache file to use instead of /etc/ld.so.cache]:cache file:_files' - '(x l)-f+[specify configuration file to use instead of /etc/ld.so.conf]:configuration file:_files' - '(x l -i --ignore-aux-cache)'{-i,--ignore-aux-cache}'[ignore auxiliary cache file]' - '(x l -N)-n[process only directories specified on command line (implies -N)]' - '(x l)-N[do not rebuild cache]' - '(x l)-r+[specify root directory]:root directory:_directories' - '(x l)-X[do not update symbolic links]' - ) - ;; - *bsd*|dragonfly*) - args=( - '(-U)-m[merge into the existing hints file]' - '(: -)-r[list the current contents of the hints file]' - );| - dragonfly*|freebsd*|openbsd*) - args+=( - '(-U)-R[rescan previously configured directories]' - );| - dragonfly*|freebsd*) - args+=( - '(-aout)-elf[generate hints for elf format shared libraries]' - '-f+[specify hints file]:hints file:_files' - '-i[run in insecure mode]' - );| - freebsd*|netbsd*|openbsd*) - args+=( - '-v[switch on verbose mode]' - );| - freebsd*|openbsd*) - args+=( - '-s[do not scan /usr/lib for shared libraries]' - );| - freebsd*) - args+=( - '-32[generate hints for 32-bit ABI shared libraries]' - '(-elf)-aout[generate hints for a.out format shared libraries]' - );| - netbsd*) - args+=( - '(-s)-c[do not scan directories in /etc/ls.so.conf]' - '(-s)-S[do not scan /usr/lib for shared libraries]' - '-s[do not scan /usr/lib or directories in /etc/ld.so.conf for shared libraries]' - );| - openbsd*) - args+=( - '(-m)-U[unconfigure specified directories or inaccessible directories if none specified]' - );| -esac - -_arguments -s -S : \ - '(x)*: :->files' \ - $args \ -&& ret=0 - -[[ $state == files ]] && -if [[ -n ${opt_args[(I)l--l]} ]]; then - _object_files && ret=0 -else - _directories && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ldd b/result/sw/share/zsh/5.9/functions/_ldd deleted file mode 100644 index 3c7b088d..00000000 --- a/result/sw/share/zsh/5.9/functions/_ldd +++ /dev/null @@ -1,43 +0,0 @@ -#compdef ldd - -if _pick_variant gnu='(Free Soft|GNU|GLIBC|Gentoo)' unix --version; then - args=( - '(- *)--version[display version information]' - '(- *)--help[display help information]' - '(-v --verbose)'{-v,--verbose}'[include symbol versioning information]' - '(-d --data-relocs)'{-d,--data-relocs}'[perform data relocations and report missing objects]' - '(-r --function-relocs)'{-r,--function-relocs}'[perform data/function relocations and report missing objects]' - '(-u --unused)'{-u,--unused}'[display any unused objects]' - ) -else - case $OSTYPE in - solaris*) - args=( - -s - '(-r)-d[check immediate references]' - '(-d)-r[check immediate and lazy references]' - '-u[display any unused objects]' - '-U[display any unreferenced, or unused dependencies]' - '-e[set specified environment variable]:environment variable:(LD_PRELOAD LD_LIBRARY_PATH LD_RUN_PATH LD_DEBUG LD_DEBUG_OUTPUT LD_NOCONFIG LD_NOAUXFLTR)' - '-f[check for insecure executable]' - '-i[display order of execution of initialization sections]' - '-L[enable lazy loading]' - '-l[force immediate processing of any filters]' - '-s[display search path used]' - '-v[displays all dependency relationships]' - ) - ;; - freebsd*) - args=( - '-a[show all objects that are needed by each loaded object]' - '-v[verbose listing of the dynamic linking headers]' - '-f+[specify format]:format:((%a\:program\ name %A\:environment\ name %o\:library\ name %p\:path\ to\ library %x\:load\ address))' - ) - ;; - esac -fi - -_arguments $args \ - '*: : _alternative - "executables:executable:_files -g \^\*.so\(\-\*\)" - "shared-objects:shared object:_files -g \*.so\(-.\)"' diff --git a/result/sw/share/zsh/5.9/functions/_less b/result/sw/share/zsh/5.9/functions/_less deleted file mode 100644 index 69f75fd0..00000000 --- a/result/sw/share/zsh/5.9/functions/_less +++ /dev/null @@ -1,153 +0,0 @@ -#compdef less -value-,LESS,-default- -value-,LESSCHARSET,-default- - -local curcontext="$curcontext" fgbg=foreground ret=1 -local -a state line expl files basic suf - -case $service in - *LESSCHARSET*) - _wanted charsets expl 'character set' compadd ascii iso8859 latin1 latin9 \ - dos ebcdic IBM-1047 koi8-r next utf-8 - return - ;; - *LESS*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - ;; - *) - files=( '*:file:_files' ) - ;; -esac - -if compset -P '+[-0-9]#'; then - _describe 'less command' '( - g:goto\ line - F:scroll\ to\ end\ and\ keep\ reading\ file - G:go\ to\ end\ of\ file - %:go\ to\ position\ in\ file - p:go\ to\ position\ in\ file - )' - return -fi - -_arguments -S -s -A "[-+]*" \ - '(-? --help)'{-\?,--help}'[display summary of less commands]' \ - '(-a --search-skip-screen)'{-a,--search-skip-screen}'[skip current screen in searches]' \ - '(-A --SEARCH-SKIP-SCREEN)'{-A,--SEARCH-SKIP-SCREEN}"[start searches just after target line]" \ - '(-b --buffers)'{-b+,--buffers=}'[specify amount of buffer space used for each file]:buffer space (kilobytes)' \ - '(-B --auto-buffers)'{-B,--auto-buffers}"[don't automatically allocate buffers for pipes]" \ - '(-C --CLEAR-SCREEN -c --clear-screen)'{-c,--clear-screen}'[repaint screen instead of scrolling]' \ - '!(-c --clear-screen)'{-C,--CLEAR-SCREEN} \ - '(-d --dumb)'{-d,--dumb}'[suppress error message if terminal is dumb]' \ - '*'{-D+,--color=}'[set screen colors]: :->colors' \ - '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-e,--quit-at-eof}'[exit the second time end-of-file is reached]' \ - '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-E,--QUIT-AT-EOF}'[exit when end-of-file is reached]' \ - '(-f --force)'{-f,--force}'[force opening of non-regular files]' \ - '(-F --quit-if-one-screen)'{-F,--quit-if-one-screen}'[exit if entire file fits on first screen]' \ - '(-G --HILITE-SEARCH -g --hilite-search)'{-g,--hilite-search}'[highlight only one match for searches]' \ - '(-g --hilite-search -G --HILITE-SEARCH)'{-G,--HILITE-SEARCH}'[disable highlighting of search matches]' \ - '(-h --max-back-scroll)'{-h+,--max-back-scroll=}'[specify backward scroll limit]:backward scroll limit (lines)' \ - '(-I --IGNORE-CASE -i --ignore-case)'{-i,--ignore-case}'[ignore case in searches that lack uppercase]' \ - '(-i --ignore-case -I --IGNORE-CASE)'{-I,--IGNORE-CASE}'[ignore case in all searches]' \ - '(-j --jump-target)'{-j+,--jump-target}'[specify screen position of target lines]:position (line)' \ - '(-J --status-column)'{-J,--status-column}'[display status column on the left]' \ - \*{-k+,--lesskey-file=}'[use specified lesskey file]:lesskey file:_files' \ - '(-K --quit-on-intr)'{-K,--quit-on-intr}'[exit less in response to ctrl-c]' \ - '(-L --no-lessopen)'{-L,--no-lessopen}'[ignore the LESSOPEN environment variable]' \ - '(-M --LONG-PROMPT -m --long-prompt)'{-m,--long-prompt}'[prompt verbosely]' \ - '(-m --long-prompt -M --LONG-PROMPT)'{-M,--LONG-PROMPT}'[prompt very verbosely]' \ - '(-N --LINE-NUMBERS -n --line-numbers)'{-n,--line-numbers}"[don't keep track of line numbers]" \ - '(-n --line-numbers -N --LINE-NUMBERS)'{-N,--LINE-NUMBERS}'[show line numbers]' \ - '(* -O --LOG-FILE -o --log-file)'{-o+,--log-file=}'[copy input to file]:file:_files' \ - '(* -o --log-file -O --LOG-FILE)'{-O+,--LOG-FILE=}'[copy input to file, overwriting if necessary]:file:_files' \ - '(-p --pattern)'{-p+,--pattern=}'[start at specified pattern]:pattern' \ - \*{-P+,--prompt=}'[specify prompt format]:prompt:->prompts' \ - '(-Q --QUIET --SILENT -q --quiet --silent)'{-q,--quiet,--silent}'[never use bell]' \ - '(-q --quiet --silent -Q --QUIET --SILENT)'{-Q,--QUIET,--SILENT}'[limit use of bell]' \ - '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-r,--raw-control-chars}'[display raw control characters]' \ - '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-R,--RAW-CONTROL-CHARS}'[display control chars; keep track of screen effects]' \ - '(-s --squeeze-blank-lines)'{-s,--squeeze-blank-lines}'[squeeze consecutive blank lines down to one]' \ - '(-S --chop-long-lines)'{-S,--chop-long-lines}'[truncate long lines instead of folding]' \ - '(-t --tag)'{-t+,--tag=}'[edit file containing tag]:tag:->tags' \ - '(-T --tag-file)'{-T+,--tag-file=}'[specify tags file]:tags file:_files' \ - '(-u --underline-special)'{-u,--underline-special}'[send backspaces and carriage returns to the terminal]' \ - '(-U --UNDERLINE-SPECIAL)'{-U,--UNDERLINE-SPECIAL}'[treat backspaces, tabs and carriage returns as control characters]' \ - '(* -)'{-V,--version}'[display version information]' \ - '(-W --HILITE-UNREAD -w --hilite-unread)'{-w,--hilite-unread}'[highlight first unread line after forward page]' \ - '(-w --hilite-unread -W --HILITE-UNREAD)'{-W,--HILITE-UNREAD}'[highlight first unread line after forward movement]' \ - '(-x --tabs)'{-x+,--tabs=}'[set tab stops]:tab stops' \ - '(-X --no-init)'{-X,--no-init}'[disable use of terminal init string]' \ - '--no-keypad[disable use of keypad terminal init string]' \ - '(-y --max-forw-scroll)'{-y,--max-forw-scroll}'[specify forward scroll limit]' \ - '(-z --window)'{-z+,--window=}'[specify scrolling window size]:lines' \ - '(-\" --quotes)'{'-\"+',--quotes=}'[change quoting character]:quoting characters' \ - '(-~ --tilde)'{-~,--tilde}"[don't display tildes after end of file]" \ - '(-\# --shift)'{'-\#+',--shift=}"[specify amount to move when scrolling horizontally]:number" \ - '--file-size[automatically determine the size of the input file]' \ - '--incsearch[search file as each pattern character is typed in]' \ - '--line-num-width=[set the width of line number field]:width [7]' \ - '--follow-name[the F command changes file if the input file is renamed]' \ - '--mouse[enable mouse input]' \ - '--no-histdups[remove duplicates from command history]' \ - '--rscroll=[set the character used to mark truncated lines]:character [>]' \ - '--save-marks[retain marks across invocations of less]' \ - '--status-col-width=[set the width of the -J status column]:width [2]' \ - '--use-backslash[subsequent options use backslash as escape char]' \ - '--use-color[enable colored text]' \ - '--wheel-lines=[specify lines to move for each click of the mouse wheel]:lines' \ - "$files[@]" && ret=0 - - -if [[ -n "$state" ]]; then - case $state in - colors) - if compset -P 1 \?; then - [[ $IPREFIX[-1] != [a-z] ]] || compset -P 1 + || _describe 'color application' '( +:add\ to\ existing\ attribute )' - suf=( -S '' ) - compset -P 1 '([-a-zA-Z]|*.)' && fgbg=background && suf=() - basic=( B:blue C:cyan G:green K:black M:magenta R:red W:white Y:yellow ) - _describe -t colors "$fgbg color" \ - "( -:default ${(j. .)${(@)basic/:/:light\ }} ${(Lj. .)basic} )" "$suf[@]" && ret=0 - else - _describe 'text' '( - B:binary\ characters - C:control\ characters - E:errors\ and\ informational\ messages - M:mark\ letters\ in\ the\ status\ column - N:line\ numbers\ enabled\ via\ the\ -N\ option - P:prompts - R:the\ rscroll\ character - S:search\ results - W:the\ highlight\ enabled\ via\ the\ -w\ option - d:bold\ text - k:blinking\ text - s:standout\ text - u:underlined\ text - )' -S '' && ret=0 - fi - ;; - prompts) - if compset -p 1; then - _message -e prompt - else - _describe 'prompt' '( - s:short\ prompt - m:medium\ prompt - M:long\ prompt - h:help\ screen\ prompt - \=:\=\ command\ prompt - w:waiting\ prompt - )' && ret=0 - fi - ;; - tags) - if (( $+LESSGLOBALTAGS )); then - _global_tags && ret=0 - else - _ctags_tags && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lha b/result/sw/share/zsh/5.9/functions/_lha deleted file mode 100644 index e8d47fcd..00000000 --- a/result/sw/share/zsh/5.9/functions/_lha +++ /dev/null @@ -1,72 +0,0 @@ -#compdef lha - -local expl - -if (( CURRENT == 2 )); then - compset -P - - - local lhacmds - lhacmds=( - '( x l v u d m c p t)a[add \(or replace\) to archive]' - '(a l v u d m c p t)x[extract from archive]' - '(a x v u d m c p t)l[list]' - '(a x l u d m c p t)v[verbose List]' - '(a x l v d m c p t)u[update newer files to archive]' - '(a x l v u m c p t)d[delete from archive]' - '(a x l v u d c p t)m[move to archive]' - '(a x l v u d m p t)c[re-construct new archive]' - '(a x l v u d m c t)p[print to stdout from archive]' - '(a x l v u d m c p )t[test file CRC in archive]' - ) - - if [ "${words[2]#-}" != "" ]; then - lhacmds=($lhacmds - 'v[verbose]' - 'q[quiet]' - 'n[not execute]' - 'f[force\(over write at extract\)]' - 't[files are text files]' - 'e[text code convert from/to EUC]' - 'g[use generic format \(for compatibility\)]' - ) - case ${words[2]#-} in - a*|u*) - lhacmds=($lhacmds - 'd[delete files after]' - "z[don't compress files]" - '( 1 2)0[header level 0]' - '(0 2)1[header level 1]' - '(0 1 )2[header level 2]' - ) - ;; - c*) - lhacmds=($lhacmds 'd[delete files after]') - ;; - x*) - lhacmds=($lhacmds 'i[ignore directory path]') - ;; - esac - fi - - _values -s '' 'lha command' $lhacmds -elif (( CURRENT == 3 )); then - _wanted files expl 'lha file' _files -g '*.lzh(-.)' -else - case ${words[2]#-} in - l*|x*|d*) - if [ -f "$words[3]" ]; then - _lzh_cache_list=`$words[1] lq $words[3] | awk '{print $NF}'` - _lzh_cache_list=("${(@f)${_lzh_cache_list}}") - - _wanted files expl 'file from archive' _multi_parts / _lzh_cache_list - else - _message -r "archive file is not found : ${words[3]}" - return 1 - fi - - ;; - *) - _files - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_libvirt b/result/sw/share/zsh/5.9/functions/_libvirt deleted file mode 100644 index a3ab5a68..00000000 --- a/result/sw/share/zsh/5.9/functions/_libvirt +++ /dev/null @@ -1,238 +0,0 @@ -#compdef virsh virt-admin virt-host-validate virt-pki-validate virt-xml-validate - -local curcontext="$curcontext" state line expl ret=1 -declare -A opt_args - -local exargs="-h --help -V -v --version=short --version=long" -local -a common_opts interact_cmds -common_opts=( - '(- *)'{-h,--help}'[print help information and exit]' - '(- *)'{-v,--version=short}'[print short version information and exit]' - '(- *)'{-V,--version=long}'[print long version information and exit]' - "(-c --connect $exargs)"{-c+,--connect=}'[specify connection URI]:URI:_hosts' - "(-d --debug -q --quiet $exargs)"{-d+,--debug=}'[set debug level]:level:(0 1 2 3 4)' - "(-l --log $exargs)"{-l+,--log=}'[specify log file]:file:_files' - "(-q --quiet -d --debug $exargs)"{-q,--quiet}'[quiet mode]' -) -interact_cmds=(cd echo exit quit connect) - -typeset -A dom_opts -dom_opts=( - console " " - destroy " " - edit " " - managedsave " " - reboot " " - reset " " - resume --state-paused - save " " - screenshot " " - send-key " " - shutdown --state-running - start --inactive - suspend --state-running - ttyconsole " " - undefine --inactive - vncdisplay " " -) -typeset -A iface_opts -iface_opts=( - iface-start --inactive -) -typeset -A net_opts -net_opts=( - net-start --inactive -) -typeset -A pool_opts -pool_opts=( - pool-start --inactive -) - -case $service in - virsh) - if (( ! $+_cache_virsh_cmds )); then - _cache_virsh_cmds=( ${${${${(f):-"$(_call_program commands virsh help)"}:#*:}/# ##}/ *} ) - local icmd - for icmd in $interact_cmds; do - _cache_virsh_cmds[$_cache_virsh_cmds[(i)$icmd]]=() - done - fi - if (( ! $+_cache_virsh_cmd_opts )); then - typeset -gA _cache_virsh_cmd_opts - fi - _arguments -A "-*" -C -S -s -w \ - "$common_opts[@]" \ - "(-e --escape $exargs)"{-e+,--escape=}'[set escape sequence for console]:sequence' \ - "(-k --keepalive-interval $exargs)"{-k+,--keepalive-interval=}'[set keepalive interval]:interval' \ - "(-K --keepalive-count $exargs)"{-K+,--keepalive-count=}'[set keepalive count]:count' \ - "(-r --readonly $exargs)"{-r,--readonly}'[connect readonly]' \ - "(-t --timing $exargs)"{-t,--timing}'[print timing information]' \ - '1:command:->virsh_cmds' \ - '*:cmdopt:->virsh_cmd_opts' && return - # We accept only virsh command options after the first non-option argument - # (i.e., the virsh command itself), this makes it so with the -A "-*" above - [[ -z $state ]] && state=virsh_cmd_opts - ;; - virt-admin) - if (( ! $+_cache_virt_admin_cmds )); then - _cache_virt_admin_cmds=( ${${${${(f):-"$(_call_program commands virt-admin help)"}:#*:}/# ##}/ *} ) - local icmd - for icmd in $interact_cmds; do - _cache_virt_admin_cmds[$_cache_virt_admin_cmds[(i)$icmd]]=() - done - fi - if (( ! $+_cache_virt_admin_cmd_opts )); then - typeset -gA _cache_virt_admin_cmd_opts - fi - _arguments -A "-*" -C -S -s -w \ - "$common_opts[@]" \ - '1:command:->virt_admin_cmds' \ - '*:cmdopt:->virt_admin_cmd_opts' && return - # Same as with virsh above - [[ -z $state ]] && state=virt_admin_cmd_opts - ;; - virt-host-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-v,--version}'[print version information and exit]' \ - '(- *)'{-q,--quiet}'[quiet mode]' \ - '1:hv-type:(qemu lxc bhyve)' && return - ;; - virt-pki-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-V,--version}'[print version information and exit]' \ - && return - ;; - virt-xml-validate) - _arguments -A "-*" -S \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-V,--version}'[print version information and exit]' \ - '1:file:_files -g "*.xml(-.)"' \ - '2:schema:(domainsnapshot domain network storagepool storagevol nodedev capability nwfilter secret interface)' \ - && return - ;; -esac - -local -a conn_opt -if [[ -n ${(v)opt_args[(I)-c|--connect]} ]]; then - local uri=${(v)opt_args[(I)-c|--connect]} - uri=${uri//(#m)\\([\\:])/${MATCH[2]}} # opt_args elements are colon-escaped - # For the libvirt remote URI syntax, see: - # https://libvirt.org/guide/html/Application_Development_Guide-Architecture-Remote_URIs.html - [[ -z ${(Q)uri//([[:alnum:]]|+|:|\/|@|-|\.|\?|=)} ]] && \ - conn_opt=( -c $uri ) -fi - -case $state in - virsh_cmds) - _wanted commands expl 'virsh command' compadd -a _cache_virsh_cmds && ret=0 - ;; - virsh_cmd_opts) - if [[ $words[CURRENT-1] == --(dir|emulatorbin|file|mountpoint|*path|script|source-dev) || $words[CURRENT] == (/*|.*) ]]; then - _default - return 0 - fi - local cmd word - for word in ${words:1}; do - [[ -n "${_cache_virsh_cmds[(r)${(b)word}]}" ]] && cmd=$word && break - done - [[ -z $cmd ]] && return 1 - local -a values - case $words[CURRENT-1] in - --domain) - values=( $(_call_program domains "noglob virsh $conn_opt list ${dom_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted domains expl domain compadd ${=values} && return 0 - return 1 - ;; - --interface) - values=( ${${${${(f):-"$(_call_program interfaces "noglob virsh $conn_opt iface-list ${iface_opts[$cmd]:-"--all"}")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted interfaces expl interface compadd ${=values} && return 0 - return 1 - ;; - --network) - values=( $(_call_program networks "noglob virsh $conn_opt net-list ${net_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted networks expl network compadd ${=values} && return 0 - return 1 - ;; - --device) - values; values=( $(_call_program devices "noglob virsh $conn_opt nodedev-list") ) - [[ -n $values ]] && _wanted devices expl device compadd ${=values} && return 0 - return 1 - ;; - --nwfilter) - values=( ${${${${(f):-"$(_call_program nwfilters "noglob virsh $conn_opt nwfilter-list")"}/ UUID*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted nwfilters expl nwfilter compadd ${=values} && return 0 - return 1 - ;; - --pool) - values=( ${${${${(f):-"$(_call_program pools "noglob virsh $conn_opt pool-list ${pool_opts[$cmd]:-"--all"}")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted pools expl pool compadd ${=values} && return 0 - return 1 - ;; - --secret) - values=( ${${${${(f):-"$(_call_program secrets "noglob virsh $conn_opt secret-list")"}/ UUID*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted secrets expl secret compadd ${=values} && return 0 - return 1 - ;; - --snapshotname) - local dom ; (( ${(k)words[(I)--domain]} > 0 )) && dom=${words[1+${(k)words[(I)--domain]}]} - [[ -z $dom ]] && return 1 - values=( ${${${${(f):-"$(_call_program snapshots "noglob virsh $conn_opt snapshot-list --domain ${(q)dom} 2>/dev/null")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted snapshots expl snapshot compadd ${=values} && return 0 - return 1 - ;; - --vol) - local pool ; (( ${(k)words[(I)--pool]} > 0 )) && pool=${words[1+${(k)words[(I)--pool]}]} - [[ -z $pool ]] && return 1 - values=( ${${${${(f):-"$(_call_program volumes "noglob virsh $conn_opt vol-list --pool ${(q)pool} 2>/dev/null")"}/ Name*/}:#---*}/ */} ) - [[ -n $values ]] && _wanted volumes expl volume compadd ${=values} && return 0 - return 1 - ;; - esac - if [[ $cmd == help ]]; then - [[ $words[-1] == -* ]] && _values -w option --command && return 0 - if [[ $words[-2] == help || $words[-2] == --command ]]; then - _wanted commands expl command compadd ${=_cache_virsh_cmds} && return 0 - fi - return 1 - fi - # Allow passing domain without --domain with few of the most used commands - if [[ $cmd == (destroy|edit|reboot|reset|start|shutdown) ]]; then - if [[ $words[CURRENT-1] == $cmd ]]; then - values=( $(_call_program domains "noglob virsh $conn_opt list ${dom_opts[$cmd]:-"--all"} --name") ) - [[ -n $values ]] && _wanted domains expl domain compadd ${=values} && return 0 - fi - fi - [[ -z $_cache_virsh_cmd_opts[$cmd] ]] && \ - _cache_virsh_cmd_opts[$cmd]=${(M)${${${${=${(f)"$(_call_program options virsh help $cmd 2>&1)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*} - [[ -n ${=_cache_virsh_cmd_opts[$cmd]} ]] && \ - _values -w option ${(u)=_cache_virsh_cmd_opts[$cmd]} && ret=0 - ;; - virt_admin_cmds) - _wanted commands expl 'virt-admin command' compadd -a _cache_virt_admin_cmds && ret=0 - ;; - virt_admin_cmd_opts) - local cmd word - for word in ${words:1}; do - [[ -n "${_cache_virt_admin_cmds[(r)${(b)word}]}" ]] && cmd=$word && break - done - [[ -z $cmd ]] && return 1 - if [[ $words[CURRENT-1] == --server ]]; then - _wanted servers expl server compadd ${=${(S)${${(f)$(_call_program -p servers noglob virt-admin ${(Q)conn_opt} srv-list)}##*--- }//[0-9]* }} && return 0 - fi - if [[ $words[CURRENT-1] == --client ]]; then - local srv ; (( ${(k)words[(I)--server]} > 0 )) && srv=${words[1+${(k)words[(I)--server]}]} - [[ -z $srv ]] && return 1 - [[ -n ${srv//[[:alnum:]]} ]] && return 1 - _wanted clients expl client compadd ${=${${(f):-"$(_call_program -p clients noglob virt-admin ${(Q)conn_opt} srv-clients-list --server $srv 2>/dev/null)"}/ [a-z]*}//[^0-9]} && return 0 - fi - [[ -z $_cache_virt_admin_cmd_opts[$cmd] ]] && \ - _cache_virt_admin_cmd_opts[$cmd]=${(M)${${${${=${(f)"$(_call_program options virt-admin help $cmd 2>&1)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*} - [[ -n $_cache_virt_admin_cmd_opts[$cmd] ]] && \ - _values -w option ${(u)=_cache_virt_admin_cmd_opts[$cmd]} && ret=0 - ;; - -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lighttpd b/result/sw/share/zsh/5.9/functions/_lighttpd deleted file mode 100644 index c24b42d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_lighttpd +++ /dev/null @@ -1,16 +0,0 @@ -#compdef lighty-enable-mod lighty-disable-mod - -local -a mods expl - -case "$service" in - lighty-enable-mod) - mods=( `echo /etc/lighttpd/conf-available/*.conf(N:r:t) | sed -e 's/\b[0-9][0-9]-//g'` ) - _wanted mods expl mod compadd -a mods - ;; - lighty-disable-mod) - mods=( `echo /etc/lighttpd/conf-enabled/*.conf(N:r:t) | sed -e 's/\b[0-9][0-9]-//g'` ) - _wanted mods expl mod compadd -a mods - ;; -esac - -return diff --git a/result/sw/share/zsh/5.9/functions/_limit b/result/sw/share/zsh/5.9/functions/_limit deleted file mode 100644 index 852c55c1..00000000 --- a/result/sw/share/zsh/5.9/functions/_limit +++ /dev/null @@ -1,9 +0,0 @@ -#compdef limit - -if ! ((CURRENT % 2)); then - _limits -elif [[ $PREFIX = u* ]]; then - compadd unlimited -else - _message -e values "number and scaling factor" -fi diff --git a/result/sw/share/zsh/5.9/functions/_limits b/result/sw/share/zsh/5.9/functions/_limits deleted file mode 100644 index 11ee7efa..00000000 --- a/result/sw/share/zsh/5.9/functions/_limits +++ /dev/null @@ -1,5 +0,0 @@ -#compdef unlimit - -local expl - -_wanted limits expl 'process limit' compadd "$@" - ${${(f)"$(limit)"}%% *} diff --git a/result/sw/share/zsh/5.9/functions/_links b/result/sw/share/zsh/5.9/functions/_links deleted file mode 100644 index 49593770..00000000 --- a/result/sw/share/zsh/5.9/functions/_links +++ /dev/null @@ -1,147 +0,0 @@ -#compdef links links2 - -local curcontext="$curcontext" state line ign ret=1 -typeset -A opt_args - -(( $#words > 2 )) && ign='!' -_arguments -C \ - "${ign}-help[prints the help screen]" \ - "${ign}(- :)-version[prints the links version number and exit]" \ - "${ign}(- 1)-lookup[do hostname lookup]:hostname:_hosts" \ - '-g[run in graphics mode rather than plain text mode]' '!-no-g' \ - '-driver[graphics driver to use]:graphics driver:->graphics_drivers' \ - '-mode[specify graphics mode]:graphics mode' \ - '-display[specify X display]:display:_x_display' \ - '-force-html[treat files with unknown type as html rather than text]' \ - '-source[dump the source page]' \ - '-dump[dump the page as pure text]' \ - '-width[specify screen width for formatting with -dump]:width' \ - '-codepage[convert output to specified character set with -dump]:codepage' \ - '-anonymous[restrict links so that it can run on an anonymous account]' \ - '-no-connect[runs links as a separate instance]' \ - '-download-dir[default download directory]:_files -/' \ - '-language[set user interface language]:language' \ - '-max-connections[specify maximum number of concurrent connections]:connections [10]' \ - '-max-connections-to-host[maximum number of concurrent connection to a given host]:connections [2]' \ - '-retries[number of retries]:retries [3]' \ - '-receive-timeout[timeout on receive]:timeout (seconds) [120]' \ - '-unrestartable-receive-timeout[timeout on non-restartable connections]:timeout (seconds) [600]' \ - '-timeout-when-trying-multiple-addresses[specify timeout for connection when trying multiple addresses]:timeout (seconds)' \ - '-bind-address[use a specific local IP address]:IP address' \ - '-bind-address-ipv6[use a specific local IPv6 address]:IPv6 address' \ - "-no-libevent[don't use libevent library]" \ - "-no-openmp[don't use OpenMP]" \ - '-async-dns[asynchronous DNS resolver]:enable:((1\:on 0\:off))' \ - '-download-utime[set time of downloaded files to last modification time reported by server]:enable:((1\:on 0\:off))' \ - '-format-cache-size[number of formatted document pages cached]:pages [5]' \ - '-memory-cache-size[cache memory]:size (bytes) [1048576]' \ - '-image-cache-size[image cache memory]:size (bytes) [1048576]' \ - '-font-cache-size[specify font cache size]:size (bytes) [2097152]' \ - "-aggressive-cache[cache everything regardless of server's caching recommendations]:enable [1]:((1\\:on 0\\:off))" \ - '-address-preference[specify IP version preference]:preference:(( - 0\:system\ default - 1\:prefer\ IPv4 - 2\:prefer\ IPv6 - 3\:use\ only\ IPv4 - 4\:use\ only\ IPv6 - ))' \ - '-http-proxy[specify web proxy server]:proxy:->proxies' \ - '-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \ - '-https-proxy[specify https web proxy server]:proxy:->proxies' \ - '-socks-proxy[specify socks4a proxy server]:proxy:->sproxies' \ - '-append-text-to-dns-lookups[append text to dns lookups; useful for specifying fixed tor exit node]:text' \ - '-no-proxy-domains[use no proxy for specified domains]:domain list' \ - '-only-proxies[only initiate connections via proxy]:enable:((0\:off 1\:on))' \ - '-ssl.certificates[specify handling of invalid signatures]:handling:((0\:ignore 1\:warn 2\:reject))' \ - '-ssl.builtin-certificates[specify certificates to use]:certificates:((0\:system 1\:builtin))' \ - '-ssl.client-cert-key[specify user private key for client certificate authentication]:PEM file:_files' \ - '-ssl.client-cert-crt[specify user certificate for client certificate authentication]:PEM file:_files' \ - '-ssl.client-cert-password[specify password for the user private key]:password' \ - '-http-bugs.http10[specify HTTP version]:protocol [0]:((1\:force\ only\ HTTP\ 1.0 0\:use\ both\ HTTP\ 1.0\ and\ 1.1))' \ - '-http-bugs.allow-blacklist[use list of servers with broken HTTP/1.1 support]:allow [1]:(1 0)' \ - '-http-bugs.bug-no-accept-charset[specify sending of Accept-Charset field of HTTP header]:send [0]:(1 0)' \ - '-http-bugs.no-compression[advertise HTTP compression support]:advertise compression [0]:((0\:yes 1\:no))' \ - '-http-bugs.retry-internal-errors[retry on internal server errors (50x)]:retry [0]:((1\:yes 0\:no))' \ - '-http.fake-firefox[fake Firefox in the HTTP header]:enable [0]:((0\:no 1\:yes))' \ - '-http.do-not-track[send do not track request in the HTTP header]:enable [0]:(1 0)' \ - "-http.referer[control sending of referer URL in requests]:referer [4]:(( - 0\:don\'t\ send 1\:'send requested URL' 2\:'fake referer' 3\:'send real' - 4\:'send real only to the same server' - ))" \ - '-http.fake-user-agent[specify fake user agent value]:string' \ - '-http.extra-header[specify extra string added to HTTP header]:string' \ - '-ftp.anonymous-password[specify password for anonymous ftp access]:password' \ - '-ftp.use-passive[use ftp PASV command to bypass firewalls]:enable;(0 1)' \ - '-ftp.use-eprt-epsv[use EPRT and EPSV commands instead of PORT and PASV]:enable:(0 1)' \ - '-ftp.set-iptos[set IP type-of-service to high throughput on ftp connections]:enable:(0 1)' \ - '-smb.allow-hyperlinks-to-smb[allow hyperlinks to SMB protocol]:enable:(0 1)' \ - '-menu-font-size[specify size of font in menu]:size' \ - '-menu-background-color[specify menu background color in graphics mode]:color (0xRRGGBB)' \ - '-menu-foreground-color[specify menu foreground color in graphics mode]:color (0xRRGGBB)' \ - '-scroll-bar-area-color[set colour of scroll bar area]:colour (0xRRGGBB)' \ - '-scroll-bar-bar-color[set colour of scroll bar]:colour (0xRRGGBB)' \ - '-scroll-bar-frame-color[set colour of scroll bar frame]:colour (0xRRGGBB)' \ - '-bookmarks-file[specify file to store bookmarks]:file:_files' \ - '-bookmarks-codepage[specify character set of bookmarks file]:character set' \ - '-save-url-history[save URL history on exit]:enable:(0 1)' \ - '-display-red-gamma[specify red gamma of display]:gamma [2.2]' \ - '-display-green-gamma[specify green gamma of display]:gamma [2.2]' \ - '-display-blue-gamma[specify blue gamma of display]:gamma [2.2]' \ - '-user-gamma[specify additional gamma]:gamma [1]' \ - '-bfu-aspect[display aspect ration]' \ - '-dither-letters[do letter dithering]:enable:(0 1)' \ - '-display-optimize[optimize for display type]:display:((0\:CRT 1\:LCD\ RGB 2\:LCD\ BGR))' \ - '-gamma-correction[specify type of gamma correction]:gamma correction:((0\:8-bit 1\:16-bit 2\:auto\ detect))' \ - '-overwrite-instead-of-scroll[overwrite the screen instead of scrolling it]:enable:(0 1)' \ - '-html-assume-codepage[specify codepage to use if unspecified by server]:codepage' \ - '-html-hard-assume[always use character set from -html-assume-codepage]:enable:(0 1)' \ - '-html-tables[render tables]:enable:(0 1)' \ - '-html-frames[render frames]:enable:(0 1)' \ - '-html-images[display links to unnamed images as \[IMG\]]:enable:(0 1)' \ - '-html-image-names[display filename of an image]:enable:(0 1)' \ - '-html-display-images[display images in graphics mode]:enable:(0 1)' \ - '-html-image-scale[sScale images in graphics mode]:scaling (percent)' \ - '-html-bare-image-autoscale[autoscale images displayed on full screen]:enable:(0 1)' \ - '-html-numbered-links[number links in text mode allowing quick selection]:enable:(0 1)' \ - '-html-table-order[set ordering to walk tables]:ordering:((0\:rows 1\:columns))' \ - '-html-auto-refresh[process refresh or display link]:refresh:(1 0)' \ - '-html-target-in-new-window[allow opening new windows from html]' \ - '-html-margin[specify margin]:margin (spaces)' \ - '-html-user-font-size[specify font size in graphics mode]:size' \ - '-html-text-color[specify text color in text mode]:color (0..15)' \ - '-html-link-color[specify link color in text mode]:color (0..15)' \ - '-html-background-color[specify background color in text mode]:color (0..15)' \ - '-html-ignore-document-color[ignore colors from HTML in text mode]:ignore:(0 1)' \ - '-html-g-text-color[specify text color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-link-color[specify link color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-background-color[specify background color in graphics mode]:color (0xRRGGBB)' \ - '-html-g-ignore-document-color[ignore colors from HTML in graphics mode]:ignore:(0 1)' \ - ':URL:->html' && ret=0 - -case $state in - html) - _alternative 'files:file:_files -g "*.x#html(-.)"' 'urls:URL:_urls' && ret=0 - ;; - graphics_drivers) - local -a vals - vals=( ${=${${${(f)"$(_call_program links-graphics-drivers $words[1] -driver help 2>&1)"}[-1]}//','/''}} ) - _describe -t links-graphics-drivers 'graphics driver' vals && ret=0 - ;; - sproxies) - if ! compset -P '*@'; then - _message -e users 'user id' - return - fi - ;& - proxies) - local suf=-S: - if compset -P '*:'; then - _message -e ports 'port number' - else - compset -S ':*' && suf= - _hosts $suf && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lintian b/result/sw/share/zsh/5.9/functions/_lintian deleted file mode 100644 index 03491624..00000000 --- a/result/sw/share/zsh/5.9/functions/_lintian +++ /dev/null @@ -1,66 +0,0 @@ -#compdef lintian lintian-info - -local curcontext="$curcontext" state line expl cmds ret=1 - -case "$service" in - (lintian) - _arguments -s \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-S,--setup-lab}'[setup or update the laboratory]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-R,--remove-lab}'[remove the laboratory directory]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-c,--check}'[run all checks over the specified packages]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-C,--check-part}'[run only the specified checks]: :_values -s , "lintian check" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-X,--dont-check-part}'[run only the specified checks]: :_values -s , "lintian check" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-u,--unpack}'[unpack up to unpack level]' \ - '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-r,--remove}'[clean packages up to current unpack level]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-d --debug)'{-d,--debug}'[debug]' \ - '--print-version[print unadorned version number]' \ - '(-i --info)'{-i,--info}'[print info about violations]' \ - '(-I --display-info)'{-I,--display-info}'[also display informational tags]' \ - '(-l --unpack-level)'{-l,--unpack-level}'[unpack level]:default unpack level:(0 1 2 none basic contents)' \ - '(-o --no-override)'{-o,--no-override}'[do not use the overrides file]' \ - '--show-overrides[output tags that have been overridden]' \ - '--color:when:(never always auto)' \ - '(-U --unpack-info)'{-U,--unpack-info}'[collect information]:info:_values -s , "collectible" changelog-file copyright-file debfiles debian-readme diffstat doc-base-files file-info init.d md5sums menu-files objdump-info override-file scripts source-control-file' \ - '(-m --md5sums)'{-m,--md5sums}'[check md5sums when processing a .changes file]' \ - '--allow-root[override warning when run with superuser privileges]' \ - '--cfg:config file:_files' \ - '--lab:laboratory dir:_files -/' \ - '--archivedir:archive directory:_files -/' \ - '--dist:distribution:(woody sarge sid)' \ - '--section:release:(main contrib non-free)' \ - '--arch:architecture:_deb_architectures' \ - '--root:root directory:_files -/' \ - '(-a --all)'{-a,--all}'[check all packages in the distribution]' \ - '(-b --binary)'{-b,--binary}'[the following packages are binary]' \ - '(-s --source)'{-s,--source}'[the following packages are source]' \ - '--udeb[the following packages are udebs]' \ - '(-p --packages-file)'{-p,--packages-file}'[process packages listed in file]:list:_files' \ - '*: :_deb_files -c' && return 0 - ;; - - (lintian-info) - _arguments -C '1: :->cmds' '*: :->args' && ret=0 - - case $state in - (cmds) - cmds=( - {-t,--tags}':print long description of arguments' - {-a,--annotate}':annotate override entries from stdin' - ) - _describe -t commands 'lintian-info command' cmds && ret=0 - ;; - (args) - case $line[1] in - -t|--tags) - _wanted tags expl 'tag' compadd $(command awk '/^Tag:/ { print $2 }' /usr/share/lintian/checks/*.desc) && ret=0 - ;; - esac - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_list b/result/sw/share/zsh/5.9/functions/_list deleted file mode 100644 index a9aa46df..00000000 --- a/result/sw/share/zsh/5.9/functions/_list +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This completer function makes the other completer functions used -# insert possible completions only after the list has been shown at -# least once. - -[[ _matcher_num -gt 1 ]] && return 1 - -local pre suf expr - -# Get the strings to compare. - -if zstyle -t ":completion:${curcontext}:" word; then - pre="$HISTNO$LBUFFER" - suf="$RBUFFER" -else - pre="$PREFIX" - suf="$SUFFIX" -fi - -# Should we only show a list now? - -if zstyle -T ":completion:${curcontext}:" condition && - [[ "$pre" != "$_list_prefix" || "$suf" != "$_list_suffix" ]]; then - - # Yes. Tell the completion code about it and save the new values - # to compare the next time. - - compstate[insert]='' - compstate[list]='list force' - _list_prefix="$pre" - _list_suffix="$suf" -fi - -# We always return one, because we don't really do any work here. - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_list_files b/result/sw/share/zsh/5.9/functions/_list_files deleted file mode 100644 index 0ea02a55..00000000 --- a/result/sw/share/zsh/5.9/functions/_list_files +++ /dev/null @@ -1,69 +0,0 @@ -#autoload - -# Helper function for _path_files to handle the file-list style. - -# arguments: -# name of parameter containing file matches -# directory prefix -# Sets array listfiles to the display strings and the array -# listopts appropriately to be added to the compadd command line. - -local stat f elt what dir -local -a stylevals -integer ok - -listfiles=() -listopts=() - -zstyle -a ":completion:${curcontext}:" file-list stylevals || return 1 - -# TODO: more flexible way of handling the following? e.g. use $compstate? -case $WIDGETSTYLE in - (*complete*) - what=insert - ;; - - (*) - what=list - ;; -esac - -for elt in $stylevals; do - case $elt in - (*($what|all|true|1|yes)*=<->) - # use long format if no more than the given number of matches - (( ${(P)#1} <= ${elt##*=} )) && (( ok = 1 )) - break - ;; - - ([^=]#($what|all|true|1|yes)[^=]#) - # always use long format - (( ok = 1 )) - break - ;; - esac -done - -(( ok )) || return 1 - -zmodload -F zsh/stat b:zstat 2>/dev/null || return 1 - -dir=${2:+$2/} -dir=${(Q)dir} - -for f in ${(PQ)1}; do - if [[ ! -e "$dir$f" ]]; then - listfiles+=("$dir$f") - continue - fi - - # Borrowed from Functions/Example/zls - zstat -s -H stat -F "%b %e %H:%M" - "$dir$f" >/dev/null 2>&1 - - listfiles+=("$stat[mode] ${(l:3:)stat[nlink]} ${(r:8:)stat[uid]} \ - ${(r:8:)stat[gid]} ${(l:8:)stat[size]} $stat[mtime] $f") -done - -(( ${#listfiles} )) && listopts=(-d listfiles -l -o match) - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/_lldb b/result/sw/share/zsh/5.9/functions/_lldb deleted file mode 100644 index eae8e1d3..00000000 --- a/result/sw/share/zsh/5.9/functions/_lldb +++ /dev/null @@ -1,56 +0,0 @@ -#compdef lldb - -local curcontext=$curcontext state state_descr line expl ret=1 -typeset -A opt_args -typeset -a opts args -[[ $EUID = 0 || $_comp_priv_prefix[1] = sudo ]] && opts=( -a ) - -args=( - '*'{-o+,--one-line}'[run one-line lldb command after loading executable]:lldb command: ' - '*'{-s+,--source}'[run lldb commands from a file after loading executable]:file:_files' - '*'{-O+,--one-line-before-file}'[run one-line lldb command before loading executable]:lldb command' - '*'{-S+,--source-before-file}'[run lldb commands from a file before loading executable]:file:_files' - '(-k --one-line-on-crash)'{-k+,--one-line-on-crash}'[run one-line lldb command if target crashes in batch mode]:lldb command' - '(-K --source-on-crash)'{-K+,--source-on-crash}'[run lldb commands from a file if target crashes in batch mode]:file:_files' - '(-b --batch)'{-b,--batch}'[run commands from -s -S -o -O and quit]' - '(-Q --source-quietly)'{-Q,--source-quietly}'[suppress output from -s, -S, -o or -O]' - '(-e --editor)'{-e,--editor}'[open source files using "external editor" mechanism]' - '(-x --no-lldbinit)'{-x,--no-lldbinit}'[do not automatically parse .lldbinit files]' - '(-X --no-use-colors)'{-X,--no-use-colors}'[do not use colors]' - '(-d --debug)'{-d,--debug}'[print extra information for debugging itself]' - '(-r --repl)'{-r,--repl}'[run lldb in REPL mode]' - '(-l --script-language)'{-l+,--script-language}'[use the specified scripting language]:language:(Python Perl Ruby Tcl)' - - info - '(-)'{-h,--help}'[print the usage information]' - '(-)'{-v,--version}'[print the current version number]' - '(-)'{-P,--python-path}'[print path to the lldb.py file]' - - file - '(-f --file)'{-f+,--file}'[specify executable file to debug]:executable:_files -g "*(-*)"' - '(-a --arch)'{-a+,--arch}'[use the specified architecture]:arch' - '(-c --core)'{-c+,--core}'[specify core file to open]:core file:_files -g "*core*(-.)"' - '*::executable and arguments:->exe_args' - - name - '(-n --attach-name)'{-n+,--attach-name}"[attach to the named process]: :_process_names $opts" - '(-w --wait-for)'{-w,--wait-for}'[wait for the specified process to launch]' - - pid - '(-p --attach-pid)'{-p+,--attach-pid}'[attach to the specified process]:pid:_pids' -) - -_arguments -C -s -S : $args && return 0 - -case $state in - (exe_args) - if [[ -z $opt_args[(I)file-(-f|--file)] ]]; then - if [[ $CURRENT -eq 1 ]]; then - _wanted executables expl 'executable' _files -g '*(-*)' && ret=0 - else - _normal && ret=0 - fi - else - words=( ${(v)opt_args[(i)file-(-f|--file)]} "$words[@]" ) - (( CURRENT++ )) - _normal && ret=0 - fi -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ln b/result/sw/share/zsh/5.9/functions/_ln deleted file mode 100644 index 9d5efcab..00000000 --- a/result/sw/share/zsh/5.9/functions/_ln +++ /dev/null @@ -1,95 +0,0 @@ -#compdef ln gln zf_ln - -local curcontext="$curcontext" state line ret=1 variant -local -A opt_args - -local -a args opts=( -A '-*' ) -args=( - '(-i)-f[remove existing destination files]' - '-s[create symbolic links instead of hard links]' -) - -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help -case $variant; in - gnu) - opts=() - args=( - '(-b --backup)-b[create a backup of each existing destination file]' \ - '(-b --backup)--backup=[create a backup of each existing destination file]::method:(( - none\:"never create backups" - off\:"never create backups" - numbered\:"create numbered backup" - t\:"create numbered backup" - existing\:"same as numbered if numbered backups exist, otherwise same as simple" - nil\:"same as numbered if numbered backups exist, otherwise same as simple" - simple\:"always create simple backups" - never\:"always create simple backups"))' - '(-d -F --directory)'{-d,-F,--directory}'[allow the superuser to attempt to hard link directories]' - '(-f --force)'{-f,--force}'[remove existing destination files]' - '(-i --interactive)'{-i,--interactive}'[prompt before removing destination files]' - '(-L --logical)'{-L,--logical}'[create hard links to symbolic link references]' - '(-n --no-dereference)'{-n,--no-dereference}'[treat destination symbolic link to a directory as if it were a normal file]' - '(-P --physical)'{-P,--physical}'[create hard links directly to symbolic links]' - '(-r --relative)'{-r,--relative}'[create symbolic links relative to link location]' - '(-s --symbolic)'{-s,--symbolic}'[create symbolic links instead of hard links]' - '(-S --suffix)'{-S,--suffix=}'[override default backup suffix]:suffix' - '(-t --target-directory)'{-t,--target-directory=}'[specify directory in which to create the links]: :_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat destination as a normal file]' - '(-v --verbose)'{-v,--verbose}'[print name of each linked file]' - '--help[display usage information and exit]' - '--version[display version information and exit]') - ;; - zsh) - args+=( - '-d[attempt to hard link directories]' - {-h,-n}'[do not dereference destination]' - '(-f)-i[prompt before removing destination files]') - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - {-h,-n}'[do not dereference destination]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-F[remove existing destination directories]' - '(-f)-i[prompt before removing destination files]' - '-v[print name of each linked file]' - ) - ;| - dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '(-L)-P[create hard links directly to symbolic links]' - '(-P)-L[create hard links to symbolic link references]' - ) - ;| - dragonfly*|freebsd*|netbsd*) - args+=( - "-w[warn if source of a symbolic link doesn't currently exist]" - ) - ;; -esac - -_arguments -C -s -S $opts : \ - $args \ - ':link target:_files' \ - '*:: :->files' && ret=0 - -case $state in - (files) - if [[ $variant == gnu && -n ${opt_args[(I)-t|--target-directory]} ]]; then - _wanted files expl 'link target' _files && ret=0 - else - if (( CURRENT == 2 )); then - local expl - _wanted files expl 'additional link target or link name' _files && ret=0 - else - _alternative \ - 'link-targets:additional link target:_files' \ - 'target-directories:target directory:_directories' && ret=0 - fi - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_loadkeys b/result/sw/share/zsh/5.9/functions/_loadkeys deleted file mode 100644 index d0a87b6f..00000000 --- a/result/sw/share/zsh/5.9/functions/_loadkeys +++ /dev/null @@ -1,19 +0,0 @@ -#compdef loadkeys - -case $OSTYPE in - linux*) - _arguments \ - '(--clearcompose -c)'{--clearcompose,-c}'[clear kernel compose table]' \ - '(--default -d)'{--default,-d}'[load default keymap file]' \ - '(--help -h)'{--help,-h}'[display help information]' \ - '(--mktable -m)'{--mktable,-m}'[output a "defkeymap.c" to stdout]' \ - '(--clearstrings)'{--clearstrings,-s}'[clear kernel string table]' \ - '*'{--verbose,-v}'[print more details]' \ - ':keymap:_files -W /usr/share/keymaps' - ;; - solaris*) - _files -W /usr/share/lib/keytables - ;; - - *) _default;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_locale b/result/sw/share/zsh/5.9/functions/_locale deleted file mode 100644 index b2ee14ee..00000000 --- a/result/sw/share/zsh/5.9/functions/_locale +++ /dev/null @@ -1,85 +0,0 @@ -#compdef locale - -local curcontext="$curcontext" state state_descr line expl ret=1 -typeset -A opt_args; local -a specs aopts - -if _pick_variant gnu='(Free Soft|GNU|GLIBC)' unix --version; then - - local exargs="-? --help --usage -V --version" - - aopts=( -A "-*" -C -S -s ) - specs=( - '(- *)'{-\?,--help}'[display help information]' - '(- *)--usage[display a short usage message]' - '(- *)'{-V,--version}'[print program version]' - - set1 - "(-a --all-locales $exargs)"{-a,--all-locales}'[list all available locales]' - "(-v --verbose $exargs)"{-v,--verbose}'[display additional information]' - - set2 - "(-m --charmaps $exargs)"{-m,--charmaps}'[list all available charmaps]' - - set3 - "(-c --category-name $exargs)"{-c,--category-name}'[print also locale category]' - "(-k --keyword-name $exargs)"{-k,--keyword-name}'[print also keyword of each value]' - '*:name:->catkey' - ) - -elif [[ $OSTYPE == openbsd* ]]; then - - specs=( - '(-m)-a[list all available locales]' - '(-a)-m[list all available charmaps]' - '(-a -m)1:name:(charmap)' - ) - -else - - aopts=( -C -A "-*" ) - specs=( - - set1 - '-a[list all available locales]' - - set2 - '-m[list all available charmaps]' - - set3 - '-c[print also locale category]' - '-k[print also keyword of each value]' - '*:name:->catkey' - ) -fi - -_arguments $aopts : $specs && ret=0 - -if [[ $state == catkey ]]; then - typeset -aU cats keys - - case $OSTYPE in - *bsd*) - # keywords from comparing locale -k list on netbsd and freebsd - # the additional keywords freebsd supports will be added via - # the reassignment of keys - keys+=( - charmap decimal_point thousands_sep grouping radixchar thousep int_curr_symbol - currency_symbol mon_decimal_point mon_thousands_sep mon_grouping positive_sign - negative_sign int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes - n_sep_by_space p_sign_posn n_sign_posn int_p_cs_precedes int_p_sep_by_space - int_n_cs_precedes int_n_sep_by_space int_p_sign_posn int_n_sign_posn d_t_fmt d_fmt - t_fmt am_str pm_str t_fmt_ampm day_1 day_2 day_3 day_4 day_5 day_6 day_7 abday_1 - abday_2 abday_3 abday_4 abday_5 abday_6 abday_7 mon_1 mon_2 mon_3 mon_4 mon_5 mon_6 - mon_7 mon_8 mon_9 mon_10 mon_11 mon_12 abmon_1 abmon_2 abmon_3 abmon_4 abmon_5 - abmon_6 abmon_7 abmon_8 abmon_9 abmon_10 abmon_11 abmon_12 era era_d_fmt era_d_t_fmt - era_t_fmt alt_digits yesexpr noexpr yesstr nostr - );| - (free|net|dragonfly)bsd*) (( words[(I)-k] )) && keys+=(list);; - *) - cats=( ${${${(f)"$(locale)"}%=*}%(LANG|LANGUAGE|LC_ALL)} ) - ;; - esac - - keys=( $keys ${${(f)"$(locale -k $cats 2>/dev/null)"}%=*} ) - if [[ $OSTYPE == freebsd* ]] && (( words[(I)list] )); then - _message -e values prefix && ret=0 - else - _wanted values expl name compadd "$@" -a - cats keys && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_localedef b/result/sw/share/zsh/5.9/functions/_localedef deleted file mode 100644 index 57637e3e..00000000 --- a/result/sw/share/zsh/5.9/functions/_localedef +++ /dev/null @@ -1,92 +0,0 @@ -#compdef localedef - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -if _pick_variant gnu='(Free Soft|GNU|GLIBC)' unix --version; then - - local exargs="-? --help --usage -V --version" - _arguments -A "-*" -C -S -s \ - '(- *)'{-\?,--help}'[display help information]' \ - '(- *)--usage[display a short usage message]' \ - '(- *)'{-V,--version}'[print program version]' \ - "(-A --alias-file $exargs)"{-A+,--alias-file=}'[specify locale alias file]:alias file:_files' \ - "($exargs)--prefix=[specify path prefix]:prefix:_files" \ - "(-c --force $exargs)"{-c,--force}'[force write despite of warnings]' \ - "(-v --verbose $exargs)"{-v,--verbose}'[display additional information]' \ - "($exargs)--quiet[suppress messages and warnings]" \ - - set1 \ - "(-f --charmap $exargs)"{-f+,--charmap=}'[specify locale charmap file]:charmap:->charmap' \ - "(-i --inputfile $exargs)"{-i+,--inputfile=}'[specify locale definition file]:locale file:_files' \ - "(-u --repertoire-map $exargs)"{-u+,--repertoire-map=}'[specify repertoire map file]:repertoire map file:_files' \ - '1:path:_files' \ - - set2 \ - "(--list-archive $exargs)--list-archive[list locales in archive]" \ - - set3 \ - "(--delete-from-archive $exargs)--delete-from-archive[delete locale from archive]" \ - '*:locale:->locale' \ - - set4 \ - "(--add-to-archive $exargs)--add-to-archive[add locale to archive]" \ - "(--replace $exargs)--replace[replace locale in archive]" \ - "(--no-archive $exargs)--no-archive[use subdir not archive]" \ - '*:compiled path:_files -/' \ - && return 0 - - case "$state" in - charmap) - if [[ $words[-1] == */* ]]; then - _wanted charmaps expl charmap _files && ret=0 - else - typeset -a charmaps - charmaps=( ${(f)"$(locale -m)"} ) - _wanted charmaps expl charmap compadd -a charmaps && ret=0 - fi - ;; - locale) - typeset -a locales - local pref=${opt_args[--prefix]} - local p=${pref:+--prefix} - locales=( ${(f)"$(localedef --list-archive $p $pref)"} ) - _wanted locales expl locale compadd -a locales && ret=0 - ;; - esac - - return ret - -else - - typeset -a u_opt bsd_opts - [[ $OSTYPE != darwin* ]] && u_opt=( - '-u+[specify target codeset]:codeset:_files' - ) - [[ $OSTYPE == (freebsd*|dragonfly*) ]] && bsd_opts=( - '-D[create BSD-style output]' \ - '-U[ignore undefined character symbols]' \ - '-v[verbose debug output]' \ - '-w+[specify width file]:width file:_files' \ - ) - - _arguments -A "-*" -C \ - '-c[force write despite of warnings]' \ - '-f+[specify locale charmap file]:charmap:->charmap' \ - '-i+[specify locale definition file]:locale file:_files' \ - $u_opt \ - $bsd_opts \ - '1:path:_files' \ - && return 0 - - case "$state" in - charmap) - if [[ $words[-1] == */* ]]; then - _wanted charmaps expl charmap _files && ret=0 - else - typeset -a charmaps - charmaps=( ${(f)"$(locale -m)"} ) - _wanted charmaps expl charmap compadd -a charmaps && ret=0 - fi - ;; - esac - - return ret - -fi diff --git a/result/sw/share/zsh/5.9/functions/_locales b/result/sw/share/zsh/5.9/functions/_locales deleted file mode 100644 index a449ebe1..00000000 --- a/result/sw/share/zsh/5.9/functions/_locales +++ /dev/null @@ -1,12 +0,0 @@ -#compdef -value-,LANG,-default- -value-,LANGUAGE,-default- -P -value-,LC_*,-default- - -local expl locales - -if (( $+commands[locale] )); then - locales=( $(_call_program locales locale -a) ) - [[ $OSTYPE = *-gnu ]] && locales=( ${locales/utf8/UTF-8} ) -else - locales=( /usr/lib/locale/*(:t) ) -fi - -_wanted locales expl locale compadd -a "$@" - locales diff --git a/result/sw/share/zsh/5.9/functions/_locate b/result/sw/share/zsh/5.9/functions/_locate deleted file mode 100644 index af07473b..00000000 --- a/result/sw/share/zsh/5.9/functions/_locate +++ /dev/null @@ -1,96 +0,0 @@ -#compdef locate mlocate slocate glocate - -local variant=$service -local -a args -[[ $service = locate ]] && - _pick_variant -r variant glocate=findutils mlocate=mlocate slocate=secure $OSTYPE -V -args=( '(-)'{-V,--version}'[display version information]' ) - -case $variant in - [mg]locate) - args+=( - '(-A --all)'{-A,--all}'[only print entries that match all patterns]' - '(-E --non-existing -e --existing)'{-e,--existing}'[restrict display to existing files]' - '(-c --count)'{-c,--count}'[output the number of matching entries]' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case distinctions in patterns]' - '(-w --wholename -b --basename)'{-w,--wholename}'[match entire file path (default)]' - '(-w --wholename -b --basename)'{-b,--basename}'[match only the basename of files in the database]' - '(-P -H --no-follow -L --follow)'{-P,-H,--nofollow}"[don't follow symbolic links]" - '(-P -H --no-follow -L --follow)'{-L,--follow}'[follow symbolic links to find existing files (default)]' - '(-0 --null)'{-0,--null}'[output separated by NUL characters]' - '(-S --statistics)'{-S,--statistics}'[show database statistics]' - ) - ;| - - (mlocate) - # -r/--regexp mean no normal arguments, so shouldn't complete - # -m and --mmap are ignored, so don't bother - # -s and --stdio likewise - args=( -s -S : $args - \*{-d,--database=}'[use alternative database]:database:_sequence -s \: _files' - '(-)'{-h,--help}'[display help information]' - '(-l -n --limit)'{-l,-n,--limit=}'[limit search results]:file limit' - '(-q --quiet)'{-q,--quiet}"[don't report errors]" - '(:)*'{-r,--regexp=}'[search for given basic regexp]:basic regexp' - '--regex[patterns are extended regexps]' - ) - ;; - - (slocate) - # -d can take path - # -e can take a comma-separated list of directories. - # -f should complete list of file system types like mount - args=( -s -S : $args - -u'[create slocate database starting at path /]' - -U'[create slocate database starting at given path]:directory:_files -/' - -c'[parse GNU locate updatedb with -u, -U]' - -e'[exclude directories with -u, -U]: : _dir_list -s,' - -f'[exclude file system types from db with -u, -U]:file system:_file_systems' - -l'[security level]:level:(0 1)' - -q'[quiet mode]' - -n'[limit search results]:file limit ' - -i'[case insensitive search]' - {-r,--regexp=}'[use basic regular expression]:regexp' - {-o,--output=}'[specify database to create]:database:_files' - {-d,--database=}'[specify database to search]:database:_files' - '(-)'{-h,--help}'[display help information]' - {-v,--verbose}'[display files when creating database]' - ) - ;; - - (glocate) - args=( -s : $args - \*{-d,--database=}'[use alternative database]:database:_files' - '(-E --non-existing -e --existing)'{-E,--non-existing}'[restrict display to nonexistent files]' - '(-l --limit)'{-l,--limit=}'[limit search results]:file limit: ' - '--max-database-age[specify database age at which warning should be issued]:age (days) [8]' - '(-p --print)'{-p,--print}'[include search results with statistics or count]' - \*{-r,--regex=}'[patterns are regular expressions]:regexp' - --regextype='[select type of regular expression]:regex type [basic]:(findutils-default awk egrep ed emacs gnu-awk grep posix-awk posix-basic posix-egrep posix-extended posix-minimal-basic sed)' - '(-)'--help'[display help information]' - ) - ;; - - (freebsd|openbsd|dragonfly|darwin)*) - args=( -s -S -A '-*' - '(-S)-c[output the number of matching file names]' - '(-S)-i[ignore case distinctions in pattern and database]' - '(-S)-l[limit output to specified number of file names]:file limit ' - '(- *)-S[show database statistics and exit]' - ) - ;| - openbsd*) - args+=( '(-S)-b[match only the basename of files in the database]' ) - ;| - (freebsd|dragonfly|darwin)*) - args+=( - '(-S)-0[separate file names by NUL characters]' - '(-S)-m[use mmap(2) instead of stdio(3) (default)]' - '(-S)-s[use stdio(3) instead of mmap(2)]' - ) - ;| - (*) args+=( '(-S)*-d[specify database to search]:database:_files' ) ;; - -esac - -_arguments $args '*: :_guard "^-*" pattern' diff --git a/result/sw/share/zsh/5.9/functions/_logger b/result/sw/share/zsh/5.9/functions/_logger deleted file mode 100644 index 0d47d2f0..00000000 --- a/result/sw/share/zsh/5.9/functions/_logger +++ /dev/null @@ -1,80 +0,0 @@ -#compdef logger - -local variant ign -local -a args common -local -a priorities - -_pick_variant -r variant linux=util-linux busybox=BusyBox $OSTYPE -V - -priorities=( {kern,user,mail,daemon,auth,syslog,lpr,news,uucp,cron,authpriv,ftp,ntp,security,console,local{0..7}}.{emerg,panic,alert,crit,err,error,warn,warning,notice,info,debug} ) -args=( "(--id)-i[log the logger command's pid]" ) -common=( - '(-f --file --journald *)'{-f+,--file=}'[log contents of specified file]:file:_files' - '(-s --stderr)'{-s,--stderr}'[output message to standard error as well]' - '(-P --port)'{-P+,--port}'[use specified port for UDP or TCP connection]:port [514]:_ports' - '(-p --priority)'{-p+,--priority}'[mark message with specified priority]:priority:_multi_parts . priorities' - '(-t --tag)'{-t+,--tag}"[specify tag to mark log line with]:tag [$USER]" -) - -case $variant in - (net|open)bsd*) - args+=( ${(M)common:#*\)-[fpst]*} - '-c[write the message to the console if unable to use syslogd(8)]' - ) - ;| - dragonfly*|freebsd*) - args+=( - '(-6)-4[use IPv4 addresses only]' - '(-4)-6[use IPv6 addresses only]' - '-A[send the message to all addresses]' - ) - ;| - darwin*|dragonfly*) args+=( ${(M)common:#*\)-[sfpt]*} ) ;| - freebsd*) - args+=( ${common:#*\)--*} - "-H+[set value for hostname in message header]:hostname [${HOST%%.*}]" - '-h+[write to specified remote syslog server or socket]: : _alternative - "hosts\:server\:_hosts" - "sockets\:socket\:_files -g \*\(=\)"' - '-S+[specify source address and port when using -h]: :_bind_addresses -0bh' - ) - ;; - dragonfly*) - args+=( '-h+[write to specified remote syslog server]:server:_hosts' ) - ;; - busybox) args=( ${(M)common:#*\)-[spt]*} ) ;; # no -i - solaris*) args+=( ${(M)common:#*\)-[fpt]*} ) ;; - netbsd*) - args+=( - '-d+[log this in the structured data (SD) field]:sd field' - '-m+[specify message ID used for the message]:message id' - '-n[open log file immediately]' - ) - ;; - linux) - (( $#words > 2 )) && ign='!' - args+=( $common - "(-i)--id=-[log the given id, or otherwise the pid]::id [$$]:_pids" - '(* -e --skip-empty)'{-e,--skip-empty}"[don't log empty lines when processing files]" - '--no-act[do everything except the write the log]' - '--octet-count[use rfc6587 octet counting]' - '(*)--prio-prefix[look for a prefix on every line read from stdin]' - '(-S --size)'{-S+,--size=}'[specify maximum size for a single message]:size [1KiB]' - '(-n --server)'{-n+,--server=}'[write to specified remote syslog server]:server:_hosts' - '(-T --tcp -d --udp)'{-T,--tcp}'[use TCP only]' - '(-d --udp -T --tcp)'{-d,--udp}'[use UDP only]' - '(--rfc5424 --msgid --sd-id --sd-param)--rfc3164[use the obsolete BSD syslog protocol]' - '(--rfc3164)--rfc5424=-[use the syslog protocol (default for remote)]::without:_sequence compadd - notime notq nohost' - '(--rfc3164)*--sd-id=[specify rfc5424 structured data ID]:id' - '(--rfc3164)*--sd-param=[specify rfc5424 structured data name=value]:data' - '(--rfc3164)--msgid=[set rfc5424 message id field]:message id' - '(-u --socket)'{-u,--socket=}'[write to specified Unix socket]:socket:compadd -f -M "r\:|_=* r\:|=*" ${${(M)${(f)"$(</proc/net/unix)"}\:#* /*}##* }' - '--socket-errors=-[print connection errors when using Unix sockets]::state:(on off auto)' - '(* -f --file)--journald=-[write journald entry]::file:_files' - "${ign}(- *)"{-h,--help}'[display usage information]' - "${ign}(- *)"{-V,--version}'[display version information]' - ) - ;; -esac - -_arguments -s -S -A "-*" $args '*: :_guard "^-*" message' diff --git a/result/sw/share/zsh/5.9/functions/_logical_volumes b/result/sw/share/zsh/5.9/functions/_logical_volumes deleted file mode 100644 index bbfa0923..00000000 --- a/result/sw/share/zsh/5.9/functions/_logical_volumes +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local expl list names disp sep - -list=( $(lsvg -l $(lsvg)|sed -e '2d'|awk '/[^:]* / {if ( $7 != "N/A" ) print $1 ":" $7; else print $1}' ) ) -names=(${list%%:*}) -if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep " $list - disp=(-d list) -else - disp=() -fi -_wanted logicalvolumes expl 'logical volume' \ - compadd "$disp[@]" "$@" - "$names[@]" diff --git a/result/sw/share/zsh/5.9/functions/_login_classes b/result/sw/share/zsh/5.9/functions/_login_classes deleted file mode 100644 index a2e6983a..00000000 --- a/result/sw/share/zsh/5.9/functions/_login_classes +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local expl login_classes - -login_classes=(${${(M)${(f)"$(</etc/login.conf)"}:#[^#[:blank:]]*}%%[:|]*}) -if [[ $OSTYPE = openbsd* ]]; then - login_classes+=(/etc/login.conf.d/*(N:t)) -fi - -_description login-classes expl 'login class' -compadd "$@" "$expl[@]" - $login_classes diff --git a/result/sw/share/zsh/5.9/functions/_look b/result/sw/share/zsh/5.9/functions/_look deleted file mode 100644 index be8cf8c1..00000000 --- a/result/sw/share/zsh/5.9/functions/_look +++ /dev/null @@ -1,34 +0,0 @@ -#compdef look - -local curcontext="$curcontext" state line expl args sep='+' ret=1 -typeset -A opt_args - -case $OSTYPE in - linux*) - args=( - '(2 -a --alternative)'{-a,--alternative}'[use alternative dictionary file]' - '(-d --alphanum)'{-d,--alphanum}'[dictionary order]' - '(-f --ignore-case)'{-f,--ignore-case}'[case insensitive]' - '(-t --terminate)'{-t+,--terminate=}'[specify termination character]:termination character' - '(-)'{-h,--help}'[display help information]' - '(-)'{-V,--version}'[display version information]' - ) - ;; - solaris*) sep='-' ;& - *) - args=( -A "-*" - "-t${sep}[specify termination character]:termination character" - '-f[case insensitive]' - '-d[dictionary order]' - ) - ;; -esac - -_arguments -C -s -S $args \ - '1:string:->string' \ - '2:dictionary file:_files' && ret=0 - -[[ -n "$state" && ! -prefix - ]] && _wanted values expl 'word prefix' \ - compadd - $(_call_program words $words[1] '"$PREFIX"') && return - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_losetup b/result/sw/share/zsh/5.9/functions/_losetup deleted file mode 100644 index f5a7ec1b..00000000 --- a/result/sw/share/zsh/5.9/functions/_losetup +++ /dev/null @@ -1,47 +0,0 @@ -#compdef losetup -value-,LOOPDEV_DEBUG,-default- - -if [[ $service = *LOOPDEV_DEBUG* ]]; then - local expl - _wanted values expl value compadd all - return -fi - -local device offset - -device='1:device:_files -g "/dev/loop<->"' -offset=( {-o,--offset}'+[specify data start is offset]:offset (bytes)' ) - -_arguments -s -S \ - - '(H)'\ - {-V,--version}'[display version information]' \ - {-h,--help}'[display help]' \ - - 'info' \ - '(-v --verbose)'{-v,--verbose}'[verbose mode]' \ - '(-o --offset -a --all)'{-a,--all}'[show the status of all loop devices]' \ - '(-O --output --output-all)'{-O+,--output=}'[specify columns to be printed with --list]:column:_sequence -s , compadd - name autoclear back-file back-ino back-maj\:min maj\:min offset partscan ro sizelimit dio log-sec' \ - '(-O --output)--output-all[output all columns]' \ - '(-J --json --raw -O --output -n --noheadings)'{-J,--json}'[use JSON --list output format]' \ - '(-l --list)'{-l,--list}'[list currently used loop devices]' \ - '(-J --json)--raw[raw output format]' \ - '(-n --noheadings -J --json)'{-n,--noheadings}"[don't print headings in --list output]" \ - - '(resize)' \ - {-c,--set-capacity}'[reread the size of the file associated with the loop device]' \ - - 'detach' \ - '(-)'{--delete,--detach,-d}'[detach from specified loop device]' \ - "$device" \ - - '(detach-all)' \ - {-D,--detach-all}'[detach all associated loop devices]' \ - - 'create' \ - '--direct-io[open backing file with O_DIRECT]::enable:(on off)' \ - '(-f --find 1)'{-f,--find}'[find the first unused loop device]' \ - '(-L --nooverlap)'{-L,--nooverlap}'[avoid possible conflict between devices]' \ - '(-P --partscan)'{-P,--partscan}'[scan the partition table of newly created loop devices]' \ - '--sizelimit[limit device to specified size]:size (bytes)' \ - '(-b --sector-size)'{-b+,--sector-size=}'[set logical sector size of loop device]:size (bytes)' \ - '--show[print device name after setup]' \ - '(-r --read-only)'{-r,--read-only}'[set up a read-only loop device]' \ - "(-f)$device" \ - '2:file:_files' \ - - 'assoc' \ - '(-j --associated)'{-j,--associated}'[show the status of all loop devices associated with an file]:associated file:_files' \ - "(-f)$device" diff --git a/result/sw/share/zsh/5.9/functions/_lp b/result/sw/share/zsh/5.9/functions/_lp deleted file mode 100644 index ad7e9720..00000000 --- a/result/sw/share/zsh/5.9/functions/_lp +++ /dev/null @@ -1,295 +0,0 @@ -#compdef lp lpr lpq lprm lpoptions lpstat lpinfo lpadmin - -_lp_get_printer() -{ - # No reason to call _lp_get_printer when service == lpstat or lpinfo. Others - # matched below. - case $service in - (lpr|lpq|lprm) - [[ "$words" == (#I)*-P* ]] && printer="${${words##*(#I)-P( |)}%% *}" - ;; - (lp) - [[ "$words" == (#I)*-d* ]] && printer="${${words##*(#I)-d( |)}%% *}" - ;; - (lpadmin) - [[ "$words" == (#I)*-p* ]] && printer="${${words##*(#I)-p( |)}%% *}" - ;; - (lpoptions) - [[ "$words" == (#I)*-(d|p)* ]] && \ - printer="${${words##*(#I)-(d|p)( |)}%% *}" - ;; - esac -} - -_lp_job_options() -{ - local expl printer - local -a lopts_with_args lopts_no_args desc_opts - - # Generic options (from lp manual page) - lopts_with_args=(collate job-{hold-until,priority,sheets} media - number-up{,-layout} orientation-requested outputorder page-border - page-ranges sides) - - lopts_no_args=(fit-to-page mirror) - - if [[ $service == 'lpadmin' ]]; then - # Extra options from lpadmin man page. - lopts_with_args+=(cupsIPPSupplies cupsSNMPSupplies job-k-limit - job-page-limit job-quota-period job-sheets-default name name-default - port-monitor printer-error-policy printer-is-shared printer-op-policy) - fi - - _lp_get_printer - [[ -n "$printer" ]] && printer=(-p $printer) - - # The program specified by the style list-printer-options should list jobs in - # the same style as lpoptions -l. - if compset -P 1 '*='; then - # List values for the option - case ${IPREFIX%=} in - (media) - compadd "$@" a4 letter legal - ;; - (orientation-requested) - desc_opts=( - '4:rotated 90 degrees counter-clockwise' - '5:rotated 90 degrees clockwise' - '6:rotated 180 degrees') - _describe "orientation requested" desc_opts - ;; - (job-sheets(|-*)) - compadd "$@" /usr/share/cups/banners/*(:t) - ;; - (sides) - compadd "$@" one-sided two-sided-{long,short}-edge - ;; - (number-up) - _description -V option-o-1 expl "pages per sheet" - compadd "$expl[@]" 2 4 6 9 16 - ;; - (number-up-layout) - _description -V option-o-1 expl "layout" - compadd "$expl[@]" btlr btrl lrbt lrtb rlbt rltb tblr tbrl - ;; - (cupsIPPSupplies|cupsSNMPSupplies|printer-is-shared) - compadd "$@" true false - ;; - (printer-error-policy) - compadd "$@" abort-job retry-job retry-current-job stop-printer - ;; - (Duplex|BRDuplex) - desc_opts=( - "DuplexTumble:flip short side" - "DuplexNoTumble:flip long side" - "None") - _describe "duplex option" desc_opts - ;; - - (*) - compadd "$@" \ - $(_call_program list-printer-options lpoptions $printer -l | \ - grep "^${IPREFIX%=}" | cut -d: -f2 | tr -d \* ) - ;; - esac - else - # List options - local eq_suffix - - # Don't add an '=' suffix when completing lpoptions -r - if [[ $service == lpoptions && $words[CURRENT-1] == "-r" ]]; then - eq_suffix=() - else - eq_suffix=(-S '=') - fi - - _description lpopts expl "generic printer option" - compadd "$expl[@]" $eq_suffix $lopts_with_args - compadd "$expl[@]" $lopts_no_args - - _description printeropts expl "printer specific option" - compadd "$expl[@]" $eq_suffix \ - $(_call_program list-printer-options \ - lpoptions $printer -l | cut -d/ -f1) - fi -} - -_lp_list_jobs() -{ - local ret=1 printer shown - local -a list disp strs - - _lp_get_printer - [[ -n "$printer" ]] && printer=(-P $printer) - - list=( ${(M)"${(f@)$(_call_program jobs lpq $printer 2> /dev/null)}":#[0-9]*} ) - - if (( $#list )); then - _tags users jobs - - while _tags; do - if _requested users; then - strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" ) - if [[ -z "$shown" ]] && - zstyle -T ":completion:${curcontext}:users" verbose; - then - disp=(-ld list) - shown=yes - else - disp=() - fi - _all_labels users expl user compadd "$disp[@]" -a strs || - _users && ret=0 - fi - if _requested jobs; then - strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" ) - if [[ -z "$shown" ]] && - zstyle -T ":completion:${curcontext}:jobs" verbose; then - disp=(-ld list) - shown=yes - else - disp=() - fi - _all_labels jobs expl job compadd "$disp[@]" -a strs && ret=0 - fi - (( ret )) || return 0 - done - else - _message 'no print jobs' - fi - return 1 -} - - -_lp() -{ - case $service in - (lpq) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '(-a)-P+[destination printer]:printer:_printers' \ - '(-P)-a[all printers]' \ - '-l[long listing]' \ - '*:poll interval (+seconds)' - ;; - - (lprm) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '-P+[destination printer]:printer:_printers' \ - '*:job id:_lp_list_jobs' - ;; - - (lpoptions) - _arguments \ - '-E[force encryption]' \ - '-U:username (for connection to server):_users' \ - '-h:alternate server:_hosts' \ - '(-p -l -r -x)-d+[set default printer]:printer:_printers' \ - '(-l -x)*-o:job option:_lp_job_options' \ - '(-d -x)-p+[destination printer for options]:printer:_printers' \ - '(-d -o -r -x)-l[list options]' \ - '(-d -l -x)*-r:remove option:_lp_job_options' \ - '(-d -l -r -o)-x+[remove all options]:printer:_printers' - ;; - - (lpstat) - _arguments \ - '-E[force encryption]' \ - '-R[shows print job ranking]' \ - '-U:username (for connection to server):_users' \ - '-W:which job:(completed not-completed)' \ - '-a+[show accepting state]:printer:_printers' \ - '-c:printer class' \ - '-d[show current default destination]' \ - '-h:hostname (alternate server):_hosts' \ - '-l[long listing]' \ - '-o+[destinations]:printer:_printers' \ - '-p+:printer:_printers' \ - '-r[CUPS server running status]' \ - '-s[status summary]' \ - '-t[all status info]' \ - '-u[list jobs by users]:user:_users' \ - '-v+[show devices]:printer:_printers' - ;; - - (lpr) - _arguments \ - '-E[force encryption]' \ - '-H:hostname (alternate server):_hosts' \ - '(-C -J -T)'-{C,J,T}':job name' \ - '-P+[destination printer]:printer:_printers' \ - '-U:username (for connection to server):_users' \ - '-#[copies]:copies (1--100)' \ - '-h[disables banner printing]' \ - '-l[raw file]' \ - '-m[send an email on job completion]' \ - '*-o:print job option:_lp_job_options' \ - '-p[format with shaded header incl. date, time etc.]' \ - '-q[hold job for printing]' \ - '-r[delete files after printing]' \ - '*:PS/PDF file:_pspdf' - ;; - - (lp) - _arguments \ - '-E[force encryption]' \ - '-U[username (for connection to server)]:username:_users' \ - '-c[(OBSOLETE) copy to spool dir before printing]' \ - '-d+[destination printer]:printer:_printers' \ - '-h:hostname (alternate server):_hosts' \ - '-i[job id to modify]:job id' \ - '-m[send an email on job completion]' \ - '-n[copies]:copies (1--100)' \ - '*-o:print job option:_lp_job_options' \ - '-q[job priority -- 1 (lowest) to 100 (highest)]:priority' \ - "-s[don't report resulting job IDs]" \ - '-t[set the job name]:job name' \ - '-u[job submission username]:username:_users' \ - '-H[time to print]:print time (or enter hh\:mm):(hold immediate restart resume)' \ - '-P:page range list' \ - '*:PS/PDF file:_pspdf' - ;; - - (lpinfo) - _arguments \ - '-E[force encryption]' \ - '-U[username (for connection to server)]:username:_users' \ - '-h:hostname (alternate server):_hosts' \ - '-l[show a "long" listing of devices or drivers]' \ - {--exclude-schemes,--include-schemes}'[device/PPD schemes to filter from results]:scheme-list' \ - '(-v --timeout)--device-id[IEEE-1284 device ID to match]:device-id-string' \ - '(-v --timeout)--language:locale' \ - '(-v --timeout)--product[product to match]:name' \ - '(-v --timeout)--make-and-model[make and model to match]:name' \ - '(-v --timeout)-m[list available drivers]' \ - '(-m --device-id --language --make-and-model --product)--timeout[timeout when listing devices with -v]:timeout (seconds)' \ - '(-m --device-id --language --make-and-model --product)-v[list available devices]' - ;; - - (lpadmin) - _arguments \ - '-E[force encryption/enable destination]' \ - '-U[username (for connection to server)]:username:_users' \ - '-h:hostname (alternate server):_hosts' \ - '(-p -R -x -o)-d+[default printer]:printer:_printers' \ - '(-d -x)-p+[configure printer]:printer:_printers' \ - '(-p -R -d -o)-x+[delete printer]:printer:_printers' \ - '(-x -d)-R[name-default]:name-default' \ - '-c:printer class' \ - '-m:model' \ - '(-x -d)*-o:option:_lp_job_options' \ - '-r[remove from class]:class' \ - '-u[access policy]:access policy' \ - '-v[device-uri of printer queue]:device-uri' \ - '-D[text description of destination]:info' \ - '-L[location of the printer]:location' \ - '-P[PPD file to use]:PPD file:_files "*.(#i)ppd(-.)"' - esac -} - -_lp "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ls b/result/sw/share/zsh/5.9/functions/_ls deleted file mode 100644 index df14e7e2..00000000 --- a/result/sw/share/zsh/5.9/functions/_ls +++ /dev/null @@ -1,208 +0,0 @@ -#compdef ls gls - -local arguments is_gnu datef - -if ! _pick_variant gnu=gnu unix --help; then - arguments=( - '(-A)-a[list entries starting with .]' - '(-a)-A[list all except . and ..]' - '-d[list directory entries instead of contents]' - '-L[list referenced file for sym link]' - '-R[list subdirectories recursively]' - - '(-k)-h[print sizes in human readable form]' - '(-h)-k[print sizes in kilobytes]' - - '-i[print file inode numbers]' - '(-l -g -1 -C -m -x)-l[long listing]' - '(-l -g -C -m -x)-1[single column output]' - '(-l -g -1 -m -x)-C[list entries in columns sorted vertically]' - '(-l -g -1 -C -x)-m[comma separated]' - '(-l -g -1 -C -m)-x[sort horizontally]' - - '-s[display size of each file in blocks]' - - '(-u)-c[status change time]' - '(-c)-u[access time]' - - '-r[reverse sort order]' - - '(-t)-S[sort by size]' - '(-S)-t[sort by modification time]' - - '(-p)-F[append file type indicators]' - '(-F)-p[append file type indicators for directory]' - - '-n[numeric uid, gid]' - - '(-B -b -w -q)-q[hide control chars]' - - '*: :_files' - ) - if [[ "$OSTYPE" = (netbsd*|dragonfly*|freebsd*|openbsd*|darwin*) ]]; then - arguments+=( - '-T[show complete time information]' - '(-a -A -r -S -t)-f[output is not sorted]' - ) - fi - if [[ $OSTYPE = (netbsd*|dragonfly*|freebsd*|openbsd*) ]]; then - arguments+=( '-o[display file flags]' ) - fi - if [[ $OSTYPE = (netbsd*|dragonfly*|freebsd*|darwin*) ]]; then - arguments+=( - '(-B -b -w -q)-B[print octal escapes for control characters]' - '(-B -b -w -q)-b[as -B, but use C escape codes whenever possible]' - '(-B -b -w -q)-w[print raw characters]' - '-W[display whiteouts when scanning directories]' - ) - fi - if [[ $OSTYPE = (netbsd*|openbsd*|darwin*|solaris*) ]]; then - arguments+=( - '(-l -1 -C -m -x)-g[long listing but without owner information]' - ) - fi - if [[ $OSTYPE = netbsd* ]]; then - arguments+=( - '-M[output file sizes in comma-separated form]' - '-O[output only leaf (non-directory) files]' - '-P[print full pathname for each file]' - "-X[don't cross mount points when recursing]" - ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*|openbsd*|darwin*) ]]; then - arguments+=( '-H[follow symlinks on the command line]' ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*|darwin*) ]]; then - arguments+=( - '-G[enable colorized output]' - '-P[do not follow symlinks]' - ) - fi - if [[ $OSTYPE = (dragonfly*|freebsd*) ]]; then - arguments+=( - '(-A)-I[prevent -A from being automatically set for the super-user]' - '(-1 -C -m -x)-D+[specify format for date]:format: _date_formats' - ) - fi - if [[ $OSTYPE = dragonfly* ]]; then - arguments+=( - '-_[use GMT based date and time output with nanotime timestamp]' - '-y[display FSMID in long listing]' - ) - fi - if [[ $OSTYPE = (freebsd*|darwin*) ]]; then - arguments+=( '(-c -u)-U[file creation time]' ) - fi - if [[ $OSTYPE = freebsd* ]]; then - arguments+=( - '-,[print file sizes grouped and separated by thousands]' - '-y[with -t, sort filenames in the same order as the time]' - '-Z[display MAC label]' - '--color=-[control use of color]:color:(never always auto)' - ) - fi - if [[ $OSTYPE = darwin* ]]; then - arguments+=( - '-@[display extended attribute keys and sizes in long listing]' - '-e[display ACL in long listing]' - '(-l -1 -C -m -x)-o[long listing but without group information]' - '-O[display file flags]' - '-v[print raw characters]' - ) - fi - if [[ $OSTYPE = solaris* ]]; then - arguments+=( - '(-q)-b[print octal escapes for control characters]' - '(-l -1 -C -m -x)-o[long listing but without group information]' - '(-l -t -s -r -a)-f[interpret each argument as a directory]' - '(-E -l)-e[long listing with full and consistent date/time]' - '(-e -l)-E[long listing with ISO format date/time]' - '-H[follow symlinks on the command line]' - '-v[long listing with verbose ACL information]' - '-V[long listing with compact ACL information]' - '-@[long listing with marker for extended attribute information]' - ) - fi -else - [[ $PREFIX = *+* ]] && datef='formats:format: _date_formats' - arguments=( - '(--all -a -A --almost-all)'{--all,-a}'[list entries starting with .]' - '(--almost-all -A -a --all)'{--almost-all,-A}'[list all except . and ..]' - '--author[print the author of each file]' - '(--ignore-backups -B)'{--ignore-backups,-B}"[don't list entries ending with ~]" - '(--directory -d)'{--directory,-d}'[list directory entries instead of contents]' - '(--dired -D)'{--dired,-D}"[generate output designed for Emacs' dired mode]" - '*'{--ignore=,-I+}"[don't list entries matching pattern]:pattern: " - '(--dereference -L --dereference-command-line -H --dereference-command-line-symlink-to-dir)'{--dereference,-L}'[list referenced file for sym link]' - '(--dereference -L --dereference-command-line -H --dereference-command-line-symlink-to-dir)'{--dereference-command-line,-H}'[follow symlink on the command line]' - '(--dereference -L --dereference-command-line -H)'--dereference-command-line-symlink-to-dir - '(--recursive -R)'{--recursive,-R}'[list subdirectories recursively]' - - '(--no-group -G)'{--no-group,-G}'[inhibit display of group information]' - '(--block-size --human-readable -h --si --kilobytes -k)'{--human-readable,-h}'[print sizes in human readable form]' - '(--block-size --human-readable -h --si --kilobytes -k)--si[sizes in human readable form; powers of 1000]' - '(--inode -i)'{--inode,-i}'[print file inode numbers]' - - '(--format -l -g -o -1 -C -m -x)-l[long listing]' - '(--format -l -1 -C -m -x)-g[long listing but without owner information]' - --group-directories-first - '(--format -l --no-group -G -1 -C -m -x)-o[no group, long]' - '(--format -l -g -o -C -m -x)-1[single column output]' - '(--format -l -g -o -1 -m -x)-C[list entries in columns sorted vertically]' - '(--format -l -g -o -1 -C -x)-m[comma separated]' - '(--format -l -g -o -1 -C -m)-x[sort horizontally]' - '(-l -g -o -1 -C -m -x)--format=[specify output format]:format:(verbose long commas horizontal across vertical single-column)' - - '(--size -s -f)'{--size,-s}'[display size of each file in blocks]' - - '(--time -u)-c[status change time]' - '(--time -c)-u[access time]' - '(-c -u)--time=[specify time to show]:time:(ctime status use atime access)' - '--time-style=[show times using specified style]:style: _alternative "time-styles\:time style\:(full-iso long-iso iso locale)" $datef' - - '(-a --all -U -l --format -s --size -t --sort --full-time)-f[unsorted, all, short list]' - '(--reverse -r -U -f)'{--reverse,-r}'[reverse sort order]' - - '(--sort -t -U -v -X)-S[sort by size]' - '(--sort -S -U -v -X)-t[sort by modification time]' - '(--sort -S -t -v -X)-U[unsorted]' - '(--sort -S -t -U -X)-v[sort by version (filename treated numerically)]' - '(--sort -S -t -U -v)-X[sort by extension]' - '(-S -t -U -v -X)--sort=[specify sort key]:sort key:(size time none version extension)' - - '--color=-[control use of color]:color:(never always auto)' - "*--hide=[like -I, but overridden by -a or -A]:pattern: " - '--hyperlink=[output terminal codes to link files using file::// URI]::when:(none auto always)' - '(--classify -F --indicator-style -p --file-type)'{--classify,-F}'[append file type indicators]' - '(--file-type -p --indicator-style -F --classify)--file-type[append file type indicators except *]' - '(--file-type -p --indicator-style -F --classify)-p[append / to directories]' - '(-F --classify -p --file-type)--indicator-style=[specify indicator style]:indicator style:(none file-type classify slash)' - - '(-f)--full-time[list both full date and full time]' - - '(--block-size --human-readable -h --si --kilobytes -k)'{--kilobytes,-k}'[use block size of 1k]' - '(--human-readable -h --si --kilobytes -k)--block-size=[specify block size]:block size (bytes):(K M G T P E Z Y KB MB TB PB EB ZB YB)' - - '(--numeric-uid-gid -n)'{--numeric-uid-gid,-n}'[numeric uid, gid]' - '(--tabsize -T)'{--tabsize=,-T+}'[specify tab size]:tab size' - '(--width -w)'{--width=,-w+}'[specify screen width]:screen width' - - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--escape,-b}'[print octal escapes for control characters]' - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--literal,-N}'[print entry names without quoting]' - '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--quote-name,-Q}'[quote names]' - '(-b --escape -N --literal -Q --quote-name)--quoting-style=[specify quoting style]:quoting style:(literal shell shell-always c escape clocale locale)' - - '(--hide-control-chars -q --show-control-chars)'{--hide-control-chars,-q}'[hide control chars]' - '(-q --hide-control-chars)--show-control-chars' - '(- :)--help[display help information]' - '(- :)--version[display version information]' - '*:file:_files' - ) - if [[ $OSTYPE = linux* ]]; then - arguments+=( - '(-Z --context)'{-Z,--context}'[print any security context of each file]' - ) - fi -fi - -_arguments -s -S : $arguments diff --git a/result/sw/share/zsh/5.9/functions/_lsattr b/result/sw/share/zsh/5.9/functions/_lsattr deleted file mode 100644 index def0bd3d..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsattr +++ /dev/null @@ -1,11 +0,0 @@ -#compdef lsattr - -_arguments -s -S : \ - '-a[show all files, including hidden ones]' \ - '-d[list directory entries instead of contents]' \ - '-l[use long option names]' \ - "-p[show file's project number]" \ - '-R[act recursively]' \ - '-V[display version information]' \ - "-v[show file's version/generation number]" \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_lsblk b/result/sw/share/zsh/5.9/functions/_lsblk deleted file mode 100644 index 8a9bc18b..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsblk +++ /dev/null @@ -1,66 +0,0 @@ -#compdef lsblk - -local sep ret=1 -local -a values dedup suf -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C -s -S \ - '(H -E --dedup)'{-E+,--dedup=}'[de-duplicate output by specified column]:column:->columns' \ - '(H -a --all)'{-a,--all}'[print all devices]' \ - '(H -b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' \ - '(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \ - '(H -I --include)*'{-e,--exclude}'[exclude devices by major number]:major device number:->majorlist' \ - '(H -e --exclude)*'{-I+,--include=}'[show only devices with specified major numbers]:major device number:->majorlist' \ - '(H -n --noheadings)'{-n,--noheadings}"[don't print headings]" \ - '(H -p --paths)'{-p,--paths}'[print complete device path]' \ - '(H -s --inverse)'{-s,--inverse}'[reverse dependency order]' \ - '(H -x --sort)'{-x+,--sort=}'[sort output by specified column]:column:->columns' \ - '(H)--sysroot=[use specified directory as system root]:directory:_directories' \ - '*:device:_files -g "*(-%b)" -P / -W /' \ - + fields \ - '(H -D --discard -o --output -O --output-all)'{-D,--discard}'[output discard capabilities]' \ - '(H -z --zoned -o --output -O --output-all)'{-z,--zoned}'[output zone model]' \ - '(H -f --fs -o --output -O --output-all)'{-f,--fs}'[output info about filesystems]' \ - '(H -m --perms -o --output -O --output-all)'{-m,--perms}'[output info about permissions]' \ - '(H -S --scsi -o --output -O --output-all)'{-S,--scsi}'[output info about SCSI devices]' \ - '(H -t --topology -o --output -O --output-all)'{-t,--topology}'[output info about topology]' \ - '(H fields)'{-o+,--output=}'[specify output columns]:output column:->columnlist' \ - '(H fields)'{-O,--output-all}'[output all columns]' \ - + '(format)' \ - '(H)'{-i,--ascii}'[output ascii characters only]' \ - '(H)'{-J,--json}'[use JSON output format]' \ - '(H)'{-l,--list}'[use list format output]' \ - '(H)'{-T+,--tree=}'[use tree format output]:column:->columns' \ - '(H)'{-P,--pairs}'[use key="value" output format]' \ - '(H)'{-r,--raw}'[use raw output format]' \ - + 'H' \ - '(* -)'{-h,--help}'[display help information]' \ - '(* -)'{-V,--version}'[display version information]' && ret=0 - -case $state in - columnlist) - compset -P '+' || _describe -t list-prefixes prefix \ - '( +:"not replace but extend the list" )' -S '' && ret=0 - ;| - *list) - dedup=( ${(Ms.,.)PREFIX##*,} ${(Ms.,.)SUFFIX%%,*} ) - suf=( -qS , ) - compset -S ',*' && suf=() - compset -P '*,' - ;| - column*) - values=( - ${${${${(f)"$(_call_program columns lsblk -h)"}[(r)Available*,-2]## #}[2,-1]//:/\\:}/ /:} - ) - _describe -t fields column values -M 'm:{a-z}={A-Z}' $suf -F dedup && ret=0 - ;; - major*) - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - values=( ${${${(f)"$(</proc/devices)"}[(r)Block*,-1]## #}[2,-1]/ /:} ) - zformat -a values " $sep " $values - _wanted -V devices expl 'major device number' compadd $suf -d values -F dedup ${values%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lscfg b/result/sw/share/zsh/5.9/functions/_lscfg deleted file mode 100644 index f9e8f15c..00000000 --- a/result/sw/share/zsh/5.9/functions/_lscfg +++ /dev/null @@ -1,22 +0,0 @@ -#compdef lscfg - -local state line expl curcontext="$curcontext" disp list devs sep - -_arguments -C -s \ - '-l[display device information for named device]:device:->device' \ - '-v[display vital product data for physical devices]' && return 0 - -if [[ "$state" = device ]]; then - devs=( ${${${${(f)"$(lscfg)"}[6,-1]:# *}##??}/ ##[^ ]# #/:} ) - if zstyle -T ":completion:${curcontext}:devices" verbose; then - zstyle -s ":completion:${curcontext}:devices" list-separator sep || sep=-- - zformat -a list " $sep " "$devs[@]" - disp=(-ld list) - else - disp=() - fi - _wanted devices expl 'device' compadd "$disp[@]" - "${devs[@]%%:*}" - return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_lsdev b/result/sw/share/zsh/5.9/functions/_lsdev deleted file mode 100644 index c54ed763..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsdev +++ /dev/null @@ -1,38 +0,0 @@ -#compdef lsdev - -local curcontext="${curcontext}" state line expl - -_arguments -C \ - '(-P)-C[list info about device in customized devices object class]' \ - '(-C -l)-P[list info about device in predefined object class]' \ - '-c[specify a device class]:device class:->classes' \ - '-f[read flags from file]:file:_files' \ - '-F[specify output format]:format:->columnnames' \ - '-H[display headers above columns]' \ - '-h[display command usage]' \ - '(-P)-l[specify device logical name]:device logical name' \ - '-r[display set of values in a column]:column name:->columnnames' \ - '(-P)-S[specify a device state]:device state:(Available Defined Stopped)' \ - '-s[specify a device subclass]:device subclass:->subclasses' \ - '-t[specify a device type name]:device type name:->devtypes' && return 0 - -case $state in - classes) - _wanted devclasses expl 'device class name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r class) - ;; - subclasses) - _wanted devsubclasses expl 'device subclass name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r subclass) - ;; - devtypes) - _wanted devtypes expl 'device type name' \ - compadd - $(lsdev ${words[(r)-[CP]]:--P} -r type) - ;; - columnnames) - [[ $words[CURRENT-1] = -F ]] && compset -P '*[^a-zA-Z]' - _wanted devcolumnnames expl 'column name' \ - compadd - ${(s: :)words[(r)-C]:+name status location} \ - class subclass description type - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_lslv b/result/sw/share/zsh/5.9/functions/_lslv deleted file mode 100644 index 5145c48c..00000000 --- a/result/sw/share/zsh/5.9/functions/_lslv +++ /dev/null @@ -1,8 +0,0 @@ -#compdef lslv - -_arguments -C -s \ - '(-l -m)-p[display logical volume allocation map for the physical volume]:pv:_physical_volumes' \ - '(-p)-l[list physical volumes in logical volume]' \ - '(-p)-m[list partition numbers]' \ - '-n[accesses information from the descriptor area of physical volume]:pv:_physical_volumes' \ - '1:lv: _logical_volumes' diff --git a/result/sw/share/zsh/5.9/functions/_lsns b/result/sw/share/zsh/5.9/functions/_lsns deleted file mode 100644 index 994101d9..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsns +++ /dev/null @@ -1,18 +0,0 @@ -#compdef lsns - -local ign - -(( $#words > 2 )) && ign='!' -_arguments -s -S \ - '(-J --json)'{-J,--json}'[use JSON output format]' \ - '(-l --list)'{-l,--list}'[use list format output]' \ - '(-n --noheadings)'{-n,--noheadings}"[don't print headings]" \ - '(-o --output)'{-o,--output}'[define which output columns to use]:column:_sequence compadd -M "m\:{a-z}={A-Z}" - NS TYPE PATH NPROCS PID PPID COMMAND UID USER NETNSID NSFS' \ - '(-p --task)'{-p+,--task=}'[print process namespaces]:process id:_pids' \ - '(-r --raw)'{-r,--raw}'[use the raw output format]' \ - '(-u --notruncate)'{-u,--notruncate}"[don't truncate text in columns]" \ - '(-W --nowrap)'{-W,--nowrap}"[don't use multi-line representation]" \ - '(-t --type)'{-t+,--type=}'[filter by namespace type]:namespace type:(mnt net ipc user pid uts cgroup)' \ - "$ign(- *)"{-h,--help}'[display usage information]' \ - "$ign(- *)"{-V,--version}'[display version information]' \ - '*: :_guard "^-*" namespace' diff --git a/result/sw/share/zsh/5.9/functions/_lsof b/result/sw/share/zsh/5.9/functions/_lsof deleted file mode 100644 index 8afb55e1..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsof +++ /dev/null @@ -1,127 +0,0 @@ -#compdef lsof - -local curcontext="$curcontext" ret=1 -local -a state line expl args vals fields alts suf hsuf pref - -case $OSTYPE in - linux*) - args=( - '-E[display endpoint info for pipes, sockets and pseudoterminal files but not files of the endpoints]' - '+E[display endpoint info for pipes, sockets and pseudoterminal files including files of the endpoints]' - '-X[skip reporting of info on network connections]' - ) - ;; - solaris*) - args=( - '-X[include deleted files]' - '-z[zone information]::zone:_zones' - ) - ;; -esac - -_arguments -C -s -S $args \ - '(-)'{-\?,-h}'[list help]' \ - '-a[AND selections]' \ - '-b[avoid kernel blocks]' \ - '-C[disable reporting of path name components]' \ - '+c[truncate command name to specified characters]:characters' \ - '-c[list files with specified command name beginning]:command name' \ - '+d[search for open instances for contents of specified dir]:search directory:_files -/' \ - '-d[specify list of file descriptors to exclude/include]:file descriptors:->filedes' \ - '+D[recursively search from specified dir]:search directory:_files -/' \ - '-D[direct use of device cache file]:function:((\?\:report\ device\ cache\ file\ paths b\:build\ the\ device\ cache\ file i\:ignore\ the\ device\ cache\ file r\:read\ the\ device\ cache\ file u\:read\ and\ update\ the\ device\ cache\ file))' \ - '*-+e[exempt filesystem from blocking kernel calls]:file system:_directories' \ - '-f[inhibit listing of kernel file structure info]::info type:->file-structures' \ - '+f[enable listing of kernel file structure info]::info type:->file-structures' \ - '-F[select output fields]:fields:->fields' \ - '-g[select by process group id]::process group id:_sequence -s , _pgids' \ - '(*)*-i[select internet files]::address:->addresses' \ - '-K+[select listing of tasks of processes]::value:((i\:ignore\ tasks))' \ - '-k[specify kernel name list file]:kernel file:_files' \ - '-l[inhibit conversion of UIDs to user names]' \ - '-L[list no link counts]' \ - '+L[list all link counts]::max link count for listed files' \ - '-m[specify kernel memory file]:kernel memory file:_files' \ - '-M[disable reporting of portmapper registrations]' \ - '+M[enable reporting of portmapper registrations]' \ - '-n[inhibit conversion of network numbers to hostnames]' \ - '-N[select listing of NFS files]' \ - '(-s)-o[list file offset]::digits for file offset' \ - '-O[avoid overheads of bypassing potential blocking]' \ - '-P[inhibit conversion of port numbers to port names]' \ - '-p[list files for specified processes]:process ID:_sequence -s , _pids' \ - '-r[repeat listing endlessly]::delay (seconds)' \ - '+r[repeat listing until no files listed]::delay (seconds)' \ - '-R[list parent PID]' \ - '(-o)-s+[list file size or exclude TCP/UDP files by state]::state:->states' \ - '-S[specify timeout for kernel functions that might deadlock]:timeout (seconds)' \ - '-T[select reporting of TCP/TPI info]::info type:((q\:queue\ length\ reporting s\:state\ reporting w\:window\ size\ reporting))' \ - '(+w -w)-t[terse output]' \ - '-u[list files owned by specified users]:user:_users -S,' \ - '-U[list Unix domain socket files]' \ - '(-)-v[list version info]' \ - '-V[indicate unsuccessfully searched for items]' \ - '(-t)+w[suppress warnings]' \ - '(-t)-w[enable warnings]' \ - '-x[cross filesystems/traverse symlinks with +d/+D]::type:((f\:filesystems s\:symlinks))' \ - '*:file:_files' && ret=0 - -case $state in - addresses) - if compset -P 1 '*:'; then - _ports && ret=0 - else - if compset -P 1 '*@'; then - pref=() - else - pref=( -P @ ) - suf=( -qS @ ) - [[ $PREFIX = (#i)(4|6|tcp|udp)* ]] || alts=( 'ip-versions:IP version:(4 6)' ) - compset -P '[46]' - alts+=( 'protocols:protocol:compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP' ) - fi - if compset -S '@*'; then - suf=() - else - hsuf=( -qS : ) - compset -S ':*' && hsuf=() - alts+=( "hosts:host:_hosts $pref $hsuf" ) - fi - - _alternative $alts && ret=0 - fi - ;; - fields) - fields=( ${${${${(f)"$($words[1] -F \? 2>&1)"}[2,-1]#??}// ##/:}:#(#s)[${PREFIX:-:}]:*} ) - compset -P '*' - _describe -t fields "field" fields -S '' && ret=0 - ;; - filedes) - _sequence -s , _wanted -x file-descriptors expl "file descriptor" compadd - \ - cwd err jld ltz mem mmap pd rtd tr txt v86 && ret=0 - ;; - file-structures) - vals=( - 'g[file flag abbreviations]' - 'G[file flags in hexadecimal]' - ) - [[ $OSTYPE != linux* ]] && vals+=( - 'c[file structure use count]' - 'f[file structure address]' - 'n[file structure node address]' - ) - _values 'kernel file structures' $vals && ret=0 - ;; - states) - if compset -P 1 '*:'; then - _sequence _wanted states expl state compadd - -M 'm:{a-z}={A-Z}' \ - CLOSED IDLE BOUND LISTEN ESTABLISHED SYN_SENT SYN_RCDV ESTABLISHED \ - CLOSE_WAIT FIN_WAIT1 CLOSING LAST_ACK FIN_WAIT_2 TIME_WAIT && ret=0 - else - compset -S ':*' || suf=( -qS : ) - _wanted protocols expl protocol compadd $suf -M 'm:{a-z}={A-Z}' TCP UDP && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lspv b/result/sw/share/zsh/5.9/functions/_lspv deleted file mode 100644 index 85b116cc..00000000 --- a/result/sw/share/zsh/5.9/functions/_lspv +++ /dev/null @@ -1,9 +0,0 @@ -#compdef lspv - -_arguments -C -s \ - '(-p -M)-l[list logical volumes on physical volume]' \ - '(-l -M)-p[list partitions on physical volume]' \ - '(-l -p)-M[list mapping of physical and logical partition numbers]' \ - '-n[specify physical volume to access variable descriptor from]:physical volume:_physical_volumes' \ - '-v[specify volume group id to access info based on]:volume group id' \ - '1:physical volume:_physical_volumes' diff --git a/result/sw/share/zsh/5.9/functions/_lsusb b/result/sw/share/zsh/5.9/functions/_lsusb deleted file mode 100644 index 129309b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsusb +++ /dev/null @@ -1,35 +0,0 @@ -#compdef lsusb - -local usbidsline vendorid pair ret=1 -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C \ - '(-v --verbose -t --tree)'{-v,--verbose}'[be verbose]' \ - '-s+[filter devices by bus and/or device number]:bus and/or devnum to show' \ - '-d+[filter devices by vendor/product ID]:vendor and product to show:->vendorproduct' \ - '-D+[display only specified device]:device:_files -g "*(-%)" -P / -W /' \ - '(-t --tree -v --verbose)'{-t,--tree}'[dump the physical USB device hierarchy as a tree]' \ - '(-)'{-V,--version}'[print version information]' \ - '(-)'{-h,--help}'[print help information]' && ret=0 - -if [[ -n $state && ${+_lsusb_vendors} -eq 0 ]]; then - typeset -A _lsusb_vendors _lsusb_devices - cat /usr/share/(misc|hwdata)/usb.ids | while IFS="" read usbidsline - do - case "$usbidsline" in - ((#b)([0-9a-f]##) ##(*)) - vendorid="$match[1]" - _lsusb_vendors[$vendorid]="$match[2]" - ;; - ( (#b)([0-9a-f]##) ##(*))) - pair="$vendorid:$match[1]" - _lsusb_devices[${pair}]="$match[2]" - ;; - esac - done -fi - -_wanted products expl 'vendor ID:product ID' compadd -k _lsusb_devices && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lsvg b/result/sw/share/zsh/5.9/functions/_lsvg deleted file mode 100644 index 028a670b..00000000 --- a/result/sw/share/zsh/5.9/functions/_lsvg +++ /dev/null @@ -1,10 +0,0 @@ -#compdef lsvg - -_arguments -C -s \ - '(-i -l -M -p)-o[lists only active volume groups]' \ - '(-i -l -M -p)-n[specify physical volume to access variable descriptor from]:physical volume:_physical_volumes' \ - '(-o -n)-i[reads volume group names from standard input]' \ - '(-o -n -M -p)-l[list logical volumes in volume group]' \ - '(-o -n -l -p)-M[list mapping of physical and logical partition numbers]' \ - '(-o -n -l -M)-p[list physical volumes used by volume group]' \ - '*:volume group:_volume_groups' diff --git a/result/sw/share/zsh/5.9/functions/_ltrace b/result/sw/share/zsh/5.9/functions/_ltrace deleted file mode 100644 index b60f8c35..00000000 --- a/result/sw/share/zsh/5.9/functions/_ltrace +++ /dev/null @@ -1,35 +0,0 @@ -#compdef ltrace - -local root hlp="-h --help -V --version" - -(( EUID )) && root='!' - -_arguments -s -S $args \ - "(-c -a --align $hlp)"{-a+,--align=}"[align return values in a specific column]:column [$((COLUMNS*5/8))]" \ - "(-c $hlp)-A+[specify maximum number of array elements to print]:elements" \ - "(-c -b --no-signals $hlp)"{-b,--no-signals}"[don't print signals]" \ - "(-a --align -A -b --no-signals -i -n --indent -r -s -t -tt -ttt -T $hlp)-c[count time and calls, and report a summary on exit]" \ - "(-C --demangle $hlp)"{-C,--demangle}'[decode low-level symbol names into user-level names]' \ - "(-D --debug $hlp)"{-D+,--debug=}'[enable debugging]:mask:(help 77)' \ - "($hlp)*-e+[modify which library calls to trace]:filter" \ - "($hlp)-f[trace child processes]" \ - "($hlp)*"{-F+,--config=}'[load alternate configuration file]:file:_files' \ - '(- 1 *)'{-h,--help}'[display help information]' \ - "(-c $hlp)-i[print instruction pointer at time of call]" \ - "(-l --library $hlp)"{-l+,--library=}'[only trace symbols implemented by specified library]:library:_files' \ - "($hlp)-L[don't display library calls]" \ - "(-c -n --indent $hlp)"{-n+,--indent=}'[specify indent for each level of call nesting]:spaces' \ - "(-o --output $hlp)"{-o+,--output=}'[write the trace output to specified file]:file:_files' \ - "(: $hlp)-p+[attach to the process with specified process ID and begin tracing]:process ID:_pids" \ - "(-c $hlp)-r[print relative timestamps]" \ - "(-c $hlp)-s+[specify the maximum string size to print]:maximum string size [32]" \ - "($hlp)-S[trace system calls as well as library calls]" \ - "(-c -ttt $hlp)-t[prefix each line of the trace with the time of day]" \ - "(-c -ttt -tt $hlp)-tt[prefix each line of the trace with the time of day including the microseconds]" \ - "(-c -tt -t $hlp)-ttt[prefix each line of the trace with the number of seconds and microseconds since the epoch]" \ - "(-c $hlp)-T[show the time spent in each call]" \ - "${root}-u+[run as specified user]:user:_users" \ - '(- 1 *)'{-V,--version}'[display version information]' \ - "($hlp)*-x+[modify which static functions to trace]:filter" \ - '(-):command name: _command_names -e' \ - '*::arguments:_normal' diff --git a/result/sw/share/zsh/5.9/functions/_lua b/result/sw/share/zsh/5.9/functions/_lua deleted file mode 100644 index 7254d381..00000000 --- a/result/sw/share/zsh/5.9/functions/_lua +++ /dev/null @@ -1,63 +0,0 @@ -#compdef lua -P lua[0-9.-]## - -# Complete lua library names. We go out of our way here to support sub-modules -# (of the format foo.bar.baz), even though the way `lua -l` handles those isn't -# very nice, because it might be useful for informational purposes -(( $+functions[_lua_libraries] )) || -_lua_libraries() { - local p pre - local -a tmp tmp2 - - # Get Lua's library search path - tmp=( ${(s<;>)${(@f)"$( - _call_program library-path $words[1] -e '"print(package.path)"' - )"}} ) - # Support C modules, which aren't explicitly included in the above - tmp+=( ${(@)${(@M)tmp:#*'?.lua'}/%.lua/.so} ) - - for p in ${(@u)tmp}; do - # Don't recurse infinitely into the current directory; we'll just trust - # that all other paths are sensible - if [[ $p == './?'* ]]; then - tmp=( ${~${${(b)p}/'\?'/'*'}}(#qN) ) - else - tmp=( ${~${${(b)p}/'\?'/'**/*'}}(#qN) ) - fi - tmp2+=( ${(@)tmp##${p%%'?'*}} ) - done - - tmp=( ${(@)tmp2%%(/init.lua|.lua|.so)} ) - tmp=( ${(@u)${(@)tmp//\//.}} ) - - _wanted -x libraries expl 'Lua library' compadd -a "$@" - tmp -} - -_lua() { - local ret=1 - local -a context expl line state state_descr - local -A opt_args - - # Stacking not supported, no arguments are exclusive except `-` - _arguments -S -A '-*' : \ - '*-e+[execute specified command string]:command string' \ - '-E[ignore environment variables]' \ - '-i[enter interactive mode]' \ - '*-l+[specify library or module to require]: :_lua_libraries' \ - '-v[display version information]' \ - '(1 -)-[stop argument parsing and execute script on stdin]' \ - '1:Lua script:_files' \ - '*:: :->arg' \ - && ret=0 - - [[ $state == arg ]] && - if [[ $line[1] == - ]]; then - _description files expl 'script argument' - _files "${(@)expl}" && ret=0 - else - _normal && ret=0 - fi - - return ret -} - -_lua "$@" diff --git a/result/sw/share/zsh/5.9/functions/_luarocks b/result/sw/share/zsh/5.9/functions/_luarocks deleted file mode 100644 index 42169c22..00000000 --- a/result/sw/share/zsh/5.9/functions/_luarocks +++ /dev/null @@ -1,637 +0,0 @@ -#compdef luarocks - -# Start of options' arguments' helpers -(( $+functions[__luarocks_command] )) || -__luarocks_command(){ - local -a commands=( - build:'build/compile a rock' - config:'query information about the LuaRocks configuration' - doc:'show documentation for an installed rock' - download:'download a specific rock file from a rocks server' - help:'help on commands' - init:'initialize a directory for a Lua project using LuaRocks' - install:'install a rock' - lint:'check syntax of a rockspec' - list:'list currently installed rocks' - make:'compile package in current directory using a rockspec' - new_version:'auto-write a rockspec for a new version of a rock' - pack:'create a rock, packing sources or binaries' - path:'return the currently configured package path' - purge:'remove all installed rocks from a tree' - remove:'uninstall a rock' - search:'query the LuaRocks servers' - show:'show information about an installed rock' - test:'run the test suite in the current directory' - unpack:'unpack the contents of a rock' - upload:'upload a rockspec to the public rocks repository' - which:'indicate which file corresponds to a given module name' - write_rockspec:'write a template for a rockspec file' - ) - _describe -t commands 'command' commands "$@" -} - -local option_deps_modes='--deps-mode=[specify how to handle dependencies]:mode:__luarocks_deps_modes' - -local rockspec_options=( - '--license=[specify a license string]:license (e.g. "MIT/X11" or "GNU GPL v3")' - '--summary=[a short one-line description summary]:summary' - '--detailed=[a longer description string]:detailed description' - '--homepage=[project homepage]:URL:_urls' - '--lua-versions=[specify supported Lua versions]:lua version:_sequence compadd - 5.{1,2,3,4}' - '--rockspec-format=[rockspec format version, such as "1.0" or "1.1"]:VER: ' - '--lib=[comma separated list of C library files to link to]:library files' -) - -(( $+functions[__luarocks_deps_modes] )) || -__luarocks_deps_modes(){ - local modes=( - 'all:use all trees from the rocks_trees list for finding dependencies' - 'one:use only the current tree (possibly set with --tree)' - 'order:use trees based on order (use the current tree and all trees below it on the rocks_trees list)' - 'none:ignore dependencies altogether' - ) - _describe 'dependencies mode' modes -} -(( $+functions[__luarocks_rock_version] )) || -__luarocks_rock_version(){ - local i=2 - while [[ -n "${words[$i]}" ]]; do - if [[ ! "${words[$i]}" =~ '^-' ]]; then - case "$1" in - "external_or_local") - if [[ ! -f "${words[$i]}" ]]; then - _message -e "version for external rock ${words[$i]}" - return - else - _message -e "version for local rock ${words[$i]}" - fi - ;; - "installed") - tree="$2" - __luarocks_installed_rocks "${tree}" "${words[$i]}" - return - ;; - "new_version") - if [[ -f "${words[$i]}" ]]; then - _message -e "new version for rock ${words[$i]}" - return - fi - ;; - "new_rock") - _message -e "version for new rock ${words[$i]}" - return - ;; - esac - fi - i=$(( i + 1 )) - done -} - -(( $+functions[___luarocks_manually_store_cache_configs_paths] )) || -___luarocks_manually_store_cache_configs_paths(){ - user_config_path="$(_call_program user_config_path luarocks config --user-config)" - system_config_path="$(_call_program system_config_path luarocks config --system-config)" - { - print -r user_config_path=${(qq)user_config_path} - print -r system_config_path=${(qq)system_config_path} - } >! ${cache_dir}/luarocks_configs_paths -} -(( $+functions[___luarocks_manually_store_cache_configured_values] )) || -___luarocks_manually_store_cache_configured_values(){ - local default_trees=($(_call_program rock_trees luarocks config --rock-trees)) - # The following command usually gives somethins like this - # - # /home/me/.luarocks user - # /usr system - # - # We'll just use the 1st and 3rd elements in the array for the default trees - configured_user_tree="${default_trees[1]}" - configured_system_tree="${default_trees[3]}" - configured_lua_version="$(_call_program lua_ver luarocks config --lua-ver)" - { - print -r configured_lua_version=${(qq)configured_lua_version} - print -r configured_user_tree=${(qq)configured_user_tree} - print -r configured_system_tree=${(qq)configured_system_tree} - } >! ${cache_dir}/luarocks_configured_values -} -(( $+functions[___luarocks_installed_rocks_cache_policy] )) || -___luarocks_installed_rocks_cache_policy(){ - local cache_file="$1" - # Before checking the modification date of the manifests files vs the - # installed rocks cache files, we need to perform the following checks: - # - luarocks executable modification date vs modification date of cache file - # holding the default configuration files' locations - # ) if configuration files' locations were possibly changed, we need to: - # * set and cache the *possibly* new locations of the configuration files - # ) else: - # * retrieve from cache the configuration files' locations - # ) end if - # - configuration files' modification date vs modification date of cache file - # holding the values from `luarocks config --lua-ver` and `luarocks config - # --rock-trees` - # ) if the configuration files' locations were changed: - # * set and cache the values from the commands above - # ) else: - # ) if configuration files are newer: - # * set and cache the values from the commands above - # ) else: - # * retrieve from cache the values of the commands above - # ) end if - # ) end if - - # Decide which directory to retrieve cache from, and ensure it exists - local cache_dir - zstyle -s ":completion:${curcontext}:" cache-path cache_dir - : ${cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$cache_dir" ]]; then - [[ -e "$cache_dir" ]] && - _message "cache-dir ($cache_dir) isn't a directory\!" - fi - local where_luarocks="${commands[luarocks]}" - # luarocks_configured_values - local configured_lua_version configured_user_tree configured_system_tree - # luarocks_configs_paths - local user_config_path system_config_path - if [[ -e ${cache_dir}/luarocks_configs_paths ]]; then - if [[ ${where_luarocks} -nt ${cache_dir}/luarocks_configs_paths ]]; then - ___luarocks_manually_store_cache_configs_paths - else - . ${cache_dir}/luarocks_configs_paths - fi - else - ___luarocks_manually_store_cache_configs_paths - fi - if [[ -e ${cache_dir}/luarocks_configured_values ]]; then - if [[ ${user_config_path} -nt ${cache_dir}/luarocks_configured_values ]] || [[ ${system_config_path} -nt ${cache_dir}/luarocks_configured_values ]]; then - ___luarocks_manually_store_cache_configured_values - else - . ${cache_dir}/luarocks_configured_values - fi - else - ___luarocks_manually_store_cache_configured_values - fi - - local user_manifest_file="${configured_user_tree}/lib/luarocks/rocks-${configured_lua_version}/manifest" - local system_manifest_file="${configured_system_tree}/lib/luarocks/rocks-${configured_lua_version}/manifest" - local cache_status=0 - if [[ -f ${cache_file} ]]; then - if [[ -f ${user_manifest_file} ]]; then - if [[ ${cache_file} -nt ${user_manifest_file} ]]; then - cache_status=1 - fi - fi - if [[ -f ${system_manifest_file} ]]; then - if [[ ${cache_file} -nt ${system_manifest_file} ]]; then - cache_status=1 - fi - fi - fi - return cache_status -} -(( $+functions[__luarocks_installed_rocks] )) || -__luarocks_installed_rocks(){ - # This function optionally receives one argument of the tree in which - # installed rocks are searched for. If this argument is used, the installed - # rocks which will be completed by this function will not use the cache which - # is valid only for installed rocks on default trees like /usr/lib/luarocks - # and ~/.luarocks - # - # The second argument (optional as well) is meant for telling the function to - # complete a version of a installed rock and not the rock itself from the list - local tree="$1" - local complete_version_for_rock="$2" - if [[ -z ${tree} ]]; then - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy ___luarocks_installed_rocks_cache_policy - fi - if _cache_invalid luarocks_installed_list; then - rocks_list=($(luarocks list --porcelain)) - _store_cache luarocks_installed_list rocks_list - else - _retrieve_cache luarocks_installed_list - fi - if [[ -z ${rocks_list} ]]; then - _message -r "no installed rocks" - return - fi - if _cache_invalid luarocks_installed_names; then - rocks_names=() - for i in {1.."${#rocks_list[@]}"..4}; do - rocks_names+=("${rocks_list[$i]}") - done - _store_cache luarocks_installed_names rocks_names - else - _retrieve_cache luarocks_installed_names - fi - if _cache_invalid luarocks_installed_versions; then - rocks_versions=() - for i in {2.."${#rocks_list[@]}"..4}; do - rocks_versions+=("${rocks_list[$i]}") - done - _store_cache luarocks_installed_versions rocks_versions - else - _retrieve_cache luarocks_installed_versions - fi - if _cache_invalid luarocks_installed_descriptions; then - rocks_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_version_description="$(luarocks show ${rocks_names[$i]} ${rocks_versions[$i]} 2>/dev/null | head -2 | tail -1)" - total_length=${#name_version_description} - garbage_length="$((${#rocks_names[$i]} + ${#rocks_versions[$i]} + 5))" - description="${name_version_description[${garbage_length},${total_length}]}" - rocks_descriptions+=("${description}") - done - _store_cache luarocks_installed_descriptions rocks_descriptions - else - _retrieve_cache luarocks_installed_descriptions - fi - if _cache_invalid luarocks_installed_names_and_descriptions; then - rocks_names_and_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_and_description=${rocks_names[$i]}:"${rocks_versions[$i]} "${rocks_descriptions[$i]} - rocks_names_and_descriptions+=(${name_and_description}) - done - else - _store_cache luarocks_installed_names_and_descriptions rocks_names_and_descriptions - fi - else - rocks_list=($(luarocks --tree="${tree}" list --porcelain 2> /dev/null)) - if [[ -z ${rocks_list} ]]; then - _message "no installed rocks in the specified tree" - return - fi - rocks_names=() - for i in {1.."${#rocks_list[@]}"..4}; do - rocks_names+=("${rocks_list[$i]}") - done - rocks_versions=() - for i in {2.."${#rocks_list[@]}"..4}; do - rocks_versions+=("${rocks_list[$i]}") - done - rocks_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_version_description="$(luarocks show ${rocks_names[$i]} ${rocks_versions[$i]} 2> /dev/null | head -2 | tail -1)" - total_length=${#name_version_description} - garbage_length="$((${#rocks_names[$i]} + ${#rocks_versions[$i]} + 5))" - description="${name_version_description[${garbage_length},${total_length}]}" - rocks_descriptions+=("${description}") - done - rocks_names_and_descriptions=() - for i in {1.."${#rocks_names[@]}"}; do - name_and_description=${rocks_names[$i]}:"${rocks_versions[$i]} "${rocks_descriptions[$i]} - rocks_names_and_descriptions+=(${name_and_description}) - done - fi - if [[ -z "$complete_version_for_rock" ]]; then - _describe 'installed rock' rocks_names_and_descriptions - else - if [[ ! -z "${rocks_names[(r)${complete_version_for_rock}]}" ]]; then # checks if the requested rock exists in the list of rocks_names - local rock="${complete_version_for_rock}" - local first_match_index=${rocks_names[(i)${rock}]} - local last_match_index=${rocks_names[(I)${rock}]} - local versions=() - for i in {${first_match_index}..${last_match_index}}; do - versions+=("${rocks_versions[$i]}") - done - _values "rock's version" $versions - else - if [[ -z "${tree}" ]]; then - _message -r "no such rock installed" - else - _message -r "no such rock installed in tree ${tree}" - fi - fi - fi -} -# Used to complete one or more of the following: -# - .rockspec file -# - .src.rock file -# - external rock -(( $+functions[__luarocks_rock] )) || -__luarocks_rock(){ - local -a alts=() - while [[ $# -gt 0 ]]; do - arg="$1" - case "$arg" in - (rockspec) - alts+=('files:rock file:_files -g "*.rockspec(-.)"') - shift 1 - continue - ;; - (rockpack) - alts+=( ':rock file:_files -g "*.src.rock(-.)"' ) - shift 1 - continue - ;; - (external) - alts+=(':external rock:') - shift 1 - continue - ;; - (installed) - tree="$2" - alts+=(":local rock: __luarocks_installed_rocks ${tree}") - if [[ -z "${tree}" ]]; then - shift - else - shift 2 - fi - continue - ;; - esac - shift - continue - done - _alternative ${alts[@]} -} -(( $+functions[__luarocks_git_tags] )) || -__luarocks_git_tags(){ - # Copied straight from definition of _git - local expl - declare -a tags - tags=(${${(f)"$(_call_program tagrefs git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) - __git_command_successful $pipestatus || return 1 - _wanted tags expl tag compadd -M 'r:|/=**' "$@" -a - tags -} - -# End of options' arguments' helpers & Start of sub commands helpers - -# arguments: -# - must: .rockspec file / external rock -# - optional: version (only when chossing external rock) -local make_command_options=( - '--pack-binary-rock[produce a .rock file with the contents of compilation inside the current directory instead of installing it]' - '--keep[do not remove previously installed versions of the rock after building a new one]' - '--branch=[override the `source.branch` field in the loaded rockspec]:branch name' -) -local build_command_options=( - "${make_command_options[@]}" - '--only-deps[installs only the dependencies of the rock]' - $option_deps_modes -) -(( $+functions[_luarocks_build] )) || -_luarocks_build(){ - _arguments -A "-*" \ - "${build_command_options[@]}" \ - '1: : __luarocks_rock "rockspec" "external"' \ - '2:: : __luarocks_rock_version "external_or_local"' -} -# arguments: -# - must: option -local config_command_options=( - '--lua-incdir[path to Lua header files]' - '--lua-libdir[path to Lua library files]' - '--lua-ver[lua version (in major.minor format)]' - '--system-config[location of the system config file]' - '--user-config[location of the user config file]' - '--rock-trees[rocks trees in useFirst the user tree, then the system tree]' -) -(( $+functions[_luarocks_config] )) || -_luarocks_config(){ - _arguments "${config_command_options[@]}" -} -# arguments: -# - must: installed rock -local doc_command_options=( - '--home[open the home page of project]' - '--list[list documentation files only]' -) -(( $+functions[_luarocks_doc] )) || -_luarocks_doc(){ - _arguments \ - "${doc_command_options[@]}" \ - "1: : __luarocks_rock installed ${opt_args[--tree]}" -} -# arguments: -# - must: external only rockspec -local download_command_options=( - '--all[download all files if there are multiple matches]' - '--source[download .src.rock if available]' - '--rockspec[download .rockspec if available]' - '--arch=[download rock for a specific architecture]:ARCH:' -) -(( $+functions[_luarocks_download] )) || -_luarocks_download(){ - _arguments -A "-*" \ - "${download_command_options[@]}" \ - '1: : __luarocks_rock "external"' \ - '2:: : __luarocks_rock_version "external_or_local"' -} -# arguments: -# must: luarocks sub command -(( $+functions[_luarocks_help] )) || -_luarocks_help(){ - _arguments '1: : __luarocks_command' -} - -(( $+functions[_luarocks_init] )) || -_luarocks_init(){ - _arguments $rockspec_options \ - '--reset[regenerate files if they already exist]' \ - '1: :_guard "^-*" "name"'\ - '2: :_guard "^-*" "version"' -} - -# arguments: -# - must: .rockspec file / external rock -# - optional: version -# NOTE: it receives the same argument as the build command and it accepts the same options as well -(( $+functions[_luarocks_install] )) || -_luarocks_install(){ - _luarocks_build -} -# arguments: -# - must: rockspec file (first and last) -(( $+functions[_luarocks_lint] )) || -_luarocks_lint(){ - _arguments '1:: : __luarocks_rock "rockspec"' -} -# arguments: -# NOTE: receives only options -local list_command_options=( - '--outdated[list only rocks for which there is a higher version available in the rocks server]' - '--porcelain[produce machine-friendly output]' -) -(( $+functions[_luarocks_list] )) || -_luarocks_list(){ - _arguments "${list_command_options[@]}" -} -# arguments: -# - optional: rockspec file -# NOTE: it's options were already described above. -(( $+functions[_luarocks_make] )) || -_luarocks_make(){ - _arguments '1:: : __luarocks_rock "rockspec"' -} -# arguments: -# - optional: .rockspec file / external rock -# - optional: version (unless a --tag was given) -# - optional: URL -local new_version_command_options=( - '--tag=[if no version is specified, this option'"'"'s argument is used instead]:tag:__luarocks_git_tags' -) -(( $+functions[_luarocks_new_version] )) || -_luarocks_new_version(){ - _arguments -A "-*" \ - "${new_version_command_options[@]}" \ - '1:: : __luarocks_rock "external" "rockspec"' \ - '2:: : __luarocks_rock_version "external_or_local"' \ - '3:: :_urls' -} -# arguments: -# - must: .rockspec file / external rock -# - optional: version -(( $+functions[_luarocks_pack] )) || -_luarocks_pack(){ - _luarocks_build -} -# arguments: -# NOTE: receives only options -local path_command_options=( - "--no-bin[don't export the PATH variable]" - '--append[append the paths to the existing paths]' - '--lr-path[export the Lua path (not formatted as shell command)]' - '--lr-cpath[export the Lua cpath (not formatted as shell command)]' - '--lr-bin[export the system path (not formatted as shell command)]' -) -(( $+functions[_luarocks_path] )) || -_luarocks_path(){ - _arguments "${path_command_options[@]}" -} -# NOTE: receives only options yet --tree is mandatory -# NOTE: --force can be used only in conjunction with --old-versions -local option_force='--force[force removing old versions when]' -local purge_command_options=( - '--old-versions[keep the highest-numbered version of each rock and remove the other ones]' - $option_force -) -(( $+functions[_luarocks_purge] )) || -_luarocks_purge(){ - _arguments "${purge_command_options[@]}" -} -# arguments: -# - must: locally installed rock -# - optional: version -local option_force_fast='--force-fast[works like --force but doesn'"'"'t reports forced removals]' -local remove_command_options=( - $option_deps_modes - $option_force - $option_force_fast -) -(( $+functions[_luarocks_remove] )) || -_luarocks_remove(){ - _arguments -A "-*" \ - "${remove_command_options[@]}" \ - "1: : __luarocks_rock installed ${opt_args[--tree]}" \ - "2:: : __luarocks_rock_version installed ${opt_args[--tree]}" -} -# arguments: -# - must: string as a search query -local search_command_options=( - '--source[return only rockspecs and source rocks]' - '--binary[return only pure Lua and binary rocks (rocks that can be used with the "install" command without requiring a C toolchain)]' - "--all[list all contents of the server that are suitable for this platform, don't filter by name]" - '--porcelain[produce machine readable output]' -) -(( $+functions[_luarocks_search] )) || -_luarocks_search(){ - _arguments \ - "${search_command_options[@]}" \ - '*: :_guard "^--*" "search query"' -} -# arguments: -# - must: installed rock -local show_command_options=( - '--home[home page of project]' - '--modules[all modules provided by this package as used by require()]' - '--deps[packages this package depends on]' - '--build-deps[show build-only dependencies for package]' - '--test-deps[show dependencies for testing package]' - '--rockspec[the full path of the rockspec file]' - '--mversion[the package version]' - '--rock-tree[local tree where rock is installed]' - '--rock-dir[data directory of the installed rock]' -) -(( $+functions[_luarocks_show] )) || -_luarocks_show(){ - _arguments \ - "${show_command_options[@]}" \ - "1: : __luarocks_rock installed "${opt_args[--tree]}"" \ - "2:: : __luarocks_rock_version installed ${opt_args[--tree]}" -} - -(( $+functions[_luarocks_test] )) || -_luarocks_test(){ - _arguments $option_deps_modes \ - '--test-type=[specify the test suite type manually]:test suite type' \ - '--reset[regenerate files if they already exist]' \ - '1: : __luarocks_rock' \ - '*:arg' -} - -# arguments: -# - must: rockpack file / external rock -# - optional: version (only when chossing external rock) -local unpack_command_options=( - '--force[unpack files even if the output directory already exists]' -) -(( $+functions[_luarocks_unpack] )) || -_luarocks_unpack(){ - _arguments \ - "${unpack_command_options[@]}" \ - '1: : __luarocks_rock "rockpack" "external"' -} -# arguments: -# - must: rockspec file -local upload_command_options=( - "--skip-pack[don't pack and send source rock]" - '(--temp-key)--api-key=[use and save specified API key]:api key' - '(--api-key)--temp-key=[use specified temporary API key in this invocation only]:api key' - '--force[replace existing rockspec if the same revision of a module already exists]' -) -(( $+functions[_luarocks_upload] )) || -_luarocks_upload(){ - _arguments \ - "${upload_command_options[@]}" \ - '1: : __luarocks_rock "rockspec"' -} - -(( $+functions[_luarocks_which] )) || -_luarocks_which(){ - _message -e modules 'module name' -} - -(( $+functions[_luarocks_write_rockspec] )) || -_luarocks_write_rockspec(){ - _arguments -A "-*" \ - "${rockspec_options[@]}" \ - '--output=[write the rockspec with the given file]:file:_files' \ - '--tag=[specify tag to use. Will attempt to extract version number from it]:tag:__git_tag' \ - '1::new rock name' \ - '2:: : __luarocks_rock_version "new_rock"' \ - '3:: :_urls' -} - -# The real thing -_arguments -C \ - '--dev[enable the sub-repositories in rocks servers]' \ - '(--server --only-server)--server=[fetch rocks/rockspecs from specified server]:host:_hosts' \ - '(--server --only-server)--only-server=[fetch rocks/rockspecs from specified server only]:host:_hosts' \ - '--only-sources=[restrict downloads to paths matching the given URL]:URL:_urls' \ - '--lua-dir=[specify location of lua installation]:path:_directories' \ - '--tree=[specify which tree to operate on]:tree:_directories' \ - '--local[use the tree in the user'"'"'s home directory]' \ - '--verbose[display verbose output of commands executed]' \ - '--timeout=[specify timeout for network operations]:timeout (seconds)' \ - '1: :__luarocks_command' \ - '*::arg:->args' - -case "$state" in - (args) - curcontext="${curcontext%:*:*}:luarocks-${words[1]}:" - if [[ $? != 1 ]]; then - _call_function ret _luarocks_${words[1]} - fi -esac diff --git a/result/sw/share/zsh/5.9/functions/_lynx b/result/sw/share/zsh/5.9/functions/_lynx deleted file mode 100644 index d25b0397..00000000 --- a/result/sw/share/zsh/5.9/functions/_lynx +++ /dev/null @@ -1,172 +0,0 @@ -#compdef lynx - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '-accept_all_cookies[accept cookies without prompting if Set-Cookie handling is on (off)]' \ - '-anonymous[apply restrictions for anonymous account, see also -restrictions]' \ - "-assume_charset=[charset for documents that don't specify it]:character set:" \ - '-assume_local_charset=[charset assumed for local files]:character set:' \ - '-assume_unrec_charset=[use this instead of unrecognized charsets]:character set:' \ - '-auth=[authentication information for protected documents]:username\:password:' \ - '-base[prepend a request URL comment and BASE tag to text/html outputs for -source dumps]' \ - '-bibp=[specify a local bibp server (default http://bibhost/)]:bibp server:_urls' \ - '-blink[forces high intensity background colors for color mode, if available and supported by the terminal]' \ - '-book[use the bookmark page as the startfile (off)]' \ - '-buried_news[toggles scanning of news articles for buried references (on)]' \ - '-cache=[specify number of documents cached in memory]:number of documents:' \ - '-case[enable case sensitive user searching (off)]' \ - '-center[toggle center alignment in HTML TABLE (off)]' \ - '-cfg=[specifies a lynx.cfg file other than the default]:configuration file:_files' \ - '-child[exit on left-arrow in startfile, and disable save to disk]' \ - '-child_relaxed[exit on left-arrow in startfile (allows save to disk)]' \ - '-cmd_log=[log keystroke commands to the given file]:keystroke log:_files' \ - '-cmd_script=[read keystroke commands from the given file (see -cmd_log)]:keystroke log:_files' \ - '-color[forces color mode on, if available]' \ - '-collapse_br_tags[toggle collapsing of BR tags (on)]' \ - '-connect_timeout=[set the N-second connection timeout]:connection timeout (seconds) [18000]' \ - '-convert_to=[convert input]:format:_mime_types' \ - '-cookie_file=[specifies a file to use to read cookies]:cookie file:_files' \ - '-cookie_save_file=[specifies a file to use to store cookies]:cookie file:_files' \ - '-cookies[toggles handling of Set-Cookie headers (on)]' \ - '-core[toggles forced core dumps on fatal errors (off)]' \ - '-crawl[with -traversal, output each page to a file with -dump, format output as with -traversal, but to stdout]' \ - '-curses_pads[uses curses pad feature to support left/right shifting (on)]' \ - '-debug_partial[incremental display stages with MessageSecs delay (off)]' \ - '-default_colors[use terminal default foreground/background colors (on)]' \ - '-delay=[set NNN-second delay at statusline message]:delay (seconds) [0.000]' \ - "-display=[set the display variable for X exec'ed programs]:display:_x_display" \ - '-display_charset=[charset for the terminal output]:character set:' \ - "-dont_wrap_pre[inhibit wrapping of text in <pre> when -dump'ing and -crawl'ing, mark wrapped lines in interactive session (off)]" \ - '-dump[dump the first file to stdout and exit]' \ - '-editor=[enable edit mode with specified editor]:editor:_command_names -e' \ - '-emacskeys[enable emacs-like key movement (off)]' \ - "-enable_scrollback[toggles compatibility with comm programs' scrollback keys (may be incompatible with some curses packages) (off)]" \ - '-error_file=[write the HTTP status code here]:error file:_files' \ - '-exec[enable local program execution (normally not configured)]' \ - '-fileversions[include all versions of files in local VMS directory listings]' \ - '-force_empty_hrefless_a[force HREF-less 'A' elements to be empty (close them as soon as they are seen) (off)]' \ - '-force_html[forces the first document to be interpreted as HTML (off)]' \ - '-force_secure[toggle forcing of the secure flag for SSL cookies (off)]' \ - '-forms_options[toggles forms-based vs old-style options menu (on)]' \ - '-from[toggle transmission of From headers (on)]' \ - '-ftp[disable ftp access (off)]' \ - '-get_data[user data for get forms, read from stdin, terminated by '---' on a line]' \ - '-head[send a HEAD request (off)]' \ - '(- *)-help[print this usage message]' \ - '-hiddenlinks=[hidden links: options are merge, listonly, or ignore]:option:(merge listonly ignore)' \ - "-historical[toggles use of '>' or '-->' as terminator for comments (off)]" \ - '-homepage=[set homepage separate from start page]:URL:->html' \ - '-html5_charsets[toggle use of HTML5 charset replacements]' \ - '-image_links[toggles inclusion of links for all images (off)]' \ - '-index=[set the default index file to URL]:URL:->html' \ - '-ismap[toggles inclusion of ISMAP links when client-side MAPs are present (off)]' \ - '-justify[do justification of text (off)]' \ - '-link=[starting count for lnk#.dat files produced by -crawl (0)]:starting count:' \ - '-list_inline[with -dump, show links inline with text]' \ - '-listonly[with -dump, forces it to show only the list of links (off)]' \ - '-localhost[disable URLs that point to remote hosts (off)]' \ - '-locexec[enable local program execution from local files only (if lynx was compiled with local execution enabled)]' \ - '-lss=[specifies a lynx.lss file other than the default]:color-style file:_files' \ - '-mime_header[include mime headers and force source dump]' \ - '-minimal[toggles minimal versus valid comment parsing (on)]' \ - '-newschunksize=[number of articles in chunked news listings]:number of news articles:' \ - '-newsmaxchunk=[maximum news articles in listings before chunking]:maximum number of news articles:' \ - '-nobold[disable bold video-attribute]' \ - '-nobrowse[disable directory browsing]' \ - '-nocc[disable Cc: prompts for self copies of mailings (off)]' \ - '-nocolor[turn off color support]' \ - '-noexec[disable local program execution]' \ - '-nofilereferer[disable transmission of Referer headers for file URLs (on)]' \ - '-nolist[disable the link list feature in dumps (off)]' \ - '-nolog[disable mailing of error messages to document owners (on)]' \ - '-nomargins[disable the right/left margins in the default style-sheet (off)]' \ - '-nomore[disable -more- string in statusline messages]' \ - '-nonrestarting_sigwinch[make window size change handler non-restarting (off)]' \ - '-nonumbers[disable the link/form numbering feature in dumps (off)]' \ - '-nopause[disable forced pauses for statusline messages]' \ - '-noprint[disable some print functions, like -restrictions=print (off)]' \ - "-noredir[don't follow Location: redirection (off)]" \ - '-noreferer[disable transmission of Referer headers (off)]' \ - '-noreverse[disable reverse video-attribute]' \ - '-nosocks[disable SOCKS proxy usage by a SOCKSified Lynx]' \ - '-nostatus[disable the miscellaneous information messages (off)]' \ - '-notitle[disable the title at the top of each page (off)]' \ - '-nounderline[disable underline video-attribute]' \ - "-nozap=[disable checks for the 'z' key]:duration:(all initially full)" \ - '-number_fields[force numbering of links as well as form input fields (off)]' \ - '-number_links[force numbering of links (off)]' \ - '-partial[toggles display partial pages while downloading (on)]' \ - '-partial_thres=[number of lines to render before repainting display with partial-display logic (-1)]:number of lines:' \ - '-passive-ftp[toggles passive ftp connection (on)]' \ - '-pauth=[authentication information for protected proxy server]:username\:password:' \ - '-popup[toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons (off)]' \ - '-post_data[user data for post forms, read from stdin, terminated by '---' on a line]' \ - '-preparsed[show parsed text/html with -source and in source view to visualize how lynx behaves with invalid HTML (off)]' \ - '-prettysrc[do syntax highlighting and hyperlink handling in source view (off)]' \ - '-print[enable print functions (DEFAULT), opposite of -noprint (on)]' \ - '-pseudo_inlines[toggles pseudo-ALTs for inlines with no ALT string (on)]' \ - '-raw[toggles default setting of 8-bit character translations or CJK mode for the startup character set (off)]' \ - '-realm[restricts access to URLs in the starting realm (off)]' \ - '-read_timeout=[set the N-second read-timeout]:timeout (seconds) [18000]' \ - '-reload[flushes the cache on a proxy server (only the first document affected) (off)]' \ - '-restrictions=[use -restrictions to see list]:options:->restrictions' \ - '-resubmit_posts[toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List (off)]' \ - '-rlogin[disable rlogins (off)]' \ - '-scrollbar[toggles showing scrollbar (off)]' \ - '-scrollbar_arrow[toggles showing arrows at ends of the scrollbar (on)]' \ - '-selective[require .www_browsable files to browse directories]' \ - '-session=[resume from specified file on startup and save session to it on exit]:session file:_files' \ - '-sessionin=[resume session from specified file on startup]:session file:_files' \ - '-sessionout=[save session to specified file on exit]:session file:_files' \ - '-short_url[enables examination of beginning and end of long URL in status line (off)]' \ - "-show_cfg[show 'LYNX.CFG' setting (off)]" \ - '-show_cursor[toggles hiding of the cursor in the lower right corner (on)]' \ - '-show_rate[toggles display of transfer rate (on)]' \ - "-soft_dquotes[toggles emulation of the old Netscape and Mosaic bug which treated '>' as a co-terminator for double-quotes and tags (off)]" \ - '-source[dump the source of the first file to stdout and exit]' \ - '-stack_dump[disable SIGINT cleanup handler (off)]' \ - '-startfile_ok[allow non-http startfile and homepage with -validate (off)]' \ - '-stderr[write warning messages to standard error when -dump or -source is used (off)]' \ - '-stdin[read startfile from standard input (off)]' \ - '-tagsoup[use TagSoup rather than SortaSGML parser (off)]' \ - '-telnet[disable telnets (off)]' \ - '-term=[set terminal type]:terminal name:_terminals' \ - '-tlog[toggles use of a Lynx Trace Log for the current session (on)]' \ - '-tna[turn on "Textfields Need Activation" mode (off)]' \ - '-trace[turns on Lynx trace mode (off)]' \ - '-trace_mask=[customize Lynx trace mode]:trace mask:(0 1 2 3 4 5 6 7)' \ - '-traversal[traverse all http links derived from startfile]' \ - '-trim_blank_lines[toggle trimming of leading/trailing/collapsed-br blank lines (on)]' \ - '-trim_input_fields[trim input text/textarea fields in forms (off)]' \ - '-underline_links[toggles use of underline/bold attribute for links (off)]' \ - '-underscore[toggles use of _underline_ format in dumps (off)]' \ - '-unique_urls[toggle use of unique-urls setting for -dump and -listonly options (off)]' \ - '-use_mouse[turn on mouse support (off)]' \ - '-useragent=[set alternate Lynx User-Agent header]:user-agent header:' \ - '-validate[accept only http URLs (meant for validation) implies more restrictions than -anonymous, but goto is allowed for http and https (off)]' \ - '-verbose[toggles [LINK\], [IMAGE\] and [INLINE\] comments with filenames of these images (on)]' \ - '(- *)-version[print Lynx version information]' \ - '-vikeys[enable vi-like key movement (off)]' \ - '-width=[specify screen width for formatting of dumps]:number of columns [80]' \ - '-with_backspaces[emit backspaces in output if -dumping or -crawling]' \ - '-xhtml-parsing[enable XHTML 1.0 parsing (off)]' \ - ':URL:->html' && ret=0 - -case "$state" in -restrictions) - _values -s ',' 'restriction' \ - \? all bookmark bookmark_exec change_exec_perms chdir compileopts_info \ - default dired_support disk_save dotfiles download editor exec exec_frozen \ - externals file_url goto inside_ftp inside_news inside_rlogin \ - inside_telnet jump lynxcfg_info lynxcfg_xinfo lynxcgi mail multibook \ - news_post options_save outside_ftp outside_news outside_rlogin \ - outside_telnet print shell suspend telnet_port useragent && return - ;; -html) - _alternative 'files:file:_files -g "*.x#html#(-.)"' 'urls:URL:_urls' && return - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lz4 b/result/sw/share/zsh/5.9/functions/_lz4 deleted file mode 100644 index 6676943c..00000000 --- a/result/sw/share/zsh/5.9/functions/_lz4 +++ /dev/null @@ -1,108 +0,0 @@ -#compdef lz4 lz4c lz4c32 lz4cat unlz4 - -# Notes: -# - All lz4 CLI tools take the same options — you can do `unlz4 --compress` if -# you want — and we complete accordingly. One can make a reasonable argument -# that we shouldn't, but...? -# - The only exceptions to the above are the legacy compression options (-c0, -# -hc, and so on) — only lz4c accepts these. Each of these options is -# interpreted separately otherwise (e.g., -c0 becomes equivalent to -c -0) -# - All these tools use a non-standard option-handling method that we don't -# fully support. For example, the tool will let you do things like `-b1e3i3` -# instead of `-b1 -e3 -i3` — we won't - -local ret=1 -local -a context line state state_descr expl args levels=( -{1..16} ) -local -A opt_args val_args - -args=( - + excl # Fully exclusive options - '(: -)'{-h,--help}'[display help information]' - '(: -)-H[display long help information]' - '(: -)'{-V,--version}'[display version information]' - + misc # Misc. arguments - '(-q -v --quiet --verbose)*'{-q,--quiet}'[reduce output verbosity]' - '(-q -v --quiet --verbose)*'{-v,--verbose}'[increase output verbosity]' - '*::: :->files' - + B # Benchmark/compress-mode options (not allowed with legacy format) - '(d t -l)*-B-[specify block property]: :->block-props' - '(d t -l --no-content-size)--content-size[record original uncompressed size]' - '(d t -l --no-frame-crc)--frame-crc[enable content checksum]' - '(d t -l --content-size)--no-content-size[do not record original uncompressed size]' - '(d t -l --frame-crc)--no-frame-crc[disable content checksum]' - '(d t -l --sparse)--no-sparse[disable sparse-file support]' - '(d t -l --no-sparse)--sparse[enable sparse-file support]' - + C # Compress/decompress-mode options - '(b t -c --stdout --to-stdout)'{-c,--stdout}'[write on standard output]' - '(b t -y)'{-f,--force}'[overwrite target without prompting, or cat on standard output]' - '(b t -k --keep --rm)'{-k,--keep}'[keep source file]' - '(b t -m -r --multiple)'{-m,--multiple}'[take multiple input files]' - '!(b -t -f -y --force)--no-force' - '(b t -m --multiple)-r[operate recursively on directories]' - '(b t -k --keep)--rm[remove source file]' - '!(b t -c --stdout)--to-stdout' - + b # Benchmark-mode options - "(C c d t)-b-[benchmark file using specified compression level]:: :->levels" - "(C c d t)-e-[specify upper compression level limit (with -b)]: :->levels" - '(C c d t)-i-[specify minimum evaluation time (with -b)]:evaluation time (seconds)' - + c # Compress-mode options - "(b d t ${(j< >)levels} -c0 -c1 -c2 -hc)"${^levels} - '(B b d t -m -r --multiple)-l[compress using legacy (Linux kernel) format]' - '(b d t -z --compress)'{-z,--compress}'[compress file]' - + d # Decompress-mode options - '(B b c d t)'{-d,--decompress}'[decompress file]' - '!(B b c d t)--uncompress' - + t # Test-mode options - '(B C b c d t)'{-t,--test}'[test integrity of compressed file]' -) -[[ $service == lz4c ]] && args+=( - + l # Legacy compress-mode options (not to be confused with the legacy format) - "(b d t ${(j< >)levels} -c1 -c2 -hc)-c0[use fast compression (like -0)]" - "(b d t ${(j< >)levels} -c0 -c2 -hc)-c1[use high compression (like -9)]" - "(b d t ${(j< >)levels} -c0 -c1 -c2 -hc)"{-c2,-hc}'[use very high compression (like -12)]' - '(b t -f --force)-y[overwrite target without prompting]' -) - -_arguments -s -S : $args && ret=0 - -case $state in - block-props) - # The usage help indicates that the use of an explicit byte value (-B32 or - # greater) is only for benchmarking, and indeed when such a value is given - # the tool prints a message prefixed with 'bench:'... but there is nothing - # that actually restricts this to the benchmark mode, so...? - _values 'predefined block property or block size in bytes (32+)' \ - '4[set block size to 64 KiB]' \ - '5[set block size to 256 KiB]' \ - '6[set block size to 1 MiB]' \ - '7[set block size to 4 MiB]' \ - 'D[enable block dependency]' \ - 'X[enable block checksum]' \ - && ret=0 - ;; - files) - if - (( CURRENT == 1 )) || - [[ -n ${opt_args[(i)*-(-b|-m|-r|--multiple)]} ]] - then - if [[ -n ${opt_args[(i)*--r]} ]]; then - _description files expl 'input file or directory' - else - _description files expl 'input file' - fi - _files "${(@)expl}" && ret=0 - elif (( CURRENT == 2 )); then - _description files expl 'output file' - _files "${(@)expl}" && ret=0 - else - _message 'no more arguments' && ret=0 - fi - ;; - levels) - _wanted levels expl 'compression level' \ - compadd -o numeric - ${levels/#-/} \ - && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_lzop b/result/sw/share/zsh/5.9/functions/_lzop deleted file mode 100644 index 7661d117..00000000 --- a/result/sw/share/zsh/5.9/functions/_lzop +++ /dev/null @@ -1,79 +0,0 @@ -#compdef lzop - -local expl state line decompress disp curcontext="$curcontext" sep ret=1 -typeset -A opt_args - -_arguments -C -s \ - '(-c --stdout --to-stdout)'{-c,--stdout,--to-stdout}'[write on standard output]' \ - '(-d --decompress --uncompress -x -extract)'{-d,--decompress,--uncompress}'[decompress]' \ - '(-x --extract -d --decompress --uncompress -n --name -p --path)'{-x,--extract}'[extract]' \ - '(-f --force)'{-f,--force}'[force overwrite]' \ - '(- *)'{-h,-H,--help}'[display help information]' \ - '(-l --list)'{-l,--list}'[list compressed file contents]' \ - '(-L --license)'{-L,--license}'[display software license]' \ - '(-n --no-name -N --name)'{-n,--no-name}'[do not save or restore the original name and time stamp]' \ - '(-N --name -n --no-name)'{-N,--name}'[save or restore the original name and time stamp]' \ - '--no-mode[do not restore original mode]' \ - '--no-time[do not restore original time stamp]' \ - '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress all warnings]' \ - '(-r --recursive)'{-r,--recursive}'[operate recursively on directories]' \ - '(-S --suffix)'{-S+,--suffix=}'[specify suffix for compressed files]:suffix' \ - '(-t --test)'{-t,--test}'[test compressed file integrity]' \ - \*{-v,--verbose}'[verbose mode]' \ - '(- *)'{-V,--version}'[display version number]' \ - '( -1 -2 -3 -4 -5 -6 -7 -8 -9 --best)--fast' \ - '(--fast -2 -3 -4 -5 -6 -7 -8 -9 --best)-1' \ - '(--fast -1 -3 -4 -5 -6 -7 -8 -9 --best)-2' \ - '(--fast -1 -2 -4 -5 -6 -7 -8 -9 --best)-3' \ - '(--fast -1 -2 -3 -5 -6 -7 -8 -9 --best)-4' \ - '(--fast -1 -2 -3 -4 -6 -7 -8 -9 --best)-5' \ - '(--fast -1 -2 -3 -4 -5 -7 -8 -9 --best)-6' \ - '(--fast -1 -2 -3 -4 -5 -6 -8 -9 --best)-7' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -9 --best)-8' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -8 --best)-9' \ - '(--fast -1 -2 -3 -4 -5 -6 -7 -8 -9 )--best' \ - '--ls=[list each compressed file in a format similar to ls -ln]:ls flag:->flags' \ - '--info[list internal header fields for each compressed file]' \ - '(-I --sysinfo)'{-I,--sysinfo}'[display information about the system]' \ - '(-o --outfile)'{-o,--outfile=}'[specify output file]:output file:_files' \ - '(-p --path)'{-p,--path=}'[write output files to specified directory]:directory:_files -/' \ - '(-F --no-checksum)'{-F,--no-checksum}'[do not store or verify a checksum]' \ - '(-k --keep -U --unlink --delete)'{-k,--keep}"[keep (don't delete) input files]" \ - '(-U --unlink --delete)'{-U,--unlink,--delete}'[delete input files]' \ - '--no-stdin[do not try to read stdin]' \ - '--no-warn[suppress all warnings]' \ - '--ignore-warn[suppress all warnings and never exit with status 2]' \ - '--no-color[do not use an color escape sequences]' \ - '--mono[assume a mono ANSI terminal]' \ - '--color[assume a color ANSI terminal]' \ - '--intro[display intro sequence]' \ - '--filter=[preprocess data with a special multimedia filter]:number' \ - '*:files:->files' && ret=0 - -case "$state" in - files) - if (( $+opt_args[-d] || $+opt_args[--decompress] || - $+opt_args[--uncompress] || $+opt_args[-x] || $+opt_args[--extract] || - $+opt_args[--test] || $+opt_args[-t] || $+opt_args[--list] || - $+opt_args[-l] || $+opt_args[--ls] || $+opt_args[--info] )); then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.[tl]zo(-.)' && ret=0 - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.[tl]zo(-.)' && ret=0 - fi - ;; - flags) - zstyle -s ":completion:${curcontext}:flags" list-separator sep || sep=-- - disp=( - "F $sep Append a \`*' for executable files" - "G $sep Inhibit display of group information" - "Q $sep Enclose file names in double quotes" ) - # The "Z" on the next line is sentinel to prevent the character class from being empty. - disp=( ${disp[@]:#[Z$PREFIX]*} ) - compset -P '[FGQ]#' - compadd -d disp - ${disp[@]%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mac_applications b/result/sw/share/zsh/5.9/functions/_mac_applications deleted file mode 100644 index 7b633579..00000000 --- a/result/sw/share/zsh/5.9/functions/_mac_applications +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -_retrieve_mac_apps - -local expl -_wanted commands expl 'macOS application' \ - compadd "$@" - "${(@)${_mac_apps[@]:t}%.app}" diff --git a/result/sw/share/zsh/5.9/functions/_mac_files_for_application b/result/sw/share/zsh/5.9/functions/_mac_files_for_application deleted file mode 100644 index 885b064f..00000000 --- a/result/sw/share/zsh/5.9/functions/_mac_files_for_application +++ /dev/null @@ -1,74 +0,0 @@ -#autoload - -_mac_rsrc_check() { - [[ ! -s "$REPLY/..namedfork/rsrc" ]] && return 1 - if [[ -x /Developer/Tools/GetFileInfo ]]; then - local ftype="$(command /Developer/Tools/GetFileInfo -t $REPLY)" - ftype="${ftype//\"/}" - [[ -n "$types[(r)$ftype]" ]] - else - grep --quiet "\(${(j/\|/)types}\)" "$REPLY/..namedfork/rsrc" - fi -} - -_mac_parse_info_plist() { - # For now, awk is used because builtin function "read" was too slow. - # '<' is used for the delimiter because some Info.plist files use CR as - # newline but read doesn't treat them as so - local s=' - BEGIN { RS="<" } - /^key>/ { sub(/key>/, ""); reading_key=$0 } - /^string>/ { - sub(/string>/, "") - if (reading_key == "CFBundleTypeExtensions") exts=exts " \"" $0 "\"" - if (reading_key == "CFBundleTypeOSTypes") types=types " \"" $0 "\"" - } - END { - print "exts=(" exts ")\ntypes=(" types ")" - } - ' - command awk $s "$app_path/Contents/Info.plist" | while read; do - eval "$REPLY" - done -} - -# Try to complete files for the specified application. -_mac_files_for_application() { - local -a opts - zparseopts -D -a opts q n 1 2 o+: P: S: r: R: W: x+: X+: M+: F: J+: V+: - - local app_path - _retrieve_mac_apps - app_path="${_mac_apps[(r)*/$1(|.app)]:-$1}" - - local -a glob_patterns - glob_patterns=() - - # Try to get extensions from "Info.plist" XML file. - if [[ -f "$app_path/Contents/Info.plist" ]]; then - local -a exts types - _mac_parse_info_plist - - if [[ -n "$exts[(r)\*]" ]]; then - glob_patterns=( "*" ) - else - if (( #exts != 0 )); then - glob_patterns+=( "*.(${(j/|/)exts})(N)" ) - fi - - if (( #types != 0 )); then - glob_patterns+=( "^*.[[:alnum:]]##(.Ne:_mac_rsrc_check:)" ) - fi - fi - else - glob_patterns=( "*" ) - fi - - case ${#glob_patterns} in - 0) return 1 ;; - 1) _files "$opts[@]" -g "$glob_patterns[1]" ;; - *) _files "$opts[@]" -g "{${(j/,/)glob_patterns}}" ;; - esac -} - -_mac_files_for_application "$@" diff --git a/result/sw/share/zsh/5.9/functions/_madison b/result/sw/share/zsh/5.9/functions/_madison deleted file mode 100644 index dfdf1b43..00000000 --- a/result/sw/share/zsh/5.9/functions/_madison +++ /dev/null @@ -1,14 +0,0 @@ -#compdef madison rmadison - -_arguments \ - '(-a --architecture)'{-a,--architecture=}':arch:_sequence _deb_architectures -a "all source" -' \ - '(-b --binary)'{-b,--binary-type=}':type:(deb udeb)' \ - '(-c --component)'{-c,--component=}':component:_values -s , "component list" main contrib non-free' \ - '(-g --greaterorequal)'{-g,--greaterorequal} \ - '(-G --greaterthan)'{-G,--greaterthan} \ - '(-h --help)'{-h,--help} \ - '(-r --regex)'{-r,--regex} \ - '(-s --suite)'{-s,--suite=}':suite:_values -s , "suite list" oldstable stable testing unstable' \ - '(-S --source-and-binary)'{-S,--source-and-binary} \ - '*:package:_deb_packages avail' - diff --git a/result/sw/share/zsh/5.9/functions/_mail b/result/sw/share/zsh/5.9/functions/_mail deleted file mode 100644 index d618cf36..00000000 --- a/result/sw/share/zsh/5.9/functions/_mail +++ /dev/null @@ -1,9 +0,0 @@ -#compdef mail mailx=mail Mail=mail mush zmail nail=mail - -_arguments -s \ - '(-f -u)*-b[specify a BCC recipient]:BCC recipient:_email_addresses -n $service' \ - '(-f -u)*-c[specify a CC recipient]:CC recipient:_email_addresses -n $service' \ - '(-b -c -u -s *)-f+[specify mail folder]:mailbox:_mailboxes' \ - '(-f -u)-s+[specify a subject]:subject' \ - "(-b -c -f -s *)-u+[read specified user's mail]:user:_users" \ - "(-f -u)*:recipient:_email_addresses -n $service" diff --git a/result/sw/share/zsh/5.9/functions/_mailboxes b/result/sw/share/zsh/5.9/functions/_mailboxes deleted file mode 100644 index 188e1a29..00000000 --- a/result/sw/share/zsh/5.9/functions/_mailboxes +++ /dev/null @@ -1,198 +0,0 @@ -#autoload - -_mailboxes() { - #emulate -L zsh - local expl ret=1 - local maildirectory pinedirectory - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - - if (( ! $+_mailbox_cache )) then - _mailbox_cache "$@" - fi - - case "${curcontext}:" in - (*:mail:*) - if [[ "$PREFIX" == +* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:(mush|zmail|zmlite):*) - if [[ "$PREFIX" == [%+]* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:mutt:*) - if [[ "$PREFIX" == (|-f)[+=]* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - (*:pine:*) - # Files for pine must be absolute paths. - if [[ "$PREFIX" == (|-f)[/\~]* ]]; then - pinedirectory='' - _tags mailboxes files - else - _tags mailboxes - fi;; - (*) - if [[ "$PREFIX" == (|-f)+* ]]; then - _tags mailboxes - else - _tags mailboxes files - fi;; - esac - - while _tags; do - _requested mailboxes expl 'mailbox specification' _mua_mailboxes && ret=0 - - if _requested files expl 'mailbox file'; then - [[ "${curcontext}:" != *:(mail|mush|mutt|zmail|zmlite):* ]] && - compset -P -f - _files "$expl[@]" && ret=0 - fi - (( ret )) || return 0 - done - - return 1 -} - -_mailbox_cache () { - local i j _mc_tmp - local -aU dirboxes - local maildirectory pinedirectory muttrc - typeset -aU -g _mailbox_cache - typeset -aU -g _maildir_cache _mbox_cache _mh_cache _mutt_cache _pine_cache - - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - zstyle -s ":completion:${curcontext}:" muttrc muttrc || muttrc="~/.muttrc" - - [[ -f ${~muttrc:-.} ]] && - _mc_tmp=${=${(M)${(f)"$(<${~muttrc})"}:#mailboxes *}#mailboxes *} && - _mutt_cache=( ${=${(Xe)_mc_tmp}} ) - - _mbox_cache=( ${~maildirectory}/*(^/) ) - if [[ -n $pinedirectory ]]; then - _pine_cache=( ${~pinedirectory}/**/*(.) ) - else - _pine_cache=() - fi - - dirboxes=( ${~maildirectory}/*(/) ) - - while (( $#dirboxes )); do - i=${dirboxes[1]} - shift dirboxes - if [[ -d "$i/cur" ]]; then - _maildir_cache=( "${_maildir_cache[@]}" "$i" ) - elif j=( "$i"/<1-> ) && [[ -n "$j" ]]; then - _mh_cache=( "${_mh_cache[@]}" "$i" ) - dirboxes=( $dirboxes "$i"/*(/) ) - else - _mbox_cache=( "${_mbox_cache[@]}" "$i"/*(.) ) - dirboxes=( $dirboxes "$i"/*(/) ) - fi - done - - [[ -n "$mailpath" ]] && - _mailbox_cache=( "${_mailbox_cache[@]}" "${(@)mailpath%%\?*}" ) - - [[ -n "$MAIL" ]] && _mailbox_cache=( "${_mailbox_cache[@]}" $MAIL ) -} - -_mua_mailboxes() { - local -a mbox_short - local -aU mbox_names - local ret=1 - - local maildirectory pinedirectory - zstyle -s ":completion:${curcontext}:" mail-directory maildirectory || maildirectory="~/Mail" - zstyle -s ":completion:${curcontext}:" pine-directory pinedirectory - - case "${curcontext}:" in - (*:elm:*) # I've probably got this wrong, or at least incomplete - mbox_names=( "${_mbox_cache[@]}" "${_mailbox_cache[@]}" ) - mbox_short=( \! \< \> ) - ;; - (*:mail:*) - if compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" ) - fi - ;; - (*:mh:*) - local lastmhbox=$(mhpath) - if compset -P +; then - mbox_names=( "${(@)_mh_cache#$~maildirectory/}" ) - elif compset -P @; then - mbox_names=( "${(@)${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" ) - else - mbox_names=( +"${(@)^_mh_cache#$~maildirectory/}" - @"${(@)^${(@M)_mh_cache:#$~lastmhbox/*}#$~lastmhbox/}" - "${_mh_cache[@]}" ) - fi - ;; - (*:mush:*) - if compset -P %; then - mbox_short=( "${(@k)userdirs}" ) - elif compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" ) - mbox_short=( \& % %"${(@k)^userdirs}" ) - fi - ;; - (*:mutt:*) - if compset -P '(|\\)='; then - mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}") - elif compset -P +; then - mbox_names=( "${_mutt_cache[@]#[+=]}" "${(@)_mbox_cache#$~maildirectory/}" "${(@)_maildir_cache#$~maildirectory/}" "${(@)_mh_cache#$~maildirectory/}") - else - mbox_names=( "${_mutt_cache[@]}" "${_mailbox_cache[@]}" - "${_maildir_cache[@]}" "${_mh_cache[@]}" ) - mbox_short=( \! \< \> ) - fi - ;; - (*:pine:*) - mbox_names=( "${_mbox_cache[@]}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - # Pine is like mail but with no leading `+' to disambiguate; - # any files not in $pinedirectory must be absolute paths. - if [[ -n $pinedirectory ]]; then - mbox_names+=( "${(@)_pine_cache#$~pinedirectory/}" ) - fi - ;; - (*:tkrat:*) # Has a couple of custom formats I haven't programmed for. - mbox_names=( "${_mbox_cache[@]}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - ;; - (*:(zmail|zmlite):*) - if compset -P %; then - mbox_short=( "${(@k)userdirs}" ) - elif compset -P +; then - mbox_names=( "${(@)_mbox_cache#$~maildirectory/}" ) - else - mbox_names=( +"${(@)^_mbox_cache#$~maildirectory/}" - "${_mailbox_cache[@]}" "${_mh_cache[@]}" ) - mbox_short=( \& % %"${(@k)^userdirs}" ) - fi - ;; - (*) # Some other program wants mailbox names? Use them all? - mbox_names=( "${_mailbox_cache[@]}" "${_mbox_cache[@]}" - "${_mh_cache[@]}" "${_mutt_cache[@]}" "${_pine_cache[@]}" ) - ;; - esac - - (( $#mbox_names )) && _multi_parts "$@" / mbox_names && ret=0 - (( $#mbox_short )) && compadd "$@" -a mbox_short && ret=0 - return ret -} - -_mailboxes "$@" diff --git a/result/sw/share/zsh/5.9/functions/_main_complete b/result/sw/share/zsh/5.9/functions/_main_complete deleted file mode 100644 index 169ca1f4..00000000 --- a/result/sw/share/zsh/5.9/functions/_main_complete +++ /dev/null @@ -1,422 +0,0 @@ -#autoload - -# The main loop of the completion code. This is what is called when -# completion is attempted from the command line. - -# Note that this function is parsed before $_comp_setup is evaluated, -# so that it should make conservative assumptions about the setting -# of the various options that affect parsing. - -# In case non-standard separators are in use. -local IFS=$' \t\n\0' - -# If you want to complete only set or unset options for the unsetopt -# and setopt builtin, un-comment these lines: -# -# local _options_set _options_unset -# -# _options_set=(${(k)options[(R)on]}) -# _options_unset=(${(k)options[(R)off]}) -# -# This is needed because completion functions may set options locally -# which makes the output of setopt and unsetopt reflect a different -# state than the global one for which you are completing. - -eval "$_comp_setup" - -local func funcs ret=1 tmp _compskip format nm call match min max i num\ - _completers _completer _completer_num curtag _comp_force_list \ - _matchers _matcher _c_matcher _matcher_num _comp_tags _comp_mesg \ - mesg str context state state_descr line opt_args val_args \ - curcontext="$curcontext" \ - _last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel \ - _tags_level=0 \ - _saved_exact="${compstate[exact]}" \ - _saved_lastprompt="${compstate[last_prompt]}" \ - _saved_list="${compstate[list]}" \ - _saved_insert="${compstate[insert]}" \ - _saved_colors="$ZLS_COLORS" \ - _saved_colors_set=${+ZLS_COLORS} \ - _ambiguous_color='' -# Hide any '_comp_priv_prefix' variable that happens to be defined in the calling scope. -local _comp_priv_prefix -unset _comp_priv_prefix - -# _precommand sets this to indicate we are following a precommand modifier -local -a precommands - -# Precommands which allow their wrapped command to be a builtin. -# All of these are necessarily builtins or reserved words themselves, -# but not all builtin precommands are listed here: -# for one, the 'command' builtin is excluded. -local -ar builtin_precommands=(- builtin eval exec nocorrect noglob time) - -typeset -U _lastdescr _comp_ignore _comp_colors - -{ - -[[ -z "$curcontext" ]] && curcontext=::: - -zstyle -s ":completion:${curcontext}:" insert-tab tmp || tmp=yes - -if [[ ( "$tmp" = *pending(|[[:blank:]]*) && PENDING -gt 0 ) || - ( "$tmp" = *pending=(#b)([0-9]##)(|[[:blank:]]*) && - PENDING -ge $match[1] ) ]]; then - compstate[insert]=tab - - return 0 -fi - -if [[ "$compstate[insert]" = tab* ]]; then - if [[ "$tmp" = (|*[[:blank:]])(yes|true|on|1)(|[[:blank:]]*) ]]; then - if [[ "$curcontext" != :* || -z "$compstate[vared]" ]] || - zstyle -t ":completion:vared${curcontext}:" insert-tab; then - return 0 - fi - fi - - compstate[insert]="${compstate[insert]//tab /}" -fi - -# Second attempt at GLOB_COMPLETE - -if [[ "$compstate[pattern_match]" = "*" && - "$_lastcomp[unambiguous]" = "$PREFIX" && - -n "$_lastcomp[unambiguous_cursor]" ]]; then - integer upos="$_lastcomp[unambiguous_cursor]" - SUFFIX="$PREFIX[upos,-1]$SUFFIX" - PREFIX="$PREFIX[1,upos-1]" -fi - -# Special completion contexts after `~' and `='. - -if [[ -z "$compstate[quote]" ]]; then - if [[ -o equals ]] && compset -P 1 '='; then - compstate[context]=equal - elif [[ "$PREFIX" != */* && "$PREFIX[1]" = '~' ]]; then - if [[ "$PREFIX" = '~['[^\]]# ]]; then - # Inside ~[...] should be treated as a subscript. - compset -p 2 - # To be consistent, we ignore all but the contents of the square - # brackets. - compset -S '\]*' - compstate[context]=subscript - [[ -n $_comps[-subscript-] ]] && $_comps[-subscript-] && return - else - compset -p 1 - compstate[context]=tilde - fi - fi -fi - -# Initial setup. - -_setup default -_def_menu_style=( "$_last_menu_style[@]" - -# We can't really do that because the current value of $MENUSELECT -# may be the one set by this function. -# There is a similar problem with $ZLS_COLORS in _setup. - -# ${MENUSELECT+select${MENUSELECT:+\=$MENUSELECT}} - - ) -_last_menu_style=() - -if zstyle -s ":completion:${curcontext}:default" list-prompt tmp; then - LISTPROMPT="$tmp" - zmodload -i zsh/complist -fi -if zstyle -s ":completion:${curcontext}:default" select-prompt tmp; then - MENUPROMPT="$tmp" - zmodload -i zsh/complist -fi -if zstyle -s ":completion:${curcontext}:default" select-scroll tmp; then - MENUSCROLL="$tmp" - zmodload -i zsh/complist -fi - -# Get the names of the completers to use in the positional parameters. - -if (( $# )); then - if [[ "$1" = - ]]; then - if [[ $# -lt 3 ]]; then - _completers=() - else - _completers=( "$2" ) - call=yes - fi - else - _completers=( "$@" ) - fi -else - zstyle -a ":completion:${curcontext}:" completer _completers || - _completers=( _complete _ignored ) -fi - -# And now just call the completer functions defined. - -_completer_num=1 - -# We assume localtraps to be in effect here ... -integer SECONDS=0 -TRAPINT() { - zle -M "Killed by signal in ${funcstack[2]} after ${SECONDS}s"; - zle -R - return 130 -} -TRAPQUIT() { - zle -M "Killed by signal in ${funcstack[2]} after ${SECONDS}s"; - zle -R - return 131 -} - -# Call the pre-functions. - -funcs=( "$compprefuncs[@]" ) -compprefuncs=() -for func in "$funcs[@]"; do - "$func" -done - -for tmp in "$_completers[@]"; do - - if [[ -n "$call" ]]; then - _completer="${tmp}" - elif [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - zstyle -t ":completion:${curcontext}:" show-completer && - zle -R "Trying completion for :completion:${curcontext}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - - _comp_mesg= - if [[ -n "$call" ]]; then - if "${(@)argv[3,-1]}"; then - ret=0 - break 2 - fi - elif "$tmp"; then - ret=0 - break 2 - fi - (( _matcher_num++ )) - done - [[ -n "$_comp_mesg" ]] && break - - (( _completer_num++ )) -done - -curcontext="${curcontext/:[^:]#:/::}" -if [[ $compstate[old_list] = keep ]]; then - # We are keeping the old list of matches, so keep the - # number of matches we found last time rather than the - # number just generated. - nm=$_lastcomp[nmatches] -else - nm=$compstate[nmatches] -fi - -if [[ $compstate[old_list] = keep || nm -gt 1 ]]; then - [[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] && - _menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" ) - - tmp=$(( compstate[list_lines] + BUFFERLINES + 1 )) - - _menu_style=( "$_menu_style[@]" "$_def_menu_style[@]" ) - - if [[ "$compstate[list]" = *list(| *) && tmp -gt LINES && - ( -n "$_menu_style[(r)select=long-list]" || - -n "$_menu_style[(r)(yes|true|on|1)=long-list]" ) ]]; then - compstate[insert]=menu - elif [[ "$compstate[insert]" = "$_saved_insert" ]]; then - if [[ -n "$compstate[insert]" && - -n "$_menu_style[(r)(yes|true|1|on)=long]" && tmp -gt LINES ]]; then - compstate[insert]=menu - else - sel=( "${(@M)_menu_style:#(yes|true|1|on)*}" ) - - if (( $#sel )); then - min=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt min ]] && min="$num" - - (( min )) || break - done - fi - sel=( "${(@M)_menu_style:#(no|false|0|off)*}" ) - - if (( $#sel )); then - max=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt max ]] && max="$num" - - (( max )) || break - done - fi - if [[ ( -n "$min" && nm -ge min && ( -z "$max" || nm -lt max ) ) || - ( -n "$_menu_style[(r)auto*]" && - "$compstate[insert]" = automenu ) ]]; then - compstate[insert]=menu - elif [[ -n "$max" && nm -ge max ]]; then - compstate[insert]=unambiguous - elif [[ -n "$_menu_style[(r)auto*]" && - "$compstate[insert]" != automenu ]]; then - compstate[insert]=automenu-unambiguous - fi - fi - fi - - if [[ "$compstate[insert]" = *menu* ]]; then - [[ "$MENUSELECT" = 00 ]] && MENUSELECT=0 - if [[ -n "$_menu_style[(r)no-select*]" ]]; then - unset MENUSELECT - elif [[ -n "$_menu_style[(r)select=long*]" ]]; then - if [[ tmp -gt LINES ]]; then - zmodload -i zsh/complist - MENUSELECT=00 - fi - fi - if [[ "$MENUSELECT" != 00 ]]; then - sel=( "${(@M)_menu_style:#select*}" ) - - if (( $#sel )); then - min=9999999 - for i in "$sel[@]"; do - if [[ "$i" = *\=[0-9]* ]]; then - num="${i#*\=}" - [[ num -lt 0 ]] && num=0 - elif [[ "$i" != *\=* ]]; then - num=0 - else - num=9999999 - fi - [[ num -lt min ]] && min="$num" - - (( min )) || break - done - - zmodload -i zsh/complist - MENUSELECT="$min" - else - unset MENUSELECT - fi - fi - if [[ -n "$MENUSELECT" ]]; then - if [[ -n "$_menu_style[(r)interactive*]" ]]; then - MENUMODE=interactive - elif [[ -n "$_menu_style[(r)search*]" ]]; then - if [[ -n "$_menu_style[(r)*backward*]" ]]; then - MENUMODE=search-backward - else - MENUMODE=search-forward - fi - else - unset MENUMODE - fi - fi - fi -elif [[ nm -lt 1 && -n "$_comp_mesg" ]]; then - compstate[insert]='' - compstate[list]='list force' -elif [[ nm -eq 0 && -z "$_comp_mesg" && - $#_lastdescr -ne 0 && $compstate[old_list] != keep ]] && - zstyle -s ":completion:${curcontext}:warnings" format format; then - - compstate[list]='list force' - compstate[insert]='' - - tmp=( "\`${(@)^_lastdescr:#}'" ) - - case $#tmp in - 1) str="$tmp[1]";; - 2) str="$tmp[1] or $tmp[2]";; - *) str="${(j:, :)tmp[1,-2]}, or $tmp[-1]";; - esac - - _setup warnings - zformat -f mesg "$format" "d:$str" "D:${(F)${(@)_lastdescr:#}}" - compadd -x "$mesg" -fi - -if [[ -n "$_ambiguous_color" ]]; then - local toquote='[=\(\)\|~^?*[\]#<>]' - local prefix=${${compstate[unambiguous]}[1,${compstate[unambiguous_cursor]}-1]} - [[ -n $prefix ]] && - _comp_colors+=( "=(#i)${prefix[1,-2]//?/(}${prefix[1,-2]//(#m)?/${MATCH/$~toquote/\\$MATCH}|)}${prefix[-1]//(#m)$~toquote/\\$MATCH}(#b)(?|)*==$_ambiguous_color" ) -fi - -[[ "$_comp_force_list" = always || - ( "$_comp_force_list" = ?* && nm -ge _comp_force_list ) ]] && - compstate[list]="${compstate[list]//messages} force" - -} always { - # Stuff we always do to clean up. - if [[ "$compstate[old_list]" = keep ]]; then - if [[ $_saved_colors_set = 1 ]]; then - ZLS_COLORS="$_saved_colors" - else - unset ZLS_COLORS - fi - elif (( $#_comp_colors )); then - ZLS_COLORS="${(j.:.)_comp_colors}" - else - unset ZLS_COLORS - fi -} - -# Now call the post-functions. - -funcs=( "$comppostfuncs[@]" ) -comppostfuncs=() -for func in "$funcs[@]"; do - "$func" -done - -_lastcomp=( "${(@kv)compstate}" ) -_lastcomp[nmatches]=$nm -_lastcomp[completer]="$_completer" -_lastcomp[prefix]="$PREFIX" -_lastcomp[suffix]="$SUFFIX" -_lastcomp[iprefix]="$IPREFIX" -_lastcomp[isuffix]="$ISUFFIX" -_lastcomp[qiprefix]="$QIPREFIX" -_lastcomp[qisuffix]="$QISUFFIX" -_lastcomp[tags]="$_comp_tags" - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_make b/result/sw/share/zsh/5.9/functions/_make deleted file mode 100644 index ae91440f..00000000 --- a/result/sw/share/zsh/5.9/functions/_make +++ /dev/null @@ -1,273 +0,0 @@ -#compdef make gmake pmake dmake freebsd-make bmake - -# TODO: Based on targets given on the command line, show only variables that -# are used in those targets and their dependencies. - -_make-expandVars() { - local open close var val front='' rest=$1 - - while [[ $rest == (#b)[^$]#($)* ]]; do - front=$front${rest[1,$mbegin[1]-1]} - rest=${rest[$mbegin[1],-1]} - - case $rest[2] in - ($) # '$$'. may not appear in target and variable's value - front=$front\$\$ - rest=${rest[3,-1]} - continue - ;; - (\() # Variable of the form $(foobar) - open='(' - close=')' - ;; - ({) # ${foobar} - open='{' - close='}' - ;; - ([[:alpha:]]) # $foobar. This is exactly $(f)oobar. - open='' - close='' - var=$rest[2] - ;; - (*) # bad parameter name - print -- $front$rest - return 1 - ;; - esac - - if [[ -n $open ]]; then - if [[ $rest == \$$open(#b)([[:alnum:]_]##)(#B)$close* ]]; then - var=$match - else # unmatched () or {}, or bad parameter name - print -- $front$rest - return 1 - fi - fi - - val='' - if [[ -n ${VAR_ARGS[(i)$var]} ]]; then - val=${VAR_ARGS[$var]} - else - if [[ -n $opt_args[(I)(-e|--environment-overrides)] ]]; then - if [[ $parameters[$var] == scalar-export* ]]; then - val=${(P)var} - elif [[ -n ${VARIABLES[(i)$var]} ]]; then - val=${VARIABLES[$var]} - fi - else - if [[ -n ${VARIABLES[(i)$var]} ]]; then - val=${VARIABLES[$var]} - elif [[ $parameters[$var] == scalar-export* ]]; then - val=${(P)var} - fi - fi - fi - rest=${rest//\$$open$var$close/$val} - done - - print -- ${front}${rest} -} - -_make-parseMakefile () { - local input var val target dep TAB=$'\t' tmp IFS= - - while read input - do - case "$input " in - # VARIABLE = value OR VARIABLE ?= value - ([[:alnum:]][[:alnum:]_]#[" "$TAB]#(\?|)=*) - var=${input%%[ $TAB]#(\?|)=*} - val=${input#*=} - val=${val##[ $TAB]#} - VARIABLES[$var]=$val - ;; - - # VARIABLE := value OR VARIABLE ::= value - # Evaluated immediately - ([[:alnum:]][[:alnum:]_]#[" "$TAB]#:(:|)=*) - var=${input%%[ $TAB]#:(:|)=*} - val=${input#*=} - val=${val##[ $TAB]#} - val=$(_make-expandVars $val) - VARIABLES[$var]=$val - ;; - - # TARGET: dependencies - # TARGET1 TARGET2 TARGET3: dependencies - ([[*?[:alnum:]$][^$TAB:=%]#:[^=]*) - target=$(_make-expandVars ${input%%:*}) - TARGETS+=( ${(z)target} ) - ;; - - # Include another makefile - (${~incl}" "*) - local f=${input##${~incl} ##} - if [[ $incl == '.include' ]] - then - f=${f#[\"<]} - f=${f%[\">]} - fi - f=$(_make-expandVars $f) - - if [[ -r $f ]] - then - _make-parseMakefile < $f - fi - ;; - esac - done -} - -_make() { - - local prev="$words[CURRENT-1]" file expl tmp is_gnu incl match basedir nul=$'\0' - local context state state_descr line - local -a option_specs - local -A VARIABLES VAR_ARGS opt_args - local -aU TARGETS keys - local -i cdir=-1 ret=1 - - # VAR=VAL on the current command line - for tmp in $words; do - if [[ $tmp == (#b)([[:alnum:]_]##)=(*) ]]; then - VAR_ARGS[${tmp[$mbegin[1],$mend[1]]}]=${(e)tmp[$mbegin[2],$mend[2]]} - fi - done - keys=( ${(k)VAR_ARGS} ) # to be used in 'compadd -F keys' - - _pick_variant -r is_gnu gnu=GNU unix -v -f - - if [[ $is_gnu == gnu ]] - then - incl="(-|)include" - option_specs=( - '(-B --always-make)'{-B,--always-make}'[unconditionally make all targets]' - '*'{-C,--directory=}'[change directory first]:change to directory:->cdir' - '-d[print lots of debug information]' - '--debug=-[print various types of debug information]:debug options:->debug' - '(-e --environment-overrides)'{-e,--environment-overrides}'[environment variables override makefiles]' - \*{-E+,--eval=-}'[evaluate string as a makefile statement]:string' - '(-f --file --makefile)'{-f,--file=,--makefile=}'[read specified file as a makefile]:makefile:->file' - '(- *)'{-h,--help}'[print help message and exit]' - '(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors from recipes]' - '*'{-I,--include-dir=}'[search specified directory for included makefiles]:search path for included makefile:->dir' - '(-j --jobs)'{-j+,--jobs=}'[allow specified number of parallel jobs; unlimited jobs with no arg]:: : _guard "[0-9]#" "number of jobs"' - '(-k --keep-going)'{-k,--keep-going}"[keep going when some targets can't be made]" - '(-l --load-average --max-load)'{-l,--load-average=,--max-load}"[don't start multiple jobs unless load is below specified value]:load" - '(-L --check-symlink-times)'{-L,--check-symlink-times}'[use the latest mtime between symlinks and target]' - '(-n --just-print --dry-run --recon)'{-n,--just-print,--dry-run,--recon}"[don't actually run any recipe; just print them]" - '*'{-o,--old-file=,--assume-old=}"[consider specified file to be old and don't remake it]:file not to remake:->file" - '(-O --output-sync)'{-O-,--output-sync=-}'[synchronize output of parallel jobs]::granularity for grouping output:compadd -E 0 none line target recurse' - '(-p --print-data-base)'{-p,--print-data-base}'[print makes internal database]' - '(-q --question)'{-q,--question}'[run no recipe; exit status says if up to date]' - '(-r --no-builtin-rules)'{-r,--no-builtin-rules}'[disable the built-in implicit rules]' - '(-R --no-builtin-variables)'{-R,--no-builtin-variables}'[disable the built-in variable settings]' - '(-s --silent --quiet)'{-s,--silent,--quiet}"[don't echo recipes]" - '--no-silent[echo recipes (disable --silent mode)]' - '(-S --no-keep-going --stop)'{-S,--no-keep-going,--stop}'[turns off -k]' - '(-t --touch)'{-t,--touch}'[touch targets instead of remaking them]' - '(- *)'{-v,--version}'[print the version number of make and exit]' - '(-w --print-directory)'{-w,--print-directory}'[print the current directory]' - '--no-print-directory[turn off -w, even if it was turned on implicitly]' - '*'{-W,--what-if=,--new-file=,--assume-new=}'[consider specified file to be infinitely new]:file to treat as modified:->file' - '--warn-undefined-variables[warn when an undefined variable is referenced]' - '--warn-undefined-functions[warn when an undefined user function is called]' - ) - else - # Basic make options only. - incl=.include - option_specs=( - '-C[change directory first]:directory:->cdir' - '-I[include directory for makefiles]:directory:->dir' - '-f[specify makefile]:makefile:->file' - '-o[specify file not to remake]:file not to remake:->file' - '-W[pretend file was modified]:file to treat as modified:->file' - ) - fi - - _arguments -s $option_specs \ - '*:make target:->target' && ret=0 - - [[ $state = cdir ]] && cdir=-2 - basedir=${(j./.)${${~"${(@s.:.):-$PWD:${(Q)${opt_args[-C]:-$opt_args[--directory]}//\\:/$nul}}"}[(R)/*,cdir]}//$nul/:} - VAR_ARGS[CURDIR]="${basedir}" - - case $state in - (*dir) - _description directories expl "$state_descr" - _files "$expl[@]" -W $basedir -/ && ret=0 - ;; - - (file) - _description files expl "$state_descr" - _files "$expl[@]" -W $basedir && ret=0 - ;; - - (debug) - _values -s , 'debug option' \ - '(b v i j m)a[all debugging output]' \ - 'b[basic debugging output]' \ - '(b)v[one level above basic]' \ - '(b)i[describe implicit rule searches (implies b)]' \ - 'j[show details on invocation of subcommands]' \ - 'm[enable debugging while remaking makefiles]' && ret=0 - ;; - - (target) - file=${(v)opt_args[(I)(-f|--file|--makefile)]} - if [[ -n $file ]] - then - [[ $file == [^/]* ]] && file=$basedir/$file - [[ -r $file ]] || file= - else - if [[ $is_gnu == gnu && -r $basedir/GNUmakefile ]] - then - file=$basedir/GNUmakefile - elif [[ -r $basedir/makefile ]] - then - file=$basedir/makefile - elif [[ -r $basedir/Makefile ]] - then - file=$basedir/Makefile - else - file='' - fi - fi - - if [[ -n "$file" ]] - then - if [[ $is_gnu == gnu ]] - then - if zstyle -t ":completion:${curcontext}:targets" call-command; then - _make-parseMakefile < <(_call_program targets "$words[1]" -nsp --no-print-directory -f "$file" --always-make 2> /dev/null) - else - _make-parseMakefile < $file - fi - else - if [[ $OSTYPE == (freebsd|dragonfly|netbsd)* || /$words[1] == */bmake* ]]; then - TARGETS+=(${=${(f)"$(_call_program targets "$words[1]" -s -f "$file" -V.ALLTARGETS 2> /dev/null)"}}) - _make-parseMakefile < <(_call_program targets "$words[1]" -nsdg1Fstdout -f "$file" .PHONY 2> /dev/null) - else - _make-parseMakefile < $file - fi - fi - fi - - if [[ $PREFIX == *'='* ]] - then - # Complete make variable as if shell variable - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value "$@" && ret=0 - else - _alternative \ - 'targets:make target:compadd -Q -a TARGETS' \ - 'variables:make variable:compadd -S = -F keys -k VARIABLES' \ - '*:file:_files -W $basedir' && ret=0 - fi - esac - - return ret -} - -_make "$@" diff --git a/result/sw/share/zsh/5.9/functions/_make-kpkg b/result/sw/share/zsh/5.9/functions/_make-kpkg deleted file mode 100644 index 252627a7..00000000 --- a/result/sw/share/zsh/5.9/functions/_make-kpkg +++ /dev/null @@ -1,57 +0,0 @@ -#compdef make-kpkg - -local curcontext="$curcontext" state line -typeset -A opt_args - -_arguments -C \ - '--help[display help message]' \ - '--revision[change Debian revision number]:number:' \ - '--append-to-version[specify additional kernel sub-version]:suffix:' \ - '--added-modules[specify add-on modules]:module list:->addedmodules' \ - '--added-patches[specify additional patches]:patches list' \ - '--arch[specify architecture for cross-compilation]:architecture' \ - '--cross-compile[specify target string]:target' \ - '--subarch[specify subarchitecture]:subarchitecture:' \ - '--arch-in-name[include architecture in kernel image name]' \ - '--pgpsign[sign changes file]:name' \ - '--config[specify configuration target]:target:(oldconfig config menuconfig xconfig old menu x)' \ - '--targets[list known targets]' \ - '--noexec[pass -n option to make]' \ - '--verbose[show top level make commands]' \ - '--initrd[create image suitable for initrd]' \ - '(--bzimage)--zimage[make zImage instead of bzImage]' \ - '(--zimage)--bzimage[make bzImage instead of zImage]' \ - '--mkimage[command that produces an initrd image given a directory]:command:' \ - '--rootcmd[specify command for gaining root access]:root command:(sudo fakeroot)' \ - '--stem:package name stem:(kernel linux)' \ - '--us[unsigned source]' \ - '--uc[unsigned changelog]' \ - '*:target:(( \ - clean\:"clean the kernel source directory" \ - buildpackage\:"runs the targets clean and binary" \ - binary\:"all kernel packages" \ - binary-indep\:"arch independent packages" \ - binary-arch\:"arch dependent packages" \ - kernel-source\:"package of the kernel sources" \ - kernel-headers\:"package of the header files included in the kernel" \ - kernel-manual\:"package of the manual pages included in the kernel" \ - kernel-doc\:"package of the documentation included in the kernel" \ - kernel-image\:"package of the kernel image" \ - build\:"compiles the kernel" \ - modules\:"build all add-on modules" \ - modules-config\:"configure all add-on modules" \ - modules-image\:"build all add-on modules, but without source and diff files" \ - modules-clean\:"clean add-on modules" \ - configure\:"configure the kernel" \ - debian\:"creates the debian/ directory" \ - libc-kheaders\:"create the kernel headers package needed by libc" \ - ))' && return - -case "$state" in - (addedmodules) - compset -P '*,' - _alternative \ - 'moddirs:module dirs:_files -/ -S ,' \ - 'modules:loc module dirs:_files -/ -W ${MODULE_LOC:-/usr/src/modules} -S ,' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_man b/result/sw/share/zsh/5.9/functions/_man deleted file mode 100644 index dba1d13d..00000000 --- a/result/sw/share/zsh/5.9/functions/_man +++ /dev/null @@ -1,462 +0,0 @@ -#compdef man apropos whatis - -# Notes: -# - Solaris is seemingly the only OS that doesn't allow the `man n page` syntax; -# you must use `man -s n page` -# - We assume that Linux distributions are using either man-db or mandoc -# - @todo Would be nice to support completing the initial operand as a section -# name (on non-Solaris systems) -# - @todo We don't support the man-db feature of 'sub-pages' — that is, treating -# pairs of operands like `git diff` as `git-diff` -# - @todo Option exclusivity isn't super accurate -# - @todo Solaris man accepts a single hyphen as the first option to disable -# paging (like AIX's -c); we don't support that -# - @todo Linux apropos/whatis take options; we don't complete them yet - -_man() { - local dirs expl mrd awk variant noinsert - local -a context line state state_descr args modes - local -aU sects - local -A opt_args val_args sect_descs - - if [[ $service == man ]]; then - # We'll treat all mandoc-based systems (Alpine, various Illumos distros, - # etc.) as OpenBSD - _pick_variant -r variant openbsd='-S subsection' $OSTYPE --- - - modes=( - -f -K -k -l -R -w -W - --apropos - --global-apropos - --local-file - --location - --location-cat - --recode - --whatis - --where - --where-cat - ) - [[ $variant == darwin* ]] && modes+=( -t ) - - args=( - "(${(j< >)modes})"{-f,--whatis}'[display short description (like whatis)]' - "(${(j< >)modes})"{-k,--apropos}'[search for keyword (like apropos)]' - '(-M --manpath)'{-M+,--manpath=}'[specify manual search path]:manual search path:_sequence -s\: _directories' - ) - if [[ $variant == (darwin|dragonfly|freebsd|linux)* ]]; then - args+=( - '(-a -S -s --all --sections)'{-a,--all}'[display all matching pages]' - '(-P --pager)'{-P+,--pager=}'[specify output pager]:pager:_path_commands' - # @todo Could enumerate these - '(-p --preprocessor)'{-p+,--preprocessor=}'[specify roff preprocessor sequence]:preprocessor sequence' - ) - else - args+=( '(-s)-a[display all matching pages]' ) - fi - [[ $variant == (aix|solaris)* ]] || args+=( - '(-C --config-file)'{-C+,--config-file=}'[specify configuration file]:configuration file:_files' - "(${(j< >)modes})"{-w,--path,--where}'[display file locations]' - ) - [[ $variant == (aix|netbsd|openbsd)* ]] || args+=( - # @todo FreeBSD allows this to be given multiple times - '(-d --debug)'{-d,--debug}'[display debugging information]' - ) - [[ $variant == (darwin|dragonfly|freebsd|linux|solaris|aix)* ]] && args+=( - '(-7 -H -t --ascii --html --troff)'{-t,--troff}'[format man page using troff]' - ) - [[ $variant == (darwin|linux)* ]] && args+=( - "(${(j< >)modes})"{-K,--global-apropos}'[search for keyword in all pages]' - '(-m --systems)'{-m+,--systems=}'[search manual of specified system]:operating system' - ) - [[ $variant == (darwin|dragonfly|freebsd)* ]] && args+=( - '(: -)-h[display help information]' - '(-a)-S+[specify manual sections to search]: :->sects' - ) - [[ $variant == (dragonfly|freebsd)* ]] && args+=( - # @todo Could enumerate these - '-m[search manual of specified architecture]:architecture' - '-o[use non-localized man pages]' - ) - [[ $variant == (netbsd|openbsd)* ]] && args+=( - '-c[disable paging]' - '-m[augment manual search path]:manual search path:_sequence -s\: _directories' - '(-a)-s+[specify manual section to search]: :->sects' - ) - [[ $variant == linux* ]] && args+=( - '(: -)'{-\?,--help}'[display help information]' - '(-7 -t -H -T -Z --ascii --html --troff --troff-device --ditroff)'{-7,--ascii}'[translate man pages for 7-bit terminal]' - '(-D --default)'{-D,--default}'[reset man to default options]' - # @todo Could enumerate these - '(-E --encoding)'{-E+,--encoding=}'[specify output encoding]:encoding' - '(-e --extension)'{-e+,--extension=}'[specify sub-extension]:sub-extension' - '(-H --html)'{-H-,--html=-}'[produce HTML output for specified browser]::Web browser:_path_commands' - '(-i -I --ignore-case --match-case)'{-i,--ignore-case}'[search case-insensitively]' - '(-i -I --ignore-case --match-case)'{-I,--match-case}'[search case-sensitively]' - '(-L --locale)'{-L+,--locale=}'[specify locale]:locale:_locales' - "(${(j< >)modes})"{-l+,--local-file=}'[format and display specified file]:*:::manual file:_files' - "!(${(j< >)modes})"{--location,--location-cat} - '--names-only[match only page names (with --regex or --wildcard)]' - '(--nh --no-hyphenation)'{--nh,--no-hyphenation}'[disable hyphenation]' - '(--nj --no-justification)'{--nj,--no-justification}'[disable justification]' - '--no-subpages[do not combine pairs of page names into single page name]' - # @todo Could enumerate these - "(${(j< >)modes})"{-R+,--recode=}'[output man page in specified encoding]:encoding' - '(-r --prompt)'{-r+,--prompt=}'[specify prompt for less]:less prompt' - '(-a --all --wildcard)--regex[treat page name as regular expression]' - '(-a -S -s --all --sections)'{-S+,-s+,--sections=}'[specify manual sections to search]: :->sects' - # @todo Could enumerate these - '(-T -t --troff --troff-device)'{-T-,--troff-device=-}'[specify roff output device]::roff output device' - '(-u --update)'{-u,--update}'[update database caches]' - '(: -)--usage[display brief usage information]' - '(: -)'{-V,--version}'[display version information]' - "(${(j< >)modes})"{-W,--where-cat}'[display cat file locations]' - '--warnings=[enable specified groff warnings]:groff warnings' - '(-a --all --regex)--wildcard[treat page name as shell glob]' - # @todo Could enumerate these - '(-X --gxditview)'{-X-,--gxditview=-}'[display output in gxditview using specified DPI]::resolution (DPI) [75]' - # @todo Post-process how? - '(-t --troff -Z --ditroff)'{-Z,--ditroff}'[post-process output for chosen device]' - ) - [[ $variant == darwin* ]] && args+=( - # We use _files here because browsers are usually in /Applications, which - # typically isn't in PATH - '-B+[specify browser to use for HTML files]:Web browser:_files' - '-c[reformat source man page]' - # @todo -d should be exclusive with this above - '(-d)-D[display man page along with debugging information]' - '(-D -F --preformat)'{-F,--preformat}'[format man page only (do not display)]' - '-H+[specify command to render HTML as text]:HTML pager:_path_commands' - # --help and --version are undocumented but functional - '(: -)--help[display help information]' - # -s is also undocumented; it's provided for compatibility with Solaris - '!(-S)-s+: :->sects' - '(: -)'{-v,--version}'[display version information]' - "(${(j< >)modes})-W[display file locations, one per line, with no other information]" - ) - [[ $variant == netbsd* ]] && args+=( - '-h[display only synopsis lines]' - '(: -)-p[display manual search path]' - '-S+[display only man pages with file names matching specified string]:search string' - ) - [[ $variant == openbsd* ]] && args+=( - "(${(j< >)modes})-l+[format and display specified file]:*:::manual file:_files" - # @todo Could enumerate these - '-S[search manual of specified architecture]:architecture' - ) - [[ $variant == solaris* ]] && args+=( - "(${(j< >)modes})-l[display file locations]" - '-r[format man page only (do not display)]' - '(-a)-s+[specify manual sections to search]: :->sects' - # @todo Does this in fact want a file path? - '-T+[format man page using specified macro package]:macro package:_files' - ) - [[ $variant == aix* ]] && args+=( - '-c[display man page using cat]' - '-F[display only first matching entry]' - '-m[only search paths specified by -M/MANPATH]' - '-r[search remotely]' - ) - - # Strip (most) long options from non-Linux platforms - if [[ $variant == darwin* ]]; then - args=( ${(M)args:#((#s)|*\))(\*|)(-[^-]|--(help|path|pref|vers))*} ) - elif [[ $variant != linux* ]]; then - args=( ${(M)args:#((#s)|*\))(\*|)-[^-]*} ) - fi - fi - - _arguments -s -S : $args '*::: :->man' && return 0 - [[ -n $state ]] || return 1 - - if (( ! $#_manpath )); then - local mp - mp=( ${(s.:.)$(manpath 2>/dev/null)} ) - [[ "$mp" == *:* ]] && mp=( ${(s.:.)mp} ) - if (( $#mp )); then - _manpath=( $mp ) - elif (( $#manpath )); then - _manpath=( $manpath ) - fi - fi - - (( $#_manpath )) || - _manpath=( /usr/man(-/) /(opt|usr)/(pkg|dt|share|X11R6|local)/(cat|)man(-/) ) - - # Override man path - [[ -n ${opt_args[-M]} ]] && - _manpath=( ${(s<:>)opt_args[-M]} ) - - # Augment man path - [[ $variant == (netbsd|openbsd)* ]] && - [[ -n ${opt_args[-m]} ]] && - _manpath+=( ${(s<:>)opt_args[-m]} ) - - # `sman' is the SGML manual directory for Solaris 7. - # 1M is system administrator commands on SVR4 - - mrd=(${^_manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N)) - - # $sect is from the command line, the "3p" in "man 3p memcpy". - # It may also be a |-joined (and later in the code "()"-enclosed) list of - # section names. - # TODO: disentangle this to always be an array. - # $sect_dirname is from the filesystem, the "3" in "/usr/share/man/man3" - # These are used by _man_pages - local sect sect_dirname - - # Take care: We can't use the sections from these options until we've finished - # completing them; otherwise (e.g.) -s1:<TAB> will give no results - if - [[ $service != man ]] || [[ $state == sects ]] || (( $+opt_args[-a] )) - then - sect='*' - elif - [[ $variant == (darwin|linux)* ]] && - [[ -n ${opt_args[(i)-S|-s|--sections]} ]] - then - noinsert=1 - sect=${opt_args[${opt_args[(i)-S|-s|--sections]}]//[:,]/|} - elif - [[ $variant == (netbsd|openbsd|solaris)* ]] && (( $+opt_args[-s] )) - then - noinsert=1 - sect=${opt_args[-s]//,/|} - elif [[ $variant == (dragonfly|freebsd)* ]] && (( $+opt_args[-S] )); then - noinsert=1 - sect=${opt_args[-S]//:/|} - # It's only a small help, but, per man-db, we can avoid treating an initial - # operand like `8139too` as a section name by ensuring that only the first - # character is a digit. This doesn't do much for stuff like `2to3`, but we can - # at least special-case a few common patterns for now - elif - (( CURRENT > 1 )) && - [[ $variant != solaris* ]] && - [[ ${${(Q)words[1]}##(2to3|7z)*} == ([0-9](|[^0-9[:punct:]]*)|[lnopx]) ]] - then - noinsert=1 - sect=$words[1] - elif [[ -n ${sect:=$MANSECT} ]]; then - sect=${sect//:/|} - fi - - # Colons may have been escaped - sect=${(Q)sect} - - if [[ $sect = (<->*|[lnopx]) || $sect = *\|* ]]; then - sects=( ${(s.|.)sect} ) - - # Most man implementations support partial matching of a page's - # (sub-)section name — e.g., `3per` for `3perl`. The (sub-)section name may - # or may not correspond to the directory name (most systems combine - # sub-sections), but we'll assume that if it starts with a number and we're - # not on Solaris (which doesn't support this feature at all) that we can do - # a match against the leading number. This is irritating if you DO want the - # exact sub-section specified, but unfortunately there's no way to determine - # this programmatically — i guess we could add a style to control it - () { - for 1; do - if [[ $OSTYPE == solaris* || $1 != <->* ]]; then - dirs+=( $^_manpath/(sman|man|cat)$1(|.*)/ ) - else - dirs+=( $^_manpath/(sman|man|cat)${1%%[^0-9]#}*/ ) - fi - done - } $sects - - sect=${(j<|>)sects} - [[ $sect == *'|'* ]] && sect="($sect)" - awk="\$2 == \"$sect\" {print \$1}" - else - sect= - dirs=( $^_manpath/(sman|man|cat)*/ ) - awk='{print $1}' - fi - - # Ignore directories with no pages inside - dirs=( ${^dirs}(#qFN) ) - - # Solaris 11 and on have a man-index directory that doesn't contain manpages - dirs=( ${dirs:#*/man-index/} ) - sects=( ${(o)${${dirs##*(man|cat)}%.*}%/} ) - - # If we've got this far, we can build our look-up table for descriptions of - # the more common sections. Unless otherwise labelled, the more specific ones - # come from Solaris or one of its variants - (( $#sects )) && () { - sect_descs=( - 0 'library headers' - 1 'general commands' - 1cups 'CUPS commands' - 1m 'maintenance commands' - 1openssl 'OpenSSL commands' - 2 'system calls' - 3 'library functions' - 3c 'C library functions' - 3curses 'curses library functions' - 3elf 'ELF library functions' - 3f 'Fortran library functions' - 3lua 'Lua features' # NetBSD - 3mail 'mailbox library functions' - 3openssl 'OpenSSL library functions' - 3pam 'PAM library functions' - 3pool 'pool configuration library functions' - 3proc 'process control library functions' - 3x11 'Xlib functions' - 3xcurses 'curses library functions [X/Open]' - 4 'devices and drivers' - 5 'file formats and conventions' - 3openssl 'OpenSSL configuration files' - 6 'games' - 7 'miscellanea' - 8 'maintenance commands and procedures' - 9 'kernel features' - 9lua 'Lua kernel bindings' # NetBSD - l 'local documentation' # AIX, etc. — TCL on some systems? - n 'new documentation' # AIX, etc. - o 'old documentation' # AIX, etc. - p 'public documentation' # AIX, etc. - x 'X11 features' - ) - - # Add POSIX variants - for 1 in ${(k)sect_descs}; do - [[ $1 == <-> ]] || continue - sect_descs+=( "${1}p" "${sect_descs[$1]} [POSIX]" ) - done - - # Add OS-specific stuff that's too risky for or overrides the general list - [[ $OSTYPE == darwin* ]] && sect_descs+=( n 'Tcl/Tk features' ) - [[ $OSTYPE == openbsd* ]] && sect_descs+=( 3p 'Perl features' ) - # @todo Oracle Solaris 11.4 adopts the BSD/Linux structure, making many of - # these inaccurate — this should be handled accordingly in the future. If - # OSTYPE isn't helpful (since other Solaris descendants may not follow - # suit), we could perhaps use the presence of SysV-style sections under - # _manpath as the determinant - [[ $OSTYPE == solaris* ]] && sect_descs+=( - 1t 'Tcl/Tk features' - 3m 'mathematical library functions' - 4 'file formats and conventions' - 5 'miscellanea' - 7 'special files' - 7d 'devices' - 7fs 'file systems' - 7i 'ioctl requests' - 7m 'STREAMS modules' - 7p 'protocols' - 9e 'driver entry points' - 9f 'driver functions' - 9p 'driver properties' - 9s 'driver data structures' - ) - } - - [[ $state == sects ]] && { - local s - local -a specs - - (( $#sects )) || { - _message -e sections 'manual section' - return 1 - } - - # Build specs from descriptions - for s in $sects; do - specs+=( "${s}:${(b)sect_descs[$s]}" ) - done - specs=( ${specs%:} ) - - if [[ $variant == (darwin|dragonfly|freebsd|linux)* ]]; then - _sequence -s : _describe -t sections 'manual section' specs - elif [[ $variant == solaris* ]]; then - _sequence -s , _describe -t sections 'manual section' specs - else - _describe -t sections 'manual section' specs - fi - return - } - - if zstyle -t ":completion:${curcontext}:manuals" separate-sections; then - local d ret=1 - - (( $#sects )) || return 1 - - if [[ $PREFIX$SUFFIX == */* ]]; then - _tags manuals.${^sects} files - else - _tags manuals.${^sects} - fi - - while _tags; do - for sect_dirname in $sects; do - d=$sect_dirname - (( $+sect_descs[$d] )) && d+=" (${sect_descs[$d]})" - - _requested manuals.$sect_dirname expl "manual page, section $d" _man_pages && - ret=0 - done - [[ $PREFIX$SUFFIX == */* ]] && - _requested files expl directory _files -/ && ret=0 - (( ret )) || return 0 - done - ## To fall back to other sections' manpages when completing filenames, like - ## the 'else' codepath does: - # - # if (( ret )) && [[ $PREFIX$SUFFIX == */* ]]; then - # sect_dirname= - # _wanted manuals expl 'manual page' _man_pages && return - # fi - - return 1 - else - sect_dirname= - _wanted manuals expl 'manual page' _man_pages - fi -} - -_man_pages() { - local pages sopt tmp - - # What files corresponding to manual pages can end in. - local suf='.((?|<->*|ntcl)(|.gz|.bz2|.z|.Z|.lzma))' - - if [[ $PREFIX$SUFFIX = */* ]]; then - # Easy way to test for versions of man that allow file names. - # This can't be a normal man page reference. - # Try to complete by glob first. - if [[ -n $sect_dirname ]]; then - _path_files -g "*.*$sect_dirname*(|.gz|.bz2|.z|.Z|.lzma)" "$expl[@]" - else - _path_files -g "*$suf" "$expl[@]" && return - _path_files "$expl[@]" - fi - return $? - fi - - pages=( ${(M)dirs:#*$sect_dirname/} ) - pages=( ${^pages}/"*${sect:+.$sect"*"}" ) - pages=( ${^~pages}(N:t) ) - - (($#mrd)) && pages[$#pages+1]=($(awk $awk $mrd)) - - # Remove any compression suffix, then remove the minimum possible string - # beginning with .<->: that handles problem cases like files called - # `POSIX.1.5'. - - [[ $variant = solaris* ]] && sopt='-s ' - if ! ((CURRENT > 1 || noinsert)); then - zstyle -s ":completion:${curcontext}:manuals.$sect_dirname" insert-sections tmp - fi - case "$tmp" in - prepend|true|on|yes|1) - compadd "$@" -P "$sopt$sect_dirname " - ${pages%$~suf} - ;; - suffix) - compadd "$@" -s ".$sect_dirname" - ${pages%$~suf} - ;; - *) - compadd "$@" - ${pages%$~suf} - ;; - esac -} - -_man "$@" diff --git a/result/sw/share/zsh/5.9/functions/_mat b/result/sw/share/zsh/5.9/functions/_mat deleted file mode 100644 index ff65167f..00000000 --- a/result/sw/share/zsh/5.9/functions/_mat +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mat - -# Completion for mat 0.6.1 (https://tails.boum.org/blueprint/doc/mat) - -local curcontext="$curcontext" state line -typeset -A opt_args -_arguments \ - '(- *)'{-h,--help}'[show help message and exit]' \ - '(-a --add2archive)'{-a,--add2archive}'[add to output archive non-supported filetypes]' \ - '(-b --backup)'{-b,--backup}'[keep a backup copy]' \ - '(-L --low-pdf-quality)'{-L,--low-pdf-quality}'[produces a lighter, but lower quality PDF]' \ - '(-c --check -b --backup)'{-c,--check}'[check if a file is free of harmful metadatas]' \ - '(-d --display -b --backup)'{-d,--display}'[list all the harmful metadata of a file without removing them]' \ - '(- *)'{-l,--list}'[list all supported fileformats]' \ - '(- *)'{-v,--version}"[show program's version number and exit]" \ - '*:file:_files -g "*.(tif|tiff|png|jpeg|jpg|jpe|odt|fodt|odx|odp|fodp|ods|fods|odg|fodg|docx|docm|pptx|pptm|xlsx|xlsm|pdf|tar|tar.bz2|tar.gz|zip|mp3|mp2|mp1|mpa|ogg|oga|flac|torrent)"' - # they are all that are in --list - # might not be all the supported files - diff --git a/result/sw/share/zsh/5.9/functions/_mat2 b/result/sw/share/zsh/5.9/functions/_mat2 deleted file mode 100644 index 98dd1d05..00000000 --- a/result/sw/share/zsh/5.9/functions/_mat2 +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mat2 - -# Completion for mat2 0.11.0 (https://0xacab.org/jvoisin/mat2). - -local curcontext="$curcontext" state line -typeset -A opt_args -_arguments \ - '(- *)'{-h,--help}'[show help message and exit]' \ - '(-V --verbose)'{-V,--verbose}'[show more verbose status information]' \ - --unknown-members'[policy how to handle unknown members of archive-style files]:policy:(abort omit keep)' \ - --inplace'[clean in place, without backup]' \ - --no-sandbox"[disable bubblewrap's sandboxing]" \ - '(- *)'{-v,--version}"[show program's version number and exit]" \ - '(- *)'{-l,--list}'[list all supported fileformats]' \ - '(- *)'--check-dependencies'[check if mat2 has all the dependencies it needs]' \ - '(-L --lightweight -s --show)'{-L,--lightweight}'[remove SOME metadata]' \ - '(-s --show -L --lightweight)'{-s,--show}'[list harmful metadata detectable by mat2 without removing them]' \ - '*:file:_files -g "*.(epub|pdf|odc|odf|odg|odi|odp|ods|odt|pptx|xlsx|docx|torrent|ncx|tar|xhtml|xhtm|xht|zip|mp3|mpga|mp1|mp2|oga|opus|ogg|spx|flac|wav|gif|jpg|jpe|jfif|jpeg|png|svgz|svg|tiff|tif|bmp|ppm|css|htm|html|cxx|text|log|txt|hh|hxx|el|conf|cc|pm|f90|mpg4|m4v|mp4|wmv|avi)"' - diff --git a/result/sw/share/zsh/5.9/functions/_match b/result/sw/share/zsh/5.9/functions/_match deleted file mode 100644 index a6aaa3f0..00000000 --- a/result/sw/share/zsh/5.9/functions/_match +++ /dev/null @@ -1,81 +0,0 @@ -#autoload - -# This is intended to be used as a completer function after the normal -# completer as in: `zstyle ":completion:::::" completer _complete _match'. -# It temporarily switches on pattern matching, allowing you to try -# completion on patterns without having to setopt glob_complete. -# -# Note, however, that this is only really useful if you don't use the -# expand-or-complete function because otherwise the pattern will -# be expanded using globbing. - -### Shouldn't be needed any more: [[ _matcher_num -gt 1 ]] && return 1 - -local tmp opm="$compstate[pattern_match]" ret=1 orig ins -local oms="$_old_match_string" -local ocsi="$compstate[insert]" ocspi="$compstate[pattern_insert]" - -# Do nothing if we don't have a pattern. - -tmp="${${:-$PREFIX$SUFFIX}#[~=]}" -[[ "$tmp:q" = "$tmp" ]] && return 1 - -_old_match_string="$PREFIX$SUFFIX$HISTNO" - -_tags matches original - -zstyle -s ":completion:${curcontext}:" match-original orig -zstyle -s ":completion:${curcontext}:" insert-unambiguous ins - -# Try completion without inserting a `*'? - -if [[ -n "$orig" ]]; then - compstate[pattern_match]='-' - _complete && ret=0 - compstate[pattern_match]="$opm" - - # No completion with inserting `*'? - - [[ ret -eq 1 && "$orig" = only ]] && return 1 -fi - -if (( ret )); then - compstate[pattern_match]='*' - _complete && ret=0 - compstate[pattern_match]="$opm" -fi - -if (( ! ret )); then - - if [[ "$ins" = pattern && $compstate[nmatches] -gt 1 ]]; then - - [[ "$oms" = "$PREFIX$SUFFIX$HISTNO" && - "$compstate[insert]" = automenu-unambiguous ]] && - compstate[insert]=automenu - [[ "$compstate[insert]" != *menu ]] && - compstate[pattern_insert]= compstate[insert]= - -# We tried to be clever here, making completion insert unambiguous -# expansions as early as possible, but this is really hard to test -# and the code below probably does more harm than good. -# -# [[ $compstate[unambiguous_cursor] -gt $#compstate[unambiguous] ]] && -# ins=yes compstate[insert]="$ocsi" compstate[pattern_insert]="$ocspi" - fi - - if [[ "$ins" = (true|yes|on|1) && - $#compstate[unambiguous] -ge ${#:-${PREFIX}${SUFFIX}} ]] - then - compstate[pattern_insert]=unambiguous - elif _requested original && - { [[ compstate[nmatches] -gt 1 ]] || - zstyle -t ":completion:${curcontext}:" original }; then - local expl - - _description -V original expl original - - compadd "$expl[@]" -U -Q - "$PREFIX$SUFFIX" - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_math b/result/sw/share/zsh/5.9/functions/_math deleted file mode 100644 index f82f1c0f..00000000 --- a/result/sw/share/zsh/5.9/functions/_math +++ /dev/null @@ -1,14 +0,0 @@ -#compdef -math- let - -if [[ "$PREFIX" = *[^a-zA-Z0-9_]* ]]; then - IPREFIX="$IPREFIX${PREFIX%%[a-zA-Z0-9_]#}" - PREFIX="${PREFIX##*[^a-zA-Z0-9_]}" -fi -if [[ "$SUFFIX" = *[^a-zA-Z0-9_]* ]]; then - ISUFFIX="${SUFFIX##[a-zA-Z0-9_]#}$ISUFFIX" - SUFFIX="${SUFFIX%%[^a-zA-Z0-9_]*}" -fi - -_alternative 'math-parameters:math parameter: _math_params' \ - 'user-math-functions:user math function: _user_math_func' \ - 'module-math-functions:math function from zsh/mathfunc: _module_math_func' diff --git a/result/sw/share/zsh/5.9/functions/_math_params b/result/sw/share/zsh/5.9/functions/_math_params deleted file mode 100644 index 8a4b9e1b..00000000 --- a/result/sw/share/zsh/5.9/functions/_math_params +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_parameters -g '(integer|float)*' || _parameters diff --git a/result/sw/share/zsh/5.9/functions/_matlab b/result/sw/share/zsh/5.9/functions/_matlab deleted file mode 100644 index 0a52b9df..00000000 --- a/result/sw/share/zsh/5.9/functions/_matlab +++ /dev/null @@ -1,23 +0,0 @@ -#compdef matlab - -_arguments : \ - {-h,-help}'[display arguments]' \ - '(-)-n[display final environment variables, and exit]' \ - '(-)-e[display all environment variables and values, and exit]' \ - '-arch[start MATLAB assuming architecture arch]:architecture:' \ - '-c[set location of the license file]:licensefile:_files' \ - '(-nodisplay)-display:display:_x_display' \ - '(-display)-nodisplay[do not display any X commands]' \ - '-nosplash[do not display the splash screen during startup]' \ - '-mwvisual[the default X visual to use for figure windows]:visualid:' \ - '(-nosoftwareopengl)-softwareopengl' '(-softwareopengl)-nosoftwareopengl' \ - '-singleCompThread[limit to single computational thread]' \ - '-debug[provide debugging information especially for X based problems]' \ - '(-nodesktop -nojvm)-desktop[allow the MATLAB desktop to be started by a process without a controlling terminal]' \ - '(-desktop -nojvm)-nodesktop[do not start the MATLAB desktop]' \ - '(-nodesktop -desktop)-nojvm[shut off all Java support by not starting the Java virtual machine]' \ - '-jdb[enable remote java debugging]::port [4444]:_ports' \ - '-r[start MATLAB and execute the MATLAB_command]:MATLAB_command:' \ - '-logfile[copy any command window output to a file]:log file:_files' \ - '-D-:debugger:_command_names -e' \ - '-nouserjavapath[ignore custom javaclasspath.txt and javalibrarypath.txt files]' diff --git a/result/sw/share/zsh/5.9/functions/_md5sum b/result/sw/share/zsh/5.9/functions/_md5sum deleted file mode 100644 index e0de826a..00000000 --- a/result/sw/share/zsh/5.9/functions/_md5sum +++ /dev/null @@ -1,53 +0,0 @@ -#compdef md5sum gmd5sum b2sum gb2sum sha1sum gsha1sum sha224sum gsha224sum sha256sum gsha256sum sha384sum gsha384sum sha512sum gsha512sum - -# This function covers the various digest utilities (which are all essentially -# the same program) from GNU Coreutils. It does NOT cover GNU `cksum` and `sum`, -# nor the various BSD digest utilities like `md5` and `sha1` — see `_cksum` for -# all of those. See `_shasum` for the `shasum` Perl script. -# -# @todo Support BusyBox? - -local type ign -local -a args - -case $service in - *md5*) type=MD5 ;; - *b2*) type=BLAKE2 ;; - *sha*) type=SHA${service//[^0-9]/} ;; -esac - -# General options -(( $#words > 2 )) && ign='!' -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' -) -# Summing options -args=( ${ign}${^args} - + sum - '(chk)--tag[create BSD-style checksums]' - '(chk -b -t --binary --text)'{-b,--binary}'[read in binary mode]' - '(chk -b -t --binary --text)'{-t,--text}'[read in text mode]' - '(chk -z --zero)'{-z,--zero}'[end each output line with NUL and disable filename escaping]' -) -# This is the only option that differs amongst all of these tools -[[ $service == *b2* ]] && args+=( - '(chk -l --length)'{-l+,--length=}'[specify digest length]:digest length (bits, multiples of 8)' -) -# Verification options -args+=( - + chk - '(sum -c --check)'{-c,--check}"[verify $type checksums from input files]" - "(sum)--ignore-missing[don't fail or report status for missing files]" - "(sum)--quiet[don't print OK for each verified file]" - '(sum -w --warn)--status[suppress all output]' - '(sum)--strict[exit non-zero for improperly formatted checksum lines]' - '(sum -w --status --warn)'{-w,--warn}'[warn about each improperly formatted checksum line]' -) -# Operands -args+=( - + operand - '*: :_files' -) - -_arguments -s -S : $args diff --git a/result/sw/share/zsh/5.9/functions/_mdadm b/result/sw/share/zsh/5.9/functions/_mdadm deleted file mode 100644 index 5b73ef4b..00000000 --- a/result/sw/share/zsh/5.9/functions/_mdadm +++ /dev/null @@ -1,179 +0,0 @@ -#compdef mdadm - -typeset -A opt_args -local -a args misc modes - -_raids_build () { - _values -S \ "MD device type" \ - 'linear[linear]' \ - {0,raid0,stripe}'[striping]' \ - {1,raid1,mirror}'[mirroring]' \ - {multipath,mp}'[multiple paths to one common physical storage device]' \ - 'faulty[injects faults]' -} - -_raids () { - _values -S \ "MD device type" \ - 'linear[linear]' \ - {0,raid0,stripe}'[striping]' \ - {1,raid1,mirror}'[mirroring]' \ - {4,raid4}'[RAID 4]' \ - {5,raid5}'[RAID 5]' \ - {6,raid6}'[RAID 6]' \ - {10,raid10}'[RAID 1+0]' \ - {multipath,mp}'[multiple paths to one common physical storage device]' \ - 'faulty[injects faults]' -} - -_layouts () { - case ${(v)opt_args[(I)-(l|-level)]} in - 5|raid5) - _values -S \ "RAID5 parity block layout" \ - {left-asymmetric,la}'[left-asymmetric]' \ - {left-symmetric,ls}'[left-symmetric]' \ - {right-asymmetric,ra}'[right-asymmetric]' \ - {right-symmetric,rs}'[right-symmetric]' - ;; - 10|raid10) - _values -s ' ' 'RAID10 layout with number of copies of each datablock' \ - 'n1[near copies]' \ - 'n2[near copies]' \ - 'n3[near copies]' \ - 'n4[near copies]' \ - 'n5[near copies]' \ - 'n6[near copies]' \ - 'n7[near copies]' \ - 'n8[near copies]' \ - 'n8[near copies]' \ - 'f1[far copies]' \ - 'f2[far copies]' \ - 'f3[far copies]' \ - 'f4[far copies]' \ - 'f5[far copies]' \ - 'f6[far copies]' \ - 'f7[far copies]' \ - 'f8[far copies]' \ - 'f9[far copies]' - ;; - faulty) - _values -S \ "failure mode" \ - {write-transient,wt}'[write-transient]' \ - {read-transient,rt}'[read-transient]' \ - {write-persistent,wp}'[write-persistent]' \ - {read-persistent,rp}'[read-persistent]' \ - write-all'[write-all]' \ - {read-fixable,rf}'[read-fixable]' \ - {clear,none}'[remove any pending or periodic failure modes]' \ - flush'[clear any persistent faults]' - esac -} - -if (( $+words[(r)-(A|-assemble)] )); then - args=( - '(--bitmap)'--bitmap='[bitmap file to use with the array]::bitmap file:_files' - '(--uuid -u)'{--uuid=,-u}'[UUID of array to assemble]:UUID' - '(--super-minor -m)'{--super-minor=,-m}'[minor number to look for in super-block]:minor number' - '(--name -N)'{--name=,-N}'[array name to look for in super-block]:array name' - '(--config -c)'{--config=,-c}'[config file]::config file:_files' - '(--scan -s)'{--scan,-s}'[scan config file for missing information]' - '(--run -R)'{--run,-R}'[try to start the array even if not enough devices for a full array are present]' - '(--force -f)'{--force,-f}'[assemble the array even if some superblocks appear out-of-date]' - '(--update -U)'{--update=,-U}'[update superblock]::update the superblock:(sparc2.2 summaries uuid resync byteorder super-minor)' - ) -fi - -if (( $+words[(r)-(B|-build)] )); then - args=( - '(--bitmap)'--bitmap='[file to store/find bitmap information in]::bitmap file:_files' - '(--chunk -c)'{--chunk=,-c}'[chunk size of kibibytes]:chunk size' - '(--rounding)'--rounding='[rounding factor for linear array (==chunk size)]:rounding factor' - '(--level -l)'{--level=,-l}'[RAID level]::RAID level:_raids_build' - '(--raid-devices -n)'{--raid-devices=,-n}'[number of active devices in array]:active devices number' - '(--bitmap-chunk)'--bitmap-chunk='[bitmap chunksize in Kilobytes]:bitmap chunk' - '(--delay -d)'{--delay=,-d}'[bitmap update delay in seconds]:bitmap update delay' - ) -fi - -if (( $+words[(r)-(C|-create)] )); then - args=( - '(--bitmap)'--bitmap='[create a bitmap for the array with the given filename]::bitmap file:_files' - '(--chunk -c)'{--chunk=,-c}'[chunk size of kibibytes]:chunk size' - '(--rounding)'--rounding='[rounding factor for linear array (==chunk size)]:rounding factor' - '(--level -l)'{--level=,-l}'[RAID level]::RAID level:_raids' - '(--parity -p --layout)'{--parity=,-p,--layout=}'[RAID5/6/10 parity algorithm, faulty mode]::layout:_layouts' - '(--raid-devices -n)'{--raid-devices=,-n}'[number of active devices in array]:active devices number' - '(--spare-devices -x)'{--spare-devices=,-x}'[number of spares (eXtras) devices in initial array]:spare devices number' - '(--size -z)'{--size=,-z}'[size (in K) of each drive in RAID1/4/5/6/10]:size of each drive' - '(--force -f)'{--force,-f}'[honour devices as listed on command line]' - '(--run -R)'{--run,-R}'[insist of running the array even if not all devices are present or some look odd]' - '(--readonly -o)'{--readonly,-o}'[start the array readonly]' - '(--name -N)'{--name=,-N}'[textual name for array - max 32 characters]:array name' - '(--bitmap-chunk)'--bitmap-chunk='[bitmap chunksize in Kilobytes]:bitmap chunk' - '(--delay -d)'{--delay,-d}'[bitmap update delay in seconds]:bitmap update delay' - ) -fi - -if (( $+words[(r)-([DEXQ]|-(detail|examine(|-bitmap)|query))] )); then - args=( - '(--zero-superblock)'--zero-superblock'[erase the MD superblock from a device]' - '(--run -R)'{--run,-R}'[start a partially built array]' - '(--stop -S)'{--stop,-S}'[deactivate array, releasing all resources]' - '(--readonly -o)'{--readonly,-o}'[mark array as readonly]' - '(--readwrite -w)'{--readwrite,-w}'[mark array as readwrite]' - '(--test -t)'{--test,-t}'[exit status 0 if ok, 1 if degrade, 2 if dead, 4 if missing]' - ) -fi - -if (( $+words[(r)-(F|-follow|-monitor)] )); then - args=( - '(--mail -m)'{--mail=,-m}'[address to mail alerts of failure to]:::_email_addresses' - '(--program -p --alert)'{--program=,-p,--alert=}'[program to run when an event is detected]::program:_files' - '(--delay -d)'{--delay=,-d}'[seconds of delay between polling state]:seconds' - '(--config -c)'{--config=,-c}'[specify a different config file]::config file:_files' - '(--scan -s)'{--scan,-s}'[find mail-address/program in config file]' - '(--daemonise -f)'{--daemonise,-f}'[fork and continue in child, parent exits]' - '(--pid-file -i)'{--pid-file=,-i}'[in daemon mode write pid to specified file instead of stdout]::PID file:_files' - '(--oneshot -1)'{--oneshot,-1}'[check for degraded arrays, then exit]' - '(--test -t)'{--test,-t}'[generate a TestMessage event against each array at startup]' - ) -fi - -if (( $+words[(r)-(G|-grow)] )); then - args=( - '(--size -z)'{--size=,-z}'[change the active size of devices in an array]:active size' - '(--raid-disks -n)'{--raid-disks=,-n}'[change the number of active devices in a RAID1 array]:number of active devices' - ) -fi - -_mds () { - local -a vals - if [ -r /etc/mdadm.conf ] ; then - local mdadm_conf=/etc/mdadm.conf - elif [ -r /etc/mdadm/mdadm.conf ] ; then - local mdadm_conf=/etc/mdadm/mdadm.conf - else - _message "could not find mdadm.conf" - return 1 - fi - vals=( ${${${(M)${(f)"$(< $mdadm_conf)"}##ARRAY *}//ARRAY /}%%[[:blank:]]*} ) - _describe -t mds "RAID device" vals - _arguments \ - "(-h --help)"{-h,--help}'[display a mode specific help message]' -} - -modes=(-A --assemble -B --build -C --create -F --follow --monitor -G --grow -h --help -V --version) -misc=(-D --detail -E --examine -X --examine-bitmap -Q --query) - -_arguments \ - "($misc $modes)"{-A,--assemble}'[assemble a pre-existing array]:::_mds' \ - "($misc $modes)"{-B,--build}'[build a legacy array without superblocks]:::_mds' \ - "($misc $modes)"{-C,--create}'[create a new array]' \ - "($misc $modes)"{-F,--follow,--monitor}'[select Monitor mode]' \ - "($misc $modes)"{-G,--grow}'[change the size or shape of an active array]' \ - "($modes -D --detail -E --examine -X --examine-bitmap)"{-D,--detail}'[print detail of one or more md devices]' \ - "($modes -D --detail -E --examine -X --examine-bitmap -Q --query)"{-E,--examine}'[print content of md superblock on device(s)]' \ - "($modes -Q --query)"{-Q,--query}'[examine a device]' \ - "($modes -E --examine -X --examine-bitmap)"{-X,--examine-bitmap}'[report information about a bitmap file]' \ - "(-)"{-h,--help}'[display general help message]' \ - "(-)"{-V,--version}'[print version information for mdadm]' \ - "$args[@]" diff --git a/result/sw/share/zsh/5.9/functions/_mdfind b/result/sw/share/zsh/5.9/functions/_mdfind deleted file mode 100644 index b38b0ee9..00000000 --- a/result/sw/share/zsh/5.9/functions/_mdfind +++ /dev/null @@ -1,29 +0,0 @@ -#compdef mdfind - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '(-count)-0[separate result paths by NUL]' \ - '(-0)-count[display count of results instead of paths]' \ - '(-literal)-interpret[interpret query as if entered in Spotlight search field]' \ - '(-interpret)-literal[interpret query as literal query string]' \ - '-live[provide live updates to query results]' \ - '-onlyin[limit search to specified directory]: :_directories' \ - '(: -s)*-name[search for files with names matching specified string]:file name string' \ - '-reprint[reprint -live results on update]' \ - '(: -name)-s[show contents of specified smart folder]: :->smart-folders' \ - '(-s -name)1: :_guard "^-*" "query"' \ -&& ret=0 - -[[ $state == smart-folders ]] && { - tmp=( "$HOME/Library/Saved Searches/"*.savedSearch(-.N:r:t) ) - if (( $#tmp )); then - _values 'smart folder' $tmp && ret=0 - else - _message 'smart folder' && ret=0 - fi -} - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mdls b/result/sw/share/zsh/5.9/functions/_mdls deleted file mode 100644 index 853cafd0..00000000 --- a/result/sw/share/zsh/5.9/functions/_mdls +++ /dev/null @@ -1,9 +0,0 @@ -#compdef mdls - -# Note: The inconsistent use of the -o+ option variant here is deliberate -_arguments -s -S : \ - '*'{-n+,-name}'[restrict output to specified attribute]:attribute' \ - '(-p -plist)-nullMarker[specify string used for null values]:string' \ - '(-p -r -nullMarker -plist -raw)'{-p,-plist}'[output in XML plist format to specified file]:output file:_files' \ - '(-p -r -plist -raw)'{-r,-raw}'[print raw (NUL-delimited) attribute data]' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_mdutil b/result/sw/share/zsh/5.9/functions/_mdutil deleted file mode 100644 index abac690a..00000000 --- a/result/sw/share/zsh/5.9/functions/_mdutil +++ /dev/null @@ -1,19 +0,0 @@ -#compdef mdutil - -# @todo This isn't fully comprehensive, but it's unclear from the documentation -# how some of these options are meant to work together or what kind of arguments -# they expect - -local -a volumes=( / /Volumes/*(N) ) - -_arguments -s -S : \ - '(-V)-a[apply to all volumes]' \ - '-d[disable Spotlight activity]' \ - '-E[erase and rebuild index]' \ - '-i[toggle indexing status]:indexing status:(on off)' \ - '-p[publish metadata]' \ - '-s[print indexing status]' \ - '(: -)-t[resolve files from specified file ID]:file ID, volume path, or device ID: :file ID' \ - "(-a)-V[apply to stores on specified volume]:volume:(${(j< >)${(@q-)volumes}})" \ - '-v[output verbosely]' \ - "*:volume:(${(j< >)${(@q-)volumes}})" diff --git a/result/sw/share/zsh/5.9/functions/_members b/result/sw/share/zsh/5.9/functions/_members deleted file mode 100644 index ffe3d4d4..00000000 --- a/result/sw/share/zsh/5.9/functions/_members +++ /dev/null @@ -1,9 +0,0 @@ -#compdef members - -_arguments \ - '(-a --all)'{-a,--all}'[show all group members on one line]' \ - '(-p --primary)'{-p,--primary}'[show only primary group members]' \ - '(-s --secondary)'{-s,--secondary}'[show only secondary group members]' \ - '(-t --two-lines)'{-t,--two-lines}'[show only primary/secondary across two lines]' \ - '(-h --help)'{-h,--help}'[show help]' \ - ':group:_groups' diff --git a/result/sw/share/zsh/5.9/functions/_mencal b/result/sw/share/zsh/5.9/functions/_mencal deleted file mode 100644 index 4286b94c..00000000 --- a/result/sw/share/zsh/5.9/functions/_mencal +++ /dev/null @@ -1,27 +0,0 @@ -#compdef mencal - -local curcontext="$curcontext" state line ret=1 - -_arguments -C \ - '(--monday -m)'{-m,--monday}'[monday as first day of work]' \ - '-1[current month]' \ - '-3[previous, current, and next month]' \ - '-y[all-year calendar]::year:' \ - '(--quiet -q)'{-q,--quiet}'[no top information]' \ - '(--nocolor -n)'{-n,--nocolor}'[noncolored output]' \ - '(--icolor -i)'{-i,--icolor}'[intersection color]:color:(red green blue yellow violet cyan shiny bold)' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-V,--version}'[print version information]' \ - \*{-c,--config}'[config]:options:->option' && ret=0 - -if [[ $state = option ]]; then - _values -s , 'config option' \ - '(s start)'{s,start}'[start day]:day' \ - '(l length)'{l,length}'[period length]:length' \ - '(d duration)'{d,duration}'[menstruation duration]:duration' \ - '(n name)'{n,name}'[name of subject]:name' \ - '(f file)'{f,file}'[filename]:file:_files' \ - '(c color)'{c,color}'[color for menstruation days]:color:(red green blue yellow violet cyan shiny bold)' && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_menu b/result/sw/share/zsh/5.9/functions/_menu deleted file mode 100644 index 0e12cb76..00000000 --- a/result/sw/share/zsh/5.9/functions/_menu +++ /dev/null @@ -1,23 +0,0 @@ -#autoload - -[[ _matcher_num -gt 1 ]] && return 1 - -# This completer is an example showing how menu completion can be -# implemented with the new completion system. -# Use this one before the normal _complete completer, as in: -# -# zstyle ":completion:::::" completer _menu _complete - -if [[ -n "$compstate[old_list]" ]]; then - - # We have an old list, keep it and insert the next match. - - compstate[old_list]=keep - compstate[insert]=$((compstate[old_insert]+1)) -else - # No old list, make completion insert the first match. - - compstate[insert]=1 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_mere b/result/sw/share/zsh/5.9/functions/_mere deleted file mode 100644 index bd051e9f..00000000 --- a/result/sw/share/zsh/5.9/functions/_mere +++ /dev/null @@ -1,3 +0,0 @@ -#compdef mere - -_files -g '*.[1-9]([a-z]|)(-.) *.man(-.)' diff --git a/result/sw/share/zsh/5.9/functions/_mergechanges b/result/sw/share/zsh/5.9/functions/_mergechanges deleted file mode 100644 index 607fdacb..00000000 --- a/result/sw/share/zsh/5.9/functions/_mergechanges +++ /dev/null @@ -1,5 +0,0 @@ -#compdef mergechanges - -_arguments \ - '-f[output to file]' \ - '*:changes file:_files -g "*.changes(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_message b/result/sw/share/zsh/5.9/functions/_message deleted file mode 100644 index dbeed4a8..00000000 --- a/result/sw/share/zsh/5.9/functions/_message +++ /dev/null @@ -1,45 +0,0 @@ -#autoload - -local format raw gopt - -if [[ "$1" = -e ]]; then - local expl ret=1 tag - - _comp_mesg=yes - - if (( $# > 2 )); then - tag="$2" - shift - else - tag="$curtag" - fi - _tags "$tag" && while _next_label "$tag" expl "$2"; do - compadd ${expl:/-X/-x} - ret=0 - done - - (( ! $compstate[nmatches] )) && [[ $compstate[insert] = *unambiguous* ]] && - compstate[insert]= - - return ret -fi - -gopt=() -zparseopts -D -a gopt 1 2 V J - -_tags messages || return 1 - -if [[ "$1" = -r ]]; then - raw=yes - shift - format="$1" -else - zstyle -s ":completion:${curcontext}:messages" format format || - zstyle -s ":completion:${curcontext}:descriptions" format format -fi - -if [[ -n "$format$raw" ]]; then - [[ -z "$raw" ]] && zformat -F format "$format" "d:$1" "${(@)argv[2,-1]}" - builtin compadd "$gopt[@]" -x "$format" - _comp_mesg=yes -fi diff --git a/result/sw/share/zsh/5.9/functions/_mh b/result/sw/share/zsh/5.9/functions/_mh deleted file mode 100644 index 3eddd41a..00000000 --- a/result/sw/share/zsh/5.9/functions/_mh +++ /dev/null @@ -1,111 +0,0 @@ -#compdef ali anno burst comp dist flist flists fmttest folder folders forw fnext fprev inc mark mhfixmsg mhlist mhmail mhn mhparam mhpath mhshow mhstore msgchk new next packf pick prev refile repl rmf rmm scan show sortm whom - -if [[ -z $commands[mhpath] ]]; then - _message "MH commands are not available" - return 1 -fi - -# Completion for all possible MH commands. -local mymhdir=${$(_call_program mhpath mhpath + 2>/dev/null):-~/Mail} -local mhlib=/usr/lib/mh - -local prev="$words[CURRENT-1]" expl - -if compset -P 1 -; then - # get list of options, which MH commands can generate themselves - # awk is just too icky to use for this, sorry. send me one if - # you come up with it. - local -a options disp - options=( - $($words[1] -help | perl -ne 'if (/^\s*-\(?(\S+)/) { - $n = $1; - $n =~ s/\)//g; - print $n =~ s/^\[([a-z]+)\]// ? "$n\n$1$n\n" : "$n\n"; - }') - ) - if zstyle -t ":completion:${curcontext}:options" prefix-hidden; then - _wanted options expl option compadd -d disp - "$options[@]" - else - disp=( -${options} ) - _wanted options expl option compadd -d disp - "$options[@]" - fi - return -elif compset -P 1 '[+@]' || [[ "$prev" = -draftfolder ]]; then - # Complete folder names. - local mhpath - - if [[ $IPREFIX != '@' ]]; then - [[ $IPREFIX = '+' ]] || IPREFIX=+ - mhpath=$mymhdir - else - mhpath=$(mhpath) - fi - - _wanted files expl 'MH folder' _path_files -W mhpath -/ -elif [[ "$prev" = -(editor|(whatnow|rmm|show|more)proc) ]]; then - _command_names -e -elif [[ "$prev" = -file ]]; then - _files -elif [[ "$prev" = -(form|audit|filter) ]]; then - # Need some MH template file, which may be in our own MH directory - # or with the standard library. - local mhfpath - # This is the only place we need mhlib, so leave the test till here. - mhlib=${${$(mhparam mhlproc 2>/dev/null):h}:-/usr/lib/mh} - mhfpath=($mymhdir $mhlib) - - _wanted files expl 'MH template file' _files -W mhfpath -g '*(-.)' -elif [[ $service = mhmail ]]; then - _email_addresses -elif [[ "$prev" = -(no|)cc ]]; then - _wanted -C "$prev" values expl 'CC address' compadd all to cc me -elif [[ "$prev" = -[rw]cache ]]; then - _wanted -C "$prev" values expl cache compadd public private never ask -elif [[ "$prev" = -textfield ]]; then - _wanted -C "$prev" -x headers expl header compadd -M 'm:{a-zA-Z}={A-Za-z}' \ - Subject From To cc -elif [[ "$prev" = -datefield ]]; then - _wanted -C "$prev" -x headers expl header compadd -M 'm:{a-zA-Z}={A-Za-z}' \ - Delivery-Date -elif [[ $service = mhparam ]]; then - _wanted parameters expl 'MH parameter' compadd - \ - ${${(f)"$(mhparam -all)"}%%:*} -elif [[ $service = ali ]]; then - _email_addresses -n MH -elif compset -P '*:'; then - _alternative \ - 'sequences:sub-sequence:(first last cur prev next)' - 'number: : _message -e number "number of messages"' -else - # Generate sequences. - local foldnam folddir f sequences mhneg ret=1 - - compset -P '*-' # ignore start of message range - - for f in $words; do - [[ $f = [@+]* ]] && foldnam=$f - done - if [[ $foldnam = '+'* ]]; then - folddir=$mymhdir/${foldnam#+} - elif [[ $foldnam = '@'* ]]; then - folddir=$(mhpath)/${foldnam#@} - else - folddir=$(mhpath) - # leaving foldnam empty works here - fi - - sequences=( ${${(f)"$(mark $foldnam 2>/dev/null)"}%%:*} ) - mhneg="$(mhparam Sequence-Negation)" && sequences=( {,$mhneg}$^sequences ) - sequences+=( all first last prev next ) - [[ $service = mhpath ]] && sequences+=( new ) - _tags sequences - while _tags; do - while _next_label sequences expl sequence; do - compadd -S ' ' -r '-: \t\n\-' "$expl[@]" -a sequences && ret=0 - _path_files -S ' ' -r '-: \t\n\-' "$expl[@]" -W folddir -g '<->(-.)' && - ret=0 - done - (( ret )) || return 0 - done - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_mii-tool b/result/sw/share/zsh/5.9/functions/_mii-tool deleted file mode 100644 index 72c47a47..00000000 --- a/result/sw/share/zsh/5.9/functions/_mii-tool +++ /dev/null @@ -1,13 +0,0 @@ -#compdef mii-tool - -_arguments -s -S \ - '(- *)'{-V,--version}'[display version information]' \ - '(-v --verbose)'{-v,--verbose}'[verbose output]' \ - '(-R --reset)'{-R,--reset}'[reset MII to poweron state]' \ - '(-r --restart)'{-r,--restart}'[restart autonegotiation]' \ - '(-w --watch)'{-w,--watch}'[monitor for link status changes]' \ - '(-l --log)'{-l,--log}'[write events to syslog]' \ - '(-A --advertise)'{-A,--advertise=}'[advertise only specified media]:medium:_values -s , medium 1000baseTx-HD 1000baseTx-FD 100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD 1000baseTx 100baseTx 10baseT' \ - '(-F --force)'{-F,--force=}'[force specified medium]:medium:(100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD 100baseTx 10baseT)' \ - '(-p --phy)'{-p,--phy=}'[set PHY (MII address) to report]:MII address' \ - '*:interface:_net_interfaces' diff --git a/result/sw/share/zsh/5.9/functions/_mime_types b/result/sw/share/zsh/5.9/functions/_mime_types deleted file mode 100644 index 18a332e0..00000000 --- a/result/sw/share/zsh/5.9/functions/_mime_types +++ /dev/null @@ -1,42 +0,0 @@ -#autoload - -local expl maintype -local -a default_type_files type_files match mbegin mend -integer ind - -default_type_files=(~/.mime.types /etc/mime.types) - -# This is the same style as used by zsh-mime-setup, with a different -# context. -if zstyle -a ":completion:${curcontext}:" mime-types type_files; then - while (( (ind = ${type_files[(I)+]}) > 0 )); do - type_files[$ind]=($default_type_files) - done -else - type_files=($default_type_files) -fi - -# -# Handle two different mime type formats; the simple -# format: -# application/x-pws-frobnicate psf pwsf -# and the extended format -# type=application/x-pws-frobnicate \ -# desc="PWS frobnicated widget" \ -# exts="pwsf,psf" -# which Netscape seems to like. -# - -if [[ $PREFIX = (#b)([^/]##)/* ]]; then - # Search for subtype. - maintype=$match[1] - compset -p $(( ${#maintype} + 1 )) - _wanted mime-subtypes expl 'MIME subtype' \ - compadd -- $(sed -ne "s%^\(type=\|\)${maintype}/\([^ ]*\).*$%\2%p" \ - $type_files 2>/dev/null) -else - # Search for main type. - _wanted mime-types expl 'MIME type' \ - compadd -S/ -- $(sed -ne "s/^type=//" \ - -e "s%^\(${PREFIX:-[a-z]}[^=\"]*\)/.*$%\1%p" $type_files 2>/dev/null) -fi diff --git a/result/sw/share/zsh/5.9/functions/_mixerctl b/result/sw/share/zsh/5.9/functions/_mixerctl deleted file mode 100644 index d2a9ea3e..00000000 --- a/result/sw/share/zsh/5.9/functions/_mixerctl +++ /dev/null @@ -1,11 +0,0 @@ -#compdef mixerctl - -: ${(A)_cache_mixerctlvars:=${${(f)"$(mixerctl -a)"}%%=*}} -_arguments -s -S -A "-*" \ - '(-q -t *)-a[Print all device variables and their current values]' \ - '-f[Specify an alternative audio mixing device]:file:_files -g "*(-%c)"' \ - '(-q -t)-n[Suppress printing of the variable name]' \ - '(-a -n -v)-q[Suppress all printing when setting a variable]' \ - '(-a -n -v)-t[Attempt to select the next possible value of an enum]' \ - '(-q -t)-v[Show all possible values of variables]' \ - '(-a)*:mixerctl variable:_multi_parts -i -S = -q . _cache_mixerctlvars' diff --git a/result/sw/share/zsh/5.9/functions/_mkdir b/result/sw/share/zsh/5.9/functions/_mkdir deleted file mode 100644 index 4cd6bda3..00000000 --- a/result/sw/share/zsh/5.9/functions/_mkdir +++ /dev/null @@ -1,49 +0,0 @@ -#compdef mkdir gmkdir zf_mkdir - -local curcontext="$curcontext" variant ret=1 -local -a state line expl args aopts=( -A '-*' ) -typeset -A opt_args - -args=( - '(-m --mode)'{-m,--mode=}'[set permission mode]: :_file_modes' - '(-p --parents)'{-p,--parents}'[make parent directories as needed]' - '*: :->directories' -) - -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help - -case $variant in - gnu|freebsd*|dragonfly*|darwin*) - args+=( - '(-v --verbose)'{-v,--verbose}'[print message for each created directory]' - ) - ;| - gnu) - aopts=() - if [[ $OSTYPE == linux* ]]; then - args+=( - '(--context)-Z[set SELinux context]' - '(-Z)--context=-[set SELinux context]::SELinux context:_selinux_contexts' - ) - fi - args+=( - '(- :)--help[display help information]' - '(- :)--version[display version information]' - ) - ;; - *) # non-GNU: remove long options - args=( ${${${args:#(|*\))--*}//--[^ )]#/}/\( #\)/} ) - ;; -esac - -_arguments -C -s -S $aopts $args && ret=0 - -case "$state" in - directories) - _wanted directories expl \ - 'parent directory or name of directory to create' \ - _path_files -/ && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mkfifo b/result/sw/share/zsh/5.9/functions/_mkfifo deleted file mode 100644 index a055e4a1..00000000 --- a/result/sw/share/zsh/5.9/functions/_mkfifo +++ /dev/null @@ -1,20 +0,0 @@ -#compdef mkfifo gmkfifo - -local -a aopts args - -if _pick_variant gnu='Free Soft' unix --version; then - args=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-m --mode)'{-m+,--mode=}'[specify file mode]: :_file_modes' - ) - [[ $OSTYPE == linux* ]] && args+=( - '(--context)-Z[set SELinux security context to default]' - '(-Z)--context=-[like -Z, or specify SELinux security context]::SELinux security context:_selinux_contexts' - ) -else - aopts=( -A '-*' ) - args=( '-m+[specify file mode]: :_file_modes' ) -fi - -_arguments -s -S $aopts : '*:FIFO:_files' $args diff --git a/result/sw/share/zsh/5.9/functions/_mknod b/result/sw/share/zsh/5.9/functions/_mknod deleted file mode 100644 index 8f07328d..00000000 --- a/result/sw/share/zsh/5.9/functions/_mknod +++ /dev/null @@ -1,45 +0,0 @@ -#compdef mknod gmknod - -# - @todo Major/minor device numbers could be completed using /proc/devices on -# Linux and e.g. `stat -f %Hr /dev/*` on BSD/Darwin -# - @todo Device numbers should not be completed given p or w types - -local -a aopts args - -if _pick_variant gnu='Free Soft' $OSTYPE --version; then - args=( - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-m --mode)'{-m+,--mode=}'[specify file mode]: :_file_modes' - '1:special file:_files' - '2:special file type:(( - b\:"block (buffered) special file" - {c,u}\:"character (unbuffered) special file" - p\:FIFO - ))' - '3:major device number' - '4:minor device number' - ) - [[ $OSTYPE == linux* ]] && args+=( - '(--context)-Z[set SELinux security context to default]' - '(-Z)--context=-[like -Z, or specify SELinux security context]::SELinux security context:_selinux_contexts' - ) -else - aopts=( -A '-*' ) - args=( - '-F+[specify device-number format]:device-number format:( - native 386bsd 4bsd bsdos freebsd hpux isc linux netbsd osf1 sco solaris - sunos svr3 svr4 ultrix - )' - '1:special file:_files' - '2:special file type:(( - b\:"block-type device" - c\:"character-type device" - w\:"whiteout node" - ))' - '3:major device number' - '4:minor device number' - ) -fi - -_arguments -s -S $aopts : $args diff --git a/result/sw/share/zsh/5.9/functions/_mkshortcut b/result/sw/share/zsh/5.9/functions/_mkshortcut deleted file mode 100644 index 7d5a49d8..00000000 --- a/result/sw/share/zsh/5.9/functions/_mkshortcut +++ /dev/null @@ -1,20 +0,0 @@ -#compdef mkshortcut mkshortcut.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--arguments -a)'{-a,--arguments=-}'[use specified arguments]:arguments' \ - '(--desc -d)'{-d,--desc=-}'[text for description/tooltip (defaults to POSIX path of TARGET)]:description' \ - '(--icon -i)'{-i,--icon=-}'[specify icon file for link to use]:icon file:_files' \ - '(--iconoffset -j)'{-j,--iconoffset=-}'[specify offset of icon in icon file]:offset' \ - '(--name -n)'{-n,--name=-}'[specify name for link]:file:_files' \ - '(--show -s)'{-s,--show=-}'[window to show: normal, minimized, maximized]:window state:(norm min max)' \ - '(--workingdir -w)'{-w,--workingdir=-}'[set working directory (defaults to directory path of TARGET)]:working directory:_files -/' \ - '(--allusers -A)'{-A,--allusers}"[use 'All Users' instead of current user for -D,-P]" \ - '(--desktop -D --smprograms -P)'{-D,--desktop}"[create link relative to 'Desktop' directory]" \ - '(--desktop -D --smprograms -P)'{-P,--smprograms}"[create link relative to Start Menu 'Programs' directory]" \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)--usage[display brief usage message]' \ - '(- 1)'{-v,--version}'[display version information]' \ - '(- 1)--license[display licensing information]' \ - '1:target:_files' diff --git a/result/sw/share/zsh/5.9/functions/_mktemp b/result/sw/share/zsh/5.9/functions/_mktemp deleted file mode 100644 index 03fc89e3..00000000 --- a/result/sw/share/zsh/5.9/functions/_mktemp +++ /dev/null @@ -1,43 +0,0 @@ -#compdef mktemp gmktemp - -local variant -local args - -_pick_variant -r variant busybox=BusyBox gnu='Free Soft' unix --version - -args=( - '(-d --directory)'{-d,--directory}'[make directory instead of file]' - '(: -)--help[display help information]' - '(-p --tmpdir)'{-p+,--tmpdir=}'[make relative to specified directory]: :_directories' - '(-q --quiet)'{-q,--quiet}'[suppress error messages]' - '--suffix=[append specified suffix to template]:template suffix' - '-t[interpret template as single path component relative to temp dir]' - '(-u --dry-run)'{-u,--dry-run}'[print file name only]' - '(: -)'{-V,--version}'[display version information]' - '1: :_guard "^-*" "template name"' -) - -# Non-GNU variants don't support long options (except BusyBox's --help) -if [[ $variant == *busybox* ]]; then # See also: _busybox - args=( ${args:#((#s)|*\))(\*|)--^help*} ) -elif [[ $variant != gnu ]]; then - args=( ${args:#((#s)|*\))(\*|)--*} ) -fi - -[[ $variant == gnu ]] || { - # BusyBox, OpenBSD, and Solaris have -p, but -t doesn't take an argument - if [[ $variant == *busybox* ]] || [[ $OSTYPE == (openbsd|solaris)* ]]; then - args=( ${args:#((#s)|*\))(\*|)-t*} ) - args+=( '-t[generate template relative to temp dir]' ) - # Dragonfly, FreeBSD, and Darwin take an argument to -t and support any number - # of template files. These OSes do not have -p and -V. - else - args=( ${args:#((#s)|*\))(1:*|(\*|)-[ptV]*)} ) - args+=( - '-t[generate template relative to temp dir using specified prefix]:template prefix' - '*: :_guard "^-*" "template name"' - ) - fi -} - -_arguments -s -S : $args diff --git a/result/sw/share/zsh/5.9/functions/_mkzsh b/result/sw/share/zsh/5.9/functions/_mkzsh deleted file mode 100644 index e1dc0fbc..00000000 --- a/result/sw/share/zsh/5.9/functions/_mkzsh +++ /dev/null @@ -1,7 +0,0 @@ -#compdef mkzsh mkzsh.exe - -_arguments -s -S \ - '(--allusers -A)'{-A,--allusers}'[creates item for All Users instead of just current user]' \ - '(--desktop -D)'{-D,--desktop}'[creates a Desktop icon for running /zsh.bat]' \ - '(--smprograms -P)'{-P,--smprograms}'[creates a Program menu item for running /zsh.bat]' \ - '(--help -h)'{-h,--help}'[display help information]' diff --git a/result/sw/share/zsh/5.9/functions/_module b/result/sw/share/zsh/5.9/functions/_module deleted file mode 100644 index 23cf0c58..00000000 --- a/result/sw/share/zsh/5.9/functions/_module +++ /dev/null @@ -1,179 +0,0 @@ -#compdef module - -# Main dispatcher -_module() -{ - _arguments -s \ - '(-H --help)'{--help,-H}'[display usage info]' \ - '(-V --version)'{--version,-V}'[module command version and configuration options]' \ - '(-f --force)'{--force,-f}'[force active dependency resolution]' \ - '(-t --terse)'{--terse,-t}'[display avail and list output in short format]' \ - '(-l --long)'{--long,-l}'[display avail and list output in long format]' \ - '(-h --human)'{--human,-h}'[display short output in human-readable format]' \ - '(-v --verbose)'{--verbose,-v}'[verbose]' \ - '(-s --silent)'{--silent,-s}'[disable verbose messages]' \ - '(-c --create)'{--create,-c}'[create caches]' \ - '(-i --icase)'{--icase,-i}'[case insensitive]' \ - '(-u --userlvl)'{--userlvl,-u}'[set user level to value]:level:(novice expert advanced)' \ - '*::module command:_module_command' -} - -(( $+functions[_module_command] )) || _module_command() -{ - local -a _module_cmds - - _module_cmds=( - "help:print the usage of each sub-command" - "load:load a module into the shell environment" - "add:load a module into the shell environment" - "unload:remove a module from the shell environment" - "rm:remove a module from the shell environment" - "switch:switch loaded a loaded module with another module" - "swap:switch loaded a loaded module with another module" - "display:display information about a module" - "show:display information about a module" - "list:list loaded modules" - "avail:list all available modules" - "use:add a directory to MODULEPATH" - "unuse:remove a directory from MODULEPATH" - "update:reload all loaded modules" - "clear:clear loaded modules information" - "purge:unload all loaded modules" - "refresh:refresh all non-persistent components of loaded modules" - "whatis:display module information" - "apropos:search for a given keyword in modules" - "keyword:search for a given keyword in modules" - "initadd:add or append a module to the user's shell init file" - "initprepend:add or prepend a module to the user's shell init files" - "initrm:remove a module from the user's shell init file" - "initswitch:switch modules in the user's shell init file" - "initlist:list all loaded modules in the user's shell init files" - "initclear:clear all modules from the user's shell init files" - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'module command' _module_cmds - else - local curcontext="$curcontext" ret - - cmd="${${_module_cmds[(r)$words[1]:*]%%:*}}" - # Deal with any aliases - case $cmd in - add) cmd="load";; - rm) cmd="unload";; - swap) cmd="switch";; - show) cmd="display";; - keyword) cmd="apropos";; - esac - - if (( $#cmd )); - then - local update_policy - curcontext="${curcontext%:*:*}:module-${cmd}:" - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - _call_function ret _module_$cmd || _message 'no more arguments' - else - _message "unknown module command: $words[1]" - fi - - return ret - fi -} - -# Fills the available modules cache -_module_available_modules() -{ - if [[ -n $MODULEPATH ]] && [[ ${+_available_modules} -eq 0 ]] - then - _available_modules=(${$(find -L ${(e)=MODULEPATH//:/ } -type f -print 2>/dev/null | grep -v \\.version | sed -e 's,\('${${(e)=MODULEPATH//:/\/\\\|}%\\\|}'\),,g' -e 's,^/*,,g' -e 's,\.lua$,,g'):#*\~}) - fi -} - -# Completion function for help -(( $+functions[_module_help] )) || _module_help() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for load|add -(( $+functions[_module_load] )) || _module_load() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for unload|rm -(( $+functions[_module_unload] )) || _module_unload() -{ - compadd "$@" -- ${=LOADEDMODULES//:/ } -} - -# Completion function for switch|swap -(( $+functions[_module_switch] )) || _module_switch() -{ - # Actually first argument could be a loaded module - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for display|show -(( $+functions[_module_display] )) || _module_display() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for avail -### No completion (yet?) - -# Completion function for use -(( $+functions[_module_use] )) || _module_use() -{ - _arguments -s \ - '(-a --append)'{--append,-a}'[append the directories instead of prepending]' \ - '*:directory:_files -/' -} - -# Completion function for unuse -(( $+functions[_module_unuse] )) || _module_unuse() -{ - compadd "$@" -- ${=MODULEPATH//:/ } -} - -# Completion function for whatis -(( $+functions[_module_whatis] )) || _module_whatis() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initadd -(( $+functions[_module_initadd] )) || _module_initadd() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initprepend -(( $+functions[_module_initprepend] )) || _module_initprepend() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initrm -(( $+functions[_module_initrm] )) || _module_initrm() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -# Completion function for initswitch -(( $+functions[_module_initswitch] )) || _module_initswitch() -{ - _module_available_modules - _multi_parts / "($_available_modules)" -} - -_module "$@" diff --git a/result/sw/share/zsh/5.9/functions/_module-assistant b/result/sw/share/zsh/5.9/functions/_module-assistant deleted file mode 100644 index b2c1e56e..00000000 --- a/result/sw/share/zsh/5.9/functions/_module-assistant +++ /dev/null @@ -1,37 +0,0 @@ -#compdef module-assistant m-a - -typeset -a _module_assistant_commands - -_module_assistant_commands=( - 'update[synchronize version index files]' - 'prepare[install required kernel headers package]' - 'fakesource[install required kernel source package]' - 'list[a print a list of details about available packages]' - 'list-available[b print a list of details about available packages]' - 'la[c print a list of details about available packages]' - 'list-installed[ print a list of details about installed packages]' - 'li[print a list of details about installed packages]' - 'search[search for packages]' - 'get[install specified source package]' - 'build[build specified packages]' - 'install[install specified packages]' - 'auto-install[do all necessary steps to install specified packages]' - 'clean[clear build directories of the kernel packages]' - 'purge[clear cache and remove all binary packages of source package]' -) - -_arguments -A \ - '(-h --help)'{-h,--help}'[print help screen]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose, show full paths, etc.]' \ - '(-q --quiet)'{-q,--quiet}'[the opposite of verbose]' \ - '(-n --no-rebuild)'{-n,--no-rebuild}'[do not rebuild when package exists]' \ - '(-i --ignore-failures)'{-i,--ignore-failures}'[do not stop on build failures]' \ - '(-s --apt-search)'{-s,--apt-search}'[search for installation candidates in the Debian archive]' \ - '(-f --force)'{-f,--force}'[force using new versions even when old ones exist]' \ - '(-u --userdir)'{-u,--userdir}'[specify a (writable) replacement directory for /var&/usr]:dir:_files -/' \ - '(-l --kvers-list)'{-l,--kvers-list}'[list of kernel versions to work on (default: current version)]:kernel version list:' \ - '(-k --kernel-dir)'{-k,--kernel-dir}'[list of kernel headers/source directories, comma separated]:list of dirs:_files -/' \ - '(-t --text-mode)'{-t,--text-mode}'[no progress bars]' \ - '1:list of commands:_values -s , subcommands "${_module_assistant_commands[@]}"' \ - '*:package: compadd /usr/src/modass/var_cache_modass/*.avail_version(N:t:r) /var/cache/modass/*.avail_version(N:t:r)' - diff --git a/result/sw/share/zsh/5.9/functions/_module_math_func b/result/sw/share/zsh/5.9/functions/_module_math_func deleted file mode 100644 index 5044bdf4..00000000 --- a/result/sw/share/zsh/5.9/functions/_module_math_func +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local mod -local -a funcs alts -local -a modules=( example mathfunc system ) - -for mod in $modules; do - funcs=( ${${${(f)"$(zmodload -Fl zsh/$mod 2>/dev/null)"}:#^+f:*}##+f:} ) - alts+=( "module-math-functions.${mod}:math function from zsh/${mod}:compadd -S '(' $funcs" ) -done - -_alternative $alts diff --git a/result/sw/share/zsh/5.9/functions/_modutils b/result/sw/share/zsh/5.9/functions/_modutils deleted file mode 100644 index 3e46130a..00000000 --- a/result/sw/share/zsh/5.9/functions/_modutils +++ /dev/null @@ -1,172 +0,0 @@ -#compdef lsmod modinfo modprobe rmmod insmod - -_modules_caching_policy() -{ - # Rebuild if $modules_dir is newer than the cache, or every week. - local -a oldp - - oldp=( "$1"(Nmw+0) ) - (( $#oldp )) || [[ $modules_dir -nt $1 ]] -} - -_modutils() { - local curcontext="$curcontext" expl state line modules modaliases ign args ret=1 - local -A opt_args - local -a possible_modules_dirs=( - # Mostly every other distro - /lib/modules - # NixOS & possibly Guix - /run/booted-system/kernel-modules/lib/modules - ) - local modules_dir tested_modules_dir - for tested_modules_dir in "${possible_modules_dirs[@]}"; do - if [[ -d "$tested_modules_dir" ]]; then - modules_dir="$tested_modules_dir" - break - fi - done - - local update_policy - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _modules_caching_policy - fi - - args=( - '(-)'{-V,--version}'[display version information]' - '(-)'{-h,--help}'[display usage information]' - ) - - case "$service" in - lsmod) _arguments -s "$args[@]" && return ;; - - modinfo) - _arguments -s -C "$args[@]" \ - '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ - {-b+,--basedir=}'[use specified directory as filesystem root]:path:_directories' \ - '1:module file:->all-modules' \ - + '(field)' \ - {-a,--author}"[display the module's author]" \ - {-d,--description}"[display the module's description]" \ - {-l,--license}"[display the module's license]" \ - {-n,--filename}"[display the module's filename]" \ - {-p,--parameters}'[display the typed parameters that a module may support]' \ - {-F+,--field}"[display only selected module's information]:module_field:(alias author depends description filename intree license name parm sig_hashalgo sig_key signat signer srcversion vermagic)" \ - {-0,--null}'[use a null instead of newline in output]' && ret=0 - ;; - - modprobe) - ign='-h --help -V --version -c --showconfig --show-config' - _arguments -s -C "$args[@]" \ - "(-a --all $ign)"{-a,--all}'[load all matching modules]' \ - "(-n --show $ign)"{-n,--show}"[don't actually perform action]" \ - "(-q --quiet $ign)"{-q,--quiet}"[don't complain about insmod failures]" \ - "(-s --syslog $ign)"{-s,--syslog}'[report via syslog instead of stderr]' \ - "(-v --verbose $ign)"{-v,--verbose}'[print all commands as executed]' \ - '(-C --config)'{-C+,--config=}'[specify config file]:config file:_files' \ - "(-r --remove -a --all $ign)"{-r,--remove}'[remove module (stacks)]' \ - '--remove-dependencies[also remove modules depending on it]' \ - '(* -R --resolve-alias)'{-R,--resolve-alias}'[only lookup and print alias and exit]' \ - '--first-time[fail if module already inserted or removed]' \ - "(-a --all $ign)"{'-i[ignore install/remove commands in config file]','--ignore-install[ignore install commands in config file]','--ignore-remove[ignore remove commands in config file]'} \ - '(-b --use-blacklist)'{-b,--use-blacklist}'[apply blacklist to resolved alias]' \ - '(-f --force --force-modversions --force-vermagic)'{-f,--force}'[force module insertion or removal]' \ - "(-f --force)--force-modversion[ignore module's version]" \ - "(-f --force)--force-vermagic[ignore module's version magic]" \ - '(-D --show-depends)'{-D,--show-depends}'[only print module dependencies and exit]' \ - '(-)'{-c,--showconfig,--show-config}'[show current configuration]' \ - --{show,dump}'-modversions[dump module symbol version and exit]' \ - {-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \ - {-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \ - '--show-exports[only print module exported symbol versions and exit]' \ - '(-n --dry-run --show)'{-n,--dry-run,--show}"[don't execute operations, just print]" \ - "(-c $ign)1:modules:->loadable-modules" \ - "(-c $ign)*:params:->params" && ret=0 - - [[ -n $state && -n ${opt_args[(i)(-r|--remove)]} ]] && state=loaded-modules - ;; - - rmmod) - _arguments -s -C "$args[@]" \ - '(-f --force)'{-f,--force}'[allow modules that are in use to be removed]' \ - '(-s --syslog)'{-s,--syslog}'[send errors to syslog]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '*:loaded module:->loaded-modules' && ret=0 - ;; - - insmod) - _arguments "$args[@]" \ - '1:module file:_files' \ - '*:module parameters' && ret=0 - ;; - esac - - case "$state" in - loaded-modules|loadable-modules) - if [[ -r /proc/modules ]]; then - loaded_modules=(${${(f)"$(</proc/modules)"}%% *}) - # For compatibility with old systems. Kernels nowadays provide - # `/proc/modules` which is more reliable and faster for us. - elif [[ -x /sbin/lsmod ]]; then - loaded_modules=(${${(f)"$(_call_program loaded-modules /sbin/lsmod)"}[2,-1]%% *}) - else - return 1 - fi - - if [[ $state = loaded-modules ]]; then - _wanted modules expl 'loaded module' compadd -a loaded_modules && ret=0 - return ret - fi - ;& - - all-modules) - local kver=${(v)opt_args[(i)(-S|-k|--set-version)]:-$(uname -r)} - - if [[ -z "$modules_dir" ]]; then - return - fi - if _cache_invalid modules-$kver || ! _retrieve_cache modules-$kver; - then - modules=( $modules_dir/$kver/(*~(source|build))/**/*.(o|ko|ko.gz|ko.xz)(.:t:r:r) ) - modaliases=( ${${${(M)${(f)"$(<$modules_dir/$kver/modules.alias)"}:#alias*}#alias }%% *} ) - _store_cache modules-$kver modules modaliases - fi - - if [[ -v opt_args[(i)(-R|--resolve-alias)] ]]; then - _tags module-aliases - else - _tags files modules module-aliases - fi - if [[ $state = loadable-modules ]]; then - modules=( ${modules:#(${(j:|:)~${=loaded_modules//_/-}})} ) - fi - - while _tags; do - _requested modules expl module compadd -a modules && ret=0 - _requested module-aliases expl 'module alias' compadd -a modaliases && ret=0 - _requested files expl "module file" _files -g '*.ko(-.)' && ret=0 - (( ret )) || break - done - ;; - - params) - if compset -P 1 '*='; then - _message -e value 'parameter value' - else - local params - params=( ${${(M)${(f)"$(_call_program module-parameters modinfo "$words[2]" 2>/dev/null)"}:#parm:*}##parm:[[:space:]]##} ) - compset -S '=*' - if (( $#params )); then - _values -S = -w 'module parameter' \ - ${${${(M)params:#*(:bool|\(bool\))}/:/[}/(bool| \(bool\))/]} ${^${params:#*(:bool|\(bool\))}/:/[}"]:auto added argument: " && ret=0 - else - _message -e parameter "module doesn't take parameters" - fi - fi - ;; - esac - - return ret -} - -_modutils "$@" diff --git a/result/sw/share/zsh/5.9/functions/_mondo b/result/sw/share/zsh/5.9/functions/_mondo deleted file mode 100644 index 047a0412..00000000 --- a/result/sw/share/zsh/5.9/functions/_mondo +++ /dev/null @@ -1,54 +0,0 @@ -#compdef mondoarchive - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '(-V)-O[create backup]' \ - '(-O)-V[verify backup]' \ - '(-c -C -i -n -w)-c[use CD-R as backup media]:CD-R burn speed' \ - '(-c -C -i -n -w)-C[use CD-R as streaming device (experimental)]:CD-R burn speed' \ - '(-c -C -i -n -w)-i[use ISO image as backup media]' \ - '(-c -C -i -n -w)-n[use NFS mountpoint as backup media]:NFS mountpoint' \ - '(-c -C -i -n -w)-w[use CD-RW as backup media]:CD-RW burn speed' \ - '-D[differential backup]' \ - '-E[exclude path(s) from backup]:paths to exclude from backup:->quoted_path' \ - '-I[path(s) to backup]:paths to include in backup:->quoted_path' \ - '-d[backup device]:backup device' \ - '-g[run in fullscreen mode]' \ - '-k[path to kernel]:path to kernel:->kernel_or_magic' \ - '-m[manual eject]' \ - '-s[media size]:media size]' \ - '-x[non-linux partition]:non-linux partition:_files -g "*(%b)"' \ - '(-1 -2 -3 -4 -5 -6 -7 -8 -9)-'{1,2,3,4,5,6,7,8,9}'[compression level]' \ - '-A[post ISO-creation command]:pre ISO-creation command' \ - '-B[pre iSO-creation command]:post ISO-creation command' \ - '-F[do not create floppy]' \ - '-H[create autorestore image]' \ - '-L[use lzo instead of bzip2]' \ - '-P[post-nuke tarball]:post-nuke tarball:_files -g "*.(#i)(tar.gz|tgz)(-.)"' \ - '-S[scratch directory]:scratch directory:_files -/' \ - '-T[temporary directory]:temporary directory:_files -/' \ - '-f[device with MBR]:device with MBR:_files -g "*(%b)"' \ - '-l[bootloader type]:bootloader type:(GRUB LILO)' && ret=0 - -case $state in - quoted_path) - local suf="/ \t\n" - [[ -n $compstate[quote] ]] && { suf="$compstate[quote]$suf"; compset -q; } - _files -r $suf && ret=0 - ;; - kernel_or_magic) - _tags kernel magic - while _tags; do - _requested magic expl "keyword" \ - compadd -- FAILSAFE && ret=0 - _requested kernel expl "path to kernel image" \ - _files && ret=0 - - (( ret )) || break - done - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_monotone b/result/sw/share/zsh/5.9/functions/_monotone deleted file mode 100644 index bcaab87f..00000000 --- a/result/sw/share/zsh/5.9/functions/_monotone +++ /dev/null @@ -1,43 +0,0 @@ -#compdef mtn - -local -a cmds -cmds=( - automate:automation db:database fdiff:debug fload:debug fmerge:debug - get_roster:debug identify:debug rcs_import:debug annotate:informative - cat:informative complete:informative diff:informative help:informative - list:informative log:informative ls:informative show_conflicts:informative - status:informative cert:key+cert chkeypass:key+cert dropkey:key+cert - genkey:key+cert trusted:key+cert pull:network push:network serve:network - sync:network privkey:packet\ i/o pubkey:packet\ i/o read:packet\ i/o - cvs_import:rcs approve:review comment:review disapprove:review tag:review - testresult:review checkout:tree co:tree explicit_merge:tree heads:tree - merge:tree merge_into_dir:tree migrate_workspace:tree propagate:tree - refresh_inodeprints:tree setup:tree set:vars unset:vars add:workspace - attr:workspace ci:workspace commit:workspace drop:workspace mv:workspace - pivot_root:workspace pluck:workspace rename:workspace revert:workspace - rm:workspace update:workspace -) - -_arguments \ - '--brief[print a brief version of the normal output]' \ - '--confdir[set location of configuration directory]:confdir:_files -/' \ - '(-d --db)'{-d,--db}'[set name of database]:dbname' \ - '--debug[print debug log to stderr while running]' \ - '--dump[file to dump debugging log to, on failure]:dumpfile:_files' \ - '--full-version[print detailed version number, then exit]' \ - '(-h --help)'{-h,--help}'[display help message]' \ - '(-k --key)'{-k,--key}'[set key for signatures]:key:' \ - '--keydir[set location of key store]:keydir:_files -/' \ - '--log[file to write the log to]:logfile:_files' \ - '--norc[do not load ~/.monotone/monotonerc or _MTN/monotonerc lua files]' \ - '--nostd[do not load standard lua hooks]' \ - '--pid-file[record process id of server]:arg:' \ - '--quiet[suppress verbose, informational and progress messages]' \ - '--rcfile[load extra rc file]:extra rcfile:_files' \ - '--reallyquiet[suppress warning, verbose, informational and progress messages]' \ - '--root[limit search for workspace to specified root]:root:_files -/' \ - '--ticker[set ticker style]:ticker style:(count dot none)' \ - '--version[print version number, then exit]' \ - '(-@ --xargs)'{-@,--xargs}'[insert command line arguments taken from the given file]:file:_files' \ - '1:command: _describe -t commands command cmds' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_moosic b/result/sw/share/zsh/5.9/functions/_moosic deleted file mode 100644 index 475a0c75..00000000 --- a/result/sw/share/zsh/5.9/functions/_moosic +++ /dev/null @@ -1,487 +0,0 @@ -#compdef moosic - -_moosic_add_cmds() { - - # querying for information - typeset -a queries - queries=( - "help:print brief description of command" - "current:print name of currently playing song" - "current-time:print the amount of time the current song has been playing" - "list:print the list of items in the current song queue" - "plainlist:print the current song queue without numbering each line" - "history:print a list of items that were recently played" - {status,state}":print the current state of the music daemon" - "length:print the number of items in the queue" - "ispaused:show whether the current song is paused or not" - "islooping:show whether the server is in loop mode" - "isadvancing:show whether the server is advancing through the song queue" - "version:print version information for client and server" - ) - - - # appending to song queue - typeset -a appending - appending=( - {append,add}":add the files to be played to the end of the song queue" - {pl-append,pl-add}":add the items listed in the given playlist files to end of queue" - "prepend:add the files to be played to the beginning of the song queue" - "pl-prepend:add the items in the given playlist files to beginning of queue" - "mixin:add the files to the song queue and reshuffle the entire queue" - "pl-mixin:add items in given playlist files to song queue and reshuffle the entire queue" - "replace:replace the current contents of the song queue with files listed" - "pl-replace:replace current contents of song queue with songs given in playlists" - "insert:insert the given items at a given point in the song queue" - "pl-insert:insert items from playlist files at specified point in queue" - "putback:reinsert current song at start of song queue" - "stagger-add:adds file list to end of queue after rearranging queue into staggered order" - "stagger-merge:adds given file list to queue in interleaved fashion" - "interval-add:inserts given songs with regular frequency specified by interval argument" - ) - - # removing - typeset -a removing - removing=( - {cut,del}":removes all song queue items in given range" - "crop:removes all song queue items that do not fall within given range" - "remove:remove all song queue items matching any one of given regexps" - "filter:remove all queue items not matching all given regexps" - "clear:clear song queue" - "wipe:clear song queue and stop current song" - ) - - # rearranging - typeset -a rearranging - rearranging=( - "move:move all items in given range to new position in song queue" - "move-pattern:moves all items matching the given regexp to new position" - "swap:trade places of songs in two specified ranges" - {shuffle,reshuffle}":reshuffle song queue within an optional range" - "sort:sort queue within optional range" - "reverse:reverse order of song queue" - "partial-sort:sort items matching each regexp" - "stagger:stagger items matching each regexp" - "sub:perform regular expression substitution on all items in queue" - "suball:like sub, but replace all occurrences of the pattern" - ) - - # general management - typeset -a general - general=( - "next:jumps ahead, number of songs optional" - "previous:retreats to previously played song" - "goto:jumps to next song matching regexp" - "gobackto:jumps back to most recent previous song matching regexp" - "noadvance:halt queue advancement" - "advance:resume queue advancement" - "toggle-advance:toggle queue advancement" - "stop:stop playing current song, stop processing queue, put current song back" - "pause:suspend current song to resume it later" - "unpause:unpause current song" - "play:resume playing" - "loop:turn loop mode on" - "noloop:turn loop mode off" - "toggle-loop:toggle loop mode" - "reconfigure:daemon reload configuration file" - "showconfig:show daemon filetype associations" - "start-server:starts new instance of daemon with given options" - {quit,exit,die}":quit daemon" - ) - - _describe queries queries -J queries - _describe appending appending -J appending - _describe removing removing -J removing - _describe rearranging rearranging -J rearranging - _describe general general -J general -} - -_moosic() { - typeset context state line - typeset -A opt_args - - typeset -a filelist_opts - filelist_opts=( - '(-g --shuffle-global)'{-g,--shuffle-global}'[shuffle filelist after directory expansion]' - '(-d --shuffle-dir)'{-d,--shuffle-dir}'[shuffle results of expanding the directories]' - '(-a --shuffle-args)'{-a,--shuffle-args}'[shuffle actual command line arguments]' - '(-o --inorder)'{-o,--inorder}'[do not shuffle filelist]' - '(-s --sort)'{-s,--sort}'[sort filelist lexicographically after expansion]' - '(-r --no-recurse)'{-r,--no-recurse}'[do not recurse through directories]' - '(-n --no-file-munge)'{-n,--no-file-munge}'[do not modify names in expanded filelist]' - '(-f --auto-find)'{-f,--auto-find}'[perform fuzzy search for music files]' - '(-F --auto-grep)'{-F,--auto-grep}'[like --auto-find but with regexp]' - '(-U --allow-unplayable)'{-U,--allow-unplayable}'[allow addition of unknown song types]' - ) - - typeset -a auto_opts - auto_opts=( - '(-m --music-dir)'{-m,--music-dir}'[directory used for auto-find, auto-grep]:directory:_files' - ) - - typeset -a main_opts - main_opts=( - '(-i --ignore-case)'{-i,--ignore-case}'[treat regexps as if they are case-insensitive]' - '(-S --showcommands)'{-S,--showcommands}'[show all moosic commands, then exit]' - '(-h --help)'{-h,--help}'[print help message then exit]' - '(-v --version)'{-v,--version}'[print version information, then exit]' - '(-c --config-dir)'{-c,--config-dir}'[configuration directory]:directory:_files' - '(-t --tcp)'{-t,--tcp}'[talk to server at specified host and port]:host\:port:' - '(-N --no-startserver)'{-N,--no-startserver}'[do not start moosicd server]' - ) - - typeset -a list_opts - list_opts=( - '(-C --current-in-list)'{-C,--current-in-list}'[print currently playing song in list]' - ) - - # GLOBAL ARGUMENTS - # do not use the -A option here. It will break the processing of - # positional arguments. - _arguments $main_opts $list_opts $auto_opts $filelist_opts \ - '1: :->cmd' \ - '*:: :->posarg' - - if [[ $state == cmd ]]; then - _moosic_add_cmds - elif [[ $state == posarg ]]; then - _moosic_cmd_${line[1]} - fi -} - -# Do something, but only if the current word is 2. -_do2() { - if (( CURRENT == 2 )); then - $@ - else - _message 'no more arguments' - fi -} - -### QUERY COMMANDS - -_moosic_cmd_help() { - _do2 '_moosic_add_cmds' -} - -_moosic_cmd_current() { - _message 'no arguments' -} - -_moosic_cmd_current-time() { - _do2 '_message' 'strftime string' -} - -_moosic_cmd_list() { - _do2 '_message' 'range' -} - -_moosic_cmd_plainlist() { - _do2 '_message' 'range' -} - -_moosic_cmd_history() { - _do2 '_message' 'maximum number of entries' -} - -_moosic_cmd_status() { - _message 'no arguments' -} - -_moosic_cmd_state() { - _message 'no arguments' -} - -_moosic_cmd_length() { - _message 'no arguments' -} - -_moosic_cmd_ispaused() { - _message 'no arguments' -} - -_moosic_cmd_islooping() { - _message 'no arguments' -} - -_moosic_cmd_isadvancing() { - _message 'no arguments' -} - -_moosic_cmd_version() { - _message 'no arguments' -} - -### APPENDING COMMANDS - -_moosic_song_files() -{ - _arguments -A '-*' $main_opts $filelist_opts $auto_opts \ - '*:song file:_files' -} - -_moosic_cmd_append() { - _moosic_song_files -} - -_moosic_cmd_add() { - _moosic_song_files -} - -_moosic_cmd_pl-append() { - _moosic_song_files -} - -_moosic_cmd_pl-add() { - _moosic_song_files -} - -_moosic_cmd_prepend() { - _moosic_song_files -} - -_moosic_cmd_pl-prepend() { - _moosic_song_files -} - -_moosic_cmd_mixin() { - _moosic_song_files -} - -_moosic_cmd_pl-mixin() { - _moosic_song_files -} - -_moosic_cmd_replace() { - _moosic_song_files -} - -_moosic_cmd_pl-replace() { - _moosic_song_files -} - -_moosic_cmd_insert() { - _moosic_song_files -} - -_moosic_cmd_pl-insert() { - _moosic_song_files -} - -_moosic_cmd_putback() { - _message 'no arguments' -} - -_moosic_cmd_stagger-add() { - _moosic_song_files -} - -_moosic_cmd_stagger-merge() { - _moosic_song_files -} - -_moosic_cmd_interval-add() { - _arguments -A '-*' $main_opts $filelist_opts \ - '1:interval:' \ - '*:song file:_files' -} - -### REMOVING COMMANDS - -_moosic_cmd_cut() { - _do2 '_message' 'range' -} - -_moosic_cmd_del() { - _do2 '_message' 'range' -} - -_moosic_cmd_crop() { - _do2 '_message' 'range' -} - -_moosic_cmd_remove() { - _do2 '_message' 'regex' -} - -_moosic_cmd_filter() { - _do2 '_message' 'regex' -} - -_moosic_cmd_clear() { - _message 'no arguments' -} - -_moosic_cmd_wipe() { - _message 'no arguments' -} - -### REARRANGING COMMANDS - -_moosic_cmd_move() { - _arguments -A '-*' $main_opts \ - '1:range:' \ - '2:index:' \ - '*:no more arguments:' -} - -_moosic_cmd_move-pattern() { - _arguments -A '-*' $main_opts \ - '1:regex:' \ - '2:index:' \ - '*:no more arguments:' -} - -_moosic_cmd_swap() { - _arguments -A '-*' $main_opts \ - '1:range:' \ - '2:range:' \ - '*:no more arguments:' -} - -_moosic_cmd_shuffle() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_reshuffle() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_sort() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_reverse() { - _arguments -A '-*' $main_opts \ - '1:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_partial-sort() { - _do2 '_message' 'regex' -} - -_moosic_cmd_stagger() { - _do2 '_message' 'regex' -} - -_moosic_cmd_sub() { - _arguments -A '-*' $main_opts \ - '1:pattern:' \ - '2:replacement:' \ - '3:range (optional):' \ - '*:no more arguments:' -} - -_moosic_cmd_suball() { - _arguments -A '-*' $main_opts \ - '1:pattern:' \ - '2:replacement:' \ - '3:range (optional):' \ - '*:no more arguments:' -} - -### GENERAL COMMANDS - -_moosic_cmd_next() { - if (( CURRENT == 2 )); then - - typeset -a display display_cmd - if zstyle -a ":completion:${curcontext}:next" \ - 'command' display_cmd; then - $display_cmd - else - display=(${(f)"$(moosic list)"}) - fi - - typeset -a numbers - numbers=({1..${#display}}) - - compadd -V songs -d display -a numbers - else - _message 'no more arguments' - fi -} - -_moosic_cmd_previous() { - _do2 '_message' 'number to skip' -} - -_moosic_cmd_goto() { - _do2 '_message' 'regex' -} - -_moosic_cmd_gobackto() { - _do2 '_message' 'regex' -} - -_moosic_cmd_noadvance() { - _message 'no arguments' -} - -_moosic_cmd_advance() { - _message 'no arguments' -} - -_moosic_cmd_toggle-advance() { - _message 'no arguments' -} - -_moosic_cmd_stop() { - _message 'no arguments' -} - -_moosic_cmd_pause() { - _message 'no arguments' -} - -_moosic_cmd_unpause() { - _message 'no arguments' -} - -_moosic_cmd_play() { - _message 'no arguments' -} - -_moosic_cmd_loop() { - _message 'no arguments' -} - -_moosic_cmd_noloop() { - _message 'no arguments' -} - -_moosic_cmd_toggle-loop() { - _message 'no arguments' -} - -_moosic_cmd_reconfigure() { - _message 'no arguments' -} - -_moosic_cmd_showconfig() { - _message 'no arguments' -} - -_moosic_cmd_start-server() { - _message 'options' -} - -_moosic_cmd_quit() { - _message 'no arguments' -} - -_moosic_cmd_exit() { - _message 'no arguments' -} - -_moosic_cmd_die() { - _message 'no arguments' -} - -_moosic "$@" diff --git a/result/sw/share/zsh/5.9/functions/_mosh b/result/sw/share/zsh/5.9/functions/_mosh deleted file mode 100644 index 7d125032..00000000 --- a/result/sw/share/zsh/5.9/functions/_mosh +++ /dev/null @@ -1,41 +0,0 @@ -#compdef mosh - -local curcontext="$curcontext" state line expl ret=1 -local -a _comp_priv_prefix - -_arguments -C \ - '(-)--help[display help information]' \ - '(-)--version[display version information]' \ - "--no-init[don't set terminal init string]" \ - '--ssh=[specify ssh command to setup session]:ssh command:_normal' \ - '--port=[specify server-side port range]:port:_sequence -n 2 -s \: _ports' \ - '(-a -n)--predict=[control speculative local echo]:mode:(adaptive always never)' \ - '(--predict -n)-a[synonym for --predict=always]' \ - '(--predict -a)-n[synonym for --predict=never]' \ - '(--family -6)-4[use IPv4 only]' \ - '(--family -4)-6[use IPv6 only]' \ - '(-4 -6)--family=[specify address family]:family [prefer-inet]:(inet inet6 auto all prefer-inet prefer-inet6)' \ - '--bind-server=[ask the server to reply from an IP address]:{ssh|any|IP}' \ - '--server[specify command to run server helper]:remote file:_files' \ - '--client[specify command to run client helper]:_command_names -e' \ - "--no-ssh-pty[don't allocate a pseudo tty on ssh connection]" \ - '--local[run mosh-server locally without using ssh]' \ - '--experimental-remote-ip=[select method for discovering remote IP address to use for mosh]:method:(local remote proxy)' \ - '1:remote host name:->userhost' \ - '*:::args:_normal' && ret=0 - -case $state in - userhost) - if compset -P '*@'; then - _wanted hosts expl 'remote host name' _ssh_hosts && ret=0 - elif compset -S '@*'; then - _wanted users expl 'login name' _combination -s '[:@]' my-accounts users-hosts users -S '' && ret=0 - else - _alternative \ - 'hosts:remote host name:_ssh_hosts' \ - 'users:login name:_combination -s "[:@]" my-accounts users-hosts users -qS@' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_most_recent_file b/result/sw/share/zsh/5.9/functions/_most_recent_file deleted file mode 100644 index e72cf5e8..00000000 --- a/result/sw/share/zsh/5.9/functions/_most_recent_file +++ /dev/null @@ -1,24 +0,0 @@ -#compdef -k complete-word \C-xm - -# Complete the most recently modified file matching the pattern on the line -# so far: globbing is active, i.e. *.txt will be expanded to the most recent -# file ending in .txt -# -# With a prefix argument, select the Nth most recent matching file; -# negative arguments work in the opposite direction, so for example -# `Esc - \C-x m' gets you the oldest file. - -local file tilde etilde -if [[ $PREFIX = \~*/* ]]; then - tilde=${PREFIX%%/*} - etilde=${~tilde} 2>/dev/null - # PREFIX and SUFFIX have full command line quoting in, but we want - # any globbing characters which are quoted to stay quoted. - eval "file=($PREFIX*$SUFFIX(om[${NUMERIC:-1}]N))" - file=(${file/#$etilde}) - file=($tilde${(q)^file}) -else - eval "file=($PREFIX*$SUFFIX(om[${NUMERIC:-1}]N))" - file=(${(q)file}) -fi -(( $#file )) && compadd -U -i "$IPREFIX" -I "$ISUFFIX" -f -Q -- $file diff --git a/result/sw/share/zsh/5.9/functions/_mount b/result/sw/share/zsh/5.9/functions/_mount deleted file mode 100644 index 301b9e58..00000000 --- a/result/sw/share/zsh/5.9/functions/_mount +++ /dev/null @@ -1,941 +0,0 @@ -#compdef mount umount - -if [[ "$OSTYPE" == cygwin ]]; then - if [[ "$service" == mount ]] ; then - _arguments -s \ - - mount \ - '(-b -t --text --binary)'{-b,--binary}'[Unix line endings LF]' \ - '(-f --force)'{-f,--force}'[be silent]' \ - '(-s -u --user --system)'{-s,--system}'[system-wide mount point]' \ - '(-t -b --binary --text)'{-t,--text}'[DOS line endings CR-LF]' \ - '(-u -s --system --user)'{-u,--user}'[user private mount point]' \ - '(-x -X --executable --cygwin-executable)'{-x,--executable}'[all files under mountpoint are executables]' \ - '(-x -X --executable --cygwin-executable)'{-X,--cygwin-executable}'[all files under mountpoint are cygwin executables]' \ - ':Windows path:' \ - ':Unix path:_path_files -P/ -W "(/)" -/' \ - - control \ - '(-)'{-i,--import-old-mounts}'[import old mounts]' \ - '(-)'{-p,--show-cygdrive-prefix}'[show cygdrive prefix]' \ - '(-)'{-c,--change-cygdrive-prefix}'[cygdrive prefix]:cygdrive prefix (POSIX path):_files -P/ -W "(/)" -/' \ - - return - else - local line - local -a wpaths upaths - mount | while read -r line; do - [[ $line == ?:\ * ]] && continue - wpaths+=( ${line%% on*} ) - upaths+=( ${${line##*on }%% type*} ) - done - _alternative \ - 'windowspath:Windows path:compadd -a wpaths' \ - 'unixpath:Unix path:compadd -a upaths' - return - fi -fi - -# This is table-driven: the tables for the values for the different -# file system types are directly below. The tables describing the -# arguments for the `mount' command for different operating systems -# are below these table. - -local curcontext="$curcontext" state line expl suf ret=1 -local args deffs=iso9660 tmp typeops=-t _nfs_access _fs_nfs _nfs_ufs \ -_fs_ufs _fs_efs _fs_cd9660 _fs_iso9660 _fs_cachefs _fs_s5fs _fs_tmpfs _fs_pcfs \ -_fs_hsfs _fs_advfs _fs_cdfs _fs_affs _fs_ext2 _fs_fat _fs_ext3 _fs_msdos \ -_fs_msdosfs _fs_umsdos _fs_vfat _fs_hpfs _fs_ntfs _fs_reiserfs _fs_smbfs \ -_fs_xfs _fs_std _fs_devfs _fs_fdesc _fs_kernfs _fs_linprocfs _fs_linsysfs \ -_fs_procfs _fs_btrfs _fs_ext4 - -typeset -A opt_args - -if (( ! $+_fs_any )); then - - local _fs_any - - # These are tables describing the possible values and their - # arguments for the `-o' option. There is one array per - # file system type (only for those that accept more values - # than those in the `_fs_any' array). The elements of the - # array are used as arguments to `_values'. The first tables - # are used by several systems while system specific tables are - # (re)defined in a "$OSTYPE" case. - - _fs_any=( - '(rw)ro[mount file system read-only]' - '(ro)rw[mount file system read-write]' - ) - _nfs_access=( - 'acregmin[specify cached file attributes minimum hold time]:cached file attributes minimum hold time' - 'acregmax[specify cached file attributes maximum hold time]:cached file attributes maximum hold time' - 'acdirmin[specify cached directory attributes minimum hold time]:cached directory attributes minimum hold time' - 'acdirmax[specify cached directory attributes maximum hold time]:cached directory attributes maximum hold time' - "actimeo[set all attributes' cache timeout]:cache timeout" - ) - _fs_nfs=( - 'rsize[specify read buffer size]:read buffer size:(8192)' - 'wsize[specify write buffer size]:write buffer size:(8192)' - '(soft)hard[hang process on server crash (so to say)]' - '(hard)soft[allow time out on server crash]' - '(nolock)lock[use locking]' - "(lock)nolock[don't use locking]" - 'timeo[specify initial timeout for UDP]:initial timeout for UDP' - 'retrans[set number of NFS retransmissions]:number of NFS retransmissions' - 'retry[specify number of mount failure retries]:mount failure retries' - '(fg)bg[retry in the background]' - '(bg)fg[retry in the foreground]' - '(nintr)intr[allow operations to be interrupted]' - '(intr)nintr[prevent operations from being interrupted]' - '(nfsv3)nfsv2[use NFS version 2]' - '(nfsv2)nfsv3[use NFS version 3]' - 'proto[specify protocol]:protocol:(udp tcp)' - 'port[specify server port number]:server port number' - 'proplist[allow property lists]' - "$_nfs_access[@]" - "nocto[don't get fresh attributes on open]" - "noac[don't set attribute caching]" - ) - _nfs_ufs=( - '(nodev)dev[interpret devices]' - "(dev)nodev[don't interpret devices]" - '(nosuid)suid[use suid and sgid bits]' - '(suid)nosuid[ignore suid and sgid bits]' - '(nosync)sync[do I/O synchronously]' - '(sync)nosync[do all I/O asynchronously]' - '(noexec)exec[permit execution of binaries]' - "(exec)noexec[don't allow execution of binaries]" - '(nogrpid)grpid[new file gets group ID of directory]' - '(grpid)nogrpid[new file gets fsgid of current process]' - ) - _fs_ufs=( - 'dirty[allow mount even if not cleanly unmounted]' - "$_nfs_ufs[@]" - ) - - case "$OSTYPE" in - aix*) - _fs_any=( - 'bsy[prevent mount over cwd of process]' - 'log[logical volume to log operations]:logical volume name' - 'nodev[cannot open devices from mount]' - 'nosuid[prevent running setuid/setgid from mount]' - "$_fs_any[@]" - ) - - _fs_nfs=( - '(fg)bg[mount in background]' - '(bg)fg[mount in foreground]' - 'vers[NFS version]:NFS version:(2 3)' - 'proto[specify transport protocol]' - 'retry[number of retries]:no. of retries' - 'rsize[read buffer size]:read buffer size' - 'wsize[write buffer size]:write buffer size' - 'llock[local locking]' - 'timeo[time-out period]:time-out period' - 'retrans[NFS transmissions]:no. of NFS transmissions' - 'port[IP port no]:IP port no' - '(hard)soft[error on no server response]' - '(soft)hard[retry pending server response]' - '(nointr)intr[allow keyboard interrupts on hard mount]' - '(intr)nointr[disallow keyboard interrupts on hard mount]' - 'posix[exchange pathconf info on NFS version 2 mount]' - 'secure[use DES encryption]' - 'grpid[inherit group id of parent directory]' - "(acl)noacl[don't use access control lists]" - '(noacl)acl[use access control lists for this mount]' - 'noac[no attribute or directory caching]' - 'shortdev[server lack support for 32-bit device special files]' - "$_nfs_access[@]" - ) - ;; - irix*) - _fs_any=( - 'nodev[cannot open devices from mount]' - 'nosuid[prevent running setuid/setgid from mount]' - 'grpid[inherit group id of parent directory]' - "$_fs_any[@]" - ) - - _fs_efs=( - 'raw[raw device pathname to filesystem]:raw device pathname:->devordir' - '(nofsck)fsck[fsck should check this filesystem by default]' - '(fsck)nofsck[fsck should not check this filesystem by default]' - '(noquota)quota[turn on quotas]' - '(quota)noquota[turn off quotas]' - 'lbsize[no of bytes transferred in each operation]:bytes' - ) - - _fs_iso9660=( - 'setx[set execute permissions on every file]' - 'notranslate[don'\''t translate filenames]' - 'cache[no of 2048 blocks for directory cache]:cache size' - 'noext[ignore rock ridge extensions]' - '(nosusp)susp[enable system use sharing protocol]' - '(susp)nosusp[disable system use sharing protocol]' - '(norrip)rrip[enable rock ridge extensions]' - '(rrip)norrip[disable rock ridge extensions]' - 'nmconv[specify filename translation]:filename translation:((c\:no\ translation l\:to\ lowercase m\:suppress\ version\ no))' - ) - - _fs_nfs=( - '(fg)bg[mount in background]' - '(bg)fg[mount in foreground]' - 'retry[number of retries]:no. of retries' - 'rsize[read buffer size]:read buffer size' - 'wsize[write buffer size]:write buffer size' - 'timeo[time-out period]:time-out period' - 'retrans[NFS transmissions]:no. of NFS transmissions' - 'port[IP port no]:IP port no' - '(hard)soft[error on no server response]' - '(soft)hard[retry pending server response]' - 'intr[allow keyboard interrupts on hard mount]' - 'noac[no attribute caching]' - 'private[use local locking and do not flush on last close]' - 'symttl[time-to-live of cached symbolic links]:seconds' - "$_nfs_access[@]" - ) - - _fs_cachefs=( - 'backfstype[type of the back file system]:back file system type:(efs nfs iso9660 dos hfs cachefs)' - 'backpath[specify back file system location]:back file system location:_files -/' - 'cachedir[name of the cache directory]:name of cache directory:_files -/' - 'cacheid[cache ID]:cache ID' - '(write-around)non-shared[cache not shared]' - '(non-shared)write-around[cache shared]' - 'noconst[disable consistency checking]' - 'local-access[check permissions locally]' - 'purge[purge any cached information]' - "$_nfs_access[@]" - ) - - ;; - solaris*) - _fs_s5fs=( - 'remount[remount file system]' - '(suid)nosuid[ignore suid and sgid bits]' - '(nosuid)suid[use suid and sgid bits]' - ) - _fs_ufs=( - "(atime)noatime[don't update access time]" - 'f[fake an /etc/mnttab entry]' - "m[don't make an /etc/mnttab entry]" - '(noforcedirection)forcedirection[do I/O synchronously]' - '(forcedirection)noforcedirection[do all I/O asynchronously]' - '(nointr)intr[allow operations to be interrupted]' - '(intr)nointr[prevent operations from being interrupted]' - "(nolargefiles)largefiles[don't restrict file size]" - '(largefiles)nolargefiles[restrict file size]' - '(nologging)logging[log transactions]' - '(logging)nologging[log transactions]' - 'onerror[action to recover from error]:action:(panic lock umount)' - 'quota[turn on quotas]' - '(ro rw)rq[mount file system read-write with quotas]' - "$_fs_s5fs[@]" - ) - _fs_tmpfs=( - 'size[set file system size]:size' - ) - _fs_pcfs=( - '(nofoldcase)foldcase[force filenames to lowercase]' - "(foldcase)nofoldcase[don't force filenames to lowercase]" - ) - _fs_hsfs=( - 'nrr[no rock ridge]' - 'notraildot[no trail dot when no extension]' - "nomaplcase[don't force lowercase]" - 'nosuid[ignore suid and sgid bits]' - ) - _fs_nfs=( - '(fg)bg[retry in the background]' - '(bg)fg[retry in the foreground]' - '(nogrpid)grpid[new file gets group ID of directory]' - '(grpid)nogrpid[new file gets fsgid of current process]' - '(nointr)intr[allow operations to be interrupted]' - '(intr)nointr[prevent operations from being interrupted]' - '(sec secure)kerberos[use kerberos authentication]' - 'noac[no attribute caching]' - 'port[server IP port number]:port' - 'posix[posix semantics]' - 'proto[specify protocol]:protocol:'\("$(grep -v '^#' /etc/netconfig 2> /dev/null | cut -d ' ' -f 1)"\) - 'public[force public file handle]' - '(noquota)quota[enable quotas]' - '(quota)noquota[disable quotas]' - 'timeo[specify initial timeout for UDP]:initial timeout for UDP' - 'retrans[set number of NFS retransmissions]:number of NFS retransmissions:(5)' - 'retry[specify number of mount failure retries]:mount failure retries:(10000)' - 'rsize[specify read buffer size]:read buffer size:(8192)' - 'wsize[specify write buffer size]:write buffer size:(8192)' - '(kerberos secure)sec[set the security mode]:security mode:(sys dh krb4 none)' - '(kerberos sec)secure[use Diffie-Hellman public key system]' - 'vers[set NFS version number]:NFS version number:(2 3)' - "$_nfs_access[@]" - "$_fs_s5fs[@]" - ) - _fs_cachefs=( - 'backfstype[type of the back file system]:back file system type:(nfs hsfs)' - 'backpath[specify back file system location]:back file system location:_files -/' - 'cacheid[specify a cache ID]:cache ID' - 'local-access[check permissions locally]' - 'noconst[disable cache consistency checking]' - 'purge[purge any cached information]' - '(suid)nosuid[ignore setuid and setgid bits]' - '(nosuid)suid[use setuid and setgid bits]' - '(write-around)non-shared[purge cache on writes]' - '(non-shared)write-around[keep file in cache on writes]' - "$_nfs_access[@]" - ) - ;; - osf*) - _fs_advfs=( - '(ro rw)rq[mount file system read-write]' - 'dual[allow mount even if same domain ID as already mounted domain]' - 'sync[do I/O synchronously]' - ) - _fs_cdfs=( - '(nodefperm)defperm[ignore permission bits]' - '(defperm)defperm[use permission bits]' - 'noversion[strip off version extension]' - 'rrip[use RRIP extensions]' - ) - _fs_nfs=( - "$_nfs_ufs[@]" - "$_fs_nfs[@]" - ) - ;; - linux*) - _fs_any=( - '(sync)async[do all I/O asynchronously]' - '(noatime)atime[update access time]' - '(norelatime)relatime[update atime relative to mtime/ctime]' - '(nostrictatime)strictatime[full atime updates]' - '(strictatime)nostrictatime[default atime update behaviour]' - '(rw suid dev exec async)defaults[use default options]' - '(nodev)dev[interpret devices]' - '(nodiratime)diratime[update directory access time]' - "(diratime)nodiratime[don't update directory access time]" - '(noexec)exec[permit execution of binaries]' - "noiversion[don't increment i_version inode field]" - '(nomand)mand[allow mandatory locks]' - "(atime)noatime[don't update access time]" - "(relatime)norelatime[update access time without regard to mtime/ctime]" - "(dev)nodev[don't interpret devices]" - "(exec)noexec[don't allow execution of binaries]" - "(mand)nomand[don'tallow mandatory locks]" - '(suid)nosuid[ignore suid and sgid bits]' - 'remount[mount already mounted file system]' - '(rw)ro[mount file system read-only]' - '(ro)rw[mount file system read-write]' - '(nosuid)suid[use suid and sgid bits]' - '(async)sync[do I/O synchronously]' - 'dirsync[perform directory updates synchronously]' - 'loop[use loopback device]::loopback device:_files' - 'encryption[enable encryption]:cypher' - 'keybits[set number of bits in encryption key]:key size:(64 128 160 192 256)' - 'offset[specify data start for loopback mount]:offset (bytes)' - '(loud)silent' '(silent)loud' - '(fscontext defcontext)context:context' - '(context)'{fscontext,defcontext}':context' - 'rootcontext:context' - ) - _fs_adfs=( - 'uid[set owner of root]:user ID' - 'gid[set group of root]:group ID' - 'ownmask[permission mask for ADFS "owner" permissions]:mask (octal)' - 'othmask[permission mask for ADFS "other" permissions]:mask (octal)' - ) - _fs_affs=( - 'uid[set owner of root]:user ID' - 'gid[set group of root]:group ID' - 'setuid[set owner of all files]:user ID' - 'setgid[set group of all files]:group ID' - 'mode[set file permissions]:file permission bits' - "protect[don't allow changes to permissions]" - 'usemp[set owner of root to owner of mount point]' - 'verbose[print message per mount]' - 'prefix[prefix before volume name when following link]:prefix string' - "volume[prefix before '/' when following link]:prefix string" - 'reserved[set number of unused blocks at start of device]:number of unused blocks' - 'root[specify location of the root block]:root block location' - 'bs[specify block size]:block size:(512 1024 2048 4192)' - ) - _fs_devpts=( - "uid[set owner of newly created pty's]:user ID" - "gid[set group of newly created pty's]:group ID" - "mode[set mode of newly created pty's]:file permission bits" - ) - _fs_ext2=( - '(noacl)acl[support POSIX access control lists]' - '(acl)noacl[do not support POSIX access control lists]' - '(minixdf)bsddf[select bsddf behavior]' - '(bsddf)minixdf[select bsddf behavior]' - '(nocheck)check[set checking level]::checking level:((normal\:check\ inode\ and\ block\ bitmaps\ on\ mount strict\:check\ on block\ deallocation none\:no\ checking))' - 'debug[print debugging info upon each (re)mount]' - 'errors[specify behavior on error]:error behavior:((continue\:ignore\ errors remount-ro\:remount\ file\ system\ read-only panic\:panic\ and\ halt\ system))' - '(nogrpid bsdgroups sysvgroups)grpid[new file gets group ID of directory]' - '(grpid nogrpid sysvgroups)bsdgroups[new file gets group ID of directory]' - '(grpid bsdgroups sysvgroups)nogrpid[new file gets fsgid of current process]' - '(grpid bsdgroups nogrpid)sysvgroups[new file gets fsgid of current process]' - 'nobh[do not attach buffer_heads to file pagecache]' - 'nouid32[disable 32-bit UIDs and GIDs]' - '(orlov)oldalloc[use old allocator for new inodes]' - '(oldalloc)orlov[use orlov allocator for new inodes]' - 'resgid[specify access to reserved space (group ID)]:group ID' - 'resuid[specify access to reserved space (user ID)]:user ID' - 'sb[specify super block number]:super block number' - '(nouser_xattr)user_xattr[support user extended attributes]' - '(user_xattr)nouser_xattr[do not support user extended attributes]' - ) - _fs_fat=( - 'blocksize[specify block size]:block size:(512 1024 2048)' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'dmask[specify umask for directories only]:umask value (octal)' - 'fmask[specify umask for files only]:umask value (octal)' - 'allow_utime[control permission check of mtime/atime]:value' - 'check[specify checking level]:checking level:((relaxed\:accept\ upper\ and\ lower\ case,\ truncate\ long\ name normal\:like\ '"'\`'"'relaxed'"\\'"',\ but\ reject\ special\ characters strict\:like\ '"'\`'"'normal'"\\'"',\ but\ no\ long\ parts))' - 'codepage[specify codepage for converting filenames to short form]:codepage' - 'conf[specify CR/NL conversion]:CR/NL conversion mode:((binary\:no\ translation text\:conversion\ on\ all\ files auto\:perform\ translation\ on\ file\ without\ binary\ extension))' - 'conv[convert form of text files]:mode:(binary text auto)' - 'cvf_format[use specified compressed volume format module]:module' - 'cvf_option[pass option to CVF module]:option' - 'debug[debug mode]' - 'fat[specify fat type]:fat type (bit):(12 16 32)' - 'iocharset[character set to use for converting from 8 bit to unicode]:character set' - 'tz[set timezone conversion]:zone:(UTC)' - 'quiet[quiet mode]' - ) - _fs_ext3=( - "$_fs_ext2[@]" - 'journal[update fs journal]:update or inode number:(update)' - 'journal_dev[specify new journal location]:device number' - 'noload[do not load journal]' - 'data[specify mode for data]:journalling mode:(journal ordered writeback)' - 'barrier[enable/disable barriers]:state:((0\:disabled 1\:enabled))' - 'commit[specify commit sync interval for data and metadata]:seconds' - ) - _fs_ext4=( - "$_fs_ext3[@]" - journal_checksum journal_sync_commit - inode_readahead:blocks stripe:blocks delalloc nodelalloc - {max,min}'_batch_time:time (usecs)' journal_ioprio:priority - abort {,no}auto_da_alloc {,no}discard nouid32 resize - {,no}block_validity dioread_{,no}lock i_version - ) - _fs_msdos=( "$_fs_fat[@]" ) - _fs_umsdos=( "$_fs_fat[@]" ) - _fs_vfat=( "$_fs_fat[@]" - '(utf8)uni_xlate[translate unicode to escaped sequences]' - 'posix[allow file names only differing in case]' - 'nonumtail[try short name before number extension]' - '(uni_xlate)utf8[mount the filesystem in UTF8 mode]' - 'shortname[specify handling of 8.3 filenames]:mode:(lower win95 winnt mixed)' - ) - _fs_hfs=( - 'creator[specify creator value]:creator' - 'type[specify type value]:type' - 'umask[specify umask]:umask value (octal)' - 'dir_umask[specify umask for directories only]:umask value (octal)' - 'file_umask[specify umask for files only]:umask value (octal)' - 'session[specify CDROM session to mount]:session' - 'part[specify partition number from device to use]:part' - 'quiet[do not complain about invalid mount options]' - ) - _fs_hpfs=( - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'case[specify file name conversion]:file name conversion:((lower\:convert\ to\ lower\ case asis\:no\ conversion))' - 'conv[specify CR elimination]:CR elimination:((binary\:no\ elimination test\:delete\ CRs\ \(e.g.\ before\ NL\) auto\:sometimes\ yes,\ sometimes\ not))' - "nocheck[don't abort mount on consistency check failure]" - ) - _fs_iso9660=( - 'norock[disable Rock Ridge extensions]' - 'nojoliet[disable Microsoft Joliet extensions]' - 'check[specify file name conversion]:file name conversion:((relaxed\:convert\ to\ lower\ case\ before\ lookup strict\:no\ conversion))' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'map[specify non-Rock Ridge name conversion]:file name conversion:((normal\:map\ upper\ to\ lower,\ ignore\ \;1,\ map\ \;\ to\ . off\:no\ conversion))' - 'mode[specify permissions]:file access permissions' - 'unhide[show hidden and associated files]' - 'block[specify block size]:block size:(512 1024 2048)' - 'cruft[ignore high bits of file length]' - 'session[select session number on multisession CD]:session' - 'sbsector[specify starting sector]:sector' - 'iocharset[character set when converting from 8 bit to unicode (Joliet)]:character set' - 'utf8[mount the filesystem in UTF8 mode (Joliet)]' - ) - _fs_jfs=( - 'iocharset[character set when converting from unicode to ascii]:character set' - 'resize[resize volume to specified number of blocks]:blocks' - '(integrity)nointegrity[do not write to the journal]' - '(nointegrity)integrity[commit metadata changes to the journal]' - 'errors[specify behavior on error]:error behavior:((continue\:ignore\ errors remount-ro\:remount\ file\ system\ read-only panic\:panic\ and\ halt\ system))' - ) - _fs_ntfs=( - 'iocharset[character set to use when returning file names]:character set' - '(uni_xlate)utf8[use UTF-8 for converting file names]' - '(utf8)uni_xlate[translate unicode to escaped sequences]:type:(0 1 2)' - 'posix[distinguish upper and lower case]:state:((0\:off 1\:on))' - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - ) - _fs_reiserfs=( - 'conv[mount 3.5 fs using 3.6 format for new objects]' - 'hash[choose hash type]:hash function:(rupasov tea r5 detect)' - '(no_unhashed_relocation)hashed_relocation[tune the block allocator]' - 'noborder[disable border allocator algorithm]' - 'nolog[disable journalling]' - 'notail[disable packing of files into the tree]' - '(hashed_relocation)no_unhashed_relocation[tune the block allocator]' - 'replayonly[replay but do not mount]' - 'resize[assume the device has this many blocks]:number of blocks' - ) - _fs_smbfs=( "$_fs_nfs[@]" ) - _fs_tmpfs=( - 'size[set file system size]:size (bytes)' - 'mode[set root directory permissions]:mode' - 'nr_blocks[set number of blocks]:blocks' - 'nr_inodes[set number of inodes]:inodes' - ) - _fs_udf=( - 'uid[specify user ID of all files]:user ID' - 'gid[specify group ID of all files]:group ID' - 'umask[specify umask]:umask value (octal)' - 'unhide[show hidden and associated files]' - 'undelete[show deleted files]' - 'nostrict[unset strict conformance]' - 'bs[set the block size]:block size:2048' - 'novrs[skip volume sequence recognition]' - 'session[set the CDROM session]:session' - 'anchor[override standard anchor location]:anchor location:256' - 'lastblock[set the last block of the file system]:last block' - ) - _fs_ufs=( - 'ufstype[set ufs type]:ufs type:(old 44bsd sun sunx86 nextstep nextstep-cd openstep)' - 'onerror[set behaviour on error]:behaviour on error:(panic lock umount repair)' - ) - _fs_usbfs=( - 'devuid[set owner of device files]:user ID' - 'devgid[set group of device files]:group ID' - 'devmode[set mode of device files]:file permission bits' - 'busuid[set owner of bus directories]:user ID' - 'busgid[set group of bus directories]:group ID' - 'busmode[set mode of bus directories]:file permission bits' - 'listuid[set owner of file devices]:user ID' - 'listgid[set group of file devices]:group ID' - 'listmode[set mode of file devices]:file permission bits' - ) - _fs_xfs=( - 'biosize[specify preferred buffered I/O size]:base 2 logarithm:((13:8K 14:16K 15:32K 16:64K))' - '(xdsm)dmapi[enable DMAPI event callouts]' - '(dmapi)xdsm[enable DMAPI event callouts]' - 'logbufs[set number of in-memory log buffers]:(2 3 4 5 6 7 8)' - 'logbsize[set size of each in-memory log buffer]:(16384 32768)' - 'logdev[use external log device]:_files' - 'rtdev[use external realtime device]:_files' - 'noalign[do not align data allocations at stripe unit boundaries]' - 'noatime[do not update atime on reads]' - 'norecovery[do not run log recovery]' - 'nouuid[ignore the filesystem uuid]' - 'osyncisdsync[make O_SYNC behave as O_DSYNC]' - '(usrquota uqnoenforce)quota[enable user quotas]' - '(quota uqnoenforce)usrquota[enable user quotas]' - '(quota usrquota)uqnoenforce[enable user quotas without enforcement]' - '(gqnoenforce)grpquota[enable group quotas]' - '(grpquota)gqnoenforce[enable group quotas without enforcement]' - 'sunit[specify stripe unit]:size' - 'swidth[specify stripe width]:size' - ) - _fs_btrfs=( - 'subvol[mount a subvolume]:path' - 'subvolid[mount subvolume by id]:id' - 'device[scan device for filesystems]:device' - 'nodatasum[disable checksums of new files]' - 'nobarrier[disable use of device barriers]' - 'max_inline[set maximum space for inline data]:size (bytes)' - 'alloc_start[set where on disk allocations start]:number' - 'thread_pool[number of worker threads to allocate]:number' - '(compress-force)compress[enable compression]:algorithm:(zlib lzo no)' - '(compress)compress-force[enable compression for all files]:algorithm:(zlib lzo no)' - 'ssd[optimise behaviour for SSDs]' - 'ssd_spread[be strict about finding a large unused region for new allocations]' - 'discard[enable discard/TRIM on freed blocks]' - 'notreelog[disable the tree logging used for fsync]' - metadata_ratio:number {,no}space_cache clear_cache - user_subvol_rm_allowed autodefrag inode_cache - enospc_debug recovery check_int check_int_data - check_int_print_mask:number skip_balance - 'fatal_errors:action:(bug panic)' - ) - ;; - freebsd*|dragonfly*) - _fs_any=( - '(sync)async[do all I/O asynchronously]' - 'current[use current options on already mounted file system]' - 'force[force R/W mount of unclean filesystem]' - 'fstab[use options listed in /etc/fstab]' - 'noasync[do I/O synchronously]' - "noatime[don't update access time]" - 'noauto[can only be mounted explicitly]' - 'noclusterr[disable read clustering]' - 'noclusterw[disable write clustering]' - "nodev[don't interpret devices]" - "noexec[don't allow execution of binaries]" - 'nosuid[ignore suid and sgid bits]' - "nosymfollow[don't follow symlinks]" - 'rdonly[mount file system read-only]' - '(async)sync[do all I/O synchronously]' - 'suiddir[allow suid bits on directories]' - 'update[change status of already mounted filesystem]' - 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' - ) - _fs_cd9660=( - 'extatt[enable the use of extended attributes]' - 'gens[do not strip version numbers on files]' - 'nojoliet[do not use any Joliet extensions]' - 'norrip[do not use any Rockridge extensions]' - 'nostrictjoliet[relax checking for Supplementary Volume Descriptor Flags field]' - ) - _fs_std=( - "nodev[don't interpret devices]" - "noexec[don't allow execution of binaries]" - 'nosuid[ignore suid and sgid bits]' - 'rdonly[mount file system read-only]' - 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' - ) - _fs_devfs=( "$_fs_std[@]" ) - _fs_fdesc=( "$_fs_std[@]" ) - _fs_kernfs=( "$_fs_std[@]" ) - _fs_linprocfs=( "$_fs_std[@]" ) - _fs_linsysfs=( "$_fs_std[@]" ) - _fs_procfs=( "$_fs_std[@]" ) - _fs_msdos=( - 'shortnames[]' - 'longnames[]' - 'nowin95[]' - 'shortnames[force only the old MS-DOS 8.3 style filenames to be visible]' - 'longnames[force Windows 95 long filenames to be visible]' - 'nowin95[completely ignore Windows 95 extended file information]' - ) - if [[ "${OSTYPE}" = freebsd* ]]; then - _fs_msdosfs=( "$_fs_msdos[@]" ) - fi - ;; - esac -fi - -if [[ "$service" = mount ]]; then - - # Here are the tests and tables for the arguments and options for - # the `mount' program. This should set the `deffs' parameter if - # the default file system type is not `iso9660' (it should be set - # to the name of the default file system type), and set 'typeops' - # to the mount option for file system type selection when it is - # not '-t'. - - case "$OSTYPE" in - aix*) - args=( -s - '(:)-a[mount all filesystems in /etc/fstab]' - '-f[forced mount]' - '-n[remote node]:remote node:_hosts' - '-p[mount as removable file system]' - '-r[mount read-only]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-v[filesystem defined by /etc/vfs]:VfsName' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=jfs - ;; - irix*) - args=( -s - '-a[mount all filesystems in /etc/fstab]' - '-b[mount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' - '-c[check any dirty filesystems before mounting]' - "-f[fake a new /etc/mtab entry, but don't mount any filesystems]" - '-h[mount all filesystems associated with host]:host:_hosts' - '-n[mount filesystem without making entry in /etc/mtab]' - '-o[specify file system options]:file system option:->fsopt' - '-p[print list of mounted filesystems in format suitable for /etc/fstab]' - '-r[mount read-only]' - '-t[specify file system type]:file system type:_file_systems' - '-v[verbose]' - '-M[use alternate mtab]:alternate mtab:_files' - '-P[with -p, prepend prefix to paths]:prefix' - ) - deffs=efs - ;; - linux*) - local excl='-V --version -h --help' - args=( -s - '(- :)'{-h,--help}'[show help]' - '(- :)'{-V,--version}'[show version]' - "($excl -v --verbose)"{-v,--verbose}'[verbose mode]' - "($excl -p --pass-fd)"{-p+,--pass-fd=}'[specify file descriptor from which to read passphrase]:file descriptor:_file_descriptors' - "($excl -o : -a --all)"{-a,--all}'[mount all filesystems in fstab]' - "($excl -F --fork)"{-F,--fork}'[fork off one child per device]' - "($excl -f --fake)"{-f,--fake}'[fake mount]' - "($excl -i --internal-only)"{-i,--internal-only}"[don't call /sbin/mount.<fs> helper]" - "($excl)-l[output ext2, ext3, ext4 and XFS labels]" - "($excl -n --no-mtab)"{-n,--no-mtab}"[don't write /etc/mtab]" - "($excl)--no-canonicalize[don't convert paths to canonical form]" - "($excl)-s[tolerate sloppy mount options]" - "($excl -w -r --read-only)"{-r,--read-only}'[mount read-only]' - "($excl -r -w --rw)"{-w,--rw}'[mount read/write]' - "($excl)-L+[mount partition with specified label]:label:->labels" - "($excl)-U+[mount partition with specified uuid]:uuid" - "($excl -t --types)"{-t+,--types=}'[specify file system type]:file system type:_sequence -s , _file_systems' - "($excl -O --test-opts)"{-O+,--test-opts=}'[with -a, restrict filesystems by options]:file system option:->fsopt' - "($excl -a -O -o --options)"{-o+,--options=}'[specify file system options]:file system option:->fsopt' - '(: -)'{-B,--bind}'[remount part of filesystem elsewhere]:old directory:_directories:new directory:_directories' - '(: -)'{-R,--rbind}'[remount part of filesystem including submounts elsewhere]:old directory:_directories:new directory:_directories' - '(: -)'{-M,--move}'[move part of filesystem elsewhere]:old directory:_directories:new directory:_directories' - '(: -)--make-'{r,}{shared,slave,private,unbindable}':mount point:->udevordir' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - ;; - osf*) - args=( -s - '(-o :)-a[mount all filesystems in fstab]' - '-d[mount even if not unmounted]' - '-e[list all mount points]' - '-f[fake mount]' - '-l[display values of all file system options]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-u[remount file system]' - '-r[mount read-only]' - '-w[mount read/write]' - '-v[verbose]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=cdfs - ;; - solaris*) - args=( -s - '(-p -v)-a[mount all filesystems in fstab]' - '(-p -v)-F[specify file system type]:file system type:_file_systems' - '(-a -v)-p[print mounted file systems]' - '(-p -a)-v[print mounted file systems verbosely]' - '(-p -v)-V[echo command-line but do not execute]' - "(-p -v)-m[don't write /etc/mnttab]" - '(-p -v)-g[mount globally]' - '(-p -v)-o[specify file system options]:file system option:->fsopt' - '(-p -v)-O[overlay mount]' - '(-p -v)-r[mount read-only]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=hsfs - typeops=-F - ;; - freebsd*|dragonfly*|darwin*) - args=( -s - '(:)-a[mount all filesystems in fstab]' - '-d[cause everything to be done except for the actual system call]' - '-f[forced mount]' - '-o[specify file system options]:file system option:->fsopt' - '-p[print mounted file systems]' - '-r[mount readonly]' - '-t[specify file system type]:file system type:_sequence -s, _file_systems' - '-u[change status of already mounted filesystem]' - '-v[verbose mode]' - '-w[mount read/write]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=ufs - ;; - *) - # Default for all other systems. Dunno. - - args=( -s - '(-o :)-a[mount all filesystems in fstab]' - '-t[specify file system type]:file system type:_file_systems' - '-o[specify file system options]:file system option:->fsopt' - '-f[fake mount]' - ':dev or dir:->devordir' - ':mount point:_files -/' - ) - deffs=ufs - ;; - esac - - _arguments -C "$args[@]" && ret=0 - -else - - # Completion for umount. - - case "$OSTYPE" in - aix*) - args=( - '(*)-a[unmount all mounted file systems]' - '-f[force unmount]' - '-n[remote node]:remote node:_hosts' - '-t[specify file system type]:file system type:_file_systems' - '*:dev or dir:->udevordir' - ) - ;; - irix*) - args=( - '-a[unmount all mounted file systems]' - '-b[unmount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' - '-h[unmount all filesystems associated with host]:host:_hosts' - '-k[kill all processes with files open on filesystems before unmounting]' - '-t[unmount all filesystems of specified type]:file system type:_file_systems' - '-v[verbose]' - ) - ;; - linux*) - local excl='-V --version -h --help' - args=( - '(- *)'{-h,--help}'[show help]' - '(- *)'{-V,--version}'[show version]' - "($excl -v --verbose)"{-v,--verbose}'[verbose mode]' - "($excl -n --no-mtab)"{-n,--no-mtab}"[don't write /etc/mtab]" - "($excl)-r[remount read-only on failure]" - "($excl)-d[for loopback mount, free loop device]" - "($excl)-i[don't call /sbin/umount.<fs> helper]" - "($excl *)-a[unmount all file systems from /etc/mtab]" - "($excl)-t[specify file system type]:file system type:_file_systems" - "($excl *)-O[with -a, restrict filesystems by options]:file system option:->fsopt" - "($excl)-f[force unmount]" - "($excl)-l[lazy unmount]" - '*:dev or dir:->udevordir' - ) - ;; - freebsd*|dragonfly*|darwin*) - args=( - '(*)-a[unmount all mounted file systems]' - '-A[unmount all mounted file systems except the root]' - '-f[force unmount]' - '-h[unmount all filesystems associated with host]:host:_hosts' - '-t[unmount all filesystems of specified type]:file system type:_sequence -s, _file_systems' - '-v[verbose mode]' - '*:dev or dir:->udevordir' - ) - ;; - solaris*) - args=( - '-a[unmount all mounted file systems]' - '-f[force unmount]' - '-V[echo command-line but do not execute]' - '-o[specify file system options]:file system option:->fsopt' - '*:dev or dir:->udevordir' - ) - ;; - *) - args=( - '-v[verbose mode]' - '(*)-a[unmount all file systems from /etc/mtab]' - '-t[specify file system type]:file system type:_file_systems' - '*:dev or dir:->udevordir' - ) - ;; - esac - - _arguments -C -s "$args[@]" && ret=0 - -fi - -case "$state" in -fsopt) - _tags options || return 1 - - eval 'tmp=(' '"$_fs_'${(s:,:)^${opt_args[$typeops]:-${deffs}}}'[@]"' ')' - tmp=( "$_fs_any[@]" "${(@)tmp:#}" ) - _values -s , 'file system option' "$tmp[@]" && ret=0 - ;; -devordir) - local dev_tmp mp_tmp mline - - if compset -P 1 '*:'; then - _wanted exports expl 'exported path' compadd \ - ${${(f)"$(path+=( {/usr,}/sbin(N) ) _call_program exports \ - showmount -e ${IPREFIX%:} 2>/dev/null)"}[2,-1]%% *} && ret=0 - return ret - fi - if compset -S ':*'; then - _hosts -S '' && ret=0 - return ret - fi - - case "$OSTYPE" in - dragonfly*) - while read mline; do - case $mline[(w)1] in - \#* ) - ;; - proc) - ;; - *) - [[ $mline[(w)3] == swap ]] || \ - dev_tmp+=( $mline[(w)1] ) \ - mp_tmp+=( $mline[(w)2] ) - ;; - esac - done < /etc/fstab - - _alternative \ - 'hosts:host:_hosts -S :' \ - 'devices:device:compadd -a dev_tmp' \ - 'directories:mount point:compadd -a mp_tmp' && ret=0 - ;; - freebsd*) - local _glabel - while read mline; do - case $mline[(w)1] in - \#* ) - ;; - proc) - ;; - *) - [[ $mline[(w)3] == swap ]] || \ - dev_tmp+=( $mline[(w)1] ) \ - mp_tmp+=( $mline[(w)2] ) - ;; - esac - done < /etc/fstab - - /sbin/ggatel list | while read mline; do - dev_tmp+=(/dev/$mline) - done - - # add glabel devices - _glabel=(${(M)${(f)"$(/sbin/glabel list)"}:#*Name:[[:space:]]*/*}) - for mline ($_glabel);do - dev_tmp+=( /dev/$mline[(w)3] ) - done - - _alternative \ - 'hosts:host:_hosts -S :' \ - 'devices:device:compadd -a dev_tmp' \ - 'directories:mount point:compadd -a mp_tmp' && ret=0 - ;; - *) - if (( ${${(s.,.)opt_args[-o]}[(I)loop(|=*)]} )) ; then - _wanted device-files expl 'loop device file' _files && ret=0 - else - _alternative \ - 'hosts:host:_hosts -S :' \ - 'files:device or mount point:_files -g "*(-%b,-/)"' && ret=0 - fi - ;; - esac - ;; -udevordir) - _umountable && ret=0 - ;; -labels) - _wanted labels expl 'disk label' compadd /dev/disk/by-label/*(:t) && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mozilla b/result/sw/share/zsh/5.9/functions/_mozilla deleted file mode 100644 index 0be25b8d..00000000 --- a/result/sw/share/zsh/5.9/functions/_mozilla +++ /dev/null @@ -1,150 +0,0 @@ -#compdef mozilla mozilla-firefox mozilla-xremote-client firefox iceweasel=firefox - -local curcontext="$curcontext" state line expl ret=1 suf -typeset -A opt_args - -local popts="-installer -CreateProfile -P -ProfileWizard -ProfileManager -SelectProfile" -local -a mozopts - -if [[ $service = *remote* ]]; then - state=remote -else - if [[ $service = *firefox* ]]; then - mozopts=( - '-browser[open browser window]' \ - '-console[start with debugging console]' \ - '-h[output help message]' \ - '-help[output help message]' \ - '-inspector[start with DOM Inspector]:URL to inspect:->location' \ - '-install-global-extension[install an extension]:extension to install:_files' \ - '-new-window[load URL in new window]:URL to load:->location' \ - '-new-tab[load URL in new tab]:URL to load:->location' \ - '-no-remote[run with multiple profiles]' \ - '-profile[specify profile file]:profile file:_files' \ - '-v[show version]' \ - '-version[show version]' \ - '-safe-mode[disable extensions and themes for this session]' - ) - else - mozopts=( - "($popts)-installer[start with 4.x migration window]" - "($popts)-ProfileWizard[start with profile wizard]" - "($popts)-SelectProfile[start with profile selection dialog]" - '-splash[enable splash screen]' - '-chat[start with IRC client]' - '-news[start with news]' - '-venkman[start with JavaScript debugger]' - '-terminal[start with command line terminal]' - '-mail[start with mail]' - '-compose[start with messenger compose]:URL:_urls' - ) - fi - _x_arguments -C $mozopts \ - '-height[height of startup window]:height' \ - '(-)'{-h,-help}'[show usage message]' \ - "($popts)-CreateProfile:profile" \ - '-width[width of startup window]:width' \ - '(-)'{-v,-version}'[show the version number and build date]' \ - "($popts)-P[start with profile]:profile:->profile" \ - "($popts)-ProfileManager[start with profile manager]" \ - '-UILocale:locale' \ - '-contentLocale:locale' \ - '-remote[execute a command in an existing Mozilla]:remote command:->remote' \ - '-jsconsole[start with JavaScript Console]' \ - '-edit[start with editor]:URL:_urls' \ - '-chrome[load the specified chrome]:URL:_urls' \ - '*:location:->urls' && ret=0 -fi - -[[ "$state" = "urls" ]] && - _files "$@" && return 0 - -# Handle mozilla remote commands -if [[ "$state" = "remote" ]]; then - local -a remote_commands - remote_commands=(openURL openFile saveAs mailto addBookmark ping) - - compset -P '*\(' - if compset -S '(|\\)\)*'; then - set - -S "" "$@" - else - set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@" - fi - case $IPREFIX in - openURL*) - if compset -P "*,"; then - _wanted option expl 'option' compadd "$@" new-tab new-window && ret=0 - else - compset -S ',*' - state=urls - fi - ;; - addBookmark*) state=urls;; - openFile*) _files "$@" -W ~;; - saveAs*) - if compset -P "*,"; then - _wanted types expl 'data type' \ - compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0 - else - compset -S ",*" || suf="," - _files -qS "$suf" -W ~ && ret=0 - fi - ;; - mailto*) - _email_addresses -s, -c && ret=0 - ;; - *) - compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}" - _wanted commands expl 'remote command' \ - compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \ - remote_commands && ret=0 - ;; - esac -fi - -if [[ "$state" = "urls" ]]; then - # Complete mozilla urls - if compset -P about: ; then - _wanted values expl 'about what' \ - compadd "$@" authors blank cache document fonts global hype image-cache \ - license logo memory-cache mozilla plugins && ret=0 - elif compset -P news: ; then - _newsgroups "$@" && ret=0 - elif compset -P mailto: ; then - _email_addresses -c && ret=0 - else - _tags prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' "$@"; do - _urls "$expl[@]" && ret=0 - compset -S '[^:]*' - compadd -S '' "$expl[@]" about: news: mailto: mocha: javascript: && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -if [[ $state == "profile" ]]; then - if [[ $service == *firefox* ]]; then - local -a profiles text profiledir - case "$OSTYPE" in - darwin*) profiledir=~/"Library/Application Support/Firefox" ;; - *) profiledir=~/.mozilla/firefox/ ;; - esac - profiles=(${(f)"$(< ${profiledir}/profiles.ini)"}) - profiles=(${(M)${profiles}:#(\[Profile|(Path|Name)=)*}) - text=${(F)profiles} - profiles=(${(f)text//(#b)\[Profile([0-9]##)\] -Name=([^ -]##|) -Path=([^ -]##|)/$match[2]}) - profiles=(${profiles%:}) - compadd $profiles - else - compadd ~/.mozilla/*/*.slt(\:h\:t) - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mpc b/result/sw/share/zsh/5.9/functions/_mpc deleted file mode 100644 index 7f7adc7b..00000000 --- a/result/sw/share/zsh/5.9/functions/_mpc +++ /dev/null @@ -1,371 +0,0 @@ -#compdef mpc -value-,MPD_HOST,-default - -local OUT foo MPD_MUSIC_DIR MPC_PLAYLIST_MATCHER MPC_FORMAT_STRING - -# set this style to whatever --format string you want to use when -# constructing the list of playlist entries -zstyle -s ":completion:${curcontext}:*" mpc-format-string MPC_FORMAT_STRING -foo=(--format "${(q)MPC_FORMAT_STRING:-%file%}") - -# set this style to the music_directory of mpd to get _files based completion -# for commands like "add" -zstyle -s ":completion:${curcontext}:" mpd-music-directory MPD_MUSIC_DIR - -# matcher used for playlist completion -zstyle -s ":completion:${curcontext}:" mpd-playlist-matcher \ - MPC_PLAYLIST_MATCHER -: ${MPC_PLAYLIST_MATCHER:='m:{a-z}={A-Z} l:|=**'} - -# this one is used to configure the behaviour of _mpc_helper_songnumbers, -# see _pids for the original -zstyle -s ":completion:${curcontext}:song-numbers" insert-song-numbers \ - OUT || OUT=single - -_mpc_command() { - local mpc_cmds - - mpc_cmds=( - add:"append a song to the end of the current playlist" - cdprev:"compact disk player-like previous command" - channels:"list the channels that other clients have subscribed to" - clear:"clear the current playlist" - clearerror:"clear the current error" - crop:"remove all songs except for the currently playing song" - current:"show the currently playing song" - crossfade:"set and display crossfade settings" - del:"remove a song from the current playlist" - disable:"disable an output" - enable:"enable an output" - toggleoutput:"toggle an output" - outputset:"set output attributes" - idle:"wait until an event occurs" - idleloop:"loop waiting for events" - insert:"insert a song after the currently playing song in the playlist" - listall:"list all songs in the music directory" - load:"load file as a playlist" - ls:"list the contents of specified directory" - lsplaylists:"list currently available playlists" - mixrampdb:"set and display mixrampdb settings" - mixramdelay:"set and display mixrampdelay settings" - move:"move song in playlist" - next:"play the next song in the current playlist" - outputs:"show the current outputs" - pause:"pause the currently playing song" - play:"start playing" - playlist:"print the current playlist" - prev:"play the previous song in the current playlist" - prio:"change song priorities in the queue" - queued:"show the next queued song" - random:"toggle random mode, or specify state" - repeat:"toggle repeat mode, or specify state" - single:"toggle single mode, or specify state" - consume:"toggle consume mode, or specify state" - replaygain:"set or display the replay gain mode" - rm:"remove a playlist" - save:"save a playlist to file" - search:"search for a song" - searchadd:"search songs and add them to the current playlist" - searchplay:"search and play songs from the current playlist" - find:"search for a song, exact match" - findadd:"find songs and add them to the current playlist" - list:"list all tags of given type" - listneighbors:"list neighbors" - seek:"seek to the position specified in percent" - seekthrough:"seek by an amount of time within the song and playlist" - shuffle:"shuffle the current playlist" - stats:"display statistics about MPD" - stop:"stop the currently playing playlists" - toggle:"toggles Play/Pause, plays if stopped" - update:"scan music directory for updates" - rescan:"rescan music directory (including unchanged files)" - version:"report version of MPD" - volume:"set volume" - status:"display MPD status" - sendmessage:"send a message to the specified channel" - waitmessage:"wait for at least one message on the specified channel" - subscribe:"subscribe to the specified channel and continuously receive messages" - sticker:"sticker management" - mount:"list mounts or add a new mount" - unmount:"remove a mount" - ) - - if (( CURRENT == 1 )); then - _describe -t commands "mpc command" mpc_cmds || \ - _wanted commands expl "mpc command" compadd loadtab tab lstab - else - local cmd=$words[1] - local curcontext="${curcontext%:*:*}:mpc-${cmd}:" ret=1 - if ! _call_function ret _mpc_$cmd; then - _default && ret=0 - fi - return ret - fi -} - -_mpc_helper_bool() { - local expl states - states=(on off yes no 1 0 true false) - _wanted states expl boolean compadd -a states -} - -(( $+functions[_mpc_helper_songnumbers] )) || -_mpc_helper_songnumbers() { - local out sn list expl MATCH desc all NM ret=1 - - _tags song-numbers || return 1 - - if [[ "$PREFIX" = [0-9]# ]]; then - all=() - MATCH="*${(Q)PREFIX}[0-9]#*" - else - all=(-U) - MATCH="(#i)*${(Q)PREFIX}*" - NM="$compstate[nmatches]" - fi - - out=("${(@f)$(_call_program song-numbers $mpccmd $foo playlist)}") - out=("${(@M)out[@]:#${~MATCH}}") - - sn=("${(@)${(@M)out}//(#b)(#s)(\#|[ >]#)([0-9]#)*/$match[2]}") - list=("${(@Mr:COLUMNS-1:)out}") - - _wanted -V song-numbers expl 'song number' \ - compadd "$@" -ld list "$all[@]" -a sn && ret=0 - - if [[ -n "$all" ]]; then - case "$OUT" in - menu) - compstate[insert]=menu - ;; - single) - [[ $compstate[nmatches] -ne NM+1 ]] && - compstate[insert]= - ;; - *) - [[ ${#:-$PREFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu - ;; - esac - fi - - return ret -} - -(( $+functions[_mpc_helper_playlists] )) || -_mpc_helper_playlists() { - local list expl - list=(${(f)"$(_call_program playlists $mpccmd lsplaylists)"}) - _wanted playlists expl playlist compadd -M $MPC_PLAYLIST_MATCHER $expl -a list -} - -(( $+functions[_mpc_helper_files] )) || -_mpc_helper_files() { - if [[ -n $MPD_MUSIC_DIR ]]; then - _files -W $MPD_MUSIC_DIR - return - fi - - local -U list expl prefix=$PREFIX - if [[ $words[CURRENT] != */* ]]; then - list=( ${${(f)"$(_call_program files $mpccmd listall)"}%%/*}) - _wanted files expl file compadd -qS/ -a list - else - [[ $compstate[quote] = [\'\"] ]] && prefix="$compstate[quote]$PREFIX$compstate[quote]" - list=(${(f)"$($mpccmd tab -- ${(Q)prefix} 2>/dev/null)"}) - _wanted files expl file _multi_parts / list - fi -} - -(( $+functions[_mpc_helper_directories] )) || -_mpc_helper_directories() { - if [[ -n $MPD_MUSIC_DIR ]]; then - _files -/ -W $MPD_MUSIC_DIR - return - fi - - local -U list expl prefix=$PREFIX - if [[ $words[CURRENT] != */* ]]; then - list=( ${${(M)${(f)"$(_call_program directories $mpccmd listall)"}:#*/*}%%/*}) - _wanted directories expl directory compadd -qS/ -a list - else - [[ $compstate[quote] = [\'\"] ]] && prefix="$compstate[quote]$PREFIX$compstate[quote]" - list=(${(f)"$($mpccmd lstab -- ${(Q)prefix} 2>/dev/null)"}) - _wanted directories expl directory _multi_parts / list - fi -} - -(( $+functions[_mpc_helper_outputs] )) || -_mpc_helper_outputs() { - local vals outline - vals=(${${${${(M)${(f)"$(_call_program outputs $mpccmd outputs)"}:#Output * \(*\) is (en|dis)abled}##Output }%%\) is (en|dis)abled}/ \(/:}) - _describe -t outputs output vals -} - -_mpc_add() { - _mpc_helper_files -} - -_mpc_del() { - _mpc_helper_songnumbers -} - -_mpc_play() { - _mpc_helper_songnumbers -} - -_mpc_seek() { - _message -e position 'position ([+-][HH:MM:SS]|<0-100>%%)' -} - -_mpc_seekthrough() { - _message -e position 'position ([+-][HH:MM:SS])' -} - -_mpc_enable() { - _mpc_helper_outputs -} - -_mpc_disable() { - _mpc_helper_outputs -} - -_mpc_toggleoutput() { - _mpc_helper_outputs -} - -_mpc_outputset() { - if (( CURRENT == 2 )); then - _mpc_helper_outputs - else - _values -w -S = attribute \ - 'dop:setting:(1 0)' \ - 'allowed_formats:formats' - fi -} - -_mpc_move() { - if (( $#words <= 3 )); then - _mpc_helper_songnumbers - else - _message "nothing" - fi -} - -_mpc_listall() { - _mpc_helper_files -} - -_mpc_ls() { - _mpc_helper_directories -} - -_mpc_lstab() { - _mpc_helper_directories -} - -_mpc_load() { - _mpc_helper_playlists -} - -_mpc_loadtab() { - _mpc_helper_playlists -} - -_mpc_save() { - _mpc_helper_playlists -} - -_mpc_tab() { - _mpc_helper_files -} - -_mpc_rm() { - _mpc_helper_playlists -} - -_mpc_volume() { - local expl value="${${$(_call_program volume $mpccmd volume)#*:}%\%}" ret=1 - if [[ -prefix \+ && $value -lt 100 ]]; then - _wanted -V volume expl volume compadd $expl - +{1..$((100-value))} && ret=0 - elif [[ -prefix - && $value -gt 0 ]]; then - _wanted -V volume expl volume compadd $expl - -{1..$value} && ret=0 - else - _wanted -V volume expl volume compadd $expl - {0..100} && ret=0 - compstate[insert]=menu:$((value+1)) - fi - return ret -} - -_mpc_repeat() { - _mpc_helper_bool -} - -_mpc_random() { - _mpc_helper_bool -} - -_mpc_single() { - _mpc_helper_bool -} - -_mpc_consume() { - _mpc_helper_bool -} - -_mpc_current() { - _arguments --wait -} - -_mpc_search() { - local list expl - list=(album artist title track name genre date composer performer comment disc filename any) - - if ! (( $#words % 2 )); then - _wanted list expl table compadd $expl -a list - else - _message "pattern" - fi -} - -_mpc_find() { - _mpc_search "$@" -} - -_mpc_list() { - _mpc_search "$@" -} - -_mpc_update() { - _mpc_helper_files -} - -_mpc_rescan() { - _mpc_helper_files -} - -if [[ $service = *MPD_HOST* ]]; then - _hosts - return -fi - -local curcontext="$curcontext" state line expl ret=1 -local mpccmd="$words[1]" - -_arguments -C \ - '(-q --quiet --no-status -v --verbose)'{-v,--verbose}'[give verbose output]' \ - '(-q --quiet --no-status -v --verbose)'{-q,--quiet,--no-status}'[prevent printing song status on completion]' \ - '(-h --host)'{-h,--host=}'[connect to specified host]:_hosts' \ - '(-p --port)'{-p,--port=}'[connect to server port]:port' \ - '(-f --format)'{-f,--format=}'[specify the format of song display]:format string:->formats' \ - '(-w --wait)'{-w,--wait}'[wait for operation to finish (e.g. database update)]' \ - '(-r --range)'{-r,--range=}'[operate on a range (e.g. when loading a playlist)]:<start>\:<end>' \ - '*::mpc command:_mpc_command' && ret=0 - -if [[ $state = formats ]]; then - compset -P '([^%]|%[^%]#%)#' - _wanted metadata expl 'metadata delimiter' compadd -p % -S % \ - artist album albumartist comment composer date disc genre performer title \ - track time file position id prio mtime mdate && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mplayer b/result/sw/share/zsh/5.9/functions/_mplayer deleted file mode 100644 index 1f99a178..00000000 --- a/result/sw/share/zsh/5.9/functions/_mplayer +++ /dev/null @@ -1,165 +0,0 @@ -#compdef mplayer gmplayer - -local suf ret=1 curcontext="$curcontext" -local -a vals state line expl - -_x_arguments -C -s \ - '!-abs:buffer size' \ - '-ac[force usage of a specific audio codec]:audio codec attachment:->audio-codecs' \ - '-af[activate audio filters]:filter' -af-adv:option \ - '-afm[force usage of a specific audio codec family]:audio codec family:->audio-codec-families' \ - '-aid:audio channel id' \ - '-alang[select the DVD audio language]:country code' \ - '(-nosound)-ao[specify audio driver]:audio-driver attachment:->audio-drivers' \ - '-aofile:file:_files' \ - '(-nosound)*-aop[specify audio output filter]:audio output filter:->audio-plugins' \ - '-aspect:ratio' \ - '-audiofile:audio file:_files -g "(#i)*.(wav|mp3|ogg|opus)(-.)"' \ - -autoq:quality -autosync:factor \ - -bandwidth:bandwidth\ value -benchmark -bpp:depth \ - '(-nocache)-cache:cache size (kb)' \ - '-cdda:audio CD options:(spped paranoia generic-dev sector-size overlap toc-bias toc-offset skip noskip)' \ - '-cdrom-device:cdrom device:_files -g "*(-%b)"' \ - '-channels:playback channels:((2\:stereo 4\:surround 6\:full\ 5.1))' \ - '-chapter:chapter' -contract:value \ - '-csslib:libcss.so location:_files' \ - -cuefile -delay:delay -demuxer:number -dfbopts:value \ - '(-nodouble)-double[enable double buffering]' \ - '-dr[enable direct rendering]' \ - -dxr2:option -dumpaudio -dumpstream -dumpvideo \ - '-dumpfile:output file:_files' \ - -dumpmicrodvdsub -dumpmpsub -dumpsrtsub -dumpjacosub -dumpsami -dumpsub \ - '-dvd:title id' '-dvdauth:DVD device' \ - '-dvd-device:dvd device:_files -g "*(-%b)"' \ - '-dvdangle:angle id' '-dvdkey:key' \ - '-edl:edl file:_files' '-edlout:edl file:_files' -enqueue \ - '-fbmode:video mode' '-fbmodeconfig:config file:_files' \ - '-fb[specify framebuffer device to use]:device:_files -g "*(-%b)"' \ - '-ffactor:factor:(0 0.75 1 10)' \ - -flip '-font:font.desc file:_files' -forceidx -forcexv -format:format \ - '-fps[force frame rate]:frame-rate' \ - '-framedrop' \ - '-frames:frame number' \ - '-fs[fullscreen]' -fstype:type \ - -gui -{,gui}'wid:X window:_x_window' \ - {-h,-help,--help}'[display help info]' \ - -hardframedrop \-hr-mp3-seek \ - '-hue:video signal hue adjustment' \ - '(-rootwin)-icelayer:icewm layer:((0\:desktop 2\:below 4\:normal 6\:ontop 8\:dock 10\:abovedock 12\:menu))' \ - '(-use-stdin)-idx[rebuild index of the avi]' \ - '-ifo:ifo file:_files' '-include:config-file:_files' \ - '-input:command:(conf ar-delay ar-rate keylist cmdlist js-dev file)' \ - '-jpeg:option' -lavdopts:option \ - '-lircconf:lirc config file:_files' '-loop:repetitions' \ - '-mc[specify max sync correction]:max sync correction' \ - '-mf[specify option when decoding multiple PNG or JPEG files]:option' \ - '-mixer:mixer device:_files -g "*(-%b)"' \ - '-monitoraspect:ratio' -monitor_dotclock -monitor_{h,v}freq:frequency \ - '-ni[force usage of non-interlaced avi parser]' \ - -noaspect -noautosub -overlapsub -nooverlapsub -nowaveheader \ - '(-cache)-nocache' -nobps \ - '(-double)-nodouble' -nodshow -noextbased -noframedrop \ - -nograbpointer -nokeepaspect -noslices -nojoystick -nolirc -nortc \ - '(-ao -aop)-nosound' \ - '-osdlevel:osd-level:((0\:subtitles\ only 1\:volume\ +\ seek 2\:volume\ +\ seek\ +\ timer\ +\ percentage 3\:volume\ +\ seek\ +\ timer\ +\ percentage\ +\ total\ time))' \ - -panscan:value \ - '-passwd[specify password for http authentication]:password' \ - '-playlist:file:_files' \ - '-pp[apply postprocess filter]:filter attachment' -pphelp \ - -quiet -really-quiet -rootwin \ - -rawaudio:option -rawvideo:option \ - '-rtsp-stream-over-tcp' -saturation:value \ - '-sb[seek to byte position]:byte' \ - -screen{w,h}:pixels \ - '-sdp[input file is a SDP file]' -shuffle \ - '-skin[skin directory]:skin directory:_directories' \ - -skipopening -slave \ - '-sid[turn on DVD subtitles]:language id' \ - '-speed[set playback speed rate]:playback speed rate' \ - '-srate[specify frequency of audio playback]:frequency (Hz)' \ - '-ss[seek to given time position]:position ([[hh\:]mm\:]ss[.sss])' \ - '-sstep[specify time between displayed frames]:time (seconds)' \ - -ssf:mode -stop_xscreensaver \ - '-stereo:mode:((0\:stereo 1\:left\ channel 2\:right\ channel))' \ - '-sub[use specified subtitle file]:subtitle file:_files' \ - -subfps:rate -sub-bg-alpha:value -sub-bg-color:value -subcc -subcp:codepage -subdelay:seconds \ - -subpos:vertical\ position -s{ub,pu}'align:alignment:((0\:top 1\:center 2\:bottom))' \ - '-subfont-autoscale:mode:((0\:no\ autoscale 1\:proportional\ to\ height 2\:proportional\ to\ width 3\:proportional\ to\ diagonal))' \ - -subfont-blur:radius -subfont-encoding:encoding -subfont-osd-scale:coefficient -subfont-outline:thickness -subfont-text-scale:coefficient \ - -sub-no-text-pp -spuaa:mode -spugauss:gauss -sws:scalar\ type \ - '-tv[TV grabbing]:option' \ - -unicode -utf8 \ - '-user[specify username for http authentication]' \ - '(-idx)-use-stdin' \ - '-vcd[play video cd track]:track' \ - '-vc[force usage of a specific video codec]:video-codec attachment:->video-codecs' \ - '-v[enable verbose output]' \ - '*-vf[video output filters]:video output filters:->video-output-plugins' \ - '-vfm[force usage of a specific video codec family]:video-codec-family:(1 2 3 4 5)' \ - '-vid[select video channel]:video-channel' \ - '-vm[try to change to a better video mode]' \ - '-vo[specify video driver]:video-driver attachment:->video-drivers' \ - '-vop[specify video output filters]:video output filters:->video-output-plugins' \ - -vobsub:vobsub\ file -vobsubid:id -vsync \ - '-x[scale image to x width if driver supports]:width' \ - -xineramascreen:screen -xvidopts:option \ - '-xy[scale image by factor if driver supports]:factor' \ - '-y[scale image to y height if driver supports]:height' \ - '-z[specify compression level for png output]:compression-level:((0\:no\ compression 1 2 3 4 5 6\:default\ compression 7 8 9\:max\ compression))' \ - '-zoom[use software scaling, where available (use with -nofs)]' \ - -zrbw -zrcrop -zrdev -zrfd -zrhelp -zrnorm -zrquality -zr{h,v}dec -zr{x,y}doff \ - '(-use-stdin)*:video file:->mfiles' && ret=0 - -case "$state" in - mfiles) - _tags files urls - while _tags; do - _requested files expl 'media file' _files -g \ - "*.(#i)(asf|asx|avi|flac|flv|m1v|m2p|m2v|m4a|m4v|mjpg|mka|mkv|mov|mp3|mp4|mpe|mpeg|mpg|ogg|ogm|ogv|opus|qt|rm|ts|vob|wav|webm|wma|wmv)(-.)" && ret=0 - if _requested urls; then - while _next_label urls expl URL; do - _urls "$expl[@]" && ret=0 - compadd -S '' "$expl[@]" {dvd,vcd,cdda,cddb,tv}:// && ret=0 - done - fi - (( ret )) || return 0 - done - ;; - audio-codecs) - vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -ac help -quiet 2>/dev/null)"}[(r)ac:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} ) - _describe -t audio-codecs 'audio codec' vals && ret=0 - ;; - audio-drivers) - vals=( help ${${${(f)"$(_call_program audio-drivers mplayer -ao help 2>/dev/null)"}[(r) *,-1]#?}/ /:} ) - _describe -t audio-drivers 'audio driver' vals && ret=0 - ;; - audio-codec-families) - compset -P '*,' - compset -S ',*' - vals=( help ${${${(f)"$(_call_program audio-codec-families mplayer -afm help 2>/dev/null)"}[(r) [^:]#,-1]## ##}/ ##/:} ) - _describe -t audio-codec-families 'audio driver' vals && ret=0 - ;; - audio-plugins) - _values -s : 'audio output plugin' \ - 'list[specify list of plugins]:plugin:(resample surround format volume extrastereo volnorm delay)' \ - 'format[output format]:format' \ - 'fout[output frequency]:frequency (Hz)' \ - 'volume[volume level]:volume <0-255>' \ - 'mul[stereo coefficient]:coefficient' \ - 'softclip[compressor]' && ret=0 - ;; - video-codecs) - vals=( help ${${${(f)"$(_call_program audio-codecs $words[1] -vc help -quiet 2>/dev/null)"}[(r)vc:*,-1]}[2,-1]/ ##[^ ]# #[^ ]# #/:} ) - _describe -t video-codecs 'video codec' vals && ret=0 - ;; - video-drivers) - vals=( help ${${${(f)"$(_call_program video-drivers mplayer -vo help 2>/dev/null)"}[(r) *,-1]#?}/ /:} ) - _describe -t video-drivers 'video driver' vals && ret=0 - ;; - video-output-plugins) - vals=( help ${${${${(f)"$(_call_program video-output-plugins mplayer -vop help 2>/dev/null)"}[(r) *,-1]}/ /}/ #: /:} ) - _describe -t video-output-plugins 'video output plugin' vals && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mt b/result/sw/share/zsh/5.9/functions/_mt deleted file mode 100644 index 01b27634..00000000 --- a/result/sw/share/zsh/5.9/functions/_mt +++ /dev/null @@ -1,80 +0,0 @@ -#compdef mt - -local -a args cmds -local state line curcontext="$curcontext" ret=1 - -args=( '(-)-f[specify raw tape device]:tape device:_files' ) -cmds=( - {eof,weof}':write specified number of EOF marks at current position' - 'fsf:forward space by specified number of files' - 'fsr:forward space by specified number of records' - 'bsf:backward space by specified number of files' - 'bsr:backward space by specified number of records' - 'asf:absolute space to specified file number' - 'eom:go to end of recorded media on the tape' - 'rewind:rewind the tape' - {offline,rewoffl}':rewind and unload the tape' - 'status:print status information about the tape unit' - 'retension:rewind, wind to end of reel, rewind again - smoothes tape tension' - 'erase:erase the tape' -) - -if _pick_variant gnu=GNU unix --version; then - args=( - '(1 2 -)'{-V,--version}'[print version info]' - '(1 2 -)--help[display usage info]' - '(-V --version --help -f --file)'{-f,--file=}'[specify raw tape device]:tape device:_files' - '(-V --version --help)--rsh-command=[specify remote shell command]:rsh command:_command_names -e' - ) - # should really allow remote user@host for tape device - cmds+=( - 'bsfm:backward space by specified number of file marks' - 'fsfm:forward space by specified number of file marks' - 'fss:forward space by specified number of setmarks' - 'bss:backward space by specified number of setmarks' - 'wset:write specified number of setmarks at current position' - {eod,seod}':space to end of valid data' - 'setblk:set drive block size' - 'setdensity:set tape density code' - 'drvbuffer:set drive buffer code' - 'stoptions:set driver option bits' - 'stwrthreshold:set device write threshold' - 'seek:seek to specified block' - 'tell:tell the current block on tape' - 'densities:explain some common density codes' - 'datcompression:enquire or set compression status' - ) -elif [[ $OSTYPE = (freebsd|dragonfly)* ]]; then - cmds=( ${cmds:#(asf|eof):*} - 'smk:write specified number of setmarks at current position' - 'fss:forward space by specified number of setmarks' - 'bss:backward space by specified number of setmarks' - 'rdhpos:read hardware block position' - 'rdspos:read SCSI logical block position' - 'sethpos:set hardware block position' - 'setspos:set SCSI logical block position' - 'errstat:print error status info about device' - 'blocksize:set drive block size' - 'density:set tape density code' - 'geteotmodel:print the current EOT filemark model' - 'seteotmodel:set the current EOT filemark model' - 'eod:go to end of recorded media on the tape' - 'comp:set compression mode' - ) -elif [[ $OSTYPE = solaris* ]]; then - cmds+=( - 'nbsf:back space by specified number of files positioning at file start' - 'reserve:allow drive to remain reserved after close until explicit release' - 'release:re-establish release at close behaviour' - ) - if (( ! EUID )); then - cmds+=( 'forcereserve:break reservation of tape drive held by other host' ) - fi -fi - -_arguments -C "$args[@]" '(--help --version -V)1:operation:->operation' \ - '2:count:' && ret=0 - -[[ -n "$state" ]] && _describe -t operations 'operation' cmds && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mtools b/result/sw/share/zsh/5.9/functions/_mtools deleted file mode 100644 index 63851b86..00000000 --- a/result/sw/share/zsh/5.9/functions/_mtools +++ /dev/null @@ -1,156 +0,0 @@ -#compdef mattrib mcopy mdel mdu mcd mdeltree mdir mformat mlabel mmd mmount mmove mrd mread mren mtoolstest mtype - -(( $+functions[_mtools_drives] )) || -_mtools_drives() { - local expl - - _wanted drives expl drive compadd "$@" -M "m:{a-z}={A-Z}" \ - ${${(M)${(f)"$(mtoolstest)"}:#drive*}##drive } -} - -(( $+functions[_mtools_dosfiles] )) || -_mtools_dosfiles() { - local expl files dirs disp dirsonly suf='/' ret=1 - - zparseopts -D -E '/=dirsonly' - if compset -P '[A-Za-z]:'; then - _tags files - else - _tags files drives - fi - compset -P '*/' - if compset -S '/*'; then - suf='' - dirsonly=(1) - fi - - while _tags; do - _requested drives expl drive _mtools_drives -S '' && ret=0 - if _requested files; then - files=( ${(f)"$(mdir -aX $IPREFIX 2>/dev/null)"} ) - dirs=( ${${${(M)files:#*/}%/}##*/} ) - disp=( $dirs/ ) - while _next_label files expl 'file'; do - (( ! $#dirsonly )) && compadd "$@" "$expl[@]" -M 'm:{a-zA-Z}={A-Za-z}' \ - ${files##*/} && ret=0 - compadd "$@" "$expl[@]" -M 'm:{a-zA-Z}={A-Za-z}' -S "$suf" -q \ - -d disp -a dirs && ret=0 - done - fi - (( ret )) || return 0 - done - - return ret -} - -(( $+functions[_mtools_files] )) || -_mtools_files() { - local dos - - if [[ -prefix [a-zA-Z]: ]]; then - dos='files:file:_mtools_dosfiles' - else - dos='drives:drive:_mtools_drives -S ""' - fi - _alternative $dos 'files:file:_files' -} - -_mtools() { - local args Dopt oopt sopt topt vopt - - Dopt='(-V)-D[specify name clash handling]:clash option: - _values "name clash handling" - "o[overwrite primary names]" - "O[overwrite secondary names]" - "r[rename primary name]" - "R[rename secondary name]" - "a[autorename primary name]" - "A[autorename secondary name]" - "s[skip primary name]" - "S[skip secondary name]" - "m[ask user what to do with primary name]" - "M[ask user what to do with secondary name]"' - oopt='(-V)-o[no confirmation on overwrite of DOS files]' - sopt=( '(-V -s -/)'-{s,/}'[recurse subdirectories]' ) - topt='(-V)-t[perform text file translation]' - vopt='(-V)-v[verbose]' - - case $service in - mattrib) - args=( $mdfiles - '(-V)-+a[archive]' - '(-V)-+h[hidden]' - '(-V)-+r[readonly]' - '(-V)-+s[system]' - '(-V)-/[recurse subdirectories]' - '(-V)-X[concise output]' - '(-V)-p[replay mode]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mcopy|mread) - args=( $Dopt $oopt $sopt $topt $vopt - '(-V)-b[batch mode]' - '(-V)-p[preserve file attributes]' - '(-V)-Q[quit on failure]' - '(-V)-a[text mode transfer]' - '(-V)-n[no confirmation on overwrite of Unix files]' - '(-V)-m[preserve modification time]' - '(-V)*:source file:_mtools_files' - ) - ;; - mdeltree|mrd) - args=( $vopt '(-V)*:directory:_mtools_dosfiles -/' ) - ;; - mdel) - args=( $vopt '(-V)*:file:_mtools_dosfiles' ) - ;; - mdir) - args=( $Dopt $sopt - '(-V)-w[wide output]' - '(-V)-a[also list hidden files]' - '(-V)-f[fast - do not find free space]' - '(-V -b -X)'-{b,X}'[concise output]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mdu) - args=( - '(-V)-a[output for all files]' - '(-V)-s[summarize - output only for each argument]' - '(-V)*:file:_mtools_dosfiles' - ) - ;; - mlabel) - args=( - '(-V -s)-c[clear existing label]' - '(-V -c)-s[show existing label]' - '(-V -N)-n[assign new random serial number]' - '(-V -n)-N[specify new serial number]:serial number' - '1:drive:_mtools_drives -S ""' - ) - ;; - mmd) - args=( $Dopt '(-V)*:directory:_mtools_dosfiles -/' ) - ;; - mmove|mren) - # target file should be completed relative to source here - args=( $Dopt $oopt $vopt '(-V)*:file:_mtools_dosfiles' ) - ;; - mtype) - args=( $topt - '(-V)-s[strip the high bit]' - '(-V)*:file:_mtools_files' - ) - ;; - mbadblocks|mmount|mformat|mtoolstest|mdrive) - args=( '(-V)1:drive:_mtools_drives' ) - ;; - mcd) args=( '(-V)*:directory:_mtools_dosfiles -/' ) ;; - esac - - _arguments -s -S "$args[@]" \ - '(-D -o -s -t -v -w -a -h -r -s -/ -X -p -f -b * 1)-V[display version information]' -} - -_mtools "$@" diff --git a/result/sw/share/zsh/5.9/functions/_mtr b/result/sw/share/zsh/5.9/functions/_mtr deleted file mode 100644 index 9a73cfbd..00000000 --- a/result/sw/share/zsh/5.9/functions/_mtr +++ /dev/null @@ -1,60 +0,0 @@ -#compdef mtr - -_arguments -s -S \ - '(H -F --filename)'{-F,--filename}'[read hostnames from a file]' \ - '(H -6)-4[use IPv4 only]' \ - '(H -4)-6[use IPv6 only]' \ - '(H -I --interface)'{-I+,--interface=}'[use named network interface]: :_net_interfaces' \ - '(H -a --address)'{-a+,--address=}'[bind outgoing packets to specific interface]:source IP:_hosts' \ - '(H -f --first-ttl)'{-f+,--first-ttl=}'[specify TTL to start]:TTL [1]' \ - '(H -m --max-ttl)'{-m+,--max-ttl=}'[specify maximum number of hops to probe]:hops [30]' \ - '(H -U --max-unknown)'{-U+,--max-unknown=}'[specify maximum unknown hosts]:maximum [5]' \ - '(H -P --port)'{-P+,--port=}'[specify target port for TCP, SCTP or UDP]:port' \ - '(H -L --localport -T --tcp -S --sctp)'{-L+,--localport=}'[specify source port number for UDP]' \ - '(H -s --psize 2)'{-s+,--psize=}'[packet size]:packet size (bytes)' \ - '(H -B --bitpattern)'{-B+,--bitpattern=}'[specify bit pattern to use in payload]:number (0-255)' \ - '(H -i --interval)'{-i+,--interval=}'[specify ping interval]:interval (seconds)' \ - '(H -G --gracetime)'{-G+,--gracetime=}'[specify time to wait for responses]:wait time (seconds)' \ - '(H -Q --tos)'{-Q+,--tos=}'[specify type of service for IP header]:tos (0-255)' \ - '(H -e --mpls)'{-e,--mpls}'[display ICMP MPLS information]' \ - '(H -Z --timeout)'{-Z+,--timeout=}'[specify how long to keep probe sockets open before giving up on the connection]:timeout (seconds)' \ - '(H -r --report)'{-r,--report}'[report mode]' \ - '(H -w --report-wide)'{-w,--report-wide}"[wide report mode\: don't truncate hostnames]" \ - '(H -c --report-cycles)'{-c+,--report-cycles=}'[report cycles]:number of pings' \ - '(H)--displaymode=[select initial display mode]:display mode:((0\:statistics 1\:stripchart\ with\ latency 2\:stripchart\ without\ latency))' \ - '(H -n --no-dns)'{-n,--no-dns}'[no DNS lookups]' \ - '(H -b --show-ips)'{-b,--show-ips}'[show both IP numbers and host names]' \ - '(H -o --order)'{-o+,--order=}'[specify order of output fields]: :_values -S "" "field order" - "L[loss ratio]" - "D[dropped packets]" - "R[received packets]" - "S[sent packets]" - "N[newest RTT]" - "B[min/best RTT]" - "A[average RTT]" - "W[max/worst RTT]" - "V[standard deviation]" - "G[geometric mean]" - "J[current jitter]" - "M[jitter mean/average]" - "X[worst jitter]" - "I[interarrival jitter]"' \ - '(H -z --aslookup -y --ipinfo)'{-y+,--ipinfo=}'[select IP information in output]:information:((0\:display\ AS\ number 1\:display\ IP\ prefix 2\:display\ country\ code 3\:display\ RIR 4\:display\ allocation\ date))' \ - '(H -y --ipinfo -z --aslookup)'{-z,--aslookup}'[display AS number]' \ - '(H)1:destination host:_hosts' \ - '(H)2:packet size (bytes)' \ - + '(H)' \ - '(- 1 2)'{-h,--help}'[display help information]' \ - '(- 1 2)'{-v,--version}'[display version information]' \ - + '(proto)' \ - '(H)'{-u,--udp}'[use UDP instead of ICMP echo]' \ - '(H -s --psize)'{-T,--tcp}'[use TCP instead of ICMP echo]' \ - '(H)'{-S,--sctp}'[use SCTP instead of ICMP echo]' \ - + '(output)' \ - '(H)'{-t,--curses}'[curses UI]' \ - '(H)'{-g,--gtk}'[GTK+ UI]' \ - '(H)'{-p,--split}'[output for a split-user interface]' \ - '(H)'{-l,--raw}'[output raw format]' \ - '(H)'{-C,--csv}'[output comma separated values]' \ - '(H)'{-j,--json}'[output JSON]' \ - '(H)'{-x,--xml}'[output XML]' diff --git a/result/sw/share/zsh/5.9/functions/_multi_parts b/result/sw/share/zsh/5.9/functions/_multi_parts deleted file mode 100644 index 8a77ff0f..00000000 --- a/result/sw/share/zsh/5.9/functions/_multi_parts +++ /dev/null @@ -1,261 +0,0 @@ -#autoload - -# This gets two arguments, a separator (which should be only one -# character) and an array. As usual, the array may be given by it's -# name or literal as in `(foo bar baz)' (words separated by spaces in -# parentheses). -# The parts of words from the array that are separated by the -# separator character are then completed independently. - -local sep pref npref i tmp2 group expl menu pre suf opre osuf orig cpre -local opts sopts matcher imm -typeset -U tmp1 matches - -# Get the options. - -zparseopts -D -a sopts \ - 'J+:=group' 'V+:=group' 'x+:=expl' 'X+:=expl' 'P:=opts' 'F:=opts' \ - S: r: R: q 1 2 o+: n 'f=opts' 'M+:=matcher' 'i=imm' - -sopts=( "$sopts[@]" "$opts[@]" ) -if (( $#matcher )); then - matcher="${matcher[2]}" -else - matcher= -fi - -# Get the arguments, first the separator, then the array. The array is -# stored in `tmp1'. Further on the array `matches' will always contain -# those words from the original array that still match everything we have -# tried to match while we walk through the string from the line. - -sep="$1" -if [[ "${2[1]}" = '(' ]]; then - tmp1=( ${=2[2,-2]} ) -else - tmp1=( "${(@P)2}" ) -fi - -# In `pre' and `suf' we will hold the prefix and the suffix from the -# line while we walk through them. The original string are used -# temporarily for matching. - -pre="$PREFIX" -suf="$SUFFIX" -opre="$PREFIX" -osuf="$SUFFIX" -orig="$PREFIX$SUFFIX" - -# Special handling for menu completion? - -[[ $compstate[insert] = (*menu|[0-9]*) || -n "$_comp_correct" || - ( $#compstate[pattern_match] -ne 0 && - "$orig" != "${orig:q}" ) ]] && menu=yes - -# In `pref' we collect the unambiguous prefix path. - -pref='' - -# If the string from the line matches at least one of the strings, -# we use only the matching strings. - -compadd -O matches -M "r:|${sep}=* r:|=* $matcher" -a tmp1 - -(( $#matches )) || matches=( "$tmp1[@]" ) - -while true; do - - # Get the prefix and suffix for matching. - - if [[ "$pre" = *${sep}* ]]; then - PREFIX="${pre%%${sep}*}" - SUFFIX="" - else - PREFIX="${pre}" - SUFFIX="${suf%%${sep}*}" - fi - - # Check if the component for some of the possible matches is equal - # to the string from the line. If there are such strings, we directly - # use the stuff from the line. This avoids having `foo' complete to - # both `foo' and `foobar'. - - if [[ -n "$PREFIX$SUFFIX" || "$pre" = ${sep}* ]]; then - tmp1=( "${(@M)matches:#${PREFIX}${SUFFIX}${sep}*}" ) - else - tmp1=() - fi - - if (( $#tmp1 )); then - npref="${PREFIX}${SUFFIX}${sep}" - else - # No exact match, see how many strings match what's on the line. - - builtin compadd -O tmp1 -M "r:|${sep}=* r:|=* $matcher" - "${(@)${(@)matches%%${sep}*}:#}" - - [[ $#tmp1 -eq 0 && -n "$_comp_correct" ]] && - compadd -O tmp1 -M "r:|${sep}=* r:|=* $matcher" - "${(@)${(@)matches%%${sep}*}:#}" - - if [[ $#tmp1 -eq 1 ]]; then - - # Only one match. If there are still separators from the line - # we just accept this component. Otherwise we insert what we - # have collected, probably giving it a separator character - # as a suffix. - - if [[ "$pre$suf" = *${sep}* ]]; then - npref="${tmp1[1]}${sep}" - else - matches=( "${(@M)matches:#${tmp1[1]}*}" ) - - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - - if [[ $#imm -ne 0 && $#matches -eq 1 ]] || - zstyle -t ":completion:${curcontext}:" expand suffix; then - compadd "$group[@]" "$expl[@]" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - $pref$matches - else - if (( $matches[(I)${tmp1[1]}${sep}*] )); then - compadd "$group[@]" "$expl[@]" -p "$pref" -r "$sep" -S "$sep" "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$tmp1[1]" - else - compadd "$group[@]" "$expl[@]" -p "$pref" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$tmp1[1]" - fi - fi - return - fi - elif (( $#tmp1 )); then - local ret=1 - - # More than one match. First we get all strings that match the - # rest from the line. - - PREFIX="$pre" - SUFFIX="$suf" - compadd -O matches -M "r:|${sep}=* r:|=* $matcher" -a matches - - if [[ "$pre" = *${sep}* ]]; then - PREFIX="${cpre}${pre%%${sep}*}" - SUFFIX="${sep}${pre#*${sep}}${suf}" - else - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - fi - - # The purpose of this check (or one purpose, anyway) seems to be to ensure - # that the suffix for the current segment on the command line doesn't - # match across segments. For example, we want $matches for a<TAB>c to - # include abc/d, but not abd/c. If we don't have anything on the command - # line for this segment, though, we can skip it. (The difference is only - # noticeable when there are a huge number of possibilities) - [[ -n $pre$suf ]] && - matches=( ${(@M)matches:#(${(j<|>)~${(@b)tmp1}})*} ) - - if ! zstyle -t ":completion:${curcontext}:" expand suffix || - [[ -n "$menu" || -z "$compstate[insert]" ]]; then - - # With menu completion we add only the ambiguous component with - # the prefix collected and a separator for the matches that - # have more components. - - tmp2="$pre$suf" - if [[ "$tmp2" = *${sep}* ]]; then - tmp2=(-s "${sep}${tmp2#*${sep}}") - else - tmp2=() - fi - - - compadd "$group[@]" "$expl[@]" -r "$sep" -S "$sep" "$opts[@]" \ - -p "$pref" "$tmp2[@]" -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*${sep}}%%${sep}*}:#}" && ret=0 - (( $matches[(I)${sep}*] )) && - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -p "$pref" \ - -M "r:|${sep}=* r:|=* $matcher" - "$sep" && ret=0 - compadd "$group[@]" "$expl[@]" -r "$sep" -S "$sep" "$opts[@]" \ - -p "$pref" "$tmp2[@]" -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*?${sep}?*}%%${sep}*}:#}" && ret=0 - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" -p "$pref" "$tmp2[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)matches:#*${sep}*}" && ret=0 - else - # With normal completion we add all matches one-by-one with - # the unmatched part as a suffix. This will insert the longest - # unambiguous string for all matching strings. - - compadd "$group[@]" "$expl[@]" "$opts[@]" \ - -p "$pref" -s "${i#*${sep}}" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)${(@)${(@M)matches:#*${sep}*}%%${sep}*}:#}" && ret=0 - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" -p "$pref" \ - -M "r:|${sep}=* r:|=* $matcher" - \ - "${(@)matches:#*${sep}*}" && ret=0 - fi - return ret - else - # We are here if no string matched what's on the line. In this - # case we insert the expanded prefix we collected if it differs - # from the original string from the line. - - { ! zstyle -t ":completion:${curcontext}:" expand prefix || - [[ "$orig" = "$pref$pre$suf" ]] } && return 1 - - PREFIX="${cpre}${pre}" - SUFFIX="$suf" - - if [[ -n "$suf" ]]; then - compadd "$group[@]" "$expl[@]" -s "$suf" "$sopts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref$pre" - else - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref$pre" - fi - return - fi - fi - - # We just accepted and/or expanded a component from the line. We - # remove it from the matches (using only those that have a least - # the skipped string) and ad it the `pref'. - - matches=( "${(@)${(@)${(@M)matches:#${npref}*}#*${sep}}:#}" ) - pref="$pref$npref" - - # Now we set `pre' and `suf' to their new values. - - if [[ "$pre" = *${sep}* ]]; then - cpre="${cpre}${pre%%${sep}*}${sep}" - pre="${pre#*${sep}}" - elif [[ "$suf" = *${sep}* ]]; then - cpre="${cpre}${pre}${suf%%${sep}*}${sep}" - pre="${suf#*${sep}}" - suf="" - else - # The string from the line is fully handled. If we collected an - # unambiguous prefix and that differs from the original string, - # we insert it. - - PREFIX="${opre}${osuf}" - SUFFIX="" - - if [[ -n "$pref" && "$orig" != "$pref" ]]; then - if [[ "$pref" = *${sep}*${sep} ]]; then - compadd "$group[@]" "$expl[@]" "$opts[@]" \ - -p "${pref%${sep}*${sep}}${sep}" -S "$sep" \ - -M "r:|${sep}=* r:|=* $matcher" - "${${pref%${sep}}##*${sep}}" - - elif [[ "$pref" = *${sep}* ]]; then - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -p "${pref%${sep}*}${sep}" \ - -M "r:|${sep}=* r:|=* $matcher" - "${pref##*${sep}}" - else - compadd "$group[@]" "$expl[@]" -S '' "$opts[@]" \ - -M "r:|${sep}=* r:|=* $matcher" - "$pref" - fi - fi - return - fi -done diff --git a/result/sw/share/zsh/5.9/functions/_mupdf b/result/sw/share/zsh/5.9/functions/_mupdf deleted file mode 100644 index 8a3c7645..00000000 --- a/result/sw/share/zsh/5.9/functions/_mupdf +++ /dev/null @@ -1,53 +0,0 @@ -#compdef mupdf - -local -a ext=( - cbt - cbz - tar - zip - epub - gproof - fb2 - htm - html - xhtml - xml - bmp - gif - hdp - j2k - jfif - jfif-tbnl - jp2 - jpe - jpeg - jpg - jpx - jxr - pam - pbm - pgm - png - pnm - ppm - tif - tiff - wdp - pdf - pclm - ai - svg - oxps - xps -) - -_arguments -S -s -A '-*' \ - '-p+[use specified password]:password:' \ - '-r+[specify initial zoom level]:resolution [72]:' \ - '-A+[specify anti-aliasing quality]:bits [8]:({0..8})' \ - '-C+[specify full-page tint:tint (RRGGBB) [FFFAF0]:' \ - '-W+[specify page width]:width:' \ - '-H+[specify page height]:height:' \ - '-S+[specify font size]:font size:' \ - '-U+[specify user style sheet]:CSS file:_files' \ - ': :_files -g "*(#i).(${(j:|:)ext})(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_mutt b/result/sw/share/zsh/5.9/functions/_mutt deleted file mode 100644 index 67b974a8..00000000 --- a/result/sw/share/zsh/5.9/functions/_mutt +++ /dev/null @@ -1,28 +0,0 @@ -#compdef mutt - -_arguments -s -S \ - '::recipient:_email_addresses -n mutt' \ - '(- :)-A[expand given alias]:alias:_email_addresses -n mutt' \ - '*-a[attach file using MIME]::file attachment:_files' \ - '*-b[specify a BCC recipient]:BCC recipient:_email_addresses -n mutt' \ - '*-c[specify a CC recipient]:CC recipient:_email_addresses -n mutt' \ - '(- :)-D[print the value of all variables]' \ - '(-x)-E[edit the draft (-H) or include (-i) file]' \ - '-d+[log debugging output to ~/.muttdebug0]:level:(1 2 3 4 5)' \ - '-e+[specify a post-init configuration command]:post-init configuration' \ - '-f+[specify mailbox to load]:mailbox: _mailboxes' \ - '-F+[specify an init file]:init file:_files' \ - '(- :)-h[display help]' \ - '-H+[specify a draft file for message]:draft file:_files' \ - '-i+[specify file to include in message]:include file:_files' \ - '-m+[specify default mailbox type]:mailbox type:(mbox MMDF MH Maildir)' \ - '-n[bypass system configuration]' \ - '-p[resume postponed message]' \ - '(- :)-Q+[query a configuration variable]:variable:(${${(f)"$(_call_program variables mutt -D 2>/dev/null)"}%%( is|=)*})' \ - '-R[open in read-only mode]' \ - '-s+[specify a subject]:subject:' \ - '(- :)-v[display mutt version]' \ - '(-E)-x[emulate mailx compose]' \ - '-y[start listing mailboxes]' \ - '-z[start only if new messages]' \ - '-Z[open first mailbox with new mail]' diff --git a/result/sw/share/zsh/5.9/functions/_mv b/result/sw/share/zsh/5.9/functions/_mv deleted file mode 100644 index 84e43d47..00000000 --- a/result/sw/share/zsh/5.9/functions/_mv +++ /dev/null @@ -1,55 +0,0 @@ -#compdef mv gmv zf_mv - -local args variant aopts=( -A '-*' ) - -_pick_variant -r variant -b zsh gnu=GNU $OSTYPE --version -case $variant; in - gnu) - aopts=() - args=( - '(-b --backup -n --no-clobber)--backup=[make a backup of each existing destination file]: : _values "backup type" - {none,off}"[never make backups]" - {numbered,t}"[make numbered backups]" - {existing,nil}"[numbered backups, if they already exist]" - {simple,never}"[always make simple backups]"' - '(-b --backup -n --no-clobber)-b[make a backup of each existing destination file]' - '(-f --force -i --interactive -n --no-clobber)'{-f,--force}"[don't prompt before overwriting]" - '(-f --force -i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwriting existing file]' - '--strip-trailing-slashes[remove any trailing slashes from each source argument]' - '(-S --suffix)'{-S+,--suffix=}'[specify the backup suffix]:backup suffix [~]' - '(-t --target-directory)'{-t+,--target-directory=}'[move all source arguments into specified directory]:directory:_directories' - '(-T --no-target-directory)'{-T,--no-target-directory}'[treat final argument as a normal file]' - '(-u --update)'{-u,--update}'[move only when destination file is older or missing]' - '(-v --verbose)'{-v,--verbose}'[show file names after they are moved]' - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) - [[ $OSTYPE = linux* ]] && args+=( - '(-Z --context)'{-Z,--context}'[set SELinux security context of destination file to default type]' - ) - ;; - *) - args=( - "(-i -n)-f[don't prompt before overwriting]" - '(-f -n)-i[prompt before overwriting existing file]' - ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( - "(-f -i)-n[don't overwrite existing file]" - ) - ;| - darwin*|dragonfly*|*bsd*) - args+=( - '-v[show file names after they are moved]' - ) - ;| - dragonfly*|freebsd*) - args+=( - "-h[if target is a symlink to a directory, don't follow it]" - ) - ;; -esac - -_arguments -s -S $aopts $args \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_my_accounts b/result/sw/share/zsh/5.9/functions/_my_accounts deleted file mode 100644 index 267cdd6f..00000000 --- a/result/sw/share/zsh/5.9/functions/_my_accounts +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_user_at_host -t my-accounts "$@" diff --git a/result/sw/share/zsh/5.9/functions/_myrepos b/result/sw/share/zsh/5.9/functions/_myrepos deleted file mode 100644 index d26c1245..00000000 --- a/result/sw/share/zsh/5.9/functions/_myrepos +++ /dev/null @@ -1,126 +0,0 @@ -#compdef mr - -# -# A zsh completion script for myrepos (http://myrepos.branchable.com/) -# - -# This script does not handle user defined alias nor user defined actions (lib, -# plugins) - - -local curcontext="$curcontext" state state_descr line ret=1 -local -a arguments -typeset -A opt_args -typeset -g mr_subcommands mr_alias - -arguments=( - '(-d --directory)'{-d,--directory}'[specify the topmost directory that mr should work in]:directory:_files -/' - '(-c --config)'{-c,--config}'[use the specified mrconfig file]:mrconfig:_files' - '(-f --force)'{-f,--force}'[force mr to act on repositories that would normally be skipped]' - '--force-env[force mr to execute even though potentially dangerous env variables]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - '(-m --minimal)'{-m,--minimal}'[minimise output]' - '(-q --quiet)'{-q,--quiet}"[suppress mr's usual output]" - '(-k --insecure)'{-k,--insecure}'[accept untrusted SSL certificates when bootstrapping]' - '(-s --stats)'{-s,--stats}'[expand the statistics line displayed at the end]' - '(-i --interactive)'{-i,--interactive}'[start a subshell if a repository fails to be processed]' - '(-n --no-recurse)'{-n,--no-recurse}'[specify the recursivity depth into repositories]::number' - '(-j --jobs)'{-j,--jobs}'[number of jobs run in parallel]::number' - '--cache[save the command result to ~/.mrcache/]' - '--cached[process cached commands]' - '--uncache[remove the cached output]' - '--top[cd to the top of the repo before running any commands]' - '(-t --trust-all)'{-t,--trust-all}'[trust all mrconfig files]' - \!{-p,--path} # this obsolete flag is ignored - ':mr commands:->subcommand' - '*::: := ->option-or-argument' -) - -_arguments -C $arguments && ret=0 - -case $state in - (subcommand) - - mr_subcommands=( - "checkout:check out any repositories that are not already checked out" - "update:update each repository" - "status:display a status report for each repository" - "clean:print/remove ignored or untracked files and other cruft" - "commit:commit changes to each repository" - "record:record changes to the local repository" - "fetch:fetch from each repository's remote repository" - "push:push committed local changes to remote repository" - "diff:show a diff of uncommitted changes" - "log:show the commit log" - "grep:search for a pattern in each repository" - "run:run the specified command in each repository" - "bootstrap:use a 'source' as .mrconfig file" - "list:list the repositories that mr will act on" - "register:register an existing repository in a mrconfig file" - "config:get and set value from a mrconfig file" - "offline:advise mr that it is in offline mode" - "online:advise mr that it is in online mode" - "remember:remember a command to be run later" - "help:display this help." - ) - - mr_alias=( - "co:check out any repositories that are not already checked out" - "ci:commit changes to each repository" - "ls:list the repositories that mr will act on" - ) - - _describe -t commands 'command' mr_subcommands -- mr_alias && ret=0 - - ;; - (option-or-argument) - curcontext=${curcontext%:*}-$line[1]: - case $line[1] in - (clean) - _arguments \ - '-f[allow removing the files]' \ - '*: :' && ret=0 - ;; - (commit|ci|record) - _arguments \ - '-m[allow specifying a commit message]' \ - '*: :' && ret=0 - ;; - (grep) - _message 'search pattern' - ;; - (run) - _message 'command to run' - ;; - (bootstrap) - if [[ $CURRENT -eq 2 ]]; then - _alternative \ - 'urls:URL:_urls' \ - 'local:local file or stdin:_files' - elif [[ $CURRENT -eq 3 ]]; then - _directories - fi - ;; - (register) - _directories - ;; - (config) - case $CURRENT in - (2) _message -e section 'section name';& - (3) _message -e setting '"setting" or "setting=value"';& - esac - ;; - (remember) - _describe -t commands 'command' mr_subcommands -- mr_alias && ret=0 - ;; - (checkout|co|update|status|fetch|push|diff|log|list|ls|offline|online|help) - _message 'no arguments' - ;; - (*) - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_mysql_utils b/result/sw/share/zsh/5.9/functions/_mysql_utils deleted file mode 100644 index 9f70687b..00000000 --- a/result/sw/share/zsh/5.9/functions/_mysql_utils +++ /dev/null @@ -1,249 +0,0 @@ -#compdef mysql mysqlshow mysqldump mysqlimport mysqladmin - -_mysql_get_identity() { - local _mysql_pass _mysql_sock - - _mysql_user=${(v)opt_args[(i)-u|--user]} - _mysql_port=${(v)opt_args[(i)-P|--port]} - _mysql_host=${(v)opt_args[(i)-h|--host]} - _mysql_pass=${(v)opt_args[(i)-p|--password]} - _mysql_sock=${(v)opt_args[(i)-S|--socket]} - - _mysql_params=( - ${_mysql_user:+"--user=$_mysql_user"} - ${_mysql_host:+"--host=$_mysql_host"} - ${_mysql_port:+"--port=$_mysql_port"} - ${_mysql_pass:+"--password=$_mysql_pass"} - ${_mysql_sock:+"--socket=$_mysql_sock"} - ) -} - -_mysql_hosts() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted hosts expl 'server host' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_user:+users=${_mysql_user:q}} \ - ${_mysql_port:+ports=${_mysql_port:q}} \ - hosts - -} - -_mysql_ports() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted ports expl 'server port' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_user:+users=${_mysql_user:q}} \ - ${_mysql_host:+hosts=${_mysql_host:q}} \ - ports - -} - -_mysql_users() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - _wanted users expl 'server username' \ - _combination -s '[:@]' '' hosts-ports-users \ - ${_mysql_host:+hosts=${_mysql_host:q}} \ - ${_mysql_port:+ports=${_mysql_port:q}} \ - users - -} - -_mysql_databases() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - compadd "$@" - ${${(f)~~"$(_call_program databases \ - mysql "$_mysql_params[@]" <<<'show databases' 2>/dev/null)"}[2,-1]} -} - -_mysql_tables() { - local _mysql_user _mysql_port _mysql_host _mysql_params - _mysql_get_identity - - compadd "$@" - ${${(f)~~"$(_call_program tables \ - mysql "$_mysql_params[@]" $1 <<< 'show tables' 2>/dev/null)"}[2,-1]} -} - -_mysql() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - '(--disable-auto-rehash)--auto-rehash[enable automatic rehashing]' \ - '(-t --table)'{-B,--batch}'[batch mode (no pretty ASCII)]' \ - '--character-sets-dir=[specify directory containing character sets]:directory:_directories' \ - '--default-character-set=[specify character set]:character set' \ - {-T,--debug-info}'[print debug info on exit]' \ - '(:)'{-D+,--database=}'[specify database to use]' \ - {-e+,--exec=}':[execute specified command]:mysql command' \ - {-f,--force}'[continue through errors]' \ - '(--disable-named-commands)'{-G,--named-commands}'[enable named commands]' \ - {-i,--ignore-spaces}'[ignore space after function names]' \ - --local-infile \ - {-b,--no-beep}'[turn off beep on error]' \ - {-H,--html}'[produce HTML output]' \ - {-x,--xml}'[produce XML output]' \ - '(--skip-line-numbers)--line-numbers[write line numbers for errors]' \ - "(--line-numbers)--skip-line-numbers[don't write line numbers for errors]" \ - {-n,--unbuffered}'[flush the buffer after each query]' \ - '--column-names[write column names in results]' \ - "--skip-column-names[don't write column names in results]" \ - {-o,--one-database}'[only update the default database]' \ - '--pager=[specify pager to use for displaying results]::pager' \ - '--prompt=[set the mysql prompt to specified value]:prompt' \ - {-q,--quick}'[disable caching of the result]' \ - {-r,--raw}'[write fields without conversion]' \ - {-s,--silent}'[silent mode]' \ - '(-B --batch)'{-t,--table}'[output in table format]' \ - '(-B --batch)--tee=[append all output to file]:file:_files' \ - {-U,--safe-updates}'[only allow UPDATE and DELETE that uses keys]' \ - {-E,--vertical}'[print query output vertically]' \ - {-w,--wait}'[wait and retry server connection if necessary]' \ - '(--pager)--disable-pager[print directly to stdout]' \ - '(--auto-rehash)--disable-auto-rehash[disable automatic hashing]' \ - '(-G --named-commands)--disable-named-commands' \ - ':MySQL database:_mysql_databases' -} - -_mysqlshow() { - _arguments -s \ - "$_mysql_common_opts[@]" \ - ':MySQL database to show:_mysql_databases' \ - ':table to show:{ _mysql_tables "$line[1]" }' \ - ':field wildcard' -} - -_mysqldump() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - {-a,--all}'[include all create options]' \ - {-c,--complete-insert}'[use complete insert statements]' \ - {-e,--extended-insert}'[allow new INSERT syntax]' \ - "--add-drop-table[add a 'drop table' before each create]" \ - "--add-locks[add locks around insert statements]" \ - "--allow-keywords[allow creation of column names that are keywords]" \ - "--delayed[insert rows with INSERT DELAYED]" \ - {-F,--flush-logs}'[flush logs file in server before dump]' \ - {-l,--lock-tables}'[lock all tables for read]' \ - {-t,--no-create-info}"[don't write table creation info]" \ - {-d,--no-data}"[don't write row information]" \ - '--opt[create fastest possible dump for reading]' \ - {-q,--quick}"[don't buffer, dump directly to stdout]" \ - {-T,--tab=}"[dump tab-separated text files for each table]:directory to store text files:_files -/" \ - {-w+,--where=}'[dump only selected records]:WHERE clause to limit records to dump: ' \ - '--fields-terminated-by=:(with --tab) fields in textfile terminated by ...:' \ - '--fields-enclosed-by=:(with --tab) fields in import file enclosed by ...:' \ - '--fields-optionally-enclosed-by=:(with --tab) fields in import file optionally enclosed by ...:' \ - '--fields-escaped-by=:(with --tab) fields in import file escaped by ...:' \ - '--lines-terminated-by=:(with --tab) lines in import file terminated by ...:' \ - ':MySQL database to dump:_mysql_databases' \ - '*:tables to dump:{ _mysql_tables "$line[1]" }' -} - -_mysqlimport() { - _arguments -s \ - "$_mysql_common_opts[@]" "$_mysql_variables_opts[@]" \ - '(-c --columns)'{-c,--columns=}'[use only specified columns to import the data to]:column list' \ - '(-d --delete)'{-d,--delete}'[first delete all rows from table]' \ - '--fields-terminated-by=:fields in textfile terminated by ...:' \ - '--fields-enclosed-by=:fields in import file enclosed by ...:' \ - '--fields-optionally-enclosed-by=:fields in import file optionally enclosed by ...:' \ - '--fields-escaped-by=:fields in import file escaped by ...:' \ - '(-f --force)'{-f,--force}'[continue through errors]' \ - '(-r --replace -i --ignore)'{-i,--ignore}'[if duplicate key found, keep old row]' \ - '--ignore-lines=[ignore specified number of lines from input file]:number of lines' \ - '--lines-terminated-by=[specify line terminator in input file]:terminator' \ - '(-L --local)'{-L,--local}'[read all files through the client]' \ - '(-l --lock-tables)'{-l,--lock-tables}'[lock all tables for write]' \ - '--low-priority[use LOW_PRIORITY when updating the table]' \ - '(-i --ignore -r --replace)'{-r,--replace}'[if duplicate key found, replace old row]' \ - ':MySQL database:_mysql_databases' -} -_mysqladmin() { - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - _arguments -C -s \ - "$_mysql_common_opts[@]" \ - '(-f --force)'{-f,--force}'[continue through errors]' \ - '(-i --sleep)'{-i+,--sleep=}'[repeat commands periodically]:number of seconds between executions' \ - '(-s --silent)'{-s,--silent}"[silently exit if can't connect to server]" \ - '(-t --timeout)'{-t+,--timeout=}'[specify timeout for connection]:time (seconds)' \ - '(-w --wait)'{-w+,--wait=}'[wait and retry server connection if necessary]:number of retries' \ - '*::mysqladmin command:->mysqladmin-commands' && ret=0 - - if [[ -n "$state" ]]; then - if (( CURRENT == 1 )); then - _wanted commands expl 'mysqladmin command' compadd - \ - create drop extended-status \ - flush-{hosts,logs,status,tables,threads,privileges} \ - kill password ping processlist \ - reload refresh shutdown \ - status start-slave stop-slave variables version && ret=0 - else - case "${words[1]:t}" in - create|drop) - _wanted databases expl "MySQL database" _mysql_databases && ret=0 - ;; - kill) - _message -e ids 'thread id' - ;; - password) - _message -e passwords 'new password' - ;; - esac - fi - fi - - return ret -} - -_mysql_utils() { - local _mysql_common_opts _mysql_variables_opts - - _mysql_common_opts=( - '(- *)'{-\?,--help}'[display help]' - '(- *)'{-V,--version}'[display version information]' \ - {-\#+,--debug=}'[specify debug log file]:log file:_files' - '--print-defaults[print the program argument list and exit]' - "--no-defaults[don't read default options from any options file]" - '--defaults-file=[read defaults from the given file]:file:_files' - '--defaults-extra-file=[read specified file after the global files]:defaults file:_files' - '(-S --socket)'{-S+,--socket=}'[specify socket file to use for connection]:server socket file:_files' - '(-h --host)'{-h+,--host=}'[specify server hostname]:hostname:_mysql_hosts' - '(-P --port)'{-P+,--port=}'[specify port number for connection]:server port:_mysql_ports' - '(-u --user)'{-u+,--user=}'[specify username for login]:server username:_mysql_users' - '(-p --password)'{-p-,--password=}'[specify password to use for connection]:server password' - '(-C --compress)'{-C,--compress}'[use compression in server/client protocol]' - \*{-v,--verbose}'[more verbose output]' - ) - - _mysql_variables_opts=( - '--max_allowed_packet[maximum allowed packet size]:packet size (bytes)' - '--net_buffer_length[network buffer length]:buffer length (bytes)' - '--connect_timeout:timeout' - '--select_limit:limit' - '--max_join_size:size' - ) - - case "$service" in - mysql) - _mysql "$@" - ;; - mysqlshow) - _mysqlshow "$@" - ;; - mysqldump) - _mysqldump "$@" - ;; - mysqlimport) - _mysqlimport "$@" - ;; - mysqladmin) - _mysqladmin "$@" - ;; - esac -} - -_mysql_utils "$@" diff --git a/result/sw/share/zsh/5.9/functions/_mysqldiff b/result/sw/share/zsh/5.9/functions/_mysqldiff deleted file mode 100644 index 2515834e..00000000 --- a/result/sw/share/zsh/5.9/functions/_mysqldiff +++ /dev/null @@ -1,28 +0,0 @@ -#compdef mysqldiff - -_mysqldiff () { - _arguments -s \ - {-h{,1,2},--host{,1,2}=}':server hostname:_mysql_hosts' \ - {-p{,1,2},--password{,1,2}=}':server password: ' \ - {-u{,1,2},--user{,1,2}=}':server username:_mysql_users' \ - {-s{,1,2},--socket{,1,2}=}':server socket:_directories' \ - {-d,--debug=}':debugging level [1]:(1 2 3 4 5 6 7 8)' \ - {-i,--tolerant}':ignore DEFAULT and formatting changes: ' \ - {-k,--keep-old-tables}":don\'t output DROP TABLE commands: " \ - {-n,--no-old-defs}"[don't output old defs as comments]" \ - {-o,--only-both}'[only output changes for tables in both databases]' \ - {-t,--table-re}':restrict comparisons to tables matching a regexp: ' \ - {-A,--apply}':interactively patch database1 to match database2: ' \ - {-\?,--help}'[display usage]' \ - {1,2}':MySQL database:_mysql_db_or_file' -} - - -_mysql_db_or_file () { - _alternative \ - 'databases:MySQL database:_mysql_databases' \ - 'files:MySQL database definition file:_files -g "*.(my|)sql(-.)"' -} - -_mysql_utils -_mysqldiff "$@" diff --git a/result/sw/share/zsh/5.9/functions/_nautilus b/result/sw/share/zsh/5.9/functions/_nautilus deleted file mode 100644 index c32e5dc7..00000000 --- a/result/sw/share/zsh/5.9/functions/_nautilus +++ /dev/null @@ -1,13 +0,0 @@ -#compdef nautilus - -_arguments \ - '--browser[open a browser window]' \ - '(--check -c)'{-c,--check}'[perform a quick set of self-check tests]' \ - '(--geometry -g)'{-g,--geometry=}':geometry:_x_geometry' \ - '(--no-default-window -n)'{-n,--no-default-window}'[only create windows for explicitly specified URIs]' \ - '--no-desktop[do not manage the desktop]' \ - '(--quit -q)'{-q,--quit}'[quit Nautilus]' \ - '--help[show a summary of options]' \ - '--version[show version]' \ - '*:URI: _alternative "files:file:_files" "urls:URL:_urls"' - diff --git a/result/sw/share/zsh/5.9/functions/_nbsd_architectures b/result/sw/share/zsh/5.9/functions/_nbsd_architectures deleted file mode 100644 index 441b874d..00000000 --- a/result/sw/share/zsh/5.9/functions/_nbsd_architectures +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" amd64 evbarm evbmips evbppc hpcarm i386 sparc64 xen \ - acorn32 algor alpha amiga amigappc arc atari bebox cats cesfic cobalt dreamcast \ - emips epoc32 evbsh3 ews4800mips hp300 hppa hpcmips hpcsh ia64 ibmnws iyonix \ - landisk luna68k mac68k macppc mipsco mmeye mvme68k mvmeppc netwinder news68k \ - newsmips next68k ofppc pmax prep rs6000 sandpoint sbmips sgimips shark sparc \ - sun2 sun3 vax x68k zaurus diff --git a/result/sw/share/zsh/5.9/functions/_ncftp b/result/sw/share/zsh/5.9/functions/_ncftp deleted file mode 100644 index 763a6134..00000000 --- a/result/sw/share/zsh/5.9/functions/_ncftp +++ /dev/null @@ -1,17 +0,0 @@ -#compdef ncftp lftp - -local expl bookmarks XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} - -if [[ $service = lftp ]]; then - bookmarks=$XDG_DATA_HOME/$service/bookmarks -else - bookmarks=$HOME/.$service/bookmarks -fi - -if [[ -f $bookmarks ]]; then - bookmarks=(${"${(f)$(<$bookmarks)}"%%[[:space:],]*}) - [[ $service == ncftp ]] && shift 2 bookmarks - _wanted bookmarks expl bookmark compadd -a bookmarks && return 0 -fi - -_hosts diff --git a/result/sw/share/zsh/5.9/functions/_nedit b/result/sw/share/zsh/5.9/functions/_nedit deleted file mode 100644 index 75ca1bad..00000000 --- a/result/sw/share/zsh/5.9/functions/_nedit +++ /dev/null @@ -1,60 +0,0 @@ -#compdef nedit nedit-nc=nc ncl=nc - -local state line expl nedit_common curcontext="$curcontext" ret=1 -typeset -A opt_args - -nedit_common=( - '-read[open file read only]' - "-create[create file if it doesn't already exist]" - '-line[go to specified line number]:line number' - '-do[execute macro or action commands]:macro command' - '-lm[specify language mode]:language mode:->lang' - '-svrname[name the server]:nedit server name' - '(-noiconic -icon -iconic)'{-icon,-iconic}'[set initial window state to iconic]' - '*-tabbed[open all subsequent files in new tabs]' - '*-untabbed[open all subsequent files in new windows]' - '*-group[open all subsequent files as tabs in a new window]' - '(- *)'{-V,-version}'[display version information]' - '*-xrm:resource:_x_resource' - '*:file:_files' -) - -if [[ $service = nc ]]; then - _x_arguments -C -S \ - '(-noask)-ask[prompt if no server found]' \ - '(-ask)-noask[start a new server without asking if none found]' \ - "-wait[don't return to the shell until all files given are closed]" \ - '-timeout[timeout period when talking to server]:timeout (seconds)' \ - '-svrcmd[command to run server]:server command:_command_names -e' \ - "$nedit_common[@]" && ret=0 -else - _x_arguments -C -S \ - '-server[designate this session as an nedit server]' \ - '-tags[load ctags file]:tags file:_files' \ - '-tabs[specify tab width in characters]:tab width' \ - '(-nowrap -autowrap -noautowrap)-wrap[use continuous wrap mode]' \ - '(-wrap -autowrap -noautowrap)-nowrap[turn off continuous wrap mode]' \ - '(-wrap -nowrap -noautowrap)-autowrap[use auto-newline wrap mode]' \ - '(-wrap -nowrap -autowrap)-noautowrap[turn off auto-newline wrap mode]' \ - '(-noautoindent)-autoindent[maintain a running indent]' \ - '(-autoindent)-noautoindent[turn off autoindent]' \ - '(-noautosave)-autosave[maintain a backup copy of file being edited]' \ - "(-autosave)-noautosave[don't maintain a backup copy of file being edited]" \ - "(-iconic)-noiconic[don't set initial window state to iconic]" \ - '-rows[specify default height in characters for an editing window]:height' \ - '-columns[specify default width in characters for an editing window]:width' \ - '-font[specify font for text window]:font:_x_font' \ - '(-bg)-background:background color:_x_color' \ - '(-background)-bg[specify background color]:background color:_x_color' \ - '(-fg)-foreground:foreground color:_x_color' \ - '(-foreground)-fg[specify foreground color]:foreground color:_x_color' \ - '*-import[load additional preferences file]:nedit preferences file:_files' \ - "$nedit_common[@]" && ret=0 -fi - -[[ $state = lang && -f ~/.nedit ]] && - _wanted neditlanguages expl 'language mode' \ - compadd - ${(f)"$(sed -n \ - '/^nedit.languageMode/,/^nedit/ s/.* \([^:]*\).*/\1/p' < ~/.nedit)"} && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_net_interfaces b/result/sw/share/zsh/5.9/functions/_net_interfaces deleted file mode 100644 index 5be66d7d..00000000 --- a/result/sw/share/zsh/5.9/functions/_net_interfaces +++ /dev/null @@ -1,9 +0,0 @@ -#compdef ifup ifdown - -local expl -local -a net_intf_disp net_intf_list - -_find_net_interfaces - -_wanted interfaces expl 'network interface' \ - compadd "$@" "$net_intf_disp[@]" - "${(@)net_intf_list%%:*}" diff --git a/result/sw/share/zsh/5.9/functions/_netcat b/result/sw/share/zsh/5.9/functions/_netcat deleted file mode 100644 index 250d4c85..00000000 --- a/result/sw/share/zsh/5.9/functions/_netcat +++ /dev/null @@ -1,38 +0,0 @@ -#compdef nc netcat - -# handle name clash with the nedit client -if [[ $service = nc ]] && ! _pick_variant netcat=connect nedit -h; then - _nedit - return -fi - -if (( ! $#_cache_nc_args )); then - typeset -ga _cache_nc_args - local help="$(_call_program options $words[1] -h < /dev/null 2>&1)" - local -A optionmap - optionmap=( - '*-e prog*' '-e+[program to exec after connect]:program:_command_names -e' - '*-g gateway*' '-g+[source-routing hop point]:gateway:_hosts' - '*-G num*' '-G[source-routing pointer: 4, 8, 12]' - '*-i secs*' '-i+[delay interval for lines sent or ports scanned]:delay (secs)' - '*-l*' '-l[listen mode]' - '*-n*' '-n[numeric-only IP addresses, no DNS]' - '*-o file*' '-o+[hex dump of traffic]:file:_files' - '*-p port*' '-p+[local port number]:port:_ports' - '*-r*' '-r[randomize local and remote ports]' - '*-q secs*' '-q+[quit after EOF on stdin and delay of secs]:delay (secs)' - '*-t*' '-t[answer TELNET negotiation]' - '*-u*' '-u[UDP mode]' - '*-v*' '-v[verbose]' - '*-w secs*' '-w+[timeout for connects and final net reads]:timeout (secs)' - '*-z*' '-z[zero-I/O mode]' - '*-x*' '-x' - '*-b*' '-b[allow broadcasts]' - ) - _cache_nc_args=( $optionmap[(K)"$help"] ) -fi - -_arguments -s \ - "$_cache_nc_args[@]" \ - ':host:_hosts' \ - ':port:_ports' diff --git a/result/sw/share/zsh/5.9/functions/_netscape b/result/sw/share/zsh/5.9/functions/_netscape deleted file mode 100644 index 78b2da64..00000000 --- a/result/sw/share/zsh/5.9/functions/_netscape +++ /dev/null @@ -1,93 +0,0 @@ -#compdef netscape - -local curcontext="$curcontext" state line expl ret=1 suf files -typeset -A opt_args - -_x_arguments -C \ - '-xrm:resource:_x_resource' \ - '-help[show usage message]' \ - '-version[show the version number and build date]' \ - '-visual[use a specific server visual]:visual:_x_visual -b' \ - '-install[install a private colormap]' \ - '-no-install[use the default colormap]' \ - '-ncols[max no. of colors to allocate for images]:n:' \ - '-mono[force 1-bit-deep image display]' \ - '-iconic[start up iconified]' \ - '-remote[execute a command in an existing Netscape]:remote command:->remote' \ - '-id[id of X window to send remote commands to]:window-id:' \ - '-raise[raise window following remote command]' \ - "-noraise[don't raise window following remote command]" \ - '-nethelp[show nethelp]' \ - -{dont-force-window-stacking,no-about-splash} \ - -{,no-}{,irix-}session-management \ - -{done-save,ignore}-geometry-prefs \ - -{component-bar,composer,edit,messenger,mail,discussions,news} \ - '*:location:->urls' && ret=0 - -# Handle netscape remote commands -if [[ "$state" = "remote" ]]; then - local -a remote_commands - remote_commands=(openURL openFile saveAs mailto addBookmark) - - compset -P '*\(' - if compset -S '(|\\)\)*'; then - set - -S "" "$@" - else - set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@" - fi - case $IPREFIX in - openURL*|addBookmark*) state=urls;; - openFile*) _files "$@" -W ~;; - saveAs*) - if compset -P "*,"; then - _wanted types expl 'data type' \ - compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0 - else - compset -S ",*" || suf="," - _files -qS "$suf" -W ~ && ret=0 - fi - ;; - mailto*) - _email_addresses -s, -c && ret=0 - ;; - *) - compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}" - _wanted commands expl 'remote command' \ - compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \ - remote_commands && ret=0 - ;; - esac -fi - -if [[ "$state" = "urls" ]]; then - _tags files urls - while _tags; do - _requested files expl 'file' _files "$@" && files=yes ret=0 - if _requested urls; then - # Complete netscape urls - if compset -P about: ; then - _wanted values expl 'about what' \ - compadd "$@" authors blank cache document fonts global hype \ - image-cache license logo memory-cache mozilla plugins && ret=0 - elif compset -P news: ; then - _newsgroups "$@" && ret=0 - elif compset -P mailto: ; then - _email_addresses -c && ret=0 - else - _tags prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' "$@"; do - _urls "$expl[@]" && ret=0 - compset -S '[^:]*' - compadd -S '' "$expl[@]" about: news: mailto: mocha: javascript: && ret=0 - done - (( ret )) || return 0 - done - [[ -z "$files" ]] && _tags files - fi - fi - (( ret )) || return 0 - done -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_netstat b/result/sw/share/zsh/5.9/functions/_netstat deleted file mode 100644 index 67133dc6..00000000 --- a/result/sw/share/zsh/5.9/functions/_netstat +++ /dev/null @@ -1,354 +0,0 @@ -#compdef netstat - -local Wopt Xopt nopt="[don't resolve addresses to names]" -local lopt='[show only listening sockets]' -local zopt='-z[reset statistic counters after displaying them]' -local popt='(-f)-p+[filter by protocol]:protocol:compadd -a plist' -local Iopt='(-i)-I+[show information about the specified interface]:interface:_net_interfaces' -local set sel tblopt -local -A sets -local -a Mopts families flist plist args sockets extend interval verbose -local -a {sel_,}{bpf,dhcp,groups,interfaces,masquerade,media,memory,multicast,pcb,queues,rdomains,routing,statistics,wireless} - -case $OSTYPE in - linux-gnu) - families=( - '(-4 --inet)'{-4,--inet} - '(-6 --inet)'{-4,--inet6} - '(-A --protocol)'{-A+,--protocol=}':protocol:_sequence compadd - inet inet6 unix ipx ax25 netrom ddp bluetooth' - --unix -x --ip --tcpip --ax25 --x25 --rose --ash - --bluetooth --ipx --netrom --ddp --appletalk --econet --ec - ) - extend=( \*{-e,--extend}'[show additional information]' ) - verbose=( '(-v --verbose)'{-v,--verbose}'[show what is going on]' ) - args=( - '(-c --continuous)'{-c,--continuous}'[repeat information every second]' - '!(-n --numeric)'{-N,--symbolic} - '(-n --numeric)'{-n,--numeric}"$nopt" - --numeric-hosts --numeric-ports --numeric-users - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - - '(help)' - '(- 1)'{-h,--help}'[display usage information]' - '(- 1)'{-V,--version}'[display version information]' - ) - sets=( - routing '(--route|-[^-]#r*)' - groups '(--groups|-[^-]#g*)' - interfaces '(--interfaces|-[^-]#[iI]*)' - statistics '(--statistics|-[^-]#s*)' - masquerade '(--masquerade|-[^-]#M*)' - ) - - sel_routing=( '(-r --route)'{-r,--route}'[display routing table]' ) - sel_interfaces=( - '(-I --interfaces)-i[display interface table]' - '(-i -I --interfaces)'{--interface=-,-I=-}'[display interface table]::interface:_net_interfaces' - ) - sel_groups=( '(-g --groups)'{-g,--groups}'[display multicast group memberships]' ) - sel_masquerade=( '(-M --masquerade)'{-M,--masquerade}'[display masqueraded connections]' ) - [[ -e /proc/net/ip_masquerade ]] || sel_masquerade=( \!${^sel_masquerade} ) - sel_statistics=( '(-s --statistics -c --continuous -n --numeric --numeric-hosts --numeric-ports --numeric-users)'{-s,--statistics}'[display networking statistics]' ) - - sockets=( - $families $verbose - --tcp -t --udp -u --udplite -U --sctp -S --raw -w - '(-2 --l2cap)'{-2,--l2cap} - '(-f --rfcomm)'{-f,--rfcomm} - '(-a --all -l --listening)'{-l,--listening}$lopt - '(-a --all -l --listening)'{-a,--all}'[show all sockets]' - --symbolic -N --extend -e - '(--timers -o)'{--timers,-o}'[show information on networking timers]' - '(--program -p)'{--program,-p}'[show process id and program name for sockets]' - '(--wide -W)'{--wide,-W}"[don't truncate IP addresses in output]" - '(-Z --context)'{-Z,--context}'[display SELinux security context for sockets]' - ) - routing=( - $families $extend $verbose - '-C[display routing cache instead of FIB]' - ) - interfaces=( - $extend $verbose - '(-a --all)'{-a,--all}'[show interfaces that are not up]' - ) - groups=() - masquerade=( $extend ) - statistics=( $families ) - ;; - solaris*|darwin*|dragonfly*|freebsd*) - families=( '(-p -4 -6)-f+[specify address family]:address family:compadd -a flist' ) - ;| - freebsd*) - families+=( - '(-6 -f)-4[show IPv4 only]' - '(-4 -f)-6[show IPv6 only]' - ) - ;| - (open|net)bsd*) - popt='(-f)-p+[filter by protocol]:protocol:compadd - ${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]#}' - families=( - '(-u)-f+[specify address family]:address family:_sequence compadd - -a flist' - '(-f)-u[limit reports to the unix address family]' # undocumented on NetBSD - ) - ;| - *) # everything except linux - sets=( - routing '-[^-]#r*' - groups '-[^-]#g*' - interfaces '-[^-]#[iIw]*' - memory '-[^-]#m*' - statistics '-[^-]#s*' - ) - flist=( inet inet6 unix ) - verbose=( '-v[verbose]' ) - sel_routing=( '-r[display routing table]' ) - sel_groups=( '-g[display multicast group memberships]' ) - sel_interfaces=( $Iopt '-i[display interface table]' ) - sel_statistics=( '*-s[display per protocol statistics]' ) - sockets=( $families -n$nopt '-a[show all sockets]' ) - routing=( -n$nopt ) - interfaces=( $families -n$nopt ) - statistics=( $families ) - ;| - (open|net)bsd*) - sets+=( pcb '-[^-]#P*' ) - sel_pcb=( '-P+[display contents of the protocol control block]:pcb' ) - routing+=( $verbose '(-L)-s[show routing statistics]' ) - groups+=( $families - '(-s)-l[display wider fields for the IPv6 multicast routing table]' - '(-l)-s[show multicast routing statistics]' - ) - interfaces+=( - '(-p)-s[show interface statistics]' - ) - ;| - darwin*|dragonfly*|(net|free|open)bsd*) - sockets+=( '-A[show address of a PCB associated with sockets]' ) - interfaces+=( - '-b[show the number of bytes in and out]' - '-d[show the number of dropped packets]' - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - ) - routing=( $families ) - sel_memory=( '-m[display statistics recorded by the memory management routines]' ) - sel_interfaces+=( '(1 -a -f -i -p -s -u)-w+[display packet traffic at intervals]:interval (seconds)' ) - ;| - darwin*|dragonfly*|(net|free)bsd*) - interfaces+=( '-a[show multicast addresses currently in use]' ) - ;| - dragonfly*|(net|free|open)bsd*) - Mopts=( - '-M+[extract values from specified core]:core file:_files' - '-N+[extract name list from specified system image]:system image:_files' - ) - interfaces+=( - '-h[print all counters in human readable form]' - ) - sockets+=( $Mopts ) - ;| - darwin*|dragonfly*|freebsd*) - Wopt='-W+[avoid truncating fields even if it causes overflow]' - sockets+=( $Wopt - '-L[show size of listen queues]' - ) - groups+=( $Wopt ) - ;| - dragonfly*|netbsd*|freebsd*) - sockets+=( '(-n)-S[show network addresses as numbers but show ports symbolically]' ) - ;| - netbsd*|freebsd*) - sets+=( bpf '-[^-]#B*' ) - sel_bpf=( '-B[display statistics about bpf(4) peers]' ) - ;| - dragonfly*|freebsd*) - plist=( divert icmp igmp ip ipsec pim tcp udp icmp6 ip6 rip6 tcp udp pfkey ctrl data ) - sockets+=( $popt ) - statistics+=( $popt $zopt $Mopts ) - memory+=( $Mopts ) - routing+=( $Mopts $zopt - '(-A -a -f -l -n -W)*-s[show routing statistics]' - '-W[show path MTU for each route]' - ) - groups+=( $families $Mopts - '(-W)*-s[show multicast routing statistics; repeat to suppress those with zero counters]' - ) - ;| - - solaris2.<11->) - sets+=( dcache '-[^-]#d*' ) - sel_dcache=( '-d[display the destination cache entry table]' ) - dcache=( $families ) - args=( '-T+[specify time format]:time format:((u\:seconds\ since\ epoch d\:standard\ date\ format))' ) - sockets+=( - '-u[list user, pid and program that created network endpoint]' - '-k[show only sockets with kernel data path bypass enabled]' - '-L[only show state of sockets using SO_REUSEPORT load balancing]' - ) - ;& - solaris*) - args=( -A '-*' $args ) - interval=( - '1: :_guard "[0-9]#" "repeat interval (seconds)"' - '2: :_guard "[0-9]#" "count"' - ) - sets+=( - dhcp '-[^-]#D*' - media '-[^-]#p*' - multicast '-[^-]#M*' - ) - sel_media=( '-p[display net to media tables]' ) - sel_memory=( '-m[display STREAMS memory statistics]' ) - sel_multicast=( '-M[display multicast routing tables]' ) - sel_dhcp=( '-D[display status of DHCP configured interfaces]' ) - sockets+=( - $verbose - '-R[show extended security attributes]' - '-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' - ) - routing+=( $verbose - '*-f+[filter routing table]:rule:_values -S \: "filter rule" $flist - "af[specify address family]\:family\:(inet inet6 unix)" - "outif[specify output interface]\:interface\:_net_interfaces" - "dst[specify destination IP]\:IP address" - "flags[select routes tagged with flags]\:flags"' \ - '-a[show state of all routing tables]' - '-R[show extended security attributes]' - ) - groups+=( $families -n$nopt $verbose ) - interfaces+=( $interval - '-a[show state of all interfaces]' - ) - statistics+=( - '-P[specify protocol]:protocol:(ip ipv6 icmp icmpv6 igmp udp tcp rawip)' - ) - media=( -n$nopt $families ) - memory+=( $verbose $interval ) - multicast+=( - -n$nopt $families - '-s[show per protocol statistics]' - ) - dhcp=( $families $Iopt ) - ;; - darwin*) - sets+=( queues '-[^-]#q*' ) - sel_queues=( '*-q[display network interface send queue statistics]' ) - sel_memory=( \*$sel_memory ) - sockets+=( - '-l[show full IPv6 address]' - '-W[avoid truncating addresses]' - ) - routing+=( '-l[show mtu and use wider display]' ) - interfaces+=( - '(-x)-R[show reachability information]' - '-S[show interface link status and state]' - '(-R)-x[show extended reachability information]' - ) - queues=( $Iopt - '-c+[limit statistics to specified queue]:queue' - ) - groups+=( $families - '*-v[show link-layer memberships; repeat for timers and counters]' - ) - ;; - dragonfly*) - plist+=( carp ) - sockets+=( - '-P[show additional protocol-specific information]' - '-c+[access cpu specific route table]:cpu' - ) - interfaces+=( $zopt - '-B[show maximum buffer sizes instead of current buffer usage]' - '-t[show the contents of watchdog timers]' - '(-a -B -b -d -h -n -t -w)*-s[show protocol statistics; repeat to suppress those with zero counters]' - ) - routing+=( - '-A[show contents of internal Patricia tree structures]' - '-a[show protocol-cloned routes]' - ) - ;; - openbsd*) - sets+=( wireless '-W*' rdomains '-R' ) - sel_rdomains=( '-R[show all rdomains with associated interfaces and routing tables]' ) - sel_wireless=( '-W+[display per-interface IEEE 802.11 wireless statistics]:interface' ) - flist+=( local mpls ) - tblopt='-T+[select an alternate routing table to query]:routing table:_routing_tables' - sockets+=( -l$lopt $tblopt '-B[show buffer sizes for TCP sockets]' ) - routing+=( $Mopts $tblopt - '-A[show the internal addresses of the routing table]' - '-F[only show routes with gateway in the same address family as the destination]' - ) - interfaces+=( - '-c+[show specified number of updates, then exit]:count' - '-e[show only the number of errors on the interface]' - '-q[only show interfaces that have seen packets]' - '-t[show current value of the watchdog timer function]' - ) - statistics+=( $popt '-r[display routing statistics]' ) - groups+=( -n$nopt ) - pcb+=( $Mopts $verbose ) - ;; - netbsd*) - popt='(-f)-p+[filter by protocol]:protocol:compadd - ${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]#}' - Xopt='-X[force use of sysctl(3) when retrieving information]' - flist+=( arp ns atalk mpls local ) - sets+=( queues '-[^-]#q*' ) - sel_queues=( '-q[display software interrupt queue details for all protocols]' ) - routing+=( $Xopt - "(-s)-L[don't show link-level routes]" - '-T[show MPLS tags for the routing tables]' - ) - bpf+=( $Xopt $Iopt - '-s[show bpf(4) statistics]' - ) - interfaces+=( $Xopt ) - memory+=( $Xopt) statistics+=( $Xopt ) - pcb+=( $Mopts $popt ) - ;; - freebsd<13->.*) - sockets+=( - '-c[show TCP stack used for each session]' - '-C[show TCP congestion control algorithm and diagnostic]' - ) - ;& - freebsd<11->.*) - routing+=( '-F+[show specified routing table]:routing table' ) - bpf=( '-z[reset statistic counters after displaying them]' ) - statistics+=( $bpf[-1] ) - ;& - freebsd*) - flist+=( pfkey netgraph ng link ) - plist+=( sctp ipsec6 pfkey ) - - sets+=( netisr '-[^-]#Q*' ) - sel_netisr=( '-Q[display netisr(9) statistics]' ) - sockets+=( - '-R[show flowid and flowtype for each socket]' - '-T[show diagnostic information from the TCP control block]' - '-x[show socket buffer and TCP timer statistics]' - ) - interfaces+=( - $popt $Mopts $Iopt $Wopt - '-q+[exit after specified number of outputs]:number' - ) - bpf+=( $Iopt $zopt ) - ;; -esac - -# Ignore display specific options except the default (socket) display until a -# display has been selected. This is not strictly correct (options can be in -# any order) but makes the completion much more useful. Descriptions for -# options that select a specific display (option set) typically start with -# "display" to set them apart from other options. -sock='' -for set in ${(k)sets}; do - sel=sel_$set - if [[ -z $words[(r)$~sets[$set]] ]]; then - ign='!' - else - sock='!' - ign='' - fi - args+=( - "$set" ${(P)sel} ${ign}${(P)^set} ) -done -args+=( - sockets ${sock}${sockets} ) - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_networkmanager b/result/sw/share/zsh/5.9/functions/_networkmanager deleted file mode 100644 index 1e05252b..00000000 --- a/result/sw/share/zsh/5.9/functions/_networkmanager +++ /dev/null @@ -1,401 +0,0 @@ -#compdef nmcli - -# compatible with NetworkManager 1.8.4 - -_networkmanager() { - local curcontext="$curcontext" state line - local nmcli="$words[1]" - - _arguments -C \ - '(-o -overview)-o'{,verview}'[overview mode (hide default values)]' \ - '(-p -pretty -t -terse)-t'{,erse}'[terse output]' \ - '(-p -pretty -t -terse)-p'{,retty}'[pretty output]' \ - '(-m -mode)-m'{,ode}'[output mode]:mode:(tabular multiline)' \ - '(-c -colors)-c'{,olors}'[whether to use colors in output]:value:(auto yes no)' \ - '(-f -fields)-f'{,ields}'[specify fields to output]:field:_nm_fields' \ - '(-f -fields -g -get-values -m -mode -p -pretty -t -terse)-g'{,et-values}'[shortcut for -m tabular -t -f]:field:_nm_fields' \ - '(-e -escape)-e'{,scape}'[escape column separators in values]:value:(yes no)' \ - '(-a -ask)-a'{,sk}'[ask for missing parameters]' \ - '(-s -show-secrets)-s'{,how-secrets}'[allow passwords to be displayed]' \ - '(-w -wait)-w'{,ait}'[set time limit on wait for operations to finish]:timeout (seconds)' \ - '(- *)-v'{,ersion}'[show program version]' \ - '(- *)-h'{,elp}'[print help]' \ - '1:command:(general networking radio connection device agent monitor help)' \ - '*::arg:->args' - - case $line[1] in - g*) _nm_general ;; - n*) _nm_networking ;; - r*) _nm_radio ;; - c*) _nm_connection ;; - d*) _nm_device ;; - a*) _nm_agent ;; - esac -} - -_nm_fields() { - _values -s , 'field to output' \ - all common \ - RUNNING VERSION STATE STARTUP CONNECTIVITY NETWORKING WIFI-HW WIFI WWAN-HW WWAN \ - NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE \ - DEVICE CONNECTION CON-UUID CON-PATH BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY -} - -_nm_general() { - _arguments "1:command:(status hostname permissions logging help)" - # TODO: provide completions for logging -} - -_nm_networking() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(on off connectivity help)" \ - "*::arg:->args" - - case $line[1] in - c*) _nm_networking_connectivity ;; - esac -} - -_nm_networking_connectivity() { - _arguments "1:flag:(check)" -} - -_nm_radio() { - _arguments \ - "1:type:(all wifi wwan help)" \ - "2:switch:(on off)" -} - -_nm_connection() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(show up down add modify clone edit delete monitor reload load import export help)" \ - "*::arg:->args" - - case $line[1] in - s*) _nm_connection_show ;; - u*) _nm_connection_up ;; - d*) _nm_connection_down ;; - # TODO: a*) _nm_connection_add ;; - m*) _nm_connection_modify ;; - c*) _nm_connection_clone ;; - e*) _nm_connection_edit ;; - de*) _nm_connection_delete ;; - mon*) _nm_connection_monitor ;; - l*) _nm_connection_load ;; - i*) _nm_connection_import ;; - ex*) _nm_connection_export ;; - esac -} - -_nm_connection_show() { - # TODO: add support for --order - _arguments \ - "--active" \ - "1:connection:_nm_connection_specs" -} - -_nm_connection_up() { - # TODO: add support for ifname, ap and passwd-file parameters - _arguments "1:connection:_nm_connection_specs" -} - -_nm_connection_down() { - _arguments "1:connection:_nm_connection_active" -} - -_nm_connection_modify() { - local curcontext="$curcontext" ret=1 - local -a state line expl properties - - _arguments -A "-*" \ - "--temporary" \ - "1:connection:_nm_connection_specs" \ - '2:option:->properties' \ - '3:value' && ret=0 - - if [[ -n "$state" ]]; then - properties=( ${${(f)"$(_call_program properties $nmcli -t connection show $line[1])"}%%:*} ) - _description properties expl property - _multi_parts "$expl[@]" . properties && ret=0 - fi - - return ret -} - -_nm_connection_clone() { - _arguments \ - "--temporary" \ - "1:connection:_nm_connection_specs" \ - "2:new name" -} - -_nm_connection_edit() { - # TODO: add support for adding new connections (type and con-name parameters) - _arguments "1:connection:_nm_connection_specs" -} - -_nm_connection_delete() { - _arguments "*:connection:_nm_connection_specs" -} - -_nm_connection_monitor() { - _arguments "*:connection:_nm_connection_specs" -} - -_nm_connection_load() { - _files -} - -_nm_connection_import() { - _arguments \ - "--temporary" \ - "1: :(type)" \ - "2:type:(vpnc openvpn pptp openconnect openswan libreswan ssh l2tp iodine)" \ - "3: :(file)" \ - "4:file:_files" -} - -_nm_connection_export() { - _arguments \ - "1:connection:_nm_connection_specs" \ - "2:file:_files" -} - -_nm_connection_specs() { - # TODO: add support for uuids and D-Bus paths - _nm_connection_ids -} - -_nm_connection_ids() { - local -a con_ids - con_ids=(${(f)"$(_call_program nmcli nmcli -t -f name connection)"}) - _describe 'select connection' con_ids -} - -_nm_connection_active() { - local -a con_ids - con_ids=(${(f)"$(_call_program nmcli nmcli -t -f name connection show --active)"}) - _describe 'select connection' con_ids -} - -_nm_device() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(status show set connect reapply modify disconnect delete monitor wifi lldp help)" \ - "*::arg:->args" - - case $line[1] in - sh*) _nm_device_show ;; - se*) _nm_device_set ;; - c*) _nm_device_connect ;; - r*) _nm_device_reapply ;; - mod*) _nm_device_modify ;; - d*) _nm_device_disconnect ;; - de*) _nm_device_delete ;; - m*) _nm_device_monitor ;; - w*) _nm_device_wifi ;; - l*) _nm_device_lldp ;; - esac -} - -_nm_device_show() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_set() { - # TODO: allow specifying both options, and in any order - _arguments \ - "1:interface:_nm_device_ifnames" \ - "2:property:(autoconnect managed)" \ - "3:switch:(yes no)" -} - -_nm_device_connect() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_reapply() { - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_modify() { - # TODO: add support for settings - _arguments "1:interface:_nm_device_ifnames" -} - -_nm_device_disconnect() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_delete() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_monitor() { - _arguments "*:interface:_nm_device_ifnames" -} - -_nm_device_wifi() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:command:(list connect hotspot rescan show-password)" \ - "*::arg:->args" - - case $line[1] in - l*) _nm_device_wifi_list ;; - c*) _nm_device_wifi_connect ;; - ho*) _nm_device_wifi_hotspot ;; - r*) _nm_device_wifi_rescan ;; - s*) _nm_device_wifi_show-password ;; - esac -} - -_nm_device_wifi_list() { - # TODO: support bssid on its own - _arguments \ - '--rescan[force or disable network scan]:network scan:(yes no auto)' \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" \ - "3: :(bssid)" \ - "4:bssid:_nm_device_wifi_bssids" -} - -_nm_device_wifi_connect() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:ssid:_nm_device_wifi_ssids" \ - "*::arg:->args" - - if [[ -n $line[1] ]]; then - _nm_device_wifi_connect_opts - fi -} - -_nm_device_wifi_connect_opts() { - # TODO: there must be a cleaner way to implement this - local curcontext="$curcontext" state line - - _arguments -C \ - "1:property:(password wep-key-type ifname bssid name private hidden)" \ - "*::arg:->args" - - local min_line_len=2 - case $line[-2] in - password) - _arguments -C "1:password" "*::arg:->args" - ;; - wep-key-type) - _arguments -C "1:wep key type:(key phrase)" "*::arg:->args" - ;; - ifname) - _arguments -C "1:device:_nm_device_ifnames" "*::arg:->args" - ;; - bssid) - _arguments -C "1:bssid:_nm_device_wifi_bssids" "*::arg:->args" - ;; - name) - _arguments -C "1:name" "*::arg:->args" - ;; - private) - _arguments -C "1:private:(yes no)" "*::arg:->args" - ;; - hidden) - _arguments -C "1:hidden:(yes no)" "*::arg:->args" - ;; - *) - min_line_len=1 - ;; - esac - if [[ $#line > $min_line_len ]]; then - _nm_device_wifi_connect_opts - fi -} - -_nm_device_wifi_hotspot() { - local curcontext="$curcontext" state line - - _arguments -C \ - "1:property:(ifname con-name ssid band channel password)" \ - "*::arg:->args" - - local min_line_len=2 - case $line[-2] in - ifname) - _arguments -C "1:device:_nm_device_ifnames" "*::arg:->args" - ;; - con-name) - _arguments -C "1:connection name" "*::arg:->args" - ;; - ssid) - _arguments -C "1:ssid" "*::arg:->args" - ;; - band) - _arguments -C "1:band:(a bg)" "*::arg:->args" - ;; - channel) - _arguments -C "1:channel" "*::arg:->args" - ;; - password) - _arguments -C "1:password" "*::arg:->args" - ;; - *) - min_line_len=1 - ;; - esac - if [[ $#line > $min_line_len ]]; then - _nm_device_wifi_hotspot - fi -} - -_nm_device_wifi_rescan() { - # TODO: support ssid on its own and multiple ssids - _arguments \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" \ - "3: :(ssid)" \ - "4:ssid:_nm_device_wifi_ssids" -} - -_nm_device_wifi_show-password() { - _arguments \ - "1: :(ifname)" \ - "2:interface:_nm_device_ifnames" -} - -_nm_device_wifi_bssids() { - local -a bssids - bssids=(${(f)"$(_call_program nmcli nmcli -t -f bssid device wifi list)"}) - _describe 'select network' bssids -} - -_nm_device_wifi_ssids() { - local -a ssids - ssids=(${(f)"$(_call_program nmcli nmcli -t -f ssid device wifi list)"}) - _describe 'select network' ssids -} - -_nm_device_lldp() { - _arguments \ - "1: :(list)" \ - "2: :(ifname)" \ - "3:interface:_nm_device_ifnames" -} - -_nm_device_ifnames() { - local -a ifnames - ifnames=(${(f)"$(_call_program nmcli nmcli -t -f device device)"}) - _describe 'select device' ifnames -} - -_nm_agent() { - _arguments "1:type:(secret polkit all help)" -} - -_networkmanager "$@" diff --git a/result/sw/share/zsh/5.9/functions/_networksetup b/result/sw/share/zsh/5.9/functions/_networksetup deleted file mode 100644 index 85a91e89..00000000 --- a/result/sw/share/zsh/5.9/functions/_networksetup +++ /dev/null @@ -1,320 +0,0 @@ -#compdef networksetup - -# Notes: -# - Inconsistent option capitalisation is intentional; see networksetup(1) -# - Options related to user/log-in/system profiles are omitted, since they no -# longer function (despite appearing in the manual) -# - Each d/p/s could list associated d/p/s in the descriptions -# - Options that take multiple devices/services (e.g. -createBond) could exclude -# those previously specified on the command line -# - Bond, PPPoE, and VLAN functionality couldn't be tested; some option- -# arguments aren't completed (-deleteBond, -deleteVLAN, ...) -# - -createpppoeservice arguments in particular may not be right - -# Complete network devices -(( $+functions[_networksetup_devices] )) || -_networksetup_devices() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program network-devices $words[1] -listallhardwareports - )"} ) - tmp=( ${(@M)tmp##Device:*} ) - tmp=( ${(@)tmp##Device:[[:space:]]##} ) - - _wanted -x devices expl 'network device' compadd -a "$@" - tmp -} - -# Complete network locations -(( $+functions[_networksetup_locations] )) || -_networksetup_locations() { - local -a expl tmp - - tmp=( ${(f)"$( _call_program network-locations $words[1] -listlocations )"} ) - - _wanted -x locations expl 'network location' compadd -a "$@" - tmp -} - -# Complete hardware ports -(( $+functions[_networksetup_ports] )) || -_networksetup_ports() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program hardware-ports $words[1] -listallhardwareports - )"} ) - tmp=( ${(@M)tmp##Hardware Port:*} ) - tmp=( ${(@)tmp##Hardware Port:[[:space:]]##} ) - - _wanted -x ports expl 'hardware port' compadd -a "$@" - tmp -} - -# Complete network services -(( $+functions[_networksetup_services] )) || -_networksetup_services() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program network-services $words[1] -listallnetworkservices - )"} ) - # The command output doesn't distinguish between a leading asterisk used to - # indicate an inactive service and one that's just used in the service name - # itself... but the latter scenario seems uncommon, so we'll assume it's - # always the former - tmp=( ${(@)tmp#\*} ) - # The first line is an explanation of the asterisk thing; skip it - tmp=( ${(@)tmp[2,-1]} ) - - _wanted -x services expl 'network service' compadd -a "$@" - tmp -} - -# Complete Wi-Fi networks — this function expects the final argument to be the -# name of a wireless device (pre-escaped, as if taken from $words) -(( $+functions[_networksetup_wifi_networks] )) || -_networksetup_wifi_networks() { - local -a expl tmp - - tmp=( ${(f)"$( - _call_program wifi-networks $words[1] \ - -listpreferredwirelessnetworks ${(q-)@[-1]} - )"} ) - # Lines with Wi-Fi networks on them are prefixed by white space - tmp=( ${(@M)tmp##[[:space:]]*} ) - tmp=( ${(@)tmp##[[:space:]]##} ) - - shift -p # Discard device argument - _wanted -x wifi-networks expl 'Wi-Fi network' compadd -a "$@" - tmp -} - -_networksetup() { - local i j ret=1 - local -a context line state state_descr args tmp - local -A opt_args val_args proxies - - args=( - + '(cmd)' - '-addDeviceToBond[add specified device/port to bond]: :->dp: :->b' - '-addpreferredwirelessnetworkatindex[add preferred Wi-Fi network for specified device]: :->d: :->w:*::: :->wifi-idx-info' - '-connectpppoeservice[connect specified PPPoE service]: :->P' - '-create6to4service[create new 6to4 service]:6to4 service name' - '-createBond[create bond with specified devices/ports]:bond name: :*: :->dp' - '-createlocation[create new network location]:network location name: :*: :->s' - '-createnetworkservice[create new network service on specified device/port]: :->dp:network service name' - '-createpppoeservice[create new PPPoE service on specified device/port]: :->dp: :->s:PPPoE account name: :PPPoE password: :PPPoE service name' - '-createVLAN[create VLAN on specified device/port]:VLAN name: : :->dp:VLAN tag' - '-deleteBond[delete specified bond]: :->b' - '-deletelocation[delete specified network location]: :->l' - '-deletepppoeservice[delete specified PPPoE service]: :->P' - '-deleteVLAN[delete VLAN from specified device/port]:VLAN name: : :->dp:VLAN tag' - '-detectnewhardware[detect new network hardware]' - '-disconnectpppoeservice[disconnect specified PPPoE service]: :->P' - '-duplicatenetworkservice[duplicate specified network service]: :->s:network service name' - '-getadditionalroutes[list additional IPv4 routes for specified network service]: :->s' - '-getairportnetwork[display Wi-Fi network for specified device]: :->d' - '-getairportpower[display Wi-Fi power state for specified device]: :->d' - '-getautoproxyurl[display proxy auto-config URL for specified network service]: :->s' - '-getv6additionalroutes[list additional IPv6 routes for specified network service]: :->s' - '-getcomputername[display computer name]' - '-getcurrentlocation[display current network location]' - '-getdnsservers[display DNS info for specified network service]: :->s' - '-getinfo[display info for specified network service]: :->s' - '-getmacaddress[display MAC address for specified device/port]: :->dp' - '-getMedia[display media for specified device/port]: :->dp' - '-getMTU[display MTU for specified device/port]: :->dp' - '-getnetworkserviceenabled[get enabled state for specified network service]: :->s' - '-getpassiveftp[display passive FTP state for specified network service]: :->s' - '-getproxyautodiscovery[display proxy auto-discovery state for specified network service]: :->s' - '-getproxybypassdomains[display proxy bypass domains for specified network service]: :->s' - '-getsearchdomains[display DNS search domains for specified network service]: :->s' - '-help[display help information]' - '-isBondSupported[display whether device/port can be added to a bond]: :->dp' - '-listallhardwareports[list hardware ports]' - '-listallnetworkservices[list network services]' - '-listBonds[list bonds]' - '-listdevicesthatsupportVLAN[list devices that support VLANs]' - '-listlocations[list network locations]' - '-listnetworkserviceorder[list network services and their devices/ports in order]' - '-listpreferredwirelessnetworks[list preferred Wi-Fi networks for the specified device]: :->d' - '-listpppoeservices[list PPPoE services]' - '-listValidMedia[list valid media for specified device/port]: :->dp' - '-listValidMTURange[display valid MTU range for specified device/port]: :->dp' - '-listVLANs[list VLANs]' - '-ordernetworkservices[set network service order]:*: :->s' - '-printcommands[list commands]' - '-removeallpreferredwirelessnetwork[remove all preferred Wi-Fi networks from specified device]: :->d' - '-removeDeviceFromBond[remove specified device/port from bond]: :->dp: :->b' - '-removenetworkservice[remove specified network service]: :->s' - '-removepreferredwirelessnetwork[remove preferred Wi-Fi network from specified device]: :->d: :->w' - '-renamenetworkservice[rename specified network service]: :->s:network service name' - '-set6to4automatic[set specified 6to4 service to get relay address automatically]:6to4 service:->s' - '-set6to4manual[set specified 6to4 service to use manual relay address]:6to4 service:->s:relay address' - '-setadditionalroutes[set additional IPv4 routes for specified network service]: :->s:*::: :->routes-v4' - '-setairportnetwork[set Wi-Fi network for specified device]: :->d: :->w:Wi-Fi network password' - '-setairportpower[set Wi-Fi power state for specified device]: :->d:Wi-Fi power state:(on off)' - '-setautoproxyurl[set proxy auto-config URL for specified network service]: :->s:proxy auto-config URL:_urls' - '-setcomputername[set computer name]:computer name' - '-setbootp[set specified network service to use BOOTP]: :->s' - '-setdhcp[set specified network service to use DHCP]: :->s:client ID (optional)' - '-setdnsservers[set DNS servers for specified network service]: :->s:*:DNS server address' - '-setmanual[set specified network service to use manual IPv4 IP/subnet/router]: :->s:IP address: :subnet mask: :router address' - '-setmanualwithdhcprouter[set specified network service to use DHCP with manual IP]: :->s:IP address' - '-setMedia[set media for specified device/port]: :->dp: :->media:*:media option' - '-setMTU[set MTU for specified device/port]: :->dp: :->mtu' - '-setMTUAndMediaAutomatically[set specified device/port to automatically set MTU and media type]: :->dp' - '-setnetworkserviceenabled[set enabled state for specified network service]: :->s:network service enabled state:(on off)' - '-setpassiveftp[set passive FTP state for specified network service]: :->s:passive FTP state:(on off)' - '-setpppoeaccountname[set account name for specified PPPoE service]: :->P:PPPoE account name' - '-setpppoepassword[set password for specified PPPoE service]: :->P:PPPoE password' - '-setproxyautodiscovery[set proxy auto-discovery state for specified network service]: :->s:proxy auto-discovery state:(on off)' - '-setproxybypassdomains[set proxy bypass domains for specified network service]: :->s:*:proxy bypass domain' - '-setsearchdomains[set DNS search domains for specified network service]: :->s:*:DNS search domain' - '-setv6additionalroutes[set additional IPv6 routes for specified network service]: :->s:*::: :->routes-v6' - '-setv4automatic[set specified network service to get IPv4 address automatically]: :->s' - '-setv6automatic[set specified network service to get IPv6 address automatically]: :->s' - '-setv6linklocal[set specified network service to use link-local address only for IPv6]: :->s' - '-setv6manual[set specified network service to use manual IPv6 IP/prefix/router]: :->s:IP address: :prefix length: :router address' - '-setv4off[disable IPv4 for specified network service]: :->s' - '-setv6off[disable IPv6 for specified network service]: :->s' - '-showBondStatus[display status for specified bond]: :->b' - '-showpppoestatus[display status for specified PPPoE service]: :->P' - '-switchtolocation[switch to specified network location]: :->l' - ) - - proxies=( - ftp FTP - gopher Gopher - socks SOCKS - secureweb HTTPS - streaming RTSP - web HTTP - ) - - for i j in ${(kv)proxies}; do - args+=( - "-get${i}proxy[display $j proxy info for specified network service]: :->s" - "-set${i}proxy[set $j proxy info for specified network service]: :->s:*::: :->proxy-info" - "-set${i}proxystate[set $j proxy state for specified network service]: :->s:proxy state:(on off)" - ) - done - - _arguments : $args && ret=0 - - case $state in - b) _message -e bonds 'interface bond' && ret=0 ;; - d) _networksetup_devices && ret=0 ;; - l) _networksetup_locations && ret=0 ;; - p) _networksetup_ports && ret=0 ;; - P) _message -e pppoe-services 'PPPoE service' && ret=0 ;; - s) _networksetup_services && ret=0 ;; - dp) - _alternative \ - 'devices::_networksetup_devices' \ - 'ports::_networksetup_ports' \ - && ret=0 - ;; - dps) - _alternative \ - 'devices::_networksetup_devices' \ - 'ports::_networksetup_ports' \ - 'services::_networksetup_services' \ - && ret=0 - ;; - ps) - _alternative \ - 'ports::_networksetup_ports' \ - 'services::_networksetup_services' \ - && ret=0 - ;; - w) - # Wi-Fi network always follows device/port on command line - _networksetup_wifi_networks $words[(CURRENT - 1)] && ret=0 - ;; - media) - # Media type always follows device/port on command line - tmp=( ${(f)"$( - _call_program media-types $words[1] \ - -listValidMedia $words[(CURRENT - 1)] - )"} ) - tmp=( ${tmp##\**} ) # Error message - if (( $#tmp )); then - _describe -t media-types 'media type' tmp && ret=0 - else - _message -e media-types 'media type' && ret=0 - fi - ;; - mtu) - # MTU value always follows device/port on command line - tmp=( ${(f)"$( - _call_program mtu-ranges $words[1] \ - -listValidMTURange $words[(CURRENT - 1)] - )"} ) - tmp=( ${(M)tmp##Valid MTU Range:*} ) - tmp=( ${tmp##*:[[:space:]]#} ) - _message -e mtu-value "MTU value${tmp:+ (${tmp})}" && ret=0 - ;; - proxy-info) - (( CURRENT > 5 )) || - case $(( CURRENT % 5 )) in - 1) _message -e hosts 'proxy server address' && ret=0 ;; - 2) _message -e ports 'proxy port number' && ret=0 ;; - 3) _values 'authenticated proxy support' on off && ret=0 ;; - 4) - [[ $words[(CURRENT - 1)] == on ]] && - _message -e users 'proxy user name' && - ret=0 - ;; - 0) - [[ $words[(CURRENT - 2)] == on ]] && - _message -e passwords 'proxy password' && - ret=0 - ;; - esac - ;; - routes-v4) - case $(( CURRENT % 3 )) in - 1) _message -e addresses 'destination address' && ret=0 ;; - 2) _message -e masks 'subnet mask' && ret=0 ;; - 0) _message -e addresses 'router address' && ret=0 ;; - esac - ;; - routes-v6) - case $(( CURRENT % 3 )) in - 1) _message -e addresses 'destination address' && ret=0 ;; - 2) _message -e prefixes 'prefix length' && ret=0 ;; - 0) _message -e addresses 'router address' && ret=0 ;; - esac - ;; - wifi-idx-info) - (( CURRENT > 3 )) || - case $(( CURRENT % 3 )) in - 1) - _message -e wifi-indexes 'index in preferred Wi-Fi networks list' && - ret=0 - ;; - 2) - tmp=( - 'OPEN:none (unsecured)' - 'WPA:WPA Personal' - 'WPA2:WPA2 Personal' - 'WPA/WPA2:WPA/WPA2 Personal' - 'WPAE:WPA Enterprise' - 'WPA2E:WPA2 Enterprise' - 'WPAE/WPA2E:WPA/WPA2 Enterprise' - 'WEP:plain WEP' - '8021XWEP:802.1X WEP' - ) - _describe -t security-types 'Wi-Fi network security type' tmp && ret=0 - ;; - 0) - [[ ${(U)words[(CURRENT - 1)]} != OPEN ]] && - _message -e passwords 'Wi-Fi network password' && - ret=0 - ;; - esac - ;; - esac - - return ret -} - -_networksetup "$@" diff --git a/result/sw/share/zsh/5.9/functions/_newsgroups b/result/sw/share/zsh/5.9/functions/_newsgroups deleted file mode 100644 index 74e878d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_newsgroups +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl - -: ${(A)_cache_newsgroups:=${${(f)"$(fgrep -vh \! ~/.newsrc*)"}%:*}} - -(( ${(w)#_cache_newsgroups} )) && _wanted newsgroups expl 'newsgroup' \ - _multi_parts "$@" -i . _cache_newsgroups - diff --git a/result/sw/share/zsh/5.9/functions/_next_label b/result/sw/share/zsh/5.9/functions/_next_label deleted file mode 100644 index 64506d05..00000000 --- a/result/sw/share/zsh/5.9/functions/_next_label +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -local __gopt __descr __spec - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -if comptags -A "$1" curtag __spec; then - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - _comp_tags="$_comp_tags $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - set -A $2 "${(P@)2}" "${(@)argv[4,-1]}" - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - set -A $2 "${(@)argv[4,-1]}" "${(P@)2}" - fi - - return 0 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_next_tags b/result/sw/share/zsh/5.9/functions/_next_tags deleted file mode 100644 index 8522d7c9..00000000 --- a/result/sw/share/zsh/5.9/functions/_next_tags +++ /dev/null @@ -1,141 +0,0 @@ -#compdef -k list-choices \C-xn - -# Main widget. - -_next_tags() { - eval "$_comp_setup" - - local ins ops="$PREFIX$SUFFIX" - - unfunction _all_labels _next_label - - _all_labels() { - local __gopt __len __tmp __pre __suf __ret=1 __descr __spec __prev - - if [[ "$1" = - ]]; then - __prev=- - shift - fi - - __gopt=() - zparseopts -D -a __gopt 1 2 V J x - - __tmp=${argv[(ib:4:)-]} - __len=$# - if [[ __tmp -lt __len ]]; then - __pre=$(( __tmp-1 )) - __suf=$__tmp - elif [[ __tmp -eq $# ]]; then - __pre=-2 - __suf=$(( __len+1 )) - else - __pre=4 - __suf=5 - fi - - while comptags "-A$__prev" "$1" curtag __spec; do - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - [[ "$_next_tags_not" = *\ ${__spec}\ * ]] && continue - _comp_tags+=" $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - - "$4" "${(P@)2}" "${(@)argv[5,-1]}" && __ret=0 - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - - "${(@)argv[4,__pre]}" "${(P@)2}" "${(@)argv[__suf,-1]}" && __ret=0 - fi - done - - return __ret - } - - _next_label() { - local __gopt __descr __spec - - __gopt=() - zparseopts -D -a __gopt 1 2 V J x - - if comptags -A "$1" curtag __spec; then - (( $#funcstack > _tags_level )) && _comp_tags="${_comp_tags% * }" - _tags_level=$#funcstack - [[ "$_next_tags_not" = *\ ${__spec}\ * ]] && continue - _comp_tags+=" $__spec " - if [[ "$curtag" = *[^\\]:* ]]; then - zformat -f __descr "${curtag#*:}" "d:$3" - _description "$__gopt[@]" "${curtag%:*}" "$2" "$__descr" - curtag="${curtag%:*}" - set -A $2 "${(P@)2}" "${(@)argv[4,-1]}" - else - _description "$__gopt[@]" "$curtag" "$2" "$3" - set -A $2 "${(@)argv[4,-1]}" "${(P@)2}" - fi - - return 0 - fi - - return 1 - } - - if [[ "${LBUFFER%${PREFIX}}" = "$_next_tags_pre" ]]; then - PREFIX="$_next_tags_pfx" - SUFFIX="$_next_tags_sfx" - else - _next_tags_pre="${LBUFFER%${PREFIX}}" - if [[ "$LASTWIDGET" = (_next_tags|list-*|*complete*) ]]; then - PREFIX="$_lastcomp[prefix]" - SUFFIX="$_lastcomp[suffix]" - fi - fi - - _next_tags_not+=" $_lastcomp[tags]" - _next_tags_pfx="$PREFIX" - _next_tags_sfx="$SUFFIX" - - ins="${compstate[old_insert]:+1}" - - _main_complete _complete _next_tags_completer - - [[ $compstate[insert] = automenu ]] && compstate[insert]=automenu-unambiguous - [[ $compstate[insert] = *unambiguous && -n "$ops" && - -z "$_lastcomp[unambiguous]" ]] && compadd -Uns "$SUFFIX" - "$PREFIX" - - compstate[insert]="$ins" - compstate[list]='list force' - - compprefuncs+=( _next_tags_pre ) -} - -# Completer, for wrap-around. - -_next_tags_completer() { - _next_tags_not= - - _complete -} - -# Pre-completion function. - -_next_tags_pre() { - - # Probably `remove' our label functions. A better test would be nice, but - # I think one should still be able to edit the current word between - # attempts to complete it. - - if [[ -n $compstate[old_insert] && $WIDGET != _next_tags ]]; then - compstate[old_list]=keep - compstate[insert]=menu:2 - return 0 - elif [[ ${LBUFFER%${PREFIX}} != ${_next_tags_pre}* ]]; then - unfunction _all_labels _next_label - autoload -Uz _all_labels _next_label - else - compprefuncs+=( _next_tags_pre ) - fi -} - -_next_tags "$@" diff --git a/result/sw/share/zsh/5.9/functions/_nginx b/result/sw/share/zsh/5.9/functions/_nginx deleted file mode 100644 index 7d785c82..00000000 --- a/result/sw/share/zsh/5.9/functions/_nginx +++ /dev/null @@ -1,20 +0,0 @@ -#compdef nginx - -local -ah signals=( - 'quit\:shut down gracefully (SIGQUIT)' - 'reload\:reload configuration (SIGHUP)' - 'reopen\:re-open log files (SIGUSR1)' - 'stop\:shut down quickly (SIGTERM)' -) - -_arguments -s -S : \ - '(: * -)'{-\?,-h}'[display help information]' \ - '(: * -)-v[display version information]' \ - '(: * -)-V[display version information and configure options]' \ - '-c+[specify configuration file]:configuration file:_files' \ - '-g+[specify global configuration directives]:configuration directives' \ - '-p+[specify prefix path]:prefix path:_directories' \ - '(-s)-q[suppress non-error messages (with -t/-T)]' \ - "(-q -t -T)-s+[send specified signal to master process]:signal:((${(j< >)${(@q-)signals}}))" \ - '(-s -T)-t[test configuration]' \ - '(-s -t)-T[test and dump configuration]' diff --git a/result/sw/share/zsh/5.9/functions/_ngrep b/result/sw/share/zsh/5.9/functions/_ngrep deleted file mode 100644 index 92459782..00000000 --- a/result/sw/share/zsh/5.9/functions/_ngrep +++ /dev/null @@ -1,33 +0,0 @@ -#compdef ngrep - -_arguments -s -S \ - '(- 1 *)-h[display help information]' \ - '(- 1 *)-V[display version information]' \ - "-q[be quiet (don't print packet reception hash marks)]" \ - '-e[show empty packets]' \ - '-i[ignore case]' \ - '-v[invert match]' \ - "-R[don't do privilege revocation logic]" \ - '(-W)-x[print in alternate hexdump format]' \ - '-X[interpret match expression as hexadecimal]' \ - '-w[word-regex (expression must match as a word)]' \ - "-p[don't go into promiscuous mode]" \ - '-l[make stdout line buffered]' \ - '-D[replay pcap_dumps with their recorded time intervals]' \ - '-t[print timestamp every time a packet is matched]' \ - '-T[print delta timestamp every time a packet is matched specify twice for delta from first match]' \ - "-M[don't do multi-line match (do single-line match instead)]" \ - '(-d -s)-I+[read packet stream from pcap format file]:file:_files' \ - '-O+[dump matched packets in pcap format file]:file:_files' \ - '-n+[look at only specified number of packets]:packets' \ - '-A+[dump specified number of context packets after a match]:packets' \ - '(-I)-s+[set the bpf caplen]:length (bytes) [65535]' \ - '-S+[set the upper limit on size of packets matched]:size (bytes)' \ - '(-x)-W+[set the dump format]:packet display format:(normal byline single none)' \ - '-c+[force the column width to the specified size]:columns' \ - '-P+[set the non-printable display char to what is specified]:character [.]' \ - '-F+[read the bpf filter from the specified file]:file:_files' \ - '-N[show sub protocol number]' \ - '(-I)-d+[use specified device instead of the pcap default]:interface:_net_interfaces' \ - '1: :_guard "^-*" pattern' \ - '*::expression:_bpf_filters' diff --git a/result/sw/share/zsh/5.9/functions/_nice b/result/sw/share/zsh/5.9/functions/_nice deleted file mode 100644 index 29070697..00000000 --- a/result/sw/share/zsh/5.9/functions/_nice +++ /dev/null @@ -1,14 +0,0 @@ -#compdef nice - -shift words -(( CURRENT-- )) - -if [[ $CURRENT -gt 1 && $words[1] = ([-+](-|)|-n)<-> ]]; then - shift words - (( CURRENT -- )) -elif [[ $CURRENT -gt 2 && $words[1] = -n ]]; then - shift 2 words - (( CURRENT -= 2 )) -fi - -_normal diff --git a/result/sw/share/zsh/5.9/functions/_nkf b/result/sw/share/zsh/5.9/functions/_nkf deleted file mode 100644 index 0c4f06fb..00000000 --- a/result/sw/share/zsh/5.9/functions/_nkf +++ /dev/null @@ -1,44 +0,0 @@ -#compdef nkf - -typeset -A opt_args - -local outputsshort="-j -s -e -w -w8 -w16 -w16b0 -w16b -w16l0 -w16l" -local outputs="$outputsshort --fj --unix --mac --windows --jis --euc --sjis --utf8 --utf16" -local inputs=${outputsshort:u} - -_arguments -s \ - '(-u)-b[Output is buffered]' \ - '(-b)-u[Output is unbuffered]' \ - '($outputs)'{-j,--jis}'[Output is JIS 7 bit]' \ - '($outputs)'{-e,--sjis}'[Output is Shift JIS]' \ - '($outputs)'{-s,--euc}'[Output is EUC-JP]' \ - '($outputs)'{-w,--utf8}'[Output is UTF-8 (No BOM)]' \ - '($outputs)-w8[Output is UTF-8 (BOM)]' \ - '($outputs)'{-w16,-w16b0,--utf16}'[Output is UTF-16 (BigEndian; No BOM)]' \ - '($outputs)-w16b[Output is UTF-16 (BigEndian; BOM)]' \ - '($outputs)-w16l0[Output is UTF-16 (Little Endian; No BOM)]' \ - '($outputs)-w16l[Output is UTF-16 (Little Endian; BOM)]' \ - '($outputs)--fj[Output is for fj]' \ - '($outputs)--unix[Output is for unix]' \ - '($outputs)--mac[Output is for Mac]' \ - '($outputs)--windows[Output is for Windows]' \ - '($inputs)-J[Input assumption is JIS 7 bit]' \ - '($inputs)-E[Input assumption is Shift JIS]' \ - '($inputs)-S[Input assumption is EUC-JP]' \ - '($inputs)-W[Input assumption is UTF-8 (No BOM)]' \ - '($inputs)-W8[Input assumption is UTF-8 (BOM)]' \ - '($inputs)-W16[Input assumption is UTF-16 (BigEndian; No BOM)]' \ - '($inputs)-W16b[Input assumption is UTF-16 (BigEndian; BOM)]' \ - '($inputs)-W16l0[Input assumption is UTF-16 (Little Endian; No BOM)]' \ - '($inputs)-W16l[Input assumption is UTF-16 (Little Endian; BOM)]' \ - '(-M)-m-[MIME decode]:mime decode:((B\:base64 Q\:quoted S\:strict N\:non-strict 0\:no-decode))' \ - '(-m)-M-[MIME encode]:mime encode:((\:header B\:base64 Q\:quoted))' \ - '-h-[hiragana<->katakana]:hirakata:((1\:hiragana-\>katakana 2\:katakana-\>hiragana 3\:both))' \ - '-L-[line mode]:line mode:((u\:LF w\:CRLF m\:CR))' \ - '-I[convert non ISO-2022-JP character to GETA]' \ - '(--cap-input --url-input)'{--cap-input,--url-input}'[Convert hex after \: or \%]' \ - '--overwrite[Overwrite original listed files by filtered result]' \ - '(-v --help)'{-v,--help}'[display help message]' \ - '*:file:_files' && return 0 - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_nl b/result/sw/share/zsh/5.9/functions/_nl deleted file mode 100644 index b3876dc6..00000000 --- a/result/sw/share/zsh/5.9/functions/_nl +++ /dev/null @@ -1,40 +0,0 @@ -#compdef nl gnl - -local curcontext="$curcontext" state line args ret=1 - -args=( - '(-b --body-numbering)'{-b+,--body-numbering=}'[specify style for body lines]:style:->styles' - '(-d --section-delimiter)'{-d+,--section-delimiter=}'[separate logical pages with specified delimiter]:delimiter' - '(-f --footer-numbering)'{-f+,--footer-numbering=}'[specify style for footer lines]:style:->styles' - '(-h --header-numbering)'{-h+,--header-numbering=}'[specify style for header lines]:style:->styles' - '(-i --line-increment)'{-i+,--line-increment=}'[line number increment at each line]:increment' - '(-l --join-blank-lines)'{-l+,--join-blank-lines=}'[count consecutive empty lines as one]:number' - '(-n --number-format)'{-n+,--number-format=}'[specify format for line numbers]:format:((ln\:left\ justified rn\:right\ justified rz\:right\ justified\ with\ leading\ zeroes))' - '(-p --no-renumber)'{-p,--no-renumber}"[don't reset line numbers at logical pages]" - '(-s --number-separator)'{-s+,--number-separator=}'[add specified string after line numbers]:string' - '(-v --starting-line-number)'{-v+,--starting-line-number=}'[specify first line number on each logical page]:initial number' - '(-w --number-width)'{-w+,--number-width=}'[specify number of columns for line numbers]:columns' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) -else - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options -fi - -_arguments -C -s $args '*:file:_files' && ret=0 - -if [[ -n $state ]]; then - if compset -P p; then - _message -e regex 'regular expression' - else - _describe -t styles style '( p:number\ only\ lines\ matching\ regex )' -S '' -- '( - a:number\ all\ lines - t:number\ only\ non-empty\ lines - n:no\ line\ numbering - )' - fi -fi || return ret diff --git a/result/sw/share/zsh/5.9/functions/_nm b/result/sw/share/zsh/5.9/functions/_nm deleted file mode 100644 index 888f1ef8..00000000 --- a/result/sw/share/zsh/5.9/functions/_nm +++ /dev/null @@ -1,137 +0,0 @@ -#compdef nm eu-nm - -local args files variant - -files="*:object file:_object_files" -args=( - '(-A -o --print-file-name)'{-A,-o,--print-file-name}'[print name of input file on each line]' - '(--demangle --no-demangle)-C[decode symbol names]' - '(-D --dynamic)'{-D,--dynamic}'[display dynamic symbols instead of normal ones]' - '(-g --extern-only)'{-g,--extern-only}'[display only global symbols]' - '(-t --radix -o -x)'{-t,--radix}'[specify radix for numeric values]:radix:((d\:decimal o\:octal x\:hexadecimal))' -) - -if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfutils unix -V; then - args+=( - '(- *)--help[display help information]' - '(- *)'{-V,--version}'[display version information]' - '(-f --format -P --portability)-B[same as --format=bsd]' - '(-u --undefined-only)--defined-only[display only defined symbols]' - '(-f --format -P)--format=[specify output format]:format:(bsd sysv posix)' - '(-n --numeric-sort -p --no-sort --size-sort -v)'{-n,--numeric-sort}'[sort symbols numerically by address]' - '(-p --no-sort -n -v --numeric-sort -r --reverse-sort --size-sort)'{-p,--no-sort}'[do not sort symbols]' - '(-P --portability -B -f --format)'{-P,--portability}'[same as --format=posix]' - '(-r --reverse-sort -p --no-sort)'{-r,--reverse-sort}'[reverse sort order]' - '(-u --undefined-only --defined-only)'{-u,--undefined-only}'[display only undefined symbols]' - '(-a --debug-syms)'{-a,--debug-syms}'[display debugger-only symbols]' - '(-S --print-size)'{-S,--print-size}'[print size of defined symbols]' - '(-s --print-armap)'{-s,--print-armap}'[include index for symbols from archive members]' - ) - case $variant in - elftoolchain|binutils) - args+=( - '(-l --line-numbers)'{-l,--line-numbers}'[display source file and line numbers from debug information]' - "(-C --demangle)--no-demangle[don't decode symbol names]" - '(-p --no-sort -n -v --numeric-sort)--size-sort[sort symbols by size]' - '(-n --numeric-sort -p --no-sort --size-sort)-v[sort symbols numerically by address]' - '(- *)-h[display help information]' - ) - ;| - elftoolchain) - args=( ${args:#*(-C|-o|--portability)\[*} - '(-C --demangle)'{-C,--demangle=-}'[decode symbol names]::style:(auto gnu-v2 gnu-v3 arm)' - '(-g --extern-only)-e[only display global and static symbols]' - '(--format -P)-F+[specify output format]:format:(bsd sysv posix)' - '-o[with -P, same as -t o; otherwise same as -A]' - '(-t --radix)-x[print values in hexadecimal]' - ) - ;; - elfutils) - args+=( - '--mark-special[mark special symbols]' - '--color=[use color in output]:color:(always auto never)' - '(-C)--demangle[decode symbol names]' - '(--format -P)-f+[specify output format]:format:(bsd sysv posix)' - '(- *)--usage[give a short usage message]' - '(- *)-?[display help information]' - ) - ;; - binutils) - compset -P '@' && files='*:options file:_files' - args+=( - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-f --format -P)-f+[specify output format]:format:(bsd sysv posix)' - '(-C --no-demangle)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' - '--ifunc-chars=[specify characters to use for indirect function symbols]:characters for global/local indirect function symbols [ii]' - '--plugin[load specified plugin]:plugin' - '--special-syms[include special symbols in the output]' - '--synthetic[display synthetic symbols as well]' - "--target=[target object format]:target:(${${(@M)${(f)$(_call_program targets nm --help)}:#*supported targets:*}##*: })" - '--with-symbol-versions[display version strings after symbol names]' - ) - ;; - esac -else - case $OSTYPE in - (darwin*|openbsd*) - args=( - '(-A -o)'{-A,-o}'[prepend file name to each output line]' - '(-g)-a[display all symbols including those for debuggers]' - '(-a)-g[display only global symbols]' - '(-U)-u[display only undefined symbols]' - '(-p)-n[sort numerically rather than alphabetically]' - "(-n -r)-p[don't sort; display in symbol-table order]" - '(-p)-r[sort in reverse order]' - '(-j)-P[print information in a portable format]' - '(-j)-t[specify radix for numeric values (used with -P)]:radix:((d\:decimal o\:octal x\:hexadecimal))' - );| - (darwin*) - args+=( - "(-u)-U[don't display undefined symbols]" - '-f[display symbol table of dynamic library flat]' - '(-P -t -m)-j[just display symbol names (no value or type)]' - '-l[display .section_start if no symbol is in the section (used with -s)]' - '(-j)-m[use verbose format for Mach-O symbols]' - '-s[list only symbols in the specified section]:segment name: :section name: ' - "-x[display symbol table entry's fields in hexadecimal]" - '*-arch[select architecture from universal file]:architecture:(all i386 x86_64)' - );; - (openbsd*) - args+=( - '-C[decode low-level symbol names]' - '-D[display dynamic symbol table instead of normal symbol table]' - '-e[output extended information]' - '-s[show archive index]' - '-w[warn about non-object archive members]' - );; - (solaris*) - args=( ${args:#(|*\)(\*|))-[o-]*} - "-h[don't display column headers]" - '-l[distinguish WEAK symbols with * character]' - '(-t -x)-o[print values in octal]' - '(-v)-n[sort symbols by name]' - '(-P)-p[produce parsable output]' - '(-p)-P[portable output format]' - '(-r)-R[print archive name, object file and symbol name]' - '-r[prepend name of input file to each symbol name]' - '-s[print section name instead of index]' - '-u[print undefined symbols only]' - '(-n)-v[sort external symbols by value]' - '-V[display version of the nm command]' - '(-o -t)-x[print values in hexadecimal]' - );; - (*) - # minimal POSIX - args=( - '-A[print name of input file on each line]' - '(-u)-g[display only global symbols]' - '-P[print information in a portable format]' - '-t[specify radix for numeric values]:radix:((d\:decimal o\:octal x\:hexadecimal))' - '(-g)-u[display only undefined symbols]' - '-v[sort symbols by value instead of by name]' - );; - esac -fi - -_arguments -s -S : "$args[@]" $files diff --git a/result/sw/share/zsh/5.9/functions/_nmap b/result/sw/share/zsh/5.9/functions/_nmap deleted file mode 100644 index 2a507baa..00000000 --- a/result/sw/share/zsh/5.9/functions/_nmap +++ /dev/null @@ -1,78 +0,0 @@ -#compdef nmap - -local curcontext="$curcontext" state line suf ret=1 - -_arguments -C \ - '!-sI:zombie host:_hosts' \ - '!-P'{T,S,U}'+:port list' \ - '*-s-[specify scan type]:scan type:((S\:TCP\ SYN\ scan T\:TCP\ connect\(\)\ scan F\:stealth\ FIN\ scan X\:stealth\ Xmas\ tree\ scan N\:stealth\ null\ scan P\:ping\ scanning U\:UDP\ scan O\:IP\ protocol\ scan I\:idle\ scan A\:ACK\ scan W\:window\ scan R\:RPC\ scan L\:list\ scan V\:version\ detection))' \ - '-b[specify ftp relay host]:ftp relay host:_hosts' \ - '*-P-[specify probe types and options]:probe type/options:->probe-opts' \ - '-A[enable OS detection and version scanning]' \ - '-O[enable remote OS identification]' \ - '-6[enable IPv6 support]' \ - '-I[enable TCP reverse ident scanning]' \ - '-f[use tiny fragmented IP packets]' \ - '*-v[verbose mode]' \ - '-h[show help information]' \ - '*-o-[log results]:log format:->log-forms:log filename:_files' \ - '--resume[resume cancelled scan]:log filename:_files' \ - '--append-output[append results to any log files]' \ - '-iL[read target specifications from file]:file:_files' \ - '-iR[scan random hosts]:num hosts' \ - '-p[specify ports to try]:port numbers' \ - '-F[scan only ports listed in services file]' \ - '-D[perform decoy scan]:host list:_sequence -s, _hosts' \ - '-S[specify source address]:address:_hosts' \ - '-e[specify interface to use]:network interface:_net_interfaces' \ - '-g[specify source port number]:port number' \ - '--data-length[add random data to packets]:data length' \ - '(-R)-n[skip reverse DNS to speed things up]' \ - '(-n)-R[always do reverse DNS on targets]' \ - "-r[don't randomize order in which ports are scanned]" \ - '-ttl[specify IPv4 time to live for sent packets]' \ - '--randomize-hosts[scan hosts in random order]' \ - '-M[specify maximum number of parallel TCP connects]:maximum TCP connects' \ - '--packet-trace[show all packets sent in tcpdump-like format]' \ - '--version-trace[show packets related to version scanning]' \ - '--datadir[specify directory containing data files]:directory:_directories' \ - '-T[specify timing policy]:timing policy:(Paranoid Sneaky Polite Normal Aggressive Insane)' \ - '--host-timeout[specify maximum time for scanning a single host]:timeout (ms)' \ - '--max-rtt-timeout[maximum time for a probe response]:timeout (ms)' \ - '--min-rtt-timeout[minimum time to wait for a probe response]:time (ms)' \ - '--initial-rtt-timeout[specify initial probe timeout]:timeout (ms)' \ - '--max-parallelism[specify max number of scans to perform in parallel]:number' \ - '--min-parallelism[scan at least specified number of ports in parallel]:number' \ - '--scan-delay[specify minimum amount of time between probes]:delay (ms)' \ - '--interactive[go into interactive mode]' \ - '*:host:_hosts' && ret=0 - -case $state in - probe-opts) - _values -S '' 'probe type/option' \ - "0[don't try to ping hosts before scanning]" \ - 'T[use TCP "ping"]' \ - 'S[use SYN packets instead of ACK]' \ - 'U[send UDP probes]' \ - 'E[use a true ping]' \ - 'P[use an ICMP timestamp request]' \ - 'M[use a netmask request]' \ - 'B[use ACK and ICMP echo in parallel]' && ret=0 - ;; - log-forms) - _values 'log format' \ - 'N[human readable (normal)]' \ - 'X[XML]' \ - 'G[grepable]' \ - 'A[all]' \ - 'S[S|<ipT kiDdI3]' && ret=0 - ;; - host-list) - suf=() - compset -P '*,' - compset -S ',*' || suf=(-qS ,) - _hosts "$suf[@]" && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_normal b/result/sw/share/zsh/5.9/functions/_normal deleted file mode 100644 index 0d84eae8..00000000 --- a/result/sw/share/zsh/5.9/functions/_normal +++ /dev/null @@ -1,40 +0,0 @@ -#compdef -command-line- - -local _comp_command1 _comp_command2 _comp_command precommand -local -A opts - -zparseopts -A opts -D - P p+:-=precommand s -(( $+opts[-s] )) || _compskip= -(( $+opts[-P] )) && precommands=() -(( $#precommand )) && precommands+=(${precommand#-p}) - -# Check for a history reference to complete modifiers. -# $PREFIX has a quoted form of the !, so we can't test that -# (it might the start of a real argument), but words has the -# raw McCoy. -if [[ -o BANG_HIST && - ( ( $words[CURRENT] = \!*: && -z $compstate[quote] ) || - ( $words[CURRENT] = \"\!*: && $compstate[all_quotes] = \" ) ) ]]; then - # This looks like a real history expansion; in that case - # we'd better put the !'s back the way pfalstad intended. - PREFIX=${PREFIX//\\!/!} - compset -P '*:' - _history_modifiers h - return -fi - -# Completing in command position? - -if [[ CURRENT -eq 1 ]]; then - curcontext="${curcontext%:*:*}:-command-:" - - comp="$_comps[-command-]" - [[ -n "$comp" ]] && eval "$comp" && return - - return 1 -fi - -_set_command - -_dispatch ${(k)opts[-s]} "$_comp_command" \ - "$_comp_command1" "$_comp_command2" -default- diff --git a/result/sw/share/zsh/5.9/functions/_nothing b/result/sw/share/zsh/5.9/functions/_nothing deleted file mode 100644 index 1f69155a..00000000 --- a/result/sw/share/zsh/5.9/functions/_nothing +++ /dev/null @@ -1,3 +0,0 @@ -#compdef true false log times clear logname whoami sync - -_message 'no argument or option' diff --git a/result/sw/share/zsh/5.9/functions/_npm b/result/sw/share/zsh/5.9/functions/_npm deleted file mode 100644 index c05f61c5..00000000 --- a/result/sw/share/zsh/5.9/functions/_npm +++ /dev/null @@ -1,14 +0,0 @@ -#compdef npm - -# Node Package Manager completion, letting npm do all the completion work - -if (( $+commands[npm] )); then - eval "$(NPM_CONFIG_UPDATE_NOTIFIER=false npm completion)" - # Monkey-patch their function to prevent update checks - functions[_npm_completion]=" - local -x NPM_CONFIG_UPDATE_NOTIFIER=false; - ${functions[_npm_completion]} - " - - _npm_completion "$@" -fi diff --git a/result/sw/share/zsh/5.9/functions/_nsenter b/result/sw/share/zsh/5.9/functions/_nsenter deleted file mode 100644 index 8e7c6bc4..00000000 --- a/result/sw/share/zsh/5.9/functions/_nsenter +++ /dev/null @@ -1,28 +0,0 @@ -#compdef nsenter - -local ign -(( $#words > 2 )) && ign='!' - -_arguments -S -s \ - '(-a --all)'{-a,--all}'[enter all namespaces]' \ - '(-t --target)'{-t+,--target=}'[specify target process to get namespaces from]:pid:_pids' \ - '(-m --mount)'{-m-,--mount=-}'[enter mount namespace]::file:_files' \ - '(-u --uts)'{-u-,--uts=-}'[enter UTS namespace (hostname etc)]::file:_files' \ - '(-i --ipc)'{-i-,--ipc=-}'[enter System V IPC namespace]::file:_files' \ - '(-n --net)'{-n-,--net=-}'[enter network namespace]::file:_files' \ - '(-p --pid)'{-p-,--pid=-}'[enter pid namespace]::file:_files' \ - '(-C --cgroup)'{-C-,--cgroup=-}'[enter cgroup namespace]::file:_files' \ - '(-U --user)'{-U-,--user=-}'[enter user namespace]::file:_files' \ - '(-T --time)'{-T-,--time=-}'[enter time namespace]::file:_files' \ - '(-S --setuid)'{-S+,--setuid=}'[set uid in entered namespace]:uid [0]' \ - '(-G --setgid)'{-G+,--setgid=}'[set gid in entered namespace]:gid [0]' \ - "--preserve-credentials[don't touch uids or gids]" \ - '(-r --root)'{-r+,--root=}'[set the root directory]:directory:_directories' \ - '(-w --wd)'{-w+,--wd=}'[set the working directory]:directory:_directories' \ - '(-F --no-fork)'{-F,--no-fork}"[don't fork]" \ - '(-Z --follow-context)'{-Z,--follow-context}'[set SELinux context according to --target PID]' \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)"{-V,--version}'[display version information]' \ - '1: : _command_names -e' \ - '*::args :_normal' - diff --git a/result/sw/share/zsh/5.9/functions/_nslookup b/result/sw/share/zsh/5.9/functions/_nslookup deleted file mode 100644 index 9bc80ab2..00000000 --- a/result/sw/share/zsh/5.9/functions/_nslookup +++ /dev/null @@ -1,160 +0,0 @@ -#compdef nslookup - -# This may also be called from the `nslookup' wrapper function during -# `vared'iting a line. -# In this case this function tries to call other user-defined functions -# for certain contexts before adding completion. If these functions are -# defined, they are called and the default completions from this function -# are not added. The functions called are named `_nslookup_<state>', with -# `<state>' being any of: -# -# command -# When completing the first word on the line. -# redirect -# When completing after a redirection operator. -# -# Also, when completing after the first word, if the first word contains -# only lower case letters, we try to call the function `_nslookup_<word>', -# where `<word>' is the first word from the line. If the first word contains -# other characters than lower case letters, we try to call the function -# `_nslookup_host'. - -local state curcontext="$curcontext" expl ret=1 setopts -typeset -A opt_args - -setopts=( - 'all[print current values]' \ - '(nodebug)debug[simple debugging information]' \ - '(debug)nodebug[no simple debugging information]' \ - '(nod2)d2[extra debugging information]' \ - '(d2)nod2[no extra debugging information]' \ - '(nodefname)defname[append default domain name]' \ - '(defname)nodefname[don'"'"'t append default domain name]' \ - '(nosearch)search[append search list]' \ - '(search)nosearch[don'"'"'t append search list]' \ - '(norecurse)recurse[name server may query other servers]' \ - '(recurse)norecurse[name server may not query other servers]' \ - '(novc)vc[use virtual circuit]' \ - '(vc)novc[don'"'"'t use virtual circuit]' \ - '(noignoretc)ignoretc[ignore packet truncation errors]' \ - '(ignoretc)noignoretc[don'"'"'t ignore packet truncation errors]' \ - 'class[change query class]:query class:((in\:Internet\ class chaos\:CHAOS\ class hesiod\:MIT\ Athena\ Hesiod\ class any\:wildcard\ \(any\ of\ the\ above\)))' - "domain[change default domain]:default domain:_domains" - 'srchlist[change default domain and search list]: :->srchlist' - 'port[change name server port]:name server port:' - {query,}type'[change type of information query]:query information type:((a\:internet\ address cname\:canonical\ name\ for\ alias hinfo\:CPU\ and\ operating\ system\ type minfo\:mailbox\ or\ mail\ list\ information mx\:mail\ exchanger ns\:name\ server\ for\ zone ptr\:host\ name\ or\ other\ information soa\:domain\'"'"'s\ \`start-of-authority\'"'"'\ information txt\:text\ information uinfo\:user\ information wks\:supported\ well-known\ services))' - 'retry[change number of retries]:number of retries:' - 'root[change name of root server]:root server:_hosts' - 'timeout[change initial timeout interval]:timeout (seconds):' -) - -if [[ -n "$compcontext" ]]; then - if [[ CURRENT -eq 1 ]]; then - - _call_function ret _nslookup_command && return ret - - _alternative \ - 'commands:command:(server lserver root finger ls view help set exit)' \ - 'hosts:: _hosts' && ret=0 - return ret - elif [[ "$compstate[context]" = redirect ]]; then - - _call_function ret _nslookup_redirect && return ret - - _tags -C redirection files || return 1 - - if [[ "$words[1]" != (finger|ls) ]]; then - _message "redirection not allowed for command \`$words[1]'" - return 1 - elif [[ "$compstate[redirect]" = '>' ]]; then - _description files expl 'write to file' - elif [[ "$compstate[redirect]" = '>>' ]]; then - _description files expl 'append to file' - else - _message "unknown redirection operator \`$compstate[redirect]'" - return 1 - fi - - _files "$expl[@]" - return - fi - - if [[ "$words[1]" = [a-z]## ]]; then - _call_function ret _nslookup_$words[1] && return ret - else - _call_function ret _nslookup_host && return ret - fi - - case "$words[1]" in - (|l)server) - _wanted hosts expl 'new default server' _hosts - return - ;; - root|exit|help|\?) - return 1 - ;; - finger) - _message -e names 'finger name' - return 1 - ;; - ls) - _arguments -s \ - '-t[records of given type]:query information type:((a\:internet\ address cname\:canonical\ name\ for\ alias hinfo\:CPU\ and\ operating\ system\ type minfo\:mailbox\ or\ mail\ list\ information mx\:mail\ exchanger ns\:name\ server\ for\ zone ptr\:host\ name\ or\ other\ information soa\:domain\'"'"'s\ \`start-of-authority\'"'"'\ information txt\:text\ information uinfo\:user\ information wks\:supported\ well-known\ services))' \ - '-a[aliases of hosts in domain]' \ - '-d[all records]' \ - '-h[CPU and operating system information]' \ - '-s[well-known services]' \ - ":domain:_domains" - return - ;; - view) - _description files expl 'view file' - _files "$expl[@]" - return - ;; - set) - typeset -A val_args - - _values 'state information' "$setopts[@]" && ret=0 - - [[ -z "$state" ]] && return ret - ;; - *) - _wanted hosts expl 'server' _hosts - return - esac -fi - -# Now comes the command line option completion part. - -if [[ -z "$state" ]]; then - local line - typeset -A opt_args - - _arguments -C \ - "-${(@)^${(@M)setopts:#*\]:*}/\[/=[}" \ - "-${(@)^setopts:#(\(|*\]:)*}" \ - "${(@)^${(@)${(@M)setopts:#\(*}/\)/)-}/\(/(-}" \ - ':host to find:_hosts' \ - ':server:_hosts' && ret=0 -fi - -# This is completion after `srchlist' for both types. - -if [[ -n "$state" ]]; then - _tags domains || return 1 - - if compset -P '*/'; then - _description domains expl 'search list entry' - else - _description domains expl 'default domain name and first search list entry' - fi - if [[ -n "$_vals_cache_multi" ]]; then - _domains "$expl[@]" -qS/ -r "/\\- \\t\\n$_vals_cache_multi" - else - _domains "$expl[@]" -qS/ - fi - return -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_numbers b/result/sw/share/zsh/5.9/functions/_numbers deleted file mode 100644 index 97bb8b4c..00000000 --- a/result/sw/share/zsh/5.9/functions/_numbers +++ /dev/null @@ -1,87 +0,0 @@ -#autoload - -# Usage: _numbers [compadd options] [-t tag] [-f|-N] [-u units] [-l min] [-m max] \ -# [-d default] ["description"] [unit-suffix...] - -# -t : specify a tag (defaults to 'numbers') -# -u : indicate the units, e.g. seconds -# -l : lowest possible value -# -m : maximum possible value -# -d : default value -# -N : allow negative numbers (implied by range including a negative) -# -f : allow decimals (float) - -# For a unit-suffix, an initial colon indicates a unit that asserts the default -# otherwise, colons allow for descriptions, e.g: - -# :s:seconds m:minutes h:hours - -# unit-suffixes are not sorted by the completion system when listed -# Specify them in order of magnitude, this tends to be ascending unless -# the default is of a higher magnitude, in which case, descending. -# So for, example -# bytes kB MB GB -# s ms us ns -# Where the compadd options include matching control or suffixes, these -# are applied to the units - -# For each unit-suffix, the format style is looked up with the -# unit-suffixes tag and the results concatenated. Specs used are: -# x : the suffix -# X : suffix description -# d : indicate suffix is for the default unit -# i : list index -# r : reverse list index -# The latter three of these are useful with ternary expressions. - -# _description is called with the x token set to make the completed -# list of suffixes available to the normal format style - -local desc tag range suffixes suffix suffixfmt pat='<->' partial='' -local -a expl formats -local -a default max min keep tags units -local -i i -local -A opts - -zparseopts -K -D -A opts M+:=keep q:=keep s+:=keep S+:=keep J+: V+: 1 2 o+: n F: x+: X+: \ - t:=tags u:=units l:=min m:=max d:=default f=type e=type N=type - -desc="${1:-number}" tag="${tags[2]:-numbers}" -(( $# )) && shift - -[[ -n ${(M)type:#-f} ]] && pat='(<->.[0-9]#|[0-9]#.<->|<->)' partial='(|.)' -[[ -n ${(M)type:#-N} || $min[2] = -* || $max[2] = -* ]] && \ - pat="(|-)$pat" partial="(|-)$partial" - -if (( $#argv )) && compset -P "$pat"; then - zstyle -s ":completion:${curcontext}:units" list-separator sep || sep=-- - _description -V units expl unit - disp=( ${${argv#:}/:/ $sep } ) - compadd -M 'r:|/=* r:|=*' -d disp "$keep[@]" "$expl[@]" - ${${argv#:}%%:*} - return -elif [[ -prefix $~pat || $PREFIX = $~partial ]]; then - formats=( "h:$desc" ) - (( $#units )) && formats+=( m:${units[2]} ) desc+=" ($units[2])" - (( $#min )) && range="$min[2]-" - (( $#max )) && range="${range:--}$max[2]" - [[ -n $range ]] && formats+=( r:$range ) desc+=" ($range)" - (( $#default )) && formats+=( o:${default[2]} ) desc+=" [$default[2]]" - - zstyle -s ":completion:${curcontext}:unit-suffixes" format suffixfmt || \ - suffixfmt='%(d.%U.)%x%(d.%u.)%(r..|)' - for ((i=0;i<$#;i++)); do - zformat -f suffix "$suffixfmt" "x:${${argv[i+1]#:}%%:*}" \ - "X:${${argv[i+1]#:}#*:}" "d:${#${argv[i+1]}[1]#:}" \ - i:i r:$(( $# - i - 1)) - suffixes+="$suffix" - done - [[ -n $suffixes ]] && formats+=( x:$suffixes ) - - _comp_mesg=yes - _description -x $tag expl "$desc" $formats - [[ $compstate[insert] = *unambiguous* ]] && compstate[insert]= - compadd "$expl[@]" - return 0 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_numfmt b/result/sw/share/zsh/5.9/functions/_numfmt deleted file mode 100644 index 999c412a..00000000 --- a/result/sw/share/zsh/5.9/functions/_numfmt +++ /dev/null @@ -1,24 +0,0 @@ -#compdef numfmt gnumfmt - -local units="((auto\:1K\ =\ 1000,\ 1Ki\ =\ 1024 si\:1K\ =\ 1000 iec\:1K\ =\ 1024 iec-i\:1Ki\ =\ 1024))" - -_arguments -S \ - '(H)--debug[print warnings about invalid input]' \ - '(H -z --zero-terminated -d --delimiter)'{-d+,--delimiter=}'[use specified field delimiter instead of whitespace]:delimiter' \ - '(H)--field=[replace numbers in specified input fields]:fields [1]' \ - '(H)--format=[use printf style floating-point format]:format' \ - "(H)--from=[auto-scale input numbers to specified units]:unit [none]:$units" \ - '(H)--from-unit=[specify the input unit size]:unit size [1]' \ - '(H)--grouping[use locale-defined digit grouping e.g. 1,000,000]' \ - '(H)--header=-[print (without converting) initial header lines]::header lines [1]' \ - '(H)--invalid=[specify failure mode for invalid numbers]:mode [abort]:(abort fail warn ignore)' \ - '(H)--padding=[pad the output to specified width]:width; positive - right-align; negative - left-align' \ - '(H)--round=[use specified method for rounding when scaling]:method [from-zero]:(up down from-zero towards-zero nearest)' \ - '(H)--suffix=[add suffix to output numbers and accept optional suffix in input numbers]:suffix' \ - "(H)--to=[auto-scale output numbers to specified unit]:unit:$units" \ - '(H)--to-unit=[specify output unit size]:unit size [1]' \ - '(H -z --zero-terminated -d --delimiter)'{-z,--zero-terminated}'[line delimiter is NUL, not newline]' \ - '(H)*: :_guard "^-*" number' \ - + 'H' \ - '(- *)--help[display usage information]' \ - '(- *)--version[display version information]' diff --git a/result/sw/share/zsh/5.9/functions/_nvram b/result/sw/share/zsh/5.9/functions/_nvram deleted file mode 100644 index 8853b0be..00000000 --- a/result/sw/share/zsh/5.9/functions/_nvram +++ /dev/null @@ -1,30 +0,0 @@ -#compdef nvram - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -# Note: -x can only be used with -f/-p, but must be used first to have effect -_arguments -s : \ - '(: -)-c[delete all NVRAM variables]' \ - '(: -)-d[delete specified NVRAM variable]: :->variables-ro' \ - '(: -)-f[set NVRAM variables from file]: :_files' \ - '(: -)-p[print all NVRAM variables]' \ - '(-c -d)-x[use XML format for input and output]' \ - '(-)*: :->variables-rw' \ -&& ret=0 - -[[ $state == variables-* ]] && { - tmp=( ${${(f)"$( _call_program variables $words[1] -p )"}%%[[:space:]]*} ) - - [[ $state == variables-rw ]] && - tmp=( ${^tmp}'::NVRAM variable value' ) - - if (( $#tmp )); then - _values -w 'NVRAM variable' $tmp && ret=0 - else - _message 'NVRAM variable' && ret=0 - fi -} - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_objdump b/result/sw/share/zsh/5.9/functions/_objdump deleted file mode 100644 index e2dde7e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_objdump +++ /dev/null @@ -1,198 +0,0 @@ -#compdef objdump eu-objdump llvm-objdump - -local curcontext="$curcontext" files variant ign ret=1 -local -a opts args state state_descr line -typeset -A opt_args - -files='*:object file:_object_files' -(( $#words > 2 )) && ign='!' -_pick_variant -r variant binutils=GNU elfutils=elfutils llvm=LLVM unix --version - -opts=( -s -S ) # options to _arguments itself -args=( - '(-d --disassemble)'{-d,--disassemble}'[display assembler code of executable sections]' - '(-r --reloc)'{-r,--reloc}'[display relocation information]' - '(-s --full-contents)'{-s,--full-contents}'[display the full contents of all sections requested]' - \*{-j+,--section=}'[only display information for section]:section:(.bss .data .dynamic .dynsym .got .interp .shstrtab .symtab .text)' -) - -case $variant in - binutils) - compset -P '@' && files='*:options file:_files' - args+=( - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-a --archive-headers)'{-a,--archive-headers}'[display archive header information]' - '(-f --file-headers)'{-f,--file-headers}'[display contents of the overall file header]' - '(-p --private-headers)'{-p,--private-headers}'[display object format specific file header contents]' - \*{-P+,--private=}'[display information specific to the object format]:option' - '(-h --section-headers --headers)'{-h,--section-headers,--headers}'[display contents of the section headers]' - '(-x --all-headers)'{-x,--all-headers}'[display the contents of all headers]' - '--disassemble=[display assembler contents for specified symbol]:symbol' - '(-D --disassemble-all)'{-D,--disassemble-all}'[display assembler contents of all sections]' - '(-S --source)'{-S,--source}'[intermix source code with disassembly]' - '--source-comment=-[prefix lines of source code with specified text]::text prefix [# ]' - '(-g --debugging)'{-g,--debugging}'[display debug information in object file]' - '(-e --debugging-tags)'{-e,--debugging-tags}'[display debug information using ctags style]' - '(-G --stabs)'{-G,--stabs}'[display (in raw form) any STABS info in the file]' - - '*-W-[display DWARF info in the file]::dwarf section:->short-dwarf-names' - '*--dwarf=-[display DWARF info in the file]::dwarf section:->dwarf-names' - - '--ctf=[display compact C type format info for section]:section' - '(-t --syms)'{-t,--syms}'[display the contents of the symbol table(s)]' - '(-T --dynamic-syms)'{-T,--dynamic-syms}'[display the contents of the dynamic symbol table]' - '(-R --dynamic-reloc)'{-R,--dynamic-reloc}'[display the dynamic relocation entries in the file]' - - "${ign}(- *)"{-v,--version}"[display version information]" - "${ign}(- *)"{-i,--info}"[list supported object formats and architectures]" - "${ign}(- *)"{-H,--help}"[display usage information]" - - '(-b --target)'{-b+,--target=}'[specify the target object format]:target:->bfdnames' - '(-m --architecture)'{-m+,--architecture=}'[specify the target architecture]:architecture:->architectures' - \*{-M+,--disassembler-options=}'[pass target specific information to the disassembler]:option:->disassembler_options' - - "(-E --endian)-E+[assume endianness when disassembling]:endianness:((B\:\"assume big endian format when disassembling\" L\:\"assume little endian format when disassembling\"))" - "(-E --endian)--endian=[assume endianness when disassembling]:endianness:((big\:\"assume big endian format when disassembling\" little\:\"assume little endian format when disassembling\"))" - - '--file-start-context[include context from start of file (with -S)]' - \*{-I+,--include=}'[add directory to search list for source files]:directory:_files -/' - '(-l --line-numbers)'{-l,--line-numbers}'[include line numbers and filenames in output]' - '(-F --file-offsets)'{-F,--file-offsets}'[include file offsets when displaying information]' - '(-C --demangle)-C[decode mangled/processed symbol names]' - '(-C --demangle)--demangle=-[decode mangled/processed symbol names]::style:(auto gnu lucid arm hp edg gnu-v3 java gnat rust dlang)' - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-w --wide)'{-w,--wide}'[format output for more than 80 columns]' - '(-z --disassemble-zeroes)'{-z,--disassemble-zeroes}"[don't skip blocks of zeroes when disassembling]" - - '--start-address=[only process data whose address is >= ADDR]:address' - '--stop-address=[only process data whose address is < ADDR]:address' - "--no-addresses[don't print address alongside disassembly]" - '--prefix-addresses[print complete address alongside disassembly]' - '(--show-raw-insn --no-show-raw-insn)'--{,no-}show-raw-insn'[display hex alongside symbolic disassembly]' - '--insn-width=[display specified number of bytes on a single line with -d]:width (bytes)' - '--adjust-vma=[add offset to all displayed section addresses]:offset' - '--special-syms[include special symbols in symbol dumps]' - '--inlines[print all inlines for source line (with -l)]' - '--prefix=[add prefix to absolute paths for -S]:prefix' - '--prefix-strip=[strip initial directory names for -S]:level' - "--dwarf-depth=[don't display DIEs at specified or greater depth]:depth" - '--dwarf-start=[display DIEs at specified or deeper depth]:depth' - '--dwarf-check[perform additional dwarf internal consistency checks]' - '--ctf-parent=[use specified section as the CTF parent]:section' - '--visualize-jumps=-[visualize jumps by drawing ASCII art lines]::color:(color extended-color off)' - ) - ;; - elfutils) - args+=( - "--color=-[colorize the output]::when:(always auto never)" - "(- *)"{-\?,--help}"[display help]" - "(- *)--usage[display usage]" - "(- *)"{-V,--version}"[display program version]" - - ) - ;; - llvm) - opts=( -S ) # no option stacking - args=( # start over from an empty array - '-aarch64-neon-syntax=[choose style of NEON code (AArch64)]:style:(generic apple)' - '-arch=[select arch from a fat binary (with -macho)]:architecture:(i386 x86_64)' - '-arch-name=[specify target arch to disassemble for]:architecture:->llvm_targets' - '-archive-headers[print archive headers (with -macho)]' - '-archive-member-offsets[w -macho -archive-headers: print offset to each archive member]' - '-bind[display Mach-O binding info]' - '-color[use color syntax highlighting]' - '-data-in-code[print data in code table (with -macho)]' - "-dis-symname=[disassemble just the specified symbol's instructions (with -macho)]" - '(-disassemble -d)'{-disassemble,-d}'[display assembler mnemonics for machine instructions]' - '(-disassemble-all -D)'{-disassemble-all,-D}'[disassemble all instruction sections]' - '-dsym=[use the specified .dSYM file for debug info (with -macho)]:dsym file:_files' - '-dwarf=[dump of dwarf debug section]:section:(frames)' - "-dyld-id[print the shared library's id for dylib Mach-O file (with -macho)]" - '-dylibs-used[print the shared libraries used for linked Mach-O files (with -macho)]' - '-exports-trie[display Mach-O exported symbols]' - '-fault-map-section[display contents of faultmap section]' - '-filter-print-funcs=[only print IR for the specified functions]:function names' - '-full-leading-addr[print full leading address (with -macho)]' - '-g[print line information from debug info if available (with -macho)]' - '-indirect-symbols[print indirect symbol table (with -macho)]' - '-info-plist[print the info plist section (with -macho)]' - '-lazy-bind[display Mach-O lazy binding info]' - '(-line-numbers -l)'{-line-numbers,-l}'[display source line numbers with disassembly]' - '-link-opt-hints[print the linker optimization hints (with -macho)]' - '(-macho -m)'{-macho,-m}'[use Mach-O specific object file parser]' - '*-mattr=[target specific attributes]:attributes' - '-mcpu=[specify target cpu type]:cpu type' - '-no-leading-addr[print no leading address (with -macho)]' - '-no-leading-headers[print no leading headers]' - "-no-show-raw-insn[don't print instruction bytes when disassembling]" - "-no-symbolic-operands[don't print operands symbolically when disassembling (with -macho)]" - '-non-verbose[print info in non-verbose form (with -macho)]' - '-objc-meta-data[print Objective-C runtime meta data (with -macho)]' - '-print-after-all[print IR after each pass]' - '-print-before-all[print IR before each pass]' - '-print-imm-hex[use hex format for immediate values]' - '-private-header[display only the first format specific file header]' - '(-private-headers -p)'{-private-headers,-p}'[display format specific file headers]' - '-r[display the relocation entries in the file]' - '-raw-clang-ast[dump raw binary contents of clang AST section]' - '-rebase[display Mach-O rebasing info]' - '-rng-seed=[seed for the random number generator]:seed' - '-s[display contents of each section]' - \*{-section=,-j}'[operate on the specified section only]:section' - '(-section-headers -h)'{-section-headers,-h}'[display summaries of the headers for each section]' - '(-source -S)'{-source,-S}'[display source inlined with disassembly]' - '-start-address=[start disassembly at the specified address]:address' - '-stop-address=[stop disassembly at the specified address]:address' - '-t[display the symbol table]' - '-time-passes[time each pass, print elapsed time on exit]' - '-triple=[target triple to disassemble for]:triple' - '-universal-headers[print Mach-O universal headers (with -macho)]' - '-verify-dom-info[verify dominator info (time consuming)]' - '-unwind-info[display unwind information]' - '-weak-bind[display Mach-O weak binding info]' - '-x86-asm-syntax=[choose style of assembler code (x86)]:style:(att intel)' - "${ign}(- *)-help[display available options]" - "${ign}(- *)-help-list[display list of available options]" - "${ign}(- *)-version[display version of objdump]" - ) - ;; -esac - -_arguments $opts -C : "$args[@]" $files && ret=0 - -case "$state" in - short-dwarf-names) - _values -s "" "dwarf section" \ - "l[rawline]" "L[decodedline]" "i[info]" "a[abbrev]" "p[pubnames]" \ - "r[aranges]" "m[macro]" "f[frames]" "F[frames-interp]" "s[str]" \ - 'O[str-offsets]' \ - "o[loc]" "R[ranges]" "t[pubtypes]" "U[trace_info]" "u[trace_abbrev]" \ - "T[trace_aranges]" "g[gdb_index]" "A[addr]" "c[cu_index]" "k[links]" \ - "K[follow-links]" && ret=0 - ;; - dwarf-names) - _sequence _wanted dwarf-sections expl "dwarf section" compadd - \ - rawline decodedline info abbrev pubnames aranges macro frames \ - frames-interp str str-offsets loc Ranges pubtypes gdb_index trace_info \ - trace_abbrev trace_aranges addr cu_index links follow-links && ret=0 - ;; - bfdnames) - _wanted targets expl target compadd - \ - ${=${(M)${(f)"$(_call_program targets objdump --help)"}##* supported targets:*}##*: } && ret=0 - ;; - architectures) - _wanted architectures expl architecture compadd - \ - ${=${(M)${(f)"$(_call_program targets objdump --help)"}##* supported architectures:*}##*: } && ret=0 - ;; - disassembler_options) - _values -s , "disassembler option" "${(@)${(@)${(@M)${(f)${(ps.-M switch.)$(_call_program targets objdump --help)}[2]}:# [^ ]*}# }%% *}" && ret=0 - ;; - llvm_targets) - _values "target architecture" "${(z)${(@)${(f)$(_call_program targets - ${~words[1]} -version)##*Registered Targets:}/ -*}}" - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_object_classes b/result/sw/share/zsh/5.9/functions/_object_classes deleted file mode 100644 index a0d669ca..00000000 --- a/result/sw/share/zsh/5.9/functions/_object_classes +++ /dev/null @@ -1,6 +0,0 @@ -#compdef odmget odmshow odme - -local expl - -_wanted objectclasses expl 'object class' \ - _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc(-.)' "$@" - diff --git a/result/sw/share/zsh/5.9/functions/_object_files b/result/sw/share/zsh/5.9/functions/_object_files deleted file mode 100644 index 6b931372..00000000 --- a/result/sw/share/zsh/5.9/functions/_object_files +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local expl - -_description files expl 'object file' - -__object_file() { - [[ -x $REPLY || $REPLY = *.(a|o|elf|dylib) || $REPLY = *.so(.<->)# || - $REPLY = (core*|*.core) ]] -} - -_files -g '*(-.e,__object_file,)' "$@" "${(@)expl}" diff --git a/result/sw/share/zsh/5.9/functions/_obsd_architectures b/result/sw/share/zsh/5.9/functions/_obsd_architectures deleted file mode 100644 index cec000a0..00000000 --- a/result/sw/share/zsh/5.9/functions/_obsd_architectures +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description architectures expl 'architecture' -compadd "$@" "$expl[@]" alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon sparc64 diff --git a/result/sw/share/zsh/5.9/functions/_od b/result/sw/share/zsh/5.9/functions/_od deleted file mode 100644 index 7673a225..00000000 --- a/result/sw/share/zsh/5.9/functions/_od +++ /dev/null @@ -1,83 +0,0 @@ -#compdef od god - -local curcontext="$curcontext" state state_descr line args ret=1 -local -A opt_args - -args=( - '(-A --address-radix)'{-A+,--address-radix=}'[file offset base]:base:((d\:decimal o\:octal x\:hexadecimal n\:none))' - '(-j --skip-bytes)'{-j+,--skip-bytes=}'[skip specified bytes]:bytes' - '(-N --read-bytes)'{-N+,--read-bytes=}'[dump at most specified bytes]:bytes' - '*'{-t+,--format=}'[specify output format]:format string:->format' - '(-v --output-duplicates)'{-v,--output-duplicates}'[do not use * to mark line suppression]' - '-a[output named characters (-t a)]' - '-b[output octal bytes (-t o1)]' - '-c[output characters with C-style escape (-t c)]' - '-d[output unsigned decimal shorts (-t u2)]' - '-f[output single-precision floats (-t fF)]' - {-h,-x}'[output hexadecimal shorts (-t x2)]' - '-i[output decimal integers (-t dI)]' - {-l,-I,-L}'[output decimal longs (-t dL)]' - {-o,-B}'[output octal shorts (-t o2)]' - '-s[output decimal shorts (-t d2)]' -) - -if _pick_variant gnu=GNU unix --version; then - # -h -B -I and -L are obsolescent and undocumented - args=( ${(R)args:#(|\*)(|\(*\))-[hBIL]*} ) - args+=( - '--traditional' - '--endian=[swap input bytes]:endianness:(big little)' - {-S+,--strings=-}'[output strings of at least specified bytes long]:length' - {-w-,--width=-}'[output specified bytes per line]:bytes' - '(- : *)--help[display help and exit]' - '(- : *)--version[output version information and exit]' - ) -else - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options - case "$OSTYPE" in - darwin*|freebsd*|dragonfly*|openbsd*) - args+=( - '-D[output unsigned decimal integers (-t u4)]' - {-e,-F}'[output double-precision floats (-t fD)]' - {-H,-X}'[output hexadecimal ints (-t x4)]' - '-O[output octal ints (-t o4)]' - ) - ;; - solaris*) - args=( - ${(M)args:#(|\*)(|\(*\))-[AjNtvbcdfosx]*} - '-C[output all printable characters and use C-style escapes]' - '-D[output unsigned decimal long words (-t u4)]' - '-F[output double-precision floats (-t f8)]' - '-O[output octal ints (-t o4)]' - '-S[output decimal ints (-t d4)]' - '-X[output hexadecimal ints (-t x4)]' - ) - ;; - (*) - # POSIX options only - args=( ${(M)args:#(|\*)(|\(*\))-[AjNtvbcdosx]*} ) - ;; - esac -fi - -_arguments -C -s -S : "$args[@]" '*: :_files' && return 0 - -case "$state" in - (format) - compset -P '*[acCSIL1248FDL]' - if compset -P '*[doux]'; then - args=( 'C:char' 'S:short' 'I:int' 'L:long' 1 2 4 8 ) - _describe -t integer-size 'size of integer' args && ret=0 - elif compset -P '*f'; then - args=( 'F:float' 'D:double' 'L:long double' ) - _describe -t float-size 'size of float' args && ret=0 - fi - args=( 'a:named character' 'c:character (C-style escape)' - 'd:decimal' 'o:octal' 'u:unsigned decimal' - 'x:hexadecimal' 'f:floating-point number' ) - _describe -t type-specifier 'type specifier' args && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_okular b/result/sw/share/zsh/5.9/functions/_okular deleted file mode 100644 index f08f81c6..00000000 --- a/result/sw/share/zsh/5.9/functions/_okular +++ /dev/null @@ -1,10 +0,0 @@ -#compdef okular -local extns - -extns="(pdf|ps|eps|dvi)(|.gz|.bz2)|djvu|tif|tiff|chm|cbr|cbz" - -_arguments \ - '(-p --page)'{-p,--page}'[page of the document to be shown]:page: ' \ - '--presentation[start the document in presentation mode]' \ - '--unique[unique instance control]' \ - "*:okular document:_files -g '*.(#i)($extns)(-.)'" diff --git a/result/sw/share/zsh/5.9/functions/_oldlist b/result/sw/share/zsh/5.9/functions/_oldlist deleted file mode 100644 index 1cb37602..00000000 --- a/result/sw/share/zsh/5.9/functions/_oldlist +++ /dev/null @@ -1,57 +0,0 @@ -#autoload - -[[ _matcher_num -gt 1 || $_lastcomp[nmatches] -eq 0 ]] && return 1 - -local list - -zstyle -s ":completion:${curcontext}:" old-list list - -# If this is a listing widget and there is already an old list, -# and either the style :oldlist:old-list is `always', or it is not `never' -# and the list is not already shown, then use the existing list for listing -# (even if it was generated by another widget). -# Do this also if there is an old list and it was generated by the -# completer named by the oldlist_list key. - -if [[ -n $compstate[old_list] && $list != never && - $LASTWIDGET != _complete_help && $WIDGET != _complete_help ]]; then - if [[ $WIDGETSTYLE = *list* && ( $list = always || $list != shown ) ]]; then - compstate[old_list]=keep - return 0 - elif [[ $list = *${_lastcomp[completer]}* ]]; then - [[ "$_lastcomp[insert]" = unambig* ]] && compstate[to_end]=single - compstate[old_list]=keep - if [[ -o automenu ]]; then - compstate[insert]=menu - else - compadd -Qs "$SUFFIX" - "$PREFIX" - fi - return 0 - fi -fi - -# If this is a completion widget, and we have a completion inserted already, -# and the style :oldlist:old-menu is `true', then we cycle through the -# existing list (even if it was generated by another widget). - -if [[ -z $compstate[old_insert] && -n $compstate[old_list] && - ( $_lastcomp[nmatches] -ne 0 || $WIDGET != $LASTWIDGET ) && - $LASTWIDGET != _complete_help && $WIDGET != _complete_help ]]; then - compstate[old_list]=keep - return 0 -elif [[ $WIDGETSTYLE = *complete(|-prefix|-word) ]] && - zstyle -T ":completion:${curcontext}:" old-menu; then - if [[ -n $compstate[old_insert] ]]; then - compstate[old_list]=keep - if [[ $WIDGETSTYLE = *reverse* ]]; then - compstate[insert]=$(( compstate[old_insert] - 1 )) - else - compstate[insert]=$(( compstate[old_insert] + 1 )) - fi - else - return 1 - fi - return 0 -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_open b/result/sw/share/zsh/5.9/functions/_open deleted file mode 100644 index 2563e5eb..00000000 --- a/result/sw/share/zsh/5.9/functions/_open +++ /dev/null @@ -1,83 +0,0 @@ -#compdef open - -# Notes: -# - open(1) says that -f opens the result in the default text editor. This is -# not true; the result is always opened in TextEdit unless another option is -# supplied to override it -# - We no longer try to restrict files to those associated with the specified -# app; this was a nice idea, but it's unreliable - -_open_absolute_application_path() { - local expl curcontext - zstyle -T ":completion:${curcontext}:files" prefix-needed && \ - [[ "$PREFIX" != [/~]* && compstate[nmatches] -ne 0 ]] && return 1 - _wanted files expl 'application file' _path_files -P "$PREFIX[1]" -W / -} - -_open() { - local curcontext=$curcontext ret=1 - local -a context expl line state state_descr tmp - local -A opt_args val_args - - # No +, and no -S (--args covers that) - _arguments -s -C : \ - '(-a -b -e -f -R -t)-a+[specify application name]: :->applications' \ - '(: * -)--args[pass remaining arguments to application]:*:::argument' \ - '(-a -b -e -f -R -t)-b+[specify application bundle identifier]: :->bundle-ids' \ - '(-a -b -e -f -R -t)-e[open with TextEdit]' \ - '(-h)-f[open standard input with TextEdit or specified application]' \ - '(-R)-F[open application with fresh state]' \ - '-g[do not bring application to foreground]' \ - '(-f)-h[open library header file]' \ - '(-R)-n[always open new instance of application]' \ - '(-a -b -e -f -F -n -s -t -W --args)-R[reveal in Finder]' \ - '(-R)-s+[specify SDK name/version]: :->sdks' \ - '(-a -b -e -f -R -t)-t[open with default text editor]' \ - '(-R)-W[wait for application to exit]' \ - '(-f)*: :->files' \ - && ret=0 - - case $state in - applications) - _alternative \ - "commands: :_mac_applications" \ - "files:: _open_absolute_application_path" \ - && ret=0 - ;; - bundle-ids) - autoload -Uz zargs - _retrieve_mac_apps - tmp=( ${(@)_mac_apps:#/System/Library/(Private|)Frameworks/*} ) - tmp=( ${(0)"$( - _call_program bundle-ids \ - zargs -n300 -P2 -- ${(@q)tmp} -- mdls -rn kMDItemCFBundleIdentifier - )"} ) - tmp=( ${(@)tmp:#\(null\)} ) - _values 'bundle identifier' $tmp com.apple.TextEdit && ret=0 - ;; - files) - if (( $+opt_args[-h] )); then - tmp=( - /System/Library/Frameworks/*/Headers/*.h(#q-.N:t) - /usr/local/include/**/*.h(#q-.N:t) - /usr/include/**/*.h(#q-.N:t) - ) - _describe -t headers 'header file' tmp && ret=0 - else - _webbrowser && ret=0 - fi - ;; - sdks) - tmp=( /Library/Developer/CommandLineTools/SDKs/*.*.sdk(#qN:t:r) ) - if (( $#tmp )); then - _describe -t sdks 'SDK name/version' tmp && ret=0 - else - _message -e sdks 'SDK name/version' && ret=0 - fi - ;; - esac - - return ret -} - -_open "$@" diff --git a/result/sw/share/zsh/5.9/functions/_openstack b/result/sw/share/zsh/5.9/functions/_openstack deleted file mode 100644 index d55686b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_openstack +++ /dev/null @@ -1,203 +0,0 @@ -#compdef openstack aodh barbican ceilometer cinder cloudkitty designate freezer glance gnocchi heat ironic keystone magnum manila mistral monasca murano neutron nova sahara senlin tacker trove vitrage watcher zun - -# https://wiki.openstack.org/wiki/OpenStackClients -# http://docs.openstack.org/user-guide/common/cli-install-openstack-command-line-clients.html - -local curcontext="$curcontext" state line expl ret=1 - -local -a clnts_compl_new clnts_compl_old clnts_swift_like - -# -# We support three different client categories: -# 1) Clients with new style complete command where output is like: -# -# cmds='alarm alarm-history capabilities complete help' -# cmds_alarm='create delete list show update' -# cmds_alarm_history='search show' -# cmds_alarm_history_search='-h --help -f --format -c --column --max-width --noindent --quote --query' -# -# 2) Clients with old style bash-completion command which does -# not separate options and commands: -# -# --tenant_id floatingip-delete bgp-peer-delete --default-prefixlen net-create [...] -# -# 3) Swift, slightly different from 2) -# -clnts_compl_new=( aodh barbican designate freezer gnocchi openstack vitrage watcher ) -clnts_compl_old=( ceilometer cinder cloudkitty glance heat ironic keystone magnum manila mistral monasca murano neutron nova sahara senlin tacker trove zun ) -clnts_swift_like=( swift ) - -# Python clients take quite some time to start up and some (openstack(1)) -# even go over the network for completions so we cache things pretty hard -if (( ! $+_cache_openstack_clnt_opts )); then - typeset -gA _cache_openstack_clnt_outputs - typeset -gA _cache_openstack_clnt_opts - typeset -gA _cache_openstack_clnt_cmds - typeset -gA _cache_openstack_clnt_cmds_opts -fi - -local -a conn_opts -local opt arg word -# Only openstack(1) requires parameters to provide completion info -if [[ $service == openstack && -n ${words[(r)--os-*]} ]]; then - if (( ! $+_cache_openstack_conn_opts )); then - _cache_openstack_conn_opts=( ${(M)${=${(f)"$($service help 2>/dev/null)"}}:#--os-*} ) - fi - # --os-tenant-id --os-tenant-name are deprecated but still widely used - for opt in ${=_cache_openstack_conn_opts} --os-tenant-id --os-tenant-name; do - arg= - for word in ${words:1}; do - [[ $word == $opt ]] && arg=$word && break - done - [[ -n $arg && -n ${arg##-*} ]] && conn_opts=( $conn_opts $opt $arg ) - done -fi - -# New style clients -if [[ -n ${clnts_compl_new[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - clnt_outputs is command raw output used later - _cache_openstack_clnt_outputs[$service]=${:-"$($service ${(Q)conn_opts} complete 2>/dev/null)"} - _cache_openstack_clnt_opts[$service]=${${${${(M)${${${${=${(f)"$($service help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.}%--os-} - fi - - # get worlds left of the curser into an array - local -a left_words - left_words=(${=LBUFFER}) - - # if curser is directly at a word (no space at the end), - # exclude the last word to offer right matches - # the last word could be a partial match that is later checked (prefix-needed) - local partial="" - if [[ "${LBUFFER[-1]}" != " " ]]; then - partial=${(@)left_words[-1]} - left_words=(${(@)left_words[1,$#left_words-1]}) - fi - # remove $service - left_words=(${left_words:1}) - - # filter out "help" - if [[ $left_words[1] == help ]]; then - left_words=(${(@)left_words[2,$#left_words]}) - fi - - # filter out options (-*) - left_words=(${left_words//-*}) - - local -a subcmd_array cmds_array cache_key_array cache_values - subcmd_array=() - cmds_array=(cmds) - cache_key_array=(${service}) - cache_values=() - local cache_key cmds - cache_key="" - cmds="" - - # Check for matches one level at a time - # example: "" server create - for word in "" ${(@)left_words}; do # first loop second loop third loop - subcmd_array=(${(@)subcmd_array} ${word}) # () (server) (server create) - cmds_array=(${(@)cmds_array} ${word}) # (cmds) (cmds server) (cmds server create) - cmds=${${(j:_:)cmds_array}/-/_} # cmds cmds_openstack cmds_server_create - cache_key_array=(${(@)cache_key_array} ${word}) # (openstack) (openstack server) (openstack server create) - cache_key=${${(j:_:)cache_key_array}/-/_} # openstack openstack_server openstack_server_create - - # lookup if current word is in cache_values of last elements - if [[ ${cache_values[(wI)${word}]} -gt 0 || $word == "" ]]; then - _cache_openstack_clnt_cmds[${cache_key}]=${${${_cache_openstack_clnt_outputs[${service}]}/* ${cmds}=\'}/\'*} - else - # unknown word: set cache_key to last cache_key and break - cache_key=${${(j:_:)${cache_key_array:0:${#cache_key_array}-1}}/-/_} - break - fi - # set cache_values for next loop - cache_values=${_cache_openstack_clnt_cmds[${cache_key}]} - done - - # Populate the command cache - if [[ -z $_cache_openstack_clnt_cmds[${cache_key}] ]]; then - _message "missing authentication options" - else - # add global options to completion list if current word start with -* - local extra_opts - if [[ $words[CURRENT] == -* ]]; then; - extra_opts=${_cache_openstack_clnt_opts[$service]} - fi - - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed \ - || [[ -n "${partial}" && ${${_cache_openstack_clnt_cmds[${cache_key}]}[(Iw)${partial}*]} -gt 0 || -prefix - ]] } \ - && _values -w option ${(u)=_cache_openstack_clnt_cmds[${cache_key}]} ${(u)=extra_opts} \ - && ret=0 - fi - - -# Old style clients -elif [[ -n ${clnts_compl_old[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - _cache_openstack_clnt_opts[$service]=${${${(M)${${${${=${(f)"$($service help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - _cache_openstack_clnt_cmds[$service]=${${(M)${=${(f)"$($service bash-completion 2>/dev/null)"}}:#[A-Za-z]*}/bash-completion} - fi - local cmd - # Determine the command - for word in ${words:1}; do - local s=${_cache_openstack_clnt_cmds[$service]} - [[ $s[(wI)$word] -gt 0 ]] && cmd=$word && break - done - # Populate command option cache - # Mostly no options for help, prevent consecutive calls with help here - if [[ -n $cmd && $cmd != help && -z $_cache_openstack_clnt_cmds_opts[$service$cmd] ]]; then - _cache_openstack_clnt_cmds_opts[$service$cmd]=${${${(M)${${${${=${(f)"$($service help $cmd 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - fi - # Special treatment for the help command - if [[ $cmd == help ]]; then - if [[ $words[CURRENT-1] == help && $words[CURRENT] != -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - else - _values -w option help && ret=0 - fi - # Client options - elif [[ -z $cmd && $words[CURRENT] == -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_opts[$service]} && ret=0 - # Commands - elif [[ -z $cmd ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - # Command options - else - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ -prefix - ]] } && \ - [[ -n $_cache_openstack_clnt_cmds_opts[$service$cmd] ]] && _values -w option ${(u)=_cache_openstack_clnt_cmds_opts[$service$cmd]//\:/\\\:} && ret=0 - fi - -# Swift like clients -elif [[ -n ${clnts_swift_like[(r)$service]} ]]; then - if [[ -z $_cache_openstack_clnt_cmds[$service] ]]; then - # Populate caches - clnt_outputs is command raw output used later - _cache_openstack_clnt_outputs[$service]=${(f)"$($service --help 2>/dev/null)"} - _cache_openstack_clnt_opts[$service]=${${${${(M)${${${${=_cache_openstack_clnt_outputs[$service]}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.}/=*} - _cache_openstack_clnt_cmds[$service]=${=${(M)${(M)${(f)_cache_openstack_clnt_outputs[$service]}:# [a-z]*}/ [A-Z]*}} - fi - local cmd - # Determine the command - for word in ${words:1}; do - local s=${_cache_openstack_clnt_cmds[$service]} - [[ $s[(wI)$word] -gt 0 ]] && cmd=$word && break - done - # Populate command option cache - if [[ -n $cmd && -z $_cache_openstack_clnt_cmds_opts[$service$cmd] ]]; then - _cache_openstack_clnt_cmds_opts[$service$cmd]=${${${(M)${${${${=${(f)"$($service $cmd --help 2>/dev/null)"}}/\[}/\]}/\;}:#-[-0-9A-Za-z]*}/,}/\.} - fi - # Client options - if [[ -z $cmd && $words[CURRENT] == -* ]]; then - _values -w option ${(u)=_cache_openstack_clnt_opts[$service]} && ret=0 - # Commands - elif [[ -z $cmd ]]; then - _values -w option ${(u)=_cache_openstack_clnt_cmds[$service]} && ret=0 - # Command options - else - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || [[ -prefix - ]] } && \ - [[ -n $_cache_openstack_clnt_cmds_opts[$service$cmd] ]] && _values -w option ${(u)=_cache_openstack_clnt_cmds_opts[$service$cmd]//\:/\\\:} && ret=0 - fi - -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_opkg b/result/sw/share/zsh/5.9/functions/_opkg deleted file mode 100644 index ddaefe1e..00000000 --- a/result/sw/share/zsh/5.9/functions/_opkg +++ /dev/null @@ -1,468 +0,0 @@ -#compdef opkg ipkg - -# Notes: -# -# - This function has been designed with opkg in mind, but much of it should -# also work with ipkg. -# -# - Caching doesn't appear to save a HUGE amount of time given the scale of most -# opkg repos (compared to e.g. APT) and the resources available to the devices -# that use them. -# -# - _opkg_pkg_* functions can be called with --update to update their respective -# cache files without actually completing. -# -# - Lots of code redundancy here (@todo). -# -# Notable styles supported: -# -# % zstyle ':completion:*:opkg:*' use-cache <yes/no> -# Set to yes to enable caching of package names. Usually disabled by default. -# -# % zstyle ':completion:*:opkg:*' cache-path <directory> -# Set to a directory path to override the default cache-file directory. -# -# % zstyle ':completion:*:opkg:*' cache-persists <yes/no> -# Set to yes to keep cache data in memory for the remainder of the shell -# session. Most completion functions do this always, but opkg tends to be used -# on fairly resource-constrained devices, so it's disabled by default here. -# -# % zstyle ':completion:*:opkg:*' status-paths <pattern> ... -# Set to one or more paths or glob patterns to override the defaults used when -# checking cache validity. If any of the specified files has been modified -# more recently than the cache, the cache is considered invalid. -# -# % zstyle ':completion:*:opkg:*' conf-paths <pattern> ... -# Set to one or more paths or glob patterns to override the defaults used when -# searching opkg configuration data. -# -# Elevated privileges may be necessary to complete package names, etc.; consider -# setting the gain-privileges style as follows: -# zstyle ':completion:*:(ipkg|opkg)/*' gain-privileges yes - -## -# Check cache validity. -__opkg_cache_policy() { - local -a tmp - - # Always invalidate if it's been over a week - tmp=( $1(#qmw+1N) ) - (( $#tmp )) && return 0 - - zstyle -a ":completion:$curcontext:" status-paths tmp - - if (( $#tmp )); then - tmp=( $~tmp(#qN) ) - else - tmp=( - {/opt,/usr,/var}/lib/{i,o}pkg/status(#q-.N) - {/opt,/usr,/var}/lib/{i,o}pkg/lists/packages(#q-.N) - /opt/var/opkg-lists/packages(#q-.N) - ) - fi - - # Always invalidate if we found no status files - (( $#tmp )) || return 0 - - # Invalidate if any status file is newer than the cache file - for 2 in $tmp; do - [[ $2 -nt $1 ]] && return 0 - done - - return 1 -} - -## -# Search opkg config files. -__opkg_grep_conf() { - local -aU tmp - - zstyle -a ":completion:$curcontext:" conf-paths tmp - - if (( $#tmp )); then - tmp=( $~tmp(#qN) ) - else - tmp=( - {,/opt}/etc/{i,o}pkg*.conf(#q-.N) - {,/opt}/etc/{i,o}pkg/*.conf(#q-.N) - ) - fi - - (( $#tmp )) || return 1 - - GREP_OPTIONS= command grep -sE "$@" $tmp -} - -## -# Complete architecture/priority pair. -# -# Architecture names are essentially arbitrary (up to the packager), so we can't -# really complete every possibility here — but we'll account for most of the -# popular ones. -_opkg_arch_prio() { - local -a copts=( "$@" ) - local -aU tmp - - [[ -prefix *: ]] && { - _message priority - return - } - - # Already configured arches - tmp=( ${(f)"$( _call_program -p architectures $svc print-architecture )"} ) - tmp=( ${${tmp##arch[ ]##}%% *} ) - - tmp+=( - # 'Meta' arches - all any noarch - # Arches supported by entware-ng - armv5soft armv7soft mipselsf x86-32 x86-64 - # Arches mentioned in the optware-ng source - arm armeb fsg3be hpmv2 i686 ixp4xxbe ixp4xxle mssii nslu2 powerpc qemux86 - slugosbe slugosle - # Arches mentioned in the Ångström distribution's narcissus source - a780 ac100 akita am180x-evm am3517-crane am3517-evm am37x-evm archos5 - archos5it arm arm-oabi armeb armv4 armv4b armv4t armv4tb armv5 armv5-vfp - armv5e armv5e-vfp armv5eb armv5t armv5t-vfp armv5te armv5te-vfp armv5teb - armv6 armv6-vfp armv6t-vfp armv7 armv7-vfp armv7a armv7a-vfp armv7a-vfp-neon - armv7at2-vfp armv7at2-vfp-neon armv7t2-vfp at32stk1000 at91sam9263ek - atngw100 avr32 beagleboard beaglebone bug20 c6a816x-evm c6a816x_evm c7x0 - cm-t35 collie da830-omapl137-evm da850-omapl138-evm davinci-dvevm dht-walnut - dm355-evm dm355-leopard dm357-evm dm365-evm dm3730-am3715-evm dm37x-evm - dm6446-evm dm6467-evm dm6467t-evm dns323 eee701 efika h2200 h3900 h4000 - h5000 hawkboard htcalpine hx4700 i386 i486 i586 i686 igep0020 iwmmxt - ixp4xxbe ixp4xxle kuropro lsppchd lsppchg lspro mini2440 mini6410 mips - mv2120 n1200 n2100 neuros-osd2 nokia800 om-gta01 om-gta02 omap3-pandora - omap3-touchbook omap3evm omap4430-panda omap4430_panda omap5912osk omapzoom - omapzoom2 omapzoom36x openrd-base openrd-client overo palmt650 poodle - powerpc ppc ppc405 ppc603e qemuarm qemumips qemuppc qemux86 sheevaplug - simpad smartq5 spitz tosa ts409 tsx09 usrp-e1xx x86 - ) - - _values -O copts -w -S : architecture ${^tmp}:priority -} - -## -# Complete destination name. -_opkg_dest() { - local -a copts=( "$@" ) - local -aU tmp - - tmp=( ${(f)"$( __opkg_grep_conf '^\s*dest\s+\S+\s+\S+' )"} ) - tmp=( ${tmp##[[:space:]]#dest[[:space:]]##} ) - tmp=( ${tmp%%[[:space:]]*} ) - - (( $#tmp )) || { - _message destination - return - } - _values -O copts -w destination $tmp -} - -## -# Complete destination-name/path pair. -_opkg_dest_path() { - local -a copts=( "$@" ) - local -aU tmp - - tmp=( ${(f)"$( __opkg_grep_conf '^\s*dest\s+\S+\s+\S+' )"} ) - tmp=( ${tmp##[[:space:]]#dest[[:space:]]##} ) - tmp=( ${tmp%%[[:space:]]*} ) - - (( $#tmp )) || { - _message destination:path - return - } - _values -O copts -w -S : destination ${^tmp}': :_directories' -} - -## -# Complete any package name. -_opkg_pkg_all() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_all )) || _cache_invalid opkg-pkg-all } && - ! _retrieve_cache opkg-pkg-all && { - _opkg_cache_pkg_all=( ${(f)"$( - _call_program -p pkg-all ${svc:-opkg} list )"} - ) - _opkg_cache_pkg_all=( ${(@)_opkg_cache_pkg_all##[[:space:]]*} ) - _opkg_cache_pkg_all=( ${(@)_opkg_cache_pkg_all%%[[:space:]]*} ) - _store_cache opkg-pkg-all _opkg_cache_pkg_all - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_all )) || { - _message package - return - } - _values -O copts -w package $_opkg_cache_pkg_all -} - -## -# Complete installed package name. -_opkg_pkg_inst() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_inst )) || _cache_invalid opkg-pkg-inst } && - ! _retrieve_cache opkg-pkg-inst && { - _opkg_cache_pkg_inst=( ${(f)"$( - _call_program -p pkg-inst ${svc:-opkg} list-installed - )"} ) - _opkg_cache_pkg_inst=( ${(@)_opkg_cache_pkg_inst##[[:space:]]*} ) - _opkg_cache_pkg_inst=( ${(@)_opkg_cache_pkg_inst%%[[:space:]]*} ) - _store_cache opkg-pkg-inst _opkg_cache_pkg_inst - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_inst )) || { - _message 'installed package' - return - } - _values -O copts -w 'installed package' $_opkg_cache_pkg_inst -} - -## -# Complete new (installable) package name. -_opkg_pkg_new() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_new )) || _cache_invalid opkg-pkg-new } && - ! _retrieve_cache opkg-pkg-new && { - _opkg_pkg_all --update - _opkg_pkg_inst --update - _opkg_cache_pkg_new=( ${_opkg_cache_pkg_all:|_opkg_cache_pkg_inst} ) - _store_cache opkg-pkg-new _opkg_cache_pkg_new - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_new )) || { - _message 'installable package' - return - } - _values -O copts -w 'installable package' $_opkg_cache_pkg_new -} - -## -# Complete upgradeable package name. -_opkg_pkg_upgr() { - local -a upd copts - - zparseopts -a upd -D -E -update - copts=( "$@" ) - - { (( ! $#_opkg_cache_pkg_upgr )) || _cache_invalid opkg-pkg-upgr } && - ! _retrieve_cache opkg-pkg-upgr && { - _opkg_cache_pkg_upgr=( ${(f)"$( - _call_program -p pkg-upgr ${svc:-opkg} list-upgradable - )"} ) - _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr##[[:space:]]*} ) - _opkg_cache_pkg_upgr=( ${(@)_opkg_cache_pkg_upgr%%[[:space:]]*} ) - _store_cache opkg-pkg-upgr _opkg_cache_pkg_upgr - } - (( $#upd )) && return 0 - - (( $#_opkg_cache_pkg_upgr )) || { - _message 'upgradable package' - return - } - _values -O copts -w 'upgradable package' $_opkg_cache_pkg_upgr -} - -_opkg() { - local curcontext=$curcontext ret=1 cache_policy help variant svc=$words[1] - local -a line state state_descr args tmp - local -A opt_args val_args - - if - zstyle -t ":completion:*:*:$service:*" cache-persists && - (( ! $+_opkg_cache_pkg_all )) - then - typeset -gaU _opkg_cache_pkg_all - typeset -gaU _opkg_cache_pkg_inst - typeset -gaU _opkg_cache_pkg_new - typeset -gaU _opkg_cache_pkg_upgr - else - local -aU _opkg_cache_pkg_all - local -aU _opkg_cache_pkg_inst - local -aU _opkg_cache_pkg_new - local -aU _opkg_cache_pkg_upgr - fi - - zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy - [[ -n $cache_policy ]] || - zstyle ":completion:*:*:$service:*" cache-policy __opkg_cache_policy - - # Options are ordered by long name. Alternative names not listed in the usage - # help are (mostly) ignored - args=( - '*--add-arch=[register architecture with priority]: :_opkg_arch_prio' - '*--add-dest=[register destination with path]: :_opkg_dest_path' - '--autoremove[remove unnecessary packages]' - '--combine[combine upgrade and install operations]' - '(-f --conf)'{-f+,--conf=}'[specify opkg config file]:config file:_files' - '(-d --dest)'{-d+,--dest=}'[specify root directory for package operations]: :_opkg_dest' - '--download-only[make no changes (download only)]' - '--force-checksum[ignore checksum mismatches]' - '--force-downgrade[allow package downgrades]' - '--force-depends[ignore failed dependencies]' - '(--force-maintainer --ignore-maintainer)--force-maintainer[overwrite local config files with upstream changes]' - '--force-overwrite[overwrite files from other packages]' - '--force-postinstall[always run postinstall scripts]' - '--force-reinstall[reinstall packages]' - # This is obnoxiously long; maybe add --force-removal-* to ignored-patterns - '--force-removal-of-dependent-packages[remove packages and all dependencies]' - '--force-remove[ignore failed prerm scripts]' - '--force-space[disable free-space checks]' - '(--force-maintainer --ignore-maintainer)--ignore-maintainer[ignore upstream changes to config files]' - '(-l --lists-dir)'{-l+,--lists-dir=}'[specify package-list directory]:list directory:_directories' - '(--noaction --test)'{--noaction,--test}'[make no changes (test only)]' - '--nodeps[do not follow dependencies]' - # Undocumented variant - '!(-o --offline --offline-root)--offline=:root directory:_directories' - '(-o --offline --offline-root)'{-o+,--offline-root=}'[specify root directory for offline package operations]:root directory:_directories' - '(-A --query-all)'{-A,--query-all}'[query all packages (not just installed)]' - '--recursive[remove packages and all their dependencies]' - '--size[show package sizes]' - '(-t --tmp-dir)'{-t+,--tmp-dir=}'[specify temp directory]:temp directory:_directories' - '(-V --verbosity)'{-V+,--verbosity=}'[specify output verbosity level]: :->verbosity-levels' - '(: -)'{-v,--version}'[display version information]' - '1: :->commands' - '*::: :->extra' - ) - - # There are a few different variants of opkg, but we'll concern ourselves - # mainly with OpenWRT/Entware vs (up-stream) Yocto - _pick_variant -r variant openwrt=--nocase yocto --help - - if [[ $variant == openwrt ]]; then - args+=( - '--cache=[specify cache directory]:cache directory:_directories' - '--nocase[match patterns case-insensitively]' - ) - else - args+=( - '*--add-exclude=[register package for exclusion]: :_opkg_pkg_all' - '--cache-dir=[specify cache directory]:cache directory:_directories' - '--host-cache-dir[do not place cache in offline root directory]' - '--no-install-recommends[do not install recommended packages]' - '--prefer-arch-to-version[prefer higher architecture priorities to higher versions]' - '--volatile-cache[use volatile download cache]' - ) - fi - - _arguments -s -S -C : $args && ret=0 - - case $state in - commands) - tmp=( - 'compare-versions[compare version numbers]' - 'configure[configure unpacked package]' - 'depends[display dependencies of package]' - 'download[download package]' - 'files[display files belonging to package]' - 'find[search package names and descriptions]' - 'flag[flag package]' - 'info[display package information]' - 'install[install package]' - 'list[display available packages]' - 'list-changed-conffiles[display user-modified config files]' - 'list-installed[display installed packages]' - 'list-upgradable[display upgradable packages]' - 'print-architecture[display installable architectures]' - 'remove[remove package]' - 'search[display packages providing file]' - 'status[display package status]' - 'update[update list of available packages]' - 'upgrade[upgrade installed package]' - 'whatconflicts[display what conflicts with package]' - 'whatdepends[display what depends on package]' - 'whatdependsrec[display what depends on package (recursive)]' - 'whatprovides[display what provides package]' - 'whatrecommends[display what recommends package]' - 'whatreplaces[display what replaces package]' - 'whatsuggests[display what suggests package]' - ) - [[ $variant == openwrt ]] || - tmp+=( 'clean[clean internal cache]' ) - - _values sub-command $tmp && ret=0 - ;; - verbosity-levels) - _values 'verbosity level' \ - '0[show errors only]' \ - '1[show normal messages (default)]' \ - '2[show informational message]' \ - '3[show debug messages (level 1)]' \ - '4[show debug messages (level 2)]' \ - && ret=0 - ;; - extra) - case $line[1] in - compare-versions) - case $CURRENT in - 1|3) _message 'version string' && ret=0 ;; - 2) - _values operator \ - '<<[earlier]' \ - '<=[earlier or equal]' \ - '=[equal]' \ - '>=[later or equal]' \ - '>>[later]' \ - && ret=0 - ;; - esac - ;; - configure|files|list-*|status) - (( CURRENT == 1 )) && _opkg_pkg_inst && ret=0 - ;; - depends|what*) - if [[ -n ${opt_args[(I)-A|--query-all]} ]]; then - _opkg_pkg_all && ret=0 - else - _opkg_pkg_inst && ret=0 - fi - ;; - download) - _opkg_pkg_all && ret=0 - ;; - find|info|list) - (( CURRENT == 1 )) && _opkg_pkg_all && ret=0 - ;; - flag) - if (( CURRENT == 1 )); then - _values flag hold noprune user ok installed unpacked && ret=0 - else - _opkg_pkg_inst && ret=0 - fi - ;; - install) - _opkg_pkg_new && ret=0 - ;; - remove) - _opkg_pkg_inst && ret=0 - ;; - search) - (( CURRENT == 1 )) && _files && ret=0 - ;; - upgrade) - _opkg_pkg_upgr && ret=0 - ;; - esac - ;; - esac - - (( ret && $#state )) && _message 'no more arguments' && ret=0 - return ret -} - -_opkg "$@" diff --git a/result/sw/share/zsh/5.9/functions/_options b/result/sw/share/zsh/5.9/functions/_options deleted file mode 100644 index c6cf30d9..00000000 --- a/result/sw/share/zsh/5.9/functions/_options +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -# This should be used to complete all option names. - -local expl - -_wanted zsh-options expl 'zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -k - options diff --git a/result/sw/share/zsh/5.9/functions/_options_set b/result/sw/share/zsh/5.9/functions/_options_set deleted file mode 100644 index ddb57c3e..00000000 --- a/result/sw/share/zsh/5.9/functions/_options_set +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -# Complete all set options. This relies on `_main_complete' to store the -# names of the options that were set when it was called in the array -# `_options_set'. - -local expl - -_wanted zsh-options expl 'set zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_set diff --git a/result/sw/share/zsh/5.9/functions/_options_unset b/result/sw/share/zsh/5.9/functions/_options_unset deleted file mode 100644 index 32d58d42..00000000 --- a/result/sw/share/zsh/5.9/functions/_options_unset +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -# Complete all unset options. This relies on `_main_complete' to store the -# names of the options that were unset when it was called in the array -# `_options_unset'. - -local expl - -_wanted zsh-options expl 'unset zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_unset diff --git a/result/sw/share/zsh/5.9/functions/_opustools b/result/sw/share/zsh/5.9/functions/_opustools deleted file mode 100644 index 1fd97798..00000000 --- a/result/sw/share/zsh/5.9/functions/_opustools +++ /dev/null @@ -1,71 +0,0 @@ -#compdef opusenc opusdec opusinfo - -case $service in - opusenc) - _arguments -S \ - '1:input file:_files -g "*.(#i)(wav|flac|ogg|aif(|f))(-.)"' \ - '2:output file:_files -g "*.(#i)opus(-.)"' \ - '(- 1 *)'{-h,--help}'[show usage information]' \ - '(- 1 *)'{-V,--version}'[show version information]' \ - '(- 1 *)--help-picture[show help on attaching album art]' \ - '--quiet[enable quiet mode]' \ - '--bitrate[set target bitrate per channel]:target bitrate per channel (kbps) (6-256)' \ - '--comp[set encoding complexity]:encoding complexity (1-10) [10]:(1 2 3 4 5 6 7 8 9 10)' \ - '--cvbr[use constrained variable bitrate encoding]' \ - '--downmix-mono[downmix to mono]' \ - '--downmix-stereo[downmix to stereo (if >2 channels)]' \ - '--expect-loss[set expected packet loss]:expected packet loss (%%) (0-100) [0]' \ - '--framesize[set maximum frame size]:maximum frame size (milliseconds) [20]:(2.5 5 10 20 40 60)' \ - '--hard-cbr[use hard constant bitrate encoding]' \ - '--max-delay[set maximum container delay]:maximum container delay (milliseconds) (0-1000) [1000]' \ - '--music[tune low bitrates for music (override automatic detection)]' \ - '--no-phase-inv[disable use of phase inversion for intensity stereo]' \ - '--speech[tune low bitrates for speech (override automatic detection)]' \ - '--vbr[use variable bitrate encoding (default)]' \ - '--album[set album or collection]:album or collection' \ - '--date[set date of track]:date of track (YYYY, YYYY-MM, or YYYY-MM-DD):_dates -f "%F"' \ - '--discard-comments[discard metadata when transcoding]' \ - '--discard-pictures[discard pictures when transcoding]' \ - '--padding[reserve extra bytes for metadata]:padding size (bytes) [512]' \ - '--title[set track title]:track title' \ - '--tracknumber[set track number]:track number' \ - '*--artist[add artist or author]:artist or author' \ - '*--comment[add an extra comment]:comment (tag=val)' \ - '*--genre[add genre]:genre' \ - '*--picture[attach album art]:album art:_files -g "*.(#i)(jp(|e)g|png|gif)(-.)"' \ - '--ignorelength[ignore the data length in RIFF wav headers]' \ - '--raw-bits[set bits per sample for raw input]:bits per sample [16]:(8 16 24)' \ - '--raw-chan[set number of channels for raw input]:number of channels (1-255) [2]' \ - '--raw-endianness[set endianness for raw input]:endianness:(("0"\:"big endian" "1"\:"little endian"))' \ - '--raw-rate[set sampling rate for raw input]:sample rate (Hz) (100-768000) [48000]' \ - '--raw[interpret input as raw PCM data without headers]' \ - '--serial[force use of a specific stream serial number]:stream serial number' \ - '--save-range[save check values for every frame to a file]:output for check values:_files' \ - '--set-ctl-int[pass encoder control]:encoder control' - ;; - opusdec) - _arguments -S \ - '1:input file:_files -g "*.(#i)opus(-.)"' \ - '2::output file:_files -g "*.(#i)wav(-.)"' \ - '(- 1 *)'{-h,--help}'[show usage information]' \ - '(- 1 *)'{-V,--version}'[show version information]' \ - '(- 1 *)--help-picture[show help on attaching album art]' \ - '--quiet[enable quiet mode]' \ - '--rate[force decoding at given sample rate]:sample rate (Hz) (8000-192000)' \ - '--force-stereo[force decoding to stereo]' \ - '--gain[adjust output volume]:gain (dB) (negative is quieter)' \ - '--no-dither[do not dither 16-bit output]' \ - '--float[output 32-bit floating-point samples]' \ - '--force-wav[force RIFF wav header on output]' \ - '--packet-loss[simulate random packet loss]:packet loss probability (%%) (0-100)' \ - '--save-range[save check values for every frame to a file]:output for check values:_files' - ;; - opusinfo) - _arguments -s -S \ - '(- 1 *)-h[show usage information]' \ - '(- 1 *)-V[show version information]' \ - '*-q[make the output quieter]' \ - '*-v[make the output more verbose]' \ - '*:opus file:_files -g "*.(#i)opus(-.)"' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_osascript b/result/sw/share/zsh/5.9/functions/_osascript deleted file mode 100644 index 5e6cebab..00000000 --- a/result/sw/share/zsh/5.9/functions/_osascript +++ /dev/null @@ -1,34 +0,0 @@ -#compdef osascript - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '-l+[specify script language]: :->languages' \ - '(:)*-e+[execute specified line of script]:script' \ - '-i[run interactively]' \ - '*-s+[specify output style]: :->modifiers' \ - '(-e)1:script file:_files' \ -&& ret=0 - -case $state in - languages) - # So far, the three languages specified here are the only ones supported, - # but adding the output of osalang makes this future-proof - _values 'script language' \ - AppleScript JavaScript 'Generic Scripting System' \ - ${(f)"$( _call_program languages command osalang )"} \ - && ret=0 - ;; - modifiers) - _values -S '' 'output modifier flag' \ - 'h[print values in human-readable form]' \ - 's[print values in recompilable source form]' \ - 'e[print script errors to stderr]' \ - 'o[print script errors to stdout]' \ - && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_osc b/result/sw/share/zsh/5.9/functions/_osc deleted file mode 100644 index 3c479aea..00000000 --- a/result/sw/share/zsh/5.9/functions/_osc +++ /dev/null @@ -1,149 +0,0 @@ -#compdef osc -# -# Copyright (C) 2009,2010 Holger Macht <holger@homac.de> -# -# This file is released under the GPLv2. -# -# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html -# -# Toggle verbose completions: zstyle ':completion:*:osc:*' verbose no -# zstyle ':completion:*:osc-subcommand:*' verbose no -# -# Use the variables $ZSH_OSC_BUILD_TARGETS_EXTRA and $ZSH_OSC_PROJECTS_EXTRA to -# extend the list of possible completions in your ~/.zshrc like that: -# export OSC_PROJECTS_EXTRA="Base:System Base:shells" -# -# version 0.2 -# - -OSC_BUILD_TARGETS="openSUSE_12.1 openSUSE_12.2 openSUSE_12.3 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP2" -OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:12.3 openSUSE:12.2 openSUSE:12.1" - -# user defined variables $OSC_BUILD_TARGETS_EXTRA and -# $OSC_PROJECTS_EXTRA can add to the project/build target list -OSC_BUILD_TARGETS="$OSC_BUILD_TARGETS $ZSH_OSC_BUILD_TARGETS_EXTRA" -OSC_PROJECTS="$OSC_PROJECTS $ZSH_OSC_PROJECTS_EXTRA" - -# Main dispatcher - -_osc() { - if (( CURRENT > 2 )) && [[ ${words[2]} != "help" ]]; then - # Remember the subcommand name - local cmd=${words[2]} - # Set the context for the subcommand. - curcontext="${curcontext%:*:*}:osc-subcommand" - # Narrow the range of words we are looking at to exclude `osc' - (( CURRENT-- )) - shift words - # Run the completion for the subcommand - if [ "$cmd" = "submitreq" -o "$cmd" = "sr" ]; then - _osc_cmd_submitreq - elif [ "$cmd" = "getbinaries" ]; then - _osc_cmd_getbinaries - elif [ "$cmd" = "checkout" -o "$cmd" = "co" -o "$cmd" = "branch" ]; then - _osc_cmd_checkout - elif [ "$cmd" = "buildlog" -o "$cmd" = "buildinfo" -o "$cmd" = "bl" ]; then - _osc_cmd_buildlog - else - _osc_cmd_do $cmd - fi - else - local hline - local -a cmdlist - local tag=0 - _call_program help-commands osc help | while read -A hline; do - # start parsing with "commands:" - [[ $hline[1] = "commands:" ]] && tag=1 - # stop parsing at the line starting with "For" - [[ $hline[1] = "For" ]] && tag=0 - [[ $tag = 0 ]] && continue - # all commands have to start with lower case letters - [[ $hline[1] =~ ^[A-Z] ]] && continue - (( ${#hline} < 2 )) && continue - - # ${hline[1]%,} truncates the last ',' - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - _describe -t osc-commands 'osc command' cmdlist - fi -} - -_osc_cmd_getbinaries() { - _arguments \ - '1:PROJECT:( `echo $OSC_PROJECTS` )' \ - '2:PACKAGE:(PACKAGE)' \ - '3:REPOSITORY:( `echo $OSC_BUILD_TARGETS` )' \ - '4:ARCHITECTURE:(i586 x86_64)' -} - -_osc_cmd_checkout() { - _arguments \ - '1:PROJECT:( `echo $OSC_PROJECTS` )' \ - '2:PACKAGE:(PACKAGE)' -} - -_osc_cmd_buildlog() { - _arguments \ - '1:REPOSITORY:( `echo $OSC_BUILD_TARGETS` )' \ - '2:ARCHITECTURE:(i586 x86_64)' -} - -_osc_cmd_submitreq() { - local hline - local -a cmdlist - local tag=0 - _call_program help-commands osc help $cmd | while read -A hline; do - # start parsing from "usage:" - [[ $hline[1] = "usage:" ]] && tag=1 - [[ $tag = 0 ]] && continue - - if [[ $hline[1] =~ ^osc ]]; then - shift hline; shift hline - elif ! [[ $hline[1] =~ ^- ]]; then - # Option has to start with a '-' or 'osc submitrequest' - continue - fi - - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - - done - - _describe -t osc-commands 'osc command' cmdlist -} - - -_osc_cmd_do() { - local hline - local -a cmdlist - local tag=0 - - # only start completion if there's some '-' on the line - if ! [ "$words[2]" = "-" ]; then - _complete - return - fi - - _call_program help-commands osc help $cmd | while read -A hline; do - # start parsing from "Options:" - [[ $hline[1] = "Options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # Option has to start with a '-' - [[ $hline[1] =~ ^- ]] || continue - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - - if [ -n "$cmdlist" ]; then - _describe -t osc-commands 'osc command' cmdlist - else - _complete - fi -} - -# Code to make sure _osc is run when we load it -_osc "$@" - - diff --git a/result/sw/share/zsh/5.9/functions/_other_accounts b/result/sw/share/zsh/5.9/functions/_other_accounts deleted file mode 100644 index 0eaac32c..00000000 --- a/result/sw/share/zsh/5.9/functions/_other_accounts +++ /dev/null @@ -1,3 +0,0 @@ -#compdef talk ntalk ytalk - -_user_at_host -t other-accounts "$@" diff --git a/result/sw/share/zsh/5.9/functions/_otool b/result/sw/share/zsh/5.9/functions/_otool deleted file mode 100644 index c3fc70b9..00000000 --- a/result/sw/share/zsh/5.9/functions/_otool +++ /dev/null @@ -1,47 +0,0 @@ -#compdef otool llvm-otool -# -local opts args files variant curcontext=$context state state_descr line -typeset -A opt_args - -_arguments \ - '-a[display the archive header]' \ - '-S[display the contents of the __.SYMDEF file]' \ - '-f[display the universal headers]' \ - '-h[display the Mach header]' \ - '-l[display the load commands]' \ - '-L[display names and versions of shared libs that the object file uses]' \ - '-D[display just the internal name of shared lib]' \ - '-s[display the contents of the specified section]:segment name: :section name: ' \ - '-t[display the contents of (__TEXT,__text) section]' \ - '-d[display the contents of (__DATA,__data) section]' \ - '-o[display the contents of __OBJC segment]' \ - '-r[display the relocation entries]' \ - '-c[display the argument strings from a core file]' \ - '-I[display the indirect symbol table]' \ - '-T[display the table of contents for a dynamic shared library]' \ - '-R[display the reference table of a dynamic shared library]' \ - '-M[display the module table of dynamic shared library]' \ - '-H[display the two-level namespace hints table]' \ - '-G[display the data in code table]' \ - '-C[display the linker optimization hints]' \ - '-P[print the info_plist section as strings]' \ - '-p[with -t and -v/V: start disassembly from the specified symbol]:symbol name: ' \ - '-v[display verbosely (symbolically) when possible]' \ - '-V[display disassembled operands symbolically]' \ - "-X[don't print leading addresses/headers with disassembly]" \ - '-q[use the llvm disassembler (default)]' \ - '-mcpu=[use the specified cpu for the llvm disassembler]:target:->targets' \ - '-function_offsets[with disassembly, print decimal offset from the last label]' \ - '-j[with disassembly, print opcode bytes]' \ - "-Q[use otool's disassembler]" \ - '-arch[select the specified architecture from a universal file]:arch:(i386 x86_64)' \ - '-m[object file names are not assumed to be in archive(member) syntax]' \ - '(- *)--version[print version of otool]' \ - '*:file:_object_files' && return 0 - -case $state in - targets) - _values "target architecture" "${(z)${(@)${(f)$(_call_program targets - ${~words[1]} --version 2>/dev/null)##*Registered Targets:}/ -*}}" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_pack b/result/sw/share/zsh/5.9/functions/_pack deleted file mode 100644 index ccd1db8f..00000000 --- a/result/sw/share/zsh/5.9/functions/_pack +++ /dev/null @@ -1,16 +0,0 @@ -#compdef pack unpack pcat=unpack - -local expl state line - -case $service in - pack) - _arguments -C \ - '-f[force packing even for files which will not benefit]' \ - '-[show statistics for files]' \ - '*:file to compress:_files -g "^*.z(-.)"' - ;; - unpack) - _description files expl 'compressed file' - _files "$expl[@]" -g '*.z(-.)' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_pandoc b/result/sw/share/zsh/5.9/functions/_pandoc deleted file mode 100644 index b0fff80d..00000000 --- a/result/sw/share/zsh/5.9/functions/_pandoc +++ /dev/null @@ -1,276 +0,0 @@ -#compdef pandoc - -# input or output formats with optional extensions -# required option: -T (input|output) -(( $+functions[_pandoc_format] )) || -_pandoc_format() { - local -a inout expl - zparseopts -D -E - T:=inout - local format=${PREFIX%%(+|-)*} - if compset -P '*(+|-)'; then - local pm=${IPREFIX[-1]} # '+' or '-' - local -a extensions=(${${$(pandoc --list-extensions=$format):#$pm*}#(+|-)}) - _wanted extensions expl 'extension' compadd -S '+' -r '-+ ' -a extensions - else - local -a formats=( $(pandoc --list-$inout[2]-formats) ) - _wanted formats expl 'format' compadd -S '+' -r '-+ ' -a formats - fi -} - -# all supported formats -(( $+functions[_pandoc_all_formats] )) || -_pandoc_all_formats(){ - local -a expl - local -aU formats - formats=( $(pandoc --list-input-formats) $(pandoc --list-output-formats) ) - _wanted formats expl 'format' compadd -a formats -} - -# pdf engine choice -(( $+functions[_pandoc_pdf_engine] )) || -_pandoc_pdf_engine(){ - _alternative \ - 'engines:engine:(pdflatex lualatex xelatex latexmk tectonic wkhtmltopdf weasyprint prince context pdfroff)' \ - 'engine-executables:engine executable:_files -g "*(#q*)"' -} - -# options to pass to --pdf-engine command -(( $+functions[_pandoc_pdf_engine_opts] )) || -_pandoc_pdf_engine_opts(){ - local pdf_engine=${opt_args[--pdf-engine]} - case ${pdf_engine} in - "pdflatex"|"lualatex"|"xelatex"|"xetex"|"latex"|"pdftex"|"tex"|"") - _tex - ;; - *) - _message "Options for ${pdf_engine}" - ;; - esac -} - -# data-dir specified by --data-dir option, or the default dir -_pandoc_default_dir() { - if (( $+opt_args[--data-dir] )); then - echo ${opt_args[--data-dir]:a} - else - # XXX Some versions of pandoc may output two user data directories: - # ~/.local/share/pandoc or ~/.pandoc - # Here we use only the first one. - pandoc --version | sed -ne 's/.*[Uu]ser data directory: \([^ ]*\).*/\1/p' - fi -} - -# template file in $PWD or data-dir/templates/, or URL -(( $+functions[_pandoc_template] )) || -_pandoc_template(){ - # find output format from '-t format' or '-o xxx.format' - local format=${${(v)opt_args[(i)(-t|--to|-w|--write)]}%%(+|-)*} - [[ -z $format ]] && format=${(v)opt_args[(i)(-o|--output)]:e} - local pat="'*'" # or '*.*' ? - [[ -n $format ]] && pat="'*.$format(-.)'" - local template_dir=$(_pandoc_default_dir)/templates - _alternative \ - "local-templates:local template:_files -g $pat" \ - "data-dir-templates:template in data-dir:_files -W $template_dir -g $pat" \ - 'urls: :_urls' -} - -# choose highlight-style -(( $+functions[_pandoc_highlight_style] )) || -_pandoc_highlight_style(){ - _alternative \ - 'styles:style:( $(pandoc --list-highlight-styles) )' \ - 'style-files:style file:_files -g "*.theme(-.)"' -} - -# filter file in $PWD, data-dir/filters/ or $PATH -(( $+functions[_pandoc_filter] )) || -_pandoc_filter(){ - local filters_dir=$(_pandoc_default_dir)/filters - _alternative \ - 'local-filters:local filter:_files' \ - 'data-dir-filters:filter in data-dir:_files -W filters_dir' \ - 'commands: : _command_names -e' -} - -# lua filter in $PWD or data-dir/filters/ -(( $+functions[_pandoc_lua_filter] )) || -_pandoc_lua_filter(){ - local filters_dir=$(_pandoc_default_dir)/filters - _alternative \ - 'local-filters:local filter:_files -g "*.lua(-.)"' \ - 'data-dir-filters:filter in data-dir:_files -W filters_dir -g "*.lua(-.)"' -} - -# default file in $PWD or data-dir/defaults/ -(( $+functions[_pandoc_defaults_file] )) || -_pandoc_defaults_file() { - local defaults_dir=$(_pandoc_default_dir)/defaults - _alternative \ - 'local-defaults:default file:_files -g "*.yaml(-.)"' \ - 'data-dir-defaults:default in data-dir:_files -W defaults_dir -g "*.yaml(-.)"' -} - -# choose reference location -(( $+functions[_pandoc_reference_location] )) || -_pandoc_reference_location(){ - local -a policies - policies=( - 'block:place references at the end of the current (top-level) block' - 'section:place references at the end of the current (top-level) section' - 'document:place references at the end of the document' - ) - _describe 'location' policies -} - -# choose top level division -(( $+functions[_pandoc_top_level_division] )) || -_pandoc_top_level_division(){ - _values 'top level division' default section chapter part -} - -# choose email obfusication -(( $+functions[_pandoc_email_obfusication] )) || -_pandoc_email_obfusication(){ - local -a policies - policies=( - 'none:leave mailto: links as they are' - 'javascript:obfuscates them using JavaScript' - 'references:obfuscates them by printing their letters as decimal or hexadecimal character references' - ) - _describe 'obfuscation policy [none]' policies -} - -# choose wrapping policy -(( $+functions[_pandoc_wrap] )) || -_pandoc_wrap() { - local -a policies - policies=( - 'auto:wrap lines to the column width specified by --columns (default 72)' - "none:don't wrap lines at all" - 'preserve:attempt to preserve the wrapping from the source document' - ) - _describe 'policy [auto]' policies -} - -# choose eol policy -(( $+functions[_pandoc_eol] )) || -_pandoc_eol() { - local -a policies - policies=( - 'native:line endings appropriate to the OS on which pandoc is being run' - 'crlf:windows' - 'lf:macOS/Linux/UNIX' - ) - _describe 'policy' policies -} - -# choose changes tracking policy -(( $+functions[_pandoc_track_changes] )) || -_pandoc_track_changes() { - local -a policies - policies=( - 'accept:insert all insertions, and ignore all deletions' - 'reject:inserts all deletions and ignores insertions' - 'all:puts in insertions, deletions, and comments, wrapped in spans with insertion, deletion, comment-start, and comment-end classes, respectively' - ) - _describe 'policy [accept]' policies -} - -# The real thing -_arguments -s \ - {-f+,-r+,--from=,--read=}'[specify input format]: :_pandoc_format -T input' \ - {-t+,-w+,--to=,--write=}'[specify output format]: :_pandoc_format -T output' \ - {-o+,--output=}'[write output to FILE instead of stdout]:file:_files' \ - '--data-dir=[specify the user data directory to search for pandoc data files]:data directory:_files -/' \ - {-d+,--defaults=}'[read default from YAML file]: :_pandoc_defaults_file' \ - '--shift-heading-level-by=[shift heading levels by specified number]:positive or negative integer: ' \ - '!--base-header-level=:number [1]:(1 2 3 4 5)' \ - '!--strip-empty-paragraphs[deprecated. Use the +empty_paragraphs extension instead]' \ - '--indented-code-classes=[classes to use for indented code blocks]:class list (comma-separated)' \ - '--default-image-extension=[specify a default extension to use when image paths/URLs have no extension]:extension: ' \ - '--file-scope[parse each file individually before combining for multifile documents]' \ - {\*-F+,\*--filter=}'[specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written]: :_pandoc_filter' \ - {\*-L+,\*--lua-filter=}"[transform the document by using pandoc's built-in lua filtering system]: :_pandoc_lua_filter" \ - {\*-M+,\*--metadata=}'[set the metadata field KEY to the value VALUE]:key\:value: ' \ - '*--metadata-file=[read metadata from file]:YAML or JSON file:_files' \ - {-p,--preserve-tabs}'[preserve tabs instead of converting them to spaces]' \ - '--tab-stop=[specify the number of spaces per tab]:spaces [4]' \ - '--track-changes=[specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature]: :_pandoc_track_changes' \ - '--extract-media=[extract media in source document to specified directory]:directory:_files -/' \ - '--abbreviations=[specifies a custom abbreviations file]:file:_files ' \ - {-s,--standalone}'[produce output with an appropriate header and footer]' \ - '--template=[use FILE as a custom template for the generated document. Implies --standalone]: :_pandoc_template' \ - {\*-V+,\*--variable=}'[set the variable KEY to the value VALUE]:key\:value: ' \ - '(- :)'{-D+,--print-default-template=}'[print the system default template for an output]:format:( $(pandoc --list-output-formats) )' \ - '(- :)--print-default-data-file=[print a system default data file]:file: ' \ - '--eol=[manually specify line endings (crlf|lf|native)]: :_pandoc_eol' \ - '--dpi=[specify the dpi (dots per inch) value for conversion from pixels to inch/centimeters and vice versa]:number: ' \ - '--wrap=[determine how text is wrapped in the output (the source code, not the rendered version)]: :_pandoc_wrap ' \ - '--columns=[specify length of lines in characters]:length [72]' \ - {--toc,--table-of-contents}'[include an automatically generated table of contents]' \ - '--toc-depth=[specify the number of section levels to include in the table of contents]:number' \ - '--strip-comments[strip out HTML comments in the Markdown or Textile source]' \ - '--no-highlight[disables syntax highlighting for code blocks and inlines]' \ - '--highlight-style=[specifies the coloring style to be used in highlighted source code]:style|file:_pandoc_highlight_style' \ - '(- :)--print-highlight-style=[prints a JSON version of a highlighting style]: :_pandoc_highlight_style' \ - '--syntax-definition=[load a KDE XML syntax definition file]:file:_files -g "*.xml(-.)"' \ - {\*-H+,\*--include-in-header=}'[include contents of FILE, verbatim, at the end of the header, implies --standalone]:file:_files' \ - {\*-B+,\*--include-before-body=}'[include contents of FILE, verbatim, at the beginning of the document body, implies --standalone]:file:_files' \ - {\*-A+,\*--include-end-body=}'[include contents of FILE, verbatim, at the end of the document body, implies --standalone]:file:_files' \ - '--resource-path=[list of paths to search for images and other resources]:searchpath:_dir_list' \ - '--request-header=[set the request header NAME to the value VAL when making HTTP requests]:name\:val: ' \ - '--no-check-certificate[disable the certificate verification]' \ - '--self-contained[produce a standalone HTML file with no external dependencies, using data: URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. Implies --standalone]' \ - '--html-q-tags[use <q> tags for quotes in HTML]' \ - '--ascii[use only ASCII characters in output, supported only for HTML and DocBook output]' \ - '--reference-links[use reference-style links, rather than inline links]' \ - '--reference-location=[specify where footnotes (and references, if reference-links is set) are placed (block|section|document)]: :_pandoc_reference_location' \ - '--markdown-headings[specify style for level1 and 2 headings in markdown output]:style [atx]:(setext atx)' \ - '!--atx-headers[use ATX-style headers in Markdown and AsciiDoc output]' \ - '--top-level-division=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output]: :_pandoc_top_level_division' \ - {-N,--number-sections}'[number section headings in LaTeX, ConTeXt, HTML, or EPUB output]' \ - '--number-offset=[offset for section headings in HTML output (ignored in other output formats)]:number[number,...] [0]' \ - '--listings[use the listings package for LaTeX code blocks]' \ - {-i,--incremental}'[make list items in slide shows display incrementally (one by one)]' \ - '--slide-level=[specifies that headers with the specified level create slides (for beamer, s5, slidy, slideous, dzslides)]:slide level:(1 2 3 4 5 6)' \ - '--section-divs[wrap sections in <section> tags (or <div> tags for html4)Use the section-divs package for LaTeX code blocks]' \ - '--email-obfusication=[treat top-level headers as the given division type in LaTeX, ConTeXt, DocBook, and TEI output (none|javascript|references)]: :_pandoc_email_obfusication' \ - '--id-prefix=[specify a prefix to be added to all identifiers and internal links in HTML and DocBook output]:string: ' \ - {-T+,--title-prefix=}'[specify STRING as a prefix at the beginning of the title that appears in the HTML header]:string: ' \ - {\*-c+,\*--css=}'[link to a CSS style sheet]: :_urls' \ - '--reference-doc=[use the specified file as a style reference in producing a docx or ODT file]:file: ' \ - '--epub-subdirectory=[specify the subdirectory in the OCF container that is to hold the EPUB-specific contents]:directory:_files -/' \ - '--epub-cover-image=[use the specified image as the EPUB cover]:file:_files' \ - '--epub-metadata=[look in the specified XML file for metadata for the EPUB]:file:_files -g "*.xml(-.)"' \ - '*--epub-embed-font=[embed the specified font in the EPUB]:file:_files ' \ - '--epub-chapter-level=[specify the header level at which to split the EPUB into separate "chapter" files]:number:(1 2 3 4 5 6)' \ - '--ipynb-output=[specify how to tread ipynb output cells]:method:(all none best)' \ - '--pdf-engine=[use the specified engine when producing PDF output]:program:_pandoc_pdf_engine' \ - '*--pdf-engine-opt=[use the given string as a command-line argument to the pdf-engine]:string:_pandoc_pdf_engine_opts' \ - "*--bibliography=[set the bibliography field in the document's metadata to specified file]:file:_files -g '*.(bib|bibtex|copac|json|yaml|enl|xml|wos|medline|mods|ris)(-.)'" \ - "--csl=[set the csl field in the document's metadata to specified file]:file:_files -g '*.csl(-.)'" \ - '--citation-abbreviations=[set the citation-abbreviations field in the document'"'"'s metadata to FILE]:file:_files' \ - '--natbib[use natbib for citations in LaTeX output]' \ - '--biblatex[use biblatex for citations in LaTeX output]' \ - '--mathml[convert TeX math to MathML (in epub3, docbook4, docbook5, jats, html4 and html5)]' \ - '--webtex=[convert TeX formulas to <img> tags that link to an external script that converts formulas to images]:: :_urls' \ - '--mathjax=[use MathJax to display embedded TeX math in HTML output]:: :_urls' \ - '--katex=[use KaTeX to display embedded TeX math in HTML output]:: :_urls' \ - '--gladtex[Enclose TeX math in <eq> tags in HTML output]' \ - '--trace[enable tracing]' \ - '--dump-args[print information about command-line arguments to stdout, then exit]' \ - '--ignore-args[ignore command-line arguments (for use in wrapper scripts)]' \ - '--verbose[give verbose debugging output]' \ - '--quiet[suppress warning messages]' \ - '--fail-if-warnings[exit with error status if there are any warnings]' \ - '--log=[write log messages in machine-readable JSON format to FILE]:file:_files' \ - '(- :)--bash-completion[generate a bash completion script]' \ - '(- :)--list-input-formats[list supported input formats, one per line]' \ - '(- :)--list-output-formats[list supported output formats, one per line]' \ - '(- :)--list-extensions=[list supported extensions, one per line, preceded by a + or - indicating whether it is enabled by default in FORMAT]:format:_pandoc_all_formats' \ - '(- :)--list-highlight-languages[list supported languages for syntax highlighting, one per line]' \ - '(- :)--list-highlight-styles[list supported styles for syntax highlighting, one per line]' \ - '(- :)'{-v,--version}'[print version]' \ - '(- :)'{-h,--help}'[print help]' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_parameter b/result/sw/share/zsh/5.9/functions/_parameter deleted file mode 100644 index 7e778853..00000000 --- a/result/sw/share/zsh/5.9/functions/_parameter +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -parameter- - -_parameters -e diff --git a/result/sw/share/zsh/5.9/functions/_parameters b/result/sw/share/zsh/5.9/functions/_parameters deleted file mode 100644 index b5da45c5..00000000 --- a/result/sw/share/zsh/5.9/functions/_parameters +++ /dev/null @@ -1,59 +0,0 @@ -#autoload - -# This should be used to complete parameter names if you need some of the -# extra options of compadd. It completes only non-local parameters. - -# If you specify a -g option with a pattern, the pattern will be used to -# restrict the type of parameters matched. - -if compset -P '*:'; then - _history_modifiers p - return -fi - -local i pfilt -local -i nm=$compstate[nmatches] -local -a expl pattern=( -g \* ) normal described verbose faked fakes tmp - -zstyle -t ":completion:${curcontext}:parameters" prefix-needed && - [[ $PREFIX != [_.]* ]] && - pfilt='[^_.]' -_description parameters expl parameter -zparseopts -D -K -E g:=pattern - -if zstyle -t ":completion:${curcontext}:parameters" extra-verbose; then - described=( - "${(@M)${(@k)parameters[(R)$~pattern[2]~*(hideval|local|special)*]}:#$~pfilt*}" - ) - compadd "$@" "$expl[@]" -D described -a - described - if (( $#described )); then - # Normally, calling typeset without flags would print the values of its - # arguments. However, inside a function, it instead declare its arguments - # as local variables and outputs nothing. Thus, to force it print out - # parameter values, we pass it the -m flag. - verbose=( - ${${${(f@)"$( typeset -m ${(@b)described} )"}/=/:}[@]//'\'/'\\'} - ) - _describe -t parameters parameter verbose "$@" "$expl[@]" - fi - - normal=( - "${(@M)${(@k)parameters[(R)$~pattern[2]~^(*(hideval|special)*)~*local*]}:#$~pfilt*}" - ) -else - normal=( "${(@M)${(@k)parameters[(R)$~pattern[2]~*local*]}:#$~pfilt*}" ) -fi - -if zstyle -a ":completion:${curcontext}:" fake-parameters tmp; then - for i in "$tmp[@]"; do - if [[ "$i" = *:* ]]; then - faked=( "$faked[@]" "$i" ) - else - fakes=( "$fakes[@]" "$i" ) - fi - done -fi -compadd "$@" "$expl[@]" - "$normal[@]" "${(@)fakes:|described}" \ - "${(@)${(@)${(@M)faked:#${~pattern[2]}}%%:*}:|described}" - -(( compstate[nmatches] > nm )) diff --git a/result/sw/share/zsh/5.9/functions/_paste b/result/sw/share/zsh/5.9/functions/_paste deleted file mode 100644 index d9598bfe..00000000 --- a/result/sw/share/zsh/5.9/functions/_paste +++ /dev/null @@ -1,19 +0,0 @@ -#compdef paste gpaste - -local -a args -local dopt='[specify delimiter list]:delimiter list [tab]' -local sopt='[paste one file at a time instead of in parallel]' - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter instead of newline]' - "(-d)--delimiters=$dopt" - "(-s)--serial$sopt" - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) -else - args=( -A "-?*" ) -fi - -_arguments -s $args "(--delimiters)-d+$dopt" "(--serial)-s$sopt" '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_patch b/result/sw/share/zsh/5.9/functions/_patch deleted file mode 100644 index c2725d46..00000000 --- a/result/sw/share/zsh/5.9/functions/_patch +++ /dev/null @@ -1,133 +0,0 @@ -#compdef patch gpatch - -if (( ! $+_patch_args )); then - local help="$(LC_ALL=C $words[1] --help 2>&1)" - local -A optionmap - local arg - local comp_p='compadd "$expl[@]" -S0 -r "1-9" - ""' - - [[ "$help" = *--[^h]* || "$help" = *\[-c\|-e\|-n\]* ]] && arg=+ - - optionmap=( - '*( -p NUM[, ]|\[-p (num|strip-count)\])*' '(--strip)-p+[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - '*\[--strip\[=strip-count\]\]*' '(-p)--strip=-[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - '* --strip=NUM[, ]*' '(-p)--strip=[number of path prefix components to strip]:number of path prefix components to strip:'"{$comp_p}" - - '*\[-Fmax-fuzz\]*' '(--fuzz)-F-[specify the maximum fuzz factor]:maximum fuzz factor:' - '*(\[-F max-fuzz\]| -F LINES[, ])*' '(--fuzz)-F+[specify the maximum fuzz factor]:maximum fuzz factor:' - '*(\[--fuzz=max-fuzz\]| --fuzz( |=)LINES[, ])*' '(-F)--fuzz=[specify the maximum fuzz factor]:maximum fuzz factor:' - - '*(\[-[a-zA-Z]#l[a-zA-Z]#\]| -l[, ])*' '(--ignore-whitespace)-l[ignore white space changes]' - '*(\[--ignore-whitespace\]| --ignore-whitespace[, ])*' '(-l)--ignore-whitespace[ignore white space changes]' - - '*(\[-[a-zA-Z]#c[a-zA-Z]#\]| -c[, ]|\[-c\|)*' '( -e -n -u --context --ed --normal --unified)-c[interpret context diff]' - '*(\[-[a-zA-Z]#e[a-zA-Z]#\]| -e[, ]|\|-e\|)*' '(-c -n -u --context --ed --normal --unified)-e[interpret ed script]' - '*(\[-[a-zA-Z]#n[a-zA-Z]#\]| -n[, ]|\|-n\])*' '(-c -e -u --context --ed --normal --unified)-n[interpret normal diff]' - '*(\[-[a-zA-Z]#u[a-zA-Z]#\]| -u[, ])*' '(-c -e -n --context --ed --normal --unified)-u[interpret unified diff]' - '*(\[--context\]| --context[, ])*' '(-c -e -n -u --ed --normal --unified)--context[interpret context diff]' - '*(\[--ed\]| --ed[, ])*' '(-c -e -n -u --context --normal --unified)--ed[interpret ed script]' - '*(\[--normal\]| --normal[, ])*' '(-c -e -n -u --context --ed --unified)--normal[interpret normal diff]' - '*(\[--unified\]| --unified[, ])*' '(-c -e -n -u --context --ed --normal )--unified[interpret unified diff]' - - '*(\[-[a-zA-Z]#N[a-zA-Z]#\]| -N[, ])*' '(--forward)-N[ignore reverse patches]' - '*(\[--forward\]| --forward[, ])*' '(-N)--forward[ignore reverse patches]' - '*(\[-[a-zA-Z]#R[a-zA-Z]#\]| -R[, ])*' '(--reverse)-R[reverse mode]' - '*(\[--reverse\]| --reverse[, ])*' '(-R)--reverse[reverse mode]' - - '*(\[-i patchfile\]| -i PATCHFILE[, ])*' '*-i+[specify input patch file]:patch file:_files' - '* --input=PATCHFILE[, ]*' '*--input=[specify input patch file]:patch file:_files' - - '*(\[-o out-file\]| -o FILE[, ]|\[-o outfile\])*' "(--output)-o${arg}[output file]:output file:_files" - '*(\[--output=out-file\]| --output=FILE[, ])*' '(-o)--output=[output file]:output file:_files' - '*(\[-r rej-name\]| -r FILE[, ]|\[-r rejectfile\])*' "(--reject-file)-r${arg}[reject file]:reject file:_files" - '*(\[--reject-file=rej-name\]| --reject-file=FILE[, ])*' '(-r)--reject-file=[reject file]:reject file:_files' - - '*(\[-D symbol\]| -D NAME[, ]|\[-D define\])*' '(--ifdef)-D+[cpp symbol]:symbol:' - '*(\[--ifdef=symbol\]| --ifdef=NAME[, ])*' '(-D)--ifdef=[cpp symbol]:symbol:' - - '* --merge*' '(--reject-file --reject-format -r)--merge[merge using conflict markers instead of creating reject files]' - - '*(\[-[a-zA-Z]#E[a-zA-Z]#\]| -E[, ])*' '(--remove-empty-files)-E[remove empty files]' - '*(\[--remove-empty-files\]| --remove-empty-files[, ])*' '(-E)--remove-empty-files[remove empty files]' - - '* -Z[, ]*' '( -T --set-utc --set-time)-Z[assume timestamp as UTC]' - '* -T[, ]*' '(-Z --set-utc --set-time)-T[assume timestamp as local time]' - '* --set-utc[, ]*' '(-Z -T --set-time)--set-utc[assume timestamp as UTC]' - '* --set-time[, ]*' '(-Z -T --set-utc )--set-time[assume timestamp as local time]' - - '* --quoting-style=WORD[, ]*' '--quoting-style=[quoting style]:quoting style:(literal shell shell-always c escape)' - - '*(\[-[a-zA-Z]#b[a-zA-Z]#\]| -b[, ])*' '(--backup)-b[backup original]' - '* --backup[, ]*' '(-b)--backup[backup original]' - '* --backup-if-mismatch[, ]*' '(--no-backup-if-mismatch)--backup-if-mismatch[back up if not match exactly]' - '* --no-backup-if-mismatch[, ]*' '(--backup-if-mismatch)--no-backup-if-mismatch[back up only if otherwise requested]' - - '*(\[-V {numbered,existing,simple}\]| -V STYLE[, ])*' "(--version-control)-V${arg}[backup method]:backup method:(numbered existing simple)" - '*\[-V t \| nil \| never\]*' '(-B)-V+[specify backup method]:backup method:((t\:numbered nil\:existing never\:simple))' - '*(\[--version-control={numbered,existing,simple}\]| --version-control=STYLE[, ])*' '(-V)--version-control=[backup method]:backup method:(numbered existing simple)' - - '*(\[-B backup-prefix\]| -B PREFIX[, ])*' "(--prefix)-B${arg}[specify backup prefix]:backup prefix:" - '*(\[--prefix=backup-prefix\]| --prefix=PREFIX[, ])*' '(-B)--prefix=[specify backup prefix]:backup prefix:' - '* -Y PREFIX[, ]*' '(--basename-prefix)-Y+[specify backup basename prefix]:backup basename prefix:' - '* --basename-prefix=PREFIX[, ]*' '(-Y)--basename-prefix=[specify backup basename prefix]:backup basename prefix:' - '*\[-b backup-ext\]*' "( -z --suffix)-b${arg}[specify backup suffix]:backup suffix:(.bak)" - '*\[-z backup-ext\]*' '(--suffix)-z+[specify backup suffix]:backup suffix [.orig]:(.bak)' - '* -z SUFFIX[, ]*' '(-b --suffix)-z+[specify backup suffix]:backup suffix:(.bak)' - '*(\[--suffix=backup-ext\]| --suffix=SUFFIX[, ])*' '(-b -z )--suffix=[specify backup suffix]:backup suffix:(.bak)' - - '* -g NUM[, ]*' '(--get)-g+[get from RCS etc.]:number:((1\:get -1\:ask))' - '* --get=NUM[, ]*' '(-g)--get=[get from RCS etc.]:number:((1\:get -1\:ask))' - - '* -g --get *' '(-G --get --no-get)-g[get from RCS or SCCS] -(-g -G --no-get)--get[get from RCS or SCCS]' - '* -G --no-get *' '(-g --get --no-get)-G[don'\''t get from RCS or SCCS] -(-g -G --get)--no-get[don'\''t get from RCS or SCCS]' - - '*(\[-[a-zA-Z]#f[a-zA-Z]#\]| -f[, ])*' '( -t --force --batch)-f[force mode]' - '*(\[-[a-zA-Z]#t[a-zA-Z]#\]| -t[, ])*' '(-f --force --batch)-t[batch mode]' - '*(\[--force\]| --force[, ])*' '(-f -t --batch)--force[force mode]' - '*(\[--batch\]| --batch[, ])*' '(-f -t --force )--batch[batch mode]' - - '*(\[-[a-zA-Z]#s[a-zA-Z]#\]| -s[, ])*' '( --quiet --silent)-s[silent mode]' - '*(\[--quiet\]| --quiet[, ])*' '(-s --silent)--quiet[silent mode]' - '*(\[--silent\]|--silent[, ])*' '(-s --quiet )--silent[silent mode]' - - '* --verbose[, ]*' '--verbose[verbose mode]' - - '*(\[-[a-zA-Z]#C[a-zA-Z]#\])*' '(--check)-C[only check that the patch would apply cleanly]' - '*\[--check\]*' '(-C)--check[only check that the patch would apply cleanly]' - '* --dry-run[, ]*' '--dry-run[only check that the patch would apply cleanly]' - - '*--posix*' '--posix[POSIX mode]' - - '*(\[-d directory\]| -d DIR[, ]|\[-d dir\])*' '(--directory)-d+[change the working directory]:chdir to:_files -/' - '*(\[--directory=directory\]| --directory=DIR[, ])*' '(-d)--directory=[change the working directory]:chdir to:_files -/' - - '* --reject-format=*' '--reject-format=[specify format of rejects]:format:(context unified)' - '* --read-only=*' '--read-only=[specify how to handle read-only input files]:behaviour [warn]: (ignore warn fail)' - - '* --binary[, ]*' '--binary[binary mode]' - - '*(\[-[a-zA-Z]#v[a-zA-Z]#\]| -v[, ])*' '(-)-v[print version]' - '*(\[--version\]| --version[, ])*' '(-)--version[print version]' - '* --help[, ]*' '(-)--help[print help message]' - - '*\[-[a-zA-Z]#S[a-zA-Z]#\]*' '*-S[ignore this patch]' - '*\[--skip\]*' '*--skip[ignore this patch]' - - '*\[--index-first\]*' '--index-first[take Index: line precedence]' - - '* --use-index-line *' '--use-index-line[deal with Index: line]' - '* --patch-root=DIR *' '--patch-root=[restrict paths]:patch root:_files -/' - - '* -U *' '(--unified-reject-files)-U[create unified reject files]' - '* --unified-reject-files *' '(-U)--unified-reject-files[create unified reject files]' - '* --global-reject-file=file *' '--global-reject-file=[put all rejects into one file]:file:_files' - ) - _patch_args=( - ${arg:+"-s"} - ${(fF)optionmap[(K)"$help"]} - ) -fi - -_arguments "${(@)_patch_args}" ':original file:_files' ':patch file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_patchutils b/result/sw/share/zsh/5.9/functions/_patchutils deleted file mode 100644 index a5f6441b..00000000 --- a/result/sw/share/zsh/5.9/functions/_patchutils +++ /dev/null @@ -1,107 +0,0 @@ -#compdef combinediff interdiff filterdiff flipdiff grepdiff lsdiff splitdiff unwrapdiff - -local args -args=( - '(-)--help[display help information]' - '(-)--version[display version information]' -) - -case $service in - (inter|combine|filter|flip|ls|grep)diff) - args+=( - '(-p --strip-match=)'{-p,--strip-match=}'[specify number of path prefix components to strip]:number of path prefix components to strip' - '(-z --decompress)'{-z,--decompress}'[decompress .gz and .bz2 files]' - ) - ;| - interdiff|combinediff|flipdiff) - args+=( - '(-q --quiet)'{-q,--quiet}'[quieter output]' - '(-U --unified)'{-U,--unified=}'[specify lines of context to include]:lines of context' - \*{-d,--drop-context=}"[don't include context on files matching pattern]:pattern:_files" - '(-w --ignore-all-space)'{-w,--ignore-all-space}'[ignore all whitespace changes in patches]' - '(-B --ignore-blank-lines)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore case differences]' - '(-b --ignore-space-change)'{-b,--ignore-space-change}'[ignore changes in the amount of whitespace]' - '!(--in-place)--interpolate' '!-h' - '!(--no-revert-omitted --in-place)--combinediff' - '!(--no-revert-omitted)--flip' - '1:diff 1:_files' '2:diff 2:_files' - ) - ;| - interdiff) - args+=( - "--no-revert-omitted[don't revert files changed in only the first patch]" - ) - ;; - flipdiff) args+=( '--in-place[write output to original input files]' ) ;; - filterdiff|grepdiff|lsdiff) - args+=( - '(-i --include)'{-i,--include}'[include only files matching pattern]:pattern:_files' - '(-x --exclude)'{-x,--exclude}'[exclude files matching pattern]:pattern:_files' - '(-# --hunks)'{-#+,--hunks=}'[only list hunks within specified range]:range' - '--lines=[only list hunks containing lines within specified range]:range' - '(-F --files)'{-F+,--files=}'[only list files within specified range]:range' - '--strip=[remove specified number of pathname components before displaying]:components' - '--addprefix=[insert specified path prefix before displaying path names]:prefix:_directories' - '*:diff file:_files' - ) - ;| - grepdiff|lsdiff) - args+=( - '(-n --line-number)'{-n,--line-number}'[show line number at which each patch begins]' - '(-N --number-files)'{-N,--number-files}'[show file number before each filename]' - '(-s --status)'{-s,--status}'[mark added, modified and removed files]' - ) - ;| - lsdiff) - args+=( - '(-E --empty-files-as-removed)'{-E,--empty-files-as-removed}'[treat empty files as absent]' - \*{-v,--verbose}'[verbose operation]' - '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print the name of the patch file containing each patch]' - '!--filter' '!--grep' - ) - ;; - grepdiff|filterdiff) - args+=( - '(-I --include-from-file)'{-I+,--include-from-file=}'[include only files matching pattern listed in specified file]:file:_files' - '--annotate[annotate each hunk with the filename and hunk number]' - '--format=[use specified output format]:format:(unified context)' - '--addnewprefix=[insert specified path prefix before new file path names]:prefix:_directories' - '--addoldprefix=[insert specified path prefix before original file path names]:prefix:_directories' - '--as-numbered-lines=[display lines of selected hunks]:line numbers:(before after)' - "--remove-timestamps[don't include timestamps in output]" - ) - ;| - filterdiff) - args+=( - '(-X --exclude-from-file)'{-X+,--exclude-from-file=}'[exclude files matching any pattern listed in specified file]:file:_files' - '(-v --verbose --clean)'{-v,--verbose}'[always show non-diff lines in output]' - '(-v --verbose)--clean[always remove all non-diff lines from output]' - ) - ;; - grepdiff) - args+=( - '(-E --extended-regexp)'{-E,--extended-regexp}'[use extended regular expressions]' - '(-H --with-filename -h --no-filename)'{-h,--no-filename}"[don't print the name of the patch file containing each patch]" - '(-f --file)'{-f+,--file=}'[read regular expressions from file]:file:_files' - '--output-matching=[display the matching hunk- or file-level diffs]:level:(hunk file)' - '--only-match=[restrict regex to matching removals, additions or modifications]:limit:(rem removals add additions mod modifications all)' - ) - ;; - splitdiff) - args+=( - '-a[split every single file level patch]' - '-d[create file names such as a_b.c.patch for a patch that modifies a/b.c]' - '-D[write output files into specified directory]:_directories' - '-p[specify number of path prefix components to strip]:number of path prefix components to strip' - "-E[don't use .patch filename extension when writing output files]" - '1:diff file:_files' - ) - ;; - unwrapdiff) - args+=( '-v[verbose operation]' '*:diff file:_files' ) - ;; -esac - -_arguments -s $args - diff --git a/result/sw/share/zsh/5.9/functions/_path_commands b/result/sw/share/zsh/5.9/functions/_path_commands deleted file mode 100644 index 4d5a6c5a..00000000 --- a/result/sw/share/zsh/5.9/functions/_path_commands +++ /dev/null @@ -1,105 +0,0 @@ -#autoload - -(( $+functions[_path_commands_caching_policy] )) || -_path_commands_caching_policy() { - -local file -local -a oldp dbfiles - -# rebuild if cache is more than a week old -oldp=( "$1"(Nmw+1) ) -(( $#oldp )) && return 0 - -dbfiles=(/usr/share/man/index.(bt|db|dir|pag)(N) \ - /usr/man/index.(bt|db|dir|pag)(N) \ - /var/cache/man/index.(bt|db|dir|pag)(N) \ - /var/catman/index.(bt|db|dir|pag)(N) \ - /usr/share/man/*/whatis(N)) - -for file in $dbfiles; do - [[ $file -nt $1 ]] && return 0 -done - -return 1 -} - -_call_whatis() { - case "$(whatis --version)" in - ("whatis from "*) - local -A args - zparseopts -D -A args s: r: - apropos "${args[-r]:-"$@"}" | fgrep "($args[-s]" - ;; - (*) whatis "$@";; - esac -} - -_path_commands() { -local need_desc expl ret=1 - -if zstyle -t ":completion:${curcontext}:" extra-verbose; then - local update_policy first - if [[ $+_command_descriptions -eq 0 ]]; then - first=yes - typeset -A -g _command_descriptions - fi - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" \ - cache-policy _path_commands_caching_policy - if ( [[ -n $first ]] || _cache_invalid command-descriptions ) && \ - ! _retrieve_cache command-descriptions; then - local line - for line in "${(f)$(_call_program command-descriptions _call_whatis -s 1 -r .\\\*\; _call_whatis -s 6 -r .\\\* 2>/dev/null)}"; do - [[ -n ${line:#(#b)([^ ]#) #\([^ ]#\)( #\[[^ ]#\]|)[ -]#(*)} ]] && continue; - [[ -z $match[1] || -z $match[3] || -z ${${match[1]}:#*:*} ]] && continue; - _command_descriptions[$match[1]]=$match[3] - done - _store_cache command-descriptions _command_descriptions - fi - - (( $#_command_descriptions )) && need_desc=yes -fi - -if [[ -n $need_desc ]]; then - typeset -a dcmds descs cmds matches - local desc cmd sep - compadd "$@" -O matches -k commands - for cmd in $matches; do - desc=$_command_descriptions[$cmd] - if [[ -z $desc ]]; then - cmds+=$cmd - else - dcmds+=$cmd - descs+="$cmd:$desc" - fi - done - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a descs " $sep " $descs - descs=("${(@r:COLUMNS-1:)descs}") - _wanted commands expl 'external command' \ - compadd "$@" -ld descs -a dcmds && ret=0 - _wanted commands expl 'external command' compadd "$@" -a cmds && ret=0 -else - _wanted commands expl 'external command' compadd "$@" -k commands && ret=0 -fi -# TODO: this is called from '_command_names -e' which is typically used in -# contexts (such as _env) that don't accept directory names. Should this -# 'if' block move up to the "_command_names -" branch of _command_names? -if [[ -o path_dirs ]]; then - local -a path_dirs - - if [[ $PREFIX$SUFFIX = */* ]]; then - path_dirs=( ${path:#.} ) - # Find command from path, not hashed - _wanted commands expl 'external command' _path_files -W path_dirs -g '*(-*)' && ret=0 - else - path_dirs=(${^path}/*(/N:t)) - (( ${#path_dirs} )) && - _wanted path-dirs expl 'directory in path' compadd "$@" -S / -a path_dirs && ret=0 - fi -fi - -return ret -} - -_path_commands "$@" diff --git a/result/sw/share/zsh/5.9/functions/_path_files b/result/sw/share/zsh/5.9/functions/_path_files deleted file mode 100644 index d46dcbe5..00000000 --- a/result/sw/share/zsh/5.9/functions/_path_files +++ /dev/null @@ -1,895 +0,0 @@ -#autoload - -local -a match mbegin mend - -local splitchars -if zstyle -s ":completion:${curcontext}:" file-split-chars splitchars; then - compset -P "*[${(q)splitchars}]" -fi - -# Look for glob qualifiers. Do this first: if we're really -# in a glob qualifier, we don't actually want to expand -# the earlier part of the path. We can't expand inside -# parentheses otherwise, so as we test that successfully -# we should be able to commit to glob qualifiers here. -# -# Extra nastiness to be careful about a quoted parenthesis. -# The initial tests look for parentheses with zero or an -# even number of backslashes in front. We also require that -# there was at least one character before the parenthesis for -# a bare glob qualifier. -# The later test looks for an outstanding quote. -if _have_glob_qual $PREFIX; then - local ret=1 - compset -p ${#match[1]} - compset -S '[^\)\|\~]#(|\))' - if [[ $_comp_caller_options[extendedglob] == on ]] && compset -P '\#'; then - _globflags && ret=0 - else - if [[ $_comp_caller_options[extendedglob] == on ]]; then - local -a flags - flags=( - '#:introduce glob flag' - ) - _describe -t globflags "glob flag" flags -Q -S '' && ret=0 - fi - _globquals && ret=0 - fi - return ret -fi - -# Utility function for in-path completion. This allows `/u/l/b<TAB>' -# to complete to `/usr/local/bin'. - -local linepath realpath donepath prepath testpath exppath skips skipped -local tmp1 tmp2 tmp3 tmp4 i orig eorig pre suf tpre tsuf opre osuf cpre -local pats haspats ignore pfx pfxsfx sopt gopt opt sdirs ignpar cfopt listsfx -local nm=$compstate[nmatches] menu matcher mopts sort mid accex fake -local listfiles listopts tmpdisp origtmp1 Uopt -local accept_exact_dirs path_completion -integer npathcheck -local -a Mopts - -typeset -U prepaths exppaths - -exppaths=() - -# Get the options. - -zparseopts -a mopts \ - 'P:=pfx' 'S:=pfxsfx' 'q=pfxsfx' 'r:=pfxsfx' 'R:=pfxsfx' \ - 'W:=prepaths' 'F:=ignore' 'M+:=matcher' \ - J+: V+: x+: X+: 1 2 o+: n 'f=tmp1' '/=tmp1' 'g+:-=tmp1' - -sopt="-${(@j::M)${(@)tmp1#-}#?}" -(( $tmp1[(I)-[/g]*] )) && haspats=yes -(( $tmp1[(I)-g*] )) && gopt=yes -if (( $tmp1[(I)-/] )); then - pats="${(@)${(@M)tmp1:#-g*}#-g}" - pats=( '*(-/)' ${${(z):-x $pats}[2,-1]} ) -else - pats="${(@)${(@M)tmp1:#-g*}#-g}" - pats=( ${${(z):-x $pats}[2,-1]} ) -fi -pats=( "${(@)pats:# #}" ) - -if (( $#pfx )); then - compset -P "${(b)pfx[2]}" || pfxsfx=( "$pfx[@]" "$pfxsfx[@]" ) -fi - -if (( $#prepaths )); then - tmp1="${prepaths[2]}" - if [[ "$tmp1[1]" = '(' ]]; then - prepaths=( ${^=tmp1[2,-2]%/}/ ) - elif [[ "$tmp1[1]" = '/' ]]; then - prepaths=( "${tmp1%/}/" ) - else - prepaths=( ${(P)^tmp1%/}/ ) - (( ! $#prepaths )) && prepaths=( ${tmp1%/}/ ) - fi - (( ! $#prepaths )) && prepaths=( '' ) -else - prepaths=( '' ) -fi - -if (( $#ignore )); then - if [[ "${ignore[2]}" = \(* ]]; then - ignore=( ${=ignore[2][2,-2]} ) - else - ignore=( ${(P)ignore[2]} ) - fi -fi - -# If we were given no file selection option, we behave as if we were given -# a `-f'. - -if [[ "$sopt" = -(f|) ]]; then - if [[ -z "$gopt" ]]; then - sopt='-f' - pats=('*') - else - unset sopt - fi -fi - -if (( ! $mopts[(I)-[JVX]] )); then - local expl - - if [[ -z "$gopt" && "$sopt" = -/ ]]; then - _description directories expl directory - else - _description files expl file - fi - tmp1=$expl[(I)-M*] - if (( tmp1 )); then - if (( $#matcher )); then - matcher[2]="$matcher[2] $expl[1+tmp1]" - else - matcher=(-M "$expl[1+tmp1]") - fi - fi - mopts=( "$mopts[@]" "$expl[@]" ) -fi - -# If given no `-F' option, we may want to use $fignore, turned into patterns. - -[[ -z "$_comp_no_ignore" && $#ignore -eq 0 && - ( -z $gopt || "$pats" = \ #\*\ # ) && -n $FIGNORE ]] && - ignore=( "?*${^fignore[@]}" ) - -if (( $#ignore )); then - _comp_ignore=( "$_comp_ignore[@]" "$ignore[@]" ) - (( $mopts[(I)-F] )) || mopts=( "$mopts[@]" -F _comp_ignore ) -fi - -if [[ $#matcher -eq 0 && -o nocaseglob ]]; then - # If globbing is case insensitive and there's no matcher, - # do case-insensitive matching. - matcher=( -M 'm:{a-zA-Z}={A-Za-z}' ) -fi - -if (( $#matcher )); then - # Add the current matcher to the options to compadd. - mopts=( "$mopts[@]" "$matcher[@]" ) -fi - -if zstyle -s ":completion:${curcontext}:" file-sort tmp1; then - case "$tmp1" in - *size*) sort=oL;; - *links*) sort=ol;; - *(time|date|modi)*) sort=om;; - *access*) sort=oa;; - *(inode|change)*) sort=oc;; - *) sort=on;; - esac - [[ "$tmp1" = *rev* ]] && sort[1]=O - [[ "$tmp1" = *follow* ]] && sort="-${sort}-" - - if [[ "$sort" = on ]]; then - sort= - else - mopts=( -o nosort "${mopts[@]}" ) - - tmp2=() - for tmp1 in "$pats[@]"; do - if _have_glob_qual "$tmp1" complete; then - # unbalanced parenthesis is correct: match[1] contains the start, - # match[5] doesn't contain the end. - tmp2+=( "${match[1]}#q${sort})(${match[5]})" ) - else - tmp2+=( "${tmp1}(${sort})" ) - fi - done - pats=( "$tmp2[@]" ) - fi -fi - -# Check if we have to skip over sequences of slashes. The value of $skips -# is used below to match the pathname components we always have to accept -# immediately. - -if zstyle -t ":completion:${curcontext}:paths" squeeze-slashes; then - skips='((.|..|)/)##' -else - skips='((.|..)/)##' -fi - -zstyle -s ":completion:${curcontext}:paths" special-dirs sdirs -zstyle -t ":completion:${curcontext}:paths" list-suffixes && - listsfx=yes - -[[ "$pats" = ((|*[[:blank:]])\*(|[[:blank:]]*|\([^[:blank:]]##\))|*\([^[:blank:]]#/[^[:blank:]]#\)*) ]] && - sopt=$sopt/ - -zstyle -a ":completion:${curcontext}:paths" accept-exact accex -zstyle -a ":completion:${curcontext}:" fake-files fake - -zstyle -s ":completion:${curcontext}:" ignore-parents ignpar - -zstyle -t ":completion:${curcontext}:paths" accept-exact-dirs && - accept_exact_dirs=1 -zstyle -T ":completion:${curcontext}:paths" path-completion && - path_completion=1 - -if [[ -n "$compstate[pattern_match]" ]]; then - if { [[ -z "$SUFFIX" ]] && _have_glob_qual "$PREFIX" complete; } || - _have_glob_qual "$SUFFIX" complete; then - # Copy all glob qualifiers from the line to - # the patterns used when generating matches - tmp3=${match[5]} - if [[ -n "$SUFFIX" ]]; then - SUFFIX=${match[2]} - else - PREFIX=${match[2]} - fi - tmp2=() - for tmp1 in "$pats[@]"; do - if _have_glob_qual "$tmp1" complete; then - # unbalanced parenthesis is correct: match[1] contains the start, - # match[5] doesn't contain the end. - tmp2+=( "${match[1]}${tmp3}${match[5]})") - else - tmp2+=( "${tmp1}(${tmp3})" ) - fi - done - pats=( "$tmp2[@]" ) - fi -fi - -# We get the prefix and the suffix from the line and save the whole -# original string. Then we see if we will do menu completion. - -pre="$PREFIX" -suf="$SUFFIX" -opre="$PREFIX" -osuf="$SUFFIX" -orig="${PREFIX}${SUFFIX}" -eorig="$orig" - -[[ $compstate[insert] = (*menu|[0-9]*) || -n "$_comp_correct" || - ( -n "$compstate[pattern_match]" && - "${orig#\~}" != (|*[^\\])[][*?#~^\|\<\>]* ) ]] && menu=yes -if [[ -n "$_comp_correct" ]]; then - cfopt=- - Uopt=-U -else - Mopts=(-M "r:|/=* r:|=*") -fi - -# Now let's have a closer look at the string to complete. - -if [[ "$pre" = [^][*?#^\|\<\>\\]#(\`[^\`]#\`|\$)*/* && "$compstate[quote]" != \' ]]; then - - # If there is a parameter expansion in the word from the line, we try - # to complete the beast by expanding the prefix and completing anything - # after the first slash after the parameter expansion. - # This fails for things like `f/$foo/b/<TAB>' where the first `f' is - # meant as a partial path. - - linepath="${(M)pre##*\$[^/]##/}" - function { - # do not treat an unset parameter expansion as the empty string - setopt localoptions nounset - eval 'realpath=${(e)~linepath}' 2>/dev/null - } - [[ -z "$realpath" || "$realpath" = "$linepath" ]] && return 1 - pre="${pre#${linepath}}" - i='[^/]' - i="${#linepath//$i}" - orig="${orig[1,(in:i:)/][1,-2]}" - donepath= - prepaths=( '' ) -elif [[ "$pre[1]" = \~ && "$compstate[quote]" = (|\`) ]]; then - - # It begins with `~', so remember anything before the first slash to be able - # to report it to the completion code. Also get an expanded version of it - # (in `realpath'), so that we can generate the matches. Then remove that - # prefix from the string to complete, set `donepath' to build the correct - # paths and make sure that the loop below is run only once with an empty - # prefix path by setting `prepaths'. - - linepath="${pre[2,-1]%%/*}" - if [[ -z "$linepath" ]]; then - realpath="${HOME%/}/" - elif [[ "$linepath" = ([-+]|)[0-9]## ]]; then - if [[ "$linepath" != [-+]* ]]; then - tmp1="$linepath" - else - if [[ "$linepath" = -* ]]; then - tmp1=$(( $#dirstack $linepath )) - else - tmp1=$linepath[2,-1] - fi - [[ -o pushdminus ]] && tmp1=$(( $#dirstack - $tmp1 )) - fi - if (( ! tmp1 )); then - realpath=$PWD/ - elif [[ tmp1 -le $#dirstack ]]; then - realpath=$dirstack[tmp1]/ - else - _message 'not enough directory stack entries' - return 1 - fi - elif [[ "$linepath" = [-+] ]]; then - realpath=${~:-\~$linepath}/ - else - eval "realpath=~${linepath}/" 2>/dev/null - if [[ -z "$realpath" ]]; then - _message "unknown user \`$linepath'" - return 1 - fi - fi - linepath="~${linepath}/" - [[ "$realpath" = "$linepath" ]] && return 1 - pre="${pre#*/}" - orig="${orig#*/}" - donepath= - prepaths=( '' ) -else - # If the string does not start with a `~' we don't remove a prefix from the - # string. - - linepath= - realpath= - - if zstyle -s ":completion:${curcontext}:" preserve-prefix tmp1 && - [[ -n "$tmp1" && "$pre" = (#b)(${~tmp1})* ]]; then - - pre="$pre[${#match[1]}+1,-1]" - orig="$orig[${#match[1]}+1,-1]" - donepath="$match[1]" - prepaths=( '' ) - - elif [[ "$pre[1]" = / ]]; then - # If it is a absolute path name, we remove the first slash and put it in - # `donepath' meaning that we treat it as the path that was already handled. - # Also, we don't use the paths from `-W'. - - pre="$pre[2,-1]" - orig="$orig[2,-1]" - donepath='/' - prepaths=( '' ) - else - # The common case, we just use the string as it is, unless it begins with - # `./' or `../' in which case we don't use the paths from `-W'. - - [[ "$pre" = (.|..)/* ]] && prepaths=( '' ) - donepath= - fi -fi - -# Now we generate the matches. First we loop over all prefix paths given -# with the `-W' option. - -for prepath in "$prepaths[@]"; do - - # Get local copies of the prefix, suffix, and the prefix path to use - # in the following loop, which walks through the pathname components - # in the string from the line. - - skipped= - cpre= - - if [[ ( -n $accept_exact_dirs || -z $path_completion ) && \ - ${pre} = (#b)(*)/([^/]#) ]]; then - # We've been told either that we can accept an exact directory prefix - # immediately, or that path expansion is inhibited. Try the longest - # path prefix first: in the first case, this saves stats in the simple - # case and may get around automount behaviour if early components don't - # yet exist, and in the second case this is the prefix we want to keep. - # - # Explanation of substitution: For tmp1 and tpre, which are used further - # on, we need to remove quotes from everything that's not a pattern - # character, because the code that does the file generation only - # strips quotes from pattern characters (you know better than - # to ask why). - tmp1=${match[1]} - tpre=${match[2]} - tmp2=$tmp1 - tmp1=${tmp1//(#b)\\(?)/$match[1]} - tpre=${tpre//(#b)\\([^\\\]\[\^\~\(\)\#\*\?])/$match[1]} - # Theory: donepath needs the quoting of special characters - # still in it. However, we need it without at this point. - # (I think.) Note this is different from the above where we're - # doing something a bit different. - tmp3=${donepath//(#b)\\(?)/$match[1]} - while true; do - if [[ -z $path_completion || -d $prepath$realpath$tmp3$tmp2 ]]; then - tmp3=$tmp3$tmp1/ - # Now put donepath back the way it should be. (I think.) - donepath=${tmp3//(#b)([\\\]\[\^\~\(\)\#\*\?])/\\$match[1]} - pre=$tpre - break - elif [[ $tmp1 = (#b)(*)/([^/]#) ]]; then - tmp1=$match[1] - tpre=$match[2]/$tpre - else - break - fi - done - fi - - tpre="$pre" - tsuf="$suf" - # Now we strip quoting from pattern characters, too, because - # testpath is used as a literal string. I suppose we could - # alternatively use ${~testpath} later. - # - # I'm not sure if donepath itself should be entirely unquoted at - # some point but probably not here, since we need the quoted pattern - # characters in tmp1 below (I think). - testpath="${donepath//(#b)\\([\\\]\[\^\~\(\)\#\*\?])/$match[1]}" - - tmp2="${(M)tpre##${~skips}}" - tpre="${tpre#$tmp2}" - - tmp1=( "$prepath$realpath$donepath$tmp2" ) - - # count of attempts for pws non-canonical hack - (( npathcheck = 0 )) - while true; do - - origtmp1=("${tmp1[@]}") - # Get the prefix and suffix for matching. - - if [[ "$tpre" = */* ]]; then - PREFIX="${tpre%%/*}" - SUFFIX= - else - PREFIX="${tpre}" - SUFFIX="${tsuf%%/*}" - fi - - # Force auto-mounting. There might be a better way... - # Commented out in the hope that `pws non-canonical hack' - # down below does this for us. Can be uncommented if it - # doesn't. - - # : ${^tmp1}/${PREFIX}${SUFFIX}/.(/) - - # Get the matching files by globbing. - - tmp2=( "$tmp1[@]" ) - - if [[ "$tpre$tsuf" = (#b)*/(*) ]]; then - - # We are going to be looping over the leading path segments. - # This means we should not apply special-dirs handling unless - # the path tail is a fake directory that needs to be simulated, - # and we should not apply pattern matching until we are looking - # for files rather than for intermediate directories. - - if [[ -n "$fake${match[1]}" ]]; then - compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake - else - compfiles -P$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" '' fake - fi - elif [[ "$sopt" = *[/f]* ]]; then - compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" "$sdirs" fake "$pats[@]" - else - compfiles -p$cfopt tmp1 accex "$skipped" "$_matcher $matcher[2]" '' fake "$pats[@]" - fi - tmp1=( $~tmp1 ) 2> /dev/null - - if [[ -n "$PREFIX$SUFFIX" ]]; then - # See which of them match what's on the line. - - # pws non-canonical hack which seems to work so far... - # if we didn't match by globbing, check that there is - # something to match by explicit name. This is for - # `clever' filing systems where names pop into existence - # when referenced. - # - # As suggested by Bart, to make sure the "compfiles" checks - # still work we repeat the tests above if we successfully - # find something that might need adding, but we make sure - # we only do this once for completion of each path segment. - if (( ! $#tmp1 && npathcheck == 0 )); then - (( npathcheck = 1 )) - for tmp3 in "$tmp2[@]"; do - if [[ -n $tmp3 && $tmp3 != */ ]]; then - tmp3+=/ - fi - if [[ -e "$tmp3${(Q)PREFIX}${(Q)SUFFIX}" ]] then - (( npathcheck = 2 )) - fi - done - if (( npathcheck == 2 )); then - # repeat loop with same arguments - tmp1=("$origtmp1[@]") - continue - fi - fi - - if (( ! $#tmp1 )); then - tmp2=( ${^${tmp2:#/}}/$PREFIX$SUFFIX ) - elif [[ "$tmp1[1]" = */* ]]; then - if [[ -n "$_comp_correct" ]]; then - tmp2=( "$tmp1[@]" ) - builtin compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}" - - if [[ $#tmp1 -eq 0 ]]; then - tmp1=( "$tmp2[@]" ) - compadd -D tmp1 "$matcher[@]" - "${(@)tmp2:t}" - fi - else - tmp2=( "$tmp1[@]" ) - compadd -D tmp1 "$matcher[@]" - "${(@)tmp1:t}" - fi - else - tmp2=( '' ) - compadd -D tmp1 "$matcher[@]" -a tmp1 - fi - - # If no file matches, save the expanded path and continue with - # the outer loop. - - if (( ! $#tmp1 )); then - if [[ "$tmp2[1]" = */* ]]; then - tmp2=( "${(@)tmp2#${prepath}${realpath}}" ) - if [[ "$tmp2[1]" = */* ]]; then - tmp2=( "${(@)tmp2:h}" ) - compquote tmp2 - if [[ "$tmp2" = */ ]]; then - exppaths=( "$exppaths[@]" ${^tmp2}${tpre}${tsuf} ) - else - exppaths=( "$exppaths[@]" ${^tmp2}/${tpre}${tsuf} ) - fi - elif [[ ${tpre}${tsuf} = */* ]]; then - exppaths=( "$exppaths[@]" ${tpre}${tsuf} ) - - ### this once was in an `else' (not `elif') - fi - fi - continue 2 - fi - elif (( ! $#tmp1 )); then - # A little extra hack: if we were completing `foo/<TAB>' and `foo' - # contains no files, this will normally produce no matches and other - # completers might think that's it's their time now. But if the next - # completer is _correct or something like that, this will result in - # an attempt to correct a valid directory name. So we just add the - # original string in such a case so that the command line doesn't - # change but other completers still think there are matches. - # We do this only if we weren't given a `-g' or `-/' option because - # otherwise this would keep `_files' from completing all filenames - # if none of the patterns match. - - if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then - pfxsfx=(-S '' "$pfxsfx[@]") - ### Don't remember what the break was good for. We explicitly - ### execute this only when there are no matches in the directory, - ### so why continue? - ### - ### tmp1=( "$tmp2[@]" ) - ### break - elif [[ -n "$haspats" && -z "$tpre$tsuf$suf" && "$pre" = */ ]]; then - PREFIX="${opre}" - SUFFIX="${osuf}" - compadd -nQS '' - "$linepath$donepath$orig" - tmp4=- - fi - continue 2 - fi - - if [[ -n "$ignpar" && -z "$_comp_no_ignore" && - "$tpre$tsuf" != */* && $#tmp1 -ne 0 && - ( "$ignpar" != *dir* || "$pats" = '*(-/)' ) && - ( "$ignpar" != *..* || "$tmp1[1]" = *../* ) ]]; then - - compfiles -i tmp1 ignore "$ignpar" "$prepath$realpath$donepath" - _comp_ignore+=( ${(@)ignore#$prepath$realpath$donepath} ) - - (( $#_comp_ignore && ! $mopts[(I)-F] )) && - mopts=( "$mopts[@]" -F _comp_ignore ) - fi - - # Step over to the next component, if any. - - if [[ "$tpre" = */* ]]; then - tpre="${tpre#*/}" - elif [[ "$tsuf" = */* ]]; then - tpre="${tsuf#*/}" - tsuf= - else - break - fi - - # There are more components, so skip over the next components and make a - # slash be added. - - #tmp1=( ${tmp1//(#b)([][()|*?^#~<>\\=])/\\${match[1]}} ) - tmp2="${(M)tpre##${~skips}}" - if [[ -n "$tmp2" ]]; then - skipped="/$tmp2" - tpre="${tpre#$tmp2}" - else - skipped=/ - fi - (( npathcheck = 0 )) - done - - # The next loop searches the first ambiguous component. - - tmp3="$pre$suf" - tpre="$pre" - tsuf="$suf" - if [[ -n "${prepath}${realpath}${testpath}" ]] - then - if [[ -o nocaseglob ]] - then - tmp1=( "${(@)tmp1#(#i)${prepath}${realpath}${testpath}}" ) - else - tmp1=( "${(@)tmp1#${prepath}${realpath}${testpath}}" ) - fi - fi - - while true; do - - # First we check if some of the files match the original string - # for this component. If there are some we remove all other - # names. This avoids having `foo' complete to `foo' and `foobar'. - # The return value is non-zero if the component is ambiguous. - - compfiles -r tmp1 "${(Q)tmp3}" - tmp4=$? - - if [[ "$tpre" = */* ]]; then - tmp2="${cpre}${tpre%%/*}" - PREFIX="${linepath}${donepath}${tmp2}" - SUFFIX="/${tpre#*/}${tsuf#*/}" - else - tmp2="${cpre}${tpre}" - PREFIX="${linepath}${donepath}${tmp2}" - SUFFIX="${tsuf}" - fi - - # This once tested `|| [[ -n "$compstate[pattern_match]" && - # "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]' but it should now be smart - # enough to handle multiple components with patterns. - - if (( tmp4 )); then - # The component we're checking is ambiguous. - # For menu completion we now add the possible completions - # for this component with the unambiguous prefix we have built - # and the rest of the string from the line as the suffix. - # For normal completion we add the rests of the filenames - # collected as the suffixes to make the completion code expand - # it as far as possible. - - tmp2="$testpath" - if [[ -n "$linepath" ]]; then - compquote -p tmp2 tmp1 - elif [[ -n "$tmp2" ]]; then - compquote -p tmp1 - compquote tmp2 - else - compquote tmp1 tmp2 - fi - - if [[ -z "$_comp_correct" && - "$compstate[pattern_match]" = \* && -n "$listsfx" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - PREFIX="$opre" - SUFFIX="$osuf" - fi - - # This once tested `-n $menu ||' but our menu-completion expert says - # that's not what we want. - - if [[ -z "$compstate[insert]" ]] || - { ! zstyle -t ":completion:${curcontext}:paths" expand suffix && - [[ -z "$listsfx" && - ( -n "$_comp_correct" || - -z "$compstate[pattern_match]" || "$SUFFIX" != */* || - "${SUFFIX#*/}" = (|*[^\\])[][*?#~^\|\<\>]* ) ]] }; then - # We have not been told to insert the match, so we are - # listing, or something. - (( tmp4 )) && zstyle -t ":completion:${curcontext}:paths" ambiguous && - compstate[to_end]= - if [[ "$tmp3" = */* ]]; then - if [[ -z "$listsfx" || "$tmp3" != */?* ]]; then - # I think this means we are expanding some directory - # back up the path. - tmp1=("${(@)tmp1%%/*}") - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" \ - -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "/${tmp3#*/}${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - else - # Same with a non-empty suffix - tmp1=("${(@)^tmp1%%/*}/${tmp3#*/}") - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" \ - -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - else - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - else - # We are inserting the match into the command line. - if [[ "$tmp3" = */* ]]; then - tmp4=( $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" - -W "$prepath$realpath$testpath" - "$pfxsfx[@]" $Mopts ) - if [[ -z "$listsfx" ]]; then - for i in "$tmp1[@]"; do - tmpdisp=("$i") - _list_files tmpdisp "$prepath$realpath$testpath" - compadd "$tmp4[@]" -s "${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp" - done - else - [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:gs./.*/}*" - - for i in "$tmp1[@]"; do - _list_files i "$prepath$realpath$testpath" - compadd "$tmp4[@]" $listopts - "$i" - done - fi - else - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" $Mopts \ - $listopts \ - -a tmp1 - fi - fi - tmp4=- - # Found an ambiguity, stop the loop over components. - break - fi - - # If we have checked all components, we stop now and add the - # strings collected after the loop. - - if [[ "$tmp3" != */* ]]; then - tmp4= - break - fi - - # Otherwise we add the unambiguous component to `testpath' and - # take it from the filenames. - - testpath="${testpath}${tmp1[1]%%/*}/" - - tmp3="${tmp3#*/}" - - if [[ "$tpre" = */* ]]; then - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - cpre="${cpre}${tmp1[1]%%/*}/" - else - cpre="${cpre}${tpre%%/*}/" - fi - tpre="${tpre#*/}" - elif [[ "$tsuf" = */* ]]; then - [[ "$tsuf" != /* ]] && mid="$testpath" - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "$tmp2" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - cpre="${cpre}${tmp1[1]%%/*}/" - else - cpre="${cpre}${tpre}/" - fi - tpre="${tsuf#*/}" - tsuf= - else - tpre= - tsuf= - fi - - tmp1=( "${(@)tmp1#*/}" ) - done - - if [[ -z "$tmp4" ]]; then - # I think this means it's finally time to add the matches, - # now we've collected contributions from all components. - if [[ "$mid" = */ ]]; then - # This seems to mean we're completing in the middle of the - # command line argument, i.e. not in the last component. - # There are two cases, depending on whether this part of - # the path itself has multiple directories or not. - PREFIX="${opre}" - SUFFIX="${osuf}" - - tmp4="${testpath#${mid}}" - if [[ $mid = */*/* ]]; then - # Multiple levels of directory involved. - tmp3="${mid%/*/}" - tmp2="${${mid%/}##*/}" - if [[ -n "$linepath" ]]; then - compquote -p tmp3 - else - compquote tmp3 - fi - compquote tmp4 tmp2 tmp1 - for i in "$tmp1[@]"; do - _list_files tmp2 "$prepath$realpath${mid%/*/}" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp3/" \ - -s "/$tmp4$i${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath${mid%/*/}/" \ - "$pfxsfx[@]" $Mopts $listopts - "$tmp2" - done - else - # Simpler case with fewer directories: avoid double counting. - tmp2="${${mid%/}##*/}" - compquote tmp4 tmp2 tmp1 - for i in "$tmp1[@]"; do - _list_files tmp2 "$prepath$realpath${mid%/*/}" - compadd $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath" \ - -s "/$tmp4$i${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath" \ - "$pfxsfx[@]" $Mopts $listopts - "$tmp2" - done - fi - else - # This would seem to be where we're completing the last - # component of the path -- the normal one, in other words. - if [[ "$osuf" = */* ]]; then - PREFIX="${opre}${osuf}" - SUFFIX= - else - PREFIX="${opre}" - SUFFIX="${osuf}" - fi - tmp4="$testpath" - if [[ -n "$linepath" ]]; then - compquote -p tmp4 tmp1 - elif [[ -n "$tmp4" ]]; then - compquote -p tmp1 - compquote tmp4 - else - compquote tmp4 tmp1 - fi - if [[ -z "$_comp_correct" && -n "$compstate[pattern_match]" && - "${PREFIX#\~}$SUFFIX" = (|*[^\\])[][*?#~^\|\<\>]* ]]; then - # Pattern match, we need to be clever with matchers. - tmp1=("$linepath$tmp4${(@)^tmp1}") - _list_files tmp1 "$prepath$realpath" - compadd -Qf -W "$prepath$realpath" "$pfxsfx[@]" "$mopts[@]" \ - -M "r:|/=* r:|=*" $listopts -a tmp1 - else - # Not a pattern match - _list_files tmp1 "$prepath$realpath$testpath" - compadd $Uopt -Qf -p "${Uopt:+$IPREFIX}$linepath$tmp4" \ - -s "${Uopt:+$ISUFFIX}" \ - -W "$prepath$realpath$testpath" \ - "$pfxsfx[@]" "$mopts[@]" $Mopts $listopts -a tmp1 - fi - fi - fi -done - -# If we are configured to expand paths as far as possible and we collected -# expanded paths that are different from the string on the line, we add -# them as possible matches. Do that only if we are currently trying the -# last entry in the matcher-list style, otherwise other match specs might -# make the suffix that didn't match this time match in one of the following -# attempts. - -if [[ _matcher_num -eq ${#_matchers} ]] && - zstyle -t ":completion:${curcontext}:paths" expand prefix && - [[ nm -eq compstate[nmatches] && $#exppaths -ne 0 && - "$linepath$exppaths" != "$eorig" ]]; then - PREFIX="${opre}" - SUFFIX="${osuf}" - compadd -Q "$mopts[@]" -S '' -M "r:|/=* r:|=*" -p "$linepath" -a exppaths -fi - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/sw/share/zsh/5.9/functions/_pax b/result/sw/share/zsh/5.9/functions/_pax deleted file mode 100644 index 0ae58423..00000000 --- a/result/sw/share/zsh/5.9/functions/_pax +++ /dev/null @@ -1,47 +0,0 @@ -#compdef pax - -_arguments -s \ - '-r[read]' \ - '-w[write]' \ - '-a[append]' \ - '-b:block size:(512 1024 1536 2048 2560 3072 3584 4096 4608 5120 5632 6144 6656 7168 7680 8192 8704 9216 9728 10240 10752 11264 11776 12288 12800 13312 13824 14336 14848 15360 15872 16384 16896 17408 17920 18432 18944 19456 19968 20480 20992 21504 22016 22528 23040 23552 24064 24576 25088 25600 26112 26624 27136 27648 28160 28672 29184 29696 30208 30720 31232 31744 32256 32768 33280 33792 34304 34816 35328 35840 36352 36864 37376 37888 38400 38912 39424 39936 40448 40960 41472 41984 42496 43008 43520 44032 44544 45056 45568 46080 46592 47104 47616 48128 48640 49152 49664 50176 50688 51200 51712 52224 52736 53248 53760 54272 54784 55296 55808 56320 56832 57344 57856 58368 58880 59392 59904 60416 60928 61440 61952 62464 62976 63488 64000 64512 - 1k 2k 3k 4k 5k 6k 7k 8k 9k 10k 11k 12k 13k 14k 15k 16k 17k 18k 19k 20k - 21k 22k 23k 24k 25k 26k 27k 28k 29k 30k 31k 32k 33k 34k 35k 36k 37k 38k - 39k 40k 41k 42k 43k 44k 45k 46k 47k 48k 49k 50k 51k 52k 53k 54k 55k 56k - 57k 58k 59k 60k 61k 62k 63k - 1b 2b 3b 4b 5b 6b 7b 8b 9b 10b 11b 12b 13b 14b 15b 16b 17b 18b 19b 20b - 21b 22b 23b 24b 25b 26b 27b 28b 29b 30b 31b 32b 33b 34b 35b 36b 37b 38b - 39b 40b 41b 42b 43b 44b 45b 46b 47b 48b 49b 50b 51b 52b 53b 54b 55b 56b - 57b 58b 59b 60b 61b 62b 63b 64b 65b 66b 67b 68b 69b 70b 71b 72b 73b 74b - 75b 76b 77b 78b 79b 80b 81b 82b 83b 84b 85b 86b 87b 88b 89b 90b 91b 92b - 93b 94b 95b 96b 97b 98b 99b 100b 101b 102b 103b 104b 105b 106b 107b 108b - 109b 110b 111b 112b 113b 114b 115b 116b 117b 118b 119b 120b 121b 122b - 123b 124b 125b 126b)' \ - '-c[match all but specified]' \ - '-d[match only directory but not contents]' \ - '-f:archive:_files -g "*.(tar|cpio)(-.)"' \ - '-i[interactively rename files]' \ - '-j[filter archive through bzip2]' \ - '-k[do not overwrite existing files]' \ - '-l[hardlink files]' \ - '-n[select only the first match for each pattern]' \ - '-o:options:_values options write_opt\:writeopt\:\(nodir\)' \ - '-p:privileges:(a ae aem am amo amp ao ap e em em m mo mp o p)' \ - '-s:substitution expression:' \ - '-t[reset access times of files after access]' \ - '-u[ignore older files]' \ - '-v[verbose]' \ - '-x:output format:(cpio bcpio sv4cpio sv4crc tar ustar)' \ - '-B:maximum number of octets per archive:' \ - '-D[ignore older files by ctime]' \ - '-E:maximum number of consecutive read faults:' \ - '*-G:group:_groups' \ - '-H[follow only command-line symlinks]' \ - '-L[follow all symlinks]' \ - '-P[do not follow symlinks]' \ - '-T:time range:' \ - '*-U:user:_users' \ - '-X[do not descend into directories that have a different device ID]' \ - '-Y[ignore older files by ctime after file name mods]' \ - '-Z[ignore older files after file name mods]' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_pbcopy b/result/sw/share/zsh/5.9/functions/_pbcopy deleted file mode 100644 index deffd116..00000000 --- a/result/sw/share/zsh/5.9/functions/_pbcopy +++ /dev/null @@ -1,30 +0,0 @@ -#compdef pbcopy pbpaste - -local ret=1 -local -a context line state state_descr args -local -A opt_args val_args - -args=( - '(-)-help[display help information]' - '-pboard[specify pasteboard to copy to or paste from]: :->pboards' -) -[[ $service == pbpaste ]] && args+=( - '-Prefer[specify type of data to prefer when pasting]: :->dtypes' -) - -_arguments : $args && ret=0 - -case $state in - dtypes) - _values 'data type' \ - 'txt[plain text]' \ - 'rtf[rich text]' \ - 'ps[encapsulated PostScript]' \ - && ret=0 - ;; - pboards) - _values pasteboard general ruler find font && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pbm b/result/sw/share/zsh/5.9/functions/_pbm deleted file mode 100644 index 8b5576c5..00000000 --- a/result/sw/share/zsh/5.9/functions/_pbm +++ /dev/null @@ -1,891 +0,0 @@ -#compdef -P (p[bgpn]m*|*top[bgpn]m) - -# Completion for all (or most, you'll never know) pbmplus commands. -# For some of them there are special cases in the biggish `case' below. -# Note that since this function is a post-pattern function, these -# defaults can be overridden by simply defining completion functions -# for those commands whose arguments you want to complete differently. - -local pat expl ret=1 - -if [[ "$service" = pnm* ]]; then - pat='*.(#i)p[bgp]m(-.)' -elif [[ "$service" = *top[bgpn]m ]]; then - pat="*.(#i)${service%%top[bgpn]m}(-.)" -else - pat="*.(#i)${service[1,3]}(-.)" -fi - -if (( $# + $+_in_pbm )); then - _wanted files expl 'picture file' _path_files "$@" -g "$pat" - || - _files "$@" "$expl[@]" -g '*.(#i)p[bgp]m(-.)' - return -fi - -local _in_pbm=yes - -case "$service" in -asciitop[gn]m) - _arguments \ - '-d[specify divisor]:divisor' \ - ':height' ':width' ':file:_pbm' - ;; - -fitstopgm) - _arguments \ - '-image[specify image number]:image number' \ - ':file:_pbm' - ;; - -fitstopnm) - _arguments \ - '-image[specify image number]:image number' \ - '-noraw[produce ASCII pnm file]' \ - '(-min -max)-scanmax[force scanning data for minimum and maximum]' \ - '-printmax[only print minimum and maximum values]' \ - '(-scanmax)-min[override minimum value]:minimum value' \ - '(-scanmax)-max[override maximum value]:maximum value' \ - ':file:_pbm' - ;; - -g3topbm) - _arguments \ - '-kludge[ignore first few lines]' \ - '-reversebits[interpret bits least-significant first]' \ - '-stretch[duplicate each row]' \ - ':file:_pbm' - ;; - -giftopnm) - _arguments \ - '-alphaout=[output alpha channel]:file:_pbm' \ - '-verbose[verbose mode]' \ - '-comments[only print comment fields]' \ - '-image[specify image number]:image number' \ - ':file:_pbm' - ;; - -jpegtopnm) - _arguments \ - '-dct:dct method:(int fast float)' \ - -{nosmooth,adobe,notadobe,dumpexif,comments,verbose} \ - '-maxmemory:memory use limit (kB)' \ - '-exif=:file:_files' \ - '-tracelevel:trace level' \ - ':file:_pbm' - ;; - -macptopbm) - _arguments '-extraskip:number of bytes to skip' ':file:_pbm' - ;; - -pbmclean) - if [[ "$PREFIX" = -* ]]; then - _message -e neighbours 'maximum number of identical neighbours' - else - _pbm - fi - ;; - -pbmmake) - _arguments \ - '(-black -gray)-white[produce white pbm file]' \ - '(-white -gray)-black[produce black pbm file]' \ - '(-white -black)-gray[produce gray pbm file (stippled)]' \ - ':width' ':height' - ;; - -pbmmask) - _arguments '-expand[expand mask by one pixel]' ':file:_pbm' - ;; - -pbmpscale) - _arguments ':scale factor' ':file:_pbm' - ;; - -pbmreduce) - _arguments \ - '(-fs -threshold)-floyd[use Floyd-Steinberg error diffusion]' \ - '(-floyd -threshold)-fs[use Floyd-Steinberg error diffusion]' \ - '(-floy -fs)-threshold[use simple thresholding]' \ - '-value[specify thresholding value]:threshold value' \ - ':reduction factor' ':file:_pbm' - ;; - -pbmtext) - _arguments \ - '(-builtin)-font[specify font file]:font file:_files -g "*.(#i)pbm(-.)"' \ - '(-font)-builtin[select builtin font]:builtin font:(bdf fixed)' \ - '-space[add space between characters]:space (pixels)' \ - '*:text' - ;; - -pbmto10x) - _arguments '-h[use resolution 120 x 144]' ':file:_pbm' - ;; - -pbmtobg|pbmtobbnbg) - _arguments ':raster operation' ':x position' ':y position' - ;; - -pbmtoepsi) - _arguments '-bbonly[only create boundary box]' ':file:_pbm' - ;; - -pbmtolj) - _arguments \ - '-resolution[specify output device resolution]:resolution:(75 100 150 300 600)' \ - '-float[suppress positioning information]' \ - "-norest[don't write reset sequences]" \ - '(-delta -compress)-packbits[enable use of TIFF packbits compression]' \ - '(-packbits -compress)-delta[enable use of delta-between-rows compression]' \ - '(-packbits -delta)-compress[enable both compression schemes]' \ - ':file:_pbm' - ;; - -pbmtoln03) - _arguments \ - '-l[specify left margin]:left margin' \ - '-r[specify right margin]:right margin' \ - '-t[specify top margin]:top margin' \ - '-b[specify bottom margin]:bottom margin' \ - '-f[specify form length]:form length' ':file:_pbm' - ;; - -pbmtolps) - _arguments '-dpi[specify output resolution]:resolution' ':file:_pbm' - ;; - -pbmtomacp) - _arguments \ - '-l[specify left offset]:left offset' \ - '-r[specify right offset]:right offset' \ - '-t[specify top offset]:top offset' \ - '-b[specify bottom offset]:bottom offset' \ - ':file:_pbm' - ;; - -pbmtopgm) - _arguments ':width' ':height' ':file:_pbm' - ;; - -pbmtopk) - _arguments \ - '-s[set design size]:design size' \ - '-C[set coding scheme]:coding scheme' \ - '-F[set font family comment]:font family' \ - '-f[specify file with options]:option file:_files' \ - '*-c[specify next character number]:character number' \ - '*-W[specify TFM width of next character]:width' \ - '*-H[specify TFM height of next character]:height' \ - '*-D[specify TFM depth of next character]:depth' \ - '*-I[specify italic correction of next character]:italic correction' \ - '*-h[specify horizontal escapement of next character]:horizontal escapement' \ - '*-v[specify vertical escapement of next character]:vertical escapement' \ - '*-x[specify x offset of next character]:x offset' \ - '*-y[specify y offset of next character]:y offset' \ - ':pk file:_files -g "*.(#i)pk(-.)"' \ - ':tfm file:_files -g "*.(#i)tfm(-.)"' \ - '*:file:_pbm' - ;; - -pbmupc) - _arguments -s{1,2} ':product type' ':manufacturer code' ':product code' - ;; - -pgmcrater) - _arguments \ - '-number[specify number of craters]:number of craters' \ - '-gamma[specify gamma correction factor]:gamma factor' \ - '(-ysize)-height[specify picture height]:height' \ - '(-height)-ysize[specify picture height]:height' \ - '(-xsize)-width[specify picture width]:width' \ - '(-width)-xsize[specify picture width]:width' - ;; - -pgmkernel) - _arguments '-weight:weight' ':width' ':height' - ;; - -pgmnoise) - _arguments ':width' ':height' - ;; - -pgmnorm|ppmnorm) - _arguments \ - '(-bvalue)-bpercent[specify percentage to map to black]:black percentage' \ - '(-bpercent)-bvalue[specify pixel value to map to black]:black pixel value' \ - '(-wvalue)-wpercent[specify percentage to map to white]:white percentage' \ - '(-wpercent)-wvalue[specify pixel value to map to white]:white pixel value' \ - ':file:_pbm' - ;; - -pgmoil) - _arguments '-n[specify smear size]:smear size' ':file:_pbm' - ;; - -pgmramp) - _arguments \ - '(-tb -rectangle -ellipse)-lr[produce left to right ramp]' \ - '(-lr -rectangle -ellipse)-tb[produce top to bottom ramp]' \ - '(-lr -tb -ellipse)-rectangle[produce rectangular ramp]' \ - '(-lr -tb -rectangle)-ellipse[produce elliptical ramp]' \ - ':width' ':height' - ;; - -pgmtexture) - _arguments '-d[specify distance]:distance' ':file:_pbm' - ;; - -pgmtopbm) - _arguments \ - '(-fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-floyd[use FLoyd-Steinberg error diffusion]' \ - '(-floyd -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-fs[use FLoyd-Steinberg error diffusion]' \ - '(-floyd -fs -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-threshold[use simple thresholding]' \ - '(-floyd -fs -threshold -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value)-hilbert[use space filling curve halftoning (hilbert curve)]' \ - '(-floyd -fs -threshold -hilbert -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-dither8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \ - '(-floyd -fs -threshold -hilbert -dither8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-d8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-cluster3[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -cluster4 -c4 -cluster8 -c8 -value -clump)-c3[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -c4 -cluster8 -c8 -value -clump)-cluster4[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -cluster8 -c8 -value -clump)-c4[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -c8 -value -clump)-cluster8[use 45 degree clustered dither]' \ - '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -value -clump)-c8[use 45 degree clustered dither]' \ - '-value[specify thresholding value]:threshold value' \ - '-clump[specify number of pixels per clump]:number of pixel' \ - ':file:_pbm' - ;; - -pgmtoppm) - if [[ CURRENT -eq 2 ]]; then - if compset -P '?*-'; then - _x_color - return - fi - _x_color && ret=0 - - _wanted options expl option compadd - -map && ret=0 - - return ret - elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then - _description files expl 'map file' - _files "$expl[@]" -g '*.(#i)ppm(-.)' - else - _pbm - fi - ;; - -pktopbm) - _arguments \ - '*-x[set width of next bitmap]:width' \ - '*-y[set height of next bitmap]:height' \ - '*-c[set next character number]:character number' \ - ':pk file:_files -g "*.(#i)pk(-.)"' \ - '*:file:_pbm' - ;; - -pngtopnm) - _arguments \ - -{verbose,alpha,mix,time} \ - '-background:color:_x_color' \ - '-gamma:value' '-text:file:_files' \ - ':file:_pbm' - ;; - -pnmalias) - _arguments \ - '-bgcolor[specify background color]:background color:_x_color' \ - '-fgcolor[specify background color]:foreground color:_x_color' \ - '(-bonly)-fonly[apply antialias only to foreground pixels]' \ - '(-fonly)-bonly[apply antialias only to background pixels]' \ - '(-balias)-falias[apply antialias to all pixels around foreground pixels]' \ - '(-falias)-balias[apply antialias to all pixels around foreground pixels]' \ - '-weight[set central aliasing weight]:central aliasing weight' \ - ':file:_pbm' - ;; - -pnmarith) - _arguments \ - '(-)'-{add,subtract,multiply,difference,minimum,maximum} \ - '*:file:_pbm' - ;; - -pnmcat) - _arguments \ - '(-black)-white[]' \ - '(-white)-black[]' \ - '(-lr -topbottom -tb -jleft -jright)-leftright[place pictures left to right]' \ - '(-leftright -topbottom -tb -jleft -jright)-lr[place pictures left to right]' \ - '(-tb -leftright -lr -jtop -jbottom)-topbottom[place pictures top to bottom]' \ - '(-topbottom -leftright -lr -jtop -jbottom)-tb[place pictures top to bottom]' \ - '(-topbottom -tb -jbottom -jleft -jright)-jtop[align pictures at top]' \ - '(-topbottom -tb -jtop -jleft -jright)-jbottom[align pictures at bottom]' \ - '(-leftright -lr -jright -jtop -jbottom)-jleft[align pictures at left side]' \ - '(-leftright -lr -jleft -jtop -jbottom)-jright[align pictures at right side]' \ - '*:file:_pbm' - ;; - -pnmcomp) - _arguments \ - '-invert[invert overlay pixel values]' \ - '(-align)-xoff[specify overlay x offset]:x offset' \ - '(-valign)-yoff[specify overlay y offset]:y offset' \ - '(-xoff)-align=[specify horizontal alignment for overlay image]:alignment:(left center right)' \ - '(-yoff)-valign=[specify vertical alignment for overlay image]:alignment:(top middle bottom)' \ - '-alpha[specify alpha mask file]:alpha mask file:_files -g "*.(#i)pgm(-.)"' \ - ':overlay file:_pbm' '*:file:_pbm' - ;; - -pnmconvol) - _arguments ':convolution file:_pbm' ':file:_pbm' - ;; - -pnmcrop) - _arguments \ - '(-black)-white' \ - '(-white)-black' \ - -sides \ - -{left,right,top,bottom} \ - -verbose \ - ':file:_pbm' - ;; - -pnmcut) - _arguments \ - '-left:left col' '-right:right col' '-top:top col' '-bottom:bottom col' \ - '-width:width' '-height:height' -pad -verbose \ - ':x position' ':y position' ':width' ':height' ':file:_pbm' - ;; - -pnmdepth) - _arguments ':new maximum value' ':file:_pbm' - ;; - -pnmenlarge) - _arguments ':enlargement factor' ':file:_pbm' - ;; - -pnmflip) - _arguments \ - \*-{leftright,lr,topbottom,tb,transpose,xy,rotate90,r90,ccw,rotate270,r270,cw,rotate180,r180} \ - ':file:_pbm' - ;; - -pnmgamma) - _arguments \ - -ungamma -cieramp \ - '1:gamma value or red gamma value' \ - '2: :{ _message -e gamma-values "green gamma value";_pbm }' \ - '3:blue gamma value' \ - '4:file:_pbm' - ;; - -pnmhisteq) - _arguments \ - '-verbose[verbose mode]' \ - '-gray[modify only gray pixels]' \ - '-rmap[specify input luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \ - '-wmap[specify output luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \ - ':file:_pbm' - ;; -pnmhistmap) - _arguments -{black,white,verbose} '-max:maximum value' ':file:_pbm' - ;; - -pnmindex) - _arguments \ - '-size[set size of index pictures]:image size' \ - '-across[specify number of pictures per ros]:images per row' \ - '-colors[specify maximum number of colors]:number of colors' \ - '-black[use black padding]' \ - '-title[specify a title to place at the top of the image]:title' \ - '(-noquant)-quant[enable quantization]' \ - '(-quant)-noquant[disable quantization]' \ - '*:file:_pbm' - ;; - -pnmmargin) - _arguments \ - '(-black -colors)-white' \ - '(-white -colors)-black' \ - '(-white -black)-color:color:_x_color' \ - ':border width' \ - ':file:_pbm' - ;; - -pnmnlfilt) - _arguments ':alpha value' ':radius' ':file:_pbm' - ;; - -pnmpad) - _arguments \ - '(-white)-black[add black border]' \ - '(-black)-white[add white border]' \ - '-l-[specify left border width]:left border width' \ - '-r-[specify right border width]:right border width' \ - '-t-[specify top border width]:top border width' \ - '-b-[specify bottom border width]: :_guard "[0-9]#" "bottom border width"' \ - ':file:_pbm' - ;; - -pnmpaste) - _arguments \ - '(-)'{-replace,-or,-and,-xor} \ - ':"from" picture file:_pbm' \ - :{x,y}' position' \ - ':"into" picture file:_pbm' - ;; - -pnmrotate) - _arguments '-noantialias' ':rotation angle' ':file:_pbm' - ;; - -pnmscale) - local -a scale - - [[ "$words[2]" = -* ]] || scale=( ':scale factor' ) - - _arguments \ - '(-)-reduce:reduction factor' \ - '(-reduce -xysize -pixels -width -xscale)-xsize:width' \ - '(-reduce -xysize -pixels -xsize -xscale)-width:width' \ - '(-reduce -xysize -pixels -height -yscale)-ysize:height' \ - '(-reduce -xysize -pixels -ysize -yscale)-height:height' \ - '(-reduce -xysize -pixels -width -xsize)-xscale:horizontal scale factor' \ - '(-reduce -xysize -pixels -height -ysize)-yscale:vertical scale factor' \ - '(-width -xsize -height -ysize -xscale -yscale -pixels)-xysize:width::height' \ - '(-width -xsize -height -ysize -xscale -yscale -xysize)-pixels:total number of pixels' \ - '-verbose' "$scale[@]" \ - ':file:_pbm' - ;; - -pnmshear) - _arguments '-noantialias' ':shearing angle' ':file:_pbm' - ;; - -pnmtile) - _arguments ':width' ':height' ':file:_pbm' - ;; - -pnmtoddif) - _arguments \ - '-resolution:horizontal resolution::vertical resolution' \ - ':file:_pbm' ':ddif file:_files -g "*.(#i)ddif(-.)"' - ;; - -pnmtofits) - _arguments '-max:maximum value' '-min:minimum value' ':file:_pbm' - ;; - -pnmtojpeg) - _arguments \ - '--exif=:file:_files' \ - '--quality=:quality' \ - --{grayscale,greyscale,optimize,progressive,verbose,baseline} \ - '--comment=:comment' \ - '--dct=:dct method:(int fast float)' \ - '--restart=:rows' \ - '--smooth=:strength' \ - '--maxmemory=:memory use limit (kB)' \ - '--qtables=:file:_files' \ - '--qslots=:table' \ - '--sample=:sampling factor' \ - '--scans:file:_files' \ - ':file:_pbm' - ;; - -pnmtopng) - _arguments \ - -{verbose,downscale,interlace,hist,force} \ - '-alpha:file:_files' '-gamma:value' \ - '-transparent::color:_x_color' '-background:color:_x_color' \ - '-chroma:wx::wy::rx::ry::gx::gy::bx::by' \ - '-phys:x::y::unit' \ - '-text:file:_files' '-ztxt:file:_files' \ - '-time:date ([yy]yy-mm-dd)::time (hh:mm:ss)' \ - '-filter:type:((0\:none 1\:sub 2\:up 3\:avg 4\:paeth))' \ - '-compression:level:(0 1 2 3 4 5 6 7 8 9)' \ - ':file:_pbm' - ;; - -pnmtops) - _arguments \ - '(-noturn)-turn' '(-turn)-noturn' \ - '(-nocenter)-center '(-center)-nocenter \ - '(-rle)-runlength' '(-runlength)-rle' \ - '(-imagewidth -imageheight)-scale:scale factor' \ - '-dpi:output resolution' \ - '(-scale -equalpixels)-imagewidth:width on page (inches)' \ - '(-scale -equalpixels)-imageheight:height on page (inches)' \ - '-width:page width' '-height:page height' \ - '(-imagewidth -imageheight)-equalpixels' \ - ':file:_pbm' - ;; - -pnmtorast) - _arguments '(-rle)-standard' '(-standard)-rle' ':file:_pbm' - ;; - -pnmtosgi) - _arguments \ - '(-rle)-verbatim' '(-verbatim)-rle' \ - '-imagename:image name' \ - ':file:_pbm' - ;; - -pnmtotiff) - _arguments \ - '(-packbits -lzw -g3 -g4 -2d -fill -predictor)-none' \ - '(-none -lzw -g3 -g4 -2d -fill -predictor)-packbits' \ - '(-none -packbits -g3 -g4 -2d -fill -predictor)-lzw' \ - '(-none -packbits -lzw -g4 -predictor)-g3' \ - '(-none -packbits -lzw -g3 -2d -fill -predictor)-g4' \ - '-2d' \ - '-fill' '-minisblack' \ - '(-lsb2msb)-msb2lsb' \ - '(-msb2lsb)-lsb2msb' \ - '-predictor:LZW predictor:((1\:without\ differencing 2\:with\ differencing))' \ - '-rowsperstrip:number of rows per strip' ':file:_pbm' - ;; - -pnmtoxwd) - _arguments \ - '-pseudodepth:depth of PseudoColor dumps' '-directcolor' \ - ':file:_pbm' - ;; - -ppm3d) - _arguments :{left,right}' picture file:_pbm' ':horizontal offset' - ;; - -ppmbrighten) - _arguments \ - '-n[normalize value]' \ - '-s[specify saturation difference]:saturation difference' \ - '-v[specify value difference]:value difference' \ - ':file:_pbm' - ;; - -ppmchange) - local curcontext="$curcontext" state line - - _arguments -C \ - "-closeness[specify how close a pixel's color should be]:closeness (percent)" \ - '-remainder[specify replacement for colours not given explicit replacement]:color:_x_color' \ - '*: :->args' && ret=0 - - if [[ -n "$state" ]]; then - if (( CURRENT & 1 )); then - _wanted colors expl 'new color' _x_color && ret=0 - else - _alternative \ - 'files:file:_pbm' \ - 'colors:old color:_x_color' && ret=0 - fi - fi - - return ret - ;; - -ppmdim) - _arguments ':diminishing factor' ':file:_pbm' - ;; - -ppmdist) - _arguments \ - '(-frequency)-intensity[sort colors by grayscale intensity]' \ - '(-intensity)-frequency[sort colors by frequency]' \ - ':file:_pbm' - ;; - -ppmdither) - _arguments \ - '-dim:matrix size' \ - '-red:number of red shades' \ - '-green:number of green shades' \ - '-blue:number of blue shades' \ - ':file:_pbm' - ;; - -ppmflash) - _arguments ':flash factor' ':file:_pbm' - ;; - -ppmforge) - _arguments \ - -{clouds,night} \ - '-dimension:fractal dimension' '-hour:hour angle' \ - '(-tilt)-inclination:inclination angle' \ - '(-inclination)-tilt:inclination angle' \ - '-mesh:FFT mesh size' '-power:elevations power factor' \ - '-glaciers:glacier elevation' '-ice:polar ice cap extent' \ - '-saturation:star color saturation' \ - '-seed:random number seed' \ - '-stars:minimum star pixel percentage' \ - '(-xsize)-width:width' '(-width)-xsize:width' \ - '(-ysize)-height:height' '(-height)-ysize:height' - ;; - -ppmmake) - _arguments ':color:_x_color' ':width' ':height' - ;; - -ppmmix) - _arguments ':fade factor' ':file:_pbm' ':file:_pbm' - ;; - -ppmntsc) - _arguments ':dim factor' ':file:_pbm' - ;; - -ppmpat) - _arguments \ - '(-)'-{gingham{2,3},g{2,3},madras,tartan,poles,squig,camo,anticamo} \ - ':width' ':height' - ;; - -ppmquant) - local opt=yes - - if [[ "$words[2]" = -(fs|floyd) ]]; then - (( CURRENT-- )) - shift 1 words - opt='' - fi - - if [[ CURRENT -eq 2 ]]; then - if [[ -n "$opt" ]]; then - _wanted options expl option compadd - -map -fs -floyd && ret=0 - else - _wanted options expl option compadd - -map && ret=0 - fi - _message -e numbers 'number of colors' - - return ret - elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then - _description files expl 'map file' - _files "$expl[@]" -g '*.(#i)ppm(-.)' - else - _pbm - fi - ;; - -ppmquantall) - _arguments \ - '-ext:extension' ': :_guard "[0-9]#" "number of colors"' \ - '*:file:_pbm' - ;; - -ppmshift) - _arguments ':shift value' ':file:_pbm' - ;; - -ppmspread) - _arguments ':maximum spread amount' ':file:_pbm' - ;; - -ppmtoacad) - _arguments \ - '(-poly)-dxb[write AutoCAD binary database import file]' \ - '(-dxb)-poly[render pixels as filled polygons]' \ - '-8[restrict colors to the 8 RGB shades]' \ - '(-background)-white[use white background]' \ - '(-white)-background:background color (0-255)' \ - '-aspect:pixel aspect ratio' \ - ':file:_pbm' - ;; - -ppmtobmp) - _arguments \ - '(-windows)-os2' '(-os2)-windows' \ - '-bpp[specify bits per pixel for BMP file]:bits per pixel:(1 4 8 24)' \ - ':file:_pbm' - ;; - -ppmtogif) - _arguments \ - '-interlace[produce interlaced GIF]' \ - '-sort[produce GIF with sorted color map]' \ - '-map[use colors in specified file]:map file:_files' \ - '(-alpha)-transparent[specify transparent color]:color' \ - '(-transparent)-alpha[specify PGM file containing alpha mask]:file:_pbm' \ - '-comment[include a comment in the GIF file]:comment text' \ - '-nolxw[skip LZW compression]' \ - ':file:_pbm' - ;; - -ppmtoicr) - _arguments \ - '-windowname:window name' '-expand:expansion factor' \ - '-display:display screen' '-rle' ':file:_pbm' - ;; - -ppmtoilbm) - _arguments \ - '(-mp -maxplanes)'{-mp,-maxplanes}':planes' \ - '(-fp -fixplanes)'{-fp,-fixplanes}':planes' \ - '(-hambits -hamplanes)'{-hambits,-hamplanes}':planes' \ - -normal -hamif -24if -dcif -hamforce -24force -dcforce \ - '(-dcbits -dcplanes)'{-dcbits,-dcplanes}':bits for red: :bits for green: :bits for blue' \ - -ecs -aga -ham6 -ham8 -compress '-cmethod:method:(none byterun1)' \ - '-map:ppm file:_pbm' -cmaponly -savemem \ - ':file:_pbm' - ;; - -ppmtomap) - _arguments -s{ort,quare} ':file:_pbm' - ;; - -ppmtomitsu) - _arguments \ - '-sharpness:sharpness:(1 2 3 4)' \ - '-enlarge:enlargement factor:(1 2 3)' \ - '-media:output media [1184x1350]:((A\:1216x1350 A4\:1184x1452 AS\:1216x1650 A4S\:1184x1754))' \ - '-copy:number of copies:(1 2 3 4 5 6 7 8 9)' \ - -{dpi300,tiny} ':file:_pbm' - ;; - -ppmtopcx) - _arguments -{24bit,packed} ':file:_pbm' - ;; - -ppmtopj) - _arguments \ - '-gamma:gamma value' '-xpos:x position' -{rle,center} \ - '-ypos:y position' '-back:background brightness:(dark lite)' \ - '-render:rendering algorithm:(none snap bw dither diffuse monodither monodiffuse clusterdither monoclusterdither)' \ - ':file:_pbm' - ;; - -ppmtopjxl) - _arguments \ - -{nopack,presentation,dark,diffuse,cluster,dither} \ - '-gamma:gamma value' \ - '-xshift:x shift' '-yshift:y shift' \ - '(-width -xscale)-xscale:width' \ - '(-xsize -xscale)-width:width' \ - '(-xsize -width)-xscale:horizontal scale factor' \ - '(-height -yscale)-ysize:height' \ - '(-ysize -yscale)-height:height' \ - '(-ysize -height)-yscale:vertical scale factor' \ - ':file:_pbm' - ;; - -ppmtosixel) - _arguments -{raw,margin} ':file:_pbm' - ;; - -ppmtotga) - _arguments -{mono,cmap,rgb,norle} ':file:_pbm' - ;; - -ppmtouil) - _arguments '-name:name prefix' ':file:_pbm' - ;; - -ppmtorle) - _arguments \ - '-name=:name prefix' \ - '-rgb=:X11 rgb file:_files' \ - '-alphamask=:pgm file:_pbm' \ - ':file:_pbm' - ;; - -ppmtoyuvsplit) - _arguments ':base name' ':file:_pbm' - ;; - -psidtopgm) - _arguments \ - ':width' ':height' ':bits per sample' \ - ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"' - ;; -pstopnm) - _arguments \ - '(-portrait)-landscape' \ - '(-landscape)-portrait' \ - '(-pgm -ppm)-pbm' \ - '(-pbm -ppm)-pgm' \ - '(-pbm -pgm)-ppm' \ - -{forceplain,help,nocrop,verbose} \ - '-llx:loxer left x position' '-lly:lower left y position' \ - '-urx:upper right x position' '-ury:upper right y position' \ - '-xborder:x border fraction' '-yborder:y border fraction' \ - '-xmax:maximum width' '-ymax:maximum height' \ - '-xsize:width' '-ysize:height' \ - ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"' - ;; - -rawtopgm) - _arguments \ - '-maxval:value' \ - '-bpp:bytes:(1 2)' \ - -littleendian \ - '(-bt -bottomfirst -rowskip)-'{bt,bottomfirst} \ - '-headerskip:header bytes to skip' \ - '(-bt -bottomfirst)-rowskip:row padding to skip' \ - ': :_guard "[0-9]#" width' ':height' ':grayscale bytes' - ;; - -rawtoppm) - _arguments \ - '-headerskip:header bytes to skip' \ - '-rowskip:row padding to skip' \ - '(-rgb -rbg -grb -gbr -brg -bgr)'-{rgb,rbg,grb,gbr,brg,bgr} \ - '(-interrow)-interpixel' \ - '(-interpixel)-interrow' \ - ': :_guard "[0-9]#" width' ':height' ':grayscale bytes' - ;; - -rgb3toppm) - if [[ CURRENT -eq 2 ]]; then - expl='red picture file' - elif [[ CURRENT -eq 3 ]]; then - expl='green picture file' - elif [[ CURRENT -eq 4 ]]; then - expl='blue picture file' - fi - - if [[ -n "$expl" ]]; then - _description files expl "$expl" - _files "$expl" -g '*.(#i)pgm(-.)' - fi - ;; - -rletopnm) - _arguments \ - '--alphaout=:alpha file:_pbm' \ - -{h,-headerdump,v,-verbose,p,-plain} \ - ':file:_pbm' - ;; - -sgitopnm) - _arguments '-verbose' '-channel:channel' ':file:_pbm' - ;; - -sldtoppm) - _arguments \ - -{adjust,dir,info,verbose} \ - '(-width -xsize)'-{width,xsize}:width \ - '(-height -ysize)'-{height,ysize}:height \ - '-scale:scale factor' \ - '(-lib -Lib)'-{l,L}'ib:slide name' \ - ':file:_pbm' - ;; - -yuvsplittoppm) - _arguments ':base name' ':width' ':height' '-ccir601' - ;; - -yuvtoppm) - _arguments ':width' ':height' ':image bytes' - ;; - -zeisstopnm) - _arguments '(-pgm -ppm)'-p{g,p}m ':file:_pbm' - ;; - -*) - _wanted files expl 'picture file' _path_files -g "$pat" || - _files "$expl[@]" -g '*.(#i)p[bgp]m(-.)' -esac diff --git a/result/sw/share/zsh/5.9/functions/_pbuilder b/result/sw/share/zsh/5.9/functions/_pbuilder deleted file mode 100644 index 6377538b..00000000 --- a/result/sw/share/zsh/5.9/functions/_pbuilder +++ /dev/null @@ -1,32 +0,0 @@ -#compdef pbuilder - -local expl - -if (( CURRENT == 2 )); then - _wanted tag expl 'pbuilder command' \ - compadd create update build execute clean login dumpconfig debuild \ - --create --update --build --execute --clean --login --dumpconfig --debuild -else - compset -n 1 - _arguments \ - '--basetgz:location:_files -g "*.tgz(-.)"' \ - '--buildplace:location:_files -/' \ - '--buildresult:location:_files -/' \ - '--mirror:URL:_urls' \ - '--othermirror:URL:_urls' \ - '--distribution:codename:_deb_codenames' \ - '--architecture:architecture:_deb_architectures' \ - '--components:component:(main contrib non-free)' \ - '--override-config' \ - '--hookdir:location:_files -/' \ - '--debbuildopts:dpkg-buildpackage options:' \ - '--logfile:log file:_files' \ - '--binary-arch' \ - '--bindmounts:bind mountpoints:_files -/' \ - '--debootstrapopts:debootstrap options:' \ - '--debootstrap:debootstrap implementation:(debootstrap cdebootstrap)' \ - '--save-after-login' \ - '--save-after-exec' \ - '--autocleanaptcache' \ - '*:source package:_files -g "*.dsc(-.)"' -fi diff --git a/result/sw/share/zsh/5.9/functions/_pdf b/result/sw/share/zsh/5.9/functions/_pdf deleted file mode 100644 index 60cee84e..00000000 --- a/result/sw/share/zsh/5.9/functions/_pdf +++ /dev/null @@ -1,20 +0,0 @@ -#compdef pdf2dsc pdf2ps pdfimages pdfinfo pdftopbm pdftops pdftotext pdfopt pdffonts kpdf apvlv epdfview - -local expl ext='' - -# ghostscript: -# pdf2dsc pdf2ps pdfopt -# xpdf: -# pdfimages pdfinfo pdftopbm pdftops pdftotext xpdf pdffonts -# KDE 3: -# kpdf -# KDE 4: -# okular - -if [[ "$1" == '-z' ]]; then - ext='(|.bz2|.gz|.Z)' - shift -fi - -_description files expl 'PDF file' -_files "$@" "$expl[@]" -g "*.(#i)pdf$ext(-.)" diff --git a/result/sw/share/zsh/5.9/functions/_pdftk b/result/sw/share/zsh/5.9/functions/_pdftk deleted file mode 100644 index b26deb15..00000000 --- a/result/sw/share/zsh/5.9/functions/_pdftk +++ /dev/null @@ -1,61 +0,0 @@ -#compdef pdftk - -_pdfwithhandle() -{ - compset -P '(#I)[A-Z]=' - _files "$@" -g '(#i)*.pdf' -} - -local expl -local -a opts operations - -opts=(output encrypt_40bit encrypt_128bit allow owner_pw user_pw flatten - compress uncompress keep_first_id keep_final_id drop_xfa verbose - dont_ask do_ask) -operations=(cat attach_files unpack_files burst fill_form background stamp - generate_fdf multibackground multistamp dump_data dump_data_fields - update_info) - -case $words[CURRENT-1] in - ((input|owner|user)_pw) - _message "password, or PROMPT" - ;; - - (allow) - #_description permissions expl "permission" - #compadd $expl \ - _values -s , permission \ - Printing DegradedPrinting ModifyContents Assembly CopyContents \ - ScreenReaders ModifyAnnotations FillIn AllFeatures - ;; - - (attach_files) - _files "$@" - ;; - - (fill_form) - _wanted files expl 'FDF or XFDF file' _files -g '(#i)*.(fdf|xfdf)(-.)' - ;; - - ((multibackground|background|stamp|multistamp|output)) - _pdf - ;; - - (update_info) - _files - ;; - - (*) - false - ;; -esac && return 0 - -if [[ -n $words[(r)(${(j:|:)operations})] ]]; then - _description options expl "option" - compadd $@ $expl $opts -else - _tags files operations - _alternative \ - 'files:PDF file:_pdfwithhandle' \ - "operations:operation:($operations)" -fi diff --git a/result/sw/share/zsh/5.9/functions/_perf b/result/sw/share/zsh/5.9/functions/_perf deleted file mode 100644 index dd962160..00000000 --- a/result/sw/share/zsh/5.9/functions/_perf +++ /dev/null @@ -1,809 +0,0 @@ -#compdef perf - -local curcontext="$curcontext" curstate state line expl nm="$compstate[nmatches]" -local -a args opts cmd fields sortkeys -local -A exclude full short -local -i i skip - -exclude=( - --add \* --cgroup \* --definition \* --del \* - --detailed \* --dlarg \* --dsos \* --event \* --events \* - --fields \* --funcs \* --node-info \* --symbols \* --vars \* - --gtk '(--stdio --stdio2 --tui)' - --tui '(--gtk --stdio --stdio2)' - --stdio '(--gtk --tui --stdio2)' - --stdio2 '(--gtk --tui --stdio)' - --log-fd '(--output)' - --output '(--log-fd)' - --tracer '(-G --graph-funcs -g --nograph-funcs -F --funcs)' - --graph-funcs '(-g --nograph-funcs -N --notrace-funcs -T --trace-funcs -t --tracer)*' - --nograph-funcs '(-G --graph-funcs -N --notrace-funcs -T --trace-funcs -t --tracer)*' - --trace-funcs '(-N --notrace-funcs -G --graph-funcs -g --nograph-funcs -t --tracer)*' - --notrace-funcs '(-T --trace-funcs -G --graph-funcs -g --nograph-funcs -t --tracer)*' - --source '!(--no-source)' -) - -full=( - --addr-range '=[list traced records within address range]:range' - --affinity '=[set affinity mask of trace reading thread]:affinity:(node cpu)' - --aio '=[specify number of control blocks in asynchronous trace writing mode]:control blocks (1-4) [1]' - --all-cgroups '[record cgroup events]' - --all-cpus '[system-wide collection from all CPUs]' - --asm-raw '[show raw instruction encoding of assembly instructions]' - --aux-sample '=[sample AUX area]::options' - --baseline-only '[show only items with match in baseline]' - --branch-any '[sample any taken branches]' - --branch-filter '=[enable taken branch stack sampling]:mask' - --branch-stack '[use branch records for per branch histogram filling]' - --buffer-size '=[size of per-cpu buffer]: :_numbers size B K M G' - --build-ids '[inject build-ids into the output stream]' - --buildid-all '[handle build-id of all DSOs]' - --call-graph '=[enable call-graph (stacktrace) recording]:(fp dwarf)' - --cgroup '=[monitor event in named cgroup only]:cgroup' - --children '[accumulate callchains of children and show total overhead]' - --clang-opt '=:clang option' - --clang-path '=:clang binary:_command_names -e' - --clockid '=[specify clockid to use for events]:clock id' - --coalesce '=:coalesce field:_sequence compadd - pid tid iaddr dso' - --color-cpus '=[highlight given CPUs in map]:cpus' - --color-pids '=[highlight given pids in map]: :_sequence _pids' - --column-widths '=[use fixed column widths]:widths (comma-separated)' - --comms '=[restrict to specified comms]:comms' - --compression-level '=[produce compressed trace using specified level]:level (1-22) [1]' - --compute '=[set comparison method]:comparison method [delta-abs]:(delta delta-abs ratio wdiff)' - --control '=[listen on ctl-fd descriptor for command to control measurement]:descriptor' - --count '=[specify event period]:period' - --count-filter '=[only display functions with more than given number of events]:minimum number of events' - --cpu '=[restrict to specified CPUs]:cpus' - --cpus '=[restrict to specified CPUs]:cpus' - --cycles-hist '[show cycles histogram and standard deviation]' - --data '[record the sample addresses]' - --data-page-size '[record the sampled data address data page size]' - --definition '=[show trace-event definition converted from given probe-event]:event' - --delay '=[specify delay before starting measurement after program start]:delay (ms)' - --demangle '[demangle symbols]' - --demangle-kernel '[demangle kernel symbols]' - --detailed '[detailed run - start a lot of events]' - --disassembler-style '=[specify disassembler style]:style' - --dlarg '=:dlfilter argument' - --dlfilter '=[filter sample events using the given shared object]:file:_files -g "*.so(-.)"' - --dry-run '[parse options then exit]' - --dsos '=[only consider symbols in these dsos]:dso' - --dump-raw-trace '[dump raw trace in ASCII]' - --dump-symtab '[dump the symbol table used for profiling]' - --duration '=[show only events with duration over threshold]:minimum duration (ms)' - --entries '=[specify how many functions to display]:number of functions' - --event '=[select the PMU event]:event:->events' - --exclude-other '[only display entries with parent-match]' - --exclude-perf "[don't record events from perf itself]" - --exec '=[specify path to executable or shared library]:file:_files' - --expr '=[specify syscalls/events to trace]:syscall or event' - --field-separator '=[specify field separator]:separator' - --fields '=[specify output field]:field:->fields' - --filter '=[event filter]:filter' - --filter-pids '=[specify pids to filter]: :_sequence _pids' - --for-each-cgroup '=[expand events for each cgroup]:cgroup' - --force "[don't complain, do it]" - --format '=[specify output formatting style]:style:(default simple)' - --formula '[show formula]' - --freq '=[specify profile frequency]:frequency (Hz)' - --func-opts '=[specify function tracer options]:option:_sequence compadd - call-graph irq-info' - --funcs '=[show available functions]::filter' - --graph-funcs '=[select function_graph tracer and trace given functions]:function' - --graph-function '=[only print symbols and callees with --call-trace/--call-ret-trace]:symbol list' - --graph-opts '=[specify graph tracer options]: : _values -s , option nosleep-time noirqs verbose thresh\:duration depth\:depth' - --group '=[show event group information together]' - --group-sort-idx '=[sort output by specified event in group]:event index' - --gtk '[use the graphical interface]' - --guestkallsyms '=[provide copy of guest os /proc/kallsyms]:file:_files' - --guestmodules '=[provide copy of guest os /proc/modules]:file:_files' - --guestmount '=[specify guest os root file system mount directory]:path:_directories' - --guestvmlinux '=[provide guest os kernel]:kernel file:_files' - --hide_kernel_symbols '[hide kernel symbols]' - --hide_user_symbols '[hide user symbols]' - --hide-unresolved '[only display entries resolved to a symbol]' - --hierarchy '[show entries in a hierarchy]' - --ignore-callees '=[ignore callees of specified functions in call graphs]:functions (regex)' - --ignore-vmlinux '[ignore vmlinux files]' - --inherit '[trace child processes]' - --input '=[specify input file]:file:_files' - --interval-count '=[print counts for fixed number of times]:times' - --interval-print '=[print counts at regular interval]:interval (ms)' - --intr-regs '=[sample selected machine registers on interrupt]:register' - --inverted '[alias for inverted call graph]' - --iostat '=::default' - --itrace '=[specify instruction tracing options]:option:->itrace-opts' - --jit '[merge jitdump files into perf.data file]' - --kallsyms '=[specify kallsyms pathname]:path:_files' - --kcore '=[add specified kcore file to the cache]:file:_files' - --kernel '[show running kernel build id]' - --Latency '[show latency attributes (irqs/preemption disabled, etc)]' - --list '[list all cached files]' - --list-opts '[list available options]' - --log-fd '=[log output to file descriptor instead of stderr]:file descriptor:_file_descriptors' - --map-dump '=[specify BPF map to periodically dump]:BPF map' - --max-blocks '=[set maximum number of code blocks to dump with brstackinsn]:blocks' - --max-events '=[set maximum number of events to print]:events' - --max-size '=[limit the maximum size of the output file]: :_numbers size B K M G' - --max-stack '=[set maximum stack depth when parsing the callchain]:depth [kernel.perf_event_max_stack or 127]' - --metrics '=[monitor specified metrics or metric groups]:metric' - --min-stack '=[set minimum stack depth when parsing the callchain]:depth' - --mmap-flush '=[specify minimum size that is extracted from mmap data pages]: :_numbers -d 1 -u bytes size B K M G' - --mmap-pages '=[specify number of mmap data pages]:number of pages' - --modules '[load module symbols]' - --namespaces '[record namespaces events]' - --no-bpf-event "[don't record bpf events]" - --no-buildid "[don't collect buildids in perf.data]" - --no-buildid-cache "[don't update the buildid cache]" - --no-inherit "[child tasks don't inherit counters]" - --no-samples "[don't sample]" - --node-info '[show extra node info in report]' - --nograph-funcs "=[select function_graph tracer and don't trace given functions]:function" - --notrace-funcs "=[select function tracer and don't trace given functions]:function filter" - --null "[null run - don't start any counters]" - --num-thread-synthesize '=[specify number of threads to run for event synthesis]:threads' - --objdump '=[specify objdump binary to use for disassembly and annotations]:path:_command_names -e' - --order '=[specify compute sorting]:ordering [1]:(( - 0\:baseline\ overhead - 1\:computed\ value\ of\ column\ 1))' - --output '=[specify output file]:file:_files' - --parent '=[filter by parent caller]:parent (regex)' - --percent-limit "=[don't show entries under specified percentage]:percent" - --percent-type '=[set annotation percent type]:compadd {local,global}{period,hits}' - --percentage '=[set display of filtered entries percentages]:display:(relative absolute)' - --phys-data '[record/report sample physical addresses]' - --pid '=[restrict to specified process id]:process: _sequence _pids' - --post '=[specify command to run after to the measured command]: :_cmdstring' - --pre '=[specify command to run prior to the measured command]: :_cmdstring' - --prefix '=[add prefix to source file path names]:prefix:_directories' - --prefix-strip '=[strip elements from source file path names]:elements' - --pretty '=[specify pretty printing style]:key:(normal raw)' - --proc-map-timeout '=[specify per-thread proc mmap processing timeout]:timeout (ms)' - --quiet "[don't print any messages]" - --raw-samples '[collect raw sample records from all opened counters]' - --raw-trace '[show raw trace event output]' - --realtime '=[profile --addevents with specified priority]:RT SCHED_FIFO priority' - --repeat '=[specify amount of times to repeat the run]:repetitions' - --samples '=[specify number of samples to save per histogram entry for individual browsing]:samples' - --sched-stat '[get details of how long tasks slept]' - --show-cpu-utilization '[show sample percentage for different cpu modes]' - --show-info '[display extended perf.data information]' - --show-nr-samples '[show a column with the number of samples]' - --show-on-off-events '[show the --switch-on/off events too]' - --show-round-events '[display finished round events]' - --show-switch-events '[display context switch events]' - --show-total-period '[show a column with the sum of periods]' - --skip-missing '--skip-missing[skip symbols that cannot be annotated]' - --snapshot '=[select AUX area tracing snapshot mode]::snapshot capturing parameter' - --socket-filter '=[only show processor socket that match specified filter]:filter' - --sort '=[sort by specified keys]:key:->sort-keys' - --stat '[per-thread counts]' - --stdio '[use the stdio interface]' - --stdio-color '=[specify when to use colors in output]:mode [always]:(always never auto)' - --stdio2 '[use the stdio2 interface, non-interactive, TUI formatting]' - --stitch-lbr '[enable LBR callgraph stitching approach]' - --stop-bt '=[stop display of callgraph at these symbols]:symbol list' - --stream '[enable hot streams comparison]' - --strip '[strip non-synthesized events]' - --summary '[show only syscall summary with statistics]' - --switch-max-files '=[limit number of generated files to keep]:limit' - --switch-off '=[stop considering events after occurrence of specified event]:event' - --switch-on '=[consider events after occurrence of specified event]:event' - --switch-output '=[specify when to rotate output file]::signal or size [USR2]:_signals' - --switch-output-event '=[switch output event selector]:event:->events' - --sym-annotate '=[specify symbol to annotate]:symbol' - --symbol '=[specify symbol]:symbol' - --symbol-filter '=[only show symbols that match filter]:filter' - --symbols '=[only consider specified symbols]:symbol' - --symfs '=[look symbol files relative to specified directory]:directory:_directories' - --sync '[call sync() before starting a run]' - --system '[read and write system config file]' - --target-ns '=[obtain mount namespace information form the target pid]:pid:_processes' - --td-level '=[set the metrics level for the top-down statistics]:level' - --tid '=[restrict to specified threads]:tids' - --time '=[specify time span of interest]:time span (start,stop)' - --time-quantum '=[set time quantum for time sort key]: :_numbers -d 100ms "time quantum" ms us ns s' - --timeout '=[stop workload and print counts after a timeout period]:timeout (ms)' - --timestamp-filename '[append timestamp to output file name]' - --trace-fields '[show tracepoint fields]' - --trace-funcs '=[select function tracer and set function filter]:function filter' - --tracer '=[specify tracer to use]:tracer:(function_graph function)' - --tui '[use the curses interface]' - --uid '=[profile events in threads owned by uid]:uid:_users' - --user '[read and write user config file]' - --user-regs '=[sample selected machine registers on interrupt]:registers' - --vars '=[show available local variables at given probe point]:probe' - --vcpu '=[specify vcpu id to report]:vcpu' - --verbose '[be more verbose]' - --vm-time-correlation '=[correlate time between VM guests and the host]::options' - --vmlinux '=[specify vmlinux path]:vmlinux pathname:_files' - --weight '[sample by weight (on special events only)]' - --with-hits '[show only DSOs with hits]' - --with-summary '[show all syscalls and summary with statistics]' - --zero '[zero history across updates]' -) -short=( - --add -a - --all-cpus -a - --baseline-only -b - --branch-any -b - --build-ids -b - --cpu -C - --coalesce -c - --compute -c - --count -c - --delay -D - --dump-raw-trace -D - --data -d - --dsos -d - --event -e - --fields -F - --formula -F - --freq -F - --funcs -F - --force -f - --cgroup -G - --graph-funcs -G - --with-hits -H - --intr-regs -I - --show-info -I - --input -i - --no-inherit -i - --branch-filter -j - --jit -j - --clockid -k - --key -k - --vmlinux -k - --list -l - --disassembler-style -M - --buffer-size -m - --mmap-pages -m - --modules -m - --node-info -N - --no-buildid-cache -N - --no-samples -n - --show-nr-samples -n - --order -o - --output -o - --pid -p - --quiet -q - --raw-samples -R - --realtime -r - --repeat -r - --snapshot -S - --symbols -S - --with-summary -S - --sched-stat -s - --script -s - --sort -s - --summary -s - --timestamp -T - --tid -t - --tracer -t - --uid -u - --verbose -v - --weight -W - --column-widths -w - --field-separator -x - --compression-level -z - --zero -z -) - -cmd=( $words[1] ) -(( $#words > 2 )) && ign='!' - -_arguments -C -A "-*" \ - "${ign}(- *)"{-v,--version}'[display version information]' \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)-vv[print the compiled-in status of libraries]" \ - '(- *)--exec-path[display or set exec path]' \ - '(- *)--html-path[display html documentation path]' \ - "${ign}(- *)--list-opts[list available options]" \ - "${ign}(- *)--list-cmds[list available subcommands]" \ - '!(-p --paginate --no-pager)'{-p,--paginate} \ - --no-pager \ - '--buildid-dir=[setup buildid cache directory]: :_directories' \ - '--debugfs-dir=[set debugfs directory]: :_directories' \ - '--debug=[setup debug variable]: : _values -s, "debug option" - verbose\:level ordered-events data-convert stderr perf-event-open' \ - '1: :->subcmds' \ - '*:: :->args' - -while (( $#state )); do - curstate=$state - shift state - case $curstate in - subcmds) - subcmds=( - ${${${(f)"$(_call_program subcmds $cmd)"}[3,-2]## ##}/ ##(#m)?/:$MATCH[-1]:l} - 'help:display help information about perf' - ) - _describe 'subcommand' subcmds - ;; - subsubcmds) - _description commands expl command - compadd "$expl[@]" -a subcmds - ;; - args) - (( $#words < 3 )) && ign='' - cmd+=( $words[1] ) - curcontext="${curcontext%:*:*}:${(j.-.)cmd}:" - args=() - skip=0 - case ${(j.-.)cmd[2,-1]} in - kvm-*|top|stat) - full[--group]='[put the counters into a counter group]' - ;| - bench-[^-]##(|-all)) skip=1 opts=() subcmds=() ;| - - annotate) - full+=( - --full-paths "[don't shorten the displayed pathnames]" - --print-line "[print matching source lines (may be slow)]" - ) - short+=( - --print-line -l - --full-paths -P - --symbol -s - ) - args+=( - "--no-source[don't interleave source code with assembly code]" - '1:: :_guard "^-*" "symbol name"' - ) - ;; - - archive) - _arguments --help '1:file:_files' - break - ;; - - bench) - short+=( - --edge -E - --format -f - --nfds -f - --group -g - --iterations -i - --loop -l - --nr_loops -l - --nr-mmaps -m - --multiq -m - --nested -N - --noaffinity -n - --nonblocking -B - --nr-samples -n - --pipe -p - --randomize -R - -fruntime -r - --size -s - --thread -t - --threaded -T - ) - args=( - '1:subsystem:(sched syscall mem numa futex epoll internals all)' - '*:: :->args' - ) - full+=( - --group '=[specify number of groups]:groups' - --nr_loops '=[specify number of loops to run]:loops [100]' - --pipe '[use pipe() instead of socketpair()]' - --runtime '=[specify runtime]:runtime (seconds)' - --thread '[be multi thread instead of multi process]' - --threads '=[specify number of threads]:threads' - --loop '=[specify number of loops]:loops' - --iterations '=[number of iterations used to compute average]:iterarions' - --threaded '[specify threads/process based task setup]' - --size '=[specify size of memory buffers]: :_numbers -d 1MB size B KB MB GB TB' - ) - ;; - bench-sched) args=( '1:suite:(all messaging pipe)' '*:: :->args' ) ;; - bench-numa) args=( '1:suite:(all mem)' '*:: :->args' ) ;; - bench-mem) args=( '1:suite:(all memcpy memset find_bit)' '*:: :->args' ) ;; - bench-futex) - args=( '1:suite:(all hash wake wake-parallel requeue lock-pi)' '*:: :->args' ) - ;; - bench-epoll) args=( '1:suite:(all wait ctl)' '*:: :->args' ) ;; - bench-internals) args=( '1:suite:(all synthesize kallsyms-parse inject-build-id)' '*:: :->args' ) ;; - bench-syscall) args=( '1:suite:(all basic)' '*:: :->args' ) ;; - - buildid-cache) - full+=( - --add '=[add specified file to the cache]:file:_files' - --debuginfod '=[specify debuginfod URL to be used when retrieving perf.data binaries]:url:_urls' - --missing '=[list missing build ids in the cache for the specified]:file:_files' - --purge '=[purge all cached binaries including older caches which have specified path from the cache]:path:_files' - --purge-all '[purge all cached binaries - flush out entire cache]' - --remove '=[remove a cached binary which has same build-id of specified file from the cache]:file:_files' - --update '=[update specified file of the cache]:file:_files' - ) - short+=( - --kcore -k - --missing -M - --purge -p - --purge-all -P - --remove -r - --update -u - ) - ;; - c2c) - args+=( '1:commands:(record report)' '*:: :->args' ) - ;; - daemon) - full+=( - --base '=[specify base directory]:base directory:_directories' - --config '=[specify config file path]:config file:_files' - --foreground "[don't put process in background]" - --session '=[apply to specific session]:session' - ) - short[--foreground]=-f - args=( '1:action:(start stop signal ping)' '*:: :->args' ) - ;; - (kvm-|)buildid-list) - short[--kernel]=-k - ;; - config) - full[--list]='[show current config variables]' - ;; - data) - full+=( - --all '[convert all events]' - --to-json '=[convert to JSON format]:output file:_files' - --to-ctf '=[convert to CTF format]:output file:_files' - --tod '[convert time to wall clock time]' - ) - exclude+=( - --to-ctf '(--to-json)' - --to-json '(--to-ctf)' - ) - ;; - (kvm-|)diff) - short+=( - --baseline-only -b - --compute -c - --comms -C - --field-separator -t - --formula -F - --order -o - --period -p - ) - full+=( - --period '[show period values]' - ) - unset 'short[--pid]' - unset 'short[--tid]' - sortkeys=( pid comm dso symbol cpu parent srcline ) - ;; - evlist) - short+=( --group -g ) - ;; - ftrace) - short+=( - --nograph-funcs -g - --graph-funcs -G - --buffer-size -m - --notrace-funcs -N - --trace-funcs -T - --tracer -t - ) - unset 'short[--tid]' - ;; - help*) - short+=( -a --all -i --info -m --man -w --web ) - ;; - inject) - short+=( --jit -j --build-ids -b --sched-stat -s ) - ;; - kmem) - full+=( - --alloc '[show per-allocation statistics]' - --caller '[show per-callsite statistics]' - --raw-ip '[show raw ip instead of symbol]' - --line '=[show specified number of lines]:lines' - --live '[show live page stat]' - --slab '[analyze SLAB allocator events]' - --page '[analyze page allocator events]' - ) - short[--line]=-l - sortkeys=( - ptr callsite bytes hit pingpong frag - page order migtype gfp - ) - ;; - list) - short+=( --desc -d --long-desc -v ) - full+=( - --desc '[print extra event descriptions]' - --details '[print information on the perf event names and expressions used internally by events]' - --long-desc '[print longer event descriptions]' - ) - args=( '*::events:->event-types' ) - ;; - lock-info) - short[--map]=-m - short[--threads]=-t - full+=( - --map '[dump map of lock instances (address:name table)]' - --threads '[dump thread list in perf.data]' - ) - ;; - lock-report) - full[--key]='=[specify sort key]:key [acquired]:(acquired contended avg_wait wait_total wait_max wait_min)' - ;; - mem) - short[--phys-data]=-p - short[--type]=-t - short[--dump-raw-samples]=-D - full[--type]='=[select the memory operation type]:type:(load store)' - full[--dump-raw-samples]='[dump raw samples in ASCII]' - ;; - probe) - full+=( - --add '=[probe point definition]:probe' - --del '=[delete a probe event]:probe event' - --filter '=[set a filter]:filter' - --line '[show source code lines which can be probed]' - --max-probes '=[set how many probe points can be found for a probe]:probes' - --module '=[specify target module name or path]:module name or path:_directories' - --range '[show variables location range in scope]' - --source '=[specify path to kernel source]:path:_directories' - ) - short+=( - --definition -D - --del -d - --exec -x - --line -L - --module -m - --dry-run -n - --source -s - --vars -V - ) - unset 'exclude[--source]' - unset 'short[--list]' - ;; - timechart-record) - short+=( --io-only -I --callchain -g ) - full+=( - --callchain '[record callchain]' - --io-only '[record only IO data]' - ) - ;; - *record) - short+=( - --data -d - --clockid -k - --no-samples -n - --no-buildid -B - --no-buildid-cache -N - --period -P - --stat -s - ) - full+=( - --overwrite '[use overwrite mode]' - --period '[record the sample period]' - --timestamp '[record the sample timestamps]' - --transaction '[sample transaction flags (special events only)]' - ) - ;; - (c2c-|kvm-|)report) - short+=( - --branch-stack -b - --comms -c - --inverted -G - --call-graph -g - --parent -p - --threads -T - --field-separator -t - --exclude-other -x - ) - full+=( - --threads '[show per-thread event counters]' - ) - unset 'short[--pid]' - unset 'short[--tid]' - sortkeys=( - pid comm dso symbol parent cpu socket srcline weight local_weight cgroup_id - ) - fields=( - overhead period sample overhead overhead_sys overhead_us - overhead_guest_sys overhead_guest_us overhead_children - sample period pid comm dso symbol parent cpu socket - srcline srcfile local_weight weight transaction trace - symbol_size dso_size cgroup cgroup_id ipc_null time - code_page_size local_ins_lat ins_lat p_stage_cyc dso_from - dso_to symbol_from symbol_to mispredict abort in_tx - cycles srcline_from srcline_to ipc_lbr symbol_daddr - dso_daddr locked tlb mem snoop dcacheline symbol_iaddr - phys_daddr data_page_size blocked - ) - ;; - sched-latency) - short+=( - --CPU -C - --pids -p - ) - full+=( - --pids '[latency stats per pid instead of per comm]' - --CPU '=[specify CPU to profile on]:cpu' - ) - ;; - sched-timehist) - short+=( - --idle-hist -I - --migrations -M - --next -n - --cpu-visual -V - --wakeups -w - ) - full+=( - --cpu-visual '[add CPU visual]' - --idle-hist '[show idle events only]' - --migrations '[show migration events]' - --next '[show next task]' - --state '[show task state when sched-out]' - --wakeups '[show wakeup events]' - ) - ;; - (*-|)script) - short+=( --comms -c --gen-script -g --Latency -L --debug-mode -d ) - full+=( - --debug-mode '[do various checks like samples ordering and lost events]' - --gen-script '=[generate perf-script.xx script in specified language]:language' - --script '=[specify script file name]:script file name:_files' - ) - unset 'short[--pid]' - unset 'short[--dsos]' - unset 'short[--tid]' - fields=( - comm tid pid time cpu event trace ip sym dso addr symoff - srcline period iregs uregs brstack brstacksym flags - bpf-output brstackinsn brstackoff callindent insn insnlen - synth phys_addr metric misc ipc tod data_page_size - code_page_size - ) - ;; - *stat*) - full+=( - --big-num "[print large numbers with thousands' separators]" - --delay '=[wait after starting program]:delay (msecs)' - --key '=[specify key for sorting]:key:(sample time)' - --no-aggr '[disable CPU count aggregation]' - --transaction '[hardware transaction statistics]' - ) - short+=( - --no-aggr -A - --big-num -B - --detailed -d - --group -g - --interval-print -I - --metrics -M - --null -n - --sync -S - --transaction -T - ) - exclude+=( - --log-fd '(-o --output)' - --output '(--log-fd)' - ) - unset 'short[--quiet]' - ;; - test*) - short+=( --dont-fork -F --skip -s ) - full+=( - --dont-fork "[don't fork for testcase]" - --skip '=[specify tests to skip]:test' - ) - ;; - timechart) - short+=( --width -w --topology -t --proc-num -n --process -p ) - full+=( - --highlight '=[highlight tasks that outlast duration or with given name]:duration or name' - --io-skip-eagain "[don't draw EAGAIN IO events]" - --io-min-time '=[all IO faster than minimum time will visually appear longer]: :_numbers -u ns -d 1ms time ms us' - --io-merge-dist '=[merge events that are within specified time]: :_numbers -u ns -d 1us time ms us' - --process '=[select process]:process:_pids' - --proc-num '=[specify minimum number of tasks to print]:tasks' - --topology '[sort CPUs according to topology]' - --width '=[specify page width]:page width' - ) - ;; - (kvm-|)top) - full+=( - --delay '=[specify delay between refreshes]:delay (seconds)' - --comms '=[only consider symbols in specified comms]:comm' - --dsos '=[only consider symbols in these dsos]:dso' - --overwrite '[use a backward ring buffer]' - ) - short+=( - --count-filter -f - --delay -d - --dump-symtab -D - --entries -E - ) - unset 'short[--dsos]' - unset 'short[--fields]' - unset 'short[--force]' - unset 'short[--symbols]' - sortkeys=( - pid comm dso symbol parent srcline weight local_weight - abort in_tx transaction overhead sample period - ) - fields=( overhead period sample $sortkeys ) - ;; - trace) - short+=( - --pf -F - --summary -s - --time -T - ) - full+=( - --pf '=[trace pagefaults]::type [maj]:(all min maj)' - --time '[show full timestamp, not relative]' - ) - unset 'short[--no-inherit]' - ;; - esac - if (( !skip )); then - subcmds=( $(_call_program commands "$cmd --list-cmds|grep -v -e '^#' -e Unknown") ) - opts=( $(_call_program options "$cmd --list-opts|grep -v -e '^#' -e Unknown") ) - fi - - for (( i = $#opts; i; i-- )); do - opts[i]=( - ${exclude[$opts[i]]}${opts[i]}${full[$opts[i]]} - ${short[$opts[i]]:+${exclude[$opts[i]]}${short[$opts[i]]}${full[$opts[i]]/(#s)=/+}} - ) - done - (( $#subcmds)) && opts+=( - "${ign}(- *)--list-cmds[list available subcommands]" \ - '1: :->subsubcmds' - '*:: :->args' - ) - (( $#opts )) && opts+=( - "${ign}(- *)--help[display help information]" - "${ign}(- *)--list-opts[list available options]" - ) - _arguments -C $opts $args \ - "${ign}(- *)-h[display brief usage summary]" - ;; - event-types) - _wanted event-types expl 'event type' compadd - hw sw cache pmu tracepoint event_glob - ;& - events) - _wanted events expl event compadd - \ - ${${=${${(f)"$(_call_program events perf list hw sw cache pmu tracepoint event_glob)"}[2,-5]# }%% [ \[]*}:#OR} - ;; - itrace-opts) - _values -s '' "itrace option [ibxwpe]" \ - 'i[synthesize instructions events]' \ - 'b[synthesize branches events (branch misses for Arm SPE)]' \ - 'c[synthesize branches events (calls only)]' \ - 'r[synthesize branches events (returns only)]' \ - 'x[synthesize transactions events]' \ - 'w[synthesize ptwrite events]' \ - 'p[synthesize power events (incl. PSB events for Intel PT)]' \ - 'o[synthesize other events recorded due to the use of aux-output]' \ - 'e[synthesize error events]' \ - 'd[create a debug log]' \ - 'f[synthesize first level cache events]' \ - 'm[synthesize last level cache events]' \ - 'M[synthesize memory events]' \ - 't[synthesize TLB events]' \ - 'a[synthesize remote access events]' \ - 'g[synthesize a call chain (use with i or x)]' \ - 'G[synthesize a call chain on existing event records]' \ - 'l[synthesize last branch entries (use with i or x)]' \ - 'L[synthesize last branch entries on existing event records]' \ - 's[skip initial number of events]' \ - 'q[quicker (less detailed) decoding]' \ - 'Z[prefer to ignore timestamps (so-called "timeless" decoding)]' - ;; - fields) - _sequence _wanted fields expl 'field' compadd - -a fields - ;; - sort-keys) - _sequence _wanted sort-keys expl 'sort key' compadd - -a sortkeys - ;; - esac -done - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/sw/share/zsh/5.9/functions/_perforce b/result/sw/share/zsh/5.9/functions/_perforce deleted file mode 100644 index a52ac1d0..00000000 --- a/result/sw/share/zsh/5.9/functions/_perforce +++ /dev/null @@ -1,3162 +0,0 @@ -#compdef p4 p4d -value-,P4CLIENT,-default- -value-,P4PORT,-default- -value-,P4MERGE,-default- -value-,P4USER,-default- - -# Maintainer: Peter Stephenson <pws@csr.com>. - -# Increasingly loosely based on _cvs version 1.17. -# Completions currently based on Perforce release 2016.1. - -# Styles, tags and contexts -# ========================= -# -# If the `verbose' style is set (it is assumed by default), verbose -# descriptions are provided for many completed quantities derived -# dynamically such as subcommand names, labels, changes -- in fact, -# just about anything for which Perforce itself produces a verbose, -# one-line description. It may be turned off in the context of each -# subcommand e.g. -# zstyle ':completion:*:p4-labelsync:*' verbose false -# or for a particular tag, e.g. changes, -# zstyle ':completion:*:changes' verbose false -# or just for top-level completion (i.e. up to and including completion -# of the subcommand): -# zstyle ':completion:*:p4:*' verbose false -# or for p4 as a whole, -# zstyle ':completion:*:p4(-*|):*' verbose false -# This is actually handled by the `_describe' function underneath the -# Perforce completion system; it's mentioned here as verbosity adds -# significantly to a lot of the Perforce completions. -# -# Note that completing change numbers is not very useful if `verbose' is -# turned off. There is no speed advantage for turning it off, either. -# (Changes are also known as changelists or changesets. The functions -# and tags here all consistently use `changes'.) -# -# The style `max' can be set to a number which limits how many -# possibilities can be shown when selecting changes or jobs. This is -# handled within Perforce, so the completion code may limit the number even -# further. If not set explicitly, the value is taken to be 20 to avoid a -# huge database being output. Set it to a larger number if necessary. -# Setting it explicitly to zero removes the maximum. Because you see only -# the most recent, changes and jobs are shown in the order given by -# Perforce without further sorting. -# -# Completion of jobs can also be controlled by the `jobview' style. -# This uses the standard Perforce JobView syntax, and is applied -# in connection with the `max' style. In other words, -# if you set -# zstyle ':completion:*:p4-*:jobs' max 0 -# zstyle ':completion:*:p4-*:jobs' jobview 'user=pws' -# then jobs to be completed will be those from the output of -# p4 jobs -e 'user=pws' -# i.e. those assigned to Perforce user `pws'. -# -# Completion of changes can be controlled by the `changes' style. -# This takes additional arguments to be passed to `p4 changes'. -# An obvious example is: -# zstyle ':completion:*:p4-*:changes' changes -u $USER -# to limit changes to the present user. -# -# The style `all-files' is used to tell the completion system to -# complete any file in a given context. This is for use in places -# where it would, for example, only complete files opened for editing. -# See the next section for more. -# -# The style `depot-files' tells the system to complete files by asking -# Perforce for a list where it would otherwise complete files locally by -# the standard mechanism --- basically any time you don't use // notation -# and there is no restriction e.g. to opened files only. There is likely -# to be a significant speed penalty for this; it is turned off by default -# in all contexts. The advantage is that it cuts out files not maintained -# by Perforce. (Again, note this is a style, not a tag.) Contexts -# where this might be particularly useful include p4-diff or p4-diff2. -# -# The tags depot-files and depot-dirs also exist; they are used whenever -# the system is completing files or directories by asking Perforce -# to list them, rather than by using normal file completion. -# -# The tag subdirs is used to complete the special `...' which tells -# Perforce to search all subdirectories. Hence you can turn this -# feature off by suitably manipulating your tags. -# -# The function will usually try to limit the files it lists by -# context; for example, to just opened files. By default it does -# this by retrieving the complete list from Perforce and then -# relying on the completion system to do the matching. If this is -# slow, it is possible to set the style "glob", in which case the -# matching is done within Perforce, potentially reducing the amount of -# searching of Perforce's internal database. The tag used for -# this is the same as the command used to retrieve the file name: -# integrated, opened, resolved, dirs, files. The disadvantage -# of doing the matching within Perforce is that no matcher specification -# is applied; for example, it's not possible to match a_u.c against -# admin_utils.c. -# -# Actually, a hybrid strategy is used when the glob style is not set: the -# directory is passed literally to Perforce, but the file or directory -# being matched is passed as "*", so that matching on the contents of the -# directory is performed by the completion system. -# -# Experiment suggests that the glob style isn't usually needed: only -# "p4 integrated" is likely to be significantly slowed if no limiting -# pattern is applied, and completing only integrated files is uncommon. -# -# Completion of files and their revisions -# ======================================= -# -# File completion handles @ and # suffixes. If the filename is completed, -# typing @ or # removes the space which was automatically added. -# The context used has `at-suffix' or `hash-suffix' in the position -# before the tag to indicate suffix completion (as always, ^Xh will -# show you all possible contexts). This makes it possible -# to select changes, dates, labels and clients using the tag-order -# style. For example, -# zstyle ':completion:*:p4-*:at-suffix:*' tag-order changes '*' -# will force all completion after `@' to show changes first. Executing -# _next_tags (usually ^x^n) will cycle between that and the remaining -# tags (dates, labels, clients). I recommend, at least, keeping labels -# later than changes since the former are less useful and can take a long -# time to complete. -# -# A # is automatically quoted when handled in this way; if the file is -# typed by hand or the completion didn't finish (e.g. you typed a character -# in the middle of menu completion), you probably need to type `\#' by -# hand. The problem is that the completion system uses extended globbing -# and hence a pattern of the form `filename#' always matches `filename' -# (since e# matches any number of e's including one). Hence this can look -# like an expansion which expands to `filename'. -# -# After @, you can complete changes (note the use of the style `max' -# above), labels, clients or even dates, while after `#' you can -# complete numeric revisions or the special revision names head, none, -# have. These are available whether or not you completed the filename; if -# the file doesn't exist, numeric revisions won't work, but the rest will -# (though what Perforce will do with the resulting command is another matter). -# -# In addition, when completing after `file@', only changes specific to `file' -# will be shown (exactly the list of changes Perforce shows from the -# command `p4 changes file'). If this doesn't work, chances are that -# `file' does not exist. Having a multi-directory match (literal `...') -# in `file' should work fine, since `p4 changes' recognises all normal -# Perforce file syntax. -# -# Some perforce commands allow you to specify a range of revisions or -# changes as `file@1,@2' or `file#1,#2'. Currently, the second part of the -# revision range can always be completed (whether the command accepts them -# or not), but the comma after the first part of the range is only added -# automatically if the documentation suggests the command accepts ranges at -# that point. This is an auto-removable suffix, so it will disappear if -# you hit space or return. Typing a `#' at this point will insert a -# backslash, as before. The # and @ are never added automatically; you -# have to select one by hand. -# -# Perforce allows change and revision numbers to be preceded by =, <, <=, > -# or >=. See `p4 help undoc' for details. (In particular, `=' is -# an extremely useful shortcut when integrating single changes.) -# This syntax is handled, but currently the < and > must be quoted -# with a backslash, not by any other mechanism. For example, -# p4 files myfile@\>=3<TAB> -# will complete a change number. The valid syntax where the second -# change or revision in a range does not have the @ or # in front -# (for example `file@32183,32185') is not currently handled; the @ -# must be repeated. -# -# File completion for some functions is restricted by the Perforce -# status of the file; for example, `p4 opened' only completes opened -# files (surprised?) However, you can set the style (N.B. not tag) -# `all-files'; so, for example, you can turn off the limit in this case by -# zstyle ':completion:*:p4-opened:*' all-files true -# Normally the `file-patterns' style would be used to control matching, -# but as the file types are not selected by globbing it doesn't work here -# However, if you set the all-files style, all filename completion is done -# by the standard mechanism; in this case, the `file-patterns' style works -# as usual. The style `ignored-patterns' is available in any case, even -# without `all-files'; this is therefore generally the one to use. -# -# The style `whole-path' allows you complete the entire path to a file -# at once. This is useful in cases such as opened files where the -# list of files is likely to be short but may include files with -# widely different paths. As with the `glob' style, the tag is the -# Perforce disposition of the file: integrated, opened, resolved, dirs, -# files. For example, with -# zstyle ':completion:*:p4-revert:*:opened' whole-path true -# completion after `p4 revert' will offer you the entire depot path -# to a file rather than just part of the path at once (with the -# usual methods of disambiguation). Directory completion is turned -# off during a `whole-path' completion. The `whole-path' style can -# also take the value `absolute'; this means that an initial `/' -# activates `whole-path' completion, otherwise a relative file path -# will be completed in the normal way. For example, with -# zstyle ':completion:*:p4-revert:*:opened' whole-path absolute -# then after `p4 revert <TAB>' you are offered open files in the -# current directory plus directories; after `p4 revert /<TAB>' you -# are offered all open files in depot syntax. -# -# With `p4 diff', the shell will spot if you have used an option that -# allows you to diff unopened files (such as -f) and in that case offer -# all files; otherwise, it just offers opened files. -# -# Completion of changes -# ===================== -# -# There is various extra magic available any time change numbers -# are completed, regardless of how this was reached, i.e. -# `p4 fixes -c ...' and `p4 diff filename.c@...' are treated the same way. -# Note, however, these only work if you are at the point where a change -# number would be completed. -# -# Firstly, as mentioned above there is a maximum for the number of -# changes which will be shown, given by the style max, or defaulting to 20. -# Only the most recent changes will be shown. This is to avoid a speed -# penalty or clumsy output. If a positive numeric argument is given -# when changes are being completed, the maximum is set (unconditionally) -# to that number instead. -# -# It is also possible to give a negative numeric prefix to a listing widget -# (i.e. typically whatever is bound to ^D). If there is already a change -# number on the line, e.g. from cycling through a menu of choices, the full -# description for that change is shown in the format of a completion -# listing. [TODO: this could be made configurable with a style.] -# -# It may be necessary to abandon the current completion attempt before -# typing this to force the completion system to display the new text. -# Replacing delete-char-or-list with the following user defined widget -# (create with `zle -N ...') will force this for any negative prefix argument. -# (( ${NUMERIC:-0} < 0 )) && (( CURSOR = CURSOR )) -# zle delete-char-or-list -# -# Completion of jobs -# ================= -# -# Completing jobs uses the same logic for the numeric prefix as completing -# changes: a positive prefix changes the maximum number of jobs which -# will be shown, and a negative prefix when listing shows the full -# text for the job whose name is currently inserted on the command line. -# In this case, the entire text of the word being completed is assumed -# to constitute the job name (which is almost certainly correct). -# -# Completion of dates -# =================== -# -# In a file revision specification it is possible to give a date -# in the form file@YYYY/MM/DD:hh:mm:ss, which may be completed. This -# is ever so slightly less silly than it sounds. Any component entered -# by hand with the appropriate suffix will be ignored; any component -# completed will be set to the current value. Hence you can easily -# specify, say, one month ago by using the completed value for all -# components except the month and setting that to one less. The shell -# will also happily append the appropriate suffix if you try to complete -# after anything which is already the appropriate width. (Perforce -# supports two-digit years, but these are confusing and no longer -# particularly useful as they refer to the twentieth century, so -# the shell does not.) -# -# Calls to p4 -# =========== -# -# Much of the information from Perforce is provided by calls to p4 -# commands. This is done via the _call_program interface, as described -# in the zshcompsys manual page. Hence a suitable context with the -# `command' style allows the user to take control of this call. -# The tags used are the name of the p4 command, or in the case of -# calls to help subcommands, `help-<subcommand>'. Note that if the -# value of the style begins with `-', the arguments to the perforce -# command are appended to the remaining words of the style before calling -# the command. -# -# Programmes taking p4-style arguments -# ==================================== -# -# It is possible to use the _perforce completion with other commands -# which behave like a subcommand of p4 by setting the service type -# to p4-<subcommand>. For example, -# compdef _perforce p4cvsmap=p4-files -# says that the command `p4cvsmap' takes arguments like `p4 files'. -# Often the options will be different; if this is a problem, you -# will need to write your own completer which loads _perforce and -# calls its functions directly. You can add -global to the end -# of the service to say that the command also handles global -# Perforce options, comme ca: -# compdef _perforce p4reopen=p4-job-global -# -# Anything more complicated should be modelled on one of the -# _perforce_cmd_* handlers below. To get this to work, the full -# set of _perforce functions must be loaded; because of the way -# autoloading works, a trick is required: call "_perforce -l" which -# causes the function to be executed, loading all the associated -# functions as a side effect, but tells _perforce to return without -# generating any completions. For example, here is the completion -# for my `p4desc' function which is an enhanced version of `p4 describe' -# (without any handling for global Perforce arguments): -# -# #compdef p4desc -# -# _perforce -l -# -# _arguments -s : \ -# '-d-[select diff option]:diff option:((b\:ignore\ blanks c\:context d\:basic\ diff n\:RCS s\:summary u\:unified w\:ignore\ all\ whitespace))' \ -# '-s[short form]' \ -# '-j[select by job]:job:_perforce_jobs' \ -# '*::change:_perforce_changes' -# -# To add handling of global options to this, see the end of the _perforce -# function below. Something like: -# -# local -a _perforce_global_options _perforce_option_dispatch -# if _perforce_global_options; then -# _arguments -s : $_perforce_option_dispatch \ -# '<other stuff>' -# fi -# -# TODO -# ==== -# -# No mechanism is provided for completely ignoring certain files not -# handled by Perforce as with .cvsignore. This could be done ad hoc. -# However, the ignored-patterns style and the parameter $fignore are -# of course applied as usual, so setting ignored-patterns for the -# context `:completion:*:p4[-:]*' should work. - -_perforce() { - # rely on localoptions - setopt nonomatch - local p4cmd==p4 match mbegin mend - integer _perforce_cmd_ind - - # Localise variables used at different levels of the hierarchy. - local _perforce_exclude_change - - if [[ $1 = -l ]]; then - # Run to load _perforce and associated functions but do - # nothing else. - return - fi - - if [[ $service = -value-* ]]; then - # Completing parameter value. - # Some of these --- in particular P4PORT --- don't need - # the perforce server. - case $compstate[parameter] in - (P4PORT) - _perforce_hosts_ports - ;; - - (P4CLIENT) - _perforce_clients - ;; - - (P4MERGE) - _command_names -e - ;; - - (P4USER) - _perforce_users - ;; - esac - # We do not handle values anywhere else. - return - fi - - if [[ $p4cmd = '=p4' ]]; then - _message "p4 executable not found: completion not available" - return - fi - - # If we are at or after the command word, remember the - # global arguments to p4 as we will need to pass these down - # when generating completion lists. - # This is both an array and a function, but luckily I never - # get confused... - local -a _perforce_global_options - local -a _perforce_option_dispatch - - # If we are given a service of the form p4-cmd, treat this - # as if it was after `p4 cmd'. This provides an easy way in - # for scripts and functions that emulate the behaviour of - # p4 subcommands. Note we don't shorten the command line arguments. - if [[ $service = p4-(#b)(*) ]]; then - local curcontext="$curcontext" - local p4cmd=$words[1] cmd=$match[1] gbl - - if [[ $cmd = (#b)(*)-global ]]; then - # Handles global options. - cmd=$match[1] - _perforce_global_options && gbl=1 - fi - if (( $+functions[_perforce_cmd_$cmd] )); then - curcontext="${curcontext%:*:*}:p4-${cmd}:" - if [[ -n $gbl ]]; then - # We are handling global Perforce options as well as the - # arguments to the specific command. - # To handle the latter, we need the command name, plus - # all the arguments for the command with the global options - # removed. The function _perforce_service_dispatch handles - # this by unshifting the command ($p4cmd) into words, - # then dispatching for the Perforce subcommand $cmd. - # - # Has anyone noticed this is getting rather complicated? - _arguments -s : $_perforce_option_dispatch \ - "*::p4-$cmd arguments: _perforce_service_dispatch $p4cmd $cmd" - else - _perforce_cmd_$cmd - fi - # Don't try to do full command handling. - return - else - _message "unhandled _perforce service: $service" - return 1 - fi - fi - - if [[ $service = p4d ]]; then - _arguments -s : \ - '-d[run as daemon]' \ - '-f[run as single threaded server]' \ - '-i[run for inetd using sockets]' \ - '-q[suppress startup message]' \ - '-s[run as NT service]' \ - '-xi[switch server database to unicode mode and quit]' \ - '-xu[run database upgrade and quit]' \ - '-c[run command and exit]:command of some sort: ' \ - '-Id[specify description]:description: ' \ - '-In[specify unique name]:name: ' \ - '-jc[checkpoint, save and truncate journal]::optional prefix: ' \ - '-jd[checkpoint, not saving journal]::optional file:_files' \ - '-jj[save and truncate journal]::optional prefix: ' \ - '-jr[incremental restore from checkpoint/journal]:'\ -'file:_files:file:_files' \ - '-z[gzip checkpoint and journal files]' \ - '-h[show help]' \ - '-V[print server version]' \ - '-A[set audit log ($P4AUDIT)]:audit file:_files' \ - '-J[set journal file ($P4JOURNAL) or "off"]:journal file:_files' \ - '-L[set error log ($P4LOG or stderr)]:error log:_files' \ - '-p[set port ($P4PORT o perforce:1666)]:port:_perforce_hosts_ports' \ - '-r[set root directory ($P4ROOT)]:root directory:_path_files -g "*(/)"' \ - '-v[debug level]:level: ' - elif _perforce_global_options; then - _arguments -s : $_perforce_option_dispatch \ - '1:perforce command:_perforce_commands' - else - (( _perforce_cmd_ind-- )) - (( CURRENT -= _perforce_cmd_ind )) - shift $_perforce_cmd_ind words - _perforce_command_args - fi -} - - -# -# Command and argument dispatchers -# - -# Front end to _call_program to add in the global arguments -# passed to p4. The first argument is the tag, the remaining -# arguments are passed to p4. Typically the tag is the same -# as the first p4 argument. -(( $+functions[_perforce_call_p4] )) || -_perforce_call_p4() { - local cp_tag=$1 - shift - # This is for our own use for parsing, and we need English output, - # so... - local +x P4LANGUAGE - _call_program $cp_tag command p4 "${_perforce_global_options[@]}" "$@" -} - - -# The list of commands is cached in _perforce_cmd_list, but we -# only generate it via this function when we need it. -(( $+functions[_perforce_gen_cmd_list] )) || -_perforce_gen_cmd_list() { - (( ${+_perforce_cmd_list} )) || typeset -ga _perforce_cmd_list - local hline line match mbegin mend - # Output looks like <tab>command-name<space>description in words... - # Ignore blank lines and the heading line beginning `Perforce...' - # Just gets run once, then cached, so don't bother optimising - # this to a grossly unreadable parameter substitution. - _perforce_cmd_list=() - _perforce_call_p4 help-commands help commands | while read -A hline; do - if (( ${#hline} < 2 )); then - if (( ${#_perforce_cmd_list} )); then - # Ignore comments after the main list of commands, separate by blank - # line. - break - else - continue - fi - fi - [[ $hline[1] = (#i)perforce ]] && continue - _perforce_cmd_list+=("${hline[1]}:${hline[2,-1]}") - done - # Also cache the server version for nefarious purposes. - _perforce_call_p4 info info | while read line; do - if [[ $line = (#b)"Server version: "*/*/(<->.<->)(.[^/]|)/*" "* ]]; then - _perforce_server_version=$match[1] - fi - done - - # Unsupported commands: we could look through p4 help undoc, I suppose. - # I can't be bothered to check the date when they appeared any more, - # but let's at least check they're not already there. - local -a unsup - unsup=( - "attribute:set attributes for open file (EXPERIMENTAL)" - "dbschema:report meta database information" - "export:extract journal or checkpoint records" - "interchanges:report changes not yet integrated between branches" - "replicate:poll for journal changes and apply to another server" - "spec:allows limited changes to form specifications (admin)" - ) - for line in $unsup; do - if [[ ${_perforce_cmd_list[(r)${line%%:*}:*]} = '' ]]; then - _perforce_cmd_list+=($line) - fi - done -} - - -(( $+functions[_perforce_commands] )) || -_perforce_commands() { - (( ${#_perforce_cmd_list} )) || _perforce_gen_cmd_list - _describe -t p4-commands 'Perforce command' _perforce_cmd_list -} - - -(( $+functions[_perforce_command_args] )) || -_perforce_command_args() { - local curcontext="$curcontext" cmd=${words[1]} - if (( $+functions[_perforce_cmd_$cmd] )); then - curcontext="${curcontext%:*:*}:p4-${cmd}:" - _perforce_cmd_$cmd - else - _message "unhandled perforce command: $cmd" - fi -} - - -(( $+functions[_perforce_service_dispatch] )) || -_perforce_service_dispatch() { - # Put the original command name back, then dispatch for - # our Perforce handler. - words=($1 "$words[@]") - (( CURRENT++ )) - _perforce_cmd_$2 -} - - -# -# Helper functions -# - -(( $+functions[_perforce_global_options] )) || -_perforce_global_options() { - # Options with arguments we need to pass down when calling - # p4 from completers. There are no options without arguments - # we need to pass. (Don't pass down -L language since we - # parse based on English output.) - local argopts_pass="cCdHpPu" - # Other options which have arguments but we shouldn't pass down. - # There are some debugging options, but they tend to get used - # with the argument in the same word as the option, in which - # case they will be handled OK anyway. - local argopts_ignore="Lx" - - # The options we support in the form for _arguments. - # This is here for modularity and convenience, but note that since the - # actual dispatch takes place later, this is not local to this - # function and so must be made local in the caller. - _perforce_option_dispatch=( - '-c+[client]:client:_perforce_clients' \ - '-C+[charset]:charset:_perforce_charsets' \ - '-d+[current directory]:directory:_path_files -g "*(/)"' \ - '-H+[hostname]:host:_perforce_hosts' \ - '-G[python output]' \ - '-L+[message language]:language: ' \ - '-p+[server port]:port:_perforce_hosts_ports' \ - '-P+[password on server]:password: ' \ - '-s[output script tags]' \ - '-u+[user]:user name:_perforce_users' \ - '-x+[filename or -]:file:_perforce_files_or_minus' \ - '-z+[select output format]:output format:(tag)' - ) - - integer i - - # We need to try and check if we are before or after the - # subcommand, since some of the options with arguments, in particular -c, - # work differently. It didn't work if I just added '*::...' to the - # end of the arguments list, anyway. - for (( i = 2; i < CURRENT; i++ )); do - if [[ $words[i] = -[$argopts_pass$argopts_ignore] ]]; then - # word with following argument --- check this - # is less than the current word, else we are completing - # this and shouldn't pass it down - if [[ $(( i + 1 )) -lt $CURRENT && \ - $words[i] = -[$argopts_pass] ]]; then - _perforce_global_options+=(${words[i,i+1]}) - fi - (( i++ )) - elif [[ $words[i] = -[$argopts_pass]* ]]; then - # word including argument which we want to keep - _perforce_global_options+=(${words[i]}) - elif [[ $words[i] != -* ]]; then - break - fi - done - - (( _perforce_cmd_ind = i )) - (( _perforce_cmd_ind >= CURRENT )) -} - -(( $+functions[_perforce_branches] )) || -_perforce_branches() { - local bline match mbegin mend - local -a bl - bl=(${${${${(f)"$(_perforce_call_p4 branches branches 2>/dev/null)"}##Branch }//:/\\:}/ /:}) - [[ $#bl -eq 1 && $bl[1] = '' ]] && bl=() - (( $#bl )) && _describe -t branches 'Perforce branch' bl -} - - -(( $+functions[_perforce_changes] )) || -_perforce_changes() { - local cline match mbegin mend max ctype num comma file - local -a cl cstatus amax xargs - - zstyle -s ":completion:${curcontext}:changes" max max || max=20 - zstyle -a ":completion:${curcontext}:changes" changes xargs - if [[ ${NUMERIC:-0} -lt 0 && -z $compstate[insert] ]]; then - # Not inserting (i.e. just listing) and given a negative - # prefix argument. Instead of listing possible completions, - # show the full description for the change number on the line at - # the moment. - [[ $PREFIX = (|*[^[:digit:]])(#b)(<->) ]] && num+=$match[1] - [[ $SUFFIX = (#b)(<->)* ]] && num+=$match[1] - if [[ -n $num ]]; then - _message -r "$(_perforce_call_p4 describe describe $num)" - return 0 - fi - elif [[ ${NUMERIC:-0} -gt 0 ]]; then - max=$NUMERIC - fi - - (( max )) && amax=(-m $max) - - # Hack: assume the arguments we want are at the end. - while [[ $argv[-1] = -t? ]]; do - case $argv[-1] in - # Change embedded in filename; extract that and remove - # the corresponding prefix. Remove possible `#'s, too, - # in case we are looking at a range. - (-tf) - file=${${(Q)PREFIX}%%[\#@]*} - compset -P '*@(|\\\<|\\\>)(|=)' - ;; - - # Changes already submitted - (-ts) - cstatus=(-s submitted) - ctype="submitted " - ;; - - # Changes still pending - (-tp) - cstatus=(-s pending) - ctype="pending " - ;; - - # Changes still pending and on the current client. - # Many uses of pending changes must be on the current client - # to be meaningful, in particular submitting a change or - # associating a file or operation with a particular change. - (-tc) - # Don't like this way of extracting the client to use, - # but I don't see a simpler one. We do at least make sure - # we call p4 with the same arguments as we will use with p4 changes. - cstatus=(-s pending -c "$(_perforce_call_p4 client client -o | -awk '/^Client:/ { print $2 }')") - ctype="local pending " - ;; - - # Changes that were shelved - (-tS) - cstatus=(-s shelved) - ctype="shelved " - ;; - - # Range allowed: append comma and supply rules for - # removing and handling subsequent `#'. - (-tR) - comma=(-S, -R _perforce_file_suffix) - esac - argv=($argv[1,-2]) - done - # Limit to the 20 most recent changes by default to avoid huge - # output. - cl=( -${${${${${(f)"$(_perforce_call_p4 changes changes $amax $xargs $cstatus \$file)"}##Change\ }//:/\\:}//\ on\ /:}/\ by\ /\ } - ) - # "default" can't have shelved files in it... - [[ $ctype = shelved* ]] || cl+=("default:change not yet numbered") - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t changes "${ctype}change" cl -V changes-unsorted $comma -} - - -(( $+functions[_perforce_charsets] )) || -_perforce_charsets() { - local expl - _wanted charset expl 'character set' \ - compadd eucjp iso8859-1 shiftjis utf8 winansi -} - - -(( $+functions[_perforce_clients] )) || -_perforce_clients() { - local -a slash cl - - # Are we completing after an @, or a client view in a filespec? - if ! compset -P '*@'; then - compset -P '//' && slash=(-S/ -q) - fi - - cl=(${${${${(f)"$(_perforce_call_p4 clients clients)"}##Client\ }//:/\\:}/\ /:}) - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t clients 'Perforce client' cl $slash -} - - -(( $+functions[_perforce_counters] )) || -_perforce_counters() { - local cline match mbegin mend - local -a cl - - cl=(${${${${(f)"$(_perforce_call_p4 counters counters)"}//:/\\:}/\ /:}/\=/current value}) - [[ $#cl -eq 1 && $cl[1] = '' ]] && cl=() - _describe -t counters 'Perforce counter' cl -} - - -(( $+functions[_perforce_counter_values] )) || -_perforce_counter_values() { - if [[ -n $words[CURRENT-1] ]]; then - local value="$(_perforce_call_p4 counter counter $words[CURRENT-1] 2>/dev/null)" - if [[ -n $value ]]; then - # No space. This allows stuff like incarg and decarg. - compstate[insert]=1 - _wanted value expl 'counter value' compadd $value - fi - fi -} - - -(( $+functions[_perforce_dates] )) || -_perforce_dates() { - # Only useful in a file spec after `@'. - compset -P '*@(|\\\<|\\\>)(|=)' - - # Date/time now in format required by Perforce. - local now="$(date +%Y:%m:%d:%T)" name prefix - local -a nowarray offer opts matchpats suffixes names - nowarray=(${(s.:.)now}) - - names=( year month day\ of\ month hour minute second) - suffixes=( / / : : : '' ) - - integer i - prefix=${(Q)PREFIX} - for (( i = 6; i >= 1; i-- )); do - # Match from the most specific back. - # The following is one of those occasions where zsh - # substitution skips to the right answer without ever - # passing through the real world on the way. - if [[ $prefix = *${(j.*.)~suffixes[1,i-1]}* ]]; then - (( i > 1 )) && compset -P "*$suffixes[i-1]" - # If what's there already is the right length, - # just accept it and add the suffix. - prefix=${(Q)PREFIX} - if [[ ${#prefix} = ${#nowarray[i]} ]]; then - offer=($prefix) - else - offer=($nowarray[i]) - fi - [[ -n $suffixes[i] ]] && opts=(-S $suffixes[i] -q) - name=$names[i] - break - fi - done - - _describe -t dates $name offer $opts -} - - -(( $+functions[_perforce_dbtables] )) || -_perforce_dbtables() { - local -a tables - tables=(archmap bodtext change changex counters depot domain have integ - integed ixtext label locks resolve rev revcx revdx revhx revsx trigger - user view working) - _describe -t db-table "DB table" tables -} - - -(( $+functions[_perforce_depots] )) || -_perforce_depots() { - local dline match mbegin mend - local -a dl - - dl=(${${${${(f)"$(_perforce_call_p4 depots depots)"}##Depot\ }//:/\\:}/\ /:}) - [[ $#dl -eq 1 && $dl[1] = '' ]] && dl=() - _describe -t depots 'depot name' dl -} - - -(( $+functions[_perforce_files_or_minus] )) || -_perforce_files_or_minus() { - _alternative 'minus:minus sign:(-)' 'files:file name:_files' -} - - -(( $+functions[_perforce_file_suffix] )) || -_perforce_file_suffix() { - # Used with compadd -R to handle @ or # after a file name. - # Differs from compadd -r '...' in that it quotes `#' if typed. - [[ $1 = 1 ]] || return - - if [[ $LBUFFER[-1] = [\ ,] ]]; then - if [[ $KEYS = '#' ]]; then - if [[ $LBUFFER[-1] = , ]]; then - # Range: no suffix removal but add a backslash - LBUFFER+=\\ - else - # Suffix removal with an added backslash - LBUFFER="$LBUFFER[1,-2]\\" - fi - elif [[ $KEYS = (*[^[:print:]]*|[[:blank:]\;\&\|]) || \ - ( $KEYS = @ && $LBUFFER[-1] = ' ' ) ]] ; then - # Normal suffix removal - LBUFFER="$LBUFFER[1,-2]" - fi - elif [[ $LBUFFER[-1] = / ]]; then - # Normal suffix removal for directories. - if [[ $KEYS = (*[^[:print:]]*|[[:blank:]\;\&\|/]) ]]; then - LBUFFER="$LBUFFER[1,-2]" - fi - fi -} - - -# Helper function for the helper function for the helper functions -# for the helper function _perforce_files. -# -# Check if we should do whole-path completion. -# The argument is the Perforce disposition of files are looking at. -_perforce_whole_path() { - local wp - - zstyle -s ":completion:${curcontext}:$1" whole-path wp - case $wp in - (true|yes|on|1) - return 0 - ;; - - (absolute) - [[ ${(Q)PREFIX} = /* ]] && return 0 - ;; - esac - - return 1 -} - -# -# Helper function for the helper function _perforce_retreive_files -# for the helper functions for the helper function _perforce files. -# -# This code retrieves the list of files with a glob filter and -# possibly a line filter specified by the caller. The line filter -# must match the entire line. -# -# Result returned in $files. -# -(( $+functions[_perforce_filter_files] )) || -_perforce_filter_files() { - local call="$1" - local globfilter="$2" - local linefilter="$3" - local line - - if [[ -n $linefilter ]]; then - files=( - ${${${(f)"$(_perforce_call_p4 $call $call $globfilter 2>/dev/null)"}:#${~linefilter}}%%\#*} - ) - else - files=( - ${${(f)"$(_perforce_call_p4 $call $call $globfilter 2>/dev/null)"}%%\#*} - ) - fi -} - -# -# Helper function for the helper functions for the helper function -# _perforce_files. This is common code to retrieve a list of files -# from Perforce. -# -# First argument is the p4 subcommand used to list the files. -# This is also used as a tag for the style to decide whether -# to limit the list within Perforce. It may have a colon -# followed by a shell pattern to match lines to be excluded -# from the match. -# -# Remaining arguments are additional arguments to compadd. -# -(( $+functions[_perforce_retrieve_files] )) || -_perforce_retrieve_files() { - local pfx exclude - local -a files match mbegin mend - - if [[ $1 = (#b)([^:]##):(*) ]]; then - 1=$match[1] - exclude=$match[2] - fi - - if _perforce_whole_path $1; then - _perforce_filter_files $1 '' $exclude - elif zstyle -t ":completion:${curcontext}:$1" glob; then - # Limit the list by using Perforce to glob the pattern. - # This may be faster, but won't use matcher specs etc. - pfx=${(Q)PREFIX} - compset -P '*/' - _perforce_filter_files $1 '"$pfx*${(Q)SUFFIX}"' $exclude - files=(${files##*/}) - else - # We need to limit the list to a directory. - if [[ $PREFIX = */* ]]; then - pfx="${(Q)${PREFIX%/*}}/*" - else - pfx="*" - fi - compset -P '*/' - _perforce_filter_files $1 '$pfx' $exclude - files=(${files##*/}) - fi - [[ $#files -eq 1 && $files[1] = '' ]] && files=() - shift - compadd "$@" -a files -} - - -# -# Helper functions for the helper function _perforce_files. These files -# are low-level enough that they don't handle tags; this is done -# by the _alternative handler in _perforce_files. -# - -(( $+functions[_perforce_integrated_files] )) || -_perforce_integrated_files() { - local pfx=${(Q)PREFIX} type - local -a files - - _perforce_retrieve_files integrated "$@" -} - - -(( $+functions[_perforce_opened_files] )) || -_perforce_opened_files() { - local csuf - - if [[ -n $_perforce_exclude_change ]]; then - if [[ $_perforce_exclude_change = default ]]; then - csuf=":* default change [^#]#" - else - csuf=":* change $_perforce_exclude_change [^#]#" - fi - fi - - _perforce_retrieve_files opened$csuf "$@" -} - - -(( $+functions[_perforce_resolved_files] )) || -_perforce_resolved_files() { - _perforce_retrieve_files resolved "$@" -} - - -# This has no other function than to offer to add the `...' used -# by Perforce to indicate a recursive search of directories. -# Bit pathetic, really. -# -# This has been causing odd effects with prefixes so is turned off. -#(( $+functions[_perforce_subdirs] )) || -#_perforce_subdirs() { -# if [[ $PREFIX = */* ]]; then -# local dir=${PREFIX%%[^/]#} -# compadd "$@" -J subdirs -p $dir ... -# else -# compadd "$@" -J subdirs ... -# fi -#} - - -(( $+functions[_perforce_depot_dirs] )) || -_perforce_depot_dirs() { - # Normal completion of directories in depots - - _perforce_retrieve_files dirs "$@" -S / -q -} - - -(( $+functions[_perforce_depot_files] )) || -_perforce_depot_files() { - # Normal completion of files in depots - - _perforce_retrieve_files files "$@" -R _perforce_file_suffix -} - - -(( $+functions[_perforce_client_dirs] )) || -_perforce_client_dirs() { - # This is a slightly odd addition which isn't often necessary. - # When completing directories in a client specification, Perforce - # doesn't tell you about intermediate directories which are in - # the client, but not in the depot. (Well... sometimes. I've - # had some odd results with this. I suspect there may be a bug - # but I don't really know enough to be sure.) - # - # For example, if my view contains - # //depot/branches/rev1.2/... //pws_client/branches/rev1.2/... - # then `p4 dirs "//pws_client/*"' won't mention the `branches' - # directory because the view actually starts lower down. So - # we add it by hand when necessary. - # - # We don't want to waste time on this, since it's not the usual - # case, so we cache the results where necessary. This means - # recording all the clients that we can later ask about if necessary. - # To flush the cache, `unset _perforce_client_list _perforce_client_dirs'. - if (( ! ${+_perforce_client_list} )); then - # Retrieve the list of clients. - typeset -gA _perforce_client_list - local -a tmplist - local tmpelt - tmplist=(${${${(f)"$(_perforce_call_p4 clients clients)"}##Client\ }%%\ *}) - [[ $#tmplist -eq 1 && $tmplist[1] = '' ]] && tmplist=() - for tmpelt in $tmplist; do - _perforce_client_list[$tmpelt]=1 - done - fi - - # See if the first path element is a client. Very often it - # will actually be a depot, so we test this as quickly as possible. - local client=${${PREFIX##//}%%/*} - [[ -z ${_perforce_client_list[$client]} ]] && return 1 - - local oldifs=$IFS IFS= type dir line dirs - - (( ${+_perforce_client_dirs} )) || typeset -gA _perforce_client_dirs - - if (( ${+_perforce_client_dirs[$client]} )); then - # Already cached, although may be empty. - dirs=${_perforce_client_dirs[$client]} - else - # We need to look at the View stanza of the client record - # to see what directories exist in the client view. - _perforce_call_p4 client "client -o $client" 2>/dev/null | while read line - do - case $line in - ([[:blank:]]##) - type= - ;; - - ((#b)([[:alpha:]]##):*) - type=${match[1]} - ;; - - (*) - if [[ $type = View ]]; then - dir=${${line##[[:blank:]]##//*[[:blank:]]//$client}%%/...(/*|)} - if [[ $#dir -gt 1 ]]; then - dirs+="${dirs:+ }${(q)dir##/}" - fi - fi - ;; - esac - done - fi - - (( ${#dirs} )) || return 1 - - # Turn our string of space-separated backquoted elements into an array. - dirs=(${(z)dirs}) - # Get the current prefix also as an array of elements - compset -P '//[^/]##/' - pfx=(${(s./.)${(Q)PREFIX}}) - - local -a ndirs - local match mbegin mend - # Check matching path segments - while (( ${#pfx} > 1 )); do - ndirs=() - for dir in $dirs; do - if [[ $dir = $pfx/(#b)(*) ]]; then - ndirs+=($match[1]) - fi - done - (( ${#ndirs} )) || return 1 - dirs=($ndirs) - shift pfx - compset -P '[^/]' - done - compadd -S / -q "$@" -- ${dirs%%/*} -} - -(( $+functions[_perforce_files] )) || -_perforce_files() { - local pfx fline expl opt match mbegin mend range type - local -a files types - - local dodirs unmaintained - # Suffix operations can modify context - local curcontext="$curcontext" - # Used to inhibit directory completion - local nodirs - - while (( $# )); do - if [[ $1 = -t(#b)(?) ]]; then - case $match[1] in - (d) - dodirs=-/ - ;; - - (u) - unmaintained=1 - ;; - - (i) - types+=(integrated) - ;; - - (o) - types+=(opened) - ;; - - (r) - types+=(resolved) - ;; - - (R) - range="-tR" - ;; - esac - fi - shift - done - - # Remove the quotes present in the word on the command line, - # since we will treat this as a literal string from now on. - # We might get into problems with characters recognised as - # special by p4 files and p4 dirs, but worry about that later. - pfx=${(Q)PREFIX} - - if [[ -prefix *@ ]]; then - # Modify context to indicate we are in a suffix. - curcontext="${curcontext%:*}:at-suffix" - # Check for existing range syntax - [[ $PREFIX = *[@\#]*,* ]] && range= - # After @ you can specify changes, clients, labels or dates. - # Note we don't remove the prefix here; we leave it to the - # subcommand. This is in case it needs information from - # the prefix; _perforce_changes uses this to limit the - # output to relevant changes. - _alternative \ - "changes:change:_perforce_changes $range -tf" \ - clients:client:_perforce_clients \ - "labels:label:_perforce_labels -tf" \ - 'dates:date (+ time):_perforce_dates' - elif [[ -prefix *\# ]]; then - # Modify context to indicate we are in a suffix. - curcontext="${curcontext%:*}:hash-suffix" - # Check for existing range syntax - [[ $PREFIX = *[@\#]*,* ]] && range= - # Remove longest possible tail match to get name --- this - # automatically handles filenames in ranges e.g. `foo#1,#3'. - # (Note the compset removes the maximum possible head match, - # so we only complete the second part of the range in that case.) - _perforce_revisions $range - elif [[ $PREFIX = //* ]]; then - # This specifies files already handled by Perforce, so there's - # no point trying to look for unmaintained files. Assume - # the user knows what they're doing. - local -a altfiles - integer whole_path - - for type in $types; do - _perforce_whole_path $type && whole_path=1 - done - - # If we're doing whole-path completion, and the user starts - # a completion early, assume they want just those files, - # rather than a client spec. This isn't necessarily the case, - # but there's an excellent chance it does fit the user's intention - # in a case where it's not really worth adding a special option. - # A client list can be huge and they're not actually used very - # often to refer to files. In fact, this whole completion - # probably ought to be optional (you can do it with tags if - # you really want). - if [[ $PREFIX = //[^/]# && $whole_path -eq 0 ]]; then - # Complete //clientname or //depot spec. - # Don't complete non-directories... - # I don't actually know if they are valid here. - altfiles+=("clients:Perforce client:_perforce_clients" - "depots:Perforce depot:_perforce_depots") - else - local donefiles=1 - if [[ -z $dodirs ]]; then - if [[ ${#types} -gt 0 ]] && - ! zstyle -t ":completion:${curcontext}:" all-files; then - for type in $types; do - altfiles+=("$type-files:$type file:_perforce_${type}_files") - done - (( whole_path )) && nodirs=1 - else - altfiles+=("depot-files:file in depot:_perforce_depot_files") - fi - fi - if [[ -z $nodirs ]]; then - # Intermediate directories in a client view. - # See function for notes. - altfiles+=("client-dirs:client directory:_perforce_client_dirs") - fi - fi - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs" -# "subdirs:subdirectory search:_perforce_subdirs" - ) - _alternative $altfiles - elif [[ -n $unmaintained ]]; then - # As directories are always umaintained, but may contain files - # we want to add, we'll always complete directories here. That's - # neater than the alternative of excluding them here and requesting - # them separately in the caller. The only client for this - # branch is currently 'p4 add'. - # - # Unmaintained files can't be integrated, opened - # or resolved, so treat as exclusive to other options (just as well, since - # this bit's messy). - local MATCH MBEGIN MEND - local -a omitpats - - match=() - : ${PREFIX:#(#b)(*/)(*)} - pfx="$match[1]" - pfx=${(e)~pfx} - # Exclude both files already known to perforce, plus - # those opened. There will be some overlap but we need - # to exclude files that are already opened for add. - omitpats=( - ${${${${(f)"$(_perforce_call_p4 files files \"\$pfx\*\$\{\(Q\)SUFFIX\}\" 2>/dev/null)"}%\#*}##*/}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ${${${${(f)"$(_perforce_call_p4 opened opened \"\$pfx\*\$\{\(Q\)SUFFIX\}\" 2>/dev/null)"}%\#*}##*/}//(#m)[][*?()<|^~#\\]/\\$MATCH} - ) - - [[ $#omitpats -eq 1 && $omitpats[1] = '' ]] && omitpats=() - if (( ${#omitpats} )); then - _path_files -g "*~(*/|)(${(j:|:)~omitpats})(D)" - else - _path_files - fi - # Don't handle suffixes for non-entried files - elif (( ${#types} )) && ! zstyle -t ":completion:${curcontext}:" all-files - then - local -a altfiles - - for type in $types; do - altfiles+=("$type-files:$type file:_perforce_${type}_files") - _perforce_whole_path $type && nodirs=1 - done - - if [[ -z $nodirs ]]; then -# altfiles+=("subdirs:subdirectory search:_perforce_subdirs") - if zstyle -t ":completion:${curcontext}:" depot-files; then - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs") - else - altfiles+=("directories:directory:_path_files -/") - fi - fi - _alternative $altfiles - elif zstyle -t ":completion:${curcontext}:" depot-files; then - local -a altfiles - if [[ -z $dodirs ]]; then - altfiles+=("depot-files:file in depot:_perforce_depot_files") - fi - altfiles+=("depot-dirs:directory in depot:_perforce_depot_dirs" -# "subdirs:subdirectory search:_perforce_subdirs" - ) - _alternative $altfiles - else - # Look locally. -# _alternative \ -# "files:file:_path_files -R _perforce_file_suffix $dodirs" \ -# "subdirs:subdirectory search:_perforce_subdirs" - _path_files -R _perforce_file_suffix $dodirs - fi -} - - -# -# Remaining helpers for other types of Perforce metadata. -# - -(( $+functions[_perforce_filetypes] )) || -_perforce_filetypes() { - local -a values - if compset -P '*+*'; then - # That second `*' is deliberate --- only complete the last - # letter since we can have a whole string of them. - values=( - "m:always set modtime on client" - "w:always writeable on client" - "x:set exec bit on client" - "k:full RCS keyword expansion" - "ko:RCS expansion only for Id, Header" - "l:exclusive open, disallow multiple opens" - "C:server stores compress file per revision" - "D:server stores deltas in RCS format" - "F:server stores full file per revision" - "S:server stores only head revision" - "X:externally archived file" - ) - _describe -t file-modifiers 'Perforce file modifier' values - else - values=( - "text:text, translate newlines" - "binary:raw bytes" - "symlink:symbolic link" - "apple:Mac resource + data" - "unicode:text, translate newlines, store as UTF-8") - _describe -t file-types 'Perforce file type' values -S+ -q - fi -} - - -(( $+functions[_perforce_fstat_fields] )) || -_perforce_fstat_fields() { - local sep - if [[ $argv[-1] = -tv ]]; then - # jobview, space is separator - sep=' ' - else - sep=',' - fi - local -a values - # yes, "phew", sorry. - # output from "p4 help fstat" gives fields like - # digest -- MD5 digest (fingerprint) - # etc. etc. - values=( - ${${${${(M)${(f)"$(_perforce_call_p4 help-fstat help fstat)"}:#[[:blank:]]#[a-zA-Z]##(|\#)[[:blank:]]##--*}##[[:blank:]]#}:#fstat *}//[[:blank:]]##--[[:blank:]]##/:} - ) - compset -P '*[,[:blank:]]' - _describe -t fstat-fields 'Perforce fstat field' values -S, -q -} - - -(( $+functions[_perforce_groups] )) || -_perforce_groups() { - local -a values - values=($(_perforce_call_p4 groups groups)) - _describe -t groups 'Perforce group' values -} - - -(( $+functions[_perforce_hosts] )) || -_perforce_hosts() { - local expl host - # Completion for p4 -H; other forms of host completion - # go through _perforce_hosts_ports. - # From Felix: if the client specifies a hostname, there's - # no point using any other host, since it won't work. - host=$(_perforce_call_p4 client client -o | - awk '$1 ~ /^Host:/ {print $2}' ) - if [[ -n $host ]]; then - _wanted hosts expl host compadd "$@" $host - else - _hosts - fi -} - - -(( $+functions[_perforce_hosts_ports] )) || -_perforce_hosts_ports() { - if compset -P '*:'; then - _ports - local expl - _wanted ports expl port compadd "$@" 1666 - else - # is this -q-able? - _hosts -S : - fi -} - -(( $+functions[_perforce_jobs] )) || -_perforce_jobs() { - # Optional argument is jobview for limiting jobs. - local jline match mbegin mend max jobview - local -a jl amax ajobview - - zstyle -s ":completion:${curcontext}:jobs" max max || max=20 - # Hack: if there is a job view, it is at the end. - # This is nasty, it's really unnecessarily difficult to - # pass arguments within completion functions... - if [[ $argv[-2] = -e ]]; then - ajobview=(-e "${(q)argv[-1]}") - argv=("${(@)argv[1,-3]}") - elif zstyle -s ":completion:${curcontext}:jobs" jobview jobview; then - ajobview=(-e "'$jobview'") - elif [[ -n $PREFIX ]]; then - # Extra quotes for the benefit of _call_program which does an "eval". - ajobview=(-e "'job=$PREFIX\\*$SUFFIX'") - fi - if [[ ${NUMERIC:-0} -lt 0 && -z $compstate[insert] ]]; then - # Not inserting (i.e. just listing) and given a negative - # prefix argument. Instead of listing possible completions, - # show the full description for the job which is on the line at - # the moment. - _message -r "$(_perforce_call_p4 jobs jobs -e \"'Job=\$PREFIX\$SUFFIX'\" -l 2>/dev/null)" - return 0 - elif [[ ${NUMERIC:-0} -gt 0 ]]; then - max=$NUMERIC - fi - - (( max )) && amax=(-m $max) - - _perforce_call_p4 jobs jobs $ajobview $amax | while read jline; do - if [[ $jline = (#b)([^[:blank:]]##)' '[^[:blank:]]##' '(*) ]]; then - jl+=("${match[1]}:${match[2]}") - fi - done - _describe -t jobs 'Perforce job' jl -V jobs-unsorted -} - -(( $+functions[_perforce_jobviews] )) || -_perforce_jobviews() { - # Jobviews (see `p4 help jobview') are ways of interrogating the - # jobs/fixes database. It's basically either a set of strings, - # or a set of key=value pairs, or some combination, separated - # by various logical operators. The `=' could be a comparison, - # but we don't currently bother with that here; it's a bit cumbersome - # to complete. - local line type oldifs=$IFS IFS= key value slash=/ - local match mbegin mend - # This is simply to split out two space-delimited words a backreferences. - local m2words - m2words='(#b)[[:blank:]]##([[:alnum:]]##)[[:blank:]]##([^[:blank:]]##)' - - local -a valuespec - local -A p4fields p4values - - # All the characters which can separate multiple match attempts. - # Ignore up to the last one. We don't try to complete these. - compset -P '*[[:blank:]\^\&\|\(\)]' - - # According to the manual, `p4 jobspec' requires admin privileges. - # If this is true even of `p4 jobspec -o', we are a bit screwed. - _perforce_call_p4 jobspec jobspec -o 2>/dev/null | while read line; do - case $line in - ([[:blank:]]##) - type= - ;; - - ((#b)([[:alpha:]]##):*) - type=${match[1]} - ;; - - (*) - case $type in - # This stanza tells us all the allowed fields. - (Fields) - if [[ $line = [[:blank:]]##<->${~m2words}* ]]; then - p4fields[${(L)match[1]}]=${match[2]} - fi - ;; - - # This stanza gives allowed values for the `select' types. - (Values) - if [[ $line = ${~m2words}* ]]; then - p4values[${(L)match[1]}]=${match[2]} - fi - ;; - esac - - ;; - esac - done - - IFS=$oldifs - - if (( ! ${#p4fields} )); then - # We didn't get anything; add the defaults. - p4fields=( - date date - description text - job word - status select - user word - ) - p4values=( - status open/suspended/closed - ) - fi - - for key in ${(k)p4fields}; do - if [[ -n ${p4values[$key]} ]]; then - valuespec+=("${key}:${p4fields[$key]}:(${p4values[$key]//$slash/ })") - elif [[ $key = job ]]; then - # Nothing special for jobs; add our own completion. - valuespec+=("${key}:Perforce job:_perforce_jobs") - elif [[ $key = user ]]; then - # Nothing provided for user; add our own completion. - valuespec+=("${key}:user:_perforce_users") - else - valuespec+=("${key}:${p4fields[$key]}: ") - fi - done - - _values 'Job specification parameter' $valuespec -} - -(( $+functions[_perforce_labels] )) || -_perforce_labels() { - local lline file - local -a ll match mbegin mend - - if [[ $argv[-1] = -tf ]]; then - argv=($argv[1,-2]) - # Completing after `@'. - file=${${(Q)PREFIX}%%@*} - compset -P '*@(|\\\<|\\\>)(|=)' - fi - - ll=(${${(f)"$(_perforce_call_p4 labels labels ${file:+\$file})"}//(#b)Label\ ([^[:blank:]]##)\ (*)/$match[1]:$match[2]}) - _describe -t labels 'Perforce label' ll -} - - -(( $+functions[_perforce_revisions] )) || -_perforce_revisions() { - # Doesn't handle standard completion options; requires space - # in front if used as action in _arguments. - - local rline match mbegin mend comma expl pfx - local -a rl - - if [[ $1 = -tR ]]; then - # handle ranges - comma=(-S, -R _perforce_file_suffix) - shift - fi - - # Beware of @foo,#bar; stupid but valid. - pfx=${${(Q)PREFIX}%%[\#@]*} - compset -P '*\#(|\\\<|\\\>)(|=)' - - # Numerical revision numbers, possibly with text. - if [[ -z $PREFIX || $PREFIX = <-> ]]; then - # always allowed (same as none) - rl+=(0) - _perforce_call_p4 filelog 'filelog $pfx' 2>/dev/null | while read rline; do - if [[ $rline = (#b)'... #'(<->)' change '(*) ]]; then - rl+=("${match[1]}:${match[2]}") - fi - done - fi - # Non-numerical (special) revision names. - if [[ -z $PREFIX || $PREFIX != <-> ]]; then - rl+=('head:head revision' 'none:empty revision' - 'have:current synced revision') - fi - _describe -t revisions 'revision' rl -V revisions-unsorted $comma -} - - -(( $+functions[_perforce_statuses] )) || -_perforce_statuses() { - # Perforce statuses are usually limited to a set of values - # given by the jobspec. - local jline match mbegin mend - local -a statuses - - _perforce_call_p4 jobspec jobspec -o | while read jline; do - if [[ $jline = (#b)Status[[:blank:]]##(*/*) ]]; then - statuses=(${(s./.)match[1]}) - break - fi - done - if (( !${#statuses} )); then - # Couldn't find anything from the jobspec; add defaults. - statuses=(closed open suspended) - fi - _describe -t statuses 'job status' statuses -} - - -(( $+functions[_perforce_submit_options] )) || -_perforce_submit_options() { - local -a soptions - soptions=('submitunchanged:submit all open files (default)' - 'revertunchanged:revert unchanged files' - 'leaveunchanged:move unchanged files to default changelist') - soptions+=(${^${soptions//:/+reopen:}}", leave submitted open") - _describe -t submit-options 'submit option' soptions -} - - -(( $+functions[_perforce_pids] )) || -_perforce_pids() { - local -a ul - - ul=(${${${${(f)"$(_perforce_call_p4 monitor monitor show 2>/dev/null)"}# *}//:/\\:}/\ /:}) - [[ $#ul -eq 1 && $ul[1] = '' ]] && ul=() - _describe -t id 'process ID' ul -} - - -(( $+functions[_perforce_users] )) || -_perforce_users() { - local -a ul - - ul=(${${${(f)"$(_perforce_call_p4 users users)"}//:/\\:}/\ /:}) - [[ $#ul -eq 1 && $ul[1] = '' ]] && ul=() - _describe -t users 'Perforce user' ul -} - - -(( $+functions[_perforce_users_or_groups] )) || -_perforce_users_or_groups() { - _alternative 'groups:Perforce group:_perforce_groups' \ - 'users:Perforce user:_perforce_users' -} - -(( $+functions[_perforce_variables] )) || -_perforce_variables() { - local line match mbegin mend expl - local -a vars - - _perforce_call_p4 help-environment help environment | while IFS= read line - do - if [[ $line = $'\t'(#b)([A-Z][A-Z0-9_]##)* ]]; then - vars+=($match[1]) - fi - done - - _wanted variable expl 'environment variable' compadd -S= -q $vars -} - -# -# Completions for p4 commands -# - -(( $+functions[_perforce_cmd_add] )) || -_perforce_cmd_add() { - _arguments -s : \ - '-c[add files to change]:change:_perforce_changes -tc' \ - '-d[reopen files for add]' \ - '-f[allow filenames with wild cards]' \ - '-I[do not perform ignore checking]' \ - '-n[preview add]' \ - '-t[set file type]:file type:_perforce_filetypes' \ - '*:file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_admin] )) || -_perforce_cmd_admin() { - if (( CURRENT == 2 )); then - local -a adcmds - adcmds=( - "checkpoint:checkpoint, save copy of journal file" - "dbstat:db tables" - "journal:save and truncate journal file" - "logstat:report sizes of log files" - "stop:stop the server") - _describe -t commands 'Perforce admin command' adcmds - else - case $words[2] in - (checkpoint|journal) - shift words - (( CURRENT-- )) - _arguments -s : \ - '-z[gzip journal file]' \ - '1::journal file prefix: ' - ;; - - (dbstat) - shift words - (( CURRENT -- )) - _arguments -s : \ - '-s[show sizes]' - esac - fi -} - - -(( $+functions[_perforce_cmd_annotate] )) || -_perforce_cmd_annotate() { - # New in release 2002.2. - # -c was new in about 2003.2. - _arguments -s : \ - '-a[include deleted files and lines]' \ - '-c[output change numbers]' \ - '-d-[select whitespace option]:whitespace option:(( -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-i[follow branches]' \ - '-I[follow all integrations]' \ - '-q[suppress one-line header]' \ - '-t[display binary files]' \ - '-u[output user and date]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_attribute] )) || -_perforce_cmd_attribute() { - # This is currently (2005.1) an unsupported command. - # See "p4 help undoc". - local limit - # If -f is present, search unopened files, else don't - [[ ${words[(I)-f]} -eq 0 ]] && limit=" -to" - _arguments -s : \ - '-n[attribute name]:name: ' \ - '-v[attribute value]:value: ' \ - '-e[use hex value]' \ - '-f[set attribute on submitted file]' \ - '-p[propagate attribute when opened]' \ - '(-v)-i[read attribute from standard input]' \ - "*::file:_perforce_files$limit" -} - - -(( $+functions[_perforce_cmd_branch] )) || -_perforce_cmd_branch() { - _arguments -s : \ - '(-o -S -P)-f[force operation]' \ - '(-o -i -S -P)-d[delete branch]' \ - '(-d -i -f)-o[write branch spec to standard output]' \ - '(-d -o -S -P)-i[read branch spec from standard input]' \ - '(-f -d -i)-S[expose internally generated mapping]:stream: ' \ - '(-f -d -i)-P[treat stream as a child of parent stream]:parent stream: ' \ - '(-i)*::branch name:_perforce_branches' -} - - -(( $+functions[_perforce_cmd_branches] )) || -_perforce_cmd_branches() { - _arguments -s : \ - '(-E)-e[list branches that match pattern]:pattern: ' \ - '(-e)-E[list branches that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-u[list branches owned by user]:user:_perforce_users' \ - '-m[limit output to max branches]:max branches: ' \ - '-t[display time and date]' -} - - -(( $+functions[_perforce_cmd_change] )) || -_perforce_cmd_change() { - local ctype - # Unless forcing or outputting, we don't - # complete committed changes since they can't be altered. - # If deleting and not forcing, the change must be on the current client. - if [[ ${words[(I)-*(f|o)*]} -eq 0 ]]; then - if [[ ${words[(I)-d]} -gt 0 ]]; then - ctype=" -tc" - else - ctype=" -tp" - fi - fi - _arguments -s : \ - '-f[force update of change]' \ - '-s[include fix status in job list]' \ - '(-u -I -o -i -t -U)-d[delete change]' \ - '(-u -d -o -i -t -U --serverid)-o[write change spec to the standard output]' \ - '(-O -I -d -o -i -t -U --serverid)-i[read change spec from the standard input]' \ - '(-s -d -o -i --serverid)-t[set type of change]:type:(public restricted)' \ - '-U[set user of empty change]:user:_perforce_users' \ - '-O[change is original number before submit]' \ - '-I[change is number of Identity field]' \ - '-u[force update of submitted change]' \ - '(-s -u -O -I -o -i -t -U)--serverid[specify server]:server ID: ' \ - "(-i)1::change:_perforce_changes$ctype" -} - - -(( $+functions[_perforce_cmd_changelist] )) || -_perforce_cmd_changelist() { - _perforce_cmd_change "$@" -} - - -(( $+functions[_perforce_cmd_changes] )) || -_perforce_cmd_changes() { - _arguments -s : \ - '-i[include integrated changes]' \ - '-t[display time and date]' \ - '-l[display full change text]' \ - '-L[display truncated change text]' \ - '-f[view restricted changes]' \ - '-c[display changes submitted by client]:client:_perforce_clients' \ - '-e[display changes above this change]:change:_perforce_changes' \ - '-m[limit to max changes]:max changes: ' \ - '-s[limit output to changes with status]:status:(pending shelved submitted)' \ - '-u[display changes owned by user]:user:_perforce_users' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_changelists] )) || -_perforce_cmd_changelists() { - _perforce_cmd_changes "$@" -} - - -(( $+functions[_perforce_cmd_clean] )) || -_perforce_cmd_clean() { - _arguments -s : \ - '-e[clean modified files]' \ - '-a[clean added files]' \ - '-d[clean deleted files]' \ - '-I[do not perform ignore checking]' \ - '-l[output relative paths]' \ - '-n[preview clean]' \ - '*:file:_perforce_files -tu' -} - - - -(( $+functions[_perforce_cmd_client] )) || -_perforce_cmd_client() { - _arguments -s : \ - '-f[force update of client]' \ - '-Fs[force delete with shelved changes]' \ - '(-t -o -S -c -s -i)-d[delete client]' \ - '(-f -d -Fs -s -i --serverid)-o[write client spec to standard output]' \ - '(-t -d -Fs -i --serverid)-S[create new client dedicated to stream]:stream: ' \ - '(-d -Fs -o -c -i --serverid)-s[switch client view without opening editor]' \ - '(-t -d -Fs -o -S -c -s --serverid)-i[read client spec from standard input]' \ - '-t[use client as template]:client:_perforce_clients' \ - '(-f -t -d -Fs -s -i --serverid)-c[yield client spec for stream at moment change was recorded]:change:_perforce_changes -ts' \ - '--serverid[specify server]:server ID: ' \ - '1::file:_perforce_clients' -} - - -(( $+functions[_perforce_cmd_clients] )) || -_perforce_cmd_clients() { - _arguments -s : \ - '-t[display time and date]' \ - '-u[list clients owned by user]:user:_perforce_users' \ - '(-E)-e[list clients that match pattern]:pattern: ' \ - '(-e)-E[list clients that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-m[limit to max clients]:max clients: ' \ - '-S[limit output to clients dedicated to stream]:stream: ' \ - '-U[list unloaded clients]' \ - '(-s)-a[display all clients]' \ - '(-a)-s[display clients dedicated to server]:server ID: ' -} - - -(( $+functions[_perforce_cmd_copy] )) || -_perforce_cmd_copy() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-r[reverse direction of copy]' \ - '-c[open files in change]:change:_perforce_changes -tc' \ - '-f[force creation of extra revisions]' \ - '-n[preview copy]' \ - '-m[limit copy to max files]:max files: ' \ - '-q[suppress normal output messages]' \ - '-v[do not modify client files]' \ - '(-b -s)-S[copy from stream to its parent]:stream: ' \ - '(-b -s)-P[generate branch view using a parent stream]:parent stream: ' \ - '(-b -s)-F[copy against stream'\''s expected flow]' \ - $fileargs -} - -(( $+functions[_perforce_cmd_counter] )) || -_perforce_cmd_counter() { - _arguments -s : \ - '-d[delete counter]' \ - '-f[set or delete internal counter]' \ - '-i[increment counter by 1]' \ - '-m[allow multiple operations]' \ - '1:counter:_perforce_counters' \ - '(-d -i)2::numeric value:_perforce_counter_values' -} - - -(( $+functions[_perforce_cmd_counters] )) || -_perforce_cmd_counters() { - _arguments -s : \ - '-e[list counters that match pattern]:pattern: ' \ - '-m[limit to max counters]:max counters: ' -} - - -(( $+functions[_perforce_cmd_cstat] )) || -_perforce_cmd_cstat() { - _arguments -s : \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_dbschema] )) || -_perforce_cmd_dbschema() { - if [[ $PREFIX = *:* ]]; then - _message 'table version' - else - _perforce_dbtables - fi -} - - -(( $+functions[_perforce_cmd_dbstat] )) || -_perforce_cmd_dbstat() { - _arguments -s : \ - '(-s)-h[histogram of leaf pages in DB table]' \ - '(-s)-a[all tables]' \ - '(-h -a)-s[report sizes of tables]' \ - '(-s -a)*::DB table:_perforce_dbtable' -} - - -(( $+functions[_perforce_cmd_delete] )) || -_perforce_cmd_delete() { - _arguments -s : \ - '-c[delete files for change]:change:_perforce_changes -tc' \ - '-n[preview delete]' \ - '-k[perform delete on server]' \ - '-v[delete unsynced files]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_depot] )) || -_perforce_cmd_depot() { - _arguments -s : \ - '(-t -o -i)-d[delete depot]' \ - '(-t -o -i)-f[force delete]' \ - '(-d -o -i)-t[insert value into type]:type: ' \ - '(-t -d -i -f)-o[write depot spec to standard output]' \ - '(-t -d -o -f)-i[read depot spec from standard input]' \ - '(-i)*::depot name:_perforce_depots' -} - - -(( $+functions[_perforce_cmd_depots] )) || -_perforce_cmd_depots() { - # No arguments - _arguments -s : -} - - -(( $+functions[_perforce_cmd_describe] )) || -_perforce_cmd_describe() { - _arguments -s : \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-s[omit diffs]' \ - '-S[list shelved files]' \ - '-f[force display of restricted change]' \ - '-O[change is original number before submit]' \ - '-I[change is number of Identity field]' \ - '-m[limit output to max files]:max files: ' \ - '*::change:_perforce_changes' -} - - -(( $+functions[_perforce_cmd_diff] )) || -_perforce_cmd_diff() { - local limit - [[ ${words[(I)-(f|sd|se|sl)]} -eq 0 ]] && limit=" -to" - _arguments -s : \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-f[diff every file]' \ - '-m[limit output to max files]:max files: ' \ - '-Od[limit output to files that differ]' \ - '-s-[filter options]:filter options:(( -a\:list\ opened\ files\ that\ differ\ from\ depot -b\:list\ modified\ integrated\ files -d\:list\ unopened\ missing\ files -e\:list\ unopened\ files\ that\ differ\ from\ depot -l\:list\ all\ unopened\ files\ with\ status -r\:list\ opened\ files\ that\ do\ not\ differ\ from\ depot))' \ - '-t[diff binary files]' \ - "*::file:_perforce_files$limit" -} - - -(( $+functions[_perforce_cmd_diff2] )) || -_perforce_cmd_diff2() { - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '-d-[diff options]:diff options:(( -n\:RCS -c\:context -s\:summary -u\:unified -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace -l\:ignore\ line\ endings))' \ - '-Od[limit output to files that differ]' \ - '-q[omit identical files]' \ - '-t[diff binary files]' \ - '-u[use GNU diff -u format]' \ - '(-b)-S[use generated branch view from stream]:stream: ' \ - '(-b)-P[use generated branch view from parent stream]:parent stream: ' \ - '1::from file:_perforce_files' \ - '2::to file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_dirs] )) || -_perforce_cmd_dirs() { - _arguments -s : \ - '-C[list only directories in current client]' \ - '-D[include directories with only deleted files]' \ - '-H[list directories with synced files]' \ - '-S[limit output to depot directories mapped to stream'\''s client]:stream: ' \ - '*::directory:_perforce_files -td' -} - - -(( $+functions[_perforce_cmd_edit] )) || -_perforce_cmd_edit() { - _arguments -s : \ - '-c[edit files for change]:change:_perforce_changes -tc' \ - '-t[specify filetype]:filetype:_perforce_filetypes' \ - '-n[preview edit]' \ - '-k[edit files on server]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_export] )) || -_perforce_cmd_export() { - _arguments -s : \ - '(-j)-c[specify checkpoint number (/ position)]:checkpoint number: ' \ - '(-c)-j[specify journal number (/ position)]:journal number: ' \ - '(-j)-f[reformat non-textual data types]' \ - '(-j)-l[specify number of lines]:number of lines: ' \ - '(-j)-F[specify filter]:filter pattern: ' \ - '(-c)-r[raw format]' \ - '-J[specify file prefix]:file prefix: ' \ - '-T[space-separated list of tables not to export]' -} - - -(( $+functions[_perforce_cmd_filelog] )) || -_perforce_cmd_filelog() { - _arguments -s : \ - '-c[display files at change]:change:_perforce_changes -ts' \ - '-i[include inherited file history]' \ - '-h[display file content history]' \ - '-t[display time and date]' \ - '-l[display full change text]' \ - '-L[display truncated change text]' \ - '-m[display max number of revisions]:max revisions: ' \ - '-p[do not follow content of promoted task streams]' \ - '-s[display shortened form]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_files] )) || -_perforce_cmd_files() { - _arguments -s : \ - '-a[display all revisions in range]' \ - '-A[display files in archive depots]' \ - '-e[do not display deleted, purged or archived files]' \ - '-m[limit output to max files]:max files: ' \ - '-U[display files in unload depot]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_fix] )) || -_perforce_cmd_fix() { - local job - local -a jobs - - if [[ -n $words[(R)-d] && -n $words[(R)-c] && -n $words[$words[(i)-c]+1] ]] - then - # Deleting a fix from a change. We can find out which fixes - # are present. - local -a jobs - jobs=(${${(f)"$(_perforce_call_p4 fixes fixes -c $words[$words[(i)-c]+1])"}%" fixed by change "*}) - if (( ${#jobs} )); then - jobs=("Job="${^jobs}) - job=" -e \"${(j.|.)jobs}\"" - fi - fi - - _arguments -s : \ - '-d[delete fix]' \ - '-s[set status]:status:_perforce_statuses' \ - '-c[display jobs fixed by change]:change:_perforce_changes -ts' \ - "*::job:_perforce_jobs$job" -} - - -(( $+functions[_perforce_cmd_fixes] )) || -_perforce_cmd_fixes() { - _arguments -s : \ - '-j[list fixes for job]:job:_perforce_jobs' \ - '-c[list fixes for change]:change:_perforce_changes -tR' \ - '-i[include integrated changes]' \ - '-m[limit output to max fixes]:max fixes: ' \ - '*::fixed file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_flush] )) || -_perforce_cmd_flush() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax, including revision number]' \ - '-n[preview flush]' \ - '-N[preview flush with summary]' \ - '-q[suppress normal output messages]' \ - '-r[reopen moved files in new location]' \ - '-m[limit sync to max files]:max files: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_fstat] )) || -_perforce_cmd_fstat() { - local Oattr Aattr - if [[ ${_perforce_cmd_list[(r)attribute:*]} != '' ]]; then - # Unsupported feature, try not to show if not present - Oattr=' a\:output\ attributes d\:output\ digest e\:output\ values\ in\ hex' - Aattr='-A[restrict attributes by pattern]:attribute pattern: ' - fi - _arguments -s : \ - $Aattr \ - '-F[list only files satisfying filter]:filter:_perforce_fstat_fields -tv' \ - '-L[use full depot syntax, including revision number]' \ - '-T[return specified fields]:output field:_perforce_fstat_fields' \ - '-m[limits output to max files]:max files: ' \ - '-r[sort output in reverse order]' \ - '-c[display files modified by or after change]:change:_perforce_changes -ts' \ - '-e[list files modified by change]:change:_perforce_changes -ts' \ - "-O-[output options]:output options:(( -f\:all\ revisions -l\:fileSize\ and\ digest -p\:local\ file\ path -r\:pending\ integration -s\:exclude\ local\ path -$Oattr))" \ - '-R-[restrict files]:file restrictions:(( -c\:mapped\ in\ client -h\:synced\ to\ client -n\:opened\ not\ at\ head\ revision -o\:opened -r\:resolved -s\:shelved -u\:unresolved))' \ - '-S-[sort order]:sort by:(( -t\:filetype -d\:date -r\:head\ revision -h\:have\ revision -s\:filesize))' \ - '-U[display info about unload files in unload depot]' \ - '-C[limit output to mapped files (-Rc)]' \ - '-H[limit output to synced files (-Rh)]' \ - '-W[limit output to opened files (-Ro)]' \ - '-l[output fileSize and digest (-Ol)]' \ - '-P[output local file paths (-Op)]' \ - '-s[exclude local file paths (-Os)]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_grep] )) || -_perforce_cmd_grep() { - _arguments -s : \ - '-e[search pattern]:pattern: ' \ - '-a[search all revisions]' \ - '-i[case insensitive match]' \ - '-n[display matching line number]' \ - '-v[display files with non-matching lines]' \ - '-F[interpret pattern as fixed string]' \ - '-G[interpret pattern as regexp]' \ - '-L[display non-matching files]' \ - '-l[display matching files]' \ - '-s[suppress errors on long lines]' \ - '-t[search binary files]' \ - '-A[display N lines of trailing context]:lines: ' \ - '-B[display N lines of leading context]:lines: ' \ - '-C[display N lines of output context]:lines: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_group] )) || -_perforce_cmd_group() { - _arguments -s : \ - '-d[delete group]' \ - '-o[write group spec to standard output]' \ - '-i[read group spec from standard input]' \ - '(-o -A)-a[allow owner to modify group]' \ - '(-a -d)-A[allow admin user to add new group]' \ - '1::perforce group:_perforce_groups' -} - - -(( $+functions[_perforce_cmd_groups] )) || -_perforce_cmd_groups() { - _arguments -s : \ - '-i[display indirect membership by subgroups]' \ - '-m[limit output to max groups]:max groups: ' \ - '-v[display group data]' \ - '(-u -o)-g[display group with name]:group:_perforce_groups' \ - '(-g -o)-u[display all groups for user]:user:_perforce_users' \ - '(-g -u)-o[display all groups for owner]:owner:_perforce_users' \ - '(-g -u -o)1::user or group name:_perforce_users_or_groups' -} - - -(( $+functions[_perforce_cmd_have] )) || -_perforce_cmd_have() { - _perforce_files -} - - -(( $+functions[_perforce_cmd_help] )) || -_perforce_cmd_help() { - local hline - if (( ! ${#_perforce_help_list} )); then - (( ${+_perforce_help_list} )) || typeset -ga _perforce_help_list - # All commands have help. - (( ${#_perforce_cmd_list} )) || _perforce_gen_cmd_list - _perforce_help_list=($_perforce_cmd_list) - _perforce_call_p4 help help | while read -A hline; do - if [[ $hline[1] = p4 && $hline[2] = help ]]; then - _perforce_help_list+=("$hline[3]:${hline[4,-1]}") - fi - done - if [[ -z ${_perforce_help_list[(r)undoc:*]} ]]; then - _perforce_help_list+=("undoc:help for otherwise undocumented features") - fi - fi - _describe -t help-options 'Perforce help option' _perforce_help_list -} - - -(( $+functions[_perforce_cmd_info] )) || -_perforce_cmd_info() { - _arguments -s : \ - '-s[short output]' -} - - -(( $+functions[_perforce_cmd_integrate] )) || -_perforce_cmd_integrate() { - local range - # If -s is present, the first normal argument can't have revRange. - [[ ${words[(I)-s]} -eq 0 ]] && range=" -tR" - _arguments -s : \ - '-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-r)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-f[force integration]' \ - '-O-[output more information]:output options:(( -b\:show\ base\ revision\ for\ merge -r\:show\ scheduled\ resolves))' \ - '-R-[specify resolve schedule]:schedule:(( -b\:branch\ resolves -d\:delete\ resolves -s\:skip\ cherry-picked\ revisions\ already\ integrated))' \ - '-Di[retain revisions of deleted files]' \ - '-h[leave files at revision currently synced]' \ - '-m[limit integration to max files]:max files: ' \ - '-n[preview integration]' \ - '-q[suppress normal output messages]' \ - '-c[open in change]:change:_perforce_changes -tc' \ - '-v[do not modify client files]' \ - '-r[reverse direction of mapping]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - "1:file:_perforce_files$range" \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_integ] )) || -_perforce_cmd_integ() { - _perforce_cmd_integrate "$@" -} - -(( $+functions[_perforce_cmd_integrated] )) || -_perforce_cmd_integrated() { - _arguments -s : \ - '-r[reverse mapping in branch view]' \ - '-b[list files integrated from branch view]:branch:_perforce_branches' \ - '*::file:_perforce_files -ti' -} - - -# interchanges is an unsupported but useful command that reports -# changes that haven't been integrated between source and target; -# see "p4 help undoc". -(( $+functions[_perforce_cmd_interchanges] )) || -_perforce_cmd_interchanges() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '-f[list files that require integration]' \ - '-l[display full change text]' \ - '-t[display time and date]' \ - '(-S -P)-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-S -P)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-u[limit files submitted by user]:user:_perforce_users' \ - '-r[reverse mapping direction]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '-F[ignore stream'\''s expected flow]' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_istat] )) || -_perforce_cmd_istat() { - _arguments -s : \ - '-a[show status of integration in both directions]' \ - '-c[assume cache is stale]' \ - '-r[show status of integration from parent]' \ - '-s[show cached state without refreshing stale data]' \ - '1::stream: ' -} - - -(( $+functions[_perforce_cmd_job] )) || -_perforce_cmd_job() { - _arguments -s : \ - '(-d -o -i)-f[force setting of readonly fields]' \ - '(-f -o -i)-d[delete job]' \ - '(-f -d -i)-o[write job spec to standard output]' \ - '(-d -o)-i[read job spec from standard input]' \ - '(-i)1::job:_perforce_jobs' -} - - -(( $+functions[_perforce_cmd_jobs] )) || -_perforce_cmd_jobs() { - _arguments -s : \ - '-e[list jobs matching parameter]::_perforce_jobviews' \ - '-i[include integrated changes]' \ - '-l[display full job text]' \ - '-m[limit output to max jobs]:max jobs: ' \ - '-r[sort in reverse order]' \ - '(-e -i -l -m)-R[rebuild jobs table]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_jobspec] )) || -_perforce_cmd_jobspec() { - _arguments -s : \ - '-i[read form from stdin]' \ - '-o[write form from to stdout]' -} - - -(( $+functions[_perforce_cmd_key] )) || -_perforce_cmd_key() { - local -a keyargs - if [[ ${words[(I)-(d|i)]} -ne 0 ]]; then - keyargs=('1::name: ') - elif [[ ${words[(I)-m]} -ne 0 ]]; then - keyargs=('*::name value pairs: ') - else - keyargs=('1::name: ' '2::value: ') - fi - _arguments -s : \ - '(-i -m)-d[delete key]' \ - '(-d -m)-i[increment key value by 1]' \ - '(-d -i)-m[allow multiple operations]' \ - $keyargs -} - - -(( $+functions[_perforce_cmd_keys] )) || -_perforce_cmd_keys() { - _arguments -s : \ - '-e[list keys that match pattern]:pattern: ' \ - '-m[limit output to max keys]:max keys: ' -} - - -(( $+functions[_perforce_cmd_label] )) || -_perforce_cmd_label() { - _arguments -s : \ - '-f[force operation]' \ - '-t[copy view and options from label]:label:_perforce_labels' \ - '(-o -i -t)-d[delete label]' \ - '(-d -f -i -g)-o[write label spec to standard output]' \ - '(-o -d -t)-i[read label spec from standard input]' \ - '-g[update global label]' \ - '*::label:_perforce_labels' -} - - -(( $+functions[_perforce_cmd_labels] )) || -_perforce_cmd_labels() { - _arguments -s : \ - '-t[display time and date]' \ - '-u[list labels owned by user]:user:_perforce_users' \ - '(-E)-e[list labels that match pattern]:pattern: ' \ - '(-e)-E[list labels that match case-insensitive pattern]:case-insensitive pattern: ' \ - '-m[limit output to max labels]:max labels: ' \ - '(-s)-a[display all labels]' \ - '(-a)-s[display labels from server]:server ID: ' \ - '-U[list unloaded labels]' \ - '1::file or revisions which must contain label:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_labelsync] )) || -_perforce_cmd_labelsync() { - _arguments -s : \ - '-l[specify label]:label:_perforce_labels' \ - '-a[add files to label]' \ - '-d[delete files from label]' \ - '-n[preview labelsync]' \ - '-q[suppress normal output messages]' \ - '-g[update global label]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_list] )) || -_perforce_cmd_list() { - _arguments -s : \ - '-l[use temporary list name]:list name: ' \ - '(-C)-d[delete list]' \ - '-C[limit files to client]' \ - '-M[forward list to master server]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_license] )) || -_perforce_cmd_license() { - _arguments -s : \ - '-o[write license to stdout]' \ - '-i[read license from stdin]' -} - - -(( $+functions[_perforce_cmd_lock] )) || -_perforce_cmd_lock() { - _arguments -s : \ - '-c[lock files for change]:change:_perforce_changes -tc' \ - '-g[lock files globally]' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_lockstat] )) || -_perforce_cmd_lockstat() { - _message 'no arguments' -} - - -(( $+functions[_perforce_cmd_logger] )) || -_perforce_cmd_logger() { - _arguments -s : \ - '-c[list events after sequence]:sequence: ' \ - '-t[list events after counter]:counter:_perforce_counters' -} - - - -(( $+functions[_perforce_cmd_login] )) || -_perforce_cmd_login() { - _arguments -s : \ - '-a[issue ticket on all host machines]' \ - '-h[issue ticket on host]:host: ' \ - '-p[display ticket, do not store]' \ - '-r[forward login to server]:remote spec: ' \ - '(-a -p -h)-s[display status of current ticket]' \ - '(-s)1::user:_perforce_users' -} - - -(( $+functions[_perforce_cmd_logout] )) || -_perforce_cmd_logout() { - _arguments -s : \ - '-a[invalidate ticket on server]' -} - - -(( $+functions[_perforce_cmd_logstat] )) || -_perforce_cmd_logstat() { - _message 'no arguments' -} - - -(( $+functions[_perforce_cmd_logtail] )) || -_perforce_cmd_logtail() { - _arguments -s : \ - '-b[specify block size]:block size [8192]' \ - '-s[specify start offset]:offset: ' \ - '-m[specify max blocks]:max blocks: ' -} - - -(( $+functions[_perforce_cmd_merge] )) || -_perforce_cmd_merge() { - local -a fileargs - if [[ ${words[(I)--from]} -ne 0 ]]; then - fileargs=('1:to file:_perforce_files -tR') - else - fileargs=('1:from file:_perforce_files -tR' - '2:to file:_perforce_files') - fi - _arguments -s : \ - '-F[merge against stream'\''s expected flow]' \ - '-Ob[show base revision for merge]' \ - '-q[suppress normal output messages]' \ - '--from[merge from stream other than the parent stream]:stream: ' \ - '-m[limit merge to max files]:max files: ' \ - '-n[preview merge]' \ - '-c[open in change]:change:_perforce_changes -tc' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_monitor] )) || -_perforce_cmd_monitor() { - if (( CURRENT > 2 )); then - case $words[2] in - (show) - shift words - (( CURRENT-- )) - _arguments -s : \ - '-a[show command arguments]' \ - '-e[show command environment]' \ - '-l[long output format]' - ;; - - (terminate) - _perforce_pids - ;; - - (clear) - _alternative 'pids:pid:_perforce_pids' 'all:all processes:(all)' - ;; - - (*) - _message "no such monitor command: $words[1]" - ;; - esac - else - local expl - _wanted monitor-command expl 'monitor command' compadd show terminate clear - fi -} - - -(( $+functions[_perforce_cmd_move] )) || -_perforce_cmd_move() { - _arguments -s : \ - '-c[reopen in change]:change:_perforce_changes -tc' \ - '-f[force move]' \ - '-t[specify new file type]:filetype:_perforce_filetypes' \ - '-n[preview move]' \ - '-k[perform move on server]' \ - '1::from file:_perforce_files -to' \ - '2::to file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_obliterate] )) || -_perforce_cmd_obliterate() { - if [[ ${words[(I)-y]} -gt 0 ]]; then - _message \ -": don't complete after -y; run obliterate without, then add the -y" - else - _arguments -s : \ - '-y[actually perform the operation]' \ - '*::file:_perforce_files -tR' - fi -} - - -(( $+functions[_perforce_cmd_opened] )) || -_perforce_cmd_opened() { - # You might think you could check for files opened on another - # client, and hence the -c completion should have the argument - # -tp, but currently Perforce doesn't allow that, so -tc is correct. - # This is true even if -a is also given. - _arguments -s : \ - '-a[list files for all clients]' \ - '-c[list files opened in change]:change:_perforce_changes -tc' \ - '-C[list files open in client]:client:_perforce_clients' \ - '-u[list files opened by user]:user name:_perforce_users' \ - '-m[limit output to max files]:max files: ' \ - '-s[short output]' \ - '-x[list exclusive files]' \ - '-g[list files opened on Commit Server]' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_passwd] )) || -_perforce_cmd_passwd() { - _arguments -s : \ - '-O[explicit old password]:old password: ' \ - '-P[explicit new password]:new password: ' \ - '1::user name:_perforce_users' -} - - -(( $+functions[_perforce_cmd_ping] )) || -_perforce_cmd_ping() { - _arguments -s : \ - '-c[specify count of messages]:count of messages: ' \ - '-t[specify total time of test]:time (seconds)' \ - '-i[specify iterations for test]:number of iterations: ' \ - '-f[transmit continuously without waiting for responses]' \ - '-p[specify pause between tests]:pause (seconds)' \ - '-s[specify send size]:send size (octets)' \ - '-r[specify receive size]:receive size (octets)' -} - - -(( $+functions[_perforce_cmd_populate] )) || -_perforce_cmd_populate() { - local -a fileargs - if [[ ${words[(I)-b*]} -ne 0 ]]; then - if [[ ${words[(I)-*s*]} -eq 0 ]]; then - # with -b and no -s, all files are to-files (but -s may come later) - fileargs=('*::to file:_perforce_files -tR') - else - # with -b and -s we have one from-file and any number of to-files - fileargs=('*::to file:_perforce_files') - fi - elif [[ ${words[(I)-(S|P)]} -ne 0 ]]; then - fileargs=('*::file:_perforce_files -tR') - else - # with no -b we have one from-file and one to-file - fileargs=('1::from file:_perforce_files -tR' - '2::to file:_perforce_files') - fi - _arguments -s : \ - '(-S -P)-b[use branch view'\''s source and target]:branch:_perforce_branches' \ - '(-S -P)-s[select source file, use branch view as target]:source file:_perforce_files -tR' \ - '-r[reverse mapping direction]' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '-d[description for submitted change]:description: ' \ - '-f[force deleted files to branch into target]' \ - '-n[preview populate]' \ - '-o[display files created by populate]' \ - '-m[limit max actions]:max actions: ' \ - $fileargs -} - - -(( $+functions[_perforce_cmd_print] )) || -_perforce_cmd_print() { - _arguments -s : \ - '-a[print all revisions in range]' \ - '-A[print files in archive depots]' \ - '-k[suppress keyword expansion]' \ - '-o[redirect output to file]:file:_files' \ - '-q[suppress header]' \ - '-m[limit max files]:max files: ' \ - '-U[print files in unload depot]:unload file:_perforce_files' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_protect] )) || -_perforce_cmd_protect() { - _arguments -s : \ - '-o[write protection table to standard output]' \ - '-i[read protection table from standard input]' -} - - -(( $+functions[_perforce_cmd_protects] )) || -_perforce_cmd_protects() { - _arguments -s : \ - '(-g -u)-a[display protection lines for all users]' \ - '(-a -u)-g[display protection lines for group]:perforce group:_perforce_groups' \ - '(-a -g)-u[display protection lines for user]:perforce user:_perforce_users' \ - '-h[display protection lines for host]:host:_perforce_hosts' \ - '-m[report single word summary]' \ - '*:file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_prune] )) || -_perforce_cmd_prune() { - _arguments -s : \ - '-y[execute prune]' \ - '-S[stream to prune]:stream: ' -} - - -(( $+functions[_perforce_cmd_pull] )) || -_perforce_cmd_pull() { - _arguments -s : \ - '-i[repeat as specified]:seconds between repeats: ' \ - '-u[retrieve file content rather than journal]' \ - '-p[display information about pending transfers]' \ - '-J[specify prefix for journal file]:journal file prefix: ' -} - - -(( $+functions[_perforce_cmd_reconcile] )) || -_perforce_cmd_reconcile() { - _arguments -s : \ - '-n[preview reconcile]' \ - '-c[open files for change]:change:_perforce_changes -tc' \ - '-e[open modified files for edit]' \ - '-a[open new files for add]' \ - '-d[open removed files for delete]' \ - '-f[reformat filenames with wildcard characters]' \ - '-I[do not perform ignore checking]' \ - '-l[output relative paths]' \ - '-m[check file modification times]' \ - '-w[force client files to be updated to match depot]' \ - '-k[reconcile have list with client]' \ - '*:file:_perforce_files -tu' -} - - -(( $+functions[_perforce_cmd_rec] )) || -_perforce_cmd_rec() { - _perforce_cmd_reconcile "$@" -} - - -(( $+functions[_perforce_cmd_rename] )) || -_perforce_cmd_rename() { - _perforce_cmd_move "$@" -} - - -(( $+functions[_perforce_cmd_reopen] )) || -_perforce_cmd_reopen() { - # Assume user doesn't want to reopen to same changelist. - integer pos=${words[(I)-c]} - if (( pos )); then - _perforce_exclude_change=${words[pos+1]} - elif [[ -n ${words[(R)-c?*]} ]]; then - _perforce_exclude_change=${${words[(R)-c?*]}##-c} - fi - - _arguments -s : \ - '-c[reopen files for change]:change:_perforce_changes -tc' \ - '-t[specify new file type]:filetype:_perforce_filetypes' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_replicate] )) || -_perforce_cmd_replicate() { - _arguments -s : \ - '-i[specify interval in seconds]:interval: ' \ - '-j[specify journal number (/ position)]:journal number: ' \ - '-J[specify file prefix]:file prefix: ' \ - '-k[keep pipe open]' \ - '-o[specify output file]:output file:_files' \ - '-R[reconnect on failure, needs -i]' \ - '-s[specify file to track state]:state file:_files' \ - '-T[space-separate list of tables not to transfer]' \ - '-x[terminate when journal rotates]' \ - '*::->_command' -} - - -(( $+functions[_perforce_cmd_resolve] )) || -_perforce_cmd_resolve() { - _arguments -s : \ - '-A-[limit resolve attempts]:resolve attempts:(( -a\:resolve\ attributes -b\:resolve\ file\ branching -c\:resolve\ file\ content\ changes -d\:resolve\ file\ deletions -m\:resolve\ moved\ and\ renamed\ files -t\:resolve\ filetype\ changes -Q\:resolve\ charset\ changes -))' \ - '-a-[set automatic resolve]:resolve:(( -s\:skip\ files\ that\ need\ merging -m\:skip\ files\ with\ conflicts -f\:accept\ merged\ files\ with\ conflicts -t\:use\ theirs -y\:use\ yours))' \ - '-d-[control whitespace merging]:whitespace option:(( -b\:ignore\ whitespace\ changes -w\:ignore\ whitespace\ altogether -l\:ignores\ line\ endings))' \ - '-f[re-resolve files]' \ - '-n[preview resolve]' \ - '-N[preview resolve with summary]' \ - '-o[display base file name and revision for merge]' \ - '-t[force textual merge]' \ - '-v[insert markers for all changes]' \ - '-c[limit resolve to change]:change:_perforce_changes -tc' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_resolved] )) || -_perforce_cmd_resolved() { - _arguments -s : \ - '-o[report revision used as base for resolve]' \ - '*::file:_perforce_files -tr' -} - - -(( $+functions[_perforce_cmd_revert] )) || -_perforce_cmd_revert() { - _arguments -s : \ - '-a[revert open unchanged files]' \ - '-n[preview revert]' \ - '-k[mark files as reverted on server]' \ - '-w[delete new files]' \ - '-c[revert files opened in change]:change:_perforce_changes -tc' \ - '-C[specify client]:client:_perforce_clients' \ - '*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_review] )) || -_perforce_cmd_review() { - _arguments -s : \ - '-c[specify change]:change:_perforce_changes -ts' \ - '-t[specify counter]:counter:_perforce_counters' -} - - -(( $+functions[_perforce_cmd_reviews] )) || -_perforce_cmd_reviews() { - _arguments -s : \ - '-c[limit files submitted in change]:change:_perforce_changes -ts' \ - '-C[limit files opened in client]:client:_perforce_clients' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_set] )) || -_perforce_cmd_set() { - # Only works under Windoze but maybe we are on Cygwin. - _arguments -s : \ - '-q[remove origin]' \ - '-s[set for whole system]' \ - '-S[specify service]:service: ' \ - "*::environment variable:_perforce_variables" -} - - -(( $+functions[_perforce_cmd_shelve] )) || -_perforce_cmd_shelve() { - _arguments -s : \ - '-i[read change spec from standard input]' \ - '(-i)-c[shelve files in change]:change:_perforce_changes -tc' \ - '-f[overwrite existing shelved files]' \ - '-r[replace shelved files in change]' \ - '-a[handle unchanged files]:option:(submitunchanged leaveunchanged)' \ - '(-p -a -i -r)-d[delete shelved files]' \ - '-p[promote shelved change to commit server]' \ - '(-i -r)*::file:_perforce_files -to' -} - - -(( $+functions[_perforce_cmd_status] )) || -_perforce_cmd_status() { - _arguments -s : \ - '-c[list files in change]:change:_perforce_changes -tc' \ - '-A[list all new, modified, and removed files]' \ - '-e[list modified files]' \ - '-a[list new files]' \ - '-d[list removed files]' \ - '-f[reformat filenames with wildcard characters]' \ - '-s[summarize output for new files]' \ - '-I[do not perform ignore checking]' \ - '-m[check file modification times]' \ - '-k[reconcile have list with client]' \ - '*:file:_perforce_files -tuo' -} - - -(( $+functions[_perforce_cmd_sizes] )) || -_perforce_cmd_sizes() { - _arguments -s : \ - '-a[list all revisions in range]' \ - '-b[specify blocksize]:blocksize (bytes)' \ - '(-H)-h[print sizes in human-readable form (GiB)]' \ - '(-h)-H[print sizes in human-readable form (GB)]' \ - '-m[limit max files]:max files: ' \ - '-s[sum the file sizes]' \ - '-S[display sizes for shelved files]' \ - '-z[omit lazy copies]' \ - '(-z -S)-A[display files in archive depots]' \ - '-U[display sizes for unload files]' \ - '*:file:_perforce_files -tR' -} - - -# TODO Add more logic for subcommands -#p4 stream edit -#p4 stream resolve [-a<flag>] [-n] [-o] -#p4 stream revert -(( $+functions[_perforce_cmd_stream] )) || -_perforce_cmd_stream() { - _arguments -s : \ - '(-o -v)-d[delete stream]' \ - '(-f)-o[write stream spec to standard output]' \ - '(-o -v)-P[insert value into parent field]:parent stream: ' \ - '(-o -v)-t[insert value into type field]:type: ' \ - '(-o -v)-i[read stream spec from standard input]' \ - '(-o -v)-f[force modification]' \ - '(-f)-v[expose client view]' \ - '1:stream name: ' -} - - -(( $+functions[_perforce_cmd_streams] )) || -_perforce_cmd_streams() { - _arguments -s : \ - '-F[limit files to pattern]:file pattern: ' \ - '-T[limit fields to list]:field list: ' \ - '-m[limit max streams]:max streams: ' \ - '-U[list unloaded task streams]' \ - '*:stream path: ' -} - - -(( $+functions[_perforce_cmd_spec] )) || -_perforce_cmd_spec() { - _arguments -s : \ - '-d[delete a custom spec]' \ - '-i[read spec from stdin]' \ - '-o[write spec to stdout]' \ - "*::spec type:(branch change client depot group job -label spec trigger typemap user)" -} - - -# TODO Figure out how --parallel will work -#p4 submit -i [-r -s -f option] --parallel=threads=N[,batch=N][,min=N] -(( $+functions[_perforce_cmd_submit] )) || -_perforce_cmd_submit() { - _arguments -s : \ - '(-s -d -e -i)-c[submit change]:change:_perforce_changes -tc' \ - '(-r -s -f -d -c -i --noretransfer)-e[submit shelved change]:change:_perforce_changes -tS' \ - '(-s -c -e -i --noretransfer)-d[specify description]:description: ' \ - '(-d -c -e --noretransfer)-i[read change spec from standard input]' \ - '-f[override submit option]:submit option:_perforce_submit_options' \ - '-r[reopen submitted files]' \ - '(-d -c)-s[include fix status in list]' \ - '--parallel[parallel file transfer options]:parallel options: ' \ - '--noretransfer[do not re-transfer submitted files]:no re-transfer?:(0 1)' \ - '*::file:_perforce_files -to -tr' -} - - -# TODO Figure out how --parallel will work -#--parallel=threads=N[,batch=N][,batchsize=N][,min=N][,minsize=N] -(( $+functions[_perforce_cmd_sync] )) || -_perforce_cmd_sync() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax]' \ - '-n[preview sync]' \ - '-N[preview sync with summary]' \ - '(-s -p)-k[update server without syncing files]' \ - '(-f -k -r -s)-p[sync client without updating server]' \ - '-q[suppress normal output messages]' \ - '(-s -p)-r[reopen moved files in new location]' \ - '(-f -k -r -p)-s[do not clobber modified files]' \ - '-m[limit max files to sync]:max files: ' \ - '--parallel[parallel file transfer options]:parallel options: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_tag] )) || -_perforce_cmd_tag() { - _arguments -s : \ - '-d[delete association between label and files]' \ - '-n[preview tag]' \ - '-g[update global label]' \ - '-U[create label with autoreload option]' \ - '-l[specify label]:label:_perforce_labels' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_tickets] )) || -_perforce_cmd_tickets() { - # No arguments. - _arguments -s : -} - - -(( $+functions[_perforce_cmd_triggers] )) || -_perforce_cmd_triggers() { - _arguments -s : \ - '-o[output form to stdout]' \ - '-i[read from stdin]' -} - - -(( $+functions[_perforce_cmd_typemap] )) || -_perforce_cmd_typemap() { - _arguments -s : \ - '-o[output table to stdout]' \ - '-i[read table from stdin]' -} - - -(( $+functions[_perforce_cmd_unlock] )) || -_perforce_cmd_unlock() { - _arguments -s : \ - '-s[unlock files from shelved change]:change:_perforce_changes -tS' \ - '-c[unlock files from change]:change:_perforce_changes -tc' \ - '-x[unlock exclusive files]' \ - '-f[unlock files owned by other users]' \ - '*::file:_perforce_files' -} - - -(( $+functions[_perforce_cmd_unshelve] )) || -_perforce_cmd_unshelve() { - _arguments -s : \ - '-s[unshelve files from change]:change:_perforce_changes -tS' \ - '-c[unshelve files to change]:change:_perforce_changes -tc' \ - '-f[force clobbering of writeable files]' \ - '-n[preview unshelve]' \ - '-b[use branch view for unshelve]:branch:_perforce_branches' \ - '-S[use generated branch view from stream]:stream: ' \ - '-P[use generated branch view from parent stream]:parent stream: ' \ - '*::file, pattern allowed:_perforce_files' -} - - -(( $+functions[_perforce_cmd_update] )) || -_perforce_cmd_update() { - _arguments -s : \ - '-f[force resynchronisation]' \ - '-L[use full depot syntax]' \ - '-n[preview update]' \ - '-N[preview update with summary]' \ - '-q[suppress normal output messages]' \ - '-m[limit max files to update]:max files: ' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_user] )) || -_perforce_cmd_user() { - _arguments -s : \ - '(-o -i)-d[delete user]' \ - '(-f -i -d)-o[write user spec to standard output]' \ - '(-o -d)-i[read user spec from standard input]' \ - '(-o)-f[force edit of user]' \ - '(-i)1::username:_perforce_users' -} - - -(( $+functions[_perforce_cmd_users] )) || -_perforce_cmd_users() { - _arguments -s : \ - '-m[limit output to max users]:max users: ' \ - '-a[output service and operator users]' \ - '-l[long output]' \ - '-r[list only replica users]' \ - '-c[list only central server users]' \ - '*::username:_perforce_users' -} - - -(( $+functions[_perforce_cmd_verify] )) || -_perforce_cmd_verify() { - _arguments -s : \ - '-m[limit revisions]:max revisions: ' \ - '-q[operate quietly]' \ - '-u[compute and save digest if missing]' \ - '-v[compute and save all digets]' \ - '-z[skip duplicates]' \ - '*::file:_perforce_files -tR' -} - - -(( $+functions[_perforce_cmd_where] )) || -_perforce_cmd_where() { - _perforce_files -} - - -(( $+functions[_perforce_cmd_workspace] )) || -_perforce_cmd_workspace() { - _perforce_cmd_client "$@" -} - - -(( $+functions[_perforce_cmd_workspaces] )) || -_perforce_cmd_workspaces() { - _perforce_cmd_clients "$@" -} - - -_perforce "$@" diff --git a/result/sw/share/zsh/5.9/functions/_perl b/result/sw/share/zsh/5.9/functions/_perl deleted file mode 100644 index d7e8f1b5..00000000 --- a/result/sw/share/zsh/5.9/functions/_perl +++ /dev/null @@ -1,144 +0,0 @@ -#compdef perl - -typeset -A opt_args - -_perl () { - _arguments -s \ - '-0-[input record separator ($/)]:: :_perl_input_seps' \ - '-a[autosplit mode with -n or -p (splits $_ into @F)]' \ - '-C-[control some unicode features]: :_perl_unicode_flags' \ - "-c[check syntax only (runs BEGIN and END blocks)]" \ - '( -dt -d: -dt:)-d[run scripts under debugger]' \ - '(-d -d: -dt:)-dt[run scripts under debugger (debugged code uses threads)]' \ - '(-d -dt -dt:)-d\:-[run under control of a debugging/tracing module]:debugging/tracing module:_perl_modules --strip-prefix --perl-hierarchy=Devel' \ - '(-d -dt -d: )-dt\:-[run under control of a debugging/tracing module (debugged coded uses threads)]:debugging/tracing module:_perl_modules --strip-prefix --perl-hierarchy=Devel' \ - '-D-[set debugging flags]: :_perl_debugging_flags' \ - '(1 -E)*-e+[run one line of program]:one line of program' \ - '(1 -e)*-E+[like -e but enable all optional features]:one line of program' \ - '-f[disable executing $Config{sitelib}/sitecustomize.pl at startup]' \ - '-F-[split() pattern for autosplit (-a)]:split() pattern, // is optional' \ - '-h[list help summary]' \ - '-i-[edit <> files in place (make backup if extension supplied)]:backup file extension: ' \ - '*-I-[specify @INC/#include directory (may be used more than once)]:include path:_files -/' \ - '-l-[enable line ending processing, specifies line terminator]:: :_perl_output_seps' \ - \*{-m,-M}"-[module.. executes \`use/no module...' before executing your script]:module:_perl_m_opt" \ - "-n[assume 'while (<>) { ... }' loop around your script]" \ - "-p[assume loop like -n but print line also like sed]" \ - "-s[enable some switch parsing for switches after script name]" \ - "-S[look for the script using PATH environment variable]" \ - '( -T)-t[turn on taint checks but only issue warnings]' \ - '(-t )-T[turn on taint checks]' \ - "-u[dump core after parsing script]" \ - "-U[allow unsafe operations]" \ - "-v[print version, patchlevel and license]" \ - "-V-[print perl configuration information]:configuration key:_perl_config_vars" \ - '( -W -X)-w[turn warnings on for compilation of your script (recommended)]' \ - "(-w -X)-W[enable all warnings (ignores 'no warnings')]" \ - "(-w -W )-X[disable all warnings (ignores 'use warnings')]" \ - '-x-[ignore text before #!perl line and optionally cd to directory]:directory to cd to:_files -/' \ - '1:Perl script:_files -g "*.(p[ml]|PL|t)(-.)"' \ - '*::args:= _perl_normal' -} - -_perl_normal() { - local expl - if [[ -z "$opt_args[(I)-(e|E)]" ]]; then - shift words - (( CURRENT-- )) - fi - _normal && ret=0 -} - -_perl_m_opt () { - compset -P '-' - - if compset -P 1 '*='; then - _message -e module-arguments 'module arguments, comma separated' - else - _perl_modules -S= -q - fi -} - -_perl_input_seps() { - if [[ $#PREFIX -eq 1 && $PREFIX != [0-9a-zA-Z] ]]; then - # convert a non-octal or potential option character into octal representation - compadd -i "$IPREFIX" -U $(( [##8] ##$PREFIX )) - else - _describe -x -t separators "input record separator, $/ in octal or hex (\0, if no argument) [\n]" '( - 0:paragraph\ mode - 777:slurp\ whole\ input\ files - )' || _comp_mesg=yes - fi -} - -_perl_output_seps() { - if [[ $#PREFIX -eq 1 && $PREFIX != [0-9a-zA-Z] ]]; then - # convert a non-octal or potential option character into octal representation - compadd -i "$IPREFIX" -U $(( [##8] ##$PREFIX )) - else - _message -e separators "output record separator, $\\ in octal or hex [$/]" - fi -} - -_perl_config_vars () { - if (( ! $+_perl_config_vars )); then - _perl_config_vars=( $(perl -MConfig -e 'print join("\n", keys %Config);') ) - fi - - local add_colon='-P:' - compset -P '*:' && add_colon='' - - local delimiter='\ ' - (( compstate[quoting] )) && delimiter=' ' - - compset -P '* ' && compset -q - compadd "$expl[@]" $add_colon -S$delimiter -q -a _perl_config_vars -} - -_perl_unicode_flags () { - _values -s '' 'unicode bitmask or flag' \ - '(S)I[ 1 STDIN is assumed to be in UTF-8]' \ - '(S)O[ 2 STDOUT will be in UTF-8]' \ - '(S)E[ 4 STDERR will be in UTF-8]' \ - '(I O E)S[ 7 I + O + E]' \ - '(D)i[ 8 UTF-8 is the default PerlIO layer for input streams]' \ - '(D)o[ 16 UTF-8 is the default PerlIO layer for output streams]' \ - '(i o)D[ 24 i + o]' \ - 'A[ 32 the @ARGV elements are expected to be strings encoded in UTF-8]' \ - 'L[ 64 make "IOEioA" conditional on the locale environment variables]' \ - 'a[256 set ${^UTF8CACHE} to -1, used for debugging]' \ -} - -_perl_debugging_flags () { - _values -s '' 'debug flag or bitmask' \ - 'p[ 1 tokenizing and parsing (with v, display parse stack)]' \ - 's[ 2 stack snapshots (with v, display all stacks)]' \ - 'l[ 4 context (loop) stack processing]' \ - 't[ 8 trace execution]' \ - 'o[ 16 method and overload resolution]' \ - 'c[ 32 string/numeric conversions]' \ - 'P[ 64 print profiling info, source file input state]' \ - 'm[ 128 memory and SV allocation]' \ - 'f[ 256 format processing]' \ - 'r[ 512 regular expression parsing and execution]' \ - 'x[ 1024 syntax tree dump]' \ - 'u[ 2048 tainting checks]' \ - 'U[ 4096 unofficial, user hacking (reserved for private, unreleased use)]' \ - 'X[ 16384 scratchpad allocation]' \ - 'D[ 32768 cleaning up]' \ - 'S[ 66536 Op slab allocation]' \ - 'T[ 131072 tokenising]' \ - 'R[ 262144 include reference counts of dumped variables (e.g. when using -Ds)]' \ - "J[ 524288 show s,t,P-debug (don't jump over) on opcodes within package DB]" \ - 'v[ 1048576 verbose: use in conjunction with other flags]' \ - 'C[ 2097152 copy-on-write]' \ - 'A[ 4194304 consistency checks on internal structures]' \ - 'q[ 8388608 quiet - currently only suppresses the "EXECUTING" message]' \ - 'M[ 16777216 trace smart match resolution]' \ - 'B[ 33554432 dump subroutine definitions, including special blocks like BEGIN]' \ - 'L[ 67108864 trace locale-related info]' \ - 'i[134217728 trace PerlIO layer processing]' \ - 'y[268435456 trace y///, tr/// compilation and execution]' -} - -_perl "$@" diff --git a/result/sw/share/zsh/5.9/functions/_perl_basepods b/result/sw/share/zsh/5.9/functions/_perl_basepods deleted file mode 100644 index 80a8c832..00000000 --- a/result/sw/share/zsh/5.9/functions/_perl_basepods +++ /dev/null @@ -1,32 +0,0 @@ -#autoload -# -# _perl_basepods - zsh completion function -# -# Adam Spiers <adam@spiers.net> -# -# Calculate all installed Perl base pods (perlfunc, perlfaq etc.). -# The result is cached for future use. -# - -if (( ! $+_perl_basepods )); then - typeset -agU _perl_basepods - - if (( ${+commands[basepods]} )); then - _perl_basepods=( ${$(basepods):t:r} ) - else - local podpath - - podpath=$(perl -MConfig -e 'print "$Config{installprivlib}/pod"') - - if [[ ! -e $podpath/perl.pod ]]; then - _message "can't find perl.pod from Config.pm; giving up" - return 1 - else - _perl_basepods=( ${podpath}/*.pod(:r:t) ) - fi - fi -fi - -local expl - -_wanted pods expl 'perl base pod' compadd -a "$@" - _perl_basepods diff --git a/result/sw/share/zsh/5.9/functions/_perl_modules b/result/sw/share/zsh/5.9/functions/_perl_modules deleted file mode 100644 index 3e11de9e..00000000 --- a/result/sw/share/zsh/5.9/functions/_perl_modules +++ /dev/null @@ -1,153 +0,0 @@ -#compdef pmpath pmvers pmdesc pmload pmexp pmeth pmls pmcat pman pmfunc podgrep podtoc podpath -# -# _perl_modules - zsh completion function -# -# Adam Spiers <adam@spiers.net> -# -# Calculate all installed Perl modules. The result is cached -# for future use. -# -# Options: -# -# -t[types]: indicate file types; currently the only one is -tP, -# to include .pod files as well as modules. -# -# --perl-hierarchy=...: restrict results to modules under this hierarchy. -# Note that this does not affect the filesystem searching or caching, -# which always collect all results on the premise that anyone using -# completion of Perl modules will use the results in various contexts, -# so this only affects the results compadd'd. -# -# --strip-prefix: when using --perl-hierarchy, strip off that prefix when -# passing to compadd. -# -# All other options passed onto compadd. -# -# Available styles: -# -# * try-to-use-pminst -# -# Set this if you have pminst and want to use it. The zsh code -# actually produces better results because pminst misses modules of -# the form Foo/bar/Baz.pm through its clumsy -d && /^[A-Z]/ && prune -# algorithm (the zsh code does almost the same, but only misses -# modules which don't begin with an uppercase letter). - -_perl_modules () { - # Set a sensible default caching policy. This has to be done inside - # this function otherwise we wouldn't know the context for the style. - local update_policy sufpat=".pm" with_pod - local restrict_hierarchy='' - local -i strip_perl_prefix - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy \ - _perl_modules_caching_policy - fi - - if [[ -n $argv[(r)--perl-hierarchy=*] ]]; then - restrict_hierarchy="${argv[(r)--perl-hierarchy=*]#--perl-hierarchy=}" - restrict_hierarchy="${restrict_hierarchy%::}::" - argv[(r)--perl-hierarchy=*]=() - fi - if [[ -n $argv[(r)--strip-prefix] ]]; then - strip_perl_prefix=1 - argv[(r)--strip-prefix]=() - fi - if [[ -n $argv[(r)-tP] ]]; then - argv[(r)-tP]=() - sufpat="(.pm|.pod)" - with_pod=_with_pod - fi - - local perl perl_modules - if [[ $service == (perl|perldoc) ]] && whence -- ${${(Q)words[1]}%doc} >/dev/null; then - perl=$_ - perl_modules=_${${perl//[^[:alnum:]]/_}#_}_modules$with_pod - elif whence perl > /dev/null; then - perl=perl - perl_modules=_perl_modules$with_pod - else - perl= - perl_modules=_unknown_perl_modules$with_pod - fi - - if ( [[ ${(P)+perl_modules} -eq 0 ]] || _cache_invalid ${perl_modules#_} ) && - ! _retrieve_cache ${perl_modules#_}; - then - if zstyle -t ":completion:${curcontext}:modules" try-to-use-pminst && - (( ${+commands[pminst]} )); - then - set -A $perl_modules $(pminst) - else - local inc libdir new_pms - - if [[ -n $perl ]]; then - inc=( $( _call_program perl-inc ${(q)perl}$' -e \'print "@INC"\'' ) ) - else - # If perl isn't there, one wonders why the user's trying to - # complete Perl modules. Maybe her $path is wrong? - _message "didn't find perl on \$PATH; guessing @INC ..." - - inc=( /usr/lib/perl5{,/{site_perl/,}<5->.([0-9]##)}(N) - ${(s.:.)PERL5LIB} ) - fi - - typeset -agU $perl_modules # $perl_modules is global, no duplicates - set -A $perl_modules - - for libdir in $inc; do - # Ignore cwd - could be too expensive e.g. if we're near / - if [[ $libdir == '.' ]]; then continue; fi - - # Find all modules - if [[ -d $libdir && -x $libdir ]]; then - new_pms=( $libdir/{[A-Za-z]*/***/,}*${~sufpat}~*blib* ) - new_pms=( "${(@)new_pms##$libdir/##}" ) - fi - - # Convert to Perl nomenclature - new_pms=( ${new_pms:r:fs#/#::#} ) - - set -A $perl_modules $new_pms ${(P)perl_modules} - done - fi - - _store_cache ${perl_modules#_} $perl_modules - fi - - # Nothing above here should have filtered the results per-caller, so that - # the cache is always complete. From here on, it's safe to filter. - local -a perl_subset - if [[ -n $restrict_hierarchy ]]; then - perl_subset=( ${(PM)perl_modules:#${restrict_hierarchy}*} ) - if (( strip_perl_prefix )); then - perl_subset=( ${perl_subset#$restrict_hierarchy} ) - fi - perl_modules=perl_subset - fi - - local expl - _wanted modules expl 'Perl module' compadd "$@" -a - $perl_modules -} - -_perl_modules_caching_policy () { - local _perllocals - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - _perllocals=( /usr/lib/perl5/**/perllocal.pod ) - - if (( $#_perllocals )); then - for pod in $_perllocals; do - [[ "$pod" -nt "$1" ]] && return 0 - done - fi - - return 1 -} - -_perl_modules "$@" diff --git a/result/sw/share/zsh/5.9/functions/_perldoc b/result/sw/share/zsh/5.9/functions/_perldoc deleted file mode 100644 index b724d74e..00000000 --- a/result/sw/share/zsh/5.9/functions/_perldoc +++ /dev/null @@ -1,68 +0,0 @@ -#compdef perldoc -value-,PERLDOC,-default- - -local curcontext="$curcontext" state line expl args ret=1 -typeset -A opt_args - -args=( '*:Perl pod page:->perl-pods' ) - -if [[ $service = *PERLDOC* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - args=() -fi - -_arguments -C -s -S -A "-*" \ - '(- *)-h[print help information]' \ - '(- *)-V[display version information]' \ - '-D[describe search for the item]' \ - '-t[use plain text output instead of nroff]' \ - '-u[show raw Pod source]' \ - '*-m[display entire module]:module:_perl_modules' \ - '-l[display only filename of the module found]' \ - '-F[consider arguments as filenames]' \ - '(-q -v)-f+[view documentation for Perl built-in function]:perl builtin function:->perl-builtin-funcs' \ - '(-f -v)-q+[search question headings in Perl FAQ]:regular expression' \ - '(-f -q)-v+[view documentation for predefined variable]:special variable:->perl-variables' \ - '(-d)-T[send output direct to stdout and not via pager]' \ - '(-T)-d+[specify output file]:output file:_files' \ - '-o+[specify output format]:output format:(man nroff pod rtf text tk xml latex)' \ - '-M[specifies module to use for formatting]:module:_perl_modules' \ - '-w[specify option to formatter]:option' \ - '-X[use an index if present]' \ - '-n+[specify replacement for nroff]:nroff replacement:_command_names -e' \ - '-r[recursive search]' \ - '-i[ignore case]' \ - "$args[@]" && ret=0 - -case $state in - perl-builtin-funcs) - : ${(A)_perl_builtin_funcs:=${(u)${${(M)${(f)"$(_call_program functions \ - perldoc -u perlfunc 2>/dev/null)"}:#\=item [a-z]*}#* }%%[^a-z]*}} - - _wanted functions expl 'perl built-in function' compadd "$@" -a - \ - _perl_builtin_funcs && ret=0 - ;; - - perl-pods) - if (( $+opt_args[-F] )); then - _wanted files expl 'Perl module or .pod' \ - _files -g "*.(pod|pm)(-.)" && ret=0 - else - _alternative \ - 'modules:module: _perl_modules -tP' \ - 'pods:base pod: _perl_basepods' \ - 'files:module or .pod file:_files -g "*.(pod|pm)(-.)"' && ret=0 - fi - ;; - - perl-variables) - : ${(A)_perl_special_vars:=${(u)${${${(M)${(f)"$(_call_program variables \ - perldoc -u perlvar 2>/dev/null)"}:#\=item [\$\@\%]*}#* }:#\$<I*}}} - - _wanted variables expl 'perl special variable' compadd "$@" -a - \ - _perl_special_vars && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pfctl b/result/sw/share/zsh/5.9/functions/_pfctl deleted file mode 100644 index 812e52bd..00000000 --- a/result/sw/share/zsh/5.9/functions/_pfctl +++ /dev/null @@ -1,121 +0,0 @@ -#compdef pfctl - -local pfctl_flush_modifiers pfctl_optimizer_level pfctl_show_modifiers pfctl_tables_command pfctl_debug_level -local -a args - -pfctl_flush_modifiers=( - 'rules:flush the filter rules' - 'states:flush the stable table' - 'Sources:flush the source tracking table' - 'info:flush the filter information' - 'Tables:flush the tables' - 'osfp:flush the passive operating system fingerprints' - 'all:flush all' -) - -pfctl_show_modifiers=( - 'queue:show the currently loaded queue rules' - 'rules:show the currently loaded filter rules' - 'Anchors:show the currently loaded anchors directly attached to the main ruleset' - 'states:show the contents of the state table' - 'Sources:show the contents of the source tracking table' - 'info:show filter information' - 'labels:show per-rule statistics of filter rules with labels' - 'timeouts:show the current global timeouts' - 'memory:show the current pool memory hard limits' - 'Tables:show the list of tables' - 'osfp:show the list of operating system fingerprints' - 'Interfaces:show the list of interfaces and interface drivers available to PF' - 'all:show all except for the lists of interfaces and operating system fingerprints' -) - -pfctl_optimizer_level=( - 'none:disable the ruleset optimizer' - 'basic:enable basic ruleset optimizations' - 'profile:enable basic ruleset optimizations with profiling' -) - -pfctl_tables_command=( - 'kill:kill a table' - 'flush:flush all addresses of a table' - 'add:add one or more addresses in a table' - 'delete:delete one or more addresses from a table' - 'expire:delete addresses which had their statistics cleared more than number seconds ago' - 'replace:replace the addresses of the table' - 'show:show the content (addresses) of a table' - 'test:test if the given addresses match a table' - 'zero:clear all the statistics of a table' - 'load:load only the table definitions from pf.conf(5)' -) - -_pf_ifaces() { - compadd "$@" - $(_call_program tables pfctl -s Interfaces) -} - -_pf_tables() { - compadd "$@" - $(_call_program tables pfctl -s Tables) -} - -case $OSTYPE in - openbsd*) - pfctl_debug_level=( - emerg alert crit err warning notice info debug - ) - args=( - '-L+[load pf states from specified state file]:file:_files' - "-N[don't perform domain name resolution]" - '-P[display ports using service names]' - '-S+[store pf state table in the specified file]:file:_files' - '-V+[select routing domain to be used to kill states]:routing domain:_routing_domains' - ) - ;; - (free|net)bsd*) - pfctl_debug_level=( - "none:don\'t generate debug messages" - 'urgent:generate debug messages only for serious errors' - 'misc:generate debug messages for various errors' - 'loud:generate debug messages for common conditions' - ) - pfctl_flush_modifiers+=( - 'nat:flush the NAT rules' - 'queue:flush the queue rules' - ) - pfctl_show_modifiers+=( - 'nat:show the currently loaded NAT rules' - ) - args=( - '-A[load only the queue rules present in the rule file]' - '-N[load only the NAT rules present in the rule file]' - '-O[load only the options present in the rule file]' - '-R[load only the filter rules present in the rule file]' - ) - ;| - freebsd*) - args+=( '-P[display ports numerically]' ) - ;; -esac - -_arguments -s $args \ - '-a[apply flags -f, -F, and -s only to the rules in the specified anchor]:anchor' \ - '-F+[flush the filter parameters specified by modifier]:modifier:(($pfctl_flush_modifiers))' \ - '-D+[define macro to be set to value]:macro' \ - '(-e)-d[disable the packet filter]' \ - '(-D)-e[enable the packet filter]' \ - '-f+[load the rules contained in a file]:configuration file:_files' \ - '-g[include output helpful for debugging]' \ - '(-)-h[display help information]' \ - '-i[restrict the operation to the given interface]:interface:_pf_ifaces' \ - '*-K[kill all of the source tracking entries originating from the specified host or network]:host or network:_hosts' \ - '*-k[kill all of the state entries originating from the specified host or network]:host or network:_hosts' \ - '-m[merge in explicitly given options without disturbing others]' \ - "-n[don't actually load rules, just parse them]" \ - '-o+[control the ruleset optimizer]:level:(($pfctl_optimizer_level))' \ - '-p+[use the device file device instead of the default /dev/pf]:device:_files' \ - '-q[only print errors and warnings]' \ - '-r[perform reverse DNS lookups on states when displaying them]' \ - '-s+[show the filter parameters specified by modifier]:modifier:(($pfctl_show_modifiers))' \ - '-T+[specify the command to apply to the table]:command:(($pfctl_tables_command))' \ - '-t[specify the name of the table]:table:_pf_tables' \ - '-v[produce more verbose output]' \ - '-x+[set the debug level]:debug level:(($pfctl_debug_level))' \ - '-z[clear per-rule statistics]' diff --git a/result/sw/share/zsh/5.9/functions/_pfexec b/result/sw/share/zsh/5.9/functions/_pfexec deleted file mode 100644 index e90f3322..00000000 --- a/result/sw/share/zsh/5.9/functions/_pfexec +++ /dev/null @@ -1,36 +0,0 @@ -#compdef pfexec - -# This is a _values-like function that completes privileges and !-prefixed -# privileges, comma-separated, and unique. -_privset() { - local expl p - local -a privs - - privs=( ${(f)"$(ppriv -l)"} all none zone basic ) - - # Ignore existing values - compset -P '*,' - # Ignore a leading !, maybe backslash-quoted - compset -P '\\#!' - - # Remove already-referenced privs - for p in ${(s:,:)${IPREFIX//\\#\!/}}; do - privs=( ${privs:#$p} ) - done - - _wanted privs expl 'privilege' compadd -qS , -a privs -} - -_pfexec() { - local cmd cpp - local -a _comp_priv_prefix - local -A opt_args - cmd="$words[1]" - cpp='_comp_priv_prefix=( $cmd ${(kv)opt_args[(I)-P]} )' - _arguments \ - '-P+[privileges to acquire]:privspec:_privset' \ - "(-): :{ $cpp; _command_names -e }" \ - "*:: :{ $cpp; _normal }" -} - -_pfexec "$@" diff --git a/result/sw/share/zsh/5.9/functions/_pgids b/result/sw/share/zsh/5.9/functions/_pgids deleted file mode 100644 index 25d0c4af..00000000 --- a/result/sw/share/zsh/5.9/functions/_pgids +++ /dev/null @@ -1,5 +0,0 @@ -#autoload - -local expl - -_wanted pgids expl 'process group ID' compadd "$@" - ${(un)$(_call_program pgids ps -A -o pgid=)} diff --git a/result/sw/share/zsh/5.9/functions/_pgrep b/result/sw/share/zsh/5.9/functions/_pgrep deleted file mode 100644 index 9c3ddf03..00000000 --- a/result/sw/share/zsh/5.9/functions/_pgrep +++ /dev/null @@ -1,191 +0,0 @@ -#compdef pgrep pkill - -# Notes: -# - We assume that Linux systems use procps-ng - specifically, procps-ng >=3.3.4 -# (which changed the behaviour of -f and added -a) -# - We don't really need to keep pgopts and pkopts separate, but it seems like -# it should make things a bit easier to follow - -local curcontext="$curcontext" state line ret=1 expl pgopts pkopts no -typeset -A opt_args -typeset -a arguments sig_arguments aopts - -# These arguments (a) are common to all variants (like -x), (b) are the most -# common amongst all variants (like -a), or (c) have a single unambiguous -# meaning amongst all variants (like --help). Many of them are filtered out or -# overridden below -arguments=( - '-a[include process ancestors in match list]' - '-c+[match only on specified login class]:login class:_login_classes' - '(-F --pidfile)'{-F+,--pidfile=}'[match only processes in specified PID file]:PID file:_files' - '(-f --full)'{-f,--full}'[match against full command line]' - '(-G --group)'{-G+,--group=}'[match only on specified real group IDs]: :_sequence _groups' - '(-g --pgroup)'{-g+,--pgroup=}'[match only on specified process group IDs]: :->pgid' - '(: * -)'{-h,--help}'[display help information]' - '-I[request confirmation before signalling each process]' - '-i[ignore case distinctions]' - '-j+[match only on specified jail IDs]:jail:_sequence _jails -0 -o jid' - '(-L --logpidfile)'{-L,--logpidfile}'[fail if PID file not locked (with -F)]' - '(-N)-M+[extract name list from specified core]:core file:_files' - '(-M)-N+[extract name list from specified system]:system file:_files' - '(-o -n --oldest --newest)'{-n,--newest}'[match newest process]' - '(-o -n --oldest --newest)'{-o,--oldest}'[match oldest process]' - '(-O --older)'{-O+,--older=}'[select where older than specified age]:age (seconds)' - '(-P --parent)'{-P+,--parent=}'[match only on specified parent process IDs]: :->ppid' - '(-l)-q[suppress normal output]' - '(-r --runstates)'{-r+,--runstates}'[match runstates]:run state:compadd -S "" D I R S T t W X Z' - '-S[search also in system processes (kernel threads)]' - '(-s --session)'{-s+,--session=}'[match only on specified process session IDs]: :->sid' - # _signals is OK here - we do it differently below - '(ss)--signal=[specify signal to send to process]: :_signals -s' - '-T+[match only on specified routing table]:routing table:_routing_tables' - '(-t --terminal)'{-t+,--terminal=}'[match only on specified controlling terminals]: :_sequence _ttys -do' - '(-U --uid)'{-U+,--uid=}'[match only on specified real user IDs]: :_sequence _users' - '(-u --euid)'{-u+,--euid=}'[match only on specified effective user IDs]: :_sequence _users' - '(-v --inverse)'{-v,--inverse}'[negate matching]' - '(-x --exact)'{-x,--exact}'[match process name or command line (with -f) exactly]' - '--ns=[match only on same namespaces as specified PID]: :_pids' - '--nslist=[match only on specified namespaces (with --ns)]:namespace:(ipc mnt net pid user uts)' - '(: * -)'{-V,--version}'[display version information]' - '-z+[match only on specified zone IDs]:zone:_sequence _zones' -) -[[ $service == pgrep ]] && arguments+=( - '(-d --delimiter)'{-d+,--delimiter=}'[specify output delimiter]:delimiter:compadd ${(s<>)IFS}' - '(-q)-l[display process name (and arguments with -f)]' - '(-w --lightweight)'{-w,--lightweight}'[show all thread IDs instead of PID]' -) -[[ $service == pkill ]] && arguments+=( - '(-e --echo)'{-e,--echo}'[display signalled process]' - '-l[display kill command]' -) - -case $OSTYPE in - linux*) - # Note: We deliberately exclude -v but not --inverse from pkill - pgopts=acdFfGghLlnoOPrstUuVvwx- - pkopts=ceFfGghLnoOPstUuVx- - arguments=( - ${arguments:#((#s)|*\))(\*|)-[acl]*} - '(-c --count)'{-c,--count}'[display count of matching processes]' - ) - [[ $service == pgrep ]] && arguments+=( - '(-a -l --list-full --list-name)'{-a,--list-full}'[display full command line]' - '(-a -l --list-full --list-name)'{-l,--list-name}'[display process name]' - ) - ;; - dragonfly*|freebsd*) - pgopts=acdFfGgijLlMNnoPqSstUuvx - pkopts=acFfGgIijLlMNnoPstUuvx - ;; - openbsd*) - pgopts=dfGglnoPqsTtUuvx - pkopts=fGgIlnoPqsTtUuvx - ;; - darwin*) - pgopts=adFfGgiLlnoPqtUuvx - pkopts=aFfGgIiLlnoPtUuvx - ;; - solaris*) - pgopts=cdfGglnoPsTtUuvxz - pkopts=cfGgnoPsTtUuvxz - arguments=( - ${arguments:#((#s)|*\))(\*|)-[cT]*} - '-c+[match only on specified contract IDs]: :->contract' - '-J+[match only on specified project IDs]: :->projid' - '-T+[match only on specified task IDs]: :->task' - ) - ;; - *) - pgopts=dfGgilnPstUuvx - pkopts=fGgilnPstUuvx - ;; -esac - -if [[ $service == pgrep ]]; then - arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pgopts]*} ) -else - arguments=( ${(M)arguments:#((#s)|*\))(\*|)-[$pkopts]*} ) - - # Signals on non-Linux systems can only be completed as the first argument - (( CURRENT != 2 )) && [[ $OSTYPE != linux* ]] && no='!' - - # This is used for exclusion with --signal - sig_arguments=( + '(ss)' ) - - # This is very similar to _signals, but i've avoided it here because it - # doesn't behave the way i want it to - sig_arguments+=( $no'(--signal)-'${^signals[2,-3]} ) - sig_arguments+=( '!(--signal)-'{0..$(( $#signals - 3 ))} ) - - # Complete the -SIG* variant if it's requested - if [[ $PREFIX$SUFFIX == -S* ]]; then - sig_arguments+=( '(--signal)-SIG'${^${(@)signals[2,-3]:#<->}} ) - else - sig_arguments+=( '!(--signal)-SIG'${^${(@)signals[2,-3]:#<->}} ) - fi -fi - -if [[ $OSTYPE = dragonfly* ]]; then - arguments+=( '(-t)-T[match only processes associated with the current terminal]' ) -fi - -arguments+=( $sig_arguments + o '*: :->pname' ) - -[[ $OSTYPE == linux* ]] || aopts+=( -A '*-' ) -_arguments -C -s -S $aopts : $arguments && ret=0 - -# complete comma-separated list of various IDs -# $1: tag, $2: description, $3: keyword for 'ps -o' -_pgrep_sequence () { - _sequence _wanted $1 expl "$2" \ - compadd - ${(un)$(_call_program $1 ps -A -o $3=)} -} - -case $state in - (sid) - if [[ $OSTYPE == openbsd* ]]; then - _message 'session ID' - else - _pgrep_sequence session-ids 'session ID' sid - fi - ;; - (ppid) - _pgrep_sequence ppids 'parent process ID' ppid - ;; - (pgid) - _sequence _pgids - ;; - (projid) - _pgrep_sequence project-ids 'project ID' project - ;; - (contract) - _pgrep_sequence contract-ids 'contract ID' ctid - ;; - (task) - _pgrep_sequence task-ids 'task ID' taskid - ;; - (pname) - local ispat="pattern matching " - if (( ${+opt_args[-x]} )); then - ispat+="full " - fi - if (( ${+opt_args[-f]} )); then - local -a opts=( -lf ) - [[ $OSTYPE == linux* ]] && opts=( -a ) - local -a matches=( ${(f)"$( - _call_program process-args pgrep ${(@q)opts} -- \ - ${(q)${${:-$PREFIX$SUFFIX}:-.\*}} - )"} ) - local -a displ=( "${${matches[@]//:/\:}[@]/ /:}" ) - matches=( "${matches[@]##<-> }" ) - - local desc=$ispat'process command line' - _description process-args expl "$desc" - _describe -t process-args "$desc" displ matches "$@" -U "$expl[@]" - else - _wanted processes-names expl $ispat'process name' _process_names -a -t - fi - ;; -esac && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_php b/result/sw/share/zsh/5.9/functions/_php deleted file mode 100644 index 9a8f519b..00000000 --- a/result/sw/share/zsh/5.9/functions/_php +++ /dev/null @@ -1,177 +0,0 @@ -#compdef php -P php[0-9.-] - -# Notes: -# - We make no distinction between internal and user functions -# - We don't complete CGI options, which are rarely used interactively -# - Exclusivity on some of the miscellaneous options isn't very accurate -# - @todo Arguments to an -f script aren't completed accurately -- we need to -# massage words/CURRENT so that the -f arg becomes words[1], but if we just -# leave it at that the output will break if the script has any options of its -# own. We would want to complete script options only following `--`, as in -# `php -f /bin/foo -- -<TAB>` - -# Complete PHP class names -(( $+functions[_php_classes] )) || -_php_classes() { - local cmd - local -a tmp - - cmd='foreach ( get_declared_classes() as $c ) { echo "$c\n"; }' - tmp=( ${(f)"$( _call_program classes $words[1] -r ${(q)cmd} )"} ) - - _wanted -x classes expl 'PHP class' compadd -a "$@" - tmp -} - -# Complete PHP extensions/module names; use --zend for Zend extensions only -(( $+functions[_php_extensions] )) || -_php_extensions() { - local idx - local -a expl zend tmp - - zparseopts -a zend -D -E -- -zend - - # `php -m` lists all extensions under two sections called '[PHP Modules]' and - # '[Zend Modules]'. An extension can (but won't necessarily) exist under both - # of these at the same time - tmp=( ${(f)"$( _call_program extensions $words[1] -m )"} ) - idx=${tmp[(i)\[Zend Modules\]]} - - # Get only Zend extensions (for --rz) - if (( $#zend )); then - tmp=( ${(@)tmp[(idx+1),-1]} ) - # Get PHP extensions (for everything else) - else - tmp=( ${(@)tmp[2,(idx-1)]} ) - fi - - _wanted -x extensions expl 'PHP extension' compadd -a "$@" - tmp -} - -# Complete PHP function names -(( $+functions[_php_functions] )) || -_php_functions() { - local cmd - local -a expl tmp - - cmd=' - foreach ( get_defined_functions() as $a ) { - foreach ( $a as $f ) { - echo "$f\n"; - } - } - ' - tmp=( ${(f)"$( _call_program functions $words[1] -r ${(q)cmd} )"} ) - - _wanted -x functions expl 'PHP function' compadd -a "$@" - tmp -} - -_php() { - local curcontext=$curcontext php_suffix php_files ret=1 - local -a context expl line state state_descr args - local -A opt_args - - zstyle -s ":completion:${curcontext}:" suffixes php_suffix '|' || - php_suffix='php|php5|phar' - - php_files=":PHP file:_files -g '*.($php_suffix)(#q-.)'" - - args=( - + mc # Misc. options - '(-a --interactive)'{-a,--interactive}'[run interactively]' - '*'{-d+,--define=}'[define INI directive]: :->directive' - '(-e --profile-info)'{-e,--profile-info}'[generate extended information for debugger/profiler]' - '(-H --hide-args)'{-H,--hide-args}'[hide script name and arguments from external tools]' - '(fi im pb pf rf rn sc sv *)--ini[display configured INI paths]' - # Note: PHP does not automatically prepend extension_dir to extension file - # names (the way it does when parsing the INI file) at the command line - '*'{-z+,--zend-extension=}'[load specified Zend extension]:Zend extension:_files -g "*.so(|.*)(#q-.)"' - - + '(fi)' # File arguments - "(im pb pf rf sv)"{-f+,--file=}'[parse and/or execute specified file]'$php_files - '(-)1'$php_files - - + '(hv)' # Help/version options; kept separate by convention - '(- 1 *)'{-h,--help}'[display help information]' - '(- 1 *)'{-v,--version}'[display version information]' - '!(- 1 *)'{-\?,--usage} - - + '(im)' # Info/module options (exclusive with everything but -c/-n) - '(fi mc pb pf rf rn sc sv *)'{-i,--info}'[display configuration information (phpinfo())]' - '(fi mc pb pf rf rn sc sv *)'{-m,--modules}'[display installed extensions]' - - + '(in)' # php.ini set/disable options (unrelated to --ini!) - {-c+,--php-ini=}'[specify php.ini or containing directory]:INI file or directory:_files -g "*.ini(-.)"' - {-n,--no-php-ini}'[ignore php.ini]' - - + '(pb)' # Input-processing begin/end options - '(-B --process-begin fi im rf rn sc sv)'{-B+,--process-begin=}'[run specified PHP code before processing input lines]:PHP code:' - '(-E --process-end fi im rf rn sc sv)'{-E+,--process-end=}'[run specified PHP code after processing input lines]:PHP code:' - - + '(pf)' # Input-processing options - '(fi im rf rn sc sv)'{-R+,--process-code=}'[run specified PHP code for every input line]:PHP code:' - '(fi im rf rn sc sv)'{-F+,--process-file=}'[parse and execute specified file for every input line]'$php_files - - + '(rf)' # Reflection options - '(fi im rn pb pf sc sv *)'{--rc=,--rclass=}'[display information about specified class]: :_php_classes' - '(fi im rn pb pf sc sv *)'{--re=,--rextension=}'[display information about specified extension]: :_php_extensions' - '(fi im rn pb pf sc sv *)'{--rf=,--rfunction=}'[display information about specified function]: :_php_functions' - '(fi im rn pb pf sc sv *)'{--ri=,--rextinfo=}'[display configuration information about specified extension]: :_php_extensions' - '(fi im rn pb pf sc sv *)'{--rz=,--rzendextension=}'[display information about specified Zend extension]: :_php_extensions --zend' - - + '(rn)' # Run-script options - "(fi im pb pf rf sc sv)"{-r+,--run=}'[run specified PHP code]:PHP code:' - - + '(sc)' # Source-checking/formatting options - '(im pb pf rf rn sv *)'{-l,--syntax-check}'[check syntax only (lint)]' - '(im pb pf rf rn sv *)'{-s,--syntax-highlight}'[display HTML syntax-highlighted source]' - '!(im pb pf rf rn sv *)--syntax-highlighting' - '(im pb pf rf rn sv *)'{-w,--strip}'[display source stripped of comments and whitespace]' - - + sv # Built-in Web server options - '(-S --server fi im pb pf rf rn sc *)'{-S+,--server=}'[start Web server on specified address/port]: :->server' - '(-t --docroot fi im pb pf rf rn sc *)'{-t+,--docroot=}'[specify Web-server document root]:document root:_directories' - - + ar # Script-argument operands - '(-)*:: :->argument' - ) - - _arguments -C -s -S : $args && ret=0 - - case $state in - argument) - if [[ -n $opt_args[(i)(pb|pf|rn)-*] ]]; then - _description files expl 'script argument' - _files "${(@)expl}" && ret=0 - else - _normal && ret=0 - fi - ;; - directive) - local -a directives suf - local code='foreach (ini_get_all() as $k => $v) { echo "$k\n"; }' - directives=( ${(f)"$( - _call_program directives $words[1] -r ${(q)code} - )"} ) - if compset -P 1 '*='; then - _default && ret=0 - else - compset -S '=*' || suf=( -qS '=' ) - _wanted directives expl 'INI directive' \ - compadd "$suf[@]" -a directives && ret=0 - fi - ;; - server) - if compset -P '*:'; then - _wanted -2V port-numbers expl 'port number' \ - compadd 80 81 443 591 8000 8001 8008 8080 8443 && ret=0 - ret=0 - else - _wanted hosts expl 'local address' _bind_addresses -0bhK -qS: && ret=0 - fi - ;; - esac - - return ret -} - -_php "$@" diff --git a/result/sw/share/zsh/5.9/functions/_physical_volumes b/result/sw/share/zsh/5.9/functions/_physical_volumes deleted file mode 100644 index fd31edd0..00000000 --- a/result/sw/share/zsh/5.9/functions/_physical_volumes +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_wanted physicalvolumes expl 'physical volume' \ - compadd "$@" - $(lsdev -C -c disk -S a -F name) diff --git a/result/sw/share/zsh/5.9/functions/_pick_variant b/result/sw/share/zsh/5.9/functions/_pick_variant deleted file mode 100644 index 9d705cf1..00000000 --- a/result/sw/share/zsh/5.9/functions/_pick_variant +++ /dev/null @@ -1,49 +0,0 @@ -#autoload - -local output cmd pat pre -local -a var -local -A opts - -(( $+_cmd_variant )) || typeset -gA _cmd_variant - -zparseopts -D -A opts b: c: r: -: ${opts[-c]:=$words[1]} - -while [[ $1 = *=* ]]; do - var+=( "${1%%\=*}" "${1#*=}" ) - shift -done - -if (( ${#precommands:|builtin_precommands} )); then - pre=command -elif (( $+opts[-b] && ( $precommands[(I)builtin] || $+builtins[$opts[-c]] ) )); then - (( $+opts[-r] )) && : ${(P)opts[-r]::=$opts[-b]} - return 0 -elif (( $precommands[(I)builtin] )); then - pre=builtin -else - # Neither builtin nor command-forcing precommand specified, - # so no prefix is needed. - pre= -fi - -if [[ $pre != builtin ]] && (( $+_cmd_variant[$opts[-c]] )); then - (( $+opts[-r] )) && : ${(P)opts[-r]::=${_cmd_variant[$opts[-c]]}} - [[ $_cmd_variant[$opts[-c]] = "$1" ]] && return 1 - return 0 -fi - -output="$(_call_program variant $pre $opts[-c] "${@[2,-1]}" </dev/null 2>&1)" - -for cmd pat in "$var[@]"; do - if [[ $output = *$~pat* ]]; then - (( $+opts[-r] )) && : ${(P)opts[-r]::=$cmd} - _cmd_variant[$opts[-c]]="$cmd" - return 0 - fi -done - -(( $+opts[-r] )) && : ${(P)opts[-r]::=$1} -[[ $pre != builtin ]] && _cmd_variant[$opts[-c]]="$1" - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_picocom b/result/sw/share/zsh/5.9/functions/_picocom deleted file mode 100644 index 9059b03e..00000000 --- a/result/sw/share/zsh/5.9/functions/_picocom +++ /dev/null @@ -1,55 +0,0 @@ -#compdef picocom - -function _picocom_flowcontrol () { - local expl - local -a modes - modes=( x h n ) - _wanted flow-ctrl-mode expl 'flow control mode' compadd -a $expl -- modes -} - -function _picocom_paritymode () { - local expl - local -a modes - modes=( o e n ) - _wanted parity-mode expl 'parity mode' compadd -a $expl -- modes -} - -function _picocom_databits () { - local expl - local -a widths - widths=( 5 6 7 8 ) - _wanted data-bits expl 'data bits' compadd -a $expl -- widths -} - -function _picocom_escape () { - setopt localoptions braceccl - local expl - local -a ctrlchars - ctrlchars=( {a-z} _ '?' '[' '\' ']' '@' '^' ) - _wanted escape-key expl 'escape key' compadd -a $expl -- ctrlchars -} - -function _picocom () { - local -a args - - args=( '(--baud -b)'{--baud,-b}'[define baud-rate to set the terminal to]:baud rate:_baudrates' - '(--flow -f)'{--flow,-f}'[define type of flow control to use]:flow control:_picocom_flowcontrol' - '(--parity -p)'{--parity,-p}'[define type of parity to use]:parity mode:_picocom_paritymode' - '(--databits -d)'{--databits,-d}'[define the number of databits per word]:data bits:_picocom_databits' - '(--escape -e)'{--escape,-e}'[define command mode character]:escape character:_picocom_escape' - '(--echo -c)'{--echo,-c}'[enable local echo]' - '(--noinit -i)'{--noinit,-i}'[do not initialise serial port]' - '(--noreset -r)'{--noreset,-r}'[do not reset serial port]' - '(--nolock -l)'{--nolock,-l}'[do not lock serial port]' - '(--send-cmd -s)'{--send-cmd,-s}'[define file send command]:file send command:_cmdstring' - '(--receive-cmd -v)'{--receive-cmd,-v}'[define file receive command]:file receive command:_cmdstring' - '--imap[define input character map]:input character map:' - '--omap[define output character map]:output character map:' - '--emap[define local echo character map]:local echo character map:' - '(--help -h)'{--help,-h}'[display help message]' - '*:device:_files -g "*(-%c)"' ) - - _arguments -C : "${args[@]}" -} - -_picocom "$@" diff --git a/result/sw/share/zsh/5.9/functions/_pidof b/result/sw/share/zsh/5.9/functions/_pidof deleted file mode 100644 index dd0649ce..00000000 --- a/result/sw/share/zsh/5.9/functions/_pidof +++ /dev/null @@ -1,27 +0,0 @@ -#compdef pidof - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -local exargs="-h --help -V --version" -_arguments -C -s -w \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[print program version]' \ - "(-s --single-shot $exargs)"{-s,--single-shot}'[return one PID only]' \ - "(-c --check-root $exargs)"{-c,--check-root}'[omit processes with different root]' \ - '-q[quiet mode, only set the exit code]' \ - '(-w --with-workers)'{-w,--with-workers}'[show kernel workers too]' \ - "(-x $exargs)"-x'[include shells running named scripts]' \ - "($exargs)"\*{-o+,--omit-pid=}'[omit processes with PIDs]:pids:_sequence -s , _pids' \ - '(-S --separator)'{-S+,--separator=}'[specify separator put between PIDs]:separator' \ - '*:process:->procnames' \ - && return 0 - -case $state in - procnames) - # Handle defunct processes and "avahi-daemon:" - _wanted process-names expl process compadd ${${${${${(@)${(f)"$(ps -N --ppid 2 -p 2 o args=)"}%% *}##*/}%:}#\[}%]} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pids b/result/sw/share/zsh/5.9/functions/_pids deleted file mode 100644 index d1523fc4..00000000 --- a/result/sw/share/zsh/5.9/functions/_pids +++ /dev/null @@ -1,60 +0,0 @@ -#compdef pflags pcred pldd psig pstack pfiles pwdx pstop prun pwait - -# If given the `-m <pattern>' option, this tries to complete only pids -# of processes whose command line match the `<pattern>'. - -local out pids list expl match desc listargs all nm ret=1 - -_tags processes || return 1 - -if [[ "$1" = -m ]]; then - all=() - match="(*[[:blank:]]|)${PREFIX}[0-9]#${SUFFIX}[[:blank:]]*(/|[[:blank:]]-(#c,1))${2}([[:blank:]]*|)" - shift 2 -elif [[ "$PREFIX$SUFFIX" = ([%-]*|[0-9]#) ]]; then - all=() - match="(*[[:blank:]]|)${PREFIX}[0-9]#${SUFFIX}[[:blank:]]*" -else - all=(-P "$IPREFIX" -S "$ISUFFIX" -U) - match="*[[:blank:]]*[[/[:blank:]]$PREFIX*$SUFFIX*" - nm="$compstate[nmatches]" -fi - -while _tags; do - if _requested processes; then - while _next_label processes expl 'process ID'; do - out=( "${(@f)$(_call_program $curtag ps 2>/dev/null)}" ) - desc="$out[1]" - out=( "${(@M)out[2,-1]:#${~match}}" ) - - if [[ "$desc" = (#i)(|*[[:blank:]])pid(|[[:blank:]]*) ]]; then - pids=( "${(@)${(@M)out#${(l.${#desc[1,(r)(#i)[[:blank:]]pid]}..?.)~:-}[^[:blank:]]#}##*[[:blank:]]}" ) - else - pids=( "${(@)${(@M)out##[^0-9]#[0-9]#}##*[[:blank:]]}" ) - fi - - if zstyle -T ":completion:${curcontext}:$curtag" verbose; then - list=( "${(@Mr:COLUMNS-1:)out}" ) - desc=(-ld list) - else - desc=() - fi - compadd "$@" "$expl[@]" "$desc[@]" "$all[@]" -a pids && ret=0 - done - fi - (( ret )) || break -done - -if [[ -n "$all" ]]; then - zstyle -s ":completion:${curcontext}:processes" insert-ids out || out=menu - - case "$out" in - menu) compstate[insert]=menu ;; - single) [[ $compstate[nmatches] -ne nm+1 && $compstate[insert] != menu ]] && - compstate[insert]= ;; - *) [[ ${#:-$PREFIX$SUFFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pine b/result/sw/share/zsh/5.9/functions/_pine deleted file mode 100644 index 12bd2915..00000000 --- a/result/sw/share/zsh/5.9/functions/_pine +++ /dev/null @@ -1,51 +0,0 @@ -#compdef pine pinef - -local optfile getopts='pine -conf' sortorder lusortorder opts send idx - -if (( $#_cache_pine_options )); then - for optfile in ~/.pinerc /etc/pine.conf; do - if [[ -f $optfile ]]; then - getopts="cat $optfile" - break - fi - done - _cache_pine_options=( $($=getopts | sed -n 's/^\([-a-z]*=\).*/-\1/p') ) -fi - -sortorder=( {subject,arrival,date,from,size}{,/reverse} ) -lusortorder=( dont-sort {nickname,fullname}{,-with-lists-last} ) - -opts=( -h -v -F -conf -create_lu -pinerc -copy_abook -copy_pinerc) # exclusive options -idx=( -f -c -i -I -n -o -sort ) # options used when viewing messages -send=( -attach -attachlist -attach_and_delete -url ) # options when sending - -_arguments -s \ - "($opts $idx $send -bail -d -k -z -r -p -P *)-h[display help]" \ - "($opts $idx $send -bail -d -k -z -r -p -P *)-v[display version information]" \ - "($opts $idx $send -r *)-F+[specify file to open and page through]:file:_files" \ - "($opts $idx $send *)-conf[print out fresh global configuration]" \ - "($opts $idx $send *)-pinerc[put fresh pinerc configuration in file]:file:_files" \ - "($opts $idx $send *)-create_lu[create .lu from script]:addressbook file:_files:sort order:(${(j: :)lusortorder})" \ - "($opts $idx $send *)-copy_pinerc:pinerc file:_files:remote folder" \ - "($opts $idx $send *)-copy_abook:addressbook file:_files:remote folder" \ - "($opts $idx -url)-attach[go directly into composer with given file]:file:_files" \ - "($opts $idx -url)-attachlist[go to composer with given files]:file:_files" \ - "($opts $idx -url)-attach_and_delete[go to composer, attach file, delete when finished]:file:_files" \ - "($opts $idx $send)-url[open the given URL]:URL:_email_addresses -c -P mailto\:" \ - "($opts $send)-f+[specify mailbox to load]:mailbox: _mailboxes" \ - "($opts $send)-c+[specify context to apply to -f arg]: :_guard '[0-9]#' number" \ - "($opts $send)-sort[specify sort order of folder]:sort order:(${(j: :)sortorder})" \ - "($opts $send)-i[go directly to index, bypassing main menu]" \ - "($opts $send)-I+[specify initial keystrokes to be executed]:keystrokes" \ - "($opts $send)-n+[entry in index to begin on]: :_guard '[0-9]#' number" \ - "($opts $send)-o[open first folder read-only]" \ - "(-F -h -v)-r[restricted - can only send mail to oneself]" \ - "(-h -v)-d[set debug level]:debug:(0 1 2 3 4 5 6 7 8 9 flush timestamp imap= numfiles= verbose=)" \ - \(${(j. .)opts:#-F}')-k[force use of function keys]' \ - \(${(j. .)opts:#-F}')-z[allow use of ^Z suspension]' \ - \(${(j. .)opts:#-F}')-p+[use alternate .pinerc file]:alternate pinerc:_files' \ - \(${(j. .)opts:#-F}')-P+[use alternate pine.conf file]:alternate pine.conf:_files' \ - \(${(j. .)opts:#-F}')-x[use configuration exceptions file]:configuration exceptions file:_files' \ - \(${(j. .)opts:#-F}")-bail[exit if pinerc file doesn't already exist]" \ - '*::recipient:_email_addresses -n pine' \ - ${^_cache_pine_options}':option value' diff --git a/result/sw/share/zsh/5.9/functions/_ping b/result/sw/share/zsh/5.9/functions/_ping deleted file mode 100644 index d36a0f3a..00000000 --- a/result/sw/share/zsh/5.9/functions/_ping +++ /dev/null @@ -1,239 +0,0 @@ -#compdef ping ping6 - -local variant -local -a args - -_pick_variant -r variant iputils=iputils $OSTYPE -V - -case ${variant}:${${service#ping}:-4} in - iputils*) args=( -A "-*" ) ;| - *) - args+=( - '-d[set SO_DEBUG on the socket]' - '-n[show network addresses as numbers]' - '-v[verbose output]' - ) - ;| - iputils*|aix*|*bsd*|darwin*|dragonfly*) - args+=( - '-c+[specify number of packets to send]:count' - '-f[flood ping]' - '-i+[specify delay between packets]:interval (seconds) [1]' - '-l+[send specified number of initial packets as fast as possible]:number of packets' - '-p+[specify pad bytes to fill sent packet with]:padding pattern' - '-q[quiet]' - '-s+[specify packet size]:size (bytes) [56]' - ) - ;| - iputils:*|solaris:*|(*bsd|darwin|dragonfly)*:4) - args+=( - '-L[disable loopback of multicast packets]' - '-R[record route]' - ) - ;| - iputils:*|solaris:*|((free|net)bsd|darwin|dragonfly)*:4) - args+=( '-r[bypass normal routing tables]' ) - ;| - (iputils|freebsd<13->.*):*|(freebsd<-12>.|netbsd|darwin|dragonfly)*:4) - args+=( '-a[audible bell for each packet]' ) - ;| - iputils:*|netbsd*:4|openbsd*) - args+=( '-w+[specify timeout after which ping exits]:deadline (seconds)' ) - ;| - iputils:*|openbsd*:4|solaris*) - args+=( - '-t+[set IP Time to Live for outgoing packets]:ttl' - ) - ;| - (*bsd|darwin|dragonfly)*) - args+=( '-I+[specify source interface for multicast packets]:interface:_net_interfaces' ) - ;| - freebsd<13->.*|openbsd*) - args+=( '-H[try reverse-lookups of addresses]' ) - ;| - freebsd*|darwin*|dragonfly*|netbsd*:6) - args+=( '-S+[specify source address]:source address' ) - ;| - freebsd*|darwin*|dragonfly*:4|netbsd*:4) - args+=( '-o[exit after receiving one packet]' ) - ;| - (*bsd|darwin|dragonfly)*:4) - args+=( "-D[set the don't fragment bit]" ) - ;| - (freebsd|openbsd|darwin)*:6) - args+=( '-D[disable IPv6 fragmentation]' ) - ;| - ((free|net)bsd|darwin|dragonfly)*:4) - args+=( '-Q[somewhat quiet]') - ;| - freebsd<-12>.*:6|darwin*:6|solaris*|netbsd*) - args+=( - '*-g+[specify gateway to use as the next hop to the destination]:gateway:_hosts' - ) - ;| - (*bsd|darwin|dragonfly)*:6) - args+=( '-h+[set the IPv6 hoplimit]:hop limit' ) - ;| - ((free|net)bsd|darwin|dragonfly)*:6) - args+=( - '-b+[set socket buffer size]:buffer size' - '-N[probe node information multicast group address]' - ) - ;| - (freebsd<-12>.|netbsd|darwin|dragonfly)*:6) - args+=( - '-a+[generate ICMPv6 Node Information Node Addresses query]:address type:(a c g s l A)' - '-H[try reverse-lookups of IPv6 addresses]' - '(-s)-t[generate ICMPv6 Node Information supported query types query]' - '(-s)-w[generate ICMPv6 Node Information DNS Name query]' '!(-s)-W' - ) - ;| - (*bsd|darwin)*:6) - args+=( '*-m[suppress fragmenting of packets into the minimum IPv6 MTU]' ) - ;| - freebsd*|darwin*|netbsd*:6) - args+=( '-P+[specify IPsec policy to be used for the probe]:policy' ) - ;| - solaris2.<11->) - args+=( - '-b[bypass global IPsec policy and send and receive packets in the clear]' - '-N+[specify a next-hop router that the probe packet should go through]:router:_hosts' - ) - ;| - freebsd<13->.*:6|(freebsd|darwin|dragonfly)*:4) - args+=( - '-A[audible bell for no packet]' - '-t+[specify timeout after which ping exits]:deadline (seconds)' - '-W+[specify time to wait for a response]:wait time (ms)' - ) - ;| - (freebsd|darwin|dragonfly)*:4) - args+=( - '-G+[specify maximum size for ICMP payload for sweeping pings]:size' - '-g+[specify minimum size for ICMP payload for sweeping pings]:size [0]' - '-h+[specify size increment for ICMP payload for sweeping pings]:size [1]' - '-M+[use ICMP_MASKREQ or ICMP_TSTAMP instead of ICMP_ECHO]:ICMP:(mask time)' - '-m+[set IP Time to Live for outgoing packets]:ttl' - '-T+[set IP Time to Live for multicasted packets]:ttl' - '-z+[specify type of service]:type of service' - ) - ;| - (freebsd<-12>.*|darwin*):6) - args+=( - '-R[audible bell for no packet]' - '-r[audible bell for each packet]' - ) - ;| - (iputils|freebsd<13->.*):4) - args+=( - '(-F -N)-4[use IPv4 only]' - '-6[use IPv6 only]' - ) - ;| - freebsd<13->.*:4) - args+=( - '-C+[add an 802.1p Ethernet Priority Code Point when sending a packet]:pcp:(-1 0 1 2 3 4 5 6 7)' - ) - ;| - freebsd<13->.*:6) - args+=( - '*-e+[specify gateway to use as the next hop to the destination]:gateway:_hosts' - '-k+[generate ICMPv6 Node Information Node Addresses query]:address type:(a c g s l A)' - '(-s)-O[generate ICMPv6 Node Information supported query types query]' - '*-u[suppress fragmentation to minimum MTU]' - '(-s)-Y[generate ICMPv6 Node Information DNS Name query with old packet format]' - '(-s)-y[generate ICMPv6 Node Information DNS Name query]' - '-E[enable transport-mode IPsec encapsulated security payload]' - '-Z[enables transport-mode IPsec authentication header]' - ) - ;| - freebsd<-12>.*:6) - args+=( - '-x+[specify time to wait for a response]:wait time (ms)' - '-X+[specify timeout after which ping exits]:deadline (seconds)' - ) - ;; - netbsd*:4) - args+=( - '-C[send timestamps in compat format]' - '-E+[specify IPsec policy to be used for the probe]:policy' - '-h+[specify target host]:host:_hosts' - '-P+[use a pseudo-random sequence for the data]' - '-T+[set IP Time to Live for outgoing packets]:ttl' - '-t+[specify type of service]:type of service' - ) - ;; - (dragonfly|netbsd)*:6) - args+=( '-R[inject reachability confirmation hint for target host/first hop]' ) - ;; - darwin*:4) - args+=( '-b+[bind the socket to specified interface for sending]:interface:_net_interfaces') - ;| - darwin*:6) - args+=( - '-B+[bind the socket to specified interface for sending]:interface:_net_interfaces' - '-G+[specify max,min,increment size for ICMP payload for sweeping pings]:max,min,incr (default min=0 incr=1)' - '-z+[specify traffic class]:traffic class' - ) - ;| - darwin*) - args+=( - '-C[prohibit socket from using cellular network interface]' - '-K+[specify network service type for sending ICMP packets]:serviece type:(BK_SYS BK BE RV AV RD OAM VI SIG VO)' - '-k+[specify traffic class to use for sending ICMP packets]:traffic class [CTL]:(BK_SYS BK BE RD OAM AV RV VI VO CTL)' - '--apple-connect[connects the socket to the destination address]' - '--apple-time[prints the time a packet was received]' - ) - ;; - openbsd*) - args+=( - '-E[audible bell for no packet]' - '-e[audible bell for each packet]' - '-g[provide a visual display of packets received and lost]' - '-T+[change TOS value]:TOS value:(critical inetcontrol lowdelay netcontrol throughput reliability ef af cs)' - '-V+[specify routing table to be used]:routing table:_routing_tables' - ) - ;; - iputils:*) - args+=( - '-A[adaptive]' - '-b[allow pinging a broadcast address]' - "-B[don't allow ping to change source address]" - '-D[print timestamp before each line]' - '(-4)-F+[allocate and set 20-bit flow label]:flow label (hex)' - '(-)-h[show usage information]' - '-I+[specify source interface]:interface:_net_interfaces' - '-m+[specify mark to tag outgoing packets]:mark' - "-M+[specify path MTU discovery strategy]:strategy:(( - do\:prohibit\ fragmentation,\ even\ local\ one - want\:do\ PMTU\ discovery - dont\:don\'t\ set\ DF\ flag))" - '(-4)-N+[send ICMPv6 node information queries instead of echo request]:sub option' - '-O[report outstanding ICMP ECHO reply before sending next packet]' - '-Q+[set Quality of Service-related bits in ICMP datagrams]:QoS TOS bits' - '-S+[set socket sndbuf]:sndbuf' - '-T+[set special IP timestamp options]:timestamp option:(tsonly tsandaddr tsprespec)' - '-U[print full user-to-user latency]' - '(-)-V[display version information]' - '-W+[specify time to wait for a response]:wait time (seconds)' - ) - ;; - solaris*) - args+=( - '-A+[specify address family]:address family:(inet inet6)' - '-F+[specify the flow label of probe packets]:number' - '-I+[specify delay between packets]:interval (seconds) [1]' - '-P+[specify type of service]:type of service (0-255) [0]' - '-U[send UDP packets instead of ICMP]' - '-a[ping all addresses, both IPv4 and IPv6 of multihomed destination]' - '-c+[specify the traffic class of probe packets]:traffic class (0-255)' - '-i+[specify source interface]:interface:_net_interfaces' - '-l[send the probe using loose source routing]' - '-p+[set base UDP port]:port [33434]' - '-s[send one datagram per second and collect statistics]' - ) - ;; -esac - -_arguments -s -S $args \ - '*:host:_hosts' diff --git a/result/sw/share/zsh/5.9/functions/_pip b/result/sw/share/zsh/5.9/functions/_pip deleted file mode 100644 index bafc7f9e..00000000 --- a/result/sw/share/zsh/5.9/functions/_pip +++ /dev/null @@ -1,213 +0,0 @@ -#compdef -P pip[0-9.]# - -# To get completion of installable packages, do: -# pip install pip-cache -# and then run: -# pip-cache update - -local curcontext="$curcontext" ret=1 -local -a state state_descr line -local -A opt_args -local python pip -local -a args subcommands packages - -pip=${words[1]} -python=${${pip}/pip/python} -[[ $python == $pip ]] && python=python - -args=( - '(* : -)'{-h,--help}'[display usage information]' - '--isolated[ignore environment variables and user configuration]' - \*{-v,--verbose}'[give more output]' - \*{-q,--quiet}"[give less output]" - '--log=[specify log file where a complete record will be kept]:file:_files' - '--proxy=[specify a proxy]:proxy ([user\:passwd@]proxy.server\:port)' - '--retries=[specify maximum number of retries each connection should attempt]:retries [5]' - '--timeout=[set the socket timeout]:timeout (seconds) [15]' - '--exists-action=[specify action when a path already exists]:action:((s\:switch i\:ignore w\:wipe b\:backup a\:abort))' - '--cert=[specify path to alternate CA bundle]:path:_files' - '--client-cert=[specify path to SSL client certificate]:certificate file:_files' - '(--no-cache-dir)--cache-dir=[specify location to store the cache data]: :_directories' - '(--cache-dir)--no-cache-dir[disable the cache]' - "--disable-pip-version-check[don't check whether a new version of pip is available]" -) - -subcommands=( - 'install:install packages' - 'download:download packages' - 'uninstall:uninstall packages' - 'freeze:output installed packages in requirements format' - 'list:list installed packages' - 'show:show information about installed packages' - 'check:verify installed packages have compatible dependencies' - 'search:search PyPI for packages' - 'wheel:build wheels from your requirements' - 'hash:compute hashes of package archives' - 'help:show available commands' -) - -_arguments -C $args \ - '(* : -)'{-V,--version}'[display version information]' \ - ':subcommand:->subcommand' \ - '*::options:->options' && ret=0 - -case $state in - subcommand) - _describe -t subcommands 'pip subcommand' subcommands && ret=0 - ;; - - options) - curcontext="${curcontext%:*}-$words[2]:" - - case $words[1] in - download|install|list|wheel) - args+=( - '--pre[include pre-release and development versions]' - '(-i --index-url)'{-i+,--index-url=}'[base URL of Python Package Index]:url:_urls' - '--extra-index-url=[extra URLs of package indexes to use in addition to --index-url]:url:_urls' - '--no-index[ignore package index (only looking at --find-links URLs instead)]' - '(-f --find-links)'{-f+,--find-links=}'[parse specified URL or HTML file for links to packages]:URL or file:_files -g "*.htm(|l)(-.)"' - '--process-dependency-links[enable the processing of dependency links]' - ) - ;| - download|(un|)install|freeze|wheel) - args+=( - '(-r --requirement)'{-r+,--requirement=}'[all the packages listed in the given requirements file]:requirements file:_files -g "(requirement*|*.txt)(-.)"' - ) - ;| - download|install|wheel) - args+=( - '!--use-wheel' '!--no-use-wheel' - "*--no-binary=[don't use binary packages]: :->package_list" - "*--only-binary=[don't use source packages]: :->package_list" - \*{-c+,--constraint=}'[constrain versions using the given constraints file]:constraints file:_files' - '(-e --editable)'{-e+,--editable=}'[install a package directly from a checkout]:directory or VCS+REPOS_URL[@REV]#egg=PACKAGE:_files -/' - '--src=[check out --editable packages into given directory]: :_directories' - '--ignore-requires-python[ignore the Requires-Python information]' - "--no-deps[don't install package dependencies]" - '(-b --build)'{-https://cloud.kiddleb+,--build=}'[specify directory to unpack packages into]: :_directories' - '--global-option=[extra global options to be supplied to the setup.py call before the install command]:options' - "--no-clean[don't clean up build directories]" - '--require-hashes[require a hash to check each requirement against]' - ) - ;| - - download) - args+=( - '(-d --dest)'{-d+,--dest=}'[download packages into given directory]: :_directories' - '--platform=[only download wheels compatible with platform]::platform' - '--python-version=[only download wheels compatible with specified Python interpreter version]:version' - '--implementation=[only download wheels compatible with specified Python implementation]:implementation:(pp jy cp ip py)' - ) - ;; - - install) - args+=( - '(-t --target)'{-t+,--target=}'[specify directory to install packages into]: :_directories' - '(-d --download)'{-d+,--download=}'[download packages into directory instead of installing them]: :_directories' - '(-U --upgrade)'{-U,--upgrade}'[upgrade all packages to the newest available version]' - '--upgrade-strategy=[determine how dependency upgrading should be handled]:strategy:(eager only-if-needed)' - '--force-reinstall[when upgrading, reinstall all packages even if they are already up-to-date]' - '(-I --ignore-installed)'{-I,--ignore-installed}'[ignore installed packages]' - "--no-install[download and unpack all packages, but don't actually install them]" - "--no-download[don't download any packages, just install the ones already downloaded]" - '--install-option=[extra arguments to be supplied to the setup.py install command]:options' - '--user[install to the user install directory, typically ~/.local]' - '--egg[install as self contained egg file, like easy_install does]' - '--root=[install everything relative to this alternate root directory]: :_directories' - '--strip-file-prefix=[strip given prefix from script paths in wheel RECORD]:prefix' - '--prefix=[specify installation prefix where lib, bin and other top-level folders are placed]: :_directories' - '(--no-compile)--compile[compile py files to pyc]' - "(--compile)--no-compile[don't compile py files to pyc]" - '*:package name:->packages_or_dirs' - ) - ;; - - uninstall) - args+=( - '(-y --yes)'{-y,--yes}"[don't ask for confirmation of uninstall deletions]" - ':installed package:->installed_packages' - ) - ;; - - freeze) - args+=( - '(-f --find-links)'{-f+,--find-links=}'[specify URL to look for packages at]:url:_urls' - '(-l --local)'{-l,--local}"[if in a virtualenv that has global access, don't list globally-installed packages]" - '--user[only output packages installed in user-site]' - '--all[include pip, setuptools, distribute and wheel in output]' - ) - ;; - - hash) - args+=( - '(-a --algorithm)'{-a+,--algorithm=}'[specify hash algorithm]:algorithm:(sha256 sha384 sha512)' - '*: :_files' - ) - ;; - - list) - args+=( - '(-o --outdated -u --uptodate)'{-o,--outdated}'[list outdated packages (excluding editables)]' - '(-u --uptodate -o --outdated)'{-u,--uptodate}'[list uptodated packages (excluding editables)]' - '(-e --editable)'{-e,--editable}'[list editable projects]' - '(-l --local)'{-l,--local}"[if in a virtualenv that has global access, don't list globally-installed packages]" - '--user[only output packages installed in user-site]' - '--format=[select the output format]:format [legacy]:(legacy columns freeze json)' - '--not-required[list packages that are not dependencies of installed packages]' - ) - ;; - - show) - args+=( - '(-f --files)'{-f,--files}'[show the full list of installed files for each package]' - ':installed package:->installed_packages' - ) - ;; - - search) - args+=( - '(-i --index)'{-i+,--index=}'[specify base URL of Python Package Index]:URL:_urls' - ) - ;; - - wheel) - args+=( - '(-w --wheel-dir)'{-w+,--wheel-dir=}"[build wheels into given directory]: :_directories" - "--build-option=[extra arguments to be supplied to 'setup.py bdist_wheel']:options" - ) - ;; - - help) - _describe -t subcommands 'pip subcommand' subcommands - return - ;; - - *) args+=( '*: :_default' ) ;; - esac - - _arguments -s -S $args && ret=0 - - case $state in - package_list) - packages=( ${(f)"$(_call_program packages pip-cache pkgnames)"} ) - _sequence _wanted packages expl package compadd - -a packages && ret=0 - ;; - - packages_or_dirs) - [[ -prefix - ]] || packages=( ${(f)"$(_call_program packages pip-cache pkgnames)"} ) - _alternative \ - 'all-packages:package:compadd -a packages' \ - 'directories:directory with setup.py:_directories' && ret=0 - ;; - - installed_packages) - packages=( $(_call_program fetch-installed \ - "env COMP_WORDS='pip uninstall' COMP_CWORD=2 PIP_AUTO_COMPLETE=1 $pip") ) - _wanted installed-packages expl 'installed package' compadd -a packages && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_piuparts b/result/sw/share/zsh/5.9/functions/_piuparts deleted file mode 100644 index 1da0e85e..00000000 --- a/result/sw/share/zsh/5.9/functions/_piuparts +++ /dev/null @@ -1,30 +0,0 @@ -#compdef piuparts - -local context state line -typeset -A opt_args - -_arguments -s \ - '(-a --apt)'{-a,--apt} \ - '(-b --basetgz)'{-b,--basetgz=}':base tarball:_files' \ - '(-d --distribution)'{-d,--distribution=}':Debian distribution:(sarge etch sid experimental)' \ - '(-i --ignore)*'{-i,--ignore=}':file to ignore:_files' \ - '(-I --ignore-regexp)*'{-I,--ignore-regexp=}':expression to ignore' \ - '(-k --keep-tmpdir)'{-k,--keep-tmpdir} \ - '(-l --log-file)'{-l,--logfile=}':log file:_files' \ - '(-m --mirror)'{-m,--mirror=}':Debian mirror:_urls' \ - '(-n --no-ignores)'{-n,--no-ignores} \ - '(-p --pbuilder)'{-p,--pbuilder}'[use /var/cache/pbuilder/base.tgz]' \ - '(-s --save)'{-s,--save=}':target tarball:_files' \ - '(-t --tmpdir)'{-t,--tmpdir=}':temp dir:_files -/' \ - '-V[version]' \ - '*:package:->packages' && return 0 - -case "$state" in - (packages) - if (( $+opt_args[-a] )); then - _deb_packages avail - else - _deb_files - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_pkg-config b/result/sw/share/zsh/5.9/functions/_pkg-config deleted file mode 100644 index cae6a629..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkg-config +++ /dev/null @@ -1,66 +0,0 @@ -#compdef pkg-config - -local arguments packages curcontext="$curcontext" state line expl ret=1 -declare -A opt_args - -# Up-to-date as of pkg-config 0.29-4 (debian package) man page synopsis -arguments=( - "--modversion[print the version information of a given package]" - "--version[print version information of pkg-config itself]" - "--atleast-pkgconfig-version=[require given version of pkg-config]:minimum version" - "(- *)"{--help,-\?}"[display a help message]" - "(- *)--usage[display brief usage message]" - "--print-errors[cause errors to be printed]" - "--short-errors[print short error messages]" - "--silence-errors[prevent the printing of errors]" - "--errors-to-stdout[print errors to stdout rather than stderr]" - "--cflags[print the preprocessor and compiler flags]" - "--cflags-only-I[output -I flags only]" - "--cflags-only-other[output cflags not covered by the cflags-only-I option]" - "--debug[show verbose debug information]" - "--libs[print the link flags]" - "--libs-only-L[print the -L and -R parts of \"--libs\"]" - "--libs-only-l[print the -l part of \"--libs\"]" - "--libs-only-other[output other libs]" - "--validate[syntax check a .pc file]" - "--list-all[list all known packages]" - "--variable=[return the value of the specified variable]:variable:->variable" - "--define-variable=[set the global value for a variable]:name value pair" - "--print-variables[list all variables defined in the package]" - "--uninstalled[return success if any \"-uninstalled\" packages are being used]" - "--exists[test whether the package exists or not]" - "--atleast-version=[test whether the version is at least that of the specified value]:least value" - "--exact-version=[test whether the version is exactly that of the specified value]:exact value" - "--max-version=[test whether the version is no greater than some specific value]:max version" - "--print-provides[list all modules the package provides]" - "--print-requires[list all modules the package requires]" - "--print-requires-private[list all modules the package requires for static linking (see --static)]" -# "--msvc-syntax[output linker flags in a form compatible with MSVC++ (Windows only)]" -# "--dont-define-prefix[disables automatic overriding of the variable \"prefix\" (Windows only)]" -# "--prefix-variable=[set the name of the variable \"prefix\" (Windows only)]:prefix value" - "*: :->packages" -) - -_arguments -C -S : $arguments && ret=0 - -case $state in - (packages) - packages=( ${${(f)"$(_call_program packages pkg-config --list-all)"}%% *} ) - _alternative \ - 'packages:package:compadd -a - packages' \ - 'files:package file:_files -g "*.pc(-.)"' \ - && ret=0 - ;; - - (variable) - if [[ $line[1] != '-' ]]; then - local -a variables=( ${${(f)"$(_call_program variables "pkg-config --print-variables -- ${(q)line[1]}")"}} ) - _wanted variables expl 'variable' compadd -a - variables && ret=0 - else - _message "variable" - fi - ;; - -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pkg5 b/result/sw/share/zsh/5.9/functions/_pkg5 deleted file mode 100644 index bcd4e3da..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkg5 +++ /dev/null @@ -1,431 +0,0 @@ -#compdef pkg - -_pkg5_pkgs() { - local cache_policy cache_id=pkg5_installed_pkgs:$HOST:${pkg5_root//\//+} - typeset -a -g _pkg5_installed_pkgs - - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pkg5_installed_caching_policy - fi - - if ( [[ $#_pkg5_installed_pkgs -eq 0 ]] || _cache_invalid $cache_id ) && ! _retrieve_cache $cache_id; then - _pkg5_installed_pkgs=( $( - pkg -R $pkg5_root list -H | while read pkg junk; do - pkga=( ${(s:/:)pkg} ) - for i in {1..$#pkga}; do - print ${(j:/:)${pkga[$i,-1]}} - done - done) ) - _store_cache $cache_id _pkg5_installed_pkgs - fi - - compadd "$@" - ${_pkg5_installed_pkgs} -} - -_pkg5_pkgs_a() { - local cache_policy cache_id=pkg5_known_pkgs:$HOST:${pkg5_root//\//+} - typeset -a -g _pkg5_known_pkgs - - zstyle -s ":completion:${curcontext}:" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _pkg5_known_caching_policy - fi - - if ( [[ $#_pkg5_known_pkgs -eq 0 ]] || _cache_invalid $cache_id ) && ! _retrieve_cache $cache_id; then - _pkg5_known_pkgs=( $( - pkg -R $pkg5_root list -aH --no-refresh | while read pkg junk; do - pkga=( ${(s:/:)pkg} ) - for i in {1..$#pkga}; do - print ${(j:/:)${pkga[$i,-1]}} - done - done) ) - _store_cache $cache_id _pkg5_known_pkgs - fi - - compadd "$@" - ${_pkg5_known_pkgs} -} - -_pkg5_avoided_pkgs() { - compadd "$@" - $(pkg -R $pkg5_root unavoid) -} - -_pkg5_pubs() { - compadd "$@" - $(pkg -R $pkg5_root publisher -H | awk '{print $1}') -} - -_pkg5_variants() { - compadd "$@" - $(pkg -R $pkg5_root variant -H | awk '{print $1}') -} - -_pkg5_facets() { - compadd "$@" - $(pkg -R $pkg5_root facet -H | awk '{print $1}') -} - -_pkg5_known_caching_policy() { - [[ $pkg5_root/var/pkg/state/known/catalog.attrs -nt "$1" ]] -} - -_pkg5_installed_caching_policy() { - [[ $pkg5_root/var/pkg/state/installed/catalog.attrs -nt "$1" ]] -} - -_pkg5() { - local expl context state line pkg5_root prop - typeset -A opt_args - local -a subcmds pkg5_actions pkg5_cattr pkg5_sattr be_opts - local -a publisher_properties image_properties certs - - subcmds=( - install uninstall list update refresh version help - info search verify fix revert contents image-create - {change-,}{variant,facet} avoid unavoid history - {{un,}set-,}property {add,remove}-property-value - {{un,}set-,}publisher purge-history rebuild-index - update-format freeze unfreeze {{un,}set-,}mediator - ) - - pkg5_actions=( - set depend dir driver file group hardlink legacy license link - signature unknown user - ) - - # Pseudo attributes for the contents subcommand - pkg5_cattr=( - action.hash action.key action.name action.raw - pkg.fmri pkg.name pkg.publisher pkg.shortfmri - ) - - # Pseudo attributes for the search subcommand - pkg5_sattr=( - $pkg5_cattr search.match search.match_type - ) - - publisher_properties=( - "signature-policy:value:(ignore verify require-signatures require-names)" - "signature-required-names:value:" - ) - - image_properties=( - "be-policy:value:(default always-new create-backup when-required)" - "ca-path:value:_path_files -/" - "check-certificate-revocation:value:(true false)" - "flush-content-cache-on-success:value:(true false)" - "mirror-discovery:value:(true false)" - "send-uuid:value:(true false)" - "signature-policy:value:(ignore verify require-signatures require-names)" - "signature-required-names:value:" - "trust-anchor-directory:value:_path_files -/" - "use-system-repo:value:(true false)" - ) - - if [[ $service == "pkg" ]]; then - _arguments -C -A "-*" \ - '(-\? --help)'{-\?,--help}'[Help]' \ - '-R[Root directory]:directory:_path_files -/' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "pkg subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - pkg5_root=${${${opt_args[-R]}:-$PKG_IMAGE}:-/} - - certs=( $(pkg -R $pkg5_root property -H ca-path | awk '{print $2}')/* ) - - # Options common to subcommands which might have to deal with BEs. - # Note that --backup-be-name needs to precede --be-name in order to - # ensure that completion sees "--b" as being ambiguous. - be_opts=( - "(--require-new-be)--deny-new-be[Fail the operation if a new BE would be required]" - "(--deny-new-be)--require-new-be[Force a new BE to be created]" - "--backup-be-name[Specify the name for the backup BE]:BE name: " - "--be-name[Specify a BE name]:BE name: " - "--no-be-activate[Don't activate the new BE]" - "(--require-backup-be)--no-backup-be[Don't leave behind a backup BE]" - "(--no-backup-be)--require-backup-be[Force leaving behind a backup BE]" - ) - - case $service in - ("install") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - "--accept[Accept all licenses]" \ - "--licenses[Display all licenses]" \ - "--reject[Specify an FMRI to exclude from the result]:fmri:_pkg5_pkgs" \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - $be_opts \ - '*:package:_pkg5_pkgs_a' - ;; - - ("uninstall") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - $be_opts \ - "--no-index[Don't reindex search database]" \ - '*:package:_pkg5_pkgs' - ;; - - ("update") - _arguments -A "-*" \ - "-f[Don't check for pkg(5) updates]" \ - '-n[Dry run]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - "--accept[Accept all licenses]" \ - "--licenses[Display all licenses]" \ - $be_opts \ - "--reject[Specify an FMRI to exclude from the result]:fmri:_pkg5_pkgs" \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - '*:package:_pkg5_pkgs' - ;; - - ("list") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-a[Show not-installed packages]' \ - '-f[Show all versions]' \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '-n[Show newest versions]' \ - '-s[Show summaries]' \ - '-u[Show upgradable versions]' \ - '-v[Show verbose pkg: FMRIs]' \ - "--no-refresh[Don't refresh catalogs]" \ - '*:package:_pkg5_pkgs_a' - ;; - - ("refresh") - _arguments -A "-*" \ - "--full[Full refresh]" \ - '*:publisher:_pkg5_pubs' - ;; - - ("info") - _arguments -A "-*" \ - '--license[Display license text(s)]' \ - '(-r)-l[Installed package]' \ - '(-l)-r[Uninstalled package; fetch info from depot]:*:package:_pkg5_pkgs_a' \ - '*:package:_pkg5_pkgs' - ;; - - ("search") - _arguments -A "-*" \ - "(-p)-a[Show matching actions]" \ - '-l[Local search]' \ - '(-a)-p[Show packages]' \ - '-r[Remote search]' \ - '-H[Omit headers]' \ - '-I[Case sensitive search]' \ - '-s[Depot URI]' \ - '*-o[Attribute output]:attributes:_values -s , "attribute" $pkg5_sattr' \ - ':query:' - ;; - - ("verify") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-q[Quiet]' \ - '-v[Verbose]' \ - '*:package:_pkg5_pkgs' - ;; - - ("fix") - _arguments -A "-*" \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - '*:package:_pkg5_pkgs' - ;; - - ("revert") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-v[Verbose]' \ - '--tagged[Revert all tagged files]:tag:' \ - $be_opts \ - "--no-refresh[Don't refresh catalogs]" \ - "--no-index[Don't reindex search database]" \ - '*:file:_path_files' - ;; - - ("contents") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-m[Print raw manifests]' \ - '*-a[Attribute matching]:attribute=pattern:' \ - '*-o[Attribute output]:attributes:_values -s , "attribute" $pkg5_cattr' \ - '*-s[Sort key]:attribute:' \ - '*-t[Action type]:action:_values -s , "action" $pkg5_actions' \ - '-r[Fetch manifests from depot]:*:package:_pkg5_pkgs_a' \ - '*:package:_pkg5_pkgs' - ;; - - ("image-create") - _arguments -A "-*" \ - '(-f --force)'{-f,--force}'[Force image creation]' \ - '(-F --full -P --partial -U --user)'{-F,--full}'[Full image]' \ - '(-F --full -P --partial -U --user)'{-P,--partial}'[Partial image]' \ - '(-F --full -P --partial -U --user)'{-U,--user}'[User image]' \ - '(-z --zone)'{-z,--zone}'[Zoned image]' \ - '-k[Path to SSL key]:file:_path_files' \ - '-c[Path to SSL cert]:file:_path_files' \ - "--no-refresh[Don't refresh catalogs]" \ - "*--variant[Specify image variants]:variant=instance:" \ - "*--facet[Specify image facets]:facet=True/False:" \ - '(-p --publisher)'{-p,--publisher}'[Specify publisher]:prefix=URI:' \ - ':directory:_path_files -/' - ;; - - ("change-variant") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet'] \ - '-v[Verbose'] \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - $be_opts \ - "*:variant:_values -s , 'variant' $(pkg -R $pkg5_root variant -H | awk '{print $1}')" \ - ;; - - ("change-facet") - _arguments -A "-*" \ - '-n[Dry run]' \ - '-q[Quiet'] \ - '-v[Verbose'] \ - '-g[Specify additional source of packages]:source:_path_files -/' \ - '--accept[Accept all licenses]' \ - '--licenses[Display all licenses]' \ - $be_opts \ - "*:facet:_values -s , 'facet' $(pkg -R $pkg5_root facet -H | awk '{print $1}')" \ - ;; - - ("variant") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:variant:_pkg5_variants' - ;; - - ("facet") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:facet:_pkg5_facets' - ;; - - ("avoid") - _arguments -A "-*" \ - '*:package:_pkg5_pkgs_a' - ;; - - ("unavoid") - _arguments -A "-*" \ - '*:package:_pkg5_avoided_pkgs' - ;; - - ("set-property") - _arguments -A "-*" \ - ':property:_values "property" $image_properties' \ - ':value:' - ;; - - ("add-property-value") - _arguments -A "-*" \ - ':property:_values "property" $image_properties' \ - ':value:' - ;; - - ("remove-property-value") - _arguments -A "-*" \ - ':property:(${image_properties%%\:*})' \ - ':value:' - ;; - - ("unset-property") - _arguments -A "-*" \ - '*:property:(${image_properties%%\:*})' - ;; - - ("property") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '*:property:(${image_properties%%\:*})' - ;; - - ("set-publisher") - _arguments -A "-*" \ - '-P[Make preferred]' \ - '(-e --enable)'{-e,--enable}'[Enable publisher]' \ - '(-d --disable)'{-d,--disable}'[Disable publisher]' \ - '(-g --add-origin)'{-g,--add-origin}'[Add origin URI]:uri:' \ - '(-G --remove-origin)'{-G,--remove-origin}'[Remove origin URI]:uri:' \ - '(-m --add-mirror)'{-m,--add-mirror}'[Add mirror URI]:uri:' \ - '(-M --remove-mirror)'{-M,--remove-mirror}'[Remove mirror URI]:uri:' \ - '-p[Repository URI]:url:' \ - "--no-refresh[Don't refresh catalogs]" \ - '--reset-uuid[Reset the image UUID for this publisher]' \ - '--sticky[Make this publisher sticky]' \ - '--non-sticky[Make this publisher non-sticky]' \ - '--search-after[Set publisher search-order]:publisher:_pkg5_pubs' \ - '--search-before[Set publisher search-order]:publisher:_pkg5_pubs' \ - '--approve-ca-cert[Add trusted CA certificate]:CA cert path:_path_files' \ - '--revoke-ca-cert[Revoke CA certificate]:CA cert hash:(${${certs#/etc/openssl/certs/}%.0})' \ - '--unset-ca-cert[Remove trusted CA certificate]:CA cert hash:' \ - '--set-property[Set publisher property]:property:_values "property" $publisher_properties' \ - '--unset-property[Remove publisher property]:property:(${publisher_properties%%\:*})' \ - '--add-property-value[Add publisher property value]:property:_values "property" $publisher_properties' \ - '--remove-property-value[Remove publisher property value]:property:(${publisher_properties%%\:*})' \ - ':publisher:_pkg5_pubs' - ;; - - ("unset-publisher") - _arguments -A "-*" \ - '*:publisher:_pkg5_pubs' - ;; - - ("publisher") - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-P[Display only preferred publisher]' \ - '-n[Display only enabled publishers]' \ - '*:publisher:_pkg5_pubs' - ;; - - ("history") - local -a hist_columns - hist_columns=( - "be" "be_uuid" "client" "client_ver" "command" "finish" - "id" "new_be" "new_be_uuid" "operation" "outcome" - "reason" "snapshot" "start" "time" "user" - ) - _arguments -A "-*" \ - '-H[Omit headers]' \ - '-l[Long history]' \ - '-n[Last n records]:number:' \ - '-o[Column]:number:_values -s , "column" $hist_columns' \ - '-t[Time range]' - ;; - - ("freeze"|"unfreeze") - ;; - - ("mediator"|"set-mediator"|"unset-mediator") - ;; - - (*) - _message "unknown pkg subcommand: $service" ;; - - esac -} - -_pkg5 "$@" diff --git a/result/sw/share/zsh/5.9/functions/_pkg_instance b/result/sw/share/zsh/5.9/functions/_pkg_instance deleted file mode 100644 index 3f4c4921..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkg_instance +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -local -A opts -local whicharg - -zparseopts -E -D -- '-_opts:=opts' - -whicharg=${opts#*:} - -case ${opts%:*} in -(installed) - compadd "$@" - ${opt_args[$whicharg]}/var/sadm/pkg/*/pkginfo(:h:t) - ;; -(spooled) - compadd "$@" - ${opt_args[$whicharg]}/*(:t) - ;; -(uninstalled) - compadd "$@" - ${opt_args[$whicharg]:-/var/spool/pkg}/*/pkgmap(:h:t) - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_pkgadd b/result/sw/share/zsh/5.9/functions/_pkgadd deleted file mode 100644 index 7adc18a2..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkgadd +++ /dev/null @@ -1,32 +0,0 @@ -#compdef pkgadd - -_pkgadd_pass() { - _values -S : 'password descriptor' \ - '(file env console)pass[literal password]:password:' \ - '(pass file console)env[environment variable]:environment:_parameters -g "*export*"' \ - '(pass env console)file[file]:file:_files' \ - '(pass env file)console[from /dev/tty]' -} - -_pkgadd() { - _arguments -s \ - '-d[device]:device file:_files' \ - '-x[HTTP(S) proxy]:HTTP proxy: ' \ - '-k[keystore]:keystore:_files' \ - '-P[password to decrypt keystore]:password:_pkgadd_pass' \ - '-Y[select packages by category]:category: ' \ - - set1 \ - '-n[non-interactive mode]' \ - '-v[trace all scripts]' \ - '-a[admin file]:admin file:_files' \ - "-M[don't use vfstab file]" \ - '-R[root path]:root path:_files -/' \ - '-r[response file]:response file:_files' \ - '-V[alternate vfstab file]:vfstab file:_files' \ - '*:package instance:_pkg_instance --_opts uninstalled:-d' \ - - set2 \ - '-s[spool package]:spool directory:_files -/' \ - '*:package instance:_pkg_instance --_opts uninstalled:-d' -} - -_pkgadd "$@" diff --git a/result/sw/share/zsh/5.9/functions/_pkgin b/result/sw/share/zsh/5.9/functions/_pkgin deleted file mode 100644 index 662bed18..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkgin +++ /dev/null @@ -1,79 +0,0 @@ -#compdef pkgin - -local curcontext="$curcontext" pkgin=$words[1] cmd ret=1 -local -a state state_descr line expl cmds short pkgs -local -A opt_args - -_arguments -s -S -C \ - '-c+[enable chrooting pkgin in the given repository]:chroot path:_directories' \ - '-d[download only]' \ - '-f[force database update]' \ - '-F[force package reinstall]' \ - '(- 1 *)-h[display usage information]' \ - '-l+[only include the packages with the specified status flags]:limit chars:(( - \=\:installed\ version\ is\ current - \<\:installed\ version\ is\ older - \>\:installed\ version\ is\ newer - ))' \ - '(-y)-n[assume "no" as default answer and print results of actions to be taken line per line]' \ - '-p[display results in a parsable format]' \ - '-P[display packages versions instead of globs (sd, sfd, srd)]' \ - '-t+[log package browsing (dependencies and impact) to specified log file]:log file:_files' \ - '(- 1 *)-v[display version information]' \ - '-V[be verbose when (un)installing]' \ - '(-n)-y[assume "yes" as default answer, except for autoremove]' \ - '1:command:->subcommands' \ - '*:: :->restargs' && ret=0 - -if [[ -n $state ]]; then - cmds=( ${${${(f)"$(_call_program commands $pkgin -h 2>&1)"}[3,-1]/ - (#b)(?)/:$match:l}%.} ) - short=( ${${cmds#*\(}/ #\)/} ) - cmds=( ${cmds// #\(*\)/} ) - if [[ $state = subcommands && ! -prefix - ]]; then - _describe -t commands "command" short -- cmds -M 'r:|-=* r:|=*' && ret=0 - return ret - fi - - cmd=${short[(I)${words[1]}:*]} - if (( cmd )); then - cmd=${cmds[cmd]%%:*} - else - cmd=$words[1] - fi - curcontext="${curcontext%:*}-$cmd" - case $cmd in - avail|autoremove|clean|export|(full-|)upgrade|show(|-no)-keep|update) - _nothing - ;; - import) - _wanted files expl file _files && ret=0 - ;; - install|pkg-(content|descr|build-defs)|provides|requires|show(|-full|-rev)-deps|show-pkg-category) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin avail)"}%%-[^- ]# *} && ret=0 - ;; - keep) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin show-no-keep)"}%%-[^- ]# *} && ret=0 - ;; - remove) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin list)"}%%-[^- ]# *} && ret=0 - ;; - search) - _message -e patterns pattern - ;; - show-category) - _wanted -x categories expl category compadd - /usr/pkgsrc/*~*/CVS(N/:t) && ret=0 - ;; - unkeep) - _wanted packages expl package compadd - \ - ${${(f)"$(_call_program packages $pkgin show-keep)"}%%-[^- ]# *} && ret=0 - ;; - *) - _default && ret=0 - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pkginfo b/result/sw/share/zsh/5.9/functions/_pkginfo deleted file mode 100644 index eca9e057..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkginfo +++ /dev/null @@ -1,18 +0,0 @@ -#compdef pkginfo - -_arguments -s \ - '(-q -r -x)-l[long listing]' \ - '(-l -r -x)-q[quiet mode]' \ - '(-l -q -x)-r[relocation base]' \ - '(-l -q -r)-x[extracted listing]' \ - '-c[category]:category' \ - '-a[architecture]:architecture' \ - '-v[version]:version' \ - - set1 \ - '(-p)-i[select completely installed packages]' \ - '(-i)-p[select partially installed packages]' \ - '-R[root path]:root path:_files -/' \ - '*:package instance:_pkg_instance --_opts installed:set1--R' \ - - set2 \ - '-d[device]:device file:_files' \ - '*:package instance:_pkg_instance --_opts uninstalled:set2--d' diff --git a/result/sw/share/zsh/5.9/functions/_pkgrm b/result/sw/share/zsh/5.9/functions/_pkgrm deleted file mode 100644 index 1191a2d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkgrm +++ /dev/null @@ -1,16 +0,0 @@ -#compdef pkgrm - -_arguments -s \ - '-Y[select packages by category]:category' \ - - set1 \ - '-n[non-interactive mode]' \ - '-v[trace all scripts]' \ - '-a[admin file]:admin file:_files' \ - "-A[force removal of all files]" \ - "-M[don't use vfstab file]" \ - '-R[root path]:root path:_files -/' \ - '-V[alternate vfstab file]:vfstab file:_files' \ - '*:package instance:_pkg_instance --_opts installed:set1--R' \ - - set2 \ - '-s[spool package]:spool directory:_files -/' \ - '*:package instance:_pkg_instance --_opts spooled:set2--s' diff --git a/result/sw/share/zsh/5.9/functions/_pkgtool b/result/sw/share/zsh/5.9/functions/_pkgtool deleted file mode 100644 index cb14099b..00000000 --- a/result/sw/share/zsh/5.9/functions/_pkgtool +++ /dev/null @@ -1,55 +0,0 @@ -#compdef installpkg upgradepkg removepkg pkgtool explodepkg makepkg - -local expl - -case "$service" in - installpkg) - _arguments \ - '-warn[warn if files would be overwritten, but do not install]' \ - '-root=[specify alternate install location]:root directory:_path_files -/' \ - '-infobox[use dialog to draw an info box]' \ - '-menu[confirm package installation with a menu]' \ - "-ask[always ask on package installation regardless of package's priority]" \ - '-priority[provide a priority for the entire package list to use]:priority list:(ADD REC OPT SKP)' \ - '-tagfile[specify a different file to use for package priorities]:tagfile:_files -/' \ - '*:package file:_files -g "*.t[gblx]z(-.)"' - ;; - - removepkg) - _arguments \ - '-warn[list which files & directories would be removed, skip actual removal]' \ - '-preserve[reconstruct complete package subtree in /tmp/preserved_packages]' \ - '-copy[construct a copy of the package in /tmp/preserved_packages]' \ - '-keep[save the intermediate files created]' \ - '*:package:_files -W /var/log/packages/ -/' - ;; - - upgradepkg) - _arguments \ - '--install-new[install new packages in addition to upgrading existing ones]' \ - '--reinstall[upgrade even when the same version is already installed]' \ - '--verbose[show all the gory details of the upgrade]' \ - '*:package file:_files -g "*.t[gblx]z(-.)"' - ;; - - explodepkg) - _wanted file expl 'package file' _files -g '*.t[gblx]z(-.)' - ;; - - makepkg) - _arguments -s \ - '(--linkadd -l)'{--linkadd,-l}'[move symlinks into doinst.sh]:answer:(y n)' \ - '(--chown -c)'{--chown,-c}'[reset all permissions to root:root 755]:answer:(y n)' - ;; - - pkgtool) - _arguments \ - "-sets[install the disk sets A, B, C]" \ - "(-source_device)-source_mounted[don't attempt to unmount and remount source device with each disk]" \ - '-ignore_tagfile[install every package encountered regardless of tagfiles]' \ - '-tagfile[specify tagfile to be used for the installation]:tagfile:_files -/' \ - '-source_dir[specify directory containing each disk subdirectory]:source directory:_path_files -/' \ - '-target_dir[specify directory where the target root directory is located]:target directory:_path_files -/' \ - '(-source_mounted)-source_device[specify source device to install from]:source device:{compadd "$expl[@]" /dev/*}' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_plutil b/result/sw/share/zsh/5.9/functions/_plutil deleted file mode 100644 index 8138a5c5..00000000 --- a/result/sw/share/zsh/5.9/functions/_plutil +++ /dev/null @@ -1,53 +0,0 @@ -#compdef plutil - -local ret=1 k v -local -a context line state state_descr tmp fmts=( xml1 binary1 json ) -local -A opt_args val_args types=( - -bool 'boolean' - -data 'base64-encoded data' - -date 'date (XML property-list format)' - -float '64-bit float' - -integer '64-bit integer' - -json 'JSON fragment' - -xml 'XML property list' -) - -_arguments -s -S : \ - '(: -)-help[display help information]' \ - '(-p -r)-s[suppress normal output]' \ - '*:input file:_files' \ - - set1 \ - '-lint[check input for syntax errors]' \ - - set2 \ - "(-extract -insert -replace -remove)-convert[convert to specified format]:output format:(${(j< >)fmts})" \ - "(-convert -insert -replace -remove)-extract[extract value at specified key path from property list]: :->k:output format:(${(j< >)fmts})" \ - '(-convert -extract -replace -remove)-insert[insert value at specified key path into property list]: :->k: :->t: :->v' \ - '(-convert -extract -insert -remove)-replace[replace value at specified key path in property list]: :->k: :->t: :->v' \ - '(-convert -extract -insert -replace)-remove[remove value at specified key path from property list]: :->k' \ - '(-o -extract -insert -replace -remove)-e[specify output file extension]:output file extension' \ - '(-e -extract -insert -replace -remove)-o[specify output file]:output file:_files' \ - '(-r -s)-p[pretty-print property list]' \ - '(-p -s)-r[pretty-print JSON]' \ -&& ret=0 - -case $state in - k) _message 'key path' && ret=0 ;; - t) - tmp=() - for k v in ${(kv)types}; do - tmp+=( "${k}[${v}]" ) - done - _values 'value type' $tmp && ret=0 - ;; - v) - if [[ $words[(CURRENT - 1)] == -bool ]]; then - _values $types[-bool] YES NO true false && ret=0 - elif (( $+types[$words[(CURRENT - 1)]] )); then - _message $types[$words[(CURRENT - 1)]] && ret=0 - else - _message value && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pmap b/result/sw/share/zsh/5.9/functions/_pmap deleted file mode 100644 index ba332153..00000000 --- a/result/sw/share/zsh/5.9/functions/_pmap +++ /dev/null @@ -1,20 +0,0 @@ -#compdef pmap -# based on procps-ng-3.3.15 - -_arguments -s \ - '(exit -A --range)'{-A+,--range}'[limit results to the specified address range]:low,high: ' \ - '(exit -q --quiet)'{-q,--quiet}'[do not display some header or footer lines]' \ - '(exit -p --show-path)'{-p,--show-path}'[show full path to files in the mapping column]' \ - '(exit)*: :_pids' \ - + '(format)' \ - '(exit)'{-d,--device}'[show the device format]' \ - '(exit)'{-x,--extended}'[show the extended format]' \ - '(exit)-X[show even more details than -x option]' \ - '(exit)-XX[show everything the kernel provides]' \ - '(exit)'{-c,--read-rc}'[read the default configuration]' \ - '(exit)'{-C+,--read-rc-from=}'[read the configuration from the specified file]: :_files' \ - + '(exit)' \ - '(- *)'{-n,--create-rc}'[create new default configuration and exit]' \ - '(- *)'{-N+,--create-rc-to=}'[create new configuration to the specified file and exit]: :_files' \ - '(- *)'{-h,--help}'[display help text and exit]' \ - '(- *)'{-V,--version}'[display version information and exit]' diff --git a/result/sw/share/zsh/5.9/functions/_pon b/result/sw/share/zsh/5.9/functions/_pon deleted file mode 100644 index ee19946c..00000000 --- a/result/sw/share/zsh/5.9/functions/_pon +++ /dev/null @@ -1,23 +0,0 @@ -#compdef pon poff - -case "$service" in - (pon) - -_arguments \ - '(-q --quick)'{-q,--quick}'[hangs up after all ip-up scripts are run]' \ - '1:provider to call:_files -W /etc/ppp/peers' - - ;; - - (poff) -_arguments \ - '-r[drop the line and redial]' \ - '-d[toggle state of debug option]' \ - '-c[renegotiate compression]' \ - '-a[stop all pppds]' \ - '-h[help]' \ - '-v[version]' \ - '1:provider to disconnect:_files -W /etc/ppp/peers' - - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_portaudit b/result/sw/share/zsh/5.9/functions/_portaudit deleted file mode 100644 index 788248d7..00000000 --- a/result/sw/share/zsh/5.9/functions/_portaudit +++ /dev/null @@ -1,14 +0,0 @@ -#compdef portaudit - -_arguments -s \ - '-a[vulnerability report for all installed packages]' \ - '-C[vulnerability report for the port in the current working directory]' \ - '-d[print creation date of the database]' \ - '-F[fetch the current database]' \ - '-q[quiet mode]' \ - '-V[show portaudit version number]' \ - '-v[verbose mode]' \ - '-X[download a fresh database from least days old]:days:' \ - '-f[check the packages listed in file]:file:_files' \ - '-r[restrict listed vulnerabilities with eregex pattern]:eregex:' \ - ':pkg-name:' diff --git a/result/sw/share/zsh/5.9/functions/_portlint b/result/sw/share/zsh/5.9/functions/_portlint deleted file mode 100644 index 4cbeb20c..00000000 --- a/result/sw/share/zsh/5.9/functions/_portlint +++ /dev/null @@ -1,17 +0,0 @@ -#compdef portlint - -_arguments -s \ - '-a[additional check for scripts/* and pkg-*]' \ - '-A[turn on all additional checks (equivalent to -abcNt)]' \ - '-b[warn $(VARIABLE)]' \ - '-c[committer mode]' \ - '-C[pedantic committer mode (equivalent to -abct)]' \ - '-g[group errors together to avoid duplication (disabled if -v is specified)]' \ - '-h[show summary of command line options]' \ - '-v[verbose mode]' \ - '-t[nit pick about use of spaces]' \ - '-N[writing a new port]' \ - '-V[print the version and exit]' \ - '-M[set make variables to ENV (ex. PORTSDIR=/usr/ports.work)]: :_guard ".#" "environment vars"' \ - '-B[allow # contiguous blank lines]: :_guard "[0-9]#" "numeric value"' \ - ':port directory:_files -/' diff --git a/result/sw/share/zsh/5.9/functions/_portmaster b/result/sw/share/zsh/5.9/functions/_portmaster deleted file mode 100644 index ee6fefc6..00000000 --- a/result/sw/share/zsh/5.9/functions/_portmaster +++ /dev/null @@ -1,112 +0,0 @@ -#compdef portmaster - -_portmaster_pkgs() { - compadd "$@" - ${PKG_DBDIR:-/var/db/pkg}/*(/:t) -} - -_portmaster_ports() { - local expl ret=1 _fbsd_ports _fbsd_cat - _fbsd_cat=(${PORTSDIR:-/usr/ports}/[a-z]*(/:t)) - if [[ $PREFIX != */* ]] ; then - _wanted cat_packages expl 'category/port' compadd -S '/' $_fbsd_cat - else - compset -P '*/' - _fbsd_ports=(${PORTSDIR:-/usr/ports}/$IPREFIX/*(/:t)) - _wanted cat_packages expl 'category/port' compadd $_fbsd_ports - fi - return ret -} - -_portmaster_pkgs_and_ports() { - local ret=1 - _portmaster_pkgs && ret=0 - _portmaster_ports && ret=0 - - return ret -} - -_portmaster() { - local specific_args common_args expunge_args standalone_args kid - standalone_args=( - '--clean-distfiles[delete distfiles not associated with an installed ports: interactive]' - '--clean-distfiles-all[delete distfiles not associated with an installed ports]' - '--check-depends[cross-check and update dependency information for all ports]' - '--check-port-dbdir[check for stale entries in /var/db/ports]' - '--list-origins[list directories from /usr/ports for root and leaf ports]' - '-l[list all installed ports by category]' - '-L[list all installed ports by category, and search for updates]' - {'(-help)-h','(-h)--help'}'[display help message]:' - '--version[display the version only]:' - ) - specific_args=( - '(-s -r -o)-e[expunge port using pkg_delete, and remove all distfiles]:name of port:_portmaster_pkgs' - '(-e -r -o)-s[clean out stale ports that used to be depended on]' - '(-e -s -o)-r[rebuild the specified port, and all ports that depend on it]:name/glob of port:_portmaster_pkgs' - '(-e -s -r)-o[replace the installed port with a port from a different origin]:new port dir:_portmaster_ports' - ) - expunge_args=( - '(-b)-B[prevents creation of the backup package for the installed port]' - '(-d)-D[no cleaning of distfiles]' - '(-D)-d[always clean distfiles]' - ) - common_args=( - "(-G)--force-config[run 'make config' for all ports]" - "-C[prevents 'make clean' from being run before building]" - '-H[hide details of the port build and install in a log file]' - "-K[prevents 'make clean' from being run after building]" - '(-B)-b[create and keep a backup package of an installed port]' - '-g[create a package of the new port]' - '-n[run through configure, but do not make or install any ports]' - '-t[recurse dependencies thoroughly, using all-depends-list]' - '-v[verbose output]' - '-w[save old shared libraries before deinstall]' - '-u[unattended mode]' - '(-i)-f[always rebuild ports]' - '(-f)-i[interactive update mode]' - '-m[any arguments to supply to make]:arguments for make:' - '-x[avoid building or updating ports that match this pattern]:glob pattern to exclude from building:' - '-p[specify the full path to a port directory]:a port directory:' - '--show-work[show what dependent ports are, and are not installed]' - '-R[restart an update, skipping ports already up to date]' - '-a[check all ports, update as necessary]' - '-F[fetch distfiles only]' - $expunge_args - $specific_args - ) - if (( CURRENT == 2 ));then - _arguments -s \ - $standalone_args \ - $common_args \ - '*:package or port:_portmaster_pkgs_and_ports' - else - case "$words[2]" in - --clean-distfiles|--clean-distfiles-all|--check-depends|--check-port-dbdir|--version|-help|-h) - return 0 - ;; - *) - if (( $words[(I)-(e|r)] ));then - _arguments -s \ - '*:package:_portmaster_pkgs' - elif (( kid=$words[(I)-o] ));then - if (( CURRENT == $kid + 1 ));then - _arguments -s \ - '*:replacement port:_portmaster_ports' - elif (( CURRENT == $kid + 2 )); then - _arguments -s \ - '*:package to replace:_portmaster_pkgs' - else - return 0 - fi - elif (( $words[(I)-s] ));then - return 0 - else - _arguments -s \ - $common_args \ - '*:package or port:_portmaster_pkgs_and_ports' - fi - ;; - esac - fi - } - - _portmaster "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ports b/result/sw/share/zsh/5.9/functions/_ports deleted file mode 100644 index 8c8da531..00000000 --- a/result/sw/share/zsh/5.9/functions/_ports +++ /dev/null @@ -1,12 +0,0 @@ -#autoload - -local expl ports - -if ! zstyle -a ":completion:${curcontext}:" ports ports; then - (( $+_cache_ports )) || - : ${(A)_cache_ports:=${${(M)${${(f)"$(</etc/services)"}:#\#*}#*/tcp}%%[ ]*}} - - ports=( "$_cache_ports[@]" ) -fi - -_wanted ports expl port compadd -a "$@" - ports diff --git a/result/sw/share/zsh/5.9/functions/_portsnap b/result/sw/share/zsh/5.9/functions/_portsnap deleted file mode 100644 index b8e1c255..00000000 --- a/result/sw/share/zsh/5.9/functions/_portsnap +++ /dev/null @@ -1,29 +0,0 @@ -#compdef portsnap - -local curcontext="$curcontext" state line flags -typeset -A opt_args - -flags=( - '(cron)fetch[fetch a compressed snapshot or update existing one]' - '(fetch)cron[sleep rand(3600) seconds, and then fetch updates]' - '(update)extract[extract snapshot, replacing existing files and dirs]' - '(extract)update[update ports tree to match current snapshot]' -) - -_arguments -C -s \ - '-d[store working files in workdir]:workdir:_files -/' \ - '-f[read configuration options from conffile]:conf file:_files' \ - '-I[update INDEX only. (update command only)]' \ - '-k[trust an RSA key with SHA256 hash of KEY]:RSA key:_files' \ - '-l[merge the specified local describes file into the INDEX]:file:_files' \ - '-p[location of uncompressed ports tree]:uncompressed ports tree:_files -/' \ - '-s[server from which to fetch updates]:server:_hosts' \ - '*:principal:->principal' && ret=0 - -if [[ $state == principal ]]; then - _alternative \ - ':file flag:_values -S " " -w "commands" $flags[@]' \ - '*:path:_files -/' -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_postfix b/result/sw/share/zsh/5.9/functions/_postfix deleted file mode 100644 index 006c950e..00000000 --- a/result/sw/share/zsh/5.9/functions/_postfix +++ /dev/null @@ -1,163 +0,0 @@ -#compdef postconf postqueue postsuper - -# Last updated from postfix 3.1.0. - -local context state state_descr line -typeset -A opt_args -integer NORMARG - -_postfix_queue_id() { - local -a lines=( ${(f)"$(_call_program mailq 'mailq')"} ) - - # $enable_long_queue_ids = no - compadd "$@" -- ${${(M)lines:#(#s)([0-9A-F]##([*!]|) )*}/(#s)(#b)([0-9A-F]##)*/$match[1]} - - # $enable_long_queue_ids = yes - compadd "$@" -- ${${${(M)lines:#(#s)[0-9bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ](#c10)z*}%% *}%[*!]} -} - -# The first argument must be either 'd' or 'n', to complete parameters in -# `postconf -d -H` or `postconf -n -H` output, respectively. -_postfix_main_cf_parameter() { - local -a expl - local kind - - kind=$1; shift - case $kind in - (d) - # Note for the future: if $mail_version >= 3.1, we can pass -H instead of - # stripping the = signs by hand. - # - # don't bother to add -c in this case: the defaults don't depend on the config dir. - _wanted parameters expl 'main.cf parameter' compadd "$@" -- \ - ${${(f)"$(_call_program postconf_-d "${words[1]} -$kind")"}%% =*} - ;; - (n) - # Show the values too. - local -a kv=( ${${(f)"$(_call_program postconf_-n "${words[1]} ${opt_args[-c]+"-c ${opt_args[-c]}"} -$kind")"}/ = /:} ) - _describe -t parameters 'main.cf parameter' kv - ;; - (*) - return 1 # can't happen due to the guard above - ;; - esac -} - -_postfix_main_cf_parameter_and_value() { - # Note: be careful not to accidentally run 'postconf foo=bar' here. - # - # The '-P 1' syntax chooses the shortest match. If the '1' were removed, - # completing «postconf foo=bar=<TAB>» would change main.cf. So, don't remove - # it. - if compset -P 1 '*='; then - local value="`_call_program postconf-get-value-at-dir "${words[1]} ${opt_args[-c]+"-c ${opt_args[-c]}"} -h -- ${(q)IPREFIX%=}"`" - [[ -n $value ]] && compadd "$@" -- $value - else - _postfix_main_cf_parameter d -S= - fi -} - -case $service in - (postsuper) - _arguments -C -s : \ - '-p[purge old tempfiles]' \ - '-s[structure check and repair]' \ - '*-v[verbose]' \ - '-c[configdir]:config dir:_files -/' \ - '-d[delete]:queue id:_postfix_queue_id' \ - '-h[hold]:queue id:_postfix_queue_id' \ - '-H[release]:queue id:_postfix_queue_id' \ - '*-r[requeue]:queue id, or "ALL":_postfix_queue_id' \ - '1:queue:(hold incoming active deferred)' - ;; - (postqueue) - _arguments -C -s : \ - '*-v[enable verbose logging]' \ - '-c[configdir]:config dir:_files -/' \ - '(-f -i -j -p -s)-f[flush the queue]' \ - '(-f -i -j -p -s)-i[immediately deliver one message]:queue id:_postfix_queue_id' \ - '(-f -i -j -p -s)-j[print the queue in json]' \ - '(-f -i -j -p -s)-p[print the queue in traditional format]' \ - '(-f -i -j -p -s)-s[immediately deliver messages to specified site]:site:_hosts' - ;; - (postconf) - local -a file_ops=(-b -t -a -A -l -m -T) - local -a modes=(-F -M -P $file_ops -p) - local -a only_for_p=(-C -d -h -n) - local -a only_for_asterisk_dot_cf=(-e -f -o -x) - local -a args=( - # global - '-c[configdir]:config dir:_files -/' \ - '*-v[enable verbose logging]' - - # mode selection - "($modes $only_for_p -X -#)"'-F[operate on master.cf entry fields]' - "($modes $only_for_p -H )"'-M[operate on master.cf services entries]' - "($modes $only_for_p -#)"'-P[operate on master.cf parameter settings]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-b[display DSN text, expanded]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-t[display DSN text, unexpanded]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-a[list available SASL server plug-ins]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-A[list available SASL client plug-ins]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-l[list supported mailbox locking methods]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-m[list supported lookup table types]' - "($modes )"'-p[(default) print main.cf settings]' - "($modes $only_for_p $only_for_asterisk_dot_cf -H -X -#)"'-T[print TLS information]:mode:(( - compile-version\:"OpenSSL compile-time version" - run-version\:"OpenSSL run-time version" - public-key-algorithms\:"supported public-key algorithms" - ))' - - # other options; comments indicate modes: - # -p only - '-C[display parameters from the specified class]:parameter class:(builtin service user all)' - '-d[print default values]' - '-h[print value only]' - '-n[show parameters changed in main.cf]' - - # all except $file_ops: - '-e[change parameter values]' - '-f[fold long output lines]' - '-o[set parameter value for this operation]: :_postfix_main_cf_parameter_and_value' - '-x[expand '\''$name'\'' in parameter values]' - - # -p -F -P only - '-H[show parameter name only]' - # -p -M -P only - '-X[remove parameters from main.cf/master.cf]' - # -p -M only - '-#[comment out parameters in main.cf/master.cf]' - - # $state - '*: :->positional' - ) - _arguments -C -s -S -n : "$args[@]" - - case $state in - (positional) - # Simulate the default - if [[ -z $opt_args[(i)${(j.|.)modes}] ]]; then - opt_args[-p]="" - fi - if [[ -n $opt_args[(i)(-b|-t)] ]]; then - local expl - if (( CURRENT == NORMARG )); then - _wanted files expl 'template file, or "" for default' _files - else - _nothing - fi - elif [[ -n $opt_args[(i)${(j.|.)file_ops}] ]]; then - _nothing - elif (( $+opt_args[-p] )); then - if (( $+opt_args[-e] )); then - _postfix_main_cf_parameter_and_value - elif [[ -n $opt_args[(i)(-X|-[#])] ]]; then - _postfix_main_cf_parameter n - else - _postfix_main_cf_parameter d - fi - else # one of the master.cf modes: -M -F -P - _message "arguments for $opt_args[(i)${(j.|.)modes}] mode" - fi - esac - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_postgresql b/result/sw/share/zsh/5.9/functions/_postgresql deleted file mode 100644 index 595eb1cb..00000000 --- a/result/sw/share/zsh/5.9/functions/_postgresql +++ /dev/null @@ -1,1148 +0,0 @@ -#compdef clusterdb createdb createuser dropdb dropuser initdb pg_config pg_ctl pg_dump pg_dumpall pg_isready pg_restore pg_upgrade postgres postmaster psql reindexdb vacuumdb - -# Notes: -# - @todo We don't complete postgres:// URIs or conninfo strings, and we don't -# account for postgres:// URIs when calling psql -# - @todo We don't handle a few less-used tools like ecpg and pgbench -# - @todo We don't handle Debian's wrapper tools (pg_ctlcluster, &al.) - -# Construct conninfo string for use with completion helper functions -# -# -o <param> => include only specified parameters -# -O <param> => exclude specified parameters -# $1 => scalar parameter to store result in (conninfo by default) -# -# Explanation: -# -# Postgres supports a dizzying number of ways to specify connection parameters; -# in roughly ascending order of precedence, they are (where applicable): -# -# - PG* environment variables -# - Database name as first operand -# - User name as second operand -# - Options -d/-h/-p/-U -# - Conninfo string as first operand -# - URI as first operand -- authority/path component -# - URI as first operand -- query component -# -# The following command demonstrates four ways to pass the user name: -# -# PGUSER=foo1 psql 'postgres://foo2@localhost/mydb?user=foo3' -U foo4 -# -# In this case, per the above, the query component of the URI wins, and foo3 -# gets used. -# -# Many connection parameters can only be supplied via conninfo string, URI, or -# environment variable. Thus, in order for our helper functions to accurately -# obtain completion possibilities, it's preferable to normalise the various -# methods of supplying parameters. Since conninfo strings are easiest to -# construct, we'll use those. -# -# See also: -# -# - https://www.postgresql.org/docs/current/static/libpq-envars.html -# - https://www.postgresql.org/docs/current/static/libpq-connect.html -# - https://github.com/postgres/postgres/blob/master/src/bin/psql/startup.c -(( $+functions[__pgsql_get_conninfo] )) || -__pgsql_get_conninfo() { - local i_ - local -a conninfo_ - local -aU incl_ excl_ - - zparseopts -D -E -- o+:-=incl_ O+:-=excl_ - - (( $#incl_ )) && - incl_=( ${(@s<,>)${(@)${(@)incl_#-o}//[[:punct:][:space:]]/,}} ) - (( $#excl_ )) && - excl_=( ${(@s<,>)${(@)${(@)excl_#-O}//[[:punct:][:space:]]/,}} ) - - # Parameters supplied via options. We must quote parameter values for conninfo - # strings like foo='bar\'baz'. Should we also handle -l/--maintenance-db here? - [[ -n ${opt_args[(i)c-(-d|--dbname)]} ]] && - conninfo_+=( dbname="'${(Q)${(v)opt_args[(i)c-(-d|--dbname)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-h|--host)]} ]] && - conninfo_+=( host="${(Q)${(v)opt_args[(i)c-(-h|--host)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-p|--port)]} ]] && - conninfo_+=( port="'${(Q)${(v)opt_args[(i)c-(-p|--port)]}//\'/\\\'}'" ) - [[ -n ${opt_args[(i)c-(-U|--user)]} ]] && - conninfo_+=( user="'${(Q)${(v)opt_args[(i)c-(-U|--user)]}//\'/\\\'}'" ) - - # Parameters supplied via operands -- since these have such a high precedence - # they can't do much for completing the above options, but they're still - # useful for the helper functions - case ${(Q)line[1]} in - # First operand is URI - postgres(ql|)://*) - # @todo To parse this properly we need to handle percent-encoding; it - # might be nice to have a utility function for that some day - ;; - # First operand is conninfo string. The user should have already properly - # quoted any parameter values here, so we don't need to re-quote - *'='*) - conninfo_+=( ${(z)${(Q)line[1]}} ) - # Normalise parameter pairs (note that empty values must be quoted) - for (( i_ = 1; i_ < $#conninfo_; i_++ )); do - # Parameter pair already one word (`param=value`) - if [[ $conninfo_[i_] == *?'='?* ]]; then - continue - # Parameter pair in three words (`param = value`) - elif [[ $conninfo_[(i_+1)] == '=' ]]; then - conninfo_[i_]+="=${conninfo_[(i_+2)]}" - conninfo_[(i_+1)]= - conninfo_[(i_+2)]= - (( i_ += 2 )) - # Parameter pair in two words (`param= value` or `param =value`) - else - conninfo_[i_]+=${conninfo_[(i_+1)]} - conninfo_[(i_+1)]= - (( i_ += 1 )) - fi - done - conninfo_=( $conninfo_ ) - ;; - # First and second operands may be database/user - *) - (( $+line[1] )) && conninfo_+=( dbname="'${(Q)line[1]//\'/\\\'}'" ) - (( $+line[2] )) && conninfo_+=( user="'${(Q)line[2]//\'/\\\'}'" ) - ;; - esac - - (( $#conninfo_ && $#incl_ )) && - conninfo_=( ${(M@)conninfo_:#(${(~j<|>)incl_})=*} ) - (( $#conninfo_ && $#excl_ )) && - conninfo_=( ${(@)conninfo_:#(${(~j<|>)excl_})=*} ) - - : ${(P)${1:-conninfo}::=${(j< >)conninfo_}} - return $(( $#conninfo_ ? 0 : 1 )) -} - -# Call psql and return results -# -f => keep empty lines -# $1 => array parameter to store results in -# $2 => _call_program tag -# $3 => preferred conninfo string (use '' if none) -# $4 ... => arguments to psql (usually -c ...); automatically quoted for eval -__pgsql_call_psql() { - local c_ f_ psql_=psql - local -a tmp_ - - [[ $1 == -f ]] && { - f_=1 - shift - } - - (( $# >= 4 )) || { - print -ru2 "$0: bad argument count" - return 1 - } - - # Use the psql from the command line if we can - [[ $service == psql ]] && psql_=$words[1] - - # Make a few attempts with common settings in case the first fails. Maybe this - # behaviour could be controlled by a user style - for c_ in $3{,' dbname=template1',' dbname=template1 user=postgres'}; do - c_+=' connect_timeout=4' - tmp_=( "${(@f)"$( - _call_program $2 $psql_ -qtAX ${(q)c_} ${(@q)@[4,-1]} - )"}" ) - (( f_ )) || tmp_=( $tmp_ ) - (( $#tmp_ )) && break - done - - : ${(PA)1::="${(@)tmp_}"} - return $(( $#tmp ? 0 : 1 )) -} - -# Complete PostgreSQL authentication methods -(( $+functions[__pgsql_auth_methods] )) || -__pgsql_auth_methods() { - # See https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html - local -a tmp=( - 'trust:allow unconditionally' - 'reject:reject unconditionally' - 'scram-sha-256:authenticate via SCRAM-SHA-256 challenge-response' - 'md5:authenticate via MD5 or SCRAM-SHA-256 challenge-response' - 'password:authenticate via clear-text password' - 'gss:authenticate via GSSAPI (TCP/IP only)' - 'sspi:authenticate via SSPI (Windows only)' - 'ident:authenticate via ident user name (TCP/IP only; local peer fall-back)' - 'peer:authenticate via local OS user name (local only)' - 'ldap:authenticate via LDAP' - 'radius:authenticate via RADIUS' - 'cert:authenticate via SSL client certificate' - 'pam:authenticate via PAM' - 'bsd:authenticate via BSD Authentication' - ) - _describe -t auth-methods 'PostgreSQL authentication method' tmp "$@" -} - -# Complete PostgreSQL run-time configuration parameters -(( $+functions[__pgsql_cfg_params] )) || -__pgsql_cfg_params() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp parameters "$conninfo" -c ' - SELECT name - FROM pg_catalog.pg_settings; - ' - - _wanted -x parameters expl 'PostgreSQL run-time configuration parameter' \ - compadd -a "$@" - tmp -} - -# Complete PostgreSQL run-time configuration parameters (name=value format) -(( $+functions[__pgsql_cfg_params_values] )) || -__pgsql_cfg_params_values() { - if compset -P '*='; then - _message -e values 'PostgreSQL run-time configuration-parameter value' - else - compset -S '=*' - __pgsql_cfg_params "$@" -qS= - fi -} - -# Complete PostgreSQL character encodings -(( $+functions[__pgsql_encodings] )) || -__pgsql_encodings() { - # These rarely change, and they're most needed when creating a new database, - # so trying to pull them from an existing one doesn't seem that helpful; see - # https://www.postgresql.org/docs/current/static/multibyte.html#CHARSET-TABLE - local -a expl tmp=( - BIG5 {WIN,Windows}950 - EUC_{CN,JP,JIS_2004,KR,TW} - GB18030 - GBK {WIN,Windows}936 - ISO_8859_{5..8} - JOHAB - KOI8{,R,U} - LATIN{1..10} ISO8859{{1..4},9,10,{13..16}} - MULE_INTERNAL - SJIS Mskanji ShiftJIS {WIN,Windows}932 - SHIFT_JIS_2004 - SQL_ASCII - UHC {WIN,Windows}949 - UTF8 Unicode - WIN{866,874,{1250..1258}} ALT WIN ABC TCVN{,5712} VSCII - ) - _wanted encodings expl 'PostgreSQL character encoding' compadd -a "$@" - tmp -} - -# Complete PostgreSQL server hosts -# -/ => exclude TCP/IP hosts (include directories only) -# -a => include UNIX-domain socket directories -(( $+functions[__pgsql_hosts] )) || -__pgsql_hosts() { - local -a copts tmp alts - local -A opts - - # We want the compadd options from _sequence, but -J screws with grouping - zparseopts -A opts -D -E -- / a J: - copts=( "$@" ) - - (( $+opts[-/] )) || { - tmp=( ${(s<,>)PGHOST} $${(s<,>)PGHOSTADDR} ) - (( $#tmp )) && alts+=( - "hosts:PostgreSQL server host:(${(j< >)${(@uq-)tmp}})" - ) - alts=( 'hosts:PostgreSQL server host:_hosts' ) - } - (( $+opts[-/] || $+opts[-a] )) && alts+=( - 'directories:PostgreSQL UNIX-domain socket directory:_directories' - ) - - _alternative -O copts $alts -} - -# Complete sequence of PostgreSQL host addresses and directories -(( $+functions[__pgsql_hosts_seq] )) || -__pgsql_hosts_seq() { - local -a opts - zparseopts -a opts -D -E -- / a - _sequence "$@" -s , __pgsql_hosts "${(@)opts}" -} - -# Complete PostgreSQL server port numbers -(( $+functions[__pgsql_ports] )) || -__pgsql_ports() { - local -a tmp=( - $PGPORT $PGPORTOLD $PGPORTNEW - 5432 # Customary - /tmp/.s.PGSQL.<->(#qN:e) # Customary - /var/run/postgresql/.s.PGSQL.<->(#qN:e) # Debian/Ubuntu - /var/pgsql_socket/.s.PGSQL.<->(#qN:e) # Weird macOS systems - /var/lib/pgsql/.s.PGSQL.<->(#qN:e) # Weird Linux systems - /var/lib/postgresql/.s.PGSQL.<->(#qN:e) # Weird Linux systems - ) - tmp=( ${(onu)tmp} ) - _wanted -2V ports expl 'PostgreSQL server port' compadd -a "$@" - tmp -} - -# Complete PostgreSQL special variables. This is brittle and over-engineered, -# but it suits the purpose for now -# --pset => complete \pset options -# --set => complete \set options (default) -(( $+functions[__pgsql_variables] )) || -__pgsql_variables() { - local which tmp2 - local -a expl tmp - local -A opts - - zparseopts -A opts -D -E -- -pset -set - - if (( $+opts[--pset] )); then - which=--pset - else - which=--set - fi - - __pgsql_call_psql -f tmp help-variables '' --help=variables - tmp+=( '' ) - - # `psql --help=variables` produces three sections like this: - # psql variables: - # Usage: - # psql --set=NAME=VALUE - # or \set NAME VALUE inside psql - # - # AUTOCOMMIT ... - # Here, we strip up to the --set= line, then remove the next few lines so they - # don't confuse us - tmp2=${${(F)tmp}#*[[:space:]]${which}=*$'\n'} - [[ $tmp2 == [[:space:]]#or\ * ]] && tmp2=${tmp2#*$'\n'} - [[ $tmp2 == [[:space:]]#$'\n'* ]] && tmp2=${tmp2#*$'\n'} - # Now we strip any following sections - tmp2=${tmp2%%$'\n\n'*} - # Now we extract the variable names - tmp=( ${(f)tmp2} ) - tmp=( ${(M)tmp:#\ \ [^[:space:]]##((#e)|[[:space:]]*)} ) - tmp=( ${(@)tmp#\ \ } ) - tmp=( ${(@)tmp%%[[:space:]]*} ) - - _wanted -x variables expl 'PostgreSQL special variable' \ - compadd -a "$@" - tmp -} - -# Complete PostgreSQL special variables (name=value format) -(( $+functions[__pgsql_variables_values] )) || -__pgsql_cfg_variables_values() { - if compset -P '*='; then - _message -e values 'PostgreSQL special-variable value' - else - compset -S '=*' - __pgsql_variables "$@" -qS= - fi -} - -# Complete PostgreSQL databases -(( $+functions[__pgsql_databases] )) || -__pgsql_databases() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo -O dbname - __pgsql_call_psql tmp databases "$conninfo" -c ' - SELECT datname - FROM pg_catalog.pg_database; - ' - # We can probably just assume that template0/1 will always exist; it's useful - # for database creation, anyway - tmp+=( $PGDATABASE template0 template1 ) - - _wanted databases expl 'PostgreSQL database' compadd -a "$@" - tmp -} - -# Complete PostgreSQL indexes -(( $+functions[__pgsql_indexes] )) || -__pgsql_indexes() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp indexes "$conninfo" -c ' - SELECT indexname - FROM pg_catalog.pg_indexes; - ' - - _wanted -x indexes expl 'PostgreSQL index' compadd -a "$@" - tmp -} - -# Complete PostgreSQL roles/users -# -a => include non-user (NOLOGIN) roles -(( $+functions[__pgsql_roles] )) || -__pgsql_roles() { - local conninfo which=role where - local -a expl tmp - local -A opts - - zparseopts -A opts -D -E -- a - (( $+opts[-a] )) || { - which=user - where='WHERE rolcanlogin = true' - } - - __pgsql_get_conninfo -O user - __pgsql_call_psql tmp users "$conninfo" -c " - SELECT rolname - FROM pg_catalog.pg_roles - $where; - " - tmp+=( $PGUSER ) - - _wanted -x users expl "PostgreSQL $which" compadd -a "$@" - tmp -} - -# Complete PostgreSQL schemas -(( $+functions[__pgsql_schemas] )) || -__pgsql_schemas() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp schemas "$conninfo" -c " - SELECT nspname - FROM pg_catalog.pg_namespace - WHERE nspname NOT LIKE 'pg_%' - AND nspname != 'information_schema'; - " - # Again, safe to assume this exists - tmp+=( public ) - - _wanted schemas expl 'PostgreSQL schema' compadd -a "$@" - tmp -} - -# Complete PostgreSQL tables -(( $+functions[__pgsql_tables] )) || -__pgsql_tables() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp tables "$conninfo" -c " - SELECT n.nspname || '.' || c.relname - FROM pg_catalog.pg_class AS c - LEFT JOIN pg_catalog.pg_namespace AS n - ON n.oid = c.relnamespace - WHERE c.relkind in ('r', '') - AND n.nspname != 'pg_catalog' - AND n.nspname != 'information_schema' - AND n.nspname NOT LIKE 'pg_toast%' - AND pg_catalog.pg_table_is_visible(c.oid); - " - - _wanted -x tables expl 'PostgreSQL table' compadd -a "$@" - tmp -} - -# Complete PostgreSQL tablespaces -(( $+functions[__pgsql_tablespaces] )) || -__pgsql_tablespaces() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp tablespaces "$conninfo" -c ' - SELECT spcname - FROM pg_catalog.pg_tablespace; - ' - # Again, safe to assume these exist - tmp+=( pg_default pg_global ) - - _wanted tablespaces expl 'PostgreSQL tablespace' compadd -a "$@" - tmp -} - -# Complete PostgreSQL text-search configurations -(( $+functions[__pgsql_ts_configs] )) || -__pgsql_ts_configs() { - local conninfo - local -a expl tmp - - __pgsql_get_conninfo - __pgsql_call_psql tmp ts-configs "$conninfo" -c " - SELECT n.nspname || '.' || t.cfgname - FROM pg_catalog.pg_ts_config AS t - LEFT JOIN pg_catalog.pg_namespace AS n - ON t.cfgnamespace = n.oid; - " - # We'll assume these exist since this tends to be needed on cluster init - tmp+=( pg_catalog.simple pg_catalog.english ) - - _wanted ts-configs expl 'PostgreSQL text-search configuration' \ - compadd -a "$@" - tmp -} - -# Complete clusterdb command -(( $+functions[_pgsql_clusterdb] )) || -_pgsql_clusterdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - # -q and -v are NOT exclusive - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + a # --all-mode options - '(c d n -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - '(a)*'{-t+,--table=}'[cluster specified table only]: :__pgsql_tables' - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete createdb command -(( $+functions[_pgsql_createdb] )) || -_pgsql_createdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_connm - + l # Locale options - '(l)'{-l+,--locale=}'[specify locale (both LC_COLLATE and LC_CTYPE)]: :_locales' - '(-l --locale)--lc-collate=[specify LC_COLLATE setting]: :_locales' - '(-l --locale)--lc-ctype=[specify LC_CTYPE setting]: :_locales' - + o # Other arguments - $common_opts_echo - '(-D --tablespace)'{-D+,--tablespace=}'[specify default tablespace]: :__pgsql_tablespaces' - '(-E --encoding)'{-E+,--encoding=}'[specify character encoding]: :__pgsql_encodings' - '(-O --owner)'{-O+,--owner=}'[specify owner]: :__pgsql_roles -a' - '(-T --template)'{-T+,--template=}'[specify template database to build from]: :__pgsql_databases' - # Possibly not useful to complete existing databases here - '1: :__pgsql_databases' - '2: :_guard "^-*" "database description"' - ) - _arguments -s -S : $args -} - -# Complete createuser command -(( $+functions[_pgsql_createuser] )) || -_pgsql_createuser() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - + '(d)' # CREATEDB options - {-d,--createdb}'[grant ability to create new databases (CREATEDB)]' - {-D,--no-createdb}'[do not grant ability to create new databases (NOCREATEDB)]' - + '(i)' # INHERIT options - {-i,--inherit}'[grant automatic privilege inheritance from role memberships (INHERIT)]' - {-I,--no-inherit}'[do not grant automatic privilege inheritance from role memberships (NOINHERIT)]' - + '(l)' # LOGIN options - {-l,--login}'[grant ability to log in as user (LOGIN)]' - {-L,--no-login}'[do not grant ability to log in as user (NOLOGIN)]' - + '(r)' # CREATEROLE options - {-r,--createrole}'[grant ability to create new roles (CREATEROLE)]' - {-R,--no-createrole}'[do not grant ability to create new roles (NOCREATEROLE)]' - + '(R)' # REPLICATION options - '--replication[grant replication privileges (REPLICATION)]' - '--no-replication[do not grant replication privileges (NOREPLICATION)]' - + '(s)' # SUPERUSER options - {-s,--superuser}'[grant super-user privileges (SUPERUSER)]' - {-S,--no-superuser}'[do not grant super-user privileges (NOSUPERUSER)]' - + o # Other arguments - $common_opts_echo - '(-c --connection-limit)'{-c+,--connection-limit=}'[specify connection limit for new role]:number of connections' - # No effect, kept for backwards compatibility - '!'{-E,--encrypted} - '*'{-g+,--role=}'[grant membership to specified role]: :__pgsql_roles -a' - '--interactive[prompt for settings not specified on command line]' - '(-P --pwprompt)'{-P,--pwprompt}'[prompt for new user password]' - # Again, possibly not useful to complete these - '1: :__pgsql_roles' - ) - _arguments -s -S : $args -} - -# Complete dropdb command -(( $+functions[_pgsql_dropdb] )) || -_pgsql_dropdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_connm - + o # Other arguments - $common_opts_echo - '(-i --interactive)'{-i,--interactive}'[prompt for confirmation]' - '--if-exists[skip non-existent database]' - '1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete dropuser command -(( $+functions[_pgsql_dropuser] )) || -_pgsql_dropuser() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - + o # Other arguments - $common_opts_echo - '(-i --interactive)'{-i,--interactive}'[prompt for confirmation (and user name if not specified)]' - '--if-exists[skip non-existent user]' - # We could use -a here, but it seems questionable - '1: :__pgsql_roles' - ) - _arguments -s -S : $args -} - -# Complete initdb command -(( $+functions[_pgsql_initdb] )) || -_pgsql_initdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + '(l)' # Locale options (general) - {-l+,--locale=}'[specify locale (all categories)]: :_locales' - '--no-locale[equivalent to --locale=C]' - + lc # Locale options (specific) -- unlike createdb, NOT exclusive with -l - '--lc-collate=[specify LC_COLLATE setting]: :_locales' - '--lc-ctype=[specify LC_CTYPE setting]: :_locales' - '--lc-messages=[specify LC_MESSAGES setting]: :_locales' - '--lc-monetary=[specify LC_MONETARY setting]: :_locales' - '--lc-numeric=[specify LC_NUMERIC setting]: :_locales' - '--lc-time=[specify LC_TIME setting]: :_locales' - + o # Other arguments - '(-A --auth)'{-A+,--auth=}'[specify authentication method (local and host)]: :__pgsql_auth_methods' - '--auth-host=[specify host (TCP/IP) authentication method]: :__pgsql_auth_methods' - '--auth-local=[specify local authentication method]: :__pgsql_auth_methods' - '(-d --debug)'{-d,--debug}'[output debug information]' - '(1 -D --pgdata)'{-D+,--pgdata=}'[specify data directory]:data directory:_directories' - '(-E --encoding)'{-E+,--encoding=}'[specify default character encoding]: :__pgsql_encodings' - '(-k --data-checksums)'{-k,--data-checksums}'[enable checksums on data pages]' - '-L+[specify input-file directory]:input-file directory:_directories' - '(-n --no-clean)'{-n,--no-clean}'[do not clean up after errors]' - '(-N --no-sync)'{-N,--no-sync}'[do not wait for disk sync]' - '(-W --pwprompt)--pwfile=[read super-user password from specified file]:password file:_files' - # This should be exclusive with everything but -D/1 - '(-S --sync-only)'{-S,--sync-only}'[safely write all database files and exit]' - '(-T --text-search-config)'{-T+,--text-search-config=}'[specify default text-search configuration]: :__pgsql_ts_configs' - # We could just use the OS user name here, idk - '(-U --username)'{-U+,--username=}'[specify super-user name]: :__pgsql_roles' - '(-W --pwfile --pwprompt)'{-W,--pwprompt}'[prompt for super-user password]' - '(-X --waldir)'{-X+,--waldir=}'[specify write-ahead log directory]:write-ahead log directory:_directories' - '(-D --pgdata)1:database data directory:_directories' - ) - _arguments -s -S : $args -} - -# Complete pg_config command -(( $+functions[_pgsql_pg_config] )) || -_pgsql_pg_config() { - local -a args=( - + x # Exclusive options - ${(@M)common_opts_excl:#*(-\?|--help)*} - + o # Other options - ${(@)${(@M)common_opts_excl:#*--version*}#\(*\)} - '--bindir[display location of user executables]' - '--cc[display C compiler (CC) used during build]' - '--cflags[display C compiler flags (CFLAGS) used during build]' - '--cflags_sl[display C compiler flags for shared libraries (CFLAGS_SL) used during build]' - '--configure[display configure options used during build]' - '--cppflags[display C preprocessor flags (CPPFLAGS) used during build]' - '--docdir[display location of documentation files]' - '--htmldir[display location of HTML documentation files]' - '--includedir[display location of C header files for client interfaces]' - '--includedir-server[display location of C header files for server interfaces]' - '--ldflags[display linker flags (LDFLAGS) used during build]' - '--ldflags_ex[display linker flags used executables (LDFLAGS_EX) used during build]' - '--ldflags_sl[display linker flags used shared libraries (LDFLAGS_SL) used during build]' - '--libs[display linker flags for external libraries (LIBS) used during build]' - '--libdir[display location of library object files]' - '--localedir[display location of locale support files]' - '--mandir[display location of manual pages]' - '--pgxs[display location of extension makefiles]' - '--pkgincludedir[display location of other C header files]' - '--pkglibdir[display location of module object files]' - '--sharedir[display location of architecture-independent support files]' - '--sysconfdir[display location of system-wide configuration files]' - ) - _arguments -s -S : $args -} - -# Complete pg_ctl command -# @todo Exclusivity isn't great here -- it's annoying to handle properly -# because pg_ctl accepts options interspersed with the sub-command name -(( $+functions[_pgsql_pg_ctl] )) || -_pgsql_pg_ctl() { - local -a cmds modes args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - - cmds=( - {init,initdb}'\:initialize database cluster' - 'kill\:kill process' - 'promote\:promote database server from stand-by to read/write mode' - 'reload\:reload database-server configuration' - 'restart\:restart database server' - 'start\:start database server' - 'status\:check status of database server' - 'stop\:stop database server' - ) - modes=( - {f,fast}'\:shut down cleanly, but without waiting for clients to disconnect' - {i,immediate}'\:shut down immediately and uncleanly' - {s,smart}'\:shut down cleanly after waiting for clients to disconnect' - ) - args=( - + x # Exclusive options - $common_opts_excl - + nk # Non-kill options - '(-D --pgdata)'{-D+,--pgdata=}'[specify data directory]:data directory:_directories' - + nks # Non-kill/status options - '(-s --silent)'{-s,--silent}'[suppress informational messages]' - + ikprs # Wait options - '(-t -W --no-wait --timeout)'{-t+,--timeout=}'[specify time-out interval (with -w)]:time-out interval (seconds)' - '(-w -W --no-wait --wait)'{-w,--wait}'[wait for operation to complete]' - '(-t -w -W --no-wait --timeout --wait)'{-W,--no-wait}'[do not wait for operation to complete]' - + isr # init/start/restart options - '*'{-o+,--options=}'[specify command-line options to initdb/postgres]:initdb/postgres command-line options' - '-p+[specify path to initdb/postgres executable]:initdb/postgres executable:_files -g "*(#q*)"' - + sr # start/restart options - '(-c --core-files)'{-c,--core-files}'[produce core files (where supported)]' - '(-l --log)'{-l+,--log=}'[log to specified file]:log file:_files' - + tr # stop/restart options - '(-m --mode)'{-m+,--mode=}"[specify shut-down mode]:shut-down mode:((${(j< >)${(@qq)modes}}))" - + o # Operands - "1:pg_ctl sub-command:((${(j< >)${(@qq)cmds}}))" - ) - [[ -n ${words[(r)*kill*]} ]] && args+=( '2: :_pids' ) - - _arguments -s -S : $args -} - -# Complete pg_dump/pg_dumpall commands -(( $+functions[_pgsql_pg_dump] )) || -_pgsql_pg_dump() { - local -a fmts args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - - fmts=( - {p,plain}'\:plain-text SQL script' - {c,custom}'\:custom-format archive' - {d,directory}'\:directory-format archive' - {t,tar}'\:tar-format archive' - ) - args+=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - '--role=[specify role used to create dump]: :__pgsql_roles -a' - ) - # pg_dump-specific connection options - [[ $service == pg_dump ]] && args+=( - '(1 -d --dbname)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - # @todo Complete this properly - '(-d --dbname)1:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - ) - # pg_dumpall-specific connection options - [[ $service == pg_dumpall ]] && args+=( - # Despite the name, -d here this actually takes a conninfo string - # @todo Complete this - '(1 -d --dbname)'{-d+,--dbname=}'[specify conninfo string]:conninfo string' - '(l --database)'{-l+,--database=}'[specify maintenance database name]: :__pgsql_databases' - ) - args+=( - + '(ds)' # Data/schema options - '(-c --clean)'{-a,--data-only}'[dump only data (not schema/definitions)]' - {-s,--schema-only}'[dump only schema/definitions (not data)]' - + '(in)' # Insert options - '(-o --oids)--column-inserts[output INSERT command with explicit column names for each row]' - # Equivalent to above? - '!(-o --oids)--attribute-inserts' - '(-o --oids)--inserts[output INSERT command for each row]' - ) - [[ $service == pg_dumpall ]] && args+=( - + '(grt)' # Globals/roles/tablespaces options - {-g,--globals-only}'[dump only roles and tablespaces (not databases)]' - {-r,--roles-only}'[dump only roles (not databases or tablespaces)]' - {-t,--tablespaces-only}'[dump only tablespaces (not databases or roles)]' - ) - # It would be nice to add '(with -Fp)' and so on where applicable, but it's - # tedious because of pg_dumpall - args+=( - + o # Other options - '(-a -c --clean --data-only)'{-c,--clean}'[output commands to clean objects before creating them]' - '(-o --oids in)'{-o,--oids}'[dump table object IDs]' - '(-O --no-owner)'{-O,--no-owner}'[do not output commands to set ownership of objects]' - '(-S --superuser)'{-S+,--superuser=}'[specify super-user name]: :__pgsql_roles' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '(-x --no-acl --no-privileges)'{-x,--no-acl,--no-privileges}'[do not dump access privileges]' - # Not meant for use by humans - '!--binary-upgrade' - '--disable-dollar-quoting[disable dollar-quoting of function bodies]' - '--disable-triggers[output commands to disable triggers before restoring (with -a)]' - '--if-exists[use conditional commands when cleaning objects (with -c)]' - '--lock-wait-timeout=[specify table-lock time-out interval]:time-out interval (milliseconds)' - '--no-publications[do not dump publications]' - '--no-security-labels[do not dump security labels]' - '--no-subscriptions[do not dump subscriptions]' - '--no-sync[do not wait for disk sync]' - '--no-tablespaces[do not output commands to select tablespaces]' - '--no-unlogged-table-data[do not dump data of unlogged tables]' - '--quote-all-identifiers[force quoting of all identifiers]' - '--use-set-session-authorization[output SET SESSION AUTHORIZATION commands to set ownership of objects]' - ) - [[ $service == pg_dump ]] && args+=( - # -b and -B are NOT exclusive - '(-b --blobs)'{-b,--blobs}'[dump large objects]' - '(-B --no-blobs)'{-B,--no-blobs}'[do not dump large objects]' - '(-C --create)'{-C,--create}'[output commands to create and reconnect to database]' - '(-E --encoding)'{-E+,--encoding=}'[specify dump character encoding]: :__pgsql_encodings' - '(-f --file)'{-f+,--file=}'[dump to specified file (or directory with -Fd)]:dump file/directory:_files' - '(-F --format)'{-F+,--format=}"[dump using specified output format]:output format:((${(j< >)${(@qq)fmts}}))" - '(-j --jobs)'{-j+,--jobs=}'[dump specified number of tables in parallel (with -Fd)]:number of jobs/tables' - '*'{-n+,--schema=}'[dump only objects in schema matching specified pattern]: :__pgsql_schemas' - '*'{-N+,--exclude-schema=}'[do not dump objects in schema matching specified pattern]: :__pgsql_schemas' - # No effect, kept for backwards compatibility - '!'{-R,--no-reconnect} - '*'{-t+,--table=}'[dump only tables matching specified pattern]: :__pgsql_tables' - '*'{-T+,--exclude-table=}'[do not dump tables matching specified pattern]: :__pgsql_tables' - '(-Z --compress)'{-Z+,--compress=}"[specify output compression level]:compression level:(${(j< >):-{0..9}})" - '--enable-row-security[dump with row security enabled]' - '*--exclude-table-data=[do not dump data for tables matching specified pattern]: :__pgsql_tables' - '--no-synchronized-snapshots[support -j with pre-9.2 servers]' - '*--section=[dump only specified section]:section:(pre-data data post-data)' - '--serializable-deferrable[dump using serializable transaction, avoiding failure]' - # @todo Complete this - '--snapshot=[dump from specified snapshot]: :__pgsql_snapshots' - '--strict-names[require -n/-t patterns to match at least one schema/table]' - ) - [[ $service == pg_dumpall ]] && args+=( - '(-f --file)'{-f+,--file=}'[dump to specified file]:dump file:_files' - '--no-role-passwords[do not dump passwords for roles]' - ) - _arguments -s -S : $args -} - -# Complete pg_isready command -(( $+functions[_pgsql_pg_isready] )) || -_pgsql_pg_isready() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - ${(@)common_opts_conn:#*--*password*} - # @todo Complete this properly - '(-d --dbname)'{-d+,--dbname=}'[specify database name, conninfo string, or URI]:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - '(-t --timeout)'{-t+,--timeout=}'[specify time-out interval]:time-out interval (seconds)' - + C # Misc. common options - '(-q --quiet)'{-q,--quiet}'[suppress normal output]' - ) - _arguments -s -S : $args -} - -# Complete pg_restore command -(( $+functions[_pgsql_pg_restore] )) || -_pgsql_pg_restore() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a fmts=( - # Plain-text is intentionally missing here - {c,custom}'\:custom-format archive' - {d,directory}'\:directory-format archive' - {t,tar}'\:tar-format archive' - ) - # It probably isn't that helpful to complete indexes, &c., from existing - # databases, but oh well - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options - $common_opts_conn - '(-d --dbname)'{-d+,--dbname=}'[restore to specified database]: :__pgsql_databases' - '--role=[specify role used to perform restore]: :__pgsql_roles -a' - + '(ds)' # Data/schema options - '(-c --clean)'{-a,--data-only}'[restore only data (not schema/definitions)]' - {-s,--schema-only}'[restore only schema/definitions (not data)]' - + o # Other arguments - '(-1 --single-transaction)'{-1,--single-transaction}'[perform restore as a single transaction]' - '(-a -c --clean --data-only)'{-c,--clean}'[clean objects before creating them]' - '(-C --create)'{-C,--create}'[create database before restoring to it]' - '(-e --exit-on-error)'{-e,--exit-error}'[exit immediately on error]' - '(-f --file)'{-f+,--file=}'[specify output file for generated script or listing]:output file:_files' - '(-F --format)'{-F+,--format=}"[specify archive format]:archive format:((${(j< >)${(@qq)fmts}}))" - '*'{-I+,--index=}'[restore only definition of specified index]: :__pgsql_indexes' - '(-j --jobs)'{-j+,--jobs=}'[restore in parallel with specified number of jobs]:number of jobs' - '(-l --list)'{-l,--list}'[list archive table of contents]' - '(-L --use-list)'{-L+,--use-list=}'[restore only archive elements in specified list file]:list file:_files' - '*'{-n+,--schema=}'[restore only objects in specified schema]: :__pgsql_schemas' - '*'{-N+,--exclude-schema=}'[do not restore objects in specified schema]: :__pgsql_schemas' - '(-O --no-owner)'{-O,--no-owner}'[do not restore ownership of objects from archive]' - '*'{-P+,--function=}'[restore only the specified function]:PostgreSQL function' - # No effect, kept for backwards compatibility - '!'{-R,--no-reconnect} - '(-S --superuser)'{-S+,--superuser=}'[specify super-user name]: :__pgsql_roles' - '*'{-t+,--table=}'[restore only specified table]: :__pgsql_tables' - '*'{-T+,--trigger=}'[restore only specified trigger]:PostgreSQL trigger' - '(-v --verbose)'{-v,--verbose}'[output verbosely]' - '(-x --no-acl --no-privileges)'{-x,--no-acl,--no-privileges}'[do not dump access privileges]' - '--disable-triggers[disable triggers before restoring (with -a)]' - '--enable-row-security[restore with row security enabled]' - '--if-exists[use conditional commands when cleaning objects (with -c)]' - '--no-data-for-failed-tables[do not restore data if table creation failed]' - '--no-publications[do not restore publications]' - '--no-security-labels[do not restore security labels]' - '--no-subscriptions[do not restore subscriptions]' - '--no-tablespaces[do not restore tablespaces]' - '*--section=[dump only specified section]:section:(pre-data data post-data)' - '--strict-names[require -n/-t qualifiers to match at least one schema/table]' - '--use-set-session-authorization[use SET SESSION AUTHORIZATION commands to set ownership of objects]' - '1:archive file:_files' - ) - _arguments -s -S : $args -} - -# Complete pg_upgrade command -(( $+functions[_pgsql_pg_upgrade] )) || -_pgsql_pg_upgrade() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + o # Other options - '(-b --old-bindir)'{-b+,--old-bindir=}'[specify old executable directory]:old executable directory:_directories' - '(-B --new-bindir)'{-B+,--new-bindir=}'[specify new executable directory]:new executable directory:_directories' - '(-c --check)'{-c,--check}"[check clusters only (don't change any data)]" - '(-d --old-datadir)'{-d+,--old-datadir=}'[specify old data directory]:old data directory:_directories' - '(-D --new-datadir)'{-D+,--new-datadir=}'[specify new data directory]:new data directory:_directories' - '(-j --jobs)'{-j+,--jobs=}'[upgrade in parallel with specified number of jobs]:number of jobs' - '(-k --link)'{-k,--link}'[use hard links instead of copying files to new cluster]' - '*'{-o+,--old-options=}'[specify command-line options to old postgres]:old postgres command-line options' - '*'{-O+,--new-options=}'[specify command-line options to new postgres]:new postgres command-line options' - '(-p --old-port)'{-p+,--old-port=}'[specify old port number]:old port number:__pgsql_ports' - '(-P --new-port)'{-P+,--new-port=}'[specify new port number]:new port number:__pgsql_ports' - '(-r --retain)'{-r,--retain}'[retain SQL and log files even after successful completion]' - '(-U --username)'{-U+,--username=}'[specify cluster install user name]: :__pgsql_roles' - '(-v --verbose)'{-v,--verbose}'[log verbosely]' - ) - _arguments -s -S : $args -} - -# Complete postgres/postmaster commands -(( $+functions[_pgsql_postgres] )) || -_pgsql_postgres() { - local -a args - - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - args=( - + x # Exclusive options - $common_opts_excl - '--describe-config[dump internal configuration variables, descriptions, and defaults]' - + o # Other options - '-B+[specify number of shared buffers used by server processes]:number of shared buffers' - '*-c+[set specified run-time configuration parameter]: :__pgsql_cfg_params_values' - '-C+[display value of specified run-time configuration parameter]: :__pgsql_cfg_params' - '-d+[specify debug level]:debug level:(0 1 2 3 4 5)' - '-D+[specify configuration directory]:PostgreSQL configuration directory:_directories' - '-e[set default date style to European (DMY)]' - '-F[disable fsync calls]' - '(-i)-h+[specify TCP/IP address to listen on]:listening addresses:__pgsql_hosts_seq' - '(-h)-i[allow remote connections via TCP/IP]' - '-k+[specify directory of UNIX-domain socket to listen on]:UNIX-domain socket directory:__pgsql_hosts_seq -/' - '-l[enable secure connections using SSL]' - '-N+[specify max number of client connections]:number of client connections' - '*-o+[specify extra command-line options to pass down to postgres]:postgres command-line options' - '-p+[specify TCP/IP port or UNIX-domain socket file extension to listen on]: :__pgsql_ports' - '-s[display time information and other statistics after each command]' - '-S+[specify amount of memory for sort/hash operations]:amount of memory' - # These are 'semi-internal' options that we don't really complete, but we'll - # account for them anyway - '!'{-f+,-n,-O,-P,-t+,-T,-v+,-W+} - ) - # --single must be the first argument on the command line - (( CURRENT == 2 )) && args+=( - '--single[enter single-user mode]' - ) - (( CURRENT > 2 )) && [[ ${(Q)words[2]} == --single ]] && args+=( - '-E[echo SQL commands to stdout]' - '-j[use semicolon followed by two newlines as command-entry terminator]' - '-r+[send server log output to specified file]:log file:_files' - ) - - _arguments -s -S : $args -} - -# Complete psql command -(( $+functions[_pgsql_psql] )) || -_pgsql_psql() { - local -a args=( - + x # Exclusive options - ${(@M)common_opts_excl:#*version*} - '(: * -)'{-\?,--help=-}'[display help information]::help topic:(commands options variables)' - + c # Connection options - ${(@)common_opts_conn/#\(-U/(2 -U} - '(1 -d --dbname)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - # @todo Complete this properly - '(-d --dbname)1:PostgreSQL database name, conninfo string, or URI:__pgsql_databases' - # @todo This shouldn't be offered if the first operand isn't a dbname - '(-U --username)2: :__pgsql_roles' - + '(e)' # Echo options (ECHO variable) - {-a,--echo-all}'[echo all non-empty input lines back to stdout]' - {-b,--echo-errors}'[echo failed SQL commands to stderr]' - {-e,--echo-queries}'[echo SQL commands to stdout]' - + '(f)' # Format options - '(x)'{-A,--no-align}'[display results in unaligned format]' - '(sf sr)'{-H,--html}'[display results in HTML table format]' - + '(sf)' # Field-separator options - '(-H --html x)'{-F+,--field-separator=}'[specify field separator (with -A)]:field separator' - '(-H --html x)'{-z,--field-separator-zero}'[use NUL as field separator (with -A)]' - + '(sr)' # Record-separator options - '(-H --html x)'{-R+,--record-separator=}'[specify record separator (with -A)]:record separator' - '(-H --html x)'{-0,--record-separator-zero}'[use NUL as record separator (with -A)]' - + '(t)' # HTML-table options - '(-A --no-align sf sr)'{-T+,--table-attr=}'[specify HTML table attributes]:HTML attributes' - + '(x)' # Expanded-table-formatting options - '(-A --no-align sf sr)'{-x,--expanded}'[enable expanded table formatting]' - + o # Other options - '(-1 --single-transaction)'{-1,--single-transaction}'[wrap all commands in a single transaction (with -c/-f)]' - '*'{-c+,--command=}'[execute specified command string]:command string' - '(-E --echo-hidden)'{-E,--echo-hidden}'[echo queries generated by backslash commands]' - '*'{-f+,--file=}'[execute commands from specified file]:SQL file:_files' - # The documentation says that all other 'non-connection' options are ignored - # when this one is given... but it lies. There *are* several options that - # get ignored, but it's irritating to enumerate them - '(-l --list)'{-l,--list}'[display available databases]' - '(-L --log-file)'{-L+,--log-file=}'[also log query output to specified file]:log file:_files' - '(-n --no-readline)'{-n,--no-readline}'[do not use Readline for line editing and history]' - '(-o --output)'{-o+,--output=}'[write query output to specified file]:output file:_files' - '*'{-P+,--pset=}'[specify printing option]: :__pgsql_cfg_variables_values --pset' - '(-q --quiet)'{-q,--quiet}'[suppress informational output]' - '(-s --single-step)'{-s,--single-step}'[prompt before executing each command]' - '(-S --single-line)'{-S,--single-line}'[treat newlines as semicolons]' - '(-t --tuples-only)'{-t,--tuples-only}'[do not output columns names, row counts, etc.]' - '*'{-v+,--set=,--variable=}'[perform specified variable assignment]: :__pgsql_cfg_variables_values --set' - '(-X --no-psqlrc)'{-X,--no-psqlrc}'[do not read start-up files]' - ) - _arguments -s -S : $args -} - -# Complete reindexdb command -(( $+functions[_pgsql_reindexdb] )) || -_pgsql_reindexdb() { - (( CURRENT > 2 )) && local -a common_opts_excl=( '!---null' ) - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - # -q and -v are NOT exclusive. -q only seems to affect --all mode - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + a # --all-mode options - '(c d n o s -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - '(a s)*'{-i+,--index=}'[re-create specified index only]: :__pgsql_indexes' - '(a s)*'{-S+,--schema=}'[reindex specified schema only]: :__pgsql_schemas' - '(a s)*'{-t+,--table=}'[reindex specified table only]: :__pgsql_tables' - + s # --system-mode options - '(a n -s --system)'{-s,--system}"[reindex database's system catalogs]" - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Complete vacuumdb command -(( $+functions[_pgsql_vacuumdb] )) || -_pgsql_vacuumdb() { - local -a args=( - + x # Exclusive options - $common_opts_excl - + c # Connection options (not actually usable with --all) - $common_opts_connm - + '(d)' # Database connection options - '(a o)'{-d+,--dbname=}'[specify database name]: :__pgsql_databases' - + C # Misc. common options - $common_opts_echo - '(-j --jobs)'{-j+,--jobs=}'[run specified number of vacuum/analyze commands in parallel]:number of jobs' - '--min-mxid-age=[specify minimum MXID age of tables to vacuum]:minimum MXID age' - '--min-xid-age=[specify minimum XID age of tables to vacuum]:minimum XID age' - '--skip-locked[skip relations that cannot be immediately locked]' - # -q and -v are NOT exclusive - '(-q --quiet)'{-q,--quiet}'[do not display progress messages]' - '(-v --verbose)'{-v,--verbose}'[display detailed information during processing]' - + f # Options incompatible with analyse-only options - '(Z)--disable-page-skipping[disable all page-skipping behavior]' - '(Z -f --full)'{-f,--full}'[perform full vacuum]' - '(Z -F --freeze)'{-F,--freze}'[aggressively freeze tuples]' - + '(z)' # Analyse options - {-z,--analyze}'[also calculate statistics for use by optimizer]' - + '(Z)' # Analyse-only options - '(f)'{-Z,--analyze-only}'[only calculate statistics for use by optimizer (no vacuum)]' - '(f)--analyze-in-stages[like -Z, but analyze in stages for faster results]' - + a # --all-mode options - '(c d n -a --all)'{-a,--all}'[reindex all databases]' - + n # Normal-mode options - # @todo When used with -z, &al., this accepts a column name in brackets. We - # don't complete that - '(a)*'{-t+,--table=}'[vacuum/analyze specified table(column) only]: :__pgsql_tables' - + o # Operands - '(a d)1: :__pgsql_databases' - ) - _arguments -s -S : $args -} - -# Router -_postgresql() { - # Common exclusive options - local -a common_opts_excl=( - '(: * -)'{-\?,--help}'[display help information]' - '(: * -)'{-V,--version}'[display version information]' - ) - # Common connection options - local -a common_opts_conn=( - '(-h --host)'{-h+,--host=}'[specify database server host or socket directory]: :__pgsql_hosts_seq -a' - '(-p --port)'{-p+,--port=}'[specify database server port]: :__pgsql_ports' - '(-U --username)'{-U+,--username=}'[specify user name to connect with]: :__pgsql_roles' - '(-w -W --no-password --password)'{-w,--no-password}'[never prompt for password on connect]' - '(-w -W --no-password --password)'{-W,--password}'[force prompt for password on connect]' - ) - # Common connection options + --maintenance-db - local -a common_opts_connm=( - $common_opts_conn - '--maintenance-db=[specify maintenance database name]: :__pgsql_databases' - ) - # Common echo options - local -a common_opts_echo=( - '(-e --echo)'{-e,--echo}'[echo generated commands to stdout]' - ) - - # Special case: pg_dumpall is handled as pg_dump - if [[ $service == pg_dumpall ]]; then - _pgsql_pg_dump "$@" - # Special case: postmaster is handled as postgres - elif [[ $service == postmaster ]]; then - _pgsql_postgres "$@" - elif (( $+functions[_pgsql_$service] )); then - _pgsql_$service "$@" - else - _message "unsupported PostgreSQL service: $service" - _default - fi -} - -_postgresql "$@" diff --git a/result/sw/share/zsh/5.9/functions/_postscript b/result/sw/share/zsh/5.9/functions/_postscript deleted file mode 100644 index 792a39b8..00000000 --- a/result/sw/share/zsh/5.9/functions/_postscript +++ /dev/null @@ -1,14 +0,0 @@ -#compdef ps2epsi ps2pdf psmulti pswrap ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2ps - -local expl ext='' - -# ghostscript: -# ps2epsi ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2ps - -if [[ "$1" == '-z' ]]; then - ext='(|.bz2|.gz|.Z)' - shift -fi - -_description files expl 'PostScript file' -_files "$@" "$expl[@]" -g "*.(#i)(ps|eps)$ext(-.)" diff --git a/result/sw/share/zsh/5.9/functions/_powerd b/result/sw/share/zsh/5.9/functions/_powerd deleted file mode 100644 index c64abb5b..00000000 --- a/result/sw/share/zsh/5.9/functions/_powerd +++ /dev/null @@ -1,15 +0,0 @@ -#compdef powerd - -local powerd_mode -powerd_mode=(minimum maximum adaptative) -_arguments -s \ - "-a+[mode to use while on AC power]:mode:($powerd_mode)" \ - "-b+[mode to use while on battery power]:mode:($powerd_mode)" \ - '-i+[CPU idle percent level when begin to degrade performance]:percent [75]' \ - '-m+[minimum frequency to throttle down to]:frequency (MHz)' \ - '-M+[maximum frequency to throttle up to]:frequency (MHz)' \ - "-n+[mode to use normally when the AC line state is unknown]:mode:($powerd_mode)" \ - '-p+[polling interval for AC line state and system idle levels]:interval (ms) [250]:' \ - '-P+[alternative pidfile]:pidfile:_files' \ - '-r+[CPU idle percent level where to increase performance]:percent' \ - '-v[verbose mode]' diff --git a/result/sw/share/zsh/5.9/functions/_pr b/result/sw/share/zsh/5.9/functions/_pr deleted file mode 100644 index 2aeeb13b..00000000 --- a/result/sw/share/zsh/5.9/functions/_pr +++ /dev/null @@ -1,103 +0,0 @@ -#compdef pr - -local curcontext=$curcontext variant msg ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -# take care of '+FIRST_PAGE[:LAST_PAGE]' (GNU) or '+FIRST_PAGE' (POSIX) -if _pick_variant -r variant gnu=GNU $OSTYPE --version; then - msg='FIRST_PAGE[:LAST_PAGE]' -else - msg='first page' -fi - -if [[ $words[CURRENT] = +* ]]; then - _message "$msg" && return -fi - -if (( ! ${words[(I)+[0-9]*]} )); then - # if +number is not on the command line - specs=( '(hv)--pages=[specify first and last page numbers]: : _message $msg' ) -fi - -# common specs -specs+=( - '(hv -a --across)'{-a,--across}'[with multi-column output, print columns across rather than down]' - '(hv -d --double-space)'{-d,--double-space}'[double space the output]' - '(hv -e --expand-tabs)'{-e-,--expand-tabs=-}'[expand tab (or specified char) with specified number of spaces]::number of spaces [8]:->char_number' - '(hv -h --header -t --omit-header)'{-h+,--header=}'[specify text used in header]:header: ' - '(hv -i --output-tabs)'{-i-,--output-tabs=-}'[replace specified number of spaces with tab (or specified char)]::number of spaces [8]:->char_number' - '(hv -l --length)'{-l+,--length=}'[specify the page length]:number of lines [66]: ' - '(hv -m --merge)'{-m,--merge}'[print all files in parallel, one in each column]' - '(hv -n --number-lines)'{-n-,--number-lines=-}'[number lines with specified separator and width]::number of digits [5]:->char_number' - '(hv -o --indent)'{-o+,--indent=}'[specify left margin]:margin [0]: ' - '(hv -r -no-file-warnings)'{-r,--no-file-warnings}'[omit warning when a file cannot be opened]' - '(hv -s --separator)'{-s-,--separator=-}'[specify column separator character]:character [tab]: ' - '(hv -t --omit-header -h --header)'{-t,--omit-header}'[omit page headers and trailers]' - '(hv -w --width)'{-w+,--width=}'[specify page width for multi-column output]:number of characters [72]: ' - '(hv)*: :_files' -) -# XXX: pr accepts -2 -3 -4 ... for specifying the number of columns. -# Here we offer only -2 and -3, and do so only if there is no -# -2 -3 -4 ... or --columns on the command line. -if (( ! ${words[(I)-([0-9]##*|-columns*)]} )); then - specs+=( {-2,-3}'[specify number of columns]' ) -fi - -if [[ $variant = gnu ]]; then - # GNU coreutils 8.32 - specs+=( - '(hv -c --show-control-chars)'{-c,--show-control-chars}'[use hat (^G) and octal backslash notation]' - '(hv -D --date-format)'{-D+,--date-format=}'[specify format for the header date]: :_date_formats' - '(hv -f -F --form-feed)'{-f,-F,--form-feed}'[use form feeds instead of newlines to separate pages]' - '(hv -J --join-lines)'{-J,--join-lines}'[merge full lines in multi-column output]' - '(hv -N --first-line-number)'{-N+,--first-line-number=}'[specify the line number of the 1st line]:number: ' - '(hv -S --sep-string)'{-S-,--sep-string=-}'[specify column separator string]:string: ' - '(hv -T --omit-pagination)'{-T,--omit-pagination}'[omit page headers and trailers, eliminate any pagination]' - '(hv -v --show-nonprinting)'{-v,--show-nonprinting}'[use octal backslash notation]' - '(hv -W --page-width)'{-W+,--page-width=}'[specify page width always]:number of characters [72]: ' - ) - if (( ! ${words[(I)-[0-9]##*]} )); then - # if -2 -3 -4 ... are not on the command line - specs+=( - '(hv)--columns=[specify number of columns]:number of columns: ' - + hv - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - fi -else - specs=( ${specs:#(|*\))--*} ) # remove long options - case $variant in - freebsd*|dragonfly*|darwin*|netbsd*) - specs+=( - '(-f)-F[use form feeds instead of newlines to separate pages]' - '(-F)-f[same as -F but pause before the 1st page if stdout is terminal]' - '-p[pause before each page if stdout is terminal]' - ) - ;| - freebsd*|dragonfly*|darwin*) - specs+=( '-L+[specify locale to use]: :_locales' ) - ;; - openbsd*) - specs+=( '(-f -F)'{-f,-F}'[use form feeds instead of newlines to separate pages]' ) - ;; - esac - optA=( -A '[-+]?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -C -s -S $optA : $specs && ret=0 - -case $state in - char_number) - # argument for option -e (and -i, -n) can be -e. -e10 or -e.10 - # where . is any non-digit character - if compset -p 1; then - _message "$state_descr" && ret=0 - else - _message "a character [tab] (optional), and $state_descr" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_precommand b/result/sw/share/zsh/5.9/functions/_precommand deleted file mode 100644 index fd88074c..00000000 --- a/result/sw/share/zsh/5.9/functions/_precommand +++ /dev/null @@ -1,6 +0,0 @@ -#compdef - nohup eval time rusage noglob nocorrect catchsegv aoss hilite eatmydata - -shift words -(( CURRENT-- )) - -_normal -p $service diff --git a/result/sw/share/zsh/5.9/functions/_prefix b/result/sw/share/zsh/5.9/functions/_prefix deleted file mode 100644 index 74be5f47..00000000 --- a/result/sw/share/zsh/5.9/functions/_prefix +++ /dev/null @@ -1,67 +0,0 @@ -#autoload - -# Try to ignore the suffix. A bit like e-o-c-prefix. - -[[ _matcher_num -gt 1 || -z "$SUFFIX" ]] && return 1 - -local comp curcontext="$curcontext" tmp suf="$SUFFIX" \ - _completer \ - _matcher _c_matcher _matchers _matcher_num -integer ind - -if ! zstyle -a ":completion:${curcontext}:" completer comp; then - comp=( "${(@)_completers[1,_completer_num-1]}" ) - ind=${comp[(I)_prefix(|:*)]} - (( ind )) && comp=("${(@)comp[ind,-1]}") -fi - -if zstyle -t ":completion:${curcontext}:" add-space; then - ISUFFIX=" $SUFFIX" -else - ISUFFIX="$SUFFIX" -fi -SUFFIX='' - -local _completer_num=1 - -for tmp in "$comp[@]"; do - if [[ "$tmp" = *:-* ]]; then - _completer="${${tmp%:*}[2,-1]//_/-}${tmp#*:}" - tmp="${tmp%:*}" - elif [[ $tmp = *:* ]]; then - _completer="${tmp#*:}" - tmp="${tmp%:*}" - else - _completer="${tmp[2,-1]//_/-}" - fi - curcontext="${curcontext/:[^:]#:/:${_completer}:}" - - zstyle -a ":completion:${curcontext}:" matcher-list _matchers || - _matchers=( '' ) - - _matcher_num=1 - _matcher='' - for _c_matcher in "$_matchers[@]"; do - if [[ "$_c_matcher" == +* ]]; then - _matcher="$_matcher $_c_matcher[2,-1]" - else - _matcher="$_c_matcher" - fi - - if [[ "$tmp" != _prefix ]] && "$tmp"; then - [[ compstate[nmatches] -gt 1 ]] && return 0 - compadd -U -i "$IPREFIX" -I "$ISUFFIX" - "${compstate[unambiguous]%$suf}x" - compstate[list]= - if [[ -n $compstate[unambiguous] ]]; then - compstate[insert]=unambiguous - else - compstate[insert]=0 - fi - return 0 - fi - (( _matcher_num++ )) - done - (( _completer_num++ )) -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_print b/result/sw/share/zsh/5.9/functions/_print deleted file mode 100644 index 0610cd4c..00000000 --- a/result/sw/share/zsh/5.9/functions/_print +++ /dev/null @@ -1,97 +0,0 @@ -#compdef print printf - -local state expl line eflag pflag rflag rest ret=1 - -if [[ $service = print ]]; then - # -e flag available only after -R - eflag="${words[1,CURRENT-1][(r)-*R*]:+-e[enable escapes]}" - rflag='-r[ignore escape conventions of echo]' - - # -p flag only relevant if we have a coprocess - (:>&p) 2>/dev/null && - pflag='(-s -u -z)-p[print arguments to input of coprocess]' - - [[ -n ${words[(r)-*f]} ]] && rflag='-r[disable reuse of format string]' - - if [[ -n ${words[1,CURRENT][(r)-*P*]} ]]; then - rest='*: :->prompt' - else - rest='*: :_default' - fi - - _arguments -C -s -A "-*" -S \ - '-r[ignore escape conventions of echo]' \ - '(-r -b -f -m -s -S -l -N -o -O -i -c -u -p -z -D -P)-R[emulate BSD echo (no escapes, -n & -e flags only)]' \ - '-b[recognise bindkey escape sequences]' \ - '-m[remove arguments not matching specified pattern]:pattern' \ - '(-n -R -l -N -c -S)-f+[print arguments as for the printf builtin]:format:->printfformat' \ - '(-u -p -z -S)-s[place results in the history list]' \ - '(-a -f -c -C -i -l -o -O -N -u -p -v -z -s -x -X)-S[place results in the history list, after splitting argument into words]' \ - '(-c -f)-n[do not add a newline to the result]' \ - '(-N -c -f -S)-l[print arguments separated by newlines]' \ - '(-n -l -c -f -S)-N[print arguments separated and terminated by nulls]' \ - '(-O -S)-o[sort arguments in ascending order]' \ - '(-o -S)-O[sort arguments in descending order]' \ - '(-S)-i[case-insensitive sorting]' \ - '(-n -l -N -f -s -S -z)-a[with -c/-C, print arguments across before down]' \ - '(-n -l -N -f -C -s -S -z)-c[print arguments in columns]' \ - '(-n -l -N -f -c -s -S -z)-C+[print arguments in specified number of columns]:columns' \ - '(-s -S -p -z)-u+[specify file descriptor to print arguments to]:file descriptor:_file_descriptors' \ - '(-s -S -z -p -u)-v[store output in named parameter]:parameter:_parameters' \ - '(-s -S -p -u)-z[push arguments onto editing buffer stack]' \ - '-D[substitute any arguments which are named directories using ~ notation]' \ - '-P[perform prompt expansion]' \ - '(-X -f -a -C -c -s -S -z)-x+[expand leading tabs]:tab width' \ - '(-x -f -a -C -c -s -S -z)-X+[expand all tabs]:tab width' \ - $pflag $eflag $rflag $rest && ret=0 -elif [[ $service = printf ]]; then - state=printf -fi - -if [[ $state = printf ]]; then - _arguments -C -s -S \ - '-v[store output in named parameter]:parameter:_parameters' \ - '1:format:->printfformat' \ - '*: :_default' && ret=0 -fi - -if [[ $state = printfformat ]]; then - if [[ ${(Q)PREFIX} = *%[0-9\$#\ +*.\'-]# ]]; then - local -a specs - specs=( - '#:alternate form' - '0:zero pad to length' - '-:left adjust result' - ' :leave one space in front of positive number from signed conversion' - '+:always place sign before a number from signed conversion' - '*:field width in next argument' - '.:precision' - "':thousand separators" - 'c:print the first character of the argument' - 's:print the argument as a string' - {d,i}':signed decimal number or with leading " numeric value of following character' - 'o:unsigned octal number' - 'u:unsigned decimal number' - {x,X}':unsigned hexadecimal number, letters capitalized as x' - {e,E}':double number in scientific notation' - 'f:double number' - {g,G}':double number as %f or %e depending on size' - '%:a percent sign' - 'n:store number of printed bytes in parameter specified by argument' - 'b:as %s but interpret escape sequences in argument' - 'q:as %s but shell quote result' - ) - compset -P "*" - _describe -t print-format-specifiers 'print format specifier' specs -S '' - _message -e print-format-specifiers 'number' - else - _wanted print-format-specifiers expl 'print format specifier' compadd -S '' % - fi - ret=0 -elif [[ $state = prompt ]]; then - _default && ret=0 - # complete prompt specifiers without interfering too much with default completion - (( $#compstate[unambiguous] <= $#PREFIX || ! $#PREFIX )) && _ps1234 && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_printenv b/result/sw/share/zsh/5.9/functions/_printenv deleted file mode 100644 index 8bff27c9..00000000 --- a/result/sw/share/zsh/5.9/functions/_printenv +++ /dev/null @@ -1,5 +0,0 @@ -#compdef printenv gprintenv - -local expl - -_wanted parameters expl 'environment variable' _parameters -g '*export*' diff --git a/result/sw/share/zsh/5.9/functions/_printers b/result/sw/share/zsh/5.9/functions/_printers deleted file mode 100644 index d7039dbb..00000000 --- a/result/sw/share/zsh/5.9/functions/_printers +++ /dev/null @@ -1,110 +0,0 @@ -#compdef -value-,PRINTER,-default- -value-,LPDEST,-default- - -local expl ret=1 list disp sep tmp servopt -integer ind - -if (( $+commands[lsallq] )); then - # Use AIX's command to list print queues - _wanted printers expl printer compadd "$@" - $(lsallq) - return -fi - -zstyle -s ":completion:${curcontext}:printers" list-separator sep || sep=-- - -# If we've been given a different print server on the command line, -# list printers on that. This information shouldn't be cached. -# (I) searches backwards---this is good, since some commands, such -# as lpoptions, can take multiple -h arguments and we want the last -# one before the current argument. For lpr, -h might mean something -# else and the option is -H. -if [[ $service = lpr ]]; then - servopt=-H -else - servopt=-h -fi -if (( $+commands[lpstat] )); then - ind=${words[1,CURRENT][(I)${servopt}*]} - if (( ind > 0 )); then - if [[ $words[ind] = $servopt ]]; then - tmp=-h$words[ind+1] - else - tmp=-h${words[ind][3,-1]} - fi - _wanted printers expl printer compadd "$@" - \ - ${${(f)"$(_call_program printers lpstat $tmp -a 2>/dev/null)"}%% *} && - return - fi -fi - - -if (( ! $+_lp_cache )); then - local file entry names i - - file=( /etc/(printcap|printers.conf) ) - - _lp_cache=() - _lp_alias_cache=() - - if (( $#file )); then - while read entry; do - if [[ "$entry" = [^[:blank:]\#\*_]*:* ]]; then - names=( "${(s:|:)entry%%:*}" ) - if [[ "$entry" = *:description=* ]]; then - disp="${${entry##*:description=}%%:*}" - elif [[ $#names -gt 1 && "$names[-1]" = *\ * ]] ;then - disp="$names[-1]" - else - disp='' - fi - if [[ -n "$disp" ]]; then - _lp_cache+=( "${names[1]}:${disp}" ) - _lp_alias_cache+=( "${(@)^names[2,-1]:#*\ *}:${disp}" ) - else - _lp_cache+=( "${names[1]}" ) - _lp_alias_cache+=( "${(@)names[2,-1]:#*\ *}" ) - fi - fi - done < $file[1] - fi - - if (( $+commands[lpstat] )); then - # If lpstat it exists, it's possible there are some other - # printers there, so add them. - _call_program printers lpstat -a 2>/dev/null | while read entry; do - entry=${entry%%[[:blank:]]*} - if (( ${_lp_cache[(I)$entry:*]} == 0 )); then - _lp_cache+=( $entry ) - fi - done - fi - - if [[ $OSTYPE = solaris* ]] && (( ${+commands[ypcat]} )) && - tmp=$(_call_program printers ypcat printers.conf.byname 2>/dev/null); then - _lp_cache+=( ${${${(S)${(f)tmp}/(#b):*((#e)|description=([^:]#):)*/:${match[2]}|}%%|*}:#_default*} ) # If you use YP - fi - - (( $#_lp_cache )) || _lp_cache=( 'lp0:guessed default printer' ) - (( $#_lp_alias_cache )) || unset _lp_alias_cache -fi - -if zstyle -T ":completion:${curcontext}:printers" verbose; then - zformat -a list " $sep " "$_lp_cache[@]" - disp=(-ld list) -else - disp=() -fi -_wanted printers expl printer \ - compadd "$@" "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0 - -(( $+_lp_alias_cache )) || return 1 - -if zstyle -T ":completion:${curcontext}:printers" verbose; then - zformat -a list " $sep " "$_lp_alias_cache[@]" - disp=(-ld list) -else - disp=() -fi -_wanted printers expl printer \ - compadd "$@" "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0 - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_process_names b/result/sw/share/zsh/5.9/functions/_process_names deleted file mode 100644 index 4f184ccb..00000000 --- a/result/sw/share/zsh/5.9/functions/_process_names +++ /dev/null @@ -1,44 +0,0 @@ -#autoload -# -# complete names of running processes -# -# options: -# -a: include all processes (owned by others, no tty, etc.) -# -t: use truncated process names (e.g., those in /proc/PID/stat) -# (only on Linux and BSDs) -# -# this name has been used in _killall and documented in zshcompsys(1) -local tagname='processes-names' -typeset -a expl opts names all truncate - -zparseopts -E -D 'a=all' 't=truncate' -(( $#all )) && opts=( -A ) - -local hyphen='-' -# on Linux, use BSD-style option to include processes on other ttys -[[ $OSTYPE == linux* ]] && hyphen='' - -case $OSTYPE in - (linux*|freebsd*|openbsd*|netbsd*) - if (( $#truncate )); then - if [[ $OSTYPE == netbsd* ]]; then - opts+=(-co args=) - else - opts+=(${hyphen}o comm=) - fi - names=( ${${(f)"$(_call_program $tagname ps $opts 2>/dev/null)"}#-} ) - else - opts+=(${hyphen}o args=) - names=( ${(f)"$(_call_program $tagname ps $opts 2>/dev/null )"} ) - names=( ${${${${${names:#\[*]}%% *}%:}#-}:t} - ${${${(M)names:#\[*]}#\[}%]} ) - fi - ;; - (*) - # ignore -t option - opts+=(-o comm=) - names=( ${${${(f)"$(_call_program $tagname ps $opts 2>/dev/null)"}#-}:t} ) - ;; -esac - -_wanted $tagname expl 'process name' compadd "$@" -F '(ps)' -a - names diff --git a/result/sw/share/zsh/5.9/functions/_procstat b/result/sw/share/zsh/5.9/functions/_procstat deleted file mode 100644 index a1708f6a..00000000 --- a/result/sw/share/zsh/5.9/functions/_procstat +++ /dev/null @@ -1,26 +0,0 @@ -#compdef procstat - -_arguments -s -A "-*" -S \ - '-b[show binary information]' \ - '-c[show command line arguments]' \ - '-e[show environment variables]' \ - '-f[show file descriptor information]' \ - '-i[show signal pending and disposition]' \ - '-j[show signal pending and blocked information for process threads]' \ - '-k[show stacks of kernel threads]' \ - '-l[show resource limits]' \ - "-L[show LWP info for the process pertaining to it's signal driven exit]" \ - '-r[show resource usage]' \ - '-s[show security credential information]' \ - '-S[show cpuset information]' \ - '-t[show thread information]' \ - '-v[show virtual memory mappings]' \ - '-x[show ELF auxiliary vector]' \ - '-h[suppress table headers]' \ - '(1)-a[all processes]' \ - '-w+[repeat information after specified interval]:delay (seconds)' \ - '-C[print additional capability information for file descriptors]' \ - '-H[statistics per-thread rather than per-process]' \ - '-n[numeric form for signals]' \ - '1::core file:_path_files -g "*core*(-.)"' \ - '*:process id:_pids' diff --git a/result/sw/share/zsh/5.9/functions/_prompt b/result/sw/share/zsh/5.9/functions/_prompt deleted file mode 100644 index ef6aac35..00000000 --- a/result/sw/share/zsh/5.9/functions/_prompt +++ /dev/null @@ -1,9 +0,0 @@ -#compdef prompt - -_arguments -s \ - '-l[list themes]:*:' \ - '-c[show selected theme]:*:' \ - "-h[help]::prompt theme:($prompt_themes):*:" \ - "-p[preview theme(s)]:*:prompt theme:($prompt_themes)" \ - "-s[set and save theme]:prompt theme:($prompt_themes):*:" \ - ":prompt theme:($prompt_themes)" diff --git a/result/sw/share/zsh/5.9/functions/_prove b/result/sw/share/zsh/5.9/functions/_prove deleted file mode 100644 index 27a73fba..00000000 --- a/result/sw/share/zsh/5.9/functions/_prove +++ /dev/null @@ -1,52 +0,0 @@ -#compdef prove -# -# prove(1) of TAP::Harness v3.25. Consider also: -# -# zstyle ':completion:*:*:prove:*' file-patterns '*.t:test\ files *(-/):directories' - -_arguments \ - '(- *)'{-h,--help}'[display help and exit]' \ - '(- *)'{-H,--man}'[display longer help and exit]' \ - '(- *)'{-V,--version}'[display version and exit]' \ - '(--quiet -q -Q --QUIET)'{-v,--verbose}'[print all test lines]' \ - {-l,--lib}'[add lib to path]' \ - {-b,--blib}'[add blib to path]' \ - '(--reverse)'{-s,--shuffle}'[run tests in random order]' \ - '(--nocolor)'{-c,--color}'[colored test output]' \ - '(--color -c)--nocolor[do not color test output]' \ - '(--nocount)--count[show x/y test count when not verbose]' \ - '(--count)--nocount[disable x/y test count]' \ - {-D,--dry}'[dry run]' \ - '--ext=[set extension for tests]:extension:' \ - {-f,--failures}'[show failed tests]' \ - {-o,--comments}'[show comments]' \ - '--ignore-exit[ignore exit status from test scripts]' \ - {-m,--merge}'[merge STDERR with STDOUT]' \ - {-r,--recurse}'[recurse into directories]' \ - '(-s --shuffle)--reverse[run tests in reverse order]' \ - '(-v --verbose)'{-q,--quiet}'[suppress some test output]' \ - '(-v --verbose)'{-Q,--QUIET}'[only print summary results]' \ - {-p,--parse}'[show full list of TAP parse errors]' \ - '--directives[only show results for which TODO or SKIP set]' \ - '--timer[print elapsed time]' \ - '--trap[trap ctrl-c and print summary on interrupt]' \ - '--normalize[normalize TAP output in verbose mode]' \ - '-T[enable tainting checks]' \ - '-t[enable tainting warnings]' \ - '-W[enable fatal warnings]' \ - '-w[enable warnings]' \ - '--norc[do not process .proverc]' \ - '*-I=[library paths to include]:libdir:_directories' \ - '*-P=[load plugin]:plugin:' \ - '*-M=[load a module]:module:_perl_m_opt' \ - {-e,--exec}'[interpreter to run the tests]:program: _command_names '{-e,--exec}':*::program arguments: _normal' \ - '--harness=[define test harness]:harness:' \ - '--formatter=[result formatter]:formatter:' \ - '--source=[load or configure a SourceHandler]:source:' \ - {-a,--archive}'[store output in archive file]:file:_files' \ - {-j,--jobs}'[run N jobs in parallel]:jobs:' \ - '*--state=[control persistent state]: :_values -s , state last failed passed all hot todo slow fast new old fresh save' \ - '--statefile=[specify file to use instead of .prove]:state file:_files' \ - '--rc=[custom rcfile]:file:_files' \ - '*--rules=[limit tests run (or not) in parallel]:rules' \ - '*:file or directory:_files' diff --git a/result/sw/share/zsh/5.9/functions/_prstat b/result/sw/share/zsh/5.9/functions/_prstat deleted file mode 100644 index a9591912..00000000 --- a/result/sw/share/zsh/5.9/functions/_prstat +++ /dev/null @@ -1,41 +0,0 @@ -#compdef prstat - -local d_opt sort_key -d_opt=( - "u"\:"seconds past the epoch" - "d"\:"standard date format" -) - -sort_key=( - "cpu"\:"process CPU usage" - "pri"\:"process priority" - "rss"\:"resident set size" - "size"\:"size of process image" - "time"\:"process execution time" -) - -_arguments -A "-*" \ - '-a[information about processes and users]' \ - '-c[new reports below previous reports instead of overprinting them]' \ - '-C[processes or lwps that are bound to processor sets in the list]:processor set list' \ - '-d[specify the representation of time]:time representation:(($d_opt))' \ - '-h[only processes or lwps whose home lgroup is in the list]:lgroup list' \ - '-H[information about home lgroup]' \ - '-j[only processes or lwps whose project ID is in the given list]:project list' \ - '-J[information about processes and projects]' \ - '-k[only processes or lwps whose task ID is in tasklist]:task list'\ - '-L[statistics for each light-weight process (LWP)]' \ - '-m[microstate process accounting information]' \ - '-n[restrict number of output lines]:ntop,[nbottom]' \ - '-p[only processes whose process ID is in the list]:PID list' \ - '-P[only processes or lwps which have most recently executed on a CPU in the list]:CPU list' \ - '-R[put prstat in the real time scheduling class]' \ - '-s[sort key (descending)]:sort key [cpu]:(($sort_key))' \ - '-S[sort key (ascending)]:sort key [cpu]:(($sort_key))' \ - '-t[total usage summary for each user]' \ - '-T[information about processes and tasks]' \ - '-u[only processes whose effective user ID is in the list]:UID:_users' \ - '-U[only processes whose real user ID is in the list]:UID:_users' \ - '-v[verbose process usage]' \ - '-z[only processes or LWPs whose zone ID is in the list]:zone ID' \ - '-Z[information about processes and zones]' diff --git a/result/sw/share/zsh/5.9/functions/_ps b/result/sw/share/zsh/5.9/functions/_ps deleted file mode 100644 index 9b54cbcc..00000000 --- a/result/sw/share/zsh/5.9/functions/_ps +++ /dev/null @@ -1,244 +0,0 @@ -#compdef ps - -_ps_props() { - local opts - - if [[ $1 = -s ]]; then - shift - compset -P '[+-]' || _describe -t modifiers modifier \ - '( +:ascending\ order -:descending\ order )' -S '' - fi - - case $OSTYPE in - linux-gnu) opts=( ${${(f)"$(_call_program properties $words[1] L)"}%% *} ) ;; - *bsd*|dragonfly*|darwin*) opts=( $(_call_program properties $words[1] L) ) ;; - solaris*) opts=( ${=${(f)"$(_call_program properties $words[1] - 2>&1)"}[-3,-1]} ) ;; - esac - - compadd "$@" -a opts -} - -local curcontext="$curcontext" state line expl ret=1 -local short long pids -local -a args bsd bsdarg -local -A equivs - -args=( - '-a[select processes with tty except session leaders]' - {-A,-e}'[select every process]' - '-d[select all processes except session leaders]' - '*-p+[select processes by ID]:process ID:_sequence -s , _pids' - '*-G+[select processes by real group]:group:_sequence -s , _groups' - '*-g+[select processes by effective group or session]:group:_sequence -s , _groups' - '*-s+[select processes by session leaders]:session leader:_sequence -s , _pids' - '*-t+[select processes by attached terminal]:tty:_sequence -s , _ttys -Do' - '*-u+[select processes by effective user]:user:_sequence -s , _users' - '*-U+[select processes by real user]:user:_sequence -s , _users' - '-o+[specify output format]:property:_sequence -s , _ps_props -' - - '-c[show scheduler properties]' - '-f[full listing]' - '-j[show session ID and process group ID]' - '-l[long listing]' - '-L[show information about each light weight process]' - '-y[show RSS in place of ADDR (used with -l)]' -) - -bsd=( - 'a[include processes belonging to other users]' - '(j s u v X)l[output in long format]' - '(l s u v X)j[output in job control format]' - 'x[include processes with no controlling terminal]' - '(j l s u X)v[output in virtual memory format]' - '*w[wide output]' - 'L[display all format specifiers]' - 'S[include child process data with the parent]' - 'T[select processes attached to current terminal]' -) -bsdarg=( - '*p[select processes by ID]' - '*t[select processes by attached terminal]' - 'O[specify additional output fields]' - 'o[specify output format]' -) - -case $OSTYPE in - solaris2.<11->) - args+=( - '-h[select processes homed to the specified lgrp]:lgrp list' - '-H[show home lgroup of the process]' - ) - ;| - solaris*) - args+=( - '-P[show processor to which the process or lwp is bound]' - '*-z[select processes by zone]:zone list:_sequence _zones' - '-Z[show zone with which process is associated]' - ) - ;; - linux-gnu|dragonfly*|freebsd*|netbsd*|openbsd*) - bsd+=( - 'e[show environment after command]' - '(j l s v X)u[output in resource usage format]' - ) - bsdarg+=( - 'N[set namelist file for WCHAN display]' - '*U[select processes by effective user]' - ) - ;| - linux-gnu|dragonfly*|freebsd*|openbsd*) - bsd+=( 'H[show threads as if they were processes]' ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - bsd+=( - 'A[select every process]' - 'c[show just executable name for command]' - 'h[repeat header lines, one per page of output]' - '(r)m[sort by memory usage]' - '(m)r[sort by CPU usage]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - bsd+=( 'C[ignore resident time for CPU percentage]' ) - ;| - dragonfly*|freebsd*|netbsd*|openbsd*) - bsdarg+=( 'M[extract values from specified core]' ) - ;| - linux-gnu|netbsd*) bsdarg+=( 'k[specify sort order]' ) ;| - darwin*|freebsd*) - bsd+=( 'X[skip processes with no controlling terminal]' ) - bsdarg+=( '*G[select processes by real group]' ) - ;| - freebsd*|dragonfly*) - bsd+=( 'f[show command and environment for swapped out processes]' ) - ;| - netbsd*|openbsd*) - bsdarg+=( 'W[extract swap information from specified file]' ) - ;| - freebsd*|netbsd*) - bsd+=( - 'd[show process hierarchy]' - ) - ;| - darwin*) - bsd+=( - 'd[select all processes except session leaders]' - 'E[show environment after command]' - 'f[full listing]' - 'M[show threads corresponding to each process]' - ) - bsdarg+=( - '*g[select processes by process group leader]' - '*U[select processes by real user]' - ) - if [[ $words[CURRENT] = -* ]]; then - bsd+=( 'e[select every process]' ) - bsdarg+=( 'u[select processes by user id]' ) - else - bsd+=( - 'e[show environment after command]' - '(j l v)u[output in resource usage format]' - ) - fi - ;; - dragonfly*) - bsd+=( 'R[subsort by parent/child chain]' ) - ;; - freebsd*) - bsd+=( - '*J[select processes by jail ID]' - 'Z[show mac label]' - ) - ;; - netbsd*) bsd+=( '(j l u v)s[output in thread format]' ) ;; - openbsd*) - bsd+=( - 'k[display information about kernel threads]' - ) - ;; - linux-gnu) - args+=( - '-O+[specify additional output fields]:property:_sequence -s , _ps_props -' - '(-N --deselect)'{-N,--deselect}'[negate selection: all processes except those selected]' - '*-C[select processes by command name]:command:_sequence -s , _command_names -e' - '*--ppid[select processes by parent process ID]:parent process:_sequence -S , _pids' - '(-f)-F[extra full format listing]' - '--context[show SELinux security context format]' - '-M[show security data]' - '(--forest -H)'{--forest,-H}'[show process hierarchy]' - '--headers[repeat header lines, one per page of output]' - '(--cols --columns --width)'{--cols,--columns,--width}'[set screen width]:width' - '(--lines --rows)'{--lines,--rows}'[set screen height]' - '--cumulative[include child process data with the parent]' - '-n[set namelist file for WCHAN display]:file:_files' - '(--no-headers --no-heading)'{--no-headers,--no-heading}'[suppress headers]' - '(-q --quick-pid -a -A -d -e -N --deselect -C -p --pid --ppid -G --Group -g --group -s --sid -t --tty -u --user -U --User --forest -H --sort)'{-q+,--quick-pid=}'[select processes by ID (quick mode)]:process ID:_sequence -s , _pids' - '--sort=[specify sort order]:order:_sequence -s , _ps_props -s' - '-w[wide output]' - '-m[show threads after processes]' - '-T[show threads, with SPID column]' - '-Z[show security context format (SELinux)]' - '(- *)--help[display help information]::subject:(simple list output threads misc all)' - '(- *)--info[display debugging information]' - '(- *)'{-V,--version}'[display version information]' - ) - equivs=( G Group g group p pid s sid t tty U User u user o format ) - for short long in ${(kv)equivs}; do - args+=( ${${(M)args:#(\*|)-$short*}/$short+/-$long=} ) - done - bsd+=( - 'c[show true command name]' - 'f[show process hierarchy]' - 'h[suppress header]' - 'm[show threads after processes]' - 'n[numeric output for WCHAN and USER]' - 'r[select running processes]' - '(j l u v X)s[output in signal format]' - 'V[display version information]' - '(j l s u v)X[output in register format]' - 'Z[show security data]' - ) - bsdarg+=( 'q[select processes by ID (quick mode)]' ) - ;; -esac - -if (( CURRENT > 1 )) && [[ $OSTYPE != (solaris*|linux-gnu) || - ( $OSTYPE = linux-gnu && $words[CURRENT-1] != -* ) ]]; then - case $words[CURRENT-1] in - *k) - local sopt - [[ $OSTYPE = linux-gnu ]] && sopt='-s' - _wanted -C option-k-1 properties expl 'property' \ - _sequence -s , _ps_props $sopt - && return ;; - *g) [[ $OSTYPE = darwin* ]] && _wanted -C option-g-1 processes \ - expl 'process ID' _sequence -s , _pids && return ;; - *G) _sequence -s , _groups && return ;; - *J) _sequence _jails -0 && return ;; - *[MNW]) _files && return ;; - *t) - _wanted -C option-t-1 ttys expl tty _sequence -s , _ttys -Do && return - ;; - *[pq]) _wanted -C "option-${words[CURRENT-1][-1]}-1" processes \ - expl 'process ID' _sequence -s , _pids && return ;; - *U) _wanted -C option-U-1 users expl user _sequence -s , _users && return ;; - *u) [[ $OSTYPE = darwin* && $words[CURRENT-1] = -* ]] && \ - _wanted -C option-u-1 users expl user _sequence -s , _users && return ;; - *[oO]) _wanted -C "option-${words[CURRENT-1][-1]}-1" properties \ - expl 'property' _sequence -s , _ps_props - && return ;; - esac -fi - -if [[ $OSTYPE = (*bsd*|darwin*|dragonfly*) ]]; then - compset -P - && pids=1 -else - [[ $OSTYPE = solaris* ]] || args+=( '*:: :->rest' ) - _arguments -C -s $args && ret=0 - [[ -z "$state" ]] && return ret -fi - -_values -s '' -S ' ' 'option' $bsd && ret=0 -_values -S ' ' 'option' $bsdarg && ret=0 -if [[ -z $pids ]]; then - _pids && ret=0 -fi -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ps1234 b/result/sw/share/zsh/5.9/functions/_ps1234 deleted file mode 100644 index 0ea2cdda..00000000 --- a/result/sw/share/zsh/5.9/functions/_ps1234 +++ /dev/null @@ -1,174 +0,0 @@ -#compdef -value-,PROMPT,-default- -value-,PROMPT2,-default- -value-,PROMPT3,-default- -value-,PROMPT4,-default- -value-,RPROMPT,-default- -value-,RPROMPT2,-default- -value-,PS1,-default- -value-,PS2,-default- -value-,PS3,-default- -value-,PS4,-default- -value-,RPS1,-default- -value-,RPS2,-default- -value-,SPROMPT,-default- - -local -a specs ccol -local expl grp cols bs suf pre changed=1 ret=1 -local -A ansi - -[[ -z $compstate[quote] ]] && bs='\' - -# first strip off any complete prompt specifications leaving only the -# current, incomplete, one -while (( changed )); do - changed=0 - compset -P '%[DFK](\\|){[^}]#}' && changed=1 # formats with arg: %x{...} - compset -P '%[0-9-\\]#[^DFK(0-9-<>\\\[]' && changed=1 # normal formats - compset -P '%[0-9-\\]#(<[^<]#<|>[^>]#>|\[[^\]]#\])' && changed=1 # truncations - compset -P '%[0-9-\\]#(\\|)\([0-9-]#[^0-9]?|[^%]' && changed=1 # start of ternary - compset -P '[^%]##' && changed=1 # sundry other characters - # %D/%F/%K without a following { ... } - [[ $PREFIX = %(-|)<->#[DFK](\\[^{]|[^{\\])* ]] && - compset -P '%[0-9\\-]#[DFK]' && changed=1 -done -[[ $PREFIX = %(-|)<->[FK](#e) ]] && compset -P '*' # F/K with number - -if compset -P '%[FK]'; then - # this should use -P but that somehow causes single quotes to be stripped - compset -P '(\\|){' || pre=( -p '{' ) - compset -S '(\\|)}*' || suf=( -S "$bs}" ) - ansi=( - black 30 - red 31 - green 32 - yellow 33 - blue 34 - magenta 35 - cyan 36 - white 37 - default 39 - ) - - _description -V ansi-colors expl 'ansi color' - grp="$expl[expl[(i)-J]+1]" - print -v ccol -f "($grp)=%s=%s" ${(kv)ansi} - _comp_colors+=( $ccol ) - compadd "$expl[@]" $suf $pre -k ansi && ret=0 - if (( $#suf )) && compset -P "(<->|%v)"; then - _wanted ansi-colors expl 'closing brace' compadd -S '' \} && ret=0 - elif (( $+terminfo[colors] )); then - (( cols = $terminfo[colors] - 1 )) - (( cols = cols > 255 ? 255 : cols )) - _description -V terminal-colors expl 'terminal color' - grp="$expl[expl[(i)-J]+1]" - compadd "$expl[@]" $suf $pre {0..$cols} - for c in {0..$cols}; do - _comp_colors+=( "($grp)=${c}=${${${(%):-%F{$c\}}#?\[}%m}" ) - done - else - _message -e terminal-colors "number" - fi -fi - -if compset -P '%[0-9-\\]#(\\|)\([0-9-]#[^0-9]'; then - # ternary conditional: first delimiter - compset -S '*' - _delimiters && ret=0 -elif compset -P '%[0-9-\\]#[<>\]]'; then - # truncation - _message -e replacements 'replacement string' -elif compset -P '%[0-9-\\]#(\\|)\([0-9-]#'; then - # ternary conditional: condition character - compset -S '[.:+/-%]*' || suf=( -S . ) - compset -S '*' - specs=( - '!:running with privileges' - '#:effective uid' - '?:exit status' - '_:at least n shell constructs started' - 'C:at least n path elements' - '/:at least n path elements' - '.:at least n path elements' - 'c:at least n path elements' - '~:at least n path elements' - 'D:month' - 'd:day of month' - 'g:effective gid' - 'j:number of jobs' - 'L:SHLVL' - 'l:number of characters already printed' - 'S:SECONDS parameter at least n' - 'T:current hour' - 't:current minute' - 'v:psvar has at least n elements' - 'V:element n of psvar is set and non-empty' - 'w:day of week (Sunday = 0)' - ) - [[ $IPREFIX != *- ]] && _describe -t ternary-prompt-expressions \ - 'ternary prompt format test character' specs $suf && ret=0 - _message -e numbers number -elif compset -P '%D(\\|){'; then - compset -S '(\\|)}*' - _date_formats zsh && ret=0 -elif [[ -prefix '%' ]] || - ! zstyle -t ":completion:${curcontext}:prompt-format-specifiers" prefix-needed -then - specs=( - 'm:hostname up to first .' - '_:status of parser' - '^:reversed status of parser' - 'd:current working directory' - '/:current working directory' - '~:current working directory, with ~ replacement' - 'N:name of current script or shell function' - 'x:name of file containing code being executed' - 'c:deprecated' - '.:deprecated' - 'C:deprecated' - 'F:start using fg color' - 'K:start using bg color' - 'G:counts as extra character inside %{...%}' - '(:ternary expression %(x.true-string.false-string)' - ) - compset -P '%' || pre=( -p '%' ) - if ! compset -P '(-|)<->'; then - if [[ $service == -value-,SPROMPT,* ]]; then - specs+=( - 'r:suggested correction' - 'R:corrected string' - ) - fi - specs+=( - '%:A %' - '):A )' - 'l:current line (tty) with /dev/tty stripped' - 'M:full hostname' - 'n:username' - 'y:current line (tty)' - '#:a # when root, % otherwise' - '?:return status of last command' - 'h:current history event number' - '!:current history event number' - 'i:current line number' - 'I:current source line number' - 'j:number of jobs' - 'L:$SHLVL' - 'D:date in yy-mm-dd format' - 'T:current time of day, 24-hour format' - 't:current time of day, 12-hour am/pm format' - '@:current time of day, 12-hour am/pm format' - '*:current time of day, 24-hour format with seconds' - 'w:the date in day-dd format' - 'W:the date in mm/dd/yy format' - 'D{:format string like strftime' - 'B:start bold' - 'b:stop bold' - 'E:clear to end of line' - 'U:start underline' - 'u:stop underline' - 'S:start standout' - 's:stop standout' - 'f:reset fg color' - 'k:reset bg color' - '{:start literal escape sequence' - '}:stop literal escape sequence' - 'v:value from $psvar array' - '<:truncation from left %len<string<' - '>:truncation from right %len>string>' - '[:truncation from who knows where' - ) - fi - _describe -t prompt-format-specifiers 'prompt format specifier' \ - specs -S '' $pre && ret=0 - (( ! $#pre )) && _message -e prompt-format-specifiers number -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pscp b/result/sw/share/zsh/5.9/functions/_pscp deleted file mode 100644 index c2b8dd97..00000000 --- a/result/sw/share/zsh/5.9/functions/_pscp +++ /dev/null @@ -1,18 +0,0 @@ -#compdef pscp pscp.exe -#Generated by Felix Rosencrantz - -_arguments \ - '-p[preserve file attributes]' \ - "-q[quiet, don't show statistics]" \ - '-r[copy directories recursively]' \ - '-v[show verbose messages]' \ - '-load[load settings from saved session]:session' \ - '-P[connect to specified port]:port:_ports' \ - '-l[connect with specified username]:username:_users' \ - '-pw[login with specified password]:password' \ - '(-1 -2)'{-1,-2}'[force use of particular SSH protocol version]' \ - '-C[enable compression]' \ - '-i[specify private key file for authentication]:private key file:_files' \ - '-batch[disable all interactive prompts]' \ - '-unsafe[allow server-side wildcards (DANGEROUS)]' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_pspdf b/result/sw/share/zsh/5.9/functions/_pspdf deleted file mode 100644 index 1df3f860..00000000 --- a/result/sw/share/zsh/5.9/functions/_pspdf +++ /dev/null @@ -1,14 +0,0 @@ -#compdef gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii ghostview mgv pstoedit pstotgif - -local expl ext - -# ghostscript: -# gs gsbj gsdj gsdj500 gslj gslp gsnd ps2ascii - -if [[ "$1" == '-z' ]]; then - ext='(|.gz|.Z)' - shift -fi - -_description files expl 'PostScript or PDF file' -_files "$@" "$expl[@]" -g "*.(#i)(pdf|ps|eps)$ext(-.)" diff --git a/result/sw/share/zsh/5.9/functions/_psutils b/result/sw/share/zsh/5.9/functions/_psutils deleted file mode 100644 index 1dafb46c..00000000 --- a/result/sw/share/zsh/5.9/functions/_psutils +++ /dev/null @@ -1,119 +0,0 @@ -#compdef epsffit extractres fixdlsrps fixfmps fixmacps fixpsditps fixpspps fixscribeps fixtpps fixwfwps fixwpps fixwwps includeres psbook psmerge psnup psresize psselect pstops getafm showchar - -case "$service" in -epsffit) - _arguments \ - '-v[print version]' \ - '-c[centres the image in the bounding box given]' \ - '-r[rotates the image by 90 degrees anti-clockwise]' \ - '-a[alters the aspect ratio to fit the bounding box]' \ - '-s[adds a showpage at the end of the image]' \ - '-m[rotates the image to maximise the size]' \ - ':lower left x:' \ - ':lower left y:' \ - ':upper right x:' \ - ':upper right y:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psbook) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-s-[signature size]:signature size:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psnup) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - '(-P)-W-[input page width]:input paper width:' \ - '(-P)-H-[input page height]:input paper height:' \ - '(-W -H)-P-[input page paper]:input paper paper:(a3 a4 a5 b5 letter legal 10x14)' \ - '( -r -f)-l[landscape (rotated left)]' \ - '(-l -f)-r[seascape (rotated right)]' \ - '(-l -r )-f[flipped]' \ - '-c[column major layout]' \ - '-m-[margins around whole page]:margins around whole page:' \ - '-b-[border around individual pages]:border around individual pages:' \ - '-d-[draw borders]:line width for borders:' \ - '-s-[override scale]:scale:' \ - '( -4 -8 -n)-2[2 logical pages on a sheet]' \ - '(-2 -8 -n)-4[4 logical pages on a sheet]' \ - '(-2 -4 -n)-8[8 logical pages on a sheet]' \ - '(-2 -4 -8 )-n[n-up]:pages on a sheet:' \ - '-t-[layout tolerance]:layout tolerance:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psresize) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - '(-P)-W-[input page width]:input paper width:' \ - '(-P)-H-[input page height]:input paper height:' \ - '(-W -H)-P-[input page paper]:input paper paper:(a3 a4 a5 b5 letter legal 10x14)' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -psselect) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-e[select even pages]' \ - '-o[select odd pages]' \ - '-r[reverse order]' \ - '-p-[pages]:pages:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -pstops) - _arguments \ - '-q[quiet mode]' \ - '-v[print version]' \ - '-d-[draw borders]:line width for borders:' \ - '-b[no bind operator]' \ - '(-p)-w-[page width]:paper width:' \ - '(-p)-h-[page height]:paper height:' \ - '(-w -h)-p-[page size]:paper size:(a3 a4 a5 b5 letter legal 10x14)' \ - ':[modulo\:][-]pageno[L][R][U][@scale][(xoff,yoff)][+|,]...:' \ - ':input file:_postscript' \ - ':output file:_postscript' - ;; -extractres) - _arguments \ - '-m[merge]' \ - ':input file:_postscript' - ;; -fixmacps) - _arguments \ - '-d[directory]:directory:_files -/' \ - '-n[name]:name:' \ - ':input file:_postscript' - ;; -psmerge) - _arguments \ - '-o-[output file]:output file:_postscript' \ - '-t[thorough]' \ - '*:input file:_postscript' - ;; -fixdlsrps|fixfmps|fixpsditps|fixpspps|fixscribeps|fixtpps|fixwfwps|fixwpps|fixwwps|includeres) - _postscript - ;; -getafm) - _arguments \ - ':font name:' - ;; -showchar) - _arguments \ - ':font name:' \ - ':character name:' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_ptree b/result/sw/share/zsh/5.9/functions/_ptree deleted file mode 100644 index 754979c3..00000000 --- a/result/sw/share/zsh/5.9/functions/_ptree +++ /dev/null @@ -1,7 +0,0 @@ -#compdef ptree - -_arguments -s \ - '-a[all processes]' \ - '-c[show contract memberships]' \ - '-z[show processes in zone]:zone:_zones' \ - '*: : _alternative "users:logged-in user:_users_on" "pids:pid:_pids"' diff --git a/result/sw/share/zsh/5.9/functions/_ptx b/result/sw/share/zsh/5.9/functions/_ptx deleted file mode 100644 index 12f1d2c9..00000000 --- a/result/sw/share/zsh/5.9/functions/_ptx +++ /dev/null @@ -1,54 +0,0 @@ -#compdef ptx - -local -a specs optA - -# common specs -specs=( - '(hv -b --break-file)'{-b+,--break-file=}'[use characters in specified file as word separators]:break file:_files' - '(hv -f --ignore-case)'{-f,--ignore-case}'[fold lower case to upper case for sorting]' - '(hv -g --gap-size)'{-g+,--gap-size=}'[specify gap size between output fields]:number of chars [3]: ' - '(hv -i --ignore-file)'{-i+,--ignore-file=}'[ignore keywords listed in specified file]:ignore file:_files' - '(hv -o --only-file)'{-o+,--only-file=}'[use only the keywords listed in specified file]:only file:_files' - '(hv -r --references)'{-r,--references}'[first field of each line is a reference]' - '(hv -w --width)'{-w+,--width=}'[specify page width, reference excluded]:number of characters [72]: ' -) - -if _pick_variant gnu=GNU unix --version; then - # GNU coreutils 8.32 - specs+=( - '(hv -A --auto-reference)'{-A,--auto-reference}'[output automatically generated references]' - '(hv -G --traditional)'{-G,--traditional}"[behave more like System V 'ptx']" - '(hv -F --flag-truncation)'{-F+,--flag-truncation=}'[specify string for flagging line truncations]:string [/]: ' - '(hv -M --macro-name)'{-M+,--macro-name=}"[specify macro name to use instead of 'xx']:macro name: " - '(hv)-O[generate output as roff directives]' - '(hv -R --right-side-refs)'{-R,--right-side-refs}'[put references at right, not counted in -w]' - '(hv -S --sentence-regexp)'{-S+,--sentence-regexp=}'[specify regexp for end of lines/sentences]:regexp: ' - '(hv)-T[generate output as TeX directives]' - '(hv -W --word-regexp -b --break-file)'{-W+,--word-regexp=}'[specify regexp to match each keyword]:regexp: ' - '(hv)--format=[specify the output format]:format:(roff tex)' - !{-t,--typeset-mode}'[not implemented]' - + hv - '(: * -)--help[display help and exit]' - '(: * -)--version[output version information and exit]' - ) - if (( $words[(I)(-G|--traditional)] )); then - specs+=( + arg '1:input file:_files' '2:output file:_files' ) - else - specs+=( + arg '(-G --traditional)*:input file:_files' ) - fi -else - # The only non-GNU implementation I can find is the one in - # heirloom-doctools. FreeBSD has a package for this. - specs=( ${specs:#(|*\))--*} ) # remove long options - # remove '+' from -b+ -g+ -i+ -o+ -w+ - local MATCH MBEGIN MEND - specs=( ${specs/(#m)-[bgiow]+/$MATCH[1,-2]} ) - specs+=( - '-t[prepare output for typesetter]' - '1:input file:_files' - '2:output file:_files' - ) - optA=( -A '-?*' ) # a single '-' is a valid file name (stdin) -fi - -_arguments -s -S $optA : $specs diff --git a/result/sw/share/zsh/5.9/functions/_pump b/result/sw/share/zsh/5.9/functions/_pump deleted file mode 100644 index 08ec026e..00000000 --- a/result/sw/share/zsh/5.9/functions/_pump +++ /dev/null @@ -1,24 +0,0 @@ -#compdef pump - -_arguments \ - '(-c --config-file=)'{-c,--config-file=}'[specify configuration file to use]:configuration file:_files' \ - '(-h --hostname=)'{-h,--hostname=}'[specify hostname to request]:hostname:_hosts' \ - '(-i --interface=)'{-i,--interface=}'[specify interface to configure]:interface:_net_interfaces' \ - '(-k --kill)'{-k,--kill}'[kill daemon (and disable all interfaces)]' \ - '(-l --lease=)'{-l,--lease=}'[specify lease time to request]:time (hours)' \ - '(-L --leasesecs=)'{-L,--leasesecs=}'[specify seconds to request for]:time (seconds)]' \ - '(-r --release)'{-r,--release}'[release interface]:interface:_net_interfaces' \ - '(-R --renew)'{-R,--renew}'[force immediate lease renewal]:interface:_net_interfaces' \ - '(-v --verbose)'{-v,--verbose}'[log verbose debug info]' \ - '(-s --status)'{-s,--status}'[display interface status]:interface:_net_interfaces' \ - '(-d --no-dns)'{-d,--no-dns}"[don't update resolv.conf]" \ - '(- *)'{-?,--help}'[display help information]' \ - "--no-gateway[don't set a gateway for this interface]" \ - "--no-setup[don't set up anything]" \ - "--no-resolvconf[don't set up resolvconf]" \ - '--no-bootp[ignore non-DHCP BOOTP responses]' \ - '--lookup-hostname[force lookup of hostname]' \ - '--script=[specify script to use]:script:_files' \ - "--win-client-ident[set the client identifier to match window's]" \ - '--usage[display brief usage message]' \ - ':interface:_net_interfaces' diff --git a/result/sw/share/zsh/5.9/functions/_putclip b/result/sw/share/zsh/5.9/functions/_putclip deleted file mode 100644 index bc7bd3bb..00000000 --- a/result/sw/share/zsh/5.9/functions/_putclip +++ /dev/null @@ -1,12 +0,0 @@ -#compdef putclip putclip.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--dos -d --unix -u --no-conv -n)'{-d,--dos}'[clipboard text will have DOS line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-u,--unix}'[clipboard text will have UNIX line endings]' \ - '(--dos -d --unix -u --no-conv -n)'{-n,--no-conv}'[do not translate line endings]' \ - '(-)'{-\?,--help}'[display help information]' \ - '(-)--usage[display brief usage message]' \ - '(-)--version[display version information]' \ - '(-)--license[display licensing information]' diff --git a/result/sw/share/zsh/5.9/functions/_pv b/result/sw/share/zsh/5.9/functions/_pv deleted file mode 100644 index d02d3a35..00000000 --- a/result/sw/share/zsh/5.9/functions/_pv +++ /dev/null @@ -1,75 +0,0 @@ -#compdef pv - -local curcontext="$curcontext" ign Edesc ret=1 -local -a state state_descr line expl suf args fmts -local -A opt_args - -(( $#words > 2 )) && ign='!' -(( $+words[(r)-[^-]#E*] )) && Edesc=' and only report a read error once per file' -[[ $OSTYPE = linux* ]] && args=( - '(-d --watchfd)'{-d+,--watchfd=}'[watch file descriptor opened by process]:process\:fd:->pid-fds' \ -) - -_arguments -s -S $args \ - '(-p --progress -F --format)'{-p,--progress}'[show progress bar]' \ - '(-t --timer -F --format)'{-t,--timer}'[show elapsed time]' \ - '(-e --eta -F --format)'{-e,--eta}'[show estimated time of arrival]' \ - '(-I --fineta -F --format)'{-I,--fineta}'[show absolute estimated time of arrival]' \ - '(-r --rate -F --format)'{-r,--rate}'[show data transfer rate counter]' \ - '(-a --average-rate -F --format)'{-a,--average-rate}'[show data transfer average rate counter]' \ - '(-b --bytes -F --format)'{-b,--bytes}'[show number of bytes transferred]' \ - '(-T --buffer-percent -F --format)'{-T,--buffer-percent}'[show percentage of transfer buffer in use]' \ - '(-A --last-written -F --format)'{-A+,--last-written=}'[show number of bytes last written]:number (bytes)' \ - '(-F --format -p --progress -t --timer -e --eta -I --fineta -r --rate -a --average-rate -b --bytes -T --buffer-percent -A --last-written -F --format)'{-F+,--format=}'[set output format]:format:->formats' \ - '(-n --numeric -f --force)'{-n,--numeric}'[output percentages, not visual information]' \ - '(-q --quiet)'{-q,--quiet}"[don't output any transfer information at all, useful with -L]" \ - '(-W --wait)'{-W,--wait}'[display nothing until first byte transferred]' \ - '(-D --delay-start -R --remote)'{-D+,--delay-start=}'[display nothing until delay has passed]:delay (seconds)' \ - '(-s --size)'{-s+,--size=}'[set estimated data size]: :_numbers -u bytes size K M G T' \ - '(-l --line-mode -R --remote)'{-l,--line-mode}'[count lines instead of bytes]' \ - '(-0 --null -l --line-mode)'{-0,--null}'[lines are null-terminated]' \ - '(-i --interval)'{-i+,--interval=}'[update every after specified interval]:interval (seconds) [1]' \ - '(-w --width)'{-w+,--width}'[assume terminal is specified characters wide]:width' \ - '(-H --height)'{-H+,--height=}'[assume terminal is specified rows high]:height' \ - '(-N --name)'{-N+,--name=}'[prefix visual information with given name]:name' \ - '(-f --force -R --remote)'{-f,--force}'[output even if standard error is not a terminal]' \ - '(-c --cursor -R --remote)'{-c,--cursor}'[use cursor positioning escape sequences]' \ - '(-L --rate-limit)'{-L+,--rate-limit=}'[limit transfer rate]: :_numbers -u "bytes per second" rate K M G T' \ - '(-B --buffer-size)'{-B+,--buffer-size=}'[use a buffer size of given size]: :_numbers -u bytes size K M G T' \ - '(-C --no-splice)'{-C,--no-splice}'[never use splice(), always use read/write]' \ - '(-R --remote)*'{-E,--skip-errors}"[skip read errors in input${Edesc}]" \ - '(-S --stop-at-size -R --remote)'{-S,--stop-at-size}'[stop after --size bytes have been transferred]' \ - '(-R --remote -c --cursor -l --line-mode -f --force -D --delay-start -E --skip-errors -S --stop-at-size)'{-R+,--remote=}'[update settings of specified process]:process:_pids -m pv' \ - '(-P --pidfile)'{-P+,--pidfile=}'[save process id in a file]:file:_files' \ - "${ign}(- *)"{-h,--help}'[display usage information]' \ - "${ign}(- *)"{-V,--version}'[display version information]' \ - '*:file:_files' && ret=0 - -case $state in - formats) - compset -P '(%?|%<->A|[^%])#' - fmts=( - 'p:progress bar' - 't:elapsed time' - 'e:estimated time remaining' - 'I:estimated time of completion' - 'r:current data transfer rate' - 'a:average data transfer rate' - 'b:bytes transferred so far' - 'T:percentage of transfer buffer in use' - 'N:name prefix' - '%:literal %' - ) - _describe -t format-specifiers 'format specifier' fmts -p % -S '' - ;; - pid-fds) - if compset -P 1 '*:'; then - _message -e file-descriptors 'file descriptor' - else - compset -S ':*' || suf=( -qS : ) - _pids $suf && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_pwgen b/result/sw/share/zsh/5.9/functions/_pwgen deleted file mode 100644 index f8ab1cb9..00000000 --- a/result/sw/share/zsh/5.9/functions/_pwgen +++ /dev/null @@ -1,19 +0,0 @@ -#compdef pwgen - -_arguments -s -S \ - '(-h --help -c --capitalize -A --no-capitalize)'{-c,--capitalize}'[include at least one capital letter in the password]' \ - '(-h --help -c --capitalize -A --no-capitalize)'{-A,--no-capitalize}"[don't include capital letters in the password]" \ - '(-h --help -n --numerals -0 --no-numerals)'{-n,--numerals}'[include at least one number in the password]' \ - '(-h --help -n --numerals -0 --no-numerals)'{-0,--no-numerals}"[don't include numbers in the password]" \ - '(-h --help -y --symbols)'{-y,--symbols}'[include at least one special symbol in the password]' \ - '(-h --help -r --remove-chars)'{-r+,--remove-chars=}'[remove characters from the set of characters to generate passwords]:characters' \ - '(-h --help -s --secure)'{-s,--secure}'[generate completely random passwords]' \ - '(-h --help -B --ambiguous)'{-B,--ambiguous}"[don't include ambiguous characters in the password]" \ - '(- 1 2)'{-h,--help}'[print a help message]' \ - '(-h --help -H --sha1)'{-H+,--sha1=}'[use sha1 hash of given file as a (not so) random generator]:file:_files -S \# -qr "/ \t\n\-"' \ - '(-h --help -1)-C[print the generated passwords in columns]' \ - "(-h --help -C)-1[don't print the generated passwords in columns]" \ - '(-h --help -v --no-vowels)'{-v,--no-vowels}"[don't use any vowels so as to avoid accidental nasty words]" \ - '(-N --num-passwords 2)'{-N,--num-passwords}'[specify number of passwords to generate]' \ - '!-a' '!--alt-phonics' \ - '1: :_guard "^-*" "length"' '(-N --num-passwords)2: :_guard "^-*" "number of passwords"' diff --git a/result/sw/share/zsh/5.9/functions/_pydoc b/result/sw/share/zsh/5.9/functions/_pydoc deleted file mode 100644 index 677c96ad..00000000 --- a/result/sw/share/zsh/5.9/functions/_pydoc +++ /dev/null @@ -1,34 +0,0 @@ -#compdef -P pydoc[0-9.]# - -local curcontext=$curcontext state state_descr line ret=1 -typeset -A opt_args -local -a args - -args=( - '(- *)-k[search keyword]:keyword' - '(-k -g -w *)-p[start web server on specified port]:port number' - '(-)-w[write out HTML in current directory]' - '(-)*: :->lookup' -) - -if _pick_variant pydoc3='pydoc3 -b' pydoc2 -h; then - args+=( '(-k -w *)-b[start server and open browser]' ) -else - args+=( '(- *)-g[start gui]' ) -fi - -_arguments -C : $args && return 0 - -case $state in -(lookup) - if [[ $words[CURRENT] = */* ]]; then - _files && ret=0 - else - _alternative \ - 'keywords:keyword:compadd ${=${${(f)"$(_call_program keywords $words[1] keywords)"}[2,-1]}}' \ - 'topics:topic:compadd ${=${${(f)"$(_call_program topics $words[1] topics)"}[2,-1]}}' \ - 'modules:module:_python_modules' && ret=0 - fi -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_python b/result/sw/share/zsh/5.9/functions/_python deleted file mode 100644 index e5bac18b..00000000 --- a/result/sw/share/zsh/5.9/functions/_python +++ /dev/null @@ -1,60 +0,0 @@ -#compdef -P python[0-9.]# - -# Python 2.7 -# Python 3.9 - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args -local -a args - -if _pick_variant python3=Python\ 3 python2 --version; then - args=( - '(-bb)-b[issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]' - '(-b)-bb[issue errors about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str]' - '--check-hash-based-pycs[configure how Python evaluates up-to-dateness of hash-based .pyc files]:mode:(always default never)' - "-I[isolate Python from the user's environment]" - '-q[do not print version and copyright messages]' - '-X[set implementation-specific option]:option' - ) -else - args=( - '-R[use a pseudo-random salt to make hash values unpredictable]' - '-Q+[division options]:division option:(old warn warnall new)' - '(-tt)-t[issue warnings about inconsistent tab usage]' - '(-t)-tt[issue errors about inconsistent tab usage]' - '-3[warn about Python 3.x incompatibilities]' - ) -fi - -_arguments -C -s -S "$args[@]" \ - "-B[don't write .py\[co\] files on import]" \ - '(1 -)-c+[program passed in as string (terminates option list)]:python command' \ - '-d[debug output from parser]' \ - '-E[ignore PYTHON* environment variables (such as PYTHONPATH)]' \ - '(1 * -)-h[display help information]' \ - '-i[inspect interactively after running script]' \ - '(1 -)-m+[run library module as a script (terminates option list)]:module:_python_modules' \ - '-O[optimize generated bytecode slightly]' \ - '-OO[remove doc-strings in addition to the -O optimizations]' \ - "-s[don't add user site directory to sys.path]" \ - "-S[don't imply 'import site' on initialization]" \ - '-u[unbuffered binary stdout and stderr]' \ - '(-vv)-v[trace module initialization and cleanup]' \ - '(-v)-vv[in addition to -v, trace all files checked when searching for a module]' \ - '(1 * -)-V[display version information]' \ - '-W+[warning control]:warning filter (action\:message\:category\:module\:lineno):(default always ignore module once error)' \ - '-x[skip first line of source, allowing use of non-Unix forms of #!cmd]' \ - '(-)1:Python script:_files -g "*.py(|c|o)(-.)"' \ - '*::script argument:= ->normal' && return - -case "$state" in - normal) - if [[ -z "$opt_args[(I)-(c|m)]" ]]; then - shift words - (( CURRENT-- )) - fi - _normal && return - ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_python_modules b/result/sw/share/zsh/5.9/functions/_python_modules deleted file mode 100644 index e82f8efb..00000000 --- a/result/sw/share/zsh/5.9/functions/_python_modules +++ /dev/null @@ -1,42 +0,0 @@ -#autoload - -_python_module_caching_policy () { - local -a newer - # rebuild if cache does not exist or is more than a week old - newer=( "$1"(Nmw-1) ) - return $#newer -} - -_python_modules () { - local update_policy python expl - - case $words[1] in - (python*) python=$words[1] ;; - (pydoc*) python=${words[1]/#pydoc/python} ;; - (*) python="python" ;; - esac - local cache_id=${${python//[^[:alnum:]]/_}#_}_modules - local array_name=_${cache_id} - - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - [[ -z "$update_policy" ]] && \ - zstyle ":completion:${curcontext}:" \ - cache-policy _python_module_caching_policy - - if ( [[ ${(P)+array_name} -eq 0 ]] || _cache_invalid $cache_id ) && - ! _retrieve_cache $cache_id; then - - local script='import pkgutil -for importer, name, ispkg in pkgutil.iter_modules(): print(name)' - - typeset -agU $array_name - set -A $array_name \ - $(_call_program modules $python -c ${(q)script} 2>/dev/null) - - _store_cache $cache_id $array_name - fi - - _wanted modules expl module compadd "$@" -a -- $array_name -} - -_python_modules "$@" diff --git a/result/sw/share/zsh/5.9/functions/_qdbus b/result/sw/share/zsh/5.9/functions/_qdbus deleted file mode 100644 index 95a4d524..00000000 --- a/result/sw/share/zsh/5.9/functions/_qdbus +++ /dev/null @@ -1,114 +0,0 @@ -#compdef qdbus -# -# Copyright (C) 2015 Thomas Mitterfellner <thomas.mitterfellner@gmail.com> -# -# This file is released under the GPLv2. -# -# version 0.1 - -# get the type of a method: 1 means function, 2 means property -getType () { - case "$1" in - "method"*) echo 1 ;; - "property"*) echo 2 ;; - *) echo 0 ;; - esac -} - -# get the index of a method in an array of methods -getIndex () { - local e - local index - local type_ - index=0 - for e in "${@:2}"; do - index=$(( index + 1 )) - type_=$(getType "$e") - if [[ $type_ == 1 ]] ; then - if [[ "$e" == *"$1("* ]] ; then - echo $index - return 0 - fi - elif [[ $type_ == 2 ]] ; then - if [[ "$e" == *"$1" ]] ; then - echo $index - return 0 - fi - fi - done - echo 0 -} - -_qdbus() { - local curcontext="$curcontext" state line - local services - local path_ - local methods - local names - local types - local properties - local index - typeset -A opt_args - - _arguments "--system[connect to system bus]"\ - "--literal[print literal replies]"\ - "1:service name:->service"\ - "2:path:->path"\ - "3:method:->method"\ - "*:arguments:->arguments" - - case $state in - service) - services=( $(qdbus ${words[@]:1:-1} | grep -E '^([^:])') ) - compadd "$@" $services - ;; - - path) - path_=( $(qdbus ${words[@]:1:-1} 2>/dev/null) ) - - compadd "$@" $path_ - ;; - - method) - IFS=$'\n' - methods=( $(qdbus ${words[@]:1:-1} | \ - grep -e "^method" | \ - sed -r 's/method (.+) (.+)\((.*)\)/\2:\1(\3)/g' 2>/dev/null) ) - properties=( $(qdbus ${words[@]:1:-1} | \ - grep -e "^property" | \ - sed -r 's/property (.+) (.+) (.+)/\3:\1 \2/g' 2>/dev/null) ) - - _describe properties properties -J properties - _describe methods methods -J methods - ;; - - arguments) - IFS=$'\n' - - path_pos=$(( ${(M)#words:#--*} + 2)) - method_pos=$(( $path_pos + 2)) - names=( $(qdbus ${words[@]:1:$path_pos} | grep -e '^[mp]' 2>/dev/null) ) - index=$(getIndex "${words[$method_pos]}" $names[@]) - method=$names[$index] - - arg_pos=$(( ${#words} - $method_pos )) - if [[ $(getType "$method") -eq 1 ]] ; then - method_args="$(echo $method | sed -r 's/(.+) (.+) (.+)\((.*)\)/\4/g')" - IFS=$',' method_args_=(${=method_args}) - num_args=${#method_args_} - if [[ $arg_pos -le $num_args ]] ; then - _message "${method_args_[$arg_pos]}" - fi - else - property_=$(echo "$method" |\ - sed -r 's/property (.+) (.+) (.+)/\1 \2/g') - if [[ $arg_pos -eq 1 ]] ; then - - _message ${property_} - fi - fi - ;; - esac -} - -_qdbus "$@" diff --git a/result/sw/share/zsh/5.9/functions/_qemu b/result/sw/share/zsh/5.9/functions/_qemu deleted file mode 100644 index 7bc02c30..00000000 --- a/result/sw/share/zsh/5.9/functions/_qemu +++ /dev/null @@ -1,55 +0,0 @@ -#compdef -P qemu(|-system-*) - -_qemu_log_items () { - local -a opts hline - $service -d \? 2>/dev/null | while read -A hline; do - [[ $hline[1] = Log ]] && continue - opts=($opts "${hline[1]}[${hline[2,-1]}]") - done - _values -s , 'log item' $opts -} - -local _qemu_machines - -_qemu_machines=(${${${(f)"$($service -M \? 2>/dev/null)"}[2,-1]}%% *}) - -_arguments \ - '-'{fda,fdb,hda,hdb,hdc,hdd,cdrom}':disk image:_files' \ - '-M[target machine]:machine:('"${_qemu_machines:-none}"')' \ - '-boot[specify which image to boot from]:boot device:((a\:floppy\ image\ a c\:hard\ disk d\:cdrom))' \ - '-snapshot[write to temporary files instead of disk image files]' \ - '-no-fd-bootchk[disable boot sig checking for floppies in Bochs BIOS]' \ - '-m[specify virtual RAM size]:size (MB) [128]' \ - '-smp[set the number of CPUs]:number of CPUs [1]' \ - '-nographic[disable graphical output]' \ - '-vnc[listen on VNC display]:display:' \ - '-k[use keyboard layout]:keyboard layout language:(ar de-ch es fo fr-ca hu ja mk no pt-br sv da en-gb et fr fr-ch is lt nl pl ru th de en-us fi fr-be hr it lv nl-be pt sl tr)' \ - '-audio-help[show audio subsystem help]' \ - '-soundhw[enable audio and selected sound hardware]:cards to enable:(all)' \ - '-localtime[set rtc to local time]' \ - '-full-screen[start in full screen]' \ - '-pidfile:pidfile:_files' \ - '-win2k-hack' \ - '-usb[enable USB driver]' \ - '-usbdevice:usb device:' \ - '-net:net config:(none)' \ - '-tftp[allow tftp access to files starting with prefix]:tftp prefix:_files' \ - '-smb[allow SMB access to files in specified directory]:samba directory:_path_files -/' \ - '-redir[redirect TCP or UDP connections from host to guest]:redirection: ' \ - '-kernel[boot specified linux kernel]:kernel image:_files' \ - '-append[use specified kernel command line]:command line: ' \ - '-initrd[use specified initial ram disk]:ram disk:_files' \ - '-serial:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-parallel:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-monitor:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \ - '-s[wait gdb connection to port 1234]' \ - '-p[change gdb connection port]:port:_ports' \ - '-S[do not start CPU at startup]' \ - '-d[output log in /tmp/qemu.log]:log item:_qemu_log_items' \ - '-hdachs[force hard disk 0 geometry (usually qemu can guess it)]:hd0 geometry c,h,s:' \ - '-vga[select video card type]:card type:(std cirrus vmware qxl xenfb none)' \ - '-no-acpi[disable ACPI]' \ - '-loadvm[start right away with a saved state]:file:_files' \ - '-g[set initial graphic mode]:graphic mode:' \ - ':disk image:_files' - diff --git a/result/sw/share/zsh/5.9/functions/_qiv b/result/sw/share/zsh/5.9/functions/_qiv deleted file mode 100644 index 35ceec09..00000000 --- a/result/sw/share/zsh/5.9/functions/_qiv +++ /dev/null @@ -1,50 +0,0 @@ -#compdef qiv - -_arguments -s \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-v,--version}'[display version information]' \ - '--display:display:_x_display' \ - \*{-F,--file}'[read file names from file]:file:_files' \ - '(-B --browse)'{-B,--browse}'[scan directory of file for browsing]' \ - '(-e --center)'{-e,--center}'[disable window centering]' \ - '(-C --cycle)'{-C,--cycle}"[don't cycle after last image]" \ - '(-w --fixed_width -W --fixed_zoom)'{-w,--fixed_width}'[use window with specified width]:width' \ - '(-w --fixed_width -W --fixed_zoom)'{-W,--fixed_zoom}'[use window with specified zoom factor]:zoom (percentage)' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-x,--root}'[use image as the current desktop background, centered]:image file:_files' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-y,--root_t}'[use image on the current desktop background, tiled]:image file:_files' \ - '(-x -y -z --root --root_t --root_s -f --file *)'{-z,--root_s}'[use image as the current desktop background, stretched]:image file:_files' \ - '(-m --maxpect)'{-m,--maxpect}'[expand image to fit screen size]' \ - '(-t --scale_down)'{-t,--scale_down}'[shrink images to fit screen size]' \ - "--trashbin[move files to user's trash bin instead of .qiv-trash when deleting]" \ - '(-b --brightness)'{-b,--brightness}'[set brightness]:brightness (-32..32)' \ - '(-c --contrast)'{-c,--contrast}'[set contrast]:contrast (-32..32)' \ - '(-g --gamma)'{-g,--gamma}'[set gamma]:gamma (-32..32)' \ - '(-n --no_filter)'{-n,--no_filter}'[disable filtering of images by extension]' \ - '(-i --no_statusbar -I --statusbar)'{-i,--no_statusbar}'[disable statusbar]' \ - '(-i --no_statusbar -I --statusbar)'{-I,--statusbar}'[enable statusbar]' \ - '(-p --transparency)'{-p,--transparency}'[enable transparency]' \ - '(-a --do_grab)'{-a,--do_grab}'[grab the pointer in windowed mode]' \ - '(-G --disable_grab)'{-G,--disable_grab}'[disable pointer grabbing in fullscreen mode]' \ - '(-o --bg_color)'{-o,--bg_color}'[set root background color]:color:_x_color' \ - '(-s --slide)'{-s,--slide}'[start slideshow immediately]' \ - '(-r --random)'{-r,--random}'[shuffle images for slideshow]' \ - '(-R --readonly)'{-R,--readonly}'[disable delete feature]' \ - '(-S --shuffle)'{-S,--shuffle}'[shuffle images for next/prev feature]' \ - '(-d --delay)'{-d,--delay}'[set slideshow delay]:delay (seconds)' \ - '(-f --fullscreen)'{-f,--fullscreen}'[use fullscreen window on startup]' \ - '(-P --ignore_path_sort)'{-P,--ignore_path_sort}'[sort images by just the filename]' \ - '(-M --merged_case_sort)'{-M,--merged_case_sort}'[sort images case-insensitively]' \ - '(-K --mtime_sort)'{-K,--mtime_sort}'[sort images by their modification time]' \ - '(-N --numeric_sort -K --mtime_sort)'{-N,--numeric_sort}'[numeric image sort]' \ - '(-D --no_sort -N --numeric_sort -K --mtime_sort -M --merged_case_sort -P --ignore_path_sort)'{-D,--no_sort}"[don't apply any sorting to the images]" \ - '(-T --watch)'{-T,--watch}'[reload the image if it changes]' \ - '(-u --recursivedir)'{-u,--recursivedir}'[recursively include all files]' \ - '(-L --followlinks)'{-L,--followlinks}'[follow symlinks to directories]' \ - '(-A --select_dir)'{-A,--select_dir}'[store selected files in specified directory]:directory [.qiv-select]:_directories' \ - '(-l --autorotate)'{-l,--autorotate}"[don't autorotate JPEGs according to EXIF rotation tag]" \ - '(-q --rotate)'{-q,--rotate}'[rotate image]:angle:((1\:90 2\:180 3\:270))' \ - '(-X --xineramascreen)'{-X,--xineramascreen}'[specify preferred screen]:screen' \ - '(-Y --source_profile)'{-Y,--source_profile}'[specify colour profile file as source profile]:colour profile file:_files' \ - '(-Z --display_profile)'{-Z,--display_profile}'[specify colour profile file as display profile]:colour profile file:_files' \ - '--vikeys[enable movement with h/j/k/l]' \ - '*:image file:_files -g "*.(#i)(bmp|eim|gif|ico|jp([eg]|eg)|pcx|png|p[pngb]m|pjpeg|svg|tif(|f)|wmf|x[pb]m)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_qtplay b/result/sw/share/zsh/5.9/functions/_qtplay deleted file mode 100644 index 839efee8..00000000 --- a/result/sw/share/zsh/5.9/functions/_qtplay +++ /dev/null @@ -1,20 +0,0 @@ -#compdef qtplay - -_arguments -S \ - '(- *)-cd[play a CD]' \ - '(-)-f[read files as playlist]:*:playlist:_files' \ - '-l[loop]' \ - '-q[quiet]' \ - '-Q[quicktime only]' \ - '-s[speak filenames]' \ - '-S[sound manager only]' \ - '-v[verbose]' \ - '-z[shuffle play]' \ - '-Z[random play]' \ - '-1[play one random file]' \ - '-t[specify update time]:update time (seconds)' \ - '-T[kill time]:ticks' \ - '-V[volume]:percentage of normal volume' \ - '(-)'{-\?,--help,-h}'[display help information]' \ - '(-)*:quicktime file:_files' - diff --git a/result/sw/share/zsh/5.9/functions/_quilt b/result/sw/share/zsh/5.9/functions/_quilt deleted file mode 100644 index 01f8cfb8..00000000 --- a/result/sw/share/zsh/5.9/functions/_quilt +++ /dev/null @@ -1,277 +0,0 @@ -#compdef quilt - -local curcontext="$curcontext" state line -local help="(- : *)-h[show help information]" -local verbose='(-h)-v[verbose, more user friendly output]' -local color='(-h)--color=[use syntax coloring]:color:(always auto never)' -local pstyle='(-h)-p+[select patch style]:patch style:((0\:exclude\ top-level\ directory 1\:use\ .orig\ on\ top-level\ directory ab\:use\ a\ or\ b\ as\ top-level\ directory))' -local -a pform rcfile -local k - -pform=( - '(-U -c -C -h)-u[create a unified diff]' - '(-u -c -C -h)-U+[create a unified diff with num lines of context]:lines' - '(-u -U -C -h)-c[create a context diff]' - '(-u -U -c -h)-C+[create a context diff with num lines of context]:lines' -) -typeset -A opt_args - -_quilt_applied() { - local expl - _wanted -V patches expl patch compadd \ - ${(f)"$(_call_program patches quilt $rcfile applied)"} -} - -_quilt_series() { - local expl - _wanted -V patches expl 'patch' compadd \ - ${(f)"$(_call_program patches quilt $rcfile series)"} -} - -_quilt_unapplied() { - local expl - _wanted -V patches expl 'unapplied patch' compadd \ - ${(f)"$(_call_program patches quilt $rcfile unapplied)"} -} - -_arguments $help \ - '--trace[run the command in bash trace mode]' \ - '--quiltrc=[use the specified configuration file]:file:_files' \ - '--version[print the version number and exit]' \ - ':quilt command:->cmd' \ - '*:: :->subcmd' && return - -case $state in - ('') - return 1 - ;; - - (cmd) - # Divide the subcommands to categories. The categorization is our own; - # it's not based on any preexisting categorization in the quilt docs. - local -a manip=( - add:'add files to a patch' - delete:'remove a patch from the series' - edit:'add files to the topmost patch and open them in $EDITOR' - fold:'integrate an external patch into the topmost patch' - fork:'replace the topmost patch with a copy' - import:'add external patches to the series' - new:'add an empty patch to the series' - refresh:'update a patch with in-tree edits' - remove:'remove files from a given patch' - rename:"change a patch's name" - ) - local -a tree=( - pop:'unapply a patch to the tree' - push:'apply a patch to the tree' - revert:'discard in-tree changes to files in a given patch' - ) - local -a other=( - grep:'print file lines matching pattern' - header:"print or change a patch's prologue" - mail:'send patches by email' - setup:'initialize a source tree' - snapshot:'save a snapshot of the tree to diff against' - upgrade:'upgrade quilt metadata' - ) - local -a interrogate=( - annotate:'show which patches modify which lines' - applied:'print the list of patches up to a given patch' - diff:'print differences between files' - files:'print the list of files that a given patch changes' - graph:'generate a patches dependency graph' - next:'print the name of the patch that follows a given patch' - patches:'print the list of patches that touch a given file' - previous:'print the name of the patch that precedes a given patch' - series:'print the list of all patches' - top:'print the name of the last applied patch' - unapplied:'print the list of patches following a given patch' - ) - local -A cmdtypes=( - [manip]='series manipulator commands' - [tree]='tree manipulator commands' - [other]='other commands' - [interrogate]='series interrogator commands' - ) - local ret=1 - _tags ${cmdtypes// /-} - while _tags; do - for k in ${(ok)cmdtypes}; do - if _requested ${cmdtypes[$k]// /-} - then - _describe -t ${cmdtypes[$k]// /-} ${cmdtypes[$k]} $k && - ret=0 - fi - done - done - return ret - ;; - - (subcmd) - ;; -esac - -rcfile=( ${opt_args[--quiltrc]:+--quiltrc=${opt_args[--quiltrc]}} ) -case $words[1] in - add) - _arguments -S $help \ - '-P+[specify patch to add files to]:patch:_quilt_applied' \ - '*:file:_files' && return - ;; - annotate) - _arguments $help \ - '-P[stop checking for changes at the specified rather than the topmost patch]:patch:_quilt_series' \ - ':file:_files' && return - ;; - applied) _arguments $help ':quilt series:_quilt_series' && return ;; - delete) - _arguments -s $help \ - '(:)-n[delete the next patch after topmost]' \ - '-r[remove the deleted patch file from the patches directory as well]' \ - '--backup[rename the patch file to patch~ rather than deleting it]' \ - '(-n):patch:_quilt_series' && return - ;; - diff) - _arguments -s $help $pstyle $pform $color \ - "--no-timestamps[don't include file timestamps in patch headers]" \ - "--no-index[don't output Index: lines]" \ - '(-P --snapshot)-z[show changes relative to the topmost or specified patch]' \ - '-R[create a reverse diff]' \ - '(-z --snapshot)-P[create a diff for the specified patch]:patch:_quilt_series' \ - '--combine[create a combined diff for all patches between this patch and the patch specified with -P]:patch:_quilt_series' \ - '(-P -z)--snapshot[diff against snapshot]' \ - '--diff=[use the specified utility for generating the diff]:diff utility:_command_names -e' \ - '--sort[sort files by name]' \ - '*:file:_files' && return - ;; - edit) _arguments $help '*:file:_files' && return ;; - files) - _arguments -s $help $verbose \ - '-a[list all files in all applied patches]' \ - '-l[add patch name to output]' \ - '--combine[create a listing for all patches between this patch and the topmost or specified patch]::patch:_quilt_series' \ - ':patch:_quilt_series' && return - ;; - fold) - _arguments -s $help \ - '-R[apply patch in reverse]' \ - '-q[quiet operation]' \ - '-f[force apply]' \ - '-p+[specify number of pathname components to strip]:components to strip' && return - ;; - fork) _arguments $help ':patch name' && return ;; - graph) - _arguments $help \ - '--all[include all applied patches and their dependencies]' \ - '--reduce[eliminate transitive edges from the graph]' \ - '--lines=-[compute dependencies by looking at lines patches modify]::number of lines' \ - '--edge-labels=files[label graph edges with file names that adjacent patches modify]' \ - '-T ps[produce a PostScript output file]' \ - ':patch:_quilt_series' && return - ;; - grep) _grep && return ;; - header) - _arguments $help \ - '(-r -e -h)-a[append to existing patch header]' \ - '(-a -e -h)-r[replace existing patch header]' \ - '(-a -r -h)-e[edit the header in $EDITOR]' \ - '--strip-diffstat[strip diffstat output from the header]' \ - '--strip-trailing-whitespace[strip trailing whitespace at the end of lines of the header]' \ - '--backup[create backup copy of patch with tilde suffix]' \ - ':patch:_quilt_series' && return - ;; - import) - _arguments $help \ - '-p+[number of directory levels to strip when applying]:quilt select strip-level: ' \ - '-R[apply patch in reverse]' \ - '-P+[patch filename to use inside quilt]:quilt select patch filename: ' \ - '-f[overwrite/update existing patches]' \ - '-d+[header resolution when overwriting in existing patch]:resolution:((a\:all\ headers n\:new\ headers o\:old\ headers))' \ - '*:file:_files' && return - ;; - mail) - _arguments $help \ - '(-h -M)-m[introduction text to use]:introduction text' \ - '(-h -m)-M[read introduction text from file]:file:_files' \ - '--prefix=[use an alternate prefix in the bracketed part of the subjects generated]:quilt select prefix: ' \ - '--mbox=[store all messages in the specified file in mbox format]:file:_files' \ - '--send[send the messages directly]' \ - '--sender=[specify envelope sender address to use]:sender:_email_addresses -c' \ - '--from=[from header]:address:_email_addresses' \ - '--subject=[subject header]:subject' \ - '*--to=[append a recipient to the To header]:recipient:_email_addresses' \ - '*--cc=[append a recipient to the Cc header]:recipient:_email_addresses' \ - '*--bcc=[append a recipient to the Bcc header]:recipient:_email_addresses' \ - '--signature=[append specified signature file to messages]:file:_files' \ - '--reply-to=[add reply address to message]:address:_email_addresses' \ - '*:patch:_quilt_series' && return - ;; - new) _arguments $help $pstyle ':patch name' && return ;; - next) _arguments $help ':patch:_quilt_series' && return ;; - patches) _arguments -S $help $verbose $color '*:file:_files' && return ;; - pop) - _arguments -s $help $verbose \ - '-a[remove all applied patches]' \ - '-f[force remove]' \ - '-R[always verify if the patch removes cleanly]' \ - '-q[quiet operation]' \ - ':patch:_quilt_applied' && return - ;; - previous) _arguments $help ':patch:_quilt_series' && return ;; - push) - _arguments $help $verbose $color \ - '-a[apply all patches in the series file]' \ - '-q[quiet operation]' \ - '-f[force apply, even if the patch has rejects]' \ - '--fuzz=[set the maximum fuzz factor]:factor [2]' \ - '--merge=[merge the patch file into the original files]::merge scheme:(merge diff3)' \ - '--leave-rejects[leave around the reject files patch produced]' \ - ':quilt unapplied:_quilt_unapplied' && return - ;; - refresh) - _arguments -s $help $pstyle $pform \ - '-z-[create a new patch containing the changes instead of refreshing the topmost patch]::new patch name' \ - '--no-timestamps[do not include file timestamps in patch headers]' \ - '--no-index[do not output Index: lines]' \ - '--diffstat[add a diffstat section to the patch header, or replace the existing diffstat section]' \ - '-f[enforce refreshing of a patch that is not on top]' \ - '--backup[create a backup copy of the old version of a patch as patch~]' \ - '--sort[sort files by their name instead of preserving the original order]' \ - '--strip-trailing-whitespace[strip trailing whitespace at the end of lines]' \ - ':patch:_quilt_series' && return - ;; - remove) - _arguments $help \ - '-P[patch to remove]:patch:_quilt_series' \ - '*:file:_files' && return - ;; - rename) - _arguments $help \ - '(-h)-P[patch to rename]:patch:_quilt_series' \ - ':new name' && return - ;; - revert) - _arguments $help \ - '-P[revert changes in the named patch]:patch:_quilt_series' \ - '*:file:_files' && return - ;; - series) _arguments $help $verbose $color && return ;; - setup) - _arguments $help $verbose \ - '-d[specify path prefix for resulting source tree]:prefix:_files -W / -P /' \ - '--sourcedir[specify location of package sources]:directory:_directories' \ - '--fuzz=[set the maximum fuzz factor]:factor' \ - '(--fast)--slow[use the original, slow method to process the spec file]' \ - '(--slow)--fast[use an alternative, faster method to process the spec file]' \ - ':file:_files' && return - ;; - snapshot) _arguments $help '-d[only remove current snapshot]' && return ;; - unapplied) _arguments $help ':patch:_quilt_series' && return ;; - top|upgrade) _arguments $help && return ;; - *) - _default - return - ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_rake b/result/sw/share/zsh/5.9/functions/_rake deleted file mode 100644 index 10d62199..00000000 --- a/result/sw/share/zsh/5.9/functions/_rake +++ /dev/null @@ -1,51 +0,0 @@ -#compdef rake - -# rake, version 0.8.3 - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C -s -S \ - '(--classic-namespace -C)'{--classic-namespace,-C}'[put Task and FileTask in the top level namespace]' \ - '(--dry-run -n)'{--dry-run,-n}'[do a dry run without executing actions]' \ - '(- *)'{--describe,-D}'[describe the tasks (matching the specified pattern), then exit]:pattern::' \ - '(--execute -e)'{--execute,-e}'[execute some Ruby code and exit]:Ruby code:' \ - '(--execute-print -p)'{--execute-print,-p}'[execute some Ruby code, print the result, then exit]:Ruby code:' \ - '(--execute-continue -E)'{--execute-continue,-E}'[execute some Ruby code, then continue with normal task processing]:Ruby code:' \ - '(- *)'{--help,-h,-H}'[display help information]' \ - \*{--libdir,-I}'[include specified directory in the search path for required modules]:library directory:_files -/' \ - '(--rakelibdir --rakelib -R)'{--rakelibdir,--rakelib,-R}'[auto-import any .rake files in the specified directory. (default is 'rakelib')]:rake library directory:_files -/' \ - '(--nosearch -N)'{--nosearch,-N}'[do not search parent directories for the Rakefile]' \ - '(- *)'{--prereqs,-P}'[display the tasks and prerequisites, then exit]' \ - '(--quiet -q --silent -s --verbose -v)'{--quiet,-q}'[do not log messages to standard output]' \ - '(--rakefile -f)'{--rakefile,-f}'[use specified file as the rakefile]:rake file:_files' \ - \*{--require,-r}'[require specified module before executing rakefile]:library:->library' \ - '(- *)--rules[trace the rules resolution]' \ - '(--quiet -q --silent -s --verbose -v)'{--silent,-s}"[like --quiet, but also suppresses the 'in directory' announcement]" \ - '(--system -g)'{--system,-g}'[using system wide (global) rakefiles (usually '~/.rake/*.rake')]' \ - '(- *)'{--tasks,-T}'[display the tasks (matching the specified pattern) with descriptions, then exit]:pattern::' \ - '(--trace -t)'{--trace,-t}'[turn on invoke/execute tracing, enable full backtrace]' \ - '(--quiet -q --silent -s --verbose -v)'{--verbose,-v}'[log message to standard output (default)]' \ - '(- *)'{--version,-V}'[display version information]' \ - '*:target:->target' && ret=0 - -case "$state" in - library) - local -a dirs - dirs=( $(_call_program directories ruby -e 'puts\ \$:' 2>/dev/null) ${(s.:.)opt_args[-I]} ) - _wanted libraries expl library _path_files -W dirs && ret=0 - ;; - target) - local -a targets - local all - zstyle -t ":completion:${curcontext}:targets" extended && all=-A - targets=( ${${(f)"$(_call_program targets $words[1] $all -sT $opt_args[(I)(-N|--nosearch)] ${(kv)opt_args[(I)(-f|--rakefile)]} 2>/dev/null)"}/(#b)rake ([^ ]##) ##\# (*)/${${match[1]}//:/\\:}:${match[2]:l}} ) - if (( ! ${targets[(I)rake aborted!]} )) then - _describe -t targets 'rake target' targets && ret=0 - else - _message -e targets 'rake target' - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ranlib b/result/sw/share/zsh/5.9/functions/_ranlib deleted file mode 100644 index a506ea70..00000000 --- a/result/sw/share/zsh/5.9/functions/_ranlib +++ /dev/null @@ -1,13 +0,0 @@ -#compdef ranlib - -_arguments \ - "(-a)-s[preferred type ToC (default)]" \ - "(-s)-a[original type ToC]" \ - "-c[include common symbols]" \ - "(-T)-L[4.4bsd archive extended format #1 (default)]" \ - "(-L)-T[truncate names to 16 chars, per pre-4.4.bsd format]" \ - "-f[warn about fat archives]" \ - "-t[do not rebuild ToC (ignored)]" \ - "(-)-[no more options]" \ - "1:archive: _files" - diff --git a/result/sw/share/zsh/5.9/functions/_rar b/result/sw/share/zsh/5.9/functions/_rar deleted file mode 100644 index d1d38197..00000000 --- a/result/sw/share/zsh/5.9/functions/_rar +++ /dev/null @@ -1,136 +0,0 @@ -#compdef rar unrar - -local common expl - -common=( - '-ad[append archive name to destination path]' - '-ad1[create a separate folder for files unpacked from each archive]' - "-ad2[like -ad1 but use archives' own folders]" - '-ap[set path inside archive]' - '-av\-[disable authenticity verification check]' - '-c\-[disable comments show]' - '-cfg\-[disable read configuration]' - '-cl\-[convert names to lower case]' - '-cu[convert names to upper case]' - '-dh[open shared files]' - '-ep[exclude paths from name]' - '-f[freshen files]' - '-idn[hide archived names]' - '-idp[disable percentage display]' - '-ierr[send all messages to stderr]' - '-inul[disable all messages]' - '-kb[keep broken extracted files]' - '-o\+[overwrite existing files]' - '-o\-[do not overwrite existing files]' - '-ow[save or restore file owner and group]' - '-p+:password' - '-p\-[do not query password]' - '-r[recurse subdirectories]' - '-ta+[process files modified after a date]:date (YYYYMMDDHHMMSS)' - '-tb+[process files modified before a date]:date (YYYYMMDDHHMMSS)' - '-tn+[process files newer than a specified time]:time' - '-to+[process files older than a specified time]:time' - '-ts-[save or restore time]:time:((m\:modification c\:change a\:access p\:preserve))' - '-u[update files]' - '-v[create volumes with size autodetection or list all volumes]' - '-ver[file version control]' - '-vp[pause before each volume]' - '-x[exclude specified file]' - '-y[assume yes answer to all queries]' -) - -case $service in - unrar) - if (( CURRENT == 2 )); then - _values 'rar command' \ - 'e[extract files to current directory]' \ - 'l[list archive]' \ - 'lt[list archive (technical format)]' \ - 'lb[list archive (bare format)]' \ - 'p[print file to stdout]' \ - 't[test archive files]' \ - 'v[verbosely list archive]' \ - 'vt[verbosely list archive (technical format)]' \ - 'vb[verbosely list archive (bare format)]' \ - 'x[extract files with full path]' - else - _arguments -S \ - '-ep3[expand paths to full including the drive letter]' \ - '-idc[disable ___ display]' \ - '-idd[disable ___ display]' \ - '-idq[disable ___ display]' \ - '-n+:file to include:_files' \ - '-n@+:file of files to include:_files' \ - "$common[@]" \ - '*:RAR file:_files -g \*.rar\(-.\)' - fi - ;; - rar) - if (( CURRENT == 2 )); then - _values 'rar command' \ - 'a[add files to archive]' \ - 'c[add archive comment]' \ - 'cf[add files comment]' \ - 'cw[write archive comment to file]' \ - 'd[delete files from archive]' \ - 'e[extract files to current directory]' \ - 'f[freshen files in archive]' \ - 'i[find string in archives]' \ - 'k[lock archive]' \ - 'l[list archive]' \ - 'lt[list archive (technical format)]' \ - 'lb[list archive (bare format)]' \ - 'm[move to archive]' \ - 'mf[move to archive (files only)]' \ - 'p[print file to stdout]' \ - 'r[repair archive]' \ - 'rc[reconstruct missing volumes]' \ - 'rr[add data recovery record]' \ - 'rv[create recovery volumes]' \ - 's[convert archive to or from SFX]' \ - 't[test archive files]' \ - 'u[update files in archive]' \ - 'v[verbosely list archive]' \ - 'vt[verbosely list archive (technical format)]' \ - 'vb[verbosely list archive (bare format)]' \ - 'x[extract files with full path]' - else - _arguments -S \ - '-ag[generate archive name using the current date]' \ - '-as[synchronize archive contents]' \ - '-av[put authenticity verification (registered versions only)]' \ - '-df[delete files after archiving]' \ - '-ds[disable name sort for solid archive]' \ - '-e[set file exclude attributes]' \ - '-ed[do not add empty directories]' \ - '-en[do not put end of archive block]' \ - '-ep1[exclude base directory from names]' \ - '-ep2[expand paths to full]' \ - '-hp[encrypt both file data and headers]' \ - '-ilog[log errors to file (registered versions only)]' \ - '-isnd[enable sound]' \ - '-k[lock archive]' \ - '-m+[set compression level]:compression level:(( 0\:store 1\:fastest 2\:fast 3\:normal 4\:good 5\:maximal ))' \ - '-md+[dictionary size]:dictionary size (KB):( 64 128 256 512 1024 2048 4096 a b c d e f g )' \ - '-ms[specify file types to store]' \ - '-ol[save symbolic links as the link instead of the file]' \ - '-p[set password]' \ - '-r0[recurse subdirectories for wildcard names only]' \ - '-rr[add data recovery record]' \ - '-rv[create recovery volumes]' \ - '-s[create solid archive]' \ - '-se[create solid archive using extension]' \ - '-sv[create solid archive using volumes]' \ - '-s\-[disable solid archiving]' \ - '-sfx[create SFX archive]' \ - '-t[test files after archiving]' \ - '-tk[keep original archive time]' \ - '-tl[set archive time to latest file]' \ - '-vn[use the old style volume naming scheme]' \ - '-w+[assign work directory]:work directory:_files -/' \ - "$common[@]" \ - '-z+[read archive comment from file]:comment file:_files' \ - '*: :_files' - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_rcctl b/result/sw/share/zsh/5.9/functions/_rcctl deleted file mode 100644 index 6cfebf42..00000000 --- a/result/sw/share/zsh/5.9/functions/_rcctl +++ /dev/null @@ -1,51 +0,0 @@ -#compdef rcctl - -local context state line -local -a actions lsarg subcmds variables - -actions=(check reload restart start stop) -subcmds=(disable enable get getdef ls order set) -variables=(class flags status timeout user) -lsarg=( - 'all:all services and daemons' - 'failed:enabled but stopped daemons' - 'off:disabled services and daemons' - 'on:enabled services and daemons' - 'rogue:daemons which are disabled but currently running' - 'started:running daemons' - 'stopped:stopped daemons' -) - -if [[ $service == "rcctl" ]]; then - _arguments -C \ - '-d[print debug information]' \ - '-f[forcibly start the daemon]' \ - ':subcommand:('"$actions ${${${+words[(r)-[df]]}#1}/0/$subcmds}"\) \ - '*:: :->subcmd' && return - service="$words[1]" -fi - -case $service in - get|getdef) - _arguments \ - ':service:_services' \ - ':variable:compadd -a variables' - ;; - ls) - _arguments ':display a list of services and daemons matching:(($lsarg))' - ;; - order) - _arguments \ - ':service to start first:_services' \ - '*:service to start next:_services' - ;; - set) - _arguments \ - ':service:_services' \ - ':variable:compadd -a variables' \ - '*:argument:' - ;; - ${(~j:|:)actions}|disable|enable) - _arguments "*:service to $words[2]:_services" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_rclone b/result/sw/share/zsh/5.9/functions/_rclone deleted file mode 100644 index a2e3429f..00000000 --- a/result/sw/share/zsh/5.9/functions/_rclone +++ /dev/null @@ -1,346 +0,0 @@ -#compdef rclone - -local curcontext="$curcontext" ret=1 -local -A opt_args -local -a state line commands remotes - -commands=( - "about\:'get quota information from the remote'" - "authorize\:'remote authorization'" - "cachestats\:'print cache stats for a remote'" - "cat\:'concatenate any files and send them to stdout'" - "check\:'check files on the source and destination match'" - "cleanup\:'clean up the remote if possible'" - "config\:'enter an interactive configuration session'" - "copy\:'copy files from source to dest, skipping already copied'" - "copyto\:'copy files from source to dest, skipping already copied'" - "copyurl\:'copy url content to dest'" - "cryptcheck\:'check the integrity of a crypted remote'" - "cryptdecode\:'return unencrypted file names'" - "dbhashsum\:'produce a Dropbox hash file for all the objects in the path'" - "dedupe\:'interactively find duplicate files and delete/rename them'" - "delete\:'remove the contents of path'" - "deletefile\:'remove a single file from remote'" - "genautocomplete\:'output completion script for a given shell'" - "gendocs\:'output markdown docs for rclone to the directory supplied'" - "hashsum\:'produce an hashsum file for all the objects in the path'" - "help\:'show help for rclone commands, flags and backends'" - "link\:'generate public link to file/folder'" - "listremotes\:'list all the remotes in the config file'" - "ls\:'list the objects in the path with size and path'" - "lsd\:'list all directories/containers/buckets in the path'" - "lsf\:'list directories and objects on remote:path formatted for parsing'" - "lsjson\:'list directories and objects in the path in JSON format'" - "lsl\:'list the objects in path with modification time, size and path'" - "md5sum\:'produce an md5sum file for all the objects in the path'" - "mkdir\:'make the path if it does not already exist'" - "mount\:'mount the remote as file system on a mountpoint'" - "move\:'move files from source to dest'" - "moveto\:'move file or directory from source to dest'" - "ncdu\:'explore a remote with a text based user interface'" - "obscure\:'obscure password for use in the rclone.conf'" - "purge\:'remove the path and all of its contents'" - "rc\:'run a command against a running rclone'" - "rcat\:'copy standard input to file on remote'" - "rcd\:'run rclone listening to remote control commands only'" - "rmdir\:'remove the path if empty'" - "rmdirs\:'remove empty directories under the path'" - "serve\:'serve a remote over a protocol'" - "settier\:'change storage class/tier of objects on remote'" - "sha1sum\:'produce an sha1sum file for all the objects in the path'" - "size\:'print the total size and number of objects on remote:path'" - "sync\:'make source and dest identical, modifying destination only'" - "touch\:'create new file or change file modification time'" - "tree\:'list the contents of the remote in a tree like fashion'" - "version\:'show the version number'" -) - -_arguments -C \ - ":command:(($commands))" \ - '--ask-password[prompt for password for encrypted configuration]' \ - "--auto-confirm[don't request console confirmation]" \ - '--backup-dir[make backups into hierarchy based at specified directory]:directory:_directories' \ - '--bind[specify socal address to bind to for outgoing connections]:IPv4, IPv6 or name' \ - '--buffer-size[specify in memory buffer size when reading files for each --transfer]:size [16M]' \ - '--bwlimit[specify bandwidth limit]: :_numbers -u kBytes/s limit b k M G' \ - '--cache-dir[specify directory rclone will use for caching]:directory [~/.cache/rclone]:_directories' \ - '--checkers[specify number of checkers to run in parallel]:number [8]': \ - '(-c --checksum)'{-c,--checksum}'[skip based on checksum & size, not mod-time & size]' \ - '--config[specify config file]:file [~/.config/rclone/rclone.conf]:_files' \ - '--contimeout[specify connect timeout]:duration [1m0s]' \ - '--cpuprofile[write cpu profile to specified file]:file:_files' \ - '(--delete-before --delete-during)--delete-after[when synchronizing, delete files on destination after transferring (default)]' \ - '(--delete-after --delete-during)--delete-before[when synchronizing, delete files on destination before transferring]' \ - '(--delete-before --delete-after)--delete-during[when synchronizing, delete files during transfer]' \ - '--delete-excluded[delete files on dest excluded from sync]' \ - '--disable[disable a comma separated list of features]:feature' \ - '(-n --dry-run)'{-n,--dry-run}'[do a trial run with no permanent changes]' \ - '--dump[list of items to dump from]:string:_sequence compadd - headers bodies requests responses auth filters goroutines openfiles' \ - '--dump-bodies[dump HTTP headers and bodies - may contain sensitive info]' \ - '--dump-headers[dump HTTP headers - may contain sensitive info]' \ - '--exclude[exclude files matching pattern]:stringArray' \ - '--exclude-from[read exclude patterns from file]:file:_files' \ - '--exclude-if-present[exclude directories if filename is present]:string' \ - '--fast-list[use recursive list if available]' \ - '--files-from[read list of source-file names from file]:file:_files' \ - {-f,--filter}'[add a file-filtering rule]:stringArray' \ - '--filter-from[read filtering patterns from a file]:file:_files' \ - '--ignore-case[ignore case in filters (case insensitive)]' \ - '--ignore-case-sync[ignore case when synchronizing]' \ - '--ignore-checksum[skip post copy check of checksums]' \ - '--ignore-errors[delete even if there are I/O errors]' \ - '--ignore-existing[skip all files that exist on destination]' \ - '--ignore-size[ignore size when skipping use mod-time or checksum]' \ - '(-I --ignore-times)'{-I,--ignore-times}"[don't skip files that match on size and time - transfer all files]" \ - "--immutable[don't modify files, fail if existing files have been modified]" \ - '--include[include files matching pattern]:stringArray' \ - '--include-from[read include patterns from file]:file:_files' \ - '--log-file[log everything to this file]:file:_files' \ - '--log-format[specify comma separated list of log format options]:string ["date,time"]' \ - '--log-level[specify log level]:string [NOTICE]:(DEBUG INFO NOTICE ERROR)' \ - '--low-level-retries[number of low level retries to do]:int [10]' \ - '--max-age[only transfer files younger than specified age]: :_numbers -u seconds age ms\:milliseconds \:s\:seconds m\:minutes h\:hours d\:days w\:weeks M\:months y\:years' \ - '--max-backlog[maximum number of objects in sync or check backlog]:int [10000]' \ - '--max-delete[when synchronizing, limit the number of deletes]:delete limit [-1]' \ - '--max-depth[limit the recursion depth]:depth [-1]' \ - '--max-size[only transfer files smaller than specified size]: :_numbers -u kBytes size \:k M G' \ - '--max-transfer[maximum size of data to transfer]:int [default off]' \ - '--memprofile[write memory profile to file]:file:_files' \ - '--min-age[only transfer files older than specified age]: :_numbers -u seconds age ms\:milliseconds \:s\:seconds m\:minutes h\:hours d\:days w\:weeks M\:months y\:years' \ - '--min-size[only transfer files bigger than specified size]: :_numbers -u kBytes size \:k M G' \ - '--modify-window[specify max time delta to be considered the same]:duration [1ns]' \ - '--multi-thread-cutoff[use multi-threaded downloads for files above specified size]:size (250M)' \ - '--multi-thread-streams[specify max number of streams to use for multi-threaded downloads]:number (4)' \ - "--no-check-certificate[don't verify the server SSL certificate (insecure)]" \ - "--no-gzip-encoding[don't set Accept-Encoding: gzip]" \ - '!--no-traverse' \ - "--no-update-modtime[don't update destination mod-time if files are identical]" \ - '(-P --progress)'{-P,--progress}'[show progress during transfer]' \ - {-q,--quiet}'[print as little as possible]' \ - '--rc[enable the remote control server]' \ - '--rc-addr[IPaddress\:port or \:port to bind server to]:string [localhost\:5572]' \ - '--rc-cert[SSL PEM key (concatenation of certificate and CA certificate)]:string' \ - '--rc-client-ca[client certificate authority to verify clients with]:string' \ - '--rc-files[path to local files to serve on the HTTP server]:directory:_path_files -/' \ - '--rc-htpasswd[htpasswd file - if not provided no authentication is done]:file:_files' \ - '--rc-job-expire-duration[expire finished async jobs older than specified duration]:duration (1m0s)' \ - '--rc-job-expire-interval[specify interval to check for expired async jobs]:interval (10s)' \ - '--rc-key[SSL PEM Private key]:string' \ - '--rc-max-header-bytes[maximum size of request header]:int [4096]' \ - "--rc-no-auth[don't require auth for certain methods]" \ - '--rc-pass[password for authentication]:string' \ - '--rc-realm[realm for authentication]:string [rclone]' \ - '--rc-serve[enable the serving of remote objects]' \ - '--rc-server-read-timeout[timeout for server reading data]:duration [1h0m0s]' \ - '--rc-server-write-timeout[timeout for server writing data]:duration [1h0m0s]' \ - '--rc-user[user name for authentication]:string' \ - '--retries[retry operations this many times if they fail]:int [3]' \ - '--retries-sleep[interval between retrying operations if they fail, e.g 500ms, 60s, 5m. (0 to disable)]:interval' \ - '--size-only[skip based on size only, not mod-time or checksum]' \ - '--stats[interval between printing stats, e.g 500ms, 60s, 5m. (0 to disable)]:duration [1m0s]' \ - '--stats-file-name-length[max file name length in stats. 0 for no limit]:int [40]' \ - '--stats-log-level[log level to show --stats output]:string [INFO]:(DEBUG INFO NOTICE ERROR)' \ - '--stats-one-line[make the stats fit on one line]' \ - '--stats-one-line-date[enable --stats-one-line and add current date/time prefix]' \ - '--stats-one-line-date-format[enable --stats-one-line-date and use custom formatted date]:date format' \ - '--stats-unit[specify units for data rate in stats]:unit [bytes]:(bits bytes)' \ - '--streaming-upload-cutoff[specify size cutoff for switching to chunked upload]:size [100k]' \ - '--suffix[specify suffix for use with --backup-dir]:string' \ - '--syslog[use syslog for logging]' \ - '--syslog-facility[facility for syslog, eg KERN,USER,...]:string [DAEMON]' \ - '--timeout[specify IO idle timeout]:duration [5m0s]' \ - '--tpslimit[limit HTTP transactions per second to this]:float' \ - '--tpslimit-burst[max burst of transactions for --tpslimit]:int [1]' \ - '--track-renames[when synchronizing, track file renames and do a server side move if possible]' \ - '--transfers[number of file transfers to run in parallel]:int [4]' \ - {-u,--update}'[skip files that are newer on the destination]' \ - '--use-server-modtime[use server modified time instead of object metadata]' \ - '--user-agent[set the user-agent to the specified string]:user-agent [rclone/version]' \ - \*{-v,--verbose}'[print lots more stuff]:count' \ - '--acd-auth-url[auth server URL]:string' \ - '--acd-client-id[Amazon Application Client ID]:string' \ - '--acd-client-secret[Amazon Application Client Secret]:string' \ - '--acd-templink-threshold[files >= this size will be downloaded via their tempLink]:size [9G]' \ - '--acd-token-url[token server url]:string' \ - '--acd-upload-wait-per-gb[additional time per GB to wait after a failed complete upload to see if it appears]:Duration [3m0s]' \ - '--alias-remote[remote or path to alias]:string' \ - '--azureblob-access-tier[access tier of blob: hot, cool or archive]:string' \ - '--azureblob-account[specify storage account name]:string' \ - '--azureblob-chunk-size[upload chunk size (<= 100MB)]:size [4M]' \ - '--azureblob-endpoint[endpoint for the service]:string' \ - '--azureblob-key[storage account key (leave blank to use connection string or SAS URL)]:string' \ - '--azureblob-list-chunk[size of blob list]:int [5000]' \ - '--azureblob-sas-url[SAS URL for container level access only]:string' \ - '--azureblob-upload-cutoff[cutoff for switching to chunked upload (<= 256MB)]:size [256M]' \ - '--b2-account[account ID or application key ID]:string' \ - '--b2-chunk-size[specify upload chunk size]:size [96M]' \ - '--b2-endpoint[endpoint for the service]:string' \ - '--b2-hard-delete[permanently delete files on remote removal, otherwise hide files]' \ - '--b2-key[application key]:string' \ - '--b2-test-mode[a flag string for X-Bz-Test-Mode header for debugging]:string' \ - '--b2-upload-cutoff[cutoff for switching to chunked upload]:size [200M]' \ - '--b2-versions[include old versions in directory listings]' \ - '--box-client-id[specify Box app client Id]:client ID' \ - '--box-client-secret[specify Box app client secret]:secret' \ - '--box-commit-retries[max number of times to try committing a multipart file]:int [100]' \ - '--box-upload-cutoff[cutoff for switching to multipart upload (>= 50MB)]:size [50M]' \ - '--cache-chunk-clean-interval[how often should the cache perform cleanups of the chunk storage]:Duration [1m0s]' \ - '--cache-chunk-no-memory[disable the in-memory cache for storing chunks during streaming]' \ - '--cache-chunk-path[directory to cache chunk files]:directory [~/.cache/rclone/cache-backend]:_path_files -/' \ - '--cache-chunk-size[the size of a chunk (partial file data)]:size [5M]' \ - '--cache-chunk-total-size[the total size that the chunks can take up on the local disk]:size [10G]' \ - '--cache-db-path[directory to store file structure metadata DB]:directory [~/.cache/rclone/cache-backend]:_path_files -/' \ - '--cache-db-purge[clear all the cached data for this remote on start]' \ - '--cache-db-wait-time[how long to wait for the DB to be available - 0 is unlimited]:Duration [1s]' \ - '--cache-info-age[how long to cache file structure information (directory listings, file size, times etc)]:duration [6h0m0s]' \ - '--cache-plex-insecure[skip all certificate verifications when connecting to the Plex server]:string' \ - '--cache-plex-password[the password of the Plex user]:string' \ - '--cache-plex-url[the URL of the Plex server]:string' \ - '--cache-plex-username[the username of the Plex user]:string' \ - '--cache-read-retries[how many times to retry a read from a cache storage]:int [10]' \ - '--cache-remote[remote to cache]:string' \ - '--cache-rps[limits the number of requests per second to the source FS (-1 to disable)]:int [-1]' \ - '--cache-tmp-upload-path[directory to keep temporary files until they are uploaded]:directory:_path_files -/' \ - '--cache-tmp-wait-time[how long should files be stored in local cache before being uploaded]:Duration [15s]' \ - '--cache-workers[how many workers should run in parallel to download chunks]:int [4]' \ - '--cache-writes[cache file data on writes through the FS]' \ - {-L,--copy-links}'[follow symlinks and copy the pointed to item]' \ - '--crypt-directory-name-encryption[option to either encrypt directory names or leave them intact. (default true)]' \ - '--crypt-filename-encryption[specify how to encrypt the filenames]:string [standard]' \ - '--crypt-password[specify password or pass phrase for encryption]:string' \ - '--crypt-password2[specify password or pass phrase for salt]:string' \ - '--crypt-remote[remote to encrypt/decrypt]:string' \ - '--crypt-show-mapping[for all files listed show how the names encrypt]' \ - '--drive-acknowledge-abuse[set to allow files which return cannotDownloadAbusiveFile to be downloaded]' \ - '--drive-allow-import-name-change[allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx)]' \ - '--drive-alternate-export[use alternate export URLs for google documents export.,]' \ - '--drive-auth-owner-only[only consider files owned by the authenticated user]' \ - '--drive-chunk-size[upload chunk size]:size [8M]' \ - '--drive-client-id[Google application client ID]:client ID' \ - '--drive-client-secret[Google application client secret]:secret' \ - '--drive-export-formats[list of preferred formats for downloading Google docs]:comma-separated format list [docx,xlsx,pptx,svg]' \ - '!--drive-formats:string' \ - '--drive-impersonate[impersonate specified user when using a service account]:user' \ - '--drive-import-formats[specify preferred formats for uploading Google docs]:formats' \ - '--drive-keep-revision-forever[keep new head revision of each file forever]' \ - '--drive-list-chunk[size of listing chunk 100-1000. 0 to disable]:int [1000]' \ - '--drive-root-folder-id[specify ID of the root folder]:string' \ - '--drive-scope[scope that rclone should use when requesting access from drive]:scope' \ - '--drive-server-side-across-configs[allow server side operations (eg copy) to work across different drive configs]' \ - '--drive-service-account-credentials[specify service account credentials JSON blob]:string' \ - '--drive-service-account-file[specify service account credentials JSON file path]:file:_files' \ - '--drive-shared-with-me[only show files that are shared with me]' \ - '--drive-size-as-quota[show storage quota usage for file size]' \ - '--drive-skip-gdocs[skip google documents in all listings]' \ - '--drive-team-drive[specify ID of the team drive]:ID' \ - '--drive-trashed-only[only show files that are in the trash]' \ - '--drive-upload-cutoff[cutoff for switching to chunked upload]:size [8M]' \ - '--drive-use-created-date[use file created date instead of modified date.,]' \ - '--drive-use-trash[send files to the trash instead of deleting permanently. (default true)]' \ - "--drive-v2-download-min-size[if object's are larger, use drive v2 API to download]:size [off]" \ - '--dropbox-chunk-size[specify upload chunk size]:size [48M]' \ - '--dropbox-client-id[specify Dropbox app client ID]:client ID' \ - '--dropbox-client-secret[specify Dropbox app client secret]:secret' \ - '--dropbox-impersonate[impersonate specified user]:user' \ - '--ftp-host[specify FTP host to connect to]:host:_hosts' \ - "--ftp-no-check-certificate[don't verify the TLS certificate of the server]" \ - '--ftp-pass[specify FTP password]:password' \ - '--ftp-port[specify FTP port]:port [21]:_ports' \ - '--ftp-tls[use FTP over TLS (implicit)]' \ - '--ftp-user[specify FTP username]::username' \ - '--gcs-bucket-acl[access control list for new buckets]:string' \ - '--gcs-client-id[Google application client id]:client id' \ - '--gcs-client-secret[Google application client secret]:secret' \ - '--gcs-location[specify location for the newly created buckets]:string' \ - '--gcs-object-acl[specify access control list for new objects]:string' \ - '--gcs-project-number[project number]:string' \ - '--gcs-service-account-file[service account credentials JSON file path]:file:_files' \ - '--gcs-storage-class[specify storage class to use when storing objects in Google cloud storage]:string' \ - '--http-url[URL of http host to connect to]:string' \ - '--hubic-chunk-size[above this size files will be chunked into a _segments container]:size [5G]' \ - '--hubic-client-id[Hubic client ID]:client ID' \ - '--hubic-client-secret[Hubic client secret]:secret' \ - '--jottacloud-hard-delete[delete files permanently rather than putting them into the trash]' \ - '--jottacloud-md5-memory-limit[files bigger than this will be cached on disk to calculate the MD5 if required]:size [10M]' \ - '--jottacloud-pass[password]:string' \ - '--jottacloud-unlink[remove existing public link to file/folder with link command rather than creating]' \ - '--jottacloud-user[user name]:string' \ - "--local-no-check-updated[don't check to see if the files change during upload]" \ - "--local-no-unicode-normalization[don't apply unicode normalization to paths and filenames (Deprecated)]" \ - '--local-nounc[disable UNC (long path names) conversion on windows]:string' \ - '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries (unix/macOS only)]" \ - '--onedrive-chunk-size[chunk size to upload files with - must be multiple of 320k]:size [10M]' \ - '--onedrive-client-id[specify Microsoft app client ID]:client ID' \ - '--onedrive-client-secret[specify Microsoft app client secret]:secret' \ - '--onedrive-drive-id[specify the ID of the drive to use]:string' \ - '--onedrive-drive-type[the type of the drive]:string:(personal business documentLibrary)' \ - '--onedrive-expose-onenote-files[set to make OneNote files show up in directory listings]' \ - '--opendrive-password[specify password]:string' \ - '--opendrive-username[specify username]:string' \ - '--pcloud-client-id[specify Pcloud app client ID]:client ID' \ - '--pcloud-client-secret[specify Pcloud app client secret]:secret' \ - '--s3-access-key-id[specify AWS access key ID]:string' \ - '--s3-acl[canned ACL used when creating buckets and storing or copying objects]:string' \ - '--s3-chunk-size[chunk size to use for uploading]:size [5M]' \ - "--s3-disable-checksum[don't store MD5 checksum with object metadata]" \ - '--s3-endpoint[endpoint for S3 API]:string' \ - '--s3-env-auth[get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars)]' \ - '--s3-force-path-style[if true use path style access if false use virtual hosted style. (default true)]' \ - '--s3-location-constraint[location constraint - must be set to match the region]:string' \ - '--s3-provider[choose your S3 provider]:string' \ - '--s3-region[region to connect to]:string' \ - '--s3-secret-access-key[AWS Secret access key (password)]:string' \ - '--s3-server-side-encryption[the server-side encryption algorithm used when storing this object in S3]:string' \ - '--s3-session-token[an AWS session token]:string' \ - '--s3-sse-kms-key-id[if using KMS ID you must provide the ARN of key]:string' \ - '--s3-storage-class[the storage class to use when storing new objects in S3]:string' \ - '--s3-upload-concurrency[concurrency for multipart uploads]:int [2]' \ - '--s3-v2-auth[if true use v2 authentication]' \ - '--s3-use-accelerate-endpoint[use the AWS S3 accelerated endpoint]' \ - '--sftp-ask-password[allow asking for SFTP password when needed]' \ - '--sftp-disable-hashcheck[disable the execution of SSH commands to determine if remote file hashing is available]' \ - '--sftp-host[SSH host to connect to]:string' \ - '--sftp-key-file[path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent]:string' \ - '--sftp-pass[SSH password, leave blank to use ssh-agent]:string' \ - '--sftp-path-override[override path used by SSH connection]:string' \ - '--sftp-port[SSH port, leave blank to use default]:string [22]' \ - '--sftp-set-modtime[set the modified time on the remote if set. (default true)]' \ - '--sftp-use-insecure-cipher[enable the use of the aes128-cbc cipher]' \ - '--sftp-user[SSH username, leave blank for current username]:string' \ - "--skip-links[don't warn about skipped symlinks]" \ - '--swift-auth[authentication URL for server (OS_AUTH_URL)]:string' \ - '--swift-auth-token[aUTH token from alternate authentication - optional (OS_AUTH_TOKEN)]:string' \ - '--swift-auth-version[AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)]:int' \ - '--swift-chunk-size[above this size files will be chunked into a _segments container]:size [5G]' \ - '--swift-domain[user domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)]:string' \ - '--swift-endpoint-type[endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)]:string [public]' \ - '--swift-env-auth[get swift credentials from environment variables in standard OpenStack form]' \ - '--swift-key[API key or password (OS_PASSWORD)]:string' \ - '--swift-region[region name - optional (OS_REGION_NAME)]:string' \ - '--swift-storage-policy[the storage policy to use when creating a new container]:string' \ - '--swift-storage-url[storage URL - optional (OS_STORAGE_URL)]:string' \ - '--swift-tenant[tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)]:string' \ - '--swift-tenant-domain[tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)]:string' \ - '--swift-tenant-id[tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)]:string' \ - '--swift-user[user name to log in (OS_USERNAME)]:string' \ - '--swift-user-id[user ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID)]:string' \ - '--union-remotes[list of space separated remotes]:string' \ - '--webdav-bearer-token[bearer token instead of user/pass (eg a Macaroon)]:string' \ - '--webdav-pass[password]:string' \ - '--webdav-url[URL of http host to connect to]:string' \ - '--webdav-user[user name]:string' \ - '--webdav-vendor[name of the Webdav site/service/software you are using]:string' \ - '--yandex-client-id[Yandex client ID]:client ID' \ - '--yandex-client-secret[Yandex client secret]:secret' \ - '--yandex-unlink[remove existing public link to file/folder with link command rather than creating]' \ - "*: :->files_or_remotes" \ - && ret=0 - -if [[ $state == 'files_or_remotes' ]]; then - remotes=( $(_call_program rclone-remotes rclone listremotes) ) - _alternative \ - "rclone-remotes:remote:compadd -a remotes" \ - "files:file:_files" && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_rcs b/result/sw/share/zsh/5.9/functions/_rcs deleted file mode 100644 index da9cfd3b..00000000 --- a/result/sw/share/zsh/5.9/functions/_rcs +++ /dev/null @@ -1,26 +0,0 @@ -#compdef co ci rcs rcsdiff merge - -local ret=1 - -if [[ $service = merge ]]; then - _arguments \ - '-E[output unmerged changes, bracketing conflicts]' \ - '-A[output conflicts using the -A style of diff3]' \ - '-e[output unmerged changes]' \ - '*-L[specify labels for corresponding files]' \ - '-p[send results to standard output]' \ - '-q[do not warn about conflicts (quiet)]' \ - '-V[display version information]' \ - '1:file:_files' \ - '2:original file:_files' \ - '3:modified file:_files' && ret=0 -elif [[ -d RCS && $service != ci ]]; then - local rep expl - - rep=(RCS/*,v(D:t:s/\,v//)) - (( $#rep )) && _wanted files expl 'RCS file' compadd -a rep && ret=0 -fi - -[[ $service = ci || $service = rcs || ret -eq 1 ]] && _files && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_rdesktop b/result/sw/share/zsh/5.9/functions/_rdesktop deleted file mode 100644 index 55a6ea7b..00000000 --- a/result/sw/share/zsh/5.9/functions/_rdesktop +++ /dev/null @@ -1,114 +0,0 @@ -#compdef rdesktop xfreerdp - -local curcontext="$curcontext" state line expl args redir ret=1 -typeset -A opt_args - -case $service in - rdesktop) - args=( - '(-5)-4[use RDP version 4]' - '(-4)-5[use RDP version 5]' - '-b[force server to use bitmaps for screen updates]' - '-B[use X server backing store]' - '-E[disable encryption]' - "-m[don't send mouse motion events]" - '-C[use private colormap]' - '-S[single application mode]' - '-N[enable numlock synchronisation]' - '-P[enable bitmap caching]' - '*-r[device redirection]: :->redirection' - ) - ;; - xfreerdp) - args=( - '(-)'{-h,--help}'[display help information]' - "-o[don't redirect audio to client]" - '-s[set startup-shell]:shell' - '-t[connect to specified port]:port:_ports' - '--app[RemoteApp connection]' - '--ext[load an extension]:extension' - '--no-auth[disable authentication]' - '--authonly[authentication only, no UI]' - '--from-stdin[prompt for username, password, domain and hostname]' - '--no-fastpath[disable fast-path]' - '--gdi[graphics rendering]:backend:(hw sw)' - "--no-motion[don't send mouse motion events]" - '--no-osb[disable offscreen bitmaps]' - '--no-bmp-cache[disable bitmap cache]' - '--plugin[load a virtual channel plugin]:(cliprdr drdynvc rdpsnd rail rdpdbg rdpdr)' - '--rfx[enable RemoteFX]' - '--rfx-mode[RemoteFX operational flags]:mode:((v\:video i\:image))' - '--nsc[enable NSCodec]' - '--disable-wallpaper' - '--composition[enable desktop composition]' - '--disable-full-window-drag' - '--disable-menu-animations' - '--disable-theming' - '--kbd-list[list all keyboard layout ids used by -k]' - '--no-rdp[disable Standard RDP encryption]' - '--no-tls[disable TLS encryption]' - '--no-nla[disable network level authentication]' - '--ntlm[force NTLM authentication protocol version]:version:(1 2)' - '--certificate-name[specify logon certificate]:certificate' - '--ignore-certificate[ignore verification of logon certificate]' - '--sec[force protocol security]:security:(rdp tls nla)' - '--secure-checksum[use salted checksums with Standard RDP encryption]' - '--version[print version information]' - ) - ;; -esac - -_arguments -C -s $args \ - '-u[username]:username:_users' \ - '-d[domain]:domain' \ - '-s[shell]:startup shell' \ - '-c[working directory]:directory:_directories' \ - '-p[password]:password' \ - '-n[set reported client hostname]:client hostname:_hosts' \ - '-k[keyboard map]:keyboard map' \ - '(-f)-g[geometry]:geometry (WxH)' \ - '(-g)-f[fullscreen mode]' \ - '-D[hide window decorations]' \ - '-K[do not override window manager key bindings]' \ - '-T[set window title]:title' \ - '-X[embed in another window]:window:_x_window' \ - '-a[colour depth]:depth:(8 15 16 24 32)' \ - '-z[enable compression]' \ - '-x[bandwidth performance behaviour]:experience:((b\:broadband l\:lan m\:modem))' \ - '-0[attach to server console]' \ - ':server:->hostsport' && ret=0 - -case $state in - hostsport) - if compset -P '*:'; then - _ports && ret=0 - else - compset -S ':*' - _hosts && ret=0 - fi - ;; - redirection) - redir="${PREFIX%%:*}" - if compset -P 1 '*='; then - curcontext="${curcontext%:*}:$redir" - case $redir in - comport|lptport) _wanted devices expl device _files -g '*(-%)' && ret=0 ;; - disk) _directories && ret=0 ;; - printer) _printers && ret=0 ;; - scard) _message -e aliases 'alias name' ;; - esac - else - compset -S '=*' - _values -S : 'redirection' \ - 'comport:port' \ - 'disk:sharename' \ - 'lptport:lptport' \ - 'printer:printername:_printers -S=' \ - 'sound:sound:(local off remote)' \ - 'lspci' \ - 'scard:sound card name' && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_read b/result/sw/share/zsh/5.9/functions/_read deleted file mode 100644 index 1f733b0e..00000000 --- a/result/sw/share/zsh/5.9/functions/_read +++ /dev/null @@ -1,21 +0,0 @@ -#compdef read - -local pflag - -# -p flag only relevant if we have a coprocess -(:>&p) 2>/dev/null && - pflag='(-q -s -u -z)-p[input is read from the coprocess]' - -_arguments -s -A "-*" -S \ - '-r[raw mode]' \ - '(-p -k -s -u -z)-q[read y or n character from terminal]' \ - '(-q)-k+[specify number of characters to read]:: :_guard "[0-9]#" "number of characters"' \ - '(-q -z)-t+[test if input is available before reading]:: :_guard "[0-9.]#" "timeout (seconds)"' \ - '(-q)-d[specify delimiter to terminate input instead of newline]:delimiter' \ - '(-q -s -u -p -t)-z[read entry from editor buffer stack]' \ - '(-E)-e[input read is echoed and not assigned]' \ - '(-e)-E[input read is echoed]' \ - '(-q -z -p)-s[suppress terminal echoing]' \ - '-A[first name is taken as an array]' \ - '(-q -z -p)-u+[specify file descriptor to read from]:file descriptor:_file_descriptors' \ - $pflag '1:varprompt:_vars -qS\?' '*:vars:_vars' diff --git a/result/sw/share/zsh/5.9/functions/_read_comp b/result/sw/share/zsh/5.9/functions/_read_comp deleted file mode 100644 index 3dd7f9ad..00000000 --- a/result/sw/share/zsh/5.9/functions/_read_comp +++ /dev/null @@ -1,152 +0,0 @@ -#compdef -k complete-word \C-x\C-r - -# This allows an on-the-fly choice of completions. On typing the key -# sequence given above, you will be prompted for a string of arguments. If -# this string begins with `_', it will be taken as the name of a function to -# evaluate to generate the completions; unambiguous strings in the function -# name are automatically completed. -# -# Else it is taken to be a set of arguments for compadd to generate a list -# of choices. The possibilities are the same as the flags for generating -# completions given in the zshcompwid manual page. Note the arguments are -# verbatim: include minus signs, spaces, quotes, etc. -# -# On subsequent calls, the same completion will be re-performed. To -# force a new type of completion to be read, supply a numeric argument. -# -# For example, -# % bindkey | grep rever<C-xC-r> -# Completion: -b<RET> -# % bindkey | grep reverse-menu-complete _ -# -# Global variables used: -# _read_comp Last completion string read from user - -# emulate -L zsh -setopt localoptions extendedglob nobadpattern unset # xtrace promptsubst -# local PS4='%N:%i:$((#key))> ' - -typeset -g _read_comp -if [[ ${+NUMERIC} = 0 && -n $_read_comp ]]; then - if [[ $_read_comp = _* ]]; then - eval $_read_comp - else - eval "compadd $_read_comp" - fi - return -fi - -_read_comp= - -local key search str str2 newch funcs funcs2 exact msg list -integer pos - -msg="Completion: " - -zle -R $msg - -if ! read -k key; then - zle -cR '' - return 1 -fi - -while [[ '#key' -ne 10 && '#key' -ne 13 ]]; do - if [[ '#key' -eq 0 && '#key' -eq 3 || '#key' -eq 7 ]]; then - zle -cR '' - return 1 - fi - if [[ ( '#key' -eq 8 || '#key' -eq 127 ) && -n $str ]]; then - # delete character - str="$str[1,-2]" - exact= - list=() - elif [[ '#key' -eq 21 ]]; then - # ^U: delete line - str= - exact= - list=() - elif [[ '#key' -eq 4 && $str = _[^\ ]# && $str != *' '* ]]; then - # ^D: list completions - list=(${$(whence -m "$str*" 2>/dev/null)%: function}) - elif [[ ( -n $exact && $key != ' ' ) || '#key & 127' -lt 32 ]]; then - # If we've got an exact function, only allow a space after it. - # Don't try to insert non-printing characters. - if [[ -n $ZBEEP ]]; then - print -nb $ZBEEP - elif [[ -o beep ]]; then - print -n "\a" - fi - list=() - else - str="$str$key" - if [[ $str = _[^\ ]# ]]; then - # Rudimentary completion for function names. - # Allow arguments, i.e. don't do this after we've got a space. - funcs=(${$(whence -m "$str*" 2>/dev/null)%: function}) - if [[ -o autolist && $#str -gt 1 ]]; then - list=($funcs) - else - list=() - fi - if (( $#funcs == 1 )); then - # Exact match; prompt the user for a newline to confirm - str=$funcs[1] - exact=" (Confirm)" - elif (( $#funcs == 0 )); then - # We can't call zle beep, because this isn't a zle widget. - if [[ -n $ZBEEP ]]; then - print -nb $ZBEEP - elif [[ -o beep ]]; then - print -n "\a" - fi - str="$str[1,-2]" - list=() - else - # Add characters to the string until a name doesn't - # match any more, then backtrack one character to get - # the longest unambiguous match. - str2=$str - pos=$#str2 - while true; do - (( pos++ )) - newch=${funcs[1][pos]} - [[ -z $newch ]] && break - str2=$str2$newch - funcs2=(${funcs##$str2*}) - (( $#funcs2 )) && break - str=$str2 - done - fi - else - exact= - fi - fi - if (( $#list )); then - zle -R "$msg$str$exact" $list - else - zle -cR "$msg$str$exact" - fi - if ! read -k key; then - zle -cR '' - return 1 - fi -done - -if [[ -z $str ]]; then - # string must be non-zero - return 1 -elif [[ $str = _* ]] && ! whence ${str%% *} >& /dev/null; then - # a function must be known to the shell - return 1 -else - # remember the string for re-use - _read_comp=$str -fi - -zle -cR '' - -if [[ $str = _* ]]; then - eval $str -else - eval "compadd $str" -fi diff --git a/result/sw/share/zsh/5.9/functions/_readelf b/result/sw/share/zsh/5.9/functions/_readelf deleted file mode 100644 index fc0fb7ce..00000000 --- a/result/sw/share/zsh/5.9/functions/_readelf +++ /dev/null @@ -1,83 +0,0 @@ -#compdef readelf eu-readelf - -local variant args sections - -sections=( .bss .data .dynamic .dynsym .got .interp .shstrtab .symtab .text ) -_pick_variant -r variant elftoolchain=elftoolchain elfutils=elfutils binutils --version - -args=( - '(-a --all)'{-a,--all}'[show all tables]' - '(-g --section-groups)'{-g,--section-groups}'[show section groups]' - '(-h --file-header)'{-h,--file-header}'[show file header]' - '(-l --program-headers --segments)'{-l,--program-headers,--segments}'[show program headers]' - '(-S --section-headers --sections)'{-S,--section-headers,--sections}'[show sections header]' - '(-r --relocs)'{-r,--relocs}'[show relocations (if present)]' - '(-d --dynamic)'{-d,--dynamic}'[show dynamic section (if present)]' - '(-V --version-info)'{-V,--version-info}'[show version sections (if present)]' - '(-A --arch-specific)'{-A,--arch-specific}'[show architecture specific information (if any)]' - '(-c --archive-index)'{-c,--archive-index}'[show symbol/file index in an archive]' - \*{-x,--hex-dump=}"[dump contents of specified section as bytes]:section:($sections)" - \*{-p,--string-dump=}"[dump contents of specified section as strings]:section:($sections)" - '-w+[show the contents of DWARF2 debug sections]::debug section:(l L i a p r m f F s o O R t U u T g A c k K)' - '--debug-dump=[show the contents of DWARF2 debug sections]::section:(rawline decodedline info abbrev pubnames aranges macro frames frames-interp str loc Ranges pubtypes gdb_index trace_info trace_abbrev trace_aranges addr cu_index links follow-links)' - '(-I --histogram)'{-I,--histogram}'[show histogram of bucket list lengths]' - '(-W --wide)'{-W,--wide}'[allow output width to exceed 80 characters]' - '(- *)'{-H,--help}'[display help information]' - '(- *)'{-v,--version}'[display version information]' - "*:elf file:_object_files" -) - -case $variant in - elftoolchain|binutils) - args+=( - '(-t --section-details)'{-t,--section-details}'[show section details]' - '(-e --headers)'{-e,--headers}'[show file, program and sections headers]' - '(-s --syms --symbols)'{-s,--syms,--symbols}'[show symbol table]' - '(-n --notes)'{-n,--notes}'[show core notes (if present)]' - '(-u --unwind)'{-u,--unwind}'[show unwind info (if present)]' - '(-D --use-dynamic)'{-D,--use-dynamic}'[use dynamic section info when showing symbols]' - ) - ;| - elfutils|binutils) - args+=( - '--dyn-syms[show dynamic symbol table]' - ) - ;| - elfutils|elftoolchain) - args+=( - '(-z --decompress)'{-z,--decompress}'[show compression information; decompress before dumping data]' - ) - ;| - binutils) - args+=( - '!(-C --demangle)--no-demangle' - '(--demangle)-C[decode symbol names]' - '(-C)--demangle=-[decode symbol names]::style [auto]:(auto gnu lucid arm hp edg gnu-v3 java gnat)' - '!(--no-recurse-limit)--recurse-limit' - '--no-recurse-limit[disable demangling recursion limit]' - '(-L --lint --enable-checks)'{-L,--lint,--enable-checks}'[display warning messages for possible problems]' - \*{-R,--relocated-dump=}"[dump contents of specified section as relocated bytes]:section:($sections)" - "--dwarf-depth=[don't show DIEs at greater than specified depth]:depth" - '--dwarf-start=[show DIEs starting at specified depth or deeper]:depth' - '--ctf=[display compact C type format info from section]:section' - '--ctf-parent=[use specified section as the CTF parent]:section' - '--ctf-symbols=[use specified section as the CTF external symbol table]:section' - '--ctf-strings=[use specified section as the CTF external string table]:section' - '(-T --silent-truncation)'{-T,--silent-truncation}"[if a symbol name is truncated, don't add ... suffix]" - ) - ;; - elfutils) - args+=( - '--dwarf-skeleton=[find skeleton compile units (with -w)]:file:_files' - '--elf-section[used specified section as ELF input data]::section' - '(-e --exception)'{-e,--exception}'[show sections for exception handling]' - '(-N --numeric-addresses)'{-N,--numeric-addresses}"[don't find symbol names for addresses in DWARF data]" - '(--symbols)-s[show symbol table]' - '(-s)--symbols=-[show symbol table]::section:(.dynsym .symtab)' - '(--notes)-n[show core notes (if present)]' - '(-n)--notes=-[show core notes (if present)]::section' - ) - ;; -esac - -_arguments -s "$args[@]" diff --git a/result/sw/share/zsh/5.9/functions/_readlink b/result/sw/share/zsh/5.9/functions/_readlink deleted file mode 100644 index 36bd4375..00000000 --- a/result/sw/share/zsh/5.9/functions/_readlink +++ /dev/null @@ -1,48 +0,0 @@ -#compdef readlink greadlink - -local variant ret=1 -local -a context line state state_descr args copts aopts=( -A '-*' ) -local -A opt_args - -# We can't use groups here because it would complicate the option filtering -copts=( -e -f -m --canonicalize --canonicalize-existing --canonicalize-missing ) - -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - # Delimiter options - # (Note: GNU `readlink` won't let you use -n with multiple files) - '(-n -z --no-newline --zero)'{-n,--no-newline}'[suppress trailing newline]' - '(-n -z --no-newline --zero)'{-z,--zero}'[use NUL as output delimiter]' - # Verbosity options - '(-q -s -v --quiet --silent --verbose)'{-q,-s,--quiet,--silent}'[suppress most error messages]' - '(-q -s -v --quiet --silent --verbose)'{-v,--verbose}'[show error messages]' - # Canonicalisation options - "(${(j< >)copts})"{-e,--canonicalize-existing}'[canonicalize paths (all components must exist)]' - "(${(j< >)copts})"{-f,--canonicalize}'[canonicalize paths]' - "(${(j< >)copts})"{-m,--canonicalize-missing}'[canonicalize paths (components may be missing)]' -) - -# Filter out non-GNU options if applicable -if _pick_variant gnu='Free Soft' unix --version; then - aopts=( ) -else - case $OSTYPE in - darwin*) args=( ${(@M)args:#(|*\))-[n]\[*} ) ;; - netbsd*) args=( ${(@M)args:#(|*\))-[fnqsv]\[*} ) ;; - dragonfly*|*bsd*) args=( ${(@M)args:#(|*\))-[fn]\[*} ) ;; - *) args=( ) ;; - esac -fi - -_arguments -s -S $aopts : $args '*: :->files' && ret=0 - -# File arguments must be symlinks unless a canonicalisation option is given -[[ $state == files ]] && -if [[ ${opt_args[(i)(${~${(j<|>)copts}})]} ]]; then - _files && ret=0 -else - _files -g '*(@)' && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_readshortcut b/result/sw/share/zsh/5.9/functions/_readshortcut deleted file mode 100644 index 5611d567..00000000 --- a/result/sw/share/zsh/5.9/functions/_readshortcut +++ /dev/null @@ -1,21 +0,0 @@ -#compdef readshortcut readshortcut.exe - -# cygutils 1.3.2 - -_arguments -s -S \ - '(--fields -f)'{-f,--fields}'[show field names]' \ - '(--unix -u --windows -w)'{-u,--unix}'[use Unix path format for display (default)]' \ - '(--unix -u --windows -w)'{-w,--windows}'[use Windows path format for display ]' \ - '(--target -t)'{-t,--target}'[display shortcut target]' \ - '(--working -g)'{-g,--working}'[display shortcut working directory]' \ - '(--args -r)'{-r,--args}'[display shortcut arguments]' \ - '(--showcmd -s)'{-s,--showcmd}'[display shortcut "show" command value]' \ - '(--icon -i)'{-i,--icon}'[display icon library location]' \ - '(--offset -j)'{-j,--offset}'[display icon library offset]' \ - '(--desc -d)'{-d,--desc}'[display shortcut description]' \ - '(--all -a)'{-a,--all}'[display all information]' \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)--usage[display brief usage message]' \ - '(- 1)'{-v,--version}'[display version information]' \ - '(- 1)--license[display licensing information]' \ - '1:shortcut:_files -g "*.lnk(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_rebootin b/result/sw/share/zsh/5.9/functions/_rebootin deleted file mode 100644 index 284ff08f..00000000 --- a/result/sw/share/zsh/5.9/functions/_rebootin +++ /dev/null @@ -1,29 +0,0 @@ -#compdef rebootin - -local context state line expl -typeset -A opt_args -local loader=${$(_call_program -p entries detectloader -q):-GRUB} - -_arguments -s \ - '-n[no immediate reboot just set the flags for next reboot]' \ - '-f[create a /fastboot file to reboot in fastboot mode]' \ - '*::arguments:->loader_entry' - -case $state in - loader_entry) - case $loader in - GRUB) - if [ -r /boot/grub/menu.lst ]; then - _wanted -C $context entries expl entry \ - compadd ${${(M)${(f)"$(</boot/grub/menu.lst)"}##title *}#title } - fi - ;; - LILO) - if [ -r /etc/lilo.conf ]; then - _wanted -C $context entries expl entry \ - compadd $(awk -F= '{ if ($0 ~ /label=/) print $2 }' /etc/lilo.conf) - fi - ;; - esac - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_redirect b/result/sw/share/zsh/5.9/functions/_redirect deleted file mode 100644 index e6da5d11..00000000 --- a/result/sw/share/zsh/5.9/functions/_redirect +++ /dev/null @@ -1,18 +0,0 @@ -#compdef -redirect- - -local strs _comp_command1 _comp_command2 _comp_command - -_set_command - -strs=( -default- ) - -if [[ "$CURRENT" != "1" ]]; then - strs=( "${_comp_command}" "$strs[@]" ) - if [[ -n "$_comp_command1" ]]; then - strs=( "${_comp_command1}" "$strs[@]" ) - [[ -n "$_comp_command2" ]] && - strs=( "${_comp_command2}" "$strs[@]" ) - fi -fi - -_dispatch -redirect-,{${compstate[redirect]},-default-},${^strs} diff --git a/result/sw/share/zsh/5.9/functions/_regex_arguments b/result/sw/share/zsh/5.9/functions/_regex_arguments deleted file mode 100644 index 2e8fee8f..00000000 --- a/result/sw/share/zsh/5.9/functions/_regex_arguments +++ /dev/null @@ -1,86 +0,0 @@ -#autoload - -## usage: _regex_arguments funcname regex - -# _regex_arguments compiles `regex' and emits the result of the state -# machine into the function `funcname'. `funcname' parses a command line -# according to `regex' and evaluates appropriate actions in `regex'. Before -# parsing the command line string is generated by concatenating `words' -# (before `PREFIX') and `PREFIX' with a separator NUL ($'\0'). - -# The `regex' is defined as follows. - -## regex word definition: - -# pattern = "/" ( glob | "[]" ) "/" [ "+" | "-" ] -# lookahead = "%" glob "%" -# guard = "-" zsh-code-to-eval -# caction = ":" tag ":" descr ":" zsh-code-to-eval -# action = "{" zsh-code-to-eval "}" - -## regex word sequence definition: - -# element = pattern [ lookahead ] [ guard ] [ caction ] -# -# regex = element -# | "(" regex ")" -# | regex "#" -# | ( regex | action ) # -# | regex "|" regex - -# example: - -# compdef _tst tst - -# _regex_arguments _tst /$'[^\0]#\0'/ /$'[^\0]#\0'/ :'compadd aaa' -# _tst complete `aaa' for first argument. -# First $'[^\0]#\0' is required to match with command name. - -# _regex_arguments _tst /$'[^\0]#\0'/ \( /$'[^\0]#\0'/ :'compadd aaa' /$'[^\0]#\0'/ :'compadd bbb' \) \# -# _tst complete `aaa' for (2i+1)th argument and `bbb' for (2i)th argument. - -# _regex_arguments _tst /$'[^\0]#\0'/ \( /$'[^\0]#\0'/ :'compadd aaa' \| /$'[^\0]#\0'/ :'compadd bbb' \) \# -# _tst complete `aaa' or `bbb'. - -## Recursive decent regex parser - -# return status of parser functions: - -# 0 : success -# 1 : parse error -# 2 : fatal parse error - -_ra_comp () { - _ra_actions=("$_ra_actions[@]" "$1") -} - -_regex_arguments () { - local regex funcname="$1" - shift - regex=(${@:/(#b):(*)/":_ra_comp ${(qqqq)match[1]}"}) - - eval \ - "$funcname"' () { - local _ra_p1 _ra_p2 _ra_left _ra_right _ra_com expl tmp nm="$compstate[nmatches]" - local _ra_actions _ra_line="${(pj:\0:)${(@)words[1,CURRENT - 1]:Q}}"$'\''\0'\''"$PREFIX" - _ra_actions=() - zregexparse -c _ra_p1 _ra_p2 "$_ra_line" '"${(j: :)${(qqqq)regex[@]}}"' - case "$?" in - 0|2) _message "no more arguments";; - 1) - if [[ "$_ra_line[_ra_p1 + 1, -1]" = *$'\''\0'\''* ]]; then - _message "parse failed before current word" - else - _ra_left="$_ra_line[_ra_p1 + 1, _ra_p2]" - _ra_right="$_ra_line[_ra_p2 + 1, -1]" - compset -p $(( $#PREFIX - $#_ra_line + $_ra_p1 )) - (( $#_ra_actions )) && _alternative "$_ra_actions[@]" - fi - ;; - 3) _message "invalid regex";; - esac - [[ nm -ne "$compstate[nmatches]" ]] - }' -} - -_regex_arguments "$@" diff --git a/result/sw/share/zsh/5.9/functions/_regex_words b/result/sw/share/zsh/5.9/functions/_regex_words deleted file mode 100644 index 90b4a973..00000000 --- a/result/sw/share/zsh/5.9/functions/_regex_words +++ /dev/null @@ -1,52 +0,0 @@ -#autoload - -local opt OPTARG matches end -local term=$'\0' - -while getopts "t:" opt; do - case $opt in - (t) - term=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -local tag=$1 -local desc=$2 -shift 2 - -if (( $# )); then - reply=(\() -else - # ### Is this likely to happen in callers? Should we warn? - reply=() - return -fi - -integer i -local -a wds - -if [[ $term = $'\0' ]]; then - matches=":${tag}:${desc}:(( " - end="))" -else - matches=":${tag}:${desc}:_values -s ${(q)term} ${(q)desc}" -fi - -for (( i = 1; i <= $#; i++ )); do - wds=(${(s.:.)argv[i]}) - reply+=(/${wds[1]//\**/"[^$term]#"}"$term"/) - if [[ $term = $'\0' ]]; then - matches+="${wds[1]//\*}${wds[2]:+\\:${wds[2]//(#m)[: \(\)]/\\$MATCH}} " - else - matches+=" ${(q)${${wds[1]//\*}//(#m)[:\[\]]/\\$MATCH}}\\[${(q)${wds[2]//(#m)[:\[\]]/\\$MATCH}}\\]" - fi - eval "reply+=($wds[3])" - reply+=(\|) -done -reply+=( /'[]'/ "${matches}${end}" \) ) diff --git a/result/sw/share/zsh/5.9/functions/_remote_files b/result/sw/share/zsh/5.9/functions/_remote_files deleted file mode 100644 index 93e1b7f4..00000000 --- a/result/sw/share/zsh/5.9/functions/_remote_files +++ /dev/null @@ -1,104 +0,0 @@ -#autoload - -# Complete files on remote systems using SSH (and other programs). Needs -# key-based authentication with no passwords or a running ssh-agent to work. -# -# Usage: -# _remote_files [-/] [-g glob] [-h host] [-W dir] -- <cmd> [<cmd options>] -# -# Options: -# - -/: only complete directories -# - -g: specify a pattern to match against files -# p, = and * glob qualifiers supported -# - -h: specify the remote host, default is ${IPREFIX%:} -# - -W: specify the parent directory to list files from, -# default is the home directory -# -# -# Commands: -# - ssh: Additional options for non-interactive use are automatically added -# (see below). -# - All other commands are used unaltered. -# -# Examples: -# - _remote_files -- ssh -# Use ssh to retrieve the remote paths. The "--" is not optional! -# - _remote_files --no-files -- ssh -2 -p 42 -# Use ssh with the option -2 and -p 42 to retrieve the remote paths and -# complete only directories. -# - _remote_files -- rsh -# Use rsh to retrieve the remote paths. - - -# There should be coloring based on all the different ls -F classifiers. -local expl rempat remfiles remdispf remdispd args cmd suf ret=1 -local -a args cmd_args -local glob host dir dirprefix - -if zstyle -T ":completion:${curcontext}:files" remote-access; then - - # Parse options to _remote_files. Stops at the first "--". - zparseopts -D -E -a args / g:=glob h:=host W:=dir - (( $#host)) && shift host || host="${IPREFIX%:}" - - args=( ${argv[1,(i)--]} ) - shift ${#args} - [[ $args[-1] = -- ]] && args[-1]=() - # Command to run on the remote system. - cmd="$1" - shift - - # Handle arguments to ssh. - if [[ $cmd == ssh ]]; then - zparseopts -D -E -a cmd_args p: 1 2 4 6 F: - cmd_args=( -o BatchMode=yes "$cmd_args[@]" -a -x ) - else - cmd_args=( "$@" ) - fi - - if (( $#dir )); then - dirprefix=${dir}/ - fi - - if [[ -z $QIPREFIX ]] - then rempat="${dirprefix}${PREFIX%%[^./][^/]#}\*" - else rempat="${dirprefix}${(q)PREFIX%%[^./][^/]#}\*" - fi - - # remote filenames - remfiles=(${(M)${(f)"$( - _call_program files $cmd $cmd_args $host \ - command ls -d1FL -- "$rempat" 2>/dev/null - )"}%%[^/]#(|/)}) - - compset -P '*/' - compset -S '/*' || (( ${args[(I)-/]} )) || suf='remote file' - - # display strings for remote files and directories - remdispf=(${remfiles:#*/}) - remdispd=(${(M)remfiles:#*/}) - - if (( $#glob )); then - match=( '(|[*=|])' ) - glob[2]="${glob[2]/(#b)\(((|^)[p=\*])\)(#e)/}" - glob[2]+="${${match[1]/p/\|}/\*/\*}" - remdispf=( ${(M)remdispf:#${~glob[2]}} ) - fi - - local -a autoremove - [[ -o autoremoveslash ]] && autoremove=(-r "/ \t\n\-") - - _tags remote-files - while _tags; do - while _next_label remote-files expl ${suf:-remote directory}; do - [[ -n $suf ]] && - compadd "$args[@]" "$expl[@]" -d remdispf -- ${(q)remdispf%[*=|]} && ret=0 - compadd ${suf:+-S/} $autoremove "$args[@]" "$expl[@]" -d remdispd \ - -- ${(q)remdispd%/} && ret=0 - done - (( ret )) || return 0 - done - return ret -else - _message -e remote-files 'remote file' -fi diff --git a/result/sw/share/zsh/5.9/functions/_renice b/result/sw/share/zsh/5.9/functions/_renice deleted file mode 100644 index 3b045734..00000000 --- a/result/sw/share/zsh/5.9/functions/_renice +++ /dev/null @@ -1,21 +0,0 @@ -#compdef renice - -if [[ $CURRENT = 2 ]]; then - _message -e priority -else - local opts ret=1 - opts=( - '-g:interpret args as process group IDs' - '-u:interpret args as user names' - '-p:interpret args as process IDs' - ) - _describe -o option opts && ret=0 - - case ${(v)words[(I)-?]} in - -g) _pgids && ret=0 ;; - -u) _users && ret=0 ;; - *) _pids && ret=0;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_reprepro b/result/sw/share/zsh/5.9/functions/_reprepro deleted file mode 100644 index d1e124ee..00000000 --- a/result/sw/share/zsh/5.9/functions/_reprepro +++ /dev/null @@ -1,71 +0,0 @@ -#compdef reprepro - -local curcontext="$curcontext" state line expl distfile ret=1 -typeset -A opt_args -local -a codenames - -_arguments -C \ - '(-h --help)'{-h,--help}'[display help]' \ - '*'{-v,-V,--verbose}'[be more verbose]' \ - '--silent[be less verbose]' \ - '(-b --basedir)'{-b,--basedir}':basedir:_files -/' \ - '--confdir:config dir:_files -/' \ - '--distdir:dist dir:_files -/' \ - '--logdir:log dir:_files -/' \ - '--overridedir:override dir:_files -/' \ - '--dbdir:db dir:_files -/' \ - '--listdir:list dir:_files -/' \ - '--methoddir:method dir:_files -/' \ - '(-C --component)'{-C,--component}':component:(component1 component2)' \ - '(-A --architecture)'{-A,--architecture}':architecture:_sequence -s "|" _deb_architectures -' \ - '(-T --type)'{-T,--type}':file type:(dsc deb udeb)' \ - '(-S --section)'{-S,--section}':section:(section1 section2)' \ - '(-P --priority)'{-P,--priority}':priority:(high low)' \ - '--export=:whether and how:(never changed normal force)' \ - '--ignore=:error type:(what otherwhat)' \ - '--nolistsdownload[do not download Release or index files]' \ - '--keepunreferencedfiles[do not delete files that are no longer used]' \ - '--keepunneededlists' \ - '--keepdirectories' \ - '--ask-passphrase' \ - '--noskipold' \ - '--waitforlock:count:' \ - '--spacecheck:behavior:(full none)' \ - '--dbsafetymargin:bytes count:' \ - '--safetymargin:bytes count:' \ - '--noguessgpgtty' \ - ':reprepro command:(export createsymlinks list listfilter remove update - iteratedupdate checkupdate predelete pull checkpull includedeb - includeudeb includedsc include processincoming check checkpool - rereference dumpreferences dumpunreferenced deleteunreferenced - reoverride dumptracks retrack removealltracks removetrack tidytracks - copy clearvanished gensnapshot rerunnotifiers)' \ - '*::subcmd:->subcmd' && ret=0 - -case "$state" in - subcmd) - case "$words[1]" in - (export|update|iteratedupdate|checkupdate|predelete|pull|checkpull|check) - if [[ -n "$opt_args[--confdir]" ]]; then - distfile=${opt_args[--confdir]}/distributions - elif [[ -n "$opt_args[-b]" ]]; then - distfile=${opt_args[-b]}/conf/distributions - elif [[ -n "$opt_args[--basedir]" ]]; then - distfile=${opt_args[--basedir]}/conf/distributions - elif [[ -n "$REPREPRO_BASE_DIR" ]]; then - distfile=${REPREPRO_BASE_DIR}/conf/distributions - else - distfile=$PWD/conf/distributions - fi - - codenames=($(awk '/^[Cc][Oo][Dd][Ee][Nn][Aa][Mm][Ee]: / {$1="";print}' "$distfile")) - _wanted -V 'codenames' expl 'codename' compadd -a codenames && ret=0 - ;; - (*) - _files && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_requested b/result/sw/share/zsh/5.9/functions/_requested deleted file mode 100644 index 4ba52ce7..00000000 --- a/result/sw/share/zsh/5.9/functions/_requested +++ /dev/null @@ -1,17 +0,0 @@ -#autoload - -local __gopt - -__gopt=() -zparseopts -D -a __gopt 1 2 V J x - -if comptags -R "$1"; then - if [[ $# -gt 3 ]]; then - _all_labels - "$__gopt[@]" "$@" || return 1 - elif [[ $# -gt 1 ]]; then - _description "$__gopt[@]" "$@" - fi - return 0 -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_retrieve_cache b/result/sw/share/zsh/5.9/functions/_retrieve_cache deleted file mode 100644 index 43cdd79a..00000000 --- a/result/sw/share/zsh/5.9/functions/_retrieve_cache +++ /dev/null @@ -1,31 +0,0 @@ -#autoload -# -# Retrieval component of completions caching layer - -local _cache_ident _cache_dir _cache_path _cache_policy -_cache_ident="$1" - -if zstyle -t ":completion:${curcontext}:" use-cache; then - # Decide which directory to retrieve cache from, and ensure it exists - zstyle -s ":completion:${curcontext}:" cache-path _cache_dir - : ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$_cache_dir" ]]; then - [[ -e "$_cache_dir" ]] && - _message "cache-dir ($_cache_dir) isn't a directory\!" - return 1 - fi - - _cache_path="$_cache_dir/$_cache_ident" - - if [[ -e "$_cache_path" ]]; then - _cache_invalid "$_cache_ident" && return 1 - - . "$_cache_path" - return 0 - else - return 1 - fi -else - return 1 -fi - diff --git a/result/sw/share/zsh/5.9/functions/_retrieve_mac_apps b/result/sw/share/zsh/5.9/functions/_retrieve_mac_apps deleted file mode 100644 index 655170d3..00000000 --- a/result/sw/share/zsh/5.9/functions/_retrieve_mac_apps +++ /dev/null @@ -1,109 +0,0 @@ -#autoload - -# Find paths of applications and preserve them into _mac_apps. -# Used by _mac_applications and _mac_files_for_application. - -_mac_apps_caching_policy () { - # Rebuild if cache is more than a day old - local -a oldp - oldp=( "$1"(Nmw+1) ) - (( $#oldp )) -} - - -# _mac_apps_*_retrieve -# -# Get search applications from directories specified in app_dir_root. -# Paths to applications are stored in _mac_apps. - -_mac_apps_spotlight_retrieve () { - typeset mdfind_query="kMDItemContentType == 'com.apple.application-*'" - - for i in ${app_dir_root}; do - _mac_apps+=(${(f)"$(_call_program command \ - mdfind -onlyin ${(q)i} ${(q)mdfind_query})"}) - done -} - -_mac_apps_old_retrieve () { - # Get directories which may contain applications - typeset -aU app_dir - if [[ -z "$app_dir" ]] && \ - ! zstyle -a ":completion:${curcontext}:commands" application-dir app_dir - then - typeset -a app_dir_stop_pattern - app_dir_stop_pattern=( "*.app" "contents#" "*data" "*plugins#" "*plug?ins#" "fonts#" "document[[:alpha:]]#" "*help" "resources#" "images#" "*configurations#" ) - typeset app_dir_pattern - app_dir_pattern="(^(#i)(${(j/|/)app_dir_stop_pattern}))" - app_dir=( ${^app_dir_root}/(${~app_dir_pattern}/)#(N) ) - fi - - # Get application bundles - local -a app_result - - if ! zstyle -t ":completion:${curcontext}:commands" ignore-bundle; then - app_result=( ${^app_dir}*/Contents/(MacOS|MacOSClassic)(N) ) - _mac_apps+=( ${app_result[@]%/Contents/MacOS*} ) - fi - - # Get single file applications - if ! zstyle -t ":completion:${curcontext}:commands" ignore-single; then - autoload -Uz zargs - local app_cand nargs envvars - app_cand=( ${^app_dir}^*.[a-z]#/..namedfork/rsrc(.UrN,.RN^U) ) - envvars="$(builtin typeset -x)" - nargs=$(( $(command sysctl -n kern.argmax) - $#envvars - 2048 )) - app_result="$(zargs --max-chars $nargs ${app_cand[@]} -- grep -l APPL)" - _mac_apps+=( ${${(f)app_result}%/..namedfork/rsrc} ) - fi -} - - -_retrieve_mac_apps() { - local cache_policy - zstyle -s ":completion:*:*:$service:*" cache-policy cache_policy - if [[ -z "$cache_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _mac_apps_caching_policy - fi - - if ( (( ${#_mac_apps} == 0 )) || _cache_invalid Mac_applications ) \ - && ! _retrieve_cache Mac_applications; then - - # Get application search method - typeset retrieve - if ! zstyle -s ":completion:*:*:${service}:commands" search-method retrieve - then - if [[ "$( command mdutil -s / 2>&1 )" == *enabled* ]]; then - # / is indexed to use Spotlight - retrieve=_mac_apps_spotlight_retrieve - else - # Fall back to the old way - retrieve=_mac_apps_old_retrieve - fi - zstyle ":completion:*:*:${service}:commands" search-method $retrieve - fi - - # Get root directories to search applications - typeset -a app_dir_root - if ! zstyle -a ":completion:${curcontext}:" application-path app_dir_root - then - if [[ $retrieve = _mac_apps_old_retrieve ]]; then - app_dir_root=( - {,/Developer,/Network,/System,$HOME}/{Applications*(N),Desktop} - ) - app_dir_root=( $^app_dir_root(N) ) - else - app_dir_root=( / ) - fi - - zstyle ":completion:*" application-path $app_dir_root - fi - - typeset -g -Ua _mac_apps - $retrieve - - _store_cache Mac_applications _mac_apps - fi -} - -_retrieve_mac_apps "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ri b/result/sw/share/zsh/5.9/functions/_ri deleted file mode 100644 index 4d5a7298..00000000 --- a/result/sw/share/zsh/5.9/functions/_ri +++ /dev/null @@ -1,93 +0,0 @@ -#compdef ri - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -C \ - '(- *)'{-h,--help}'[print help information and exit]' \ - '(- *)'{-v,--version}'[display the version of ri]' \ - '*'{-d+,--doc-dir=}'[directory to search for documentation]:ri doc directory:_directories' \ - '(-f --format)'{-f+,--format=}'[format to use when displaying output]:output format [bs]:(ansi bs markdown rdoc)' \ - '(-T --no-pager)'{-T,--no-pager}'[send output directly to stdout]' \ - '(-i --interactive)'{-i,--interactive}'[interactive mode]' \ - '(-a --all)'{-a,--all}'[show all documentation for a class or module]' \ - '(-l --list)'{-l,--list}'[list classes ri knows about]' \ - '--list-doc-dirs[list the directories from which ri will source documentation]' \ - '(-w --width)'{-w+,--width=}'[set the width of the output]:output width [72]' \ - '(-l --list)--server=-[run RDoc server on the given port]::port [8214]:_ports' \ - "--no-standard-docs[don't include documentation from the Ruby standard library, site_lib, installed gems, or ~/.rdoc]" \ - '(--no-use-cache --use-cache)--'{no-,}"use-cache[whether or not to use ri's cache]" \ - '(--no-system --system)--'{no-,}"system[include documentation from Ruby's standard library]" \ - '(--no-site --site)--'{no-,}'site[include documentation from libraries installed in site_lib]' \ - '(--no-gems --gems)--'{no-,}'gems[include documentation from RubyGems]' \ - '(--no-home --home)--'{no-,}'home[include documentation stored in ~/.rdoc]' \ - '--profile[run with the Ruby profiler]' \ - '--dump=[dump data from an ri cache or data file]:cache:_files' \ - '*:ri name:->ri-name' && return - -if [[ "$state" = ri-name ]]; then - local -a ri_dirs ri_ext ri_names ri_wants ri_names - local class_dir esc_name dir curtag tag descr expl - - if "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e 1 >/dev/null 2>&1; then - # Old-style Ruby 1.8.x RI - ri_dirs=( ${(f)"$(_call_program ri-names "ruby${words[1]#ri}" -rrdoc/ri/ri_options -e '"o = RI::Options.instance; o.parse(ARGV); o.path.each { |p| puts p }"' -- ${(kv)opt_args[(I)-d|--doc-dir|--(system|site|gems|home)]})"} ) - ri_ext=yaml - elif "ruby${words[1]#ri}" -rrdoc/ri -rrdoc/ri/store -e 1 >/dev/null 2>&1; then - # Newer-style Ruby 1.9.2 RI - ri_dirs=( ${(f)"$(_call_program ri-names "$words[1]" ${(kv)opt_args[(I)-d|--doc-dir|--((no-|)(system|site|gems|home)|standard-docs)]} --list-doc-dirs -f bs -T)"} ) - ri_ext=ri - else - # New-style Ruby 1.9+ RI - ri_dirs=( ${(f)"$(_call_program ri-names "$words[1]" ${(kv)opt_args[(I)-d|--doc-dir|--((no-|)(system|site|gems|home)|standard-docs)]} --list-doc-dirs -f plain -T)"} ) - ri_ext=yaml - fi - - if compset -P '?*(::|\#|.)'; then - class_dir=${IPREFIX//(::|\#|.)/\/} - fi - esc_name=${${(Q)PREFIX}//(#b)([^A-Za-z0-9_])/$(printf %%%x ${(qq)match[1]})} - - case "$IPREFIX" in - (*::) ri_wants=( 'classes:class names' 'class-methods:class methods' );; - (*\#) ri_wants=( 'instance-methods:instance methods' );; - (*.) ri_wants=( 'class-methods:class methods' 'instance-methods:instance methods' );; - (*) ri_wants=( 'classes:class names' ) - esac - - for curtag in $ri_wants; do - tag=${curtag%%:*} - descr=${curtag#*:} - - _tags "$tag" - while _tags; do - while _next_label "$tag" expl "$descr"; do - ri_wants=() - case "$tag" in - (classes) - for dir in $ri_dirs[@]; do - ri_wants+=( $dir/$class_dir*(-/:t) ) - done - ;; - (class-methods) - for dir in $ri_dirs[@]; do - fnames=( $dir/$class_dir*-c.$ri_ext(-.:t) ) - ri_wants+=( ${${fnames%-c.$ri_ext}//(#b)%(??)/$(print "\\x$match[1]")} ) - done - ;; - (instance-methods) - for dir in $ri_dirs[@]; do - fnames=( $dir/$class_dir*-i.$ri_ext(-.:t) ) - ri_wants+=( ${${fnames%-i.$ri_ext}//(#b)%(??)/$(print "\\x$match[1]")} ) - done - ;; - esac - ri_names=( ${(Q)ri_wants} ) - compadd -S '' -d ri_names -a "$expl[@]" ri_wants && ret=0 - done - (( ret )) || break - done - done -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_rlogin b/result/sw/share/zsh/5.9/functions/_rlogin deleted file mode 100644 index 685e4e50..00000000 --- a/result/sw/share/zsh/5.9/functions/_rlogin +++ /dev/null @@ -1,75 +0,0 @@ -#compdef rlogin rsh remsh=rsh rcp - -_rlogin () { - case "$service" in - rlogin) - _arguments -s \ - '-8[allow 8-Bit data]' \ - '-e-[specify escape character]:escape character:' \ - '-l[specify login user name]:login as:_rlogin_users' \ - ':remote host name:_rlogin_hosts' - ;; - rsh|remsh) - local context state line ret=1 - typeset -A opt_args - local -a _comp_priv_prefix - - _arguments -s \ - '-n[ignore stdin]' \ - '-l[specify login user name]:login as:_rlogin_users' \ - ':remote host name:_rlogin_hosts' \ - '(-):command: _command_names -e' \ - '*::command:->command' && ret=0 - - if [[ -n "$state" ]]; then - shift 1 words - (( CURRENT-- )) - _normal && ret=0 - fi - return ret - ;; - rcp) - local curcontext="$curcontext" state line ret=1 expl - typeset -A opt_args - - _arguments -C -s \ - '-p[preserve modification times]' \ - '-r[recursively copy directories]' \ - '*:files:->files' && ret=0 - - if [[ -n "$state" ]]; then - if compset -P 1 '*:'; then - _remote_files -- rsh && ret=0 - elif compset -P 1 '*@'; then - _wanted hosts expl host _rlogin_hosts -S: && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:: _rlogin_all_hosts -S:' \ - 'users:: _rlogin_users -qS@' && ret=0 - fi - fi - return ret - ;; - esac -} - -_rlogin_users () { - _tags users && _combination -s '[:@]' my-accounts users-hosts users "$@" -} - -_rlogin_hosts () { - _tags hosts && - if [[ "$IPREFIX" == *@ ]]; then - _combination -s '[:@]' my-accounts users-hosts "users=${IPREFIX/@}" hosts "$@" - else - _combination -s '[:@]' my-accounts users-hosts \ - ${opt_args[-l]:+"users=${opt_args[-l]:q}"} hosts "$@" - fi -} - -_rlogin_all_hosts () { - _tags hosts && _combination -s '[:@]' my-accounts users-hosts hosts "$@" -} - -_rlogin "$@" diff --git a/result/sw/share/zsh/5.9/functions/_rm b/result/sw/share/zsh/5.9/functions/_rm deleted file mode 100644 index e66b77fa..00000000 --- a/result/sw/share/zsh/5.9/functions/_rm +++ /dev/null @@ -1,78 +0,0 @@ -#compdef rm grm zf_rm - -local variant -declare -a args opts=( -A '-*' ) -args=( - '(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]' - '(-I --interactive)-i[prompt before every removal]' - '(-r -R --recursive)'{-r,-R,--recursive}'[remove directories and their contents recursively]' - '*:: :->file' -) -_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help -case $variant; in - gnu) - opts=() - args+=( - '(-i --interactive)-I[prompt when removing many files]' - '(-i -I)--interactive=-[prompt under given condition (defaulting to always)]::when:((once\:"prompt when removing many files" - always\:"prompt before every removal"))' - '--one-file-system[stay within filesystems of files given as arguments]' - '( --preserve-root)--no-preserve-root[do not treat / specially]' - '(--no-preserve-root )--preserve-root[do not remove / (default)]' - '(-d --dir)'{-d,--dir}'[remove directories as well]' - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' - '(- *)--help[display help message and exit]' - '(- *)--version[output version information and exit]' - ) - ;; - *) - args=(${args:#*)--*\[*}) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*|zsh) - args+=( - '-d[remove directories as well]' - ) - ;| - zsh) - args+=( - '-s[enable paranoid behavior]' - ) - ;; - darwin*|dragonfly*|freebsd*|netbsd*|openbsd*) - args+=( - '-P[overwrite files before deleting them]' - '-v[explain what is being done]' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( - '-W[attempt to undelete named files]' - ) - ;| - dragonfly*|freebsd*|netbsd*) - args+=( - "-x[don't cross file systems when removing a hierarchy]" - ) - ;| - dragonfly*|freebsd*) - args+=( - '(-i)-I[prompt when removing many files]' - ) - ;; -esac - -local curcontext=$curcontext state line ret=1 -declare -A opt_args - -_arguments -C -s -S $opts \ - $args && ret=0 - -case $state in - (file) - (( CURRENT > 0 )) && line[CURRENT]=() - line=( ${line//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} ) - _files -F line && ret=0 - ;; -esac - -return $ret diff --git a/result/sw/share/zsh/5.9/functions/_rmdir b/result/sw/share/zsh/5.9/functions/_rmdir deleted file mode 100644 index 501ffb1c..00000000 --- a/result/sw/share/zsh/5.9/functions/_rmdir +++ /dev/null @@ -1,32 +0,0 @@ -#compdef rmdir grmdir zf_rmdir - -local variant -local -a args aopts=( -A '-*' ) - -args=( - '(-p --parents)'{-p,--parents}'[remove each component of the specified paths]' -) - -_pick_variant -r variant -b zsh gnu=GNU $OSTYPE --version -case $variant; in - gnu) - aopts=() - args+=( - '--ignore-fail-on-non-empty[ignore failure if directory is non-empty]' - '(-v --verbose)'{-v,--verbose}'[be verbose]' - ) - ;; - zsh) - args=() - ;; - *) - args=(${args:#*\)--*}) - ;| - dragonfly*|freebsd*) - args+=('-v[be verbose]') - ;; -esac - -_arguments -s -S $aopts \ - $args \ - '*: :_directories' diff --git a/result/sw/share/zsh/5.9/functions/_route b/result/sw/share/zsh/5.9/functions/_route deleted file mode 100644 index 95df6d93..00000000 --- a/result/sw/share/zsh/5.9/functions/_route +++ /dev/null @@ -1,256 +0,0 @@ -#compdef route - -local curcontext="$curcontext" expect ret=1 -local -a state state_descr line args families modifiers ignore sub sequential tags -local -A opt_args subcmds once params - -subcmds=( - add 'add a route' - flush 'remove all routes' - delete 'delete a specific route' - change 'change aspects of a route (such as its gateway)' - get 'lookup route for a destination' - monitor 'continuously report any changes to the routing information' -) -args=( - '-n[output addresses numerically]' - '(-q)-v[verbose output]' -) -modifiers=( - '-net:interpret destination as a network' - '-host:interpret destination as a host' -) -params=( - '-dst' target # does this definitely follow - '(-|)netmask' netmask - '(gw|-gateway)' gateway - metric metric - '(mss|window|-(send|recv)pipe)' size:bytes - '[i-]rtt' time:ms - -rttvar rttvar - -mtu mtu - '(dev|-ifscope|-ifp)' interface - -ifa address - -expire time:epoch - -hopcount hopcount - -tag tag - -prefixlen bits - '-(label|push|pop|swap)' label - -priority number # is it a number - -secattr secattr - '(-iw|-iwmax|-msl)' value - '-fib' table -) - -case $OSTYPE in - ^linux*) - args+=( '(-v)-q[suppress all output]' ) - families=( -inet -inet6 ) - modifiers+=( - '-dst:distinguish a destination' - '-gateway:distinguish a gateway address' - -netmask - -rtt -rttvar - -sendpipe -recvpipe - -mtu -hopcount - -expire - '-lock' '-lockrest' - -i{,nter}face:'indicate destination is directly reachable' - '-static:manually added route' - '-nostatic:pretend route added by kernel or daemon' - '-reject:emit an ICMP unreachable when matched' - '-blackhole:silently discard packets (during updates)' - '-proto1:set protocol specific routing flag #1' - '-proto2:set protocol specific routing flag #2' - ) - sequential=( target gateway netmask ) - ;| - *bsd*|darwin*|dragonfly*) - modifiers+=( - -link '-ifp' '-ifa' # do these need an argument: interface or address - '-prefixlen:indicate mask bits' - ) - ;| - (net|free)bsd*|darwin*|dragonfly*) - families+=( -xns ) - modifiers+=( '-xresolve:emit mesg on use (for external lookup)' ) - ;| - (net|open)bsd*|darwin*|dragonfly*) - modifiers+=( - '-cloning:generate a new route on use' - '-llinfo:validly translate proto addr to link addr' - ) - ;| - (net|open|free)bsd*|darwin*|dragonfly*) - args+=( - "-d[debug-only mode: don't update routing table]" - '-t[test-only mode: /dev/null used instead of a socket]' - ) - ;| - netbsd*|solaris*) - args+=( '-f[remove all routes first]' ) - ;| - (netbsd|darwin|dragonfly)*) - modifiers+=( '-proxy:make entry a link level proxy' ) - ;| - (netbsd|openbsd|dragonfly)*) - subcmds+=( show 'print out the routing table' ) - families+=( -mpls ) - ;| - (netbsd|darwin)*) - families+=( -atalk ) - ;| - (freebsd|darwin)*) - families+=( -osi ) - ;| - (openbsd|dragonfly)*) - modifiers+=( -push -pop -swap ) - ;| - freebsd*) - subcmds+=( - del $subcmds[delete] - show $subcmds[get] - ) - args+=( - '(-6)-4[specify IPv4 address family]' - '(-4)-6[specify IPv6 address family]' - ) - families+=( -4 -6 ) - modifiers+=( '-fib:specify a routing table' ) - ;; - netbsd*) - subcmds+=( flushall 'remove all routes including the default gateway' ) - args+=( - "-L[don't show link layer entries in routing table]" - '-S[print a space when a flag is missing to align flags]' - '-s[suppress all output from get except for the gateway]' - '-T[show tags in the route display]' - ) - modifiers+=( - '-tag' - '-noreject:clear reject flag' - '-noblackhole:clear blackhole flag' - ) - ;; - openbsd*) - subcmds+=( exec 'execute a command with alternate routing table' ) - args+=( - '-T+[select specified alternate routing table]:routing table:_routing_tables' - ) - modifiers+=( - -sa - '-label' - '-priority' - '-mpath:multiple gateways for a destination exist' - -mplslabel -in -out - ) - ;; - solaris*) - subcmds+=( show 'display list of routes applied at system startup' ) - args+=( - '-p[make changes to the route tables persistent across system restarts]' - '-R+[specify alternate root directory where changes are applied]:directory:_directories' - ) - modifiers+=( - "-private:don't advertise this route" - '-multirt:create the specified redundant route' - '-setsrc:assign the default source address' - '-secattr:security attributes' - ) - ;; - darwin*) - modifiers+=( -ifscope ) - ;| - dragonfly*) - modifiers+=( -iw -iwmax -msl ) - ;| - linux*) - args+=( - '(H -n)--numeric[output addresses numerically]' - '(H)*'{-e,--extend}'[display other/more information]' - '!(H -C --cache)'{-F,--fib} - '(H -C --cache)'{-C,--cache}'[display routing cache instead of FIB]' - + '(family)' - '-A+[use specified address family]:address family:(inet inet6 ax25 netrom ipx ddp x25)' - -4 -6 --inet --inet6 --ax25 --netrom --ipx --ddp --x25 - + '(H)' - '(1 *)'{-h,--help}'[display help information]' - '(1 *)'{-V,--version}'[display version information]' - ) - subcmds[del]=$subcmds[delete] - unset 'subcmds[monitor]' 'subcmds[get]' 'subcmds[change]' - modifiers+=( - netmask gw metric mss window irtt reject mod dyn reinstate - 'dev:force route to be associated with the specified device' - ) - sequential=( target interface ) - ;; -esac - -print -v sub -f '%s\\:%s' ${(kvq)subcmds} -_arguments -C -s -S "1:command:(($sub))" '*::args:->args' $args && ret=0 - -[[ -n $opt_args[(i)-[46]] ]] && families=() - -if [[ -n $state ]]; then - if [[ $line[1] = exec ]]; then - shift words - (( CURRENT-- )) - _normal - elif [[ $line[1] = (flush|monitor) ]]; then - sequential=() - fi - - for ((i=2;i<CURRENT;i++)); do - if [[ -n $expect ]]; then - sequential=( ${sequential:#$expect} ) - expect='' - continue - fi - - expect=${params[(K)$words[i]]} - if [[ -n $expect ]]; then - ignore+=( ${(Q)words[i]} ) - else - if [[ -n ${(M)${families%%:*}:#${(q)words[i]}} ]]; then - families=() - elif [[ -n ${(M)${modifiers%%:*}:#${(q)words[i]}} ]]; then - ignore+=( ${(q)words[i]} ) - elif [[ $words[1] != -lock ]]; then - shift sequential - fi - fi - done - - [[ -z $expect ]] && tags=( modifiers families ) - _tags values $tags - while _tags; do - if _requested values; then - case ${expect:-$sequential[1]} in - target) - if [[ -z $expect ]]; then - _wanted -x targets expl target compadd default && ret=0 - else - _message -e targets target - fi - ;; - interface) _net_interfaces && ret=0 ;; - size:bytes) _guard "[0-9]#" 'size (bytes)' ;; # _guard usage pointless - time:ms) _guard "[0-9]#" 'time (ms)' ;; - time:microseconds) _guard "[0-9]#" 'time (microseconds)' ;; - time:epoch) _guard "[0-9]#" 'expiration time (seconds since epoch)' ;; - rttvar) _guard "[0-9]#" 'time variance (microseconds)' ;; - mtu) _guard "[0-9]#" 'max MTU (bytes)' ;; - hopcount) _guard "[0-9]#" 'hop count' ;; - ssthresh) _message -e threshold 'ss threshold' ;; - bits) _guard "[0-9]#" 'bits' ;; - *) _guard "[^-]#" "${expect:-$sequential[1]}" ;; - esac - fi - _requested modifiers && _describe -t modifiers modifier modifiers -F ignore && ret=0 - _requested families expl 'address family' compadd -a families && ret=0 - (( ret )) || break - done -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_routing_domains b/result/sw/share/zsh/5.9/functions/_routing_domains deleted file mode 100644 index 4bb9f78b..00000000 --- a/result/sw/share/zsh/5.9/functions/_routing_domains +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description routing-domains expl 'routing domain' -compadd "$@" "$expl[@]" - ${${(M)${(f)"$(_call_program routing-domains netstat -R)"}:#Rdomain *}#Rdomain } diff --git a/result/sw/share/zsh/5.9/functions/_routing_tables b/result/sw/share/zsh/5.9/functions/_routing_tables deleted file mode 100644 index 3ba1931f..00000000 --- a/result/sw/share/zsh/5.9/functions/_routing_tables +++ /dev/null @@ -1,6 +0,0 @@ -#autoload - -local expl - -_description routing-tables expl 'routing table' -compadd "$@" "$expl[@]" - ${(s: :)${${(M)${(f)"$(_call_program routing-tables netstat -R)"}:# Routing tables#: *}#*: }} diff --git a/result/sw/share/zsh/5.9/functions/_rpm b/result/sw/share/zsh/5.9/functions/_rpm deleted file mode 100644 index d00f8842..00000000 --- a/result/sw/share/zsh/5.9/functions/_rpm +++ /dev/null @@ -1,451 +0,0 @@ -#compdef rpm rpmbuild rpmkeys rpmsign rpmspec rpmquery rpmverify - -# This uses `_arguments' in a state-machine kind of way. These states -# have names and before executing the default action for such a state -# we try to call a function with the name `_rpm_<state>'. If such a -# function exists, we return with its return status immediately. This -# allows users to override the default completions by simply defining -# these functions. -# The states (and possible values for the `<state>' above) are: -# -# common -# complete for basic options like --querytags and --showrc -# query -# complete for `rpm -q' query -# verify -# complete for `rpm --verify' -# install -# complete for `rpm -i' or `rpm --install' -# upgrade -# complete for `rpm -U' or `rpm --upgrade' -# uninstall -# complete for `rpm -e' or `rpm --erase' -# build_b -# complete for `rpmbuild -bx' (the stage `x' is already completed) -# build_r -# complete for `rpmbuild -rx' (the stage `x' is already completed) -# build_t -# complete for `rpmbuild -tx' (the stage `x' is already completed) -# checksig -# complete for `rpm --checksig' -# package -# complete a RPM package name -# package_file -# complete a RPM package file name -# file_or_package -# an absolute path to any file (not a package file) or a package -# tags -# complete a tag name -# capability -# complete a capability -# relocate -# complete a `old=new' pair of paths -# setattrs -# complete for --setperms, --setugids, --setcaps and --restore -# public_keys -# complete for `rpmkeys --import' -# query_specs -# complete for `rpmspec --query' - -_rpm () { - local curcontext="$curcontext" state lstate line nm="$compstate[nmatches]" - typeset -A opt_args - local ret - local -a tmp expl opts commonopts selectopts fileopts pathopts buildopts queryopts - - commonopts=( - '(-v --verbose)--quiet[print as little as possible]' - '(--quiet)*'{-v,--verbose}'[verbose output]' - '--rcfile=:configuration file:_sequence -s \: _files' - '--httpproxy=:http proxy server:_hosts' - '--httpport=:http port number' - '--pipe=[pipes the output of rpm to the specified command]:pipe command:_cmdstring' - \*{-D,--define=}'[define a macro]:macro value' - '*--undefine=[undefine a macro]:macro:->macros' - '--target=[specify target platform]:arch-vendor-os' - '--macros=[read macros from specified files instead of the defaults]:file:_sequence -s \: _files' - '--load=[load a single macro file]:file:_files' - "--noplugins[don't enable any plugins]" - "--nodigest[don't verify package digest(s)]" - "--nosignature[don't verify package signature(s)]" - ) - - # package selection options of which only one can be used - selectopts=( - {-a,--all}'[query all packages]' - {-f,--file}'[query packages that own specified files]' - {-p,--package}'[query uninstalled packages]' - {-g,--group}'[query packages in one of specified groups]' - --pkgid --hdrid --tid --querybynumber - '--triggeredby' - '--whatconflicts' - '--whatrequires' - '--whatobsoletes' - '--whatprovides' - '--whatrecommends' - '--whatsuggests' - '--whatsupplements' - '--whatenhances' - '--nomanifest' - ) - sopts=${selectopts%\[*}\ --specfile - selectopts=( - "(* $sopts)"${selectopts[1,2]} - "($sopts)"${selectopts[3,-1]} - '(-a --all)*: :->package-select' - ) - - fileopts=( - '(-c --configfiles)'{-c,--configfiles}'[configuration files only]' - '(-d --docfiles)'{-d,--docfiles}'[documentation files only]' - '(-L --licensefiles)'{-L,--licensefiles}'[license files only]' - '(-A --artifactfiles)'{-A,--artifactfiles}'[artifact files only]' - '--noghost[exclude ghost files]' - '--noconfig[exclude config files]' - '--noartifact[exclude artifact files]' - ) - - pathopts=( - {-r,--root=}'[specify rpm root directory]:directory:_directories' - '--dbpath=[specify rpm database path]:path:_directories' - ) - - buildopts=( - '--rpmfcdebug[debug dependencies generation]' - '--buildroot=[override the build root]:build root directory:_directories' - '--build-in-place[run build in current directory]' - '--clean[remove the build tree after the packages are made]' - "--nobuild[don't execute any stages of the build]" - '--nodeps[do not verify build dependencies]' - '--nodirtokens[generate package header(s) compatible with (legacy) rpm v3 packaging]' - "--noclean[don't execute %clean stage of the build]" - "--noprep[don't execute %prep stage of the build]" - "--nocheck[don't execute %check stage of the build]" - '--rmsource[remove sources when done]' - '--rmspec[remove the spec file when done]' - '--short-circuit[skip straight to specified stage (only for c,i)]' - '*--with=[enable configure option for build]:option' - '*--without=[disable configure option for build]:option' - '--scm=[select the SCM to use with %autosetup]:scm [patch]:(patch gendiff git quilt)' - '*--buildpolicy=[set buildroot policy]:policy:->brp_policies' - '!--sign' - '--trace[trace macro expansion]' - "--nodebuginfo[don't generate debuginfo for this package]" - ) - - queryopts=( - '--conflicts' - '--obsoletes[list packages obsoleted by package]' - '--provides[list capabilities provided by package]' - '(-R)--requires[list capabilities on which packages depend]' - ) - - case $service in - rpm|rpmkeys) - opts+=( - '--import[import an armored public key]:*: :->public_keys' - {-K,--checksig}'[signature check mode]:*:sigcheck:->checksig' - ) - ;| - rpm|rpmdb) - opts+=( --{init,rebuild}'db:*: :->common' ) - ;| - rpm|rpmsign) - opts+=( - --{add,re}sign'[sign package(s)]:*: :->sign' - '--delsign[delete package signatures]:*: :->sign' - ) - ;| - rpm) - opts+=( - {-q+,--query}'[query mode]:*:query:->query' - {-V+,-y+,--verify}'[verify mode]:*:verify:->verify' - {-i+,--install}'[install mode]:*:install:->install' - {-U+,--upgrade}'[upgrade mode]:*:upgrade:->upgrade' - {-F+,--freshen}'[freshen mode]:*:upgrade:->upgrade' - {-e+,--erase}'[uninstall mode]:*:uninstall:->uninstall' - '--reinstall[reinstall mode]:*:install:->install' - '--setperms[set file permissions]:*:package:->setattrs' - '--setugids[set file owner/group]:*:package:->setattrs' - '--setcaps[set capabilities of files in the given package]:*:package:->setattrs' - '--restore[restore owner, group, permissions and capabilities of files in the given package]:*:package:->setattrs' - ) - ;; - rpmbuild) - [[ -prefix -r ]] && pathopts[1]= - opts+=( $buildopts - '(-r -t)-b+[build mode (spec file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b' - '(-b -t)-r+[build mode (source package)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_b' - '(-b -r)-t+[build mode (tar file)]:build stage:((p\:execute\ \%prep\ stage l\:do\ a\ list\ check c\:execute\ build\ stage i\:execute\ install\ stage b\:build\ a\ binary\ package a\:build\ binary\ and\ source\ packages s\:build\ source\ package\ only r\:build\ source\ package\ only\ -\ calculate\ build\ requires)):*:build:->build_t' - --{rebuild,recompile}':*:source rpm file:->build_r' - ) - ;; - rpmspec) - opts+=( - {-P,--parse}'[parse spec files]:*: :->spec_files' - {-q,--query}'[query spec files]:*: :->query_specs' - ) - ;; - rpmquery) state=query ;; - rpmverify) state=verify ;; - esac - - [[ -z $state ]] && _arguments -C -s $pathopts $opts $commonopts \ - '(-)'{-\?,--help}'[print help information]' \ - '(-)--usage[print brief usage message]' \ - '(-)--version[print version number]' \ - \*{-E,--eval=}'[print macro expansion of given expression]:expression:->tags' \ - --{querytags,showrc}':*: :->common' - - # As long as we have a state name... - - while [[ -n "$state" ]]; do - - # First try to call a user-defined function. - - _call_function ret _rpm_$state && return ret - - # Copy the state and reset `state', to simplify the test above. - - lstate="$state" - state='' - tmp=() - - # Dispatch... - - case "$lstate" in - common) - _arguments -s -C $commonopts - ;; - query) - # --dump requires one of -{l,c,d} - # --triggers requires --script - _arguments -s -C \ - \!{-q,--query} $commonopts $selectopts $fileopts $pathopts $queryopts \ - '--dump[dump basic file information]' \ - \*--{qf,queryformat}'[specify format for package information]:rpm query format:->tags' \ - "($sopts)--specfile[query specified spec file as if it were a package]" \ - '(-i --info)'{-i,--info}'[display package information]' \ - '--changelog' '--changes' '--dupes' \ - '--last[order packages by install time]' \ - '--xml' \ - '--recommends[list capabilities recommended by packages]' \ - '(--requires)-R[list capabilities on which packages depend]' \ - '--suggests[list capabilities suggested by packages]' \ - '--supplements[list capabilities supplemented by packages]' \ - '(-s --state -l --list --filesbypkg)'{-l,--list}'[list files in package]' \ - '(-s --state -l --list)'{-s,--state}'[show file states]' \ - '--fileclass' '--filecolor' '--fileprovide' '--filerequire' \ - '--filecaps' '--filesbypkg[list files with package names]' \ - '--filetriggers[list filetrigger scriptlets]' \ - '--scripts[show (un)install scripts]' \ - {--triggers,--triggerscripts}'[show trigger scripts]' - ;; - query_specs) - _arguments -s -C \ - \!{-q,--query} $commonopts $pathopts $queryopts \ - --buildconflicts --buildrequires --trace \ - '*:spec file:->spec_files' - ;; - setattrs) - _arguments -s -C '!--set{perm,ugids,caps}' '!--restore' $selectopts - ;; - verify) - _arguments -s -C \ - \!{-V,--verify} $commonopts $selectopts $fileopts $pathopts \ - --no{deps,digest,files,scripts,signature,linkto,filedigest,size,user,group,mtime,mode,rdev,caps} - ;; - upgrade) - tmp=( '(--force)--oldpackage' ) - ;& - install) - _arguments -s -C \!{-i,--install,-U,--upgrade,-F,--freshen} $tmp \ - $commonopts $pathopts \ - '--excludepath=:file to exclude:_files -/' \ - '--relocate:relocate:->relocate' \ - '--prefix=[relocate the package]:package prefix directory:_files -/' \ - '(-h --hash)'{-h,--hash}'[print hash marks as package installs]' \ - '(--replacepkgs --replacefiles --oldpackage)--force' \ - '(--force)--'{replacefiles,replacepkgs} \ - --{aid,allfiles,badreloc,excludedocs,ignorearch,ignoreos,ignoresize,includedocs,justdb,percent,test} \ - --no{deps,filedigest,contexts,caps,order,suggest,pre,post,preun,postun,trigger{s,in,un,postun}} \ - '(--nopre --nopost --nopreun --nopostun)--noscripts' \ - '*:pkg file:->package_file' - ;; - uninstall) - _arguments -s -C \!{-e,--erase} \ - "${commonopts[@]}" "${pathopts[@]}" \ - --{allmatches,justdb,repackage,test} \ - --no{deps,scripts,preun,postun,trigger{s,un,postun}} \ - '*:package:->package' - ;; - build_b) tmp=( '*:spec file:_files -g "*.spec(-.)"' ) ;| - build_r) tmp=( '*:source package:_files -g "*.(#i)src.rpm(-.)"' ) ;| - build_t) tmp=( '*:tar file:_files -g "*.(#i)tar(.*|)(-.)"' ) ;| - build_?) - _arguments -s -C $buildopts $commonopts $pathopts "${tmp[@]}" \ - ;; - checksig) - _arguments -s -C \!-K \ - "${commonopts[@]}" \ - --no{gpg,pgp,md5,digest} \ - '*:package file:->package_file' - ;; - sign) - _arguments -s -C $commonopts $pathopts \ - '--signfiles[sign package(s) files]' \ - '--fskpath=[use file signing key]:key:_files' \ - '--fskpass[prompt for file signing key password]' \ - '--key-id=[specify key id/name to sign with]:key id' \ - '--digest-algo=[override default digest algorithm]:algorithm:(sha1 sha256 sha384 sha512)' \ - '*:package file:_files -g "*.(#i)rpm(-.)"' - ;; - package-select) - case "${opt_args[(i)${sopts// /|}]}" in - -f|--file) _files ;; - -p|--package) state=package_file ;; - -g|--group) state=groups ;; - --fileid|--pkgid) _message -e md5 md5 ;; - --hdrid) _message -e sha1 sha1 ;; - --querybynumber) _message -e value number ;; - --tid) _message -e ids 'transaction id' ;; - --what*) state=capabilities ;; - --specfile) state=spec_files ;; - *) state=package ;; - esac - ;; - macros) - local -a macros - macros=( ${${${(M)${(f)"$(_call_program macros rpm --showrc)"}:#(-|)[0-9]##[:=] ##*}#* }%%[[:blank:](]*} ) - _description macros expl macro - if zstyle -t ":completion:${curcontext}:macros" prefix-hidden; then - compadd "$expl[@]" -p '%' -a - macros - else - macros=( %${^macros} ) - compadd "$expl[@]" -a - macros - fi - ;; - target) - _wanted targets expl 'target platform' compadd \ - ${${(M)${(f)"$(_call_programs targets rpm --showrc)"}:#compatible archs*}##*: } - ;; - groups) - if ( (( ! $+_rpm_groups )) || _cache_invalid rpm-groups ) && - ! _retrieve_cache rpm-groups - then - typeset -gaU _rpm_groups - _rpm_groups=( - ${(f)"$(_call_program groups rpm -qa --queryformat '%\{group}\\n' 2>/dev/null)"} - ) - _store_cache RPM-groups _rpm_groups - fi - _wanted groups expl 'group' _multi_parts / _rpm_groups - ;; - file_or_package) - if [[ $PREFIX = /* ]]; then - _wanted files expl 'file' _files - else - state=package - fi - ;; - package) - if ( [[ ${+_rpms} -eq 0 ]] || _cache_invalid RPMs ) && - ! _retrieve_cache RPMs; - then - _rpms=( $(_call_program packages rpm -qa) ) - _store_cache RPMs _rpms - fi - _wanted packages expl 'package' \ - compadd -M 'r:|-=* r:|=*' - "$_rpms[@]" - ;; - spec_files) - _wanted specfiles expl 'spec file' \ - _files -g '*.spec(-.)' - ;; - package_file) - _wanted files expl 'package file' \ - _files -g '*.(#i)rpm(-.)' - if [[ -prefix 1 (f|ht)tp:// ]]; then - _wanted urls expl 'URL of rpm package file' \ - _urls -f -g '*.(#i)rpm(-.)' "${expl[@]}" - else - _wanted urls expl 'URL of rpm package file' \ - compadd -S '' "${expl[@]}" ftp:// http:// - fi - ;; - package_src) - _wanted files expl 'source package' _files -g '(#i)*.src.rpm(-.)' - ;; - tags) - local -a suf - if compset -P "*%*${${QIPREFIX:+{}:-\{}"; then - compset -S '(|\\)}*' || suf=( -S ${${QIPREFIX:+\}}:-\\\}} -r ": \}\t\n\-" ) - if compset -P '*:'; then - _wanted formats expl format compadd $suf - \ - armor arraysize base64 date day depflags deptype expand \ - fflags fstate fstatus hex octal humaniec humansi perms \ - pgpsig shescape triggertype vflags xml - else - _wanted tags expl 'rpm tag' compadd -M 'm:{a-z}={A-Z}' "$suf[@]" - \ - "${(L@)${(@f)$(_call_program tags rpm --querytags)}#RPMTAG_}" - fi - else - _message -e formats 'rpm query format' - fi - ;; - capabilities) - local match mbegin mend - if [[ "${opt_args[(i)${sopts// /|}]}" = --what(#b)(*) ]]; then - if [[ $match[1] = provides && -prefix / ]]; then - _wanted files expl file _files - else - _description capabilities expl capability - compadd ${${(f)"$(_call_program capabilities rpm -qa --queryformat '%\{$match[1]}\\n')"}:#\(none\)} - fi - fi - ;; - relocate) - if compset -P 1 '*='; then - _description directories expl 'new path' - else - _description directories expl 'old path' - fi - - _files "$expl[@]" -/ - ;; - public_keys) - _arguments -s -C \!--import $commonopts \ - '*:public key:_files' - ;; - brp_policies) - local rpmconfigdir=$(_call_program policies rpm -E '%\{_rpmconfigdir\}') - _wanted policies expl policy compadd $rpmconfigdir/brp-*(N:t:s/brp-//) - ;; - esac - - [[ $nm -ne $compstate[nmatches] ]] && return 0 - done - - return ret -} - -# set a sensible default caching policy -local update_policy -zstyle -s ":completion:*:*:rpm:*" cache-policy update_policy -if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:rpm:*" cache-policy _rpms_caching_policy -fi - -_rpms_caching_policy () { - # rebuild if cache is more than a week old - local -a oldp - oldp=( "$1"(mw+1) ) - (( $#oldp )) && return 0 - - pkg_indices=( /var/lib/rpm/{packages.rpm,Packages}(N) ) - for pkg_index in $pkg_indices; do - [[ "$pkg_index" -nt "$1" ]] && return 0 - done -} - -_rpm "$@" diff --git a/result/sw/share/zsh/5.9/functions/_rrdtool b/result/sw/share/zsh/5.9/functions/_rrdtool deleted file mode 100644 index 96bdaf0d..00000000 --- a/result/sw/share/zsh/5.9/functions/_rrdtool +++ /dev/null @@ -1,25 +0,0 @@ -#compdef rrdtool - -local curcontext="$curcontext" state line expl ret=1 - -_arguments -C \ - ':rrdtool command:(create update updatev graph dump restore - last lastupdate first help info fetch tune - resize xport)' \ - '*:: :->subcmds' && ret=0 - -curcontext="${curcontext%:*}-$words[1]:" -case "$state" in - (subcmds) - case "$words[1]" in - (help) - _wanted -V 'subcommands' expl 'subcommand' compadd \ - create update updatev graph dump restore last lastupdate \ - first help info fetch tune resize xport - ;; - (*) - _files - ;; - esac - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_rsync b/result/sw/share/zsh/5.9/functions/_rsync deleted file mode 100644 index eb906e97..00000000 --- a/result/sw/share/zsh/5.9/functions/_rsync +++ /dev/null @@ -1,273 +0,0 @@ -#compdef rsync - -_rsync_user_or_host() { - local suf=$1 rsync - shift - - if compset -P 1 '*@'; then - local user=${PREFIX%%@*} - - _wanted -C user-at hosts expl "host for $user" \ - _combination -s '[:@]' "${tag}" users-hosts users="$user" hosts -S "$suf" "$@" - - elif compset -S '@*'; then - _wanted users expl "user" \ - _combination -s '[:@]' "${tag}" users-hosts users -q "$@" - - else - [[ $words[CURRENT] = rsync://* ]] || rsync='rsync:rsync: compadd -S "" rsync://' - _alternative \ - 'users:user:_users -S @' \ - "hosts:host:_hosts -S '$suf'" \ - $rsync - fi -} - -_rsync_remote_files() { -local expl remfiles remdispf remdispd remmodules suf ret=1 tag=accounts - -if compset -P '*::*/' || compset -P 'rsync://*/*/'; then - - remfiles=(${${(f)"$(_call_program files rsync ${words[CURRENT]%/*}/ 2>/dev/null)"}:#([ ]|MOTD:)*}) - - remdispf=(${remfiles:#d*}) - remdispd=(${(M)remfiles:#d*}) - - # $remdisp[fd] format: - # attrs size date time name - - _wanted files expl 'remote file or directory' \ - compadd -d remdispf ${${${${remdispf##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##} && ret=0 - - _wanted files expl 'remote file or directory' \ - compadd -S/ -d remdispd ${${${${remdispd##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##} || (( ! ret )) - -elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then - - local pat=${words[CURRENT]} - - if [[ $pat = *::* ]]; then - pat=${pat%::*}:: - else - pat=${pat%/*}/ - fi - - remfiles=(${${(f)"$(_call_program files rsync $pat 2>/dev/null)"}:#([ ]|MOTD:)*}) - remfiles=( ${(M)remfiles:#*$'\t'*} ) - - remmodules=(${remfiles/[ ]##/:}) - - _describe -V "remote modules" remmodules -S/ - -elif compset -P 'rsync://'; then - _rsync_user_or_host / "$@" -elif compset -P 1 '*:'; then - _remote_files -- ssh -else - _rsync_user_or_host : "$@" -fi - -} - -_rsync_info() { - local opts - opts=( ${${(M)${(f)"$(_call_program values $words[1] --info=help)"}:#*Mention*}/ ##Me/[me} ) - (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] ) - _values -s , 'info option' $opts ALL NONE HELP -} - -_rsync_debug() { - local opts - opts=( ${${(M)${(f)"$(_call_program values $words[1] --debug=help)"}:#*Debug*}/ ##De/[de} ) - (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] ) - _values -s , 'debug option' $opts ALL NONE HELP -} - -_rsync_files() { - _alternative "files:file:_files" "remote-files:remote file:_rsync_remote_files" -} - -_rsync_users_groups() { - local -a suf - if compset -P '*:'; then - _groups - else - compset -S ':*' || suf=( -qS ':' ) - _users $suf - fi -} - -_rsync() { - _arguments -s \ - '*'{-v,--verbose}'[increase verbosity]' \ - {--no-v,--no-verbose}'[turn off --verbose]' \ - '--bwlimit=[limit I/O bandwidth]: :_numbers -f -u "KiB per second" -d 1g limit B K M G T P' \ - '--outbuf=[set output buffering]:buffering:(none line block)' \ - '--port=[specify alternate port number]:port:(873)' \ - '--address=[bind to the specified address]:bind address:_bind_addresses' \ - '--log-file-format=[log updates using specified format]:format' \ - '--log-file=[log what rsync is doing to the specified file]:file:_files' \ - '(-T --temp-dir)'{-T+,--temp-dir=}'[create temporary files in specified directory]:directory:_directories' \ - '--sockopts=[specify custom TCP options]' \ - '(-4 -6 --ipv4 --ipv6)'{-4,--ipv4}'[prefer IPv4]' \ - '(-4 -6 --ipv4 --ipv6)'{-6,--ipv6}'[prefer IPv6]' \ - - daemon \ - '(-)'{-h,--help}'[display help information]' \ - '--config=[specify alternate rsyncd.conf file]:file:_files' \ - '--daemon[run as an rsync daemon]' \ - '--detach[detach from the parent]' \ - '(-M --dparam)'{-M+,--dparam=}'[override global daemon config parameter]:config parameter' \ - '--no-detach[do not detach from the parent]' \ - - client \ - '(-)--help[display help information]' \ - '*: :_rsync_files' \ - '--stderr=[change stderr output mode]:output mode [errors]:(errors all client)' \ - '(-q --quiet)'{-q,--quiet}'[suppress non-error messages]' \ - '--no-motd[suppress the daemon message-of-the-day output]' \ - '(-c --checksum)'{-c,--checksum}'[skip based on checksums, not mod-time & size]' \ - '(-a --archive)'{-a,--archive}'[archive mode; same as -rlptgoD (no -H)]' \ - '(-r --recursive)'{-r,--recursive}'[recurse into directories]' \ - {--no-r,--no-recursive}'[turn off --recursive]' \ - {--no-inc-recursive,--no-i-r}'[disable incremental recursive mode]' \ - '(-R --relative)'{-R,--relative}'[use relative path names]' \ - {--no-R,--no-relative}'[turn off --relative]' \ - {--no-implied-dirs,--no-i-d}'[do not send implied dirs with --relative]' \ - '(-b --backup)'{-b,--backup}'[make backups into hierarchy at indicated directory]' \ - '--backup-dir=[make backups into specified directory]:backup directory:_directories' \ - '--suffix=[set backup suffix]:suffix [~]' \ - '(-u --update)'{-u,--update}'[skip files that are newer on the receiving side]' \ - '--inplace[update destination files in-place]' \ - '(--append-verify)--append[append data onto shorter files]' \ - '(--append)--append-verify[append data onto shorter files, verifying old data]' \ - '(-A --acls)'{-A,--acls}'[preserve access-control lists]' \ - '(-X --xattrs)'{-X,--xattrs}'[preserve extended attributes]' \ - '--fake-super[use xattrs to save all file attributes]' \ - '(-d --dirs)'{-d,--dirs}'[transfer directories without recursing]' \ - {--no-d,--no-dirs}'[turn off --dirs]' \ - "--mkpath[create the destination's path component]" \ - '(-l --links)'{-l,--links}'[copy symlinks as symlinks]' \ - {--no-l,--no-links}'[turn off --links]' \ - '(-L --copy-links)'{-L,--copy-links}'[transform symlinks into referent file/dir]' \ - '(-k --copy-dirlinks)'{-k,--copy-dirlinks}'[transform a symlink to a dir into referent dir]' \ - '--copy-unsafe-links[only "unsafe" symlinks are transformed]' \ - '--safe-links[ignore symlinks that point outside the source tree]' \ - '(-H --hard-links)'{-H,--hard-links}'[preserve hard links]' \ - {--no-H,--no-hard-links}'[turn off --hard-links]' \ - '(-K --keep-dirlinks)'{-K,--keep-dirlinks}'[treat symlinked dir on receiver as dir]' \ - '(-p --perms -E --executability)'{-p,--perms}'[preserve permissions]' \ - {--no-p,--no-perms}'[turn off --perms]' \ - '--fileflags[preserve file-flags (aka chflags)]' \ - '(-E --executability)'{-E,--executability}'[preserve executability]' \ - '(-o --owner)'{-o,--owner}'[preserve owner]' \ - {--no-o,--no-owner}'[turn off --owner]' \ - '(-g --group)'{-g,--group}'[preserve group]' \ - {--no-g,--no-group}'[turn off --group]' \ - '(--devices --specials)-D[same as --devices --specials]' \ - '(-D)--devices[preserve devices]' \ - '--no-devices[turn off --devices]' \ - '(-D)--specials[preserve special files]' \ - '--no-specials[turn off --specials]' \ - '--no-D[turn off --devices and --specials]' \ - '(-t --times)'{-t,--times}'[preserve modification times]' \ - {--no-t,--no-times}'[turn off --times]' \ - \*{-U,--atimes}'[preserve access (use) times]' \ - '--open-noatime[avoid changing the atime on opened files]' \ - '(--crtimes -N)'{--crtimes,-N}'[preserve create times (newness)]' \ - '(-O --omit-dir-times)'{-O,--omit-dir-times}'[omit directories when preserving times]' \ - '(-J --omit-link-times)'{-J,--omit-link-times}'[omit symlinks when preserving times]' \ - '--chmod=[change destination permissions]:permissions' \ - '(-S --sparse)'{-S,--sparse}'[handle sparse files efficiently]' \ - '--write-devices[write to devices as files (implies --inplace)]' \ - '(-n --dry-run)'{-n,--dry-run}'[show what would have been transferred]' \ - '(-W --whole-file)'{-W,--whole-file}'[copy files whole (without delta-transfer algorithm)]' \ - {--no-W,--no-whole-file}'[turn off --whole-file]' \ - '(--cc --checksum-choice)'{--cc,--checksum-choice}'=[choose the checksum algorithms]:algorithm:_sequence -n 2 compadd - auto md4 md5 none' \ - '(-x --one-file-system)'{-x,--one-file-system}"[don't cross filesystem boundaries]" \ - '(-B --block-size)'{-B+,--block-size=}'[force a fixed checksum block-size]: :_numbers -f -u bytes -d 1g "block size" B K M G T P' \ - '(-e --rsh)'{-e+,--rsh=}'[specify the remote shell to use]:remote-shell command:(rsh ssh)' \ - '--rsync-path=[specify path to rsync on the remote machine]:remote command' \ - '--ignore-existing[ignore files that already exist on receiving side]' \ - '(--existing --ignore-non-existing)'{--existing,--ignore-non-existing}'[ignore files that do not exist on receiving side]' \ - '--remove-source-files[synchronized files are removed from sending side]' \ - '(--delete-before --delete-during --delete-after --delete-delay)--del[an alias for --delete-during]' \ - '--delete[delete files that do not exist on the sending side]' \ - '(--del --delete-during --delete-after --delete-delay)--delete-before[receiver deletes before transfer]' \ - '(--del --delete-before --delete-after --delete-delay)--delete-during[receiver deletes during transfer]' \ - '(--del --delete-before --delete-during --delete-delay)--delete-after[receiver deletes after transfer]' \ - '(--del --delete-before --delete-during --delete-after)--delete-delay[receiver deletes after transfer]' \ - '--delete-excluded[also delete excluded files on the receiving side]' \ - '--ignore-errors[delete even if there are I/O errors]' \ - --force{,-delete}'[force deletion of directories even if not empty]' \ - '--force-change[affect user-/system-immutable files/dirs]' \ - '--force-uchange[affect user-immutable files/dirs]' \ - '--force-schange[affect system-immutable files/dirs]' \ - "--max-delete=[don't delete more than NUM files]: :_numbers -f -u bytes size B K M G T P" \ - "--max-size=[don't transfer any file larger than specified size]: :_numbers -f -u bytes size B K M G T P" \ - '--min-size=[do not transfer any file smaller than specified size]:number' \ - '--max-alloc=[set limit to individual memory allocation]: :_numbers -f -u bytes -d 1g size B K M G T P' \ - '(-P)--partial[keep partially transferred files]' \ - '--no-partial[turn off --partial]' \ - '--partial-dir=[put a partially transferred file into specified directory]:directory:_directories' \ - '--super[receiver attempts super-user activities]' \ - '--no-super[receiver performs normal-user activities]' \ - '--delay-updates[put all updated files into place at end of transfer]' \ - '(-m --prune-empty-dirs)'{-m,--prune-empty-dirs}'[prune empty directory chains from file-list]' \ - '--numeric-ids[do not map uid/gid values by user/group name]' \ - '--timeout=[set I/O timeout in seconds for lulls in a transfer]:seconds' \ - '--contimeout=[set connect timeout in seconds for daemon connections]:seconds' \ - '(-I --ignore-times)'{-I,--ignore-times}"[don't skip files that match in size and mod-time]" \ - '--size-only[skip files that match in size]' \ - '(-@ --modify-window)'{-@+,--modify-window=}'[compare mod-times with reduced accuracy]:seconds' \ - '(-y --fuzzy)'{-y,--fuzzy}'[find similar file for basis if no destination file]' \ - '(--copy-dest --link-dest)*--compare-dest=[also compare destination files relative to specified directory]:directory:_directories' \ - '(--compare-dest --link-dest)*--copy-dest=[like --compare-dest, but also includes copies of unchanged files]:directory:_directories' \ - '(--compare-dest --copy-dest)*--link-dest=[hardlink to files in specified directory hierarchy when unchanged]:directory:_directories' \ - '(-z --compress)'{-z,--compress}'[compress file data during the transfer]' \ - '(--zc --compress-choice)'{--zc,--compress-choice}'=[override the automatic negotiation of the compression algorithm]:algorithm:(zstd lz4 zlibx zlib none)' \ - '(--zl --compress-level)'{--zl,--compress-level}'=[explicitly set compression level]:number' \ - '--skip-compress=[skip compressing files with a listed suffix]:suffixes' \ - '(-C --cvs-exclude)'{-C,--cvs-exclude}'[auto-ignore files the same way CVS does]' \ - '*'{-f+,--filter=}'[add a file-filtering rule]:rule' \ - '*-F[same as --filter="dir-merge /.rsync-filter", repeated: --filter="- .rsync-filter"]' \ - '--exclude-from=[read exclude patterns from specified file]:file:_files' \ - '*--exclude=[exclude files matching pattern]:pattern' \ - '--include-from=[read include patterns from specified file]:file:_files' \ - '*--include=[do not exclude files matching pattern]:pattern' \ - '--files-from=[read list of source-file names from specified file]:file:_files' \ - '(-0 --from0)'{-0,--from0}'[all *-from file lists are delimited by nulls]' \ - '(-s --protect-args)'{-s,--protect-args}'[no space-splitting; only wildcard special-chars]' \ - '--copy-as=[specify user & optional group for the copy]:user:_rsync_users_groups' \ - '--version[print version number]' \ - '*'{-h,--human-readable}'[output numbers in a human-readable format]' \ - '--blocking-io[use blocking I/O for the remote shell]' \ - '--no-blocking-io[turn off --blocking-io]' \ - '--stats[give some file-transfer stats]' \ - '(-8 --8-bit-output)'{-8,--8-bit-output}'[leave high-bit chars unescaped in output]' \ - '(-P)--progress[show progress during transfer]' \ - '--no-progress[turn off --progress]' \ - '(--partial --progress)-P[same as --partial --progress]' \ - '(-i --itemize-changes)'{-i,--itemize-changes}'[output a change-summary for all updates]' \ - '--log-format=[deprecated version of --out-format]' \ - '--out-format=[output updates using specified format]:format' \ - '--password-file=[read daemon-access password from file]:file:_files' \ - '--list-only[list the files instead of copying them]' \ - '--stop-after=[stop copying after specified time has elapsed]:time (minutes)' \ - '--stop-at=[stop copying when specified point in time is reached]:date/time (YYYY-MM-DDTHH\:MM):_dates -F -S "T"' \ - '(--only-write-batch)--write-batch=[write a batched update to the specified file]:file:_files' \ - '(--write-batch)--only-write-batch=[like --write-batch but w/o updating destination]:file:_files' \ - '--protocol=[force an older protocol version to be used]:number' \ - '--info=[fine-grained informational verbosity]:info option:_rsync_info' \ - '--debug=[fine-grained debug verbosity]:debug option:_rsync_debug' \ - '!(--stderr)--msgs2stderr' \ - '--munge-links[munge symlinks to make them safer, but unusable]' \ - '--ignore-missing-args[ignore missing source args without error]' \ - '--delete-missing-args[delete missing source args from destination]' \ - '(--usermap --chown)--usermap=[custom username mapping]:comma-separated mappings' \ - '(--groupmap --chown)--groupmap=[custom groupname mapping]:comma-separated mappings' \ - '(--usermap --groupmap --chown)--chown=[simple username/groupname mapping]:user and/or group:_rsync_users_groups' \ - '*'{-M+,--remote-option=}'[send option to the remote side only]:option string' \ - '--preallocate[preallocate the full length of new files]' \ - '--iconv=[request charset conversion of filenames]:number' \ - '--checksum-seed=:number' \ - '--read-batch=[read a batched update from the specified file]:file:_files' -} - -_rsync "$@" diff --git a/result/sw/share/zsh/5.9/functions/_rubber b/result/sw/share/zsh/5.9/functions/_rubber deleted file mode 100644 index bd97470d..00000000 --- a/result/sw/share/zsh/5.9/functions/_rubber +++ /dev/null @@ -1,67 +0,0 @@ -#compdef rubber rubber-pipe rubber-info - -local _rubber_version _rubber_path _rubber_modules _rubber_args - -eval $(rubber --version 2>/dev/null | sed 's/^.* \([^ ]*\): */_rubber_\1=/') -if [[ ${_rubber_version#0} != $_rubber_version ]]; then - _rubber_modules=( - $_rubber_path/rubber/modules/[^_]*.py(N:r:t) - ) -else - _rubber_modules=( - $_rubber_path/modules/*.rub(N:r:t) - $_rubber_path/rubber/rules/latex/[^_]*.py(N:r:t) - ) -fi - -_rubber_args=( - \*{-c,--command}'=[run specified directive command before parsing]:command' - \*{-e,--epilogue}'=[run specified directive command after parsing]:command' - '(-z --gzip)'{-z,--gzip}'[compress the final document]' - '(- *)'{-h,--help}'[show help information]' - '--into=[go to specified directory before compiling]:directory:_files -/' - '(-l --landscape)'{-l,--landscape}'[change paper orientation (if relevant)]' - '(-n --maxerr)'{-n,--maxerr}'=[display at most specified number of errors]:number' - \*{-m,--module}'=[use module]:module:($_rubber_modules)' - '--only=[only include the specified sources]:sources' - \*{-o,--post}'=[postprocess with module]:postprocessor:($_rubber_modules)' - '(-d --pdf -p -ps)'{-d,--pdf}'[produce PDF output instead of DVI]' - '(-p -ps -d --pdf)'{-p,--ps}'[produce a PostScript document]' - {-q,--quiet}'[suppress messages]' - \*{-r,--read}'[read additional directives from a file]:directives files:_files' - {-s,--short}'[display errors in compact form]' - \*{-I,--texpath}'=[add directory to the search path for LaTeX]:tex path:_files -/' - \*{-v,--verbose}'[increase verbosity]' - '--version[print version information and exit]' -) - -case "$service" in - rubber) - _arguments -s \ - "$_rubber_args[@]" \ - '--clean[remove produced files instead of compiling]' \ - {-f,--force}'[force at least one compilation]' \ - '--inplace[compile the documents from their source directory]' \ - \*{-W,--warn}'=[report warnings of the given type]:warnings:(all boxes misc refs)' \ - '*:LaTeX files:_files -g "*.(tex|dtx|lhs|w)(-.)"' - ;; - - rubber-pipe) - _arguments -s \ - "$_rubber_args[@]" \ - {-k,--keep}'[keep the temporary files after compiling]' \ - \*{-W,--warn}'=[report warnings of the given type]:warnings:(all boxes misc refs)' - ;; - - rubber-info) - _arguments -s \ - "$_rubber_args[@]" \ - '--boxes[report overfull and underfull boxes]' \ - '--check[report errors or warnings default action]' \ - '--deps[show the target file s dependencies]' \ - '--errors[show all errors that occurred during compilation]' \ - '--refs[show the list of undefined references]' \ - '--warnings[show all LaTeX warnings]' \ - ':LaTeX file:_files -g "*.(tex|dtx|lhs|w)(-.)"' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_ruby b/result/sw/share/zsh/5.9/functions/_ruby deleted file mode 100644 index 0e1f5dbc..00000000 --- a/result/sw/share/zsh/5.9/functions/_ruby +++ /dev/null @@ -1,143 +0,0 @@ -#compdef ruby irb erb ruby-mri -P (ruby|[ei]rb)[0-9.]# -value-,RUBY(LIB|OPT|PATH),-default- - -local curcontext="$curcontext" state line expl desc RUBY ret=1 -typeset -A opt_args -local -a opts irb erb all common charsets suf - -all=( - '*-r+[require the library before executing your script]:library name:->library' - '(--internal-encoding)-U[set internal encoding to UTF-8]' - '(-E --encoding -K --external-encoding)'{-E+,--encoding=}'[specify default external and internal character encodings]:charset:->charsets' - '(1 * -)'{-h,--help}'[print help message]' - '(1 * -)--version[print the version]' -) - -common=( - '*-I+[specify $LOAD_PATH directory (may be used more than once)]:library directory:_files -/' - '-w[turn warnings on for your script]' - '-W-[set warning level]:warning level:((0\:silent 1\:medium 2\:verbose \\\:deprecated \\\:experimental))' - '(-)1:ruby script:_files -g "*.rb(-.)"' - '*::script argument:= ->normal' -) - -opts=( - '-0-[specify record separator]:input record separator in octal [\0]' - '-a[autosplit mode with -n or -p (splits $_ into $F)]' - '-c[check syntax only]' - '-C+[cd to directory before executing your script]:directory:_files -/' - '(-d --debug)'{-d,--debug}'[set debugging flags (set $DEBUG to true)]' - "(1)*-e+[one line script (several -e's allowed, omit program file)]:one line of script" - '-F-[split() pattern for autosplit (-a)]:input field separator:' - '-i-[edit ARGV files in place (make backup if extension supplied)]:suffix for in-place-edit mode:(.bak)' - '-K-[specifies KANJI (Japanese) code-set]:KANJI encoding:((e\:EUC-JP s\:Shift_JIS u\:UTF-8 N\:None))' - "-l[assume 'while gets(); ... end' loop around your script]" - "(-p)-n[assume 'while gets(); ... end' loop around your script]" - '(-n)-p[assume loop like -n but print line also like sed]' - '-s[enable some switch parsing for switches after script name]' - '-S[look for the script using PATH environment variable]' - '!-T-[turn on tainting checks]::taint level [1]:((0\:strings\ from\ streams/environment/ARGV\ are\ tainted 1\:no\ dangerous\ operation\ by\ tainted\ value 2\:process/file\ operations\ prohibited 3\:all\ generated\ objects\ are\ tainted 4\:no\ global\ \(non-tainted\)\ variable\ modification/no\ direct\ output))' - '(--verbose)-v[print version number, then turn on verbose mode]' - '(-v)--verbose[turn on verbose mode and disable script from stdin]' - '-x-[strip off text before #!ruby line and perhaps cd to directory]:directory:_files -/' - '(1 * -)--copyright[print the copyright]' - --{en,dis}'able=[enable or disable features]:feature:(gems did_you_mean rubyopt frozen_string_literal jit all)' - \!--{en,dis}able-{gems,rubyopt,all} - '--dump=[dump debug information]:information:_sequence compadd - insns yydebug parsetree parsetree_with_comment' - --{external,internal}'-encoding=:charset:->charsets' - '!'{-y,--yydebug} - '!--dump=:target:(version copyright usage yydebug syntax parsetree parsetree_with_comment insns)' - '--jit[enable jit with default options]' - '--jit-warnings[enable printing JIT warnings]' - '--jit-debug[enable JIT debugging (very slow)]' - '--jit-wait[wait until JIT compilation finishes every time (for testing)]' - '--jit-save-temps[save JIT temporary files]' - '--jit-verbose=-[print JIT logs of level num or less to stderr]:maximum log level [0]' - '--jit-max-cache=-[specify max number of methods to be JIT-ed in a cache]:number [100]' - '--jit-min-calls=-[specify number of calls to trigger JIT]:calls [10000]' -) - -irb=( - '-f[suppress read of ~/.irbrc]' - '(--noinspect)-m[bc mode (load mathn, fraction, matrix)]' - $opts[(r)*-d\[*] - '(--noinspect)--inspect[use inspect for output]' - "(--inspect)--noinspect[don't use inspect for output]" - '(--noreadline)--readline[use readline extension]' - "(--readline)--noreadline[don't use readline extension]" - '(--prompt --prompt-mode --inf-ruby-mode --simple-prompt --noprompt)'{--prompt,--prompt-mode}'[switch prompt mode]:prompt mode:(default simple xmp inf-ruby)' - '(--prompt --prompt-mode --inf-ruby-mode --simple-prompt --noprompt)'{--inf-ruby-mode,--simple-prompt,--noprompt} - '--tracer[display trace for each command execution]' - '--back-trace-limit[set limit for backtraces]:limit [16]:' - '!--irb_debug:level' - '--context-mode:n' - '(--noecho)--echo[show result]' - "(--echo)--noecho[don't show result]" - '--single-irb[share self with sub-irb]' - '(--noverbose)--verbose[show details]' - "(--verbose)--noverbose[don't show details]" -) - -erb=( - "-P[don't evaluate lines which start with %]" - '-T[specify trim mode]:mode [0]:((0\:EOL\ remains 1\:EOL\ removed\ if\ line\ ends\ with\ %\> 2\:EOL\ removed\ if\ line\ starts\ with\ \<%\ and\ ends\ with\ %\> -\:EOL\ is\ removed\ if\ line\ ends\ with\ -%\>,\ leading\ whitespace\ removed\ after\ \<%-))' - '(-d --debug)'{-d,--debug}'[set debugging flags (set $DEBUG to true)]' - '-n[used with -x, prepends line number to output]' - '-x[convert eRuby to Ruby]' -) - -case "$service" in - *RUBY(LIB|PATH)*) - _dir_list && return 0 - ;; - *RUBYOPT*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - _arguments -C -s : "${(@M)opts:#*-[IdvwrK](|[-+])\[*}" && ret=0 - RUBY=ruby - ;; - ruby[0-9.]#) - RUBY=$words[1] - _arguments -C -s -S : $opts $all $common && ret=0 - ;; - irb[0-9.]#) - RUBY=${words[1]/irb/ruby} - _arguments -C -s : $irb $all $common && ret=0 - ;; - erb[0-9.]#) - RUBY=${words[1]/erb/ruby} - _arguments -C -s : $erb $all \ - '*:erb file:_files -g "*.erb(-.)"' && ret=0 - ;; -esac - -case "$state" in - normal) - if (( ! $+opt_args[-e] )); then - shift words - (( CURRENT-- )) - fi - _normal && ret=0 - ;; - charsets) - charsets=( $(_call_program charsets $RUBY -e 'puts\ Encoding.list' 2>/dev/null) ) - # could also add Encoding.aliases.map(&:first) for aliases - desc='charset' - if [[ $curcontext = *option-(E|-encoding)-1 ]]; then - if compset -P '*:'; then - desc='internal charset' - else - desc='external charset' - compset -S ':*' || suf=( -S: ) - fi - fi - _wanted charsets expl $desc compadd $suf -a charsets && ret=0 - ;; - library) - local -a dirs - dirs=( $(_call_program libraries $RUBY -e 'puts\ \$:' 2>/dev/null) ${(s.:.)opt_args[-I]} ) - _wanted libraries expl library _path_files -W dirs && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_run-help b/result/sw/share/zsh/5.9/functions/_run-help deleted file mode 100644 index 10bb7f03..00000000 --- a/result/sw/share/zsh/5.9/functions/_run-help +++ /dev/null @@ -1,7 +0,0 @@ -#compdef run-help -local d expl -local HELPDIR=${HELPDIR:-/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/share/zsh/5.9/help} -[[ -d $HELPDIR ]] && { - d=($HELPDIR/*(:t)) - (($#d)) && d+=('.' ':') && _wanted commands expl 'command' compadd -a d -} || _man diff --git a/result/sw/share/zsh/5.9/functions/_runit b/result/sw/share/zsh/5.9/functions/_runit deleted file mode 100644 index 5c22cc54..00000000 --- a/result/sw/share/zsh/5.9/functions/_runit +++ /dev/null @@ -1,73 +0,0 @@ -#compdef sv - -_sv_commands() { - local -a sv_ary - sv_ary=( - 'status':'get status of service (and log service if available)' - 'up':'start if service is running. If service stops, restart' - 'down':'send SIGTERM and SIGCONT if service is running. After it stops, do not restart' - 'once':'start if service is not running. Do not restart if it stops' - 'pause':'send SIGSTOP if service is running' - 'cont':'send SIGCONT if service is running' - 'hup':'send SIGHUP if service is running' - 'alarm':'send SIGALRM if service is running' - 'interrupt':'send SIGINT if service is running' - 'quit':'send SIGQUIT if service is running' - '1':'send SIGUSR1 if service is running' - '2':'send SIGUSR2 if service is running' - 'term':'send SIGTERM if service is running' - 'kill':'send SIGKILL if service is running' - 'exit':'send SIGTERM and SIGCONT if service is running. Do not restart service.' - ) - _describe -t commands "sv command" sv_ary -V sv_commands -} - -_sv_lsb() { - local -a sv_lsb_ary - sv_lsb_ary=( - 'start':'up with check/timeout' - 'stop':'down with check/timeout' - 'reload':'hup with check' - 'restart':'down and up with check' - 'shutdown':'exit with check/timeout' - 'force-stop':'stop with kill on timeout' - 'force-reload':'reload with kill on timeout' - 'force-restart':'restart with kill on timeout' - 'force-shutdown':'shutdown with kill on timeout' - 'try-restart':'restart if service is already running' - ) - - _describe -t lsb-commands "sv LSM init compat" sv_lsb_ary -V sv_init_compat -} - -_sv_additional() { - _describe -t additional-commands "sv additional command" '("check:check status of service")' -V sv_addl_comm -} - -local curcontext="$curcontext" state line -_arguments -C \ - '-v[verbose]' \ - '-w[wait time]:time (seconds)' \ - '1: :->command' \ - '*:: :->options' - -case $state in - (command) - _alternative \ - _sv_commands \ - _sv_lsb \ - _sv_additional - ;; - - (options) - local -a sv_services - local svdir=${SVDIR:-/etc/service} - sv_services=( - $svdir/*(N) - $svdir/*/log(N) - ) - - sv_services=( ${sv_services#$svdir/} ) - _describe -t services "sv service" sv_services - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_samba b/result/sw/share/zsh/5.9/functions/_samba deleted file mode 100644 index 6c7a64e1..00000000 --- a/result/sw/share/zsh/5.9/functions/_samba +++ /dev/null @@ -1,113 +0,0 @@ -#compdef smbcontrol smbclient nmblookup smbstatus - -local curcontext="$curcontext" ret=1 -local -a state line expl msgs args ign - -(( CURRENT == 2 )) || ign='!' -args=( - '(-d --debuglevel)'{-d+,--debuglevel=}'[set debug level]:debug level (1..10) [1]' - '(-s --configfile)'{-s+,--configfile=}'[specify alternate smb.conf file]:config file:_files' - '(-l --log-basename)'{-l+,--log-basename=}'[specify base name for log files]:base name:_files' - '*--option=[set smb.conf option from command line]:option=value' - "${ign}(1 2 3 -)"{-\?,--help}'[display usage information]' - "${ign}(1 2 3 -)--usage[display brief usage information]" - "${ign}(1 2 3 - *)"{-V,--version}'[display version information]' -) - -case $service in - smbcontrol) - _arguments -C -S $args \ - '(-t --timeout)'{-t+,--timeout=}'[set timeout]:timeout (seconds)' \ - ':destination:(all nmbd smbd winbindd)' \ - ':message type:->message-types' \ - ':parameter:->parameters' && ret=0 - - case $state in - message-types) - msgs=( ${${${${${(f)"$(_call_program message-types smbcontrol -\? 2>&1)"}[(r)<message-type*,-1]}[2,-1]#?}/ ##(#b)(?)/:$match:l}%:( |\(null\))} ) - _describe -t message-types 'message type' msgs -M 'r:|-=* r:|=*' && ret=0 - ;; - parameters) - case $line[2] in - profile) - _wanted parameter expl 'parameter' compadd on off flush count && ret=0 - ;; - debug) _message -e levels 'debug level' ;; - ping) _message -e numbers 'number of ping messages' ;; - esac - ;; - esac - return ret - ;; - smbclient) - args+=( - '(-N -A)2: :_guard "^-*" password' - '(2 -R --name-resolve)'{-R+,--name-resolve=}'[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast' - '(2 -M --message -L --list -D --directory -T --tar)'{-M+,--message=}'[send message]:host:_hosts' - '(2 -I --ip-address)'{-I+,--ip-address=}'[specify IP address of server]:IP address' - '(2 -E --stderr)'{-E,--stderr}'[output messages to stderr]' - '(2 -M --message -D --directory -T --tar)'{-L+,--list=}'[list services on server]:host:_hosts' - '(-m --max-protocol)'{-m+,--max-protocol=}'[set the max protocol level]:level' - '(2 -T --tar -M --message -L --list)'{-T+,--tar=}'[specify tar options]:tar options' - '(2 -D --directory -M --message -L --list)'{-D+,--directory=}'[specify initial directory]:initial directory' - '(2 -c --command)'{-c,--command=}'[specify commands]:command string' - '(2 -b --send-buffer)'{-b+,--send-buffer=}'[change transmit/send buffer]:buffer size (bytes) [65520]' - '(-t --timeout)'{-t+,--timeout=}'[change the per-operation timeout]:timeout (seconds)' - '(2 -p --port)'{-p+,--port=}'[specify tcp port]:tcp port' - '(-g --grepable)'{-g,--grepable}'[produce grepable output]' - '(-q --quiet)'{-q,--quiet}'[suppress help message]' - '(-B --browse)'{-B,--browse}'[browse SMB servers using DNS]' - '(2 -d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' - '(2 -O --socket-options)'{-O+,--socket-options=}'[specify socket options]:socket options' - '(2 -n --netbiosname)'{-n+,--netbiosname=}'[specify local NetBIOS name]:local machine name' - '(2 -W --workgroup)'{-W+,--workgroup=}'[specify workgroup]:workgroup' - '(2 -i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' - '(2 -U --user)'{-U+,--user=}'[specify username]:username:_users' - '(2 -N --no-pass)'{-N,--no-pass}'[suppress password prompt]' - '(-k --kerberos)'{-k,--kerberos}'[use kerberos (active directory) authentication]' - '(2 -A --authentication-file)'{-A+,--authentication-file=}'[specify file containing username/password]:file:_files' - '(-S --signing)'{-S+,--signing=}'[set the client signing state]:state:(on off required)' - '(-P --machine-pass)'{-P,--machine-pass}'[use stored machine account password]' - '(-e --encrypt)'{-e,--encrypt}'[encrypt SMB transport]' - '(-C --use-ccache)'{-C,--use-ccache}'[use the winbind ccache for authentication]' - '--pw-nt-hash[the supplied password is the NT hash]' - ) - (( CURRENT == 2 )) && args+=( '1:service name:_hosts -P // -S /' ) - _arguments -s -S $args - ;; - nmblookup) - _arguments -s -S $args \ - '(-B --broadcast)'{-B+,--broadcast=}'[specify broadcast address]:broadcast address' \ - '(-f --flags)'{-f,--flags}'[list NMB flags returned]' \ - '(-U --unicast)'{-U+,--unicast=}'[specify unicast address]:unicast address' \ - '(-M --master-browser)'{-M,--master-browser}'[search for a master browser]' \ - '(-R --recursion)'{-R,--recursion}'[set recursion desired in packet]' \ - '(-S --status)'{-S,--status}'[lookup node status as well]' \ - '(-T --translate)'{-T,--translate}'[perform reverse DNS on IP addresses]' \ - '(-r --root-port)'{-r,--root-port}'[use root port 137]' \ - '(-A --lookup-by-ip)'{-A,--lookup-by-ip}'[query node status on IP address]' \ - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \ - '(-O --socket-options)'{-O+,--socket-options=}'[specify socket options to use]:socket option' \ - '(-n --netbiosname)'{-n+,--netbiosname=}'[specify primary netbios name]:netbios name' \ - '(-W --workgroup)'{-W+,--workgroup=}'[specify workgroup name]:workgroup name' \ - '(-i --scope)'{-i+,--scope=}'[specify NetBIOS scope]:scope' \ - '(h)*:NetBIOS name:_hosts' - ;; - smbstatus) - _arguments -s -S $args \ - {-b,--brief}'[brief output]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '(-d --debuglevel)'{-d+,--debuglevel=}'[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \ - '(-u --user)'{-u+,--user=}'[specify user to restrict information to]:user:_users' \ - '(-B --byterange)'{-B,--byterange}'[include byte range locks]' \ - '(-n --numeric)'{-n,--numeric}'[numeric uid/gid]' \ - '(-f --fast)'{-f,--fast}'[skip checks if processes still exist]' \ - + '(output)' \ - {-P,--profile}'[do profiling]' \ - {-R,--profile-rates}'[show call rates]' \ - {-L,--locks}'[list only locks]' \ - {-p,--processes}'[list smbd(8) processes]' \ - {-S,--shares}'[list only shares]' \ - {-N,--notify}'[list only notifies]' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_savecore b/result/sw/share/zsh/5.9/functions/_savecore deleted file mode 100644 index e112944e..00000000 --- a/result/sw/share/zsh/5.9/functions/_savecore +++ /dev/null @@ -1,12 +0,0 @@ -#compdef savecore - -_savecore() { - _arguments -s \ - '-L[take live dump]' \ - '-v[verbose]' \ - '-d[disregard dump header valid flag]' \ - '-f[save crash dump from file]:file:_files' \ - '::directory:_files -/' -} - -_savecore "$@" diff --git a/result/sw/share/zsh/5.9/functions/_say b/result/sw/share/zsh/5.9/functions/_say deleted file mode 100644 index 1459c737..00000000 --- a/result/sw/share/zsh/5.9/functions/_say +++ /dev/null @@ -1,85 +0,0 @@ -#compdef say - -local ret=1 -local -a context line state state_descr tmp -local -A opt_args val_args - -_arguments -s -S : \ - '(-a --audio-device)'{-a+,--audio-device=}'[specify audio device]: :->devices' \ - '--bit-rate=[specify bit rate]: :->bit-rates' \ - '--channels=[specify number of channels]:number of channels' \ - '--data-format=[specify output data format]: :->data-formats' \ - '(: -f --input-file)'{-f+,--input-file=}'[specify input file]:input file:_files' \ - '--file-format=[specify output file format]: :->file-formats' \ - '(-i --interactive)-i[display/highlight text as it is spoken]' \ - '(-i --interactive)--interactive=[display/highlight text as it is spoken]:: :->markups' \ - '(-o --output-file)'{-o+,--output-file=}'[specify output file]:output file:_files' \ - '(-n --network-send)'{-n+,--network-send=}'[specify network service/port]:network service/port' \ - '--progress[display progress meter]' \ - '--quality=[specify converter quality level]:quality level (0-127)' \ - '(-r --rate)'{-r+,--rate=}'[specify speech rate]:speech rate (words per minute)' \ - '(-v --voice)'{-v+,--voice=}'[specify voice]: :->voices' \ - '(-f)*: :_guard "^-*" "text to speak"' \ -&& ret=0 - -case $state in - bit-rates) - # A file format must have already been provided in order to complete these; - # also, not every file format supports bit-rate values - (( $+opt_args[--file-format] )) && { - tmp=( ${(f)"$( - _call_program bit-rates $words[1] \ - --file-format=${opt_args[--file-format]##*:} \ - --bit-rate='\?' - )"} ) - tmp=( ${tmp//[[:space:]]##/} ) - } - if (( $#tmp )); then - _values 'bit rate' $tmp && ret=0 - else - _message 'bit rate' && ret=0 - fi - ;; - data-formats) - # A file format must have already been provided in order to complete these - if (( ! $+opt_args[--file-format] )); then - _message 'data format' && ret=0 - else - tmp=( ${(f)"$( - _call_program data-formats $words[1] \ - --file-format=${opt_args[--file-format]##*:} \ - --data-format='\?' - )"} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${^tmp/[[:space:]]##/[}\] ) - _values 'data format' $tmp && ret=0 - fi - ;; - devices) - tmp=( ${(f)"$( _call_program devices $words[1] -a '\?' )"} ) - tmp=( ${tmp##[[:space:]]#[0-9]##[[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - _values 'audio device name or ID' $tmp && ret=0 - ;; - file-formats) - tmp=( ${(f)"$( _call_program file-formats $words[1] --file-format='\?' )"} ) - tmp=( ${tmp%%[[:space:]]##\(.*} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${^tmp/[[:space:]]##/[}\] ) - _values 'file format' $tmp && ret=0 - ;; - markups) - tmp=( bold smso smul ${(k)terminfo} ) - _alternative \ - 'colors:color:(black red green yellow blue magenta cyan white)' \ - "capabilities:terminfo capability:( ${(j< >)tmp} )" \ - && ret=0 - ;; - voices) - tmp=( ${(f)"$( _call_program voices $words[1] -v '\?' )"} ) - tmp=( ${tmp%%[[:space:]](#c2,)*} ) - _values voice $tmp && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_sbuild b/result/sw/share/zsh/5.9/functions/_sbuild deleted file mode 100644 index a32b5e8c..00000000 --- a/result/sw/share/zsh/5.9/functions/_sbuild +++ /dev/null @@ -1,141 +0,0 @@ -#compdef sbuild - -_sbuild_distributions() { - _deb_codenames - compadd "$@" -- unstable -} - -_deb_identities() { - local identity - - if [[ -n "${DEBEMAIL}" ]]; then - if [[ -n "${DEBFULLNAME}" ]]; then - identity="${DEBFULLNAME} <${DEBEMAIL}>" - else - identity="${DEBEMAIL}" - fi - compadd "$@" -- "${identity}" - fi -} - -_sbuild_signing_keys() { - local -a expl lines uids - local line - - lines=( ${(M)${(f)"$(_call_program keys gpg -K --with-colons)"}:#uid:u*} ) - - for line in "${lines[@]}"; do - uids+=("${${(s.:.)line}[5][(ws:<:)2,(ws:>:)1]}") - done - - _description keys expl "gpg key" - compadd "$@" "$expl[@]" -- "${uids[@]}" -} - -_sbuild() { - _arguments \ - '(-h --help)'{-h,--help}'[show help message]' \ - '(-V --version)'{-V,--version}'[show version information]' \ - '(-D --debug)'{-D,--debug}'[enable debug output]' \ - '--add-depends=[add dependencies to source package]:packages' \ - '--add-conflicts=[add conflicts to source package]:packages' \ - '--add-depends-arch=[add arch dependencies to source package]:packages' \ - '--add-conflicts-arch=[add arch conflicts to source package]:packages' \ - '--add-depends-indep=[add indep dependencies to source package]:packages' \ - '--add-conflicts-indep=[add indep conflicts to source package]:packages' \ - '--arch=[architecture]:architecture:_deb_architectures' \ - '--host=[host architecture]:architecture:_deb_architectures' \ - '--build=[build architecture]:architecture:_deb_architectures' \ - '(-A --arch-all --no-arch-all)'{-A,--arch-all}'[build Architecture: all packages]' \ - '(-A --arch-all --no-arch-all)--no-arch-all[do not build Architecture: all packages]' \ - '(--arch-any --no-arch-any)--arch-any[build Architecture: any packages]' \ - '(--arch-any --no-arch-any)--no-arch-any[do not build Architecture: any packages]' \ - '(-b --batch)'{-b,--batch}'[operate in batchmode]' \ - '(-c --chroot)'{-c=,--chroot=}'[chroot to use]:chroot' \ - '(--chroot-mode)--chroot-mode=[chroot mode]:mode:(schroot sudo autopkgtest unshare)' \ - '(-d --dist)'{-d=,--dist=}'[distribution]:distribution:_sbuild_distributions' \ - '--archive=[use specified archive]' \ - '(--apt-clean --no-apt-clean)--apt-clean[force apt-get clean]' \ - '(--apt-clean --no-apt-clean)--no-apt-clean[do not apt-get clean]' \ - '(--apt-upgrade --no-apt-upgrade)--apt-upgrade[force apt-get upgrade]' \ - '(--apt-upgrade --no-apt-upgrade)--no-apt-upgrade[do not apt-get upgrade]' \ - '(--apt-distupgrade --no-apt-distupgrade)--apt-distupgrade[force apt-get distupgrade]' \ - '(--apt-distupgrade --no-apt-distupgrade)--no-apt-distupgrade[do not apt-get distupgrade]' \ - '(-m --maintainer)'{-m=,--maintainer=}'[maintainer field for .changes]:maintainer:_deb_identities' \ - '(-e --uploader)'{-e=,--uploader=}'[uploader field for .changes]:uploader:_deb_identities' \ - '(-k --keyid)'{-k=,--keyid=}'[GPG Key to sign packages]: :_sbuild_signing_keys' \ - '(-j --jobs)'{-j=,--jobs=}'[jobs to run simultaneously]:number of jobs' \ - '--debbuildopt=[option to dpkg-buildpackage]:option' \ - '--debbuildopts=[options to dpkg-buildpackage]:options' \ - '--dpkg-source-opt=[option to dpkg-source]:option' \ - '--dpkg-source-opts=[options to dpkg-source]:options' \ - '--mail-log-to=[send log to mail]:recipient:_email_addresses -c' \ - '--mailfrom=[mail from]:sender:_email_addresses -c' \ - '(-n --nolog)'{-n,--nolog}'[no build log file]' \ - '--profiles=[profiles for dpkg-buildpackage]:profile list (comma separated)' \ - '(-p --purge)'{-p=,--purge=}'[purge mode]:purge mode:(never successful always)' \ - '--purge-build=[build purge mode]:purge mode:(never successful always)' \ - '--purge-deps=[deps purge mode]:purge mode:(never successful always)' \ - '--purge-session=[session purge mode]:purge mode:(never successful always)' \ - '(-s --source --no-source)'{-s,--source}'[build source package]' \ - '(-s --source --no-source)--no-source[do not build source package]' \ - '--force-orig-source[force orig.tar.gz in .changes]' \ - '--use-snapshot[use latest gcc snapshot]' \ - '(-v --verbose)'{-v,--verbose}'[be verbose]' \ - '(-q --quiet)'{-q,--quiet}'[be quiet]' \ - '--make-binNMU=[create binNMU with changelog entry]:changelog entry' \ - '--binNMU=[binNMU version]:version' \ - '--append-to-version=[append string to version]:string' \ - '--binNMU-timestamp=[binNMU timestamp]:timestamp' \ - '--binNMU-changelog=[use this file as binNMU changelog]:file:_files' \ - '--build-dir=[build directory]:directory:_files -/' \ - '(--clean-source --no-clean-source)--clean-source[clean inside an unpacked source tree]' \ - '(--clean-source --no-clean-source)--no-clean-source[do not clean inside an unpacked source tree]' \ - '(--run-lintian --no-run-lintian)--run-lintian[run lintian]' \ - '(--run-lintian --no-run-lintian)--no-run-lintian[do not run lintian]' \ - '(--no-run-lintian --lintian-opt)--lintian-opt=[option for lintian]:option' \ - '(--no-run-lintian --lintian-opts)--lintian-opts=[options for lintian]:options' \ - '(--run-piuparts --no-run-piuparts)--run-piuparts[run piuparts]' \ - '(--run-piuparts --no-run-piuparts)--no-run-piuparts[do not run piuparts]' \ - '(--no-run-piuparts --piuparts-opt)--piuparts-opt=[option for piuparts]:option' \ - '(--no-run-piuparts --piuparts-opts)--piuparts-opts=[options for piuparts]:options' \ - '(--no-run-piuparts --piuparts-root-arg)--piuparts-root-arg=[root-argion for piuparts]:argument' \ - '(--no-run-piuparts --piuparts-root-args)--piuparts-root-args=[root-argions for piuparts]:arguments' \ - '(--run-autopkgtest --no-run-autopkgtest)--run-autopkgtest[run autopkgtest]' \ - '(--run-autopkgtest --no-run-autopkgtest)--no-run-autopkgtest[do not run autopkgtest]' \ - '(--no-run-autopkgtest --autopkgtest-opt)--autopkgtest-opt=[option for autopkgtest]:option' \ - '(--no-run-autopkgtest --autopkgtest-opts)--autopkgtest-opts=[options for autopkgtest]:options' \ - '(--no-run-autopkgtest --autopkgtest-root-arg)--autopkgtest-root-arg=[root-argion for autopkgtest]:argument' \ - '(--no-run-autopkgtest --autopkgtest-root-args)--autopkgtest-root-args=[root-argions for autopkgtest]:arguments' \ - '--pre-build-commands=[run commands before starting anything]:commands' \ - '--chroot-setup-commands=[run commands after chroot initialization]:commands' \ - '--chroot-update-failed-commands=[run commands after chroot update fails]:commands' \ - '--build-deps-failed-commands=[run commands after installing build deps fails]:commands' \ - '--starting-build-commands=[run commands after dependencies are installed]:commands' \ - '--finished-build-commands=[run commands after package is built]:commands' \ - '--build-failed-commands=[run commands after dpkg-buildpackage fails]:commands' \ - '--chroot-cleanup-commands=[run commands after chroot cleanup]:commands' \ - '--post-build-commands=[run commands after package is built successfully]:commands' \ - '--post-build-failed-commands[run commands after package failed to build]:commands' \ - '--anything-failed-commands=[run commands for all --xxx-failed-commands option]:commands' \ - '--log-external-command-output[external commands output are logged]' \ - '--log-external-command-error[external commands error output are logged]' \ - '--build-dep-resolver=[resolver for build dependency]:resolver:(apt aptitude aspcud xapt null)' \ - '--aspcud-criteria=[Optimization for aspcud]:criteria' \ - '(--resolve-alternatives --no-resolve-alternatives)--resolve-alternatives[allow alternatives in Build-Depends*]' \ - '(--resolve-alternatives --no-resolve-alternatives)--no-resolve-alternatives[disallow alternatives in Build-Depends*]' \ - '--extra-package=[make a package or directory available to the resolver]:package:_files -g "*deb(-.)' \ - '--extra-repository=[add a repository to the resolver]:url' \ - '--extra-repository-key=[add key to the resolver]:key:_files -g "*.asc(-.)"' \ - '--build-path=[place to build the package inside chroot]:path:_files -/' \ - '--autopkgtest-virt-server=[autopkgtest virtualization server]:type:(schroot lxc chroot qemu ssh)' \ - '--autopkgtest-virt-server-opt=[option for autopkgtest virtialization server]:option' \ - '--autopkgtest-virt-server-opts=[options for autopkgtest virtialization server]:options' \ - '--sbuild-mode=[switch to buildd mode]:mode:(user buildd)' \ - '--stats-dir=[write stats to directory]:path:_files -/' \ - '--purge-extra-packages[remove all but strictly required dependencies (experimental)]' \ - '--bd-uninstallable-explainer=[choose the method to explain why dependencies failed]:method:(dose3 apt)' \ - '*:dsc file:_files -g "*.dsc(-.)"' - } - -_sbuild "$@" diff --git a/result/sw/share/zsh/5.9/functions/_sc_usage b/result/sw/share/zsh/5.9/functions/_sc_usage deleted file mode 100644 index 17909ce6..00000000 --- a/result/sw/share/zsh/5.9/functions/_sc_usage +++ /dev/null @@ -1,10 +0,0 @@ -#compdef sc_usage - -_arguments -s -A '-*' : \ - '-c+[specify code file to use]:code file:_files' \ - '-e[sort output by call count]' \ - '-l[use scrolling output style instead of window updating style]' \ - '-s+[specify sampling interval]:seconds' \ - '(- :)-E[specify command path and args to execute]: :_absolute_command_paths:*:: :_normal' \ - '1: : _alternative "processes:: _pids" - "processes-names:: _process_names -a"' diff --git a/result/sw/share/zsh/5.9/functions/_sccs b/result/sw/share/zsh/5.9/functions/_sccs deleted file mode 100644 index 4083fe54..00000000 --- a/result/sw/share/zsh/5.9/functions/_sccs +++ /dev/null @@ -1,171 +0,0 @@ -#compdef sccs admin cdc comb delta get help prs prt rmdel sact sccsdiff unget val what - -(( $+functions[_sccs_files] )) || -_sccs_files() { - local dir expl ret=1 pref=$PREFIX ipref=$IPREFIX - dir="${(M)PREFIX##*/}$finalpath" - [[ $~dir = (.|..|)/* ]] || dir="${PROJECTDIR:-~+}/$dir" - compset -P "*/" - _wanted file expl file compadd "$@" - $~dir/s.*(N.:t:s/s.//) && ret=0 - PREFIX="$pref" - IPREFIX="$ipref" - _wanted sccs-files expl 'sccs file' _files -W ${PROJECTDIR:-~+} \ - -g 's.*(-.)' && ret=0 - - return ret -} - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args -local subcmds ropt copt sfiles finalpath - -subcmds=( - 'admin:modify the flags or checksum of an sccs history file' - 'cdc:annotate the commentary of an sccs delta' - 'check:check for files currently being edited' - 'clean:remove files that can be retrieved from sccs history' - 'comb:generate scripts to combine deltas' - 'create:create (initialize) history files' - 'deledit:check file in and straight out again' - 'delget:check file in and maintain read-only copy' - 'delta:check in changes' - 'diffs:compare working copy with version in sccs history' - 'edit:retrieve file for editing (check out)' - "enter:like create, but omits the final 'sccs get'" - 'fix:revise a (leaf) delta' - 'get:retrieve a version from the sccs history' - 'help:get information on sccs commands and error messages' - {info,tell}':list files being edited' - 'print:print history of specified files' - 'prs:display delta table for an sccs file' - 'prt:display the delta table, but omit the MR field' - 'rmdel:remove specified delta from history file' - 'sact:show editing activity status of an sccs file' - 'sccsdiff:compare two versions from sccs history' - {unedit,unget}':undo check out' - 'val:validate history file' - 'what:display any ID keyword strings in a file' -) - -ropt='-r+[specify sccs delta id]:sccs delta id' -copt='-c+[specify date]:date-stamp' -sfiles=':file:_files -g "s.*(-.)"' - -if [[ $service = sccs ]]; then - _arguments -C -A "-*" \ - '-r[run with real and not effective user ID]' \ - '-d+[specify root prefix]:root prefix:_directories' \ - '-p+[specify subdirectory of history file]:path to history file:_directories' \ - '*::command:->subcmd' && ret=0 - - if (( CURRENT == 1 )); then - _describe -t commands 'sccs command' subcmds && ret=0 - fi - (( ret )) || return 0 - - service="$words[1]" - sfiles=':file:_sccs_files' - curcontext="${curcontext%:*}-$service:" -fi -finalpath="${opt_args[-p]:-SCCS}" - -case $service in - admin) - _arguments "$ropt" "$sfiles" \ - '-b[force encoding of binary data]' \ - '-h[check structure of s.file]' \ - '-n[create a new history file]' \ - '-z[recompute file checksum]' \ - '-a+[add access for a user or group]:user or group:_users' \ - '-e+[erase access for a user or group]:user or group:_users' \ - '-d+[delete flag from file]:flag' \ - '-f+[set specified flag]:flag' \ - '-i+[initialise history from specified file]:file:_files' \ - '-m+[insert specified MR numbers into commentary]' \ - '-t+[insert descriptive text from specified file]:file:_files' \ - '-y+[specify comment for initial delta]' - ;; - cdc) - _arguments "$ropt" "$sfiles" \ - '-m+[specify MR numbers to add/delete in delta comment]' \ - '-y+[specify the comment]:comment' \ - ;; - check|info|tell) - _arguments "$sfiles" \ - '-b[ignore branches]' \ - '(-U)-u+[restrict to files being modified by specified user]::user:_users' \ - '(-u)-U[restrict to files being modified by current user]' - ;; - clean) - _arguments '-b[ignore branches]' - ;; - comb) - _arguments "$sfiles" \ - '-o[access reconstructed file at delta to be created]' \ - '-s[generate script that will produce a report]' \ - '-p+[specify SID of oldest delta to preserve]:sccs delta id' - '-c+[specify list of deltas to preserve]:sccs delta list' - ;; - sact|print) _sccs_files;; - create|enter) _files;; - deledit|delget|delta) - _arguments "$sfiles" \ - '-s[silent]' \ - '-y+[specify delta commentary]:comment' \ - ;; - diffs) - _diff_options diff "$sfiles" "$ropt" "$copt" \ - '-C[output a context diff]' - ;; - edit|get) - _arguments "$sfiles" "$ropt" "$copt" \ - '-e[retrieve for editing]' \ - '-k[retrieve writable copy without checking out]' \ - '-m[precede each line with the delta in which it was added]' \ - '-p[produce retrieved version on standard output]' \ - '-s[silent]' - ;; - fix) _arguments "$ropt" "$sfiles";; - help) - [[ $PREFIX$SUFFIX = [0-9]# ]] && - _message -e message-codes "sccs message code" - subcmds+=( "stuck:help on help" ) - _describe -t commands 'sccs command' subcmds - ;; - prs) - _arguments "$sfiles" "$ropt" "$copt" \ - '-a[include all deltas including those marked removed]' \ - '-e[display delta info for all deltas earlier than that specified]' \ - '-l[display delta info for all deltas later than that specified]' \ - '-d+[specify format of report]:data spec' - ;; - prt) - _arguments "$sfiles" "$copt" \ - '-a[include all deltas including those marked removed]' \ - '-b[print the body of the s.file]' \ - '-d[print delta table entries]' \ - '(-d -i -u -f -t)-e[everything - imply other options]' \ - '-i[print serial numbers of included, excluded and ignored deltas]' \ - '-s[print first line only of delta table entries]' \ - '-t[print descriptive text held in s.file]' \ - '-u[print usernames of users allowed to make deltas]' \ - '-r+[exclude delta entries newer than date]:date-time' \ - '-y+[exclude delta entries prior to sid]' - ;; - rmdel) _arguments "$ropt" "$sfiles";; - sccsdiff) _diff_options diff "$ropt" "$sfiles";; - unedit|unget) - _arguments "$sfiles" "$ropt" \ - '-s[silent]' \ - '-n[retain the retrieved version]' - ;; - val) - _arguments "$sfiles" "$ropt" \ - '-s[silent]' \ - '-m+[compare specified name with the ID keyword in the s.file]:name' \ - '-y+[compare specified type with the ID keyword]:type' - ;; - what) _arguments '-s[stop after first occurrence]' '*:file:_files';; - - *) _message "unknown sccs command: $service";; -esac diff --git a/result/sw/share/zsh/5.9/functions/_sched b/result/sw/share/zsh/5.9/functions/_sched deleted file mode 100644 index 88870868..00000000 --- a/result/sw/share/zsh/5.9/functions/_sched +++ /dev/null @@ -1,21 +0,0 @@ -#compdef sched - -local expl lines disp - -if [[ CURRENT -eq 2 ]]; then - if compset -P -; then - lines=(${(f)"$(sched)"}) - if zstyle -T ":completion:${curcontext}:jobs" verbose; then - disp=( -ld lines ) - else - disp=() - fi - [[ -z $lines ]] || _wanted jobs expl 'scheduled job' \ - compadd "$disp[@]" - {1..$#lines} - return - else - _message -e times 'time specification' - return 1 - fi -fi -compset -n 3 && _normal diff --git a/result/sw/share/zsh/5.9/functions/_schedtool b/result/sw/share/zsh/5.9/functions/_schedtool deleted file mode 100644 index 869f146e..00000000 --- a/result/sw/share/zsh/5.9/functions/_schedtool +++ /dev/null @@ -1,25 +0,0 @@ -#compdef schedtool - -local curcontext="$curcontext" line state ret=1 - -_arguments -C \ - '(-p -F -R -B -I -D -M)-N[for SCHED_NORMAL]' \ - '( -N -R -B -I -D -M)-F[for SCHED_FIFO]' \ - '( -N -F -B -I -D -M)-R[for SCHED_RR]' \ - '(-p -N -F -R -I -D -M)-B[for SCHED_BATCH]' \ - '( -N -F -R -B -D -M)-I[for SCHED_ISO]' \ - '(-p -N -F -R -B -I -M)-D[for SCHED_IDLEPRIO]' \ - '( -N -F -R -B -I -D )-M[for manual mode; raw number for POLICY]:raw policy number' \ - '( -N -B -D )-p[usually 1-99; only for FIFO, RR or ISO]:static priority' \ - '-a[cpu affinity]:mask or list' \ - '-n[set niceness to NICE_LEVEL]:priority' \ - '-e[start COMMAND with specified policy/priority]:program: _command_names -e:*::program arguments: _normal' \ - '-v[be verbose]' \ - '*:processes:->processes' && ret=0 - -if [[ -n "$state" ]]; then - _alternative \ - 'processes:: _pids' && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_schroot b/result/sw/share/zsh/5.9/functions/_schroot deleted file mode 100644 index 117df45e..00000000 --- a/result/sw/share/zsh/5.9/functions/_schroot +++ /dev/null @@ -1,36 +0,0 @@ -#compdef schroot - -local expl context state line -typeset -A opt_args -local -a _comp_priv_prefix - -_arguments -S \ - '(-h --help)'{-h,--help}'[help]' \ - '(-a --all)'{-a,--all}'[select all chroots and active sessions]' \ - '--all-chroots[select all chroots]' \ - '--all-sessions[select all active sessions]' \ - '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \ - '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / -P /' \ - '(-u --user)'{-u,--user=}'[username (default current user)]:user:_users' \ - '(-l --list)'{-l,--list}'[list available chroots]' \ - '(-i --info)'{-i,--info}'[show information about selected chroots]' \ - '--location[print location of selected chroots]' \ - '--config[dump configuration of selected chroots]' \ - '(-p --preserve-environment)'{-p,--preserve-environment}'[preserve user environment]' \ - '(-q --quiet)'{-q,--quiet}'[quiet]' \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '(-V --version)'{-V,--version}'[version]' \ - '(-b --begin-session)'{-b,--begin-session}'[begin a session; returns a session ID]' \ - '(-r --run-session)'{-r,--run-session}'[run an existing session]' \ - '--recover-session[recover an existing session]' \ - '(-e --end-session)'{-e,--end-session}'[end an existing session]' \ - '(-f --force)'{-f,--force}'[force operation]' \ - '(-):command name: _command_names -e' \ - '*::arguments: _normal' && return 0 - -case "$state" in - (chroot) - _wanted tag expl 'chroot' \ - compadd $(schroot -l -a) - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_scl b/result/sw/share/zsh/5.9/functions/_scl deleted file mode 100644 index b9eaff11..00000000 --- a/result/sw/share/zsh/5.9/functions/_scl +++ /dev/null @@ -1,39 +0,0 @@ -#compdef scl - -local curcontext="$curcontext" dashes ret=1 -local -a state line force alts cmd - -[[ $words[2] = deregister ]] && - force=( '--force[deregister even SCL installed as packages]' ) - -_arguments -C $force \ - '(- 1)'{-l,--list}'[list installed software collections or packages within a collection]' \ - '(-l --list)1:action:(enable run load unload list-collections list-enabled list-packages man register deregister)' \ - '(- *)--help' \ - '(-)*:collections:->collections' && ret=0 - -if [[ -n $state ]]; then - (( $#line > 1 )) && curcontext="${curcontext%:*}-$line[1]:" - if [[ $line[1] = register ]]; then - _directories -P / -W / - return - fi - if (( ${dashes:=$words[(I)--]} )); then - shift dashes words - (( CURRENT -= dashes )) - _normal - return - fi - if [[ $CURRENT -gt 3 && $words[CURRENT] = - ]]; then - compadd - -- - return - fi - [[ $line[1] = enable && $CURRENT -gt 3 ]] && - cmd='command:command:_cmdstring' - - _alternative 'collections:collection:compadd - $(_call_program collections "${words[1]} list-collections || ${words[1]} -l")' \ - $cmd && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_scons b/result/sw/share/zsh/5.9/functions/_scons deleted file mode 100644 index 77fe6dfb..00000000 --- a/result/sw/share/zsh/5.9/functions/_scons +++ /dev/null @@ -1,59 +0,0 @@ -#compdef scons - -_arguments -s -S \ - '(-c --clean --remove)-'{c,-clean,-remove}'[remove specified targets and dependencies]' \ - '(-C --directory)-'{C,-directory=}'[change to specified directory first]:directory:_directories' \ - '--cache-debug=[print CacheDir debug info to file]:file:_files' \ - '(--cache-disable --no-cache)--'{cache-disable,no-cache}"[don't retrieve built targets from cache]" \ - '(--cache-force --cache-populate)--'{cache-force,cache-populate}'[copy already-built targets into cache]' \ - "--cache-readonly[don't update CacheDir with built targets]" \ - '--cache-show[print build actions for files from cache]' \ - '--config=[set Configure mode]:mode:(auto force cache)' \ - '(-u --up --search-up -U)-D[search up for SConstruct; build default targets]' \ - '--debug=[print debugging information]:type:( - count duplicate explain findlibs includes memoizer memory objects pdb prepare presub stacktrace time)' \ - '--diskcheck=[enable specific on-disk checks]:check:(all none match rcs sccs)' \ - '--duplicate=[set preferred file duplication methods]:file duplication methods:( - hard-soft-copy soft-hard-copy hard-copy soft-copy copy)' \ - '(-f --file --makefile --sconstruct)-'{f,-file=,-makefile=,-sconstruct=}'[specify SConstruct file]:file:_files' \ - '(-)-'{h,-help}'[display defined usage information]' \ - '(-)-'{H,-help-options}'[display usage information]' \ - '(-i -ignore-errors)-'{i,-ignore-errors}'[ignore errors from build actions]' \ - \*{-I,--include-dir=}'[add directory to search Python modules]:directory:_directories' \ - '(--implicit-deps-changed --implicit-deps-unchanged)--implicit-cache[cache scanned dependencies]' \ - '(--implicit-cache --implicit-deps-changed)--implicit-deps-changed[rescan dependencies]' \ - '(--implicit-cache --implicit-deps-unchanged)--implicit-deps-unchanged[ignore changes to scanned dependencies]' \ - '--interactive[start interactive mode]' \ - '(-j --jobs)-'{j,jobs=}'[specify no of jobs to run in parallel]' \ - '(-k --keep-going)-'{k,-keep-going}'[continue after an error]' \ - '--max-drift=[set the maximum clock drift]:drift (seconds)' \ - '--md5-chunksize=[set chunksize for MD5 signature computation]:size (kB)' \ - '(-n --just-print --dry-run --recon)-'{n,-just-print,-dry-run,-recon}"[print commands but don't run them]" \ - "--no-site-dir[don't use the usual site_scons directory]" \ - '--profile=[profile scons]:output file:_files' \ - '(-q --question)-'{q,question}'[query whether up-to-date]' \ - '-Q[suppress progress messages]' \ - '--random[build dependencies in random order]' \ - '(-s --silent --quiet)-'{s,-silent,-quiet}"[don't print commands]" \ - '--site-dir=[specify site_scons directory]:directory:_directories' \ - '--stack-size[set stacksize of threads]:size (kB)' \ - '--taskmastertrace=[trace node evaluation to file]:file' \ - '--tree=[print dependency tree]:format:(all derived prune status)' \ - '(-u --up --search-up -D -U)-'{u,-up,-search-up}'[search up for SConstruct; build current directory]' \ - '(-u --up --search-up -D)-U[search up for SConstruct; build Default targets]' \ - '(-)-'{v,-version}'[print version information]' \ - \*{--warn=,--warning=}'[enable or disable warnings]:type:( - all cache-write-error corrupt-sconsign dependency deprecated - deprecated-copy deprecated-source-signatures deprecated-target-signatures - duplicate-environment fortran-cxx-mix link misleading-keywords - missing-sconscript no-md5-module no-metaclass-support no-object-count - no-parallel-support python-version reserved-variable stack-size no-all - no-cache-write-error no-corrupt-sconsign no-dependency no-deprecated - no-deprecated-copy no-deprecated-source-signatures - no-deprecated-target-signatures no-duplicate-environment - no-fortran-cxx-mix no-link no-misleading-keywords no-missing-sconscript - no-no-md5-module no-no-metaclass-support no-no-object-count - no-no-parallel-support no-python-version no-reserved-variable - no-stack-size)' \ - \*{-Y,--repository}'[search specified repository for files]:repository:_files' \ - '*:target:_default' # Doesn't seem to be a simple way to get a list of targets diff --git a/result/sw/share/zsh/5.9/functions/_screen b/result/sw/share/zsh/5.9/functions/_screen deleted file mode 100644 index 6d47d263..00000000 --- a/result/sw/share/zsh/5.9/functions/_screen +++ /dev/null @@ -1,142 +0,0 @@ -#compdef screen - -local curcontext="$curcontext" state line expl ret=1 -local scr_cmds sessions - -scr_cmds=( - acladd aclchg acldel aclgrp - aclumask activity addacl allpartial - altscreen at attrcolor autodetach - autonuke backtick bce bd_bc_down - bd_bc_left bd_bc_right bd_bc_up bd_bell - bd_braille_table bd_eightdot bd_info bd_link - bd_lower_left bd_lower_right bd_ncrc bd_port - bd_scroll bd_skip bd_start_braille bd_type - bd_upper_left bd_upper_right bd_width bell_msg - bind bindkey blanker blankerprg - break breaktype bufferfile c1 - caption chacl charset chdir - clear colon command compacthist - console copy crlf debug - defautonuke defbce defbreaktype defc1 - defcharset defencoding defescape defflow - defgr defhstatus defkanji deflog - deflogin defmode defmonitor defnonblock - defobuflimit defscrollback defshell defsilence - defslowpaste defutf8 defwrap defwritelock - detach digraph dinfo displays - dumptermcap echo encoding escape - eval exec fit flow - focus gr hardcopy hardcopy_append - hardcopydir hardstatus height help - history hstatus idle ignorecase - info kanji kill lastmsg - license lockscreen log logfile - login logtstamp mapdefault mapnotnext - maptimeout markkeys maxwin meta - monitor msgminwait msgwait multiuser - nethack next nonblock number - obuflimit only other partial - password paste pastefont pow_break - pow_detach pow_detach_msg prev printcmd - process quit readbuf readreg - redisplay register remove removebuf - reset resize screen scrollback - select sessionname setenv setsid - shell shelltitle silence silencewait - sleep slowpaste sorendition source - split startup_message stuff su - suspend term termcap termcapinfo - terminfo time title umask - unsetenv utf8 vbell vbell_msg - vbellwait verbose version wall - width windowlist windows wrap - writebuf writelock xoff xon - zmodem zombie -) - -_arguments -C \ - '(-6)-4[resolve hostnames only to IPv4 addresses]' \ - '(-4)-4[resolve hostnames only to IPv6 addresses]' \ - "-a[force all capabilities into each window's termcap]" \ - '-A[adapt all windows to the new display width & height]' \ - "-c[read configuration file instead of '.screenrc']:config file:_files" \ - '-d[detach the elsewhere running screen (with -r: reattach here)]: :->attached-sessions' \ - '-dmS[start as daemon, screen session in detached mode]:session name' \ - '-D[detach and logout remote (with -r: reattach here)]: :->attached-sessions' \ - '-e[change command characters]:command characters' \ - '-f-[set flow control]:flow control:((n\:flow\ control\ off a\:flow\ control\ auto \:flow\ control\ on))' \ - '-h[set the size of the scrollback history buffer]:buffer size' \ - '-i[interrupt output sooner when flow control is on]' \ - "(-l)-ln[login mode off (don't update utmp database)]" \ - '(-ln)-l[login mode on (update utmp database)]' \ - '(- *)'{-ls,-list}'[list sessions/socket directory]: :->any-sessions' \ - "-L[terminal's last character can be safely updated]" \ - '-Logfile[set logfile name]:log file:_files' \ - '-m[ignore $STY variable, do create a new screen session]' \ - '-O[choose optimal output rather than exact vt100 emulation]' \ - '-p[preselect the named window]:window number or name:((\=\:windowlist -\:blank\ window \:window\ number))' \ - '-q[quiet startup, exit with non-zero return code if unsuccessful]' \ - '-Q[send response to stdout of command query process]:screen command:(echo info lastmsg number select time title windows)' \ - '-r[reattach to a detached screen process]: :->detached-sessions' \ - '-Dr: :->any-sessions' \ - '-dr: :->any-sessions' \ - '-R[reattach if possible, otherwise start a new session]: :->detached-sessions' \ - '-DR: :->any-sessions' \ - '-dR: :->any-sessions' \ - '-s[shell to execute rather than $SHELL]:shell name: _command_names -e' \ - '-S[name this session <pid>.sockname instead of <pid>.<tty>.<host>]:session name:->any-sessions' \ - "-t[set title (window's name)]:title" \ - '-T[use term as $TERM for windows, rather than "screen"]:terminal type:_terminals' \ - '-U[tell screen to use UTF-8 encoding]' \ - '(- *)-v[print screen version]' \ - '(- *)-wipe[do nothing, clean up SockDir]: :->any-sessions' \ - '-x[attach to a not detached screen (multi display mode)]: :->attached-sessions' \ - '-Dx: :->any-sessions' \ - '-dx: :->any-sessions' \ - '-X[execute command as a screen command in the specified session]:screen command:(${scr_cmds[@]})' \ - '*:: :->normal' && ret=0 - -if [[ -n $state ]]; then - case $state in - normal) - if (( CURRENT == 1 )) && [[ $PREFIX == /dev/* ]]; then - _path_files -g '*(%)' - elif (( CURRENT == 2 )) && [[ ${words[1]} == /dev/* ]]; then - _baudrates - elif (( CURRENT > 2 )) && [[ ${words[1]} == /dev/* ]]; then - _message "no more parameters" - else - _normal - fi - ;; - attached-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*[Aa]ttached*}##[[:blank:]]}%%[[:blank:]]*} - ) - ;; - detached-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*[Dd]etached*}##[[:blank:]]}%%[[:blank:]]*} - ) - ;; - any-sessions) - sessions=( - ${${${(M)${(f)"$(_call_program screen-sessions $words[1] \ - -ls 2>/dev/null)"}:#*tached*}##[[:blank:]]}%%[[:blank:]]*} - ) - esac - - # check if initial PID is necessary to make sessions unambiguous - if [[ ${#${(u)sessions#*.}} -lt $#sessions ]]; then - _wanted screen-sessions expl "${state%-*} screen process" \ - compadd -a sessions - else - _wanted screen-sessions expl "${state%-*} screen process" \ - compadd ${sessions#*.} - fi -fi && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_script b/result/sw/share/zsh/5.9/functions/_script deleted file mode 100644 index 7a3960be..00000000 --- a/result/sw/share/zsh/5.9/functions/_script +++ /dev/null @@ -1,84 +0,0 @@ -#compdef script scriptreplay - -local args hlp="-h --help -V --version" - -if [[ $service = scriptreplay ]]; then - _arguments -S -s \ - "(1 -t --timing -T --log-timing $hlp)"{-t+,-T+,--timing=,--log-timing=}'[specify file containing timing output]:timing file:_files' \ - "(-I --log-in -B --log-io $hlp)"{-I+,--log-in=}'[specify file containing terminal input]:file:_files' \ - "(2 -s --typescript -B --log-io $hlp)"{-s+,-O+,--typescript=,--log-out=}'[specify file containing terminal output]:typescript file:_files' \ - "(-B --log-io -I --log-in -s -O --typescript --log-out $hlp)"{-B,--log-io}'[specify file containing terminal input and output]' \ - "($hlp)--summary[display overview about recorded session and exit]" \ - "(3 -d --divisor $hlp)"{-d+,--divisor=}'[speed up replay]:factor' \ - "(-m --maxdelay $hlp)"{-m+,--maxdelay=}'[set maximum delay between updates]:delay (seconds)' \ - "(-x --stream $hlp)"{-x+,--stream=}'[specify stream type]:name:(out in signal or info)' \ - "(-c --cr-mode $hlp)"{-c+,--cr-mode=}'[specify CR char mode]:mode:(auto never always)' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[display version information]' \ - "(-t --timing $hlp):timing file:_files" \ - "(-s --typescript -O --log-out $hlp):typescript file:_files" \ - "(-d --divisor $hlp): :_guard '[0-9.]#' 'timing divisor'" - return -fi - -case $OSTYPE in - linux*) - args=( -S - "(-I --log-in $hlp)"{-I,--log-in}'[log stdin to file]:file:_files' - "(-O --log-out $hlp)"{-O,--log-out}'[log stdout to file]:file:_files' - "(-B --log-io $hlp)"{-B,--log-io}'[log stdin and stdout to file]:file:_files' - "(-T --log-timing -t --timing $hlp)"{-T+,--log-timing=}'[log timing information to file]:file:_files' - "(-m --logging-format $hlp)"{-m+,--logging-format=}'[specify log file format]:format:(classic advanced)' - "(-a --append $hlp)"{-a,--append}'[append to the log file]' - "(-c --command $hlp)"{-c,--command=}'[run specified command instead of a shell]:command:_cmdstring' - "(-e --return $hlp)"{-e,--return}'[return exit status of the child process]' - "(-f --flush $hlp)"{-f,--flush}'[flush output after each write]' - "(-E --echo $hlp)"{-E+,--echo=}'[echo input]:when:(auto always never)' - "($hlp)--force[use output file even when it is a link]" - "(-o --output-limit $hlp)"{-o+,--output-limit=}'[terminate if output files exceed specified size]:size (bytes)' - "(-q --quiet $hlp)"{-q,--quiet}'[be quiet]' - "(-t --timing $hlp)"{-t-,--timing=-}'[output timing data]::timing file:_files' - '(- 1)'{-h,--help}'[display help information]' - '(- 1)'{-V,--version}'[display version information]' - ) - ;; - darwin*|dragonfly*|netbsd*|freebsd*) - args=( - '-q[be quiet: suppress display of starting and ending lines]' - '(-a -r -k)-d[suppress sleeps when playing back a session]' - '(-a -r -k -t)-p[play back a recorded session]' - '(-d -p)-r[record a session with input, output and timing data]' - ) - ;| - netbsd*|openbsd*) - args+=( - '-c[run specified command instead of a shell]:command:_cmdstring' - ) - ;| - netbsd*) - args+=( '-f[flush output after each write]' ) - ;| - freebsd*) - args+=( - '-f[use filemon(4)]' - ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( - '-F[send output to specified named pipe]:fifo:_files -g "*(p)"' - '-t+[specify interval of data flushing]:interval (seconds)' - '-k[log keys sent to the program as well as output]' - '*:::arguments: _normal' - ) - ;| - darwin*|freebsd*) - ;| - *) - args+=( - '(-p -d)-a[append output]' - ) - ;; -esac - -_arguments -s $args \ - "($hlp):typescript file:_files" diff --git a/result/sw/share/zsh/5.9/functions/_scselect b/result/sw/share/zsh/5.9/functions/_scselect deleted file mode 100644 index ff7d2610..00000000 --- a/result/sw/share/zsh/5.9/functions/_scselect +++ /dev/null @@ -1,39 +0,0 @@ -#compdef scselect - -local ret=1 u l -local -a context line state state_descr tmp loc1 loc2 -local -A opt_args - -_arguments -s -S : \ - '-n[delay changing until next boot]' \ - '1: :->locations' \ -&& ret=0 - -[[ $state == locations ]] && { - # For some reason scselect expects location names to be encoded in Mac OS - # Roman; in order to prevent completed arguments from breaking the tool, we'll - # insert the UUID instead if the name would contain incompatible characters - tmp=( ${(f)"$( _call_program locations $words[1] )"} ) - tmp=( ${tmp[2,-1]} ) - tmp=( ${tmp##[*[:space:]]##} ) - tmp=( ${tmp//:/\\:} ) - tmp=( ${tmp/[[:space:]]##\(/$'\0'} ) - tmp=( ${tmp%\)} ) - - for u l in "${(@0)tmp}"; do - loc1+=( "${l}:${u}" ) - if [[ $l == [[:ascii:]]## ]]; then - loc2+=( $l ) - else - loc2+=( $u ) - fi - done - - if (( $#loc1 )); then - _describe location loc1 loc2 && ret=0 - else - _message location && ret=0 - fi -} - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_scutil b/result/sw/share/zsh/5.9/functions/_scutil deleted file mode 100644 index 6c0a84d6..00000000 --- a/result/sw/share/zsh/5.9/functions/_scutil +++ /dev/null @@ -1,56 +0,0 @@ -#compdef scutil - -local ret=1 -local -a context line state state_descr -local -A opt_args val_args - -# Don't complete host names unless we have -r (this is weird, but the obvious -# alternative (exclusion sets) currently doesn't work properly with option -# stacking) -(( ! $words[(I)-*] || ($words[(I)-W] && ! $words[(I)-r]) )) && -: ${PREFIX:=-} - -# @todo We could complete nc-cmd arguments better if we wanted to -_arguments -s -S -A '-*' : \ - + '(g1)' \ - '(: -)--dns[display current DNS configuration]' \ - '(: -)--get[display specified preference]: :->prefs' \ - '(: -)--nc[interact with VPN connections]: :->nc-cmd:*:argument' \ - '(: -)--prefs[interface with raw preference data]:preference file:_files' \ - '(: -)--proxy[display current proxy configuration]' \ - '(: -)--set[set specified preference]: :->prefs:value' \ - + g2 \ - '(g1 g3)-r[check network reachability]' \ - '(g1 g3)-W[monitor (watch) network reachability]' \ - '(g1 g3)1:host:_hosts' \ - '(g1 g3)2::host:_hosts' \ - + g3 \ - '(g1 g2)-w[wait for key to exist in dynamic store]' \ - '(g1 g2)-t+[specify timeout]:timeout (seconds)' \ -&& ret=0 - -case $state in - nc-cmd) - _values command \ - 'disablevpn[disable specified service or VPN application type]' \ - 'enablevpn[enable specified service or VPN application type]' \ - 'help[display command help]' \ - 'list[list services]' \ - 'ondemand[display VPN on-demand information]' \ - 'resume[resume specified service]' \ - 'select[make specified service active]' \ - 'show[display configuration information for specified service]' \ - 'start[start specified service]' \ - 'statistics[display statistics for specified service]' \ - 'status[display status for specified service]' \ - 'stop[stop specified service]' \ - 'suspend[suspend specified service]' \ - 'trigger[trigger VPN on-demand with specified host]' \ - && ret=0 - ;; - prefs) - _values preference ComputerName HostName LocalHostName && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_seafile b/result/sw/share/zsh/5.9/functions/_seafile deleted file mode 100644 index bd36c0ac..00000000 --- a/result/sw/share/zsh/5.9/functions/_seafile +++ /dev/null @@ -1,33 +0,0 @@ -#compdef seaf-cli - -local -a commands - -commands=( - "init\:'initialize config directory'" - "start\:'start seafile daemon'" - "stop\:'stop seafile daemon'" - "list\:'list local libraries'" - "list-remote\:'list remote libraries'" - "status\:'show syncing status'" - "download\:'download a library from seafile server'" - "download-by-name\:'download a library defined by name from seafile server'" - "sync\:'sync a library with an existing foler'" - "desync\:'desync a library with seafile server'" - "create\:'create a library'" - "config\:'configure seafile client'" -) - -_arguments \ - ":command:(($commands))" \ - {-h,--help}'[show help]' \ - {-c,--confdir}'[specify config directory]:config directory:_files -/' \ - {-d,--dir,--folder}'[directory]:directory:_directories' \ - {-s,--server}'[URL for seafile server]':server \ - {-u,--username}'[username]':username \ - {-p,--password}'[password]':password \ - {-a,--tfa}'[two-factor authentication]':tfa \ - {-l,--library}'[library id]':library \ - {-e,--libpasswd}'[library password]':libpasswd \ - {-k,--key}'[configuration key]':key \ - {-v,--value}'[configuration value]':value \ - "*: :_files" diff --git a/result/sw/share/zsh/5.9/functions/_sed b/result/sw/share/zsh/5.9/functions/_sed deleted file mode 100644 index 79a010c9..00000000 --- a/result/sw/share/zsh/5.9/functions/_sed +++ /dev/null @@ -1,255 +0,0 @@ -#compdef sed gsed psed s2p - -local variant inplace extended ign sep separator -local -i nest=0 -local -a args aopts sedexpr cmds_none cmds_slash cmds_end substflags expl bsnl nl labels excl dedup -local -a step range negate mods -aopts=( -A '-*' ) -bsnl=( $'\\\n' ) -nl=$'\n' -compquote nl - -cmds_none=( - '{:start group' - 'q:quit after printing pattern space' - 'h:copy pattern space to hold space' - '\::place label' - '#:comment' - '=:print current line number' - 'a:append text' - 'i:insert text' - 'r:append contents of file' - 'b:branch' - 't:branch if s command has been successful' - 'c:replace line with text' - 'l:list current line in visually unambiguous form' - 'w:write pattern space to file' -) -cmds_slash=( - 's:substitute regex' - 'y:transliterate characters' -) -cmds_end=( - 'd:delete pattern space' - 'D:delete up to the first newline in the pattern space' - 'g:copy hold space to pattern space' - 'G:append hold space to pattern space' - 'H:append pattern space to hold space' - 'n:read the next line of input into pattern space' - 'N:append the next line of input to the pattern space' - 'p:print the current pattern space' - 'P:print up to the first newline of the current pattern space' - 'x:exchange hold and pattern spaces' - '}:end group' -) -substflags=( - 'g:replace all matches to the regular expression' - 'p:print new pattern space if substitution made' - 'w:write result to named file if substitution made' -) -args=( - '(-n --quiet --silent)'{-n,--quiet,--silent}'[suppress automatic printing of pattern space]' - '(1)*'{-e+,--expression=}'[specify sed commands to run]:sed script:_sed_expressions' - '(1)*'{-f+,--file=}'[add contents of file to commands to run]:file:_files' - '(-e)1:sed script:_sed_expressions' - '*:input file:_files' -) -inplace='[edit files in-place, running scripts separately for each file]:: :_guard "^(*[@/; ]*|?(#c6,)|-*)" "suffix for backup"' -extended='[use extended regular expressions]' - -if [[ $service = (psed|s2p) ]]; then - args=( - "${(@)args:#(|\(*\))(|\*)--*}" - '-a[delay opening files listed with w function]' - ) -elif _pick_variant -r variant gnu=GNU unix --version; then - aopts=( ) - (( $#words > 2 )) && ign='!' - args+=( - '--debug[annotate program execution]' - '--follow-symlinks[follow symlinks when processing in place]' - '(-i --in-place -s --separate)'{-i-,--in-place=-}$inplace - '(-c --copy)'{-c,--copy}'[copy instead of rename when shuffling files in in-place mode]' - '(-l --line-length)'{-l+,--line-length=}'[specify line-wrap length for the l command]' - '(-r)--posix[disable GNU extensions]' - '(-E -r --regexp-extended)'{-E,-r,--regexp-extended}$extended - '(-s --separate)'{-s,--separate}'[consider files separately instead of as a combined stream]' - '--sandbox[block commands that can affect the system (r/w/W/e)]' - '(-u --unbuffered)'{-u,--unbuffered}'[disable data buffering]' - '(-z --null-data)'{-z,--null-data}'[separate lines by NUL characters]' - "${ign}(- 1 :)--help[print program usage]" - "${ign}(- 1 :)--version[print program version]" - ) - if [[ -z ${words[(r)--posix]} ]]; then - cmds_none+=( - 'R:append a line from file' - 'T:branch if no s command has been successful' - 'W:write the first line of pattern space to file' - 'v:fail if GNU extensions not supported or older than specified version' - ) - cmds_end+=( - "e:execute a command and include it's output" - 'F:print the filename of the current input file' - 'Q:quit' - 'z:empty the pattern space' - ) - substflags+=( - 'e:execute pattern space as a command and replace with result' - {i,I}':case-insensitive regular expression matching' - {m,M}':multi-line matching' - ) - fi -else - args=( "${(@)args:#(|\(*\))(|\*)--*}" ) - case $OSTYPE in - openbsd*|freebsd*|netbsd*|darwin*|dragonfly*) - args+=( - '(-r -E)'-E$extended - '-a[delay opening files listed with w function]' - ) - ;| - openbsd*|freebsd*|netbsd*|dragonfly*) args+=( '(-r -E)'-r$extended ) ;| - darwin*|freebsd*|netbsd*|openbsd*|dragonfly*) args+=( '-i+'$inplace ) ;| - darwin*|freebsd*|netbsd*|dragonfly*) args+=( '-l[make output line buffered]' ) ;| - freebsd*|dragonfly*) args+=( '-u[disable data buffering]' ) ;| - freebsd*|netbsd*|dragonfly*) - args+=( - '-I+[edit files in-place, treating all files as a single input stream]:: :_guard "^(*[@/; \\\]*|?(#c6,)|-*)" "suffix for backup"' - ) - ;; - openbsd*) args+=( '-u[make output line buffered]' ) ;; - esac -fi - -zstyle -s ":completion:${curcontext}:address-forms" list-separator separator || separator=-- -step=( "~ $separator step" ) -negate=( "! $separator negated" ) -range=( ", $separator range" ) -mods=( "I $separator case-insensitive" "M $separator multi-line" ) - -sedexpr=( - \( /$'*\0[ \t\n]#'/ \) # strip off any preceding arguments - handled by _arguments - \( - # Handle an optional address range - \( - \( - \( - '///' '/[^/]#//' ':regexes:regex:' # skip /pattern/ - \| - '/\\(?)/' -'sep=${match#?}' # handle \xpatternx - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':regexes:regex:' - \) - $'/[ \t]#/' - \( \| '/[IM]##/' -'dedup=( ${(s..)match} )' ':address-forms:address form:compadd -S "" -d mods -F dedup I M' \) \# - \| - '/([0-9]##|$)[ \t]#/' # line number - \( - '/\~[ \t]#/' # addr1~N - '/[0-9]##[ \t]#/' ': _message -e steps "number - match where line number is a multiple"' - \| '//' ':address-forms:address form:compadd -S "" -d step \~' \) - \| - '/[]/' ': _guard "^([sy]|[^0-9$/\\\]*)" "address - line number or /pattern/"' - \) - \( # range end, also optional - '/[ \t]#,[ \t]#/' -'excl=( \\\# : )' # exclude comments and labels after ranges - \( - '///' '/[^/]#//' ':regexes:regex:' # handle /pattern/ - \| - '/\\(?)/' -'sep=${match#?}' # handle \xpatternx - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':regexes:regex - 2:' - \| - '/+[ \t]#/' # addr1,+N - '/[0-9]##/' ': _message -e number "number of following lines"' - \| - '/\~[ \t]#/' # addr1,~N - '/[0-9]##/' ': _message -e number "following lines until line number is a multiple of specified number"' - \| - '/([0-9]##|$)/' # line number - \| - '/[]/' ': _message -e ranges "ending line - [+~]number, $ or /pattern/"' - \) - \| - '//' -'excl=( \\\# : )' ':address-forms:address form:compadd -S "" -d range ,' - \) - \( - '/!/' ':address-forms:address form:compadd -S "" -d negate !' - \| \) - \| // -'excl=( \{ )' \) # { ... } is only useful following a range so exclude { - - $'/[ \t]#/' -'(( nest )) || excl+=( \} )' # whitespace + exclude } without preceding { - \( # First commands, for which the pattern fully terminates them - '/e[ \t]#/' $'/((\\\n|\\[^\n]|[^\\\n])##\n|[\n;])/' ':commands:command:_cmdstring' # GNU extension - \| - $'/{[ ;\t\n]#/' -'((++nest,1))' # opening brace - \| - '/\#/' # comments - $'/[^\n]##\n[\n; \t]#/' ':comments:comment:' - \| - $'/[aci]/' # a, c and i commands - \( - $'/[ \t]#/' -'[[ $variant = gnu && $+opt_args[--posix] = 0 ]]' # GNU allows, e.g. 'c string' - \| - $'/[ \t]#/' $'/\\\n/' ':newlines:newline:compadd -Q -S "" "$bsnl"' - \) - $'/(\\\n|\\[^\n]|[^\\\n])##\n[\n; \t]#/' ':strings:string:' - \| - $'/[RrwW][ \t]#/' $'/[^\n]##\n[\n; \t]#/' ':files:file:_files -S ""' - \| # Now commands with shared termination handling - \( - # branches/labels, GNU sed allows an empty label - $'/[:btT][ \t]#/' $'/[^ \t\n;]#/' $'%[ \t\n;]%' -'labels+=( $match )' - ':labels:label: _wanted -x labels expl label compadd -S "" -a labels' - \| - '/l/' $'/[ \t]#<->/' ':width:width:' - \| - '/s(?)/' -'sep=${match#s}' # Substitutions - \( '/\\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# - '/?/' -'[[ $match = $sep ]]' ':regexes:source regex:' - \( '/\\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# - '/?/' -'[[ $match = $sep ]]' ':regexes:substitute string (back-references with & and \1 .. \9):' - \( # Substitution flags - $'/w[ \t]#/' $'/[^\n]##/' $'%\n%' ':files:file:_files -S ""' - \| - # pass existing flags, building exclusion list from them - $'/[gpiImM0-9]#/' -'excl=( ${(s..)${${${match/[iI]/iI}/[mM]/mM}}/e/ew} )' - \( - '//' -'[[ -z ${excl[(r)[0-9]]} ]]' # exclude if numbers already there - '//' '%[^egpiImM0-9]%' ': _message -e numbers "number - substitute nth match"' - \| - '//' '%[^egpiImM0-9]%' $':flags:flag: _describe -t flags flag substflags -S "" -F excl' - \) - \) - \| - '/y(?)/' -'sep=${match#y}' # Character transliterations - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':source:source:' - \( '/\?/' \| '/?/' -'[[ $match != $sep ]]' \) \# '/?/' -'[[ $match = $sep ]]' ':dest:dest:' - \| - '/[qQ]/' -'[[ $variant = gnu && $+opt_args[--posix] = 0 ]]' - $'/[\t ]#<->/' '%[^0-9]%' ':exit-codes:exit code:' - \| - '/[=dDFhHgGnNpPqQxz]/' # stand-alone commands that take no argument - \( $'/[ \t]#/' $'%[#\n;}]%' \| $'/[ \t]/' '/[]/' ': _message "no arguments"' \| \) - \| - $'/v[ \t]#/' $'/[^\n;}]#/' $'%[\n;}]%' ':versions:version:' - \| - $'/}[ \t]#/' -'((--nest,1))' # closing } - \| - /'[]'/ ':commands:command: _describe -t sed-commands "sed command" cmds_none -S "" -F excl -- cmds_slash -S / -- cmds_end -F excl -r \; -S $nl' - \) - $'/[ \t]#/' - \( $'/}[ \t]#/' -'((--nest,1))' \| \) # closing } is allowed by GNU sed without preceding ; or newline - \( - '/\#/' $'/[^\n]##\n[\n; \t]#/' ':comments:comment:' # line end comments - \| - # add in and auto-removable newline if command is terminated - $'/[;\n][ ;\t\n]#/' $':separators:separator:compadd -r ";" -S $nl ""' - \| - $'/{[ \t]#/' -'((++nest,1))' # opening {, keep count of nesting level - \) - \) - \) \# -) - -_regex_arguments _sed_expressions "$sedexpr[@]" - -_arguments -s -S $aopts : "$args[@]" diff --git a/result/sw/share/zsh/5.9/functions/_selinux_contexts b/result/sw/share/zsh/5.9/functions/_selinux_contexts deleted file mode 100644 index 4c2cf428..00000000 --- a/result/sw/share/zsh/5.9/functions/_selinux_contexts +++ /dev/null @@ -1,14 +0,0 @@ -#autoload - -local -a parts suf - -parts=( users roles types ) -while compset -P 1 '*:' && (( $+parts[1] )) ; do - shift parts -done -if (( $+parts[1] )); then - compset -S ':*' || suf=( -S : ) - _selinux_$parts[1] $suf -else - _message -e selinux-ranges 'selinux range' -fi diff --git a/result/sw/share/zsh/5.9/functions/_selinux_roles b/result/sw/share/zsh/5.9/functions/_selinux_roles deleted file mode 100644 index 92b4c36c..00000000 --- a/result/sw/share/zsh/5.9/functions/_selinux_roles +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local -a seroles expl - -seroles=( ${(f)"$(_call_program selinux-roles seinfo --flat -r)"} ) -_description selinux-roles expl "selinux role" -compadd "$@" "$expl[@]" -a seroles diff --git a/result/sw/share/zsh/5.9/functions/_selinux_types b/result/sw/share/zsh/5.9/functions/_selinux_types deleted file mode 100644 index ef31f45d..00000000 --- a/result/sw/share/zsh/5.9/functions/_selinux_types +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local -a setypes expl - -setypes=( ${(f)"$(_call_program selinux-types seinfo --flat -t)"} ) -_description selinux-types expl "selinux type" -compadd "$@" "$expl[@]" -a setypes diff --git a/result/sw/share/zsh/5.9/functions/_selinux_users b/result/sw/share/zsh/5.9/functions/_selinux_users deleted file mode 100644 index f046c92c..00000000 --- a/result/sw/share/zsh/5.9/functions/_selinux_users +++ /dev/null @@ -1,8 +0,0 @@ -#autoload - -local -a seusers expl - -seusers=( ${(f)"$(_call_program selinux-users seinfo --flat -u)"} ) -(( $#seusers )) || seusers=( guest_u root staff_u sysadm_u system_u unconfined_u user_u ) -_description selinux-users expl "selinux user" -compadd "$@" "$expl[@]" -a seusers diff --git a/result/sw/share/zsh/5.9/functions/_sep_parts b/result/sw/share/zsh/5.9/functions/_sep_parts deleted file mode 100644 index 6fcf54ec..00000000 --- a/result/sw/share/zsh/5.9/functions/_sep_parts +++ /dev/null @@ -1,146 +0,0 @@ -#autoload - -# This function can be used to separately complete parts of strings -# where each part may be one of a set of matches and different parts -# have different sets. -# Arguments are alternately arrays and separator strings. Arrays may -# be given by name or literally as words separated by white space in -# parentheses, e.g.: -# -# _sep_parts '(foo bar)' @ hosts -# -# This will make this function complete the strings `foo' and `bar'. -# If the string on the line contains a `@', the substring after it -# will be completed from the array `hosts'. Of course more arrays -# may be given, each preceded by another separator string. -# -# This function understands the `-J group', `-V group', and -# `-X explanation' options. - -local str arr sep test testarr tmparr prefix suffixes autosuffix -local matchflags opt group expl nm=$compstate[nmatches] opre osuf opts matcher - -# Get the options. - -zparseopts -D -a opts 'J+:=group' 'V+:=group' P: F: S: r: R: q 1 2 o+: n \ - 'x+:=expl' 'X+:=expl' 'M+:=matcher' - -# Get the string from the line. - -opre="$PREFIX" -osuf="$SUFFIX" -str="$PREFIX$SUFFIX" -SUFFIX="" -prefix="" - -# Walk through the arguments to find the longest unambiguous prefix. - -while [[ $# -gt 1 ]]; do - # Get the next array and separator. - arr="$1" - sep="$2" - - if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr - fi - - # Is the separator on the line? - - [[ "$str" != *${sep}* ]] && break - - # Get the matching array elements. - - PREFIX="${str%%(|\\)${sep}*}" - builtin compadd -O testarr "$matcher[@]" -a "$arr" - [[ $#testarr -eq 0 && -n "$_comp_correct" ]] && - compadd -O testarr "$matcher[@]" -a "$arr" - - # If there are no matches we give up. If there is more than one - # match, this is the part we will complete. - - (( $#testarr )) || return 1 - [[ $#testarr -gt 1 ]] && break - - # Only one match, add it to the prefix and skip over it in `str', - # continuing with the next array and separator. - - prefix="${prefix}${testarr[1]}${sep}" - str="${str#*${sep}}" - shift 2 -done - -# Get the array to work upon. - -arr="$1" -if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr -fi - -if [[ $# -le 1 || "$str" != *${2}* ]]; then - # No more separators, build the matches. - - PREFIX="$str" - builtin compadd -O testarr "$matcher[@]" -a "$arr" - [[ $#testarr -eq 0 && -n "$_comp_correct" ]] && - compadd -O testarr "$matcher[@]" -a "$arr" -fi - -[[ $#testarr -eq 0 || ${#testarr[1]} -eq 0 ]] && return 1 - -# Now we build the suffixes to give to the completion code. - -shift -suffixes=("") -autosuffix=() - -while [[ $# -gt 0 && "$str" == *${1}* ]]; do - # Remove anything up to the suffix. - - str="${str#*${1}}" - - # Again, we get the string from the line up to the next separator - # and build a pattern from it. - - if [[ $# -gt 2 ]]; then - PREFIX="${str%%${3}*}" - else - PREFIX="$str" - fi - - # We incrementally add suffixes by appending to them the separators - # and the strings from the next array that match the pattern we built. - - arr="$2" - if [[ "$arr[1]" == '(' ]]; then - tmparr=( ${=arr[2,-2]} ) - arr=tmparr - fi - - builtin compadd -O tmparr "$matcher[@]" -a "$arr" - [[ $#tmparr -eq 0 && -n "$_comp_correct" ]] && - compadd -O tmparr "$matcher[@]" - "$arr" - - suffixes=("${(@)^suffixes[@]}${(q)1}${(@)^tmparr}") - - shift 2 -done - -# If we were given at least one more separator we make the completion -# code offer it by appending it as a autoremovable suffix. - -(( $# )) && autosuffix=(-qS "${(q)1}") - -# Add the matches for each of the suffixes. - -PREFIX="$pre" -SUFFIX="$suf" -for i in "$suffixes[@]"; do - compadd -U "$group[@]" "$expl[@]" "$autosuffix[@]" "$opts[@]" \ - -i "$IPREFIX" -I "$ISUFFIX" -p "$prefix" -s "$i" -a testarr -done - -# This sets the return value to indicate that we added matches (or not). - -[[ nm -ne compstate[nmatches] ]] diff --git a/result/sw/share/zsh/5.9/functions/_seq b/result/sw/share/zsh/5.9/functions/_seq deleted file mode 100644 index 5b825675..00000000 --- a/result/sw/share/zsh/5.9/functions/_seq +++ /dev/null @@ -1,28 +0,0 @@ -#compdef seq gseq - -local variant args - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( ':: :_guard "^-[^0-9]*" '{first,step,last} ) -case $variant in - gnu) - args+=( - '(--help --version)'{-f+,--format=}'[use printf style floating-point format]:format' - '(--help --version -s --separator)'{-s+,--separator=}'[use specified separator for numbers]:separator [\n]' - '(--help --version -w --equal-width)'{-w,--equal-width}'[equalize width by padding with leading zeroes]' - '(- 1 2 3)--help[display usage information]' - '(- 1 2 3)--version[display version information]' - ) - ;; - *) - args+=( - '-f+[use printf style floating-point format]:format' - '-s+[use specified separator for numbers]:separator [\n]' - '-t+[use specified string to terminate numbers]:string [\n]' - '-w[equalize width by padding with leading zeroes]' - ) - ;; -esac - -_arguments -s -A '-[^1-9]*' $args diff --git a/result/sw/share/zsh/5.9/functions/_sequence b/result/sw/share/zsh/5.9/functions/_sequence deleted file mode 100644 index 1a87c175..00000000 --- a/result/sw/share/zsh/5.9/functions/_sequence +++ /dev/null @@ -1,40 +0,0 @@ -#autoload - -# a separated list where each component of the list uses the same -# function. - -# -n num : number of items in list [default is unlimited] -# -s sep : specify separator [defaults to comma] -# -d : duplicate values allowed - -local curcontext="$curcontext" nm="$compstate[nmatches]" pre qsep nosep minus -local -a opts sep num pref suf cont end uniq dedup garbage - -zparseopts -D -a opts s:=sep n:=num p:=pref i:=pref P:=pref I:=suf S:=suf \ - q=suf r:=suf R:=suf C:=cont F:=garbage d=uniq M+: J+: V+: 1 2 o+: X+: x+: -(( $#cont )) && curcontext="${curcontext%:*}:$cont[2]" -(( $#sep )) || sep[2]=, - -if (( $+suf[(r)-S] )); then - end="${(q)suf[suf[(i)-S]+1]}" - (( $#end )) && compset -S ${end}\* && suf=() && nosep=1 -fi - -qsep="${sep[2]}" -compquote -p qsep -if (( ! $#uniq )); then - (( $+pref[(r)-P] )) && pre="${(q)pref[pref[(i)-P]+1]}" - dedup=( "${(@)${(@ps.$qsep.)PREFIX#$pre}[1,-2]}" "${(@)${(@ps.$qsep.)SUFFIX}[2,-1]}" ) - [[ -n $compstate[quoting] ]] || dedup=( ${(Q)dedup} ) -fi - -if (( $#num )) && compset -P $(( num[2] - 1 )) \*${(q)qsep}; then - pref=() -else - (( ! nosep && (!$#num || num[2] > 1) )) && suf=( -S ${qsep} -r "$end[1]${(q)qsep[1]} \t\n\-" ) - compset -S ${(q)qsep}\* && suf=() - compset -P \*${(q)qsep} && pref=() -fi - -(( minus = argv[(ib:2:)-] )) -"${(@)argv[1,minus-1]}" "$opts[@]" -F dedup "$pref[@]" "$suf[@]" "${(@)argv[minus+1,-1]}" diff --git a/result/sw/share/zsh/5.9/functions/_service b/result/sw/share/zsh/5.9/functions/_service deleted file mode 100644 index 1216f57a..00000000 --- a/result/sw/share/zsh/5.9/functions/_service +++ /dev/null @@ -1,42 +0,0 @@ -#compdef service - -# *:: for last argument looks more like a hack but it is -# the simplest way known to me to reset $words and keep -# _sub_command happy - -# we are interested in init service only -local args actions ctx="${curcontext}argument-1:" -zstyle -T ":completion:${ctx}" tag-order && \ - zstyle ":completion:${ctx}" tag-order init - -case $OSTYPE in - freebsd<11->.*) - args=( '-j+[perform actions in specified jail]:jail:_jails' ) - ;& - freebsd*|dragonfly*) - actions=( - '(*)-r[show the results of boot time rcorder]' - '(*)-R[restart all enabled local services]' - ) - ;& - netbsd*) - _arguments -s $args \ - '(-e -R)-v[verbose]' \ - '*::service argument:_init_d' \ - + '(actions)' $actions \ - '(*)-e[show services that are enabled]' \ - '(*)-l[list all scripts in /etc/rc.d and the local startup directory]' \ - ':service name:_services' - ;; - *) - _arguments -s \ - '(-d --debug)'{-d,--debug}'[turn debugging on]' \ - '(- :)'{-h,--help}'[print help information]' \ - '(- :)'{-v,--version}'[print version information]' \ - '(-)'{-f,--full-restart}'[restart service]' \ - '(- :)'{-R,--full-restart-all}'[restart all services]' \ - '(- :)'{-s,--status-all}'[print status of all services]' \ - ':service name:_services' \ - '*::service argument: _init_d' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_services b/result/sw/share/zsh/5.9/functions/_services deleted file mode 100644 index 3dd1e123..00000000 --- a/result/sw/share/zsh/5.9/functions/_services +++ /dev/null @@ -1,36 +0,0 @@ -#autoload - -local -a inits xinetds alls -local expl ret=1 - -if [[ $OSTYPE = freebsd* ]]; then - if [[ -x /usr/sbin/service ]]; then - alls=( $(service -l) ) && ret=0 - - _wanted services expl service compadd "$@" - $alls[@] && ret=0 - fi -elif chkconfig --list > /dev/null 2>&1; then - alls=( ${(f)"$(LANGUAGE=C LANG=C LC_ALL=C chkconfig --list 2> /dev/null)"} ) - inits=( ${${${alls[1,(r)xinetd based*]}[1,-2]}/%[[:space:]]*/} ) - xinetds=( ${${${${alls[(r)xinetd based*,-1]}[2,-1]}/#[[:space:]]#}/%:*} ) - - _alternative \ - 'init:init service:compadd -a inits' \ - 'xinetd:xinetd service:compadd -a xinetds' && ret=0 -else - local -a scriptpath - local dir - # Known locations of init scripts - # C.f. Unix/Commands/_init_d - scriptpath=(/etc/init.d /etc/rc.d /etc/rc.d/init.d) - - for dir in $scriptpath; do - if [[ -d $dir ]]; then - break - fi - done - _wanted services expl service compadd "$@" - $dir/*(-*:t) && - ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_set b/result/sw/share/zsh/5.9/functions/_set deleted file mode 100644 index 27c7f3c7..00000000 --- a/result/sw/share/zsh/5.9/functions/_set +++ /dev/null @@ -1,25 +0,0 @@ -#compdef set - -noglob _arguments -s -S \ - - list '+[list names of parameters]' - others \ - '-o+[set specified option]:option:_options' \ - '+o+[unset specified option]:option:_options' \ - '-s[sort arguments in descending order]' \ - '+s[sort arguments in ascending order]' \ - '-A+[define array with specified name]:array:_arrays' \ - '+A+[replace initial elements in specified array]:array:_arrays' \ - {-,+}0[correct] {-,+}1[printexitvalue] {-,+}2[no-badpattern] \ - {-,+}3[no-nomatch] {-,+}4[globdots] {-,+}5[notify] {-,+}6[bgnice] \ - {-,+}7[ignoreeof] {-,+}8[markdirs] {-,+}9[autolist] {-,+}B[no-beep] \ - {-,+}C[no-clobber] {-,+}D[pushdtohome] {-,+}E[pushdsilent] {-,+}F[no-glob] \ - {-,+}G[nullglob] {-,+}H[rmstarsilent] {-,+}I[ignorebraces] {-,+}J[autocd] \ - {-,+}K[no-banghist] {-,+}L[sunkeyboardhack] {-,+}M[singlelinezle] \ - {-,+}N[autopushd] {-,+}O[correctall] {-,+}P[rcexpandparam] {-,+}Q[pathdirs] \ - {-,+}R[longlistjobs] {-,+}S[recexact] {-,+}T[cdablevars] \ - {-,+}U[mailwarning] {-,+}V[no-promptcr] {-,+}W[autoresume] \ - {-,+}X[listtypes] {-,+}Y[menucomplete] {-,+}Z[zle] {-,+}a[allexport] \ - {-,+}d[no-globalrcs] {-,+}e[errexit] {-,+}f[no-rcs] {-,+}g[histignorespace] \ - {-,+}h[histignoredups] {-,+}i[interactive] {-,+}k[interactivecomments] \ - {-,+}l[login] {-,+}m[monitor] {-,+}n[no-exec] {-,+}p[privileged] \ - {-,+}r[restricted] {-,+}t[singlecommand] {-,+}u[no-unset] {-,+}v[verbose] \ - {-,+}w[chaselinks] {-,+}x[xtrace] {-,+}y[shwordsplit] diff --git a/result/sw/share/zsh/5.9/functions/_set_command b/result/sw/share/zsh/5.9/functions/_set_command deleted file mode 100644 index 6b491088..00000000 --- a/result/sw/share/zsh/5.9/functions/_set_command +++ /dev/null @@ -1,31 +0,0 @@ -#autoload - -# This sets the parameters _comp_command1, _comp_command2 and _comp_command -# in the calling function. - -local command - -command="$words[1]" - -[[ -z "$command" ]] && return - -if (( $+builtins[$command] + $+functions[$command] )); then - _comp_command1="$command" - _comp_command="$_comp_command1" -elif [[ "$command[1]" = '=' ]]; then - eval _comp_command2\=$command - _comp_command1="$command[2,-1]" - _comp_command="$_comp_command2" -elif [[ "$command" = ..#/* ]]; then - _comp_command1="${PWD}/$command" - _comp_command2="${command:t}" - _comp_command="$_comp_command2" -elif [[ "$command" = */* ]]; then - _comp_command1="$command" - _comp_command2="${command:t}" - _comp_command="$_comp_command2" -else - _comp_command1="$command" - _comp_command2="$commands[$command]" - _comp_command="$_comp_command1" -fi diff --git a/result/sw/share/zsh/5.9/functions/_setfacl b/result/sw/share/zsh/5.9/functions/_setfacl deleted file mode 100644 index 14be49d9..00000000 --- a/result/sw/share/zsh/5.9/functions/_setfacl +++ /dev/null @@ -1,35 +0,0 @@ -#compdef setfacl setfacl.exe - -if _pick_variant cygwin=cygwin unix --version; then -# cygwin 1.5.25 -_arguments -s -S \ - '(-d --delete)'{-d,--delete}'[delete one or more specified ACL entries]:ACL entry' \ - '(-f --file)'{-f,--file}'[set ACL entries for FILE to ACL entries read from a ACL_FILE]:ACL file:_files' \ - '(-m --modify)'{-m,--modify}'[modify one or more specified ACL entries]:ACL entry' \ - '(-r --replace)'{-r,--replace}'[replace mask entry with maximum permissions needed for the file group class]' \ - '(-s --substitute)'{-s,--substitute}'[substitute specified ACL entries for the \[ACL of FILE\]]:ACL entry' \ - '(- *)'{-h,--help}'[output usage information and exit]' \ - '(- *)'{-v,--version}'[output version information and exit]' \ - '*: :_files' -else -_arguments -s -S \ - '(-m --modify)'{-m,--modify=}'[modify the current ACL]:ACL:' \ - '(-M --modify-file)'{-M,--modify-file=}'[read ACL entries to modify from file]:file:_files' \ - '(-x --remove)'{-x,--remove=}'[remove ACL entries]:ACL:' \ - '(-X --remove-file)'{-X,--remove-file=}'[read ACL entries to remove from file]:file:_files' \ - '(-b --remove-all)'{-b,--remove-all}'[remove all extended ACL entries]' \ - '(-k --remove-default)'{-k,--remove-default}'[remove the default ACL]' \ - '--set=[set the ACL, replacing the current ACL]:ACL:' \ - '--set-file=[read ACL entries to set from file]:file:_files' \ - '--mask[do recalculate the effective rights mask]' \ - '(-n --no-mask)'{-n,--no-mask}'[don'"'"'t recalculate the effective rights mask]' \ - '(-d --default)'{-d,--default}'[operations apply to the default ACL]' \ - '(-R --recursive)'{-R,--recursive}'[recurse into subdirectories]' \ - '(-L --logical)'{-L,--logical}'[logical walk, follow symbolic links]' \ - '(-P --physical)'{-P,--physical}'[physical walk, do not follow symbolic links]' \ - '--restore=[restore ACLs]:file:_files' \ - '--test[test mode (ACLs are not modified)]' \ - '(- *)'{-v,--version}'[display version information]' \ - '(- *)'{-h,--help}'[display help information]' \ - '*: :_files' -fi diff --git a/result/sw/share/zsh/5.9/functions/_setopt b/result/sw/share/zsh/5.9/functions/_setopt deleted file mode 100644 index 86c0965f..00000000 --- a/result/sw/share/zsh/5.9/functions/_setopt +++ /dev/null @@ -1,17 +0,0 @@ -#compdef setopt unsetopt - -local expl ret=1 -local -a onopts offopts -onopts=( ${(k)_comp_caller_options[(R)on]} printexitvalue ) -offopts=( ${(k)_comp_caller_options[(R)off]} printexitvalue ) -typeset -U onopts offopts -case $service in - setopt) onopts=(no$onopts) ;; - unsetopt) offopts=(no$offopts) ;; -esac -_wanted zsh-options expl 'zsh options (set)' \ - compadd -J 'enabled options' -M 'M:_= M:{A-Z}={a-z}' -k - onopts && ret=0 -_wanted zsh-options expl 'zsh options (unset)' \ - compadd -J 'disabled options' -M 'M:_= M:{A-Z}={a-z}' -k - offopts && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_setpriv b/result/sw/share/zsh/5.9/functions/_setpriv deleted file mode 100644 index 196f2f62..00000000 --- a/result/sw/share/zsh/5.9/functions/_setpriv +++ /dev/null @@ -1,107 +0,0 @@ -#compdef setpriv - -__setpriv_prctl_securebits_set_elements() { - local -a expl - local -a bits - - bits=( - noroot noroot_locked - no_setuid_fixup no_setuid_fixup_locked - keep_caps_locked - ) - - if ! compset -P '[+-]'; then - _description minus-or-plus expl "-/+" - compadd "${(@)expl}" -qS '' {+,-} - return - fi - - _description minus-plus-securebits expl "prctl securebit" - compadd "${(@)expl}" "$@" -a - bits -} - -__setpriv_numbered_caps() { - # The cap_ prefix. - # We override the suffix from _sequence with -S '' to stay adjacent - # to the following number. - if ! compset -P cap_; then - compadd -S '' "$@" -n - cap_ - return - fi - # A capability number; i.e. a non-negative integer. - # We can't complete integers, so no matches. - if ! compset -P '[0-9]##'; then - local -a expl - _description -x numbers expl "capability number" - compadd -S '' "${(@)expl}" -n - - return - fi - # The numbered cap expression is complete. - compadd "$@" -n - '' -} - -__setpriv_cap_set_elements() { - # '-' or '+', followed by one of the following: - # - a capability name - # - the word 'all' - # - 'cap_[0-9]+' (to specify unknown capabilities). - if ! compset -P '[+-]'; then - local -a expl - _description minus-or-plus expl "-/+" - compadd "${(@)expl}" -qS '' + - - return - fi - - # We pass through compadd options generated by _sequence. - local -a sequence_argv=( "$@" ) - - _alternative -O sequence_argv \ - 'special-words:drop/obtain all caps:(all)' \ - 'capabilities: :_capabilities' \ - 'numbered-capabilities:cap_N:__setpriv_numbered_caps' \ - # -} - -__setpriv_death_signals() { - _alternative \ - 'special-words:keep or clear:(keep clear)' \ - 'signals:UNIX signal:_signals' \ - # -} - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args - -_arguments -C -S -s \ - '(- : *)'{-h,--help}'[print help and exit]' \ - '(- : *)'{-V,--version}'[print version information and exit]' \ - '(- : *)'{-d,--dump}'[display the current privilege state]:*: :->option-dump' \ - '(--groups --init-groups --keep-groups)--clear-groups[clear supplementary groups]' \ - '(--clear-groups --init-groups --keep-groups)--groups[set supplementary groups]: : _sequence _groups' \ - '(--clear-groups --groups --init-groups)--keep-groups[preserve supplementary groups]' \ - '(--clear-groups --groups --keep-groups)--init-groups[initialize supplementary groups]' \ - '--inh-caps[set inheritable caps]: : _sequence __setpriv_cap_set_elements' \ - '--ambient-caps[set ambient caps]: : _sequence __setpriv_cap_set_elements' \ - '--bounding-set[set the cap bounding set]: : _sequence __setpriv_cap_set_elements' \ - '(- : *)--list-caps[list all known capabilities]' \ - '--no-new-privs[set NO_NEW_PRIVS]' \ - '--rgid[set real UNIX group id]:UNIX group:_groups' \ - '--egid[set effective UNIX group id]:UNIX group:_groups' \ - '--regid[set real and effective UNIX group id]:UNIX group:_groups' \ - '--ruid[set real UNIX user id]:UNIX user:_users' \ - '--euid[set effective UNIX user id]:UNIX user:_users' \ - '--reuid[set real and effective UNIX user id]:UNIX user:_users' \ - '--securebits[set "process securebits"]: : _sequence __setpriv_prctl_securebits_set_elements' \ - '--pdeathsig[keep, clear, or set parent death signal]: : __setpriv_death_signals' \ - '--selinux-label[request a selinux label]:SELinux labels: ' \ - '--apparmor-profile[request an apparmor profile]:AppArmor profiles: ' \ - '--reset-env[set environment as for a classic login shell]' \ - '*:::command:_normal' \ - && return 0 - -case $state in - option-dump) - _arguments -S '*'{-d,--dump}'[display the current privilege state]' - ;; - *) ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_setsid b/result/sw/share/zsh/5.9/functions/_setsid deleted file mode 100644 index d248925a..00000000 --- a/result/sw/share/zsh/5.9/functions/_setsid +++ /dev/null @@ -1,9 +0,0 @@ -#compdef setsid - -_arguments -s -S -A '-*' : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-c --ctty)'{-c,--ctty}'[set controlling terminal to current one]' \ - '(-f --fork)'{-f,--fork}'[always fork]' \ - '(-w --wait)'{-w,--wait}'[wait for program to exit, and use same return code]' \ - '*:: : _normal -p $service' diff --git a/result/sw/share/zsh/5.9/functions/_setup b/result/sw/share/zsh/5.9/functions/_setup deleted file mode 100644 index ca975332..00000000 --- a/result/sw/share/zsh/5.9/functions/_setup +++ /dev/null @@ -1,79 +0,0 @@ -#autoload - -local val nm="$compstate[nmatches]" - -[[ $# -eq 1 ]] && 2="$1" - -if zstyle -a ":completion:${curcontext}:$1" list-colors val; then - zmodload -i zsh/complist - if [[ "$1" = default ]]; then - _comp_colors=( "$val[@]" ) - else - _comp_colors+=( "(${2})${(@)^val:#(|\(*\)*)}" "${(M@)val:#\(*\)*}" ) - fi - -# Here is the problem mentioned in _main_complete. - -# elif [[ "$1" = default && -n "$ZLS_COLORS$ZLS_COLOURS" ]]; then -# zmodload -i zsh/complist -# ZLS_COLORS="$ZLS_COLORS$ZLS_COLOURS" - -elif [[ "$1" = default ]]; then - unset ZLS_COLORS ZLS_COLOURS -fi - -# What we'd like is to test that the show-ambiguity style pattern is more -# specific than the list-colors style pattern, but that's not possible yet -if zstyle -s ":completion:${curcontext}:$1" show-ambiguity val; then - zmodload -i zsh/complist - [[ $val = (yes|true|on) ]] && _ambiguous_color=4 || _ambiguous_color=$val -fi - -if zstyle -t ":completion:${curcontext}:$1" list-packed; then - compstate[list]="${compstate[list]} packed" -elif [[ $? -eq 1 ]]; then - compstate[list]="${compstate[list]:gs/packed//}" -else - compstate[list]="$_saved_list" -fi - -if zstyle -t ":completion:${curcontext}:$1" list-rows-first; then - compstate[list]="${compstate[list]} rows" -elif [[ $? -eq 1 ]]; then - compstate[list]="${compstate[list]:gs/rows//}" -else - compstate[list]="$_saved_list" -fi - -if zstyle -t ":completion:${curcontext}:$1" last-prompt; then - compstate[last_prompt]=yes -elif [[ $? -eq 1 ]]; then - compstate[last_prompt]='' -else - compstate[last_prompt]="$_saved_lastprompt" -fi - -if zstyle -t ":completion:${curcontext}:$1" accept-exact; then - compstate[exact]=accept -elif [[ $? -eq 1 ]]; then - compstate[exact]='' -else - compstate[exact]="$_saved_exact" -fi - -[[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] && - _menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" ) - -if zstyle -a ":completion:${curcontext}:$1" menu val; then - _last_nmatches=$nm - _last_menu_style=( "$val[@]" ) -else - _last_nmatches=-1 -fi - -[[ "$_comp_force_list" != always ]] && - zstyle -s ":completion:${curcontext}:$1" force-list val && - [[ "$val" = always || - ( "$val" = [0-9]## && - ( -z "$_comp_force_list" || _comp_force_list -gt val ) ) ]] && - _comp_force_list="$val" diff --git a/result/sw/share/zsh/5.9/functions/_setxkbmap b/result/sw/share/zsh/5.9/functions/_setxkbmap deleted file mode 100644 index 882a6f93..00000000 --- a/result/sw/share/zsh/5.9/functions/_setxkbmap +++ /dev/null @@ -1,101 +0,0 @@ -#compdef setxkbmap - -# TODO: -# model, option, symbols and types suggestions -# take -layout and -variant into account - -_setxkbmap() { - emulate -L zsh - setopt extendedglob - - # xkb files may be in different places depending on system - local dir sourcedir fullname - local -a searchdirs=(${XDG_DATA_HOME:-~/.local/share} ${(s.:.)XDG_DATA_DIRS:-/usr/lib:/usr/share:/usr/local/lib:/usr/local/share}) - for dir in $searchdirs; do - fullname="$dir/X11/xkb" - if [ -d $fullname ] ; then - sourcedir=$fullname - break - fi - done - [ -d $sourcedir ] || return 1 - - local -a arguments - - arguments=( - '-compat[compatibility map]:compatibility:_setxkbmap_compat' - '-config[configuration file]:configuration:_files' - '-display[display]:display:_x_display' - '-geometry[geometry component]:geometry:_setxkbmap_geometry' - '-model[model name]:model:' - '-option[xkb option]:option:' - '(-)'-print'[print component names]' - '-rules[rules file]:rules:_files' - '-symbols[symbols components]:symbols:' - '(-)'{-help,-h}'[display help message]' - '-synch[force synchronization]' - '-types[types components]:types:' - '(-verbose -v)'{-verbose,-v}'[set verbosity level]:verbosity:(0 1 2 3 4 5 6 7 8 9)' - '*::keyboard:_setxkbmap_dispatcher' - ) - _arguments $arguments -} - -_setxkbmap_dispatcher () { - - case $CURRENT in - 1) - _setxkbmap_layout - ;; - 2) - _setxkbmap_variant "$words[1]" - ;; - esac -} - -_setxkbmap_files () { - local dir="$1" - local label="$2" - - local -a fullpath shortpath expl - - fullpath=($sourcedir/$dir/**/*~*README(.)) - shortpath=(${fullpath#$sourcedir\/$dir\/}) - - _wanted layout expl $label compadd -a - shortpath - -} - -(( $+functions[_setxkbmap_compat] )) || -_setxkbmap_compat() { - _setxkbmap_files "compat" "compatibility" -} - -(( $+functions[_setxkbmap_layout] )) || -_setxkbmap_layout () { - _setxkbmap_files "symbols" "layout" -} - -(( $+functions[_setxkbmap_geometry] )) || -_setxkbmap_geometry () { - _setxkbmap_files "geometry" "geometry" -} - -(( $+functions[_setxkbmap_variant] )) || -_setxkbmap_variant () { - local file=$sourcedir/symbols/${1} - local -a variants lines expl - - if [ ! -f $file ]; then - _message "no such layout: ${1}" - return 1 - fi - - lines=("${(f)$(< ${file})}") - variants=(${${${(M)lines:#*xkb_symbols*\"([^\"])##\"*}##*xkb_symbols([^\"])##\"}%%\"*}) - - _wanted variant expl 'variant' compadd -a variants - -} - -_setxkbmap "$@" diff --git a/result/sw/share/zsh/5.9/functions/_sh b/result/sw/share/zsh/5.9/functions/_sh deleted file mode 100644 index f0f18d4b..00000000 --- a/result/sw/share/zsh/5.9/functions/_sh +++ /dev/null @@ -1,36 +0,0 @@ -#compdef sh ash csh dash ksh ksh88 ksh93 mksh oksh pdksh rc tcsh yash - -local bourne argv0 -local -a args all_opts=( -{{0..9},{A..Z},{a..z}} ) - -[[ $service == (csh|?csh|fish|rc) ]] || bourne=1 - -# Bourne-style shells support +x variants -# @todo Uncomment when workers/45422 is fixed -# (( bourne )) && all_opts+=( ${all_opts/#-/+} ) -# Bourne-style shells take argv[0] as the second argument to -c -(( bourne )) && argv0=':argv[0]:' - -# All of the recognised shells support at least these arguments -args=( - "(1 -)-c[execute specified command string]: :_cmdstring$argv0" - '-e[exit immediately on non-zero return]' - '-i[act as interactive shell]' - '-l[act as login shell]' - '-x[print command trace]' - '1:script file:_files' - '*:: :_files' -) -# Bourne-style shells support -o/+o option. Not all of them support -ooption in -# the same argument, but we'll allow it here for those that do -(( bourne )) && args+=( - '-o+[set specified option]:option:' - '+o+[unset specified option]:option:' -) -# Since this is a generic function we don't know what other options these shells -# support, but we don't want them to break the ones listed above, so we'll just -# ignore any other single-alphanumeric option. Obviously this doesn't account -# for long options -args+=( '!'${^${all_opts:#(${(~j<|>)${(@M)${(@M)args#(*[\*\)]|)[+-]?}%[+-]?}})}} ) - -_arguments -s -S -A '-*' : $args diff --git a/result/sw/share/zsh/5.9/functions/_shasum b/result/sw/share/zsh/5.9/functions/_shasum deleted file mode 100644 index 950a4776..00000000 --- a/result/sw/share/zsh/5.9/functions/_shasum +++ /dev/null @@ -1,24 +0,0 @@ -#compdef shasum -P shasum(|5).* - -# This function covers the `shasum` script included with Perl (and notably the -# primary SHA digest tool on macOS). See `_md5sum` for the GNU digest utilities -# and `_cksum` for the BSD ones. -# -# @todo It's possible that someone could symlink this script to `sha1sum` or -# whatever; we might want to detect that some day. - -_arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - '(: -)'{-v,--version}'[display version information]' \ - + '(sum)' \ - '(chk)'{-0,--01}'[read in BITS mode]' \ - '(chk)'{-b,--binary}'[read in binary mode]' \ - '(chk)'{-p,--portable}'[read in portable mode]' \ - '(chk)'{-t,--text}'[read in text mode]' \ - + 'chk' \ - '(sum)'{-c,--check}'[verify checksums from input files]' \ - '(sum -s -w --status --warn)'{-s,--status}'[suppress all output]' \ - '(sum -s -w --status --warn)'{-w,--warn}'[warn about each improperly formatted checksum line]' \ - + misc \ - '(-a --algorithm)'{-a+,--algorithm=}'[specify algorithm]:algorithm:(1 224 256 384 512 512224 512256)' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_showmount b/result/sw/share/zsh/5.9/functions/_showmount deleted file mode 100644 index 91309119..00000000 --- a/result/sw/share/zsh/5.9/functions/_showmount +++ /dev/null @@ -1,10 +0,0 @@ -#compdef showmount - -_arguments \ - '(-a --all)'{-a,--all}'[list both hostname and mounted dir in host:dir format]' \ - '(-d --directories)'{-d,--directories}'[list only the directories mounted by some client]' \ - '(-e --exports)'{-e,--exports}'[show server export list]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-v --version)'{-v,--version}'[version]' \ - '--no-headers[suppress descriptive headers from output]' \ - ':host:_hosts' diff --git a/result/sw/share/zsh/5.9/functions/_shred b/result/sw/share/zsh/5.9/functions/_shred deleted file mode 100644 index ce583bee..00000000 --- a/result/sw/share/zsh/5.9/functions/_shred +++ /dev/null @@ -1,19 +0,0 @@ -#compdef shred gshred - -_arguments -s -S : \ - '(: * -)--help[display help information]' \ - '(: * -)--version[display version information]' \ - '(-f --force)'{-f,--force}'[bypass lack of write permissions]' \ - '(-n --iterations)'{-n+,--iterations=}'[specify number of overwrites]:overwrites [3]' \ - '--random-source=[get random bytes from specified file]:random source file:_files' \ - '(-s --size)'{-s+,--size=}'[shred specified number of bytes]:bytes' \ - '(--remove)-u[deallocate and remove file after overwriting]' \ - '(-u)--remove=-[like -u, or specify how to remove]::how to remove [wipesync]:(( - unlink\:"use standard unlink call" - wipe\:"like unlink, but obfuscate bytes in name first" - wipesync\:"like wipe, but sync each obfuscated byte to disk" - ))' \ - '(-v --verbose)'{-v,--verbose}'[display progress]' \ - '(-x --exact)'{-x,--exact}'[do not round file sizes up to nearest block]' \ - '(-z --zero)'{-z,--zero}'[add final overwrite with zeros]' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_shuf b/result/sw/share/zsh/5.9/functions/_shuf deleted file mode 100644 index 83f42e6d..00000000 --- a/result/sw/share/zsh/5.9/functions/_shuf +++ /dev/null @@ -1,28 +0,0 @@ -#compdef shuf gshuf - -local ret=1 -local -a context line state state_descr -local -A opt_args - -_arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '(-n --head-count)'{-n+,--head-count=}'[limit output to specified number of lines]:output line limit' \ - '(-o --output)'{-o+,--output=}'[write result to specified file]:output file:_files' \ - '--random-source=[use specified file as source of random bytes]: :_files' \ - '(-r --repeat)'{-r,--repeat}'[allow output lines to repeat]' \ - '(-z --zero-terminated)'{-z,--zero-terminated}'[use NUL as line delimiter]' \ - '(-i --input-range)*: :->operands' \ - + '(excl)' \ - {-e,--echo}'[treat operands as input lines]' \ - '(:)'{-i+,--input-range=}'[treat specified numbers as input lines]:number range (x-y)' \ -&& ret=0 - -[[ $state == operands ]] && -if [[ -n ${opt_args[(i)excl-(-e|--echo)]} ]]; then - _message 'input line' && ret=0 -else - _files && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_shutdown b/result/sw/share/zsh/5.9/functions/_shutdown deleted file mode 100644 index a237b14e..00000000 --- a/result/sw/share/zsh/5.9/functions/_shutdown +++ /dev/null @@ -1,77 +0,0 @@ -#compdef shutdown - -local -a args - -if [[ -d /etc/systemd ]]; then - _arguments \ - '--help[display usage information]' \ - '(-H --halt)'{-H,--halt}'[halt the machine]' \ - '(-P --poweroff -h)'{-P,--poweroff,-h}'[power-off the machine (default)]' \ - '(-r --reboot)'{-r,--reboot}'[reboot the machine]' \ - "(--no-wall)-k[don't shutdown, just write wall message]" \ - "(-k)--no-wall[don't send a wall message]" \ - '-c[cancel pending shutdown]' \ - '1: :_guard "^-*" "time (now/hh\:mm/+mins)"' \ - '*:warning message' - return -fi - -case $OSTYPE in - *bsd*|dragonfly*|linux*|darwin*) - args=( - '-h[halt the system after shutdown]' - '-r[reboot the system]' - '-k[kick everybody off]' - '-n[prevent file system cache from being flushed]' - '1: :_guard "^-*" "time (now/hh\:mm/+mins)"' - '*:warning message' - ) - ;| - *bsd*|dragonfly*) - args+=( - '-p[turn off power after shutdown]' - ) - ;| - (net|open)bsd*) - args+=( - '-d[cause system to perform a dump]' - '-f[create /fastboot so that file systems will not be checked during the next boot]' - ) - ;| - freebsd*|dragonfly*) - args+=( - '-o[execute halt or reboot instead of sending a signal to init]' - ) - ;| - freebsd<12->.*) - args+=( - '-c[power cycle the system instead of halting if possible]' - ) - ;; - netbsd*) - args+=( - '-b[specify boot string to pass to reboot]:boot string' - '-v[enable verbose console messages]' - '-x[enable debug console messages]' - '-z[silence some console messages]' - '-D[prevent shutdown from detaching from the tty]' - ) - ;; - darwin*) - args+=( - '-o[execute halt or reboot instead of sending a signal to launchd]' - '-s[put the system to sleep]' - '-u[with -h, wait 5 minutes before removing power]' - ) - ;; - solaris2.<11->) args=( '(-i)-r[reboot]' ) ;& - solaris*) - args+=( - '(-r)-i+[specify init-state]:init state:((0\:stop 1\:administrative s\:single\ user 5 6\:reboot))' - '-y[pre-answer yes to confirmation question]' - '-g+[specify grace period]:grace period (seconds) [60]' - ) - ;; -esac - -_arguments $args diff --git a/result/sw/share/zsh/5.9/functions/_signals b/result/sw/share/zsh/5.9/functions/_signals deleted file mode 100644 index ffb01eba..00000000 --- a/result/sw/share/zsh/5.9/functions/_signals +++ /dev/null @@ -1,48 +0,0 @@ -#autoload - -# Options (only in separate words): -# -# -a use all signals (even the pseudo-signals) -# -p needs a `-' prefix -# -s SIG prefix allowed -# -# A `-' or `--' as the first argument is ignored. - -local expl minus pre sigs -local first last # keep these as strings for -z/-n tests - -zparseopts -D -K -E 'p=minus' 'a=last' 's=pre' -if [[ -z "$last" ]]; then - first=2 - last=-3 -else - first=1 - last=-1 -fi -[[ -n "$minus" ]] && minus='-' - -[[ "$1" = -(|-) ]] && shift - -if [[ -z "$minus" ]] || - ! zstyle -T ":completion:${curcontext}:signals" prefix-needed || - [[ -prefix -* ]]; then - local disp tmp - - if zstyle -t ":completion:${curcontext}:signals" prefix-hidden; then - tmp=( "${(@)signals[first,last]}" ) - disp=(-d tmp) - else - disp=() - fi - - if [[ -n "$pre" && $PREFIX = ${minus}S* ]]; then - sigs=( "${minus}SIG${(@)^${(@)signals[first,last]:#<->}}" ) - (( $#disp )) && tmp=( "$tmp[@]" "${(@)signals[first,last]}" ) - else - sigs=() - fi - - _wanted signals expl signal \ - compadd "$@" "$disp[@]" -M 'm:{a-z}={A-Z}' - \ - "${minus}${(@)^signals[first,last]}" "$sigs[@]" -fi diff --git a/result/sw/share/zsh/5.9/functions/_signify b/result/sw/share/zsh/5.9/functions/_signify deleted file mode 100644 index 91e97e81..00000000 --- a/result/sw/share/zsh/5.9/functions/_signify +++ /dev/null @@ -1,33 +0,0 @@ -#compdef signify - -_arguments -s -S -A "-*" : \ - - checksum \ - '-C[verify a signed checksum list and the checksum for each file]' \ - '-p+[public key]:public key:_files' \ - '-q[quiet mode]' \ - '-t+[specify key type]:key type' \ - '-x+[specify signature file]:signature file:_files' \ - '*:file:_files' \ - - generate \ - '-G[generate a new key pair]' \ - '-c+[specify comment]:comment' \ - "-n[don't ask for passphrase]" \ - '-p+[specify public key file]:public key:_files' \ - '-s+[specify secret key file]:secret key:_files' \ - - sign \ - '-S[sign a message and create a signature]' \ - '-e[embed the message after the signature]' \ - '-n[store a zero time stamp in the gzip(1) header (with -z)]' \ - '-m+[specify file containing message to sign]:message file:_files' \ - '-s+[specify secret key file]:secret key:_files' \ - '-x+[specify signature file]:signature file:_files' \ - '-z[embed signature in gzip header]' \ - - verify \ - '-V[verify the message and signature match]' \ - '-e[extract the message from the signature]' \ - '-m+[specify file containing message to verify or destination to extract]:message file:_files' \ - '-p+[specify public key file]:public key:_files' \ - '-q[quiet mode]' \ - '-t+[restrict verification to specified key type]:key type:((base\:"base sets" fw\:firmware pkg\:packages syspatch\:syspatches))' \ - '-x+[specify signature file]:signature file:_files' \ - '-z[verify signature in gzip header]' diff --git a/result/sw/share/zsh/5.9/functions/_sisu b/result/sw/share/zsh/5.9/functions/_sisu deleted file mode 100644 index 0250581c..00000000 --- a/result/sw/share/zsh/5.9/functions/_sisu +++ /dev/null @@ -1,62 +0,0 @@ -#compdef sisu - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_arguments -s -C -M 'r:|[_-]=* r:|=*' \ - '(--convert --to -C)-U[prints to screen url output map of available output possibilities]' \ - '(--convert --to -C)-u[url mapping of output files for requested processing flags]' \ - '(--convert --to -C)-V[more verbose than -v]' \ - '(--convert --to -C)-v[verbose]' \ - '--no-ocn[-\[hHp\]switches off object citation numbering]' \ - '--no-annotate[-\[mhHpoxXabN\] strips output text of additional editors endnotes]' \ - '(--convert --to -C)-A[plaintext with dos line-feeds, footnotes follow paragraphs in which they occur]' \ - '(--convert --to -C)-a[plaintext with Unix line-feeds, footnotes follow paragraphs in which they occur]' \ - '(--convert --to -C)-b[XHTML output]' \ - '(- *)-C[initialise site]' \ - '(--convert --to -C)-c[toggle screen color on or off depending on set default]' \ - '(--convert --to -C)-E[plaintext with dos line-feeds, endnotes following main text]' \ - '(--convert --to -C)-e[plaintext with Unix line-feeds, endnotes following main text]' \ - '(--convert --to -C)-F[generate sample cgi web search form \[--webserv=webrick for sisu webrick url\]]' \ - '(--convert --to -C -h)-H[HTML output, without link suffixes]' \ - '(--convert --to -C -H)-h[HTML output]' \ - '(--convert --to -C)-I[texinfo output, not maintained]' \ - '(--convert --to -C)-L[print license info]' \ - '(--convert --to -C)-M[maintenance mode, retain intermediate processing files]' \ - '(--convert --to -C)-m[create intermediate markup file, metaverse, assumed for most output instructions]' \ - '(--convert --to -C)-N[document content certificate, output document digests]' \ - '(--convert --to -C)-n[skip intermediate markup, skip -m]' \ - '(--convert --to -C)-o[Open Document text format output]' \ - '(--convert --to -C)-p[LaTeX pdf output]' \ - '(--convert --to -C)-q[quiet mode]' \ - '(--convert --to -C)-R[post output to remote host using rsync, requires pre-configuration]' \ - '(--convert --to -C)-r[post output to remote host using scp, requires pre-configuration]' \ - '(--convert --to -C)-S[produces and shares tarred gzipped markup source document with associated images etc.]' \ - '(--convert --to -C)-s[shares markup source]' \ - '(--convert --to -C)-t[termsheet, preprocessing]' \ - '(- *)-W[starts ruby webrick server]' \ - '(--convert --to -C)-w[concordance file]' \ - '(--convert --to -C)-X[XML dom style]' \ - '(--convert --to -C)-x[XML sax style]' \ - '(--convert --to -C)-y[output summary page, manifest of existing generated output]' \ - '(--convert --to -C)-Z[zap delete/destroy output]' \ - '--import[-\[Dd\] imports document to database]' \ - '--update[-\[Dd\] updates document in database]' \ - '--remove[-\[Dd\] removes document from database]' \ - '--dropall[-\[Dd\] drops database, tables, indexes, all!]' \ - '--create[-\[Dd\] creates new database - tables, indexes, etc.]' \ - '--recreate[-\[Dd\] drops database, killing data and creates new empty database - tables, indexes, etc.]' \ - '(--convert --to -C)-D[postgresql database instruction]' \ - '(--convert --to -C)-d[sqlite database instruction]' \ - '(- *)--help[display help information]' \ - '(--convert --to -C -2 -3 -4 -5)-1[shortcut, initial default -mNHwpy]' \ - '(--convert --to -C -1 -3 -4 -5)-2[shortcut, initial default -mNHwpaoy]' \ - '(--convert --to -C -1 -2 -4 -5)-3[shortcut, initial default -mNHwpaobxXy]' \ - '(--convert --to -C -1 -2 -3 -5)-4[shortcut, initial default -mNHwpaobxXDy --import]' \ - '(--convert --to -C -1 -2 -3 -4)-5[shortcut, initial default -mNHwpaobxXDy --update]' \ - '--to=node[XML node based input representation, experimental]' \ - '--to=sax[XML sax based input representation, experimental]' \ - '--to=dom[XML dom based input representation, experimental]' \ - '--convert=footnotes[embedded footnotes]' \ - '--to=current[current markup]' \ - '*:SiSU files:_files -g "*.(sst|ssm)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_slabtop b/result/sw/share/zsh/5.9/functions/_slabtop deleted file mode 100644 index 5c8919d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_slabtop +++ /dev/null @@ -1,22 +0,0 @@ -#compdef slabtop -# based on procps-ng-3.3.15 - -local -a criteria=( - 'a:number of active objects' - 'b:objects per slab' - 'c:cache size' - 'l:number of slabs' - 'v:number of active slabs' - 'n:name' - 'o:number of objects' - 'p:page per slab' - 's:object size' - 'u:cache utilization' -) - -_arguments -s \ - '(-d --delay -o --once)'{-d+,--delay=}'[specify the delay between updates]:seconds: ' \ - '(-s --sort)'{-s+,--sort=}'[specify the sort criteria]:criteria:(($criteria))' \ - '(-d --delay -o --once)'{-o,--once}'[display the output once and exit]' \ - '(-)'{-V,--version}'[display version information and exit]' \ - '(-)'{-h,--help}'[display usage information and exit]' diff --git a/result/sw/share/zsh/5.9/functions/_slrn b/result/sw/share/zsh/5.9/functions/_slrn deleted file mode 100644 index 299b2a74..00000000 --- a/result/sw/share/zsh/5.9/functions/_slrn +++ /dev/null @@ -1,25 +0,0 @@ -#compdef slrn - -_arguments \ - '-n[do not check for new groups]' \ - '-h[NNTP host]:NNTP host:_hosts' \ - '-p[NNTP port]:NNTP port:_ports' \ - '-f[name of the newsrc file to use]:newsrc file:_files' \ - '(-C\-)-C[use colors]' \ - "(-C)-C\-[don't use colors]" \ - '-d[get new text descriptions of each group from server]' \ - '-i[specify initialization file to use]:config file:_files' \ - '-D-[add predefined preprocessing token]' \ - '-k[do not process score file]' \ - '-k0[process score file but inhibit expensive scores]' \ - '-a[use active file for getting new news]' \ - '-m[force XTerm mouse reporting]' \ - '-w[wait for a key before switching to full screen mode]' \ - '--create[create a newsrc file by getting list of groups from server]' \ - '--debug[write debugging output to specified file]:debug file:_files' \ - '(-)--help[show help information]' \ - '--inews[use an external inews program to post articles]' \ - '--kill-log[keep a log of articles killed by the scorefile]:log file:_files' \ - '--nntp[use builtin NNTP support]' \ - '--pull[spool outgoing articles locally]' \ - '--spool[read directly from spool]' \ diff --git a/result/sw/share/zsh/5.9/functions/_smartmontools b/result/sw/share/zsh/5.9/functions/_smartmontools deleted file mode 100644 index fe649666..00000000 --- a/result/sw/share/zsh/5.9/functions/_smartmontools +++ /dev/null @@ -1,61 +0,0 @@ -#compdef smartctl - -local context state state_descr line - -_arguments -s -S \ - '(H -i --info)'{-i,--info}'[show identity information for device]' \ - '(H)--identify=-[show words and bits from identification data]: : _values -S "" "words and bits" - "(n v)b[print all bits]" - "w[print all words]" - "(b v)n[suppress printing bits]" - "(b n)v[print all bits from valid words]"' \ - '(H)*'{-g+,--get=}'[get device setting]:setting:(all aam apm lookahead security wcache rcache wcreorder)' \ - '(H -a --all -x --xall -H --health -i --info -c --capabilities -A --attributes --scan --scan-open)'{-a,--all}'[show all SMART information for device]' \ - '(H -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes --scan --scan-open)'{-x,--xall}'[show all information for device]' \ - '(H 1 --scan-open --identify -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes)--scan[scan for devices]' \ - '(H 1 --scan --identify -x --xall -a --all -H --health -i --info -c --capabilities -A --attributes)--scan-open[scan for devices and try to open each device]' \ - '(H -q --quietmode)'{-q+,--quietmode=}'[set smartctl quiet mode]:quiet mode:(errorsonly silent noserial)' \ - '(H -d --device)'{-d+,--device=}'[specify device type]:device type:(ata scsi nvme sat usbcypress usbjmicron usbprolific usbsunplus marvell areca 3ware hpt megaraid cciss auto test)' \ - '(H)*'{-T+,--tolerance=}'[specify how tolerant smartctl should be of ATA SMART command failures]:tolerance:(normal conservative permissive verypermissive)' \ - '(H -b --badsum)'{-b+,--badsum=}'[set action if checksum error is detected]:action:(warn exit ignore)' \ - '(H)*'{-r+,--report=}'[report transactions]:transaction type:(ioctl ataioctl scsiioctl nvmeioctl)' \ - '(H -n --nocheck)'{-n+,--nocheck=}'[exit if the device is in a low-power mode]:power mode causing exit:(never sleep standby idle)' \ - '(H -s --smart)--smart=[enable/disable SMART on device]:enable:(on off)' \ - '(H -o --offlineauto)'{-o+,--offlineauto=}'[enable/disable automatic offline test on device]:enable:(on off)' \ - '(H -S --saveauto)'{-S+,--saveauto=}'[enable/disable attribute autosave on device]:enable:(on off)' \ - '(H -s --set)'{-s+,--set=}'[enable/disable/change device setting]:setting:->settings' \ - '(H -H --health)'{-H,--health}'[show device SMART health status]' \ - '(H -c --capabilities)'{-c,--capabilities}'[show device SMART capabilities]' \ - '(H -A --attributes)'{-A,--attributes}'[show device SMART vendor-specific attributes and values]' \ - '(H)*'{-f+,--format=}'[set output format for attributes]:format:(old brief hex,id hex,val hex)' \ - '(H)*'{-l+,--log=}'[show device log]:log:(error selftest selective directory xerror xselftest background sasphy sataphy scttemp scttempsts scttemphist scttempint scterc devstat ssd gplog smartlog nvmelog)' \ - '(H)*'{-v+,--vendorattribute=}'[set display option for vendor attribute]:vendor attribute:->vendorattrs' \ - '(H -F --firmwarebug)'{-F+,--firmwarebug=}'[use firmware bug workaround]:bug:(none nologdir samsung samsung2 samsung3 xerrorlba swapid)' \ - '(H -P --presets)'{-P+,--presets=}'[specify whether to use drive-specific presets]:preset usage:(use ignore show showall)' \ - '(H -B --drivedb)'{-B+,--drivedb=}'[read drive database from file]:file:->plusfiles' \ - '(H -t --test)'{-t+,--test=}'[run specified self-test]:self-test:(offline short long conveyance force vendor select pending afterselect,on afterselect,off scttempint)' \ - '(H -C --captive)'{-C,--captive}'[run self-test in captive mode]' \ - '(H -X --abort)'{-X,--abort}'[abort any non-captive self-test]' \ - '(H --scan --scan-open)1:disk device:_files -g "*(-%)" -P / -W /' \ - + 'H' \ - '(- 1)'{-h,--help,--usage}'[display help information]' \ - '(- 1)'{-V,--version,--copyright,--license}'[display version, licence and build information]' && return - -case $state in - vendorattrs) - _wanted -C $context vendor-attributes expl 'vendor attribute' compadd - \ - ${${${(f)"$(_call_program vendor-attributes $words[1] -v help)"}[(r)*help*,-1]#$'\t'}%%\[*} - ;; - plusfiles) - compset -P \+ || state_descr[1]+=" (prefix with + to prepend entries)" - _wanted -C $context files expl $state_descr _files - ;; - settings) - local values - [[ $context = option-s-1 ]] && - values+=( {on\[en,off\[dis}'able SMART on device]' ) - - _values -S , setting $values {aam,apm,standby}':value' \ - {lookahead,{w,r}cache,wcreorder}':enable:(on off)' security security-freeze - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_smit b/result/sw/share/zsh/5.9/functions/_smit deleted file mode 100644 index f0222950..00000000 --- a/result/sw/share/zsh/5.9/functions/_smit +++ /dev/null @@ -1,25 +0,0 @@ -#compdef smit smitty - -local state line expl curcontext="$curcontext" - -_arguments -C \ - '-s[specify smit.script file]:smit.script file:_files' \ - '-l[specify smit.log file]:smit.log file:_files' \ - '-C[use curses interface]' \ - '-D[debug mode]' \ - '-d[FastPath is dialogue screen]' \ - '-f[allow redirection of stdin and stdout]' \ - '-h[display help/usage message]' \ - '-M[start smit in windows mode]' \ - '-m[FastPath is menu screen]' \ - '-n[FastPath is selector screen]' \ - '-o[alternate SMIT/ODM database]' \ - '-t[generate trace information]' \ - '-v[verbose]' \ - '-x[do not run any execute commands]' \ - '-X[do not run any commands]' \ - '1:fast path:->fastpath' - -[[ "$state" = fastpath ]] && (( $+commands[odmget] )) && - _wanted fastpaths expl 'fast path' compadd \ - $(odmget sm_cmd_hdr sm_name_hdr|sed -n 's/^ id = \"\(.*\)\"/\1/p') diff --git a/result/sw/share/zsh/5.9/functions/_snoop b/result/sw/share/zsh/5.9/functions/_snoop deleted file mode 100644 index 77798a73..00000000 --- a/result/sw/share/zsh/5.9/functions/_snoop +++ /dev/null @@ -1,32 +0,0 @@ -#compdef snoop - -local -a args - -[[ $OSTYPE = solaris2.<11-> ]] && args=( - '-I+[capture packets from specified interface]:interface:_net_interfaces' -) -_arguments -s -S -A "-*" \ - '-a[generate audio signal on receiving packets]' \ - '-c+[quit after capturing specified number of packets]:number of packets' \ - '-d+[capture packets from specified device]:device:_net_interfaces' \ - '-i+[display packets previously captured to file]:file:_files' \ - '-n+[use file as IP address-to-name mapping table]:file:_files' \ - '-o+[save captured packets to file]:file:_files' \ - '-p+[display one or more packets from captured file]:first packet number [ , last packet number]' \ - "-q[don't display packet counter when capturing to file]" \ - "-r[don't resolve IP addresses to names]" \ - '-s[truncate each packet after specified number of bytes]:length (bytes)' \ - '-t+[specify time-stamp presentation]:time-stamp mode:(( - r\:relative\ to\ first\ packet - a\:absolute - d\:delta\ -\ since\ previous\ packet - ))' \ - '-C[list code generated from filter expression]' \ - '-D[display number of packets dropped on the summary line]' \ - '-N[create IP-address-to-name mapping table file (used with -i)]' \ - '-P[capture packets in non-promiscuous mode]' \ - '-S[display size of the entire link layer frame in bytes]' \ - '-V[verbose summary mode]' \ - '-v[verbose mode]' \ - '-x+[display offset and length of packet in HEX and ASCII]:offset [ , length]' \ - '*::expression:= _bpf_filters' diff --git a/result/sw/share/zsh/5.9/functions/_socket b/result/sw/share/zsh/5.9/functions/_socket deleted file mode 100644 index 9db31c9a..00000000 --- a/result/sw/share/zsh/5.9/functions/_socket +++ /dev/null @@ -1,56 +0,0 @@ -#compdef socket - -# Style used: -# -# hosts-ports -# The style that contains pairs `host:port'. - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -[[ $CURRENT -eq 2 ]] && - { ! zstyle -T ":completion:${curcontext}:options" prefix-needed || - [[ "$PREFIX" = -* ]] } && - _wanted options expl option compadd - -version - -_arguments -C -s \ - '-b[background]' \ - '-c[crlf]' \ - '-f[fork]' \ - '-q[quit]' \ - '-r[read only]' \ - '-v[verbose]' \ - '-w[write only]' \ - '-s[server]' \ - '-l[loop]' \ - '-p[program]:command:->command' \ - ':arg1:->arg1' \ - ':arg2:->arg2' && ret=0 - -case "$state" in -command) - compset -q - if [[ $CURRENT -eq 1 ]]; then - _command_names -e "$@" && ret=0 - else - _normal && ret=0 - fi - ;; - -arg1) - if (( $+opt_args[-s] )); then - _ports && ret=0 - else - _wanted hosts expl 'host' _combination '' hosts-ports hosts - && ret=0 - fi - ;; - -arg2) - if (( ! $+opt_args[-s] )); then - _wanted ports expl 'port to connect' \ - _combination '' hosts-ports hosts="${line[1]:q}" ports - && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_sockstat b/result/sw/share/zsh/5.9/functions/_sockstat deleted file mode 100644 index 1d7973db..00000000 --- a/result/sw/share/zsh/5.9/functions/_sockstat +++ /dev/null @@ -1,55 +0,0 @@ -#compdef sockstat -local -a args protocols -local proto - -case $OSTYPE in - *bsd*) - args=( - '-4[show AF_INET (IPv4) sockets]' - '-6[show AF_INET6 (IPv6) sockets]' - '-c[show connected sockets]' - '-l[show listening sockets]' - '*-p+[specify port number]:port numbers (comma delimited)' - '-u[show AF_LOCAL (UNIX) sockets]' - ) - ;| - freebsd<12->.*) - args+=( - '-S[display the protocol stack if applicable]' - '-U[display the remote UDP encapsulation port number if applicable]' - '-v[verbose mode]' - '-w[use wider field size for displaying addresses]' - ) - ;| - freebsd*) - for proto in ${${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]*}}; do - case $proto in - *\#*) - protocols+=(${${${(j: :)${(q)=proto}}// *\# /\[}/%/\]}) - ;; - *) - protocols+=(${${(j: :)${=proto}}// */}) - esac - done - - args+=( - '*-j[show sockets belonging to JID]: : _jails -0 -o jid' - '-L[exclude loopback]' - '*-P+[specify protocol]: : _values -s , protocols $protocols' - '-s[display protocol state if applicable]' - ) - ;; - netbsd*) - args+=( - '*-f+[only show specified address family]:address family:(inet inet6 local unix)' - '-n[no symbolic names for addresses/ports]' - ) - ;; -esac - -if (( $#args )); then - _arguments -s -w : $args - return -fi - -_default diff --git a/result/sw/share/zsh/5.9/functions/_softwareupdate b/result/sw/share/zsh/5.9/functions/_softwareupdate deleted file mode 100644 index 6054fd76..00000000 --- a/result/sw/share/zsh/5.9/functions/_softwareupdate +++ /dev/null @@ -1,75 +0,0 @@ -#compdef softwareupdate - -_softwareupdate_ignored_update_name() { - if [[ -z "$_softwareupdate_ignored_updates" ]]; then - local res="$(_call_program pkgs softwareupdate --ignored)" - _softwareupdate_ignored_updates=("${(Qs/, /)${${res#Current ignored updates: \(}%\)}}") - fi - if (( ${#_softwareupdate_ignored_updates} > 0 )); then - _wanted pkgs expl "ignored package" compadd -a _softwareupdate_ignored_updates && return 0 - fi - return 1 -} - -_softwareupdate_update_name() { - local name line - if [[ -z "$_softwareupdate_updates" ]]; then - _softwareupdate_updates=() - for line in ${(f)"$(_call_program pkgs softwareupdate --list)"}; do - if [[ $line == ' '* ]]; then - name="${line# ? }" - elif [[ -n "$name" ]]; then - _softwareupdate_updates+=("$name:${line# }") - name="" - fi - done - fi - if (( ${#_softwareupdate_updates} > 0 )); then - _describe -t pkgs "update name" _softwareupdate_updates && return 0 - fi - return 1 -} - -_softwareupdate() { - local context state line expl - typeset -A opt_args - - _arguments -R \ - '(-h --help -l --list)-q[quiet mode]' \ - {-l,--list}'[list all available updates]:*:' \ - {-d,--download}'[download to directory set in InternetConfig]:*:' \ - {-i,--install}'[install (requires root)]:*: :->install' \ - '--ignored[show or manage ignored updates list (per-user)]:*:: :->ignored' \ - '--schedule[scheduler preferences (per-user)]:automatic checking:(on off)' \ - {-h,--help}'[print command usage]:*:' && return 0 - - case "$state" in - install) - _arguments \ - '(* -a --all)'{-a,--all}'[all available active updates]' \ - '(* -r --req)'{-r,--req}'[all required active updates]' \ - '*:update name:_softwareupdate_update_name' && return 0 - ;; - ignored) - local -a ignored_subcmd - ignored_subcmd=(add remove) - - if (( CURRENT == 1 )); then - _describe -t commands "subcommand" ignored_subcmd && return 0 - fi - case $words[1] in - add) - _softwareupdate_update_name && return 0 - ;; - remove) - _arguments \ - '(* -a --all)'{-a,--all}'[all available active updates]' \ - '*:update name:_softwareupdate_ignored_update_name' && return 0 - ;; - esac - ;; - esac - return 1 -} - -_softwareupdate "$@" diff --git a/result/sw/share/zsh/5.9/functions/_sort b/result/sw/share/zsh/5.9/functions/_sort deleted file mode 100644 index a463cf4c..00000000 --- a/result/sw/share/zsh/5.9/functions/_sort +++ /dev/null @@ -1,80 +0,0 @@ -#compdef sort gsort - -local args variant -local ordering='(-d --dictionary-order -g --general-numeric-sort -M --month-sort -h --human-numeric-sort -n --numeric-sort --sort -V --version-sort --help --version)' - -args=( - "(-c --check -C -m --merge -s --stable)-c[check whether input is sorted; don't sort]" - '(-c --check -C -m --merge)'{-m,--merge}"[merge already sorted files; don't sort]" - '(-o --output)'{-o+,--output=}'[write result to file instead of standard output]:output file:_files' - \*{-T+,--temporary-directory=}'[specify directory for temporary files]:directory:_directories' - '(-u --unique)'{-u,--unique}'[with -c, check for strict ordering; without -c, output only the first of an equal run]' - "$ordering"{-d,--dictionary-order}'[consider only blanks and alphanumeric characters]' - '(-f --ignore-case)'{-f,--ignore-case}'[fold lower case to upper case characters]' - '(-i --ignore-nonprinting)'{-i,--ignore-nonprinting}'[consider only printable characters]' - "$ordering"{-n,--numeric-sort}'[compare according to string numerical value]' - '(-r --reverse)'{-r,--reverse}'[reverse the result of comparisons]' - '(-b --ignore-leading-blanks)'{-b,--ignore-leading-blanks}'[ignore leading blanks]' - '(-t --field-separator)'{-t+,--field-separator=}'[specify field separator instead of non-blank to blank transition]:separator' - \*{-k+,--key=}'[specified start and end fields for key]:key field' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - dragonfly*|netbsd*|openbsd*|freebsd*|darwin*|gnu) - args+=( - '(-s --stable)'{-s,--stable}'[preserve original order of lines with the same key]' - ) - ;| - netbsd*|openbsd*|freebsd*|darwin*|gnu|solaris2.<11->) - args+=( - "(-c --check -C)-C[check whether input is sorted silently; don't sort]" - ) - ;| - openbsd*|freebsd*|darwin*|gnu) - args+=( - '(-z --zero-terminated)'{-z,--zero-terminated}'[end lines with 0 byte, not newline]' - ) - ;| - freebsd*|darwin*|gnu) - args+=( - "(-c --check -C)--check=-[check whether input is sorted; don't sort]::bad line handling:(diagnose-first silent quiet)" - "$ordering"{-g,--general-numeric-sort}'[compare according to general numeric value]' - "$ordering"{-M,--month-sort}"[compare (unknown) < 'JAN' < ... < 'DEC']" - "$ordering"{-h,--human-numeric-sort}'[compare human readable numbers (e.g., 2K 1G)]' - "$ordering"{-R,--random-sort}'[sort by random hash of keys]' - "$ordering"{-V,--version-sort}'[sort version numbers]' - "$ordering--sort=[specify comparator]:comparator:(general-numeric human-numeric month numeric random version)" - '(-i --ignore-nonprinting)'{-i,--ignore-nonprinting}'[consider only printable characters]' - '--random-source=[get random bytes from file]:file:_files' - '--batch-size=[maximum inputs to merge]:number' - '--compress-program=[specify program to compress temporary files with]:program:(gzip bzip2 lzop xz)' - '--debug[annotate the part of the line used to sort]' - '(*)--files0-from=[read input files from file]:file:_files' - '(-S --buffer-size)'{-S+,--buffer-size=}'[specify size for main memory buffer]:size' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - ;| - netbsd*|dragonfly*) - args+=( - "${ordering}-l[sort by string length of field]" - "(-s)-S[don't use stable sort]" - ) - ;| - openbsd*) - args+=( - '-H[use a merge sort instead of a radix sort]' - '-R[specify record separator]:separator' - ) - ;| - gnu) - args+=( '--parallel=[set number of sorts run concurrently]:number' ) - ;; - freebsd*|darwin*) - args+=( --radixsort --mergesort --qsort --heapsort --mmap ) - ;; - *) args=( "${(@)args:#(|\(*\))(|\*)--*}" ) ;; -esac - -_arguments -s -S $args '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_source b/result/sw/share/zsh/5.9/functions/_source deleted file mode 100644 index 96b6c21b..00000000 --- a/result/sw/share/zsh/5.9/functions/_source +++ /dev/null @@ -1,14 +0,0 @@ -#compdef source . - -if [[ CURRENT -ge 3 ]]; then - compset -n 2 - _normal -else - if [[ -prefix */ && ! -o pathdirs ]]; then - _files - elif [[ $service = . ]]; then - _files -W path - else - _files -W "(. $path)" - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_spamassassin b/result/sw/share/zsh/5.9/functions/_spamassassin deleted file mode 100644 index ffe6c7d5..00000000 --- a/result/sw/share/zsh/5.9/functions/_spamassassin +++ /dev/null @@ -1,15 +0,0 @@ -#compdef spamassassin - -_arguments \ - '-P[pipe to STDOUT]' \ - '-e[error code on spam]' \ - '-h[help]' \ - '-t[test mode]' \ - '-r[report message as verified spam]' \ - '-w[set from addr of reply mail]:fromaddr:_user_at_host' \ - '-l[log to file]:filename:_files' \ - '-L[perform only local tests]' \ - '-d[remove SpamAssassin markup]' \ - '-c[config]:config file:_files' \ - '-p[score preferences]:preference file:_files' \ - '-D[diagnostic output]' diff --git a/result/sw/share/zsh/5.9/functions/_split b/result/sw/share/zsh/5.9/functions/_split deleted file mode 100644 index c5ab0dc9..00000000 --- a/result/sw/share/zsh/5.9/functions/_split +++ /dev/null @@ -1,64 +0,0 @@ -#compdef split gsplit - -local curcontext="$curcontext" variant ret=1 -local -A opt_args -local -a state line args - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( - '-a+[generate suffixes of specified length]:length [2]' \ - '(-l -p -n)-b+[put specified size in bytes in each output file]:size (bytes)' \ - '(-b -p -n)-l+[put specified number of lines/records in each output file]:lines' \ - '1:file:_files' \ - '2: :_guard "^-*" "prefix [x]"' -) - -case $variant in - gnu) - args=( -C - '(H -a --suffix-length)'{-a+,--suffix-length=}'[generate suffixes of specified length]:length [2]' - '(H)--additional-suffix=[append an additional suffix to file names]:suffix' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-b+,--bytes=}'[put specified size in bytes in each output file]:size (bytes)' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-C+,--line-bytes=}'[put whole lines/records up to size limit in each output file]:size (bytes)' - '(H --numeric-suffixes -x --hex-suffixes)-d[use numeric suffixes starting at 0]' - '(H -d -x --hex-suffixes)--numeric-suffixes=-[use numeric suffixes]::start value [0]' - '(H -d --numeric-suffixes --hex-suffixes)-x[use hex suffixes starting at 0]' - '(H -d --numeric-suffixes -x)--hex-suffixes=-[use hex suffixes]::start value [0]' - '(H -e --elide-empty-files)'{-e,--elide-empty-files}"[don't generate empty output files with '-n']" - '(H)--filter=[write to shell command; filename is in $FILE]:command:_cmdstring' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-l+,--lines=}'[put specified number of lines/records in each output file]:lines' - '(H -b --bytes -C --line-bytes -l --lines -n --number)'{-n+,--number=}'[generate specified number of output files]:chunks:->chunks' - '(H -t --separator)'{-t+,--separator=}'[use specified record separator instead of newline]:separator' - '(H -u --unbuffered)'{-u,--unbuffered}"[immediately copy input to output with '-n r/...']" - '(H)--verbose[print a diagnostic just before each output file is opened]' - '(H)1:file:_files' - '(H)2: :_guard "^-*" "prefix [x]"' - + 'H' - '(- 1 2)--help[display usage information]' - '(- 1 2)--version[display version information]' - ) - ;; - (free|net)bsd*) - args+=( '(-b -l -p)-n+[generate specified number of output files]:output files' ) - ;| - darwin*|freebsd*) - args+=( - '(-b -l -n)-p+[split the file whenever a line matches specified pattern]:pattern' - ) - ;| - freebsd*) args+=( '-d[use numeric suffixes]' ) ;; -esac - -_arguments -s -S $args && ret=0 - -if [[ $state = chunks ]]; then - if [[ ! -prefix *[0-9/]* ]]; then - _alternative 'modifiers: :_values -s/ "modifier" "l[don'\''t split lines/records]" "r[round robin distribution]"' \ - 'lines: :_guard "[0-9/]#" lines' && ret=0 - else - _message -e lines lines - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_sqlite b/result/sw/share/zsh/5.9/functions/_sqlite deleted file mode 100644 index 7ef3c6da..00000000 --- a/result/sw/share/zsh/5.9/functions/_sqlite +++ /dev/null @@ -1,82 +0,0 @@ -#compdef sqlite sqlite3 - -local opt display_opt sqlite3 ign -local -a options output_modes exclusive dashes - -[[ $service = sqlite3 ]] && sqlite3=true || unset sqlite3 - -# sqlite options require a single hyphen, but -# sqlite3 allows options with one or two -dashes=( '' ) -(( $+sqlite3 )) && dashes+=( - ) - -options=( - '(-init --init)'$^dashes'-init[startup file]:file containing SQLite commands:_files' - $^dashes'-echo[echo commands]' -) - -exclusive=( {,-}-{no,}header ) -options+=( - "($exclusive)"$^dashes'-header[turn headers on]' - "($exclusive)"$^dashes'-noheader[turn headers off]' -) - -output_modes=( column HTML line list ) -(( $+sqlite3 )) && output_modes+=( ascii box csv json markdown quote table tabs ) -exclusive=( $^dashes-${^output_modes:l} ) -for display_opt in $output_modes ; do - # finagle the description to match the way SQLite's -help formats them - opt=$display_opt:l - [[ $opt = $display_opt ]] && display_opt="'$display_opt'" - options+=( "($exclusive)"$^dashes"-${opt}[set output mode to $display_opt]" ) -done - -(( $#words == 2 )) || ign='!' -options+=( - $^dashes'-separator[set output field separator]:output field separator [|]' - $^dashes'-nullvalue[set text string for null values]:string' - "$ign(- :)"$^dashes'-version[show SQLite version]' - "$ign(- :)"$^dashes'-help[show help]' - '1:SQLite database file:_files' - '(- :)2: :_guard "^-*" "SQL to run"' -) - -(( $+sqlite3 )) && options+=( - $^dashes'-A+[run .archive with arguments and exit]' - $^dashes'-append[append the database to the end of the file]' - $^dashes'-bail[stop after hitting an error]' - $^dashes'-cmd[run specified command before reading stdin]:sqlite meta-command' - $^dashes'-deserialize[open the database using sqlite3_deserialize()]' - '(-*batch -*interactive)'$^dashes'-batch[force batch I/O]' - '(-*batch -*interactive)'$^dashes'-interactive[force interactive I/O]' - $^dashes'-lookaside[specify size and number of entries for lookaside memory]:size (bytes): :entries' - $^dashes'-maxsize[specify maximum size for a --deserialize database]:size' - $^dashes'-memtrace[trace all memory allocations and deallocations]' - $^dashes'-mmap[set default mmap size]:size' - $^dashes'-newline[set output row separator]:separator [\n]' - $^dashes'-nofollow[refuse to open symbolic links to database files]' - $^dashes'-pagecache[specify size and number of slots for page cache memory]:size (bytes): :slots' - $^dashes'-readonly[open the database read-only]' - $^dashes'-stats[print memory stats before each finalize]' - $^dashes'-vfs[use specified default VFS]:vfs:(unix-dotfile unix-excl unix-none unix-namedsem)' - $^dashes'-zip[open the file as a ZIP Archive]' -) - -if [[ -n $words[(r)-A*] ]]; then - options=( -s -w : '(-A --A)'${^dashes}-A "(-f --file -a --append)"${(M)options:#1:*} - '(-v --verbose)'{-v,--verbose}'[print each filename as it is processed]' - '(1 -a --append -f --file)'{-f+,--file=}'[specify archive file]:archive file:_files' - '(1 -a --append -f --file)'{-a,--append=}'[operate on specified file opened using the apndvfs VFS]:archive file:_files' - '(-C --directory)'{-C+,--directory=}'[change to specified directory to read/extract files]:directory:_directories' - '(-n --dryrun)'{-n,--dryrun}'[show the SQL that would have occurred]' - '*:file:_files' - + '(commands)' \ - '(-c --create)'{-c,--create}'[create a new archive]' - '(-u --update)'{-u,--update}'[update or add files to an existing archive]' - '(-i --insert)'{-i,--insert}'[like -u but always add even if mtime unchanged]' - '(-t --list)'{-t,--list}'[list contents of archive]' - '(-x --extract)'{-x,--extract}'[extract files from archive]' - ) -fi - -_arguments $options diff --git a/result/sw/share/zsh/5.9/functions/_sqsh b/result/sw/share/zsh/5.9/functions/_sqsh deleted file mode 100644 index 5caf7f98..00000000 --- a/result/sw/share/zsh/5.9/functions/_sqsh +++ /dev/null @@ -1,51 +0,0 @@ -#compdef sqsh - -_sybase_server() { - local interfaces - - if [[ -n "$opt_args[-I]" ]]; then - interfaces=${(e)~opt_args[-I]:Q} - elif [[ -n "$opt_args[-y]" ]]; then - interfaces=${(e)~opt_args[-y]:Q}/interfaces - else - interfaces=$SYBASE/interfaces - fi - - [[ -f $interfaces ]] && compadd ${${(f)"$(<$interfaces)"}:#[[:space:]#]*} -} - -_arguments : \ - '-A[adjust TDS packet size (512)]:packet size (bytes):(512 1024 1536 2048)' \ - '-B[turn off file buffering on startup]' \ - '-C[send sql statement to server]:sql' \ - '-D[change database context on startup]:database' \ - '-E[replace default editor (vi)]:editor' \ - '-H[set the client hostname]:reported hostname' \ - '-I[alternate interfaces file]:interface file:_files' \ - '-J[client character set]:charset' \ - '*-L[set the value of a given variable]:variable=value' \ - '-P[Sybase password (NULL)]:password' \ - '-S[name of Sybase server (\$DSQUERY)]:_sybase_server' \ - '-U[name of Sybase user]:username' \ - '-X[enable client password encryption]' \ - '-a[max. # of errors before abort]:number' \ - '-b[suppress banner message on startup]' \ - '*-c[alias for the ''go'' command]:go alias' \ - '-d[min. severity level to display]:severity level (0-22)' \ - '-e[echo batch prior to executing]' \ - '-f[min. severity level for failure]:failure severity' \ - '-h[disable headers and footers]' \ - '-i[read input from file]:_files' \ - '-k[specify alternate keywords file]:_files' \ - '-l[set debugging level]' \ - '-m[set display mode (normal)]:display style:(horiz vert bcp html meta pretty none)' \ - '-n[set chained transaction mode]:chained transaction mode:(on off)' \ - '-o[direct all output to file]:_files' \ - '-p[display performance stats]' \ - '-r[specify name of .sqshrc]:_files' \ - '-s[alternate column separator (\t)]:column separator' \ - '-t[filter batches through program]:filter program:_files -g "*(*)"' \ - '-v[display current version and exit]' \ - '-w[adjust result display width]:number' \ - '-y[override value of $SYBASE]:_directories' \ - '-z[alternate display language]:language' diff --git a/result/sw/share/zsh/5.9/functions/_ss b/result/sw/share/zsh/5.9/functions/_ss deleted file mode 100644 index 2a1cfcb7..00000000 --- a/result/sw/share/zsh/5.9/functions/_ss +++ /dev/null @@ -1,112 +0,0 @@ -#compdef ss - -local curcontext="$curcontext" suf ret=1 -local -a state line expl pref filt -local -A opt_args -local info="-h -V --help --version" -local sx="state exclude" - -_arguments -C -s \ - "(- *)"{-h,--help}'[show option summary]' \ - "(- *)"{-V,--version}'[show version information]' \ - "($info -n --numeric)"{-n,--numeric}"[don't resolve service names]" \ - "($info -r --resolve)"{-r,--resolve}'[resolve host addresses]' \ - "($info -a --all -l --listening)"{-a,--all}'[display all sockets]' \ - "($info -l --listening -a --all)"{-l,--listening}'[display listening sockets]' \ - "($info -o --options -e --extended)"{-o,--options}'[show timer information]' \ - "($info -e --extended -o --options)"{-e,--extended}'[show detailed information]' \ - "($info -m --memory)"{-m,--memory}'[show socket memory usage]' \ - "($info -p --processes)"{-p,--processes}'[show process using each socket]' \ - "($info -i --info)"{-i,--info}'[show internal TCP information]' \ - "($info)--tipcinfo[show internal tipc socket information]" \ - "($info -s --summary)"{-s,--summary}'[print summary statistics]' \ - "($info)--tos[show tos and priority information]" \ - "($info -b --bpf)"{-b,--bpf}'[show bpf filter socket information]' \ - "($info -E --events)"{-E,--events}'[continually display sockets as they are destroyed]' \ - "($info -Z --context)"{-Z,--context}'[display process SELinux security contexts]' \ - "($info -z --contexts)"{-z,--contexts}'[display process and socket SELinux security contexts]' \ - "($info -N --net)"{-N,--net}'[switch to specified network namespace]:network namespace' \ - "($info -4 --ipv4 -6 --ipv6)"{-4,--ipv4}'[display only IP version 4 sockets]' \ - "($info -4 --ipv4 -6 --ipv6)"{-6,--ipv6}'[display only IP version 6 sockets]' \ - "($info -0 --packet)"{-0,--packet}'[display PACKET sockets]' \ - "($info -t --tcp)"{-t,--tcp}'[display TCP sockets]' \ - "($info -S --sctp)"{-S,--sctp}'[display SCTP sockets]' \ - "($info -u --udp)"{-u,--udp}'[display UDP sockets]' \ - "($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \ - "($info -w --raw)"{-w,--raw}'[display RAW sockets]' \ - "($info -x --unix)"{-x,--unix}'[display Unix domain sockets]' \ - "($info)--tipc[display only TIPC sockets]" \ - "($info)--xdp[display only XDP sockets]" \ - "($info)--vsock[display only vsock sockets]" \ - "($info -f --family)"{-f+,--family=}'[display sockets of specified type]:family:(inet inet6 link unix netlink vsock tipc xdp help)' \ - "($info -K --kill)"{-K,--kill}'[forcibly close sockets, display what was closed]' \ - "($info -H --no-header)"{-H,--no-header}'[suppress header line]' \ - "($info -O --oneline)"{-O,--oneline}"[print socket's data on a single line]" \ - "($info -A --query --socket)"{-A+,--query=,--socket=}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram vsock_stream vsock_dgram tipc' \ - "($info -D)"{-D+,--diag=}'[dump raw info to file]:file:_files' \ - "($info -F)"{-F+,--filter=}'[read filter information from a file]:file:_files' \ - "($info)*: :->filter" && ret=0 - -if [[ -n $state ]]; then - case $words[CURRENT-1] in - (d|s)port) - _wanted operators expl operator \ - compadd \< \> \= \>= \<= \== \!= eq ge gt lt le ne && ret=0 - ;; - dst|src) - if compset -P unix: || (( $+opt_args[-x] + $+opt_args[--unix] )) || [[ $opt_args[-f] = unix ]]; then - _files -g '*(=)' && ret=0 - elif compset -P nl:; then - if compset -P \*:; then - _pids && ret=0 - else - _message channel - fi - elif compset -P link:; then - compset -P \*: && _message ifindex || _message protocol - else - compset -P 'inet(6|):' - pref=$? - compset -S ':*' || suf="-qS:" - if compset -P \*:; then - _ports && ret=0 - elif compset -P \*/; then - _wanted netmasks expl netmask compadd $suf {1..31} && ret=0 - elif (( pref )); then - _alternative \ - "hosts:host:_hosts $suf" \ - "prefixes:prefix:compadd $suf nl link unix" && ret=0 - else - _hosts $suf && ret=0 - fi - fi - ;; - state|exclude) - _wanted states expl state compadd -M 'm:{a-zA-Z_}={A-Za-z-}' \ - ESTABLISHED SYN-SENT SYN-RECV FIN-WAIT-1 FIN-WAIT-2 TIME-WAIT \ - CLOSED CLOSE-WAIT LAST-ACK LISTENING CLOSING \ - all connected synchronized bucket big && ret=0 - ;; - *) - if [[ $words[CURRENT-2] = (d|s)port ]]; then - compset -P '*:' || pref=(-P :) - _ports $pref - return - else - (( $#line > 1 )) && [[ ${words[CURRENT-1]:Q} != (and|or|\() ]] && - filt=( "($sx)*"{and,or} ) - _values -w -s ' ' -S ' ' filter $filt \ - "*state[sockets in specified state]" \ - "*exclude[sockets not in specified state]" \ - "($sx)*src[local address/port of socket]" \ - "($sx)*dst[peer address/port of socket]" \ - "($sx)*dport[peer port]: :(lt gt ge)" \ - "($sx)*sport[local port]" \ - "($sx)*autobound[socket bound to ephemeral port]" \ - "($sx)*"{not,\(,\)} && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ssh b/result/sw/share/zsh/5.9/functions/_ssh deleted file mode 100644 index 2385272f..00000000 --- a/result/sw/share/zsh/5.9/functions/_ssh +++ /dev/null @@ -1,747 +0,0 @@ -#compdef ssh slogin=ssh scp ssh-add ssh-agent ssh-copy-id ssh-keygen ssh-keyscan sftp - -# TODO: sshd, ssh-keysign - -_ssh () { - local curcontext="$curcontext" state line expl suf arg ret=1 - local args sigargs common common_transfer options algopt tmp p1 file cmn cmds sdesc tdesc - typeset -A opt_args tsizes - - common=( - '(-6)-4[force ssh to use IPv4 addresses only]' - '(-4)-6[force ssh to use IPv6 addresses only]' - '-A[enable forwarding of the authentication agent connection]' - '-C[compress data]' - '-c+[select encryption cipher]:encryption cipher:->ciphers' - '-F+[specify alternate config file]:config file:_files' - '*-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' - '*-o+[specify extra options]:option string:->option' - ) - common_transfer=( - '-J+[connect via a jump host]: :->userhost' - '-l+[limit used bandwidth]:bandwidth (Kbit/s)' - '-P+[specify port on remote host]:port number on remote host' - '-p[preserve modification times, access times and modes]' - '-q[disable progress meter and warnings]' - '-r[recursively copy directories (follows symbolic links)]' - '-S+[specify ssh program]:path to ssh:_command_names -e' \ - '-v[verbose mode]' - ) - algopt='-E+[specify hash algorithm for fingerprints]:algorithm:(md5 sha256)' - - case "$service" in - ssh) - (( $+words[(r)-[^-]#t*] )) && tdesc=' even if there is no controlling tty' - _arguments -C -s \ - '(-A)-a[disable forwarding of authentication agent connection]' \ - '-B+[bind to specified interface before attempting to connect]:interface:_net_interfaces' \ - '(-P)-b+[specify interface to transmit on]:bind address:_bind_addresses' \ - '-D+[specify a dynamic port forwarding]:dynamic port forwarding:->dynforward' \ - '-e+[set escape character]:escape character (or `none'\''):' \ - '-E+[append log output to file instead of stderr]:_files' \ - '(-n)-f[go to background]' \ - '-g[allow remote hosts to connect to local forwarded ports]' \ - '-G[output configuration and exit]' \ - '-I+[specify smartcard device]:device:_files' \ - '-J+[connect via a jump host]: :->userhost' \ - '-K[enable GSSAPI-based authentication and forwarding]' \ - '-k[disable forwarding of GSSAPI credentials]' \ - '*-L+[specify local port forwarding]:local port forwarding:->forward' \ - '-l+[specify login name]:login name:_ssh_users' \ - '-M[master mode for connection sharing]' \ - '-m+[specify mac algorithms]: :->macs' \ - "-N[don't execute a remote command]" \ - '-n[redirect stdin from /dev/null]' \ - '-O+[control an active connection multiplexing master process]:multiplex control command:((check\:"check master process is running" exit\:"request the master to exit" forward\:"request forward without command execution" stop\:"request the master to stop accepting further multiplexing requests" cancel\:"cancel existing forwardings with -L and/or -R" proxy))' \ - '-P[use non privileged port]' \ - '-p+[specify port on remote host]:port number on remote host' \ - '(-v)*-q[quiet operation]' \ - '*-R+[specify remote port forwarding]:remote port forwarding:->forward' \ - '-S+[specify location of control socket for connection sharing]:path to control socket:_files' \ - '-Q+[query parameters]:query option:((cipher\:"supported symmetric ciphers" cipher-auth\:"supported symmetric ciphers that support authenticated encryption" mac\:"supported message integrity codes" kex\:"key exchange algorithms" key\:"key types" key-cert\:"certificate key types" key-plain\:"non-certificate key types" protocol-version\:"supported SSH protocol versions" sig\:"supported signature algorithms" help\:"show supported queries"))' \ - '-s[invoke subsystem]' \ - '(-t)-T[disable pseudo-tty allocation]' \ - "(-T)*-t[force pseudo-tty allocation${tdesc}]" \ - '-V[show version number]' \ - '(-q)*-v[verbose mode (multiple increase verbosity, up to 3)]' \ - '-W+[forward standard input and output to host]:stdinout forward:->hostport' \ - '-w+[request tunnel device forwarding]:local_tun[\:remote_tun] (integer or "any"):' \ - '(-x -Y)-X[enable (untrusted) X11 forwarding]' \ - '(-X -Y)-x[disable X11 forwarding]' \ - '(-x -X)-Y[enable trusted X11 forwarding]' \ - '-y[send log info via syslog instead of stderr]' \ - ':remote host name:->userhost' \ - '*::args:->command' "$common[@]" && ret=0 - ;; - scp) - _arguments -C -s \ - '-3[copy through local host, not directly between the remote hosts]' \ - '-B[batch mode (don'\''t ask for passphrases)]' \ - '-T[disable strict filename checking]' \ - '*:file:->file' "$common[@]" "$common_transfer[@]" && ret=0 - ;; - ssh-add) - if [[ $OSTYPE != darwin* || $APPLE_SSH_ADD_BEHAVIOR == openssh ]]; then - args=( - '-K[load resident keys from a FIDO authenticator]' - ) - else - [[ ${APPLE_SSH_ADD_BEHAVIOR:-macos} == macos ]] && args=( - '-A[add identities from keychain]' - '-K[update keychain when adding/removing identities]' - ) - fi - [[ $OSTYPE == darwin<20->.* ]] && args+=( - '--apple-load-keychain[add identities from keychain]' - '--apple-use-keychain[update keychain when adding/removing identities]' - ) - _arguments -s : $args \ - '-c[identity is subject to confirmation via SSH_ASKPASS]' \ - '-D[delete all identities]' \ - '-d[remove identity]' \ - $algopt \ - '-e+[remove keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \ - '-k[load plain private keys only and skip certificates]' \ - '-K[load resident keys from a FIDO authenticator]' \ - '-L[list public key parameters of all identities in the agent]'\ - '-l[list all identities]' \ - '-m+[specify minimum remaining signatures before maximum is changed]:number' \ - '-M+[specify maximum number of signatures]:number' \ - '-S+[use specified library when adding FIDO authenticator-hosted keys]:library:_files' \ - '-s+[add keys provided by the PKCS#11 shared library]:library:_files -g "*.(so|dylib)(|.<->)(-.)"' \ - '-t+[set maximum lifetime for identity]:maximum lifetime (in seconds or time format):' \ - "-T[test usability of identity files' private keys]:*:public key file:_files -g '*.pub(-.)'" \ - '*-v[verbose mode]' \ - '-q[be quiet after a successful operation]' \ - '-X[unlock the agent]' \ - '-x[lock the agent with a password]' \ - '*:SSH identity file:_files' - return - ;; - ssh-agent) - _arguments -s \ - '(-k)-a+[specify UNIX-domain socket to bind agent to]:UNIX-domain socket:_files' \ - '(-k -s)-c[force csh-style shell]' \ - '(-k)-d[debug mode]' \ - '(-k)-D[foreground mode]' \ - "(-k)$algopt" \ - '-k[kill current agent]' \ - '(-k)-P[specify PKCS#11 shared library whitelist]:PKCS#11 library whitelist pattern' \ - '(-k -c)-s[force sh-style shell]' \ - '-t[set default maximum lifetime for identities]:maximum lifetime (in seconds or time format):' \ - '-v[verbose mode]' \ - '*::command: _normal' - return - ;; - ssh-keygen) - # options can be in any order but use ! to limit those shown for the first argument - (( CURRENT == 2 )) && p1='!' - args=( '!-z:number' ) - options=( - application - 'challenge\:path\:_files' - device - no-touch-required - resident - user - verify-required - 'write-attestation\:path\:_files' - ) - sdesc='certify keys with CA key' - if (( $+words[(r)-[IhUDnV]*] )); then - args=( '-z[specify serial number]:serial number' ) - options=( - clear critical\:name extension\:name force-command\:command\:_cmdstring - no-agent-forwarding no-port-forwarding no-pty no-user-rc no-x11-forwarding - permit-agent-forwarding permit-port-forwarding permit-pty permit-user-rc - permit-x11-forwarding source-address\:source\ address - ) - fi - (( $+words[(r)-[ku]] )) && args=( '-z[specify version number]:version number' ) && - sdesc='specify CA public key file' - file=key - (( $+words[(r)-[FHR]] )) && file=known_hosts - if (( $+words[(r)-M*] )); then - file=input - args+=( '*:output file:_files' ) - options=( - lines:number - 'start-line\:line number' - checkpoint\:file:_files - 'memory\:size (mbytes)' - 'start\:start point (hex-value)' - generator\:value - ) - fi - (( $+words[(r)-A] )) && file='prefix for host key' - if (( $+words[(r)-[kIQ]] )); then - file=krl - args+=( '*:file:_files' ) - fi - if (( arg = $words[(I)-Y*] )); then - [[ $words[arg] = -Y?* ]] || (( arg++ )) - case ${words[arg]#-Y} in - ^find-*) sigargs+=( "$p1-n+[specify namespace]:namespace" ) ;| - check*|find*|verify) - sigargs+=( "$p1-s+[specify signature file]:signature file:-files" ) - ;| - sign) sigargs+=( '*:file:_files' ) ;; - verify) - args=() - sigargs+=( - '-I+[specify signer identity]:identity' - '-r+[specify revocation file]:revocation file:_files' - ) - ;; - esac - fi - cmds=( -p -i -e -y -c -l -B -D -F -H -K -R -r -M -s -L -A -k -Q -Y ) # basic commands - cmn=( -a -b -P -N -C -l -m -O -v -w -Z ) # options common to many basic commands (except -f which is common to most) - cms=( -E -q -t -g -M -I -h -n -V -u -U ) # options specific to one basic command - tsizes=( - dsa 1024 - ecdsa '256 384 521' # values appear in key names as listed with ssh -Q key - 521 really is correct - rsa '1024 2048 4096' - ) - _arguments -s $args \ - "${p1}(${${(@)cmds:#-[pcKAO]}} ${${(@)cms:#-[t]}} -O)-a+[specify number of rounds]:rounds [16]" \ - "(${${(@)cmds:#-M}} -P ${${(@)cms:#-[MS]}})-b+[specify number of bits in key]:bits in key [2048]:"'compadd ${expl\:/-X/-x} ${_comp_mesg\:=-} ${=tsizes[${opt_args[create--t]\:-rsa}]}' \ - "$p1(${${(@)cmds:#-[pc]}} -b $cms)-P+[provide old passphrase]:old passphrase" \ - "(${${(@)cmds:#-p}} -v ${${(@)cms:#-[qt]}})-N+[provide new passphrase]:new passphrase" \ - "(${${(@)cmds:#-c}} -v $cms)-C+[provide new comment]:new comment" \ - "(-D -I -h -n -V -A)-f+[$file file]:$file file:_files" \ - "$p1(${${(@)cmds:#-[FE]}} ${${(@)cmn:#-v}} ${${(@)cms:#-E}})-l[show fingerprint of key file]" \ - "$p1(${${(@)cmds:#-[iep]}} $cms)-m+[specify conversion format]:format [RFC4716]:(PEM PKCS8 RFC4716)" \ - "$p1*-O+[specify a key/value option]: : _values 'option' $options" \ - "(${${(@)cmds:#-[lGT]}} ${${(@)cmn:#-[bv]}} -f)*-v[verbose mode]" \ - "$p1(${${(@)cmds:#-K}} -P ${${(@)cms:#-[qt]}})-w+[specify library used when creating FISO authenticator-hosted keys]:library:_files -g '*.(so|dylib)(|.<->)(-.)'" \ - "$p1(${${(@)cmds:#-p}} -l ${${(@)cms:#-[qt]}})-Z+[specify encryption cipher to use when writing a private key file]:cipher:compadd - $(_call_program ciphers ssh -Q cipher)" \ - - '(commands)' \ - "(-b -l -C -O -v -w)-p[change passphrase of private key file]" \ - "(${${(@)cmn:#-m}})-i[import key to OpenSSH format]" \ - "(${${(@)cmn:#-m}})-e[export key to SECSH file format]" \ - "($cmn)-y[get public key from private key]" \ - "(${${(@)cmn:#-[aCP]}})-c[change comment in private and public key files]" \ - "($cmn)-B[show the bubblebabble digest of key]" \ - "(-)-D+[download key stored in smartcard reader]:reader" \ - "(${${(@)cmn:#-[lv]}})-F+[search for host in known_hosts file]:host:_ssh_hosts" \ - "($cmn)-H[hash names in known_hosts file]" \ - "(${${(@)cmn:#-[aw]}} -f)-K[download resident keys from a FIDO authenticator]" \ - "($cmn)-R+[remove host from known_hosts file]:host:_ssh_hosts" \ - "(${${(@)cmn:#-O}})-M+[moduli generation]:action:(( - generate\:generate\ candidates\ for\ DH-GEX\ moduli - screen\:screen\ candidates\ for\ DH-GEX\ moduli - ))" \ - "($cmn)-L[print the contents of a certificate]" \ - "(${${(@)cmn:#-a}})-A[generate host keys for all key types]" \ - "($cmn)-Q[test whether keys have been revoked in a KRL]" \ - "($cmn)-Y+[signature action]:action:(( - find-principals\:find\ the\ principal\ associated\ with\ the\ public\ key\ of\ a\ signature - sign\:sign\ a\ file\ using\ SSH\ key - verify\:verify\ a\ signature\ generated\ using\ the\ sign\ option - check-novalidate\:check\ signature\ structure - ))" \ - - finger \ - "$p1($cmn)$algopt" \ - - create \ - '(-P -l)-q[silence ssh-keygen]' \ - "(-P -l)-t+[specify the type of the key to create]:key type:(rsa dsa ecdsa ed25519 ecdsa-sk ed25519-sk)" \ - - dns \ - "($cmn)-r[print DNS resource record]:hostname:_hosts" \ - "$p1($cmn)-g[use generic DNS format]" \ - - certify \ - "($cmn)-s[$sdesc]:CA key:_files" \ - "$p1($cmn -f -k -u)-I+[specify key identifier to include in certificate]:key id" \ - "$p1($cmn -f -k -u)-h[generate host certificate instead of a user certificate]" \ - "$p1($cmn -f -k -u -D)-U[indicate that CA key is held by ssh-agent]" \ - "$p1($cmn -f -k -u -U)-D+[indicate the CA key is stored in a PKCS#11 token]:PKCS11 shared library:_files -g '*.(so|dylib)(|.<->)(-.)'" \ - "$p1($cmn -f -k -u)-n+[specify user/host principal names to include in certificate]:principals" \ - "$p1($cmn -f -u)-V+[specify certificate validity interval]:interval" \ - "($cmn -I -h -n -D -O -U -V)-k[generate a KRL file]" \ - "$p1($cmn -I -h -n -D -O -U -V)-u[update a KRL]" \ - - signature \ - $sigargs - return - ;; - ssh-keyscan) - _arguments \ - '(-6)-4[force ssh to use IPv4 addresses only]' \ - '(-4)-6[force ssh to use IPv6 addresses only]' \ - '-c[request certificates from target hosts instead of plain keys]' \ - '-D[print keys found as SSHFP DNS records]' \ - '*-f+[read hosts from file, one per line]:file:_files' \ - '-H[hash all hostnames and addresses in the output]' \ - '-p+[specify port on remote host]:port number on remote host' \ - '-T+[specify timeout]:timeout (seconds) [5]' \ - '-t+[specify key types to fetch from scanned hosts]:key type:_sequence compadd - rsa dsa ecdsa ed25519' \ - '-v[verbose mode]' - return - ;; - sftp) - _arguments -C -s \ - '-a[attempt to continue interrupted transfers]' \ - '-B+[specify buffer size]:buffer size (bytes) [32768]' \ - '-b+[specify batch file to read]:batch file:_files' \ - '-D+[connect directly to a local sftp server]:sftp server path' \ - '-f[request that files be flushed immediately after transfer]' \ - '-N[disable implicit quiet mode set by -b]' \ - '-R+[specify number of outstanding requests]:number of requests [64]' \ - '-s+[specify SSH2 subsystem or path to sftp server on the remote host]:subsystem/path' \ - '1:file:->rfile' '*:file:->file' "$common[@]" "$common_transfer[@]" && ret=0 - ;; - ssh-copy-id) - _arguments \ - '-i+[select identity file]:SSH identity file:_files -g "*(-.^AR)"' \ - '-f[copy keys without trying to check if they are already installed]' \ - '-n[dry run - no keys are actually copied]' \ - '*-o+[specify ssh options]:option string:->option' \ - '-p+[specify port on remote host]:port number on remote host' \ - '(- 1)'{-h,-\?}'[display usage information]' \ - ':remote host name:->userhost' && ret=0 - ;; - esac - - while [[ -n "$state" ]]; do - lstate="$state" - state='' - - case "$lstate" in - option) - if compset -P 1 '*='; then - case "${IPREFIX#-o}" in - (#i)(ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedkeytypes|hostbasedkeytypes)=) - if ! compset -P '[+-]'; then - _wanted prefix expl 'relative to default' compadd - + - && ret=0 - fi - ;; - esac - case "${IPREFIX#-o}" in - (#i)(afstokenpassing|batchmode|canonicalizefallbacklocal|challengeresponseauthentication|checkhostip|clearallforwardings|compression|enablesshkeysign|exitonforwardfailure|fallbacktorsh|forward(agent|x11)|forwardx11trusted|gatewayports|gssapiauthentication|gssapidelegatecredentials|gssapikeyexchange|gssapirenewalforcesrekey|gssapitrustdns|hashknownhosts|hostbasedauthentication|identitiesonly|kbdinteractiveauthentication|(tcp|)keepalive|nohostauthenticationforlocalhost|passwordauthentication|permitlocalcommand|proxyusefdpass|pubkeyauthentication|rhosts(|rsa)authentication|rsaauthentication|streamlocalbindunlink|usersh|kerberos(authentication|tgtpassing)|useprivilegedport|visualhostkey)=*) - _wanted values expl 'truth value' compadd yes no && ret=0 - ;; - (#i)addressfamily=*) - _wanted values expl 'address family' compadd any inet inet6 && ret=0 - ;; - (#i)bindaddress=*) - _wanted bind-addresses expl 'bind address' _bind_addresses && ret=0 - ;; - (#i)canonicaldomains=*) - _message -e 'canonical domains (space separated)' && ret=0 - ;; - (#i)canonicalizehostname=*) - _wanted values expl 'truthish value' compadd yes no always && ret=0 - ;; - (#i)canonicalizemaxdots=*) - _message -e 'number of dots' && ret=0 - ;; - (#i)canonicalizepermittedcnames=*) - _message -e 'CNAME rule list (source_domain_list:target_domain_list, each pattern list comma separated)' && ret=0 - ;; - (#i)ciphers=*) - state=ciphers - ;; - (#i)connectionattempts=*) - _message -e 'connection attempts' && ret=0 - ;; - (#i)connecttimeout=*) - _message -e 'connection timeout' && ret=0 - ;; - (#i)controlmaster=*) - _wanted values expl 'truthish value' compadd yes no auto autoask && ret=0 - ;; - (#i)controlpath=*) - _description files expl 'path to control socket' - _files "$expl[@]" && ret=0 - ;; - (#i)controlpersist=*) - _message -e 'timeout' - ret=0 - _wanted values expl 'truth value' compadd yes no && ret=0 - ;; - (#i)escapechar=*) - _message -e 'escape character (or `none'\'')' - ret=0 - ;; - (#i)fingerprinthash=*) - _values 'fingerprint hash algorithm' \ - md5 ripemd160 sha1 sha256 sha384 sha512 && ret=0 - ;; - (#i)forwardx11timeout=*) - _message -e 'timeout' - ret=0 - ;; - (#i)globalknownhostsfile=*) - _description files expl 'global file with known hosts' - _files "$expl[@]" && ret=0 - ;; - (#i)hostname=*) - _wanted hosts expl 'real host name to log into' _ssh_hosts && ret=0 - ;; - (#i)(hostbasedkeytypes|hostkeyalgorithms|pubkeyacceptedkeytypes)=*) - _wanted key-types expl 'key type' _sequence compadd - $(_call_program key-types ssh -Q key) && ret=0 - ;; - (#i)identityfile=*) - _description files expl 'SSH identity file' - _files "$expl[@]" && ret=0 - ;; - (#i)ignoreunknown=*) - _message -e 'pattern list' && ret=0 - ;; - (#i)ipqos=*) - local descr - if [[ $PREFIX = *\ *\ * ]]; then return 1; fi - if compset -P '* '; then - descr='QoS for non-interactive sessions' - else - descr='QoS [for interactive sessions if second value given, separated by white space]' - fi - _values $descr 'af11' 'af12' 'af13' 'af14' 'af22' \ - 'af23' 'af31' 'af32' 'af33' 'af41' 'af42' 'af43' \ - 'cs0' 'cs1' 'cs2' 'cs3' 'cs4' 'cs5' 'cs6' 'cs7' 'ef' \ - 'lowdelay' 'throughput' 'reliability' && ret=0 - ;; - (#i)(local|remote)forward=*) - state=forward - ;; - (#i)dynamicforward=*) - state=dynforward - ;; - (#i)kbdinteractivedevices=*) - _values -s , 'keyboard-interactive authentication method' \ - 'bsdauth' 'pam' 'skey' && ret=0 - ;; - (#i)(kexalgorithms|gssapikexalgorithms)=*) - _wanted algorithms expl 'key exchange algorithm' _sequence compadd - \ - $(_call_program algorithms ssh -Q kex) && ret=0 - ;; - (#i)localcommand=*) - _description commands expl 'run command locally after connecting' - _command_names && ret=0 - ;; - (#i)loglevel=*) - _values 'log level' QUIET FATAL ERROR INFO VERBOSE\ - DEBUG DEBUG1 DEBUG2 DEBUG3 && ret=0 - ;; - (#i)macs=*) - state=macs - ;; - (#i)numberofpasswordprompts=*) - _message -e 'number of password prompts' - ret=0 - ;; - (#i)pkcs11provider=*) - _description files expl 'PKCS#11 shared library' - _files -g '*.(so|dylib)(|.<->)(-.)' "$expl[@]" && ret=0 - ;; - (#i)port=*) - _message -e 'port number on remote host' - ret=0 - ;; - (#i)preferredauthentications=*) - _values -s , 'authentication method' gssapi-with-mic \ - hostbased publickey keyboard-interactive password && ret=0 - ;; - (#i)protocol=*) - _values -s , 'protocol version' \ - '1' \ - '2' && ret=0 - ;; - (#i)(proxy|remote)command=*) - _cmdstring && ret=0 - ;; - (#i)rekeylimit=*) - _message -e 'maximum number of bytes transmitted before renegotiating session key' - ret=0 - ;; - (#i)requesttty=*) - _values 'request a pseudo-tty' \ - 'no[never request a TTY]' \ - 'yes[always request a TTY when stdin is a TTY]' \ - 'force[always request a TTY]' \ - 'auto[request a TTY when opening a login session]' && ret=0 - ;; - (#i)revokedhostkeys=*) - _description files expl 'revoked host keys file' - _files "$expl[@]" && ret=0 - ;; - (#i)sendenv=*) - _wanted envs expl 'environment variable' _parameters -g 'scalar*export*' && ret=0 - ;; - (#i)serveralivecountmax=*) - _message -e 'number of alive messages without replies before disconnecting' - ret=0 - ;; - (#i)serveraliveinterval=*) - _message -e 'timeout in seconds since last data was received to send alive message' - ret=0 - ;; - (#i)streamlocalbindmask=*) - _message -e 'octal mask' && ret=0 - ;; - (#i)stricthostkeychecking=*) - _wanted values expl 'value' compadd yes no ask accept-new off && ret=0 - ;; - (#i)syslogfacility=*) - _wanted facilities expl 'facility' compadd -M 'm:{a-z}={A-Z}' DAEMON USER AUTH LOCAL{0,1,2,3,4,5,6,7} && ret=0 - ;; - (#i)(verifyhostkeydns|updatehostkeys)=*) - _wanted values expl 'truthish value' compadd yes no ask && ret=0 - ;; - (#i)transport=*) - _values 'transport protocol' TCP SCTP && ret=0 - ;; - (#i)tunnel=*) - _values 'request device forwarding' \ - 'yes' \ - 'point-to-point' \ - 'ethernet' \ - 'no' && ret=0 - ;; - (#i)tunneldevice=*) - _message -e 'local_tun[:remote_tun] (integer or "any")' - ret=0 - ;; - (#i)userknownhostsfile=*) - _description files expl 'user file with known hosts' - _files "$expl[@]" && ret=0 - ;; - (#i)user=*) - _wanted users expl 'user to log in as' _ssh_users && ret=0 - ;; - (#i)xauthlocation=*) - _description files expl 'xauth program' - _files "$expl[@]" -g '*(-*)' && ret=0 - ;; - esac - else - # old options are after the empty "\"-line - _wanted values expl 'configure file option' \ - compadd -M 'm:{a-z}={A-Z} r:[^A-Z]||[A-Z]=* r:|=*' -q -S '=' - \ - AddKeysToAgent \ - AddressFamily \ - BatchMode \ - BindAddress \ - CanonicalDomains \ - CanonicalizeFallbackLocal \ - CanonicalizeHostname \ - CanonicalizeMaxDots \ - CanonicalizePermittedCNAMEs \ - CASignatureAlgorithms \ - CertificateFile \ - ChallengeResponseAuthentication \ - CheckHostIP \ - Ciphers \ - ClearAllForwardings \ - Compression \ - ConnectionAttempts \ - ConnectTimeout \ - ControlMaster \ - ControlPath \ - ControlPersist \ - DynamicForward \ - EnableSSHKeysign \ - EscapeChar \ - ExitOnForwardFailure \ - FingerprintHash \ - ForwardAgent \ - ForwardX11 \ - ForwardX11Timeout \ - ForwardX11Trusted \ - GatewayPorts \ - GlobalKnownHostsFile \ - GSSAPIAuthentication \ - GSSAPIClientIdentity \ - GSSAPIDelegateCredentials \ - GSSAPIKeyExchange \ - GSSAPIRenewalForcesRekey \ - GSSAPIServerIdentity \ - GSSAPITrustDns \ - GSSAPIKexAlgorithms \ - HashKnownHosts \ - HostbasedAuthentication \ - HostbasedKeyTypes \ - HostKeyAlgorithms \ - HostKeyAlias \ - HostName \ - IdentitiesOnly \ - IdentityAgent \ - IdentityFile \ - IgnoreUnknown \ - IPQoS \ - KbdInteractiveAuthentication \ - KbdInteractiveDevices \ - KexAlgorithms \ - LocalCommand \ - LocalForward \ - LogLevel \ - MACs \ - NoHostAuthenticationForLocalhost \ - NumberOfPasswordPrompts \ - PasswordAuthentication \ - PermitLocalCommand \ - PKCS11Provider \ - Port \ - PreferredAuthentications \ - ProxyCommand \ - ProxyJump \ - ProxyUseFdpass \ - PubkeyAcceptedKeyTypes \ - PubkeyAuthentication \ - RekeyLimit \ - RemoteCommand \ - RemoteForward \ - RequestTTY \ - RevokedHostKeys \ - RhostsRSAAuthentication \ - RSAAuthentication \ - SendEnv \ - ServerAliveCountMax \ - ServerAliveInterval \ - SetEnv \ - StreamLocalBindMask \ - StreamLocalBindUnlink \ - StrictHostKeyChecking \ - SyslogFacility \ - TCPKeepAlive \ - Tunnel \ - TunnelDevice \ - UpdateHostKeys \ - UsePrivilegedPort \ - User \ - UserKnownHostsFile \ - VerifyHostKeyDNS \ - VisualHostKey \ - XAuthLocation \ - \ - AFSTokenPassing \ - FallBackToRsh \ - KeepAlive \ - KerberosAuthentication \ - KerberosTgtPassing \ - PreferredAuthentications \ - ProtocolKeepAlives \ - RhostsAuthentication \ - SetupTimeOut \ - SmartcardDevice \ - UseRsh \ - && ret=0 - fi - ;; - forward) - local port=false host=false listen=false bind=false - if compset -P 1 '*:'; then - if [[ $IPREFIX != (*=|)<-65535>: ]]; then - if compset -P 1 '*:'; then - if compset -P '*:'; then - port=true - else - host=true - fi - else - listen=true - ret=0 - fi - else - if compset -P '*:'; then - port=true - else - host=true - fi - fi - else - listen=true - bind=true - fi - $port && { _message -e port-numbers 'port number'; ret=0 } - $listen && { _message -e port-numbers 'listen-port number'; ret=0 } - $host && { _wanted hosts expl host _ssh_hosts -S: && ret=0 } - $bind && { _wanted bind-addresses expl bind-address _bind_addresses -S: && ret=0 } - return ret - ;; - dynforward) - _message -e port-numbers 'listen-port number' - if ! compset -P '*:'; then - _wanted bind-addresses expl bind-address _bind_addresses -qS: - fi - return 0 - ;; - hostport) - if compset -P '*:'; then - _message -e port-numbers 'port number' - ret=0 - else - _wanted hosts expl host _ssh_hosts -S: && ret=0 - fi - return ret - ;; - macs) - _wanted macs expl 'MAC algorithm' _sequence compadd - $(_call_program macs ssh -Q mac) - return - ;; - ciphers) - _wanted ciphers expl 'encryption cipher' _sequence compadd - $(_call_program ciphers ssh -Q cipher) - return - ;; - command) - if (( $+opt_args[-s] )); then - _wanted subsystems expl subsystem compadd sftp - return - fi - local -a _comp_priv_prefix - shift 1 words - (( CURRENT-- )) - _normal - return - ;; - userhost) - if compset -P '*@'; then - _wanted hosts expl 'remote host name' _ssh_hosts && ret=0 - elif compset -S '@*'; then - _wanted users expl 'login name' _ssh_users -S '' && ret=0 - else - if (( $+opt_args[-l] )); then - tmp=() - else - tmp=( 'users:login name:_ssh_users -qS@' ) - fi - _alternative \ - 'hosts:remote host name:_ssh_hosts' \ - "$tmp[@]" && ret=0 - fi - ;; - file) - if compset -P 1 '[^./][^/]#:'; then - _remote_files -- ssh ${(kv)~opt_args[(I)-[FP1246]]/-P/-p} && ret=0 - elif compset -P 1 '*@'; then - suf=( -S '' ) - compset -S ':*' || suf=( -r: -S: ) - _wanted hosts expl 'remote host name' _ssh_hosts $suf && ret=0 - else - _alternative \ - 'files:: _files' \ - 'hosts:remote host name:_ssh_hosts -r: -S:' \ - 'users:user:_ssh_users -qS@' && ret=0 - fi - ;; - rfile) - if compset -P 1 '*:'; then - _remote_files -- ssh && ret=0 - elif compset -P 1 '*@'; then - _wanted hosts expl host _ssh_hosts -r: -S: && ret=0 - else - _alternative \ - 'hosts:remote host name:_ssh_hosts -r: -S:' \ - 'users:user:_ssh_users -qS@' && ret=0 - fi - ;; - esac - done - - return ret -} - -_ssh_users () { - _combination -s '[:@]' my-accounts users-hosts users "$@" -} - -_ssh "$@" diff --git a/result/sw/share/zsh/5.9/functions/_ssh_hosts b/result/sw/share/zsh/5.9/functions/_ssh_hosts deleted file mode 100644 index a4a08ad9..00000000 --- a/result/sw/share/zsh/5.9/functions/_ssh_hosts +++ /dev/null @@ -1,54 +0,0 @@ -#autoload - -local -a config_hosts -local config -integer ind - -# If users-hosts matches, we shouldn't complete anything else. -if [[ "$IPREFIX" == *@ ]]; then - _combination -s '[:@]' my-accounts users-hosts "users=${IPREFIX/@}" hosts "$@" && return -else - _combination -s '[:@]' my-accounts users-hosts \ - ${opt_args[-l]:+"users=${opt_args[-l]:q}"} hosts "$@" && return -fi -if (( ind = ${words[(I)-F]} )); then - config=${~words[ind+1]} 2>/dev/null -else - config="$HOME/.ssh/config" -fi -if [[ -r $config ]]; then - local key line host - local -a lines=("${(@f)$(<"$config")}") 2>/dev/null - local -a match_args - local idx=1 - while (( idx <= $#lines )); do - IFS=$'=\t ' read -r key line <<<"${lines[idx]}" - if [[ "$key" == ((#i)match) ]]; then - match_args=(${(z)line}) - while [[ $#match_args -ge 2 ]]; do - if [[ "${match_args[1]}" == (#i)(canonical|final|(|original)host) ]]; then - key="Host" - line="${match_args[2]//,/ }" - break - fi - shift 2 match_args - done - fi - case "$key" in - ((#i)include) - lines[idx]=("${(@f)$(cd $HOME/.ssh; cat ${(z)~line})}") 2>/dev/null;; - ((#i)host(|name)) - for host in ${(z)line}; do - case $host in - (*[*?]*) ;; - (*) config_hosts+=("$host") ;; - esac - done ;& - (*) (( ++idx ));; - esac - done - if (( ${#config_hosts} )); then - _wanted hosts expl 'remote host name' \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" $config_hosts - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_sshfs b/result/sw/share/zsh/5.9/functions/_sshfs deleted file mode 100644 index 3467fbd8..00000000 --- a/result/sw/share/zsh/5.9/functions/_sshfs +++ /dev/null @@ -1,73 +0,0 @@ -#compdef sshfs - -local curcontext="$curcontext" state state_descr line -typeset -A opt_args -integer ret=1 - -# TODO: in the "user@host" argument, the "user@" part should be optional -_arguments -C -S : \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-V,--version}'[display version information]' \ - '-p[specify TCP port]:tcp port:_ports' \ - '-C[enable compression]' \ - '-F[specify ssh config file]:file:_files' \ - '*-o[specify mount options]:options:->options' \ - '(-d --debug -f)'{-d,--debug}'[enable debug output]' \ - '-f[foreground]' \ - '-s[disable multithreaded operation]' \ - ':remote directory:_user_at_host -S:' \ - ':mountpoint:_files -/' && ret=0 - -if [[ $state == options ]]; then - # TODO complete ssh(1) options - _values -s , "options to ssh, sshfs, mount, or FUSE" \ - 'port:number' \ - 'compression: :(yes no)' \ - reconnect delay_connect sshfs_sync no_readahead sync_readdir \ - sshfs_debug \ - 'cache: :(yes no)' \ - 'cache_timeout:timeout (seconds)' \ - 'dir_cache:cache setting:(yes no)' \ - 'dcache_max_size:size [10000]' \ - 'dcache_timeout:timeout (seconds) [20]' \ - dcache_{stat,dir,link}_timeout:'timeout (seconds)' \ - 'dcache_clean_interval:interval [60]' \ - 'dcache_min_clean_interval:interval [5]' \ - 'workaround:workaround:(none all rename renamexdev delaysrv truncate nobuflimit fstat createmode)' \ - 'idmap:user/group mapping:(none user file)' \ - uidfile:file:_files \ - gidfile:file:_files \ - 'nomap:type:(ignore error)' \ - 'ssh_command:ssh command:_command_names' \ - 'ssh_protocol:version:(1 2)' \ - sftp_server:path:_files \ - directport:port:_ports \ - slave disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \ - debug \ - allow_other allow_root auto_unmount nonempty default_permissions \ - fsname:filesystem\ name \ - subtype:filesystem\ type \ - large_read \ - max_read:max\ size \ - hard_remove use_ino readdir_ino direct_io kernel_cache auto_cache noauto_cache \ - 'umask:permissions' \ - 'uid:owner' 'gid:group' \ - 'entry_timeout:timeout (seconds) [1]' \ - 'negative_timeout:timeout (seconds) [0]' \ - 'attr_timeout:timeout (seconds) [1]' \ - 'ac_attr_timeout:timeout (seconds) [= attr_timeout]' \ - noforget \ - 'remember:time (seconds)' \ - nopath intr \ - 'intr_signal:signal [10]' \ - modules:module \ - max_write:size \ - max_readahead:readahead \ - max_background:number \ - congestion_threshold:threshold \ - async_read sync_read atomic_o_trunc big_writes no_remote_lock no_remote_flock \ - no_remote_posix_lock splice_write splice_move splice_read \ - from_code:charset to_code:charset subdir:_directories rellinks norellinks && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_stat b/result/sw/share/zsh/5.9/functions/_stat deleted file mode 100644 index 03abe88a..00000000 --- a/result/sw/share/zsh/5.9/functions/_stat +++ /dev/null @@ -1,90 +0,0 @@ -#compdef stat gstat zstat - -# Notes: -# - @todo It would be nice to complete the -c/-f format strings some day -# - @todo It should be possible to complete NFS file handles on FreeBSD and -# Dragonfly by parsing the output of `lsof -N`, but it's not available by -# default — is there another way? - -local expl variant ret=1 -local -a context line state state_descr args aopts=( -A '-*' ) -local -A opt_args - -_pick_variant -r variant -b zsh gnu='Free Soft' $OSTYPE --version - -case $variant in - zsh) - args=( - "(-H)-A[assign the results to array, don't print]:array variable:_parameters -g '*array*'" - - set1 - +device +inode +mode +nlink +uid +gid +rdev - +size +atime +mtime +ctime +blksize +block +link - "(-A)-H[assign the results to associative array, don't print]:associative array variable:_parameters -g '*association*'" - '(:)-f[stat the specified file descriptor]:file descriptor:_file_descriptors' - '(-s)-F[specify strftime(3) format string]: :_date_formats zsh' - '(-s)-g[show times in GMT/UTC]' - # Note that this has the *opposite* effect of other variants' -L option! - "-L[don't dereference symbolic links; use lstat(2)]" - '(-N)-n[always show names of files]' - '(-n)-N[never show names of files]' - '-o[print file modes in octal rather than decimal]' - '-r[print raw data]' - '(-o)-s[print mode, UID, GID, and times as strings]' - '(-T)-t[always show type names]' - '(-t)-T[never show type names]' - '*: :_files' - - set2 - '-l[list stat types]' - ) - ;; - gnu) - aopts=( ) - args=( - '*: :_files' - '(: * -)--help[display help information]' - '(: * -)--version[display version information]' - '(-L --dereference)'{-L,--dereference}'[dereference symbolic links]' - + '(d)' # Display options - {-c+,--format=}'[display per the specified format string]:format string' - {-f,--file-system}'[display file-system status instead of file status]' - '--printf=[display as with -c, but interpret backslash escapes like printf(3)]' - {-t,--terse}'[display in terse format]' - ) - ;; - darwin*|dragonfly*|*bsd*) - args=( - '*: :->files-or-handles' - '(-H)-L[dereference symbolic links]' - '-q[suppress error messages about lstat(2)/stat(2) failure]' - + '(d)' # Primary display options - '(-F)-f+[display per the specified format string]:format string' - '-l[display in `ls -lT` format]' - '(-F -t)-r[display in raw (numerical) format]' - '(-F -t)-s[display in shell variable-assignment format]' - '(-F)-x[display in verbose (Linux-style) format]' - + D # Secondary display options - '(-f -r -s -x)-F[append file type indicators (implies -l)]' - '-n[suppress terminating newlines]' - '(-r -s)-t+[specify strftime(3) format string]: :_date_formats' - ) - ;| # MATCH AGAIN - dragonfly*|freebsd*) - args+=( - + df - '(-L)-H[treat arguments as hexadecimal-formatted NFS file handles]' - ) - ;; -esac - -(( $#args )) || args=( '*: :_files' ) - -_arguments -s -S $aopts : $args && ret=0 - -[[ $state == files-or-handles ]] && -if [[ -n ${opt_args[(i)*--H]} ]]; then - _message -e nfs-handles 'NFS file handle' -else - _files && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_stdbuf b/result/sw/share/zsh/5.9/functions/_stdbuf deleted file mode 100644 index 4b7d98ba..00000000 --- a/result/sw/share/zsh/5.9/functions/_stdbuf +++ /dev/null @@ -1,32 +0,0 @@ -#compdef stdbuf gstdbuf - -local -a short long buf args -local i opt gnu=0 - -short=( -e -i -o ) -long=( --error --input --output ) -buf=( err in out ) - -opt='[set initial buffering for std${buf[i]}]: : _alternative - "sizes\: \: _numbers -u bytes size k M G" - "modes\:mode\:((0\:unbuffered L\:line\ buffered' -if _pick_variant gnu=GNU freebsd --version; then - gnu=1 - args=( - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) -else - opt+=' B\:fully\ buffered' -fi -opt+='))"' - -for ((i=1;i<=3;i++)); do - args+=( "(${long[i]})${short[i]}+${(e)opt}" ) - (( gnu )) && args+=( - "(${short[i]})${long[i]}=${(e)opt}" - ) -done -(( CURRENT > 2 )) && args+=( '*::command:_normal' ) - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_stgit b/result/sw/share/zsh/5.9/functions/_stgit deleted file mode 100644 index e31af460..00000000 --- a/result/sw/share/zsh/5.9/functions/_stgit +++ /dev/null @@ -1,52 +0,0 @@ -#compdef stg - -typeset -a subcmds - -subcmds=( ${${${(M)${(f)"$(stg help 2> /dev/null)"}## *}# }/#(#b)([^[:space:]]##)[[:space:]]##(*)/$match[1]:$match[2]} ) - -local curcontext="$curcontext" expl -local subcmd -local ret=1 - -if (( CURRENT == 2 )); then - _describe -t commands 'stgit command' subcmds && ret=0 -else - shift words - (( CURRENT-- )) - subcmd="$words[1]" - curcontext="${curcontext%:*}-${subcmd}:" - - case $subcmd in - (push) - _wanted -V unapplied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##- *}#- } \ - && ret=0 - ;; - (pop) - _wanted -V applied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##[+>] *}#[+>] } \ - && ret=0 - ;; - (edit|files|goto|rename|log|float|delete|sink|mail|sync|show|pick|hide|squash) - _wanted -V patches expl "patch" \ - compadd $(stg series --noprefix 2> /dev/null) \ - && ret=0 - ;; - (ref*) - last_word="$words[$CURRENT-1]" - refresh_patch_options=( -p --patch ) - if [[ -n ${refresh_patch_options[(r)$last_word]} ]]; then - _wanted -V applied-patches expl "patch" \ - compadd ${${(M)${(f)"$(stg series 2> /dev/null)"}##[+>] *}#[+>] } \ - && ret=0 - else - _files && ret=0 - fi - ;; - (*) - _files && ret=0 - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_store_cache b/result/sw/share/zsh/5.9/functions/_store_cache deleted file mode 100644 index b08ff114..00000000 --- a/result/sw/share/zsh/5.9/functions/_store_cache +++ /dev/null @@ -1,64 +0,0 @@ -#autoload -# -# Storage component of completions caching layer - -local _cache_ident _cache_ident_dir _cache_dir -_cache_ident="$1" - -if zstyle -t ":completion:${curcontext}:" use-cache; then - # Decide which directory to cache to, and ensure it exists - zstyle -s ":completion:${curcontext}:" cache-path _cache_dir - : ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} - if [[ ! -d "$_cache_dir" ]]; then - if [[ -e "$_cache_dir" ]]; then - _message "cache-dir style points to a non-directory\!" - else - # if module load fails, we *should* be okay using normal mkdir so - # we load feature b:mkdir instead of b:zf_mkdir; note that modules - # loaded in a sub-shell don't affect the parent. - ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_dir" - ) 2>/dev/null - if [[ ! -d "$_cache_dir" ]]; then - _message "couldn't create cache-dir $_cache_dir" - return 1 - fi - fi - fi - _cache_ident_dir="$_cache_dir/$_cache_ident" - _cache_ident_dir="$_cache_ident_dir:h" - - if [[ ! -d "$_cache_ident_dir" ]]; then - if [[ -e "$_cache_ident_dir" ]]; then - _message "cache ident dir points to a non-directory:$_cache_ident_dir" - else - # See also rationale in zmodload above - ( zmodload -F zsh/files b:mkdir; mkdir -m 0700 -p "$_cache_ident_dir" - ) 2>/dev/null - if [[ ! -d "$_cache_ident_dir" ]]; then - _message "couldn't create cache-ident_dir $_cache_ident_dir" - return 1 - fi - fi - fi - - - shift - for var; do - case ${(Pt)var} in - (*readonly*) ;; - (*(association|array)*) - # Dump the array as a here-document to reduce parsing overhead - # when reloading the cache with "source" from _retrieve_cache - print -r "$var=( "'${(Q)"${(z)$(<<\EO:'"$var" - print -r "${(kv@Pqq)^^var}" - print -r "EO:$var" - print -r ')}"} )' - ;; - (*) print -r "$var=${(Pqq)^^var}";; - esac - done >! "$_cache_dir/$_cache_ident" -else - return 1 -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/_stow b/result/sw/share/zsh/5.9/functions/_stow deleted file mode 100644 index 6a315fc5..00000000 --- a/result/sw/share/zsh/5.9/functions/_stow +++ /dev/null @@ -1,87 +0,0 @@ -#compdef stow chkstow - -# -# A zsh completion script for GNU stow (https://www.gnu.org/software/stow/) -# - -(( $+functions[__stow_packages] )) || -__stow_packages() { - local stow_dir=${(Q)1} - local -a stow_pkg_list=( $stow_dir/*(-/N:t) ) - - if [[ ${#stow_pkg_list} -gt 0 ]]; then - _values -C "package from $stow_dir" ${${stow_pkg_list//\\/\\\\}//:/\\:} - else - _message "no package found in $stow_dir" - fi -} - -case $service in - stow) - local state line curcontext="$curcontext" ret=1 - typeset -A opt_args - # Others local variables - local stow_dir arguments - - arguments=( - '(- *)'{--help,-h}'[show help]' - '(- *)'{--version,-V}'[show version number]' - '(-d --dir)'{-d+,--dir=}'[set the stow dir (default is current dir)]:stow dir [$PWD]:_files -/' - '(-t --target)'{-t+,--target=}'[set the target dir (default is parent of stow dir)]:target dir [../$PWD]:_files -/' - # Several distinct actions can be specified in a single invocation - # of the stow command (stow/unstow/restow). However, neither the - # stow command nor this script will prevent you from using - # different actions on the same package. - '*'{-S,--stow}'[stow the package names that follow]: :->stow_package' - '*'{-D,--delete}'[unstow the package names that follow]: :->stow_package' - '*'{-R,--restow}'[restow (unstow and stow again) the package names that follow]: :->stow_package' - '--adopt[adopt already existing plain file]' - '--ignore=[ignore files ending with this perl regex]:regexp:' - "--defer=[don't stow files beginning with this perl regex]:regexp:" - '--override=[force stowing files beginning with this perl regex]:regexp:' - '--no-folding[disable any further tree folding or tree refolding]' - '--dotfiles[enable special handling for dotfiles]' - '(-p --compat)'{-p,--compat}'[use legacy algorithm for unstowing]' - '(-n -no --simulate)'{-n,--no,--simulate}'[do not actually make any filesystem changes]' - '*-v[increase verbosity]' - '*--verbose=-[increase verbosity]::level:(0 1 2 3 4 5)' - '*:stow package:->stow_package' - ) - - _arguments -s -C $arguments && ret=0 - - case $state in - (stow_package) - if (( $+opt_args[-d] )) ; then - stow_dir="$opt_args[-d]" - elif (( $+opt_args[--dir] )) ; then - stow_dir="$opt_args[--dir]" - elif [[ ${(t)STOW_DIR} == *export* ]] && [[ -n "$STOW_DIR" ]]; then - # if not provided from the command line, for the stow command, the stow - # directory is assumed to be the value of the "STOW_DIR" environment - # variable... - stow_dir="$STOW_DIR" - else - # ...if unset, the stow directory is assumed to be the current directory - stow_dir="$PWD" - fi - - __stow_packages "$stow_dir" && ret=0 - - ;; - esac - - return ret - ;; - chkstow) - local arguments - arguments=( - '(-t --target)'{-t+,--target=}'[set the target directory (default is /usr/local/)]:target dir:_files -/' - '(-b --badlinks)'{-b,--badlinks}'[report symlinks that point to non-existent files (default mode)]' - '(-a --aliens)'{-a,--aliens}'[report non-symlinks in the target directory]' - '(-l --list)'{-l,--list}'[list packages in the target directory]' - ) - _arguments $arguments - ;; -esac - diff --git a/result/sw/share/zsh/5.9/functions/_strace b/result/sw/share/zsh/5.9/functions/_strace deleted file mode 100644 index b3b6f509..00000000 --- a/result/sw/share/zsh/5.9/functions/_strace +++ /dev/null @@ -1,163 +0,0 @@ -#compdef strace strace64 - -local curcontext="$curcontext" root -local -i prec=1 form=1 ret=1 -local -a state line expl alts suf -typeset -A opt_args - -(( EUID && ! $+_comp_priv_prefix )) && root='!' - -_arguments -C -s \ - \*{-E+,--env=}'[set or remove exported environment variable]:variable:->envars' \ - '(:)*'{-p+,--attach=}'[attach to the process with specified process ID and begin tracing]:process ID:_pids' \ - "${root}(-u --user)"{-u+,--user=}'[run as specified user]:user:_users' \ - '(-b --detach-on)'{-b+,--detach-on=}'[detach from process on specified syscall]:syscall:(execve)' \ - '(--daemonize)-D[run tracer as detached grandchild, keeping traced process as direct child of calling process]' \ - '(-D)--daemonize=-[specify how to run tracer process]::method:(grandchild pgroup session)' \ - '(-f --follow-forks)'{-f,--follow-forks}'[trace child processes as they are created by currently traced processes]' \ - '(-I --interruptible)'{-I+,--interruptible=}'[specify when strace can be interrupted by signals]:interruptible:((1\:"no signals are blocked" 2\:"fatal signals are blocked while decoding syscall (default)" 3\:"fatal signals are always blocked (default with -o)" 4\:"fatal signals and SIGTSTP are always blocked"))' \ - \*{-e+,--trace=}'[select events to trace or how to trace]:system call:->expressions' \ - \*{-P+,--path=}'[trace only system calls accessing given path]:path:_files' \ - '(-z -Z --successful-only --failed-only)'{-z,--successful-only}'[trace only system calls that return success]' \ - '(-z -Z --successful-only --failed-only)'{-Z,--failed-only}'[trace only system calls that return an error]' \ - '(-a --columns)'{-a+,--columns=}'[align return values in a specific column]:column number [40]' \ - '(-i --instruction-pointer -c --summary-only)'{-i,--instruction-pointer}'[print instruction pointer at time of syscall]' \ - '(-c --summary-only -k --stack-traces)'{-k,--stack-traces}'[obtain stack trace between each syscall]' \ - '(-n --syscall-number)'{-n,--syscall-number}'[print syscall number]' \ - '(-o --output)'{-o+,--output=}'[send trace output to the specified file]:output file:->file-pipe' \ - '(-A --output-append-mode)'{-A,--output-append-mode}'[open the file provided with the -o option in append mode]' \ - '--output-separately[output to separate files for child processes (by appending pid to file names)]' \ - '(--quiet)-q[suppress messages about attaching, detaching etc]' \ - '(-q --quiet)-qq[suppress messages about process exit status]' \ - '(-q -qq --quiet)-qqq[suppress all suppressible messages]' \ - '(-q -qq -qqq)--quiet=[suppress messages about attaching, detaching etc]:suppression:_sequence compadd - attach personality exit all' \ - '(--relative-timestamps -c --summary-only)-r[print a relative timestamp upon entry to each system call]' \ - '(-r -c --summary-only)--relative-timestamps=-[print a relative timestamp upon entry to each system call]:precision [us]:compadd -o nosort s ms us ns' \ - '(--absolute-timestamps)-t[prefix each line of the trace with the wall clock time]' \ - '(-t)--absolute-timestamps=-[prefix each line of the trace with the wall clock time]:: :->time-formats' \ - '!(-t --absolute-timestamps)--timestamps=-:: :->time-formats' \ - '(-s --string-limit)'{-s+,--string-limit=}'[specify the maximum string size to print]:maximum string size [32]' \ - '(-c --summary-only -ttt)-t[prefix each line of the trace with the time of day]' \ - '(-c --summary-only -ttt -tt)-tt[prefix each line of the trace with the time of day including the microseconds]' \ - '(-c --summary-only -tt -t)-ttt[prefix each line of the trace with the number of seconds and microseconds since the epoch]' \ - '(--syscall-times -c --summary-only)-T[show the time spent in system calls]' \ - '(-T -c --summary-only)--syscall-times=-[show the time spent in system calls]::precision [us]:compadd -o nosort s ms us ns' \ - '(-v --no-abbrev)'{-v,--no-abbrev}'[print unabbreviated versions of environment, stat, termios, etc. calls]' \ - '(-xx --strings-in-hex)-x[print all non-ASCII strings in hexadecimal string format]' \ - '(-x --strings-in-hex)-xx[print all strings in hexadecimal string format]' \ - '(-x -xx)--strings-in-hex=[specify strings to print in hexadecimal format]:string type:(all non-ascii)' \ - '(-X --const-print-style)'{-X+,--const-print-style=}'[set the format for printing of named constants and flags]:format:(raw abbrev verbose)' \ - '(-c --summary-only -yy --decode-fds)-y[print paths associated with file descriptor arguments]' \ - '(-c --summary-only -y --decode-fds)-yy[print protocol specific information associated with socket file descriptors]' \ - '(-c --summary-only -y -yy)--decode-fds=-[print information associated with file descriptors]::information [none]:_sequence compadd - none all path socket dev pidfd' \ - '(-c --summary-only -C --summary -i --instruction-pointer -k --stack-traces -r --relative-timestamps -ff -t -tt -ttt --absolute-timestamps -T --syscall-times -y -yy --decode-fds)'{-c,--summary-only}'[count time, calls, and errors for each system call and report a summary]' \ - '(-c --summary-only -C --summary)'{-C,--summary}'[count time, calls, and errors for each system call and report a summary in addition to regular output]' \ - '(-O --summary-syscall-overhead)'{-O+,--summary-syscall-overhead=}'[specify overhead for tracing system calls]:overhead (microseconds)' \ - '(-S --summary-sort-by)'{-S+,--summary-sort-by=}'[sort the output of the histogram (-c option) by the specified criterion]:sort criterion [time]:(time min-time max-time avg-time calls errors name nothing)' \ - '(-U --summary-columns)'{-U+,--summary-columns=}'[show specific columns in the summary report]:column:_sequence compadd - time-percent total-time min-time max-time avg-time calls errors name' \ - '(-w --summary-wall-clock)'{-w,--summary-wall-clock}'[summarise syscall latency]' \ - '(-c --summary-only -C)-ff[write each process trace to <filename>.<pid> (when using -o <filename>]' \ - '(-d --debug)'{-d,--debug}'[show debug output of strace itself on standard error]' \ - '(- 1 *)'{-h,--help}'[display help information]' \ - '--seccomp-bpf[enable seccomp-bpf filtering]' \ - '(- 1 *)'{-V,--version}'[display version information]' \ - '(-):command name: _command_names -e' \ - '*::arguments:_normal' && ret=0 - -case $state in - expressions) - _values -C -S = 'qualifying expression' \ - 'trace[trace specified set of system calls only]:system calls:->syscalls' \ - 'abbrev[abbreviate the output from printing each member of large structures]:system call:_sequence _sys_calls -a -n' \ - 'verbose[dereference structures for the specified set of system calls]:system call:_sequence _sys_calls -a -n' \ - 'raw[print raw, undecoded arguments for the specified set of system calls]:system call:_sequence _sys_calls -a -n' \ - 'signal[trace only the specified subset of signals]:signal:_sequence _signals -s -M "B\:!="' \ - 'read[perform a full hex and ASCII dump of all the data read from listed file descriptors]:file descriptor:_sequence _file_descriptors' \ - 'write[perform a full hex and ASCII dump of all the data written to listed file descriptors]:file descriptor:_sequence _file_descriptors' \ - 'fault[perform syscall fault injection]:system call:_sys_calls -a -n' \ - 'inject[perform syscall tampering]:system call:_sys_calls -a -n' \ - 'status[trace system calls with given return status]:status:->status' \ - 'quiet[suppress various information messages]:message [none]:_sequence compadd - none attach exit path-resolution personality thread-execve superseded' \ - 'kvm[print the exit reason of kvm vcpu]: :(vcpu)' \ - 'decode-fds[print information associated with file descriptors]:information [none]:_sequence compadd - none all path socket dev pidfd' && ret=0 - if [[ $state = status ]]; then - _values -s , 'return status [all]' \ - all successful failed \ - "unfinished[system calls that don't return]" \ - 'unavailable[system calls that return but strace fails to fetch the error]' \ - 'detached[system calls where strace detaches before the return]' && ret=0 - elif [[ $words[CURRENT] != *=* || $state = syscalls ]]; then - local dedup sets - compset -P '!' - dedup=( ${(Ms.,.)PREFIX##*,} ${(Ms.,.)SUFFIX%%,*} ) - compset -S ',*' || suf=( "-qS," ) - compset -P '*,' - if compset -P /; then - _wanted syscalls expl "system call (regex)" _sys_calls -a -n $suf -F dedup && ret=0 - else - sets=( - '%clock:trace system calls that read or modify system clocks' - '%creds:trace system calls that read or modify user and group identifiers or capability sets' - {%,}'file:trace all system calls which take a file name as an argument' - {%,}'process:trace all system calls which involve process management' - {%net,{%,}network}':trace all the network related system calls' - {%,}'signal:trace all signal related system calls' - {%,}'ipc:trace all IPC related system calls' - {%,}'desc:trace all file descriptor related system calls' - {%,}'memory:trace all memory mapping related system calls' - '%stat:trace variants of stat' - '%lstat:trace variants of lstat' - '%fstat:trace variants of fstat and fstatat' - '%%stat:trace variants of all syscalls used for requesting file status' - '%statfs:trace variants of statfs' - '%fstatfs:trace variants of fstatfs' - '%%statfs:trace variants of all syscalls used for file system statistics' - '%pure:trace syscalls that always succeed and have no arguments' - ) - _alternative \ - "sets:related system call: _describe -t traces 'related system call' sets -F dedup $suf" \ - "syscalls:system call:_sys_calls -a -n $suf -F dedup" && ret=0 - fi - fi - ;; - file-pipe) - compset -P '\\' - if (( ! $+opt_args[-ff] )) && compset -P '(!|\|)'; then - compset -q - if (( CURRENT == 1 )); then - _command_names -e && ret=0 - else - _normal && ret=0 - fi - else - _files && ret=0 - fi - ;; - envars) - if [[ -prefix *=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value && ret=0 - else - _parameters -qS= -g "*export*" && ret=0 - fi - ;; - time-formats) - alts=() - compset -P '(precision:*|s|ms|us|ns),' && prec=0 - compset -P '(format:*|none|time|unix),' && form=0 - compset -S ',*' || (( !prec + !form )) || suf=( -S , ) - if compset -P 'precision:'; then - form=0 - elif compset -P 'format:'; then - prec=0 - else - alts=( 'prefixes:prefix:compadd -S ":" ${${(s. .):-format x}[form]} ${${(s. .):-precision x}[prec]}' ) - fi - (( prec )) && alts+=( 'precisions:precision [s]:compadd -o nosort $suf s ms us ns' ) - (( form )) && alts+=( 'formats:format [time]:compadd $suf none time unix' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_strftime b/result/sw/share/zsh/5.9/functions/_strftime deleted file mode 100644 index a57a76ce..00000000 --- a/result/sw/share/zsh/5.9/functions/_strftime +++ /dev/null @@ -1,16 +0,0 @@ -#compdef strftime - -local expl two='epoch time' - -if (( words[(I)-r] )); then - two='date string' -fi - -_arguments -S -A '-*' -s \ - '-n[omit trailing newline]' \ - '-q[run quietly]' \ - '(3)-r[reverse lookup using strptime]' \ - '-s+[assign result to parameter]:param:_parameters' \ - '1:format: _date_formats zsh' \ - "2:$two" \ - '3:nanoseconds' \ diff --git a/result/sw/share/zsh/5.9/functions/_strings b/result/sw/share/zsh/5.9/functions/_strings deleted file mode 100644 index 685daa28..00000000 --- a/result/sw/share/zsh/5.9/functions/_strings +++ /dev/null @@ -1,73 +0,0 @@ -#compdef strings gstrings eu-strings - -local args variant format bytes -format='[precede each string by its byte offset in the file]:format:((d\:decimal o\:octal x\:hexadecimal))' -bytes='[specify minimum string length]:length (bytes) [4]' -args=( - '(-t --radix)-o[precede each string by its decimal byte offset]' - '!(-n --bytes)-'{1,2,3,4,5,6,7,8,9} -) - -if _pick_variant -r variant binutils=GNU elftoolchain=elftoolchain elfutils=elfutils unix -V; then - args+=( - '(-a --all -d --data)'{-a,--all}'[look everywhere in file, not just initialised data space of object files]' - '(-e --encoding)'{-e+,--encoding=}'[select character size and endianness]:character type:(( - s\:7-bit - S\:8-bit - b\:16-bit\ big-endian - l\:16-bit\ little-endian - B\:32-bit\ big-endian - L\:32-bit\ little-endian))' - '(-f --print-file-name)'{-f,--print-file-name}'[print name of the file before each string]' - '(-n --bytes)'{-n+,--bytes=}"$bytes" - '(-d -t --radix)'{-t+,--radix=}"$format" - '(- *)--help[display help information]' - '(- *)--version[display version information]' - ) - case $variant in - elfutils|binutils) - args+=( '(- *)-V[display version information]' ) - ;| - elftoolchain|binutils) - args+=( - '(- *)-h[display help information]' - '(- *)-v[display version information]' - ) - ;| - binutils) - args+=( - '(-a --all -d --data)'{-d,--data}'[only print strings from file data sections]' - '(-w --include-all-whitespace)'{-w,--include-all-whitespace}'[include all whitespace as valid string characters]' - '(-T --target)'{-T+,--target=}'[specify binary file format]:format:compadd - ${(z)${(M)${(f)"$(_call_program targets strings --help)"}##* supported targets*}##*\: }' - '(-s --output-separator)'{-s+,--output-separator=}'[specify string used to separate strings in output]:separator' - ) - ;; - elfutils) - args+=( - '(- *)--usage[display a short usage message]' - '(- *)-?[display help information]' - ) - ;; - esac -else - args+=( - "(-d)-t+$format" - "-n+$bytes" - '-a[look everywhere in file, not just initialised data space of object files]' - ) - case $OSTYPE in - darwin*) - local -a arch - arch=( ${(z)${${"$(_call_program architectures strings -arch - 2>&1)"}#*flags are: }%%$'\n'*} all ) - args+=( '-arch[specify the architecture]:architecture:compadd -a arch' ) - ;; - esac -fi - -if compset -P '@'; then - _files - return -fi - -_arguments -S -s $args \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_strip b/result/sw/share/zsh/5.9/functions/_strip deleted file mode 100644 index 3e1a6b69..00000000 --- a/result/sw/share/zsh/5.9/functions/_strip +++ /dev/null @@ -1,96 +0,0 @@ -#compdef strip - -local curcontext=$curcontext state line ret=1 -declare -A opt_args -declare -a args - -if _pick_variant gnu=GNU solaris --version; then - if [[ -prefix @* ]]; then - compset -P '@' - - local expl - - _description files expl 'command-line-options file' - _files "$expl[@]" - return - fi - args=( - '(-F --target)'{-F+,--target=}'[object code format to use]:bfd name:->bfdnames' - '(-)--help[display usage information]' - '(-)--info[display list of architectures and object formats]' - '(-I --input-target)'{-I+,--input-target=}'[object code format of input]:bfd name:->bfdnames' - '(-O --output-target)'{-O+,--output-target=}'[object code format of output]:bfd name:->bfdnames' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-U,--disable-deterministic-archives}'[disable -D behavior]' - '(-D --enable-deterministic-archives -U --disable-deterministic-archives)'{-D,--enable-deterministic-archives}'[produce deterministic output when stripping archives (zero file metadata)]' - '*'{-R+,--remove-section=}'[remove given sections]:section name' - '--remove-relocations=[remove relocations from specified section]:section' - '(-s --strip-all)'{-s,--strip-all}'[remove all symbols]' - '(-g -S -d --strip-debug)'{-g,-S,-d,--strip-debug}'[remove debugging symbols]' - '--strip-dwo[remove all DWARF .dwo sections]' - '--strip-unneeded[remove symbols not needed for relocation processing]' - '!(--no-merge-notes)'{-M,--merge-notes} - "--no-merge-notes[don't attempt to remove redundant notes]" - '*'{-K+,--keep-symbol=}'[keep given symbol]:symbol name' - '*'{-N+,--strip-symbol=}'[strip given symbol]:symbol name' - "*--keep-section=[don't strip given section]:section" - '(*)-o+[output file]:output file:_files' - '(-p --preserve-dates)'{-p,--preserve-dates}'[preserve access and modification dates]' - '(-w --wildcard)'{-w,--wildcard}'[permit wildcards in symbol names]' - '(-x --discard-all)'{-x,--discard-all}'[remove non-global symbols]' - '(-X --discard-locals)'{-X,--discard-locals}'[remove compiler-generated local symbols]' - '--keep-file-symbols[retain symbols specifying source file names]' - '--only-keep-debug[remove everything except debugging information]' - '(-)'{-V,--version}'[display version information and exit]' - '(-v --verbose)'{-v,--verbose}'[list all object files modified or members of archives]') -else - case $OSTYPE in - solaris*) - args=( - '-l[strip line information only]' - '-V[display version information on stderr and exit]' - '-x[do not strip the symbol table]') - ;; - darwin*) - local -a arch - arch=( ${(z)${${"$(_call_program architectures - strings -arch - 2>&1)"}#*flags are: }%%$'\n'*} all ) - args=( - '-u[save all undefined symbols]' - '-r[save all symbols referenced dynamically]' - '-s[save global symbols listed in the specified file]:file:_files' - '-R[remove global symbols listed in the specified file]:file:_files' - '-i[ignore symbols listed in -s/-R file but are not in the object files]' - '-d[save debug symbols in files listed in the specified file]:file:_file' - '-A[save all global absolute symbols and Objective-C class symbols]' - '-n[save all N_SECT global symbols]' - '-S[remove debug symbols]' - '-X[remove local symbols whose names begin with L]' - '-T[remove Swift symbols]' - '-N[remove all nlist symbols and string tables from binaries used by dyld]' - '-x[remove all local symbols]' - '-c[remove section contents of dynamic library to create stub library]' - '-o[write the result to specified file]:output file:_files' - '-no_uuid[remove only LC_UUID load command]' - '-no_split_info[remove LC_SEGMENT_SPLIT_INFO load command]' - '-no_code_signature_warning[not warn when code signature would be invalid in the output]' - '-arch[specify the architecture]:architecture:( $arch )' ) - ;; - esac -fi - -_arguments \ - $args \ - '1:executable:_files -g "*(-*)"' \ - '*::executable:_files -g "*(-*)"' && ret=0 - -case $state in - (bfdnames) - local expl - declare -a bfdnames - - bfdnames=(${=${(M)${(f)"$(_call_program bfdnames strip --help)"}:#strip: supported targets: *}#strip: supported targets: }) - _describe -t bfdnames 'bfd name' bfdnames && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_stty b/result/sw/share/zsh/5.9/functions/_stty deleted file mode 100644 index 73347c5b..00000000 --- a/result/sw/share/zsh/5.9/functions/_stty +++ /dev/null @@ -1,18 +0,0 @@ -#compdef stty gstty - -local expl - -if [[ "$words[CURRENT-1]" = \ - (*erase|discard|status|dsusp|intr|kill|lnext|quit|reprint|start|s*p) ]]; then - _wanted characters expl 'control character' compadd '^-' '^h' '^?' '^c' '^u' -else - compset -P '[-+]' - _wanted values expl setting \ - compadd rows columns intr quit erase kill eof eol eol2 start stop \ - susp dsusp reprint discard werase lnext parenb parodd cs8 \ - cstopb hupcl cread clocal parext ignbrk brkint ignpar \ - parmrk inpck istrip inlcr igncr icrnl iuclc ixon ixany ixoff \ - imaxbel isig icanon xcase echo echoe echok echonl noflsh \ - tostop echoctl echoprt echoke flusho pending iexten opost \ - olcuc onlcr ocrnl onocr onlret ofill ofdel raw sane -fi diff --git a/result/sw/share/zsh/5.9/functions/_su b/result/sw/share/zsh/5.9/functions/_su deleted file mode 100644 index 1af751a1..00000000 --- a/result/sw/share/zsh/5.9/functions/_su +++ /dev/null @@ -1,114 +0,0 @@ -#compdef su - -local -A opt_args -local -a args context state line expl -local first='(-)${norm}:user name:_users' -integer norm=1 strip -local shell usr - -(( $words[(i)-(l|-login)] < CURRENT )) || args=( '-[use a login shell]' ) -case $OSTYPE in - linux*) - # Some of these options only apply to util-linux, not shadow-utils - args=( -S $args - '(-c --command --session-command *)'{-c+,--command=}'[pass command to shell]:command string:_cmdstring' - "(-c --command *)--session-command=[pass command to shell and don't create a new session]:command string:_cmdstring" - '(--fast -f)'{-f,--fast}'[pass -f to shell]' - '(-l --login -m -p --preserve-environment)'{-l,--login}'[use a login shell]' - '(-l --login -m -p --preserve-environment)'{-m,-p,--preserve-environment}"[don't reset environment]" - '(-s --shell)'{-s+,--shell=}'[run the specified shell]:shell:->shells' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - (( $#_comp_priv_prefix || EUID == 0 )) && args+=( - '(-g --group)'{-g+,--group=}'[specify primary group]:group:_groups' - \*{-G+,--supp-group=}'[specify supplemental group]:group:_groups' - ) - first="(--help --version)${first#???}" - ;; - *bsd*|darwin*|dragonfly*) - args+=( - '-f[if the invoked shell is csh, prevent it from reading .cshrc]' - '(-m)-l[use a login shell]' - "(-l)-m[don't reset environment]" - ) - ;| - *bsd*|dragonfly*) - args+=( - '-c+[use settings from specified login class]:class:_login_classes' - ) - ;| - freebsd*) args+=( '-s[set the MAC label]' ) ;; - openbsd*) - args+=( - # See login.conf(5) - '(-K)-a+[specify authentication type]:authentication type:( - activ chpass crypto lchpass passwd radius reject skey snk token yubikey - )' - '(-a)-K[shorthand for -a passwd]' - '-s+[run the specified shell]:shell:->shells' - '-L[loop until login succeeds]' - ) - ;; - netbsd*) - args+=( - '-d[use a login shell but retain current directory]' - "-K[don't use Kerberos]" - ) - ;; -esac - -if (( $words[(i)-] < CURRENT )); then - args=( ${args:#*-(-login|l|)\[*} '1:-' ) - norm=2 -fi - -# This is set so that _command_names will understand that we're completing for -# a privileged command, but _call_program won't actually prepend anything to -# commands if gain-privileges is enabled (which would be undesirable here since -# su always prompts for a password). We delay setting it until this point so it -# doesn't cause issues for the check above -local -a _comp_priv_prefix=( '' ) -_arguments $args ${(e)first} "*:shell arguments:= ->rest" && return - -usr=${${(Q)line[norm]}/--/root} -# OpenBSD supports appending a log-in method to the user name, as in usr:radius -[[ $OSTYPE == openbsd* ]] && usr=${usr%:*} - -# Normal users generally don't appear in passwd on macOS; try the Directory -# Service first -if [[ $OSTYPE == darwin* ]] && (( $+commands[dscl] )); then - shell=${"$( - _call_program shells dscl . -read /Users/${(q)usr} UserShell - )"#UserShell: } -fi - -if [[ -n $shell ]]; then - : # Found above -elif (( ${#${(@M)args:#*-s[+\[]*:*}} && $#opt_args[(i)-(s|-shell)] )); then - shell=${(v)opt_args[(i)-(s|-shell)]} -elif (( ${+commands[getent]} )); then - shell="${$(_call_program shells getent passwd ${(q)usr})##*:}" -else - shell="${${(M@)${(@f)$(</etc/passwd)}:#${usr}:*}##*:}" -fi - -case $state in - shells) - _wanted -C $context shells expl shell compadd ${(f)^"$(</etc/shells)"}(N) - return - ;; - rest) - if [[ -z $shell || $shell = */(nologin|false) ]]; then - _message "-s option required, $usr has no shell" - else - (( strip = $#words - $#line + norm )) - (( CURRENT -= strip - 1 )) - words[2,strip]=() - _dispatch ${service}:${context} $shell $shell:t -default- - return - fi - ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_sub_commands b/result/sw/share/zsh/5.9/functions/_sub_commands deleted file mode 100644 index 429931a1..00000000 --- a/result/sw/share/zsh/5.9/functions/_sub_commands +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl - -if [[ CURRENT -eq 2 ]]; then - _wanted commands expl command compadd "$@" -else - _message 'no more arguments' -fi diff --git a/result/sw/share/zsh/5.9/functions/_sublimetext b/result/sw/share/zsh/5.9/functions/_sublimetext deleted file mode 100644 index 5382e5db..00000000 --- a/result/sw/share/zsh/5.9/functions/_sublimetext +++ /dev/null @@ -1,15 +0,0 @@ -#compdef subl - -_arguments -s -S : \ - '(-a -n --add --new-window)'{-a,--add}'[add to current window]' \ - '(-b --background)'{-b,--background}"[don't activate application]" \ - '--command[run specified command]:command' \ - '(: -)'{-h,--help}'[display help information]' \ - '(-a -n --add --new-window)'{-n,--new-window}'[open new window]' \ - '--project[load specified project]:project file:_files' \ - '(-s --stay)'{-s,--stay}'[keep application activated]' \ - '--safe-mode[launch using sandboxed (clean) environment]' \ - '--launch-or-new-window[only open new window if application is open]' \ - '(: -)'{-v,--version}'[display version information]' \ - '(-w --wait)'{-w,--wait}'[wait for files to close]' \ - '*:file or directory:_files' diff --git a/result/sw/share/zsh/5.9/functions/_subscript b/result/sw/share/zsh/5.9/functions/_subscript deleted file mode 100644 index 25cedd19..00000000 --- a/result/sw/share/zsh/5.9/functions/_subscript +++ /dev/null @@ -1,133 +0,0 @@ -#compdef -subscript- - -local expl ind osuf flags sep - -[[ $ISUFFIX = *\]* ]] || osuf=\] - -if [[ "$1" = -q ]]; then - compquote osuf - osuf+=' ' - shift -fi - -compset -P '\(([^\(\)]|\(*\))##\)' # remove subscript flags - -# Look for a dynamic name expansion. Completion only gives us -# the stuff inside the square brackets; we need to find out what's -# outside. We ought to check for quoting, really, but given we've -# got to the subscript code " ~[" is pretty likely to be a dynamic -# name expansion. Also expand in anything that looks like an assignment -# or colon list. -integer pos=$((CURSOR+1)) -while [[ pos -gt 1 && $BUFFER[pos-1] != '[' ]]; do (( pos-- )); done -if [[ $BUFFER[1,pos-1] = (|*[[:space:]:=]##)\~\[ ]]; then - _dynamic_directory_name -elif [[ "$PREFIX" = :* ]]; then - _wanted characters expl 'character class' \ - compadd -p: -S ':]' alnum alpha ascii blank cntrl digit graph \ - lower print punct space upper xdigit IFS IDENT IFSSPACE WORD -elif compset -P '\('; then - local match - compset -S '\)*' - - if [[ $PREFIX = (#b)*([bns])(?|)(*) ]]; then - local f=$match[1] d=$match[2] e=$match[2] v=$match[3] - [[ $f = s && ${(Pt)${compstate[parameter]}} != scalar* ]] && return 1 - if [[ -z $d ]]; then - _message -e delimiters 'delimiter' - return - else - case $d in - (\() e=\);; - (\[) e=\];; - (\{) e=\};; - esac - if [[ $v != *$e* ]]; then - case $f in - (s) _message 'separator string';; - (b|n) [[ $v = <-># ]] && _message 'number' || return 1;; - esac - [[ -n $v && $SUFFIX$ISUFFIX != *$e* ]] && _message 'delimiter' - return 0 - fi - fi - fi - - case ${(Pt)${compstate[parameter]}} in - assoc*) flags=( - '(R k K i I)r[any one value matched by subscript as pattern]' - '(r k K i I)R[all values matched by subscript as pattern]' - '(r R K i I)k[any one value where subscript matched by key as pattern]' - '(r R k i I)K[all values where subscript matched by key as pattern]' - '(r R k K I)i[any one key matched by subscript as pattern]' - '(r R k K i)I[all keys matched by subscript as pattern]' - 'e[interpret * or @ as a single key]' - );; - (|scalar*)) flags=( - 'f[make subscripting work on lines of scalar]' - 'w[make subscripting work on words of scalar]' - 's[specify word separator]' - 'p[recognise escape sequences in subsequent s flag]' - );& - array*) flags=($flags - 'e[interpret * or @ as a single key and use plain string matching]' - 'n[Nth lowest/highest index with i/I/r/R flag]' - 'b[begin with specified element]' - '(r R k K i)I[highest index of value matched by subscript]' - '(r R k K I)i[lowest index of value matched by subscript]' - '(r k K i I)R[value matched by subscript at highest index]' - '(R k K i I)r[value matched by subscript at lowest index]' - );; - esac - - _values -s '' 'subscript flag' $flags -elif [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then - local suf MATCH MBEGIN MEND - local -a keys - keys=("${(@)${(@k)${(P)compstate[parameter]}}//(#m)[\$\\\[\]\(\)\{\}]/\\$MATCH}") - keys=("${(@)keys//#%(#m)[*@]/(e)$MATCH}") - [[ "$RBUFFER" != (|\\)\]* ]] && suf="$osuf" - - _wanted association-keys expl 'association key' \ - compadd -Q -S "$suf" -a keys -elif [[ ${(Pt)${compstate[parameter]}} = array* ]]; then - local list i j ret=1 disp - - _tags indexes parameters - - while _tags; do - if _requested indexes; then - ind=( {1..${#${(P)${compstate[parameter]}}}} ) - if zstyle -T ":completion:${curcontext}:indexes" verbose; then - list=() - for i in "$ind[@]"; do - if [[ "$i" = ${PREFIX}*${SUFFIX} ]]; then - list+=( "${i}:$(print -D -- ${(P)${compstate[parameter]}[$i]})" ) - else - list+=( '' ) - fi - done - zstyle -s ":completion:${curcontext}:indexes" list-separator sep || sep=-- - zformat -a list " $sep " "$list[@]" - disp=( -d list) - else - disp=() - fi - - if [[ "$RBUFFER" = (|\\)\]* ]]; then - _all_labels -V indexes expl 'array index' \ - compadd -S '' "$disp[@]" -a ind && ret=0 - else - _all_labels -V indexes expl 'array index' \ - compadd -S "$osuf" "$disp[@]" -a ind && ret=0 - fi - fi - _requested parameters && _parameters && ret=0 - - (( ret )) || return 0 - done - - return 1 -else - _dispatch -math- -math- -fi diff --git a/result/sw/share/zsh/5.9/functions/_subversion b/result/sw/share/zsh/5.9/functions/_subversion deleted file mode 100644 index 8fc46a29..00000000 --- a/result/sw/share/zsh/5.9/functions/_subversion +++ /dev/null @@ -1,549 +0,0 @@ -#compdef svn svnlite=svn svnadmin svnadmin-static=svnadmin svnliteadmin=svnadmin - -_svn () { - local curcontext="$curcontext" state line expl ret=1 - typeset -A opt_args - - # Colons in values must be escaped. - local -A show_item_keys=( - kind "the kind of TARGET (file or dir)" - url "the URL of TARGET in the repository" - relative-url "the repository-relative URL" - repos-root-url "the repository root URL" - repos-uuid "the repository UUID" - repos-size "the size of TARGET in the repository (for files only)" - revision "the revision of TARGET" - last-changed-revision "the most recent revision in which TARGET was changed" - last-changed-date "the date of the last-changed revision" - last-changed-author "the author of the last-changed revision" - wc-root "the working copy root path" - schedule "'normal', 'add', 'delete', 'replace'" - depth "'infinity', 'immediates', 'files', 'empty', 'exclude'" - changelist "the changelist this file was added to, if any" - ) - - local update_policy - zstyle -s ":completion:*:*:$service:*" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:*:*:$service:*" cache-policy _svn_caching_policy - fi - - _arguments -C -A "-*" \ - '(-)--help[print help information]' \ - '(*)--version[print client version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - - local _svn_help_takes_verbose - if _cache_invalid svn-help-takes-verbose || ! _retrieve_cache svn-help-takes-verbose; then - [[ $(_call_program svn-help-v svn help help) == *--verbose* ]] - _svn_help_takes_verbose=$(( ! $? )) - _store_cache svn-help-takes-verbose _svn_help_takes_verbose - fi - if (( _svn_help_takes_verbose )); then - readonly dash_v="-v" - else - readonly dash_v - fi - unset _svn_help_takes_verbose - - if [[ -n $state ]] && (( ! $+_svn_cmds )); then - typeset -gHA _svn_cmds - if _cache_invalid svn-cmds || ! _retrieve_cache svn-cmds; then - _svn_cmds=( - ${=${(f)${${"$(_call_program commands svn help $dash_v)"#l#*Available subcommands:}%%Subversion is a tool*}}/(#s)[[:space:]]#(#b)([a-z-]##)[[:space:]]#(\([a-z, ?-]##\))#/$match[1] :$match[1]${match[2]:+:${${match[2]//[(),]}// /:}}:} - ) - if (( $? == 0 )); then - _store_cache svn-cmds _svn_cmds - else - # Ensure we enter this block again on the next <TAB>. - unset _svn_cmds - fi - fi - fi - - case $state in - cmds) - _wanted commands expl 'svn command' _svn_commands && ret=0 - ;; - args) - local cmd args usage idx - - cmd="${${(k)_svn_cmds[(R)*:$words[1]:*]}:-${(k)_svn_cmds[(i):$words[1]:]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:svn-${cmd}:" - - if _cache_invalid svn-${cmd}-usage || \ - ! _retrieve_cache svn-${cmd}-usage; - then - usage=${${(M)${(f)"$(_call_program options svn help $dash_v -- $cmd)"}:#usage:*}#usage:*$cmd] } - _store_cache svn-${cmd}-usage usage - fi - if _cache_invalid svn-${cmd}-usage || \ - ! _retrieve_cache svn-${cmd}-args; - then - args=( - ${=${${${(M)${(f)"$(_call_program options svn help $dash_v -- $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)(-##)([[:alpha:]]##) \[--([a-z-]##)\](:arg:)#/(--$match[3])$match[1]$match[2]$match[4] ($match[1]$match[2])--$match[3]$match[4]} - ) - while (( idx=$args[(I)*--accept:arg:] )); do - args[idx]=( --accept'=:automatic conflict resolution action:((working\:working base\:base recommended\:recommended '"`for i j in p postpone mc mine-conflict tc theirs-conflict mf mine-full tf theirs-full e edit l launch; do print -rn $i\\\\:$j $j\\\\:$j ""; done `"'))' ) - done - while (( idx=$args[(I)*--c(l|hangelist):arg:] )); do - args[idx]=( \*{--cl,--changelist}'=:change list:_svn_changelists' ) - done - while (( idx=$args[(I)*--config-dir:arg:] )); do - args[idx]=( --config-dir'=:config dir:_directories' ) - done - while (( idx=$args[(I)*--config-option:arg:] )); do - args[idx]=( '*--config-option=: :_svn_config_options' ) - done - while (( idx=$args[(I)*--depth:arg:] )); do - args[idx]=( --depth'=:operation depth (how far to recurse):(empty files immediates infinity)' ) - done - while (( idx=$args[(I)*(-F|--file):arg:] )); do - args[idx]=( '(-F --file)'{-F+,--file=}':log message file:_files' ) - done - while (( idx=$args[(I)*--set-depth:arg:] )); do - args[idx]=( --set-depth'=[make working copy deeper or shallower]:new depth:(exclude empty files immediates infinity)' ) - done - while (( idx=$args[(I)*--trust-server-cert-failures:arg:] )); do - args[idx]=( --trust-server-cert-failures'=:failures:_values -s , "certificate failures to ignore" "unknown-ca[unknown authority]" "cn-mismatch[hostname mismatch]" "expired[certificate expired]" "not-yet-valid[certificate not yet valid]" "other[all other failures]"' ) - done - while (( idx=$args[(I)*--show-item:arg:] )); do - # (q) to quote the parentheses in the value - args[idx]=( --show-item'=:item key:(('"`for i j in ${(kv)show_item_keys}; do print -rn - $i\\\\:"${(q)j}" ""; done`"'))' ) - done - # All other options get {-x+,--long-x=} - args=( ${args/(#b)(--[A-Za-z0-9-]##):arg:/$match[1]=:arg:} ) - args=( ${args/(#b)([^=]):arg:/$match[1]+:arg:} ) - _store_cache svn-${cmd}-args args - fi - - case $cmd in; - (add) - args+=( - '*:file: _svn_modified "addable"' - ) - ;; - (auth) - args+=( - '*:auth pattern: ' - ) - ;; - (changelist) - args[(r)--remove]='(1)--remove' - args+=( - '(--remove)1:changelist name:_svn_changelists' - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (commit) - args=( - ${args/(#b)(*--file*):arg:/$match[1]:file:_files} - '*:file: _svn_modified "committable"' - ) - ;; - (delete) - args+=( - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (diff) - args+=( - '*: : _alternative "files:file: _svn_modified revertable" "urls:URL:_svn_urls"' - ) - ;; - (help) - args+=( - '*::sub command:_svn_commands' - ) - ;; - (import) - args+=( - '1:project directory or import location: _alternative "files:file:_files" "urls:URL:_svn_urls"' - '2:import location: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (log) - args+=( - '1: : _alternative "files:file:_files -g \*\(e:_svn_controlled:\)" "urls:URL:_svn_urls"' - '*:file:_files -g "*(e:_svn_controlled:)"' - ) - ;; - (mergeinfo) - args[(r)--show-revs=:arg:]=( '--show-revs=:revisions:(merged eligible)' ) - ;; - (patch) - args+=( - '1:patch file:_files' - '2::working copy to patch:_files' - ) - ;; - (propget|propedit|propdel) - args+=( - '1:property name:_svn_props' - '2:target: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (propset) - args=( - ':propname:(svn:ignore svn:keywords svn:executable svn:eol-style svn:mime-type svn:externals svn:needs-lock svn:global-ignores svn:auto-props)' - ':propval:->propset_propval' - ${args/(#b)(*--file*):arg:/$match[1]:file:_files} - '*:path or url: _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - (resolve|resolved) - args+=( - '*:file:_files -g "*(e:_svn_conflicts:)"' - ) - ;; - (revert) - args+=( - '*:file: _svn_modified "revertable"' - ) - ;; - (x-unshelve) - args+=( '1:shelf name:compadd - ${(f)"$(_call_program shelves svn x-shelves --quiet)"}' '2::shelf version' ) - ;; - (*) - case $usage in - *(SRC|DST|TARGET|URL*PATH)*) - args+=( - '*: : _alternative "files:file:_files" "urls:URL:_svn_urls"' - ) - ;; - *URL*) args+=( ':URL:_svn_urls' ) ;; - *PATH*) args+=( '*:file:_files' ) ;; - esac - ;; - esac - - _arguments "$args[@]" && ret=0 - case $state in - (propset_propval) - case $words[2] in - (svn:executable|svn:needs-lock) compadd yes;; - (svn:keywords) - compset -q - # '_values -w' only excludes words in argv[1] or later, so - # install a dummy argv[0]. This affects Foo in [[svn propset - # svn:keywords 'Foo Bar Baz <TAB>]]. - words=( dummy $words ); (( ++CURRENT )) - _values -s ' ' -w "keywords (or custom)" \ - '(URL HeadURL)'{URL,HeadURL}'[URL for the head version of the file]' \ - '(Author LastChangedBy)'{Author,LastChangedBy}'[last person to modify the file]' \ - '(Date LastChangedDate)'{Date,LastChangedDate}'[date/time the file was last modified]' \ - '(Rev Revision LastChangedRevision)'{Rev,Revision,LastChangedRevision}'[last revision the file changed]' \ - Id'[compressed summary of URL,Revision,Date,Author]' \ - Header"[like 'Id' but includes the full URL]";; - (svn:eol-style) compadd - CR LF CRLF native;; - (svn:mime-type) _mime_types;; - (*) _message 'property value';; - esac - esac - - else - _message "unknown svn command: $words[1]" - fi - ;; - esac - - return ret -} - -_svnadmin () { - local curcontext="$curcontext" state line ret=1 - integer NORMARG - local context state_descr - typeset -A opt_args - - _arguments -C \ - '(-)--help[print help information]' \ - '(- *)--version[print client version information]' \ - '1: :->cmds' \ - '*:: :->args' && ret=0 - - if [[ -n $state ]] && (( ! $+_svnadmin_cmds )); then - typeset -gHA _svnadmin_cmds - _svnadmin_cmds=( - ${=${(f)${${"$(_call_program commands svnadmin help)"#l#*Available subcommands:}}}/(#s)[[:space:]]#(#b)([-a-z]##)[[:space:]]#(\([a-z, ?]##\))#/$match[1] :$match[1]${match[2]:+:${${match[2]//[(),]}// /:}}:} - ) - fi - - case $state in - cmds) - _wanted commands expl 'svnadmin command' _svnadmin_commands && ret=0 - ;; - args) - local cmd args usage - - cmd="${${(k)_svnadmin_cmds[(R)*:$words[1]:*]}:-${(k)_svnadmin_cmds[(i):$words[1]:]}}" - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:svnadmin-${cmd}:" - - usage=${${(M)${(f)"$(_call_program options svnadmin help $cmd)"}:#$cmd: usage:*}#$cmd: usage: svnadmin $cmd } - args=( - ${=${${${(M)${(f)"$(_call_program options svnadmin help $cmd)"#(*Valid options:|(#e))}:#* :*}%% #:*}/ (arg|ARG)/:arg:}/(#b)-([[:alpha:]]) \[--([a-z-]##)\](:arg:)#/(--$match[2])-$match[1]$match[3] (-$match[1])--$match[2]$match[3]} - ) - # All options get {-x+,--long-x=} - args=( ${args/(#b)(--[A-Za-z0-9-]##):arg:/$match[1]=:arg:} ) - args=( ${args/(#b)([^=]):arg:/$match[1]+:arg:} ) - if [[ $usage == *REPOS_PATH* ]]; then - args+=( ":repository path:_files -/" ) - case $cmd in - (freeze) - args+=( "*:arguments:->normal" ) - ;; - (hotcopy) - args+=( ":new repository:_files -/" ) - ;; - (setlog) - args+=( ": :_files" ) - ;; - (setrevprop) - args+=( ":property name" ":property value file:_files" ) - ;; - (delrevprop) - args+=( ":property name" ) - ;; - esac - elif [[ $cmd = help ]]; then - args+=( "*:subcommand:_svnadmin_commands" ) - fi - - _arguments -n -s -S : "$args[@]" && ret=0 - - case $state in - # Test cases: - # svnadmin freeze . rsync --<TAB> offers --file - # svnadmin freeze -- . rsync -<TAB> offers rsync's options - # - # Note: the NORMARG calculations here include one positional argument - # (the '.') before the command. - (normal) - if (( ${words[(i)--]} < CURRENT )); then - words[1,NORMARG]=() - (( CURRENT -= NORMARG )) - _normal && ret=0 - elif (( NORMARG+1 == CURRENT )); then - # ### don't allow --options in this case - # TODO: this should just use '_normal -F "(-*)"', but _normal ignores its arguments. - _command_names -e && ret=0 - fi - ;; - esac - else - _message "unknown svnadmin command: $words[1]" - fi - ;; - esac - - return ret -} - -(( $+functions[_svn_controlled] )) || -_svn_controlled() { - # For svn<=1.6, this was implemented as: - # [[ -f ${(M)REPLY##*/}.svn/text-base/${REPLY##*/}.svn-base ]] - # However, because that implementation returns false for all files on svn>=1.7, and - # because 1.6 has been deprecated for 8 years and EOL for 6 years, we opt to DTRT - # for >=1.7. Therefore: - - # TODO: Reimplement this function for svn>=1.7. - # (Use 'svn st' or 'svn info', not 'svn ls') - return 0 -} - - -(( $+functions[_svn_conflicts] )) || -_svn_conflicts() { - # ### These strings are actually translatable - # - # The asterisks are to support an optional extension; see - # "preserved-conflict-file-exts" in ~/.subversion/config. - () { (( $# > 0 )) } $REPLY.(mine|r<->|working*|merge-left*|merge-right*)(NY1) -} - -(( $+functions[_svn_modified] )) || -_svn_modified() { - setopt localoptions extendedglob - - local depth dir expl maybe_quiet partial_word space=' ' - - local svn_context=$1 - - local partial_word=${(Q)words[CURRENT]} - if [[ -z $partial_word ]]; then - dir="./" - elif [[ -d $partial_word ]]; then - dir=$partial_word - else - dir=${partial_word:h} - fi - - if zstyle -T ":completion:${curcontext}:${curtag}" verbose; then - depth=infinity - else - depth=immediates - fi - - if [[ $svn_context = addable ]]; then - maybe_quiet="" - else - maybe_quiet="-q" - fi - - local -a status_lines - # Run 'status' - status_lines=( ${(f)"$(_call_program modified-files "svn status $maybe_quiet --depth=${(q)depth} -- ${(q)dir}")"} ) - # Filter to only the right set of statuses - case $svn_context in - (committable) - status_lines=( ${(M)status_lines:#(#s)([ADMR]?|?M)${space}???${space}${space}*} ) - ;; - (revertable) - status_lines=( ${(M)status_lines:#(#s)([ACDMR~!]?|?[CM])${space}????${space}*} ) - ;; - (addable) - # The 'D' is just in case there's an unversioned file of the same name as the deleted file - status_lines=( ${(M)status_lines:#(#s)[?ID]${space}${space}???${space}${space}*} ) - ;; - esac - # Strip the 7 status-letter columns and the column of spaces - status_lines=( ${status_lines#????????} ) - # Strip one leading space. This is in case `svn status` ever adds another - # column. If that hasn't happened and you're reading this comment because - # the following line broke your use of filenames that start with a literal - # space, well, nice to meet you! I didn't know you existed. - status_lines=( ${status_lines#${space}} ) - - _wanted svn-modified expl 'modified files in svn' \ - compadd - "${status_lines[@]}" -} - -(( $+functions[_svn_remote_paths] )) || -_svn_remote_paths() { - local expl remfiles remdispf remdispd suf ret=1 pfx='\^/' sub='^/' - - # prefix must match a valid repository path format, either standard style - # schema://host/path/.. or ^/path/.. specifying a path relative to the - # root of the working directory repository. In the second form, allow the - # leading '^' be escaped in case the user has the extendedglob option set. - [[ -prefix *://*/ ]] || - [[ -f .svn/entries && ( -prefix '^/' || -prefix '\^/' ) ]] || - return 1 - - # return if remote access is not permitted - zstyle -T ":completion:${curcontext}:" remote-access || return 1 - - remfiles=( ${(f)"$(svn list $IPREFIX${${PREFIX%%[^/]#}/#$pfx/$sub} 2>/dev/null)"} ) - (( $? == 0 )) || return 1 - - # you might consider trying to return early if $#remfiles is zero, - # but for whatever reason remfiles will always contain at least a - # single empty string; that case is handled correctly below. - - compset -P '*/' - compset -S '/*' || suf=file - remdispf=(${remfiles:#*/}) - remdispd=(${(M)remfiles:#*/}) - _tags files - while _tags; do - while _next_label files expl ${suf:-directory}; do - # add files, unless there is a '/' immediately to the right - [[ -n $suf ]] && - compadd -S ' ' -q "$@" "$expl[@]" -d remdispf $remdispf && ret=0 - # add directories; use empty suffix if there is a '/' immediately to the right - compadd -S "${suf:+/}" -q "$@" "$expl[@]" -d remdispd ${remdispd%/} && ret=0 - done - (( ret )) || return 0 - done - - return 1 -} - -(( $+functions[_svn_urls] )) || -_svn_urls() { - local urlsch expl ret=1 - - # first try completing a remote path; if successful, we are all done.. - _svn_remote_paths && return 0 - - # allow configuring svn repository locations using the 'urls' zstyle. - # always attempt completion of these because then matcher-list styles - # which do substring matching will work correctly. - _urls -S/ && ret=0 - - if [[ ! -prefix *://? ]] ; then - zstyle -a ":completion:${curcontext}:" url-schemas urlsch \ - || urlsch=( file:// http:// https:// svn:// svn+ssh:// ) - - if (( $#urlsch )) ; then - compset -S '[^:]*' - _wanted url-schemas expl 'URL schema' compadd -S '' - $urlsch[@] && ret=0 - fi - fi - - return ret -} - -(( $+functions[_svn_commands] )) || -_svn_commands() { - compadd "$@" -k _svn_cmds || compadd "$@" ${(s.:.)_svn_cmds} -} - -(( $+functions[_svnadmin_command] )) || -_svnadmin_commands() { - compadd "$@" -k _svnadmin_cmds || compadd "$@" ${(s.:.)_svnadmin_cmds} -} - -(( $+functions[_svn_config_options] )) || -_svn_config_options() { - local -a expl suf - local cfgfile - compset -S ':*' || suf=( -qS : ) - if compset -P 2 '*:'; then - if compset -P '*='; then - _message -e values 'value' - else - _message -e options 'option' - fi - elif compset -P 1 '*:'; then - cfgfile=( ~/.subversion/${(M)${IPREFIX%:}%(config|servers)}(N) /dev/null ) - _description sections expl 'section' - compadd $suf "$expl[@]" ${${${(M)${(f)"$(<${cfgfile[1]})"}:#\[*\]}#\[}%\]} - else - _description config-files expl 'configuration file' - compadd $suf "$expl[@]" config servers - fi -} - -(( $+functions[_svn_props] )) || -_svn_props() { - local properties - - properties=( ${${(M)${(f)"$(svn proplist 2>/dev/null)"}:# [^ ]*}# } ) - compadd "$@" -a properties && return 0 -} - -(( $+functions[_svn_changelists] )) || -_svn_changelists() { - local cls - - cls=( ${${${(M)${(f)"$(_call_program changelists svn status 2>/dev/null)"}:#--- Changelist*}%??}##*\'} ) - compadd "$@" -a cls && return 0 -} - -_subversion () { - case $service in - (svn) _svn "$@" ;; - (svnadmin) _svnadmin "$@" ;; - esac -} - -_svn_caching_policy() { - [[ =$service -nt $1 ]] -} - -_subversion "$@" diff --git a/result/sw/share/zsh/5.9/functions/_sudo b/result/sw/share/zsh/5.9/functions/_sudo deleted file mode 100644 index 29e5e6d7..00000000 --- a/result/sw/share/zsh/5.9/functions/_sudo +++ /dev/null @@ -1,66 +0,0 @@ -#compdef sudo sudoedit - -setopt localoptions extended_glob - -local environ e cmd cpp -local -a args _comp_priv_prefix -local -A opt_args - -zstyle -a ":completion:${curcontext}:" environ environ - -for e in "${environ[@]}" -do local -x "$e" -done - -args=( - '(-A --askpass)'{-A,--askpass}'[use a helper program for password prompting]' - '(-B --bell)'{-B,--bell}'[ring bell when prompting]' - '(-C --close-from)'{-C+,--close-from=}'[close file descriptors]:lowest fd to close' - '(-D --chdir)'{-D+,--chdir=}'[change the working directory before running command]:directory:_directories' - '(-g --group)'{-g+,--group=}'[run command as the specified group name or ID]:group:_groups' - '(-)'{-h,--help}'[display help message and exit]' - '(-h --host)'{-h+,--host=}'[run command on host]:host:_hosts' - '(-K --remove-timestamp)'{-K,--remove-timestamp}'[remove timestamp file completely]' - '(-k --reset-timestamp)'{-k,--reset-timestamp}'[invalidate timestamp file]' - \*{-l,--list}"[list user's privileges or check a specific command]" - '(-n --non-interactive)'{-n,--non-interactive}'[non-interactive mode, no prompts are used]' - '(-p --prompt)'{-p+,--prompt=}'[use the specified password prompt]:prompt' - '(-R --chroot)'{-R+,--chroot=}'[change the root directory before running command]:directory:_directories' - '(-r --role)'{-r+,--role=}'[create SELinux security context with specified role]: :_selinux_roles' - '(-S --stdin)'{-S,--stdin}'[read password from standard input]' - '(-t --type)'{-t+,--type=}'[create SELinux security context with specified type]: :_selinux_types' - '(-T --command-timeout)'{-T+,--command-timeout=}'[terminate command after specified time limit]:timeout' - '(-U --other-user)'{-U+,--other-user=}'[in list mode, display privileges for user]:user:_users' - '(-u --user)'{-u+,--user=}'[run command (or edit file) as specified user]:user:_users' - '(-)'{-V,--version}'[display version information and exit]' - '(-v --validate)'{-v,--validate}"[update user's timestamp without running a command]" -) - -# Does -e appears before the first word that doesn't begin with a hyphen? -# The way (i) works in subscripts, the test will always be true if all the -# words begin with a hyphen. -# -# TODO: use _arguments' $opt_args to detect the cases '-u jrandom -e' and '-Ae' -if [[ $service = sudoedit ]] || (( $words[(i)-e] < $words[(i)^(*sudo|-[^-]*)] )) ; then - args=( -A "-*" $args '!(-V --version -h --help)-e' '*:file:_files' ) -else - cmd="$words[1]" - cpp='_comp_priv_prefix=( - $cmd -n - ${(kv)opt_args[(I)(-[ugHEP]|--(user|group|set-home|preserve-env|preserve-groups))]} - )' - args+=( - '(-e --edit 1 *)'{-e,--edit}'[edit files instead of running a command]' \ - '(-s --shell)'{-s,--shell}'[run shell as the target user; a command may also be specified]' \ - '(-i --login)'{-i,--login}'[run login shell as the target user; a command may also be specified]' \ - '(-b --background -i --login -s --shell -e --edit)'{-b,--background}'[run command in the background]' \ - '(--preserve-env -i --login -s --shell -e --edit)-E[preserve user environment when running command]' \ - '(-E -i --login -s --shell -e --edit)--preserve-env=-[preserve user environment when running command]::environment variable:_sequence _parameters -g "*export*"' \ - '(-H --set-home -i --login -s --shell -e --edit)'{-H,--set-home}"[set HOME variable to target user's home dir]" \ - '(-P --preserve-groups -i -login -s --shell -e --edit)'{-P,--preserve-groups}"[preserve group vector instead of setting to target's]" \ - "(-)1: :{ $cpp; _command_names -e }" - "*:: :{ $cpp; _normal }" - ) -fi - -_arguments -s -S $args diff --git a/result/sw/share/zsh/5.9/functions/_suffix_alias_files b/result/sw/share/zsh/5.9/functions/_suffix_alias_files deleted file mode 100644 index 1c2c8ebb..00000000 --- a/result/sw/share/zsh/5.9/functions/_suffix_alias_files +++ /dev/null @@ -1,21 +0,0 @@ -#autoload - -# Complete files for which a suffix alias exists. - -local expl pat - -(( ${#saliases} )) || return 1 - -if (( ${#saliases} == 1 )); then - pat="*.${(kq)saliases}" -else - local -a tmpa - # This is so we can quote the alias names against expansion - # without quoting the `|' which needs to be active in the pattern - # --- remember that an alias name can be pretty much anything. - tmpa=(${(kq)saliases}) - pat="*.(${(kj.|.)tmpa})" -fi - -# _wanted is called for us by _command_names -_path_files "$@" -g $pat diff --git a/result/sw/share/zsh/5.9/functions/_surfraw b/result/sw/share/zsh/5.9/functions/_surfraw deleted file mode 100644 index d153cd49..00000000 --- a/result/sw/share/zsh/5.9/functions/_surfraw +++ /dev/null @@ -1,453 +0,0 @@ -#compdef surfraw sr - -local curcontext="$curcontext" expl state line args ret=1 - -_arguments -C -A \ - '-browser=[set browser]:browser:_command_names' \ - '-elvi[list web sites that can be searched]' \ - '-escape-url-args=[apply url escaping to arguments]:bool:(yes no)' \ - '(-g -graphical)'{-g,-graphical}'[get some windowed sin]' \ - '-help[display help information]' \ - '-quiet:bool:(yes no)' \ - '-new[start in a new window]' \ - '(-t -text)'{-t,-text}'[back to the yellow brick road]' \ - '(-q -quote)'{-q,-quote}'[quote arguments with quote characters]' \ - '-version[display version information]' \ - ':elvi:->elvi' \ - '*::arg:->subcmd' && ret=0 - -case $state in - subcmd) - args=( - '-help[display help information]' - '*: :_guard "^-*" "search string"' - ) - case "$words[1]" in - ask|cia|cnn|deblogs|excite|filesearching|foldoc|happypenguin|slashdot|slinuxdoc|sundocs|sunsolve|xxx) - _message -e strings 'search string' - ;; - alioth) - _arguments $args \ - '-type=-:search type:(soft skill people)' && ret=0 - ;; - altavista) - _arguments $args \ - '-results=-:[number of results to return]' && ret=0 - ;; - amazon) - _arguments $args \ - '-country=-:country code:(uk de fr jp us)' \ - '-search=-:topic:(all auctions books cars classical \ - dvd electronics garden kitchen music \ - outlet photo software toys tools \ - vhs videogames zshops wireless)' && ret=0 - ;; - austlii) - _arguments $args \ - '-method=-:search method:(any all phrase title boolean)' \ - '-results=-:[number of results to return]:number' && ret=0 - ;; - bbcnews) - _arguments $args \ - '-scope=-:search scope:(world uk)' && ret=0 - ;; - cddb) - _arguments $args \ - '-artists[search artists]' \ - '-albums[search albums]' \ - '-songs[search songs]' \ - '-all[search all artists, albums and songs]' && ret=0 - ;; - cite) - _arguments \ - '-results=-:[number of results to return]' \ - '*:search string' && ret=0 - ;; - ctan) - _arguments $args \ - '-name[search by filename]' \ - '-desc[search descriptions (default)]'\ - '-doc[search documentation]' - ;; - currency) - _arguments \ - '-l[list all known currency symbols]' \ - '-from=-:currency symbol:(EUR USD GBP CAD AUD JPY INR NZD CHF ZAR)' \ - '-to=-:currency symbol:(EUR USD GBP CAD AUD JPY INR NZD CHF ZAR)' \ - '*:currency amount' && ret=0 - ;; - cve) - _message -e numbers 'CVE Number' - ;; - debbugs) - _arguments \ - '-search=:search type:(pkg src bug maint tag submitter severity tag)' \ - '-arc[show archived bugs]' \ - '-raw[do not sort by status or severity]' \ - '-rb[reverse order of bugs shown]' \ - '-rst[reverse order of statuses shown]' \ - '-rse[reverse order of severities shown]' \ - '-merge[sisplay merged bugs only once]' \ - '-nohead[so not show table of contents header]' \ - '-nofoot[so not show statistics in the footer]' \ - '-mbox[view results in mbox format]' \ - '-incstat=-[include given status list]:status:_values -s , status open - forwarded pending fixed done' \ - '-exstat=-[exclude given status list]:status:_values -s , status open - forwarded pending fixed done' \ - '-incsev=-[include given severities]:severity:_values -s , severity - critical grave serious important normal minor wishlist fixed' \ - '-exsev=-[exclude given severities]:severity:_values -s , severity - critical grave serious important normal minor wishlist fixed' \ - '-inctag=-[include given tags]:tag:_values -s , tag potato woody sarge - sarge-ignore sid experimental confirmed d-i fixed - fixed-in-experimental fixed-upstream help moreinfo patch pending - security unreproducible upstream wontfix' \ - '-extag=-[exclude given tags]:tag:_values -s , tag potato woody sarge - sarge-ignore sid experimental confirmed d-i fixed - fixed-in-experimental fixed-upstream help moreinfo patch pending - security unreproducible upstream wontfix' \ - '*:package:_deb_packages avail' && ret=0 - ;; - debcontents) - _arguments \ - '-arch=-[search specific architecture]:architecture:(i386 m68k alpha sparc powerpc arm)' \ - '-distro=-[search specific distribution]:distribution:(stable testing unstable)' \ - '*:package:_deb_packages avail' && ret=0 - ;; - deblists) - _arguments $args \ - '-shelp[go to search help page]' \ - '-results=-[specify number of results to return]:number' \ - '-dates=-[quarters to search]:date' \ - '-case[use case sensitive search]' \ - '-errors=-[specify errors allowed]:errors:(0 1 2 best)' \ - '-partial[allow partial matches]' \ - '-sameline[semi-colon separated words must appear on same line]' \ - '-lines=-[specify maximum lines per message]:lines:(0 5 10 50 100)' \ - '-list=-[specify list to search]:list:(68k accessibility admintool - alpha amd64 announce apache arm autobuild beowulf books boot bsd - cd cd-vendors cdwrite changes chinese chinese-big5 chinese-gb - commercial consultants ctte curiosa custom dak debbugs deity - desktop devel devel-announce devel-changes devel-french - devel-games devel-italian devel-m68k-changes devel-portuguese - devel-powerpc-changes devel-s390-changes devel-spanish - devel-sparc-changes doc dpkg edu emacsen embedded esperanto - events-eu events-na faq firewall french gcc glibc gtk-gnome hams - handheld hppa hurd i18n ia64 ipv6 isp italian japanese java jr kde - kernel l10n-arabic l10n-catalan l10n-czech l10n-danish l10n-dutch - l10n-english l10n-finnish l10n-french l10n-german l10n-greek - l10n-hungarian l10n-italian l10n-korean l10n-polish - l10n-portuguese l10n-romanian l10n-russian l10n-spanish - l10n-turkish laespiral laptop lcs-eng legal lex lint-maint lsb - lsb-confcall lsb-discuss lsb-impl lsb-spec lsb-test med mentors - mips mirrors multimedia newmaint newmaint-admin newmaint-discuss - news news-french news-german news-portuguese nonprofit ocaml-maint - openoffice parisc perl pilot policy pool powerpc project publicity - python qa qa-packages qa-private qt-kde release ruby russian s390 - s390-changes security security-announce sgml simplified-chinese - snapshots sparc sparc-changes spi-announce spi-general ssh superh - testing tetex-maint toolchain ultralinux user user-catalan - user-danish user-de user-french user-german user-icelandic - user-indonesian user-polish user-portuguese user-spanish - user-swedish user-turkish user-ukrainian vgui-discuss vote win32 - wnpp women www x)' && ret=0 - ;; - debpackages) - _arguments \ - '-release=-:search release:(all main non-US contrib non-free)' \ - '-distro=-:search distribution:(all stable testing unstable)' \ - '*:package:_deb_packages avail' && ret=0 - ;; - debpts) - _arguments $args \ - '-doc[view PTS documentation]' && ret=0 - ;; - debsec) - _message -e strings 'package name, bug number or CVE ID' - ;; - deja) - _arguments $args \ - '-results=-:[number of results to return]' \ - '-m[search for Message-ID]' && ret=0 - ;; - dmoz) - _arguments $args \ - '-cat=-[specify category]:category:(All Arts Business Computers Games - Health Home Kids_and_Teens News Recreation Reference Regional - Science Shopping Society Sports World Adult)' \ - '-type=-:type:((c\:categories\ only s\:sites\ only b\:both))' \ - '-kids[sites for kids]' \ - '-teens[sites for teens]' \ - '-mteens[sites for mature teens]' && ret=0 - ;; - ebay) - _arguments $args \ - '-country=-:country:(com de uk fr)' \ - '-results=-:[number of results to return]:number' && ret=0 - ;; - etym) - _wanted dictword expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - fast) - _arguments $args \ - '-type=-:search type:(all any phrase)' && ret=0 - ;; - freebsd) - _arguments $args \ - '-mail=-[search mailing lists]:enable:(yes no)' \ - '-gg=-[search [Google Groups]:enable:(yes no)' \ - '-pr=-[query problem reports]:enable:(yes no)' \ - '-cvs=-[query cvsweb]:enable:(yes no)' \ - '-mid=-[query mailing lists by Message-ID]:enable:(yes no)' \ - '-ps=-[go to the port survey page]:enable:(yes no)' \ - '-prs=-[go to the problem report survey page]:enable:(yes no)' \ - '-elogs=-[go to the build error logs page]:enable:(yes no)' && ret=0 - ;; - freedb) - _arguments $args \ - '-artists[search artists]' \ - '-albums[search albums]' \ - '-songs[search songs]' \ - '-rest[search the rest of the data]' \ - '-all[search all fields]' \ - '-bycat[sort results by category]' \ - '*-cat=-:category:(all blues classical country data folk - jazz misc newage reggae rock soundtrack)' && ret=0 - ;; - freshmeat) - _deb_packages avail && ret=0 - ;; - fsfdir) - _arguments $args - ;; - google) - _arguments $args \ - '(-l --lucky)'{-l,--lucky}'[feeling lucky?]' \ - '-results=-:[number of results to return]:' \ - '-search=-:topic:(bsd linux mac unclesam)' && ret=0 - ;; - gutenberg) - _arguments $args \ - '-title[search titles (default)]' - '-author[search authors]' - '-num[search etext numbers]' - ;; - imdb) - _arguments $args \ - '-category=-:category:(All Titles MyMovies People Characters Quotes Bios Plots)' && ret=0 - ;; - ixquick) - _arguments $args \ - '-search=-:search type:(web pics)' \ - '-lang=-:language:(english dansk deutsch espanol francais italiano nederlands norsk polski portugues suomi svenska turkce jiantizhongwen nihongo fantizhengwen hangul)' - ;; - jake) - _arguments $args \ - '-method=-:search type:(title issn)' \ - '-volume=-:volume' \ - '-issue=-:issue' \ - '-spage=-:start page' \ - '-epage=-:end page' \ - '-year=-:year' && ret=0 - ;; - leodict) - _arguments \ - '-tol=:special character tolerance:(off standard high)' \ - '-to=:language:(de en either)' \ - '-lang=:webpage is in this language:(en de)' \ - '-link=:link results:(on off)' \ - '-head=:display headlines:(on off)' \ - '-grid=:show results in grid:(on off)' \ - '-spell=:spelling tolerance:(off standard force)' \ - '*:dictionary word:->words' && ret=0 - - [[ "$state" = words ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - netbsd|openbsd) - _arguments $args \ - '-mail=-[search mailinglists]:enable:(no yes)' \ - '-pr=-[query problem reports]:enable:(no yes)' && ret=0 - ;; - pgpkeys) - _arguments \ - '-s[display key signatures]' \ - '*:key ID or email' && ret=0 - ;; - pubmed) - _arguments $args \ - '-db=-:[specify database]:database:(PubMed Nucleotide Protein Genome - Structure Popset)' && ret=0 - ;; - rfc) - _arguments $args \ - '-results=-:[specify number of results to return]:number' \ - '-pdf[return files as PDFs]' \ - '-rev[reverse order of results]' \ - '-exact[match exact words (instead of prefixes)]' \ - '-abs[show abstracts]' \ - '-keywords[show keywords]' \ - "-nodirect[don't try and go direct to RFC]" \ - '-ftp[retrieve RFCs via FTP instead of HTTP]' \ - '-field=-:search field:(all number title author keyword)' \ - '-search=-:collection:(all rfc std bcp fyi)' && ret=0 - ;; - scaleplus) - _arguments $args \ - '-results=-:[number of results to return]' && ret=0 - ;; - sourceforge) - _arguments \ - '-exact=-[require all words}:enable:(yes no)' \ - '-type=:search type:(soft people freshmeat)' \ - '*:project:_deb_packages avail' && ret=0 - ;; - stockquote) - _arguments $args \ - '-provider=-[select quote provider]:provider:(yahoo nasdaq quote)' && ret=0 - ;; - thesaurus|webster) - _wanted words expl 'word' compadd $(look "${PREFIX}") && ret=0 - ;; - rae) - _wanted dictionary expl 'palabra diccionario' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - translate) - _arguments \ - '-from=-:language:(de en es fr it ja ko pt ru zh)' \ - '-to=-:language:(de en es fr it ja ko pt ru zh)' \ - '-provider=-[select translation service provider]:provider:(raging bablefish)' \ - '*:dictionary word:->dictword' && ret=0 - - [[ "$state" = dictword ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - rhyme) - _arguments \ - '-method=-:type of word correlation:(perfect syn hom cons rel sub spell pic shake def)' \ - '*:dictionary word:->dictword' && ret=0 - - [[ "$state" = dictword ]] && _wanted words expl 'dictionary word' \ - compadd $(look "${PREFIX}") && ret=0 - ;; - w3css) - _arguments \ - '-warnings=-[specify level of warnings displayed]:warning level:(all normal important none)' \ - '-profile=-:CSS profile:(none css1 css2 css3 svg svgbasic svgtiny mobile atsv-tv tv)' \ - '-medium=-:user medium:(all aural braille embossed handheld print projection - screen tty tv presentation)' \ - :URL:_urls && ret=0 - ;; - w3html) - _arguments \ - '-usage[go to validator help page]' \ - '-encoding=-[set page encoding]' \ - '-encfb[fall back to encoding rather than override]' \ - '-doctype=-":[set page doctype]:' \ - '-docfb[fall back to doctype rather than override]' \ - '-nv[be less verbose]' \ - '-showsource[show page source]' \ - '-showoutline[show page outline (headings)]' \ - '-showparsetree[show parse tree]' \ - '-excludeatt[exclude attributes from parse tree]' \ - '-err[validate Error (404) pages]' \ - :URL:_urls && ret=0 - ;; - w3link) - _arguments \ - '-r[check linked documents recursively]' \ - '-d=-[recursion depth]:depth' \ - '-s[summary only]' \ - '-hiderd[hide redirects]' \ - '-dhiderd[hide redirects for directories only]' \ - "-nolang[don't send the Accept-Language: header]" \ - '-cookie[save options in a cookie]' \ - :URL:_urls && ret=0 - ;; - w3rdf) - _arguments \ - '-output=-:output type:(Triples Graphs Both)' \ - '-format=-:graph format:(PNG_EMBED PNG_LINK SVG_LINK SVG_EMBED - GIF_EMBED \ GIF_LINK PS_LINK HP_PCL_LINK HP_GL_LINK ISV_ZVTM)' \ - '-savedot[save GraphViz DOT file]' \ - '-ntriples[display triples in N-Triples format]' \ - '-embedded[RDF is not enclosed in <RDF> tags]' \ - '-useme[grant w3c permission to save the RDF for developing test cases]' \ - '-anon[make anonymous nodes unlabelled]' \ - '-fontsize=-:font Size:(10 12 14 16 20)' \ - '-orient=-:orientation:(TB LR)' \ - '-node=-:node Colour:(Black Blue Darkgreen Red)' \ - '-nodetext=-[node text color]:color:(Black Blue Darkgreen Red)' \ - '-arc=-[arc color]:color:(Black Blue Darkgreen Red)' \ - '-arctext=-:[arc text color]:color:(Black Blue Darkgreen Red)' \ - :URL:_urls && ret=0 - ;; - wayback) - _arguments $args \ - '-syear=-[start search from this year]:year' \ - '-smonth=-:[start search from this month]:month:(jan feb mar apr may jun jul aug sep oct nov dec)' \ - '-sday=-[start search from this day]:number' \ - '-eyear=-[end search in this year]:year' \ - '-emonth=-[end search in this month]:month:(jan feb mar apr may jun jul aug sep oct nov dec)' \ - '-eday=-[end search in this day]:number' \ - '-list[list all pages that match search criteria]' \ - '-dups[show dups]' \ - '-compare[compare pages]' \ - '-pdf[show as PDF]' \ - '-alias=-[how to handle site aliases]:alias:(merge show hide)' \ - '-redir=-[how to handle redirections]:redir:(hide flag show)' \ - '-type=-[file type to search for]:type:(image audio video binary text pdf)' - ;; - wetandwild) - _arguments \ - '-city=-[town or City or (US only) zipcode]:' \ - '-country=-[two letter domain-style country code]:' \ - '-state=-[specify state, province or region]:state' && ret=0 - ;; - wikipedia) - _arguments $args \ - '-language=-:[two letter language code]:' && ret=0 - ;; - woffle) - _arguments $args \ - '-method=-:search method:(and or bool)' \ - '-format=-:result format:(short long)' \ - '-sort=-:sort method:(score revscore time revtime title revtitle)' && ret=0 - ;; - yahoo) - _arguments $args \ - '-results=-[specify number of results to return]:number' && ret=0 - ;; - yubnub) - _message -e commands 'Yubnub Command' - ;; - *) - _message -e strings 'search string' - ;; - esac - ;; - elvi) - local -UT XDG_CONFIG_DIRS xdg_config_dirs - local it - # list the applets - set -- ${${(f)"$(_call_program elvi surfraw -elvi)"}%%[[:space:]]##-- *} - shift # the first line is a header: remove it - # then list the bookmarks - for it in \ - $^xdg_config_dirs/surfraw/bookmarks(Nr) \ - /etc/xdg/surfraw/bookmarks(Nr) \ - /etc/surfraw.bookmarks(Nr) \ - ${XDG_CONFIG_HOME-$HOME/.config}/surfraw/bookmarks(Nr) \ - $HOME/.surfraw.bookmarks(Nr) - do - read -d'\0' it < $it - set -- "$@" ${${(f)it}%%[[:space:]]*} - done - _wanted elvi expl elvi compadd "$@" && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_svcadm b/result/sw/share/zsh/5.9/functions/_svcadm deleted file mode 100644 index 22780d03..00000000 --- a/result/sw/share/zsh/5.9/functions/_svcadm +++ /dev/null @@ -1,75 +0,0 @@ -#compdef svcadm - -local curcontext="$curcontext" state line expl subcmds -typeset -A opt_args - -subcmds=( enable disable restart refresh mark delegate clear milestone ) - -if [[ $service == "svcadm" ]]; then - _arguments -C -A "-*" \ - '-v[print actions verbosely]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl 'svcadm subcommand' compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}-$service:" -fi - -case $service in - (enable) - _arguments -A "-*" \ - '-r[recursively enable dependencies]' \ - '-s[wait for service to come online]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (disable) - _arguments -A "-*" \ - '-s[wait for service to become disabled]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (mark) - _arguments -A "-*" \ - '-I[change state immediately]' \ - "-s[wait for service to reach the new state]" \ - '-T[timeout for -s]:timeout (seconds)' \ - '-t[state change is temporary]' \ - ':state:(degraded maintenance)' \ - ':instance FMRI:_svcs_fmri -i' - ;; - - (restart|refresh|clear) - _arguments \ - "-s[wait for service to $service]" \ - '-T[timeout for -s]:timeout (seconds)' \ - '*:instance FMRI:_svcs_fmri -i' - ;; - - (delegate) - _arguments -A "-*" \ - '-s[wait for instances to come online]' \ - '-T[timeout for -s]:timeout (seconds)' \ - ':restarter FMRI:_svcs_fmri -r' \ - '*:FMRI:_svcs_fmri -i' - ;; - - (milestone) - _arguments -A "-*" \ - '-d[make milestone the default]' \ - '-s[wait for the transition to the new milestone]' \ - '-T[timeout for -s]:timeout (seconds)' \ - '*:milestone FMRI:_svcs_fmri -m' - ;; - - (*) - _message "unknown svcadm subcommand: $service" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_svccfg b/result/sw/share/zsh/5.9/functions/_svccfg deleted file mode 100644 index 00dad366..00000000 --- a/result/sw/share/zsh/5.9/functions/_svccfg +++ /dev/null @@ -1,131 +0,0 @@ -#compdef svccfg - -local curcontext="$curcontext" ret=1 -local -a state line expl subcmds args -local -A opt_args - -# Subcommands that don't make sense on the commandline are missing -subcmds=( - apply export extract import inventory validate - add delete list - addpg addpropvalue delcust delpg delprop delpropvalue describe - editprop listpg listprop listcust setenv setprop unsetenv - setnotify listnotify delnotify - listsnap revert selectsnap - refresh - help -) - -_arguments -s -A "-*" \ - '-v[verbose]' \ - '-s+[specify fmri on which to operate]:fmri:_svcs_fmri -c' \ - '(1 *)-f+[read commands from file]:command file:_files' \ - '1: :->subcmds' \ - '*:: :->args' && ret=0 - -case $state in - subcmds) - _wanted commands expl 'svccfg subcommand' compadd -a subcmds && ret=0 - ;; - args) - curcontext="${curcontext%:*}-$words[1]:" - - case $words[1] in - import) - _arguments \ - '-V[verify property updates]' \ - ':file:_files' - ;; - - apply|inventory) _files ;; - - validate) - _alternative 'files:file:_files' 'fmris:fmri:_svcs_fmri -c' - ;; - - export) _svcs_fmri -c ;; - - delete) - _arguments \ - '-f[force deletion if online or degraded]' \ - '*:fmri:_svcs_fmri -c' - ;; - - describe) - local fmri=$opt_args[-s] - _arguments -A "-*" \ - '-v[give all information]' \ - '-t[show only template data]' \ - ':property group or property:->properties' - - if [[ -n $state ]]; then - fmris=( ${(f)"$(_call_program properties svcs -H -o fmri $fmri)"} ) - if (( $#fmris > 1 )); then - _message "'$fmri' is ambiguous" - return 1 - fi - - # Get all the property names for the FMRI - props=( ${${${(f)"$(_call_program properties svccfg -s $fmri describe)"}:# *}%% *} ) - - _multi_parts "$@" - / props && ret=0 - fi - ;; - - extract|add|delete|list|addpg|addpropvalue|delcust|delpg|delprop) - ;; - - delpropvalue|editprop|listpg|listcust|setenv|setprop|unsetenv) - ;; - - listprop) - _arguments \ - '-l+[print the layer the value came from]:layer:(manifest system-profile enterprise-profile site-profile node-profile sysconfig-profile admin current all)' \ - '(-o)-f[print the file a property came from]' \ - '(-f)-o+[select fields to print]:field:_sequence compadd - propname pgname instname servicename layer proptype value file masked time' \ - '*-G+[specify property group]:property group' \ - '-P+[specify property name]:property name' && ret=0 - ;; - - setnotify) - args=( '2:notification parameter:->parameters' ) - ;& - listnotify|delnotify|selectsnap) - _arguments $args \ - '-g[apply to notification parameters in svc:/system/svc/global:default]' \ - '1: :->tsets-classes' - - case $state in - tsets-classes) - local states=( uninitialized offline online degraded maintenance disabled ) - _alternative \ - 'state-transitions:state transition:_sequence compadd - all {to-,from-,}$^states' \ - 'event-classes:event class:_sequence compadd - problem-{diagnosed,updated,repaired,resolved}' && ret=0 - ;; - parameters) - if compset -P 'mailto:'; then - _email_addresses -c && ret=0 - elif compset -P 'snmp:'; then - _wanted values expl value compadd active inactive && ret=9 - else - _wanted uri-formats expl 'URI format' compadd -S: mailto snmp && ret=0 - fi - ;; - esac - ;; - - revert) - _wanted snapshots expl snapshot compadd initial previous running start && ret=0 - ;; - - refresh|listsnap) - _message 'no more arguments' - ;; - *) # fallback to default completion for unknown subcommands - _default && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_svcprop b/result/sw/share/zsh/5.9/functions/_svcprop deleted file mode 100644 index 19c65d3c..00000000 --- a/result/sw/share/zsh/5.9/functions/_svcprop +++ /dev/null @@ -1,20 +0,0 @@ -#compdef svcprop - -_arguments -s \ - '-f[designate properties by their FMRI]' \ - '-q[quiet]' \ - '-t[use multi-property output format]' \ - '-v[verbose]' \ - - set1 \ - '-w[wait for the selected property or property group to change]' \ - '-p[print values of named property or property group]' \ - ':FMRI:_svcs_fmri -i' \ - - set2 \ - '-a[display all properties]' \ - '-g[group type filter]:group type' \ - '*-l[properties from a layer]:layer:(admin site-profile system-profile manifest)' \ - '(-c -s)-C[retrieve properties without composition]' \ - '(-C -s)-c[retrieve properties with composition]' \ - '(-c -C)-s[retrieve properties from snapshot]:snapshot' \ - '*-p[print values of named property or property group]' \ - '*:FMRI:_svcs_fmri -i' diff --git a/result/sw/share/zsh/5.9/functions/_svcs b/result/sw/share/zsh/5.9/functions/_svcs deleted file mode 100644 index c1f01ad1..00000000 --- a/result/sw/share/zsh/5.9/functions/_svcs +++ /dev/null @@ -1,28 +0,0 @@ -#compdef svcs - -local -a cols - -cols=( - ctid\:"contract id" desc\:"description" fmri\:"fmri" - inst\:"instance name" nsta\:"next state (abbr)" nstate\:"next state" - scope\:"scope name" svc\:"service name" sta\:"state (abbr)" - state\:"state" stime\:"start time" astate\:"name for current auxiliary state" - nrun\:"time of next scheduled run for periodic services" - lrun\:"time of the last run for periodic services" -) - -_arguments -s \ - '(-l -x -d -D)-a[list all instances]' \ - '(-l -x -D -a -R)-d[list dependencies]' \ - '(-l -x -d -a -R)-D[list dependents]' \ - '(-l -x)-H[suppress header line]' \ - '(-x -d -D -a -R -s)-l[print detailed status about services and instances]' \ - '(-l -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \ - '(-l -x)-p[list processes]' \ - '(-l -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \ - '(-l -x)-s[sort by a column]:column:(($cols))' \ - '(-l -x)-S[reverse sort by a column]:column:(($cols))' \ - '-v[verbose columns]' \ - '(-l)-x[display explanation for service states]' \ - '(-l -x)-\?[print help]' \ - '*:FMRI or pattern:_svcs_fmri -i' diff --git a/result/sw/share/zsh/5.9/functions/_svcs_fmri b/result/sw/share/zsh/5.9/functions/_svcs_fmri deleted file mode 100644 index b090461c..00000000 --- a/result/sw/share/zsh/5.9/functions/_svcs_fmri +++ /dev/null @@ -1,96 +0,0 @@ -#autoload - -_svcs_fmri() { - local type="$argv[$#]" - local fmri_abbrevs m i expl - typeset -a -g _smf_fmris - - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _smf_caching_policy - fi - # The cache really must be per-host - local cache_id=smf_fmri:$HOST - - # TODO: Do something useful with the expand and/or ambiguous styles. - case $type in - (-i|-c) - # We probably also need an option to eliminate ambiguous - # results for use in places where that's not allowed. - - # Grab all FMRIs that have a word beginning with $PREFIX, - # making sure not to return the portion of the FMRI before - # $PREFIX. Use the cache if it exists and the user wants to. - if ( [[ $#_smf_fmris -eq 0 ]] || _cache_invalid $cache_id ) \ - && ! _retrieve_cache $cache_id; then - _smf_fmris=( ${(f)"$(svcs -a -H -o fmri)"} ) - _store_cache $cache_id _smf_fmris - fi - # Each element of the array is removed which doesn't match - # (^|.*/)$PREFIX.* - fmri_abbrevs=( ${(M)_smf_fmris:#((#s)|*[/:])$PREFIX*} ) - - # Go through the remaining elements and remove the characters - # in front of $PREFIX. - for ((i = 1; i <= $#fmri_abbrevs; i++ )); do - # Either one of these will work, but they're too - # greedy, preventing multiple matches below. - fmri_abbrevs[i]=${${fmri_abbrevs[i]}/((#s)|*[\/:])(#b)($PREFIX*)/$match[1]} - #fmri_abbrevs[i]=${${(M)${fmri_abbrevs[i]}:#(#b)((#s)|*/)$PREFIX*}#$match[1]} - done - - # Remove the "default" instance identifier if it's the only - # instance for a given service (not for svccfg). - if [[ $type == "-i" ]]; then - local -a svcs insts nabbrevs - local s - svcs=( ${(u)fmri_abbrevs%:*} ) - for s in $svcs; do - insts=( ${(@M)fmri_abbrevs:#$s:*} ) - if [[ $#insts -eq 1 && $insts[1] == *":default" ]]; then - nabbrevs=($nabbrevs ${insts//:default}) - elif [[ $#insts -eq 0 ]]; then - # Turns out we're completing the - # instance name. - nabbrevs=($nabbrevs $s) - else - nabbrevs=($nabbrevs $insts) - fi - done - fmri_abbrevs=( $nabbrevs ) - fi - - # After playing with _multi_parts, I'm not sure it's actually - # that useful. - # _wanted fmri expl "full or unambiguously abbreviated FMRIs" \ - # _multi_parts -i / fmri_abbrevs - - _wanted fmri expl "full or unambiguously abbreviated FMRI" \ - compadd $fmri_abbrevs - ;; - - (-m) - _wanted fmri expl "milestone FMRI" \ - compadd $(svcs -H -o fmri svc:/milestone/\*) all - ;; - - (-r) - # TODO: need some way to pick out only restarters - _wanted fmri expl "restarter FMRI" \ - compadd master reset svc:/network/inetd:default - ;; - - (*) - _message "unknown argument to _svcs_fmri: $type" - ;; - esac -} - -_smf_caching_policy() { - # /etc/svc/repository.db is not a public interface, so this is kinda - # grody. - [[ ! -f "$1" || /etc/svc/repository.db -nt "$1" ]] -} - -_svcs_fmri "$@" diff --git a/result/sw/share/zsh/5.9/functions/_svn-buildpackage b/result/sw/share/zsh/5.9/functions/_svn-buildpackage deleted file mode 100644 index e0f92589..00000000 --- a/result/sw/share/zsh/5.9/functions/_svn-buildpackage +++ /dev/null @@ -1,51 +0,0 @@ -#compdef svn-buildpackage - -_arguments \ - '--svn-builder=[use CMD as build command instead of dpkg-buildpackage]:build command: _command_names -e' \ - '--svn-ignore-new[do not stop on svn conflicts or new/changed files]' \ - '--svn-dont-clean[do not run debian/rules clean (default: clean first)]' \ - '--svn-no-links[do not use file links (default: use links where possible)]' \ - '--svn-dont-purge[do not wipe the build directory (default: purge after build)]' \ - '--svn-reuse[reuse an existing build directory, copy trunk over it]' \ - '--svn-export[just prepares the build directory and exits]' \ - '--svn-tag[final build: Export && build && tag && dch -i]' \ - '--svn-retag[replace an existing tag directory if found while tagging]' \ - '--svn-only-tag[tags the current trunk directory without building]' \ - '--svn-noautodch[do not add a new Debian changelog entry when done]' \ - '--svn-lintian[run lintian after the build]' \ - '--svn-linda[like --svn-lintian, run linda instead]' \ - '--svn-move[move package files to .. after successful build]' \ - '--svn-move-to=:target dir:_files -/' \ - '--svn-pkg:package name:_deb_packages avail' \ - '--svn-override[override config variables]:list:' \ - '--svn-prebuild:hook: _command_names -e' \ - '--svn-postbuild:hook: _command_names -e' \ - '--svn-pretag:hook: _command_names -e' \ - '--svn-posttag:hook: _command_names -e' \ - '--svn-verbose[more verbose program output]' \ - '--svn-noninteractive[turn off interactive mode]' \ - '-b[binary-only build, no source]' \ - '-B[binary-only build, no source or arch-indep binaries]' \ - '-S[source-only build, no binaries]' \ - '-s-:source generation:((i\:default a\:force\ inclusion\ of\ original\ source d\:force\ exclusion\ of\ original\ source))' \ - '-a-:architecture:_deb_architectures' \ - '-v-:version' \ - '-C-:changes description:_files' \ - '-m-:maintainer address:_email_addresses' \ - '-e-:maintainer address:_email_addresses' \ - '(-d)-D[check build dependencies and conflicts]' \ - '(-D)-d[do not check build dependencies and conflicts]' \ - '-W[turn certain errors into warnings]' \ - '-E[negates previously-set -W]' \ - '-nc[do not clean source tree]' \ - '-tc[clean the source tree after build]' \ - '-r-:gain-root command: _command_names -e' \ - '-p-:sign command: _command_names -e' \ - '-k-:key ID:' \ - '-us[do not sign source package]' \ - '-uc[do not sign .changes file]' \ - '*-i-:ignore regexp:' \ - '*-I-:ignore filename:_files' \ - '--admindir=:dpkg database dir:_files -/' \ - '(-h --help)'{-h,--help}'[show usage message]' \ - '--version[show version]' diff --git a/result/sw/share/zsh/5.9/functions/_sw_vers b/result/sw/share/zsh/5.9/functions/_sw_vers deleted file mode 100644 index 11814e0b..00000000 --- a/result/sw/share/zsh/5.9/functions/_sw_vers +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sw_vers - -_arguments : \ - '(-)-buildVersion[display build version only]' \ - '(-)-productName[display product name only]' \ - '(-)-productVersion[display product version only]' diff --git a/result/sw/share/zsh/5.9/functions/_swaks b/result/sw/share/zsh/5.9/functions/_swaks deleted file mode 100644 index 0e92221b..00000000 --- a/result/sw/share/zsh/5.9/functions/_swaks +++ /dev/null @@ -1,56 +0,0 @@ -#compdef swaks - -local ign - -(( $#words > 2 )) && ign='!' -_arguments \ - '(-s --server -p --port)'{-s+,--server=}'[target host[:port\]]:host[\:port]:_hosts' \ - '(-p --port)'{-p+,--port=}'[target port number]:port number:(25 465 587)' \ - '--copy-routing[derive target host:port from email address domain part]:email address domain part' \ - '(-t --to)'{-t+,--to=}':envelope recipient(s):_sequence _email_addresses -c' \ - '(-f --from)'{-f+,--from=}':envelope sender:_email_addresses -c' \ - '(--ehlo --lhlo -h --helo)'{-h+,--ehlo,--helo,--lhlo}':HELO string:_hosts' \ - '(-q --quit-after)'{-q+,--quit-after=}'[stop transaction early]:stop point:(( - CONNECT\:banner BANNER\:banner - FIRST-HELO\:first\ HELO FIRST-EHLO\:first\ HELO - XCLIENT\:XCLIENT - TLS\:TLS\ negotiation - HELO\:second\ HELO EHLO\:second\ HELO - AUTH\:authentication - MAIL\:MAIL\ FROM FROM\:MAIL\ FROM - RCPT\:RCPT\ TO TO\:RCPT\ TO - ))' \ - '--protocol=:protocol variant:(( - SMTP\:HELO\ 25 - SSMTP\:EHLO\ 465 - SSMTPA\:EHLO\ 465\ authenticated - SMTPS\:HELO\ 465 - ESMTP\:EHLO\ 25 - ESMTPA\:EHLO\ 25\ authenticated - ESMTPS\:EHLO\ STARTTLS\ 25 - ESMTPSA\:EHLO\ STARTTLS\ 25\ authenticated - ))' \ - '(-tls -tlsos --tls-optional-strict)-tls[TLS required]' \ - '(-tls -tlsos --tls-optional-strict)'{-tlsos,--tls-optional-strict}'[TLS iff offered by target]' \ - '(-tlsc --tls-on-connect)'{-tlsc,--tls-on-connect}'[TLS on connect (port 465)]' \ - '(-tlsp --tls-protocol)'{-tlsp,--tls-protocol=}':TLS protocol:(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)' \ - '-tls-cipher:OpenSSL cipher string: ' \ - '--tls-verify[verify TLS certificates]' \ - '--tls-ca-path=:OpenSSL CAfile or CAdir:_files' \ - '--tls-get-peer-cert=-:file to write (omit for STDOUT)' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-a+,--auth=}'[use authentication, failing if no common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-ao,--auth-optional=}'[use authentication if common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-aos,--auth-optional-strict=}'[use authentication]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \ - '(-ap --auth-password)'{-ap,--auth-password=}'[provide the password to be used for authentication]::password' \ - \*{-ae,--auth-extra=}'[add extra information to authentication process]: :_values keywords - {realm,domain,dmd5-{serv-type,host,serv-name}}\:value' \ - \*{-am,--auth-map=}'[map alternate names for authentication types]:alias=type,...' \ - '(-apt --auth-plaintext)'{-apt,--auth-plaintext}'[show auth strings in plaintext when printing on screen]' \ - '(-ahp --auth-hide-password)'{-ahp,--auth-hide-password}'[replace passwords with dummy string when printing to terminal]' \ - '(-d --data)'{-d+,--data=}'[specify DATA payload]:filename (or string with tokens):_files' \ - '*'{-ah,--add-header=}'[add headers]:<Header>\: Value' \ - '*'{-h,--header=}'[replace headers]:<Header>\: Value' \ - "${ign}(-)--support[display capabilities and exit]" \ - "--dump[display results of option processing but send no mail]" \ - "${ign}(-)--help[display usage information]" \ - "${ign}(-)--version[display version information]" diff --git a/result/sw/share/zsh/5.9/functions/_swanctl b/result/sw/share/zsh/5.9/functions/_swanctl deleted file mode 100644 index ba2f5402..00000000 --- a/result/sw/share/zsh/5.9/functions/_swanctl +++ /dev/null @@ -1,225 +0,0 @@ -#compdef swanctl - -# Completion for strongSwan's swanctl. See also ipsec, which is deprecated but -# still supported by strongSwan, and also used by Openswan/Libreswan. -# -# Note that in most cases elevated privileges are required to connect to the -# VICI socket, so the gain-privileges style may be necessary to complete SA -# names and the like: zstyle ':completion:*:swanctl/*' gain-privileges yes -# -# Other notes: -# - One of swanctl's selling points is that it can provide 'raw' structured -# responses for scripting, etc. In practice, though, the output formatted for -# humans seems easier to 'parse' from the shell than the plist-like raw output -# - @todo We don't complete authority names, pool names, peer IPs, etc. - -# Complete connection names, SA names, or SA unique IDs. The distinctions -# between concepts like 'connections' and 'SAs' are very blurry here, partially -# for convenience and partially due to author confusion -# --child => complete only child/CHILD_SA names/IDs -# --ids => complete unique SA IDs rather than connection/SA names -# --ike => complete only connection/IKE_SA names/IDs -(( $+functions[_swanctl_connections] )) || -_swanctl_connections() { - local i which - local -a expl tmp matches - local -A opts - - zparseopts -D -E -A opts - -child -ids -ike - - tmp=( ${(@M)${(f)"$( - _call_program -p swanctl-sas $words[1] -l - )"}:#[^:]##: \#<->*} ) - (( $+opts[--ids] )) || tmp+=( ${(@M)${(f)"$( - _call_program -p swanctl-conns $words[1] -L - )"}:#[^:]##: ([A-Z][A-Za-z0-9]#|),*} ) - - for i in $tmp; do - if (( $+opts[--child] )) && [[ $i != [[:space:]]* ]]; then - continue - elif (( $+opts[--ike] )) && [[ $i == [[:space:]]* ]]; then - continue - fi - - # <name>: #<unique id>, ... - i=${i//[#:,]/ } - - if (( $+opts[--ids] )); then - matches+=( "${i[(w)2]}:${i[(w)1]} #${i[(w)2]}" ) - else - matches+=( ${i[(w)1]} ) - fi - done - - if (( $+opts[--ids] )); then - matches=( ${(onu)matches} ) - if (( $+opts[--child] )); then - which=CHILD_ - elif (( $+opts[--ike] )); then - which=IKE_ - fi - _describe -x2Vt sa-ids "${which}SA unique ID" matches - else - if (( $+opts[--child] )); then - which='child ' - elif (( $+opts[--ike] )); then - which='IKE ' - fi - _wanted -x connections expl "${which}connection/SA name" compadd - $matches - fi -} - -_swanctl() { - # Although swanctl will correctly parse multiple short options in the first - # word, as in `swanctl -lh`, it won't actually *do* anything with the - # subsequent options -- so we'll require that they be separated. Also, --help - # doesn't take any further options, so just stop if we've got that - if (( CURRENT == 2 )) || [[ $words[2] == (-h*|--help) ]]; then - _arguments : \ - '(-)'{-a,--load-pools}'[(re)load pool configuration]' \ - '(-)'{-A,--list-pools}'[display loaded pool configurations]' \ - '(-)'{-b,--load-authorities}'[(re)load authority configuration]' \ - '(-)'{-B,--list-authorities}'[display loaded authority configurations]' \ - '(-)'{-c,--load-conns}'[(re)load connection configuration]' \ - '(-)'{-C,--counters}'[display or reset IKE event counters]' \ - '(-)'{-d,--redirect}'[redirect IKE_SA]' \ - '(-)'{-f,--flush-certs}'[flush cached certificates]' \ - '(-)'{-g,--list-algs}'[display loaded algorithms]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-i,--initiate}'[initiate a connection]' \ - '(-)'{-l,--list-sas}'[display currently active IKE_SAs]' \ - '(-)'{-L,--list-conns}'[display loaded configurations]' \ - '(-)'{-m,--monitor-sa}'[monitor for IKE_SA and CHILD_SA changes]' \ - '(-)'{-p,--install}'[install trap or shunt policy]' \ - '(-)'{-P,--list-pols}'[display currently installed policies]' \ - '(-)'{-q,--load-all}'[load credentials, authorities, pools, and connections]' \ - '(-)'{-r,--reload-settings}'[reload daemon strongswan.conf]' \ - '(-)'{-R,--rekey}'[rekey SA]' \ - '(-)'{-s,--load-creds}'[(re)load credentials]' \ - '(-)'{-S,--stats}'[display daemon statistics]' \ - '(-)'{-t,--terminate}'[terminate connection]' \ - '(-)'{-T,--log}'[trace logging output]' \ - '(-)'{-u,--uninstall}'[uninstall trap or shunt policy]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)'{-x,--list-certs}'[display stored certificates]' - return - fi - - local ret=1 cmd - local -a args cert_flags cert_types - - cert_flags=( aa any ca none ocsp ) - cert_types=( ocsp_response pubkey x509 x509_ac x509_crl ) - - if [[ $words[2] == -[^-]* ]]; then - cmd=${(M)words[2]#??} - else - cmd=$words[2] - fi - words=( $words[1] "${(@)words[3,-1]}" ) - (( CURRENT-- )) - - # Technically, only -v, -u, and -+ are truly global command options. However, - # in practice, all commands also support -h, -P, and -r - args=( - '(: * -)'{-h,--help}'[display help information]' - '(-P -r --pretty --raw)'{-P,--pretty}'[dump raw response message in pretty print]' - '(-P -r --pretty --raw)'{-r,--raw}'[dump raw response message]' - # https://wiki.strongswan.org/projects/strongswan/wiki/LoggerConfiguration - # https://github.com/strongswan/strongswan/blob/master/src/libstrongswan/utils/debug.h - '(-v --debug)'{-v+,--debug=}'[specify debug level]:debug level [1]:(( - -1\:"absolutely silent (SILENT)" - 0\:"basic auditing (AUDIT)" - 1\:"generic control flow with errors (CTRL)" - 2\:"detailed control flow (DIAG)" - 3\:"raw binary blobs (RAW)" - 4\:"sensitive data (PRIVATE)" - ))' - '(-u --uri)'{-u+,--uri=}'[specify service URI to connect to]:VICI service URI:_urls' - '(-+ --options)'{'-\++',--options=}'[read command-line options from specified file]:options file:_files' - ) - - case $cmd in - -A|--list-pools) args+=( - '(-n --name)'{-n+,--name=}'[filter by specified pool name]:pool name' - '(-l --leases)'{-l,--leases}'[display leases of each pool]' - ) ;; - -B|--list-authorities) args+=( - '(-n --name)'{-n+,--name=}'[filter by specified authority name]:authority name' - ) ;; - -C|--counters) args+=( - '(-a -n --all --name)'{-a,--all}'[display/reset counters for all tracked connections]' - '(-a -n --all --name)'{-n+,--name=}'[specify connection name]: :_swanctl_connections --ike' - '(-r --reset)'{-r,--reset}'[reset counters]' - ) ;; - -d|--redirect) args+=( - '(-d --peer-id)'{-d+,--peer-id=}'[redirect by IKE_SA matching specified peer identity]:peer identity' - '(-g --gateway)'{-g+,--gateway=}'[redirect to specified gateway]:target gateway' - '(-i --ike)'{-i+,--ike=}'[redirect by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[redirect by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - '(-p --peer-ip)'{-p+,--peer-ip=}'[redirect by IKE_SA matching specified peer IP]:peer IP address' - ) ;; - -f|--flush-certs) args+=( - '(-t --type)'{-t+,--type=}"[filter by specified certificate type]:certificate type:( - ${(j< >)${(@q-)cert_types}} - )" - ) ;; - -i|--initiate) args+=( - '(-c --child)'{-c+,--child=}'[specify CHILD_SA name]: :_swanctl_connections --child' - '(-i --ike)'{-i+,--ike=}"[specify CHILD_SA's connection name]: :_swanctl_connections --ike" - '(-t --timeout)'{-t+,--timeout=}'[specify timeout before detaching]:timeout (seconds)' - ) ;; - -l|--list-sas) args+=( - '(-i --ike)'{-i+,--ike=}'[filter by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[filter by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - '(-n --noblock)'{-n,--noblock}'[do not wait for IKE_SAs in use]' - ) ;; - -p|-u|--install|--uninstall) args+=( - '(-c --child)'{-c+,--child=}'[specify CHILD_SA name]: :_swanctl_connections --child' - '(-i --ike)'{-i+,--ike=}"[specify CHILD_SA's connection name]: :_swanctl_connections --ike" - ) ;; - -P|--list-pols) args+=( - '(-c --child)'{-c+,--child=}'[filter by specified CHILD_SA name]: :_swanctl_connections --child' - '(-d --drop)'{-d,--drop}'[list drop policies]' - '(-p --pass)'{-p,--pass}'[list bypass policies]' - '(-t --trap)'{-t,--trap}'[list trap policies]' - ) ;; - -q|-s|--load-all|--load-creds) args+=( - '(-c --clear)'{-c,--clear}'[clear previously loaded credentials]' - '(-n --noprompt)'{-n,--noprompt}'[do not prompt for passwords]' - ) ;; - -R|--rekey) args+=( - '(-c --child)'{-c+,--child=}'[rekey by specified CHILD_SA name]: :_swanctl_connections --child' - '(-C --child-id)'{-C+,--child-id=}'[rekey by specified CHILD_SA unique ID]: :_swanctl_connections --ids --child' - '(-i --ike)'{-i+,--ike=}'[rekey by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[rekey by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - ) ;; - -t|--terminate) args+=( - '(-t --timeout)'{-t+,--timeout=}'[specify timeout before detaching]:timeout (seconds)' - '(-c --child)'{-c+,--child=}'[terminate by specified CHILD_SA name]: :_swanctl_connections --child' - '(-C --child-id)'{-C+,--child-id=}'[terminate by specified CHILD_SA unique ID]: :_swanctl_connections --ids --child' - '(-i --ike)'{-i+,--ike=}'[terminate by specified IKE_SA name]: :_swanctl_connections --ike' - '(-I --ike-id)'{-I+,--ike-id=}'[terminate by specified IKE_SA unique ID]: :_swanctl_connections --ids --ike' - ) ;; - -v|--version) args+=( - '(-d --daemon)'{-d,--daemon}'[query daemon version]' - ) ;; - -x|--list-certs) args+=( - '(-f --flag)'{-f+,--flag=}"[filter by specified X.509 certificate flag]:certificate flag:( - ${(j< >)${(@q-)cert_flags}} - )" - '(-p --pem)'{-p,--pem}'[display PEM encoding of certificate]' - '(-s --subject)'{-s+,--subject=}'[filter by specified certificate subject]:certificate subject' - '(-S --short)'{-S,--short}'[omit some certificate details]' - '(-t --type)'{-t+,--type=}"[filter by specified certificate type]:certificate type:( - ${(j< >)${(@q-)cert_types}} - )" - '(-u --utc)'{-u,--utc}'[use UTC for time fields]' - ) ;; - esac - - _arguments -s -S : $args && ret=0 - return ret -} - -_swanctl "$@" diff --git a/result/sw/share/zsh/5.9/functions/_swift b/result/sw/share/zsh/5.9/functions/_swift deleted file mode 100644 index 6776f0de..00000000 --- a/result/sw/share/zsh/5.9/functions/_swift +++ /dev/null @@ -1,123 +0,0 @@ -#compdef swift swiftc - -# swift(1) and swiftc(1) are part of the Swift programming language. -# https://swift.org/ - -local -a common_options swiftc_mode_options swiftc_additional_options -local -A swiftc_modes - -common_options=( - '-assert-config[specify the assert_configuration replacement]:config:(Debug Release Unchecked DisableReplacement)' - '*-D[marks a conditional compilation flag as true]:flag:' - '*-framework[specifies a framework which should be linked against]:framework:' - '*-F[add directory to framework search path]:path:_files -/' - '(-gnone)-gdwarf-types[emit full DWARF type info]' - '(-gnone)-gline-tables-only[emit minimal debug info for backtraces only]' - '(-gdwarf-types -gline-tables-only -g)-gnone[do not emit debug info]' - '(-gnone)-g[emit debug info]' - '(- : *)-help[display available options]' - '-index-store-path[store indexing data to the specified path]:directory:_files -/' - '*-I[add directory to the import search path]:path:_files -/' - '-j[number of commands to execute in parallel]:count:' - '*-L[add directory to library link search path]:path:_files -/' - '*-l-[specifies a library which should be linked against]:library:' - '-module-cache-path[specifies the Clang module cache path]:path:_files -/' - '-module-link-name[library to link against when using this module]:name:' - '-module-name[name of the module to build]:name:' - '-nostdimport[do not search the standard library import path for modules]' - '-num-threads[enable multi-threading and specify number of threads]:count:' - '(-Ounchecked -O)-Onone[compile without any optimization]' - '(-Onone)-Ounchecked[compile with optimizations and remove runtime safety checks]' - '(-Onone)-O[compile with optimizations]' - '-sdk[compile against SDK]:sdk:_files -/' - '-static-stdlib[statically link the Swift standard library]' - '-suppress-warnings[suppress all warnings]' - '-target-cpu[generate code for a particular CPU variant]:cpu' - '-target[generate code for the given target]:target' - '-use-ld=-[specifies the linker to be used]:linker:_files -/' - '(- : *)-version[print version information and exit]' - '-v[show commands to run and use verbose output]' - '-warnings-as-errors[treat warnings as errors]' - '*-Xcc[pass argument to the C/C++/Objective-C compiler]:arg:' - '*-Xlinker[specifies an option which should be passed to the linker]:option:' -) - -swiftc_modes=( - -dump-ast 'parse and type-check input file(s) and dump AST(s)' - -dump-parse 'parse input file(s) and dump AST(s)' - -dump-type-refinement-contexts - 'type-check input file(s) and dump type refinement contexts(s)' - -emit-assembly 'emit assembly file(s) (-S)' - -emit-bc 'emit LLVM BC file(s)' - -emit-executable 'emit a linked executable' - -emit-ir 'emit LLVM IR file(s)' - -emit-library 'emit a linked library' - -emit-object 'emit object file(s) (-c)' - -emit-sibgen 'emit serialized AST + raw SIL file(s)' - -emit-sib 'emit serialized AST + canonical SIL file(s)' - -emit-silgen 'emit raw SIL file(s)' - -emit-sil 'emit canonical SIL file(s)' - -parse 'parse input file(s)' - -print-ast 'parse and type-check input file(s) and pretty print AST(s)' -) -local mode -for mode in ${(k)swiftc_modes}; do - # Mode options are mutually exclusive - swiftc_mode_options+=("(${(k)swiftc_modes})${mode}[$swiftc_modes[$mode]]") -done - -swiftc_additional_options=( - '-application-extension[restrict code to those available for App Extensions]' - '-embed-bitcode-marker[embed placeholder LLVM IR data as a marker]' - '-embed-bitcode[embed LLVM IR bitcode as data]' - '-emit-dependencies[emit basic Make-compatible dependencies files]' - '-emit-module-path[emit an importable module to the specified path]:path:_files -/' - '-emit-module[emit an importable module]' - '-emit-objc-header-path[emit an Objective-C header file to the specified path]:path:_files -/' - '-emit-objc-header[emit an Objective-C header file]' - '-fixit-all[apply all fixits from diagnostics without any filtering]' - '-fixit-code[get compiler fixits as code edits]' - '-import-underlying-module[implicitly imports the Objective-C half of a module]' - '-output-file-map[a file which specifies the location of outputs]:path:_files' - '-o[write output to specified file]:path:_files' - '-parse-as-library[parse the input file(s) as libraries, not scripts]' - '-parse-sil[parse the input file as SIL code, not Swift source]' - '-parseable-output[emit textual output in a parseable format]' - '-profile-coverage-mapping[generate coverage data for use with profiled execution counts]' - '-profile-generate[generate instrumented code to collect execution counts]' - '-sanitize-coverage=-[specify the type of coverage instrumentation for Sanitizers and additional options separated by commas]:type:' - '*-sanitize=-[turn on runtime checks for erroneous behavior]:check:' - '-save-temps[save intermediate compilation results]' - '-serialize-diagnostics[serialize diagnostics in a binary format]' - '-tools-directory[look for external executables (ld, clang, binutils) in the specified directory]:directory:_files -/' - '-whole-module-optimization[optimize input files together instead of individually]' -) - -case "$words[1]" in - swift) - # The name swift conflicts with the command with the same name from the - # OpenStack project. We delegate completion to _openstack if swift(1) is - # detected to be from OpenStack. - local variant - _pick_variant -r variant openstack=OpenStack swiftlang='Swift compiler' unknown --help - case $variant in - openstack) - _openstack "$@" - ;; - swiftlang) - _arguments \ - "$common_options[@]" \ - '*:input:_files' - ;; - *) - _default "$@" - esac - ;; - swiftc) - _arguments \ - "$swiftc_mode_options[@]" \ - "$common_options[@]" \ - "$swiftc_additional_options[@]" \ - '*:input:_files' - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_sys_calls b/result/sw/share/zsh/5.9/functions/_sys_calls deleted file mode 100644 index dadf2b1a..00000000 --- a/result/sw/share/zsh/5.9/functions/_sys_calls +++ /dev/null @@ -1,20 +0,0 @@ -#autoload - -# Options: -# -# -a add "all" as an additional match -# -n add "none" as an additional match - -local expl all none -local ifile=/usr/include/sys/syscall.h -local -au syscalls - -zparseopts -D -K -E a=all n=none - -[[ $OSTYPE = linux* ]] && ifile=/usr/include/bits/syscall.h -syscalls=( ${${${(M)${(f)"$(<$ifile)"}:#\#[[:blank:]]#define[[:blank:]]##SYS_*}#*[[:blank:]]SYS_}%%[[:blank:]]*} ) 2>/dev/null -[[ -n $all ]] && syscalls+=( all ) -[[ -n $none ]] && syscalls+=( none ) - -_description syscalls expl 'system call' -compadd "$@" "$expl[@]" -a syscalls diff --git a/result/sw/share/zsh/5.9/functions/_sysclean b/result/sw/share/zsh/5.9/functions/_sysclean deleted file mode 100644 index 75586164..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysclean +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sysclean - -_arguments -s : \ - '(-p)-a[include filenames used by installed packages]' \ - '-i[include ignored filenames]' \ - '(-a)-p[output package names that are using obsolete files]' diff --git a/result/sw/share/zsh/5.9/functions/_sysctl b/result/sw/share/zsh/5.9/functions/_sysctl deleted file mode 100644 index 0416ca05..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysctl +++ /dev/null @@ -1,94 +0,0 @@ -#compdef sysctl - -local -a args sysctlvars - -case $OSTYPE in - linux*) - args=( - {-e,--ignore}'[ignore errors about unknown keys]' - '(-n -N --names)'{-N,--names}'[show only variable names]' - '(-N -n --values)'{-n,--values}'[show only variable values]' - '(-)'{-w,--write}'[write mode]' - '(-A -a -w --system *)'{-p,--load=}'[specify file to load sysctl settings from]:file (can be regexp):_files' - {-q,--quiet}'[do not display names and values when setting variables]' - '(-e --ignore -w --write -A -a --all *)'{-A,-a,--all}'[display all variables]' - ) - if _pick_variant ng=procps-ng procps --version; then - args+=( - '--deprecated[include deprecated parameters in --all listing]' - {-b,--binary}'[print value without new line]' - '(-p --load)--system[load settings from all system config files]' - {-r+,--pattern=}'[only apply to variables matching specified pattern]:extended regexp' - ) - else - args=( ${args:#((#s)|*\))(\*|)--*} ) # remove long options - fi - _arguments -S -A "-*" : $args \ - '(- :)'{-h,--help}'[display help text and exit]' \ - '(- :)'{-V,--version}'[display version info and exit]' \ - '*:sysctl variable:_files -W /proc/sys' - ;; - freebsd<11->.*) - args+=( - '-B[specify buffer size for reading]:buffer size' - '-t[display type of variable]' - ) - ;| - freebsd<10->.*) - args+=( - '-f+[specify file of name/value pairs to process first]:file:_files' - '-T[display only variables that are settable via loader]' - '-W[display only writable variables that are not statistical]' - ) - ;| - darwin*|freebsd*) - args+=( '-h[format output for human readability]' ) - ;| - darwin*|dragonfly*|freebsd*) - sysctlvars=( $(_call_program sysctl-variables sysctl -aN) ) - _arguments -s -S -A "-*" $args \ - '(-a -o *)-A[equivalent to -o -a (for compatibility)]' \ - '(*)-a[list all]' \ - '-b[binary output]' \ - '-d[print the description of the variable instead of its value]' \ - '(-N -n)-e[separate name and value with =]' \ - "-i[silently exit if variable doesn't exist]" \ - '(-n)-N[show only variable names]' \ - '(-N)-n[show only variable values]' \ - '(-x)-o[show opaques as well (values suppressed)]' \ - '-q[suppress some warnings]' \ - '(* -o)-X[equivalent to -x -a (for compatibility)]' \ - '(-o)-x[show opaques as well (entire values)]' \ - '*:sysctl variable:_multi_parts -i -S = -q . sysctlvars' - ;; - openbsd*) - sysctlvars=( ${${${(f)"$(_call_program sysctl-variables - sysctl -a 2>/dev/null)"}%%=*}:# *} ) - _arguments -S -s -A "-*" \ - '(-A -q *)-a[list all string and integer variables]' \ - '(-a -q *)-A[list all known variables]' \ - '-n[show only values]' \ - '(-a -A)-q[suppress all output when setting a variable]' \ - '*:sysctl variable:_multi_parts -i -S = -q . sysctlvars' - ;; - netbsd*) - sysctlvars=( ${${${(f)"$(_call_program sysctl-variables - sysctl -a 2>/dev/null)"}%% =*}%%:*} ) - _arguments -S -s -A "-*" : \ - '(-a -f -M -q -w)-A[list all known variables]' \ - '(-A -f -M -q -w *)-a[list all string and integer variables]' \ - '(-M -w -x)-d[print the description of the variable instead of its value]' \ - '(-f -M -w)-e[separate name and value with =]' \ - '(-a -A -w *)-f[read variable from specified file]:file:_files' \ - '(-a -A -d -r -x -w)-M[print entire MIB instead of just value]' \ - '-n[show only variable values]' \ - '(-A -a -M)-q[silently ignore nonexistent variables]' \ - '(-M -x)-r[binary output]' \ - '(-a -A -d -e -f -M -r)-w[write mode]' \ - '(-d -M -r)*-x[hex output. -xx for hexdump-like output]' \ - '*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . sysctlvars' - ;; - *) - _default - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_sysmerge b/result/sw/share/zsh/5.9/functions/_sysmerge deleted file mode 100644 index 00ee1829..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysmerge +++ /dev/null @@ -1,6 +0,0 @@ -#compdef sysmerge - -_arguments -s : \ - '-b[run non-interactively]' \ - '-d[do not take any automatic action]' \ - '-p[only compare configuration of packages]' diff --git a/result/sw/share/zsh/5.9/functions/_syspatch b/result/sw/share/zsh/5.9/functions/_syspatch deleted file mode 100644 index 850636d0..00000000 --- a/result/sw/share/zsh/5.9/functions/_syspatch +++ /dev/null @@ -1,7 +0,0 @@ -#compdef syspatch - -_arguments \ - '( -l -R -r)-c[list available patches]' \ - '(-c -R -r)-l[list installed patches]' \ - '(-c -l -r)-R[revert all patches]' \ - '(-c -l -R )-r[revert the most recently installed patch]' diff --git a/result/sw/share/zsh/5.9/functions/_sysrc b/result/sw/share/zsh/5.9/functions/_sysrc deleted file mode 100644 index 892dac40..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysrc +++ /dev/null @@ -1,94 +0,0 @@ -#compdef sysrc - -_sysrc_caching_policy() { - local -a oldp - oldp=( "$1"(Nm+1) ) - (( $#oldp )) -} - -_sysrc() { - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - local -a rc_conf_vars - - _arguments -C -s -A '-*' : \ - '(-l)-e[print variables as sh(1) compatible syntax]' \ - '-E[list only existing files]' \ - '(-l)-q[quiet mode]' \ - '(-L)-s+[process additional rc.conf.d entries for specified service name]:service name:_services' \ - '(-L)*-f+[operate on specified file(s), not \`rc_conf_files'\'']: : _files' \ - '(-l)-v[verbose mode]' \ - '*:configuration variable:->confvars' \ - - set \ - '(-A)-a[list all non-default configuration variables]' \ - '(-a)-A[list all configuration variables]' \ - '-c[check only, return success if vars are set]' \ - '-d[print variable(s) description]' \ - '-D[print default value(s) only]' \ - '-F[print only the last rc.conf(5) file each directive is in]' \ - '(- *)-h[print short usage message]' \ - '(- *)--help[print full usage message]' \ - '-i[ignore unknown variables]' \ - '-j+[jail to operate within]:jail:_jails' \ - '-n[print only variable values]' \ - '-N[print only variable names]' \ - '-R+[specify an alternative root]:alternative root:_files -/' \ - '(- *)--version[print version information]' \ - '-x[remove specified variables from specified file(s)]' \ - - lists \ - '(-e -q -v)-l[list config files used at startup]' \ - - lista \ - '(-s -f)-L[list all configuration files including rc.conf.d entries]' && ret=0 - - if [[ $state == confvars ]]; then - local k v opt - if (( $+opt_args[lista--L] )); then - _services && ret=0 - elif compset -P 1 '*='; then - case $IPREFIX in - *_enable=) _wanted values expl value compadd YES NO && ret=0 ;; - *_program=) _files -g "*(-*)" && ret=0 ;; - *_interface(|s)=) _net_interfaces && ret=0 ;; - *) _message -e values value ;; - esac - else - if zstyle -T ":completion:${curcontext%:*}:values" verbose; then - opt=d - else - opt=N - fi - - if ! zstyle -m ":completion:${curcontext%:*}:values" cache-policy '*'; then - zstyle ":completion:${curcontext%:*}:values" cache-policy _sysrc_caching_policy - fi - - if _cache_invalid sysrc/rc_conf_vars || - ! _retrieve_cache sysrc/rc_conf_vars; then - - _call_program sysrc-cmd sysrc -A$opt | while read -r k v; do - [[ $k = DEBUG* ]] && continue - if [[ -z $v ]]; then - rc_conf_vars+=( ${k%:} ) - else - rc_conf_vars+=( "${k%:}[${${v//]/\\]}//:/\\:}]" ) - fi - v= - done - - _store_cache sysrc/rc_conf_vars rc_conf_vars - fi - - if (( $#rc_conf_vars )); then - if [[ $opt == N ]]; then - _values -w variable ${^rc_conf_vars%%\[*}'::value' && ret=0 - else - _values -w variable ${^rc_conf_vars}'::value' && ret=0 - fi - fi - fi - fi - - return ret -} - -_sysrc "$@" diff --git a/result/sw/share/zsh/5.9/functions/_sysstat b/result/sw/share/zsh/5.9/functions/_sysstat deleted file mode 100644 index 5620da73..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysstat +++ /dev/null @@ -1,161 +0,0 @@ -#compdef mpstat cifsiostat isag sadf sar pidstat -#TODO: -# sysstat-nfsiostat - there seems to be two nfsiostat(1)s. one from oracle and one by redhat. - -_mpstat() { - _arguments -S : \ - '(-n -u -I -N -P)-A[equivalent to -n -u -I ALL -N ALL -P ALL]' \ - '(-A)-I[report interrupt statistics]:interrupt:(SUM CPU SCPU ALL)' \ - '(-A)-N[specify NUMA nodes]:NUMA node' \ - '(-A)-n[report summary CPU statistics based on NUMA node placement]' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '-o[display statistics in JSON]:format:(JSON)' \ - '(-A)-P[specify processor number]:processor: _values -s "," processor ALL {0..$(_call_program processors getconf _NPROCESSORS_ONLN)}' \ - '-T[display topology elements in the CPU report]' \ - '-u[report CPU utilization]' \ - '(- 1 2)-V[display version information]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_cifsiostat() { - _arguments : \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '-h[human readable]' \ - '(-m)-k[display statistics in kB/s]' \ - '(-k)-m[display statistics in MB/s]' \ - '-t[print timestamp for each report]' \ - '(- 1 2)-V[print version number]' \ - '--human[print sizes in human readable format]' \ - '--pretty[make the CIFS report easier to read by a human]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_isag() { - _arguments : \ - '-p[specify path to daily data files]:path:_files -/' \ - '-c[specify configuration file]:configuration file:_files' \ - '-ght[specify height of the chart]:height' \ - '-gwd[specify width of the chart]:width' -} - -_sadf() { - local i ret=1 - # any options after `--' are for sar(1) - if (( CURRENT <= $words[(i)--] )); then - _arguments : \ - '-C[display comments in file]' \ - '-c[convert an old datafile to the new format]' \ - '-e[set ending time of report]:ending time (HH\:MM\:SS)' \ - '-H[display only the header of the report]' \ - '(-g -j -p -r -x)-h[print on a single line when used with -d]' \ - '-O[specify output options]: : _values -s , option - autoscale bwcol customcol height\:value oneday packed showidle showinfo showtoc skipempty hz\:value pcparchive\:name\:_files debug' \ - '-P[restrict processor dependent statistics]:processor number(zero indexed) or ALL:(ALL)' \ - '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ - '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ - '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ - '-s[set starting time of report]:starting time (HH\:MM\:SS)"' \ - '(-t -U)-T[display timestamp in local time]' \ - '(-T -U)-t[display timestamp in file\''s original localtime]' \ - '(-t -T)-U[display in seconds since epoch (UTC)]' \ - '(- 1 2 3)-V[print version number]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' \ - '3:data file:_files' \ - + '(format)' \ - '-d[output file in SQL format]' \ - '-g[print data in SVG format]' \ - '-j[output file in JSON]' \ - '-l[export the contents of the data file to a PCP (Performance Co-Pilot) archive]' \ - '-p[print in format parsable by tools like awk]' \ - '-r[print raw contents of data file]' \ - '-x[output file in XML]' \ - && ret=0 - else - (( i = words[(i)--] - 1, CURRENT -= i )) - shift i words - _sar && ret=0 - fi - return ret -} - -_sar() { - _arguments -s : \ - '-A[equivalent to -bBdFHqrRSuvwWy -I SUM -I XALL -m ALL -n ALL -r ALL -u ALL -P ALL]' \ - '-B[report paging statistics]' \ - '-b[report I/O and transfer rate statistics]' \ - '-C[display comments from sadc]' \ - '-D[use saYYYYMMDD instead of saDD as the standard system activity daily data file name]' \ - '-d[report activity for each block device]' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '--dev=-[specify block devices for which statistics are to be displayed]:block device:_files -g "*(-%)"' \ - '-e[set ending time of report]:ending time (HH\:MM\:SS)' \ - '-F[display statistics for mounted filesystems]' \ - '-f[extract records from file]:record:_files' \ - '--fs=-[specify filesystems for which statistics are to be displayed]:file system:_dir_list -s ,' \ - '-H[report hugepages utilization]' \ - '(--human -p)-h[make output easier to read: implies --human and -p]' \ - '(- 1 2)--help[display usage information]' \ - '--human[print sizes in human readable format]' \ - '*-I[report statistics for interrupts]: : _values -s "," interrupt 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SUM ALL XALL' \ - '-i[select records as close as possible to interval]:interval' \ - '--iface=-[specify network interfaces for which statistics are to be displayed]:network interface:_sequence _net_interfaces' \ - '-j[display persistent device names]:type:(ID LABEL PATH UUID)' \ - '-m[report power management statistics]:keyword:_sequence compadd - CPU FAN FREQ IN TEMP USB ALL' \ - '-n[report network statistics]:keyword:_sequence compadd - DEV EDEV NFS NFSD SOCK IP EIP ICMP EICMP TCP ETCP UDP SOCK6 IP6 EIP6 ICMP6 EICMP6 UDP6 FC SOFT ALL' \ - '-o[save readings to file in binary form]:file:_files' \ - '-P[report per-processor statistics]:processor: _values -s "," processors ALL' \ - '-p[pretty-print device names]' \ - '-q[report queue length and load averages]::keyword:(CPU IO LOAD MEM PSI ALL)' \ - '-R[report memory statistics]' \ - '-r[report memory utilization statistics]:: :(ALL)' \ - '-S[report swap space utilization]' \ - '-s[set starting time of report]:start time (HH\:MM\:SS)' \ - '--sadc[print name of data collector]' \ - '-t[display timestamps in original local time of file creator]' \ - '-u[report CPU utilization]:: :(ALL)' \ - '(- 1 2)-V[display version information]' \ - '-v[report status of kernel tables]' \ - '-W[report swapping statistics]' \ - '-w[report task creation and system switching activity]' \ - '-y[report TTY device activity]' \ - '-z[omit output for any devices lacking activity during sample period]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_pidstat() { - _arguments -s : \ - '-C[filter tasks by string]:task filter' \ - '-d[report I/O statistics]' \ - '-e[execute specified program and monitor it with pidstat]:*::command: _normal' \ - '-H[display timestamp in seconds since the epoch]' \ - '-h[display horizontally]' \ - '-I[divide CPU usage by number of processors]' \ - '-l[display process name along with arguments]' \ - '*-p[select pid]:pid: _sequence _pids' \ - '-R[report realtime priority and scheduling policy information]' \ - '-r[report page faults and memory]' \ - '-s[report stack utilization]' \ - '-T[specifies what to monitor]:type:(TASK CHILD ALL)' \ - '-t[display statistics for threads]' \ - '-U[display real username of tasks]::username:_users' \ - '-u[report cpu utilization]' \ - '(- 1 2)-V[display version information]' \ - '-v[display values from kernel table]' \ - '-w[report task switching activity]' \ - '-G[include only processes with specified name]:process name' \ - '--dec=-[specify the number of decimal places to use]:decimal places [2]:(0 1 2)' \ - '--human[print sizes in human readable format]' \ - '1: : _guard "^-*" interval' \ - '2: : _guard "^-*" count' -} - -_sysstat() { - local ret - _call_function ret _$service && return ret -} - -_sysstat "$@" diff --git a/result/sw/share/zsh/5.9/functions/_systat b/result/sw/share/zsh/5.9/functions/_systat deleted file mode 100644 index 03df0763..00000000 --- a/result/sw/share/zsh/5.9/functions/_systat +++ /dev/null @@ -1,92 +0,0 @@ -#compdef systat - -local -a screens opts -local pre -case $OSTYPE in - freebsd*) - pre=- - screens=( - 'pigs:processes consuming the most CPU time' - 'sctp:SCTP statistics' - icmp{6,}':ICMP statistics' - ip{6,}':IP and UDP statistics' - 'tcp:TCP statistics' - 'iostat:processor and disk statistics' - 'swap:swap space statistics' - 'vmstat:virtual memory statistics' - 'netstat:network connection statistics' - 'ifstat:network traffic statistics' - 'zarc:display arc cache usage' - ) - ;; - openbsd*) - screens=( - 'buckets:kernel malloc(9) bucket statistics' - 'cpu:per CPU, usage statistics' - 'ifstat:interface statistics' - 'iostat:disk throughput statistics' - 'malloc:malloc(9) type statistics' - 'mbufs:mbuf usage statistics' - 'netstat:network connection statistics' - 'nfsclient:NFS client statistics' - 'nfsserver:NFS server statistics' - 'pf:pf(4) filter statistics' - 'pigs:processes consuming the most CPU time' - 'pool:pool(9) statistics' - 'queues:pf(4) queue statistics' - 'rules:pf(4) rule statistics' - 'sensors:display hardware sensors values' - 'states:pf(4) states statistics' - 'swap:swap space usage' - 'vmstat:virtual memory statistics' - ) - opts=( - '-a[display all lines]' - '-B[raw, non-interactive mode (two screen updates)]' - '-b[raw, non-interactive mode (one screen update)]' - '-d[exit after `count'\'' updates]:count' - '-h[human readable output]' - '-i[interactive mode]' - '-N[resolve network addresses to names]' - '-n[do not resolve network addresses to names]' - '-s[screen refresh interval]:refresh interval (seconds)' - '-w[maximum width of output in raw mode]:width' - ) - ;; - netbsd*) - screens=( - 'all:cycle through all displays' - 'bufcache:filesystem buffer statistics' - 'df:disk usage statistics' - 'inet.icmp:ICMP statistics' - 'inet.ip:IPv4 and UDP statistics' - 'inet.tcp:TCP statistics' - 'inet.tcpsyn:TCP ``syncache'\'\'' statistics' - 'inet6.ip6:IPv6 statistics' - 'iostat:disk throughput statistics' - 'mbufs:mbuf usage statistics' - 'netstat:network connection statistics' - 'pigs:processes consuming the most CPU time' - 'ps:``ps -aux'\'\'' in a loop' - 'swap:swap space usage' - 'syscall:per system call statistics' - 'vmstat:virtual memory statistics' - ) - opts=( - '-M[alternative source to extract values from]:core:_files' - '-N[alternative source to extract the name list from]:system:_files' - '(-t -w)-b[show the chosen display once and exit]' - "-n[don't resolve IP addresses]" - '(-b)-w[refresh interval]:refresh interval' - "(-b)-t[specify amount of refreshes for each screen in 'all' display mode]:turns" - ) -esac - -if (( $#screens )); then - _arguments -M 'r:|.=* r:|=*' : $opts \ - '1:systat(1) display:(( ${pre}$^screens ))' \ - '2:refresh interval' - return -fi - -_default diff --git a/result/sw/share/zsh/5.9/functions/_system_profiler b/result/sw/share/zsh/5.9/functions/_system_profiler deleted file mode 100644 index fe197579..00000000 --- a/result/sw/share/zsh/5.9/functions/_system_profiler +++ /dev/null @@ -1,20 +0,0 @@ -#compdef system_profiler - -typeset -A opt_args -local context state state_descr line -local -a _data_types - -# TODO: Should this be static? Calling `system_profiler -listDataTypes` takes -# about 0.07-0.08 secs on my machine. Does this list ever change (between -# different versions of OS X)? -_data_types=( SP{AirPort,Applications,Audio,Bluetooth,Camera,CardReader,Component,ConfigurationProfile,DeveloperTools,Diagnostics,DisabledSoftware,DiscBurning,Displays,Ethernet,Extensions,FibreChannel,FireWire,Firewall,Fonts,Frameworks,Hardware,HardwareRAID,InstallHistory,Logs,ManagedClient,Memory,Network,NetworkLocation,NetworkVolume,PCI,ParallelATA,ParallelSCSI,Power,PrefPane,Printers,PrintersSoftware,SAS,SPI,SerialATA,Software,StartupItem,Storage,SyncServices,Thunderbolt,USB,UniversalAccess,WWAN}DataType ) -# the dynamic alternative is: -#_data_types=( ${${(f)"$(_call_program path system_profiler -listDataTypes 2>/dev/null)"}[2,-1]} ) - -_arguments \ - '(- *)-usage' \ - '(- *)-listDataTypes[lists the available datatypes]' \ - '(-listDataTypes -usage)-xml[generate xml output]' \ - '(-listDataTypes -usage)-detailLevel[level of detail for the report]:detail level:(mini basic full)' \ - '(-listDataTypes -usage)-timeout+[maximum time to wait in seconds]' \ - '(-listDataTypes -usage)*:data type:'"($_data_types)" diff --git a/result/sw/share/zsh/5.9/functions/_sysupgrade b/result/sw/share/zsh/5.9/functions/_sysupgrade deleted file mode 100644 index b1144b0d..00000000 --- a/result/sw/share/zsh/5.9/functions/_sysupgrade +++ /dev/null @@ -1,9 +0,0 @@ -#compdef sysupgrade - -_arguments -s -S -A '-*' : \ - '-f[force an already applied upgrade]' \ - '-k[keep the downloaded files]' \ - '-n[do not reboot]' \ - '(-s)-r[upgrade to the next release]' \ - '(-r)-s[upgrade to a snapshot]' \ - ':installurl:' diff --git a/result/sw/share/zsh/5.9/functions/_tac b/result/sw/share/zsh/5.9/functions/_tac deleted file mode 100644 index 083fce91..00000000 --- a/result/sw/share/zsh/5.9/functions/_tac +++ /dev/null @@ -1,15 +0,0 @@ -#compdef tac gtac - -# NetBSD (at least) has its own bare-bones version of this tool -_pick_variant gnu='Free Soft' unix --version || { - _default - return -} - -_arguments -s -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '(-b --before)'{-b,--before}'[attach separator before instead of after]' \ - '(-r --regex)'{-r,--regex}'[treat separator as regular expression (with -s)]' \ - '(-s --separator)'{-s+,--separator=}'[use specified separator instead of newline]:separator' \ - '*: :_files' diff --git a/result/sw/share/zsh/5.9/functions/_tags b/result/sw/share/zsh/5.9/functions/_tags deleted file mode 100644 index 63087e20..00000000 --- a/result/sw/share/zsh/5.9/functions/_tags +++ /dev/null @@ -1,67 +0,0 @@ -#autoload - -local prev - -# A `--' as the first argument says that we should tell comptags to use -# the preceding function nesting level. This is only documented here because -# if everything goes well, users won't have to worry about it and should -# not mess with it. - -if [[ "$1" = -- ]]; then - prev=- - shift -fi - -if (( $# )); then - - # We have arguments: the tags supported in this context. - - local curcontext="$curcontext" order tag nodef tmp - - if [[ "$1" = -C?* ]]; then - curcontext="${curcontext%:*}:${1[3,-1]}" - shift - elif [[ "$1" = -C ]]; then - curcontext="${curcontext%:*}:${2}" - shift 2 - fi - - [[ "$1" = -(|-) ]] && shift - - zstyle -a ":completion:${curcontext}:" group-order order && - compgroups "$order[@]" - - # Set and remember offered tags. - - comptags "-i$prev" "$curcontext" "$@" - - # Sort the tags. - - if [[ -n "$_sort_tags" ]]; then - "$_sort_tags" "$@" - else - zstyle -a ":completion:${curcontext}:" tag-order order || - (( ! ${@[(I)options]} )) || - order=('(|*-)argument-* (|*-)option[-+]* values' options) - - for tag in $order; do - case $tag in - -) nodef=yes;; - \!*) comptry "${(@)argv:#(${(j:|:)~${=~tag[2,-1]}})}";; - ?*) comptry -m "$tag";; - esac - done - - [[ -z "$nodef" ]] && comptry "$@" - fi - - # Return non-zero if at least one set of tags should be used. - - comptags "-T$prev" - - return -fi - -# The other mode: switch to the next set of tags. - -comptags "-N$prev" diff --git a/result/sw/share/zsh/5.9/functions/_tail b/result/sw/share/zsh/5.9/functions/_tail deleted file mode 100644 index e54a0b06..00000000 --- a/result/sw/share/zsh/5.9/functions/_tail +++ /dev/null @@ -1,66 +0,0 @@ -#compdef tail gtail - -local curcontext=$curcontext state state_descr line opts args ret=1 -typeset -A opt_args - -if _pick_variant gnu=GNU unix --version; then - args=( - '(-n --lines -c --bytes)'{-c+,--bytes=}'[print the last specified bytes; with +, start at the specified byte]:number of bytes:->number' - '(-n --lines -c --bytes)'{-n+,--lines=}'[print the last specified lines; with +, start at the specified line]:number of lines:->number' - '(-F -f)--follow=-[output appended data as the file grows]::how:(name descriptor)' - '(-F --follow)-f[same as --follow=descriptor]' - '(-f --follow --retry)-F[same as --follow=name --retry]' - '--max-unchanged-stats=[with --follow=name, check file rename after the specified number of iterations]:number of iterations' - '(-s --sleep-interval)'{-s+,--sleep-interval=}'[with -f, sleep the specified seconds between iterations]:seconds' - '--pid=[with -f, terminate after the specified process dies]:pid:_pids' - '(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[never output headers giving file names]' - '(-q --quiet --silent -v --verbose)'{-v,--verbose}'[always output headers giving file names]' - '--retry[keep trying to open a file even when it becomes inaccessible]' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) -else - opts=(-A '-*') - args=( - '(-b -n)-c+[start at the specified byte]:bytes relative to the end (with +, beginning) of file' - '(-b -c)-n+[start at the specified line]:lines relative to the end (with +, beginning) of file' - '(-F -r)-f[wait for new data to be appended to the file]' - ) - case $OSTYPE in - (freebsd*|darwin*|dragonfly*|netbsd*|openbsd*|solaris*) - args+=( - '(-f -F)-r[display the file in reverse order]' - ) - ;| - (freebsd*|darwin*|dragonfly*|netbsd*|openbsd*) - args+=( - '(-c -n)-b+[start at the specified block (512-byte)]:blocks relative to the end (with +, beginning) of file' - ) - ;| - (freebsd*|darwin*|dragonfly*|netbsd*) - args+=( - '(-f -r)-F[implies -f, but also detect file rename]' - '(-v)-q[never output headers giving file names]' - ) - ;| - (dragonfly*|netbsd*) - args+=( '(-q)-v[always output headers giving file names]' ) - ;; - esac -fi - -_arguments -C -s -S $opts : $args '*:file:_files' && return - -case $state in - (number) - local alts - [[ -z $PREFIX ]] && alts=( - 'sign:sign:((-\:"print all but the last specified bytes/lines" +\:"print the first specified bytes/lines (default)"))' - ) - compset -P '+' - alts+=( 'numbers: :_numbers -N $state_descr b\:512 K\:1024 KB\:1000 M\:1024\^2 MB\:1000\^2 G\:1024\^3 GB\:1000\^3 T\:1024\^4 TB\:1000\^4' ) - _alternative $alts && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tar b/result/sw/share/zsh/5.9/functions/_tar deleted file mode 100644 index f9901c0c..00000000 --- a/result/sw/share/zsh/5.9/functions/_tar +++ /dev/null @@ -1,192 +0,0 @@ -#compdef tar gtar star bsdtar - -# Tar completion. Features: -# - Tries to collect tar commands from second position, single letter -# option, and long options. -# - `tar' can be called anything, will use the correct name -# - Uses the function `_tar_archive' to complete archive files. -# - Tries to find out if compressed archives should be used. -# - Completes files inside archive. This is supposed to look pretty -# much as if the files are in an ordinary directory hierarchy. -# Handles extraction from compressed archives (GNU tar). -# - Anywhere -- appears, gets a list of long options to complete from -# tar itself (GNU tar) -# - Things like --directory=... are also completed correctly. - -local _tar_cmd tf tmp tmpb del index - -# First we collect in `_tar_cmd' single letter options describing what -# should be done with the archive and if it is compressed. This -# collected from options arguments that start with only one hyphen, -# from some of the possible long options, and from the second word if -# that does not start with a hyphen. - -if _pick_variant gnu=GNU libarchive=libarchive unix --version; then - case "$($service --version)" in - ("tar (GNU tar) "(#b)([0-9.-]##)*) - autoload -z is-at-least - is-at-least 1.14.91 "$match[1]" || _cmd_variant[$service]="gnu-old" - ;; - esac -fi - -tmp=("${(@M)words:#-[^-]*}") -_tar_cmd="${(j::)tmp#-}" - -(( $words[(I)--(un|)gzip] )) && _tar_cmd="z$_tar_cmd" -(( $words[(I)--(un|)compress] )) && _tar_cmd="Z$_tar_cmd" -(( $words[(I)--bzip2] )) && _tar_cmd="j$_tar_cmd" -(( $words[(I)--xz] )) && _tar_cmd="J$_tar_cmd" -(( $words[(I)--list] )) && _tar_cmd="t$_tar_cmd" -(( $words[(I)--(extract|get)] )) && _tar_cmd="x$_tar_cmd" -(( $words[(I)--create] )) && _tar_cmd="c$_tar_cmd" - -# Other ways of finding out what we're doing: first -# look in the first argument if it's not an option -if [[ "$words[2]" = *[txcdruA]*~-* ]]; then - _tar_cmd="$words[2]$_tar_cmd" -elif [[ $_tar_cmd != *[txcdruA]* && CURRENT -gt 2 ]]; then - # look for more obscure long options: these aren't all handled. - (( $words[(I)--(diff|compare)] )) && _tar_cmd="d$_tar_cmd" - (( $words[(I)--append] )) && _tar_cmd="r$_tar_cmd" - (( $words[(I)--update] )) && _tar_cmd="u$_tar_cmd" - (( $words[(I)--(con|)catenate] )) && _tar_cmd="A$_tar_cmd" - (( $words[(I)--delete] )) && del=1 -fi - -# Next, we try to find the archive name and store it in `tf'. The name -# is searched after a `--file=' long option, in the third word if the -# second one didn't start with a hyphen but contained a `f', and after -# an option argument starting with only one hyphen and containing a `f'. -# unless that option argument also contains a `C'. - -tmp="$words[(I)--file=*]" -tmpb="$words[(I)-*Cf*~--*]" - -if (( tmp )); then - tf=${~words[tmp][8,-1]} - _tar_cmd="f$_tar_cmd" -elif [[ "$words[2]" != -* && "$words[2]" = *f* ]]; then - tf=${~words[3]} - _tar_cmd="f$_tar_cmd" -elif (( tmpb )); then - tf=${~words[tmpb+2]} - wdir=${~words[tmpb+1]} - _tar_cmd="Cf$_tar_cmd" -else - tmp="${words[(I)-*f*~--*]}" - if (( tmp )); then - tf=${~words[tmp+1]} - _tar_cmd="f$_tar_cmd" - fi -fi 2>/dev/null - -# See if we should use a path prefix. We have to use eval as the dir can -# be any unevaluated thing which appears on the command line, including a -# parameter. - -# This isn't used right now. - -tmp=${words[(r)--dir[a-z]#=*]} - -if [[ -n $tmp ]]; then - eval "wdir=(${tmp#*=})" -fi - -# Now we complete... - -if [[ "$PREFIX" = --* ]]; then - - # ...long options after `--'. - - _arguments '-f+:' '-C+:' '*: : true' -- -l '--owner=*:user:_users' \ - '--group=*:group:_groups' \ - '--atime-preserve*::method:(replace system)' \ - '--*-script=NAME:script file:_files' \ - '--format=*:format:(gnu oldgnu pax posix ustar v7)' \ - '--quoting-style=*:quoting style:(literal shell shell-always c c-maybe escape locale clocale)' \ - '--totals*=SIGNAL*::signal:(HUP QUIT INT USR1 USR2)' \ - '*=(PROG|COMMAND)*:program:_command_names -e' \ - '*=ARCHIVE*:archive: _tar_archive' \ - '*=FILE*:file:_files' \ - '*=DIR*:directory:_files -/' \ - '*=CONTROL*::version control:(t numbered nil existing never simple)' - -elif [[ ( CURRENT -gt 2 && "$words[CURRENT-1]" = -[^C]#f* && - "$words[CURRENT-1]" != --* ) || - ( CURRENT -eq 3 && "$words[2]" = [^C]#f* && "$words[2]" != -* ) || - ( CURRENT -gt 2 && "$words[CURRENT-2]" = -*C*f* && - "$words[CURRENT-2]" != --* && "$words[CURRENT-1]" != --* ) || - ( CURRENT -eq 4 && "$words[2]" = *C*f* && "$words[2]" != -* ) ]]; then - - # ...archive files if we think they are wanted here. - - _tar_archive - -elif [[ ( CURRENT -gt 2 && "$words[CURRENT-1]" = -[^f]#C*) || - ( CURRENT -eq 3 && "$words[2]" = [^f]#C* ) ]]; then - - # a directory for -C - - _directories - -elif [[ ( "$_tar_cmd" = *[xt]* || -n $del ) && -n "$tf" ]]; then - - # ...and files from the archive if we found an archive name and tar - # commands. We run `tar t...' on the file, keeping the list of - # filenames cached, plus the name of the tarfile so we know if it - # changes. We skip this test if the alleged archive is not a file. - - local largs=-tf expl - - if [[ $_tar_cmd = *z* ]]; then - largs=-tzf - elif [[ $_tar_cmd = *j* ]]; then - largs=-tjf - elif [[ $_tar_cmd = *y* ]]; then - largs=-tyf - elif [[ $_tar_cmd = *Z* ]]; then - largs=-tZf - elif [[ $_tar_cmd = *I* ]]; then - largs=-tIf - elif [[ $_tar_cmd = *J* ]]; then - largs=-tJf - else - # Some random compression program - tmp="${words[(r)--use-comp*]}" - [[ -n $tmp ]] && largs=($tmp -tf) - fi - - if [[ $tf != $_tar_cache_name && -f $tf ]]; then - _tar_cache_list=("${(@f)$($words[1] $largs $tf)}") - _tar_cache_name=$tf - fi - - _wanted files expl 'file from archive' _multi_parts / _tar_cache_list -elif (( CURRENT == 2 )); then - # ignore leading - since we complete option letters anyway - compset -P - - _values -s '' 'tar function' \ - '(c t u x)A[append to an archive]' \ - '(A t u x)c[create a new archive]' \ - '(A c u x)t[list archive contents]' \ - '(A c t x)u[update archive]' \ - '(A c t u)x[extract files from an archive]' \ - 'v[verbose output]' \ - 'f[specify archive file or device]' -else - if ! (( index=$words[(I)-*C*] )); then - if [[ $words[2] = [^f]#C* ]]; then - index=1 - elif [[ $words[2] = *f*C* ]]; then - index=2 - fi - fi - if (( index )); then - index=${~${(Q)words[index+1]}} - [[ $index = (.|..|)/* ]] || index=~+/$index - _files -W $index - else - _files - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_tar_archive b/result/sw/share/zsh/5.9/functions/_tar_archive deleted file mode 100644 index bc49c4a3..00000000 --- a/result/sw/share/zsh/5.9/functions/_tar_archive +++ /dev/null @@ -1,32 +0,0 @@ -#autoload - -# This is used to generate filenames usable as a tar archive. This may -# get one argument, a collection of tar option characters that may be -# used to find out what kind of filename is needed. If no argument is -# given but the parameter `_tar_cmd' is set, that is used. -# If your version of `tar' supports this you may want to complete -# things like `host:file' or `user@host:file' here. - -local expl - -[[ $# -eq 0 && $+_tar_cmd -ne 0 ]] && set "$_tar_cmd" - -_description files expl 'archive file' - -if [[ "$1" = *[urtx]* ]]; then - if [[ "$1" = *[zZ]* ]]; then - _files "$expl[@]" -g '*.((tar|TAR).(gz|GZ|Z)|tgz)(-.)' - elif [[ "$1" = *[Ijy]* ]]; then - _files "$expl[@]" -g '*.(tar|TAR).bz2(-.)' - elif [[ "$1" = *J* ]]; then - _files "$expl[@]" -g '*.(tar|TAR).(lzma|xz)(-.)' - elif [[ "$_cmd_variant[$service]" == gnu ]]; then - _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|taz|taZ|tz2|tbz2|tlz))(-.)' - elif [[ "$_cmd_variant[$service]" == libarchive ]]; then - _files "$expl[@]" -g '*.((tar|TAR|cpio)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|tzo|taz|tbz2|tz2|tlz|tZ|7z|ar|iso|deb|cab|lha|mtree|rar|warc|xar|zip))(-.)' - else - _files "$expl[@]" -g '*.(tar|TAR)(-.)' - fi -else - _files "$expl[@]" -fi diff --git a/result/sw/share/zsh/5.9/functions/_tardy b/result/sw/share/zsh/5.9/functions/_tardy deleted file mode 100644 index a843968c..00000000 --- a/result/sw/share/zsh/5.9/functions/_tardy +++ /dev/null @@ -1,30 +0,0 @@ -#compdef tardy - -_arguments \ - '-Block_Size:number:' \ - '-Clean_Meta' \ - '-Clean_Print' \ - '-Clean_Space' \ - '-Clean' \ - '-DownCase' \ - '-Group:group:_groups' \ - '-Group_NAme:group:_groups' \ - '-Group_NUmber:group:_groups' \ - '-Help' \ - '-Input_ForMaT:input format:(tar list)' \ - '-List' \ - '-No_Directories' \ - '-Mode_Clear:bits:' \ - '-Mode_Set:bits:' \ - '-Now' \ - '-Old_Type' \ - '-Output_ForMaT:output format:(ustar tar-bsd cpio cpio-old-ascii v7)' \ - '-Prefix:string:' \ - '-PROgress' \ - '-Remove_Prefix:number or string:' \ - '-UpCase' \ - '-User:user:_users' \ - '-User_NAme:user:_users' \ - '-User_NUmber:user:_users' \ - '-VERSion' \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_tcpdump b/result/sw/share/zsh/5.9/functions/_tcpdump deleted file mode 100644 index 9aad84d7..00000000 --- a/result/sw/share/zsh/5.9/functions/_tcpdump +++ /dev/null @@ -1,194 +0,0 @@ -#compdef tcpdump - -local args ret=1 -local root -(( EUID )) && root='!' - -_tcpdump_interfaces() { - local disp expl sep interfaces - [[ $OSTYPE != openbsd* ]] && - interfaces=( ${${${${(f)"$(_call_program interfaces tcpdump -D)"}#<->.}//[()]/}/ /:} ) - if (( $#interfaces )); then - _describe -t interfaces 'network interface' interfaces - else - _description interfaces expl 'network interface' - _net_interfaces "$expl[@]" - if zstyle -t ":completion:${curcontext}:interfaces" verbose; then - zstyle -s ":completion:${curcontext}:interfaces" list-separator sep || sep=-- - disp=( "any $sep capture on all interfaces" ) - compadd "$expl[@]" -ld disp any - else - compadd "$expl[@]" any - fi - fi -} - -_esp_secrets () { - if [[ $OSTYPE = openbsd* ]]; then - _values -S : 'ESP algorithm' \ - aes128:secret \ - aes128-hmac96:secret \ - blowfish:secret \ - blowfish-hmac96:secret \ - cast:secret \ - cast-hmac96:secret \ - des3:secret \ - des3-hmac96:secret \ - des:secret \ - des-hmac96:secret - else - _values -S : 'ESP algorithm' \ - 'des-cbc:secret' \ - '3des-cbc:secret' \ - 'blowfish-cbc:secret' \ - 'rc3-cbc:secret' \ - 'cast128-cbc:secret' \ - none - fi -} - -_packet_types () { - local -a types - types=( - 'cnfp:Cisco NetFlow protocol' - 'rpc:Remote Procedure Call' - 'rtp:Real-Time Applications protocol' - 'rtcp:Real-Time Applications control protocol' - 'vat:Visual Audio Tool' - 'wb:distributed White Board' - ) - if [[ $OSTYPE = openbsd* ]]; then - types+=( - 'sack:RFC 2018 TCP Selective Acknowledgements Options' - 'vrrp:Virtual Router Redundancy Protocol' - 'tcp:Transmission Control Protocol' - ) - else - types+=( - 'aodv:Ad-hoc On-demand Distance Vector protocol' - 'carp:Common Address Redundancy Protocol' - 'radius:RADIUS' - 'snmp:Simple Network Management Protocol' - 'tftp:Trivial File Transfer Protocol' - 'vxlan:Virtual eXtensible Local Area Network' - 'zmtpl:ZeroMQ Message Transport Protocol' - ) - fi - _describe -t packet-types 'packet type' types -} - -_time_stamp_types () { - local vals - vals=( ${${${(ps:\n :)"$(_call_program time-stamp-types tcpdump -J ${(kv)opt_args[(i)-i|--interface]} 2>&1)"}[2,-1]:#*cannot be set*}/ /:} ) - _describe -t time-stamp-types "time stamp type" vals -} - -_data_link_types () { - local vals expl - if (( $+opt_args[(i)-i|--interface] )); then - vals=( ${${${(s: :)"$(_call_program data-link-types tcpdump -L ${(kv)opt_args[(i)-i|--interface]} 2>&1)"}[2,-1]}/ /:} ) - _describe -t data-link-types "data link type (${(v)opt_args[(i)-i|--interface]})" vals - else - _wanted data-link-types expl "data link type (general)" \ - compadd EN10MB LINUX_SLL - fi -} - -_bpf_filter () { -} - -args=( - '-A[print each packet in ASCII]' - '-c+[exit after receiving specified number of packets]:number of packets' - '(-ddd)-d[dump the compiled packet-matching code in a human readable form]' - '(-ddd)-dd[dump packet-matching code as a C program fragment]' - '(-d -dd)-ddd[dump packet-matching code as decimal numbers (preceded with a count)]' - "-E[decrypting IPsec ESP packets]:spi@ipaddr::algo\:secret:_esp_secrets" - '-e[print the link-level header on each dump line]' - '-F+[specify input file for the filter expression]:filter expression file:_files' - "-f[print 'foreign' IPv4 addresses numerically]" - '-l[make stdout line buffered]' - "-N[don't print domain name qualification of host names]" - "(-nn)-n[don't convert addresses to names]" - "-O[don't run the packet-matching code optimizer]" - '(-p --no-promiscuous-mode)'{-p,--no-promiscuous-mode}"[don't put the interface into promiscuous mode]" - '-q[quick (quiet?) output]' - '-r+[read packets from file]:input file:_files' - '(-S --absolute-tcp-sequence-numbers)'{-S,--absolute-tcp-sequence-numbers}'[print absolute TCP sequence numbers]' - '-T+[interpret captured packets as specified type]:packet type:_packet_types' - "(-tt -ttt -tttt -ttttt)-t[don't print a timestamp on each dump line]" - '(-t -ttt -tttt -ttttt)-tt[print an unformatted timestamp on each dump line]' - '(-vv -vvv)-v[slightly more verbose output]' - '(-v -vvv)-vv[more verbose output]' - '-w+[write the raw packets to file]:output file:_files' - '-X[print each packet (minus its link level header) in hex and ASCII]' - '-x[print each packet (minus its link level header) in hex]' - '(-y --linktype)'{-y+,--linktype=}'[set the data link type to use while capturing packets]: :_data_link_types' -) - -if [[ $OSTYPE = openbsd* ]]; then - args=( - '-i+[specify interface]:interface:_tcpdump_interfaces' - - listd - '-L[list data link types for the interface]' - - capture - ${(R)args:#(|\*)(|\(*\))--*} # removes any long-options - '(-n)-a[attempt to convert network and broadcast addresses to names]' - '-B+[specify drop action to be used when filter expression matches a packet]:drop action:(pass capture drop)' - '-D[select packet flowing in specified direction]:direction:(in out)' - '-I[print the interface on each dump line]' - '-o[print a guess of the possible operating system(s)]' - '-s+[specify amount of data to snarf from each packet]:length (bytes) [116]' - '(-t -tt -tttt -ttttt)-ttt[print day and month in timestamp]' - '(-t -tt -ttt -ttttt)-tttt[print timestamp difference between packets]' - '(-t -tt -ttt -tttt)-ttttt[print timestamp difference since the first packet]' - ) -else - args=( - '(-i --interface -D --list-interfaces)'{-i+,--interface=}'[specify interface]:interface:_tcpdump_interfaces' - - listt - '(-J --list-time-stamp-types)'{-J,--list-time-stamp-types}'[list supported time stamp types]' - - listd - '(-L --list-data-link-types)'{-L,--list-data-link-types}'[list data link types for the interface]' - - capture - $args - '(-B --buffer-size)'{-B+,--buffer-size=}'[set the operating system capture buffer size]:size (kiB)' - '-b[print the AS number in BGP packets in ASDOT notation]' - '-C+[specify output file size]:output file size (MB)' - '(-)'{-D,--list-interfaces}'[print the list of the network interfaces available on the system]' - '-G+[rotate dump file specified with -w at specified interval]:interval (seconds)' - '-H[attempt to detect 802.11s draft mesh headers]' - '(- *)'{-h,--help}'[display help information]' - '(- *)--version[display version information]' - '(-I --monitor-mode)'{-I,--monitor-mode}'[put the Wi-Fi interface in monitor mode]' - '--immediate-mode[deliver packets to tcpdump as soon as they arrive without buffering]' - '-I[put the interface in monitor mode]' - '(-j --time-stamp-type)'{-j+,--time-stamp-type=}'[set the time stamp type for the capture]: :_time_stamp_types' - '--time-stamp-precision=[set the time stamp precision for the capture]:precision [micro]:(micro nano)' - '(-K --dont-verify-checksums)'{-K,--dont-verify-checksums}"[don't verify IP, TCP, or UDP checksums]" - '*-m+[load SMI MIB module definitions]:SMI MIB module definition:_files' - "(-n)-nn[don't convert protocol and port numbers to names]" - '-M+[specify shared secret for validating the digests in TCP segments with the TCP-MD5 option]:secret' - '(-# --number)'{-\#,--number}'[print an optional packet number at the beginning of the line]' - '(-O --no-optimize)'{-O,--no-optimize}"[don't run the packet-matching code optimizer]" - '(-s --snapshot-length)'{-s+,--snapshot-length=}'[specify amount of data to snarf from each packet]:length (bytes) [65535]' - '(-t -tt -tttt -ttttt)-ttt[print a delta (in micro-seconds) on each line since previous line]' - '(-t -tt -ttt -ttttt)-tttt[print a timestamp in default format preceded by date on each dump line]' - '(-t -tt -ttt -tttt)-ttttt[print a delta (in micro-seconds) on each line since first line]' - '(-U --packet-buffered)'{-U,--packet-buffered}'[make output packet-buffered when saving to file (-w)]' - '-u[print undecoded NFS handles]' - '-V+[read a list of filenames from specified file]:file:_files' - '(-v -vv)-vvv[most verbose output]' - '-W+[limit the number of created files (-C)]:number of files' - '(-X)-XX[print each packet, including its link level header, in hex and ASCII]' - '(-x)-xx[print each packet, including its link level header, in hex]' - "${root}(-Z --relinquish-privileges)"{-Z+,--relinquish-privileges=}'[drop privileges and run as specified user]:user:_users' - '-z+[specify command to run on files (with -C or -G)]:command:_command_names -e' - ) -fi -[[ $OSTYPE = freebsd* ]] && args+=( - '-R[assume ESP/AH packets to be based on old specification (RFC1825 to RFC1829)]' -) - -_arguments -s $args \ - '*::BPF filter:= _bpf_filters' diff --git a/result/sw/share/zsh/5.9/functions/_tcpsys b/result/sw/share/zsh/5.9/functions/_tcpsys deleted file mode 100644 index 1240ffbf..00000000 --- a/result/sw/share/zsh/5.9/functions/_tcpsys +++ /dev/null @@ -1,41 +0,0 @@ -#compdef tcp_open - -local curcontext="$curcontext" state line expl -local -A opt_args -local -a argargs sesslist - -case $service in - (tcp_open) - argargs=( - '(-a -f -l)-s[open session(s)]' - '(-a -f -s)-l[open list of sessions]' - '(-f -s -l)-a[open session for accept on fd]:fd' - '(-a -s -l)-f[open session for accept on fd]:fd' - '-q[quiet mode]' - '-z[no zle handler]' - ) - if [[ -n $words[(R)-(a|f)*] ]]; then - argargs+=(':session:->session') - elif [[ -n $words[(R)-(l|s)*] ]]; then - argargs+=('*:session:->session') - else - argargs+=(':host:_hosts' ':port:_ports' '*:session:->session') - fi - _arguments -C $argargs - ;; -esac - -while (( $#state )); do - case "$state[1]" in - (sessionlist) - compset -P '*,' - ;& - - (session) - sesslist=(${${${(f)"$(<~/.ztcp_sessions)"}:#[[:space:]]#\#*}/ /:}) - _describe -t sessions 'TCP session' sesslist && return - ;; - - esac - shift state -done diff --git a/result/sw/share/zsh/5.9/functions/_tcptraceroute b/result/sw/share/zsh/5.9/functions/_tcptraceroute deleted file mode 100644 index 7c03837a..00000000 --- a/result/sw/share/zsh/5.9/functions/_tcptraceroute +++ /dev/null @@ -1,22 +0,0 @@ -#compdef tcptraceroute - -_arguments \ - '-n[no reverse lookups]' \ - '-N[always reverse lookup]' \ - '-f:first ttl:' \ - '-m:maximum ttl:' \ - '-p:local tcp port:_ports' \ - '-s:source address:_hosts' \ - '-i:interface for outgoing packets:_net_interfaces' \ - '-q:number of probes to each hop:' \ - '-w:timeout in seconds:' \ - '-S[set TCP SYN flag]' \ - '-A[set TCP ACK flag]' \ - '-E[send ECN SYN packets]' \ - '-t:IP TOS:' \ - '-F[set IP don'"'"'t fragment bit]' \ - '-l:total packet length:' \ - '-d[enable debugging]' \ - ':destination:_hosts' \ - ':port:_ports' \ - ':length:' diff --git a/result/sw/share/zsh/5.9/functions/_tee b/result/sw/share/zsh/5.9/functions/_tee deleted file mode 100644 index 66ef66e1..00000000 --- a/result/sw/share/zsh/5.9/functions/_tee +++ /dev/null @@ -1,32 +0,0 @@ -#compdef tee gtee - -local ret=1 -local -a context line state state_descr args -local -A opt_args - -args=( - '(: -)--help[display help information]' - '(: -)--version[display version information]' - '(-a --append)'{-a,--append}'[append to files instead of overwriting]' - '(-i --ignore-interrupts)'{-i,--ignore-interrupts}'[ignore interrupt signals]' - '(--output-error)-p[warn on errors writing to non-pipes]' - '(-p)--output-error=[specify write-error behavior]: :->errmodes' -) - -# Filter out non-GNU options if applicable -_pick_variant gnu='Free Soft' unix --version || -args=( ${(@M)args:#(|*\))-[ai]\[*} ) - -_arguments -s -S : $args '*: :_files' && ret=0 - -[[ $state == errmodes ]] && { - args=( - 'exit[exit on errors writing to any output]' - 'exit-nopipe[exit on errors writing to non-pipes]' - 'warn[warn on errors writing to any output]' - 'warn-nopipe[warn on errors writing to non-pipes]' - ) - _values 'error mode' $args && ret=0 -} - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_telnet b/result/sw/share/zsh/5.9/functions/_telnet deleted file mode 100644 index 1674eedd..00000000 --- a/result/sw/share/zsh/5.9/functions/_telnet +++ /dev/null @@ -1,91 +0,0 @@ -#compdef telnet - -# Parameter used: -# -# telnet_hosts_ports_users -# The array that contains 3-tuples `host:port:user'. - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -if (( ! $+_telnet_args )); then - local help="$(_call_program options 'telnet -\?' < /dev/null 2>&1)" - local -A optionmap - optionmap=( - '*\[-4\]*' '-4[force IPv4 address resolution]' - '*\[-6\]*' '-6[force IPv6 address resolution]' - '*\[-8\]*' '-8[allow 8-Bit data]' - '*\[-E\]*' '-E[disable an escape character]' - '*\[-K\]*' '-K[no automatic login]' - '*\[-L\]*' '-L[allow 8-Bit data on output]' - '*\[-N\]*' '-N[suppress reverse lookup]' - '*\[-S tos\]*' '-S+:IP type-of-service:' - '*\[-X atype\]*' '-X+:authentication type to disable:' - '*\[-a\]*' '-a[attempt automatic login]' - '*\[-c\]*' '-c[disable .telnetrc]' - '*\[-d\]*' '-d[debug mode]' - '*\[-e char\]*' '-e+[specify escape character]:escape character:' - '*\[-f/*' '-f' - '*/-F\]*' '-F' - '*\[-k realm\]*' '-k+:realm:' - '*\[-l user\]*' '-l+[specify user]:user:->users' - '*\[-n tracefile\]*' '-n+[specify tracefile]:tracefile:_files' - '*\[-r\]*' '-r[rlogin like user interface]' - '*\[-s src_addr\]*' '-s+[set source IP address]:src_addr:' - '*\[ -b addr \]*' '-b+[set source IP address]:src_addr:' - '*\[-x\]*' '-x' - '*\[-t transcom\]*' '-t+:transcom:' - '*\[-noasynch\]*' '-noasynch' - '*\[-noasyncnet\]*' '-noasyncnet' - '*\[-noasynctty\]*' '-noasynctty' - '*\[-z ssl\]*' '*-z[SSL parameters]:SSL parameter:->ssl' - ) - _telnet_args=($optionmap[(K)"$help"]) - (( $#_telnet_args )) || _telnet_args=( '-l+[specify user]:user:->users' ) -fi - -_arguments -C -s \ - "$_telnet_args[@]" \ - ':host:->hosts' \ - ':port:->ports' && ret=0 - -case "$state" in -ssl) - _values -w 'SSL parameter' \ - 'debug[send SSL debugging info to stderr]' \ - '(nossl)ssl[negotiate SSL connection]' \ - '(ssl)nossl[switch off SSL negotiation]' \ - 'certrequired[require server certificate]' \ - 'secure[no fallback to unencrypted mode]' \ - 'verbose[be verbose about certificates, etc.]' \ - 'verify[set SSL verify flags]:int' \ - 'cert[specify certificate file]:certificate file:_path_files' \ - 'key[specify key file]:key file:_path_files' \ - 'cipher[set preferred cipher list]:cipher' && ret=0 - ;; - -hosts) - _wanted hosts expl host \ - _combination -s '[@:]' '' users-hosts-ports \ - ${opt_args[-l]:+users=${opt_args[-l]:q}} \ - hosts - && ret=0 - ;; - -ports) - _wanted ports expl port \ - _combination -s '[@:]' '' users-hosts-ports \ - ${opt_args[-l]:+users=${opt_args[-l]:q}} \ - hosts="${line[1]:q}" \ - ports - && ret=0 - ;; - -users) - _wanted users expl user \ - _combination -s '[@:]' '' users-hosts-ports \ - ${line[2]:+hosts="${line[2]:q}"} \ - ${line[3]:+ports="${line[3]:q}"} \ - users - && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_terminals b/result/sw/share/zsh/5.9/functions/_terminals deleted file mode 100644 index 04ece116..00000000 --- a/result/sw/share/zsh/5.9/functions/_terminals +++ /dev/null @@ -1,8 +0,0 @@ -#compdef infocmp -value-,TERM,-default- - -local desc expl - -desc=( $TERMINFO ~/.terminfo $TERMINFO_DIRS /usr/{,share/}{,lib/}terminfo /{etc,lib}/terminfo ) - -_wanted terminals expl 'terminal name' \ - compadd "$@" - $desc/*/*(N:t) diff --git a/result/sw/share/zsh/5.9/functions/_tex b/result/sw/share/zsh/5.9/functions/_tex deleted file mode 100644 index f1428c49..00000000 --- a/result/sw/share/zsh/5.9/functions/_tex +++ /dev/null @@ -1,29 +0,0 @@ -#compdef tex latex slitex pdftex pdflatex jadetex pdfjadetex xetex=tex xelatex=latex latexmk - -_arguments : \ - '-enc[enable encTeX extensions]' \ - '(-no-file-line-error -file-line-error)'{-no,}'-file-line-error[enable/disable file\:line\:error style messages]' \ - '-fmt=-[use FMTNAME instead of program name or a %& line]:FMTNAME:' \ - '-halt-on-error[stop processing at the first error]' \ - '-ini[be initex, for dumping formats]' \ - '-interaction[set interaction mode]:STRING:(batchmode nonstopmode scrollmode errorstopmode)' \ - '-ipc[send DVI output to a socket as well as the usual output file]' \ - '-ipc-start[as -ipc, and also start the server at the other end]' \ - '-jobname=-[set the job name]:STRING:' \ - '-kpathsea-debug=-[set path searching debugging flags according to the bits of NUMBER]:NUMBER:' \ - '(-no-mktex -mktex)'{-no,}'-mktex=-[enable/disable mktexFMT generation]:FMT:(tex tfm)' \ - '-mltex[enable MLTeX extensions]' \ - '-output-comment=-[DVI file comment]:STRING:' \ - '-output-directory=-[directory to write files to]:DIR:' \ - '(-no-parse-first-line -parse-first-line)'{-no,}'-parse-first-line[disable/enable parsing of the first line of the input file]' \ - '-progname=-[set program (and fmt) name]:STRING:' \ - '-recorder[enable filename recorder]' \ - '(-no-shell-escape -shell-escape)'{-no,}-shell-escape'[enable/disable \\write18{SHELL COMMAND}]' \ - '-shell-restricted[enable restricted \\write18]' \ - '-src-specials[insert source specials into the DVI file]' \ - '-src-specials=-[insert source specials in certain places of the DVI file]:WHERE:_values -s , WHERE cr display hbox math par parend vbox' \ - '-translate-file=-[use the TCX file TCXNAME]:TCXNAME:' \ - '-8bit[make all characters printable by default]' \ - '-help[display this help and exit]' \ - '-version[output version information and exit]' \ - '*:TeX or LaTeX file:_files -g "*.(tex|TEX|texinfo|texi|dtx)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_texi b/result/sw/share/zsh/5.9/functions/_texi deleted file mode 100644 index 10ccfa28..00000000 --- a/result/sw/share/zsh/5.9/functions/_texi +++ /dev/null @@ -1,6 +0,0 @@ -#compdef -P (texi(2*|ndex)) - -local expl - -_description files expl 'texinfo file' -_files "$@" "$expl[@]" -g '*.(texinfo|texi)(-.)' diff --git a/result/sw/share/zsh/5.9/functions/_texinfo b/result/sw/share/zsh/5.9/functions/_texinfo deleted file mode 100644 index 2f5d0f91..00000000 --- a/result/sw/share/zsh/5.9/functions/_texinfo +++ /dev/null @@ -1,330 +0,0 @@ -#compdef info tkinfo pinfo install-info makeinfo texi2any texi2dvi pdftexi2dvi texi2pdf texindex - -_info_nodes_caching_policy() { - local dir oldp - for dir in $^infopath/usr/share/info}/dir(.N); do - # rebuild if any dir file is newer than cache - [[ $dir -nt $1 ]] && return - done - # and if we didn't find a dir file, rebuild if cache older than a month - if [[ -z $dir ]]; then - oldp=( "$1"(mM+1) ) - (( $#oldp )) && return - fi - return 1 -} - -_info_retrieve_nodes() { - # expects $cmd, $hash and $infopath to be set - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy \ - _info_nodes_caching_policy - fi - - if _cache_invalid info-nodes-$hash || ! _retrieve_cache info-nodes-$hash; then - set -A _cache_info_nodes_$hash \ - ${${${${(f)"$(INFOPATH="${(j.:.)infopath}" _call_program info-nodes $cmd -k '')"}%%\" --*}#??}/\)/:} - _store_cache info-nodes-$hash _cache_info_nodes_$hash - fi -} - -local curcontext="$curcontext" state line cmd ret=1 -local -A opt_args infodirs - -case $service in - info) - cmd=${words[1]} - _arguments -C -s -S \ - '(-a --all)'{-a,--all}'[use all matching manuals]' \ - '(: -)'{-k+,--apropos=}'[look up string in indices]:search string: ' \ - \*{-d+,--directory=}'[add directory to infopath]:info dir:_files -/' \ - '--dribble=[record keystrokes]:file with keystrokes:_files' \ - '(-f --file 1)'{-f+,--file=}'[specify Info manual to visit]:info manual:->infofiles+' \ - '(: - -h --help)'{-h,--help}'[display usage]' \ - '(-o --output -O)--index-search=[search for matching index entry]:search string:->index-entries' \ - '(--index-search -o --output -O)'{-o+,--output=}'[dump selected nodes to filename]:filename:_files -g "*(-.)"' \ - '--init-file=[specify initialisation file]:file:_files' \ - '(-n --node)'{-n+,--node=}'[specify nodes in first visited Info file]:node:->nodes' \ - '--no-raw-escapes[output escapes as literal text]' \ - '--restore=[read keystrokes from file]:filename:_files -g "*(-.)"' \ - '(--index-search -o --output -O --show-options --usage)'{-O,--show-options,--usage}'[go to command-line options node]' \ - '--strict-node-location[(for debugging) use Info file pointers as-is]' \ - '--subnodes[recursively output menu items]' \ - \*{-v,--variable}'[assign to Info variable]:variable' \ - '--vi-keys[use Vi-like key bindings]' \ - '(: -)--version[display version information]' \ - '(-w --where --location)'{-w,--where,--location}'[print physical location of Info file]' \ - '(-x --debug)'{-x+,--debug=}'[set debugging level]:number' \ - '1:menu item:->infomanuals' \ - '2:node:->nodes' && ret=0 - - infodirs=( "${(@Qkv)opt_args[(I)(-d|--directory)]}" ) - ;; - install-info) - if _pick_variant debian=Debian gnu --version; then - _arguments -S \ - '(* -)--help[display help information]' \ - '(* -)--version[display version information]' \ - '(--maxwidth --align --calign)--remove[delete existing entries]' \ - '(--maxwidth --align --calign)--remove-exactly[delete existing entries taking exact entry name]' \ - '--section[specify section to add entry in]:regexp::title' \ - '--infodir=[specify directory containing dir file]:info directory:_files -/' \ - '--align=[specify minimum indentation for description]:indentation' \ - '--calign=[specify minimum indentation for continuation lines of description]:indentation' \ - '--maxwidth=[specify maximum width of dir file]:width' \ - '--quiet[suppress informational output]' \ - '--description=[specify description for menu entry]:description' \ - '--menuentry=[specify the menu entry for dir file]:menu entry' \ - '--keep-old=[inhibit replacement of existing entries/removal of empty sections]' \ - "--test[don't update dir file]" \ - '--debug[enable debugging]' \ - '*:info file:_files -g "*.info(-.)"' - return - else - _arguments \ - '--add-once[add only to first matching section]' \ - '--align=[specify minimum indentation for description]:indentation' \ - '--calign=[specify minimum indentation for continuation lines of description]:indentation' \ - '--debug[report what is being done]' \ - '(--delete --remove)'{--delete,--remove}'[delete existing entries]' \ - '--description=[specify description for menu entry]:description' \ - '(2)--dir-file=[specify dir file]:dir file:_files -g "dir(-.)"' \ - '(--test --dry-run)'{--dry-run,--test}"[don't update dir file]" \ - \*{--entry,--item}'[specify directory entry to add]:text' \ - '--defsection=[like --section, but only use text if no sections present in info file]:text' \ - {--maxwidth,--max-width}'=[specify maximum width of dir file]:width' \ - '(- 1 2)--help[display help information]' \ - '(1)--info-file=[specify info file to install in the directory]:info file:_files -g "*.info(-.)"' \ - '(2)--info-dir=[specify directory containing dir file]:info directory:_files -/' \ - '--keep-old=[inhibit replacement of existing entries/removal of empty sections]' \ - '(--name --menuentry)'{--name,--menuentry}'=[specify the menu entry for dir file]:menu entry' \ - "--no-indent[don't format new entries in the DIR file]" \ - '--quiet[suppress warnings]' \ - '--regex=[specify sections for file entries using a regex]:regex' \ - '--remove-exactly[delete existing entries taking exact entry name]' \ - '(--delete --remove)--section=[put new entries in specified section]:section' \ - '--silent[no output except errors]' \ - '(- 1 2)--version[display version information]' \ - '1:info file:_files -g "*.info(-.)"' \ - '2:dir file:_files -g "dir(-.)"' - return - fi - ;; - makeinfo|texi2any) - _arguments -s \ - '--error-limit=[specify number of errors to quit after]:number [100]' \ - '--document-language=[specify locale to use in translating Texinfo keywords]:locale [C]:_locales' \ - '--force[preserve output even if errors]' \ - '(* -)--help[display help]' \ - '--no-validate[suppress node cross-reference validation]' \ - '--no-warn[suppress warnings]' \ - '--conf-dir=[specify additional directory for configuration files]:directory:_directories' \ - '--init-file=[specify initialisation file]:file:_files' \ - \*{-c+,--set-customization-variable=}'[set customization variable]:variable' \ - '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \ - '(* -)--version[display version info]' \ - '(--html --xml --plaintext)--docbook[output in DocBook XML format]' \ - '(--docbook --xml --plaintext)--html[output in HTML format]' \ - '--no-headers[suppress node separators and menus]' \ - '(--docbook --html --plaintext)--xml[output in XML (TexinfoML) format]' \ - '(--docbook --html --xml)--plaintext[output in plain text format]' \ - '--dvi[output in dvi format]' \ - '--dvipdf[output in pdf format]' \ - '--ps[output in ps format]' \ - '--pdf[output in pdf format]' \ - '(-E --macro-expand)'{-E,--macro-expand}'[output macro-expanded source to specified file]:file:_files' \ - '(--docbook --xml)--no-split[suppress splitting of output]' \ - '--no-number-sections[output chapter and section numbers]' \ - '!(--no-number-sections)--number-sections' \ - '(-o --output=)'{-o,--output}'[specify output file]:output file:_files' \ - '(--docbook --html --xml)--disable-encoding[output special characters]' \ - '!(--disable-encoding)--enable-encoding' \ - '(--docbook --html --xml)--fill-column=[specify width to break lines at]:width [72]' \ - '(--docbook --html --xml)--footnote-style=[specify style for output of footnotes]:((separate\:in\ own\ node end\:at\ end\ of\ node))' \ - '(--docbook --html --xml)--paragraph-indent=[specify spaces to indent paragraphs by]:indent [3]' \ - '(--docbook --html --xml)--split-size=[split Info files at specified size]:size [300000]' \ - '(--docbook --xml --plaintext)--css-include=[specify file in include in HTML <style> output]:file:_files' \ - '(--docbook --xml --plaintext)--css-ref=[generate reference to a CSS file]:URL:_urls' \ - '(--docbook --xml --plaintext)--internal-links=[produce list of internal links in a file]:file:_files' \ - '(--docbook --xml --plaintext)--split=[split output at specified boundary]:split boundary:(chapter section node)' \ - '(--docbook --xml --plaintext)--transliterate-file-names[produce file names in ASCII transliteration]' \ - '(--docbook --xml --plaintext)--node-files[produce redirection files for nodes]' \ - '-Xopt=[specify option to texi2dvi]:options' \ - '-D[define variable]:variable' \ - '-I[specify directory to append to @include search path]:directory:_files -/' \ - '-P[specify directory to prepend to @include search path]:directory:_files -/' \ - '-U[undefine variable]:variable' \ - '(--docbook --no-ifdocbook)--ifdocbook[process @ifdocbook and @docbook even when not generating Docbook]' \ - '(--html --no-ifhtml)--ifhtml[process @ifhtml and @html when not generating HTML]' \ - '(--no-ifinfo)--ifinfo[process @ifinfo even when not generating Info]' \ - '(--plaintext --no-ifplaintext)--ifplaintext[process @ifplaintext even when not generating plain text]' \ - '(--no-iftex)--iftex[process @iftex and @tex text]' \ - '(--xml --no-ifxml)--ifxml[process @ifxml and @xml]' \ - "(--ifdocbook --html --xml --plaintext)--no-ifdocbook[don't process @ifdocbook and @docbook text]" \ - "(--ifhtml --docbook --xml --plaintext)--no-ifhtml[don't process @ifhtml and @html text]" \ - "(--ifinfo --docbook --html --xml --plaintext)--no-ifinfo[don't process @ifinfo text]" \ - "(--ifplaintext --docbook --html --xml)--no-ifplaintext[don't process @ifplaintext text]" \ - "(--iftex --docbook --html --xml --plaintext)--no-iftex[don't process @iftex and @tex text]" \ - "(--ifxml --docbook --html --xml --plaintext)--no-ifxml[don't process @ifxml and @xml text]" \ - '*:texinfo file:_texi' - return - ;; - (pdf|)texi2(dvi|pdf)) - _arguments -s \ - '(-b --batch)'{-b,--batch}'[no interaction]' \ - '(-D --debug)'{-D,--debug}'[turn on shell debugging (set -x)]' \ - '(- *)'{-h,--help}'[display help information]' \ - '(-o --output)'{-o,--output=}'[specify output file]:output file:_files' \ - '(-q -s --quiet --silent -V --verbose)'{-q,-s,--silent,--quiet}'[no output except errors]' \ - '(-q -s --quiet --silent -V --verbose)'{-V,--verbose}'[report on what is done]' \ - '(- *)'{-v,--version}'[display version information]' \ - "--max-iterations=[don't process files more than specified times]:iterations [7]" \ - '--mostly-clean[remove the auxiliary files and directories]' \ - '-@[use @input instead of \input; for preloaded Texinfo]' \ - '(-p --pdf --dvipdf --html --info --ps --text)--dvi[output a DVI file]' \ - '(-p --pdf --dvi --html --info --ps --text)--dvipdf[output a PDF file via DVI]' \ - '(-p --pdf --dvi --dvipdf --info --ps --text)--html[output an HTML file]' \ - '(-p --pdf --dvi --dvipdf --html --ps --text)--info[output an Info file]' \ - '(-p --pdf --dvi --dvipdf --html --info --ps --text)'{-p,--pdf}'[use pdftex or pdflatex for processing]' \ - '(-p --pdf --dvi --dvipdf --html --info --text)--ps[output a PostScript file]' \ - '(-p --pdf --dvi --dvipdf --html --info --ps)--text[output a plain text file]' \ - '(-e -E --expand)'{-e,-E,--expand}'[force macro expansion using makeinfo]' \ - '-I[specify search dir for texinfo files]:directory:_files -/' \ - '(-l --language)'{-l,--language}'[specify language of input file]:language:(LaTeX Texinfo)' \ - "--no-line-error[don't pass --file-line-error to TeX]" \ - '--shell-escape[pass --shell-escape to TeX]' \ - '--src-specials[pass --src-specials to TeX]' \ - \*{-t,--command,--texinfo}'[specify command to insert after @setfilename]:command' \ - '--translate-file=[use given charset translation file for TeX]:file:_files' \ - '(--tidy -c --clean)--build=[specify build mode]:build mode:(local tidy clean)' \ - '(--tidy -c --clean --build)--tidy[same as --build=tidy]' \ - '(--tidy -c --clean --build)'{--tidy,-c,--clean}'[same as --build=clean]' \ - '--build-dir=[specify build directory]:directory:_directories' \ - '*:file:_texi' - return - ;; - texindex) - _arguments -S \ - '(* -)--help[display help]' \ - '(* -)--version[display version info]' \ - '*:texinfo file:_texi' - return - ;; - tkinfo) - cmd=$commands[info] - _x_arguments -C \ - '(-)--help' \ - '-+'{headers,buttons,balloons,scrollthrough,pagesep,showdir} \ - '-linklook:menu display:(color font underline)' \ - '-highlight:link display:(color inverse underline)' \ - '-searchlook:search match display:(color inverse underline)' \ - '-iconic' \ - '-dir:info path:_dir_list' \ - '-file:info file:->infofiles' \ - '-node:info node:->nodes' \ - '*::menu items:->infomanuals' && ret=0 - info=( info ${(kv)opt_args[(I)-file]/-file/-f} ) - ;; - pinfo) - cmd=$commands[info] - _arguments -s -S \ - '(- *)'{-h,--help}'[print usage information]' \ - '(- *)'{-v,--version}'[print version information]' \ - {-m,--manual}'[use man page]:*:: := _dispatch man man' \ - '(-r --raw-filename -f --file)'{-r,--raw-filename,-f,--file}'[use raw filename]' \ - '(-a --apropos)'{-a,--apropos}'[call apropos if nothing found]' \ - {-p,--plain-apropos}'[call only apropos]:*:: := _dispatch apropos apropos' \ - '(-c --cut-man-headers)'{-c,--cut-man-headers}'[cut out repeated man headers]' \ - '(-l --long-manual-links)'{-l,--long-manual-links}'[use long link names in manuals]' \ - '(-s --squeeze-manlines)'{-s,--squeeze-manlines}'[cut empty lines from manual pages]' \ - '(-d --dont-handle-without-tag-table)'{-d,--dont-handle-without-tag-table}"[don't display texinfo pages without tag table]" \ - '(-t --force-manual-tag-table)'{-t,--force-manual-tag-table}'[force manual detection of tag table]' \ - '(-l --long-manual-links)'{-l,--long-manual-links}'[use long link names in manuals]' \ - '(-x --clear-at-exit)'{-x,--clear-at-exit}'[clear screen at exit]' \ - '--node=[jump directly to specified node]:node:->nodes' \ - '--rcfile=[use alternate rcfile]:file:_files' \ - '1:menu item:->infomanuals' && ret=0 - file=${line[1]} - ;; -esac - -if [[ -n $state ]]; then - local chr cache file q - local -a expl suf tags - local -i36 hash=5381 - local -aU infopath=( /usr/share/info ${commands[info]:h:h}/share/info ${(s.:.)INFOPATH} $infodirs ) - infopath=( $^infopath(N) ) - # run simple hash function on infopath - for chr in "${(s..)infopath}"; do - (( hash += (hash << 5) + ##$chr )) - done - typeset +i -l hash=${hash#*\#} - cache=_cache_info_nodes_$hash - typeset -gHU $cache - - if [[ $state = infomanuals ]]; then - [[ -z $compstate[quote] ]] && q='\\' - if compset -P "${q}\("; then - if [[ -prefix *\) ]]; then - file="${PREFIX%%\)*}" - compset -P 1 '*\)' - state=nodes - else - compset -S "${q}\)*" || suf=( -S "${q[1]})" ) - state=infofiles - fi - fi - fi - - [[ -z $file ]] && file=${opt_args[-f]:-$line[1]} - if [[ $state = info* ]]; then - local -aU files=( $^infopath/*.info(|.gz|.bz2)(-.:t:s/.gz//:s/.bz2//:r) ) - local items - if (( ! $#files )); then - _info_retrieve_nodes - files=( ${(P)cache%%:*} ) - fi - items=( ${${${(M)${(f)"$(_call_program menu-items info -o-)"}:#(#s)\* *: \(*}#??}%%\)*} ) - files+=( ${items##*\(} ) - tags=( info-files ) - if [[ $state = infofiles+ && $PREFIX$SUFFX = */* ]]; then - # local files allowed - tags+=(files) - fi - if [[ $state != infofiles* ]]; then - tags+=( menu-items ) - items=( ${items%:*} ) - fi - elif [[ $state = nodes ]]; then - tags=( menu-items ) - if [[ -n $file ]]; then - _info_retrieve_nodes - nodes=( ${(@PM)cache:#${file}:*} ) - tags+=( info-nodes ) - fi - items=( ${${${(M)${(f)"$(_call_program menu-items info -o- $file)"}:#(#s)\* *::*}%%::*}#??} ) - elif [[ $state = index-entries ]]; then - if [[ -n $file ]]; then - tags=( index-entries ) - items=( ${${${(M)${(f)"$(_call_program index-entries info -o- --all --index-search= $file)"}:#(#s)\* *:*}%%:*}#??} ) - else - _message -e index-entries $state_descr - fi - fi - - _tags $tags - - while _tags; do - _requested info-files expl 'info file' compadd $suf -M 'm:{a-zA-Z}={A-Za-z}' -a files && ret=0 - _requested menu-items expl 'menu item' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a items && ret=0 - _requested -x index-entries expl 'index entry' compadd -M 'm:{a-zA-Z}={A-Za-z}' -a items && ret=0 - _requested info-nodes expl 'node' compadd -M 'm:{a-zA-Z}={A-Za-z}' ${nodes#*:} && ret=0 - _requested files expl 'file' && _files -g '*.info(|.gz|.bz2)' - - (( ret )) || break - done -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tidy b/result/sw/share/zsh/5.9/functions/_tidy deleted file mode 100644 index 35ceb7e5..00000000 --- a/result/sw/share/zsh/5.9/functions/_tidy +++ /dev/null @@ -1,62 +0,0 @@ -#compdef tidy - -local -a opts - -opts=( ${${${(s.</option>.)"$(_call_program options $words[1] -xml-config)"}##*<name>}/<\/name>*<type>/;} ) -opts=( ${opts/;Integer*/:number} ) -opts=( ${opts/;Boolean*/:boolean:(yes no)} ) -opts=( ${opts/;AutoBool*/:value:(auto yes no)} ) -opts=( ${opts/;(String|Tag|Attributes)*/:value} ) -opts=( ${opts/(#bi);(enum|Encoding|DocType)*<default>(*)<*<example>([^<]#)<*/:value [${match[2]%% *}]:(${(j. .)${(@s., .)match[3]}%% *})} ) -opts=( ${(M)opts:#*:*} ) - -_arguments -s -A "-*" --$^opts \ - '(-indent -i)'{-indent,-i}'[indent element content]' \ - '-wrap[wrap text at the specified column]:column [68]' \ - '(-upper -u)'{-upper,-u}'[force tags to upper case (default is lower case)]' \ - '(-clean -c)'{-clean,-c}'[replace FONT, NOBR and CENTER tags by CSS]' \ - '(-bare -b)'{-bare,-b}'[strip out smart quotes and em dashes, etc.]' \ - '(-gdoc -g)'{-gdoc,-g}'[produce clean version of html exported by Google Docs]' \ - '(-numeric -n)'{-numeric,-n}'[output numeric rather than named entities]' \ - '(-errors -e)'{-errors,-e}'[only show errors]' \ - '(-quiet -q)'{-quiet,-q}'[suppress nonessential output]' \ - '-omit[omit optional start and end tags]' \ - '-xml[specify the input is well formed XML]' \ - '(-asxml -asxhtml -ashtml)'{-asxml,-asxhtml}'[convert HTML to well formed XHTML]' \ - '(-asxml -asxhtml)-ashtml[force XHTML to well formed HTML]' \ - '-access[do additional accessibility checks (<level> = 1, 2, 3)]:priority level:(${access[@]})' \ - '-raw[output values above 127 without conversion to entities]' \ - '(-out -o)'{-out,-o}'[specify the output markup file]:output file:_files' \ - '-config[set configuration options from the specified <file>]:configuration file:_files' \ - '-f[write errors to the specified <file>]:error file:_files' \ - '(-modify -m)'{-modify,-m}'[modify the original input files]' \ - '(- *)'{-version,-v}'[show the version of Tidy]' \ - '(- *)'{-help,-h,-\?}'[list the command line options]' \ - '(- *)-help-config[list all configuration options]' \ - '(- *)-help-env[show details of environment and runtime configuration]' \ - '(- *)-show-config[list the current configuration settings]' \ - '(- *)-export-config[list the current settings in config file form]' \ - '(- *)-export-default-config[list the default settings in config file form]' \ - "(*)-help-option[show a description of specified configuration option]:config option:(${(@j. .)opts%%:*})" \ - '(-lang -language)'{-lang,-language}'[set the two-letter language code]:language:_locales' \ - '-xml-help[list the command line options in XML format]' \ - '-xml-config[list all configuration options in XML format]' \ - "-xml-strings[output all of Tidy's strings in XML format]" \ - '-xml-error-strings[output error constants and strings in XML format]' \ - '-xml-options-strings[output option descriptions in XML format]' \ - '-options[specify file containing configuration settings]:config file:_files' \ - '*:file:_files' \ - + '(encoding)' \ - '-ascii[use US-ASCII for output, ISO-8859-1 for input]' \ - '-latin0[use US-ASCII for output, ISO-8859-1 for input]' \ - '-latin1[use ISO-8859-1 for both input and output]' \ - '-iso2022[use ISO-2022 for both input and output]' \ - '-utf8[use UTF-8 for both input and output]' \ - '-mac[use MacRoman for input, US-ASCII for output]' \ - '-win1252[use Windows-1252 for input, US-ASCII for output]' \ - '-ibm858[use IBM-858 (CP850+Euro) for input, US-ASCII for output]' \ - '-utf16le[use UTF-16LE for both input and output]' \ - '-utf16be[use UTF-16BE for both input and output]' \ - '-utf16[use UTF-16 for both input and output]' \ - '-shiftjis[use Shift_JIS for both input and output]' \ - '-big5[use Big5 for both input and output]' diff --git a/result/sw/share/zsh/5.9/functions/_tiff b/result/sw/share/zsh/5.9/functions/_tiff deleted file mode 100644 index ef12777d..00000000 --- a/result/sw/share/zsh/5.9/functions/_tiff +++ /dev/null @@ -1,273 +0,0 @@ -#compdef -P (tiff*|*2tiff|pal2rgb) - -local pat expl ret=1 - -if [[ "$service" = *2tiff ]]; then - pat="*.(#i)${service}(-.)" -else - pat='*.(#i)tiff(-.)' -fi - -if [[ $# -ne 0 || $+_in_tiff -ne 0 ]]; then - if (( ! $# )); then - _description files expl 'picture file' - set -- "$expl[@]" - fi - _wanted files expl 'picture file' _path_files "$@" -g "$pat" - || - _files "$@" "$expl[@]" -g '*.(#i)tif(|f)(-.)' - return -fi - -local _in_tiff=yes - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -case "$service" in -tiff2bw) - _arguments -C \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-r+[specify rows per strip]:rows per strip' \ - '-R+[specify percentage of red channel]:percentage' \ - '-G+[specify percentage of green channel]:percentage' \ - '-B+[specify percentage of blue channel]:percentage' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiff2pdf) - _arguments -s \ - '-o+[specify output file]:output file:_files -g "*.(#i)pdf(-.)"' \ - '(-z -d)-j[compress with JPEG]' \ - '(-j -d)-z[compress with Zip/Deflate]' \ - '-q+[specify compression quality]:quality' \ - '-n[no compressed data passthrough]' \ - "(-z -j)-d[don't compress]" \ - '-i[invert colors]' \ - '-u+[set distance unit]:unit:((i\:inches m\:centimeters))' \ - '-x+[set x resolution]:resolution (dots per unit)' \ - '-y+[set y resolution]:resolution (dots per unit)' \ - '-w+[specify width in units]:width' \ - '-l+[specify length in units]:length' \ - '-r+[specify scope for resolution settings]:scope:((d\:images\ without\ resolution o\:all\ images))' \ - '-p+[specify paper size]:paper size:(letter legal A4)' \ - '-F[make the tiff fill the PDF page]' \ - '-f[set PDF "Fit Window" user preference]' \ - '-e+[specify date]:date (YYYYMMDDHHMMSS)' \ - '-c+[set document creator, overrides image software default]:creator' \ - '-a+[set document author, overrides image artist default]:author' \ - '-t+[set document title, overrides image document name default]:title' \ - '-s+[set document subject, overrides image image description default]:subject' \ - '-k+[set document keywords]:keywords' \ - '-b[set PDF "Interpolate" user preference]' \ - '-m+[set memory allocation limit]:limit (MiB)' \ - '(- :)-h[display usage information]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' - ;; -tiff2ps) - _arguments -s \ - '!(-2 -3 -8 -m)-1' \ - '(-3)-2[generate PostScript Level 2 output]' \ - '(-2)-3[generate PostScript Level 3 output]' \ - '-8[disable use of ASCII85 encoding with PostScript Level 2/3]' \ - '-a[generate output for all IFDs]' \ - '-b+[set the bottom margin]:margin (inches)' \ - '-c[center image]' \ - '-C+[set postscript document creator name]:creator' \ - '-d+[set initial TIFF directory]:initial TIFF directory' \ - '(-e)-D[print two pages per sheet (duplex)]' \ - '(-p -D -T)-e[generate Encapsulated PostScript]' \ - '-h+[set printed page height]:height (inches)' \ - '-w+[set printed page width]:width (inches)' \ - '(-W)-H+[split image if height is more than specified value]:limit (inches)' \ - '(-H)-W+[split image if width is more than specified value]:limit (inches)' \ - '-L+[specify overlap for split images]:overlap (inches)' \ - '-i+[enable/disable (Nz/0) pixel interpolation]:state [enabled]:((0\:disable 1\:enable))' \ - '-l+[set the left margin]:margin (inches)' \ - '-m[use "imagemask" operator instead of "image"]' \ - '-M+[set memory allocation limit]:limit (MiB)' \ - '-o+[set initial TIFF directory (file offset)]:file offset (bytes)' \ - '(-e)-p[generate non-Encapsulated PostScript]' \ - '-O+[specify output file]:output file:_files -g "*.(#i)(|e)ps(-.)"' \ - '-P+[set PageOrientation DSC comment to Landscape or Portrait]:orientation:(L P)' \ - '-r+[rotate image]:rotation:(90 180 270 auto)' \ - '-s[generate output for a single image]' \ - '-t+[set postscript document title]:title' \ - '(-e)-T[print pages for top edge binding]' \ - '(-y)-x[override resolution units as centimeters]' \ - '(-x)-y[override resolution units as inches]' \ - '-z[enable printing in the deadzone]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffcmp) - _arguments -s \ - '-l[list all differing bytes]' \ - '-z+[list specified number of bytes that differs between the files]:bytes' \ - '-t[ignore differences in directories]' \ - ':first input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':second input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffcp) - _arguments -C -s \ - '-a[append to output instead of overwriting]' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-p+[set sample packing]:sample packing:(contig separate)' \ - '(-t)-s[write output in strips]' \ - '(-s)-t[write output in tiles]' \ - '-x[force the merged tiff pages in sequence]' \ - '-8[write BigTIFF instead of default ClassicTIFF]' \ - '(-L)-B[write output in big-endian byte order instead of native ordering]' \ - '(-B)-L[write output in little-endian byte order instead of native ordering]' \ - '-M[disable use of memory-mapped files]' \ - '-C[disable strip chopping]' \ - '-i[ignore read errors]' \ - '-b+[specify bias (dark) monochrome image to be subtracted from all others]:file:_files' \ - '-,=-[specify substitute character for image indices]:character [,]' \ - '-m+[set memory allocation limit]:limit (MiB)' \ - '-r+[specify rows per strip]:rows per strip' \ - '-w+[specify output tile width]:output tile width' \ - '-l+[specify output tile length]:output tile length' \ - '-f+[specify fill order]:fill order:(lsb2msb msb2lsb)' \ - '*:TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffdither) - _arguments -C \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-f+[specify fill order]:fill order:(lsb2msb msb2lsb)' \ - '-r+[specify rows per strip]:rows per strip' \ - '-t+[set threshold for dithering]:dither threshold value [128]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffdump) - _arguments \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-h[print numbers in hexadecimal]' \ - '-m+[change number of indirect items printed]:items [24]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffinfo) - _arguments -s \ - '-c[display colormap and color/gray response curves]' \ - '-D[read and decompress data]' \ - '-d[print decompressed data]' \ - '-j[display JPEG-related tags]' \ - '-o+[set initial TIFF directory (file offset)]:file offset' \ - '-r[read/display raw image data instead of decoded data]' \ - '-s[display offsets and byte counts for all data strips]' \ - '-i[ignore read errors]' \ - '-f+[force fill order]:fill order:(lsb2msb msb2lsb)' \ - '-w[display raw data in words]' \ - '-z[enable strip chopping]' \ - '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffmedian) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-C+[specify number of colormap entries]:number of colormap entries' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-f[use Floyd-Steinberg dithering]' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -tiffsplit) - _arguments \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file prefix' && ret=0 - ;; -fax2tiff) - _arguments -s \ - '!(-1 -2 -3 -4)-'{1,3} \ - '(-1 -4)-2[input is Group 3, 2d encoded]' \ - '(-1 -2 -A)-4[input is Group 4 encoded]' \ - '-U[input is uncompressed]' \ - '(-4)-A[input is EOL-aligned]' \ - '-B[0 in input means black]' \ - '-M[input is msb-to-lsb]' \ - '-R+[specify resolution]:resolution (lines per inch) [196]' \ - '-X+[specify input data width]:width [1728]' \ - '-o+[specify output file]:output file:_files -g "*.(#i)tif(|f)(-.)"' \ - '(-5 -p)-8[generate G4-encoded output]' \ - '-u[generate uncompressed output]' \ - '(-8)-5[generate 1d encoded output]' \ - "(-8)-p[don't align EOL codes]" \ - '-c[generate `classic'"'"' TIFF format]' \ - '-m[output in msb-to-lsb order]' \ - '-r+[specify rows per strip]:rows per strip' \ - '-s[stretch image by duplicating all rows]' \ - '-v[verbose mode]' \ - '-z[generate LZW compressed output]' \ - ':FAX input file:_files -g "*.(#i)(g[34]|fax)(-.)"' && ret=0 - ;; -gif2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - ':input GIF file:_files -g "*.(#i)gif(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -ppm2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-R+[specify resolution]:resolution (dots/inch)' \ - ':input GIF file:_files -g "*.(#i)ppm(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -ras2tiff) - _arguments -C \ - '-r+[specify rows per strip]:rows per strip' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - ':input raster image file:_files -g "*.(#i)ras(|t)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -pal2rgb) - _arguments -C \ - '-C+[specify number of bits for colormap entries]:bits for colormap entries:(8 16)' \ - '-p+[set sample packing]:sample packing:(contig separate)' \ - '-c+[specify compression scheme]:compression scheme:->compress' \ - '-r+[specify rows per strip]:rows per strip' \ - ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ - ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 - ;; -*) - _description files expl 'picture file' - _files "$expl[@]" -g "$pat" && ret=0 -esac - -if [[ -n "$state" ]]; then - if [[ "$PREFIX" = *:* ]]; then - local scheme="${PREFIX%%:*}" - - compset -P 1 '*:' - - case "$scheme" in - g3) - _values -s : 'FAX Group 3 option' \ - '(2d)1d[use 1D-encoding]' \ - '(1d)2d[use 2D-encoding]' \ - 'fill[byte-align EOL codes]' && ret=0 - ;; - jpeg) - _message -e values "compression quality (0-100), or \`r' (output RGB)" - ret=0 - ;; - lzw|lzma|zip|zstd|webp) - _values 'LZW and deflate option' \ - '1[without differencing]' \ - '2[with differencing]' && ret=0 - ;; - esac - else - _tags values - while _tags; do - while _next_label values expl 'compression scheme'; do - compadd "$expl[@]" - none jbig g4 packbits sgilog && ret=0 - compadd "$expl[@]" -qS: - lzw zip lzma zstd webp jpeg g3 && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tilde b/result/sw/share/zsh/5.9/functions/_tilde deleted file mode 100644 index 4b5cfaa0..00000000 --- a/result/sw/share/zsh/5.9/functions/_tilde +++ /dev/null @@ -1,32 +0,0 @@ -#compdef -tilde- - -# We use all named directories and user names here. If this is too slow -# for you or if there are too many of them, you may want to use -# `compadd -qS/ -a friends' or something like that. - -[[ -n "$compstate[quote]" ]] && return 1 - -local expl suf ret=1 - -if [[ "$SUFFIX" = */* ]]; then - ISUFFIX="/${SUFFIX#*/}$ISUFFIX" - SUFFIX="${SUFFIX%%/*}" - suf=(-S '') -else - suf=(-qS/) -fi - -_tags users named-directories directory-stack - -while _tags; do - _requested users && _users "$suf[@]" "$@" && ret=0 - - _requested named-directories expl 'named directory' \ - compadd "$suf[@]" "$@" -k nameddirs && ret=0 - - _requested directory-stack && _directory_stack "$suf[@]" && ret=0 - - (( ret )) || return 0 -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tilde_files b/result/sw/share/zsh/5.9/functions/_tilde_files deleted file mode 100644 index 0ee12332..00000000 --- a/result/sw/share/zsh/5.9/functions/_tilde_files +++ /dev/null @@ -1,39 +0,0 @@ -#autoload - -# Complete files and expand tilde expansions in it. - -if [[ ( -o magicequalsubst && "$IPREFIX" = *\= ) || $argv[(I)-W*] -ne 0 ]]; then - _files "$@" - return -fi - -case "$PREFIX" in -\~/*) - IPREFIX="${IPREFIX}${HOME}/" - PREFIX="${PREFIX[3,-1]}" - _files "$@" -W "${HOME}" - ;; -\~*/*) - local user="${PREFIX[2,-1]%%/*}" - - if (( $+userdirs[$user] )); then - user="$userdirs[$user]" - elif (( $+nameddirs[$user] )); then - user="$nameddirs[$user]" - else - _message "unknown user \`$user'" - return 1 - fi - IPREFIX="${IPREFIX}${user%/}/" - PREFIX="${PREFIX#*/}" - _files "$@" -W "$user" - ;; -\~*) - compset -p 1 - local -a expl=( "$@" ) - _alternative -O expl users:user:_users named-directories:'named directory':'compadd -k nameddirs' - ;; -*) - _files "$@" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_time_zone b/result/sw/share/zsh/5.9/functions/_time_zone deleted file mode 100644 index 1562daab..00000000 --- a/result/sw/share/zsh/5.9/functions/_time_zone +++ /dev/null @@ -1,10 +0,0 @@ -#compdef -value-,TZ,-default- - -local expl - -if (( ! $+_zoneinfo_dirs )); then - _zoneinfo_dirs=( /etc/zoneinfo /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) ) -fi - -_wanted time-zones expl 'time zone' \ - _files -g '[A-Z]*' -M 'm:{a-z}={A-Z}' -W _zoneinfo_dirs "$@" - diff --git a/result/sw/share/zsh/5.9/functions/_time_zone.orig b/result/sw/share/zsh/5.9/functions/_time_zone.orig deleted file mode 100644 index a7b63adc..00000000 --- a/result/sw/share/zsh/5.9/functions/_time_zone.orig +++ /dev/null @@ -1,10 +0,0 @@ -#compdef -value-,TZ,-default- - -local expl - -if (( ! $+_zoneinfo_dirs )); then - _zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) ) -fi - -_wanted time-zones expl 'time zone' \ - _files -g '[A-Z]*' -M 'm:{a-z}={A-Z}' -W _zoneinfo_dirs "$@" - diff --git a/result/sw/share/zsh/5.9/functions/_timeout b/result/sw/share/zsh/5.9/functions/_timeout deleted file mode 100644 index c041283a..00000000 --- a/result/sw/share/zsh/5.9/functions/_timeout +++ /dev/null @@ -1,20 +0,0 @@ -#compdef timeout gtimeout - -local args - -if [[ $service = g* || $OSTYPE != *(freebsd|netbsd|openbsd)* ]]; then - # GNU coreutils or DFly as opposed to Free/Net/OpenBSD implementation - args=( - '(-v --verbose)'{-v,--verbose}'[indicate when signal is sent upon timeout]' - '(- *)--help[display usage information]' - '(- *)--version[display version information]' - ) -fi - -_arguments -S -A "-" $args \ - '--preserve-status[always exit with the same status as command even if it times out]' \ - "--foreground[don't propagate timeout to the command children]" \ - '(-s --signal)'{-s,--signal}'[specify the signal to send on timeout]:signal:_signals' \ - '(-k --kill-after)'{-k,--kill-after}'[followup first signal with SIGKILL if command persists after specified time]:time' \ - '1: :_numbers -f -u seconds duration :s:seconds m:minutes h:hours d:days' \ - '*:::command:_normal' diff --git a/result/sw/share/zsh/5.9/functions/_tin b/result/sw/share/zsh/5.9/functions/_tin deleted file mode 100644 index 61d203d1..00000000 --- a/result/sw/share/zsh/5.9/functions/_tin +++ /dev/null @@ -1,54 +0,0 @@ -#compdef tin rtin - -local newshosts expl state line curcontext="$curcontext" ret=1 - -_arguments -C -s \ - '(-6)-4[force connecting via IPv4]' \ - '(-4)-6[force connecting via IPv6]' \ - '-a[toggle color flag]' \ - '-A[force authentication on connect]' \ - '-c[mark all news as read in subscribed groups]' \ - "-d[don't show newsgroup descriptions]" \ - '-f[specify newsrc file to use]:newsrc file:_files' \ - '-G[specify limit to articles/group to get]:number of articles/group to get' \ - '-g[specify NNTP server]:NNTP server:->newshosts' \ - '-h[display help on tin usage]' \ - '-H[display help information]' \ - '-I[specify news index file directory]:news index file directory:_files -/' \ - '-l[get number of articles per group from the active file]' \ - '-m[specify mailbox directory]:mailbox directory:_files -/' \ - '-M[mail new news to specified user]:user:_users' \ - '-n[only read subscribed groups from server]' \ - '-N[mail new news to yourself]' \ - '-o[post all postponed articles and exit]' \ - '-p[specify port to connect to NNTP server]:NNTP port:_ports' \ - "-q[don't check for new newsgroups]" \ - '-Q[quick start. Same as -nqd]' \ - ${${service:#r*}:+-r\[read news remotely over NNTP\]} \ - '-R[read news saved with -S]' \ - '-s[specify saved news directory]:saved news directory:_files -/' \ - '-S[save new news for later reading]' \ - '-u[update index files]' \ - '-U[update index files in the background while reading news]' \ - '-v[verbose output in batch mode]' \ - '-V[display version information]' \ - '-w[post an article and exit]' \ - "-X[don't save any files on quit]" \ - '-z[start if any unread news]' \ - '-Z[return status to indicate if any unread news]' \ - '::newsgroup:_newsgroups' && return 0 - -if [[ "$state" = newshosts ]]; then - newshosts=( ${${(f)"$(<${TIN_HOMEDIR:-$HOME}/.tin/newsrctable)"}%%\#*} ) 2>/dev/null - _tags hosts nicknames - while _tags; do - _requested hosts expl 'NNTP server hostname' \ - compadd ${=newshosts#*[[:blank:]]##[^[:blank:]]*[[:blank:]]} && ret=0 - _requested nicknames expl 'NNTP server nickname' \ - compadd -M 'r:|.=* r:|=*' ${newshosts%%[[:blank:]]*} && ret=0 - (( ret )) || return 0 - done -fi - -return 1 - diff --git a/result/sw/share/zsh/5.9/functions/_tla b/result/sw/share/zsh/5.9/functions/_tla deleted file mode 100644 index ec7e76d4..00000000 --- a/result/sw/share/zsh/5.9/functions/_tla +++ /dev/null @@ -1,631 +0,0 @@ -#compdef tla - -autoload -z is-at-least -local TLA=$words[1] -local tla_version -local hide_short - -# ask the user which version of tla this is -if ! zstyle -s ":completion:${curcontext}:" tla-version tla_version; then - # ask tla instead - tla_version="$($TLA --version)" - if [[ "${${(f)tla_version}[1]}" == The\ GNU\ Arch\ Revision\ Control\ System\ \(tla\)\ (#b)([0-9.]##) ]]; then - tla_version="$match[1]" - else - tla_version="${${$($TLA --version)#tla tla-}%% from regexps.com*}" - [[ $tla_version == *[a-zA-Z]* ]] && tla_version=1.3 # tla doesn't know - fi -fi - -# test whether to hide short options from completion -if zstyle -s ":completion:${curcontext}:" hide-shortopts hide_short; then - case $hide_short in - true|yes|on|1) hide_short='!' ;; - *) hide_short='' ;; - esac -fi - -# completion functions - -(( $+functions[_tla_archives] )) || -_tla_archives () { _arch_archives tla "$@" } - -(( $+functions[_tla_categories] )) || -_tla_categories () { _arch_namespace tla 1 "$argv[@]" } - -(( $+functions[_tla_branches] )) || -_tla_branches () {_arch_namespace tla 2 "$argv[@]" } - -(( $+functions[_tla_versions] )) || -_tla_versions () { _arch_namespace tla 3 "$argv[@]" } - -(( $+functions[_tla_revisions] )) || -_tla_revisions () { _arch_namespace tla 4 "$argv[@]" } - -(( $+functions[_tla_local_revisions] )) || -_tla_local_revisions () { - local expl1 expl2 tree_version=`$TLA tree-version` - _description -V applied-patches expl1 "patch from this version" - _description -V other-patches expl2 "patch from other versions" - compadd "$expl1[@]" `$TLA logs` - compadd "$expl2[@]" `$TLA logs --full $($TLA log-versions | grep -v $tree_version)` - # This is incredibly slow. - # Should complete based on -A, -R, -d -} - -(( $+functions[_tla_config] )) || -_tla_config () { - - # zsh 4.1.1+ is recommended; 4.0.6 gives the error below when doing - # tla build-config e<TAB> - # _path_files:322: no matches found: configs//e/.(/) - # whereas 4.1.1 completes correctly - - local configdir root ret=1 n expl - - n=$opt_args[(i)(-d|--dir)] - [[ -n "$n" ]] && configdir=$opt_args[$n] - root="$(_call_program tla $TLA tree-root ${configdir} 2>&1)" - if (( $? )); then - _message -e messages "Error: $root" - return $ret - fi - - if [[ -d "$root/configs" ]]; then - configdir=("$root/configs") - _description files expl 'config file' - _files -W configdir "$expl[@]" && ret=0 - else - _message -e messages "No configs/ directory in tree whose root is $root" - fi - return $ret -} - -(( $+functions[_tla_limit] )) || -_tla_limit () { #presently only does push-mirror style limits - [[ $words[$CURRENT] == *@* ]] && return 1 - - local expl archive - archive=${words[(r)*@*]:-$($TLA my-default-archive 2> /dev/null)} - if [ $archive ]; then - - if [[ $PREFIX != *--* ]]; then - _description -V categories expl "category in $archive" - compadd -q -S -- "$expl[@]" `$TLA categories -A $archive` - else - _tla_namespace_branches 3 - fi - fi -} - -(( $+functions[_tla_tree_or_rev] )) || -_tla_tree_or_rev () { - _alternative 'trees:tree:_files -/' 'revisions:revision:_tla_revisions' -} - -(( $+functions[_tla_libraries] )) || -_tla_libraries () { - local libraries expl - libraries=($(_call_program tla $TLA my-revision-library)) - _description -V libraries expl "revision library" - compadd "$expl[@]" -a libraries -} - -(( $+functions[_tla_my_revision_library] )) || -_tla_my_revision_library () { - if [[ -n $words[(r)-d] ]] || [[ -n $words[(r)--delete] ]]; then - _tla_libraries - else - _files -/ - fi -} - -(( $+functions[_tla_log_versions] )) || -_tla_log_versions () { - local logs expl - if is-at-least 1.1 $tla_version; then - logs=($(_call_program tla $TLA log-versions)) - else - logs=($(_call_program tla $TLA logs)) - fi - _description -V versions expl "log version" - compadd "$expl[@]" -a logs -} - -# command argument definitions -# commands with different versions - -local cmd_register_archive cmd_archives cmd_ls_archives cmd_redo -local cmd_redo_changes cmd_changes cmd_what_changed cmd_categories -local cmd_branches cmd_versions cmd_cacherev cmd_logs cmd_log_versions -local cmd_log_ls cmd_update cmd_join_branch cmd_replay cmd_deltapatch -local cmd_delta_patch cmd_apply_delta cmd_sync_tree cmd_make_sync_tree -local cmd_delta cmd_revdelta cmd_library_categories cmd_library_branches -local cmd_library_versions cmd_library_revisions -local cmd_archive_register - -cmd_log_ls=('*:version:_tla_log_versions') -cmd_log_versions=() -# the options should only complete items that are in the tree - -if is-at-least 1.1 $tla_version; then - cmd_register_archive=('::archive:_tla_archives' ':location:_files -/') - cmd_archive_register=($cmd_register_archive) - cmd_archives=('::regex:') - cmd_redo=('::changeset:_files -/') - cmd_changes=('::revision:_tla_revisions' - # ':separator:(--)' '*::limit:_files' - #don't understand the limit usage - ) - cmd_categories=('::archive:_tla_archives') - cmd_branches=('::category:_tla_categories') - cmd_versions=('::branch:_tla_branches') - cmd_cacherev=('::revision:_tla_revisions') - #should only complete non-cached revisions - - cmd_logs=($cmd_log_ls) - cmd_update=('::revision:_tla_revisions') - cmd_join_branch=(':revision:_tla_revisions') - #should only complete continuation revisions - - cmd_replay=('*::revision:_tla_revisions') - cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev') - cmd_sync_tree=(':revision:_tla_revisions') - cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev' '::DEST:_files -/') - cmd_library_categories=('::archive:_tla_archives --library') - cmd_library_branches=('::category:_tla_categories --library') - cmd_library_versions=('::branch:_tla_branches --library') - cmd_library_revisions=('::version:_tla_versions --library') -else - cmd_register_archive=(':archive:_tla_archives' ':location:_files -/') - cmd_archives=() - cmd_redo=() - cmd_changes=('::revision:_tla_revisions') - cmd_categories=() - cmd_branches=(':category:_tla_categories') - cmd_versions=(':branch:_tla_branches') - cmd_cacherev=(':revision:_tla_revisions' '::dir:_files -/') - cmd_logs=($cmd_log_versions) - cmd_update=(':dir:_files -/' '::newdir:_files -/' - '::revision:_tla_revisions') - cmd_join_branch=(':dir:_files -/' '::newdir:_files -/' - ':revision:_tla_revisions') - cmd_replay=(':dir:_files -/' '::newdir:_files -/' '::revision:_tla_revisions') - cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev' - ':UPON:_tla_tree_or_rev' '::DEST:_files -/') - cmd_sync_tree=(':dir:_files -/' '::newdir:_files -/' - ':revision:_tla_revisions') - cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev') - cmd_library_categories=() - cmd_library_branches=(':category:_tla_categories --library') - cmd_library_versions=(':branch:_tla_branches --library') - cmd_library_revisions=(':version:_tla_versions --library') -fi - -cmd_ls_archives=($cmd_archives) -cmd_redo_changes=($cmd_redo) -cmd_what_changed=($cmd_changes) -cmd_delta_patch=($cmd_deltapatch) -cmd_apply_delta=($cmd_deltapatch) -cmd_make_sync_tree=($cmd_sync_tree) -cmd_revdelta=($cmd_delta) - -# commands the same in all versions - -local cmd_help -cmd_help=() - -local cmd_my_id -cmd_my_id=('::id-string:') - -local cmd_my_default_archive -cmd_my_default_archive=('::archive:_tla_archives') - -local cmd_whereis_archive -cmd_whereis_archive=(':archive:_tla_archives') - -local cmd_init_tree -cmd_init_tree=('::version:_tla_versions') - -local cmd_tree_root -cmd_tree_root=('::directory:_files -/') - -local cmd_tree_version -cmd_tree_version=('::directory:_files -/') - -local cmd_set_tree_version -cmd_set_tree_version=(':version:_tla_versions') - -local cmd_build_config cmd_buildcfg -cmd_build_config=(':config:_tla_config') -cmd_buildcfg=($cmd_build_config) - -local cmd_cat_config cmd_catcfg cmd_cfgcat -cmd_cat_config=(':config:_tla_config') -cmd_catcfg=($cmd_cat_config) -cmd_cfgcat=($cmd_cat_config) - -local cmd_undo cmd_undo_changes -cmd_undo=('::revision:_tla_revisions') -cmd_undo_changes=($cmd_undo) - -local cmd_file_diffs -cmd_file_diffs=(':file:_files' '::revision:_tla_revisions') - -local cmd_file_find -cmd_file_find=(':file:_files' '::revision:_tla_revisions') - -local cmd_inventory cmd_srcfind -cmd_inventory=('::separator:(--)' '*:directory:_files -/') -cmd_srcfind=($cmd_inventory) - -local cmd_tree_lint cmd_lint -cmd_tree_lint=('::directory:_files -/') -cmd_lint=($cmd_tree_lint) - -local cmd_id cmd_invtag -cmd_id=('*:file:_files') -cmd_invtag=($cmd_id) - -local cmd_id_tagging_method cmd_tagging_method methods -cmd_id_tagging_method=('::tagging method:(($methods))') -methods=( - 'names:use naming conventions only' - 'implicit:use naming conventions but permit for inventory tags' - 'tagline:use naming conventions but permit for inventory tags' - 'explicit:require explicit designation of source' -) -cmd_tagging_method=($cmd_id_tagging_method) - -local cmd_add cmd_add_id cmd_add_tag -cmd_add=('*:file to add:_files') -cmd_add_id=($cmd_add) -cmd_add_tag=($cmd_add) - -local cmd_delete cmd_delete_id cmd_delete_tag -cmd_delete=('*:file to delete:_files') -cmd_delete_id=($cmd_delete) -cmd_delete_tag=($cmd_delete) - -local cmd_move cmd_move_id cmd_move_tag -cmd_move_id=(':old name:_files' ':new name:_files') -cmd_move_id=($cmd_move) -cmd_move_tag=($cmd_move) -#would be nice not to offer dirs for newname if oldname is a file, and -#vice versa - -local cmd_mv -cmd_mv=('*:file:_files') -# not really right, but close enough - -local cmd_default_id cmd_explicit_default cmd_default_tag -cmd_default_id=('::TAG-PREFIX:') -cmd_explicit_default=($cmd_default_id) -cmd_default_tag=($cmd_default_id) - -local cmd_tagging_defaults cmd_id_tagging_defaults -cmd_tagging_defaults=() -cmd_id_tagging_defaults=($cmd_tagging_defaults) - -local cmd_changeset cmd_mkpatch -cmd_changeset=( - ':ORIG:_files -/' - ':MOD:_files -/' - ':DEST:_files -/' - '*:file:_files' -) -cmd_mkpatch=("$cmd_changeset[@]") - -local cmd_dopatch cmd_do_changeset cmd_apply_changeset -cmd_dopatch=(':changeset:_files -/' ':target:_files -/') -cmd_do_changeset=($cmd_dopatch) -cmd_apply_changeset=($cmd_dopatch) - -local cmd_show_changeset -cmd_show_changeset=('::changeset:_files -/') - -local cmd_make_archive -cmd_make_archive=('::name:' ':location:_files -/') - -local cmd_archive_setup -cmd_archive_setup=('*:version:_tla_branches --trailing-dashes') - -local cmd_make_category -cmd_make_category=(':category:_tla_archives -S /') - -local cmd_make_branch -cmd_make_branch=(':branch:_tla_categories --trailing-dashes') - -local cmd_make_version -cmd_make_version=(':version:_tla_branches --trailing-dashes') - -local cmd_import cmd_imprev -cmd_import=('::version:_tla_versions') -cmd_imprev=($cmd_import) - -local cmd_commit cmd_cmtrev -cmd_commit=('::version:_tla_versions' ':separator:(--)' '*:file:_files') -cmd_cmtrev=($cmd_commit) - -local cmd_get cmd_getrev -cmd_get=(':revision:_tla_revisions' '::directory:_files -/') -cmd_getrev=($cmd_get) - -local cmd_get_patch cmd_get_changeset -cmd_get_patch=(':revision:_tla_revisions' '::dir:_files -/') -cmd_get_changeset=($cmd_get_patch) - -local cmd_lock_revision -cmd_lock_revision=(':revision:_tla_revisions') - -local cmd_push_mirror cmd_archive_mirror -cmd_push_mirror=( - '::FROM or MINE:_tla_archives' - '::TO:_tla_archives' - '::LIMIT:_tla_limit' -) -cmd_archive_mirror=($cmd_push_mirror) - -local cmd_revisions -cmd_revisions=('::version:_tla_versions') - -local cmd_ancestry -cmd_ancestry=('::revision:_tla_revisions') - -local cmd_ancestry_graph -cmd_ancestry_graph=('::revision:_tla_revisions') - -local cmd_cat_archive_log -cmd_cat_archive_log=(':revision:_tla_revisions') - -local cmd_cachedrevs -cmd_cachedrevs=(':version:_tla_versions') - -local cmd_uncacherev -cmd_uncacherev=(':revision:_tla_revisions' '::dir:_files -/') - -local cmd_archive_meta_info -cmd_archive_meta_info=(':item-name:((name\:foo mirror\:bar))') - -local cmd_archive_snapshot -cmd_archive_snapshot=(':dir:_files -/' '::limit:_tla_revisions') - -local cmd_archive_version -cmd_archive_version=() - -local cmd_archive_fixup -cmd_archive_fixup=() - -local cmd_make_log -cmd_make_log=('::version:_tla_versions') - -local cmd_add_log cmd_add_log_version -cmd_add_log=(':version:_tla_versions') -cmd_add_log_version=($cmd_add_log) - -local cmd_remove_log cmd_remove_log_version -cmd_remove_log=(':version:_tla_log_versions') -cmd_remove_log_version=($cmd_remove_log) - -local cmd_abrowse -cmd_abrowse=('::LIMIT:_tla_revisions') - -local cmd_cat_log -cmd_cat_log=(':revision-spec:_tla_local_revisions') - -local cmd_changelog -cmd_changelog=('::version:_tla_versions') - -local cmd_log_for_merge -cmd_log_for_merge=('::version:_tla_versions') - -local cmd_merges -cmd_merges=(':INTO:_tla_revisions' '::FROM:_tla_revisions') - -local cmd_new_merges -cmd_new_merges=('::version:_tla_versions') - -local cmd_tag cmd_tagrev cmd_branch -cmd_tag=(':SOURCE-REVISION:_tla_revisions' ':TAG-VERSION:_tla_versions') -cmd_tagrev=($cmd_tag) -cmd_branch=($cmd_tag) - -local cmd_star_merge -cmd_star_merge=(':FROM:_tla_revisions') - -local cmd_missing cmd_whats_missing -cmd_missing=('::revision:_tla_revisions') -cmd_whats_missing=($cmd_missing) - -local cmd_pristines cmd_ls_pristines -cmd_pristines=('::limit:_tla_revisions') -cmd_ls_pristines=($cmd_pristines) - -local cmd_lock_pristine -cmd_lock_pristine=(':revision:_tla_revisions') - -local cmd_add_pristine -cmd_add_pristine=(':revision:_tla_revisions') - -local cmd_find_pristine -cmd_find_pristine=(':revision:_tla_revisions') - -local cmd_my_revision_library cmd_library_dir -cmd_my_revision_library=(':library:_tla_my_revision_library') -cmd_library_dir=($my_revision_library) - -local cmd_library_find -cmd_library_find=(':revision:_tla_revisions --library') - -local cmd_library_add -cmd_library_add=(':revision:_tla_revisions --exclude-library-revisions') - -local cmd_library_remove -cmd_library_remove=(':revision:_tla_revisions --library') - -local cmd_library_archives -cmd_library_archives=() - -local cmd_library_log -cmd_library_log=(':revision:_tla_revisions --library') - -local cmd_library_file -cmd_library_file=(':file:_files' ':revision:_tla_revisions --library') - -local cmd_grab -cmd_grab=(':location:_files') - -local cmd_parse_package_name -cmd_parse_package_name=(':name:') - -local cmd_valid_package_name -cmd_valid_package_name=(':name:') - -local cmd_library_config -cmd_library_config=(':library:_tla_libraries') - -local cmd_rbrowse -cmd_rbrowse=('::regular expression:') - -local cmd_rm -cmd_rm=('*:file:_files') - -local cmd_escape -cmd_escape=(':string:') - -local cmd_diff -cmd_diff=('::revision:_tla_revisions') - -local cmd_export -cmd_export=(':revision:_tla_revisions' ':dir:_files -/') - -#mutually exclusive options - -local -A excludes -excludes=( -# This first line means that if --output was given, don't complete -# --no-output or --keep. The converse is not true. ---output '--no-output --keep' ---no-output --output - ---silent ' --quiet --report --verbose --debug' ---quiet '--silent --report --verbose --debug' ---report '--silent --quiet --verbose --debug' ---verbose '--silent --quiet --report --debug' ---debug '--silent --quiet --report --verbose ' - ---sparse --non-sparse ---non-sparse --sparse - ---files ' --directories --both' ---directories '--files --both' ---both '--files --directories ' - ---mirror --mirror-from ---mirror-from --mirror - ---no-cached --cached-tags ---cached-tags --no-cached - ---non-greedy --greedy ---greedy --non-greedy -) - -_tla_main () { - typeset -A opt_args - local arguments - if (( CURRENT > 2 )); then - local cmd=${words[2]} - local var_cmd=cmd_${cmd//-/_} - curcontext="${curcontext%:*:*}:tla-$cmd:" - (( CURRENT-- )) - shift words - - arguments=() - local input - input=(${${(M)${(f)"$($TLA $cmd -h)"}:# *}# }) - - local i j=1 - local short long arg desc action - short=() - long=() - arg=() - desc=() - action=() - for (( i=1 ; i <= ${#input} ; i++ )); do - [[ "$input[i]" != *[^\ ]* ]] && continue # stupid blank lines - short[j]="${${${input[i]}[1,2]}#--}" - long[j]="${${input[i]#-?, }%% *}" - - arg[j]="${${${input[i]%% *}##* }##-*}" - [[ $long[j] == --archive ]] && arg[j]=ARCHIVE # tla doesn't mention this - - desc[j]="${input[i]##* }" - if [[ "$input[i+1]" == \ *[^\ ]* ]]; then # description continues - (( i++ )) - desc[j]="$desc[j] ${input[i]##* }" - fi - [[ "$short[j]" == -[hHV] ]] && continue - desc[j]="${${desc[j]//\[/\\[}//\]/\\]}" # escape brackets - - case $arg[j] in - DIR|PATCH-DIR|DEST|OUTPUT|PATH) - action[j]='_files -/' ;; - FILES|FILE|SNAP-FILE) - action[j]='_files' ;; - MASTER|MASTER-SOURCE|ARCHIVE) - action[j]='_tla_archives' ;; - CATEGORY) - action[j]='_tla_categories' ;; - BRANCH) - action[j]='_tla_branches' ;; - VERSION) - action[j]='_tla_versions' ;; - CFG) - action[j]='_tla_configs' ;; - LIB) - action[j]='_tla_libraries' ;; -# PATCH,FILE) # not sure how to complete this -# action[j]='_tla_patch_file' ;; - *) - action[j]='' ;; - esac - - (( j++ )) - - done - - local excluded k - for (( i = 1 ; i < j ; i++ )); do - excluded=($short[i] $long[i]) - foreach opt (${=excludes[$long[i]]}) - k=$long[(i)$opt] - excluded=($excluded $short[k] $long[k]) - #excludes matching short options too :-) - end - - - # generate arguments to _arguments ;-) - # make long and short options mutually exclusive - [ $short[i] ] && arguments=("$arguments[@]" - "${hide_short}(${excluded})${short[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - [ $long[i] ] && arguments=("$arguments[@]" - "(${excluded})${long[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}") - done - - arguments=("$arguments[@]" "${(@P)var_cmd-*:FILE:_files}") - else - local help - local -U cmds - help=(${(f)"$($TLA help)"}) - cmds=(${${${${(M)help:#* :*}/ #: #/:}%% ##}## #}) - arguments=(':command:(($cmds))') - fi - _arguments -S -A '-*' \ - {"${hide_short}(: -)-V",'(: -)--version'}'[display version]' \ - {"${hide_short}(: -)-h",'(: -)--help'}'[display help]' \ - '(: -)-H[display verbose help]' \ - "$arguments[@]" -} - -_tla_main "$@" diff --git a/result/sw/share/zsh/5.9/functions/_tload b/result/sw/share/zsh/5.9/functions/_tload deleted file mode 100644 index 29fddfc3..00000000 --- a/result/sw/share/zsh/5.9/functions/_tload +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tload -# based on procps-ng-3.3.15 - -_arguments -s \ - '(-s --scale)'{-s+,--scale=}'[specify the vertical scale]:number of characters between tics: ' \ - '(-d --delay)'{-d+,--delay=}'[specify the delay between updates]:seconds: ' \ - '(- *)'{-h,--help}'[display help and exit]' \ - '(- *)'{-V,--version}'[display version information and exit]' \ - '1: :_ttys -o' diff --git a/result/sw/share/zsh/5.9/functions/_tmux b/result/sw/share/zsh/5.9/functions/_tmux deleted file mode 100644 index 844af58f..00000000 --- a/result/sw/share/zsh/5.9/functions/_tmux +++ /dev/null @@ -1,1899 +0,0 @@ -#compdef tmux - -# tmux <http://tmux.github.io> completion for zsh <http://zsh.sf.net>. -# -# Configuration: -# -# - On some OSs, the directory for tmux's server sockets may not be -# the default (which is /tmp/tmux-<uid>/), but say -# /var/run/tmux/tmux-<uid>, in which case the completion for -# 'tmux -L <tab>' will not be able to find the sockets in the default -# location (debian does this, for instance); tell _tmux the right place -# to look: -# % zstyle ':completion:*:*:tmux:*:sockets' socketdir "/var/run/tmux/tmux-${UID}" -# -# - tmux knows a *lot* of sub-commands, hence 'tmux <tab>' returns a lot -# of possible completions. _tmux knows about all commands and their aliases. -# By default, both are offered. If you do not care about the aliases, do this: -# % zstyle ':completion:*:*:tmux:*:subcommands' mode 'commands' -# -# The same can be done to only return aliases by setting the above style -# to 'aliases'. The default value is 'both' (but actually every value -# different from 'commands' and 'aliases' will have the same effect). -# -# 'lsw' is an alias for 'list-windows' for example; note that not all -# commands have aliases. So probably, either the default 'both' or -# 'commands' makes most sense for this style. -# -# - For finer grained control over what is suggested as possible completions, -# the 'ignored-patterns' style may be used; suppose you think that only -# '*-window' or '*-windows' are worth being completed. You would get that -# behaviour like this: -# % zstyle ':completion:*:*:tmux:*:subcommands' ignored-patterns '^*-window(|s)' -# -# Some tmux commands currently do not work if called from a shell prompt, -# so it would make sense to ignore them per default (at the time of writing, -# those commands are choose-{session,client,window}, confirm-before and -# find-window. This would ignore them: -# % zstyle ':completion:*:*:tmux:*:subcommands' ignored-patterns \ -# 'choose-*' 'confirm-before' 'find-window' -# -# The configuration for subcommand completions may be done in -# this context: ':completion:*:*:tmux-<sub-command>:*:*' -# -# TODO: -# -# - Implement __tmux-style (possibly using existing helpers like -# __tmux-attributes and __tmux-colours) -# - in _tmux-list-panes, use __tmux-windows or __tmux-sessions -# depending on -s is among the sub-commands current command line. - -# Global variables; setup the first time _tmux is called. -# For $_tmux_commands[] generation, see the very end of this file. -typeset -ga _tmux_commands=() _tmux_aliases=() -typeset -gA _tmux_aliasmap - -_tmux_aliasmap=( - # clients and sessions - attach attach-session - detach detach-client - has has-session - lockc lock-client - locks lock-session - lsc list-clients - lscm list-commands - ls list-sessions - new new-session - refresh refresh-client - rename rename-session - showmsgs show-messages - source source-file - start start-server - suspendc suspend-client - switchc switch-client - - # windows and panes - breakp break-pane - capturep capture-pane - displayp display-panes - findw find-window - joinp join-pane - killp kill-pane - killw kill-window - last last-window - lastp last-pane - linkw link-window - lsp list-panes - lsw list-windows - movep move-pane - movew move-window - neww new-window - nextl next-layout - next next-window - pipep pipe-pane - prev previous-window - prevl previous-layout - renamew rename-window - resizep resize-pane - resizew resize-window - respawnp respawn-pane - respawnw respawn-window - rotatew rotate-window - selectl select-layout - selectp select-pane - selectw select-window - splitw split-window - swapp swap-pane - swapw swap-window - unlinkw unlink-window - - # key bindings - bind bind-key - lsk list-keys - send send-keys - unbind unbind-key - - # options - set set-option - setw set-window-option - show show-options - showw show-window-options - - # environment - setenv set-environment - showenv show-environment - - # status line - confirm confirm-before - menu display-menu - display display-message - popup display-popup - - # buffers - clearhist clear-history - deleteb delete-buffer - lsb list-buffers - loadb load-buffer - pasteb paste-buffer - saveb save-buffer - setb set-buffer - showb show-buffer - - # miscellaneous - if if-shell - lock lock-server - run run-shell - info server-info - wait wait-for -) - -# --- Sub-command functions --- -# These *must* be called _tmux-*(); The description generation relies on -# them being named that way. *No* other functions may match that pattern. -# Other utility functions should be named __tmux-*() (see below). -# -# Another thing, the description generation needs, is handling of -# $tmux_describe: If that parameter is non-empty, the sub-command function -# should only print a description of the sub-command it handles and return -# immediately after doing so. -# -# To add support for a new sub-command, you only have to add a new -# _tmux-<foo>() function below (preferably alphabetically sorted), that -# behaves like described above; and add a alias->command pair in the -# _tmux_aliasmap associative array above (if the command in fact has an -# alias). The rest should just work[tm]. - -_tmux-attach-session() { - [[ -n ${tmux_describe} ]] && print "attach or switch to a session" && return - - _arguments -s \ - '-c+[specify working directory for the session]:directory:_directories' \ - '-d[detach other clients attached to target session]' \ - '-f+[set client flags]: :_tmux_client_flags' \ - '-r[put the client into read-only mode]' \ - '-t+[specify target session]:target session: __tmux-sessions-separately' \ - "-E[don't apply update-environment option]" \ - '-x[with -d, send SIGHUP to the parent of the attached client]' -} - -_tmux-bind-key() { - [[ -n ${tmux_describe} ]] && print "bind a key to a command" && return - _arguments -s -A "-*" \ - '-n[make the binding work without the need for the prefix key]' \ - '-r[the key may repeat]' \ - '-N+[attach a note to the key]:note' \ - '-T+[specify key table for the binding]:key table' \ - '1:key' \ - '*:::template:= _tmux' -} - -_tmux-break-pane() { - [[ -n ${tmux_describe} ]] && print "break a pane from an existing into a new window" && return - _arguments -s \ - '(-b)-a[move window to next index after]' \ - '(-a)-b[move window to next index before]' \ - "-d[don't make the new window become the active one]" \ - '-F+[specify output format]:format:__tmux-formats' \ - '-P[print information of new window after it has been created]' \ - '-n+[specify window name]:name' \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify destination window]:pane:__tmux-panes' -} - -_tmux-capture-pane() { - [[ -n ${tmux_describe} ]] && print "capture the contents of a pane to a buffer" && return - _arguments -s \ - '-a[use alternate screen]' \ - '(-p)-b+[choose target buffer]:target buffer:__tmux-buffers' \ - '-C[escape non-printable characters as octal \\ooo]' \ - '-e[include escape sequences for attributes etc]' \ - '-E[specify last line to capture]:line number (- means last line)' \ - '(-N)-J[join wrapped lines and preserve trailing space]' \ - '(-J)-N[preserve trailing space]' \ - '-q[ignore errors when trying to access alternate screen]' \ - '(-b)-p[print data to stdout]' \ - '-P[only capture beginnings of as-yet incomplete escape sequences]' \ - '-S[specify start line to capture]:first line (- means start of scrollback)' \ - '-t+[choose source pane]:source pane:__tmux-panes' -} - -_tmux-choose-buffer() { - [[ -n ${tmux_describe} ]] && print "put a pane into buffer choice mode" && return - _arguments -s \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:= _tmux' -} - -_tmux-choose-client() { - [[ -n ${tmux_describe} ]] && print "put a window into client choice mode" && return - _arguments -s \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-t+[specify target window]:session:__tmux-windows' \ - '*:::template:= _tmux' -} - -_tmux-choose-tree() { - [[ -n ${tmux_describe} ]] && print "put a window into tree choice mode" && return - _arguments -s \ - '-G[include all sessions in any session groups in the tree rather than only the first]' \ - '-N[start without the preview]' \ - '-Z[zoom the pane]' \ - '-r[reverse sort order]' \ - '-F+[specify format for each list item]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-K+[specify format for each shortcut key]:format:__tmux-formats' \ - '-O+[initial sort order]:order:(time name size)' \ - '-s[choose among sessions]' \ - '-t+[specify target window]:session:__tmux-windows' \ - '-w[choose among windows]' \ - '*:::template:= _tmux' -} - -_tmux-clear-history() { - [[ -n ${tmux_describe} ]] && print "remove and clear history for a pane" && return - _arguments '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-clock-mode() { - [[ -n ${tmux_describe} ]] && print "enter clock mode" && return - _arguments '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-command-prompt() { - [[ -n ${tmux_describe} ]] && print "open the tmux command prompt in a client" && return - _arguments -s \ - '-1[only accept one key press]' \ - '-k[only accept one key press and translate it to a key name]' \ - '-N[accept only numeric key presses]' \ - '-i[execute the command every time the prompt input changes]' \ - '-I+[specify list of initial inputs]:initial-text (comma-separated list)' \ - '-p+[specify list of prompts]:prompts (comma-separated list)' \ - '-t+[specify target client]:client:__tmux-clients' \ - '(-W)-T[prompt is for a target - tab complete as appropriate]' \ - '(-T)-W[prompt is for a window - tab complete as appropriate]' \ - '*:::template:= _tmux' -} - -_tmux-confirm-before() { - [[ -n ${tmux_describe} ]] && print "run a command but ask for confirmation before" && return - _arguments -s \ - '-p+[specify prompt]:prompt string' \ - '-t+[specify target client]:client:__tmux-clients' \ - '*:::command:= _tmux' -} - -_tmux-copy-mode() { - [[ -n ${tmux_describe} ]] && print "enter copy mode" && return - _arguments -s \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-e[scrolling to the bottom should exit copy mode]' \ - '-H[hide the position indicator in the top right]' \ - '-q[cancel copy mode and any other modes]' \ - '-u[scroll up one page]' \ - '-M[begin a mouse drag]' -} - -_tmux-customize-mode() { - [[ -n ${tmux_describe} ]] && print "enter customize mode" && return - _arguments -s \ - '-F+[specify format for each item in the tree]:format:__tmux-formats' \ - '-f+[specify initial filter]:filter:__tmux-formats' \ - '-N[start without the option information]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-Z[zoom the pane]' -} - -_tmux-delete-buffer() { - [[ -n ${tmux_describe} ]] && print "delete a paste buffer" && return - _arguments '-b+[specify target buffer name]:buffer:__tmux-buffers' -} - -_tmux-detach-client() { - [[ -n ${tmux_describe} ]] && print "detach a client from the server" && return - _arguments -s \ - '-a[kill all clients except for the named by -t]' \ - '-P[send SIGHUP to parent process]' \ - '-E+[run specified shell command to replace the client]:shell command:_cmdstring' \ - '-s+[specify target session and kill its clients]:session:__tmux-sessions-attached' \ - '-t+[specify target client]:client:__tmux-clients' -} - -_tmux-display-menu() { - [[ -n ${tmux_describe} ]] && print "display a menu" && return - local curcontext="$curcontext" ret=1 - local -a state line expl - _arguments -C -s -S -A "-*" \ - '-c+[specify target client]:client:__tmux-clients' \ - "-O[don't close menu if mouse is released without making a selection]" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-T+[specify title]:title' \ - '-x+[specify horizontal position]: : _alternative "columns\: \:_guard \[0-9\]\# column" "positions\:position\:((R\:right P\:bottom M\:mouse W\:window))"' \ - '-y+[specify vertical position]: : _alternative "rows\: \:_guard \[0-9\]\# row" "positions\:position\:((P\:left M\:mouse S\:status\ line))"' \ - '*::: :->options' && ret=0 - - if [[ -n $state ]]; then - case $(( CURRENT % 3 )) in - 1) _message -e menu-options 'menu option' ;; - 2) _message -e keys 'shortcut key' ;; - 0) - compset -q - words=( menu "$words[@]" ) - (( CURRENT++ )) - _tmux && ret=0 - ;; - esac - fi - - return ret -} - -_tmux-display-message() { - [[ -n ${tmux_describe} ]] && print "display a message in the status line" && return - _arguments -s -S -A "-*" \ - '(-p -F :)-a[list the format variables and their values]' \ - '-I[forward any input read from stdin to the target pane]' \ - '-N[ignore key presses and only close after the delay]' \ - '-c+[specify target client]:client:__tmux-clients' \ - '-d+[time to display message]:delay (milliseconds)' \ - '(-a)-p[print message to stdout]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '(-a)-F+[specify output format]:format:__tmux-formats' \ - '(-a)-v[print verbose logging as the format is parsed]' \ - ':message:__tmux-formats' -} - -_tmux-display-panes() { - [[ -n ${tmux_describe} ]] && print "display an indicator for each visible pane" && return - _arguments -S \ - "-b[don't block other commands until indicator is closed]" \ - '-d+[time to show indicator for]:duration (ms)' \ - '-t+[specify target client]:client:__tmux-clients' \ - '*:::command:= _tmux' -} - -_tmux-display-popup() { - [[ -n ${tmux_describe} ]] && print "display a popup box over a pane" && return - _arguments -s \ - '-C[close any popup on the client]' \ - '-c+[specify target client]:client:__tmux-clients' \ - '-d+[specify working directory for the command]:directory:_directories' \ - '-E[close the popup when the command exits]' \ - '-w+[specify width]:width' \ - '-h+[specify height]:height' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-x+[specify horizontal position]:position' \ - '-y+[specify vertical position]:position' \ - ':shell command:_cmdstring' -} - -_tmux-find-window() { - [[ -n ${tmux_describe} ]] && print "search for a pattern in windows" && return - _arguments -s \ - '-i[ignore case]' \ - '-r[use regular expression matching]' \ - '-C[match visible contents]' \ - '-N[match window name]' \ - '-T[match window title]' \ - '-t+[specify target window]:window:__tmux-windows' \ - '-Z[zoom the pane]' \ - ':window search pattern' -} - -_tmux-has-session() { - [[ -n ${tmux_describe} ]] && print "check and report if a session exists on the server" && return - _arguments '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-if-shell() { - [[ -n ${tmux_describe} ]] && print "execute a tmux command if a shell-command succeeded" && return - local curcontext="$curcontext" state line ret=1 - _arguments -C -s \ - '-b[run shell command in background]' \ - "-F[don't execute shell command but use it as a string-value]" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '1:shell command:_cmdstring' \ - '2:tmux command (success):->tmuxcmd' \ - '3:tmux command (failure):->tmuxcmd' && ret=0 - if [[ -n $state ]]; then - compset -q - _tmux && ret=0 - fi -} - -_tmux-join-pane() { - [[ -n ${tmux_describe} ]] && print "split a pane and move an existing one into the new space" && return - # -p removed from documentation but still works, or use -l and append % - _arguments -s \ - '-b[join source pane left of or above target pane]' \ - "-d[don't make the new window become the active one]" \ - '(-l)-f[span the full size]' \ - '-h[split horizontally]' \ - '-v[split vertically]' \ - "(-p)-l[define new pane's size]:size" \ - "!(-f -l)-p+:size (percentage)" \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-kill-pane() { - [[ -n ${tmux_describe} ]] && print "destroy a given pane" && return - _arguments -s \ - '-a[kill all panes except the one specified by -t]' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-kill-server() { - [[ -n ${tmux_describe} ]] && print "kill clients, sessions and server" && return - __tmux-nothing-else -} - -_tmux-kill-session() { - [[ -n ${tmux_describe} ]] && print "destroy a given session" && return - _arguments -s \ - '-a[kill all session except the one specified by -t]' \ - '-t+[specify target session]:session:__tmux-sessions' \ - '-C[clear alerts (bell, activity, silence) in all windows linked to the session]' -} - -_tmux-kill-window() { - [[ -n ${tmux_describe} ]] && print "destroy a given window" && return - _arguments -s \ - '-a[kill all windows except the one specified by -t]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-last-pane() { - [[ -n ${tmux_describe} ]] && print "select the previously selected pane" && return - _arguments -s \ - '-d[disable input to the pane]' \ - '-e[enable input to the pane]' \ - '-Z[keep window zoomed if it was zoomed]' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-last-window() { - [[ -n ${tmux_describe} ]] && print "select the previously selected window" && return - _arguments '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-link-window() { - [[ -n ${tmux_describe} ]] && print "link a window to another" && return - _arguments -s \ - '(-b)-a[move window to next index after destination window]' \ - '(-a)-b[move window to next index before destination window]' \ - "-d[don't make the new window become the active one]" \ - '-k[kill the target window if it exists]' \ - '-s+[specify source window]:window:__tmux-windows' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-list-buffers() { - [[ -n ${tmux_describe} ]] && print "list paste buffers of a session" && return - _arguments \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' -} - -_tmux-list-clients() { - [[ -n ${tmux_describe} ]] && print "list clients attached to server" && return - _arguments -s \ - '-F+[specify output format]:format:__tmux-formats' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-list-commands() { - [[ -n ${tmux_describe} ]] && print "list supported sub-commands" && return - _arguments '-F+[specify format]:format:__tmux-formats' '1:sub-command:_tmux' -} - -_tmux-list-keys() { - [[ -n ${tmux_describe} ]] && print "list all key-bindings" && return - _arguments -s \ - '-1[list only the first matching key]' \ - '-a[list the command for keys that do have a note]' \ - '-N[list only keys with attached notes]' \ - '-P+[specify a prefix to print before each key]:prefix' \ - '-T+[specify key table]:key table' -} - -_tmux-list-panes() { - [[ -n ${tmux_describe} ]] && print "list panes of a window" && return - local -a args - if (( ${+words[(r)-*s*]} )); then - args=( '-t+[specify target session]:session:__tmux-sessions' ) - else - args=( '-t+[specify target window]:window:__tmux-windows' ) - fi - _arguments -s $args \ - '-a[list all panes the server possesses]' \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-s[if specified, -t chooses a session]' -} - -_tmux-list-sessions() { - [[ -n ${tmux_describe} ]] && print "list sessions managed by server" && return - _arguments \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' -} - -_tmux-list-windows() { - [[ -n ${tmux_describe} ]] && print "list windows of a session" && return - _arguments -s \ - '-a[list all windows the tmux server possesses]' \ - '-F[specify output format]:format:__tmux-formats' \ - '-f+[filter items]:filter format:__tmux-formats' \ - '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-load-buffer() { - [[ -n ${tmux_describe} ]] && print "load a file into a paste buffer" && return - _arguments -A "-*" -S \ - '-b+[specify target buffer name]:buffer:__tmux-buffers' \ - '-t+[specify target client]:client:__tmux-clients' \ - '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ - '1:file:_files' -} - -_tmux-lock-client() { - [[ -n ${tmux_describe} ]] && print "lock a client" && return - _arguments '-t+[specify client]:client:__tmux-clients' -} - -_tmux-lock-server() { - [[ -n ${tmux_describe} ]] && print "lock all clients attached to the server" && return - __tmux-nothing-else -} - -_tmux-lock-session() { - [[ -n ${tmux_describe} ]] && print "lock all clients attached to a session" && return - _arguments '-t+[specify session]:session:__tmux-sessions' -} - -_tmux-move-pane() { - _tmux-join-pane "$@" -} - -_tmux-move-window() { - [[ -n ${tmux_describe} ]] && print "move a window to another" && return - _arguments -s \ - '(-b)-a[move window to next index after destination window]' \ - '(-a)-b[move window to next index before destination window]' \ - "-d[don't make the new window become the active one]" \ - '-k[kill the target window if it exists]' \ - '-s+[specify source window]:window:__tmux-windows' \ - '-r[renumber windows in session in sequential order]' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-new-session() { - [[ -n ${tmux_describe} ]] && print "create a new session" && return - _arguments -s -A "-*" -S \ - '-c+[specify working directory for the session]:directory:_directories' \ - '-A[attach to existing session if it already exists]' \ - "-d[don't attach new session to current terminal]" \ - "-D[with -A, detach other clients attached to session]" \ - "-E[don't apply update-environment option]" \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-F+[specify output format]:format:__tmux-formats' \ - '-f+[specify client flags]: :_tmux_client_flags' \ - '-n+[specify initial window name]:window name' \ - '-P[print information about new session after it is created]' \ - '-s+[name the session]:session name:__tmux-sessions' \ - '-t+[specify target session]:session:__tmux-sessions' \ - '-x[specify width]:width' \ - '-y[specify height]:height' \ - '-X[with -D, send SIGHUP to the parent of the attached client]' \ - '*:: :_cmdambivalent' -} - -_tmux-new-window() { - [[ -n ${tmux_describe} ]] && print "create a new window" && return - _arguments -s -A "-*" -S \ - '(-b)-a[insert new window at next index after target]' \ - '(-a)-b[insert new window at next index before target]' \ - '-c+[specify working directory for the session]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - "(-S)-d[don't make the new window become the active one]" \ - '-F+[specify output format]:format:__tmux-formats' \ - '-k[destroy it if the specified window exists]' \ - '-n+[specify a window name]:window name' \ - '-P[print information about new window after it is created]' \ - '(-d)-S[select window if name already exists]' \ - '-t+[specify target window]:window:__tmux-windows' \ - '*:: :_cmdambivalent' -} - -_tmux-next-layout() { - [[ -n ${tmux_describe} ]] && print "move a window to the next layout" && return - _arguments '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-next-window() { - [[ -n ${tmux_describe} ]] && print "move to the next window in a session" && return - _arguments -s \ - '-a[move to the next window with an alert]' \ - '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-paste-buffer() { - [[ -n ${tmux_describe} ]] && print "insert a paste buffer into the window" && return - _arguments -s \ - '-b+[specify buffer]:source buffer:__tmux-buffers' \ - '-d[remove buffer from stack after pasting]' \ - '-p[use bracketed paste mode if the application requested it]' \ - "-r[don't replace LF with CR when pasting]" \ - '-s+[specify separator]:separator' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-pipe-pane() { - [[ -n ${tmux_describe} ]] && print "pipe output from a pane to a shell command" && return - _arguments -s -A "-*" -S \ - '-I[write stdout from command to the pane as if it were typed]' \ - '-O[pipe output from the pane to the command (default unless -I used)]' \ - '-o[only open a pipe if none is currently opened]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - ':shell command:_cmdstring' -} - -_tmux-previous-layout() { - [[ -n ${tmux_describe} ]] && print "move a window to the previous layout" && return - _arguments '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-previous-window() { - [[ -n ${tmux_describe} ]] && print "move to the previous window in a session" && return - _arguments -s \ - '-a[move to the previous window with an alert]' \ - '-t+[specify target session]:session:__tmux-sessions' -} - -_tmux-refresh-client() { - [[ -n ${tmux_describe} ]] && print "refresh a client" && return - _arguments -s -A "-*" -S \ - '-B+[set a subscription to a format for a control mode client]:subscription' \ - '-A+[allow a control mode client to trigger actions on a pane]:pane:__tmux-panes -P% -S\:' \ - '-C+[set the width and height of a control client]:width,height' \ - '-c[reset so that the position follows the cursor]' \ - '-D[move visible portion of window down]' \ - '-f+[set client flags]:flag:_tmux_client_flags' \ - '-L[move visible portion of window left]' \ - '-l[request clipboard from the client and store it in a new paste buf using xterm(1) escape sequence]' \ - "-S[only update the client's status bar]" \ - '-t+[specify target client]:client:__tmux-clients' \ - '-R[move visible portion of window right]' \ - '-U[move visible portion of window up]' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-rename-session() { - [[ -n ${tmux_describe} ]] && print "rename a session" && return - _arguments -s -A "-*" -S \ - '-t+[specify target session]:session:__tmux-sessions' \ - ':new session name' -} - -_tmux-rename-window() { - [[ -n ${tmux_describe} ]] && print "rename a window" && return - _arguments -s -A "-*" -S \ - '-t+[specify target window]:window:__tmux-windows' \ - ':new window name' -} - -_tmux-resize-pane() { - [[ -n ${tmux_describe} ]] && print "resize a pane" && return - _arguments -s -A "-*" -S \ - '-D[resize downward]' \ - '-L[resize to the left]' \ - '-M[begin mouse resizing]' \ - '-R[resize to the right]' \ - '-U[resize upward]' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-T[trim lines below the cursor position and moves lines out of the history to replace them]' \ - '-x+[specify width]:width' \ - '-y+[specify height]:height' \ - '-Z[toggle zoom of pane]' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-resize-window() { - [[ -n ${tmux_describe} ]] && print "resize a window" && return - _arguments -s -A "-*" -S : \ - '-A[set size of largest session containing the window]' \ - '-a[set size of smallest session containing the window]' \ - '-D[resize downward]' \ - '-L[resize to the left]' \ - '-R[resize to the right]' \ - '-U[resize upward]' \ - '-t+[specify target pane]:pane:__tmux-windows' \ - '-x+[specify width]:width' \ - '-y+[specify height]:height' \ - ': :_guard "[0-9]#" "adjustment"' -} - -_tmux-respawn-pane() { - [[ -n ${tmux_describe} ]] && print "reuse a pane in which a command has exited" && return - _arguments -s -A "-*" -S \ - '-c+[specify a new working directory for the pane]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-k[kill window if it is in use]' \ - '-t+[specify target pane]:pane:__tmux-pane' \ - ':command:_cmdambivalent' -} - -_tmux-respawn-window() { - [[ -n ${tmux_describe} ]] && print "reuse a window in which a command has exited" && return - _arguments -s -A "-*" -S \ - '-c+[specify a new working directory for the window]:directory:_directories' \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-k[kill window if it is in use]' \ - '-t+[specify target window]:window:__tmux-windows' \ - ':command:_cmdambivalent' -} - -_tmux-rotate-window() { - [[ -n ${tmux_describe} ]] && print "rotate positions of panes in a window" && return - _arguments -s \ - '-D[rotate downward]' \ - '-U[rotate upward]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-run-shell() { - [[ -n ${tmux_describe} ]] && print "execute a command without creating a new window" && return - local curcontext="$curcontext" ret=1 - local -a state line expl - _arguments -C -s -A "-*" -S \ - '-b[run command in background]' \ - '(1)-C[run a tmux command]' \ - '-d+[specify delay before starting the command]:delay (seconds)' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '(2)1:command:_cmdstring' \ - '2:tmux command:->tmux-commands' && ret=0 - - if [[ -n $state ]]; then - compset -q - words=( run "$words[@]" ) - (( CURRENT++ )) - _tmux && ret=0 - fi -} - -_tmux-save-buffer() { - [[ -n ${tmux_describe} ]] && print "save a paste buffer to a file" && return - _arguments -s \ - '-a[append to rather than overwriting file]' \ - '-b+[specify a target buffer index]:buffer:__tmux-buffers' -} - -_tmux-select-layout() { - [[ -n ${tmux_describe} ]] && print "choose a layout for a pane" && return - _arguments -s -A "-*" -S \ - '-E[spread the current pane and any panes next to it out evenly]' \ - '-n[behave like next-layout]' \ - '-o[revert to previous layout]' \ - '-p[behave like previous-layout]' \ - '-t+[specify a target pane]:target pane:__tmux-panes' \ - ':layout:(even-horizontal even-vertical main-horizontal main-vertical tiled)' -} - -_tmux-select-pane() { - [[ -n ${tmux_describe} ]] && print "make a pane the active one in the window" && return - # -P and -g have been removed from the documentation in tmux 3 but still work - _arguments -s \ - '-D[move to the pane below target]' \ - '-d[disable input to the pane]' \ - '-e[enable input to the pane]' \ - '-g[show current pane style]' \ - '-l[behave like last-pane]' \ - '-L[move to the pane left of target]' \ - '-M[clear marked pane]' \ - '-m[set marked pane]' \ - '-R[move to the pane right of target]' \ - '-U[move to the pane above target]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-P+[set pane style]:style:__tmux-style' \ - '-T+[set the pane title]:title' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-select-window() { - [[ -n ${tmux_describe} ]] && print "select a window" && return - _arguments -s \ - '-l[behave like last-window]' \ - '-n[behave like next-window]' \ - '-p[behave like previous-window]' \ - '-T[if selected window is the current behave like last-window]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-send-keys() { - [[ -n ${tmux_describe} ]] && print "send key(s) to a window" && return - _arguments -s -A "-*" -S \ - '(-H)-l[disable key name lookup and send data literally]' \ - '-F[expand formats in arguments where appropriate]' \ - '(-l)-H[interpret key as hexadecimal number for an ASCII character]' \ - '-R[reset terminal state]' \ - '-M[pass through a mouse event]' \ - '-X[send a command into copy mode]' \ - '-N+[specify repeat count]:repeat count' \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '*:key' -} - -_tmux-send-prefix() { - [[ -n ${tmux_describe} ]] && print "send the prefix key to a window" && return - _arguments -s \ - '-2[send secondary prefix key]' \ - '-t+[specify target pane]:pane:__tmux-panes' -} - -_tmux-server-info() { - [[ -n ${tmux_describe} ]] && print "show server information" && return - __tmux-nothing-else -} - -_tmux-set-buffer() { - [[ -n ${tmux_describe} ]] && print "set contents of a paster buffer" && return - _arguments -s -A "-*" -S \ - '-a[append to rather than overwriting target buffer]' \ - '-b+[specify target buffer index]:pane:__tmux-buffers' \ - '-n+[specify new buffer name]:buffer-name' \ - '-t+[specify target client]:client:__tmux-clients' \ - '-w[also send the buffer to the clipboard using the xterm escape sequence]' \ - ':data' -} - -_tmux-set-environment() { - [[ -n ${tmux_describe} ]] && print "(un)set an environment variable" && return - local mode=session action=add - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s -A "-*" -S : \ - '-F[expand value as a format]' \ - '(-t)-g[modify global environment]' \ - '-h[mark the variable as hidden]' \ - '(-u)-r[remove variable before starting new processes]' \ - '(-r)-u[unset a variable]' \ - '(-g)-t[specify target session]:target session:__tmux-sessions' \ - ': :->name' '(-u -r)2: :->value' && ret=0 - - if (( ${+opt_args[-g]} )); then - mode=global - fi - if (( ${+opt_args[-u]} )); then - action=unset - fi - if (( ${+opt_args[-r]} )); then - action=remove - fi - - # TODO: the exclusion "(-g -r)2:" doesn't work, so simulate it here - if [[ $action == (remove|unset) ]] && [[ $state == value ]]; then - __tmux-nothing-else - else - __tmux-environment-variables $mode $state $action && ret=0 - fi - return ret -} - -_tmux-set-option() { - [[ -n ${tmux_describe} ]] && print "set a session option" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-a[append to string options]' \ - '-F[expand formats in the option value]' \ - '-g[set a global session option]' \ - '-o[prevent setting of an option that is already set]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-u[unset a non-global option]' \ - '-U[unset a pane option across all panes in the window]' \ - '(-w -s)-p[change pane (no session) options]' \ - '(-p -s)-w[change window (not session) options]' \ - '(-p -w)-s[change server (not session) options]' \ - '-t+[specify target session]:target session:__tmux-sessions' \ - '*:: :->name_or_value' && ret=0 - - if (( ${+opt_args[-w]} )); then - mode=window - elif (( ${+opt_args[-s]} )); then - mode=server - fi - __tmux-options-complete ${mode} ${state} && ret=0 - return ret -} - -_tmux-set-window-option() { - [[ -n ${tmux_describe} ]] && print "set a window option" && return - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-a[append to string options]' \ - '-F[expand formats in the option value]' \ - '-g[set a global window option]' \ - '-o[prevent setting of an option that is already set]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-u[unset a non-global option]' \ - '-t+[specify target window]:target window:__tmux-windows' \ - '*:: :->name_or_value' && ret=0 - __tmux-options-complete window ${state} && ret=0 - return ret -} - -_tmux-set-hook() { - [[ -n ${tmux_describe} ]] && print "set a hook to a command" && return - _arguments -s \ - '-a[append to hook]' \ - '(-R)-g[add hook to global list]' \ - '(-g -u)-R[run hook immediately]' \ - '(-w)-p[set pane hooks]' \ - '(-p)-w[set window hooks]' \ - '(-R)-u[unset a hook]' \ - '-t+[specify target session]:session:__tmux-sessions' \ - ':hook name:_tmux_hooks' \ - '*:::command:= _tmux' -} - -_tmux-show-hooks() { - [[ -n ${tmux_describe} ]] && print "show the global list of hooks" && return - _arguments -s -S -A "-*" \ - '-g[show global list of hooks]' \ - '(-w)-p[show pane hooks]' \ - '(-p)-w[show window hooks]' \ - '-t+[specify target session]:session:__tmux-sessions' \ -} - -_tmux-show-buffer() { - [[ -n ${tmux_describe} ]] && print "display the contents of a paste buffer" && return - _arguments '-b[specify target buffer index]:pane:->buffer' -} - -_tmux-show-environment() { - [[ -n ${tmux_describe} ]] && print "display the environment" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -A "-*" -s : \ - '(-t)-g[show global environment]' \ - '-h[show hidden variables]' \ - '-s[format output as Bourne shell commands]' \ - '(-g)-t+[specify target session]:target session:__tmux-sessions' \ - '1:: :->name' && ret=0 - - if (( ${+opt_args[-g]} )); then - mode=global - fi - - __tmux-environment-variables $mode $state show && ret=0 - return ret -} - -_tmux-show-messages() { - [[ -n ${tmux_describe} ]] && print "show client's message log" && return - _arguments -s \ - '-J[show debugging information about running jobs]' \ - '-T[show debugging information about involved terminals]' \ - '-t+[specify target client]:client:__tmux-clients' -} - -_tmux-show-options() { - [[ -n ${tmux_describe} ]] && print "show session options" && return - local mode=session - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-A[include options inherited from a parent set]' \ - '-H[include hooks]' \ - '-g[show global options]' \ - '-q[suppress errors about unknown or ambiguous options]' \ - '-v[show only the option value, not the name]' \ - '(-s -w)-p[show pane (not session) options]' \ - '(-p -w)-s[show server (not session) options]' \ - '(-p -s)-w[show window (not session) options]' \ - '-t+[specify target session]:target session:__tmux-sessions' \ - '*:: :->name_or_value' && ret=0 - - if (( ${+opt_args[-w]} )); then - mode=window - elif (( ${+opt_args[-s]} )); then - mode=server - fi - __tmux-options-complete ${mode} ${state} && ret=0 - return ret -} - -_tmux-show-window-options() { - [[ -n ${tmux_describe} ]] && print "show window options" && return - local curcontext="$curcontext" state line ret=1 - typeset -A opt_args - _arguments -C -s : \ - '-g[show global options]' \ - '-v[show only the option value, not the name]' \ - '-t+[specify target window]:target window:__tmux-windows' \ - '*:: :->name_or_value' && ret=0 - __tmux-options-complete window ${state} && ret=0 - return ret -} - -_tmux-source-file() { - [[ -n ${tmux_describe} ]] && print "execute tmux commands from a file" && return - _arguments \ - '-F[expand path as a format]' \ - '-n[file is parsed but no commands are executed]' \ - "-q[don't report error if path doesn't exist]" \ - '-v[show parsed commands and line numbers if possible]' \ - '*:path:_directories' -} - -_tmux-split-window() { - [[ -n ${tmux_describe} ]] && print "splits a pane into two" && return - # -p removed from documentation but still works, or use -l and append % - _arguments -s \ - '-b[create new pane left of or above target pane]' \ - "-d[don't make the new window become the active one]" \ - '*-e[specify environment variable]:environment variable:_parameters -g "*export*" -qS=' \ - '-F+[specify output format]:format:__tmux-formats' \ - '(-l)-f[create new pane spanning full window width or height]' \ - '-h[split horizontally]' \ - '-v[split vertically]' \ - "(-p)-l[define new pane's size]:size" \ - "!(-f -l)-p+:size (percentage)" \ - '-t+[specify target pane]:pane:__tmux-panes' \ - '-Z[zoom the pane]' \ - '(:)-I[create empty pane and forward stdin to it]' \ - ':command:_cmdambivalent' - # Yes, __tmux-panes is correct here. The behaviour was changed - # in recent tmux versions and makes more sense. Except that - # changing the command's name might annoy users. So it stays like - # this. -} - -_tmux-start-server() { - [[ -n ${tmux_describe} ]] && print "start a tmux server" && return - __tmux-nothing-else -} - -_tmux-suspend-client() { - [[ -n ${tmux_describe} ]] && print "suspend a client" && return - _arguments '-t+[specify destination client]:client:__tmux-clients' -} - -_tmux-swap-pane() { - [[ -n ${tmux_describe} ]] && print "swap two panes" && return - _arguments -s \ - '-D[move pane down]' \ - '-U[move pane up]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - "-d[don't change the active pane]" \ - '-s+[specify source pane]:pane:__tmux-panes' \ - '-t+[specify destination pane]:pane:__tmux-panes' -} - -_tmux-swap-window() { - [[ -n ${tmux_describe} ]] && print "swap two windows" && return - _arguments -s \ - "-d[don't make the new window become the active one]" \ - '-s+[specify source window]:window:__tmux-windows' \ - '-t+[specify destination window]:window:__tmux-windows' -} - -_tmux-switch-client() { - [[ -n ${tmux_describe} ]] && print "switch the client to another session" && return - _arguments -s \ - '-c+[specify a target client]:client:__tmux-clients' \ - "-E[don't apply update-environment option]" \ - '-l[move client to last session]' \ - '-n[move client to next session]' \ - '-p[move client to previous session]' \ - '-r[toggle read-only flag of client]' \ - '-Z[keep the window zoomed if it was zoomed]' \ - '-t+[specify target window]:window:__tmux-windows' -} - -_tmux-unbind-key() { - [[ -n ${tmux_describe} ]] && print "unbind a key" && return - local curcontext="$curcontext" state line keytable - local -a ow - - ow=( "${words[@]}" ) - _arguments -C -s \ - '-a[remove all key bindings]' \ - '-n[remove a non-prefix binding]' \ - '-q[prevent errors being returned]' \ - '-T[specify key table]:key table' \ - '*:: :->boundkeys' - - [[ ${state} != 'boundkeys' ]] && return - keytable="$(__tmux-get-optarg -t "${ow[@]}")" - if [[ -n ${keytable} ]]; then - __tmux-bound-keys -t ${keytable} - return - fi - __tmux-bound-keys -} - -_tmux-unlink-window() { - [[ -n ${tmux_describe} ]] && print "unlink a window" && return - _arguments -s \ - '-k[kill the window if it is only in one session]' \ - '-t+[specify target window]:target window:__tmux-windows' -} - -_tmux-wait-for() { - [[ -n ${tmux_describe} ]] && print "wait for an event or trigger it" && return - _arguments -s \ - '-L[lock the named channel]' \ - '-S[send signal to channel]' \ - '-U[unlock the named channel]' \ - ':event channel' -} - -# --- Utility functions --- -# They should be called __tmux-*() and kept separate from the -# sub-command functions. - -function __tmux-attributes() { - local -a attr already - attr=( default bright bold dim underscore blink reverse hidden italics ) - compset -P '*,' - already=( ${(s<,>)IPREFIX} ) - _describe -t tmux-attribute 'tmux attribute' attr -S, -F already -q -} - -function __tmux-buffers() { - local expl - local -a buffers - - if [[ ${(t)bopts} != *array* ]]; then - local -a bopts; bopts=() - fi - - buffers=( ${${(f)"$(command tmux 2> /dev/null list-buffers "${bopts[@]}")"}/:[ $'\t']##/:} ) - _describe -t buffers 'buffer' buffers -} - -function __tmux-bound-keys() { - local expl - local -a keys - - keys=( ${${${${(f)"$(command tmux 2> /dev/null list-keys "$@")"}/:[ $'\t']##/:}/(#s)[ $'\t']##/}/(#s):/\\:} ) - _describe -t keys 'key' keys -} - -function __tmux-clients() { - local expl - local -a clients - clients=( ${${(f)"$(command tmux 2> /dev/null list-clients)"}/:[ $'\t']##/:} ) - _describe -t clients 'client' clients -} - -function __tmux-environment-variables() { - local mode="$1" state="$2" action="$3" - - local -a dash_g - case $mode in - (global) dash_g=(-g);; - (session) dash_g=();; - (*) return 1;; # bug in the caller - esac - - local hint - case $action in - (add|remove) hint=" (or specify a new one)";; - (unset|show) hint="";; - (*) return 1;; # bug in the caller - esac - - case ${state} in - (name) - local -a vars_and_vals=( ${(@f)"$(command tmux 2>/dev/null show-env $dash_g)"} ) - local -a descriptions - local k_v k v - for k_v in $vars_and_vals; do - k=${k_v%%=*} - if [[ $k == -* ]]; then - k=${k#-} - v='(remove)' - else - v=${k_v#*=} - fi - descriptions+=( "${k//:/\\:}:$v" ) - done - # TODO: this if/else is because '_describe ${hint:+"-x"}' prints the "No matches" error in addition to the message. - local msg="${dash_g[1]:+"global "}environment variable${hint}" - if _describe -t parameters $msg descriptions; then - : - elif [[ -n $hint ]]; then - _message -e $msg - fi - ;; - (value) - local var_and_val=${(@f)"$(command tmux 2>/dev/null show-env $dash_g -- ${(Q)words[-2]})"} - # TODO: this if/else is because '_description -x' prints the "No matches" error in addition to the message. - if [[ -n $var_and_val ]]; then - local -a expl - _description -x parameter-values expl "value for ${words[-2]}" - compadd "$expl[@]" - ${var_and_val#*=} - else - _message -e "value for ${words[-2]}" - fi - ;; - (*) - return 1 - ;; - esac -} - -__tmux-formats() { - local hash='#' open='{' close='}' paren='(' quest='?' - local tmux_variables expl - compquote hash open close paren quest - compset -p ${#PREFIX%$hash*} - if compset -P "${(q)hash}${open}"; then - if compset -P "${(q)quest}"; then - close=, - elif ! compset -P "([bdt]|s/[^/]#/[^/]#/|=(-|)<->):"; then - _describe -t operators operator '( - \?:conditional - \=:length\ limit - )' -S '' -- '( - m:fnmatch\ comparison - t:convert\ time\ to\ string - b:basename - c:search\ for\ fnmatch\ pattern\ in\ pane\ content - d:dirname - \==:comparison - \!=:comparison - )' -S : -- '( - s:substitution - )' -S / -- '( - \|\|:either\ of\ two\ conditions - \&\&:both\ of\ two\ conditions - )' -S , - fi - tmux_variables=( - 'alternate_on:if pane is in alternate screen' - 'alternate_saved_x:saved cursor X in alternate screen' - 'alternate_saved_y:saved cursor Y in alternate screen' - 'buffer_created:time buffer created' - 'buffer_name:name of buffer' - 'buffer_sample:sample of start of buffer' - 'buffer_size:size of the specified buffer in bytes' - 'client_activity:time client last had activity' - 'client_created:time client created' - 'client_control_mode:1 if client is in control mode' - 'client_discarded:bytes discarded when client behind' - 'client_height:height of client' - 'client_key_table:current key table' - "client_last_session:name of the client's last session" - 'client_name:name of client' - 'client_pid:PID of client process' - 'client_prefix:1 if prefix key has been pressed' - 'client_readonly:1 if client is readonly' - "client_session:name of the client's session" - 'client_termname:terminal name of client' - 'client_termtype:terminal type of client' - 'client_tty:pseudo terminal of client' - 'client_utf8:1 if client supports utf8' - 'client_width:width of client' - 'client_written:bytes written to client' - 'command:name of command in use, if any' - 'command_list_name:command name if listing commands' - 'command_list_alias:command alias if listing commands' - 'command_list_usage:command usage if listing commands' - 'cursor_flag:pane cursor flag' - 'cursor_character:character at cursor in pane' - 'cursor_x:cursor X position in pane' - 'cursor_y:cursor Y position in pane' - 'history_bytes:number of bytes in window history' - 'history_limit:maximum window history lines' - 'history_size:size of history in lines' - 'hook:name of running hook, if any' - 'hook_pane:ID of pane where hook was run, if any' - 'hook_session:ID of session where hook was run, if any' - 'hook_session_name:name of session where hook was run, if any' - 'hook_window:ID of window where hook was run, if any' - 'hook_window_name:name of window where hook was run, if any' - 'host:hostname of local host' - 'host_short:hostname of local host (no domain name)' - 'insert_flag:pane insert flag' - 'keypad_cursor_flag:pane keypad cursor flag' - 'keypad_flag:pane keypad flag' - 'line:line number in the list' - 'mouse_any_flag:pane mouse any flag' - 'mouse_button_flag:pane mouse button flag' - 'mouse_standard_flag:pane mouse standard flag' - 'mouse_all_flag:pane mouse all flag' - 'pane_active:1 if active pane' - 'pane_at_bottom:1 if pane is at the bottom of window' - 'pane_at_left:1 if pane is at the left of window' - 'pane_at_right:1 if pane is at the right of window' - 'pane_at_top:1 if pane is at the top of window' - 'pane_bottom:bottom of pane' - 'pane_current_command:current command if available' - 'pane_dead:1 if pane is dead' - 'pane_dead_status:exit status of process in dead pane' - 'pane_format:1 if format is for a pane (not assuming the current)' - 'pane_height:height of pane' - 'pane_id:unique pane ID' - 'pane_in_mode:if pane is in a mode' - 'pane_input_off:if input to pane is disabled' - 'pane_index:index of pane' - 'pane_left:left of pane' - 'pane_mode:name of pane mode, if any.' - 'pane_pid:PID of first process in pane' - 'pane_pipe:1 if pane is being piped' - 'pane_right:right of pane' - 'pane_search_string:last search string in copy mode' - 'pane_start_command:command pane started with' - 'pane_synchronized:if pane is synchronized' - 'pane_tabs:pane tab positions' - 'pane_title:title of pane' - 'pane_top:top of pane' - 'pane_tty:pseudo terminal of pane' - 'pane_width:width of pane' - 'pid:server PID' - 'rectangle_toggle:1 if rectangle selection is activated' - 'scroll_region_lower:bottom of scroll region in pane' - 'scroll_region_upper:top of scroll region in pane' - 'scroll_position:scroll position in copy mode' - 'selection_present:1 if selection started in copy mode' - 'session_alerts:list of window indexes with alerts' - 'session_attached:number of clients session is attached to' - 'session_activity:time of session last activity' - 'session_created:time session created' - 'session_format:1 if format is for a session (not assuming the current)' - 'session_last_attached:time session last attached' - 'session_group:name of session group' - 'session_group_size:size of session group' - 'session_group_list:list of sessions in group' - 'session_grouped:1 if session in a group' - 'session_id:unique session ID' - 'session_many_attached:1 if multiple clients attached' - 'session_name:name of session' - 'session_stack:window indexes in most recent order' - 'session_width:width of session' - 'session_windows:number of windows in session' - 'socket_path:server socket path' - 'start_time:server start time' - 'version:server version' - 'window_activity:time of window last activity' - 'window_activity_flag:1 if window has activity' - 'window_active:1 if window active' - 'window_bell_flag:1 if window has bell' - 'window_flags:window flags' - 'window_format:1 if format is for a window (not assuming the current)' - 'window_height:height of window' - 'window_id:unique window ID' - 'window_index:index of window' - 'window_last_flag:1 if window is the last used' - 'window_layout:window layout description, ignoring zoomed window panes' - 'window_linked:1 if window is linked across sessions' - 'window_name:name of window' - 'window_offset_x:X offset into window if larger than client' - 'window_offset_y:Y offset into window if larger than client' - 'window_panes:number of panes in window' - 'window_silence_flag:1 if window has silence alert' - 'window_stack_index:index in session most recent stack' - 'window_visible_layout:window layout description, respecting zoomed window panes' - 'window_width:width of window' - 'window_zoomed_flag:1 if window is zoomed' - 'wrap_flag:pane wrap flag' - ) - _describe -t variables variable tmux_variables -S "$close" - elif compset -P "${(q)hash}${(q)paren}"; then - compset -S '(\\|)\)*' - _cmdstring - elif [[ $PREFIX = ${hash}* ]]; then - _describe -t variables variable '( - \#H:local\ hostname - \#h:short\ local\ hostname - \#D:pane\ id - \#P:pane\ index - \#T:pane\ title - \#S:session\ name - \#F:window\ flags - \#I:window\ index - \#W:window\ name - )' -S '' - else - _wanted format-specifiers expl 'format specifier' compadd -S '' \# - fi -} - -function __tmux-colours() { - local -a colnames - colnames=( default black red green yellow blue magenta cyan white colourN:"replace N by a number between 0 and 255" ) - compset -P 'colour*' - if [[ -z ${IPREFIX} ]]; then - _describe -t tmux-colours 'colour' colnames - else - _message 'colour number 0..255' - fi -} - -_tmux_hooks() { - _alternative \ - 'hooks:hook name:(alert-activity alert-bell alert-silence client-attached client-detached client-resized client-session-changed pane-died pane-exited pane-set-clipboard session-created session-closed session-renamed window-linked window-renamed window-unlinked)' \ - 'post-hooks:command post-hook:compadd - after-${_tmux_aliasmap}' -} - -_tmux_client_flags() { - _values -s , flag active-pane ignore-size no-output \ - 'pause-after:time (seconds)' read-only wait-exit -} - -function __tmux-get-optarg() { - local opt="$1" - local -i i - shift - - for (( i = 1; i <= $#; i++ )); do - if [[ ${argv[$i]} == ${opt} ]]; then - if [[ ${argv[$(( i + 1 ))]} != -* ]]; then - print -- ${argv[$(( i + 1 ))]} - fi - return - fi - done -} - -__tmux-nothing-else() { - _message -e "no further arguments" -} - -function __tmux-option-guard() { - local mode opt guard int_guard - mode="$1" - opt="$2" - shift; shift - local -a options desc - int_guard='_guard "[0-9]#" "'${opt}': numeric value"' - if [[ ${mode} == 'session' ]]; then - options=( - 'activity-action:DESC:any none current other' - 'assume-paste-time:'${int_guard} - 'base-index:'${int_guard} - 'bell-action:DESC:any none current other' - 'default-command:MSG:command string' - 'default-shell:MSG:shell executable' - 'default-size:MSG:XxY' - 'destroy-unattached:DESC:on off' - 'detach-on-destroy:DESC:on off' - 'display-panes-colour:__tmux-colours' - 'display-panes-active-colour:__tmux-colours' - 'display-panes-time:'${int_guard} - 'display-time:'${int_guard} - 'history-limit:'${int_guard} - 'lock-after-time:'${int_guard} - 'lock-command:MSG:command string' - 'message-command-style:__tmux-style' - 'message-style:__tmux-style' - 'mouse:DESC:on off' - 'prefix:MSG:primary prefix key' - 'prefix2:MSG:secondary prefix key' - 'renumber-windows:DESC:on off' - 'repeat-time:'${int_guard} - 'set-titles:DESC:on off' - 'set-titles-string:MSG:title format string' - 'silence-action:DESC:any none current other' - 'status:DESC:on off' - 'status-format:MSG:format string' - 'status-interval:'${int_guard} - 'status-justify:DESC:left centre right' - 'status-keys:DESC:vi emacs' - 'status-left:MSG:format string' - 'status-left-length:'${int_guard} - 'status-left-style:__tmux-style' - 'status-position:DESC:top bottom' - 'status-right:MSG:format string' - 'status-right-length:'${int_guard} - 'status-right-style:__tmux-style' - 'status-style:__tmux-style' - 'update-environment:MSG:string listing env. variables' - 'user-keys:MSG:key' - 'visual-activity:DESC:on off' - 'visual-bell:DESC:on off' - 'visual-silence:DESC:on off' - 'word-separators:MSG:separator string' - ) - elif [[ ${mode} == 'server' ]]; then - options=( - 'buffer-limit:'${int_guard} - 'command-alias:MSG:alias' - 'default-terminal:MSG:terminal string' - 'escape-time:'${int_guard} - 'exit-empty:DESC:on off' - 'exit-unattached:DESC:on off' - 'focus-events:DESC:on off' - 'history-file:_path-files -g "*(-.)"' - 'message-limit:'${int_guard} - 'set-clipboard:DESC:on off' - 'terminal-overrides:MSG:overrides string' - ) - else - options=( - 'aggressive-resize:DESC:on off' - 'allow-rename:DESC:on off' - 'alternate-screen:DESC:on off' - 'automatic-rename:DESC:on off' - 'automatic-rename-format:DESC:__tmux-format' - 'clock-mode-colour:__tmux-colours' - 'clock-mode-style:DESC:12 24' - 'main-pane-height:'${int_guard} - 'main-pane-width:'${int_guard} - 'mode-keys:DESC:vi emacs' - 'mode-style:__tmux-style' - 'monitor-activity:DESC:on off' - 'monitor-bell:DESC:on off' - 'monitor-silence:DESC:on off' - 'other-pane-height:'${int_guard} - 'other-pane-width:'${int_guard} - 'pane-active-border-style:__tmux-style' - 'pane-base-index:'${int_guard} - 'pane-border-format:MSG:pane border status string' - 'pane-border-status:DESC:off top bottom' - 'pane-border-style:__tmux-style' - 'remain-on-exit:DESC:on off' - 'synchronize-panes:DESC:on off' - 'window-active-style:__tmux-style' - 'window-status-activity-style:__tmux-style' - 'window-status-bell-style:__tmux-style' - 'window-status-current-format:MSG:status format string' - 'window-status-current-style:__tmux-style' - 'window-status-format:MSG:status format string' - 'window-status-last-style:__tmux-style' - 'window-status-separator:MSG:separator string' - 'window-status-style:__tmux-style' - 'window-size:MSG:XxY' - 'window-style:__tmux-style' - 'wrap-search:DESC:on off' - 'xterm-keys:DESC:on off' - ) - fi - - guard=${(M)options:#$opt:*} - if [[ -z ${guard} ]]; then - _message "unknown ${mode} option: ${opt}" - return - fi - guard=${guard#*:} - case ${guard} in - ('') ;; - (MSG:*) - _message -e ${guard#*:} - ;; - (DESC:*) - eval "desc=( ${guard#*:} )" - _describe -t "tmux-${mode}-option-value" "${opt}" desc - ;; - (*) - eval ${guard} - ;; - esac -} - -function __tmux-session-options() { - local -a tmux_session_options - tmux_session_options=( - 'activity-action:set action on window activity when monitor-activity is on' - 'assume-paste-time:assume keys are pasted instead of typed if this fast' - 'base-index:define where to start numbering' - 'bell-action:set action on window bell' - 'default-command:default command for new windows' - 'default-shell:default shell executable' - 'default-size:set the default size of windows when the size is not set' - 'destroy-unattached:destroy session if no client is attached' - 'detach-on-destroy:detach client if attached session is destroyed' - 'display-panes-colour:colour used for display-panes' - 'display-panes-active-colour:colour for active pane in display-panes' - 'display-panes-time:time (in msecs) of display-panes output' - 'display-time:time (in msecs) messages are displayed' - 'history-limit:number of copy-mode lines per window' - 'key-table:default key table' - 'lock-after-time:lock sessions after N seconds' - 'lock-command:command to run for locking a client' - 'message-command-style:status line message command style' - 'message-style:status line message style' - 'mouse:enable mouse support' - 'prefix:primary prefix key' - 'prefix2:secondary prefix key' - 'renumber-windows:renumber windows if a window is closed' - 'repeat-time:time for multiple commands without prefix-key presses' - 'set-titles:try to set xterm window titles' - 'set-titles-string:format used by set-titles' - 'silence-action:set action on window silence when monitor-silence is on' - 'status:show or hide the status bar' - 'status-format:specify the format to be used for each line of the status line' - 'status-interval:interval (in seconds) for status bar updates' - 'status-justify:position of the window list in status bar' - 'status-keys:mode to use in status bar modes (vi/emacs)' - 'status-left:format to use left in status bar' - 'status-left-length:maximum length of the left part of the status bar' - 'status-left-style:style of left part of status line' - 'status-position:status line position' - 'status-right:format to use right in status bar' - 'status-right-length:maximum length of the right part of the status bar' - 'status-right-style:style of right part of status line' - 'status-style:style status line' - "update-environment:list of variables to be copied to a session's environment" - 'user-keys:set list of user-defined key escape sequences' - 'visual-activity:display status line messages upon activity' - 'visual-bell:use visual bell instead of audible' - 'visual-silence:print a message if monitor-silence is on' - 'word-separators:string of characters considered word separators' - ) - _describe -t tmux-options 'tmux session option' tmux_session_options -} - -function __tmux-options-complete() { - local mode="$1" state="$2" - - case ${state} in - name_or_value) - if (( CURRENT == 1 )) && [[ ${mode} == 'session' ]]; then - __tmux-session-options - elif (( CURRENT == 1 )) && [[ ${mode} == 'server' ]]; then - __tmux-server-options - elif (( CURRENT == 1 )) && [[ ${mode} == 'window' ]]; then - __tmux-window-options - elif (( CURRENT == 2 )); then - __tmux-option-guard ${mode} ${words[1]} - else - __tmux-nothing-else - fi - ;; - esac -} - -function __tmux-panes() { - local expl line orig="$IPREFIX" - local -i num - local -a panes opts - - compset -P '*.' && opts=( -t "${${IPREFIX%.}#$orig}" ) - num=0 - command tmux 2> /dev/null list-panes "${opts[@]}" | while IFS= read -r line; do - panes+=( $(( num++ )):${line//:/} ) - done - _describe -t panes 'pane' panes "$@" - if [[ ${IPREFIX} != *. ]]; then - _wanted windows expl 'window' __tmux-windows -S. - fi -} - -function __tmux-server-options() { - local -a tmux_server_options - tmux_server_options=( - 'buffer-limit:number of buffers kept per session' - 'command-alias:custom command aliases' - 'default-terminal:default terminal definition string' - 'escape-time:set timeout to detect single escape characters (in msecs)' - 'exit-unattached:make server exit if it has no attached clients' - 'exit-empty:exit when there are no active sessions' - 'focus-events:request focus events from terminal' - 'history-file:tmux command history file name' - 'message-limit:set size of message log per client' - 'set-clipboard:use esc sequences to set terminal clipboard' - 'terminal-overrides:override terminal descriptions' - ) - _describe -t tmux-server-options 'tmux server option' tmux_server_options -} - -function __tmux-sessions() { - local -a sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - _describe -t sessions 'session' sessions "$@" -} - -function __tmux-sessions-attached() { - local -a sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - sessions=( ${(M)sessions:#*"(attached)"} ) - _describe -t sessions 'attached session' sessions "$@" -} - -# Complete attached-sessions and detached-sessions as separate tags. -function __tmux-sessions-separately() { - local ret=1 - local -a sessions detached_sessions attached_sessions - sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) - detached_sessions=( ${sessions:#*"(attached)"} ) - attached_sessions=( ${(M)sessions:#*"(attached)"} ) - - # ### This seems to work without a _tags loop but not with it. I suspect - # ### that has something to do with _describe doing its own _tags loop. - _tags detached-sessions attached-sessions - # Placing detached before attached means the default behaviour of this - # function better suits its only current caller, _tmux-attach-session(). - _requested detached-sessions && _describe -t detached-sessions 'detached session' detached_sessions "$@" && ret=0 - _requested attached-sessions && _describe -t attached-sessions 'attached session' attached_sessions "$@" && ret=0 - - return ret -} - -function __tmux-socket-name() { - local expl sdir - local curcontext="${curcontext}" - local -a socks - zstyle -s ":completion:${curcontext}:sockets" socketdir sdir || sdir="${TMUX_TMPDIR:-/tmp}/tmux-${UID}" - socks=(${sdir}/*(=:t)) - _wanted socket expl 'socket name' compadd ${expl} -- ${socks} -} - -function __tmux-style() { - _message 'not implemented yet' -} - -function __tmux-window-options() { - local -a tmux_window_options - tmux_window_options=( - 'aggressive-resize:aggressively resize windows' - 'allow-rename:allow programs to change window titles' - 'alternate-screen:allow alternate screen feature to be used' - 'automatic-rename:attempt to automatically rename windows' - 'automatic-rename-format:format for automatic renames' - 'clock-mode-colour:set clock colour' - 'clock-mode-style:set clock hour format (12/24)' - 'main-pane-height:set height for main-* layouts' - 'main-pane-width:set width for main-* layouts' - 'mode-keys:mode to use in copy and choice modes (vi/emacs)' - 'mode-style:set window modes style' - 'monitor-activity:monitor window activity' - 'monitor-bell:monitor for a bell in the window' - 'monitor-silence:monitor window for inactivity' - 'other-pane-height:height of other panes' - 'other-pane-width:width of other panes' - 'pane-active-border-style:style of border of active pane' - 'pane-base-index:integer at which to start indexing panes' - 'pane-border-format:set pane border format string' - 'pane-border-status:turn border status off or set its position' - 'pane-border-style:style of border pane' - "remain-on-exit:don't destroy windows after the program exits" - 'synchronize-panes:send input to all panes of a window' - 'window-active-style:style of active window' - 'window-status-activity-style:style of status bar activity tag' - 'window-status-bell-style:style of status bar bell tag' - 'window-status-current-format:set status line format for active window' - 'window-status-current-style:style of current window in status bar' - 'window-status-format:set status line format for all but the active window' - 'window-status-last-style:style of last window in status bar' - 'window-status-separator:separator drawn between windows in status line' - 'window-status-style:general status bar style' - 'window-size:indicate how to automatically size windows' - 'window-style:style of window' - 'wrap-search:search wrap around at the end of a pane' - 'xterm-keys:generate xterm-style function key sequences' - ) - _describe -t tmux-window-options 'tmux window option' tmux_window_options -} - -function __tmux-windows() { - local expl - local -a wins opts - - compset -P '*:' - if [[ -n ${IPREFIX} ]]; then - opts=( -t "${IPREFIX%:}" ) - else - opts=( ) - fi - wins=( ${${(M)${(f)"$(command tmux 2> /dev/null list-windows "${opts[@]}")"}:#<->*}/:[ $'\t']##/:} ) - _describe -t windows 'window' wins "$@" - if [[ ${IPREFIX} != *: ]]; then - _wanted sessions expl 'session' __tmux-sessions -S: - fi -} - -# And here is the actual _tmux(), that puts it all together: -_tmux() { - local curcontext="${curcontext}" state line ret=1 - local mode - local tmuxcommand - local tmux_describe - - _arguments -C -s -w \ - '-2[force using 256 colours]' \ - '-c[execute a shell command]:command name:_command_names' \ - '-C[start tmux in control mode. -CC disables echo]' \ - "-D[don't start the tmux server as a daemon]" \ - '-f[specify configuration file]:tmux config file:_files -g "*(-.)"' \ - '-l[behave like a login shell]' \ - '-L[specify socket name]:socket name:__tmux-socket-name' \ - "-N[don't start the server even if the command would normally do so]" \ - '-S[specify socket path]:server socket:_path_files -g "*(=,/)"' \ - '-T+[set terminal features for the client]: : _values -s , 256 clipboard ccolour cstyle extkeys focus margins mouse overline rectfill RGB strikethrough sync title usstyle' \ - '-u[force using UTF-8]' \ - '-v[request verbose logging]' \ - '-V[report tmux version]' \ - '*:: :->subcommand_or_options' && ret=0 - - [[ -z $state ]] && return ret - - if (( CURRENT == 1 )); then - zstyle -s ":completion:${curcontext}:subcommands" mode mode || mode='both' - if [[ ${mode} == 'commands' ]]; then - _describe -t subcommands 'tmux command' _tmux_commands && ret=0 - elif [[ ${mode} == 'aliases' ]]; then - _describe -t subcommands 'tmux alias' _tmux_aliases && ret=0 - else - _describe -t subcommands 'tmux command or alias' _tmux_commands -- _tmux_aliases && ret=0 - fi - else - tmuxcommand="${words[1]}" - if [[ -n ${_tmux_aliasmap[$tmuxcommand]} ]] ; then - tmuxcommand="${_tmux_aliasmap[$tmuxcommand]}" - fi - if ! (( ${+functions[_tmux-$tmuxcommand]} )); then - local low high - low=$_tmux_commands[(i)$tmuxcommand*] - high=$_tmux_commands[(I)$tmuxcommand*] - if (( low == high )); then - tmuxcommand=${_tmux_commands[low]%%:*} - elif (( low < high )); then - _message "ambiguous command $tmuxcommand" - else - _message "subcommand $tmuxcommand not known" - _normal && ret=0 - fi - fi - curcontext="${curcontext%:*}-${tmuxcommand}:" - _call_function ret _tmux-${tmuxcommand} - fi - return ret -} - -# description generation follows; only done on 1st _tmux call. -local f desc -local -A rev -local tmux_describe -tmux_describe='yes, please' -for f in ${(k)_tmux_aliasmap} ; do - rev+=( ${_tmux_aliasmap[$f]} $f ) -done -for f in ${(M)${(k)functions}:#_tmux-*} ; do - desc="$($f)" - _tmux_commands+=( "${f#_tmux-}${desc:+:$desc}" ) - [[ -n ${rev[${f#_tmux-}]} ]] && _tmux_aliases+=( "${rev[${f#_tmux-}]}${desc:+:$desc}" ) -done - -_tmux "$@" diff --git a/result/sw/share/zsh/5.9/functions/_todo.sh b/result/sw/share/zsh/5.9/functions/_todo.sh deleted file mode 100644 index 99b6bb69..00000000 --- a/result/sw/share/zsh/5.9/functions/_todo.sh +++ /dev/null @@ -1,178 +0,0 @@ -#compdef todo.sh - -# See http://todotxt.com for todo.sh. -# -# Featurettes: -# - "replace" will complete the original text for editing -# - completing priorities will cycle through A to Z (even without -# menu completion) -# - list and listall will complete +<project> and @<where> from -# values in existing entries -# - will complete after + and @ if typed in message text - -setopt localoptions braceccl - -local expl curcontext="$curcontext" state line pri nextstate item -local -a cmdlist itemlist match mbegin mend -integer NORMARG - -_arguments -s -n : \ - '-@[hide context names]' \ - '-\+[hide project names]' \ - '-c[color mode]' \ - '-d[alternate config file]:config file:_files' \ - '-f[force, no confirmation]' \ - '-h[display help]' \ - '-p[plain mode, no colours]' \ - '-P[hide priority labels]' \ - "-a[don't auto-archive tasks when done]" \ - '-A[auto-archive tasks when done]' \ - '-n[automatically remove blank lines]' \ - '-N[preserve line numbers]' \ - '-t[add current date to task on creation]' \ - "-T[don't add current date to task]" \ - '-v[verbose mode, confirmation messages]' \ - '-vv[extra verbose (debug)]' \ - '-V[display version etc.]' \ - '-x[disable final filter]' \ - '1:command:->commands' \ - '*:arguments:->arguments' && return 0 - -local projmsg="context or project" -local txtmsg="text with contexts or projects" - -# Skip "command" as command prefix if words after -if [[ $words[NORMARG] == command && NORMARG -lt CURRENT ]]; then - (( NORMARG++ )) -fi - -case $state in - (commands) - cmdlist=( - "add:add TODO ITEM to todo.txt." - "addm:add TODO ITEMs, one per line, to todo.txt." - "addto:add text to file (not item)" - "append:adds to item on line NUMBER the text TEXT." - "archive:moves done items from todo.txt to done.txt." - "command:run internal commands only" - "deduplicate:removes duplicate lines from todo.txt." - "del:deletes the item on line NUMBER in todo.txt." - "depri:remove prioritization from item" - "done:marks task(s) on line ITEM# as done in todo.txt" - "do:marks item on line NUMBER as done in todo.txt." - "help:display help" - "list:displays all todo items containing TERM(s), sorted by priority." - "listall:displays items including done ones containing TERM(s)" - "listaddons:lists all added and overridden actions in the actions directory." - "listcon:list all contexts" - "listfile:display all files in .todo directory" - "listpri:displays all items prioritized at PRIORITY." - "listproj:lists all the projects in todo.txt." - "move:move item between files" - "prepend:adds to the beginning of the item on line NUMBER text TEXT." - "pri:adds or replace in NUMBER the priority PRIORITY (upper case letter)." - "replace:replace in NUMBER the TEXT." - "remdup:remove exact duplicates from todo.txt." - "report:adds the number of open and done items to report.txt." - "showhelp:list the one-line usage of all built-in and add-on actions." - ) - _describe -t todo-commands 'todo.sh command' cmdlist - ;; - - (arguments) - case $words[NORMARG] in - (append|command|del|move|mv|prepend|pri|replace|rm) - if (( NORMARG == CURRENT - 1 )); then - nextstate=item - else - case $words[NORMARG] in - (pri) - nextstate=pri - ;; - (append|prepend) - nextstate=proj - ;; - (move|mv) - nextstate=file - ;; - (replace) - item=${words[CURRENT-1]##0##} - compadd -Q -- "${(qq)$(todo.sh -p list "^[ 0]*$item " | sed '/^--/,$d')##<-> (\([A-Z]\) |)}" - ;; - esac - fi - ;; - - (depri|do|dp|done) - nextstate=item - ;; - - (a|add|addm|list|ls|listall|lsa) - nextstate=proj - ;; - - (addto) - if (( NORMARG == CURRENT - 1 )); then - nextstate=file - else - nexstate=proj - fi - ;; - - (listfile|lf) - if (( NORMARG == CURRENT -1 )); then - nextstate=file - else - _message "Term to search file for" - fi - ;; - - (listpri|lsp) - nextstate=pri - ;; - - (*) - return 1 - ;; - esac - ;; -esac - -case $nextstate in - (file) - _path_files -W ~/.todo - ;; - - (item) - itemlist=(${${(M)${(f)"$(todo.sh -p list | sed '/^--/,$d')"}##<-> *}/(#b)(<->) (*)/${match[1]}:${match[2]}}) - _describe -t todo-items 'todo item' itemlist - ;; - - (pri) - if [[ $words[CURRENT] = (|[A-Z]) ]]; then - if [[ $words[CURRENT] = (|Z) ]]; then - pri=A - else - # cycle priority - pri=$words[CURRENT] - pri=${(#)$(( #pri + 1 ))} - fi - _wanted priority expl 'priority' compadd -U -S '' -- $pri - else - _wanted priority expl 'priority' compadd {A-Z} - fi - ;; - - (proj) - # This completes stuff beginning with + (projects) or @ (contexts); - # these are todo.sh conventions. - if [[ ! -prefix + && ! -prefix @ ]]; then - projmsg=$txtmsg - fi - # In case there are quotes, ignore anything up to whitespace before - # the + or @ (which may not even be there yet). - compset -P '*[[:space:]]' - _wanted search expl $projmsg \ - compadd $(todo.sh lsprj) $(todo.sh lsc) - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_toilet b/result/sw/share/zsh/5.9/functions/_toilet deleted file mode 100644 index a8867769..00000000 --- a/result/sw/share/zsh/5.9/functions/_toilet +++ /dev/null @@ -1,21 +0,0 @@ -#compdef toilet - -local fontdir -typeset -A opt_args - -fontdir=$(_call_program path toilet -I2 2>/dev/null) - -_arguments \ - '(-f --font)'{-f,--font}'[specify font]:font:_files -W ${~opt_args[-d]\:-$fontdir} -g \*\[ft\]lf\*\(-.\:r\)' \ - '(-d --directory)'{-d,--directory}'[specify font directory]:font directory:_files -/' \ - '(-t --termwidth -w --width)'{-w,--width}'[set output width]:width:' \ - '(-t --termwidth -w --width)'{-t,--termwidth}'[adapt to terminal width]' \ - '(-F --filter)'{-F,--filter}'[apply filter to text]:filter:(gay metal)' \ - '--gay[rainbow filter]' \ - '--metal[metal filter]' \ - '--irc[output IRC color codes]' \ - '--html[output HTML document]' \ - '--tga[output TGA document]' \ - '(-h --help)'{-h,--help}'[help]' \ - '(-I --infocode)'{-I,--infocode}'[print FIGlet-compatible infocode]:code:' \ - '(-v --version)'{-v,--version}'[version]' diff --git a/result/sw/share/zsh/5.9/functions/_toolchain-source b/result/sw/share/zsh/5.9/functions/_toolchain-source deleted file mode 100644 index 25dd83df..00000000 --- a/result/sw/share/zsh/5.9/functions/_toolchain-source +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tpkg-install tpkg-make tpkg-debarch tpkg-update tpkg-install-libc - -local expl - -(( CURRENT == 2 )) && -_wanted target expl 'target platform' \ - compadd alpha-linux arm-linux hppa-linux i{3..6}86-linux ia32-linux ia64-linux m68k-linux \ - mipsel-linux mips-linux ppc-linux powerpc-linux sparc-linux s390-linux - diff --git a/result/sw/share/zsh/5.9/functions/_top b/result/sw/share/zsh/5.9/functions/_top deleted file mode 100644 index 692df790..00000000 --- a/result/sw/share/zsh/5.9/functions/_top +++ /dev/null @@ -1,190 +0,0 @@ -#compdef top - -local curcontext="$curcontext" state state_descr line ret=1 -local -A opt_args -local -a specs fields order opts - -opts=( -s -w -C ) - -case $OSTYPE in - *linux*) - # based on procps-ng-3.3.15 - fields=( - '%CPU:CPU usage' '%MEM:memory usage (res)' 'CGROUPS:control groups' - 'CODE:code size' 'COMMAND:Command name/line' 'DATA:data + stack size' - 'ENVIRON:environment variables' 'Flags:task flags' 'GID:group id' - 'GROUP:group name' 'NI:nice value' 'P:last used CPU (SMP)' - 'PGRP:process group id' 'PID:process id' 'PPID:parent pid' 'PR:priority' - 'RES:resident memory size' 'RUID:real user id' 'RUSER:real uid' - 'S:process status' 'SHR:shared memory size' 'SID:session id' - 'SUID:saved uid' 'SUPGIDS:supplementary gids' - 'SUPGRPS:supplementary group names' 'SUSER:saved username' - 'SWAP:swapped sized' 'TGID:thread gid' 'TIME:CPU time' - 'TIME+:CPU time (hundredths)' 'TPGID:TTY gid' 'TTY:controlling TTY' - 'UID:user id' 'USED:memory in use' 'USER:user name' - 'VIRT:virtual memory size' 'WCHAN:sleeping in function' - 'nDRT:dirty pages count' 'nMaj:major page count' 'nMin:minor page count' - 'nTH:number of threads' 'nsIPC:IPC namespace' 'nsMNT:MNT namespace' - 'nsNET:NET namespace' 'nsPID:PID namespace' 'nsUSER:USER namespace' - 'nsUTS:UTS namespace' 'vMj:major page fault count delta' - 'vMn:minor page fault count delta' 'LXC:lxc container name' - 'OOMa:out of memory adjustment factor' 'OOMs:out of memory source' - 'Rsan:resident anonymous memory size' - 'RSfd:resident file-backed memory size' 'RSlk:resident locked memory size' - 'RSsh:resident shared memory size' 'CGNAME:control group name' - 'NU:last known NUMA node' - ) - order=( '+:descending (default)' '-:ascending' ) - local -a units=( 'k:KiB' 'm:MiB' 'g:GiB' 't:TiB' 'p:PiB' 'e:EiB' ) - specs=( - '(-)-'{h,v}'[show version and usage]' - '-b[batch mode]' - '-c[command line/program name toggle]' - '-d+[delay time interval]:interval' - '-E+[specify the memory scaling unit]: : _describe -V -t units unit units' - '-H[threads mode operation]' - '-i[idle process toggle]' - '-n+[number of iterations]:number of iterations' - '-o+[override sort field]:fieldname:->sortkey' - '-O[output field names]' - '(-u -U)*-p+[monitor pids]: :_sequence -s , _pids' - '-s[secure mode operation]' - '-S[cumulative time toggle]' - '(-U -p)-u+[effective user filter mode]: :_users' - '(-u -p)-U+[user filter mode]: :_users' - '-w+[output width override]::number' - '-1[single/separate cpu states toggle]' - );; - freebsd*|openbsd*) - fields=( cpu size res time pri pid ) - specs=( - '-b[batch mode]' - '-d+[show only specified number of displays then exit]:count:' - '-H[display individual threads]' - '-I[do not display idle processes]' - '-i[interactive mode]' - '-n[non-interactive mode (identical to batch mode)]' - '-p+[filter by the specified pid]: :_pids' - '-q[renice top to -20]' - '-S[show system processes]' - '-s+[specify delay interval]:seconds:' - '-u[do not translate uid to name]' - '1: :_guard "^-*" "number of processes to display"' - );| - freebsd*) - fields+=( threads total read write fault vcsw ivcsw jid swap ) - specs+=( - '-C[CPU display mode]' - '-a[display command names via argv]' - '-j[display the jail ID]' - '-t[do not display the top process]' - '-m+[specify statistic type]:type:(( cpu\:default io ))' - '-o+[sort process display by the specified field]:field:( $fields )' - '-P[per-cpu CPU usage statistics]' - '(1 -)-v[write version number and exit]' - '-w[display approximate swap usage]' - "-z[don't display system idle process]" - '-J+[show processes owned by the specified jail]:jail:_jails -0' - '-U+[show processes owned by the specified username]: :_users' - );; - openbsd*) - fields+=( command ) - order=( '-:reverse order' ) - specs+=( - '-1[combine CPU statistic into one line]' - '-t[show the routing table instead of the wait channel]' - '-C[show command arguments as well as process name]' - '-g+[filter processes by the specified string]:string' - '-o+[sort process display by the specified field]:field:->sortkey' - '-T+[filter processes by the specified routing table]:routing table:_routing_tables' - '-U+[filter processes by the specified user]: :_users -M "L\:|-="' - );; - darwin*) - local -a modes - opts=( -C ) # no option stacking - modes=( - 'a:count events cumulatively' - 'd:count events relative to the previous sample' - 'e:count events using absolute counters' - 'n:non-event mode (default)' - ) - fields=( - 'pid:process id' - 'command:command name' - 'cpu:CPU usage' - 'cpu_me:CPU time charged to me by other processes' - 'cpu_others:CPU time charged to other processes by me' - 'csw:number of context switches' - 'time:execution time' - {threads,th}':number of threads' - {ports,prt}':number of Mach ports' - {mregion,mreg,reg}':number of memory regions' - 'mem:internal memory size' - 'rprvt:resident private address space size' - 'purg:purgeable memory size' - 'vsize:total memory size' - 'vprvt:private address space size' - 'kprvt:private kernel memory size' - 'kshrd:shared kernel memory size' - 'pgrp:process group id' - 'ppid:parent process id' - {state,pstate}':process state' - 'uid:user id' - {wq,'#wq',workqueue}':workqueue total/running' - {faults,fault}':number of page faults' - {cow,cow_faults}':copy-on-write faults' - {user,username}':username' - 'msgsent:total number of Mach messages sent' - 'msgrecv:total number of Mach messages received' - 'sysbsd:total BSD syscalls' - 'sysmach:total Mach syscalls' - 'pageins:total pageins' - 'boosts:number of boosts held by the process' - 'instrs:number of instructions retired by the process' - 'cycles:number of cycles spent in the process' - ) - order=( '-:descending (default)' '+:ascending' ) - specs=( - '-a[count events cumulatively]' - '-c[set event counting mode]:mode:(( $modes ))' - '-d[count events relative to the previous sample]' - '-e[count events using absolute counters]' - '-F[do not calculate statistics on shared libraries]' - '-f[calculate statistics on shared libraries]' - '(-)-h[print usage information and exit]' - '-i+[specify interval between samples for -f option]:interval' - '-l+[logging mode. output specified number of samples periodically]:number of samples' - '-ncols[output specified number of columns in logging mode]:number of columns' - '-n+[only display up to the specified number of processes]:number of processes:' - '-O+[specify the secondary sort key]:key:->sortkey' - '-o+[specify the primary sort key]:key:->sortkey' - '-R[do not traverse and report memory object map for each process]' - '-r[traverse and report memory object map for each process]' - '-S[display global statistics for swap and purgeable memory]' - '-s[set the delay between update]:number of seconds' - '-stats[only display the specified fields]:list of fields:->fieldlist' - '*-pid[only display the specified process]:pid:_pids' - {-user,-U+}'[only display processes owned by the specified user]:user:_users' - '-u[same as -o cpu -O time]' - );; -esac - -if (( $#specs == 0 )); then - _default - return -fi - -_arguments $opts : "$specs[@]" && ret=0 - -case $state in - (sortkey) - compset -P '(+|-)' && order=() - _alternative 'sort-orders:sort order:(( $order ))' \ - 'sort-keys:sort key:(( $fields ))' && ret=0 - ;; - (fieldlist) - _sequence -s , _describe -t fields 'field' fields && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_topgit b/result/sw/share/zsh/5.9/functions/_topgit deleted file mode 100644 index f447456d..00000000 --- a/result/sw/share/zsh/5.9/functions/_topgit +++ /dev/null @@ -1,8 +0,0 @@ -#compdef tg -local expl - -if (( CURRENT == 2 )); then - _wanted subcmd expl 'topgit command' compadd create delete export import info patch remote summary update -else - _files -fi diff --git a/result/sw/share/zsh/5.9/functions/_totd b/result/sw/share/zsh/5.9/functions/_totd deleted file mode 100644 index 4d55d29b..00000000 --- a/result/sw/share/zsh/5.9/functions/_totd +++ /dev/null @@ -1,13 +0,0 @@ -#compdef totdconfig - -_arguments \ - - set1 \ - '-a[add totd specific options]' \ - '-D[add totd specific config into dhclient-enter-hooks]' \ - '-d:name server:_hosts' \ - '-l[configure resolv.conf]' \ - - set2 \ - '-r:config to remove:(dhcp totd resolv all)' \ - - set3 \ - '-h[help]' - diff --git a/result/sw/share/zsh/5.9/functions/_touch b/result/sw/share/zsh/5.9/functions/_touch deleted file mode 100644 index 9b914475..00000000 --- a/result/sw/share/zsh/5.9/functions/_touch +++ /dev/null @@ -1,45 +0,0 @@ -#compdef touch gtouch - -local args variant -_pick_variant -r variant gnu=GNU $OSTYPE --version - -args=( - '-a[change access time (atime)]' - '-m[change modification time (mtime)]' - '(-r -d --date --reference 1)-t+[use specified time]:time ([[CC]YY]MMDDhhmm[.SS])' -) -case $variant in - gnu) - args+=( - '(-c --no-create)'{-c,--no-create}"[don't create file if it doesn't exist]" - '(-h --no-dereference)'{-h,--no-dereference}'[act on symbolic links themselves]' - '(-t -d --date -r --reference)'{-r+,--reference=}'[use corresponding times from specified reference file]:file:_files' - '(-t -d --date -r --reference)'{-d+,--date=}'[use specified date/time]:date/time' - '*--time=[change specified time]:time:(atime access use mtime modify)' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - ;; - darwin*|dragonfly*|freebsd*) - args+=( - '(-c 1)-A+[adjust time stamps by relative value]:time delta ([[-][hh]mm]SS)' - ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*) - args+=( '-h[act on symbolic links themselves]' ) - ;| - dragonfly*|freebsd*|openbsd*|solaris*) - args+=( '(-r -t 1)-d+[use specified date/time]:date/time' ) - ;| - darwin*|dragonfly*|freebsd*|netbsd*|solaris*) - args+=( '1:: :_guard "[0-9]#" "timespec (MMDDhhmm[YY])"' ) - ;| - *) # not GNU - args=( -A "-*" $args - "(-A)-c[don't create file if it doesn't exist]" - '(-t -d 1)-r+[use corresponding times from specified reference file]:file:_files' - ) - ;; -esac - -_arguments -s -S $args '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_tpb b/result/sw/share/zsh/5.9/functions/_tpb deleted file mode 100644 index 2bdee094..00000000 --- a/result/sw/share/zsh/5.9/functions/_tpb +++ /dev/null @@ -1,20 +0,0 @@ -#compdef tpb - -_arguments \ - '(-h --help)'{-h,--help}'[help]' \ - '(-d --daemon)'{-d,--daemon}'[start up as daemon]' \ - '(-c --config)'{-c,--config=}':config file:_files' \ - '(-A --apm)'{-A,--apm=}':state:(on off)' \ - '(-P --powermgt)'{-P,--powermgt=}':state:(on off)' \ - '(-x --xevents)'{-x,--xevents=}':state:(on off)' \ - '(-m --mixer)'{-m,--mixer=}':state:(on off)' \ - '(-o --osd)'{-o,--osd=}':state:(on off)' \ - '(-p --poll)'{-p,--poll=}':delay (microseconds)' \ - '(-t --thinkpad)'{-t,--thinkpad=}':command to execute:_command_names' \ - '(-H --home)'{-H,--home=}':command to execute:_command_names' \ - '(-S --search)'{-S,--search=}':command to execute:_command_names' \ - '(-M --mail)'{-M,--mail=}':command to execute:_command_names' \ - '(-W --wireless)'{-W,--wireless=}':command to execute:_command_names' \ - '(-C --callback)'{-C,--callback=}':command to execute:_command_names' \ - '(-v --verbose)'{-v,--verbose=}'[print information about pressed keys]' - diff --git a/result/sw/share/zsh/5.9/functions/_tput b/result/sw/share/zsh/5.9/functions/_tput deleted file mode 100644 index abba3e8c..00000000 --- a/result/sw/share/zsh/5.9/functions/_tput +++ /dev/null @@ -1,18 +0,0 @@ -#compdef tput -local -a args - -case $OSTYPE in - *linux*) - args=( - - set1 - '-S[allows more than one capability per invocation of tput]' - - set2 - '-V[reports the version of ncurses used for tput]' - ) -esac - -_arguments : \ - $args - set3 \ - '(-S -V)-T+[terminal type]:terminal type:_terminals' \ - '1:terminal capability:( init reset longname ${(k)terminfo} )' \ - '*:capability parameters:{ [[ $words[1] != (init|reset|longname) ]] && _message parameter }' diff --git a/result/sw/share/zsh/5.9/functions/_tr b/result/sw/share/zsh/5.9/functions/_tr deleted file mode 100644 index 1cfe1200..00000000 --- a/result/sw/share/zsh/5.9/functions/_tr +++ /dev/null @@ -1,53 +0,0 @@ -#compdef tr gtr - -local curcontext="$curcontext" state line expl ret=1 -local args variant k -local -A descr -descr=( - -c '[complement characters specified by first string]' - -d '[delete specified characters from input]' - -s '[squeeze repeated instances of character to a single instance]' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version -case $variant in - gnu) - args=( - '(-c -C --complement)'{-c,-C,--complement}"${descr[-c]}" - '(-d --delete 2)'{-d,--delete}"${descr[-d]}" - '(-s --squeeze-repeats)'{-s,--squeeze-repeats}"${descr[-s]}" - '(- 1 2)--help[display help information]' - '(- 1 2)--version[display version information]' - ) - ;; - darwin*|dragonfly*|*bsd*) - args+=( "(-c)-C$descr[-c]" ) - ;| - darwin*|dragonfly*|freebsd*) - args+=( '-u[guarantee that output is unbuffered]' ) - ;| - *) - for k in c d s; do - args+=( -$k$descr[-$k] ) - done - ;; -esac - -_arguments -C -s $args \ - '1:character set:->chsets' \ - '2:character set:->chsets' && ret=0 - -if [[ -n $state ]]; then - if compset -P '*\[:'; then - _wanted characters expl 'character class' \ - compadd -S ":${${QIPREFIX:+]}:-\]}$compstate[quote] " \ - alnum alpha blank cntrl digit graph lower print punct space upper \ - xdigit && return - elif compset -P '*\\'; then - _describe -t characters character \ - '(\\\\:backslash a:alert b:backspace f:form\ feed n:new\ line r:return t:tab v:vertical\ tab)' -S '' && return - fi - _message -e characters 'character set' -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tracepath b/result/sw/share/zsh/5.9/functions/_tracepath deleted file mode 100644 index f0f777d9..00000000 --- a/result/sw/share/zsh/5.9/functions/_tracepath +++ /dev/null @@ -1,9 +0,0 @@ -#compdef tracepath tracepath6 - -_arguments -s -S \ - '-n[print IP addresses numerically]' \ - '-b[print both host names and IP addresses]' \ - '-l+[set the initial packet length]:length (bytes)' \ - '-m+[set maximum hops]:maximum [30]' \ - '-p+[set initial destination port to use]:port:_ports' \ - ':destination:_hosts' diff --git a/result/sw/share/zsh/5.9/functions/_transmission b/result/sw/share/zsh/5.9/functions/_transmission deleted file mode 100644 index a640f3dd..00000000 --- a/result/sw/share/zsh/5.9/functions/_transmission +++ /dev/null @@ -1,497 +0,0 @@ -#compdef transmission-remote - -# arrays of options - -# `general_options`: *options* which can be used for any action -local exclusive_auth_options='(-n --auth -ne --authenv -N --netrc)' -local general_options=( - {-d,--debug}'[enable debugging mode]' - $exclusive_auth_options{-n+,--auth=}'[set the username and password for authentication]:username\:password: ' - $exclusive_auth_options{-ne,--authenv}'[set the authentication information from the TR_AUTH environment variable]' - $exclusive_auth_options{-N+,--netrc=}'[set the authentication information from a netrc file]:file:_files' - '--find[tell Transmission where to look for the current torrents'"'"' data]' -) -# `general_actions`: *actions* that can be specified when a specific set of torrents is either specified or either not -local general_actions=( - '(- :)'{-gsr,--global-seedratio}'[all torrents, unless overridden by a per-torrent setting, should seed until a specific ratio]:ratio (kB/s)' - '(- :)'{-GSR,--no-global-seedratio}'[all torrents, unless overridden by a per-torrent setting, should seed regardless of ratio]' - '(- :)'{-pr,--peers}'[set the maximum number of peers]:number: ' - '(- :)'{-d+,--downlimit=}'[limit the maximum download speed to limit kB/s]:limit (kB/s)' - '(- :)'{-D,--no-downlimit}'[disable download speed limits]' -) -# `global_only_actions`: *actions* that can be specified only when no specific torrent is specified -local global_only_actions=( - '(- :)'{-as,--alt-speed}'[use the alternate Limits]' - '(- :)'{-AS,--not-alt-speed}'[don'"'"'t use the alternate Limits]' - '(- :)'{-asd,--alt-speed-downlimit}'[limit the alternate download speed to limit kilobytes per second]' - '(- :)'{-asu,--alt-speed-uplimit}'[limit the alternate upload speed to limit kilobytes per second]' - '(- :)'{-asc,--alt-speed-scheduler}'[use the scheduled on/off times]' - '(- :)'{-asc,--not-alt-speed-scheduler}'[don'"'"'t use the scheduled on/off times]' - '(- :)--alt-speed-time-begin[time to start using the alt speed limits]:time (HHMM)' - '(- :)--alt-speed-time-end[time to stop using the alt speed limits]:time (HHMM)' - '(- :)--alt-speed-days[set the number of days on which to enable the speed scheduler]:days:_transmission-remote_days' - '(- :)--torrent-done-script[specify a file to run each time a torrent finishes]:script:_files' - '(- :)--no-torrent-done-script[don'"'"'t run any script when a torrent finishes]' - '(- :)'{-e+,--cache=}'[set the session'"'"'s maximum memory cache size in MiB]:size (MiB):' - '(- :)'{-er,--encryption-required}'[encrypt all peer connections]' - '(- :)'{-ep,--encryption-preferred}'[prefer encrypted peer connections]' - '(- :)'{-et,--encryption-tolerated}'[prefer unencrypted peer connections]' - '(- :)'{-h,--help}'[print command-line option descriptions]' - '(- :)--exit[tell the Transmission to initiate a shutdown]' - '(- :)'{-V,--version}'[show version number and exit]' - {-t,--torrent=}'[set the current torrent(s) for use by subsequent options]:torrent:_transmission-remote_torrent' - '(- :)'{-si,--session-info}'[list session information from the server]' - '(- :)'{-st,--session-stats}'[list statistical information from the server]' - {-a+,--add=}'[add torrents to transmission]:filename\|url:_transmission-remote_add' - '(- :)'{-l,--list}'[list all torrents]' - '(- :)'{-p,--port}'[set the port for use when listening for incoming peer connections]:port:' - '(- :)--start-paused[start added torrents paused]' - '(- :)--no-start-paused[start added torrents unpaused]' - '(- :)'{-m,--portmap}'[enable portmapping via NAT-PMP or UPnP]' - '(- :)'{-M,--no-portmap}'[disable portmapping]' - '(- :)'{-o,--dht}'[enable distributed hash table]' - '(- :)'{-O,--no-dht}'[disable distributed hash table]' - '(- :)'{-u,--uplimit}'[limit the maximum upload speed to limit kB/s]:limit (kB/s)' - '(- :)'{-U,--no-uplimit}'[disable upload speed limits]' - '(- :)--utp[enable uTP for peer connections]' - '(- :)--no-utp[disable uTP for peer connections]' - '(- :)'{-x,--pex}'[enable peer exchange (PEX)]' - '(- :)'{-X,--no-pex}'[disable peer exchange (PEX)]' - '(- :)'{-y,--lss}'[enable local peer discovery (LPD)]' - '(- :)'{-Y,--no-lss}'[disable local peer discovery (LPD)]' - '(- :)'{-pi,--peer-info}"[list the current torrent's connected peers]" - "(- :)--blocklist-update[update blocklist from URL specified in remote client's settings with blocklist-url key]" - '*:host\:port:_hosts' -) -# `torrent_add_options`: *options* that can be used only when *adding* a torrent -local torrent_add_options=( - '(-C --no-incomplete-dir)'{-c+,--incomplete-dir=}'[when adding new torrents, store their contents in directory until the torrent is done]:directory:_directories' - '(-c --incomplete-dir)'{-C,--no-incomplete-dir}'[don'"'"'t store incomplete torrents in a different directory]' - {-w+,--download-dir=}"[when used in conjunction with --add, set the new torrent's download directory]:directory:_directories" -) -# `torrent_action_only_actions`: *actions* that can be specified only when explicitly selecting a specific set of torrents -local torrent_action_only_actions=( - {-f,--files}'[get a file list for the current torrent(s)]' - {-g,--get}'[mark file(s) for download]:torrent_file:_transmission-remote_torrent_get' - {-G,--no-get}'[mark file(s) for not downloading]:torrent_file:_transmission-remote_torrent_no_get' - {-i,--info}'[show details of the current torrent(s)]' - {-if,--info-files}'[list the specified torrent'"'"'s files]' - {-ip,--info-peers}'[list the specified torrent'"'"'s peers]' - {-ic,--info-pieces}'[list the specified torrent'"'"'s pieces]' - {-it,--info-trackers}'[list the specified torrent'"'"'s trackers]' - '--trash-torrent[delete torrents after adding]' - '--no-trash-torrent[do not delete torrents after adding]' - {-td+,--tracker-add=}'[add a tracker to a torrent]:tracker:_urls' - {-tr+,--tracker-remove=}'[remove a tracker from a torrent]:tracker_id:_transmission-remote_torrent_tracker_id' - {-s,--start}'[start the current torrent(s)]' - {-S,--stop}'[stop the current torrent(s) from downloading or seeding]' - {-r,--remove}'[remove the current torrent(s) without deleting the downloaded data]' - {-rad,--remove-and-delete}'[remove the current torrent(s) and delete the downloaded data]' - '--reannounce[reannounce the current torrent(s)]' - "--move[move the current torrents' data from their current locations to the specified directory]:directory:_directories" - {-sr+,--seedratio=}'[let the current torrent(s) seed until a specific ratio]:ratio' - {-SR,--no-seedratio}'[let the current torrent(s) use the global seedratio settings]' - {-hl,--honor-session}'[make the current torrent(s) honor the session limits]' - {-HL,--no-honor-session}'[make the current torrent(s) not honor the session limits]' - {-Bh,--bandwidth-high}'[give this torrent first chance at available bandwidth]' - {-Bn,--bandwidth-normal}'[give this torrent the bandwidth left over by high priority torrents]' - {-Bl,--bandwidth-low}'[give this torrent the bandwidth left over by high and normal priority torrents]' - {-ph,--priority-high}'[try to download the specified file(s) first]:torrent_file:_transmission-remote_torrent_priority_not_high' - {-pn,--priority-normal}'[try to download the specified files normally]:torrent_file:_transmission-remote_torrent_priority_not_normal' - {-pl,--priority-low}'[try to download the specified files last]:torrent_file:_transmission-remote_torrent_priority_not_low' - {-v,--verify}'[verify the current torrent(s)]' -) - -# helper functions - -# complete argument specified after global only action: `--alt-speed-days` -# completes days in a list such as "2,4-6". -(( $+functions[_transmission-remote_days] )) || -_transmission-remote_days(){ - _values -s , -S '-' days {1..7} -} -# complete argument specified after global only action: `--add` -(( $+functions[_transmission-remote_add] )) || -_transmission-remote_add(){ -_alternative \ - 'args:torrent:_files -g ".torrent(-.)"' \ - 'args:url:_urls' -} -# complete torrents -(( $+functions[_transmission-remote_torrent] )) || -_transmission-remote_torrent(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local torrents_list_lines=(${(f)"$(transmission-remote "${authentication_args}" --list 2> /dev/null)"}) - local -a parts - local -a torrents_ids torrents_names - # While iterating through every line in the output above, we don't need the - # first and last line which are just a header and summary - for (( t = 2; t < ${#torrents_list_lines[@]} - 1; ++t )); do - parts=(${(@s. .)torrents_list_lines[$t]}) - torrents_ids+=("${parts[1]}") - torrents_names+=("${parts[10,${#parts[@]}]}") - done - _describe -t torrents torrent torrents_names torrents_ids -} -# complete action specified after *--torrent*: `--get` -(( $+functions[_transmission-remote_torrent_get] )) || -_transmission-remote_torrent_get(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[4]} == "No" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked for not downloading in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--no-get` -(( $+functions[_transmission-remote_torrent_no_get] )) || -_transmission-remote_torrent_no_get(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[4]} == "Yes" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked for downloading in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-low` or `--priority-normal` -(( $+functions[_transmission-remote_torrent_priority_not_high] )) || -_transmission-remote_torrent_priority_not_high(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "High" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-low` or `--priority-high` -(( $+functions[_transmission-remote_torrent_priority_not_normal] )) || -_transmission-remote_torrent_priority_not_normal(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "Normal" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--priority-normal` or `--priority-high` -(( $+functions[_transmission-remote_torrent_priority_not_low] )) || -_transmission-remote_torrent_priority_not_low(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local files_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent "${selected_torrent}" --info-files 2> /dev/null)"}) - local -a parts - local -a files - local torrent_name - for (( f = 3; f < ${#files_info_lines[@]}; ++f )); do - parts=(${(@s. .)files_info_lines[$f]}) - torrent_name="${parts[7,${#parts[@]}]%/*}" - if [[ ${parts[3]} != "Low" ]]; then - files+=("${parts[1]%:}""[""${parts[7,${#parts[@]}]#*/}"]) - fi - done - if [[ -z "${files}" ]]; then - _message -r "No files are marked with non-high priority in torrent ${torrent_name}" - return - fi - _values -s , -S '-' "files from ${torrent_name}" "${files[@]}" -} -# complete action specified after *--torrent*: `--tracker-remove` -(( $+functions[_transmission-remote_torrent_tracker_id] )) || -_transmission-remote_torrent_tracker_id(){ - local authentication_args - for k in '--auth' '--netrc'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k"="${authentication_args}" - break - fi - done - if [[ -z "${authentication_args}" ]]; then - for k in '-n' '-N'; do - authentication_args="${opt_args[${k}]}" - if ! [[ -z "${authentication_args}" ]]; then - authentication_args="$k""${authentication_args}" - break - fi - done - fi - if [[ -z "${authentication_args}" ]]; then - for k in '--authenv' '-ne' '--netrc' '-N'; do - if [[ ${+opt_args[$k]} == "1" ]]; then - authentication_args="$k" - break - fi - done - fi - local selected_torrent - for k in '-t' '--torrent'; do - if [[ ! -z ${opt_args[$k]} ]]; then - selected_torrent="${opt_args[$k]}" - fi - done - if [[ -z "${selected_torrent}" ]]; then - _message -r "no torrent was selected on the command line enabling completion of files" - return - fi - local trackers_info_lines=(${(f)"$(transmission-remote "${authentication_args}" --torrent $selected_torrent --info-trackers 2> /dev/null)"}) - local -a parts - local -a trackers_urls trackers_ids - for (( t = 1; t < ${#trackers_info_lines[@]}; ++t )); do - parts=(${(@s. .)trackers_info_lines[$t]}) - if [[ ( ${parts[1]} == "Tracker" && ${parts[2]} =~ "[0-9]+:" ) ]]; then - trackers_ids+=("${parts[2]%:}") - # descriptions passed to _describe need to have their ':' quoted. - trackers_urls+=("${parts[3]//:/\\:}") - fi - done - if [[ -z "${trackers_ids}" ]]; then - _message -r "Specified torrent has no trackers" - return - fi - _describe -t trackers-remove "tracker" trackers_urls trackers_ids -} - -# The real thing goes here -_arguments \ - "${general_options[@]}" \ - "${global_only_actions[@]}" \ - "${general_actions[@]}" \ - "${torrent_add_options[@]}" \ - "${torrent_action_only_actions[@]}" diff --git a/result/sw/share/zsh/5.9/functions/_trap b/result/sw/share/zsh/5.9/functions/_trap deleted file mode 100644 index 0fc9ec2e..00000000 --- a/result/sw/share/zsh/5.9/functions/_trap +++ /dev/null @@ -1,10 +0,0 @@ -#compdef trap - -local expl - -if [[ CURRENT -eq 2 ]]; then - compset -q - _normal -else - _signals -a -fi diff --git a/result/sw/share/zsh/5.9/functions/_trash b/result/sw/share/zsh/5.9/functions/_trash deleted file mode 100644 index 65871643..00000000 --- a/result/sw/share/zsh/5.9/functions/_trash +++ /dev/null @@ -1,22 +0,0 @@ -#compdef trash - -# We only provide completion for Ali Rantakari's trash utility. There are/were a -# few others floating around with that name, but this is the one available as -# `trash` in Homebrew and MacPorts -_pick_variant ali='(Rantakari|hasseg)' other --version && { - # The hidden options here are options to rm that trash silently (and - # undocumentedly) ignores. Some options are not made mutually exclusive where - # they technically could be, for compatibility with aliases, etc. - _arguments -s -S -A '-*' : \ - '!-'{d,f,i,r,P,R,W} \ - '(: * -F -l -v)-e[empty trash]' \ - '-F[use Finder instead of system API]' \ - '(: * -e -F -s -y)-l[list items in trash]' \ - '(: * -F -l -v)-s[securely empty trash]' \ - '-v[increase output verbosity]' \ - '-y[skip confirmation prompts (with -e or -s)]' \ - '*: :_files' - return -} - -_default diff --git a/result/sw/share/zsh/5.9/functions/_tree b/result/sw/share/zsh/5.9/functions/_tree deleted file mode 100644 index 59524912..00000000 --- a/result/sw/share/zsh/5.9/functions/_tree +++ /dev/null @@ -1,55 +0,0 @@ -#compdef tree - -_arguments -s -S \ - '-a[show all files, including hidden ones]' \ - '-d[list directories only]' \ - '-l[follow symlinks that point to directories]' \ - '-f[print full path prefix for each file]' \ - '-x[stay on current filesystem]' \ - '-L[specify max tree depth to descend]:level' \ - '-R[recursively cross down the tree and execute tree again]' \ - '-P[only list files matching a pattern]:pattern:_files' \ - "-I[don't list files matching a pattern]:pattern:_files" \ - '--ignore-case[ignore case when pattern matching]' \ - '--matchdirs[include directory names in -P pattern matching]' \ - '--noreport[omit file and directory report at end]' \ - '--charset=[character set for HTML and for line drawing]:charset' \ - "--filelimit=[don't descend directories with more than specified number of entries]:entries" \ - '--timefmt=[use specified time format]:format:_date_formats' \ - '-o[output to specified file]:file:_files' \ - '--du[print directory sizes]' \ - '--prune[exclude empty directories from the output]' \ - '(-N)-q[print non-printable characters as question mark, not caret]' \ - '(-q)-N[print non-printable characters as is, not as caret]' \ - '-Q[quote filenames with double quotes]' \ - '-p[print file type and permissions, like ls -l]' \ - '-u[print file owner]' \ - '-g[print file group]' \ - '(-h --si)-s[print size of each file in bytes]' \ - '(-s --si)-h[print human readable file size]' \ - '(-s -h)--si[print human readable file size in SI units (powers of 1000)]' \ - '-D[print last modification date or change time (with -c)]' \ - '-F[append descriptive character to end, like ls -F]' \ - '--inodes[print inode numbers]' \ - '--device[print device number to which file or directory belongs]' \ - '(--sort -t -c -U)-v[sort the output as version]' \ - '(-v --sort -c -U)-t[sort output by modification time]' \ - '(-v --sort -t -U)-c[sort output by change time]' \ - '(-v --sort -t -c -r --dirsfirst)-U[leave files unsorted]' \ - '(-U)-r[sort in reversed order]' \ - '(-v -t -c -U)--sort[sort in specified order]:order:(name version size mtime ctime)' \ - '(-U)--dirsfirst[list directories before files]' \ - "-i[don't print indentation lines]" \ - '(-S -X)-A[use ANSI line graphics hack when printing indentation lines]' \ - '(-A -X)-S[use console (CP437) line graphics]' \ - '(-C)-n[turn colorization off always, over-ridden by the -C option]' \ - '(-n)-C[turn colorization on always]' \ - '(-A -S -n -C -J -H -T --nolinks)-X[XML output]' \ - '(-A -S -n -C -X -H -T --nolinks)-J[JSON output]' \ - '(-n -C -X)-H[turn on HTML output]:base HREF' \ - '(-n -C -X)-T[title for HTML output]:title' \ - '(-n -C -X)--nolinks[turn off hyperlinks in HTML output]' \ - '--fromfile[read paths from specified files]' \ - '(-)--version[version of tree]' \ - '(-)--help[verbose usage listing]' \ - '*:directory:_files -/' diff --git a/result/sw/share/zsh/5.9/functions/_truncate b/result/sw/share/zsh/5.9/functions/_truncate deleted file mode 100644 index 117be970..00000000 --- a/result/sw/share/zsh/5.9/functions/_truncate +++ /dev/null @@ -1,69 +0,0 @@ -#compdef truncate - -local curcontext=$curcontext variant rs ret=1 -local -a state state_descr line specs optA -typeset -A opt_args - -_pick_variant -r variant gnu=GNU $OSTYPE --version -[[ $variant != gnu ]] && rs='-r -s' # -r/-s mutually exclusive - -# common specs -specs=( - '(hv -c --no-create)'{-c,--no-create}'[do not create any files]' - "(hv $rs -r --reference)"{-r+,--reference=}'[base size on the specified file]:reference file:_files' - "(hv $rs -s --size)"{-s+,--size=}'[set or adjust the file size by specified bytes]:size:->size' - '(hv)*: :_files' -) - -case $variant in - gnu) # GNU coreutils 8.32 - specs+=( - '(hv -o --io-blocks)'{-o,--io-blocks}'[treat the specified size as number of IO blocks instead of bytes]' - + 'hv' - '(- *)--help[display help and exit]' - '(- *)--version[output version information and exit]' - ) - ;; - *) # FreeBSD/DragonFly - specs=( ${specs:#(|*\))--*} ) # remove long options - optA=( -A '-*' ) - ;; -esac - -_arguments -C -s -S : $specs && ret=0 - -case $state in - size) - local unit=bytes - (( ${#opt_args[(I)(-o|--io-blocks)]} )) && unit=blocks - local -a suffix=( K:1024 M G T ) - local -a prefix=( '+:extend by' '-:reduce by' ) - local prefix_char='[-+]' - case $variant in - gnu|freebsd*) - prefix+=( '/:round down to multiple of' '%:round up to multiple of' ) - ;| - gnu) - suffix=( K:1024 KB:1000 {M,G,T,P,E,Z,Y}{,B} ) - prefix+=( '<:at most' '>:at least' ) - prefix_char='([-+/%]|\\[<>])' - ;; - freebsd*) - prefix_char='[-+/%]' - ;; - esac - local -a numbers=( _numbers -u $unit size $suffix ) - - if compset -P "$prefix_char"; then - $numbers && ret=0 - elif (( ${#opt_args[(I)(-r|--reference)]} )); then - # prefix is required if the reference file is given - _describe -t 'prefixes' 'prefix' prefix && ret=0 - else - _alternative "prefixes:prefix:((${(@q)prefix}))" \ - "sizes: :$numbers" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_truss b/result/sw/share/zsh/5.9/functions/_truss deleted file mode 100644 index b798f03c..00000000 --- a/result/sw/share/zsh/5.9/functions/_truss +++ /dev/null @@ -1,82 +0,0 @@ -#compdef truss - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args -local args faults - -args=( - '(-c)-a[show argument strings with exec system call]' - '(-a -d -D -e -E -l -r -v -w -x)-c[count traced system calls, signals etc]' - '(-c)-d[include timestamps in output]' - '(-c)-D[include delta timestamps in output]' - '(-c)-e[show environment strings with exec system call]' - '-f[follow child processes created after a fork]' - '-o+[specify trace output file]:output file:_files' -) - -case $OSTYPE in - solaris2.<11->) - args+=( '(-c)-A[include absolute timestamps in output]' ) - ;| - aix*|solaris*) - args+=( - '(-c)-E[include delta timestamps of time spent within the system call]' - "-i[don't display interruptible sleeping system calls]" - '(-c)-l[include LWP id in each line of output]' - '-m+[specify machine faults to trace]: :->faults' - '(-c)-r+[show full contents of the I/O buffer for each read()]:file descriptor' - '-s+[specify signals to trace]:signal:_sequence _signals -M "B\:!="' - '-S+[specify signals at which process should be stopped and abandoned]:signal:_sequence _signals -M "B\:!="' - '-t+[specify system calls to trace or exclude]:system call:_sequence _sys_calls -a -M "B\:!="' - '-T+[specify system calls at which process should be stopped and abandoned]:system call:_sequence _sys_calls -a -M "B\:!="' - '*-u+[user-level function call tracing]: :->userfuncs' - '-U+[specify user-level functions at which process should be stopped and abandoned]: :->userfuncs' - '(-c)-v+[enable verbose output of structures for specified system calls]:system call:_sequence _sys_calls -a -M "B\:!="' - '(-c)-w+[show full contents of the I/O buffer for each write()]:file descriptor' - '(-c)-x+[enable raw output of structures for specified system calls]:system call:_sequence _sys_calls -a' - '-p[trace specified existing processes]' - ) - ;; - dragonfly*|freebsd*) - args+=( - '-s+[specify the maximum string size to print]:maximum string size [32]' - "(-c)-S[don't report signals received by the process]" - '(*)-p[trace specified existing processes]:pid:_pids' - ) - ;| - freebsd<10->.*) - args+=( '-H[include thread ID in the output of each event]' ) - ;; -esac - -_arguments -C -s : $args \ - '*::arguments:->args' && ret=0 - -case $state in - faults) - faults=( all ${${${(M)${(f)"$(</usr/include/sys/fault.h)"}:#?define[[:blank:]]##FLT*}#*[[:blank:]]FLT}%%[[:blank:]]*} ) 2>/dev/null - _sequence _wanted faults expl fault compadd - -M 'B:!=' -M 'B:[Ff][Ll][Tt]=' -M 'm:{a-z}={A-Z}' -a faults && ret=0 - ;; - args) - if [[ $OSTYPE = solaris* ]] && (( $+opt_args[-p] )); then - _pids && ret=0 - elif (( CURRENT == 1 )); then - _command_names -e && ret=0 - else - _normal && ret=0 - fi - ;; - userfuncs) - if [[ -prefix *: ]]; then - _message -e functions function - else - compset -P '*,' - compset -S '[,:]*' - _description -x libs expl lib - compadd "$expl[@]" -S '' lib && ret=0 - compadd "$expl[@]" -qS, a.out && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_tty b/result/sw/share/zsh/5.9/functions/_tty deleted file mode 100644 index 83897509..00000000 --- a/result/sw/share/zsh/5.9/functions/_tty +++ /dev/null @@ -1,18 +0,0 @@ -#compdef tty gtty - -local -a args - -if _pick_variant gnu='Free Soft' unix --version; then - args=( - '(-)--help[display help information]' - '(-)--version[display version information]' - '(-s --quiet --silent)'{-s,--quiet,--silent}'[suppress normal output]' - ) -else - args=( '-s[suppress normal output]' ) - [[ $OSTYPE == solaris* ]] && args+=( - "-l[display terminal's synchronous line number]" - ) -fi - -_arguments -s -S : $args diff --git a/result/sw/share/zsh/5.9/functions/_ttyctl b/result/sw/share/zsh/5.9/functions/_ttyctl deleted file mode 100644 index 45527b07..00000000 --- a/result/sw/share/zsh/5.9/functions/_ttyctl +++ /dev/null @@ -1,4 +0,0 @@ -#compdef ttyctl - -_arguments '(-u)-f[freeze terminal settings]' \ - '(-f)-u[unfreeze terminal settings]' diff --git a/result/sw/share/zsh/5.9/functions/_ttys b/result/sw/share/zsh/5.9/functions/_ttys deleted file mode 100644 index 3c40466c..00000000 --- a/result/sw/share/zsh/5.9/functions/_ttys +++ /dev/null @@ -1,25 +0,0 @@ -#autoload - -# Options: -# -# -d strip /dev/ prefix from matches -# -D matches allowed with or without /dev/ prefix -# -o only complete those ttys to which processes are attached - -local -a ttys expl pre -local stripdev optdev open - -zparseopts -D -K -E d=stripdev D=optdev o=open - -if [[ -n $open ]]; then - ttys=( ${(u)${${(f)"$(_call_program open-ttys ps -Ao tty=)"}:#\?*}%% *} ) - _description open-ttys expl 'open tty' -else - ttys=( /dev/tty?*(N) /dev/pts/^ptmx(N) ) - ttys=( ${ttys#/dev/} ) - _description ttys expl 'tty' -fi -[[ -z $stripdev ]] && pre=( -p /dev/ ) - -[[ -n $optdev ]] && compadd "$@" "$expl[@]" -M 'r:|/=* r:|=*' -a ttys && return -compadd "$@" "$expl[@]" "$pre[@]" -M 'r:|/=* r:|=*' -a ttys diff --git a/result/sw/share/zsh/5.9/functions/_tune2fs b/result/sw/share/zsh/5.9/functions/_tune2fs deleted file mode 100644 index 3d64f266..00000000 --- a/result/sw/share/zsh/5.9/functions/_tune2fs +++ /dev/null @@ -1,35 +0,0 @@ -#compdef tune2fs - -_arguments -s -S \ - '-c+[set max mounts between checks]:number of mounts' \ - '-C+[set mount count]:number of mounts' \ - '-e+[set error behavior]:error behavior:(continue remount-ro panic)' \ - '-E+[set extended options]: :_values -s , "extended option" - clearmmp - "mmp_update_interval\:interval (seconds)" - "stride\:stride size (blocks)" - "stripe_width\:stipe width (blocks)" - "hash_alg\:hash algorithm\:(legacy half_md4 tea)" - "mount_opts\:mount option" - "(^test_fs)test_fs" - "(test_fs)^test_fs"' \ - '-f[force tune2fs to complete even in the face of errors]' \ - '-g+[set the group which can use reserved filesystem blocks]:group:_groups' \ - '-i+[interval between checks]:duration' \ - '-I+[set inode size]:inode size' \ - '-j[add an ext3 journal to the filesystem]' \ - '-J+[journal options]: :_values -s , option "size[specify journal size]\:size" "location\:location" "device[use external journal]\:block device\:_files"' \ - '-l[list the contents of the filesystem superblock]' \ - '-L+[set the volume label of the filesystem]:label' \ - '-m+[set the percentage of reserved filesystem blocks]:percentage' \ - '-M+[set the last-mounted directory for the filesystem]:directory:_files -/' \ - '-o+[mount options]:options:_values -s , debug bsdgroups user_xattr acl uid16 journal_data journal_data_ordered journal_data_writeback nobarrier block_validity discard nodelalloc' \ - '-O+[set or clear filesystem features]: :_values -s , feature 64bit dir_index dir_nlink ea_inode encrypt extent extra_isize filetype flex_bg has_journal large_dir huge_file large_file metadata_csum metadata_csum_seed mmp project quota read-only resize_inode sparse_super uninit_bg' \ - '-r+[set the number of reserved filesystem blocks]:number' \ - '-Q+[set quota feature on the superblock]: :_values -s , "quota option" usrquota grpquota prjquota' \ - '-s+[set sparse super feature]:state:((0\:off 1\:on))' \ - '-T+[set time last checked]:time specifier (YYYYMMDD[HH[MM[SS]]])' \ - '-u+[set user who can use reserved filesystem blocks]:user:_users' \ - '-U+[set filesystem UUID]:UUID or special:(clear random time)' \ - '-z+[save old contents of file system block to undo file]:undo file:_files' \ - ':device:_files' diff --git a/result/sw/share/zsh/5.9/functions/_twidge b/result/sw/share/zsh/5.9/functions/_twidge deleted file mode 100644 index d8b3b3de..00000000 --- a/result/sw/share/zsh/5.9/functions/_twidge +++ /dev/null @@ -1,77 +0,0 @@ -#compdef twidge -## completion for twidge 1.0.8, based on twidge(1) - -function _twidge_command { - typeset -a twidge_commands - typeset -i skip=1 - - twidge lscommands | while read cmd desc; do - if [[ $cmd == ---* ]] { - skip=0 - continue - } - if (( skip )) { - continue - } - twidge_commands+="${cmd}:${desc}" - done - - _describe command twidge_commands -} - -function _twidge_args { - typeset -a args_common args_more args_other args_update - - args_common=( - '(-a --all)'{-a,--all}'[receive all content]' - '(-e --exec)'{-e,--exec}'[execute command for each retrieved item]:command' - '(-l --long)'{-l,--long}'[long output format]' - '(-m --mailto)'{-m,--mailto}'[mail retrieved items]:mail address' - ) - - args_more=( - '(-s --saveid)'{-s,--saveid}'[save ID of most recent message]' - '(-u --unseen)'{-u,--unseen}'[only show unseen messages]' - ) - - args_other=( - '(-U --username)'{-U,--username}'[show updates of different user]:username' - ) - - args_update=( - '(-i --inreplyto)'{-i,--inreplyto}'[update in reply to a message]:message id' - '(-i --inreplyto 1)-r[read RFC2822 Mail]' - ':status' - ) - - case ${words[1]} in - lsarchive) - _arguments $args_common $args_more $args_other - ;; - ls(dm(|archive)|recent|replies|rt(|archive|replies))) - _arguments $args_common $args_more - ;; - lsfollow(ers|ing)) - _arguments $args_common :username - ;; - dmsend) - _arguments :recipient :status - ;; - (un|)follow) - _message username - ;; - update) - _arguments $args_update - ;; - esac -} - -function _twidge { - _arguments \ - '(-c --config)'{-c,--config}'[config file]:file:_files' \ - '(-d --debug)'{-d,--debug}'[enable debugging output]' \ - '(-): :_twidge_command' \ - '(-)*:: :_twidge_args' -} - -_twidge "$@" diff --git a/result/sw/share/zsh/5.9/functions/_twisted b/result/sw/share/zsh/5.9/functions/_twisted deleted file mode 100644 index 102a6780..00000000 --- a/result/sw/share/zsh/5.9/functions/_twisted +++ /dev/null @@ -1,33 +0,0 @@ -#compdef twist twistd trial conch cftp ckeygen pyhtmlizer tkconch -# -# This is the ZSH completion file for Twisted commands. It calls the current -# command-line with the special "--_shell-completion" option which is handled -# by twisted.python.usage. t.p.usage then generates zsh code on stdout to -# handle the completions for this particular command-line. -# -# 3rd parties that wish to provide zsh completion for commands that -# use t.p.usage may copy this file and change the first line to reference -# the name(s) of their command(s). -# -# This file is included in the official Zsh distribution as -# Completion/Unix/Command/_twisted - -# redirect stderr to /dev/null otherwise deprecation warnings may get puked all -# over the user's terminal if completing options for a deprecated command. -# Redirect stderr to a file to debug errors. -local cmd output -cmd=("$words[@]" --_shell-completion zsh:$CURRENT) -output=$("$cmd[@]" 2>/dev/null) - -if [[ $output == "#compdef "* ]]; then - # Looks like we got a valid completion function - so eval it to produce - # the completion matches. - eval $output -else - echo "\nCompletion error running command:" ${(qqq)cmd} - echo -n "If output below is unhelpful you may need to edit this file and " - echo "redirect stderr to a file." - echo "Expected completion function, but instead got:" - echo $output - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_typeset b/result/sw/share/zsh/5.9/functions/_typeset deleted file mode 100644 index 05884237..00000000 --- a/result/sw/share/zsh/5.9/functions/_typeset +++ /dev/null @@ -1,149 +0,0 @@ -#compdef autoload declare export functions integer float local readonly typeset - -local expl state state_descr line func i use curcontext="$curcontext" ret=1 -local fopts="-f -k -z +k +z" -local popts="-A -E -F -L -R -T -Z -a -g -h -H -i -l -r -x" -local -A allargs opt_args -local -a args - -allargs=( - A "($fopts -E -F -L -R -T -U -Z -a -i -m)-A[specify that arguments refer to associative arrays]" - E "($fopts -A -F -L -R -T -U -Z -a -i -m)-E[floating point, use engineering notation on output]" - F "($fopts -A -E -L -R -T -U -Z -a -i -m)-F[floating point, use fixed point decimal on output]" - L "($fopts -A -E -F -i)-L+[left justify and remove leading blanks from value]:width" - R "($fopts -A -E -F -i)-R+[right justify and fill with leading blanks]:width" - T "($fopts -A -E -F -a -g -h -i -l -m -t)-T[tie scalar to array or trace function]" - Tf "($popts -t)-T[trace execution of this function only]" - Tp "($fopts -A -E -F -a -g -h -i -l -m -t)-T[tie scalar to array]" - U '(-A -E -F -i)-U[keep array values unique and suppress alias expansion for functions]' - Uf '-U[suppress alias expansion for functions]' - Up '(-E -F -i)-+U[keep array values unique]' - X '+X[immediately autoload function]' - Z "($fopts -A -E -F -i)-Z+[right justify and fill with leading zeros]:width" - a "($fopts -A -E -F -T -i)-a[specify that arguments refer to arrays]" - df "-d[default absolute path autoload to fpath]" - f "($popts)-f[specify that arguments refer to functions]" - g "($fopts -T)-+g[do not restrict parameter to local scope]" - h "($fopts -T)-+h[hide specialness of parameter]" - H "($fopts -T)-+H[hide value of parameter in listings]" - i "($fopts -A -E -F -T)-+i[represent internally as an integer]" - k "($popts -w -z)-+k[mark function for ksh-style autoloading]" - l "($popts -T)-l[convert the value to lowercase]" - m '(-A -E -F -T -i)-m[treat arguments as patterns]' - p '-p+[output parameters in form of calls to typeset]::option:((1\:multi-line\ output\ of\ arrays))' - r '(-f)-+r[mark parameters as readonly]' - rf '-r[remember autoload path]' - Rf '-R[remember autoload path, error if not found]' - t '(-T)-+t[tag parameters and turn on execution tracing for functions]' - tf '(-T)-+t[turn on execution tracing for functions]' - tp '(-T)-+t[tag parameters]' - u '-u[convert the value to uppercase or mark function for autoloading]' - uf '-u[mark function for autoloadling]' - up '-u[convert the value to uppercase]' - w '(-k -z)-w[specify that arguments refer to files compiled with zcompile]' - W '-+W[turn on WARN_NESTED_VAR for function]' - x "($fopts)-+x[export parameter]" - z "($popts -k -w)-+z[mark function for zsh-style autoloading]" -) - -use="AEFHLRTUZafghiklmprtuxz" - -case ${service} in - autoload) - use="URTXdkrtwz" - func=f - ;; - float) use="EFHghlprtux";; - functions) - use="UkmTtuzW" - func=f - args=( - '(-k -t -T -u -U -W -x -z -M +M +k +t +W +z)-+M[define mathematical function]' - '(-k -m -t -T -u -U -W -x -z +M +k +t +W +z)-s[define mathematical function that takes a string argument]' - '(-M)-x+[specify spaces to use for indentation]:spaces' - '(-* +*)-c[copy shell function to another name]:old name:_functions:new name:_functions' - ) - ;; - integer) - use="Hghilprtux" - allargs[i]='-i+[specify arithmetic base for output]:: :_guard "[0-9]#" base' \ - ;; - readonly) use="${use/r/}" ;; - local) use="${use//[fgkz]/}" ;; - export) use="${use//[fgkxz]/}" ;; -esac - -[[ -z "${words[(r)-*[aA]*]}" ]] || func=p -[[ -z "${words[(r)-*f*]}" ]] || func=f - -# This function uses whacky features of _arguments which means we -# need to look for options to the command beforehand. -local onopts offopts -onopts=${(j..)${${words[1,CURRENT-1]:#^-[^-]*}##-}} -offopts=${(j..)${${words[1,CURRENT-1]:#^+*}##+}} - -for ((i=1;i<=$#use;++i)); do - args+=( ${allargs[${use[$i]}${${(s::)use[$i]}[(r)[dUurRtT]]:+$func}]} ) -done - -_arguments -C -s -A "-*" -S "${args[@]}" '*::vars:= ->vars_eq' && ret=0 - -if [[ "$state" = vars_eq ]]; then - if [[ $func = f ]]; then - if (( $+opt_args[+M] || ( $+opt_args[-M] && $+opt_args[-m] ) )); then - _wanted functions expl 'math function' compadd -F line - \ - ${${${(f)"$(functions -M)"}##*-M }%% *} && ret=0 - elif (( $+opt_args[-M] )); then - _arguments ':new math function:_functions' \ - ":minimum arguments${(k)opt_args[-s]:+:(1)}" \ - ":maximum arguments${(k)opt_args[-s]:+:(1)}" \ - ':shell function:_functions' && ret=0 - elif (( $+opt_args[-w] )); then - _wanted files expl 'zwc file' _files -g '*.zwc(-.)' && ret=0 - elif [[ $service = autoload || -n $opt_args[(i)-[uU]] ]]; then - if [[ ${"${(e)PREFIX}"[1]} = [/~] ]] && _files; then - # Autoload by absolute path - ret=0 - else - args=(${^fpath}/*(-.:t)) - # Filter out functions already loaded or marked for autoload. - local -a funckeys - funckeys=(${(k)functions}) - args=(${args:|funckeys}) - _wanted functions expl 'shell function' compadd -a args && ret=0 - fi - elif [[ -n $onopts$offopts ]]; then - if [[ -n $offopts ]]; then - args=(${(f)"$(functions +${offopts//[^UXkmtTuz]/})"}) - else - args=(${(k)functions}) - fi - if [[ -n $onopts ]]; then - local -a funckeys - funckeys=(${(f)"$(functions +${onopts//[^UXkmtTuz]/})"}) - args=(${args:|funckeys}) - fi - if zstyle -t ":completion:${curcontext}:functions" prefix-needed && - [[ $PREFIX != [_.]* ]]; then - args=(${args:#_*}) - fi - _wanted functions expl 'shell function' compadd -a args && ret=0 - else - _functions && ret=0 - fi - elif [[ "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value && ret=0 - elif (( $+opt_args[-a] || $+opt_args[-A] )); then - _parameters -q && ret=0 - elif (( $+opt_args[-T] )); then - _arguments \ - ':scalar parameter:_parameters -g "*scalar*" -q -S "="' \ - ':array parameter:_parameters -g "*array*"' \ - ':separator character' && ret=0 - else - _parameters -q -S '=' && ret=0 - fi -fi -return ret diff --git a/result/sw/share/zsh/5.9/functions/_ulimit b/result/sw/share/zsh/5.9/functions/_ulimit deleted file mode 100644 index 0526821d..00000000 --- a/result/sw/share/zsh/5.9/functions/_ulimit +++ /dev/null @@ -1,19 +0,0 @@ -#compdef ulimit - -[[ $PREFIX = u* ]] && compadd unlimited && return 0 - -_arguments -s \ - '-H[set hard limits]' \ - '-S[set soft and hard limits (with -H)]' \ - '(-H -S -c -d -f -l -m -n -s -t *)-a[list all current resource limits]' \ - '-c[core dump size limit]:max core dump size (512-byte blocks)' \ - '-d[maximum size of data segment]:maximum size of data segment (K-bytes)' \ - '-f[size of largest file allowed]:size of largest file allowed (512-byte blocks)' \ - '-l[maximum size of locked in memory]:maximum size of locked in memory (K-bytes)' \ - '-m[maximum size of physical memory]:maximum size of physical memory (K-bytes)' \ - '-n[maximum no. of open file descriptors]:maximum no. of open file descriptors' \ - '-s[stack size limit]:stack size limit (K-bytes)' \ - '-t[maximum cpu time per process]:maximum cpu time per process (seconds)' \ - '-u[processes available to the user]:processes' \ - '-v[maximum size of virtual memory]:maximum size of virtual memory (K-bytes)' \ - '*:size of largest file allowed' diff --git a/result/sw/share/zsh/5.9/functions/_uml b/result/sw/share/zsh/5.9/functions/_uml deleted file mode 100644 index 1a5619f7..00000000 --- a/result/sw/share/zsh/5.9/functions/_uml +++ /dev/null @@ -1,149 +0,0 @@ -#compdef linux uml_moo uml_mconsole uml_switch tunctl - -local curcontext="$curcontext" state st line expl suf ret=1 -typeset -A opt_args - -case $service in - uml_moo) - _arguments '1:COW file:_files -g "*cow*(-.)"' '2:new backing file:_files' - return - ;; - uml_switch) - _arguments \ - '-unix[listen on specified pair of sockets]:control socket: :data socket' \ - '-hub[act like a hub]' - return - ;; - uml_mconsole) - if (( CURRENT == 2 )); then - _wanted socket expl 'socket name' compadd {~/.uml,/tmp}/*/mconsole(N=:h:t) && ret=0 - elif [[ $words[CURRENT-1] = config ]]; then - if [[ -prefix ubd || -prefix eth ]]; then - state=option - else - _wanted device expl device compadd -S '' ubd eth && ret=0 - fi - elif [[ $words[CURRENT-1] = remove ]]; then - _wanted device expl device compadd ubd{0..7} eth{0..9} && ret=0 - elif (( CURRENT == 3 )); then - _values 'command' \ - 'version[print the UML kernel version number]' \ - 'help[print help]' \ - 'halt[shutdown UML system immediately]' \ - 'reboot[reboot the UML system immediately]' \ - 'config[add a new device to the virtual machine]' \ - 'remove[delete a device from the virtual machine]' \ - 'sysrq[perform sysrq action]:key:((r\:turn\ of\ keyboard\ raw\ mode k\:secure\ access\ key b\:reboot o\:shutdown s\:sync u\:remount p\:dump\ registers t\:dump\ tasks m\:dump\ memory e\:SIGTERM\ to\ all i\:SIGKILL\ to\ all l\:SIGKILL\ to\ all\ inc.\ init h\:help {0..9}\:console\ log\ level))' \ - 'cad[invoke ctrl-alt-del handler]' \ - 'stop[pause the UML]' \ - 'go[continue the UML]' \ - && ret=0 - else - _message 'no more arguments' - fi - ;; - linux) - _arguments -C \ - '(* -)--version[display kernel version number]' \ - '(* -)--help[print usage information]' \ - '(* -)--showconfig[show kernel configuration]' \ - '(-)*:option:->option' && ret=0 - ;; - tunctl) - _arguments \ - '(-d)-b[brief output]' \ - '-f[specify tun clone device]:tun clone device:_files' \ - '(-d)-u[specify owner]:owner:_users' \ - '(-b -u -t)-d[specify devicename to delete]:device name:(tap{0..9})' \ - '(-d)-t[specify devicename]:device name:(tap{0..9})' - return - ;; -esac - -while [[ -n $state ]]; do - st=$state - unset state - case $st in - option) - if compset -P '(ssl|con)[0-9]#='; then - state=channel - continue - elif compset -P con; then - _message -e consoles 'console number' - return - elif compset -P ssl; then - _message -e serial 'serial line number' - return - elif compset -P 'ubd[0-7](|r)(|s)='; then - compset -P '*,' - _files && return - elif compset -P ubd; then - _message -e devices 'device number' - return - elif compset -P 'eth[0-9]##='; then - if compset -P 1 '*,'; then - _message -e options option - else - _wanted transports expl transports compadd -S, \ - ethertap tuntap daemon mcast slip && return - fi - return - elif compset -P eth; then - _message -e ethernet number - return - fi - compadd -n -S '' con ssl ubd eth && ret=0 - _values -C -w "option" \ - 'mem[specify amount of "physical" memory to allocate]:memory' \ - 'iomem[configure file as named IO memory region]:arg:->iomem' \ - 'gdb[attach gdb to specified channel]:channel:->channel' \ - 'gdb-pid[specify pid of debugger]:debugger pid:_pids' \ - 'debugtrace[cause tracing thread to wait for debugger]' \ - 'honeypot[put process stacks in the same location as on host]' \ - 'debug[start kernel under gdb control]' \ - 'root[specify root filesystem]:root device' \ - 'umid[specify name for this UML machine]:name' \ - 'uml_dir[location to place pid and umid files]:directory:_directories' \ - 'initrd[boot from initrd image]:initrd file:_files' \ - 'jail[enable protection of kernel memory from processes]' \ - '*con[attach a console to a host channel]:channel:->channel' \ - '*ssl[attach a serial line to a host channel]:channel:->channel' \ - 'fake_ide[create ide0 entries which map onto ubd devices]' \ - '*ubd[associate device with host file]' \ - 'fakehd[change the ubd device name to "hd"]' \ - '*eth[configure a network device]' \ - 'ncpus[specify number of virtual processors to start]:processors' \ - 'mode[force UML to run in specified mode]:mode:(tt)' \ - 'mconsole[request mconsole driver to send a message to socket]:socket' \ - 'xterm[specify alternate terminal emulator]:terminal emulator:->xterm' \ - 'dsp[specify host dsp device]:dsp device:_files' \ - 'mixer[specify host mixer device]:mixer device:_files' \ - 'umn[specify ip address for host side of slip device]' && ret=0 - ;; - iomem) - if compset -P '*,'; then - _files && ret=0 - else - _message -e name - fi - ;; - channel) - compset -P '*,' || suf=( -S , ) - _values -S : ${suf/S/s} "channel" \ - pty pts xterm \ - 'tty:tty:_files $suf' \ - "fd:file descriptor:_file_descriptors $suf" && ret=0 - ;; - xterm) - if compset -P 2 '*,'; then - _wanted -x argument expl 'execute switch' compadd - -e -x && ret=0 - elif compset -P 1 '*,'; then - _wanted -x argument expl 'title switch' compadd -S , - -t -T -title && ret=0 - else - _wanted command expl 'terminal emulator' _command_names -e -S , && ret=0 - fi - ;; - esac -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_umountable b/result/sw/share/zsh/5.9/functions/_umountable deleted file mode 100644 index 7ffce5bb..00000000 --- a/result/sw/share/zsh/5.9/functions/_umountable +++ /dev/null @@ -1,44 +0,0 @@ -#autoload -local tmp -local dev_tmp dpath_tmp mp_tmp mline - -case "$OSTYPE" in -linux*|irix*) - tmp=( "${(@f)$(< /etc/mtab)}" ) - dev_tmp=( "${(@)${(@)tmp%% *}:#none}" ) - mp_tmp=( "${(@)${(@)tmp#* }%% *}" ) - ;; -freebsd*|dragonfly*) - /sbin/mount | while read mline; do - dev_tmp+=( $mline[(w)1] ) - mp_tmp+=( $mline[(w)3] ) - done -;; -darwin*) - tmp=( "${(@f)$(/sbin/mount)}" ) - dev_tmp=( "${(@)${(@)tmp%% *}:#map}" ) - mp_tmp=( "${(@)${(@)tmp#* on }%% \(*}" ) - ;; -*) - /sbin/mount | while read mline; do - mp_tmp+=( $mline[(w)1] ) - dev_tmp+=( $mline[(w)3] ) - done - ;; -esac - -local MATCH MBEGIN MEND -# The complicated substitution for mount point names is required because -# characters in /etc/mtab that might confuse programs reading the names -# are encoded as exactly 3 octal digits, like for example \040 for space. -# The cleaner-looking ${(g::)mp_tmp} might consume too many digits. -# Both mp_tmp and dev_tmp are derived from /etc/mtab or "mount" output. -mp_tmp=("${(@)mp_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}") -dev_tmp=("${(@)dev_tmp//(#m)\\[0-7](#c3)/${(#)$(( 8#${MATCH[2,-1]} ))}}") -dpath_tmp=( "${(@M)dev_tmp:#/*}" ) -dev_tmp=( "${(@)dev_tmp:#/*}" ) - -_alternative \ - 'device-labels:device label:compadd -a dev_tmp' \ - 'device-paths: device path:_canonical_paths -A dpath_tmp -N -M "r:|/=* r:|=*" device-paths device\ path' \ - 'directories:mount point:_canonical_paths -A mp_tmp -N -M "r:|/=* r:|=*" directories mount\ point' diff --git a/result/sw/share/zsh/5.9/functions/_unace b/result/sw/share/zsh/5.9/functions/_unace deleted file mode 100644 index 8226ec28..00000000 --- a/result/sw/share/zsh/5.9/functions/_unace +++ /dev/null @@ -1,18 +0,0 @@ -#compdef unace - -_arguments -S \ - '-c[show comments]' \ - '-f[full path matching]' \ - '-o[overwrite files]' \ - '-p+[specify password]:password' \ - '-y[assume yes on all queries]' \ - '-x+[specify files to exclude]:files' \ - '-h[print help information]' \ - '1:unace command:(( - e\:extract\ files - l\:list\ archive - t\:test\ archive\ integrity - v\:list\ archive\ \(verbose\) - x\:extract\ files\ with\ full\ path - ))' \ - '*:files:_files -g "*.ace(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_uname b/result/sw/share/zsh/5.9/functions/_uname deleted file mode 100644 index c58f2edf..00000000 --- a/result/sw/share/zsh/5.9/functions/_uname +++ /dev/null @@ -1,90 +0,0 @@ -#compdef uname guname - -typeset -A _uname_args -local -a args - -case $LANG in - de_*) - _uname_args=( - all "alle Grundinformationen ausgeben" - kernel-name "Namen des Kernels ausgeben" - nodename "Netzwerknamen der Maschine ausgeben" - kernel-release "Release-Nummer des Kernels ausgeben" - kernel-version "Version des Kernels ausgeben" - os-release "Release-Nummer des Betriebssystems ausgeben" - machine "Maschinentyp (Hardware) ausgeben" - processor "Typ des Prozessors ausgeben" - hardware-platform "Hardwareplattform ausgeben" - operating-system "Namen des Betriebssystems ausgeben" - help "Hilfe anzeigen und beenden" - version "Versionsinformation anzeigen und beenden" - ) - ;; - (*) - _uname_args=( - all "print all basic information" - kernel-name "print kernel name" - nodename "print network node hostname" - kernel-release "print kernel release" - kernel-version "print kernel version" - os-release "print operating system release level" - machine "print machine hardware name" - processor "print processor type" - hardware-platform "print hardware platform" - operating-system "print name of the operating system" - help "display help information" - version "output version information and exit" - ) - ;; -esac - -if _pick_variant gnu="Free Soft" unix --version; then - _arguments -s \ - '(-)'{--all,-a}'['$_uname_args[all]']' \ - '(--kernel-name -s)'{--kernel-name,-s}'['$_uname_args[kernel-name]']' \ - '(--nodename -n)'{--nodename,-n}'['$_uname_args[nodename]']' \ - '(--kernel-release -r)'{--kernel-release,-r}'['$_uname_args[kernel-release]']' \ - '(--kernel-version -v)'{--kernel-version,-v}'['$_uname_args[kernel-version]']' \ - '(--machine -m)'{--machine,-m}'['$_uname_args[machine]']' \ - '(--processor -p)'{--processor,-p}'['$_uname_args[processor]']' \ - '(--hardware-platform -i)'{--hardware-platform,-i}'['$_uname_args[hardware-platform]']' \ - '(--operating-system -o)'{--operating-system,-o}'['$_uname_args[operating-system]']' \ - '(-)--help['$_uname_args[help]']' \ - '(-)--version['$_uname_args[version]']' -else - args=( - "(-m -n -r -s -v)-a[${_uname_args[all]}]" - '-m[print hardware class]' - "-n[${_uname_args[nodename]}]" - "-p[${_uname_args[processor]}]" - "-r[${_uname_args[os-release]}]" - "-s[${_uname_args[operating-system]}]" - '-v[print detailed operating system version]' - ) - case $OSTYPE in - freebsd*|dragonfly*) - args+=( - '-i[print kernel ident]' - '-K[print kernel version]' - '-U[print user environment version]' - ) - ;| - dragonfly*) - args+=( - '-P[write ABI string for dports / pkgng, including odd-to-even version-munging]' - '-PP[write ABI string for dports / pkgng, without version-munging]' - ) - ;; - freebsd<13->.*) - args+=( "-b[print kernel's linker-generated build-id]" ) - ;; - solaris*) - args+=( - '-i[print platform name]' - '-S[set system name]:system name' - '-X[print expanded system information]' - ) - ;; - esac - _arguments -s $args -fi diff --git a/result/sw/share/zsh/5.9/functions/_unexpand b/result/sw/share/zsh/5.9/functions/_unexpand deleted file mode 100644 index b548b3c3..00000000 --- a/result/sw/share/zsh/5.9/functions/_unexpand +++ /dev/null @@ -1,37 +0,0 @@ -#compdef unexpand gunexpand expand gexpand - -local all tabs -local -a args - -all="convert all whitespace, instead of just initial whitespace" -tabs="[use comma separated list of tab positions]:list of tab positions" - -if _pick_variant gnu="Free Soft" unix --version; then - if [[ $service = *un* ]]; then - args=( - "(-a --help --version)--all[$all]" - '(--help --version)--first-only[convert only leading sequences of whitespace]' - ) - else - args=( - '(-i --initial --help --version)'{-i,--initial}"[don't convert tabs after non blanks]" - ) - fi - - args+=( - "(-t --help --version)--tabs=${tabs}" - '(* -)--help[display usage information]' - '(* -)--version[display version information]' - ) -elif [[ $OSTYPE = (*bsd*|dragonfly*|darwin*) ]]; then - args=( -A "-*" ) -fi -[[ $service = *un* ]] && args+=( "(--all --help --version)-a[$all]" ) - -# Most (un)expand variants, excluding BusyBox, allow e.g. -4 instead of -t4 -[[ $_cmd_variant[$service] == *busybox* ]] || -args+=( '!(-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -t --tabs)-'{0..9} ) - -_arguments -s -S "$args[@]" \ - "(--tabs --help)-t+${tabs}" \ - '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_unhash b/result/sw/share/zsh/5.9/functions/_unhash deleted file mode 100644 index ff0c03f4..00000000 --- a/result/sw/share/zsh/5.9/functions/_unhash +++ /dev/null @@ -1,9 +0,0 @@ -#compdef unhash - -_arguments -s -S \ - '(-a -f -s *)-d[remove named directories]:*:named directory:compadd -k nameddirs' \ - '(-d -f -s *)-a[remove aliases]:*:alias:_aliases' \ - '(-a -d -f *)-s[remove suffix aliases]:*:suffix alias:_aliases -s s' \ - '(-d -a -s *)-f[remove functions]:*:shell function:_functions' \ - '-m[treat arguments as patterns]' \ - '(-a -d -f -m)*:command: _command_names -e' diff --git a/result/sw/share/zsh/5.9/functions/_uniq b/result/sw/share/zsh/5.9/functions/_uniq deleted file mode 100644 index e123a94c..00000000 --- a/result/sw/share/zsh/5.9/functions/_uniq +++ /dev/null @@ -1,34 +0,0 @@ -#compdef uniq guniq - -local args - -args=( - '(-c --count)'{-c,--count}'[prefix lines by the number of occurrences]' - '(-d --repeated)'{-d,--repeated}'[only print duplicate lines]' - '(--all-repeated)-D-[print all duplicate lines]' - '(-D)--all-repeated=-[print all duplicate lines]::delimit method [none]:(none prepend separate)' - '(-f --skip-fields)'{-f,--skip-fields=}'[avoid comparing initial fields]:number of fields' - '--group=-[show all items]::group separation [separate]:(separate prepend append both)' - '(-i --ignore-case)'{-i,--ignore-case}'[ignore differences in case when comparing]' - '(-s --skip-chars)'{-s,--skip-chars=}'[avoid comparing initial characters]:number of characters' - '(-t --separator)'{-t,--separator=}'[specify field delimiter]:separator' - '(-u --unique)'{-u,--unique}'[only print unique lines]' - '(-w --check-chars)'{-w,--check-chars=}'[specify maximum number of characters to compare]:characters' - '(-W --check-fields)'{-W,--check-fields=}'[specify maximum number of fields to compare]:fields' - '(-z --zero-terminated)'{-z,--zero-terminated}'[delimit lines with null character, not newline]' - '(- *)--help[display help information]' - '(- *)--version[display version information]' -) - -if ! _pick_variant gnu=Free\ Soft unix --version; then - local optchars="cdufs" - if [[ "$OSTYPE" == (darwin|dragonfly|freebsd|openbsd)* ]]; then - optchars+=i - fi - [[ $OSTYPE = freebsd* ]] && optchars+=D - args=( ${(M)args:#(|\*)(|\(*\))-[$optchars]*} ) -fi - -_arguments "$args[@]" \ - '1::input file:_files' \ - '2::output file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_unison b/result/sw/share/zsh/5.9/functions/_unison deleted file mode 100644 index 91fa57e5..00000000 --- a/result/sw/share/zsh/5.9/functions/_unison +++ /dev/null @@ -1,89 +0,0 @@ -#compdef unison - -local context state line -typeset -A opt_args - -_arguments \ - '-auto[automatically accept default (nonconflicting) actions]' \ - '-batch[batch mode\: ask no questions at all]' \ - '-doc[show documentation]:topic:(about people lists status copying ack install tutorial basics failures running ssh news all topics)' \ - '-follow[add a pattern to the follow list]:pattern:' \ - '-force[force changes from this replica to the other]:replica:' \ - '-group[synchronize group attributes]' \ - '-ignore[add a pattern to the ignore list]:pattern:' \ - '-ignorenot[add a pattern to the ignorenot list]:pattern:' \ - '-owner[synchronize owner]' \ - '-path[path to synchronize]:path:_files' \ - '-perms[part of the permissions which is synchronized]:perms:' \ - '-prefer[choose this replicas version for conflicting changes]:replica:' \ - '-root[root of a replica (should be used exactly twice)]:path:_files -/' \ - '-silent[print nothing except error messages]' \ - '-terse[suppress status messages]' \ - '-testserver[exit immediately after the connection to the server]' \ - '-times[synchronize modification times]' \ - '-version[print version and exit]' \ - '-addprefsto[add new prefs to]:file:_files' \ - '-addversionno[add version number to name of unison on server]' \ - '-backup[add a pattern to the backup list]:pattern:' \ - '-backupcurr[add a pattern to the backupcurr list]:pattern:' \ - '-backupcurrnot[add a pattern to the backupcurrnot list]:pattern:' \ - '-backupdir[directory for storing centralized backups]:directory:_files -/' \ - '-backuploc[where backups are stored]:backup location:(local central)' \ - '-backupnot[add a pattern to the backupnot list]:pattern:' \ - '-backupprefix[prefix for the names of backup files]:prefix:' \ - '-backups[keep backup copies of all files]' \ - '-backupsuffix[a suffix to be added to names of backup files]:suffix:' \ - '-confirmbigdel[ask about whole-replica (or path) deletes (default true)]' \ - '-confirmmerge[ask for confirmation before committing results of a merge]' \ - '-contactquietly[suppress the "contacting server" message during startup]' \ - '-copyprog[external program for copying large files]:program:_files -g "*(-x)"' \ - '-copyprogrest[variant of copyprog for resuming partial transfers]:program:_files -g "*(-x)"' \ - '-copyquoterem[add quotes to remote file name for copyprog]:quote style:(true false default)]' \ - '-copythreshold[use copyprog on files bigger than this]:size (kb):' \ - '-debug:debug module:(all verbose)' \ - '-diff[command for showing differences between files]:program:_files -g "*(-x)"' \ - '-dontchmod[when set, never use the chmod system call]' \ - '-dumbtty[do not change terminal settings in text UI]' \ - '-fastcheck:fast update detection:(true false default)' \ - '-forcepartial[add a pattern to the forcepartial list]:pattern:' \ - '-height[height of main window in graphical interface]:number (lines):' \ - '-host[bind the socket to this host name in server socket mode]:host:_hosts' \ - '-ignorecase[identify upper/lowercase filenames]:ignorecase:(true false default)' \ - '-ignorelocks[ignore locks left over from previous run (dangerous!)]' \ - '-immutable[add a pattern to the immutable list]:pattern:' \ - '-immutablenot[add a pattern to the immutablenot list]:pattern:' \ - '-key[define a keyboard shortcut for this profile (in some UIs)]:shortcut:' \ - '-killserver[kill server when done (even when using sockets)]' \ - '-label[provide a descriptive string label for this profile]:label:' \ - '-log[record actions in logfile (default true)]' \ - '-logfile:logfile name:_files' \ - '-maxbackups[number of backed up versions of a file]:number:' \ - '-maxthreads[maximum number of simultaneous file transfers]:number:' \ - '-merge[add a pattern to the merge list]:pattern:' \ - '-mountpoint[abort if this path does not exist]:mountpoint:_files -/' \ - "-numericids[don't map uid/gid values by user/group names]" \ - '-preferpartial[add a pattern to the preferpartial list]:pattern:' \ - '-pretendwin[use creation times for detecting updates]' \ - '-repeat[synchronize repeatedly (text interface only)]:repeat:' \ - '-retry[re-try failed synchronizations N times (text ui only)]:retry times:' \ - '-rootalias[register alias for canonical root names]:root alias:' \ - '-rsrc:synchronize resource forks:(true false default)' \ - '-rsync[activate the rsync transfer mode (default true)]' \ - '-selftest[run internal tests and exit]' \ - '-servercmd[name of unison executable on remote server]:program:_files -g "*(-x)"' \ - '-showarchive[show "true names" (for rootalias) of roots and archive]' \ - '-socket[act as a server on a socket]:socket:_files -g "*(-=)"' \ - '-sortbysize[list changed files by size, not name]' \ - '-sortfirst[add a pattern to the sortfirst list]:pattern:' \ - '-sortlast[add a pattern to the sortlast list]:pattern:' \ - '-sortnewfirst[list new before changed files]' \ - '-sshargs[other arguments (if any) for remote shell command]:ssh args:' \ - '-sshcmd[path to the ssh executable]:program:_files -g "*(-x)"' \ - '-ui:user interface:(text graphic)' \ - '-xferbycopying[optimize transfers using local copies (default true)]' \ - '*:profile:->profile' - -if [[ $state == profile ]]; then - local -a profiles=( ${UNISON:-~/.unison}/*.prf(N:t:r) ) - compadd "$@" -a profiles -fi diff --git a/result/sw/share/zsh/5.9/functions/_units b/result/sw/share/zsh/5.9/functions/_units deleted file mode 100644 index 6d86f4dc..00000000 --- a/result/sw/share/zsh/5.9/functions/_units +++ /dev/null @@ -1,82 +0,0 @@ -#compdef units - -local curcontext="$curcontext" state line expl -integer ret=1 -typeset -A opt_args - -# Command line completion for Solaris units isn't very useful; this -# may be standard old-fashioned behaviour. However, it does let you -# find out the units that are available before running units -# interactively. - -# GNU options, but these aren't very intrusive for other versions. -_arguments -C -s -S \ - '(-c --check --check-verbose)'{-c,--check}'[check units are reducible]' \ - '(-c --check)--check-verbose[verbosely check units are reducible]' \ - '(-o --output-format)'{-o,--output-format}'[specify output format]:printf format' \ - '(-f --file)'{-f,--file}'[specify file with units]:units file:_files' \ - '(-m --minus)'{-m,--minus}'[- is subtraction]' \ - '(-p --product)'{-p,--product}'[binary - is product]' \ - '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress prompts and statistics]' \ - '(-s --strict)'{-s,--strict}'[suppress conversion to reciprocal units]' \ - '(-t --terse)'{-t,--terse}'[make conversion output briefer]' \ - '(-v --verbose)'{-v,--verbose}'[make output more verbose]' \ - '(- *)'{-h,--help}'[show help information and exit]' \ - '(- *)'{-V,--version}'[show version information and exit]' \ - '*:unit expression:->expr' && return 0 - -[[ $state = expr ]] || return 1 - -# It's very likely there's a quoted expression, since things like '2 seconds' -# need to be a single argument. Units themselves don't have special -# characters, so it's safe to take just the characters around the -# cursor. -compset -P '*[^[:alnum:]]' -compset -S '[^[:alnum:]]*' - -# Find the units data. -local datfile -local -a testfiles -testfiles=( - /usr/share/units.dat # GNU on Fedora - /usr/share/units/units.dat # on gentoo - /usr/share/units/definitions.units # on Debian, units 2.00 and newer - /usr/local/share/units.dat # GNU DIY install - /usr/share/lib/unittab # Solaris - /usr/share/misc/units.lib # OpenBSD [as of 2020]; also FreeBSD 9.1 - /usr/share/misc/definitions.units # FreeBSD 12.1 - /usr/share/misc/units.dat # on Debian, units 1.88 and older -) - -datfile=${opt_args[-f]:-${opt_args[--file]}} -if [[ -z $datfile ]]; then - for datfile in $testfiles; do - [[ -f $datfile ]] && break - done -fi - -if [[ ! -f $datfile ]]; then - _message "Data file for units not found." - return -fi - -local -a all units pfxs -# Solaris uses / to start a comment, else #. -# could cache this, but it's not that big a deal... -all=($(awk '$1 !~ /^[\/#]/ { print $1 }' $datfile)) -# prefixes end in a - -pfxs=(${${all:#^[[:alnum:]]##-}%%-}) -# units may include regular or piecewise linear functions -units=(${${all:#^[[:alnum:]]##([\(\]]*|)}%%\(*}) - -if (( ${#units} )); then - _alternative 'unitprefixes:unit prefix:compadd -S "" -a pfxs' \ - 'units:unit:compadd -a units' && ret=0 - # attempt to skip a prefix - if (( ${#pfxs} )) && compset -P "(${(j.|.)pfxs})"; then - _wanted units expl unit compadd -a units && ret=0 - fi - return ret -else - _message "No unit definitions found." -fi diff --git a/result/sw/share/zsh/5.9/functions/_unshare b/result/sw/share/zsh/5.9/functions/_unshare deleted file mode 100644 index ff6f7042..00000000 --- a/result/sw/share/zsh/5.9/functions/_unshare +++ /dev/null @@ -1,40 +0,0 @@ -#compdef unshare - -local ign -(( $#words > 2 )) && ign='!' - -# a different unshare exists on some systems -if [[ $OSTYPE != linux* ]]; then - _default - return -fi - -_arguments -S -s \ - '(-m --mount)'{-m-,--mount=-}'[enter mount namespace]::file:_files' \ - '(-u --uts)'{-u-,--uts=-}'[enter UTS namespace (hostname etc)]::file:_files' \ - '(-i --ipc)'{-i-,--ipc=-}'[enter System V IPC namespace]::file:_files' \ - '(-n --net)'{-n-,--net=-}'[enter network namespace]::file:_files' \ - '(-p --pid)'{-p-,--pid=-}'[enter pid namespace]::file:_files' \ - '(-U --user)'{-U-,--user=-}'[enter user namespace]::file:_files' \ - '(-C --cgroup)'{-C-,--cgroup=-}'[enter cgroup namespace]::file:_files' \ - '(-T --time)'{-T-,--time=-}'[enter time namespace]::file:_files' \ - '(-f --fork)'{-f,--fork}"[fork before launching]" \ - '(-r --map-root-user)--map-user=[map current user to uid (implies --user)]:user:_users' \ - '--map-group=[map current group to gid (implies --user)]:group:_groups' \ - '(-r --map-root-user -c --map-current-user --map-user)'{-r,--map-root-user}'[map current user to root (implies --user)]' \ - '(-c --map-current-user)'{-c,--map-current-user}'[map current user to itself (implies --user)]' \ - '(-f --fork)--kill-child=-[when dying, kill the forked child (implies --fork)]::signal [KILL]:_signals' \ - '--mount-proc=-[mount proc filesystem first (implies --mount)]::mount point [/proc]:_directories' \ - '--propagation=[modify mount propagation in mount namespace]:propagation flag:(slave shared private unchanged)' \ - '--setgroups=[control the setgroups syscall in user namespaces]:grant setgroups:(allow deny)' \ - '--keep-caps[retain capabilities granted in user namespaces]' \ - '(-R --root)'{-R+,--root=}'[set the root directory]:directory:_directories' \ - '(-w --wd)'{-w+,--wd=}'[set the working directory]:directory:_directories' \ - '(-S --setuid)'{-S+,--setuid=}'[set uid in entered namespace]:uid [0]' \ - '(-G --setgid)'{-G+,--setgid=}'[set gid in entered namespace]:gid [0]' \ - '--monotonic=[set clock monotonic offset in time namespaces]:offset (seconds)' \ - '--boottime=[set clock boottime offset in time namespaces]:offset (seconds)' \ - "${ign}(- 1 *)"{-h,--help}'[display usage information]' \ - "${ign}(- 1 *)"{-V,--version}'[display version information]' \ - '1: : _command_names -e' \ - '*::args :_normal' diff --git a/result/sw/share/zsh/5.9/functions/_update-alternatives b/result/sw/share/zsh/5.9/functions/_update-alternatives deleted file mode 100644 index 31128dd8..00000000 --- a/result/sw/share/zsh/5.9/functions/_update-alternatives +++ /dev/null @@ -1,69 +0,0 @@ -#compdef update-alternatives - -local curcontext="$curcontext" state line alterdir ret - -if [[ -d /var/lib/dpkg/alternatives ]]; then - alterdir=/var/lib/dpkg/alternatives -elif [[ -d /var/lib/rpm/alternatives/ ]]; then - alterdir=/var/lib/rpm/alternatives -fi - -_arguments -C \ - '--verbose' \ - '--quiet' \ - '--test' \ - '--help' \ - '--version' \ - '--altdir:altdir:_files -/' \ - '--admindir:admindir:_files -/' \ - '--log:log file:_files -/' \ - '--force' \ - '--skip-auto' \ - '--install:*::alt:= ->install' \ - '--remove:*::alt:= ->remove' \ - '--remove-all:name:_files -W "$alterdir"' \ - '--auto:name:_files -W "$alterdir"' \ - '--display:name:_files -W "$alterdir"' \ - '--query:name:_files -W "$alterdir"' \ - '--list:name:_files -W "$alterdir"' \ - '--get-selections' \ - '--set-selections' \ - '--config:name:_files -W "$alterdir"' \ - '--set:name:_files -W "$alterdir":path:_files -/' \ - '--all' && return - -while true; do - case "$state" in - islave) - _call_function ret _update_alternatives_$state && return ret - state= - _arguments -C \ - '1:link:_files' \ - '2:name:_files -W "$alterdir"' \ - '3:path:_files' \ - '--slave:*::more:= ->islave' && return - [[ -z $state ]] && return 1 - ;; - - install) - _call_function ret _update_alternatives_$state && return ret - _arguments -C \ - '1:link:_files' \ - '2:name:_files -W "$alterdir"' \ - '3:path:_files' \ - '4:priority:' \ - '--slave:*::slave:= ->islave' && return - [[ -z $state ]] && return 1 - ;; - - remove) - _call_function ret _update_alternatives_$state && return ret - _arguments \ - '1:name:_files -W "$alterdir"' \ - '2:path:_files' - return - ;; - - *) return 1 ;; - esac -done diff --git a/result/sw/share/zsh/5.9/functions/_update-rc.d b/result/sw/share/zsh/5.9/functions/_update-rc.d deleted file mode 100644 index 68b81dc7..00000000 --- a/result/sw/share/zsh/5.9/functions/_update-rc.d +++ /dev/null @@ -1,28 +0,0 @@ -#compdef update-rc.d - -local curcontext="$curcontext" state line expl - -_arguments -C \ - '-n[show actions without performing them]' \ - '-f[force removal of symlinks]' \ - '1:service:_services' \ - '2:command:(remove defaults start stop)' \ - '*::args:->args' && return - -case $words[2] in - defaults) - _message -e number 'sequence number' - ;; - remove) - _message 'no more arguments' - ;; - st*) - case ${words[CURRENT-1]} in - .) _wanted commands expl commands compadd start stop && return ;; - start|stop) _message -e number 'sequence number' ;; - *) _message -e runlevels run\ level ;; - esac - ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_uptime b/result/sw/share/zsh/5.9/functions/_uptime deleted file mode 100644 index 58b4d991..00000000 --- a/result/sw/share/zsh/5.9/functions/_uptime +++ /dev/null @@ -1,26 +0,0 @@ -#compdef uptime guptime - -local variant - -_pick_variant -r variant procps=procps gnu='Free Soft' unix --version - -case $variant in - procps) - _arguments -s -S : \ - '(: -)'{-h,--help}'[display help information]' \ - '(: -)'{-V,--version}'[display version information]' \ - + '(excl)' \ - {-p,--pretty}'[display uptime in pretty format]' \ - {-s,--since}'[display date/time of system boot]' - return - ;; - gnu) - _arguments -S : \ - '(: -)--help[display help information]' \ - '(: -)--version[display version information]' \ - '1:utmp/wtmp file:_files' - return - ;; - # *BSD, Darwin, Solaris, BusyBox - *) _message 'no more arguments'; return 1 ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_urls b/result/sw/share/zsh/5.9/functions/_urls deleted file mode 100644 index f9cdd58c..00000000 --- a/result/sw/share/zsh/5.9/functions/_urls +++ /dev/null @@ -1,182 +0,0 @@ -#compdef -value-,WWW_HOME,-default- -P -value-,(ftp|http(|s))_proxy,-default- - -# Configuration styles used: -# -# urls -# The path to a directory containing a URL database, such as: -# -# % cd ~/.zsh/urls -# % find . -ls -# ... drwxr-xr-x ... 512 Sep 3 02:46 . -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http -# ... drwxr-xr-x ... 512 Sep 3 02:52 ./http/www.zsh.org -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla/workers -# ... drwxr-xr-x ... 512 Sep 3 03:01 ./http/www.zsh.org/mla/workers/1999 -# ... -rw-r--r-- ... 0 Sep 3 03:01 ./http/www.zsh.org/mla/workers/1999/index.html -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http/sunsite.dk -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./http/sunsite.dk/zsh -# ... drwxr-xr-x ... 512 Sep 3 02:47 ./bookmark -# ... drwxr-xr-x ... 512 Sep 3 02:48 ./bookmark/zsh -# ... -rw-r--r-- ... 27 Sep 3 02:47 ./bookmark/zsh/home -# ... -rw-r--r-- ... 20 Sep 3 02:48 ./bookmark/zsh/meta -# % cat bookmark/zsh/home -# http://sunsite.dk/zsh/ -# % cat bookmark/zsh/meta -# http://www.zsh.org/ -# -# Alternatively it may contain the path to a normal file and the URLs will -# be taken from that. Or the style may contain the URLs as its values. -# -# local -# Specify a local web server as an array with three elements: -# <hostname> <doc root> <user area> -# where hostname is the name of the web server, doc root is the path to -# the default web pages for the server and user area is the directory -# name used by a user placing web pages within their home area. -# E.g.: -# zstyle ':completion:*:urls' local www /usr/local/apache/htdocs public_html - -local ipre scheme host user uhosts ret=1 expl match glob suf -local localhttp -zstyle -a ":completion:${curcontext}:urls" local localhttp -local localhttp_servername="$localhttp[1]" -local localhttp_documentroot="$localhttp[2]" -local localhttp_userdir="$localhttp[3]" - -zstyle -a ":completion:${curcontext}:urls" urls urls - -if [[ $#urls -gt 1 || ( $#urls -eq 1 && ! -d $urls[1] ) ]]; then - [[ $#urls -eq 1 && -f $urls[1] ]] && urls=( $(< $urls[1]) ) - _wanted urls expl 'URL' compadd "$@" -a urls && return 0 - urls=() -fi - -urls="$urls[1]" - -glob=(-g '*(^/)') -zparseopts -D -K -E 'g:=glob' - -ipre="$IPREFIX" - -if ! compset -P '(#b)([-+.a-z0-9]#):'; then - _tags -C argument prefixes - while _tags; do - while _next_label prefixes expl 'URL prefix' -S '' "$@"; do - compset -S '[^:/]*' && compstate[to_end]='' - [[ -d $urls/bookmark ]] && - compadd "$expl[@]" bookmark: && ret=0 - compadd "$expl[@]" file: ftp:// gopher:// http:// https:// && ret=0 - done - (( ret )) || return 0 - done - return 1 -fi -scheme="$match[1]" - -case "$scheme" in - (http(|s)|(|s)ftp|scp|gopher) - if ! compset -P //; then - _wanted -C "$scheme" prefixes expl 'end of prefix' compadd -S '' "$@" // - return - fi - ;; - file|unix) - [[ -prefix //(127.0.0.1|localhost)/ ]] && compset -P '//(127.0.0.1|localhost)' - [[ -prefix /// ]] && compset -P // - if ! compset -P //; then - _tags -C file files - while _tags; do - while _next_label files expl 'local file'; do - if [[ -prefix / ]]; then - _path_files "$expl[@]" -S '' "${glob[@]}" && ret=0 - _path_files "$expl[@]" -S/ -r '/' -/ && ret=0 - elif [[ -z "$PREFIX" ]]; then - compadd -S '/' -r '/' "$expl[@]" "$@" - "${PWD%/}" && ret=0 - fi - done - (( ret )) || return 0 - done - return 1 - fi - ;; - bookmark) - if [[ -f "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" && - -s "$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}" ]]; then - _wanted -C bookmark bookmarks expl bookmark \ - compadd "$@" -U - \ - "$ipre$(<"$urls/$scheme/${(Q)PREFIX}${(Q)SUFFIX}")" && ret=0 - else - _tags -C bookmark files - while _tags; do - while _next_label files expl 'bookmark'; do - _path_files -W "$urls/$scheme" "$expl[@]" -S '' "${glob[@]}" && - ret=0 - _path_files -W "$urls/$scheme" -S/ -r '/' "$expl[@]" -/ && ret=0 - done - (( ret )) || return 0 - done - fi - return ret - ;; -esac - -# Complete hosts -if ! compset -P '(#b)([^:/]#)([:/])'; then - uhosts=($urls/$scheme/$PREFIX*$SUFFIX(/:t)) - - _tags hosts - while _tags; do - while _next_label hosts expl host; do - compset -S '[:/]*' || suf="/" - (( $#uhosts )) || _hosts -S "$suf" -r '/:' "$expl[@]" && ret=0 - [[ "$scheme" = http ]] && uhosts=($uhosts $localhttp_servername) - compadd -S "$suf" -r '/:' "$expl[@]" -a uhosts && ret=0 - done - (( ret )) || return 0 - done - return 1 -fi -host="$match[1]" - -[[ $match[2] = ':' ]] && ! compset -P '<->/' && _message -e ports 'port number' && return 0 - -# Complete part after hostname - -_tags remote-files files || return 1 - -if [[ "$localhttp_servername" = "$host" ]]; then - if compset -P \~; then - if ! compset -P '(#b)([^/]#)/'; then - _users -S/ "$@" - return - fi - user="$match[1]" - while _tags; do - while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W ~$user/$localhttp_userdir "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W ~$user/$localhttp_userdir-/ && ret=0 - done - (( ret )) || return 0 - done - else - while _tags; do - while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W $localhttp_documentroot "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W $localhttp_documentroot -/ && ret=0 - done - (( ret )) || return 0 - done - fi -else - while _tags; do - (( $#urls )) && while _next_label files expl 'local file'; do - _path_files "$expl[@]" "$@" -W $urls/$scheme/$host "${glob[@]}" && ret=0 - _path_files -S/ -r '/' "$expl[@]" -W $urls/$scheme/$host -/ && ret=0 - done - [[ $scheme = (scp|sftp) ]] && _requested remote-files && - _remote_files -h $host -- ssh && ret=0 - (( ret )) || return 0 - done -fi -return $ret diff --git a/result/sw/share/zsh/5.9/functions/_urpmi b/result/sw/share/zsh/5.9/functions/_urpmi deleted file mode 100644 index 21c44ffa..00000000 --- a/result/sw/share/zsh/5.9/functions/_urpmi +++ /dev/null @@ -1,297 +0,0 @@ -#compdef urpme urpmi urpmi.addmedia urpmi.removemedia urpmi.update urpmq urpmf parsehdlist - -_urpmi_media() { - # TODO should we probe for active media only? - compadd "$@" - ${(f)"$(urpmq --list-media 2> /dev/null)"} -} - -_urpmi_rpms() { - local ret=1 expl - - _tags rpms files - - while _tags; do - if _requested rpms expl 'urpmi RPM'; then - local -a pkgs - pkgs=( $(urpmq --list 2> /dev/null \ - ${(k)opt_args[--media]:-${opt_args[--searchmedia]:+--media}} \ - ${(v)opt_args[--media]}${opt_args[--searchmedia]:+${opt_args[--media]:+,}${opt_args[--searchmedia]}} \ - ${(k)opt_args[--excludemedia]} ${(v)opt_args[--excludemedia]} - ) - ) - compadd "$expl[@]" -a pkgs && ret=0 - fi - - _requested files expl '(S)RPM file' \ - _files -g '*.(#i)rpm(-.)' && ret=0 - - (( ret )) || break - done - - return ret -} - -# TODO add completion of remote directory for SSH, rsync, ftp -_urpmi_media_url() { - local expl ret=1 - - if compset -P file:// || compset -P removable://; then - _files "$@" -W / -/ && ret=0 - elif [[ -prefix '(ftp|http)://' ]]; then - _urls "$@" && ret=0 - else - if (( ${+opt_args[--virtual]} )); then - _wanted mediatype expl 'type of media' \ - compadd -S "" "$@" -- file:// && ret=0 - else - _wanted mediatype expl 'type of media' \ - compadd -S "" "$@" -- ssh:// rsync:// file:// http:// ftp:// removable:// && ret=0 - fi - fi - - return ret -} - -_urpme_package() { - local -a _rpms - _rpms=( $(_call_program packages rpm -qa) ) - compadd "$@" -a _rpms -} - -_urpmi_parallel_alias() { - # placeholder as I do not actually have parallel system to test - return 1 -} - -_urpmi() { - local ret=1 help="--help -h" - local -a opts_help opts_net opts_verbose opts_inst_rem opts_search opts_media - - opts_help=( - "(: -)"{--help,-h}"[print usage information]" - ) - - opts_net=( - "($help --wget)--curl[use curl to retrieve distant files]" - "($help)--limit-rate[limit the download speed]:download speed (b/s)" - "($help)--proxy:proxy host:_hosts" - "($help)--proxy-user:proxy user:_users" - "($help --curl)--wget[use wget to retrieve distant files]" - ) - - opts_verbose=( - "(--help -h -v)-q[quiet mode]" - "(--help -h -q)-v[verbose mode]" - ) - opts_inst_rem=( - "($help)--auto[automatically select a package in choices]" - "($help)--force[force invocation even if some packages do not exist]" - "($help)--parallel[distributed urpmi across machines of alias]:urpmi alias name:_urpmi_parallel_alias" - "($help)--root[use another root for rpm installation]:root directory:_files -/" - "($help)--test[test only, do not modify system]" - "($help)-a[select all matches on command line]" - ) - - opts_search=( - "($help --fuzzy -z)"{--fuzzy,-y}"[return all matches even if exact match exists]" - "($help -p -P)-p[allow search in provides to find package]" - "($help -p -P)-P[do not search in provides to find package]" - ) - - opts_media=( - "($help)--excludemedia[do not use the given media]:urpmi media:_sequence _urpmi_media" - "($help --update --use-distrib)--media[use only the media listed by comma]:urpmi media:_sequence _urpmi_media" - "($help)--searchmedia[use only the given media to search requested (or updated) packages]:urpmi media:_urpmi_media" - "($help)--sortmedia[sort media according to substrings separated by comma]:urpmi media:_sequence _urpmi_media" - "($help)--synthesis[use the given synthesis instead of urpmi db]:synthesis file:_url" - "($help --media --use-distrib)--update[use only update media]" - "($help --media --update)--use-distrib[configure urpmi on the fly from a distrib tree]:installation media:_urpmi_media_url" - ) - - case "$service" in - urpme ) - _arguments -A '-*' \ - $opts_help \ - $opts_inst_rem \ - "--auto[do not ask any question]" \ - "-v[verbose]" \ - ": :_urpme_package" && ret=0 - ;; - urpmi.addmedia ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - "($help)--arch[use specified architecture]:Mandrake architecture: " \ - "($help :)--distrib[automatically create all media from an installation medium]:media URL:_urpmi_media_url" \ - "($help)--from[use specified url for list of mirrors]:mirror URL:_url" \ - "($help)--no-md5sum[disable MD5SUM file checking]" \ - "($help --probe-hdlist --probe-synthesis)--no-probe[do not try to find any synthesis or hdlist file]" \ - "($help --no-probe --probe-synthesis)--probe-hdlist[try to find and use hdlist file]" \ - "($help --no-probe --probe-hdlist)--probe-synthesis[try to find and use synthesis file]" \ - "($help)--update[mark as update media]" \ - "($help)--version[use specified distribution version]:Mandrake version: " \ - "($help)--virtual[create virtual media which are always up-to-date]" \ - "($help)-c[clean headers cache directory]" \ - "($help)-f[force generation of hdlist files]" \ - "($help --distrib):name of media: " \ - "($help --distrib):media URL:_urpmi_media_url" \ - "($help --distrib): :(with)" \ - "($help --distrib):relative path to hdlist file" \ - && ret=0 - ;; - urpmi.removemedia ) - _arguments -A '-*' \ - $opts_help \ - $opts_verbose \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help :)-a[select all media]" \ - "($help)-c[clean headers cache directory]" \ - "($help)-y[fuzzy matching on media names]" \ - "(-a)"{,\*}":media:_sequence _urpmi_media" \ - && ret=0 - ;; - urpmi.update ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help)--force-key[force update of gpg key]" \ - "($help : -a)--update[update only update media]" \ - "($help --update :)-a[select all non-removable media]" \ - "($help)-c[clean /var/cache/urpmi/headers on exit]" \ - "($help)*-f[force generation of hdlist files]" \ - "($help -a)"{,\*}":media:_sequence _urpmi_media" \ - && ret=0 - ;; - urpmi ) - _arguments -A '-*' \ - $opts_help \ - $opts_net \ - $opts_verbose \ - $opts_inst_rem \ - $opts_search \ - $opts_media \ - "($help : -)"{--help,-h}"[print usage information]" \ - "($help)--allow-force[allow asking user to install packages without dependencies checking and integrity]" \ - "($help)--allow-nodeps[allow asking user to install packages without dependencies checking]" \ - "($help)--auto-select[automatically select packages to upgrade the system]" \ - "($help --env)--bug[output a bug report in given directory]:directory for bug report:_files -/" \ - "($help -X)--best-output[automatically select text or X interface]" \ - "($help --noclean)--clean[remove rpm from cache before anything else]" \ - "($help --clean)--noclean[keep rpm not used in cache]" \ - "($help --bug)--env[use specific environment (typically result of --bug)]:directory for bug report:_files -/" \ - "($help)--excludedocs[exclude docs files]: " \ - "($help)--excludepath[exclude path separated by comma]:path: " \ - "($help)--install-src[install only source package (no binaries)]" \ - "($help)--keep[keep existing packages if possible]" \ - "($help)--more-choices[propose more choices than the default]" \ - "($help --no-resume)--resume[resume transfer of partially-downloaded files]" \ - "($help --resume)--no-resume[do not resume transfer of partially-downloaded files]" \ - "($help)--root[use another root for rpm installation]:root directory:_files -/" \ - "($help)--skip[packages which installation should be skipped]:packages: " \ - "($help)--split-length[small transaction length]:transaction length: " \ - "($help)--split-level[split in small transaction]:transaction size: " \ - "($help --src -s)"{--src,-s}"[next package is source package]" \ - "($help)--strict-arch[upgrade only packages with the same architecture]" \ - "($help)--no-uninstall[never ask to uninstall a package, abort the installation]" \ - "($help --verify-rpm)--no-verify-rpm[do not verify rpm signature before installation]" \ - "($help --no-verify-rpm)--verify-rpm[verify rpm signature before installation]" \ - "($help)-a[select all packages matching command line]" \ - "($help -m -M)-m[choose minimum closure of requires (default)]" \ - "($help -m -M)-M[choose maximum closure of requires]" \ - "($help --best-output)-X[use X interface]" \ - "($help)"{,\*}": :_urpmi_rpms" \ - && ret=0 - ;; - urpmq ) - _arguments -A '-*' \ - $opts_help \ - $opts_media \ - $opts_search \ - "($help)--auto-select[automatically select packages for upgrading the system]" \ - "($help)--force[ignore non-existent packages]" \ - "($help)--headers[extract headers for package listed from urpmi db to stdout]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list[list available packages]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-media[list available media]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-url[list available url]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-nodes[list available nodes]" \ - "($help : -list --list-media --list-url --list-nodes --list-aliases)--list-aliases[list available aliases]" \ - "($help)--sources[show full path to package file]" \ - "($help --src -s)"{--src,-s}"[next package is source package]" \ - "($help)--summary[print RPM summary]" \ - "($help)-c[complete output with package to be removed]" \ - "($help)-d[extend query to package dependencies]" \ - "($help)-f[print version, release and arch with name]" \ - "($help)-g[print groups too with name]" \ - "($help)-i[print useful information in human readable form]" \ - "($help)-l[list files in package]" \ - "($help)-r[print version and release too with name]" \ - "($help)-R[reverse search to what requires package]" \ - "($help)-u[remove package if a better version is already installed]" \ - "($help -list --list-media --list-url --list-nodes --list-aliases)*:urpmi package name":_urpmi_rpms \ - && ret=0 - ;; - urpmf ) - # TODO this is not complete, some operators are missing - _arguments -A '-*' \ - $opts_help \ - $opts_media \ - "($help --name --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--all[print all tags]" \ - "($help --all --name)--buildhost[print tag buildhost: build host]" \ - "($help --all --name)--conflicts[print tag conflicts: all conflicts]" \ - "($help --all --name)--description[print tag description: description]" \ - "($help --all --name)--epoch[print tag epoch: epoch]" \ - "($help --all --name)--files[print tag files: all files]" \ - "($help --all --name)--group[print tag group: group]" \ - "($help --all --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--name[print only package names]" \ - "($help --all --name)--obsoletes[print tag obsoletes: all obsoletes]" \ - "($help --verbose)--quiet[do not print tag name]" \ - "($help --all --name)--packager[print tag packager: packager]" \ - "($help --all --name)--provides[print tag provides: all provides]" \ - "($help --all --name)--requires[print tag requires: all requires]" \ - "($help --all --name)--size[print tag size: size]" \ - "($help --all --name)--sourcerpm[print tag sourcerpm: source rpm]" \ - "($help --all --name)--summary[print tag summary: summary]" \ - "($help)--uniq[do not print identical lines]" \ - "($help --all --name)--url[print tag url: url]" \ - "($help --quiet)--verbose[verbose mode]" \ - "($help)*-a[binary AND operator]" \ - "($help)-i[ignore case distinctions in every pattern]" \ - "($help)-f[print version, release and arch with name]" \ - "($help)-e[include perl code directly as perl -e]:perl code: " \ - "($help)*-o[binary OR operator]" \ - && ret=0 - ;; - parsehdlist ) - # TODO this is not complete, some operators are missing - _arguments -A '-*' \ - $opts_help \ - "($help --interactive --quiet --name --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--all[print all tags]" \ - "($help --all --interactive --name)--buildhost[print tag buildhost: build host]" \ - "($help --all --interactive --name)--conflicts[print tag conflicts: all conflicts]" \ - "($help --all --interactive --name)--description[print tag description: description]" \ - "($help --all --interactive --name)--epoch[print tag epoch: epoch]" \ - "($help --all --interactive --name)--files[print tag files: all files]" \ - "($help --all --interactive --name)--group[print tag group: group]" \ - "($help --all --interactive --group --size --epoch --summary --description --sourcerpm --packager --buildhost --url --provides --requires --files --conflicts --obsoletes)--name[print only package names]" \ - "($help --all --interactive --name)--obsoletes[print tag obsoletes: all obsoletes]" \ - "($help --interactive)--quiet[do not print tag name]" \ - "($help --all --interactive --name)--packager[print tag packager: packager]" \ - "($help --all --interactive --name)--provides[print tag provides: all provides]" \ - "($help --all --interactive --name)--requires[print tag requires: all requires]" \ - "($help --all --interactive --name)--size[print tag size: size]" \ - "($help --all --interactive --name)--sourcerpm[print tag sourcerpm: source rpm]" \ - "($help --all --interactive --name)--summary[print tag summary: summary]" \ - "($help)--uniq[do not print identical lines]" \ - "($help --all --interactive --name)--url[print tag url: url]" \ - "*:hdlist file:_files -g '*.cz(-.)'" \ - && ret=0 - ;; - esac - - return ret -} - -_urpmi "$@" diff --git a/result/sw/share/zsh/5.9/functions/_urxvt b/result/sw/share/zsh/5.9/functions/_urxvt deleted file mode 100644 index 2d7c0957..00000000 --- a/result/sw/share/zsh/5.9/functions/_urxvt +++ /dev/null @@ -1,72 +0,0 @@ -#compdef rxvt urxvt urxvtc urxvt256c urxvt256cc urxvt256c-ml urxvt256c-mlc - -local curcontext="$curcontext" state line expl ret=1 -local -a suf long_args -typeset -A opt_args -typeset -U extensions - -[[ -prefix -- ]] || zstyle -T ":completion:${curcontext}:options" prefix-needed && - : ${(A)long_args:=${${${${${${${(M)${(f)"$(urxvt --help 2>&1)"}:# *:*}/ /--}// /}/fontname/fontname:->fonts}/:color/:color:_x_color}/boolean/boolean:(true false)}/:(searchpath|file)/:path:_files}} - -_x_arguments \ - -+{rv,ls,j,ss,ptab,sb,sr,st,si,sk,sw,ip,tr,ut,vb,tcw,insecure,uc,bc,pb,is,override-redirect,hold,bl,sbg,ssc,ssr} \ - '-tn[specify value of TERM]:terminal type:_terminals' \ - '-C[intercept console messages]' \ - '-iconic[start iconic]' \ - '-cd[start shell in specific directory]:directory:_files -/' \ - '-sbt[scroll bar thickness]:pixels' \ - '-tint[tint color]:color:_x_color' \ - '-fade[make colors darker when losing focus]:percentage' \ - '-fadecolor[specify target color for off-focus fading]:color:_x_color' \ - '-sh[shade background when tinting]:percentage' \ - '-bg[background color]:color:_x_color' \ - '-fg[foreground color]:color:_x_color' \ - '-hc[highlight color]:color:_x_color' \ - '-cr[cursor color]:color:_x_color' \ - '-pr[pointer color]:color:_x_color' \ - '-pr2[pointer background color]:color:_x_color' \ - '-bd[border color]:color:_x_color' \ - '-pixmap:pixmap:_files' \ - '-icon[specify icon image]:image file:_files' \ - '-fn:normal font:->fonts' \ - '-fb:bold font:->fonts' \ - '-fi:italic font:->fonts' \ - '-fbi:bold italic font:->fonts' \ - '-im:input method:(SCIM)' \ - '-pe[enable perl extension]:perl extension:->extensions' \ - '-pt:input style:(OverTheSpot OffTheSpot Root)' \ - '-imlocale:locale input method:_locales' \ - '-imfont:fontset for styles OverTheSpot and OffTheSpot:_x_font' \ - '-name:client instance, icon, and title strings' \ - '(-T -title)'{-T,-title}':title name for window' \ - '-n:icon name for window' \ - '-sl:save lines' \ - '-embed:window id to embed terminal in:_x_window' \ - '-pty-fd:file descriptor of pty to use' \ - {-bw,-w}':external border (pixels)' \ - '-b:internal border (pixels)' \ - '-lsp:number of extra pixels between rows' \ - '-letsp:letter spacing adjustment' \ - '-mod:meta modifier:_x_modifier' \ - '-e:program: _command_names -e:*::program arguments: _normal' \ - '-help[print help]' \ - '--help[list long options]' $long_args && ret=0 - -case $state in - fonts) - if compset -P xft:; then - _xft_fonts && ret=0 - else - _x_font && ret=0 - fi - ;; - extensions) - compset -S ',*' || suf=( -qS , ) - compset -P '*,'; compset -P - - extensions=( {$commands[urxvt]:h:h,/usr,/usr/local}/lib{,64}/urxvt/perl(N) ) - _wanted extensions expl 'perl extension' compadd $suf[@] default \ - $extensions/*(:t) && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_usbconfig b/result/sw/share/zsh/5.9/functions/_usbconfig deleted file mode 100644 index e7da8132..00000000 --- a/result/sw/share/zsh/5.9/functions/_usbconfig +++ /dev/null @@ -1,63 +0,0 @@ -#compdef usbconfig - -local curcontext="$curcontext" i ret=1 -local -a state line expl devices ids partial args - -_arguments -C \ - '(-d)-u[limit device range to given USBUS unit]:bus:->buses' \ - '(-d)-a[limit device range to given USB device index]:address:->addresses' \ - '(-a -u)-d[limit device range to given unit and address]:device:->devices' \ - '-i[specify interface index]:interface index' \ - '(- 1)-h[display usage information]' \ - '(-)1:command:compadd -M "r:|_=* r:|=*" - set_config set_alt set_template get_template add_dev_quirk_vplh - remove_dev_quirk_vplh add_quirk remove_quirk detach_kernel_driver - dump_quirk_names dump_device_quirks dump_all_desc dump_device_desc - dump_curr_config_desc dump_all_config_desc dump_string dump_info show_ifdrv - suspend resume power_off power_save power_on reset list do_request' \ - '*::: := ->args' && ret=0 - -case $state in - buses) partial=( ${(kv)=opt_args[(i)-a]:--a 1} ) i=1 ;| - addresses) partial=( ${(kv)opt_args[(i)-u]} ) i=2 ;& - buses) - devices=( ${${(f)"$(_call_program usb-devices usbconfig $partial list)"}:#No device*} ) - ids=( ${${(MSI.i.)devices##[^0-9]<->}#?} ) - _wanted usb-$state expl ${state%es} compadd -ld devices -o numeric -a ids && ret=0 - ;; - devices) - devices=( ${${${(f)"$(_call_program usb-devices usbconfig list)"}/: /:}:#No device*} ) - if (( $#devices )); then - _describe -t usb-devices device devices -M 'B:=ugen' && ret=0 - else - _message -e usb-devices device - fi - ;; - args) - curcontext="${curcontext%:*}-$line[1]:" - case $line[1] in - set_config) args=( '1:cfg index' ) ;; - set_alt) args=( '1:alt index' ) ;; - set_template) args=( '1:template (see usb_template(4))' ) ;; - (add|remove)_dev_quirk_vplh) args=( -C - ':vendor id' ':product id' ':low revision' - ':high revision' ':quirk:->quirks' - ) ;; - (add|remove)_quirk) args=( -C '1:quirk:->quirks' ) ;; - dump_string) args=( '1:index' ) ;; - do_request) args=( :bmReqTyp :bReq :wVal :wIdx :wLen '*:data' ) ;; - esac - if (( $#args )); then - _arguments $args && ret=0 - else - _message 'no more arguments' - fi - if [[ $state = quirks ]]; then - _wanted quirks expl quirk compadd \ - -M 'm:{:lower:}={:upper:} r:|_=* r:|=* b:=UQ_' \ - ${${(f)"$(_call_program quirks usbconfig dump_quirk_names)"}:#*list of*} && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_uscan b/result/sw/share/zsh/5.9/functions/_uscan deleted file mode 100644 index 699d5c34..00000000 --- a/result/sw/share/zsh/5.9/functions/_uscan +++ /dev/null @@ -1,17 +0,0 @@ -#compdef uscan - -_arguments \ - '(--report --no-download --download)'{--report,--no-download}'[report but do not download]' \ - '--debug[dump downloaded pages to stdout]' \ - '(--report --no-download --download)--download[report and download]' \ - '(--pasv --no-pasv)--pasv[force passive mode for ftp]' \ - '(--pasv --no-pasv)--no-pasv[do not use passive mode for ftp]' \ - '(--symlink --no-symlink)--symlink[make orig.tar.gz symlinks]' \ - '(--symlink --no-symlink)--no-symlink[do not make orig.tar.gz symlinks]' \ - '(--verbose --no-verbose)--verbose[give verbose output]' \ - '(--verbose --no-verbose)--no-verbose[do not give verbose output]' \ - '--check-dirname-level:level:((0\:never\ check\ the\ directory\ name 1\:only\ check\ directory\ name\ if\ we\ had\ to\ change\ directory 2\:always\ check\ the\ directory\ name))' \ - '--check-dirname-regex:perl regex' \ - '(--no-conf --noconf)'{--no-conf,--noconf}'[do not read any configuration files]' \ - '--help[display help information]' \ - '--version[display version information]' diff --git a/result/sw/share/zsh/5.9/functions/_user_admin b/result/sw/share/zsh/5.9/functions/_user_admin deleted file mode 100644 index db1c977a..00000000 --- a/result/sw/share/zsh/5.9/functions/_user_admin +++ /dev/null @@ -1,172 +0,0 @@ -#compdef useradd usermod groupadd groupmod - -local -a args shells logindefs -local defex - -# this handles solaris, netbsd, openbsd and linux -case ${service%???}:${(M)service%???}:$OSTYPE in - user:*) - if [[ -r /etc/shells ]]; then - shells=( ${${(f)"$(</etc/shells)"}:#\#*} ) - else - shells=( ${(M)commands:#*/(|[abckz]|tc|ba)sh} ) - fi - args+=( - '(-D -c --commend)'{-c+,--comment=}'[comment]:comment' - '(-D -d --home -b --base-dir)'{-d+,--home=}"[specify home directory]:home directory:_directories -W /" - '(-D -e --expiredate)'{-e+,--expiredate}'[specify expiration date]:expiration date (YYYY-MM-DD)' - '(-D -f --inactive)'{-f+,--inactive=}'[specify inactive days]:inactive days' - '(-D -g --gid)'{-g+,--gid=}'[specify primary group]:initial group:_groups' - '(-D -G --groups)'{-G+,--groups=}'[specify supplementary groups]:supplementary group:_sequence _groups' - '(-D -s --shell)'{-s+,--shell=}"[shell]:shell:( $shells /bin/false )" - '(-D -u --uid)'{-u+,--uid=}'[specify uid]:uid' - '(-D -o --non-unique)'{-o,--non-unique}'[allow non unique uid]' - ) - ;| - user:add:*) - [[ $OSTYPE = linux* ]] && defex=" -k -K -M -p -r -R -Z" - [[ $OSTYPE = (net|open)bsd* ]] && defex=" -p -v" - args+=( - "(-c -d -G -m -l -N -u -U -o -n -S$defex)"{-D,--defaults}'[show or modify defaults]' - '(-D -M -k --skel)'{-k,--skel}'[skeleton home directory]:skeleton directory:_directories -W /' - '(-D -M -m --create-home)'{-m,--create-home}'[create home directory]' - ':username' - ) - ;| - user:add:linux*) - logindefs=( # see login.defs(5) - CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP - PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SUB_GID_COUNT SUB_GID_MAX - SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN SYS_GID_MAX - SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK - ) - args+=( - '(-l --no-log-init)'{-l,--no-log-init}"[don't add user to lastlog and faillog databases]" - '(-m --create-home -M --no-create-home)'{-M,--no-create-home}"[don't create user's home directory, regardless of /etc/login.defs]" - '(-N --no-user-group -U --user-group)'{-N,--no-user-group}"[don't create a group with the same name as the user]" - '(-N --no-user-group -U --user-group)'{-U,--user-group}"[create a group with the same name as the user]" - ) - ;| - user:add:(^solaris2.<-10>)) - args+=( - '(-b --base-dir -d --home-dir)'{-b,--base-dir=}'[specify base directory for new home directory]:directory:_directories' - ) - ;| - user:*:(net|open)bsd*) - args+=( - '-L[specify login class]:login class:_login_classes' - '-p+[specify encrypted password]:encrypted password' - ) - ;| - user:add:(net|open)bsd*) - args+=( '-r[specify UID range]:low.high' ) - ;| - user:add:netbsd*) - args+=( '-M[specify home directory permissions]:permissions (octal)' ) - ;| - user:mod:netbsd*) - args+=( '-C[lock or unlock account]:locked:(yes no)' ) - ;| - user:*:netbsd*) - args+=( - '-F[force password change on first login]' - '-S[allow samba usernames with a trailing dollar]' - ) - ;| - user:mod:openbsd*) - args+=( - '(-G)-S+[set supplementary groups]:supplementary group:_sequence _groups' - "(-U)-Z[lock the account by adding \'-\' to password and shell]" - '(-Z)-U[unlock the account]' - ) - ;| - *:*:(net|open)bsd*) - args+=( '-v[verbose mode - explain commands as they are executed]' ) - ;| - *:*:solaris2.<11->) - args+=( '-S[specify repository]:repository:(files ldap)' ) - ;| - user:*:solaris2.<11->) - args+=( - '-A[specify authorizations]:authorization' - \*{-K,--key=}'[set user attributes]:user attribute' - '-P[specify execution profiles]:profile' - '-R[specify roles]:role' - '-p[specify projects]:project' - ) - ;| - user:mod:solaris2.<11->) - args+=( - '-q[specify host or netgroup to qualify extended attributes]:host or netgroup:_hosts' - ) - ;| - user:mod:linux*) - args+=( - '(-a --append)'{-a,--append}'[add user to supplementary groups without removing from other groups]' - \*{-v,--add-subuids}'[add a range of subordinate uids]:uids (first-last)' - \*{-V,--del-subuids}'[remove a range of subordinate uids]:uids (first-last)' - \*{-w,--add-subgids}'[add a range of subordinate gids]:gids (first-last)' - \*{-W,--del-subgids}'[remove a range of subordinate gids]:gids (first-last)' - ) - ;| - user:mod:*) - args+=( - '(-l --no-log-init)'{-l,--no-log-init}'[specify new user name]:new username' - '(-m --move-home)'{-m,--move-home}'[move home directory contents to new location]' - ':username:_users' - ) - ;| - user:*:linux*) - args+=( - '(-U --unlock --lock -L -p)'{-L,--lock}"[lock user's password]" - '(-U --unlock --lock -L -p)'{-U,--unlock}"[unlock user's password]" - '(-Z --selinux-user)'{-Z,--selinux-user}"[specify SELinux user for the user's login]:user" - ) - ;| - group:*) - args+=( - '(-g --gid)'{-g+,--gid=}'[specify gid]:gid' - '(-o --non-unique)'{-o,--non-unique}'[allow non unique gid]' - ) - ;| - group:add:linux*) - logindefs=( GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN ) - args+=( - '(-r --system)'{-r,--system}'[create a system account]' - '(-f --force)'{-f,--force}'[exit successfully if group already exists; cancel -g if GID in use]' - ) - ;| - group:*:solaris2.<11->) - args+=( '-U[add users to the group]:user:_sequence _users' ) - ;| - *:add:linux*) - args+=( - \*{-K,--key=}'[override /etc/login.defs defaults]:key: _values 'key' ${^logindefs}\:value' - ) - ;| - group:add:netbsd*) - args+=( '-r[specify GID range]:low.high' ) - ;| - *:*:linux*) - args+=( - '(-R --root)'{-R,--root=}'[specify directory to chroot into]:directory:_directories' - '(-P --prefix)'{-P,--prefix=}"[specify root directory to apply changes in but don't chroot]:directory:_directories" - '(-D -U -L -p --password)'{-p+,--password=}'[specify encrypted password]:encrypted password' - '(-)'{-h,--help}'[display help information]' - ) - ;| - group:add:*) - args+=( ':group name' ) - ;| - group:mod:*) - args+=( - '(-n --new-name)'{-n,--new-name}'[specify new group name]:new group name' - ':group:_groups' - ) - ;| - ^*:linux*) - args=( ${(R)args:#(|\*)(|\(*\))--*} ) # remove long options - ;| -esac - -_arguments -A "-*" -s $args[@] diff --git a/result/sw/share/zsh/5.9/functions/_user_at_host b/result/sw/share/zsh/5.9/functions/_user_at_host deleted file mode 100644 index a242ddeb..00000000 --- a/result/sw/share/zsh/5.9/functions/_user_at_host +++ /dev/null @@ -1,31 +0,0 @@ -#autoload - -# Complete user/host combinations. Normally this looks for the style -# `users-hosts' for the tag `accounts'. A different tag may be given -# with `-t tag'. -# A `-' or `--' as the first argument is ignored. - -local expl suf tag=accounts - -if [[ "$1" = -t?* ]]; then - tag="${1[3,-1]}" - shift -elif [[ "$1" = -t ]]; then - tag="$2" - shift 2 -fi - -[[ "$1" = -(|-) ]] && shift - -if [[ -prefix 1 *@ ]]; then - local user=${PREFIX%%@*} - - compset -P 1 '*@' - - _wanted -C user-at hosts expl "host for $user" \ - _combination -s '[:@]' "${tag}" users-hosts users="$user" hosts "$@" - -else - compset -S '@*' || suf="@" - _wanted users expl "user" \ - _combination -s '[:@]' "${tag}" users-hosts users -S "$suf" -q "$@" - -fi diff --git a/result/sw/share/zsh/5.9/functions/_user_expand b/result/sw/share/zsh/5.9/functions/_user_expand deleted file mode 100644 index ee39bb17..00000000 --- a/result/sw/share/zsh/5.9/functions/_user_expand +++ /dev/null @@ -1,147 +0,0 @@ -#autoload - -# This completer function is an addition to the _expand completer that -# allows the user to define their own expansions. It does not replace -# the _expand completer. -# -# This function will allow other completer functions to be called if -# the expansions done produce no result or do not change the original -# word from the line. - -setopt localoptions nonomatch - -[[ _matcher_num -gt 1 ]] && return 1 - -local exp word sort expr expl subd suf=" " asp tmp spec REPLY -local -a specs reply - -if [[ "$funcstack[2]" = _prefix ]]; then - word="$IPREFIX$PREFIX$SUFFIX" -else - word="$IPREFIX$PREFIX$SUFFIX$ISUFFIX" -fi - -# In exp we will collect the expansions. - -exp=("$word") - -# Now look for user completions. - -zstyle -a ":completion:${curcontext}:" user-expand specs || return 1 - -for spec in $specs; do - REPLY= - case $spec in - ('$'[[:IDENT:]]##) - # Spec is an associative array with explicit keys. - # Surely there's a better way of doing an associative array - # lookup from its name? - eval tmp='${'$spec[2,-1]'[$word]}' - if [[ -n $tmp ]]; then - exp=("$tmp") - break - fi - ;; - - ('_'*) - reply=() - $spec $word - if (( ${#reply} )); then - exp=("${reply[@]}") - break - fi - ;; - esac -done - -[[ $#exp -eq 1 && "$exp[1]" = "$word" ]] && return 1 - -# Now add as matches whatever the user requested. - -zstyle -s ":completion:${curcontext}:" sort sort - -[[ "$sort" = (yes|true|1|on) ]] && exp=( "${(@o)exp}" ) - -if zstyle -s ":completion:${curcontext}:" add-space tmp; then - if [[ "$tmp" != *subst* || "$word" != *\$* || "$exp[1]" = *\$* ]]; then - [[ "$tmp" = *file* ]] && asp=file - [[ "$tmp" = *(yes|true|1|on|subst)* ]] && asp="yes$asp" - fi -else - asp=file -fi - -# If there is only one expansion, add a suitable suffix - -if (( $#exp == 1 )); then - if [[ -d ${exp[1]} && "$exp[1]" != */ ]]; then - suf=/ - elif [[ "$asp" = yes* || - ( "$asp" = *file && -f "${exp[1]}" ) ]]; then - suf=' ' - else - suf= - fi -fi - -if [[ -z "$compstate[insert]" ]] ;then - if [[ "$sort" = menu ]]; then - _description expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - fi - - compadd "$expl[@]" -UQ -qS "$suf" -a exp -else - _tags all-expansions expansions original - - if [[ $#exp -ge 1 ]] && _requested expansions; then - local i j normal space dir - - if [[ "$sort" = menu ]]; then - _description expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V expansions expl "expansions${REPLY:+: $REPLY}" "o:$word" - fi - normal=() - space=() - dir=() - - for i in "$exp[@]"; do - j="${i}" - if [[ -d "$j" && "$i" != */ ]]; then - dir=( "$dir[@]" "$i" ) - elif [[ "$asp" = yes* || ( "$asp" = *file && -f "$j" ) ]]; then - space=( "$space[@]" "$i" ) - else - normal=( "$normal[@]" "$i" ) - fi - done - (( $#dir )) && compadd "$expl[@]" -UQ -qS/ -a dir - (( $#space )) && compadd "$expl[@]" -UQ -qS " " -a space - (( $#normal )) && compadd "$expl[@]" -UQ -qS "" -a normal - fi - if _requested all-expansions; then - local disp dstr - - if [[ "$sort" = menu ]]; then - _description all-expansions expl "all expansions${REPLY:+: $REPLY}" "o:$word" - else - _description -V all-expansions expl "all expansions${REPLY:+: $REPLY}" "o:$word" - fi - if [[ "${#${exp}}" -ge COLUMNS ]]; then - disp=( -ld dstr ) - dstr=( "${(r:COLUMNS-5:)exp} ..." ) - else - disp=() - fi - [[ -o multios ]] && exp=($exp[1] $compstate[redirect]${^exp[2,-1]}) - compadd "$disp[@]" "$expl[@]" -UQ -qS "$suf" - "$exp" - fi - - _requested original expl original && compadd "$expl[@]" -UQ - "$word" - - compstate[insert]=menu -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/_user_math_func b/result/sw/share/zsh/5.9/functions/_user_math_func deleted file mode 100644 index 35a49d50..00000000 --- a/result/sw/share/zsh/5.9/functions/_user_math_func +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl -local -a funcs - -funcs=(${${${(f)"$(functions -M)"}##functions -M }%% *}) - -_wanted user-math-functions expl 'user math function' \ - compadd -S '(' -q "$@" -a funcs diff --git a/result/sw/share/zsh/5.9/functions/_users b/result/sw/share/zsh/5.9/functions/_users deleted file mode 100644 index 2ea3b145..00000000 --- a/result/sw/share/zsh/5.9/functions/_users +++ /dev/null @@ -1,10 +0,0 @@ -#compdef passwd groups userdel chage chfn - -local expl users - -if zstyle -a ":completion:${curcontext}:users" users users; then - _wanted users expl user compadd "$@" -a - users - return -fi - -_wanted users expl user compadd "$@" -k - userdirs diff --git a/result/sw/share/zsh/5.9/functions/_users_on b/result/sw/share/zsh/5.9/functions/_users_on deleted file mode 100644 index ccda5b8f..00000000 --- a/result/sw/share/zsh/5.9/functions/_users_on +++ /dev/null @@ -1,11 +0,0 @@ -#compdef write - -local expl - -if (( $+commands[users] )); then - _wanted users expl 'users logged on' \ - compadd "$@" - $(_call_program users users) && return 0 -else - # Other methods of finding out users logged on should be added here - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_valgrind b/result/sw/share/zsh/5.9/functions/_valgrind deleted file mode 100644 index b4bb3248..00000000 --- a/result/sw/share/zsh/5.9/functions/_valgrind +++ /dev/null @@ -1,266 +0,0 @@ -#compdef valgrind -value-,VALGRIND_OPTS,-default- - -local curcontext="$curcontext" state line -local -a cmd common_{own_malloc,read_varinfo,report_errors,partial} -local -a args args_{addrcheck,drd,memcheck,cachegrind,helgrind,lackey,massif,none,exp_{bbv,dhat,sgcheck}} - -cmd=( - '1: : _command_names -e' - '*::args :_normal' -) - -if [[ $service = *_OPTS* ]]; then - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - cmd=() -fi - -common_own_malloc=( - '--alignment=-[set minimum alignment of heap allocations]:number [16]' - '--redzone-size=-[set minimum size of redzones added before/after heap blocks]:size (bytes) [16]' - '--xtree-memory=-[profile heap memory in an xtree [none]:(none allocs full)' - '--xtree-memory-file=-[specify xtree memory report file]:file [xtmemory.kcg.%%p]:_files' -) - -common_read_varinfo=( - '--read-var-info=-[read DWARF3 debug info]:enable:(yes no)' -) - -common_report_errors=( - '--xml=-[output everything in XML]:enable:(yes no)' - '--xml-fd=-[send XML output to file descriptor]:file descriptor:_file_descriptors' - '--xml-file=-[send XML output to specified file]:file:_files' - '--xml-socket=-[send XML output to specified socket]:socket:_hosts' - '--xml-user-comment=-[copy specified string verbatim to XML output]:string' - '--demangle=-[automatically demangle C++ names]:enable:(yes no)' \ - '--num-callers=-[specify no of callers to show in stack traces]:number' \ - '--error-limit=-[stop showing new errors if too many]:enable:(yes no)' \ - '--exit-on-first-error=-[exit on the first error]:enable:(yes no)' \ - '--error-exitcode=-[exit code to return if errors found]:exit code' \ - '--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \ - '(--show-error-list)-s[show detected errors list and suppression counts at exit]' \ - '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no)' - '--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \ - '--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \ - '--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \ - '--suppressions=-[suppress errors described in specified file]:file:_files' \ - '--gen-suppressions=-[print suppressions for errors detected]:enable:(yes no)' \ - '--input-fd=-[specify file descriptor for input]:file descriptor:_file_descriptors' \ - '--max-stackframe=-[assume stack switch for SP changes larger than specified size]:size (bytes)' \ - "--main-stacksize=-[set size of main thread's stack]:size (bytes)" \ -) -[[ $OSTYPE = darwin* ]] && common_report_errors+=( - '--dsymutil=-[run dsymutil on Mac OS X when helpful]:enable [yes]:(yes no)' -) - -common_partial='--partial-loads-ok=-:enable:(yes no)' - -args_addrcheck=( - $common_own_malloc - $common_mem_null - '--leak-check=-[search for memory leaks at exit]:enable [summary]:(no summary full)' - '--leak-resolution=-[specify differentiation of leak stack traces]:level [high]:(low med high)' - '(--show-reachable --show-possibly-lost)--show-leak-kinds=-[specify leak kinds to show]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable' - '--errors-for-leak-kinds=-[specify which leak kinds are errors]:leak kind [definite,possible]:_sequence compadd - definite indirect possible reachable all none' - '--leak-check-heuristics=-[specify heuristics to use for during leak searches]:heuristic:_sequence compadd - stdstring length64 newarray multipleinheritance all none' - '(--show-leak-kinds)--show-reachable=-[show reachable blocks in leak check]:enable:(yes no)' - '(--show-leak-kinds)--show-possibly-lost=-:enable:(yes no)' - '--xtree-leak=-[output leak result in xtree format]:enable [no]:(yes no)' - '--xtree-leak-file=-[specify xtree leak report file]:file [xtleak.kcg.%%p]:_files' - '--undef-value-errors=-[check for undefined value errors]:enable [yes]:(yes no)' - '--track-origins=-[show origins of undefined values]:enable [no]:(yes no)' - $common_partial - '--expensive-definedness-checks=-[use extra-precise definedness tracking]:enable [auto]:(no auto yes)' - '--freelist-vol=-[specify volume of freed blocks queue]:blocks [20000000]' - '--freelist-big-blocks=-[release first blocks larger than specified size]:size [1000000]' - '--workaround-gcc296-bugs=-:enable [no]:(yes no)' - '--ignore-ranges=-[assume given addresses are OK]:address ranges' - "--ignore-range-below-sp=-[don't report errors for accesses at the given offsets below SP]:offsets" - "--malloc-fill=-[fill malloc'd areas with given value]:value (hex)" - "--free-fill=-[fill free'd areas with given value]:value (hex)" - "--keep-stacktraces=-[control which stack traces to keep for malloc'd/free'd areas]:stack traces [alloc-and-free]:(alloc free alloc-and-free alloc-then-free none)" - "--show-mismatched-frees=-[show frees that don't match the allocator]:enable [yes]:(yes no)" -) - -args_drd=( - $common_own_malloc - $common_read_varinfo - $common_report_errors - '--check-stack-var=-[detect data races on stack variables]:enable [no]:(yes no)' - '--exclusive-threshold=-[print an error if any mutex or writer lock is held longer than specified time]:time (ms)' - '--first-race-only=-[report only the first detected data race]:enable [no]:(yes no)' - '--free-is-write=-[report races between accessing memory and freeing memory]:enable [no]:(yes no)' - '--join-list-vol=-[specify how many joined threads to retain memory access information for]:number of threads [10]' - '--report-signal-unlocked=-[report calls to pthread_cond_signal etc where the mutex is not locked]:enable [yes]:(yes no)' - '--segment-merging=-[control segment merging]:enable [yes]:(yes no)' - '--segment-merging-interval=-[perform segment merging only after the specified number of new segments have been created]:number of segments [10]' - '--shared-threshold=-[print an error if a reader lock is held longer than the specified time]:time (ms)' - '--show-confl-seg=-[show conflicting segments in race reports]:enable [yes]:(yes no)' - '--show-stack-usage=-[print stack usage at thread exit time]:enable [no]:(yes no)' - '--ignore-thread-creation=-[control whether all activities during thread creation should be ignored]:enable [no]:(yes no)' - '*--ptrace-addr=-[trace all load and store activity for specified address even after free]:address' - '*--trace-addr=-[trace all load and store activity for specified address]:address' - '--trace-alloc=-[trace all memory allocations and deallocations]:enable [no]:(yes no)' - '--trace-barrier=-[trace all barrier activity]:enable [no]:(yes no)' - '--trace-cond=-[trace all condition variable activity]:enable [no]:(yes no)' - '--trace-fork-join=-[trace all thread creation and all thread termination events]:enable [no]:(yes no)' - '--trace-hb=-[trace execution of the ANNOTATE_HAPPENS_BEFORE(), ANNOTATE_HAPPENS_AFTER() and ANNOTATE_HAPPENS_DONE() client requests]:enable [no]:(yes no)' - '--trace-mutex=-[trace all mutex activity]:enable [no]:(yes no)' - '--trace-rwlock=-[trace all reader-writer lock activity]:enable [no]:(yes no)' - '--trace-semaphore=-[trace all semaphore activity]:enable [no]:(yes no)' -) - -args_memcheck=( - $args_addrcheck - $common_read_varinfo - $common_report_errors -) - -args_cachegrind=( - '--I1=-[set I1 cache manually]:size,assoc,line_size' - '--D1=-[set D1 cache manually]:size,assoc,line_size' - '--LL=-[set LL cache manually]:size,assoc,line_size' - '--cache-sim=-[collect cache stats]:enable [yes]:(yes no)' - '--branch-sim=-[collect branch prediction stats]:enable [no]:(yes no)' - '--cachegrind-out-file=-[specify output file name]:file name [cachegrind.out.%%p]:_files' -) - -args_helgrind=( - $common_own_malloc - $common_read_varinfo - $common_report_errors - '--free-is-write=-[treat heap frees as writes]:enable [no]:(yes no)' - '--track-lockorders=-[show lock ordering errors]:enable [yes]:(no yes)' - '--history-level=-[specify amount of history to show for data races]:level [full]:(( - full\:show\ both\ stack\ traces\ for\ a\ data\ race\ \(slow\) - approx\:full\ trace\ for\ one\ thread,\ approx\ for\ the\ other\ \(faster\) - none\:only\ show\ trace\ for\ one\ thread\ in\ a\ race\ \(fastest\) - ))' - '--delta-stacktrace=-[derive a stacktrace from the previous stacktrace]:enable:(yes no)' - '--conflict-cache-size=-[specify size of full history cache]:size [2000000]' - '--check-stack-refs=-[race-check reads and writes on the main stack and thread stacks]:enable [yes]:(no yes)' - '--ignore-thread-creation=-[ignore activities during thread creation]:enable [no]:(yes no)' -) - -args_lackey=( - '--basic-counts=-[count instructions, jumps, etc.]:enable [yes]:(yes no)' - '--detailed-counts=-[count loads, stores and alu ops]:enable [no]:(yes no)' - '--trace-mem=-[trace all loads and stores]:enable [no]:(yes no)' - '--trace-superblocks=-[trace all superblock entries]:enable [no]:(yes no)' - '--fnname=-[count calls to specified name]:name [main]' -) - -args_massif=( - $common_own_malloc - '--heap=-[profile heap blocks]:enable [yes]:(yes no)' - '--heap-admin=-[specify average admin bytes per heap block]:size (bytes) [8]' - '--stacks=-[profile stacks]:enable [no]:(yes no)' - '--pages-as-heap=-[profile memory at the page level]:enable [no]:(yes no)' - '--depth=-[depth of contexts]:depth [30]' - '*--alloc-fn=-[specify alloc function]:function' - '*--ignore-fn=-[ignore heap allocations within specified function]:function' - '--threshold=-[specify significance threshold]:threshold (percentage) [1.0]' - '--peak-inaccuracy=-[specify maximum peak inaccuracy]:inaccuracy (percentage) [1.0]' - "--time-unit=-[specify time unit]:unit [i]:(( - i\:instructions\ executed - ms\:milliseconds - b\:heap\ bytes\ alloc\'d/dealloc\'d - ))" - '--detailed-freq=-[every Nth snapshot should be detailed]:snapshot interval [10]' - '--max-snapshots=-[specofy maximum number of snapshots recorded]:maximum [100]' - '--massif-out-file=-[specify output file name]:filename [massif.out.%%p]:_files' -) - -args_exp_bbv=( - '--bb-out-file=-[specify filename for BBV info]:filename:_files' - '--pc-out-file=-[specify filename for BB addresses and function names]:filename:_files' - '--interval-size=-[specify interval size]:size (instructions) [100000000]' - '--instr-count-only=-[only print total instruction count]:enable:(yes no)' -) - -args_exp_dhat=( - '--show-top-n=-[show specified number of the top alloc points]:number [10]' - '--sort-by=-[sort the allocation points by specified metric]:metric [max-bytes-live]:(( - max-bytes-live\:maximum\ live\ bytes - tot-bytes-allocd\:bytes\ allocated\ in\ total\ \(turnover\) - max-blocks-live\:maximum\ live\ blocks - tot-blocks-allocd\:blocks\ allocated\ in\ total\ \(turnover\) - ))' -) - -args_exp_sgcheck=( - $common_partial - $common_report_errors - '--enable-sg-checks=-[enable stack & global array checking]:enable [yes]:(yes no)' -) - -args_none=( - $common_mem_null -) - -args="args_${${${words[(r)--tool=*]#*=}/-/_}:-memcheck}" - -_arguments -C ${(P)args} $cmd \ - '(--version)--tool=-[specify valgrind tool]:valgrind tool:->tools' \ - '(-h --help)'{-h,--help}'[show help information]' \ - '--help-debug[show help info including debugging options]' \ - '--help-dyn-options[show the dynamically changeable options]' \ - '(-)--version[show version]' \ - '(-q --quiet)'{-q,--quiet}'[run silently; only print error msgs]' \ - '(-v --verbose)'{-v,--verbose}'[be more verbose]' \ - '--trace-children=-[valgrind-ise child processes]:enable:(yes no)' \ - '--trace-children-skip=-[specify a list of executables not to trace into]:executables' \ - '--trace-children-skip-by-arg=-[specify a list of executables matched by argv not to trace into]:executables' \ - '--child-silent-after-fork=-[omit child output between fork & exec]:enable:(yes no)' \ - '--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \ - '--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \ - '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \ - '--track-fds=-[track open file descriptors]:enable:(yes no)' \ - '--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \ - '--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \ - '--log-file=-[log messages to specified file with pid appended]:file:_files' \ - '--log-socket=-[log messages to socket]:ipaddr\:port' \ - '*--fullpath-after=-[show full source paths in call stacks]::prefix to remove from paths:_directories' \ - '--extra-debuginfo-path=-[specify absolute path to search for additional debug symbols]:path:_directories' \ - '--debuginfo-server=-[specify server to query for debug symbols]:server:_hosts' \ - "--allow-mismatched-debuginfo=-[accept debuginfo objects that don't match the main object]:enable [no]:(yes no)" \ - '--smc-check=-[check for self-modifying code]:checks [all-non-file]:(none stack all all-non-file)' \ - '--read-inline-info=-[read debug info about inlined functions to improve stack traces]:enable:(yes no)' \ - '--vgdb-poll=-[specify gdbserver poll max]:basic blocks [5000]' \ - '--vgdb-shadow-registers=-[let gdb see the shadow registers]:enable [yes]:(yes no)' \ - '--vgdb-prefix=-[specify prefix for bgdb FIFOs]:prefix:_files' \ - '--run-libc-freeres=-[free up glibc memory at exit]:enable [yes]:(yes no)' \ - '--run-cxx-freeres=-[free up libstdc++ memory at exit]:enable [yes]:(yes no)' \ - '--sim-hints=-[activate unusual sim behaviours]:hint [none]:_sequence compadd - lax-ioctls lax-doors fuse-compatible enable-outer no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none' \ - '--fair-sched=-[schedule threads fairly on multicore systems]:enable [no]:(yes no try)' \ - '--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_sequence compadd - bproc android-no-hw-tls android-gpu-sgx5xx android-gpu-adreno3xx' \ - '--merge-recursive-frames=-[merge frames between identical program counters in specified max frames]:frames [0]' \ - '--num-transtab-sectors=-[specify size of translated code cache]:size (sectors) [32]' \ - '--avg-transtab-entry-size=-[specify average size of a translated basic block]:size (bytes)' \ - '--aspace-minaddr=-[avoid mapping memory below address]:address (0xPP) [guessed]' \ - "--valgrind-stacksize=-[specify size of valgrind (host) thread's stack]:size (bytes) [1048576]" \ - '--show-emwarns=-[show warnings about emulation limits]:enable [no]:(yes no)' \ - '*--require-text-symbol=-[abort run if the specified shared object lacks specified symbol]:\:soname pattern\:symbol pattern' \ - '*--soname-synonyms=-[specify patterns to map sonames to replacements]:soname=replacement' \ - '--sigill-diagnostics=-[warn about illegal instructions]:enable [yes]:(yes no)' \ - '--unw-stack-scan-thresh=-[enable stack-scan unwind if fewer than specified number of good frames found]:frames' \ - '--resync-filter=-[attempt to avoid expensive address-space-resync operations]:enable:(yes no verbose)' \ - '--max-threads=-[specify maximum number of threads that valgrind can handle]:threads [500]' \ - && return - -typeset -a tools - -if [[ -n "$state" ]]; then - # `valgrind --tool=` no longer works. - # The method below is even more hackish, but the only one I could find. - # Basically uses debug output to find out the directory where the tools are - # present and lists all executables in that directory. - # Hope the program provides a neater interface some day! - tools=( ${${${${(M)${(f)"$(_call_program tools $words[1] --tool=something -d 2>&1)"}:#*launcher launching *something*}##*launcher launching }%%something*}:-${commands[valgrind]:h:h}/lib/valgrind/}*~*.*(*:t) ) - tools=( ${tools%-*-*} ) - typeset -U tools - _wanted tools exl 'valgrind tool' compadd -a tools && return -fi - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_value b/result/sw/share/zsh/5.9/functions/_value deleted file mode 100644 index 5e74100c..00000000 --- a/result/sw/share/zsh/5.9/functions/_value +++ /dev/null @@ -1,50 +0,0 @@ -#compdef -value- -array-value- -value-,-default-,-default- - -# You can customize completion for different parameters by writing -# functions with the tag-line `#compdef -value-,<name>,<command>' where -# <name> is the name of the parameter (or name-key when completing an -# associative array value) and <command> is either `-default-' or the -# name of the command from the command-line. - -if [[ "$service" != -value-,* ]]; then - local strs ctx= - - strs=( -default- ) - - if [[ "$compstate[context]" != *value && -n "$_comp_command1" ]]; then - ctx="${_comp_command}" - strs=( "${_comp_command1}" "$strs[@]" ) - [[ -n "$_comp_command2" ]] && - strs=( "${_comp_command2}" "$strs[@]" ) - fi - - _dispatch -value-,${compstate[parameter]},$ctx \ - -value-,{${compstate[parameter]},-default-},${^strs} -else - if [[ "$compstate[parameter]" != *-* && - "$compstate[context]" = array_value && - "${(Pt)${compstate[parameter]}}" = assoc* ]]; then - local expl - if (( CURRENT & 1 )); then - _wanted association-keys expl 'association key' \ - compadd -k "$compstate[parameter]" - else - compstate[parameter]="${compstate[parameter]}-${words[CURRENT-1]}" - - _dispatch -value-,${compstate[parameter]}, \ - -value-,{${compstate[parameter]},-default-},-default- - fi - else - local pats - - if { zstyle -a ":completion:${curcontext}:" assign-list pats && - [[ "$compstate[parameter]" = (${(j:|:)~pats}) ]] } || - [[ "$PREFIX$SUFFIX" = *:* ]]; then - compset -P '*:' - compset -S ':*' - _default -r '\-\n\t /:' "$@" - else - _default "$@" - fi - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/_values b/result/sw/share/zsh/5.9/functions/_values deleted file mode 100644 index 5ed79e89..00000000 --- a/result/sw/share/zsh/5.9/functions/_values +++ /dev/null @@ -1,160 +0,0 @@ -#autoload - -local subopts opt usecc garbage keep - -subopts=() -zparseopts -D -a garbage s+:=keep S+:=keep w+=keep C=usecc O:=subopts \ - M: J: V: 1 2 o+: n F: X: - -(( $#subopts )) && subopts=( "${(@P)subopts[2]}" ) - -if compvalues -i "$keep[@]" "$@"; then - - local noargs args opts descr action expl sep argsep subc test='*' - local oldcontext="$curcontext" - - compvalues -S argsep - compvalues -s sep && [[ -n "$sep" ]] && test="[^${(q)sep}]#" - - if ! compvalues -D descr action; then - - _tags values || return 1 - - curcontext="${oldcontext%:*}:values" - - compvalues -V noargs args opts - - if [[ -n "$argsep" && "$PREFIX" = *${argsep}${~test} ]]; then - local name - - name="${PREFIX%%${argsep}*}" - if compvalues -L "$name" descr action; then - IPREFIX="${IPREFIX}${name}${argsep}" - PREFIX="${PREFIX#*${argsep}}" - else - local prefix suffix - - prefix="${PREFIX#*${argsep}}" - suffix="$SUFFIX" - PREFIX="$name" - SUFFIX='' - args=( "$args[@]" "$opts[@]" ) - compadd -M 'r:|[_-]=* r:|=*' -D args - "${(@)args[@]%%:*}" - - [[ $#args -ne 1 ]] && return 1 - - PREFIX="$prefix" - SUFFIX="$suffix" - IPREFIX="${IPREFIX}${args[1]%%:*}${argsep}" - compvalues -L "${args[1]%%:*}" descr action subc - curcontext="${oldcontext%:*}:$subc" - fi - else - compvalues -d descr - if compvalues -s sep; then - sep=( "-qS" "$sep" ) - else - sep=() - fi - - _describe "$descr" \ - noargs "$sep[@]" -M 'r:|[_-]=* r:|=*' -- \ - args -S "${argsep}" -M 'r:|[_-]=* r:|=*' -- \ - opts -qS "${argsep}" -r "${argsep}${sep[2]} \\t\\n\\-" -M 'r:|[_-]=* r:|=*' - - curcontext="$oldcontext" - - return - fi - else - compvalues -C subc - curcontext="${oldcontext%:*}:$subc" - fi - - if ! _tags arguments; then - curcontext="$oldcontext" - return 1 - fi - - _description arguments expl "$descr" - - # We add the separator character as a autoremovable suffix unless - # we have only one possible value left. - - sep=() - [[ ${#snames}+${#names}+${#onames} -ne 1 ]] && compvalues -s sep && - expl=( "-qS$sep" "$expl[@]" ) sep=( "-qS$sep" ) - - if [[ "$action" = -\>* ]]; then - compvalues -v val_args - state="${${action[3,-1]##[ ]#}%%[ ]#}" - state_descr="$descr" - if [[ -n "$usecc" ]]; then - curcontext="${oldcontext%:*}:$subc" - else - context="$subc" - fi - compstate[restore]='' - return 1 - else - typeset -A val_args - - compvalues -v val_args - - if [[ "$action" = \ # ]]; then - - # An empty action means that we should just display a message. - - _message -e arguments "$descr" - return 1 - - elif [[ "$action" = \(\(*\)\) ]]; then - local ws - - # ((...)) contains literal strings with descriptions. - - eval ws\=\( "${action[3,-3]}" \) - - _describe "$descr" ws -M 'r:|[_-]=* r:|=*' "$subopts[@]" "$sep[@]" - - elif [[ "$action" = \(*\) ]]; then - - # Anything inside `(...)' is added directly. - - eval ws\=\( "${action[2,-2]}" \) - - _all_labels arguments expl "$descr" compadd "$subopts[@]" "$sep[@]" -a - ws - elif [[ "$action" = \{*\} ]]; then - - # A string in braces is evaluated. - - while _next_label arguments expl "$descr"; do - eval "$action[2,-2]" - done - elif [[ "$action" = \ * ]]; then - - # If the action starts with a space, we just call it. - - eval "action=( $action )" - while _next_label arguments expl "$descr"; do - "$action[@]" - done - else - - # Otherwise we call it with the description-arguments built above. - - eval "action=( $action )" - while _next_label arguments expl "$descr"; do - "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}" - done - fi - fi - - curcontext="$oldcontext" - - [[ nm -ne "$compstate[nmatches]" ]] -else - curcontext="$oldcontext" - - return 1; -fi diff --git a/result/sw/share/zsh/5.9/functions/_vared b/result/sw/share/zsh/5.9/functions/_vared deleted file mode 100644 index aba64880..00000000 --- a/result/sw/share/zsh/5.9/functions/_vared +++ /dev/null @@ -1,14 +0,0 @@ -#compdef vared - -_arguments -s -A "-*" \ - '(-a)-A[edit associative array]' \ - '(-A)-a[edit array parameter]' \ - "-c[create parameter or change type]" \ - '-p+[specify left prompt]:prompt' \ - '-r+[specify right prompt]:right prompt' \ - '-i+[specify initialisation widget]:widget:_widgets' \ - '-f+[specify finish widget]:widget:_widgets' \ - '-h[allow access to history]' \ - '-e[exit on EOF (^D)]' \ - '1:parameter spec:_vars' - diff --git a/result/sw/share/zsh/5.9/functions/_vars b/result/sw/share/zsh/5.9/functions/_vars deleted file mode 100644 index ec59c03b..00000000 --- a/result/sw/share/zsh/5.9/functions/_vars +++ /dev/null @@ -1,25 +0,0 @@ -#compdef getopts unset - -# This will handle completion of keys of associative arrays, e.g. at -# `vared foo[<TAB>' could complete to `vared foo[key]'. - -local ret=1 - -if [[ $PREFIX = *\[* ]]; then - compstate[parameter]=${PREFIX%%(|\\)\[*} - - IPREFIX=${PREFIX%%\[*}\[ - PREFIX=${PREFIX#*\[} - - _subscript -q -else - _parameters -g '^a*' "$@" && ret=0 - - if compset -S '\[*'; then - set - -S "" "$@" - else - set - -qS"${${QIPREFIX:+[}:-\[}" "$@" - fi - _parameters -g 'a*' "$@" && ret=0 - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_vcs_info b/result/sw/share/zsh/5.9/functions/_vcs_info deleted file mode 100644 index fdb28de6..00000000 --- a/result/sw/share/zsh/5.9/functions/_vcs_info +++ /dev/null @@ -1,31 +0,0 @@ -#compdef vcs_info_hookadd vcs_info_hookdel - -local -a hook_types=( - gen-applied-string - gen-hg-bookmark-string - gen-mqguards-string - gen-unapplied-string - no-vcs - post-backend - post-quilt - pre-addon-quilt - pre-get-data - set-branch-format - set-hgrev-format - set-message - set-patch-format - start-up -) - -local -a specs -case $service in - (vcs_info_hookdel) - specs=( '-a[remove all occurrences, not just the first]' ) - ;; -esac - -# TODO: for vcs_info_hookdel complete only functions installed for that hook -_arguments : \ - $specs \ - ":hook type:($hook_types)" \ - '*:hook function:_vcs_info_hooks' diff --git a/result/sw/share/zsh/5.9/functions/_vcs_info_hooks b/result/sw/share/zsh/5.9/functions/_vcs_info_hooks deleted file mode 100644 index bad91500..00000000 --- a/result/sw/share/zsh/5.9/functions/_vcs_info_hooks +++ /dev/null @@ -1,2 +0,0 @@ -#autoload -compadd - ${functions[(I)+vi-*]#+vi-} diff --git a/result/sw/share/zsh/5.9/functions/_vi b/result/sw/share/zsh/5.9/functions/_vi deleted file mode 100644 index 6201299a..00000000 --- a/result/sw/share/zsh/5.9/functions/_vi +++ /dev/null @@ -1,47 +0,0 @@ -#compdef ex vi view - -local -a args - -if _pick_variant vim='(N|)VIM' vi --version; then - _vim - return -fi - -args=( - '-c+[execute command on the first file loaded]:command:' - '-r[recover the named files]' - '-t+[start editing at the specified tag]:tag:' - '-w+[set window size to specified number of lines]:lines:' - '*: :_files' -) - -[[ $service != view ]] && args+=( - '-R[set readonly]' -) - -[[ $service == ex ]] && args+=( - '-s[enter batch mode]' - '-v[start in vi mode]' -) - -case $OSTYPE in - *bsd*|dragonfly*) - args+=( - "-F[don't copy the entire file on start]" - '-S[set the secure option]' - ) - [[ $service != ex ]] && args+=( - '-e[start in ex mode]' - ) - ;| - netbsd*) - args+=( - '-G[start in gtags mode]' - ) - [[ $service == vi ]] && args+=( - '-l[set the lisp and showmatch options]' - ) - ;; -esac - -_arguments -s -S -A '-*' : $args diff --git a/result/sw/share/zsh/5.9/functions/_vim b/result/sw/share/zsh/5.9/functions/_vim deleted file mode 100644 index 5c6054e7..00000000 --- a/result/sw/share/zsh/5.9/functions/_vim +++ /dev/null @@ -1,160 +0,0 @@ -#compdef vim gvim gex gview nvim rvim rview rgvim rgview evim eview vimdiff gvimdiff mvim - -(( $+functions[_vim_files] )) || -_vim_files () { - case $PREFIX in - (+*) _files -P './' $* && return 0 ;; - ((scp|http(|s)|(|s)ftp):*) _urls ;; - (*) _files $* ;; - esac - case $PREFIX in - (+) _message -e 'start at a given line (default: end of file)' ;; - (+<1->) _message -e 'line number' ;; - esac -} - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -local arguments - -arguments=( - '-m[modifications (writing files) not allowed]' - '-M[modifications in text not allowed]' - '-b[binary mode]' - '-l[lisp mode]' - '-V-[verbosity level]::verbosity [10]:->verbosity' - '-D[debugging mode]' - '-n[no swap file (memory only)]' - {-r,-L}'[list swap files and exit or recover from a swap file]::swap file:_vim_files -g "*.sw?(-.)"' - '(-H)-A[start in Arabic mode]' - '(-A)-H[start in Hebrew mode]' - '-u[use given vimrc file instead of default .vimrc]:config:->config' - "--noplugin[don't load plugin scripts]" - '-o-[number of windows to open (default: one for each file)]::window count: ' - '-O-[number of windows to vertically split open (default is one for each file)]::window count: ' - '-p-[number of tabs to open (default: one for each file)]::tab count: ' - '(* -t)-q+[quickfix file]::file:_files' - '*--cmd[execute given command before loading any RC files]:command: ' - '-c[execute given command after loading the first file]:command: ' - '-S[source a session file after loading the first file]::session file:_files' - '-s[read normal-mode commands from script file]:script file:_files' - '-w[append all typed commands to given file]:output file:_files' - '-W[write all typed commands to given file, overwriting existing file]:output file:_files' - '--startuptime[write startup timing messages to given file]:log file:_files' - '(- *)'{-h,--help}'[print help and exit]' - '(- *)--version[print version information and exit]' - '(* -q)-t+[edit file where tag is defined]:tag:_complete_tag' - '(-t -q)*:file:_vim_files' -) -if [[ $service = nvim ]]; then - arguments+=( - '(-e -E -es -Es -s -d)-e[ex mode, read stdin as ex command]' - '(-e -E -es -Es -s -d)-E[ex mode, read stdin as text]' - '(-e -E -es -Es -s -d)-es[silent mode, read stdin as ex command]' - '(-e -E -es -Es -s -d)-Es[silent mode, read stdin as text]' - '-i[use the specified shada file]:shada file:_files' - '(- *)-v[print version information and exit]' - '(- *)--api-info[print msgpack-encoded api-metadata and exit]' - '--headless[do not start user interface]' - '--embed[use standard input and output as a msgpack-rpc channel]' - '--listen[start RPC server on the specified socket or named pipe]:address' - ) -else - arguments+=( - '(-v -E -d -y)-e[ex mode]' - '(-v -e -d -y)-E[improved ex mode]' - '( -e -E -s -d -y)-v[vi mode]' - '(-v -e -E -s -d )-y[easy mode]' - '-C[start in compatible mode]' - '-N[start in incompatible mode]' - '-nb[start as NetBean server]' - '-T[set terminal type]:::_terminals' - '--not-a-term[skip warning for input/output not being a terminal]' - '--ttyfail[exit if input or output is not a terminal]' - '-X[do not connect to X server]' - '-x[edit encrypted files]' - '--remote[edit given files in a vim server if possible]:*:file:_vim_files' - '--remote-silent[as --remote but without complaining if not possible]:*:file:_vim_files' - '--remote-wait[as --remote but wait for files to have been edited]:*:file:_vim_files' - '--remote-wait-silent[as --remote-wait but without complaining if not possible]:*:file:_vim_files' - '--remote-send[send given keys to vim server if possible]:keys: ' - '--remote-tab[as --remote but open tab page for each file]:*:file:_vim_files' - '--remote-tab-silent[as --remote-silent but open tab page for each file]:*:file:_vim_files' - '--remote-tab-wait[as --remote-wait but open tab page for each file]:*:file:_vim_files' - '--remote-tab-wait-silent[as --remote-wait-silent but open tab page for each file]:*:file:_vim_files' - '--remote-expr[evaluate given expression in a vim server and print result]:expression: ' - '--literal[do not expand wildcards in arguments (this is useless with ZSH)]' - '(- *)--serverlist[list available vim servers and exit]' - '--servername[name of vim server to send to or name of server to become]:server name:->server' - '--socketid[run GVIM in another window]' - '-i[use specified viminfo file]:viminfo file [~/.viminfo]:_files' - '--clean[start with defaults in non-compatible mode]' - ) -fi -[[ $service != *g* && $service != nvim ]] && arguments+='-g[start with GUI]' -[[ $service != r* ]] && arguments+='-Z[restricted mode]' -[[ $service != *diff ]] && arguments+='(-v -e -E -es -Es -s -y)-d[diff mode]' -[[ $service != *view ]] && arguments+='-R[readonly mode]' -[[ $service = *g* ]] || (( ${words[(I)-g]} )) && arguments+=( - '(--nofork -f)'{--nofork,-f}'[do not detach the GUI version from the shell]' - '(-background -bg)'{-background,-bg}'[use specified color for the background]:color:_x_color' - '(-foreground -fg)'{-foreground,-fg}'[use specified color for normal text]:color:_x_color' - '-font:font:_xft_fonts' - '-geometry:geometry:_x_geometry' - '-iconic[start vim iconified]' - '(-rv -reverse)'{-rv,-reverse}'[use reverse video]' - '-display:display:_x_display' - '--role[set unique role to identify main window]:role' - '--socketid[open vim inside another GTK widget]:xid' - '--echo-wid[echo window ID on stdout]' - '-U[use given gvimrc file instead of default .gvimrc]:gui config:->configgui' -) - -_arguments -C -S $arguments && ret=0 - -if [[ "$state" = server ]]; then - local -a servers - servers=( ${(f)"$(_call_program servers $words[1] --serverlist 2>/dev/null)"} ) - _wanted servers expl server compadd -M 'm:{a-z}={A-Z}' -a servers && ret=0 -elif [[ $state = verbosity ]]; then - _tags numbers files - while _tags; do - _requested numbers && _describe -V 'verbosity [10]' "( - 0:don\'t' display any messages' - 1:'display when viminfo file is read or written' - 2:'display sourced files' - 5:'display every searched tag-file' - 8:'display files that trigger autocommands' - 9:'display every triggered autocommand' - 12:'display every executed function' - 13:'report every thrown, caught, finished, or discarded exception' - 14:'display anything pending in a :finally clause' - 15:'display every executed ex-command' - )" && ret=0 - if _requested files expl 'file for verbose output'; then - compset -P '[0-9]#' - _files "$expl[@]" && ret=0 - fi - (( ret )) || break - done -elif [[ "$state" = config* ]]; then - _tags special files - local names=( - "NONE:'skip initialization from files and environment variables'" - "NORC:'same as NONE, but load plugins'" - ) - # gvim only supports -U NONE to skip GUI initialization. - [[ $state != configgui || $service != *g* ]] && names+=( - "DEFAULTS:'same as NONE, but loads defaults.vim'" - ) - while _tags; do - _requested special && _describe -V 'special' "(${(F)names})" && ret=0 - if _requested files expl 'rc file'; then - _files "$expl[@]" && ret=0 - fi - (( ret )) || break - done -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_vim-addons b/result/sw/share/zsh/5.9/functions/_vim-addons deleted file mode 100644 index 76f70149..00000000 --- a/result/sw/share/zsh/5.9/functions/_vim-addons +++ /dev/null @@ -1,51 +0,0 @@ -#compdef vim-addons - -local context state line expl ret=1 -typeset -A opt_args - -_arguments \ - '(-q --query)'{-q,--query}'[be quiet and make the output more parseable]' \ - '(-r --registry-dir)'{-r,--registry-dir}'[set the registry directory]' \ - '(-s --source-dir)'{-s,--source-dir}'[set addon source directory]' \ - '(-t --target-dir -w --system-wide)'{-t,--target-dir}'[set addon target directory]' \ - '(-v --verbose -z --silent)'{-v,--verbose}'[increase verbosity]' \ - '(y --system-dir)'{-y,--system-dir}'[set system-wide target directory]' \ - '(-)'{-h,--help}'[show help information]' \ - '(-w --system-wide -t --target-dir)'{-w,--system-wide}'[use system-wide target directory]' \ - '(-z --silent -v --verbose)'{-z,--silent}'[suppress most output]' \ - '1:commands:(( - install\:install\ specified\ addons - remove\:remove\ specified\ addons - list\:list\ available\ addons\ in\ registry - status\:list\ status\ of\ addons - disable\:disable\ specified\ addons - enable\:undo\ effects\ of\ previous\ disable - files\:list\ files\ composing\ the\ specified\ addon - show\:display\ detailed\ information\ on\ specified\ addon - ))' \ - '*: :->args' && ret=0 - -case $state in - args) - case $line[1] in - install) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*removed}%$'\t'*} && ret=0 - ;; - enable) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*disabled}%$'\t'*} && ret=0 - ;; - remove) - _wanted -C $context addons expl 'addon' compadd - \ - ${${(M)${(f)"$(_call_program addons vim-addons -q)"}:#*(disabled|installed)}%$'\t'*} && ret=0 - ;; - *) - _wanted -C $context addons expl 'addon' compadd - \ - $(_call_program addons vim-addons list) && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_visudo b/result/sw/share/zsh/5.9/functions/_visudo deleted file mode 100644 index 2cb6d85a..00000000 --- a/result/sw/share/zsh/5.9/functions/_visudo +++ /dev/null @@ -1,12 +0,0 @@ -#compdef visudo - -_arguments -s -S : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-V,--version}'[display version information]' \ - '(-f --file)'{-f+,--file=}'[specify sudoers file]:sudoers file:_files' \ - + c \ - '(x -c --check)'{-c,--check}'[check sudoers file for errors only]' \ - '(-q --quiet)'{-q,--quiet}'[suppress error messages (with -c)]' \ - '(x -s --strict)'{-s,--strict}'[enable strict checking]' \ - + '(x)' \ - '(c)'{-x+,--export=}'[export sudoers file to specified JSON output file]:JSON output file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_vmctl b/result/sw/share/zsh/5.9/functions/_vmctl deleted file mode 100644 index 873bb567..00000000 --- a/result/sw/share/zsh/5.9/functions/_vmctl +++ /dev/null @@ -1,95 +0,0 @@ -#compdef vmctl - -local -a subcommands alts - -_vm_names() { - local expl - _description virtual-machines expl 'virtual machine' - compadd "$@" "$expl[@]" - ${${${(@f)"$(_call_program virtual-machines vmctl status)"}[2,-1]}##* } -} - -_vm_switches() { - local expl - _description virtual-switches expl 'virtual switch' - [[ -r /etc/vm.conf ]] && - compadd "$@" "$expl[@]" - ${${${(M)${(f)"$(</etc/vm.conf)"}:#switch *}##switch ##\"#}%%\"# *} -} - -subcommands=( - console:'connect to the console of the VM' - create:'create a VM disk image' - load:'load additional configuration' - log:'change logging verbosity' - pause:'pause a VM' - receive:'receive a VM from stdin' - reload:'remove stopped VMs and reload config' - reset:'reset specified component' - send:'send VM to stdout and terminate it' - {show,status}:'list VMs running or just the specified id' - start:'start a VM' - stop:'stop a VM' - unpause:'resume a VM' - wait:'wait until specified VM has stopped' -) - -if (( CURRENT == 2 )); then - _describe subcommand subcommands -else - local curcontext="${curcontext%:*}-${words[2]}:" - shift words; (( CURRENT-- )) - case $words[1] in - console|pause|send|show|status|unpause|wait) - _vm_names - ;; - create) - compset -P '(raw|qcow2):' || alts=( - 'prefixes:prefix:compadd -S: raw qcow2' - ) - _arguments \ - '-s+[specify size]:size' \ - '(-i)-b+[specify base disk]:base image:_files' \ - '(-b)-i+[copy and convert input disk]:disk image:_files' \ - '1:disk: _alternative "files:path:_files" $alts' - ;; - load) - _arguments ':configuration file:_files' - ;; - log) - _arguments ':logging verbosity:(brief verbose)' - ;; - receive) - _arguments ':name: ' - ;; - reset) - _arguments ':reset option:(( - all\:"reset the running state" - switches\:"reset the configured switches" - vms\:"reset and terminate all VMs" - ))' - ;; - start) - _arguments -s \ - '-B+[force system to boot from specified device for this boot]:device:(cdrom disk net)' \ - '-b+[boot with the specified kernel or BIOS image]:boot image:_files' \ - '-c[automatically connect to the VM console]' \ - '*-d+[disk image file]:disk image:_files' \ - '-i+[number of network interfaces]:number: ' \ - '-L[add a local network interface]' \ - '-m+[specify memory size]:memory size (megabytes) [512]' \ - '-n+[specify switch to attach]: :_vm_switches' \ - '-r+[specify ISO image file for virtual CD-ROM]:ISO image:_files -g "*.iso(-.)"' \ - '-t+[use existing VM as a template]: :_vm_names' \ - '1: :_vm_names' - ;; - stop) - _arguments \ - '(1)-a[stop all running VMs]' \ - '-f[forcefully stop without attempting a graceful shutdown]' \ - '-w[wait until the VM has been terminated]' \ - '(-a)1: :_vm_names' - ;; - *) - _default - ;; - esac -fi diff --git a/result/sw/share/zsh/5.9/functions/_vmstat b/result/sw/share/zsh/5.9/functions/_vmstat deleted file mode 100644 index e05bc88b..00000000 --- a/result/sw/share/zsh/5.9/functions/_vmstat +++ /dev/null @@ -1,126 +0,0 @@ -#compdef vmstat - -local -a specs -case $OSTYPE in - *linux*) - specs=( - '(-w --wide)'{-w,--wide}'[wide output]' - '(-t --timestamp)'{-t,--timestamp}'[show timestamp]' - '(-n --one-header)'{-n,--one-header}'[do not redisplay header]' - '(-S --unit)'{-S+,--unit=}'[specify unit for displayed sizes]:unit prefix [K]:((k\:1000 K\:1024 m\:1000000 M\:1048576))' - '(-C --full-cache)'{-C,--full-cache}'[add further cache lines to main cache]' - '1: :_guard "[0-9]#" "interval (seconds)"' '2:count' - + '(action)' \ - '(- :)'{-h,--help}'[display help information]' - '(- :)'{-V,--version}'[display version information]' - {-a,--active}'[show active/inactive memory]' - '(- :)'{-f,--forks}'[show number of forks since boot]' - '(-S --unit -t --timestamp -w --wide)'{-m,--slabs}'[show slabinfo]' - '(-w --wide -n --one-header -t --timestamp :)'{-s,--stats}'[show event counter statistics]' - {-d,--disk}'[show disk statistics]' - {-p+,--partition=}'[show partition specific statistics]:partition:_files -W /dev -g "*(-%)"' - '(- :)'{-D,--disk-sum}'[summarize disk statistics]' - ) - ;; - *bsd*|dragonfly*) - specs=( - '-c+[specify number of times to refresh the display]:count' - '-i[report the number of interrupts taken by devices since boot]' - '-M+[specify core file to extract values associated with the name list from]:core:_files' - '-N+[specify file to extract the name list from]:system:_files' - '-w+[specify delay between each display]:delay (seconds)' - '*: :_bsd_disks' - ) - ;| - *bsd*) - specs+=( - '-f[report on the number fork syscalls since boot and pages of virtual memory for each]' - ) - ;| - freebsd*|dragonfly*) - specs+=( - '-m[report on the usage of kernel dynamic memory allocated using malloc(9) by type]' - '-n+[change the maximum number of disks to display]:number of disks to display [2]' - '*-p+[specify which types of devices to display]: :->devices' - '-s[display the contents of the SUM structure]' - '-z[report on memory used by the kernel zone allocator, uma(9), by zone]' - ) - ;| - freebsd*) - specs+=( - '-a[include statistics about all interrupts]' - '-h[human readable memory columns output]' - '-H[scriptable memory columns output]' - '-o[list virtual memory objects]' - '-P[report per-cpu system/user/idle cpu statistics]' - ) - ;| - (net|open)bsd*) - specs+=( - '-m[report usage of kernel dynamic memory listed first by size of allocation then type of usage]' - '-s[display the contents of the UVMEXP structure]' - '-v[print more verbose information]' - ) - ;| - openbsd*) - specs+=( - '-t[report on the number of page in and page reclaims since boot]' - '-z[include statistics about all interrupts]' - ) - ;; - netbsd*) - specs+=( - '-C[report on kernel memory caches]' - '-e[report the values of system event counters]' - '-H[report all hash table statistics]' - '-h+[dump specified hash table]:hash table:->hashes' - '-L[list all hash tables]' - '-l[list UVM histories maintained by the kernel]' - '-t[display contents of the vmtotal structure]' - '-U[dump all UVM histories]' - '-u+[dump specified UVM history]:uvm' - '-W[print more information about kernel memory pools]' - ) - ;; - dragonfly*) - specs+=( - '-b[use brief format for formatted numbers]' - '-o[report usage of kernel object cache]' - '-u[output unformatted numeric values]' - '-v[include IRQ numbers and IRQ target CPU numbers before device names (with -i)]' - ) - ;; - solaris2.<11->) - specs+=( '(-i -s)-T+[specify time format]:time format:((u\:seconds\ since\ epoch d\:standard\ date\ format))' ) - ;& - solaris*) - specs+=( - '-q[suppress messages related to state changes]' - + '(actions)' \ - '(-T)-i[report the number of interrupts taken by devices since boot]' - '-p[report paging activity]' - '(-T)-s[display the total number of system events since boot]' - '-S[report on swapping rather than paging activity]' - '::disk:_files -W /dev -g "*(-%b)"' - ': :_guard "[0-9]#" "interval (seconds)"' '::count' - ) - ;; -esac - -if (( $#specs )); then - local curcontext=$curcontext state state_descr line ret=1 - typeset -A opt_args - - _arguments -C -s -w -A '-*' : "$specs[@]" && ret=0 - - if [[ $state == devices ]]; then - _fbsd_device_types && ret=0 - elif [[ $state == hashes ]]; then - local -a tables - tables=( ${${${(f)"$(_call_program hashes $words[1] -L)"}[2,-1]#?}/ ##/:} ) - _describe -t hashes 'hash table' tables && ret=0 - fi - return ret -fi - -_default diff --git a/result/sw/share/zsh/5.9/functions/_vnc b/result/sw/share/zsh/5.9/functions/_vnc deleted file mode 100644 index 7d818cfe..00000000 --- a/result/sw/share/zsh/5.9/functions/_vnc +++ /dev/null @@ -1,97 +0,0 @@ -#compdef vncserver vncviewer xvncviewer xtightvncviewer xvnc4viewer - -local displays args -displays=( ~/.vnc/$HOST:<->.pid(N:r:t:s/$HOST//) ) -displays=( \\${^displays} ) - -case $service in - vncserver) - # currently missing: bc, c, nologo, r, ttyxx, v - # Don't know values for -nolisten (other than tcp). - _arguments \ - - start \ - '-name:desktop name:_x_name' \ - '-a[mouse acceleration (pixels)]:#:' \ - '-ac[disable access control restrictions]' \ - '-audit[set audit trail level]:int:' \ - '-auth[select authorization file]:file:_files' \ - '-bs[disable any backing store support]' \ - '-c[turns off key-click]' \ - '-cc[default color visual class]:int:' \ - '-co[color database file]:file:_files' \ - '-core[generate core dump on fatal error]' \ - '-dpi[screen resolution in dots per inch]:int:' \ - '-deferglyphs[defer loading of glyphs]:type:(none all 16)' \ - '-f[bell base]:level (0-100):' \ - '-fc[cursor font]:string:' \ - '-fn[default font name]:string:' \ - '-fp[default font path]:string:' \ - '-help[prints message with these options]' \ - '-I[ignore all remaining arguments]' \ - '-ld[limit data space to N Kb]:int:' \ - '-lf[limit number of open files to N]:int:' \ - '-ls[limit stack space to N Kb]:int:' \ - '-nolock[disable the locking mechanism]' \ - '-logo[enable logo in screen saver]' \ - "-nolisten[don't listen on protocol]:protocol:(tcp)" \ - '-p[screen-saver pattern duration (minutes)]:time (minutes):' \ - '-pn[accept failure to listen on all ports]' \ - '-nopn[reject failure to listen on all ports]' \ - '-r[turns off auto-repeat]' \ - '-s[screen-saver timeout (minutes)]:timeout (minutes):' \ - '-su[disable any save under support]' \ - '-t[mouse threshold]:pixels:' \ - '-terminate[terminate at server reset]' \ - '-to[connection time out]:time:' \ - '-tst[disable testing extensions]' \ - '-v[screen-saver without video blanking]' \ - '-wm[WhenMapped default backing-store]' \ - '-x[loads named extension at init time ]:string:' \ - '-query[contact named host for XDMCP]:host-name:_hosts' \ - '-broadcast[broadcast for XDMCP]' \ - '-indirect[contact named host for indirect XDMCP]:host-name:_hosts' \ - '-port[UDP port number to send messages to]:port:' \ - '-once[Terminate server after one session]' \ - '-class[specify display class to send in manage]:display-class:' \ - '-cookie[specify the magic cookie for XDMCP]:xdm-auth-bits:' \ - '-displayID[manufacturer display ID for request]:display-id:' \ - '-geometry:geometry:(1600x1200 1280x1024 1152x864 1024x768 800x600 640x480)' \ - '-depth:pixel depth:(8 16 24 32)' \ - '-pixelformat:pixel format' \ - '-udpinputport[UDP port for keyboard/pointer data]:port:' \ - '-rfbport[TCP port for RFB protocol]:port:' \ - '-rfbwait[max time in ms to wait for RFB client]:time:' \ - "-nocursor[don't put up a cursor]" \ - '-rfbauth[use authentication on RFB protocol]:passwd-file:_files' \ - '-httpd[serve files via HTTP from here]:dir:_files -/' \ - '-httpport[port for HTTP]:port:' \ - '-deferupdate[specify time to defer updates by]:time (ms) [40]' \ - '-economictranslate[less memory-hungry translation]' \ - '-lazytight[disable "gradient" filter in tight encoding]' \ - '-desktop[specify VNC desktop name]:name [x11]' \ - '-alwaysshared[always treat new clients as shared]' \ - '-nevershared[never treat new clients as shared]' \ - "-dontdisconnect[don't disconnect existing clients for new non-shared connections]" \ - '-viewonly[let clients only to view the desktop]' \ - '-localhost[only allow connections from localhost]' \ - '-interface[only bind to specified interface address]:ipaddr:' \ - '-inetd[Xvnc is launched by inetd]' \ - '-compatiblekbd[set META key = ALT key as in the original VNC]' \ - '-version[report Xvnc version on stderr]' \ - '1:: :_guard "(|:[0-9]#)" "display number"' \ - - kill \ - "-kill:display number:($displays)" \ - - help \ - '-help' - ;; - *vncviewer) - _xt_arguments -shared -viewonly -fullscreen -bgr233 -owncmap -truecolour \ - '-encodings: :_values -s " " encoding copyrect hextile corre rre raw' \ - '-depth:depth' \ - '-passwd:file:_files' \ - '(1)-listen:display number' \ - '-via:host:_hosts' \ - '(-listen)1::display:_x_display' - ;; -esac - diff --git a/result/sw/share/zsh/5.9/functions/_volume_groups b/result/sw/share/zsh/5.9/functions/_volume_groups deleted file mode 100644 index 8b8bebfa..00000000 --- a/result/sw/share/zsh/5.9/functions/_volume_groups +++ /dev/null @@ -1,5 +0,0 @@ -#autoload - -local expl - -_wanted volumegroups expl 'volume group' compadd "$@" - $(lsvg) diff --git a/result/sw/share/zsh/5.9/functions/_vorbis b/result/sw/share/zsh/5.9/functions/_vorbis deleted file mode 100644 index 6c94469f..00000000 --- a/result/sw/share/zsh/5.9/functions/_vorbis +++ /dev/null @@ -1,148 +0,0 @@ -#compdef oggenc ogg123 ogginfo oggdec vorbiscomment - -local curcontext="$curcontext" ret=1 -local -a alts expl state line suf - -case $service in - oggenc) - _arguments -C -s -S \ - '(-Q --quiet)'{-Q,--quiet}'[produce no output to stderr]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-V,--version}'[display version information]' \ - '(-k --skeleton)'{-k,--skeleton}'[add an Ogg Skeleton bitstream]' \ - '(-r --raw)'{-r,--raw}'[assume input data is raw, little-endian with no header information]' \ - '(-B --raw-bits)'{-B+,--raw-bits=}'[set raw mode input sample size in bits]:sample size [16]:(8 16)' \ - '(-C --raw-chan)'{-C+,--raw-chan=}'[set raw mode input number of channels]:number of channels [2]' \ - '(-R --raw-rate)'{-R+,--raw-rate=}'[set raw mode input sample rate]:sample rate [44100]:(44100 48000)' \ - '--raw-endianness=[set raw mode endianness]:endianness [0]:((0\:big\ endian 1\:little\ endian))' \ - '(-b --bitrate)'{-b+,--bitrate=}'[set encoding to the bitrate closest to that specified]:bitrate (kb/s)' \ - '--managed[enable the bitrate management engine]' \ - '(-m --min-bitrate)'{-m+,--min-bitrate=}'[set minimum bitrate]:bitrate (kb/s)' \ - '(-M --max-bitrate)'{-M+,--max-bitrate=}'[set maximum bitrate]:bitrate (kb/s)' \ - '*--advanced-encode-option=:option name:_values option - "lowpass_frequency[set the lowpass frequency]\:frequency (kHz)" - "impulse_noisetune[set a noise floor bias]\:bias (-15..0)" - "bitrate_hard_max[set the allowed bitrate maximum for the encoded file]\:bitrate (kb/s)" - "bitrate_hard_min[set the allowed bitrate minimum for the encoded file]\:bitrate (kb/s)" - "bit_reservoir_bits[set the total size of the bit reservoir]\:bits" - "bit_reservoir_bias[set the behavior bias of the bit reservoir]\:bias (0..1)" - "bitrate_average[set the average bitrate for the file]\:bitrate (kb/s)" - "bitrate_average_damping[set the reaction time for the average bitrate tracker]\:time (seconds)" - "disable_coupling[disable use of channel coupling for multichannel encoding]"' \ - '(-q --quality)'{-q+,--quality=}'[set encoding quality]:quality:(0 1 2 3 4 5 6 7 8 9 10)' \ - '--resample=[resample input to the given sample rate before encoding]:sample rate (Hz)' \ - '--downmix[down mix input from stereo to mono]' \ - '--scale=[set input scaling factor]:scaling factor' \ - '(-s --serial)'{-s+,--serial=}'[force a specific serial number in the output stream]:serial number' \ - "--discard-comments[don't copy comments from FLAC file to output Ogg Vorbis file]" \ - '--ignorelength[ignore the datalength in Wave headers]' \ - '(-o --output)'{-o+,--output=}'[write the Ogg Vorbis stream to output_file]:files:->oggfiles' \ - '(-n --names)'{-n+,--names=}'[specify pattern for producing filenames]:string' \ - '(-X --name-remove)'{-X+,--name-remove=}'[remove specified characters from output filenames]:characters' \ - '(-P --name-replace)'{-P+,--name-replace=}'[specify replacement characters for those removed]:characters' \ - '--utf8[interpret command-line parameters as already being UTF-8 encoded]' \ - \*{-c+,--comment=}'[add the string comment as an extra comment]:comment' \ - \*{-d+,--date=}'[set the date comment field to the given value]:date' \ - \*{-N+,--tracknum=}'[set the track number comment field to the given value]:track number' \ - \*{-t+,--title=}'[set the track title comment field to title]:title' \ - \*{-l+,--album=}'[set the album comment field to album]:album' \ - \*{-a+,--artist=}'[set the artist comment field in the comments to artist]:artist' \ - \*{-G+,--genre=}'[set the genre comment field in the comments to genre]:genre' \ - \*{-L+,--lyrics=}'[include lyrics from specified file]:lyrics file:_files -g "*.(srt|lrc)(-.)"' \ - \*{-Y+,--lyrics-language=}'[specify language for the lyrics]:language' \ - '*:input file:_files -g "(#i)*.(flac|wav|aiff)(-.)"' && ret=0 - ;; - ogg123) - _arguments -C -s -S \ - \*{-d+,--device=}'[output device]:device:(aixs alsa arts au esd irix macosx nas null oss pulse raw roar sndio sun wav wmm)' \ - \*{-f+,--files=}'[output filename for a previously specified file device]:output filename:_files -g "(#i)*.(wav|au|raw)(-.)"' \ - '--audio-buffer=[specify size of output audio buffer]:size (kilobytes)' \ - \*{-o,--device-option=}'[assign device option values]:device option:->devopts' \ - '(-@ --list)'{-@+,--list=}'[play all of the files from a playlist]:playlist:_files' \ - '(-r --repeat)'{-r,--repeat}'[repeat playlist indefinitely]' \ - '(-R --remote)'{-R,--remote}'[use remote control interface]' \ - '(-z --shuffle -Z --random)'{-z,--shuffle}'[shuffle list of files before playing]' \ - '(-Z --random -z --shuffle -r --repeat)'{-Z,--random}'[play files randomly until interrupted]' \ - '(-b --buffer)'{-b+,--buffer=}'[specify size of input buffer (HTTP only)]:size (kilobytes)' \ - '(-p --prebuffer)'{-p+,--prebuffer=}'[delay playback until proportion of buffer filled (HTTP only)]:percent' \ - '(-k --skip)'{-k+,--skip=}"[skip up to specified time]:start time ([[hh\:]mm\:]ss[.d])" \ - '(-K --end)'{-K+,--end=}"[end after specified time]:end time ([[hh\:]mm\:]ss[.d])" \ - '(-x --nth)'{-x+,--nth=}"[play every 'n'th block]:number"\ - '(-y --ntimes)'{-y+,--ntimes=}"[repeat every 'n'th block]:number" \ - '(-l --delay)'{-l+,--delay=}'[set delay between two SIGINTs to quit]:delay (ms)' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(-q --quiet -v --verbose)'{--quiet,-q}'[quiet mode]' \ - '(-q --quiet)*'{-v,--verbose}'[increase verbosity]' \ - '(- *)'{-V,--version}'[display version information]' \ - \*{-c-,--config=-}'[specify config options]: :_values option - "default_device\:device" - "shuffle\:value\:(0 1)" - "repeat\:value\:(0 1)"' \ - '*:sound file or directory:->urls-or-files' && ret=0 - ;; - ogginfo) - _arguments -S \ - '(- *)-h[display usage information]' \ - '(- *)-V[display version information]' \ - '(-)*-q[quiet mode]' \ - '(-)-v[verbose mode]' \ - '(-h)*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0 - ;; - oggdec) - _arguments -s -S \ - '(-Q --quiet)'{-Q,--quiet}'[quiet mode]' \ - '(- *)'{-h,--help}'[display usage information]' \ - '(- *)'{-V,--version}'[display version information]' \ - '(-b --bits)'{-b+,--bits=}'[bits per sample]:bits per sample:(8 16)' \ - '(-e --endianness)'{-e+,--endianness=}'[set endianness for 16-bit output]:endianness [0]:((0\:little-endian\ \(Intel\ byte\ order\) 1\:big-endian\ \(sane\ byte\ order\)))' \ - '(-s --sign)'{-s+,--sign=}'[set signedness for output]:signedness [1]:((0\:unsigned 1\:signed))' \ - '(-R --raw)'{-R,--raw}'[output in raw format]' \ - '(-o --output)'{-o+,--output=}'[write output to specified filename]:output filename:_files' \ - '*:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' && ret=0 - ;; - vorbiscomment) - _arguments -s -S \ - '(-l --list)*'{-t+,--tag=}'[specify a comment tag on the commandline]:tag=value' \ - '(-c --commentfile)'{-c+,--commentfile=}'[specify comment file]:file:_files' \ - '(-R --raw)'{-R,--raw}'[read and write comments in UTF-8]' \ - '(-e --escapes)'{-e,--escapes}'[use \\n-style escapes to allow multiline comments]' \ - '1:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' \ - '(-l --list)2:ogg vorbis file:_files -g "(#i)*.ogg(-.)"' \ - + '(actions)' \ - '(2 -t --tag)'{-l,--list}'[list the comments (default)]' \ - {-a,--append}'[append comments]' \ - {-w,--write}'[write comments, replacing the existing ones]' \ - '(-)'{-h,--help}'[display usage information]' \ - '(-)'{-V,--version}'[display version information]' && ret=0 - ;; -esac - -if [[ -n $state ]]; then - case $state in - urls-or-files) - if [[ -prefix 1 (f|ht)tp(|s):// ]]; then - alts=( 'urls:URL of sound file:_urls -f -g "*.(#i)(ogg|flax|spx)(-.)"' ) - else - alts=( 'urls:URL of sound file:compadd -S "" ftp:// http:// https://' ) - fi - _alternative \ - 'files:sound file or directory:_files -g "(#i)*.(ogg|flac|spx)"' \ - $alts && ret=0 - ;; - devopts) - if compset -P 1 '*:'; then - _message -e value value - else - _description device-options expl 'device option' - if ! compset -S ':*'; then - compadd "$expl[@]" - debug verbose quiet && ret=0 - suf=( -qS : ) - fi - compadd $suf "$expl[@]" - matrix dev buffer_time period_time use_mmap \ - multi host buf_size dsp server sink byteorder id && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_vpnc b/result/sw/share/zsh/5.9/functions/_vpnc deleted file mode 100644 index 9c4f4d41..00000000 --- a/result/sw/share/zsh/5.9/functions/_vpnc +++ /dev/null @@ -1,54 +0,0 @@ -#compdef vpnc vpnc-connect - -local ign - -(( $#words > 2 )) && ign='!' -_arguments \ - "${ign}(- : *)--version[display version information]" \ - "${ign}(- : *)--"{,long-}'help[display usage information]' \ - '--gateway=[specify IP/name of IPSec gateway]: :_hosts' \ - '--id=[specify group name]: :_groups' \ - '--username=[specify username]: :_users' \ - '--domain=[specify domain name for authentication]: :_domains' \ - '--xauth-inter[enable interactive extended authentication]' \ - '--vendor=[specify IPSec gateway vendor]:vendor:(cisco netscreen)' \ - '--natt-mode=[specify NAT-Traversal method to use]:NAT-traversal method [natt]:(( - natt\:NAT-T\ as\ defined\ in\ RFC3947 - none\:disable\ use\ of\ any\ NAT-T\ method - force-natt\:always\ use\ NAT-T\ encapsulation\ even\ without\ presence\ of\ a\ NAT\ device - cisco-udp\:Cisco\ proprietary\ UDP\ encapsulation,\ commonly\ over\ port\ 10000 - ))' \ - '--script=[specify command executed using system() to configure the interface, routing and so on]: : _command_names -e' \ - '--dh=[specify the IKE DH group]:group:(dh1 dh2 dh5)' \ - '--pfs=[specify Diffie-Hellman group to use for PFS]:group:(nopfs dh1 dh2 dh5 server)' \ - '--enable-1des[enable weak single DES encryption]' \ - '--enable-no-encryption[use no encryption for data traffic (key exchange still encrypted)]' \ - '--application-version=[specify application version to report]:application version' \ - '--ifname=[specify visible name of the TUN/TAP interface]:interface name' \ - '--ifmode=[specify mode of TUN/TAP interface]:mode [tun]:(tun tap)' \ - '--ifmtu=[set MTU for TUN/TAP device]:MTU (0-65535) [0 - automatic]' \ - "--debug[show verbose debug messages]:debug information:(( - 0\:don\'t\ print\ debug\ information - 1\:print\ minimal\ debug\ information - 2\:show\ state\ machine\ and\ packet/payload\ type\ information - 3\:dump\ everything\ excluding\ authentication\ data - 99\:dump\ everything\ including\ authentication\ data\ \(e.g.\ passwords\) - ))" \ - "--no-detach[don't detach from the console after login]" \ - '--pid-file=[store the pid of background process in specified file]:pid file:_files' \ - '--local-addr=[specify local IP to use for ISAKMP/ESP/...]: :_hosts' \ - '--local-port=[specify local ISAKMP port number to use]:ISAKMP port number (0-65535) [500]' \ - '--udp-port=[specify local UDP port number to use]:udp port (0-65535) [10000]' \ - '--dpd-idle=[send DPD packet after not receiving anything for specified time]:timeout (seconds) [600]' \ - "--non-inter[don't ask anything, exit on missing options]" \ - '--auth-mode=[specify authentication mode]:authentication mode [psk]:(( - psk\:pre-shared\ key - cert\:server\ +\ client\ certificate - hybrid\:server\ certificate\ +\ xauth - ))' \ - '--ca-file=[specify CA-PEM-File]:CA-PEM file:_files -g "*.pem(-.)"' \ - '--ca-dir=[specify trusted CA-Directory]:CA directory:_files -/' \ - '--target-network=[specify target network]:network/netmask' \ - '--password-helper=[specify password helper executable]: : _command_names -e' \ - '--print-config[print configuration in form that can be used as vpnc.conf]' \ - '*:configuration [default]:compadd - /etc/vpnc/*.conf(N:t:r)' diff --git a/result/sw/share/zsh/5.9/functions/_vserver b/result/sw/share/zsh/5.9/functions/_vserver deleted file mode 100644 index 36a61c45..00000000 --- a/result/sw/share/zsh/5.9/functions/_vserver +++ /dev/null @@ -1,131 +0,0 @@ -#compdef vserver - -_vserver () { - - # local variables - local curcontext="$curcontext" state line expl ret=1 - local cmd=$words[3] - - # dispatch - case "$cmd" in - apt-cache|apt-config|apt-get) - compset -n 3 - _dispatch $cmd:t $cmd $cmd:t -default- && ret=0 - ;; - exec) - _arguments -C \ - '1: :->vsnames' \ - '2: :->cmds' \ - '3:command name: _command_names -e' \ - '*::arguments: _normal' && ret=0 - ;; - stop|restart|condrestart|enter|running|status) - _arguments -C \ - '1: :->vsnames' \ - '2: :->cmds' \ - '*::arguments: _message "no more arguments"' && ret=0 - ;; - *) - _arguments -C \ - '(-)--help[print help information]' \ - '(- *)--version[print client version information]' \ - '1: :->vsnames' \ - '2: :->cmds' \ - '*:: :->args' && ret=0 - ;; - esac - - # cache initialization - if [[ -n "$state" ]]; then - if (( ! $+_cache_vserver_cfgdir )); then - typeset -g _cache_vserver_cfgdir_initialized - _vserver_cache_cfgdir - fi - if (( ! $+_cache_vserver_vsnames )); then - typeset -g _cache_vserver_vsnames_initialized - _vserver_cache_vsnames - fi - if (( ! $+_cache_vserver_cmds )); then - typeset -g _cache_vserver_cmds_initialized - _vserver_cache_cmds - fi - fi - - case "$state" in - vsnames) - _wanted commands expl 'vserver name' _vserver_vsnames && ret=0 - ;; - cmds) - _wanted commands expl 'vserver command' _vserver_commands && ret=0 - ;; - args) - local args - if $+args; then - _arguments "$args[@]" && ret=0 - else - ret=0 - fi - ;; - esac - - return ret -} - -(( $+functions[_vserver_commands] )) || -_vserver_commands() { - compadd "$@" -k _cache_vserver_cmds || compadd "$@" ${(s.:.)_cache_vserver_cmds} -} - -(( $+functions[_svk_list_patches] )) || -_vserver_vsnames() { - local expl - _wanted vserver expl 'vserver name' compadd -S '' $_cache_vserver_vsnames[@] -} - -(( $+functions[_vserver_cache_cfgdir] )) || -_vserver_cache_cfgdir() { - if [[ "$_cache_vserver_cfgdir_initialized" != true ]]; then - typeset -ga _cache_vserver_cfgdir - _cache_vserver_cfgdir=`vserver-info info SYSINFO | grep '^ *cfg-Directory' | awk '{print $2}'` - _cache_vserver_cfgdir_initialized=true - fi -} - -(( $+functions[_vserver_cache_vsnames] )) || -_vserver_cache_vsnames() { - if [[ "$_cache_vserver_vsnames_initialized" != true ]]; then - typeset -ga _cache_vserver_vsnames - _cache_vserver_vsnames=( $_cache_vserver_cfgdir/*(/:t) ) - _cache_vserver_vsnames_initialized=true - fi -} - -(( $+functions[_vserver_cache_cmds] )) || -_vserver_cache_cmds() { - if [[ "$_cache_vserver_cmds_initialized" != true ]]; then - typeset -ga _cache_vserver_cmds - _cache_vserver_cmds=( - start - stop - restart - condrestart - suexec - exec - enter - chkconfig - running - status - build - unify - pkg - apt-get - apt-config - apt-cache - rpm - pkgmgmt - ) - _cache_vserver_cmds_initialized=true - fi -} - -_vserver "$@" diff --git a/result/sw/share/zsh/5.9/functions/_w b/result/sw/share/zsh/5.9/functions/_w deleted file mode 100644 index 69751c5e..00000000 --- a/result/sw/share/zsh/5.9/functions/_w +++ /dev/null @@ -1,48 +0,0 @@ -#compdef w - -local args - -case $OSTYPE in - linux*) - args=( - '(H -f --from)'{-f,--from}'[toggle display of remote hostname]' - '(H -h)--no-header[suppress the heading]' - '(H -i --ip-addr)'{-i,--ip-addr}'[display IP address instead of hostname]' - '(H -o --old-style -s --short)'{-o,--old-style}'[old style output format]' - '(H -s --short -o --old-style)'{-s,--short}'[use short output format]' - '(H -u --no-current)'{-u,--no-current}'[ignore the username while figuring out the current process and cpu times]' - '(H -n --no-truncat)'{-n,--no-truncat}'[non-truncated listing (large)]' - + H - '(-)--help[display help information]' - '(-)'{-V,--version}'[display version information]' - ) - ;; - *bsd*|darwin*|dragonfly*) - args+=( '-i[sort output by idle time]' ) - ;| - openbsd*) - args+=( '-a[translate network addresses into names]' ) - ;| - (free|net)bsd*|dragonfly*) - args+=( '-n[show network addresses as numbers]' ) - ;| - *bsd*|dragonfly*) - args+=( - '-M+[extract values from specified core]:core file:_files' - '-N+[extract name list from specified system]:system file:_files' - ) - ;| - freebsd*|dragonfly*) - args+=( '-d[dump process list on a per controlling tty basis]' ) - ;| - solaris*) - args+=( '!(-s -w -l)'{-l,-w} - '-s[short output form]' - '(-)-u[produce only the heading line]' - ) - ;| -esac - -_arguments -S -s \ - '(--no-header)-h[suppress the heading]' \ - '*:user:_users' $args diff --git a/result/sw/share/zsh/5.9/functions/_w3m b/result/sw/share/zsh/5.9/functions/_w3m deleted file mode 100644 index de425cfb..00000000 --- a/result/sw/share/zsh/5.9/functions/_w3m +++ /dev/null @@ -1,100 +0,0 @@ -#compdef w3m - -local curcontext="$curcontext" state line expl ret=1 -typeset -A opt_args - -_arguments -C \ - '-t[set tab width]:tab width:' \ - '-r[ignore backspace effect]' \ - '-l[specify number of preserved lines]:number of lines [10000]' \ - '-I[document charset]:charset:->charset' \ - '-O[display/output charset]:charset:->charset' \ - '( -s -j)-e[EUC-JP]' \ - '(-e -j)-s[Shift_JIS]' \ - '(-e -s )-j[JIS]' \ - '(-v *)-B[load bookmark]' \ - '-bookmark[specify bookmark file]:bookmark file:_files' \ - '-T[specify content-type]:content type:_mime_types' \ - '-m[internet message mode]' \ - '(-B *)-v[visual startup mode]' \ - '-M[monochrome display]' \ - '-N[open URL of command line on each new tab]' \ - '-F[automatically render frames]' \ - '-cols[specify column width (used with -dump)]:column width' \ - '-ppc[specify the number of pixels per character (4.0...32.0)]:number of pixels (4.0...32.0):' \ - '-ppl[specify the number of pixels per line (4.0...64.0)]:number of pixels (4.0...64.0):' \ - '( -dump_head -dump_source -dump_both -dump_extra)-dump[dump formatted page into stdout]' \ - '(-dump -dump_source -dump_both -dump_extra)-dump_head[dump HEAD and source into stdout]' \ - '(-dump -dump_head -dump_both -dump_extra)-dump_source[dump page source into stdout]' \ - '(-dump -dump_head -dump_source -dump_extra)-dump_both[dump HEAD and source into stdout]' \ - '(-dump -dump_head -dump_source -dump_both )-dump_extra[dump HEAD, source, and extra information into stdout]' \ - '-post[use POST method with file content]:POST data file:_files' \ - '-header[insert string as a header]:header:' \ - '+-[goto specified line]:line number:_guard "[0-9]#" "line number"' \ - '-num[show line number]' \ - '-session[use specified session]:id' \ - "-no-proxy[don't use proxy]" \ - '(-6)-4[IPv4 only (-o dns_order=4)]' \ - '(-4)-6[IPv6 only (-o dns_order=6)]' \ - "-no-mouse[don't use mouse]" \ - '(-no-cookie)-cookie[use cookie]' \ - "(-cookie)-no-cookie[don't use cookie]" \ - '(-no-graph)-graph[use DEC special graphics for border of table and menu]' \ - '(-graph)-no-graph[use ASCII character for border of table and menu]' \ - '-S[squeeze multiple blank lines]' \ - '-W[toggle search wrap mode]' \ - "-X[don't use termcap init/deinit]" \ - '-title=[set buffer name to terminal title string]:terminal:_terminals' \ - '*-o[assign value to config option]:option=value:->option' \ - '(- *)-show-option[print all config options]' \ - '-config[specify config file]:configuration file:_files' \ - '(- *)-help[print usage information]' \ - '(- *)-version[print version information]' \ - '-debug' \ - '(-B -v)*:URL:->html' && ret=0 - -local -a suf - -case "$state" in - charset) - local -a charsets - charsets=( - US-ASCII ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 - ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 - ISO-8859-13 ISO-8859-14 ISO-8859-15 ISO-8859-16 EUC-JP Shift_JIS - Shift_JISX0213 ISO-2022-JP ISO-2022-JP-2 ISO-2022-JP-3 EUC-CN GBK GB18030 - HZ-GB-2312 ISO-2022-CN EUC-TW Big5 HKSCS EUC-KR UHC Johab ISO-2022-KR - TIS-620 TCVN-5712 VISCII VPS KOI8-R KOI8-U NeXTSTEP CP437 CP737 CP775 - CP850 CP852 CP855 CP856 CP857 CP860 CP861 CP862 CP863 CP864 CP865 CP866 - CP869 CP874 CP1006 CP1250 CP1251 CP1252 CP1253 CP1254 CP1255 CP1256 - CP1257 CP1258 UTF-8 UTF-7 - ) - _wanted charsets expl 'character set' compadd -a charsets && ret=0 - ;; - html) - local -a bookmarks w3mhistory - if [[ -s ~/.w3m/bookmark.html ]]; then - bookmarks=( ${${(M)${(f)"$(<~/.w3m/bookmark.html)"}:#<li>*}/(#b)<li><a href=\"(*)\">*/$match[1]} ) - fi - if [[ -s ~/.w3m/history ]]; then - w3mhistory=( ${(f)"$(<~/.w3m/history)"} ) - fi - _alternative \ - 'files:file:_files -g "*.x#html(-.)"' \ - 'urls:URL:_urls' \ - 'bookmarks:bookmark:compadd -a bookmarks' \ - 'history:history:compadd -a w3mhistory' && ret=0 - ;; - option) - local -a options - options=( ${${(M)${(f)"$(_call_program options $words[1] -show-option 2>/dev/null)"}:# -o *}/(#b) -o (*)=[^ ]#[[:blank:]]##(*)/$match[1]:${match[2]:l}} ) - if compset -P 1 '*='; then - _message -e values 'value' - else - compset -S '=*' || suf=( -S '=' ) - _describe -t options 'option' options "$suf[@]" && ret=0 - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_wait b/result/sw/share/zsh/5.9/functions/_wait deleted file mode 100644 index c007cab9..00000000 --- a/result/sw/share/zsh/5.9/functions/_wait +++ /dev/null @@ -1,3 +0,0 @@ -#compdef wait - -_alternative 'processes:: _pids' 'jobs:: _jobs -t' diff --git a/result/sw/share/zsh/5.9/functions/_wajig b/result/sw/share/zsh/5.9/functions/_wajig deleted file mode 100644 index 630507e6..00000000 --- a/result/sw/share/zsh/5.9/functions/_wajig +++ /dev/null @@ -1,78 +0,0 @@ -#compdef wajig - -local curcontext="$curcontext" state line expl cmds argno ret=1 - -_arguments -C -s \ - '(- 1 *)'{-h,--help}'[print usage message]' \ - '(- 1 *)--version[display version information]' \ - '(-q --quiet)'{-q,--quiet}'[do everything quietly]' \ - '(-s --simulate)'{-s,--simulate}"[trace but don't execute]" \ - '(-t --teaching)'{-t,--teaching}'[trace the sequence of commands performed]' \ - '(-v --verbose)'{-v,--verbose}'[increase (or set) the level of verbosity]' \ - '1: :->cmds' \ - '*: :->args' && ret=0 - -case $state in - cmds) - cmds=( ${(f)"$( _call_program commands $words[1] commands )"} ) - cmds=( ${(@)cmds/(#b)([^ ]##) ##(?)(*)/$match[1]:${match[2]:l}${match[3]//:/\\:}} ) - - _describe -t commands 'wajig command' cmds && ret=0 - ;; - args) - (( argno = $#line-1 )) - case ${line[1]:gs/-/} in - autoalts|autoalternatives|updatealts) - ((argno==1)) && _wanted alternatives expl alternative \ - _files -W /var/lib/dpkg/alternatives && ret=0 - ;; - listfiles|repackage|package) - ((argno==1)) || break - ;& - hold|large|readme|reconfigure|reinstall|remove|removedepend|showremove|size?|upgrade) - _wanted package expl 'package' _deb_packages installed && ret=0 - ;; - purgedepend) - ((argno==1)) && _wanted package expl 'package' _deb_packages xinstalled && ret=0 - ;; - purge) - _wanted package expl 'package' _deb_packages xinstalled && ret=0 - ;; - autoinstall|force|showinstall|installr|recommended|installrs|installs|suggested|install/*) - _wanted package expl 'package' _deb_packages uninstalled && ret=0 - ;; - install) - _alternative \ - 'packages:package:_deb_packages uninstalled' \ - 'files:package file:_files -g "*.deb(-.)"' && ret=0 - ;; - bug|bugs|dependents|geturl) - ((argno==1)) || break - ;& - available|build|builddepend|changelog|describe|whatis|detail|details|show|news|policy|download|source|status|recdownload) - _wanted package expl 'package' _deb_packages available && ret=0 - ;; - unhold) - _wanted package expl 'package' _deb_packages held && ret=0 - ;; - filedownload|downloadfile|fileinstall|installfile|fileremove|removefile|indfile) - ((argno==1)) && _files && ret=0 - ;; - whichpkg) - _files - ;; - rpminstall|rpmtodeb|rpm2deb) - ((argno==1)) && _files -g '*.rpm(-.)' && ret=0 - ;; - searchapt) - _wanted distributions expl distribution \ - compadd stable testing unstable && ret=0 - ;; - reload|restart|start|stop) - ((argno==1)) && _services && ret=0 - ;; - esac - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_wakeup_capable_devices b/result/sw/share/zsh/5.9/functions/_wakeup_capable_devices deleted file mode 100644 index daad43b7..00000000 --- a/result/sw/share/zsh/5.9/functions/_wakeup_capable_devices +++ /dev/null @@ -1,15 +0,0 @@ -#autoload - -local ret=1 item devline expl -typeset -a desc - -_call_program wakeup-capable-devices acpitool -w 2> /dev/null | -while read devline; do - [[ -n ${devline:#(#b)([0-9]#).[[:space:]]#([^[:space:]]#)[[:space:]]#[0-9]#[[:space:]]#(*)} ]] && continue - zformat -f item "${match[1]}:%8d (currently ${match[3]})" d:${match[2]} - desc+=$item -done - -_describe -t wakeup-capable-devices 'wakeup capable device' desc "$@" && ret=0 - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_wanna-build b/result/sw/share/zsh/5.9/functions/_wanna-build deleted file mode 100644 index 779906af..00000000 --- a/result/sw/share/zsh/5.9/functions/_wanna-build +++ /dev/null @@ -1,44 +0,0 @@ -#compdef wanna-build - -_arguments \ - '(-v --verbose)'{-v,--verbose}'[verbose]' \ - '--take[take package for building]' \ - '(-f --failed)'{-f,--failed}'[record as failed]' \ - '(-u --uploaded)'{-u,--uploaded}'[record as uploaded]' \ - '(-n --no-build)'{-n,--no-build}'[record as undesired]' \ - '--dep-wait[record as waiting for source dependencies]' \ - '--merge-quinn[merge quinn-diff output into database]' \ - '--merge-partial-quinn[merge partial quinn-diff output into database]' \ - '--merge-packages[merge Packages files into database]' \ - '--merge-sources[merge Sources files into database]' \ - '--merge-all' \ - '--pretend-avail[pretend that given packages are available now]' \ - '(-i --info)'{-i,--info=}':source package:_deb_packages avail' \ - '(-l --list)'{-l,--list=}':state:(needs-build building uploaded failed installed dep-wait not-for-us all failed-removed dep-wait-removed install-wait reupload-wait)' \ - '(-m --message)'{-m,--message=}':message:' \ - '(-o --override)'{-o,--override}"[override another user's lock]" \ - '(-U --user)'{-U,--user=}':user name:' \ - '--import:ASCII file:_files' \ - '--export:ASCII file:_files' \ - '--create-db[create database]' \ - '--correct-compare' \ - '(-N --no-propagation)'{-N,--no-propagation} \ - '(-D --no-down-propagation)'{-D,--no-down-propagation} \ - '--give-back[give package back]' \ - '--forget' \ - '--forget-user' \ - '--binNMU:version:' \ - '--perm-build-priority:priority:' \ - '--build-priority:priority:' \ - '(-d --dist)'{-d,--dist=}':distribution:(stable testing unstable all)' \ - '(-O --order)'{-O,--order=}':ordering:(P S p s n c b)' \ - '(-b --database)'{-b,--database=}':database:' \ - '(-A --arch)'{-A,--arch=}':architecture:' \ - '(-c --category)'{-c,--category=}':category:(uploaded-fixed-pkg fix-expected reminder-sent nmu-offered easy medium hard compiler-error none)' \ - '(-a --min-age)'{-a,--min-age=}':minimum age:' \ - '--max-age:maximum age:' \ - '--manual-edit' \ - '--maintlock-create' \ - '--maintlock-remove' \ - '--clean-db' \ - ':package_version:_deb_packages avail' diff --git a/result/sw/share/zsh/5.9/functions/_wanted b/result/sw/share/zsh/5.9/functions/_wanted deleted file mode 100644 index 5bba7fd6..00000000 --- a/result/sw/share/zsh/5.9/functions/_wanted +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -local -a __targs __gopt - -zparseopts -D -a __gopt 1 2 V J x C:=__targs - -_tags "$__targs[@]" "$1" - -while _tags; do - _all_labels "$__gopt[@]" "$@" && return 0 -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_watch b/result/sw/share/zsh/5.9/functions/_watch deleted file mode 100644 index fff3d56f..00000000 --- a/result/sw/share/zsh/5.9/functions/_watch +++ /dev/null @@ -1,42 +0,0 @@ -#compdef watch - -local variant ret=1 -local -a context line state state_descr -local -A opt_args - -_pick_variant -r variant procps=procps $OSTYPE --version - -case $variant in - (procps) - _arguments -s -S -A '-*' : \ - '(: * -)'{-h,--help}'[display help information]' \ - '(: * -)'{-v,--version}'[display version information]' \ - '(-b --beep)'{-b,--beep}'[beep on non-zero command exit]' \ - '(-c --color)'{-c,--color}'[interpret ANSI color/style sequences]' \ - '(-d --differences)'{-d-,--differences=-}'[highlight changes between updates]::how to highlight:(permanent)' \ - '(-e --errexit)'{-e,--errexit}'[freeze updates on non-zero command exit]' \ - '(-g --chgexit)'{-g,--chgexit}'[exit on command output change]' \ - '(-n --interval)'{-n+,--interval=}'[specify update interval]:update interval (seconds) [2]' \ - '(-p --precise)'{-p,--precise}'[run command at precise intervals]' \ - '(-t --no-title)'{-t,--no-title}'[disable header]' \ - '(-x --exec)'{-x,--exec}'[pass command to exec(2) instead of `sh -c`]' \ - '(-)*::: :->cmd' \ - && ret=0 - - [[ $state == cmd ]] && - if - (( CURRENT == 1 )) && - [[ $words[1] == (\"|\'|\$\')* ]] && - [[ -z $opt_args[(i)(-x|--exec)] ]] - then - _cmdstring && ret=0 - else - _normal && ret=0 - fi - ;; - # watch(1) has completely different semantics on freebsd compared to linux, hence: - (freebsd*|dragonfly*) _watch-snoop "$@" && ret=0 ;; - (*) _default && ret=0 ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_watch-snoop b/result/sw/share/zsh/5.9/functions/_watch-snoop deleted file mode 100644 index 1a4af07c..00000000 --- a/result/sw/share/zsh/5.9/functions/_watch-snoop +++ /dev/null @@ -1,13 +0,0 @@ -#autoload - -# watch [-cinotW] [-f snpdev] [tty] - -_arguments -w -S -s : \ - "-c[reconnect on close]" \ - "-f:snp(4) device: " \ - "-i[force interactive mode even when stdout is not a tty]" \ - "-n[disable the ability to switch the watched tty interactively]" \ - "-o[reconnect on overflow]" \ - "-t[print date and time at start]" \ - "-W[allow write access to observed tty]" \ - "(-): : _ttys -Do" diff --git a/result/sw/share/zsh/5.9/functions/_wc b/result/sw/share/zsh/5.9/functions/_wc deleted file mode 100644 index 49a03ba2..00000000 --- a/result/sw/share/zsh/5.9/functions/_wc +++ /dev/null @@ -1,26 +0,0 @@ -#compdef wc gwc - -local args - -args=( - '(-c --bytes)'{-c,--bytes}'[print byte counts]' - '(-C -m --chars)'{-m,--chars}'[print character counts]' - '(-w --words)'{-w,--words}'[print word counts]' - '(-l --lines)'{-l,--lines}'[print line counts]' -) - -if _pick_variant gnu=GNU unix --version; then - args+=( - '(*)--files0-from=[read NUL-terminated file list from specified file]:file:_files' - '(-L --max-line-length)'{-L,--max-line-length}'[print longest line lengths]' - ) -else - args=( -A "-*" "${(@)args:#(|\(*\))(|\*)--*}" ) - case $OSTYPE in - freebsd*|netbsd*) args+=( '-L[print longest line lengths]' ) ;; - openbsd*) args+=( '-h[human readable: use unit suffixes]' ) ;; - solaris*) args+=( ${${(M)args:#*-m\[*}//-m\[/-C\[} ) ;; - esac -fi - -_arguments -s -S $args '*:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_webbrowser b/result/sw/share/zsh/5.9/functions/_webbrowser deleted file mode 100644 index e4f5fe09..00000000 --- a/result/sw/share/zsh/5.9/functions/_webbrowser +++ /dev/null @@ -1,3 +0,0 @@ -#compdef amaya arena chimera dillo dwb express galeon grail gzilla hotjava konqueror light mmm Mosaic netrik opera opera-next retawq skipstone www xmosaic zen - -_alternative 'files: :_files' 'urls: :_urls' diff --git a/result/sw/share/zsh/5.9/functions/_wget b/result/sw/share/zsh/5.9/functions/_wget deleted file mode 100644 index 50fd7791..00000000 --- a/result/sw/share/zsh/5.9/functions/_wget +++ /dev/null @@ -1,222 +0,0 @@ -#compdef wget - -local curcontext="$curcontext" state line expl -typeset -A opt_args - -_arguments -C -s \ - '(- *)'{--version,-V}'[display version info]' \ - '(- *)'{--help,-h}'[display help]' \ - '(--background -b)'{--background,-b}'[run in background]' \ - '(--execute -e)'{--execute=,-e+}'[execute .wgetrc command]:.wgetrc command' \ - '(--output-file -o --append-output -a)'{--output-file=,-o+}'[specify output logfile]:log file to output:_files' \ - '(--append-output -a --output-file -o)'{--append-output=,-a+}'[specify output logfile to append to]:log file to append:_files' \ - '(--debug -d)'{--debug,-d}'[turn on debug output]' \ - '(--quiet -q --verbose -v --no-verbose -nv)'{--quiet,-q}'[turn off output]' \ - '(--quiet -q --verbose -v --no-verbose -nv)'{--verbose,-v}'[turn on verbose output]' \ - '*-n+[turn off flags]:flags:->noflags' \ - '--report-speed=:type:(bits)' \ - '(--input-file -i)'{--input-file=,-i+}'[specify input file]:file containing URLs:_files' \ - '--input-metalink=[download files covered in local Metalink file]:file:_files' \ - '(--force-html -F)'{--force-html,-F}'[treat input file as html]' \ - '(--base -B)'{--base=,-B+}'[prepend URL to relative links]:base URL:_urls' \ - '--config=[specify config file]:config file:_files' \ - '(--config)--no-config' '--rejected-log=:file:_files' \ - '(--tries -t)'{--tries=,-t+}'[set number of retries]:number of retries' \ - '--retry-connrefused[retry even if connection is refused]' \ - '--retry-on-http-error=[specify list of HTTP errors to retry]:http error' \ - '(--output-document -O)'{--output-document=,-O+}'[specify file to write documents to]:output file:_files' \ - '(--continue -c)'{--continue,-c}'[continue getting an existing file]' \ - '--start-pos=:offset' '--show-progress' \ - '--progress=[set progress gauge type]:gauge type:->gauge' \ - '(--timestamping -N)'{--timestamping,-N}'[retrieve only files newer than existing]' \ - '--no-if-modified-since' \ - "--no-use-server-timestamps[don't set the local file's timestamp by the one on the server]" \ - '(--server-response -S)'{--server-response,-S}'[print server response]' \ - "--spider[don't download anything]" \ - '(--timeout -T)'{--timeout=,-T+}'[set all timeout values]:timeout (seconds)' \ - '--dns-servers=[specify DNS servers to query]:DNS server:_sequence _hosts' \ - '--bind-dns-address=[bind DNS resolver to specified address]:hostname or IP on local host' \ - '(--timeout -T)--dns-timeout=[set the DNS lookup timeout]:DNS lookup timeout (seconds)' \ - '(--timeout -T)--connect-timeout=[set the connect timeout]:connect timeout (seconds)' \ - '(--timeout -T)--read-timeout=[set the read timeout]:read timeout (seconds)' \ - '(--wait -w)'{--wait=,-w+}'[specify wait between retrievals]:time (seconds)' \ - '(--random-wait)--waitretry=:time (seconds)' \ - '(--waitretry)--random-wait[random wait time between retrievals]' \ - '--no-proxy[explicitly turn off proxy]' \ - '(--quota -Q)'{--quota=,-Q+}'[set retrieval quota]:number' \ - '--bind-address=[specify address to bind to (hostname or IP)]:bind address:_bind_addresses' \ - '--limit-rate=[specify limit to download rate]:download rate limit' \ - '--no-dns-cache[disable caching DNS lookups]' \ - '--restrict-file-names=[restrict chars in file names to ones OS allows]:OS:->restrict' \ - '--ignore-case[ignore case when matching files/directories]' \ - '(-4 --inet4-only -6 --inet6-only)'{-4,--inet4-only}'[connect only to IPv4 addresses]' \ - '(-4 --inet4-only -6 --inet6-only)'{-6,--inet6-only}'[connect only to IPv6 addresses]' \ - '--prefer-family=[connect first to addresses of specified family]:address family:(IPv6 IPv4 none)' \ - '(--http-user --ftp-user)--user[set both ftp and http user]:user' \ - '(--http-password --ftp-password)--password[set both ftp and http password]:password' \ - '(--password --http-password --ftp-password)--ask-password:[prompt for passwords]' \ - '--use-askpass=:command:_command_names -e' \ - '--no-iri[turn off IRI support]' \ - '--local-encoding=[specify local encoding for IRIs]:encoding' \ - '--remote-encoding=[specify default remote encoding]:encoding' \ - '--unlink[remove file before clobber]' \ - '--keep-badhash[Keep files with checksum mismatch (append .badhash)]' \ - '--metalink-index=[metalink application/metalink4+xml metaurl ordinal]:number' \ - '--metalink-over-http[use Metalink metadata from HTTP response headers]' \ - '--preferred-location[preferred location for Metalink resources]' \ - '--xattr[turn on storage of metadata in extended file attributes]' \ - '(-nd --no-directories)'{-nd,--no-directories}"[don't create directories]" \ - '(--force-directories -x)'{--force-directories,-x}'[force creation of directories]' \ - '(-nH --no-host-directories)'{-nH,--no-host-directories}"[don't create host directories]" \ - '--protocol-directories[use protocol name in directories]' \ - '(--directory-prefix -P)'{--directory-prefix=,-P+}'[specify prefix to save files to]:prefix:_files -/' \ - '--cut-dirs=:number:' \ - '(--user)--http-user=:user' \ - '(--password --ask-password)--http-password=:password' \ - '--no-cache[disallow server-cached data]' \ - '--default-page=[specify default page name, normally index.html]:default page [index.html]' \ - '(--adjust-extension -E)'{--adjust-extension,-E}'[save all HTML/CSS documents with proper extensions]' \ - "--ignore-length[ignore \`Content-Length' header field]" \ - '*--header=[send a custom HTTP header]:header:->header' \ - '--compression=:compression:(auto gzip none)' \ - '--max-redirect=:number' \ - '--proxy-user=:user' \ - '--proxy-password=:password' \ - '--referer=:URL:_urls' \ - '--save-headers[save http headers]' \ - '(--user-agent -U)'{--user-agent=,-U+}'[specify user agent to identify as]:user-agent' \ - '--no-http-keep-alive[disable HTTP keep-alive]' \ - '--no-cookies[turn cookies off]' \ - '--load-cookies=[specify file to load cookies from]:cookie file:_files' \ - '--save-cookies=[specify file to save cookies to]:cookie file:_files' \ - '--keep-session-cookies[load and save session cookies]' \ - '--post-data=[use the POST method with specified data]:data to send' \ - '--post-file=[use the POST method; sending contents of a file]:file:_files' \ - '--method=[use specified HTTP method]:method:(GET POST HEAD DELETE)' \ - '(--body-file)--body-data=[send string as data]:string' \ - '(--body-data)--body-file=[send contents of file]:file:_files' \ - '--content-disposition[honor the Content-Disposition header when choosing local file names]' \ - '--content-on-error[output received content on server errors]' \ - "--auth-no-challenge[send basic HTTP authentication without first waiting for server's challenge]" \ - '--secure-protocol=[choose secure protocol]:protocol:(SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv1_2 PFS)' \ - --https-only \ - "--no-check-certificate[don't check the server certificate]" \ - '--certificate=[specify client certificate]:client certificate file:_files' \ - '--certificate-type=[specify client certificate type]:certificate type:(PEM DER)' \ - '--private-key=[specify private key file]:key file:_files' \ - '--private-key-type=[specify private key type]:key type:key type:(PEM DER)' \ - "--ca-certificate=[specify file with bundle of CA's]:file:_files" \ - "--ca-directory=[specify dir where hash list of CA's are stored]:directory:_directories" \ - '--crl-file=[specify file with bundle of CRLs]:file:_files' \ - '--pinnedpubkey=:file:_files' \ - '--random-file[specify file with random data for seeding generator]:file:_files' \ - '--egd-file=[specify filename of EGD socket]:file:_files' \ - '--ciphers=[set the priority string (GnuTLS) or cipher list string (OpenSSL) directly]:string' \ - '--no-hsts[disable HSTS]' \ - '--hsts-file[specify path of HSTS database]:file:_files' \ - '(--user)--ftp-user=:user' \ - '(--password --ask-password)--ftp-password=:password' \ - "--no-remove-listing[don't remove \`.listing' files]" \ - '--no-glob[turn off FTP file name globbing]' \ - '--no-passive-ftp' \ - '--preserve-permissions[preserve remote file permissions with ftp]' \ - --retr-symlinks --ftps-implicit --ftps-resume-ssl \ - --ftps-clear-data-connection --ftps-fallback-to-ftp \ - '--warc-file=:file:_files' --warc-header=:string --warc-max-size=:number \ - --warc-cdx --warc-dedup=:file:_files --no-warc-compression --no-warc-digests \ - --no-warc-keep-log --warc-tempdir=:directory:_directories \ - '(--recursive -r)'{--recursive,-r}'[recurse subdirectories]' \ - '(--level -l)'{--level=,-l+}'[specify maximum recursion depth]:level' \ - '--delete-after' \ - '(--convert-links -k)'{--convert-links,-k}'[convert links to be relative]' \ - --convert-file-only \ - '--backups=:max backups' \ - '(--backup-converted -K)'{--backup-converted,-K}'[backup files before conversion]' \ - '(--mirror -m -r -N -l)'{--mirror,-m}'[mirror (-r -N -l inf --no-remove-listing)]' \ - '(--page-requisites -p)'{--page-requisites,-p}'[get all images needed to display page]' \ - '--strict-comments[turn on strict (SGML) handling of HTML comments]' \ - '(--accept -A)'{--accept=,-A+}'[specify accepted extensions]:extensions' \ - '(--reject -R)'{--reject=,-R+}'[specify rejected extensions]:extensions' \ - --{accept,reject}-regex=:regex '--regex-type=:regex type:(posix pcre)' \ - '(--domains -D)'{--domains=,-D+}'[specify accepted domains]:domains:_domains' \ - '--exclude-domains=:rejected domain:_sequence _domains' \ - '--follow-ftp' \ - '--follow-tags=:HTML tags:' \ - '--ignore-tags=[specify ignored HTML tags]:HTML tags' \ - '(--span-hosts -H)'{--span-hosts,-H}'[span hosts]' \ - '(--relative -L)'{--relative,-L}'[follow relative links only]' \ - '(--include-directories -I)'{--include-directories=,-I+}'[include directories]:allowed directories' \ - '--trust-server-names' \ - '(--exclude-directories -X)'{--exclude-directories=,-X+}'[exclude directories]:excluded directories' \ - '(-np --no-parent)'{-np,--no-parent}"[don't ascend to parent directory]" \ - '--no-verbose' \ - '--no-clobber' \ - '--no-netrc' \ - '--no-use-server-timestamps[do not set timestamp to server provided value]' \ - '--htmlify=:htmlify:' \ - '--no:no:->noflags' \ - '*:URL:_urls' && return 0 - -case "$state" in - gauge) - _values -S : 'progress gauge type' \ - 'dot:style:(default binary mega giga micro)' \ - 'bar:force:(force)' - ;; - noflags) - _values -s '' 'option' \ - 'v[non verbose]' \ - 'H[no host directories]' \ - 'd[no directories]' \ - 'c[no clobber]' \ - 'p[no parent]' - ;; - restrict) - _values -s , 'filename char restriction' \ - '(windows)unix' \ - '(unix)windows' \ - '(unix windows)nocontrol' \ - ascii \ - '(uppercase)lowercase' \ - '(lowercase)uppercase' - ;; - header) - local -a headers - local suf=': ' - compquote suf - headers=( - Accept{,-{Charset,Encoding,Language,Datetime}} - Authorization - Cache-Control - Connection - Cookie - Content-{Length,MD5,Type} - Date - Expect - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Max-Forwards - Pragma - Proxy-Authorization - Range - Referer - TE - Upgrade - User-Agent - Via - Warning - X-Requested-With - X-Do-Not-Track - DNT - X-Forwarded-For - X-ATT-DeviceId - X-Wap-Profile - ) - _wanted headers expl 'HTTP header' compadd -S $suf -a headers - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_whereis b/result/sw/share/zsh/5.9/functions/_whereis deleted file mode 100644 index 6f11b516..00000000 --- a/result/sw/share/zsh/5.9/functions/_whereis +++ /dev/null @@ -1,3 +0,0 @@ -#compdef whereis - -_command_names -e diff --git a/result/sw/share/zsh/5.9/functions/_which b/result/sw/share/zsh/5.9/functions/_which deleted file mode 100644 index 9b789c86..00000000 --- a/result/sw/share/zsh/5.9/functions/_which +++ /dev/null @@ -1,41 +0,0 @@ -#compdef which whence where type - -local farg aarg xarg cargs args state line curcontext="$curcontext" ret=1 - -cargs=( \ - '(-v -c)-w[print command type]' \ - '-p[always do a path search]' \ - '-m[treat the arguments as patterns]' \ - '(-S)-s[print symlink free path as well]' \ - '(-s)-S[show steps in the resolution of symlinks]' \ - '*:commands:->command' ) -farg='-f[output contents of functions]' -aarg='-a[print all occurrences in path]' -xarg='-x+[specify spaces to use for indentation in function expansion]:spaces' - -case ${service} in - whence) - _arguments -C -s -A "-*" -S \ - '(-c -w)-v[verbose output]' \ - '(-v -w)-c[csh-like output]' \ - "${cargs[@]}" "$farg" "$aarg" && ret=0 - ;; - where) _arguments -C -s -A "-*" -S "${cargs[@]}" "$xarg" && ret=0;; - which) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$xarg" && ret=0;; - type) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$farg" && ret=0;; -esac - -if [[ "$state" = command ]]; then - - args=( "$@" ) - - _alternative -O args \ - 'commands:external command:_path_commands' \ - 'builtins:builtin command:compadd -k builtins' \ - 'functions:shell function:compadd -k functions' \ - 'aliases:alias:compadd -k aliases' \ - 'reserved-words:reserved word:compadd -k reswords' && ret=0 - -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_who b/result/sw/share/zsh/5.9/functions/_who deleted file mode 100644 index 1f901af1..00000000 --- a/result/sw/share/zsh/5.9/functions/_who +++ /dev/null @@ -1,64 +0,0 @@ -#compdef who gwho - -local args variant - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu) - args=( - '(Q -a --all -b --boot -d --dead -l --login -p --process -q --count -r --runlevel -t --time -T -w --mesg --message --writable -u --users)'{-a,--all}'[same as -b -d --login -p -r -t -T -u]' - '(Q -b --boot)'{-b,--boot}'[print time of last system boot]' - '(Q -d --dead -a --all)'{-d,--dead}'[print dead processes]' - '(Q -H --heading)'{-H,--heading}'[print line of column headings]' - '(Q -l --login)'{-l,--login}'[print system login processes]' - '(Q)--lookup[canonicalize hostnames via DNS]' - '(Q)-m[print information about current terminal]' - '(Q -p --process)'{-p,--process}'[print active processes spawned by init]' - '(Q -r --runlevel)'{-r,--runlevel}'[print current runlevel]' - '(Q -t --time)'{-t,--time}'[print last system clock change]' - '(Q -T -w --mesg --message --writable)'{-T,-w,--mesg,--message,--writable}"[show user's message acceptance status as +, - or ?]" - '(Q -u --users)'{-u,--users}'[show idle time]' - '!(Q -a)-s' '!(Q -a)--short' - + Q - '(-)'{-q,--count}'[print only login names and number of users logged on]' - '(-)--help[display help information]' - '(-)--version[display version information]' - ) - ;; - darwin*|dragonfly*|netbsd*|solaris*) - args=( - '(Q -a)-d[print dead processes]' - '(Q -a)-l[print system login processes]' - '(Q -a)-p[print active processes spawned by init]' - '(Q -a)-r[print current runlevel]' - '(Q -a)-t[print last system clock change]' - ) - ;| - dragonfly*|netbsd*) - args+=( '(Q)-v[show process exit status, session id etc]' ) - ;| - (net|free)bsd*|darwin*|dragonfly*|solaris*) - args+=( - '(Q -b -d -p -r -T -u)-a[print all entries]' - '(Q -a)-b[print time of last system boot]' - '!(Q -a)-s' - ) - ;| - *) - args+=( - '(Q)-H[print line of column headings]' - '(Q)-m[print information about current terminal]' - "(Q -a)-T[show user's message acceptance status as +, - or ?]" - '(Q -a)-u[show idle time]' - + Q '(-a -b -d -H -l -m -p -r -s -t -T -v)-q[print only login names and number of users logged on]' - ) - ;| - solaris*) - args+=( - '(-a -b -d -H -l -m -p -r -s -t -T)-n+[specify number of users to list per line]:number' - ) - ;; -esac - -_arguments -s -S ':file:_files' $args diff --git a/result/sw/share/zsh/5.9/functions/_whois b/result/sw/share/zsh/5.9/functions/_whois deleted file mode 100644 index a8180f60..00000000 --- a/result/sw/share/zsh/5.9/functions/_whois +++ /dev/null @@ -1,225 +0,0 @@ -#compdef whois fwhois - -_whois () { - local _whois_comp - _whois_setup - case "$0" in - fwhois) _whois_fwhois;; - *) $_whois_comp;; - esac -} - -(( $+functions[_whois_setup] )) || -_whois_setup () { - (( $+_whois_defaultserver )) || - _whois_defaultserver='whois.internic.net' - - (( $+_whois_servers )) || { - typeset -gUa _whois_servers - _whois_servers=( - $_whois_defaultserver - domain-registry.nl - is.nic.pw - whois.apnic.net:p - whois.arin.net:a - whois.aunic.net - whois.berkeley.edu - whois.cdnnet.ca - whois.dns.pt - whois.funet.fi - whois.gb.com - whois.gb.net - whois.internic.net - whois.jpl.nasa.gov - whois.nic-se.se - whois.nic.ad.jp - whois.nic.af - whois.nic.as - whois.nic.br - whois.nic.bt - whois.nic.ch - whois.nic.cx - whois.nic.fr - whois.nic.gov:g - whois.nic.hm - whois.nic.it - whois.nic.li - whois.nic.lk - whois.nic.mil:d - whois.nic.mx - whois.nic.nu - whois.nic.or.kr - whois.nic.sh - whois.nic.tj - whois.nic.tm - whois.nic.uk - whois.ripe.net:r - whois.ripn.net:R - whois.sics.se - whois.stanford.edu - whois.uk.com - www.nic.at - $(functions -m '_whois:*' | - awk '/^undefined _whois:/ {print substr($2,8,length($2)-7)} - /^_whois:/ {print substr($1,8,length($1)-7)}') - ) - } - - (( $+_whois_arguments )) || { - local help="$(whois </dev/null 2>&1)" - local tmp opt opts - local hostopt=-h+ - - if [[ $help = *"user[@<whois.server>]"* ]]; then - _whois_comp=_whois_fwhois - elif [[ $help = *(name\ ...|OBJECT...)* ]]; then - _whois_comp=_whois_multi - else - _whois_comp=_whois_single - hostopt=-h - fi - - _whois_arguments=() - - if [[ $help = *"-p PORT"* ]]; then - _whois_arguments=("$_whois_arguments[@]" - '-p[port]:port:_whois_ports' - ) - fi - - tmp="${(j::)${(@)${(@M)_whois_servers:#*:?}##*:}}" - if [[ $help = (#b)*\[-([$tmp]##)\]* ]]; then - tmp=(${(s::)match[1]}) - else - tmp=() - fi - - if [[ $help = *"-h host"* ]]; then - tmp=($tmp h) - fi - - for opt in $tmp; do - opts=(-${^tmp:#$opt}) - if (( $#opts )); then opts="($opts)"; else opts=; fi - if [[ $opt = h ]]; then - _whois_arguments=("$_whois_arguments[@]" - "${opts}${hostopt}:host:_whois_hosts") - else - _whois_arguments=("$_whois_arguments[@]" - "${opts}-${opt}[${${(@M)_whois_servers:#*:$opt}%:?}]") - fi - done - } -} - -_whois_single () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local tmp host - - _arguments -C \ - "$_whois_arguments[@]" \ - ':identifier:->identifier' && return 0 - - case "$state" in - identifier) - if [[ -z "$QIPREFIX" && -z "$PREFIX" ]]; then - compadd -QS '' \' - return - fi - compset -q - host="${opt_args[-h]:-$_whois_defaultserver}" - for tmp in $_whois_servers; do - if [[ $tmp = *:? && $+opt_args[-${tmp##*:}] -ne 0 ]]; then - host="${tmp%:?}" - break - fi - done - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$expl[@]" - else - _message -e identifiers "identifier" - fi - ;; - esac -} - -_whois_multi () { - local curcontext="$curcontext" state line expl - typeset -A opt_args - local tmp host - - _arguments -C \ - "$_whois_arguments[@]" \ - '*::identifier:->identifier' && return 0 - - case "$state" in - identifier) - host="${opt_args[-h]:-$_whois_defaultserver}" - for tmp in $_whois_servers; do - if [[ $tmp = *:? && $+opt_args[-${tmp##*:}] -ne 0 ]]; then - host="${tmp%:?}" - break - fi - done - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$expl[@]" - else - _message -e identifiers "identifier" - fi - ;; - esac -} - -_whois_fwhois () { - if compset -P '*@'; then - _whois_hosts "$@" - else - if [[ -z "$QIPREFIX" && -z "$PREFIX" ]]; then - compadd -QS '' \' - return - fi - compset -q - host="$_whois_defaultserver" - if (( $+functions[_whois:$host] )); then - "_whois:$host" "$@" - else - _message -e identifiers "identifier" - fi - fi -} - -_whois_hosts () { - _tags hosts && - compadd "$@" \ - -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' \ - - ${_whois_servers%:?} || _hosts "$@" -} - -_whois_ports () { - _tags ports && compadd "$@" - whois || _ports "$@" -} - -(( $+functions[_whois:whois.internic.net] )) || -_whois:whois.internic.net () { - if (( CURRENT == 1 )); then - local expl - - _wanted strings expl string compadd HELP DOMAIN HOST - else - _message -e strings 'string' - fi -} - -(( $+functions[_whois:whois.nic.ad.jp] )) || -_whois:whois.nic.ad.jp () { - if (( CURRENT == 1 )); then - local expl - - _wanted strings expl string compadd HELP DOM NET HOST PERSON CONN COM - else - _message -e strings 'string' - fi -} - -_whois "$@" diff --git a/result/sw/share/zsh/5.9/functions/_widgets b/result/sw/share/zsh/5.9/functions/_widgets deleted file mode 100644 index fdab2814..00000000 --- a/result/sw/share/zsh/5.9/functions/_widgets +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local expl pattern - -pattern=( -g \* ) -zparseopts -D -K -E g:=pattern - -_description widgets expl widget -compadd "$@" "$expl[@]" -M 'r:|-=* r:|=*' - "${(@k)widgets[(R)${pattern[2]}]}" diff --git a/result/sw/share/zsh/5.9/functions/_wiggle b/result/sw/share/zsh/5.9/functions/_wiggle deleted file mode 100644 index 1d747a47..00000000 --- a/result/sw/share/zsh/5.9/functions/_wiggle +++ /dev/null @@ -1,25 +0,0 @@ -#compdef wiggle - -local fns='-m --merge -d --diff -x --extract -B --browse' - -_arguments \ - "($fns -1 -2 -3)"{-m,--merge}'[select the merge function]' \ - "($fns -3 3)"{-d,--diff}'[display differences between files]' \ - "($fns 2 3)"{-x,--extract}'[extract one branch of a patch or merge file]' \ - '(-w --words -l --lines)'{-w,--words}'[make operations and display word based]' \ - '(-l --lines -w --words --non-space)'{-l,--lines}'[make operations and display line based]' \ - '(-l --lines)--non-space[words are separated by spaces]' \ - '(-p --patch)'{-p,--patch}'[treat last named file as a patch]' \ - '(-r --replace)'{-r,--replace}'[replace original file with merged output]' \ - '--no-backup[never save original file (as name.porig)]' \ - '(-R --reverse -x --extract)'{-R,--reverse}'[swap the files or revert changes]' \ - '(-2 -3 -m --merge)-1[select branch]' \ - '(-1 -3 -m --merge)-2[select branch]' \ - '(-1 -2 -m --merge)-3[select branch]' \ - '(1 2 3 -)'{-h,--help}'[display help information]' \ - '(1 2 3 -)'{-V,--version}'[display version information]' \ - '(-v --verbose -q --quiet)'{-v,--verbose}'[enable verbose output]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[enable quiet output]' \ - '1:file:_files' \ - '2:file:_files' \ - '3:file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_wipefs b/result/sw/share/zsh/5.9/functions/_wipefs deleted file mode 100644 index 8642aab9..00000000 --- a/result/sw/share/zsh/5.9/functions/_wipefs +++ /dev/null @@ -1,26 +0,0 @@ -#compdef wipefs - -_arguments -s -S \ - '(H -a --all)'{-a,--all}'[wipe all magic strings]' \ - '(H -b --backup)'{-b,--backup}'[create a signature backup in $HOME]' \ - '(H -f --force)'{-f,--force}'[force erasure]' \ - '(H -i --no-headings -J --json -p --parsable)'{-i,--no-headings}"[don't print headings]" \ - '(H -J --json -i --no-headings -p --parsable)'{-J,--json}'[use JSON output format]' \ - '(H -n --no-act)'{-n,--no-act}'[do everything except the actual write() call]' \ - '(H -o --offset)'{-o+,--offset=}'[specify offset to erase]:offset (bytes)' \ - '(H -O --output)'{-O+,--output=}'[specify columns to display]: : _values -s, "column" - "uuid[partition/filesystem UUID]" - "label[filesystem label]" - "length[magic string length]" - "type[superblock type]" - "offset[magic string offset]" - "usage[type description]" - "device[block device name]"' \ - '(H -p --parsable -i --no-headings -J --json)'{-p,--parsable}'[print out in parsable instead of printable format]' \ - '(H -q --quiet)'{-q,--quiet}'[suppress output messages]' \ - '(H -t --types)'{-t+,--types=}'[limit the set of filesystem, RAIDs or partition tables]:type:_file_systems' \ - '(H)--lock=-[use exclusive device lock]::mode:(yes no nonblock)' \ - '(H)*:disk device:_files -g "*(-%)" -P / -W /' \ - + '(H)' \ - '(- *)'{-h,--help}'[display help information]' \ - '(- *)'{-V,--version}'[display version information]' diff --git a/result/sw/share/zsh/5.9/functions/_wpa_cli b/result/sw/share/zsh/5.9/functions/_wpa_cli deleted file mode 100644 index e1342ca8..00000000 --- a/result/sw/share/zsh/5.9/functions/_wpa_cli +++ /dev/null @@ -1,13 +0,0 @@ -#compdef wpa_cli - -_arguments \ - '-p:path to ctrl sockets:_files -g "*(=)"' \ - '-i:ifname:_net_interfaces' \ - '-h[help]' \ - '-v[shown version information]' \ - '-B[run a daemon in the background]' \ - '-a[run in daemon mode]:action file:_files' \ - '-P:pid file:_files' \ - '-g:global ctrl:_files -g "*(=)"' \ - '-G:ping interval:' \ - ':command:(status ping mib help interface level license quit set logon logoff pmksa reassociate preauthenticate identity password new_password pin otp passphrase bssid list_networks select_network enable_network disable_network add_network remove_network set_network get_network save_config disconnect reconnect scan scan_results bss get_capability reconfigure terminate interface_add interface_remove interface_list ap_scan stkstart ft_ds wps_pbc wps_pin wps_reg)' diff --git a/result/sw/share/zsh/5.9/functions/_x_arguments b/result/sw/share/zsh/5.9/functions/_x_arguments deleted file mode 100644 index 25eaf12a..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_arguments +++ /dev/null @@ -1,35 +0,0 @@ -#compdef -P */X11(|R<4->)/* - -local ret long xargs opts rawret nm="$compstate[nmatches]" - -xargs=( - '-display:display:_x_display' - '-geometry:geometry:_x_geometry' -) - -(( $# )) || xargs=( "$xargs[@]" '*:default: _default' ) - -long=$argv[(I)--] -if (( long )); then - argv[long]=( "$xargs[@]" -- ) -else - set -- "$@" "$xargs[@]" -fi - -opts=() -while [[ $1 = -(O*|[CRWsw]) ]]; do - opts=($opts $1) - [[ $1 = -R ]] && rawret=yes - shift -done - -_arguments -R "$opts[@]" "$@" - -ret=$? - -if [[ "$ret" = 300 ]]; then - compstate[restore]='' - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_x_borderwidth b/result/sw/share/zsh/5.9/functions/_x_borderwidth deleted file mode 100644 index 9e20f025..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_borderwidth +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e values 'border width' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_color b/result/sw/share/zsh/5.9/functions/_x_color deleted file mode 100644 index 845a3568..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_color +++ /dev/null @@ -1,37 +0,0 @@ -#autoload - -# This tries to automatically find the rgb.txt color database. If this -# in an unusual place on your system or you want a personal database, -# you can use the configuration key: -# -# colors_path -# Path to a file containing the names of colors you want to -# complete. In the form of a X11 rgb.txt file. - -local expl - -if (( ! $+_cache_x_colors )); then - typeset -ga _cache_x_colors - local file - - # Cache of color names doesn't exist yet, create it. - - zstyle -s ":completion:${curcontext}:colors" path file - if [[ -n "$file" ]]; then - _cache_x_colors=( "${(@)${(@f)$(< $file)}[2,-1]##* }" ) - elif (( $+commands[showrgb] )); then - _cache_x_colors=( "${(@)${(@)${(@f)$(_call_program colors showrgb)}[2,-1]##* }:#* *}" ) - else - file=( /usr/{lib,{{X11R6,openwin},local{,/X11{,R6}}}/lib}/X11/rgb.txt(N) ) - - (( $#file )) && - _cache_x_colors=( "${(@)${(@)${(@f)$(< $file[1])}[2,-1]##* }:#* *}" ) - fi - - # Stupid default value. - - (( $#_cache_x_colors )) || _cache_x_colors=(white black gray red blue green) -fi - -_wanted colors expl 'color specification' compadd "$@" -M \ - 'm:{a-z}={A-Z} m:-=\ r:[^ A-Z0-9]||[ A-Z0-9]=* r:|=*' -a - _cache_x_colors diff --git a/result/sw/share/zsh/5.9/functions/_x_colormapid b/result/sw/share/zsh/5.9/functions/_x_colormapid deleted file mode 100644 index 61b0a72f..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_colormapid +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -local expl list desc - -_tags colormapids || return 1 - -list=(${(f)"$(xprop -root -f RGB_COLOR_MAP 32xcccccccxx ': $0\n'|awk -F'[ ():]' '/^[a-zA-Z_]+\(RGB_COLOR_MAP\)/ {print $5, "--", $1}')"}) - -if zstyle -T ":completion:${curcontext}:colormap-id" verbose; then - desc=(-ld list) -else - desc=() -fi - -_wanted colormapids expl 'colormap id' \ - compadd "$@" "$desc[@]" - "${(@)list%% *}" diff --git a/result/sw/share/zsh/5.9/functions/_x_cursor b/result/sw/share/zsh/5.9/functions/_x_cursor deleted file mode 100644 index 466aea0c..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_cursor +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -local expl - -if (( ! $+_cursor_cache )); then - local file - - file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/cursorfont.h(N) ) - - if (( $#file )); then - _cursor_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#*XC_*}[2,-1]#* XC_}% *}" ) - else - _cursor_cache=( X_cursor ) - fi -fi - -_wanted cursors expl 'cursor name' \ - compadd "$@" -M 'm:-=_ r:|_=*' -a - _cursor_cache diff --git a/result/sw/share/zsh/5.9/functions/_x_display b/result/sw/share/zsh/5.9/functions/_x_display deleted file mode 100644 index c093ac94..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_display +++ /dev/null @@ -1,3 +0,0 @@ -#compdef -value-,DISPLAY,-default- - -_tags displays && _hosts -S ':0 ' -r : diff --git a/result/sw/share/zsh/5.9/functions/_x_extension b/result/sw/share/zsh/5.9/functions/_x_extension deleted file mode 100644 index 4e410a82..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_extension +++ /dev/null @@ -1,19 +0,0 @@ -#autoload - -local expl - -_tags extensions || return 1 - -(( $+_xe_cache )) || _xe_cache=( "${(@)${(@f)$(xdpyinfo)}[(r)number of extensions:*,-1][2,(r)default screen number:*][1,-2]//[ ]}" ) - -if [[ "$1" = -a ]]; then - shift - - _wanted extensions expl 'X extension' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]" -else - [[ "$1" = - ]] && shift - - _wanted extensions expl 'X extension' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _xe_cache -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_font b/result/sw/share/zsh/5.9/functions/_x_font deleted file mode 100644 index 1202d821..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_font +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -local expl - -_tags fonts || return 1 - -# This *has* to be improved some day... - -if (( ! $+_font_cache )); then - typeset -gU _font_cache - - _font_cache=( ${(f)"$(_call_program fonts xlsfonts)"} ) -fi - -_wanted fonts expl font \ - compadd -M 'r:|-=* r:|=*' "$@" -a - _font_cache diff --git a/result/sw/share/zsh/5.9/functions/_x_geometry b/result/sw/share/zsh/5.9/functions/_x_geometry deleted file mode 100644 index 32ea9cb1..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_geometry +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e geometries 'geometry' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_keysym b/result/sw/share/zsh/5.9/functions/_x_keysym deleted file mode 100644 index 84212e71..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_keysym +++ /dev/null @@ -1,22 +0,0 @@ -#autoload - -local expl - -_tags keysyms || return 1 - -if (( ! $+_keysym_cache )); then - local file - - file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/keysymdef.h(N) ) - - if (( $#file )); then - _keysym_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#\#define[ ]##XK_*}#\#define[ ]##XK_}%%[ ]*}" ) - else - _keysym_cache=( BackSpace Tab Linefeed Clear Return Pause Escape - Delete Left Right Up Down Space Home Begin End - F{1,2,3,4,5,6,7,8,9,10,11,12} ) - fi -fi - -_wanted keysyms expl 'key symbol' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _keysym_cache diff --git a/result/sw/share/zsh/5.9/functions/_x_locale b/result/sw/share/zsh/5.9/functions/_x_locale deleted file mode 100644 index be8eded8..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_locale +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e locales 'locale' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_modifier b/result/sw/share/zsh/5.9/functions/_x_modifier deleted file mode 100644 index 490d12ef..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_modifier +++ /dev/null @@ -1,7 +0,0 @@ -#autoload - -local expl - -_wanted modifiers expl modifier \ - compadd "$@" -M 'm:{a-z}={A-Z}' - \ - Shift Lock Control Mod1 Mod2 Mod3 Mod4 Mod5 diff --git a/result/sw/share/zsh/5.9/functions/_x_name b/result/sw/share/zsh/5.9/functions/_x_name deleted file mode 100644 index 58626fde..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_name +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e names 'name' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_resource b/result/sw/share/zsh/5.9/functions/_x_resource deleted file mode 100644 index 0aa3ae9a..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_resource +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e resources 'resource' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_selection_timeout b/result/sw/share/zsh/5.9/functions/_x_selection_timeout deleted file mode 100644 index 6430b301..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_selection_timeout +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e values 'selection timeout' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_title b/result/sw/share/zsh/5.9/functions/_x_title deleted file mode 100644 index fd73db68..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_title +++ /dev/null @@ -1,9 +0,0 @@ -#autoload - -local x="$argv[(I)-X]" - -if (( x )); then - _message -r "$argv[x + 1]" -else - _message -e titles 'title' -fi diff --git a/result/sw/share/zsh/5.9/functions/_x_utils b/result/sw/share/zsh/5.9/functions/_x_utils deleted file mode 100644 index 4b98ec48..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_utils +++ /dev/null @@ -1,210 +0,0 @@ -#compdef xdpyinfo xwininfo xkill xfontsel xfd xev xhost xon xsetroot xwd xwud xrdb xprop xlsatoms xlsclients - -local curcontext="$curcontext" state state_descr line expl ret=1 - -case "$service" in -xdpyinfo) - _x_arguments \ - -queryExtensions \ - '-ext:extension: _x_extension -a' \ - -version - ;; -xwininfo) - _x_arguments \ - -{help,int,children,tree,stats,bits,events,size,wm,shape,frame,all,english,metric} \ - '(-id -name)-root' \ - '(-id -root)-name:name: _x_window -n' \ - '(-name -root)-id:id: _x_window' - ;; -xprop) - _x_arguments -C \ - -{help,frame,notype,spy} \ - '-grammar[show grammar for command line options]' \ - '(-id -name)-root[use the root window as the target window]' \ - '(-id -root)-name[specify target window by name]:name: _x_window -n' \ - '(-name -root)-id[specify target window by window id]:id: _x_window' \ - '-font[display the properties of a font]:font: _x_font' \ - '-len[show at most n bytes of any property]:n' \ - '*-fs[read more property formats from file]:file: _files' \ - '*-remove[specify an atom to remove from the target window]:property atom:->atoms' \ - '*-set[specify an atom and a value to set on the target window]:property atom:->atoms:value' \ - '*-f:property atom:->atoms:format: ::dformat' \ - '*:property atoms:->atoms' - ;; -xlsatoms) - _x_arguments -C \ - '*-format[printf-style format to use]:format' \ - '*-range[atom values to list]:[num]-[num]' \ - '*-name[name of single atom to print]:atom:->atoms' - ;; -xlsclients) - _x_arguments -C \ - '-a[list all clients on all screens]' \ - '-l[long format adding window/icon names and class hints]' \ - '-m[maximum characters of command to include]:characters' - ;; -xkill) - _x_arguments \ - -version \ - -frame \ - '(-id)-all' \ - '(-all)-id:window: _x_window' \ - '-button:selection button:(any 1 2 3 4 5)' - ;; -xfontsel) - _xt_arguments \ - -{print,scaled} \ - '-pattern:font pattern:_x_font' \ - '-sample:sample text' \ - '-sample16:16-bit sample text' \ - '-sampleUCS:ISO10646 sample text' - ;; -xfd) - _xt_arguments \ - '-fn:font: _x_font' \ - '-fa:font: _xft_fonts' \ - -{box,center} \ - '-start:first character number' \ - '-bc:box border color:_x_color' \ - '-rows:number of rows' \ - '-columns:number of columns' - ;; -xev) - _x_arguments \ - '-bw:border width' \ - '-bs:type of backing store:(NotUseful WhenMapped Always)' \ - '-id:id:_x_window' \ - '-s[use save-under]' \ - '-name:window name' \ - '-rv' \ - '*-event:event mask:(keyboard mouse expose visibility structure substructure focus property colormap owner_grab_button randr)' - ;; -xhost) - local type tmp match - - if [[ -z $PREFIX ]]; then - _describe prefixes '(-:disallow +:allow)' -S '' -r '' - fi - - if compset -P '-'; then - tmp=(${(f)"$(xhost)"}) - shift tmp - tmp=(${tmp:#LOCAL:|<*>}) - if [[ "$tmp" = *:* ]]; then - if compset -P 1 '(#b)(*):'; then - type="$match[1]" - _tags displays - while _tags; do - while _next_label displays expl 'disallow access'; do - { compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' - \ - ${${(M)tmp:#(#i)$type:*}#(#i)$type:} || - _hosts "$expl[@]" } && ret=0 - done - (( ret )) || return 0 - done - else - _alternative \ - 'types:name family:compadd -S: ${(L)tmp%%:*}' \ - 'hosts:host:compadd ${(@)tmp#*:}' && ret=0 - fi - else - _tags displays - while _tags; do - while _next_label displays expl 'disallow access'; do - { compadd "$expl[@]" -M 'm:{a-z}={A-Z} r:|[:.]=* r:|=*' -a tmp || - _hosts "$expl[@]" } && ret=0 - done - (( ret )) || return 0 - done - fi - else - compset -P + - - if [[ "$PREFIX" = *:* ]]; then - type="${(L)PREFIX%%:*}" - compset -P 1 '*:' - - case "$type" in - inet) _hosts && ret=0;; - dnet) _message -e decnet-hosts 'DECnet host';; - nis) _message -e network-names 'Secure RPC network name';; - krb) _message -e principals 'Kerberos V5 principal';; - esac - else - _alternative \ - 'types:name family:compadd -S: - inet dnet nis krb' \ - 'hosts:: _hosts' && ret=0 - fi - fi - return ret - ;; -xon) - _arguments \ - -{access,debug,nols} \ - '-name:window name' \ - '-screen:screen number' \ - '-user:remote user name:_users' \ - ':remote host:_hosts' \ - '(-):command: _command_names -e' \ - '*:command: _normal' - ;; -xsetroot) - _x_arguments \ - -{help,version,def,default,gray,grey,rv,reverse} \ - '-cursor:cursor file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\):mask file:_files -g \*.\(\#i\)\(xbm\|curs\(\|or\)\|mask\)\(-.\)' \ - '-cursor_name:cursor name:_x_cursor' \ - '-xcf:cursor file:_files:size' \ - '-bitmap:bitmap file:_files -g \*.\(\#i\)xbm\(-.\)' \ - '-mod:x grid distance (1-16): :y grid distance (1-16)' \ - '-fg:foreground color:_x_color' \ - '-bg:background color:_x_color' \ - '-solid:screen solid color:_x_color' \ - '-name:root window name' - ;; -xwd) - _x_arguments \ - -{debug,help,nobdrs,xy,frame,root,icmap,screen,silent} \ - '-out:output file:_files' \ - '-add:pixel change value' \ - '-id:id: _x_window' \ - '-name:name: _x_window -n' - ;; -xwud) - _x_arguments \ - -{help,new,noclick,raw,rv,scale} \ - '-bg:background color:_x_color' \ - '-fg:foreground color:_x_color' \ - '-in:input file:_files -g \*.\(\#i\)xwd\(-.\)' \ - '-plane:image plane to display' \ - '-std:standard colormap:(best default gray red blue green)' \ - '-vis:visual:_x_visual' - ;; -xrdb) - _x_arguments \ - -{help,quiet,symbols,retain,version} \ - '(-all -screen -screens)-global' \ - '(-global -screen -screens)-all' \ - '(-global -all -screens)-screen' \ - '(-global -all -screen)-screens' \ - '-n[only display on stdout]' \ - '(-nocpp)-cpp:preprocessor program:_files -g \*\(-\*\)' \ - '(-cpp)-nocpp' \ - '(-load -override -merge -remove)-query' \ - '(-query -override -merge -remove)-load' \ - '(-query -load -merge -remove)-override' \ - '(-query -load -override -remove)-merge' \ - '(-query -load -override -merge)-remove' \ - '-edit:output file:_files' \ - '-backup:backup extension' \ - '*-D-:symbol to define' \ - '*-U-:symbol to undefine' \ - '*-I-:include directory:_files -/' \ - '*:defaults file:_files' - ;; -esac && ret=0 - -if [[ $state == atoms ]]; then - _wanted atoms expl "$state_descr" compadd ${${(f)"$(_call_program atoms xlsatoms 2> /dev/null)"}#*$'\t'} && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_x_visual b/result/sw/share/zsh/5.9/functions/_x_visual deleted file mode 100644 index b2820844..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_visual +++ /dev/null @@ -1,10 +0,0 @@ -#autoload - -local expl - -# with the -b option, include `Best' in the matches -local best="${argv[(r)-b]:+Best}" -argv[(i)-b]=() - -_wanted visuals expl visual compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' - \ - $best DirectColor TrueColor PseudoColor StaticColor GrayScale StaticGray diff --git a/result/sw/share/zsh/5.9/functions/_x_window b/result/sw/share/zsh/5.9/functions/_x_window deleted file mode 100644 index 15bb87fc..00000000 --- a/result/sw/share/zsh/5.9/functions/_x_window +++ /dev/null @@ -1,18 +0,0 @@ -#autoload - -local list expl - -_tags windows || return 1 - -list=( "${(@)${(M@)${(@f)$(_call_program windows xwininfo -root -tree)}:#[ ]#0x[0-9a-f]# \"*}##[ ]#}" ) - -if [[ "$1" = -n ]]; then - shift - - _wanted windows expl 'window name' \ - compadd "$@" -d list - "${(@)${(@)list#*\"}%%\"*}" -else - [[ "$1" = - ]] && shift - - _wanted windows expl 'window ID' compadd "$@" -d list - "${(@)list%% *}" -fi diff --git a/result/sw/share/zsh/5.9/functions/_xargs b/result/sw/share/zsh/5.9/functions/_xargs deleted file mode 100644 index 8e23a04b..00000000 --- a/result/sw/share/zsh/5.9/functions/_xargs +++ /dev/null @@ -1,65 +0,0 @@ -#compdef xargs gxargs - -local args variant - -args=( - '(-l -L --max-lines -n --max-args -s --max-chars)'{-n+,--max-args=}'[specify maximum number of arguments for each line]:number of arguments' \ - '(-l -L --max-lines -n --max-args -s --max-chars)'{-s+,--max-chars=}'[specify maximum characters per command line]:maximum command line length' - '(-p --verbose -t --interactive)'{-p,--interactive}'[prompt user for each command]' - '(-p --verbose -t --interactive)'{-t,--verbose}'[verbose - echo each command]' - '(-x --exit)'{-x,--exit}'[exit if max size exceeded]' -) - -_pick_variant -r variant gnu=GNU $OSTYPE --version - -case $variant in - gnu|darwin*|freebsd*|netbsd*|openbsd*) - args+=( - '(--max-procs -P)'{-P,--max-procs}'[parallel mode]:maximum processes' '!-r' - ) - ;| - dragonfly*|darwin*|freebsd*|netbsd*|openbsd*) - args=( "${(@)args:#(|\(*\))(|\*)--*}" - '-0[expect NUL characters as input separators]' - '-J[specify marker for position of arguments]:marker' - '-R[specify maximum arguments that -I will replace in]:replacements' - ) - ;| - freebsd*|netbsd*|dragonfly*) - args+=( - '-S[space that -I can use for replacements]:size (bytes) [255]' - ) - ;; - solaris*|gnu) - args+=( - '(-x -I)'{-i-,--replace}'[specify replacement string for command line]::replacement string' - '(-n -L -x)-l-[call program for every number of lines]:number of input lines' - '(-E -e --eof)'{-e-,--eof=}'[specify EOF marker]:end-of-file marker' - ) - ;| - solaris*) args=( "${(@)args:#(|\(*\))(|\*)--*}" ) ;| - solaris2.<11->) - args+=( '-0[expect NUL characters as input separators]' ) - ;; - gnu) - args+=( - '(-a --arg-file)'{-a+,--arg-file=}'[read input items from specified file]:file:_files' - '(-0 --null -d --delimiter)'{-0,--null}'[expect NUL characters as input separators]' - '(-d --delimiter -0 --null)'{-d+,--delimiter=}'[specify delimiter of input items]:delimiter' - '(-l -L --max-lines -n --max-args -s --max-chars)--max-lines=-[call program for every number of lines]::number of input lines' - '(-o --open-tty)'{-o,--open-tty}'[reopen stdin as /dev/tty in the child process before executing the command]' - '--process-slot-var=[set environment variable to unique value in child processes]:variable:_parameters -g "*export*"' - '(-r --no-run-if-empty)'{-r,--no-run-if-empty}"[don't run command in absence of input]" - '(- *)--help[show help information]' - '(- *)--version[show version information]' - '--show-limits[show OS imposed limits to command-line length]' - ) - ;; -esac - -_arguments -s $args \ - '-E[specify EOF marker]:end-of-file marker' \ - '(-x -i)-I[specify replacement string for command line]:replacement string' \ - '(-n -l)-L[call program for every number of lines]:number of input lines' \ - '(-):command: _command_names -e' \ - '*::args: _normal' diff --git a/result/sw/share/zsh/5.9/functions/_xauth b/result/sw/share/zsh/5.9/functions/_xauth deleted file mode 100644 index 22ebffec..00000000 --- a/result/sw/share/zsh/5.9/functions/_xauth +++ /dev/null @@ -1,117 +0,0 @@ -#compdef xauth - -local state context line expl ret=1 -typeset -A opt_args -local tmp cmd - -_arguments -s \ - '-f[specify authfile]:authfile:_files' \ - '(-q)-v[verbose mode]' \ - '(-v)-q[quiet mode]' \ - '-b[break locks]' \ - '-i[ignore locks]' \ - '*::command:->command' && ret=0 - -while [[ -n "$state" ]]; do - tmp="$state" - state= - case "$tmp" in - command) - if (( CURRENT == 1 )); then - state=subcommands - else - cmd="$words[1]" - curcontext="${curcontext%:*:*}:xauth-${cmd}:" - case "$cmd" in - add) - _arguments \ - ':display name:->displayname' \ - ':protocol name:->protocolname' \ - ':hexkey:' && ret=0 - ;; - - generate) - if (( CURRENT == 2 )); then - state=displayname - elif (( CURRENT == 3 )); then - state=protocolname - else - case "$words[CURRENT-1]" in - timeout) _message -e values 'timeout (seconds)';; - group) _message -e ids 'group-id';; - data) _message -e values 'hexdata';; - *) - _wanted options expl 'xauth generate option' \ - compadd trusted untrusted timeout group data && ret=0 - ;; - esac - fi - ;; - - extract|nextract) - case "$CURRENT" in - 2) _wanted files expl 'filename to write auth data' _files && ret=0;; - *) state=displayname;; - esac - ;; - - list|nlist) - state=displayname - ;; - - merge|nmerge) - _wanted files expl 'filename to read auth data' _files && ret=0 - ;; - - remove) - state=displayname - ;; - - source) - _wanted files expl 'filename to source' _files && ret=0 - ;; - - info|exit|quit|\?) - ;; - - help) - state=subcommands - ;; - esac - fi - ;; - - subcommands) - tmp=( - 'add:add entry' - 'generate:use server to generate entry' - 'extract:extract entries into file' - 'nextract:numerically extract entries' - 'list:list entries' - 'nlist:numerically list entries' - 'merge:merge entries from files' - 'nmerge:numerically merge entries' - 'remove:remove entries' - 'source:read commands from file' - 'info:print information about entries' - 'exit:save changes and exit program' - 'quit:abort changes and exit program' - 'help:print help' - '?:list available commands' - ) - _describe 'xauth command' tmp -- && ret=0 - ;; - - protocolname) - _wanted values expl 'authorization protocol' \ - compadd MIT-MAGIC-COOKIE-1 XDM-AUTHORIZATION-1 SUN-DES-1 MIT-KERBEROS-5 && ret=0 - ;; - - displayname) - { _wanted values expl 'display name' \ - compadd - ${${(f)"$(xauth list)"}%% *} || _x_display } && ret=0 - ;; - esac -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xautolock b/result/sw/share/zsh/5.9/functions/_xautolock deleted file mode 100644 index 4d01a1dd..00000000 --- a/result/sw/share/zsh/5.9/functions/_xautolock +++ /dev/null @@ -1,25 +0,0 @@ -#compdef xautolock -_arguments \ - '(-enable -toggle)-disable' \ - '(-disable -toggle)-enable' \ - '(-locknow)-unlocknow' \ - '(-unlocknow)-locknow' \ - '(-restart)-exit' \ - '(-exit)-restart' \ - '-killer:program: _command_names -e' \ - '-locker:program: _command_names -e' \ - '-notifier:program: _command_names -e' \ - '-nowlocker:program: _command_names -e' \ - -bell:percent: \ - -cornerdelay:seconds: \ - -cornerredelay:seconds: \ - -corners:corners: \ - -cornersize:pixels: \ - -killtime:minutes: \ - -noclose{,out,err} \ - -notify:seconds: \ - -time:minutes: \ - -secure \ - -resetsaver \ - -detectsleep \ - -{help,version} diff --git a/result/sw/share/zsh/5.9/functions/_xclip b/result/sw/share/zsh/5.9/functions/_xclip deleted file mode 100644 index 509a15b7..00000000 --- a/result/sw/share/zsh/5.9/functions/_xclip +++ /dev/null @@ -1,18 +0,0 @@ -#compdef xclip - -_arguments \ - '(-i -in -o -out)'{-i,-in}'[read text into X selection (default)]' \ - '(* -i -in -o -out)'{-o,-out}'[print selection to standard output]' \ - '(-o -out -f -filter -quiet)'{-f,-filter}'[copy input additionally to standard output]' \ - {-l,-loops}'[number of selection requests to wait before exiting]:number' \ - {-t,-target}'[specify data format]:format:($(_call_program targets xclip -o -t TARGETS))' \ - {-d,-display}'[X display to connect to]:display:_x_display' \ - '(-)'{-h,-help}'[display usage information]' \ - '(-selection)-selection[selection to access]:selection:(primary secondary clipboard buffer-cut)' \ - "-noutf8[operate in legacy, non-Unicode, mode]" \ - '(-r -rmlastnl)'{-r,-rmlastnl}'[remove the last newline character if present]' \ - '(-)-version[display version information]' \ - '(-quiet -verbose)-silent[errors only, run in background]' \ - "(-silent -verbose)-quiet[run in foreground, show what's happening]" \ - '(-silent -quiet)-verbose[running commentary]' \ - '(-o -out)*:input file:_files' diff --git a/result/sw/share/zsh/5.9/functions/_xcode-select b/result/sw/share/zsh/5.9/functions/_xcode-select deleted file mode 100644 index a24b1a6f..00000000 --- a/result/sw/share/zsh/5.9/functions/_xcode-select +++ /dev/null @@ -1,10 +0,0 @@ -#compdef xcode-select - -# No -s, no -o+ form options -_arguments : \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)--install[install command-line developer tools]' \ - '(-)'{-p,--print-path}'[display path of active developer directory]' \ - '(-)'{-r,--reset}'[reset to default developer directory]' \ - '(-)'{-s,--switch}'[specify path of active developer directory]:developer directory:_files -/' diff --git a/result/sw/share/zsh/5.9/functions/_xdvi b/result/sw/share/zsh/5.9/functions/_xdvi deleted file mode 100644 index c33e67bc..00000000 --- a/result/sw/share/zsh/5.9/functions/_xdvi +++ /dev/null @@ -1,30 +0,0 @@ -#compdef xdvi - -_xt_arguments \ - -+{allowshell,copy,expert,hush{,chars,checksums,specials},keep,l,no{ghostscript,grey,gssafer,makepk,postscript,scan},safer,thorough,underlink,version} \ - +{altfont,base,browser,cr,debug,density,gamma,gspalette,hl,icongeometry,interpreter,margin,mfmode,offsets,p,paper,shrink,S,sidemargin,topmargin,xoffset,yoffset,grid{1,2,3},mgs{,1,2,3,4,5}} \ - '-altfont:default font' \ - '-base:base URL' \ - '-browser:WWW browser:_command_names -e' \ - '-cr:cursor color:_x_color' \ - '-debug:debugging bitmask:((1\:bitmaps 2\:dvi\ translation 4\:pk\ reading 8\:batch\ operation 16\:events 32\:file\ opening 64\:PostScript\ communication 128\:Kpathsea\ statistics 256\:Kpathsea\ hash\ table\ lookups 512\:Kpathsea\ path\ definitions 1024\:Kpathsea\ path\ expansion 2048\:Kpathsea\ searches))' \ - '-density:font shrink density' \ - '-gamma:anti-aliasing factor [1.0]' \ - -grid{1,2,3}':grid color:_x_color' \ - '-gspalette:Ghostscript palette:(Color Greyscale Monochrome)' \ - '-hl:page highlight color:_x_color' \ - '-icongeometry:icon geometry:_x_geometry' \ - '-interpreter:Ghostscript program:_command_names -e' \ - '-margin:margin size' \ - '-mfmode:metafont string' \ - -mgs{,1,2,3,4,5}':magnifier size' \ - '-offsets:offset size' \ - '-p:font size (pixel per inch)' \ - '-paper:paper size (<width>x<height> or ...):(us usr legal foolscap a1 a2 a3 a4 a5 a6 a7 b1 b2 b3 b4 b5 b6 b7 c1 c2 c3 c4 c5 c6 c7 a1r a2r a3r a4r a5r a6r a7r)' \ - '-shrink:shrink factor' \ - '-S:font shrink density' \ - '-sidemargin:side margin' \ - '-topmargin:top margin' \ - '-xoffset:horizontal offset' \ - '-yoffset:vertical offset' \ - '*:DVI file:_files -g "*.(#i)dvi(|.Z|.gz|.bz2)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_xfig b/result/sw/share/zsh/5.9/functions/_xfig deleted file mode 100644 index 4d1e38f5..00000000 --- a/result/sw/share/zsh/5.9/functions/_xfig +++ /dev/null @@ -1,34 +0,0 @@ -#compdef xfig - -_x_arguments \ - -{help,Landscape,Portrait,debug,dontswitchcmap,flushleft,inches,inverse,latexfonts,left,metric,monochrome,multiple,noscalablefonts,notrack,right,scalablefonts,showallbuttons,single,specialtext,tablet,track} \ - '-bold:bold font:_x_font' \ - '-button:button font:_x_font' \ - '-but_per_row:number of buttons' \ - '-cbg:canvas background color:_x_color' \ - '-cfg:canvas foreground color:_x_color' \ - '-depth:visual depth' \ - '-exportlanguage:export language:(box latex epic eepic eepicemu pictex ibmgl eps ps pstex textyl tpic pic mf acad pcx png gif jpeg tiff ppm xbm xpm)' \ - '-iconGeometry:icon geometry:_x_geometry' \ - '-internalBW:internal border width' \ - '-keyfile:compose key file:_files' \ - '-magnification:magnification factor' \ - '-max_image_colors:maximum number of colors' \ - '-normal:normal font:_x_font' \ - '-papersize:output paper size:((Letter\:8.5\"\ x\ 11\" Legal\:8.5\"\ x\ 14\" Ledger\:17\"\ x\ 11\" Tabloid\:11\"\ x\ 17\" A\:8.5\"\ x\ 11\" B\:11\"\ x\ 17\" C\:17\"\ x\ 22\" D\:22\"\ x\ 34\" E\:34\"\ x\ 44\" A4\:21\ cm\ x\ 29.7\ cm A3\:29.7\ cm\ x\ 42\ cm A2\:42\ cm\ x\ 59.4\ cm A1\:59.4\ cm\ x\ 84.1\ cm A0\:84.1\ cm\ x\ 118.9\ cm B%\:18.2\ cm\ x\ 25.7\ cm))' \ - '-pheight:canvas height' \ - '-pwidth:canvas width' \ - '-spellcheckcommand:program: _command_names -e' \ - '-startfillstyle:fill style (-1 to 21)' \ - '-startfontsize:font size (in points)' \ - '-startgridmode:grid mode:((0\:no\ grid 1\:1/4\ inch\ or\ 5\ mm 2\:1/2\ inch\ or\ 1\ cm 3\:1\ inch\ or\ 2\ cm))' \ - '-startlatexfont:latex font' \ - '-startlinewidth:line width' \ - '-startposnmode:positioning mode:((0\:any 1\:1/16\ inch\ or\ 1\ mm 2\:1/4\ inch\ or\ 5\ mm 3\:1/2\ inch\ or\ 1\ cm 4\:1\ inch\ or\ 2\ cm))' \ - '-startpsfont:postscript font' \ - '-starttextstep:text step' \ - '-userscale:scale factor' \ - '-userunit:unit string' \ - '-visual:visual:_x_visual' \ - '-zoom:zoom scale' \ - '*:xfig file:_files -g "*.(#i)(|x)fig(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_xft_fonts b/result/sw/share/zsh/5.9/functions/_xft_fonts deleted file mode 100644 index 991838d6..00000000 --- a/result/sw/share/zsh/5.9/functions/_xft_fonts +++ /dev/null @@ -1,43 +0,0 @@ -#compdef fc-list fc-match - -local -a expl suf -local font=${${PREFIX//-[0-9]##:/:}%:*}: ret=1 -local attr - -compset -S ':*' || suf=( -S: -r "-: \t\n\-" ) -if compset -P '*:'; then - attr="${PREFIX%\=*}" - if compset -P '*='; then - case $attr in - hintstyle) - _wanted value expl 'value' compadd "$suf[@]" \ - hint{none,slight,medium,full} && ret=0 - ;; - *) - _wanted value expl 'value' compadd "$suf[@]" \ - ${${(f)"$(_call_program font-attrs - fc-list $font $attr 2>/dev/null)"//,/$'\n'}##*=} && ret=0 - ;; - esac - else - _tags elements {weight,slant}-constants - while _tags; do - _requested elements expl element compadd -qS= hintstyle hinting autohint \ - size ${${(u)${(M)${(f)"$(_call_program elements - fc-list -v $font 2>/dev/null)"}:# [a-z]*}%%:*}#?} && ret=0 - _requested weight-constants expl 'weight constant' compadd "$suf[@]" \ - thin bold regular medium semibold heavy roman && ret=0 - _requested slant-constants expl 'slant constant' compadd "$suf[@]" \ - roman italic oblique && ret=0 - - (( ret )) || break - done - fi -elif compset -P '*[^\\]-'; then - _message -e size 'point size' && ret=0 -else - _wanted fonts expl font compadd "$suf[@]" \ - ${(us:,:)$(_call_program fonts fc-list -f '%\{family\},' 2>/dev/null)} && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xinput b/result/sw/share/zsh/5.9/functions/_xinput deleted file mode 100644 index 2bbadd65..00000000 --- a/result/sw/share/zsh/5.9/functions/_xinput +++ /dev/null @@ -1,139 +0,0 @@ -#compdef xinput - -local curcontext="$curcontext" xinput=${words[1]} desc subcmd out ret=1 -local match mbegin mend -local -a state state_descr line args cmds ids names disp expl -local -A opt_args - -cmds=( - 'get-feedbacks:display device feedbacks' - 'set-ptr-feedback:change pointer acceleration (or feedback) parameters ' - 'set-integer-feedback:change value of an integer device feedback' - 'get-button-map:get the button mapping of a device' - 'set-button-map:change the button mapping of a device' - set-pointer - "set-mode:set a device's mode" - 'list:list input devices or device features' - "query-state:query a device's state" - 'test:perpetual display of extended events from a device' - 'create-master:create a new pair of master devices on an XI2-enabled server' - 'remove-master:remove a master and its paired master device' - 'reattach:reattach a slave to a master' - 'float:remove a slave from its current master device' - 'set-cp:set the ClientPointer for the client owning window to master' - 'test-xi2:perpetual display of XI2 events' - 'map-to-output:restrict movements of the absolute device to an RandR crtc' - 'list-props:list properties that can be set for a device' - set-int-prop set-float-prop set-atom-prop - 'watch-props:perpetual display of property changes' - 'delete-prop:delete a property from a device' - 'set-prop:set a property to a given value' - 'disable:disable a device' - 'enable:enable a device' - 'help:display usage information' - 'version:display version information for program and server' -) - -if (( CURRENT == 2 )); then - if [[ -prefix - ]]; then - cmds=( --$^cmds ) - desc=option - else - desc=command - fi - _describe -t ${desc}s $desc cmds -M 'r:|-=* r:|=*' - return -fi - -subcmd=${words[2]#--} -curcontext="${curcontext%:*}-$subcmd:" - -args=( '1:device:->devices' ) -case $subcmd in - (set|delete)-*prop) args+=( '2:property:->properties' ) ;| - set-*prop) args+=( '*:value' ) ;| - set-ptr-feedback) args+=( '2:threshold' '3:num' '4:denom' ) ;; - set-integer-feedback) args+=( '2:feedback id' '3:value' ) ;; - set-button-map) - args+=( '*:::button mapping:compadd -F words -o numeric {1..12}' ) - ;; - set-pointer) args+=( '2:x index' '3:y index' ) ;; - set-mode) args+=( '2:mode:(ABSOLUTE RELATIVE)' ) ;; - list) args+=( '(-)--short' '(-)--long' '(-)--name-only' '(-)--id-only' ) ;; - test) args+=( '-proximity' ) ;; - create-master) - args=( - '1:prefix' - '2:send core events [1]:((0\:false 1\:true))' - '3:enable [1]:((0\:false 1\:true))' - ) - ;; - remove-master) - args=( - '1:master:->devices' - '2:slave setting:(Floating AttachToMaster)' - '3:pointer master:->devices' - '4:keyboard master:->devices' - ) - ;; - reattach) args=( '1:slave:->devices' '2:master:->devices' ) ;; - float) args=( '1:slave:->devices' ) ;; - set-cp) args=( '1:window:_x_window' '2:device:->devices' ) ;; - test-xi2) args+=( '--root[select events on the root window only]' ) ;; - map-to-output) args+=( '2:output:->outputs' ) ;; - list-props) args=( '*:device:->devices' ) ;; - set-int-prop) args+=( '3:format:compadd -o numeric 8 16 32' ) ;; - set-prop) - args+=( - '--type=-:type:(atom float int)' - '--format=-:format:compadd -o numeric 8 16 32' - ) - ;; - help|version) _message 'no more arguments'; return 1 ;; -esac - -shift words -(( CURRENT-- )) -_arguments -C -A "-*" $args && ret=0 - -case $state in - devices) - _description input-devices expl $state_descr - - ids=( ${${(f)"$(_call_program input-devices $xinput list --id-only)"}#? } ) - names=( ${${(f)"$(_call_program input-devices $xinput list --name-only)"}#? } ) - disp=( ${(f)"$(_call_program input-devices $xinput list --short)"} ) - - if [[ $PREFIX$SUFFIX = [^-]*[^0-9]* ]]; then - # match based on the names but insert IDs - compadd "$expl[@]" -M 'b:=* m:{[:lower:]}={[:upper:]}' -D ids -D disp -a names - compadd "$expl[@]" -U -ld disp -a ids && ret=0 - - zstyle -s ":completion:${curcontext}:input-devices" insert-ids out || out=menu - case "$out" in - menu) compstate[insert]=menu ;; - single) [[ $#ids -ne 1 && $compstate[insert] != menu ]] && - compstate[insert]= ;; - *) [[ ${#:-$PREFIX$SUFFIX} -gt ${#compstate[unambiguous]} ]] && - compstate[insert]=menu ;; - esac - else - compadd "$expl[@]" -M 'B:0=' -o nosort -ld disp -a ids && ret=0 - fi - ;; - properties) - _description input-properties expl 'property' - disp=( ${${${${(M)${(f)"$(_call_program input-properties - $xinput list-props $line[1] - )"}:#[[:blank:]]*}##[[:blank:]]#}%%:*}:/(#b)(*) \((<->)\)/$match[2]:$match[1]} - ) - _describe -t input-properties $state_descr disp -o numeric && ret=0 - ;; - outputs) - _description outputs expl 'output' - compadd "$expl[@]" - ${${(M)${(f)"$(_call_program outputs - xrandr)"}:#* connected*}%% *} && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xloadimage b/result/sw/share/zsh/5.9/functions/_xloadimage deleted file mode 100644 index c7c628e4..00000000 --- a/result/sw/share/zsh/5.9/functions/_xloadimage +++ /dev/null @@ -1,90 +0,0 @@ -#compdef xli xloadimage xsetbg xview - -local rc ipath extension filter type args - -if rc=( ${(f)"$($words[1] -path)"} ); then - # xli - filter=( .Z ) - args=( - '-cache[force caching of entire input]' - "-delete[enable deleting images with 'x' key]" - '-dispgamma[specify gamma correction]' - '-fillscreen[use whole screen, zooming image]' - '-focus[take keyboard focus]' - '-path[display image path and suffixes]' - -dumpcore - '*-iscale[scale image]:scale factor' - '*-c'{,olor}'dither[dither image]' - '*-expand[expand image to 24-bit]' - '*-xpm[specify xpm color map]:color context key:((m\:mono g4\:4\ level\ gray g\:gray c\:color))' - ) -else - # xloadimage - rc=( ${(f)"$($words[1] -configuration)"} ) - filter=( ${${(Q)rc[4,-1]%% -*}# } ) - type=( ${(f)"$($words[1] -supported)"} ) - args=( - '-configuration[display image path, suffixes and filters]' - '-dump[dump image into file]:image type:( '${(F)${(M)type:#*Yes*}%% *}' ):filename:_files' - -slideshow - '*-type[force type of image]:type name:( '${(F)type[3,-1]%% *}' )' - '*-shrink[shrink image to fit display]' - '*-tile[tile image to fill display]' - '*-global[following option applies to all images]' - ) -fi -ipath=( . ${=${(M)rc:#*path:*}#*:} ) -extension=( ${=${(M)rc:#*extensions:*}#*:} ) -# set default file extensions if there are none -(( $#extension )) || extension=( - .gif .jpg .jpeg .png .rle .csun .msun .sun .face - .xbm .bm .fbm .pcx .ppm .pgm .pbm .tga .xpm -) - -# all options are valid after -help so no exclusion lists below -_x_arguments "$args[@]" \ - '-default[set root background to default]' \ - '-fit[use default visual and colormap]' \ - '-fullscreen[use whole screen, surrounding image with border]' \ - "-goto[specify image to display at end]:image name:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})(-.)'" \ - '(*)-help[display information on options]' \ - '-identity[identify supplied images instead of displaying]' \ - '-install[forcibly install image colormap on focus]' \ - '-list[list images]' \ - '-onroot[display to root window]' \ - '-path[display image path and suffixes]' \ - '-pixmap[force the use of a pixmap as backing-store]' \ - '-private[force use of a private colormap]' \ - '-quiet[quiet operation]' \ - '-supported[list supported image types]' \ - '-verbose[verbose operation]' \ - '-version[display version info]' \ - '-view[view image in window]' \ - '-visual[force use of a specific visual]:visual:_x_visual' \ - '-windowid[set background pixmap of specific window]:window id:_x_window' \ - -fork -debug \ - '*-border[specify background color]:background color:_x_color' \ - '*-brighten[brighten/darken image]:percentage multiplier' \ - '*-colors[specify maximum colors in image]:colors' \ - '*-delay[delay before advancing to next image]:seconds' \ - '*-dither[dither color image to mono]' \ - '*-gamma[specify gamma of display image was intended for]:gamma' \ - '*-gr'{a,e}'y[convert image to grayscale]' \ - '*-idelay[specify delay for this image]' \ - '*-smooth[smooth a color image]' \ - '*-xzoom[zoom X axis of image]:percentage' \ - '*-yzoon[zoom Y axis of image]:percentage' \ - '*-zoom:percentage' \ - '*-newoptions[reset options]' \ - '*-at[specify coordinates to load next image at]' \ - '*-background[specify background color for next image]:color:_x_color' \ - '*-center[center next image on base image]' \ - '*-clip:X,Y,W,H' \ - '*-foreground[specify foreground color for next image]:color:_x_color' \ - '*-halftone[force halftone dithering]' \ - '*-invert[invert a monochrome image]' \ - '*-merge[merge image onto the base image]' \ - "*-name[specify image name]:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filters})(-.)'" \ - '*-normalize' \ - '*-rotate[rotate image clockwise]:degrees of rotation:(90 180 270)' \ - "*:picture file:_files -W ipath -g '*(#i)(${(j:|:)extension})(|${(j:|:)filter})(-.)'" diff --git a/result/sw/share/zsh/5.9/functions/_xmlsoft b/result/sw/share/zsh/5.9/functions/_xmlsoft deleted file mode 100644 index 08b123e5..00000000 --- a/result/sw/share/zsh/5.9/functions/_xmlsoft +++ /dev/null @@ -1,142 +0,0 @@ -#compdef xsltproc xmllint -value-,XML_CATALOG_FILES,-default- - -# xmllint: using libxml version 20904 -# xsltproc: using libxml 20904, libxslt 10129 and libexslt 817 - -local -a encoding - -encoding=( - UTF-8 - UTF-16 - ISO-10646-UCS-2 - ISO-10646-UCS-4 - ISO-8859-1 - ISO-8859-2 - ISO-8859-3 - ISO-8859-4 - ISO-8859-5 - ISO-8859-6 - ISO-8859-7 - ISO-8859-8 - ISO-8859-9 - ISO-2022-JP - SHIFT_JIS - EUC-JP -) - -case $service in - xsltproc) - _arguments \ - '(-)'{--version,-V}'[show libxml and libxslt versions]' \ - '(--verbose -v)'{--verbose,-v}"[show logs of what's happening]" \ - '(--output -o)'{--output,-o}'[specify output file]:output file:_files' \ - '--timing[display the time used]' \ - '--repeat[run the transformation 20 times]' \ - '--debug[dump the tree of the result instead]' \ - '--dumpextensions[dump registered extension elements and functions]' \ - '--novalid[skip the DTD loading phase]' \ - '--nodtdattr[do not default attributes from the DTD]' \ - '--noout[do not dump the result]' \ - '--maxdepth[increase the maximum depth]:depth' \ - '--maxvars[increase the maximum variables]:variables' \ - '--maxparserdepth[increase the maximum parser depth]:depth' \ - '--seed-rand[initialise random number generator]:seed' \ - '--html[input document is an HTML file]' \ - '--encoding[the input document character encoding]:encoding:(${encoding[@]})' \ - '*--param[pass a parameter,value pair]:name::value (xpath expression)' \ - '*--stringparam[pass a parameter]:name::value' \ - '--path[provide a set of paths for resources]:path:_dir_list' \ - '--nonet[refuse to fetch DTDs or entities over network]' \ - '--nowrite[refuse to write to any file or resource]' \ - '--nomkdir[refuse to create directories]' \ - '--writesubtree[allow file write only with the path subtree]:path:_files -/' \ - '--catalogs[use SGML catalogs]' \ - '--xinclude[do XInclude processing on document input]' \ - '--xincludestyle[do XInclude processing on stylesheets]' \ - '--load-trace[print trace of all external entities loaded]' \ - {--profile,--norman}'[dump profiling information]' \ - '1:stylesheet:_files -g "*.xslt#(-.)"' \ - ':file:_files -g "*.xml(-.)"' && return - ;; - xmllint) - _arguments \ - '--version[display the version of the XML library used]' \ - '--debug[dump a debug tree of the in-memory document]' \ - '--shell[run a navigating shell]' \ - '--debugent[debug the entities defined in the document]' \ - '--copy[used to test the internal copy implementation]' \ - '--recover[output what was parsable on broken XML documents]' \ - '--huge[remove any internal arbitrary parser limits]' \ - '--noent[substitute entity references by their value]' \ - '--noenc[ignore any encoding specified inside the document]' \ - "(--output -o)--noout[don't output the result tree]" \ - '--path[provide a set of paths for resources]:path:_dir_list' \ - '--load-trace[print trace of all external entities loaded]' \ - '--nonet[refuse to fetch DTDs or entities over network]' \ - '--nocompact[do not generate compact text nodes]' \ - '--htmlout[output results as HTML]' \ - '--nowrap[do not put HTML doc wrapper]' \ - '--valid[validate the document in addition to std well-formed check]' \ - '(--dtdvalid --relaxng --schema)--postvalid[do a posteriori validation, i.e after parsing]' \ - '(--postvalid --relaxng --schema --dtdvalidfpi)--dtdvalid[do a posteriori validation against a given DTD]:DTD:_webbrowser' \ - '(--postvalid --relaxng --schema --dtdvalid)--dtdvalidfpi[as --dtdvalid but specify DTD with public identifier]:DTD identifier' \ - '--quiet[be quiet when successful]' \ - '--timing[print some timings]' \ - '(--noout --output -o)'{--output,-o}'[save to a given file]:output file:_files' \ - '--repeat[repeat 100 times, for timing or profiling]' \ - '--insert[ad-hoc test for valid insertions]' \ - '--compress[turn on gzip compression of output]' \ - '--html[use the HTML parser]' \ - '--xmlout[use the XML serializer when using --html]' \ - '--nodefdtd[do not default HTML doctype]' \ - '--push[use the push mode of the parser]' \ - '--pushsmall[use the push mode of the parser using tiny increments]' \ - '--memory[parse from memory]' \ - '--maxmem[limit memory allocation]:bytes' \ - '--nowarning[do not emit warnings from parser/validator]' \ - '--noblanks[drop (ignorable?) blanks spaces]' \ - '--nocdata[replace cdata section with text nodes]' \ - '--format[reformat/reindent the input]' \ - '--encode[output in the given encoding]:encoding:(${encoding[@]})' \ - '--dropdtd[remove the DOCTYPE of the input docs]' \ - "--pretty[pretty-print in a particular style]:style:((0\:don\'t\ pretty\ print 1\:reformat 2\:add\ whitespace))" \ - '--c14n[save in W3C canonical format]' \ - '--c14n11[save in W3C canonical format v1.1 (with comments)]' \ - '--exc-c14n[save in W3C exclusive canonical format]' \ - '--nsclean[remove redundant namespace declarations]' \ - '(--nocatalogs)--catalogs[use SGML catalogs]' \ - '(--catalogs)--nocatalogs[deactivate all catalogs]' \ - '--auto[generate a small doc on the fly]' \ - '(--noxincludenode)--xinclude[do XInclude processing]' \ - '(--xinclude)--noxincludenode[do XInclude processing but do not generate XInclude nodes]' \ - '--nofixup-base-uris[do not fixup xml:base uris]' \ - '--loaddtd[fetch external DTD]' \ - '--dtdattr[loaddtd + populate the tree with inherited attributes]' \ - '--stream[use the streaming interface to process very large files]' \ - '--walker[create a reader and walk though the resulting doc]' \ - '--pattern[test the pattern support]:pattern value' \ - '--chkregister[verify the node registration code]' \ - '(--dtdvalid --postvalid --schema)--relaxng[do RelaxNG validation against specified schema]:schema:_webbrowser' \ - '(--dtdvalid --postvalid --relaxng)--schema[do validation against specified WXS schema]:schema:_webbrowser' \ - '(--dtdvalid --postvalid --relaxng)--schematron[do validation against specified schematron]:schema:_webbrowser' \ - '--sax1[use the old SAX1 interfaces for processing]' \ - '--sax[do not build a tree but work just at the SAX level]' \ - '--oldxml10[use XML-1.0 parsing rules before the 5th edition]' \ - '(--noout)--xpath[evaluate the XPath expression, implies --noout]:XPath expression' \ - '*:XML file:_webbrowser' && return - ;; - *XML_CATALOG_FILES*) - compset -q - if [[ -prefix *: ]]; then - _urls - return - fi - - compset -S ':*' - _alternative \ - 'files:catalog file:_files' \ - 'url-schemas:URL schema:compadd -S "" file:///' && return - ;; -esac - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/_xmlstarlet b/result/sw/share/zsh/5.9/functions/_xmlstarlet deleted file mode 100644 index 4c825704..00000000 --- a/result/sw/share/zsh/5.9/functions/_xmlstarlet +++ /dev/null @@ -1,177 +0,0 @@ -#compdef xmlstarlet xml - -local curcontext="$curcontext" ret=1 -local -a args state line suf - -args=( '(- *)--help[display usage information]' ) -_arguments -C -A "-*" $args \ - '(-q --quiet)'{-q,--quiet}'[no error output]' \ - "--no-doc-namespace[don't extract namespace bindings from input doc]" \ - '!(--no-doc-namespace)--doc-namespace' \ - '(-)--version[display version information]' \ - '1:command:(( - ed{,it}\:edit\ or\ update\ documents - sel{,ect}\:select\ date\ or\ query\ documents - tr{,ransform}\:transform\ documents\ using\ XSLT - val{,idate}\:validate\ documents - fo{,rmat}\:format\ documents - el{,ements}\:display\ element\ structure - {c14n,canonic}\:XML\ canonicalization - l{s,ist}\:list\ directory\ as\ XML - esc{,ape}\:escape\ special\ XML\ characters - unesc{,ape}\:unescape\ special\ XML\ characters - {pyx,xmln}\:convert\ XML\ into\ the\ line-oriented\ PYX\ format - {p2x,depyx}\:convert\ PYX\ into\ XML - ))' \ - '*: :->args' && ret=0 - -if [[ -n $state ]]; then - shift words - (( CURRENT-- )) - curcontext="${curcontext%:*:*}:$service-${words[1]}:" - case $words[1] in - el(|ements)|fo(|rmat)|sel(|ect)|c14n|canonic|xmln|pyx) - args+=( '1:file:_files -g "(#i)*.xml(-.)"' ) - ;| - ed(|it)|sel(|ect)) - args+=( '*-N[predefine namespaces]:namespace' ) - ;| - c14n|canonic|ed(|it)|fo(|rmat)|sel(|ect)|tr(|ansform)|val(|idate)) - args+=( '--net[allow fetching of DTDs or entities over network]' ) - ;| - fo(|rmat)|tr(|ansform)) - args+=( '(-o --omit-decl)'{-o,--omit-decl}'[omit XML declaration]' ) - ;| - - ed(|it)) - args=( - '(opt)*'{-d,--delete}'[remove element]:xpath expression' - '(opt)*'{-i,--insert}'[add element before node matched by expression]:xpath expression - insert before matched node' - '(opt)*'{-a,--append}'[add element after node matched by expression]:xpath expression - insert after matched node' - '(opt)*'{-s,--subnode}'[add element as a child of node matched by expression]:xpath expression for parent modes' - '(opt)*'{-m,--move}'[move element]:xpath expression: :xpath expression' - '(opt)*'{-r,--rename}'[rename element]:xpath expression' - '(opt)*'{-u,--update}'[update element]:xpath expression' - '*:file:_files -g "(#i)*.xml(-.)"' - + opt $args - '(-P -S --pf --ps)'{-P,-S,--pf,--ps}'[preserve whitespace nodes]' - '(-O --omit-decl)'{-O,--omit-decl}'[omit XML declaration]' - '(-L --inplace)'{-L,--inplace}'[edit file inplace]' - ) - if [[ -n ${${words[2,CURRENT-1]}[(r)-([ias]|-insert|-append|-subnode)]} ]]; then - args=( - '(opt)*'{-t,--type}'[specify type of node to add]:type:(elem text attr)' - '(opt)*'{-n,--name}'[specify name of node to add]:name' - $args - ) - fi - if [[ -n ${${words[2,CURRENT-1]}[(r)-([iasru]|-insert|-append|-subnode|-rename|-update)]} ]]; then - args=( '(opt)*'{-v,--value}'[specify value of node to add or name of renamed node]:value' $args ) - fi - ;; - el(|ements)) - args+=( - '(-)-a[show attributes as well]' - '(-)-v[show attributes and their values]' - '(-)-u[print out sorted unique lines]' - '(-)-d-[print out sorted unique lines up to specified depth]:depth' - ) - ;; - fo(|rmat)) - args+=( - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-n,--noindent}"[don't indent]" - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-t,--indent-tab}'[indent output with tabs]' - '(-t --indent-tab -s --indent-spaces -n --noindent)'{-s,--indent-spaces}'[indent output with specified number of spaces]:spaces' - '(-R --recover)'{-R,--recover}'[try to recover what is parsable]' - '(-D --dropdtd)'{-D,--dropdtd}'[remove the DOCTYPE of the input docs]' - '(-C --nocdata)'{-C,--nocdata}'[replace cdata section with text nodes]' - '(-N --nsclean)'{-N,--nsclean}'[remove redundant namespace declarations]' - '(-e --encode)'{-e,--encode}'[output in the specified encoding]:encoding' - '(-H --html)'{-H,--html}'[input is HTML]' - ) - ;; - sel(|ect)) - [[ -n ${${words[2,CURRENT-1]}[(r)-t]} ]] && args+=( - \*{-c,--copy-of}'[print copy of XPath expression]:xpath expression' - \*{-v,--value-of}'[print value of XPath expression]:xpath expression' - \*{-o,--output}'[output string literal]:string' - \*{-n,--nl}'[print new line]' - \*{-f,--inp-name}'[print input file name (or URL)]' - \*{-m,--match}'[match XPath expression]:xpath expression' - \*{-v,--var}'[declare a variable]:variable' - \*{-i,--if,--elif}'[check condition]:condition' - '*--else[check if previous conditions failed]' - \*{-e,--elem}'[print out specified element]:element' - \*{-b,--break}'[break nesting]' - \*{-s,--sort}'[specify sort order]:order:->ordering:xpath expression' - ) - args+=( - '(opt)*-t[start query template]' - + opt - '(-Q --quiet)'{-Q,--quiet}"[don't write anything to standard output]" - '(-C --comp)'{-C,--comp}'[display generated XSLT]' - '(-R --root)'{-R,--root}'[print root element]' - '(-T --text -e --elem)'{-T,--text}'[output is text]' - '(-I --indent)'{-I,--indent}'[indent output]' - '(-D --xml-decl)'{-D,--xml-decl}"[don't omit xml declaration line]" - '(-B --noblanks)'{-B,--noblanks}'[remove insignificant spaces from XML tree]' - '(-E --encode)'{-E,--encode}'[output in the specified encoding]:encoding' - ) - ;; - tr(|ansform)) - args+=( - '(--embed -E)'{--embed,-E}'[allow applying embedded stylesheet]' - '(1 * -)--show-ext[show list of extensions]' - '--val[allow validation against DTD or schema]' - '--xinclude[do XInclude processing on document input]' - '--maxdepth[increase the maximum depth]:val' - '--html[input is HTML]' - '1:xsl file:_files -g "(#i)*.xsl(|t)(-.)"' - '*:xml file:_files' - ) - ;; - val(|idate)) - args+=( - '!(-d --dtd -s --xsd -r --relaxng)'{-w,--well-formed} - '(-d --dtd -s --xsd -r --relaxng)'{-d,--dtd}'[validate against DTD]:file:_files -g "(#i)*.dtd(-.)"' - '(-d --dtd -s --xsd -r --relaxng)'{-s,--xsd}'[validate against XSD schema]:schema file:_files -g "(#i)*.xsd(-.)"' - '(-E --embed)'{-E,--embed}'[validate using embedded DTD]' - '(-d --dtd -s --xsd -r --relaxng)'{-r,--relaxng}'[validate against schema]:schema file:_files -g "(#i)*.rng(-.)"' - '(-e --err)'{-e,--err}'[print verbose error messages on stderr]' - '(-S --stop)'{-S,--stop}'[stop on first error]' - '(-b --list-bad -g --list-good)'{-b,--list-bad}"[list only files that don't validate]" - '(-b --list-bad -g --list-good -q --quiet)'{-g,--list-good}'[list only files that validate]' - '(-b --list-bad -g --list-good -q --quiet)'{-q,--quiet}"[don't list files (return result code only)]" - '*:file:_files -g "(#i)*.xml(-.)"' - ) - ;; - c14n|canonic) - args+=( - '!(-)--with-comments' - '(-)--without-comments[XML file canonicalization without comments]' - '(-)--exc-with-comments[exclusive XML file canonicalization with comments]' - '(-)--exc-without-comments[exclusive XML file canonicalization without comments]' - '2:xpath file:_files' - '3:namespace prefix list' - ) - ;; - (un|)esc(|ape)) args+=( '1: :_guard "^-*" string' ) ;; - ls|list) args+=( '1:path:_directories' ) ;; - depyx|p2x) args+=( '1:pyx file:_files' ) ;; - esac - _arguments -C -A "-*" $args && ret=0 - case $state in - ordering) - compset -S ':*' || suf=( -S : ) - if compset -P 2 '*:'; then - _describe -t case-order case-order '(U:upper-first L:lower-first)' && ret=0 - elif compset -P 1 '*:'; then - _describe -t data-type data-type '(N:numeric T:text)' $suf && ret=0 - else - _describe -t order order '(A:ascending D:descending)' $suf && ret=0 - fi - ;; - esac -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xmms2 b/result/sw/share/zsh/5.9/functions/_xmms2 deleted file mode 100644 index ca2383b2..00000000 --- a/result/sw/share/zsh/5.9/functions/_xmms2 +++ /dev/null @@ -1,211 +0,0 @@ -#compdef xmms2 - -_xmms2_command() { - local xmms2_cmds - - xmms2_cmds=( - add:"adds a URL to the playlist" - addarg:"adds one URL with arguments to the playlist" - addid:"adds a Medialib id to the playlist" - insert:"inserts one URL at a specific position" - insertid:"inserts one Medialib id at a specific position" - radd:"adds a directory recursively to the playlist" - clear:"clears the playlist" - shuffle:"shuffles the playlist" - sort:"sort the playlist; use a space delimiter for multiple properties" - remove:"removes something from the playlist" - list:"lists the playlist" - addpls:"Adds the contents of a playlist file to the playlist" - play:"starts playback" - stop:"stops playback" - toggleplay:"toggles playback status between play/pause" - pause:"pause playback" - next:"play next song" - prev:"play previous song" - seek:"seek to a specific place in current song" - jump:"take a leap in the playlist" - move:"move a entry in the playlist" - volume:"set volume for a channel" - volume_list:"list volume levels for each channel" - mlib:"medialib manipulation - type 'xmms2 mlib' for more extensive help" - playlist:"playlist manipulation - type 'xmms2 playlist' for more extensive help" - coll:"collection manipulation - type 'xmms2 coll' for more extensive help" - browse:"browse server file lists" - status:"go into status mode" - info:"information about current entry" - current:"formatted information about the current entry" - config:"set a config value" - config_list:"list all config values" - plugin_list:"list all plugins loaded in the server" - stats:"get statistics from server" - quit:"make the server quit" - help:"print help about a command" - ) - - if (( CURRENT == 1 )); then - _describe -t command "xmms2 command" xmms2_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[1] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_$cmd -} - - _xmms2_jump() { - songlist=(${"$(xmms2 list)"}) - playlistitems=() - for song ($songlist); do - if [[ $song = (#b)' '\[(<->)/(<->)\]' '(*)' '\((*)\) ]]; then - playlistitems+=("$match[1][$match[3]]") - fi - done - - _values -s ' ' 'playlist item' ${(On)playlistitems} - -} - -_xmms2_mlib() { - local mlib_cmds - mlib_cmds=( - add:"Add 'url' to medialib" - loadall:"Load everything from the mlib to the playlist" - searchadd:"Search for, and add songs to playlist" - search:"Search for songs matching criteria" - addpath:"Import metadata from all media files under 'path'" - rehash:"Force the medialib to check whether its data is up to date" - remove:"Remove an entry from medialib" - setstr:"Set a string property together with a medialib entry." - setint:"Set a int property together with a medialib entry." - rmprop:"Remove a property from a medialib entry" - addcover:"Add a cover image on id(s)." - - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 mlib command" mlib_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_$cmd - -} - - -_xmms2_playlist() { - local playlist_cmds - playlist_cmds=( - list:"List all available playlists" - create:"Create a playlist" - type:"Set the type of the playlist (list, queue, pshuffle)" - load:"Load 'playlistname' stored in medialib" - remove:"Remove a playlist" - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 playlist command" playlist_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_playlist_$cmd -} - -_xmms2_playlist_load() { - local list - list=($(xmms2 playlist list)) - _describe -t command "xmms2 playlist" list -} - - -_xmms2_playlist_remove() { - local list - list=($(xmms2 playlist list)) - _describe -t command "xmms2 playlist" list -} - - -_xmms2_coll() { - local coll_cmds - coll_cmds=( - save:"Save a pattern as a collection" - rename:"Rename a collection" - list:"List all collections in a given namespace" - query:"Display all the media in a collection" - queryadd:"Add all media in a collection to active playlist" - find:"Find all collections that contain the given media" - get:"Display the structure of a collection" - remove:"Remove a saved collection" - attr:"Get/set an attribute for a saved collection" - ) - if (( CURRENT == 2 )); then - _describe -t command "xmms2 collection command" coll_cmds - else - local curcontext="$curcontext" - fi - - local cmd=$words[2] - - local curcontext="${curcontext%:*}:xmms2-${cmd}" - _call_function ret _xmms2_coll_$cmd -} - -_xmms2_coll_helper() { - local list - list=($(xmms2 coll list)) - _describe -t command "xmms2 playlist" list -} - -_xmms2_coll_rename() { - _xmms2_coll_helper -} - -_xmms2_coll_remove() { - _xmms2_coll_helper -} - -_xmms2_coll_get() { - _xmms2_coll_helper -} - -_xmms2_coll_query() { - _xmms2_coll_helper -} - -_xmms2_coll_queryadd() { - _xmms2_coll_helper -} - -_xmms2_coll_attr() { - _xmms2_coll_helper -} - -_xmms2_add() { - _files -} - -_xmms2_radd() { - _dirs -} - -_xmms2_addpls() { - local expl - _description files expl 'playlist' - _files "$expl[@]" -g '*.([mM]3[uU]|[pP][lL][sS])(-.)' -} - -_xmms2() { -_arguments \ - '--format[specify the format of song display]:format string' \ - '--no-status[prevent printing song status on completion]' \ - '*::xmms2 command:_xmms2_command' -} - -_xmms2 "$@" diff --git a/result/sw/share/zsh/5.9/functions/_xmodmap b/result/sw/share/zsh/5.9/functions/_xmodmap deleted file mode 100644 index 928b6b24..00000000 --- a/result/sw/share/zsh/5.9/functions/_xmodmap +++ /dev/null @@ -1,96 +0,0 @@ -#compdef xmodmap - -local curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -_x_arguments -C \ - -{help,grammar,verbose,quiet} \ - '-n[only show what would be done]' \ - '*-e[specify expression]:expression:->expr' \ - '-pm[print modifier map]' \ - '-pk[print keymap table]' \ - '-pke[print keymap table as expressions]' \ - '-pp[print pointer map]' \ - ':X mapping file:_files' && ret=0 - -if [[ -n "$state" ]]; then - local expl expr="${PREFIX##[ ]#}" what suf - - if compset -P '[^ ]##[ ]##'; then - case "$expr" in - keycode*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - what=ksyms - elif [[ "$expr" = *[\ \ ]##[^\ \ ]##[\ \ ] ]]; then - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - else - _message -e keys 'key code or `any'"'" - fi - ;; - keysym*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - what=ksyms - elif [[ "$expr" = *[\ \ ]##[^\ \ ]##[\ \ ] ]]; then - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - else - what=ksym-eq - fi - ;; - clear*) - what=mods - ;; - (add|remove)*) - if compset -P '*[ ]##'; then - what=ksyms - else - what=mods-eq - fi - ;; - pointer*) - if compset -P '*=[ ]#'; then - compset -P '*[ ]' - _description values expl 'button code' - compadd "$expl[@]" -qS ' ' 1 2 3 4 5 default - return - else - IPREFIX="${IPREFIX}${PREFIX}" - PREFIX='' - compadd -S ' ' '=' && ret=0 - fi - ;; - esac - - if [[ "$what" = *eq* ]]; then - suf=(-S ' = ') - elif [[ "$what" = *ksyms* ]]; then - if [[ -n "$compstate[quote]" ]]; then - suf=(-S "$compstate[quote] " -r "$compstate[quote] ") - else - suf=(-qS ' ') - fi - else - suf=() - fi - - [[ "$what" = *mods* ]] && _x_modifier "$suf[@]" && ret=0 - [[ "$what" = *ksym* ]] && _x_keysym "$suf[@]" && ret=0 - - else - _tags commands - while _tags; do - while _next_label commands expl command; do - compadd "$expl[@]" -S ' ' keycode keysym clear add remove && ret=0 - compadd "$expl[@]" -S ' = ' pointer && ret=0 - done - (( ret )) || return 0 - done - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xournal b/result/sw/share/zsh/5.9/functions/_xournal deleted file mode 100644 index c36210c2..00000000 --- a/result/sw/share/zsh/5.9/functions/_xournal +++ /dev/null @@ -1,6 +0,0 @@ -#compdef xournal - -local expl - -_description files expl 'PDF or Xournal file' -_files "$@" "$expl[@]" -g '*.(#i){xoj,pdf}(-.)' diff --git a/result/sw/share/zsh/5.9/functions/_xpdf b/result/sw/share/zsh/5.9/functions/_xpdf deleted file mode 100644 index 261af028..00000000 --- a/result/sw/share/zsh/5.9/functions/_xpdf +++ /dev/null @@ -1,35 +0,0 @@ -#compdef xpdf zxpdf - -_xt_arguments \ - '-g[initial window geometry]:geometry:_x_geometry' \ - '-cmap[install a private colormap]' \ - '-rgb[biggest RGB cube to allocate]:int:' \ - '-mattecolor[color of background outside page area]:color:' \ - '-papercolor[color of paper background]:color:' \ - '-z[initial zoom level]:zoom level:' \ - '-t1lib[enable t1lib font rasterizer]:bool:(yes no)' \ - '-freetype[enable FreeType font rasterizer]:bool:(yes no)' \ - '-aa[enable font anti-aliasing]:bool:(yes no)' \ - '-aaVector[enable vector anti-aliasing]:bool:(yes no)' \ - '-cont[start in continuous view mode]' \ - '-exec[execute command on xpdf remote server]:command:' \ - '-ps[default PostScript file name or command]:file or command:_files' \ - '-paper[paper size]:paper size:(letter legal A4 A3 match)' \ - '-paperw[paper width]:points:' \ - '-paperh[paper height]:points:' \ - '-level1i[generate Level 1 PostScript]' \ - '-enc[output text encoding name]:name:' \ - '-eol[output end-of-line convention]:convention:(unix dos mac)' \ - '-opw[owner password]:password:' \ - '-upw[user password]:password:' \ - '-fullscreen[run in full-screen (presentation) mode]' \ - '-remote[start/contact xpdf remote server with specified name]:server:_hosts' \ - '-reload[reload xpdf remove server window (with -remote only)]' \ - '-raise[raise xpdf remote server window (with -remote only)]' \ - '-quit[kill xpdf remote server (with -remote only)]' \ - '-cmd[print commands as they are executed]' \ - '-q[do not print any messages or errors]' \ - '-cfg[configuration file to use in place of .xpdfrc]:file:_files' \ - '-v[print copyright and version info]' \ - '(-h -help --help -?)'{-h,-help,--help,-\?}'[print usage information]' \ - ':PDF: _pdf '"${${service/xpdf/}:+-z}" diff --git a/result/sw/share/zsh/5.9/functions/_xrandr b/result/sw/share/zsh/5.9/functions/_xrandr deleted file mode 100644 index 2551e195..00000000 --- a/result/sw/share/zsh/5.9/functions/_xrandr +++ /dev/null @@ -1,83 +0,0 @@ -#compdef xrandr - -local curcontext="$curcontext" state line expl state_descr -typeset -A opt_args - -_arguments -C \ - '(-d -display)'{-d,-display}':X display:_x_display' \ - '-help[display help]' \ - '(-o --orientation)'{-o,--orientation}':rotation:(normal inverted left right 0 1 2 3)' \ - '(-q --query)'{-q,--query}'[display current state]' \ - '(-s --size)'{-s,--size}':size:' \ - '(-r --rate --refresh)'{*-r,*--rate,*--refresh}':target refresh rate:' \ - '(-v --version)'{-v,--version}'[display version]' \ - '-x[reflect across X axis]' \ - '-y[reflect across Y axis]' \ - '--screen:X screen number' \ - '--verbose[be more verbose]' \ - '--dryrun' \ - '--nograb' \ - '(--prop --properties)'{--prop,--properties}'[display the contents of properties for each output]' \ - '--fb:size:' \ - '--fbmm:size:' \ - '--dpi:dpi:' \ - "*--output:output to reconfigure:->outputs" \ - '*--auto' \ - "*--mode:mode:->modes" \ - '*--preferred' \ - '*--pos:position:' \ - '*--reflect:axes:(normal x y xy)' \ - '*--rotate:rotation:(normal inverted left right)' \ - "*--left-of:relative position to:->outputs" \ - "*--right-of:relative position to:->outputs" \ - "*--above:relative position to:->outputs" \ - "*--below:relative position to:->outputs" \ - "*--same-as:relative position to:->outputs" \ - '*--set:property:(Backlight scaling\ mode):value:->value' \ - '*--scale:output scaling:' \ - '*--transform:transformation matrix:' \ - '*--filter:mode:(nearest bilinear)' \ - '*--off[disable the output]' \ - '*--crtc:crtc to use:' \ - '*--panning:panning:' \ - '*--gamma:r\:g\:b:' \ - '*--primary' \ - '--noprimary' \ - '*--newmode:name: :clock MHz: :hdisp: :hsync-start: :hsync-end: :htotal: :vdisp: :vsync-start: :vsync-end: :vtotal:' \ - '*--rmmode:Mode name:' \ - "*--addmode:output:->outputs:name" \ - "*--delmode:output:->outputs:name" \ - '--listproviders' \ - '--setprovideroutputsource:provider:->providers:source:->providers' \ - '--setprovideroffloadsink:provider:->providers:sink:->providers' \ - '--listmonitors' \ - '--listactivemonitors' \ - '--setmonitor:name' \ - '--delmonitor:name' \ - && return 0 - -case $state in - value) - case $words[CURRENT-1] in - (scaling*" mode") - _description value expl "output property 'scaling mode'" - compadd "$@" "$expl[@]" None Full Center Full\ aspect && return 0 - ;; - esac - ;; - outputs) - local -a xrandr_output=(${(f)"$(_call_program outputs xrandr)"}) - _alternative \ - 'connected:connected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* connected*}%% *}}')' \ - 'disconnected:disconnected outputs:('${(j: :)${(uo)${(M)xrandr_output:#* disconnected*}%% *}}')' \ - && return 0 - ;; - modes) - _wanted modes expl mode compadd \ - ${(Mun)$(_call_program modes xrandr):#[0-9]##x[0-9]##} && return 0 - ;; - providers) - local -a xrandr_providers=(${(f)"$(_call_program providers xrandr --listproviders)"}) - _wanted xrandr-providers expl $state_descr compadd ${${xrandr_providers}[2,-1]##*:} && return 0 - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_xscreensaver b/result/sw/share/zsh/5.9/functions/_xscreensaver deleted file mode 100644 index 1b57104b..00000000 --- a/result/sw/share/zsh/5.9/functions/_xscreensaver +++ /dev/null @@ -1,17 +0,0 @@ -#compdef xscreensaver-command - -_arguments \ - '-demo[ask the xscreensaver process to enter interactive demo mode]' \ - '-prefs[ask the xscreensaver process to bring up the preferences panel]' \ - '-activate[turn on the screensaver]' \ - '-deactivate[turn off the screensaver]' \ - '-cycle[stop the current graphics demo and run a new one]' \ - '-next' \ - '-prev' \ - '-select[but runs the Nth element in the list of hacks]:element number:' \ - '-exit[causes the xscreensaver process to exit gracefully]' \ - '-restart[restart the screensaver process]' \ - '-lock[lock the screen immediately]' \ - '-version[prints the version of xscreensaver that is currently running]' \ - '-time[prints the time at which the screensaver last activated or deactivated]' \ - '-watch[prints a line each time the screensaver changes state]' diff --git a/result/sw/share/zsh/5.9/functions/_xset b/result/sw/share/zsh/5.9/functions/_xset deleted file mode 100644 index adda47f0..00000000 --- a/result/sw/share/zsh/5.9/functions/_xset +++ /dev/null @@ -1,198 +0,0 @@ -#compdef xset - -local word=$'[^\0]#\0' -local nul=$'\0' - -local guard='-_xset_guard ${match[1]%?}' - -_xset_guard () { - local opt="$1" o - (( no[$opt]-- )) - for o in ${=eo[$opt]}; do - no[$o]=0 - done - : -} - -_xset_compopts () { - local expl - local opt tmp - - tmp=() - for opt in ${(k)no[(R)*~0]} - do - if (( $+desc[$opt] )); then - tmp=("$tmp[@]" "$opt:$desc[$opt]") - else - tmp=("$tmp[@]" "$opt") - fi - done - _describe -O options tmp -- || - _describe -O options allopts -- -} - -_xset_compfpadd () { - _files "$expl[@]" -/ -} - -_xset_compfpdel () { - compadd "$expl[@]" - ${(s:,:)${"$(xset q)"##* -Font Path: - #}%% -*} -} - -_regex_arguments _xset_parse \ - "/$word/" \ - \( "/-d(isplay|)$nul/" "$guard" "/$word/" ':option-display:display:_x_display' \ - \| "/-c$nul/" "$guard" \ - \| "/c$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-c-bool:click:(on off)' \ - \| "/[0-9]##$nul/" ':option-c-volume:volume:' \ - \| \) \ - \| "/-b$nul/" "$guard" \ - \| "/b$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-b-bool:bell:(on off)' \ - \| "/[0-9]##$nul/" ':option-b-volume:bell volume:' \ - \( "/[0-9]##$nul/" ':option-b-pitch:bell pitch:' \ - \( "/[0-9]##$nul/" ':option-b-duration:bell duration:' \ - \| \) \ - \| \) \ - \| \) \ - \| "/bc$nul/" "$guard" \ - \| "/-bc$nul/" "$guard" \ - \| "/fp$nul/" "$guard" "/$word/" ':option-fp:font path:(default rehash)' \ - \| "/(fp[+=]|[+]fp)$nul/" "$guard" "/$word/" ':option-fp-add:font path:{compset -P "*,"; _xset_compfpadd}' \ - \| "/(fp-|-fp)$nul/" "$guard" "/$word/" ':option-fp-del:font path:{compset -P "*,"; _xset_compfpdel}' \ - \| "/-led$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-led-number:led number:' \ - \| \) \ - \| "/led$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-led-bool:led:(on off)' \ - \| "/[0-9]##$nul/" ':option-led-number:led number:' \ - \| \) \ - \| "/m(ouse|)$nul/" "$guard" \ - \( "/default$nul/" ':option-mouse-default:mouse parameter:(default)' \ - \| "/[0-9]##(/[0-9]##|)$nul/" ':option-mouse-mult-div:accel_mult/accel_div:' \ - \( "/[0-9]##$nul/" ':option-mouse-threshold:threshold:' \ - \| \) \ - \| \) \ - \| "/[-+]dpms$nul/" "$guard" \ - \| "/dpms$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-dpms-standby:standby timeout:' \ - \( "/[0-9]##$nul/" ':option-dpms-suspend:suspend timeout:' \ - \( "/[0-9]##$nul/" ':option-dpms-off:off timeout:' \ - \| \) \ - \| \) \ - \| "/force$nul/" ':option-dpms-force:force DPMS state:(force)' \ - "/(on|standby|suspend|off)$nul/" ':option-dpms-state:DPMS state:(on standby suspend off)' \ - \) \ - \| "/s$nul/" "$guard" \ - \( "/(blank|noblank|expose|noexpose|default|on|activate|reset)$nul/" \ - ':option-s:screen saver:(blank noblank expose noexpose default on activate reset off)' \ - \| "/off$nul/" \( "/off$nul/" ':option-s-off-period:period off:(off)' \| \) \ - \| "/[0-9]##$nul/" ':option-s-timeout: :_numbers -u seconds length' \ - \( "/[0-9]##$nul/" ':option-s-period: :_numbers -u seconds period' \ - \| \) \ - \| \) \ - \| "/-r$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-r-keycode:keycode:' \ - \| \) \ - \| "/r$nul/" "$guard" \ - \( "/(on|off)$nul/" ':option-r-autorepeat:autorepeat:(on off)' \ - \| "/[0-9]##$nul/" ':option-r-keycode:keycode:' \ - \| \) \ - \| "/p$nul/" "$guard" \ - "/[0-9]##$nul/" ':option-p-pixel:pixel:' \ - "/$word/" ':option-p-color:color:_x_color' \ - \| "/(-|)k$nul/" "$guard" \ - \| "/(-|)q$nul/" "$guard" \ - \| "/[]/" ':options:options:_xset_compopts' \ - \) \# - -_xset () { - local expl allopts opt - typeset -A desc no eo - - desc=( - b 'specify bell parameters' - -b 'disable bell' - bc 'enable bug compatibility' - -bc 'disable bug compatibility' - c 'control key click' - -c 'disable key click' - -dpms 'disable DPMS' - +dpms 'enable DPMS' - dpms 'specify DPMS parameter' - fp\= 'set font path' - fp 'control font path' - -fp 'remove font path elements' - fp- 'remove font path elements' - +fp 'prepend font path elements' - fp+ 'append font path elements' - led 'control keyboard LEDs' - -led 'turn off all LEDs' - m 'specify mouse parameters' - mouse 'specify mouse parameters' - p 'specify pixel color values' - r 'enable autorepeat' - -r 'disable autorepeat' - s 'specify screen saver parameters' - q 'query current information' - k 'enable lock' - -k 'disable lock' - -display 'display' - ) - - no=( - -display 1 -d 0 - -c 1 c 1 - -b 1 b 1 - -bc 1 bc 1 - fp 1 fp= 1 +fp 1 fp+ 1 -fp 1 fp- 1 - -led 1 led 1 - mouse 1 m 0 - +dpms 1 -dpms 1 dpms 1 - s 1 - -r 1 r 1 - p 1 - -k 1 k 1 - -q 0 q 1 - ) - - allopts=() - for opt in ${(k)no} - do - if (( $+desc[$opt] )); then - allopts=("$allopts[@]" "$opt:$desc[$opt]") - else - allopts=("$allopts[@]" "$opt") - fi - done - - eo=( - -display '-display -d' - -d '-display -d' - -c '-c c' - c '-c c' - -b '-b b' - b '-b b' - -bc '-bc bc' - bc '-bc bc' - fp+ 'fp fp=' - fp- 'fp fp=' - +fp 'fp fp=' - -fp 'fp fp=' - m 'm mouse' - mouse 'm mouse' - -dpms '+dpms -dpms dpms' - +dpms '+dpms -dpms dpms' - dpms '+dpms -dpms dpms' - -k '-k k' - k '-k k' - ) - - _xset_parse -} - -_xset "$@" diff --git a/result/sw/share/zsh/5.9/functions/_xt_arguments b/result/sw/share/zsh/5.9/functions/_xt_arguments deleted file mode 100644 index e2efda61..00000000 --- a/result/sw/share/zsh/5.9/functions/_xt_arguments +++ /dev/null @@ -1,71 +0,0 @@ -#autoload - -# How to convert XrmOptionDescRec: - -# XrmOptionDescRec optionDescList[] = { -# ... -# {option, specifier, argKind, value}, -# ... -# }; - -# argKind argument for _xt_arguments -# XrmoptionNoArg option -# XrmoptionIsArg option -# XrmoptionStickyArg option-:message:action -# XrmoptionSepArg option:message:action -# XrmoptionResArg option:message:_x_resource -# XrmoptionSkipArg option:message:action -# XrmoptionSkipLine option:*::message:action -# XrmoptionSkipNArgs option:message[1]:action[1]:...:message[value]:action[value] - -# cf. XrmParseCommand(3X11), X11R6.4/xc/lib/Xt/Initialize.c, X(5) - -local ret long xargs opts rawret nm="$compstate[nmatches]" - -xargs=( - -+{rv,synchronous} - -{reverse,iconic} - '-background:background color:_x_color' - '-bd:border color:_x_color' - '-bg:background color:_x_color' - '-bordercolor:border color:_x_color' - '-borderwidth:border width:_x_borderwidth' - '-bw:border width:_x_borderwidth' - '-display:display:_x_display' - '-fg:foreground color:_x_color' - '-font:font:_x_font' - '-fn:font:_x_font' - '-foreground:foreground color:_x_color' - '-geometry:geometry:_x_geometry' - '-name:name:_x_name' - '-selectionTimeout:selection timeout (milliseconds):_x_selection_timeout' - '-title:title:_x_title' - '-xnllanguage:locale:_x_locale' - '*-xrm:resource:_x_resource' - '-xtsessionID:session ID:_xt_session_id' -) - -long=$argv[(I)--] -if (( long )); then - argv[long]=( "$xargs[@]" -- ) -else - set -- "$@" "$xargs[@]" -fi - -opts=() -while [[ $1 = -(O*|[CRWsw]) ]]; do - opts=($opts $1) - [[ $1 = -R ]] && rawret=yes - shift -done - -_arguments -R "$opts[@]" "$@" - -ret=$? - -if [[ "$ret" = 300 ]]; then - compstate[restore]='' - [[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] )) -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_xt_session_id b/result/sw/share/zsh/5.9/functions/_xt_session_id deleted file mode 100644 index 3db911c7..00000000 --- a/result/sw/share/zsh/5.9/functions/_xt_session_id +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -_message -e ids 'session ID' diff --git a/result/sw/share/zsh/5.9/functions/_xterm b/result/sw/share/zsh/5.9/functions/_xterm deleted file mode 100644 index 180c2eb2..00000000 --- a/result/sw/share/zsh/5.9/functions/_xterm +++ /dev/null @@ -1,32 +0,0 @@ -#compdef xterm - -_xt_arguments \ - -+{132,ah,ai,aw,bc,bdc,cb,cjk_width,cm,cn,cu,dc,fbb,fbx,fullscreen,hf,hm,hold,ie,im,itc,j,k8,l,lc,ls,maximized,mb,mesg,mk_width,nul,pc,pob,rvc,rw,s,samename,sb,sf,si,sk,sm,sp,t,u8,uc,ulc,ulit,ut,vb,wc,wf} \ - -{version,help,leftbar,rightbar,C} \ - '-report-'{charclass,colors,fonts,icons,xres} \ - '-T:title' \ - '-b:inner border size:' \ - '-baudrate:rate [38400]' \ - '-bcf:time text cursor is off when blinking (milliseconds):' \ - '-bcn:time text cursor is on when blinking (milliseconds):' \ - '-cc:character class:' \ - '-class:string' \ - '-cr:text cursor color:_x_color' \ - '-e:program: _command_names -e:*::program arguments: _normal' \ - '-fa:font pattern:_xft_fonts' \ - '-fb:bold font:_x_font' \ - '-fi:icon font:_x_font' \ - '-hc:background color for highlighted text:_x_color' \ - '-mc:multi-click threshold (milliseconds):' \ - '-ms:pointer cursor color:_x_color' \ - '-n:icon name' \ - '-nb:margin bell number:' \ - '-selbg:color:_x_color' \ - '-selfg:color:_x_color' \ - '-sh:scaling' \ - '-sl:save lines:' \ - '-ti:terminal ID:_terminals' \ - '-tm:terminal setting:' \ - '-tn:terminal type:' \ - '-ziconbeep:iconbeep (percent):' \ - '-S-:pseudo-terminal and file descriptor:' diff --git a/result/sw/share/zsh/5.9/functions/_xv b/result/sw/share/zsh/5.9/functions/_xv deleted file mode 100644 index 513a953d..00000000 --- a/result/sw/share/zsh/5.9/functions/_xv +++ /dev/null @@ -1,45 +0,0 @@ -#compdef xv - -_x_arguments \ - -{help,quick24,slow24,best24,noqcheck,pkludge,RM} \ - -+{fixed,rw,perfect,owncmap,stdcmap,cecmap,ninstall,8,24,root,noresetroot,max,maxpect,quit,clear,cmap,imap,cemap,cmtmap,vsmap,nopos,dither,smooth,raw,acrop,4x3,hflip,vflip,norm,hist,mono,rv,wloop,random,loadclear,nofreecols,rgb,hsv,lbrowse,nostat,2xlimit,nolimits,close,iconic,viewonly,poll,vsperfect,vsdisable,nodecor} \ - '-fg:foreground color:_x_color' \ - '-bg:background color:_x_color' \ - '-hi:top left shadow color:_x_color' \ - '-lo:bottom right shadow color:_x_color' \ - '-bw:border width' \ - '-geometry:geometry:_x_geometry' \ - '-expand:expansion factor' \ - '-aspect:aspect ratio (e.g. 4:3)' \ - '-ncols:maximum number of colors used' \ - '-rmode:root display mode:((0\:tiling 1\:integer\ tiling 2\:mirrored\ tiling 3\:integer\ mirrored\ tiling 4\:centered\ tiling 5\:centered\ tiling\ on\ solid\ background 6\:centered\ tiling\ on\ '\\\''warp'\\\''\ background 7\:centered\ tiling\ on\ '\\\''brick'\\\''\ background 8\:symmetrical\ tiling 9\:symmetrical\ mirrored\ tiling))' \ - '-rfg:root foreground color:_x_color' \ - '-rbg:root background color:_x_color' \ - '-cgeom:control window geometry:_x_geometry' \ - '-igeom:info window geometry:_x_geometry' \ - '-cegeom:color editor window geometry:_x_geometry' \ - '-cmtgeometry:comments window geometry:_x_geometry' \ - '-tgeometry:text view window geometry:_x_geometry' \ - '-vsgeometry:visual schauzer geometry:_x_geometry' \ - '-crop:left border: :top border: :width: :height' \ - '-rotate:rotation angle:(0 90 -90 +90 180 -180 +180 270 -270 +270)' \ - '-gamma:gamma value' \ - '-cgamma:red gamma value: :green gamma value: :blue gamma value' \ - '-preset:default preset (1-4):(1 2 3 4)' \ - '-white:'"'"'white'"'"' color:_x_color' \ - '-black:'"'"'black'"'"' color:_x_color' \ - '-wait:seconds to wait' \ - '-visual:visual:_x_visual' \ - '-cursor:cursor character number' \ - '-icgeometry:icon geometry:_x_geometry' \ - '-dir:directory:_files -/' \ - '-flist:file list file:_files' \ - '-drift:x movement correction: :y movement correction' \ - '-mfn:mono spaced font:_x_font' \ - '-name:window name:_x_name' \ - '-+grabdelay:grab delay (seconds)' \ - '-gsdev:ghostscript device' \ - '-gsres:ghostscript resolution' \ - '-gsgeom:ghostscript page size' \ - '-DEBUG:debug level' \ - '*:picture file:_files -g \*.\(\#i\)\(png\|gif\|jpeg\|jpg\|tiff\|tif\|pbm\|pgm\|ppm\|xbm\|xpm\|ras\(\|t\)\|tga\|rle\|rgb\|bmp\|pcx\|fits\|pm\)\(-.\)' diff --git a/result/sw/share/zsh/5.9/functions/_xwit b/result/sw/share/zsh/5.9/functions/_xwit deleted file mode 100644 index eb616ada..00000000 --- a/result/sw/share/zsh/5.9/functions/_xwit +++ /dev/null @@ -1,176 +0,0 @@ -#compdef xwit - -local word=$'[^\0]#\0' -local nul=$'\0' - -local guard='-_xwit_guard ${match[1]%?}' - -_xwit_guard () { - local opt="$1" o - (( no[$opt]-- )) - for o in ${=eo[$opt]}; do - no[$o]=0 - done - : -} - -_xwit_compopts () { - local expl - local opt tmp - - tmp=() - for opt in ${(k)no[(R)*~0]} - do - if (( $+desc[$opt] )); then - tmp=("$tmp[@]" "$opt:$desc[$opt]") - else - tmp=("$tmp[@]" "$opt") - fi - done - _describe -o options tmp -- || - _describe -o options allopts -- - -# compadd "$expl[@]" - ${(k)no[(R)*~0]} || -# compadd "$expl[@]" - ${(k)no} -} - -_regex_arguments _xwit_parse \ - "/$word/" \ - \( "/-display$nul/" "$guard" "/$word/" ':option-display:display:_x_display' \ - \| "/-(sync|pop|open|iconify|unmap|root|current|select|(no|)(save|backingstore|saveunder))$nul/" "$guard" \ - \| "/-resize$nul/" "$guard" \ - "/$word/" ':option-resize-width:width:' \ - "/$word/" ':option-resize-height:height:' \ - \| "/-rows$nul/" "$guard" "/$word/" ':option-rows:rows:' \ - \| "/-columns$nul/" "$guard" "/$word/" ':option-columns:columns:' \ - \| "/-move$nul/" "$guard" \ - "/$word/" ':option-move-x:x:' \ - "/$word/" ':option-move-y:y:' \ - \| "/-rmove$nul/" "$guard" \ - "/$word/" ':option-rmove-x:x:' \ - "/$word/" ':option-rmove-y:y:' \ - \| "/-warp$nul/" "$guard" \ - "/$word/" ':option-warp-x:x:' \ - "/$word/" ':option-warp-y:y:' \ - \| "/-rwarp$nul/" "$guard" \ - "/$word/" ':option-rwarp-x:x:' \ - "/$word/" ':option-rwarp-y:y:' \ - \| "/-colormap$nul/" "$guard" \ - "/$word/" ':option-colormap:colormapid:_x_colormapid' \ - \| "/-(name|label)$nul/" "$guard" \ - "/$word/" ':option-name:name:_x_name' \ - \| "/-iconname$nul/" "$guard" \ - "/$word/" ':option-name:iconname:_x_name' \ - \| "/-bitmap$nul/" "$guard" \ - "/$word/" ':option-bitmap:bitmap file:_files -g *.xbm\(-.\)' \ - \| "/-mask$nul/" "$guard" \ - "/$word/" ':option-mask:mask file:_files -g *.xbm\(-.\)' \ - \| "/-iconmove$nul/" "$guard" \ - "/$word/" ':option-iconmove-x:x:' \ - "/$word/" ':option-iconmove-y:y:' \ - \| "/-id$nul/" "$guard" "/$word/" ':option-id:window id:_x_window' \ - \| "/-(no|)keyrepeat$nul/" "$guard" \ - \( "/[0-9]##$nul/" ':option-keyrepeat-keycode:keycode:{[[ -prefix [0-9]# ]] && _message -e keycodes keycode}' \ - \( "/-$nul/" "/[0-9]##$nul/" \ - ':option-keyrepeat-last-keycode:last keycode:{[[ -prefix [0-9]# ]] && _message -e keycodes "last keycode"}' \| \) \) \# \ - \| "/-names$nul/" "$guard" \ - "/$word/" ':option-names:window name:_x_window -n' \# \ - \| "/[]/" ':options:option:_xwit_compopts' \ - \) \# - -_xwit () { - local expl allopts - typeset -A desc no eo - - desc=( - -display 'specify display' - -sync 'synchronous mode' - -pop 'pop up window' - -open 'pop up window' - -iconify 'iconify window' - -unmap 'iconify window by unmapping' - -root 'select the root window' - -current 'select the window under current pointer' - -select 'select the window interactively' - -save 'activate screen saver' - -backingstore 'enable backingstore' - -saveunder 'enable saveunder' - -nosave 'reset screen saver' - -nobackingstore 'disable backingstore' - -nosaveunder 'disable saveunder' - -resize 'resize window' - -rows 'resize window rows' - -columns 'resize window columns' - -move 'move window' - -rmove 'move window relatively' - -warp 'warp pointer' - -rwarp 'warp pointer relatively' - -colormap 'install colormap' - -name 'specify window name' - -label 'specify window name' - -iconname 'specify icon name' - -bitmap 'specify icon bitmap' - -mask 'specify icon mask' - -iconmove 'move icon' - -id 'select the window by window-ID' - -keyrepeat 'enable keyrepeat' - -nokeyrepeat 'disable keyrepeat' - -names 'select the window by name' - ) - - no=( - -display 1 - -sync 1 - -pop 1 -open 0 - -iconify 1 - -unmap 1 - -root 1 - -current 1 - -select 1 - -save 1 - -backingstore 1 - -saveunder 1 - -nosave 1 - -nobackingstore 1 - -nosaveunder 1 - -resize 1 - -rows 1 - -columns 1 - -move 1 - -rmove 1 - -warp 1 - -rwarp 1 - -colormap 1 - -name 1 -label 0 - -iconname 1 - -bitmap 1 - -mask 1 - -iconmove 1 - -id 1 - -keyrepeat 1 - -nokeyrepeat 1 - -names 1 - ) - - allopts=() - for opt in ${(k)no} - do - if (( $+desc[$opt] )); then - allopts=("$allopts[@]" "$opt:$desc[$opt]") - else - allopts=("$allopts[@]" "$opt") - fi - done - - eo=( - -root '-root -current -select -id -names' - -current '-root -current -select -id -names' - -select '-root -current -select -id -names' - -id '-root -current -select -id -names' - -names '-root -current -select -id -names' - ) - - _xwit_parse -} - -_xwit "$@" diff --git a/result/sw/share/zsh/5.9/functions/_xxd b/result/sw/share/zsh/5.9/functions/_xxd deleted file mode 100644 index 31d26ab6..00000000 --- a/result/sw/share/zsh/5.9/functions/_xxd +++ /dev/null @@ -1,48 +0,0 @@ -#compdef xxd - -local arguments - -# Output options compatibility matrix -# -# 0 - options conflict -# 1 - options coexist -# -# (The matrix is symmetric, so implied values are not shown.) -# -# bEipru -# bx10000 -# E-x0001 -# i--x001 -# p---x11 -# r----x0 -# u-----x - -# xxd supports either double or single dashes on long options. -[[ -prefix -- ]] && compset -P - - -arguments=( - # output options - '(-b -bits -i -include -p -postscript -plain -ps -r -revert -u -uppercase)'{-b,-bits}'[output in binary digits, rather than hex]' - '( -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-E,-EBCDIC}'[print human-readable part in EBCDIC rather than ASCII]' - '(-i -include -p -postscript -plain -ps -r -revert)'{-e,-endian}'[little-endian dump]' - '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -r -revert )'{-i,-include}'[output in C include file style]' - '(-b -bits -E -EBCDIC -i -include -p -postscript -plain -ps -C -capitalize )'{-p,-postscript,-plain,-ps}'[read or write a plain hexdump (no line numbers or ASCII rendering)]' - - '(-b -bits -E -EBCDIC -i -include -r -revert -u -uppercase)'{-r,-revert}'[reverse mode\: read a hex dump and output binary data]' - '(-b -bits -r -revert -u -uppercase)'{-u,-uppercase}'[output upper-case hex digits]' - - '(- :)'{-h,-help}'[display usage message]' - '(- :)'{-v,-version}'[show program version]' - '*'{-a,-autoskip}"[a single '*' replaces runs of NUL (toggleable)]" - '(-C -capitalize)'{-C,-capitalize}'[capitalize variable names in C include file style]' - {-c+,-cols}'[specify number of octets per line]: :_guard "[0-9a-fA-Fx]#" "number of octets per line"' - {-g+,-groupsize}'[specify the number of octets per group]: :_guard "[0-9]#" "number of octets per group"' - {-l+,-len}'[specify number of octets to output]: :_guard "[0-9]#" "number of octets to output"' - {-o+,-offset}'[add specified offset to displayed file position]:offset' - '-d[show offset in decimal instead of hex]' - {-s,-skip,-seek}'[specify file offset to dump from]: :_guard "[0-9]#" "file offset to dump from (absolute or relative)"' - - ': :_files' -) - -_arguments -S $arguments diff --git a/result/sw/share/zsh/5.9/functions/_xz b/result/sw/share/zsh/5.9/functions/_xz deleted file mode 100644 index a4dfea1f..00000000 --- a/result/sw/share/zsh/5.9/functions/_xz +++ /dev/null @@ -1,86 +0,0 @@ -#compdef xz unxz xzcat=unxz lzma=xz unlzma=unxz lzcat=unxz -redirect-,<,unxz=unxz -redirect-,>,xz=unxz -redirect-,<,xz=xz -value-,XZ_OPT,-default- -value-,XZ_DEFAULTS,-default- - -local decompress files expl state line curcontext="$curcontext" ret=1 -typeset -A opt_args - -files=( '(--files --files0)*:files:->files' ) -case "$service" in - *XZ_*) - compset -q - words=( fake "$words[@]" ) - (( CURRENT++ )) - files=() - ;& - xz) decompress=no;& - unxz) _arguments -C -s -S "$files[@]" \ - '--robot[use machine-parsable messages]' \ - + 'common' \ - '(I -k --keep)'{-k,--keep}"[keep (don't delete) input files]" \ - '(I -f --force)'{-f,--force}'[force overwrite]' \ - '(I -c --stdout)'{-c,--stdout}'[write on standard output]' \ - '(I)*'{-q,--quiet}'[suppress all warnings]' \ - '(I)*'{-v,--verbose}'[verbose mode]' \ - '(I * --files --files0)--files=-[read list of files to process from file]::file:_files' \ - '(I * --files --files0)--files0=-[read null terminated list of files to process from file]::file:_files' \ - '(I -F --format)'{-F,--format}'=[specify file format]:format:(auto xz lzma raw)' \ - '(I -T --threads)'{-T+,--threads=}'[use specified number of threads]:threads [1]' \ - '(I -M --memlimit --memory)'{-M+,--memlimit=,--memory=}'[set memory usage limit]:memory usage' \ - '(I)--no-adjust[give error if settings exceed memory limit]' \ - '(I -Q --no-warn)'{-Q,--no-warn}'[make warnings not affect exit status]' \ - + 'comp' \ - "(I decomp)"{-z,--compress}'[compress]' \ - '(I decomp -e --extreme)'{-e,--extreme}'[try to improve compression ratio by using more CPU time]' \ - '(I decomp -S --suffix)'{-S+,--suffix=}'[use specified suffix for compressed files]:suffix [.xz]' \ - '(I decomp -C --check)'{-C,--check}'=[integrity check type]:check type:(none crc32 crc64 sha256)' \ - '(I decomp)--block-size=[start a new .xz block after specified bytes of input]:size' \ - '(I decomp)--block-list=[start a new .xz block after specified intervals of uncompressed data]:size' \ - '(I decomp)--flush-timeout=[specify maximum time between flushing of output]:time (ms) [0]' \ - '(I decomp)--memlimit-compress=[set memory usage limit for compression]:memory usage' \ - + 'decomp' \ - '(I comp level filters)'{-d,--decompress}'[decompress]' \ - '(I comp level filters)'{-t,--test}'[test compressed file integrity]' \ - '(I comp level filters)'{-l,--list}'[list information about .xz files]' \ - "(I comp level filters)--ignore-check[don't verify integrity when decompressing]" \ - '(I comp level filters)--single-stream[decompress only the first stream]' \ - "(I comp level filters)--no-sparse[don't create sparse files when decompressing]" \ - '(I comp level filters)--memlimit-decompress=[set memory usage limit for decompression]:memory usage' \ - + '(I)' \ - '(* comp decomp level filters common)--info-memory[display amount of RAM and memory usage limits]' \ - '(- *)'{-h,--help}'[display help message]' \ - '(- *)'{-H,--long-help}'[display the long help (lists also the advanced options)]' \ - '(* comp decomp level filters common)'{-V,--version}'[display version number]' \ - + '(level)' \ - '(I filters decomp)-'{-best,-fast,1,2,3,4,5,6,7,8,9} \ - + filters \ - '(I level decomp --extreme)'--{x86,powerpc,ia64,arm,armthumb,sparc}=-'[add a branch/call/jump filter]::option:->bcj-options' \ - '(I level decomp --extreme)'--lzma{1,2}=-'[add lzma filter]::option:->lzma-options' \ - '(I level decomp --extreme)--delta=-[add delta filter]::option:->delta-options' && ret=0 - ;; -esac - -case $state in - files) - (( $+opt_args[-z] || $+opt_args[--compress] )) && decompress=no - [[ -n ${(k)opt_args[(i)decomp*]} ]] && unset decompress - if [[ -z "$decompress" ]]; then - _description files expl 'compressed file' - _files "$expl[@]" -g '*.(xz|txz|lzma|tlz)(-.)' && return - else - _description files expl 'file to compress' - _files "$expl[@]" -g '^*.(xz|txz|lzma|tlz)(-.)' && return - fi - ;; - lzma-options) - _values -s , options 'preset:preset' 'dict:size' 'lc:context bits' \ - 'lp:position bits' 'pb:position bites' 'mf:matchfinder:(hc3 hc4 bt2 bt3 bt4)' \ - 'mode:mode:(fast normal)' 'nice:length' 'depth:depth' && ret=0 - ;; - bcj-options) - _values options 'start:offset' && return - ;; - delta-options) - _values options 'dist:distance' && return - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_yafc b/result/sw/share/zsh/5.9/functions/_yafc deleted file mode 100644 index 946c0b4c..00000000 --- a/result/sw/share/zsh/5.9/functions/_yafc +++ /dev/null @@ -1,44 +0,0 @@ -#compdef yafc - -_yafc() { - local arguments - arguments=( - '(--anon -a)'{--anon,-a}'[try an anonymous login]' - '(--debug -d)'{--debug,-d}'[print all messages to/from server]' - '(--dump-rc -D)'{--dump-rc,-D}'[print the default configuration file]' - '(--mechanism -m)'{--mechanism=-,-m}'[specify a security mechanism]:security mechanism:(krb4 krb5 none)' - '(--norc -n)'{--norc,-n}"[don't read the users configuration file]" - '(--noproxy -p)'{--noproxy,-p}"[don't connect via the proxy]" - '(--quiet -q)'{--quiet,-q}"[don't print the welcome message]" - '(--rcfile -r)'{--rcfile=-,-r}'[specify a configuration file]:configuration file:_files' - '(--trace -t)'{--trace=-,-t-}'[specify a trace file]:trace file:_files' - '(--noauto -u)'{--noauto,-u}"[don't login automatically]" - '(--noalias -U)'{--noalias,-U}'[as --noauto, but bookmark aliases is disabled]' - '(--verbose -v)'{--verbose,-v}'[print all responses received]' - '(--wait -w)'{--wait,-w=}'[specify a waiting time between connection attempts]:wait time (seconds)' - '(--workdir -W)'{--workdir=,-W+}'[use a different working directory]:working directory:_directories' - '(- *)'{--version,-V}'[print version information]' - '(- *)'{--help,-h}'[print a short help description]' - '*:address:_yafc_address' - ) - - _arguments -S -s $arguments -} - - (( $+functions[_yafc_bookmarks] )) || -_yafc_bookmarks() { - local bkmfile=~/.yafc/bookmarks - - if [[ -f $bkmfile ]]; then - local -a bkms expl - bkms=(${${${(M)"${(f)$(<$bkmfile)}":#machine*alias ##\'*\' #}##machine*alias ##\'}%%\' #}) #" vim syntax goes crazy - _wanted bookmarks expl 'bookmark' compadd "$@" -a - bkms - fi -} - - (( $+functions[_yafc_address] )) || -_yafc_address() { - _alternative 'bookmarks:bookmark:_yafc_bookmarks' '_hosts' -} - -_yafc "$@" diff --git a/result/sw/share/zsh/5.9/functions/_yast b/result/sw/share/zsh/5.9/functions/_yast deleted file mode 100644 index 98585f06..00000000 --- a/result/sw/share/zsh/5.9/functions/_yast +++ /dev/null @@ -1,14 +0,0 @@ -#compdef yast yast2 - -_arguments \ - '(- 1)'{-h,--help}'[display help information]' \ - '(- 1)'{-l,--list}'[list all available modules]' \ - '(-g --geometry --ncurses)'{-g,--geometry}'[specify default window size]:_x_geometry' \ - '--qt[use the QT graphical frontend]' \ - '--gtk[use the GTK graphical frontend]' \ - '--ncurses[use the curses text-mode frontend]' \ - '--noborder[no window manager border for main window]' \ - '--fullscreen[use full screen]' \ - '(-)'{-i,--install}'[install package]:*:package file:_files -g "*.rpm(-.)"' \ - '(-)--remove[remove package]:*:package' \ - '1:module:( ${${(f)"$($words[1] -l 2>/dev/null)"}[2,-1]##* } )' diff --git a/result/sw/share/zsh/5.9/functions/_yodl b/result/sw/share/zsh/5.9/functions/_yodl deleted file mode 100644 index 55cbc0a5..00000000 --- a/result/sw/share/zsh/5.9/functions/_yodl +++ /dev/null @@ -1,14 +0,0 @@ -#compdef -P yodl(|2*) - -_arguments -s \ - '-D-[define symbol]:define symbol:' \ - '-I-[set include directory]:include directory:_files -/' \ - '-l-[set live data policy]:live data policy:((0\:suppress\ SYSTEM\ and\ PIPETHROUGH 1\:require\ user\ confirmation 2\:display\ macros 3\:no\ confirmation,\ no\ display))' \ - '-o-[specify output file]:output file:_files' \ - '-P-[specify preload command]:preload command:' \ - '-p-[specify maximum number of passes]:maximum number of passes:' \ - '-t[enable tracing mode]' \ - '-v[enable verbose mode]' \ - '-w[enable warnings]' \ - '-h[show usage information]' \ - '*:YODL input file:_files -g "*.(#i)yo(|dl)(-.)"' diff --git a/result/sw/share/zsh/5.9/functions/_yp b/result/sw/share/zsh/5.9/functions/_yp deleted file mode 100644 index ed376143..00000000 --- a/result/sw/share/zsh/5.9/functions/_yp +++ /dev/null @@ -1,114 +0,0 @@ -#compdef ypcat ypmatch yppasswd ypwhich ypset ypserv ypbind yppush yppoll ypxfr domainname - -local curcontext="$curcontext" line state expl args ret=1 -typeset -A opt_args - -if (( ! $+_cache_yp_maps )); then - typeset -ga _cache_yp_maps _cache_yp_nicks - _cache_yp_maps=( "${(@)${(@f)$(_call_program maps ypwhich -m)}%% *}" ) - _cache_yp_nicks=( "${(@)${(@)${(@f)$(_call_program names ypwhich -x)}#*\"}%%\"*}" ) -fi - -args=( - '(-x)-d[specify domain]:domain name' \ - '(-x)-k[display keys]' \ - '(-x)-t[inhibit nicknames]' \ - '(: -d -k -t)-x[display nicknames]' \ -) - -case "$service" in -ypcat) - _arguments -C -s $args ':map name:->map' && ret=0 - ;; -ypmatch) - _arguments -C -s $args '::key map:->keymap' ':map name:->map' && - ret=0 - ;; -yppasswd) - _users - return - ;; -ypwhich) - _arguments -C \ - '(-x)-d[specify domain]:domain name' \ - '(-x -V2 -m -t)-V1[identify version 1 servers]' \ - '(-x -V1 -m -t)-V2[identify version 2 servers]' \ - '(: -x -V1 -V2 -m)-t[specify map name]:map name:->maponly' \ - '(: -x -V1 -V2 -t)-m[specify map or nick name]:map or nick name:->map' \ - '(: -d -m -t -V1 -V2)-x[display nicknames]' \ - ':host:_hosts' && ret=0 - ;; -ypset) - _arguments -C \ - '(-V2)-V1[bind version 1 servers]' \ - '(-V1)-V2[bind version 2 servers]' \ - '-d[specify domain]:domain name' \ - '-h[set NIS binding on specified host]:host:_hosts' \ - ':server:_hosts' && ret=0 - ;; -ypserv) - _arguments -C \ - '-a[specify database routines]:database routines:((b\:btree d\:dbm/ndbm h\:hash))' && ret=0 - ;; -ypbind) - _arguments -C \ - '-s[allow secure mode for ypbind]' \ - '-S[set domain and servers]:domain:->servers' \ - '(-ypsetme)-ypset[accept all ypset requests]' \ - '(-ypset)-ypsetme[accept only local ypset requests]' && ret=0 - ;; -yppush) - _arguments -C \ - '-d[specify domain]:domain name' \ - '-v[print messages]' \ - ':map name:->map' && ret=0 - ;; -yppoll) - _arguments -C \ - '-d[specify domain]:domain name' \ - '-h[ask specified yp server]:host:_hosts' \ - ':map name:->map' && ret=0 - ;; -ypxfr) - _arguments -C \ - '-a[specify database routines]:database routines:((b\:btree d\:dbm/ndbm h\:hash))' \ - '-f[force transfer]' \ - "-c[don't clear current map]" \ - '-d[specify domain]:domain name' \ - '-h[get map from specified host instead of master]:host:_hosts' \ - '-C[call back]:transaction ID: :program number: :IP address: :port number' \ - ':map name:->map' && ret=0 - ;; -domainname) - _message -e new-domains 'new domain name' - return 1 - ;; -esac - -[[ "$state" = keymap ]] && _message -e keys 'key' - -if [[ "$state" = map* ]]; then - if [[ $+opt_args[-t] -eq 0 && "$state" != maponly ]]; then - _tags maps nicknames - else - _tags maps - fi - - while _tags; do - # The `-M ...' allows `pa.n<TAB>' to complete to `passwd.byname'. - _requested maps expl 'map name' \ - compadd -M 'l:.|by=by l:.|=by r:|.=* r:|=*' -a \ - _cache_yp_maps && ret=0 - _requested nicknames expl nicknames \ - compadd -a _cache_yp_nicks && ret=0 - (( ret )) || return 0 - done -elif [[ "$state" = servers ]]; then - if compset -P '*,'; then - _wanted hosts expl server _hosts -qS, && ret=0 - else - _message -e domains 'domain name' - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_yum b/result/sw/share/zsh/5.9/functions/_yum deleted file mode 100644 index 9425ba57..00000000 --- a/result/sw/share/zsh/5.9/functions/_yum +++ /dev/null @@ -1,537 +0,0 @@ -#compdef yum yumdb - -# Main dispatcher -_yum() { - local curcontext="$curcontext" state lstate line - - if [[ $service = yumdb ]]; then - _yumdb - return - fi - - _arguments -s \ - '(- *)'{-h,--help}'[show the help message]' \ - '(-t --tolerant)'{-t,--tolerant}'[be tolerant of errors]' \ - '(-C --cacheonly)'{-C,--cacheonly}'[run entirely from cache]' \ - '(-c --config)'{-c,--config=}'[config file location]:Yum conf file:_files' \ - '(-R --randomwait)'{-R,--randomwait=}'[specify maximum command wait time]:max wait time (minutes)' \ - '(-d --debuglevel)'{-d,--debuglevel=}'[debug level (0-10)]:debug level' \ - '--showduplicates[show duplicates, in repos, in list/search commands]' \ - '(-e --errorlevel)'{-e,--errorlevel=}'[error level (0-10)]:error level' \ - '--rpmverbosity=[specify rpm debug level]:debug level' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[quiet operation]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[verbose operation]' \ - '(-y --assumeyes --assumeno)'{-y,--assumeyes}'[answer yes to all questions]' \ - '(-y --assumeyes --assumeno)--assumeno[answer no to all questions]' \ - '(- *)--version[display version information]' \ - '--installroot=[set install root]:install root:_files -/' \ - '*--enablerepo=[enable or or more repositories]:repository:_sequence _yum_disabled_repos' \ - '*--disablerepo=[disable one or more repositories]:repository:_sequence _yum_enabled_repos' \ - \*{-x,--exclude=}'[exclude package by name or glob]:package:_yum_all_pkgs' \ - '--disableexcludes=[disable exclude]:exclude:(all main)' \ - '--disableincludes=[disable include]:include' \ - '--obsoletes[enable obsoletes processing during updates]' \ - '--noplugins[disable yum plugins]' \ - '--nogpgcheck[disable gpg signature checking]' \ - '--disableplugin=[disable plugin]:plugin' \ - '--enableplugin=[enable plugin]:plugin' \ - '--skip-broken[skip packages with depsolving problems]' \ - '--color=[control whether color is used]:(always auto never)' \ - '--releasever=[set value of $releasever in yum config and repo files]:value' \ - "--downloadonly[don't update, just download]" \ - '--downloaddir=[specify alternate directory to store packages]:directory:_directories' \ - '--setopt=[set arbitrary config and repo options]:option' \ - '--bugfix[include bugfix relevant packages in updates]' \ - '--security[include security relevant packages in updates]' \ - '--advisory=[include packages needed to fix the given advisory]:advisory' \ - '--bzs=[include packages needed to fix the given BZ]:BZ' \ - '--cves=[include packages needed to fix the given CVE]:CVE' \ - '--sec-severity=[include security relevant packages matching specific severity]:severity' \ - {*-x,*--exclude=}'[exclude package(s) by name or glob]:exclude packages' \ - '*::yum command:_yum_command' -} - -_yumdb() { - local curcontext="$curcontext" desc ret=1 - local -a state line - - _arguments -C \ - '(- 1)--version[display version information]' \ - '(- 1)'{-h,--help}'[display help information]' \ - '--noplugins[disable yum plugin support]' \ - '(-c --config)'{-c,--config=}'[specify config file location]:Yum conf file:_files' \ - '1:command:(( - get\:get\ value\ of\ given\ key - set\:set\ value\ of\ given\ key - del\:delete\ given\ key - rename\:rename\ given\ key - rename-force\:rename\ given\ key,\ potentially\ removing\ new-key - copy\:copy\ given\ key - copy-force\:copy\ given\ key,\ potentially\ removing\ new-key - search\:search\ packages\ for\ given\ key - exist\:list\ packages\ that\ have\ given\ key - unset\:list\ packages\ that\ lack\ given\ key - info\:display\ data\ in\ the\ yumdb - sync\:add\ package\ data\ from\ repositories - sync-force\:replace\ package\ data\ from\ repositories - undeleted shell - ))' \ - '*:: :->args' && ret=0 - - if [[ -n $state ]]; then - case $CURRENT:$words[1] in - 3:set|<3->:search) - case $words[2] in - reason) _wanted reasons expl reason compadd user dep ;; - *) _message -e values value ;; - esac - ;; - 3:(copy|rename)*) desc='new key';& - 2:(^(info|sync))) - _wanted -x keys expl "${desc:-key}" compadd \ - checksum_data checksum_type command_line from_repo from_repo_revision \ - from_repo_timestamp reason releasever installonly origin_url changed_by && ret=0 - ;; - *) _yum_act_on_installed_pkgs && ret=0 ;; - esac - fi - return ret -} - -(( $+functions[_yum_command] )) || _yum_command() -{ - local -a _yum_cmds - _yum_cmds=( - "install:install the latest version of a package or group of packages" - "erase:remove an installed package (with its dependencies)" - "remove:remove an installed package (with its dependencies)" - "clean:clean local yum cache" - "deplist:gives a list of all dependencies for a package" - "check-update:check if any updates are available" - "info:get description of available packages" - "list:is used to list various information about packages" - "groupinfo:get info on package groups" - "groupinstall:install a package group or groups" - "groupremove:remove a package group or groups" - "grouplist:list package groups" - "groupupdate:update a package group or groups" - "localinstall:install packages with local rpm files" - "localupdate:update packages with local rpm files" - "makecache:makes a local yum cache" - "provides:find out which package provides some feature or file" - "whatprovides:find out which package provides some feature or file" - "resolvedep:list packages providing the specified dependencies" - "search:find any packages matching pattern" - "shell:enter the 'yum shell'" - "update:update one or more packages" - "upgrade:upgrade one or more packages" - "update-to:update one or more packages taking obsoletes into account" - "upgrade-to:upgrade one or more packages taking obsoletes into account" - "history:view past transactions" - "help:produce help for all or given command" - "load-transaction:load a saved transaction from a textfile" - "load-ts:load a saved transaction from a textfile" - "check:check for problems in the rpmdb" - "reinstall:reinstall a package" - "downgrade:downgrade a package" - "repolist:display the configured software repositories" - "distribution-synchronization:synchronize installed packages to the latest available versions" - "distro-sync:synchronize installed packages to the latest available versions" - ) - - if (( CURRENT == 1 )); then - _describe -t commands 'yum command' _yum_cmds - else - local curcontext="$curcontext" ret=1 - - cmd="${${_yum_cmds[(r)$words[1]:*]%%:*}}" - # Deal with any aliases - case $cmd in - remove) cmd="erase";; - whatprovides) cmd="provides";; - upgrade) cmd="update";; - upgrade-to) cmd="update";; - update-to) cmd="update";; - load-ts) cmd="load-transaction";; - distro-sync) cmd="distribution-synchronization";; - esac - - if (( $#cmd )); then - curcontext="${curcontext%:*:*}:yum-${cmd}:" - - local update_policy - zstyle -s ":completion:${curcontext}:" cache-policy update_policy - if [[ -z "$update_policy" ]]; then - zstyle ":completion:${curcontext}:" cache-policy _yum_caching_policy - fi - - if [ "$cmd" = "help" ]; then - if (( CURRENT == 2 )); then - _describe -t commands 'yum command' _yum_cmds && ret=0 - else - # help takes one argument - _message 'no more arguments' - fi - elif ! _call_function ret _yum-$cmd; then - _default && ret=0 - fi - else - # fallback to default completion for unknown commands - _default && ret=0 - fi - return ret - fi -} - -# Expand next argument after 'yum check' -_yum-check() { - ##chkargs=("dependencies" "duplicates" "obsoletes" "provides" "all") # according to man page - ##chkargs=("dependencies" "duplicates" "all") # according to help - #chkargs=("dependencies" "duplicates" "provides" "all") # what works for me - _values -w 'check argument' dependencies duplicates provides all -} - -# Expand next argument after 'yum repolist' -_yum-repolist() { - _yum_get_repos - _alternative \ - 'filters:filter:(all enabled disabled)' \ - 'repositories:repository:compadd -a yum_enabled_repos yum_disabled_repos' -} - -_yum_ids() { - # the last argument will be the first valid transaction ID to be suggested - # all other arguments are forwarded to compadd - # - # maxid is the last transaction ID known to yum - local maxid - - maxid=${${(M)${(f)"$(_call_program transactions yum history stats)"}:#Transactions:*}##* } - - # `$@' are the arguments - # `${(@)@[...]}' selects a subrange from $@ - # `${(@)@[1,-2]}' are all except the last argument - # `$@[$#]' is the last argument, e.g. the first suggestable ID - compadd "${(@)@[1,-2]}" -o numeric -M "B:0=" {$@[$#]..$maxid} -} - -_yum_ranges() { - if compset -P 1 '*..'; then - _yum_ids "$@" ${(S)IPREFIX#..} - elif compset -S '..*'; then - _yum_ids "$@" 1 - else - _yum_ids "$@" -S '..' 1 - fi -} - -# Expand next argument after 'yum history' -_yum-history() { - local expl - if (( CURRENT == 2 )); then - _wanted commands expl "yum history command" compadd info list \ - packages-list packages-info summary addon-info redo undo \ - roll-back new sync stats - elif (( CURRENT == 3 )); then - local -a ID_commands - local -a ID_range_commands - local -a package_commands - local -a alts - alts=() - #ID_commands=('summary' 'info' 'list' 'stats' 'addon-info') - ID_commands=('addon-info') - ID_range_commands=('summary' 'info' 'list' 'stats') - package_commands=('summary' 'info' 'list' 'stats' 'packages-list' 'packages-info') - #package_commands=('packages-list' 'packages-info') - # packages-list, packages-info : needs package name - # summary, info, list, stats : ID, ID range, package name - # addon-info : ID - # redo, undo, roll-back, sync : unknown - - [[ -n "${ID_commands[(r)$words[2]]}" ]] && alts+=('special:special ID:(last)') - [[ -n "${ID_commands[(r)$words[2]]}" ]] && alts+=('regular:ID:_yum_ids 1') - [[ -n "${ID_range_commands[(r)$words[2]]}" ]] && alts+=('regular:transaction range:_yum_ranges') - [[ -n "${ID_range_commands[(r)$words[2]]}" ]] && alts+=('special:all transactions:(all)') - [[ -n "${package_commands[(r)$words[2]]}" ]] && alts+=("package:package:_yum_act_on_installed_pkgs") - - if (( ${+alts[1]} )) ; then - _alternative "$alts[@]" - else - _default - fi - elif (( CURRENT == 4 )); then - if [ "$words[2]" = "addon-info" ]; then - _wanted arguments expl 'additional option' compadd saved_tx - fi - fi -} - - -# Fills the all pkg cache -_yum_all_pkgs() -{ - (( $+_yum_all_pkgs[1] )) && return - if _cache_invalid yum-all-packages || ! _retrieve_cache yum-all-packages; then - _yum_all_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list all)"}// *}:#*.*} ) - _store_cache yum-all-packages _yum_all_pkgs - fi -} - -# Fills the installed pkg cache -_yum_installed_pkgs() -{ - (( $+_yum_installed_pkgs[1] )) && return - if _cache_invalid yum-installed || ! _retrieve_cache yum-installed; then - _yum_installed_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list installed)"}// *}:#*.*} ) - _store_cache yum-installed _yum_installed_pkgs - fi -} - -# Fills the available pkg cache -_yum_available_pkgs() -{ - (( $+_yum_available_pkgs[1] )) && return - if _cache_invalid yum-available || ! _retrieve_cache yum-available; then - _yum_available_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list available)"}// *}:#*.*} ) - _store_cache yum-available _yum_available_pkgs - fi -} - -# Fills the upgrade pkg cache -_yum_upgrade_pkgs() -{ - (( $+_yum_upgrade_pkgs[1] )) && return - if _cache_invalid yum-upgrade || ! _retrieve_cache yum-upgrade; then - _yum_upgrade_pkgs=( ${(M)${${(f)"$(_call_program packages yum -C list upgrade)"}// *}:#*.*} ) - _store_cache yum-upgrade _yum_upgrade_pkgs - fi -} - -# Gets the list of defined repos -_yum_get_repos() { - local trepo - local -a tarray - tarray=( $(egrep -h '(^\[.*\]|^enabled.*=)' /etc/yum.repos.d/*.repo /etc/yum.conf | sed -e 's/ //g' | sed -e 's/\[//g' | sed -e 's/\].*$//g' 2>/dev/null) ) - local -i eindex=0 - local -i dindex=0 - for line in $tarray; do - if [[ "$line" = "enabled=1" ]]; then - yum_enabled_repos=($enabled_yum_repos $trepo) - elif [[ "$line" = "enabled=0" ]]; then - yum_disabled_repos=($yum_disabled_repos $trepo) - elif [[ "$line" != "main" ]]; then - trepo=$line - fi - done -} - -_yum_disabled_repos() { - _yum_get_repos - compadd "$@" -a -- yum_disabled_repos -} - -_yum_enabled_repos() { - _yum_get_repos - compadd "$@" -a -- yum_enabled_repos -} - -# Suggest installed packages -_yum_act_on_installed_pkgs() { - local expl - _yum_installed_pkgs - _wanted packages expl 'package' compadd "$@" -a -- _yum_installed_pkgs -} - -# Completion function for distribution-synchronization|distro-sync -(( $+functions[_yum-distribution-synchronization] )) || _yum-distribution-synchronization() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for erase|remove -(( $+functions[_yum-erase] )) || _yum-erase() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for downgrade -(( $+functions[_yum-downgrade] )) || _yum-downgrade() -{ - _yum_act_on_installed_pkgs "$@" -} - -# Completion function for reinstall -(( $+functions[_yum-reinstall] )) || _yum-reinstall() -{ - _yum_act_on_installed_pkgs "$@" -} - -(( $+functions[_yum-groupinfo] )) || _yum-groupinfo() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C)"}:# *}# } -} - -(( $+functions[_yum-groupinstall] )) || _yum-groupinstall() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C)"}:# *}# } -} - -(( $+functions[_yum-groupremove] )) || _yum-groupremove() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C installed)"}:# *}# } -} - -(( $+functions[_yum-groupupdate] )) || _yum-groupupdate() -{ - local expl - _wanted groups expl group compadd \ - ${${(M)${(f)"$(_call_program groups yum grouplist -C installed)"}:# *}# } -} - -# Completion function for install -(( $+functions[_yum-install] )) || _yum-install() -{ - if ! [[ $PREFIX == */* ]]; then - _yum_available_pkgs - fi - - local ret=1 - _tags files packages - while _tags; do - if _requested files; then - compadd "$@" -a -- _yum_available_pkgs - fi - if _requested packages; then - _call_function - _yum_localinstall - fi - (( ret )) || break - done - return ret -} - -# Completion function for load-transaction -(( $+functions[_yum-load-transaction] )) || _yum-load-transaction() -{ - _files -} - -# Completion function for localinstall -(( $+functions[_yum-localinstall] )) || _yum-localinstall() -{ - _files -/ -g '(#i)*.rpm(-.)' -} - -# Completion function for localupdate -(( $+functions[_yum-localupdate] )) || _yum-localupdate() -{ - _files -/ -g '(#i)*.rpm(-.)' -} - -# Completion function for update/upgrade -(( $+functions[_yum-update] )) || _yum-update() -{ - local expl - _yum_upgrade_pkgs - _wanted packages expl package compadd "$@" -a _yum_upgrade_pkgs -} - -# Completion function for deplist -(( $+functions[_yum-deplist] )) || _yum-deplist() -{ - local expl - _yum_available_pkgs - _wanted packages expl package compadd "$@" -a _yum_available_pkgs -} - -_yum_all() -{ - _yum_all_pkgs - compadd "$@" -a -- _yum_all_pkgs -} - -_yum_list_or_info() -{ - local -a listlist - listlist=( - "all:all packages in repositories" - "available:packages available in repositories" - "updates:packages with updates available" - "installed:installed packages" - "extras:packages installed that are not available in any yum repository" - "obsoletes:packages installed that are obsoleted" - "recent:packages recently added to repositories" - ) - - if (( CURRENT == 2 )); then - _describe -t filters "filter" listlist || _yum_all - else - # offer packages selected by the subcommand - case $words[2] in - installed) _yum-erase;; - available) _yum-install;; - updates) _yum-update;; - *extras|obsoletes|recent) - _wanted packages expl package compadd \ - ${(M)${${(f)"$(_call_program packages yum -C list $words[2])"}// *}:#*.*} - ;; - *) _yum_all;; - esac - fi -} - -# Completion function for list -(( $+functions[_yum-list] )) || _yum-list() -{ - _yum_list_or_info -} - -# Completion function for info -(( $+functions[_yum-info] )) || _yum-info() -{ - _yum_list_or_info -} - -# Completion function for provides|whatprovides -(( $+functions[_yum-provides] )) || _yum-provides() -{ - _files -} - -# Completion function for clean -(( $+functions[_yum-clean] )) || _yum-clean() -{ - _values -w "Yum clean sub-commands" \ - "all[all cache]" \ - "cache[all cache]" \ - "dbcache[DB cache]" \ - "headers[cache headers]" \ - "packages[cache packages]" \ - "metadata[cache meta-data]" -} - -_yum_caching_policy() { - local _yumrepomds - local -a oldp - - # rebuild if cache is more than a week old - oldp=( "$1"(mw-1) ) - (( $#oldp )) || return 0 - - _yumrepomds=( /var/cache/yum/**/repomd.xml ) - - if (( $#_yumrepomds )); then - for repo in $_yumrepomds; do - [[ "$repo" -nt "$1" ]] && return 0 - done - fi - - return 1 -} - -_yum "$@" diff --git a/result/sw/share/zsh/5.9/functions/_zargs b/result/sw/share/zsh/5.9/functions/_zargs deleted file mode 100644 index 94a35e3a..00000000 --- a/result/sw/share/zsh/5.9/functions/_zargs +++ /dev/null @@ -1,48 +0,0 @@ -#compdef zargs -value-,-default-,-command- - -local arguments eofstr pos=$((CURRENT)) numeofs=0 ret=1 cmdpos=1 - -#this doesn't handle '--' on the command line, only -- -#it also by extension doesn't handle eofstr being the empty string -#it also doesn't handle eofstr being -e or --eof, and everything will -# probably also be confused if the command at the end takes a -e, --eof= or -- -eofstr=${${${${words[(r)(--eof=*|-e*)]}#--eof=}#-e}:---} -while { - pos=$(( words[(b:pos-1:I)$eofstr] )) - (( numeofs == 0 )) && (( cmdpos = pos )) - (( pos )) && (( numeofs++ )) - (( pos )) -} {} -case $numeofs in - 0) - #zargs arguments - arguments=( - '(--eof -e)'{--eof=,-e+}'[change the end-of-input-args string from "--" to eof-str]' - '(--exit -x)'{--exit,-x}'[exit if the size (see --max-chars) is exceeded]' - '--help[print summary and exit]' - '(--interactive -p)'{--interactive,-p}'[prompt before executing each command line]' - '(--max-args -n)'{--max-args=,-n+}'[use at most max-args arguments per command line]' - '(--max-chars -s)'{--max-chars=,-s+}'[use at most max-chars characters per command line]' - '(--max-lines -l)'{--max-lines=,-l+}'[use at most max-lines of the input-args per command line]' - '(--max-procs -P)'{--max-procs=,-P+}'[run up to max-procs command lines in the background at once]' - '(--no-run-if-empty -r)'{--no-run-if-empty,-r}'[do nothing if there are no input arguments before the eof-str]' - '(--null -0)'{--null,-0}'[split each input-arg at null bytes, for xargs compatibility]' - '(--replace -i)'{--replace=,-i}'[substitute replace-str in the initial-args by each initial-arg]' - '(--verbose -t)'{--verbose,-t}'[print each command line to stderr before executing it]' - '--version[print the version number of zargs and exit]' - ) - _arguments -S -s $arguments[@] && ret=0 - ;; - 1) - #argument list for command - _files && ret=0 - ;; - *) - #command and command arguments - shift cmdpos words - (( CURRENT -= cmdpos )) - _normal - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zattr b/result/sw/share/zsh/5.9/functions/_zattr deleted file mode 100644 index e48047f6..00000000 --- a/result/sw/share/zsh/5.9/functions/_zattr +++ /dev/null @@ -1,35 +0,0 @@ -#compdef zgetattr zsetattr zdelattr zlistattr - -local context state line expl ret=1 REPLY - -case $service in -zgetattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' \ - '3:parameter' -;; -zsetattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' \ - '3:value' -;; -zdelattr) -_arguments \ - '1:file:_files' \ - '2:attribute:->attrs' -;; -zlistattr) -_arguments \ - '1:file:_files' \ - '2:parameter' -;; -esac && ret=0 - -if [[ $state = attrs ]]; then - zlistattr ${(Q)${~line[1]}} REPLY 2> /dev/null - _wanted -C "$context[1]" attrs expl 'attribute' compadd -a REPLY && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zcalc b/result/sw/share/zsh/5.9/functions/_zcalc deleted file mode 100644 index 093a7a91..00000000 --- a/result/sw/share/zsh/5.9/functions/_zcalc +++ /dev/null @@ -1,7 +0,0 @@ -#compdef zcalc - -_arguments -s -w -S : \ - '-#[specify default base]:base: ' \ - '-f[force floating point for all expressions]' \ - '-e[treat command line as expressions to be output immediately]' \ - '*:expression: ' diff --git a/result/sw/share/zsh/5.9/functions/_zcalc_line b/result/sw/share/zsh/5.9/functions/_zcalc_line deleted file mode 100644 index ab8e42df..00000000 --- a/result/sw/share/zsh/5.9/functions/_zcalc_line +++ /dev/null @@ -1,81 +0,0 @@ -#compdef -zcalc-line- - -# This handles completion of a zcalc command line read via vared. - -_zcalc_line_escapes() { - local -a cmds - cmds=( - "!:shell escape" - "q:quit" - "norm:normal output format" - "sci:scientific output format" - "fix:fixed point output format" - "eng:engineering (power of 1000) output format" - "raw:raw output format" - "local:make variables local" - "function:define math function (also \:func or \:f)" - ) - cmds=("\:"${^cmds}) - _describe -t command-escapes "command escape" cmds -Q -} - -_zcalc_line() { - local expl - - if [[ CURRENT -eq 1 && $words[1] != ":"(\\|)"!"* ]]; then - local -a alts - if [[ $words[1] = (|:*) ]]; then - alts=("command-escapes:command escape:_zcalc_line_escapes") - fi - if [[ $words[1] = (|[^:]*) ]]; then - alts+=("math:math formula:_math") - fi - _alternative $alts - return - fi - - case $words[1] in - (":"(\\|)"!"*) - if [[ $words[1] = ":"(\\|)"!" && CURRENT -gt 1 ]]; then - shift words - (( CURRENT-- )) - else - words[1]=${words[1]##:(\\|)\!} - compset -P ':(\\|)!' - fi - _normal - ;; - - (:function) - # completing already defined user math functions is in fact exactly - # the wrong thing to do since currently zmathfuncdef won't overwrite, - # but it may jog the user's memory... - if (( CURRENT == 2 )); then - _wanted math-functions expl 'math function' \ - compadd -- ${${(k)functions:#^zsh_math_func_*}##zsh_math_func_} - else - _math - fi - ;; - - (:local) - _parameter - ;; - - (:(fix|sci|eng)) - if (( CURRENT == 2 )); then - _message "precision" - fi - ;& - - (:*) - _message "no more arguments" - ;; - - ([^:]*) - _math - ;; - esac -} - -_zcalc_line "$@" diff --git a/result/sw/share/zsh/5.9/functions/_zcat b/result/sw/share/zsh/5.9/functions/_zcat deleted file mode 100644 index baa7bd79..00000000 --- a/result/sw/share/zsh/5.9/functions/_zcat +++ /dev/null @@ -1,7 +0,0 @@ -#compdef zcat - -if _pick_variant gz='(GNU|NetBSD|Apple)' unix --license; then - _gzip "$@" -else - _compress "$@" -fi diff --git a/result/sw/share/zsh/5.9/functions/_zcompile b/result/sw/share/zsh/5.9/functions/_zcompile deleted file mode 100644 index 727ead3b..00000000 --- a/result/sw/share/zsh/5.9/functions/_zcompile +++ /dev/null @@ -1,29 +0,0 @@ -#compdef zcompile - -local state line expl curcontext="$curcontext" ret=1 -typeset -A opt_args - -_arguments -C -s \ - "(-t -c -m -a)-U[don't expand aliases]" \ - '(-t -M)-R[mark as read]' \ - '(-t -R)-M[mark as mapped]' \ - '(-t -c -m -a)*-k[ksh-style autoloading]' \ - '(-t -c -m -a)*-z[zsh-style autoloading]' \ - '(-t -U -z -k)-c[currently defined functions]' \ - '(-t -U -z -k)-m[use names as patterns]' \ - '(-t -U -z -k)-a[write autoload functions]' \ - '(-M -R -U -z -k -a -c -m)-t[show table of contents]' \ - '(-M -R -U -a -c -m -t):file:->file' \ - '*:function:->function' && ret=0 - -if [[ $state = function && -n $opt_args[(i)-[ac]] ]]; then - _wanted functions expl 'function to write' compadd -k functions && ret=0 -elif [[ -n $opt_args[(i)-[tca]] ]]; then - _description files expl 'zwc file' - _files -g '*.zwc(-.)' "$expl[@]" && ret=0 -else - _description files expl 'file' - _files "$expl[@]" && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zdump b/result/sw/share/zsh/5.9/functions/_zdump deleted file mode 100644 index f96bdd76..00000000 --- a/result/sw/share/zsh/5.9/functions/_zdump +++ /dev/null @@ -1,6 +0,0 @@ -#compdef zdump - -_arguments \ - '-v[lowest possible]' \ - '-c[cutoff]:cutoff year:' \ - '*:time zone:_time_zone' diff --git a/result/sw/share/zsh/5.9/functions/_zeal b/result/sw/share/zsh/5.9/functions/_zeal deleted file mode 100644 index 334331d4..00000000 --- a/result/sw/share/zsh/5.9/functions/_zeal +++ /dev/null @@ -1,43 +0,0 @@ -#compdef zeal - -local curcontext="$curcontext" cfg docset setdir mbegin mend ret=1 -local -a state line expl suf docsets globbed match -local -A opt_args dsets - -_arguments -S \ - ':query:->queries' \ - + '(opt)' \ - {-h,--help}'[display help information]' \ - {-v,--version}'[display version information]' \ - {-f,--force}'[force the application to run]' && ret=0 - -if [[ -n $state ]]; then - cfg=${XDG_CONFIG_HOME:-~/.config}/Zeal/Zeal.conf - if [[ -r $cfg ]]; then - docsets=${${(M)${(f)"$(<$cfg)"}:#path=*}#path=} - else - docsets=${XDG_DATA_HOME:-~/.local/share}/Zeal/Zeal/docsets - fi - for docset in $docsets/*.docset/Contents/Info.plist(N); do - setdir=${docset:h:h:r:t:l:gs/+/p} - [[ $(<$docset) = *DocSetPlatformFamily\<[^\<]#\<string\>(#b)([^\<]#)* ]] || - match=( ${docset:h:h:r:t:l:gs/+/p} ) - dsets+=( $match[1] ${docset:h} ) - done - if compset -P 1 '*:'; then - globbed=( ${dsets[${IPREFIX%:}]}/Resources/docSet.dsidx(N[1]) ) - if (( $+commands[sqlite3] )) && [[ -e $globbed ]]; then - _description queries expl 'query' - compadd "$expl[@]" - ${(f)"$(_call_program queries - sqlite3 $globbed 'select name from searchIndex')"} && ret=0 - else - _message -e queries 'query' - fi - else - compset -S ':*' || suf=( -qS : ) - _description docsets expl 'docset' - compadd "$expl[@]" $suf -k dsets && ret=0 - fi -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zed b/result/sw/share/zsh/5.9/functions/_zed deleted file mode 100644 index f84993d7..00000000 --- a/result/sw/share/zsh/5.9/functions/_zed +++ /dev/null @@ -1,16 +0,0 @@ -#compdef zed fned histed - -case $service in -(fned) _arguments -S : ':shell function:_functions';; -(histed) _arguments -S : \ - '1:history file:_files' \ - '2:history size: ';; -(zed) _arguments -S : \ - '(-h 1 3 4)-f[edit function]' \ - '(-h 1 3 4)-x+[specify spaces to use for indentation in function expansion]:spaces' \ - '(-f -x 1 2)-h[edit history]' \ - '(- 2 3 4)1:file:_files' \ - '(3 4)2:shell function:_functions' \ - '3:history file:_files -g "*(D)"' \ - '4:history size';; -esac diff --git a/result/sw/share/zsh/5.9/functions/_zfs b/result/sw/share/zsh/5.9/functions/_zfs deleted file mode 100644 index be4a64b3..00000000 --- a/result/sw/share/zsh/5.9/functions/_zfs +++ /dev/null @@ -1,1350 +0,0 @@ -#compdef zfs zdb zpool - -local curcontext="$curcontext" implementation nm="$compstate[nmatches]" -local -a state curstate line state_descr expl alts args -typeset -A opt_args val_args -local MATCH MBEGIN MEND -local -a subcmds -local -a share_nfs_ro_properties share_nfs_rw_properties -local -a share_smb_ro_properties share_smb_rw_properties -local -a share_ro_properties share_rw_properties -local -a difffields delegatable_perms key_properties -local -a ds_types sum_algorithms comp_algorithms dedup_algorithms - -local -a ds_propnames ro_ds_props rw_ds_props ci_ds_props # dataset properties -local -a po_propnames ro_po_props rw_po_props ci_po_props # pool properties - -_pick_variant -r implementation -c 'zpool upgrade -v' openzfs='This system supports ZFS pool feature flags' solaris - -ds_types=( filesystem snapshot volume all ) -sum_algorithms=( on off fletcher2 fletcher4 sha256 ) -comp_algorithms=( on off lzjb lz4 gzip gzip-{1..9} zle ) -dedup_algorithms=( on off verify sha256 sha256,verify ) - -ro_po_props=( # readonly - 'all[all properties]' - 'allocated[space allocated]' - 'capacity[space used (percentage)]' - 'dedupratio[deduplication ratio]' - 'free[space unallocated]' - 'health[health status]' - 'size[total size]' -) -ci_po_props=( # only set at create or import - 'altroot[alternate root directory]:path:_directories' - 'guid[unique identifier]:identifier' - 'readonly[whether the pool can be modified]:value:(on off)' -) -rw_po_props=( - 'autoexpand[automatic pool expansion]:value:(on off)' - 'autoreplace[automatic device replacement]:value:(on off)' - 'bootfs[default bootable dataset]:dataset:_zfs_dataset' - 'cachefile[pool configuration cache file location]:value' - 'dedupditto[threshold for number of copies]:value [0]' - 'delegation[delegated administration]:value:(on off)' - 'failmode[failure-mode behavior]:value:(wait continue panic)' - "listshares[show shares in 'zfs list']:value:(on off)" - "listsnaps[show snapshots in 'zfs list']:value:(on off)" - 'version[pool version]:version' -) - -# TODO: userused@ and groupused@ could have more extensive handling -ro_ds_props=( - name type creation space used available referenced compressratio mounted - origin usedbychildren usedbydataset usedbyrefreservation usedbysnapshots - defer_destroy userused@ userrefs groupused@ keystatus -) -ci_ds_props=( - 'casesensitivity:value:(sensitive insensitive mixed)' - 'normalization:value:(none formC formD formKC formKD)' - 'utf8only:value:(on off)' -) -rw_ds_props=( - 'aclinherit:value:(discard noallow restricted passthrough passthrough-x)' - 'atime:value:(on off)' - 'canmount:value:(on off noauto)' - "checksum:value:($sum_algorithms)" - "compression:value:($comp_algorithms)" - 'copies:value:(1 2 3)' - "dedup:value:($dedup_algorithms)" - 'devices:value:(on off)' - 'encryption:value:(off on aes128-ccm aes-192-ccm aes-256-ccm aes-128-gcm aes-192-gcm aes-256-gcm)' - 'exec:value:(on off)' - 'groupquota@' - 'logbias:value:(latency throughput)' - "mountpoint: : _alternative \ - 'properties:property:(none legacy)' \ - 'paths:mountpoint:_directories -W / -P /'" - 'multilevel:value:(on off)' - 'nbmand:value:(on off)' - 'primarycache:value:(all none metadata)' - 'quota: :->quotas' - 'readonly:value:(on off)' - 'recordsize:value:(512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M)' - 'refquota: :->quotas' - "refreservation: : _alternative \ - 'sizes: :_numbers -M \"m:{a-zA-Z}={A-Za-z}\" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(auto none)'" - 'reservation: :->quotas' - 'rstchown:value:(on off)' - 'secondarycache:value:(all none metadata)' - 'setuid:value:(on off)' - 'shadow:value' # TODO: complete URI|none - 'share:share properties' - 'snapdir:value:(hidden visible)' - 'sync:value:(standard always disabled)' - 'userquota@' - 'version:value' - 'volsize:size:_numbers -M "m:{a-zA-Z}={A-Za-z}" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' -) - -case $service:$implementation in - *:openzfs) - ds_types+=( bookmark ) - sum_algorithms+=( noparity sha512 skein edonr ) - comp_algorithms+=( zstd zstd-{1..19} zstd-fast zstd-fast-{{1..9}{,0},100,500,1000} ) - dedup_algorithms+=( {sha512,skein}{,\,verify} edonr,verify ) - share_rw_properties=( sharesmb:option sharenfs:option ) - ro_po_props+=( - 'expandsize[uninitialized space within the pool]' - 'fragmentation[amount of fragmentation in the pool]' - 'freeing[amount of space remaining to be reclaimed]' - 'used[amount of storage space used within the pool]' - 'load_guid[unique identifier generated when pool is loaded]' - ) - ci_po_props+=( - 'ashift[pool sector size exponent]:exponent:((9\:512 10\:1024 11\:2048 12\:4096 13\:8192 14\:16384 15\:32768 16\:65536))' - ) - rw_po_props+=( - 'autotrim[periodically trim recently freed space]:value:(on off)' - 'comment[text string that is available even if the pool becomes faulted]:value' - 'multihost[perform pool activity check during import]:value:(on off)' - ) - rw_ds_props+=( - 'aclmode:value:(discard groupmask passthrough restricted)' - 'acltype:value:(off noacl nfsv4 posix posixacl)' - 'mlslabel:value:(none)' # TODO: list sensitivity labels - 'redundant_metadata:value:(all most)' - 'vscan:value:(on off)' - 'xattr:value:(on off dir sa)' - "filesystem_limit: :{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ -prefix n ]]; then compadd none; else _message -e limits 'number or none'; fi}" - "snapshot_limit: :{if [[ -prefix [0-9]## ]]; then _message -e 'number'; elif [[ -prefix n ]]; then compadd none; else _message -e limits 'number or none'; fi}" - 'volmode:mode:(( - default\:use\ system-wide\ tunable - full\:expose\ as\ block\ devices - geom\:expose\ as\ block\ devices - dev\:hide\ partitions - none\:not\ exposed\ outside\ zfs - ))' - ) - ro_ds_props+=( - createtxg clones filesystem_count guid logicalreferenced logicalused - receive_resume_token refcompressratio snapshot_count volblocksize written - ) - delegatable_perms=( - bookmark load-key change-key userobjquota userobjused groupobjquota - groupobjused projectused projectquota projectobjused projectobjquota - ) - ;| - *:solaris) - ds_types+=( share ) - sum_algorithms+=( sha256+mac ) - share_nfs_ro_properties=( share.nfs.all ) - share_nfs_rw_properties=( - 'share.nfs:value:(on off)' - 'share.nfs.aclok:value:(on off)' - 'share.nfs.aclfab:value:(on off)' - 'share.nfs.anon:uid' - 'share.nfs.charset.'{cp932,euc-{cn,jpns,kr,tw},iso8859-{1,2,5,6,7,8,9,13,15},koi8-r,shift_jis}':access-list' - 'share.nfs.index:file:_files' - 'share.nfs.labeled:value:(on off)' - 'share.nfs.noaclfab:value:(on off)' - 'share.nfs.log:nfslog.conf tag' - 'share.nfs.nosub:value:(on off)' - 'share.nfs.nosuid:value:(on off)' - 'share.nfs.public:value:(on off)' - 'share.nfs.sec:security-mode-list' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.{ro,root,rw}':access-list' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.root_mapping':uid' - 'share.nfs.sec.'{default,dh,krb5{,i,p},none,sys}.window':credential lifetime (seconds)' - 'share.nfs.sec.sys.resvport:value:(on off)' - ) - share_smb_ro_properties=( share.smb.all ) - share_smb_rw_properties=( - 'share.smb:value:(on off)' - 'share.smb.abe' - 'share.smb.ad-container' - 'share.smb.catia:value:(on off)' - 'share.smb.csc:value:(disabled manual auto vdo)' - 'share.smb.dfsroot:value:(on off)' - 'share.smb.encrypt:value:(on off)' - 'share.smb.guestok:value:(on off)' - 'share.smb.oplocks:value:(disabled enabled)' - 'share.smb.cont_avail:value:(on off)' - 'share.smb.'{none,ro,rw}':access-list' - ) - share_ro_properties=( - share.all share.fs share.name share.point share.protocols share.state - $share_nfs_ro_properties $share_smb_ro_properties - ) - share_rw_properties=( - 'share.desc:description' - 'share.auto:value:(on off)' - 'share.autoname:value' - 'share.nfs.cksum:value' - 'share.path:path' - $share_nfs_rw_properties $share_smb_rw_properties - ) - ro_po_props+=( - 'lastscrub[start time of the last successful scrub]' - ) - rw_po_props+=( - 'clustered[pool is imported as a global pool in Oracle Solaris Cluster]:value:(on off)' - 'scrubinternal[time interval between scheduled scrubs]:interval' - ) - ro_ds_props+=( keychangedate rekeydate effective{read,write}limit ) - rw_ds_props+=( - 'aclmode:value:(discard mask passthrough)' - "defaultreadlimit: : _alternative \ - 'sizes: :_guard \[0-9\]\#\(\|\[BKMGTPEZ\]\) size\ \(bytes\ per\ second\)' \ - 'properties:property:(none)'" - "defaultwritelimit: : _alternative \ - 'sizes: :_guard \[0-9\]\#\(\|\[BKMGTPEZ\]\) size\ \(bytes\ per\ second\)' \ - 'properties:property:(none)'" - 'defaultuserquota:->quotas' - 'defaultgroupquota: :->quotas' - 'keysource:value:->keysources' - ) - ci_ds_props+=( - 'volblocksize:value:compadd -o nosort 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M' - ) - difffields=( - object parent size links linkschange name oldname user group - ctime mtime atime crtime mountpoint dataset_name - ) - delegatable_perms=( key keychange ) - ;| - zfs:openzfs) - subcmds+=( - bookmark change-key load-key program project projectspace redact - unload-key wait - ) - ;| - zpool:openzfs) - subcmds+=( - checkpoint events labelclear initialize reopen resilver sync trim wait - version - ) - ;| - zfs:solaris) - subcmds+=( key help ) - ;| - zpool:solaris) - subcmds+=( help label monitor ) - ;| - - zfs:*) - subcmds+=( - create destroy clone promote rename snapshot rollback list set get - inherit mount unmount share unshare send receive allow unallow upgrade - userspace groupspace hold holds release diff - ) - [[ $OSTYPE = freebsd<7->.* ]] && subcmds+=( jail unjail ) - ;; - zpool:*) - subcmds+=( - add attach clear create destroy detach export get history import iostat - list offline online reguid remove replace scrub set split status upgrade - ) - ;; -esac - -case $OSTYPE in - solaris*) - rw_ds_props+=( 'zoned:value:(on off)' ) - ;; - freebsd*) - [[ $OSTYPE = freebsd<-12>.* ]] && subcmds+=( remap ) - rw_ds_props+=( 'jailed:value:(on off)' ) - ;; - linux-gnu) - rw_ds_props+=( 'relatime:value:(on off)' ) - ci_ds_props+=( - {,fs,def,root}'context:SELinux context:_selinux_contexts' - ) - ;; -esac - -delegatable_perms+=( - allow clone create destroy diff hold key keychange mount promote receive - release rename rollback send share snapshot groupquota groupused userprop - userused ${ci_ds_props%%:*} -) - -key_properties=( - 'keylocation:location [prompt]:_files -P file\:// -W /' - 'keyformat:format:(raw hex passphrase)' - 'pbkdf2iters:iterations [350000]' -) - -ro_ds_props+=( $share_ro_properties ) -rw_ds_props+=( $share_rw_properties ) -ci_ds_props+=( $rw_ds_props ) - -ds_propnames=( ${rw_ds_props%%:*} ) -po_propnames=( ${ro_po_props%%:*} ${ci_po_props%%:*} ${rw_po_props%%:*} ) - - -case $service in - zfs|zpool) - _arguments -C -A "-*" \ - '-?[display usage information]' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "subcommand" compadd -a subcmds - return - fi - curcontext="${curcontext%:*}-$words[1]:" - ;; - zdb) - if [[ $implementation = openzfs ]]; then - args=( - '-mm[also display free space histogram associated with each metaslab]' - {-mmm,-MM}'[display more free space information]' - {-mmmm,-MMM}'[display every spacemap record]' - '-DD[display a histogram of deduplication statistics]' - '-DDD[display deduplication statistics independently for each table]' - '-DDDD[dump the contents of the deduplication tables describing duplicate blocks]' - '-DDDDD[also dump the contents of the deduplication tables describing unique blocks]' - '-E+[decode and display block from a given embedded block pointer]:word' - '(-l)-ll+[like -l but display L2ARC log blocks]:device:_files' - '(-l -ll)-lll+[like -l but display every configuration, unique or not]:device:_files' - "-q[don't print labels (with -l)]" - '-k[examine the checkpointed state of the pool]' - '-M[display the offset, spacemap, and free space of each metaslab]' \ - '-O+[look up the specified path inside of the dataset]:dataset:_zfs_dataset:path:_files' - '-o+[set the given global libzpool variable]:variable' - '-r+[copy the specified path inside of the dataset to the specified destination]:dataset:_zfs_dataset:path:_files:destination:_files' - '-x+[copy all blocks accessed to files in the specified directory]:directory:_directories' - '-V[attempt verbatim import]' - '-Y[attempt all possible combinations when reconstructing indirect split blocks]' - '-y[perform validation for livelists that are being deleted]' - ) - else - args=( - '-?[display usage information]' - '-M+[dump MOS contents]:contents: _values -s , raw_config all objset dir pool_props metaslab sync_bplist dtl config spares l2cache history errlog_scrub errlog_last bpmap-vdev bpmap_defer_obj dtl-scan ddt2' - '-r[dump datasets recursively]' - '-z[report zombies only]' - '-V[verify DDT xtree block data]' - "-a[don't import l2arc cache data]" - '-f[attempt to force import (with -e)]' - '-w+[specify directory to save shadow copy of all accessed disk locations]: :_directories' - '-x+[set kernel tunable]:tunable' - '-G[dump the contents of the zfs_dbgmsg buffer before exiting]' - '-I[limit the number of outstanding checksum I/Os to the specified value]' - ) - fi - _arguments -A "-*" -S $args \ - '(-C)-b[display block statistics]' \ - '(-C)*-c[verify checksum of metadata blocks]' \ - '(-b -c -d)-C[display configuration information]' \ - '(-C)*-d[display dataset information]' \ - '-h[display pool history]' \ - '-i[display intent log (ZIL) information]' \ - '-l+[read the vdev labels from the specified device]:device:_files' \ - '-m[display the offset, spacemap, and free space of each metaslab]' \ - '-s[report statistics on zdb I/O]' \ - '*-u[also display the uberblocks on the device (with -l)]' \ - '*-v[enable verbose output]' \ - '-D[display deduplication statistics]' \ - '-S[simulate the effects of deduplication, displaying constructed DDT as with -DD]' \ - '-L[disable leak detection and the loading of space maps]' \ - '-R+[read and display a block from the specified device]:device' \ - "-A[don't abort should any assertion fail]" \ - "-AA[enable panic recovery]" \ - '-F[try progressively older transactions until pool is readable]' \ - '-U+[specify cache file to use]:cache file [/etc/zfs/zpool.cache]:_files' \ - '-X[attempt "extreme" transaction rewind]' \ - '-e[operate on an exported pool]' \ - '-p[specify path under which to search for devices (with -e)]:path:_files' \ - '-P[use exact (parsable) numeric output]' \ - '-t+[specify the highest transaction to use when searching for uberblocks]:transaction' \ - '1:pool:_zfs_pool' - return - ;; -esac - -case $service:$words[1] in - zfs:create) - [[ $implementation = openzfs ]] && args=( - '-P[print machine-parsable verbose information about the created dataset]' - '-n[do a dry-run, no dataset will be created]' - '-v[print verbose information about the created dataset]' - ) - _arguments -C -A "-*" -S $args \ - '-p[create parent datasets]' \ - '*-o+[set initial propertyvalue]:property:->create-properties' \ - - set1 \ - ':filesystem:_zfs_dataset -t fs -e "parent dataset"' \ - - set2 \ - '-s[create sparse volume]' \ - '-b+[set volblocksize]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes blocksize \:B {k,M,G,T,P,E,Z}{,B}' \ - '-V+[set size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes size \:B {k,M,G,T,P,E,Z}{,B}' \ - ':volume:_zfs_dataset -t fs -e "parent dataset"' - ;; - - zfs:destroy) - if [[ $implementation = openzfs ]]; then - args=( - '-n[do a dry-run, no data will be deleted]' - '-p[print machine-parsable verbose information about the deleted data]' - '-v[print verbose information about the deleted data]' - ) - else - args=( '-s[destroy snapshots synchronously - only return when blocks freed]' ) - fi - _arguments -A "-*" -S $args \ - '-r[recursively destroy all children]' \ - '-R[recursively destroy all dependents]' \ - '(-f)-d[delete or mark deferred]' \ - '(-d)-f[force unmounts]' \ - ':dataset:_zfs_dataset -t fs -t vol ${=${opt_args[(i)-f]:--t snap}:/-f/} ${=${opt_args[(i)-*]:--t bookmark}:/-?/}' - ;; - - zfs:snap(|shot)) - _arguments -C -A "-*" -S \ - '-r[recursively snapshot all descendant datasets]' \ - '*-o+[set property]:property:->create-properties' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol -S@' - ;; - - zfs:rollback) - _arguments -A "-*" -S \ - '-r[recursively destroy more recent snapshots]' \ - '-R[recursively destroy more recent snapshots and clones]' \ - '-f[force unmounts]' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:clone) - [[ $implementation = solaris ]] && args+=( - '-K[create encryption key]' - ) - _arguments -C -A "-*" -S $args \ - '-p[create parent datasets]' \ - '*-o+[set property]:property:->create-properties' \ - ':snapshot:_zfs_dataset -t snap' \ - ':filesystem/volume:_zfs_dataset -t fs -e "parent dataset"' - ;; - - zfs:promote) - _arguments \ - ':filesystem:_zfs_dataset -t clone' \ - ;; - - zfs:rename) - [[ $implementation = openzfs ]] && args=( - '(-r -u)-f[force unmount any filesystems]' - "(-r -f)-u[don't remount file systems during rename]" - ) - _arguments -A "-*" -S $args \ - '(-r)-p[create parent datasets]' \ - '(-p -u -f)-r[recursively rename snapshots of all descendent datasets]' \ - ':dataset:_zfs_dataset -r1' \ - ':dataset:_zfs_dataset -r2' - ;; - - zfs:bookmark) - _arguments \ - ':snapshot or bookmark:_zfs_dataset -t snap -t bookmark' \ - ':bookmark' - ;; - - zfs:program) - _arguments -A "-*" -S \ - '-j[display channel program output in JSON format]' \ - '-n[execute a read-only channel program]' \ - '-t+[limit the number of Lua instructions to execute]:instruction limit' \ - '-m+[specify memory limit]:memory limit (bytes) [10MB]' \ - ':pool:_zfs_pool' \ - ':script:_files' \ - '*: :_default' - ;; - - zfs:list) - if [[ $implementation = solaris ]]; then - args=( '-I+[specify dataset states to display instead of normal datasets]:dataset state:_sequence compadd - receiving resumable hidden all' ) - else - args=( '-p[use exact (parsable) numeric output]' ) - fi - _arguments -A "-*" -S $args \ - '(-d)-r[recursively display children]' \ - '-H[suppress printing of headers]' \ - '(-r)-d+[depth]:value' \ - '-o+[specify properties to list]: :_values -s , "property" $ro_ds_props $ds_propnames' \ - '*-s+[specify sort key (ascending)]: :_values "property" $ro_ds_props $ds_propnames' \ - '*-S+[specify sort key (descending)]: :_values "property" $ro_ds_props $ds_propnames' \ - '-t+[specify dataset types to list]: :_values -s , "dataset type" $ds_types' \ - '*:filesystem/volume/snapshot/path:_zfs_dataset -p' - ;; - - zfs:set) - [[ $implementation = solaris ]] && args=( - '-r[recursively apply value]' \ - ) - _arguments -C -A "-*" -S $args \ - ':property:->set-properties' \ - '*:filesystem/volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:get) - if [[ $implementation == openzfs ]]; then - args=( '-t+[specify dataset types to display]: :_values -s , "dataset type" $ds_types' ) - else - args=( '-e[expand property sublists to any depth]' ) - fi - _arguments -A "-*" -S $args \ - "(-d)-r[recursively display children's properties]" \ - '(-r)-d+[depth]:value' \ - '-H[suppress printing of headers]' \ - '-p[use exact (parsable) numeric output]' \ - '-s+[specify sources]: :_values -s , "source" local default inherited received temporary none' \ - '-o+[specify fields]: :_values -s , "field" name property received value source' \ - ':property:_values -s , "property" $ro_ds_props $ds_propnames all' \ - '*:filesystem/volume/snapshot:_zfs_dataset' - ;; - - zfs:inherit) - _arguments -C -A "-*" -S \ - '-r[recursively inherit property for all children]' \ - '-S[revert to received property value]' \ - ':property:_values "property" $ro_ds_props ${rw_ds_props%%:*}' \ - '*:filesystem/volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:remap) - _arguments \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:upgrade) - _arguments -A "-*" -S \ - '(- :)-v[display supported ZFS versions]' \ - '(-v :)-a[upgrade all filesystems on all pools]' \ - '(-v)-r[upgrade descendent filesystems, too]' \ - '(-v)-V+[upgrade to specified version]:version' \ - '(-a -v):filesystem:_zfs_dataset -t fs' - ;; - - zfs:(user|group)space) - args=( - '-n[print numeric ID]' - '-i[translate SID to POSIX ID]' - ) - ;& # fall-through - zfs:projectspace) - [[ $implementation = solaris ]] && args+=( - '(- *)'{-h,--help}'[display usage information]' - ) - _arguments -A "-*" -S $args \ - '-H[suppress printing of headers, tab-delimit columns]' \ - '-p[use exact (parsable) numeric output]' \ - '-o+[specify properties to list]:property:_values -s , "property" type name used quota' \ - '*-s+[specify sort key (ascending)]: :_values "property" type name used quota' \ - '*-S+[specify sort key (descending)]: :_values "property" type name used quota' \ - '-t+[specify types to list]:type:_values -s , "type" all posixuser smbuser posixgroup smbgroup' \ - '*:filesystem/volume/snapshot:_zfs_dataset' - ;; - - zfs:project) - _arguments -A "-*" -S \ - '(-r -C -k -p -s)-d[act on the directory project ID and inherit flag, not its children]' \ - '(-d)-r[act on subdirectories recursively]' \ - '(-0 -c -d -s)-C[clear project inherit flag and/or ID on the file(s) or directories]' \ - '(-0 -c -d -p -s)-k[keep the project ID unchanged]' \ - '(-k -C -s)-c[check project ID and inherit flag on the file(s) or directories]' \ - '(-k -C -s)-0[print file name with a trailing NUL instead of newline]' \ - '(-k)-p+[specify project ID]:project ID' \ - '(-0 -c -k -C)-s[set project inherit flag on the given file(s) or directories]' \ - '*:file:_files' - ;; - - zfs:mount) - [[ $OSTYPE != freebsd* ]] && args=( '-O[overlay mount]' ) - [[ $implementation = openzfs ]] && args+=( - '-l[load keys for encrypted filesystems as they are being mounted]' - ) - _arguments -A "-*" -S $args \ - '-o+[specify temporary file system options]: :_values -s , "option" {,no}{atime,dev,exec,relatime,suid,xattr} ro rw' \ - '-v[report mount progress]' \ - '-f[force mount]' \ - '(:)-a[mount all available ZFS filesystems]' \ - '(-a):filesystem:_zfs_dataset -t fs' - ;; - - zfs:u(|n)mount) - [[ $implementation = openzfs ]] && args+=( - '-u[unload keys for any unmounted encryption roots]' - ) - _arguments -A "-*" -S $args \ - '-f[force unmount]' \ - '(:)-a[unmount all ZFS filesystems]' \ - '(-a):dataset or mountpoint:_zfs_dataset -t fs -t mtpt' - ;; - - zfs:share) - [[ $implementation = solaris ]] && args=( - - set2 \ - '-r[share filesystems recursively]' \ - ':dataset:_zfs_dataset -t fs' \ - - set3 \ - '*-o+[create a share with specified properties]: :_values -w "share properties" $share_rw_properties' \ - '-u[create a share without sharing it]' \ - ':dataset:_zfs_dataset -t fs' \ - ) - _arguments -A "-*" -S \ - - set1 \ - '-a[share all available ZFS filesystems]' \ - $args \ - - set4 \ - ':dataset or mountpoint:_zfs_dataset -t fs -t mtpt -t share' - ;; - - zfs:unshare) - [[ $implementation = solaris ]] && args=( - - set2 - '-r[unshare filesystems recursively]' - ':filesystem:_zfs_dataset -t fs' - ) - _arguments -A "-*" -S $args \ - - set1 \ - '-a[unshare all shared ZFS filesystems]' \ - - set3 \ - ':filesystem:_zfs_dataset -t fs -t mtpt -t share' - ;; - - zfs:send) - if [[ $implementation = openzfs ]]; then - args=( - '(-L --large-block)'{-L,--large-block}'[generate a stream which may contain blocks larger than 128KB]' - '(-P --parsable)'{-P,--parsable}'[print machine-parsable verbose information about the stream generated]' - '(-e --embed)'{-e,--embed}'[more compact stream for blocks stored with the embedded_data feature]' - '(-c --compressed)'{-c,--compressed}'[more compact stream for compressed blocks]' - '(-h --holds)'{-h,--holds}'[send snapshot holds]' - '-V[set the process title to a per-second report of how much data has been send]' - '-t[create a send stream that resumes an interrupted receive]:resume token' - '(-w --raw)'{-w,--raw}'[keep encrypted data exactly as it exists on disk]' - - redact - '(-h -V -t -w --raw)--redact[generate a redacted send stream]' - - saved - '(-S --saved)'{-S,--saved}'[generate stream from partially received dataset]' - ) - else - args=( - '-w+[send compressed filesystem blocks as compressed in the stream]:compression:(compress none)' - '-m+[limit amount of memory used by deduplication processing]: :_numbers -u bytes "memory size" K M G' - '-s+[set stream options]:token:(streamsize check nocheck memsize)' - '-C[read a receive checkpoint from stdin]' - '-c[create a self-contained stream]' - '(-R)-r[generate a recursive stream package]' - ) - fi - _arguments -A "-*" -S \ - '-b[send only received property values]' \ - '(-I)-i[generate an incremental stream]:snapshot:_zfs_dataset -t snap' \ - '-D[perform dedup processing]' \ - "-n[don't send the stream]" \ - '-p[send properties]' \ - '-v[verbose]' \ - '(-i)-I[generate an incremental stream with intermediary snapshots]:snapshot:_zfs_dataset -t snap' \ - '(-r)-R[generate a replication stream package]' \ - ':snapshot:_zfs_dataset -t snap -t bookmark' \ - $args - ;; - - zfs:redact) - _arguments \ - ':snapshot:_zfs_dataset -t snap' \ - ':bookmark:_zfs_dataset -t bookmark' \ - ':redaction snapshot:_zfs_dataset -t snap' - ;; - - zfs:(receive|recv)) - if [[ $implementation = openzfs ]]; then - args=( - '-h[skip the receive of holds]' - '-s[if the receive is interrupted, save the partially received state]' - '(- set2)-A[abort an interrupted zfs recv -s, deleting its saved partially received state]' - ) - [[ $OSTYPE != linux* ]] && args+=( - '-M[force an unmount of the file system while receiving a snapshot]' - ) - else - args=( '(-)-C[write a receive checkpoint to stdout]' ) - fi - _arguments -A "-*" -S $args \ - '-v[verbose]' \ - "-n[don't receive the stream]" \ - '-F[force a rollback if necessary]' \ - '-u[filesystem is not mounted]' \ - '-o[include property change in the stream]:property' \ - '-x[exclude property change from the stream]:property' \ - - set1 \ - ':filesystem/volume/snapshot:_zfs_dataset' \ - - set2 \ - '(-e)-d[set path prefix from stream, excluding only pool name]' \ - '(-d)-e[set path prefix from stream, using last path element]' \ - ':filesystem:_zfs_dataset -t fs' - ;; - - zfs:allow) - _arguments -C -A "-*" -S \ - '(-g -e -c -s)-u[delegate to user]' \ - '(-u -e -c -s)-g[delegate to group]' \ - '(1 -g -u -c -s)-e[delegate to everyone]' \ - '(1 -u -g -e -l -d -s)-c[set permissions for newly-created descendant filesystems]' \ - '(-u -g -e -l -d -c)-s[define or modify permission sets]:permission set' \ - '(-c -s)-l[allow for named dataset]' \ - '(-c -s)-d[allow for descendent datasets]' \ - '1: :->first' \ - ':permission list:_values -s , "permission or set" $delegatable_perms' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol' - - if [[ -n $state ]]; then - case $opt_args[(I)-[ugs]] in - ^-[ug]) alts+=( 'permission-sets: :_guard "(|@*)" "permission set"' ) ;| - ^-[gs]) alts+=( 'users:user:_users' ) ;| - ^-[us]) alts+=( 'groups:group:_groups' ) ;| - '') - alts+=( - 'all:everyone:(everyone)' - 'filesystems:filesystem/volume:_zfs_dataset -t fs -t vol' - ) - ;; - esac - _alternative $alts - fi - ;; - - zfs:unallow) - _arguments -A "-*" -S \ - '-r[recursive removal]' \ - '(-e -g -s -c)-u[user]' \ - '(-e -u -s -c)-g[group]' \ - '(1 -g -u -s -c)-e[everyone]' \ - '(1 -u -g -e -s -l -d)-c[create-time permissions]' \ - '(-e -u -g -c)-s[remove permissions from or delete a permission set]:permission set' \ - '(-c -s)-l[allow for named dataset]' \ - '(-c -s)-d[allow for descendent datasets]' \ - '1: :->first' \ - '::permissions or sets:_values -s , "permission or set" $delegatable_perms' \ - ':filesystem/volume:_zfs_dataset -t fs -t vol' - - if [[ -n $state ]]; then - case $opt_args[(I)-[ugs]] in - ^-[ug]) alts+=( 'permission-sets: :_guard "(|@*)" "permission set"' ) ;| - ^-[gs]) alts+=( 'users:user:_users' ) ;| - ^-[us]) alts+=( 'groups:group:_groups' ) ;| - '') alts+=( 'all:everyone:(everyone)' ) ;; - esac - _alternative $alts - fi - ;; - - zfs:hold) - _arguments -A "-*" -S \ - '-r[apply hold recursively]' \ - ':tag' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:holds) - [[ $implementation = openzfs ]] && args=( - '-H[suppress printing of headers, tab-delimit columns]' - ) - [[ $OSTYPE = freebsd<-12>.* ]] && args+=( - # features were lost with the openzfs rebase - '-p[use exact (parsable) numeric output]' - '(-r)-d+[depth]:value' - ) - _arguments -A "-*" -S $args \ - '(-d)-r[list holds recursively]' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:release) - _arguments -A "-*" -S \ - '-r[release holds recursively]' \ - ':tag' \ - ':snapshot:_zfs_dataset -t snap' - ;; - - zfs:diff) - [[ $implementation = solaris ]] && args=( - '(-E)-e[only show new and changed files, no deleted]' - '*-o+[show specified fields]:field:_values "field" $difffields' - '-q[silence warnings for missing snapshots on recursive datasets]' - '-N[enumerate new child datasets (with -r)]' - '(1 -e)-E[show difference from empty]' - ) - _arguments -A "-*" -S $args \ - '-F[add column for filetype character, similar to ls(1)]' \ - '-H[suppress printing of headers and arrows, tab-delimit columns]' \ - '-t[add column for ctime]' \ - '(-E)1:snapshot:_zfs_dataset -t snap' \ - '2:snapshot or filesystem:_zfs_dataset -t snap -t fs' - ;; - - zfs:wait) - _arguments -A "-*" -S \ - '-t[specify background activity]:activity:(deleteq)' \ - ':filesystem:_zfs_dataset' - ;; - - zfs:key) - _arguments -C -A "-*" -S \ - '-t+[only apply to given dataset type]: :_values -s , "dataset type" $ds_types' \ - '(-u -c -K -f -o)-l[load the encryption key]' \ - "(-u -c -K -f -o)-M[don't mount file systems after loading their keys]" \ - "(-u -c -K -f -o)-S[don't share file systems after loading their keys]" \ - '(-l -c -K -o -M -S)-u[unload the encryption key]' \ - '(-l -c -K -o -M -S)-f[force unmount the dataset before unloading the encryption key]' \ - '(-l -u -K -f -M -S)-c[change the encryption key]' \ - '(-l -u -K -f -M -S)-o+[change a property]:property:->keysources' \ - '(-l -c -u -f -o -M -S)-K[create a new data encryption key]' \ - '(1 -r)-a[apply to all datasets in all pools]' \ - '(-a)-r[apply recursively]' \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:load-key) - _arguments -A "-*" -S \ - "-L+[specify location of user's encryption key]:key location [prompt]:_files -P file\:// -W /" \ - '(:)-a[load keys for all encryption roots in all imported pools]' \ - '-n[do a dry-run, simply check that the provided key is correct]' \ - '-r[load keys for datasets recursively]' \ - '(-a):filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:unload-key) - _arguments -A "-*" -S \ - '(:)-a[unload keys for all encryption roots in all imported pools]' \ - '-r[unload keys for datasets recursively]' \ - '(-a):filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:change-key) - _arguments -A "-*" -S \ - '(-o)-i[make filesystem inherit key from its parent]' \ - '-l[ensure key is loaded before attempting to change it]' \ - '(-i)*-o+[change encryption key property]: :_values -s , "property" $key_properties' \ - ':filesystem or volume:_zfs_dataset -t fs -t vol' - ;; - - zfs:jail|zfs:unjail) - _arguments \ - '1: : _jails' \ - '2:filesystem:_zfs_dataset -t fs' - ;; - - zfs:help) - _arguments -A "-*" -S \ - - set1 \ - ':command:($subcmds $delegatable_perms $ro_ds_props ${rw_ds_props%%:*} properties)' \ - - set2 \ - '(2)-l[display property information]' \ - ':help topic:(property)' \ - ':property:($delegatable_perms $ro_ds_props ${rw_ds_props%%:*})' - ;; - - zpool:help) - _arguments -A "-*" -S \ - - commands \ - ':command:($subcmds)' \ - - properties \ - '(2)-l[display property information]' \ - ':help topic:(property)' \ - ':property:(${po_propnames%%\[*})' - ;; - - zpool:add) - if [[ $implementation = openzfs ]]; then - args=( - '-g[display vdev, GUIDs instead of the normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' \ - '-P[display real paths for vdevs instead of only the last component of the path]' - ) - elif [[ $implementation = solaris ]]; then - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args \ - '-f[force use of in-use devices]' \ - '-n[display configuration without modifying pool]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->virtual-devices' - ;; - - zpool:attach) - if [[ $implementation = openzfs ]]; then - args=( - '-w[wait until new device has finished resilvering before returning]' - '-s[reconstruct sequentially to restore redundancy as quickly as possible]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' - ) - fi - _arguments -A "-*" -S $args \ - '-f[force attach, even if in use]' \ - ':pool:_zfs_pool' \ - ':virtual device:->pool-devices' \ - ':virtual device:->disk-devices' - ;; - - zpool:checkpoint) - _arguments -A "-*" -S \ - '(-d --discard)'{-d,--discard}'[discard an existing checkpoint from the pool]' \ - '(-w --wait)'{-w,--wait}'[wait until the checkpoint has finished being discarded before returning]' \ - ':pool:_zfs_pool' - ;; - - zpool:clear) - [[ $implementation = solaris ]] && args=( - '-f[ignore fmadm acquit and fmadm repair failures]' - ) - _arguments -C -A "-*" -S $args \ - '-F[discard transactions to allow pool opening]' \ - '-n[with -F, check if discarding transactions would work]' \ - '-X[(undocumented) extreme rewind of transactions]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:create) - if [[ $implementation = openzfs ]]; then - args=( - "-d[don't enable any features on the new pool]" - ) - else - args=( - '-B[create EFI boot partition on whole disks]' - '-l[display configuration in /dev/chassis location form]' - "-N[create pool but don't mount or share]" - ) - fi - _arguments -C -A "-*" -S $args \ - '-o+[set pool property at creation time]:property:->newpool-properties' \ - '-O+[set dataset property at creation time]:property:->create-properties' \ - '-f[force use of in-use devices]' \ - '-n[display configuration without creating pool]' \ - '-R+[use alternate root]:alternate root:_directories' \ - '-m+[set mountpoint for root dataset]:mountpoint' \ - '-t+[use a temporary pool name]:pool name' \ - ':pool :_guard "^-*" "pool name"' \ - '*: :->virtual-devices' - ;; - - zpool:destroy) - _arguments -A "-*" -S \ - '-f[force active datasets to be unmounted]' \ - ':pool:_zfs_pool' - ;; - - zpool:detach) - _arguments -C \ - ':pool:_zfs_pool' \ - ':virtual device:->pool-devices' - ;; - - zpool:events) - _arguments -A "-*" -S \ - '(- 1)-c[clear all previous events]' \ - '-f[follow mode - continue running, showing new events]' \ - '-H[suppress headers and tab-delimit fields]' \ - '-v[print the entire payload for each event]' \ - '(-c)1:pool:_zfs_pool' - ;; - - zpool:export) - [[ $implementation = openzfs ]] && args=( '(*)-a[export all pools]' ) - _arguments -A "-*" -S $args \ - '-f[forcefully unmount all datasets]' \ - '*:pool:_zfs_pool' - ;; - - zpool:get) - [[ $implementation = solaris ]] && args=( - '-s+[specify sources to display]: :_values -s "source" local default none' - ) - _arguments -A "-*" -S $args \ - '-H[suppress headers and tab-delimit fields]' \ - '-p[display numbers in parseable (exact) values]' \ - '-o+[specify fields to display]: : _values -s , field name property value source' \ - ':property:_values -s , "property" $po_propnames' \ - '*:pool:_zfs_pool' - ;; - - zpool:history) - _arguments -A "-*" -S \ - '-i[display internal events]' \ - '-l[long format]' \ - '*:pool:_zfs_pool' - ;; - - zpool:import) - # TODO: -o should complete mount options, too - if [[ $implementation = openzfs ]]; then - args=( - '-t[new pool name is temporary]' - '-l[request encryption keys for all encrypted datasets]' - '--rewind-to-checkpoint[rewind pool to the checkpointed state]' - '-s[scan using the default search path]' - '(-F -X)-T[specify the txg to use for rollback]' - ) - else - args=( - '(-a)-t+[use a temporary pool name]:pool name' - '-l[display configuration in /dev/chassis location form]' - ) - fi - _arguments -C -A "-*" -S $args \ - '(1 2 -t)-a[search for and import all pools found]' \ - '-D[destroyed pools only]' \ - '(-d)*-c+[use cache file]:cache file:_files' \ - '(-c -D)*-d+[search for devices or files in directory]:directory:_files -/' \ - '-F[recovery mode: discard transactions if required]' \ - '-X[(undocumented) extreme rewind of transactions]' \ - '!-V' \ - '-f[force import]' \ - '-m[ignore missing log devices]' \ - '-N[import pool without mounting any filesystems]' \ - "-n[with -F; don't perform input]" \ - '-R+[specify alternate root]:alternate root:_files -/' \ - '-o+[set pool or dataset property]:property:->import-properties' \ - '1:pool name or id:_zfs_pool' \ - '2::new pool name' - ;; - - zpool:initialize) - _arguments -A "-*" -S \ - '(-s --suspend -c --cancel)'{-c,--cancel}'[cancel initializing on specified devices]' \ - '(-s --suspend -c --cancel)'{-s,--suspend}'[suspend initializing on specified devices]' \ - '(-w --wait)'{-w,--wait}'[wait until devices have finished initializing before returning]' \ - ':pool:_zfs_pool' \ - '*:device:pool-devices' - ;; - - zpool:iostat) - if [[ $implementation = openzfs ]]; then - args=( - '-c[run scripts on each vdev]:script:_files -W "($ZPOOL_SCRIPTS_PATH /etc/zfs/zpool.d ~/.zpool.d)"' - '-g[display vdev GUIDs instead of normal device names]' - '-H[suppress headers and tab-delimit fields]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-n[print headers only once]' - '-p[display numbers in parsable (exact) values and times in nanoseconds]' - '-P[display full paths for vdevs instead of only the last component of the path]' - "-r[print request size histograms for the leaf vdev's IO]" - '-y[omit statistics since boot]' - '-w[display latency histograms]' - '-l[include average latency statistics]' - '-q[include active queue statistics]' - ) - else - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-v[verbose statistics]' \ - '*::pool:_zfs_pool' \ - '::interval' \ - '::count' - ;; - - zpool:label) - _arguments -C -A "-*" -S \ - '(-c)*-d+[specify path in which to search for devices or files]:path:_directories' \ - '(-d)-c+[read configuration from specified cache file]:cache file:_files' \ - '(-R)-C[clear ZFS metadata on an inactive pool or device]' \ - '(-C)-R[recover ZFS metadata for a pool]' \ - '1::pool:_zfs_pool' \ - '2:device:->pool-devices' - ;; - - zpool:labelclear) - _arguments -A "-*" -S \ - '-f[treat exported or foreign devices as inactive]' \ - '*:virtual device:_files' - ;; - - zpool:list) - [[ $implementation = openzfs ]] && args=( - '-g[display vdev GUIDs instead of normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-p[display numbers in parsable (exact) values]' - '-P[display full paths for vdevs instead of only the last component of the path]' - '-v[report usage statistics for individual vdevs within the pool]' - ) - _arguments -A "-*" -S $args \ - '-H[suppress headers and tab-delimit fields]' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-o+[specify fields to list]: :_values -s , "field" $po_propnames' \ - '::pool:_zfs_pool' - ;; - - zpool:monitor) - _arguments -A "-*" -S \ - '-t+[specify provider]:provider:(send receive scrub resilver ddtmigrate destroy)' \ - '-o+[specify fields]: :_values -s , field done other pctdone pool provider speed starttime tag timeleft timestmp total' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '-p[use machine-parseable output format]' \ - '1:pool:_zfs_pool' \ - '2:interval' \ - '3:count' - ;; - - zpool:offline) - [[ $implementation = openzfs ]] && args=( - '-f[force disk into faulted state]' - ) - _arguments -C -A "-*" -S $args \ - '-t[offline until next reboot]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:online) - _arguments -C -A "-*" -S \ - '-e[expand device to use all available space]' \ - ':pool:_zfs_pool' \ - '*:virtual device:->pool-devices' - ;; - - zpool:reopen) - _arguments -A "-*" -S \ - "-n[don't restart an in-progress scrub operation]" \ - '1:pool:_zfs_pool' - ;; - - zpool:reguid) - _zfs_pool - ;; - - zpool:remove) - [[ $implementation = openzfs ]] && args=( - '(-s)-w[wait until removal has completed before returning]' - ) - _arguments -C -A "-*" -S $args \ - "(-s)-n[don't perform the removal, display mapping table memory use]" \ - '(-s)-p[with -n, display numbers in parseable (exact) values]' \ - '(- *)-s[stop and cancel an in-progress removal]' \ - '1:pool:_zfs_pool' \ - '*:device:->pool-devices' - ;; - - zpool:replace) - [[ $implementation = openzfs ]] && args=( - '-w[wait until replacement has completed before returning]' - '-s[reconstruct sequentially to restore redundancy as quickly as possible]' - '-o+[set given pool properties]: :_values -s , "property" "${(@M)ci_po_props\:#ashift*}"' - ) - _arguments -A "-*" -S $args \ - '-f[force attach, even if in use]' \ - ':pool:_zfs_pool' \ - ':virtual device:_files' \ - '::virtual device:_files' - ;; - - zpool:(resilver|sync)) - _arguments \ - '*:pool:_zfs_pool' - ;; - - zpool:scrub) - [[ $implementation = openzfs ]] && args=( - '(-s)-p[pause scrubbing]' - '-w[wait until scrub has completed before returning]' - ) - _arguments -A "-*" -S $args \ - '(-p)-s[stop scrubbing]' \ - '*:pool:_zfs_pool' - ;; - - zpool:set) - _arguments -C -A "-*" -S \ - ':property:->set-pool-properties' \ - '*:pool:_zfs_pool' - ;; - - zpool:split) - if [[ $implementation = solaris ]]; then - args=( '-l[display configuration in /dev/chassis location form]' ) - else - args=( - '-g[display vdev GUIDs instead of normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-l[request encryption keys for encrypted datasets]' - '-P[display full paths for vdevs instead of only the last component of the path]' - ) - fi - _arguments -C -A "-*" -S $args \ - '-R+[specify alternate root]:alternate root:_files -/' \ - '-n[display configuration without splitting]' \ - '-o+[set pool or dataset property]:property:->import-properties' \ - ':pool name or id:_zfs_pool' \ - ':new pool name' \ - '*:virtual device:->pool-devices' - ;; - - zpool:status) - if [[ $implementation = openzfs ]]; then - args=( - '-D[display a histogram of deduplication statistics]' - '-c[run scripts on each vdev]:script:_files -W "($ZPOOL_SCRIPTS_PATH /etc/zfs/zpool.d ~/.zpool.d)"' - '-i[display vdev initialization status]' - '-g[display vdev GUIDs instead of the normal device names]' - '-L[display real paths for vdevs resolving all symbolic links]' - '-p[display numbers in parsable (exact) values and times in nanoseconds]' - '-P[display full paths for vdevs instead of only the last component of the path]' - '-s[display the number of leaf VDEV slow IOs]' - '-t[display vdev TRIM status]' - ) - else - args=( '-l[display configuration in /dev/chassis location form]' ) - fi - _arguments -A "-*" -S $args\ - '-v[verbose information]' \ - '-x[show only unhealthy pools]' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - '*::pool:_zfs_pool' \ - ':: :_guard "[0-9]#" interval' \ - ':: :_guard "[0-9]#" count' - ;; - - zpool:trim) - _arguments -C -A "-*" -S \ - '(-d --secure)'{-d,--secure}'[initiate a secure TRIM]' \ - '(-r --rate)'{-r,--rate}'[set rate at which the TRIM operation progresses]:rate (bytes per second)' \ - '(-c --cancel)'{-c,--cancel}'[cancel trimming]' \ - '(-s --suspend)'{-s,--suspend}'[suspend trimming]' \ - '(-w --wait)'{-w,--wait}'[wait until devices are done being trimmed]' \ - '1:pool:_zfs_pool' \ - '*:device:->pool-devices' - ;; - - zpool:upgrade) - _arguments -A "-*" -S \ - '(- *)-v[display ZFS versions and descriptions]' - "(-v)-V+[upgrade to given version]:version" \ - '(-v *)-a[upgrade all pools]' \ - '(-a -v)*:pool:_zfs_pool' - ;; - - zpool:wait) - _arguments -A "-*" -S \ - '-H[suppress printing of headers, tab-delimit columns]' \ - '-P[use exact (parsable) numeric output]' \ - '-t+[specify background activity]: : _values -s , activity discard free initialize replace remove resilver scrub trim' \ - '-T+[display a timestamp]:format:((d\:standard u\:internal))' \ - ':pool:_zfs_pool' \ - ':interval' - ;; - - *) - _default - ;; -esac - -while (( $#state )); do - curstate=$state - state=() - case $curstate in - virtual-devices) - local -a vdevtypes - vdevtypes=( mirror raidz{,1,2,3} spare log cache ) - if [[ $implementation = openzfs ]]; then - vdevtypes+=( draid{,1,2,3} dedup special ) - else - vdevtypes+=( meta ) - fi - # cache can't be a mirror - [[ $words[CURRENT-1] != cache ]] && alts=( - 'vdev-types:vdev type:compadd -a vdevtypes' - ) - [[ -prefix / ]] || alts+=( - 'disk-vdevs:disk vdev:_files -g "*(-%)" -W /dev' - ) - _alternative $alts 'file-vdevs:file vdev:_files -W / -P /' - ;; - - pool-devices) - local -a devices - devices=( ${${${(M)${(f)"$(_call_program devices zpool status $line[1])"}:#$'\t' *}##[[:blank:]]#}%%[[:blank:]]*} ) - if (( $#devices )); then - _description devices expl "$state_descr" - compadd "$expl[@]" -a devices - break - fi - ;& # fall-through if we found none - - disk-devices) - [[ -prefix / ]] || alts=( - 'disk-vdevs:disk vdev:_files -g "*(-%)" -W /dev' - ) - _alternative $alts 'file-vdevs:file vdev:_files -W / -P /' - ;; - - keysources) - local -a suf - - compset -S ",*" || suf=(-S ,) - if compset -P 1 "*,"; then - _alternative \ - 'zfs-keylocator-prompt:"prompt" locator:(prompt)' \ - 'zfs-keylocator-file:file locator:_files' \ - 'zfs-keylocator-pkcs11: : _message -e zfs-keylocator-pkcs11 "PKCS#11 locator"' \ - 'zfs-keylocator-https: : _message -e zfs-keylocator-https "HTTPS URL locator"' - else - _description keysource-formats expl "keysource format" - compadd $suf -q "$expl[@]" "$@" raw hex passphrase - fi - ;; - - quotas) - _alternative \ - 'sizes: :_numbers -M "m:{a-zA-Z}={A-Za-z}" -u bytes size :B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(none)' - ;; - - import-properties) args=( $ci_ds_props $rw_ds_props $ci_po_props ) ;| - create-properties) args=( $ci_ds_props ) ;| - set-properties) args=( $rw_ds_props ) ;| - newpool-properties) args=( $rw_po_props $ci_po_props ) ;| - set-pool-properties) args=( $rw_po_props ) ;| - - *-properties) - if compset -P 1 '(#m)*@'; then - if compset -P 1 '*='; then - case $MATCH in - *quota@) _alternative \ - 'sizes: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" -u bytes size \:B {k,M,G,T,P,E,Z}{,B}' \ - 'properties:property:(none)' - ;; - esac - else - case $MATCH in - user*@) _users -S = ;; - group*@) _groups -S = ;; - project*@) _message -e projects project ;; - esac - fi - else - _wanted values expl "$state_descr" compadd -S@ ${${(M)args:#*@}%@} - _values -C "$state_descr" ${args:#*@} - fi - ;; - esac -done - -[[ nm -ne "$compstate[nmatches]" ]] diff --git a/result/sw/share/zsh/5.9/functions/_zfs_dataset b/result/sw/share/zsh/5.9/functions/_zfs_dataset deleted file mode 100644 index 7edcfd5d..00000000 --- a/result/sw/share/zsh/5.9/functions/_zfs_dataset +++ /dev/null @@ -1,80 +0,0 @@ -#autoload - -local -a type expl_type_arr rsrc rdst paths_allowed -local -a typearg datasetlist expl mlist -local expl_type - -# -e takes an argument which is passed as the "descr" argument to _wanted -# -p indicates that filesystem paths, not just dataset names, are allowed -# -r1 indicates that we're completing the source of a rename -# -r2 indicates that we're completing the destination of a rename -# -t takes arguments (what kinds of datasets) and can appear multiple times -zparseopts -D -E e:=expl_type_arr p=paths_allowed r1=rsrc r2=rdst t+:=type - -[[ -n $type[(r)fs] ]] && typearg=( filesystem ) -[[ -n $type[(r)vol] ]] && typearg+=( volume ) -[[ -n $type[(r)snap] ]] && typearg+=( snapshot ) -[[ -n $type[(r)share] && $implementation = solaris ]] && typearg+=( share ) -[[ -n $type[(r)bookmark] && $implementation = openzfs ]] && - typearg+=( bookmark ) -if [[ -n $typearg ]]; then - typearg=( -t ${(j:,:)typearg} ) -# We know we're in zfs list if paths_allowed is non-empty. -elif [[ -n $opt_args[-t] && ${#paths_allowed} -gt 0 ]]; then - typearg=( -t $opt_args[-t] ) -fi - -if [[ ${#paths_allowed} -gt 0 && $PREFIX == /* ]]; then - _path_files - return -fi - -if [[ ${#rsrc} -gt 0 ]]; then - # With the -r option to zfs rename, we can only rename snapshots. With the - # -p option, we can only rename filesystems and volumes. - if [[ -n $words[(r)-r] ]]; then - typearg=( -t snapshot ) - elif [[ -n $words[(r)-p] ]]; then - typearg=( -t filesystem,volume ) - elif [[ $implementation == openzfs ]]; then - typearg=( -t filesystem,snapshot,volume ) - else - typearg=( -t filesystem,share,snapshot,volume ) - fi -fi - -if [[ ${#rdst} -gt 0 ]]; then - if [[ ${words[CURRENT - 1]} == *@* ]]; then - # If we're renaming snapshots, there's nothing to complete, so - # we simply give instructions. (In non-recursive cases, we - # could put the name of the snapshotted dataset first, but why - # bother with the long form?) - _message -e 'snapshot name (beginning with "@")' - return - else - # The parent dataset must be a filesystem, and can't rename - # a dataset into another pool. Plus we hardcode the expl. - typearg=( -t filesystem -r ${${words[CURRENT - 1]}%%/*} ) - expl_type_arr=( -e "parent dataset" ) - fi -fi - -if [[ -n $type[(r)clone] ]]; then - datasetlist=( ${(f)"$(zfs list -H -o name,origin -t filesystem 2>/dev/null | awk -F$'\t' "\$2 != \"-\" {print \$1}")":#no cloned filesystems available} ) -else - datasetlist=( ${(f)"$(zfs list -H -o name $typearg 2>/dev/null)":#no datasets available} ) -fi - -expl_type=${typearg[2,-1]//,/\/} -if [[ -n $type[(r)mtpt] ]]; then - mlist=( ${(f)"$(zfs list -H -o mountpoint $typearg 2>/dev/null)":#no mountpoints available} ) - datasetlist=( $datasetlist $mlist ) - expl_type="$expl_type/mountpoint" -fi - -if [[ -n $expl_type_arr[2] ]]; then - expl_type=$expl_type_arr[2] -fi - -_description datasets expl "$expl_type" -_multi_parts "$@" "$expl[@]" -q / datasetlist diff --git a/result/sw/share/zsh/5.9/functions/_zfs_pool b/result/sw/share/zsh/5.9/functions/_zfs_pool deleted file mode 100644 index 7db865c7..00000000 --- a/result/sw/share/zsh/5.9/functions/_zfs_pool +++ /dev/null @@ -1,3 +0,0 @@ -#autoload - -compadd "$@" - $(zpool list -H -o name) diff --git a/result/sw/share/zsh/5.9/functions/_zftp b/result/sw/share/zsh/5.9/functions/_zftp deleted file mode 100644 index a41d72ce..00000000 --- a/result/sw/share/zsh/5.9/functions/_zftp +++ /dev/null @@ -1,93 +0,0 @@ -#compdef -P zf* - -# Completion for zftp builtin and zf* functions. The functions -# zfcd_match and zfget_match (also used for old-style completion) -# need to be installed for remote file and directory completion to work. - -# emulate -L zsh - -# Don't try any more completion after this. -_compskip=all - -local subcom expl curcontext="${curcontext}" - -if [[ $service = zftp ]]; then - if [[ $CURRENT -eq 2 ]]; then - _wanted commands expl sub-command \ - compadd open params user login type ascii binary mode put \ - putat get getat append appendat ls dir local remote mkdir rmdir \ - session rmsession - return - fi - subcom=$words[2] - curcontext="${curcontext/:zftp:/:zftp-${words[2]}:}" -else - subcom=$service -fi - -case $subcom in - *(cd|ls|dir)) - # complete remote directories - [[ -z ${functions[zfcd_match]} ]] && autoload -Uz zfcd_match - _tags directories && zfcd_match $PREFIX $SUFFIX - ;; - - *(get(|at)|gcp|delete|remote)) - # complete remote files - [[ -z ${functions[zfget_match]} ]] && autoload -Uz zfget_match - _tags files && zfget_match $PREFIX $SUFFIX - ;; - - *(put(|at)|pcp)) - # complete local files - _files - ;; - - *(open|anon|params)) - # complete hosts: should do cleverer stuff with user names - _hosts - ;; - - *(goto|mark)) - # complete bookmarks. First decide if ncftp mode is go. - if [[ $words[2] = -*n* ]]; then - if [[ -f ~/.ncftp/bookmarks ]]; then - _wanted bookmarks expl bookmark \ - compadd - $(awk -F, 'NR > 2 { print $1 }' ~/.ncftp/bookmarks) - fi - else - if [[ -f ${ZFTP_BMFILE:=${ZDOTDIR:-$HOME}/.zfbkmarks} ]]; then - _wanted bookmarks expl bookmark \ - compadd - $(awk '{print $1}' $ZFTP_BMFILE) - fi - fi - ;; - - *session) - # complete sessions, excluding the current one. - _wanted sessions expl 'another FTP session' \ - compadd - ${$(zftp session):#$ZFTP_SESSION} - ;; - - *transfer) - # complete arguments like sess1:file1 sess2:file2 - if [[ $PREFIX = *:* ]]; then - # complete file in the given session - _tags files || return 1 - local sess=${PREFIX%%:*} oldsess=$ZFTP_SESSION - compset -p $(( $#sess + 1 )) - [[ -n $sess ]] && zftp session $sess - zfget_match $PREFIX $SUFFIX - [[ -n $sess && -n $oldsess ]] && zftp session $oldsess - else - # note here we can complete the current session - _wanted sessions expl 'FTP session' compadd -S : - $(zftp session) - fi - ;; - - *) - # dunno... try ordinary completion after all. - _compskip='' - return 1 - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_zip b/result/sw/share/zsh/5.9/functions/_zip deleted file mode 100644 index cfa51be3..00000000 --- a/result/sw/share/zsh/5.9/functions/_zip +++ /dev/null @@ -1,181 +0,0 @@ -#compdef zip unzip zipinfo - -local suffixes suf zipfile uzi testfile -local expl curcontext="$curcontext" state line ret=1 -typeset -A opt_args - -case $service in - zip) - _arguments -C -s -S \ - '(-u --update)'{-u,--update}'[update: only changed or new files]' \ - '(-f --freshen)'{-f,--freshen}'[freshen: update existing files only (no files added)]' \ - '(-FS --filesync)'{-FS,--filesync}'[filesync: update if date or size changed]' \ - '(-d --delete)'{-d,--delete}'[delete: delete files from archive]' \ - '(-U --copy)'{-U,--copy}'[copy: select files in archive to copy]' \ - '-r[recurse into directories]' \ - '(-m --move)'{-m,--move}'[after archive created, delete original files]' \ - '(-j --junk-paths)'{-j,--junk-paths}'[junk directory names (store just file names)]' \ - '-q[quiet operation]' \ - '-v[verbose operation/print version info]' \ - '(-c --entry-comments)'{-c,--entry-comments}'[prompt for one-line comment for each entry]' \ - '(-z --archive-comment)'{-z,--archive-comment}'[prompt for comment for archive]' \ - '(-@ --names-stdin)'{-@,--names-stdin}'[read names to zip from stdin]' \ - '-o[make zipfile as old as latest entry]' \ - '(-i --include)'{-i,--include}'[include files that match a pattern]:*(-*|@):pattern:_files' \ - '(-x --exclude)'{-x,--exclude}'[exclude files that match a pattern]:*(-*|@):pattern:_files' \ - '-l[convert LF to CR LF]' \ - '-ll[convert CR LF to LF]' \ - '-R[recurse current dir and match patterns]' \ - '-t+[exclude files modified before specified date]:date (mmddyyyy)' \ - '-tt+[exclude files modified on or after specified date]:date (mmddyyyy)' \ - '( -1 -2 -3 -4 -5 -6 -7 -8 -9)-0[store only]' \ - '(-0 -2 -3 -4 -5 -6 -7 -8 -9)-1[compress faster]' \ - '(-0 -1 -3 -4 -5 -6 -7 -8 -9)-2' \ - '(-0 -1 -2 -4 -5 -6 -7 -8 -9)-3' \ - '(-0 -1 -2 -3 -5 -6 -7 -8 -9)-4' \ - '(-0 -1 -2 -3 -4 -6 -7 -8 -9)-5' \ - '(-0 -1 -2 -3 -4 -5 -7 -8 -9)-6' \ - '(-0 -1 -2 -3 -4 -5 -6 -8 -9)-7' \ - '(-0 -1 -2 -3 -4 -5 -6 -7 -9)-8' \ - '(-0 -1 -2 -3 -4 -5 -6 -7 -8 )-9[compress better]' \ - '(-Z --compression-method)'{-Z+,--compression-method=}'[specify compression method]:method:(store deflate bzip2)' \ - '(-e --encrypt)'{-e,--encrypt}'[encrypt using (weak) PKZip 2.0 encryption, prompt for password]' \ - '-P+[specify password for standard encryption]:password' \ - '-s+[create split archive with splits of specified size]:size (MB)' \ - '-sp[pause after each split to allow changing disks]' \ - '-sb[ring bell when pausing between splits]' \ - '-sv[be verbose about creating splits]' \ - '(-O --out)'{-O,--out=}'[output to new archive]:archive' \ - '(-FI --fifo)'{-FI,--fifo}'[support reading from a pipe]' \ - '(-db --display-bytes)'{-db,--display-bytes}'[display running count of bytes processed and bytes to go]' \ - '(-dc --display-counts)'{-dc,--display-counts}'[display running count of entries done and entries to go]' \ - '(-dd --display-dots)'{-dd,--display-dots}'[display dots while each entry is zipped]' \ - '(-dg --display-globaldots)'{-dg,--display-globaldots}'[display dots for the archive instead of each file]' \ - '(-ds --dot-size)'{-ds,--dot-size=}'[specify size at which a dot is output while processing files]:size [10MB]' \ - '(-du --display-usize)'{-du,--display-usize}'[display original uncompressed size for each entry as added]' \ - '(-dv --display-volume)'{-dv,--display-volume}'[display volume (disk) number in format in_disk>out_disk]' \ - '(-lf --logfile-path)'{-lf,--logfile-path=}'[specify log file]:file:_files' \ - '(-la --log-append)'{-la,--log-append}'[append to existing log file]' \ - '(-li --log-info)'{-li,--log-info}'[include info messages in log]' \ - '(-T --test)'{-T,--test}'[test zipfile integrity]' \ - '(-TT --unzip-command)'{-TT,--unzip-command=}'[specify command for testing archive]:command [unzip -tqq]:_cmdstring' \ - '(-F --fix)'{-F,--fix}'[fix zipfile]' \ - '(-F --fix -FF --fixfix)'{-FF,--fixfix}'[try harder to fix zipfile]' \ - '(-DF --dif)'{-DF,--dif}'[only include files that have changed or are new as compared to the input archive]' \ - '-sf[show files to operate on and exit]' \ - '-su[as -sf but show escaped UTF-8 Unicode names also]' \ - '-su[as -sf but show escaped UTF-8 Unicode names instead]' \ - '-UN=[specify Unicode path mismatch handling]:mismatch handling:(Quit Warn Ignore No Escape UTF8)' \ - '(-A --adjust-sfx)'{-A,--adjust-sfx}'[adjust self-extracting exe]' \ - '(-J --junk-sfx)'{-J,--junk-sfx}'[junk zip file prefix (unzipsfx)]' \ - '(-b --temp-path)'{-b,--temp-path}'[specify location for temporary archive]:path for temporary archive:_directories' \ - '-nw[no wildcards]' \ - '(-X --no-extra)'{-X,--no-extra}'[eXclude eXtra file attributes]' \ - '(-y --symlinks)'{-y,--symlinks}'[store symbolic links as the link instead of the referenced file]' \ - '(-)'{-h,--help}'[display help information]' \ - '(-)'{-h2,--more-help}'[display extended help information]' \ - '(-g --grow)'{-g,--grow}'[allow growing existing zipfile]' \ - '(-L --license)'{-L,--license}'[display license]' \ - '(-D --no-dir-entries)'{-D,--no-dir-entries}"[don't add directory entries]" \ - '-n[specify suffixes of files not to be compressed]:suffixes:->suffixes' \ - "(-f -d -R -q -c -b -@ -F -FF -A -T -y -e -h -u -m -g -j -l -ll -L -v -z -t -tt -o -D -J -X -n -0 -1 -2 -3 -4 -5 -6 -7 -8 -9):zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' && ret=0 - ;; - unzip) - _arguments -C -s -S \ - '(-Z)-M[page output]' \ - - unzip \ - '(-f -u -l -t -z -d -p)-c[extract files to stdout including file names]' \ - '(-p -u -l -t -z)-f[freshen existing files; create none]' \ - '(-f -u -l -t -z -c -d)-p[extract files to stdout]' \ - '(-p -f -l -t -z)-u[update files; create if necessary]' \ - '(-p -f -u -t -z -d)-l[list files]' \ - '(-p -f -u -l -z -d)-t[test compressed archive data]' \ - '-T[timestamp archive to latest]' \ - '(-p -f -u -l -t -d)-z[display archive comment]' \ - '(-p -l -t -z)-d+[specify directory to extract files to]:directory:_files -/' \ - '(-p -l -t -z -o)-n[never overwrite existing files]' \ - '(-p -l -t -z -n)-o[overwrite files without prompting]' \ - "(-p -l -t -z)-j[junk paths (don't make directories)]" \ - '-C[match filenames case-insensitively]' \ - '(-p -l -t -z)-X[restore UID/GID info]' \ - '-q[quiet]' '-qq[quieter]' \ - '(-l -t -z)-a[auto-convert any text files]' \ - '(-l -t -z)-aa[treat all files as text]' \ - '(-l -t -z)-b[treat all files as binary]' \ - '(-l -t -z)-B[save backup copy of each overwritten file]' \ - '(-DD)-D[skip restoration of timestamps for extracted directories]' \ - '(-D)-DD[skip restoration of timestamps for all entries]' \ - '-v[verbose/display version info]' \ - '(-c -p -z -LL)-L[lowercase filenames from case-insensitive file systems]' \ - '(-c -p -z -L)-LL[lowercase all filenames]' \ - '-K[keep setuid/setgid/sticky permissions]' \ - '-P[specify password for decryption]:password' \ - '(-UU)-U[use escapes for all non-ASCII Unicode]' \ - '(-U)-UU[ignore any Unicode fields]' \ - '-W[modify pattern matching so only ** matches /]' \ - '-\:[allow extraction outside of extraction base directory]' \ - '-^[allow control characters in extracted entries]' \ - '-i[include the following names]:*-*:pattern' \ - '-x[exclude the following names]:*-*:pattern' \ - "(-p -f -u -l -t -z -n -o -j -C -X -q -qq -a -aa -v -L -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' \ - - help \ - '-hh[display detailed help information]' \ - - zipinfo \ - '-Z[zipinfo mode]:zipinfomode:->zipinfo' && ret=0 - ;; -esac - -[[ $state == zipinfo ]] && uzi="-Z[zipinfo mode]" - -if [[ $service == zipinfo ]] || [[ -n $uzi ]]; then - _arguments -C -s -S \ - $uzi \ - '(-2 -s -m -l -v -h -t -T -z)-1[filenames only]' \ - '(-1 -s -m -l -v -T)-2[just filenames but allow -h/-t/-z]' \ - '(-1 -2 -m -l -v -h -t)-s[short format]' \ - '(-1 -2 -s -l -v -h -t)-m[medium format]' \ - '(-1 -2 -s -m -v -h -t)-l[long format]' \ - '(-1 -2 -s -m -l -h -z)-v[verbose, multi-page format]' \ - '(-1 -s -m -l -v)-h[print header line]' \ - '(-1 -v)-z[print zipfile comment]' \ - '-C[match filenames case-insensitively]' \ - '(-1 -s -m -l)-t[print totals]' \ - '(-1 -2)-T[use sortable decimal format for file times]' \ - '-M[page output]' \ - '-x[exclude the following names]' \ - "(-1 -2 -s -m -l -v -h -z -C -t -T -M)1:zip file:_files -g '(#i)*.(zip|xpi|[ejw]ar)(-.)'" \ - '*:file:->files' && ret=0 -fi - -case $state in - suffixes) - suffixes=( *.*(N:e) ) - _sequence -s : _wanted -x suffixes expl suffix compadd - .$^suffixes && return - ;; - files) - if [[ $service = zip ]] && (( ! ${+opt_args[-d]} )); then - _wanted files expl zfile _files -g '^(#i)*.(zip|xpi|[ejw]ar)(-.)' && return - else - testfile=${~${(Q)line[1]}} - if [[ -f $testfile ]]; then - zipfile=$testfile - elif [[ -f $testfile.zip ]]; then - zipfile=$testfile.zip - elif [[ -f $testfile.ZIP ]]; then - zipfile=$testfile.ZIP - else - return 1 - fi 2>/dev/null - if [[ $zipfile != $_zip_cache_name ]]; then - _zip_cache_name="$zipfile" - _zip_cache_list=( ${(f)"$(zipinfo -1 -- $_zip_cache_name)"} ) - fi - _wanted files expl 'file from archive' \ - _multi_parts / _zip_cache_list && return - fi - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zle b/result/sw/share/zsh/5.9/functions/_zle deleted file mode 100644 index 0b8ef7a1..00000000 --- a/result/sw/share/zsh/5.9/functions/_zle +++ /dev/null @@ -1,75 +0,0 @@ -#compdef zle - -local expl ret=1 -local -a opts compwids state line context - -compwids=(accept-and-menu-complete - complete-word - delete-char-or-list - expand-or-complete - expand-or-complete-prefix - list-choices - menu-complete - menu-expand-or-complete - reverse-menu-complete) - -opts=(-A -C -D -F -L -M -N -R -T -U -a -c -l -r \* :) - -_arguments -s -S \ - "($opts)-A[define widget alias]:old widget:->widget :new widget:->widget" \ - "($opts)-C[define completion widget]:new widget name:->comp-widget :completion widget:->builtin-comp-widget :widget shell function:->function" \ - "($opts)-D[delete widget]:*:widget:->widget" \ - \(${(j. .)opts:#-[lFT]}')-L[with -l, list as commands]' \ - \(${(j. .)opts:#-[La]}')-l+[list user-defined widgets]:*:-:->listing' \ - \(${(j. .)opts:#-l}')-a[with -l, list all widgets]' \ - "(: * ${(j. .)opts:#-[Lw]})-F[install file descriptor handler]:file descriptor:_file_descriptors::handler:_functions" \ - "!($opts)-K:keymap:compadd -a keymaps" \ - "($opts)-M[display message]:message: " \ - "($opts)-N[define new widget]:widget name:->widget-or-function ::widget shell function:->function" \ - \(${(j. .)opts:#-c}')-R+[redisplay]:*:-:->redisplay' \ - \(${(j. .)opts:#-R}')-c[with -R, clear listing]' \ - "($opts)-U[unget to input stack]:string: " \ - '(: *)-T[manipulate transformations]:transformation:(tc):function:_functions' \ - \(${(j. .)opts:#-T}')-r[remove transformations]' \ - '(-):widget:->widget' \ - '(-)*::widget args:->args' && ret=0 - -[[ $state == listing ]] && - _arguments -s -S '!-l' \ - "(-a)-L[list as commands]" \ - "(-L)-a[list all widgets]" \ - '*:widget name:->widget' && ret=0 - -case "$state[1]" in - (args) - _arguments \ - '(-N)-n[numeric prefix]:number:' \ - '(-n)-N[reset numeric prefix]' \ - '-K[specify temporary keymap]:keymap:compadd -a keymaps' \ - '-w[set $WIDGET to reflect widget being called]' \ - '(-)*:widget arguments: ' && ret=0 - ;; - (widget*) - _wanted -C "$context[1]" widgets expl "${state_descr[1]:-widget}" _widgets && ret=0 - ;| - (*function) - _wanted -C "$context[1]" functions expl 'widget shell function' \ - compadd -M 'r:|-=* r:|=*' -k functions && - ret=0 - ;; - (comp-widget) - _wanted -C "$context[1]" widgets expl 'completion widget' \ - _widgets -g "(*:|)(.|)(${(j(|))compwids})(|:*)" && ret=0 - ;& - (builtin-comp-widget) - _wanted -C "$context[1]" widgets expl 'builtin completion widget' \ - compadd -M 'r:|-=* r:|=*' -k "widgets[(I)(.|)(${(j(|))compwids})]" && ret=0 - ;; - (redisplay) - _arguments -s -S '!-R' \ - "-c[clear listing]" \ - ":status line" "*:strings to list" && ret=0 - ;; -esac - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zlogin b/result/sw/share/zsh/5.9/functions/_zlogin deleted file mode 100644 index 14211430..00000000 --- a/result/sw/share/zsh/5.9/functions/_zlogin +++ /dev/null @@ -1,16 +0,0 @@ -#compdef zlogin -# Synced with the Nevada build 162 man page - -local -a _comp_priv_prefix -_arguments -s \ - '-E[disable escape character]' \ - '-e[specify escape character]:character' \ - '-l[specify username]:username:_users' \ - ':zonename:_zones' \ - - set1 \ - '-C[connect to zone console]' \ - '-d[disconnect on zone halt]' \ - - set2 \ - '-S["safe" login mode]' \ - '(-):command name: _command_names -e' \ - '*::utility: _normal' diff --git a/result/sw/share/zsh/5.9/functions/_zmodload b/result/sw/share/zsh/5.9/functions/_zmodload deleted file mode 100644 index f3e38c0f..00000000 --- a/result/sw/share/zsh/5.9/functions/_zmodload +++ /dev/null @@ -1,78 +0,0 @@ -#compdef zmodload - -local suf comp state line expl curcontext="$curcontext" ret=1 NORMARG -typeset -A opt_args -suf=() - -_arguments -n -C -S -s \ - '(-R -P -i -u -d -a -b -c -I -p -f -e -F -m)-A[create module aliases]' \ - '(-)-R[remove module aliases]' \ - '(-A -R -F -L -m -P -l -e)-u[unload module]' \ - '(-d -e -l)-a[autoload module]' \ - '(-c -d -I -p -f -F -P -l -m -A -R)-b[autoload module for builtins]' \ - '(-b -d -I -p -f -F -P -l -m -A -R)-c[autoload module for condition codes]' \ - '(-A -R -F -I -P -a -b -c -e -f -i -l -m -p)-d[list or specify module dependencies]' \ - '(-i -u -d -a -b -c -p -f -L -R)-e[test if modules are loaded]' \ - '(-b -c -d -I -p -F -P -l -m -A -R)-f[autoload module for math functions]' \ - '(-u -b -c -d -p -f -A -R -I)-F[handle features]' \ - '(-u -b -c -d -p -f -A -R -I)-m[treat feature arguments as patterns]' \ - '(-d -e)-i[suppress error if command would do nothing]' \ - '(-d -e -L)-s[suppress error if module is not available]' \ - '(-b -c -d -p -f -F -P -m)-I[define infix condition names]' \ - '(-u -b -c -d -p -f -A -R)-l[list features]' \ - '(-e -u)-L[output in the form of calls to zmodload]' \ - '(-b -c -d -I -f -F -P -l -m -A -R)-p[autoload module for parameters]' \ - '(-u -b -c -d -p -f -A -R)-P[array param for features]:array name:_parameters' \ - '(-)*:param:->params' && ret=0 - -[[ $state = params ]] || return ret - -if (( $+opt_args[-A] )); then - compset -S '=*' || compset -P '*=' || suf=( -S '=' ) -fi - -if (( $+opt_args[-F] && CURRENT > NORMARG )); then - local module=$words[NORMARG] - local -a features - - if [[ $modules[$module] != loaded ]]; then - _message -e features "feature for unloaded module" - else - zmodload -lFP features $module - if compset -P -; then - # only enabled features needed - features=(${${features:#-*}##?}) - elif compset -P +; then - # only disabled features needed - features=(${${features:#+*}##?}) - else - # complete opposite of current feature state, + is default - features=(${${features#-}/(#s)+/-}) - fi - _wanted features expl feature compadd -a features - fi -else - comp=( files aliases ) - if (( $+opt_args[-u] )); then - if (( $+opt_args[-b] || $+opt_args[-a] )); then - comp=( builtins ) - else - comp=( loadedmodules aliases ) - fi - fi - (( $+opt_args[-a] && CURRENT > 3 )) && comp=( builtins ) - - _tags "$comp[@]" - while _tags; do - _requested builtins expl 'builtin command' \ - compadd "$@" -k builtins && ret=0 - _requested loadedmodules expl 'loaded module' \ - compadd -k 'modules[(R)loaded]' && ret=0 - _requested files expl 'module file' \ - _files -W module_path -g '*.(dll|s[ol]|bundle)(:r)' && ret=0 - _requested aliases expl 'module alias' \ - compadd "$suf[@]" -k 'modules[(R)alias*]' && ret=0 - (( ret )) || return 0 - done - return ret -fi diff --git a/result/sw/share/zsh/5.9/functions/_zmv b/result/sw/share/zsh/5.9/functions/_zmv deleted file mode 100644 index df5cb511..00000000 --- a/result/sw/share/zsh/5.9/functions/_zmv +++ /dev/null @@ -1,18 +0,0 @@ -#compdef zmv zln zcp - -_arguments -s -S -A '-*' \ - '(-C -L -s -p)-M[force mv]' \ - '(-M -L -s -p)-C[force cp]' \ - '(-M -C -p)-L[force ln]' \ - '-f[force overwriting of destination files]' \ - '-i[interactive: prompt for each operation]' \ - '-n[no execution: just print what would happen]' \ - '-Q[force bare glob qualifiers on]' \ - '(-C -M)-s[symbolic, passed down to ln]' \ - '-v[verbose: print line as it is executed]' \ - '-o[specify options to pass to underlying command]: opt string' \ - '(-M -C -L -s)-p+[specify program to run instead of cp, ln or mv]:program:_command_names -e' \ - '(-W)-w[implicitly add parenthesis to wildcards in the pattern]' \ - '(-w)-W[like -w, but turn wildcards in replacement patterns into references]' \ - '1:source pattern:_files' \ - '2:destination pattern:_files' diff --git a/result/sw/share/zsh/5.9/functions/_zoneadm b/result/sw/share/zsh/5.9/functions/_zoneadm deleted file mode 100644 index ab63dc0b..00000000 --- a/result/sw/share/zsh/5.9/functions/_zoneadm +++ /dev/null @@ -1,163 +0,0 @@ -#compdef zoneadm -# Synced with the S11U1 man page - -_zoneadm_bootargs() { - # This is a subset of the arguments to kernel(1M) - _arguments -A "-*" \ - '-i[Alternate init]:path:_path_files' \ - '-m[SMF options]:option:_values "SMF option" debug milestone= quiet verbose' \ - '-s[Boot single user]' -} - -_zoneadm() { - local context state line expl - typeset -A opt_args - local -a subcmds fields - local -a solaris_attach solaris_install - local -a solaris10_attach solaris10_install - local -a extended_create_options extended_destroy_options - local brand brand_args - - subcmds=( - attach boot clone detach halt help install list mark move - ready reboot uninstall verify - ) - - extended_create_options=( - "force-zpool-import" - "force-zpool-create:ZFS pool: " - "force-zpool-create-all" - ) - - extended_destroy_options=( - "force-zpool-destroy:ZFS pool: " - "force-zpool-destroy-all" - ) - - solaris_attach=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to zonepath]:directory:_path_files -/' - ) - solaris_install=( - - set1 - '-c[Path to certificate]:path:_path_files' - '*-e[Additional package]:package:' - '-k[Path to key]:path:_path_files' - '-P[Publisher/URI mapping]:publisher:' - - set2 - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to installed zone root]:directory:path_files -/' - '-p[Preserve system configuration]' - '-s[Install silently]' - '-u[Unconfigure after installation]' - '-v[Verbose]' - ) - - solaris10_attach=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to zonepath]:directory:_path_files -/' - ) - solaris10_install=( - '(-d)-a[Path to archive]:path:_path_files' - '(-a)-d[Path to installed zone root]:directory:path_files -/' - '-p[Preserve system configuration]' - '-s[Install silently]' - '-u[Unconfigure after installation]' - '-v[Verbose]' - ) - - if [[ $service == "zoneadm" ]]; then - _arguments -C -A "-*" \ - '-R[Alternate root]:alternate root:_path_files -/' \ - '-u[Zone UUID]:zone UUID: ' \ - '-z[Zone name]:zone name:_zones' \ - '*::command:->subcmd' && return 0 - - if (( CURRENT == 1 )); then - _wanted commands expl "zoneadm subcommand" compadd -a subcmds - return - fi - service="$words[1]" - curcontext="${curcontext%:*}=$service:" - fi - - case $service in - ("boot") - # Completion of boot arguments after -- is kinda hacky. - _arguments -S -A "-*" \ - '-w[Force writable root]' \ - '-W[Boot in transient r/w mode]' \ - '*:boot options:_zoneadm_bootargs' - ;; - - ("clone") - _arguments -A "-*" \ - '-m[Clone mode]:mode:_values "mode" copy' \ - '-s[Source snapshot]:snapshot:_zfs_dataset -t snap' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ':source zone:_zones' - ;; - - ("attach") - if [[ -n $opt_args[-z] ]]; then - brand=${"${(@s,:,)$(zoneadm -z $opt_args[-z] list -p)}"[6]} - brand_args=${brand}_attach - fi - _arguments -A "-*" \ - '-F[Force attach]' \ - '-n[Path to zone manifest]:path to zone manifest:_path_files' \ - '-u[Update on attach]' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ${(P)brand_args} - ;; - - ("detach") - _arguments -A "-*" \ - '-n[Dry run]' - ;; - - ("halt"|"ready"|"reboot"|"verify") - ;; - - - ("help") - _wanted commands expl "zoneadm subcommand" compadd -a subcmds - ;; - - ("install") - if [[ -n $opt_args[-z] ]]; then - brand=${"${(@s,:,)$(zoneadm -z $opt_args[-z] list -p)}"[6]} - brand_args=${brand}_install - fi - _arguments -A "-*" \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_create_options' \ - ${(P)brand_args} - ;; - - ("list") - _arguments -A "-*" \ - '-c[Configured zones]' \ - '-i[Installed zones]' \ - '(-v)-p[Parsable output]' \ - '(-p)-v[Verbose mode]' - ;; - - ("mark") - _arguments -A "-*" \ - ':state:(incomplete unavailable)' - ;; - - ("move") - _arguments -A "-*" \ - ':new zone path:_path_files -/' - ;; - - ("uninstall") - _arguments -A "-*" \ - '-F[Force]' \ - '-x[Extended options]:extended option:_values -w "extended option" $extended_destroy_options' - ;; - esac -} - -_zoneadm "$@" diff --git a/result/sw/share/zsh/5.9/functions/_zones b/result/sw/share/zsh/5.9/functions/_zones deleted file mode 100644 index 92064d2b..00000000 --- a/result/sw/share/zsh/5.9/functions/_zones +++ /dev/null @@ -1,11 +0,0 @@ -#autoload - -local -a type typearg expl - -zparseopts -D -E -a type t+: - -[[ -n $type[(r)c] ]] && typearg=-c -[[ -n $type[(r)i] ]] && typearg=-i - -_description zones expl zone -compadd "$@" "$expl[@]" - ${="$(_call_program zones /usr/sbin/zoneadm list $typearg)"} diff --git a/result/sw/share/zsh/5.9/functions/_zparseopts b/result/sw/share/zsh/5.9/functions/_zparseopts deleted file mode 100644 index e13a9108..00000000 --- a/result/sw/share/zsh/5.9/functions/_zparseopts +++ /dev/null @@ -1,37 +0,0 @@ -#compdef zparseopts - -local ret=1 -local -a context line state state_descr alts opts -local -A opt_args - -_arguments -A '-*' : \ - '-a+[specify array in which to store parsed options]:array:_parameters -g "*array*~*readonly*"' \ - '-A+[specify association in which to store parsed options]:association:_parameters -g "*association*~*readonly*"' \ - '-D[remove parsed options from positional parameters]' \ - "-E[don't stop parsing at first parameter not described by specs]" \ - '-F[abort parsing and print error at first option-like parameter not described by specs]' \ - '-K[preserve contents of arrays/associations when specs are not matched]' \ - '-M[enable mapping among equivalent options with opt1=opt2 spec form]' \ - '(-)-[end zparseopts options; specs follow]' \ - '*: :->spec' \ -&& ret=0 - -[[ $state == spec ]] && -if compset -P '*='; then - alts=() - (( $+opt_args[-M] )) && { - opts=( $line ) - [[ $opts[1] == (-|--) ]] && shift opts - opts=( ${(@)opts%%(+|)(:|:-|::|)(=*|)} ) - opts=( ${(@)opts:#${words[CURRENT]%%=*}} ) - alts+=( "spec-opt-names:spec option name:(${(j< >)${(@q+)opts}})" ) - } - alts+=( 'parameters:array:_parameters -g "*array*~*readonly*"' ) - _alternative $alts && ret=0 -else - # Not great, but close enough for now - compset -S '=*' - _message -e spec-opts 'spec option (name[+][:|:-|::])' && ret=0 -fi - -return ret diff --git a/result/sw/share/zsh/5.9/functions/_zpty b/result/sw/share/zsh/5.9/functions/_zpty deleted file mode 100644 index 99251aa0..00000000 --- a/result/sw/share/zsh/5.9/functions/_zpty +++ /dev/null @@ -1,62 +0,0 @@ -#compdef zpty - -local state line list names expl sep curcontext="$curcontext" -typeset -A opt_args - -_arguments -C -s -S \ - '(-r -w -t -n -L -d)-e[echo input characters]' \ - '(-r -w -t -n -L -d)-b[io to pseudo-terminal blocking]' \ - '(-r -w -t -n -L -e -b)-d[delete command]:*:name:->name' \ - '(-r -L -t -e -b -d)-w[send string to command]:name:->name:*:strings to write' \ - '(-r -L -t -e -b -d)-n[do not add a newline to the result]' \ - '(: -r -w -t -n -e -b -d)-L[list defined commands as calls]' \ - '(: -w -n -L -e -b -d)-r[read string from command]:name:->name:param: _vars:pattern:' \ - '(: -w -n -L -e -b -d)-t[test if output is available before reading]' \ - '(-r -w -t -n -L -d):zpty command name:' \ - '(-r -w -t -n -L -d):cmd: _command_names -e' \ - '(-r -w -t -n -L -d)*::args:_precommand' && return 0 - -# One could use sets, but that's more expensive and zpty is simple enough. -# -# _arguments -C -s -S \ -# - read \ -# '-r[read string from command]' \ -# '-t[test if output is available first]' \ -# ':name:->name' \ -# ':param: _vars' \ -# ':pattern:' \ -# - write \ -# '-w[send string to command]' \ -# '-n[do not add a newline to the result]' \ -# ':name:->name' \ -# '*:strings to write' \ -# - list \ -# '-L[list defined commands as calls]' \ -# - delete \ -# '-d[delete command]' \ -# '*:name:->name' \ -# - start \ -# '-e[echo input characters]' \ -# '-b[io to pseudo-terminal blocking]' \ -# ':zpty command name:' \ -# ':cmd: _command_names -e' \ -# '*::args:_precommand' && return 0 - - -if [[ $state = name ]]; then - if ! zmodload -e zsh/zpty; then - _message "zpty module not loaded" - return 1 - fi - list=( ${${(f)"$(zpty)"}#*\) } ) - names=( ${list%%:*} ) - if zstyle -T ":completion:${curcontext}:" verbose; then - zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- - zformat -a list " $sep" ${${(f)"$(zpty)"}#*\) } - _wanted names expl 'zpty command name' compadd -d list -a names - else - _wanted names expl 'zpty command name' compadd -a names - fi -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/_zsh b/result/sw/share/zsh/5.9/functions/_zsh deleted file mode 100644 index e6292a63..00000000 --- a/result/sw/share/zsh/5.9/functions/_zsh +++ /dev/null @@ -1,26 +0,0 @@ -#compdef zsh - -local curcontext=$curcontext state state_descr line expl not='!' -typeset -A opt_args - -[[ $CURRENT = 2 ]] && not='' - -_arguments -S -s : \ - ${not}'--emulate[specify emulation mode]:mode:(zsh sh ksh csh)' \ - '*-o+[set named option]:option:_options' \ - '*+o+[unset named option]:option:_options' \ - '(1 -s --shinstdin)'{-s,--shinstdin}'[read commands from standard input]' \ - '(-)-b[end of option processing, like --]' \ - '(1 -)-c[run a command]:command:_cmdstring' \ - '(-)1:script file:_files' \ - '*::script arguments:->args' -- && return 0 - -case $state in - (args) - if [[ -n ${opt_args[(I)-c|-s|--shinstdin]} ]]; then - _files - else - _normal - fi - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/_zsh-mime-handler b/result/sw/share/zsh/5.9/functions/_zsh-mime-handler deleted file mode 100644 index 000be2b5..00000000 --- a/result/sw/share/zsh/5.9/functions/_zsh-mime-handler +++ /dev/null @@ -1,19 +0,0 @@ -#compdef zsh-mime-handler - -# Given that the handler is likely to change the start of the command -# line, we'll try to maintain the position from the end of the words -# array. Hence for example CURRENT gets decremented by one if the -# handler drops off the start. -integer end_offset=$(( ${#words} - CURRENT )) - -# zsh-mime-handler -l is supposed to print out the command line -# with quoting to turn it into a full executable line. So -# we need to use shell splitting to turn it into words and -# then unquoting on those words. -words=(${(z)"$(zsh-mime-handler -l "${(@)words[2,-1]}")"}) -# Careful unquoting: we need to keep a '' as a separate word. -words=("${(@Q)words}") - -(( CURRENT = ${#words} - end_offset )) - -_normal diff --git a/result/sw/share/zsh/5.9/functions/_zsocket b/result/sw/share/zsh/5.9/functions/_zsocket deleted file mode 100644 index eeed9f1d..00000000 --- a/result/sw/share/zsh/5.9/functions/_zsocket +++ /dev/null @@ -1,14 +0,0 @@ -#compdef zsocket - -_arguments -s -w -A "-*" \ - '-v[verbose output]' \ - '-d[target file descriptor]:fd:_file_descriptors' \ - - outbound \ - '1: :_files' \ - - listen \ - '-l[open a socket listening]' \ - '1: :_files' \ - - accept \ - '-a[accept an incoming connection]' \ - '-t[return if no incoming connections are pending]' \ - '1:fd:{ (( words[(I)-*a*] )) && _file_descriptors }' diff --git a/result/sw/share/zsh/5.9/functions/_zstyle b/result/sw/share/zsh/5.9/functions/_zstyle deleted file mode 100644 index 0c81c2f2..00000000 --- a/result/sw/share/zsh/5.9/functions/_zstyle +++ /dev/null @@ -1,688 +0,0 @@ -#compdef zstyle - -local state context ostate line expl ctop suf -local nm=$compstate[nmatches] taglist patterns contexts MATCH -integer MBEGIN MEND -typeset -A opt_args styles - -# Assoc array of styles; the values give the possible top-level -# contexts: -# c completion -# d chpwd -# e line editor -# v vcs_info -# z zftp -# or any combination of the above, -# followed by a colon, followed by a state to enter, empty if none. -styles=( - accept-exact c:bool - accept-exact-dirs c:bool - add-space c:bool - ambiguous c:bool - assign-list c:_parameters - auto-description c: - avoid-completer c:completer - break-keys c: - cache-path c:_directories - cache-policy c:_functions - call-command c:bool - command c:command - command-path c:_dir_list - commands c: - complete c:bool - complete-options c:bool - completer c:completer - condition c:bool - cursor c:cursor - delimiters c: - disabled c:bool - domains c: - environ c:environ - expand c: - extra-verbose c:bool - fake c: - fake-always c: - fake-files c:fake-files - fake-parameters c:fake-params - file-list c:bool - file-patterns c:filepat - file-sort c:fsort - filter c: - force-list c: - format c: - glob c:bool - global c:bool - group-name c: - group-order c:tag - groups c:_groups - hidden c:bool - hosts c:_hosts - hosts-ports c:host-port - ignore-line c:ignline - ignore-parents c:ignorepar - ignored-patterns c: - insert-ids c:insert-ids - insert-sections c:insert-sections - insert-tab c:bool - insert-unambiguous c:insunambig - keep-prefix c:keep-prefix - last-prompt c:bool - list ce:listwhen - list-colors c: - list-dirs-first c:bool - list-grouped c:bool - list-packed c:bool - list-prompt c: - list-rows-first c:bool - list-separator c:separator - list-suffixes c:bool - local c: - mail-directory c:_directories - match-original c:match-orig - matcher c: - matcher-list c: - max-errors c: - max-matches-width c:max-matches-width - menu c:boolauto - muttrc c:_files - numbers c:bool - old-list c:bool - old-matches c:oldmatches - old-menu c:bool - original c:bool - packageset c:packageset - path c:_directories - pager c:_command_names - path-completion c:bool - pine-directory c:_directories - ports c:_ports - prefix-hidden c:bool - prefix-needed c:bool - preserve-prefix c:preserve-prefix - range c: - recent-dirs-insert c:recent-dirs-insert - recursive-files c: - regular c:bool - rehash c:bool - remote-access c:bool - remove-all-dups c:bool - select-prompt c: - select-scroll c: - separate-sections c:bool - show-ambiguity c: - show-completer c:bool - single-ignored c:single-ignored - sort c:sort-order - special-dirs c:sdirs - squeeze-slashes c:bool - stop c:stop - strip-comments c:bool - subst-globs-only c:bool - substitute c:bool - suffix c:bool - tag-order c:tag-order - try-to-use-pminst c:bool - urls c:_urls - use-cache c:bool - use-compctl c:urgh - use-ip c:bool - use-perl c:bool - users c:_users - users-hosts c:user-host - users-hosts-ports c:user-host-port - verbose ce:bool - word c:bool - - recent-dirs-default d:bool - recent-dirs-file d:_files - recent-dirs-max d: - recent-dirs-prune d: - recent-dirs-pushd d:bool - - auto-previous e:bool - break-keys e: - cursor e: - edit-buffer e:bool - edit-previous e:bool - editor e: - insert-kept e: - leave-cursor e:bool - match e: - prompt e: - stop-keys e: - toggle e:bool - url-globbers e: - url-local-schema e: - url-metas e: - url-other-schema e: - url-seps e: - whence e: - word-chars e: - word-class e: - word-style e:word-style - word-context e: - - formats v:vcs-format - actionformats v:vcs-format - branchformat v:branch-format - nvcsformats v: - hgrevformat v:hgrev-format - stgitformat v:stg-format - patch-format v:patch-format - nopatch-format v:patch-format - max-exports v: - enable v:vcs - disable v:vcs - disable-patterns v: - check-for-changes v:bool - check-for-staged-changes - v:bool - stagedstr v: - unstagedstr v: - command v:_command_names - use-server v:bool - use-simple v:bool - get-revision v:bool - get-mq v:bool - get-bookmarks v:bool - get-unapplied v:bool - debug v:bool - hooks v:_vcs_info_hooks - use-prompt-escapes v:bool - use-quilt v:bool - quilt-standalone v:bool - quilt-patch-dir v:_directories - quiltcommand v:_command_names - - chpwd z:bool - progress z:progress - remote-glob z:bool - titlebar z:bool - update z: -) - -taglist=( - accounts all-expansions all-files arguments arrays association-keys - bookmarks builtins characters colormapids colors commands contexts - corrections cursors default descriptions devices directories - directory-stack displays expansions extensions files flags fstypes - fonts functions globbed-files groups history-words hosts indexes - interfaces jobs keymaps keysyms libraries limits local-directories - mailboxes manuals maps messages modifiers modules my-accounts - named-directories names newsgroups nicknames options original - other-accounts packages parameters path-directories paths pods ports - prefixes printers processes processes-names ps regex sequences - sessions signals strings styles tags targets timezones types urls - users values variant visuals warnings widgets windows zsh-options - email-address ${(k)functions[(I)_email-*]#_} -) - -# Be careful with the context arguments here. They like to masquerade. -_arguments -C -A '-*' \ - '(: -)-L[output in form of zstyle commands]:pattern for context patterns:->metapatterns:style:->metastyles' \ - '(: -)-d[delete style definitions]:verbatim context pattern:->patterns:*:styles:->pstyles' \ - '(: -)-e[value is evaluated when style is looked up]:context pattern:->contexts:style:->styles:*:command:_cmdstring' \ - '(: -)-g[retrieve style definition]:array parameter:_parameters -g "*array*":verbatim context pattern:->patterns:styles:->pstyles' \ - '(: -)-s[retrieve style value as string]:context name:->contexts:style:->styles:scalar parameter:_parameters -g "*scalar*":separator: ' \ - '(: -)-b[retrieve style value as boolean]:context name:->contexts:style:->styles:scalar parameter:_parameters -g "*scalar*"' \ - '(: -)-a[retrieve style value as array]:context name:->contexts:style:->styles:array parameter:_parameters -g "*array*"' \ - '(: -)-t[test a style, returning false if it'\''s undefined]:context name:->contexts:style:->styles:*:strings to test presence of: ' \ - '(: -)-T[test a style, returning true if it'\''s undefined]:context name:->contexts:style:->styles:*:strings to test presence of: ' \ - '(: -)-m[pattern-match values of a style]:context name:->contexts:style:->styles:pattern: ' \ - ':context pattern:->contexts' ':style:->styles' '*:argument:->style-arg' - -while (( $#state )); do - case "$state[1]" in - # 'contexts' completes either full context names (for -t/-s/-a), or context - # patterns (for 'zstyle :foo bar' and -e). - (contexts) - if [[ ! -prefix :*: ]]; then - _wanted contexts expl "$state_descr" compadd -P : -qS : chpwd completion vcs_info zftp zle - elif compset -P :completion:; then - contexts=( functions _completers cmdorcont argument tag ) - elif compset -P :vcs_info:; then - contexts=( vcs-string user-context repo-root-name ) - elif compset -P :zle:; then - _wanted widgets expl widget _widgets -qS : - fi - if (( $#contexts )); then - for ostate in $contexts; do - compset -P '[^:]#:' || break - done - suf=() - compset -S ':*' || suf=( -qS: ) - [[ $ostate = $contexts[-1] ]] && suf=() - if compset -P '(|\\)\((*\||)'; then # handle (x|y) patterns - suf=() - compset -S '(|\\)[)|]*' || - suf=( -S "${${QIPREFIX:+|}:-\|}" -r "${${QIPREFIX:+|}:-\\\\} \t)" ) - fi - state+=( "$ostate" ) - fi - ;; - - # 'patterns' completes context patterns that are set, for -d/-g. - (patterns) - zstyle -g patterns - _wanted contexts expl "$state_descr" compadd -a patterns - ;; - - # 'metapatterns': patterns that are matched not against contexts, but - # against patterns. - (metapatterns) - zstyle -g patterns - patterns=( "${(@b)patterns}" ) - _wanted contexts expl "$state_descr" compadd -a patterns - ;; - - # 'metastyles': styles that are set on context patterns matching the given - # metapattern. - (metastyles) - # Anonymous function to shadow the global $styles assoc - () { - local metapattern=${(Q)${${opt_args[-L]%:*}//(#m)\\([\\:])/${MATCH[2]}}} - local -a metastyles styles - local pattern - zstyle -g patterns - for pattern in "${(@M)patterns:#${~metapattern}}"; do - zstyle -g styles $pattern - metastyles+=( "${styles[@]}" ) - done - _wanted styles expl "$state_descr" compadd -a metastyles - unset pattern - unset metastyles - } - ;; - - # 'pstyles': complete styles that are set for the verbatim context pattern - # specified on the command line. (If the user has set no zstyles, this - # will complete nothing.) - (pstyles) - local -a pstyles - local pattern - if (( $+opt_args[-d] )); then - pattern=${opt_args[-d]} - pattern=${pattern%":${(b)PREFIX}"} # remove style - pattern=${pattern//(#m)\\([\\:])/${MATCH[2]}} # undo _arguments escaping - pattern=${(Q)pattern} # undo command-line escaping (assumes no noglob) - zstyle -g pstyles $pattern - elif (( $+opt_args[-g] )); then - pattern=${opt_args[-g]} - pattern=${pattern%":${(b)PREFIX}"} # remove style - pattern=${pattern#*:} # remove array name - pattern=${pattern//(#m)\\([\\:])/${MATCH[2]}} # undo _arguments escaping - pattern=${(Q)pattern} # undo command-line escaping (assumes no noglob) - zstyle -g pstyles $pattern - fi - _wanted styles expl style compadd -a pstyles - unset pattern - unset pstyles - ;; - - # 'styles': complete all styles that may be set in the context given on the - # command line. This is independent of what styles are set. - (styles) - # Get the top-level context we're completing for, if any. - if [[ -n $line[1] ]]; then - # zstyle :something <TAB> - local the_context=$line[1] - else - # zstyle -x :something <TAB> - local joined_value=${(v)opt_args[(i)(-e|-s|-b|-a|-t|-T|-m)]} - local the_context=${(Q)joined_value[0, ${joined_value[(i)[^\\]:]}-2 ]} - fi - # Note: for 'zstyle :something <TAB>' and for 'zstyle -e :something <TAB>', - # $the_context is a context pattern; for -s,-b,-a,-t,-T,-m, it is a context - # name. We currently draw no distinction between these two cases. - case $the_context in - (:completion:*) - ctop=c - ;; - - (:chwpd:*) - ctop=d - ;; - - (:zftp:*) - ctop=z - ;; - - (:vcs_info:*) - ctop=v - ;; - - (:zle:*) - ctop=e - ;; - - (*) - ctop=a-z - ;; - esac - _wanted styles expl style \ - compadd -M 'r:|-=* r:|=*' -k "styles[(R)[^:]#[$ctop][^:]#:*]" - ;; - - (style-arg) - state+=( "${styles[${(Q)line[2]}]#*:}" ) - ;; - - (argument) - _message -e arguments argument - ;; - - (bool) - _wanted values expl boolean compadd true false - ;; - - (boolauto) - _wanted values expl boolean \ - compadd true false auto select search search-backward interactive - ;; - - (cmdorcont) - _alternative -O suf \ - 'commands:command:_path_commands' \ - 'contexts:context:(-array-value- -brace-parameter- -command- -condition- -math- -parameter- -redirect- -subscript- -value-)' - ;; - - (cursor) - _wanted values expl 'cursor positioning' compadd complete key default - ;; - - (completer) - _wanted values expl completer _completers -p - ;; - - (environ) - if [[ "$PREFIX" = *\=* ]]; then - compstate[parameter]="${PREFIX%%\=*}" - compset -P 1 '*=' - _value - else - suf=() - compset -S '=*' || suf=(-S '=') - _parameters -q $suf - fi - ;; - - (fsort) - _wanted values expl 'how to sort files' \ - compadd name size links time date modification access inode change reverse - ;; - - (function) - _wanted control-functions expl 'control function' \ - compadd predict-on all-matches - ;; - - (functions) - _wanted comp-widgets expl 'completion widget' \ - compadd $suf -M 'r:|-=* r:|=*' - all-matches complete-debug complete-tag \ - correct-word expand-word expand-alias-word history-words \ - ${${${(M)${(f)"$(_call_program comp-widgets zle -l)"}:#*-C*}:#_*}/ -C*} - ;; - - (user-host-port) - if [[ $PREFIX != *[@:]* ]]; then - _users -S @ - elif [[ $PREFIX = *[@:]*[[@:]* ]]; then - compset -P 2 '*[:@]' - _ports - else - compset -P 1 '*[:@]' - _hosts -S : - fi - ;; - - (host-port) - if [[ $PREFIX != *:* ]]; then - _hosts -S : - else - compset -P 1 '*:' - _ports - fi - ;; - - (listwhen) - _wanted values expl 'when to list completions' \ - compadd always never sometimes - ;; - - (packageset) - _wanted values expl 'default package set' \ - compadd available installed uninstalled - ;; - - (progress) - _wanted values expl 'progress meter style' \ - compadd none bar percent - ;; - - (sdirs) - _wanted values expl 'whether to complete . or ..' \ - compadd true false .. - ;; - - (stop) - _wanted values expl 'when to insert matches' \ - compadd true false verbose - ;; - - (tag) - _wanted tags expl tag compadd $suf -a taglist - ;; - - (tag-order) - if compset -P '*:*:'; then - _message -e descriptions description - elif compset -P '*:'; then - _message -e labels 'tag label' - else - suf=() - compset -S ':*' || suf=( -qS: ) - _wanted values expl tag compadd $suf -a taglist - fi - ;; - - (filepat) - if compset -P '*:*:'; then - _message -e descriptions description - elif compset -P '*:'; then - _message -e tags tag - else - _message -e patterns 'glob pattern' - fi - ;; - - (user-host) - if [[ $PREFIX = *[@:]* ]]; then - compset -P '*[@:]' - _hosts - else - _users -S @ - fi - ;; - - (ignorepar) - _wanted values expl 'which parents to ignore' \ - compadd parent pwd .. directory - ;; - - (single-ignored) - _wanted values expl 'how to handle a single ignored match' \ - compadd - show menu - ;; - - (command) - shift 3 words - (( CURRENT -= 3 )) - _normal - ;; - - (insert-ids) - _wanted values expl 'when to insert process IDs' \ - compadd - menu single longer - ;; - - (insert-sections) - _wanted values expl 'where to insert man page section' \ - compadd - true false prepend suffix - ;; - - (fake-files) - _message -e fakes 'prefix and names' - ;; - - (fake-params) - if compset -P '*:'; then - _wanted values expl 'parameter type' compadd scalar array integer - else - suf='' - compset -S ':*' || suf='-qS:' - _wanted values expl 'fake parameter' _parameters $suf - fi - ;; - - (ignline) - _wanted values expl 'ignore strings on the line' compadd true false current current-shown other - ;; - - (keep-prefix) - _wanted values expl 'keep prefix' compadd true false changed - ;; - - (match-orig) - _wanted values expl "match without inserting \`*'" compadd only both - ;; - - (oldmatches) - _wanted values expl 'use list of old matches' compadd true false only - ;; - - (insunambig) - _wanted values expl 'insert unambiguous string' compadd true false pattern - ;; - - (preserve-prefix) - _message -e prefixes 'pattern matching prefix to keep' - ;; - - (recent-dirs-insert) - _wanted values expl 'inserting recent directories' \ - compadd true false always fallback both - ;; - - (separator) - _message -e separators 'separator string' - ;; - - (sort-order) - _wanted sort-orders expl 'sort order' compadd -F line - true false match nosort numeric reverse - ;; - - (max-matches-width) - _message -e numbers 'maximum display width for matches' - ;; - - (urgh) - _wanted values expl no compadd no false off 0 - ;; - - (word-style) - _wanted word-styles expl 'word style' compadd {normal,specified,unspecified,shell,whitespace}-subword - ;; - - (vcs-string) - _wanted vcs expl vcs compadd $suf - \ - ${${(f)"$(_call_program vcs vcs_info_printsys 2>/dev/null)"}:#\#*} - ;; - - (vcs) - _wanted vcs expl vcs compadd \ - ${${(f)"$(_call_program vcs vcs_info_printsys 2>/dev/null)"}:#(\#|*-)*} - ;; - - (user-context) - _wanted user-contexts expl 'user context' compadd $suf default command - ;; - - (repo-root-name) - _message -e names 'repository root name' - ;; - - (vcs-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 's[the vcs in use]' \ - 'b[the current branch]' \ - 'a[an identifier describing the action]' \ - 'i[current revision no/id]' \ - 'c[details of staged changes]' \ - 'u[details of unstaged changes]' \ - 'r[repository name]' \ - 'S[subdirectory within repository]' \ - 'm[misc replacement - backend specific]' - else - _message -e formats 'vcs format' - fi - ;; - - (branch-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'b[the current branch]' \ - 'r[current revision number]' - else - _message -e formats 'vcs format' - fi - ;; - - (hgrev-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'h[current revision hash (global)]' \ - 'r[current revision number (local)]' - else - _message -e formats 'vcs format' - fi - ;; - - (stg-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'p[patch currently on top of the stack]' \ - 'c[the number of unapplied patches]' - else - _message -e formats 'vcs format' - fi - ;; - - (patch-format) - if [[ $PREFIX = *% ]]; then - compset -P '*%' - _values -s '' 'format replacement' \ - 'p[name of top-most patch (applied-string)]' \ - 'u[number of unapplied patches (unapplied-string)]' \ - 'n[number of applied patches]' \ - 'c[number of unapplied patches]' \ - 'a[number of all patches]' \ - 'g[names of active mq guards (hg backend)]' \ - 'G[number of active mq guards (hg backend)]' - else - _message -e formats 'vcs format' - fi - ;; - - (_*) - ${=state[1]} $suf - ;; - esac - shift state -done - -[[ $compstate[nmatches] != $nm ]] diff --git a/result/sw/share/zsh/5.9/functions/_ztodo b/result/sw/share/zsh/5.9/functions/_ztodo deleted file mode 100644 index 73be91e0..00000000 --- a/result/sw/share/zsh/5.9/functions/_ztodo +++ /dev/null @@ -1,30 +0,0 @@ -#compdef ztodo - -_ztodo_entries() { - local -a entries - - entries=(${${${${(f)"$(_call_program ztodo-entry ztodo list)"}#[[:space:]]##}/:[[:space:]]##/:}%:[[:space:]]#}) - _describe -t ztodo-entry 'todo entry' entries "$@" -} - -local -a args reply -args=( - /$'[^\0]#\0'/ -) - -local -a todo_entry -todo_entry=( - /$'[^\0]#\0'/ ':ztodo-entry:todo entry:_ztodo_entries' -) - -_regex_words \ - commands "ztodo command" \ - 'add:add entry' \ - 'del:delete entry:$todo_entry' \ - 'clear:clear todo list' \ - 'list:show todo list' -args+=("$reply[@]") - -_regex_arguments _ztodo "${args[@]}" - -_ztodo "$@" diff --git a/result/sw/share/zsh/5.9/functions/_zypper b/result/sw/share/zsh/5.9/functions/_zypper deleted file mode 100644 index 3f3402bd..00000000 --- a/result/sw/share/zsh/5.9/functions/_zypper +++ /dev/null @@ -1,185 +0,0 @@ -#compdef zypper -# -# Copyright (C) 2009 Holger Macht <holger@homac.de> -# Copyright (C) 2014 Thomas Mitterfellner <thomas.mitterfellner@gmail.com> -# Copyright (C) 2014 Mariusz Fik <fisiu@opensuse.org> -# -# This file is released under the GPLv2. -# -# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html -# -# Toggle verbose completions: zstyle ':completion:*:zypper:*' verbose no -# zstyle ':completion:*:zypper-subcommand:*' verbose no -# -# version 0.3 -# -# Main dispatcher - -function _zypper_caching_policy () { - # rebuild if zsh's cache is older than zypper's - if test /var/cache/zypp/raw -nt "$1"; then - return 0 - else - return 1 - fi -} - -_zypper() { - typeset -A opt_args - local context curcontext="$curcontext" state line - - if (( CURRENT > 2 )) && [[ ${words[2]} != "help" ]]; then - # Remember the subcommand name - local cmd=${words[2]} - # Set the context for the subcommand. - curcontext="${curcontext%:*:*}:zypper-subcommand" - # Narrow the range of words we are looking at to exclude `zypper' - (( CURRENT-- )) - shift words - - _zypper_cmd_do $cmd - else - local hline - local -a cmdlist - local tag=0 - _call_program help-commands LANG=C zypper help | sed -e ':a;N;$!ba;s/\n\t\t\t\t/ /g' | while read -A hline; do - # start parsing with "Global Options:" - [[ $hline =~ "^Global Options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # skip empty lines - [[ $hline =~ ^\s*$ ]] && continue - # all commands have to start with lower case letters - [[ $hline == [[:upper:]]* ]] && continue - (( ${#hline} < 2 )) && continue - - # cut comma at end of command - hline[1]=`echo $hline[1] | sed -e 's/\(^.*\),/\1/'` - - # ${hline[1]%,} truncates the last ',' - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - _describe -t zypper-commands 'zypper command' cmdlist - fi -} - -_all_repos() { - local -a repos - repos=( $(zypper -q lr | tail -n +3 | cut -d'|' -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_enabled_repos() { - repos=( $(zypper -x lr | grep 'enabled="1"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_disabled_repos() { - repos=( $(zypper -x lr | grep 'enabled="0"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return -} - -_zypper_cmd_do() { - typeset -A opt_args - local context state line - local hline - local -a cmdlist - local tag=0 - local curcontext="$curcontext" - - zstyle ":completion:${curcontext}:" use-cache on - zstyle ":completion:${curcontext}:" cache-policy _zypper_caching_policy - - _call_program help-commands LANG=C zypper help $cmd | while read -A hline; do - # start parsing from "Options:" - [[ $hline =~ "^Command options:" ]] && tag=1 - [[ $tag = 0 ]] && continue - # Option has to start with a '-' - [[ $hline[1] =~ ^- ]] || continue - (( ${#hline} < 2 )) && continue - - cmdlist=($cmdlist "${hline[1]%,}:${hline[2,-1]}") - done - - if [ -n "$cmdlist" ]; then - local -a repos - - # special completion lists for certain options (mainly repos) - case ${words[CURRENT - 1]} in - --from) - repos=( $(zypper -x lr | grep 'enabled="1"' | cut -d\" -f 2) ) - _describe -t repos 'available repository' repos && return - ;; - (--enable|-e) - case $cmd in - (mr|modifyrepo) - _disabled_repos && return - ;; - esac - ;; - (--disable|-d) - case $cmd in - (mr|modifyrepo) - _enabled_repos && return - ;; - esac - ;; - (--type|-t) - local -a types - case $cmd in - (if|info|se|search|in|install) - types=( pattern srcpackage package patch ) - _describe -t types 'package type' types && return - ;; - esac - ;; - esac - - # all options available for the active main command - _describe -t zypper-commands 'zypper command' cmdlist - - case $cmd in - (lr|repos) - _all_repos - ;; - (in|install) - local expl - _description files expl 'RPM file' - _files "$expl[@]" -g '*.(#i)rpm(.)' - ;; - esac - - # only suggest packages if at least one character is given - if [[ ${words[CURRENT]} =~ "^[0-9a-zA-Z]" ]] ; then - local -a pkglist - - if ( [[ ${+_zypp_all_raw} -eq 0 ]] || _cache_invalid ZYPPER_ALL_RAW ) && ! _retrieve_cache ZYPPER_ALL_RAW; - then - _zypp_all_raw=$(zypper -x -q se | grep '<solvable' | cut -d \" -f 2,4) - _zypp_all=( $(echo $_zypp_all_raw | grep 'installed' | cut -d\" -f 2) ) - _zypp_not_installed=( $(echo $_zypp_all_raw | grep 'not-installed' | cut -d\" -f 2 ) ) - _zypp_installed=( $(echo $_zypp_all_raw | grep '^installed' | cut -d\" -f 2 ) ) - _store_cache ZYPPER_ALL_RAW _zypp_all_raw _zypp_all _zypp_not_installed _zypp_installed - fi - - case $cmd in - (in|install) - pkglist=( $_zypp_not_installed ) - compadd $pkglist && return - ;; - (rm|remove|up|update) - pkglist=( $_zypp_installed ) - compadd $pkglist && return - ;; - (if|info|se|search) - pkglist=( $_zypp_all ) - compadd $pkglist && return - ;; - esac - fi - else - _complete - fi -} - -# Code to make sure _zypper is run when we load it -_zypper "$@" diff --git a/result/sw/share/zsh/5.9/functions/add-zle-hook-widget b/result/sw/share/zsh/5.9/functions/add-zle-hook-widget deleted file mode 100644 index 4d804908..00000000 --- a/result/sw/share/zsh/5.9/functions/add-zle-hook-widget +++ /dev/null @@ -1,186 +0,0 @@ -# Add to HOOK the given WIDGET -# -# HOOK is one of isearch-exit, isearch-update, line-pre-redraw, line-init, -# line-finish, history-line-set, keymap-select (the zle- prefix is allowed -# but not required). If a widget corresponding to HOOK already exists, it -# is preserved and called first in the new set of HOOK widgets. -# -# With -d, remove the WIDGET from the hook instead; deletes the hook -# linkage if it is empty. -# -# -D behaves like -d, but pattern characters are active in WIDGET, so -# any matching widget will be deleted from the hook. -# -# Without -d, if the WIDGET is not already defined, a function having the -# same name is marked for autoload; -U is passed down to autoload if that -# is given, as are -z and -k. (This is harmless if the function is -# already defined.) The WIDGET is then created with zle -N. -# -# The -L option lists the hooks and their associated widgets. - -# This is probably more safeguarding than necessary -zmodload -e zsh/zle || return 1 -{ zmodload zsh/parameter && zmodload zsh/zleparameter } || { - print -u2 "add-zle-hook-widget: Need parameter modules for zle hooks" - return 1 -} - -() { # Preserve caller global option settings - -emulate -L zsh - -# Setup - create the base functions for hook widgets that call the others - -local -a hooktypes=( zle-isearch-exit zle-isearch-update - zle-line-pre-redraw zle-line-init zle-line-finish - zle-history-line-set zle-keymap-select ) -# Stash in zstyle to make it global -zstyle zle-hook types ${hooktypes#zle-} - -# Relying on multifuncdef option here -function azhw:${^hooktypes} { - local -a hook_widgets - local hook - # Values of these styles look like number:name - # and we run them in number order - zstyle -a $WIDGET widgets hook_widgets - for hook in "${(@)${(@on)hook_widgets[@]}#<->:}"; do - if [[ "$hook" = user:* ]]; then - # Preserve $WIDGET within the renamed widget - zle "$hook" -f "nolast" -N -- "$@" - else - zle "$hook" -f "nolast" -Nw -- "$@" - fi || return - done - return 0 -} - -# Redefine ourself with the setup left out - -function add-zle-hook-widget { - local -a hooktypes - zstyle -a zle-hook types hooktypes - - # This part copied from add-zsh-hook - local usage="Usage: $funcstack[1] hook widgetname\nValid hooks are:\n $hooktypes" - - local opt - local -a autoopts - integer del list help - - while getopts "dDhLUzk" opt; do - case $opt in - (d) - del=1 - ;; - - (D) - del=2 - ;; - - (h) - help=1 - ;; - - (L) - list=1 - ;; - - ([Uzk]) - autoopts+=(-$opt) - ;; - - (*) - return 1 - ;; - esac - done - shift $(( OPTIND - 1 )) - - 1=${1#zle-} # Strip prefix not stored in zle-hook types style - - if (( list )); then - zstyle -L "zle-(${1:-${(@j:|:)hooktypes[@]}})" widgets - return $? - elif (( help || $# != 2 || ${hooktypes[(I)$1]} == 0 )); then - print -u$(( 2 - help )) $usage - return $(( 1 - help )) - fi - - local -aU extant_hooks - local hook="zle-$1" - local fn="$2" - - if (( del )); then - # delete, if hook is set - if zstyle -g extant_hooks "$hook" widgets; then - if (( del == 2 )); then - set -A extant_hooks ${extant_hooks[@]:#(<->:|)${~fn}} - else - set -A extant_hooks ${extant_hooks[@]:#(<->:|)$fn} - fi - # unset if no remaining entries - if (( ${#extant_hooks} )); then - zstyle "$hook" widgets "${extant_hooks[@]}" - else - zstyle -d "$hook" widgets - fi - fi - else - # Check whether attempting to add a widget named for the hook - if [[ "$fn" = "$hook" ]]; then - if (( ${+widgets[$fn]} )); then - print -u2 "$funcstack[1]: Cannot hook $fn to itself" - return 1 - fi - # No point in building the array until another is added - autoload "${autoopts[@]}" -- "$fn" - zle -N "$fn" - return 0 - fi - integer i=${#options[ksharrays]}-2 - zstyle -g extant_hooks "$hook" widgets - # Check for an existing widget, add it as the first hook - if [[ ${widgets[$hook]:-} != "user:azhw:$hook" ]]; then - if [[ -n ${widgets[$hook]:-} ]]; then - zle -A "$hook" "${widgets[$hook]}" - extant_hooks=(0:"${widgets[$hook]}" "${extant_hooks[@]}") - fi - zle -N "$hook" azhw:"$hook" - fi - # Add new widget only if not already in the hook list - if [[ -z ${(M)extant_hooks[@]:#(<->:|)$fn} ]]; then - # no index and not already hooked - # assign largest existing index plus 1 - i=${${(On@)${(@M)extant_hooks[@]#<->:}%:}[i]:-0}+1 - else - return 0 - fi - extant_hooks+=("${i}:${fn}") - zstyle -- "$hook" widgets "${extant_hooks[@]}" - if (( ! ${+widgets[$fn]} )); then - autoload "${autoopts[@]}" -- "$fn" - zle -N -- "$fn" - fi - if (( ! ${+widgets[$hook]} )); then - zle -N "$hook" azhw:"$hook" - fi - fi -} - -} "$@" # Resume caller global options - -# Handle zsh autoloading conventions: -# - "file" appears last in zsh_eval_context when "source"-ing -# - "evalautofunc" appears with kshautoload set or autoload -k -# - "loadautofunc" appears with kshautoload unset or autoload -z -# - use of autoload +X cannot reliably be detected, use best guess -case "$zsh_eval_context" in -*file) ;; -*evalautofunc) ;; -*loadautofunc) add-zle-hook-widget "$@";; -*) [[ -o kshautoload ]] || add-zle-hook-widget "$@";; -esac -# Note fallback here is equivalent to the usual best-guess used by -# functions written for zsh before $zsh_eval_context was available -# so this case-statement is backward-compatible. diff --git a/result/sw/share/zsh/5.9/functions/add-zsh-hook b/result/sw/share/zsh/5.9/functions/add-zsh-hook deleted file mode 100644 index 3bc952e2..00000000 --- a/result/sw/share/zsh/5.9/functions/add-zsh-hook +++ /dev/null @@ -1,93 +0,0 @@ -# Add to HOOK the given FUNCTION. -# HOOK is one of chpwd, precmd, preexec, periodic, zshaddhistory, -# zshexit, zsh_directory_name (the _functions subscript is not required). -# -# With -d, remove the function from the hook instead; delete the hook -# variable if it is empty. -# -# -D behaves like -d, but pattern characters are active in the -# function name, so any matching function will be deleted from the hook. -# -# Without -d, the FUNCTION is marked for autoload; -U is passed down to -# autoload if that is given, as are -z and -k. (This is harmless if the -# function is actually defined inline.) - -emulate -L zsh - -local -a hooktypes -hooktypes=( - chpwd precmd preexec periodic zshaddhistory zshexit - zsh_directory_name -) -local usage="Usage: add-zsh-hook hook function\nValid hooks are:\n $hooktypes" - -local opt -local -a autoopts -integer del list help - -while getopts "dDhLUzk" opt; do - case $opt in - (d) - del=1 - ;; - - (D) - del=2 - ;; - - (h) - help=1 - ;; - - (L) - list=1 - ;; - - ([Uzk]) - autoopts+=(-$opt) - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -if (( list )); then - typeset -mp "(${1:-${(@j:|:)hooktypes}})_functions" - return $? -elif (( help || $# != 2 || ${hooktypes[(I)$1]} == 0 )); then - print -u$(( 2 - help )) $usage - return $(( 1 - help )) -fi - -local hook="${1}_functions" -local fn="$2" - -if (( del )); then - # delete, if hook is set - if (( ${(P)+hook} )); then - if (( del == 2 )); then - set -A $hook ${(P)hook:#${~fn}} - else - set -A $hook ${(P)hook:#$fn} - fi - # unset if no remaining entries --- this can give better - # performance in some cases - if (( ! ${(P)#hook} )); then - unset $hook - fi - fi -else - if (( ${(P)+hook} )); then - if (( ${${(P)hook}[(I)$fn]} == 0 )); then - typeset -ga $hook - set -A $hook ${(P)hook} $fn - fi - else - typeset -ga $hook - set -A $hook $fn - fi - autoload $autoopts -- $fn -fi diff --git a/result/sw/share/zsh/5.9/functions/after b/result/sw/share/zsh/5.9/functions/after deleted file mode 100644 index 7fb0166f..00000000 --- a/result/sw/share/zsh/5.9/functions/after +++ /dev/null @@ -1,67 +0,0 @@ -# Glob qualifier function, e.g -# -# print *(e:after 2014/08/01:) -# print *(e-after today:12:00-) -# -# If named before: -# Match files modified before a given time. -# -# If named after: -# Match files modified after a given time. Use as glob qualifier. -# N.B.: "after" actually includes the given time as it is to second -# precision (it would be inconvenient to exclude the first second of a date). -# It should therefore more logically be called "from", but that's a less -# obvious name. -# -# File to test is in $REPLY. -# -# Similar to age, but only takes at most one data, which is -# compared directly with the current time. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# == 1 )); then - if [[ $1 = :* ]]; then - timefmt="%Y/%m/%d:%H:%M:%S" - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - case $0 in - (after) - (( mtime >= date1 )) - ;; - - (before) - (( mtime < date1 )) - ;; - - (*) - print "$0: must be named 'after' or 'before'" >&2 - return 1 - ;; - esac -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/age b/result/sw/share/zsh/5.9/functions/age deleted file mode 100644 index 50755d61..00000000 --- a/result/sw/share/zsh/5.9/functions/age +++ /dev/null @@ -1,85 +0,0 @@ -# Match the age of a file, for use as a glob qualifier. Can -# take one or two arguments, which can be supplied by one of two -# ways (always the same for both arguments): -# -# print *(e:age 2006/10/04 2006/10/09:) -# -# Match all files modified between the start of those dates. -# -# print *(e:age 2006/10/04:) -# -# Match all files modified on that date. If the second argument is -# omitted it is taken to be exactly 24 hours after the first argument -# (even if the first argument contains a time). -# -# print *(e-age 2006/10/04:10:15 2006/10/04:10:45-) -# -# Supply times. All the time and formats handled by calendar_scandate -# are allowed, but whitespace must be quoted to ensure age receives -# the correct arguments. -# -# AGEREF=2006/10/04:10:15 -# AGEREF2=2006/10/04:10:45 -# print *(+age) -# -# The same example using the other form of argument passing. The -# dates stay in effect until unset, but will be overridden if -# any argument is passed in the first format. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# >= 1 )); then - if [[ $1 = :* ]]; then - if (( $# > 1 )); then - timefmt="%Y/%m/%d:%H:%M:%S" - else - timefmt="%Y/%m/%d" - fi - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi - # if 1 argument given, never use globally defined AGEREF2 - if [[ $2 = :* ]]; then - zstat -A tmp -F "%Y/%m/%d:%H:%M:%S" +mtime -- ${2#:} || return 1 - local AGEREF2=$tmp[1] - else - local AGEREF2=$2 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - if [[ -n $AGEREF2 ]]; then - if [[ $AGEREF2 = +* ]]; then - calendar_scandate -rt $AGEREF2[2,-1] || return 1 - (( date2 = date1 + REPLY )) - else - calendar_scandate -t $AGEREF2 || return 1 - date2=$REPLY - fi - else - (( date2 = date1 + 24 * 60 * 60 )) - fi - - (( date1 <= mtime && mtime <= date2 )) -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/allopt b/result/sw/share/zsh/5.9/functions/allopt deleted file mode 100644 index 5d5d2885..00000000 --- a/result/sw/share/zsh/5.9/functions/allopt +++ /dev/null @@ -1,25 +0,0 @@ -# This function lists options with the no's in front removed for -# improved comprehension, i.e. `norcs off' becomes `rcs on'. -# The format is otherwise like that with `kshoptionprint' set, -# i.e. you can see all options whether on or off. -# It can take a list of option names or parts thereof to search for -# via egrep. -# -# Written by Sweth Chandramouli with hacks by Bart Schaefer. - -listalloptions () { - local OPT_NAME OPT_VALUE IFS=$' \t\n' - builtin set -o | while read OPT_NAME OPT_VALUE ; do - if [[ ${OPT_NAME#no} != ${OPT_NAME} ]] ; then - OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}} - OPT_NAME=${OPT_NAME#no} - fi - echo "${(r:21:)OPT_NAME} ${OPT_VALUE}" - done -} - -if [[ -n $@ ]]; then - listalloptions | egrep "${(j.|.)@}" -else - listalloptions -fi diff --git a/result/sw/share/zsh/5.9/functions/backward-kill-word-match b/result/sw/share/zsh/5.9/functions/backward-kill-word-match deleted file mode 100644 index f04614c8..00000000 --- a/result/sw/share/zsh/5.9/functions/backward-kill-word-match +++ /dev/null @@ -1,37 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word done -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle ${WIDGET##backward-} - return -fi - -while (( count-- )); do - - match-words-by-style - - word="$matched_words[2]$matched_words[3]" - - if [[ -n $word ]]; then - if [[ -n $done || $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$word$CUTBUFFER" - else - zle copy-region-as-kill -- "$word" - fi - LBUFFER=$matched_words[1] - else - return 1 - fi - done=1 -done - -zle -f 'kill' - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/backward-word-match b/result/sw/share/zsh/5.9/functions/backward-word-match deleted file mode 100644 index bda10d1c..00000000 --- a/result/sw/share/zsh/5.9/functions/backward-word-match +++ /dev/null @@ -1,29 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = - count )) - zle ${WIDGET/backward/forward} - return -fi - -while (( count-- )); do - - match-words-by-style - - word=$matched_words[2]$matched_words[3] - - if [[ -n $word ]]; then - (( CURSOR -= ${#word} )) - else - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/bashcompinit b/result/sw/share/zsh/5.9/functions/bashcompinit deleted file mode 100644 index adb659ca..00000000 --- a/result/sw/share/zsh/5.9/functions/bashcompinit +++ /dev/null @@ -1,180 +0,0 @@ -#autoload - -_bash_complete() { - local ret=1 - local -a suf matches - local -x COMP_POINT COMP_CWORD - local -a COMP_WORDS COMPREPLY BASH_VERSINFO - local -x COMP_LINE="$words" - local -A savejobstates savejobtexts - - (( COMP_POINT = 1 + ${#${(j. .)words[1,CURRENT-1]}} + $#QIPREFIX + $#IPREFIX + $#PREFIX )) - (( COMP_CWORD = CURRENT - 1)) - COMP_WORDS=( "${words[@]}" ) - BASH_VERSINFO=( 2 05b 0 1 release ) - - savejobstates=( ${(kv)jobstates} ) - savejobtexts=( ${(kv)jobtexts} ) - - [[ ${argv[${argv[(I)nospace]:-0}-1]} = -o ]] && suf=( -S '' ) - - matches=( ${(f)"$(compgen $@ -- ${words[CURRENT]})"} ) - - if [[ -n $matches ]]; then - if [[ ${argv[${argv[(I)filenames]:-0}-1]} = -o ]]; then - compset -P '*/' && matches=( ${matches##*/} ) - compset -S '/*' && matches=( ${matches%%/*} ) - compadd -f "${suf[@]}" -a matches && ret=0 - else - compadd "${suf[@]}" - "${(@)${(Q@)matches}:#*\ }" && ret=0 - compadd -S ' ' - ${${(M)${(Q)matches}:#*\ }% } && ret=0 - fi - fi - - if (( ret )); then - if [[ ${argv[${argv[(I)default]:-0}-1]} = -o ]]; then - _default "${suf[@]}" && ret=0 - elif [[ ${argv[${argv[(I)dirnames]:-0}-1]} = -o ]]; then - _directories "${suf[@]}" && ret=0 - fi - fi - - return ret -} - -compgen() { - local opts prefix suffix job OPTARG OPTIND ret=1 - local -a name res results jids - local -A shortopts - - # words changes behavior: words[1] -> words[0] - emulate -L sh - setopt kshglob noshglob braceexpand nokshautoload - - shortopts=( - a alias b builtin c command d directory e export f file - g group j job k keyword u user v variable - ) - - while getopts "o:A:G:C:F:P:S:W:X:abcdefgjkuv" name; do - case $name in - [abcdefgjkuv]) OPTARG="${shortopts[$name]}" ;& - A) - case $OPTARG in - alias) results+=( "${(k)aliases[@]}" ) ;; - arrayvar) results+=( "${(k@)parameters[(R)array*]}" ) ;; - binding) results+=( "${(k)widgets[@]}" ) ;; - builtin) results+=( "${(k)builtins[@]}" "${(k)dis_builtins[@]}" ) ;; - command) - results+=( - "${(k)commands[@]}" "${(k)aliases[@]}" "${(k)builtins[@]}" - "${(k)functions[@]}" "${(k)reswords[@]}" - ) - ;; - directory) - setopt bareglobqual - results+=( ${IPREFIX}${PREFIX}*${SUFFIX}${ISUFFIX}(N-/) ) - setopt nobareglobqual - ;; - disabled) results+=( "${(k)dis_builtins[@]}" ) ;; - enabled) results+=( "${(k)builtins[@]}" ) ;; - export) results+=( "${(k)parameters[(R)*export*]}" ) ;; - file) - setopt bareglobqual - results+=( ${IPREFIX}${PREFIX}*${SUFFIX}${ISUFFIX}(N) ) - setopt nobareglobqual - ;; - function) results+=( "${(k)functions[@]}" ) ;; - group) - emulate zsh - _groups -U -O res - emulate sh - setopt kshglob noshglob braceexpand - results+=( "${res[@]}" ) - ;; - hostname) - emulate zsh - _hosts -U -O res - emulate sh - setopt kshglob noshglob braceexpand - results+=( "${res[@]}" ) - ;; - job) results+=( "${savejobtexts[@]%% *}" );; - keyword) results+=( "${(k)reswords[@]}" ) ;; - running) - jids=( "${(@k)savejobstates[(R)running*]}" ) - for job in "${jids[@]}"; do - results+=( ${savejobtexts[$job]%% *} ) - done - ;; - stopped) - jids=( "${(@k)savejobstates[(R)suspended*]}" ) - for job in "${jids[@]}"; do - results+=( ${savejobtexts[$job]%% *} ) - done - ;; - setopt|shopt) results+=( "${(k)options[@]}" ) ;; - signal) results+=( "SIG${^signals[@]}" ) ;; - user) results+=( "${(k)userdirs[@]}" ) ;; - variable) results+=( "${(k)parameters[@]}" ) ;; - helptopic) ;; - esac - ;; - F) - COMPREPLY=() - local -a args - args=( "${words[0]}" "${@[-1]}" "${words[CURRENT-2]}" ) - (){ - # There may be more things we need to add to this typeset to - # protect bash functions from compsys special variable names - typeset -h words - $OPTARG "${args[@]}" - } - results+=( "${COMPREPLY[@]}" ) - ;; - G) - setopt nullglob - results+=( ${~OPTARG} ) - unsetopt nullglob - ;; - W) results+=( ${(Q)~=OPTARG} ) ;; - C) results+=( $(eval $OPTARG) ) ;; - P) prefix="$OPTARG" ;; - S) suffix="$OPTARG" ;; - X) - if [[ ${OPTARG[0]} = '!' ]]; then - results=( "${(M)results[@]:#${OPTARG#?}}" ) - else - results=( "${results[@]:#$OPTARG}" ) - fi - ;; - esac - done - - # support for the last, `word' option to compgen. Zsh's matching does a - # better job but if you need to, comment this in and use compadd -U - # (( $# >= OPTIND)) && results=( "${(M)results[@]:#${@[-1]}*}" ) - - print -l -r -- "$prefix${^results[@]}$suffix" -} - -complete() { - emulate -L zsh - local args void cmd print remove - args=( "$@" ) - zparseopts -D -a void o: A: G: W: C: F: P: S: X: a b c d e f g j k u v \ - p=print r=remove - if [[ -n $print ]]; then - printf 'complete %2$s %1$s\n' "${(@kv)_comps[(R)_bash*]#* }" - elif [[ -n $remove ]]; then - for cmd; do - unset "_comps[$cmd]" - done - else - compdef _bash_complete\ ${(j. .)${(q)args[1,-1-$#]}} "$@" - fi -} - -unfunction bashcompinit -autoload -Uz bashcompinit -return 0 diff --git a/result/sw/share/zsh/5.9/functions/before b/result/sw/share/zsh/5.9/functions/before deleted file mode 100644 index 7fb0166f..00000000 --- a/result/sw/share/zsh/5.9/functions/before +++ /dev/null @@ -1,67 +0,0 @@ -# Glob qualifier function, e.g -# -# print *(e:after 2014/08/01:) -# print *(e-after today:12:00-) -# -# If named before: -# Match files modified before a given time. -# -# If named after: -# Match files modified after a given time. Use as glob qualifier. -# N.B.: "after" actually includes the given time as it is to second -# precision (it would be inconvenient to exclude the first second of a date). -# It should therefore more logically be called "from", but that's a less -# obvious name. -# -# File to test is in $REPLY. -# -# Similar to age, but only takes at most one data, which is -# compared directly with the current time. - -emulate -L zsh - -zmodload -F zsh/stat b:zstat -zmodload -i zsh/parameter - -autoload -Uz calendar_scandate - -local timefmt -local -a vals tmp - -[[ -e $REPLY ]] || return 1 -zstat -A vals +mtime -- $REPLY || return 1 - -if (( $# == 1 )); then - if [[ $1 = :* ]]; then - timefmt="%Y/%m/%d:%H:%M:%S" - zstat -A tmp -F $timefmt +mtime -- ${1#:} || return 1 - local AGEREF=$tmp[1] - else - local AGEREF=$1 - fi -fi - -integer mtime=$vals[1] date1 date2 -local REPLY REPLY2 - -# allow a time only (meaning today) -if calendar_scandate -t $AGEREF; then - date1=$REPLY - - case $0 in - (after) - (( mtime >= date1 )) - ;; - - (before) - (( mtime < date1 )) - ;; - - (*) - print "$0: must be named 'after' or 'before'" >&2 - return 1 - ;; - esac -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/bracketed-paste-magic b/result/sw/share/zsh/5.9/functions/bracketed-paste-magic deleted file mode 100644 index 840091b4..00000000 --- a/result/sw/share/zsh/5.9/functions/bracketed-paste-magic +++ /dev/null @@ -1,222 +0,0 @@ -# Starting with zsh-5.1, ZLE began to recognize the "bracketed paste" -# capability of terminal emulators, that is, the sequences $'\e[200~' to -# start a paste and $'\e[201~' to indicate the end of the pasted text. -# Pastes are handled by the bracketed-paste widget and insert literally -# into the editor buffer rather than being interpreted as keystrokes. -# -# This disables some common usages where the self-insert widget has been -# replaced in order to accomplish some extra processing. An example is -# the contributed url-quote-magic widget. The bracketed-paste-magic -# widget replaces bracketed-paste with a wrapper that re-enables these -# self-insert actions, and other actions as selected by the zstyles -# described below. -# -# Setup: -# autoload -Uz bracketed-paste-magic -# zle -N bracketed-paste bracketed-paste-magic - -# The following zstyles may be set to control processing of pasted text. -# -# active-widgets -# Looked up in the context :bracketed-paste-magic to obtain a list of -# patterns that match widget names that should be activated during the -# paste. All other key sequences are processed as "zle .self-insert". -# The default is 'self-*' so any user-defined widgets named with that -# prefix are active along with the builtin self-insert. If this style is -# not set (note: it must be explicitly deleted after loading this -# function, otherwise it becomes set by default) or has no value, no -# widgets are active and the pasted text is inserted literally. If the -# value includes undefined-key, any unknown sequences are discarded from -# the pasted text. -# -# inactive-keys -# This is the inverse of active-widgets, it lists key sequences that -# always use "zle .self-insert" even when bound to an active-widget. -# Note that this is a list of literal key sequences, not patterns. -# This style is in context :bracketed-paste-magic and has no default. -# -# paste-init -# paste-finish -# Also looked up in the context :bracketed-paste-magic, these styles -# each are a list of function names. They are executed in widget -# context but are called as functions (NOT as widgets with "zle name"). -# As with hooks, the functions are called in order until one of them -# returns a nonzero exit status. The parameter PASTED contains the -# current state of the pasted text, other ZLE parameters are as usual. -# Although a nonzero status stops each list of functions, it does NOT -# abort the entire paste operation; use "zle send-break" for that. - -# IMPORTANT: During processing of the paste (after paste-init and -# before paste-finish), BUFFER starts empty and history is restricted, -# so cursor motions etc. may not pass outside of the pasted content. -# However, the paste-init functions have access to the full history and -# the original BUFFER, so they may for example move words from BUFFER -# into PASTED to make those words visible to the active-widgets. - -# Establish default values for styles, but only if not already set -zstyle -m :bracketed-paste-magic active-widgets '*' || - zstyle ':bracketed-paste-magic' active-widgets 'self-*' - -# Helper/example paste-init for exposing a word prefix inside PASTED. -# Useful with url-quote-magic if you have http://... on the line and -# are pasting additional text on the end of the URL. -# -# Usage: -# zstyle :bracketed-paste-magic paste-init backward-extend-paste -# -# TODO: rewrite this using match-words-by-style -# -backward-extend-paste() { - emulate -L zsh - integer bep_mark=$MARK bep_region=$REGION_ACTIVE - if (( REGION_ACTIVE && MARK < CURSOR )); then - zle .exchange-point-and-mark - fi - if (( CURSOR )); then - local -a bep_words=( ${(z)LBUFFER} ) - if [[ -n $bep_words[-1] && $LBUFFER = *$bep_words[-1] ]]; then - PASTED=$bep_words[-1]$PASTED - LBUFFER=${LBUFFER%${bep_words[-1]}} - fi - fi - if (( MARK > bep_mark )); then - zle .exchange-point-and-mark - fi - REGION_ACTIVE=$bep_region -} - -# Example paste-finish for quoting the pasted text. -# -# Usage e.g.: -# zstyle :bracketed-paste-magic paste-finish quote-paste -# zstyle :bracketed-paste-magic:finish quote-style qqq -# -# Using "zstyle -e" to examine $PASTED lets you choose different quotes -# depending on context. -# -# To forcibly turn off numeric prefix quoting, use e.g.: -# zstyle :bracketed-paste-magic:finish quote-style none -# -quote-paste() { - emulate -L zsh - local qstyle - # If there's a quoting style, be sure .bracketed-paste leaves it alone - zstyle -s :bracketed-paste-magic:finish quote-style qstyle && NUMERIC=1 - case $qstyle in - (b) PASTED=${(b)PASTED};; - (q-) PASTED=${(q-)PASTED};; - (\\|q) PASTED=${(q)PASTED};; - (\'|qq) PASTED=${(qq)PASTED};; - (\"|qqq) PASTED=${(qqq)PASTED};; - (\$|qqqq) PASTED=${(qqqq)PASTED};; - (Q) PASTED=${(Q)PASTED};; - esac -} - -# Now the actual function - -bracketed-paste-magic() { - if [[ "$LASTWIDGET" = *vi-set-buffer ]]; then - # Fast exit in the vi-mode cut-buffer context - zle .bracketed-paste - return - else - # Capture the pasted text in $PASTED - local PASTED REPLY - zle .bracketed-paste PASTED - fi - - # Really necessary to go to this much effort? - local bpm_emulate="$(emulate)" bpm_opts="$-" - - emulate -L zsh - local -a bpm_hooks bpm_inactive - local bpm_func bpm_active bpm_keymap=$KEYMAP - - # Run the paste-init functions - if zstyle -a :bracketed-paste-magic paste-init bpm_hooks; then - for bpm_func in $bpm_hooks; do - if (( $+functions[$bpm_func] )); then - function () { - emulate -L $bpm_emulate; set -$bpm_opts - $bpm_func || break - } - fi - done - fi - - zstyle -a :bracketed-paste-magic inactive-keys bpm_inactive - if zstyle -s :bracketed-paste-magic active-widgets bpm_active '|'; then - # Save context, create a clean slate for the paste - integer bpm_mark=$MARK bpm_region=$REGION_ACTIVE - integer bpm_numeric=${NUMERIC:-1} - integer bpm_limit=$UNDO_LIMIT_NO bpm_undo=$UNDO_CHANGE_NO - zle .split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - BUFFER= - CURSOR=1 - fc -p -a /dev/null 0 0 - if [[ $bmp_keymap = vicmd ]]; then - zle -K viins - fi - - # There are active widgets. Reprocess $PASTED as keystrokes. - NUMERIC=1 - zle -U - "$PASTED" - - # Just in case there are active undo widgets - - while [[ -n $PASTED ]] && zle .read-command; do - PASTED=${PASTED#$KEYS} - if [[ $KEYS = ${(~j:|:)${(b)bpm_inactive}} ]]; then - zle .self-insert - else - case $REPLY in - (${~bpm_active}) function () { - emulate -L $bpm_emulate; set -$bpm_opts - zle $REPLY -w - };; - (*) zle .self-insert;; - esac - fi - done - PASTED=$BUFFER - - # Restore state - zle -K $bpm_keymap - fc -P - MARK=$bpm_mark - REGION_ACTIVE=$bpm_region - NUMERIC=$bpm_numeric - zle .undo $bpm_undo - UNDO_LIMIT_NO=$bpm_limit - fi - - # PASTED has been updated, run the paste-finish functions - if zstyle -a :bracketed-paste-magic paste-finish bpm_hooks; then - for bpm_func in $bpm_hooks; do - if (( $+functions[$bpm_func] )); then - function () { - emulate -L $bpm_emulate; set -$bpm_opts - $bpm_func || break - } - fi - done - fi - - # Reprocess $PASTED as an actual paste this time - zle -U - $PASTED$'\e[201~' # append paste-end marker - zle .bracketed-paste -- "$@" - zle .split-undo - - # Arrange to display highlighting if necessary - if [[ -z $zle_highlight || -n ${(M)zle_highlight:#paste:*} ]]; then - zle -R - zle .read-command && zle -U - "$KEYS" - fi -} - -# Handle zsh autoloading conventions -if [[ "$zsh_eval_context" = *loadautofunc && ! -o kshautoload ]]; then - bracketed-paste-magic "$@" -fi diff --git a/result/sw/share/zsh/5.9/functions/bracketed-paste-url-magic b/result/sw/share/zsh/5.9/functions/bracketed-paste-url-magic deleted file mode 100644 index b894696b..00000000 --- a/result/sw/share/zsh/5.9/functions/bracketed-paste-url-magic +++ /dev/null @@ -1,44 +0,0 @@ -# bracketed-paste-url-magic quotes pasted urls automatically, if the -# paste exactly starts with a url, eg no spaces or other characters precede it -# -# If the numeric argument is provided (eg, pressing alt-0 or alt-1 in emacs mode, -# or just the number by itself in vi command mode), then -# 0 is the default and means auto detect urls -# 1 means always quote -# any other value means never quote -# -# To use this widget, put this in your startup files (eg, .zshrc) -# -# autoload -Uz bracketed-paste-url-magic -# zle -N bracketed-paste bracketed-paste-url-magic -# -# You can customize which schemas are to be quoted by using -# -# zstyle :bracketed-paste-url-magic schema http https ftp -# -# The default can be seen just below. - -local -a schema -zstyle -a :bracketed-paste-url-magic schema schema || schema=(http:// https:// ftp:// ftps:// file:// ssh:// sftp:// magnet:) - -local wantquote=${NUMERIC:-0} -local content -local start=$#LBUFFER - -zle .$WIDGET -N content - -if (( $wantquote == 0 )); then - if [[ $content = (${(~j:|:)schema})* ]]; then - wantquote=1 - fi -fi - -if (( $wantquote == 1 )); then - content=${(q-)content} -fi - -LBUFFER+=$content - -YANK_START=$start -YANK_END=$#LBUFFER -zle -f yank diff --git a/result/sw/share/zsh/5.9/functions/calendar b/result/sw/share/zsh/5.9/functions/calendar deleted file mode 100644 index aff39b36..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar +++ /dev/null @@ -1,445 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local line showline restline REPLY REPLY2 userange nobackup datefmt -local calendar donefile sched newfile warnstr mywarnstr newdate -integer time start stop today ndays y m d next=-1 shown done nodone -integer verbose warntime mywarntime t tcalc tsched i rstat remaining -integer showcount icount repeating repeattime resched showall brief -local -a calendar_entries calendar_addlines -local -a times calopts showprog lockfiles match mbegin mend tmplines -local -A reply - -zmodload -i zsh/datetime || return 1 -zmodload -i zsh/zutil || return 1 -zmodload -F zsh/files b:zf_ln || return 1 - -autoload -Uz calendar_{add,parse,read,scandate,show,lockfiles} - -# Read the calendar file from the calendar-file style -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar -newfile=$calendar.new.$HOST.$$ -zstyle -s ':datetime:calendar:' done-file donefile || donefile="$calendar.done" -# Read the programme to show the message from the show-prog style. -zstyle -a ':datetime:calendar:' show-prog showprog || - showprog=(calendar_show) -# Amount of time before an event when it should be flagged. -# May be overridden in individual entries -zstyle -s ':datetime:calendar:' warn-time warnstr || warnstr="0:05" -# default to standard ctime date/time format -zstyle -s ':datetime:calendar:' date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - -if [[ -n $warnstr ]]; then - if [[ $warnstr = <-> ]]; then - (( warntime = warnstr )) - elif ! calendar_scandate -ar $warnstr; then - print >&2 \ - "warn-time value '$warnstr' not understood; using default 5 minutes" - warnstr="5 mins" - (( warntime = 5 * 60 )) - else - (( warntime = REPLY )) - fi -fi - -[[ -f $calendar ]] || return 1 - -# We're not using getopts because we want +... to refer to a -# relative time, not an option, and allow some other additions -# like handling -<->. -integer opti=0 -local opt optrest optarg - -while [[ ${argv[opti+1]} = -* ]]; do - (( opti++ )) - opt=${argv[opti][2]} - optrest=${argv[opti][3,-1]} - [[ -z $opt || $opt = - ]] && break - while [[ -n $opt ]]; do - case $opt in - ######################## - # Options with arguments - ######################## - ([BCnS]) - if [[ -n $optrest ]]; then - optarg=$optrest - optrest= - elif (( opti < $# )); then - optarg=$argv[++opti] - optrest= - else - print -r "$0: option -$opt requires an argument." >&2 - return 1 - fi - case $opt in - (B) - # Brief, with number of lines to show. - brief=$optarg - if (( brief <= 0 )); then - print -r "$0: option -$opt requires a positive integer." >&2 - return 1 - fi - ;; - - (C) - # Pick the calendar file, overriding style and default. - calendar=$optarg - ;; - - (n) - # Show this many remaining events regardless of date. - showcount=$optarg - if (( showcount <= 0 )); then - print -r "$0: option -$opt requires a positive integer." >&2 - return 1 - fi - ;; - - (S) - # Explicitly specify a show programme, overriding style and default. - # Colons in the argument are turned into space. - showprog=(${(s.:.)optarg}) - ;; - esac - ;; - - ########################### - # Options without arguments - ########################### - (a) - # Show all entries - (( showall = 1 )) - ;; - - (b) - # Brief: don't show continuation lines - (( brief = 1 )) - ;; - - (d) - # Move out of date items to the done file. - (( done = 1 )) - ;; - - (D) - # Don't use done; needed with sched - (( nodone = 1 )) - ;; - - (r) - # Show all remaining options in the calendar, i.e. - # respect start time but ignore end time. - # Any argument is treated as a start time. - (( remaining = 1 )) - ;; - - (s) - # Use the "sched" builtin to scan at the appropriate time. - sched=sched - (( done = 1 )) - ;; - - (v) - # Verbose - verbose=1 - ;; - - (<->) - # Shorthand for -n <-> - showcount=$opt - ;; - - (*) - print "$0: unrecognised option: -$opt" >&2 - return 1 - ;; - esac - opt=$optrest[1] - optrest=$optrest[2,-1] - done -done -calopts=($argv[1,opti]) -shift $(( opti )) - -# Use of donefile requires explicit or implicit option request, plus -# no explicit -D. It may already be empty because of the style. -(( done && !nodone )) || donefile= - -if (( $# > 1 || ($# == 1 && remaining) )); then - if [[ $1 = now ]]; then - start=$EPOCHSECONDS - elif [[ $1 = <-> ]]; then - start=$1 - else - if ! calendar_scandate -a $1; then - print "$0: failed to parse date/time: $1" >&2 - return 1 - fi - start=$REPLY - fi - shift -else - # Get the time at which today started. - y=${(%):-"%D{%Y}"} m=${(%):-"%D{%m}"} d=${(%):-"%D{%d}"} - strftime -s today -r "%Y/%m/%d" "$y/$m/$d" - start=$today -fi -# day of week of start time -strftime -s wd "%u" $start - -if (( $# && !remaining )); then - if [[ $1 = +* ]]; then - if ! calendar_scandate -a -R $start ${1[2,-1]}; then - print "$0: failed to parse relative time: $1" >&2 - return 1 - fi - (( stop = REPLY )) - elif [[ $1 = <-> ]]; then - stop=$1 - else - if ! calendar_scandate -a $1; then - print "$0: failed to parse date/time: $1" >&2 - return 1 - fi - stop=$REPLY - fi - if (( stop < start )); then - strftime -s REPLY $datefmt $start - strftime -s REPLY2 $datefmt $stop - print "$0: requested end time is before start time: - start: $REPLY - end: $REPLY2" >&2 - return 1 - fi - shift -else - # By default, show 2 days. If it's Friday (5) show up to end - # of Monday (4) days; likewise on Saturday show 3 days. - # If -r, this is calculated but not used. This is paranoia, - # to avoid an unusable value of stop; but it shouldn't get used. - case $wd in - (5) - ndays=4 - ;; - - (6) - ndays=3 - ;; - - (*) - ndays=2 - ;; - esac - stop=$(( start + ndays * 24 * 60 * 60 )) -fi - -if (( $# )); then - print "Usage: $0 [ start-date-time stop-date-time ]" >&2 - return 1 -fi - -autoload -Uz matchdate - -[[ -n $donefile ]] && rm -f $newfile - -if (( verbose )); then - print -n "start: " - strftime $datefmt $start - print -n "stop: " - if (( remaining )); then - print "none" - else - strftime $datefmt $stop - fi -fi - -local mycmds="${TMPPREFIX:-/tmp/zsh}.calendar_cmds.$$" -zf_ln -fn =(<<<'') $mycmds || return 1 - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if [[ -n $donefile ]]; then - # Attempt to lock both $donefile and $calendar. - # Don't lock $newfile; we've tried our best to make - # the name unique. - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null && - zsystem flock $donefile 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar $donefile || exit 1 - fi - fi - - calendar_read $calendar - for line in $calendar_entries; do - calendar_parse $line || continue - - # Extract returned parameters from $reply - # Time of event - (( t = ${reply[time]} )) - # Remainder of line including RPT and WARN stuff: we need - # to keep these for rescheduling. - restline=$reply[text1] - # Look for specific warn time. - if [[ -n ${reply[warntime]} ]]; then - (( mywarntime = t - ${reply[warntime]} )) - mywarnstr=${reply[warnstr]} - else - (( mywarntime = warntime )) - mywarnstr=$warnstr - fi - # Look for a repeat time. - if [[ -n ${reply[rpttime]} ]]; then - # The actual time of the next event, which appears as text - (( repeattime = ${reply[rpttime]} )) - (( repeating = 1 )) - else - (( repeating = 0 )) - fi - # Finished extracting parameters from $reply - - if (( verbose )); then - print "Examining: $line" - print -n " Date/time: " - strftime $datefmt $t - if [[ -n $sched ]]; then - print " Warning $mywarntime seconds ($mywarnstr) before" - fi - fi - (( shown = 0 )) - if (( brief )); then - tmplines=("${(f)line}") - showline=${(F)${${tmplines[1,brief]}}} - else - showline=$line - fi - match=() - # Strip continuation lines starting " #". - while [[ $showline = (#b)(*$'\n')[[:space:]]##\#[^$'\n']##(|$'\n'(*)) ]]; do - showline="$match[1]$match[3]" - done - # Strip trailing empty lines - showline=${showline%%[[:space:]]#} - if (( showall || (t >= start && (remaining || t <= stop || icount < showcount)) )) - then - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - (( icount++ )) - # Doesn't count as "shown" unless the event has now passed. - (( t <= EPOCHSECONDS )) && (( shown = 1 )) - elif [[ -n $sched ]]; then - (( tsched = t - mywarntime )) - if (( tsched >= start && tsched <= stop)); then - showline="due in ${mywarnstr}: $showline" - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - elif (( tsched < start )); then - # We haven't actually shown it, but it's in the past, - # so treat it the same. Should probably rename this variable. - (( shown = 1 )) - fi - fi - if [[ -n $sched ]]; then - if (( shown && repeating )); then - # Done and dusted, but a repeated event is due. - strftime -s newdate $datefmt $repeattime - if [[ $newdate != *[[:space:]] && $restline != [[:space:]]* ]]; then - newdate+=" " - fi - calendar_addlines+=("$newdate$restline") - - # We'll add this back in below, but we check in case the - # repeated event is the next one due. It's not - # actually a disaster if there's an error and we fail - # to add the time. Always try to reschedule this event. - (( tcalc = repeattime, resched = 1 )) - else - (( tcalc = t )) - fi - - if (( tcalc - mywarntime > EPOCHSECONDS )); then - # schedule for a warning - (( tsched = tcalc - mywarntime, resched = 1 )) - else - # schedule for event itself - (( tsched = tcalc )) - # but don't schedule unless the event has not yet been shown. - (( !shown )) && (( resched = 1 )) - fi - if (( resched && (next < 0 || tsched < next) )); then - (( next = tsched )) - fi - fi - if [[ -n $donefile ]]; then - if (( shown )); then - # Done and dusted. - if ! print -r $line >>$donefile; then - if (( done != 3 )); then - (( done = 3 )) - print "Failed to append to $donefile" >&2 - fi - elif (( done != 3 )); then - (( done = 2 )) - fi - else - # Still not over. - if ! print -r $line >>$newfile; then - if (( done != 3 )); then - (( done = 3 )) - print "Failed to append to $newfile" >&2 - fi - elif (( done != 3 )); then - (( done = 2 )) - fi - fi - fi - done - - if [[ -n $sched ]]; then - if [[ $next -ge 0 ]]; then - # Remove any existing calendar scheduling. - i=${"${(@)zsh_scheduled_events#*:*:}"[(I)calendar -s*]} - { - (( i )) && print sched -$i - print -r -- ${(qq)sched} $next calendar "${calopts[@]}" $next $next - } >>$mycmds - else - showline="No more calendar events: calendar not rescheduled. -Run \"calendar -s\" again if you add to it." - print -r -- ${(qq)showprog} $start $stop ${(qq)showline} >>$mycmds - fi - fi - - if (( done == 2 )); then - if ! mv $calendar $calendar.old; then - print "Couldn't back up $calendar to $calendar.old. -New calendar left in $newfile." >&2 - (( rstat = 1 )) - elif ! mv $newfile $calendar; then - print "Failed to rename $newfile to $calendar. -Old calendar left in $calendar.old." >&2 - (( rstat = 1 )) - fi - nobackup=-B - elif [[ -n $donefile ]]; then - rm -f $newfile - fi - - # Reschedule repeating events. - for line in $calendar_addlines; do - calendar_add -L $nobackup $line - done -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} - -exit $rstat -) && { - # Tasks that need to be in the current shell - [[ -s $mycmds ]] && . $mycmds - rm -f $mycmds -} diff --git a/result/sw/share/zsh/5.9/functions/calendar_add b/result/sw/share/zsh/5.9/functions/calendar_add deleted file mode 100755 index 0b76b8cf..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_add +++ /dev/null @@ -1,259 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# All arguments are joined with spaces and inserted into the calendar -# file at the appropriate point. -# -# While the function compares the date of the new entry with dates in the -# existing calendar file, it does not do any sorting; it inserts the new -# entry before the first existing entry with a later date and time. - -emulate -L zsh -setopt extendedglob # xtrace - -local context=":datetime:calendar_add:" -local vdatefmt="%Y%m%dT%H%M%S" -local d='[[:digit:]]' - -local calendar newfile REPLY lastline opt text occur -local -a calendar_entries lockfiles reply occurrences -integer my_date done rstat nolock nobackup new_recurring -integer keep_my_uid -local -A reply parse_new parse_old -local -a match mbegin mend -local my_uid their_uid - -autoload -Uz calendar_{parse,read,lockfiles} - -while getopts "BL" opt; do - case $opt in - (B) - nobackup=1 - ;; - - (L) - nolock=1 - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -# Read the calendar file from the calendar-file style -zstyle -s $context calendar-file calendar || - calendar=~/calendar -newfile=$calendar.new.$HOST.$$ - -local addline="$*" -if ! calendar_parse $addline; then - print "$0: failed to parse date/time" >&2 - return 1 -fi -parse_new=("${(@kv)reply}") -(( my_date = $parse_new[time] )) -if zstyle -t $context reformat-date; then - local datefmt - zstyle -s $context date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - strftime -s REPLY $datefmt $parse_new[time] - addline="$REPLY $parse_new[text1]" -fi -if [[ -n $parse_new[rptstr] ]]; then - (( new_recurring = 1 )) - if [[ $parse_new[rptstr] = CANCELLED ]]; then - (( done = 1 )) - elif [[ $addline = (#b)(*[[:space:]\#]RECURRENCE[[:space:]]##)([^[:space:]]##)([[:space:]]*|) ]]; then - # Use the updated recurrence time - strftime -s REPLY $vdatefmt ${parse_new[schedrpttime]} - addline="${match[1]}$REPLY${match[3]}" - else - # Add a recurrence time - [[ $addline = *$'\n' ]] || addline+=$'\n' - strftime -s REPLY $vdatefmt ${parse_new[schedrpttime]} - addline+=" # RECURRENCE $REPLY" - fi -fi - -# $calendar doesn't necessarily exist yet. - -# Match a UID, a unique identifier for the entry inherited from -# text/calendar format. -local uidpat='(|*[[:space:]])UID[[:space:]]##(#b)([[:xdigit:]]##)(|[[:space:]]*)' -if [[ $addline = ${~uidpat} ]]; then - my_uid=${(U)match[1]} -fi - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if (( ! nolock )); then - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - fi - - if [[ -f $calendar ]]; then - calendar_read $calendar - - if [[ -n $my_uid ]]; then - # Pre-scan to events with the same UID - for line in $calendar_entries; do - calendar_parse $line || continue - parse_old=("${(@kv)reply}") - # Recurring with a UID? - if [[ $line = ${~uidpat} ]]; then - their_uid=${(U)match[1]} - if [[ $their_uid = $my_uid ]]; then - # Deal with recurrences and also some add some - # extra magic for cancellation. - - # See if we have found a recurrent version - if [[ -z $parse_old[rpttime] ]]; then - # No, so assume this is a straightforward replacement - # of a non-recurring event. - - # Is this a cancellation of a non-recurring event? - # Look for an OCCURRENCE in the form - # OCCURRENCE 20100513T110000 CANCELLED - # although we don't bother looking at the date/time--- - # it's one-off, so this should already be unique. - if [[ $new_recurring -eq 0 && \ - $parse_new[text1] = (|*[[:space:]\#])"OCCURRENCE"[[:space:]]##([^[:space:]]##[[:space:]]##CANCELLED)(|[[:space:]]*) ]]; then - # Yes, so skip both the old and new events. - (( done = 1 )) - fi - # We'll skip this UID when we encounter it again. - continue - fi - if (( new_recurring )); then - # Replacing a recurrence; there can be only one. - # TBD: do we replace existing occurrences of the - # replaced recurrent event? I'm guessing not, but - # if we keep the UID then maybe we should. - # - # TBD: ick, suppose we're cancelling an even that - # we added to a recurring sequence but didn't replace - # the recurrence. We might get RPT CANCELLED for this. - # That would be bad. Should invent better way of - # cancelling non-recurring event. - continue - else - # The recorded event is recurring, but the new one is a - # one-off event. If there are embedded OCCURRENCE declarations, - # use those. - # - # TBD: We could be clever about text associated - # with the occurrence. Copying the entire text - # of the meeting seems like overkill but people often - # add specific remarks about why this occurrence was - # moved/cancelled. - # - # TBD: one case we don't yet handle is cancelling - # something that isn't replacing a recurrence, i.e. - # something we added as OCCURRENCE XXXXXXXXTXXXXXX <when>. - # If we're adding a CANCELLED occurrence we should - # look to see if it matches <when> and if so simply - # delete that occurrence. - # - # TBD: one nasty case is if the new occurrence - # occurs before the current scheduled time. As we - # never look backwards we'll miss it. - text=$addline - occurrences=() - while [[ $text = (#b)(|*[[:space:]\#])"OCCURRENCE"[[:space:]]##([^[:space:]]##[[:space:]]##[^[:space:]]##)(|[[:space:]]*) ]]; do - occurrences+=($match[2]) - text="$match[1] $match[3]" - done - if (( ! ${#occurrences} )); then - # No embedded occurrences. We'll manufacture one - # that doesn't refer to an original recurrence. - strftime -s REPLY $vdatefmt $my_date - occurrences=("XXXXXXXXTXXXXXX $REPLY") - fi - # Add these occurrences, checking if they replace - # an existing one. - for occur in ${(o)occurrences}; do - REPLY=${occur%%[[:space:]]*} - # Only update occurrences that refer to genuine - # recurrences. - if [[ $REPLY = [[:digit:]](#c8)T[[:digit:]](#c6) && $line = (#b)(|*[[:space:]\#])(OCCURRENCE[[:space:]]##)${REPLY}[[:space:]]##[^[:space:]]##(|[[:space:]]*) ]]; then - # Yes, update in situ - line="${match[1]}${match[2]}$occur${match[3]}" - else - # No, append. - [[ $line = *$'\n' ]] || line+=$'\n' - line+=" # OCCURRENCE $occur" - fi - done - # The line we're adding now corresponds to the - # original event. We'll skip the matching UID - # in the file below, however. - addline=$line - # We need to work out which event is next, so - # reparse. - if calendar_parse $addline; then - parse_new=("${(@kv)reply}") - (( my_date = ${parse_new[time]} )) - if zstyle -t $context reformat-date; then - zstyle -s $context date-format datefmt - strftime -s REPLY $datefmt $parse_new[time] - addline="$REPLY $parse_new[text1]" - fi - fi - fi - fi - fi - done - fi - - { - for line in $calendar_entries; do - calendar_parse $line || continue - parse_old=("${(@kv)reply}") - if (( ! done && ${parse_old[time]} > my_date )); then - print -r -- $addline - (( done = 1 )) - fi - # We've already merged any information on the same UID - # with our new text, probably. - if [[ $keep_my_uid -eq 0 && -n $my_uid && $line = ${~uidpat} ]]; then - their_uid=${(U)match[1]} - [[ $my_uid = $their_uid ]] && continue - fi - if [[ $parse_old[time] -eq $my_date && $line = $addline ]]; then - (( done )) && continue # paranoia: shouldn't happen - (( done = 1 )) - fi - print -r -- $line - done - (( done )) || print -r -- $addline - } >$newfile - if (( ! nobackup )); then - if ! mv $calendar $calendar.old; then - print "Couldn't back up $calendar to $calendar.old. -New calendar left in $newfile." >&2 - (( rstat = 1 )) - fi - fi - else - (( done )) || print -r -- $addline >$newfile - fi - - if (( !rstat )) && ! mv $newfile $calendar; then - print "Failed to rename $newfile to $calendar. -Old calendar left in $calendar.old." >&2 - (( rstat = 1 )) - fi -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} - -exit $rstat -) diff --git a/result/sw/share/zsh/5.9/functions/calendar_edit b/result/sw/share/zsh/5.9/functions/calendar_edit deleted file mode 100644 index ae888504..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_edit +++ /dev/null @@ -1,37 +0,0 @@ -local line calendar -local -a lockfiles editor - -integer cal_running - -if (( $# )); then - editor=("$@") -else - editor=(${VISUAL:-${EDITOR:-vi}}) -fi - -sched | while read line; do - [[ $line = *" calendar -s "<->" "<-> ]] && (( cal_running = 1 )) -done - -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar 2>/dev/null; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - - eval $editor \$calendar -} always { - (( ${#lockfiles} )) && rm -f $lockfiles -} -) - -(( cal_running )) && calendar -s diff --git a/result/sw/share/zsh/5.9/functions/calendar_lockfiles b/result/sw/share/zsh/5.9/functions/calendar_lockfiles deleted file mode 100644 index 93fbce06..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_lockfiles +++ /dev/null @@ -1,55 +0,0 @@ -# Lock the given files. -# Append the names of lockfiles to the array lockfiles. - -local file lockfile msgdone -# Number of attempts to lock a file. Probably not worth stylising. -integer lockattempts=4 loadtried - -# The lockfile name is not stylised: it has to be a fixed -# derivative of the main fail. -for file; do - lockfile=$file.lockfile - for (( i = 0; i <= lockattempts; i++ )); do - if ln -s $file $lockfile >/dev/null 2>&1; then - lockfiles+=($lockfile) - break - fi - if zle && [[ -z $msgdone ]]; then - msgdone="${lockfile}: waiting to acquire lock" - zle -M $msgdone - fi - if (( ! loadtried )); then - zmodload -i zsh/zselect 2>/dev/null - (( loadtried = 1 )) - fi - if zmodload -e zsh/zselect; then - # This gives us finer grained timing (100th second). - # Randomize the sleep between .1 and 2 seconds so that - # we are much less likely to have multiple instances - # retrying at once. - zselect -t $(( 10 + RANDOM * 190 / 32768 )) - else - sleep 1 - fi - done - if [[ -n $msgdone ]]; then - zle -M ${msgdone//?/ } - msgdone= - fi - if [[ ${lockfiles[-1]} != $lockfile ]]; then - msgdone="Failed to lock $file; giving up after $lockattempts attempts. -Another instance of calendar may be using it. -Delete $lockfiles if you believe this to be an error." - if zle; then - zle -M $msgdone - else - print $msgdone >&2 - fi - # The parent should take action to delete any lockfiles - # already locked. Typically this won't be necessary, since - # we will always lock the main calendar file first. - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/calendar_parse b/result/sw/share/zsh/5.9/functions/calendar_parse deleted file mode 100644 index fabaf741..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_parse +++ /dev/null @@ -1,176 +0,0 @@ -# Parse the line passed down in the first argument as a calendar entry. -# Sets the values parsed into the associative array reply, consisting of: -# time The time as an integer (as per EPOCHSECONDS) of the (next) event. -# text1 The text from the line not including the date/time, but -# including any WARN or RPT text. This is useful for rescheduling -# events, since the keywords need to be retained in this case. -# warntime Any warning time (WARN keyword) as an integer, else an empty -# string. This is the time of the warning in units of EPOCHSECONDS, -# not the parsed version of the original number (which was a time -# difference). -# warnstr Any warning time as the original string (e.g. "5 mins"), not -# including the WARN keyword. -# schedrpttime The next scheduled recurrence (which may be cancelled -# or rescheduled). -# rpttime The actual occurrence time: the event may have been rescheduled, -# in which case this is the time of the actual event (for use in -# programming warnings etc.) rather than that of the normal -# recurrence (which is recorded by calendar_add as RECURRENCE). -# -# rptstr Any repeat/recurrence time as the original string. -# text2 The text from the line with the date and other keywords and -# values removed. -# -# Note that here an "integer" is a string of digits, not an internally -# formatted integer. -# -# Return status 1 if parsing failed. reply is set to an empty -# in this case. Note the caller is responsible for -# making reply local. - -emulate -L zsh -setopt extendedglob - -local vdatefmt="%Y%m%dT%H%M%S" - -local REPLY REPLY2 timefmt occurrence skip try_to_recover before after -local -a match mbegin mend -integer now then replaced firstsched schedrpt -# Any text matching "OCCURRENCE <timestamp> <disposition>" -# may occur multiple times. We set occurrences[<timestamp>]=disposition. -local -A occurrences - -autoload -Uz calendar_scandate - -typeset -gA reply - -reply=() - -if (( $# != 1 )); then - print "Usage: $0 calendar-entry" >&2 - return 2 -fi - -# This call sets REPLY to the date and time in seconds since the epoch, -# REPLY2 to the line with the date and time removed. -calendar_scandate -as $1 || return 1 -reply[time]=$(( REPLY )) -schedrpt=${reply[time]} -reply[text1]=${REPLY2##[[:space:]]#} -reply[text2]=${reply[text1]} - -while true; do - - case ${reply[text2]} in - # First check for a scheduled repeat time. If we don't find one - # we'll use the normal time. - ((#b)(*[[:space:]\#])RECURRENCE[[:space:]]##([^[:space:]]##)([[:space:]]*|)) - strftime -rs then $vdatefmt ${match[2]} || - print "format: $vdatefmt, string ${match[2]}" >&2 - schedrpt=$then - reply[text2]="${match[1]}${match[3]##[ ]#}" - ;; - - # Look for specific warn time. - ((#b)(|*[[:space:],])WARN[[:space:]](*)) - if calendar_scandate -asm -R $reply[time] $match[2]; then - reply[warntime]=$REPLY - reply[warnstr]=${match[2]%%"$REPLY2"} - # Remove spaces and tabs but not newlines from trailing text, - # else the formatting looks funny. - reply[text2]="${match[1]}${REPLY2##[ ]#}" - else - # Just remove the keyword for further parsing - reply[text2]="${match[1]}${match[2]##[ ]#}" - fi - ;; - - ((#b)(|*[[:space:],])RPT[[:space:]](*)) - before=${match[1]} - after=${match[2]} - if [[ $after = CANCELLED(|[[:space:]]*) ]]; then - reply[text2]="$before${match[2]##[ ]#}" - reply[rptstr]=CANCELLED - reply[rpttime]=CANCELLED - reply[schedrpttime]=CANCELLED - elif calendar_scandate -a -R $schedrpt $after; then - # It's possible to calculate a recurrence, however we don't - # do that yet. For now just keep the current time as - # the recurrence. Hence we ignore REPLY. - reply[text2]="$before${REPLY2##[ ]#}" - reply[rptstr]=${after%%"$REPLY2"} - # Until we find an individual occurrence, the actual time - # of the event is the regular one. - reply[rpttime]=$schedrpt - else - # Just remove the keyword for further parsing - reply[text2]="$before${after##[[:space:]]#}" - fi - ;; - - ((#b)(|*[[:space:]\#])OCCURRENCE[[:space:]]##([^[:space:]]##)[[:space:]]##([^[:space:]]##)(*)) - occurrences[${match[2]}]="${match[3]}" - # as above - reply[text2]="${match[1]}${match[4]##[ ]#}" - ;; - - (*) - break - ;; - esac -done - -if [[ -n ${reply[rpttime]} && ${reply[rptstr]} != CANCELLED ]]; then - # Recurring event. We need to find out when it recurs. - (( now = EPOCHSECONDS )) - - # First find the next recurrence. - replaced=0 - reply[schedrpttime]=$schedrpt - if (( schedrpt >= now )); then - firstsched=$schedrpt - fi - while (( ${reply[schedrpttime]} < now || replaced )); do - if ! calendar_scandate -a -R ${reply[schedrpttime]} ${reply[rptstr]}; then - break - fi - if (( REPLY <= ${reply[schedrpttime]} )); then - # going backwards --- pathological case - break; - fi - reply[schedrpttime]=$REPLY - reply[rpttime]=$REPLY - if (( ${reply[schedrpttime]} > now && firstsched == 0 )); then - firstsched=$REPLY - fi - replaced=0 - # do we have an occurrence to compare against? - if (( ${#occurrences} )); then - strftime -s timefmt $vdatefmt ${reply[schedrpttime]} - occurrence=$occurrences[$timefmt] - if [[ -n $occurrence ]]; then - # Yes, this replaces the scheduled one. - replaced=1 - fi - fi - done - # Now look through occurrences (values only) and see which are (i) still - # to happen (ii) early than the current rpttime. - for occurrence in $occurrences; do - if [[ $occurrence != CANCELLED ]]; then - strftime -rs then $vdatefmt $occurrence || - print "format: $vdatefmt, string $occurrence" >&2 - if (( then > now && then < ${reply[rpttime]} )); then - reply[rpttime]=$then - fi - fi - done - # Finally, update the scheduled repeat time to the earliest - # possible value. This is so that if an occurrence replacement is - # cancelled we pick up the regular one. Can this happen? Dunno. - reply[schedrpttime]=$firstsched -fi - -reply[text2]="${reply[text2]##[[:space:],]#}" - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/calendar_read b/result/sw/share/zsh/5.9/functions/calendar_read deleted file mode 100644 index ed163887..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_read +++ /dev/null @@ -1,35 +0,0 @@ -# Utility for "calendar" to read entries into the array calendar_entries. -# This should be local to the caller. -# The only argument is the file to read. We expect options etc. to -# be correct. -# -# This is based on Emacs calendar syntax, which has two implications: -# - Lines beginning with whitespace are continuation lines. -# Hence we have to read the entire file first to determine entries. -# - Lines beginning with "&" are inhibited from producing marks in -# Emacs calendar window. This is irrelevant to us, so we -# we simply remove leading ampersands. This is necessary since -# we expect the date to start at the beginning of the line. -# -# TODO: Emacs has some special handling for entries where the first line -# has only the date and continuation lines indicate times. Actually, -# it doesn't parse the times as far as I can see, but if we want to -# handle that format sensibly we would need to here. It could -# be tricky to get right. - -local calendar=$1 line -local -a lines - -lines=(${(f)"$(<$calendar)"}) - -calendar_entries=() -# ignore blank lines -for line in $lines; do - if [[ $line = [[:space:]]* ]]; then - if (( ${#calendar_entries} )); then - calendar_entries[-1]+=$'\n'$line - fi - else - calendar_entries+=(${line##\&}) - fi -done diff --git a/result/sw/share/zsh/5.9/functions/calendar_scandate b/result/sw/share/zsh/5.9/functions/calendar_scandate deleted file mode 100644 index b3a58370..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_scandate +++ /dev/null @@ -1,801 +0,0 @@ -# Scan a line for various common date and time formats. -# Set REPLY to the number of seconds since the epoch at which that -# time occurs. The time does not need to be matched; this will -# produce midnight at the start of the date. -# -# Absolute times -# -# The rules below are fairly complicated, to allow any natural (and -# some highly unnatural but nonetheless common) combination of -# time and date used by English speakers. It is recommended that, -# rather than exploring the intricacies of the system, users find -# a date format that is natural to them and stick to it. This -# will avoid unexpected effects. Various key facts should be noted, -# explained in more detail below: -# -# - In particular, note the confusion between month/day/year and -# day/month/year when the month is numeric; this format should be -# avoided if at all possible. Many alternatives are available. -# - However, there is currently no localization support, so month -# names must be English (though only the first three letters are required). -# The same applies to days of the week if they occur (they are not useful). -# - The year must be given in full to avoid confusion, and only years -# from 1900 to 2099 inclusive are matched. -# - Although timezones are parsed (complicated formats may not be recognized), -# they are then ignored; no time adjustment is made. -# - Embedding of times within dates (e.g. "Wed Jun 16 09:30:00 BST 2010") -# causes horrific problems because of the combination of the many -# possible date and time formats to match. The approach taken -# here is to match the time, remove it, and see if the nearby text -# looks like a date. The problem is that the time matched may not -# be that associated with the date, in which case the time will be -# ignored. To minimise this, when the argument "-a" is given to -# anchor the date/time to the start of the line, we never look -# beyond a newline. So if any date/time strings in the text -# are on separate lines the problem is avoided. -# - If you feel sophisticated enough and wish to avoid any ambiguity, -# you can use RFC 2445 date/time strings, for example 20100601T170000. -# These are parsed in one go. -# -# The following give some obvious examples; users finding here -# a format they like and not subject to vagaries of style may skip -# the full description. As dates and times are matched separately -# (even though the time may be embedded in the date), any date format -# may be mixed with any format for the time of day provide the -# separators are clear (whitespace, colons, commas). -# 2007/04/03 13:13 -# 2007/04/03:13:13 -# 2007/04/03 1:13 pm -# 3rd April 2007, 13:13 -# April 3rd 2007 1:13 p.m. -# Apr 3, 2007 13:13 -# Tue Apr 03 13:13:00 2007 -# 13:13 2007/apr/3 -# -# Times are parsed and extracted before dates. They must use colons -# to separate hours and minutes, though a dot is allowed before seconds -# if they are present. This limits time formats to -# HH:MM[:SS[.FFFFF]] [am|pm|a.m.|p.m.] -# HH:MM.SS[.FFFFF] [am|pm|a.m.|p.m.] -# in which square brackets indicate optional elements, possibly with -# alternatives. Fractions of a second are recognised but ignored. -# Unless -r or -R are given (see below), a date is mandatory but a time of day is -# not; the time returned is at the start of the date. -# -# Time zones are not handled, though if one is matched following a time -# specification it will be removed to allow a surrounding date to be -# parsed. This only happens if the format of the timezone is not too -# wacky: -# +0100 -# GMT -# GMT-7 -# CET+1CDT -# etc. are all understood, but any part of the timezone that is not numeric -# must have exactly three capital letters in the name. -# -# Dates suffer from the ambiguity between DD/MM/YYYY and MM/DD/YYYY. It is -# recommended this form is avoided with purely numeric dates, but use of -# ordinals, eg. 3rd/04/2007, will resolve the ambiguity as the ordinal is -# always parsed as the day of the month. Years must be four digits (and -# the first two must be 19 or 20); 03/04/08 is not recognised. Other -# numbers may have leading zeroes, but they are not required. The -# following are handled: -# YYYY/MM/DD -# YYYY-MM-DD -# YYYY/MNM/DD -# YYYY-MNM-DD -# DD[th|st|rd] MNM[,] YYYY -# DD[th|st|rd] MNM[,] current year assumed -# MNM DD[th|st|rd][,] YYYY -# MNM DD[th|st|rd][,] current year assumed -# DD[th|st|rd]/MM[,] YYYY -# DD[th|st|rd]/MM/YYYY -# MM/DD[th|st|rd][,] YYYY -# MM/DD[th|st|rd]/YYYY -# Here, MNM is at least the first three letters of a month name, -# matched case-insensitively. The remainder of the month name may appear but -# its contents are irrelevant, so janissary, febrile, martial, apricot, -# etc. are happily handled. -# -# Note there are only two cases that assume the current year, the -# form "Jun 20" or "14 September" (the only two commonly occurring -# forms, apart from a "the" in some forms of English, which isn't -# currently supported). Such dates will of course become ambiguous -# in the future, so should ideally be avoided. -# -# Times may follow dates with a colon, e.g. 1965/07/12:09:45; this -# is in order to provide a format with no whitespace. A comma -# and whitespace are allowed, e.g. "1965/07/12, 09:45". -# Currently the order of these separators is not checked, so -# illogical formats such as "1965/07/12, : ,09:45" will also -# be matched. Otherwise, a time is only recognised as being associated -# with a date if there is only whitespace in between, or if the time -# was embedded in the date. -# -# Days of the week are not scanned, but will be ignored if they occur -# at the start of the date pattern only. -# -# For example, the standard date format: -# Fri Aug 18 17:00:48 BST 2006 -# is handled by matching HH:MM:SS and removing it together with the -# matched (but unused) time zone. This leaves the following: -# Fri Aug 18 2006 -# "Fri" is ignored and the rest is matched according to the sixth of -# the standard rules. -# -# Relative times -# ============== -# -# The option -r allows a relative time. Years (or ys, yrs, or without s), -# months (or mths, mons, mnths, months, or without s --- "m", "ms" and -# "mns" are ambiguous and are not handled), weeks (or ws, wks, or without -# s) and days (or ds, dys, days, or without s), hours (or hs, hrs, with or -# without s), minutes (or mins, with or without s) and seconds (or ss, -# secs, with or without s) are understood. Spaces between the numbers -# are optional, but are required between items, although a comma -# may be used (with or without spaces). -# -# Note that a year here is 365.25 days and a month is 30 days. -# -# With -R start_time, a relative time is parsed and start_time is treated -# as the start of the period. This allows months and years to be calculated -# accurately. If the option -m (minus) is also given the relative time is -# taken backwards from the start time. -# -# This allows forms like: -# 30 years 3 months 4 days 3:42:41 -# 14 days 5 hours -# 4d,10hr -# In this case absolute dates are ignored. - -emulate -L zsh -setopt extendedglob # xtrace - -zmodload -i zsh/datetime || return 1 - -# separator characters before time or between time and date -# allow , - or : before the time: this allows spaceless but still -# relatively logical dates like 2006/09/19:14:27 -# don't allow / before time ! the above -# is not 19 hours 14 mins and 27 seconds after anything. -local tschars="[-,:[:blank:]]" -# start pattern for time when anchored -local tspat_anchor="(${tschars}#)" -# ... when not anchored -local tspat_noanchor="(|*${tschars})" -# separator characters between elements. comma is fairly -# natural punctuation; otherwise only allow whitespace. -local schars="[.,[:space:]]" -local -a dayarr -dayarr=(sun mon tue wed thu fri sat) -local daypat="${schars}#((#B)(${(j.|.)dayarr})[a-z]#~month*)" -# Start pattern for date: treat , as space for simplicity. This -# is illogical at the start but saves lots of minor fiddling later. -# Date start pattern when anchored at the start. -# We need to be able to ignore the day here, although (for consistency -# with the unanchored case) we don't remove it until later. -# (The problem in the other case is that matching anything before -# the day of the week is greedy, so the day of the week gets ignored -# if it's optional.) -local dspat_anchor="(|(#B)(${daypat}|)(#b)${schars}#)" -local dspat_anchor_noday="(|${schars}#)" -# Date start pattern when not anchored at the start. -local dspat_noanchor="(|*${schars})" -# end pattern for relative times: similar remark about use of $schars. -local repat="(|s)(|${schars}*)" -# not locale-dependent! I don't know how to get the months out -# of the system for the purpose of finding out where they occur. -# We may need some completely different heuristic. -local monthpat="(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]#" -integer daysecs=$(( 24 * 60 * 60 )) -local d="[[:digit:]]" - -integer year year2 month month2 day day2 hour minute second then nth wday wday2 -local opt line orig_line mname MATCH MBEGIN MEND tz test rest_line -local -a match mbegin mend -# Flags that we found a date or a time (maybe a relative time) -integer date_found time_found -# Flag that it's OK to have a time only -integer time_ok -# Indices of positions of start and end of time and dates found. -# These are actual character indices as zsh would normally use, i.e. -# line[time_start,time_end] is the string for the time. -integer time_start time_end date_start date_end -integer anchor anchor_end debug setvar -integer relative relative_start reladd reldate relsign=1 newadd h1 h2 hd - -while getopts "aAdmrR:st" opt; do - case $opt in - (a) - # anchor - (( anchor = 1 )) - ;; - - (A) - # anchor at end, too - (( anchor = 1, anchor_end = 1 )) - ;; - - (d) - # enable debug output - (( debug = 1 )) - ;; - - (m) - # relative with negative offsets - (( relsign = -1 )) - ;; - - (r) - # relative with no fixed start - (( relative = 1 )) - ;; - - (R) - # relative with fixed start supplied - (( relative_start = OPTARG, relative = 2 )) - ;; - - (s) - (( setvar = 1 )) - ;; - - (t) - (( time_ok = 1 )) - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -line=$1 - -local dspat dspat_noday tspat -if (( anchor )); then - # Anchored at the start. - dspat=$dspat_anchor - dspat_noday=$dspat_anchor_noday - if (( relative )); then - tspat=$tspat_anchor - else - # We'll test later if the time is associated with the date. - tspat=$tspat_noanchor - fi - # We can save a huge amount of grief (I've discovered) if when - # we're anchored to the start we ignore anything after a newline. - # However, don't do this if we're anchored to the end. The - # match should fail if there are extra lines in that case. - if [[ anchor_end -eq 0 && $line = (#b)([^$'\n']##)($'\n'*) ]]; then - line=$match[1] - rest_line=$match[2] - fi -else - dspat=$dspat_noanchor - dspat_noday=$dspat_noanchor - tspat=$tspat_noanchor -fi -orig_line=$line - -# Look for a time separately; we need colons for this. -# We want to look for the first time to ensure it's associated -# with a date at the start of the line. Of course there may be -# a time followed by some other text followed by a date, but -# in that case the whole thing is too ambiguous to worry about -# (and we don't need to worry about this for a calendar entry where -# the date must be at the start). -# -# We do this by minimal matching at the head, i.e. ${...#...}. -# To use a case statement we'd need to be able to request non-greedy -# matching for a pattern. -local rest -# HH:MM:SECONDS am/pm with optional decimal seconds -rest=${line#(#ibm)${~tspat}(<0-12>):(<0-59>)[.:]((<0-59>)(.<->|))[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} -if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - second=$match[5] - [[ $match[7] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 -fi -if (( time_found == 0 )); then - # no seconds, am/pm - rest=${line#(#ibm)${~tspat}(<0-12>):(<0-59>)[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - [[ $match[4] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 - fi -fi -if (( time_found == 0 )); then - # no colon, even, but a.m./p.m. indicator - rest=${line#(#ibm)${~tspat}(<0-12>)[[:space:]]#([ap])(|.)[[:space:]]#m(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=0 - [[ $match[3] = (#i)p ]] && (( hour <= 12 )) && (( hour += 12 )) - time_found=1 - fi -fi -if (( time_found == 0 )); then - # 24 hour clock, with seconds - rest=${line#(#ibm)${~tspat}(<0-24>):(<0-59>)[.:]((<0-59>)(.<->|))(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - second=$match[5] - time_found=1 - fi -fi -if (( time_found == 0 )); then - rest=${line#(#ibm)${~tspat}(<0-24>):(<0-59>)(.|[[:space:]]|(#e))} - if [[ $rest != $line ]]; then - hour=$match[2] - minute=$match[3] - time_found=1 - fi -fi -if (( time_found == 0 )); then - # Combined date and time formats: here we can use an anchor because - # we know the complete format. - (( anchor )) && tspat=$tspat_anchor - # RFC 2445 - rest=${line#(#ibm)${~tspat}(|\"[^\"]##\":)($~d$~d$~d$~d)($~d$~d)($~d$~d)T($~d$~d)($~d$~d)($~d$~d)([[:space:]]#|(#e))} - if [[ $rest != $line ]]; then - year=$match[3] - month=$match[4] - day=$match[5] - hour=$match[6] - minute=$match[7] - second=$match[8] - # signal don't need to take account of time in date... - time_found=2 - date_found=1 - date_start=$mbegin[3] - date_end=$mend[-1] - fi -fi -(( hour == 24 )) && hour=0 - -if (( time_found && ! date_found )); then - # time was found; if data also found already, process below. - time_start=$mbegin[2] - time_end=$mend[-1] - # Remove the timespec because it may be in the middle of - # the date (as in the output of "date". - # There may be a time zone, too, which we don't yet handle. - # (It's not in POSIX strptime() and libraries don't support it well.) - # This attempts to remove some of the weirder forms. - if [[ $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z]|[-+][0-9][0-9][0-9][0-9])([[:space:]]|(#e))* || \ - $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z](|[-+])<0-12>)([[:space:]]|(#e))* || \ - $line[$time_end+1,-1] = (#b)[[:space:]]#([A-Z][A-Z][A-Z](|[-+])<0-12>[A-Z][A-Z][A-Z])([[:space:]]|(#e))* ]]; then - (( time_end += ${mend[-1]} )) - tz=$match[1] - fi - line=$line[1,time_start-1]$line[time_end+1,-1] - (( debug )) && print "line after time: $line" -fi - -if (( relative == 0 && date_found == 0 )); then - # Date. - case $line in - # Look for YEAR[-/.]MONTH[-/.]DAY - ((#bi)${~dspat}((19|20)[0-9][0-9])[-/](<1-12>)[-/](<1-31>)*) - year=$match[2] - month=$match[4] - day=$match[5] - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Same with month name - ((#bi)${~dspat}((19|20)[0-9][0-9])[-/]${~monthpat}[-/](<1-31>)*) - year=$match[2] - mname=$match[4] - day=$match[5] - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Look for DAY[th/st/nd/rd] MNAME[,] YEAR - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)[[:space:]]##${~monthpat}(|,)[[:space:]]##((19|20)[0-9][0-9])*) - day=$match[2] - mname=$match[4] - year=$match[6] - date_start=$mbegin[2] date_end=$mend[6] - date_found=1 - ;; - - # Look for MNAME DAY[th/st/nd/rd][,] YEAR - ((#bi)${~dspat}${~monthpat}[[:space:]]##(<1-31>)(|th|st|nd|rd)(|,)[[:space:]]##((19|20)[0-9][0-9])*) - mname=$match[2] - day=$match[3] - year=$match[6] - date_start=$mbegin[2] date_end=$mend[6] - date_found=1 - ;; - - # Look for DAY[th/st/nd/rd] MNAME; assume current year - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)[[:space:]]##${~monthpat}(|,)([[:space:]]##*|)) - day=$match[2] - mname=$match[4] - strftime -s year "%Y" $EPOCHSECONDS - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Look for MNAME DAY[th/st/nd/rd]; assume current year - ((#bi)${~dspat}${~monthpat}[[:space:]]##(<1-31>)(|th|st|nd|rd)(|,)([[:space:]]##*|)) - mname=$match[2] - day=$match[3] - strftime -s year "%Y" $EPOCHSECONDS - date_start=$mbegin[2] date_end=$mend[5] - date_found=1 - ;; - - # Now it gets a bit ambiguous. - # Look for DAY[th/st/nd/rd][/]MONTH[/ ,]YEAR - ((#bi)${~dspat}(<1-31>)(|th|st|nd|rd)/(<1-12>)((|,)[[:space:]]##|/)((19|20)[0-9][0-9])*) - day=$match[2] - month=$match[4] - year=$match[7] - date_start=$mbegin[2] date_end=$mend[7] - date_found=1 - ;; - - # Look for MONTH[/]DAY[th/st/nd/rd][/ ,]YEAR - ((#bi)${~dspat}(<1-12>)/(<1-31>)(|th|st|nd|rd)((|,)[[:space:]]##|/)((19|20)[0-9][0-9])*) - month=$match[2] - day=$match[3] - year=$match[7] - date_start=$mbegin[2] date_end=$mend[7] - date_found=1 - ;; - - # Look for WEEKDAY - ((#bi)${~dspat_noday}(${~daypat})(|${~schars})*) - integer wday_now wday - local wdaystr=${(L)match[3]} - date_start=$mbegin[2] date_end=$mend[2] - - # Find the day number. - local -a wdays - # This is the ordering of %w in strtfime (zero-offset). - wdays=(sun mon tue wed thu fri sat sun) - (( wday = ${wdays[(i)$wdaystr]} - 1 )) - - # Find the date for that day. - (( then = EPOCHSECONDS )) - strftime -s wday_now "%w" $then - # Day is either today or in the past. - (( wday_now < wday )) && (( wday_now += 7 )) - (( then -= (wday_now - wday) * 24 * 60 * 60 )) - strftime -s year "%Y" $then - strftime -s month "%m" $then - strftime -s day "%d" $then - date_found=1 - ;; - - # Look for "today", "yesterday", "tomorrow" - ((#bi)${~dspat_noday}(yesterday|today|tomorrow|now)(|${~schars})*) - (( then = EPOCHSECONDS )) - case ${(L)match[2]} in - (yesterday) - (( then -= daysecs )) - ;; - - (tomorrow) - (( then += daysecs )) - ;; - - (now) - time_found=1 time_end=0 time_start=1 - strftime -s hour "%H" $then - strftime -s minute "%M" $then - strftime -s second "%S" $then - ;; - esac - strftime -s year "%Y" $then - strftime -s month "%m" $then - strftime -s day "%d" $then - date_start=$mbegin[2] date_end=$mend[2] - date_found=1 - ;; - esac -fi - -if (( date_found || (time_ok && time_found) )); then - # date found - # see if there's a day at the start - if (( date_found )); then - if [[ ${line[1,$date_start-1]} = (#bi)${~daypat}${~schars}# ]]; then - date_start=$mbegin[1] - fi - line=${line[1,$date_start-1]}${line[$date_end+1,-1]} - fi - if (( time_found == 1 )); then - if (( date_found )); then - # If we found a time, it must be associated with the date, - # or we can't use it. Since we removed the time from the - # string to find the date, however, it's complicated to - # know where both were found. Reconstruct the date indices of - # the original string. - if (( time_start <= date_start )); then - # Time came before start of date; add length in. - (( date_start += time_end - time_start + 1 )) - fi - if (( time_start <= date_end )); then - (( date_end += time_end - time_start + 1 )) - fi - - if (( time_end + 1 < date_start )); then - # If time wholly before date, OK if only separator characters - # in between. (This allows some illogical stuff with commas - # but that's probably not important.) - if [[ ${orig_line[time_end+1,date_start-1]} != ${~schars}# ]]; then - # Clearly this can't work if anchor is set. In principle, - # we could match the date and ignore the time if it wasn't. - # However, that seems dodgy. - return 1 - else - # Form massaged line by removing the entire date/time chunk. - line="${orig_line[1,time_start-1]}${orig_line[date_end+1,-1]}" - fi - elif (( date_end + 1 < time_start )); then - # If date wholly before time, OK if only time separator characters - # in between. This allows 2006/10/12:13:43 etc. - if [[ ${orig_line[date_end+1,time_start-1]} != ${~tschars}# ]]; then - # Here, we assume the time is associated with something later - # in the line. This is pretty much inevitable for the sort - # of use we are expecting. For example, - # 2006/10/24 Meeting from early, may go on till 12:00. - # or with some uses of the calendar system, - # 2006/10/24 MR 1 Another pointless meeting WARN 01:00 - # The 01:00 says warn an hour before, not that the meeting starts - # at 1 am. About the only safe way round would be to force - # a time to be present, but that's not how the traditional - # calendar programme works. - # - # Hence we need to reconstruct. - (( time_found = 0, hour = 0, minute = 0, second = 0 )) - line="${orig_line[1,date_start-1]}${orig_line[date_end+1,-1]}" - else - # As above. - line="${orig_line[1,date_start-1]}${orig_line[time_end+1,-1]}" - fi - fi - else - # Time only. - # We didn't test anchors for time originally, since it - # might have been embedded in the date. If there's no date, - # we need to test specially. - if (( anchor )) && - [[ ${orig_line[1,time_start-1]} != ${~tschars}# ]]; then - # Anchor at start failed. - return 1 - fi - strftime -s year "%Y" $EPOCHSECONDS - strftime -s month "%m" $EPOCHSECONDS - strftime -s day "%d" $EPOCHSECONDS - # Date now handled. - (( date_found = 1 )) - fi - if (( debug )); then - print "Time string: $time_start,$time_end:" \ - "'$orig_line[time_start,time_end]'" - (( date_ok )) && print "Date string: $date_start,$date_end:" \ - "'$orig_line[date_start,date_end]'" - print "Remaining line: '$line$rest_line'" - fi - fi -fi - -if (( relative )); then - if (( relative == 2 )); then - # Relative years and months are variable, and we may need to - # be careful about days. - strftime -s year "%Y" $relative_start - strftime -s month "%m" $relative_start - strftime -s day "%d" $relative_start - strftime -rs then "%Y:%m:%d" "${year}:${month}:${day}" - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(y|yr|year|yearly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - if (( relative == 2 )); then - # We need the difference between relative_start & the - # time ${match[2]} years later. This means keeping the month and - # day the same and changing the year. - (( year2 = year + relsign * ${match[2]} )) - strftime -rs reldate "%Y:%m:%d" "${year2}:${month}:${day}" - - # If we've gone from a leap year to a non-leap year, go back a day. - strftime -s month2 "%m" $reldate - (( month2 != month )) && (( reldate -= daysecs )) - - # Keep this as a difference for now since we may need to add in other stuff. - (( reladd += reldate - then )) - else - (( reladd += relsign * ((365*4+1) * daysecs * ${match[2]} + 1) / 4 )) - fi - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(mth|mon|mnth|month|monthly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - if (( relative == 2 )); then - # Need to add on ${match[2]} months as above. - (( month2 = month + relsign * ${match[2]} )) - if (( month2 <= 0 )); then - # going backwards beyond start of given year - (( year2 = year + month2 / 12 - 1, month2 = month2 + (year-year2)*12 )) - else - (( year2 = year + (month2 - 1)/ 12, month2 = (month2 - 1) % 12 + 1 )) - fi - strftime -rs reldate "%Y:%m:%d" "${year2}:${month2}:${day}" - - # If we've gone past the end of the month because it was too short, - # we have two options (i) get the damn calendar fixed (ii) wind - # back to the end of the previous month. (ii) is easier for now. - if (( day > 28 )); then - while true; do - strftime -s day2 "%d" $reldate - # There are only up to 3 days in it, so just wind back one at a - # time. Saves counting. - (( day2 >= 28 )) && break - (( reldate -= daysecs )) - done - fi - - (( reladd += reldate - then )) - else - (( reladd += relsign * 30 * daysecs * ${match[2]} )) - fi - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - # For the next three items we accumulate adjustments in "newadd". - # See note below for why they are special. - if [[ $relative = 2 && $line = (#bi)${~dspat_noday}(<->)(th|rd|nd|st)(${~daypat})(|${~schars}*) ]]; then - nth=$match[2] - test=${(L)${${match[4]##${~schars}#}%%${~schars}#}[1,3]} - wday=${dayarr[(I)$test]} - if (( wday )); then - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - # We want weekday 0 to 6 - (( wday-- )) - (( reldate = relative_start + reladd )) - strftime -s year2 "%Y" $reldate - strftime -s month2 "%m" $reldate - # Find day of week of the first of the month we've landed on. - strftime -rs then "%Y:%m:%d" "${year2}:${month2}:1" - strftime -s wday2 "%w" $then - # Calculate day of month - (( day = 1 + (wday - wday2) + (nth - 1) * 7 )) - (( wday < wday2 )) && (( day += 7 )) - # whereas the day of the month calculated so far is... - strftime -s day2 "%d" $reldate - # so we need to compensate by... - (( newadd += (day - day2) * daysecs )) - fi - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(w|wk|week|weekly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( newadd += relsign * 7 * daysecs * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(d|dy|day|daily)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( newadd += relsign * daysecs * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if (( relative == 2 && newadd )); then - # You thought a day was always the same time? Ho, ho, ho. - # If the clocks go forward or back, we can gain or lose - # an hour. Check this by seeing what the hour is before - # and after adding the number of days. If it changes, - # remove the difference. - # - # We need this correction for days (including days of a given - # month) and weeks. - # We don't need it for years and months because we calculated - # those by actually looking at the calendar for a given - # time of day, so the adjustment came out in the wash. - # We don't need it for hours or smaller periods because - # presumably if a user asks for something in 3 hours time - # they don't mean 4 hours if the clocks went back and - # 2 hours if they went forward. At least, I think so. - # Consider: - # % calendar_showdate +2d,1hr - # Sun Mar 25 00:37:00 GMT 2007 - # % calendar_showdate +2d,2hr - # Sun Mar 25 02:37:09 BST 2007 - # At first sight that looks wrong because the clock appears - # to jump two hours. (Yes, it took me all of 9 seconds to - # edit the line.) But actually it's only jumped the hour - # you asked for, because one is in GMT and the other in BST. - # In principle you could say the same thing about days: - # Sun Mar 25 00:00:00 GMT 2007 and Mon Mar 26 01:00:00 BST 2007 - # are a day apart. But usually if you say "same time next Tuesday" - # you mean "when the clock says the same time, even if someone - # has nipped in and adjusted it in the mean time", although - # for some reason you don't usually bother saying that. - # - # Hope that's clear. - strftime -s h1 "%H" $(( relative_start + reladd )) - strftime -s h2 "%H" $(( relative_start + reladd + newadd )) - (( hd = h2 - h1 )) - # and of course we might go past midnight... - if (( hd > 12 )); then - (( hd -= 24 )) - elif (( hd < -12 )); then - (( hd += 24 )) - fi - (( newadd -= hd * 3600 )) - fi - (( reladd += newadd )) - if [[ $line = (#bi)${~dspat}(<->|)[[:space:]]#(h|hr|hour|hourly)${~repat} ]]; then - [[ -z $match[2] ]] && match[2]=1 - (( reladd += relsign * 60 * 60 * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->)[[:space:]]#(min|minute)${~repat} ]]; then - (( reladd += relsign * 60 * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi - if [[ $line = (#bi)${~dspat}(<->)[[:space:]]#(s|sec|second)${~repat} ]]; then - (( reladd += relsign * ${match[2]} )) - line=${line[1,$mbegin[2]-1]}${line[$mend[4]+1,-1]} - time_found=1 - fi -fi - -if (( relative )); then - # If no date was found, we're in trouble unless we found a time. - if (( time_found )); then - if (( anchor_end )); then - # must be left with only separator characters - if [[ $line != ${~schars}# ]]; then - return 1 - fi - fi - # relative_start is zero if we're not using it - (( reladd += (hour * 60 + minute) * 60 + second )) - typeset -g REPLY - (( REPLY = relative_start + reladd )) - [[ -n $setvar ]] && typeset -g REPLY2="$line$rest_line" - return 0 - fi - return 1 -elif (( date_found == 0 )); then - return 1 -fi - -if (( anchor_end )); then - # must be left with only separator characters - if [[ $line != ${~schars}# ]]; then - return 1 - fi -fi - -local fmt nums -if [[ -n $mname ]]; then - fmt="%Y %b %d %H %M %S" - nums="$year $mname $day $hour $minute $second" -else - fmt="%Y %m %d %H %M %S" - nums="$year $month $day $hour $minute $second" -fi - -strftime -s REPLY -r $fmt $nums - -[[ -n $setvar ]] && typeset -g REPLY2="$line$rest_line" - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/calendar_show b/result/sw/share/zsh/5.9/functions/calendar_show deleted file mode 100644 index 0e236fd1..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_show +++ /dev/null @@ -1,36 +0,0 @@ -integer start=$1 stop=$2 -shift 2 - -[[ -o zle ]] && zle -I -print -r "$*" - -local -a cmd -zmodload -i zsh/parameter || return - -# Use xmessage to display the message if the start and stop time -# are the same, indicating we have been scheduled to display it. -# Don't do this if there's already an notification/message for the same user. -# HERE: this should be configurable and we should be able to do -# better if xmessage isn't available, e.g. wish. -if [[ -n $DISPLAY && $start -eq $stop ]]; then - if [[ -n ${commands[kdialog]} && -n $KDE_SESSION_UID ]] - then - # We're in a KDE session, most probably. - # Simple: - cmd=(kdialog --msgbox) - # Alternative: - # calendar_knotify_show() { - # dcop knotify default notify calendar zsh "$*" '' '' 2 0 - # } - # cmd=(calendar_knotify_show) - elif [[ -n ${commands[xmessage]} ]]; then - cmd=(xmessage -center) - fi - if [[ -n $cmd[1] ]] && - ! ps -u$UID | grep $cmd[1] >/dev/null 2>&1; then - # turn off job control for this - ($cmd "$*" &) - fi -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/calendar_showdate b/result/sw/share/zsh/5.9/functions/calendar_showdate deleted file mode 100644 index a8985513..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_showdate +++ /dev/null @@ -1,77 +0,0 @@ -emulate -L zsh -setopt extendedglob -zmodload -i zsh/datetime - -local optm datefmt opt -integer optr replyset - -zstyle -s ':datetime:calendar_showdate:' date-format datefmt || - datefmt="%a %b %d %H:%M:%S %Z %Y" - -# Memo to myself: both + and - are documented as giving relative -# times, so it's not a good idea to rewrite this to use getopts. -# We need to detect the small number of options this can actually -# handle. -while [[ $1 = -r || $1 = -- || $1 = -f* ]]; do - case $1 in - (-r) - shift - REPLY=0 - optr=1 - ;; - - (-f*) - if [[ $1 = -f?* ]]; then - datefmt=$1[3,-1] - shift - else - shift - if [[ -z $1 || $1 != *%* ]]; then - print "$0: -f requires a date/time specification" >&2 - return 1 - fi - datefmt=$1 - shift - fi - ;; - - (--) - shift - break - ;; - esac -done - -(( optr )) || local REPLY - -if (( ! $# )); then - print "Usage: $0 datespec [ ... ]" >&2 - return 1 -fi - -while (( $# )); do - optm= - if [[ $1 = [-+]* ]]; then - # relative - [[ $1 = -* ]] && optm=-m - 1=${1[2,-1]} - # if this is the first argument, use current time - # don't make assumptions about type of reply in case global - if (( ! replyset )); then - REPLY=$EPOCHSECONDS - replyset=1 - fi - fi - - if (( replyset )); then - calendar_scandate $optm -R $REPLY -aA $1 || return 1 - replyset=1 - else - calendar_scandate -aA $1 || return 1 - fi - - shift -done - -(( optr )) && return -strftime $datefmt $REPLY diff --git a/result/sw/share/zsh/5.9/functions/calendar_sort b/result/sw/share/zsh/5.9/functions/calendar_sort deleted file mode 100644 index 171d4f98..00000000 --- a/result/sw/share/zsh/5.9/functions/calendar_sort +++ /dev/null @@ -1,77 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz calendar_{read,scandate,lockfiles} - -local calendar line REPLY new lockfile -local -a calendar_entries -local -a times lines_sorted lines_unsorted lines_failed lockfiles -integer i - -# Read the calendar file from the calendar-file style -zstyle -s ':datetime:calendar:' calendar-file calendar || calendar=~/calendar - -# start of subshell for OS file locking -( -# start of block for following always to clear up lockfiles. -# Not needed but harmless if OS file locking is used. -{ - if zmodload -F zsh/system b:zsystem && zsystem supports flock && - zsystem flock $calendar; then - # locked OK - : - else - calendar_lockfiles $calendar || exit 1 - fi - - new=$calendar.new.$$ - calendar_read $calendar - if [[ ${#calendar_entries} -eq 0 || \ - ( ${#calendar_entries} -eq 1 && -z $calendar_entries[1] ) ]]; then - return 0 - fi - - for line in $calendar_entries; do - if calendar_scandate -a $line; then - lines_unsorted+=("${(l.16..0.)REPLY}:$line") - else - lines_failed+=($line) - fi - done - - if (( ${#lines_unsorted} )); then - lines_sorted=(${${(o)lines_unsorted}##[0-9]##:}) - fi - - { - for line in "${lines_failed[@]}"; do - print "$line # BAD DATE" - done - (( ${#lines_sorted} )) && print -l "${lines_sorted[@]}" - } > $new - - if [[ ! -s $new ]]; then - print "Writing to $new failed." - return 1 - elif (( ${#lines_failed} )); then - print "Warning: lines with date that couldn't be parsed. -Output (with unparseable dates marked) left in $new" - return 1 - fi - - if ! mv $calendar $calendar.old; then - print "Couldn't back-up $calendar to $calendar.old. -New calendar left in $new" - return 1 - fi - if ! mv $new $calendar; then - print "Failed to rename $new to $calendar. -Old calendar left in $calendar.old" - return 1 - fi - - print "Old calendar left in $calendar.old" -} always { - (( ${#lockfiles} )) && rm -rf $lockfiles -} -) diff --git a/result/sw/share/zsh/5.9/functions/capitalize-word-match b/result/sw/share/zsh/5.9/functions/capitalize-word-match deleted file mode 100644 index aa25b8e0..00000000 --- a/result/sw/share/zsh/5.9/functions/capitalize-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n $word ]]; then - LBUFFER+=${(C)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/catch b/result/sw/share/zsh/5.9/functions/catch deleted file mode 100644 index 6afd664d..00000000 --- a/result/sw/share/zsh/5.9/functions/catch +++ /dev/null @@ -1,41 +0,0 @@ -# Catch an exception. Returns 0 if the exception in question was caught. -# The first argument gives the exception to catch, which may be a -# pattern. -# This must be within an always-block. A typical set of handlers looks -# like: -# { -# # try block; something here throws exceptions -# } always { -# if catch MyExcept; then -# # Handler code goes here. -# print Handling exception MyExcept -# elif catch *; then -# # This is the way to implement a catch-all. -# print Handling any other exception -# fi -# } -# As with other languages, exceptions do not need to be handled -# within an always block and may propagate to a handler further up the -# call chain. -# -# It is possible to throw an exception from within the handler by -# using "throw". -# -# The shell variable $CAUGHT is set to the last exception caught, -# which is useful if the argument to "catch" was a pattern. -# -# Use "function" keyword in case catch is already an alias. -function catch { - if [[ $TRY_BLOCK_ERROR -gt 0 && $EXCEPTION = ${~1} ]]; then - (( TRY_BLOCK_ERROR = 0 )) - typeset -g CAUGHT="$EXCEPTION" - unset EXCEPTION - return 0 - fi - - return 1 -} -# Never use globbing with "catch". -alias catch="noglob catch" - -catch "$@" diff --git a/result/sw/share/zsh/5.9/functions/cdr b/result/sw/share/zsh/5.9/functions/cdr deleted file mode 100644 index 43745e5a..00000000 --- a/result/sw/share/zsh/5.9/functions/cdr +++ /dev/null @@ -1,336 +0,0 @@ -# Description -# =========== -# -# Change to a recently used directory recorded in a file so that the -# recent file list persists across sessions. -# -# To use this system, -# -# autoload -Uz chpwd_recent_dirs cdr add-zsh-hook -# add-zsh-hook chpwd chpwd_recent_dirs -# -# (add-zsh-hook appeared in zsh version 4.3.4.) This ensures that all -# directories you change to interactively are registered. The -# chpwd_recent_dirs function does some guesswork to see if you are "really" -# changing directory permanently, see below. -# -# The argument to cdr is a number corresponding to the Nth most recently -# changed-to directory starting at 1 for the immediately preceding -# directory (the current directory is remembered but is not offered as a -# destination). You can use directory arguments if you set the -# recent-dirs-default style, see below; however, it should be noted -# that if you do you gain nothing over using cd directly (the recent -# directory list is updated in either case). -# -# If the argument is omitted, 1 is assumed. -# -# Completion is available if compinit has been run; menu selection is -# recommended, using -# -# zstyle ':completion:*:*:cdr:*:*' menu selection -# -# and also the verbose style to ensure the directory is shown (this -# is on by default). -# -# Options -# ======= -# -# "cdr -l" lists the numbers and the corresponding directories in -# abbreviated form (i.e. with "~" substitution reapplied), one per line. -# The directories here are not quoted (this would only be an issue if a -# directory name contained a newline). This is used by the completion -# system. -# -# "cdr -r" sets the parameter "reply" to the current set of directories. -# -# "cdr -e" allows you to edit the list of directories, one per line. The -# list can be edited to any extent you like; no sanity checking is -# performed. Completion is available. No quoting is necessary (except for -# newlines, where I have in any case no sympathy); directories are in -# unabbreviated from and contain an absolute path, i.e. they start with / -# (and only /). Usually the first entry should be left as the current -# directory. -# -# "cdr -p 'pattern'" prunes anything matching the given extended glob -# pattern from the directory list. The match is against the fully -# expanded directory path and the full string must match (use wildcards -# at the ends if needed). If output is going to a terminal, the -# function will print the new list for the user to confirm; this can be -# skipped by giving -P instead of -p. -# -# Details of directory handling -# ============================= -# -# Recent directories are saved to a file immediately and hence are -# preserved across sessions. Note currently no file locking is applied: -# the list is updated immediately on interactive commands and nowhere else -# (unlike history), and it is assumed you are only going to change -# directory in one window at once. This is not safe on shared accounts, -# but in any case the system has limited utility when someone else is -# changing to a different set of directories behind your back. -# -# To make this a little safer, only directory changes instituted from the -# command line, either directly or indirectly through shell function calls -# (but not through subshells, evals, traps, completion functions and the -# like) are saved. This works best in versions of the shell from 4.3.11 -# which has facilities to check the evaluation context. Shell functions -# should use cd -q or pushd -q to avoid side effects if the change to the -# directory is to be invisible at the command line. See the function -# chpwd_recent_dirs for more details. -# -# Styles -# ====== -# -# Various styles are available. The context for setting styles should be -# ':chpwd:*' in case the meaning of the context is extended in future, for -# example: -# -# zstyle ':chpwd:*' recent-dirs-max 0 -# -# although the style name is specific enough that a context of '*' should -# be fine in practice. The only exception is recent-dirs-insert, which is -# used exclusively by the completion system and so has the usual completion -# system context (':completion:*' if nothing more specific is needed, -# though again '*' should be fine in practice). -# -# recent-dirs-default -# If true, and the command is expecting a recent directory index, and -# either there is more than one argument or the argument is not an -# integer, then fall through to "cd". This allows the lazy to use only -# one command for directory changing. Completion recognises this, too; -# see recent-dirs-insert for how to control completion when this option -# is in use. -# -# recent-dirs-file -# The file where the list of directories is saved. The default -# is ${ZDOTDIR:-$HOME}/.chpwd-recent-dirs, i.e. this is in your -# home directory unless you have set ZDOTDIR to point somewhere else. -# Directory names are saved in $'...' quoted form, so each line -# in the file can be supplied directly to the shell as an argument. -# -# The value of this style may be an array. In this case, the first -# file in the list will always be used for saving directories while any -# other files are left untouched. When reading the recent directory -# list, if there are fewer than the maximum number of entries in the -# first file, the contents of later files in the array will be appended -# with duplicates removed from the list shown. The contents of the two -# files are not sorted together, i.e. all the entries in the first file -# are shown first. The special value "+" can appear in the list to -# indicate the default file should be read at that point. This allows -# effects like the following: -# -# zstyle recent-dirs-file ':chpwd:*' ~/.chpwd-recent-dirs-${TTY##*/} + -# -# Recent directories are read from a file numbered according to -# the terminal. If there are insufficient entries the list -# is supplemented from the default file. -# -# recent-dirs-insert -# Used by completion. If recent-dirs-default is true, then setting -# this to true causes the actual directory, rather than its index, to -# be inserted on the command line; this has the same effect as using -# the corresponding index, but makes the history clearer and the line -# easier to edit. With this setting, if part of an argument was -# already typed, normal directory completion rather than recent -# directory completion is done; this is because recent directory -# completion is expected to be done by cycling through entries menu -# fashion. However, if the value of the style is "always", then only -# recent directories will be completed; in that case, use the cd -# command when you want to complete other directories. If the value is -# "fallback", recent directories will be tried first, then normal -# directory completion is performed if recent directory completion -# failed to find a match. Finally, if the value is "both" then both -# sets of completions are presented; the usual tag mechanism can be -# used to distinguish results, with recent directories tagged as -# "recent-dirs". Note that the recent directories inserted are -# abbreviated with directory names where appropriate. -# -# recent-dirs-max -# The maximum number of directories to save to the file. If -# this is zero or negative there is no maximum. The default is 20. -# Note this includes the current directory, which isn't offered, -# so the highest number of directories you will be offered -# is one less than the maximum. -# -# recent-dirs-prune -# This style is an array determining what directories should (or should -# not) be added to the recent list. Elements of the array can include: -# parent -# Prune parents (more accurately, ancestors) from the recent list. -# If present, changing directly down by any number of directories -# causes the current directory to be overwritten. For example, -# changing from ~pws to ~pws/some/other/dir causes ~pws not to be -# left on the recent directory stack. This only applies to direct -# changes to descendant directories; earlier directories on the -# list are not pruned. For example, changing from ~pws/yet/another -# to ~pws/some/other/dir does not cause ~pws to be pruned. -# pattern:<pattern> -# Gives a zsh pattern for directories that should not be -# added to the recent list (if not already there). This element -# can be repeated to add different patterns. For example, -# 'pattern:/tmp(|/*)' stops /tmp or its descendants from being -# added. The EXTENDED_GLOB option is always turned on for -# these patterns. -# -# recent-dirs-pushd -# If set to true, cdr will use pushd instead of cd to change the -# directory, so the directory is saved on the directory stack. As the -# directory stack is completely separate from the list of files saved -# by the mechanism used in this file there is no obvious reason to do -# this. -# -# Use with dynamic directory naming -# ================================= -# -# It is possible to refer to recent directories using the dynamic directory -# name syntax that appeared in zsh version 4.3.7. If you create and -# autoload a function zsh_directory_name containing the following code, -# ~[1] will refer to the most recent directory other than $PWD, and so on. -# This also includes completion (version 4.3.11 is required for this to -# work; previous versions needed the file _dynamic_directory_name to -# be overloaded). -# -# if [[ $1 = n ]]; then -# if [[ $2 = <-> ]]; then -# # Recent directory -# typeset -ga reply -# autoload -Uz cdr -# cdr -r -# if [[ -n ${reply[$2]} ]]; then -# reply=(${reply[$2]}) -# return 0 -# else -# reply=() -# return 1 -# fi -# fi -# elif [[ $1 = c ]]; then -# if [[ $PREFIX = <-> || -z $PREFIX ]]; then -# typeset -a keys values -# -# values=(${${(f)"$(cdr -l)"}/ ##/:}) -# keys=(${values%%:*}) -# -# _describe -t dir-index 'recent directory index' \ -# values keys -V unsorted -S']' -# return -# fi -# fi -# return 1 - - -emulate -L zsh -setopt extendedglob - -autoload -Uz chpwd_recent_filehandler chpwd_recent_add - -integer list set_reply i bad edit force_prune -local opt dir prune -local -aU dirs - -while getopts "elp:P:r" opt; do - case $opt in - (e) - edit=1 - ;; - - (l) - list=1 - ;; - - ([pP]) - prune=$OPTARG - edit=1 - [[ $opt = P ]] && force_prune=1 - ;; - - (r) - set_reply=1 - ;; - - (*) - return 1 - ;; - esac -done -shift $(( OPTIND - 1 )) - -if (( set_reply )); then - typeset -ga reply -else - local -a reply -fi - -if (( list || set_reply || edit )); then - (( $# )) && bad=1 -else - if [[ $#1 -eq 0 ]]; then - 1=1 - elif [[ $# -ne 1 || $1 != <-> ]]; then - if zstyle -t ':chpwd:' recent-dirs-default; then - cd "$@" - return - else - bad=1 - fi - fi -fi - -if (( bad )); then - print "Usage: $0 [-l | -r | <dir-num> ] -Use $0 -l or completion to see possible directories." - return 1 -fi - -chpwd_recent_filehandler - -if [[ $PWD != $reply[1] ]]; then - # When we first start we don't have the current directory. - # Add it now for consistency. - chpwd_recent_add $PWD && chpwd_recent_filehandler $reply -fi - -if (( edit )); then - if [[ -n $prune ]]; then - reply=(${reply:#$~prune}) - if [[ force_prune -eq 0 && -t 1 ]]; then - print -nrl "New list:" $reply 'Accept? ' - if ! read -q; then - print - return 1 - fi - print - fi - else - local compcontext='directories:directory:_path_files -/' - IFS=' -' vared reply || return 1 - fi - chpwd_recent_filehandler $reply -fi - -# Skip current directory if present (may have been pruned). -[[ $reply[1] = $PWD ]] && reply=($reply[2,-1]) - -if (( list )); then - dirs=($reply) - for (( i = 1; i <= ${#dirs}; i++ )); do - print -n ${(r.5.)i} - print -r ${(D)dirs[i]} - done - return -fi - -(( set_reply || edit )) && return - -if (( $1 > ${#reply} )); then - print "Not enough directories ($(( ${#dirs} - 1)) possibilities)" >&2 - return 1 -fi -dir=${reply[$1]} - -if zstyle -t ':chpwd:' recent-dirs-pushd; then - pushd -- $dir -else - cd -- $dir -fi diff --git a/result/sw/share/zsh/5.9/functions/checkmail b/result/sw/share/zsh/5.9/functions/checkmail deleted file mode 100755 index de177a66..00000000 --- a/result/sw/share/zsh/5.9/functions/checkmail +++ /dev/null @@ -1,27 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# -# This autoloadable function checks the folders specified as arguments -# for new mails. The arguments are interpreted in exactly the same way -# as the mailpath special zsh parameter (see zshparam(1)). -# -# If no arguments are given mailpath is used. If mailpath is empty, $MAIL -# is used and if that is also empty, /var/spool/mail/$LOGNAME is used. -# This function requires zsh-3.0.1 or newer. -# - -emulate -L zsh -local file message - -for file in "${@:-${mailpath[@]:-${MAIL:-/var/spool/mail/$LOGNAME}}}" -do - message="${${(M)file%%\?*}#\?}" - file="${file%%\?*}" - if [[ -d "$file" ]] then - file=( "$file"/**/*(.ND) ) - if (($#file)) then - checkmail ${^file}\?$message - fi - elif test -s "$file" -a -N "$file"; then # this also sets $_ to $file - print -r -- "${(e)message:-You have new mail.}" - fi -done diff --git a/result/sw/share/zsh/5.9/functions/chpwd_recent_add b/result/sw/share/zsh/5.9/functions/chpwd_recent_add deleted file mode 100644 index 49ec8d1c..00000000 --- a/result/sw/share/zsh/5.9/functions/chpwd_recent_add +++ /dev/null @@ -1,24 +0,0 @@ -# Helper for chpwd_recent_dirs. -# Add a directory to the reply array unless we're skipping it. -# If skipping, return non-zero status. - -local pat -local add=$1 -local -a prune patterns - -zstyle -a ':chpwd:' recent-dirs-prune prune -if (( ${#prune} )); then - patterns=(${${prune:#^pattern:*}##pattern:}) -fi - -for pat in $patterns; do - if [[ $add =~ ${~pat} ]]; then - return 1 - fi -done - -if [[ ${prune[(I)parent]} -ne 0 && $add = $reply[1]/* ]]; then - # replace - reply=($reply[2,-1]) -fi -reply=($add $reply) diff --git a/result/sw/share/zsh/5.9/functions/chpwd_recent_dirs b/result/sw/share/zsh/5.9/functions/chpwd_recent_dirs deleted file mode 100644 index 78608eea..00000000 --- a/result/sw/share/zsh/5.9/functions/chpwd_recent_dirs +++ /dev/null @@ -1,44 +0,0 @@ -# Save the current directory in the stack of most recently used directories. - -emulate -L zsh -setopt extendedglob - -local -aU reply -integer changed - -autoload -Uz chpwd_recent_filehandler chpwd_recent_add - -# Don't save if this is not interactive, or is in a subshell. -# Don't save if this is not being called directly from the top level -# of the shell via a straightforward sequence of shell functions. -# So this is called -# - on any straightforward cd or pushd (including AUTO_CD) -# - any time cd or pushd is called from a function invoked directly -# or indirectly from the command line, e.g. if pushd is a function -# fixing the order of directories that got broken years ago -# but it is not called any time -# - the shell is not interactive -# - we forked -# - we are being eval'd, including for some special purpose such -# as a style -# - we are not called from the top-level command loop, for example -# we are in a completion function (which is called from zle -# when the main top-level command interpreter isn't running) -# - obviously, when cd -q is in use (that's what the option is for). -# -# For compatibility with older shells, skip this test if $ZSH_EVAL_CONTEXT -# isn't set. This will never be the case inside a shell function when -# the variable is implemented. -if [[ ! -o interactive || $ZSH_SUBSHELL -ne 0 || \ - ( -n $ZSH_EVAL_CONTEXT && \ - $ZSH_EVAL_CONTEXT != toplevel(:[a-z]#func|)# ) ]]; then - return -fi - -chpwd_recent_filehandler - -if [[ $reply[1] != $PWD ]]; then - chpwd_recent_add $PWD && changed=1 - - (( changed )) && chpwd_recent_filehandler $reply -fi diff --git a/result/sw/share/zsh/5.9/functions/chpwd_recent_filehandler b/result/sw/share/zsh/5.9/functions/chpwd_recent_filehandler deleted file mode 100644 index 688612be..00000000 --- a/result/sw/share/zsh/5.9/functions/chpwd_recent_filehandler +++ /dev/null @@ -1,47 +0,0 @@ -# With arguments, output those files to the recent directory file. -# With no arguments, read in the directories from the file into $reply. -# -# Handles recent-dirs-file and recent-dirs-max styles. - -emulate -L zsh -setopt extendedglob - -integer max -local file line -local -a files dir -local default=${ZDOTDIR:-$HOME}/.chpwd-recent-dirs - -if zstyle -a ':chpwd:' recent-dirs-file files; then - files=(${files//(#s)+(#e)/$default}) -fi -if (( ${#files} == 0 )); then - files=($default) -fi - -zstyle -s ':chpwd:' recent-dirs-max max || max=20 - -if (( $# )); then - if (( max > 0 && ${#argv} > max )); then - argv=(${argv[1,max]}) - fi - # Quote on write. - # Use $'...' quoting... this fixes newlines and other nastiness. - print -rl ${(qqqq)argv} >${files[1]} -else - typeset -g reply - # Unquote on read. - reply=() - for file in $files; do - [[ -r $file ]] || continue - # Strip anything after the directory from the line. - # At the moment there isn't anything, but we'll make this - # future proof. - for line in ${(f)"$(<$file)"}; do - dir=(${(z)line}) - reply+=(${(Q)${dir[1]}}) - if (( max > 0 && ${#reply} == max )); then - break 2 - fi - done - done -fi diff --git a/result/sw/share/zsh/5.9/functions/colors b/result/sw/share/zsh/5.9/functions/colors deleted file mode 100644 index 5e9d77d1..00000000 --- a/result/sw/share/zsh/5.9/functions/colors +++ /dev/null @@ -1,120 +0,0 @@ -# Put standard ANSI color codes in shell parameters for easy use. -# Note that some terminals do not support all combinations. - -emulate -L zsh - -typeset -Ag color colour - -color=( -# Codes listed in this array are from ECMA-48, Section 8.3.117, p. 61. -# Those that are commented out are not widely supported or aren't closely -# enough related to color manipulation, but are included for completeness. - -# Attribute codes: - 00 none # 20 gothic - 01 bold # 21 double-underline - 02 faint 22 normal - 03 italic 23 no-italic # no-gothic - 04 underline 24 no-underline - 05 blink 25 no-blink -# 06 fast-blink # 26 proportional - 07 reverse 27 no-reverse -# 07 standout 27 no-standout - 08 conceal 28 no-conceal -# 09 strikethrough # 29 no-strikethrough - -# Font selection: -# 10 font-default -# 11 font-first -# 12 font-second -# 13 font-third -# 14 font-fourth -# 15 font-fifth -# 16 font-sixth -# 17 font-seventh -# 18 font-eighth -# 19 font-ninth - -# Text color codes: - 30 black 40 bg-black - 31 red 41 bg-red - 32 green 42 bg-green - 33 yellow 43 bg-yellow - 34 blue 44 bg-blue - 35 magenta 45 bg-magenta - 36 cyan 46 bg-cyan - 37 white 47 bg-white -# 38 iso-8316-6 # 48 bg-iso-8316-6 - 39 default 49 bg-default - -# Other codes: -# 50 no-proportional -# 51 border-rectangle -# 52 border-circle -# 53 overline -# 54 no-border -# 55 no-overline -# 56 through 59 reserved - -# Ideogram markings: -# 60 underline-or-right -# 61 double-underline-or-right -# 62 overline-or-left -# 63 double-overline-or-left -# 64 stress -# 65 no-ideogram-marking -) - -# A word about black and white: The "normal" shade of white is really a -# very pale grey on many terminals; to get truly white text, you have to -# use bold white, and to get a truly white background you have to use -# bold reverse white bg-xxx where xxx is your desired foreground color -# (and which means the foreground is also bold). - -# Map in both directions; could do this with e.g. ${(k)colors[(i)normal]}, -# but it's clearer to include them all both ways. - -local k -for k in ${(k)color}; do color[${color[$k]}]=$k; done - -# Add "fg-" keys for all the text colors, for clarity. - -for k in ${color[(I)3?]}; do color[fg-${color[$k]}]=$k; done - -# This is inaccurate, but the prompt theme system needs it. - -for k in grey gray; do - color[$k]=${color[black]} - color[fg-$k]=${color[$k]} - color[bg-$k]=${color[bg-black]} -done - -# Assistance for the color-blind. - -colour=(${(kv)color}) # A case where ksh namerefs would be useful ... - -# The following are terminal escape sequences used by colored prompt themes. - -local lc=$'\e[' rc=m # Standard ANSI terminal escape values - -typeset -Hg reset_color bold_color -reset_color="$lc${color[none]}$rc" -bold_color="$lc${color[bold]}$rc" - -# Foreground - -typeset -AHg fg fg_bold fg_no_bold -for k in ${(k)color[(I)fg-*]}; do - fg[${k#fg-}]="$lc${color[$k]}$rc" - fg_bold[${k#fg-}]="$lc${color[bold]};${color[$k]}$rc" - fg_no_bold[${k#fg-}]="$lc${color[normal]};${color[$k]}$rc" -done - -# Background - -typeset -AHg bg bg_bold bg_no_bold -for k in ${(k)color[(I)bg-*]}; do - bg[${k#bg-}]="$lc${color[$k]}$rc" - bg_bold[${k#bg-}]="$lc${color[bold]};${color[$k]}$rc" - bg_no_bold[${k#bg-}]="$lc${color[normal]};${color[$k]}$rc" -done diff --git a/result/sw/share/zsh/5.9/functions/compaudit b/result/sw/share/zsh/5.9/functions/compaudit deleted file mode 100644 index 93a04312..00000000 --- a/result/sw/share/zsh/5.9/functions/compaudit +++ /dev/null @@ -1,176 +0,0 @@ -# So that this file can also be read with `.' or `source' ... -compaudit() { # Define and then call - -# Audit the fpath to assure that it contains all the directories needed by -# the completion system, and that those directories are at least unlikely -# to contain dangerous files. This is far from perfect, as the modes or -# ownership of files or directories might change between the time of the -# audit and the time the function is executed. - -# This function is designed to be called from compinit, which assumes that -# it is in the same directory, i.e., it can be autoloaded from the initial -# fpath as compinit was. Most local parameter names in this function must -# therefore be the same as those used in compinit. - -emulate -L zsh -setopt extendedglob - -[[ -n $commands[getent] ]] || getent() { - if [[ $1 = hosts ]]; then - sed 's/#.*//' /etc/$1 | grep -w $2 - elif [[ $2 = <-> ]]; then - grep ":$2:[^:]*$" /etc/$1 - else - grep "^$2:" /etc/$1 - fi -} - -# The positional parameters are the directories to check, else fpath. -if (( $# )); then - local _compdir='' -elif (( $#fpath == 0 )); then - print 'compaudit: No directories in $fpath, cannot continue' 1>&2 - return 1 -else - set -- $fpath -fi - -# _i_check is defined by compinit; used here as a test for whether this -# function is running standalone or was called by compinit. If called -# by compinit, we use parameters that are defined in compinit's scope, -# otherwise we make them local here. -(( $+_i_check )) || { - local _i_q _i_line _i_file _i_fail=verbose - local -a _i_files _i_addfiles _i_wdirs _i_wfiles - local -a -U +h fpath -} - -fpath=( $* ) - -# _compdir may be defined by the user; see the compinit documentation. -# If it isn't defined, we want it to point somewhere sensible, but the -# user is allowed to set it to empty to bypass the check below. -(( $+_compdir )) || { - local _compdir=${fpath[(r)*/$ZSH_VERSION/*]} - [[ -z $_compdir ]] && _compdir=$fpath[1] - ### [[ -d $_compdir/../Base ]] && _compdir=${_compdir:h} -} - -_i_wdirs=() -_i_wfiles=() - -_i_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) -if [[ -n $_compdir ]]; then - if [[ $#_i_files -lt 20 || $_compdir = */Base || -d $_compdir/Base ]]; then - # Too few files: we need some more directories, or we need to check - # that all directories (not just Base) are present. - _i_addfiles=() - if [[ -d $_compdir/Base/Core ]]; then - # Add all the Completion subdirectories (CVS-layout) - _i_addfiles=(${_compdir}/*/*(/^M)) - elif [[ -d $_compdir/Base ]]; then - # Likewise (installation-layout) - _i_addfiles=(${_compdir}/*(/^M)) - fi - for _i_line in {1..$#_i_addfiles}; do - (( $_i_line )) || break - _i_file=${_i_addfiles[$_i_line]} - [[ -d $_i_file && -z ${fpath[(r)$_i_file]} ]] || - _i_addfiles[$_i_line]= - done - fpath=($fpath $_i_addfiles) - _i_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) - fi -fi - -[[ $_i_fail == use ]] && return 0 - -# We will always allow files to be owned by root and the owner of the -# present process. -local _i_owners="u0u${EUID}" - -# Places we will look for a link to the executable -local -a _i_exes -_i_exes=( - /proc/$$/exe - /proc/$$/object/a.out - ) -local _i_exe - -# If we can find out who owns the executable, we will allow files to -# be owned by that user, too. The argument is that if you don't trust -# the owner of the executable, it's way too late to worry about it now... -for _i_exe in $_i_exes; do - if [[ -e $_i_exe ]] ;then - if zmodload -F zsh/stat b:zstat 2>/dev/null; then - local -A _i_stathash - if zstat -H _i_stathash $_i_exe && - [[ $_i_stathash[uid] -ne 0 ]]; then - _i_owners+="u${_i_stathash[uid]}" - fi - fi - break - fi -done - -# We search for: -# - world/group-writable directories in fpath not owned by $_i_owners -# - parent-directories of directories in fpath that are world/group-writable -# and not owned by $_i_owners (that would allow someone to put a -# digest file for one of the directories into the parent directory) -# - digest files for one of the directories in fpath not owned by $_i_owners -# - and for files in directories from fpath not owned by $_i_owners -# (including zwc files) - -_i_wdirs=( ${^fpath}(N-f:g+w:,-f:o+w:,-^${_i_owners}) - ${^fpath:h}(N-f:g+w:,-f:o+w:,-^${_i_owners}) ) - -# RedHat Linux "per-user groups" check. This is tricky, because it's very -# difficult to tell whether the sysadmin has put someone else into your -# "private" group (e.g., via the default group field in /etc/passwd, or -# by NFS group sharing with an untrustworthy machine). So we must assume -# that this has not happened, and pick the best group. - -if (( $#_i_wdirs )); then - local GROUP GROUPMEM _i_pw _i_gid - if ((UID == EUID )); then - getent group $LOGNAME | IFS=: read GROUP _i_pw _i_gid GROUPMEM - else - getent group $EGID | IFS=: read GROUP _i_pw _i_gid GROUPMEM - fi - - if [[ $GROUP == $LOGNAME && ( -z $GROUPMEM || $GROUPMEM == $LOGNAME ) ]] - then - _i_wdirs=( ${^_i_wdirs}(N-f:g+w:^g:${GROUP}:,-f:o+w:,-^${_i_owners}) ) - fi -fi - -if [[ -f /etc/debian_version ]] -then - local _i_ulwdirs - _i_ulwdirs=( ${(M)_i_wdirs:#/usr/local/*} ) - _i_wdirs=( ${_i_wdirs:#/usr/local/*} ${^_i_ulwdirs}(Nf:g+ws:^g:staff:,f:o+w:,^u0) ) -fi - -_i_wdirs=( $_i_wdirs ${^fpath}.zwc^([^_]*|*~)(N-^${_i_owners}) ) -_i_wfiles=( ${^fpath}/^([^_]*|*~)(N-^${_i_owners}) ) - -case "${#_i_wdirs}:${#_i_wfiles}" in -(0:0) _i_q= ;; -(0:*) _i_q=files ;; -(*:0) _i_q=directories ;; -(*:*) _i_q='directories and files' ;; -esac - -if [[ -n "$_i_q" ]]; then - [[ $_i_fail == verbose ]] && { - print There are insecure ${_i_q}: 1>&2 - print -l - $_i_wdirs $_i_wfiles - } - return 1 -fi -return 0 - -} # Define and then call - -compaudit "$@" diff --git a/result/sw/share/zsh/5.9/functions/compdump b/result/sw/share/zsh/5.9/functions/compdump deleted file mode 100644 index 6daf92f9..00000000 --- a/result/sw/share/zsh/5.9/functions/compdump +++ /dev/null @@ -1,141 +0,0 @@ -# This is a function to dump the definitions for new-style -# completion defined by 'compinit' in the same directory. The output -# should be directed into the "compinit.dump" in the same directory as -# compinit. If you rename init, just stick .dump onto the end of whatever -# you have called it and put it in the same directory. This is handled -# automatically if you invoke compinit with the option -d. -# -# You will need to update the dump every time you add a new completion. -# To do this, simply remove the .dump file, start a new shell, and -# create the .dump file as before. Again, compinit -d handles this -# automatically. - -# Print the number of files used for completion. This is used in compinit -# to see if auto-dump should re-dump the dump-file. - -emulate -L zsh -setopt extendedglob noshglob - -typeset _d_file _d_f _d_fd _d_bks _d_line _d_als _d_files _d_name _d_tmp - -_d_file=${_comp_dumpfile-${0:h}/compinit.dump}.$HOST.$$ -[[ $_d_file = //* ]] && _d_file=${_d_file[2,-1]} - -[[ -w ${_d_file:h} ]] || return 1 - -_d_files=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N) ) - -if [[ -n "$_comp_secure" ]]; then - _d_wdirs=( ${^fpath}(Nf:g+w:,f:o+w:,^u0u${EUID}) ) - _d_wfiles=( ${^~fpath:/.}/^([^_]*|*~|*.zwc)(N^u0u${EUID}) ) - - (( $#_d_wfiles )) && _d_files=( "${(@)_d_files:#(${(j:|:)_d_wfiles})}" ) - (( $#_d_wdirs )) && _d_files=( "${(@)_d_files:#(${(j:|:)_d_wdirs})/*}" ) -fi - -exec {_d_fd}>$_d_file -print "#files: $#_d_files\tversion: $ZSH_VERSION" >& $_d_fd - -# Dump the arrays _comps, _services and _patcomps. The quoting -# hieroglyphics ensure that a single quote inside a variable is itself -# correctly quoted. - -print "\n_comps=(" >& $_d_fd -for _d_f in ${(ok)_comps}; do - print -r - "${(qq)_d_f}" "${(qq)_comps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_services=(" >& $_d_fd -for _d_f in ${(ok)_services}; do - print -r - "${(qq)_d_f}" "${(qq)_services[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_patcomps=(" >& $_d_fd -for _d_f in ${(ok)_patcomps}; do - print -r - "${(qq)_d_f}" "${(qq)_patcomps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -_d_tmp="_postpatcomps" -print "\n_postpatcomps=(" >& $_d_fd -for _d_f in ${(ok)_postpatcomps}; do - print -r - "${(qq)_d_f}" "${(qq)_postpatcomps[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print "\n_compautos=(" >& $_d_fd -for _d_f in "${(ok@)_compautos}"; do - print -r - "${(qq)_d_f}" "${(qq)_compautos[$_d_f]}" -done >& $_d_fd -print ")" >& $_d_fd - -print >& $_d_fd - -# Now dump the key bindings. We dump all bindings for zle widgets -# whose names start with a underscore. -# We need both the zle -C's and the bindkey's to recreate. -# We can ignore any zle -C which rebinds a standard widget (second -# argument to zle does not begin with a `_'). - -_d_bks=() -typeset _d_complist= -zle -lL | - while read -rA _d_line; do - if [[ ${_d_line[3]} = _* && ${_d_line[5]} = _* ]]; then - if [[ -z "$_d_complist" && ${_d_line[4]} = .menu-select ]]; then - print 'zmodload -i zsh/complist' - _d_complist=yes - fi - print -r - ${_d_line} - _d_bks+=(${_d_line[3]}) - fi - done >& $_d_fd -bindkey | - while read -rA _d_line; do - if [[ ${_d_line[2]} = (${(j.|.)~_d_bks}) ]]; then - print -r "bindkey '${_d_line[1][2,-2]}' ${_d_line[2]}" - fi - done >& $_d_fd - -print >& $_d_fd - - -# Autoloads: look for all defined functions beginning with `_' (that also -# exists in fpath: see workers/38547). - -_d_als=($^fpath/(${(o~j.|.)$(typeset +fm '_*')})(N:t)) - -# print them out: about five to a line looks neat - -integer _i=5 -print -n autoload -Uz >& $_d_fd -while (( $#_d_als )); do - if (( ! $+_compautos[$_d_als[1]] )); then - print -n " $_d_als[1]" - if (( ! --_i && $#_d_als > 1 )); then - _i=5 - print -n ' \\\n ' - fi - fi - shift _d_als -done >& $_d_fd - -print >& $_d_fd - -local _c -for _c in "${(ok@)_compautos}"; do - print "autoload -Uz $_compautos[$_c] $_c" >& $_d_fd -done - -print >& $_d_fd - -print "typeset -gUa _comp_assocs" >& $_d_fd -print "_comp_assocs=( ${(qq)_comp_assocs} )" >& $_d_fd -exec {_d_fd}>&- - -mv -f $_d_file ${_d_file%.$HOST.$$} - -unfunction compdump -autoload -Uz compdump diff --git a/result/sw/share/zsh/5.9/functions/compinit b/result/sw/share/zsh/5.9/functions/compinit deleted file mode 100644 index 5cb527fa..00000000 --- a/result/sw/share/zsh/5.9/functions/compinit +++ /dev/null @@ -1,573 +0,0 @@ -# Initialisation for new style completion. This mainly contains some helper -# functions and setup. Everything else is split into different files that -# will automatically be made autoloaded (see the end of this file). The -# names of the files that will be considered for autoloading are those that -# begin with an underscores (like `_condition). -# -# The first line of each of these files is read and must indicate what -# should be done with its contents: -# -# `#compdef <names ...>' -# If the first line looks like this, the file is autoloaded as a -# function and that function will be called to generate the matches -# when completing for one of the commands whose <names> are given. -# The names may also be interspersed with `-T <assoc>' options -# specifying for which set of functions this should be added. -# -# `#compdef -[pP] <patterns ...>' -# This defines a function that should be called to generate matches -# for commands whose name matches <pattern>. Note that only one pattern -# may be given. -# -# `#compdef -k <style> [ <key-sequence> ... ]' -# This is used to bind special completions to all the given -# <key-sequence>(s). The <style> is the name of one of the built-in -# completion widgets (complete-word, delete-char-or-list, -# expand-or-complete, expand-or-complete-prefix, list-choices, -# menu-complete, menu-expand-or-complete, or reverse-menu-complete). -# This creates a widget behaving like <style> so that the -# completions are chosen as given in the rest of the file, -# rather than by the context. The widget has the same name as -# the autoload file and can be bound using bindkey in the normal way. -# -# `#compdef -K <widget-name> <style> <key-sequence> [ ... ]' -# This is similar to -k, except it takes any number of sets of -# three arguments. In each set, the widget <widget-name> will -# be defined, which will behave as <style>, as with -k, and will -# be bound to <key-sequence>, exactly one of which must be defined. -# <widget-name> must be different for each: this must begin with an -# underscore, else one will be added, and should not clash with other -# completion widgets (names based on the name of the function are the -# clearest), but is otherwise arbitrary. It can be tested in the -# function by the parameter $WIDGET. -# -# `#autoload [ <options> ]' -# This is for helper functions that are not used to -# generate matches, but should automatically be loaded -# when they are called. The <options> will be given to the -# autoload builtin when making the function autoloaded. Note -# that this need not include `-U' and `-z'. -# -# Note that no white space is allowed between the `#' and the rest of -# the string. -# -# Functions that are used to generate matches should return zero if they -# were able to add matches and non-zero otherwise. -# -# See the file `compdump' for how to speed up initialisation. - -# If we got the `-d'-flag, we will automatically dump the new state (at -# the end). This takes the dumpfile as an argument. -d (with the -# default dumpfile) is now the default; to turn off dumping use -D. - -# If the dumpfile is being regenerated and you don't know why, you can use -# the -w flag to see if it was because -D was passed, zsh version mismatched, -# or number of files in $fpath differed. - -# The -C flag bypasses both the check for rebuilding the dump file and the -# usual call to compaudit; the -i flag causes insecure directories found by -# compaudit to be ignored, and the -u flag causes all directories found by -# compaudit to be used (without security checking). Otherwise the user is -# queried for whether to use or ignore the insecure directories (which -# means compinit should not be called from non-interactive shells). - -emulate -L zsh -setopt extendedglob - -typeset _i_dumpfile _i_files _i_line _i_done _i_dir _i_autodump=1 -typeset _i_tag _i_file _i_addfiles _i_fail=ask _i_check=yes _i_name _i_why - -while [[ $# -gt 0 && $1 = -[dDiuCw] ]]; do - case "$1" in - -d) - _i_autodump=1 - shift - if [[ $# -gt 0 && "$1" != -[dfQC] ]]; then - _i_dumpfile="$1" - shift - fi - ;; - -D) - _i_autodump=0 - shift - ;; - -i) - _i_fail=ign - shift - ;; - -u) - _i_fail=use - shift - ;; - -C) - _i_check= - shift - ;; - -w) - _i_why=1 - shift - ;; - esac -done - -# The associative arrays containing the definitions for the commands and -# services. - -typeset -gHA _comps _services _patcomps _postpatcomps - -# `_compautos' contains the names and options for autoloaded functions -# that get options. - -typeset -gHA _compautos - -# The associative array use to report information about the last -# completion to the outside. - -typeset -gHA _lastcomp - -# Remember dumpfile. -if [[ -n $_i_dumpfile ]]; then - # Explicitly supplied dumpfile. - typeset -g _comp_dumpfile="$_i_dumpfile" -else - typeset -g _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump" -fi - -# The standard options set in completion functions. - -typeset -gHa _comp_options -_comp_options=( - bareglobqual - extendedglob - glob - multibyte - multifuncdef - nullglob - rcexpandparam - unset - NO_allexport - NO_aliases - NO_cshnullglob - NO_cshjunkiequotes - NO_errexit - NO_errreturn - NO_globassign - NO_globsubst - NO_histsubstpattern - NO_ignorebraces - NO_ignoreclosebraces - NO_kshglob - NO_ksharrays - NO_kshtypeset - NO_markdirs - NO_octalzeroes - NO_posixbuiltins - NO_posixidentifiers - NO_shwordsplit - NO_shglob - NO_typesettounset - NO_warnnestedvar - NO_warncreateglobal -) - -# And this one should be `eval'ed at the beginning of every entry point -# to the completion system. It sets up what we currently consider a -# sane environment. That means we set the options above, make sure we -# have a valid stdin descriptor (zle closes it before calling widgets) -# and don't get confused by user's ZERR trap handlers. - -typeset -gH _comp_setup='local -A _comp_caller_options; - _comp_caller_options=(${(kv)options[@]}); - setopt localoptions localtraps localpatterns ${_comp_options[@]}; - local IFS=$'\'\ \\t\\r\\n\\0\''; - builtin enable -p \| \~ \( \? \* \[ \< \^ \# 2>&-; - exec </dev/null; - trap - ZERR; - local -a reply; - local REPLY; - local REPORTTIME; - unset REPORTTIME' - -# These can hold names of functions that are to be called before/after all -# matches have been generated. - -typeset -ga compprefuncs comppostfuncs -compprefuncs=() -comppostfuncs=() - -# Loading it now ensures that the `funcstack' parameter is always correct. - -: $funcstack - -# This function is used to register or delete completion functions. For -# registering completion functions, it is invoked with the name of the -# function as it's first argument (after the options). The other -# arguments depend on what type of completion function is defined. If -# none of the `-p' and `-k' options is given a function for a command is -# defined. The arguments after the function name are then interpreted as -# the names of the command for which the function generates matches. -# With the `-p' option a function for a name pattern is defined. This -# function will be invoked when completing for a command whose name -# matches the pattern given as argument after the function name (in this -# case only one argument is accepted). -# The option `-P' is like `-p', but the function will be called after -# trying to find a function defined for the command on the line if no -# such function could be found. -# With the `-k' option a function for a special completion keys is -# defined and immediately bound to those keys. Here, the extra arguments -# are the name of one of the builtin completion widgets and any number -# of key specifications as accepted by the `bindkey' builtin. -# In any case the `-a' option may be given which makes the function -# whose name is given as the first argument be autoloaded. When defining -# a function for command names the `-n' option may be given and keeps -# the definitions from overriding any previous definitions for the -# commands; with `-k', the `-n' option prevents compdef from rebinding -# a key sequence which is already bound. -# For deleting definitions, the `-d' option must be given. Without the -# `-p' option, this deletes definitions for functions for the commands -# whose names are given as arguments. If combined with the `-p' option -# it deletes the definitions for the patterns given as argument. -# The `-d' option may not be combined with the `-k' option, i.e. -# definitions for key function can not be removed. -# -# Examples: -# -# compdef -a foo bar baz -# make the completion for the commands `bar' and `baz' use the -# function `foo' and make this function be autoloaded -# -# compdef -p foo 'c*' -# make completion for all command whose name begins with a `c' -# generate matches by calling the function `foo' before generating -# matches defined for the command itself -# -# compdef -k foo list-choices '^X^M' '\C-xm' -# make the function `foo' be invoked when typing `Control-X Control-M' -# or `Control-X m'; the function should generate matches and will -# behave like the `list-choices' builtin widget -# -# compdef -d bar baz -# delete the definitions for the command names `bar' and `baz' - -compdef() { - local opt autol type func delete eval new i ret=0 cmd svc - local -a match mbegin mend - - emulate -L zsh - setopt extendedglob - - # Get the options. - - if (( ! $# )); then - print -u2 "$0: I need arguments" - return 1 - fi - - while getopts "anpPkKde" opt; do - case "$opt" in - a) autol=yes;; - n) new=yes;; - [pPkK]) if [[ -n "$type" ]]; then - # Error if both `-p' and `-k' are given (or one of them - # twice). - print -u2 "$0: type already set to $type" - return 1 - fi - if [[ "$opt" = p ]]; then - type=pattern - elif [[ "$opt" = P ]]; then - type=postpattern - elif [[ "$opt" = K ]]; then - type=widgetkey - else - type=key - fi - ;; - d) delete=yes;; - e) eval=yes;; - esac - done - shift OPTIND-1 - - if (( ! $# )); then - print -u2 "$0: I need arguments" - return 1 - fi - - if [[ -z "$delete" ]]; then - # If the first word contains an equal sign, all words must contain one - # and we define which services to use for the commands. - - if [[ -z "$eval" ]] && [[ "$1" = *\=* ]]; then - while (( $# )); do - if [[ "$1" = *\=* ]]; then - cmd="${1%%\=*}" - svc="${1#*\=}" - func="$_comps[${_services[(r)$svc]:-$svc}]" - [[ -n ${_services[$svc]} ]] && - svc=${_services[$svc]} - [[ -z "$func" ]] && - func="${${_patcomps[(K)$svc][1]}:-${_postpatcomps[(K)$svc][1]}}" - if [[ -n "$func" ]]; then - _comps[$cmd]="$func" - _services[$cmd]="$svc" - else - print -u2 "$0: unknown command or service: $svc" - ret=1 - fi - else - print -u2 "$0: invalid argument: $1" - ret=1 - fi - shift - done - - return ret - fi - - # Adding definitions, first get the name of the function name - # and probably do autoloading. - - func="$1" - [[ -n "$autol" ]] && autoload -rUz "$func" - shift - - case "$type" in - widgetkey) - while [[ -n $1 ]]; do - if [[ $# -lt 3 ]]; then - print -u2 "$0: compdef -K requires <widget> <comp-widget> <key>" - return 1 - fi - [[ $1 = _* ]] || 1="_$1" - [[ $2 = .* ]] || 2=".$2" - [[ $2 = .menu-select ]] && zmodload -i zsh/complist - zle -C "$1" "$2" "$func" - if [[ -n $new ]]; then - bindkey "$3" | IFS=$' \t' read -A opt - [[ $opt[-1] = undefined-key ]] && bindkey "$3" "$1" - else - bindkey "$3" "$1" - fi - shift 3 - done - ;; - key) - if [[ $# -lt 2 ]]; then - print -u2 "$0: missing keys" - return 1 - fi - - # Define the widget. - if [[ $1 = .* ]]; then - [[ $1 = .menu-select ]] && zmodload -i zsh/complist - zle -C "$func" "$1" "$func" - else - [[ $1 = menu-select ]] && zmodload -i zsh/complist - zle -C "$func" ".$1" "$func" - fi - shift - - # And bind the keys... - for i; do - if [[ -n $new ]]; then - bindkey "$i" | IFS=$' \t' read -A opt - [[ $opt[-1] = undefined-key ]] || continue - fi - bindkey "$i" "$func" - done - ;; - *) - # For commands store the function name in the - # associative array, command names as keys. - while (( $# )); do - if [[ "$1" = -N ]]; then - type=normal - elif [[ "$1" = -p ]]; then - type=pattern - elif [[ "$1" = -P ]]; then - type=postpattern - else - case "$type" in - pattern) - if [[ $1 = (#b)(*)=(*) ]]; then - _patcomps[$match[1]]="=$match[2]=$func" - else - _patcomps[$1]="$func" - fi - ;; - postpattern) - if [[ $1 = (#b)(*)=(*) ]]; then - _postpatcomps[$match[1]]="=$match[2]=$func" - else - _postpatcomps[$1]="$func" - fi - ;; - *) - if [[ "$1" = *\=* ]]; then - cmd="${1%%\=*}" - svc=yes - else - cmd="$1" - svc= - fi - if [[ -z "$new" || -z "${_comps[$1]}" ]]; then - _comps[$cmd]="$func" - [[ -n "$svc" ]] && _services[$cmd]="${1#*\=}" - fi - ;; - esac - fi - shift - done - ;; - esac - else - # Handle the `-d' option, deleting. - - case "$type" in - pattern) - unset "_patcomps[$^@]" - ;; - postpattern) - unset "_postpatcomps[$^@]" - ;; - key) - # Oops, cannot do that yet. - - print -u2 "$0: cannot restore key bindings" - return 1 - ;; - *) - unset "_comps[$^@]" - esac - fi -} - -# Now we automatically make the definition files autoloaded. - -typeset _i_wdirs _i_wfiles - -_i_wdirs=() -_i_wfiles=() - -autoload -RUz compaudit -if [[ -n "$_i_check" ]]; then - typeset _i_q - if ! eval compaudit; then - if [[ -n "$_i_q" ]]; then - if [[ "$_i_fail" = ask ]]; then - if ! read -q \ -"?zsh compinit: insecure $_i_q, run compaudit for list. -Ignore insecure $_i_q and continue [y] or abort compinit [n]? "; then - print -u2 "$0: initialization aborted" - unfunction compinit compdef - unset _comp_dumpfile _comp_secure compprefuncs comppostfuncs \ - _comps _patcomps _postpatcomps _compautos _lastcomp - - return 1 - fi - fi - fpath=(${fpath:|_i_wdirs}) - (( $#_i_wfiles )) && _i_files=( "${(@)_i_files:#(${(j:|:)_i_wfiles%.zwc})}" ) - (( $#_i_wdirs )) && _i_files=( "${(@)_i_files:#(${(j:|:)_i_wdirs%.zwc})/*}" ) - fi - typeset -g _comp_secure=yes - fi -fi - -# Make sure compdump is available, even if we aren't going to use it. -autoload -RUz compdump compinstall - -# If we have a dump file, load it. - -_i_done='' - -if [[ -f "$_comp_dumpfile" ]]; then - if [[ -n "$_i_check" ]]; then - IFS=$' \t' read -rA _i_line < "$_comp_dumpfile" - if [[ _i_autodump -eq 1 && $_i_line[2] -eq $#_i_files && - $ZSH_VERSION = $_i_line[4] ]] - then - builtin . "$_comp_dumpfile" - _i_done=yes - elif [[ _i_why -eq 1 ]]; then - print -nu2 "Loading dump file skipped, regenerating" - local pre=" because: " - if [[ _i_autodump -ne 1 ]]; then - print -nu2 $pre"-D flag given" - pre=", " - fi - if [[ $_i_line[2] -ne $#_i_files ]]; then - print -nu2 $pre"number of files in dump $_i_line[2] differ from files found in \$fpath $#_i_files" - pre=", " - fi - if [[ $ZSH_VERSION != $_i_line[4] ]]; then - print -nu2 $pre"zsh version changed from $_i_line[4] to $ZSH_VERSION" - fi - print -u2 - fi - else - builtin . "$_comp_dumpfile" - _i_done=yes - fi -elif [[ _i_why -eq 1 ]]; then - print -u2 "No existing compdump file found, regenerating" -fi -if [[ -z "$_i_done" ]]; then - typeset -A _i_test - - for _i_dir in $fpath; do - [[ $_i_dir = . ]] && continue - (( $_i_wdirs[(I)$_i_dir] )) && continue - for _i_file in $_i_dir/^([^_]*|*~|*.zwc)(N); do - _i_name="${_i_file:t}" - (( $+_i_test[$_i_name] + $_i_wfiles[(I)$_i_file] )) && continue - _i_test[$_i_name]=yes - IFS=$' \t' read -rA _i_line < $_i_file - _i_tag=$_i_line[1] - shift _i_line - case $_i_tag in - (\#compdef) - if [[ $_i_line[1] = -[pPkK](n|) ]]; then - compdef ${_i_line[1]}na "${_i_name}" "${(@)_i_line[2,-1]}" - else - compdef -na "${_i_name}" "${_i_line[@]}" - fi - ;; - (\#autoload) - autoload -rUz "$_i_line[@]" ${_i_name} - [[ "$_i_line" != \ # ]] && _compautos[${_i_name}]="$_i_line" - ;; - esac - done - done - - # If autodumping was requested, do it now. - - if [[ $_i_autodump = 1 ]]; then - compdump - fi -fi - -# Rebind the standard widgets -for _i_line in complete-word delete-char-or-list expand-or-complete \ - expand-or-complete-prefix list-choices menu-complete \ - menu-expand-or-complete reverse-menu-complete; do - zle -C $_i_line .$_i_line _main_complete -done -zle -la menu-select && zle -C menu-select .menu-select _main_complete - -# If the default completer set includes _expand, and tab is bound -# to expand-or-complete, rebind it to complete-word instead. -bindkey '^i' | IFS=$' \t' read -A _i_line -if [[ ${_i_line[2]} = expand-or-complete ]] && - zstyle -a ':completion:' completer _i_line && - (( ${_i_line[(i)_expand]} <= ${#_i_line} )); then - bindkey '^i' complete-word -fi - -unfunction compinit compaudit -autoload -RUz compinit compaudit - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/compinstall b/result/sw/share/zsh/5.9/functions/compinstall deleted file mode 100644 index 2e4b2f4e..00000000 --- a/result/sw/share/zsh/5.9/functions/compinstall +++ /dev/null @@ -1,2013 +0,0 @@ -# Configure the completion system. - -emulate -L zsh -setopt extendedglob - -zmodload -F zsh/files b:zf_ln || return 1 - -local key -local compcontext=-default- - -__ci_tidyup() { - unfunction -m __ci_\* 2>/dev/null - unfunction compinstall - autoload -Uz compinstall -} - -__ci_newline() { - read -k \ - key"?${1:---- Hit newline to continue or \`q' to exit without saving --- }" - print - if [[ $key = [qQ] ]]; then - print "compinstall aborted." - __ci_tidyup - return 1 - else - return 0 - fi -} - -typeset startline='# The following lines were added by compinstall' -typeset endline='# End of lines added by compinstall' -typeset ifile line fpath_line compinit_args opt detect basic line2 -typeset -A styles -typeset match mbegin mend warn_unknown warn_old warn_comment output -integer lines_found - -while getopts "do" opt; do - case $opt in - (d) - # Detect an existing compinstall setup. - detect=1 - ;; - - (o) - # Output basic setup information only. - basic=1 - ;; - esac -done - -# -# Check the user's .zshrc, if any. -# -# This relies on the stuff we find being only minimally edited from -# the stuff we originally saved. A better way of doing this would -# almost certainly be to use the style mechanism directly: save the -# current styles in a variable, delete all styles, read in and evaluate -# any styles found, manipulate styles directly using zstyle, write out -# using zstyle -L, and if necessary restore the original styles. One -# day I may even do that. -# - -__ci_test_ifile() { - [[ -f $1 ]] && grep "$endline" $1 >/dev/null 2>&1 -} - -local foundold=false -if zstyle -s :compinstall filename ifile && - __ci_test_ifile $ifile; then - foundold=true -else - ifile=${ZDOTDIR:-~}/.zshrc - if __ci_test_ifile ${ZDOTDIR:-~}/.compinstall; then - ifile=${ZDOTDIR:-~}/.compinstall - foundold=true - elif __ci_test_ifile $ifile; then - foundold=true - fi -fi - - -if [[ -n $detect ]]; then - __ci_tidyup - [[ $foundold = true ]] - return -fi - - -__ci_output() { - print -r "$startline" - [[ -n $output ]] && print -r "$output" - if [[ -n $ifile ]]; then - line="zstyle :compinstall filename ${(qq)ifile}" - print -r "$line" - eval "$line" - fi - - [[ -n $fpath_line ]] && print -r "$fpath_line" - - print -r " -autoload -Uz compinit -compinit${compinit_args:+ $compinit_args}" - - print -r "$endline" -} - - -if [[ -n $basic ]]; then - __ci_output - __ci_tidyup - return -fi - -local newifile=$ifile -if [[ $foundold = true ]]; then - if [[ $newifile != [~/]* ]]; then - newifile=${ZDOTDIR:-~}/$newifile - print "[Existing completion definition file is not absolute path: -updating to $newifile]" - fi - print "I have found completion definitions in $newifile. -If you want me to read these, just hit return. Otherwise, edit the file -name to look for definitions somewhere else, or delete the whole line -in order not to use existing definitions." - vared -ch -p 'file> ' newifile - if [[ -n $newifile && $newifile != [/~]* ]]; then - newifile=$PWD/$newifile - print "[Not absolute path: updating to $newifile]" - fi - [[ -z $newifile || ! -f $newifile ]] && foundold=false -else - print "I haven't found any existing completion definitions. -If you have some already defined by compinstall, edit the name of the -file where these can be found. Note that this will only work if they -are exactly the form in which compinstall inserted them. If you leave -the line as it is, or empty, I won't search." - while true; do - vared -ch -p 'file> ' newifile || break - if [[ -n $newifile && $newifile != [/~]* ]]; then - newifile=$PWD/$newifile - print "[Not absolute path: updating to $newifile]" - fi - if [[ -n $newifile && $ifile != $newifile ]]; then - if __ci_test_ifile $newifile; then - foundold=true - break - fi - print "I couldn't find any definitions there. Edit a new filename, or -leave the line blank to ignore it." - else - break - fi - done -fi -ifile=${~newifile} - -if [[ $foundold = true ]]; then - sed -n "/^[ ]*$startline/,/^[ ]*$endline/p" $ifile | - # We can't use the default read behaviour to handle continuation lines - # since it messes up internal backslashes. - while read -r line; do - # detect real continuation backslashes by checking there are an - # odd number together. i think this is reliable since the only - # other way of quoting a backslash involves following it with - # a closing quote. - while [[ $line = *\\ ]]; do - line2=${(M)line%%\\##} - (( ${#line2} & 1 )) || break - read -r line2 || break - line="${line[1,-2]}$line2" - done - (( lines_found++ )) - if [[ $line = *'$fpath'* ]]; then - fpath_line=$line - if [[ $line != *\) ]]; then - while read -r line; do - fpath_line="$fpath_line -$line" - [[ $line = *\) ]] && break - done - fi - elif [[ $line = (#b)[[:blank:]]#zstyle[[:blank:]]##(\'[^\']#\')\ -[[:blank:]]##([^[:blank:]]##)[[:blank:]]##(*) ]]; then - styles[$match[2]]="${styles[$match[2]]:+${styles[$match[2]]} -}${(Q)match[1]} -${match[3]}" - elif [[ $line = [[:blank:]]#compconf* ]]; then - warn_old=1 - elif [[ $line == $startline || $line == $endline ]]; then - # no-op - elif [[ $line = [[:blank:]]#\#* ]]; then - warn_comment=1 - elif [[ $line = [[:blank:]]#compinit[[:blank:]]##(#b)([^[:blank:]]*) ]] - then - compinit_args=$match[1] - elif [[ $line != [[:blank:]]# && - $line != [[:blank:]]#'autoload '*' compinit' && - $line != [[:blank:]]#compinit && - $line != [[:blank:]]#zstyle[[:blank:]]#:compinstall* ]]; then - warn_unknown="${warn_unknown:+$warn_unknown -}$line" - fi - done -fi - -# -# Print warnings about what we found in .zshrc. -# - -if [[ -n $warn_old ]]; then - print "\ -WARNING: your configuration appears to contain commands for the 3.1.6 -configuration system. You will have to reconfigure from scratch and the -existing configuration commands will be overwritten. If you wish to preserve -the old commands, you should quit, copy them somewhere else, then rerun -compinstall. Sorry." -elif [[ -n $warn_unknown ]]; then - print "\ -WARNING: your configuration contains bits not understood by compinstall, -which will not be retained (shown below). If you wish to retain these, you -should quit, copy them somewhere else, and then rerun compinstall. - -$warn_unknown" -elif [[ -n $warn_comment ]]; then - print "All the comments in your configuration section will be lost. -If you want to keep them, you should copy them somewhere else first." -elif (( ! $lines_found )); then - print "Starting a new completion configuration from scratch." - if [[ -n $ifile && ! -d $ifile ]]; then - print -n "This will be " - if [[ ! -f $ifile ]]; then - print "written to the new file $ifile." - elif [[ ! -w $ifile ]]; then - print "written to the file ~/.compinstall for copying to $ifile." - ifile=$HOME/.compinstall - else - print "appended to the file $ifile. It is up to you to ensure -that these lines are actually executed. They will not be if your .zshrc -usually returns before the end." - fi - fi -fi -print "Note that you will be given a chance to save the new setup -somewhere else at the end." - - -__ci_newline || return 1 - - -typeset d compdir subdirs lines - -# -# Make sure we have the completion functions in $fpath. -# - -__ci_set_compdir() { - for d in $*; do - # If we find both the functions more than once, assume the later - # one is the standard set. - if [[ -f $d/compinit && -f $d/compdump ]]; then - compdir=$d - fi - done -} - -__ci_set_compdir $fpath - -if [[ -d $compdir/Base/Core ]]; then - subdirs=2 -elif [[ -d $compdir/Base ]]; then - subdirs=1 - ### compdir=${compdir:h} -fi - -if [[ -z $compdir ]]; then - # Start up a new zsh and get its default fpath. If some swine has - # tinkered with this in /etc/zshenv we're out of luck. - lines=(${(f)"$(zsh -fc 'print -l $ZSH_VERSION $fpath')"}) - line=$lines[1] - shift lines - # If the zsh in that path isn't right, maybe the user's shell is elsewhere. - if [[ $line != $ZSH_VERSION && -x $SHELL ]]; then - lines=(${(f)"$($SHELL -fc 'print -l $ZSH_VERSION $fpath' 2>/dev/null)"}) - line=$lines[1] - shift lines - fi - if [[ $line != $ZSH_VERSION ]]; then - print "Hmmm, the zsh in your path is not what's running, nor is \$SHELL. -That's bad. -" - fi - __ci_set_compdir $lines - if [[ -n $compdir ]]; then - print "\ -I've found the completion directories and will add them to your \$fpath, -but they should already be there at shell startup, so something (probably -an unconditional assignment in a startup file) is taking them out. You -might want to check this, although what I'm doing should work." - if [[ -n $fpath_line ]]; then - print "\ - -What's more, there is already an \$fpath assignment in your completion -setup. This gives me cause for concern. I will override this, but don't -be surprised if it doesn't go according to plan. If you have not -initialised completion in this shell, you should do so, then run -compinstall again." - fi - fi - if [[ $subdirs = 2 ]]; then - fpath_line=($compdir/[A-Z]*/[A-Z]*) - fpath_line="fpath=($fpath ${(F)fpath_line})" - elif [[ -n $subdirs ]]; then - fpath_line=($compdir/[A-Z]*) - fpath_line="fpath=($fpath ${(F)fpath_line})" - fi -else - if [[ $subdirs = 2 ]]; then - print "Completion directories $compdir/*/* -are already in your \$fpath, good." - elif [[ -n $subdirs ]]; then - print "Completion directories $compdir/* -are already in your \$fpath, good." - else - print "Completion directory $compdir -is already in your \$fpath, good." - fi - if [[ -n $fpath_line ]]; then - print "I shall keep the existing \$fpath=( ... ) assignment." - fi -fi - -if [[ -z $compdir ]]; then - print "\ -The zsh in your path doesn't seem to have completion directories in the -function autoload path (\$fpath). This suggests the shell wasn't installed -for completion. If you want to use it, you will need to locate all the -completion functions yourself and install them in your \$fpath. I will -continue, but don't expect this to have much effect until you do. - -If you are planning to continue using the old compctl system for -completion, compinstall won't do you any good anyway." -fi - -__ci_newline || return 1 - - -# -# Code for changing styles -# - -typeset defcontext=":completion:*" -typeset curcontext=$defcontext - -# -# Utility functions -# - -# -# Get the style $1 for $curcontext into $2. -# -__ci_get_this_style() { - typeset -A tassoc - local style=$1 scalar=$2 - - tassoc=(${(f)styles[$style]}) - eval "$scalar=\${tassoc[\$curcontext]}" -} - -# -# Set the style $1 for $curcontext using scalar $2 for the value for this -# context. If $2 is null, delete the context (this may not be correct for -# all styles). Don't do any extra quotation. -# $2 gives the name of the scalar for symmetry with __ci_get_this_style. -# -__ci_set_this_style() { - local style=$1 scalar=$2 k - typeset -A tassoc - tassoc=(${(f)styles[$style]}) - - if [[ -n ${(P)scalar} ]]; then - tassoc[$curcontext]=${(P)scalar} - else - unset "tassoc[$curcontext]" - fi - - styles[$style]= - for k in ${(ko)tassoc}; do - styles[$style]="${styles[$style]:+$styles[$style] -}$k -${tassoc[$k]}" - done -} - -# -# Functions displaying menus -# - -__ci_change_context() { - clear - print "\ - *** compinstall: change context *** - -The context tells the completion system under what circumstances your -value will be used. It has this form: - :completion:<function-name>:<completer>:<command>:<argument>:<tag> -See the documentation for more detail on each of these components. The -default context \`$defcontext' matches everywhere in completion, unless you -define a more specific pattern which matches the completion context being -used. \`More specific' means either a string instead of a pattern, or a -longer pattern instead of a shorter pattern. - -Edit a new context, or leave the line blank to reset the context to the -default value. Note that you do not require quotes around the context, -which will automatically be added later. Line editing and history are -available. -" - - vared -eh -p 'context> ' curcontext - [[ -z $curcontext ]] && curcontext=$defcontext -} - - -__ci_toggle_completer() { - # used locally within __ci_do_completers - if [[ -n $completers[$1] ]]; then - completers[$1]= - else - completers[$1]=1 - fi -} - -__ci_do_minor_completer_options() { - # Set the options for the minor completers. - local key cond word olist omenu moriginal aspace tmparr - __ci_get_this_style condition cond - [[ -n $cond ]] && cond=${(Q)cond} - __ci_get_this_style word word - __ci_get_this_style old-list olist - __ci_get_this_style old-menu omenu - __ci_get_this_style match-original moriginal - __ci_get_this_style add-space aspace - - while true; do - - # insert-unambiguous can be handled somewhere else. - clear - print "\ - *** compinstall: minor completer options *** - -Current context: $curcontext - -l. Set options for _list: condition for delay and comparison. -o. Set options for _oldlist: when to keep old list. -m. Set options for _match: whether to assume a \`*' at the cursor. -p. Set options for _prefix: whether to add a space before the suffix. - -q. Return to the previous menu without saving. -0. Done setting completer options. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - [lL]) print "\ -You can set a condition under which the _list completer will delay completion -until the second keypress. It should evaluate to a number; a non-zero value -turns this behaviour on. It can include parameters, in particular NUMERIC -to refer to a numeric argument. For example, \`NUMERIC != 1' forces the -delay unless you give an argument 1 to the command. Leave it blank to -assume the condition is true." - vared -eh -c -p 'condition> ' cond - print -n " -_list will usually compare the contents of the entire line with its previous -contents to decided if it has been changed since the last keypress. You -can instead perform this comparison on just the current word, ignoring -the rest of the command line. Do you want to do this? (y/n) [n] " - word= - read -q key && word=true - print - ;; - [oO]) print "\ -_oldlist can keep a generated completion list for reshowing in the usual -way, e.g. with ^D, even if the list was generated by some special completion -command. The default behaviour of _oldlist is to show this list if it was -not already visible, otherwise to generate the standard completion listing, -but you can force it always to be shown, or make it never shown. -Alternatively, you can specify a list of completers for which _oldlist will -be used. Choose: - -d. Default behaviour. -a. Always show old list. -n. Never show old list. -s. Specify a list of completers. -" - - while true; do - read -k key'?--- Hit selection --- ' - print - case $key in - [dD]) olist= - ;; - [aA]) olist=always - ;; - [nN]) olist=never - ;; - [sS]) olist= - tmparr=(_complete _approximate _correct _match _expand) - while true; do - clear - print "\ - *** compinstall: choosing completers to have _oldlist behaviour *** - -Type any of: - -1. _complete -2. _approximate -3. _correct -4. _match -5. _expand - -or 0 to end, or - to delete the last choice." - if [[ -n $olist ]]; then - print "\ -Current choices: - $olist" - fi - read -k key'?--- Hit selection --- ' - print - case $key in - 0) break - ;; - -) olist=(${olist[1,-2]}) - ;; - [1-5]) olist=($olist $tmparr[$key]) - ;; - esac - done - ;; - *) print "Type one of d, a, n or s." - continue - ;; - esac - break - done - - print -n " -_oldlist can keep the old completion list for use in menu completion, e.g. by -repeatedly hitting tab, even if the list was generated by some special -completion command. This is the default behaviour of _oldlist, but -you can turn it off, so that hitting tab would use the standard completion -list. - -Do you want to turn it off? (y/n) [n] " - omenu= - read -q key && omenu=false - ;; - [mM]) print "\ -The _match completer will usually assume there is a \`*' at the cursor -position when trying pattern matches. For example, \`f*n<TAB>e' would -be able to complete to \`filename', not just to patterns matching \`f*ne'. -(Note that this assumes you have the option COMPLETE_IN_WORD set, else all -completion takes place at the end of the word.) You can tell _match not -to assume there is a \`*', or to try first without the \`*', then with it. -Type one of: - -a. Always assume \`*' at cursor position. -n. Never assume \`*' at cursor position. -w. Try without the \`*', then with it if that fails." - while true; do - read -k key'?--- Hit selection --- ' - print - case $key in - a) moriginal= - ;; - n) moriginal=only - ;; - w) moriginal=both - ;; - *) print "Type one of a, n or w." - continue - ;; - esac - break - done - ;; - [pP]) print -n "\ -The _prefix completer completes only what is behind the cursor, ignoring -completely what is after, even if there is no space at the cursor position. -However, you can force it to add a space between the resulting completion -and the part ignored. For example, \`f<TAB>bar' might expand to \`filebar' -without this, and to \`file bar' with it. Do wish _prefix to add the -space? (y/n) [n] " - aspace= - read -q key && aspace=true - ;; - [qQ]) return 1 - ;; - esac - - done - - [[ -n $cond && $cond != [[:alnum:]]## ]] && cond=${(qq)cond} - __ci_set_this_style condition cond - __ci_set_this_style word word - __ci_set_this_style old-list olist - __ci_set_this_style old-menu omenu - __ci_set_this_style match-original moriginal - __ci_set_this_style add-space aspace - - return 0 -} - -__ci_do_minor_completers() { - # Set the minor completers not handled by __ci_do_completers. - # Called within __ci_do_completers, so inherits the environment. - # It's only divided off to keep the menus short. - - local key - - while true; do - - clear - print "\ - *** compinstall: minor completer menu *** - -Current context: $curcontext - -The following completers are available. Those marked \`(*)' are already -set for the context shown above. Note none of these are required for -normal completion behaviour. - -1. ${${completers[_ignored]:+(*)}:- } _ignored: $ckeys[_ignored] -2. ${${completers[_list]:+(*)}:- } _list: $ckeys[_list] -3. ${${completers[_oldlist]:+(*)}:- } _oldlist: $ckeys[_oldlist] -4. ${${completers[_match]:+(*)}:- } _match: $ckeys[_match] -5. ${${completers[_prefix]:+(*)}:- } _prefix: $ckeys[_prefix] - -o. Set options for the completers above. -q. Return without saving. -0. Done setting minor completers. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_toggle_completer _ignored - if [[ -n $completers[_ignored] ]]; then - print "\ -I am inserting the \`ignored' completer immediately after normal -completion. You can move it later in the list by hand, if you prefer, so -that ignored completions are only used after, for example, approximations. -To do this, edit $ifile, look for the zstyle ... completers line, and -move \`_ignored' to where you want it. This will be retained if you use -compinstall again provided you don't go into the completers menu. -" - # TODO: we could be more careful about keeping the user's - # order, particularly with multiple completers. - read -k key'?--- Hit any key to continue --- ' - print - fi - ;; - 2) __ci_toggle_completer _list - ;; - 3) __ci_toggle_completer _oldlist - ;; - 4) __ci_toggle_completer _match - ;; - 5) __ci_toggle_completer _prefix - ;; - o) __ci_do_minor_completer_options - ;; - q) return 1 - ;; - esac - - done - - return 0 -} - -__ci_do_completer_options() { - # Set options for the main completers; called from __ci_do_completers. - - local maxe errors prompt glob subst compl cond - - __ci_get_this_style max-errors errors - __ci_get_this_style prompt prompt - [[ -n $prompt ]] && prompt=${(Q)prompt} - __ci_get_this_style glob glob - [[ -n $glob ]] && glob=${(Q)glob} - __ci_get_this_style substitute subst - [[ -n $subst ]] && subst=${(Q)subst} - __ci_get_this_style completions compl - [[ -n $compl ]] && compl=${(Q)compl} - - while true; do - - clear - print "\ - *** compinstall: completer options *** - -Current context: $curcontext - -The following options are available. Note that these require the relevant -completers to be present, as set in the menu above this one. - -a. Set options for approximation or correction. -e. Set options for expansion. -q. Return without saving. - -0. Done setting options. -" - - read -k key'?--- Hit selection --- ' - print - - # We handle approximation and correction together to avoid having - # to be too particular about context. - case $key in - a) clear - print "\ -Approximation and correction can correct the errors in what you have typed, -up to a maximum number of errors which you can specify. Each \`error' -is the omission of a character, the addition of a superfluous character, -the substitution of one character by an incorrect one, or transposition of -two different characters. - -Current context: $curcontext - -To have different values for approximation and correction, you should -change the context appropriately. For approximation, use -\`:completion:*:approximate:*' and for correction use -\`:completion:*:correct:*'. - -Enter maximum number of errors allowed: -" - maxe= - while true; do - vared -eh -c -p "number> " maxe - [[ $maxe = [[:digit:]]## ]] && break - print "Please enter a number" - maxe= - done - while true; do - print "\nSelect behaviour of numeric prefix. - -1. Numeric prefix is not used by approximation or completion. -2. Numeric prefix, if provided, gives max number of errors allowed, - replacing the number you just typed for that one completion. -3. Numeric prefix, if provided, prevents approximation or completion - from taking place at all for that one completion. -" - read -k -- key'?--- Hit selection --- ' - print - [[ $key = [123] ]] || continue - case $key in - 2) maxe="$maxe numeric" - ;; - 3) maxe="$maxe not-numeric" - ;; - esac - print " -You can edit a prompt which will appear above lists of corrections. The -string \`%e' inside the prompt will be replaced with the number of errors -found. Leave blank for no prompt. Quotation marks will be added -automatically." - vared -eh -c -p "prompt> " prompt - break - done - errors=$maxe - ;; - e) while true; do - clear - print "\ -The _expand completer can be tuned to perform any of globbing (filename -generation), substitution (anything with a \`\$' or backquote), or -normal completion (which is useful for inserting all possible completions -into the command line). For each feature, a 1 turns it on, while a 0 turns -it off; if the feature is unset, that expansion will *not* be performed. - -You can also give more complicated mathematical expressions, which can use -the parameter NUMERIC to refer to the numeric argument. For example, the -expression \`NUMERIC == 2' means that the expansion takes effect if you -type ESC-2 (Emacs mode) or 2 (Vi command mode) before the expansion. -Quotes will be added automatically as needed. - -g. Set condition to perform globbing: ${glob:-unset} -s. Set condition to perform substitution: ${subst:-unset} -c. Set condition to perform completion: ${compl:-unset} -0. Done setting conditions (will not be saved until you leave options) -" - read -k key'?--- Enter selection --- ' - print - - case $key in - g) vared -eh -c -p 'globbing condition> ' glob - ;; - s) vared -eh -c -p 'substitution condition> ' subst - ;; - c) vared -eh -c -p 'completion condition> ' compl - ;; - esac - - [[ $key = 0 ]] && break - - done - ;; - q) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - __ci_set_this_style max-errors errors - [[ -n $prompt ]] && prompt=${(qq)prompt} - __ci_set_this_style prompt prompt - [[ -n $glob && $glob != [[:alnum:]]## ]] && glob=${(qq)glob} - __ci_set_this_style glob glob - [[ -n $subst && $subst != [[:alnum:]]## ]] && subst=${(qq)subst} - __ci_set_this_style substitute subst - [[ -n $compl && $compl != [[:alnum:]]## ]] && compl=${(qq)compl} - __ci_set_this_style completions compl - - key= - return 0 -} - -__ci_do_completers() { - # Set the completers for the current context. - # This is mostly done via a series of toggles. - - typeset -A completers ckeys - local c clist newc - __ci_get_this_style completer newc - for c in ${=newc}; do - completers[$c]=1 - done - if (( ${#completers} == 0 )); then - completers[_complete]=1 - completers[_ignored]=1 - fi - clist=(_list _oldlist _menu _expand _complete _ignored - _match _correct _approximate _prefix) - - # TODO: these are a bit brief, so could provide some more detailed help. - ckeys=(_complete 'Basic completion.' - _approximate -'Approximate completion: completion with correction of existing word.' - _correct -'Correction: correct existing word, no completion.' - _expand -'Expansion: use globbing and parameter substitution, if possible.' - - _ignored -'Use patterns that were previously ignored if no matches so far.' - _list -'Only list matches until the second time you hit TAB.' - _oldlist -'Keep matches generated by special completion functions.' - _match -'If completion fails, retry with pattern matching.' - _prefix -'If completion fails, retry ignoring the part after the cursor.' - ) - - # TODO: You'll need to handle the bindkey to make _expand work. - # TODO: _prefix completer should make sure completeinword is set. - - while true; do - - clear - print "\ - *** compinstall: completer menu *** - -Current context: $curcontext - -The following completers are available. Those marked \`(*)' are already -set for the context shown above. If none are selected, the completers will -not be set for this context at all. - -1. ${${completers[_complete]:+(*)}:- } $ckeys[_complete] -2. ${${completers[_approximate]:+(*)}:- } $ckeys[_approximate] -3. ${${completers[_correct]:+(*)}:- } $ckeys[_correct] -4. ${${completers[_expand]:+(*)}:- } $ckeys[_expand] - -o. Set options for the completers above. -m. Set completers that modify the behaviour of the four main ones above. -q. Return without saving. -0. Done setting completers. -" - read -k key'?--- Hit selection --- ' - print - - case $key in - 1) __ci_toggle_completer _complete - ;; - 2) __ci_toggle_completer _approximate - ;; - 3) __ci_toggle_completer _correct - ;; - 4) __ci_toggle_completer _expand - ;; - [mM]) __ci_do_minor_completers || return - continue - ;; - [oO]) __ci_do_completer_options || return - continue - ;; - q) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - newc= - for c in $clist; do - [[ -n $completers[$c] ]] && newc="${newc:+$newc }$c" - done - [[ -z $newc ]] && newc="''" - __ci_set_this_style completer newc -} - -__ci_toggle_matcher() { - # Toggle on/off the matcher in array $1 for element $2 - if [[ ${${(P)1}[$2]} = ' ' ]]; then - # toggle on - eval "${1}[$2]=$2" - if [[ $1 = n* ]]; then - # no matcher turned on, turn off the others - c_list[$2]=' ' - C_list[$2]=' ' - p_list[$2]=' ' - s_list[$2]=' ' - else - # something else turned on, turn off no matcher - n_list[$2]=' ' - fi - return 0 - else - # toggle off - eval "${1}[$2]=' '" - if [[ $c_list[$2] == ' ' && $C_list[$2] == ' ' && \ - $p_list[$2] == ' ' && $s_list[$2] == ' ' ]]; then - a_or_r[$2]=' ' - fi - return 1 - fi -} - -__ci_do_matchers() { - # Set matchers via the matcher-list style. - # We just offer a pre-programmed set of possible matchers, but these - # cover the most common usages for matchers in a general context. - # More specific use of matchers is usually covered by completion functions. - - local mlist m_ci m_pw m_sub c_list C_list p_list s_list pw_seps key key2 elt - local pw_dstar a_or_r i - integer eltcnt lastnz - - __ci_get_this_style matcher-list mlist - # $mlist is the once and future list of matchers. We don't quote it - # until the end; the eval effectively does de-quoting. - eval "mlist=($mlist)" - # ?_list say whether the four possible matchers are set for passes 1, - # 2, 3, 4, in an easy-to-read manner, i.e. the Nth part of the string - # is one of N (on) or space (off). - a_or_r=" " # replace by default - n_list=" " # null completion, i.e. standard - c_list=" " # case match one way - C_list=" " # case match both ways - p_list=" " # partial word completion - s_list=" " # substring completion - # $pw_seps gives the separators used for partial-word completion - # by element of the matcher list; these can be edited separately. - pw_seps=('._-' '._-' '._-' '._-') - pw_dstar=('' '' '' '') - - # See what's in the matcher initially. If these have been edited, - # we're in trouble, but that's pretty much true of everything. - for (( eltcnt = 1; eltcnt <= $#mlist; eltcnt++ )); do - [[ $mlist[eltcnt] == "+"* ]] && a_or_r[$eltcnt]='+' - [[ -z $mlist[$eltcnt] ]] && n_list[$eltcnt]=$eltcnt - # Accept the old form of lower/upper correspondence, but we'll - # output the new one instead. - [[ $mlist[$eltcnt] = *"m:{a-z}={A-Z}"* ]] && c_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{[:lower:]}={[:upper:]}"* ]] && - c_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{a-zA-Z}={A-Za-z}"* ]] && C_list[$eltcnt]=$eltcnt - [[ $mlist[$eltcnt] = *"m:{[:lower:][:upper:]}={[:upper:][:lower:]}"* ]] && - C_list[$eltcnt]=$eltcnt - # For partial word stuff, we use backreferences to find out what - # the set of separators was. - if [[ $mlist[$eltcnt] = (#b)*"r:|["([^\]]#)"]=*"#" r:|=*"* ]]; then - p_list[$eltcnt]=$eltcnt - pw_seps[$eltcnt]=${match[1]} - [[ $mlist[$eltcnt] = *"=**"* ]] && pw_dstar[$eltcnt]='*' - fi - # Just look for the left matcher for substring, since the right matcher - # might have been handled as part of a partial-word spec. - [[ $mlist[$eltcnt] = *"l:|=*"* ]] && s_list[$eltcnt]=$eltcnt - done - - while true; do - clear - print "\ - *** compinstall: matcher menu *** - -\`Matchers' compare the completion code with the possible matches in some -special way. Numbers in parentheses show matchers to be tried and the order. -The same number can be assigned to different matchers, meaning apply at the -same time. Omit a sequence number to try normal matching at that point. -A \`+' in the first line indicates the element is added to preceding matchers -instead of replacing them; toggle this with \`t'. You don't need to set -all four, or indeed any matchers --- then the style will not be set. - - ($a_or_r)\ - \`+' indicates add to previous matchers, else replace -n. ($n_list)\ - No matchers; you may want to try this as the first choice. -c. ($c_list)\ - Case-insensitive completion (lowercase matches uppercase) -C. ($C_list)\ - Case-insensitive completion (lower/uppercase match each other) -p. ($p_list)\ - Partial-word completion: expand 'f.b' to 'foo.bar', etc., in one go. - You can choose the separators (here \`.') used each time. -s. ($s_list)\ - Substring completion: complete on substrings, not just initial - strings. Warning: it is recommended this not be used for element 1. - -t. Toggle replacing previous matchers (\` ' at top) or add (\`+') -q. Return without saving. -0. Done setting matchers. -" - - read -k key'?--- Hit selection --- ' - print - - if [[ $key = [nNcCpPsS] ]]; then - while true; do - read -k key2'?Set/unset for element number (1234)? ' - print - [[ $key2 = [1234] ]] && break - print "Only 1, 2, 3 and 4 are handled." - done - fi - - case $key in - [nN]) __ci_toggle_matcher n_list $key2 - if [[ $n_list[$key2] != ' ' ]]; then - fi - ;; - c) __ci_toggle_matcher c_list $key2 - ;; - C) __ci_toggle_matcher C_list $key2 - ;; - [pP]) if __ci_toggle_matcher p_list $key2; then - print "\ -Edit the set of characters which terminate partial words. Typically -these are punctuation characters, such as \`.', \`_' and \`-'. -The expression will automatically be quoted. -" - vared -eh -p 'characters> ' -c 'pw_seps['$key2']' - # Paranoia: we don't know if there's a ']' in that string, - # which will wreck the spec unless it's at the start. Other - # quotes are OK, since they are picked up at the ${(qq)...} - # step. - if [[ $pw_seps[$key2] = *']'* ]]; then - pw_seps[$key2]="]${pw_seps[$key2]//\\\]}" - fi - print -n " -You can allow the partial-word terminators to be matched in the pattern, -too: then for example \`c.u' would expand to \`comp.source.unix', whereas -usually you would need to type an extra intervening dot. Do you wish the -terminators to be matched in this way? (y/n) [n] " - pw_dstar[$key2]= - read -q key && pw_dstar[$key2]='*' - fi - ;; - [tT]) - read -k key2'?Toggle augment/replace for elements number (1234)? ' - if [[ $key2 == [1234] ]]; then - if [[ $a_or_r[$key2] == ' ' ]]; then - a_or_r[$key2]='+' - else - a_or_r[$key2]=' ' - fi - else - print "Only 1, 2, 3 and 4 are handled." - fi - ;; - [sS]) __ci_toggle_matcher s_list $key2 - ;; - [qQ]) return 1 - ;; - esac - - [[ $key = 0 ]] && break - done - - # Keep track of the last element which was non-empty; all the rest - # are junked. - lastnz=0 - - # Now we just reverse the first for-loop, looking for set matchers - # and reconstructing the elements of the matcher array. - for (( eltcnt = 1; eltcnt <= 4; eltcnt++ )); do - elt= - [[ $c_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }m:{[:lower:]}={[:upper:]}" - [[ $C_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }m:{[:lower:][:upper:]}={[:upper:][:lower:]}" - [[ $p_list[$eltcnt] != ' ' ]] && - elt="${elt:+$elt }r:|[${pw_seps[$eltcnt]}]=*${pw_dstar[$eltcnt]}\ - r:|=*${pw_dstar[$eltcnt]}" - if [[ $s_list[$eltcnt] != ' ' ]]; then - if [[ $elt = *"r:|=*"* ]]; then - elt="${elt:+$elt }l:|=*" - else - elt="${elt:+$elt }l:|=* r:|=*" - fi - fi - [[ $a_or_r[$eltcnt] != ' ' ]] && elt="+$elt" - [[ -n $elt || $n_list[$eltcnt] != ' ' ]] && lastnz=$eltcnt - mlist[$eltcnt]=$elt - done - - if (( ! $lastnz )); then - # No matchers set, so just make the style empty: __ci_set_this_style - # will omit it completely. - mlist= - else - # Quote the entire list: this correctly quotes element by element, - # praise be to Sven. - mlist=(${(qq)mlist[1,$lastnz]}) - # Make it a scalar just for safety's sake. - mlist="$mlist" - fi - __ci_set_this_style matcher-list mlist - - return 0 -} - -__ci_do_list_format() { - local key format groupn verbose listp autod haslistp - __ci_get_this_style format format - [[ -n $format ]] && format=${(Q)format} - __ci_get_this_style group-name groupn - __ci_get_this_style verbose verbose - __ci_get_this_style list-prompt listp - [[ -n $listp ]] && haslistp=1 - listp=${(Q)listp} - __ci_get_this_style auto-description autod - [[ -n $autod ]] && autod=${(Q)autod} - - while true; do - clear - print "\ - *** compinstall: order and descriptions in completion lists *** -Type the appropriate number for more information on how this would affect -listings. - -1. Print a message above completion lists describing what is being - completed. - -2. Make different types of completion appear in separate lists. - -3. Make completion verbose, using option descriptions etc. (on by default). - -4. Make single-valued options display the value's description as - part of the option's description. - -q. Return without saving. -0. Done setting options for formatting of completion lists. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -You can set a string which is displayed on a line above the list of matches -for completions. A \`%d' in this string will be replaced by a brief -description of the type of completion. For example, if you set the -string to \`Completing %d', and type ^D to show a list of files, the line -\`Completing files' will appear above that list. Enter an empty line to -turn this feature off. If you enter something which doesn't include \`%d', -then \`%d' will be appended. Quotation will be added automatically. -" - vared -eh -p 'description> ' -c format - if [[ -n $format && $format != *%d* ]]; then - [[ $format = *[[:blank:]] ]] || format="$format " - format="$format%d" - fi - ;; - 2) print "\ -Normally, all possible completions are listed together in a single list, and -if you have set a description with 1) above, the descriptions are listed -together above that. However, you can specify that different types of -completion appear in separate lists; any description appears above its -own list. For example, external commands and shell functions would appear -in separate lists when you are completing a command name. Do you -want to turn this on? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) groupn="''" - ;; - [nN]) groupn= - ;; - esac - ;; - 3) print "By default, completion uses a \`verbose' setting. This -affects different completions in different ways. For example, many -well-known commands have short, uninformative option names; in some cases, -completion will indicate what the options do when offering to complete them. -If you prefer shorter listings you can turn this off. What setting to -you want? -" - while true; do - read -k key'?[v]erbose, [n]ot verbose, [k]eep old setting? ' - print - [[ $key = [vVnNkK] ]] && break - done - case $key in - # might as well be explicit, particularly since it's - # the only way to override an existing `false' value. - [vV]) verbose=true - ;; - [nN]) verbose=false - ;; - esac - ;; - 4) print "\ -Many commands have options which take a single argument. In some cases, -completion is not set up to describe the option even though it has a -description for the argument. You can enter a string containing \`%d', -which will be replaced by the description for the option. For -example, if you enter the string \`specify: %d', and an option -ifile -exists which has an argument whose description is \`input file', then the -description \`specify: input file' will appear when the option itself -is listed. As this long explanation suggests, this is only occasionally -useful. Enter an empty line to turn this feature off. If you enter -something which doesn't include \`%d', then \`%d' will be appended. -Quotation will be added automatically. -" - vared -eh -p 'auto-description> ' -c autod - if [[ -n $autod && $autod != *%d* ]]; then - [[ $autod = *[[:blank:]] ]] || autod="$autod " - autod="$autod%d" - fi - ;; - q) return 1 - ;; - esac - done - - [[ -n $format ]] && format=${(qq)format} - __ci_set_this_style format format - __ci_set_this_style group-name groupn - __ci_set_this_style verbose verbose - [[ -n $autod ]] && autod=${(qq)autod} - __ci_set_this_style auto-description autod -} - -__ci_do_insertion() { - local key insertu original # sort - - __ci_get_this_style insert-unambiguous insertu - __ci_get_this_style original original - - while true; do - clear - print "\ - *** compinstall: options for inserting completions *** - -1. In completers that change what you have already typed, insert any - unambiguous prefix rather than go straight to menu completion. - -2. In completers which correct what you have typed, keep what you - originally typed as one of the list of possible completions. - -q. Return without saving. -0. Done setting options for insertion. -" - read -k key'?-- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -The completers which do pattern matching and correction often alter the -string which is already on the line, in the first case because it was a -pattern and in the second case because what you typed was wrong. -Since the possible completions can bear little or no resemblance to one -another in those cases, so that typing extra characters to resolve the -completion doesn't make much sense, menu completion is usually turned on -straight away to allow you to pick the completion you want. This style -tells completion that if there is a common, unambiguous prefix in this -case, you would prefer that to be inserted rather than going straight -to menu completion. Do you want this? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) insertu=true - ;; - [nN]) insertu=false - ;; - esac - ;; - 2) print "\ -For completers which correct what you have typed, you sometimes want -to keep the original string instead, so if the correction was ambiguous -the original string is always listed as a possible completion. However, -if there was just one completion it is usually accepted. You can -force completion to offer the original string as a possibility even in -this case. Do you want this? -" - while true; do - read -k key'?[y]es, [n]o, [k]eep old setting? ' - print - [[ $key = [yYnNkK] ]] && break - done - case $key in - [yY]) original=true - ;; - [nN]) original=false - ;; - esac - ;; - [qQ]) return 1 - ;; - esac - - done - - __ci_set_this_style insert-unambiguous insertu - __ci_set_this_style original original - # __ci_set_this_style sort sort - - return 0; -} - - -__ci_do_selection() { - local key listc menu select amenu elt listp selectp haslistp hasselectp - integer num - - __ci_get_this_style list-colors listc - __ci_get_this_style menu menu - __ci_get_this_style list-prompt listp - [[ -n $listp ]] && haslistp=1 - listp=${(Q)listp} - __ci_get_this_style select-prompt selectp - [[ -n $selectp ]] && hasselectp=1 - selectp=${(Q)selectp} - - while true; do - clear - print "\ - *** compinstall: options for colouring and selecting in lists *** - -1. Use coloured lists for listing completions. - -2. Use cursor keys to select completions from completion lists. - -3. Allow scrolling of long selection lists and set the prompt. - -q. Return without saving. -0. Done setting options for insertion. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) print "\ -Zsh can produce coloured completion listings where different file types -etc. appear in different colours. If you want to tailor that to your -own needs, you will have to edit ~/.zshrc. Here you have the choice of: - -1. Using the default colours. -2. Using the colours already set up for GNU ls via the \$LS_COLORS - environment variable. Note this must be set before the completion - configuration code is executed. -3. Turn colouring off. -0. Leave the setting the way it is. Choose this if you have a custom - setting and you don't want to lose it. -" - while true; do - read -k key'?Enter 1, 2, 3, 0: ' - print - [[ $key = [1230] ]] && break - done - case $key in - 1) listc="''" - ;; - 2) listc='${(s.:.)LS_COLORS}' - ;; - 3) listc= - ;; - esac - ;; - 2) print "\ -If you use zsh's menu completion and the feature that all short completion -lists appear below the line on which you are editing, you can enable -\`menu selection', which lets you pick a completion with the cursor keys: -the choice is highlighted, and hitting return accepts it. Note that -this only happens when you are already using menu completion. This -feature can be set so that it is only enabled when there are a certain -number of completions. Please enter: - -- 0 or 1, to turn this feature on unconditionally -- a higher number to turn this feature on when there are that many - completions -- an \`l' for \`long' to turn it on for listings which don't fit on the - screen. -- an \`ll' for \`long list' to turn it on for completions which don't fit - on the screen, even for commands which only do listing of completions. - This may be combined with a number which will be used in ordinary selection. -- a negative number to turn this feature off -- an empty line to leave the setting the way it is. -" - # Better to parse and display the current setting. - while true; do - vared -eh -p 'value> ' select - [[ -z $select || $select = ((-|)<->|l|<->#ll<->#) ]] && break; - print "Type a number, l, ll, ll<num>, or an empty line." >&2 - done - amenu=(${=menu}) - elt=${amenu[(i)*select*]} - [[ $elt -eq 0 || $elt -gt $#amenu ]] && elt= - case $select in - <->) if [[ -n $elt ]]; then - amenu[$elt]="select=$select" - else - amenu=($amenu "select=$select") - fi - menu="$amenu" - ;; - *ll*) num=${(RS)select##ll} - select="select=long-list" - [[ -n $num ]] && select="$select select=$num" - if [[ -n $elt ]]; then - amenu[$elt]=$select - else - amenu=($amenu $select) - fi - menu="$amenu" - ;; - l#) if [[ -n $elt ]]; then - amenu[$elt]="select=long" - else - amenu=($amenu "select=long") - fi - menu="$amenu" - ;; - -<->) if [[ -n $elt ]]; then - # i never liked the way indexing was done anyway - if [[ $elt -eq 1 ]]; then - amenu=($amenu[$elt+1,-1]) - else - amenu=($amenu[1,$elt-1] $amenu[$elt+1,-1]) - fi - fi - menu="$amenu" - ;; - esac - if [[ $menu = *select* ]]; then - print "\ -You can also set a prompt to use for menu selection when it would scroll -off the screen. Unless this is set, you won't see a prompt, but the feature -is still enabled. - -Edit a prompt below. It can contain \`%l' to show the number of matches -as \`current_number/total_number', \`%p' to show the fraction of -the way down the list, or font-control sequences such as %B, %U, %S and -the corresponding %b, %u, %s; quotes will be added automatically. Delete -the whole line to turn it off. Hit return to keep the current value. -" - [[ -z $hasselectp ]] && - selectp='%SScrolling active: current selection at %p%s' - vared -eh -p 'prompt> ' -c selectp - [[ -z $selectp ]] && hasselectp= - fi - ;; - 3) print "\ -You can make completion lists scroll when they don't fit on the screen. -Note this is different from scrolling in menu selection --- a more basic -pager is used which should work even with fairly stupid terminals. - -To enable this, edit a prompt to show when scrolling is active; an empty -string turns this feature off. It can contain \`%l' to show the number of -matches as \`current_number/total_number', \`%p' to show the fraction of -the way down the list, or font-control sequences such as %B, %U, %S and the -corresponding %b, %u, %s; quotes will be added automatically. Delete the -whole line to turn this behaviour off, in which case the display of -completions which don't fit on the screen is controlled by the LISTMAX -parameter (currently ${LISTMAX:-unset}), which specifies the maximum number -to show without asking. Hit return to keep the current value. -" - [[ -z $haslistp ]] && - listp='%SAt %p: Hit TAB for more, or the character to insert%s' - vared -eh -p 'prompt> ' -c listp - [[ -z $listp ]] && haslistp= - ;; - q) return 1 - ;; - esac - done - - __ci_set_this_style list-colors listc - __ci_set_this_style menu menu - [[ -n $haslistp ]] && listp=${(qq)listp} - __ci_set_this_style list-prompt listp - [[ -n $hasselectp ]] && selectp=${(qq)selectp} - __ci_set_this_style select-prompt selectp - - return 0 -} - - -__ci_do_display() { - local key usec - - __ci_get_this_style use-compctl usec - - while true; do - clear - print "\ - *** compinstall: display and insertion options *** - -1. Change appearance of completion lists: allows descriptions of - completions to appear and sorting of different types of completions. - -2. Change how completions are inserted: includes options for sorting, - and keeping the original or an unambiguous prefix with correction etc. - -3. Configure coloured/highlighted completion lists, selection of items - and scrolling. - -4. Change whether old-style \`compctl' completions will be used. - -q. Return without saving. -0. Done setting display and insertion options. -" - - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_list_format - ;; - 2) __ci_do_insertion - ;; - 3) __ci_do_selection - ;; - 4) print "\ -Completions defined by the new completion system (the one you are -configuring) always take precedence over the old sort defined with compctl. -You can choose whether or not you want to search for a compctl-defined -completion if no new completion was found for a command. The default -behaviour is only to check for compctl-defined completions if the required -library, zsh/compctl, is already loaded. (If not, this implies that -compctl has not been called.) Do you want to test for compctl-defined -completions? -" - while true; do - read -k key'?[y]es, [n]o, if [l]oaded, [k]eep old setting? ' - print - [[ $key = [yYnNlLkK] ]] && break - done - case $key in - [yY]) usec=true - ;; - [nN]) usec=false - ;; - [lL]) usec= - ;; - esac - ;; - q) return 1 - ;; - esac - - done - - __ci_set_this_style use-compctl usec - - return 0 -} - - -# file-sort, special-dirs, ignore-parents, -# squeeze-slashes, -__ci_do_file_styles() { - local key files cursor expand speciald ignorep squeezes select - local prefon suffon lssuffixes preserve - - __ci_get_this_style file-sort files - __ci_get_this_style ignore-parents ignorep - __ci_get_this_style special-dirs speciald - __ci_get_this_style squeeze-slashes squeezes - __ci_get_this_style expand expand - __ci_get_this_style list-suffixes lssuffixes - __ci_get_this_style preserve-prefix preserve - [[ -n $preserve ]] && preserve=${(Q)preserve} - - while true; do - clear - print "\ - *** compinstall: options for filename completion *** - -1. Choose how to sort the displayed list of filename matches. - -2. In expressions with .., don't include directories already implied. - -3. Allow completion of . and .. for the bone idle. - -4. When expanding paths, \`foo//bar' is treated as \`foo/bar'. - -5. Configure how multiple paths are expanded and displayed, - e.g. /f/b -> /foo/bar - -6. Keep certain prefixes unchanged, such as \`//resource/'. - -q. Return without saving. -0. Done setting options for filename completion. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - (1) print "\ -Filenames listed as possible completions are usually displayed in -alphabetical order. You can alternatively choose: - s File size - l Number of (hard) links - m Modification time - a Access time - i Inode change time - n File name - k Keep the current setting -You can also specify the reverse of any of the above orders (except \`k'): to -do this, type the appropriate letter in upper case. -" - while true; do - read -k key'?--- Hit selection --- ' - print - [[ $key = [sSlLmMaAiInNkK] ]] && break - done - case $key in - ([sS]) files=size;; - ([lL]) files=links;; - ([mM]) files=modification;; - ([aA]) files=access;; - ([iI]) files=inode;; - ([nN]) files=name;; - esac - if [[ $key = [SLAMIN] ]]; then - # slam it into reverse - files="$files reverse" - fi - ;; - (2) print "\ -When you type an expression containing \`..', you may usually not want to -be offered certain directories for completion. - p Don't offer parents: in \`foo/bar/../', don't make \`bar' a completion. - c Don't offer the current directory, e.g. after \`../'. - o Only perform the two tests if there is a real \`..' in the word so far. - d Only perform the two tests when completing directory names. - 0 None of the above; use normal completion. - k Keep the current settings. -You may specify any combination of p, c, o, d including at least one of p -and c, or you may specify either 0 or k. Note that the _ignored completer -functions in the normal way, i.e. you would be able to complete the -directories in question if nothing else matched. -" - while true; do - vared -eh -p 'selection> ' select - [[ ( $select = [pPcCoOdD]# && $select = *[pPcC]* ) - || $select = [0kK] ]] && break - print "Type any combination of p, c, o, d, or type 0 or k" - done - case $select in - (0) ignorep= - ;; - ([pPcCoOdD]#) - ignorep=() - [[ $select = *[pP]* ]] && ignorep=($ignorep parent) - [[ $select = *[cC]* ]] && ignorep=($ignorep pwd) - [[ $select = *[oO]* ]] && ignorep=($ignorep ..) - [[ $select = *[dD]* ]] && ignorep=($ignorep directory) - ;; - esac - ;; - (3) print "\ -Filename completion does not usually offer the directory names \`.' and -\`..' as choices. However, some immensely lazy people can't even be -bothered to type these. Do you wish to be offered \`.' and \`..' as -choices ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type y, n or k." - done - case $key in - ([yY]) speciald=true;; - ([nN]) speciald=;; - esac - ;; - (4) print "\ -Filename completion can complete sets of path segments at once, for example -\`/u/X/l/X' to \`/usr/X11R6/lib/X11'. Normally this means that multiple -slashes in filenames are treated as matching multiple directories. For -example, \`foo//bar' could expand to \`foo/datthe/bar'. You can, however, -stick to the usual UNIX convention that multiple slashes are treated as -a single slash. Do you wish to treat multiple slashes the same as just -one ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) squeezes=true;; - ([nN]) squeezes=;; - esac - ;; - (5) if [[ $expand = *prefix* ]]; then - prefon=prefix - else - prefon= - fi - if [[ $expand = *suffix* ]]; then - suffon=suffix - else - suffon= - fi - print " -When expanding /f/b, the shell will attempt to match /f*/b* (e.g. /foo/bar), -and so on to any depth. If the first part of the expansion fails, by default -the shell will not expand the remainder. However, you can force it always -to expand the first part. Currently this feature is ${${prefon:+on}:-off}. -Do you want it on ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) prefon=prefix;; - ([nN]) prefon=prefix;; - esac - print " -Further, if /f*/b* is ambiguous, the shell will usually only expand -as far as the part that is unambiguous; for example, if /foo/bar and -/food/basket exist, it will wait for you to choose either /foo or /food, -and not attempt to expand the rest of the match. However, you can force -it to add all possible completions for you to resolve conflicts in the -normal way. Currently this feature is ${${suffon:+on}:-off}. -Do you want it on ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) suffon=suffix;; - ([nN]) suffon=suffix;; - esac - expand=${prefon:+$prefon${suffon:+ }}${suffon} - - if [[ $lssuffixes = (1|[tT]|[yY]|[oO])* ]]; then - lssuffixes=true - else - lssuffixes= - fi - print " -When listing expansions of /f/b such as /foo/bar, /foo/bad, /failed/bag, -the shell will usually only show the first part of the path if it is -ambiguous, hence /foo will appear twice. It is possible to show the -full path in this case. Currently this feature is ${${lssuffixes:+on}:-off}. -Do you want this behaviour ([y]es, [n]o, [k]eep current setting)? -" - while true; do - read -k key'?--- Hit selection --- ' - [[ $key = [yYnNkK] ]] && break - print "Type one of y, n or k." - done - case $key in - ([yY]) lssuffixes=true;; - ([nN]) lssuffixes=;; - esac - ;; - (6) print "\ -On some systems, there are special forms for the start of a filename -which should be left alone by the completion system. For example, Cygwin -uses a double slash to indicate a network resource, hence a prefix of -the form \`//resource/' should be left alone. This style gives a pattern -to match any such prefixes; alternatives separated by \`|' are therefore -possible. Edit the pattern as you like. If this is empty, the shell will not -handle any prefixes specially." - if [[ -z $preserve ]]; then - preserve="//[^/]##/" - print " -Accept the default to handle network resources as just described." - fi - vared -eh -p "pattern> " preserve - ;; - (q) return 1 - ;; - esac - - done - - __ci_set_this_style file-sort files - __ci_set_this_style ignore-parents ignorep - __ci_set_this_style special-dirs speciald - __ci_set_this_style squeeze-slashes squeezes - __ci_set_this_style expand expand - __ci_set_this_style list-suffixes lssuffixes - # pattern, always quote - [[ -n $preserve ]] && preserve=${(qq)preserve} - __ci_set_this_style preserve-prefix preserve - - return 0 -} - - -# TODO: history completion, jobs, prefix-needed 'n' stuff. -__ci_do_misc() { - local key - - while true; do - clear - print "\ - *** compinstall: options for particular types of completion *** - -1. Options for file completion. - -q. Return without saving. -0. Done setting options for particular completions. -" - read -k key'?--- Hit selection --- ' - print - - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_file_styles - ;; - q) return 1 - ;; - esac - - done - - return 0; -} - - -# TODO: it should probably be possible to set completion options via -# compinstall, even though they've been around for years. - -while true; do - clear - print "\ - *** compinstall: main menu *** -Note that hitting \`q' in menus does not abort the set of changes from -lower level menus. However, quitting at top level will ensure that nothing -at all is actually written out. - -1. Completers: choose completion behaviour for tasks such as - approximation, spell-checking, expansion. - -2. Matching control: set behaviour for case-insensitive matching, - extended (partial-word) matching and substring matching. - -3. Styles for changing the way completions are displayed and inserted. - -4. Styles for particular completions. - -c. Change context (plus more information on contexts). - -q. Return without saving. -0. Save and exit. -" - - __ci_newline \ - "--- Hit choice --- " || return 1 - - # note this is a string test: we require the `0' to have been typed. - [[ $key = 0 ]] && break - - case $key in - 1) __ci_do_completers - ;; - 2) __ci_do_matchers - ;; - 3) __ci_do_display - ;; - 4) __ci_do_misc - ;; - c) __ci_change_context - ;; - esac -done - - -if (( $#styles )); then - typeset style stylevals context values - for style in ${(ko)styles}; do - stylevals=(${(f)styles[$style]}) - while (( $#stylevals )); do - output="$output -zstyle ${(qq)stylevals[1]} $style ${stylevals[2]}" - shift 2 stylevals - done - done -fi - -if [[ -z $ifile || -d $ifile ]] || - ! read -q key"?Save new settings to $ifile ([y]es, [n]o)? "; then - print "Enter file to save in (~ will be expanded), or return to abort:" - ifile= - vared -ch -p 'file> ' ifile - if [[ $ifile != [/~]* ]]; then - ifile=$PWD/$ifile - print "[Not absolute path; updating to $ifile]" - fi - ifile=${~ifile} -fi - -local tmpout=${TMPPREFIX:-/tmp/zsh}compinstall$$ -zf_ln -fn =(<<<'') $tmpout && # safe tempfile creation -zf_ln -fn =(<<<'') ${tmpout}x || return 1 - -# -# Assemble the complete set of lines to -# insert. -# -__ci_output >>$tmpout - -if [[ -n $ifile ]]; then - if [[ $ifile != *(zshrc|zlogin|zshenv) ]]; then - print "\ -If you want this file to be run automatically, you should add - . $ifile -to your .zshrc. compinstall will remember the name of this file for -future use." - __ci_newline || return 1 - fi - # - # Now use sed to update the file. - # - if [[ -f $ifile ]]; then - cp $ifile ${ifile}\~ && - print "Copied old file to ${ifile}~." - else - touch $ifile - fi - if { { grep "$endline" $ifile >/dev/null 2>&1 && - sed -e "/^[ ]*$endline/r $tmpout -/^[ ]*$startline/,/^[ ]*$endline/d" $ifile >>${tmpout}x } || - { cp $ifile ${tmpout}x && cat $tmpout >>${tmpout}x } } && - cp ${tmpout}x $ifile && rm -f ${tmpout}x; then - print "\nSuccessfully added compinstall lines to $ifile." - rm -f $tmpout - else - print "\nFailure adding lines to $ifile. Lines left in \`$tmpout'" - fi - rm -f ${tmpout}x -elif read -q key'?Print them to stdout instead ([y]es, [n]o)? '; then - cat $tmpout - rm -f $tmpout -fi - -if read -q key'?Set new styles for immediate use ([y]es, [n]o)? '; then - eval $output - print "The new settings are now in effect. Note this will not remove old -styles you have deleted until you restart the shell." -fi - -__ci_tidyup -return 0 diff --git a/result/sw/share/zsh/5.9/functions/copy-earlier-word b/result/sw/share/zsh/5.9/functions/copy-earlier-word deleted file mode 100644 index 90e862da..00000000 --- a/result/sw/share/zsh/5.9/functions/copy-earlier-word +++ /dev/null @@ -1,26 +0,0 @@ -# Copy the word before the one you last copied --- call repeatedly -# to cycle through the list of words on the history line. -# -# Words in combination with insert-last-word to use the line reached, -# and start from the word before last. Otherwise, it will operate on -# the current line. - -emulate -L zsh -setopt typesetsilent - -typeset -g __copyword -if (( ${NUMERIC:-0} )); then - # 1 means last word, 2 second last, etc. - (( __copyword = ${NUMERIC:-0} )) - zstyle -s :$WIDGET widget __copywidget -elif [[ -n $__copyword && $WIDGET = $LASTWIDGET ]]; then - (( __copyword-- )) -elif [[ $LASTWIDGET = *insert-last-word ]]; then - __copyword=-2 - typeset -g __copywidget=$LASTWIDGET -else - __copyword=-1 - zstyle -s :$WIDGET widget __copywidget -fi - -zle ${__copywidget:-.insert-last-word} 0 $__copyword diff --git a/result/sw/share/zsh/5.9/functions/cycle-completion-positions b/result/sw/share/zsh/5.9/functions/cycle-completion-positions deleted file mode 100644 index 34a2d817..00000000 --- a/result/sw/share/zsh/5.9/functions/cycle-completion-positions +++ /dev/null @@ -1,16 +0,0 @@ -# This may be called after a completion that inserted the unambiguous -# (i.e. non-menu- and non-single-match-) string into the command line. -# If there are multiple positions in the string with missing or differing -# characters, repeatedly calling this widget cycles between all these -# positions. - -emulate -L zsh -setopt extendedglob - -local p="$_lastcomp[insert_positions]" - -if [[ $p = ((#s)|*:)${CURSOR}:* ]]; then - CURSOR=${${p#(|*:)${CURSOR}:}%%:*} -elif [[ -n $p ]]; then - CURSOR=${p%%:*} -fi diff --git a/result/sw/share/zsh/5.9/functions/define-composed-chars b/result/sw/share/zsh/5.9/functions/define-composed-chars deleted file mode 100644 index 15d693a3..00000000 --- a/result/sw/share/zsh/5.9/functions/define-composed-chars +++ /dev/null @@ -1,469 +0,0 @@ -# This is not a widget function, it is only a helper for insert-composed-char -# to cut down on resident memory use. - -emulate -L zsh -setopt cbases - -# The associative array zsh_accent_chars is indexed by the -# accent. The values are sets of character / Unicode pairs for -# the character with the given accent. The Unicode value is -# a hex index with no base discriminator; essentially a UCS-4 index -# with the leading zeroes suppressed. -typeset -gA zsh_accented_chars - -# Save quite a lot of space by using short names internally. -local -A z -local a b - -# grave -a=\! -z[$a]="\ -A C0 E C8 I CC O D2 U D9 a E0 e E8 i EC o F2 u F9 N 1F8 n 1F9 \ -" -# acute -a=\' -z[$a]="\ -A C1 E C9 I CD O D3 U DA Y DD a E1 e E9 i ED o F3 u FA y FD C 106 c 107 \ -L 139 l 13A N 143 n 144 R 154 r 155 S 15A s 15B Z 179 z 17A \ -" -# circumflex -a=\> -z[$a]="\ -A C2 E CA I CE O D4 U DB a E2 e EA i EE o F4 u FB C 108 c 109 G 11C g 11d \ -H 124 h 125 J 134 j 135 S 15C s 15D W 174 w 175 Y 176 y 177 \ -" -# tilde -a=\? -z[$a]="\ -A C3 E 1EBC N D1 O D5 a E3 e 1EBD n F1 o F5 I 128 i 129 U 168 u 169 \ -" -# macron (d-, D- give eth) -a=- -z[$a]="\ -A 100 a 101 d F0 D D0 E 112 e 113 I 12a i 12b O 14C o 14D U 16A u 16B \ -" -# breve -a=\( -z[$a]="\ -A 102 a 103 E 114 e 115 G 11E g 11F I 12C i 12D O 14E o 14F U 16C u 16D " -# dot above, small i with no dot, or l with middle dot -a=. -z[$a]="\ -\ -C 10A c 10b E 116 e 117 G 120 g 121 I 130 i 131 L 13F l 140 Z 17B z 17C \ -" -# diaeresis / Umlaut -a=: -z[$a]="\ -A C4 E CB I CF O D6 U DC a E4 e EB i EF o F6 u FC y FF Y 178 \ -" -# cedilla -a=, -z[$a]="\ -C C7 c E7 G 122 g 123 K 136 k 137 L 13B l 13C N 145 n 146 R 156 r 157 \ -S 15E s 15F T 162 t 163 \ -" -# underline (_) would go here -# stroke through -a=/ -z[$a]="\ -O D8 o F8 D 110 d 111 H 126 h 127 L 141 l 142 T 166 t 167 b 180 \ -" -# double acute -a=\" -z[$a]="\ -O 150 o 151 U 170 u 171\ -" -# ogonek -a=\; -z[$a]="\ -A 104 a 105 E 118 e 119 I 12E i 12F U 172 u 173 \ -" -# caron -a=\< -z[$a]="\ -C 10C c 10D D 10E d 10F E 11A e 11B L 13D l 13E N 147 n 148 R 158 r 159 \ -S 160 s 161 T 164 t 165 Z 17D z 17E \ -" -# ring above -a=0 -z[$a]="\ -A C5 a E5 U 16E u 16F \ -" -# hook above -a=2 -z[$a]="\ -A 1EA2 a 1EA3 E 1EBA e 1EBA \ -" -# horn, also right quotation marks -a=9 -z[$a]="\ -O 1A0 o 1A1 U 1Af u 1b0 ' 2019 . 201A \" 201D : 201E \ -" -# left quotation marks -a=6 -z[$a]="\ -' 2018 \" 201C \ -" -# reversed quotation marks for convenience -a=\' -z[$a]+=" \ -9 201B \ -" -a=\" -z[$a]+=" \ -9 201F \ -" - -# ligature with E -a=E -z[$a]="\ -A C6 O 152 \ -" -# ligature with e -a=e -z[$a]="\ -a E6 o 153 \ -" -# ligature with J -a=J -z[$a]="\ -I 132 \ -" -# ligature with j -a=j -z[$a]="\ -i 133 \ -" -# ligature with f -a=f -z[$a]="\ -f FB00 \ -" -# ligature with i -a=i -z[$a]="\ -f FB01 \ -" -# ligature with l -a=l -z[$a]="\ -f FB02 \ -" -# ligature with t -a=t -z[$a]="\ -f FB05 s FB06 \ -" -# eszett -a=s -z[$a]="\ -s DF \ -" -# upper case thorn -a=H -z[$a]="\ -T DE \ -" -# lower case thorn -a=h -z[$a]="\ -t FE \ -" - -# Arabic characters -a=\+ -z[$a]+=" \ -, 60C ; 61B ? 61F a 627 b 628 t 62A g 62C x 62E d 62F r 631 z 632 s 633 \ -c 635 e 639 i 63A + 640 f 641 q 642 k 643 l 644 m 645 n 646 h 647 w 648 \ -j 649 y 64A : 64B \" 64C = 64D / 64E ' 64F 1 650 3 651 0 652 p 67E v 6A4 \ -" -a=\' -z[$a]+=" H 621" -z[a]+=" \ -0 6F0 1 6F1 2 6F2 3 6F3 4 6F4 5 6F5 6 6F6 7 6F7 8 6F8 9 6F9 \ -" -z[d]+=" d 636" -z[f]+=" g 6AF" -z[H]+=" a 623 w 624 y 626 z 638" -z[h]+=" a 625" -z[j]+=" t 637" -z[k]+=" t 62B h 62D d 630" -z[M]+=" a 622" -z[m]+=" t 629" -z[n]+=" s 634" -z[S]+=" a 670" - -# Cyrillic characters -a=\= -z[$a]+=" \ -A 410 B 411 V 412 G 413 D 414 E 415 Z 417 I 418 J 419 K 41A L 41B \ -M 41C N 41D O 41E P 41F R 420 S 421 T 422 U 423 F 424 H 425 C 426 \ -Y 42B \ -a 430 b 431 v 432 g 433 d 434 e 435 z 437 i 438 j 439 k 43A l 43B \ -m 43C n 43D o 43E p 43F r 440 s 441 t 442 u 443 f 444 h 445 c 446 \ -y 44B \ -" -z[%]+=" \ -D 402 G 403 J 408 V 40E Z 416 C 427 S 428 z 436 c 447 s 448 \ -d 452 g 453 j 458 v 45E \ -" -z[A]+=" J 42F" -z[a]+=" j 44F" -z[c]+=" S 429 s 449" -z[E]+=" I 404 J 42D" -z[e]+=" j 44D i 454" -z[I]+=" I 406 Y 407" -z[i]+=" i 456 y 457" -z[J]+=" L 409 N 40A K 40C" -z[j]+=" l 459 n 45A k 45C" -z[O]+=" I 401" -z[o]+=" i 451" -z[S]+=" D 405" -z[s]+=" T 40B d 455 t 45B" -z[U]+=" J 42E" -z[u]+=" j 44E" -z[Z]+=" D 40F" -z[z]+=" d 45F" -a=\" -z[$a]+=" = 42A % 42C" -a=\' -z[$a]+=" = 44A % 44C" -z[3]+=" \ -Y 462 y 463 O 46A o 46B F 472 f 473 V 474 v 475 C 480 c 481 \ -G 490 g 491 \ -" - -# Greek characters -a=% -z[$a]+=" \ -A 386 E 388 Y 389 I 38A O 38C U 38E W 38F \ -a 3Ac e 3Ad y 3Ae i 3AF \ -o 3CC u 3CD w 3CE ' 3F4 \ -" -a=\* -z[$a]+=" \ -A 391 B 392 G 393 D 394 E 395 Z 396 Y 397 H 398 I 399 K 39A L 39B \ -M 39C N 39D C 39E O 39F P 3A0 R 3A1 S 3A3 T 3A4 U 3A5 F 3A6 X 3A7 \ -Q 3A8 W 3A9 J 3AA V 3Ab \ -a 3B1 b 3B2 g 3B3 d 3B4 e 3B5 z 3B6 y 3b7 h 3B8 i 3B9 k 3Ba l 3BB \ -m 3BC n 3BD c 3BE o 3BF p 3C0 r 3C1 s 3C3 t 3C4 u 3C5 f 3C6 x 3C7 \ -q 3C8 w 3C9 j 3CA v 3CB \ -" -a=3 -z[$a]+=" \ -i 390 u 3B0 T 3DA t 3DB M 3DC m 3DD K 3DE k 3DF P 3E0 p 3E1 j 3F5 \ -" -z[s]+=" * 3C2" -z[G]+=" ' 3D8 , 3D9" - -# Hebrew characters -a=+ -z[$a]+=" \ -A 5D0 B 5D1 G 5D2 D 5D3 H 5D4 W 5D5 Z 5D6 X 5D7 J 5D9 K 5DB L 5Dc M 5dE \ -N 5E0 S 5E1 E 5E2 P 5E4 Q 5E7 R 5E8 T 5EA \ -" -a=j -z[$a]+=" T 5D8 Z 5E5" -a=% -z[$a]+=" K 5DA M 5DD N 5DF P 5E3 " -a=J -z[$a]+=" Z 5e6" -a=h -z[$a]+=" S 5e9" - -# Superscripts -a=S -z[$a]+=" \ -0 2070 1 B9 2 B2 3 B3 4 2074 5 2075 6 2076 7 2077 8 2078 9 2079 \ -+ 207a - 207b = 207C ( 207D ) 207E n 207f \ -" -# Subscripts -a=s -z[$a]+=" \ -0 2080 1 2081 2 2082 3 2083 4 2084 5 2085 6 2086 7 2087 8 2088 9 2089 \ -+ 208a - 208b = 208C ( 208D ) 208E \ -" - -typeset -i 16 -Z 4 ia -typeset -i 16 -Z 6 iuni -# Extended width characters ^A, ^B, ... (not RFC1345) -for (( ia = 0x21; ia < 0x7f; ia++ )); do - (( iuni = ia + 0xff00 - 0x20 )) - eval a="\$'\\x${ia##0x}'" - z[$a]+=" ^ ${iuni##0x}" -done - -# Card suits: here first character is the interesting one -for a b in S 2660 H 2661 D 2662 C 2663; do - z[$a]+=" c $b" -done - -# Music: ditto -for a b in d 2669 8 266a 2 266b b 266d x 266e X 266f; do - z[$a]+=" M $b" -done - -# Remaining characters are handled as separate pairs. -# We need to remember that the assoc array is keyed by the second character. -# Left square bracket -a=\( -z[$a]+=" < 5B" -# Reverse solidus (backslash to you and me). -a=/ -z[$a]+=" / 5C" -# Right square bracket, circumflex -a=\> -z[$a]+=" ) 5D ' 5E" -# Grave a -a=\! -z[$a]+=" ' 60" -# diglyphys for (usually) standard characters {, |, }, ~ -a=\! -z[$a]+=" ( 7B" -z[$a]+=" ! 7C" -a=\) -z[$a]+=" ! 7D" -a=\? -z[$a]+=" ' 7E" -# non-breaking space -z[S]+=" N A0" -# inverted exclamation mark -z[I]+=" ! A1" -# cent -z[t]+=" C A2" -# pound sterling -z[d]+=" P A3" -# currency -z[u]+=" C A4" -# yen -z[e]+=" Y A5" -# broken bar -z[B]+=" B A6" -# section -z[E]+=" S A7" -# lonely diaeresis -z[:]+=" ' A8" -# copyright -z[o]+=" C A9" -# spanish feminine ordinal -z[a]+=" - AA" -# left guillemet -a=\< -z[$a]+=" < AB" -z[O]+=" N AC" -# soft hyphen -z[-]+=" - AD" -# registered -z[g]+=" R AE" -# lonely macron -z[m]+=" ' AF" -# degree -z[G]+=" D B0" -# degree centigrade -z[C]+=" o 2103" -# degree fahrenheit -z[F]+=" o 2109" -# numero -z[0]+=" N 2116" -# +/- -z[-]+=" + B1" -# lonely acute -a=\' -z[$a]+=" ' B4" -# micro -z[y]+=" M B5" -# pilcrow (paragraph) -z[I]+=" P B6" -# Middle dot -z[M]+=" . B7" -# Lonely cedilla -z[,]+=" ' B8" -# spanish masculine ordinal -z[o]+=" - BA" -# right guillemet -a=\> -z[$a]+=" > BB" -# fractions -z[4]+=" 1 BC 3 BE" -z[2]+=" 1 BD" -# inverted question mark -z[I]+=" ? BF" -# multiplication -z[X]+=" * D7" -# division -z[:]+=" - F7" -# kra -z[k]+=" k 138" -# apostrophe n -z[n]+=" ' 149" -# Lappish ng -z[G]+=" N 14A" -z[g]+=" n 14B" -# OI -z[I]+=" O 1A2" -z[i]+=" o 1A3" -# yr -z[r]+=" y 1A6" -# ezh -z[D]+=" E 1B7" -# euro (I invented this but it's logical) -z[u]+=" E 20AC" -# hyphen -z[1]+=" - 2010" -# en dash -z[N]+=" - 2013" -# em dash -z[M]+=" - 2014" -# horizontal bar, vertical and horizontal ellipsis -z[3]+=" - 2015 : 22EE . 22EF" -# double vertical line, double low line -z[2]+=" ! 2016 = 2017" -# dagger and double dagger -z[-]+=" / 2020" -z[=]+=" / 2021" -# per mille -z[0]+=" % 2030" -# For all, partial derivative, there exists, empty set -z[A]+=" F 2200" -z[P]+=" d 2202" -z[E]+=" T 2203" -z[0]+=" / 2205" -# Increment, del (nabla), element of, contains, product, sum -z[E]+=" D 2206" -z[B]+=" N 2207" -z[-]+=" ( 2208" -a=\) -z[$a]+=" - 220b" -z[P]+=" * 220F" -z[Z]+=" + 2211" -# Minus, minus or plus, asterisk, ring, bullet -z[2]+=" - 2212" -z[+]+=" - 2213" -z[-]+=" * 2217" -z[b]+=" O 2218 S 2219" -# square root, proportional to, infinity -z[T]+=" R 221A" -a=\( -z[$a]+=" 0 221D" -z[0]+=" 0 221E" -# Female and male -z[m]+=" F 2640" -z[l]+=" M 2642" -# Commercial AT -z[t]+=" A 40" -# Prime, double prime, triple prime -a=\' -z[$a]+=" 1 2032 2 2033 3 2034" -# Arrows -z[-]+=" < 2190" -a=\! -z[$a]+=" - 2191" -a=\> -z[$a]+=" - 2192 < 2194 = 21D2" -z[v]+=" - 2193" -z[D]+=" U 2195" -a=\= -z[$a]+=" < 21D0 = 21D4" - -zsh_accented_chars=("${(kv)z[@]}") diff --git a/result/sw/share/zsh/5.9/functions/delete-whole-word-match b/result/sw/share/zsh/5.9/functions/delete-whole-word-match deleted file mode 100644 index 3d52dd3d..00000000 --- a/result/sw/share/zsh/5.9/functions/delete-whole-word-match +++ /dev/null @@ -1,54 +0,0 @@ -# Delete the entire word around the cursor. Does not handle -# a prefix argument; either the cursor is in the word or it isn't. -# The word may be just before the cursor, e.g. -# print this is a line -# ^ here -# and then the word before (i.e. `this') will be deleted. -# -# If the widget has the name `kill' in, the text deleted will be -# saved for future yanking in the normal way. - -emulate -L zsh -setopt extendedglob - -local curcontext=:zle:$WIDGET -local -A matched_words -# Start and end of range of characters to remove. -integer pos1 pos2 - -autoload -Uz match-words-by-style -match-words-by-style - -if (( ${matched_words[is-word-start]} )); then - # The word we are deleting starts at the cursor position. - pos1=$CURSOR -else - # Not, so delete any wordcharacters before, too - pos1="${#matched_words[start]}" -fi - -if [[ -n "${matched_words[ws-after-cursor]}" ]]; then - # There's whitespace at the cursor position, so only delete - # up to the cursor position. - (( pos2 = CURSOR + 1 )) -else - # No whitespace at the cursor position, so delete the - # current character and any following wordcharacters. - (( pos2 = CURSOR + ${#matched_words[word-after-cursor]} + 1 )) -fi - -# Move the cursor then delete the block in one go for the -# purpose of undoing (and yanking, if appropriate). -(( CURSOR = pos1 )) - -# If the widget name includes the word `kill', the removed -# text goes into the cutbuffer in the standard way. -if [[ $WIDGET = *kill* ]]; then - local word="${BUFFER[pos1+1,pos2-1]}" - if [[ $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$CUTBUFFER$word" - else - zle copy-region-as-kill -- "$word" - fi -fi -BUFFER="${BUFFER[1,pos1]}${BUFFER[pos2,-1]}" diff --git a/result/sw/share/zsh/5.9/functions/down-case-word-match b/result/sw/share/zsh/5.9/functions/down-case-word-match deleted file mode 100644 index 3da9159c..00000000 --- a/result/sw/share/zsh/5.9/functions/down-case-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n word ]]; then - LBUFFER+=${(L)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/down-line-or-beginning-search b/result/sw/share/zsh/5.9/functions/down-line-or-beginning-search deleted file mode 100644 index 4c713f19..00000000 --- a/result/sw/share/zsh/5.9/functions/down-line-or-beginning-search +++ /dev/null @@ -1,23 +0,0 @@ -# Like down-line-or-search, but uses the whole line prefix up to the -# cursor position for searching forwards. - -emulate -L zsh - -typeset -g __searching __savecursor - -if [[ ${+NUMERIC} -eq 0 && - ( $LASTWIDGET = $__searching || $RBUFFER != *$'\n'* ) ]] -then - [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor - __searching=$WIDGET - __savecursor=$CURSOR - if zle .history-beginning-search-forward; then - [[ $RBUFFER = *$'\n'* ]] || - zstyle -T ':zle:down-line-or-beginning-search' leave-cursor && - zle .end-of-line - return - fi - [[ $RBUFFER = *$'\n'* ]] || return -fi -__searching='' -zle .down-line-or-history diff --git a/result/sw/share/zsh/5.9/functions/edit-command-line b/result/sw/share/zsh/5.9/functions/edit-command-line deleted file mode 100644 index 5f7ea321..00000000 --- a/result/sw/share/zsh/5.9/functions/edit-command-line +++ /dev/null @@ -1,83 +0,0 @@ -# Edit the command line using your usual editor. -# Binding this to '!' in the vi command mode map, -# autoload -Uz edit-command-line -# zle -N edit-command-line -# bindkey -M vicmd '!' edit-command-line -# will give ksh-like behaviour for that key, -# except that it will handle multi-line buffers properly. - -emulate -L zsh -local left right prebuffer buffer=$BUFFER lbuffer=$LBUFFER -local TMPSUFFIX=.zsh -# set up parameters depending on which context we are called from, -# see below comment for more details -if (( REGION_ACTIVE )); then - if (( CURSOR < MARK )); then - left=$CURSOR right=$MARK - lbuffer= - else - left=$MARK right=$CURSOR - lbuffer[right-left,-1]= - fi - (( left++ )) - buffer=$BUFFER[left,right] -elif (( ! ZLE_RECURSIVE )); then - prebuffer=$PREBUFFER -fi - -() { - exec </dev/tty - - # Compute the cursor's position in bytes, not characters. - setopt localoptions nomultibyte noksharrays - - (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[2] - - # Open the editor, placing the cursor at the right place if we know how. - local -a editor - zstyle -a :zle:$WIDGET editor editor - if (( ! $#editor )); then - editor=( "${(@Q)${(z)${VISUAL:-${EDITOR:-vi}}}}" ) - fi - case $editor in - (*vim*) - integer byteoffset=$(( $#prebuffer + $#lbuffer + 1 )) - "${(@)editor}" -c "normal! ${byteoffset}go" -- $1;; - (*emacs*) - local lines=( "${(@f):-"$prebuffer$lbuffer"}" ) - "${(@)editor}" +${#lines}:$((${#lines[-1]} + 1)) $1;; - (*) "${(@)editor}" $1;; - esac - - (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[1] - - # Replace the buffer with the editor output. - # avoid drawing a new prompt when we can: - # - in recursive-edit, the send-break will just cancel the recursive-edit - # rather than reload the line from print -z so in that case we want to - # just set $BUFFER (unfortunately, recursive-edit doesn't reset CONTEXT - # or PREBUFFER so we have to explicitly handle this case, which overrides - # the following point) - # - when we are at PS2 (CONTEXT == cont && ! ZLE_RECURSIVE) we do want the - # break or otherwise the text from PREBUFFER will be inserted twice - # - when the region is active, we only want to change the parts of BUFFER - # covered by the region, and any PREBUFFER stays as PREBUFFER - # - in all other cases (that I can think of) we also just want to set - # $BUFFER directly. - if (( REGION_ACTIVE )); then - # adjust the length of the region to the length of the edited text - local prelen=$#BUFFER - BUFFER[left,right]="$(<$1)" - if (( MARK > CURSOR )); then - (( MARK += $#BUFFER - prelen )) - else - (( CURSOR += $#BUFFER - prelen )) - fi - elif [[ $CONTEXT != cont ]] || (( ZLE_RECURSIVE )); then - BUFFER="$(<$1)" - else - print -Rz - "$(<$1)" - zle send-break - fi - -} =(<<<"$prebuffer$buffer") diff --git a/result/sw/share/zsh/5.9/functions/expand-absolute-path b/result/sw/share/zsh/5.9/functions/expand-absolute-path deleted file mode 100644 index 4887f3c6..00000000 --- a/result/sw/share/zsh/5.9/functions/expand-absolute-path +++ /dev/null @@ -1,19 +0,0 @@ -# expand-absolute-path -# This is a ZLE widget to expand the absolute path to a file, -# using directory naming to shorten the path where possible. - -emulate -L zsh -setopt extendedglob cbases - -autoload -Uz modify-current-argument - -if (( ! ${+functions[glob-expand-absolute-path]} )); then - glob-expand-absolute-path() { - local -a files - files=(${~1}(N:P)) - (( ${#files} )) || return - REPLY=${(D)files[1]} - } -fi - -modify-current-argument glob-expand-absolute-path diff --git a/result/sw/share/zsh/5.9/functions/forward-word-match b/result/sw/share/zsh/5.9/functions/forward-word-match deleted file mode 100644 index e5b5ef3a..00000000 --- a/result/sw/share/zsh/5.9/functions/forward-word-match +++ /dev/null @@ -1,43 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle ${WIDGET/forward/backward} - return -fi - -while (( count-- )); do - match-words-by-style - - if zstyle -t $curcontext skip-whitespace-first; then - # Standard non-zsh behaviour: skip leading whitespace and the word. - word=$matched_words[4]$matched_words[5] - else - # Traditional zsh behaviour. - # For some reason forward-word doesn't work like the other word - # commands; it skips whitespace only after any matched word - # characters. - if [[ -n $matched_words[4] ]]; then - # just skip the whitespace - word=$matched_words[4] - else - # skip the word and trailing whitespace - word=$matched_words[5]$matched_words[6] - fi - fi - - if [[ -n $word ]]; then - (( CURSOR += ${#word} )) - else - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/getjobs b/result/sw/share/zsh/5.9/functions/getjobs deleted file mode 100644 index f85ccf5b..00000000 --- a/result/sw/share/zsh/5.9/functions/getjobs +++ /dev/null @@ -1,29 +0,0 @@ -# Call this from the preexec function like so: -# preexec() { -# getjobs "${(z)2}" # Use "${(z)1}" prior to zsh-4.0.1 -# } -setopt localoptions noshwordsplit noksharrays -local texts -case $1 in - fg|bg) shift; [[ -n $1 ]] || set -- %% ;; - %*) ;; - *) return 0 ;; -esac -repeat $# -do - # This case statement emulates jobs.c:getjob() - case $1 in - [\;\&\|]|\|\||\&\&) break ;; - %(|[%+])) 1=${(k)jobstates[(r)*:+:*]} ;; - %-) 1=${(k)jobstates[(r)*:-:*]} ;; - %<->) 1=${1#%} ;; - %[?]*) 1=${${(Ok)jobtexts[(R)*${1#%[?]}*]}[1]} ;; - *) 1=${${(Ok)jobtexts[(R)$1*]}[1]} ;; - esac - [[ -n $1 ]] && texts=($texts ${jobtexts[$1]}) - shift -done -# Remove the "-s" below if you'd prefer that this just report -# what jobs are being affected rather than modify the history -(( $#texts )) && print -s ${(j:; :)texts} "$*" -return 0 diff --git a/result/sw/share/zsh/5.9/functions/harden b/result/sw/share/zsh/5.9/functions/harden deleted file mode 100755 index 0058382b..00000000 --- a/result/sw/share/zsh/5.9/functions/harden +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# harden a link (convert it to a singly linked file) -cp $1 $1.foo -rm $1 -mv $1.foo $1 - diff --git a/result/sw/share/zsh/5.9/functions/history-beginning-search-menu b/result/sw/share/zsh/5.9/functions/history-beginning-search-menu deleted file mode 100644 index 0e1bbc73..00000000 --- a/result/sw/share/zsh/5.9/functions/history-beginning-search-menu +++ /dev/null @@ -1,125 +0,0 @@ -# Menu-driven alternative to history-beginning-search-backward. -# As it uses a menu there is no sense of "forward" or "backward", however; -# the entire history is searched. -# -# Configuration: -# autoload -Uz history-beginning-search-menu -# zle -N history-beginning-search-menu -# bindkey '\eP' history-beginning-search-menu -# -# Example: -# % /bin/su<ESC-P> -# Enter digit: -# 1 /bin/su -c 'make install' 4 /bin/su - perforce -# 2 /bin/su 5 /bin/su -c -# 3 /bin/su -c 'chown pws:pws **/*(u0)' -# -# Typing "1" expands the line to -# % /bin/su -c 'make install' -# -# With a prefix argument, the search is not anchored to the beginning, -# so for example "/su" could expand to "p4 files //depot/support/..." -# -# If this is bound to a widget containing "-end", e.g. -# zle -N history-beginning-search-menu-end history-beginning-search-menu -# then the cursor is put at the end of the line, else it is left -# after the matched characters. -# -# If this is bound to a widget containing "-space", then any space in -# the line so far is matched as a wildcard. (This means putting a space -# at the start of the line is equivalent to specifying a prefix -# argument.) - -emulate -L zsh -setopt extendedglob - -zmodload -i zsh/parameter - -local -aU matches -local -a display - -local search=$LBUFFER MATCH MBEGIN MEND - -search=${search//(#m)[\][()\\*?#<>~^]/\\$MATCH} -if [[ $WIDGET = *-space* ]]; then - # We need to quote metacharacters in the search string - # since they are otherwise active in the reverse subscript. - # We need to avoid quoting other characters since they aren't - # and just stay quoted, rather annoyingly. - search=${search// /*} -fi - -if (( ${+NUMERIC} )); then - matches=(${(o)history[(R)*${search}*]}) -else - matches=(${(o)history[(R)${search}*]}) -fi - -# Filter out any match that's the same as the original. -# Note this isn't a pattern this time. -matches=(${matches:#${LBUFFER}}) - -integer n=${#matches} -integer width=${#n} - -(( n == 0 )) && return 1 - -# Hey, this works... -integer i -display=(${matches/(#m)*/${(l.$width..0.):-$((++i))} $MATCH}) -zle -R "Enter digit${${width##1}:+s}:" $display - -integer i -local char chars - -# Hmmm... this isn't great. The only way of clearing the display -# appears to be to overwrite it completely. I think that's because -# displaying strings in this way doesn't set the completion list -# properly. -display=(${display//?/ }) - -# Abort on first non-digit entry instead of requiring all -# characters to be typed (as "read -k$width chars" would do). -for (( i = 0; i < $width; i++ )); do - read -k char - if [[ $char != [[:digit:]] ]]; then - zle -R '' $display - return 1 - fi - chars+=$char -done - -if [[ $chars -eq 0 || $chars -gt $n ]]; then - zle -R '' $display - return 1 -fi - -integer newcursor -if [[ $WIDGET != *-end* ]]; then - if (( ${+NUMERIC} )); then - # Advance cursor so that it's still after the string typed - local -a match mbegin mend - if [[ $matches[$chars] = (#b)(*${LBUFFER})* ]]; then - newcursor=${#match[1]} - fi - else - # Maintain cursor - newcursor=$CURSOR - fi -fi - -# Find the history lines that contain the matched string and -# go to the last one. This allows accept-line-and-down-history etc. -# to work. -local -a lines -local matchq=${matches[$chars]//(#m)[\][|()\\*?#<>~^]/\\$MATCH} -lines=(${(kon)history[(R)$matchq]}) -HISTNO=$lines[-1] - -if (( newcursor )); then - CURSOR=$newcursor -elif [[ $WIDGET = *-end* ]]; then - CURSOR=${#BUFFER} -fi - -zle -R '' $display diff --git a/result/sw/share/zsh/5.9/functions/history-pattern-search b/result/sw/share/zsh/5.9/functions/history-pattern-search deleted file mode 100644 index 0e3103e1..00000000 --- a/result/sw/share/zsh/5.9/functions/history-pattern-search +++ /dev/null @@ -1,83 +0,0 @@ -# Prompt for an search in the history for a pattern. -# Patterns to search are standard zsh patterns, but may include -# ^ at the start or $ at the end to anchor the pattern to the -# start or end of the history entry respectively. -# -# To search backwards, create a widget history-pattern-search-backward: -# zle -N history-pattern-search-backward history-pattern-search -# and to search forwards, create history-pattern-search-forward -# zle -N history-pattern-search-forward history-pattern-search - -# Use extended globbing by default. -emulate -L zsh -setopt extendedglob - -# Load required features. -autoload -Uz read-from-minibuffer -zmodload -i zsh/parameter - -local REPLY dir new -integer i -local -a found match mbegin mend - -# Decide if we are searching backwards or forwards. -if [[ $WIDGET = *forward* ]]; then - dir="forw" -else - dir="rev" -fi - -# Read pattern. Prompt could be made customisable. -read-from-minibuffer "pat ($dir): " $_last_history_pattern_search - -_last_history_pattern_search=$REPLY - -# Abort if bad status or nothing entered -[[ $? -ne 0 || -z $REPLY ]] && return 0 - -# Handle start-of-line anchor. -if [[ $REPLY = \^* ]]; then - REPLY=$REPLY[2,-1] -else - REPLY="*$REPLY" -fi - -# Handle end-of-line anchor. -if [[ $REPLY = *\$ ]]; then - REPLY=$REPLY[1,-2] -else - REPLY="$REPLY*" -fi - -# Search history for pattern. -# As $history is an associative array we can get all matches. -found=(${(kon)history[(R)$REPLY]}) - -if [[ $dir = forw ]]; then - # Searching forward. Look back through matches until we - # get back to the current history number. - for (( i = ${#found}; i >= 1; i-- )); do - (( $found[$i] <= HISTNO )) && break - new=$found[$i] - done -else - # Searching backward. Look forward through matches until we - # reach the current history number. - for (( i = 1; i <= ${#found}; i++ )); do - (( $found[$i] >= HISTNO )) && break - new=$found[$i] - done -fi - -if [[ -n $new ]]; then - # Match found. Move to line. - HISTNO=$new - if [[ $REPLY = *\* && $history[$new] = (#b)(${~REPLY[1,-2]})* ]]; then - # If not anchored to the end, move to the end of the pattern - # we were searching for. - CURSOR=$mend[1] - fi - return 0 -else - return 1 -fi diff --git a/result/sw/share/zsh/5.9/functions/history-search-end b/result/sw/share/zsh/5.9/functions/history-search-end deleted file mode 100644 index fd58bb5f..00000000 --- a/result/sw/share/zsh/5.9/functions/history-search-end +++ /dev/null @@ -1,29 +0,0 @@ -# function history-search-end { -# -# This implements functions like history-beginning-search-{back,for}ward, -# but takes the cursor to the end of the line after moving in the -# history, like history-search-{back,for}ward. To use them: -# zle -N history-beginning-search-backward-end history-search-end -# zle -N history-beginning-search-forward-end history-search-end -# bindkey '...' history-beginning-search-backward-end -# bindkey '...' history-beginning-search-forward-end - -integer cursor=$CURSOR mark=$MARK - -if [[ $LASTWIDGET = history-beginning-search-*-end ]]; then - # Last widget called set $MARK. - CURSOR=$MARK -else - MARK=$CURSOR -fi - -if zle .${WIDGET%-end}; then - # success, go to end of line - zle .end-of-line -else - # failure, restore position - CURSOR=$cursor - MARK=$mark - return 1 -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/incarg b/result/sw/share/zsh/5.9/functions/incarg deleted file mode 100644 index cff0cfe4..00000000 --- a/result/sw/share/zsh/5.9/functions/incarg +++ /dev/null @@ -1,43 +0,0 @@ -# Shell function to increment an integer either under the cursor or just -# to the left of it. Use -# autoload -Uz incarg -# zle -N incarg -# bindkey "..." incarg -# to define it. For example, -# echo 41 -# ^^^ cursor anywhere here -# with incarg gives -# echo 42 -# with the cursor in the same place. -# -# A numeric argument gives a number other than 1 to add (may be negative). -# If you're going to do it a lot with one particular number, you can set -# the parameter incarg to that number (a numeric argument still takes -# precedence). - -emulate -L zsh -setopt extendedglob - -local rrest lrest num - -rrest=${RBUFFER##[0-9]#} -if [[ $RBUFFER = [0-9]* ]]; then - if [[ -z $rrest ]]; then - num=$RBUFFER - else - num=${RBUFFER[1,-$#rrest-1]} - fi -fi - -lrest=${LBUFFER%%[0-9]#} -if [[ $LBUFFER = *[0-9] ]]; then - if [[ -z $lrest ]]; then - num="$LBUFFER$num" - else - num="${LBUFFER[$#lrest+1,-1]}$num" - fi -fi - -[[ -n $num ]] && (( num += ${NUMERIC:-${incarg:-1}} )) - -BUFFER="$lrest$num$rrest" diff --git a/result/sw/share/zsh/5.9/functions/incremental-complete-word b/result/sw/share/zsh/5.9/functions/incremental-complete-word deleted file mode 100644 index ccc00754..00000000 --- a/result/sw/share/zsh/5.9/functions/incremental-complete-word +++ /dev/null @@ -1,137 +0,0 @@ -# Autoload this function, run `zle -N <func-name>' and bind <func-name> -# to a key. - - -# This allows incremental completion of a word. After starting this -# command, a list of completion choices can be shown after every character -# you type, which you can delete with ^h or DEL. RET will accept the -# completion so far. You can hit TAB to do normal completion, ^g to -# abort back to the state when you started, and ^d to list the matches. -# -# This works only with the new function based completion system. - -# Recommended settings: -# zstyle ':completion:incremental:*' completer _complete _ignored -# zstyle :incremental stop-keys $'[\e\C-b\C-f\C-n\C-p\C-u-\C-x]' - -# BUGS: -# The _oldlist completer breaks incremental completion. Use a context- -# specific completer zstyle as shown above to disable the _oldlist -# completer in this function. - -# The main widget function. - -incremental-complete-word() { - emulate -L zsh - unsetopt autolist menucomplete automenu # doesn't work well - - local key lbuf="$LBUFFER" rbuf="$RBUFFER" pmpt pstr word - local lastl lastr wid twid num post toolong - local curcontext="${curcontext}" stop brk - - [[ -z "$curcontext" ]] && curcontext=::: - curcontext="incremental:${curcontext#*:}" - - zstyle -s ":incremental" prompt pmpt || - pmpt='incremental (%c): %u%s %l' - zstyle -s ":incremental" stop-keys stop - zstyle -s ":incremental" break-keys brk - - if zstyle -t ":incremental" list; then - wid=list-choices - post=( icw-list-helper ) - else - wid=complete-word - post=() - fi - - comppostfuncs=( "$post[@]" ) - zle $wid "$@" - LBUFFER="$lbuf" - RBUFFER="$rbuf" - num=$_lastcomp[nmatches] - if (( ! num )); then - word='' - state='-no match-' - elif [[ "${LBUFFER}${RBUFFER}" = *${_lastcomp[unambiguous]}* ]]; then - word='' - state='-no prefix-' - else - word="${_lastcomp[unambiguous]}" - state='' - fi - zformat -f pstr "$pmpt" "u:${word}" "s:$state" "n:$num" \ - "l:$toolong" "c:${_lastcomp[completer]}" - zle -R "$pstr" - read -k key - - while [[ '#key' -ne '#\\r' && '#key' -ne '#\\n' && - '#key' -ne '#\\C-g' ]]; do - twid=$wid - if [[ "$key" = ${~stop} ]]; then - zle -U - "$key" - return - elif [[ "$key" = ${~brk} ]]; then - return - elif [[ '#key' -eq '#\\C-h' || '#key' -eq '#\\C-?' ]]; then - [[ $#LBUFFER -gt $#l ]] && LBUFFER="$LBUFFER[1,-2]" - elif [[ '#key' -eq '#\\t' ]]; then - zle complete-word "$@" - lbuf="$LBUFFER" - rbuf="$RBUFFER" - elif [[ '#key' -eq '#\\C-d' ]]; then - twid=list-choices - else - LBUFFER="$LBUFFER$key" - fi - if (( ! PENDING )); then - lastl="$LBUFFER" - lastr="$RBUFFER" - [[ "$twid" = "$wid" ]] && comppostfuncs=( "$post[@]" ) - toolong='' - zle $twid "$@" - LBUFFER="$lastl" - RBUFFER="$lastr" - num=$_lastcomp[nmatches] - if (( ! num )); then - word='' - state='-no match-' - elif [[ "${LBUFFER}${RBUFFER}" = *${_lastcomp[unambiguous]}* ]]; then - word='' - state='-no prefix-' - else - word="${_lastcomp[unambiguous]}" - state='' - fi - zformat -f pstr "$pmpt" "u:${word}" "s:$state" "n:$num" \ - "l:$toolong" "c:${_lastcomp[completer]}" - zle -R "$pstr" - else - zle -R - fi - read -k key - done - - if [[ '#key' -eq '#\\C-g' ]]; then - LBUFFER="$lbuf" - RBUFFER="$rbuf" - fi - zle -Rc -} - -# Helper function used as a completion post-function used to make sure that -# the list of matches in only shown if it fits on the screen. - -icw-list-helper() { - - # +1 for the status line we will add... - - if [[ compstate[list_lines]+BUFFERLINES+1 -gt LINES ]]; then - compstate[list]='list explanations messages' - [[ compstate[list_lines]+BUFFERLINES+1 -gt LINES ]] && compstate[list]='' - - toolong='...' - fi -} - -incremental-complete-word "$@" diff --git a/result/sw/share/zsh/5.9/functions/insert-composed-char b/result/sw/share/zsh/5.9/functions/insert-composed-char deleted file mode 100644 index 636895a8..00000000 --- a/result/sw/share/zsh/5.9/functions/insert-composed-char +++ /dev/null @@ -1,187 +0,0 @@ -# Accented characters. Inputs two keys. There are two types: those -# with a base character followed by an accent (see below for codes for -# accents), and those with a two-character mnemonic for the composed -# character. These are (with the exception of the Euro) the codes -# given by RFC 1345. Note that some codes in RFC 1345 require three -# characters to be input; none of these are handled. -# -# For best results zsh should have been built with support for -# multibyte characters (--enable-multibyte), but single character sets -# also work. -# -# Outputs the character converted from Unicode into the local representation. -# (The conversion is done within the shell, using whatever facilities -# the C library provides.) -# -# When used as a zle widget, the character is inserted at the cursor -# position. With a numeric argument, preview in status line; outside zle, -# print character (and newline) to standard output. -# -# The set of accented characters is reasonably complete up to U+0180, the -# set of special characters less so. However, it mostly gives up at that -# point. Adding new Unicode characters is easy, however. Please send any -# additions to zsh-workers@zsh.org . -# -# Some of the accent codes are a little more obscure than others. -# ! Grave -# ' Acute -# > Circumflex -# ? Tilde -# - Macron. (A horizontal bar over the letter.) -# ( Breve. (A shallow dish shape over the letter.) -# . Dot above, or no dot with lower case i, or dot in the middle of L or l. -# : Diaeresis (Umlaut) -# , Cedilla -# _ Underline (none of these currently) -# / Stroke through character -# " Double acute -# ; Ogonek. (A little forward facing hook at the bottom right -# of the character.) -# < Caron. (A little v over the letter.) -# 0 Circle -# 2 Hook -# 9 Horn -# Hence A! is upper case A with a grave, c, is lower case c with cedilla. -# -# Some other composed characters: -# Various ligatures: -# AE ae OE oe IJ ij -# -# ASCII characters not on all keyboards: -# <( [ -# // \ -# )> ] -# (! { -# !! | -# !) } -# '? ~ -# -# Special letters: -# ss Eszett (schafes S) -# D- d- TH th Eth and thorn -# kk kra -# 'n 'n -# NG ng ng -# OI oi OI -# yr yr -# ED ezh -# -# Currency symbols: -# Ct Cent -# Pd Pound sterling -# Cu Currency -# Ye Yen -# Eu Euro (not in RFC 1345 but logical) -# -# Punctuation -# !I Inverted ! -# BB Broken vertical bar -# SE Section -# Co Copyright -# -a Spanish feminine ordinal indicator -# << Left guillemet -# -- Soft hyphen -# Rg Registered trade mark -# PI Pilcrow (paragraph) -# -o Spanish masculine ordinal indicator -# >> Right guillemet -# ?I Inverted question mark -# -1 Hyphen -# -N en dash -# -M em dash -# -3 horizontal bar -# :3 vertical ellipsis -# .3 horizontal midline ellipsis -# !2 double vertical line -# =2 double low line -# '6 Left single quote -# '9 Right single quote -# .9 "Right" low quote -# 9' Reversed "right" quote -# "6 Left double quote -# "9 Right double quote -# :9 "Right" low double quote -# 9" Reversed "right" double quote -# /- Dagger -# /= Double dagger -# -# Mathematical -# DG Degree -# +- +/- -# 2S Superscript 2 -# 3S Superscript 3 -# My Micro -# .M Middle dot -# 1S Superscript 1 -# 14 Quarter -# 12 Half -# 34 Three quarters -# *X Multiplication -# -: Division -# %0 Per mille -# -# Accents with no base character -# '> Circumflex (caret) -# '! Grave (backtick) -# ', Cedilla -# ': Diaeresis (Umlaut) -# 'm Macron -# '' Acute - -emulate -L zsh -setopt cbases extendedglob printeightbit - -local accent basechar ochar error - -if [[ -n $WIDGET ]]; then - error=(zle -M) -else - error=print -fi - -if (( ${+zsh_accented_chars} == 0 )); then - # Save quite a lot of memory by running and then erasing - # the function that defines the characters. - autoload -Uz define-composed-chars - define-composed-chars - unfunction define-composed-chars -fi - -if (( $# )); then - basechar=${1[1]} - if [[ $1 = ? ]]; then - shift - else - 1=${1[2,-1]} - fi -else - read -k basechar || return 1 -fi - -if (( $# )); then - accent=${1[1]} -else - read -k accent || return 1 -fi - -local -A charmap -# just in case someone is monkeying with IFS... -charmap=(${(s. .)zsh_accented_chars[$accent]}) - -if [[ ${#charmap} -eq 0 || -z $charmap[$basechar] ]]; then - $error "Combination ${basechar}${accent} is not available." - return 1 -fi - -if [[ -z $WIDGET ]]; then - [[ -t 1 ]] && print - print "\U${(l.8..0.)charmap[$basechar]}" -else - ochar="$(print -n "\U${(l.8..0.)charmap[$basechar]}")" - - if (( ${+NUMERIC} )); then - $error "Character ${(l.8..0.)charmap[$basechar]}: $ochar" - else - LBUFFER+=$ochar - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/insert-files b/result/sw/share/zsh/5.9/functions/insert-files deleted file mode 100644 index 2d13d82d..00000000 --- a/result/sw/share/zsh/5.9/functions/insert-files +++ /dev/null @@ -1,42 +0,0 @@ -# insert-files() { - -# Autoload this function, run `zle -N <func-name>' and bind <func-name> -# to a key. - -# This function allows you type a file pattern, and see the results of the -# expansion at each step. When you hit return, they will be inserted into -# the command line. - -emulate -L zsh -setopt nobadpattern - -local key str files - -files=( *(N:q) ) -if (( $#files )); then - zle -R "files: ${str}_" "$files[@]" -else - zle -R "files: ${str}_ (failed)" -fi -read -k key -while [[ '#key' -ne '#\\r' && '#key' -ne '#\\n' && - '#key' -ne '#\\C-g' ]]; do - if [[ '#key' -eq '#\\C-h' || '#key' -eq '#\\C-?' ]]; then - [[ -n "$str" ]] && str="$str[1,-2]" - else - str="$str$key" - fi - eval "files=( \${~str}*(N:q) )" - if (( $#files )); then - zle -R "files: ${str}_" "$files[@]" - else - zle -R "files: ${str}_ (failed)" - fi - read -k key -done -zle -Rc -if [[ '#key' -ne '#\\C-g' && $#files -gt 0 ]]; then - [[ "$LBUFFER[-1]" = ' ' ]] || files=('' "$files[@]") - LBUFFER="$LBUFFER$files " -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/insert-unicode-char b/result/sw/share/zsh/5.9/functions/insert-unicode-char deleted file mode 100644 index b943fb7f..00000000 --- a/result/sw/share/zsh/5.9/functions/insert-unicode-char +++ /dev/null @@ -1,22 +0,0 @@ -# Make hex integers appear as 0x... -setopt localoptions cbases - -integer -g _insert_unicode_ready - -if [[ $LASTWIDGET = insert-unicode-char && $_insert_unicode_ready -eq 1 ]] -then - # Second call; we should have a usable prefix. - # If we don't, give up. - (( ${+NUMERIC} )) || return 1 - # Convert it back to hex, padded with zeroes to 8 digits plus the 0x... - local -i 16 -Z 10 arg=$NUMERIC - # ...and use print to turn this into a Unicode character. - LBUFFER+="$(print -n "\U${arg##0x}")" - integer -g _insert_unicode_ready=0 -else - # Set the base to 16... - zle argument-base 16 - # ...wait for user to type hex keys then call this widget again. - zle universal-argument - integer -g _insert_unicode_ready=1 -fi diff --git a/result/sw/share/zsh/5.9/functions/is-at-least b/result/sw/share/zsh/5.9/functions/is-at-least deleted file mode 100644 index d4ff3552..00000000 --- a/result/sw/share/zsh/5.9/functions/is-at-least +++ /dev/null @@ -1,56 +0,0 @@ -# -# Test whether $ZSH_VERSION (or some value of your choice, if a second argument -# is provided) is greater than or equal to x.y.z-r (in argument one). In fact, -# it'll accept any dot/dash-separated string of numbers as its second argument -# and compare it to the dot/dash-separated first argument. Leading non-number -# parts of a segment (such as the "zefram" in 3.1.2-zefram4) are not considered -# when the comparison is done; only the numbers matter. Any left-out segments -# in the first argument that are present in the version string compared are -# considered as zeroes, eg 3 == 3.0 == 3.0.0 == 3.0.0.0 and so on. -# -# Usage examples: -# is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS -# is-at-least 3.1.0 && setopt HIST_REDUCE_BLANKS -# is-at-least 586 $MACHTYPE && echo 'You could be running Mandrake!' -# is-at-least $ZSH_VERSION || print 'Something fishy here.' -# -# Note that segments that contain no digits at all are ignored, and leading -# text is discarded if trailing digits follow, because this was the meaning -# of certain zsh version strings in the early 2000s. Other segments that -# begin with digits are compared using NUMERIC_GLOB_SORT semantics, and any -# other segments starting with text are compared lexically. - -emulate -L zsh - -local IFS=".-" min_cnt=0 ver_cnt=0 part min_ver version order - -min_ver=(${=1}) -version=(${=2:-$ZSH_VERSION} 0) - -while (( $min_cnt <= ${#min_ver} )); do - while [[ "$part" != <-> ]]; do - (( ++ver_cnt > ${#version} )) && return 0 - if [[ ${version[ver_cnt]} = *[0-9][^0-9]* ]]; then - # Contains a number followed by text. Not a zsh version string. - order=( ${version[ver_cnt]} ${min_ver[ver_cnt]} ) - if [[ ${version[ver_cnt]} = <->* ]]; then - # Leading digits, compare by sorting with numeric order. - [[ $order != ${${(On)order}} ]] && return 1 - else - # No leading digits, compare by sorting in lexical order. - [[ $order != ${${(O)order}} ]] && return 1 - fi - [[ $order[1] != $order[2] ]] && return 0 - fi - part=${version[ver_cnt]##*[^0-9]} - done - - while true; do - (( ++min_cnt > ${#min_ver} )) && return 0 - [[ ${min_ver[min_cnt]} = <-> ]] && break - done - - (( part > min_ver[min_cnt] )) && return 0 - (( part < min_ver[min_cnt] )) && return 1 - part='' -done diff --git a/result/sw/share/zsh/5.9/functions/keeper b/result/sw/share/zsh/5.9/functions/keeper deleted file mode 100644 index a4012577..00000000 --- a/result/sw/share/zsh/5.9/functions/keeper +++ /dev/null @@ -1,96 +0,0 @@ -## -# The "keeper" function suite originally appeared in several zsh-users -# posts in the fall of 2004. It was published in summary form in the -# Shell Corner column on UnixReview.com in January 2005 at the URL -# <http://www.unixreview.com/documents/s=9513/ur0501a/ur0501a.htm> -# -# Article still available on the Wayback Machine: -# <http://web.archive.org/web/20050207041146/http://www.unixreview.com/documents/s=9513/ur0501a/ur0501a.htm> -# -# A few minor edits have been made to those functions for this file. Key -# bindings are commented out to avoid clashes with any existing bindings. -## - -declare -a kept - -# The "keep" function accepts a set of file patterns as the positional -# parameters or a series of lines (expected to represent file names) on -# standard input. It stores the expansion of those patterns, or the input -# lines, in the global variable $kept, and then displays the result -# formatted in columns, similar to an "ls" listing. Its alias, also named -# "keep", prevents the file patterns from being expanded when the command -# line is executed; they're expanded in the assignment to $kept instead, -# so that the local settings of nonomatch etc. are applied. - -function keep { - setopt localoptions nomarkdirs nonomatch nocshnullglob nullglob - setopt noksharrays noshwordsplit - kept=($~*) - if [[ ! -t 0 ]]; then - local line - while read -r line; do - kept+=( $line ) - done - fi - print -Rc - ${^kept%/}(T) -} -alias keep='noglob keep' - -# The function "_insert_kept" copies the value of $kept to the cursor -# position. If a prefix of a name is immediately to the left of the -# cursor, then only the subset of $kept that matches that prefix is -# copied, as is usual for completion. The examples bind it to two -# different widgets, "insert-kept-result" and "expand-kept-result". If -# invoked via the "expand-kept-result" widget, it replaces a pattern on -# the command line with the matching words from the $kept array. - -_insert_kept() { - (( $#kept )) || return 1 - local action - zstyle -s :completion:$curcontext insert-kept action - if [[ -n $action ]] - then compstate[insert]=$action - elif [[ $WIDGET = *expand* ]] - then compstate[insert]=all - fi - if [[ $WIDGET = *expand* ]] - then compadd -U ${(M)kept:#${~words[CURRENT]}} - else compadd -a kept - fi -} - -zle -C insert-kept-result complete-word _generic -zstyle ':completion:insert-kept-result:*' completer _insert_kept -# bindkey '^Xk' insert-kept-result - -zle -C expand-kept-result complete-word _generic -zstyle ':completion:expand-kept-result:*' completer _insert_kept -# bindkey '^XK' expand-kept-result - -# The "_expand_word_and_keep" function stores the expansions computed by -# the "_expand" completer in the global $kept for later retrieval by -# "_insert_kept". - -_expand_word_and_keep() { - { - function compadd { - local -A args - zparseopts -E -A args J: - if [[ $args[-J] == all-expansions ]] - then - builtin compadd -A kept "$@" - kept=( ${(Q)${(z)kept}} ) - fi - builtin compadd "$@" - } - _expand_word - } always { - unfunction compadd - } -} - -zle -C _expand_word complete-word _expand_word_and_keep - -# This style is required to segregate the all-expansions group for -# purposes of _expand_word_and_keep. -zstyle ':completion:expand-word:expand:::all-expansions' group-name '' diff --git a/result/sw/share/zsh/5.9/functions/keymap+widget b/result/sw/share/zsh/5.9/functions/keymap+widget deleted file mode 100644 index c3e70ccb..00000000 --- a/result/sw/share/zsh/5.9/functions/keymap+widget +++ /dev/null @@ -1,95 +0,0 @@ -#autoload - -## -# self-insert-by-keymap originally appeared in zsh-users/10559 (July 2006). -# Changes have been made to the widget naming scheme, based on feedback on -# the mailing list thread. -## - -emulate -L zsh -zmodload -i zsh/zleparameter || return 1 - -# Rebind the most common widgets to override in multiple keymaps. Ideally -# complete-word would also be in this list, but so many other things -# already rebind complete-word that doing so here is a waste of effort. - -local -a m -local w='' k='' -for w in self-insert accept-line forward-char backward-char \ - up-{,line-or-}history down-{,line-or-}history \ - magic-space backward-delete-char delete-char-or-list -do - - # If this is run early enough that all the widgets are still builtins, - # no explicit remapping is needed. If they've already been rebound, - # it's not safe to assume we can do so again. - - if [[ $widgets[$w] != (builtin|user:$w-by-keymap) ]] - then - m+="Cannot rebind $w: $widgets[$w]" - continue - fi - - function $w-by-keymap { - if (( $+widgets[$KEYMAP+$WIDGET] == 1 )) - then zle $KEYMAP+$WIDGET "$@" - else zle .$WIDGET "$@" - fi - } - - zle -N $w $w-by-keymap - -done - -[[ -n $m ]] && { zle && zle -M "${(F)m}" || print -l -u2 -R $m } - -return 0 - -# With this in place, you should rarely need "zle -N self-insert frob" -# again. Instead you do this: -# -# bindkey -N frobber main -# zle -N frobber+self-insert frob -# -# Then, whenever you wish to replace self-insert with frob, change -# keymaps: -# -# zle recursive-edit -K frobber - -# Here's a simple example, which improves upon the caps-lock example in -# the zsh manual entry for recursive-edit: -# -# ucase+self-insert() { -# LBUFFER+=${(U)KEYS[-1]} -# } -# zle -N ucase+self-insert -# caps-lock() { -# bindkey -N ucase $KEYMAP -# bindkey -M ucase "$KEYS" .accept-line -# zle recursive-edit -K ucase || zle send-break -# } -# zle -N caps-lock -# -# To turn this on, pick a key sequence (I've chosen ctrl-x shift-L) and -# bind the caps-lock widget to it: -# -# bindkey -M main '^XL' caps-lock - -# Another example of using a continuation widget to propagate accept-line -# (or any other binding from the original keymap) through the caller: -# -# bindkey -N newkeymap $KEYMAP -# recursive-edit-and-accept() { -# local -a __accepted -# zle -N newkeymap+accept-line end-recursive-edit -# zle recursive-edit -K newkeymap || zle send-break -# if [[ ${__accepted[0]} != end-recursive-edit ]] -# then zle "${__accepted[@]}"; return -# else return 0 -# fi -# } -# end-recursive-edit() { -# __accepted=($WIDGET ${=NUMERIC:+-n $NUMERIC} "$@") -# zle .accept-line -# return 0 -# } diff --git a/result/sw/share/zsh/5.9/functions/kill-word-match b/result/sw/share/zsh/5.9/functions/kill-word-match deleted file mode 100644 index ffc5be72..00000000 --- a/result/sw/share/zsh/5.9/functions/kill-word-match +++ /dev/null @@ -1,36 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word done -local -a matched_words -integer count=${NUMERIC:-1} - -if (( count < 0 )); then - (( NUMERIC = -count )) - zle backward-$WIDGET - return -fi - -while (( count-- )); do - match-words-by-style - - word="${(j..)matched_words[4,5]}" - - if [[ -n $word ]]; then - if [[ -n $done || $LASTWIDGET = *kill* ]]; then - CUTBUFFER="$CUTBUFFER$word" - else - zle copy-region-as-kill -- $word - fi - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi - done=1 -done - -zle -f 'kill' - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/match-word-context b/result/sw/share/zsh/5.9/functions/match-word-context deleted file mode 100644 index 8793483f..00000000 --- a/result/sw/share/zsh/5.9/functions/match-word-context +++ /dev/null @@ -1,50 +0,0 @@ -# See if we can extend the word context to something more specific. -# curcontext must be set to the base context by this point; it -# will be appended to directly. - -emulate -L zsh -setopt extendedglob - -local -a worcon bufwords -local pat tag lastword word backword forword -integer iword between - -zstyle -a $curcontext word-context worcon || return 0 - -if (( ${#worcon} % 2 )); then - zle -M "Bad word-context style in context $curcontext" - return -fi - -bufwords=(${(z)LBUFFER}) -iword=${#bufwords} -lastword=${bufwords[-1]} -bufwords=(${(z)BUFFER}) - -if [[ $lastword = ${bufwords[iword]} ]]; then - # If the word immediately left of the cursor is complete, - # we're not on it for forward operations. - forword=${bufwords[iword+1]} - # If, furthermore, we're on whitespace, then we're between words. - # It can't be significant whitespace because the previous word is complete. - [[ $RBUFFER[1] = [[:space:]] ]] && between=1 -else - # We're on a word. - forword=${bufwords[iword]} -fi -backword=${bufwords[iword]} - -if [[ between -ne 0 && $curcontext = *between* ]]; then - word=' ' -elif [[ $curcontext = *back* ]]; then - word=$backword -else - word=$forword -fi - -for pat tag in "${worcon[@]}"; do - if [[ $word = ${~pat} ]]; then - curcontext+=":$tag" - return - fi -done diff --git a/result/sw/share/zsh/5.9/functions/match-words-by-style b/result/sw/share/zsh/5.9/functions/match-words-by-style deleted file mode 100644 index fc59c276..00000000 --- a/result/sw/share/zsh/5.9/functions/match-words-by-style +++ /dev/null @@ -1,296 +0,0 @@ -# Match words by the style given below. The matching depends on the -# cursor position. The matched_words array is set to the matched portions -# separately. These look like: -# <stuff-at-start> <word-before-cursor> <whitespace-before-cursor> -# <whitespace-after-cursor> <word-after-cursor> <whitespace-after-word> -# <stuff-at-end> -# where the cursor position is always after the third item and `after' -# is to be interpreted as `after or on'. -# -# matched_words may be an associative array, in which case the -# values above are now given by the elements named start, word-before-cursor, -# ws-before-cursor, ws-after-cursor, word-after-cursor, ws-after-word, -# end. In addition, the element is-word-start is 1 if the cursor -# is on the start of a word; this is non-trivial in the case of subword -# (camel case) matching as there may be no white space to test. -# -# Some of the array elements will be empty; this depends on the style. -# For example -# foo bar rod stick -# ^ -# with the cursor where indicated will with typical settings produce the -# elements `foo ', `bar', ` ', ` ', `rod', ` ' and `stick'. -# -# The style word-style can be set to indicate what a word is. -# The three possibilities are: -# -# shell Words are shell words, i.e. elements of a command line. -# whitespace Words are space delimited words; only space or tab characters -# are considered to terminated a word. -# normal (the default): the usual zle logic is applied, with all -# alphanumeric characters plus any characters in $WORDCHARS -# considered parts of a word. The style word-chars overrides -# the parameter. (Any currently undefined value will be -# treated as `normal', but this should not be relied upon.) -# specified Similar to normal, except that only the words given -# in the string (and not also alphanumeric characters) -# are to be considered parts of words. -# unspecified The negation of `specified': the characters given -# are those that aren't to be considered parts of a word. -# They should probably include white space. -# -# In the case of the `normal' or `(un)specified', more control on the -# behaviour can be obtained by setting the style `word-chars' for the -# current context. The value is used to override $WORDCHARS locally. -# Hence, -# zstyle ':zle:transpose-words*' word-style normal -# zstyle ':zle:transpose-words*' word-chars '' -# will force bash-style word recognition, i.e only alphanumeric characters -# are considered parts of a word. It is up to the function which calls -# match-words-by-style to set the context in the variable curcontext, -# else a default context will be used (not recommended). -# -# You can override the use of word-chars with the style word-class. -# This specifies the same information, but as a character class. -# The surrounding square brackets shouldn't be given, but anything -# which can appear inside is allowed. For example, -# zstyle ':zle:*' word-class '-:[:alnum:]' -# is valid. Note the usual care with `]' , `^' and `-' must be taken if -# they need to appear as individual characters rather than for grouping. -# -# The final style is `skip-chars'. This is an integer; that many -# characters counting the one under the cursor will be treated as -# whitespace regardless and added to the front of the fourth element of -# matched_words. The default is zero, i.e. the character under the cursor -# will appear in <whitespace-after-cursor> if it is whitespace, else in -# <word-after-cursor>. This style is mostly useful for forcing -# transposition to ignore the current character. -# -# The values of the styles can be overridden by options to the function: -# -w <word-style> -# -s <skip-chars> -# -c <word-class> -# -C <word-chars> - -emulate -L zsh -setopt extendedglob - -local wordstyle spacepat wordpat1 wordpat2 opt charskip wordchars wordclass -local match mbegin mend pat1 pat2 word1 word2 ws1 ws2 ws3 skip -local nwords MATCH MBEGIN MEND subwordrange - -local curcontext=${curcontext:-:zle:match-words-by-style} - -autoload -Uz match-word-context -match-word-context - -while getopts "w:s:c:C:r:" opt; do - case $opt in - (w) - wordstyle=$OPTARG - ;; - - (s) - skip=$OPTARG - ;; - - (c) - wordclass=$OPTARG - ;; - - (C) - wordchars=$OPTARG - ;; - - (r) - subwordrange=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done - -[[ -z $wordstyle ]] && zstyle -s $curcontext word-style wordstyle -[[ -z $skip ]] && zstyle -s $curcontext skip-chars skip -[[ -z $skip ]] && skip=0 - -case $wordstyle in - (*shell*) local bufwords - # This splits the line into words as the shell understands them. - bufwords=(${(Z:n:)LBUFFER}) - nwords=${#bufwords} - wordpat1="${(q)bufwords[-1]}" - - # Take substring of RBUFFER to skip over $skip characters - # from the cursor position. - bufwords=(${(Z:n:)RBUFFER[1+$skip,-1]}) - wordpat2="${(q)bufwords[1]}" - spacepat='[[:space:]]#' - - # Assume the words are at the top level, i.e. if we are inside - # 'something with spaces' then we need to ignore the embedded - # spaces and consider the whole word. - bufwords=(${(Z:n:)BUFFER}) - if (( ${#bufwords[$nwords]} > ${#wordpat1} )); then - # Yes, we're in the middle of a shell word. - # Find out what's in front. - eval pat1='${LBUFFER%%(#b)('${wordpat1}')('${spacepat}')}' - # Now everything from ${#pat1}+1 is wordy - wordpat1=${LBUFFER[${#pat1}+1,-1]} - wordpat2=${RBUFFER[1,${#bufwords[$nwords]}-${#wordpat1}+1]} - - wordpat1=${(q)wordpat1} - wordpat2=${(q)wordpat2} - fi - ;; - (*space*) spacepat='[[:space:]]#' - wordpat1='[^[:space:]]##' - wordpat2=$wordpat1 - ;; - (*) local wc - # See if there is a character class. - wc=$wordclass - if [[ -n $wc ]] || zstyle -s $curcontext word-class wc; then - # Treat as a character class: do minimal quoting. - wc=${wc//(#m)[\'\"\`\$\(\)\^]/\\$MATCH} - else - # See if there is a local version of $WORDCHARS. - wc=$wordchars - if [[ -z $wc ]]; then - zstyle -s $curcontext word-chars wc || - wc=$WORDCHARS - fi - if [[ $wc = (#b)(?*)-(*) ]]; then - # We need to bring any `-' to the front to avoid confusing - # character classes... we get away with `]' since in zsh - # this isn't a pattern character if it's quoted. - wc=-$match[1]$match[2] - fi - wc="${(q)wc}" - fi - # Quote $wc where necessary, because we don't want those - # characters to be considered as pattern characters later on. - if [[ $wordstyle = *specified* ]]; then - if [[ $wordstyle != *unspecified* ]]; then - # The given set of characters are the word characters, nothing else - wordpat1="[${wc}]##" - # anything else is a space. - spacepat="[^${wc}]#" - else - # The other way round. - wordpat1="[^${wc}]##" - spacepat="[${wc}]#" - fi - else - # Normal: similar, but add alphanumerics. - wordpat1="[${wc}[:alnum:]]##" - spacepat="[^${wc}[:alnum:]]#" - fi - wordpat2=$wordpat1 - ;; -esac - -# The eval makes any special characters in the parameters active. -# In particular, we need the surrounding `[' s to be `real'. -# This is why we quoted the wordpats in the `shell' option, where -# they have to be treated as literal strings at this point. -match=() -eval pat1='${LBUFFER%%(#b)('${wordpat1}')('${spacepat}')}' -word1=$match[1] -ws1=$match[2] - -if [[ $wordstyle = *subword* ]]; then - if [[ -z $subwordrange ]] && - ! zstyle -s $curcontext subword-range subwordrange; then - subwordrange='[:upper:]' - fi - # The rule here is that a word boundary may be an upper case letter - # followed by a lower case letter, or an upper case letter at - # the start of a group of upper case letters. To make - # it easier to be consistent, we just use anything that - # isn't an upper case character instead of a lower case - # character. - # Here the initial "*" will match greedily, so we get the - # last such match, as we want. - integer epos - if [[ $word1 = (#b)(*)([${~subwordrange}][^${~subwordrange}]*) ]]; then - (( epos = ${#match[1]} )) - fi - if [[ $word1 = (#b)(*[^${~subwordrange}])([${~subwordrange}]*) ]]; then - (( ${#match[1]} > epos )) && (( epos = ${#match[1]} )) - fi - if (( epos > 0 )); then - pat1+=$word1[1,epos] - word1=$word1[epos+1,-1] - fi -fi - -match=() -charskip=${(l:skip::?:)} - -eval pat2='${RBUFFER##(#b)('${charskip}${spacepat}')('\ -${wordpat2}')('${spacepat}')}' -if [[ -n $match[2] ]]; then - ws2=$match[1] - word2=$match[2] - ws3=$match[3] -else - # No more words, so anything left is white space after cursor. - ws2=$RBUFFER - pat2= -fi - -integer wordstart -[[ ( -n $ws1 || -n $ws2 ) && -n $word2 ]] && wordstart=1 -if [[ $wordstyle = *subword* ]]; then - # Do we have a group of upper case characters at the start - # of word2 (that don't form the entire word)? - # Again, rely on greedy matching of first pattern. - if [[ $word2 = (#b)([${~subwordrange}][${~subwordrange}]##)(*) && - -n $match[2] ]]; then - # Yes, so the last one is new word boundary. - (( epos = ${#match[1]} - 1 )) - # Otherwise, are we in the middle of a word? - # In other, er, words, we've got something on the left with no - # white space following and something that doesn't start a word here. - elif [[ -n $word1 && -z $ws1 && -z $ws2 && \ - $word2 = (#b)([^${~subwordrange}]##)* ]]; then - (( epos = ${#match[1]} )) - # Otherwise, do we have upper followed by non-upper not - # at the start? Ignore the initial character, we already - # know it's a word boundary so it can be an upper case character - # if it wants. - elif [[ $word2 = (#b)(?[^${~subwordrange}]##)[${~subwordrange}]* ]]; then - (( epos = ${#match[1]} )) - (( wordstart = 1 )) - else - (( epos = 0 )) - fi - if (( epos )); then - # Careful: if we matched a subword there's no whitespace immediately - # after the matched word, so ws3 should be empty and any existing - # value tacked onto pat2. - pat2="${word2[epos+1,-1]}$ws3$pat2" - ws3= - word2=$word2[1,epos] - fi -fi - -# matched_words should be local to caller. -# Just fix type here. -if [[ ${(t)matched_words} = *association* ]]; then - matched_words=( - start "$pat1" - word-before-cursor "$word1" - ws-before-cursor "$ws1" - ws-after-cursor "$ws2" - word-after-cursor "$word2" - ws-after-word "$ws3" - end "$pat2" - is-word-start $wordstart - ) -else - matched_words=("$pat1" "$word1" "$ws1" "$ws2" "$word2" "$ws3" "$pat2") -fi diff --git a/result/sw/share/zsh/5.9/functions/mere b/result/sw/share/zsh/5.9/functions/mere deleted file mode 100644 index 410be9ab..00000000 --- a/result/sw/share/zsh/5.9/functions/mere +++ /dev/null @@ -1,89 +0,0 @@ -# read a man page - -setopt localoptions extendedglob - -local manual="$1" col=col terminal=man magic line - -# /usr/bin/col on SunOS 4 doesn't support -x. -if [[ -x /usr/5bin/col ]]; then - col=/usr/5bin/col; -fi - -# SunOS 5 has no `man' terminal. -if [[ -d /usr/share/lib/nterm && - ! -e /usr/share/lib/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# HP-UX has no `man' terminal. -if [[ -d /usr/share/lib/term && - ! -e /usr/share/lib/term/tab$terminal ]]; then - terminal=lp; -fi - -# IRIX has no `man' terminal. -if [[ -d /usr/lib/nterm && - ! -e /usr/lib/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# Unixware has no `man' terminal. -if [[ -d /usr/ucblib/doctools/nterm && - ! -e /usr/ucblib/doctools/nterm/tab.$terminal ]]; then - terminal=lp; -fi - -# Solaris has SGML manuals. -if [[ -f /usr/lib/sgml/sgml2roff ]] && - [[ "$(read -er < $manual)" = "<!DOCTYPE"* ]]; then - /usr/lib/sgml/sgml2roff $manual | { - read -r line - if [[ $line = ".so "* ]]; then - # There is no cascading .so directive. - # On Solaris 7, at least. - /usr/lib/sgml/sgml2roff ${line#.so } - else - print -lr - "$line" - cat - fi - } -else - read -u0 -k 2 magic < $manual - case $magic in - $'\037\235') zcat $manual;; - $'\037\213') gzip -dc $manual;; - *) cat $manual;; - esac -fi | ( - # cd is required to work soelim called by nroff. - case $manual in - */man/man*/*) cd ${manual:h:h};; - */man/sman*/*) cd ${manual:h:h};; - esac - read -r line - # The first line beginning with '\" shows preprocessors. - # Unknown preprocessors is ignored. - if [[ $line = "'\\\" "* ]]; then - typeset -A filter - filter=( - e neqn - g grap - p pic - r refer - t tbl - v vgrind - ) - eval ${(j:|:)${${(s::)line#\'\\\" }//(#m)?/$filter[$MATCH]}} - elif [[ $line = "'\\\"! "* ]]; then - typeset -A filter - filter=( - eqn neqn - ) - eval ${(j:|:)${${${${(s:|:)line#\'\\\"! }# ##}% ##}//(#m)*/$filter[$MATCH]}} - else - print -lr - "$line" - cat - fi | - nroff -T$terminal -man | $col -x -) | -${=MANPAGER:-${PAGER:-more}} -s diff --git a/result/sw/share/zsh/5.9/functions/modify-current-argument b/result/sw/share/zsh/5.9/functions/modify-current-argument deleted file mode 100644 index 941eb80a..00000000 --- a/result/sw/share/zsh/5.9/functions/modify-current-argument +++ /dev/null @@ -1,84 +0,0 @@ -# Take an expression suitable for interpolation in double quotes that -# performs a replacement on the parameter "ARG". Replaces the -# shell argument (which may be a quoted string) under or before the -# cursor with that. Ensure the expression is suitable quoted. -# -# For example, to uppercase the entire shell argument: -# modify-current-argument '${(U)ARG}' -# To strip the current quoting from the word (whether backslashes or -# single, double or dollar quotes) and use single quotes instead: -# modify-current-argument '${(qq)${(Q)ARG}}' - -# Retain most options from the calling function for the eval. -# Reset some that might confuse things. -setopt localoptions noksharrays multibyte - -local -a reply -integer posword poschar fromend endoffset -local REPLY REPLY2 - -autoload -Uz split-shell-arguments -split-shell-arguments - -(( posword = REPLY, poschar = REPLY2 )) - -# Can't do this unless there's some text under or left of us. -(( posword < 2 )) && return 1 - -# Get the index of the word we want. -if (( posword & 1 )); then - # Odd position; need previous word. - (( posword-- )) - # Pretend position was just after the end of it. - (( poschar = ${#reply[posword]} + 1 )) -fi - -# Work out offset from end of string -(( fromend = $poschar - ${#reply[posword]} - 1 )) -if (( fromend >= -1 )); then - # Cursor is near the end of the word, we'll try to keep it there. - endoffset=1 -fi - -# Length of all characters before current. -# Force use of character (not index) counting and join without IFS. -integer wordoff="${(cj..)#reply[1,posword-1]}" - -# Replacement for current word. This could do anything to ${reply[posword]}. -local ARG="${reply[posword]}" repl -if [[ $1 != *ARG* ]]; then - REPLY= - $1 $ARG || return 1 - repl=$REPLY -else - eval repl=\"$1\" -fi - -if (( !endoffset )) && [[ ${repl[fromend,-1]} = ${ARG[fromend,-1]} ]]; then - # If the part of the string from here to the end hasn't changed, - # leave the cursor this distance from the end instead of the beginning. - endoffset=1 -fi - -# New line: all words before and after current word, with -# no additional spaces since we've already got the whitespace -# and the replacement word in the middle. -local left="${(j..)reply[1,posword-1]}${repl}" -local right="${(j..)reply[posword+1,-1]}" - -if [[ endoffset -ne 0 && ${#repl} -ne 0 ]]; then - # Place cursor relative to end. - LBUFFER="$left" - RBUFFER="$right" - (( CURSOR += fromend )) -else - BUFFER="$left$right" - - # Keep cursor at same position in replaced word. - # Redundant here, but useful if $repl changes the length. - # Limit to the next position after the end of the word. - integer repmax=$(( ${#repl} + 1 )) - # Remember CURSOR starts from offset 0 for some reason, so - # subtract 1 from positions. - (( CURSOR = wordoff + (poschar > repmax ? repmax : poschar) - 1 )) -fi diff --git a/result/sw/share/zsh/5.9/functions/move-line-in-buffer b/result/sw/share/zsh/5.9/functions/move-line-in-buffer deleted file mode 100644 index 5f37a9d7..00000000 --- a/result/sw/share/zsh/5.9/functions/move-line-in-buffer +++ /dev/null @@ -1,16 +0,0 @@ -#autoload - -# Line motions that do not leave the current history entry, -# for editing in multi-line buffers. - -# To use: -# autoload -Uz move-line-in-buffer -# zle -N up-line-in-buffer move-line-in-buffer -# zle -N down-line-in-buffer move-line-in-buffer -# -# then bindkey as you prefer - -local hno=$HISTNO curs=$CURSOR -zle .${WIDGET:s/in-buffer/or-history} "$@" && - (( HISTNO != hno && (HISTNO=hno, CURSOR=curs) )) -return 0 diff --git a/result/sw/share/zsh/5.9/functions/narrow-to-region b/result/sw/share/zsh/5.9/functions/narrow-to-region deleted file mode 100644 index 261d821a..00000000 --- a/result/sw/share/zsh/5.9/functions/narrow-to-region +++ /dev/null @@ -1,155 +0,0 @@ -# Restrict the start of the editable line to the region between cursor -# and mark (including the character at the end). Can be bound used as -# a zle widget, or called as a function from another widget. -# -# Optionally accepts exactly two arguments, which are used instead of -# $CURSOR and $MARK as limits to the range. -# -# Upon exit, $MARK is always the start of the edited range and $CURSOR -# the end of the range, even if they began in the opposite order. -# -# Other options: -# -p pretext show "pretext" instead of the buffer text before the region. -# -P posttext show "posttext" instead of the buffer text after the region. -# Either or both may be empty. -# -n Only replace the text before or after the region with -# the -p or -P options if the text was not empty. -# -l lbufvar $lbufvar is assigned the value of $LBUFFER and -# -r rbufvar $rbufvar is assigned the value of $RBUFFER -# from any recursive edit (i.e. not with -S or -R). Neither -# lbufvar nor rbufvar may begin with the prefix "_ntr_". -# -S statevar -# -R statevar -# Save or restore the state in/from the parameter named statevar. In -# either case no recursive editing takes place; this will typically be -# done within the calling function between calls with -S and -R. The -# statevar may not begin with the prefix "_ntr_" which is reserved for -# parameters within narrow-to-region. - -# set the minimum of options to avoid changing behaviour away from -# user preferences from within recursive-edit -setopt localoptions noshwordsplit noksharrays - -local _ntr_newbuf _ntr_lbuf_return _ntr_rbuf_return -local _ntr_predisplay=$PREDISPLAY _ntr_postdisplay=$POSTDISPLAY -integer _ntr_savelim=UNDO_LIMIT_NO _ntr_changeno _ntr_histno=HISTNO -integer _ntr_start _ntr_end _ntr_swap _ntr_cursor=$CURSOR _ntr_mark=$MARK -integer _ntr_stat - -local _ntr_opt _ntr_pretext _ntr_posttext _ntr_usepretext _ntr_useposttext -local _ntr_nonempty _ntr_save _ntr_restore _ntr_lbuffer _ntr_rbuffer - -while getopts "l:np:P:r:R:S:" _ntr_opt; do - case $_ntr_opt in - (l) _ntr_lbuf_return=$OPTARG - ;; - (n) _ntr_nonempty=1 - ;; - (p) _ntr_pretext=$OPTARG _ntr_usepretext=1 - ;; - (P) _ntr_posttext=$OPTARG _ntr_useposttext=1 - ;; - (r) _ntr_rbuf_return=$OPTARG - ;; - (R) _ntr_restore=$OPTARG - ;; - (S) _ntr_save=$OPTARG - ;; - (*) [[ $_ntr_opt != '?' ]] && print "$0: unhandled option: $_ntr_opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ $_ntr_restore = _ntr_* || $_ntr_save = _ntr_* || - $_ntr_lbuf_return = _ntr_* || $_ntr_rbuf_return = _ntr_* ]]; then - zle -M "$0: _ntr_ prefix is reserved" >&2 - return 1 -fi - -if [[ -n $_ntr_save || -z $_ntr_restore ]]; then - - if (( $# )); then - if (( $# != 2 )); then - zle -M "$0: supply zero or two arguments" >&2 - return 1 - fi - _ntr_start=$1 - _ntr_end=$2 - else - _ntr_start=$MARK - _ntr_end=$CURSOR - fi - - if (( _ntr_start > _ntr_end )); then - _ntr_swap=_ntr_start - _ntr_start=_ntr_end - _ntr_end=_ntr_swap - fi - - (( _ntr_cursor -= _ntr_start, _ntr_mark -= _ntr_start )) - - _ntr_lbuffer=${BUFFER[1,_ntr_start]} - if [[ -z $_ntr_usepretext || ( -n $_ntr_nonempty && -z $_ntr_lbuffer ) ]] - then - _ntr_pretext=$_ntr_lbuffer - fi - _ntr_rbuffer=${BUFFER[_ntr_end+1,-1]} - if [[ -z $_ntr_useposttext || ( -n $_ntr_nonempty && -z $_ntr_rbuffer ) ]] - then - _ntr_posttext=$_ntr_rbuffer - fi - _ntr_changeno=$UNDO_CHANGE_NO - PREDISPLAY="$_ntr_predisplay$_ntr_pretext" - POSTDISPLAY="$_ntr_posttext$_ntr_postdisplay" - - if [[ -n $_ntr_save ]]; then - builtin typeset -ga $_ntr_save - set -A $_ntr_save "${_ntr_predisplay}" "${_ntr_postdisplay}" \ - "${_ntr_savelim}" "${_ntr_changeno}" \ - "${_ntr_start}" "${_ntr_end}" "${_ntr_histno}" || return 1 - fi - - BUFFER=${BUFFER[_ntr_start+1,_ntr_end]} - CURSOR=$_ntr_cursor - MARK=$_ntr_mark - zle split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO -fi - -if [[ -z $_ntr_save && -z $_ntr_restore ]]; then - zle recursive-edit - _ntr_stat=$? - - [[ -n $_ntr_lbuf_return ]] && - builtin typeset -g ${_ntr_lbuf_return}="${LBUFFER}" - [[ -n $_ntr_rbuf_return ]] && - builtin typeset -g ${_ntr_rbuf_return}="${RBUFFER}" -fi - -if [[ -n $_ntr_restore || -z $_ntr_save ]]; then - if [[ -n $_ntr_restore ]]; then - if ! { _ntr_predisplay="${${(@P)_ntr_restore}[1]}" - _ntr_postdisplay="${${(@P)_ntr_restore}[2]}" - _ntr_savelim="${${(@P)_ntr_restore}[3]}" - _ntr_changeno="${${(@P)_ntr_restore}[4]}" - _ntr_start="${${(@P)_ntr_restore}[5]}" - _ntr_end="${${(@P)_ntr_restore}[6]}" - _ntr_histno="${${(@P)_ntr_restore}[7]}" }; then - zle -M Failed. >&2 - return 1 - fi - fi - - _ntr_newbuf="$BUFFER" - HISTNO=_ntr_histno - zle undo $_ntr_changeno - PREDISPLAY=$_ntr_predisplay - POSTDISPLAY=$_ntr_postdisplay - BUFFER[_ntr_start+1,_ntr_end]="$_ntr_newbuf" - (( MARK = _ntr_start, CURSOR = _ntr_start + ${#_ntr_newbuf} )) - UNDO_LIMIT_NO=_ntr_savelim -fi - -return $_ntr_stat diff --git a/result/sw/share/zsh/5.9/functions/narrow-to-region-invisible b/result/sw/share/zsh/5.9/functions/narrow-to-region-invisible deleted file mode 100644 index 312522d0..00000000 --- a/result/sw/share/zsh/5.9/functions/narrow-to-region-invisible +++ /dev/null @@ -1,5 +0,0 @@ -# As narrow-to-region, but replaces the text outside the editable region -# with `...' if it was non-empty. Can be used directly as a widget. - -autoload -Uz narrow-to-region -narrow-to-region -p '...' -P '...' -n diff --git a/result/sw/share/zsh/5.9/functions/nslookup b/result/sw/share/zsh/5.9/functions/nslookup deleted file mode 100644 index 8c11909d..00000000 --- a/result/sw/share/zsh/5.9/functions/nslookup +++ /dev/null @@ -1,47 +0,0 @@ -# Simple wrapper function for `nslookup'. With completion if you are using -# the function based completion system. - -if [[ $argv[(I)-] -eq 0 && $argv[(I)[^-]*] -ne 0 ]]; then - command nslookup "$@" - return -fi - -setopt localoptions localtraps completealiases - -local tmp line compcontext=nslookup curcontext='nslookup:::' pmpt -local pager opager="$PAGER" -typeset +g -x PAGER=cat - -zmodload -e zsh/zpty || zmodload -i zsh/zpty - -trap 'return 130' INT -trap 'zpty -d nslookup' EXIT - -pmpt=() -zstyle -s ':nslookup' prompt tmp && pmpt=(-p "$tmp") -zstyle -s ':nslookup' rprompt tmp && pmpt=("$pmpt[@]" -r "$tmp") -zstyle -s ':nslookup' pager tmp && - [[ -z "$pager" ]] && pager="${opager:-more}" -(( $#pmpt )) || pmpt=(-p '> ') - -zpty nslookup command nslookup "${(q)@}" - -zpty -r nslookup line '*> ' -print -nr "$line" - -while line=''; vared -he "$pmpt[@]" line; do - print -s "$line" - [[ "$line" = exit ]] && break - - zpty -w nslookup "$line" - - zpty -r nslookup line '(|* -)> ' - if [[ -n "$pager" && ${#${(f)line}} -gt LINES ]]; then - print -nr "$line" | eval "$pager" - else - print -nr "$line" - fi -done - -zpty -w nslookup 'exit' diff --git a/result/sw/share/zsh/5.9/functions/pick-web-browser b/result/sw/share/zsh/5.9/functions/pick-web-browser deleted file mode 100644 index 26f4b6bb..00000000 --- a/result/sw/share/zsh/5.9/functions/pick-web-browser +++ /dev/null @@ -1,161 +0,0 @@ -# Function to find a web browser to run on a URL or file. -# Can also be run as a script. It is suitable for use as -# a suffix alias: -# alias -s html=pick-web-browser -# -# The single argument is the URL or file name which may be of any type. -# The only processing which occurs is that if the argument is a file, -# it is converted into a URL. As the function takes account of -# any necessary conversions to the file name (for example, if it -# contains spaces), it is generally preferable to pass in raw file -# names rather than convert them to URLs elsewhere. -# -# The function takes account of the fact that many X Windows browsers -# which are already running on the current display can take a command -# to pass the URL to that process for handling. A typical sign -# that this has happened is that apparently nothing happens --- you -# need to check the browser window. -# -# If no $DISPLAY is set, the function tries to start a terminal-based -# browser instead. - -emulate -L zsh -setopt extendedglob cbases nonomatch warncreateglobal - -zmodload -i zsh/zutil - -local -a xbrowsers ttybrowsers - -# X Windows browsers which might be running and can accept -# a remote URL. -zstyle -a :mime: x-browsers xbrowsers || - xbrowsers=(firefox mozilla netscape opera konqueror) -# Preferred command line browsers. -zstyle -a :mime: tty-browsers ttybrowsers || - ttybrowsers=(elinks links lynx) -# Characters in addition to alphanumerics which can appear literally -# in a URL. `-' should be the first if it appears, so append others -# to the end. -local litc="-_./" - -local -a windows remoteargs match mbegin mend -local url browser command - -url=$1 -if [[ -f $url ]]; then - if [[ $url = *[^-_[:alnum:]]* ]]; then - # Convert special characters into hex escapes. - local sofar - while [[ $url = (#b)([${litc}[:alnum:]]#)([^${litc}[:alnum:]])(*) ]] - do - sofar+="$match[1]%${$(( [#16] ##$match[2] ))##0x}" - url=$match[3] - done - url="$sofar$url" - fi - - # Turn this into a local URL - if [[ $url = /* ]]; then - url=file://$url - else - url=file://$PWD/$url - fi -fi - -local bstyle -local -a bstyles -zstyle -a :mime: browser-styles bstyles || bstyles=(running x tty) - -for bstyle in $bstyles; do - case $bstyle in - (running) - [[ -z $DISPLAY ]] && continue - # X Windows running - - # Get the name of all windows running; use the internal name, not - # the friendly name, which is less useful. - - windows=(${(ou)${(M)${(f)"$(xwininfo -root -all)"}:#*\"*\"\:[[:space:]]\(\"*}/(#b)*\"*\"\:[[:space:]]\(\"(*)\"[[:space:]]\"*\"\)*/$match[1]}) - #windows=(${(f)"$(xwininfo -root -all | - # perl -ne '/.*"(.*)": \("(.*)" "(.*)"\).*/ and $w{$2} = 1; - # END { print join("\n", keys %w), "\n" }')"}) - - # Is any browser we've heard of running? - for browser in $xbrowsers; do - # Some browser executables call themselves <browser>-bin - if [[ $windows[(I)(#i)$browser(|[.-]bin)] -ne 0 ]]; then - if zstyle -s ":mime:browser:running:${browser}:" command command; then - # The (q)'s here and below are pure paranoia: no browser - # name is going to include metacharacters, and we already - # converted difficult characters in the URL to hex. - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command - else - case $browser in - (konqueror) - # kfmclient is less hairy and better supported than direct - # use of dcop. Run kfmclient --commands - # for more information. Note that as konqueror is a fully - # featured file manager, this will actually do complete - # MIME handling, not just web pages. - kfmclient openURL $url || - dcop $(dcop|grep konqueror) default openBrowserWindow $url - ;; - - (firefox) - # open in new tab - $browser -new-tab $url - ;; - - (opera) - $browser -newpage $url - ;; - - (*) - # Mozilla bells and whistles are described at: - # http://www.mozilla.org/unix/remote.html - $browser -remote "openURL($url)" - ;; - esac - fi - return - fi - done - ;; - - (x) - [[ -z $DISPLAY ]] && continue - # Start our preferred X Windows browser in the background. - for browser in $xbrowsers; do - if eval "[[ =$browser != \\=$browser ]]"; then - if zstyle -s ":mime:browser:new:${browser}:" command command; then - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command "&" - else - # The following is to make the job text more readable. - eval ${(q)browser} ${(q)url} "&" - fi - return - fi - done - ;; - - (tty) - # Start up dumb terminal browser. - for browser in $ttybrowsers; do - if eval "[[ =$browser != \\=$browser ]]"; then - if zstyle -s ":mime:browser:new:${browser}" command command; then - zformat -f command $command b:${(q)browser} u:${(q)url} - eval $command - else - $browser $url - fi - return - fi - done - ;; - esac -done - -# No eligible browser. -return 255 diff --git a/result/sw/share/zsh/5.9/functions/predict-on b/result/sw/share/zsh/5.9/functions/predict-on deleted file mode 100644 index 57fe048d..00000000 --- a/result/sw/share/zsh/5.9/functions/predict-on +++ /dev/null @@ -1,149 +0,0 @@ -# This set of functions implements a sort of magic history searching. -# After predict-on, typing characters causes the editor to look backward -# in the history for the first line beginning with what you have typed so -# far. After predict-off, editing returns to normal for the line found. -# In fact, you often don't even need to use predict-off, because if the -# line doesn't match something in the history, adding a key performs -# standard completion --- though editing in the middle is liable to delete -# the rest of the line. -# -# With the function based completion system (which is needed for this), -# you should be able to type TAB at almost any point to advance the cursor -# to the next "interesting" character position (usually the end of the -# current word, but sometimes somewhere in the middle of the word). And -# of course as soon as the entire line is what you want, you can accept -# with RETURN, without needing to move the cursor to the end first. -# -# To use it: -# autoload -Uz predict-on -# zle -N predict-on -# zle -N predict-off -# bindkey '...' predict-on -# bindkey '...' predict-off -# Note that all functions are defined when you first type the predict-on -# key, which means typing the predict-off key before that gives a harmless -# error message. - -predict-on() { - zle -N self-insert insert-and-predict - zle -N magic-space insert-and-predict - zle -N backward-delete-char delete-backward-and-predict - zle -N delete-char-or-list delete-no-predict - zstyle -t :predict verbose && zle -M predict-on - return 0 -} -predict-off() { - zle -A .self-insert self-insert - zle -A .magic-space magic-space - zle -A .backward-delete-char backward-delete-char - zstyle -t :predict verbose && zle -M predict-off - return 0 -} -insert-and-predict () { - setopt localoptions noshwordsplit noksharrays - - if [[ $LBUFFER == *$'\012'* ]] || (( PENDING )) - then - # Editing a multiline buffer or pasting in a chunk of text; - # it's unlikely prediction is wanted - zstyle -t ":predict" toggle && predict-off - zle .$WIDGET "$@" - return - elif [[ ${RBUFFER[1]} == ${KEYS[-1]} ]] - then - # Same as what's typed, just move on - ((++CURSOR)) - else - LBUFFER="$LBUFFER$KEYS" - if [[ $LASTWIDGET == (self-insert|magic-space|backward-delete-char) || - $LASTWIDGET == (complete-word|accept-*|predict-*|zle-line-init) ]] - then - if ! zle .history-beginning-search-backward - then - RBUFFER="" - if [[ ${KEYS[-1]} != ' ' ]] - then - unsetopt automenu recexact - integer curs=$CURSOR pos nchar=${#LBUFFER//[^${KEYS[-1]}]} - local -a +h comppostfuncs - local crs curcontext="predict:${${curcontext:-:::}#*:}" - - comppostfuncs=( predict-limit-list ) - zle complete-word - # Decide where to leave the cursor. The dummy loop is used to - # get out of that `case'. - repeat 1 - do - zstyle -s ":predict" cursor crs - case $crs in - (complete) - # At the place where the completion left it, if it is after - # the character typed. - [[ ${LBUFFER[-1]} = ${KEYS[-1]} ]] && break - ;& - (key) - # Or maybe at the n'th occurrence of the character typed. - pos=${BUFFER[(in:nchar:)${KEYS[-1]}]} - if [[ pos -gt curs ]] - then - CURSOR=$pos - break - fi - ;& - (*) - # Or else at the previous position. - CURSOR=$curs - esac - done - fi - fi - else - zstyle -t ":predict" toggle && predict-off - fi - fi - return 0 -} -delete-backward-and-predict() { - if (( $#LBUFFER > 1 )) - then - setopt localoptions noshwordsplit noksharrays - # When editing a multiline buffer, it's unlikely prediction is wanted; - # or if the last widget was e.g. a motion, then probably the intent is - # to actually edit the line, not change the search prefix. - if [[ $LBUFFER = *$'\012'* || - $LASTWIDGET != (self-insert|magic-space|backward-delete-char) ]] - then - zstyle -t ":predict" toggle && predict-off - LBUFFER="$LBUFFER[1,-2]" - else - ((--CURSOR)) - zle .history-beginning-search-forward || RBUFFER="" - return 0 - fi - else - zle .kill-whole-line - fi -} -delete-no-predict() { - [[ $WIDGET != delete-char-or-list || -n $RBUFFER ]] && predict-off - zle .$WIDGET "$@" -} - -# This is a helper function for autocompletion to prevent long lists -# of matches from forcing a "do you wish to see all ...?" prompt. - -predict-limit-list() { - if (( compstate[list_lines]+BUFFERLINES > LINES || - ( compstate[list_max] != 0 && - compstate[nmatches] > compstate[list_max] ) )) - then - compstate[list]='' - elif zstyle -t ":predict" list always - then - compstate[list]='force list' - fi -} - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || predict-on "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_adam1_setup b/result/sw/share/zsh/5.9/functions/prompt_adam1_setup deleted file mode 100644 index 27a613ca..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_adam1_setup +++ /dev/null @@ -1,55 +0,0 @@ -# adam1 prompt theme - -prompt_adam1_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt adam1 [<color1> [<color2> [<color3>]]] - -where the colors are for the user@host background, current working -directory, and current working directory if the prompt is split over -two lines respectively. The default colors are blue, cyan and green. -This theme works best with a dark background. - -Recommended fonts for this theme: nexus or vga or similar. If you -don't have any of these, then specify the `plain' option to use 7-bit -replacements for the 8-bit characters. -EOF -} - -prompt_adam1_setup () { - setopt localoptions nowarncreateglobal - prompt_adam1_color1=${1:-'blue'} - prompt_adam1_color2=${2:-'cyan'} - prompt_adam1_color3=${3:-'green'} - - base_prompt="%K{$prompt_adam1_color1}%n@%m%k " - post_prompt="%b%f%k" - - setopt localoptions extendedglob - base_prompt_no_color="${base_prompt//(%K{[^\\\}]#\}|%k)/}" - post_prompt_no_color="${post_prompt//(%K{[^\\\}]#\}|%k)/}" - - add-zsh-hook precmd prompt_adam1_precmd -} - -prompt_adam1_precmd () { - setopt localoptions noxtrace nowarncreateglobal - local base_prompt_expanded_no_color base_prompt_etc - local prompt_length space_left - - base_prompt_expanded_no_color=$(print -P "$base_prompt_no_color") - base_prompt_etc=$(print -P "$base_prompt%(4~|...|)%3~") - prompt_length=${#base_prompt_etc} - if [[ $prompt_length -lt 40 ]]; then - path_prompt="%B%F{$prompt_adam1_color2}%(4~|...|)%3~%F{white}" - else - space_left=$(( $COLUMNS - $#base_prompt_expanded_no_color - 2 )) - path_prompt="%B%F{$prompt_adam1_color3}%${space_left}<...<%~$prompt_newline%F{white}" - fi - PS1="$base_prompt$path_prompt %# $post_prompt" - PS2="$base_prompt$path_prompt %_> $post_prompt" - PS3="$base_prompt$path_prompt ?# $post_prompt" -} - -prompt_adam1_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_adam2_setup b/result/sw/share/zsh/5.9/functions/prompt_adam2_setup deleted file mode 100644 index b9445116..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_adam2_setup +++ /dev/null @@ -1,119 +0,0 @@ -# adam2 prompt theme - -prompt_adam2_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt adam2 [ 8bit ] [<color1> [<color2> [<color3>] [<color4>]] - -where the colors are for the hyphens, current directory, user@host, -and user input bits respectively. The default colors are cyan, green, -cyan, and white. This theme works best with a dark background. - -If you have either UTF-8 or the `nexus' or `vga' console fonts or similar, -you can specify the `8bit' option to use 8-bit replacements for the -7-bit characters. - -And you probably thought adam1 was overkill ... -EOF -} - -prompt_adam2_setup () { - # Some can't be local - setopt localoptions nowarncreateglobal - local prompt_gfx_tlc prompt_gfx_mlc prompt_gfx_blc - - if [[ $1 == '8bit' ]]; then - shift - if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then - prompt_gfx_tlc=$'\xe2\x94\x8c' - prompt_gfx_mlc=$'\xe2\x94\x9c' - prompt_gfx_blc=$'\xe2\x94\x94' - prompt_gfx_hyphen=$'\xe2\x94\x80' - else - prompt_gfx_tlc=$'\xda' - prompt_gfx_mlc=$'\xc3' - prompt_gfx_blc=$'\xc0' - prompt_gfx_hyphen=$'\xc4' - fi - else - prompt_gfx_tlc='.' - prompt_gfx_mlc='|' - prompt_gfx_blc='\`' - prompt_gfx_hyphen='-' - fi - - # Colour scheme - prompt_adam2_color1=${1:-'cyan'} # hyphens - prompt_adam2_color2=${2:-'green'} # current directory - prompt_adam2_color3=${3:-'cyan'} # user@host - prompt_adam2_color4=${4:-'white'} # user input - - local prompt_gfx_bbox - prompt_gfx_tbox="%B%F{$prompt_adam2_color1}${prompt_gfx_tlc}%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}" - prompt_gfx_bbox="%B%F{$prompt_adam2_color1}${prompt_gfx_blc}${prompt_gfx_hyphen}%b%F{$prompt_adam2_color1}" - - # This is a cute hack. Well I like it, anyway. - prompt_gfx_bbox_to_mbox=$'%{\e[A\r'"%}%B%F{$prompt_adam2_color1}${prompt_gfx_mlc}%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}%{"$'\e[B%}' - - prompt_l_paren="%B%F{black}(" - prompt_r_paren="%B%F{black})" - - prompt_user_host="%b%F{$prompt_adam2_color3}%n%B%F{$prompt_adam2_color3}@%b%F{$prompt_adam2_color3}%m" - - prompt_line_1a="$prompt_gfx_tbox$prompt_l_paren%B%F{$prompt_adam2_color2}%~$prompt_r_paren%b%F{$prompt_adam2_color1}" - prompt_line_1b="$prompt_l_paren$prompt_user_host$prompt_r_paren%b%F{$prompt_adam2_color1}${prompt_gfx_hyphen}" - - prompt_line_2="$prompt_gfx_bbox${prompt_gfx_hyphen}%B%F{white}" - - prompt_char="%(!.#.>)" - - prompt_opts=(cr subst percent) - - add-zsh-hook precmd prompt_adam2_precmd -} - -prompt_adam2_precmd() { - setopt localoptions extendedglob noxtrace nowarncreateglobal - local prompt_line_1 - - prompt_adam2_choose_prompt - - PS1="$prompt_line_1$prompt_newline$prompt_line_2%B%F{white}$prompt_char %b%f%k" - PS2="$prompt_line_2$prompt_gfx_bbox_to_mbox%B%F{white}%_> %b%f%k" - PS3="$prompt_line_2$prompt_gfx_bbox_to_mbox%B%F{white}?# %b%f%k" - zle_highlight[(r)default:*]="default:fg=$prompt_adam2_color4,bold" -} - -prompt_adam2_choose_prompt () { - local prompt_line_1a_width=${#${(S%%)prompt_line_1a//(\%([KF1]|)\{*\}|\%[Bbkf])}} - local prompt_line_1b_width=${#${(S%%)prompt_line_1b//(\%([KF1]|)\{*\}|\%[Bbkf])}} - - local prompt_padding_size=$(( COLUMNS - - prompt_line_1a_width - - prompt_line_1b_width )) - - # Try to fit in long path and user@host. - if (( prompt_padding_size > 0 )); then - local prompt_padding - eval "prompt_padding=\${(l:${prompt_padding_size}::${prompt_gfx_hyphen}:)_empty_zz}" - prompt_line_1="$prompt_line_1a$prompt_padding$prompt_line_1b" - return - fi - - prompt_padding_size=$(( COLUMNS - prompt_line_1a_width )) - - # Didn't fit; try to fit in just long path. - if (( prompt_padding_size > 0 )); then - local prompt_padding - eval "prompt_padding=\${(l:${prompt_padding_size}::${prompt_gfx_hyphen}:)_empty_zz}" - prompt_line_1="$prompt_line_1a$prompt_padding" - return - fi - - # Still didn't fit; truncate - local prompt_pwd_size=$(( COLUMNS - 5 )) - prompt_line_1="$prompt_gfx_tbox$prompt_l_paren%B%F{$prompt_adam2_color2}%$prompt_pwd_size<...<%~%<<$prompt_r_paren%b%F{$prompt_adam2_color1}$prompt_gfx_hyphen" -} - -prompt_adam2_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_bart_setup b/result/sw/share/zsh/5.9/functions/prompt_bart_setup deleted file mode 100644 index 6de41223..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_bart_setup +++ /dev/null @@ -1,244 +0,0 @@ -zmodload -i zsh/parameter || return 1 - -prompt_bart_help () { - setopt localoptions nocshnullcmd noshnullcmd - [[ $ZSH_VERSION < 4.2.2 ]] && - print 'Requires ZSH_VERSION 4.2.2'$'\n' - <<-\EOF - This prompt gives the effect of left and right prompts on the upper - line of a two-line prompt. It also illustrates including history - text in the prompt. The lower line is initialized from the last - (or only) line of whatever prompt was previously in effect. - - prompt bart [on|off] [color...] - - You may provide up to five colors, though only three colors (red, - blue, and the default foreground) are used if no arguments are - given. The defaults look best on a light background. - - No background colors or hardwired cursor motion escapes are used, - and it is not necessary to setopt promptsubst. - - The "off" token temporarily disables the theme; "on" restores it. - Note, this does NOT fully reset to the original prompt state, it - only hides/reveals the extra lines above the command line and - removes the supporting hooks. - EOF - [[ $(read -sek 1 "?${(%):-%S[press return]%s}") == [Qq] ]] && - print -nP '\r%E' && return - <<-\EOF - - The "upper left prompt" looks like: - machine [last command] /current/working/dir - The first three color arguments apply to these components. The - last command is shown in standout mode if the exit status was - nonzero, or underlined if the job was stopped. - - If the last command is too wide to fit without truncating the - current directory, it is put on a middle line by itself. The - current directory uses %~, so namedir abbreviation applies. - - The "upper right prompt" looks like: - date time - The fourth color is used for the date, and the first again for the - time. As with RPS1, first the date and then the time disappear as - the upper left prompt grows too wide. The clock is not live; it - changes only after each command, as does the rest of the prompt. - EOF - [[ $(read -sek 1 "?${(%):-%S[press return]%s}") == [Qq] ]] && - print -nP '\r%E' && return - <<-\EOF - - When RPS1 (RPROMPT) is set before this prompt is selected and a - fifth color is specified, that color is turned on before RPS1 is - displayed and reset after it. Other color changes within RPS1, if - any, remain in effect. This also applies to RPS2 (RPROMPT2). - If a fifth color is specified and there is no RPS2, PS2 (PROMPT2) - is colored and moved to RPS2. Changes to RPS1/RPS2 are currently - not reverted when the theme is switched off. These work best with - the TRANSIENT_RPROMPT option, which must be set separately. - - This theme hijacks psvar[7] through [9] to avoid having to reset - the entire PS1 string on every command. It uses TRAPWINCH to set - the position of the upper right prompt on a window resize, so the - prompt may not match the window width until the next command. - - When setopt nopromptcr is in effect, an ANSI terminal protocol - exchange is attempted in order to determine the current cursor - column, and the width of the upper prompt is adjusted accordingly. - If your terminal is not ANSI compliant, this may cause unexpected - behavior, and in any case it may consume typeahead. (Recommended - workaround is to setopt promptcr.) - EOF - [[ $(read -sek 1 "?${(%):-%S[done]%s}") == $'\n' ]] || - print -nP '\n%E' -} - -integer -g PSCOL=1 -typeset -g PSCMD= - -prompt_bart_preexec () { - setopt localoptions noxtrace noshwordsplit noksharrays unset - local -a cmd; cmd=( ${(z)3} ) - if [[ $cmd[1] = fg ]] - then - shift cmd - cmd[1]=${cmd[1]:-%+} - fi - if [[ $#cmd -eq 1 && $cmd[1] = %* ]] - then - PSCMD=$jobtexts[$cmd[1]] - elif [[ -o autoresume && -n $jobtexts[%?$2] ]] - then - PSCMD=$jobtexts[%?$2] - else - # Use history text to avoid alias expansion - PSCMD=$history[$HISTCMD] - fi - return 0 -} - -prompt_bart_precmd () { - setopt localoptions noxtrace noksharrays unset - local zero='%([BSUbfksu]|[FB]{*})' escape colno lineno - - : "${PSCMD:=$history[$[HISTCMD-1]]}" # Default to history text - - # Using psvar here protects against unwanted promptsubst expansions. - - psvar[7]="$PSCMD" - psvar[8]='' # No padding until we compute it - psvar[9]=() - - # Reset the truncation widths for upcoming computations - ((PSCOL == 1)) || { PSCOL=1 ; prompt_bart_ps1 } - if [[ -o promptcr ]] - then - # Emulate the 4.3.x promptsp option if it isn't available - eval '[[ -o promptsp ]] 2>/dev/null' || - print -nP "${(l.COLUMNS.. .)}\e[s${(pl.COLUMNS..\b.)}%E\e[u" >$TTY - else IFS='[;' read -s -d R escape\?$'\e[6n' lineno PSCOL <$TTY - fi - ((PSCOL == 1)) || prompt_bart_ps1 - ((colno = COLUMNS-PSCOL)) - - # Compute the size of the upper left prompt and set psvar[9] if needed. - ((${#${(f)${(%%)${(S)PS1//$~zero/}}}[1]} > colno)) && psvar[9]='' - - # Compute and set the padding between upper left and right prompts. - (((colno -= ${#${(f)${(%%)${(S)PS1//$~zero/}}}[1]}) > 0)) && - psvar[8]=${(l:colno:: :)} -} - -prompt_bart_ps1 () { - setopt localoptions noxtrace noksharrays - - local -ah ps1 - local -h host hist1 hist2 dir space date time rs="%b%f%k" - local -h eon="%(?.[.%20(?.[%U.%S[))" eoff="%(?.].%20(?.%u].]%s))" - - # Set up the components of the upper line - host="%{$fg[%m]%}%m$rs" - hist1="%9(v. . %{$fg[%h]%}$eon%7v$eoff$rs )" - hist2=$'%9(v.\n'"%{$fg[%h]%}$eon%7v$eoff$rs.)" - dir="%{$fg[%~]%}%8~$rs" - space=%8v - date="%{$fg[%D]%}%D$rs" # Prefer "%{$fg[%D]%}%W$rs" in the USA? - time="%{$fg[%@]%}%@$rs" - - # This is just a tad silly ... - [[ $prompt_theme[1] = oliver ]] && PS1='[%h%0(?..:%?)]%# ' || - PS1=${PS1//$prompt_newline/$'\n'} - - # Assemble the new prompt - ps1=( ${(f)PS1} ) # Split the existing prompt at newlines - ps1=( - "%$[COLUMNS-PSCOL]>..>" # Begin truncation (upper left prompt) - "$host" - "$hist1" # Empty when too wide for one line - "$dir" - "%<<" # End truncation (end upper left prompt) - "$space" # Pad line to upper right position - "%$[COLUMNS-PSCOL-15](l. . $date)" - "%$[COLUMNS-PSCOL-7](l.. $time)" - "$hist2" # Empty when $hist1 is not empty - $'\n' - $ps1[-1] # Keep last line of the existing prompt - ) - PS1="${(j::)ps1}" -} - -prompt_bart_winch () { - setopt localoptions nolocaltraps noksharrays unset - - # Delete ourself from TRAPWINCH if not using our precmd insert. - [[ $precmd_functions = *prompt_bart_precmd* ]] && prompt_bart_ps1 || - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}" -} - -prompt_bart_setup () { - setopt localoptions nolocaltraps noksharrays unset - typeset -gA fg - - # A few extra niceties ... - repeat 1; do case "$1:l" in - (off|disable) - add-zsh-hook -D precmd "prompt_*_precmd" - add-zsh-hook -D preexec "prompt_*_preexec" - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}" - [[ $prompt_theme[1] = bart ]] && PS1=${${(f)PS1}[-1]} - return 1 # Prevent change of $prompt_theme - ;; - (on|enable) - shift - [[ $prompt_theme[1] = bart ]] && break - ;& - (*) - # Use the fg assoc to hold our selected colors ... - # This used to be provided by the function colors, but is now - # set directly from here. There should be no clash if both - # are in use. - fg[%m]="%F{${1:-red}}" - fg[%h]="%F{${2:-blue}}" - fg[%~]="%F{${3:-default}}" - fg[%D]="%F{${4:-default}}" - fg[%@]="%F{${1:-red}}" - ;; - esac; done - - prompt_bart_ps1 - - if (($# > 4)) - then - # No RPS1 by default because prompt_off_setup doesn't fix it. - if (($#RPS1)) - then - RPS1="%F{$5}$RPS1%f" - fi - # RPS2 is less obvious so don't mind that it's not restored. - if (($#RPS2)) - then - RPS2="%F{$5}$RPS2%f" - else - RPS2="%F{$5}<${${PS2//\%_/%^}%> }%f" - PS2='' - fi - fi - # Paste our special commands into precmd and TRAPWINCH - - add-zsh-hook precmd prompt_bart_precmd - add-zsh-hook preexec prompt_bart_preexec - prompt_cleanup \ - 'functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch}"' - functions[TRAPWINCH]="${functions[TRAPWINCH]//prompt_bart_winch} - prompt_bart_winch" - - return 0 -} - -prompt_bart_preview () { - local +h PS1='%# ' - prompt_preview_theme bart "$@" -} - -[[ -o kshautoload ]] || prompt_bart_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_bigfade_setup b/result/sw/share/zsh/5.9/functions/prompt_bigfade_setup deleted file mode 100644 index 2d95f314..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_bigfade_setup +++ /dev/null @@ -1,50 +0,0 @@ -# Generic large colour fade-bar prompt theme from bashprompt -# Created by James Manning <jmm@raleigh.ibm.com> -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_bigfade_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt bigfade [<fade-bar> [<userhost> [<date> [<cwd>]]]] - -where the parameters are the colors for the fade-bar, user@host text, -date text, and current working directory respectively. The default -colors are blue, white, white, and yellow. This theme works best with -a dark background. - - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_bigfade_setup () { - local fadebar=${1:-'blue'} - local userhost=${2:-'white'} - local date=${3:-'white'} - local cwd=${4:-'yellow'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%B%F{$fadebar}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$userhost}%K{$fadebar}%n@%m%b%k%f%F{$fadebar}%K{black}$schars[260]$schars[261]$schars[262]$schars[333]%b%f%k%F{$fadebar}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$date}%K{black} %D{%a %b %d} %D{%I:%M:%S%P}$prompt_newline%B%F{$cwd}%K{black}%d>%b%f%k " - PS2="%B%F{$fadebar}$schars[333]$schars[262]$schars[261]$schars[260]%b%F{$fadebar}%K{black}$schars[260]$schars[261]$schars[262]$schars[333]%F{$fadebar}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%B%F{$fadebar}>%b%f%k " - - prompt_opts=(cr subst percent) -} - -prompt_bigfade_preview () { - if (( ! $#* )); then - prompt_preview_theme bigfade - print - prompt_preview_theme bigfade red white grey white - else - prompt_preview_theme bigfade "$@" - fi -} - -prompt_bigfade_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_clint_setup b/result/sw/share/zsh/5.9/functions/prompt_clint_setup deleted file mode 100644 index 876d3040..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_clint_setup +++ /dev/null @@ -1,73 +0,0 @@ -# clint prompt theme - -prompt_clint_help () { - cat <<'EOF' - - prompt clint [<color1> [<color2> [<color3> [<color4> [<color5>]]]]] - - defaults are red, cyan, green, yellow, and white, respectively. - -EOF -} - -prompt_clint_setup () { - local -a pcc - local -A pc - local p_date p_tty p_plat p_ver p_userpwd p_apm p_shlvlhist p_rc p_end p_win - - autoload -Uz vcs_info - - pcc[1]=${1:-${${SSH_CLIENT+'yellow'}:-'red'}} - pcc[2]=${2:-'cyan'} - pcc[3]=${3:-'green'} - pcc[4]=${4:-'yellow'} - pcc[5]=${5:-'white'} - - pc['\[']="%F{$pcc[1]}[" - pc['\]']="%F{$pcc[1]}]" - pc['<']="%F{$pcc[1]}<" - pc['>']="%F{$pcc[1]}>" - pc['\(']="%F{$pcc[1]}(" - pc['\)']="%F{$pcc[1]})" - - p_date="$pc['\[']%F{$pcc[2]}%D{%a %y/%m/%d %R %Z}$pc['\]']" - p_tty="$pc['\[']%F{$pcc[3]}%l$pc['\]']" - p_plat="$pc['\[']%F{$pcc[2]}${MACHTYPE}/${OSTYPE}/$(uname -r)$pc['\]']" - p_ver="$pc['\[']%F{$pcc[2]}${ZSH_VERSION}$pc['\]']" - - [[ -n "$WINDOW" ]] && p_win="$pc['\(']%F{$pcc[4]}$WINDOW$pc['\)']" - - p_userpwd="$pc['<']%F{$pcc[3]}%n@%m$p_win%F{$pcc[5]}:%F{$pcc[4]}%~$pc['>']" - local p_vcs="%(2v.%U%2v%u.)" - - p_shlvlhist="%fzsh%(2L./$SHLVL.) %B%h%b " - p_rc="%(?..[%?%1v] )" - p_end="%f%B%#%b " - - typeset -ga zle_highlight - zle_highlight[(r)default:*]=default:$pcc[2] - - prompt="$p_date$p_tty$p_plat$p_ver -$p_userpwd -$p_shlvlhist$p_rc$p_vcs$p_end" - PS2='%(4_.\.)%3_> %E' - - add-zsh-hook precmd prompt_clint_precmd -} - -prompt_clint_precmd () { - setopt noxtrace noksharrays localoptions - local exitstatus=$? - local git_dir git_ref - - psvar=() - [[ $exitstatus -ge 128 ]] && psvar[1]=" $signals[$exitstatus-127]" || - psvar[1]="" - - [[ -o interactive ]] && jobs -l - - vcs_info - [[ -n $vcs_info_msg_0_ ]] && psvar[2]="$vcs_info_msg_0_" -} - -prompt_clint_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_default_setup b/result/sw/share/zsh/5.9/functions/prompt_default_setup deleted file mode 100644 index aed74eb6..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_default_setup +++ /dev/null @@ -1,7 +0,0 @@ -PS1='%m%# ' -PS2='%_> ' -PS3='?# ' -PS4='+%N:%i> ' -unset RPS1 RPS2 RPROMPT RPROMPT2 - -prompt_opts=( cr percent sp ) diff --git a/result/sw/share/zsh/5.9/functions/prompt_elite2_setup b/result/sw/share/zsh/5.9/functions/prompt_elite2_setup deleted file mode 100644 index 754bf60b..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_elite2_setup +++ /dev/null @@ -1,58 +0,0 @@ -# Created by icetrey <trey@imagin.net> -# Added by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_elite2_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt elite2 [<text-color> [<parentheses-color>]] - -The default colors are both cyan. This theme works best with a dark -background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_elite2_setup () { - local text_col=${1:-'cyan'} - local parens_col=${2:-$text_col} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - local text="%b%F{$text_col}" - local parens="%B%F{$parens_col}" - local punct="%B%F{black}" - local reset="%b%f" - - local lpar="$parens($text" - local rpar="$parens)$text" - - PS1="$punct$schars[332]$text$schars[304]$lpar%n$punct@$text%m$rpar$schars[304]$lpar%!$punct/$text%y$rpar$schars[304]$lpar%D{%I:%M%P}$punct:$text%D{%m/%d/%y}$rpar$schars[304]$punct-$reset$prompt_newline$punct$schars[300]$text$schars[304]$lpar%#$punct:$text%~$rpar$schars[304]$punct-$reset " - - PS2="$parens$schars[304]$text$schars[304]$punct-$reset " - - prompt_opts=(cr subst percent) -} - -prompt_elite2_preview () { - local color colors - colors=(red yellow green blue magenta) - - if (( ! $#* )); then - for (( i = 1; i <= $#colors; i++ )); do - color=$colors[$i] - prompt_preview_theme elite2 $color - (( i < $#colors )) && print - done - else - prompt_preview_theme elite2 "$@" - fi -} - -prompt_elite2_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_elite_setup b/result/sw/share/zsh/5.9/functions/prompt_elite_setup deleted file mode 100644 index 0d57f50a..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_elite_setup +++ /dev/null @@ -1,44 +0,0 @@ -# Created by KrON from windowmaker on IRC -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_elite_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt elite [<text-color> [<punctuation-color>]] - -The default colors are red and blue respectively. This theme is -intended for use with a black background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_elite_setup () { - local text=${1:-'red'} - local punctuation=${2:-'blue'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%F{$text}$schars[332]$schars[304]%F{$punctuation}(%F{$text}%n%F{$punctuation}@%F{$text}%m%F{$punctuation})%F{$text}-%F{$punctuation}(%F{$text}%D{%I:%M%P}%F{$punctuation}-:-%F{$text}%D{%m}%F{$punctuation}%F{$text}/%D{%d}%F{$punctuation})%F{$text}$schars[304]-%F{$punctuation}$schars[371]%F{$text}-$schars[371]$schars[371]%F{$punctuation}$schars[372]$prompt_newline%F{$text}$schars[300]$schars[304]%F{$punctuation}(%F{$text}%1~%F{$punctuation})%F{$text}$schars[304]$schars[371]%F{$punctuation}$schars[372]%f" - PS2="> " - - prompt_opts=(cr subst percent) -} - -prompt_elite_preview () { - if (( ! $#* )); then - prompt_preview_theme elite - print - prompt_preview_theme elite green yellow - else - prompt_preview_theme elite "$@" - fi -} - -prompt_elite_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_fade_setup b/result/sw/share/zsh/5.9/functions/prompt_fade_setup deleted file mode 100644 index d915cc0d..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_fade_setup +++ /dev/null @@ -1,56 +0,0 @@ -# Generic colour fade-bar prompt theme from bashprompt -# Created by Jim Foltz <aa204@acorn.net> -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_fade_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt fade [<fade-bar-and-cwd> [<userhost> [<date>]]] - -where the parameters are the colors for the fade-bar and current -working directory, user@host text, and date text respectively. The -default colors are green, white, and white. This theme works best -with a dark background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -# emacs shell-script mode gets confused with ' in heredoc above - -prompt_fade_setup () { - local fadebar_cwd=${1:-'green'} - local userhost=${2:-'white'} - local date=${3:-'white'} - - local -A schars - autoload -Uz prompt_special_chars - prompt_special_chars - - PS1="%F{$fadebar_cwd}%B%K{$fadebar_cwd}$schars[333]$schars[262]$schars[261]$schars[260]%F{$userhost}%K{$fadebar_cwd}%B%n@%m%b%F{$fadebar_cwd}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%F{$date}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P} $prompt_newline%F{$fadebar_cwd}%K{black}%B%~/%b%k%f " - PS2="%F{$fadebar_cwd}%K{black}$schars[333]$schars[262]$schars[261]$schars[260]%f%k>" - - prompt_opts=(cr subst percent) -} - -prompt_fade_preview () { - local color colors - colors=(red yellow green blue magenta) - - if (( ! $#* )); then - for (( i = 1; i <= $#colors; i++ )); do - color=$colors[$i] - prompt_preview_theme fade $color - print - done - prompt_preview_theme fade white grey blue - else - prompt_preview_theme fade "$@" - fi -} - -prompt_fade_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_fire_setup b/result/sw/share/zsh/5.9/functions/prompt_fire_setup deleted file mode 100644 index 7bb8367d..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_fire_setup +++ /dev/null @@ -1,62 +0,0 @@ -# Fire prompt theme from bashprompt -# Inspired by Raster (Carsten Haitzler of Red Hat Advanced Development Labs) -# Created by BadlandZ -# Changed by Spidey 08/06 -# Converted to zsh prompt theme by <adam@spiers.net> - -prompt_fire_help () { - cat <<EOH -This prompt is color-scheme-able. You can invoke it thus: - - prompt fire [<fire1> [<fire2> [<fire3> [<userhost> [<date> [<cwd>]]]]]] - -where the parameters are the three fire colors, and the colors for the -user@host text, date text, and current working directory respectively. -The default colors are yellow, yellow, red, white, white, and yellow. -This theme works best with a dark background. - -Recommended fonts for this theme: either UTF-8, or nexus or vga or similar. -If you don't have any of these, the 8-bit characters will probably look -stupid. -EOH -} - -prompt_fire_setup () { - local fire1=${1:-'yellow'} - local fire2=${2:-'yellow'} - local fire3=${3:-'red'} - local userhost=${4:-'white'} - local date=${5:-'white'} - local cwd=${6:-'yellow'} - - local -a schars - autoload -Uz prompt_special_chars - prompt_special_chars - - local GRAD1="%{$schars[333]$schars[262]$schars[261]$schars[260]%}" - local GRAD2="%{$schars[260]$schars[261]$schars[262]$schars[333]%}" - local COLOR1="%B%F{$fire1}%K{$fire2}" - local COLOR2="%B%F{$userhost}%K{$fire2}" - local COLOR3="%b%F{$fire3}%K{$fire2}" - local COLOR4="%b%F{$fire3}%K{black}" - local COLOR5="%B%F{$cwd}%K{black}" - local COLOR6="%B%F{$date}%K{black}" - local GRAD0="%b%f%k" - - PS1=$COLOR1$GRAD1$COLOR2'%n@%m'$COLOR3$GRAD2$COLOR4$GRAD1$COLOR6' %D{%a %b %d} %D{%I:%M:%S%P} '$prompt_newline$COLOR5'%~/'$GRAD0' ' - PS2=$COLOR1$GRAD1$COLOR3$GRAD2$COLOR4$GRAD1$COLOR5'>'$GRAD0' ' - - prompt_opts=(cr subst percent) -} - -prompt_fire_preview () { - if (( ! $#* )); then - prompt_preview_theme fire - print - prompt_preview_theme fire red magenta blue white white white - else - prompt_preview_theme fire "$@" - fi -} - -prompt_fire_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_off_setup b/result/sw/share/zsh/5.9/functions/prompt_off_setup deleted file mode 100644 index e6d16bfd..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_off_setup +++ /dev/null @@ -1,10 +0,0 @@ -# Very simple prompt - -prompt_default_setup 2>/dev/null - -PS1="%# " -PS2="> " -PS3='?# ' -PS4='+> ' - -prompt_opts=( cr percent sp ) diff --git a/result/sw/share/zsh/5.9/functions/prompt_oliver_setup b/result/sw/share/zsh/5.9/functions/prompt_oliver_setup deleted file mode 100644 index 2df91995..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_oliver_setup +++ /dev/null @@ -1,45 +0,0 @@ -# oliver prompt theme - -prompt_oliver_help() { - cat <<'ENDHELP' -With this prompt theme, the prompt contains the current directory, -history number, number of jobs (if non-zero) and the previous -command's exit code (if non-zero) and a final character which -depends on privileges. - -The colour of the prompt depends on two associative arrays - -$pcolour and $tcolour. Each array is indexed by the name of the -local host. Alternatively, the colour can be set with parameters -to prompt. To specify colours, use English words like 'yellow', -optionally preceded by 'bold'. - -The hostname and username are also included unless they are in the -$normal_hosts or $normal_users array. -ENDHELP -} - -prompt_oliver_setup() { - prompt_opts=( cr subst percent ) - - [[ "${(t)pcolour}" != assoc* ]] && typeset -Ag pcolour - [[ "${(t)tcolour}" != assoc* ]] && typeset -Ag tcolour - local pcol=${1:-${pcolour[${HOST:=`hostname`}]:-bold}} - local pcolr="%F{${${pcol#bold}:-default}}" - [[ $pcol = bold* ]] && pcolr=%B$pcolr - - local tcol=${2:-${tcolour[$HOST]}} - local tcolr="fg=${${tcol#bold}:-default}" - [[ $tcol = bold* ]] && tcolr=bold,$tcolr - - local a host="%m:" user="%n " - [[ $HOST == (${(j(|))~normal_hosts}) ]] && host="" - [[ $LOGNAME == (root|${(j(|))~normal_users}) ]] && user="" - - PS1="$pcolr$user$host%~%"'$((COLUMNS-12))'"(l.$prompt_newline. )[%h%1(j.%%%j.)%0(?..:%?)]%# %b%f%k" RPS2='<%^' - PS2='' - - typeset -ga zle_highlight - zle_highlight[(r)default:*]=default:$tcolr -} - -prompt_oliver_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_pws_setup b/result/sw/share/zsh/5.9/functions/prompt_pws_setup deleted file mode 100644 index c9892141..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_pws_setup +++ /dev/null @@ -1,22 +0,0 @@ -# pws prompt theme - -prompt_pws_help() { - cat <<'EOF' -Simple prompt which tries to display only the information you need. -- highlighted parenthesised status if last command had non-zero status -- bold + if shell is not at top level (may need tweaking if there - is another shell in the process history of your terminal) -- number of background jobs in square brackets if non-zero -- time in yellow on black, with Ding! on the hour. -I usually use this in a white on black terminal. -EOF -} - -prompt_pws_setup() { - PS1='%K{white}%F{red}%(?..(%?%))'\ -'%K{black}%F{white}%B%(2L.+.)%(1j.[%j].)'\ -'%F{yellow}%(t.Ding!.%D{%L:%M})'\ -'%f%k%b%# ' -} - -prompt_pws_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_redhat_setup b/result/sw/share/zsh/5.9/functions/prompt_redhat_setup deleted file mode 100644 index 5adf2d7c..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_redhat_setup +++ /dev/null @@ -1,12 +0,0 @@ -# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net> -# Red Hat Default Prompt -# Styled like the default prompt in Red Hat 5.1 -# -prompt_redhat_setup () { - PS1='[%n@%m %1~]%(#.#.$) ' - PS2="> " - - prompt_opts=( cr percent ) -} - -prompt_redhat_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_restore_setup b/result/sw/share/zsh/5.9/functions/prompt_restore_setup deleted file mode 100644 index b77dbe81..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_restore_setup +++ /dev/null @@ -1,3 +0,0 @@ -# Damn that was easy -zstyle -t :prompt-theme cleanup -zstyle -t :prompt-theme restore diff --git a/result/sw/share/zsh/5.9/functions/prompt_special_chars b/result/sw/share/zsh/5.9/functions/prompt_special_chars deleted file mode 100644 index 82a1f2d9..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_special_chars +++ /dev/null @@ -1,26 +0,0 @@ -# Utility function to set up some special characters -# used by prompts. -# -# These used to be defined to characters found in particular -# character sets (e.g. IBM852) which now aren't widely used. -# We still provide them in that form if the current character -# set isn't UTF-8. We could in principle use iconv if available. - -typeset -gA schars - -if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then - schars[300]=$'\xe2\x94\x94' - schars[304]=$'\xe2\x94\x8c' - schars[332]=$'\xe2\x94\x8c' - schars[333]=$'\xe2\x96\x88' - schars[371]=$'\xc2\xa8' - schars[372]=$'\xcb\x99' - schars[262]=$'\xe2\x96\x93' - schars[261]=$'\xe2\x96\x92' - schars[260]=$'\xe2\x96\x91' -else - local code - for code in 300 304 332 333 371 372 262 261 260; do - eval "schars[$code]=\$'\\$code'" - done -fi diff --git a/result/sw/share/zsh/5.9/functions/prompt_suse_setup b/result/sw/share/zsh/5.9/functions/prompt_suse_setup deleted file mode 100644 index 9cc4d31a..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_suse_setup +++ /dev/null @@ -1,12 +0,0 @@ -# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net> -# SuSE Default Prompt -# Styled like the default prompt in SuSE 5.2 -# -prompt_suse_setup () { - PS1="%n@%m:%~/ > " - PS2="> " - - prompt_opts=( cr percent ) -} - -prompt_suse_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_walters_setup b/result/sw/share/zsh/5.9/functions/prompt_walters_setup deleted file mode 100644 index 9fea574d..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_walters_setup +++ /dev/null @@ -1,26 +0,0 @@ -prompt_walters_help () { - cat <<'EOF' -This prompt is color-scheme-able. You can invoke it thus: - - prompt walters [<color1>] - -where the color is for the right-hand prompt. - -This prompt was stolen from Colin Walters <walters@debian.org>, -who gives credit to Michel Daenzer <daenzer@debian.org>. -EOF -} - -prompt_walters_setup () { - -if [[ "$TERM" != "dumb" ]]; then - PS1='%B%(?..[%?] )%b%n@%U%m%u> ' - RPS1="%F{${1:-green}}%~%f" -else - PS1="%(?..[%?] )%n@%m:%~> " -fi - - prompt_opts=(cr percent) -} - -prompt_walters_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/prompt_zefram_setup b/result/sw/share/zsh/5.9/functions/prompt_zefram_setup deleted file mode 100644 index a138a520..00000000 --- a/result/sw/share/zsh/5.9/functions/prompt_zefram_setup +++ /dev/null @@ -1,19 +0,0 @@ -function prompt_zefram_precmd { - local exitstatus=$? - setopt localoptions noxtrace noksharrays - psvar=(SIG) - [[ $exitstatus -gt 128 ]] && psvar[1]=SIG$signals[$exitstatus-127] - [[ $psvar[1] = SIG ]] && psvar[1]=$exitstatus - jobs % >/dev/null 2>&1 && psvar[2]= -} - -function prompt_zefram_setup { - PS1='[%(2L.%L/.)'$ZSH_VERSION']%(?..%B{%v}%b)%n%(2v.%B@%b.@)%m:%B%~%b%(!.#.>) ' - PS2='%(4_:... :)%3_> ' - - prompt_opts=( cr subst percent ) - - add-zsh-hook precmd prompt_zefram_precmd -} - -prompt_zefram_setup "$@" diff --git a/result/sw/share/zsh/5.9/functions/promptinit b/result/sw/share/zsh/5.9/functions/promptinit deleted file mode 100644 index 0c06699e..00000000 --- a/result/sw/share/zsh/5.9/functions/promptinit +++ /dev/null @@ -1,255 +0,0 @@ -## -## zsh prompt themes extension -## by Adam Spiers <adam@spiers.net> -## -## Load with `autoload -Uz promptinit; promptinit'. -## Type `prompt -h' for help. -## - -typeset -gaU prompt_themes -typeset -ga prompt_theme -typeset -g prompt_newline -prompt_themes=() - -promptinit () { - emulate -L zsh - setopt extendedglob - autoload -Uz add-zsh-hook add-zle-hook-widget - - local ppath='' name theme - local -a match mbegin mend - - # Autoload all prompt_*_setup functions in fpath - for theme in $^fpath/prompt_*_setup(N); do - if [[ $theme == */prompt_(#b)(*)_setup ]]; then - name="$match[1]" - if [[ -r "$theme" ]]; then - prompt_themes=($prompt_themes $name) - autoload -Uz prompt_${name}_setup - else - print "Couldn't read file $theme containing theme $name." - fi - else - print "Eh? Mismatch between glob patterns in promptinit." - fi - done - - # Variables common to all prompt styles - prompt_newline=$'\n%{\r%}' -} - -prompt_preview_safely() { - emulate -L zsh - print -P "%b%f%k" - if [[ -z "$prompt_themes[(r)$1]" ]]; then - print "Unknown theme: $1" - return - fi - - # Run this in a subshell, so we don't need to clean up afterwards. - ( - # Execute current theme's cleanup sequence, if any. - zstyle -t :prompt-theme cleanup - - # If we can't find a _preview function, run the _setup function to see if - # it will create one. - typeset +f prompt_${1}_preview >&/dev/null || - prompt_${1}_setup - - # ...then try again. - if typeset +f prompt_${1}_preview >&/dev/null; then - prompt_${1}_preview "$@[2,-1]" - else - prompt_preview_theme "$@" - fi - ) -} - -set_prompt() { - emulate -L zsh - local opt preview theme usage old_theme - - usage='Usage: prompt <options> -Options: - -c Show currently selected theme and parameters - -l List currently available prompt themes - -p [<themes>] Preview given themes (defaults to all except current theme) - -h [<theme>] Display help (for given theme) - -s <theme> Set and save theme - <theme> Switch to new theme immediately (changes not saved) - -Use prompt -h <theme> for help on specific themes.' - - getopts "chlps:" opt - case "$opt" in - c) if [[ -n $prompt_theme ]]; then - print -n "Current prompt theme" - (( $#prompt_theme > 1 )) && print -n " with parameters" - print " is:\n $prompt_theme" - else - print "Current prompt is not a theme." - fi - return - ;; - h) if [[ -n "$2" && -n $prompt_themes[(r)$2] ]]; then - # Run this in a subshell, so we don't need to clean up afterwards. - ( - # Execute current theme's cleanup sequence, if any. - zstyle -t :prompt-theme cleanup - - # If we can't find a _help function, run the _setup function to see - # if it will create one. - typeset +f prompt_$2_help >/dev/null || - prompt_$2_setup - - # ...then try again. - if typeset +f prompt_$2_help >/dev/null; then - print "Help for $2 theme:\n" - prompt_$2_help - else - print "No help available for $2 theme." - fi - print "\nType \`prompt -p $2' to preview the theme, \`prompt $2'" - print "to try it out, and \`prompt -s $2' to use it in future sessions." - ) - else - print "$usage" - fi - ;; - l) print Currently available prompt themes: - print $prompt_themes - return - ;; - p) preview=( ${prompt_themes:#$prompt_theme} ) - (( $#* > 1 )) && preview=( "$@[2,-1]" ) - for theme in $preview; do - prompt_preview_safely "$=theme" - done - print -P "%b%f%k" - ;; - s) print "Set and save not yet implemented. Please ensure your ~/.zshrc" - print "contains something similar to the following:\n" - print " autoload -Uz promptinit" - print " promptinit" - print " prompt $*[2,-1]" - shift - ;& - *) if [[ "$1" == 'random' ]]; then - local random_themes - if (( $#* == 1 )); then - random_themes=( $prompt_themes ) - else - random_themes=( "$@[2,-1]" ) - fi - local i=$(( ( $RANDOM % $#random_themes ) + 1 )) - argv=( "${=random_themes[$i]}" ) - fi - if [[ -z "$1" || -z $prompt_themes[(r)$1] ]]; then - print "$usage" - return - fi - - # Reset some commonly altered bits to the default - local hook - for hook in chpwd precmd preexec periodic zshaddhistory zshexit \ - zsh_directory_name; do - add-zsh-hook -D "$hook" "prompt_*_$hook" - done - for hook in isearch-exit isearch-update line-pre-redraw line-init \ - line-finish history-line-set keymap-select; do - add-zle-hook-widget -D "$hook" "prompt_*_$hook" - done - typeset -ga zle_highlight=( ${zle_highlight:#default:*} ) - (( ${#zle_highlight} )) || unset zle_highlight - - zstyle -t :prompt-theme cleanup - prompt_$1_setup "$@[2,-1]" && prompt_theme=( "$@" ) - ;; - esac -} - -prompt_cleanup () { - local -a cleanup_hooks theme_active - if ! zstyle -g cleanup_hooks :prompt-theme cleanup; then - if ! zstyle -g theme_active :prompt-theme restore; then - print -u2 "prompt_cleanup: no prompt theme active" - return 1 - fi - - # Set the cleanup sequence up. - zstyle -e :prompt-theme cleanup \ - 'zstyle -d :prompt-theme cleanup;' \ - 'reply=(yes)' - zstyle -g cleanup_hooks :prompt-theme cleanup - fi - - cleanup_hooks+=(';' "$@") - zstyle -e :prompt-theme cleanup "${cleanup_hooks[@]}" -} - -prompt () { - local -a prompt_opts theme_active - - zstyle -g theme_active :prompt-theme restore || { - # This is done here rather than in set_prompt so that it - # is safe and sane for set_prompt to setopt localoptions, - # which will be cleared before we arrive back here again. - # This is also why we pass around the prompt_opts array. - [[ -o promptbang ]] && prompt_opts+=(bang) - [[ -o promptcr ]] && prompt_opts+=(cr) - [[ -o promptpercent ]] && prompt_opts+=(percent) - [[ -o promptsp ]] && prompt_opts+=(sp) - [[ -o promptsubst ]] && prompt_opts+=(subst) - zstyle -e :prompt-theme restore " - zstyle -d :prompt-theme restore - prompt_default_setup - ${PS1+PS1=${(q+)PS1}} - ${PS2+PS2=${(q+)PS2}} - ${PS3+PS3=${(q+)PS3}} - ${PS4+PS4=${(q+)PS4}} - ${RPS1+RPS1=${(q+)RPS1}} - ${RPS2+RPS2=${(q+)RPS2}} - ${RPROMPT+RPROMPT=${(q+)RPROMPT}} - ${RPROMPT2+RPROMPT2=${(q+)RPROMPT2}} - ${PSVAR+PSVAR=${(q+)PSVAR}} - prompt_opts=( $prompt_opts[*] ) - reply=( yes ) - " - } - set_prompt "$@" - - (( ${#prompt_opts} )) && - setopt noprompt{bang,cr,percent,sp,subst} "prompt${^prompt_opts[@]}" - - true -} - -prompt_preview_theme () { - emulate -L zsh - - # Minimal preview for prompts that don't supply one - local -a prompt_opts - print -n "$1 theme" - (( $#* > 1 )) && print -n " with parameters \`$*[2,-1]'" - print ":" - zstyle -t :prompt-theme cleanup - prompt_${1}_setup "$@[2,-1]" - (( ${#prompt_opts} )) && - setopt noprompt{bang,cr,percent,sp,subst} "prompt${^prompt_opts[@]}" - - [[ -n ${chpwd_functions[(r)prompt_${1}_chpwd]} ]] && - prompt_${1}_chpwd - [[ -n ${precmd_functions[(r)prompt_${1}_precmd]} ]] && - prompt_${1}_precmd - - # We'd like to call zle-line-init/finish hooks, too, but that's not possible - # while the ZLE is not active. - - [[ -o promptcr ]] && print -n $'\r' - :; print -P -- "${PS1}command arg1 arg2 ... argn" - - [[ -n ${preexec_functions[(r)prompt_${1}_preexec]} ]] && - prompt_${1}_preexec -} - -[[ -o kshautoload ]] || promptinit "$@" diff --git a/result/sw/share/zsh/5.9/functions/promptnl b/result/sw/share/zsh/5.9/functions/promptnl deleted file mode 100644 index 155d5877..00000000 --- a/result/sw/share/zsh/5.9/functions/promptnl +++ /dev/null @@ -1,95 +0,0 @@ -# Add `autoload promptnl' to your .zshrc, and include a call to promptnl -# near the end of your precmd function. -# -# When promptnl runs, it asks the terminal to send back the current -# position of the cursor. If the cursor is in column 1, it does nothing; -# otherwise it prints a newline. Thus you get a newline exactly when one -# is needed. -# -# Of course this can make it appear that `print -n' and friends have -# failed to suppress the final newline; so promptnl outputs the value -# of the EOLMARK parameter before the newline, with prompt sequences -# expanded. So you can for example use EOLMARK='%B!%b' to put a bold -# exclamation point at the end of the actual output. - -# There's another way to accomplish the equivalent, without reading the -# cursor position from the terminal. Skip to the end of the file to see -# that other way. - -emulate -L zsh - -# VT100 and ANSI terminals will report the cursor position when sent -# the sequence ESC [ 6 n -- it comes back as ESC [ column ; line R -# with of course no trailing newline. Column and line are 1-based. - -local RECV='' SEND='\e[6n' REPLY=X - -# If you are on a very slow tty, you may need to increase WAIT here. -integer WAIT=1 - -# Make sure there's no typeahead, or it'll confuse things. Remove -# this block entirely to use this function in 3.0.x at your own risk. -while read -t -k 1 -do - RECV=$RECV$REPLY -done -if [[ -n $RECV ]] -then - print -z -r -- $RECV - RECV='' - REPLY=X -fi - -# This is annoying, but zsh immediately resets it properly, so ... -stty -echo - -# Output the SEND sequence and read back into RECV. In case this is -# not a terminal that understands SEND, do a non-blocking read and -# retry for at most WAIT seconds before giving up. Requires 3.1.9. -# For 3.0.x, remove "-t" but don't call this on the wrong terminal! - -print -n $SEND - -integer N=$SECONDS -while [[ $REPLY != R ]] && ((SECONDS - N <= WAIT)) -do - if read -t -k 1 - then - ((N=SECONDS)) - RECV=$RECV$REPLY - fi -done - -# If the cursor is not in the first column, emit EOLMARK and newline. - -(( ${${${RECV#*\;}%R}:-0} > 1 )) && print -P -- $EOLMARK - -return 0 - -# OK, now here's the other way. Works on any auto-margin terminal, which -# includes most terminals that respond to ESC [ 6 n as far as I know. It -# prints a line of spaces exactly as wide as the terminal, then prints a -# carriage return. If there are any characters already on the line, this -# will cause the line to wrap, otherwise it won't. - -: setopt nopromptcr -: PS1="%{${(pl:COLUMNS+1:: ::\r:)}%}$PS1" - -# On a very slow connection, you might be able to see the spaces getting -# drawn and then overwritten, so reading the cursor position might work -# better in that circumstance because it transmits fewer characters. It -# also doesn't work if you resize the terminal. - -# To get the EOLMARK behavior, simply adjust the COLUMNS+1 expression to -# account for the width of the mark, and include it. For example: - -: setopt nopromptcr -: PS1="%{%S<EOL>%s${(pl:COLUMNS-4:: ::\r:)}%}$PS1" - -# The important bit is that the total width of the string inside %{...%} -# has to be COLUMNS+1, where the extra character is the \r. However, I -# recommend using a one-character EOLMARK to avoid having the line wrap -# in the middle of the marker string: - -setopt nopromptcr -PS1="%{%S#%s${(pl:COLUMNS:: ::\r:)}%}$PS1" diff --git a/result/sw/share/zsh/5.9/functions/quote-and-complete-word b/result/sw/share/zsh/5.9/functions/quote-and-complete-word deleted file mode 100644 index a8c0618a..00000000 --- a/result/sw/share/zsh/5.9/functions/quote-and-complete-word +++ /dev/null @@ -1,46 +0,0 @@ -#autoload - -# This widget uses the completion system to double-quote the current word -# if it is not already quoted, then attempts to complete normally. If the -# normal completion fails, the quotes are removed again. -# -# To use it: -# autoload -Uz quote-and-complete-word -# zle -N quote-and-complete-word -# bindkey '\t' quote-and-complete-word -# -# BUG: The "undo" mechanism is confused by multiple calls to completion -# widgets from the same normal widget. - -# Note: It's important that this function's name ends in "complete-word". -# The _oldlist completer does nothing unless the widget has that suffix. - -quote-and-complete-word () { - setopt localoptions unset noshwordsplit noksharrays - local lbuf=$LBUFFER rbuf=$RBUFFER last=$LASTWIDGET - if [[ $last != $WIDGET ]] - then - local oldcontext=$curcontext - local curcontext="${WIDGET}:${${curcontext:-:::}#*:}" - zle complete-word - curcontext=$oldcontext - fi - zle complete-word - local ret=$? - if [[ _lastcomp[nmatches] -eq 0 && $last != $WIDGET ]] - then - LBUFFER=$lbuf RBUFFER=$rbuf - fi - return ret -} - -_force_quote () { - [[ -z $compstate[quoting] ]] && - compstate[to_end]='' && - compadd -U -S "$SUFFIX" -I "$ISUFFIX"\" -i \""$IPREFIX" "${(Q)PREFIX}" -} -zstyle ':completion:quote-and-complete-word:*' completer _force_quote - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || quote-and-complete-word "$@" diff --git a/result/sw/share/zsh/5.9/functions/read-from-minibuffer b/result/sw/share/zsh/5.9/functions/read-from-minibuffer deleted file mode 100644 index 09dc68f9..00000000 --- a/result/sw/share/zsh/5.9/functions/read-from-minibuffer +++ /dev/null @@ -1,60 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local opt keys -integer stat - -while getopts "k:" opt; do - case $opt in - # Read the given number of keys. This is a bit - # ropey for more than a single key. - (k) - keys=$OPTARG - ;; - - (*) - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -local readprompt="$1" lbuf_init="$2" rbuf_init="$3" -integer savelim=$UNDO_LIMIT_NO changeno=$UNDO_CHANGE_NO - -{ -# Use anonymous function to make sure special values get restored, -# even if this function is called as a widget. -# local +h ensures special parameters stay special. -() { - local pretext="$PREDISPLAY$LBUFFER$RBUFFER$POSTDISPLAY -" - local +h LBUFFER="$lbuf_init" - local +h RBUFFER="$rbuf_init" - local +h PREDISPLAY="$pretext${readprompt:-? }" - local +h POSTDISPLAY= - local +h -a region_highlight - region_highlight=("P${#pretext} ${#PREDISPLAY} bold") - - if [[ -n $keys ]]; then - zle -R - read -k $keys - stat=$? - else - local NUMERIC - unset NUMERIC - zle split-undo - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - zle recursive-edit -K main - stat=$? - (( stat )) || REPLY=$BUFFER - fi -} -} always { - # This removes the edits relating to the read from the undo history. - # These aren't useful once we get back to the main editing buffer. - zle undo $changeno - UNDO_LIMIT_NO=savelim -} - -return $stat diff --git a/result/sw/share/zsh/5.9/functions/regexp-replace b/result/sw/share/zsh/5.9/functions/regexp-replace deleted file mode 100644 index d4408f0f..00000000 --- a/result/sw/share/zsh/5.9/functions/regexp-replace +++ /dev/null @@ -1,91 +0,0 @@ -# Replace all occurrences of a regular expression in a variable. The -# variable is modified directly. Respects the setting of the -# option RE_MATCH_PCRE. -# -# First argument: *name* (not contents) of variable. -# Second argument: regular expression -# Third argument: replacement string. This can contain all forms of -# $ and backtick substitutions; in particular, $MATCH will be replaced -# by the portion of the string matched by the regular expression. - -# we use positional parameters instead of variables to avoid -# clashing with the user's variable. Make sure we start with 3 and only -# 3 elements: -argv=("$1" "$2" "$3") - -# $4 records whether pcre is enabled as that information would otherwise -# be lost after emulate -L zsh -4=0 -[[ -o re_match_pcre ]] && 4=1 - -emulate -L zsh - - -local MATCH MBEGIN MEND -local -a match mbegin mend - -if (( $4 )); then - # if using pcre, we're using pcre_match and a running offset - # That's needed for ^, \A, \b, and look-behind operators to work - # properly. - - zmodload zsh/pcre || return 2 - pcre_compile -- "$2" && pcre_study || return 2 - - # $4 is the current *byte* offset, $5, $6 reserved for later use - 4=0 6= - - local ZPCRE_OP - while pcre_match -b -n $4 -- "${(P)1}"; do - # append offsets and computed replacement to the array - # we need to perform the evaluation in a scalar assignment so that if - # it generates an array, the elements are converted to string (by - # joining with the first character of $IFS as usual) - 5=${(e)3} - argv+=(${(s: :)ZPCRE_OP} "$5") - - # for 0-width matches, increase offset by 1 to avoid - # infinite loop - 4=$((argv[-2] + (argv[-3] == argv[-2]))) - done - - (($# > 6)) || return # no match - - set +o multibyte - - # $5 contains the result, $6 the current offset - 5= 6=1 - for 2 3 4 in "$@[7,-1]"; do - 5+=${(P)1[$6,$2]}$4 - 6=$(($3 + 1)) - done - 5+=${(P)1[$6,-1]} -else - # in ERE, we can't use an offset so ^, (and \<, \b, \B, [[:<:]] where - # available) won't work properly. - - # $4 is the string to be matched - 4=${(P)1} - - while [[ -n $4 ]]; do - if [[ $4 =~ $2 ]]; then - # append initial part and substituted match - 5+=${4[1,MBEGIN-1]}${(e)3} - # truncate remaining string - if ((MEND < MBEGIN)); then - # zero-width match, skip one character for the next match - ((MEND++)) - 5+=${4[1]} - fi - 4=${4[MEND+1,-1]} - # indicate we did something - 6=1 - else - break - fi - done - [[ -n $6 ]] || return # no match - 5+=$4 -fi - -eval $1=\$5 diff --git a/result/sw/share/zsh/5.9/functions/relative b/result/sw/share/zsh/5.9/functions/relative deleted file mode 100644 index 432f2e2d..00000000 --- a/result/sw/share/zsh/5.9/functions/relative +++ /dev/null @@ -1,28 +0,0 @@ -# Print the a relative path from the second directory to the first, -# defaulting the second directory to $PWD if none is specified. -emulate -L zsh || return 1 - -[[ $1 != /* ]] && print $1 && return -[[ -f $1 ]] && 3=$1:t 1=$1:h -[[ -d $1 && -d ${2:=$PWD} ]] || return 1 -[[ $1 -ef $2 ]] && print ${3:-.} && return - -# The simplest way to eliminate symlinks and ./ and ../ in the paths: -1=$(cd $1; pwd -r) -2=$(cd $2; pwd -r) - -local -a cur abs -cur=(${(s:/:)2}) # Split 'current' directory into cur -abs=(${(s:/:)1} $3) # Split target directory into abs - -# Compute the length of the common prefix, or discover a subdirectory: -integer i=1 -while [[ i -le $#abs && $abs[i] == $cur[i] ]] -do - ((++i > $#cur)) && print ${(j:/:)abs[i,-1]} && return -done - -2=${(j:/:)cur[i,-1]/*/..} # Up to the common prefix directory and -1=${(j:/:)abs[i,-1]} # down to the target directory or file - -print $2${1:+/$1} diff --git a/result/sw/share/zsh/5.9/functions/replace-argument b/result/sw/share/zsh/5.9/functions/replace-argument deleted file mode 100644 index 0ef3de7b..00000000 --- a/result/sw/share/zsh/5.9/functions/replace-argument +++ /dev/null @@ -1,48 +0,0 @@ -# Replace an argument to a command, delimited by normal shell syntax. -# Prompts for the replacement. -# With no numeric argument, replace the current argument. -# With a numeric argument, replace that argument: 0 = command word, -# as in history expansion. -# If editing buffer is empty, use previous history line. - -autoload -Uz split-shell-arguments read-from-minibuffer - -if (( ${#BUFFER} == 0 )); then - (( HISTNO-- )) - CURSOR=${#BUFFER} -fi - -local widget=$WIDGET numeric -integer cursor=CURSOR -if (( ${+NUMERIC} )); then - numeric=$NUMERIC -fi -local reply REPLY REPLY2 -integer index -split-shell-arguments - -if [[ -n $numeric ]]; then - if (( numeric < 0 )); then - (( index = ${#reply} - 1 + 2*(numeric+1) )) - else - (( index = 2 + 2*numeric )) - fi -else - (( index = REPLY & ~1 )) -fi - -local edit -if [[ $widget = *edit* ]]; then - edit=$reply[$index] -fi -read-from-minibuffer "Replace $reply[$index] with: " $edit || return 1 - -integer diff=$(( ${#REPLY} - ${#reply[$index]} )) -reply[$index]=$REPLY - -BUFFER=${(j..)reply} -if (( cursor > REPLY2 )); then - (( CURSOR = cursor + diff )) -else - (( CURSOR = REPLY2 )) -fi diff --git a/result/sw/share/zsh/5.9/functions/replace-string b/result/sw/share/zsh/5.9/functions/replace-string deleted file mode 100644 index 68aac28d..00000000 --- a/result/sw/share/zsh/5.9/functions/replace-string +++ /dev/null @@ -1,42 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz read-from-minibuffer replace-string-again - -local p1 p2 -integer changeno=$UNDO_CHANGE_NO - -{ - -if [[ -n $_replace_string_src ]]; then - p1="[$_replace_string_src -> $_replace_string_rep]"$'\n' -fi - -p1+="Replace: " -p2=" with: " - -# Saving curwidget is necessary to avoid the widget name being overwritten. -local REPLY previous curwidget=$WIDGET - -if (( ${+NUMERIC} )); then - (( $NUMERIC > 0 )) && previous=1 -else - zstyle -t ":zle:$WIDGET" edit-previous && previous=1 -fi - -read-from-minibuffer $p1 ${previous:+$_replace_string_src} || return 1 -if [[ -n $REPLY ]]; then - typeset -g _replace_string_src=$REPLY - - read-from-minibuffer "$p1$_replace_string_src$p2" \ - ${previous:+$_replace_string_rep} || return 1 - typeset -g _replace_string_rep=$REPLY -fi - -} always { - # Undo back to the original line; we don't want the - # undo history of editing the strings left. - zle undo $changeno -} - -replace-string-again $curwidget diff --git a/result/sw/share/zsh/5.9/functions/replace-string-again b/result/sw/share/zsh/5.9/functions/replace-string-again deleted file mode 100644 index dac3db75..00000000 --- a/result/sw/share/zsh/5.9/functions/replace-string-again +++ /dev/null @@ -1,54 +0,0 @@ -# Back end for replace-string; can be called as a widget to repeat -# the previous replacement. _replace_string_src and _replace_string_rep -# are global. - -# When called from replace-string, we need to use the widget -# name passed to decide whether to do pattern matching: the widget -# may since have been overwritten. -local MATCH MBEGIN MEND curwidget=${1:-$WIDGET} -local -a match mbegin mend - -if [[ -z $_replace_string_src ]]; then - zle -M "No string to replace." - return 1 -fi - -if [[ $curwidget = *(pattern|regex)* ]]; then - local rep2 - # The following horror is so that an & preceded by an even - # number of backslashes is active, without stripping backslashes, - # while preceded by an odd number of backslashes is inactive, - # with one backslash being stripped. A similar logic applies - # to \digit. - local rep=$_replace_string_rep - while [[ $rep = (#b)([^\\]#)(\\\\)#(\\|)(\&|\\<->|\\\{<->\})(*) ]]; do - if [[ -n $match[3] ]]; then - # Expression is quoted, strip quotes - rep2="${match[1]}${match[2]}${match[4]}" - else - rep2+="${match[1]}${match[2]}" - if [[ $match[4] = \& ]]; then - rep2+='${MATCH}' - elif [[ $match[4] = \\\{* ]]; then - rep2+='${match['${match[4][3,-2]}']}' - else - rep2+='${match['${match[4][2,-1]}']}' - fi - fi - rep=${match[5]} - done - rep2+=$rep - if [[ $curwidget = *regex* ]]; then - autoload -Uz regexp-replace - integer ret=1 - regexp-replace LBUFFER $_replace_string_src $rep2 && ret=0 - regexp-replace RBUFFER $_replace_string_src $rep2 && ret=0 - return ret - else - LBUFFER=${LBUFFER//(#bm)$~_replace_string_src/${(e)rep2}} - RBUFFER=${RBUFFER//(#bm)$~_replace_string_src/${(e)rep2}} - fi -else - LBUFFER=${LBUFFER//$_replace_string_src/$_replace_string_rep} - RBUFFER=${RBUFFER//$_replace_string_src/$_replace_string_rep} -fi diff --git a/result/sw/share/zsh/5.9/functions/run-help b/result/sw/share/zsh/5.9/functions/run-help deleted file mode 100755 index 9580baa8..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help +++ /dev/null @@ -1,129 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# -# Figure out where to get the best help, and get it. -# -# Install this function by placing it in your FPATH and then -# adding to your .zshrc the lines: -# unalias run-help -# autoload -Uz run-help -# - -emulate -RL zsh - -local HELPDIR="${HELPDIR:-/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/share/zsh/5.9/help}" - -[[ $1 == "." ]] && 1="dot" -[[ $1 == ":" ]] && 1="colon" - -# Check whether Util/helpfiles has been used to generate zsh help -if [[ $# == 0 || $1 == "-l" ]] -then - if [[ -d $HELPDIR ]] - then - echo "Here is a list of topics for which special help is available:" - echo "" - print -rc $HELPDIR/*(:t) - else - echo "There is no list of special help topics available at this time." - fi - return 0 -elif [[ -n "${HELPDIR:-}" && -r $HELPDIR/$1 && $1 != compctl ]] -then - ${=PAGER:-more} $HELPDIR/$1 - return $? -fi - -# No zsh help; use "whence" to figure out where else we might look -local what places noalias newline=' -' -integer i=0 didman=0 - -places=( "${(@f)$(builtin whence -va $1)}" ) -if [[ $places = *"not found"* && $1 != ${(Q)1} ]]; then - # Different when unquoted, so try stripping quotes. - places=( "${(@f)$(builtin whence -va ${(Q)1})}" ) - if (( ${#places} )); then - set -- "${(Q)@}" - fi - # Quotation is significant to aliases, so suppress lookup. - noalias=1 -fi - -{ -while ((i++ < $#places)) -do - what=$places[$i] - [[ -n $noalias && $what = *" is an alias "* ]] && continue - builtin print -r $what - case $what in - (*( is an alias for (noglob|nocorrect))*) - [[ ${what[(w)7]:t} != ${what[(w)1]} ]] && - run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)7]:t} - ;; - (*( is an alias)*) - [[ ${what[(w)6]:t} != ${what[(w)1]} ]] && - run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)6]:t} - ;; - (*( is a * function)) - case ${what[(w)1]} in - (comp*) man zshcompsys;; - (zf*) man zshftpsys;; - (run-help) man zshcontrib;; - (*) builtin functions ${what[(w)1]} | ${=PAGER:-more};; - esac;; - (*( is a * builtin)) - case ${what[(w)1]} in - (compctl) man zshcompctl;; - (comp*) man zshcompwid;; - (bindkey|vared|zle) man zshzle;; - (*setopt) man zshoptions;; - (cap|getcap|setcap) ;& - (clone) ;& - (ln|mkdir|mv|rm|rmdir|sync) ;& - (sched) ;& - (echotc|echoti|sched|stat|zprof|zpty|zsocket|zstyle|ztcp) man zshmodules;; - (zftp) man zshftpsys;; - (*) man zshbuiltins;; - esac - ;; - (*( is hashed to *)) - man ${what[(w)-1]:t} - ;; - (*( is a reserved word)) - man zshmisc - ;; - (*) - if ((! didman++)) - then - if whence "run-help-$1:t" >/dev/null - then - local cmd_args - builtin getln cmd_args - builtin print -z "$cmd_args" - cmd_args=( ${(z)cmd_args} ) - - # Discard the command itself & everything before it. - shift $cmd_args[(i)${run_help_orig_cmd:-$1}] cmd_args || - return - - # Discard options, parameter assignments & paths. - cmd_args=( ${cmd_args[@]:#([-+]*|*=*|*/*|\~*)} ) - - eval "run-help-$1:t ${(@q)cmd_args}" - else - POSIXLY_CORRECT=1 man $@:t - fi - fi - ;; - esac - if ((i < $#places && ! didman)) - then - builtin print -nP "%SPress any key for more help or q to quit%s" - builtin read -k what - [[ $what != $newline ]] && echo - [[ $what == [qQ] ]] && break - fi -done -} always { - unset run_help_orig_cmd -} diff --git a/result/sw/share/zsh/5.9/functions/run-help-btrfs b/result/sw/share/zsh/5.9/functions/run-help-btrfs deleted file mode 100644 index cb139e9b..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-btrfs +++ /dev/null @@ -1,18 +0,0 @@ -case $1 in - (b*) man btrfs-balance ;; - (c*) man btrfs-check ;; - (d*) man btrfs-device ;; - (f*) man btrfs-filesystem ;; - (i*) man btrfs-inspect-internal ;; - (p*) man btrfs-property ;; - (qg*) man btrfs-qgroup ;; - (qu*) man btrfs-quota ;; - (rec*) man btrfs-receive ;; - (rep*) man btrfs-replace ;; - (resc*) man btrfs-rescue ;; - (rest*) man btrfs-restore ;; - (sc*) man btrfs-scrub ;; - (se*) man btrfs-send ;; - (su*) man btrfs-subvolume ;; - (*) man btrfs ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/run-help-git b/result/sw/share/zsh/5.9/functions/run-help-git deleted file mode 100644 index a841f89d..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-git +++ /dev/null @@ -1 +0,0 @@ -git help ${1:-git} diff --git a/result/sw/share/zsh/5.9/functions/run-help-ip b/result/sw/share/zsh/5.9/functions/run-help-ip deleted file mode 100755 index d594f280..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-ip +++ /dev/null @@ -1,38 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# Install this function by placing it in your FPATH and then -# adding to your .zshrc the line if you use run-help function: -# autoload -Uz run-help-ip - -if [ $# -eq 0 ]; then - man ip - return -fi - -if ! man -w ip-address >/dev/null 2>&1; then - man ip - return -fi - -case $1 in - (addrl*) man ip-addrlabel ;; - (a*) man ip-address ;; - (l2*) man ip-l2tp ;; - (li*) man ip-link ;; - (ma*) man ip-maddress ;; - (mo*) man ip-monitor ;; - (mr*) man ip-mroute ;; - (nei*) man ip-neighbour ;; - (netc*) man ip-netconf ;; - (netn*) man ip-netns ;; - (nt*) man ip-ntable ;; - (ro*) man ip-route ;; - (ru*) man ip-rule ;; - (tcp*) man ip-tcp_metrics ;; - (to*) man ip-token ;; - (tu*) man ip-tunnel ;; - (xf*) man ip-xfrm ;; - (*) man ip ;; -esac - -return $? diff --git a/result/sw/share/zsh/5.9/functions/run-help-openssl b/result/sw/share/zsh/5.9/functions/run-help-openssl deleted file mode 100644 index c528418c..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-openssl +++ /dev/null @@ -1,7 +0,0 @@ - -if [ $# -eq 0 ]; then - man openssl -else - man $1 -fi - diff --git a/result/sw/share/zsh/5.9/functions/run-help-p4 b/result/sw/share/zsh/5.9/functions/run-help-p4 deleted file mode 100644 index e48a4d06..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-p4 +++ /dev/null @@ -1,5 +0,0 @@ -if (( ! $# )); then - p4 help commands -else - p4 help $1 -fi | ${=PAGER:-more} diff --git a/result/sw/share/zsh/5.9/functions/run-help-sudo b/result/sw/share/zsh/5.9/functions/run-help-sudo deleted file mode 100644 index a8fa7aa0..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-sudo +++ /dev/null @@ -1,7 +0,0 @@ - -if [ $# -eq 0 ]; then - man sudo -else - run-help $1 -fi - diff --git a/result/sw/share/zsh/5.9/functions/run-help-svk b/result/sw/share/zsh/5.9/functions/run-help-svk deleted file mode 100644 index 78253824..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-svk +++ /dev/null @@ -1 +0,0 @@ -svk help $1 | ${=PAGER:-more} diff --git a/result/sw/share/zsh/5.9/functions/run-help-svn b/result/sw/share/zsh/5.9/functions/run-help-svn deleted file mode 100644 index d55a493a..00000000 --- a/result/sw/share/zsh/5.9/functions/run-help-svn +++ /dev/null @@ -1 +0,0 @@ -svn help $1 | ${=PAGER:-more} diff --git a/result/sw/share/zsh/5.9/functions/select-bracketed b/result/sw/share/zsh/5.9/functions/select-bracketed deleted file mode 100644 index 0cb4d0e7..00000000 --- a/result/sw/share/zsh/5.9/functions/select-bracketed +++ /dev/null @@ -1,58 +0,0 @@ -# Text object for matching characters between matching pairs of brackets -# -# So for example, given (( i+1 )), the vi command ci( will change -# all the text between matching colons. -# -# The following is an example of how to enable this: -# autoload -U select-bracketed -# zle -N select-bracketed -# for m in visual viopp; do -# for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do -# bindkey -M $m $c select-bracketed -# done -# done - -setopt localoptions noksharrays - -local style=${${1:-$KEYS}[1]} matching="(){}[]<>bbBB" -local -i find=${NUMERIC:-1} idx=${matching[(I)[${${1:-$KEYS}[2]}]]}%9 -(( idx )) || return 1 # no corresponding closing bracket -local lmatch=${matching[1 + ((idx-1) & ~1)]} -local rmatch=${matching[1 + ((idx-1) | 1)]} -local -i start=CURSOR+1 end=CURSOR+1 rfind=find - -[[ $BUFFER[start] = "$rmatch" ]] && (( start--, end-- )) -if (( REGION_ACTIVE && MARK != CURSOR)); then - (( MARK < CURSOR && (start=end=MARK+1) )) - local -i origstart=start-1 - [[ $style = i ]] && (( origstart-- )) -fi - -while (( find )); do - for (( ; find && start; --start )); do - case $BUFFER[start] in - "$lmatch") (( find-- )) ;; - "$rmatch") (( find++ )) ;; - esac - done - - (( find )) && return 1 # opening bracket not found - - while (( rfind && end++ < $#BUFFER )); do - case $BUFFER[end] in - "$lmatch") (( rfind++ )) ;; - "$rmatch") (( rfind-- )) ;; - esac - done - - (( rfind )) && return 1 # closing bracket not found - - (( REGION_ACTIVE && MARK != CURSOR && start >= origstart && - ( find=rfind=${NUMERIC:-1} ) )) -done - -[[ $style = i ]] && (( start++, end-- )) -(( REGION_ACTIVE = !!REGION_ACTIVE )) -[[ $KEYMAP = vicmd ]] && (( REGION_ACTIVE && end-- )) -MARK=$start -CURSOR=$end diff --git a/result/sw/share/zsh/5.9/functions/select-quoted b/result/sw/share/zsh/5.9/functions/select-quoted deleted file mode 100644 index 904f1e46..00000000 --- a/result/sw/share/zsh/5.9/functions/select-quoted +++ /dev/null @@ -1,71 +0,0 @@ -# Text object for matching characters between a particular delimiter -# -# So for example, given "text", the vi command vi" will select -# all the text between the double quotes -# -# The following is an example of how to enable this: -# autoload -U select-quoted -# zle -N select-quoted -# for m in visual viopp; do -# for c in {a,i}{\',\",\`}; do -# bindkey -M $m $c select-quoted -# done -# done - -setopt localoptions noksharrays - -local matching=${${1:-$KEYS}[2]} -local -i start=CURSOR+2 end=CURSOR+2 found=0 alt=0 count=0 - -if ((REGION_ACTIVE )); then - if (( MARK < CURSOR )); then - start=MARK+2 - else - end=MARK+2 - fi -fi - -[[ $BUFFER[CURSOR+1] = $matching && $BUFFER[CURSOR] != \\ ]] && count=1 -while (( (count || ! alt) && --start )) && [[ $BUFFER[start] != $'\n' ]]; do - if [[ $BUFFER[start] = "$matching" ]]; then - if [[ $BUFFER[start-1] = \\ ]]; then - (( start-- )) - elif (( ! found )); then - found=start - else - (( ! alt )) && alt=start - (( count && ++count )) - fi - fi -done - -for (( start=CURSOR+2; ! found && start+1 < $#BUFFER; start++ )); do - case $BUFFER[start] in - $'\n') return 1 ;; - \\) (( start++ )) ;; - "$matching") - (( end=start+1, found=start )) - ;; - esac -done - -[[ $BUFFER[end-1] = \\ ]] && (( end++ )) -until [[ $BUFFER[end] == "$matching" ]]; do - [[ $BUFFER[end] = \\ ]] && (( end++ )) - if [[ $BUFFER[end] = $'\n' ]] || (( ++end > $#BUFFER )); then - end=0 - break - fi -done - -if (( alt && (!end || count == 2) )); then - end=found - found=alt -fi -(( end )) || return 1 - -[[ ${${1:-$KEYS}[1]} = a ]] && (( found-- )) || (( end-- )) -(( REGION_ACTIVE = !!REGION_ACTIVE )) -[[ $KEYMAP = vicmd ]] && (( REGION_ACTIVE && end-- )) -MARK=found -CURSOR=end diff --git a/result/sw/share/zsh/5.9/functions/select-word-match b/result/sw/share/zsh/5.9/functions/select-word-match deleted file mode 100644 index 8440852a..00000000 --- a/result/sw/share/zsh/5.9/functions/select-word-match +++ /dev/null @@ -1,120 +0,0 @@ -# Select the entire word around the cursor. Intended for use as -# a vim-style text object in vi mode but with customisable -# word boundaries. -# -# For example: -# autoload -U select-word-match -# zle -N select-in-camel select-word-match -# bindkey -M viopp ic select-in-camel -# zstyle ':zle:*-camel' word-style normal-subword - -emulate -L zsh -setopt extendedglob - -local curcontext=:zle:$WIDGET -local -A matched_words -# Start and end of range of characters -integer pos1 pos2 num=${NUMERIC:-1} -local style word - -# choose between inner word or a word style of widget -for style in $1 ${${WIDGET#*-}[1]} $KEYS[1] "i"; do - [[ $style = [ai] ]] && break -done - -autoload -Uz match-words-by-style - -while (( num-- )); do - if (( MARK > CURSOR )); then - # if cursor is at the start of the selection, just move back a word - match-words-by-style - if [[ $style = i && -n $matched_words[ws-before-cursor] ]]; then - word=$matched_words[ws-before-cursor] - else - word=$matched_words[word-before-cursor]$matched_words[ws-before-cursor] - fi - if [[ -n $word ]]; then - (( CURSOR -= ${#word} )) - else - return 1 - fi - elif (( MARK >= 0 && MARK < CURSOR )); then - # cursor at the end, move forward a word - (( CURSOR+1 == $#BUFFER )) && return 1 - (( CURSOR++ )) - match-words-by-style - if [[ -n $matched_words[ws-after-cursor] ]]; then - if [[ $style = i ]]; then - # just skip the whitespace - word=$matched_words[ws-after-cursor] - else - # skip the whitespace plus word - word=$matched_words[ws-after-cursor]$matched_words[word-after-cursor] - fi - else - if [[ $style = i ]]; then - # skip the word - word=$matched_words[word-after-cursor] - else - # skip word and following whitespace - word=$matched_words[word-after-cursor]$matched_words[ws-after-word] - fi - fi - (( CURSOR += ${#word} - 1 )) - else - match-words-by-style - - if (( ${matched_words[is-word-start]} )); then - # The word we are selecting starts at the cursor position. - pos1=$CURSOR - else - # No whitespace before us, so select any wordcharacters there. - pos1="${#matched_words[start]}" - fi - - if [[ -n "${matched_words[ws-after-cursor]}" ]]; then - if [[ -n "${matched_words[ws-before-cursor]}" ]] || (( CURSOR == 0 )); then - # whitespace either side, select it - (( pos1 = CURSOR - ${#matched_words[ws-before-cursor]} )) - (( pos2 = CURSOR + ${#matched_words[ws-after-cursor]} )) - else - # There's whitespace at the cursor position, so only select - # up to the cursor position. - (( pos2 = CURSOR + 1 )) - fi - else - # No whitespace at the cursor position, so select the - # current character and any following wordcharacters. - (( pos2 = CURSOR + ${#matched_words[word-after-cursor]} )) - fi - - if [[ $style = a ]]; then - if [[ -n "${matched_words[ws-after-cursor]}" && ( -n "${matched_words[ws-before-cursor]}" || CURSOR -eq 0 ) ]]; then - # in the middle of whitespace so grab a word - if [[ -n "${matched_words[word-after-cursor]}" ]]; then - (( pos2 += ${#matched_words[word-after-cursor]} )) # preferably the one after - else - (( pos1 -= ${#matched_words[word-before-cursor]} )) # otherwise the one before - fi - elif [[ -n "${matched_words[ws-after-word]}" ]]; then - (( pos2 += ${#matched_words[ws-after-word]} )) - elif [[ -n "${matched_words[ws-before-cursor]}" ]]; then - # couldn't grab whitespace forwards so try backwards - (( pos1 -= ${#matched_words[ws-before-cursor]} )) - elif (( pos1 > 0 )); then - # There might have been whitespace before the word - (( CURSOR = pos1 )) - match-words-by-style - if [[ -n "${matched_words[ws-before-cursor]}" ]]; then - (( pos1 -= ${#matched_words[ws-before-cursor]} )) - fi - fi - fi - - (( MARK = pos1, CURSOR = pos2-1 )) - fi -done - -if [[ $KEYMAP == vicmd ]] && (( !REGION_ACTIVE )); then - (( CURSOR++ )) # Need to include cursor position for operators -fi diff --git a/result/sw/share/zsh/5.9/functions/select-word-style b/result/sw/share/zsh/5.9/functions/select-word-style deleted file mode 100644 index 1e472229..00000000 --- a/result/sw/share/zsh/5.9/functions/select-word-style +++ /dev/null @@ -1,100 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local -a word_functions - -word_functions=(backward-kill-word backward-word - capitalize-word down-case-word - forward-word kill-word - transpose-words up-case-word) - -[[ -z $1 ]] && autoload -Uz read-from-minibuffer - -local REPLY detail f wordstyle teststyle - -if ! zle -l $word_functions[1]; then - for f in $word_functions; do - autoload -Uz $f-match - zle -N $f $f-match - done -fi - - -while true; do - if [[ -n $WIDGET && -z $1 ]]; then - read-from-minibuffer -k1 "Word styles (hit return for more detail): -(b)ash (n)ormal (s)hell (w)hitespace (d)efault (q)uit -(B), (N), (S), (W) as above with subword matching -${detail}? " || return 1 - else - REPLY=$1 - fi - - detail= - - case $REPLY in - ([bB]*) - # bash style - wordstyle=standard - zstyle ':zle:*' word-chars '' - zstyle ':zle:*' skip-whitespace-first true - ;; - - ([nN]*) - # normal zsh style - wordstyle=standard - zstyle ':zle:*' word-chars "$WORDCHARS" - zstyle ':zle:*' skip-whitespace-first false - ;; - - ([sS]*) - # shell command arguments or special tokens - wordstyle=shell - zstyle ':zle:*' skip-whitespace-first false - ;; - - ([wW]*) - # whitespace-delimited - wordstyle=space - zstyle ':zle:*' skip-whitespace-first false - ;; - - (d*) - # default: could also return widgets to builtins here - wordstyle= - zstyle -d ':zle:*' word-chars - zstyle -d ':zle:*' skip-whitespace-first - ;; - - (q*) - # quit without setting - return 1 - ;; - - (*) - detail="\ -(b)ash: Word characters are alphanumerics only -(n)ormal: Word characters are alphanumerics plus \$WORDCHARS -(s)hell: Words are command arguments using shell syntax -(w)hitespace: Words are whitespace-delimited -(d)efault: Use default, no special handling (usually same as \`n') -(q)uit: Quit without setting a new style -" - if [[ -z $WIDGET || -n $1 ]]; then - print "Usage: $0 word-style -where word-style is one of the characters in parentheses: -$detail" >&2 - return 1 - fi - continue - ;; - esac - - if [[ -n $wordstyle ]]; then - if [[ $REPLY = [[:upper:]]* ]]; then - wordstyle+=-subword - fi - zstyle ':zle:*' word-style $wordstyle - fi - return -done diff --git a/result/sw/share/zsh/5.9/functions/send-invisible b/result/sw/share/zsh/5.9/functions/send-invisible deleted file mode 100644 index d31fc76a..00000000 --- a/result/sw/share/zsh/5.9/functions/send-invisible +++ /dev/null @@ -1,85 +0,0 @@ -#autoload - -# send-invisible reads a line from the terminal, displaying an -# asterisk for each character typed. It stores the line in the -# global variable INVISIBLE, and when finished reading, inserts -# the string ${INVISIBLE} into the original command buffer. - -# If one argument is given, it is the prompt. The default is -# "Non-echoed text: " - -# If two or three arguments are given, they form the prefix and -# suffix of the inserted INVISIBLE. Defaults are '${' and '}' -# but these can be replaced, for example with '"${' and '}"' to -# enclose the whole word in double quotes, or '${(z)' and '}' to -# split the value of $INVISIBLE like the shell parser. - -# To use: -# autoload -Uz send-invisible -# zle -N send-invisible -# bindkey '^X ' send-invisible -# Or more elaborately: -# hidden-command() { send-invisible '% ' '${(z)' '}' } -# zle -N hidden-command -# bindkey '^X%' hidden-command - -# Shamelessly cribbed from read-from-minibuffer. - -emulate -L zsh - -# Hide the value of INVISIBLE in any output of set and typeset -typeset -g -H INVISIBLE= - -local pretext="$PREDISPLAY$LBUFFER$RBUFFER$POSTDISPLAY"$'\n' - -# Can't directly make these locals because send-invisible is -# called as a widget, so these special variables are already -# local at the current level and wouldn't get restored -local save_lbuffer=$LBUFFER -local save_rbuffer=$RBUFFER -local save_predisplay=$PREDISPLAY -local save_postdisplay=$POSTDISPLAY -local -a save_region_highlight -save_region_highlight=("${region_highlight[@]}") - -{ - local lb rb opn=${2:-'${'} cls=${3:-'}'} - LBUFFER= - RBUFFER= - PREDISPLAY="$pretext${1:-Non-echoed text: }" - POSTDISPLAY= - region_highlight=("P${(m)#pretext} ${(m)#PREDISPLAY} bold") - - while zle -R && zle .read-command - do - # There are probably more commands that should go into - # the first clause here to harmlessly beep, because ... - case $REPLY in - (send-invisible|run-help|undefined-key|where-is|which-command) - zle .beep;; - (push-*|send-break) INVISIBLE=;& - (accept-*) break;; - (*) - LBUFFER=$lb - RBUFFER=$rb - zle $REPLY # ... this could expose something - lb=$LBUFFER - rb=$RBUFFER - INVISIBLE=$BUFFER - LBUFFER=${(l:$#LBUFFER::*:):-} - RBUFFER=${(l:$#RBUFFER::*:):-} - ;; - esac - done -} always { - LBUFFER=$save_lbuffer - RBUFFER=$save_rbuffer - PREDISPLAY=$save_predisplay - POSTDISPLAY=$save_postdisplay - region_highlight=("${save_region_highlight[@]}") - zle -R - - # Now that the highlight has been restored with all the old - # text and cursor positioning, insert the new text. - LBUFFER+=${INVISIBLE:+${opn}INVISIBLE${cls}} -} diff --git a/result/sw/share/zsh/5.9/functions/smart-insert-last-word b/result/sw/share/zsh/5.9/functions/smart-insert-last-word deleted file mode 100644 index 05f23cba..00000000 --- a/result/sw/share/zsh/5.9/functions/smart-insert-last-word +++ /dev/null @@ -1,126 +0,0 @@ -# smart-insert-last-word -# Inspired by Christoph Lange <langec@gmx.de> from zsh-users/3265; -# rewritten to correct multiple-call behavior after zsh-users/3270; -# modified to work with copy-earlier-word after zsh-users/5832. -# Edited further per zsh-users/10881 and zsh-users/10884. -# -# This function as a ZLE widget can replace insert-last-word, like so: -# -# zle -N insert-last-word smart-insert-last-word -# -# With a numeric prefix, behaves like insert-last-word, except that words -# in comments are ignored when interactive_comments is set. -# -# Otherwise, the rightmost "interesting" word from any previous command is -# found and inserted. The default definition of "interesting" is that the -# word contains at least one alphabetic character, slash, or backslash. -# This definition can be overridden by use of a style like so: -# -# zstyle :insert-last-word match '*[[:alpha:]/\\]*' -# -# For example, you might want to include words that contain spaces: -# -# zstyle :insert-last-word match '*[[:alpha:][:space:]/\\]*' -# -# Or include numbers as long as the word is at least two characters long: -# -# zstyle :insert-last-word match '*([[:digit:]]?|[[:alpha:]/\\])*' -# -# That causes redirections like "2>" to be included. -# -# Note also that the style is looked up based on the widget name, so you -# can bind this function to different widgets to use different patterns: -# -# zle -N insert-last-assignment smart-insert-last-word -# zstyle :insert-last-assignment match '[[:alpha:]][][[:alnum:]]#=*' -# bindkey '\e=' insert-last-assignment -# -# The "auto-previous" style, if set to a true value, causes the search to -# proceed upward through the history until an interesting word is found. -# If auto-previous is unset or false and there is no interesting word, the -# last word is returned. - -emulate -L zsh -setopt extendedglob nohistignoredups - -# Begin by preserving completion suffix if any -zle auto-suffix-retain - -# Not strictly necessary: -# (($+_ilw_hist)) || integer -g _ilw_hist _ilw_count _ilw_cursor _ilw_lcursor _ilw_changeno -# (($+_ilw_result)) || typeset -g _ilw_result - -integer cursor=$CURSOR lcursor=$CURSOR -local lastcmd pattern numeric=$NUMERIC - -# Save state for repeated calls -if (( HISTNO == _ilw_hist && cursor == _ilw_cursor && - UNDO_CHANGE_NO == _ilw_changeno )) && [[ $BUFFER == $_ilw_result ]] -then - NUMERIC=$[_ilw_count+1] - lcursor=$_ilw_lcursor -else - NUMERIC=1 - typeset -g _ilw_lcursor=$lcursor -fi -# Handle the up to three arguments of .insert-last-word -if (( $+1 )) -then - if (( $+3 )); then - ((NUMERIC = -($1))) - else - ((NUMERIC = _ilw_count - $1)) - fi - (( NUMERIC )) || LBUFFER[lcursor+1,cursor+1]='' - numeric=$((-(${2:--numeric}))) -fi -typeset -g _ilw_hist=$HISTNO -typeset -g _ilw_count=$NUMERIC - -if [[ -z "$numeric" ]] -then - zstyle -s :$WIDGET match pattern || pattern='*[[:alpha:]/\\]*' -fi - -# Note that we must use .up-history for navigation here because of -# possible "holes" in the $history hash (the result of dup expiry). -# We need $history because $BUFFER retains edits in progress as the -# user moves around the history, but we search the unedited lines. - -{ - zmodload -i zsh/parameter - zle .end-of-history # Start from final command - zle .up-history || return 1 # Retrieve previous command - local buffer=$history[$HISTNO] # Get unedited history line - lastcmd=( ${${(z)buffer}:#\;} ) # Split into shell words - if [[ -n "$pattern" ]] - then - # This is the "smart" part -- search right-to-left and - # latest-to-earliest through the history for a word. - integer n=0 found=$lastcmd[(I)$pattern] - if zstyle -t :$WIDGET auto-previous - then - while (( found == 0 && ++n )) - do - zle .up-history || return 1 - buffer=$history[$HISTNO] - lastcmd=( ${${(z)buffer}:#\;} ) - found=$lastcmd[(I)$pattern] - done - fi - # The following accounts for 1-based index - (( found-- > 0 && (numeric = $#lastcmd - found) )) - fi -} always { - HISTNO=$_ilw_hist # Return to current command - CURSOR=$cursor # Restore cursor position - NUMERIC=${numeric:-1} # In case of fall-through -} - -(( NUMERIC > $#lastcmd )) && return 1 - -LBUFFER[lcursor+1,cursor+1]=$lastcmd[-NUMERIC] -typeset -g _ilw_cursor=$CURSOR _ilw_result=$BUFFER - -# This is necessary to update UNDO_CHANGE_NO immediately -zle split-undo && typeset -g _ilw_changeno=$UNDO_CHANGE_NO diff --git a/result/sw/share/zsh/5.9/functions/split-shell-arguments b/result/sw/share/zsh/5.9/functions/split-shell-arguments deleted file mode 100644 index 11a92871..00000000 --- a/result/sw/share/zsh/5.9/functions/split-shell-arguments +++ /dev/null @@ -1,57 +0,0 @@ -# Split a command line into shell arguments and whitespace in $reply. -# Odd elements (starting from 1) are whitespace, even elements -# are shell arguments (possibly quoted strings). Whitespace at -# start and end is always included in the array but may be an empty string. -# $REPLY holds NO_KSH_ARRAYS index of current word in $reply. -# $REPLY2 holds NO_KSH_ARRAYS index of current character in current word. -# Hence ${reply[$REPLY][$REPLY2]} is the character under the cursor. -# -# reply, REPLY, REPLY2 should therefore be local to the enclosing function. - -emulate -L zsh -setopt extendedglob - -local -a bufwords lbufwords -local word -integer pos=1 cpos=$((CURSOR+1)) opos iword ichar - -bufwords=(${(Z+n+)BUFFER}) - -typeset -ga reply -reply=() -while [[ ${BUFFER[pos]} = [[:space:]] ]]; do - (( pos++ )) -done -reply+=${BUFFER[1,pos-1]} -(( cpos < pos )) && (( iword = 1, ichar = cpos )) - -for word in "${bufwords[@]}"; do - (( opos = pos )) - (( pos += ${#word} )) - reply+=("$word") - if (( iword == 0 && cpos < pos )); then - (( iword = ${#reply} )) - (( ichar = cpos - opos + 1 )) - fi - - (( opos = pos )) - while [[ ${BUFFER[pos]} = [[:space:]] ]]; do - (( pos++ )) - done - reply+=("${BUFFER[opos,pos-1]}") - if (( iword == 0 && cpos < pos )); then - (( iword = ${#reply} )) - (( ichar = cpos - opos + 1 )) - fi -done - -typeset -g REPLY REPLY2 -if (( iword == 0 )); then - # At the end of the line, so off the indexable positions - # (but still a valid cursor position). - (( REPLY = ${#reply} )) - (( REPLY2 = 1 )) -else - (( REPLY = iword )) - (( REPLY2 = ichar )) -fi diff --git a/result/sw/share/zsh/5.9/functions/sticky-note b/result/sw/share/zsh/5.9/functions/sticky-note deleted file mode 100755 index 30888d26..00000000 --- a/result/sw/share/zsh/5.9/functions/sticky-note +++ /dev/null @@ -1,138 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -fi -# A zsh sticky-note ("post-it") application. Load this file as a function: -# autoload -Uz sticky-note -# -# It may then be bound as a widget: -# zle -N sticky-note -# And/or run as a command: -# sticky-note -# sticky-note -b -# sticky-note -l ... -# The -b option is like "zed -b": it installs keymaps/bindings only. -# Use the -l option to list previous sticky notes. Most options of the -# "fc -l" command are supported, for selecting which notes to display. -# If "sticky-note -l" is run from inside a widget, the cursor is moved -# to the top left of the terminal before display and returned to its -# original position after display. The -l option is implicitly added -# when sticky-note is called from zle-line-init, to avoid inadvertently -# trapping the user inside the note editor. -# -# Otherwise, invoke the line editor with the previous notes available -# as an editor history. Two quick taps on the return/enter key finish -# the note, or you can use ^X^W as usual (ZZ in vicmd mode). - -# The application is configured by three zstyles, all using the context -# ":sticky-note". The first two styles are "notefile" and "maxnotes" -# to name the file in which notes are stored and the maximum number of -# notes to retain: -# zstyle :sticky-note notefile ~/.zsticky -# zstyle :sticky-note maxnotes 1000 - -# The "theme" style may be set to control the appearance of the notes. -# The style is an associative array; the current set of values (defaults -# in parens) are: -# bg => name or ANSI escape for background color (yellow) -# fg => name or ANSI escape for foreground color (black) -# color => ANSI escape for color scheme ($theme[bg]$theme[fg]) -# reset => ANSI escape to restore "normal" colors -# Values given as names are looked up in the $bg and $fg arrays from the -# "colors" function. If a "color" field is set, the "bg" and "fg" fields -# are not used. Example: -# zstyle :sticky-note theme \ -# bg red \ -# fg $fg_bold[yellow] - -# For backwards compatibility with an earlier version, the notefile may -# also be named by the STICKYFILE variable (defaults to $HOME/.zsticky). -# The number of notes stored may be given by STICKYSIZE (1000). - -# I encourage all you creative people to contribute enhancements ... - -emulate -LR zsh -setopt nobanghist extendedhistory histignoredups - -local STICKYFILE=${STICKYFILE:-$HOME/.zsticky} -local STICKYSIZE=${STICKYSIZE:-1000} -local sticky stickyfile stickysize - -zstyle -s :sticky-note notefile stickyfile || stickyfile=$STICKYFILE -zstyle -s :sticky-note maxnotes stickysize || stickysize=$STICKYSIZE - -# Set up keybindings (adapted from "zed") -if ! bindkey -M sticky >& /dev/null -then - bindkey -N sticky main - bindkey -M sticky ^X^W accept-line - bindkey -M sticky ^M^M accept-line # Two quick RETs ends note - bindkey -M sticky ^M self-insert-unmeta -fi -if ! bindkey -M sticky-vicmd >& /dev/null -then - bindkey -N sticky-vicmd vicmd - bindkey -M sticky-vicmd ZZ accept-line -fi - -[[ "$1" == -b ]] && return 0 - -# Look up color theme -local -A theme -(($+bg && $+fg)) || { autoload -Uz colors; colors } -zstyle -m :sticky-note theme '*' || { - zstyle :sticky-note theme bg yellow fg black -} -zstyle -a :sticky-note theme theme -(( ${+bg[$theme[bg]]} )) && theme[bg]=$bg[$theme[bg]] -(( ${+fg[$theme[fg]]} )) && theme[fg]=$fg[$theme[fg]] -(( ${+theme[color]} )) || theme[color]=$theme[bg]$theme[fg] -(( ${+theme[reset]} )) || theme[reset]=$reset_color - -# If invoked as a widget, behave a bit like run-help -if zle -then - zmodload -i zsh/parameter - if [[ $* == -*l* || $functrace == *zle-line-init:* ]] - then - fc -ap $stickyfile $stickysize $stickysize - echoti sc - echoti home - print -nr "$theme[color]" - fc -l "${@:--1}" | while read -r sticky; do print -- "$sticky"; done - print -nr "$theme[reset]" - echoti rc - elif [[ $CONTEXT = (cont|select|vared) ]] - then - zle -M "No stickies during ${${(z)PREBUFFER}[1]:-$CONTEXT}, sorry" - zle .beep - zle -R - else - zle .push-line - BUFFER=sticky-note - zle .accept-line - fi - return 0 -fi - -# Invoked as a command, behave like zed, but write a history file -fc -ap $stickyfile $stickysize $stickysize - -# With a -l option, list the existing sticky notes -if [[ "$*" == -*l* ]] -then - print -nr "$theme[color]" - # Use read/print loop to interpolate "\n" in history lines - fc -f "$@" | while read -r sticky; do print -- "$sticky"; done - print -nr "$theme[reset]" - return 0 -fi - -# Edit a new sticky note and add it to the stickyfile -while vared -h -p "%{$theme[color]%}" -M sticky -m sticky-vicmd sticky -do - { - [[ -n "$sticky" ]] && print -s -- "$sticky" - } always { - (( TRY_BLOCK_ERROR = 0 )) - } && break - echo -n -e '\a' -done -return 0 diff --git a/result/sw/share/zsh/5.9/functions/surround b/result/sw/share/zsh/5.9/functions/surround deleted file mode 100644 index b51b77c0..00000000 --- a/result/sw/share/zsh/5.9/functions/surround +++ /dev/null @@ -1,80 +0,0 @@ -# Implementation of some functionality of the popular vim surround plugin. -# Allows "surroundings" to be changes: parentheses, brackets and quotes. - -# To use -# autoload -Uz surround -# zle -N delete-surround surround -# zle -N add-surround surround -# zle -N change-surround surround -# bindkey -a cs change-surround -# bindkey -a ds delete-surround -# bindkey -a ys add-surround -# bindkey -M visual S add-surround -# -# This doesn't allow yss to operate on a line but VS will work - -setopt localoptions noksharrays -autoload -Uz select-quoted select-bracketed -local before after -local -A matching -matching=( \( \) \{ \} \< \> \[ \] ) - -zle -f vichange -case $WIDGET in - change-*) - local MARK="$MARK" CURSOR="$CURSOR" call - read -k 1 before - if [[ ${(kvj::)matching} = *$before* ]]; then - call=select-bracketed - else - call=select-quoted - fi - read -k 1 after - $call "a$before" || return 1 - before="$after" - if [[ -n $matching[$before] ]]; then - after=" $matching[$before]" - before+=' ' - elif [[ -n $matching[(r)[$before:q]] ]]; then - before="${(k)matching[(r)[$before:q]]}" - fi - BUFFER[CURSOR]="$after" - BUFFER[MARK+1]="$before" - CURSOR=MARK - ;; - delete-*) - local MARK="$MARK" CURSOR="$CURSOR" call - read -k 1 before - if [[ ${(kvj::)matching} = *$before* ]]; then - call=select-bracketed - else - call=select-quoted - fi - if $call "a$before"; then - BUFFER[CURSOR]='' - BUFFER[MARK+1]='' - CURSOR=MARK - fi - ;; - add-*) - local save_cut="$CUTBUFFER" - zle .vi-change || return - local save_cur="$CURSOR" - zle .vi-cmd-mode - read -k 1 before - after="$before" - if [[ -n $matching[$before] ]]; then - after=" $matching[$before]" - before+=' ' - elif [[ -n $matching[(r)[$before:q]] ]]; then - before="${(k)matching[(r)[$before:q]]}" - fi - CUTBUFFER="$before$CUTBUFFER$after" - if [[ CURSOR -eq 0 || $BUFFER[CURSOR] = $'\n' ]]; then - zle .vi-put-before -n 1 - else - zle .vi-put-after -n 1 - fi - CUTBUFFER="$save_cut" CURSOR="$save_cur" - ;; -esac diff --git a/result/sw/share/zsh/5.9/functions/tcp_alias b/result/sw/share/zsh/5.9/functions/tcp_alias deleted file mode 100644 index 59fe6781..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_alias +++ /dev/null @@ -1,156 +0,0 @@ -# Create an alias for a TCP session. -# -# The syntax is similar to the `alias' builtin. Aliases with a trailing -# `=' are assigned, while those without are listed. -# -# The alias can be used to refer to the session, however any output -# from the session will be shown using information for the base -# session name. Likewise, any other reference to the session's file -# descriptor will cause the original session name rather than the alias to -# be used. -# -# It is an error to attempt to create an alias for a non-existent session. -# The alias will be removed when the session is closed. -# -# An alias can be reused without the session having to be closed. -# However, a base session name cannot be used as an alias. If this -# becomes necessary, the base session should be renamed with tcp_rename -# first. -# -# With no arguments, list aliases. -# -# With the option -d, delete the alias. No value is allowed in this case. -# -# With the option -q (quiet), just return status 1 on failure. This -# does not apply to bad syntax, which is always reported. Bad syntax -# includes deleting aliases when supplying a value. - -emulate -L zsh -setopt extendedglob cbases - -local opt quiet base value alias delete arg match mbegin mend fd array -integer stat index - -while getopts "qd" opt; do - case $opt in - (q) quiet=1 - ;; - (d) delete=1 - ;; - (*) return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if (( ! $# )); then - if (( ${#tcp_aliases} )); then - for fd value in ${(kv)tcp_aliases}; do - for alias in ${=value}; do - print -r - \ - "${alias}: alias for session ${tcp_by_fd[$fd]:-unnamed fd $fd}" - done - done - fi - return 0 -fi - -for arg in $*; do - if [[ $arg = (#b)([^=]##)=(*) ]]; then - if [[ -n $delete ]]; then - print "$0: value given with deletion command." >&2 - stat=1 - continue - fi - alias=$match[1] - base=$match[2] - if [[ -z $base ]]; then - # hmm, this is very nearly a syntax error... - [[ -z $quiet ]] && print "$0: empty value for alias $alias" >&2 - stat=1 - continue - fi - if [[ ${+tcp_by_name} -eq 0 || -z ${tcp_by_name[$base]} ]]; then - [[ -z $quiet ]] && print "$0: no base session \`$base' for alias" - stat=1 - continue - fi - if [[ -n ${tcp_by_name[$alias]} ]]; then - # already exists, OK if this is an alias... - fd=${tcp_by_name[$alias]} - array=(${=tcp_aliases[$fd]}) - if [[ -n ${array[(r)$alias]} ]]; then - # yes, we're OK; delete the old alias. - unset "tcp_by_name[$alias]" - index=${array[(i)$alias]} - array=(${array[1,index-1]} ${array[index+1,-1]}) - if [[ -z "$array" ]]; then - unset "tcp_aliases[$fd]" - else - tcp_aliases[$fd]="$array" - fi - else - # oops - if [[ -z $quiet ]]; then - print "$0: \`$alias' is already a session name." >&2 - fi - stat=1 - continue - fi - fi - (( ! ${+tcp_aliases} )) && typeset -gA tcp_aliases - fd=${tcp_by_name[$base]} - if [[ -n ${tcp_aliases[$fd]} ]]; then - tcp_aliases[$fd]+=" $alias" - else - tcp_aliases[$fd]=$alias - fi - tcp_by_name[$alias]=$fd - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_alias]} )); then - tcp_on_alias $alias $fd - fi - fi - else - alias=$arg - fd=${tcp_by_name[$alias]} - if [[ -z $fd ]]; then - print "$0: no such alias \`$alias'" >&2 - stat=1 - continue - fi - # OK if this is an alias... - array=(${=tcp_aliases[$fd]}) - if [[ -n ${array[(r)$alias]} ]]; then - # yes, we're OK - if [[ -n $delete ]]; then - unset "tcp_by_name[$alias]" - index=${array[(i)$alias]} - array=(${array[1,index-1]} ${array[index+1,-1]}) - if [[ -z "$array" ]]; then - unset "tcp_aliases[$fd]" - else - tcp_aliases[$fd]="$array" - fi - - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_unalias]} )); then - tcp_on_unalias $alias $fd - fi - fi - else - print -r - \ - "${alias}: alias for session ${tcp_by_fd[$fd]:-unnamed fd $fd}" - fi - else - # oops - if [[ -z $quiet ]]; then - print "$0: \`$alias' is a session name." >&2 - fi - stat=1 - continue - fi - fi -done - -return $stat diff --git a/result/sw/share/zsh/5.9/functions/tcp_close b/result/sw/share/zsh/5.9/functions/tcp_close deleted file mode 100644 index 9c876786..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_close +++ /dev/null @@ -1,134 +0,0 @@ -# Usage: -# tcp_close [-q] [ -a | session ... ] -# -a means all sessions. -# -n means don't close a fake session's fd. -# -q means quiet. -# -# Accepts the -s and -l arguments for consistency with other functions, -# but there is no particular gain in using them -emulate -L zsh -setopt extendedglob cbases - -local all quiet opt alias noclose -local -a sessnames - -while getopts "aql:ns:" opt; do - case $opt in - (a) all=1 - ;; - (q) quiet=1 - ;; - (l) sessnames+=(${(s.,.)OPTARG}) - ;; - (n) noclose=1 - ;; - (s) sessnames+=($OPTARG) - ;; - (*) return 1 - ;; - esac -done - -(( OPTIND > 1 )) && shift $(( OPTIND - 1)) - -if [[ -n $all ]]; then - if (( $# )); then - print "Usage: $0 [ -q ] [ -a | [ session ... ] ]" >&2 - return 1 - fi - sessnames=(${(k)tcp_by_name}) - if (( ! ${#sessnames} )); then - [[ -z $quiet ]] && print "No TCP sessions open." >&2 - return 1 - fi -fi - -sessnames+=($*) - -if (( ! ${#sessnames} )); then - sessnames+=($TCP_SESS) -fi - -if (( ! ${#sessnames} )); then - [[ -z $quiet ]] && print "No current TCP session." >&2 - return 1 -fi - -local tcp_sess fd -integer stat curstat - -# Check to see if the fd is opened for a TCP session, or was opened -# to a pre-existing fd. We could remember this from tcp_open. -local -A ztcp_fds -local line match mbegin mend - -if zmodload -e zsh/net/tcp; then - ztcp | while read line; do - if [[ $line = (#b)*fd\ ([0-9]##) ]]; then - ztcp_fds[$match[1]]=1 - fi - done -fi - -for tcp_sess in $sessnames; do - curstat=0 - fd=${tcp_by_name[$tcp_sess]} - if [[ -z $fd ]]; then - print "No TCP session $tcp_sess!" >&2 - stat=1 - continue - fi - # We need the base name if this is an alias. - tcp_sess=${tcp_by_fd[$fd]} - if [[ -z $tcp_sess ]]; then - if [[ -z $quiet ]]; then - print "Aaargh! Session for fd $fd has disappeared!" >&2 - fi - stat=1 - continue - fi - - if [[ ${+tcp_aliases} -ne 0 && -n ${tcp_aliases[$fd]} ]]; then - for alias in ${=tcp_aliases[$fd]}; do - if (( ${+functions[tcp_on_unalias]} )); then - tcp_on_unalias $alias $fd - fi - unset "tcp_by_name[$alias]" - done - unset "tcp_aliases[$fd]" - fi - - # Don't return just because the zle handler couldn't be uninstalled... - if [[ -o zle ]]; then - zle -F $fd || print "[Ignoring...]" >&2 - fi - - if [[ -n $ztcp_fds[$fd] ]]; then - # It's a ztcp session. - if ! ztcp -c $fd; then - stat=1 - curstat=1 - fi - elif [[ -z $noclose ]]; then - # It's not, just close it normally. - # Careful: syntax for closing fd's is quite strict. - if [[ ${#fd} -gt 1 ]]; then - [[ -z $quiet ]] && print "Can't close fd $fd; will leave open." >&2 - else - eval "exec $fd>&-" - fi - fi - - unset "tcp_by_name[$tcp_sess]" - unset "tcp_by_fd[$fd]" - if [[ -z $quiet && $curstat -eq 0 ]]; then - print "Session $tcp_sess successfully closed." - fi - [[ $tcp_sess = $TCP_SESS ]] && unset TCP_SESS - - if (( ${+functions[tcp_on_close]} )); then - tcp_on_close $tcp_sess $fd - fi -done - -return $stat diff --git a/result/sw/share/zsh/5.9/functions/tcp_command b/result/sw/share/zsh/5.9/functions/tcp_command deleted file mode 100644 index 8a4f0250..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_command +++ /dev/null @@ -1,3 +0,0 @@ -tcp_send $* || return 1 -tcp_read -d -t ${TCP_TIMEOUT:=0.3} -return 0 diff --git a/result/sw/share/zsh/5.9/functions/tcp_expect b/result/sw/share/zsh/5.9/functions/tcp_expect deleted file mode 100644 index eef39ad0..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_expect +++ /dev/null @@ -1,141 +0,0 @@ -# Expect one of a series of regular expressions from $TCP_SESS. -# Can make backreferences to be handled by $match. Returns 0 for -# successful match, 1 for error, 2 for timeout. -# -# This function has no facility for conditionally calling code based -# the regular expression found. This should be done in the calling code -# by testing $TCP_LINE, which contains the line which matched the -# regular expression. The complete set of lines read while waiting for -# this line is available in the array $tcp_expect_lines (including $TCP_LINE -# itself which will be the final element). Alternatively, use -p pind -# which sets $pind to the index of the pattern which matched. It -# will be set to 0 otherwise. -# -# Many of the options are passed straight down to tcp_read. -# -# Options: -# -a Run tcp_expect across all sessions; the first pattern matched -# from any session is used. The TCP output prompt can be -# used to decide which session matched. -# -l list -# Comma-separated list of sessions as for tcp_read. -# -p pv If the Nth of a series of patterns matches, set the parameter -# whose name is given by $pv to N; in the case of a timeout, -# set it to -1; otherwise (unless the function exited prematurely), -# set it to 0. -# To avoid namespace clashes, the parameter's name must -# not begin with `_expect'. -# -P pv This is similar to -p, however in this case the -# arguments to tcp_expect following the options are expected -# to start with a prefix "<tag>:". The parameter $pv is -# then set to the value "<tag>" rather than the numeric -# index of the parameter. The string "timeout" is used -# as the tag for a timeout specified by -t and -T and -# on a failed match the variable is set to the empty string. -# It is not an error for multiple arguments to have -# the same tag or to use a reserved value of the tag. -# -q Quiet, passed down to tcp_read. Bad option and argument -# usage is always reported. -# -s sess -# Expect from session sess. May be repeated for multiple sessions. -# -t to Timeout in seconds (may be floating point) per read operation. -# tcp_expect will only time out if every read operation takes longer -# than to -# -T TO Overall timeout; tcp_expect will time out if the overall operation -# takes longer than this many seconds. -emulate -L zsh -setopt extendedglob - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from another function, use that - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -# Variables are all named _expect_* to avoid problems with the -p param. -local _expect_opt _expect_pvar _expect_state _expect_arg _expect_ind -local -a _expect_read_args -float _expect_to1 _expect_to_all _expect_to _expect_new_to -integer _expect_i _expect_stat _expect_states - -while getopts "al:p:P:qs:t:T:" _expect_opt; do - case $_expect_opt in - (a) _expect_read_args+=(-a) - ;; - (l) _expect_read_args+=(-l $OPTARG) - ;; - ([pP]) _expect_pvar=$OPTARG - if [[ $_expect_pvar != [a-zA-Z_][a-zA-Z_0-9]# ]]; then - print "invalid parameter name: $_expect_pvar" >&2 - return 1 - fi - if [[ $_expect_pvar = _expect* ]]; then - print "$0: parameter names staring \`_expect' are reserved." - return 1 - fi - if [[ $_expect_opt = "P" ]]; then - eval "$_expect_pvar=0" - _expect_states=1 - else - eval "$_expect_pvar=" - fi - ;; - (q) _expect_read_args+=(-q) - ;; - (s) _expect_read_args+=(-s $OPTARG) - ;; - (t) _expect_to1=$OPTARG - ;; - (T) _expect_to_all=$(( SECONDS + $OPTARG )) - ;; - (\?) return 1 - ;; - (*) print Unhandled option $_expect_opt, complain >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -typeset -ga tcp_expect_lines -tcp_expect_lines=() -while true; do - if (( _expect_to_all || _expect_to1 )); then - _expect_to=0 - (( _expect_to1 )) && (( _expect_to = _expect_to1 )) - if (( _expect_to_all )); then - # overall timeout, see if it has already triggered - if (( (_expect_new_to = (_expect_to_all - SECONDS)) <= 0 )); then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=-1" - return 2 - fi - if (( _expect_to <= 0 || _expect_new_to < _expect_to )); then - _expect_to=$_expect_new_to - fi - fi - tcp_read $_expect_read_args -t $_expect_to - _expect_stat=$? - else - tcp_read $_expect_read_args -b - _expect_stat=$? - fi - if (( _expect_stat )); then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=-1" - return $_expect_stat - fi - tcp_expect_lines+=($TCP_LINE) - for (( _expect_i = 1; _expect_i <= $#; _expect_i++ )); do - if [[ _expect_states -ne 0 && $argv[_expect_i] = (#b)([^:]#):(*) ]]; then - _expect_ind=$match[1] - _expect_arg=$match[2] - else - _expect_ind=$_expect_i - _expect_arg=$argv[_expect_i] - fi - if [[ "$TCP_LINE" = ${~_expect_arg} ]]; then - [[ -n $_expect_pvar ]] && eval "$_expect_pvar=\$_expect_ind" - return 0 - fi - done -done diff --git a/result/sw/share/zsh/5.9/functions/tcp_fd_handler b/result/sw/share/zsh/5.9/functions/tcp_fd_handler deleted file mode 100644 index 9f2e8cd0..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_fd_handler +++ /dev/null @@ -1,40 +0,0 @@ -local line fd=$1 sess=${tcp_by_fd[$1]} -local TCP_HANDLER_ACTIVE=1 -if [[ -n $sess ]] -then - local TCP_INVALIDATE_ZLE - if (( $# > 2 )); then - zle -I - ## debugging only - # print "Flags on the play:" ${argv[3,-1]} - else - TCP_INVALIDATE_ZLE=1 - fi - if ! tcp_read -d -u $fd; then - if (( ${+functions[tcp_on_awol]} )); then - tcp_on_awol $sess $fd - (( $? == 100 )) || return $? - fi - [[ -n $TCP_INVALIDATE_ZLE ]] && zle -I - print "[TCP fd $fd (session $sess) gone awol; removing from poll list]" >& 2 - zle -F $fd - return 1 - fi - return 0 -else - zle -I - # Handle fds not in the TCP set similarly. - # This does the drain thing, to try and get as much data out as possible. - if ! read -u $fd line; then - print "[Reading on $fd failed; removing from poll list]" >& 2 - zle -F $fd - return 1 - fi - line="fd$fd:$line" - local newline - while read -u $fd -t newline; do - line="${line} -fd$fd:$newline" - done -fi -print -r - $line diff --git a/result/sw/share/zsh/5.9/functions/tcp_log b/result/sw/share/zsh/5.9/functions/tcp_log deleted file mode 100644 index 04f3735f..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_log +++ /dev/null @@ -1,94 +0,0 @@ -# Log TCP output. -# -# Argument: Output filename. -# -# Options: -# -a Append. Otherwise the existing file is truncated without warning. -# (N.B.: even if logging was already active to it!) -# -s Per-session logs. Output to <filename>1, <filename>2, etc. -# -c Close logging. -# -n/-N Turn off or on normal output; output only goes to the logfile, if -# any. Otherwise, output also appears interactively. This -# can be given with -c (or any other option), then no output -# goes anywhere. However, input is still handled by the usual -# mechanisms --- $tcp_lines and $TCP_LINE are still set, hence -# tcp_expect still works. Equivalent to (un)setting TCP_SILENT. -# -# With no options and no arguments, print the current configuration. -# -# Per-session logs are raw output, otherwise $TCP_PROMPT is prepended -# to each line. - -emulate -L zsh -setopt cbases extendedglob - -local opt append sess close -integer activity -while getopts "ascnN" opt; do - (( activity++ )) - case $opt in - # append to existing file - a) append=1 - ;; - # per-session - s) sess=1 - ;; - # close - c) close=1 - ;; - # turn off interactive output - n) TCP_SILENT=1 - ;; - # turn on interactive output - N) unset TCP_SILENT - ;; - # incorrect option - \?) return 1 - ;; - # correct option I forgot about - *) print "$0: option -$opt not handled, oops." >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1)) - -if [[ -n $close ]]; then - if (( $# )); then - print "$0: too many arguments for -c" >&2 - return 1 - fi - unset TCP_LOG TCP_LOG_SESS - return 0 -fi - -if (( $# == 0 && ! activity )); then - print "\ -Per-session log: ${TCP_LOG_SESS:-<none>} -Overall log: ${TCP_LOG:-<none>} -Silent? ${${TCP_SILENT:+yes}:-no}" - return 0 -fi - -if (( $# != 1 )); then - print "$0: wrong number of arguments" >&2 - return 1 -fi - -if [[ -n $sess ]]; then - typeset -g TCP_LOG_SESS=$1 - if [[ -z $append ]]; then - local sesslogs - integer i - sesslogs=(${TCP_LOG_SESS}*(N)) - # yes, i know i can do this with multios - for (( i = 1; i <= $#sesslogs; i++ )); do - : >$sesslogs[$i] - done - fi -else - typeset -g TCP_LOG=$1 - [[ -z $append ]] && : >$TCP_LOG -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/tcp_open b/result/sw/share/zsh/5.9/functions/tcp_open deleted file mode 100644 index a04403c7..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_open +++ /dev/null @@ -1,224 +0,0 @@ -# Open a TCP session, add it to the list, handle it with zle if that's running. -# Unless using -a, -f, -l or -s, first two arguments are host and port. -# -# Remaining argument, if any, is the name of the session, which mustn't -# clash with an existing one. If none is given, the number of the -# connection is used (i.e. first connection is 1, etc.), or the first -# available integer if that is already in use. -# -# Session names, whether provided on the command line or in the -# .ztcp_sessions file should not be `clever'. A clever name is one -# with characters that won't work. This includes whitespace and an -# inconsistent set of punctuation characters. If in doubt, stick -# to alphanumeric, underscore and non-initial hyphen. -# -# -a fd Accept a connection on fd and make that the session. -# This will block until a successful incoming connection is received. -# -# fd is probably a value returned by ztcp -l; no front-end -# is currently provided for that but it should simply be -# a matter of calling `ztcp -l port' and storing $REPLY, then -# closing the listened port with `ztcp -c $stored_fd'. -# -# -f fd `Fake' tcp connection on the given file descriptor. This -# could be, for example, a file descriptor already opened to -# a named pipe. It should not be a regular file, however. -# Note that it is not a good idea for two different sessions -# to be attempting to read from the same named pipe, so if -# both ends of the pipe are to be handled by zsh, at least -# one should use the `-z' option. -# -# -l sesslist -# -s sessname -# Open by session name or comma separated list; either may -# be repeated as many times as necessary. The session must be -# listed in the file ${ZDOTDIR:-$HOME}/.ztcp_sessions. Lines in -# this file look exactly like a tcp_open command line except the -# session name is at the start, for example -# sess1 pwspc 2811 -# has the effect of -# tcp_open pwspc 2811 sess1 -# Remaining arguments (other than options) to tcp_open are -# not allowed. Options in .ztcp_sessions are not handled. -# The file must be edited by hand. -# -# -z Don't install a zle handler for reading on the file descriptor. -# Otherwise, if zle is enabled, the file descriptor will -# be tested while at the shell prompt and any input automatically -# printed in the same way as job control notification. -# -# If a session is successfully opened, and if the function `tcp_on_open' -# exists, it is run with the arguments session_name, session_fd. - -emulate -L zsh -setopt extendedglob cbases - -# Global set up for TCP function suite. - -zmodload -i zsh/net/tcp || return 1 -zmodload -i zsh/zutil -autoload -Uz tcp_alias tcp_close tcp_command tcp_expect tcp_fd_handler -autoload -Uz tcp_log tcp_output tcp_proxy tcp_read tcp_rename tcp_send -autoload -Uz tcp_sess tcp_spam tcp_talk tcp_wait tcp_point tcp_shoot - -# TCP_SECONDS_START is only set if we override TCP_SECONDS locally, -# so provide a global value for convenience. Should probably always be 0. -(( ${+TCP_SECONDS_START} )) || typeset -gF TCP_SECONDS_START - -# Processing for new connection. - -local opt accept fake nozle sessfile sess quiet -local -a sessnames sessargs -integer stat - -while getopts "a:f:l:qs:z" opt; do - case $opt in - (a) accept=$OPTARG - if [[ $accept != [[:digit:]]## ]]; then - print "option -a takes a file descriptor" >&2 - return 1 - fi - ;; - (f) fake=$OPTARG - if [[ $fake != [[:digit:]]## ]]; then - print "option -f takes a file descriptor" >&2 - return 1 - fi - ;; - (l) sessnames+=(${(s.,.)OPTARG}) - ;; - (q) quiet=1 - ;; - (s) sessnames+=($OPTARG) - ;; - (z) nozle=1 - ;; - (*) return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -(( ${+tcp_by_fd} )) || typeset -gA tcp_by_fd -(( ${+tcp_by_name} )) || typeset -gA tcp_by_name -typeset -A sessassoc - -if (( ${#sessnames} )); then - if [[ $# -ne 0 || -n $accept || -n $fake ]]; then - print "Incompatible arguments with \`-s' option." >&2 - return 1 - fi - for sess in ${sessnames}; do - sessassoc[$sess]= - done - - sessfile=${ZDOTDIR:-$HOME}/.ztcp_sessions - if [[ ! -r $sessfile ]]; then - print "No session file: $sessfile" >&2 - return 1 - fi - while read -A sessargs; do - [[ ${sessargs[1]} = '#'* ]] && continue - if (( ${+sessassoc[${sessargs[1]}]} )); then - sessassoc[${sessargs[1]}]="${sessargs[2,-1]}" - fi - done < $sessfile - for sess in ${sessnames}; do - if [[ -z $sessassoc[$sess] ]]; then - print "Couldn't find session $sess in $sessfile." >&2 - return 1 - fi - done -else - if [[ -z $accept && -z $fake ]]; then - if (( $# < 2 )); then - set -- wrong number of arguments - else - host=$1 port=$2 - shift $(( $# > 1 ? 2 : 1 )) - fi - fi - if [[ -n $1 ]]; then - sessnames=($1) - shift - else - sessnames=($(( ${#tcp_by_fd} + 1 ))) - while [[ -n $tcp_by_name[$sessnames[1]] ]]; do - (( sessnames[1]++ )) - done - fi - sessassoc[$sessnames[1]]="$host $port" -fi - -if (( $# )); then - print "Usage: $0 [-z] [-a fd | -f fd | host port [ session ] ] - $0 [-z] [ -s session | -l sesslist ] ..." >&2 - return 1 -fi - -local REPLY fd -for sess in $sessnames; do - if [[ -n $tcp_by_name[$sess] ]]; then - print "Session \`$sess' already exists." >&2 - return 1 - fi - - sessargs=() - if [[ -n $fake ]]; then - fd=$fake; - else - if [[ -n $accept ]]; then - ztcp -a $accept || return 1 - else - sessargs=(${=sessassoc[$sess]}) - ztcp $sessargs || return 1 - fi - fd=$REPLY - fi - - tcp_by_fd[$fd]=$sess - tcp_by_name[$sess]=$fd - - [[ -o zle && -z $nozle ]] && zle -F $fd tcp_fd_handler - - # needed for new completion system, so I'm not too sanguine - # about requiring this here... - if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_open]} )); then - if ! tcp_on_open $sess $fd; then - if [[ -z $quiet ]]; then - if (( ${#sessargs} )); then - print "Session $sess" \ -"(host $sessargs[1], port $sessargs[2] fd $fd): tcp_on_open FAILED." - else - print "Session $sess (fd $fd) tcp_on_open FAILED." - fi - tcp_close -- $sess - else - tcp_close -q -- $sess - fi - stat=1 - continue - fi - fi - fi - - if [[ -z $quiet ]]; then - if (( ${#sessargs} )); then - print "Session $sess" \ -"(host $sessargs[1], port $sessargs[2] fd $fd) opened OK." - else - print "Session $sess (fd $fd) opened OK." - fi - fi -done - -if [[ -z $TCP_SESS || -z $tcp_by_name[$TCP_SESS] ]]; then - # careful in case we closed it again... - if [[ -n $tcp_by_name[$sessnames[1]] ]]; then - [[ -z $quiet ]] && print "Setting default TCP session $sessnames[1]" - typeset -g TCP_SESS=$sessnames[1] - fi -fi - -return $stat diff --git a/result/sw/share/zsh/5.9/functions/tcp_output b/result/sw/share/zsh/5.9/functions/tcp_output deleted file mode 100644 index 22e818e1..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_output +++ /dev/null @@ -1,73 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local opt tprompt sess read_fd tpat quiet cursess - -while getopts "F:P:qS:" opt; do - case $opt in - (F) read_fd=$OPTARG - ;; - (P) tprompt=$OPTARG - ;; - (q) quiet=1 - ;; - (S) sess=$OPTARG - ;; - (*) [[ $opt != \? ]] && print -r "Can't handle option $opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -# Per-session logs don't have the session discriminator in front. -if [[ -n $TCP_LOG_SESS ]]; then - print -r -- "$*" >>${TCP_LOG_SESS}.$sess -fi -# Always add the TCP prompt. We used only to do this with -# multiple sessions, but it seems always to be useful to know -# where data is coming from; also, it allows more predictable -# behaviour in tcp_expect. -if [[ -n $tprompt ]]; then - if [[ $sess = $TCP_SESS ]]; then - cursess="c:1" - else - cursess="c:0" - fi - zformat -f REPLY $tprompt "s:$sess" "f:$read_fd" $cursess - if [[ $REPLY = %P* ]]; then - REPLY=${(%)${REPLY##%P}} - fi - # We will pass this back up. - REPLY="$REPLY$*" -else - REPLY="$*" -fi -if [[ -n $TCP_LOG ]]; then - print -r -- $REPLY >>${TCP_LOG} -fi - -if [[ -z $quiet ]]; then - local skip= - if [[ ${#tcp_filter} -ne 0 ]]; then - # Allow tcp_filter to be an associative array, though - # it doesn't *need* to be. - for tpat in ${(v)tcp_filter}; do - [[ $REPLY = ${~tpat} ]] && skip=1 && break - done - fi - if [[ -z $skip ]]; then - # Check flag passed down probably from tcp_fd_handler: - # if we have output, we are in zle and need to fix the display first. - # (The shell is supposed to be smart enough that you can replace - # all the following with - # [[ -o zle ]] && zle -I - # but I haven't dared try it yet.) - if [[ -n $TCP_INVALIDATE_ZLE ]]; then - zle -I - # Only do this the first time. - unset TCP_INVALIDATE_ZLE - fi - print -r -- $REPLY - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/tcp_point b/result/sw/share/zsh/5.9/functions/tcp_point deleted file mode 100644 index 6a8f75d3..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_point +++ /dev/null @@ -1,29 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - - -if [[ $# -ne 1 ]]; then - print "Usage: $0 port -Listen on the given port; send anything that arrives to standard output." >&2 - return 1 -fi - -local REPLY lfd afd -if ! ztcp -l $1; then - print "Failed to listen on port $1" >&2 - return 1 -fi - -lfd=$REPLY - -if ! ztcp -a $lfd; then - print "Failed to accept on fd $lfd" >&2 - ztcp -c $lfd -fi - -afd=$REPLY - -cat <&$afd - -ztcp -c $lfd -ztcp -c $afd diff --git a/result/sw/share/zsh/5.9/functions/tcp_proxy b/result/sw/share/zsh/5.9/functions/tcp_proxy deleted file mode 100644 index 3f19bd3d..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_proxy +++ /dev/null @@ -1,31 +0,0 @@ -# Listen on the given port and for every connection, start a new -# command (defaults to $SHELL) in the background on the accepted fd. -# WARNING: this can leave your host open to the universe. For use -# in a restricted fashion on a secure network. -# -# Remote logins are much more efficient... - -local TCP_LISTEN_FD -trap '[[ -n $TCP_LISTEN_FD ]] && ztcp -c $TCP_LISTEN_FD; return 1' \ - HUP INT TERM EXIT PIPE - -if [[ $1 != <-> ]]; then - print "Usage: $0 port [cmd args... ]" >&2 - return 1 -fi - -integer port=$1 -shift -ztcp -l $port || return 1 -TCP_LISTEN_FD=$REPLY - -(( $# )) || set -- ${SHELL:-zsh} -local cmd=$1 -shift - -while ztcp -a $TCP_LISTEN_FD; do - # hack to expand aliases without screwing up arguments - eval $cmd '$* <&$REPLY >&$REPLY 2>&$REPLY &' - # Close the session fd; we don't need it here any more. - ztcp -c $REPLY -done diff --git a/result/sw/share/zsh/5.9/functions/tcp_read b/result/sw/share/zsh/5.9/functions/tcp_read deleted file mode 100644 index ba9185ed..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_read +++ /dev/null @@ -1,229 +0,0 @@ -# Helper function for reading input from a TCP connection. -# Actually, the input doesn't need to be a TCP connection at all, it -# is simply an input file descriptor. However, it must be contained -# in ${tcp_by_fd[$TCP_SESS]}. This is set by tcp_open, but may be -# set by hand. (Note, however, the blocking/timeout behaviour is usually -# not implemented for reading from regular files.) -# -# The default behaviour is simply to read any single available line from -# the input fd and print it. If a line is read, it is stored in the -# parameter $TCP_LINE; this always contains the last line successfully -# read. Any chunk of lines read in are stored in the array $tcp_lines; -# this always contains a complete list of all lines read in by a single -# execution of this function and hence may be empty. The fd corresponding -# to $TCP_LINE is stored in $TCP_LINE_FD (this can be turned into a -# session by looking up in $tcp_by_fd). -# -# Printed lines are preceded by $TCP_PROMPT. This may contain two -# percent escapes: %s for the current session, %f for the current file -# descriptor. The default is `T[%s]:'. The prompt is not printed -# to per-session logs where the source is unambiguous. -# -# The function returns 0 if a read succeeded, even if (using -d) a -# subsequent read failed. -# -# The behaviour is modified by the following options. -# -# -a Read from all fds, not just the one given by TCP_SESS. -# -# -b The first read blocks until some data is available for reading. -# -# -d Drain all pending input; loop until no data is available. -# -# -l sess1,sess2,... -# Gives a list of sessions to read on. Equivalent to -# -u ${tcp_by_name[sess1]} -u ${tcp_by_name[sess2]} ... -# Multiple -l options also work. -# -# -q Quiet; if $TCP_SESS is not set, just return 1, but don't print -# an error message. -# -# -s sess -# Gives a single session; the option may be repeated. -# -# -t TO On each read (the only read unless -d was also given), time out -# if nothing was available after TO seconds (may be floating point). -# Otherwise, the function will return immediately when no data is -# available. -# -# If combined with -b, the function will always wait for the -# first data to become available; hence this is not useful unless -# -d is specified along with -b, in which case the timeout applies -# to data after the first line. -# -u fd Read from fd instead of the default session; may be repeated for -# multiple sessions. Can be a comma-separated list, too. -# -T TO This sets an overall timeout, again in seconds. - -emulate -L zsh -setopt extendedglob cbases -# set -x - -zmodload -i zsh/mathfunc - -local opt drain line quiet block read_fd all sess key val noprint -local -A read_fds -read_fds=() -float timeout timeout_all endtime -integer stat - -while getopts "abdl:qs:t:T:u:" opt; do - case $opt in - # Read all sessions. - (a) all=1 - ;; - # Block until we receive something. - (b) block=1 - ;; - # Drain all pending input. - (d) drain=1 - ;; - (l) for sess in ${(s.,.)OPTARG}; do - read_fd=${tcp_by_name[$sess]} - if [[ -z $read_fd ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - read_fds[$read_fd]=1 - done - ;; - - # Don't print an error message if there is no TCP connection, - # just return 1. - (q) quiet=1 - ;; - # Add a single session to the list - (s) read_fd=${tcp_by_name[$OPTARG]} - if [[ -z $read_fd ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - read_fds[$read_fd]=1 - ;; - # Per-read timeout: wait this many seconds before - # each read. - (t) timeout=$OPTARG - [[ -n $TCP_READ_DEBUG ]] && print "Timeout per-operations is $timeout" >&2 - ;; - # Overall timeout: return after this many seconds. - (T) timeout_all=$OPTARG - ;; - # Read from given fd(s). - (u) for read_fd in ${(s.,.)OPTARG}; do - if [[ $read_fd != (0x[[:xdigit:]]##|[[:digit:]]##) ]]; then - print "Bad fd in $OPTARG" >&2 - return 1 - fi - read_fds[$((read_fd))]=1 - done - ;; - (*) [[ $opt != \? ]] && print "Unhandled option, complain: $opt" >&2 - return 1 - ;; - esac -done - -if [[ -n $all ]]; then - read_fds=(${(kv)tcp_by_fd}) -elif (( ! $#read_fds )); then - if [[ -z $TCP_SESS ]]; then - [[ -z $quiet ]] && print "No tcp connection open." >&2 - return 1 - elif [[ -z $tcp_by_name[$TCP_SESS] ]]; then - print "TCP session $TCP_SESS has gorn!" >&2 - return 1 - fi - read_fds[$tcp_by_name[$TCP_SESS]]=1 -fi - -typeset -ga tcp_lines -tcp_lines=() - -local helper_stat=2 skip tpat reply REPLY -float newtimeout - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from another function, don't override - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -if (( timeout_all )); then - (( endtime = SECONDS + timeout_all )) -fi - -zmodload -i zsh/zselect - -if [[ -n $block ]]; then - if (( timeout_all )); then - # zselect -t uses 100ths of a second - zselect -t $(( int(100*timeout_all + 0.5) )) ${(k)read_fds} || - return $helper_stat - else - zselect ${(k)read_fds} || return $helper_stat - fi -fi - -while (( ${#read_fds} )); do - if [[ -n $block ]]; then - # We already have data waiting this time through. - unset block - else - if (( timeout_all )); then - (( (newtimeout = endtime - SECONDS) <= 0 )) && return 2 - if (( ! timeout || newtimeout < timeout )); then - (( timeout = newtimeout )) - fi - fi - if (( timeout )); then - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: selecting timeout $timeout on ${(k)read_fds}]" >&2 - fi - zselect -t $(( int(timeout*100 + 0.5) )) ${(k)read_fds} || - return $helper_stat - else - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: selecting no timeout on ${(k)read_fds}]" >&2 - fi - zselect -t 0 ${(k)read_fds} || return $helper_stat - fi - fi - if [[ -n $TCP_READ_DEBUG ]]; then - print "[tcp_read: returned fds ${reply}]" >&2 - fi - for read_fd in ${reply[2,-1]}; do - if ! read -u $read_fd -r line; then - unset "read_fds[$read_fd]" - stat=1 - continue - fi - - helper_stat=0 - sess=${tcp_by_fd[$read_fd]} - - # Handle user-defined triggers - noprint=${TCP_SILENT:+-q} - if (( ${+tcp_on_read} )); then - # Call the function given in the key for each matching value. - # It is this way round because function names must be - # unique, while patterns do not need to be. Furthermore, - # this keeps the use of subscripting under control. - for key val in ${(kv)tcp_on_read}; do - if [[ $line = ${~val} ]]; then - $key "$sess" "$line" || noprint=-q - fi - done - fi - - tcp_output -P "${TCP_PROMPT=<-[%s] }" -S $sess -F $read_fd \ - $noprint -- "$line" - # REPLY is now set to the line with an appropriate prompt. - tcp_lines+=($REPLY) - typeset -g TCP_LINE="$REPLY" TCP_LINE_FD="$read_fd" - - # Only handle one line from one device at a time unless draining. - [[ -z $drain ]] && return $stat - done -done - -return $stat diff --git a/result/sw/share/zsh/5.9/functions/tcp_rename b/result/sw/share/zsh/5.9/functions/tcp_rename deleted file mode 100644 index 8d926ca0..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_rename +++ /dev/null @@ -1,43 +0,0 @@ -# Rename session OLD (defaults to current session) to session NEW. -# Does not handle aliases; use tcp_alias for all alias redefinitions. - -local old new - -if (( $# == 1 )); then - old=$TCP_SESS - new=$1 -elif (( $# == 2 )); then - old=$1 - new=$2 -else - print "Usage: $0 OLD NEW" >&2 - return 1 -fi - -local fd=$tcp_by_name[$old] -if [[ -z $fd ]]; then - print "No such session: $old" >&2 - return 1 -fi -if [[ -n $tcp_by_name[$new] ]]; then - print "Session $new already exists." >&2 - return 1 -fi -# Can't rename an alias -if [[ $tcp_by_fd[$fd] != $old ]]; then - print "Use tcp_alias to redefine an alias." >&2 - return 1 -fi - -tcp_by_name[$new]=$fd -unset "tcp_by_name[$old]" - -tcp_by_fd[$fd]=$new - -[[ $TCP_SESS = $old ]] && TCP_SESS=$new - -if zmodload -i zsh/parameter; then - if (( ${+functions[tcp_on_rename]} )); then - tcp_on_rename $new $fd $old - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/tcp_send b/result/sw/share/zsh/5.9/functions/tcp_send deleted file mode 100644 index 86dda640..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_send +++ /dev/null @@ -1,87 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - -local opt quiet all sess fd nonewline cat line -local -a sessions write_fds -integer mystat - -while getopts "acl:nqs:" opt; do - case $opt in - (a) all=1 - ;; - (c) cat=1 - ;; - (n) nonewline=-n - ;; - (q) quiet=1 - ;; - (l) for sess in ${(s.,.)OPTARG}; do - if [[ -z ${tcp_by_name[$sess]} ]]; then - print "$0: no such session: $sess" >&2 - return 1 - fi - sessions+=($sess) - done - ;; - (s) if [[ -z $tcp_by_name[$OPTARG] ]]; then - print "No such session: $OPTARG" >&2 - return 1 - fi - sessions+=($OPTARG) - ;; - (*) [[ $opt != '?' ]] && print "Unhandled option, complain: $opt" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ -n $all ]]; then - sessions=(${(k)tcp_by_name}) -elif (( ! ${#sessions} )); then - sessions=($TCP_SESS) -fi -if (( ! $#sessions )); then - if [[ -z $quiet ]]; then - print "No current TCP session open." >&2 - fi - return 1 -fi - -# Writing on a TCP connection closed by the remote end can cause SIGPIPE. -# The following test is reasonably robust, though in principle we can -# mistake a SIGPIPE owing to another fd. That doesn't seem like a big worry. -# `emulate -L zsh' will already have set localtraps. -local TCP_FD_CLOSED -trap 'TCP_FD_CLOSED=1' PIPE - -local TCP_SESS - -while true; do - if [[ -n $cat ]]; then - read -r line || break - else - line="$*" - fi - for TCP_SESS in $sessions; do - fd=${tcp_by_name[$TCP_SESS]} - if [[ -z $fd ]]; then - print "No such session: $TCP_SESS" >&2 - mystat=1 - continue - fi - print -u $fd $nonewline -r -- $line - if [[ $? -ne 0 || -n $TCP_FD_CLOSED ]]; then - print "Session ${TCP_SESS}: fd $fd unusable." >&2 - unset TCP_FD_CLOSED - mystat=1 - continue - fi - if [[ -n $TCP_OUTPUT ]]; then - tcp_output -P "$TCP_OUTPUT" -S $TCP_SESS -F $fd -q "${(j. .)*}" - fi - done - [[ -z $cat ]] && break -done - -return $mystat diff --git a/result/sw/share/zsh/5.9/functions/tcp_sess b/result/sw/share/zsh/5.9/functions/tcp_sess deleted file mode 100644 index cc6d42f8..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_sess +++ /dev/null @@ -1,39 +0,0 @@ -# try to disguise parameters from the eval'd command in case it's a function. -integer __myfd=1 - -if [[ -n $1 ]]; then - if [[ -z $tcp_by_name[$1] ]]; then - print no such session: $1 - __myfd=2 - elif [[ -n $2 ]]; then - local TCP_SESS=$1 - shift - # A bit tricky: make sure the first argument gets re-evaluated, - # so as to get aliases etc. to work, but make sure the remainder - # don't, so as not to bugger up quoting. This ought to work the - # vast majority of the time, anyway. - local __cmd=$1 - shift - eval $__cmd \$\* - return - else - typeset -g TCP_SESS=$1 - return 0; - fi -fi - -# Print out the list of sessions, first the number, than the corresponding -# file descriptor. The current session, if any, is marked with an asterisk. -local cur name fd -for name in ${(ko)tcp_by_name}; do - fd=${tcp_by_name[$name]} - # mark current session with an asterisk - if [[ ${TCP_SESS} = $name ]]; then - cur=" *" - else - cur= - fi - print -u $__myfd "sess:$name; fd:$fd$cur" -done - -return $(( __myfd - 1 )) diff --git a/result/sw/share/zsh/5.9/functions/tcp_shoot b/result/sw/share/zsh/5.9/functions/tcp_shoot deleted file mode 100644 index c485c140..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_shoot +++ /dev/null @@ -1,21 +0,0 @@ -emulate -L zsh -setopt extendedglob - -local REPLY tfd - -if [[ $# -ne 2 ]]; then - print "Usage: $0 host port -Connect to the given host and port; send standard input." >&2 - return 1 -fi - -if ! ztcp $1 $2; then - print "Failed to open connection to host $1 port $2" >&2 - return 1 -fi - -tfd=$REPLY - -cat >&$tfd - -ztcp -c $tfd diff --git a/result/sw/share/zsh/5.9/functions/tcp_spam b/result/sw/share/zsh/5.9/functions/tcp_spam deleted file mode 100644 index 345be7f2..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_spam +++ /dev/null @@ -1,117 +0,0 @@ -# SPAM is a registered trademark of Hormel Foods Corporation. -# -# -a all connections, override $tcp_spam_list and $tcp_no_spam_list. -# If not given and tcp_spam_list is set to a list of sessions, -# only those will be spammed. If tcp_no_spam_list is set, those -# will (also) be excluded from spamming. -# -e use `eval' to run the command list instead of executing as -# a normal command line. -# -l sess1,sess2 give comma separated list of sessions to spam -# -r reverse, spam in opposite order (default is alphabetic, -r means -# omegapsiic). Note tcp_spam_list is not sorted (but may be reversed). -# -t transmit, send data to slave rather than executing command for eac -# session. -# -v verbose, list session being spammed in turn -# -# If the function tcp_on_spam is defined, it is called for each link -# with the first argument set to the session name, and the remainder the -# command line to be executed. If it sets the parameter REPLY to `done', -# the command line will not then be executed by tcp_spam, else it will. - -emulate -L zsh -setopt extendedglob - -local cursess=$TCP_SESS sessstr -local TCP_SESS cmd opt verbose reverse sesslist transmit all eval -local match mbegin mend REPLY -local -a sessions - -while getopts "ael:rtv" opt; do - case $opt in - (a) all=1 - ;; - (e) eval=1 - ;; - (l) sessions+=(${(s.,.)OPTARG}) - ;; - (r) reverse=1 - ;; - (s) sessions+=($OPTARG) - ;; - (t) transmit=-t - ;; - (v) verbose=1 - ;; - (*) [[ $opt != '?' ]] && print "Option $opt not handled." >&2 - print "Sorry, spam's off." >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -local name -if [[ -n $all ]]; then - sessions=(${(ko)tcp_by_name}) -elif (( ! ${#sessions} )); then - if (( ${#tcp_spam_list} )); then - sessions=($tcp_spam_list) - else - sessions=(${(ko)tcp_by_name}) - fi - if (( ${#tcp_no_spam_list} )); then - for name in ${tcp_no_spam_list}; do - sessions=(${sessions:#$name}) - done - fi -fi - -if [[ -n $reverse ]]; then - local tmp - integer i - for (( i = 1; i <= ${#sessions}/2; i++ )); do - tmp=${sessions[i]} - sessions[i]=${sessions[-i]} - sessions[-i]=$tmp - done -fi - -if (( ! ${#sessions} )); then - print "No connections to spam." >&2 - return 1 -fi -if (( ! $# )); then - print "No commands given." >&2 - return 1 -fi - -if [[ -n $transmit ]]; then - cmd=tcp_send -elif [[ -z $eval ]]; then - cmd=$1 - shift -fi - -: ${TCP_PROMPT:=T[%s]:} - -for TCP_SESS in $sessions; do - REPLY= - if (( ${+functions[tcp_on_spam]} )); then - tcp_on_spam $TCP_SESS $cmd $* - [[ $REPLY = done ]] && continue - fi - if [[ -n $verbose ]]; then - if [[ $TCP_SESS = $cursess ]]; then - sessstr="c:1" - else - sessstr="c:0" - fi - zformat -f REPLY $TCP_PROMPT "s:$TCP_SESS" \ - "f:${tcp_by_name[$TCP_SESS]}" $sessstr && print -r $REPLY - fi - if [[ -n $eval ]]; then - eval $* - else - eval $cmd '$*' - fi -done diff --git a/result/sw/share/zsh/5.9/functions/tcp_talk b/result/sw/share/zsh/5.9/functions/tcp_talk deleted file mode 100644 index 9376b943..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_talk +++ /dev/null @@ -1,50 +0,0 @@ -# Make line editor input go straight to the current TCP session. -# Returns when the string $TCP_TALK_ESCAPE (default :) is read on its own. -# Otherwise, $TCP_TALK_ESCAPE followed by whitespace at the start of a line -# is stripped off and the rest of the line passed to the shell. -# -# History is not currently handled, because this is difficult. - -: ${TCP_TALK_ESCAPE:=:} - -tcp-accept-line-or-exit() { - emulate -L zsh - setopt extendedglob - local match mbegin mend - - if [[ $BUFFER = ${TCP_TALK_ESCAPE}[[:blank:]]#(#b)(*) ]]; then - if [[ -z $match[1] ]]; then - BUFFER= - zle -A .accept-line accept-line - PS1=$TCP_SAVE_PS1 - unset TCP_SAVE_PS1 - zle -I - print '\r[Normal keyboard input restored]' >&2 - else - BUFFER=$match[1] - fi - zle .accept-line - else - # BUGS: is deleted from the command line and doesn't appear in - # the history. - - # The following attempt to get the BUFFER into the history falls - # foul of the fact that we need to accept the current line first. - # But we don't actually want to accept the current line at all. - # print -s -r - $BUFFER - - # This is my function to send data over a TCP connection; replace - # it with something else or nothing. - tcp_send $BUFFER - BUFFER= - fi -} - -TCP_SAVE_PS1=${PS1##\[T*\]} -if [[ -o prompt_subst ]]; then - PS1="T[\$TCP_SESS]$TCP_SAVE_PS1" -else - PS1="[T]$TCP_SAVE_PS1" -fi -zle -N tcp-accept-line-or-exit -zle -A tcp-accept-line-or-exit accept-line diff --git a/result/sw/share/zsh/5.9/functions/tcp_wait b/result/sw/share/zsh/5.9/functions/tcp_wait deleted file mode 100644 index ee04cf23..00000000 --- a/result/sw/share/zsh/5.9/functions/tcp_wait +++ /dev/null @@ -1,18 +0,0 @@ -# Wait for given number of seconds, reading any data from -# all TCP connections while doing so. - -if [[ ${(t)SECONDS} != float* ]]; then - # If called from tcp_expect, don't override - typeset -F TCP_SECONDS_START=$SECONDS - # Get extra accuracy by making SECONDS floating point locally - typeset -F SECONDS -fi - -typeset to end - -(( to = $1, end = SECONDS + to )) -while (( SECONDS < end )); do - tcp_read -a -T $to - (( to = end - SECONDS )) -done -return diff --git a/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-apply b/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-apply deleted file mode 100755 index b12b2ecd..00000000 --- a/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-apply +++ /dev/null @@ -1,59 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# This script creates a test repository for testing the git backend's behaviour during rebase-apply operations. -# -# It works in ./vcs-test/. -# -# Suggested zshrc settings: -# -# autoload vcs_info -# precmd() { vcs_info; typeset -pm vcs\* } -# zstyle ':vcs_info:*' actionformats %m -# zstyle ':vcs_info:*' patch-format '[%n+%c=%a] [%p] [%u]' -# zstyle :vcs_info:\*gen-applied-string\* hooks f1 -# +vi-f1() { typeset -p argv hook_com } -# zstyle :vcs_info:\*gen-unapplied-string\* hooks f2 -# +vi-f2() { typeset -p argv hook_com } -# zstyle :vcs_info:\* get-unapplied true -# -mkdir "vcs-test" -cd "vcs-test" -git init - -append_lines() { for 1; do echo line from r$1 >> iota && git commit -am "r$1: Append a line"; done } - -echo "This is the file 'iota'." > iota -git add iota -git commit -m "r1: Add iota" -git tag rebase_onto_this HEAD - -# Make another change to iota -append_lines 2 -git tag rebase_from_this HEAD - -# Make non-conflicting changes -for 1 in 3 4 5 6; do - touch kappa$1 - git add kappa$1 - git commit -m "r${1}: non-conflicting change" -done - -# Make more changes to iota -append_lines 7 8 9 - -# Specify a rebase that would create the history [1,3,4,5,6,7,8,9]. -# This will conflict because r7 depends on r2 which is not included. -git checkout -b myref -case $0:P in - (*/test-repo-git-rebase-apply) - git rebase --onto=rebase_onto_this rebase_from_this myref - ;; - (*/test-repo-git-rebase-merge) - git -c core.editor=true rebase -i --onto=rebase_onto_this rebase_from_this myref - ;; - (*) - echo >&2 "$0: unrecognized basename" - ;; -esac - - diff --git a/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-merge b/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-merge deleted file mode 100755 index b12b2ecd..00000000 --- a/result/sw/share/zsh/5.9/functions/test-repo-git-rebase-merge +++ /dev/null @@ -1,59 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f -# -# This script creates a test repository for testing the git backend's behaviour during rebase-apply operations. -# -# It works in ./vcs-test/. -# -# Suggested zshrc settings: -# -# autoload vcs_info -# precmd() { vcs_info; typeset -pm vcs\* } -# zstyle ':vcs_info:*' actionformats %m -# zstyle ':vcs_info:*' patch-format '[%n+%c=%a] [%p] [%u]' -# zstyle :vcs_info:\*gen-applied-string\* hooks f1 -# +vi-f1() { typeset -p argv hook_com } -# zstyle :vcs_info:\*gen-unapplied-string\* hooks f2 -# +vi-f2() { typeset -p argv hook_com } -# zstyle :vcs_info:\* get-unapplied true -# -mkdir "vcs-test" -cd "vcs-test" -git init - -append_lines() { for 1; do echo line from r$1 >> iota && git commit -am "r$1: Append a line"; done } - -echo "This is the file 'iota'." > iota -git add iota -git commit -m "r1: Add iota" -git tag rebase_onto_this HEAD - -# Make another change to iota -append_lines 2 -git tag rebase_from_this HEAD - -# Make non-conflicting changes -for 1 in 3 4 5 6; do - touch kappa$1 - git add kappa$1 - git commit -m "r${1}: non-conflicting change" -done - -# Make more changes to iota -append_lines 7 8 9 - -# Specify a rebase that would create the history [1,3,4,5,6,7,8,9]. -# This will conflict because r7 depends on r2 which is not included. -git checkout -b myref -case $0:P in - (*/test-repo-git-rebase-apply) - git rebase --onto=rebase_onto_this rebase_from_this myref - ;; - (*/test-repo-git-rebase-merge) - git -c core.editor=true rebase -i --onto=rebase_onto_this rebase_from_this myref - ;; - (*) - echo >&2 "$0: unrecognized basename" - ;; -esac - - diff --git a/result/sw/share/zsh/5.9/functions/tetris b/result/sw/share/zsh/5.9/functions/tetris deleted file mode 100644 index 697f2c74..00000000 --- a/result/sw/share/zsh/5.9/functions/tetris +++ /dev/null @@ -1,243 +0,0 @@ -# Someone once accused zsh of not being as complete as Emacs, because it -# lacks Tetris and an adventure game. -# -# autoload -Uz tetris -# zle -N tetris -# bindkey '...' tetris - -emulate -L zsh - -tetris_hsz=11 -tetris_vsz=20 -typeset -ga tetris_shapes -tetris_shapes=( - 0x0f00 0x4444 0x0f00 0x4444 - 0x4e00 0x4c40 0x0e40 0x4640 - 0x6600 0x6600 0x6600 0x6600 - 0x4620 0x6c00 0x4620 0x6c00 - 0x2640 0x6300 0x2640 0x6300 - 0x6440 0x8e00 0x44c0 0x0e20 - 0xc440 0x0e80 0x4460 0x2e00 -) -typeset -gA tetris_rotations -tetris_rotations=( - 0x0f00 0x4444 0x4444 0x0f00 - 0x4e00 0x4c40 0x4c40 0x0e40 0x0e40 0x4640 0x4640 0x4e00 - 0x6600 0x6600 - 0x4620 0x6c00 0x6c00 0x4620 - 0x2640 0x6300 0x6300 0x2640 - 0x6440 0x8e00 0x8e00 0x44c0 0x44c0 0x0e20 0x0e20 0x6440 - 0xc440 0x0e80 0x0e80 0x4460 0x4460 0x2e00 0x2e00 0xc440 -) - -tetris_blankline= -for ((tetris_i=tetris_hsz; tetris_i--; )); do - tetris_blankline="$tetris_blankline " -done -tetris_blankboard= -for ((tetris_i=tetris_vsz; tetris_i--; )); do - tetris_blankboard="$tetris_blankboard$tetris_blankline" -done - -bindkey -N tetris -bindkey -R -M tetris '\000-\377' tetris-timeout -for ((tetris_i=256; tetris_i--; )); do - bindkey -M tetris 'T\'$(([##8]tetris_i)) tetris-timeout -done -bindkey -M tetris Ta tetris-left -bindkey -M tetris Tj tetris-left -bindkey -M tetris Ts tetris-rotate -bindkey -M tetris Tk tetris-rotate -bindkey -M tetris Td tetris-right -bindkey -M tetris Tl tetris-right -bindkey -M tetris 'T ' tetris-drop -bindkey -M tetris Tq tetris-quit - -unset tetris_board tetris_score - -zle -N tetris -function tetris { - emulate -L zsh - if ! zle; then - print -u2 "Use M-x tetris RET to play tetris." - return 2 - fi - tetris_saved_state="BUFFER=${BUFFER:q};CURSOR=${CURSOR:q};MARK=${MARK:q};zle -K ${KEYMAP:q}" - tetris_speed=$((100.0/KEYTIMEOUT)) - zle -K tetris - if [[ ${tetris_board+set} == set ]]; then - tetris-timeout - else - tetris_board=$tetris_blankboard - tetris_score=0 - tetris-new-block - fi -} - -function tetris-new-block { - emulate -L zsh - tetris_block=$tetris_shapes[1+RANDOM%$#tetris_shapes] - tetris_block_y=0 - tetris_block_x=4 - if ! tetris-block-fits; then - tetris-place-block "#" - tetris-render-screen - unset tetris_board tetris_score - tetris-quit - return - fi - tetris-place-block "*" - tetris-timed-move -} - -zle -N tetris-left -function tetris-left { - emulate -L zsh - tetris-place-block " " - (( tetris_block_x-- )) - tetris-block-fits || (( tetris_block_x++ )) - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-right -function tetris-right { - emulate -L zsh - tetris-place-block " " - (( tetris_block_x++ )) - tetris-block-fits || (( tetris_block_x-- )) - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-rotate -function tetris-rotate { - emulate -L zsh - tetris-place-block " " - local save_block=$tetris_block - tetris_block=$tetris_rotations[$tetris_block] - tetris-block-fits || tetris_block=$save_block - tetris-place-block "*" - tetris-timeout -} - -zle -N tetris-drop -function tetris-drop { - emulate -L zsh - tetris-place-block " " - ((tetris_block_y++)) - while tetris-block-fits; do - ((tetris_block_y++)) - done - ((tetris_block_y--)) - tetris-block-dropped -} - -zle -N tetris-timeout -function tetris-timeout { - emulate -L zsh - tetris-place-block " " - ((tetris_block_y++)) - if tetris-block-fits; then - tetris-place-block "*" - tetris-timed-move - return - fi - ((tetris_block_y--)) - tetris-block-dropped -} - -function tetris-block-dropped { - emulate -L zsh - tetris-place-block "O" - local fl=${tetris_blankline// /O} i=$((tetris_block_y*tetris_hsz)) y - for ((y=0; y!=4; y++)); do - if [[ $tetris_board[i+1,i+tetris_hsz] == $fl ]]; then - tetris_board[i+1,i+tetris_hsz]= - tetris_board=$tetris_blankline$tetris_board - ((tetris_score++)) - fi - ((i += tetris_hsz)) - done - tetris-new-block -} - -function tetris-block-fits { - emulate -L zsh - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - if ((tetris_block&b)); then - ((x+tetris_block_x >= 0)) || return 1 - ((x+tetris_block_x < tetris_hsz)) || return 1 - ((y+tetris_block_y >= 0)) || return 1 - ((y+tetris_block_y < tetris_vsz)) || return 1 - [[ $tetris_board[i] == " " ]] || return 1 - fi - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done - return 0 -} - -function tetris-place-block { - emulate -L zsh - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - ((tetris_block&b)) && tetris_board[i]=$1 - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done -} - -function tetris-timed-move { - emulate -L zsh - tetris-render-screen - LBUFFER= - RBUFFER=$'\n'$tetris_screen - zle -R - zle -U T -} - -function tetris-render-screen { - emulate -L zsh - setopt extendedglob - local s i extras - extras=( - "Score: $tetris_score" - "" - "Game parameters: ${tetris_hsz}x$tetris_vsz, ${tetris_speed}Hz" - "" - "Keys: left: a j" - " rotate: s k" - " right: d l" - " drop: space" - " quit: q" - ) - for ((i=0; i!=tetris_vsz; i++)); do - s="$s|${${${${${tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]}//O/()}//\*/**}// / }//\#/##}|"${extras[1]+ $extras[1]}$'\n' - extras[1]=() - done - s="$s+${tetris_blankline// /--}+" - tetris_screen=$s -} - -zle -N tetris-quit -function tetris-quit { - emulate -L zsh - if [[ ! -o always_last_prompt ]]; then - BUFFER= - zle -M $tetris_screen - fi - eval $tetris_saved_state - if [[ -o always_last_prompt ]]; then - zle -M $tetris_screen - fi -} - -tetris "$@" diff --git a/result/sw/share/zsh/5.9/functions/tetriscurses b/result/sw/share/zsh/5.9/functions/tetriscurses deleted file mode 100644 index 37145608..00000000 --- a/result/sw/share/zsh/5.9/functions/tetriscurses +++ /dev/null @@ -1,386 +0,0 @@ -# I noticed we don't ship any contrib and/or example scripts using the -# zcurses module, and also that the builtin tetris is sort of boring, so -# I figured I'd port it to curses. It works pretty well, but I noticed -# two problems with the zcurses module in the process: -# -# 1. the HAVE_USE_DEFAULT_COLORS define seems to never be defined? -# -# 2a. resizing the window causes 'zcurses input' to wait forever for a -# key, even with a timeout defined. -# -# Bart says: -# >This probably has something to do with the special-casing around wgetch() -# >for signals handled by the "trap" command. See the big comment in -# >Src/Modules/curses.c lines 1073-1103. -# -# >It may be problematic to mix curses with the generic signal handling in -# >the main shell. We may need to swap in a SIGWINCH handler wrapper while -# >the curses UI is active, and restore the main handler when leaving it. -# -# 2b. resizing the window doesn't cause an event while running the -# program, but if i resize before starting(?) i get an event RESIZE on -# my first input call. -# -# Bart says: -# >There's probably some state that needs to be cleared on entry to -# >zccmd_input() so that curses doesn't see something left over from the -# >previous signal. Unfortunately I don't know what that would be. - -if (( $LINES < 22 || $COLUMNS < 46 )); then - echo >&2 'terminal needs to be at least 22 lines and 46 columns' - return -fi - -emulate -L zsh - -typeset -a tetris_shapes -tetris_shapes=( - 0x0f00 0x4444 0x0f00 0x4444 - 0x4e00 0x4c40 0x0e40 0x4640 - 0x6600 0x6600 0x6600 0x6600 - 0x4620 0x6c00 0x4620 0x6c00 - 0x2640 0x6300 0x2640 0x6300 - 0x6440 0x8e00 0x44c0 0x0e20 - 0xc440 0x0e80 0x4460 0x2e00 -) -typeset -A tetris_rotations -tetris_rotations=( - 0x0f00 0x4444 0x4444 0x0f00 - 0x4e00 0x4c40 0x4c40 0x0e40 0x0e40 0x4640 0x4640 0x4e00 - 0x6600 0x6600 - 0x4620 0x6c00 0x6c00 0x4620 - 0x2640 0x6300 0x6300 0x2640 - 0x6440 0x8e00 0x8e00 0x44c0 0x44c0 0x0e20 0x0e20 0x6440 - 0xc440 0x0e80 0x0e80 0x4460 0x4460 0x2e00 0x2e00 0xc440 -) -local tetris_vsz=20 tetris_hsz=11 -local tetris_blankline=${(l:11:: :)} -local tetris_blankboard=${(j::):-${(l:11:: :)}${(s: :)^${(l:20:: :)}}} - -local tetris_board=$tetris_blankboard -local tetris_score=0 -local tetris_lines=0 - -local tetris_{block{,_next,_x,_y},i} - -function __tetris-next-block { - tetris_block_next=$tetris_shapes[1+RANDOM%$#tetris_shapes] -} - -function __tetris-new-block { - tetris_block=$tetris_block_next - __tetris-next-block - __tetris-draw-next-block - tetris_block_y=0 - tetris_block_x=4 - if ! __tetris-block-fits; then - __tetris-game-over - fi - __tetris-place-block "*" -} - -function __tetris-left { - __tetris-place-block " " - (( tetris_block_x-- )) - __tetris-block-fits || (( tetris_block_x++ )) - __tetris-place-block "*" -} - -function __tetris-right { - __tetris-place-block " " - (( tetris_block_x++ )) - __tetris-block-fits || (( tetris_block_x-- )) - __tetris-place-block "*" -} - -function __tetris-rotate { - __tetris-place-block " " - local save_block=$tetris_block - tetris_block=$tetris_rotations[$tetris_block] - __tetris-block-fits || tetris_block=$save_block - __tetris-place-block "*" -} - -function __tetris-drop { - __tetris-place-block " " - ((tetris_block_y++)) - while __tetris-block-fits; do - ((tetris_block_y++)) - ((tetris_score+=2)) - done - ((tetris_block_y--)) - __tetris-block-dropped -} - -function __tetris-timeout { - __tetris-place-block " " - ((tetris_block_y++)) - if __tetris-block-fits; then - __tetris-place-block "*" - return - fi - ((tetris_block_y--)) - __tetris-block-dropped -} - -function __tetris-block-dropped { - integer bonus=1 - __tetris-place-block "O" - local fl=${tetris_blankline// /O} i=$((tetris_block_y*tetris_hsz)) - repeat 4; do - if [[ $tetris_board[i+1,i+tetris_hsz] == $fl ]]; then - if (( fancygraphics )); then for char in {7..1}; do - tetris_board[i+1,i+tetris_hsz]=${tetris_blankline// /$char} - __tetris-render-screen - zcurses timeout score 50 - zcurses input score - done; fi - tetris_board[i+1,i+tetris_hsz]= - tetris_board=$tetris_blankline$tetris_board - ((tetris_score+=100*(bonus++*(tetris_lines/10+10)))) - ((tetris_lines+=1)) - if ((tetris_lines % 10 == 0)); then - ((timestep = timestep * 0.80)) - fi - fi - ((i += tetris_hsz)) - done - __tetris-new-block -} - -function __tetris-block-fits { - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - if ((tetris_block&b)); then - ((x+tetris_block_x >= 0)) || return 1 - ((x+tetris_block_x < tetris_hsz)) || return 1 - ((y+tetris_block_y >= 0)) || return 1 - ((y+tetris_block_y < tetris_vsz)) || return 1 - [[ $tetris_board[i] == " " ]] || return 1 - fi - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done - return 0 -} - -function __tetris-draw-next-block { - local tetris_preview - local y x i=1 b=0x8000 - for ((y=0; y!=4; y++)); do - tetris_preview=" " - for ((x=0; x!=4; x++)); do - ((tetris_block_next&b)) && tetris_preview[i]=\* - ((b >>= 1)) - ((i++)) - done - i=1 - zcurses move preview $((y+1)) 1 - zcurses string preview ${${${tetris_preview//O/$filled_block}//\*/$active_block}// / } - done -} - -function __tetris-place-block { - local y x i=$((1+tetris_block_y*tetris_hsz+tetris_block_x)) b=0x8000 - for ((y=0; y!=4; y++)); do - for ((x=0; x!=4; x++)); do - ((tetris_block&b)) && tetris_board[i]=$1 - ((b >>= 1)) - ((i++)) - done - ((i+=tetris_hsz-4)) - done -} - -function __tetris-render-screen { - local i x piece - setopt localoptions histsubstpattern extendedglob - local -a match mbegin mend - local -A animation - animation=( 7 ▇▇ 6 ▆▆ 5 ▅▅ 4 ▄▄ 3 ▃▃ 2 ▂▂ 1 ▁▁ ) - for (( i = 0; i < tetris_vsz; i++ )); do - zcurses move gamearea $(( i + 1 )) 1 - zcurses string gamearea ${${${${${tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]}//O/$filled_block}//\*/$active_block}// / }//(#b)([1-7])/$animation[$match[1]]} - done - - zcurses clear score - zcurses move score 1 1 - zcurses string score "Score: $tetris_score"$'\ -'" Lines: $tetris_lines"$'\ -'" Speed: ${timestep%.*} ms" - - zcurses border gamearea - zcurses border score - zcurses border preview - zcurses refresh gamearea score preview $debug -} - -function __tetris-game-over { - gameover=1 -} - -function __tetris-new-game { - gameover=0 - timestep=1000 - tetris_score=0 - tetris_lines=0 - __tetris-next-block - __tetris-new-block - __tetris-render-screen -} - -function __tetris-game-over-screen { - __tetris-debug "Died with $tetris_score points!" - tetris_board=$tetris_blankboard - local text="You got $tetris_score points!" - local gameover_height=4 gameover_width=$(( $#text + 2 )) - zcurses addwin gameover $gameover_height $gameover_width \ - $(( off_y + (game_height-gameover_height)/2 )) \ - $(( off_x + (game_width+score_width-gameover_width)/2 )) - zcurses move gameover 1 1 - zcurses string gameover $text - text='Play again? [yn]' - zcurses move gameover 2 $(( (gameover_width - $#text)/2 )) - zcurses string gameover $text - zcurses border gameover - keepplaying= - until [[ $keepplaying = [ynq] ]]; do - zcurses input gameover keepplaying - done - zcurses delwin gameover - zcurses refresh stdscr - zcurses timeout gamearea ${timestep%.*} - __tetris-new-game -} - -function __tetris-debug { - if [[ -z $debug ]]; then - return - fi - zcurses scroll debug -1 - zcurses move debug 0 0 - zcurses string debug "$1" -} - -function __tetris-remove-wins { - local delwin - local -a delwins - delwins=(gamearea score debug gameover help preview) - for delwin in ${delwins:*zcurses_windows}; do - zcurses delwin $delwin - done -} - -function __tetris-help { - local i - local help_height=9 help_width=23 - zcurses addwin help $help_height $help_width \ - $(( off_y + (game_height - help_height) / 2 )) \ - $(( off_x + (game_width + score_width - help_width) / 2 )) - zcurses move help 1 1 - zcurses string help $'left: h, j, left\ - right: right, n, l\ - rotate: up, c, i\ - soft drop: down, t, k\ - hard drop: space\ - quit: q\ - press space to return' - zcurses border help - until [[ $i == [\ q] ]]; do - zcurses input help i - if [[ $i == q ]]; then - keepplaying=n - fi - done - zcurses delwin help - zcurses refresh stdscr -} - -zmodload zsh/curses && { - zcurses init - __tetris-remove-wins - zcurses refresh - echoti civis - local debug= - if (( ${@[(I)--debug|-d]} )); then - debug=debug - fi - local off_x off_y - local game_height=22 game_width=25 - local score_height=5 score_width=20 - local preview_height=6 preview_width=10 - local filled_block active_block - local fancygraphics - if zmodload zsh/langinfo && [[ $langinfo[CODESET] = UTF-8 ]]; then - filled_block=██ - active_block=▒▒ - fancygraphics=${@[(I)--silly]} - else - filled_block='[]' - active_block='()' - fancygraphics=0 - fi - off_x=$(( (COLUMNS-game_width-score_width-1) / 2 )) - off_y=$(( (LINES-game_height) / 2 )) - zcurses clear stdscr redraw - zcurses refresh stdscr - zcurses addwin gamearea $game_height $game_width $off_y $off_x - zcurses scroll gamearea off - zcurses addwin score $score_height $score_width \ - $off_y $(( off_x + game_width + 1 )) - zcurses scroll score off - zcurses addwin preview $preview_height $preview_width \ - $(( off_y + score_height )) $(( off_x + game_width + 1 )) - zcurses scroll preview off - if [[ -n $debug ]]; then - zcurses addwin debug $(( game_height - score_height - preview_height - 1 )) \ - $score_width \ - $(( off_y + score_height + preview_height ))\ - $(( off_x + game_width + 1 )) - fi - typeset -F SECONDS - local now prev timestep timeout key kkey keepplaying=y gameover=0 - prev=$SECONDS - __tetris-new-game - zcurses timeout gamearea 0 - while [[ $keepplaying == y ]]; do - if zcurses input gamearea key kkey; then - __tetris-debug "got input $key$kkey" - case $key$kkey in - LEFT|h|j) __tetris-left;; - RIGHT|n|l) __tetris-right;; - UP|c|i) __tetris-rotate;; - DOWN|t|k) __tetris-timeout; ((tetris_score++)); prev=$SECONDS;; - " ") __tetris-drop;; - q) break;; - F1|H) __tetris-help;; - esac - else - __tetris-debug "timed out" - __tetris-timeout - fi - now=$SECONDS - if (( prev + timestep/1000. < now )); then - (( prev += timestep/1000. )) - fi - timeout=${$(( 1000.*(prev + timestep/1000. - now) + 1 ))%.*} - if (( timeout < 0 )); then - __tetris-debug "BUG: timeout < 0" - timeout=${timestep%.*} - fi - zcurses timeout gamearea $timeout - __tetris-debug "timeout: $timeout" - - __tetris-render-screen - if [[ $gameover == 1 ]]; then - __tetris-game-over-screen - fi - done -} always { - __tetris-remove-wins - echoti cnorm - zcurses end -} diff --git a/result/sw/share/zsh/5.9/functions/throw b/result/sw/share/zsh/5.9/functions/throw deleted file mode 100644 index 5c732699..00000000 --- a/result/sw/share/zsh/5.9/functions/throw +++ /dev/null @@ -1,30 +0,0 @@ -# Throw an exception. -# The first argument is a string giving the exception. Other arguments -# are ignored. -# -# This is designed to be called somewhere inside a "try-block", i.e. -# some code of the form: -# { -# # try-block -# } always { -# # always-block -# } -# although as normal with exceptions it might be hidden deep inside -# other code. Note, however, that it must be code running within the -# current shell; with shells, unlike other languages, it is quite easy -# to miss points at which the shell forks. -# -# If there is nothing to catch an exception, this behaves like any -# other shell error, aborting to the command prompt or abandoning a -# script. - -# The following must not be local. -typeset -g EXCEPTION="$1" -readonly THROW -if (( TRY_BLOCK_ERROR == 0 )); then - # We are throwing an exception from the middle of an always-block. - # We can do this by restoring the error status from the try-block. - (( TRY_BLOCK_ERROR = 1 )) -fi -# Raise an error, but don't show an error message. -THROW= 2>/dev/null diff --git a/result/sw/share/zsh/5.9/functions/transpose-lines b/result/sw/share/zsh/5.9/functions/transpose-lines deleted file mode 100644 index 06e1da4a..00000000 --- a/result/sw/share/zsh/5.9/functions/transpose-lines +++ /dev/null @@ -1,43 +0,0 @@ -# Transpose lines. This is like in emacs: with a positive argument -# (default 1) the current line and the previous line are swapped and the -# cursor goes down one line; with a negative argument the previous two -# lines are swapped and the cursor goes up one line. - -emulate -L zsh -setopt extendedglob # xtrace - -local -a match mbegin mend -integer count=${NUMERIC:-1} -local init prev lline final rrline - -if (( ${NUMERIC:-1} < 0 )); then - while (( count++ )); do - [[ $LBUFFER != (#b)(|*$'\n')([^$'\n']#$'\n')([^$'\n']#$'\n')([^$'\n']#) ]] && return 1 - - LBUFFER=$match[1]$match[3] - RBUFFER=$match[2]$match[4]$RBUFFER - done -else - while (( count-- )); do - [[ $LBUFFER != (#b)(*)$'\n'([^$'\n']#) ]] && return 1 - - prev=$match[1] - lline=$match[2] - - if [[ $prev = (#b)(*$'\n')([^$'\n']#) ]]; then - init=$match[1] - prev=$match[2] - fi - - if [[ $RBUFFER = (#b)([^$'\n']#)$'\n'(*) ]]; then - rline=$match[1] - final=$match[2] - prev+=$'\n' - else - rline=$RBUFFER - fi - - LBUFFER=$init$lline$rline$'\n'$prev - RBUFFER=$final - done -fi diff --git a/result/sw/share/zsh/5.9/functions/transpose-words-match b/result/sw/share/zsh/5.9/functions/transpose-words-match deleted file mode 100644 index 4d2ac71f..00000000 --- a/result/sw/share/zsh/5.9/functions/transpose-words-match +++ /dev/null @@ -1,48 +0,0 @@ -# Transpose words, matching the words using match-words-by-style, q.v. -# The group of word characters preceding the cursor (not necessarily -# immediately) are transposed with the group of word characters following -# the cursor (again, not necessarily immediately). -# -# Note the style skip-chars, used in the context of the current widget. -# This gives a number of character starting from the cursor position -# which are never considered part of a word and hence are always left -# alone. The default is 0 and typically the only useful alternative -# is one. This would have the effect that `fooXbar' with the cursor -# on X would be turned into `barXfoo' with the cursor still on the X, -# regardless of what the character X is. - -emulate -L zsh -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" -local -a matched_words -integer count=${NUMERIC:-1} neg - -(( count < 0 )) && (( count = -count, neg = 1 )) - -if [[ $WIDGET == transpose-words ]]; then - # default is to be a drop-in replacement, check styles for change - zstyle -m $curcontext skip-chars \* || - zstyle -m $curcontext word-style '*subword*' || - { [[ $LBUFFER[-1] != [[:space:]] && $RBUFFER[1] != [[:space:]] || - -z ${RBUFFER//[[:space:]]/} ]] && zle backward-word } -fi - -while (( count-- > 0 )); do - match-words-by-style - - [[ -z "$matched_words[2]$matched_words[5]" ]] && return 1 - - if (( neg )); then - LBUFFER="$matched_words[1]" - RBUFFER="$matched_words[5]${(j..)matched_words[3,4]}\ -$matched_words[2]${(j..)matched_words[6,7]}" - else - LBUFFER="$matched_words[1]$matched_words[5]${(j..)matched_words[3,4]}\ -$matched_words[2]" - RBUFFER="${(j..)matched_words[6,7]}" - fi - -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/up-case-word-match b/result/sw/share/zsh/5.9/functions/up-case-word-match deleted file mode 100644 index a2423952..00000000 --- a/result/sw/share/zsh/5.9/functions/up-case-word-match +++ /dev/null @@ -1,23 +0,0 @@ -emulate -L zsh -setopt extendedglob - -autoload -Uz match-words-by-style - -local curcontext=":zle:$WIDGET" word -local -a matched_words -integer count=${NUMERIC:-1} - -while (( count-- > 0 )); do - match-words-by-style - - word=${(j..)matched_words[4,5]} - - if [[ -n $word ]]; then - LBUFFER+=${(U)word} - RBUFFER=${(j..)matched_words[6,7]} - else - return 1 - fi -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/up-line-or-beginning-search b/result/sw/share/zsh/5.9/functions/up-line-or-beginning-search deleted file mode 100644 index bdc39335..00000000 --- a/result/sw/share/zsh/5.9/functions/up-line-or-beginning-search +++ /dev/null @@ -1,22 +0,0 @@ -# Like up-line-or-search, but uses the whole line prefix up to the -# cursor position for searching backwards. - -emulate -L zsh - -typeset -g __searching __savecursor - -if [[ $LBUFFER == *$'\n'* ]]; then - zle .up-line-or-history - __searching='' -elif [[ -n $PREBUFFER ]] && - zstyle -t ':zle:up-line-or-beginning-search' edit-buffer -then - zle .push-line-or-edit -else - [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor - __savecursor=$CURSOR - __searching=$WIDGET - zle .history-beginning-search-backward - zstyle -T ':zle:up-line-or-beginning-search' leave-cursor && - zle .end-of-line -fi diff --git a/result/sw/share/zsh/5.9/functions/url-quote-magic b/result/sw/share/zsh/5.9/functions/url-quote-magic deleted file mode 100644 index cb7bf727..00000000 --- a/result/sw/share/zsh/5.9/functions/url-quote-magic +++ /dev/null @@ -1,156 +0,0 @@ -# Functions to make it easier to type URLs as command line arguments. As -# you type, the input character is analyzed and, if it may need quoting, -# the current word is checked for a URI scheme. If one is found and the -# current word is not already in quotes, a backslash is inserted before -# the input character. - -# Setup: -# autoload -Uz url-quote-magic -# zle -N self-insert url-quote-magic - -# As of zsh-5.1, the following may also be necessary in order to apply -# quoting to copy-pasted URLs: -# autoload -Uz bracketed-paste-magic -# zle -N bracketed-paste bracketed-paste-magic -# See also backward-extend-paste in bracketed-paste-magic source file. - -# A number of zstyles may be set to control the quoting behavior. -# -# url-metas -# This style is looked up in the context :url-quote-magic:SCHEME (where -# SCHEME is that of the current URL, e.g. "ftp"). The value is a string -# listing the characters to be treated as globbing metacharacters when -# appearing in a URL using that scheme. The default is to quote all zsh -# extended globbing characters, excluding '<' and '>' but including -# braces (as in brace expansion). See also url-seps. -# -# url-seps -# Like url-metas, but lists characters that should be considered command -# separators, redirections, history references, etc. The default is to -# quote the standard set of shell separators, excluding those that -# overlap with the extended globbing characters, but including '<' and -# '>' and the first character of $histchars. -# -# url-globbers -# This style is looked up in the context :url-quote-magic. The values -# form a list of command names that are expected to do their own globbing -# on the URL string. This implies that they are aliased to use the -# "noglob" modifier. When the first word on the line matches one of the -# values AND the URL refers to a local file (see url-local-schema), only -# the url-seps characters are quoted; the url-metas are left alone, -# allowing them to affect command-line parsing, completion, etc. The -# default values are a literal "noglob" plus (when the zsh/parameter -# module is available) any commands aliased to the helper function -# "urlglobber" or its alias "globurl". -# -# url-local-schema -# This style is always looked up in the context :urlglobber, even though -# it is used by both url-quote-magic and urlglobber. The values form -# a list of URI schema that should be treated as referring to local files -# by their real local path names, as opposed to files which are specified -# relative to a web-server-defined document root. The defaults are "ftp" -# and "file". -# -# url-other-schema -# Like url-local-schema, but lists all other URI schema upon which -# urlglobber and url-quote-magic should act. If the URI on the -# command line does not have a scheme appearing either in this list or in -# url-local-schema, it is not magically quoted. The default values are -# "http", "https", and "ftp". When a scheme appears both here and in -# url-local-schema, it is quoted differently depending on whether the -# command name appears in url-globbers. - -# TODO: -# Add a style for "document root" for globbing local URLs. -# Turn this on at colon, and off again at space or accept. -# Use compsys for nested quoting analysis and command parsing. - -# Establish default values for styles, but only if not already set -local -a reply match mbegin mend - -zstyle -m ':url-quote-magic:\*' url-metas '*' || - zstyle ':url-quote-magic:*' url-metas '*?[]^(|)~#{}=' - -zstyle -m ':url-quote-magic:\*' url-seps '*' || - zstyle -e ':url-quote-magic:*' url-seps 'reply=(";&<>${histchars[1]}")' - -zstyle -m :url-quote-magic url-globbers '*' || - zstyle -e :url-quote-magic url-globbers \ - 'zmodload -i zsh/parameter; - reply=( noglob - ${(k)galiases[(R)(* |)(noglob|urlglobber|globurl) *]:-} - ${(k)aliases[(R)(* |)(noglob|urlglobber|globurl) *]:-} )' - -zstyle -m ':urlglobber' url-local-schema '*' || - zstyle ':urlglobber' url-local-schema ftp file - -zstyle -m ':urlglobber' url-other-schema '*' || - zstyle ':urlglobber' url-other-schema http https ftp - -# Define the "urlglobber" helper function and shorthand "globurl" alias - -function urlglobber { - local -a args globbed localschema otherschema reply - local arg command="$1" - shift - zstyle -s :urlglobber url-local-schema localschema '|' - zstyle -s :urlglobber url-other-schema otherschema '|' - for arg - do - case "${arg}" in - ((${~localschema}):/(|/localhost)/*) - globbed=( ${~${arg##ftp://(localhost|)}} ) - args[$#args+1]=( "${(M)arg##(${~localchema})://(localhost|)}${(@)^globbed}" ) - ;; - ((${~otherschema}):*) args[${#args}+1]="$arg";; - (*) args[${#args}+1]=( ${~arg} );; - esac - done - "$command" "${(@)args}" -} -alias globurl='noglob urlglobber ' - -# Finally, define (and execute if necessary) the function we really want - -function url-quote-magic { - setopt localoptions noksharrays extendedglob - local qkey="${(q)KEYS}" - local -a reply match mbegin mend - if [[ "$KEYS" != "$qkey" ]] - then - local lbuf="$LBUFFER$qkey" - if [[ "${(Q)LBUFFER}$KEYS" == "${(Q)lbuf}" ]] - then - local -a words - words=("${(@Q)${(z)lbuf}}") - local urlseps urlmetas urlglobbers localschema otherschema - if [[ "$words[-1]" == (#b)([^:]##):* ]] - then - zstyle -s ":url-quote-magic:$match[1]" url-seps urlseps '' - zstyle -s ":url-quote-magic:$match[1]" url-metas urlmetas '' - fi - zstyle -s :url-quote-magic url-globbers urlglobbers '|' - zstyle -s :urlglobber url-other-schema otherschema '|' - if [[ "$words[1]" == ${~urlglobbers} ]] - then - zstyle -s :urlglobber url-local-schema localschema '|' - else - localschema=' ' - fi - case "$words[-1]" in - (*[\'\"]*) ;; - ((${~localschema}):/(|/localhost)/*) - [[ "$urlseps" == *"$KEYS"* ]] && - LBUFFER="$LBUFFER\\" ;; - ((${~otherschema}):*) - [[ "$urlseps$urlmetas" == *"$KEYS"* ]] && - LBUFFER="$LBUFFER\\" ;; - esac - fi - fi - zle .self-insert -} - -# Handle zsh autoloading conventions - -[[ -o kshautoload ]] || url-quote-magic "$@" diff --git a/result/sw/share/zsh/5.9/functions/vcs_info b/result/sw/share/zsh/5.9/functions/vcs_info deleted file mode 100644 index 786b6191..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info +++ /dev/null @@ -1,154 +0,0 @@ -## vim:ft=zsh:foldmethod=marker -## -## vcs_info - provide version control information -## -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## -## This file and all corresponding files in Functions/VCS_Info/ are -## distributed under the same BSD-ish license as zsh itself. -## - -setopt localoptions noksharrays extendedglob NO_shwordsplit -local file func sys -local -a static_functions msgs -local -i maxexports - -static_functions=( - VCS_INFO_adjust - VCS_INFO_bydir_detect - VCS_INFO_check_com - VCS_INFO_formats - VCS_INFO_get_cmd - VCS_INFO_hexdump - VCS_INFO_hook - VCS_INFO_set-patch-format - VCS_INFO_set-branch-format - VCS_INFO_maxexports - VCS_INFO_nvcsformats - VCS_INFO_patch2subject - VCS_INFO_quilt - VCS_INFO_reposub - VCS_INFO_set - - vcs_info_hookadd - vcs_info_hookdel - vcs_info_lastmsg - vcs_info_printsys - vcs_info_setsys -) - -for func in ${static_functions} ; do - autoload -Uz ${func} -done - -[[ -n ${(Mk)parameters:#vcs_info_msg_<->_} ]] && unset ${parameters[(I)vcs_info_msg_<->_]} -VCS_INFO_maxexports -VCS_INFO_set --nvcs '-preinit-' -vcs_info_setsys - -# and now, finally create the real vcs_info function -vcs_info () { - emulate -L zsh - setopt extendedglob NO_warn_create_global - - [[ -r . ]] || return 0 - - local pat - local -i found retval - local -a enabled disabled dps - local usercontext vcs rrn quiltmode - local -x LC_MESSAGES - local -i maxexports - local -a msgs - - # vcs_comm is used internally for passing values among VCS_INFO_* functions. - # It is not part of the public API. - # - # hook_com, backend_misc, and user_data are public API; see zshcontrib(1) - # and Misc/vcs_info-examples. - local -A vcs_comm hook_com backend_misc user_data - - LC_MESSAGES=C - if [[ -n ${LC_ALL} ]]; then - local -x LANG - LANG=${LC_ALL} - local -x LC_ALL - fi - vcs='-init-'; rrn='-all-'; quiltmode='addon' - usercontext=${1:-default} - - VCS_INFO_hook "start-up" - retval=$? - if (( retval == 1 )); then - return 0 - elif (( retval == 2 )); then - # This needs `max-exports' set. We're still setting it again later - # for more specific contexts. - VCS_INFO_maxexports - VCS_INFO_set --nvcs - return 0 - fi - - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "enable" enabled - (( ${#enabled} == 0 )) && enabled=( all ) - - if [[ -n ${(M)enabled:#(#i)none} ]] ; then - [[ -n ${vcs_info_msg_0_} ]] && VCS_INFO_set --nvcs - return 0 - fi - - if [[ -n ${(M)enabled:#(#i)all} ]] ; then - enabled=( ${VCS_INFO_backends} ) - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "disable" disabled - fi - - zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "disable-patterns" dps - - for pat in ${dps} ; do - if [[ ${PWD} == ${~pat} ]] ; then - VCS_INFO_maxexports - [[ -n ${vcs_info_msg_0_} ]] && VCS_INFO_set --nvcs - return 0 - fi - done - - VCS_INFO_maxexports - - (( found = 0 )) - for vcs in ${enabled} ; do - [[ -n ${(M)disabled:#${vcs}} ]] && continue - if (( ${+functions[VCS_INFO_detect_${vcs}]} == 0 )) ; then - printf 'vcs_info: configured unknown backend: '\''%s'\''\n' ${vcs} - printf 'vcs_info: use '\''vcs_info_printsys'\'' to find supported systems.\n' - continue - fi - vcs_comm=() - VCS_INFO_get_cmd - VCS_INFO_detect_${vcs} && (( found = 1 )) && break - done - - (( found == 0 )) && { - vcs='-quilt-'; quiltmode='standalone' - VCS_INFO_quilt standalone || VCS_INFO_set --nvcs - return 0 - } - - VCS_INFO_hook "pre-get-data" - retval=$? - if (( retval == 1 )); then - return 0 - elif (( retval == 2 )); then - VCS_INFO_set --nvcs - return 0 - fi - - VCS_INFO_get_data_${vcs} || { - VCS_INFO_set --nvcs - return 1 - } - - VCS_INFO_set - return 0 -} - -vcs_info "$@" diff --git a/result/sw/share/zsh/5.9/functions/vcs_info_hookadd b/result/sw/share/zsh/5.9/functions/vcs_info_hookadd deleted file mode 100644 index 867f7e27..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info_hookadd +++ /dev/null @@ -1,22 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -if (( ${#argv} < 2 )); then - print 'usage: vcs_info_hookadd <HOOK> <FUNCTION(s)...>' - return 1 -fi - -local hook func context -local -a old - -hook=$1 -shift -context=":vcs_info-static_hooks:${hook}" - -zstyle -a "${context}" hooks old -zstyle "${context}" hooks "${old[@]}" "$@" -return $? diff --git a/result/sw/share/zsh/5.9/functions/vcs_info_hookdel b/result/sw/share/zsh/5.9/functions/vcs_info_hookdel deleted file mode 100644 index e09a0575..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info_hookdel +++ /dev/null @@ -1,45 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -local -i all - -if [[ "x$1" == 'x-a' ]]; then - all=1 - shift -else - all=0 -fi - -if (( ${#argv} < 2 )); then - print 'usage: vcs_info_hookdel [-a] <HOOK> <FUNCTION(s)...>' - return 1 -fi - -local hook func context -local -a old - -hook=$1 -shift -context=":vcs_info-static_hooks:${hook}" - -zstyle -a "${context}" hooks old || return 0 -for func in "$@"; do - if [[ -n ${(M)old:#$func} ]]; then - old[(Re)$func]=() - else - printf 'Not statically registered to `%s'\'': "%s"\n' \ - "${hook}" "${func}" - continue - fi - if (( all )); then - while [[ -n ${(M)old:#$func} ]]; do - old[(Re)$func]=() - done - fi -done -zstyle "${context}" hooks "${old[@]}" -return $? diff --git a/result/sw/share/zsh/5.9/functions/vcs_info_lastmsg b/result/sw/share/zsh/5.9/functions/vcs_info_lastmsg deleted file mode 100644 index 438567ce..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info_lastmsg +++ /dev/null @@ -1,19 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh - -local -i i -local -i maxexports - -VCS_INFO_maxexports -for i in {0..$((maxexports - 1))} ; do - printf -- '$vcs_info_msg_%d_: "' $i - if zstyle -T ':vcs_info:formats:command:-all-' use-prompt-escapes ; then - print -nP -- ${(P)${:-vcs_info_msg_${i}_}} - else - print -n -- ${(P)${:-vcs_info_msg_${i}_}} - fi - printf '"\n' -done diff --git a/result/sw/share/zsh/5.9/functions/vcs_info_printsys b/result/sw/share/zsh/5.9/functions/vcs_info_printsys deleted file mode 100644 index b44b9c9b..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info_printsys +++ /dev/null @@ -1,45 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob - -local sys -local -a disabled enabled -local -A vcs_comm - -zstyle -a ":vcs_info:-init-:${1:-default}:-all-" "enable" enabled -(( ${#enabled} == 0 )) && enabled=( all ) - -if (( ${+VCS_INFO_backends} == 0 )); then - autoload -Uz vcs_info_setsys - vcs_info_setsys -fi - -if [[ -n ${(M)enabled:#(#i)all} ]] ; then - enabled=( ${VCS_INFO_backends} ) - zstyle -a ":vcs_info:-init-:${1:-default}:-all-" "disable" disabled -else - for sys in ${VCS_INFO_backends} ; do - [[ -z ${(M)enabled:#$sys} ]] && disabled+=( ${sys} ) - done - enabled=( ${VCS_INFO_backends} ) -fi - -print -l '## list of supported version control backends:' \ - '## disabled systems are prefixed by a hash sign (#)' - -for sys in ${VCS_INFO_backends} ; do - [[ -n ${(M)disabled:#${sys}} ]] && printf '#' - printf '%s\n' ${sys} -done - -print -l '## flavours (cannot be used in the enable or disable styles; they' \ - '## are enabled and disabled with their master [git-svn -> git])' \ - '## they *can* be used in contexts: '\'':vcs_info:git-svn:*'\''.' - -for sys in ${VCS_INFO_backends} ; do - VCS_INFO_detect_${sys} --flavours -done -return 0 diff --git a/result/sw/share/zsh/5.9/functions/vcs_info_setsys b/result/sw/share/zsh/5.9/functions/vcs_info_setsys deleted file mode 100644 index a4c3036b..00000000 --- a/result/sw/share/zsh/5.9/functions/vcs_info_setsys +++ /dev/null @@ -1,25 +0,0 @@ -## vim:ft=zsh -## Written by Frank Terbeck <ft@bewatermyfriend.org> -## Distributed under the same BSD-ish license as zsh itself. - -emulate -L zsh -setopt extendedglob typeset_silent - -local sys -typeset -ga VCS_INFO_backends -local -a match mbegin mend - -VCS_INFO_backends=() - -for file in ${^fpath}/VCS_INFO_get_data_*~*(\~|.zwc)(N) ; do - file=${file:t} - : ${file:#(#b)VCS_INFO_get_data_(*)} - sys=${match[1]} - - [[ -n ${(M)VCS_INFO_backends:#${sys}} ]] && continue - VCS_INFO_backends+=(${sys}) - autoload -Uz VCS_INFO_detect_${sys} - autoload -Uz VCS_INFO_get_data_${sys} -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/vi-pipe b/result/sw/share/zsh/5.9/functions/vi-pipe deleted file mode 100644 index 1729cb6e..00000000 --- a/result/sw/share/zsh/5.9/functions/vi-pipe +++ /dev/null @@ -1,39 +0,0 @@ -# Example of a widget that takes a vi motion - -# Filter part of buffer corresponding to a vi motion through an external -# program. - -# To enable with vi compatible bindings use: -# autoload -Uz vi-pipe -# bindkey -a '!' vi-pipe - -setopt localoptions noksharrays - -autoload -Uz read-from-minibuffer -local _save_cut="$CUTBUFFER" REPLY - -# mark this widget as a vi change so it can be repeated as a whole -zle -f vichange - -# force movement to default to line mode -(( REGION_ACTIVE )) || zle -U V -# Use the standard vi-change to accept a vi motion. -zle .vi-change || return -read-from-minibuffer "!" -zle .vi-cmd-mode -local _save_cur=$CURSOR - -# cut buffer contains the deleted text and can be modified -CUTBUFFER=$(eval "$REPLY" <<<"$CUTBUFFER") - -# put the modified text back in position. -if [[ CURSOR -eq 0 || $BUFFER[CURSOR] = $'\n' ]]; then - # at the beginning of a line, vi-delete won't have moved the cursor - # back to a previous line - zle .vi-put-before -n 1 -else - zle .vi-put-after -n 1 -fi - -# restore cut buffer and cursor to the start of the range -CUTBUFFER="$_save_cut" CURSOR="$_save_cur" diff --git a/result/sw/share/zsh/5.9/functions/which-command b/result/sw/share/zsh/5.9/functions/which-command deleted file mode 100644 index 6e15c32a..00000000 --- a/result/sw/share/zsh/5.9/functions/which-command +++ /dev/null @@ -1,42 +0,0 @@ -zmodload -i zsh/parameter zsh/zutil - -zle -I - -local -a whencecmd wds - -# Set the whence style to your favourite function -# (but NOT which-command!) -zstyle -a :zle:$WIDGET whence whencecmd || whencecmd=(whence -c --) - -wds=(${(z)LBUFFER}) -local wd barewd -local -A seen - -while true; do - wd=${wds[1]} - barewd=${(Q)wd} - - if [[ $barewd != $wd || -n $seen[$barewd] ]]; then - # quoted or already expanded, see if original word is an alias... - if [[ -z $seen[$barewd] && -n $aliases[$wd] ]]; then - # yes, so we need to decode that, with no extra expansion... - $whencecmd $wd - seen[$wd]=1 - wds=(${(z)aliases[$wd]}) - continue - else - # use unquoted word, don't expand alias - (unalias -- $barewd 2>/dev/null; $whencecmd $barewd) - fi - else - # turn on globsubst for =ls etc. - $whencecmd ${~barewd} - if [[ -n $aliases[$barewd] && -z $seen[$barewd] ]]; then - # Recursively expand aliases - seen[$barewd]=1 - wds=(${(z)aliases[$barewd]}) - continue - fi - fi - break -done diff --git a/result/sw/share/zsh/5.9/functions/xtermctl b/result/sw/share/zsh/5.9/functions/xtermctl deleted file mode 100644 index 04083819..00000000 --- a/result/sw/share/zsh/5.9/functions/xtermctl +++ /dev/null @@ -1,120 +0,0 @@ -# Put standard xterm/dtterm window control codes in shell parameters for -# easy use. Note that some terminals do not support all combinations. - -# autoload -Uz xtermctl ; xtermctl -# xtermctl --explain - -# Run once to set up; implements two functions: -# xterm-tell control [args] -# xterm-ask control -# See xtermseq below for valid control names. -ask returns values in -# $reply except for label and title which are returned in $REPLY. - -# E.g. one way to maximize the window (see caveat below): -# xterm-ask screen_chars -# xterm-tell size_chars $reply - -# Might there be terminfo names for these controls? -typeset -Ag xtermseq -xtermseq=( - 1 deiconify 2 iconify - '3;X;Y' position - '4;H;W' size_pixels - 5 raise 6 lower - 7 refresh - '8;H;W' size_chars - '9;0' unmaximize '9;1' maximize - 11 get_iconify - 13 get_position - 14 get_size_pixels - 18 get_size_chars - 19 get_screen_chars - 20 get_label - 21 get_title -) - -local k -for k in ${(k)xtermseq}; do xtermseq[${xtermseq[$k]}]=$k; done - -# TODO (maybe): Populate hashes with completed control sequences similar -# to the $fg and $bg mappings created by Functions/Misc/colors - -function xterm-tell { - local seq=${${${xtermseq[$1]:?no such control}/[HX]/$2}/[WY]/$3} - print -nr -- $'\e['"${seq}"t -} - -# The following use of "read -st 2 ..." with the control sequences in -# the prompt string requires zsh 4.3.5-dev-1 or later (zsh-users/12600 -# or equivalent patch). - -function xterm-ask { - local esc - unset REPLY reply - 1=get_${1#get_} - local seq=${xtermseq[$1]:?no such control} - case $1 in - (get_(label|title)) - read -st 2 -rk 3 esc$'?\e['"${seq}"t || return 1 - read -srd $'\e' - read -srk 1 esc - ;; - (get_*) - read -st 2 -rk 2 esc$'?\e['"${seq}"t || return 1 - IFS=';' read -Arsd t - (( $#reply > 2 )) && shift reply - ;; - esac - return 0 -} - -local documentation; read -rd $'\e' documentation <<'EOdoc' <<<$'\e' - -CSI = "control sequence introducer": ESC [ -OSC = "operating system command": ESC ] -ST = "string terminator": ESC backslash -Ps = "parameter string": (see list below) - -All control sequences described here begin with CSI and end with "t". -Note that there are no spaces in control sequences or responses, -except possibly for the text responses for label and title; spaces -shown below are for readability. - -Window manipulation (from dtterm, as well as extensions). These -controls may be disabled using the allowWindowOps resource. Valid -values for the first (and any additional parameters) are: - -Ps = 1 -> De-iconify window. -Ps = 2 -> Iconify window. -Ps = 3 ; x ; y -> Move window to [x, y]. -Ps = 4 ; height ; width -> Resize the xterm window in pixels. -Ps = 5 -> Raise the xterm window to the front of the stacking order. -Ps = 6 -> Lower the xterm window to the bottom of the stacking order. -Ps = 7 -> Refresh the xterm window. -Ps = 8 ; height ; width -> Resize the text area in characters. -Ps = 9 ; 0 -> Restore maximized window. -Ps = 9 ; 1 -> Maximize window (i.e., resize to screen size). -Ps = 1 1 -> Report xterm window state. - If the xterm window is open (non-iconified), returns CSI 1 t . - If the xterm window is iconified, returns CSI 2 t . -Ps = 1 3 -> Report xterm window position as CSI 3 ; x; yt -Ps = 1 4 -> Report xterm window in pixels as CSI 4 ; height ; width t -Ps = 1 8 -> Report size of text area as CSI 8 ; height ; width t -Ps = 1 9 -> Report size of screen in characters as CSI 9 ; height ; width t -Ps = 2 0 -> Report xterm window's icon label as OSC L label ST -Ps = 2 1 -> Report xterm window's title as OSC l title ST -Ps >= 2 4 -> Resize to Ps lines (DECSLPP) - -The size of the screen in characters is often reported inaccurately. - -Gnome-terminal as of v2.16 responds to 13/14/18/19 but fails to insert -the Ps digit 3/4/8/9 between the CSI and the reported dimensions, and -does not appear to respond to any of Ps in 1-9. Window managers may -also affect behavior; the Gnome desktop allows xterm to resize or -iconify itself but won't reliably let it reposition itself. - -EOdoc - -[[ -n "${(M)@:#--explain}" ]] && print "$documentation" - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/zargs b/result/sw/share/zsh/5.9/functions/zargs deleted file mode 100644 index 81916a3a..00000000 --- a/result/sw/share/zsh/5.9/functions/zargs +++ /dev/null @@ -1,319 +0,0 @@ -# function zargs { -# -# This function works like GNU xargs, except that instead of reading lines -# of arguments from the standard input, it takes them from the command -# line. This is possible/useful because, especially with recursive glob -# operators, zsh often can construct a command line for a shell function -# that is longer than can be accepted by an external command. -# -# Like xargs, zargs exits with the following status: -# 0 if it succeeds -# 123 if any invocation of the command exited with status 1-125 -# 124 if the command exited with status 255 -# 125 if the command is killed by a signal -# 126 if the command cannot be run -# 127 if the command is not found -# 1 if some other error occurred. -# -# The full set of GNU xargs options is supported (see help text below); -# although --eof and --max-lines therefore have odd names, they have -# analogous meanings to their xargs counterparts. Also zargs --help is -# a lot more helpful than xargs --help, at least as of xargs 4.1. -# -# Note that "--" is used both to end the options and to begin the command, -# so to specify some options along with an empty set of input-args, one -# must repeat the "--" as TWO consecutive arguments, e.g.: -# zargs --verbose -- -- print There are no input-args -# If there is at least one input-arg, the first "--" may be omitted: -# zargs -p -i one -- print There is just {} input-arg -# Obviously, if there is no command, the second "--" may be omitted: -# zargs -n2 These words will be echoed in five lines of two -# -# BUGS: -# -# In the interests of expediency, numeric options (max-procs, max-lines, -# etc.) are range-checked only when their values make a difference to the -# end result. Because of the way zsh handles variables in math context, -# it's possible to pass the name of a variable as the value of a numeric -# option, and the value of that variable becomes the value of the option. -# -# "Killed by a signal" is determined by the usual shell rule that $? is -# the signal number plus 128, so zargs can be fooled by a command that -# explicitly exits with 129+. Also, zsh prior to 4.1.x returns 1 rather -# than 127 for "command not found" so this function incorrectly returns -# 123 in that case if used with zsh 4.0.x. -# -# Because of "wait" limitations, --max-procs spawns max-procs jobs, then -# waits for all of those, then spawns another batch, etc. -# -# The maximum number of parallel jobs for which exit status is available -# is determined by the sysconf CHILD_MAX parameter, which can't be read -# or changed from within the shell. -# -# Differences from POSIX xargs: -# -# * POSIX requires a space between -I/-L/-n/-s and their numeric argument; -# zargs uses zparseopts, which does not require the space. -# -# * POSIX -L and -n are mutually exclusive and effectively synonymous; -# zargs accepts both and considers -n to be a limit on the total number -# of arguments per command line, that is, including the initial-args. -# Thus the following fails with "argument list too long": -# zargs -n 3 -- echo Here are four words -# The smallest limit implied by the combination of -L and -n is used. -# -# * POSIX implies the last of -n/-i/-I/-l/-L on the command line is meant -# to cancel any of those that precede it. (This is unspecified for -# -I/-L and implementations reportedly differ.) In zargs, -i/-I have -# this behavior, as do -l/-L, but when -i/-I appear anywhere then -l/-L -# are ignored (forced to 1). -# -# * The use of SIGUSR1 and SIGUSR2 to change the number of parallel jobs -# is not supported. - -# First, capture the current setopts as "sticky emulation" -if zmodload zsh/parameter -then - emulate $(emulate -l) -c "\ - _zarun() { - options=( ${(j: :kv)options[@]} monitor off zle off )"' - eval "$@" - }' -else - # Warning? - emulate $(emulate -l) -c '_zarun() { eval "$@" }' -fi - -emulate -L zsh || return 1 -local -a opts eof n s l P i - -local ZARGS_VERSION="1.7" - -if zparseopts -a opts -D -- \ - -eof::=eof e::=eof \ - -exit x \ - -help \ - -interactive p \ - -max-args:=n n:=n \ - -max-chars:=s s:=s \ - -max-lines::=l l::=l L:=l \ - -max-procs:=P P:=P \ - -no-run-if-empty r \ - -null 0 \ - -replace::=i i::=i I:=i \ - -verbose t \ - -version -then - if (( $opts[(I)--version] )) - then - print -u2 zargs version $ZARGS_VERSION zsh $ZSH_VERSION - fi - if (( $opts[(I)--help] )) - then - >&2 <<-\HELP - Usage: zargs [options --] [input-args] [-- command [initial-args]] - - If command and initial-args are omitted, "print -r --" is used. - - Options: - --eof[=eof-str], -e[eof-str] - Change the end-of-input-args string from "--" to eof-str. If - given as --eof=, an empty argument is the end; as --eof or -e, - with no (or an empty) eof-str, all arguments are input-args. - --exit, -x - Exit if the size (see --max-chars) is exceeded. - --help - Print this summary and exit. - --interactive, -p - Prompt before executing each command line. - --max-args=max-args, -n max-args - Use at most max-args arguments per command line. - --max-chars=max-chars, -s max-chars - Use at most max-chars characters per command line. - --max-lines[=max-lines], -l[max-lines] - Use at most max-lines of the input-args per command line. - This option is misnamed for xargs compatibility. - --max-procs=max-procs, -P max-procs - Run up to max-procs command lines in the background at once. - --no-run-if-empty, -r - Do nothing if there are no input arguments before the eof-str. - --null, -0 - Split each input-arg at null bytes, for xargs compatibility. - --replace[=replace-str], -i[replace-str] - Substitute replace-str in the initial-args by each initial-arg. - Implies --exit --max-lines=1. - --verbose, -t - Print each command line to stderr before executing it. - --version - Print the version number of zargs and exit. -HELP - return 0 - fi - if (( $opts[(I)--version] )) - then - return 0 - fi - if (( $#i )) - then - l=1 - i=${${${i##-(i|I|-replace(=|))}[-1]}:-\{\}} - opts[(r)-x]=-x - # The following is not how xargs is documented, - # but GNU xargs does behave as if -i implies -r. - opts[(r)-r]=-r - fi - if (( $#P )) - then - P=${${P##-(P|-max-procs(=|))}:-1} - if [[ x${P} != x$[P] ]] - then - print -u2 zargs: invalid number for -P option - return 1 - fi - else P=1 - fi -else - return 1 -fi - -local -i end c=0 -if [[ $eof == -(e|-eof) ]]; then ((end=ARGC+1)) -elif (( $#eof )); then end=$argv[(i)${eof##-(e|-eof=)}] -else end=$argv[(i)--] -fi -local -a args call command; command=( "${(@)argv[end+1,-1]}" ) - -if (( $opts[(I)-(null|0)] )) -then set -- "${(@ps:\000:)argv[1,end-1]}" -else set -- "${(@)argv[1,end-1]}" -fi - -if (( $#command )) -then (( c = $#command - 1 )) -else command=( print -r -- ) -fi - -local wait bg -local execute=' - if (( $opts[(I)-(-interactive|p)] )) - then read -q "?$call?..." || continue - elif (( $opts[(I)-(-verbose|t)] )) - then print -u2 -r -- "$call" - fi - _zarun "{ - \"\${call[@]}\" - } $bg"' -local ret=0 analyze=' - case $? in - (0) ;; - (<1-125>|128) ret=123;; - (255) return 124;; - (<129-254>) return 125;; - (126) return 126;; - (127) return 127;; - (*) return 1;; - esac' - -if (( ARGC == 0 )) -then - if (( $opts[(I)-(-no-run-if-empty|r)] )) - then return 0 - else - call=($command) - # Use "repeat" here so "continue" won't complain. - repeat 1; do eval "$execute ; $analyze"; done - return $ret - fi -fi - -n=${${n##-(n|-max-args(=|))}:-$[ARGC+c]} -if (( n <= 0 )) -then - print -u2 'zargs: value for max-args must be >= 1' - return 1 -fi - -if (( n > c )) -then (( n -= c )) -else - print -u2 zargs: argument list too long - return 1 -fi - -s=${${s##-(s|-max-chars(=|))}:-20480} -if (( s <= 0 )) -then - print -u2 'zargs: value for max-chars must be >= 1' - return 1 -fi - -l=${${${l##*-(l|L|-max-lines(=|))}[-1]}:-${${l[1]:+1}:-$ARGC}} -if (( l <= 0 )) -then - print -u2 'zargs: value for max-lines must be >= 1' - return 1 -fi - -P=${${P##-(P|-max-procs(=|))}:-1} -if (( P < 0 )) -then - print -u2 'zargs: value for max-procs must be >= 0' - return 1 -fi - -if (( P != 1 && ARGC > 1 )) -then - # These setopts are necessary for "wait" on multiple jobs to work. - setopt nonotify nomonitor - local -a _zajobs - local j - bg='& _zajobs+=( $! )' - wait='wait' - analyze=' - for j in $_zajobs; do - wait $j - '"$analyze"' - done; _zajobs=()' -fi - -# Everything has to be in a subshell so that we don't "wait" for any -# unrelated jobs of the parent shell. -( - -while ((ARGC)) -do - if (( P == 0 || P > ARGC )) - then (( P = ARGC )) - fi - - repeat $P - do - ((ARGC)) || break - for (( end=l; end && ${(c)#argv[1,end]} > s; end/=2 )) { } - (( end > n && ( end = n ) )) - args=( "${(@)argv[1,end]}" ) - shift $((end > ARGC ? ARGC : end)) - if (( $#i )) - then call=( "${(@)command/$i/$args}" ) - else call=( "${(@)command}" "${(@)args}" ) - fi - if (( ${(c)#call} > s )) - then - print -u2 zargs: cannot fit single argument within size limit - # GNU xargs exits here whether or not -x, - # but that just makes the option useless. - (( $opts[(I)-(-exit|x)] )) && return 1 - continue - else - eval "$execute" - fi - done - - eval "$wait - $analyze" -done -return $ret - -) - -# } diff --git a/result/sw/share/zsh/5.9/functions/zcalc b/result/sw/share/zsh/5.9/functions/zcalc deleted file mode 100755 index f7ffb8fa..00000000 --- a/result/sw/share/zsh/5.9/functions/zcalc +++ /dev/null @@ -1,473 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -i -# -# Zsh calculator. Understands most ordinary arithmetic expressions. -# Line editing and history are available. A blank line or `q' quits. -# -# Runs as a script or a function. If used as a function, the history -# is remembered for reuse in a later call (and also currently in the -# shell's own history). There are various problems using this as a -# script, so a function is recommended. -# -# The prompt shows a number for the current line. The corresponding -# result can be referred to with $<line-no>, e.g. -# 1> 32 + 10 -# 42 -# 2> $1 ** 2 -# 1764 -# The set of remembered numbers is primed with anything given on the -# command line. For example, -# zcalc '2 * 16' -# 1> 32 # printed by function -# 2> $1 + 2 # typed by user -# 34 -# 3> -# Here, 32 is stored as $1. This works in the obvious way for any -# number of arguments. -# -# If the mathfunc library is available, probably understands most system -# mathematical functions. The left parenthesis must be adjacent to the -# end of the function name, to distinguish from shell parameters -# (translation: to prevent the maintainers from having to write proper -# lookahead parsing). For example, -# 1> sqrt(2) -# 1.4142135623730951 -# is right, but `sqrt (2)' will give you an error. -# -# You can do things with parameters like -# 1> pi = 4.0 * atan(1) -# too. These go into global parameters, so be careful. You can declare -# local variables, however: -# 1> local pi -# but note this can't appear on the same line as a calculation. Don't -# use the variables listed in the `local' and `integer' lines below -# (translation: I can't be bothered to provide a sandbox). -# -# You can declare or delete math functions (implemented via zmathfuncdef): -# 1> function cube $1 * $1 * $1 -# This has a single compulsory argument. Note the function takes care of -# the punctuation. To delete the function, put nothing (at all) after -# the function name: -# 1> function cube -# -# Some constants are already available: (case sensitive as always): -# PI pi, i.e. 3.1415926545897931 -# E e, i.e. 2.7182818284590455 -# -# You can also change the output base. -# 1> [#16] -# 1> -# Changes the default output to hexadecimal with numbers preceded by `16#'. -# Note the line isn't remembered. -# 2> [##16] -# 2> -# Change the default output base to hexadecimal with no prefix. -# 3> [#] -# Reset the default output base. -# -# This is based on the builtin feature that you can change the output base -# of a given expression. For example, -# 1> [##16] 32 + 20 / 2 -# 2A -# 2> -# prints the result of the calculation in hexadecimal. -# -# You can't change the default input base, but the shell allows any small -# integer as a base: -# 1> 2#1111 -# 15 -# 2> [##13] 13#6 * 13#9 -# 42 -# and the standard C-like notation with a leading 0x for hexadecimal is -# also understood. However, leading 0 for octal is not understood --- it's -# too confusing in a calculator. Use 8#777 etc. -# -# Options: -#<base> is the same as a line containing just `[#<base>], -# similarly -##<base>; they set the default output base, with and without -# a base discriminator in front, respectively. -# -# With the option -e, the arguments are evaluated as if entered -# interactively. So, for example: -# zcalc -e -\#16 -e 1055 -# prints -# 0x41f -# Any number of expressions may be given and they are evaluated -# sequentially just as if read automatically. - -emulate -L zsh -setopt extendedglob typesetsilent - -zcalc_show_value() { - if [[ -n $_base ]]; then - print -- $(( $_base $1 )) - elif [[ $1 = *.* ]] || (( _outdigits )); then - # With normal output, ensure trailing "." doesn't get lost. - if [[ -z $_forms[_outform] || ($_outform -eq 1 && $1 = *.) ]]; then - print -- $(( $1 )) - else - printf "$_forms[_outform]\n" $_outdigits $1 - fi - else - printf "%d\n" $1 - fi -} - -# For testing in ZLE functions. -local ZCALC_ACTIVE=1 - -# TODO: make local variables that shouldn't be visible in expressions -# begin with _. -local _line ans _base _defbase _forms match mbegin mend -local psvar _optlist _opt _arg _tmp -local compcontext="-zcalc-line-" -integer _num _outdigits _outform=1 _expression_mode -integer _rpn_mode _matched _show_stack _i _n -integer _max_stack _push -local -a _expressions stack - -# We use our own history file with an automatic pop on exit. -history -ap "${ZDOTDIR:-$HOME}/.zcalc_history" - -_forms=( '%2$g' '%.*g' '%.*f' '%.*E' '') - -local _mathfuncs -if zmodload -i zsh/mathfunc 2>/dev/null; then - zmodload -P _mathfuncs -FL zsh/mathfunc - _mathfuncs="("${(j.|.)${_mathfuncs##f:}}")" -fi -local -A _userfuncs -for _line in ${(f)"$(functions -M)"}; do - match=(${=_line}) - # get minimum number of arguments - _userfuncs[${match[3]}]=${match[4]} -done -_line= -autoload -Uz zmathfuncdef - -if (( ! ${+ZCALCPROMPT} )); then - typeset -g ZCALCPROMPT="%1v> " -fi - -# Supply some constants. -float PI E -(( PI = 4 * atan(1), E = exp(1) )) - -if [[ -f "${ZDOTDIR:-$HOME}/.zcalcrc" ]]; then - . "${ZDOTDIR:-$HOME}/.zcalcrc" || return 1 -fi - -# Process command line -while [[ -n $1 && $1 = -(|[#-]*|f|e|r(<->|)) ]]; do - _optlist=${1[2,-1]} - shift - [[ $_optlist = (|-) ]] && break - while [[ -n $_optlist ]]; do - _opt=${_optlist[1]} - _optlist=${_optlist[2,-1]} - case $_opt in - ('#') # Default base - if [[ -n $_optlist ]]; then - _arg=$_optlist - _optlist= - elif [[ -n $1 ]]; then - _arg=$1 - shift - else - print -- "-# requires an argument" >&2 - return 1 - fi - if [[ $_arg != (|\#)[[:digit:]]## ]]; then - print -- "-# requires a decimal number as an argument" >&2 - return 1 - fi - _defbase="[#${_arg}]" - ;; - (f) # Force floating point operation - setopt forcefloat - ;; - (e) # Arguments are expressions - (( _expression_mode = 1 )); - ;; - (r) # RPN mode. - (( _rpn_mode = 1 )) - ZCALC_ACTIVE=rpn - if [[ $_optlist = (#b)(<->)* ]]; then - (( _show_stack = ${match[1]} )) - _optlist=${_optlist[${#match[1]}+1,-2]} - fi - ;; - esac - done -done - -if (( _expression_mode )); then - _expressions=("$@") - argv=() -fi - -for (( _num = 1; _num <= $#; _num++ )); do - # Make sure all arguments have been evaluated. - # The `$' before the second argv forces string rather than numeric - # substitution. - (( argv[$_num] = $argv[$_num] )) - print "$_num> $argv[$_num]" -done - -psvar[1]=$_num -local _prev_line _cont_prompt -while (( _expression_mode )) || - vared -cehp "${_cont_prompt}${ZCALCPROMPT}" _line; do - if (( _expression_mode )); then - (( ${#_expressions} )) || break - _line=$_expressions[1] - shift _expressions - fi - if [[ $_line = (|*[^\\])('\\')#'\' ]]; then - _prev_line+=$_line[1,-2] - _cont_prompt="..." - _line= - continue - fi - _line="$_prev_line$_line" - _prev_line= - _cont_prompt= - # Test whether there are as many open as close - # parentheses in the _line so far. - if [[ ${#_line//[^\(]} -gt ${#_line//[^\)]} ]]; then - _prev_line+=$_line - _cont_prompt="..." - _line= - continue - fi - [[ -z $_line ]] && break - # special cases - # Set default base if `[#16]' or `[##16]' etc. on its own. - # Unset it if `[#]' or `[##]'. - if [[ $_line = (#b)[[:blank:]]#('[#'(\#|)((<->|)(|_|_<->))']')[[:blank:]]#(*) ]]; then - if [[ -z $match[6] ]]; then - if [[ -z $match[3] ]]; then - _defbase= - else - _defbase=$match[1] - fi - print -s -- $_line - print -- $(( ${_defbase} ans )) - _line= - continue - else - _base=$match[1] - fi - else - _base=$_defbase - fi - - print -s -- $_line - - _line="${${_line##[[:blank:]]#}%%[[:blank:]]#}" - case "$_line" in - # Escapes begin with a colon - (:(\\|)\!*) - # shell escape: handle completion's habit of quoting the ! - eval ${_line##:(\\|)\![[:blank:]]#} - _line= - continue - ;; - - ((:|)q) - # Exit - return 0 - ;; - - ((:|)norm) # restore output format to default - _outform=1 - ;; - - ((:|)sci[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=2 - ;; - - ((:|)fix[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=3 - ;; - - ((:|)eng[[:blank:]]#(#b)(<->)(#B)) - _outdigits=$match[1] - _outform=4 - ;; - - (:raw) - _outform=5 - ;; - - ((:|)local([[:blank:]]##*|)) - eval ${_line##:} - _line= - continue - ;; - - ((function|:f(unc(tion|)|))[[:blank:]]##(#b)([^[:blank:]]##)(|[[:blank:]]##([^[:blank:]]*))) - zmathfuncdef $match[1] $match[3] - _userfuncs[$match[1]]=${$(functions -Mm $match[1])[4]} - _line= - continue - ;; - - (:*) - print "Unrecognised escape" - _line= - continue - ;; - - (\$[[:IDENT:]]##) - # Display only, no calculation - _line=${_line##\$} - print -r -- ${(P)_line} - _line= - continue - ;; - - (*) - _line=${${_line##[[:blank:]]##}%%[[:blank:]]##} - if [[ _rpn_mode -ne 0 && $_line != '' ]]; then - _push=1 - _matched=1 - case $_line in - (\<[[:IDENT:]]##) - ans=${(P)${_line##\<}} - ;; - - (\=|pop|\>[[:IDENT:]]#) - if (( ${#stack} < 1 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - case $_line in - (=) - ans=${stack[1]} - ;; - (pop|\>) - _push=0 - shift stack - ;; - (\>[[:IDENT:]]##) - if [[ ${_line##\>} = (_*|stack|ans|PI|E) ]]; then - print "${_line##\>}: reserved variable" >&2 - _line= - continue - fi - local ${_line##\>} - (( ${_line##\>} = ${stack[1]} )) - _push=0 - shift stack - ;; - (*) - print "BUG in special RPN functions" >&2 - _line= - continue - ;; - esac - ;; - - (+|-|\^|\||\&|\*|/|\*\*|\>\>|\<\</) - # Operators with two arguments - if (( ${#stack} < 2 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - eval "(( ans = \${stack[2]} $_line \${stack[1]} ))" - shift 2 stack - ;; - - (ldexp|jn|yn|scalb|xy|\<\>) - # Functions with two arguments - if (( ${#stack} < 2 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - if [[ $_line = (xy|\<\>) ]]; then - _tmp=${stack[1]} - stack[1]=${stack[2]} - stack[2]=$_tmp - _push=0 - else - eval "(( ans = ${_line}(\${stack[2]},\${stack[1]}) ))" - shift 2 stack - fi - ;; - - (${~_mathfuncs}) - # Functions with a single argument. - # This is actually a superset, but we should have matched - # any that shouldn't be in it in previous cases. - if (( ${#stack} < 1 )); then - print -r -- "${_line}: not enough values on stack" >&2 - _line= - continue - fi - eval "(( ans = ${_line}(\${stack[1]}) ))" - shift stack - ;; - - (${(kj.|.)~_userfuncs}) - # Get minimum number of arguments to user function - _n=${_userfuncs[$_line]} - if (( ${#stack} < n_ )); then - print -r -- "${_line}: not enough values ($_n) on stack" >&2 - _line= - continue - fi - _line+="(" - # least recent elements on stack are earlier arguments - for (( _i = _n; _i > 0; _i-- )); do - _line+=${stack[_i]} - (( _i > 1 )) && _line+="," - done - _line+=")" - shift $_n stack - eval "(( ans = $_line ))" - ;; - - (*) - # Treat as expression evaluating to new value to go on stack. - _matched=0 - ;; - esac - else - _matched=0 - fi - if (( ! _matched )); then - # Latest value is stored` as a string, because it might be floating - # point or integer --- we don't know till after the evaluation, and - # arrays always store scalars anyway. - # - # Since it's a string, we'd better make sure we know which - # base it's in, so don't change that until we actually print it. - if ! eval "ans=\$(( $_line ))"; then - _line= - continue - fi - # on error $ans is not set; let user re-edit _line - [[ -n $ans ]] || continue - fi - argv[_num++]=$ans - psvar[1]=$_num - (( _push )) && stack=($ans $stack) - ;; - esac - if (( _show_stack )); then - (( _max_stack = (_show_stack > ${#stack}) ? ${#stack} : _show_stack )) - for (( _i = _max_stack; _i > 0; _i-- )); do - printf "%3d: " $_i - zcalc_show_value ${stack[_i]} - done - else - zcalc_show_value $ans - fi - _line= -done - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/zcalc-auto-insert b/result/sw/share/zsh/5.9/functions/zcalc-auto-insert deleted file mode 100644 index e1affd1c..00000000 --- a/result/sw/share/zsh/5.9/functions/zcalc-auto-insert +++ /dev/null @@ -1,9 +0,0 @@ -# Bind to a binary operator keystroke for use with zcalc -# Not useful in RPN mode. - -if [[ -n $ZCALC_ACTIVE && $ZCALC_ACTIVE != rpn ]]; then - if [[ $CURSOR -eq 0 || $LBUFFER[-1] = "(" ]]; then - LBUFFER+=${ZCALC_AUTO_INSERT_PREFIX:-"ans "} - fi -fi -zle .self-insert diff --git a/result/sw/share/zsh/5.9/functions/zed b/result/sw/share/zsh/5.9/functions/zed deleted file mode 100755 index d57be75c..00000000 --- a/result/sw/share/zsh/5.9/functions/zed +++ /dev/null @@ -1,188 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -# zed -# -# No other shell could do this. -# Edit small files with the command line editor. -# Use ^X^W to save (or ZZ in vicmd mode), ^C to abort. -# Option -f: edit shell functions. (Also if called as fned.) -# Option -h: edit shell history. (Also if called as histed.) - -setopt localoptions noksharrays - -local var opts zed_file_name -# We do not want timeout while we are editing a file -integer TMOUT=0 okargs=1 fun hist bind -local -a expand - -zparseopts -D -A opts f h b x: -fun=$+opts[-f] -hist=$+opts[-h] -bind=$+opts[-b] -if [[ $opts[-x] == <-> ]]; then - expand=(-x $opts[-x]) -elif (( $+opts[-x] )); then - print -r "Integer expected after -x: $opts[-x]" >&2 - return 1 -fi - -[[ $0 = fned ]] && fun=1 -[[ $0 = histed ]] && hist=1 -(( hist && $# <= 2 )) && okargs=$# -(( bind )) && okargs=0 - -if (( $# != okargs || bind + fun + hist > 1 )); then - echo 'Usage: -zed filename -zed -f [ -x N ] function -zed -h [ filename [ size ] ] -zed -b' >&2 - return 1 -fi - -local curcontext=zed::: - -() { - # Matching used in zstyle -m: hide result from caller. - # Variables not used directly here. - local -a match mbegin mend - zstyle -m ":completion:zed:*" insert-tab '*' || - zstyle ":completion:zed:*" insert-tab yes -} - -zmodload zsh/terminfo 2>/dev/null - -__zed_pg_up() -{ - integer count=$(( LINES / 2 - 1 )) - while (( count -- )); do - zle up-line - done -} - -__zed_pg_down() -{ - integer count=$(( LINES / 2 - 1 )) - while (( count -- )); do - zle down-line - done -} - -if ! zle -la __zed_pg_up __zed_pg_down; then - zle -N __zed_pg_up - zle -N __zed_pg_down -fi - -if (( bind )) || ! bindkey -M zed >&/dev/null; then - # Make the zed keymap a copy of the current main. - bindkey -N zed main - # Save the current main. In zle widgets called from - # zed we may want to set this temporally. - bindkey -A main zed-normal-keymap - - # Define a widget to use at startup, undo shouldn't clear initial buffer - __zed_init() { - UNDO_LIMIT_NO=$UNDO_CHANGE_NO - } - zle -N __zed_init - - # Assign some default keys. - # Depending on your stty's, you may be able to use ^J as accept-line, else: - - # The following isn't useful if we are copying viins, but that's - # a nicety. - bindkey -M zed '^x^w' accept-line - bindkey -M zed '^M' self-insert-unmeta - - [[ ${+terminfo} = 1 ]] && { - [[ -n "$terminfo[kpp]" ]] && bindkey -M zed "$terminfo[kpp]" __zed_pg_up - [[ -n "$terminfo[knp]" ]] && bindkey -M zed "$terminfo[knp]" __zed_pg_down - [[ -n "$terminfo[khome]" ]] && bindkey -M zed "$terminfo[khome]" beginning-of-line - [[ -n "$terminfo[kend]" ]] && bindkey -M zed "$terminfo[kend]" end-of-line - - # Fallback to well known code as terminfo might be wrong (often) sometimes - bindkey -M zed "^[[H" beginning-of-line - bindkey -M zed "^[[F" end-of-line - } - - # Make zed-set-file-name available. - # Assume it's in fpath; there's no error at this point if it isn't - autoload -Uz zed-set-file-name - zle -N zed-set-file-name -fi -if (( bind )) || ! bindkey -M zed-vicmd >&/dev/null; then - bindkey -N zed-vicmd vicmd - - bindkey -M zed-vicmd "ZZ" accept-line - [[ ${+terminfo} = 1 ]] && { - [[ -n "$terminfo[kpp]" ]] && bindkey -M zed-vicmd "$terminfo[kpp]" __zed_pg_up - [[ -n "$terminfo[knp]" ]] && bindkey -M zed-vicmd "$terminfo[knp]" __zed_pg_down - [[ -n "$terminfo[khome]" ]] && bindkey -M zed-vicmd "$terminfo[khome]" vi-beginning-of-line - [[ -n "$terminfo[kend]" ]] && bindkey -M zed-vicmd "$terminfo[kend]" vi-end-of-line - - # Fallback to well known code as terminfo might be wrong (often) sometimes - bindkey -M zed-vicmd "^[[H" vi-beginning-of-line - bindkey -M zed-vicmd "^[[F" vi-end-of-line - } -fi - -(( bind )) && return 0 - -# don't mangle !'s -setopt localoptions nobanghist - -if ((fun)) then - var="$(functions $expand -- "$1")" - # If function is undefined but autoloadable, load it - if [[ $var = *\#\ undefined* ]] then - var="$(autoload +X "$1"; functions -- "$1")" - elif [[ -z $var ]] then - var="${(q-)1} () { -}" - fi - vared -M zed -m zed-vicmd -i __zed_init var && eval function "$var" -elif ((hist)) then - if [[ -n $1 ]]; then - { fc -p -a "$1" ${2:-$({ wc -l <"$1" } 2>/dev/null)} || return } - let HISTSIZE++ - print -s "" # Work around fc -p limitation - fi - # When editing the current shell history, the "zed -h" command is not - # itself included because the current event is not added to the ring - # until the next prompt is printed. This means "zed -h" is prepended - # to the result of the edit, because of the way "print -s" is defined. - var=( "${(@Oav)history}" ) - IFS=$'\n' vared -M zed -m zed-vicmd -i __zed_init var - if (( ? )); then - [[ -n $1 ]] && unset HISTFILE - else - local HISTSIZE=0 savehist=$#var - fc -R /dev/null # Remove entries other than those added here - HISTSIZE=$savehist # Resets on function exit because local - [[ -n $1 ]] && SAVEHIST=$savehist # Resets via foregoing fc -a - for (( hist=1; hist <= savehist; hist++ )) - do print -rs -- "$var[hist]" - done - if [[ -n $zed_file_name ]]; then - fc -W "$zed_file_name" - [[ -n $1 ]] && unset HISTFILE - fi - # Note prepend effect when global HISTSIZE greater than $savehist. - # This does not affect file editing. - fi -else - zed_file_name="$1" - [[ -f $1 ]] && var="$(<"$1")" - while vared -M zed -m zed-vicmd -i __zed_init var - do - { - print -r -- "$var" >| "$zed_file_name" - } always { - (( TRY_BLOCK_ERROR = 0 )) - } && break - echo -n -e '\a' - done -fi - -return 0 - -# End of zed diff --git a/result/sw/share/zsh/5.9/functions/zed-set-file-name b/result/sw/share/zsh/5.9/functions/zed-set-file-name deleted file mode 100644 index 74561066..00000000 --- a/result/sw/share/zsh/5.9/functions/zed-set-file-name +++ /dev/null @@ -1,26 +0,0 @@ -emulate -L zsh - -autoload -Uz read-from-minibuffer - -case $curcontext in - (zed:::) - local curcontext=zed-set-file-name::: - # The call to vared from zed does the equivalent of - # bindkey -A zed main - # which confuses read-from-minibuffer. Fix it. - bindkey -A zed-normal-keymap main;; - (zed-set-file-name:::) - zle -M "zed-set-file-name: may not be called recursively" - return 1;; - (*) - zle -M "zed-set-file-name: not called from within zed" - return 1;; -esac -{ - local REPLY - read-from-minibuffer "File name: " - zed_file_name=$REPLY -} always { - # Re-install the zed keymap in the way vared should have all along - zle -K zed -} diff --git a/result/sw/share/zsh/5.9/functions/zfanon b/result/sw/share/zsh/5.9/functions/zfanon deleted file mode 100644 index 336609bd..00000000 --- a/result/sw/share/zsh/5.9/functions/zfanon +++ /dev/null @@ -1,69 +0,0 @@ -# function zfanon { - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfanon -local opt opt_1 dir - -while getopts :1 opt; do - [[ $opt = "?" ]] && print "zfanon: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ -z $EMAIL_ADDR ]]; then - # Exercise in futility. There's a poem by Wallace Stevens - # called something like `N ways of looking at a blackbird', - # where N is somewhere around 0x14 to 0x18. Now zftp is - # ashamed to present `N ways of looking at a hostname'. - local domain host - # First, maybe we've already got it. Zen-like. - if [[ $HOST = *.* ]]; then - # assume this is the full host name - host=$HOST - elif [[ -f /etc/resolv.conf ]]; then - # Next, maybe we've got resolv.conf. - domain=${${=${(M)${(f)"$(</etc/resolv.conf)"}:#domain*}}[2]} - [[ -n $domain ]] && host=$HOST.$domain - fi - # Next, maybe we've got nslookup. May not work on LINUX. - [[ -z $host ]] && host=${${=${(M)${(f)"$(nslookup $HOST 2>/dev/null)"}:#Name:*}}[2]} - if [[ -z $host ]]; then - # we're running out of ideas, but this should work. - # after all, i wrote it... - # don't want user to know about this, too embarrassed. - local oldvb=$ZFTP_VERBOSE oldtm=$ZFTP_TMOUT - ZFTP_VERBOSE= - ZFTP_TMOUT=5 - if zftp open $host >& /dev/null; then - host=$ZFTP_HOST - zftp close $host - fi - ZFTP_VERBOSE=$oldvb - ZFTP_TMOUT=$oldtm - fi - if [[ -z $host ]]; then - print "Can't get your hostname. Define \$EMAIL_ADDR by hand." - return 1; - fi - EMAIL_ADDR="$USER@$host" - print "Using $EMAIL_ADDR as anonymous FTP password." -fi - -if [[ $1 = */* ]]; then - 1=${1##ftp://} - dir=${1#*/} - 1=${1%%/*} -fi - -if [[ $opt_1 = 1 ]]; then - zftp open $1 anonymous $EMAIL_ADDR || return 1 -else - zftp params $1 anonymous $EMAIL_ADDR - zftp open || return 1 -fi - -if [[ -n $dir ]]; then - zfcd $dir -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfautocheck b/result/sw/share/zsh/5.9/functions/zfautocheck deleted file mode 100644 index a8b24ef0..00000000 --- a/result/sw/share/zsh/5.9/functions/zfautocheck +++ /dev/null @@ -1,41 +0,0 @@ -# function zfautocheck { -# This function is used to implement auto-open behaviour. -# -# With first argument including n, don't change to the old directory; else do. -# -# Set do_close to 1 if the connection was not previously open, 0 otherwise -# With first argument including d, don't set do_close to 1. Broadly -# speaking, we use this mechanism to shut the connection after use -# if the connection had been explicitly closed (i.e. didn't time out, -# which zftp test investigates) and we are not using a directory -# command, which implies we are looking for something so should stay open -# for it. - -# Remember the old location: will be overwritten by -# a successful open. -local lastloc=$zfconfig[lastloc_$ZFTP_SESSION] - -# Don't print out user messages when re-opening the connection. -local ZFTP_VERBOSE=${ZFTP_VERBOSE//0} - -# Unset the delay counter from the progress meter in case there was an -# abnormal exit. -(( ${+zftpseconds} )) && unset zftpseconds - -if [[ -z $ZFTP_HOST ]]; then - zfopen || return 1 - [[ $1 == *d* ]] || do_close=1 -elif zftp test 2>/dev/null; then - return 0 -else - zfopen || return 1 -fi - -if [[ $1 == *n* ]]; then - return 0 -elif [[ -n $lastloc && $ZFTP_HOST == ${lastloc%%:*} ]]; then - # don't print directory since we're just going back where we were. - zfcd ${lastloc#*:} >& /dev/null -fi - -# } diff --git a/result/sw/share/zsh/5.9/functions/zfcd b/result/sw/share/zsh/5.9/functions/zfcd deleted file mode 100644 index 381d83ee..00000000 --- a/result/sw/share/zsh/5.9/functions/zfcd +++ /dev/null @@ -1,58 +0,0 @@ -# function zfcd { -# zfcd: change directory on the remote server. -# -# Currently has the following features: -# --- an initial string matching $HOME in the directory is turned back into ~ -# to be re-interpreted by the remote server. -# --- zfcd with no arguments changes directory to '~' -# --- `zfcd old new' and `zfcd -' work analagously to cd -# --- if the connection is not currently open, it will try to -# re-open it with the stored parameters as set by zfopen. -# If the connection timed out, however, it won't know until -# too late. In that case, just try the same zfcd command again -# (but now `zfcd -' and `zfcd old new' won't work). - -# hack: if directory begins with $HOME, turn it back into ~ -# there are two reasons for this: -# first, a ~ on the command line gets expanded even with noglob. -# (I suppose this is correct, but I wouldn't like to swear to it.) -# second, we can no do 'zfcd $PWD' and the like, and that will -# work just as long as the directory structures under the home match. - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfcd - -if [[ $1 = /* ]]; then - zfautocheck -dn || return 1 -else - zfautocheck -d || return 1 -fi - -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -if (( $# == 0 )); then - # Emulate `cd' behaviour - set -- '~' -elif [[ $# -eq 1 && $1 = - ]]; then - # Emulate `cd -' behaviour. - set -- $zfconfig[lastdir_$ZFTP_SESSION] -elif [[ $# -eq 2 ]]; then - # Emulate `cd old new' behaviour. - # We have to find a character not in $1 or $2; ! is a good bet. - eval set -- "\${ZFTP_PWD:s!$1!$2!}" -fi - -# We have to remember the current directory before changing it -# if we want to keep it. -local lastdir=$ZFTP_PWD - -if zftp cd "$@" && [[ $lastdir != $ZFTP_PWD ]]; then - # Invalidate current directory listing. - rm -f $zfconfig[curdir_$ZFTP_SESSION] - zfconfig[lastdir_$ZFTP_SESSION]=$lastdir -fi - -print $zfconfig[lastloc_$ZFTP_SESSION] -# } diff --git a/result/sw/share/zsh/5.9/functions/zfcd_match b/result/sw/share/zsh/5.9/functions/zfcd_match deleted file mode 100644 index d977983b..00000000 --- a/result/sw/share/zsh/5.9/functions/zfcd_match +++ /dev/null @@ -1,52 +0,0 @@ -# function zfcd_match { - -emulate -L zsh -setopt extendedglob - -# see zfcd for details of this hack -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -# error messages only -local ZFTP_VERBOSE=45 -# should we redirect 2>/dev/null or let the user see it? - -local -a match mbegin mend - -if [[ $ZFTP_SYSTEM = UNIX* ]]; then - # hoo, aren't we lucky: this makes things so much easier - setopt rcexpandparam - local dir - if [[ $1 = ?*/* ]]; then - dir=${1%/*} - elif [[ $1 = /* ]]; then - dir=/ - fi - # If we're using -F, we get away with using a directory - # to list, but not a glob. Don't ask me why. - reply=(${(M)${(f)"$(zftp ls -lF $dir)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##\/}) - - # If ls -lF doesn't work, try dir ... - if ! (($#reply)); then - reply=(${(M)${(f)"$(zftp dir $dir)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - fi - reply=(${reply/(#b)d([^[:space:]]##[[:space:]]##)(#c8)([^\/]##)\/#/$match[2]}) -# () { -# zftp ls -LF $dir >|$1 -# reply=($(awk '/\/$/ { print substr($1, 1, length($1)-1) }' $1)) -# } =(<<<'') - [[ -n $dir && $dir != */ ]] && dir="$dir/" - if [[ -n $WIDGET ]]; then - _wanted directories expl 'remote directory' \ - compadd -S/ -q -P "$dir" - $reply - elif [[ -n $dir ]]; then - reply=(${dir}$reply) - fi -else - # I simply don't know what to do here. - # Just use the list of files for the current directory. - zfget_match $* -fi - -# } diff --git a/result/sw/share/zsh/5.9/functions/zfcget b/result/sw/share/zsh/5.9/functions/zfcget deleted file mode 100644 index 569ee9de..00000000 --- a/result/sw/share/zsh/5.9/functions/zfcget +++ /dev/null @@ -1,75 +0,0 @@ -# function zfcget { -# Continuation get of files from remote server. -# For each file, if it's shorter here, try to get the remainder from -# over there. This requires the server to support the REST command -# in the way many do but RFC959 doesn't specify. -# Options: -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfcget -local loc rem stat=0 opt opt_G opt_t remlist locst remst -local rstat tsize - -while getopts :Gt opt; do - [[ $opt = '?' ]] && print "zfcget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist = $HOME || $remlist = $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=${rem:t} - if [[ ! -f $loc ]]; then - # File does not yet exist - zftp get $rem >$loc || stat=$? - else - # Compare the sizes. - locst=($(zftp local $loc)) - () { - zftp remote $rem >|$1 - rstat=$? - remst=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not support SIZE command.\n" \ - "Assuming you know what you're doing..." 2>&1 - zftp getat $rem $locst[1] >>$loc || stat=$? - continue - elif [[ $rstat = 1 ]]; then - print "Remote file not found: $rem" 2>&1 - continue - fi - if [[ $locst[1] -gt $remst[1] ]]; then - print "Local file is larger!" 2>&1 - continue; - elif [[ $locst[1] == $remst[1] ]]; then - print "Files are already the same size." 2>&1 - continue - else - if zftp getat $rem $locst[1] >>$loc; then - [[ $opt_t = 1 ]] && zfrtime $loc $rem $remst[2] - else - stat=1 - fi - fi - fi - done - fi -done - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfclose b/result/sw/share/zsh/5.9/functions/zfclose deleted file mode 100644 index b1823fb4..00000000 --- a/result/sw/share/zsh/5.9/functions/zfclose +++ /dev/null @@ -1,4 +0,0 @@ -# function zfclose { -[[ $curcontext = :zf* ]] || local curcontext=:zfclose -zftp close -# } diff --git a/result/sw/share/zsh/5.9/functions/zfcput b/result/sw/share/zsh/5.9/functions/zfcput deleted file mode 100644 index eafecde7..00000000 --- a/result/sw/share/zsh/5.9/functions/zfcput +++ /dev/null @@ -1,77 +0,0 @@ -# function zfcput { -# Continuation put of files from remote server. -# For each file, if it's shorter over there, put the remainder from -# over here. This uses append, which is standard, so unlike zfcget it's -# expected to work on any reasonable server... err, as long as it -# supports SIZE and MDTM. (It could be enhanced so you can enter the -# size so far by hand.) You should probably be in binary transfer -# mode, thought it's not enforced. -# -# To read from midway through a local file, `tail +<n>c' is used. -# It would be nice to find a way of doing this which works on all OS's. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfcput -local loc rem stat=0 locst remst offs tailtype - -# find how tail works. this is intensely annoying, since it's completely -# standard in C. od's no use, since we can only skip whole blocks. -if [[ $(echo abcd | tail +2c) = bcd ]]; then - tailtype=c -elif [[ $(echo abcd | tail --bytes=+2) = bcd ]]; then - tailtype=b -else - print "I can't get your \`tail' to start from arbitrary characters.\n" \ - "If you know how to do this, let me know." 2>&1 - return 1 -fi - -for loc in $*; do - # zfcd directory hack to put the front back to ~ - rem=$loc - if [[ $rem = $HOME || $rem = $HOME/* ]]; then - rem="~${rem#$HOME}" - fi - if [[ ! -r $loc ]]; then - print "Can't read file $loc" - stat=1 - else - # Compare the sizes. - locst=($(zftp local $loc)) - () { - zftp remote $rem >|$1 - rstat=$? - remst=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not support remote status commands.\n" \ - "You will have to find out the size by hand and use zftp append." 2>&1 - stat=1 - continue - elif [[ $rstat = 1 ]]; then - # Not found, so just do a standard put. - zftp put $rem <$loc - elif [[ $remst[1] -gt $locst[1] ]]; then - print "Remote file is larger!" 2>&1 - continue; - elif [[ $locst[1] == $remst[1] ]]; then - print "Files are already the same size." 2>&1 - continue - else - # tail +<N>c takes the count of the character - # to start from, not the offset from zero. if we did - # this with years, then 2000 would be 1999. no y2k bug! - # brilliant. - (( offs = $remst[1] + 1 )) - if [[ $tailtype = c ]]; then - tail +${offs}c $loc | zftp append $rem || stat=1 - else - tail --bytes=+$offs $loc | zftp append $rem || stat=1 - fi - fi - fi -done - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfdir b/result/sw/share/zsh/5.9/functions/zfdir deleted file mode 100644 index 5ec0ebf8..00000000 --- a/result/sw/share/zsh/5.9/functions/zfdir +++ /dev/null @@ -1,109 +0,0 @@ -# function zfdir { -# Long directory of remote server. -# The remote directory is cached. In fact, two caches are kept: -# one of the standard listing of the current directory, i.e. zfdir -# with no arguments, and another for everything else. -# To access the appropriate cache, just use zfdir with the same -# arguments as previously. zfdir -r will also re-use the `everything -# else' cache; you can always reuse the current directory cache just -# with zfdir on its own. -# -# The current directory cache is emptied when the directory changes; -# the other is kept until a new zfdir with a non-empty argument list. -# Both are removed when the connection is closed. -# -# zfdir -f will force the existing cache to be ignored, e.g. if you know -# or suspect the directory has changed. -# zfdir -d will remove both caches without listing anything. -# If you need to pass -r, -f or -d to the dir itself, use zfdir -- -d etc.; -# unrecognised options are passed through to dir, but zfdir options must -# appear first and unmixed with the others. - -emulate -L zsh -setopt extendedglob - -[[ $curcontext = :zf* ]] || local curcontext=:zfdir -local file opt optlist redir i newargs force -local curdir=$zfconfig[curdir_$ZFTP_SESSION] -local otherdir=$zfconfig[otherdir_$ZFTP_SESSION] - -while [[ $1 = -* ]]; do - if [[ $1 = - || $1 = -- ]]; then - shift; - break; - elif [[ $1 != -[rfd]## ]]; then - # pass options through to ls - break; - fi - optlist=${1#-} - for (( i = 1; i <= $#optlist; i++)); do - opt=$optlist[$i] - case $optlist[$i] in - r) redir=1 - ;; - f) force=1 - ;; - d) [[ -n $curdir && -f $curdir ]] && rm -f $curdir - [[ -n $otherdir && -f $otherdir ]] && rm -f $otherdir - zffcache -d - return 0 - ;; - esac - done - shift -done - -zfautocheck -d || return 1 - -# directory hack, see zfcd -for (( i = 1; i <= $#argv; i++ )); do - if [[ $argv[$i] = $HOME || $argv[$i] = $HOME/* ]]; then - argv[$i]="~${argv[$i]#$HOME}" - fi -done - -if [[ $# -eq 0 && $redir -ne 1 ]]; then - # Cache it in the current directory file. This means that repeated - # calls to zfdir with no arguments always use a cached file. - if [[ -z $curdir ]]; then - curdir=${TMPPREFIX}zfcurdir_${ZFTP_SESSION}_$$ - zfconfig[curdir_$ZFTP_SESSION]=$curdir - fi - file=$curdir -else - # Last directly looked at was not the current one, or at least - # had non-standard arguments. - if [[ -z $otherdir ]]; then - otherdir=${TMPPREFIX}zfotherdir_${ZFTP_SESSION}_$$ - zfconfig[otherdir_$ZFTP_SESSION]=$otherdir - fi - file=$otherdir - newargs="$*" - if [[ -f $file && -n $newargs && $force -ne 1 ]]; then - # Don't use the cached file if the arguments changed. - # Even in zfdir -r new_args ... - [[ $newargs = $zfconfig[otherargs_$ZFTP_SESSION] ]] || rm -f $file - fi - [[ -n $newargs ]] && zfconfig[otherargs_$ZFTP_SESSION]=$newargs -fi - -if [[ $force -eq 1 ]]; then - rm -f $file - # if it looks like current directory has changed, better invalidate - # the filename cache, too. - (( $# == 0 )) && zffcache -d -fi - -if [[ -n $file && -f $file ]]; then - eval ${PAGER:-more} \$file -else - if (zftp test); then - # Works OK in subshells - zftp dir $* | tee $file | eval ${PAGER:-more} - else - # Doesn't work in subshells (IRIX 6.2 --- why?) - zftp dir $* >$file - eval ${PAGER:-more} $file - fi -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zffcache b/result/sw/share/zsh/5.9/functions/zffcache deleted file mode 100644 index b609c210..00000000 --- a/result/sw/share/zsh/5.9/functions/zffcache +++ /dev/null @@ -1,23 +0,0 @@ -# Generate an array name for storing the cache for the current session, -# storing it in fcache_name, then generate the cache for the current -# directory, or with argument -d clear the cache. - -[[ $1 = -d ]] && local fcache_name - -fcache_name=$zfconfig[fcache_$ZFTP_SESSION] -if [[ -z $fcache_name ]]; then - local vals - vals=(${(v)zfconfig[(I)fcache_*]##zftp_fcache_}) - integer i - while [[ -n ${vals[(r)zftp_fcache_$i]} ]]; do - (( i++ )) - done - fcache_name=zftp_fcache_$i - zfconfig[fcache_$ZFTP_SESSION]=$fcache_name -fi - -if [[ $1 = -d ]]; then - unset $fcache_name -elif (( ${(P)#fcache_name} == 0 )); then - eval "$fcache_name=(\${(f)\"\$(zftp ls)\"})" -fi diff --git a/result/sw/share/zsh/5.9/functions/zfgcp b/result/sw/share/zsh/5.9/functions/zfgcp deleted file mode 100644 index c9045c95..00000000 --- a/result/sw/share/zsh/5.9/functions/zfgcp +++ /dev/null @@ -1,73 +0,0 @@ -# function zfgcp { -# ZFTP get as copy: i.e. first arguments are remote, last is local. -# Supposed to work exactly like a normal copy otherwise, i.e. -# zfgcp rfile lfile -# or -# zfgcp rfile1 rfile2 rfile3 ... ldir -# Options: -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. -# -# If there is no current connection, try to use the existing set of open -# parameters to establish one and close it immediately afterwards. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfgcp -local opt remlist rem loc opt_G opt_t -integer stat do_close - -while getopts :Gt opt; do - [[ $opt = '?' ]] && print "zfgcp: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -# hmm, we should really check this after expanding the glob, -# but we shouldn't expand the last argument remotely anyway. -if [[ $# -gt 2 && ! -d $argv[-1] ]]; then - print "zfgcp: last argument must be a directory." 2>&1 - return 1 -elif [[ $# == 1 ]]; then - print "zfgcp: not enough arguments." 2>&1 - return 1 -fi - -if [[ -d $argv[-1] ]]; then - local dir=$argv[-1] - argv[-1]= - for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist = $HOME || $remlist = $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=$dir/${rem:t} - if zftp get $rem >$loc; then - [[ $opt_t = 1 ]] && zfrtime $rem $loc - else - stat=1 - fi - done - fi - done -else - if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" - fi - zftp get $1 >$2 || stat=$? -fi - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfget b/result/sw/share/zsh/5.9/functions/zfget deleted file mode 100644 index ad9658ec..00000000 --- a/result/sw/share/zsh/5.9/functions/zfget +++ /dev/null @@ -1,62 +0,0 @@ -# function zfget { -# Get files from remote server. Options: -# -c cat: dump files to stdout. -# alias zfcat="zfget -c" -# zfpage() { zfget -c "$@" | eval $PAGER } -# are sensible things to do, but aren't done for you. Note the -# second doesn't work on all OS's. -# -G don't to remote globbing, else do -# -t update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. This has -# no effect with the -c option. -# -# If the connection is not currently open, try to open it with the current -# parameters (set by a previous zfopen or zfparams), then close it after -# use. The file is put in the current directory (i.e. using the basename -# of the remote file only); for more control, use zfgcp. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfget -local loc rem opt remlist opt_G opt_t opt_c -integer stat do_close - -while getopts :Gtc opt; do - [[ $opt = '?' ]] && print "zfget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist == $HOME || $remlist == $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_G != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - if [[ -n $opt_c ]]; then - zftp get $rem - stat=$? - else - loc=${rem:t} - if zftp get $rem >$loc; then - [[ $opt_t = 1 ]] && zfrtime $rem $loc - else - stat=1 - fi - fi - done - fi -done - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfget_match b/result/sw/share/zsh/5.9/functions/zfget_match deleted file mode 100644 index a440cace..00000000 --- a/result/sw/share/zsh/5.9/functions/zfget_match +++ /dev/null @@ -1,51 +0,0 @@ -# function zfget_match { - -emulate -L zsh -zmodload -F zsh/files b:zf_ln || return 1 - -# the zfcd hack: this may not be necessary here -if [[ $1 == $HOME || $1 == $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -if [[ $ZFTP_SYSTEM == UNIX* && $1 == */* ]]; then - setopt localoptions clobber extendedglob - local tmpf=${TMPPREFIX}zfgm$$ - zf_ln -fn =(<<<'') $tmpf || return 1 - - if [[ -n $WIDGET ]]; then - local dir=${1%/*} - [[ $dir = */ ]] || dir="$dir/" - zftp ls -LF $dir >$tmpf - local reply1 reply2 - - # dirs in reply1, files in reply2 - reply1=(${${(M)${${(f)"$(<$tmpf)"}##$dir}:#*/}%/}) - reply2=(${${${${(f)"$(<$tmpf)"}##$dir}%\*}:#*/}) - - # try dir if ls -F doesn't work - if ! (($#reply1)); then - zftp dir $dir >$tmpf - reply1=(${(M)${(f)"$(<$tmpf)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - reply1=(${reply1/(#b)d([^[:space:]]##[[:space:]]##)(#c8)([^\/]##)\/#/$match[2]}) - - reply2=(${${(f)"$(<$tmpf)"}:#d([^[:space:]]##[[:space:]]##)(#c8)?##}) - reply2=(${reply2/(#b)([^[:space:]]##[[:space:]]##)(#c8)(?##)/$match[2]}) - fi - _wanted directories expl 'remote directory' compadd -S/ -q -P $dir - $reply1 - _wanted files expl 'remote file' compadd -P $dir - $reply2 - else - # On the first argument to ls, we usually get away with a glob. - zftp ls "$1*$2" >$tmpf - reply=($(<$tmpf)) - fi -else - local fcache_name - zffcache - if [[ -n $WIDGET ]]; then - _wanted files expl 'remote file' compadd -F fignore - ${(P)fcache_name} - else - reply=(${(P)fcache_name}); - fi -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfgoto b/result/sw/share/zsh/5.9/functions/zfgoto deleted file mode 100644 index 86942721..00000000 --- a/result/sw/share/zsh/5.9/functions/zfgoto +++ /dev/null @@ -1,81 +0,0 @@ -# zfgoto bname -# Go to bookmark bname, a location on a remote FTP host. Unless -# this was the last session or is for anonymous FTP, prompt for -# the user's password. -# -# Maybe this should try and look for an appropriate session to use -# for the transfer. - -emulate -L zsh -setopt extendedglob -[[ $curcontext = :zf* ]] || local curcontext=:zfgoto - -# Set ZFTP_BMFILE if not already set. This should agree with -# the corresponding line in zfmark. -: ${ZFTP_BMFILE:=${ZFDOTDIR:-$HOME}/.zfbkmarks} - -typeset -A bkmarks -local line opt_n opt - -while getopts :n opt; do - [[ $opt = '?' ]] && print "zfgoto: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if (( $# != 1 )); then - print "Usage: zfgoto bookmark" >&2 - return 1 -fi - -if [[ -n $opt_n && -f ~/.ncftp/bookmarks ]]; then - local oldifs=$IFS - IFS=, - while read -rA line; do - bkmarks[$line[1]]="${line[3]:-anonymous}@${line[2]}:${line[6]}" - done < ~/.ncftp/bookmarks - IFS=$oldifs -elif [[ -f $ZFTP_BMFILE ]]; then - # read in file: could optimise this by recording last read time - # comparing with file - while read -r line; do - # ignore blank and comment lines - [[ $line = [[:blank:]]# || $line = [[:blank:]]#'#'* ]] && continue - bkmarks[${line%% *}]="${line#* }" - done <$ZFTP_BMFILE -fi - -line=${bkmarks[$1]} - -if [[ -z $line ]]; then - print "Bookmark \`$1' not found" >&2 - return 1 -fi - -local user host dir -user=${line%%@*} -line=${line#*@} -host=${line%%:*} -dir=${line#*:} - -if [[ $ZFTP_USER = $user && $ZFTP_HOST = $host ]]; then - # We're already there, just change directory - zfcd ${dir:-~} -elif [[ $user = ftp || $user = anonymous ]]; then - # Anonymous ftp, so we don't need password etc. - zfanon $host && [[ -n $dir ]] && zfcd $dir -elif [[ $zfconfig[lastloc_$ZFTP_SESSION] = ${host}:* && - $user = $zfconfig[lastuser_$ZFTP_SESSION] ]]; then - # This was the last session, so assume it's still setup in the - # open parameters - zfopen && [[ -n $dir ]] && zfcd $dir -else - # Last try: see if it's in the parameters. - local params - params=($(zftp params)) - if [[ $host = $params[1] && $user = $params[2] ]]; then - zfopen && [[ -n $dir ]] && zfcd $dir - else - zfopen $host $user && [[ -n $dir ]] && zfcd $dir - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/zfhere b/result/sw/share/zsh/5.9/functions/zfhere deleted file mode 100644 index 8fa607e2..00000000 --- a/result/sw/share/zsh/5.9/functions/zfhere +++ /dev/null @@ -1,6 +0,0 @@ -# function zfhere { -# Change to the directory corresponding to $PWD on the server. -# See zfcd for how this works. -[[ $curcontext = :zf* ]] || local curcontext=:zfhere -zfcd $PWD -# } diff --git a/result/sw/share/zsh/5.9/functions/zfinit b/result/sw/share/zsh/5.9/functions/zfinit deleted file mode 100644 index 5587a824..00000000 --- a/result/sw/share/zsh/5.9/functions/zfinit +++ /dev/null @@ -1,72 +0,0 @@ -emulate -L zsh - -if [[ $1 != -n ]]; then - zmodload -i zsh/net/tcp || return 1 - zmodload -ia zsh/zftp zftp || return 1 -fi - -if zmodload -i zsh/zutil; then - local arr - # Set defaults for styles if none set. - zstyle -g arr ':zftp:*' progress || zstyle ':zftp:*' progress bar - zstyle -g arr ':zftp:*' update || zstyle ':zftp:*' update 1 - zstyle -g arr ':zftp:*' titlebar || zstyle ':zftp:*' titlebar true - if functions chpwd >&/dev/null && ! zstyle -g arr ':zftp:*' chpwd; then - zstyle ':zftp:*' chpwd true - fi - - typeset -gA zfconfig - zfconfig=(lastsession default) -fi - -alias zfcd='noglob zfcd' -alias zfget='noglob zfget' -alias zfls='noglob zfls' -alias zfdir='noglob zfdir' -alias zfuget='noglob zfuget' - -autoload -Uz zfanon zfautocheck zfcd zfcd_match zfcget zfclose zfcput -autoload -Uz zfdir zffcache zfgcp zfget zfget_match zfgoto zfhere zfinit zfls -autoload -Uz zfmark zfopen zfparams zfpcp zfput zfrglob zfrtime zfsession -autoload -Uz zfstat zftp_chpwd zftp_progress zftransfer zftype zfuget zfuput - -# -# zftp completions: only use these if new-style completion is not -# active. -# -if [[ ${#_patcomps} -eq 0 || -z ${_patcomps[(r)_zf*]} ]] && - (compctl >/dev/null 2>&1); then - # only way of getting that noglob out of the way: this is unnecessary with - # widget-based completion - setopt completealiases - - compctl -f -x 'p[1]' \ - -k '(open params user login type ascii binary mode put putat - get getat append appendat ls dir local remote mkdir rmdir delete - close quit)' - \ - 'w[1,cd][1,ls][1,dir][1,rmdir]' -K zfcd_match -S/ -q - \ - 'W[1,get*]' -K zfget_match - 'w[1,delete][1,remote]' -K zfget_match - \ - 'w[1,open][1,params]' -k hosts - \ - 'w[1,session]' -s '${$(zftp session):#$ZFTP_SESSION}' -- zftp - compctl -K zfcd_match -S/ -q zfcd zfdir zfls - compctl -K zfget_match zfget zfgcp zfuget zfcget - compctl -k hosts zfanon zfopen zfparams - compctl -s \ - '$(awk '\''{print $1}'\'' ${ZFTP_BMFILE:-${ZDOTDIR:-$HOME}/.zfbkmarks})' \ - -x 'W[1,-*n*]' \ - -s '$(awk -F, '\''NR > 2 { print $1 }'\'' ~/.ncftp/bookmarks)' -- \ - zfgoto zfmark - compctl -s '${$(zftp session):#$ZFTP_SESSION}' zfsession - # in _zftp for new completion, but hard to inline into a compctl - zftransfer_match() { - local sess=${1%%:*} oldsess=$ZFTP_SESSION - [[ -n $sess ]] && zftp session $sess - zfget_match ${1#*:} $2 - [[ -n $sess && -n $oldsess ]] && zftp session $oldsess - reply=(${sess}:${^reply}) - } - compctl -s '$(zftp session)' -S : -x 'C[0,*:*]' \ - -K zftransfer_match -- zftransfer -fi - -return 0 diff --git a/result/sw/share/zsh/5.9/functions/zfls b/result/sw/share/zsh/5.9/functions/zfls deleted file mode 100644 index 73211b46..00000000 --- a/result/sw/share/zsh/5.9/functions/zfls +++ /dev/null @@ -1,14 +0,0 @@ -# function zfls { - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfls - -# directory hack, see zfcd -if [[ $1 = $HOME || $1 = $HOME/* ]]; then - 1="~${1#$HOME}" -fi - -zfautocheck -d - -zftp ls $* -# } diff --git a/result/sw/share/zsh/5.9/functions/zfmark b/result/sw/share/zsh/5.9/functions/zfmark deleted file mode 100644 index e81cc27d..00000000 --- a/result/sw/share/zsh/5.9/functions/zfmark +++ /dev/null @@ -1,51 +0,0 @@ -# zfmark [bname] -# Set a bookmark for the current zftp connection, or use the -# information about the last session if there isn't one. -# A bookmark includes both the host *and* the directory on that host. -# -# Without bname, list the current bookmarks and their locations. - -emulate -L zsh -setopt extendedglob -[[ $curcontext = :zf* ]] || local curcontext=:zfmark - -# Set ZFTP_BMFILE if not already set. This should agree with -# the corresponding line in zfgoto. -: ${ZFTP_BMFILE:=${ZDOTDIR:-$HOME}/.zfbkmarks} - -typeset -A bkmarks -local line - -if [[ -f $ZFTP_BMFILE ]]; then - # read in file: could optimise this by recording last read time - # comparing with file - while read -r line; do - # ignore blank and comment lines - [[ $line = [[:blank:]]# || $line = [[:blank:]]#'#'* ]] && continue - bkmarks[${line%% *}]="${line#* }" - done <$ZFTP_BMFILE -fi - -if (( $# == 0 )); then - for line in ${(ko)bkmarks}; do - print -r- "$line ${bkmarks[$line]}" - done - return 0 -elif (( $# > 1 )); then - print "Usage: zfmark [bookmark]" >&2 - return 1 -fi - -if [[ -n $ZFTP_HOST ]]; then - bkmarks[$1]="${ZFTP_USER}@${ZFTP_HOST}:${ZFTP_PWD}" -elif [[ -n $zfconfig[lastloc_$ZFTP_SESSION] ]]; then - bkmarks[$1]="${zfconig[lastuser_$ZFTP_SESSION]}@\ -${zfconfig[lastloc_$ZFTP_SESSION]}" -else - print "No current or recent ZFTP session to bookmark." >&2 - return 1 -fi - -for line in ${(ko)bkmarks}; do - print -r- "$line ${bkmarks[$line]}" -done >$ZFTP_BMFILE diff --git a/result/sw/share/zsh/5.9/functions/zfopen b/result/sw/share/zsh/5.9/functions/zfopen deleted file mode 100644 index 30e9cbfc..00000000 --- a/result/sw/share/zsh/5.9/functions/zfopen +++ /dev/null @@ -1,51 +0,0 @@ -# function zfopen { -# Use zftp params to set parameters for open, rather than sending -# them straight to open. That way they are stored for a future open -# command. -# -# With option -1 (just this 1ce), don't do that. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfopen -local opt dir opt_1 setparams - -while getopts :1 opt; do - [[ $opt = "?" ]] && print "zfopen: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -# This is where we should try and do same name-lookupage in -# both .netrc and .ncftp/bookmarks . We could even try saving -# the info in their for new hosts, like ncftp does. - -if [[ $1 = */* ]]; then - 1=${1##ftp://} - dir=${1#*/} - 1=${1%%/*} -fi - -if [[ $opt_1 = 1 ]]; then - zftp open $* || return 1 - if [[ $# = 1 ]]; then - if ! zftp login; then - zftp close - return 1 - fi - fi -else - # set parameters, but only if there was at least a host - (( $# > 0 )) && zfparams $* && setparams=1 - # now call with no parameters - if ! zftp open; then - [[ -n $ZFTP_HOST ]] && zftp close - [[ -n $setparams ]] && zfparams - - return 1 - fi -fi - -if [[ -n $dir ]]; then - zfcd $dir -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfparams b/result/sw/share/zsh/5.9/functions/zfparams deleted file mode 100644 index 59fea0ed..00000000 --- a/result/sw/share/zsh/5.9/functions/zfparams +++ /dev/null @@ -1,27 +0,0 @@ -# function zfparams { - -emulate -L zsh -[[ $curcontext = :zf* ]] || local curcontext=:zfparams - -if [[ $# -eq 1 && $1 = - ]]; then - # Delete existing parameter set. - local sess=$ZFTP_SESSION key - key=${zfconfig[fcache_$sess]} - [[ -n $key ]] && unset $key - for key in fcache lastloc lastdir curdir otherdir otherargs lastuser; do - unset "zfconfig[${key}_${sess}]" - done -elif (( $# > 0 )); then - # Set to prompt for any user or password if not given. - # Don't worry about accounts here. - (( $# < 2 )) && 2='?' - if (( $# < 3 )); then - if [[ $2 = '?'* ]]; then - 3="?Password on ${1}: " - else - 3="?Password for ${2##\\?} on ${1}: " - fi - fi -fi -zftp params $* -# } diff --git a/result/sw/share/zsh/5.9/functions/zfpcp b/result/sw/share/zsh/5.9/functions/zfpcp deleted file mode 100644 index e74ee34f..00000000 --- a/result/sw/share/zsh/5.9/functions/zfpcp +++ /dev/null @@ -1,51 +0,0 @@ -# function zfpcp { -# ZFTP put as copy: i.e. first arguments are remote, last is local. -# Currently only supports -# zfcp lfile rfile -# if there are two arguments, or the second one is . or .., or ends -# with a slash -# or -# zfcp lfile1 lfile2 lfile3 ... rdir -# if there are more than two (because otherwise it doesn't -# know if the last argument is a directory on the remote machine). -# However, if the remote machine plays ball by telling us `Is a directory' -# when we try to copy to a directory, zfpcp will then try to do the correct -# thing. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfpcp -local rem loc -integer stat do_close - -zfautocheck || return 1 - -if [[ $# -gt 2 || $2 = (.|..) || $2 = */ ]]; then - local dir=$argv[-1] - argv[-1]= - # zfcd directory hack to put the front back to ~ - if [[ $dir = $HOME || $dir = $HOME/* ]]; then - dir="~${dir#$HOME}" - fi - [[ -n $dir && $dir != */ ]] || dir="$dir/" - for loc in $*; do - rem=$dir${loc:t} - zftp put $rem <$loc || stat=1 - done -else - if [[ $2 = $HOME || $2 = $HOME/* ]]; then - 2="~${2#$HOME}" - fi - zftp put $2 <$1 - stat=$? - if [[ stat -ne 0 && $ZFTP_CODE = 553 && $ZFTP_REPLY = *'Is a directory'* ]] - then - zftp put $2/$1:t <$1 - stat=$? - fi -fi - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfput b/result/sw/share/zsh/5.9/functions/zfput deleted file mode 100644 index 68ef5be5..00000000 --- a/result/sw/share/zsh/5.9/functions/zfput +++ /dev/null @@ -1,68 +0,0 @@ -# function zfput { -# Simple put: dump every file under the same name, but stripping -# off any directory parts to get the remote filename (i.e. always -# goes into current remote directory). Use zfpcp to specify new -# file name or new directory at remote end. -# -# -r means put recursively: any directories encountered will have -# all their contents to arbitrary depth transferred. Note that -# this creates the required directories. Any files in subdirectories -# whose names begin with a `.' will also be included. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfput -local opt opt_r -integer stat do_close abort - -while getopts :r opt; do - [[ $opt = '?' ]] && print "zfget: bad option: -$OPTARG" && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck - -zfput_sub() { - local subdirs loc rem - integer stat - subdirs=() - - for loc in $*; do - if [[ -n $opt_r ]]; then - if [[ -d $loc ]]; then - subdirs=($subdirs $loc) - continue - else - rem=$loc - fi - else - rem=${loc:t} - fi - - zftp put $rem <$loc - (( $? )) && stat=$? - if ! zftp test; then - abort=1 - (( stat )) || stat=1 - break; - fi - done - - while (( $#subdirs && ! abort )); do - zftp mkdir ${subdirs[1]} - zfput_sub ${subdirs[1]}/*(ND) - (( $? )) && stat=$? - shift subdirs - done - - return $stat -} - -zfput_sub $* -stat=$? - -(( $do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfrglob b/result/sw/share/zsh/5.9/functions/zfrglob deleted file mode 100644 index 677b85f4..00000000 --- a/result/sw/share/zsh/5.9/functions/zfrglob +++ /dev/null @@ -1,70 +0,0 @@ -# function zfrglob { -# Do the remote globbing for zfput, etc. -# We have two choices: -# (1) Get the entire file list and match it one by one -# locally against the pattern. -# Causes problems if we are globbing directories (rare, presumably). -# But: we can cache the current directory, which -# we need for completion anyway. Works on any OS if you -# stick with a single directory. This is the default. -# (2) Use remote globbing, i.e. pass it to ls at the site. -# Faster, but only works with UNIX, and only basic globbing. -# We do this if the remote-glob style (or $zfrglob for -# backward compatibility) is set. - -# There is only one argument, the variable containing the -# pattern to be globbed. We set this back to an array containing -# all the matches. - -emulate -L zsh -setopt extendedglob - -local pat dir nondir files i zfrglob - -zstyle -t "$curcontext" remote-glob && zfrglob=1 - -eval pat=\$$1 - -# Check if we really need to do anything. Look for standard -# globbing characters, and if we are -# using zsh for the actual pattern matching also look for -# extendedglob characters. -if [[ $pat != *[][*?]* && - ( -n $zfrglob || $pat != *[(|)#^]* ) ]]; then - return 0 -fi - -if [[ $zfrglob != '' ]]; then - () { - zftp ls "$pat" >|$1 2>/dev/null - eval "$1=(\$(<\$1))" - } =(<<<'temporary file') -else - if [[ $ZFTP_SYSTEM = UNIX* && $pat = */* ]]; then - # not the current directory and we know how to handle paths - if [[ $pat = ?*/* ]]; then - # careful not to remove too many slashes - dir=${pat%/*} - else - dir=/ - fi - nondir=${pat##*/} - () { - zftp ls "$dir" 2>/dev/null >|$1 - files=($(<$1)) - } =(<<<'temporary file') - files=(${files:t}) - else - # we just have to do an ls and hope that's right - local fcache_name - zffcache - nondir=$pat - files=(${(P)fcache_name}) - fi - # now we want to see which of the $files match $nondir: - # ${...:/foo} deletes occurrences of foo matching a complete word, - # while the ^ inverts the sense so that anything not matching the - # pattern in $nondir is excluded. - eval "$1=(\${files:/^\${~nondir}})" -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfrtime b/result/sw/share/zsh/5.9/functions/zfrtime deleted file mode 100644 index b1653d61..00000000 --- a/result/sw/share/zsh/5.9/functions/zfrtime +++ /dev/null @@ -1,43 +0,0 @@ -# function zfrtime { -# Set the modification time of file LOCAL to that of REMOTE. -# If the optional TIME is passed, it should be in the FTP format -# CCYYMMDDhhmmSS, i.e. no dot before the seconds, and in GMT. -# This is what both `zftp remote' and `zftp local' return. -# -# Unfortunately, since the time returned from FTP is GMT and -# your file needs to be set in local time, we need to do some -# hacking around with time. - -emulate -L zsh -zmodload zsh/datetime - -local time gmtime loctime year mon mday hr min sec y tmpdate -local -i days_since_epoch - -if [[ -n $3 ]]; then - time=$3 -else - time=($(zftp remote $2 2>/dev/null)) - [[ -n $time ]] && time=$time[2] -fi -[[ -z $time ]] && return 1 - -year=$time[1,4] -mon=$time[5,6] -mday=$time[7,8] -hr=$time[9,10] -min=$time[11,12] -sec=$time[13,14] - -#count the number of days since epoch without the current day -for y in {1970..$(( $year - 1))}; do - strftime -s tmpdate -r "%Y/%m/%d" ${y}/12/31 - days_since_epoch+=$(strftime "%j" $tmpdate) -done -strftime -s tmpdate -r "%Y/%m/%d" $year/$mon/$(( $mday - 1 )) -days_since_epoch+=$(strftime "%j" $tmpdate) -# convert the time in number of seconds (this should be equivalent to timegm) -time=$(( $sec + 60 * ( $min + 60 * ($hr + 24 * $days_since_epoch)) )) -#Convert it back to CCYYMMDDhhmmSS -strftime -s time "%Y%m%d%H%M%S" ${EPOCHSECONDS} -touch -t ${time[1,12]}.${time[13,14]} $1 diff --git a/result/sw/share/zsh/5.9/functions/zfsession b/result/sw/share/zsh/5.9/functions/zfsession deleted file mode 100644 index 79d4da93..00000000 --- a/result/sw/share/zsh/5.9/functions/zfsession +++ /dev/null @@ -1,72 +0,0 @@ -# function zfsession { -# Change or list the sessions for the current zftp connection. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfsession -local opt opt_l opt_v opt_o opt_d hadopts - -while getopts ":lovd" opt; do - [[ $opt = "?" ]] && print "zfsession: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" - hadopts=1 -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -if [[ $# -gt 1 || (( -n $hadopts && -z $opt_d ) && $# -gt 0 ) ]] -then - print "Usage: zfsession ( [ -lvod ] | session )" 1>&2 - return 1 -fi - -if [[ -n $opt_v ]]; then - local sess - for sess in $(zftp session); do - print -n "${(r.15.. ..:.)sess}\t${zfconfig[lastloc_$sess]:-not connected}" - if [[ $sess = $ZFTP_SESSION ]]; then - print " *" - else - print - fi - done -elif [[ -n $opt_l ]]; then - zftp session -fi - -if [[ -n $opt_o ]]; then - if [[ $zfconfig[lastsession] != $ZFTP_SESSION ]]; then - local cursession=$ZFTP_SESSION - zftp session $zfconfig[lastsession] - zfconfig[lastsession]=$cursession - print $ZFTP_SESSION - else - print "zfsession: no previous session." >&2 - return 1 - fi -fi - -if [[ -n $opt_d ]]; then - local del=${1:-$ZFTP_SESSION} key - key=${zfconfig[fcache_$del]} - [[ -n $key ]] && unset $key - for key in fcache lastloc lastdir curdir otherdir otherargs lastuser; do - unset "zfconfig[${key}_${del}]" - done - zftp rmsession $del - return -fi - -[[ -n $hadopts ]] && return $stat - -if [[ $# = 0 ]]; then - print $ZFTP_SESSION - return -fi - -local oldsession=${ZFTP_SESSION:-default} -zftp session $1 -if [[ $ZFTP_SESSION != $oldsession ]]; then - zfconfig[lastsession]=$oldsession - zftp_chpwd -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfstat b/result/sw/share/zsh/5.9/functions/zfstat deleted file mode 100644 index 7fa07d4c..00000000 --- a/result/sw/share/zsh/5.9/functions/zfstat +++ /dev/null @@ -1,82 +0,0 @@ -# function zfstat { -# Give a zftp status report using local variables. -# With option -v, connect to the remote host and ask it what it -# thinks the status is. - -setopt localoptions unset -unsetopt ksharrays - -[[ $curcontext = :zf* ]] || local curcontext=:zfstat -local i stat=0 opt opt_v - -while getopts :v opt; do - [[ $opt = "?" ]] && print "zfstat: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -[[ -n $ZFTP_SESSION ]] && print "Session:\t$ZFTP_SESSION" - -if [[ -n $ZFTP_HOST ]]; then - print "Host:\t\t$ZFTP_HOST" - print "Port:\t\t$ZFTP_PORT" - print "IP:\t\t$ZFTP_IP" - [[ -n $ZFTP_SYSTEM ]] && print "System type:\t$ZFTP_SYSTEM" - if [[ -n $ZFTP_USER ]]; then - print "User:\t\t$ZFTP_USER " - [[ -n $ZFTP_ACCOUNT ]] && print "Account:\t$AFTP_ACCOUNT" - print "Directory:\t$ZFTP_PWD" - print -n "Transfer type:\t" - if [[ $ZFTP_TYPE = "I" ]]; then - print Image - elif [[ $ZFTP_TYPE = "A" ]]; then - print Ascii - else - print Unknown - fi - print -n "Transfer mode:\t" - if [[ $ZFTP_MODE = "S" ]]; then - print Stream - elif [[ $ZFTP_MODE = "B" ]]; then - print Block - else - print Unknown - fi - else - print "No user logged in." - fi -else - print "Not connected." - [[ -n $zfconfig[lastloc_$ZFTP_SESSION] ]] && - print "Last location:\t$zfconfig[lastloc_$ZFTP_SESSION]" - stat=1 -fi - -# things which may be set even if not connected: -[[ -n $ZFTP_REPLY ]] && print "Last reply:\t$ZFTP_REPLY" -print "Verbosity:\t$ZFTP_VERBOSE" -print "Timeout:\t$ZFTP_TMOUT" -print -n "Preferences:\t" -for (( i = 1; i <= ${#ZFTP_PREFS}; i++ )); do - case $ZFTP_PREFS[$i] in - [pP]) print -n "Passive " - ;; - [sS]) print -n "Sendport " - ;; - [dD]) print -n "Dumb " - ;; - *) print -n "$ZFTP_PREFS[$i]???" - esac -done -print - -if [[ -n $ZFTP_HOST && $opt_v = 1 ]]; then - zfautocheck -d - print "Status of remote server:" - # make sure we print the reply - local ZFTP_VERBOSE=045 - zftp quote STAT -fi - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zftp_chpwd b/result/sw/share/zsh/5.9/functions/zftp_chpwd deleted file mode 100644 index f661fa3e..00000000 --- a/result/sw/share/zsh/5.9/functions/zftp_chpwd +++ /dev/null @@ -1,42 +0,0 @@ -# function zftp_chpwd { -# You may want to alter chpwd to call this when $ZFTP_USER is set. - -# If the directory really changed... -if [[ $ZFTP_PWD != $zfconfig[lastdir_$ZFTP_SESSION] ]]; then - # ...and also empty the stored directory listing cache. - # As this function is called when we close the connection, this - # is the only place we need to do these two things. - local curdir=$zfconfig[curdir_$ZFTP_SESSION] - [[ -n $curdir && -f $curdir ]] && rm -f $curdir - zfconfig[otherargs_$ZFTP_SESSION]= - zffcache -d -fi - -if [[ -z $ZFTP_USER ]]; then - # last call, after an FTP logout - - # delete the non-current cached directory - [[ -n $zfotherdir && -f $zfotherdir ]] && rm -f $zfotherdir - - # don't keep lastdir between opens (do keep lastloc) - zfconfig[lastdir_$ZFTP_SESSION]= - - # return the display to standard - zstyle -t ":zftp$curcontext" chpwd && chpwd -else - [[ -n $ZFTP_PWD ]] && zfconfig[lastdir_$ZFTP_SESSION]=$ZFTP_PWD - zfconfig[lastloc_$ZFTP_SESSION]="$ZFTP_HOST:$ZFTP_PWD" - zfconfig[lastuser_$ZFTP_SESSION]="$ZFTP_USER" - local args - if [[ -t 1 && -t 2 ]] && zstyle -t ":zftp$curcontext" titlebar; then - local str=$zfconfig[lastloc_$ZFTP_SESSION] - [[ ${#str} -lt 70 ]] && str="%m: %~ $str" - case $TERM in - sun-cmd) print -Pn "\033]l$str\033\\" - ;; - *xterm*|rxvt|dtterm|Eterm|kterm) print -Pn "\033]2;$str\a" - ;; - esac - fi -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zftp_progress b/result/sw/share/zsh/5.9/functions/zftp_progress deleted file mode 100644 index 6bc87328..00000000 --- a/result/sw/share/zsh/5.9/functions/zftp_progress +++ /dev/null @@ -1,54 +0,0 @@ -# function zftp_progress { -# Basic progress metre, showing the percent of the file transferred. -# You want growing bars? You gottem. -# styles used (context :zftp:zfparent_function:): -# progress -# empty or `none' no progress meter -# `bar' use a growing bar of inverse video -# `percent' or other non-blank show the percentage transferred -# If size of remote file is not available, `bar' or `percent' just show -# bytes. -# update -# Minimum time in seconds between updates of the progress display. - -local style update=1 - -# What style: either bar for growing bars, or anything else for simple -# percentage. For bar we need to have the terminal width in COLUMNS, -# which is often set automatically, but you never know. -zstyle -s ":zftp$curcontext" progress style -# How many seconds to wait before printing an updated progress report. -zstyle -s ":zftp$curcontext" update update - -# Don't show progress unless stderr is a terminal -[[ ! -t 2 || $style = (|none) ]] && return 0 - -if [[ -n $ZFTP_TRANSFER ]]; then - # avoid a `parameter unset' message - [[ $ZFTP_TRANSFER != *F ]] && - (( ${+zftpseconds} )) && (( SECONDS - zftpseconds < update )) && return - # size is usually ZFTP_SIZE, but zftransfer may set ZFTP_TSIZE - local size=${ZFTP_TSIZE:-$ZFTP_SIZE} - if [[ ${size:-0} -ne 0 ]]; then - local frac="$(( ZFTP_COUNT * 100 / size ))%" - if [[ $style = bar && ${+COLUMNS} = 1 && $COLUMNS -gt 0 ]]; then - if (( ! ${+zftpseconds} )); then - print "$ZFTP_FILE ($size bytes): $ZFTP_TRANSFER" 1>&2 - fi - integer maxwidth=$(( COLUMNS - 7 )) - local width="$(( ZFTP_COUNT * maxwidth / size ))" - print -nP "\r%S${(l:width:):-}%s${(l:maxwidth-width:):-}: ${frac}%%" 1>&2 - else - print -n "\r$ZFTP_FILE ($size bytes): $ZFTP_TRANSFER $frac" 1>&2 - fi - else - print -n "\r$ZFTP_FILE: $ZFTP_TRANSFER $ZFTP_COUNT" 1>&2 - fi - if [[ $ZFTP_TRANSFER = *F && ${+zftpseconds} = 1 ]]; then - unset zftpseconds - print 1>&2 - else - typeset -g zftpseconds=$SECONDS - fi -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zftransfer b/result/sw/share/zsh/5.9/functions/zftransfer deleted file mode 100644 index c97ae464..00000000 --- a/result/sw/share/zsh/5.9/functions/zftransfer +++ /dev/null @@ -1,66 +0,0 @@ -# function zftransfer { -# Transfer files between two distinct sessions. No remote globbing -# is done, since only single pairs can be transferred. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zftransfer -local sess1 sess2 file1 file2 oldsess=${ZFTP_SESSION} - -if [[ $# -ne 2 ]]; then - print "Usage: zftransfer sess1:file1 sess2:file2" 1>&2 - return 1 -fi - -if [[ $1 = *:* ]]; then - sess1=${1%%:*} - file1=${1#*:} -fi -: ${sess1:=$ZFTP_SESSION} - -if [[ $2 = *:* ]]; then - sess2=${2%%:*} - file2=${2#*:} -fi -: ${sess2:=$ZFTP_SESSION} -if [[ -z $file2 || $file2 = */ ]]; then - file2="${file2}${file1:t}" -fi - -if [[ $sess1 = $sess2 ]]; then - print "zftransfer: must use two distinct sessions." 1>&2 - return 1 -fi - -zftp session $sess1 -zfautocheck || return 1 - -# It's more useful to show the progress for the second part -# of the pipeline, but unfortunately that can't necessarily get -# the size from the pipe --- and if it does, it's probably wrong. -# To avoid that, try to get the size and set it for the progress to -# see. -local style -zstyle -s ':zftp:zftransfer' progress style -if [[ -n $style && $style != none ]]; then - local ZFTP_TSIZE array - () { - zftp remote $file1 >|$1 2>/dev/null - array=($(<$1)) - } =(<<<'temporary file') - [[ $#array -eq 2 ]] && ZFTP_TSIZE=$array[1] -fi - -# We do the RHS of the pipeline in a subshell, too, so that -# the LHS can get SIGPIPE when it exits. -{ zstyle '*' progress none - zftp get $file1 } | -( zftp session $sess2 - zfautocheck && zftp put $file2 ) - -local stat=$? - -zftp session $oldsess - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zftype b/result/sw/share/zsh/5.9/functions/zftype deleted file mode 100644 index 81f95dec..00000000 --- a/result/sw/share/zsh/5.9/functions/zftype +++ /dev/null @@ -1,29 +0,0 @@ -# function zftype { -local type -[[ $curcontext = :zf* ]] || local curcontext=:zftype - -zfautocheck -d - -if (( $# == 0 )); then - type=$(zftp type) - if [[ $type = I ]]; then - print "Current type is image (binary)" - return 0 - elif [[ $type = A ]]; then - print "Current type is ASCII" - return 0 - else - return 1 - fi -else - if [[ $1 == (#i)a(sc(ii|)|) ]]; then - type=A - elif [[ $1 == (#i)i(m(age|)|) || $1 == (#i)b(in(ary|)|) ]]; then - type=I - else - print "Type not recognised: $1" 2>&1 - return 1 - fi - zftp type $type -fi -# } diff --git a/result/sw/share/zsh/5.9/functions/zfuget b/result/sw/share/zsh/5.9/functions/zfuget deleted file mode 100644 index 2850975e..00000000 --- a/result/sw/share/zsh/5.9/functions/zfuget +++ /dev/null @@ -1,129 +0,0 @@ -# function zfuget { -# Get a list of files from the server with update. -# In other words, only retrieve files which are newer than local -# ones. This depends on the clocks being adjusted correctly -# (i.e. if one is fifteen minutes out, for the next fifteen minutes -# updates may not be correctly calculated). However, difficult -# cases --- where the files are the same size, but the remote is newer, -# or have different sizes, but the local is newer -- are prompted for. -# -# Files are globbed on the remote host --- assuming, of course, they -# haven't already been globbed local, so use 'noglob' e.g. as -# `alias zfuget="noglob zfuget"'. -# -# Options: -# -G Glob: turn off globbing -# -v verbose: print more about the files listed. -# -s silent: don't ask, just guess. The guesses are: -# - if the files have different sizes but remote is older ) grab -# - if they have the same size but remote is newer ) -# which is safe if the remote files are always the right ones. -# -t time: update the local file times to the same time as the remote. -# Currently this only works if you have the `perl' command, -# and that perl is version 5 with the standard library. -# See the function zfrtime for more gory details. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfuget -local loc rem locstats remstats doit -local rstat remlist opt opt_v opt_s opt_G opt_t -integer stat do_close - -zfuget_print_time() { - local tim=$1 - print -n "$tim[1,4]/$tim[5,6]/$tim[7,8] $tim[9,10]:$tim[11,12].$tim[13,14]" - print -n GMT -} - -zfuget_print () { - print -n "\nremote $rem (" - zfuget_print_time $remstats[2] - print -n ", $remstats[1] bytes)\nlocal $loc (" - zfuget_print_time $locstats[2] - print ", $locstats[1] bytes)" -} - -while getopts :vsGt opt; do - [[ $opt = "?" ]] && print "zfuget: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -for remlist in $*; do - # zfcd directory hack to put the front back to ~ - if [[ $remlist == $HOME || $remlist == $HOME/* ]]; then - remlist="~${remlist#$HOME}" - fi - if [[ $opt_n != 1 ]]; then - zfrglob remlist - fi - if (( $#remlist )); then - for rem in $remlist; do - loc=${rem:t} - doit=y - remstats=() - if [[ -f $loc ]]; then - () { - zftp local $loc >|$1 - locstats=($(<$1)) - zftp remote $rem >|$1 - rstat=$? - remstats=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not implement full command set required." 1>&2 - return 1 - elif [[ $rstat = 1 ]]; then - print "File not found on server: $rem" 1>&2 - stat=1 - continue - fi - [[ $opt_v = 1 ]] && zfuget_print - if (( $locstats[1] != $remstats[1] )); then - # Files have different sizes - if [[ $locstats[2] > $remstats[2] && $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuget_print - print "Local file $loc more recent than remote," 1>&2 - print -n "but sizes are different. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # Files have same size - if [[ $locstats[2] < $remstats[2] ]]; then - if [[ $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuget_print - print "Local file $loc has same size as remote," 1>&2 - print -n "but local file is older. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # presumably same file, so don't get it. - [[ $opt_v = 1 ]] && print Not transferring - doit=n - fi - fi - else - [[ $opt_v = 1 ]] && print New file $loc - fi - if [[ $doit = y ]]; then - if zftp get $rem >$loc; then - if [[ $opt_t = 1 ]]; then - # if $remstats is set, it's second element is the remote time - zfrtime $loc $rem $remstats[2] - fi - else - stat=$? - fi - - fi - done - fi -done - -(( do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zfuput b/result/sw/share/zsh/5.9/functions/zfuput deleted file mode 100644 index f4e6a0fd..00000000 --- a/result/sw/share/zsh/5.9/functions/zfuput +++ /dev/null @@ -1,101 +0,0 @@ -# function zfuput { -# Put a list of files from the server with update. -# See zfuget for details. -# -# Options: -# -v verbose: print more about the files listed. -# -s silent: don't ask, just guess. The guesses are: -# - if the files have different sizes but remote is older ) grab -# - if they have the same size but remote is newer ) -# which is safe if the remote files are always the right ones. - -emulate -L zsh - -[[ $curcontext = :zf* ]] || local curcontext=:zfuput -local loc rem locstats remstats doit -local rstat opt opt_v opt_s -integer stat do_close - -zfuput_print_time() { - local tim=$1 - print -n "$tim[1,4]/$tim[5,6]/$tim[7,8] $tim[9,10]:$tim[11,12].$tim[13,14]" - print -n GMT -} - -zfuput_print () { - print -n "\nremote $rem (" - zfuput_print_time $remstats[2] - print -n ", $remstats[1] bytes)\nlocal $loc (" - zfuput_print_time $locstats[2] - print ", $locstats[1] bytes)" -} - -while getopts :vs opt; do - [[ $opt = "?" ]] && print "zfuget: bad option: -$OPTARG" >&2 && return 1 - eval "opt_$opt=1" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -zfautocheck || return 1 - -if [[ $ZFTP_VERBOSE = *5* ]]; then - # should we turn it off locally? - print "Messages with code 550 are harmless." >&2 -fi - -for rem in $*; do - loc=${rem:t} - doit=y - remstats=() - if [[ ! -f $loc ]]; then - print "$loc: file not found" >&2 - stat=1 - continue - fi - () { - zftp local $loc >|$1 - locstats=($(<$1)) - zftp remote $rem >|$1 - rstat=$? - remstats=($(<$1)) - } =(<<<'temporary file') - if [[ $rstat = 2 ]]; then - print "Server does not implement full command set required." 1>&2 - return 1 - elif [[ $rstat = 1 ]]; then - [[ $opt_v = 1 ]] && print New file $loc - else - [[ $opt_v = 1 ]] && zfuput_print - if (( $locstats[1] != $remstats[1] )); then - # Files have different sizes - if [[ $locstats[2] < $remstats[2] && $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuput_print - print "Remote file $rem more recent than local," 1>&2 - print -n "but sizes are different. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # Files have same size - if [[ $locstats[2] > $remstats[2] ]]; then - if [[ $opt_s != 1 ]]; then - [[ $opt_v != 1 ]] && zfuput_print - print "Remote file $rem has same size as local," 1>&2 - print -n "but remote file is older. Transfer anyway [y/n]? " 1>&2 - read -q doit - fi - else - # presumably same file, so don't get it. - [[ $opt_v = 1 ]] && print Not transferring - doit=n - fi - fi - fi - if [[ $doit = y ]]; then - zftp put $rem <$loc || stat=$? - fi -done - -(( do_close )) && zfclose - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zkbd b/result/sw/share/zsh/5.9/functions/zkbd deleted file mode 100755 index 3873dfd3..00000000 --- a/result/sw/share/zsh/5.9/functions/zkbd +++ /dev/null @@ -1,272 +0,0 @@ -#!/nix/store/q1sbxjkv542kwgb9qjdhb4k0lravazls-zsh-5.9/bin/zsh -f - -[[ -o interactive ]] && { - local -hi ARGC # local is a no-op outside of a function - (ARGC=0) 2>/dev/null || { # so ARGC remains read-only for "source" - print -u2 ${0}: must be run as a function or shell script, not sourced - return 1 - } -} - -emulate -RL zsh -local zkbd term key seq - -zkbd=${ZDOTDIR:-$HOME}/.zkbd -[[ -d $zkbd ]] || mkdir $zkbd || return 1 - -trap 'unfunction getmbkey getseq; command rm -f $zkbd/$TERM.tmp' 0 -trap "return 1" 1 2 15 - -getmbkey () { - local k='' i - for ((i=10; i>0; --i)) - do - read -t -k 1 k && break - sleep 1 - done - [[ -n $k ]] || return 1 - [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0 - # We might not be done yet, thanks to multibyte characters - local mbk=$k - while read -t -k 1 k - do - mbk=$mbk$k - done - print -Rn $mbk -} - -getseq () { - trap "stty ${$(stty -g 2>/dev/null):-echo -raw}" 0 1 2 15 - stty raw -echo - local k='' seq='' i - for ((i=10; i>0; --i)) - do - read -t -k 1 k && break - sleep 1 - done - [[ -n $k ]] || return 1 - [[ $k = $'\012' || $k = $'\015' || $k = ' ' ]] && return 0 - seq=$k - while read -t -k 1 k - do - seq=$seq$k - done - print -Rn ${(V)seq} -} - -read term"?Enter current terminal type: [$TERM] " -[[ -n $term ]] && TERM=$term -print 'typeset -g -A key\n' > $zkbd/$TERM.tmp || return 1 - -cat <<\EOF - -We will now test some features of your keyboard and terminal. - -If you do not press the requested keys within 10 seconds, key reading will -abort. If your keyboard does not have a requested key, press Space to -skip to the next key. - -EOF - -local ctrl alt meta - -print -n "Hold down Ctrl and press X: " -ctrl=$(getmbkey) || return 1 -print - -if [[ $ctrl != $'\030' ]] -then - print "Your keyboard does not have a working Ctrl key?" - print "Giving up ..." - return 1 -else - print -fi - -print "Your Meta key may have a Microsoft Windows logo on the cap." -print -n "Hold down Meta and press X: " -meta=$(getmbkey) || return 1 -print - -if [[ $meta == x ]] -then - print "Your keyboard or terminal does not recognize the Meta key." - unset meta -elif [[ $meta > $'\177' ]] -then - print "Your keyboard uses the Meta key to send high-order characters." -else - unset meta -fi -print - -print -n "Hold down Alt and press X: " -alt=$(getmbkey) || return 1 -print - -if [[ $alt == x ]] -then - print "Your keyboard or terminal does not recognize the Alt key." - unset alt -elif [[ $alt == $meta ]] -then - print "Your keyboard does not distinguish Alt from Meta." -elif [[ $alt > $'\177' ]] -then - print "Your keyboard uses the Alt key to send high-order characters." -else - unset alt -fi - -if (( $+alt + $+meta == 0 )) -then - print $'\n---------\n' - if [[ -o multibyte ]] - then cat <<EOF -You are using zsh in MULTIBYTE mode to support modern character sets (for -languages other than English). To use the Meta or Alt keys, you probably -need to revert to single-byte mode with a command such as - - unsetopt MULTIBYTE -EOF - else cat <<EOF -Your current terminal and keyboard configuration does not appear to use -high-order characters. You may be able to enable the Meta or Alt keys -with a command such as - - stty pass8 -EOF - fi - cat <<EOF - -If you want to use these extra keys with zsh, try adding the above command -to your ${ZDOTDIR:-$HOME}/.zshrc file. - -See also "man stty" or the documentation for your terminal or emulator. -EOF -fi - -(( $+alt || $+meta )) && cat <<EOF - ---------- - -You may enable keybindings that use the \ -${meta:+Meta}${meta:+${alt:+ and }}${alt:+Alt} key${meta:+${alt:+s}} \ -by adding - - bindkey -m - -to your ${ZDOTDIR:-$HOME}/.zshrc file. - -EOF - -read -k 1 key"?Press a key to proceed: " -[[ $key != $'\n' ]] && print - -cat <<\EOF - ---------- - -You will now be asked to press in turn each of the 12 function keys, then -the Backspace key, the 6 common keypad keys found on typical PC keyboards, -plus the 4 arrow keys, and finally the Menu key (near Ctrl on the right). -If your keyboard does not have the requested key, press Space to skip to -the next key. - -Do not type ahead! Wait at least one second after pressing each key for -zsh to read the entire sequence and prompt for the next key. If a key -sequence does not echo within 2 seconds after you press it, that key may -not be sending any sequence at all. In this case zsh is not able to make -use of that key. Press Space to skip to the next key. - -EOF - -read -k 1 key"?Press a key when ready to begin: " -[[ $key != $'\n' ]] && print - -cat <<\EOF - -If you do not press a key within 10 seconds, key reading will abort. -If you make a mistake, stop typing and wait, then run this program again. - -EOF - -# There are 509 combinations of the following three arrays that represent -# possible keystrokes. (Actually, Sun keyboards don't have Meta or Menu, -# though some have R{1..12} keys as well, so really there are either 433 -# or 517 combinations; but some X11 apps map Shift-F{1..11} to emulate the -# unmodified Sun keys, so really only the 345 PC combinations are usable. -# Let's not even get into distinguishing Left and Right Shift/Alt/Meta.) -# No one would ever want to type them all into this program (would they?), -# so by default ask for the 23 unmodified PC keys. If you uncomment more, -# you should fix the introductory text above. - -local -a pckeys sunkeys modifiers -pckeys=(F{1..12} - Backspace Insert Home PageUp - Delete End PageDown - Up - Left Down Right - Menu - ) -sunkeys=(Stop Again - Props Undo - Front Copy - Open Paste - Find Cut - Help - ) -modifiers=(Shift- # Control- Alt- Meta- - # Control-Shift- Alt-Shift- Meta-Shift- - # Control-Alt- Control-Meta- Alt-Meta- - # Control-Alt-Shift- Control-Meta-Shift- - # Alt-Meta-Shift- Control-Alt-Meta-Shift- - ) - -exec 3>/dev/tty - -for key in $pckeys # $^modifiers$^pckeys $sunkeys $^modifiers$^sunkeys -do - print -u3 -Rn "Press $key: " - seq="$(getseq)" || return 1 - print "key[$key]='${(q)seq}'" - print -u3 -R $seq -done >> $zkbd/$TERM.tmp - -source $zkbd/$TERM.tmp || return 1 -if [[ "${key[Delete]}" == "${key[Backspace]}" ]] -then - print - print Warning: Backspace and Delete key both send "${(q)key[Delete]}" -else - if [[ "${key[Delete]}" != "^?" ]] - then - print - print Warning: Delete key sends "${(q)key[Delete]}" '(not ^?)' - fi - if [[ "${key[Backspace]}" != "^H" ]] - then - print - print Warning: Backspace sends "${(q)key[Backspace]}" - fi -fi - -local termID=${${DISPLAY:t}:-$VENDOR-$OSTYPE} termFile=$zkbd/$TERM.tmp -command mv $termFile $zkbd/$TERM-$termID && termFile=$zkbd/$TERM-$termID - -cat <<EOF - -Parameter assignments for the keys you typed have been written to the file: -$termFile - -You may read this file into ${ZDOTDIR:-$HOME}/.zshrc or another startup -file with the "source" or "." commands, then reference the \$key parameter -in bindkey commands, for example like this: - - source ${(D)zkbd}/\$TERM-\${\${DISPLAY:t}:-\$VENDOR-\$OSTYPE} - [[ -n \${key[Left]} ]] && bindkey "\${key[Left]}" backward-char - [[ -n \${key[Right]} ]] && bindkey "\${key[Right]}" forward-char - # etc. - -Adjust the name of the file being sourced, as necessary. -EOF diff --git a/result/sw/share/zsh/5.9/functions/zmathfunc b/result/sw/share/zsh/5.9/functions/zmathfunc deleted file mode 100644 index 12d2c2f3..00000000 --- a/result/sw/share/zsh/5.9/functions/zmathfunc +++ /dev/null @@ -1,50 +0,0 @@ -#autoload - -zsh_math_func_min() { - emulate -L zsh - local result=$1 - shift - local arg - for arg ; do - (( arg < result )) - case $? in - (0) (( result = arg ));; - (1) ;; - (*) return $?;; - esac - done - (( result )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M min 1 -1 zsh_math_func_min # at least one argument - -zsh_math_func_max() { - emulate -L zsh - local result=$1 - shift - local arg - for arg ; do - (( arg > result )) - case $? in - (0) (( result = arg ));; - (1) ;; - (*) return $?;; - esac - done - (( result )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M max 1 -1 zsh_math_func_max # at least one argument - -zsh_math_func_sum() { - emulate -L zsh - local sum - local arg - for arg ; do - (( sum += arg )) - done - (( sum )) - true # Careful here: `return 0` evaluates an arithmetic expression -} -functions -M sum 0 -1 zsh_math_func_sum - diff --git a/result/sw/share/zsh/5.9/functions/zmathfuncdef b/result/sw/share/zsh/5.9/functions/zmathfuncdef deleted file mode 100644 index 5ed991f6..00000000 --- a/result/sw/share/zsh/5.9/functions/zmathfuncdef +++ /dev/null @@ -1,87 +0,0 @@ -# Define a mathematical function with its definition and smart(ish) -# guessing of the number of arguments. Doesn't overload for different -# numbers of arguments, but that could be done. Type overloading would be -# more fraught. - -emulate -L zsh -setopt extendedglob -local -a match mbegin mend line -local func - -if (( $# > 2 )); then - print "Usage: $0 [name [body]]" >&2 - return 1 -fi - -zmodload -i zsh/parameter || return 1 - -if (( $# == 0 )); then - functions -M | while read -A line; do - func=${functions[$line[6]]} - if [[ $func = (#b)[[:space:]]#\(\([[:space:]]#(*[^[:space:]])[[:space:]]#\)\) ]]; then - print "zmathfuncdef $line[3] ${(qq)match[1]}" - fi - done - return 0 -fi - -local mname=$1 -local fname="zsh_math_func_$1" - -if (( $# == 1 )); then - functions +M $mname && unfunction $fname - return 0 -elif [[ -n $functions[$fname] ]]; then - functions +M $mname -fi - -integer iarg=0 ioptarg -local body=$2 - -# count compulsory arguments -while [[ $body = *'$'(\{|)$((iarg+1))(|[^:[:digit:]]*) ]]; do - (( iarg++ )) -done - -# count optional arguments -(( ioptarg = iarg )) -while [[ $body = *'${'$((ioptarg+1))':-'* ]]; do - (( ioptarg++ )) -done - -functions -M $mname $iarg $ioptarg $fname || return 1 - -# See if we need to autoload a math function from the standard -# library. -if ! zmodload -e zsh/mathfunc; then - local -a mathfuncs match mbegin mend loads - local mathfuncpat bodysearch - - # generate pattern to match all known math functions - mathfuncs=(abs acos acosh asin asinh atan atanh cbrt ceil cos cosh erf erfc - exp expm1 fabs float floor gamma int j0 j1 lgamma log log10 log1p logb - sin sinh sqrt tan tanh y0 y1 signgam copysign fmod hypot nextafter jn yn - ldexp scalb rand48) - mathfuncpat="(${(j.|.)mathfuncs})" - bodysearch=$body - while [[ $bodysearch = (#b)(*[^[:alnum]]|)([[:alnum:]]##)\((*) ]]; do - # save worrying about search order... - bodysearch=$match[1]$match[3] - if [[ $match[2] = ${~mathfuncpat} ]]; then - # Uses function from math library. - loads+=($match[2]) - fi - done - if (( ${#loads} )); then - zmodload -af zsh/mathfunc $loads - fi -fi - -{ - eval "$fname() { (( $body )); true }" -} always { - # Remove math function if shell function definition failed. - if (( TRY_BLOCK_ERROR )); then - functions +M $mname - fi -} diff --git a/result/sw/share/zsh/5.9/functions/zmv b/result/sw/share/zsh/5.9/functions/zmv deleted file mode 100644 index 269fe5ba..00000000 --- a/result/sw/share/zsh/5.9/functions/zmv +++ /dev/null @@ -1,299 +0,0 @@ -# function zmv { -# zmv, zcp, zln: -# -# This is a multiple move based on zsh pattern matching. To get the full -# power of it, you need a postgraduate degree in zsh. However, simple -# tasks work OK, so if that's all you need, here are some basic examples: -# zmv '(*).txt' '$1.lis' -# Rename foo.txt to foo.lis, etc. The parenthesis is the thing that -# gets replaced by the $1 (not the `*', as happens in mmv, and note the -# `$', not `=', so that you need to quote both words). -# zmv '(**/)(*).txt '$1$2.lis' -# The same, but scanning through subdirectories. The $1 becomes the full -# path. Note that you need to write it like this; you can't get away with -# '(**/*).txt'. -# zmv -w '**/*.txt' '$1$2.lis' -# noglob zmv -W **/*.txt **/*.lis -# These are the lazy version of the one above; with -w, zsh inserts the -# parentheses for you in the search pattern, and with -W it also inserts -# the numbered variables for you in the replacement pattern. The catch -# in the first version is that you don't need the / in the replacement -# pattern. (It's not really a catch, since $1 can be empty.) Note that -# -W actually inserts ${1}, ${2}, etc., so it works even if you put a -# number after a wildcard (such as zmv -W '*1.txt' '*2.txt'). -# zmv -C '**/(*).txt' ~/save/'$1'.lis -# Copy, instead of move, all .txt files in subdirectories to .lis files -# in the single directory `~/save'. Note that the ~ was not quoted. -# You can test things safely by using the `-n' (no, not now) option. -# Clashes, where multiple files are renamed or copied to the same one, are -# picked up. -# -# Here's a more detailed description. -# -# Use zsh pattern matching to move, copy or link files, depending on -# the last two characters of the function name. The general syntax is -# zmv '<inpat>' '<outstring>' -# <inpat> is a globbing pattern, so it should be quoted to prevent it from -# immediate expansion, while <outstring> is a string that will be -# re-evaluated and hence may contain parameter substitutions, which should -# also be quoted. Each set of parentheses in <inpat> (apart from those -# around glob qualifiers, if you use the -Q option, and globbing flags) may -# be referred to by a positional parameter in <outstring>, i.e. the first -# (...) matched is given by $1, and so on. For example, -# zmv '([a-z])(*).txt' '${(C)1}$2.txt' -# renames algernon.txt to Algernon.txt, boris.txt to Boris.txt and so on. -# The original file matched can be referred to as $f in the second -# argument; accidental or deliberate use of other parameters is at owner's -# risk and is not covered by the (non-existent) guarantee. -# -# As usual in zsh, /'s don't work inside parentheses. There is a special -# case for (**/) and (***/): these have the expected effect that the -# entire relevant path will be substituted by the appropriate positional -# parameter. -# -# There is a shortcut avoiding the use of parenthesis with the option -w -# (with wildcards), which picks out any expressions `*', `?', `<range>' -# (<->, <1-10>, etc.), `[...]', possibly followed by `#'s, `**/', `***/', and -# automatically parenthesises them. (You should quote any ['s or ]'s which -# appear inside [...] and which do not come from ranges of the form -# `[:alpha:]'.) So for example, in -# zmv -w '[[:upper:]]*' '${(L)1}$2' -# the $1 refers to the expression `[[:upper:]]' and the $2 refers to -# `*'. Thus this finds any file with an upper case first character and -# renames it to one with a lowercase first character. Note that any -# existing parentheses are active, too, so you must count accordingly. -# Furthermore, an expression like '(?)' will be rewritten as '((?))' --- in -# other words, parenthesising of wildcards is independent of any existing -# parentheses. -# -# Any file whose name is not changed by the substitution is simply ignored. -# Any error --- a substitution resulted in an empty string, two -# substitutions gave the same result, the destination was an existing -# regular file and -f was not given --- causes the entire function to abort -# without doing anything. -# -# Options: -# -f force overwriting of destination files. Not currently passed -# down to the mv/cp/ln command due to vagaries of implementations -# (but you can use -o-f to do that). -# -i interactive: show each line to be executed and ask the user whether -# to execute it. Y or y will execute it, anything else will skip it. -# Note that you just need to type one character. -# -n no execution: print what would happen, but don't do it. -# -q Turn bare glob qualifiers off: now assumed by default, so this -# has no effect. -# -Q Force bare glob qualifiers on. Don't turn this on unless you are -# actually using glob qualifiers in a pattern (see below). -# -s symbolic, passed down to ln; only works with zln or z?? -L. -# -v verbose: print line as it's being executed. -# -o <optstring> -# <optstring> will be split into words and passed down verbatim -# to the cp, ln or mv called to perform the work. It will probably -# begin with a `-'. -# -p <program> -# Call <program> instead of cp, ln or mv. Whatever it does, it should -# at least understand the form '<program> -- <oldname> <newname>', -# where <oldname> and <newname> are filenames generated. <program> -# will be split into words. -# -P <program> -# As -p, but the program doesn't understand the "--" convention. -# In this case the file names must already be sane. -# -w Pick out wildcard parts of the pattern, as described above, and -# implicitly add parentheses for referring to them. -# -W Just like -w, with the addition of turning wildcards in the -# replacement pattern into sequential ${1} .. ${N} references. -# -C -# -L -# -M Force cp, ln or mv, respectively, regardless of the name of the -# function. -# -# Bugs: -# Parenthesised expressions can be confused with glob qualifiers, for -# example a trailing '(*)' would be treated as a glob qualifier in -# ordinary globbing. This has proved so annoying that glob qualifiers -# are now turned off by default. To force the use of glob qualifiers, -# give the flag -Q. -# -# The pattern is always treated as an extendedglob pattern. This -# can also be interpreted as a feature. -# -# Unbugs: -# You don't need braces around the 1 in expressions like '$1t' as -# non-positional parameters may not start with a number, although -# paranoiacs like the author will probably put them there anyway. - -emulate -RL zsh -setopt extendedglob - -local f g args match mbegin mend files action myname tmpf opt exec -local opt_f opt_i opt_n opt_q opt_Q opt_s opt_M opt_C opt_L -local opt_o opt_p opt_P opt_v opt_w opt_W MATCH MBEGIN MEND -local pat repl errstr fpat hasglobqual opat -typeset -A from to -integer stat - -local dashes=-- - -myname=${(%):-%N} - -while getopts ":o:p:P:MCLfinqQsvwW" opt; do - if [[ $opt = "?" ]]; then - print -r -- "$myname: unrecognized option: -$OPTARG" >&2 - return 1 - fi - eval "opt_$opt=\${OPTARG:--\$opt}" -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - -[[ -z $opt_Q ]] && setopt nobareglobqual -[[ -n $opt_M ]] && action=mv -[[ -n $opt_C ]] && action=cp -[[ -n $opt_L ]] && action=ln -[[ -n $opt_p ]] && action=$opt_p -[[ -n $opt_P ]] && action=$opt_P dashes= - -if [[ -z $action ]]; then - action=$myname[-2,-1] - - if [[ $action != (cp|mv|ln) ]]; then - print -r "$myname: action $action not recognised: must be cp, mv or ln." >&2 - return 1 - fi -fi - -if (( $# != 2 )); then - print -P "Usage: - %N [OPTIONS] oldpattern newpattern -where oldpattern contains parenthesis surrounding patterns which will -be replaced in turn by \$1, \$2, ... in newpattern. For example, - %N '(*).lis' '\$1.txt' -renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt', -and so on. Something simpler (for basic commands) is the -W option: - %N -W '*.lis' '*.txt' -This does the same thing as the first command, but with automatic conversion -of the wildcards into the appropriate syntax. If you combine this with -noglob, you don't even need to quote the arguments. For example, - alias mmv='noglob zmv -W' - mmv *.c.orig orig/*.c" >&2 - return 1 -fi - -pat=$1 -repl=$2 -shift 2 - -if [[ -n $opt_s && $action != ln ]]; then - print -r -- "$myname: invalid option: -s" >&2 - return 1 -fi - -if [[ -n $opt_w || -n $opt_W ]]; then - # Parenthesise all wildcards. - local tmp find - integer cnt=0 - # Well, this seems to work. - # The tricky bit is getting all forms of [...] correct, but as long - # as we require inactive bits to be backslashed its not so bad. - find='(#m)((\*\*##/|[*?]|<[0-9]#-[0-9]#>|\[(^|)(\]|)(\[:[a-z]##:\]|\\?|[^\]])##\])\##|?\###)' - tmp="${pat//${~find}/$[++cnt]}" - if [[ $cnt = 0 ]]; then - print -r -- "$myname: warning: no wildcards were found in search pattern" >&2 - else - pat="${pat//${~find}/($MATCH)}" - fi - if [[ -n $opt_W ]]; then - # Turn wildcards into ${1} .. ${N} references. - local open='${' close='}' - integer N=0 - repl="${repl//${~find}/$open$[++N]$close}" - if [[ $N != $cnt ]]; then - print -P "%N: error: number of wildcards in each pattern must match" >&2 - return 1 - fi - if [[ $N = 0 ]]; then - print -P "%N: warning: no wildcards were found in replacement pattern" >&2 - fi - fi -fi - -if [[ -n $opt_Q && $pat = (#b)(*)\([^\)\|\~]##\) ]]; then - hasglobqual=q - # strip off qualifiers for use as ordinary pattern - opat=$match[1] -fi - -if [[ $pat = (#b)(*)\((\*\*##/)\)(*) ]]; then - fpat="$match[1]$match[2]$match[3]" - # Now make sure we do depth-first searching. - # This is so that the names of any files are altered before the - # names of the directories they are in. - if [[ -n $opt_Q && -n $hasglobqual ]]; then - fpat[-1]="odon)" - else - setopt bareglobqual - fpat="${fpat}(odon)" - fi -else - fpat=$pat -fi -files=(${~fpat}) - -[[ -n $hasglobqual ]] && pat=$opat - -errs=() - -for f in $files; do - if [[ $pat = (#b)(*)\(\*\*##/\)(*) ]]; then - # This looks like a recursive glob. This isn't good enough, - # because we should really enforce that $match[1] and $match[2] - # don't match slashes unless they were explicitly given. But - # it's a start. It's fine for the classic case where (**/) is - # at the start of the pattern. - pat="$match[1](*/|)$match[2]" - fi - [[ -e $f && $f = (#b)${~pat} ]] || continue - set -- "$match[@]" - { { - g=${(Xe)repl} - } 2> /dev/null } always { - if (( TRY_BLOCK_ERROR )); then - print -r -- "$myname: syntax error in replacement" >&2 - return 1 - fi - } - if [[ -z $g ]]; then - errs+=("\`$f' expanded to an empty string") - elif [[ $f = $g ]]; then - # don't cause error: more useful just to skip - # errs=($errs "$f not altered by substitution") - [[ -n $opt_v ]] && print -r -- "$f not altered, ignored" - continue - elif [[ -n $from[$g] && ! -d $g ]]; then - errs+=("$f and $from[$g] both map to $g") - elif [[ -f $g && -z $opt_f && ! ($f -ef $g && $action = mv) ]]; then - errs+=("file exists: $g") - fi - from[$g]=$f - to[$f]=$g -done - -if (( $#errs )); then - print -r -- "$myname: error(s) in substitution:" >&2 - print -lr -- $errs >&2 - return 1 -fi - -for f in $files; do - [[ -z $to[$f] ]] && continue - exec=(${=action} ${=opt_o} $opt_s $dashes $f $to[$f]) - [[ -n $opt_i$opt_n$opt_v ]] && print -r -- ${(q-)exec} - if [[ -n $opt_i ]]; then - read -q 'opt?Execute? ' || continue - fi - if [[ -z $opt_n ]]; then - $exec || stat=1 - fi -done - -return $stat -# } diff --git a/result/sw/share/zsh/5.9/functions/zrecompile b/result/sw/share/zsh/5.9/functions/zrecompile deleted file mode 100644 index d9fc5502..00000000 --- a/result/sw/share/zsh/5.9/functions/zrecompile +++ /dev/null @@ -1,249 +0,0 @@ -# This tries to find wordcode files and automatically re-compile them if -# at least one of the original files is newer than the wordcode file. -# This will only work if the original files were added with their full -# paths or if the names stored in the wordcode files are relative to the -# directory where the wordcode file is. -# -# Arguments are the names of wordcode files and directories containing -# wordcode files that should be checked. If no arguments are given, the -# directories and wordcode files in $fpath are used. -# -# And then there are two options: -# -t: Only check if there are wordcode files that have to be -# re-compiled. The return status is zero if there are files -# that need to be re-compiled and non-zero otherwise. -# -q: Be quiet, i.e.: only set the return status. -# -p: If this is given, the arguments are interpreted differently: -# they should form one or more sets of arguments for zcompile, -# separated by `--'. For example: -# -# zrecompile -p \ -# -R ~/.zshrc -- \ -# -M ~/.zcompdump -- \ -# ~/zsh/comp.zwc ~/zsh/Completion/*/_* \ -# -# This makes ~/.zshrc be compiled into ~/.zshrc.zwc if that doesn't -# exist or if it is older than ~/.zshrc. The wordcode file will be -# marked for reading instead of mapping. The same is done for -# ~/.zcompdump and ~/.zcompdump.zwc, but the wordcode file is marked -# for mapping. The last line re-creates the file ~/zsh/comp.zwc if -# any of the files matching the given pattern is newer than it. -# -# Without the -t option, the return status is zero if all wordcode files -# that needed re-compilation could be compiled and non-zero if compilation -# for at least one of the files failed. - -setopt localoptions extendedglob noshwordsplit noksharrays - -local opt check quiet zwc files re file pre ret map tmp mesg pats - -tmp=() -while getopts ":tqp" opt; do - case $opt in - t) check=yes ;; - q) quiet=yes ;; - p) pats=yes ;; - *) - if [[ -n $pats ]]; then - tmp=( $tmp $OPTARG ) - else - print -u2 zrecompile: bad option: -$OPTARG - return 1 - fi - esac -done -shift OPTIND-${#tmp}-1 - -if [[ -n $check ]]; then - ret=1 -else - ret=0 -fi - -if [[ -n $pats ]]; then - local end num - - while (( $# )); do - end=$argv[(i)--] - - if [[ end -le $# ]]; then - files=( $argv[1,end-1] ) - shift end - else - files=( $argv ) - argv=() - fi - - tmp=() - map=() - OPTIND=1 - while getopts :MR opt $files; do - case $opt in - [MR]) map=( -$opt ) ;; - *) tmp=( $tmp $files[OPTIND] );; - esac - done - shift OPTIND-1 files - (( $#files )) || continue - - files=( $files[1] ${files[2,-1]:#*(.zwc|~)} ) - - (( $#files )) || continue - - zwc=${files[1]%.zwc}.zwc - shift 1 files - - (( $#files )) || files=( ${zwc%.zwc} ) - - if [[ -f $zwc ]]; then - num=$(zcompile -t $zwc | wc -l) - if [[ num-1 -ne $#files ]]; then - re=yes - else - re= - for file in $files; do - if [[ $file -nt $zwc ]]; then - re=yes - break - fi - done - fi - else - re=yes - fi - - if [[ -n $re ]]; then - if [[ -n $check ]]; then - - # ... say so. - - [[ -z $quiet ]] && print $zwc needs re-compilation - ret=0 - else - - # ... or do it. - - [[ -z $quiet ]] && print -n "re-compiling ${zwc}: " - - # If the file is mapped, it might be mapped right now, so keep the - # old file by renaming it. - - if [[ -z "$quiet" ]] && - { [[ ! -f $zwc ]] || mv -f $zwc ${zwc}.old } && - zcompile $map $tmp $zwc $files; then - print succeeded - elif ! { { [[ ! -f $zwc ]] || mv -f $zwc ${zwc}.old } && - zcompile $map $tmp $zwc $files 2> /dev/null } then - [[ -z $quiet ]] && print "re-compiling ${zwc}: failed" - ret=1 - fi - fi - fi - done - - return ret -fi - -# Get the names of wordcode files. - -if (( $# )); then - argv=( ${^argv}/*.zwc(ND) ${^argv}.zwc(ND) ${(M)argv:#*.zwc} ) -else - argv=( ${^fpath}/*.zwc(ND) ${^fpath}.zwc(ND) ${(M)fpath:#*.zwc} ) -fi - -# We only handle *.zwc files. zcompile only handles *.zwc files. Everybody -# seems to handle only *.zwc files. - -argv=( ${^argv%.zwc}.zwc ) - -for zwc; do - - # Get the files in the wordcode file. - - files=( ${(f)"$(zcompile -t $zwc)"} ) - - # See if the wordcode file will be mapped. - - if [[ $files[1] = *\(mapped\)* ]]; then - map=-M - mesg='succeeded (old saved)' - else - map=-R - mesg=succeeded - fi - - # Get the path prefix of the wordcode file to prepend it to names of - # original files that are relative pathnames. - - if [[ $zwc = */* ]]; then - pre=${zwc%/*}/ - else - pre= - fi - - # Maybe this is even for an older version of the shell? - - if [[ $files[1] != *$ZSH_VERSION ]]; then - re=yes - else - re= - fi - - files=( ${pre}${^files[2,-1]:#/*} ${(M)files[2,-1]:#/*} ) - - # If the version is correct, compare the age of every original file - # to the age of the wordcode file. - - [[ -z $re ]] && - for file in $files; do - if [[ $file -nt $zwc ]]; then - re=yes - break - fi - done - - if [[ -n $re ]]; then - - # The wordcode files needs re-compilation... - - if [[ -n $check ]]; then - - # ... say so. - - [[ -z $quiet ]] && print $zwc needs re-compilation - ret=0 - else - - # ... or do it. - - [[ -z $quiet ]] && print -n "re-compiling ${zwc}: " - - tmp=( ${^files}(N) ) - - # Here is the call to zcompile, but if we can't find all the original - # files, we don't try compilation. - - if [[ $#tmp -ne $#files ]]; then - [[ -z $quiet ]] && print 'failed (missing files)' - ret=1 - else - - # If the file is mapped, it might be mapped right now, so keep the - # old file by renaming it. - - if [[ -z "$quiet" ]] && - mv -f $zwc ${zwc}.old && - zcompile $map $zwc $files; then - print $mesg - elif ! { mv -f $zwc ${zwc}.old && - zcompile $map $zwc $files 2> /dev/null } then - [[ -z $quiet ]] && print "re-compiling ${zwc}: failed" - ret=1 - fi - fi - fi - fi -done - -return ret diff --git a/result/sw/share/zsh/5.9/functions/zsh-mime-contexts b/result/sw/share/zsh/5.9/functions/zsh-mime-contexts deleted file mode 100644 index 08f12515..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh-mime-contexts +++ /dev/null @@ -1,24 +0,0 @@ -# Helper for zsh-mime-handler. -# -# Pass in a zstyle option, a suffix, which might include multiple parts -# (e.g. pdf.gz), plus remaining zstyle arguments plus arguments to zstyle. -# Try to match the style starting with the longest possible suffix. - -local context suffix option - -option=$1 -shift -suffix=$1 -shift - -while true; do - context=":mime:.${suffix}:" - zstyle $option $context "$@" && return 0 - if [[ $suffix = *.* ]]; then - suffix=${suffix#*.} - else - break - fi -done - -return 1 diff --git a/result/sw/share/zsh/5.9/functions/zsh-mime-handler b/result/sw/share/zsh/5.9/functions/zsh-mime-handler deleted file mode 100644 index 288a0796..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh-mime-handler +++ /dev/null @@ -1,323 +0,0 @@ -# Handler for MIME types using associative arrays -# zsh_mime_handlers and zsh_mime_flags set up by zsh-mime-setup. -# -# The only flags it handles are copiousoutput and needsterminal. -# copiousoutput is assumed to imply needsterminal. Apart from -# those, it tries to be a bit cunning about quoting, which -# can be a nightmare in MIME handling. If it sees something like -# netscape %s -# and it only has one file to handle (the usual case) then it will handle it -# internally just by appending a file. -# -# Anything else is handled by passing to sh -c, which is the only think -# with a high probability of working. If it sees something with -# quotes, e.g. -# /usr/bin/links "%s" -# it will assume someone else has tried to fix the quoting problem and not -# do that. If it sees something with no quotes but other metacharacters, -# e.g. -# cat %s | handler -# then it will do any quoting and pass the result to sh -c. -# So for example if the argument is "My File", the command executed -# is supposedly -# sh -c 'cat My\ File | handler' -# -# This note is mostly here so you can work out what I tried to do when -# it goes horribly wrong. - -local autocd -[[ -o autocd ]] && autocd=autocd - -emulate -L zsh -setopt extendedglob cbases nullglob $autocd - -# We need zformat from zsh/zutil for %s replacement. -zmodload -i zsh/zutil - -autoload -Uz zsh-mime-contexts - -# Look for options. Because of the way this is usually invoked, -# (there is always a command to be handled), only handle options -# up to second last argument. -local opt -integer list -while (( $# - $OPTIND > 0 )); do - if getopts "l" opt; then - case $opt in - (l) - list=1 - ;; - - (*) - return 1 - ;; - esac - else - break - fi -done -shift $(( OPTIND - 1 )) - -# Always called with a filename argument first. -# There might be other arguments; don't really know what to do -# with these, but if they came from e.g. `*.ps' then we might -# just as well pass them all down. However, we just take the -# suffix from the first since that's what invoked us via suffix -s. - -local suffix s -local -a match mbegin mend - -suffix=${1:t} -if [[ $suffix != *.* ]]; then - "No suffix in command: $1" >&2 - return 1 -fi -suffix=${suffix#*.} - -local handler flags no_sh no_bg arg bg_flag="&" -integer i -local -a exec_asis hand_nonex exec_never - -# Set to a list of patterns which are ignored and executed as they are, -# despite being called for interpretation by the mime handler. -# Defaults to executable files, which ensures that they are executed as -# they are, even if they have a suffix. -zsh-mime-contexts -a $suffix execute-as-is exec_asis || exec_asis=('*(*)' '*(/)') -zsh-mime-contexts -a $suffix execute-never exec_never - -# Set to a list of patterns for which the handler will be used even -# if the file doesn't exist on the disk. -zsh-mime-contexts -a $suffix handle-nonexistent hand_nonex || - hand_nonex=('[[:alpha:]]#:/*') - -# Set to true if the job should be disowned. -zsh-mime-contexts -t $suffix disown && bg_flag="&!" - -local pattern -local -a files - -# Search some path for the file, if required. -# We do this before any other tests that need to find the -# actual file or its directory. -local dir -local -a filepath -if zsh-mime-contexts -t $suffix find-file-in-path && [[ $1 != /* ]] && - [[ $1 != */* || -o pathdirs ]]; then - zsh-mime-contexts -a $suffix file-path filepath || filepath=($path) - for dir in $filepath; do - if [[ -e $dir/$1 ]]; then - 1=$dir/$1 - break - fi - done -fi - -# In case the pattern contains glob qualifiers, as it does by default, -# we need to do real globbing, not just pattern matching. -# The strategy is to glob the files in the directory using the -# pattern and see if the one we've been passed is in the list. -local dirpref=${1%/*} -if [[ $dirpref = $1 ]]; then - dirpref= -else - dirpref+=/ -fi - -for pattern in $exec_asis; do - files=(${dirpref}${~pattern}) - if [[ -n ${files[(r)$1]} ]]; then - for pattern in $exec_never; do - [[ ${1:P} = ${~pattern} ]] && break 2 - done - if (( list )); then - for (( i = 1; i <= $#; i++ )); do - (( i == 1 )) || print -n " " - arg=${argv[i]} - if [[ -n $arg ]]; then - print -rn -- ${(q)arg} - else - print "''" - fi - done - print - else - "$@" - fi - return - fi -done - -if [[ ! -e $1 ]]; then - local nonex_ok - for pattern in $hand_nonex; do - if [[ $1 = ${~pattern} ]]; then - nonex_ok=1 - break - fi - done - if [[ -z $nonex_ok ]]; then - if (( list )); then - print -r -- "${(q)@}" - else - "$@" - fi - return - fi -fi - -if ! zsh-mime-contexts -s $suffix handler handler; then - # Look for handler starting with longest suffix match. - # Typically we'd only get a match for the shortest, but don't assume so. - s=$suffix - while true; do - handler="${zsh_mime_handlers[$s]}" - if [[ -n $handler ]]; then - break - fi - if [[ $s = *.* ]]; then - s=${s#*.} - else - break - fi - done - if [[ -z $handler ]]; then - if [[ $suffix = *.* ]]; then - print "No handler specified for suffix .$suffix or any final part" >&2 - else - print "No handler specified for suffix .$suffix" >&2 - fi - return 1 - fi -fi -if ! zsh-mime-contexts -s $suffix flags flags; then - # Same again for flags. - s=$suffix - while true; do - flags="${zsh_mime_flags[$suffix]}" - if [[ -n $flags ]]; then - break - fi - if [[ $s = *.* ]]; then - s=${s#*.} - else - break - fi - done -fi - -# Set to yes if we use eval instead of sh -c for complicated mailcap lines -# Can possibly break some mailcap entries which expect sh compatibility, -# but is faster, as a new process is not spawned. -zsh-mime-contexts -t $suffix current-shell && no_sh=yes - -# Set to yes if the process shouldn't be backgrounded even if it doesn't need a -# terminal and display is set. -zsh-mime-contexts -t $suffix never-background && no_bg=yes - -local hasmeta stdin - -# See if the handler has shell metacharacters in. -# Don't count whitespace since we can split that when it's unquoted. -if [[ $handler = *[\\\;\*\?\|\"\'\`\$]* ]]; then - hasmeta=1 -fi - -local -a execargs files - -if [[ $handler = *%s* ]]; then - # We need to replace %s with the file(s). - local command - if [[ -n $hasmeta || $# -gt 1 ]]; then - # The handler is complicated, either due to special - # characters or multiple files. We are going to pass it - # down to sh, since it's probably written for sh syntax. - # - # See if it's a good idea to quote the filename(s). - # It isn't if there are already quotes in the handler, since - # that means somebody already tried to take account of that. - if [[ $handler = *[\'\"]* ]]; then - # Probably we ought not even to handle multiple - # arguments, but at least the error message ought - # to make it obvious what's going on. - zformat -f command $handler s:"$argv[1]" - else - zformat -f command $handler s:"${(q)argv[1]}" - fi - if (( list )); then - execargs=(${(Q)${(z)command}} ${argv[1,-1]}) - elif [[ $no_sh = yes ]]; then - execargs=(eval $command) - else - execargs=(sh -c $command) - fi - else - # Simple command, one filename. - # Split and add the file without extra quoting, - # since later we will just execute the array as is. - for command in ${=handler}; do - zformat -f command $command s:"$1" - execargs+=($command) - done - fi -else - # If there's no %s, the input is supposed to come from stdin. - stdin=1 - if [[ -n $hasmeta && $no_sh != yes && list -eq 0 ]]; then - execargs=(sh -c "$handler") - else - execargs=(${=handler}) - fi -fi - -if (( list )); then - for (( i = 1; i <= ${#execargs}; i++ )); do - (( i == 1 )) || print -n " " - arg=${execargs[i]} - if [[ -n $arg ]]; then - print -rn -- ${(q)arg} - else - print -n "''" - fi - done - print - return 0 -fi - -# Now execute the command in the appropriate fashion. -if [[ $flags = *copiousoutput* ]]; then - # We need to page the output. - # Careful in case PAGER is a set of commands and arguments. - local -a pager - zsh-mime-contexts -a $suffix pager pager || pager=(${=PAGER:-more}) - if [[ -n $stdin ]]; then - cat $argv | $execargs | $pager - else - $execargs | eval ${PAGER:-more} - fi -elif [[ $no_bg = yes || $flags = *needsterminal* || -z $DISPLAY ]]; then - # Needs a terminal, so run synchronously. - # Obviously, if $DISPLAY is empty but the handler needs a - # GUI we are in trouble anyway. However, it's possible for - # the handler to be smart about this, like pick-web-browser, - # and even if it just produces an error message it's better to - # have it run synchronously. - if [[ -n $stdin ]]; then - cat $argv | $execargs - else - $execargs - fi -else - # Doesn't need a terminal and we have a $DISPLAY, so run - # it in the background. sh probably isn't smart enough to - # exec the last command in the list, but it's not a big deal. - # - # The following Rococo construction is to try to make - # the job output for the backgrounded command descriptive. - # Otherwise it's equivalent to removing the eval and all the quotes, - # including the (q) flags. - if [[ -n $stdin ]]; then - eval cat ${(q)argv} "|" ${(q)execargs} $bg_flag - else - eval ${(q)execargs} $bg_flag - fi -fi diff --git a/result/sw/share/zsh/5.9/functions/zsh-mime-setup b/result/sw/share/zsh/5.9/functions/zsh-mime-setup deleted file mode 100644 index 35f6e6b6..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh-mime-setup +++ /dev/null @@ -1,376 +0,0 @@ -emulate -L zsh -setopt extendedglob cbases - -local opt o_verbose o_list i - -autoload -Uz zsh-mime-handler - -while getopts "flv" opt; do - case $opt in - # List: show existing suffixes and their handlers then exit. - (l) - o_list=1 - ;; - - # Verbose; print diagnostics to stdout. - (v) - o_verbose=1 - ;; - - # Force; discard any existing settings before reading. - (f) - unset -m zsh_mime_\* - ;; - - (*) - [[ $opt = \? ]] || print -r "Option $opt not handled, complain" >&2 - return 1 - ;; - esac -done -(( OPTIND > 1 )) && shift $(( OPTIND - 1 )) - - -if [[ -n $o_list ]]; then - # List and return. Remember that suffixes may be overridden by styles. - # However, we require some sort of standard handler to be present, - # so we don't need to search styles for suffixes that aren't - # handled. Yet. - local list_word - local -a handlers - if (( $# )); then - handlers=(${(k)zsh_mime_handlers[(I)${(j.|.)*}]}) - else - handlers=(${(k)zsh_mime_handlers}) - fi - for suffix in ${(o)handlers}; do - zstyle -s ":mime:.$suffix:" handler list_word || - list_word=${zsh_mime_handlers[$suffix]} - print ${(r.10.)suffix}$list_word - zstyle -s ":mime:.$suffix:" flags list_word || - list_word=${zsh_mime_flags[$suffix]} - if [[ -n $list_word ]]; then - print " flags: $list_word" - fi - done - return 0 -fi - - -# Handler for each suffix. -(( ${+zsh_mime_handlers} )) || typeset -gA zsh_mime_handlers -# Corresponding flags, if any, for handler -(( ${+zsh_mime_flags} )) || typeset -gA zsh_mime_flags - -# Internal maps read from MIME configuration files. -# Note we don't remember the types, just the mappings from suffixes -# to handlers and their flags. -typeset -A suffix_type_map type_handler_map type_flags_map - -local -a default_type_files default_cap_files -local -a type_files cap_files array match mbegin mend -local file line type suffix exts elt flags line2 -integer ind - -default_type_files=(~/.mime.types /etc/mime.types) -default_cap_files=(~/.mailcap /etc/mailcap) - -# Customizable list of files to examine. -if zstyle -a :mime: mime-types type_files; then - while (( (ind = ${type_files[(I)+]}) > 0 )); do - type_files[$ind]=($default_type_files) - done -else - type_files=($default_type_files) -fi - -if zstyle -a :mime: mailcap cap_files; then - while (( (ind = ${cap_files[(I)+]}) > 0 )); do - cap_files[$ind]=($default_cap_files) - done -else - cap_files=($default_cap_files) -fi - -{ - mime-setup-add-type() { - local type suffix - local -a array - - type=$1 - shift - - while (( $# )); do - # `.ps' instead of `ps' has been noted - suffix=${1##.} - shift - - if [[ -z $suffix_type_map[$suffix] ]]; then - [[ -n $o_verbose ]] && - print -r "Adding type $type for $suffix" >&2 - suffix_type_map[$suffix]=$type - else - # Skip duplicates. - array=(${=suffix_type_map[$suffix]}) - if [[ ${array[(I)$type]} -eq 0 ]]; then - [[ -n $o_verbose ]] && - print -r "Appending type $type for already defined $suffix" >&2 - suffix_type_map[$suffix]+=" $type" - fi - fi - done - } - - # Loop through files to find suffixes for MIME types. - # Earlier entries take precedence, so the files need to be listed - # with the user's own first. This also means pre-existing - # values in suffix_type_map are respected. - for file in $type_files; do - [[ -r $file ]] || continue - - # For once we rely on the fact that read handles continuation - # lines ending in backslashes, i.e. there's no -r. - while read line; do - # Skip blank or comment lines. - [[ $line = [[:space:]]#(\#*|) ]] && continue - - # There are two types of line you find in MIME type files. - # The original simple sort contains the type name then suffixes - # separated by whitespace. However, Netscape insists - # on adding lines with backslash continuation with - # key="value" pairs. So we'd better handle both. - if [[ $line = *=* ]]; then - # Gory. - # This relies on the fact that a typical entry: - # type=video/x-mpeg2 desc="MPEG2 Video" exts="mpv2,mp2v" - # looks like a parameter assignment. However, we really - # don't want to be screwed up by future extensions, - # so we split the elements to an array and pick out the - # ones we're interested in. - type= exts= - - # Syntactically split line to preserve quoted words. - array=(${(z)line}) - for elt in $array; do - if [[ $elt = (type|exts)=* ]]; then - eval $elt - fi - done - - # Get extensions by splitting on comma - array=(${(s.,.)exts}) - - [[ -n $type ]] && mime-setup-add-type $type $array - else - # Simple. - mime-setup-add-type ${=line} - fi - done <$file - done -} always { - unfunction mime-setup-add-type >&/dev/null -} - -local -a pats_prio o_prios -local o_overwrite sentinel -typeset -A type_prio_flags_map type_prio_src_map type_prio_mprio_map -integer src_id prio mprio - -# A list of keywords indicating the methods used to break ties amongst multiple -# entries. The following keywords are accepted: -# files: The order of files read: Entries from files read earlier are preferred -# (The default value of the variable is a list with this keyword alone) -# priority: The priority flag is matched in the entry. Can be a value from 0 to -# 9. The default priority is 5. Higher priorities are preferred. -# flags: See the mailcap-prio-flags option -# place: Always overrides. Useful for specifying that entries read later are -# preferred. -# -# As the program reads mailcap entries, if it encounters a duplicate -# entry, each of the keywords in the list are checked to see if the new -# entry can override the existing entry. If none of the keywords are able -# to decide whether the new entry should be preferred to the older one, the -# new entry is discarded. -zstyle -a :mime: mailcap-priorities o_prios || o_prios=(files) - -# This style is used as an argument for the flags test in mailcap-priorities. -# This is a list of patterns, each of which is tested against the flags for the -# mailcap entry. An match with a pattern ahead in the list is preferred as -# opposed to a match later in the list. An unmatched item is least preferred. -zstyle -a :mime: mailcap-prio-flags pats_prio - -# Loop through files to find handlers for types. -((src_id = 0)) -for file in $cap_files; do - [[ -r $file ]] || continue - - ((src_id = src_id + 1)) - # Oh, great. We need to preserve backslashes inside the line, - # but need to manage continuation lines. - while read -r line; do - # Skip blank or comment lines. - [[ $line = [[:space:]]#(\#*|) ]] && continue - - while [[ $line = (#b)(*)\\ ]]; do - line=$match[1] - read -r line2 || break - line+=$line2 - done - - # Guess what, this file has a completely different format. - # See mailcap(4). - # The biggest unpleasantness here is that the fields are - # delimited by semicolons, but the command field, which - # is the one we want to extract, may itself contain backslashed - # semicolons. - if [[ $line = (#b)[[:space:]]#([^[:space:]\;]##)[[:space:]]#\;(*) ]] - then - # this is the only form we can handle, but there's no point - # issuing a warning for other forms. - type=$match[1] - line=$match[2] - # See if it has flags after the command. - if [[ $line = (#b)(([^\;\\]|\\\;|\\[^\;])#)\;(*) ]]; then - line=$match[1] - flags=$match[3] - else - flags= - fi - # Remove quotes from semicolons - line=${line//\\\;/\;} - # and remove any surrounding white space --- this might - # make the handler empty. - line=${${line##[[:space:]]#}%%[[:space:]]} - - ((prio = 0)) - for i in $pats_prio; do - # print -r "Comparing $i with '$flags'" >&2 - [[ $flags = ${~i} ]] && break - # print -r "Comparison failed" >&2 - ((prio = prio + 1)) - done - ((mprio=5)) - [[ $flags = (#b)*priority=([0-9])* ]] && mprio=$match[1] - sentinel=no - if [[ -n $type_handler_map[$type] ]]; then - for i in $o_prios; do - case $i in - (files) - if [[ $src_id -lt $type_prio_src_map[$type] ]]; then - sentinel=yes; break - elif [[ $src_id -gt $type_prio_src_map[$type] ]]; then - sentinel=no; break - fi - ;; - (priority) - if [[ $mprio -gt $type_prio_mprio_map[$type] ]]; then - sentinel=yes; break - elif [[ $mprio -lt $type_prio_mprio_map[$type] ]]; then - sentinel=no; break - fi - ;; - (flags) - if [[ $prio -lt $type_prio_flags_map[$type] ]]; then - sentinel=yes; break - elif [[ $prio -gt $type_prio_flags_map[$type] ]]; then - sentinel=no; break - fi - ;; - (place) - sentinel=yes - break - ;; - esac - done - else - sentinel=yes - fi - - if [[ $sentinel = yes ]]; then - if [[ -n $o_verbose ]]; then - if [[ -n $type_handler_map[$type] ]]; then - print -r "Overriding" >&2 - else - print -r "Adding" >&2 - fi - print -r " handler for type $type:" >&2 - print -r " $line" >&2 - fi - type_handler_map[$type]=$line - type_flags_map[$type]=$flags - type_prio_src_map[$type]=$src_id - type_prio_flags_map[$type]=$prio - type_prio_mprio_map[$type]=$mprio - if [[ -n $flags && -n $o_verbose ]]; then - print -r " with flags $flags" >&2 - fi - elif [[ -n $o_verbose ]]; then - print -r "Skipping handler for already defined type $type:" >&2 - print -r " $line" >&2 - if [[ -n $flags ]]; then - print -r " with flags $flags" >&2 - fi - fi - fi - done <$file -done - - -# Check for styles which override whatever is in the file. -# We need to make sure there is a handler set up; for some -# uses we may need to defer checking styles until zsh-mime-handler. -# How much we need to do here is a moot point. -zstyle -L | while read line; do - array=(${(Q)${(z)line}}) - if [[ $array[3] = (handler|flags) && \ - $array[2] = (#b):mime:.([^:]##):(*) ]]; then - suffix=$match[1] - # Make sure there is a suffix alias set up for this. - alias -s $suffix >&/dev/null || alias -s $suffix=zsh-mime-handler - # Also for upper case variant - alias -s ${(U)suffix} >&/dev/null || alias -s ${(U)suffix}=zsh-mime-handler - fi -done - -# Now associate the suffixes directly with handlers. -# We just look for the first one with a handler. -# If there is no handler, we don't bother registering an alias -# for the suffix. - -for suffix line in ${(kv)suffix_type_map}; do - # Skip if we already have a handler. - [[ -n $zsh_mime_handlers[$suffix] ]] && continue - - # Split the space-separated list of types. - array=(${=line}) - - # Find the first type with a handler. - line2= - for type in $array; do - line2=${type_handler_map[$type]} - [[ -n $line2 ]] && break - done - - # See if there is a generic type/* handler. - # TODO: do we need to consider other forms of wildcard? - if [[ -z $line2 ]]; then - for type in $array; do - type="${type%%/*}/*" - line2=${type_handler_map[$type]} - [[ -n $line2 ]] && break - done - fi - - if [[ -n $line2 ]]; then - # Found a type with a handler. - # Install the zsh handler as an alias, but never override - # existing suffix handling. - alias -s $suffix >&/dev/null || alias -s $suffix=zsh-mime-handler - alias -s ${(U)suffix} >&/dev/null || alias -s ${(U)suffix}=zsh-mime-handler - - zsh_mime_handlers[$suffix]=$line2 - zsh_mime_flags[$suffix]=$type_flags_map[$type] - fi -done - -true diff --git a/result/sw/share/zsh/5.9/functions/zsh-newuser-install b/result/sw/share/zsh/5.9/functions/zsh-newuser-install deleted file mode 100644 index 9e911d07..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh-newuser-install +++ /dev/null @@ -1,1119 +0,0 @@ -# Function to install startup files for a new user. -# Currently it only creates or edits .zshrc. -# -# It can be run again by giving it the option "-f". - -# Sanitize environment. -emulate -L zsh -setopt extendedglob nonomatch warncreateglobal - -# How the function will be referred to. -local myname=zsh-newuser-install - -# Quick test not requiring any setting up. -# Don't run if we're root. (These variables are provided by the shell.) -if (( EUID == 0 || UID == 0 )); then - if [[ $1 = -f ]]; then - print -r "$myname: won't run as root. Read the manual." >&2 - fi - return 1 -fi - -# clear is missing in some Cygwin configurations (lacking ncurses) -if ! ( clear >/dev/null 2>/dev/null ); then - if zmodload zsh/termcap 2>/dev/null; then - clear() { echotc cl; } - else - clear() { print -n "\e[H\e[J"; } - fi -fi - -# The directory in which to look for and save .zshrc. -local zd=${ZDOTDIR:-$HOME} -# The same directory in a user friendly form, i.e. with ~ replacement. -# (We don't want to use glob_subst since that has other side effects.) -local zdmsg -# The message used if an other blank .zshrc is created. -local msg="# Created by newuser for $ZSH_VERSION" -# The lines marking the start and end of the section edited. -local startline="# Lines configured by $myname" -local endline="# End of lines configured by $myname" -# Prompts used for reading a key. The initial "?" is required. -local shortprompt="?--- Type a key --- " -local longprompt="?--- Type one of the keys in parentheses --- " -# Prefix for all temporary files. Any files starting with this -# will be removed at the end of the script. -local tmpfile=${TMPPREFIX:-/tmp/zsh}-zni-$$ -# Report of the state of settings for the top-level menu. -local -A install_state -# Values of all parameters etc. to be saved (including -# those read in from the existing file.) -local -A parsed_parameters parsed_options parsed_bindings parsed_keymaps -# Corresponding state in a user-readable form. -local -A state_parameters state_options state_bindings state_keymaps -# Indicate whether an option defaults on or off. -local -A default_options -# Lines read in from between $startline and $endline which were -# not understood. These are retained but moved out of that section -# with a message. -local -a unparsed -# Lines used in submenus: the setting to output in a form -# that can be exeucuted (an assignment, setopt or unsetopt), a brief message -# about the setting, and the state copied from and to state_parameters or -# state_options. Elements of all three arrays must correspond. -local -a output_lines display_lines state_lines -# Variable indicating some of the lines in the above variables -# have been read in, i.e. the user has already configured the -# particular set of settings. -integer lines_read -# Lines to set up completion. This is special as it is only -# edited by compinstall, not this function. -local -a completion_lines -# Utility variables -local -a reply match mbegin mend -# Key read from user, used all over the place. -local key -# For default replies from read -local REPLY -integer save lines_found - -install_state[history]=Recommended -install_state[completion]=Recommended -install_state[bindkey]=Recommended - -# Don't save anything if interrupted. -trap 'save=0' HUP INT QUIT - -# Substitute an initial ~ for human consumption. -if [[ $zd = $HOME(#b)(|/*) ]]; then - zdmsg="~$match[1]" -else - zdmsg=$zd -fi - -# Don't run if we can't write to $zd. -# Assume this is a temporary condition and exit silently--- -# if this really is a new user this probably isn't the right -# time for screeds of explanation. -if [[ ! -w $zd ]]; then - if [[ $1 = -f ]]; then - print -r "$myname: can't write to $zdmsg." >&2 - fi - return 1 -fi - -# Don't run unless we can talk to the user. -if [[ ! -t 0 || ! -t 1 ]]; then - if [[ $1 = -f ]]; then - print -r "$myname: can only be used interactively." >&2 - fi - return 1 -fi - -# Don't run unless terminal is sane. -if (( ${LINES:-0} < 15 || ${COLUMNS:-0} < 72 )); then - return 1 -fi - -if [[ $1 != -f ]]; then - # The zsh/newuser module already tests for the following, so this test only - # triggers if zsh-newuser-install is run by hand. - if [[ -e $zd/.zshenv || -e $zd/.zprofile || \ - -e $zd/.zshrc || -e $zd/.zlogin ]]; then - print -r "$myname: startup files exist, aborting. - -Use the argument -f if you want to force the function to be run again." >&2 - return 1 - fi -fi - -# start of try block for tidy-up in always block -{ - -######################################################################## -# Utility functions -######################################################################## - -# All internal functions start with __zni_. These will be removed -# when the main function exits. - -# Read existing lines from .zshrc, if any. -__zni_retrieve_lines() { - local line - - reply=() - - lines_found=0 - - [[ -f $zd/.zshrc ]] || return 1 - - grep "$startline" $zd/.zshrc 1>/dev/null 2>&1 || return 1 - - lines_found=1 - - sed -n "/^[ ]*$startline/,/^[ ]*$endline/p" $zd/.zshrc | - while read -r line; do - reply+=($line) - done - - return 0 -} - - -# First argument is a state; other arguments are lines -# to parse. They should either contain single assignments or -# setopt or unsetopt statements. The state for each parameter -# or option so parsed is set to the value given by the first argument. -__zni_parse_lines() { - local line opt warned first - local -a args - local state=$1 - - shift - - for line in "$@"; do - case $line in - ((#b)[[:blank:]]#([[:IDENT:]]##)=(*)) - parsed_parameters[$match[1]]=$match[2] - state_parameters[$match[1]]=$state - ;; - - ((#b)[[:blank:]]#(un|)setopt[[:blank:]]##(*)) - # TBD: handle setopt noX / unsetopt X - for opt in ${=match[2]}; do - opt=${${opt//(#m)[[:upper:]]/${(L)MATCH}}//_} - if [[ $match[1] = un ]]; then - parsed_options[$opt]=off - else - parsed_options[$opt]=on - fi - state_options[$opt]=$state - done - ;; - - ((#b)[[:blank:]]#bindkey[[:blank:]]##(*)) - args=(${(z)match[1]}) - # store keys unquoted: will need quoting for output. - first=${(Q)args[1]} - shift args - if [[ $first = -[ev] && ${#args} -eq 0 ]]; then - case $first in - (-e) - parsed_keymaps[main]=emacs - ;; - - (-v) - parsed_keymaps[main]=vi - ;; - esac - state_keymaps[main]=$state - else - # TODO: handling keymap options - parsed_bindings[first]=${args[2,-1]} - state_bindings[first]=$state - fi - ;; - - ([[:blank:]]#($startline|$endline|)) - ;; - - (*) - unparsed+=($line) - print -r "WARNING: failed to understand line: - $line -which will be retained but not edited." - warned=1 - ;; - esac - done - - if [[ -n $warned ]]; then - read -k key$shortprompt - fi -} - -# Apply defaults. Arguments in the form -# -p parameter_name default_value description -# ... -# -o option_name default=on|off description -# ... -# Options on by default should begin !, e.g. !nomatch. They -# will still appear under the base option but with an indication that -# the default is on. The default applies to the base option. Hack, sorry. -# -b bindkey_string default_value description -# ... -# -B default_keymap=emacs|vi|none description -# -# They're not really defaults (they're not the same as the -# builtin defaults), so the description output is "not yet saved". -# -# All variables to be edited in this section must be mentioned, -# though defaults can be blank in which case nothing will be -# saved unless the variable is set by the user. The description -# is then "no value set". -# -# -B is a bit strange: it's simply designed to allow the user to -# select "bindkey -e" for Emacs or "bindkey -v" for vi. It only -# takes a single argument. Real key bindings use -b. -# -# This operation transfers some subset of settings from the parsed_* -# and state_* variables to the *_lines variables for editing. -__zni_apply_defaults() { - local un suf - - # Reset the lines to be edited. - state_lines=() - display_lines=() - output_lines=() - lines_read=0 - - case $1 in - (-p) - shift - while [[ $# -gt 0 && $1 != -* ]]; do - # skip default if it was read in - if [[ -z $state_parameters[$1] ]]; then - parsed_parameters[$1]=$2 - if [[ -n $2 ]]; then - state_parameters[$1]="not yet saved" - else - state_parameters[$1]="no value set" - fi - elif [[ $state_parameters[$1] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_parameters[$1]) - display_lines+=("$3") - output_lines+=("$1=$parsed_parameters[$1]") - - shift 3 - done - ;; - - (-o) - shift - while [[ $# -gt 0 && $1 != -* ]]; do - # skip default if there was a setting - if [[ $1 != ${1##!} ]]; then - argv[1]=${1##!} - default_options[$1]=on - else - default_options[$1]=off - fi - if [[ -z $state_options[$1] ]]; then - parsed_options[$1]=$2 - if [[ -n $2 ]]; then - state_options[$1]="not yet saved" - else - state_options[$1]="no value set" - fi - elif [[ $state_options[$1] = saved ]]; then - (( lines_read++ )) - fi - if [[ $parsed_options[$1] = on ]]; then - un= - suf= - elif [[ -z $parsed_options[$1] && $default_options[$1] = on ]] - then - un= - suf=", default on" - else - # display as unsetopt even if no value to save yet - un=un - suf= - fi - state_lines+=("$state_options[$1]$suf") - display_lines+=("$3") - output_lines+=("${un}setopt $1") - - shift 3 - done - ;; - - (-b) - shift - # this will barf on bindings beginning -; there's no good - # reason to rebind that, even in vi command mode, so perhaps - # we just add it to the sanity checks when we get around to them. - while [[ $# -gt 0 && $1 != -* ]]; do - if [[ -z $state_bindings[$1] ]]; then - parsed_bindings[$1]=$2 - if [[ -n $2 ]]; then - state_bindings[$1]="not yet saved" - else - state_bindings[$1]="no value set" - fi - elif [[ $state_bindings[$1] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_bindings[$1]) - display_lines+=("$3") - output_lines+=("bindkey ${(qq)1}${2:+ $2}") - - shift 3 - done - ;; - - (-B) - shift - if [[ -z $state_keymaps[main] ]]; then - parsed_keymaps[main]=$1 - if [[ $1 = none ]]; then - state_keymaps[main]="no value set" - else - state_keymaps[main]="not yet saved" - fi - elif [[ $state_keymaps[main] = saved ]]; then - (( lines_read++ )) - fi - state_lines+=($state_keymaps[main]) - display_lines+=("$2") - # display as -e even if no value to save yet - if [[ $parsed_keymaps[main] = vi ]]; then - output_lines+=("bindkey -v") - else - output_lines+=("bindkey -e") - fi - - shift 2 - ;; - esac -} - - -# Display and edit the settings given by the set of *_lines arrays. -# If requested by the user, apply the settings, updating the -# parsed_* and state_* variables. -__zni_display_and_edit() { - integer i changes - local default edval ldisp rdisp - local -a states displays outputs tstval - - states=("${state_lines[@]}") - displays=("${display_lines[@]}") - outputs=("${output_lines[@]}") - - if [[ -n ${states[(r)not yet saved]} ]]; then - # default should be installed, unless user says otherwise - (( changes++ )) - fi - - while true; do - clear - print -r $1 - # snicker... - print -r ${(l.${#1}..=.):-} - print - if (( $# > 1 )); then - print -rl $argv[2,-1] - print - fi - - # Output each setting with a description and state. - for (( i = 1; i <= ${#output_lines}; i++ )); do - default=${states[$i]%%,*} - if [[ $default = ("no value set"|"not to be saved"*) ]]; then - ldisp="# $outputs[$i]" - else - ldisp=$outputs[$i] - fi - rdisp=${default:+($default)} - print -r "# ($i) $displays[$i] -$ldisp${(l.$COLUMNS-${#ldisp}-${#rdisp}-1.):-}$rdisp" - done - - if (( changes )); then - print -r " -# (0) Remember edits and return to main menu (does not save file yet) -# (q) Abandon edits and return to main menu -" - else - print -r " -# (0) or (q) Return to main menu (no changes made yet) -" - fi - read -k key$longprompt - print - - if [[ $key = <-> && $key -ge 1 && $key -le ${#outputs} ]]; then - (( i = key )) - case $outputs[$i] in - ((#b)(|un)setopt' '(*)) - # Try to locate the appropriate section in the manual. - # I personally have no wish whatsoever to make this - # use sed or awk. Suggestions welcome. - if [[ -s $tmpfile-man-options ]]; then - perl -ne 's/^(\s*)([A-Z]+)_?([A-Z]*)_?([A-Z]*)(\s*\(.+\)|\s*\<.+\>)*\s*$/\L$1$2$3$4\n/ and "'$match[2]'" =~ /^(|no)\L$2$3$4$/ and $print = 1 and next; next unless $print; exit if /^\s*$/; print; ' <$tmpfile-man-options >$tmpfile-man 2>/dev/null - else - rm -f $tmpfile-man - fi - while true; do - clear - if [[ -s $tmpfile-man ]]; then - read <$tmpfile-man - print "Option $match[2]:" - cat $tmpfile-man - print - else - print "Option $match[2]: $displays[$i]" - fi - print "The option $match[2] is currently ${match[1]:+un}set. -Type: - (s) to set it (turn it on) - (u) to unset it (turn it off) - (n) neither to set or unset it (use shell default: \ -$default_options[$match[2]]) - (k) or (q) to keep the current setting:" - read -k key$shortprompt - print - - case $key in - (s) - (( changes++ )) - outputs[$i]="setopt $match[2]" - states[$i]="set but not saved" - ;; - - (u) - (( changes++ )) - outputs[$i]="unsetopt $match[2]" - states[$i]="set but not saved" - ;; - - (n) - (( changes++ )) - outputs[$i]="unsetopt $match[2]" - states[$i]="no value set" - ;; - - ([kq]) - ;; - - (*) - continue - ;; - esac - break; - done - ;; - - ((#b)([^=]##)=(*)) - if [[ -s $tmpfile-man-param ]]; then - perl -ne 's/^(\s*)([A-Z]+)(\s*\<.+\>)*\s*$/$1$2\n/ and "$2" eq "'$match[1]'" and $print = 1; next unless $print; exit if /^\s*$/; print;' <$tmpfile-man-param >$tmpfile-man 2>/dev/null - else - rm -f $tmpfile-man - fi - if [[ -s $tmpfile-man ]]; then - print -n Variable - cat $tmpfile-man - print - else - print -r "Variable ${match[1]}: $displays[$i]" - fi - print -r "Edit a value. If it is left blank, nothing will be saved:" - edval=$match[2] - if vared -M emacs -p "$match[1]> " -h edval; then - # check this assignment doesn't produce multiple words - # e.g. "HISTFILE=never rm -f ~" does produce multiple words... - # this isn't perfect, e.g. "(this would get split on assignment)", - # but that's fairly benign. - tstval=(${=edval}) - if (( ${#tstval} > 1 )); then - print "Error: value isn't a single word. -Use quotes or backslashes if your value contains spaces. -Note that you shouldn't quote an initial ~ in file names." >&2 - read -k key$shortprompt - # now check the assignment works... - # don't suppress any errors, they may be useful. - # this means we need to suppress warncreateglobal. - elif ! ( typeset -g $match[1]; eval "$match[1]=$edval" ); then - print "Error: bad shell syntax in value. -The value will be assigned to the variable exactly as you enter it. -Make sure all quotes are paired." >&2 - read -k key$shortprompt - else - outputs[$i]="$match[1]=$edval" - if [[ -n $edval ]]; then - states[$i]="set but not saved" - else - states[$i]="no value set" - fi - (( changes++ )) - fi - else - read -k key'?--- Edit abandoned, type a key --- ' - fi - ;; - - (bindkey' '-[ev]) - while true; do - print -nr "Pick a keymap (set of keys) to use when editing. -Type: - (e) for Emacs keymap (recommended unless you are vi user) - (v) for Vi keymap - (n) not to set a keymap (allow shell to choose) - (k) to keep the current setting, " - if [[ ${state_lines[$i]%%,*} = ("no value set"|"not to be saved") ]] - then - print -r "(n):" - elif [[ $output_lines[$i] = *-v ]]; then - print -r "(v):" - else - print -r "(e):" - fi - read -k key$longprompt - case $key in - (e) - (( changes++ )) - outputs[$i]="bindkey -e" - states[$i]="set but not saved" - ;; - - (v) - (( changes++ )) - outputs[$i]="bindkey -v" - states[$i]="set but not saved" - ;; - - (n) - (( changes++ )) - outputs[$i]="bindkey -e" - states[$i]="not to be saved" - ;; - - (k) - ;; - - (*) - continue - ;; - esac - break - done - ;; - - (bindkey' '*) - # TODO: this needs writing. We need to be able to read - # keys and translate them, sanity check them, and ideally - # handle keymaps, at least vi command and insert. - ;; - - (*) - print "*** Internal error: bad setting '$outputs[$i]' ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - ;; - esac - elif [[ $key = 0 ]]; then - # Update the *_lines variables - state_lines=("${states[@]}") - display_lines=("${displays[@]}") - output_lines=("${outputs[@]}") - - # Also save any lines suitably marked to parsed_* and state_* - # by rerunning __zni_parse_lines on each such line. - for (( i = 1; i <= ${#output_lines}; i++ )); do - if [[ ${state_lines[$i]%%,*} = \ - ("set but not saved"|"not to be saved"|"not yet saved") ]] - then - __zni_parse_lines ${state_lines[$i]%%,*} $output_lines[$i] - fi - done - - return $(( changes == 0 )) - elif [[ $key = [qQ] ]]; then - return 1 - fi - done -} - - -# Print and dispatch a submenu. -# The first argument is the title. The remaining arguments -# are pairs of descriptions and functions to execute. -# There shouldn't be more than 9 entries. -# The usual entries 0 and q are added automatically. -__zni_submenu() { - local title=$1 - local desc func - local -a descs funcs - integer i - - shift - - clear - print -r $title - print -r ${(l.${#title}..=.):-} - - for desc func; do - if [[ -z $func ]]; then - print "*** Internal error: bad argument set for __zni_submenu ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - return 1 - fi - - descs+=($desc) - funcs+=($func) - done - - while true; do - for (( i = 1; i <= ${#descs}; i++ )); do - print -r " -($i) $descs[$i]" - done - print -r " -(0) or (q) Return to previous menu" - - read -k key$longprompt - - if [[ $key = [0qQ] ]]; then - return 1 - elif (( key >= 1 && key <= ${#funcs} )); then - $funcs[$key] - fi - done -} - - -# Save all values that have been edited to .zshrc. -__zni_save() { - local key optline newline - local -a on_opts off_opts lines lines2 - integer i - - # Record lines containing parameter settings, sorted. - for key in ${(ok)parsed_parameters}; do - if [[ $state_parameters[$key] != ("no value set"|"not to be saved") ]] - then - lines+=("$key=$parsed_parameters[$key]") - fi - done - - # Search through sorted options, make list of those to - # be turned on and off. Those marked "no value set" aren't - # to be output. - for key in ${(ok)parsed_options}; do - if [[ $state_options[$key] != ("no value set"|"not to be saved") ]]; then - if [[ $parsed_options[$key] = on ]]; then - on_opts+=($key) - else - off_opts+=($key) - fi - fi - done - - # Construct lines of options to turn on, keeping them short. - optline="setopt" - for (( i = 1; i <= ${#on_opts}; i++ )); do - newline="$optline $on_opts[$i]" - if [[ ${#newline} -ge 72 ]]; then - lines+=($optline) - optline="setopt $on_opts[$i]" - else - optline=$newline - fi - if (( i == ${#on_opts} )); then - lines+=($optline) - fi - done - - # Construct lines of options to turn off, keeping them short. - optline="unsetopt" - for (( i = 1; i <= ${#off_opts}; i++ )); do - newline="$optline $off_opts[$i]" - if [[ ${#newline} -ge 72 ]]; then - lines+=($optline) - optline="unsetopt $off_opts[$i]" - else - optline=$newline - fi - if (( i == ${#off_opts} )); then - lines+=($optline) - fi - done - - # Construct lines of bindkey commands. First the keymap. - if [[ $state_keymaps[main] != (|"no value set"|"not to be saved") ]]; then - case $parsed_keymaps[main] in - (emacs) - lines+=("bindkey -e") - ;; - - (vi) - lines+=("bindkey -v") - ;; - - (none) - ;; - - (*) - print -r "\ -*** Internal error: bad type $parsed_keymaps[main] for keymap ***" >&2 - read -k key'?--- Type a key in forlorn hope --- ' - ;; - esac - fi - # Now bindings. - for key in ${(ok)parsed_bindings}; do - if [[ $state_bindings[$key] != ("no value set"|"not to be saved") ]]; then - lines+=("bindkey ${(qq)key} ${parsed_bindings[$key]}") - fi - done - - # Save the lines with a start and end marker to a temporary file. - print -rl $startline $lines $endline >$tmpfile - - if (( ${#unparsed} )); then - print "# The following lines were read by $myname. -# They were moved here as they could not be understood. -# $(date) -${(F)unparsed} -# End of lines moved by $myname." >>$tmpfile - fi - - if grep "$startline" $zd/.zshrc 1>/dev/null 2>&1; then - # Found the start line; replace the section. - # We could this by reading the lines in zsh, but in case - # the .zshrc is huge it's perhaps better to use sed. - sed -e "/^[ ]*$endline/r $tmpfile -/^[ ]*$startline/,/^[ ]*$endline/d" $zd/.zshrc >${tmpfile}.repl && - cp ${tmpfile}.repl $zd/.zshrc - else - # No current start marker; just append. - cat $tmpfile >>$zd/.zshrc - fi -} - - -######################################################################## -# Specific configurations -######################################################################## - -__zni_history_config() { - __zni_apply_defaults -p \ - HISTSIZE 1000 "Number of lines of history kept within the shell." \ - HISTFILE $zdmsg/.histfile "File where history is saved." \ - SAVEHIST 1000 "Number of lines of history to save to \$HISTFILE." - - if __zni_display_and_edit "History configuration"; then - install_state[history]="Unsaved changes" - save=1 - fi -} - - -__zni_completion_config() { - autoload -Uz compinstall - if compinstall -d; then - print "The completion system has already been activated. -You can run the configuration tool (compinstall) at any time by typing - autoload -Uz compinstall - compinstall -Do you wish to run it now [y/n]?" - read -k key$shortprompt - if [[ $key = [yY] ]]; then - compinstall - fi - print - else - while true; do - clear - print "The new completion system (compsys) allows you to complete -commands, arguments and special shell syntax such as variables. It provides -completions for a wide range of commonly used commands in most cases simply -by typing the TAB key. Documentation is in the zshcompsys manual page. -If it is not turned on, only a few simple completions such as filenames -are available but the time to start the shell is slightly shorter. - -You can: - (1) Turn on completion with the default options. - - (2) Run the configuration tool (compinstall). You can also run - this from the command line with the following commands: - autoload -Uz compinstall - compinstall - if you don't want to configure completion now. - - (0) Don't turn on completion. -" - read -k key$longprompt - case $key in - (1) - completion_lines=${(f)"$(compinstall -o)"} - install_state[completion]="Unsaved changes" - save=1 - ;; - - (2) - if compinstall; then - install_state[completion]="Configured" - # compinstall has done it's thing, so we don't need - # to write anything. - completion_lines=() - fi - ;; - - (0) - completion_lines=() - install_state[completion]="Recommended" - ;; - - (*) - continue - ;; - esac - break - done - fi -} - -__zni_bindkey_config() { - __zni_apply_defaults -B emacs "Change default editing configuration" - - if __zni_display_and_edit "Default editing configuration" \ - "The keys in the shell's line editor can be made to behave either" \ - "like Emacs or like Vi, two common Unix editors. If you have no" \ - "experience of either, Emacs is recommended. If you don't pick one," \ - "the shell will try to guess based on the EDITOR environment variable." \ - "Usually it's better to pick one explicitly."; then - install_state[bindkey]="Unsaved changes" - save=1 - fi -} - -__zni_completion_save() { - if (( ${#completion_lines} )); then - # We don't try to replace existing lines of completion configuration --- - # that's up to compinstall. We should already have tested that - # there was no existing completion set up. - print -rl $completion_lines >>$zd/.zshrc - fi -} - - -__zni_options_config() { - # when we have enough, should use: - # __zni_submenu "Common shell options" - - # This is deliberately just a tiny selection. - # Feel free to extend it, but if you do, consider using __zni_submenu. - # The "no" prefix is used to indicate options on by default. - __zni_apply_defaults -o autocd '' "Change directory given just path." \ - extendedglob '' "Use additional pattern matching features." \ - '!nomatch' '' "Unmatched patterns cause an error." \ - '!beep' '' "Beep on errors." \ - notify '' "Immediately report changes in background job status." - - if __zni_display_and_edit "Common shell options" \ - "The following are some of the shell options that are most often used." \ - "The descriptions are very brief; if you would like more information," \ - "read the zshoptions manual page (type \"man zshoptions\")."; then - install_state[options]="Unsaved changes" - save=1 - fi -} - - -######################################################################## -# Main function -######################################################################## - -# Read and parse any existing lines, in case the function -# was called again. -__zni_retrieve_lines && - __zni_parse_lines saved "$reply[@]" - -if [[ $state_parameters[HISTORY] = saved ]]; then - install_state[history]="Saved" -fi -autoload -Uz compinstall -zstyle :compinstall filename $zd/.zshrc -if compinstall -d; then - install_state[completion]="Saved" -fi - - -# skip initial screen if the function was deliberately run by the user. -if [[ $1 != -f ]]; then - clear - print -r "This is the Z Shell configuration function for new users, -$myname. -You are seeing this message because you have no zsh startup files -(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory -$zdmsg). This function can help you with a few settings that should -make your use of the shell easier. - -You can: - -(q) Quit and do nothing. The function will be run again next time." - if [[ ! -f $zd/.zshrc ]]; then - print -r " -(0) Exit, creating the file $zdmsg/.zshrc containing just a comment. - That will prevent this function being run again." - fi - print -r " -(1) Continue to the main menu. -" - if [[ -f /etc/zsh/newuser.zshrc.recommended ]]; then - print -r "(2) Populate your $zdmsg/.zshrc with the configuration recommended - by the system administrator and exit (you will need to edit - the file by hand, if so desired). -" - fi - - read -k key$longprompt - print - - case $key in - ([qQ]) - return 0 - ;; - - (0) - print -r $msg >$zd/.zshrc - return 0 - ;; - - (1) - ;; - - (2) - cp /etc/zsh/newuser.zshrc.recommended $zd/.zshrc - source $zd/.zshrc - return 0 - ;; - - (*) - print -r "Aborting." - if [[ $1 != -f ]]; then - print "\ -The function will be run again next time. To prevent this, execute: - touch $zdmsg/.zshrc" - fi - return 1 - ;; - esac -fi - - -print -r "Attempting to extract information from manual pages..." -(man zshoptions | col -b > $tmpfile-man-options; - man zshparam | col -b > $tmpfile-man-param) 2>/dev/null - -while true; do - clear - print -nr "Please pick one of the following options: - -(1) Configure settings for history, i.e. command lines remembered - and saved by the shell.\ -${install_state[history]:+ ($install_state[history].)} - -(2) " - if [[ $install_state[completion] = Recommended ]]; then - print -nr "Configure" - else - print -nr "Use" - fi - print -r " the new completion system.\ -${install_state[completion]:+ ($install_state[completion].)} - -(3) Configure how keys behave when editing command lines.\ -${install_state[bindkey]:+ ($install_state[bindkey].)} - -(4) Pick some of the more common shell options. These are simple \"on\" - or \"off\" switches controlling the shell's features. \ -${install_state[options]:+ ($install_state[options].)} -" - print -nr "(0) Exit, " - if (( save )); then - print -r "saving the new settings. They will take effect immediately." - elif [[ -f $zd/.zshrc ]]; then - print -r "leaving the existing $zdmsg/.zshrc alone." - else - print -r "creating a blank $zdmsg/.zshrc file." - fi - print -r " -(a) Abort all settings and start from scratch. Note this will overwrite - any settings from $myname already in the startup file. - It will not alter any of your other settings, however." - if [[ $1 = -f ]]; then - print -r " -(q) Quit and do nothing else." - else - print -r " -(q) Quit and do nothing else. The function will be run again next time." - fi - - read -k key$longprompt - print - - case $key in - ([qQ]) - break - ;; - - ([aA]) - parsed_parameters=() - state_parameters=() - parsed_options=() - state_options=() - parsed_keymaps=() - state_keymaps=() - parsed_bindings=() - state_bindings=() - unparsed=() - ;; - - (0) - clear - if (( save )); then - if [[ -f $zd/.zshrc ]]; then - cp $zd/.zshrc $zd/.zshrc.zni && - print -r "Copied old '$zdmsg/.zshrc' to '$zdmsg/.zshrc.zni'. -" - fi - - __zni_save - __zni_completion_save - elif [[ ! -f $zd/.zshrc ]]; then - print -r $msg >$zd/.zshrc - fi - if [[ $1 != -f ]]; then - print -r "The function will not be run in future, but you can run -it yourself as follows: - autoload -Uz $myname - $myname -f - -The code added to $zdmsg/.zshrc is marked by the lines -$startline -$endline -You should not edit anything between these lines if you intend to -run $myname again. You may, however, edit any other part -of the file." - fi - break - ;; - - (1) - __zni_history_config - ;; - - (2) - __zni_completion_config - ;; - - (3) - __zni_bindkey_config - ;; - - (4) - __zni_options_config - ;; - esac -done - -} always { - # Tidy up: always executed unless the shell is stopped dead - # in its tracks. - unfunction -m $myname __zni_\* - rm -f $tmpfile* -} diff --git a/result/sw/share/zsh/5.9/functions/zsh_directory_name_cdr b/result/sw/share/zsh/5.9/functions/zsh_directory_name_cdr deleted file mode 100644 index b653e7c3..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh_directory_name_cdr +++ /dev/null @@ -1,26 +0,0 @@ -if [[ $1 = n ]]; then - if [[ $2 = <-> ]]; then - # Recent directory - autoload -Uz cdr - cdr -r - if [[ -n ${reply[$2]} ]]; then - typeset -ga reply=(${reply[$2]}) - return 0 - else - typeset -ga reply=() - return 1 - fi - fi -elif [[ $1 = c ]]; then - if [[ $PREFIX = <-> || -z $PREFIX ]]; then - typeset -a keys values - values=(${${(f)"$(cdr -l)"}/ ##/:}) - keys=(${values%%:*}) - local addsuffix - [[ $ISUFFIX = *\]* ]] || addsuffix='-S]' - _describe -t dir-index 'recent directory index' \ - values -V unsorted $addsuffix - return - fi -fi -return 1 diff --git a/result/sw/share/zsh/5.9/functions/zsh_directory_name_generic b/result/sw/share/zsh/5.9/functions/zsh_directory_name_generic deleted file mode 100644 index df21af59..00000000 --- a/result/sw/share/zsh/5.9/functions/zsh_directory_name_generic +++ /dev/null @@ -1,158 +0,0 @@ -## zsh_directory_name_generic -# -# This function is useful as a hook function for the zsh_directory_name -# facility. -# -# See the zsh-contrib manual page for more. - -emulate -L zsh -setopt extendedglob -local -a match mbegin mend - -# The variable containing the top level mapping. -local _zdn_topvar - -zmodload -i zsh/parameter -zstyle -s ":zdn:${funcstack[2]}:" mapping _zdn_topvar || _zdn_topvar=zdn_top - -if (( ! ${(P)#_zdn_topvar} )); then - print -r -- "$0: $_zdn_topvar is not set" >&2 - return 1 -fi - -local _zdn_var=$_zdn_topvar -local -A _zdn_assoc - -if [[ $1 = n ]]; then - # Turning a name into a directory. - local _zdn_name=$2 - local -a _zdn_words - local _zdn_dir _zdn_cpt - - _zdn_words=(${(s.:.)_zdn_name}) - while (( ${#_zdn_words} )); do - if [[ -z ${_zdn_var} ]]; then - print -r -- "$0: too many components in directory name \`$_zdn_name'" >&2 - return 1 - fi - - # Subscripting (P)_zdn_var directly seems not to work. - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpt=${_zdn_assoc[${_zdn_words[1]}]} - shift _zdn_words - - if [[ -z $_zdn_cpt ]]; then - # If top level component, just try another expansion - if [[ $_zdn_var != $_zdn_topvar ]]; then - # Committed to this expansion, so report failure. - print -r -- "$0: no expansion for directory name \`$_zdn_name'" >&2 - fi - return 1 - fi - if [[ $_zdn_cpt = (#b)(*)/:([[:IDENT:]]##) ]]; then - _zdn_cpt=$match[1] - _zdn_var=$match[2] - else - # may be empty - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - _zdn_dir=${_zdn_dir:+$_zdn_dir/}$_zdn_cpt - done - if (( ${#_zdn_dir} )); then - typeset -ag reply - reply=($_zdn_dir) - return 0 - fi -elif [[ $1 = d ]]; then - # Turning a directory into a name. - local _zdn_dir=$2 - local _zdn_rest=$_zdn_dir - local -a _zdn_cpts - local _zdn_pref _zdn_pref_raw _zdn_matched _zdn_cpt _zdn_name - local _zdn_pref_matched _zdn_rest_matched - integer _zdn_matchlen _zdn_len1 - - while [[ -n $_zdn_var && -n $_zdn_rest ]]; do - _zdn_matchlen=0 - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpts=(${(Ov)_zdn_assoc}) - _zdn_cpt='' - for _zdn_pref_raw in $_zdn_cpts; do - _zdn_pref=${_zdn_pref_raw%/:*} - [[ -z $_zdn_pref ]] && continue - if [[ $_zdn_rest = $_zdn_pref(#b)(/|)(*) ]]; then - _zdn_len1=${#_zdn_pref} - if (( _zdn_len1 > _zdn_matchlen )); then - _zdn_matchlen=$_zdn_len1 - _zdn_cpt=${(k)_zdn_assoc[(r)$_zdn_pref_raw]} - # if we matched a /, too, add it... - _zdn_pref_matched=$_zdn_pref$match[1] - _zdn_rest_matched=$match[2] - fi - fi - done - if (( _zdn_matchlen )); then - _zdn_matched+=$_zdn_pref_matched - _zdn_rest=$_zdn_rest_matched - fi - if [[ -n $_zdn_cpt ]]; then - _zdn_name+=${_zdn_name:+${_zdh_name}:}$_zdn_cpt - if [[ ${_zdn_assoc[$_zdn_cpt]} = (#b)*/:([[:IDENT:]]##) ]]; then - _zdn_var=$match[1] - else - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - else - break - fi - done - if [[ -n $_zdn_name ]]; then - # matched something, so report that. - integer _zdn_len=${#_zdn_matched} - [[ $_zdn_matched[-1] = / ]] && (( _zdn_len-- )) - typeset -ag reply - reply=($_zdn_name $_zdn_len) - return 0 - fi - # else let someone else have a go. -elif [[ $1 = c ]]; then - # Completion - - if [[ -n $SUFFIX ]]; then - _message "Can't complete in the middle of a dynamic directory name" - else - local -a _zdn_cpts - local _zdn_word _zdn_cpt _zdn_desc _zdn_sofar expl - - while [[ -n ${_zdn_var} && ${PREFIX} = (#b)([^:]##):* ]]; do - _zdn_word=$match[1] - compset -P '[^:]##:' - _zdn_assoc=(${(Pkv)_zdn_var}) - _zdn_cpt=${_zdn_assoc[$_zdn_word]} - # We only complete at the end so must match here - [[ -z $_zdn_cpt ]] && return 1 - if [[ $_zdn_cpt = (#b)(*)/:([[:IDENT:]]##) ]]; then - _zdn_cpt=$match[1] - _zdn_var=$match[2] - else - _zdn_var=${${_zdn_assoc[:default:]}##*/:} - fi - _zdn_sofar+=${_zdn_sofar:+${_zdn_sofar}/}$_zdn_cpt - done - if [[ -n $_zdn_var ]]; then - _zdn_assoc=(${(Pkv)_zdn_var}) - local -a _zdn_cpts - for _zdn_cpt _zdn_desc in ${(kv)_zdn_assoc}; do - [[ $_zdn_cpt = :* ]] && continue - _zdn_cpts+=(${_zdn_cpt}:${_zdn_desc%/:[[:IDENT:]]##}) - done - _describe -t dirnames "directory name under ${_zdn_sofar%%/}" \ - _zdn_cpts -S: -r ':]' - return - fi - fi -fi - -# Failed -return 1 -## end diff --git a/result/sw/share/zsh/5.9/functions/zstyle+ b/result/sw/share/zsh/5.9/functions/zstyle+ deleted file mode 100644 index 81b4f055..00000000 --- a/result/sw/share/zsh/5.9/functions/zstyle+ +++ /dev/null @@ -1,35 +0,0 @@ -# This makes defining styles a bit simpler by using a single `+' as a -# special token that allows one to append a context name to the -# previously used context name. Like this: -# -# zstyle+ ':foo:bar' style1 value1 \ -# + ':baz' style2 value2 \ -# + ':frob' style3 value3 -# -# This defines style1 with value1 for the context :foo:bar as usual. -# But it also defines styles2 with value2 for the context :foo:bar:baz -# and style3 with value3 for :foo:bar:frob. -# Of course, any of the sub-contexts after the plus signs may be -# empty strings to re-use the previous context unchanged. -# -# If you don't want to change all your calls to `zstyle' to use -# `zstyle+' you can use an alias `alias zstyle=zstyle+' and make sure -# the completion functions are autoloaded without alias expansion (the -# -U option to the autoload builtin). The completion system normally -# loads its functions with without alias expansion. - -case "$1" in --*) zstyle "$@";; - -*) setopt localoptions noksharrays - integer i - local context="$1" - 1='' - for ((i=2; $#; ++i)); do - if [[ $i -gt $# || "$argv[i]" == '+' ]]; then - zstyle "$context${(@)argv[1,i-1]}" - shift "i > $# ? $# : i" # Stupid shift error on i > $# - i=1 - fi - done;; -esac diff --git a/result/sw/share/zsh/5.9/functions/ztodo b/result/sw/share/zsh/5.9/functions/ztodo deleted file mode 100644 index 439f3c5d..00000000 --- a/result/sw/share/zsh/5.9/functions/ztodo +++ /dev/null @@ -1,62 +0,0 @@ -# vim: set ft=zsh et sw=2 sts=2: - -emulate -L zsh -setopt no_sh_word_split null_glob no_ksh_arrays -typeset -gHA __ztodolist -typeset -gH __ztodolastwrite -local cachefile short_format list_format -local tmp needupdate=0 -local -a todos - -zstyle -s ':ztodo:*' cache-file cachefile || - cachefile="~/.ztodolist" -zstyle -s ':ztodo:*' short-format short_format || - short_format="You have %n thing%1(n..s) to do here." -zstyle -s ':ztodo:*' list-format list_format || - list_format="%-2n: %e" - -tmp=(${~tmp::=$cachefile(ms-$(( ${(%)tmp::="%D{%s}"} - ${__ztodolastwrite:-0} )))}) -(( $#tmp )) && - . $~cachefile - -todos=( ${(ps:\0:)__ztodolist[$PWD]} ) - -if (( $# )); then - case "$1" in - (add) - shift - todos=( $todos "$*" ) - needupdate=1 - ;; - (del) - shift - todos[$1]=() - needupdate=1 - ;; - (clear) - shift - todos=() - needupdate=1 - ;; - (list) - shift - local i - for (( i = 1; i <= $#todos; i++ )); do - zformat -f tmp $list_format n:$i e:"${todos[$i]//\%/%%}" - print -P "$tmp" - done - ;; - esac -else - if [[ $#todos -gt 0 ]]; then - zformat -f tmp $short_format n:$#todos - print -P "$tmp" - fi -fi - -(( $#todos )) && - __ztodolist[$PWD]=${(pj:\0:)todos} || - unset "__ztodolist[$PWD]" -(( needupdate )) && - print -r "__ztodolist=( ${(kv@qq)^^__ztodolist} )" > ${~cachefile} -__ztodolastwrite="${(%)tmp::="%D{%s}"}" diff --git a/result/sw/share/zsh/5.9/help/alias b/result/sw/share/zsh/5.9/help/alias deleted file mode 100644 index a746af24..00000000 --- a/result/sw/share/zsh/5.9/help/alias +++ /dev/null @@ -1,48 +0,0 @@ -alias [ {+|-}gmrsL ] [ name[=value] ... ] - For each name with a corresponding value, define an alias with - that value. A trailing space in value causes the next word to - be checked for alias expansion. If the -g flag is present, de- - fine a global alias; global aliases are expanded even if they do - not occur in command position: - - % perldoc --help 2>&1 | grep 'built-in functions' - -f Search Perl built-in functions - % alias -g HG='--help 2>&1 | grep' - % perldoc HG 'built-in functions' - -f Search Perl built-in functions - - If the -s flag is present, define a suffix alias: if the command - word on a command line is in the form `text.name', where text is - any non-empty string, it is replaced by the text `value - text.name'. Note that name is treated as a literal string, not - a pattern. A trailing space in value is not special in this - case. For example, - - alias -s ps='gv --' - - will cause the command `*.ps' to be expanded to `gv -- *.ps'. - As alias expansion is carried out earlier than globbing, the - `*.ps' will then be expanded. Suffix aliases constitute a dif- - ferent name space from other aliases (so in the above example it - is still possible to create an alias for the command ps) and the - two sets are never listed together. - - For each name with no value, print the value of name, if any. - With no arguments, print all currently defined aliases other - than suffix aliases. If the -m flag is given the arguments are - taken as patterns (they should be quoted to preserve them from - being interpreted as glob patterns), and the aliases matching - these patterns are printed. When printing aliases and one of - the -g, -r or -s flags is present, restrict the printing to - global, regular or suffix aliases, respectively; a regular alias - is one which is neither a global nor a suffix alias. Using `+' - instead of `-', or ending the option list with a single `+', - prevents the values of the aliases from being printed. - - If the -L flag is present, then print each alias in a manner - suitable for putting in a startup script. The exit status is - nonzero if a name (with no value) is given for which no alias - has been defined. - - For more on aliases, include common problems, see the section - ALIASING in zshmisc(1). diff --git a/result/sw/share/zsh/5.9/help/autoload b/result/sw/share/zsh/5.9/help/autoload deleted file mode 100644 index bc3a0294..00000000 --- a/result/sw/share/zsh/5.9/help/autoload +++ /dev/null @@ -1,83 +0,0 @@ -autoload [ {+|-}RTUXdkmrtWz ] [ -w ] [ name ... ] - See the section `Autoloading Functions' in zshmisc(1) for full - details. The fpath parameter will be searched to find the func- - tion definition when the function is first referenced. - - If name consists of an absolute path, the function is defined to - load from the file given (searching as usual for dump files in - the given location). The name of the function is the basename - (non-directory part) of the file. It is normally an error if - the function is not found in the given location; however, if the - option -d is given, searching for the function defaults to - $fpath. If a function is loaded by absolute path, any functions - loaded from it that are marked for autoload without an absolute - path have the load path of the parent function temporarily - prepended to $fpath. - - If the option -r or -R is given, the function is searched for - immediately and the location is recorded internally for use when - the function is executed; a relative path is expanded using the - value of $PWD. This protects against a change to $fpath after - the call to autoload. With -r, if the function is not found, it - is silently left unresolved until execution; with -R, an error - message is printed and command processing aborted immediately - the search fails, i.e. at the autoload command rather than at - function execution.. - - The flag -X may be used only inside a shell function. It causes - the calling function to be marked for autoloading and then imme- - diately loaded and executed, with the current array of posi- - tional parameters as arguments. This replaces the previous def- - inition of the function. If no function definition is found, an - error is printed and the function remains undefined and marked - for autoloading. If an argument is given, it is used as a di- - rectory (i.e. it does not include the name of the function) in - which the function is to be found; this may be combined with the - -d option to allow the function search to default to $fpath if - it is not in the given location. - - The flag +X attempts to load each name as an autoloaded func- - tion, but does not execute it. The exit status is zero (suc- - cess) if the function was not previously defined and a defini- - tion for it was found. This does not replace any existing defi- - nition of the function. The exit status is nonzero (failure) if - the function was already defined or when no definition was - found. In the latter case the function remains undefined and - marked for autoloading. If ksh-style autoloading is enabled, - the function created will contain the contents of the file plus - a call to the function itself appended to it, thus giving normal - ksh autoloading behaviour on the first call to the function. If - the -m flag is also given each name is treated as a pattern and - all functions already marked for autoload that match the pattern - are loaded. - - With the -t flag, turn on execution tracing; with -T, turn on - execution tracing only for the current function, turning it off - on entry to any called functions that do not also have tracing - enabled. - - With the -U flag, alias expansion is suppressed when the func- - tion is loaded. - - With the -w flag, the names are taken as names of files compiled - with the zcompile builtin, and all functions defined in them are - marked for autoloading. - - The flags -z and -k mark the function to be autoloaded using the - zsh or ksh style, as if the option KSH_AUTOLOAD were unset or - were set, respectively. The flags override the setting of the - option at the time the function is loaded. - - Note that the autoload command makes no attempt to ensure the - shell options set during the loading or execution of the file - have any particular value. For this, the emulate command can be - used: - - emulate zsh -c 'autoload -Uz func' - - arranges that when func is loaded the shell is in native zsh em- - ulation, and this emulation is also applied when func is run. - - Some of the functions of autoload are also provided by functions - -u or functions -U, but autoload is a more comprehensive inter- - face. diff --git a/result/sw/share/zsh/5.9/help/bg b/result/sw/share/zsh/5.9/help/bg deleted file mode 100644 index fb5e5c52..00000000 --- a/result/sw/share/zsh/5.9/help/bg +++ /dev/null @@ -1,4 +0,0 @@ -bg [ job ... ] -job ... & - Put each specified job in the background, or the current job if - none is specified. diff --git a/result/sw/share/zsh/5.9/help/bindkey b/result/sw/share/zsh/5.9/help/bindkey deleted file mode 100644 index ceb9aaed..00000000 --- a/result/sw/share/zsh/5.9/help/bindkey +++ /dev/null @@ -1,2 +0,0 @@ -bindkey - See the section `Zle Builtins' in zshzle(1). diff --git a/result/sw/share/zsh/5.9/help/break b/result/sw/share/zsh/5.9/help/break deleted file mode 100644 index 63c0bf65..00000000 --- a/result/sw/share/zsh/5.9/help/break +++ /dev/null @@ -1,4 +0,0 @@ -break [ n ] - Exit from an enclosing for, while, until, select or repeat loop. - If an arithmetic expression n is specified, then break n levels - instead of just one. diff --git a/result/sw/share/zsh/5.9/help/builtin b/result/sw/share/zsh/5.9/help/builtin deleted file mode 100644 index 60842df2..00000000 --- a/result/sw/share/zsh/5.9/help/builtin +++ /dev/null @@ -1,2 +0,0 @@ -builtin name [ args ... ] - Executes the builtin name, with the given args. diff --git a/result/sw/share/zsh/5.9/help/bye b/result/sw/share/zsh/5.9/help/bye deleted file mode 100644 index 04b5d681..00000000 --- a/result/sw/share/zsh/5.9/help/bye +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/sw/share/zsh/5.9/help/cap b/result/sw/share/zsh/5.9/help/cap deleted file mode 100644 index fe60b5bb..00000000 --- a/result/sw/share/zsh/5.9/help/cap +++ /dev/null @@ -1 +0,0 @@ -cap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/cd b/result/sw/share/zsh/5.9/help/cd deleted file mode 100644 index 34c6ad93..00000000 --- a/result/sw/share/zsh/5.9/help/cd +++ /dev/null @@ -1,54 +0,0 @@ -cd [ -qsLP ] [ arg ] -cd [ -qsLP ] old new -cd [ -qsLP ] {+|-}n - Change the current directory. In the first form, change the - current directory to arg, or to the value of $HOME if arg is not - specified. If arg is `-', change to the previous directory. - - Otherwise, if arg begins with a slash, attempt to change to the - directory given by arg. - - If arg does not begin with a slash, the behaviour depends on - whether the current directory `.' occurs in the list of directo- - ries contained in the shell parameter cdpath. If it does not, - first attempt to change to the directory arg under the current - directory, and if that fails but cdpath is set and contains at - least one element attempt to change to the directory arg under - each component of cdpath in turn until successful. If `.' oc- - curs in cdpath, then cdpath is searched strictly in order so - that `.' is only tried at the appropriate point. - - The order of testing cdpath is modified if the option POSIX_CD - is set, as described in the documentation for the option. - - If no directory is found, the option CDABLE_VARS is set, and a - parameter named arg exists whose value begins with a slash, - treat its value as the directory. In that case, the parameter - is added to the named directory hash table. - - The second form of cd substitutes the string new for the string - old in the name of the current directory, and tries to change to - this new directory. - - The third form of cd extracts an entry from the directory stack, - and changes to that directory. An argument of the form `+n' - identifies a stack entry by counting from the left of the list - shown by the dirs command, starting with zero. An argument of - the form `-n' counts from the right. If the PUSHD_MINUS option - is set, the meanings of `+' and `-' in this context are swapped. - If the POSIX_CD option is set, this form of cd is not recognised - and will be interpreted as the first form. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array chpwd_functions are not called. - This is useful for calls to cd that do not change the environ- - ment seen by an interactive user. - - If the -s option is specified, cd refuses to change the current - directory if the given pathname contains symlinks. If the -P - option is given or the CHASE_LINKS option is set, symbolic links - are resolved to their true values. If the -L option is given - symbolic links are retained in the directory (and not resolved) - regardless of the state of the CHASE_LINKS option. - -chdir Same as cd. diff --git a/result/sw/share/zsh/5.9/help/chdir b/result/sw/share/zsh/5.9/help/chdir deleted file mode 100644 index 34c6ad93..00000000 --- a/result/sw/share/zsh/5.9/help/chdir +++ /dev/null @@ -1,54 +0,0 @@ -cd [ -qsLP ] [ arg ] -cd [ -qsLP ] old new -cd [ -qsLP ] {+|-}n - Change the current directory. In the first form, change the - current directory to arg, or to the value of $HOME if arg is not - specified. If arg is `-', change to the previous directory. - - Otherwise, if arg begins with a slash, attempt to change to the - directory given by arg. - - If arg does not begin with a slash, the behaviour depends on - whether the current directory `.' occurs in the list of directo- - ries contained in the shell parameter cdpath. If it does not, - first attempt to change to the directory arg under the current - directory, and if that fails but cdpath is set and contains at - least one element attempt to change to the directory arg under - each component of cdpath in turn until successful. If `.' oc- - curs in cdpath, then cdpath is searched strictly in order so - that `.' is only tried at the appropriate point. - - The order of testing cdpath is modified if the option POSIX_CD - is set, as described in the documentation for the option. - - If no directory is found, the option CDABLE_VARS is set, and a - parameter named arg exists whose value begins with a slash, - treat its value as the directory. In that case, the parameter - is added to the named directory hash table. - - The second form of cd substitutes the string new for the string - old in the name of the current directory, and tries to change to - this new directory. - - The third form of cd extracts an entry from the directory stack, - and changes to that directory. An argument of the form `+n' - identifies a stack entry by counting from the left of the list - shown by the dirs command, starting with zero. An argument of - the form `-n' counts from the right. If the PUSHD_MINUS option - is set, the meanings of `+' and `-' in this context are swapped. - If the POSIX_CD option is set, this form of cd is not recognised - and will be interpreted as the first form. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array chpwd_functions are not called. - This is useful for calls to cd that do not change the environ- - ment seen by an interactive user. - - If the -s option is specified, cd refuses to change the current - directory if the given pathname contains symlinks. If the -P - option is given or the CHASE_LINKS option is set, symbolic links - are resolved to their true values. If the -L option is given - symbolic links are retained in the directory (and not resolved) - regardless of the state of the CHASE_LINKS option. - -chdir Same as cd. diff --git a/result/sw/share/zsh/5.9/help/clone b/result/sw/share/zsh/5.9/help/clone deleted file mode 100644 index a2f618b5..00000000 --- a/result/sw/share/zsh/5.9/help/clone +++ /dev/null @@ -1 +0,0 @@ -clone See the section `The zsh/clone Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/colon b/result/sw/share/zsh/5.9/help/colon deleted file mode 100644 index 5f0c340e..00000000 --- a/result/sw/share/zsh/5.9/help/colon +++ /dev/null @@ -1,4 +0,0 @@ -: [ arg ... ] - This command does nothing, although normal argument expansions - is performed which may have effects on shell parameters. A zero - exit status is returned. diff --git a/result/sw/share/zsh/5.9/help/command b/result/sw/share/zsh/5.9/help/command deleted file mode 100644 index f81b08ea..00000000 --- a/result/sw/share/zsh/5.9/help/command +++ /dev/null @@ -1,10 +0,0 @@ -command [ -pvV ] simple command - The simple command argument is taken as an external command in- - stead of a function or builtin and is executed. If the - POSIX_BUILTINS option is set, builtins will also be executed but - certain special properties of them are suppressed. The -p flag - causes a default path to be searched instead of that in $path. - With the -v flag, command is similar to whence and with -V, it - is equivalent to whence -v. - - See also the section `Precommand Modifiers' in zshmisc(1). diff --git a/result/sw/share/zsh/5.9/help/comparguments b/result/sw/share/zsh/5.9/help/comparguments deleted file mode 100644 index 10a2c0d0..00000000 --- a/result/sw/share/zsh/5.9/help/comparguments +++ /dev/null @@ -1,2 +0,0 @@ -comparguments - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compcall b/result/sw/share/zsh/5.9/help/compcall deleted file mode 100644 index b483147a..00000000 --- a/result/sw/share/zsh/5.9/help/compcall +++ /dev/null @@ -1,2 +0,0 @@ -compcall - See the section `The zsh/compctl Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compctl b/result/sw/share/zsh/5.9/help/compctl deleted file mode 100644 index 28173681..00000000 --- a/result/sw/share/zsh/5.9/help/compctl +++ /dev/null @@ -1,2 +0,0 @@ -compctl - See the section `The zsh/compctl Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compdescribe b/result/sw/share/zsh/5.9/help/compdescribe deleted file mode 100644 index 0a81aa92..00000000 --- a/result/sw/share/zsh/5.9/help/compdescribe +++ /dev/null @@ -1,2 +0,0 @@ -compdescribe - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compfiles b/result/sw/share/zsh/5.9/help/compfiles deleted file mode 100644 index 14436f5d..00000000 --- a/result/sw/share/zsh/5.9/help/compfiles +++ /dev/null @@ -1,2 +0,0 @@ -compfiles - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compgroups b/result/sw/share/zsh/5.9/help/compgroups deleted file mode 100644 index 5126b18c..00000000 --- a/result/sw/share/zsh/5.9/help/compgroups +++ /dev/null @@ -1,2 +0,0 @@ -compgroups - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compquote b/result/sw/share/zsh/5.9/help/compquote deleted file mode 100644 index bde5916c..00000000 --- a/result/sw/share/zsh/5.9/help/compquote +++ /dev/null @@ -1,2 +0,0 @@ -compquote - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/comptags b/result/sw/share/zsh/5.9/help/comptags deleted file mode 100644 index a7ef796f..00000000 --- a/result/sw/share/zsh/5.9/help/comptags +++ /dev/null @@ -1,2 +0,0 @@ -comptags - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/comptry b/result/sw/share/zsh/5.9/help/comptry deleted file mode 100644 index 08ca4c15..00000000 --- a/result/sw/share/zsh/5.9/help/comptry +++ /dev/null @@ -1,2 +0,0 @@ -comptry - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/compvalues b/result/sw/share/zsh/5.9/help/compvalues deleted file mode 100644 index 0d85bafd..00000000 --- a/result/sw/share/zsh/5.9/help/compvalues +++ /dev/null @@ -1,2 +0,0 @@ -compvalues - See the section `The zsh/computil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/continue b/result/sw/share/zsh/5.9/help/continue deleted file mode 100644 index ac0cadfa..00000000 --- a/result/sw/share/zsh/5.9/help/continue +++ /dev/null @@ -1,5 +0,0 @@ -continue [ n ] - Resume the next iteration of the enclosing for, while, until, - select or repeat loop. If an arithmetic expression n is speci- - fied, break out of n-1 loops and resume at the nth enclosing - loop. diff --git a/result/sw/share/zsh/5.9/help/declare b/result/sw/share/zsh/5.9/help/declare deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/declare +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/dirs b/result/sw/share/zsh/5.9/help/dirs deleted file mode 100644 index c2c8e031..00000000 --- a/result/sw/share/zsh/5.9/help/dirs +++ /dev/null @@ -1,17 +0,0 @@ -dirs [ -c ] [ arg ... ] -dirs [ -lpv ] - With no arguments, print the contents of the directory stack. - Directories are added to this stack with the pushd command, and - removed with the cd or popd commands. If arguments are speci- - fied, load them onto the directory stack, replacing anything - that was there, and push the current directory onto the stack. - - -c clear the directory stack. - - -l print directory names in full instead of using of using ~ - expressions (see Dynamic and Static named directories in - zshexpn(1)). - - -p print directory entries one per line. - - -v number the directories in the stack when printing. diff --git a/result/sw/share/zsh/5.9/help/disable b/result/sw/share/zsh/5.9/help/disable deleted file mode 100644 index 3d2e4a4f..00000000 --- a/result/sw/share/zsh/5.9/help/disable +++ /dev/null @@ -1,85 +0,0 @@ -disable [ -afmprs ] name ... - Temporarily disable the named hash table elements or patterns. - The default is to disable builtin commands. This allows you to - use an external command with the same name as a builtin command. - The -a option causes disable to act on regular or global - aliases. The -s option causes disable to act on suffix aliases. - The -f option causes disable to act on shell functions. The -r - options causes disable to act on reserved words. Without argu- - ments all disabled hash table elements from the corresponding - hash table are printed. With the -m flag the arguments are - taken as patterns (which should be quoted to prevent them from - undergoing filename expansion), and all hash table elements from - the corresponding hash table matching these patterns are dis- - abled. Disabled objects can be enabled with the enable command. - - With the option -p, name ... refer to elements of the shell's - pattern syntax as described in the section `Filename Genera- - tion'. Certain elements can be disabled separately, as given - below. - - Note that patterns not allowed by the current settings for the - options EXTENDED_GLOB, KSH_GLOB and SH_GLOB are never enabled, - regardless of the setting here. For example, if EXTENDED_GLOB - is not active, the pattern ^ is ineffective even if `disable -p - "^"' has not been issued. The list below indicates any option - settings that restrict the use of the pattern. It should be - noted that setting SH_GLOB has a wider effect than merely dis- - abling patterns as certain expressions, in particular those in- - volving parentheses, are parsed differently. - - The following patterns may be disabled; all the strings need - quoting on the command line to prevent them from being inter- - preted immediately as patterns and the patterns are shown below - in single quotes as a reminder. - - '?' The pattern character ? wherever it occurs, including - when preceding a parenthesis with KSH_GLOB. - - '*' The pattern character * wherever it occurs, including re- - cursive globbing and when preceding a parenthesis with - KSH_GLOB. - - '[' Character classes. - - '<' (NO_SH_GLOB) - Numeric ranges. - - '|' (NO_SH_GLOB) - Alternation in grouped patterns, case statements, or - KSH_GLOB parenthesised expressions. - - '(' (NO_SH_GLOB) - Grouping using single parentheses. Disabling this does - not disable the use of parentheses for KSH_GLOB where - they are introduced by a special character, nor for glob - qualifiers (use `setopt NO_BARE_GLOB_QUAL' to disable - glob qualifiers that use parentheses only). - - '~' (EXTENDED_GLOB) - Exclusion in the form A~B. - - '^' (EXTENDED_GLOB) - Exclusion in the form A^B. - - '#' (EXTENDED_GLOB) - The pattern character # wherever it occurs, both for rep- - etition of a previous pattern and for indicating globbing - flags. - - '?(' (KSH_GLOB) - The grouping form ?(...). Note this is also disabled if - '?' is disabled. - - '*(' (KSH_GLOB) - The grouping form *(...). Note this is also disabled if - '*' is disabled. - - '+(' (KSH_GLOB) - The grouping form +(...). - - '!(' (KSH_GLOB) - The grouping form !(...). - - '@(' (KSH_GLOB) - The grouping form @(...). diff --git a/result/sw/share/zsh/5.9/help/disown b/result/sw/share/zsh/5.9/help/disown deleted file mode 100644 index 254d641e..00000000 --- a/result/sw/share/zsh/5.9/help/disown +++ /dev/null @@ -1,14 +0,0 @@ -disown [ job ... ] -job ... &| -job ... &! - Remove the specified jobs from the job table; the shell will no - longer report their status, and will not complain if you try to - exit an interactive shell with them running or stopped. If no - job is specified, disown the current job. - - If the jobs are currently stopped and the AUTO_CONTINUE option - is not set, a warning is printed containing information about - how to make them running after they have been disowned. If one - of the latter two forms is used, the jobs will automatically be - made running, independent of the setting of the AUTO_CONTINUE - option. diff --git a/result/sw/share/zsh/5.9/help/dot b/result/sw/share/zsh/5.9/help/dot deleted file mode 100644 index 2d969a50..00000000 --- a/result/sw/share/zsh/5.9/help/dot +++ /dev/null @@ -1,22 +0,0 @@ -. file [ arg ... ] - Read commands from file and execute them in the current shell - environment. - - If file does not contain a slash, or if PATH_DIRS is set, the - shell looks in the components of $path to find the directory - containing file. Files in the current directory are not read - unless `.' appears somewhere in $path. If a file named - `file.zwc' is found, is newer than file, and is the compiled - form (created with the zcompile builtin) of file, then commands - are read from that file instead of file. - - If any arguments arg are given, they become the positional pa- - rameters; the old positional parameters are restored when the - file is done executing. However, if no arguments are given, the - positional parameters remain those of the calling context, and - no restoring is done. - - If file was not found the return status is 127; if file was - found but contained a syntax error the return status is 126; - else the return status is the exit status of the last command - executed. diff --git a/result/sw/share/zsh/5.9/help/echo b/result/sw/share/zsh/5.9/help/echo deleted file mode 100644 index 24299d6f..00000000 --- a/result/sw/share/zsh/5.9/help/echo +++ /dev/null @@ -1,33 +0,0 @@ -echo [ -neE ] [ arg ... ] - Write each arg on the standard output, with a space separating - each one. If the -n flag is not present, print a newline at the - end. echo recognizes the following escape sequences: - - \a bell character - \b backspace - \c suppress subsequent characters and final newline - \e escape - \f form feed - \n linefeed (newline) - \r carriage return - \t horizontal tab - \v vertical tab - \\ backslash - \0NNN character code in octal - \xNN character code in hexadecimal - \uNNNN unicode character code in hexadecimal - \UNNNNNNNN - unicode character code in hexadecimal - - The -E flag, or the BSD_ECHO option, can be used to disable - these escape sequences. In the latter case, -e flag can be used - to enable them. - - Note that for standards compliance a double dash does not termi- - nate option processing; instead, it is printed directly. How- - ever, a single dash does terminate option processing, so the - first dash, possibly following options, is not printed, but ev- - erything following it is printed as an argument. The single - dash behaviour is different from other shells. For a more por- - table way of printing text, see printf, and for a more control- - lable way of printing text within zsh, see print. diff --git a/result/sw/share/zsh/5.9/help/echotc b/result/sw/share/zsh/5.9/help/echotc deleted file mode 100644 index 36f630f3..00000000 --- a/result/sw/share/zsh/5.9/help/echotc +++ /dev/null @@ -1 +0,0 @@ -echotc See the section `The zsh/termcap Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/echoti b/result/sw/share/zsh/5.9/help/echoti deleted file mode 100644 index 042a8397..00000000 --- a/result/sw/share/zsh/5.9/help/echoti +++ /dev/null @@ -1 +0,0 @@ -echoti See the section `The zsh/terminfo Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/emulate b/result/sw/share/zsh/5.9/help/emulate deleted file mode 100644 index 7bf40218..00000000 --- a/result/sw/share/zsh/5.9/help/emulate +++ /dev/null @@ -1,108 +0,0 @@ -emulate [ -lLR ] [ {zsh|sh|ksh|csh} [ flags ... ] ] - Without any argument print current emulation mode. - - With single argument set up zsh options to emulate the specified - shell as much as possible. csh will never be fully emulated. - If the argument is not one of the shells listed above, zsh will - be used as a default; more precisely, the tests performed on the - argument are the same as those used to determine the emulation - at startup based on the shell name, see the section COMPATIBIL- - ITY in zsh(1) . In addition to setting shell options, the com- - mand also restores the pristine state of pattern enables, as if - all patterns had been enabled using enable -p. - - If the emulate command occurs inside a function that has been - marked for execution tracing with functions -t then the xtrace - option will be turned on regardless of emulation mode or other - options. Note that code executed inside the function by the ., - source, or eval commands is not considered to be running di- - rectly from the function, hence does not provoke this behaviour. - - If the -R switch is given, all settable options are reset to - their default value corresponding to the specified emulation - mode, except for certain options describing the interactive en- - vironment; otherwise, only those options likely to cause porta- - bility problems in scripts and functions are altered. If the -L - switch is given, the options LOCAL_OPTIONS, LOCAL_PATTERNS and - LOCAL_TRAPS will be set as well, causing the effects of the emu- - late command and any setopt, disable -p or enable -p, and trap - commands to be local to the immediately surrounding shell func- - tion, if any; normally these options are turned off in all emu- - lation modes except ksh. The -L switch is mutually exclusive - with the use of -c in flags. - - If there is a single argument and the -l switch is given, the - options that would be set or unset (the latter indicated with - the prefix `no') are listed. -l can be combined with -L or -R - and the list will be modified in the appropriate way. Note the - list does not depend on the current setting of options, i.e. it - includes all options that may in principle change, not just - those that would actually change. - - The flags may be any of the invocation-time flags described in - the section INVOCATION in zsh(1), except that `-o EMACS' and `-o - VI' may not be used. Flags such as `+r'/`+o RESTRICTED' may be - prohibited in some circumstances. - - If -c arg appears in flags, arg is evaluated while the requested - emulation is temporarily in effect. In this case the emulation - mode and all options are restored to their previous values be- - fore emulate returns. The -R switch may precede the name of the - shell to emulate; note this has a meaning distinct from includ- - ing -R in flags. - - Use of -c enables `sticky' emulation mode for functions defined - within the evaluated expression: the emulation mode is associ- - ated thereafter with the function so that whenever the function - is executed the emulation (respecting the -R switch, if present) - and all options are set (and pattern disables cleared) before - entry to the function, and the state is restored after exit. If - the function is called when the sticky emulation is already in - effect, either within an `emulate shell -c' expression or within - another function with the same sticky emulation, entry and exit - from the function do not cause options to be altered (except due - to standard processing such as the LOCAL_OPTIONS option). This - also applies to functions marked for autoload within the sticky - emulation; the appropriate set of options will be applied at the - point the function is loaded as well as when it is run. - - For example: - - emulate sh -c 'fni() { setopt cshnullglob; } - fno() { fni; }' - fno - - The two functions fni and fno are defined with sticky sh emula- - tion. fno is then executed, causing options associated with em- - ulations to be set to their values in sh. fno then calls fni; - because fni is also marked for sticky sh emulation, no option - changes take place on entry to or exit from it. Hence the op- - tion cshnullglob, turned off by sh emulation, will be turned on - within fni and remain on return to fno. On exit from fno, the - emulation mode and all options will be restored to the state - they were in before entry to the temporary emulation. - - The documentation above is typically sufficient for the intended - purpose of executing code designed for other shells in a suit- - able environment. More detailed rules follow. - 1. The sticky emulation environment provided by `emulate - shell -c' is identical to that provided by entry to a - function marked for sticky emulation as a consequence of - being defined in such an environment. Hence, for exam- - ple, the sticky emulation is inherited by subfunctions - defined within functions with sticky emulation. - 2. No change of options takes place on entry to or exit from - functions that are not marked for sticky emulation, other - than those that would normally take place, even if those - functions are called within sticky emulation. - 3. No special handling is provided for functions marked for - autoload nor for functions present in wordcode created by - the zcompile command. - 4. The presence or absence of the -R switch to emulate cor- - responds to different sticky emulation modes, so for ex- - ample `emulate sh -c', `emulate -R sh -c' and `emulate - csh -c' are treated as three distinct sticky emulations. - 5. Difference in shell options supplied in addition to the - basic emulation also mean the sticky emulations are dif- - ferent, so for example `emulate zsh -c' and `emulate zsh - -o cbases -c' are treated as distinct sticky emulations. diff --git a/result/sw/share/zsh/5.9/help/enable b/result/sw/share/zsh/5.9/help/enable deleted file mode 100644 index ecf1329c..00000000 --- a/result/sw/share/zsh/5.9/help/enable +++ /dev/null @@ -1,20 +0,0 @@ -enable [ -afmprs ] name ... - Enable the named hash table elements, presumably disabled ear- - lier with disable. The default is to enable builtin commands. - The -a option causes enable to act on regular or global aliases. - The -s option causes enable to act on suffix aliases. The -f - option causes enable to act on shell functions. The -r option - causes enable to act on reserved words. Without arguments all - enabled hash table elements from the corresponding hash table - are printed. With the -m flag the arguments are taken as pat- - terns (should be quoted) and all hash table elements from the - corresponding hash table matching these patterns are enabled. - Enabled objects can be disabled with the disable builtin com- - mand. - - enable -p reenables patterns disabled with disable -p. Note - that it does not override globbing options; for example, `enable - -p "~"' does not cause the pattern character ~ to be active un- - less the EXTENDED_GLOB option is also set. To enable all possi- - ble patterns (so that they may be individually disabled with - disable -p), use `setopt EXTENDED_GLOB KSH_GLOB NO_SH_GLOB'. diff --git a/result/sw/share/zsh/5.9/help/eval b/result/sw/share/zsh/5.9/help/eval deleted file mode 100644 index 3c04cf30..00000000 --- a/result/sw/share/zsh/5.9/help/eval +++ /dev/null @@ -1,6 +0,0 @@ -eval [ arg ... ] - Read the arguments as input to the shell and execute the result- - ing command(s) in the current shell process. The return status - is the same as if the commands had been executed directly by the - shell; if there are no args or they contain no commands (i.e. - are an empty string or whitespace) the return status is zero. diff --git a/result/sw/share/zsh/5.9/help/exec b/result/sw/share/zsh/5.9/help/exec deleted file mode 100644 index baaddc64..00000000 --- a/result/sw/share/zsh/5.9/help/exec +++ /dev/null @@ -1,18 +0,0 @@ -exec [ -cl ] [ -a argv0 ] [ command [ arg ... ] ] - Replace the current shell with command rather than forking. If - command is a shell builtin command or a shell function, the - shell executes it, and exits when the command is complete. - - With -c clear the environment; with -l prepend - to the argv[0] - string of the command executed (to simulate a login shell); with - -a argv0 set the argv[0] string of the command executed. See - the section `Precommand Modifiers' in zshmisc(1). - - If the option POSIX_BUILTINS is set, command is never inter- - preted as a shell builtin command or shell function. This means - further precommand modifiers such as builtin and noglob are also - not interpreted within the shell. Hence command is always found - by searching the command path. - - If command is omitted but any redirections are specified, then - the redirections will take effect in the current shell. diff --git a/result/sw/share/zsh/5.9/help/exit b/result/sw/share/zsh/5.9/help/exit deleted file mode 100644 index 04b5d681..00000000 --- a/result/sw/share/zsh/5.9/help/exit +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/sw/share/zsh/5.9/help/export b/result/sw/share/zsh/5.9/help/export deleted file mode 100644 index 88ec7fe1..00000000 --- a/result/sw/share/zsh/5.9/help/export +++ /dev/null @@ -1,5 +0,0 @@ -export [ name[=value] ... ] - The specified names are marked for automatic export to the envi- - ronment of subsequently executed commands. Equivalent to type- - set -gx. If a parameter specified does not already exist, it is - created in the global scope. diff --git a/result/sw/share/zsh/5.9/help/false b/result/sw/share/zsh/5.9/help/false deleted file mode 100644 index 29e75204..00000000 --- a/result/sw/share/zsh/5.9/help/false +++ /dev/null @@ -1,2 +0,0 @@ -false [ arg ... ] - Do nothing and return an exit status of 1. diff --git a/result/sw/share/zsh/5.9/help/fc b/result/sw/share/zsh/5.9/help/fc deleted file mode 100644 index 5a4b149e..00000000 --- a/result/sw/share/zsh/5.9/help/fc +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/sw/share/zsh/5.9/help/fg b/result/sw/share/zsh/5.9/help/fg deleted file mode 100644 index da889733..00000000 --- a/result/sw/share/zsh/5.9/help/fg +++ /dev/null @@ -1,4 +0,0 @@ -fg [ job ... ] -job ... - Bring each specified job in turn to the foreground. If no job - is specified, resume the current job. diff --git a/result/sw/share/zsh/5.9/help/float b/result/sw/share/zsh/5.9/help/float deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/float +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/functions b/result/sw/share/zsh/5.9/help/functions deleted file mode 100644 index 37472368..00000000 --- a/result/sw/share/zsh/5.9/help/functions +++ /dev/null @@ -1,116 +0,0 @@ -functions [ {+|-}UkmtTuWz ] [ -x num ] [ name ... ] -functions -c oldfn newfn -functions -M [-s] mathfn [ min [ max [ shellfn ] ] ] -functions -M [ -m pattern ... ] -functions +M [ -m ] mathfn ... - Equivalent to typeset -f, with the exception of the -c, -x, -M - and -W options. For functions -u and functions -U, see au- - toload, which provides additional options. For functions -t and - functions -T, see typeset -f. - - The -x option indicates that any functions output will have each - leading tab for indentation, added by the shell to show syntac- - tic structure, expanded to the given number num of spaces. num - can also be 0 to suppress all indentation. - - The -W option turns on the option WARN_NESTED_VAR for the named - function or functions only. The option is turned off at the - start of nested functions (apart from anonoymous functions) un- - less the called function also has the -W attribute. - - The -c option causes oldfn to be copied to newfn. The copy is - efficiently handled internally by reference counting. If oldfn - was marked for autoload it is first loaded and if this fails the - copy fails. Either function may subsequently be redefined with- - out affecting the other. A typical idiom is that oldfn is the - name of a library shell function which is then redefined to call - newfn, thereby installing a modified version of the function. - - The -M and +M flags - - Use of the -M option may not be combined with any of the options - handled by typeset -f. - - functions -M mathfn defines mathfn as the name of a mathematical - function recognised in all forms of arithmetical expressions; - see the section `Arithmetic Evaluation' in zshmisc(1). By de- - fault mathfn may take any number of comma-separated arguments. - If min is given, it must have exactly min args; if min and max - are both given, it must have at least min and at most max args. - max may be -1 to indicate that there is no upper limit. - - By default the function is implemented by a shell function of - the same name; if shellfn is specified it gives the name of the - corresponding shell function while mathfn remains the name used - in arithmetical expressions. The name of the function in $0 is - mathfn (not shellfn as would usually be the case), provided the - option FUNCTION_ARGZERO is in effect. The positional parameters - in the shell function correspond to the arguments of the mathe- - matical function call. - - The result of the last arithmetical expression evaluated inside - the shell function gives the result of the mathematical func- - tion. This is not limited to arithmetic substitutions of the - form $((...)), but also includes arithmetical expressions evalu- - ated in any other way, including by the let builtin, by ((...)) - statements, and even by the return builtin and by array sub- - scripts. Therefore, care must be taken not to use syntactical - constructs that perform arithmetic evaluation after evaluating - what is to be the result of the function. For example: - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - return 0 - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - This will print `0' because of the return. - - Commenting the return out would lead to a different problem: the - ((...)) statement would become the last statement in the func- - tion, so the return status ($?) of the function would be - non-zero (indicating failure) whenever the arithmetic result of - the function would happen to be zero (numerically): - - # WRONG - zmath_cube() { - (( $1 * $1 * $1 )) - } - functions -M cube 1 1 zmath_cube - print $(( cube(0) )) - - Instead, the true builtin can be used: - - # RIGHT - zmath_cube() { - (( $1 * $1 * $1 )) - true - } - functions -M cube 1 1 zmath_cube - print $(( cube(3) )) - - If the additional option -s is given to functions -M, the argu- - ment to the function is a single string: anything between the - opening and matching closing parenthesis is passed to the func- - tion as a single argument, even if it includes commas or white - space. The minimum and maximum argument specifiers must there- - fore be 1 if given. An empty argument list is passed as a - zero-length string. Thus, the following string function takes a - single argument, including the commas, and prints 11: - - stringfn() { (( $#1 )); true } - functions -Ms stringfn - print $(( stringfn(foo,bar,rod) )) - - functions -M with no arguments lists all such user-defined func- - tions in the same form as a definition. With the additional op- - tion -m and a list of arguments, all functions whose mathfn - matches one of the pattern arguments are listed. - - function +M removes the list of mathematical functions; with the - additional option -m the arguments are treated as patterns and - all functions whose mathfn matches the pattern are removed. - Note that the shell function implementing the behaviour is not - removed (regardless of whether its name coincides with mathfn). diff --git a/result/sw/share/zsh/5.9/help/getcap b/result/sw/share/zsh/5.9/help/getcap deleted file mode 100644 index 3e4a51b2..00000000 --- a/result/sw/share/zsh/5.9/help/getcap +++ /dev/null @@ -1 +0,0 @@ -getcap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/getln b/result/sw/share/zsh/5.9/help/getln deleted file mode 100644 index 88c93813..00000000 --- a/result/sw/share/zsh/5.9/help/getln +++ /dev/null @@ -1,3 +0,0 @@ -getln [ -AclneE ] name ... - Read the top value from the buffer stack and put it in the shell - parameter name. Equivalent to read -zr. diff --git a/result/sw/share/zsh/5.9/help/getopts b/result/sw/share/zsh/5.9/help/getopts deleted file mode 100644 index ef58eefd..00000000 --- a/result/sw/share/zsh/5.9/help/getopts +++ /dev/null @@ -1,31 +0,0 @@ -getopts optstring name [ arg ... ] - Checks the args for legal options. If the args are omitted, use - the positional parameters. A valid option argument begins with - a `+' or a `-'. An argument not beginning with a `+' or a `-', - or the argument `--', ends the options. Note that a single `-' - is not considered a valid option argument. optstring contains - the letters that getopts recognizes. If a letter is followed by - a `:', that option requires an argument. The options can be - separated from the argument by blanks. - - Each time it is invoked, getopts places the option letter it - finds in the shell parameter name, prepended with a `+' when arg - begins with a `+'. The index of the next arg is stored in - OPTIND. The option argument, if any, is stored in OPTARG. - - The first option to be examined may be changed by explicitly as- - signing to OPTIND. OPTIND has an initial value of 1, and is - normally set to 1 upon entry to a shell function and restored - upon exit. (The POSIX_BUILTINS option disables this, and also - changes the way the value is calculated to match other shells.) - OPTARG is not reset and retains its value from the most recent - call to getopts. If either of OPTIND or OPTARG is explicitly - unset, it remains unset, and the index or option argument is not - stored. The option itself is still stored in name in this case. - - A leading `:' in optstring causes getopts to store the letter of - any invalid option in OPTARG, and to set name to `?' for an un- - known option and to `:' when a required argument is missing. - Otherwise, getopts sets name to `?' and prints an error message - when an option is invalid. The exit status is nonzero when - there are no more options. diff --git a/result/sw/share/zsh/5.9/help/hash b/result/sw/share/zsh/5.9/help/hash deleted file mode 100644 index c1dfb49f..00000000 --- a/result/sw/share/zsh/5.9/help/hash +++ /dev/null @@ -1,50 +0,0 @@ -hash [ -Ldfmrv ] [ name[=value] ] ... - hash can be used to directly modify the contents of the command - hash table, and the named directory hash table. Normally one - would modify these tables by modifying one's PATH (for the com- - mand hash table) or by creating appropriate shell parameters - (for the named directory hash table). The choice of hash table - to work on is determined by the -d option; without the option - the command hash table is used, and with the option the named - directory hash table is used. - - A command name starting with a / is never hashed, whether by ex- - plicit use of the hash command or otherwise. Such a command is - always found by direct look up in the file system. - - Given no arguments, and neither the -r or -f options, the se- - lected hash table will be listed in full. - - The -r option causes the selected hash table to be emptied. It - will be subsequently rebuilt in the normal fashion. The -f op- - tion causes the selected hash table to be fully rebuilt immedi- - ately. For the command hash table this hashes all the absolute - directories in the PATH, and for the named directory hash table - this adds all users' home directories. These two options cannot - be used with any arguments. - - The -m option causes the arguments to be taken as patterns - (which should be quoted) and the elements of the hash table - matching those patterns are printed. This is the only way to - display a limited selection of hash table elements. - - For each name with a corresponding value, put `name' in the se- - lected hash table, associating it with the pathname `value'. In - the command hash table, this means that whenever `name' is used - as a command argument, the shell will try to execute the file - given by `value'. In the named directory hash table, this means - that `value' may be referred to as `~name'. - - For each name with no corresponding value, attempt to add name - to the hash table, checking what the appropriate value is in the - normal manner for that hash table. If an appropriate value - can't be found, then the hash table will be unchanged. - - The -v option causes hash table entries to be listed as they are - added by explicit specification. If has no effect if used with - -f. - - If the -L flag is present, then each hash table entry is printed - in the form of a call to hash. - -rehash Same as hash -r. diff --git a/result/sw/share/zsh/5.9/help/history b/result/sw/share/zsh/5.9/help/history deleted file mode 100644 index 5a4b149e..00000000 --- a/result/sw/share/zsh/5.9/help/history +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/sw/share/zsh/5.9/help/integer b/result/sw/share/zsh/5.9/help/integer deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/integer +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/jobs b/result/sw/share/zsh/5.9/help/jobs deleted file mode 100644 index 12dda21d..00000000 --- a/result/sw/share/zsh/5.9/help/jobs +++ /dev/null @@ -1,33 +0,0 @@ -jobs [ -dlprs ] [ job ... ] -jobs -Z string - Lists information about each given job, or all jobs if job is - omitted. The -l flag lists process IDs, and the -p flag lists - process groups. If the -r flag is specified only running jobs - will be listed and if the -s flag is given only stopped jobs are - shown. If the -d flag is given, the directory from which the - job was started (which may not be the current directory of the - job) will also be shown. - - The -Z option replaces the shell's argument and environment - space with the given string, truncated if necessary to fit. - This will normally be visible in ps (ps(1)) listings. This fea- - ture is typically used by daemons, to indicate their state. - - Full job control is only available in the top-level interactive - shell, not in commands run in the left hand side of pipelines or - within the (...) construct. However, a snapshot of the job - state at that point is taken, so it is still possible to use the - jobs builtin, or any parameter providing job information. This - gives information about the state of jobs at the point the sub- - shell was created. If background processes are created within - the subshell, then instead information about those processes is - provided. - - For example, - - sleep 10 & # Job in background - ( # Shell forks - jobs # Shows information about "sleep 10 &" - sleep 5 & # Process in background (no job control) - jobs # Shows information about "sleep 5 &" - ) diff --git a/result/sw/share/zsh/5.9/help/kill b/result/sw/share/zsh/5.9/help/kill deleted file mode 100644 index c68d4670..00000000 --- a/result/sw/share/zsh/5.9/help/kill +++ /dev/null @@ -1,24 +0,0 @@ -kill [ -s signal_name | -n signal_number | -sig ] job ... -kill -l [ sig ... ] - Sends either SIGTERM or the specified signal to the given jobs - or processes. Signals are given by number or by names, with or - without the `SIG' prefix. If the signal being sent is not - `KILL' or `CONT', then the job will be sent a `CONT' signal if - it is stopped. The argument job can be the process ID of a job - not in the job list. In the second form, kill -l, if sig is not - specified the signal names are listed. Otherwise, for each sig - that is a name, the corresponding signal number is listed. For - each sig that is a signal number or a number representing the - exit status of a process which was terminated or stopped by a - signal the name of the signal is printed. - - On some systems, alternative signal names are allowed for a few - signals. Typical examples are SIGCHLD and SIGCLD or SIGPOLL and - SIGIO, assuming they correspond to the same signal number. kill - -l will only list the preferred form, however kill -l alt will - show if the alternative form corresponds to a signal number. - For example, under Linux kill -l IO and kill -l POLL both output - 29, hence kill -IO and kill -POLL have the same effect. - - Many systems will allow process IDs to be negative to kill a - process group or zero to kill the current process group. diff --git a/result/sw/share/zsh/5.9/help/let b/result/sw/share/zsh/5.9/help/let deleted file mode 100644 index 96f3dc16..00000000 --- a/result/sw/share/zsh/5.9/help/let +++ /dev/null @@ -1,6 +0,0 @@ -let arg ... - Evaluate each arg as an arithmetic expression. See the section - `Arithmetic Evaluation' in zshmisc(1) for a description of - arithmetic expressions. The exit status is 0 if the value of - the last expression is nonzero, 1 if it is zero, and 2 if an er- - ror occurred. diff --git a/result/sw/share/zsh/5.9/help/limit b/result/sw/share/zsh/5.9/help/limit deleted file mode 100644 index 1e31b122..00000000 --- a/result/sw/share/zsh/5.9/help/limit +++ /dev/null @@ -1,91 +0,0 @@ -limit [ -hs ] [ resource [ limit ] ] ... - Set or display resource limits. Unless the -s flag is given, - the limit applies only the children of the shell. If -s is - given without other arguments, the resource limits of the cur- - rent shell is set to the previously set resource limits of the - children. - - If limit is not specified, print the current limit placed on re- - source, otherwise set the limit to the specified value. If the - -h flag is given, use hard limits instead of soft limits. If no - resource is given, print all limits. - - When looping over multiple resources, the shell will abort imme- - diately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue try- - ing to set the remaining limits. - - resource can be one of: - - addressspace - Maximum amount of address space used. - aiomemorylocked - Maximum amount of memory locked in RAM for AIO opera- - tions. - aiooperations - Maximum number of AIO operations. - cachedthreads - Maximum number of cached threads. - coredumpsize - Maximum size of a core dump. - cputime - Maximum CPU seconds per process. - datasize - Maximum data size (including stack) for each process. - descriptors - Maximum value for a file descriptor. - filesize - Largest single file allowed. - kqueues - Maximum number of kqueues allocated. - maxproc - Maximum number of processes. - maxpthreads - Maximum number of threads per process. - memorylocked - Maximum amount of memory locked in RAM. - memoryuse - Maximum resident set size. - msgqueue - Maximum number of bytes in POSIX message queues. - posixlocks - Maximum number of POSIX locks per user. - pseudoterminals - Maximum number of pseudo-terminals. - resident - Maximum resident set size. - sigpending - Maximum number of pending signals. - sockbufsize - Maximum size of all socket buffers. - stacksize - Maximum stack size for each process. - swapsize - Maximum amount of swap used. - vmemorysize - Maximum amount of virtual memory. - - Which of these resource limits are available depends on the sys- - tem. resource can be abbreviated to any unambiguous prefix. It - can also be an integer, which corresponds to the integer defined - for the resource by the operating system. - - If argument corresponds to a number which is out of the range of - the resources configured into the shell, the shell will try to - read or write the limit anyway, and will report an error if this - fails. As the shell does not store such resources internally, - an attempt to set the limit will fail unless the -s option is - present. - - limit is a number, with an optional scaling factor, as follows: - - nh hours - nk kilobytes (default) - nm megabytes or minutes - ng gigabytes - [mm:]ss - minutes and seconds - - The limit command is not made available by default when the - shell starts in a mode emulating another shell. It can be made - available with the command `zmodload -F zsh/rlimits b:limit'. diff --git a/result/sw/share/zsh/5.9/help/local b/result/sw/share/zsh/5.9/help/local deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/local +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/logout b/result/sw/share/zsh/5.9/help/logout deleted file mode 100644 index 04b5d681..00000000 --- a/result/sw/share/zsh/5.9/help/logout +++ /dev/null @@ -1,13 +0,0 @@ -exit [ n ] - Exit the shell with the exit status specified by an arithmetic - expression n; if none is specified, use the exit status from the - last command executed. An EOF condition will also cause the - shell to exit, unless the IGNORE_EOF option is set. - - See notes at the end of the section JOBS in zshmisc(1) for some - possibly unexpected interactions of the exit command with jobs. - -bye Same as exit. - -logout [ n ] - Same as exit, except that it only works in a login shell. diff --git a/result/sw/share/zsh/5.9/help/noglob b/result/sw/share/zsh/5.9/help/noglob deleted file mode 100644 index 7dfc94c6..00000000 --- a/result/sw/share/zsh/5.9/help/noglob +++ /dev/null @@ -1,2 +0,0 @@ -noglob simple command - See the section `Precommand Modifiers' in zshmisc(1). diff --git a/result/sw/share/zsh/5.9/help/popd b/result/sw/share/zsh/5.9/help/popd deleted file mode 100644 index d6201367..00000000 --- a/result/sw/share/zsh/5.9/help/popd +++ /dev/null @@ -1,14 +0,0 @@ -popd [ -q ] [ {+|-}n ] - Remove an entry from the directory stack, and perform a cd to - the new top directory. With no argument, the current top entry - is removed. An argument of the form `+n' identifies a stack en- - try by counting from the left of the list shown by the dirs com- - mand, starting with zero. An argument of the form -n counts - from the right. If the PUSHD_MINUS option is set, the meanings - of `+' and `-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array $chpwd_functions are not called, - and the new directory stack is not printed. This is useful for - calls to popd that do not change the environment seen by an in- - teractive user. diff --git a/result/sw/share/zsh/5.9/help/print b/result/sw/share/zsh/5.9/help/print deleted file mode 100644 index fd6dd0b0..00000000 --- a/result/sw/share/zsh/5.9/help/print +++ /dev/null @@ -1,120 +0,0 @@ -print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ] - [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ] - With the `-f' option the arguments are printed as described by - printf. With no flags or with the flag `-', the arguments are - printed on the standard output as described by echo, with the - following differences: the escape sequence `\M-x' (or `\Mx') - metafies the character x (sets the highest bit), `\C-x' (or - `\Cx') produces a control character (`\C-@' and `\C-?' give the - characters NULL and delete), a character code in octal is repre- - sented by `\NNN' (instead of `\0NNN'), and `\E' is a synonym for - `\e'. Finally, if not in an escape sequence, `\' escapes the - following character and is not printed. - - -a Print arguments with the column incrementing first. Only - useful with the -c and -C options. - - -b Recognize all the escape sequences defined for the bind- - key command, see the section `Zle Builtins' in zshzle(1). - - -c Print the arguments in columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -C cols - Print the arguments in cols columns. Unless -a is also - given, arguments are printed with the row incrementing - first. - - -D Treat the arguments as paths, replacing directory pre- - fixes with ~ expressions corresponding to directory - names, as appropriate. - - -i If given together with -o or -O, sorting is performed - case-independently. - - -l Print the arguments separated by newlines instead of spa- - ces. Note: if the list of arguments is empty, print -l - will still output one empty line. To print a possi- - bly-empty list of arguments one per line, use print -C1, - as in `print -rC1 -- "$list[@]"'. - - -m Take the first argument as a pattern (should be quoted), - and remove it from the argument list together with subse- - quent arguments that do not match this pattern. - - -n Do not add a newline to the output. - - -N Print the arguments separated and terminated by nulls. - Again, print -rNC1 -- "$list[@]" is a canonical way to - print an arbitrary list as null-delimited records. - - -o Print the arguments sorted in ascending order. - - -O Print the arguments sorted in descending order. - - -p Print the arguments to the input of the coprocess. - - -P Perform prompt expansion (see EXPANSION OF PROMPT SE- - QUENCES in zshmisc(1)). In combination with `-f', prompt - escape sequences are parsed only within interpolated ar- - guments, not within the format string. - - -r Ignore the escape conventions of echo. - - -R Emulate the BSD echo command, which does not process es- - cape sequences unless the -e flag is given. The -n flag - suppresses the trailing newline. Only the -e and -n - flags are recognized after -R; all other arguments and - options are printed. - - -s Place the results in the history list instead of on the - standard output. Each argument to the print command is - treated as a single word in the history, regardless of - its content. - - -S Place the results in the history list instead of on the - standard output. In this case only a single argument is - allowed; it will be split into words as if it were a full - shell command line. The effect is similar to reading the - line from a history file with the HIST_LEX_WORDS option - active. - - -u n Print the arguments to file descriptor n. - - -v name - Store the printed arguments as the value of the parameter - name. - - -x tab-stop - Expand leading tabs on each line of output in the printed - string assuming a tab stop every tab-stop characters. - This is appropriate for formatting code that may be in- - dented with tabs. Note that leading tabs of any argument - to print, not just the first, are expanded, even if print - is using spaces to separate arguments (the column count - is maintained across arguments but may be incorrect on - output owing to previous unexpanded tabs). - - The start of the output of each print command is assumed - to be aligned with a tab stop. Widths of multibyte char- - acters are handled if the option MULTIBYTE is in effect. - This option is ignored if other formatting options are in - effect, namely column alignment or printf style, or if - output is to a special location such as shell history or - the command line editor. - - -X tab-stop - This is similar to -x, except that all tabs in the - printed string are expanded. This is appropriate if tabs - in the arguments are being used to produce a table for- - mat. - - -z Push the arguments onto the editing buffer stack, sepa- - rated by spaces. - - If any of `-m', `-o' or `-O' are used in combination with `-f' - and there are no arguments (after the removal process in the - case of `-m') then nothing is printed. - -pushln [ arg ... ] - Equivalent to print -nz. diff --git a/result/sw/share/zsh/5.9/help/printf b/result/sw/share/zsh/5.9/help/printf deleted file mode 100644 index ba097a5e..00000000 --- a/result/sw/share/zsh/5.9/help/printf +++ /dev/null @@ -1,35 +0,0 @@ -printf [ -v name ] format [ arg ... ] - Print the arguments according to the format specification. For- - matting rules are the same as used in C. The same escape se- - quences as for echo are recognised in the format. All C conver- - sion specifications ending in one of csdiouxXeEfgGn are handled. - In addition to this, `%b' can be used instead of `%s' to cause - escape sequences in the argument to be recognised and `%q' can - be used to quote the argument in such a way that allows it to be - reused as shell input. With the numeric format specifiers, if - the corresponding argument starts with a quote character, the - numeric value of the following character is used as the number - to print; otherwise the argument is evaluated as an arithmetic - expression. See the section `Arithmetic Evaluation' in zsh- - misc(1) for a description of arithmetic expressions. With `%n', - the corresponding argument is taken as an identifier which is - created as an integer parameter. - - Normally, conversion specifications are applied to each argument - in order but they can explicitly specify the nth argument is to - be used by replacing `%' by `%n$' and `*' by `*n$'. It is rec- - ommended that you do not mix references of this explicit style - with the normal style and the handling of such mixed styles may - be subject to future change. - - If arguments remain unused after formatting, the format string - is reused until all arguments have been consumed. With the print - builtin, this can be suppressed by using the -r option. If more - arguments are required by the format than have been specified, - the behaviour is as if zero or an empty string had been speci- - fied as the argument. - - The -v option causes the output to be stored as the value of the - parameter name, instead of printed. If name is an array and the - format string is reused when consuming arguments then one array - element will be used for each use of the format string. diff --git a/result/sw/share/zsh/5.9/help/pushd b/result/sw/share/zsh/5.9/help/pushd deleted file mode 100644 index a15718d3..00000000 --- a/result/sw/share/zsh/5.9/help/pushd +++ /dev/null @@ -1,31 +0,0 @@ -pushd [ -qsLP ] [ arg ] -pushd [ -qsLP ] old new -pushd [ -qsLP ] {+|-}n - Change the current directory, and push the old current directory - onto the directory stack. In the first form, change the current - directory to arg. If arg is not specified, change to the second - directory on the stack (that is, exchange the top two entries), - or change to $HOME if the PUSHD_TO_HOME option is set or if - there is only one entry on the stack. Otherwise, arg is inter- - preted as it would be by cd. The meaning of old and new in the - second form is also the same as for cd. - - The third form of pushd changes directory by rotating the direc- - tory list. An argument of the form `+n' identifies a stack en- - try by counting from the left of the list shown by the dirs com- - mand, starting with zero. An argument of the form `-n' counts - from the right. If the PUSHD_MINUS option is set, the meanings - of `+' and `-' in this context are swapped. - - If the -q (quiet) option is specified, the hook function chpwd - and the functions in the array $chpwd_functions are not called, - and the new directory stack is not printed. This is useful for - calls to pushd that do not change the environment seen by an in- - teractive user. - - If the option -q is not specified and the shell option - PUSHD_SILENT is not set, the directory stack will be printed af- - ter a pushd is performed. - - The options -s, -L and -P have the same meanings as for the cd - builtin. diff --git a/result/sw/share/zsh/5.9/help/pushln b/result/sw/share/zsh/5.9/help/pushln deleted file mode 100644 index fd6dd0b0..00000000 --- a/result/sw/share/zsh/5.9/help/pushln +++ /dev/null @@ -1,120 +0,0 @@ -print [ -abcDilmnNoOpPrsSz ] [ -u n ] [ -f format ] [ -C cols ] - [ -v name ] [ -xX tabstop ] [ -R [ -en ]] [ arg ... ] - With the `-f' option the arguments are printed as described by - printf. With no flags or with the flag `-', the arguments are - printed on the standard output as described by echo, with the - following differences: the escape sequence `\M-x' (or `\Mx') - metafies the character x (sets the highest bit), `\C-x' (or - `\Cx') produces a control character (`\C-@' and `\C-?' give the - characters NULL and delete), a character code in octal is repre- - sented by `\NNN' (instead of `\0NNN'), and `\E' is a synonym for - `\e'. Finally, if not in an escape sequence, `\' escapes the - following character and is not printed. - - -a Print arguments with the column incrementing first. Only - useful with the -c and -C options. - - -b Recognize all the escape sequences defined for the bind- - key command, see the section `Zle Builtins' in zshzle(1). - - -c Print the arguments in columns. Unless -a is also given, - arguments are printed with the row incrementing first. - - -C cols - Print the arguments in cols columns. Unless -a is also - given, arguments are printed with the row incrementing - first. - - -D Treat the arguments as paths, replacing directory pre- - fixes with ~ expressions corresponding to directory - names, as appropriate. - - -i If given together with -o or -O, sorting is performed - case-independently. - - -l Print the arguments separated by newlines instead of spa- - ces. Note: if the list of arguments is empty, print -l - will still output one empty line. To print a possi- - bly-empty list of arguments one per line, use print -C1, - as in `print -rC1 -- "$list[@]"'. - - -m Take the first argument as a pattern (should be quoted), - and remove it from the argument list together with subse- - quent arguments that do not match this pattern. - - -n Do not add a newline to the output. - - -N Print the arguments separated and terminated by nulls. - Again, print -rNC1 -- "$list[@]" is a canonical way to - print an arbitrary list as null-delimited records. - - -o Print the arguments sorted in ascending order. - - -O Print the arguments sorted in descending order. - - -p Print the arguments to the input of the coprocess. - - -P Perform prompt expansion (see EXPANSION OF PROMPT SE- - QUENCES in zshmisc(1)). In combination with `-f', prompt - escape sequences are parsed only within interpolated ar- - guments, not within the format string. - - -r Ignore the escape conventions of echo. - - -R Emulate the BSD echo command, which does not process es- - cape sequences unless the -e flag is given. The -n flag - suppresses the trailing newline. Only the -e and -n - flags are recognized after -R; all other arguments and - options are printed. - - -s Place the results in the history list instead of on the - standard output. Each argument to the print command is - treated as a single word in the history, regardless of - its content. - - -S Place the results in the history list instead of on the - standard output. In this case only a single argument is - allowed; it will be split into words as if it were a full - shell command line. The effect is similar to reading the - line from a history file with the HIST_LEX_WORDS option - active. - - -u n Print the arguments to file descriptor n. - - -v name - Store the printed arguments as the value of the parameter - name. - - -x tab-stop - Expand leading tabs on each line of output in the printed - string assuming a tab stop every tab-stop characters. - This is appropriate for formatting code that may be in- - dented with tabs. Note that leading tabs of any argument - to print, not just the first, are expanded, even if print - is using spaces to separate arguments (the column count - is maintained across arguments but may be incorrect on - output owing to previous unexpanded tabs). - - The start of the output of each print command is assumed - to be aligned with a tab stop. Widths of multibyte char- - acters are handled if the option MULTIBYTE is in effect. - This option is ignored if other formatting options are in - effect, namely column alignment or printf style, or if - output is to a special location such as shell history or - the command line editor. - - -X tab-stop - This is similar to -x, except that all tabs in the - printed string are expanded. This is appropriate if tabs - in the arguments are being used to produce a table for- - mat. - - -z Push the arguments onto the editing buffer stack, sepa- - rated by spaces. - - If any of `-m', `-o' or `-O' are used in combination with `-f' - and there are no arguments (after the removal process in the - case of `-m') then nothing is printed. - -pushln [ arg ... ] - Equivalent to print -nz. diff --git a/result/sw/share/zsh/5.9/help/pwd b/result/sw/share/zsh/5.9/help/pwd deleted file mode 100644 index 2de3de7e..00000000 --- a/result/sw/share/zsh/5.9/help/pwd +++ /dev/null @@ -1,5 +0,0 @@ -pwd [ -rLP ] - Print the absolute pathname of the current working directory. - If the -r or the -P flag is specified, or the CHASE_LINKS option - is set and the -L flag is not given, the printed path will not - contain symbolic links. diff --git a/result/sw/share/zsh/5.9/help/r b/result/sw/share/zsh/5.9/help/r deleted file mode 100644 index 5a4b149e..00000000 --- a/result/sw/share/zsh/5.9/help/r +++ /dev/null @@ -1,113 +0,0 @@ -fc [ -e ename ] [ -s ] [ -LI ] [ -m match ] [ old=new ... ] [ first [ -last ] ] -fc -l [ -LI ] [ -nrdfEiD ] [ -t timefmt ] [ -m match ] - [ old=new ... ] [ first [ last ] ] -fc -p [ -a ] [ filename [ histsize [ savehistsize ] ] ] -fc -P -fc -ARWI [ filename ] - The fc command controls the interactive history mechanism. Note - that reading and writing of history options is only performed if - the shell is interactive. Usually this is detected automati- - cally, but it can be forced by setting the interactive option - when starting the shell. - - The first two forms of this command select a range of events - from first to last from the history list. The arguments first - and last may be specified as a number or as a string. A nega- - tive number is used as an offset to the current history event - number. A string specifies the most recent event beginning with - the given string. All substitutions old=new, if any, are then - performed on the text of the events. - - The range of events selected by numbers can be narrowed further - by the following flags. - -I restricts to only internal events (not from $HISTFILE) - -L restricts to only local events (not from other shells, - see SHARE_HISTORY in zshoptions(1) -- note that $HISTFILE - is considered local when read at startup) - -m takes the first argument as a pattern (which should be - quoted) and only the history events matching this pattern - are considered - - If first is not specified, it will be set to -1 (the most recent - event), or to -16 if the -l flag is given. If last is not spec- - ified, it will be set to first, or to -1 if the -l flag is - given. However, if the current event has added entries to the - history with `print -s' or `fc -R', then the default last for -l - includes all new history entries since the current event began. - - When the -l flag is given, the resulting events are listed on - standard output. Otherwise the editor program specified by -e - ename is invoked on a file containing these history events. If - -e is not given, the value of the parameter FCEDIT is used; if - that is not set the value of the parameter EDITOR is used; if - that is not set a builtin default, usually `vi' is used. If - ename is `-', no editor is invoked. When editing is complete, - the edited command is executed. - - The flag `-s' is equivalent to `-e -'. The flag -r reverses the - order of the events and the flag -n suppresses event numbers - when listing. - - Also when listing, - -d prints timestamps for each event - -f prints full time-date stamps in the US `MM/DD/YY hh:mm' - format - -E prints full time-date stamps in the European `dd.mm.yyyy - hh:mm' format - -i prints full time-date stamps in ISO8601 `yyyy-mm-dd - hh:mm' format - -t fmt prints time and date stamps in the given format; fmt is - formatted with the strftime function with the zsh exten- - sions described for the %D{string} prompt format in the - section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The - resulting formatted string must be no more than 256 char- - acters or will not be printed - -D prints elapsed times; may be combined with one of the op- - tions above - - `fc -p' pushes the current history list onto a stack and - switches to a new history list. If the -a option is also speci- - fied, this history list will be automatically popped when the - current function scope is exited, which is a much better solu- - tion than creating a trap function to call `fc -P' manually. If - no arguments are specified, the history list is left empty, - $HISTFILE is unset, and $HISTSIZE & $SAVEHIST are set to their - default values. If one argument is given, $HISTFILE is set to - that filename, $HISTSIZE & $SAVEHIST are left unchanged, and the - history file is read in (if it exists) to initialize the new - list. If a second argument is specified, $HISTSIZE & $SAVEHIST - are instead set to the single specified numeric value. Finally, - if a third argument is specified, $SAVEHIST is set to a separate - value from $HISTSIZE. You are free to change these environment - values for the new history list however you desire in order to - manipulate the new history list. - - `fc -P' pops the history list back to an older list saved by `fc - -p'. The current list is saved to its $HISTFILE before it is - destroyed (assuming that $HISTFILE and $SAVEHIST are set appro- - priately, of course). The values of $HISTFILE, $HISTSIZE, and - $SAVEHIST are restored to the values they had when `fc -p' was - called. Note that this restoration can conflict with making - these variables "local", so your best bet is to avoid local dec- - larations for these variables in functions that use `fc -p'. - The one other guaranteed-safe combination is declaring these - variables to be local at the top of your function and using the - automatic option (-a) with `fc -p'. Finally, note that it is - legal to manually pop a push marked for automatic popping if you - need to do so before the function exits. - - `fc -R' reads the history from the given file, `fc -W' writes - the history out to the given file, and `fc -A' appends the his- - tory out to the given file. If no filename is specified, the - $HISTFILE is assumed. If the -I option is added to -R, only - those events that are not already contained within the internal - history list are added. If the -I option is added to -A or -W, - only those events that are new since last incremental ap- - pend/write to the history file are appended/written. In any - case, the created file will have no more than $SAVEHIST entries. - -history - Same as fc -l. - -r Same as fc -e -. diff --git a/result/sw/share/zsh/5.9/help/read b/result/sw/share/zsh/5.9/help/read deleted file mode 100644 index c293bda2..00000000 --- a/result/sw/share/zsh/5.9/help/read +++ /dev/null @@ -1,113 +0,0 @@ -read [ -rszpqAclneE ] [ -t [ num ] ] [ -k [ num ] ] [ -d delim ] - [ -u n ] [ [name][?prompt] ] [ name ... ] - Read one line and break it into fields using the characters in - $IFS as separators, except as noted below. The first field is - assigned to the first name, the second field to the second name, - etc., with leftover fields assigned to the last name. If name - is omitted then REPLY is used for scalars and reply for arrays. - - -r Raw mode: a `\' at the end of a line does not signify - line continuation and backslashes in the line don't quote - the following character and are not removed. - - -s Don't echo back characters if reading from the terminal. - - -q Read only one character from the terminal and set name to - `y' if this character was `y' or `Y' and to `n' other- - wise. With this flag set the return status is zero only - if the character was `y' or `Y'. This option may be used - with a timeout (see -t); if the read times out, or en- - counters end of file, status 2 is returned. Input is - read from the terminal unless one of -u or -p is present. - This option may also be used within zle widgets. - - -k [ num ] - Read only one (or num) characters. All are assigned to - the first name, without word splitting. This flag is ig- - nored when -q is present. Input is read from the termi- - nal unless one of -u or -p is present. This option may - also be used within zle widgets. - - Note that despite the mnemonic `key' this option does - read full characters, which may consist of multiple bytes - if the option MULTIBYTE is set. - - -z Read one entry from the editor buffer stack and assign it - to the first name, without word splitting. Text is - pushed onto the stack with `print -z' or with push-line - from the line editor (see zshzle(1)). This flag is ig- - nored when the -k or -q flags are present. - - -e - -E The input read is printed (echoed) to the standard out- - put. If the -e flag is used, no input is assigned to the - parameters. - - -A The first name is taken as the name of an array and all - words are assigned to it. - - -c - -l These flags are allowed only if called inside a function - used for completion (specified with the -K flag to com- - pctl). If the -c flag is given, the words of the current - command are read. If the -l flag is given, the whole line - is assigned as a scalar. If both flags are present, -l - is used and -c is ignored. - - -n Together with -c, the number of the word the cursor is on - is read. With -l, the index of the character the cursor - is on is read. Note that the command name is word number - 1, not word 0, and that when the cursor is at the end of - the line, its character index is the length of the line - plus one. - - -u n Input is read from file descriptor n. - - -p Input is read from the coprocess. - - -d delim - Input is terminated by the first character of delim in- - stead of by newline. - - -t [ num ] - Test if input is available before attempting to read. If - num is present, it must begin with a digit and will be - evaluated to give a number of seconds, which may be a - floating point number; in this case the read times out if - input is not available within this time. If num is not - present, it is taken to be zero, so that read returns im- - mediately if no input is available. If no input is - available, return status 1 and do not set any variables. - - This option is not available when reading from the editor - buffer with -z, when called from within completion with - -c or -l, with -q which clears the input queue before - reading, or within zle where other mechanisms should be - used to test for input. - - Note that read does not attempt to alter the input pro- - cessing mode. The default mode is canonical input, in - which an entire line is read at a time, so usually `read - -t' will not read anything until an entire line has been - typed. However, when reading from the terminal with -k - input is processed one key at a time; in this case, only - availability of the first character is tested, so that - e.g. `read -t -k 2' can still block on the second charac- - ter. Use two instances of `read -t -k' if this is not - what is wanted. - - If the first argument contains a `?', the remainder of this word - is used as a prompt on standard error when the shell is interac- - tive. - - The value (exit status) of read is 1 when an end-of-file is en- - countered, or when -c or -l is present and the command is not - called from a compctl function, or as described for -q. Other- - wise the value is 0. - - The behavior of some combinations of the -k, -p, -q, -u and -z - flags is undefined. Presently -q cancels all the others, -p - cancels -u, -k cancels -z, and otherwise -z cancels both -p and - -u. - - The -c or -l flags cancel any and all of -kpquz. diff --git a/result/sw/share/zsh/5.9/help/readonly b/result/sw/share/zsh/5.9/help/readonly deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/readonly +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/rehash b/result/sw/share/zsh/5.9/help/rehash deleted file mode 100644 index c1dfb49f..00000000 --- a/result/sw/share/zsh/5.9/help/rehash +++ /dev/null @@ -1,50 +0,0 @@ -hash [ -Ldfmrv ] [ name[=value] ] ... - hash can be used to directly modify the contents of the command - hash table, and the named directory hash table. Normally one - would modify these tables by modifying one's PATH (for the com- - mand hash table) or by creating appropriate shell parameters - (for the named directory hash table). The choice of hash table - to work on is determined by the -d option; without the option - the command hash table is used, and with the option the named - directory hash table is used. - - A command name starting with a / is never hashed, whether by ex- - plicit use of the hash command or otherwise. Such a command is - always found by direct look up in the file system. - - Given no arguments, and neither the -r or -f options, the se- - lected hash table will be listed in full. - - The -r option causes the selected hash table to be emptied. It - will be subsequently rebuilt in the normal fashion. The -f op- - tion causes the selected hash table to be fully rebuilt immedi- - ately. For the command hash table this hashes all the absolute - directories in the PATH, and for the named directory hash table - this adds all users' home directories. These two options cannot - be used with any arguments. - - The -m option causes the arguments to be taken as patterns - (which should be quoted) and the elements of the hash table - matching those patterns are printed. This is the only way to - display a limited selection of hash table elements. - - For each name with a corresponding value, put `name' in the se- - lected hash table, associating it with the pathname `value'. In - the command hash table, this means that whenever `name' is used - as a command argument, the shell will try to execute the file - given by `value'. In the named directory hash table, this means - that `value' may be referred to as `~name'. - - For each name with no corresponding value, attempt to add name - to the hash table, checking what the appropriate value is in the - normal manner for that hash table. If an appropriate value - can't be found, then the hash table will be unchanged. - - The -v option causes hash table entries to be listed as they are - added by explicit specification. If has no effect if used with - -f. - - If the -L flag is present, then each hash table entry is printed - in the form of a call to hash. - -rehash Same as hash -r. diff --git a/result/sw/share/zsh/5.9/help/return b/result/sw/share/zsh/5.9/help/return deleted file mode 100644 index 4f7c6abd..00000000 --- a/result/sw/share/zsh/5.9/help/return +++ /dev/null @@ -1,21 +0,0 @@ -return [ n ] - Causes a shell function or `.' script to return to the invoking - script with the return status specified by an arithmetic expres- - sion n. For example, the following prints `42': - - () { integer foo=40; return "foo + 2" } - echo $? - - If n is omitted, the return status is that of the last command - executed. - - If return was executed from a trap in a TRAPNAL function, the - effect is different for zero and non-zero return status. With - zero status (or after an implicit return at the end of the - trap), the shell will return to whatever it was previously pro- - cessing; with a non-zero status, the shell will behave as inter- - rupted except that the return status of the trap is retained. - Note that the numeric value of the signal which caused the trap - is passed as the first argument, so the statement `return - "128+$1"' will return the same status as if the signal had not - been trapped. diff --git a/result/sw/share/zsh/5.9/help/sched b/result/sw/share/zsh/5.9/help/sched deleted file mode 100644 index a85eb8d9..00000000 --- a/result/sw/share/zsh/5.9/help/sched +++ /dev/null @@ -1 +0,0 @@ -sched See the section `The zsh/sched Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/set b/result/sw/share/zsh/5.9/help/set deleted file mode 100644 index cb5637e1..00000000 --- a/result/sw/share/zsh/5.9/help/set +++ /dev/null @@ -1,46 +0,0 @@ -set [ {+|-}options | {+|-}o [ option_name ] ] ... [ {+|-}A [ name ] ] - [ arg ... ] - Set the options for the shell and/or set the positional parame- - ters, or declare and set an array. If the -s option is given, - it causes the specified arguments to be sorted before assigning - them to the positional parameters (or to the array name if -A is - used). With +s sort arguments in descending order. For the - meaning of the other flags, see zshoptions(1). Flags may be - specified by name using the -o option. If no option name is sup- - plied with -o, the current option states are printed: see the - description of setopt below for more information on the format. - With +o they are printed in a form that can be used as input to - the shell. - - If the -A flag is specified, name is set to an array containing - the given args; if no name is specified, all arrays are printed - together with their values. - - If +A is used and name is an array, the given arguments will re- - place the initial elements of that array; if no name is speci- - fied, all arrays are printed without their values. - - The behaviour of arguments after -A name or +A name depends on - whether the option KSH_ARRAYS is set. If it is not set, all ar- - guments following name are treated as values for the array, re- - gardless of their form. If the option is set, normal option - processing continues at that point; only regular arguments are - treated as values for the array. This means that - - set -A array -x -- foo - - sets array to `-x -- foo' if KSH_ARRAYS is not set, but sets the - array to foo and turns on the option `-x' if it is set. - - If the -A flag is not present, but there are arguments beyond - the options, the positional parameters are set. If the option - list (if any) is terminated by `--', and there are no further - arguments, the positional parameters will be unset. - - If no arguments and no `--' are given, then the names and values - of all parameters are printed on the standard output. If the - only argument is `+', the names of all parameters are printed. - - For historical reasons, `set -' is treated as `set +xv' and `set - - args' as `set +xv -- args' when in any other emulation mode - than zsh's native mode. diff --git a/result/sw/share/zsh/5.9/help/setcap b/result/sw/share/zsh/5.9/help/setcap deleted file mode 100644 index 0646a704..00000000 --- a/result/sw/share/zsh/5.9/help/setcap +++ /dev/null @@ -1 +0,0 @@ -setcap See the section `The zsh/cap Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/setopt b/result/sw/share/zsh/5.9/help/setopt deleted file mode 100644 index 37eec1db..00000000 --- a/result/sw/share/zsh/5.9/help/setopt +++ /dev/null @@ -1,27 +0,0 @@ -setopt [ {+|-}options | {+|-}o option_name ] [ -m ] [ name ... ] - Set the options for the shell. All options specified either - with flags or by name are set. - - If no arguments are supplied, the names of all options currently - set are printed. The form is chosen so as to minimize the dif- - ferences from the default options for the current emulation (the - default emulation being native zsh, shown as <Z> in zshop- - tions(1)). Options that are on by default for the emulation are - shown with the prefix no only if they are off, while other op- - tions are shown without the prefix no and only if they are on. - In addition to options changed from the default state by the - user, any options activated automatically by the shell (for ex- - ample, SHIN_STDIN or INTERACTIVE) will be shown in the list. - The format is further modified by the option KSH_OPTION_PRINT, - however the rationale for choosing options with or without the - no prefix remains the same in this case. - - If the -m flag is given the arguments are taken as patterns - (which should be quoted to protect them from filename expan- - sion), and all options with names matching these patterns are - set. - - Note that a bad option name does not cause execution of subse- - quent shell code to be aborted; this is behaviour is different - from that of `set -o'. This is because set is regarded as a - special builtin by the POSIX standard, but setopt is not. diff --git a/result/sw/share/zsh/5.9/help/shift b/result/sw/share/zsh/5.9/help/shift deleted file mode 100644 index bb46a8f1..00000000 --- a/result/sw/share/zsh/5.9/help/shift +++ /dev/null @@ -1,8 +0,0 @@ -shift [ -p ] [ n ] [ name ... ] - The positional parameters ${n+1} ... are renamed to $1 ..., - where n is an arithmetic expression that defaults to 1. If any - names are given then the arrays with these names are shifted in- - stead of the positional parameters. - - If the option -p is given arguments are instead removed (popped) - from the end rather than the start of the array. diff --git a/result/sw/share/zsh/5.9/help/source b/result/sw/share/zsh/5.9/help/source deleted file mode 100644 index 5b622a7e..00000000 --- a/result/sw/share/zsh/5.9/help/source +++ /dev/null @@ -1,4 +0,0 @@ -source file [ arg ... ] - Same as `.', except that the current directory is always - searched and is always searched first, before directories in - $path. diff --git a/result/sw/share/zsh/5.9/help/stat b/result/sw/share/zsh/5.9/help/stat deleted file mode 100644 index f18d9e7f..00000000 --- a/result/sw/share/zsh/5.9/help/stat +++ /dev/null @@ -1 +0,0 @@ -stat See the section `The zsh/stat Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/suspend b/result/sw/share/zsh/5.9/help/suspend deleted file mode 100644 index 82cacb14..00000000 --- a/result/sw/share/zsh/5.9/help/suspend +++ /dev/null @@ -1,4 +0,0 @@ -suspend [ -f ] - Suspend the execution of the shell (send it a SIGTSTP) until it - receives a SIGCONT. Unless the -f option is given, this will - refuse to suspend a login shell. diff --git a/result/sw/share/zsh/5.9/help/test b/result/sw/share/zsh/5.9/help/test deleted file mode 100644 index 9abe33fd..00000000 --- a/result/sw/share/zsh/5.9/help/test +++ /dev/null @@ -1,20 +0,0 @@ -test [ arg ... ] -[ [ arg ... ] ] - Like the system version of test. Added for compatibility; use - conditional expressions instead (see the section `Conditional - Expressions'). The main differences between the conditional ex- - pression syntax and the test and [ builtins are: these commands - are not handled syntactically, so for example an empty variable - expansion may cause an argument to be omitted; syntax errors - cause status 2 to be returned instead of a shell error; and - arithmetic operators expect integer arguments rather than arith- - metic expressions. - - The command attempts to implement POSIX and its extensions where - these are specified. Unfortunately there are intrinsic ambigui- - ties in the syntax; in particular there is no distinction be- - tween test operators and strings that resemble them. The stan- - dard attempts to resolve these for small numbers of arguments - (up to four); for five or more arguments compatibility cannot be - relied on. Users are urged wherever possible to use the `[[' - test syntax which does not have these ambiguities. diff --git a/result/sw/share/zsh/5.9/help/times b/result/sw/share/zsh/5.9/help/times deleted file mode 100644 index 0c08c120..00000000 --- a/result/sw/share/zsh/5.9/help/times +++ /dev/null @@ -1,2 +0,0 @@ -times Print the accumulated user and system times for the shell and - for processes run from the shell. diff --git a/result/sw/share/zsh/5.9/help/trap b/result/sw/share/zsh/5.9/help/trap deleted file mode 100644 index f83cde2f..00000000 --- a/result/sw/share/zsh/5.9/help/trap +++ /dev/null @@ -1,72 +0,0 @@ -trap [ arg ] [ sig ... ] - arg is a series of commands (usually quoted to protect it from - immediate evaluation by the shell) to be read and executed when - the shell receives any of the signals specified by one or more - sig args. Each sig can be given as a number, or as the name of - a signal either with or without the string SIG in front (e.g. 1, - HUP, and SIGHUP are all the same signal). - - If arg is `-', then the specified signals are reset to their de- - faults, or, if no sig args are present, all traps are reset. - - If arg is an empty string, then the specified signals are ig- - nored by the shell (and by the commands it invokes). - - If arg is omitted but one or more sig args are provided (i.e. - the first argument is a valid signal number or name), the effect - is the same as if arg had been specified as `-'. - - The trap command with no arguments prints a list of commands as- - sociated with each signal. - - If sig is ZERR then arg will be executed after each command with - a nonzero exit status. ERR is an alias for ZERR on systems that - have no SIGERR signal (this is the usual case). - - If sig is DEBUG then arg will be executed before each command if - the option DEBUG_BEFORE_CMD is set (as it is by default), else - after each command. Here, a `command' is what is described as a - `sublist' in the shell grammar, see the section SIMPLE COMMANDS - & PIPELINES in zshmisc(1). If DEBUG_BEFORE_CMD is set various - additional features are available. First, it is possible to - skip the next command by setting the option ERR_EXIT; see the - description of the ERR_EXIT option in zshoptions(1). Also, the - shell parameter ZSH_DEBUG_CMD is set to the string corresponding - to the command to be executed following the trap. Note that - this string is reconstructed from the internal format and may - not be formatted the same way as the original text. The parame- - ter is unset after the trap is executed. - - If sig is 0 or EXIT and the trap statement is executed inside - the body of a function, then the command arg is executed after - the function completes. The value of $? at the start of execu- - tion is the exit status of the shell or the return status of the - function exiting. If sig is 0 or EXIT and the trap statement is - not executed inside the body of a function, then the command arg - is executed when the shell terminates; the trap runs before any - zshexit hook functions. - - ZERR, DEBUG, and EXIT traps are not executed inside other traps. - ZERR and DEBUG traps are kept within subshells, while other - traps are reset. - - Note that traps defined with the trap builtin are slightly dif- - ferent from those defined as `TRAPNAL () { ... }', as the latter - have their own function environment (line numbers, local vari- - ables, etc.) while the former use the environment of the command - in which they were called. For example, - - trap 'print $LINENO' DEBUG - - will print the line number of a command executed after it has - run, while - - TRAPDEBUG() { print $LINENO; } - - will always print the number zero. - - Alternative signal names are allowed as described under kill - above. Defining a trap under either name causes any trap under - an alternative name to be removed. However, it is recommended - that for consistency users stick exclusively to one name or an- - other. diff --git a/result/sw/share/zsh/5.9/help/true b/result/sw/share/zsh/5.9/help/true deleted file mode 100644 index 65e09dc3..00000000 --- a/result/sw/share/zsh/5.9/help/true +++ /dev/null @@ -1,2 +0,0 @@ -true [ arg ... ] - Do nothing and return an exit status of 0. diff --git a/result/sw/share/zsh/5.9/help/ttyctl b/result/sw/share/zsh/5.9/help/ttyctl deleted file mode 100644 index bcccb345..00000000 --- a/result/sw/share/zsh/5.9/help/ttyctl +++ /dev/null @@ -1,22 +0,0 @@ -ttyctl [ -fu ] - The -f option freezes the tty (i.e. terminal or terminal emula- - tor), and -u unfreezes it. When the tty is frozen, no changes - made to the tty settings by external programs will be honored by - the shell, except for changes in the size of the screen; the - shell will simply reset the settings to their previous values as - soon as each command exits or is suspended. Thus, stty and sim- - ilar programs have no effect when the tty is frozen. Freezing - the tty does not cause the current state to be remembered: in- - stead, it causes future changes to the state to be blocked. - - Without options it reports whether the terminal is frozen or - not. - - Note that, regardless of whether the tty is frozen or not, the - shell needs to change the settings when the line editor starts, - so unfreezing the tty does not guarantee settings made on the - command line are preserved. Strings of commands run between - editing the command line will see a consistent tty state. See - also the shell variable STTY for a means of initialising the tty - before running external commands and/or freezing the tty around - a single command. diff --git a/result/sw/share/zsh/5.9/help/type b/result/sw/share/zsh/5.9/help/type deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/sw/share/zsh/5.9/help/type +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/sw/share/zsh/5.9/help/typeset b/result/sw/share/zsh/5.9/help/typeset deleted file mode 100644 index 9d5253e6..00000000 --- a/result/sw/share/zsh/5.9/help/typeset +++ /dev/null @@ -1,417 +0,0 @@ -typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ n ] ] - [ + ] [ name[=value] ... ] -typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ n ] ] - [ + | SCALAR[=value] array[=(value ...)] [ sep ] ] -typeset -f [ {+|-}TUkmtuz ] [ + ] [ name ... ] - Set or display attributes and values for shell parameters. - - Except as noted below for control flags that change the behav- - ior, a parameter is created for each name that does not already - refer to one. When inside a function, a new parameter is cre- - ated for every name (even those that already exist), and is un- - set again when the function completes. See `Local Parameters' - in zshparam(1). The same rules apply to special shell parame- - ters, which retain their special attributes when made local. - - For each name=value assignment, the parameter name is set to - value. If the assignment is omitted and name does not refer to - an existing parameter, a new parameter is intialized to empty - string, zero, or empty array (as appropriate), unless the shell - option TYPESET_TO_UNSET is set. When that option is set, the - parameter attributes are recorded but the parameter remains un- - set. - - If the shell option TYPESET_SILENT is not set, for each remain- - ing name that refers to a parameter that is already set, the - name and value of the parameter are printed in the form of an - assignment. Nothing is printed for newly-created parameters, or - when any attribute flags listed below are given along with the - name. Using `+' instead of minus to introduce an attribute - turns it off. - - If no name is present, the names and values of all parameters - are printed. In this case the attribute flags restrict the dis- - play to only those parameters that have the specified at- - tributes, and using `+' rather than `-' to introduce the flag - suppresses printing of the values of parameters when there is no - parameter name. - - All forms of the command handle scalar assignment. Array as- - signment is possible if any of the reserved words declare, ex- - port, float, integer, local, readonly or typeset is matched when - the line is parsed (N.B. not when it is executed). In this case - the arguments are parsed as assignments, except that the `+=' - syntax and the GLOB_ASSIGN option are not supported, and scalar - values after = are not split further into words, even if ex- - panded (regardless of the setting of the KSH_TYPESET option; - this option is obsolete). - - Examples of the differences between command and reserved word - parsing: - - # Reserved word parsing - typeset svar=$(echo one word) avar=(several words) - - The above creates a scalar parameter svar and an array parameter - avar as if the assignments had been - - svar="one word" - avar=(several words) - - On the other hand: - - # Normal builtin interface - builtin typeset svar=$(echo two words) - - The builtin keyword causes the above to use the standard builtin - interface to typeset in which argument parsing is performed in - the same way as for other commands. This example creates a - scalar svar containing the value two and another scalar parame- - ter words with no value. An array value in this case would ei- - ther cause an error or be treated as an obscure set of glob - qualifiers. - - Arbitrary arguments are allowed if they take the form of assign- - ments after command line expansion; however, these only perform - scalar assignment: - - var='svar=val' - typeset $var - - The above sets the scalar parameter svar to the value val. - Parentheses around the value within var would not cause array - assignment as they will be treated as ordinary characters when - $var is substituted. Any non-trivial expansion in the name part - of the assignment causes the argument to be treated in this - fashion: - - typeset {var1,var2,var3}=name - - The above syntax is valid, and has the expected effect of set- - ting the three parameters to the same value, but the command - line is parsed as a set of three normal command line arguments - to typeset after expansion. Hence it is not possible to assign - to multiple arrays by this means. - - Note that each interface to any of the commands may be disabled - separately. For example, `disable -r typeset' disables the re- - served word interface to typeset, exposing the builtin inter- - face, while `disable typeset' disables the builtin. Note that - disabling the reserved word interface for typeset may cause - problems with the output of `typeset -p', which assumes the re- - served word interface is available in order to restore array and - associative array values. - - Unlike parameter assignment statements, typeset's exit status on - an assignment that involves a command substitution does not re- - flect the exit status of the command substitution. Therefore, - to test for an error in a command substitution, separate the - declaration of the parameter from its initialization: - - # WRONG - typeset var1=$(exit 1) || echo "Trouble with var1" - - # RIGHT - typeset var1 && var1=$(exit 1) || echo "Trouble with var1" - - To initialize a parameter param to a command output and mark it - readonly, use typeset -r param or readonly param after the pa- - rameter assignment statement. - - If no attribute flags are given, and either no name arguments - are present or the flag +m is used, then each parameter name - printed is preceded by a list of the attributes of that parame- - ter (array, association, exported, float, integer, readonly, or - undefined for autoloaded parameters not yet loaded). If +m is - used with attribute flags, and all those flags are introduced - with +, the matching parameter names are printed but their val- - ues are not. - - The following control flags change the behavior of typeset: - - + If `+' appears by itself in a separate word as the last - option, then the names of all parameters (functions with - -f) are printed, but the values (function bodies) are - not. No name arguments may appear, and it is an error - for any other options to follow `+'. The effect of `+' - is as if all attribute flags which precede it were given - with a `+' prefix. For example, `typeset -U +' is equiv- - alent to `typeset +U' and displays the names of all ar- - rays having the uniqueness attribute, whereas `typeset -f - -U +' displays the names of all autoloadable functions. - If + is the only option, then type information (array, - readonly, etc.) is also printed for each parameter, in - the same manner as `typeset +m "*"'. - - -g The -g (global) means that any resulting parameter will - not be restricted to local scope. Note that this does - not necessarily mean that the parameter will be global, - as the flag will apply to any existing parameter (even if - unset) from an enclosing function. This flag does not - affect the parameter after creation, hence it has no ef- - fect when listing existing parameters, nor does the flag - +g have any effect except in combination with -m (see be- - low). - - -m If the -m flag is given the name arguments are taken as - patterns (use quoting to prevent these from being inter- - preted as file patterns). With no attribute flags, all - parameters (or functions with the -f flag) with matching - names are printed (the shell option TYPESET_SILENT is not - used in this case). - - If the +g flag is combined with -m, a new local parameter - is created for every matching parameter that is not al- - ready local. Otherwise -m applies all other flags or as- - signments to the existing parameters. - - Except when assignments are made with name=value, using - +m forces the matching parameters and their attributes to - be printed, even inside a function. Note that -m is ig- - nored if no patterns are given, so `typeset -m' displays - attributes but `typeset -a +m' does not. - - -p [ n ] - If the -p option is given, parameters and values are - printed in the form of a typeset command with an assign- - ment, regardless of other flags and options. Note that - the -H flag on parameters is respected; no value will be - shown for these parameters. - - -p may be followed by an optional integer argument. Cur- - rently only the value 1 is supported. In this case ar- - rays and associative arrays are printed with newlines be- - tween indented elements for readability. - - -T [ scalar[=value] array[=(value ...)] [ sep ] ] - This flag has a different meaning when used with -f; see - below. Otherwise the -T option requires zero, two, or - three arguments to be present. With no arguments, the - list of parameters created in this fashion is shown. - With two or three arguments, the first two are the name - of a scalar and of an array parameter (in that order) - that will be tied together in the manner of $PATH and - $path. The optional third argument is a single-character - separator which will be used to join the elements of the - array to form the scalar; if absent, a colon is used, as - with $PATH. Only the first character of the separator is - significant; any remaining characters are ignored. - Multibyte characters are not yet supported. - - Only one of the scalar and array parameters may be as- - signed an initial value (the restrictions on assignment - forms described above also apply). - - Both the scalar and the array may be manipulated as nor- - mal. If one is unset, the other will automatically be - unset too. There is no way of untying the variables - without unsetting them, nor of converting the type of one - of them with another typeset command; +T does not work, - assigning an array to scalar is an error, and assigning a - scalar to array sets it to be a single-element array. - - Note that both `typeset -xT ...' and `export -T ...' - work, but only the scalar will be marked for export. - Setting the value using the scalar version causes a split - on all separators (which cannot be quoted). It is possi- - ble to apply -T to two previously tied variables but with - a different separator character, in which case the vari- - ables remain joined as before but the separator is - changed. - - When an existing scalar is tied to a new array, the value - of the scalar is preserved but no attribute other than - export will be preserved. - - Attribute flags that transform the final value (-L, -R, -Z, -l, - -u) are only applied to the expanded value at the point of a pa- - rameter expansion expression using `$'. They are not applied - when a parameter is retrieved internally by the shell for any - purpose. - - The following attribute flags may be specified: - - -A The names refer to associative array parameters; see `Ar- - ray Parameters' in zshparam(1). - - -L [ n ] - Left justify and remove leading blanks from the value - when the parameter is expanded. If n is nonzero, it de- - fines the width of the field. If n is zero, the width is - determined by the width of the value of the first assign- - ment. In the case of numeric parameters, the length of - the complete value assigned to the parameter is used to - determine the width, not the value that would be output. - - The width is the count of characters, which may be multi- - byte characters if the MULTIBYTE option is in effect. - Note that the screen width of the character is not taken - into account; if this is required, use padding with pa- - rameter expansion flags ${(ml...)...} as described in - `Parameter Expansion Flags' in zshexpn(1). - - When the parameter is expanded, it is filled on the right - with blanks or truncated if necessary to fit the field. - Note truncation can lead to unexpected results with nu- - meric parameters. Leading zeros are removed if the -Z - flag is also set. - - -R [ n ] - Similar to -L, except that right justification is used; - when the parameter is expanded, the field is left filled - with blanks or truncated from the end. May not be com- - bined with the -Z flag. - - -U For arrays (but not for associative arrays), keep only - the first occurrence of each duplicated value. This may - also be set for tied parameters (see -T) or colon-sepa- - rated special parameters like PATH or FIGNORE, etc. Note - the flag takes effect on assignment, and the type of the - variable being assigned to is determinative; for vari- - ables with shared values it is therefore recommended to - set the flag for all interfaces, e.g. `typeset -U PATH - path'. - - This flag has a different meaning when used with -f; see - below. - - -Z [ n ] - Specially handled if set along with the -L flag. Other- - wise, similar to -R, except that leading zeros are used - for padding instead of blanks if the first non-blank - character is a digit. Numeric parameters are specially - handled: they are always eligible for padding with ze- - roes, and the zeroes are inserted at an appropriate place - in the output. - - -a The names refer to array parameters. An array parameter - may be created this way, but it may be assigned to in the - typeset statement only if the reserved word form of type- - set is enabled (as it is by default). When displaying, - both normal and associative arrays are shown. - - -f The names refer to functions rather than parameters. No - assignments can be made, and the only other valid flags - are -t, -T, -k, -u, -U and -z. The flag -t turns on exe- - cution tracing for this function; the flag -T does the - same, but turns off tracing for any named (not anonymous) - function called from the present one, unless that func- - tion also has the -t or -T flag. The -u and -U flags - cause the function to be marked for autoloading; -U also - causes alias expansion to be suppressed when the function - is loaded. See the description of the `autoload' builtin - for details. - - Note that the builtin functions provides the same basic - capabilities as typeset -f but gives access to a few ex- - tra options; autoload gives further additional options - for the case typeset -fu and typeset -fU. - - -h Hide: only useful for special parameters (those marked - `<S>' in the table in zshparam(1)), and for local parame- - ters with the same name as a special parameter, though - harmless for others. A special parameter with this at- - tribute will not retain its special effect when made lo- - cal. Thus after `typeset -h PATH', a function containing - `typeset PATH' will create an ordinary local parameter - without the usual behaviour of PATH. Alternatively, the - local parameter may itself be given this attribute; hence - inside a function `typeset -h PATH' creates an ordinary - local parameter and the special PATH parameter is not al- - tered in any way. It is also possible to create a local - parameter using `typeset +h special', where the local - copy of special will retain its special properties re- - gardless of having the -h attribute. Global special pa- - rameters loaded from shell modules (currently those in - zsh/mapfile and zsh/parameter) are automatically given - the -h attribute to avoid name clashes. - - -H Hide value: specifies that typeset will not display the - value of the parameter when listing parameters; the dis- - play for such parameters is always as if the `+' flag had - been given. Use of the parameter is in other respects - normal, and the option does not apply if the parameter is - specified by name, or by pattern with the -m option. - This is on by default for the parameters in the zsh/pa- - rameter and zsh/mapfile modules. Note, however, that un- - like the -h flag this is also useful for non-special pa- - rameters. - - -i [ n ] - Use an internal integer representation. If n is nonzero - it defines the output arithmetic base, otherwise it is - determined by the first assignment. Bases from 2 to 36 - inclusive are allowed. - - -E [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to sci- - entific notation. If n is nonzero it defines the number - of significant figures to display; the default is ten. - - -F [ n ] - Use an internal double-precision floating point represen- - tation. On output the variable will be converted to - fixed-point decimal notation. If n is nonzero it defines - the number of digits to display after the decimal point; - the default is ten. - - -l Convert the result to lower case whenever the parameter - is expanded. The value is not converted when assigned. - - -r The given names are marked readonly. Note that if name - is a special parameter, the readonly attribute can be - turned on, but cannot then be turned off. - - If the POSIX_BUILTINS option is set, the readonly attri- - bute is more restrictive: unset variables can be marked - readonly and cannot then be set; furthermore, the read- - only attribute cannot be removed from any variable. - - It is still possible to change other attributes of the - variable though, some of which like -U or -Z would affect - the value. More generally, the readonly attribute should - not be relied on as a security mechanism. - - Note that in zsh (like in pdksh but unlike most other - shells) it is still possible to create a local variable - of the same name as this is considered a different vari- - able (though this variable, too, can be marked readonly). - Special variables that have been made readonly retain - their value and readonly attribute when made local. - - -t Tags the named parameters. Tags have no special meaning - to the shell. This flag has a different meaning when - used with -f; see above. - - -u Convert the result to upper case whenever the parameter - is expanded. The value is not converted when assigned. - This flag has a different meaning when used with -f; see - above. - - -x Mark for automatic export to the environment of subse- - quently executed commands. If the option GLOBAL_EXPORT - is set, this implies the option -g, unless +g is also ex- - plicitly given; in other words the parameter is not made - local to the enclosing function. This is for compatibil- - ity with previous versions of zsh. - -declare - Same as typeset. - -float [ {+|-}Hghlprtux ] [ {+|-}EFLRZ [ n ] ] [ name[=value] ... ] - Equivalent to typeset -E, except that options irrelevant to - floating point numbers are not permitted. - -integer [ {+|-}Hghlprtux ] [ {+|-}LRZi [ n ] ] [ name[=value] ... ] - Equivalent to typeset -i, except that options irrelevant to in- - tegers are not permitted. - -local [ {+|-}AHUahlprtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] ... ] - Same as typeset, except that the options -g, and -f are not per- - mitted. In this case the -x option does not force the use of - -g, i.e. exported variables will be local to functions. - -readonly - Same as typeset -r. With the POSIX_BUILTINS option set, same as - typeset -gr. diff --git a/result/sw/share/zsh/5.9/help/ulimit b/result/sw/share/zsh/5.9/help/ulimit deleted file mode 100644 index 8f2f6355..00000000 --- a/result/sw/share/zsh/5.9/help/ulimit +++ /dev/null @@ -1,59 +0,0 @@ -ulimit [ -HSa ] [ { -bcdfiklmnpqrsTtvwx | -N resource } [ limit ] ... ] - Set or display resource limits of the shell and the processes - started by the shell. The value of limit can be a number in the - unit specified below or one of the values `unlimited', which re- - moves the limit on the resource, or `hard', which uses the cur- - rent value of the hard limit on the resource. - - By default, only soft limits are manipulated. If the -H flag is - given use hard limits instead of soft limits. If the -S flag is - given together with the -H flag set both hard and soft limits. - - If no options are used, the file size limit (-f) is assumed. - - If limit is omitted the current value of the specified resources - are printed. When more than one resource value is printed, the - limit name and unit is printed before each value. - - When looping over multiple resources, the shell will abort imme- - diately if it detects a badly formed argument. However, if it - fails to set a limit for some other reason it will continue try- - ing to set the remaining limits. - - Not all the following resources are supported on all systems. - Running ulimit -a will show which are supported. - - -a Lists all of the current resource limits. - -b Socket buffer size in bytes (N.B. not kilobytes) - -c 512-byte blocks on the size of core dumps. - -d Kilobytes on the size of the data segment. - -f 512-byte blocks on the size of files written. - -i The number of pending signals. - -k The number of kqueues allocated. - -l Kilobytes on the size of locked-in memory. - -m Kilobytes on the size of physical memory. - -n open file descriptors. - -p The number of pseudo-terminals. - -q Bytes in POSIX message queues. - -r Maximum real time priority. On some systems where this - is not available, such as NetBSD, this has the same ef- - fect as -T for compatibility with sh. - -s Kilobytes on the size of the stack. - -T The number of simultaneous threads available to the user. - -t CPU seconds to be used. - -u The number of processes available to the user. - -v Kilobytes on the size of virtual memory. On some systems - this refers to the limit called `address space'. - -w Kilobytes on the size of swapped out memory. - -x The number of locks on files. - - A resource may also be specified by integer in the form `-N re- - source', where resource corresponds to the integer defined for - the resource by the operating system. This may be used to set - the limits for resources known to the shell which do not corre- - spond to option letters. Such limits will be shown by number in - the output of `ulimit -a'. - - The number may alternatively be out of the range of limits com- - piled into the shell. The shell will try to read or write the - limit anyway, and will report an error if this fails. diff --git a/result/sw/share/zsh/5.9/help/umask b/result/sw/share/zsh/5.9/help/umask deleted file mode 100644 index 593b5dc0..00000000 --- a/result/sw/share/zsh/5.9/help/umask +++ /dev/null @@ -1,8 +0,0 @@ -umask [ -S ] [ mask ] - The umask is set to mask. mask can be either an octal number or - a symbolic value as described in the chmod(1) man page. If mask - is omitted, the current value is printed. The -S option causes - the mask to be printed as a symbolic value. Otherwise, the mask - is printed as an octal number. Note that in the symbolic form - the permissions you specify are those which are to be allowed - (not denied) to the users specified. diff --git a/result/sw/share/zsh/5.9/help/unalias b/result/sw/share/zsh/5.9/help/unalias deleted file mode 100644 index 8dd6121a..00000000 --- a/result/sw/share/zsh/5.9/help/unalias +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/sw/share/zsh/5.9/help/unfunction b/result/sw/share/zsh/5.9/help/unfunction deleted file mode 100644 index 8dd6121a..00000000 --- a/result/sw/share/zsh/5.9/help/unfunction +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/sw/share/zsh/5.9/help/unhash b/result/sw/share/zsh/5.9/help/unhash deleted file mode 100644 index 8dd6121a..00000000 --- a/result/sw/share/zsh/5.9/help/unhash +++ /dev/null @@ -1,23 +0,0 @@ -unhash [ -adfms ] name ... - Remove the element named name from an internal hash table. The - default is remove elements from the command hash table. The -a - option causes unhash to remove regular or global aliases; note - when removing a global aliases that the argument must be quoted - to prevent it from being expanded before being passed to the - command. The -s option causes unhash to remove suffix aliases. - The -f option causes unhash to remove shell functions. The -d - options causes unhash to remove named directories. If the -m - flag is given the arguments are taken as patterns (should be - quoted) and all elements of the corresponding hash table with - matching names will be removed. - -unalias [ -ams ] name ... - Removes aliases. This command works the same as unhash -a, ex- - cept that the -a option removes all regular or global aliases, - or with -s all suffix aliases: in this case no name arguments - may appear. The options -m (remove by pattern) and -s without - -a (remove listed suffix aliases) behave as for unhash -a. Note - that the meaning of -a is different between unalias and unhash. - -unfunction - Same as unhash -f. diff --git a/result/sw/share/zsh/5.9/help/unlimit b/result/sw/share/zsh/5.9/help/unlimit deleted file mode 100644 index 8c6c4697..00000000 --- a/result/sw/share/zsh/5.9/help/unlimit +++ /dev/null @@ -1,10 +0,0 @@ -unlimit [ -hs ] resource ... - The resource limit for each resource is set to the hard limit. - If the -h flag is given and the shell has appropriate privi- - leges, the hard resource limit for each resource is removed. - The resources of the shell process are only changed if the -s - flag is given. - - The unlimit command is not made available by default when the - shell starts in a mode emulating another shell. It can be made - available with the command `zmodload -F zsh/rlimits b:unlimit'. diff --git a/result/sw/share/zsh/5.9/help/unset b/result/sw/share/zsh/5.9/help/unset deleted file mode 100644 index 3e818364..00000000 --- a/result/sw/share/zsh/5.9/help/unset +++ /dev/null @@ -1,20 +0,0 @@ -unset [ -fmv ] name ... - Each named parameter is unset. Local parameters remain local - even if unset; they appear unset within scope, but the previous - value will still reappear when the scope ends. - - Individual elements of associative array parameters may be unset - by using subscript syntax on name, which should be quoted (or - the entire command prefixed with noglob) to protect the sub- - script from filename generation. - - If the -m flag is specified the arguments are taken as patterns - (should be quoted) and all parameters with matching names are - unset. Note that this cannot be used when unsetting associative - array elements, as the subscript will be treated as part of the - pattern. - - The -v flag specifies that name refers to parameters. This is - the default behaviour. - - unset -f is equivalent to unfunction. diff --git a/result/sw/share/zsh/5.9/help/unsetopt b/result/sw/share/zsh/5.9/help/unsetopt deleted file mode 100644 index f9ef22d3..00000000 --- a/result/sw/share/zsh/5.9/help/unsetopt +++ /dev/null @@ -1,8 +0,0 @@ -unsetopt [ {+|-}options | {+|-}o option_name ] [ name ... ] - Unset the options for the shell. All options specified either - with flags or by name are unset. If no arguments are supplied, - the names of all options currently unset are printed. If the -m - flag is given the arguments are taken as patterns (which should - be quoted to preserve them from being interpreted as glob pat- - terns), and all options with names matching these patterns are - unset. diff --git a/result/sw/share/zsh/5.9/help/vared b/result/sw/share/zsh/5.9/help/vared deleted file mode 100644 index f920ca75..00000000 --- a/result/sw/share/zsh/5.9/help/vared +++ /dev/null @@ -1 +0,0 @@ -vared See the section `Zle Builtins' in zshzle(1). diff --git a/result/sw/share/zsh/5.9/help/wait b/result/sw/share/zsh/5.9/help/wait deleted file mode 100644 index 75312727..00000000 --- a/result/sw/share/zsh/5.9/help/wait +++ /dev/null @@ -1,25 +0,0 @@ -wait [ job ... ] - Wait for the specified jobs or processes. If job is not given - then all currently active child processes are waited for. Each - job can be either a job specification or the process ID of a job - in the job table. The exit status from this command is that of - the job waited for. If job represents an unknown job or process - ID, a warning is printed (unless the POSIX_BUILTINS option is - set) and the exit status is 127. - - It is possible to wait for recent processes (specified by - process ID, not by job) that were running in the background even - if the process has exited. Typically the process ID will be - recorded by capturing the value of the variable $! immediately - after the process has been started. There is a limit on the - number of process IDs remembered by the shell; this is given by - the value of the system configuration parameter CHILD_MAX. When - this limit is reached, older process IDs are discarded, least - recently started processes first. - - Note there is no protection against the process ID wrapping, - i.e. if the wait is not executed soon enough there is a chance - the process waited for is the wrong one. A conflict implies - both process IDs have been generated by the shell, as other pro- - cesses are not recorded, and that the user is potentially inter- - ested in both, so this problem is intrinsic to process IDs. diff --git a/result/sw/share/zsh/5.9/help/whence b/result/sw/share/zsh/5.9/help/whence deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/sw/share/zsh/5.9/help/whence +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/sw/share/zsh/5.9/help/where b/result/sw/share/zsh/5.9/help/where deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/sw/share/zsh/5.9/help/where +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/sw/share/zsh/5.9/help/which b/result/sw/share/zsh/5.9/help/which deleted file mode 100644 index 9f39fe7d..00000000 --- a/result/sw/share/zsh/5.9/help/which +++ /dev/null @@ -1,64 +0,0 @@ -whence [ -vcwfpamsS ] [ -x num ] name ... - For each name, indicate how it would be interpreted if used as a - command name. - - If name is not an alias, built-in command, external command, - shell function, hashed command, or a reserved word, the exit - status shall be non-zero, and -- if -v, -c, or -w was passed -- - a message will be written to standard output. (This is differ- - ent from other shells that write that message to standard er- - ror.) - - whence is most useful when name is only the last path component - of a command, i.e. does not include a `/'; in particular, pat- - tern matching only succeeds if just the non-directory component - of the command is passed. - - -v Produce a more verbose report. - - -c Print the results in a csh-like format. This takes - precedence over -v. - - -w For each name, print `name: word' where word is one of - alias, builtin, command, function, hashed, reserved or - none, according as name corresponds to an alias, a - built-in command, an external command, a shell function, - a command defined with the hash builtin, a reserved word, - or is not recognised. This takes precedence over -v and - -c. - - -f Causes the contents of a shell function to be displayed, - which would otherwise not happen unless the -c flag were - used. - - -p Do a path search for name even if it is an alias, re- - served word, shell function or builtin. - - -a Do a search for all occurrences of name throughout the - command path. Normally only the first occurrence is - printed. - - -m The arguments are taken as patterns (pattern characters - should be quoted), and the information is displayed for - each command matching one of these patterns. - - -s If a pathname contains symlinks, print the symlink-free - pathname as well. - - -S As -s, but if the pathname had to be resolved by follow- - ing multiple symlinks, the intermediate steps are - printed, too. The symlink resolved at each step might be - anywhere in the path. - - -x num Expand tabs when outputting shell functions using the -c - option. This has the same effect as the -x option to the - functions builtin. - -type [ -wfpamsS ] name ... - Equivalent to whence -v. - -where [ -wpmsS ] [ -x num ] name ... - Equivalent to whence -ca. - -which [ -wpamsS ] [ -x num ] name ... - Equivalent to whence -c. diff --git a/result/sw/share/zsh/5.9/help/zcompile b/result/sw/share/zsh/5.9/help/zcompile deleted file mode 100644 index e649320a..00000000 --- a/result/sw/share/zsh/5.9/help/zcompile +++ /dev/null @@ -1,122 +0,0 @@ -zcompile [ -U ] [ -z | -k ] [ -R | -M ] file [ name ... ] -zcompile -ca [ -m ] [ -R | -M ] file [ name ... ] -zcompile -t file [ name ... ] - This builtin command can be used to compile functions or - scripts, storing the compiled form in a file, and to examine - files containing the compiled form. This allows faster au- - toloading of functions and sourcing of scripts by avoiding pars- - ing of the text when the files are read. - - The first form (without the -c, -a or -t options) creates a com- - piled file. If only the file argument is given, the output file - has the name `file.zwc' and will be placed in the same directory - as the file. The shell will load the compiled file instead of - the normal function file when the function is autoloaded; see - the section `Autoloading Functions' in zshmisc(1) for a descrip- - tion of how autoloaded functions are searched. The extension - .zwc stands for `zsh word code'. - - If there is at least one name argument, all the named files are - compiled into the output file given as the first argument. If - file does not end in .zwc, this extension is automatically ap- - pended. Files containing multiple compiled functions are called - `digest' files, and are intended to be used as elements of the - FPATH/fpath special array. - - The second form, with the -c or -a options, writes the compiled - definitions for all the named functions into file. For -c, the - names must be functions currently defined in the shell, not - those marked for autoloading. Undefined functions that are - marked for autoloading may be written by using the -a option, in - which case the fpath is searched and the contents of the defini- - tion files for those functions, if found, are compiled into - file. If both -c and -a are given, names of both defined func- - tions and functions marked for autoloading may be given. In ei- - ther case, the functions in files written with the -c or -a op- - tion will be autoloaded as if the KSH_AUTOLOAD option were un- - set. - - The reason for handling loaded and not-yet-loaded functions with - different options is that some definition files for autoloading - define multiple functions, including the function with the same - name as the file, and, at the end, call that function. In such - cases the output of `zcompile -c' does not include the addi- - tional functions defined in the file, and any other initializa- - tion code in the file is lost. Using `zcompile -a' captures all - this extra information. - - If the -m option is combined with -c or -a, the names are used - as patterns and all functions whose names match one of these - patterns will be written. If no name is given, the definitions - of all functions currently defined or marked as autoloaded will - be written. - - Note the second form cannot be used for compiling functions that - include redirections as part of the definition rather than - within the body of the function; for example - - fn1() { { ... } >~/logfile } - - can be compiled but - - fn1() { ... } >~/logfile - - cannot. It is possible to use the first form of zcompile to - compile autoloadable functions that include the full function - definition instead of just the body of the function. - - The third form, with the -t option, examines an existing com- - piled file. Without further arguments, the names of the origi- - nal files compiled into it are listed. The first line of output - shows the version of the shell which compiled the file and how - the file will be used (i.e. by reading it directly or by mapping - it into memory). With arguments, nothing is output and the re- - turn status is set to zero if definitions for all names were - found in the compiled file, and non-zero if the definition for - at least one name was not found. - - Other options: - - -U Aliases are not expanded when compiling the named files. - - -R When the compiled file is read, its contents are copied - into the shell's memory, rather than memory-mapped (see - -M). This happens automatically on systems that do not - support memory mapping. - - When compiling scripts instead of autoloadable functions, - it is often desirable to use this option; otherwise the - whole file, including the code to define functions which - have already been defined, will remain mapped, conse- - quently wasting memory. - - -M The compiled file is mapped into the shell's memory when - read. This is done in such a way that multiple instances - of the shell running on the same host will share this - mapped file. If neither -R nor -M is given, the zcompile - builtin decides what to do based on the size of the com- - piled file. - - -k - -z These options are used when the compiled file contains - functions which are to be autoloaded. If -z is given, the - function will be autoloaded as if the KSH_AUTOLOAD option - is not set, even if it is set at the time the compiled - file is read, while if the -k is given, the function will - be loaded as if KSH_AUTOLOAD is set. These options also - take precedence over any -k or -z options specified to - the autoload builtin. If neither of these options is - given, the function will be loaded as determined by the - setting of the KSH_AUTOLOAD option at the time the com- - piled file is read. - - These options may also appear as many times as necessary - between the listed names to specify the loading style of - all following functions, up to the next -k or -z. - - The created file always contains two versions of the com- - piled format, one for big-endian machines and one for - small-endian machines. The upshot of this is that the - compiled file is machine independent and if it is read or - mapped, only one half of the file is actually used (and - mapped). diff --git a/result/sw/share/zsh/5.9/help/zformat b/result/sw/share/zsh/5.9/help/zformat deleted file mode 100644 index f962636e..00000000 --- a/result/sw/share/zsh/5.9/help/zformat +++ /dev/null @@ -1,2 +0,0 @@ -zformat - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zftp b/result/sw/share/zsh/5.9/help/zftp deleted file mode 100644 index 2c66b3a7..00000000 --- a/result/sw/share/zsh/5.9/help/zftp +++ /dev/null @@ -1 +0,0 @@ -zftp See the section `The zsh/zftp Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zle b/result/sw/share/zsh/5.9/help/zle deleted file mode 100644 index d79eedef..00000000 --- a/result/sw/share/zsh/5.9/help/zle +++ /dev/null @@ -1 +0,0 @@ -zle See the section `Zle Builtins' in zshzle(1). diff --git a/result/sw/share/zsh/5.9/help/zmodload b/result/sw/share/zsh/5.9/help/zmodload deleted file mode 100644 index 735241b5..00000000 --- a/result/sw/share/zsh/5.9/help/zmodload +++ /dev/null @@ -1,308 +0,0 @@ -zmodload [ -dL ] [ -s ] [ ... ] -zmodload -F [ -alLme -P param ] module [ [+-]feature ... ] -zmodload -e [ -A ] [ ... ] -zmodload [ -a [ -bcpf [ -I ] ] ] [ -iL ] ... -zmodload -u [ -abcdpf [ -I ] ] [ -iL ] ... -zmodload -A [ -L ] [ modalias[=module] ... ] -zmodload -R modalias ... - Performs operations relating to zsh's loadable modules. Loading - of modules while the shell is running (`dynamical loading') is - not available on all operating systems, or on all installations - on a particular operating system, although the zmodload command - itself is always available and can be used to manipulate modules - built into versions of the shell executable without dynamical - loading. - - Without arguments the names of all currently loaded binary mod- - ules are printed. The -L option causes this list to be in the - form of a series of zmodload commands. Forms with arguments - are: - - zmodload [ -is ] name ... - zmodload -u [ -i ] name ... - In the simplest case, zmodload loads a binary module. - The module must be in a file with a name consisting of - the specified name followed by a standard suffix, usually - `.so' (`.sl' on HPUX). If the module to be loaded is al- - ready loaded the duplicate module is ignored. If zmod- - load detects an inconsistency, such as an invalid module - name or circular dependency list, the current code block - is aborted. If it is available, the module is loaded if - necessary, while if it is not available, non-zero status - is silently returned. The option -i is accepted for com- - patibility but has no effect. - - The named module is searched for in the same way a com- - mand is, using $module_path instead of $path. However, - the path search is performed even when the module name - contains a `/', which it usually does. There is no way - to prevent the path search. - - If the module supports features (see below), zmodload - tries to enable all features when loading a module. If - the module was successfully loaded but not all features - could be enabled, zmodload returns status 2. - - If the option -s is given, no error is printed if the - module was not available (though other errors indicating - a problem with the module are printed). The return sta- - tus indicates if the module was loaded. This is appro- - priate if the caller considers the module optional. - - With -u, zmodload unloads modules. The same name must be - given that was given when the module was loaded, but it - is not necessary for the module to exist in the file sys- - tem. The -i option suppresses the error if the module is - already unloaded (or was never loaded). - - Each module has a boot and a cleanup function. The mod- - ule will not be loaded if its boot function fails. Simi- - larly a module can only be unloaded if its cleanup func- - tion runs successfully. - - zmodload -F [ -almLe -P param ] module [ [+-]feature ... ] - zmodload -F allows more selective control over the fea- - tures provided by modules. With no options apart from - -F, the module named module is loaded, if it was not al- - ready loaded, and the list of features is set to the re- - quired state. If no features are specified, the module - is loaded, if it was not already loaded, but the state of - features is unchanged. Each feature may be preceded by a - + to turn the feature on, or - to turn it off; the + is - assumed if neither character is present. Any feature not - explicitly mentioned is left in its current state; if the - module was not previously loaded this means any such fea- - tures will remain disabled. The return status is zero if - all features were set, 1 if the module failed to load, - and 2 if some features could not be set (for example, a - parameter couldn't be added because there was a different - parameter of the same name) but the module was loaded. - - The standard features are builtins, conditions, parame- - ters and math functions; these are indicated by the pre- - fix `b:', `c:' (`C:' for an infix condition), `p:' and - `f:', respectively, followed by the name that the corre- - sponding feature would have in the shell. For example, - `b:strftime' indicates a builtin named strftime and - p:EPOCHSECONDS indicates a parameter named EPOCHSECONDS. - The module may provide other (`abstract') features of its - own as indicated by its documentation; these have no pre- - fix. - - With -l or -L, features provided by the module are - listed. With -l alone, a list of features together with - their states is shown, one feature per line. With -L - alone, a zmodload -F command that would cause enabled - features of the module to be turned on is shown. With - -lL, a zmodload -F command that would cause all the fea- - tures to be set to their current state is shown. If one - of these combinations is given with the option -P param - then the parameter param is set to an array of features, - either features together with their state or (if -L alone - is given) enabled features. - - With the option -L the module name may be omitted; then a - list of all enabled features for all modules providing - features is printed in the form of zmodload -F commands. - If -l is also given, the state of both enabled and dis- - abled features is output in that form. - - A set of features may be provided together with -l or -L - and a module name; in that case only the state of those - features is considered. Each feature may be preceded by - + or - but the character has no effect. If no set of - features is provided, all features are considered. - - With -e, the command first tests that the module is - loaded; if it is not, status 1 is returned. If the mod- - ule is loaded, the list of features given as an argument - is examined. Any feature given with no prefix is simply - tested to see if the module provides it; any feature - given with a prefix + or - is tested to see if is pro- - vided and in the given state. If the tests on all fea- - tures in the list succeed, status 0 is returned, else - status 1. - - With -m, each entry in the given list of features is - taken as a pattern to be matched against the list of fea- - tures provided by the module. An initial + or - must be - given explicitly. This may not be combined with the -a - option as autoloads must be specified explicitly. - - With -a, the given list of features is marked for au- - toload from the specified module, which may not yet be - loaded. An optional + may appear before the feature - name. If the feature is prefixed with -, any existing - autoload is removed. The options -l and -L may be used - to list autoloads. Autoloading is specific to individual - features; when the module is loaded only the requested - feature is enabled. Autoload requests are preserved if - the module is subsequently unloaded until an explicit - `zmodload -Fa module -feature' is issued. It is not an - error to request an autoload for a feature of a module - that is already loaded. - - When the module is loaded each autoload is checked - against the features actually provided by the module; if - the feature is not provided the autoload request is - deleted. A warning message is output; if the module is - being loaded to provide a different feature, and that au- - toload is successful, there is no effect on the status of - the current command. If the module is already loaded at - the time when zmodload -Fa is run, an error message is - printed and status 1 returned. - - zmodload -Fa can be used with the -l, -L, -e and -P op- - tions for listing and testing the existence of autoload- - able features. In this case -l is ignored if -L is spec- - ified. zmodload -FaL with no module name lists autoloads - for all modules. - - Note that only standard features as described above can - be autoloaded; other features require the module to be - loaded before enabling. - - zmodload -d [ -L ] [ name ] - zmodload -d name dep ... - zmodload -ud name [ dep ... ] - The -d option can be used to specify module dependencies. - The modules named in the second and subsequent arguments - will be loaded before the module named in the first argu- - ment. - - With -d and one argument, all dependencies for that mod- - ule are listed. With -d and no arguments, all module de- - pendencies are listed. This listing is by default in a - Makefile-like format. The -L option changes this format - to a list of zmodload -d commands. - - If -d and -u are both used, dependencies are removed. If - only one argument is given, all dependencies for that - module are removed. - - zmodload -ab [ -L ] - zmodload -ab [ -i ] name [ builtin ... ] - zmodload -ub [ -i ] builtin ... - The -ab option defines autoloaded builtins. It defines - the specified builtins. When any of those builtins is - called, the module specified in the first argument is - loaded and all its features are enabled (for selective - control of features use `zmodload -F -a' as described - above). If only the name is given, one builtin is de- - fined, with the same name as the module. -i suppresses - the error if the builtin is already defined or au- - toloaded, but not if another builtin of the same name is - already defined. - - With -ab and no arguments, all autoloaded builtins are - listed, with the module name (if different) shown in - parentheses after the builtin name. The -L option - changes this format to a list of zmodload -a commands. - - If -b is used together with the -u option, it removes - builtins previously defined with -ab. This is only pos- - sible if the builtin is not yet loaded. -i suppresses - the error if the builtin is already removed (or never ex- - isted). - - Autoload requests are retained if the module is subse- - quently unloaded until an explicit `zmodload -ub builtin' - is issued. - - zmodload -ac [ -IL ] - zmodload -ac [ -iI ] name [ cond ... ] - zmodload -uc [ -iI ] cond ... - The -ac option is used to define autoloaded condition - codes. The cond strings give the names of the conditions - defined by the module. The optional -I option is used to - define infix condition names. Without this option prefix - condition names are defined. - - If given no condition names, all defined names are listed - (as a series of zmodload commands if the -L option is - given). - - The -uc option removes definitions for autoloaded condi- - tions. - - zmodload -ap [ -L ] - zmodload -ap [ -i ] name [ parameter ... ] - zmodload -up [ -i ] parameter ... - The -p option is like the -b and -c options, but makes - zmodload work on autoloaded parameters instead. - - zmodload -af [ -L ] - zmodload -af [ -i ] name [ function ... ] - zmodload -uf [ -i ] function ... - The -f option is like the -b, -p, and -c options, but - makes zmodload work on autoloaded math functions instead. - - zmodload -a [ -L ] - zmodload -a [ -i ] name [ builtin ... ] - zmodload -ua [ -i ] builtin ... - Equivalent to -ab and -ub. - - zmodload -e [ -A ] [ string ... ] - The -e option without arguments lists all loaded modules; - if the -A option is also given, module aliases corre- - sponding to loaded modules are also shown. If arguments - are provided, nothing is printed; the return status is - set to zero if all strings given as arguments are names - of loaded modules and to one if at least on string is not - the name of a loaded module. This can be used to test - for the availability of things implemented by modules. - In this case, any aliases are automatically resolved and - the -A flag is not used. - - zmodload -A [ -L ] [ modalias[=module] ... ] - For each argument, if both modalias and module are given, - define modalias to be an alias for the module module. If - the module modalias is ever subsequently requested, ei- - ther via a call to zmodload or implicitly, the shell will - attempt to load module instead. If module is not given, - show the definition of modalias. If no arguments are - given, list all defined module aliases. When listing, if - the -L flag was also given, list the definition as a - zmodload command to recreate the alias. - - The existence of aliases for modules is completely inde- - pendent of whether the name resolved is actually loaded - as a module: while the alias exists, loading and unload- - ing the module under any alias has exactly the same ef- - fect as using the resolved name, and does not affect the - connection between the alias and the resolved name which - can be removed either by zmodload -R or by redefining the - alias. Chains of aliases (i.e. where the first resolved - name is itself an alias) are valid so long as these are - not circular. As the aliases take the same format as - module names, they may include path separators: in this - case, there is no requirement for any part of the path - named to exist as the alias will be resolved first. For - example, `any/old/alias' is always a valid alias. - - Dependencies added to aliased modules are actually added - to the resolved module; these remain if the alias is re- - moved. It is valid to create an alias whose name is one - of the standard shell modules and which resolves to a - different module. However, if a module has dependencies, - it will not be possible to use the module name as an - alias as the module will already be marked as a loadable - module in its own right. - - Apart from the above, aliases can be used in the zmodload - command anywhere module names are required. However, - aliases will not be shown in lists of loaded modules with - a bare `zmodload'. - - zmodload -R modalias ... - For each modalias argument that was previously defined as - a module alias via zmodload -A, delete the alias. If any - was not defined, an error is caused and the remainder of - the line is ignored. - - Note that zsh makes no distinction between modules that were - linked into the shell and modules that are loaded dynamically. - In both cases this builtin command has to be used to make avail- - able the builtins and other things defined by modules (unless - the module is autoloaded on these definitions). This is true - even for systems that don't support dynamic loading of modules. diff --git a/result/sw/share/zsh/5.9/help/zparseopts b/result/sw/share/zsh/5.9/help/zparseopts deleted file mode 100644 index 82608a2c..00000000 --- a/result/sw/share/zsh/5.9/help/zparseopts +++ /dev/null @@ -1,2 +0,0 @@ -zparseopts - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zprof b/result/sw/share/zsh/5.9/help/zprof deleted file mode 100644 index 7885238c..00000000 --- a/result/sw/share/zsh/5.9/help/zprof +++ /dev/null @@ -1 +0,0 @@ -zprof See the section `The zsh/zprof Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zpty b/result/sw/share/zsh/5.9/help/zpty deleted file mode 100644 index 1e169fd3..00000000 --- a/result/sw/share/zsh/5.9/help/zpty +++ /dev/null @@ -1 +0,0 @@ -zpty See the section `The zsh/zpty Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zregexparse b/result/sw/share/zsh/5.9/help/zregexparse deleted file mode 100644 index 717fb78a..00000000 --- a/result/sw/share/zsh/5.9/help/zregexparse +++ /dev/null @@ -1,2 +0,0 @@ -zregexparse - See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zsocket b/result/sw/share/zsh/5.9/help/zsocket deleted file mode 100644 index 6e6f81fb..00000000 --- a/result/sw/share/zsh/5.9/help/zsocket +++ /dev/null @@ -1,2 +0,0 @@ -zsocket - See the section `The zsh/net/socket Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/zstyle b/result/sw/share/zsh/5.9/help/zstyle deleted file mode 100644 index 654a4041..00000000 --- a/result/sw/share/zsh/5.9/help/zstyle +++ /dev/null @@ -1 +0,0 @@ -zstyle See the section `The zsh/zutil Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/help/ztcp b/result/sw/share/zsh/5.9/help/ztcp deleted file mode 100644 index 9b9d62f6..00000000 --- a/result/sw/share/zsh/5.9/help/ztcp +++ /dev/null @@ -1 +0,0 @@ -ztcp See the section `The zsh/net/tcp Module' in zshmodules(1). diff --git a/result/sw/share/zsh/5.9/scripts/newuser b/result/sw/share/zsh/5.9/scripts/newuser deleted file mode 100644 index b5d74210..00000000 --- a/result/sw/share/zsh/5.9/scripts/newuser +++ /dev/null @@ -1,8 +0,0 @@ -# zsh script sourced at startup when a user is found to have -# no startup files. See the documentation for the zsh/newuser -# module in zshmodules(1). - -if functions zsh-newuser-install >/dev/null 2>&1 || - autoload -U +X zsh-newuser-install; then - zsh-newuser-install -fi diff --git a/result/sw/share/zsh/plugins/nix/init.zsh b/result/sw/share/zsh/plugins/nix/init.zsh deleted file mode 100644 index 5ef4b434..00000000 --- a/result/sw/share/zsh/plugins/nix/init.zsh +++ /dev/null @@ -1,3 +0,0 @@ - -# Source module files. -source "${0:h}/nix.plugin.zsh" || return 1 diff --git a/result/sw/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh b/result/sw/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh deleted file mode 100644 index 29833e18..00000000 --- a/result/sw/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh +++ /dev/null @@ -1,31 +0,0 @@ -# Nix Install -alias ni='nix-env -iA' - -# Nix Search -alias ns='nix-env -qaP' - -function prompt_nix_shell_precmd { - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" || ${IN_NIX_RUN} && ${IN_NIX_RUN} != "0" ]]; then - if [[ -n ${IN_WHICH_NIX_SHELL} ]] then - NIX_SHELL_NAME=": ${IN_WHICH_NIX_SHELL}" - fi - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" ]]; then - NAME="nix-shell" - else - NAME="nix-run" - fi - NIX_PROMPT="%F{8}[%F{3}${NAME}${NIX_SHELL_NAME}%F{8}]%f" - if [[ $PROMPT != *"$NIX_PROMPT"* ]] then - PROMPT="$NIX_PROMPT $PROMPT" - fi - fi -} - -function prompt_nix_shell_setup { - autoload -Uz add-zsh-hook - add-zsh-hook precmd prompt_nix_shell_precmd -} - -# Add this to your zshrc if you want the prompt prefixed with `[nix-shell]` -# when you're in a nix-shell environment. -# prompt_nix_shell_setup "$@" diff --git a/result/sw/share/zsh/plugins/nix/nix.plugin.zsh b/result/sw/share/zsh/plugins/nix/nix.plugin.zsh deleted file mode 100644 index 29833e18..00000000 --- a/result/sw/share/zsh/plugins/nix/nix.plugin.zsh +++ /dev/null @@ -1,31 +0,0 @@ -# Nix Install -alias ni='nix-env -iA' - -# Nix Search -alias ns='nix-env -qaP' - -function prompt_nix_shell_precmd { - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" || ${IN_NIX_RUN} && ${IN_NIX_RUN} != "0" ]]; then - if [[ -n ${IN_WHICH_NIX_SHELL} ]] then - NIX_SHELL_NAME=": ${IN_WHICH_NIX_SHELL}" - fi - if [[ -n ${IN_NIX_SHELL} && ${IN_NIX_SHELL} != "0" ]]; then - NAME="nix-shell" - else - NAME="nix-run" - fi - NIX_PROMPT="%F{8}[%F{3}${NAME}${NIX_SHELL_NAME}%F{8}]%f" - if [[ $PROMPT != *"$NIX_PROMPT"* ]] then - PROMPT="$NIX_PROMPT $PROMPT" - fi - fi -} - -function prompt_nix_shell_setup { - autoload -Uz add-zsh-hook - add-zsh-hook precmd prompt_nix_shell_precmd -} - -# Add this to your zshrc if you want the prompt prefixed with `[nix-shell]` -# when you're in a nix-shell environment. -# prompt_nix_shell_setup "$@" diff --git a/result/sw/share/zsh/site-functions/_darwin-rebuild b/result/sw/share/zsh/site-functions/_darwin-rebuild deleted file mode 100644 index 466343fe..00000000 --- a/result/sw/share/zsh/site-functions/_darwin-rebuild +++ /dev/null @@ -1,38 +0,0 @@ -#compdef darwin-rebuild -#autoload - -_nix-common-options - -local -a _1st_arguments -_1st_arguments=( - 'edit:Open nix-darwin config in $EDITOR'\ - 'switch:Build, activate, and update the current generation'\ - 'activate:Activate an already built store path and update the current generation'\ - 'build:Build without activating or updating the current generation'\ - 'check:Build and run the activation sanity checks'\ - 'changelog:Show most recent entries in the changelog'\ -) - -_arguments \ - $__nix_search_path_args\ - '(--verbose -v)*'{--verbose,-v}'[Increase verbosity of diagnostic messages]'\ - '(--max-jobs -j)'{--max-jobs,-j}'[max number of build jobs in parallel]:jobs:'\ - '--cores[threads per job (e.g. -j argument to make)]:cores:'\ - '(--keep-going -k)'{--keep-going,-k}"[keep going until all builds are finished]"\ - '(--keep-failed -K)'{--keep-failed,-K}'[keep failed builds (usually in /tmp)]'\ - '--fallback[If binary download fails, fall back on building from source]'\ - '--show-trace[Print stack trace of evaluation errors]'\ - '*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value'\ - '*--arg[argument to pass to the Nix function]:Name:_nix_complete_function_arg:Value: '\ - '*--argstr[pass a string]:Name:_nix_complete_function_arg:String: '\ - '--list-generations[Print a list of all generations in the active profile]'\ - '--rollback[Roll back to the previous configuration]'\ - {--switch-generation,-G}'[Activate specified generation]'\ - '(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\ - '1:: :->subcmds' && return 0 - -case $state in - subcmds) - _describe -t commands 'darwin-rebuild subcommands' _1st_arguments - ;; -esac diff --git a/result/sw/share/zsh/site-functions/_nix b/result/sw/share/zsh/site-functions/_nix deleted file mode 100644 index f9b3dca7..00000000 --- a/result/sw/share/zsh/site-functions/_nix +++ /dev/null @@ -1,24 +0,0 @@ -#compdef nix - -function _nix() { - local ifs_bk="$IFS" - local input=("${(Q)words[@]}") - IFS=$'\n' - local res=($(NIX_GET_COMPLETIONS=$((CURRENT - 1)) "$input[@]" 2>/dev/null)) - IFS="$ifs_bk" - local tpe="${${res[1]}%%> *}" - local -a suggestions - declare -a suggestions - for suggestion in ${res:1}; do - suggestions+=("${suggestion%% *}") - done - local -a args - if [[ "$tpe" == filenames ]]; then - args+=('-f') - elif [[ "$tpe" == attrs ]]; then - args+=('-S' '') - fi - compadd -J nix "${args[@]}" -a suggestions -} - -_nix "$@" diff --git a/result/sw/share/zsh/site-functions/_nix-build b/result/sw/share/zsh/site-functions/_nix-build deleted file mode 100644 index b7143e31..00000000 --- a/result/sw/share/zsh/site-functions/_nix-build +++ /dev/null @@ -1,32 +0,0 @@ -#compdef nix-build -#autoload - -_nix-common-options - -local -a _nix_build_opts=( - $__nix_expr_opts - $__nix_common_store_opts - '*'{--attr,-A}'[build a package from file (default: ./default.nix)]:package:_nix_complete_attr_paths' - --check'[Rebuild derivation]' - '--drv-link[Add a symlink to the store derivation]:Symlink Name:( )' - '--add-drv-link[Shorthand for --drv-link ./derivation]' - '--no-out-link[Do not create a symlink to the output path]' - {--out-link,-o}'[Name of the output symlink]:Output Symlink Name:( )' -) - -# TODO: Undocumented args to possibly add -# --add-root -# --check -# --quiet -# --command -# --exclude -# --pure -# --impure -# --packages,-p - -_arguments \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_dry_run \ - $_nix_build_opts \ - '*:Paths:_nix_path' diff --git a/result/sw/share/zsh/site-functions/_nix-channel b/result/sw/share/zsh/site-functions/_nix-channel deleted file mode 100644 index b879ee6e..00000000 --- a/result/sw/share/zsh/site-functions/_nix-channel +++ /dev/null @@ -1,20 +0,0 @@ -#compdef nix-channel -#autoload - -local context state state_descr line -typeset -A opt_args - -_nix-common-options - -_arguments \ - '(- *)--add[Subscribe to a channel]:Channel URL:_urls::Channel Name:( )'\ - '(- *)--remove[Unsubscribe from a channel]:Channel Name:->nix_channels'\ - '(- *)--list[List subscribed channels]'\ - '(- *)--update[Update and activate channels]:Channel Name:->nix_channels'\ - '(- *)--rollback[Revert the previous nix-channel --update]' - -case $state in - nix-channels) - local -a channels=(${${(f)"$(nix-channel --list)"}%% *}) - _values 'Nix Channels' ${channels} -esac diff --git a/result/sw/share/zsh/site-functions/_nix-collect-garbage b/result/sw/share/zsh/site-functions/_nix-collect-garbage deleted file mode 100644 index 55cf8935..00000000 --- a/result/sw/share/zsh/site-functions/_nix-collect-garbage +++ /dev/null @@ -1,9 +0,0 @@ -#compdef nix-collect-garbage -#autoload - -_nix-common-options - -_arguments \ - '(--delete-old -d)'{--delete-old,-d}'[Delete all old generations of all profiles]'\ - '--delete-older-than[Delete generations older than the given time]:Time such as 30d:( )'\ - $__nix_dry_run \ diff --git a/result/sw/share/zsh/site-functions/_nix-common-options b/result/sw/share/zsh/site-functions/_nix-common-options deleted file mode 100644 index ace6b997..00000000 --- a/result/sw/share/zsh/site-functions/_nix-common-options +++ /dev/null @@ -1,614 +0,0 @@ -#autoload - -if [[ $_NIX_SHELL_COMPLETION_LOADED ]]; then - # No point in re-defining these functions each time we do a completion - return 0 -fi - -# Simple completion function to select a system -# List gathered from: https://github.com/NixOS/nixpkgs/blob/master/lib/platforms.nix -_nix_systems () { - _values 'Systems' \ - i686-linux x86_64-linux \ - armv5tel-linux armv6l-linux armv7l-linux mips64el-linux \ - x86_64-darwin \ - i686-freebsd x86_64-freebsd \ - i686-openbsd x86_64-openbsd \ - i686-netbsd x86_64-netbsd \ - i686-cygwin x86_64-cygwin -} - -# Completion function to select an angle-bracket expression from the nix path -# Assumptions: No '=' in the actual path components in NIX_PATH -# TODO: Complete files in /some/path for expressions like <nixpkgs/pkgs/...> -# IMPROVEMENT: Remove '<nixos-config>' since that seems rather useless(?) -_nix_shortcuts () { - local nix_path=(${(s.:.)NIX_PATH}) - local named=(${(M)nix_path:#*=*}) - local dirs=(${nix_path:#*=*}) - local valid_dir_globs=($^dirs"/*/default.nix(N:h:t)") - local valid_dirs=(${~valid_dir_globs}) - local names=(${named%%=*}) - if [[ "$valid_dirs" || "$names" ]]; then - _values shortcuts "<"${^valid_dirs}">" "<"${^names}">" - fi -} - -_nix_path() { - _alternative \ - 'nixpkgs:Nixpkgs:_nix_shortcuts' \ - 'path:File Path:_nix_complete_dotnix_files' -} - -_nix_complete_dotnix_files () { - _alternative \ - "file:Local file:_path_files -g '*.nix(N) *(N-/)'" \ - 'shortcuts:Shortcuts:_nix_shortcuts' \ - 'channel:Channel:(channel: - channel:nixos-13.10 - channel:nixos-14.04 channel:nixos-14.04-small - channel:nixos-14.12 channel:nixos-14.12-small - channel:nixos-15.09 channel:nixos-15.09-small - channel:nixos-16.03 channel:nixos-16.03-small - channel:nixos-16.09 channel:nixos-16.09-small - channel:nixos-17.03 channel:nixos-17.03-small - channel:nixos-17.09 channel:nixos-17.09-small - channel:nixos-18.03 channel:nixos-18.03-small - channel:nixos-18.09 channel:nixos-18.09-small - channel:nixos-19.03 channel:nixos-19.03-small - channel:nixos-19.09 channel:nixos-19.09-small - channel:nixos-20.03 channel:nixos-20.03-small - channel:nixos-20.09 channel:nixos-20.09-small - channel:nixos-21.05 channel:nixos-21.05-small - channel:nixos-21.11 channel:nixos-21.11-small - channel:nixos-22.05 channel:nixos-22.05-small - channel:nixos-22.11 channel:nixos-22.11-small - channel:nixos-unstable channel:nixos-unstable-small - channel:nixpkgs-unstable)' \ - 'url:URL:(https:// http://)' -} # see: https://channels.nixos.org/ - -_nix_complete_includes () { - local cur=${words[$CURRENT]} - local -a nixpath=(${(s.:.)NIX_PATH}) - local -a path_names - local p - for p in ${nixpath[*]}; do - [[ "$p" == *=* ]] && \ - path_names+=(${p%=*}:Path:_nix_complete_dotnix_files) - done - if [[ $cur == *=* ]]; then - path_names+=(${cur%=*}:Path:_nix_complete_dotnix_files) - fi - if [[ "$path_names" ]]; then - _alternative \ - "nixpath:nixpath:_values -s = 'Nix path name' $path_names" \ - 'file:Path:_path_files -/' - else - _path_files -/ - fi - return -} - -_nix_generations () { - # List of package names with version numbers stripped - setopt extendedglob - local -a generations=(${${${(f)"$(nix-env --list-generations)"}## #}/ /:}) - _describe -V "Nix Generations" generations -} - -_nix_installed_packages () { - # List of package names with version numbers stripped - # with the alternative to specify store paths - local extra_help=$1 - local prefix='-P ./' - local current_word=$words[$CURRENT] - # When referencing an absolute path we can't prefix with ./ - if [[ -z ${current_word:##(/*|\~/*)} && -n $current_word ]]; then - prefix="" - fi - local -a packages=(${${(f)"$(nix-env -q)"}%%-[0-9]*}) - - _alternative \ - "package:packages:_values 'Installed package $extra_help' $packages" \ - "file:Store path to package:_files ${prefix}" -} - - -# Generate nix code creating the default expression used by 'nix-env -iA' -_nix_gen_defexpr () { - setopt local_options null_glob - local -A result # name -> path map - - # Search depth first for directories containing 'default.nix' - # nix-env -iA prioritize the user's channels in case of name collision - # Not sure how collisions in user-created directories are resolved. - local -aU initialQueue=($1/channels $1/channels_root $1/*) - local -a queue=($initialQueue) - - while [[ ${#queue} > 0 ]]; do - local current=$queue[1] - shift queue - if [[ -e $current/default.nix ]]; then - local name=$(basename $current) - if [[ -z $result[$name] ]]; then - result[$name]=$current - fi - else - queue=($current/* $queue) - fi - done - - local nix_expr="{\n" - for name expr_path in ${(kv)result}; do - nix_expr+="${name} = import ${expr_path};" - nix_expr+="\n" - done - nix_expr+="}" - - echo $nix_expr -} - - -# Complete attribute names using $1 as the toplevel expression NB: If calling -# this function from an action spec you need to prefix it with a space so that -# eg. _arguments won't pass it options which it doesn't expect, ie: -# `: _nix_attr_paths` -_nix_attr_paths () { - - local cur=${${words[$CURRENT]#(\'|\")}%(\'|\")} - - # Starting with '.' causes _sep_parts to complain, so exit early. - # This also guards against error output when completion './files' with nix. - if [[ $cur == .* ]]; then - return - fi - - local defexpr=$1 - local attr_path="" - if [[ $cur == *.* ]]; then - attr_path=${cur%.*} - fi - - # attr1.attr3 -> ("attr1" "attr2") - local -a paths=(${(s,.,)attr_path}) - # Add quotes in a second step to avoid ("") when empty - paths=(${${paths/%/\"}/#/\"}) - - # Auto call any functions in the attribute path. This isn't a language - # feature, but done by nix when passing attributes on the command line. - local -a result - result=($(_nix_eval_stdin <<NIX_FILE - let - autocall = setOrLambda: - if builtins.isFunction setOrLambda then - setOrLambda {} - else - setOrLambda; - - top = autocall ($defexpr); - names = [ ${paths[*]} ]; - - # Returns attr.name calling it if it's a function - reducer = set: name: - autocall (builtins.getAttr name set); - result = builtins.foldl' reducer top names; #' - in - if builtins.isAttrs result then - builtins.attrNames result - else - "" -NIX_FILE - )) - - # If the eval failed return the error message - if [[ $? > 0 ]]; then - _message "Eval failed, can't complete (an URL might not be cached): -$result" - return 1 - fi - - local -a prefix=() - if [[ -n $attr_path ]]; then - for i in ${=attr_path//./ }; do - prefix+=("($i)" .) - done - fi - - local package="" - _wanted package package "Attribute path" \ - _sep_parts $prefix result \. - return $? -} - -function _nix_eval_stdin () { - setopt local_options pipefail - # Build up a modified NIX_PATH using -I and --include - local i override="" - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[i]}" in - -I|--include) - override+=${override:+:}${words[$((i+1))]} - ;; - esac - done - override+=${override:+:}${NIX_PATH} - - # Resolve channel: syntax - while [[ "$override" == *(=|:)channel:* ]]; do - local channel=${override#*channel:} - channel="channel:"${channel%%:*} - local url="https://nixos.org/channels/"${channel:8}"/nixexprs.tar.xz" - # Replace the channel with its url - override=${override/"$channel"/"$url"} - done - - # Resolve any url to a cache, else we might trigger a blocking download - while [[ "$override" == *https://* ]]; do - # Find the first url - local url=${override#*https://} - # Strip everything starting with the first colon - url="https://"${url%%:*} - local cache=$(_nix_resolve_url "$url") - # Replace the url with the cache - override=${override/"$url"/"$cache"} - done - - NIX_PATH=$override nix-instantiate --eval - 2>/dev/null | tr '[]"' ' ' - return $? -} - - -# Generate the top level expression in all the various ways the different -# commands expects it to be built. Then generate completions by calling -# _nix_attr_paths $defexpr -_nix_complete_attr_paths () { - - local defexpr="" - local file=$(_nix_get_file_arg) - if [[ "$file" ]]; then - # Extract --arg and --argstr into $args - local i=1 args="" name="" value="" - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[$i]}" in - --arg) - name=${(Q)words[$((i+1))]} - value=${(Q)words[$((i+2))]} - args+="$name = $value;" - i=$((i+2)) - ;; - --argstr) - name=${(Q)words[$((i+1))]} - value=${(Q)words[$((i+2))]} - args+="$name = \"$value\";" - i=$((i+2)) - ;; - esac - done - args=${args:+{$args}} - - local opt - defexpr="import $file $args" - for opt in $words; do - case $opt in - --expr|-[^-]#E[^-]#) - defexpr="($file) $args" - break - ;; - esac - done - else - if [[ $service == nix-env ]]; then - defexpr=$(_nix_gen_defexpr ~/.nix-defexpr) - - elif [[ $service == nix ]]; then - # Extract the channels from NIX_PATH and -I/--include - local -a channels=(${(s.:.)NIX_PATH}) - # Add -I/--include afterwards, so they will shadow the NIX_PATH - channels+=(${(s.:.)opt_args[-I]}) - channels+=(${(s.:.)opt_args[--include]}) - - # Add the names in an associative array to avoid duplicates - local -A names - local channel name - for channel in $channels; do - name=${channel%%=*} - nix_path=${channel#*=} - if [[ $name != $channel ]]; then - # Only add paths with a name, not sure how they work - names[$name]=1 - fi - done - - defexpr=$'{ ' - for name in ${(@k)names}; do - # nixos-config isn't useful or possible to complete - [[ $name == nixos-config ]] && continue - defexpr+="$name = import <${name}>; " - done - defexpr+=' }' - fi - fi - - if [[ $defexpr ]]; then - _nix_attr_paths $defexpr - fi -} - -function _nix_resolve_url () { - local url=$1 - local version="$($service --version)" - local input - if [[ "${version##* }" == 1.11.* ]]; then - # works for nix 1.11 - input="$url" - else - # works for nix 1.12 - input="${url##*/}\0$url" - fi - local sha - sha=$(nix-hash --flat --base32 --type sha256 <(printf "$input")) - local cache=${XDG_CACHE_HOME:-~/.cache}/nix/tarballs - local link="$cache"/"$sha"-file - if [[ -e "$link" ]]; then - echo "$cache/$(basename $(readlink $link))-unpacked" - fi -} - -function _nix_get_file_arg () { - - local file="" - if [[ "$service" == (nix-env|nix) ]]; then - local i - # Extract the last seen -f/--file argument - for ((i=1; i < ${#words[*]}; i++)); do - case "${words[i]}" in - --file|-f) - file=${words[$((i+1))]} - ;; - -f\.) - # -f. is accepted shorthand for -f . - file=. - ;; - esac - done - elif [[ $line ]]; then - file=$line[1] - elif [[ -e shell.nix && $service == nix-shell ]]; then - file=shell.nix - elif [[ -e default.nix ]]; then - file=default.nix - fi - - # Remove one level of shell quoting to make sure we see the same value as - # the nix-* program will see. - # ($opt_args and $line contain the verbatim string: - # eg. given `nix-shell '<nixpkgs>' -A ` $line[1] will be `'<nixpkgs>'` while - # nix-shell will see `<nixpkgs>`) - file=${(Q)file} - - if [[ "file" ]]; then - # Expand channel: syntax - if [[ "$file" == channel:* ]]; then - file="https://nixos.org/channels/"${file:8}"/nixexprs.tar.xz" - fi - - if [[ -e $file ]]; then - # If the path exist use the absolute path to make sure import will - # accept it. - # (Otherwise the path is likely a <nixpkgs> notation) - file=${file:a} - elif [[ "$file" == https://* ]]; then - file=$(_nix_resolve_url $file) - fi - fi - print -n -- $file -} - -function _nix_complete_function_arg () { - local file=$(_nix_get_file_arg) - local func=${file:+import $file} opt - local i exclude="" - for ((i=1; i < ${#words}; i++)); do - case "${words[$i]}" in - --expr|-[^-]#E[^-]#) - func="$file" - ;; - --arg|--argstr) - # Don't add the name we're currently typing - [[ $i == $((CURRENT - 1)) ]] && continue - exclude+=${exclude:+|}${words[$((i+1))]} - ;; - esac - done - if [[ ! $func ]]; then - return - fi - local -a names - names=($(_nix_eval_stdin 2>&1 <<NIX_FILE - if builtins.typeOf ($func) == "lambda" then - builtins.attrNames (builtins.functionArgs ($func)) - else - "" -NIX_FILE - )) - if [[ $? > 0 ]]; then - _message "Eval failed, can't complete (an URL might not be cached): -$names" - return 1 - fi - names=(${names:#(${~exclude})}) - [[ "$names" ]] && _values "Argument name" $names -} - -_nix_profiles () { - local prefix='-P /nix/var/nix/profiles/ -W /nix/var/nix/profiles/' - local cur=$words[$CURRENT] - if [[ $cur ]]; then - prefix="" - fi - _path_files -/ ${=prefix} -} - -# Either true or false: useful for completing many Nix options -_nix_options_bool () { - _values true false -} -# List gathered from: https://nixos.org/nix/manual/#sec-conf-file -# TODO: Complete the value as well, not just the key -_nix_options () { - # Complete nix options with descriptions - local -a nix_options - # Strip the header line, remove leading spaces and replace separating - # whitespace with ':' - nix_options=(${${${${(f)"$(nix --help-config)"}:1:-1}/# /}/ ##/:}) - _describe -t nix_options "Option" nix_options -} - -_nix_options_value () { - # Print the description of the option we're setting - local OPTION=$words[$(($CURRENT - 1))] - # Remove lines not starting with " $OPTION " and strip eveything up to the - # last two consecutive spaces - local description=${${${(f)"$(nix --help-config)"}:#^( $OPTION *)}/* /} - local -a values=() - case "$description" in - Whether*) - _values $description true false - ;; - *) - _path_files - ;; - esac -} - -_nix_run_command_names () { - local cmd chan - - if (( ${+commands[sqlite3]} )); then - # Extract the channels from NIX_PATH and -I/--include - # Add -I/--include afterwards, so they will shadow the NIX_PATH - local -a nix_path=( - ${(s.:.)NIX_PATH} - ${(s.:.)opt_args[-I]} - ${(s.:.)opt_args[--include]} - ) - - # channels: key - channel name, value - path to channel - local -A channels - for chan in $nix_path; do - if [[ $chan = *=* ]]; then - # name=path - channels[${chan%%=*}]=${chan#*=} - else - # path to directory with channels - for chan in $chan/*(-/); do - channels[$chan:t]=$chan - done - fi - done - - # pkg_cmds is list of commands inside packages - # This is an associative array to avoid duplicates. - local -A pkg_cmds - for chan in ${(k)channels}; do - # Extract args with prefix "$chan." - local -a pkgs=( "${${(M)words[@]:#"$chan".*}[@]##"$chan".}" ) - (( ${#pkgs} )) || continue - - local db=${channels[$chan]}/programs.sqlite - [ -f "$db" ] || continue - - pkgs=( "'${^pkgs[@]//\'/''}'" ) # SQL-quote - local query="SELECT name FROM programs WHERE package IN (${(j:,:)pkgs})" - - for cmd in $(sqlite3 "$db" "$query"); do - pkg_cmds[$cmd]= - done - done - - compadd -X 'Package commands' -- ${(k)pkg_cmds} - fi - - _command_names -e -X 'All commands' -} - -## Common options - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell, nixops -__nix_boilerplate_opts=( - '(- *)--help[Print help message and exit]' - '(- *)--version[Print version number and exit]' -) - -# Used in: nix-collect-garbage, nix-env, nix-store, nixops -__nix_dry_run='--dry-run[Show what would be done without doing it]' - -# Used in: nix-collect-garbage, nix-store -__nix_gc_common=( - '(- --print* --delete)--print-roots[Print roots used by garbage collector]' - '(- --print* --delete)--print-live[Print store paths reachable from roots]' - '(- --print* --delete)--print-dead[Print store paths not reachable from roots]' - '(- --print* --delete)--delete[Garbage collect all dead paths from the store]' -) - -# Used in: nixos-install, nix_common_opts -__nix_search_path_args=( - '*-I[add a path to the list of locations used to look up <...> file names]:include path:_nix_complete_includes' -) - -__nix_repair='--repair[Fix corrupted or missing store paths by redownloading or rebuilding]'; - -__nix_expr_opts=( - '(--expr -E)'{--expr,-E}'[interpret command line args as Nix expressions]' -) - -# Misc Nix options accepted by nixos-rebuild -__nix_common_nixos_rebuild=( - $__nix_search_path_args - $__nix_repair - '(--verbose -v)*'{--verbose,-v}'[Increase verbosity of diagnostic messages]' - '(--no-build-output -Q)'{--no-build-output,-Q}'[silence output to stdout and stderr]' - '(--max-jobs -j)'{--max-jobs,-j}'[max number of build jobs in parallel]:jobs:' - '--cores[threads per job (e.g. -j argument to make)]:cores:' - '(--keep-going -k)'{--keep-going,-k}"[keep going until all builds are finished]" - '(--keep-failed -K)'{--keep-failed,-K}'[keep failed builds (usually in /tmp)]' - '--fallback[If binary download fails, fall back on building from source]' - '--show-trace[Print stack trace of evaluation errors]' - '*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value' -) - -__nix_common_nixos_build_vms=( - '*--option[set Nix configuration option]:options:_nix_options:value:_nix_options_value' -) - -__nix_common_store_opts=( - '--add-root[register result as a root of the garbage collector]:path (Hint /nix/var/nix/gcroots):_path_files -/' - '--indirect[store gc root outside GC roots directory]' -) - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell and nix-store -__nix_extra_build_opts=( - '--max-silent-time[max seconds without getting stdout/err from builder]:Seconds:' - '--timeout[max seconds builders should run]:seconds:' - '--readonly-mode[do not open Nix database]' - '--log-format[configure how output is formatted]:output format:((pretty\:"Default" escapes\:"Indicate nesting with escape codes" flat\:"Remove all nesting"))' -) - -# Used in: nix-build, nix-env, nix-instantiate, nix-shell -__nix_common_opts=( - $__nix_common_nixos_rebuild - $__nix_args_opts - $__nix_extra_build_opts - '*--include[add a path to the list of locations used to look up <...> file names]:include path:_nix_complete_includes' - '*--arg[argument to pass to the Nix function]:Name:_nix_complete_function_arg:Value: ' - '*--argstr[pass a string]:Name:_nix_complete_function_arg:String: ' -) - -# Options for nix-store --realise, used by nix-build -__nix_store_realise_opts=( - $__nix_dry_run - '--check[rebuild and see if output is deterministic]' -) - -_NIX_SHELL_COMPLETION_LOADED=1 diff --git a/result/sw/share/zsh/site-functions/_nix-copy-closure b/result/sw/share/zsh/site-functions/_nix-copy-closure deleted file mode 100644 index 56d18887..00000000 --- a/result/sw/share/zsh/site-functions/_nix-copy-closure +++ /dev/null @@ -1,14 +0,0 @@ -#compdef nix-copy-closure -#autoload - -_nix-common-options - -_arguments \ - '(--from)--to[Copy the closure to the remote machine (default)]'\ - '(--to)--from[Copy the closure from the remote machine]'\ - '--sign[Cryptographically sign to allow sharing between untrusted users on trusted machines]'\ - '--gzip[Enable compression of the SSH connection]'\ - '--include-outputs[Also copy outputs of store derivations included in the closure]'\ - '(--use-substitutes -s)'{--use-substitutes,-s}'[Download files from the binary cache if possible]'\ - '1:user@machine:_user_at_host'\ - '2:paths:_files' diff --git a/result/sw/share/zsh/site-functions/_nix-env b/result/sw/share/zsh/site-functions/_nix-env deleted file mode 100644 index 43ff4a3c..00000000 --- a/result/sw/share/zsh/site-functions/_nix-env +++ /dev/null @@ -1,170 +0,0 @@ -#compdef nix-env -#autoload - -emulate -L zsh -setopt extendedglob - -local context state state_descr line -typeset -A opt_args - -_nix-common-options - -local -a _1st_arguments -_1st_arguments=( - {--install,-i}"[Install package]" - {--upgrade,-u}"[Upgrade package]" - {--uninstall,-e}"[Uninstall package]" - --set-flag'[Modify meta attribute of installed package]:Name:->flag_name:Value:->flag_value:*:Packages: _nix_installed_packages' - {--query,-q}"[List information about derivations]" - {--switch-profile,-S}"[Set the current profile path]" - "--list-generations[Print a list of all generations in the active profile]" - "--delete-generations[Delete specified generations]" - {--switch-generation,-G}"[Activate specified generation]" - "--rollback[Switch to the previous generation of active profile]" -) - -local -a _nix_env_common_opts=( - $__nix_common_opts - '(--profile -p)'{--profile,-p}'[Specify the profile to use]:Path:_nix_profiles' - $__nix_dry_run - '--system-filter[Only show derivations matching the specified platform]:system:_nix_systems' -) - -local -a _nix_env_b=( - '(--prebuilt-only -b)'{--prebuilt-only,-b}'[Fail if there is no pre-built binary available]' -) - -local _nix_env_from_profile -_nix_env_from_profile='--from-profile[Fetch store paths from another profile]:Profile:_nix_profiles' - -# Workaround: -# opt_args doesn't record plain options, so we can't use that -local expect_attr_paths=false -local opt -for opt in $words; do - case $opt in - --attr|-[^-]#A[^-]#) - expect_attr_paths=true - ;; - esac -done - -local -a command_options=() -# Look for a main option in the input and setup command_options appropriately -for opt in $words; do -case "$opt" in - --install|-[^-]#i[^-]#) - command_options=( - $_nix_env_common_opts - '(--attr -A)'{--attr,-A}'[Specify packages by attribute path instead of name]' - $_nix_env_b - $_nix_env_from_profile - '(--preserve-installed -P)'{--preserve-installed,-P}'[Do not remove derivations with the same name]' - '(--remove-all -r)'{--remove-all,-r}'[Remove all previously installed packages prior to installing]' - '*:Package:{if $expect_attr_paths; then - _nix_complete_attr_paths; - else - _nix_installed_packages "(use -A/--attr to access all packages)" - fi}') - break - ;; - --upgrade|-[^-]#u[^-]#) - command_options=( - $_nix_env_common_opts - $_nix_env_b - $_nix_env_from_profile - '(-lt -leq -eq --always)--lt[Upgrade derivations with newer versions (default)]' - '(-lt -leq -eq --always)--leq[Upgrade derivations with the same or newer version]' - '(-lt -leq -eq --always)--eq[Upgrade derivations with equivalent versions]' - '(-lt -leq -eq --always)--always[Upgrade even if version number decreases]' - '*:Packages: _nix_installed_packages') - break - ;; - --uninstall|-[^-]#e[^-]#) - command_options=( - ${_nix_env_common_opts:#'(--attr -A)'*} - '*::Packages: _nix_installed_packages') - break - ;; - --set-flag) - break - ;; - --query|-[^-]#q[^-]#) - command_options=( - $_nix_env_common_opts - '(--available -a)'{--available,-a}'[display all installable derivations]' - $_nix_env_b - '(--status -s)'{--status,-s}'[print status of derivation]' - '(--attr-path -P)'{--attr-path,-P}'[print attribute path of derivations]' - '--no-name[suppress printing of name attribute]' - '(--compare-versions -c)'{--compare-versions,-c}'[compare installed and available version]' - '--system[print system attribute]' - '--drv-path[print store derivation path]' - '--out-path[print output path]' - '--description[print description]' - '--xml[print output as xml]' - '--json[print output as json]' - '--meta[Print all meta attributes: only available with --xml]') - break - ;; - --switch-profile|-[^-]#S[^-]#) - command_options=($_nix_env_common_opts ':Profile:_nix_profiles') - break - ;; - --delete-generations) - command_options=($_nix_env_common_opts '*::Generations:_nix_generations') - break - ;; - --switch-generation|-[^-]#G[^-]#) - command_options=($_nix_env_common_opts '::Generations:_nix_generations') - break - ;; - --list-generations) - command_options=($_nix_env_common_opts) - break - ;; - --[^-]*|-[^-]#) - # Complete common options if the user has started writing something else - command_options=($_nix_env_common_opts) - ;; -esac -done - -# Let _arguments handle the rest, with _1st_arguments being mutually exclusive -# under the main_options group -_arguments -s $command_options \ - '*'{--file,-f}'[Specify Nix expression used to obtain derivations]:Path to file:_nix_path'\ - '-f.[evaluate ./default.nix rather than the default]' \ - $__nix_boilerplate_opts \ - - '(main_options)' \ - $_1st_arguments - -# Handle the --set-flag option -case $state in - flag_name) - local -a _set_flag_attrs=( - 'priority:Resolve package name conflicts' - 'keep:Prevent package from being upgraded' - 'active:Package is symlinked to profile' - ) - _describe -t commands "Package flag" _set_flag_attrs - break - ;; - flag_value) - local flag_name=$words[$(($CURRENT - 1))] - case $flag_name in - priority) - _message "Number, lower priority values denote a higher priority" - break - ;; - keep) - _values "TF" true false - break - ;; - active) - _values "TF" true false - break - ;; - esac - ;; -esac diff --git a/result/sw/share/zsh/site-functions/_nix-hash b/result/sw/share/zsh/site-functions/_nix-hash deleted file mode 100644 index cf81fccd..00000000 --- a/result/sw/share/zsh/site-functions/_nix-hash +++ /dev/null @@ -1,16 +0,0 @@ -#compdef nix-hash -#autoload - -_nix-common-options - -local -a ig -ig=( '--to-base16' '--to-base32' ) - -_arguments \ - '(- *)--to-base16[Convert a base 32 hash to hexadecimal]:Hash:( )' \ - '(- *)--to-base32[Convert a hexadecimal hash to base 32]:Hash:( )' \ - "($ig)--flat[Print hash of regular files rather than their NAR dump]" \ - "($ig)--base32[Print hash in base 32 rather than hexadecimal]" \ - "($ig)--truncate[Truncate hashes to 160 bits]" \ - "($ig)--type[Hash algorithm to use]:hashAlgo:(md5 sha1 sha256 sha512)" \ - "($ig)*:Store Paths:_files" && return 0 diff --git a/result/sw/share/zsh/site-functions/_nix-install-package b/result/sw/share/zsh/site-functions/_nix-install-package deleted file mode 100644 index 6d53a016..00000000 --- a/result/sw/share/zsh/site-functions/_nix-install-package +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nix-install-package -#autoload - -_nix-common-options - -_arguments \ - '--non-interactive[Do not open a terminal window and do not ask for confirmation]' \ - '(--profile -p)'{--profile,-p}'[Profile to install the package into]:Profile:_nix_profiles' \ - '--set[Install the package as the profile so that the profile contains nothing else]' \ - '(1)--url[URL to download the package file from]:URL:_urls' \ - '(--url)1:Package File:_files -g \*.nixpkg' diff --git a/result/sw/share/zsh/site-functions/_nix-instantiate b/result/sw/share/zsh/site-functions/_nix-instantiate deleted file mode 100644 index b79cc47e..00000000 --- a/result/sw/share/zsh/site-functions/_nix-instantiate +++ /dev/null @@ -1,23 +0,0 @@ -#compdef nix-instantiate -#autoload - -_nix-common-options - -# --no-location: undocumented arg -# --repair: undocumented arg -_arguments \ - - regular \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_common_store_opts \ - $__nix_expr_opts \ - '*'{--attr,-A}'[build a .drv from file (default: ./default.nix)]:package:_nix_complete_attr_paths' \ - '--xml[Print output from --eval as XML]'\ - '--json[Print output from --eval as JSON]'\ - '--parse[Just parse the input files and print their abstract syntax trees]'\ - '--eval[Just parse and evaluate the input files, and print the resulting values]'\ - '--strict[Cause --eval to recursively evaluate list elements and attributes]'\ - '--read-write-mode[Perform evaluation in read/write mode]'\ - '*:File to instantiate (default\: ./default.nix):_nix_path' \ - - find-file \ - "--find-file[Look up the given files on Nix's search path]:*:Lookup file using <...> logic:"\ diff --git a/result/sw/share/zsh/site-functions/_nix-prefetch-url b/result/sw/share/zsh/site-functions/_nix-prefetch-url deleted file mode 100644 index ed39e3f8..00000000 --- a/result/sw/share/zsh/site-functions/_nix-prefetch-url +++ /dev/null @@ -1,24 +0,0 @@ -#compdef nix-prefetch-url -#autoload - -_nix-common-options - -_resource() { - local -a others=( - 'https\://:HTTPS URL' - 'http\://:HTTP URL' - 'mirror\://:Mirror defined in nixpkgs') - _alternative \ - 'url:Other: _describe "URLS and special options" others' \ - 'path:Local path (adds file url prefix):_path_files -P "file://"' -} - -_arguments \ - $__nix_search_path_args \ - '--unpack[Unpack tarball/zip first]'\ - '--print-path[Print the resulting store path]'\ - '--type[Use the specified hash algorithm]:Hash Algorithm:(md5 sha1 sha256 sha512)'\ - '--name[Override the resulting nix store filename]:nix store filename:'\ - '*'{--attr,-A}'[Fetch the src of derivation (eg. mpv.src)]:src (eg. mpv.src): _nix_complete_attr_paths'\ - '1:URL or a local nix file:_resource'\ - '2::Hash:( )' diff --git a/result/sw/share/zsh/site-functions/_nix-push b/result/sw/share/zsh/site-functions/_nix-push deleted file mode 100644 index 9e050eb8..00000000 --- a/result/sw/share/zsh/site-functions/_nix-push +++ /dev/null @@ -1,15 +0,0 @@ -#compdef nix-push -#autoload - -_nix-common-options - -_arguments \ - '--dest[Set the destination directory]:Destination directory:_path_files -/'\ - '(--none)--bzip2[Compress NARs using bzip2 instead of xz -9]'\ - '(--bzip2)--none[Do not compress NARs]'\ - '--force[Overwrite .narinfo files if they already exist]'\ - '--link[Hard link files into the destination directory rather than copying]'\ - '(--manifest-path)--manifest[Force the generation of a manifest suitable for use by nix-pull]'\ - '(--manifest)--manifest-path[Like --manifest, but specify the manifest filename]:Manifest filename:_files'\ - '--url-prefix[Specify the prefix URL used in the Manifest]:Prefix URL:_urls'\ - '*:Derivation Paths:_files' diff --git a/result/sw/share/zsh/site-functions/_nix-shell b/result/sw/share/zsh/site-functions/_nix-shell deleted file mode 100644 index ab16ae90..00000000 --- a/result/sw/share/zsh/site-functions/_nix-shell +++ /dev/null @@ -1,36 +0,0 @@ -#compdef nix-shell -#autoload - -_nix-common-options - -local -a _nix_shell_opts=( - '--command[Run a command instead of starting an interactive shell]:Command:_command_names' - '--exclude[Do not build any dependencies which match this regex]:Regex:( )' - '--pure[Clear the environment before starting the interactive shell]' - '--run[Run a command in a non-interactive shell instead of starting an interactive shell]:Command:_command_names' - '*'{--attr,-A}"[setup a build shell for package]:package:_nix_complete_attr_paths" -) - -local norm_arguments='*:Paths:_nix_path' -local word -for word in $words; do - case "$word" in - --packages|-[^-]#p[^-]#) - norm_arguments='*:Packages: _nix_attr_paths "import <nixpkgs>"' - break - ;; - --expr|-[^-]#E[^-]#) - norm_arguments='*:Expression:' - ;; - esac -done - -_arguments \ - $__nix_boilerplate_opts \ - $__nix_common_opts \ - $__nix_dry_run \ - $_nix_shell_opts \ - $norm_arguments \ - - '(group)' \ - $__nix_expr_opts \ - {--packages,-p}'[run with packages from <nixpkgs> (override usinge -I)]' diff --git a/result/sw/share/zsh/site-functions/_nix-store b/result/sw/share/zsh/site-functions/_nix-store deleted file mode 100644 index 149942e0..00000000 --- a/result/sw/share/zsh/site-functions/_nix-store +++ /dev/null @@ -1,144 +0,0 @@ -#compdef nix-store -#autoload - - -local context state state_descr line -typeset -A opt_args - -setopt extendedglob - -_nix-common-options - -local -a cmd_arguments=( - $__nix_boilerplate_opts - {--realise,-r}'[Build the specified store paths]' - '--serve[provide access to the nix store over stdin/stdout]' - '--gc[Perform garbage collection on the Nix store]' - '--delete[Delete store paths from the Nix store if it is safe to do so]' - {--query,-q}'[Display information about store paths]' - '--add[Add paths to the Nix store]' - '--verify[Verify the consistency of the Nix database and store]' - '--verify-path[Compare the contents of each store path to the hashes stored in the database]' - '--repair-path[Attempt to repair the specified paths by redownloading them]' - '--dump[Produce a NAR file containing the contents of the given path]' - '--restore[Unpack a NAR archive, read from stdin, to the given path]' - '--export[Serialize the specified store paths to stdout in a format which can be imported]' - '--import[Read searialized store paths from stdin and add them to the Nix store]' - '--optimise[Find identical files in the Nix store and hardlink them together to reduce disk usage]' - {--read-log,-l}'[Print the build log of the specified store paths]' - '--dump-db[Dump Nix database to stdout]' - '--load-db[Read a dump of the Nix database]' - '--print-env[Print the environment of a derivation as shell code]' - '--query-failed-paths[Print out store paths which failed to build]' - '--clear-failed-paths[Clear the "failed" state of the given store path]' - '--generate-binary-cache-key[generate an Ed25519 key pair to sign build outputs]:key-name::secret-key-file:_files:public-key-file:_files' -) - -# Common nix-store options -local -a common_opts=( - '*:Store Paths:_files' - $__nix_repair - $__nix_common_store_opts - $__nix_common_nixos_rebuild - $__nix_extra_build_opts -) - -local -a command_options -local opt -for opt in $words; do -case "$opt" in - --realise|-[^-]#r[^-]#) - command_options=( - $common_opts - $__nix_store_realise_opts - ) - break - ;; - --serve) - command_options=( - $common_opts - '--write[allow writing to the nix store]' - ) - break - ;; - --gc) - command_options=( - $common_opts - $__nix_gc_common - '--max-freed[stop the gc after freeing n bytes]:bytes:' - ) - break - ;; - --delete) - command_options=( - $common_opts - '--ignore-liveness[Ignore reachability from roots]' - ) - break - ;; - --query|-[^-]#q[^-]#) - command_options+=( - '(--use-output -u)'{--use-output,-u}'[Apply the query to the output path of any store derivations]' - '(--force-realise -f)'{--force-realise,-f}'[Realise each argument to the query first]' - ) - - local subopt - for subopt in $words; do - case "$subopt" in - --requisites|-R) - command_options+=( - $common_opts - '--include-outputs[Also include the output paths of store derivations]' - ) - break - ;; - --outputs|--references|--referrers|--referrers-closure|--deriver|-d|--graph|--tree|--binding|-b|--hash|--size|--roots) - command_options+=($common_opts) - break - ;; - esac - done - - command_options+=( - + '(query_subcmds)' - '--outputs[Print the output paths of the given store derivations]' - {--requisites,-R}'[Print the closure of the given store paths]' - '--references[Print immediate dependencies of the given store paths]' - '--referrers[Print store paths which refer to these paths]' - '--referrers-closure[Print the closure under the referrers relation]' - '--deriver[Print the deriver of the store paths]' - '--graph[Print the references graph of the store paths in Graphviz format]' - '--tree[Print the references graph of the store paths as an ASCII tree]' - {--binding,-b}'[Print the value of an attribute of the store derivations]:name:' - '--hash[Print the SHA-256 hash of the contents of the store paths]' - '--size[Print the size in bytes of the contents of the store paths]' - '--roots[Print the garbage collector roots that point to the store paths]' - ) - break - ;; - --verify) - command_options=( - $common_opts - '--check-contents[Compute and validate the SHA-256 hash of each store item]' - ) - break - ;; - --add|--verify-path|--repair-path|--dump|--restore|--export|--read-log|-l|--print-env) - command_options=($common_opts) - break - ;; - --dump-db|--load-db|--query-failed-paths|--optimise) - # nothing to complete - return - ;; - --[^-]*|-[^-]#) - # Complete common options if the user has started writing something else - command_options=($common_opts) - ;; -esac -done - -_arguments -s \ - $command_options \ - + '(main_options)' \ - $cmd_arguments && return 0 diff --git a/result/sw/share/zsh/site-functions/_nixops b/result/sw/share/zsh/site-functions/_nixops deleted file mode 100644 index 7c056257..00000000 --- a/result/sw/share/zsh/site-functions/_nixops +++ /dev/null @@ -1,204 +0,0 @@ -#compdef nixops -#autoload - -_nix-common-options - -# List of valid commands -local -a _1st_arguments -_1st_arguments=( - "list:list all known deployments"\ - "create:create a new deployment"\ - "modify:modify an existing deployment"\ - "clone:clone an existing deployment"\ - "delete:delete a deployment"\ - "info:show the state of the deployment"\ - "check:check the state of the machines in the network"\ - "set-args:persistently set arguments to the deployment specification"\ - "deploy:deploy the network configuration"\ - "send-keys:send encryption keys"\ - "destroy:destroy all resources in the specified deployment"\ - "stop:stop all virtual machines in the network"\ - "start:start all virtual machines in the network"\ - "reboot:reboot all virtual machines in the network"\ - "show-physical:print the physical network expression"\ - "ssh:login on the specified machine via SSH"\ - "ssh-for-each:execute a command on each machine via SSH"\ - "scp:copy files to or from the specified machine via scp"\ - "rename:rename machine in network"\ - "backup:make snapshots of persistent disks in network (EC2-only)"\ - "backup-status:get status of backups"\ - "remove-backup:remove a given backup"\ - "clean-backups:remove old backups"\ - "restore:restore machines based on snapshots of persistent disks in network (EC2-only)"\ - "show-option:print the value of a configuration option"\ - "list-generations:list previous configurations to which you can roll back"\ - "rollback:roll back to a previous configuration"\ - "delete-generation:remove a previous configuration"\ - "show-console-output:print the machines console output on stdout"\ - "dump-nix-paths:dump Nix paths referenced in deployments"\ - "export:export the state of a deployment"\ - "import:import deployments into the state file"\ - "edit:open the deployment specification in \$EDITOR"\ - ) - -# Options valid for every command -local -a _nixops_common_arguments -_nixops_common_arguments=( - '(--state -s)'{--state,-s}'[Path to state file that contains the deployments]:Statefile:_files -g \*.nixops'\ - '(--deployment -d)'{--deployment,-d}'[UUID or symbolic name of deployment on which to operate]'\ - '--confirm[Automatically confirm "dangerous" actions]'\ - '--debug[Turn on debugging output]'\ -) - -local -a _nixops_include_exclude -_nixops_include_exclude=( - '--include[Only operate on the specified machines]:Machine Names:_hosts' \ - '--exclude[Do not operate on the specified machines]:Machine Names:_hosts' \ -) - -local -a _nixops_search_path_args -_nixops_search_path_args=( - '-I[Add path to the Nix expression search path for all future evaluations]:Path:_nix_complete_includes' \ -) - -_arguments \ - $__nix_boilerplate_opts \ - '*:: :->subcmds' && return 0 - -if (( CURRENT==1 )); then - _describe -t commands "nixos-container subcommands" _1st_arguments - return -fi - -case "$words[1]" in - create) - _arguments \ - $_nixops_common_arguments\ - $_nixops_search_path_args \ - '*:Nix Expressions:_nix_complete_dotnix_files' - ;; - modify) - _arguments \ - $_nixops_common_arguments\ - $_nixops_search_path_args \ - '(--name -n)'{--name,-n}'[Change the symbolic name]:New Name:( )'\ - ;; - clone) - _arguments \ - $_nixops_common_arguments\ - '(--name -n)'{--name,-n}'[Symbolic name for the new deployment]'\ - ;; - delete) - _arguments \ - $_nixops_common_arguments\ - '--all[Delete all deployments in the state file]'\ - '--force[]' - ;; - deploy) - _arguments \ - $_nixops_common_arguments\ - '(--kill-obsolete -k)'{--kill-obsolete,-k}'[Destroy machines no longer listed in the deployment specification]'\ - $__nix_dry_run \ - $__nix_repair \ - '--create-only[Create missing machines only: build nothing and do not touch existing machines]'\ - '--build-only[Build the configuration without creating or deploying machines]'\ - '--copy-only[Do everything except activate the new configuration]'\ - '--check[Check that deployed machines are correctly configured]'\ - '--allow-reboot[Allow NixOps to reboot the instance if necessary]'\ - '--force-reboot[Reboot the machine to activate the new configuration]'\ - '--allow-recreate[Recreate resources that have disappeared]'\ - $_nixops_include_exclude \ - $_nixops_search_path_args \ - '--max-concurrent-copy[Set the maximum concurrent nix-copy-closure processes (Default 5)]:Number:( )' - ;; - destroy) - _arguments \ - $_nixops_common_arguments\ - '--all[Destroy all deployments]'\ - $_nixops_include_exclude \ - ;; - stop) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - start) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - info) - _arguments \ - $_nixops_common_arguments\ - '--all[Print information about all resources in all known deployments]'\ - '--plain[Print in a more easily parsed format]'\ - '--no-eval[Do not evaluate the deployment specification]' - ;; - check) - _arguments \ - $_nixops_common_arguments\ - '--all[Check all machines in all known deployments]' - ;; - ssh) - _arguments \ - $_nixops_common_arguments\ - '--include-keys[]' - ;; - ssh-for-each) - _arguments \ - $_nixops_common_arguments\ - '(--parallel -p)'{--parallel,-p}'[Execute the command on each machine in parallel]'\ - $_nixops_include_exclude \ - ;; - reboot) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - '--no-wait[Do not wait until the machines have finished rebooting]' - ;; - backup) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - ;; - restore) - _arguments \ - $_nixops_common_arguments\ - $_nixops_include_exclude \ - '--devices[Restore only the persistent disks which are mapped to the specified device names]:Device names:( )'\ - '--backup-id[Restore the persistent disks of all machines to a given backup except the ones listed here.]:Backup ids:( )' - ;; - show-option) - _arguments \ - $_nixops_common_arguments\ - '--xml[Format output as XML]'\ - '1:machine:_hosts'\ - '2:option:( )' - ;; - set-args) - _arguments \ - $_nixops_common_arguments\ - '--arg[Set the function argument]:Name:( ):Value:( )'\ - '--argstr[Like --arg but the value is a string]:Name:( ):Value:( )'\ - '--unset[Remove a previously set function argument]:Name:( )' - ;; - show-console-output) - _arguments \ - $_nixops_common_arguments\ - '1:machine:_hosts' - ;; - export) - _arguments \ - $_nixops_common_arguments\ - '--all[Apply to all deployments]' - ;; - import) - _arguments \ - $_nixops_common_arguments\ - '--include-keys[]' - ;; - *) - _arguments \ - $_nixops_common_arguments\ - ;; -esac diff --git a/result/sw/share/zsh/site-functions/_nixos-build-vms b/result/sw/share/zsh/site-functions/_nixos-build-vms deleted file mode 100644 index d1046aae..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-build-vms +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nixos-build-vms -#autoload - -_nix-common-options - -_arguments \ - $__nix_common_nixos_build_vms \ - '--show-trace[Show a trace of the output]'\ - "--no-out-link[Do not create a 'result' symlink]"\ - "--help[Show help]"\ - '1:Network Nix Expression:_nix_complete_dotnix_files' diff --git a/result/sw/share/zsh/site-functions/_nixos-container b/result/sw/share/zsh/site-functions/_nixos-container deleted file mode 100644 index 93ebca9c..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-container +++ /dev/null @@ -1,70 +0,0 @@ -#compdef nixos-container -#autoload - -_nix-common-options - -_containers () { - containers=($(nixos-container list)) - _wanted containers expl 'containers' compadd -a containers -} - -local -a _1st_arguments -_1st_arguments=( - 'list:Show list of containers'\ - 'create:Create a container'\ - 'destroy:Destroy a container'\ - 'start:Start a container'\ - 'stop:Stop a container'\ - 'status:Get status of a container'\ - 'update:Update container'\ - 'login:Login to a container'\ - 'root-login:Login to a container as root (no password needed)'\ - 'run:Run a container'\ - 'show-ip:Display the IP of a container'\ - 'show-host-key:Display the host key of a container' - ) - -_arguments \ - '(- 1 *)--help[Display help]'\ - '*:: :->subcmds' && return 0 - -if (( CURRENT==1 )); then - _describe -t commands "nixos-container subcommands" _1st_arguments - return -fi - -local _container_name='1:Container Name:_containers'; -local _container_config='--config[Config]:Config:( )'; -local _container_file='--config-file[Path to the container config file]:Path:_files'; - -case "$words[1]" in - create) - _arguments\ - $_container_name\ - $_container_config\ - $_container_file\ - '--system-path[System path]:Path:_files'\ - '--ensure-unique-name[Avoid name conflicts with other containers]'\ - '--auto-start[Start the container immediately]'\ - '--nixos-path[Path to <nixpkgs/nixos>]:Path:_files'\ - '--host-address[Host IP of the veth interface]:host address:'\ - '--local-address[IPv4 address assined to the interface in the container]:local address:'\ - '--bridge[Put the host-side of the veth-pair into the named bridge]:Bridge interface'\ - '--port[Port forwarding]:port forwarding' - ;; - run) - # TODO: There are a few more arguments in this case - _arguments\ - $_container_name\ - ;; - update) - _arguments\ - $_container_name\ - $_container_config\ - $_container_file - ;; - destroy|start|stop|status|login|root-login|show-ip|show-host-key) - _arguments\ - $_container_name - ;; -esac diff --git a/result/sw/share/zsh/site-functions/_nixos-generate-config b/result/sw/share/zsh/site-functions/_nixos-generate-config deleted file mode 100644 index b8299857..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-generate-config +++ /dev/null @@ -1,11 +0,0 @@ -#compdef nixos-generate-config -#autoload - -_nix-common-options - -_arguments \ - '--force[Overwrite /etc/nixos/configuration.nix if it exists]:'\ - '--root[Directory to treat as root of filesystem]:Root directory:_path_files -/'\ - '--dir[Directory to write configuration files to (Default /etc/nixos)]:Output directory:_path_files -/'\ - '--no-filesystems[Omit file system information from hardware configuration]'\ - '--show-hardware-config[Print hardware configuration to stdout without writing anything to disk]' diff --git a/result/sw/share/zsh/site-functions/_nixos-install b/result/sw/share/zsh/site-functions/_nixos-install deleted file mode 100644 index cca5b389..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-install +++ /dev/null @@ -1,10 +0,0 @@ -#compdef nixos-install -#autoload - -_nix-common-options - -_arguments \ - $__nix_search_path_args \ - '--root[Treat the given directory as the root of the NixOS installation]:Installation Root:_path_files -/'\ - '--show-trace[Print a stack trace in case of evaluation errors]'\ - '--chroot[Chroot into given installation]' diff --git a/result/sw/share/zsh/site-functions/_nixos-option b/result/sw/share/zsh/site-functions/_nixos-option deleted file mode 100644 index 0b44ca4e..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-option +++ /dev/null @@ -1,23 +0,0 @@ -#compdef nixos-option -#autoload -_nix-common-options # import _nix_attr_paths etc. - -_nixos-option-opts() { - local mods= - if [[ -n "$NIX_PATH" && "$NIX_PATH" =~ "nixos-config=" ]]; then - mods="(import <nixos-config>)" - fi - local options=' - with import <nixpkgs/lib>; - (evalModules { - modules = import <nixpkgs/nixos/modules/module-list.nix> ++ [ '"$mods"' ]; - }).config - ' - - _nix_attr_paths $options -} - -_arguments \ - $__nix_search_path_args \ - '--all[Print the values of all options.]' \ - ':NixOS module options:_nixos-option-opts' diff --git a/result/sw/share/zsh/site-functions/_nixos-rebuild b/result/sw/share/zsh/site-functions/_nixos-rebuild deleted file mode 100644 index 3586f24d..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-rebuild +++ /dev/null @@ -1,32 +0,0 @@ -#compdef nixos-rebuild -#autoload - -_nix-common-options - -local -a _1st_arguments -_1st_arguments=( - 'switch:Build, activate, and update boot default' - 'boot:Build and update boot default without activating' - 'test:Build and activate without updating boot default' - 'build:Build without activating or updating boot default' - 'dry-build:Show what store paths would be built or downloaded without building' - 'dry-activate:Build and show what changes would be performed by the activation' - 'build-vm:Create a script which starts a VM with the built configuration' - 'build-vm-with-bootloader:Like build-vm, but boot using regular boot loader' -) - -_arguments \ - $__nix_common_nixos_rebuild \ - '--upgrade[Fetch the latest version of NixOS from the NixOS channel]'\ - '--install-bootloader[(Re)install bootloader on the configured device]'\ - "--no-build-nix[Don't build Nix package manager]"\ - '--fast[Equivalent to --no-build-nix --show-trace]'\ - '--rollback[Roll back to the previous configuration]'\ - '(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\ - '1:: :->subcmds' && return 0 - -case $state in - subcmds) - _describe -t commands "nixos-rebuild subcommands" _1st_arguments - ;; -esac diff --git a/result/sw/share/zsh/site-functions/_nixos-version b/result/sw/share/zsh/site-functions/_nixos-version deleted file mode 100644 index a193606b..00000000 --- a/result/sw/share/zsh/site-functions/_nixos-version +++ /dev/null @@ -1,9 +0,0 @@ -#compdef nixos-version -#autoload - -_nix-common-options - -_arguments \ - '(- *)'{--hash,--revision}'[Show the full SHA1 hash of the Git commit from which this configuration was built.]'\ - '--configuration-revision[Show the configuration revision if available.]'\ - '--json[Print a JSON representation of the versions of NixOS and the top-level configuration flake.]' diff --git a/result/sw/share/zsh/site-functions/run-help-nix b/result/sw/share/zsh/site-functions/run-help-nix deleted file mode 100644 index f91a304e..00000000 --- a/result/sw/share/zsh/site-functions/run-help-nix +++ /dev/null @@ -1,42 +0,0 @@ -emulate -L zsh - -# run-help is a zsh widget that can be bound to a key. It mainly looks up the -# man page for the currently typed in command. -# -# Although run-help works for any command without requiring special support, -# it can only deduce the right man page based solely on the name of the -# command. Programs like Nix provide better integration with run-help by -# helping zsh identify Nix subcommands and their corresponding man pages. This -# is what this function does. -# -# To actually use run-help on zsh, place the following lines in your .zshrc: -# -# (( $+aliases[run-help] )) && unalias run-help -# autoload -Uz run-help run-help-nix -# -# Then also assign run-help to any key of choice: -# -# bindkey '^[h' run-help - -while [[ "$#" != 0 && "$1" == -* ]]; do - shift -done - -local -a subcommands; subcommands=( nix3 ) - -local arg -for arg in "$@"; do - if man -w "${(j:-:)subcommands}-$arg" >/dev/null 2>&1; then - subcommands+="$arg" - else - break - fi -done - -if (( $#subcommands > 1 )); then - man "${(j:-:)subcommands}" -else - man nix -fi - -return $? diff --git a/result/system b/result/system deleted file mode 100644 index 793fafc3..00000000 --- a/result/system +++ /dev/null @@ -1 +0,0 @@ -aarch64-darwin \ No newline at end of file diff --git a/result/systemConfig b/result/systemConfig deleted file mode 100644 index f5ceb11d..00000000 --- a/result/systemConfig +++ /dev/null @@ -1 +0,0 @@ -/nix/store/92wji49qsmgmdv1p8sbs6c4i7fz9ibqp-darwin-system-25.11.0d71cbf \ No newline at end of file diff --git a/result/user/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist b/result/user/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist deleted file mode 100644 index e57fbc3a..00000000 --- a/result/user/Library/LaunchAgents/com.bdsqqq.karabiner-build.plist +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Label</key> - <string>com.bdsqqq.karabiner-build</string> - <key>ProgramArguments</key> - <array> - <string>/bin/sh</string> - <string>-c</string> - <string>/bin/wait4path /nix/store && exec /nix/store/q0chpcz4qfwja47i4wv6hqh5dz79kjwy-karabiner-build-start</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>StandardErrorPath</key> - <string>/tmp/karabiner-build.log</string> - <key>StandardOutPath</key> - <string>/tmp/karabiner-build.log</string> -</dict> -</plist> \ No newline at end of file diff --git a/scripts b/scripts deleted file mode 160000 index 8eb52f71..00000000 --- a/scripts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8eb52f71c7aaa110e1f53045ace4ee028c14b40f diff --git a/scripts/download-media.sh b/scripts/download-media.sh new file mode 100755 index 00000000..cfdb32d8 --- /dev/null +++ b/scripts/download-media.sh @@ -0,0 +1,195 @@ +#!/bin/bash -l + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title download media +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon ↴ +# @raycast.packageName media_utils +# @raycast.argument1 { "type": "text", "placeholder": "URL" } +# @raycast.argument2 { "type": "text", "placeholder": "output dir", "optional": true } +# @raycast.argument3 { "type": "dropdown", "placeholder": "options", "optional": true, "data": [{"title": "normal", "value": ""}, {"title": "dry run", "value": "-n"}, {"title": "verbose", "value": "-v"}] } + +# Documentation: +# @raycast.description Download media from most sites with just a URL +# @raycast.author bdsqqq +# @raycast.authorURL https://raycast.com/bdsqqq + +set -euo pipefail + +usage() { + cat <<EOF +download-media — grab video/images from most sites + +usage: download-media [options] <url> + +options: + -d, --dir DIR output directory (default: ~/commonplace/00_inputs) + -n, --dry-run show what would be downloaded without downloading + -v, --verbose show progress and fallback attempts + -h, --help show this help + +examples: + download-media https://youtube.com/watch?v=dQw4w9WgXcQ + download-media -d ~/Downloads https://twitter.com/user/status/123 + download-media --dry-run https://instagram.com/p/abc123 + +cookies are read from sops-nix at /run/user/\$UID/secrets/cookies if available. +falls back to yt-dlp → gallery-dl in sequence. +EOF +} + +# defaults +TODAY=$(date +%Y-%m-%d) +INBOX_DIR="$HOME/commonplace/00_inputs" +DRY_RUN=false +VERBOSE=false +URL="" + +log() { [[ "$VERBOSE" = true ]] && echo "$@" >&2 || true; } + +sanitize_filename() { + local input="$1" + local dir ext base clean + dir=$(dirname "$input") + ext="${input##*.}" + base=$(basename "$input" ".$ext") + # transliterate diacritics + if ! clean=$(printf '%s' "$base" | iconv -f UTF-8 -t ASCII//TRANSLIT 2>/dev/null); then + clean="$base" + fi + # lowercase, keep only [a-z0-9 ._-], collapse spaces, trim + clean=$(printf '%s' "$clean" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9 ._-]//g' | sed 's/ */ /g' | sed 's/^ *//;s/ *$//') + printf '%s/%s.%s\n' "$dir" "$clean" "$ext" +} + +# sops-nix decrypts secrets to /run/secrets on darwin +COOKIES_FILE="/run/secrets/cookies" + +# collect positional args separately +positional=() + +while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + -d|--dir) + INBOX_DIR="$2" + shift 2 + ;; + -n|--dry-run) + DRY_RUN=true + shift + ;; + -v|--verbose) + VERBOSE=true + shift + ;; + -*) + echo "unknown option: $1" >&2 + usage >&2 + exit 1 + ;; + *) + positional+=("$1") + shift + ;; + esac +done + +# positional args: URL required, output dir optional (for raycast arg2) +[[ ${#positional[@]} -ge 1 ]] && URL="${positional[0]}" +[[ ${#positional[@]} -ge 2 ]] && INBOX_DIR="${positional[1]}" + +if [ -z "$URL" ]; then + echo "error: no url provided" >&2 + usage >&2 + exit 1 +fi + +mkdir -p "$INBOX_DIR" + +# yt-dlp tries to write to cookies file, so copy to temp +cookie_args=() +if [ -f "$COOKIES_FILE" ]; then + TEMP_COOKIES=$(mktemp) + cp "$COOKIES_FILE" "$TEMP_COOKIES" + trap 'rm -f "$TEMP_COOKIES"' EXIT + cookie_args=(--cookies "$TEMP_COOKIES") + log "using cookies: $COOKIES_FILE (copied to temp)" +fi + +dry_run_args=() +if [ "$DRY_RUN" = true ]; then + dry_run_args=(--simulate --print filename) + log "dry run mode" +fi + +OUTPUT_TEMPLATE="${INBOX_DIR}/${TODAY} at %(upload_date>%Y-%m-%d|unknown)s from %(uploader,channel|unknown)s - %(title).280s %(id)s.%(ext)s" + +log "trying yt-dlp..." +# get filename first, then sanitize before download +if RAW_NAME=$(yt-dlp --print filename --output "$OUTPUT_TEMPLATE" ${cookie_args[@]+"${cookie_args[@]}"} -- "$URL" 2>/dev/null) && [[ -n "$RAW_NAME" ]]; then + CLEAN_NAME=$(sanitize_filename "$RAW_NAME") + if OUTPUT=$(yt-dlp \ + --format "bestvideo+bestaudio/best" \ + --write-subs \ + --sub-langs "en,pt" \ + --embed-subs \ + --sleep-requests 1 \ + --embed-thumbnail \ + --embed-metadata \ + --add-metadata \ + --remux-video "mkv" \ + --ignore-errors \ + --print after_move:filepath \ + ${cookie_args[@]+"${cookie_args[@]}"} \ + ${dry_run_args[@]+"${dry_run_args[@]}"} \ + --output "$CLEAN_NAME" \ + -- "$URL") && [[ -n "$OUTPUT" ]]; then + echo "$OUTPUT" + exit 0 + fi +fi + +log "yt-dlp failed, trying gallery-dl..." + +GALLERY_TEMPLATE="${TODAY} at {date:%Y-%m-%d} from {author[name]} - {content:.280} {filename}.{extension}" + +gallery_dry_run_args=() +if [ "$DRY_RUN" = true ]; then + gallery_dry_run_args=(--simulate) +fi + +if OUTPUT=$(gallery-dl \ + --directory "$INBOX_DIR" \ + --filename "$GALLERY_TEMPLATE" \ + --print "{_path}" \ + ${cookie_args[@]+"${cookie_args[@]}"} \ + ${gallery_dry_run_args[@]+"${gallery_dry_run_args[@]}"} \ + -- "$URL" 2>/dev/null) && [[ -n "$OUTPUT" ]]; then + # sanitize each output file (gallery-dl can return multiple) + while IFS= read -r file; do + [[ -z "$file" || "$file" == "None" ]] && continue + if [[ -f "$file" ]]; then + clean=$(sanitize_filename "$file") + if [[ "$file" != "$clean" ]]; then + mv "$file" "$clean" 2>/dev/null && file="$clean" + fi + fi + echo "$file" + done <<< "$OUTPUT" + exit 0 +fi + +if [ ! -f "$COOKIES_FILE" ]; then + echo "error: download failed" >&2 + echo "tip: cookies expected at $COOKIES_FILE" >&2 +else + echo "error: download failed (cookies present)" >&2 +fi +exit 1 diff --git a/scripts/syncthing-automerge.py b/scripts/syncthing-automerge.py new file mode 100644 index 00000000..60a9d991 --- /dev/null +++ b/scripts/syncthing-automerge.py @@ -0,0 +1,195 @@ +# This script automatically handles Syncthing conflicts on text files by applying a +# git three-way merge between the previously synced version and each divergent version. +# https://gist.github.com/solarkraft/26fe291a3de075ae8d96e1ada928fb7d + +# It depends on the watchdog package and git. + +# For automatic dependency installation when running with ´uv run --script syncthing-automerge.py´: +# /// script +# requires-python = ">=3.10" +# dependencies = [ +# "watchdog", +# ] +# /// + +# This code is MIT Licensed: + +# Copyright 2024 solarkraft + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +import os +import time +import re +import subprocess +from watchdog.observers import Observer as FileSystemObserver +from watchdog.events import FileSystemEventHandler + + +def get_relative_path(path): + return os.path.relpath(path) + + +def merge_files(original, backup, conflict): + command = ["git", "merge-file", "--union", original, backup, conflict] + print("Performing three way merge with git command:") + print(" ".join(command)) + exitcode = subprocess.call(command, cwd=os.getcwd()) + if exitcode != 0: + raise RuntimeError("Git command failed!") + + +def merge_if_applicable(src_path): + """Perform a three way merge on and remove a given possible syncthing conflict file if: + - It is an actual conflict file (determined by naming scheme) + - The associated canonical file exists ("real" file path) + - A backup file in .stversions exists + """ + + if not os.path.isfile(src_path): + # print(src_path, "is not a file") + return + + candidate_file_path = get_relative_path(src_path) + + match = re.search( + # . is converted to %2F when a conflict file is opened in Logseq + "^(.*?)(?:\\.|%2F)sync-conflict-([0-9]{8})-([0-9]{6})-(.{7})\\.?(.*)$", + candidate_file_path, + ) + + if match is None: + # The file is not a syncthing conflict file + # print(candidate_file_path, "is not a conflict file") + return + + conflict_file_path = candidate_file_path + + print() # Make run easier to recognize + print("Conflict file found:", conflict_file_path) + + # print(x.groups()) + + conflict_file_name = match.group(1) + conflict_file_date = match.group(2) + conflict_file_time = match.group(3) + conflict_file_id = match.group(4) + conflict_file_extension = match.group(5) + # print(conflict_file_path, conflict_file_date, conflict_file_time, conflict_file_id, conflict_file_extension) + + # HACK: Give Syncthing some time to move the tmpfile (.syncthing.MyFileName) to its real location + time.sleep(0.1) + + original_file_path = conflict_file_name + "." + conflict_file_extension + if not os.path.isfile(original_file_path): + print("... but original file", original_file_path, "doesn't exist") + print("(could be a syncthing tmpfile)") + + # Here we may be too early to leave before Syncthing has moved its timpfile to the real location + # .syncthing.Testseite.md.tmp + # print("... what about the Syncthing tempfile?") + # p = list(os.path.split(original_file_path)) + # tmpfile_name = ".syncthing." + p.pop() + ".tmp" + # print("name:", tmpfile_name, "path:", p) + return + + print("For original file:", original_file_path) + + backup_file_regex_string = ( + ".stversions/" + + conflict_file_name + + r"~([0-9]{8})-([0-9]{6})\." + + conflict_file_extension + ) + backup_file_regex = re.compile(backup_file_regex_string) + + backup_files = [] + + for dirpath, subdirs, files in os.walk(os.getcwd() + "/.stversions/"): + for file in files: + candidate_path = str(os.path.join(get_relative_path(dirpath), file)) + # print("Test:", candidate) + + match = backup_file_regex.match(candidate_path) + if match: + backup_file_date = match.group(1) + backup_file_time = match.group(2) + # print("Matched:", candidate_path, backup_file_date, backup_file_time) + backup_files.append(candidate_path) + + if len(backup_files) == 0: + print( + f"No backup file candidates were found by pattern {backup_file_regex_string}. There isn't enough data for a three way merge." + ) + print("This may be due to custom versioning settings - try simple versioning.") + + # (TODO): We can still merge the 2 files here. This will increase compatiblility with other versioning schemes + + return + + # print("Backup files:", backup_files) + + # We want the latest backup file, which is the first in the list (??? maybe they are sorted differently) + backup_file = backup_files[0] + print("Latest backup file:", backup_file) + + merge_files(original_file_path, backup_file, conflict_file_path) + + print("Deleting conflict file") + os.remove(os.path.join(os.getcwd(), conflict_file_path)) + + print("Deconfliction done!") + print() + + +class FileChangeHandler(FileSystemEventHandler): + # To support manually "touch"ing a file to get the script to handle it + @staticmethod + def on_modified(event): + # print("A file was modified (this may have been for debugging purposes)") + merge_if_applicable(event.src_path) + + # This is how Syncthing creates the conflict files + @staticmethod + def on_moved(event): + # print("A file was moved, may have been syncthing") + # print(event) # Syncthing does some moving-around business + + merge_if_applicable(event.dest_path) + + +if __name__ == "__main__": + print("Running Syncthing deconflicter") + + # timeout=10 prevents events being lost on macOS + observer = FileSystemObserver(timeout=10) + event_handler = FileChangeHandler() + path = "." + + # From quickstart + observer.schedule(event_handler, path, recursive=True) + observer.start() + + try: + while observer.is_alive(): + observer.join(1) + finally: + observer.stop() + observer.join() + print("Stopped Syncthing deconflicter") diff --git a/scripts/yt_transcript.sh b/scripts/yt_transcript.sh new file mode 100755 index 00000000..6cd33bf9 --- /dev/null +++ b/scripts/yt_transcript.sh @@ -0,0 +1,261 @@ +#!/bin/bash -l + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title youtube transcript +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon 📝 +# @raycast.packageName media_utils +# @raycast.argument1 { "type": "text", "placeholder": "URL" } +# @raycast.argument2 { "type": "text", "placeholder": "output dir", "optional": true } +# @raycast.argument3 { "type": "dropdown", "placeholder": "options", "optional": true, "data": [{"title": "normal", "value": ""}, {"title": "dry run", "value": "-n"}, {"title": "verbose", "value": "-v"}] } + +# Documentation: +# @raycast.description Extract YouTube transcript to markdown with frontmatter +# @raycast.author bdsqqq +# @raycast.authorURL https://raycast.com/bdsqqq + +set -euo pipefail + +usage() { + cat <<EOF +yt_transcript — extract youtube transcript to markdown + +usage: yt_transcript [options] <url> + +options: + -d, --dir DIR output directory (default: ~/commonplace/00_inputs) + -n, --dry-run show what would be created without creating + -v, --verbose show debug output + -h, --help show this help + +examples: + yt_transcript https://youtube.com/watch?v=dQw4w9WgXcQ + yt_transcript -d ~/Downloads https://youtube.com/watch?v=dQw4w9WgXcQ + yt_transcript --dry-run https://youtube.com/watch?v=dQw4w9WgXcQ + +cookies are read from sops-nix at /run/secrets/cookies if available. +EOF +} + +# defaults +TODAY=$(date +%Y-%m-%d) +INBOX_DIR="$HOME/commonplace/00_inputs" +DRY_RUN=false +VERBOSE=false +URL="" + +# sops-nix decrypts secrets to /run/secrets on darwin +COOKIES_FILE="/run/secrets/cookies" + +# global for cleanup +TEMP_VTT_FILE="" +TEMP_COOKIES="" + +log() { [[ "$VERBOSE" = true ]] && echo "$@" >&2 || true; } + +cleanup() { + [[ -n "$TEMP_VTT_FILE" && -f "$TEMP_VTT_FILE" ]] && rm -f "$TEMP_VTT_FILE" + [[ -n "$TEMP_COOKIES" && -f "$TEMP_COOKIES" ]] && rm -f "$TEMP_COOKIES" +} +trap cleanup EXIT + +sanitize_filename() { + local input="$1" + local dir ext base clean + dir=$(dirname "$input") + ext="${input##*.}" + base=$(basename "$input" ".$ext") + # transliterate diacritics + if ! clean=$(printf '%s' "$base" | iconv -f UTF-8 -t ASCII//TRANSLIT 2>/dev/null); then + clean="$base" + fi + # lowercase, keep only [a-z0-9 ._-], collapse spaces, trim + clean=$(printf '%s' "$clean" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9 ._-]//g' | sed 's/ */ /g' | sed 's/^ *//;s/ *$//') + printf '%s/%s.%s\n' "$dir" "$clean" "$ext" +} + +# collect positional args separately +positional=() + +while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + -d|--dir) + INBOX_DIR="$2" + shift 2 + ;; + -n|--dry-run) + DRY_RUN=true + shift + ;; + -v|--verbose) + VERBOSE=true + shift + ;; + -*) + echo "unknown option: $1" >&2 + usage >&2 + exit 1 + ;; + *) + positional+=("$1") + shift + ;; + esac +done + +# positional args: URL required, output dir optional (for raycast arg2) +[[ ${#positional[@]} -ge 1 ]] && URL="${positional[0]}" +[[ ${#positional[@]} -ge 2 ]] && INBOX_DIR="${positional[1]}" + +if [[ -z "$URL" ]]; then + echo "error: no url provided" >&2 + usage >&2 + exit 1 +fi + +# check for yt-dlp +if ! command -v yt-dlp &>/dev/null; then + echo "error: yt-dlp not installed" >&2 + exit 1 +fi + +mkdir -p "$INBOX_DIR" + +# setup cookies +cookie_args=() +if [[ -f "$COOKIES_FILE" ]]; then + TEMP_COOKIES=$(mktemp) + cp "$COOKIES_FILE" "$TEMP_COOKIES" + cookie_args=(--cookies "$TEMP_COOKIES") + log "using cookies: $COOKIES_FILE (copied to temp)" +fi + +log "fetching video info..." +log "yt-dlp path: $(command -v yt-dlp)" + +VIDEO_INFO=$(yt-dlp --print "%(title)s\n%(channel)s\n%(id)s\n%(upload_date>%Y-%m-%d|unknown)s" --skip-download ${cookie_args[@]+"${cookie_args[@]}"} "$URL" 2>&1) +YT_EXIT=$? + +log "yt-dlp info exit code: $YT_EXIT" +log "raw output:\n$VIDEO_INFO" + +if [[ $YT_EXIT -ne 0 ]]; then + echo "error: yt-dlp failed to get video info" >&2 + echo "$VIDEO_INFO" >&2 + exit 1 +fi + +# parse into array +lines=() +while IFS= read -r line || [[ -n "$line" ]]; do + lines+=("$line") +done <<< "$VIDEO_INFO" + +if [[ ${#lines[@]} -lt 4 ]]; then + echo "error: expected 4 lines (title, channel, id, upload_date), got ${#lines[@]}" >&2 + exit 1 +fi + +VIDEO_TITLE="${lines[0]}" +VIDEO_CHANNEL="${lines[1]}" +VIDEO_ID="${lines[2]}" +UPLOAD_DATE="${lines[3]}" + +log "title: $VIDEO_TITLE" +log "channel: $VIDEO_CHANNEL" +log "id: $VIDEO_ID" +log "upload_date: $UPLOAD_DATE" + +if [[ -z "$VIDEO_TITLE" || -z "$VIDEO_CHANNEL" || -z "$VIDEO_ID" ]]; then + echo "error: failed to parse video info" >&2 + exit 1 +fi + +# prepare output filename - matches download-media.sh pattern with "transcript" prefix +# pattern: ${TODAY} transcript at ${UPLOAD_DATE} from ${CHANNEL} - ${TITLE} ${ID}.md +RAW_FILENAME="${INBOX_DIR}/${TODAY} transcript at ${UPLOAD_DATE} from ${VIDEO_CHANNEL} - ${VIDEO_TITLE:0:280} ${VIDEO_ID}.md" +FINAL_OUTPUT_PATH=$(sanitize_filename "$RAW_FILENAME") + +log "output path: $FINAL_OUTPUT_PATH" + +if [[ "$DRY_RUN" = true ]]; then + echo "$FINAL_OUTPUT_PATH" + exit 0 +fi + +# download subtitles to temp location +TEMP_SUB_PATTERN="temp_yt_sub_${VIDEO_ID}" +find . -maxdepth 1 -type f -name "${TEMP_SUB_PATTERN}.*.vtt" -delete 2>/dev/null || true + +log "downloading subtitles..." + +yt_sub_args=(yt-dlp --skip-download --write-auto-subs --sub-langs "en,en-US,en-GB" --sub-format vtt -o "${TEMP_SUB_PATTERN}.%(ext)s") +[[ "$VERBOSE" = false ]] && yt_sub_args+=(--quiet) +yt_sub_args+=(${cookie_args[@]+"${cookie_args[@]}"} "$URL") + +if ! "${yt_sub_args[@]}"; then + echo "error: failed to download subtitles" >&2 + exit 1 +fi + +TEMP_VTT_FILE=$(find . -maxdepth 1 -type f -name "${TEMP_SUB_PATTERN}.*.vtt" -print -quit) + +if [[ -z "$TEMP_VTT_FILE" || ! -f "$TEMP_VTT_FILE" ]]; then + echo "error: no subtitles found for ${TEMP_SUB_PATTERN}.*.vtt" >&2 + exit 1 +fi + +log "subtitles: $TEMP_VTT_FILE" + +# prepare frontmatter +LOWERCASE_CHANNEL=$(echo "$VIDEO_CHANNEL" | tr '[:upper:]' '[:lower:]') + +{ + printf -- '---\n' + printf 'type:\n' + printf ' - "type/clipping"\n' + printf 'area:\n' + printf 'keywords:\n' + printf 'status:\n' + printf ' - "status/unprocessed"\n' + printf 'created: %s\n' "$TODAY" + printf 'published: %s\n' "$TODAY" + printf 'source: %s\n' "$URL" + printf 'author:\n' + printf ' - "%s"\n' "$LOWERCASE_CHANNEL" + printf -- '---\n\n' +} > "$FINAL_OUTPUT_PATH" + +# clean VTT and append +awk ' + BEGIN { in_header = 1; prev_line = "" } + /^$/ { if (in_header) { in_header = 0 } next } + in_header && (/^WEBVTT/ || /^Kind:/ || /^Language:/ || /^NOTE/ || /^STYLE/ || /^[0-9]+$/ || /-->/) { next } + in_header { next } + /^[0-9]+$/ { next } + /-->/ { next } + { + gsub(/<[^>]*>/, "", $0) + gsub(/^[ \t]+|[ \t]+$/, "", $0) + if ($0 != "" && $0 != prev_line) { + print $0 + prev_line = $0 + } + } +' "$TEMP_VTT_FILE" >> "$FINAL_OUTPUT_PATH" + +if [[ ! -s "$FINAL_OUTPUT_PATH" ]]; then + echo "error: output file empty" >&2 + trap - EXIT # keep temp files for debugging + exit 1 +fi + +echo "$FINAL_OUTPUT_PATH" +exit 0 diff --git a/secrets.yaml b/secrets.yaml index f48786f3..edba06da 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -1,25 +1,50 @@ -hello: ENC[AES256_GCM,data:zK2gBkaq5PJ9sNSV41iGFhL9BVPicprl00RrKPUmKEPagD0/CN9SyrEkdvu7FA==,iv:oxp8fQ7Phlb0+ft6mY80iF16YklFMOaJ+hnVNShpwiA=,tag:YUQ9FjHdwQiFAk2KdFnALw==,type:str] anthropic_api_key: ENC[AES256_GCM,data:XrYmXW1KQW0Xbn+GtOl2h2TCtd8hpBmHpqK8vqY7DJvk69+bhrlDk1/r8xx3+qKzHGmTXE7vub5U8NKBWjvqZAS9XZPseG7+22s+nXGBF5lxvn2wYCiaNwYiJwtlWxolWGeNiPtuOix2xMFp,iv:/nJ3uxgEGEsVdDGs6nem4bJ8F2YLNsQn7FL5Yw+2SrM=,tag:XaqKzKJYsHXqVxTPBiYXdg==,type:str] -#ENC[AES256_GCM,data:PCGAs7iOVLWAYvnMydLjXg==,iv:UC8zrn8STjNGjCxvDW83Wj+0UjfEPJHdmqor5jGw9xk=,tag:NKvBd7J7cBqSbiBUEvnqrw==,type:comment] -example_array: - - ENC[AES256_GCM,data:/r0v5fy0S6P8UYxaGPw=,iv:Y431D+0CJkSeFufeML2lmNOlhq4tlqiZVWYpvhRITTE=,tag:HiisXspd5NuAeq7Pv04GHg==,type:str] - - ENC[AES256_GCM,data:jTGR5AsN5KYDGGKpCRA=,iv:V1YxkKL/Kz1+56qb7Z/fYIFSscnG3XItaQ061tsPgZY=,tag:WoRCDIdTwMl7rB+aOmpZsQ==,type:str] -example_number: ENC[AES256_GCM,data:zJV96NLprNlg8A==,iv:jWaqJ4BQrrXeT13wr7ivGGDF6JFg9dN7RJUCNzGyhFY=,tag:AJfw38QRFA5LOWgE8lKdRQ==,type:float] -example_booleans: - - ENC[AES256_GCM,data:AELmFA==,iv:qJb+1eP2GUdj8DI68Gcn9zRWorhWQE8+2UO0K5/0NXA=,tag:81um3wers8R0utsb0lrNMQ==,type:bool] - - ENC[AES256_GCM,data:tp3smiY=,iv:N5TKyeSmmaIKe6Rz9VumHHQmUPlHmKdIWXHkLZfQ1VA=,tag:ydykJWjh7DBwKLjQmYNPfw==,type:bool] +AMP_API_KEY: ENC[AES256_GCM,data:UWLsnBJ5YewrqEaz8S+iC5zHvbihxh9BU2cZ0ykLEXghY+PQgmrPC69/5/cUaD2uJshLZjwtxGIRf8P6XMBkWKXI1wuqw5wsYBNi1VjmTqeuD1EgKDk87QwAFLs42zORDUuBaXk8,iv:1QDUpv87DudUPyW5oQuIhsssEfh9KG1goQ2Fh2g6juI=,tag:zbS8ksaaeWFqccyICPqfDQ==,type:str] +tailscale_auth_key: ENC[AES256_GCM,data:6O6sQZmHjdrxDJKiKKDff6/ak7O27bVDTsgKlj9aE3zyxLnAB01gcJrcZMFeB0ZZkG8Iuw5OLxUFXTsO5A==,iv:e/tlmAP2o27SwSb50uIhRxmJyNHp8nOc2i/VmsrynEw=,tag:qzXk1Ec/KxTmpQiuxzc5XA==,type:str] +gh_token: ENC[AES256_GCM,data:3GJuuqL2RyBIUpk/RGB6ADNJBO14+c50OCi1LZPtAcqhJLsCKDN4JA==,iv:5SIG0/GAUmJE06WMJqv7uMy1JN7TF3x4sOjZ8QOdh/Q=,tag:GJAm6h4YS0pcI+FoaAm/xQ==,type:str] +hf_token: ENC[AES256_GCM,data:N7K40wk7PT9nAFA2wbXDE4+dK08ZibK0qRAsiQqF17MRuu9+pg==,iv:MjGV6B3bNnQq0P4l2kuqTyWzRoScxI6lOPrlSSYifsg=,tag:tXLguL4wceKTLNuuRaOEJw==,type:str] +motion_plus_token: ENC[AES256_GCM,data:hsK5liqAvrIjgURQ9Z6j7e2KQXV+HQiQlO1Guf6mrn76SfpqP49y+tlIOItllgf1tiUdht9/bs+nONqsID7nvA==,iv:IGFgkJ9KEHlhNt+9u2IgVL481UVG1YBW+LGlFPVwR5w=,tag:wm/BaWlRSRjapyJ7TEcPoA==,type:str] +syncthing_gui_password: ENC[AES256_GCM,data:1h6eRm1uWiudoS8jg0m81Ezdmw==,iv:leQ0Gqnv9/M1CYJWzrSYVc+eMaqMXHdPpjhc3b1aKFE=,tag:FtxlKFQTkBQLHa10++oVPg==,type:str] +syncthing_gui_password_hash: ENC[AES256_GCM,data:yZxgBF4BRt/3NFlDEmwChJ0/ECTgB5K3ttx/8KiYZxNFrEPXX1om9sfH3gc6JVNg1IIV/qgV3UYKJ4cC,iv:hoR0PLnUIKdYduaklH6W8fB31YFNFw/omf7mJ4XB9zw=,tag:Olim8UDdOFtINeFmcmriUw==,type:str] sops: age: + - recipient: age1j2lyxxhxj0g2fw05h8c856fjxy2f0salxlk78pwglpv2nxjm3ptsgxcce4 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjbnVPaFR2N3d5eUdzV0xY + WUl0alNNZ3UzRWdNeUFsQnNPZjR3R1ppd3dRCk5XV2dNbzQ4KzZ6K2s3VWhUR1da + TWhmQUdBQlFkUmd3Tnc4c1NiT3dBd2cKLS0tIGNWS1B1Q2JkYXJpVDZmTEYyMHN1 + UmgxYkwwRmZnQXI3VENsZmhpVU9EeGcKGRVFg/skJbE9w35tLITRBNxfLE+gYDfa + d18HA+1FN+yJk8dn1O1X5NNRRRDqhVSHeeadwepj99einJy52lVLLQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age14vhzajp8xemrjzqh9gzf6rpy0sckf3sa4vfdf5u60xgrktnfxc0sx85uj6 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPeVFwc0k4QXNpeG5aYy82 + L0NxYkpZaWZwbVdwM0l2MHdXek4yQk5qWDNJClAvR3lFRTNGUnN0T0E5UnY2V0li + R29DUzRqZzNQUVBJdzkvcVM2ZTJBNTAKLS0tIGJRZ2NBL3RyUXRhUXRvZmxTRzRN + dkcrT2Z2Y1ZmQkZ1N0xEaWlrRW0zVWsKuUcwN/Jva6CEApxZ75zs28rvDpRPavA3 + Cq9jXEZ0H2FKlLkITLIVcYv6A32NXw6UO59hYbqeCT/OrEPXP2LKEg== + -----END AGE ENCRYPTED FILE----- - recipient: age1wzdqusx4v0wpn7lgda4x4tw3qkd4jlcyy89pxrh4g679m0ajadtsh49e6t enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqaDN5TWp4VlRDbXNTeTZp - azVSa3V1ZVBraFRYaTRFYy93elRIV3c2VkNBCmtWWVp3WjdzNzBPV2xKUGhnQUdy - WUJZZTI3ZEF4RGpKaWRHUC9GOUdkbE0KLS0tIE1peEJrMm12Y0N2VzgvVjBBSkVu - MjZiaDJrV3d5VkVKY3g3SStDblJXOWcKX0DMaxbXAU8/s2KIhCZ8nk3pZSR079PX - XdcvsVQNPbPLqXEhQ/arGHzHVV0eELMKBPb932H3bgh51HzQuVZ0rA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEZk5lcnJyWGRvc3BJTm4w + OUhXMEhkTjNDLzRXZ25qUE54VWsyTDRTSlg0CnRVcVZZRjBDdHJjRU1VemMzYkxk + ZGRicmh3SEpuWTJucnI5amhFU1VDOHMKLS0tIDFlNXY2WU9XNElWWmMwVWZYMVRE + YXpHNVZEUWJpeHdXb3VQanlFUWVNc28KfJhxZHqWCmgJgdzcVj0fTNqjIhTav8NG + xE2eht+XgyH1wacPkUz5PbAWJJd3a5IIH2j78Hg33PbjwwKF5YHKSQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1qepnuljqzftv5sg72nj4wt0njcnezvnlhsq0dg8zqls5e2twzuwsyxklww + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQNGQyb05uMktnRUNxTzY3 + RUJMak51YitCdzNyb001VEFGdWRCVjBhSzA0CkRGQmJTM1JOZW5iVjcyL0MvVDA3 + TVozaTB2bXplcDhwODN5WUtMM0xCbVEKLS0tIDhPWFJrVnVTSmZ3dnlVckQySmxj + bzZha1lLckVNQVRrTVA2OXYyNERFancKqHpPUi420BqhUPjB5Hcw157J84awMULc + 5Rq2/1k/CCi37NwKGbjPtXCYvymxPAH47euP3Acxti+YUpRG3C/KtA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-06-22T18:26:00Z" - mac: ENC[AES256_GCM,data:sJ+RTlzfH20Vw6o2+M76p80m0Br44wnjDQpKWwfm7nQ9l4LYOtpM2pn6A+RC14HoMpoiRtkYd+hrrnl1Vq69W5MXZSDw01W27IVPQspVFqt62NAJPboK0a2KZ89ajoLYa6ffz7y551XAu55e8WKHrk4gGUJFBwE3+4qGAA2nmQU=,iv:Osn6uyWCbMUhfDjlxEb2L88V3OrVDemJva4zKGIecu8=,tag:FDPl37CmQICXFI777tMAgw==,type:str] + lastmodified: "2026-01-17T20:52:25Z" + mac: ENC[AES256_GCM,data:hGenZwAbgNAsWpYVxhmPh3IPA+zjyKa6kAYLjExHtaB9Npf/weY4GzUOzzVG0MrYNKJbV08D4/di4gxTj2eh0H1wxWWjjYD7njqV2eR81r7HGhgu2xxRN1i+d74qeVUyJrUY7kpoKj2VqDPKf/9FXaoYeEuUyVyl1ZCJj+VWSQ0=,iv:LpKiSOtdzrdRMCAsetjCvl7M7KoqcfJoq/POXBeWft4=,tag:SNh9Ygoy6fooDKrbNtKnmw==,type:str] unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.11.0 diff --git a/system/authorized-keys.nix b/system/authorized-keys.nix new file mode 100644 index 00000000..021f8292 --- /dev/null +++ b/system/authorized-keys.nix @@ -0,0 +1,8 @@ +{ lib, hostSystem ? null, ... }: +let + isLinux = lib.hasInfix "linux" hostSystem; + sshKeys = import ./ssh-keys { inherit lib; }; +in +if isLinux then { + users.users.bdsqqq.openssh.authorizedKeys.keys = sshKeys.personalKeys; +} else {} diff --git a/system/bluetooth.nix b/system/bluetooth.nix index d3164c78..17890d7e 100644 --- a/system/bluetooth.nix +++ b/system/bluetooth.nix @@ -5,7 +5,15 @@ if !(lib.hasInfix "linux" hostSystem) then {} else { hardware.bluetooth = { enable = true; powerOnBoot = true; + settings = { + General = { + Experimental = true; + ClassicBondedOnly = false; + }; + }; }; + + boot.kernelModules = [ "hid_playstation" ]; } diff --git a/system/code-server.nix b/system/code-server.nix new file mode 100644 index 00000000..a890aa57 --- /dev/null +++ b/system/code-server.nix @@ -0,0 +1,34 @@ +{ lib, pkgs, hostSystem ? null, ... }: +let + isLinux = lib.hasInfix "linux" hostSystem; + isDarwin = lib.hasInfix "darwin" hostSystem; +in +if isLinux then { + services.code-server = { + enable = true; + user = "bdsqqq"; + host = "127.0.0.1"; + port = 8080; + auth = "password"; + }; +} else if isDarwin then { + environment.systemPackages = [ pkgs.openvscode-server ]; + + launchd.user.agents.openvscode-server = { + serviceConfig = { + Label = "com.bdsqqq.openvscode-server"; + ProgramArguments = [ + "${pkgs.openvscode-server}/bin/openvscode-server" + "--host" + "0.0.0.0" + "--port" + "8080" + "--without-connection-token" + ]; + RunAtLoad = true; + KeepAlive = true; + StandardOutPath = "/Users/bdsqqq/Library/Logs/openvscode-server.log"; + StandardErrorPath = "/Users/bdsqqq/Library/Logs/openvscode-server-error.log"; + }; + }; +} else {} diff --git a/system/fan-control.nix b/system/fan-control.nix new file mode 100644 index 00000000..81795e0b --- /dev/null +++ b/system/fan-control.nix @@ -0,0 +1,9 @@ +{ lib, pkgs, hostSystem ? null, ... }: + +if !(lib.hasInfix "linux" hostSystem) then {} else { + boot.kernelModules = [ "nct6683" ]; + + environment.systemPackages = with pkgs; [ + lm_sensors + ]; +} diff --git a/system/fonts.nix b/system/fonts.nix index 2e4eb95f..a9cc50d6 100644 --- a/system/fonts.nix +++ b/system/fonts.nix @@ -5,16 +5,22 @@ let berkeleyMono = pkgs.stdenv.mkDerivation { pname = "berkeley-mono"; version = "1.0.0"; - + src = inputs.berkeley-mono; - + dontConfigure = true; + dontBuild = true; + installPhase = '' + runHook preInstall mkdir -p $out/share/fonts/opentype/berkeley-mono - cp *.otf $out/share/fonts/opentype/berkeley-mono/ + for file in "$src"/*.otf; do + install -m644 "$file" $out/share/fonts/opentype/berkeley-mono/ + done + runHook postInstall ''; - + meta = { - description = "Berkeley Mono - A love letter to the terminal"; + description = "Berkeley Mono - a love letter to the terminal"; platforms = lib.platforms.all; }; }; @@ -24,5 +30,4 @@ in berkeleyMono pkgs.nerd-fonts.jetbrains-mono ]; - } diff --git a/system/homebrew.nix b/system/homebrew.nix index 1769e82b..1a1b7b01 100644 --- a/system/homebrew.nix +++ b/system/homebrew.nix @@ -37,7 +37,7 @@ if !(lib.hasInfix "darwin" hostSystem) then {} else { onActivation = { autoUpdate = true; - cleanup = "zap"; + cleanup = "uninstall"; }; }; } diff --git a/system/kanata.nix b/system/kanata.nix index f3aa8582..0c4ec8b7 100644 --- a/system/kanata.nix +++ b/system/kanata.nix @@ -3,62 +3,147 @@ let isDarwin = lib.hasInfix "darwin" hostSystem; isLinux = lib.hasInfix "linux" hostSystem; + + # shared with launchd configs below + kanataLabel = "com.bdsqqq.kanata"; + virtualhidLabel = "com.bdsqqq.karabiner-virtualhid-daemon"; + kanataPlist = "/Library/LaunchDaemons/${kanataLabel}.plist"; + virtualhidPlist = "/Library/LaunchDaemons/${virtualhidLabel}.plist"; + + toggleKanata = pkgs.writeShellScriptBin "toggle-kanata" '' + set -euo pipefail + + usage() { + cat <<EOF + toggle-kanata [start|stop|toggle|status] [-v] [-n] + EOF + } + + VERBOSE=false + DRY_RUN=false + COMMAND="toggle" + + log() { [[ "$VERBOSE" = true ]] && echo "$@" >&2 || true; } + + ${if isDarwin then '' + KANATA_LABEL="${kanataLabel}" + VIRTUALHID_LABEL="${virtualhidLabel}" + KANATA_PLIST="${kanataPlist}" + VIRTUALHID_PLIST="${virtualhidPlist}" + + is_kanata_running() { pgrep -x kanata > /dev/null 2>&1; } + get_status() { is_kanata_running && echo "●" || echo "○"; } + + start_kanata() { + log "starting launchd services..." + if [[ "$DRY_RUN" = true ]]; then + echo "[dry-run] would bootstrap $VIRTUALHID_PLIST" + echo "[dry-run] would bootstrap $KANATA_PLIST" + return 0 + fi + [[ -f "$VIRTUALHID_PLIST" ]] && sudo launchctl bootstrap system "$VIRTUALHID_PLIST" 2>/dev/null || log "virtualhid already loaded" + if [[ -f "$KANATA_PLIST" ]]; then + sudo launchctl bootstrap system "$KANATA_PLIST" 2>/dev/null || log "kanata already loaded" + else + echo "✗ $KANATA_PLIST not found" >&2; exit 1 + fi + } + + stop_kanata() { + log "stopping launchd services..." + if [[ "$DRY_RUN" = true ]]; then + echo "[dry-run] would bootout $KANATA_LABEL" + echo "[dry-run] would bootout $VIRTUALHID_LABEL" + return 0 + fi + sudo launchctl bootout system/$KANATA_LABEL 2>/dev/null || log "kanata not loaded" + sudo launchctl bootout system/$VIRTUALHID_LABEL 2>/dev/null || log "virtualhid not loaded" + is_kanata_running && { log "fallback kill..."; sudo killall kanata Karabiner-VirtualHIDDevice-Daemon 2>/dev/null || true; } + } + '' else '' + is_kanata_running() { pgrep -x kanata > /dev/null 2>&1; } + get_status() { is_kanata_running && echo "●" || echo "○"; } + + start_kanata() { + log "starting systemd service..." + if [[ "$DRY_RUN" = true ]]; then echo "[dry-run] would start kanata.service"; return 0; fi + systemctl --user is-enabled kanata.service > /dev/null 2>&1 && systemctl --user start kanata.service || { echo "✗ kanata.service not found" >&2; exit 1; } + } + + stop_kanata() { + log "stopping systemd service..." + if [[ "$DRY_RUN" = true ]]; then echo "[dry-run] would stop kanata.service"; return 0; fi + systemctl --user is-active kanata.service > /dev/null 2>&1 && systemctl --user stop kanata.service || pkill kanata 2>/dev/null || true + } + ''} + + positional=() + while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) usage; exit 0 ;; + -v|--verbose) VERBOSE=true; shift ;; + -n|--dry-run) DRY_RUN=true; shift ;; + -*) echo "unknown option: $1" >&2; usage >&2; exit 1 ;; + *) positional+=("$1"); shift ;; + esac + done + [[ ''${#positional[@]} -ge 1 ]] && COMMAND="''${positional[0]}" + + case "$COMMAND" in + status) get_status ;; + on|start|enable) + is_kanata_running && echo "● kanata already running" || { + start_kanata + [[ "$DRY_RUN" = true ]] && exit 0 + sleep 3 + is_kanata_running && echo "✓ kanata started" || { echo "✗ failed to start" >&2; exit 1; } + } ;; + off|stop|disable) + is_kanata_running && { + stop_kanata + [[ "$DRY_RUN" = true ]] && exit 0 + sleep 2 + is_kanata_running && { echo "✗ failed to stop" >&2; exit 1; } || echo "✓ kanata stopped" + } || echo "○ kanata already stopped" ;; + toggle|*) + if is_kanata_running; then + stop_kanata; [[ "$DRY_RUN" = true ]] && exit 0; sleep 2 + is_kanata_running && { echo "✗ failed to stop" >&2; exit 1; } || echo "✓ kanata stopped" + else + start_kanata; [[ "$DRY_RUN" = true ]] && exit 0; sleep 3 + is_kanata_running && echo "✓ kanata started" || { echo "✗ failed to start" >&2; exit 1; } + fi ;; + esac + ''; in if isDarwin then { - # Darwin implementation with launchd - environment.systemPackages = [ pkgs.kanata + environment.systemPackages = [ + pkgs.kanata + toggleKanata + # 60s timeout prevents keyboard lockout if config is broken (pkgs.writeShellScriptBin "kanata-test" '' - echo "SAFE Kanata Test Mode" - echo "This will start kanata for 60 seconds, then automatically stop" - echo "If your keyboard breaks, just wait 60 seconds and it will recover" - echo "Press Enter to start 60-second test" + echo "kanata test mode (60s timeout) - press enter to start" read - echo "Starting VirtualHIDDevice daemon..." sudo "/Library/Application Support/org.pqrs/Karabiner-DriverKit-VirtualHIDDevice/Applications/Karabiner-VirtualHIDDevice-Daemon.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Daemon" & DAEMON_PID=$! sleep 2 - echo "Starting kanata for 60 seconds..." sudo ${pkgs.kanata}/bin/kanata --cfg /etc/kanata/kanata.kbd & KANATA_PID=$! - echo "TEST YOUR KEYBOARD NOW - you have 60 seconds" - echo "Try your homerow mods: A=Shift, S=Ctrl, D=Alt, F=Cmd" - echo "Counting down..." + echo "test your keyboard now" for i in {60..1}; do - if [ $((i % 10)) -eq 0 ]; then - echo "$i seconds remaining" - fi + [[ $((i % 10)) -eq 0 ]] && echo "$i" sleep 1 done - echo "Stopping kanata and daemon..." - sudo kill $KANATA_PID 2>/dev/null || true - sudo kill $DAEMON_PID 2>/dev/null || true - sudo killall kanata 2>/dev/null || true - sudo killall Karabiner-VirtualHIDDevice-Daemon 2>/dev/null || true + sudo kill $KANATA_PID $DAEMON_PID 2>/dev/null || true + sudo killall kanata Karabiner-VirtualHIDDevice-Daemon 2>/dev/null || true - echo "Test complete. Did your keyboard work correctly? (y/n)" + echo "did it work? (y/n)" read response - if [[ "$response" =~ ^[Yy]$ ]]; then - echo "Great! You can now use 'kanata-start' to run permanently" - else - echo "Something went wrong. Check the logs and configuration." - fi - '') - (pkgs.writeShellScriptBin "kanata-start" '' - echo "Starting kanata permanently..." - sudo "/Library/Application Support/org.pqrs/Karabiner-DriverKit-VirtualHIDDevice/Applications/Karabiner-VirtualHIDDevice-Daemon.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Daemon" & - sleep 2 - sudo ${pkgs.kanata}/bin/kanata --cfg /etc/kanata/kanata.kbd & - echo "Kanata is now running. Use 'kanata-stop' to stop it." - '') - (pkgs.writeShellScriptBin "kanata-stop" '' - echo "Stopping kanata and VirtualHIDDevice daemon..." - sudo killall kanata 2>/dev/null || true - sudo killall Karabiner-VirtualHIDDevice-Daemon 2>/dev/null || true - echo "Stopped." + [[ "$response" =~ ^[Yy]$ ]] && echo "run: toggle-kanata start" || echo "check /var/log/kanata.log" '') ]; @@ -77,7 +162,7 @@ if isDarwin then { launchd.daemons.karabiner-virtualhid-daemon = { serviceConfig = { - Label = "com.bdsqqq.karabiner-virtualhid-daemon"; + Label = virtualhidLabel; ProgramArguments = [ "/Library/Application Support/org.pqrs/Karabiner-DriverKit-VirtualHIDDevice/Applications/Karabiner-VirtualHIDDevice-Daemon.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Daemon" ]; @@ -88,9 +173,10 @@ if isDarwin then { }; }; + # sleep 5 ensures virtualhid daemon is ready before kanata tries to use it launchd.daemons.kanata = { serviceConfig = { - Label = "com.bdsqqq.kanata"; + Label = kanataLabel; ProgramArguments = [ "/bin/bash" "-c" @@ -103,7 +189,6 @@ if isDarwin then { }; }; } else if isLinux then { - # Linux implementation (services.kanata provided by host config) - environment.systemPackages = [ pkgs.kanata ]; + environment.systemPackages = [ pkgs.kanata toggleKanata ]; environment.etc."kanata/kanata.kbd".source = ../assets/kanata.kbd; } else {} diff --git a/system/login.nix b/system/login.nix index 73daad84..7b2a1d3a 100644 --- a/system/login.nix +++ b/system/login.nix @@ -1,12 +1,18 @@ -{ pkgs, lib, hostSystem ? null, ... }: +{ pkgs, lib, config, hostSystem ? null, ... }: if !(lib.hasInfix "linux" hostSystem) then {} else { - # Display manager + # Display manager with session selection + # Only configure greetd if jovian is not handling autostart services.greetd = { enable = true; - settings.default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd Hyprland"; + settings.default_session = lib.mkIf (!(config.jovian.steam.autoStart or false)) { + # --sessions lists available .desktop files from /run/current-system/sw/share/wayland-sessions + # --remember saves last session choice + command = "${pkgs.tuigreet}/bin/tuigreet --sessions /run/current-system/sw/share/wayland-sessions --remember --remember-session"; user = "greeter"; }; }; + + # Ensure wayland session desktop files are available + environment.pathsToLink = [ "/share/wayland-sessions" ]; } diff --git a/system/nix-ld.nix b/system/nix-ld.nix new file mode 100644 index 00000000..8c2d25f8 --- /dev/null +++ b/system/nix-ld.nix @@ -0,0 +1,34 @@ +{ lib, pkgs, hostSystem ? null, ... }: +if !(lib.hasInfix "linux" hostSystem) then {} else { + programs.nix-ld = { + enable = true; + libraries = with pkgs; [ + stdenv.cc.cc.lib + zlib + openssl + curl + glib + nss + nspr + atk + cups + dbus + libdrm + gtk3 + pango + cairo + xorg.libX11 + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxcb + mesa + expat + libxkbcommon + alsa-lib + icu + ]; + }; +} diff --git a/system/nix.nix b/system/nix.nix index 8d537b24..590794b2 100644 --- a/system/nix.nix +++ b/system/nix.nix @@ -3,7 +3,11 @@ { # Common Nix settings nix = { + package = pkgs.nixVersions.latest; settings = { + experimental-features = [ "nix-command" "flakes" ]; + keep-outputs = true; + keep-derivations = true; # Binary caches substituters = [ "https://cache.nixos.org/" diff --git a/system/nvidia.nix b/system/nvidia.nix index b339d49a..fab240ca 100644 --- a/system/nvidia.nix +++ b/system/nvidia.nix @@ -25,7 +25,7 @@ if !(lib.hasInfix "linux" hostSystem) then {} else { }; environment.systemPackages = with pkgs; [ - nvtopPackages.nvidia + # nvtop provided by user/dev-tools.nix with full gpu support ]; } diff --git a/system/sops.nix b/system/sops.nix index 72af1b06..425427e5 100644 --- a/system/sops.nix +++ b/system/sops.nix @@ -1,17 +1,45 @@ { lib, inputs, hostSystem ? null, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + + sshKeyPath = if isDarwin + then "/Users/bdsqqq/.ssh/id_ed25519" + else "/home/bdsqqq/.ssh/id_ed25519"; + + homeDir = if isDarwin + then "/Users/bdsqqq" + else "/home/bdsqqq"; +in { - # common sops-nix settings; key location differs per OS sops = { - age = if lib.hasInfix "darwin" hostSystem then { - keyFile = "/Users/bdsqqq/.config/sops/age/keys.txt"; - } else { - keyFile = "/var/lib/sops-nix/key.txt"; - }; - - # default encrypted file and concrete secrets mapping (flake root) + age.sshKeyPaths = [ sshKeyPath ]; + defaultSopsFile = inputs.self + "/secrets.yaml"; secrets = { - anthropic_api_key = { }; + anthropic_api_key = { owner = "bdsqqq"; }; + tailscale_auth_key = { owner = "bdsqqq"; }; + gh_token = { owner = "bdsqqq"; }; + hf_token = { owner = "bdsqqq"; }; + motion_plus_token = { owner = "bdsqqq"; }; + AMP_API_KEY = { owner = "bdsqqq"; }; + syncthing_gui_password = { owner = "bdsqqq"; }; + syncthing_gui_password_hash = { owner = "bdsqqq"; }; + + # axiom config - decrypted to ~/.axiom.toml + "axiom.toml" = { + sopsFile = inputs.self + "/.axiom.toml"; + format = "binary"; + owner = "bdsqqq"; + mode = "0400"; + path = "${homeDir}/.axiom.toml"; + }; + + cookies = { + sopsFile = inputs.self + "/cookies.txt"; + format = "binary"; + owner = "bdsqqq"; + mode = "0400"; + }; }; }; } diff --git a/system/ssh-keys/default.nix b/system/ssh-keys/default.nix new file mode 100644 index 00000000..08d45d5c --- /dev/null +++ b/system/ssh-keys/default.nix @@ -0,0 +1,7 @@ +{ lib }: +{ + # personal device keys + personalKeys = [ + (lib.removeSuffix "\n" (builtins.readFile ./mbp-m2.pub)) + ]; +} diff --git a/config/ssh-keys/mbp-m2.pub b/system/ssh-keys/mbp-m2.pub similarity index 100% rename from config/ssh-keys/mbp-m2.pub rename to system/ssh-keys/mbp-m2.pub diff --git a/system/syncthing-automerge.nix b/system/syncthing-automerge.nix index 15e1197e..d3fdd209 100644 --- a/system/syncthing-automerge.nix +++ b/system/syncthing-automerge.nix @@ -76,6 +76,7 @@ if isDarwin then { description = "Syncthing auto-merge conflicts service"; after = [ "syncthing.service" ]; wantedBy = [ "default.target" ]; + restartTriggers = [ ../scripts/syncthing-automerge.py ]; serviceConfig = { ExecStart = "${pkgs.uv}/bin/uv run --script /etc/syncthing-automerge/syncthing-automerge.py"; WorkingDirectory = "/home/bdsqqq/commonplace"; diff --git a/system/syncthing.nix b/system/syncthing.nix index 823e26de..18a7e0f8 100644 --- a/system/syncthing.nix +++ b/system/syncthing.nix @@ -5,27 +5,18 @@ let isDarwin = lib.hasInfix "darwin" system; in if isLinux then { + # NixOS uses system service; declarative folder/device config in host files services.syncthing = { enable = true; user = "bdsqqq"; dataDir = "/home/bdsqqq"; configDir = "/home/bdsqqq/.config/syncthing"; + guiAddress = "0.0.0.0:8384"; }; + + networking.firewall.interfaces."tailscale0".allowedTCPPorts = [ 8384 22000 ]; + networking.firewall.interfaces."tailscale0".allowedUDPPorts = [ 22000 21027 ]; } else if isDarwin then { - launchd.user.agents.syncthing = { - serviceConfig = { - Label = "com.bdsqqq.syncthing"; - ProgramArguments = [ - "${pkgs.syncthing}/bin/syncthing" - "-no-browser" - "-home" - "/Users/bdsqqq/.config/syncthing" - ]; - WorkingDirectory = "/Users/bdsqqq"; - RunAtLoad = true; - KeepAlive = true; - StandardOutPath = "/Users/bdsqqq/Library/Logs/syncthing.log"; - StandardErrorPath = "/Users/bdsqqq/Library/Logs/syncthing.log"; - }; - }; + # darwin: syncthing managed entirely by home-manager's services.syncthing + # (creates launchd agents for both daemon and config init) } else {} diff --git a/system/tailscale.nix b/system/tailscale.nix index f317b322..2dd63049 100644 --- a/system/tailscale.nix +++ b/system/tailscale.nix @@ -2,13 +2,15 @@ let isLinux = hostSystem != null && lib.hasInfix "linux" hostSystem; in -{ - # enable tailscale on all platforms - services.tailscale.enable = true; +if isLinux then { + services.tailscale = { + enable = true; + extraUpFlags = lib.mkDefault [ "--ssh" ]; + }; +} else { + # on darwin, use the mac app store tailscale app instead of nix-darwin's tailscaled. + # the app store app bundles its own daemon via network extension and provides + # better macOS integration. enabling both causes race conditions on startup. } -// (if isLinux then { - # linux-only: default to enabling tailscale ssh - services.tailscale.extraUpFlags = lib.mkDefault [ "--ssh" ]; -} else {}) diff --git a/system/vector.nix b/system/vector.nix new file mode 100644 index 00000000..406be494 --- /dev/null +++ b/system/vector.nix @@ -0,0 +1,167 @@ +# system/vector.nix +# Vector for logs and metrics → Axiom +# Works on both darwin (launchd) and linux (systemd) +{ lib, pkgs, config, hostSystem ? null, ... }: + +let + isLinux = lib.hasInfix "linux" hostSystem; + isDarwin = lib.hasInfix "darwin" hostSystem; + + homeDir = if isDarwin then "/Users/bdsqqq" else "/home/bdsqqq"; + logsDir = if isDarwin then "${homeDir}/Library/Logs" else "/var/log"; + dataDir = if isDarwin then "${homeDir}/Library/Application Support/Vector" else "/var/lib/vector"; + + axiomConfigPath = "${homeDir}/.axiom.toml"; + + dasel = "${pkgs.dasel}/bin/dasel"; + + # darwin uses file source for logs; linux uses journald + vectorConfig = if isDarwin then '' + data_dir = "${dataDir}" + + [sources.host_metrics] + type = "host_metrics" + collectors = ["cpu", "memory", "disk", "filesystem", "load", "network"] + scrape_interval_secs = 30 + + [sources.log_files] + type = "file" + include = [ + "${logsDir}/syncthing-automerge.log", + "${logsDir}/openvscode-server.log", + "${logsDir}/openvscode-server-error.log", + "${logsDir}/vector.log", + "${logsDir}/vector-error.log" + ] + read_from = "end" + + [transforms.parse_logs] + type = "remap" + inputs = ["log_files"] + source = "._time = .timestamp; del(.timestamp); .source_file = .file" + + [sinks.axiom_logs] + type = "axiom" + inputs = ["parse_logs"] + dataset = "papertrail" + token = "''${AXIOM_TOKEN_LOGS}" + url = "''${AXIOM_URL_LOGS}" + org_id = "''${AXIOM_ORG_ID_LOGS}" + + [sinks.axiom_metrics] + type = "axiom" + inputs = ["host_metrics"] + dataset = "host-metrics" + token = "''${AXIOM_TOKEN_METRICS}" + url = "''${AXIOM_URL_METRICS}" + org_id = "''${AXIOM_ORG_ID_METRICS}" + '' else '' + data_dir = "${dataDir}" + + [sources.journald] + type = "journald" + current_boot_only = false + + [sources.host_metrics] + type = "host_metrics" + collectors = ["cpu", "memory", "disk", "filesystem", "load", "network"] + scrape_interval_secs = 30 + filesystem.mountpoints.excludes = [ + "^/run/credentials/.*$", + "^/run/secrets$", + "^/run/secrets/.*$", + "^/run/user/.*$" + ] + + [transforms.parse_logs] + type = "remap" + inputs = ["journald"] + source = "._time = .timestamp; del(.timestamp)" + + [sinks.axiom_logs] + type = "axiom" + inputs = ["parse_logs"] + dataset = "papertrail" + token = "''${AXIOM_TOKEN_LOGS}" + url = "''${AXIOM_URL_LOGS}" + org_id = "''${AXIOM_ORG_ID_LOGS}" + + [sinks.axiom_metrics] + type = "axiom" + inputs = ["host_metrics"] + dataset = "host-metrics" + token = "''${AXIOM_TOKEN_METRICS}" + url = "''${AXIOM_URL_METRICS}" + org_id = "''${AXIOM_ORG_ID_METRICS}" + ''; +in +if isDarwin then { + environment.systemPackages = [ pkgs.vector ]; + + environment.etc."vector/vector.toml".text = vectorConfig; + + launchd.daemons.vector = { + script = '' + # parse axiom credentials from toml config using dasel + # shared url/org from deployment, dataset-specific tokens + export AXIOM_URL_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.url')" + export AXIOM_ORG_ID_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.org_id')" + export AXIOM_TOKEN_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.datasets.papertrail.token')" + + export AXIOM_URL_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.url')" + export AXIOM_ORG_ID_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.org_id')" + export AXIOM_TOKEN_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.datasets.host-metrics.token')" + + exec ${pkgs.vector}/bin/vector --config /etc/vector/vector.toml + ''; + serviceConfig = { + Label = "dev.vector.vector"; + RunAtLoad = true; + KeepAlive = { + PathState = { + "${axiomConfigPath}" = true; + }; + }; + StandardOutPath = "${logsDir}/vector.log"; + StandardErrorPath = "${logsDir}/vector-error.log"; + UserName = "root"; + GroupName = "wheel"; + }; + }; + +} else if isLinux then { + environment.systemPackages = [ pkgs.vector pkgs.dasel ]; + + environment.etc."vector/vector.toml".text = vectorConfig; + + systemd.services.vector = { + description = "Vector - logs and metrics to Axiom"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + requires = [ "network-online.target" ]; + + script = '' + # parse axiom credentials from toml config using dasel + # shared url/org from deployment, dataset-specific tokens + export AXIOM_URL_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.url')" + export AXIOM_ORG_ID_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.org_id')" + export AXIOM_TOKEN_LOGS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.datasets.papertrail.token')" + + export AXIOM_URL_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.url')" + export AXIOM_ORG_ID_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.org_id')" + export AXIOM_TOKEN_METRICS="$(${dasel} -f "${axiomConfigPath}" '.deployments.personal.datasets.host-metrics.token')" + + exec ${pkgs.vector}/bin/vector --config /etc/vector/vector.toml + ''; + + serviceConfig = { + Type = "simple"; + DynamicUser = true; + StateDirectory = "vector"; + SupplementaryGroups = [ "systemd-journal" ]; + Restart = "always"; + RestartSec = "5s"; + }; + }; + +} else { } diff --git a/user/agents/default.nix b/user/agents/default.nix new file mode 100644 index 00000000..87f3584e --- /dev/null +++ b/user/agents/default.nix @@ -0,0 +1,50 @@ +{ lib, inputs, hostSystem ? null, config ? {}, ... }: +{ + home-manager.users.bdsqqq = { pkgs, config, lib, ... }: { + # global AGENTS.md symlinks (config/global-agents.md → multiple targets) + home.file."commonplace/AGENTS.md".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/commonplace/01_files/nix/config/global-agents.md"; + home.file.".config/amp/AGENTS.md".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/commonplace/01_files/nix/config/global-agents.md"; + home.file.".claude/CLAUDE.md".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/commonplace/01_files/nix/config/global-agents.md"; + + home.file.".config/agents/skills" = { + source = ./skills; + recursive = true; + }; + + home.file.".config/agents/skills/axiom-sre" = { + source = "${inputs.axiom-skills}/skills/sre"; + recursive = true; + }; + + home.file.".config/agents/skills/lnr/SKILL.md" = { + source = "${inputs.lnr}/SKILL.md"; + }; + + home.file.".config/agents/skills/compound-engineering" = { + source = "${inputs.snarktank-skills}/compound-engineering"; + recursive = true; + }; + home.file.".config/agents/skills/frontend-design" = { + source = "${inputs.snarktank-skills}/frontend-design"; + recursive = true; + }; + home.file.".config/agents/skills/prd" = { + source = "${inputs.snarktank-skills}/prd"; + recursive = true; + }; + home.file.".config/agents/skills/ralph" = { + source = "${inputs.snarktank-skills}/ralph"; + recursive = true; + }; + + home.file.".config/agents/skills/react-best-practices" = { + source = "${inputs.vercel-skills}/skills/react-best-practices"; + recursive = true; + }; + + home.file.".config/agents/skills/web-design-guidelines" = { + source = "${inputs.vercel-skills}/skills/web-design-guidelines"; + recursive = true; + }; + }; +} diff --git a/user/agents/skills/amp-voice/SKILL.md b/user/agents/skills/amp-voice/SKILL.md new file mode 100644 index 00000000..bd28a1ba --- /dev/null +++ b/user/agents/skills/amp-voice/SKILL.md @@ -0,0 +1,72 @@ +--- +name: amp-voice +description: "write in amp's voice — direct, technical, opinionated, honest. use for technical writing that should feel authoritative without being academic. derived from analysis of amp's content patterns." +--- + +# amp-voice + +write in amp's voice — direct, technical, opinionated, honest. + +## when to use + +- writing documentation or copy for amp-related projects +- naming skills, tools, commands, or features +- communicating about amp in threads, docs, or discussions +- reviewing text for amp voice compliance + +## core principles + +apply these (reference at `references/2025-12-18 amp voice and terminology.md` for extended examples): + - **direct and casual** — no marketing speak, no buzzwords + - **technical but accessible** — clear without condescension + - **opinionated without arrogance** — "we think" not "you must" + - **honest about limitations** — admit warts and rough edges + - **no emojis** — ever + - **lowercase preference** — for casual/internal communication + +## quick reference + +### terminology + +| use | avoid | +|-----|-------| +| thread | conversation, chat, session | +| subagent | servant, worker, assistant, bot | +| spawn | create, start, launch | +| handoff | transfer, pass | +| skill | plugin, extension | + +### naming conventions + +- **lowercase**: `tmux`, `bigquery` +- **hyphenated compounds**: `web-browser`, `amp-voice` +- short, descriptive, no camelCase + +### characteristic phrases + +- "short threads are best" +- "agents get drunk if you feed them too many tokens" +- "practical engineering and elbow grease" +- "everything is changing" +- "happy hacking" + +### avoid + +- "leverage", "seamlessly", "unlock", "supercharge" +- excessive exclamation points +- sycophantic openers ("you're absolutely right!") +- "AI" as a noun for the agent + +### voice transforms + +| before | after | +|--------|-------| +| "You might want to consider spawning a subagent for this task." | "spawn a subagent for this." | +| "This integration allows for improved workflow efficiency through automatic context sharing." | "it's an LLM, a loop, and enough tokens. the rest is elbow grease." | +| "This feature helps maintain context more effectively, which can improve agent performance." | "short threads are best. agents get drunk if you feed them too many tokens." | + +the pattern: drop hedges, replace abstraction with concrete metaphor, say less. + +## resources + +- [references/2025-12-18 amp voice and terminology.md](references/2025-12-18%20amp%20voice%20and%20terminology.md) — full guide diff --git a/user/agents/skills/amp-voice/references/2025-12-18 amp voice and terminology.md b/user/agents/skills/amp-voice/references/2025-12-18 amp voice and terminology.md new file mode 100644 index 00000000..07701a43 --- /dev/null +++ b/user/agents/skills/amp-voice/references/2025-12-18 amp voice and terminology.md @@ -0,0 +1,348 @@ +# amp voice and terminology + +a comprehensive language guide derived from amp's manual, blog posts, news articles, FIF, how we build, and other documentation. + +--- + +## voice characteristics + +### tone +- **direct and casual**: no marketing speak, no buzzwords like "core capabilities" or "seamless integration" +- **technical but accessible**: explains concepts clearly without condescension +- **opinionated without arrogance**: "we think this works better" rather than "this is the only way" +- **self-aware humor**: "thinks" (in airquotes), agents getting "drunk" on too many tokens, "superpowered alien orb made of sand" +- **honest about limitations**: admits when things are "rough" or have "warts", openly discusses model imperfections +- **no emojis** in UI or official communications +- **lowercase preference** in casual internal communication + +### sentence structure +- short, punchy sentences +- declarative statements over hedging +- "do X" over "you might want to consider X" +- concrete examples over abstract explanations +- rhetorical questions used effectively: "isn't this amazing?" "wait, is everything changing... again?" + +### philosophy expressed in voice +- "if we don't use and love a feature, we kill it" +- "ship, use, iterate" +- "hours and days over weeks and months" +- "less is more" +- "no magic" — avoid solutions that infer intent behind the scenes +- "staying on the frontier means sometimes shipping despite issues — and sometimes shipping something better a week later" +- "the emperor has no clothes" — there's no secret sauce, just practical engineering and elbow grease +- "dogfooding is a superpower" +- "prototypes over RFCs and discussions" + +### characteristic phrases +- "everything is changing" +- "the frontier" +- "token by token" +- "elbow grease" +- "mini-Amps" +- "we'd prefer one standard" +- "happy hacking" +- "mise-en-place" (cooking reference for setup) +- "squint and you'll see" +- "that's it. truly: that's it." + +--- + +## core terminology + +### threads +the fundamental unit of work. NOT "conversations" or "chats" or "sessions." + +- **thread**: a conversation with the agent; the context window made visible +- **short threads are best**: "agents get drunk if you feed them too many tokens" +- **one task per thread**: don't mix database migrations with CSS changes +- **threads as first-class entities**: shareable, reusable, referenceable +- **focused threads**: amp encourages focused threads over long, meandering ones + +### context window +the entire input sent to the model. amp uses "thread" and "context window" somewhat interchangeably. + +key concepts: +- "everything in the context window is multiplied with everything else" +- "everything counts to some extent" +- "the context window is important" +- "200k tokens is plenty" (if you use short threads) +- context can "get drunk" — too many tokens degrades quality + +### thread relationships + +| term | meaning | mechanism | +|------|---------|-----------| +| **handoff** | extract relevant context into a new focused thread | `/handoff <goal>` | +| **fork** | duplicate the thread at a point in history | `amp threads fork` or `f` key | +| **mention/reference** | link to another thread for context extraction | `@T-threadid` or paste URL | +| **continue** | resume an existing thread | `amp threads continue` | + +### thread patterns (from thread map) + +- **hub-and-spokes**: one central thread, many branches that don't need each other's context +- **chain**: linear succession of short threads, each handing off to the next +- "it's not uncommon for the end of a chain to lead to the central node of a hub-and-spokes pattern" + +### thread map +- visualizes threads connected via mentions, handoffs, or forks +- shows the "shape" of your work +- accessed via `threads: map` in CLI command palette + +--- + +## agents and subagents + +### definitions +- **agent**: "an LLM with access to tools, giving it the ability to modify something outside the context window" +- **subagent**: a tool that is itself an agent; spawned by the main agent +- **mini-Amps**: casual term for generic subagents that can do anything the main agent can +- "they are agents. they can make their own decisions (again: airquotes)" + +### named subagents/tools +- **oracle**: GPT-5 reasoning model for complex analysis, debugging, code review (always lowercase) +- **librarian**: subagent for searching remote codebases (github, public and private repos) +- **search agent**: specialized read-only subagent for local codebase exploration +- **finder**: semantic code search +- **look_at**: analyzes files in separate context window, returns only relevant info + +### key properties of subagents +- "they each have their own context window" — this is the magic +- "multiplication of context windows" +- subagents work in isolation, can't communicate with each other +- you can't guide them mid-task +- main agent only receives their final summary + +DO NOT USE: +- "servant" — too hierarchical, not in amp's lexicon +- "worker" — too generic +- "assistant" — too anthropic-product-specific +- "bot" — too 2018 +- "AI" as a noun for the agent + +--- + +## tools and extensibility + +### tool categories +- **tool**: something the agent can invoke (Bash, Read, edit_file, etc.) +- **toolbox**: user-defined executable scripts that extend amp (via `AMP_TOOLBOX` env var) +- **skill**: lazily-loaded instructions for specialized tasks +- **custom command**: pre-defined or dynamically-generated prompts (formerly "slash commands") +- **MCP server**: model context protocol for external tool providers + +### skill structure +- **skill directory**: `.agents/skills/` or `~/.config/amp/skills/` +- **SKILL.md**: the instruction file inside a skill directory +- skills "let the agent lazily-load specific instructions" + +### toolbox pattern +- executable with `TOOLBOX_ACTION=describe` returns tool description +- executable with `TOOLBOX_ACTION=execute` runs the tool +- input via stdin, output via stdout + +--- + +## modes + +| mode | description | model | +|------|-------------|-------| +| **smart** | unconstrained state-of-the-art models (default, paid) | Claude Opus 4.5 | +| **rush** | faster, cheaper, less capable — for well-defined tasks | Claude Haiku 4.5 | +| **free** | free tier with basic models, ad-supported | various | + +"a rushed job is faster and cheaper in the moment, and sometimes that's more important than quality" + +### when to use rush +- small bugs, small UI changes, minor features +- "mention the files that need to be changed" +- don't use for: complex tasks, new end-to-end features, bugs with no clear diagnosis, architecture refactors + +--- + +## files and configuration + +| file | purpose | +|------|---------| +| **AGENTS.md** | project/user guidance files | +| **AGENT.md** | legacy name, still supported | +| **CLAUDE.md** | also supported for compatibility | +| **SKILL.md** | skill instruction file | +| **.agents/commands/** | custom command definitions | +| **.agents/skills/** | workspace skills | + +### AGENTS.md features +- @-mentions for including other files +- `globs` frontmatter for conditional inclusion +- subtree AGENTS.md files included when agent reads files in that subtree + +--- + +## actions / verbs + +| amp term | meaning | +|----------|---------| +| **spawn** | create a new subagent | +| **handoff** | transfer focused context to a new thread | +| **fork** | duplicate thread history | +| **reference/mention** | link to a thread to pull context from it | +| **switch** | move between threads | +| **continue** | resume an existing thread | +| **restore** | reset thread to a previous message | +| **edit** | modify a previous message | +| **summon** | invoke a named subagent (e.g., "summon the librarian") | +| **invoke** | use a tool | + +--- + +## execution modes + +| mode | flag | description | +|------|------|-------------| +| **interactive** | (default) | can guide the agent | +| **execute** | `-x` or `--execute` | fire-and-forget single prompt | +| **stream-json** | `--stream-json` | machine-readable output | + +"execute mode allows for programmatic use of the Amp CLI" + +--- + +## environment variables + +| var | purpose | +|-----|---------| +| `AMP_CURRENT_THREAD_ID` | current thread ID | +| `AMP_TOOLBOX` | path to toolbox directory | +| `AMP_API_KEY` | API key for headless use | +| `TOOLBOX_ACTION` | `describe` or `execute` | + +--- + +## UI/UX terminology + +- **command palette**: `Ctrl+O` / `Alt+O` — replaces slash commands +- **prompt field**: where you type messages +- **transcript**: the visible conversation history +- **thread feed**: list of threads at ampcode.com/threads +- **token usage hover**: shows context window usage percentage + +--- + +## model evaluation language + +from internal discussions: +- "warts" — known imperfections +- "rough edges" — behaviors that aren't polished +- "steerable" — model follows instructions well +- "persistent" — model keeps working until task is done +- "effusive" — model talks too much (negative) +- "terse and direct" — desirable output style +- "research loops" — model keeps reading files unnecessarily +- "gives up" — model stops before completing task + +--- + +## anti-patterns (from FIF) + +things amp explicitly rejects: +- model switcher dropdown — "building deeply into model capabilities yields the best product" +- edit-by-edit approval — "traps you in a local maximum" +- hiding agent work — "sets expectations too high" +- private-by-default threads — "shared by default results in more threads being shared" +- auto-compaction — "reduces quality and creates inconsistent experience" +- .ampignore file — "actively harmful: hiding files encourages creative workarounds" +- background process management — caused too many problems + +--- + +## naming conventions + +### for skills +based on existing amp-contrib skills: +- **tmux**: lowercase, single word +- **bigquery**: lowercase, compound +- **web-browser**: lowercase, hyphenated compound + +### suggested pattern +- ~~spawn-servant~~ → **spawn** (aligns with "spawn another agent", "spawn the search agent") +- keep names short, lowercase, descriptive + +--- + +## example phrases in amp voice + +### good +- "short threads are best" +- "agents get drunk if you feed them too many tokens" +- "spawn a subagent for this task" +- "handoff to a new thread" +- "keep threads focused" +- "this is essentially all there is" +- "300 lines of code and three tools" +- "practical engineering and elbow grease" +- "everything is changing" +- "happy hacking" + +### avoid +- "leverage the power of AI" +- "seamlessly integrate" +- "unlock productivity" +- "supercharge your workflow" +- "servant agent" +- "your AI assistant" +- any emoji +- excessive exclamation points +- "you're absolutely right" + +--- + +## quotable passages + +> "It's an LLM, a loop, and enough tokens. The rest, the stuff that makes Amp so addictive and impressive? Elbow grease." + +> "Agents get drunk if you feed them too many tokens. I don't know how to explain it better than this — they act drunk." + +> "We consciously haven't pushed the oracle too hard in the system prompt, to avoid unnecessarily increasing costs for you or slowing you down." + +> "Threads as first-class entities — shareable, reusable, referenceable — has the potential to unlock new patterns for agentic programming." + +> "What we want to encourage are focused threads, because we think that's how agents yield the best results." + +> "Staying on the frontier means sometimes shipping despite issues — and sometimes shipping something better a week later." + +> "There isn't [a secret]. It's an LLM, a loop, and enough tokens." + +--- + +## sources + +- https://ampcode.com/manual +- https://ampcode.com/how-we-build +- https://ampcode.com/fif +- https://ampcode.com/agents-for-the-agent +- https://ampcode.com/200k-tokens-is-plenty +- https://ampcode.com/how-to-build-an-agent +- https://ampcode.com/news/handoff +- https://ampcode.com/news/thread-map +- https://ampcode.com/news/agent-skills +- https://ampcode.com/news/oracle +- https://ampcode.com/news/librarian +- https://ampcode.com/news/rush-mode +- https://ampcode.com/news/amp-free +- https://ampcode.com/news/toolboxes +- https://ampcode.com/news/amp-x +- https://ampcode.com/news/read-threads +- https://ampcode.com/news/find-threads +- https://ampcode.com/news/look-at +- https://ampcode.com/news/command-palette +- https://ampcode.com/news/custom-slash-commands +- https://ampcode.com/news/gemini-3 +- https://ampcode.com/news/opus-4.5 +- https://ampcode.com/news/model-evaluation +- https://ampcode.com/news/no-more-byok +- https://ampcode.com/news/towards-a-new-cli +- https://ampcode.com/news/look-ma-no-flicker +- https://ampcode.com/news/AGENT.md +- https://ampcode.com/news/AGENTS.md +- https://ampcode.com/guides/context-management +- https://ampcode.com/models +- https://ampcode.com/pricing diff --git a/user/agents/skills/coordinate/SKILL.md b/user/agents/skills/coordinate/SKILL.md new file mode 100644 index 00000000..2d95ed5b --- /dev/null +++ b/user/agents/skills/coordinate/SKILL.md @@ -0,0 +1,61 @@ +--- +name: coordinate +description: "orchestrate multiple amp agents with bidirectional tmux communication. use for multi-hour autonomous runs with INDEPENDENT parallel tasks. NOT for review courts or generating opinions to reconcile." +--- +# coordinate + +orchestrate multiple amp agents. you are the coordinator — agents report to you, you delegate and unblock. + +## when NOT to use + +before coordinating multiple agents, ask: + +1. **is there a single source of truth?** if verifiable against one file/spec/query, do it yourself. +2. **will agents produce conflicting findings?** if task is evaluative (judging claims), a single careful pass is cleaner than reconciling disagreements. +3. **do i have explicit exit criteria?** multi-agent work without convergence criteria produces unbounded reconciliation work. + +coordinate is for parallelizing INDEPENDENT work. don't spawn review courts when you can read the code yourself. + +## spawn + +use the `spawn` skill: + +```bash +AGENT=$(../spawn/scripts/spawn-amp "<task>") +``` + +## messaging + +agent → coordinator (via pane id from spawn instructions): +```bash +tmux send-keys -t %5 'AGENT $NAME: <message>' C-m +``` + +coordinator → agent: +```bash +tmux send-keys -t $AGENT "COORDINATOR: <instruction>" C-m +``` + +direct send-keys is preferred. slash commands (like /queue) are unreliable over tmux — timing issues cause messages to be cut off or missed. + +## monitoring + +```bash +tmux capture-pane -p -t $AGENT | tail -30 +``` + +ALWAYS capture before any disruptive action (messaging, killing). never act blind. + +## control + +```bash +tmux list-windows -F '#W' # list agents +tmux kill-window -t $AGENT # cleanup (observe first) +``` + +## pitfalls + +- slash commands unreliable over tmux — use direct messages instead +- permission prompts require arrow keys + enter. ask user to handle manually +- agents can't run sudo with password. have user run, then verify +- `send-keys -t name` targets window name (agents), `-t %4` targets pane id (coordinator callback) diff --git a/user/agents/skills/dig/SKILL.md b/user/agents/skills/dig/SKILL.md new file mode 100644 index 00000000..276ac459 --- /dev/null +++ b/user/agents/skills/dig/SKILL.md @@ -0,0 +1,166 @@ +--- +name: dig +description: systematic investigation and debugging methodology. hypothesis-driven analysis with verification agents. use for incident response, codebase archaeology, dependency mapping, root cause analysis, or any investigation requiring verified findings. +--- + +# dig + +structured approach to investigations that produces verified, actionable findings. + +**load first:** `review` — provides epistemic standards (trace or delete, label confidence, falsify don't confirm). dig assumes these are active. + +## core principles + +1. **trust code over assumptions** — never assume intent. check git history. +2. **scripts > docs** — extraction scales, documentation doesn't. +3. **bidirectional analysis** — traverse dependencies forward AND reverse. +4. **autonomous discovery** — use seeds and graph traversal, don't hardcode. + +## investigation phases + +### phase 1: map + +scope the problem. identify seeds (entry points) for traversal. + +``` +1. define the question precisely +2. identify seed artifacts (files, functions, types, API endpoints) +3. choose traversal strategy: + - reverse: seed → importers → consumers (finds affected scope) + - forward: seed → dependencies → leaves (finds implementation details) + - bidirectional: both (complete picture) +4. extract, don't document — write scripts that produce structured output +``` + +when to check git: +- `git blame <file>` — who wrote this line? when? why? +- `git log -p --follow -- <file>` — full history of a file +- `git log --all --oneline -- <path>` — find when something was introduced +- `git log --grep="<term>"` — find commits mentioning a concept + +### phase 2: verify + +spawn verification agents to fact-check analysis claims. + +``` +for each major claim: + 1. spawn a verification agent with ONLY the claim + file paths + 2. agent must independently confirm or refute + 3. record: VERIFIED, REFUTED, or INCONCLUSIVE +``` + +verification agent prompt template: +``` +verify this claim: "<claim>" +files to check: <file list> +do not assume the claim is correct. +check the actual code and report what you find. +``` + +anti-patterns: +- trusting oracle/LLM statements without code verification +- assuming wrapper names without grep confirmation +- documenting before extracting + +### phase 3: synthesize + +structure findings for consumption. + +**tables** for enumeration: +| location | code | effect | +|----------|------|--------| + +**trees** for relationships: +``` +RootComponent +├── ChildA → uses Feature +└── ChildB + └── GrandchildC → also uses Feature +``` + +**appendices** for exhaustive lists (don't clutter main findings). + +## output structure + +```markdown +# <investigation title> + +## summary +one paragraph. what did we find? + +## context +why are we investigating? link to trigger (slack, ticket, etc.) + +## findings +### 1. <finding title> +<evidence with file links> +<code snippets> + +### 2. <finding title> +... + +## open questions +numbered list of things we couldn't verify + +## appendices +- [detailed-list-a.md](./detailed-list-a.md) +- [detailed-list-b.md](./detailed-list-b.md) + +## related threads +table of amp thread links with descriptions +``` + +## verification agent pattern + +when coordinating investigation: + +``` +1. spawn analysis agents (stores, routes, components, etc.) + - each produces claims with file:line citations + +2. collect claims from all analysis agents + +3. spawn verification agents (1 per analysis agent) + - input: claims + file paths only + - output: VERIFIED/REFUTED/INCONCLUSIVE for each claim + +4. synthesizer combines verified claims into report +``` + +this catches: +- oracle hallucinations +- outdated information +- claims about files that changed since analysis started + +## autonomous discovery + +never hardcode component lists. instead: + +```bash +# start from seeds +SEEDS=$(grep -rl "import.*from.*deprecated-lib" --include="*.ts") + +# build import graph +for seed in $SEEDS; do + # find importers (reverse) + grep -rl "import.*from.*$seed" --include="*.ts" + + # find imports (forward) + grep "^import" "$seed" | extract_paths +done +``` + +bidirectional traversal discovers components you didn't know existed. + +## when to use + +- production incident with unclear root cause +- "how does this feature actually work?" +- dependency upgrade impact assessment +- "why was this designed this way?" (git archaeology) +- mapping blast radius of a refactor + +## references + +- [AXM-10608-investigation-report.md](references/AXM-10608-investigation-report.md) — multi-dataset assumption mapping +- [2025-10-22T21:50-process-summary.md](references/2025-10-22T21:50-process-summary.md) — rc-menu dependency discovery evolution diff --git a/user/agents/skills/dig/references/2025-10-22T21:50-process-summary.md b/user/agents/skills/dig/references/2025-10-22T21:50-process-summary.md new file mode 100644 index 00000000..d4c9577a --- /dev/null +++ b/user/agents/skills/dig/references/2025-10-22T21:50-process-summary.md @@ -0,0 +1,156 @@ +# rc-menu dependency mapping: process summary + +**date**: 2025-10-22 +**goal**: map all usages and dependents of rc-menu/rc-dropdown for migration +**outcome**: autonomous discovery via import graph traversal + +## evolution + +### manual docs (2025-10-16 → 2025-10-21) +- hand-documented components, made wrong assumptions +- oracle review found gaps (missed css, behavior deps) +- oracle made WRONG claim: daterange uses radix (it doesn't, uses rc-menu) +- human+oracle estimates: 2-45 files impacted +- **lesson**: documentation without code extraction = fiction + +### hardcoded extraction (2025-10-21T16:30) +- bash scripts with hardcoded component lists +- validated daterange DOES use rc-menu (oracle was wrong) +- found 1928 total files, 1132 ui components, 24 pages +- **problem**: inherited human bias via hardcoded arrays +- estimates were better but still assumed we knew all wrapper names + +### first autonomous attempt (2025-10-21T20:53) +- removed hardcoded component names +- walked imports from rc-* seeds recursively +- discovered complete transitive closure +- **problem**: only traversed reverse graph (importers), missed components that wrappers import + +### current: bidirectional graph (2025-10-22T21:50) +- builds BOTH import directions (A imports B, B imported-by A) +- discovers pages via reverse BFS (seed → importers → pages) +- discovers intermediate components via forward inspection (page imports what?) +- found 21 distinct menu implementations, not 4 +- **works**: discovers MultistageDropdown, EllipsisMenu, all context menus, etc. + +## why the bidirectional approach + +the reverse-only approach missed components bc: +``` +Page → FilterDropdown → MultistageDropdown → Dropdown_DEPRECATED (seed) +``` + +reverse BFS finds: `Dropdown_DEPRECATED ← FilterDropdown ← Page` + +but MultistageDropdown is in FilterDropdown's FORWARD imports, not on the reverse path. + +solution: +1. reverse BFS to find affected pages (fast) +2. forward inspection to find ALL menu components each node imports +3. collect union of all menu components across all paths + +## what we found + +### 21 menu implementations (not 4) +discovered without hardcoding: +- MultistageDropdown, MultistageMenu (hierarchical filter menus) +- DateRangeDropdown, DateRangeMenu, DateInputMenuRenderer, DateCompareAgainstDropdown (date pickers) +- FilterDropdown, IntegrationFilterDropdown (filter UIs) +- EllipsisMenu, ContextMenu_deprecated (action menus) +- FieldsDropdownMenu, FieldsContextMenu, NumberContextMenu, SpotlightVerticalBarChartContextMenu (field/chart menus) +- EventsTableSettingsMenu, MonitorSettingsDropdown, AnnotationsMenu (settings menus) +- ListMenu, Menu.utils.tsx (utilities) +- Menu_deprecated, DropdownMenu_deprecated, Dropdown_DEPRECATED (base wrappers) + +### pages affected +varies by component: +- FilterDropdown: 11 pages (datasets, logs, queries) +- MultistageDropdown: 11 pages (filter builders everywhere) +- DateRangeDropdown: 4 pages (dashboards, insights, usage, logs) +- EventRow menus: 38 pages (any page with events table) + +### the tree structure +shows import chains from each menu component to pages: +``` +MultistageDropdown.tsx +└── Dropdown_DEPRECATED.tsx + └── FilterDropdown.tsx + ├── -field.actions.tsx + │ ├── datasets-and-views/route.tsx + │ └── _authed/_org/$orgId/(datasets)/datasets/route.tsx + └── LogsStreamFilter.tsx + └── LogsStreamPage.tsx +``` + +## key technical decisions + +### why not forward-only BFS? +pages don't import seeds directly. can't find affected pages by walking forward from seeds. + +### why not full path enumeration? +combinatorial explosion. 1928 files × multiple paths = unreadable. +we show one canonical tree per component (shortest or most "menu-like" path). + +### why dedupe by page+component? +same page might reach same menu component via multiple paths. keep shortest. + +### generic wrapper exclusion +`Dropdown_DEPRECATED`, `Menu_DEPRECATED`, `DropdownMenu_DEPRECATED` are TOO generic - everything uses them. +exclude from "implementation" detection so we see the SPECIFIC menu (e.g., MultistageDropdown). + +### route.tsx → full paths +`route.tsx` is useless alone. show `_authed/_org/$orgId/flows/route.tsx` instead. + +## migration implications + +### scope +not 4 components, but 21. each needs assessment: +- can we drop-in replace with radix? +- does it have custom keyboard nav? +- does it use rc-menu's css classes? +- what behavior contracts does it assume? + +### critical paths +focus on high-usage components first: +1. FilterDropdown + MultistageDropdown (11 pages each) +2. EventRow menus (38 pages via EventsTable) +3. DateRangeDropdown (4 pages, complex form state) + +### behavior preservation +still need manual analysis of: +- keyboard nav patterns (arrow keys, enter, esc) +- focus trap logic +- css class coupling (`.axiom-dropdown`, `.axiom-menu-item`) +- keyboardShortcuts.ts detection of open menus + +## how to use + +### run +```bash +cd "AGENTS/bdsqqq/tasks/AXM-9631 delete rc-menu" +bun 2025-10-22T21:50-trace-rc-menu.ts +``` + +### output +`2025-10-22T21:50-rc-menu-usage.md` - tree view of all 21 menu components and their pages + +### track progress +as you migrate components, re-run script. when a menu component has 0 pages, it's done. + +## lessons + +### for this task +1. **trust code over assumptions** - oracle+human both wrong about daterange +2. **bidirectional graphs matter** - forward imports ≠ reverse imports +3. **heuristics over perfection** - "files with Menu/Dropdown in name" catches 95%+ of cases +4. **generic exclusion needed** - base wrappers are noise, show specific implementations + +### for future +1. **never hardcode component names** - use discovery from seeds +2. **test both directions** - reverse finds pages, forward finds intermediate components +3. **scripts > docs** - extraction scales, documentation doesn't +4. **visualization matters** - trees show relationships, flat lists don't + +--- + +**bottom line**: autonomous bidirectional graph traversal found 21 menu implementations, not 4. trust the import graph, not your mental model. diff --git a/user/agents/skills/dig/references/AXM-10608-investigation-report.md b/user/agents/skills/dig/references/AXM-10608-investigation-report.md new file mode 100644 index 00000000..b8b063cd --- /dev/null +++ b/user/agents/skills/dig/references/AXM-10608-investigation-report.md @@ -0,0 +1,182 @@ +# AXM-10608: single-dataset assumptions in axiom console + +**authors**: investigation conducted via amp agents, answers provided by igor bedesqui +**date**: 2026-01-07 + +--- + +## summary + +this document compiles findings from an investigation into single-dataset assumptions in the axiom console frontend. the investigation was triggered by olly's slack message regarding regions work. + +--- + +## context + +from olly's slack message ([link](https://watchlyhq.slack.com/archives/C03F7RUN10T/p1767733184455849)): + +> with the new regions work, datasets can belong to different regions, we need to track ALL datasets in a query (like joins) → this will likely impact so much that its actually quite difficult + +### apl multi-dataset syntax + +apl (axiom processing language) supports two multi-dataset patterns: + +- **union**: `['dataset-a'] | union ['dataset-b']` +- **join**: `['dataset-a'] | join (['dataset-b']) on field` + +the syntax `['dataset-a', 'dataset-b']` was not found in [axiom apl docs](https://axiom.co/docs/apl/tabular-operators/overview) or manual testing (per [verification thread](https://ampcode.com/threads/T-019b9564-75c6-72ac-be8d-d8f1ed2422ba)). join is in public preview with limitations: inner join only, 50k row limits (per [axiom docs](https://axiom.co/docs/apl/tabular-operators/join-operator)). + +--- + +## findings + +### 1. backend returns array, frontend uses first element + +igor ran a join query between `plain-support-agent-traces` and `plain-support-agent-feedback`. the response included: + +```json +"datasetNames": ["plain-support-agent-feedback", "plain-support-agent-traces"] +``` + +the frontend extracts only the first element at these locations: + +| location | code | effect | +|----------|------|--------| +| [DatasetStore.ts:1514](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/DatasetStore.ts#L1514) | `datasetNames[0]` | sets `selectedDatasetId` after query execution | +| [ElementsDatasetStore.ts:349](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/ElementsDatasetStore.ts#L349) | `datasetNames?.[0]` | determines which dataset's field metadata to use | +| [api.ts:250](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/util/api.ts#L250) | discards `datasetNames` | transforms query results for legacy Result type | + +### 2. field types show as "unknown" for join queries + +igor observed that join query results display most fields as "unknown" type in the UI. only `_time` retained its type. + +the response included `"fieldsMetaMap": {}` (empty object). the cascade: + +1. `fieldsMetaMap` is empty +2. [ElementsDatasetStore.ts:349](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/ElementsDatasetStore.ts#L349) sets `fieldsMeta = undefined` +3. [fields.ts:47-68](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/util/fields.ts#L47-L68) returns `{ name, type: undefined }` for each field +4. [EventsTableStore.ts:522](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/EventsTableStore.ts#L522) falls back to `type || 'unknown'` + +**hunch** (unverified): the backend may not populate `fieldsMetaMap` for joins because the map is keyed by dataset name, and joined fields don't cleanly belong to a single dataset. + +### 3. join queries return 500 in dashboards + +igor observed a 500 response when attempting to add a join query to a dashboard. + +no frontend validation was found that blocks joins. the frontend type system assumes singular datasets ([DashboardsStore.types.ts:77](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/DashboardsStore.types.ts#L77): `datasetId?: string`), but this would cause incorrect behavior, not HTTP errors. the 500 is likely backend rejection (unverified—no backend code was inspected). + +### 4. permissions + +igor confirmed: "apex handles permissions, you can only query datasets you have access to." + +--- + +## where single-dataset assumptions exist + +### stores (MobX) + +a central root is `DatasetStore.selectedDatasetId: string | undefined` at [line 162](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/DatasetStore.ts#L162). query stores inherit from `DatasetStore`: + +``` +DatasetStore.selectedDatasetId (L162) + ↓ inheritance +QueryViewStore extends DatasetStore + ↓ +ElementsDatasetStore uses QueryResult.datasetId +``` + +15 store files reference `selectedDatasetId` or `activeDataset` (per `grep -l "selectedDatasetId\|activeDataset" apps/console/src/dash/stores/*.ts`): +- [AnalyticsStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/AnalyticsStore.ts) +- [DashboardsStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/DashboardsStore.ts) +- [DatasetStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/DatasetStore.ts) +- [ElementsDatasetStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/ElementsDatasetStore.ts) +- [EventsTableStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/EventsTableStore.ts) +- [LogStreamChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/LogStreamChartStore.ts) +- [LogStreamStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/LogStreamStore.ts) +- [LogStreamViewStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/LogStreamViewStore.ts) +- [PieChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/PieChartStore.ts) +- [QueryViewStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/QueryViewStore.ts) +- [SettingsStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/SettingsStore.ts) +- [StatisticChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/StatisticChartStore.ts) +- [TableChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/TableChartStore.ts) +- [TimeSeriesChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/TimeSeriesChartStore.ts) +- [TopkChartStore.ts](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/dash/stores/TopkChartStore.ts) + +### url parameters + +**path parameters** (3 top-level routes with singular dataset params): +- [`/$orgId/stream/$datasetId`](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/routes/_authed/_org/%24orgId/stream/%24datasetId.tsx) +- [`/$orgId/datasets/$dataset`](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/routes/_authed/_org/%24orgId/%28datasets%29/datasets/%24dataset/route.tsx) (with nested field routes) +- [`/$orgId/settings/datasets/$datasetId`](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/routes/_authed/_org/%24orgId/settings/datasets/%24datasetId/route.tsx) (with nested modal routes) + +**search parameters**: +- `did` — defined at [--route.utils.ts:8](file:///Users/bdsqqq/www/AXM-10608-investigate-dataset-tracking/apps/console/src/routes/_authed/_org/%24orgId/--route.utils.ts#L8). consumed by QueryViewStore, DashboardsStore, queryPageMachine. +- `traceDataset` — trace viewer context. + +### components + +39 component files reference `activeDataset` (see [appendix: component-files-activeDataset.md](./component-files-activeDataset.md) for full list). these span field pickers, filter chips, query form builders, dashboard editors, and the spotlight machine context. + +--- + +## open questions + +1. why was `selectedDatasetId` designed as singular? (igor joined march 2023, after these patterns were established—earliest commits referencing `selectedDatasetId` date to 2020 per git blame, see [git history analysis thread](https://ampcode.com/threads/T-019b954b-1d1d-718a-b981-84d477b761fb).) + +2. is the dashboard 500 for joins intentional? + +3. why does `fieldsMetaMap` return empty for joins? + +4. will queries ever span regions? + +--- + +## appendices + +- [datasetNames-extraction-points.md](./datasetNames-extraction-points.md) — complete list of extraction points +- [fieldsMetaMap-investigation.md](./fieldsMetaMap-investigation.md) — field metadata flow and fallback logic +- [dashboard-join-limitation.md](./dashboard-join-limitation.md) — dashboard query submission analysis +- [url-params-dataset.md](./url-params-dataset.md) — complete URL parameter mapping +- [knowledge-gaps-resolved.md](./knowledge-gaps-resolved.md) — questions answered by igor +- [component-files-activeDataset.md](./component-files-activeDataset.md) — 39 component files referencing `activeDataset` + +--- + +## acknowledgments + +- igor bedesqui (@bdsqqq) — provided domain context, ran verification queries, answered knowledge gap questions +- olly — original slack message identifying the need + +--- + +## related threads + +all threads are workspace-visible. + +### main threads + +| thread | description | +|--------|-------------| +| [T-019b998c-25bf-701c-a493-f688af5bd144](https://ampcode.com/threads/T-019b998c-25bf-701c-a493-f688af5bd144) | multi-dataset tracking for regions work (consolidation) | +| [T-019b9544-b42b-75bf-af3f-c274d150217e](https://ampcode.com/threads/T-019b9544-b42b-75bf-af3f-c274d150217e) | map dataset assumption across codebase (main investigation) | + +### initial analysis agents + +| thread | description | +|--------|-------------| +| [T-019b954a-9af1-70b8-8d55-4cea02f744cf](https://ampcode.com/threads/T-019b954a-9af1-70b8-8d55-4cea02f744cf) | stores agent single-dataset assumption analysis | +| [T-019b954a-c4e5-76cd-8245-ec786aadbc78](https://ampcode.com/threads/T-019b954a-c4e5-76cd-8245-ec786aadbc78) | routes agent single-dataset assumption analysis | +| [T-019b954a-ee7d-774c-be66-2bdcfff25aaa](https://ampcode.com/threads/T-019b954a-ee7d-774c-be66-2bdcfff25aaa) | single-dataset assumption analysis in react components | +| [T-019b954b-1d1d-718a-b981-84d477b761fb](https://ampcode.com/threads/T-019b954b-1d1d-718a-b981-84d477b761fb) | git history analysis for single-dataset patterns | + +### verification agents + +| thread | description | +|--------|-------------| +| [T-019b9563-5760-73ef-a031-fc093c35ba7c](https://ampcode.com/threads/T-019b9563-5760-73ef-a031-fc093c35ba7c) | verify stores-analysis claims | +| [T-019b9563-860d-704f-b42a-8d4e1c2b8ec1](https://ampcode.com/threads/T-019b9563-860d-704f-b42a-8d4e1c2b8ec1) | fact-check routes-analysis claims | +| [T-019b9563-b0c9-716f-aa74-dd00a21b7870](https://ampcode.com/threads/T-019b9563-b0c9-716f-aa74-dd00a21b7870) | verify components analysis claims | +| [T-019b9564-5af0-72df-abad-75cff8000730](https://ampcode.com/threads/T-019b9564-5af0-72df-abad-75cff8000730) | verify git history claims | +| [T-019b9564-75c6-72ac-be8d-d8f1ed2422ba](https://ampcode.com/threads/T-019b9564-75c6-72ac-be8d-d8f1ed2422ba) | verify APL syntax and backend claims | +| [T-019b9566-c451-765d-a55c-016b596d481d](https://ampcode.com/threads/T-019b9566-c451-765d-a55c-016b596d481d) | verify components analysis claims | +| [T-019b9566-c47f-75de-9a05-476670f1a9f1](https://ampcode.com/threads/T-019b9566-c47f-75de-9a05-476670f1a9f1) | git history claims verification | diff --git a/user/agents/skills/document/SKILL.md b/user/agents/skills/document/SKILL.md new file mode 100644 index 00000000..455e8190 --- /dev/null +++ b/user/agents/skills/document/SKILL.md @@ -0,0 +1,88 @@ +--- +name: document +description: apply documentation philosophy — explain why, not what. use for jsdocs, READMEs, inline comments. +--- + +# document + +apply documentation philosophy: explain why, not what. + +## when to use + +- writing jsdocs for components or functions +- updating README or project docs +- adding inline comments during implementation +- reviewing existing documentation for cleanup + +## workflow + +1. check if documentation is needed — if it describes obvious behavior, skip it +2. identify the non-obvious why: design constraints, behavioral consequences, inheritance warnings +3. write terse, lowercase prose +4. delete anything that merely restates the code + +## quick reference: why over what + +**delete this:** +```typescript +/** context provider that wraps children in a DisclosureProvider. */ +``` + +**keep this:** +```typescript +/** + * blocks CompositeContext so nested Lists create isolated focus loops. + * essential for "Simple API" goal — our List is "greedy" and would + * otherwise join parent's arrow-key navigation. + */ +``` + +## what to document + +- design rationale and constraints +- context shadowing / inheritance warnings +- non-obvious behavioral consequences +- internal decisions affecting correctness + +## what to delete + +- obvious behavior ("renders a button") +- what the function name already says +- what types already express + +## jsdoc structure + +```typescript +/** + * one-line description of purpose or behavior. + * + * additional context if design rationale is complex (keep brief). + * + * @prop propName - what it does + * @example + * ```tsx + * <Component>content</Component> + * ``` + */ +``` + +## maintainer notes + +preserve `@bdsqqq notes` or similar when they explain non-obvious decisions: + +```typescript +/** + * @bdsqqq notes: alpha colors avoided for strokes due to compounding + * overlap issues at intersection points. + */ +``` + +## colocate context with code + +jsdocs are source of truth. upon finishing a task, colocate valuable context as jsdocs — only notes that explain non-obvious why. delete everything else. + +## tone + +- lowercase only (ALL CAPS for emphasis) +- terse, no unsupported claims +- specific over general; describe, don't emote diff --git a/user/agents/skills/document/references/05-documentation-philosophy.md b/user/agents/skills/document/references/05-documentation-philosophy.md new file mode 100644 index 00000000..9fd29595 --- /dev/null +++ b/user/agents/skills/document/references/05-documentation-philosophy.md @@ -0,0 +1,107 @@ +# documentation philosophy + +extracted from amp jsdoc style guide and voice standards. + +## core principle: only document the non-obvious why + +documentation should explain rationale and design constraints, not describe what code does. if it simply describes behavior, delete it. + +### what to document + +- design rationale and constraints (why a choice was necessary) +- context shadowing and inheritance warnings +- non-obvious behavioral consequences +- css variables and configuration options +- internal decisions that affect correctness + +### what NOT to document + +- obvious behavior ("renders a button" for a Button component) +- implementation details users don't need to know +- what the function name already tells you +- descriptions that could be inferred from type signatures + +## the pattern: why over what + +bad example (describes what): +```typescript +/** + * context provider that wraps children in a DisclosureProvider. + * provides open, closed, and setOpen states. + */ +``` + +good example (explains why): +```typescript +/** + * blocks the CompositeContext so nested Lists create their own isolated focus loops. + * + * used internally by FloatingContent to ensure popover menus don't join + * the parent's arrow-key navigation. + * + * this is essential for our "Simple API" goal. + * our `List` component is "greedy"—if it sees a parent `CompositeContext`, it joins it. + * by blocking the context here, we force the nested `List` to see `null`, triggering it + * to create its own fresh `CompositeStore` (and thus its own isolated focus loop). + */ +``` + +the second explains *why blocking exists* and its consequence for the system. that's worth documenting. + +## tone and voice + +### formatting + +- **lowercase prose ONLY** — no sentence case, title case, or capitalization +- ALL CAPS only for emphasis (rare) +- Initial Letter Capitalization reserved for sarcasm toward capitalized nouns +- be terse while conveying substantially all relevant information + +### content rules + +- make no unsupported claims. if you can't defend it, delete or label as hunch +- avoid absolutist language. prefer "a problem" to "the problem" +- be precise and specific; describe, don't emote +- avoid hyperbole; adjectives should clarify, not persuade +- critique freely, avoid sycophancy + +## when to preserve internal notes + +keep `@bdsqqq notes` or similar inline comments when they explain non-obvious decisions that users of the code should know: + +```typescript +/** + * connector line component. + * + * @bdsqqq notes: alpha colors avoided for strokes due to compounding + * overlap issues at intersection points. + */ +``` + +this tells future maintainers *why* a choice was constrained, not just what was done. + +## jsdoc structure + +minimal format: + +```typescript +/** + * one-line description of purpose or behavior. + * + * additional context if design rationale is complex (keep brief). + * + * @prop propName - what it does + * @example basic usage + * ```tsx + * <Component>content</Component> + * ``` + */ +``` + +examples should show one thing and fit the pattern users already know. + +## colocate context with code + +jsdocs are the source of truth. external docs are pulled from code at build time (ariakit pattern). this keeps documentation fresh and forces writers to explain *why* to future maintainers reading the code. + +upon finishing a task, colocate valuable context as jsdocs with the code. only keep notes that explain non-obvious why; delete everything else. diff --git a/user/agents/skills/git/SKILL.md b/user/agents/skills/git/SKILL.md new file mode 100644 index 00000000..00fc9bf8 --- /dev/null +++ b/user/agents/skills/git/SKILL.md @@ -0,0 +1,55 @@ +--- +name: git +description: "git workflows for agents: ship (stage → commit → push), worktree (parallel branches), hunks (selective staging). never force push, never git add -A, conventional commits. triggers on: commit, push, stage, ship, git add, worktree, hunks, selective staging." +--- +# git + +## constraints + +- stage files explicitly, NEVER `git add -A` (unstaged changes may not be yours) +- NEVER force push (`--force`, `-f`, `--force-with-lease`) +- if unsure which changes are yours, ask user +- commit format: `type(scope): description` (lowercase, imperative) +- types: `feat` `fix` `docs` `style` `refactor` `perf` `test` `chore` +- prefer `gh` cli for github operations (PRs, issues, repo info) — auth is pre-configured via sops + +## ship + +stage YOUR changes, commit, push. + +```bash +git status +git add <your-files> +git diff --staged +git commit -m "type(scope): description" +git push +``` + +if push fails (divergence): `git fetch origin && git rebase origin/main && git push` + +## hunks + +selective staging without interactive mode. + +```bash +git hunks list # shows hunks with IDs +git hunks add <id> # stages specific hunk +git hunks add 1 3 5 # stage multiple hunks +``` + +use when you need to split changes across commits. + +## worktree + +parallel branches in sibling directories. + +```bash +wt <name> # create worktree + new branch (authoring) +wt pr <number> # create worktree from PR's remote branch (reviewing) +git worktree list # see all +git worktree remove ../<name> # cleanup +``` + +`wt` checks for `./bare-repo.git` and uses it as git dir if present. + +naming: `axm-{id}` / `ai-{id}` for authoring (Linear issue), `pr-{number}` for reviewing. diff --git a/user/agents/skills/remember/SKILL.md b/user/agents/skills/remember/SKILL.md new file mode 100644 index 00000000..78ac2290 --- /dev/null +++ b/user/agents/skills/remember/SKILL.md @@ -0,0 +1,129 @@ +--- +name: remember +description: "record context that would help in future sessions. use after learning something, discovering a gotcha, or making a decision worth preserving. test: would a future agent starting fresh benefit from knowing this?" +--- + +# remember + +record memories for future retrieval. no database—files are the memory, retrieved via grep. + +## configuration + +set `$MEMORY_ROOT` to your memory directory: + +```bash +export MEMORY_ROOT="$HOME/commonplace/01_files" +``` + +if unset, defaults to `~/commonplace/01_files/`. customize paths in examples below to match your setup. + +## when to use + +- learned something that would help in future sessions +- discovered a pattern or gotcha worth preserving +- captured context that will otherwise be lost when this thread ends +- built something worth documenting for reuse + +## memory anatomy + +memories follow date-prefixed naming with two agent-specific requirements: + +1. **`source__agent` tag** — required, marks this as agent-generated +2. **frontmatter with thread URL** — records where learning happened + +``` +$MEMORY_ROOT/YYYY-MM-DD description -- source__agent.md +``` + +```yaml +--- +source: https://ampcode.com/threads/T-xxxxx +keywords: + - relevant + - searchable + - terms +--- +``` + +`keywords` are freeform tags for retrieval. + +## content + +write for your future self: + +- the insight +- why it matters +- how to apply it + +link to related memories with markdown links: `[note name]($MEMORY_ROOT/note name.md)` + +belief: connections between ideas compound value. an isolated fact is less useful than one linked to context. + +## examples + +### pattern learned + +date-prefixed naming makes chronological browsing trivial. insight in body, not filename: + +```markdown +# kanata timing on macos + +homerow mods feel laggy with default timing. 150ms tap timeout + 250ms hold +works well. the `charmod` template with fast-typing detection prevents +misfires during rapid typing. + +key insight: smart typing detection (`key-timing 3 less-than 250`) disables +homerow mods when typing fast, re-enables when pausing. +``` + +### gotcha discovered + +gotchas prevent repeat debugging sessions: + +```markdown +# nix overlay ordering + +overlays apply left-to-right. if overlay B depends on packages from overlay A, +A must come first in the list. this bit us when unstable overlay wasn't +available to later overlays. + +fix: ensure `unstable.nix` is first in the overlays list. +``` + +### decision recorded + +decisions capture the tradeoffs considered, not just the choice made: + +```markdown +# chose grep over sqlite for memory retrieval + +considered basic-memory (sqlite + vectors) but it kept corrupting on sync. +grep on flat files is: +- unbreakable (files are source of truth) +- syncthing-friendly +- human-readable +- fast enough for thousands of files + +tradeoff: no semantic search. acceptable given good naming/tagging. +``` + +## retrieval + +check for relevant memories before starting work: + +```bash +# find agent memories about a topic +ls "$MEMORY_ROOT" | grep source__agent | grep -i topic + +# search memory content +rg "topic" "$MEMORY_ROOT"/*source__agent*.md + +# recent memories +ls -t "$MEMORY_ROOT"/*source__agent*.md | head -20 +``` + +## what NOT to remember + +- session-specific context (use thread continuation instead) +- things already documented elsewhere (link instead) +- trivial facts (not worth the file overhead) diff --git a/user/agents/skills/report/SKILL.md b/user/agents/skills/report/SKILL.md new file mode 100644 index 00000000..89d77b35 --- /dev/null +++ b/user/agents/skills/report/SKILL.md @@ -0,0 +1,30 @@ +--- +name: report +description: "message coordinator as a spawned agent. use when you were spawned by coordinate/spawn and need to report progress, completion, or blockers back to the coordinator." +--- +# report + +you were spawned by a coordinator. report back to them. + +## send a message + +```bash +tmux send-keys -t <coordinator-pane> 'AGENT <your-name>: <message>' C-m +``` + +`<coordinator-pane>` and `<your-name>` were provided in your spawn instructions. + +## when to report + +- task complete +- blocked and need guidance +- found something the coordinator should know +- need clarification on scope + +don't report every step — only meaningful state changes. + +## etiquette + +- message coordinator, not peer agents. let coordinator relay between agents if needed. +- be concise. coordinator is managing multiple agents. +- prefix with `AGENT <your-name>:` so coordinator knows who's talking. diff --git a/user/agents/skills/review/SKILL.md b/user/agents/skills/review/SKILL.md new file mode 100644 index 00000000..38556562 --- /dev/null +++ b/user/agents/skills/review/SKILL.md @@ -0,0 +1,92 @@ +--- +name: review +description: "epistemic standards for evaluation and analysis. load before reviewing code, debugging, reporting findings, or any task where claims must be defensible. enforces trace-or-delete, confidence labeling, falsification." +--- + +# review + +epistemic standards for producing defensible findings. + +## when to load + +- evaluating code, docs, or designs +- debugging / root cause analysis +- codebase archaeology +- any task where you will report findings to others + +## principles + +1. **trace or delete** — every claim traces to code, logs, or data. if you can't show the evidence, delete the claim or label it a hunch. + - *prevents: pattern → fact leap* — "this looks like X" silently becomes "this IS X" + +2. **facts, not assumptions** — "the code shows X" not "this is probably X". be specific: line numbers, exact conditions, concrete paths. + - *prevents: vague language hiding weak evidence* — hedging lets you avoid committing to what you actually know + +3. **label confidence** — VERIFIED (traced), HUNCH (pattern recognition, not traced), QUESTION (needs input). never present hunches as findings. + - *prevents: false certainty* — unlabeled claims inherit unearned authority + +4. **falsify, don't confirm** — design tests that would DISPROVE your hypothesis. ask: "what would make this NOT a bug?" + - *prevents: confirmation bias* — you naturally notice supporting evidence and ignore contradictions; tunnel vision locks you into your first theory + +## quality criteria + +when evaluating contributions, check: + +1. **proven correctness** — have you seen it work? not "does the code look right" — have you actually run it? +2. **types tell the truth** — are you lying to the compiler? do abstractions match their names? +3. **naming is honest** — would someone reading this in six months be confused? +4. **edges tested** — what happens on the worst path, not just the happy path? +5. **self-consistent abstractions** — can you explain it start to finish, and each part in isolation? + +slop indicators: +- missing tests +- contradictions in abstractions +- names that lie about what they contain + +## applying to findings + +before reporting an issue: + +``` +1. can i cite the exact code location? (line numbers, file paths) +2. did i trace the actual conditions, or pattern-match? +3. did i try to prove myself wrong? +4. what's my confidence: VERIFIED / HUNCH / QUESTION? +``` + +if any answer is weak, either investigate more or label appropriately. + +## report format + +```markdown +## finding: <title> + +**confidence:** VERIFIED | HUNCH | QUESTION +**location:** file:line or range +**evidence:** what the code actually shows +**falsification attempted:** what would disprove this, did i check? +``` + +### counter-example (slop) + +```markdown +## finding: possible race condition + +**confidence:** VERIFIED +**location:** src/cache/invalidator.ts +**evidence:** the code looks like it might have a race condition because invalidate() calls multiple async functions +**falsification attempted:** none +``` + +problems: confidence says VERIFIED but evidence is "looks like" (pattern-match, not trace). no line numbers. no falsification. this is pattern→fact leap. + +### example (correct) + +```markdown +## finding: race condition in cache invalidation + +**confidence:** VERIFIED +**location:** src/cache/invalidator.ts:47-52 +**evidence:** `invalidate()` awaits `fetch()` but not `write()`. concurrent calls can read stale data between L47 fetch completing and L52 write persisting. reproduced by adding 50ms delay to write() and calling invalidate() twice in quick succession — second call returns stale value. +**falsification attempted:** checked if a mutex guards the block (none). checked if write() is synchronous (it's not — returns Promise). confirmed issue by adding delay and observing stale read. +``` diff --git a/user/agents/skills/rounds/SKILL.md b/user/agents/skills/rounds/SKILL.md new file mode 100644 index 00000000..eb6d0b3d --- /dev/null +++ b/user/agents/skills/rounds/SKILL.md @@ -0,0 +1,68 @@ +--- +name: rounds +description: "iterate with spawned agents until stable. use for verification with BOUNDED scope and explicit exit criteria. NOT for generating opinions to reconcile." +--- + +# rounds + +iterate with spawned agents until results stabilize. + +**prerequisite skills**: `spawn`, `coordinate`, `report` + +## when NOT to use + +before running multi-round review, ask: + +1. **is there a single source of truth?** if verifying against a spec or code, one agent reading carefully beats rounds of opinion-generation. +2. **do i have explicit exit criteria?** "2+ clean rounds" is built in, but you still need to define what "clean" means. +3. **is the scope bounded?** rounds on unbounded tasks produces sprawl. define what you're reviewing before starting. + +rounds is for verification where first-clean can't be trusted. don't use it to generate opinions for reconciliation. + +## core rule: don't trust first clean + +round 5 finding issues after round 4 was clean is common. run **2-3 verification rounds minimum** after issues stop appearing. + +## round lifecycle + +``` +round N: + 1. spawn agents for task (parallel if independent) + 2. wait for reports + 3. if issues → spawn fix agents → wait → proceed to N+1 + 4. if clean → proceed to N+1 anyway (verify the clean) + 5. repeat until 2+ consecutive clean rounds +``` + +## injecting skills into spawned agents + +tell spawned agents which foundation skills to load. example for code review: + +``` +load the review skill before evaluating. load the write skill for report quality. +``` + +adapt based on task: +- code review → inject `review`, `write` +- investigation → inject `review`, `dig` +- docs review → inject `review`, `write`, `document` + +## ambiguous decisions + +when agents find issues requiring product decisions ("remove feature X or implement it?"), **pause and ask user**. don't make product decisions unilaterally. + +## composition with spar + +rounds can orchestrate parallel spar debates. see `spar` skill for the full composition protocol, interface contract, and termination conditions. + +## summary format + +after completion: + +| round | result | +|-------|--------| +| 1 | 3 issues → fixed | +| 2 | clean | +| 3 | clean | + +list all changes made across fix phases. diff --git a/user/agents/skills/shepherd/SKILL.md b/user/agents/skills/shepherd/SKILL.md new file mode 100644 index 00000000..b0e0323b --- /dev/null +++ b/user/agents/skills/shepherd/SKILL.md @@ -0,0 +1,135 @@ +--- +name: shepherd +description: "watchdog for autonomous runs that will exhaust context and need handoffs. supervises tmux agents, respawns on death, orchestrates handoffs. NOT for single-session tasks." +--- + +# shepherd + +keepalive supervisor for coordinator agents. + +## when to use + +spawn a shepherd when you need a coordinator to survive across context exhaustion and agent deaths. the shepherd maintains liveness, challenges premature "done" claims, and ensures continuity via handoffs. + +## when NOT to use + +before spawning a shepherd, ask: + +1. **will this exhaust context?** shepherd is for runs needing handoffs. if task fits in one session, don't add supervision. +2. **do i have explicit termination criteria?** shepherd keeps things alive. without exit conditions, it runs forever. +3. **is this already overengineered?** shepherd → coordinator → rounds → spar → agents is a Rube Goldberg machine. simplify first. + +shepherd is for runs that will EXHAUST CONTEXT. don't use it to add ceremony to single-session work. + +## invocation + +``` +you are a shepherd. supervise coordinator at pane %PANE (thread $THREAD_ID). +ping every 3 minutes. loop until killed. +``` + +the shepherd figures out the rest from this skill. + +## the loop + +every ~180 seconds: + +1. **ping** — send status request to coordinator pane +2. **verify** — capture pane output, classify state +3. **act** — respond based on state (challenge / respawn / handoff / continue) + +why 3 minutes: shorter burns context, longer risks missing deaths. tested over 17.5 hours in source run. + +## state classification + +| state | indicators | action | +|-------|-----------|--------| +| **active** | tool calls, output changing | continue loop | +| **idle** | claims "done", "waiting", "blocked" | challenge (see below) | +| **stall** | output unchanged 2+ pings, or "Waiting for response..." | send Enter key to unstick, then respawn if no response | +| **dead** | pane not found, shell prompt visible | respawn | +| **exhausted** | coordinator signals ~90%+ context | handoff | + +## behaviors + +### challenge idle claims + +coordinators quit early. challenge them—but accept justified refusals. + +**first claim**: accept if reasoned ("blocked on human credentials") +**repeated claim**: challenge with specifics +**third claim**: accept if rebutted ("X is over-engineering because Y") + +challenge prompt pattern: +``` +SHEPHERD CHALLENGE: are you REALLY done? consider: tests, error handling, edge cases, docs, cleanup. +``` + +rationale: in source run T-019bbde9-0161-743c-975e-0608855688d6, challenges discovered missing tests, slop, undocumented features. but don't nag when coordinator has genuinely considered the options. + +### respawn dead coordinators + +when coordinator dies: + +1. spawn new window continuing the thread: `amp t c $THREAD_ID` +2. re-query pane id (it changed) +3. update your tracking state + +use unique window names to avoid self-kill hazard (see below). + +### orchestrate handoffs + +when coordinator hits context limit: + +1. instruct: "prepare HANDOFF.md with current state" +2. wait for confirmation +3. spawn successor with NEW thread (`amp t n`, not continue) +4. brief successor: "read HANDOFF.md, continue from $OLD_THREAD_ID" + +new thread is critical—continuation carries exhausted context. + +## state tracking + +persist all state externally (context resets lose variables): + +```bash +# initialize +echo "%PANE" > /tmp/shepherd-target-pane +echo "$THREAD_ID" > /tmp/shepherd-thread-id +echo "0" > /tmp/shepherd-missed-pings +echo "" > /tmp/shepherd-handoff-chain + +# read before each ping +PANE=$(cat /tmp/shepherd-target-pane) +THREAD=$(cat /tmp/shepherd-thread-id) +MISSED=$(cat /tmp/shepherd-missed-pings) + +# update after events +echo "$NEW_PANE" > /tmp/shepherd-target-pane +echo "$((MISSED + 1))" > /tmp/shepherd-missed-pings +echo "$THREAD -> $NEW_THREAD" >> /tmp/shepherd-handoff-chain +``` + +track: +- current coordinator pane id +- coordinator thread id +- missed ping count +- handoff chain (for debugging) + +## hazards + +### pane id hazards + +pane ids are ephemeral—they change on respawn, window reorg, tmux restart. verify pane id before every send; targeting your own pane = infinite loop. always re-query after any structural change. + +### window name reuse + +unique window names only. reusing names like "coordinator" or agent names caused self-kills in the source run. use: `coord_$(date +%s)` or `coord_2`. + +### your own context + +you will exhaust context too. follow the handoff process above for yourself. + +## provenance + +derived from watchdog session T-019bbde9-0161-743c-975e-0608855688d6 (janet_fiddleshine). source run: 11 rounds, 48+ research agents, 393 threads, 3 coordinator handoffs, ~17.5 hours continuous operation. diff --git a/user/agents/skills/spar/SKILL.md b/user/agents/skills/spar/SKILL.md new file mode 100644 index 00000000..564477d0 --- /dev/null +++ b/user/agents/skills/spar/SKILL.md @@ -0,0 +1,180 @@ +--- +name: spar +description: "adversarial review via spawned antithesis agent. use to prune false positives from EXISTING findings. NOT for discovery or when claim is verifiable against single source." +--- + +# spar + +adversarial debate protocol. spawns an antithesis agent to challenge your findings. catches false positives and surfaces missed issues. + +**load first:** `review` — provides epistemic standards for both agents. +**prerequisite skills:** `spawn`, `coordinate`, `report` + +assumes prerequisite skills are sibling directories (spawn, coordinate, report alongside spar). + +## when to load + +- reviewing code, designs, or documentation +- debugging findings that need second opinion +- any analysis where you'll report findings to others +- when "first clean" can't be trusted + +## when NOT to use + +before spawning adversarial review, ask: + +1. **is there a single source of truth?** if claim is verifiable against code/spec, verify it directly instead of debating. +2. **do i already have findings to refine?** spar prunes false positives from EXISTING findings. don't spawn courts to generate findings. +3. **will debate add signal or noise?** if the answer is in the code, read the code. + +spar refines EXISTING findings. it's not a discovery mechanism. + +## protocol + +``` +1. produce initial review with confidence labels (VERIFIED/HUNCH/QUESTION) +2. spawn antithesis agent with challenge instructions +3. iterate thesis/antithesis/synthesis rounds: + - antithesis: challenge strongest/most confident claim + - thesis: verify claim, concede or defend with evidence + - synthesis: update position, identify next target +4. terminate after 2+ consecutive rounds with no position change +``` + +## spawning antithesis + +```bash +ANTITHESIS=$(../spawn/scripts/spawn-amp "ANTITHESIS — challenge thesis findings. + +your role: refute, challenge, find weaknesses. attack VERIFIED claims first (they claim highest confidence). load the review skill. read the source material independently. + +findings to challenge: +<paste findings here> + +files to examine: +<file list> + +communicate via: tmux send-keys -t <coordinator-pane> 'AGENT \$NAME: <message>' C-m + +wait for synthesis before next challenge. take turns.") +``` + +## communication + +use tmux send-keys directly. slash commands are unreliable over tmux. + +antithesis → coordinator: +```bash +tmux send-keys -t %5 'AGENT $NAME: <challenge or concession>' C-m +``` + +coordinator → antithesis: +```bash +tmux send-keys -t $ANTITHESIS 'THESIS: <defense or concession>' C-m +``` + +## synthesis + +after each exchange, update your position: + +```markdown +## synthesis round N + +**challenged:** <which claim> +**verdict:** UPHELD | REFUTED | MODIFIED +**position update:** <revised finding if modified, or "no change"> +**next target:** <which claim antithesis should challenge next, or "none — stable"> +``` + +## termination + +stable when 2+ consecutive rounds produce no position changes. + +final output: + +```markdown +## spar result + +| round | challenged | verdict | +|-------|------------|---------| +| 1 | race condition claim | MODIFIED | +| 2 | auth bypass claim | REFUTED | +| 3 | input validation | UPHELD | +| 4 | (stability check) | no change | +| 5 | (stability check) | no change | + +### revised findings +<updated findings with verdicts> + +### pruned claims +<claims that were refuted, with reasoning> +``` + +## meta-auditor phase + +dialectic can produce manufactured findings — agents invent problems to appear rigorous. + +after spar claims completion, audit for authenticity: + +```markdown +## meta-audit + +for each finding from spar: + +| finding | trace to source? | would skill fail without? | box-checking risk | verdict | +|---------|-----------------|---------------------------|-------------------|---------| +| add slop example | yes — traces to confident-ai research | yes — epistemic skills show failure modes | LOW | GENUINE | +| rename pattern section | no source | no functional impact | HIGH | MANUFACTURED | + +**recommendation:** KEEP genuine findings, REVERT manufactured ones. +``` + +spawn a separate meta-auditor agent if context is long: + +```bash +META=$(../spawn/scripts/spawn-amp "META-AUDITOR — audit spar findings for authenticity. + +assume MANUFACTURED until proven. for each finding: +1. does it trace to specific research? (cite source) +2. would the artifact ACTUALLY fail without this change? +3. box-checking risk: LOW/MODERATE/HIGH + +verdict: GENUINE or MANUFACTURED +recommendation: KEEP or REVERT + +findings to audit: +<paste spar results>") +``` + +## composition with rounds + +spar can be orchestrated by rounds for parallel debates: + +``` +rounds (orchestrator) +├── court 1: spar(finding A) +│ ├── thesis agent +│ └── antithesis agent +├── court 2: spar(finding B) +│ ├── thesis agent +│ └── antithesis agent +└── court 3: spar(finding C) + ├── thesis agent + └── antithesis agent + +→ rounds collects verdicts +→ runs meta-auditor on all verdicts +→ iterates if issues found +``` + +interface contract for rounds: +- **input:** claim/finding to debate + relevant file paths +- **output:** verdict (UPHELD/REFUTED/MODIFIED) + revised finding if modified +- **termination:** 2+ synthesis rounds with no position change + +## pitfalls + +- **premature convergence:** agents agree too fast to satisfy "2 clean rounds." skepticism is the cure. +- **manufactured issues:** antithesis invents challenges to have something to say. meta-auditor catches these. +- **slash commands:** unreliable over tmux. use direct send-keys. +- **permission prompts:** require arrow keys + enter. ask user to handle manually. diff --git a/user/agents/skills/spawn/SKILL.md b/user/agents/skills/spawn/SKILL.md new file mode 100644 index 00000000..2c1cb077 --- /dev/null +++ b/user/agents/skills/spawn/SKILL.md @@ -0,0 +1,62 @@ +--- +name: spawn +description: "spawn parallel amp agents in tmux with thread linkage. use for INDEPENDENT side-quests discovered during main work. NOT for spawning multiple agents to review/evaluate the same thing." +--- +# spawn + +spawn amp agents in tmux windows with automatic thread linkage. + +## when NOT to use + +before spawning, ask: + +1. **is this an independent task?** spawn for side-quests (different scope). don't spawn multiple agents for the SAME task. +2. **is there a single source of truth?** if verifiable against one file/spec/query, do it yourself. +3. **will this produce conflicting findings?** spawn for parallel work on DIFFERENT sources, not opinions to reconcile. + +spawn parallelizes INDEPENDENT work. don't spawn agents to produce conflicting findings you'll need to reconcile. + +## why spawn? + +short threads outperform long threads. see bundled references: +- [references/200k_tokens_is_plenty.md](references/200k_tokens_is_plenty.md) — why agents degrade with context bloat +- [references/amp_owners_manual.md](references/amp_owners_manual.md) — official amp prompting guidance + +key insight: agents get drunk on too many tokens. spawning keeps each thread focused on ONE task with minimal context, then links via `read_thread`. + +## usage + +```bash +scripts/spawn-amp "<task description>" +``` + +creates a detached tmux window, pipes the task to amp, links to parent thread via `$AMP_CURRENT_THREAD_ID`, includes callback instructions with `$TMUX_PANE`. echoes the agent's name. + +agents get auto-assigned fairy names from `assets/` (e.g., `ted_glimmermoss`). + +## multiple agents + +```bash +AGENT1=$(scripts/spawn-amp "task 1") && AGENT2=$(scripts/spawn-amp "task 2") +``` + +## control + +```bash +tmux select-window -t "$AGENT1" # switch to +tmux capture-pane -p -t "$AGENT1" # check output +tmux kill-window -t "$AGENT1" # stop +tmux list-windows -F '#W' # list all +``` + +## handoff + +when context fills up, spawn a successor with full context: + +```bash +scripts/spawn-amp "HANDOFF: <context summary>. load the coordinate skill for multi-agent work." +``` + +## coordination + +for orchestrating multiple agents with bidirectional communication, load the `coordinate` skill. diff --git a/user/agents/skills/spawn/assets/firstnames.txt b/user/agents/skills/spawn/assets/firstnames.txt new file mode 100644 index 00000000..1be94611 --- /dev/null +++ b/user/agents/skills/spawn/assets/firstnames.txt @@ -0,0 +1,47 @@ +tal +cliff +bobby +red +jack +james +matt +ted +hank +johnny +don +bill +ken +nelson +roy +john +pete +bob +clint +dick +chuck +herb +george +harry +larry +joe +hoot +ferris +alice +ann +anna +donna +eva +frances +max +helen +jane +janet +joan +joyce +june +kay +marian +mary +rita +sophie +mo diff --git a/user/agents/skills/spawn/assets/lastnames_1.txt b/user/agents/skills/spawn/assets/lastnames_1.txt new file mode 100644 index 00000000..781acdbe --- /dev/null +++ b/user/agents/skills/spawn/assets/lastnames_1.txt @@ -0,0 +1,35 @@ +tinkle +wiggle +flutter +farber +snelle +sparkle +glimmer +glitter +ribbon +feather +tickle +flicker +winkle +whisper +color +silver +shimmer +murmer +meadow +wobble +nibble +rustle +snuggle +sputter +tattle +fiddle +cinder +marrow +pebble +petal +river +velvet +button +softer +shiver diff --git a/user/agents/skills/spawn/assets/lastnames_2.txt b/user/agents/skills/spawn/assets/lastnames_2.txt new file mode 100644 index 00000000..424e776c --- /dev/null +++ b/user/agents/skills/spawn/assets/lastnames_2.txt @@ -0,0 +1,51 @@ +son +smith +man +sen +ovich +poulos +ides +ton +ford +ham +ski +berg +er +mann +hard +ward +wyn +kin +ling +let +snelle +spark +wind +bolt +flame +star +moon +sun +bell +snell +flick +bark +shine +iron +coal +stone +moss +bone +wood +leaf +twig +branch +root +trunk +pine +oak +gem +glow +toe +tooth +gold diff --git a/user/agents/skills/spawn/references/200k_tokens_is_plenty.md b/user/agents/skills/spawn/references/200k_tokens_is_plenty.md new file mode 100644 index 00000000..a5ad20f3 --- /dev/null +++ b/user/agents/skills/spawn/references/200k_tokens_is_plenty.md @@ -0,0 +1,80 @@ +--- +source: "https://ampcode.com/200k-tokens-is-plenty" +--- +[Opus 4.5](https://ampcode.com/news/opus-4.5) came out a few weeks ago and quickly became not only Amp's main model, but also universally respected as the best model for coding — while having a context window of roughly 200k tokens. In the winter of 2025, that's not a lot. A lot of people view this as a downside. + +But here's the thing — 200k is enough for me, it's plenty. I love short threads. I do all my work with short threads. So does the rest of the team. + +In fact, I took a look at a feature I just shipped for Amp, adding a `thread: send to support` command to the Amp CLI [command palette](https://ampcode.com/news/command-palette). Here's what it looks like as a cluster of interconnected threads: + +![Feature: Add Thread Support Command](https://ampcode.com/200k-tokens-is-plenty/feature-for-blog-1.svg) + +Feature: Add Thread Support Command + +Look at all those tiny threads! Look at the token counts, and the number of user messages sent. The biggest thread is 151k output tokens and four user messages. The average thread is around 80k tokens. Now think of the time when we had a [1 million token context window](https://ampcode.com/news/1m-tokens). I wouldn't run a thread that long… + +But hey, there are 13 threads in that feature. Probably more, as these are only the threads connected by [thread mentions](https://ampcode.com/guides/context-management#mentioning-files). Add up all those and you're close to one jam-packed 1 million token context window. + +So why not pile those all into one mega-thread and be done with it? Why bother with the tedium and drudgery of spinning up thread after thread with those puny, embarrassingly small contexts? + +## Short Threads Are Best + +On the Amp team, we've known this for a while. The best threads are short, they do one thing, and they have just the right amount of context to do it. We've written about this in our guide on [context management](https://ampcode.com/guides/context-management): + +**Agents get drunk if you feed them too many tokens.** + +I don't know how to explain it better than this — they act drunk. They mess up, they fall over, they pick fights with you, and (if you feed them enough tokens) they'll vomit all over you. It's a mess. + +Agents are models combined with a system prompt, tools, as well as the history of the conversation so far. The longer the conversation, the more the agent's context window gets filled up with stuff not quite related to what it should be doing right now. + +In order to get the agent to perform at its best, you need to give it the context it needs to get the job done, and no more. + +**Long threads are not just worse, they also cost more.** + +Way more. Not only does every token get sent to the provider with every request, exponentially increasing the cost of new messages, but some providers like Anthropic also charge more for [long-context](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing) requests for some models. Long threads are also more likely to have longer idle periods between user messages, and so are more likely to miss the cache window — a major contributor to expensive runaway threads. + +So they give worse results, and you pay through the nose for them. + +But there's something else. + +**Breaking into short threads == breaking into small tasks.** + +Big tasks are best broken down into small tasks. This was true before the agents came, and it's true now that they're here. Short threads make it easy (or even fun?) for you and me — lowly humans — to do that. + +Just like small tasks are easier to work with, so are small threads. You can keep track of them easily, each has a well-defined goal, and life doesn't feel too different from the old agentless world of yesteryear — but faster, and with less typing. + +If you think of threads as units of tasks, then it's intuitive to think of a feature or bugfix as a cluster of threads. + +## Life in Threads + +Here's another look at the feature I worked on last week, but with some added scribbles: + +![Feature: Add Thread Support Command - annotated diagram](https://ampcode.com/200k-tokens-is_plenty/feature-for-blog-2.svg) + +Feature: Add Thread Support Command + +This is how I work, from bottom to top: + +I start with a thread to build a basic implementation. If I think it's going to be complicated, I might start with a thread to investigate some area of the codebase and gather the required context. + +From that base, I'll start new threads to tweak or refactor. Each change is a new thread — one change per thread. I use the [`read_thread` tool](https://ampcode.com/news/read-threads) to gather needed context from either the initial thread or from the previous refactor/tweak thread. + +When I'm happy, it's time to review the code. Sometimes I use new threads to help read the new code, investigate if it matches existing patterns, and make sure nothing nefarious snuck in. Those are all new threads. + +Or I might want to validate with one-off scripts, throw-away tests, running in a profiler, spamming logs, forcing error states… These are all new threads. + +My preferred way to share context between threads is to reference threads by mentioning their ID or URL, but there are other ways. In Amp you can use a [handoff](https://ampcode.com/news/handoff) or [fork](https://ampcode.com/news/thread-forking) command to create new threads. You can leverage the git state by telling Amp to run `git diff` or to inspect previous commits. Some people use multiple `.md` files with specs and histories to store and transfer context between threads — I'm not one of those people. + +I use the Amp CLI, so the actual key-typing process of creating new threads and referencing previous ones is something like: + +- Choose `thread: new` in the command palette, hit `enter` to accept the hint to reference the previous thread. +- Or: create a new thread and use `@@` to mention and reference a thread. +- Then type the new task prompt and set it off. + +Repeat for any new tasks, or if I prefer the context from the main thread, just `thread: switch to previous` and repeat. + +That's it! Each thread is a discrete task, and together they form a feature. + +I love working through a big problem this way — breaking it down into baby steps, letting this [superpowered alien orb made of sand](https://registerspill.thorstenball.com/p/theres-beauty-in-ai) rocket through each one. It's still me at the wheel, but it's fast, cheaper, and easier to reason about. + +200k tokens? Plenty, if you make use of threads. diff --git a/user/agents/skills/spawn/references/amp_owners_manual.md b/user/agents/skills/spawn/references/amp_owners_manual.md new file mode 100644 index 00000000..787de222 --- /dev/null +++ b/user/agents/skills/spawn/references/amp_owners_manual.md @@ -0,0 +1,637 @@ +--- +source: "https://ampcode.com/manual" +--- +## Congratulations on installing Amp. This manual helps you get the most out of it. + +## Why Amp? + +Amp is the frontier coding agent for your terminal and editor. + +- **Multi-Model:** Opus 4.5, GPT-5.1, fast models—Amp uses them all, for what each model is best at. +- **Opinionated:** You're always using the good parts of Amp. If we don't use and love a feature, we kill it. +- **On the Frontier:** Amp goes where the models take it. No backcompat, no legacy features. +- **Threads:** You can save and share your interactions with Amp. You wouldn't code without version control, would you? + +Amp has 3 modes: `smart` (unconstrained state-of-the-art model use), `rush` (faster, cheaper, suited for small, well-defined tasks), and `free` (free of charge, using fast basic models). + +*Want to go much deeper? Watch our [Raising an Agent podcast](https://ampcode.com/podcast) that chronicles the first few months of building Amp, and see our [FIF](https://ampcode.com/fif).* + +<video controls="controls" width="768" height="551"><source src="https://static.ampcode.com/content/amp-cli-20251026-0.mp4" type="video/mp4"></video> ![Amp in VS Code](https://static.ampcode.com/content/amp-vscode-1.png) + +## Get Started + +1. Sign into [ampcode.com/install](https://ampcode.com/install). +2. Follow the instructions to install the Amp CLI and editor extensions for VS Code, Cursor, JetBrains, Neovim, and other editors. + +You're ready to [start using Amp](https://ampcode.com/#usage)! + + + + +### From the Command Line + +Our recommended install method for macOS, Linux and WSL. It supports auto-updating and fast launch via Bun. + +Install the Amp CLI: + +```bash +curl -fsSL https://ampcode.com/install.sh | bash +``` + +Run interactively (will prompt for login on first run): + +```bash +amp +``` + +You can also [install via npm](https://www.npmjs.com/package/@sourcegraph/amp) if necessary. + +### From Your Editor + +Sign into [ampcode.com/install](https://ampcode.com/install) and follow the instructions, or: + +- **VS Code and Cursor (and other forks):** Install the `sourcegraph.amp` extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=sourcegraph.amp) or [Open VSX Registry](https://open-vsx.org/extension/sourcegraph/amp). +- **JetBrains (IntelliJ, WebStorm, GoLand, etc.):** Install the Amp CLI, then run `amp --jetbrains`. +- **Neovim:** Install the Amp CLI and the [Amp Neovim plugin](https://github.com/sourcegraph/amp.nvim), then run `amp`. + +## Using Amp + +### Agent Modes + +Amp has 4 modes: + +- **`smart`**: Uses state-of-the-art models without constraints for maximum capability and autonomy. +- **`rush`**: Faster, cheaper, and less capable, suitable for small, well-defined tasks. See [Rush Mode](https://ampcode.com/news/rush-mode). +- **`free`**: Free of charge, using fast basic models. See [Amp Free](https://ampcode.com/#free). + +*There's one more that's hidden: [`large` mode](https://ampcode.com/news/large-mode).* + +See [Models](https://ampcode.com/models) for the models used by each mode. + +Switch modes in the CLI by opening the command palette (Ctrl+O) and typing `mode`, or select the mode in the prompt field of the editor extension. + +### How to Prompt + +Amp currently uses Claude Opus 4.5 for most tasks, with up to 200k tokens of context. For the best results, follow these guidelines: + +- Be explicit with what you want. Instead of "can you do X?", try "do X." +- Keep it short, keep it focused. Break very large tasks up into smaller sub-tasks, one per thread. Do not ask the agent to write database migrations in the same thread as it previously changed CSS for a documentation page. +- Don't try to make the model guess. If you know something about how to achieve what you want the agent to do — which files to look at, which commands to run — put it in your prompt. +- If you want the model to not write any code, but only to research and plan, say so: "Only plan how to implement this. Do NOT write any code." +- Use [`AGENTS.md` files](https://ampcode.com/#AGENTS.md) to guide Amp on how to run your tests and build steps and to avoid common mistakes. +- Abandon threads if they accumulated too much noise. Sometimes things go wrong and failed attempts with error messages clutter up the context window. In those cases, it's often best to start with a new thread and a clean context window. +- Tell the agent how to best review its work: what command or test to run, what URL to open, which logs to read. Feedback helps agents as much as it helps us. + +The first prompt in the thread carries a lot of weight. It sets the direction for the rest of the conversation. We encourage you to be deliberate with it. That's why we use Cmd/Ctrl+Enter to submit a message in Amp — it's a reminder to put effort into a prompt. + +Here are some examples of prompts we've used with Amp: + +- "Make `observeThreadGuidanceFiles` return `Omit<ResolvedGuidanceFile, 'content'>[]` and remove that field from its return value, and update the tests. Note that it is omitted because this is used in places that do not need the file contents, and this saves on data transferred over the view API." ([See Thread](https://ampcode.com/threads/T-9219191b-346b-418a-b521-7dc54fcf7f56)) +- "Run `<build command>` and fix all the errors" +- "Look at `<local development server url>` to see this UI component. Then change it so that it looks more minimal. Frequently check your work by screenshotting the URL" +- "Run git blame on the file I have open and figure out who added that new title" +- "Convert these 5 files to use Tailwind, use one subagent per file" +- "Take a look at `git diff` — someone helped me build a debug tool to edit a Thread directly in JSON. Please analyze the code and see how it works and how it can be improved. \[…\]" ([See Thread](https://ampcode.com/threads/T-39dc399d-08cc-4b10-ab17-e6bac8badea7)) +- "Check `git diff --staged` and remove the debug statements someone added" ([See Thread](https://ampcode.com/threads/T-66beb0de-7f02-4241-a25e-50c0dc811788)) +- "Find the commit that added this using git log, look at the whole commit, then help me change this feature" +- "Explain the relationship between class AutoScroller and ViewUpdater using a diagram" +- "Run `psql` and rewire all the `threads` in the databaser to my user (email starts with thorsten)" ([See Thread](https://ampcode.com/threads/T-f810ef79-ba0e-4338-87c6-dbbb9085400a)) + +Also see Thorsten Ball's [How I Use Amp](https://ampcode.com/how-i-use-amp). + +If you're in a workspace, use Amp's [thread sharing](https://ampcode.com/#thread-sharing) to learn from each other. + +### AGENTS.md + +Amp looks in `AGENTS.md` files for guidance on codebase structure, build/test commands, and conventions. + +| File | Examples | +| --- | --- | +| `AGENTS.md` in cwd, parent dirs, & subtrees | Architecture, build/test commands, overview of internal APIs, review and release steps | +| `$HOME/.config/amp/AGENTS.md` `$HOME/.config/AGENTS.md` | Personal preferences, device-specific commands, and guidance that you're testing locally before committing to your repository | + +Amp includes `AGENTS.md` files automatically: + +- `AGENTS.md` files in the current working directory (or editor workspace roots) *and* parent directories (up to `$HOME`) are always included. +- Subtree `AGENTS.md` files are included when the agent reads a file in the subtree. +- Both `$HOME/.config/amp/AGENTS.md` and `$HOME/.config/AGENTS.md` are included if they exist. + +If no `AGENTS.md` exists in a directory, but a file named `AGENT.md` (without an `S`) or `CLAUDE.md` does exist, that file will be included. + +In a large repository with multiple subprojects, we recommend keeping the top-level `AGENTS.md` general and creating more specific `AGENTS.md` files in subtrees for each subproject. + +To see the agent files that Amp is using, run `/agent-files` (CLI) or hover the X% of 968k indicator after you've sent the first message in a thread (editor extension). + +#### Writing AGENTS.md Files + +Amp offers to generate an `AGENTS.md` file for you if none exists. You can create or update any `AGENTS.md` files manually or by asking Amp (*"Update AGENTS.md based on what I told you in this thread"*). + +To include other files as context, @-mention them in agent files. For example: + +```markdown +See @doc/style.md and @specs/**/*.md. + +When making commits, see @doc/git-commit-instructions.md. +``` +- Relative paths are interpreted relative to the agent file containing the mention. +- Absolute paths and `@~/some/path` are also supported. +- @-mentions in code blocks are ignored, to avoid false positives. +- Glob patterns are supported (such as `@doc/*.md` or `@.agent/**/*.md`). + +#### Granular Guidance + +To provide guidance that only applies when working with certain files, you can specify `globs` in YAML front matter of mentioned files. + +For example, to apply language-specific coding rules: + +1. Put `See @docs/*.md` anywhere in your `AGENTS.md` file. +2. Create a file `docs/typescript-conventions.md` with: + ```markdown + --- + globs: + - '**/*.ts' + - '**/*.tsx' + --- + Follow these TypeScript conventions: + - Never use the \`any\` type + - ... + ``` +3. Repeat for other languages. + +Mentioned files with `globs` will only be included if Amp has read a file matching any of the globs (in the example above, any TypeScript file). If no `globs` are specified, the file is always included when @-mentioned. + +Globs are implicitly prefixed with `**/` unless they start with `../` or `./`, in which case they refer to paths relative to the mentioned file. + +Other examples: + +- Frontend-specific guidance: `globs: ["src/components/**", "**/*.tsx"]` +- Backend guidance: `globs: ["server/**", "api/**"]` +- Test guidance: `globs: ["*.test.ts", "__tests__/*"]` + +#### Migrating to AGENTS.md + +- From Claude Code: `mv CLAUDE.md AGENTS.md && ln -s AGENTS.md CLAUDE.md`, and repeat for subtree `CLAUDE.md` files +- From Cursor: `mv .cursorrules AGENTS.md && ln -s AGENTS.md .cursorrules` and then add `@.cursor/rules/*.mdc` anywhere in `AGENTS.md` to include all Cursor rules files. +- From existing AGENT.md: `mv AGENT.md AGENTS.md` (optional - both filenames continue to work) + +### Handoff + +Amp works best when you keep threads small and focused on a single task + +To continue your work from one thread in a new thread, use the `handoff` command from the command palette to draft a new thread with relevant files and context from the original thread. + +Provide some help to the handoff command to direct the new prompt. For example: + +- `now implement this for teams as well, not just individual users` +- `execute phase one of the created plan` +- `check the rest of the codebase and find other places that need this fix` + +See [Handoff (No More Compaction)](https://ampcode.com/news/handoff) for why Amp doesn't support compaction. + +### Referencing Other Threads + +You can reference other Amp threads by thread URL (e.g., `https://ampcode.com/threads/T-7f395a45-7fae-4983-8de0-d02e61d30183`) or thread ID (e.g., `@T-7f395a45-7fae-4983-8de0-d02e61d30183`) in your prompt. + +Type @@ to search for a thread to mention. + +For each mentioned thread, Amp will read and extract relevant information to your current task. This is useful to continue work from or reuse techniques from a previous thread. + +Examples: + +- `Implement the plan from https://ampcode.com/threads/T-7f395a45-7fae-4983-8de0-d02e61d30183` +- `Apply the same fix from @T-7f395a45-7fae-4983-8de0-d02e61d30183 to the form here` + +### Archiving Threads + +When you archive a thread, it no longer appears in your list of active threads but can still be viewed on the web and [referenced by @-mention](https://ampcode.com/#referencing-threads). + +To archive a thread, from the command palette, run `thread: archive and exit` in the CLI or `Thread: Archive` in the editor extension. + +### Attaching Images + +You can attach images (such as screenshots and diagrams) to your messages. + +In the CLI, press Ctrl+V to paste an image from the clipboard. Note that you must use Ctrl+V, not Cmd+V, even on macOS. + +In the editor extension, paste an image using Cmd+V / Ctrl+V, or hold Shift and drag an image over the message field. + +You can also @-mention images by file path. + +### Mentioning Files + +Type @ to search for a file to mention. + +### Edit & Undo + +Editing a prior message in a thread automatically reverts any changes the agent made *after* that message. + +To edit a prior message in the CLI, press Tab to navigate to prior messages. In the editor extension, scroll up in the thread and click on a prior message. + +You can also revert individual file changes by clicking the `N files changed` indicator. + +### Queueing Messages + +You can queue messages to be sent to the agent once it ends its turn, without interrupting its current work. To queue a message: + +- In the editor extension, type your message and press Cmd-Shift-Enter (macOS) or Ctrl-Shift-Enter (Windows/Linux). +- In the CLI, use the `queue` command from the command palette. + +### Custom Commands + +Custom commands let you define reusable prompts and automations for Amp. For more information, see [Custom Commands](https://ampcode.com/news/custom-commands). + +### Skills + +Custom commands were deprecated in December 2025, but remain supported. The preferred way to guide Amp is via Skills. + +Skills are structured, reusable configurations for Amp that can be stored in `.skill/` directories or referenced from `AGENTS.md` files. They contain: + +- A skill definition file (e.g., `SKILL.md`) that describes the skill and includes instructions +- Optional templates, helper scripts, and other resources + +Skills can be: + +- Personal: stored in `~/.config/amp/skills/<skill-name>/` +- Shared: stored in `<project-root>/.skill/<skill-name>/` + +Use skills to: + +- Guide Amp through complex, multi-step workflows +- Standardize common operations across a team +- Encapsulate domain-specific knowledge and procedures + +When an agent loads a skill, it gains access to the skill's instructions and bundled resources. + +For more details, see the [Skills specification](https://agentskills.io/specification). + +### Permissions + +You can configure Amp to ask for permission before running certain tools, automatically allow certain tools, or automatically reject certain tools. This is useful for controlling which actions Amp can take without your approval. + +Amp's permission rules have 3 components: + +- **tool** (required): The tool to match against. +- **action** (required): What to do when the tool matches. One of `allow`, `ask`, or `reject`. +- **condition** (optional): An additional condition to match against the tool's input. + +Permission rules are evaluated in the order in which they are defined. The first matching rule is used. + +To configure permissions, add `amp.permissions` to your settings: + +```json +{ + "amp.permissions": [ + // For Bash, ask for approval only if the command matches the regex + { "tool": "Bash", "action": "allow", "condition": { "cmd": { "not-regex": "(rm|sudo|mv|chmod|chown|dd|mkfs|kill|pkill|reboot|shutdown|curl.*\\|)" } } }, + { "tool": "Bash", "action": "ask" }, + + // For edit_file, allow all edits outside of the src/security/** directory + { "tool": "edit_file", "action": "reject", "condition": { "path": { "glob": "**/src/security/**" } } }, + + // Reject one specific tool + { "tool": "read_web_page", "action": "reject" }, + + // For all tools, allow all actions (no approval required) + { "tool": "*", "action": "allow" } + ] +} +``` + +The default permissions reject `git push` (and related) commands from Bash. If you want to allow pushing to a remote, you'll need to create a permissions rule to allow it. For example: + +```json +{ "tool": "Bash", "action": "allow", "condition": { "cmd": { "regex": "^git push" } } }, +``` + +See [Configuring Permissions](https://ampcode.com/guides/configuring-permissions) for more details. + +### Subagents + +Subagents (via the `Task` tool) work on sub-tasks of your request and use the same tools as the main agent. Because the subagent's work is summarized, using subagents helps conserve context in the main thread. + +Some ways to use subagents: + +- "Use a subagent to investigate how we use Redis in this codebase" +- "Convert these 5 files to use Tailwind, use one subagent per file" (you can instruct Amp to run subagents concurrently) +- "Write this API server, update the frontend, and write tests, using different subagents for each sub-task" + +### Custom Tools (MCP) + +You can add custom tools using the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/). For example, you can let the Amp agent use tools to query a database, read your Notion pages, control a browser, run a Puppeteer session, post to Slack, etc. + +To configure custom MCP servers, add them to your amp settings file or VS Code settings. For more information, see [Custom Tools with MCP](https://ampcode.com/guides/custom-tools-mcp). + +As of late December 2025, Amp's MCP support includes these features: + +- **Resources**: Add MCP resources (like files or documents) to the agent's context by @-mentioning them (e.g., `@my-database-mcp:users`). You can also reference MCP resources in AGENTS.md. +- **Prompts**: Use MCP prompts as [custom commands](https://ampcode.com/news/custom-commands). Prompts are added to the command palette with the `/` prefix (e.g., `/my-prompt`). +- **Transports**: Amp supports stdio and SSE (Server-Sent Events) transports. +- **Roots**: Amp sends the Bun-based Node-like runtime it uses internally, see [MCP Filesystem Roots](https://ampcode.com/news/mcp-roots). + +### Thread Search + +You can search through previous threads using /search in the command palette, or search for threads on the [ampcode.com/threads](https://ampcode.com/threads) page. + +To find all threads that touch a particular file, run `amp threads search "file:path/to/file.ts"`. + +### Thread Sharing + +Threads can be shared with anyone, including non-Amp-users. Click the `Share` button in the CLI or editor extension to get a shareable link. + +If you are part of a [workspace](https://ampcode.com/workspace), threads are visible to all members of the workspace by default. Change the visibility of a thread in the `Share` menu. + +Workspace threads (threads with workspace or custom visibility) are persisted and archived with the workspace, so members of the workspace can search and view workspace threads of members no longer in the workspace. + +Default thread visibility can be configured for the workspace in [workspace settings](https://ampcode.com/workspace), and for yourself in [user settings](https://ampcode.com/settings). + +We're adding more fine-grained thread visibility controls. See the [Appendix](https://ampcode.com/manual/appendix#workspace-thread-visibility-controls) for more details. + +### Thread Activity + +To monitor your Amp usage, you can view your thread activity on the Amp threads page at [ampcode.com/threads](https://ampcode.com/threads). Click on the heatmap to filter by date or date range. + +### Workspaces + +You and your team can share a pool of credits by creating and joining a workspace on [ampcode.com/workspace](https://ampcode.com/workspace). Workspace credits are used before individual credits. + +#### Other Workspace Benefits + +Workspaces enable team collaboration for Amp. Benefits include: + +- **Thread Sharing**: See threads from other workspace members with workspace-level visibility. +- **Thread Search**: Search threads by content, file paths, and authors. + +Workspace owners can configure usage-related alerts, and set default thread visibility for workspace members. + +### Editor Integration + +#### Diff View + +When showing file changes, Amp offers both a custom inline diff view and the editor's built-in diff view. You can toggle between them using the `,` button in the diff toolbar, or change the default in the VS Code setting `amp.diff.style`. + +In inline diff view, green lines are additions, red lines are deletions. Click individual added/rejected lines to accept/reject them. + +In panel diff view, the view on the left is read-only, the view on the right is editable. Edit the code on the right and save it to accept changes. + +#### Amp-Suggested Diagnostics Fixes + +**VS Code only** + +When the Amp extension is installed, when you hover over a highlighted diagnostic error, you will see a "Fix with Amp" option. Clicking this will open the Amp panel and start a new conversation with context about the error and a request to fix it. + +### CLI Features + +#### Editor Detection + +The CLI automatically detects running Amp VS Code and Cursor extension instances, and can open and highlight files directly in your editor. + +The CLI automatically detects when you have an Amp editor extension running in most cases. If you are using JetBrains and run the Amp CLI from a terminal *other than* JetBrains' builtin terminal, you need to run `amp --jetbrains` to detect it. + +### Shell Mode + +Execute shell commands directly in the CLI by starting your message with `$`. The command and its output will be included in the context window for the next message to the agent. + +Use `$$` to activate incognito shell mode, where commands execute but aren't included in the context. This is useful for noisy commands or quick checks you'd normally run in a separate terminal. + +### Writing Prompts in the CLI + +In modern terminal emulators, such as Ghostty, Wezterm, Kitty, or iTerm2, you can use shift-enter to insert a newline in your prompts. + +Additionally you can also use type `\` followed by return to insert a newline. + +If you have the environment variable `$EDITOR` set, you can use the `editor` command from the command palette to open your editor to write a prompt. + +### Streaming JSON + +Amp's CLI supports streaming JSON output format, one object per line on stdout, for programmatic integration and real-time conversation monitoring. + +Use the `--stream-json` flag with `--execute` mode to output in stream JSON format instead of plain text. + +Basic usage with argument: + +``` +$ amp --execute "what is 3 + 5?" --stream-json +``` + +Combining —stream-json with `amp threads continue`: + +``` +$ amp threads continue --execute "now add 8 to that" --stream-json +``` + +With stdin input: + +``` +$ echo "analyze this code" | amp --execute --stream-json +``` + +You can find [the schema for the JSON output in the Appendix](https://ampcode.com/manual/appendix?preview#message-schema). + +Input can be also be provided on stdin with the `--stream-json-input` flag: + +``` +$ echo '{ + "type": "user", + "message": { + "role": "user", + "content": [ + { + "type": "text", + "text": "what is 2+2?" + } + ] + } +}' | amp -x --stream-json --stream-json-input +``` + +The `--stream-json` flag requires `--execute` mode. It cannot be used standalone. And `--stream-json-input` requires `--stream-json`. + +When using `--stream-json-input`, the behavior of `--execute` changes in that Amp will only exit once both the assistant is done *and* stdin has been closed. + +This allows for programmatic use of the Amp CLI to have conversations with multiple user messages. + +```bash +#!/usr/bin/env bash + +send_message() { + local text="$1" + echo '{"type":"user","message":{"role":"user","content":[{"type":"text","text":"'$text'"}]}}' +} + +{ + send_message "what's 2+2?" + sleep 10 + + send_message "now add 8 to that" + sleep 10 + + send_message "now add 5 to that" +} | amp --execute --stream-json --stream-json-input +``` + +See the [Appendix](https://ampcode.com/manual/appendix#stream-json-output) for the schema of the output, example output, and more usage examples. + +## Configuration + +Amp can be configured through settings in your editor extension (e.g. `.vscode/settings.json`) and the CLI configuration file. + +The CLI configuration file location varies by operating system: + +- macOS: `~/.config/amp/settings.json` +- Linux: `~/.config/amp/settings.json` +- Windows: `%USERPROFILE%\.config\amp\settings.json` + +All settings use the `amp.` prefix. + +### Settings + +#### Editor Extension and CLI + +- **`amp.anthropic.thinking.enabled`** + **Type:**`boolean`, **Default:**`true` + Enable Claude's extended thinking capabilities +- **`amp.experimental.dojoMode`** + **Type:**`boolean`, **Default:**`false` + Enable dojo mode - a learning mode where the agent guides you to discover solutions yourself through Socratic questioning. The agent can read your codebase and search for information, but won't edit files or give direct solutions. Perfect for learning to code or understanding a new codebase. +- **`amp.fuzzy.alwaysIncludePaths`** + **Type:**`array`, **Default:**`[]` + Glob patterns for paths that should always be included in fuzzy file search, even if they are gitignored. Useful for build output directories or generated files you want to reference with `@` mentions. + Examples: `["dist/**", "node_modules/@myorg/**"]` +- **`amp.permissions`** + **Type:**`array`, **Default:**`[]` + Configures which tool uses are allowed, rejected or ask for approval. See [Permissions](https://ampcode.com/#permissions). +- **`amp.tab.clipboard.enabled`** + **Type:**`boolean`, **Default:**`true` + Enable clipboard access for Amp Tab context +- **`amp.git.commit.ampThread.enabled`** + **Type:**`boolean`, **Default:**`true` + Enable adding Amp-Thread trailer in git commits. When disabled, commits made with the commit tool will not include the `Amp-Thread: <thread-url>` trailer. +- **`amp.git.commit.coauthor.enabled`** + **Type:**`boolean`, **Default:**`true` + Enable adding Amp as co-author in git commits. When disabled, commits made with the commit tool will not include the `Co-authored-by: Amp <amp@ampcode.com>` trailer. +- **`amp.mcpServers`** + **Type:**`object` + Model Context Protocol servers that expose tools. See [Custom Tools (MCP) documentation](https://ampcode.com/#mcp). +- **`amp.notifications.enabled`** + **Type:**`boolean`, **Default:**`true` + Play notification sounds when the agent completes a task or is blocked waiting for user input. +- **`amp.terminal.commands.nodeSpawn.loadProfile`** + **Type:**`string`, **Default:**`"always"`, **Options:**`"always"` | `"never"` | `"daily"` + Before running commands (including MCP servers), whether to load environment variables from the user's profile (`.bashrc`, `.zshrc`, `.envrc`) as visible from the workspace root directory +- **`amp.todos.enabled`** + **Type:**`boolean`, **Default:**`true` + Enable TODOs tracking for managing tasks +- **`amp.tools.disable`** + **Type:**`array`, **Default:**`[]` + Disable specific tools by name. Use 'builtin:toolname' to disable only the builtin tool with that name (allowing an MCP server to provide a tool by that name). Glob patterns using `*` are supported. +- **`amp.tools.stopTimeout`** + **Type:**`number`, **Default:**`300` + How many seconds to wait before canceling a running tool +- **`amp.mcpPermissions`** + **Type:**`array`, **Default:**`[]` + Allow or block MCP servers that match a designated pattern. The first rule that matches is applied. If no rule matches an MCP server, the server will be allowed. + - **Remote MCP server**: Use the `url` key to specify a matching criterion for the server endpoint + - **Local MCP server**: Use the `command` and `args` keys to match an executable command and its arguments + Here are some examples: + ```json + "amp.mcpPermissions": [ + // Allow specific trusted MCP servers + { "matches": { "command": "npx", "args": "* @playwright/mcp@*" }, "action": "allow" }, + { "matches": { "url": "https://mcp.trusted.com/mcp" }, "action": "allow" }, + // Block potentially risky MCP servers + { "matches": { "command": "python", "args": "*bad_command*" }, "action": "reject" }, + { "matches": { "url": "*/malicious.com*" }, "action": "reject" }, + ] + ``` + The following rules will block all MCP servers: + ```json + "amp.mcpPermissions": [ + { "matches": { "command": "*" }, "action": "reject" }, + { "matches": { "url": "*" }, "action": "reject" } + ] + ``` + +#### CLI-only + +- **`amp.updates.mode`** + **Type:**`string`, **Default:**`"auto"` + Control update checking behavior: `"warn"` shows update notifications, `"disabled"` turns off checking, `"auto"` automatically runs update. Note: Setting `AMP_SKIP_UPDATE_CHECK=1` environment variable will override this setting and disable all update checking. + +### Enterprise Managed Settings + +[Enterprise](https://ampcode.com/#enterprise) workspace administrators can enforce settings that override user and workspace settings by deploying their policies to the following locations on machines running Amp: + +- **macOS**: `/Library/Application Support/ampcode/managed-settings.json` +- **Linux**: `/etc/ampcode/managed-settings.json` +- **Windows**: `C:\ProgramData\ampcode\managed-settings.json` + +This managed settings file uses the same schema as [regular settings](https://ampcode.com/#core-settings) files, with one additional field: + +amp.admin.compatibilityDate `string` + +### Proxies and Certificates + +When using the Amp CLI in corporate networks with proxy servers or custom certificates, set these standard Node.js environment variables in your shell profile or CI environment as needed: + +```bash +export HTTP_PROXY=your-proxy-url +export HTTPS_PROXY=your-proxy-url +export NODE_EXTRA_CA_CERTS=/path/to/your/certificates.pem +``` + +## Pricing + +### Free + +Amp's `free` mode is free of charge and supported by ads. It uses a mix of top OSS models, frontier models with limited context windows, and pre-release frontier models in testing. + +The `free` mode meets all of the stringent [security standards](https://ampcode.com/security) of Amp's paid smart mode. You are not required to share your data for training. + +To use it: `/mode free` in the Amp CLI, or select the `free` mode in the prompt field of the Amp editor extension (instead of the paid `smart` mode). + +One account per person. Any behavior that looks like circumventing your usage limits or violating our [Acceptable Use Policy](https://ampcode.com/terms/aup) will result in your account being suspended. + +See the [Amp Free announcement](https://ampcode.com/news/amp-free) and [Use Amp Free at Work](https://ampcode.com/news/amp-free-no-training) for more information. + +### Paid Usage + +Amp's default `smart` mode is more autonomous and capable than `free`, and it uses paid credits. + +You can buy more credits in [user settings](https://ampcode.com/settings) for yourself, or for your team in [workspace settings](https://ampcode.com/workspace). Upon signup, most users receive $10 USD in free credits. + +Usage is consumed based on LLM usage and usage of certain other tools (like web search) that cost us to serve. We pass these costs through to you directly with no markup, for individuals and non-enterprise workspaces. + +Workspace credits are pooled and shared by all workspace members. All unused credits expire after one year of account inactivity. + +### Enterprise + +Enterprise usage is 50% more expensive than individual and team plans, and includes access to: + +- SSO (Okta, SAML, etc.) and directory sync +- Zero data retention for text inputs in LLM inference +- Advanced [thread visibility controls](https://ampcode.com/manual/appendix#workspace-thread-visibility-controls) +- [Managed user settings](https://ampcode.com/#enterprise-managed-policy-settings) +- APIs for workspace analytics and data management +- Configurable thread retention (on request) +- IP allowlisting for workspace access (on request) + +For more information about Amp Enterprise security features, see the [Amp Security Reference](https://ampcode.com/security). + +To start using Amp Enterprise, go to [your workspace](https://ampcode.com/workspace) and click **Plan** in the top right. This requires a special one-time $1,000 USD purchase, which grants your workspace $1,000 USD of Amp Enterprise usage and upgrades your workspace to Enterprise. Amp Enterprise also includes access to: + +- [Entitlements](https://ampcode.com/manual/appendix#workspace-entitlements) for per-user cost controls +- User groups for cost attribution and per-group thread visibility options (on request) + +Contact [amp-devs@ampcode.com](https://ampcode.com/) for access to these purchasing options and for general information about Amp Enterprise. + +## Support + +For general help with Amp, post on X and mention [@AmpCode](https://x.com/AmpCode), or email [amp-devs@ampcode.com](https://ampcode.com/). You can also join our community [Build Crew](https://buildcrew.team/) to discuss Amp and share tips with others. + +For billing and account help, contact [amp-devs@ampcode.com](https://ampcode.com/). + +### Supported Platforms + +Amp supports macOS, Linux, and Windows (WSL recommended). + +Amp's JetBrains integration supports all JetBrains IDEs (IntelliJ, WebStorm, GoLand, etc.) on versions 2025.1+ (2025.2.2+ is recommended). diff --git a/user/agents/skills/spawn/scripts/spawn-amp b/user/agents/skills/spawn/scripts/spawn-amp new file mode 100755 index 00000000..9dbafbf0 --- /dev/null +++ b/user/agents/skills/spawn/scripts/spawn-amp @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +ASSETS_DIR="$HOME/.config/agents/skills/spawn/assets" + +TASK="${1:-}" +if [[ -z "$TASK" ]]; then + echo "usage: spawn-amp <task>" >&2 + exit 1 +fi + +# generate fairy name +FIRST=$(shuf -n 1 "$ASSETS_DIR/firstnames.txt") +LAST1=$(shuf -n 1 "$ASSETS_DIR/lastnames_1.txt") +LAST2=$(shuf -n 1 "$ASSETS_DIR/lastnames_2.txt") +NAME="${FIRST}_${LAST1}${LAST2}" + +THREAD_ID="${AMP_CURRENT_THREAD_ID:-}" +PANE_ID="${TMUX_PANE:-}" + +# build the full prompt +PROMPT="" +[[ -n "$THREAD_ID" ]] && PROMPT="Continuing work from thread $THREAD_ID. When you lack specific information you can use read_thread to get it. " +PROMPT="$PROMPT$TASK" +[[ -n "$PANE_ID" ]] && PROMPT="$PROMPT You are $NAME. Coordinator pane: $PANE_ID. Load the report skill for messaging etiquette." + +# write prompt to temp file for safe transport (handles special chars) +TMPFILE=$(mktemp) +printf '%s' "$PROMPT" > "$TMPFILE" + +# spawn amp with prompt piped in (stays interactive after first message) +tmux new-window -d -n "$NAME" "cat '$TMPFILE' | amp --dangerously-allow-all" + +echo "$NAME" diff --git a/user/agents/skills/tmux/SKILL.md b/user/agents/skills/tmux/SKILL.md new file mode 100644 index 00000000..6c759ad4 --- /dev/null +++ b/user/agents/skills/tmux/SKILL.md @@ -0,0 +1,31 @@ +--- +name: tmux +description: "manage background processes in tmux windows. use when running dev servers, build watchers, or any long-running process that shouldn't block the agent. check window before spawning." +--- +# tmux + +manage concurrent processes (servers, builds, watchers) in tmux windows. + +## spawn + +```bash +tmux new-window -n "name" -d "command" +``` + +## inspect + +```bash +tmux capture-pane -p -t "name" # visible screen +tmux capture-pane -p -S - -t "name" # full scrollback +``` + +## control + +```bash +tmux send-keys -t "name" C-c # interrupt +tmux kill-window -t "name" # terminate +tmux select-window -t "name" # switch to +tmux list-windows # list all +``` + +for spawning amp agents with thread linkage, use the `spawn` skill. diff --git a/user/agents/skills/write/SKILL.md b/user/agents/skills/write/SKILL.md new file mode 100644 index 00000000..bc6656f3 --- /dev/null +++ b/user/agents/skills/write/SKILL.md @@ -0,0 +1,98 @@ +--- +name: write +description: "prose style guide. use when your output includes ANYTHING other than a code snippet. use during conversation, and every time you write to a file, commit, PR. enforces academish voice: supported claims, precise language, no hyperbole. user tone: lowercase, terse, anti-sycophancy." +--- + +# write + +style guidance for prose. academish voice (academic rigor without density) + user's specific tone. + + +## tone + +these override defaults. apply to ALL prose output: + +- **lowercase ONLY** — caps reserved for emphasis (ALL CAPS) or sarcasm (Initial Caps) +- **terse** — fewest words without sacrificing correctness +- **anti-sycophancy** — never "great question!", "you're absolutely right!", "perfect!" +- **critical stance** — express tradeoffs, don't blindly agree, acknowledge what might not work +- **late millennial slang** — mix in zoomer occasionally +- **esoteric interpretations** — prioritize for literature, art, philosophy references + +## core principles + +**claims need support** — if you can't defend it, delete it or label as hunch +**precision over persuasion** — describe, don't emote. "a problem" not "the problem" +**no hyperbole** — adjectives clarify, not sell. delete emphasis-only words +**structure for skimming** — surface goals/conclusions early. headings as roadmap +**credit sources** — cite, link, thank contributors +**humble about solutions** — enthusiastic about goals, modest about implementations +**explain jargon** — gloss uncommon terms for generalist readers + +## examples + +### pr description + +**slop:** +``` +## Summary + +This PR fixes an important bug in the authentication flow where the dialog +wasn't closing properly after token creation. + +## Changes Made + +- Added missing `dialogManager.close(id)` call to the success path +- This ensures consistent behavior with the cancel path + +## Testing + +Manually verified the dialog now closes correctly. +``` + +**correct:** +``` +dialog stayed open after token creation. now it closes. + +the success path in `onNewTokenSubmit` called `onSuccess` but skipped +`dialogManager.close(id)`. cancel path had the close call; success path didnt. + +added the missing close call before `onSuccess`. matches existing pattern +in `onCancel` and other action files. +``` + +### commit message + +**slop:** `Fix dialog not closing after successful token creation` +**correct:** `fix(auth): close dialog on token creation success` + +## self-review checklist + +before submitting: + +- [ ] lowercase? (except intentional ALL CAPS emphasis) +- [ ] terse? (can i cut words without losing meaning?) +- [ ] no sycophancy? (no "great!", "perfect!", "absolutely!") +- [ ] tradeoffs acknowledged? (what might not work?) +- [ ] claims supported or labeled as hunch? +- [ ] lede not buried? + +## sentence transforms + +| slop | fixed | why | +|------|-------|-----| +| "This is the best approach" | "this approach avoids X and Y" | justify, don't rank; lowercase | +| "Great question!" | [delete] | sycophancy | +| "It's important to note that..." | [delete] | throat-clearing | +| "This will significantly improve..." | "reduces latency by ~40ms" | quantify or cut | +| "I've successfully implemented..." | "done. the handler now..." | terse; no self-congratulation | + +## anti-patterns + +**the buried lede** — three paragraphs of context before stating the point. fix: conclusion first. + +**the hedge stack** — "It might potentially be somewhat useful." fix: commit or cut. + +**corporate voice** — section headers, formal structure where none needed. fix: just say it. + +**sycophancy opener** — starting with praise before addressing content. fix: delete, respond directly. diff --git a/user/agents/skills/write/references/academish-voice.md b/user/agents/skills/write/references/academish-voice.md new file mode 100644 index 00000000..c79c1349 --- /dev/null +++ b/user/agents/skills/write/references/academish-voice.md @@ -0,0 +1,47 @@ +# Academish Voice + +pvh / Aug 2022 + +Our publications follow what we call "academish" voice. We follow a largely academic style in our writing but avoid certain academic tendencies. + +## Academic Style + +Make no claims without support. If you have made an unsupported claim consider its centrality to your argument. If "many developers agree", we should be able to link to a source or describe how we know that. If you can't defend it, you should get rid of it. + +Avoid absolutist language. It's not "the main problem", it's "a problem". (Unless, of course, you can defend the claim.) + +Be precise and specific with your descriptions. Instead of saying something "feels great", describe how it feels. Don't say something "is a problem" unless you describe what the problem is or to whom. If you're tempted to say something vague because you're not sure, either do enough research until you're sure, or don't say it. + +Avoid hyperbole. Use adjectives to add precision, not to persuade. Claiming "immense benefits" is only appropriate if you have developed a commercially viable fusion power plant. Delete words that are only for emphasis, and keep only those that add substance (e.g. quantify). + +Structure your writing for incremental reading. Don't bury the lede. A reader should be able to understand the goals and conclusions of an essay by reading the first couple of paragraphs. Individual sections should briefly reiterate any important material and/or link back to where it is introduced. This may feel repetitive at times but aids readers who take several sessions to read a piece or who jump straight to the sections that interest them. + +Give credit to others. Cite earlier work. Link to sources for terms and ideas. Give thanks to contributors, reviewers, and advisors. + +Be humble and transparent about shortcomings and problems. We want readers to build on our work, not buy our product. + +## Ink & Switch Style + +Assume the reader is an interested generalist. Explain jargon. Academic writing is dense with domain terminology because it assumes readers are "up to date on the field." Ink & Switch Essays make use of marginalia in what we call "asides" to define uncommon terminology. Concretely, you don't need to gloss "HTML", but you should probably gloss "CRDT". + +Carefully consider section headings. Headings should legibly communicate the shape of the essay and serve as a roadmap for a reader to skip to the part of an essay that's most interesting to them. Similarly, avoid including unrelated material in a section with a particular title. If a user already knows "How CRDTs Work" then they shouldn't miss (much) important information about the project by skipping reading that section. + +Embrace interactive demonstrations, animations, illustration, and videos. Sometimes an illustration or demo can offer more clarity on a topic than text alone. As long as the content is self-contained and doesn't rely on external sources, it should be legible for many years to come and viewable offline. + +It's okay to share hunches and beliefs as long as they're appropriately labeled. Don't be shy about drawing conclusions, just be clear about the degree of confidence you have and where it comes from. + +Ensure content looks good in PDF / printed form. Obviously you lose the elements above, but the PDF version of a paper shouldn't have giant ▶️ icons obscuring an image. Interactive figures should display a meaningful static view. + +Use "asides" for supportive content and marginalia. Asides can expand on references to other work, link out to related projects, or just share interesting context or historical tidbits. + +Deploy persuasive or emotional writing appropriately. You can be enthusiastic in describing your goals but be modest in how you describe your solutions. + +Keep it classy. We don't dismiss other people's work or insult their products. Everything around you was made by someone working really hard on it. If we have found a better way, we should show gratitude to those who helped us realize the path forward and humility about our contributions. + +Sweat the details. Make sure your colors are carefully chosen. Images should be clear and at the right bit rate. Choose your words carefully. Interactions should be delightful. + +The result of these elements should be an essay that is confident, accurate, and readable to almost anyone with a background in technology. Our essays are often long (probably too long) but should consistently reward patient reading and serve as a reference to their readers for many years to come. + +--- + +Source: https://inkandswitch.notion.site/Academish-Voice-0d8126b3be5545d2a21705ceedb5dd45 diff --git a/user/amp/default.nix b/user/amp/default.nix new file mode 100644 index 00000000..24ea1ce5 --- /dev/null +++ b/user/amp/default.nix @@ -0,0 +1,50 @@ +{ lib, inputs, hostSystem ? null, config ? {}, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + homeDir = if isDarwin then "/Users/bdsqqq" else "/home/bdsqqq"; +in +{ + # sops template for amp settings.json (secret substitution at activation time) + sops.templates."amp-settings.json" = { + content = builtins.toJSON { + "amp.permissions" = [ + # reject dangerous git operations + { tool = "Bash"; matches = { cmd = [ "*git add -A*" "*git add .*" ]; }; action = "reject"; + message = "stage files explicitly with 'git add <file>' — unstaged changes may not be yours"; } + { tool = "Bash"; matches = { cmd = [ "*git push --force*" "*git push -f*" "*--force-with-lease*" ]; }; action = "reject"; + message = "never force push. if diverged: 'git fetch origin && git rebase origin/main && git push'"; } + + # prefer trash over rm (but allow subcommands like 'wt rm', 'git worktree remove') + { tool = "Bash"; matches = { cmd = [ "rm *" "* && rm *" "* || rm *" "* ; rm *" ]; }; action = "reject"; + message = "use 'trash <file>' instead of rm — recoverable deletion"; } + + # allow everything else + { tool = "*"; action = "allow"; } + ]; + + mcpServers.motion = { + command = "npx"; + args = [ + "-y" + "https://api.motion.dev/registry.tgz?package=motion-studio-mcp&version=latest&token=${config.sops.placeholder.motion_plus_token}" + ]; + }; + }; + path = "${homeDir}/.config/amp/settings.json"; + owner = "bdsqqq"; + mode = "0600"; + }; + + home-manager.users.bdsqqq = { pkgs, config, lib, ... }: { + # amp wrapper: private by default, but workspace-scoped in axiom repos + programs.zsh.initContent = '' + amp() { + if [[ "$PWD" = "$HOME/www/axiom"* ]]; then + command amp "$@" + else + command amp --visibility private "$@" + fi + } + ''; + }; +} diff --git a/user/apps.nix b/user/apps.nix index a8482286..9ce1c3ad 100644 --- a/user/apps.nix +++ b/user/apps.nix @@ -1,26 +1,35 @@ -{ lib, hostSystem ? null, ... }: +{ lib, inputs, hostSystem ? null, headMode ? "graphical", ... }: let isDarwin = lib.hasInfix "darwin" hostSystem; in -{ +lib.mkIf (headMode == "graphical") { home-manager.users.bdsqqq = { pkgs, ... }: { home.packages = with pkgs; [ docker blockbench vscode - blender + # blender # disabled: triggers OpenUSD compile with cudaSupport obsidian - spicetify-cli transmission_4 rclone qpdf + # inputs.lnr.packages.${hostSystem}.default # CANARY: testing schema-codegen branch (PR #20) + ] ++ [ + # Canary lnr binary - remove after PR #20 is merged + (pkgs.runCommand "lnr-canary" { } '' + mkdir -p $out/bin + ln -s /Users/bdsqqq/www/lnr/schema-codegen/lnr $out/bin/lnr + '') ] ++ lib.optionals isDarwin [ iina ] ++ lib.optionals (!isDarwin) [ + inputs.cursor.packages.x86_64-linux.default _1password-gui _1password-cli dbeaver-bin vlc + imv + nautilus xwayland-satellite fuzzel blueman diff --git a/user/bun.nix b/user/bun.nix new file mode 100644 index 00000000..43b304f0 --- /dev/null +++ b/user/bun.nix @@ -0,0 +1,11 @@ +{ config, pkgs, ... }: +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + home.sessionVariables = { + BUN_INSTALL = "$HOME/.bun"; + }; + home.sessionPath = [ + "$HOME/.bun/bin" + ]; + }; +} diff --git a/user/dev-tools.nix b/user/dev-tools.nix index fdbc9ed3..7946192b 100644 --- a/user/dev-tools.nix +++ b/user/dev-tools.nix @@ -13,23 +13,16 @@ in spotify-player.enable = true; }; home.packages = with pkgs; [ - lazygit - delta - gh - graphite-cli - git-filter-repo + coreutils exiftool sops age ssh-to-age fnm - oh-my-zsh - nodejs_22 pnpm pscale go - python3 - uv + gofumpt golangci-lint gotools @@ -58,12 +51,19 @@ in ffmpeg httpie fastfetch + ollama + mkcert + trash-cli ] ++ lib.optionals isDarwin [ istat-menus ] ++ lib.optionals (!isDarwin) [ - nvtopPackages.nvidia + nvtopPackages.full + radeontop ]; + + home.shellAliases = { + b = "btop"; + f = "fastfetch"; + }; }; } - - diff --git a/user/fnm.nix b/user/fnm.nix new file mode 100644 index 00000000..0e177333 --- /dev/null +++ b/user/fnm.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + home.file.".node-version".text = "22"; + programs.zsh.initContent = '' + # fnm + if command -v fnm >/dev/null 2>&1; then + eval "$(fnm env --use-on-cd --shell zsh)" + fi + ''; + }; +} diff --git a/user/fzf/default.nix b/user/fzf/default.nix new file mode 100644 index 00000000..e8744832 --- /dev/null +++ b/user/fzf/default.nix @@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +let + awkScript = ./history-format.awk; + + historyWidget = builtins.replaceStrings + [ "@gawk@" "@awkScript@" ] + [ "${pkgs.gawk}/bin/gawk" "${awkScript}" ] + (builtins.readFile ./history-widget.zsh); +in +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + programs.fzf = { + enable = true; + defaultCommand = "rg --files --hidden --follow"; + defaultOptions = [ + "--height=40%" + "--layout=reverse" + "--border" + ]; + }; + + programs.zsh.initContent = '' + # custom fzf file widget (ctrl+f) + _fzf_files() { + local selected=$(rg --files --hidden --follow | fzf --height=40% --layout=reverse --border) + LBUFFER="''${LBUFFER}''${selected}" + zle reset-prompt + } + zle -N _fzf_files + bindkey '^F' _fzf_files + + ${historyWidget} + ''; + }; +} diff --git a/user/fzf/history-format.awk b/user/fzf/history-format.awk new file mode 100644 index 00000000..5639e031 --- /dev/null +++ b/user/fzf/history-format.awk @@ -0,0 +1,89 @@ +# Parse fc -liD output and format for fzf display with logfmt metadata +# Input format: " 757 2024-12-29 21:15 0:00 command # user=x host=y dir=z" +# Output format: "command [who@where] HH:MM" with ANSI colors +# +# Variables passed in: +# cur_user - current username +# cur_host - current hostname +# today - today's date as YYYY-MM-DD + +{ + # skip empty lines + if ($0 == "") next + + # fc -liD format: " NUM YYYY-MM-DD HH:MM ELAPSED command" + # $1 = line number, $2 = date, $3 = time, $4 = elapsed, rest = command + + date = $2 + time = $3 + + # find where command starts (after 4th field) + # match: leading space + number + space + date + space + time + space + elapsed + space + match($0, /^[[:space:]]*[0-9]+[[:space:]]+[0-9-]+[[:space:]]+[0-9:]+[[:space:]]+[0-9:]+[[:space:]]+/) + if (RSTART > 0) { + full_cmd = substr($0, RSTART + RLENGTH) + } else { + # fallback: just use everything after elapsed field + full_cmd = "" + for (i = 5; i <= NF; i++) { + full_cmd = full_cmd (i > 5 ? " " : "") $i + } + } + + # split command from logfmt tag + tag_idx = index(full_cmd, " # ") + if (tag_idx > 0) { + cmd = substr(full_cmd, 1, tag_idx - 1) + tag = substr(full_cmd, tag_idx + 4) + } else { + cmd = full_cmd + tag = "" + } + + # parse logfmt fields + user = ""; host = ""; dir = ""; agent = ""; thread = "" + n = split(tag, pairs, " ") + for (i = 1; i <= n; i++) { + eq = index(pairs[i], "=") + if (eq > 0) { + key = substr(pairs[i], 1, eq - 1) + val = substr(pairs[i], eq + 1) + # strip quotes if present + gsub(/^"/, "", val); gsub(/"$/, "", val) + if (key == "user") user = val + else if (key == "host") host = val + else if (key == "dir") dir = val + else if (key == "agent") agent = val + else if (key == "thread") thread = val + } + } + + # build context: who (agent or host if different) + who = "" + if (agent != "") { + # truncate long thread IDs: first4...last4 + if (length(thread) > 8) { + thread = substr(thread, 1, 4) "..." substr(thread, length(thread) - 3) + } + who = agent ":" thread + } + if (host != "" && host != cur_host) { + if (who != "") who = who "@" host + else who = host + } + + # build when: only show time if today, else date+time + if (date == today) { + when = time + } else { + when = date " " time + } + + # output: raw_cmd \t formatted_display + # fzf uses --with-nth=2 to show only formatted, we extract field 1 after selection + if (who != "") { + printf "%s\t%s \033[90m[%s] %s\033[0m\n", cmd, cmd, who, when + } else { + printf "%s\t%s \033[90m%s\033[0m\n", cmd, cmd, when + } +} diff --git a/user/fzf/history-widget.zsh b/user/fzf/history-widget.zsh new file mode 100644 index 00000000..317ecac7 --- /dev/null +++ b/user/fzf/history-widget.zsh @@ -0,0 +1,28 @@ +# Custom fzf history widget with logfmt metadata display +# Requires: gawk, fzf +# Expected env: HISTFILE, USER, HOST +# Expected substitution: @gawk@ -> path to gawk, @awkScript@ -> path to history-format.awk + +_fzf_history() { + fc -R # reload history from file to ensure we have latest + + local current_user="${USER}" + local current_host="${HOST}" + local today=$(date +%Y-%m-%d) + + local selected=$(fc -liD 1 | @gawk@ \ + -v cur_user="$current_user" \ + -v cur_host="$current_host" \ + -v today="$today" \ + -f @awkScript@ \ + | fzf --ansi --height=40% --layout=reverse --border --no-sort --tac --delimiter='\t' --with-nth=2 -q "$LBUFFER") + + if [[ -n "$selected" ]]; then + # first tab-delimited field is the raw command + LBUFFER="${selected%% *}" + fi + zle reset-prompt +} + +zle -N _fzf_history +bindkey '^R' _fzf_history diff --git a/user/gaming.nix b/user/gaming.nix new file mode 100644 index 00000000..e805b413 --- /dev/null +++ b/user/gaming.nix @@ -0,0 +1,27 @@ +{ lib, pkgs, hostSystem ? null, ... }: + +let + isDarwin = lib.hasInfix "darwin" hostSystem; + isLinux = lib.hasInfix "linux" hostSystem; + + # launch steam big picture in gamescope to avoid gesture conflicts with niri + steam-gamescope = pkgs.writeShellScriptBin "steam-gamescope" '' + exec ${pkgs.gamescope}/bin/gamescope \ + -e \ + -f \ + --adaptive-sync \ + --expose-wayland \ + -- steam -gamepadui -steamos + ''; +in +{ + home-manager.users.bdsqqq = { pkgs, ... }: { + home.packages = [ + pkgs.prismlauncher + ] ++ lib.optionals isDarwin [ + ] ++ lib.optionals isLinux [ + steam-gamescope + pkgs.gamescope + ]; + }; +} diff --git a/user/ghostty.nix b/user/ghostty.nix index 04b684b9..b93d8158 100644 --- a/user/ghostty.nix +++ b/user/ghostty.nix @@ -1,44 +1,176 @@ -{ lib, hostSystem ? null, ... }: +{ lib, pkgs, headMode ? "graphical", hostSystem ? null, ... }: + let isDarwin = lib.hasInfix "darwin" hostSystem; isLinux = lib.hasInfix "linux" hostSystem; - + +complineDarkTheme = '' + # from https://github.com/joshuablais/compline/blob/main/ghostty/compline + background = #1a1d21 + foreground = #f0efeb + cursor-color = #d4ccb4 + cursor-text = #1a1d21 + selection-background = #3d424a + selection-foreground = #f0efeb + palette = 0 = #22262b + palette = 1 = #cdacac + palette = 2 = #b8c4b8 + palette = 3 = #d4ccb4 + palette = 4 = #b4bcc4 + palette = 5 = #ccc4b4 + palette = 6 = #b4c0c8 + palette = 7 = #8b919a + palette = 8 = #515761 + palette = 9 = #cdacac + palette = 10 = #b8c4b8 + palette = 11 = #d4ccb4 + palette = 12 = #b4bcc4 + palette = 13 = #ccc4b4 + palette = 14 = #b4c0c8 + palette = 15 = #e0dcd4 +''; + +laudsLightTheme = '' + # from https://github.com/joshuablais/compline/blob/main/ghostty/lauds + background = #f0efeb + foreground = #1a1d21 + cursor-color = #8b7e52 + cursor-text = #f0efeb + selection-background = #d8d6d3 + selection-foreground = #1a1d21 + palette = 0 = #5f5c58 + palette = 1 = #8b6666 + palette = 2 = #5a6b5a + palette = 3 = #8b7e52 + palette = 4 = #5a6b7a + palette = 5 = #8b7e52 + palette = 6 = #64757d + palette = 7 = #4a4d51 + palette = 8 = #7d7a75 + palette = 9 = #8b6666 + palette = 10 = #5a6b5a + palette = 11 = #8b7e52 + palette = 12 = #5a6b7a + palette = 13 = #8b7e52 + palette = 14 = #64757d + palette = 15 = #2d2a27 +''; + + vesperDarkTheme = '' +# Based on https://github.com/studio1804/ghostty-theme/blob/main/themes/studio1804-modern.conf +# and https://github.com/raunofreiberg/vesper/blob/main/themes/Vesper-dark-color-theme.json +# Standard ANSI colors (0-7) - Studio1804 pure grayscale palette +palette = 0=101010 +palette = 1=dc2626 +palette = 2=6b7280 +palette = 3=f97316 +palette = 4=374151 +palette = 5=d1d5db +palette = 6=6b7280 +palette = 7=c2c2c2 + +# Bright ANSI colors (8-15) - Studio1804 enhanced palette +palette = 8=404040 +palette = 9=ef4444 +palette = 10=9ca3af +palette = 11=#99FFE4 +palette = 12=6b7280 +palette = 13=#FFC799 +palette = 14=9ca3af +palette = 15=ffffff + +# Core terminal colors +background = 101010 +foreground = c2c2c2 +cursor-color = FFC799 + +# Selection colors +selection-background = A4A4A4 +selection-foreground = ffffff +''; + + vesperLightTheme = '' +# based on https://github.com/e-ink-colorscheme/e-ink.ghostty/blob/main/e-ink +background = #C2C2C2 +foreground = #101010 + +selection-background = #E5E5E5 +selection-foreground = #000000 + +palette = 0=#C2C2C2 +palette = 1=#333333 +palette = 2=#9A9A9A +palette = 3=#868686 +palette = 4=#727272 +palette = 5=#AEAEAE +palette = 6=#4A4A4A +palette = 7=#5E5E5E + +palette = 8=#5E5E5E +palette = 9=#333333 +palette = 10=#9A9A9A +palette = 11=#99FFE4 +palette = 12=#727272 +palette = 13=#FFC799 +palette = 14=#4A4A4A +palette = 15=#7C7C7C +''; + ghosttyConfig = '' - font-family = "Berkeley Mono" - macos-titlebar-style = "tabs" - window-padding-x = 16 - window-padding-y = 4 - background = #101010 - foreground = #c2c2c2 - background-opacity = "0.6" - background-blur = "8" - selection-invert-fg-bg - macos-icon = "custom-style" - macos-icon-screen-color = #101010 - macos-icon-ghost-color = #c2c2c2 - keybind = shift+enter=text:\n - ''; -in -if isDarwin then { - # darwin: ghostty pkg marked broken in nixpkgs, use homebrew cask - homebrew.casks = [ "ghostty" ]; - - home-manager.users.bdsqqq = { ... }: { - home.file.".config/ghostty/config" = { +font-family = "Berkeley Mono" +macos-titlebar-style = "hidden" +window-padding-x = 16 +window-padding-y = 4 +background-opacity = 0.7 +background-blur-radius = 8 + +theme = light:lauds-light,dark:compline-dark + +keybind = shift+enter=text:\n + +# unbind ctrl+tab/digits so tmux can receive them +keybind = ctrl+tab=unbind +keybind = ctrl+shift+tab=unbind +keybind = ctrl+one=unbind +keybind = ctrl+two=unbind +keybind = ctrl+three=unbind +keybind = ctrl+four=unbind +keybind = ctrl+five=unbind +keybind = ctrl+six=unbind +keybind = ctrl+seven=unbind +keybind = ctrl+eight=unbind +keybind = ctrl+nine=unbind +''; + + ghosttyFiles = { + "ghostty/config" = { force = true; text = ghosttyConfig; }; - }; -} else if isLinux then { - # linux: use nix package - home-manager.users.bdsqqq = { pkgs, ... }: { - home.packages = [ pkgs.ghostty ]; - - home.file.".config/ghostty/config" = { + "ghostty/themes/vesper-light" = { force = true; - text = ghosttyConfig; + text = vesperLightTheme; + }; + "ghostty/themes/vesper-dark" = { + force = true; + text = vesperDarkTheme; + }; + "ghostty/themes/compline-dark" = { + force = true; + text = complineDarkTheme; + }; + "ghostty/themes/lauds-light" = { + force = true; + text = laudsLightTheme; }; }; -} else {} - +in lib.mkIf (headMode == "graphical") ( + if isDarwin then { + homebrew.casks = [ "ghostty" ]; + home-manager.users.bdsqqq.xdg.configFile = ghosttyFiles; + } else if isLinux then { + home-manager.users.bdsqqq.home.packages = [ pkgs.ghostty ]; + home-manager.users.bdsqqq.xdg.configFile = ghosttyFiles; + } else {} +) diff --git a/user/git/_wt.sh b/user/git/_wt.sh new file mode 100644 index 00000000..526fd971 --- /dev/null +++ b/user/git/_wt.sh @@ -0,0 +1,539 @@ +#!/usr/bin/env zsh +# wt: unified worktree management + +set -euo pipefail + +GH="@gh@" +JQ="@jq@" +TRASH="@trash@" + +in_worktree() { + local git_dir + git_dir=$(git rev-parse --git-dir 2>/dev/null) || return 1 + [[ "$git_dir" == */bare-repo.git/worktrees/* ]] +} + +has_bare_repo() { + if [[ -d "./bare-repo.git" ]]; then + return 0 + elif in_worktree && [[ -d "../bare-repo.git" ]]; then + return 0 + fi + return 1 +} + +get_bare_root() { + if in_worktree; then + local git_dir + git_dir=$(git rev-parse --git-dir 2>/dev/null) + # git stores worktree metadata at bare-repo.git/worktrees/<name> + # we need the parent of bare-repo.git, not of the metadata dir + dirname "$(dirname "$(dirname "$git_dir")")" + else + pwd + fi +} + +get_git_dir() { + local bare_root="$1" + echo "$bare_root/bare-repo.git" +} + +get_default_branch() { + local git_dir="$1" + git -C "$git_dir" symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||' +} + +get_current_branch() { + git rev-parse --abbrev-ref HEAD 2>/dev/null +} + +get_current_worktree_name() { + basename "$(pwd)" +} + +is_url() { + [[ "$1" == *"://"* || "$1" == git@* ]] +} + +is_pr_url() { + [[ "$1" =~ github\.com/.*/pull/[0-9]+ ]] +} + +is_repo_url() { + is_url "$1" && ! is_pr_url "$1" +} + +extract_pr_num() { + echo "$1" | grep -oE 'pull/[0-9]+' | cut -d'/' -f2 +} + +extract_org_repo() { + echo "$1" | sed -E 's|.*github\.com[:/]([^/]+/[^/.]+).*|\1|' | sed 's/\.git$//' +} + +origin_matches() { + local url="$1" + local git_dir="$2" + local url_org_repo target_org_repo + url_org_repo=$(extract_org_repo "$url") + target_org_repo=$(git -C "$git_dir" remote get-url origin 2>/dev/null | sed -E 's|.*github\.com[:/]([^/]+/[^/.]+).*|\1|' | sed 's/\.git$//') + [[ "$url_org_repo" == "$target_org_repo" ]] +} + +worktree_exists() { + local bare_root="$1" + local name="$2" + [[ -d "$bare_root/$name" ]] +} + +get_worktree_branch() { + local wt_path="$1" + git -C "$wt_path" rev-parse --abbrev-ref HEAD 2>/dev/null +} + +find_worktree_for_branch() { + local git_dir="$1" + local branch="$2" + git -C "$git_dir" worktree list --porcelain | awk -v branch="$branch" ' + /^worktree / { wt = substr($0, 10) } + /^branch refs\/heads\// { + b = substr($0, 21) + if (b == branch) { print wt; exit } + } + ' +} + +err() { + echo "error: $1" >&2 + exit 1 +} + +print_setup_hint() { + cat <<'EOF' +no bare-repo.git. clone one: + wt <repo-url> + wt <repo-url> <dir> +EOF + exit 1 +} + +print_help() { + cat <<'EOF' +wt - worktree management + +usage: wt [cmd] [args] + +commands: + (none) list worktrees (or status if in worktree) + <branch> add worktree, cd into it + pr <num> add worktree for PR + pr-<num> alias for pr <num> + <pr-url> add worktree from github PR url + rm [name] remove worktree (current if no name) + <repo-url> clone bare repo, add default branch worktree + <repo-url> <dir> clone into specific directory + help, --help, -h show this help + +subcommand help: + wt pr --help + wt rm --help +EOF +} + +print_help_pr() { + cat <<'EOF' +wt pr - add worktree for PR + +usage: wt pr <num> + wt pr-<num> + wt <github-pr-url> + +fetches PR branch from origin, creates worktree at ../pr-<num>. +if worktree exists and branch matches, cd into it. +if worktree exists but branch differs, error. + +examples: + wt pr 231 + wt pr-231 + wt https://github.com/org/repo/pull/231 +EOF +} + +print_help_rm() { + cat <<'EOF' +wt rm - remove a worktree + +usage: wt rm [name] + +if no name: removes current worktree (must be in one). +if name: removes named worktree. + +also deletes local branch (unless default) and trashes folder. +refuses to remove default branch worktree. + +examples: + wt rm # remove current + wt rm pr-231 # remove pr-231 +EOF +} + +list_worktrees() { + local git_dir="$1" + local bare_root="$2" + local default_branch wt name branch head merged + + git -C "$git_dir" fetch origin --quiet 2>/dev/null || true + default_branch=$(get_default_branch "$git_dir") + + git -C "$git_dir" worktree list --porcelain | while read -r line; do + case "$line" in + worktree\ *) + wt="${line#worktree }" + [[ "$wt" == *"bare-repo.git" ]] && wt="" && continue + ;; + branch\ *) + [[ -z "$wt" ]] && continue + merged="○" + name=$(basename "$wt") + branch="${line#branch refs/heads/}" + + head=$(git -C "$wt" rev-parse HEAD 2>/dev/null) || true + if [[ -n "$head" ]] && git -C "$git_dir" merge-base --is-ancestor "$head" "origin/$default_branch" 2>/dev/null; then + merged="✓" + fi + + if [[ "$name" == "$branch" ]]; then + echo "$merged $name" + else + echo "$merged $name ($branch)" + fi + wt="" + ;; + esac + done +} + +show_current_status() { + local git_dir="$1" + local wt_path + wt_path=$(pwd) + local name + name=$(basename "$wt_path") + local branch + branch=$(get_current_branch) + local default_branch + default_branch=$(get_default_branch "$git_dir") + + echo "worktree: $name" + echo "branch: $branch" + + git -C "$git_dir" fetch origin --quiet 2>/dev/null || true + local head + head=$(git rev-parse HEAD 2>/dev/null) + if [[ -n "$head" ]] && git -C "$git_dir" merge-base --is-ancestor "$head" "origin/$default_branch" 2>/dev/null; then + echo "status: ✓ merged into $default_branch" + else + echo "status: ○ not merged" + fi + + local changes + changes=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ') + if [[ "$changes" -gt 0 ]]; then + echo "changes: $changes file(s) modified" + fi +} + +remove_worktree() { + local git_dir="$1" + local bare_root="$2" + local name="$3" + local wt_path="$bare_root/$name" + # git worktree remove needs absolute path when using -C + local wt_path_abs + wt_path_abs=$(cd "$wt_path" 2>/dev/null && pwd) || wt_path_abs="$(pwd)/$wt_path" + + local branch + branch=$(git -C "$wt_path" rev-parse --abbrev-ref HEAD 2>/dev/null) + local default_branch + default_branch=$(get_default_branch "$git_dir") + + echo "removing: $name" + git -C "$git_dir" worktree remove "$wt_path_abs" --force + + if [[ -n "$branch" && "$branch" != "$default_branch" && "$branch" != "HEAD" ]]; then + if git -C "$git_dir" show-ref --verify --quiet "refs/heads/$branch"; then + echo "deleting branch: $branch" + git -C "$git_dir" branch -D "$branch" + fi + fi + + if [[ -d "$wt_path" ]]; then + if command -v "$TRASH" &>/dev/null; then + "$TRASH" "$wt_path" + fi + fi + + echo "done" +} + +add_pr_worktree() { + local git_dir="$1" + local bare_root="$2" + local pr_num="$3" + + local branch + branch=$(GIT_DIR="$git_dir" $GH pr view "$pr_num" --json headRefName -q .headRefName) + if [[ -z "$branch" ]]; then + err "failed to get branch for PR #$pr_num" + fi + + local existing_wt + existing_wt=$(find_worktree_for_branch "$git_dir" "$branch") + if [[ -n "$existing_wt" ]]; then + local existing_name + existing_name=$(basename "$existing_wt") + echo "branch '$branch' already has a worktree at: $existing_name" + return + fi + + git -C "$git_dir" fetch origin "$branch" + local wt_path + wt_path="$(cd "$bare_root" && pwd)/pr-$pr_num" + + if git -C "$git_dir" show-ref --verify --quiet "refs/heads/$branch"; then + git -C "$git_dir" worktree add "$wt_path" "$branch" + else + git -C "$git_dir" worktree add --track -b "$branch" "$wt_path" "origin/$branch" + fi + + echo "done. pr-$pr_num ($branch)" +} + +add_branch_worktree() { + local git_dir="$1" + local bare_root="$2" + local name="$3" + local default_branch + default_branch=$(get_default_branch "$git_dir") + + local wt_path + wt_path="$(cd "$bare_root" && pwd)/$name" + git -C "$git_dir" worktree add --no-track "$wt_path" -b "$name" "origin/$default_branch" + echo "done. $name" +} + +clone_bare_repo() { + local url="$1" + local target_dir="$2" + + mkdir -p "$target_dir" + local git_dir="$target_dir/bare-repo.git" + + git clone --bare "$url" "$git_dir" + git -C "$git_dir" config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' + git -C "$git_dir" fetch origin + + local default_branch + default_branch=$(get_default_branch "$git_dir") + # origin/HEAD may not be set yet after bare clone; fall back to main + [[ -z "$default_branch" ]] && default_branch="main" + + local main_wt="$target_dir/$default_branch" + git -C "$git_dir" worktree add "$main_wt" "$default_branch" + + echo "done. $default_branch" +} + +main() { + local argc=$# + local arg1="${1:-}" + local arg2="${2:-}" + + if [[ "$arg1" == "help" || "$arg1" == "--help" || "$arg1" == "-h" ]]; then + print_help + return + fi + + if [[ "$arg1" =~ ^pr-([0-9]+)$ ]]; then + arg1="pr" + arg2="${match[1]}" + argc=2 + fi + + if [[ $argc -eq 0 ]]; then + if ! has_bare_repo; then + print_setup_hint + elif in_worktree; then + local bare_root git_dir + bare_root=$(get_bare_root) + git_dir=$(get_git_dir "$bare_root") + show_current_status "$git_dir" + else + local git_dir="./bare-repo.git" + list_worktrees "$git_dir" "." + fi + return + fi + + if [[ "$arg1" == "rm" ]]; then + if [[ "$arg2" == "--help" || "$arg2" == "-h" ]]; then + print_help_rm + return + fi + if [[ -z "$arg2" ]]; then + if ! in_worktree; then + err "not in a worktree" + fi + + local bare_root git_dir name default_branch + bare_root=$(get_bare_root) + git_dir=$(get_git_dir "$bare_root") + name=$(get_current_worktree_name) + default_branch=$(get_default_branch "$git_dir") + + if [[ "$name" == "$default_branch" ]]; then + err "refusing to remove default branch worktree ($default_branch)" + fi + + cd "$bare_root" || err "failed to cd to $bare_root" + remove_worktree "$git_dir" "$bare_root" "$name" + else + if ! has_bare_repo; then + err "no bare-repo.git found" + fi + + local bare_root git_dir default_branch + if in_worktree; then + bare_root=$(get_bare_root) + else + bare_root="." + fi + git_dir=$(get_git_dir "$bare_root") + default_branch=$(get_default_branch "$git_dir") + + if [[ "$arg2" == "$default_branch" ]]; then + err "refusing to remove default branch worktree ($default_branch)" + fi + + if ! worktree_exists "$bare_root" "$arg2"; then + err "worktree not found: $arg2" + fi + + remove_worktree "$git_dir" "$bare_root" "$arg2" + fi + return + fi + + if [[ "$arg1" == "pr" ]]; then + if [[ "$arg2" == "--help" || "$arg2" == "-h" ]]; then + print_help_pr + return + fi + if [[ -z "$arg2" ]]; then + err "usage: wt pr <number>" + fi + + if ! has_bare_repo; then + err "no bare-repo.git found" + fi + + local bare_root git_dir + if in_worktree; then + bare_root=$(get_bare_root) + else + bare_root="." + fi + git_dir=$(get_git_dir "$bare_root") + + local wt_name="pr-$arg2" + if worktree_exists "$bare_root" "$wt_name"; then + local existing_branch expected_branch + existing_branch=$(get_worktree_branch "$bare_root/$wt_name") + expected_branch=$(GIT_DIR="$git_dir" $GH pr view "$arg2" --json headRefName -q .headRefName 2>/dev/null) + + if [[ "$existing_branch" == "$expected_branch" ]]; then + echo "worktree already exists for PR #$arg2" + else + err "worktree $wt_name exists but has branch '$existing_branch', PR #$arg2 is on '$expected_branch'" + fi + else + add_pr_worktree "$git_dir" "$bare_root" "$arg2" + fi + return + fi + + if is_url "$arg1"; then + if is_pr_url "$arg1"; then + local pr_num org_repo + pr_num=$(extract_pr_num "$arg1") + org_repo=$(extract_org_repo "$arg1") + + if has_bare_repo; then + local bare_root git_dir + if in_worktree; then + bare_root=$(get_bare_root) + else + bare_root="." + fi + git_dir=$(get_git_dir "$bare_root") + + if origin_matches "$arg1" "$git_dir"; then + main "pr" "$pr_num" + return + fi + fi + + local repo_name="${org_repo#*/}" + local target_dir="./$repo_name" + + echo "cloning $org_repo..." + clone_bare_repo "https://github.com/$org_repo.git" "$target_dir" | grep -v "__WT_CD__" + + local git_dir="$target_dir/bare-repo.git" + add_pr_worktree "$git_dir" "$target_dir" "$pr_num" + else + local target_dir + if [[ -n "$arg2" ]]; then + target_dir="$arg2" + else + local repo_name + repo_name=$(extract_org_repo "$arg1") + repo_name="${repo_name#*/}" + target_dir="./$repo_name" + fi + + clone_bare_repo "$arg1" "$target_dir" + fi + return + fi + + if ! has_bare_repo; then + err "no bare-repo.git found. use 'wt <repo-url>' to set up." + fi + + local bare_root git_dir name + name="${(L)arg1}" # lowercase + + if in_worktree; then + bare_root=$(get_bare_root) + else + bare_root="." + fi + git_dir=$(get_git_dir "$bare_root") + + if worktree_exists "$bare_root" "$name"; then + local existing_branch + existing_branch=$(get_worktree_branch "$bare_root/$name") + + if [[ "$existing_branch" == "$name" ]]; then + echo "worktree already exists: $name" + else + err "worktree $name exists but has branch '$existing_branch', not '$name'" + fi + else + add_branch_worktree "$git_dir" "$bare_root" "$name" + fi +} + +main "$@" diff --git a/user/git/adr/0001-unified-wt-command.md b/user/git/adr/0001-unified-wt-command.md new file mode 100644 index 00000000..1e033e04 --- /dev/null +++ b/user/git/adr/0001-unified-wt-command.md @@ -0,0 +1,42 @@ +# 1. unified wt command + +date: 2025-01-29 + +## status + +accepted (superseded: shell wrapper removed 2025-02-03) + +## context + +worktree workflow had 4 separate commands: `wt`, `wts`, `wt-init`, `wt-rm`. inconsistent naming (`wts` vs `wt-init`). `wt rm` needs to cd parent shell—scripts can't do this. + +## decision + +unify into single `wt` with subcommands. shell function wrapper for cd. + +- `wt` (no args, no bare-repo) → print setup hint +- `wt` (no args, has bare-repo) → list worktrees + status +- `wt` (no args, in worktree) → detailed status for current +- `wt rm` (in worktree) → remove current, cd to bare root +- `wt rm <name>` → remove named, cd only if was in deleted +- `wt pr <num>` / `wt <branch>` → existing add behavior +- `wt <url>` → clone bare repo (replaces wt-init) +- `wt <url> <dir>` → clone into specific dir + +implementation: `wt` script (nix mkScript). no shell wrapper—user cds manually. + +url vs branch disambiguation: check for `://` or `git@`. + +pr url magic: `wt https://github.com/org/repo/pull/231` extracts org/repo + pr num. +- if in matching bare repo → treat as `wt pr 231` +- if not in bare repo → clone org/repo, then add pr-231 worktree + +default branch protection: `wt rm` refuses to remove the default branch worktree. +- detected via `git symbolic-ref refs/remotes/origin/HEAD | sed 's|refs/remotes/origin/||'` +- no hardcoded main/master; respects whatever origin defines + +## consequences + +- single command to remember +- `wts`, `wt-init`, `wt-rm` deprecated +- no auto-cd: user runs `cd <worktree>` after creation (simpler, works in non-interactive shells/agents) diff --git a/user/git/default.nix b/user/git/default.nix new file mode 100644 index 00000000..9966c0d8 --- /dev/null +++ b/user/git/default.nix @@ -0,0 +1,89 @@ +{ ... }: +let + git-hunks = { pkgs }: pkgs.stdenv.mkDerivation { + pname = "git-hunks"; + version = "0.1.0"; + src = pkgs.fetchFromGitHub { + owner = "rockorager"; + repo = "git-hunks"; + rev = "810609b492daae31fd974c220d77c76780db4b11"; + hash = "sha256-VRscBmZ0Q/vL4B+8mkmQGV4Ppoj1qPpDz0kPAACjV94="; + }; + nativeBuildInputs = [ pkgs.installShellFiles ]; + dontBuild = true; + installPhase = '' + runHook preInstall + install -Dm755 git-hunks $out/bin/git-hunks + installManPage git-hunks.1 + runHook postInstall + ''; + }; + + # helper to create script with nix path substitution + mkScript = { pkgs, name, src, substitutions ? {} }: + let + keys = builtins.attrNames substitutions; + vals = builtins.attrValues substitutions; + content = builtins.replaceStrings keys vals (builtins.readFile src); + in pkgs.writeScriptBin name content; +in +{ + home-manager.users.bdsqqq = { pkgs, ... }: { + programs.git = { + enable = true; + + lfs.enable = true; + + settings = { + user = { + name = "Igor Bedesqui"; + email = "igorbedesqui@gmail.com"; + }; + + init.defaultBranch = "main"; + + pull.rebase = true; + rebase.autoStash = true; + + core.pager = "${pkgs.delta}/bin/delta"; + interactive.diffFilter = "${pkgs.delta}/bin/delta --color-only"; + delta = { + navigate = true; + side-by-side = true; + }; + merge.conflictstyle = "diff3"; + diff.colorMoved = "default"; + }; + }; + + home.packages = with pkgs; [ + lazygit + delta + gh + git-filter-repo + jq + trash-cli + (git-hunks { inherit pkgs; }) + + # worktree workflow scripts + (mkScript { + inherit pkgs; + name = "wt"; + src = ./_wt.sh; + substitutions = { + "@gh@" = "${gh}/bin/gh"; + "@jq@" = "${jq}/bin/jq"; + "@trash@" = "${trash-cli}/bin/trash-put"; + }; + }) + (mkScript { + inherit pkgs; + name = "g"; + src = ./g.sh; + substitutions = { + "@lazygit@" = "${lazygit}/bin/lazygit"; + }; + }) + ]; + }; +} diff --git a/user/git/g.sh b/user/git/g.sh new file mode 100644 index 00000000..5ca74beb --- /dev/null +++ b/user/git/g.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env zsh +# lazygit with bare-repo detection + +if [[ -d "./bare-repo.git" ]]; then + if [[ -d "./main" ]]; then + exec @lazygit@ -g ./bare-repo.git -w ./main "$@" + else + local first_wt=$(find . -maxdepth 1 -type d ! -name '.' ! -name 'bare-repo.git' | head -1) + if [[ -n "$first_wt" ]]; then + exec @lazygit@ -g ./bare-repo.git -w "$first_wt" "$@" + else + echo "no worktree found. create one with: wt <name>" + exit 1 + fi + fi +else + exec @lazygit@ "$@" +fi diff --git a/user/homebrew.nix b/user/homebrew.nix new file mode 100644 index 00000000..6ca0987e --- /dev/null +++ b/user/homebrew.nix @@ -0,0 +1,17 @@ +{ lib, hostSystem ? null, config, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + brewPrefix = if isDarwin then config.homebrew.brewPrefix or "/opt/homebrew" else ""; +in +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + programs.zsh.initContent = lib.mkIf isDarwin '' + # homebrew shellenv (darwin only) + eval "$(${brewPrefix}/brew shellenv)" + ''; + programs.bash.initExtra = lib.mkIf isDarwin '' + # homebrew shellenv (darwin only) + eval "$(${brewPrefix}/brew shellenv)" + ''; + }; +} diff --git a/user/hyprland.nix b/user/hyprland.nix index b36cd013..38183993 100644 --- a/user/hyprland.nix +++ b/user/hyprland.nix @@ -1,130 +1,135 @@ { pkgs, lib, inputs, hostSystem ? null, ... }: +let + toggleTheme = pkgs.writeShellScriptBin "toggle-theme" '' + export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus" + export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + current=$(${pkgs.glib}/bin/gsettings get org.gnome.desktop.interface color-scheme) + if [ "$current" = "'prefer-dark'" ]; then + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-light + else + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-dark + fi + ''; +in + if !(lib.hasInfix "linux" hostSystem) then {} else { wayland.windowManager.hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; + package = pkgs.hyprland; + + settings = { - # Monitor configuration - monitor = [ ",preferred,auto,1" ]; + monitor = [ ",preferred,auto,1.5" ]; - # Environment variables for cursor theme (NVIDIA vars provided by system/nvidia.nix) env = [ - # Cursor theme (traditional macOS-style) "HYPRCURSOR_THEME,macOS" "HYPRCURSOR_SIZE,24" "XCURSOR_THEME,macOS" "XCURSOR_SIZE,24" + # wayland/electron font rendering + "ELECTRON_OZONE_PLATFORM_HINT,wayland" + "GDK_SCALE,1" + "GDK_DPI_SCALE,1.5" + "QT_QPA_PLATFORM,wayland" + "QT_AUTO_SCREEN_SCALE_FACTOR,1" + # steam UI scaling on wayland (1.5 matches monitor scale) + "STEAM_FORCE_DESKTOPUI_SCALING,1.5" ]; - # Cursor configuration (2024-2025 best practice) cursor = { enable_hyprcursor = true; }; - # Startup applications exec-once = [ - "waybar" - "mako" - "nm-applet" - "blueman-applet" - "pypr" # Start pyprland for scratchpad management - # Cursor theme setup (ensures proper application) + "${pkgs.swaybg}/bin/swaybg -i /etc/wallpaper.jpg -m fill" "hyprctl setcursor macOS 24" - "gsettings set org.gnome.desktop.interface cursor-theme 'macOS'" - "gsettings set org.gnome.desktop.interface cursor-size 24" + "${inputs.vicinae.packages.${hostSystem}.default}/bin/vicinae server" + "${pkgs.quickshellWrapped}/bin/quickshell" + ]; + + layerrule = [ + "blur, vicinae" + "ignorealpha 0, vicinae" + "noanim, vicinae" ]; - # Input configuration input = { kb_layout = "us"; follow_mouse = 1; sensitivity = 0; }; - # General settings general = { - gaps_in = 5; - gaps_out = 20; - border_size = 2; + gaps_in = 4; + gaps_out = 8; + border_size = 0; + "col.active_border" = "rgba(00000000)"; + "col.inactive_border" = "rgba(00000000)"; layout = "dwindle"; - - # Resize behavior resize_on_border = true; - extend_border_grab_area = 15; }; - # Decoration settings with working syntax decoration = { - rounding = 10; - active_opacity = lib.mkForce 0.65; - inactive_opacity = lib.mkForce 0.65; - - blur = { - enabled = true; - size = 8; - passes = 1; - }; + rounding = 8; + blur.enabled = false; }; - # Animation settings animations = { enabled = true; - bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + + # ease-out-quint: responsive, user-initiated feel + bezier = [ + "easeOutQuint, 0.23, 1, 0.32, 1" + "easeInOutQuart, 0.77, 0, 0.175, 1" + ]; + animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" + # windows: ease-out, ~150ms - responsive for open/close + "windows, 1, 3, easeOutQuint, popin 80%" + # fade: quick, subtle + "fade, 1, 2, easeOutQuint" + # workspaces: ease-in-out, adds weight to the movement + "workspaces, 1, 3, easeInOutQuart, slide" ]; }; - # Layout settings dwindle = { pseudotile = true; preserve_split = true; }; - # Key bindings "$mod" = "SUPER"; - "$hyper" = "SUPER SHIFT CTRL ALT"; bind = [ - # macOS-style window layout shortcuts (Hyper = Super + Shift + Ctrl + Alt) - "$hyper, H, exec, hyprctl dispatch togglefloating active off && hyprctl dispatch movewindow l" # Tile left - "$hyper, J, exec, hyprctl dispatch togglefloating active on && hyprctl dispatch resizewindowpixel exact 60% 60% && hyprctl dispatch centerwindow" # Float 60% centered - "$hyper, K, exec, hyprctl dispatch togglefloating active on && hyprctl dispatch resizewindowpixel exact 95% 95% && hyprctl dispatch centerwindow" # Float full size centered - "$hyper, L, exec, hyprctl dispatch togglefloating active off && hyprctl dispatch movewindow r" # Tile right - - # macOS-style application management - "$mod, Q, killactive" # Quit application (like Cmd+Q) - - "$hyper, V, togglefloating" - "$hyper, C, togglesplit" + "$mod, Q, killactive" + "$mod, Return, exec, ${pkgs.ghostty}/bin/ghostty" + "$mod, Space, exec, ${inputs.vicinae.packages.${hostSystem}.default}/bin/vicinae toggle" + "$mod, T, exec, ${toggleTheme}/bin/toggle-theme" + "$mod, Period, exec, ${inputs.quickshell.packages.${hostSystem}.default}/bin/qs ipc call bar toggle" - # Meta-launcher (fuzzel-based command palette) - "$mod, SPACE, exec, /home/bdsqqq/commonplace/01_files/scripts/fuzzel-launcher" + "$mod, V, togglefloating" + "$mod, F, fullscreen" - "$mod, A, exec, hyprctl dispatch focusurgentorlast" # Select all / focus urgent - - # Movement "$mod, left, movefocus, l" "$mod, right, movefocus, r" "$mod, up, movefocus, u" "$mod, down, movefocus, d" + "$mod, H, movefocus, l" + "$mod, L, movefocus, r" + "$mod, K, movefocus, u" + "$mod, J, movefocus, d" + + "$mod SHIFT, left, movewindow, l" + "$mod SHIFT, right, movewindow, r" + "$mod SHIFT, up, movewindow, u" + "$mod SHIFT, down, movewindow, d" + "$mod SHIFT, H, movewindow, l" + "$mod SHIFT, L, movewindow, r" + "$mod SHIFT, K, movewindow, u" + "$mod SHIFT, J, movewindow, d" - # Resize mode keybindings - "$hyper, R, submap, resize" - - # Window resizing with keyboard - "$mod SHIFT, left, resizeactive, -50 0" - "$mod SHIFT, right, resizeactive, 50 0" - "$mod SHIFT, up, resizeactive, 0 -50" - "$mod SHIFT, down, resizeactive, 0 50" - - # Workspaces "$mod, 1, workspace, 1" "$mod, 2, workspace, 2" "$mod, 3, workspace, 3" @@ -136,7 +141,6 @@ if !(lib.hasInfix "linux" hostSystem) then {} else { "$mod, 9, workspace, 9" "$mod, 0, workspace, 10" - # Move to workspaces "$mod SHIFT, 1, movetoworkspace, 1" "$mod SHIFT, 2, movetoworkspace, 2" "$mod SHIFT, 3, movetoworkspace, 3" @@ -148,118 +152,33 @@ if !(lib.hasInfix "linux" hostSystem) then {} else { "$mod SHIFT, 9, movetoworkspace, 9" "$mod SHIFT, 0, movetoworkspace, 10" - # Special workspace - "$mod, S, togglespecialworkspace, magic" - "$mod SHIFT, S, movetoworkspace, special:magic" - - # Screenshots - ", Print, exec, grim -g \"$(slurp)\" - | wl-copy" - "SHIFT, Print, exec, grim - | wl-copy" - - # Media keys ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - - # Fix keybinds after rebuild - "$hyper, R, exec, sudo systemctl restart kanata-default.service" ]; - # Resize submap for visual feedback during resizing - submap = [ - "resize,left,resizeactive,-50 0" - "resize,right,resizeactive,50 0" - "resize,up,resizeactive,0 -50" - "resize,down,resizeactive,0 50" - "resize,escape,submap,reset" - "resize,return,submap,reset" - ]; - - # Mouse bindings bindm = [ "$mod, mouse:272, movewindow" "$mod, mouse:273, resizewindow" ]; - - # Window rules using correct v2 syntax - windowrulev2 = [ - # System control windows - "float, class:^(pavucontrol)$" - "float, class:^(nm-connection-editor)$" - "float, class:^(blueman-manager)$" - - # Meta-launcher floating terminal - "float, class:^(meta-launcher)$" - "size 60% 70%, class:^(meta-launcher)$" - "center, class:^(meta-launcher)$" - "animation popin 80%, class:^(meta-launcher)$" - "rounding 10, class:^(meta-launcher)$" - "dimaround, class:^(meta-launcher)$" - - # Make fuzzel float properly - "float, class:^(fuzzel)$" - "center, class:^(fuzzel)$" - "dimaround, class:^(fuzzel)$" - - # Pyprland scratchpad windows - # System monitoring with btop - "float, class:^(btop-popup)$" - "workspace special:btop silent, class:^(btop-popup)$" - "size 60% 70%, class:^(btop-popup)$" - "center, class:^(btop-popup)$" - - # Bluetooth management - "float, class:^(bluetuith-popup)$" - "workspace special:bluetooth silent, class:^(bluetuith-popup)$" - "size 50% 60%, class:^(bluetuith-popup)$" - "center, class:^(bluetuith-popup)$" - - # Audio control - "float, class:^(audio-popup)$" - "workspace special:audio silent, class:^(audio-popup)$" - "size 40% 50%, class:^(audio-popup)$" - "center, class:^(audio-popup)$" - - # Network management - "float, class:^(network-popup)$" - "workspace special:network silent, class:^(network-popup)$" - "size 50% 60%, class:^(network-popup)$" - "center, class:^(network-popup)$" - - # System logs - "float, class:^(logs-popup)$" - "workspace special:logs silent, class:^(logs-popup)$" - "size 70% 80%, class:^(logs-popup)$" - "center, class:^(logs-popup)$" - - # System management - "float, class:^(system-popup)$" - "workspace special:system silent, class:^(system-popup)$" - "size 60% 70%, class:^(system-popup)$" - "center, class:^(system-popup)$" - - # Network bandwidth monitoring - "float, class:^(bandwidth-popup)$" - "workspace special:bandwidth silent, class:^(bandwidth-popup)$" - "size 50% 60%, class:^(bandwidth-popup)$" - "center, class:^(bandwidth-popup)$" - - # Disk I/O monitoring - "float, class:^(disk-popup)$" - "workspace special:disk silent, class:^(disk-popup)$" - "size 60% 70%, class:^(disk-popup)$" - "center, class:^(disk-popup)$" - ]; }; }; - # Essential packages home.packages = with pkgs; [ - grim - slurp - wofi + swaybg wl-clipboard - networkmanagerapplet - blueman + glib # provides gsettings, gdbus for theme toggling + xdg-desktop-portal-gtk # must be in same search path as hyprland portal + toggleTheme ]; + + # dconf settings for portal theme detection (portal-gtk reads these) + dconf.enable = true; + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + cursor-theme = "macOS"; + cursor-size = 24; + }; + }; } diff --git a/user/niri.nix b/user/niri.nix new file mode 100644 index 00000000..bec61d7e --- /dev/null +++ b/user/niri.nix @@ -0,0 +1,317 @@ +{ pkgs, lib, config, inputs, hostSystem ? null, ... }: + +let + toggleTheme = pkgs.writeShellScriptBin "toggle-theme" '' + export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus" + export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + current=$(${pkgs.glib}/bin/gsettings get org.gnome.desktop.interface color-scheme) + if [ "$current" = "'prefer-dark'" ]; then + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-light + else + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-dark + fi + ''; + + # touchscreen gesture daemon for niri (niri lacks native touchscreen swipe gestures) + # uses lisgd to translate edge swipes to niri actions + lisgd-niri = pkgs.writeShellScriptBin "lisgd-niri" '' + # find touchscreen via udev ID_INPUT_TOUCHSCREEN property + for dev in /dev/input/event*; do + if ${pkgs.systemd}/bin/udevadm info "$dev" 2>/dev/null | grep -q "ID_INPUT_TOUCHSCREEN=1"; then + TOUCH_DEV="$dev" + break + fi + done + if [ -z "$TOUCH_DEV" ]; then + echo "lisgd-niri: no touchscreen device found" >&2 + exit 1 + fi + + # find niri socket + NIRI_SOCK=$(ls /run/user/$(id -u)/niri.*.sock 2>/dev/null | head -1) + export NIRI_SOCKET="$NIRI_SOCK" + + # 3-finger swipes anywhere on screen (natural scrolling style) + # 1-finger top-right edge swipe down for control center + # 1-finger top edge swipe down for bar toggle + exec ${pkgs.lisgd}/bin/lisgd -d "$TOUCH_DEV" \ + -t 50 \ + -m 1500 \ + -g '1,UD,TR,*,R,${inputs.quickshell.packages.${hostSystem}.default}/bin/qs ipc call control-center toggleControlCenter' \ + -g '1,UD,T,*,R,${inputs.quickshell.packages.${hostSystem}.default}/bin/qs ipc call bar toggle' \ + -g '1,DU,B,*,R,${inputs.vicinae.packages.${hostSystem}.default}/bin/vicinae toggle' \ + -g '3,DU,*,*,*,niri msg action focus-workspace-down' \ + -g '3,UD,*,*,*,niri msg action focus-workspace-up' \ + -g '3,LR,*,*,*,niri msg action focus-column-left' \ + -g '3,RL,*,*,*,niri msg action focus-column-right' + ''; +in + +if !(lib.hasInfix "linux" hostSystem) then {} else { + programs.niri = { + settings = { + # Startup applications - same as hyprland + spawn-at-startup = [ + { argv = [ "${pkgs.swaybg}/bin/swaybg" "-i" "/etc/wallpaper.jpg" "-m" "fill" ]; } + # quickshell and lisgd-niri run as systemd user services for auto-restart on config change + { argv = [ "${inputs.vicinae.packages.${hostSystem}.default}/bin/vicinae" "server" ]; } + { argv = [ "${pkgs.xwayland-satellite}/bin/xwayland-satellite" ":0" ]; } + ]; + + # Environment variables + # note: GDK_SCALE/GDK_DPI_SCALE explicitly unset - niri handles fractional scaling natively + # setting those would double-scale GTK apps including waybar + environment = { + XCURSOR_THEME = "macOS"; + XCURSOR_SIZE = "24"; + ELECTRON_OZONE_PLATFORM_HINT = "wayland"; + NIXOS_OZONE_WL = "1"; + QT_QPA_PLATFORM = "wayland"; + QT_AUTO_SCREEN_SCALE_FACTOR = "1"; + DISPLAY = ":0"; + GDK_SCALE = null; + GDK_DPI_SCALE = null; + # steam UI scaling (niri handles fractional scaling natively, steam needs this separately) + STEAM_FORCE_DESKTOPUI_SCALING = "1.5"; + }; + + # Input configuration + input = { + keyboard.xkb.layout = "us"; + mouse.accel-profile = "flat"; + touchpad = { + tap = true; + natural-scroll = true; + }; + }; + + # Output/monitor config + # scale is auto-detected from EDID physical dimensions (since 0.1.6) + # only add explicit output blocks if auto-detection doesn't work for your monitor + + # Cursor + cursor = { + theme = "macOS"; + size = 24; + }; + + # Layout - niri's scrolling layout with gaps matching hyprland + layout = { + gaps = 8; + + # No borders (matching hyprland border_size = 0) + border.enable = false; + focus-ring.enable = false; + + # Default column width + default-column-width.proportion = 0.5; + + # Preset column widths for Mod+R cycling + preset-column-widths = [ + { proportion = 1.0 / 3.0; } + { proportion = 0.5; } + { proportion = 2.0 / 3.0; } + { proportion = 1.0; } + ]; + }; + + # Window decorations + prefer-no-csd = true; + + # Window rules for rounding (matching hyprland rounding = 8) + window-rules = [ + { + geometry-corner-radius = { + top-left = 8.0; + top-right = 8.0; + bottom-right = 8.0; + bottom-left = 8.0; + }; + clip-to-geometry = true; + } + ]; + + # Layer rules - place swaybg in backdrop so it doesn't move with workspaces + layer-rules = [ + { + matches = [{ namespace = "^wallpaper$"; }]; + place-within-backdrop = true; + } + ]; + + # Make layout background transparent so backdrop wallpaper shows through + layout.background-color = "transparent"; + + # Animations - matching hyprland's easeOutQuint feel (using ease-out-expo, closest available) + animations = { + slowdown = 1.0; + + window-open.kind = { + easing = { + duration-ms = 150; + curve = "ease-out-expo"; + }; + }; + + window-close.kind = { + easing = { + duration-ms = 150; + curve = "ease-out-expo"; + }; + }; + + horizontal-view-movement.kind = { + easing = { + duration-ms = 150; + curve = "ease-out-expo"; + }; + }; + + workspace-switch.kind = { + easing = { + duration-ms = 200; + curve = "ease-out-expo"; + }; + }; + }; + + # Keybindings - matching hyprland binds + binds = with config.lib.niri.actions; { + # Core actions + "Mod+Q".action = close-window; + "Mod+Return".action = spawn "${pkgs.ghostty}/bin/ghostty"; + "Mod+Space".action = spawn "${inputs.vicinae.packages.${hostSystem}.default}/bin/vicinae" "toggle"; + "Mod+T".action = spawn "${toggleTheme}/bin/toggle-theme"; + "Mod+Period".action = spawn "${inputs.quickshell.packages.${hostSystem}.default}/bin/qs" "ipc" "call" "bar" "toggle"; + + # Window state + "Mod+V".action = toggle-window-floating; + "Mod+F".action = fullscreen-window; + + # Focus navigation (vim keys and arrows) + "Mod+Left".action = focus-column-left; + "Mod+Right".action = focus-column-right; + "Mod+Up".action = focus-window-or-workspace-up; + "Mod+Down".action = focus-window-or-workspace-down; + "Mod+H".action = focus-column-left; + "Mod+L".action = focus-column-right; + "Mod+K".action = focus-window-or-workspace-up; + "Mod+J".action = focus-window-or-workspace-down; + + # Move windows + "Mod+Shift+Left".action = move-column-left; + "Mod+Shift+Right".action = move-column-right; + "Mod+Shift+Up".action = move-window-up-or-to-workspace-up; + "Mod+Shift+Down".action = move-window-down-or-to-workspace-down; + "Mod+Shift+H".action = move-column-left; + "Mod+Shift+L".action = move-column-right; + "Mod+Shift+K".action = move-window-up-or-to-workspace-up; + "Mod+Shift+J".action = move-window-down-or-to-workspace-down; + + # Column width presets + "Mod+R".action = switch-preset-column-width; + "Mod+Minus".action = set-column-width "-10%"; + "Mod+Equal".action = set-column-width "+10%"; + + # Workspaces + "Mod+1".action = focus-workspace 1; + "Mod+2".action = focus-workspace 2; + "Mod+3".action = focus-workspace 3; + "Mod+4".action = focus-workspace 4; + "Mod+5".action = focus-workspace 5; + "Mod+6".action = focus-workspace 6; + "Mod+7".action = focus-workspace 7; + "Mod+8".action = focus-workspace 8; + "Mod+9".action = focus-workspace 9; + "Mod+0".action = focus-workspace 10; + + # Move to workspace (niri only supports relative movement, not absolute indices) + # Use Mod+Shift+Up/Down/K/J for moving windows between workspaces + + # Volume controls + "XF86AudioRaiseVolume".action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; + "XF86AudioLowerVolume".action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; + "XF86AudioMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; + + # Monitor focus (for multi-monitor setups) + "Mod+Ctrl+Left".action = focus-monitor-left; + "Mod+Ctrl+Right".action = focus-monitor-right; + "Mod+Ctrl+Up".action = focus-monitor-up; + "Mod+Ctrl+Down".action = focus-monitor-down; + "Mod+Ctrl+H".action = focus-monitor-left; + "Mod+Ctrl+L".action = focus-monitor-right; + "Mod+Ctrl+K".action = focus-monitor-up; + "Mod+Ctrl+J".action = focus-monitor-down; + + # Move window to monitor + "Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left; + "Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right; + "Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up; + "Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down; + "Mod+Shift+Ctrl+H".action = move-column-to-monitor-left; + "Mod+Shift+Ctrl+L".action = move-column-to-monitor-right; + "Mod+Shift+Ctrl+K".action = move-column-to-monitor-up; + "Mod+Shift+Ctrl+J".action = move-column-to-monitor-down; + + # Workspace reordering (Hyper = Mod+Ctrl+Alt+Shift) + "Mod+Ctrl+Alt+Shift+Up".action = move-workspace-up; + "Mod+Ctrl+Alt+Shift+Down".action = move-workspace-down; + "Mod+Ctrl+Alt+Shift+K".action = move-workspace-up; + "Mod+Ctrl+Alt+Shift+J".action = move-workspace-down; + + # Move workspace to monitor (Hyper + h/l) + "Mod+Ctrl+Alt+Shift+Left".action = move-workspace-to-monitor-left; + "Mod+Ctrl+Alt+Shift+Right".action = move-workspace-to-monitor-right; + "Mod+Ctrl+Alt+Shift+H".action = move-workspace-to-monitor-left; + "Mod+Ctrl+Alt+Shift+L".action = move-workspace-to-monitor-right; + + # Help overlay + "Mod+Shift+Slash".action = show-hotkey-overlay; + + # Mouse bindings + "Mod+WheelScrollDown" = { cooldown-ms = 150; action = focus-workspace-down; }; + "Mod+WheelScrollUp" = { cooldown-ms = 150; action = focus-workspace-up; }; + }; + }; + }; + + home.packages = with pkgs; [ + swaybg + wl-clipboard + glib + xdg-desktop-portal-gtk + toggleTheme + lisgd + lisgd-niri + ]; + + # systemd user service for lisgd - ensures proper group membership (input) + # niri's spawn-at-startup doesn't inherit login session groups + systemd.user.services.lisgd-niri = { + Unit = { + Description = "Touchscreen gesture daemon for niri"; + After = [ "graphical-session.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + Service = { + Type = "simple"; + ExecStart = "${lisgd-niri}/bin/lisgd-niri"; + Restart = "on-failure"; + RestartSec = 2; + # note: user already in "input" group via extraGroups in host config + # SupplementaryGroups doesn't work in user services (can't change group creds) + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + + dconf.enable = true; + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + cursor-theme = "macOS"; + cursor-size = lib.mkDefault 24; + }; + }; +} diff --git a/user/nvim.nix b/user/nvim.nix deleted file mode 100644 index 237a783f..00000000 --- a/user/nvim.nix +++ /dev/null @@ -1,270 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: -{ - home-manager.users.bdsqqq = { config, pkgs, lib, ... }: { - imports = [ inputs.nixvim.homeManagerModules.nixvim ]; - programs.nixvim = { - enable = true; - extraPlugins = [ ]; - extraConfigLuaPre = '' - -- use default colorscheme (vesper completely removed) - vim.cmd.colorscheme('default') - - -- floating terminal function - local function open_floating_term(cmd) - local columns = vim.api.nvim_get_option("columns") - local lines = vim.api.nvim_get_option("lines") - - local width = math.floor(columns * 0.8) - local height = math.floor(lines * 0.8) - if width < 60 then width = columns end - if height < 20 then height = lines end - local row = math.floor((lines - height) / 2) - local col = math.floor((columns - width) / 2) - - local buf = vim.api.nvim_create_buf(false, true) - local opts = { - style = "minimal", - relative = "editor", - width = width, - height = height, - row = row, - col = col, - border = "rounded", - } - local win = vim.api.nvim_open_win(buf, true, opts) - - vim.fn.termopen(cmd, { - on_exit = function() - if vim.api.nvim_win_is_valid(win) then - vim.api.nvim_win_close(win, true) - end - if vim.api.nvim_buf_is_valid(buf) then - vim.api.nvim_buf_delete(buf, {force=true}) - end - end - }) - vim.cmd("startinsert") - end - - _G.open_floating_term = open_floating_term - _G.MyFoldText = function() return vim.fn.foldtext() end - - vim.api.nvim_create_autocmd('ColorScheme', { - callback = function() - local comment_hl = vim.api.nvim_get_hl(0, { name = 'Comment' }) - vim.api.nvim_set_hl(0, 'FoldColumn', { fg = comment_hl.fg }) - end - }) - - vim.defer_fn(function() - local comment_hl = vim.api.nvim_get_hl(0, { name = 'Comment' }) - vim.api.nvim_set_hl(0, 'FoldColumn', { fg = comment_hl.fg }) - vim.api.nvim_set_hl(0, 'Normal', { bg = 'NONE', ctermbg = 'NONE' }) - vim.api.nvim_set_hl(0, 'NormalFloat', { bg = 'NONE', ctermbg = 'NONE' }) - vim.api.nvim_set_hl(0, 'SignColumn', { bg = 'NONE', ctermbg = 'NONE' }) - vim.api.nvim_set_hl(0, 'LineNr', { bg = 'NONE', ctermbg = 'NONE' }) - vim.api.nvim_set_hl(0, 'NonText', { bg = 'NONE', ctermbg = 'NONE' }) - vim.api.nvim_set_hl(0, 'EndOfBuffer', { bg = 'NONE', ctermbg = 'NONE' }) - vim.opt.winblend = 0 - vim.opt.pumblend = 0 - vim.api.nvim_set_hl(0, 'Terminal', { bg = 'NONE', ctermbg = 'NONE' }) - end, 100) - ''; - - globals = { mapleader = " "; maplocalleader = " "; have_nerd_font = true; }; - clipboard = { providers = { wl-copy.enable = true; xsel.enable = true; }; register = "unnamedplus"; }; - opts = { - number = true; mouse = "a"; showmode = false; laststatus = 0; ruler = false; cmdheight = 0; statusline = ""; - breakindent = true; undofile = true; ignorecase = true; smartcase = true; signcolumn = "yes"; updatetime = 250; - timeoutlen = 300; splitright = true; splitbelow = true; list = true; listchars.__raw = "{ tab = '» ', trail = '·', nbsp = '␣', }"; - inccommand = "split"; cursorline = false; scrolloff = 10; confirm = true; hlsearch = true; - foldcolumn = "0"; foldlevel = 99; foldlevelstart = 99; foldenable = true; - statuscolumn = "%{foldclosed(v:lnum) > 0 ? '> ' : ''}%{foldclosed(v:lnum) == -1 ? v:lnum . ' ' : ''}"; - }; - - keymaps = [ - { mode = "n"; key = "<Esc>"; action = "<cmd>nohlsearch<CR>"; } - { mode = "t"; key = "<Esc><Esc>"; action = "<C-\\><C-n>"; options.desc = "exit terminal mode"; } - { mode = "n"; key = "<C-h>"; action = "<C-w><C-h>"; options.desc = "move focus to left window"; } - { mode = "n"; key = "<C-l>"; action = "<C-w><C-l>"; options.desc = "move focus to right window"; } - { mode = "n"; key = "<C-j>"; action = "<C-w><C-j>"; options.desc = "move focus to lower window"; } - { mode = "n"; key = "<C-k>"; action = "<C-w><C-k>"; options.desc = "move focus to upper window"; } - { mode = ""; key = "<leader>f"; action.__raw = ''function() require('conform').format { async = true, lsp_fallback = true } end''; options.desc = "[f]ormat buffer"; } - { mode = "n"; key = "<leader>/"; action.__raw = ''function() require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false }) end''; options.desc = "[/] fuzzily search in current buffer"; } - { mode = "n"; key = "<leader>s/"; action.__raw = ''function() require('telescope.builtin').live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files' } end''; options.desc = "[s]earch [/] in open files"; } - { mode = "n"; key = "<leader>sn"; action.__raw = ''function() require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } end''; options.desc = "[s]earch [n]eovim files"; } - { mode = "n"; key = "<leader>tf"; action.__raw = ''function() local ok, mini_files = pcall(require, 'mini.files'); if ok then mini_files.open() else vim.cmd('Explore') end end''; options.desc = "[t]oggle [f]iles"; } - { mode = "n"; key = "<leader>tu"; action = "<cmd>UndotreeToggle<CR>"; options.desc = "[t]oggle [u]ndo tree"; } - { mode = "n"; key = "<leader>to"; action.__raw = ''function() require('oil').open() end''; options.desc = "[t]oggle [o]il"; } - { mode = "n"; key = "<leader>sb"; action.__raw = ''function() require('telescope.builtin').buffers() end''; options.desc = "[s]earch [b]uffers"; } - { mode = "n"; key = "<leader>tw"; action = "<cmd>set wrap!<CR>"; options.desc = "[t]oggle [w]ord wrap"; } - { mode = "n"; key = "<leader>tl"; action.__raw = ''function() local enabled = vim.diagnostic.is_enabled(); vim.diagnostic.enable(not enabled); vim.notify("Diagnostics " .. (enabled and "disabled" or "enabled")) end''; options.desc = "[t]oggle [l]sp diagnostics"; } - { mode = "n"; key = "<leader>tn"; action = "<cmd>set nu!<CR>"; options.desc = "[t]oggle line [n]umbers"; } - { mode = "n"; key = "<leader>tr"; action = "<cmd>set rnu!<CR>"; options.desc = "[t]oggle [r]elative numbers"; } - { mode = "n"; key = "<leader>tg"; action.__raw = ''function() _G.open_floating_term('lazygit') end''; options.desc = "[t]oggle [g]it (lazygit)"; } - { mode = "n"; key = "<Left>"; action.__raw = ''function() if vim.fn.col('.') == 1 then vim.cmd('normal! za') else vim.cmd('normal! h') end end''; options.desc = "toggle fold at first column, otherwise move left"; } - { mode = "n"; key = "h"; action.__raw = ''function() if vim.fn.col('.') == 1 then vim.cmd('normal! za') else vim.cmd('normal! h') end end''; options.desc = "toggle fold at first column, otherwise move left"; } - ]; - - autoGroups = { kickstart-highlight-yank.clear = true; kickstart-lsp-attach.clear = true; }; - autoCmd = [{ event = [ "TextYankPost" ]; desc = "highlight when yanking (copying) text"; group = "kickstart-highlight-yank"; callback.__raw = ''function() vim.highlight.on_yank() end''; }]; - - diagnostic.settings = { - severity_sort = true; float = { border = "rounded"; source = "if_many"; }; - underline.severity = [ "ERROR" ]; - signs.text = { ERROR = "✘"; WARN = "⚠"; INFO = "ℹ"; HINT = "⚑"; }; - virtual_text = { source = "if_many"; spacing = 2; }; - }; - - extraPackages = with pkgs; [ stylua go lazygit ]; - - plugins = { - oil.enable = true; - oil.settings = { default_file_explorer = true; delete_to_trash = true; skip_confirm_for_simple_edits = true; view_options.show_hidden = true; }; - - nvim-ufo.enable = true; - nvim-ufo.settings.provider_selector = '' - function(bufnr, filetype, buftype) - return {'treesitter', 'indent'} - end - ''; - nvim-ufo.settings.fold_virt_text_handler = '' - function(virtText, lnum, endLnum, width, truncate) - local newVirtText = {} - local curWidth = 0 - for _, chunk in ipairs(virtText) do - local chunkText = chunk[1] - local chunkWidth = vim.fn.strdisplaywidth(chunkText) - if width > curWidth + chunkWidth then - table.insert(newVirtText, chunk) - else - chunkText = truncate(chunkText, width - curWidth) - local hlGroup = chunk[2] - table.insert(newVirtText, {chunkText, hlGroup}) - break - end - curWidth = curWidth + chunkWidth - end - return newVirtText - end - ''; - - sleuth.enable = true; fidget.enable = true; autoclose.enable = true; - lazydev.enable = true; lazydev.settings.library = [{ path = "\${3rd}/luv/library"; words = [ "vim%.uv" ]; }]; - - gitsigns.enable = true; - gitsigns.settings = { - signs.add.text = "+"; signs.change.text = "~"; signs.delete.text = "_"; signs.topdelete.text = "‾"; signs.changedelete.text = "~"; - on_attach.__raw = '' - function(bufnr) - local gitsigns = require('gitsigns') - local function map(mode, l, r, opts) opts = opts or {}; opts.buffer = bufnr; vim.keymap.set(mode, l, r, opts) end - map('n', ']c', function() if vim.wo.diff then vim.cmd.normal({']c', bang = true}) else gitsigns.nav_hunk('next') end end, { desc = 'jump to next git [c]hange' }) - map('n', '[c', function() if vim.wo.diff then vim.cmd.normal({'[c', bang = true}) else gitsigns.nav_hunk('prev') end end, { desc = 'jump to previous git [c]hange' }) - map('n', '<leader>hn', function() if vim.wo.diff then vim.cmd.normal({']c', bang = true}) else gitsigns.nav_hunk('next') end end, { desc = 'git [h]unk [n]ext' }) - map('n', '<leader>hN', function() if vim.wo.diff then vim.cmd.normal({'[c', bang = true}) else gitsigns.nav_hunk('prev') end end, { desc = 'git [h]unk previous' }) - map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) - map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) - map('v', '<leader>hs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'git [s]tage hunk' }) - map('v', '<leader>hr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'git [r]eset hunk' }) - map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' }) - map('n', '<leader>hu', gitsigns.undo_stage_hunk, { desc = 'git [u]ndo stage hunk' }) - map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) - map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) - map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) - map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) - map('n', '<leader>hD', function() gitsigns.diffthis('@') end, { desc = 'git [D]iff against last commit' }) - map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[t]oggle git show [b]lame line' }) - map('n', '<leader>tD', gitsigns.toggle_deleted, { desc = '[t]oggle git show [D]eleted' }) - end - ''; - }; - - which-key.enable = true; - which-key.settings.spec = [ { __unkeyed-1 = "<leader>s"; group = "[s]earch"; } { __unkeyed-1 = "<leader>t"; group = "[t]oggle"; } { __unkeyed-1 = "<leader>h"; group = "git [h]unk"; mode = [ "n" "v" ]; } { __unkeyed-1 = "<leader>l"; group = "[l]sp"; } ]; - - telescope.enable = true; - telescope.extensions.fzf-native.enable = true; telescope.extensions.ui-select.enable = true; - telescope.keymaps = { - "<leader>sh" = { mode = "n"; action = "help_tags"; options.desc = "[s]earch [h]elp"; }; - "<leader>sk" = { mode = "n"; action = "keymaps"; options.desc = "[s]earch [k]eymaps"; }; - "<leader>sf" = { mode = "n"; action = "find_files"; options.desc = "[s]earch [f]iles"; }; - "<leader>ss" = { mode = "n"; action = "builtin"; options.desc = "[s]earch [s]elect telescope"; }; - "<leader>sw" = { mode = "n"; action = "grep_string"; options.desc = "[s]earch current [w]ord"; }; - "<leader>sg" = { mode = "n"; action = "live_grep"; options.desc = "[s]earch by [g]rep"; }; - "<leader>sd" = { mode = "n"; action = "diagnostics"; options.desc = "[s]earch [d]iagnostics"; }; - "<leader>sr" = { mode = "n"; action = "resume"; options.desc = "[s]earch [r]esume"; }; - "<leader>s." = { mode = "n"; action = "oldfiles"; options.desc = "[s]earch recent files ('.' for repeat)"; }; - "<leader><leader>" = { mode = "n"; action = "buffers"; options.desc = "[ ] find existing buffers"; }; - }; - telescope.settings = { defaults.file_ignore_patterns = {}; defaults.hidden = true; pickers.find_files.hidden = true; extensions.__raw = "{ ['ui-select'] = { require('telescope.themes').get_dropdown() } }"; }; - - lsp.enable = true; - lsp.servers.lua_ls.enable = true; lsp.servers.lua_ls.settings.completion.callSnippet = "Replace"; - lsp.servers.ts_ls.enable = true; lsp.servers.gopls.enable = true; - lsp.keymaps.extra = [ - { mode = "n"; key = "gd"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_definitions() else vim.lsp.buf.definition() end end''; options.desc = "lsp: [g]oto [d]efinition"; } - { mode = "n"; key = "gr"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_references() else vim.lsp.buf.references() end end''; options.desc = "lsp: [g]oto [r]eferences"; } - { mode = "n"; key = "gi"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_implementations() else vim.lsp.buf.implementation() end end''; options.desc = "lsp: [g]oto [i]mplementation"; } - { mode = "n"; key = "gt"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_type_definitions() else vim.lsp.buf.type_definition() end end''; options.desc = "lsp: [g]oto [t]ype definition"; } - { mode = "n"; key = "gO"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_document_symbols() else vim.lsp.buf.document_symbol() end end''; options.desc = "lsp: open document symbols"; } - { mode = "n"; key = "gW"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_dynamic_workspace_symbols() else vim.lsp.buf.workspace_symbol() end end''; options.desc = "lsp: open workspace symbols"; } - { mode = "n"; key = "<leader>ld"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_definitions() else vim.lsp.buf.definition() end end''; options.desc = "lsp: goto [d]efinition"; } - { mode = "n"; key = "<leader>lr"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_references() else vim.lsp.buf.references() end end''; options.desc = "lsp: goto [r]eferences (find usages)"; } - { mode = "n"; key = "<leader>li"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_implementations() else vim.lsp.buf.implementation() end end''; options.desc = "lsp: goto [i]mplementation"; } - { mode = "n"; key = "<leader>lt"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_type_definitions() else vim.lsp.buf.type_definition() end end''; options.desc = "lsp: goto [t]ype definition"; } - { mode = "n"; key = "<leader>ls"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_dynamic_workspace_symbols() else vim.lsp.buf.workspace_symbol() end end''; options.desc = "lsp: workspace [s]ymbols"; } - ]; - lsp.keymaps.lspBuf = { - "<leader>ln" = { mode = "n"; action = "rename"; desc = "lsp: re[n]ame symbol"; }; - "<leader>la" = { mode = [ "n" "x" ]; action = "code_action"; desc = "lsp: code [a]ctions"; }; - "<leader>lD" = { mode = "n"; action = "declaration"; desc = "lsp: goto [D]eclaration"; }; - "<leader>lq" = { mode = "n"; action = "setloclist"; desc = "lsp: diagnostic [q]uickfix list"; }; - "<leader>lh" = { mode = "n"; action = "hover"; desc = "lsp: [h]over documentation"; }; - "K" = { mode = "n"; action = "hover"; desc = "hover documentation"; }; - }; - - conform-nvim.enable = true; - conform-nvim.settings.notify_on_error = false; - conform-nvim.settings.format_on_save = '' - function(bufnr) - local disable_filetypes = { c = true, cpp = true } - return { - timeout_ms = 500, - lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype], - quiet = true - } - end - ''; - conform-nvim.settings.formatters = { - biome.condition.__raw = ''function() return vim.fn.executable("biome") == 1 end''; - gofmt.condition.__raw = ''function() return vim.fn.executable("gofmt") == 1 end''; - }; - conform-nvim.settings.formatters_by_ft = { lua = [ "stylua" ]; javascript = [ "biome" ]; typescript = [ "biome" ]; javascriptreact = [ "biome" ]; typescriptreact = [ "biome" ]; json = [ "biome" ]; go = [ "gofmt" ]; }; - - blink-cmp.enable = true; - blink-cmp.settings.keymap = { preset = "default"; "<Tab>" = [ "snippet_forward" "fallback" ]; "<S-Tab>" = [ "snippet_backward" "fallback" ]; "<CR>" = [ "accept" "fallback" ]; "<Down>" = [ "select_next" "fallback" ]; "<Up>" = [ "select_prev" "fallback" ]; "<Esc>" = [ "hide" "fallback" ]; }; - blink-cmp.settings.appearance.nerd_font_variant = "mono"; - blink-cmp.settings.completion = { documentation.auto_show = true; documentation.auto_show_delay_ms = 500; ghost_text.enabled = true; menu.auto_show = true; menu.draw.treesitter = [ "lsp" ]; }; - blink-cmp.settings.sources.default = [ "lsp" "path" "snippets" "buffer" ]; - blink-cmp.settings.sources.providers.lazydev = { name = "LazyDev"; module = "lazydev.integrations.blink"; score_offset = 100; }; - blink-cmp.settings.snippets.preset = "default"; blink-cmp.settings.signature.enabled = true; - - mini.enable = true; - mini.modules.icons = {}; mini.modules.surround = {}; mini.modules.comment = {}; - mini.modules.files.options.permanent_delete = true; mini.modules.files.options.use_as_default_explorer = true; - mini.modules.files.content.filter.__raw = ''function(fs_entry) return true end''; - mini.mockDevIcons = true; - - undotree.enable = true; undotree.settings = { FloatDiff = true; FocusOnToggle = true; }; - - treesitter.enable = true; - treesitter.settings.ensureInstalled = [ "bash" "diff" "html" "lua" "luadoc" "markdown" "markdown_inline" "query" "vim" "vimdoc" "nix" "javascript" "typescript" "jsx" "tsx" "json" "jsonc" "python" "regex" "go" ]; - treesitter.settings.highlight.enable = true; treesitter.settings.highlight.additional_vim_regex_highlighting = true; - treesitter.settings.indent.enable = true; treesitter.settings.indent.disable = [ "ruby" ]; - }; - }; - }; -} - - diff --git a/user/nvim/config.lua b/user/nvim/config.lua new file mode 100644 index 00000000..9fd4b693 --- /dev/null +++ b/user/nvim/config.lua @@ -0,0 +1,185 @@ +-- Global functions and configuration + +-- Floating terminal function +local function open_floating_term(cmd) + local columns = vim.api.nvim_get_option("columns") + local lines = vim.api.nvim_get_option("lines") + + local width = math.floor(columns * 0.8) + local height = math.floor(lines * 0.8) + if width < 60 then width = columns end + if height < 20 then height = lines end + local row = math.floor((lines - height) / 2) + local col = math.floor((columns - width) / 2) + + local buf = vim.api.nvim_create_buf(false, true) + local opts = { + style = "minimal", + relative = "editor", + width = width, + height = height, + row = row, + col = col, + border = "rounded", + } + local win = vim.api.nvim_open_win(buf, true, opts) + + vim.fn.termopen(cmd, { + on_exit = function() + if vim.api.nvim_win_is_valid(win) then + vim.api.nvim_win_close(win, true) + end + if vim.api.nvim_buf_is_valid(buf) then + vim.api.nvim_buf_delete(buf, {force=true}) + end + end + }) + vim.cmd("startinsert") +end + +_G.open_floating_term = open_floating_term +_G.MyFoldText = function() return vim.fn.foldtext() end + +-- Highlight tweaks +vim.api.nvim_create_autocmd('ColorScheme', { + callback = function() + local comment_hl = vim.api.nvim_get_hl(0, { name = 'Comment' }) + vim.api.nvim_set_hl(0, 'FoldColumn', { fg = comment_hl.fg }) + end +}) + +vim.defer_fn(function() + local comment_hl = vim.api.nvim_get_hl(0, { name = 'Comment' }) + vim.api.nvim_set_hl(0, 'FoldColumn', { fg = comment_hl.fg }) + vim.api.nvim_set_hl(0, 'Normal', { bg = 'NONE', ctermbg = 'NONE' }) + vim.api.nvim_set_hl(0, 'NormalFloat', { bg = 'NONE', ctermbg = 'NONE' }) + vim.api.nvim_set_hl(0, 'SignColumn', { bg = 'NONE', ctermbg = 'NONE' }) + vim.api.nvim_set_hl(0, 'LineNr', { bg = 'NONE', ctermbg = 'NONE' }) + vim.api.nvim_set_hl(0, 'NonText', { bg = 'NONE', ctermbg = 'NONE' }) + vim.api.nvim_set_hl(0, 'EndOfBuffer', { bg = 'NONE', ctermbg = 'NONE' }) + vim.opt.winblend = 0 + vim.opt.pumblend = 0 + vim.api.nvim_set_hl(0, 'Terminal', { bg = 'NONE', ctermbg = 'NONE' }) +end, 100) + +-- Statusline for Zellij +_G.Statusline = function() + local file = vim.fn.expand("%:t") + if file == "" then + file = "[No Name]" + end + + local branch = "" + local git = vim.b.gitsigns_status_dict + if git and git.head and git.head ~= "" then + branch = string.format("[%s]", git.head) + end + + local dirty = vim.bo.modified and "*" or "" + return string.format("%s%s%s", branch, file, dirty) +end + +-- Zellij Helpers +_G.zellij_update_status = function() + if vim.env.ZELLIJ then + local status = _G.Statusline() + vim.fn.system("zellij pipe 'zjstatus::pipe::pipe_nvim_status::" .. status .. "'") + end +end + +_G.zellij_clear_status = function() + if vim.env.ZELLIJ then + vim.fn.system("zellij pipe 'zjstatus::pipe::pipe_nvim_status::'") + end +end + +-- Statusline hidden in nvim +vim.o.laststatus = 0 + +-- ts-error-translator setup +require("ts-error-translator").setup({ + auto_attach = true, + servers = { "ts_ls" }, +}) + +-- amp.nvim setup (enables ide integration with amp cli) +require("amp").setup({ auto_start = true, log_level = "info" }) + +-- amp commands for sending messages to the agent +vim.api.nvim_create_user_command("AmpSend", function(opts) + local message = opts.args + if message == "" then + print("please provide a message to send") + return + end + local amp_message = require("amp.message") + amp_message.send_message(message) +end, { nargs = "*", desc = "send a message to amp" }) + +vim.api.nvim_create_user_command("AmpSendBuffer", function() + local buf = vim.api.nvim_get_current_buf() + local lines = vim.api.nvim_buf_get_lines(buf, 0, -1, false) + local content = table.concat(lines, "\n") + local amp_message = require("amp.message") + amp_message.send_message(content) +end, { desc = "send entire buffer contents to amp" }) + +vim.api.nvim_create_user_command("AmpAddToPrompt", function(opts) + local file = vim.fn.expand("%:p") + local ref = "@" .. file + if opts.range == 2 then + ref = ref .. "#L" .. opts.line1 .. "-" .. opts.line2 + elseif opts.line1 > 1 then + ref = ref .. "#L" .. opts.line1 + end + local amp_message = require("amp.message") + amp_message.send_to_prompt(ref) +end, { range = true, desc = "add file reference (with selection) to amp prompt" }) + +-- Gitsigns on_attach +_G.gitsigns_on_attach = function(bufnr) + local gitsigns = require('gitsigns') + local function map(mode, l, r, opts) opts = opts or {}; opts.buffer = bufnr; vim.keymap.set(mode, l, r, opts) end + + map('n', ']c', function() if vim.wo.diff then vim.cmd.normal({']c', bang = true}) else gitsigns.nav_hunk('next') end end, { desc = 'jump to next git [c]hange' }) + map('n', '[c', function() if vim.wo.diff then vim.cmd.normal({'[c', bang = true}) else gitsigns.nav_hunk('prev') end end, { desc = 'jump to previous git [c]hange' }) + map('n', '<leader>hn', function() if vim.wo.diff then vim.cmd.normal({']c', bang = true}) else gitsigns.nav_hunk('next') end end, { desc = 'git [h]unk [n]ext' }) + map('n', '<leader>hN', function() if vim.wo.diff then vim.cmd.normal({'[c', bang = true}) else gitsigns.nav_hunk('prev') end end, { desc = 'git [h]unk previous' }) + map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) + map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) + map('v', '<leader>hs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'git [s]tage hunk' }) + map('v', '<leader>hr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end, { desc = 'git [r]eset hunk' }) + map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' }) + map('n', '<leader>hu', gitsigns.undo_stage_hunk, { desc = 'git [u]ndo stage hunk' }) + map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) + map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) + map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) + map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) + map('n', '<leader>hD', function() gitsigns.diffthis('@') end, { desc = 'git [D]iff against last commit' }) + map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[t]oggle git show [b]lame line' }) + map('n', '<leader>tD', gitsigns.toggle_deleted, { desc = '[t]oggle git show [D]eleted' }) +end + +-- UFO functions +_G.ufo_provider_selector = function(bufnr, filetype, buftype) + return {'treesitter', 'indent'} +end + +_G.ufo_fold_virt_text_handler = function(virtText, lnum, endLnum, width, truncate) + local newVirtText = {} + local curWidth = 0 + for _, chunk in ipairs(virtText) do + local chunkText = chunk[1] + local chunkWidth = vim.fn.strdisplaywidth(chunkText) + if width > curWidth + chunkWidth then + table.insert(newVirtText, chunk) + else + chunkText = truncate(chunkText, width - curWidth) + local hlGroup = chunk[2] + table.insert(newVirtText, {chunkText, hlGroup}) + break + end + curWidth = curWidth + chunkWidth + end + return newVirtText +end diff --git a/user/nvim/default.nix b/user/nvim/default.nix new file mode 100644 index 00000000..0c5f3ca9 --- /dev/null +++ b/user/nvim/default.nix @@ -0,0 +1,285 @@ +{ lib, config, pkgs, inputs, hostSystem ? null, ... }: +let + isLinux = lib.hasInfix "linux" hostSystem; +in +/* +## nixvim plugin loading order + +plugins in extraPlugins are added to neovim's runtimepath before any lua config runs. +they're available in all three config sections: + +- **extraConfigLuaPre**: vim options, highlights, diagnostics. runs first. +- **extraConfigLua**: plugin setup() calls. standard location. +- **extraConfigLuaPost**: autocommands, post-setup config. runs last. + +use extraConfigLua for setup() calls, not extraConfigLuaPre. + +## adding plugins not in nixpkgs + +```nix +extraPlugins = [(pkgs.vimUtils.buildVimPlugin { + name = "plugin-name"; + src = pkgs.fetchFromGitHub { + owner = "user"; + repo = "repo.nvim"; + rev = "commit-hash"; + hash = "sha256-..."; # use fake hash, build will show correct one + }; +})]; + +extraConfigLua = '' + require('plugin-name').setup({}) +''; +``` +*/ +let + ts-error-translator = pkgs.vimUtils.buildVimPlugin { + name = "ts-error-translator"; + src = pkgs.fetchFromGitHub { + owner = "dmmulroy"; + repo = "ts-error-translator.nvim"; + rev = "17ec46d9827e39ee5fab23ad6346ac7ab0fff9e4"; + hash = "sha256-jPV2DFq3rSEWzUEXqQyGRGQEmYBJPxjAoiawvwVR6LM="; + }; + }; + vim-tpipeline = pkgs.vimUtils.buildVimPlugin { + name = "vim-tpipeline"; + src = pkgs.fetchFromGitHub { + owner = "vimpostor"; + repo = "vim-tpipeline"; + rev = "bc6dfc10e26a8dd1ec2f0512050a8a0afaa9d090"; + hash = "sha256-p25EBXx4lDA+7lP6LukPT/rqX/bNCliRlHs0PcOp9bo="; + }; + nvimSkipModule = [ "tpipeline.main" ]; + }; + amp-nvim = pkgs.vimUtils.buildVimPlugin { + name = "amp-nvim"; + src = pkgs.fetchFromGitHub { + owner = "sourcegraph"; + repo = "amp.nvim"; + rev = "3b9ad5ef0328de1b35cc9bfa723a37db5daf9434"; + hash = "sha256-f/li32jpVigbZANnnbgSArnOH4nusj0DUz7952K+Znw="; + }; + }; +in +{ + home-manager.users.bdsqqq = { config, pkgs, lib, ... }: { + imports = [ inputs.nixvim.homeModules.nixvim ]; + programs.nixvim = { + enable = true; + extraPlugins = [ ts-error-translator vim-tpipeline amp-nvim ]; + extraConfigLua = builtins.readFile ./config.lua; + + globals = { + mapleader = " "; maplocalleader = " "; have_nerd_font = true; + tpipeline_autoembed = 0; + tpipeline_fillchar = " "; + tpipeline_statusline = "%{%v:lua.Statusline()%}"; + }; + clipboard = { + providers = { + wl-copy.enable = isLinux; + xsel.enable = isLinux; + }; + register = "unnamedplus"; + }; + opts = { + number = true; mouse = "a"; showmode = false; laststatus = 0; ruler = false; cmdheight = 0; + breakindent = true; undofile = true; ignorecase = true; smartcase = true; signcolumn = "yes"; updatetime = 250; + timeoutlen = 300; splitright = true; splitbelow = true; list = true; listchars.__raw = "{ tab = '» ', trail = '·', nbsp = '␣', }"; + inccommand = "split"; cursorline = false; scrolloff = 10; confirm = true; hlsearch = true; + foldcolumn = "0"; foldlevel = 99; foldlevelstart = 99; foldenable = true; + statuscolumn = "%{foldclosed(v:lnum) > 0 ? '> ' : ''}%{foldclosed(v:lnum) == -1 ? v:lnum . ' ' : ''}"; + }; + + keymaps = [ + { mode = "n"; key = "<Esc>"; action = "<cmd>nohlsearch<CR>"; } + { mode = "t"; key = "<Esc><Esc>"; action = "<C-\\><C-n>"; options.desc = "exit terminal mode"; } + { mode = "n"; key = "<C-h>"; action = "<cmd>TmuxNavigateLeft<CR>"; options.desc = "move pane focus left"; } + { mode = "n"; key = "<C-l>"; action = "<cmd>TmuxNavigateRight<CR>"; options.desc = "move pane focus right"; } + { mode = "n"; key = "<C-j>"; action = "<cmd>TmuxNavigateDown<CR>"; options.desc = "move pane focus down"; } + { mode = "n"; key = "<C-k>"; action = "<cmd>TmuxNavigateUp<CR>"; options.desc = "move pane focus up"; } + { mode = "n"; key = "<C-\\>"; action = "<cmd>TmuxNavigatePrevious<CR>"; options.desc = "move pane focus previous"; } + # ctrl+/ sends 0x1F (ctrl+_) in terminals — legacy encoding quirk + { mode = "n"; key = "<C-_>"; action = "gcc"; options.desc = "toggle comment"; options.remap = true; } + { mode = "v"; key = "<C-_>"; action = "gcgv"; options.desc = "toggle comment"; options.remap = true; } + { mode = ""; key = "<leader>f"; action.__raw = ''function() require('conform').format { async = true, lsp_fallback = true } end''; options.desc = "[f]ormat buffer"; } + { mode = "n"; key = "<leader>/"; action.__raw = ''function() require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, previewer = false }) end''; options.desc = "[/] fuzzily search in current buffer"; } + { mode = "n"; key = "<leader>s/"; action.__raw = ''function() require('telescope.builtin').live_grep { grep_open_files = true, prompt_title = 'Live Grep in Open Files' } end''; options.desc = "[s]earch [/] in open files"; } + { mode = "n"; key = "<leader>sn"; action.__raw = ''function() require('telescope.builtin').find_files { cwd = vim.fn.stdpath 'config' } end''; options.desc = "[s]earch [n]eovim files"; } + { mode = "n"; key = "<leader>tf"; action.__raw = ''function() local ok, mini_files = pcall(require, 'mini.files'); if ok then mini_files.open() else vim.cmd('Explore') end end''; options.desc = "[t]oggle [f]iles"; } + { mode = "n"; key = "<leader>tu"; action = "<cmd>UndotreeToggle<CR>"; options.desc = "[t]oggle [u]ndo tree"; } + { mode = "n"; key = "<leader>to"; action.__raw = ''function() require('oil').open() end''; options.desc = "[t]oggle [o]il"; } + { mode = "n"; key = "<leader>sb"; action.__raw = ''function() require('telescope.builtin').buffers() end''; options.desc = "[s]earch [b]uffers"; } + { mode = "n"; key = "<leader>tw"; action = "<cmd>set wrap!<CR>"; options.desc = "[t]oggle [w]ord wrap"; } + { mode = "n"; key = "<leader>tl"; action.__raw = ''function() local enabled = vim.diagnostic.is_enabled(); vim.diagnostic.enable(not enabled); vim.notify("Diagnostics " .. (enabled and "disabled" or "enabled")) end''; options.desc = "[t]oggle [l]sp diagnostics"; } + { mode = "n"; key = "<leader>tn"; action = "<cmd>set nu!<CR>"; options.desc = "[t]oggle line [n]umbers"; } + { mode = "n"; key = "<leader>tr"; action = "<cmd>set rnu!<CR>"; options.desc = "[t]oggle [r]elative numbers"; } + { mode = "n"; key = "<leader>tg"; action.__raw = ''function() _G.open_floating_term('lazygit') end''; options.desc = "[t]oggle [g]it (lazygit)"; } + { mode = "n"; key = "<Left>"; action.__raw = ''function() if vim.fn.col('.') == 1 then vim.cmd('normal! za') else vim.cmd('normal! h') end end''; options.desc = "toggle fold at first column, otherwise move left"; } + { mode = "n"; key = "h"; action.__raw = ''function() if vim.fn.col('.') == 1 then vim.cmd('normal! za') else vim.cmd('normal! h') end end''; options.desc = "toggle fold at first column, otherwise move left"; } + ]; + + autoGroups = { kickstart-highlight-yank.clear = true; kickstart-lsp-attach.clear = true; zellij-statusline.clear = true; }; + autoCmd = [ + { event = [ "TextYankPost" ]; desc = "highlight when yanking (copying) text"; group = "kickstart-highlight-yank"; callback.__raw = ''function() vim.highlight.on_yank() end''; } + { + event = [ "BufEnter" "BufWritePost" "TextChanged" "TextChangedI" ]; + desc = "send statusline to zellij"; + group = "zellij-statusline"; + callback.__raw = ''function() _G.zellij_update_status() end''; + } + { + event = [ "VimLeavePre" ]; + desc = "clear zellij statusline on nvim exit"; + group = "zellij-statusline"; + callback.__raw = ''function() _G.zellij_clear_status() end''; + } + { + event = [ "FocusLost" ]; + desc = "clear zellij statusline when nvim loses focus"; + group = "zellij-statusline"; + callback.__raw = ''function() _G.zellij_clear_status() end''; + } + ]; + + diagnostic.settings = { + severity_sort = true; float = { border = "rounded"; source = "if_many"; }; + underline.severity = [ "ERROR" ]; + signs.text = { ERROR = "✘"; WARN = "⚠"; INFO = "ℹ"; HINT = "⚑"; }; + virtual_text = { source = "if_many"; spacing = 2; }; + }; + + extraPackages = with pkgs; [ stylua go lazygit ]; + + plugins = { + tmux-navigator.enable = true; + # zellij-nav for seamless nvim+zellij navigation (alternative to tmux-navigator) + # tmux-navigator also works with zellij via MoveFocusOrTab + oil.enable = true; + oil.settings = { default_file_explorer = true; delete_to_trash = true; skip_confirm_for_simple_edits = true; view_options.show_hidden = true; }; + + nvim-ufo.enable = true; + nvim-ufo.settings.provider_selector = ''_G.ufo_provider_selector''; + nvim-ufo.settings.fold_virt_text_handler = ''_G.ufo_fold_virt_text_handler''; + + sleuth.enable = true; + fidget.enable = true; + autoclose.enable = true; + lazydev.enable = true; + lazydev.settings.library = [{ path = "\${3rd}/luv/library"; words = [ "vim%.uv" ]; }]; + + gitsigns.enable = true; + gitsigns.settings = { + signs.add.text = "+"; signs.change.text = "~"; signs.delete.text = "_"; signs.topdelete.text = "‾"; signs.changedelete.text = "~"; + on_attach.__raw = ''_G.gitsigns_on_attach''; + }; + + which-key.enable = true; + which-key.settings.spec = [ + { + __unkeyed-1 = "<leader>s"; + group = "[s]earch"; + } + { + __unkeyed-1 = "<leader>t"; + group = "[t]oggle"; + } + { + __unkeyed-1 = "<leader>h"; + group = "git [h]unk"; + mode = [ "n" "v" ]; + } + { + __unkeyed-1 = "<leader>l"; + group = "[l]sp"; + } + ]; + + telescope.enable = true; + telescope.extensions.fzf-native.enable = true; telescope.extensions.ui-select.enable = true; + telescope.keymaps = { + "<leader>sh" = { mode = "n"; action = "help_tags"; options.desc = "[s]earch [h]elp"; }; + "<leader>sk" = { mode = "n"; action = "keymaps"; options.desc = "[s]earch [k]eymaps"; }; + "<leader>sf" = { mode = "n"; action = "find_files"; options.desc = "[s]earch [f]iles"; }; + "<leader>ss" = { mode = "n"; action = "builtin"; options.desc = "[s]earch [s]elect telescope"; }; + "<leader>sw" = { mode = "n"; action = "grep_string"; options.desc = "[s]earch current [w]ord"; }; + "<leader>sg" = { mode = "n"; action = "live_grep"; options.desc = "[s]earch by [g]rep"; }; + "<leader>sd" = { mode = "n"; action = "diagnostics"; options.desc = "[s]earch [d]iagnostics"; }; + "<leader>sr" = { mode = "n"; action = "resume"; options.desc = "[s]earch [r]esume"; }; + "<leader>s." = { mode = "n"; action = "oldfiles"; options.desc = "[s]earch recent files ('.' for repeat)"; }; + "<leader><leader>" = { mode = "n"; action = "buffers"; options.desc = "[ ] find existing buffers"; }; + }; + telescope.settings = { defaults.file_ignore_patterns = {}; defaults.hidden = true; pickers.find_files.hidden = true; extensions.__raw = "{ ['ui-select'] = { require('telescope.themes').get_dropdown() } }"; }; + + lsp.enable = true; + lsp.servers.lua_ls.enable = true; lsp.servers.lua_ls.settings.completion.callSnippet = "Replace"; + lsp.servers.ts_ls.enable = true; lsp.servers.gopls.enable = true; + lsp.keymaps.extra = [ + { mode = "n"; key = "gd"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_definitions() else vim.lsp.buf.definition() end end''; options.desc = "lsp: [g]oto [d]efinition"; } + { mode = "n"; key = "gr"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_references() else vim.lsp.buf.references() end end''; options.desc = "lsp: [g]oto [r]eferences"; } + { mode = "n"; key = "gi"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_implementations() else vim.lsp.buf.implementation() end end''; options.desc = "lsp: [g]oto [i]mplementation"; } + { mode = "n"; key = "gt"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_type_definitions() else vim.lsp.buf.type_definition() end end''; options.desc = "lsp: [g]oto [t]ype definition"; } + { mode = "n"; key = "gO"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_document_symbols() else vim.lsp.buf.document_symbol() end end''; options.desc = "lsp: open document symbols"; } + { mode = "n"; key = "gW"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_dynamic_workspace_symbols() else vim.lsp.buf.workspace_symbol() end end''; options.desc = "lsp: open workspace symbols"; } + { mode = "n"; key = "<leader>ld"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_definitions() else vim.lsp.buf.definition() end end''; options.desc = "lsp: goto [d]efinition"; } + { mode = "n"; key = "<leader>lr"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_references() else vim.lsp.buf.references() end end''; options.desc = "lsp: goto [r]eferences (find usages)"; } + { mode = "n"; key = "<leader>li"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_implementations() else vim.lsp.buf.implementation() end end''; options.desc = "lsp: goto [i]mplementation"; } + { mode = "n"; key = "<leader>lt"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_type_definitions() else vim.lsp.buf.type_definition() end end''; options.desc = "lsp: goto [t]ype definition"; } + { mode = "n"; key = "<leader>ls"; action.__raw = ''function() local ok, t = pcall(require, 'telescope.builtin'); if ok then t.lsp_dynamic_workspace_symbols() else vim.lsp.buf.workspace_symbol() end end''; options.desc = "lsp: workspace [s]ymbols"; } + { mode = "n"; key = "<leader>lq"; action.__raw = "vim.diagnostic.setloclist"; options.desc = "lsp: diagnostic [q]uickfix list"; } + ]; + lsp.keymaps.lspBuf = { + "<leader>ln" = { mode = "n"; action = "rename"; desc = "lsp: re[n]ame symbol"; }; + "<leader>la" = { mode = [ "n" "x" ]; action = "code_action"; desc = "lsp: code [a]ctions"; }; + "<leader>lD" = { mode = "n"; action = "declaration"; desc = "lsp: goto [D]eclaration"; }; + "<leader>lh" = { mode = "n"; action = "hover"; desc = "lsp: [h]over documentation"; }; + "K" = { mode = "n"; action = "hover"; desc = "hover documentation"; }; + }; + + conform-nvim.enable = true; + conform-nvim.settings.notify_on_error = false; + conform-nvim.settings.format_on_save = '' + function(bufnr) + local disable_filetypes = { c = true, cpp = true } + return { + timeout_ms = 500, + lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype], + quiet = true + } + end + ''; + conform-nvim.settings.formatters = { + biome.condition.__raw = ''function() return vim.fn.executable("biome") == 1 end''; + gofmt.condition.__raw = ''function() return vim.fn.executable("gofmt") == 1 end''; + }; + conform-nvim.settings.formatters_by_ft = { lua = [ "stylua" ]; javascript = [ "biome" ]; typescript = [ "biome" ]; javascriptreact = [ "biome" ]; typescriptreact = [ "biome" ]; json = [ "biome" ]; go = [ "gofmt" ]; }; + + blink-cmp.enable = true; + blink-cmp.settings.keymap = { preset = "default"; "<Tab>" = [ "snippet_forward" "fallback" ]; "<S-Tab>" = [ "snippet_backward" "fallback" ]; "<CR>" = [ "accept" "fallback" ]; "<Down>" = [ "select_next" "fallback" ]; "<Up>" = [ "select_prev" "fallback" ]; "<Esc>" = [ "hide" "fallback" ]; }; + blink-cmp.settings.appearance.nerd_font_variant = "mono"; + blink-cmp.settings.completion = { documentation.auto_show = true; documentation.auto_show_delay_ms = 500; ghost_text.enabled = true; menu.auto_show = true; menu.draw.treesitter = [ "lsp" ]; }; + blink-cmp.settings.sources.default = [ "lsp" "path" "snippets" "buffer" ]; + blink-cmp.settings.sources.providers.lazydev = { name = "LazyDev"; module = "lazydev.integrations.blink"; score_offset = 100; }; + blink-cmp.settings.snippets.preset = "default"; blink-cmp.settings.signature.enabled = true; + + mini.enable = true; + mini.modules.icons = {}; mini.modules.surround = {}; mini.modules.comment = {}; + mini.modules.files.options.permanent_delete = true; mini.modules.files.options.use_as_default_explorer = true; + mini.modules.files.content.filter.__raw = ''function(fs_entry) return true end''; + mini.mockDevIcons = true; + + undotree.enable = true; undotree.settings = { FloatDiff = true; FocusOnToggle = true; }; + + treesitter.enable = true; + treesitter.settings.ensureInstalled = [ "bash" "diff" "html" "lua" "luadoc" "markdown" "markdown_inline" "query" "vim" "vimdoc" "nix" "javascript" "typescript" "jsx" "tsx" "json" "jsonc" "python" "regex" "go" ]; + treesitter.settings.highlight.enable = true; treesitter.settings.highlight.additional_vim_regex_highlighting = true; + treesitter.settings.indent.enable = true; treesitter.settings.indent.disable = [ "ruby" ]; + }; + }; + + home.shellAliases.v = "nvim"; + }; +} + + diff --git a/user/path-order.nix b/user/path-order.nix new file mode 100644 index 00000000..c04e90a6 --- /dev/null +++ b/user/path-order.nix @@ -0,0 +1,31 @@ +{ lib, ... }: +{ + home-manager.users.bdsqqq = { config, lib, ... }: { + # central PATH ordering system + # modules contribute segments with priority; lower order = earlier in PATH + options.custom.path.segments = lib.mkOption { + type = lib.types.listOf (lib.types.submodule { + options = { + order = lib.mkOption { + type = lib.types.int; + description = "priority (lower = earlier in PATH)"; + }; + value = lib.mkOption { + type = lib.types.str; + description = "path to add"; + }; + }; + }); + default = []; + description = "ordered PATH segments from all modules"; + }; + + # aggregate all segments into home.sessionPath + config.home.sessionPath = + let + sorted = builtins.sort (a: b: a.order < b.order) config.custom.path.segments; + paths = map (x: x.value) sorted; + in + lib.unique paths; + }; +} diff --git a/user/pnpm.nix b/user/pnpm.nix index 610d125a..3bbc422a 100644 --- a/user/pnpm.nix +++ b/user/pnpm.nix @@ -14,7 +14,12 @@ in in { # expose PNPM_HOME for all shells home.sessionVariables.PNPM_HOME = pnpmHomeAbsolute; - home.sessionPath = lib.mkBefore [ pnpmHomeAbsolute "${pnpmGlobalDir}/node_modules/.bin" ]; + + # contribute to central path ordering (low order = early in PATH = wins) + custom.path.segments = [ + { order = 100; value = pnpmHomeAbsolute; } + { order = 110; value = "${pnpmGlobalDir}/node_modules/.bin"; } + ]; # ensure pnpm is installed for user home.packages = [ pkgs.pnpm ]; @@ -41,7 +46,14 @@ in # ensure versioned dir link (pnpm expects $PNPM_HOME/5) ln -sfn "$GLOBAL_DIR" "$PNPM_HOME/5" + # purge stale shims so pnpm regenerates them pointing to current versions + # pnpm doesn't rewrite shims if they already exist, leading to stale references + if [ -d "$PNPM_HOME" ]; then + find "$PNPM_HOME" -maxdepth 1 -type f -print -delete + fi + # run a non-interactive global install against the linked manifest + # this operates on the symlinked package.json/lock, keeping them as source of truth "${pkgs.pnpm}/bin/pnpm" install \ --global \ --global-dir "$GLOBAL_ROOT" \ @@ -49,6 +61,26 @@ in # shims are available via PATH entry to "$GLOBAL_DIR/node_modules/.bin" ''; + + # manage pnpm config file with correct global-dir per platform + # this ensures `pnpm i -g` writes to the symlinked package.json + home.file.".config/pnpm/rc".text = '' + global-dir=${pnpmGlobalRoot} + enable-pre-post-scripts=true + ''; + + # zsh-specific: re-assert pnpm precedence after fnm's dynamic PATH prepend + programs.zsh.initContent = '' + # fnm prepends at runtime; ensure pnpm wins by re-prepending after shell init + if [[ -n "$PNPM_HOME" ]]; then + typeset -U path # enable deduplication + path=( + "$PNPM_HOME" + "$PNPM_HOME/5/node_modules/.bin" + ''${path[@]} + ) + fi + ''; }; } diff --git a/user/quickshell.nix b/user/quickshell.nix new file mode 100644 index 00000000..60528769 --- /dev/null +++ b/user/quickshell.nix @@ -0,0 +1,78 @@ +{ lib, pkgs, hostSystem ? null, ... }: + +let + isLinux = lib.hasInfix "linux" hostSystem; + + quickshellConfig = { + "quickshell/shell.qml" = { + source = ./quickshell/shell.qml; + }; + + "quickshell/Bar.qml" = { + source = ./quickshell/Bar.qml; + }; + "quickshell/ScreenCorners.qml" = { + source = ./quickshell/ScreenCorners.qml; + }; + "quickshell/NiriState.qml" = { + source = ./quickshell/NiriState.qml; + }; + "quickshell/NiriWorkspacesLoader.qml" = { + source = ./quickshell/NiriWorkspacesLoader.qml; + }; + "quickshell/NotificationItem.qml" = { + source = ./quickshell/NotificationItem.qml; + }; + "quickshell/NotificationPopups.qml" = { + source = ./quickshell/NotificationPopups.qml; + }; + "quickshell/ControlCenter.qml" = { + source = ./quickshell/ControlCenter.qml; + }; + "quickshell/BrightnessModule.qml" = { + source = ./quickshell/BrightnessModule.qml; + }; + "quickshell/BluetoothModule.qml" = { + source = ./quickshell/BluetoothModule.qml; + }; + "quickshell/NetworkModule.qml" = { + source = ./quickshell/NetworkModule.qml; + }; + "quickshell/BatteryModule.qml" = { + source = ./quickshell/BatteryModule.qml; + }; + "quickshell/ControlCenterBackdrop.qml" = { + source = ./quickshell/ControlCenterBackdrop.qml; + }; + }; + +in +if !isLinux then {} else { + home-manager.users.bdsqqq = { config, ... }: { + home.packages = [ pkgs.quickshellWrapped ]; + xdg.configFile = quickshellConfig; + + # enable sd-switch so home-manager restarts services on config change + systemd.user.startServices = "sd-switch"; + + # systemd user service for quickshell - restarts on QML config change + systemd.user.services.quickshell = { + Unit = { + Description = "Quickshell status bar and shell components"; + After = [ "graphical-session.target" ]; + PartOf = [ "graphical-session.target" ]; + # restart when any QML file changes (convert paths to strings) + X-Restart-Triggers = lib.attrValues (lib.mapAttrs (name: value: "${config.xdg.configFile.${name}.source}") quickshellConfig); + }; + Service = { + Type = "simple"; + ExecStart = "${pkgs.quickshellWrapped}/bin/quickshell"; + Restart = "on-failure"; + RestartSec = 2; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + }; +} diff --git a/user/quickshell/Bar.qml b/user/quickshell/Bar.qml new file mode 100644 index 00000000..2ceeaf6e --- /dev/null +++ b/user/quickshell/Bar.qml @@ -0,0 +1,132 @@ +import Quickshell +import Quickshell.Wayland +import Quickshell.Hyprland +import QtQuick +import QtQuick.Layouts + +PanelWindow { + id: bar + + property int barHeight: 45 + property bool hyprlandAvailable: typeof Hyprland !== "undefined" + property bool isHyprland: hyprlandAvailable && Hyprland.workspaces.count > 0 + property var niriState: null + property bool isFullscreen: niriState ? niriState.isFullscreen : false + property bool controlCenterOpen: false + property bool barVisible: false + signal controlCenterToggled() + + anchors { + top: true + left: true + right: true + } + + implicitHeight: barVisible && !isFullscreen ? barHeight : 0 + visible: barVisible && !isFullscreen + color: "#000000" + + WlrLayershell.layer: WlrLayer.Top + WlrLayershell.namespace: "quickshell-bar" + + exclusiveZone: barVisible && !isFullscreen ? barHeight : 0 + + Component.onCompleted: { + if (niriState) niriState.setScreenSize(screen.width, screen.height) + } + + RowLayout { + anchors.fill: parent + anchors.leftMargin: 8 + anchors.rightMargin: 8 + spacing: 0 + + Text { + id: logo + text: "∗" + color: "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 24 + Layout.alignment: Qt.AlignVCenter + } + + Item { Layout.preferredWidth: 8 } + + Loader { + id: workspacesLoader + Layout.alignment: Qt.AlignVCenter + sourceComponent: bar.isHyprland ? hyprlandWorkspaces : niriWorkspaces + } + + Item { Layout.fillWidth: true } + + Text { + id: clock + color: clockMouse.containsMouse || bar.controlCenterOpen ? "#d1d5db" : "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 24 + Layout.alignment: Qt.AlignVCenter + + property date currentTime: new Date() + + text: Qt.formatDateTime(currentTime, "yyyy-MM-dd HH:mm") + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Timer { + interval: 1000 + running: true + repeat: true + onTriggered: clock.currentTime = new Date() + } + + MouseArea { + id: clockMouse + anchors.fill: parent + anchors.margins: -4 + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: bar.controlCenterToggled() + } + } + } + + Component { + id: hyprlandWorkspaces + + Row { + spacing: 0 + + Repeater { + model: Hyprland.workspaces + + Text { + required property HyprlandWorkspace modelData + + text: "[" + modelData.id + "]" + color: modelData.id === Hyprland.focusedWorkspace?.id ? "#d1d5db" : "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 24 + font.bold: modelData.id === Hyprland.focusedWorkspace?.id + + MouseArea { + anchors.fill: parent + onClicked: Hyprland.dispatch("workspace " + modelData.id) + } + } + } + } + } + + Component { + id: niriWorkspaces + + Row { + spacing: 0 + + NiriWorkspacesLoader {} + } + } +} diff --git a/user/quickshell/BatteryModule.qml b/user/quickshell/BatteryModule.qml new file mode 100644 index 00000000..b36c8b4f --- /dev/null +++ b/user/quickshell/BatteryModule.qml @@ -0,0 +1,353 @@ +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +Item { + id: batteryModule + + property int batteryPercent: 0 + property string batteryStatus: "unknown" + property real powerDraw: 0.0 + property string currentGpuProfile: "auto" + property int currentTdp: 15 + property bool expanded: false + + implicitHeight: contentColumn.implicitHeight + Layout.fillWidth: true + + Process { + id: batteryReader + command: ["cat", "/sys/class/power_supply/BAT0/capacity", "/sys/class/power_supply/BAT0/status", "/sys/class/power_supply/BAT0/power_now"] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + batteryReader.buffer += data; + } + } + + onExited: function(code, status) { + if (code === 0) { + let lines = batteryReader.buffer.trim().split("\n"); + if (lines.length >= 2) { + batteryPercent = parseInt(lines[0]) || 0; + batteryStatus = lines[1].toLowerCase(); + if (lines.length >= 3) { + let powerMicrowatts = parseInt(lines[2]) || 0; + powerDraw = powerMicrowatts / 1000000.0; + } + } + } + batteryReader.buffer = ""; + } + } + + Process { + id: gpuProfileReader + command: ["cat", "/sys/class/drm/card1/device/power_dpm_force_performance_level"] + + stdout: SplitParser { + onRead: function(data) { + currentGpuProfile = data.trim(); + } + } + } + + Process { + id: gpuProfileSetter + property string targetProfile: "auto" + command: ["systemctl", "start", "amdgpu-profile@" + targetProfile + ".service"] + + onExited: function(code, status) { + gpuProfileReader.running = true; + } + } + + Process { + id: tdpSetter + property int targetTdp: 15 + command: ["systemctl", "start", "ryzenadj-tdp@" + targetTdp + ".service"] + + onExited: function(code, status) { + currentTdp = targetTdp; + } + } + + Timer { + interval: 5000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: { + batteryReader.running = true; + gpuProfileReader.running = true; + } + } + + function batteryIcon(percent, status) { + if (status === "charging") return "⚡"; + if (status === "full") return "█"; + if (percent >= 80) return "█"; + if (percent >= 60) return "▓"; + if (percent >= 40) return "▒"; + if (percent >= 20) return "░"; + return "▁"; + } + + function statusColor(percent, status) { + if (status === "charging" || status === "full") return "#ffffff"; + if (percent <= 10) return "#ef4444"; + if (percent <= 20) return "#f97316"; + return "#ffffff"; + } + + ColumnLayout { + id: contentColumn + anchors.fill: parent + spacing: 8 + + Item { + Layout.fillWidth: true + Layout.preferredHeight: headerRow.implicitHeight + + RowLayout { + id: headerRow + anchors.fill: parent + spacing: 8 + + Text { + text: expanded ? "▾" : "▸" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Text { + text: "battery" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Item { Layout.fillWidth: true } + + Text { + text: batteryIcon(batteryPercent, batteryStatus) + color: statusColor(batteryPercent, batteryStatus) + font.family: "Berkeley Mono" + font.pixelSize: 12 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + Text { + text: batteryPercent + "%" + color: statusColor(batteryPercent, batteryStatus) + font.family: "Berkeley Mono" + font.pixelSize: 12 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: expanded = !expanded + } + } + + Item { + id: collapsibleContent + Layout.fillWidth: true + Layout.preferredHeight: expanded ? expandedContentColumn.implicitHeight : 0 + clip: true + + Behavior on Layout.preferredHeight { + NumberAnimation { duration: 150; easing.type: Easing.OutQuint } + } + + ColumnLayout { + id: expandedContentColumn + width: parent.width + spacing: 8 + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Text { + text: batteryStatus + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + Item { Layout.fillWidth: true } + + Text { + text: powerDraw.toFixed(1) + "W" + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + visible: powerDraw > 0 + } + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#374151" + } + + Text { + text: "tdp" + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Repeater { + model: [ + { watts: 8, label: "8W" }, + { watts: 15, label: "15W" }, + { watts: 25, label: "25W" }, + { watts: 30, label: "30W" } + ] + + Rectangle { + required property var modelData + + Layout.preferredWidth: tdpText.implicitWidth + 16 + Layout.preferredHeight: tdpText.implicitHeight + 8 + color: tdpMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: currentTdp === modelData.watts ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: tdpText + anchors.centerIn: parent + text: modelData.label + color: currentTdp === modelData.watts ? "#ffffff" : "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + MouseArea { + id: tdpMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (currentTdp !== modelData.watts) { + tdpSetter.targetTdp = modelData.watts; + tdpSetter.running = true; + } + } + } + } + } + + Item { Layout.fillWidth: true } + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#374151" + } + + Text { + text: "gpu" + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Repeater { + model: [ + { id: "low", label: "low" }, + { id: "auto", label: "auto" }, + { id: "high", label: "high" } + ] + + Rectangle { + required property var modelData + + Layout.preferredWidth: gpuText.implicitWidth + 16 + Layout.preferredHeight: gpuText.implicitHeight + 8 + color: gpuMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: currentGpuProfile === modelData.id ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: gpuText + anchors.centerIn: parent + text: modelData.label + color: currentGpuProfile === modelData.id ? "#ffffff" : "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + MouseArea { + id: gpuMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (currentGpuProfile !== modelData.id) { + gpuProfileSetter.targetProfile = modelData.id; + gpuProfileSetter.running = true; + } + } + } + } + } + + Item { Layout.fillWidth: true } + } + } + } + } +} diff --git a/user/quickshell/BluetoothModule.qml b/user/quickshell/BluetoothModule.qml new file mode 100644 index 00000000..10c0c6d3 --- /dev/null +++ b/user/quickshell/BluetoothModule.qml @@ -0,0 +1,385 @@ +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +Item { + id: bluetoothModule + + property bool bluetoothOn: false + property string connectedDevice: "" + property bool expanded: false + property bool scanning: false + + ListModel { + id: pairedDevicesModel + } + + implicitWidth: parent ? parent.width : 248 + implicitHeight: Math.min(contentLayout.implicitHeight, 200) + + Process { + id: adapterCheck + command: ["bluetoothctl", "show"] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + adapterCheck.buffer += data; + } + } + + onExited: function(code, status) { + bluetoothModule.bluetoothOn = adapterCheck.buffer.indexOf("Powered: yes") !== -1; + adapterCheck.buffer = ""; + } + } + + Process { + id: devicesCheck + command: ["bluetoothctl", "devices", "Paired"] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + devicesCheck.buffer += data; + } + } + + onExited: function(code, status) { + if (code === 0) { + let lines = devicesCheck.buffer.trim().split('\n'); + let devices = []; + for (let i = 0; i < lines.length; i++) { + let line = lines[i].trim(); + if (line === "") continue; + let match = line.match(/^Device\s+([0-9A-Fa-f:]+)\s+(.+)$/); + if (match) { + devices.push({ mac: match[1], name: match[2] }); + } + } + devicesCheck.buffer = ""; + + pairedDevicesModel.clear(); + for (let j = 0; j < devices.length; j++) { + pairedDevicesModel.append(devices[j]); + } + + if (devices.length > 0) { + checkConnectionIndex = 0; + checkNextConnection(); + } + } + } + } + + property int checkConnectionIndex: 0 + + function checkNextConnection() { + if (checkConnectionIndex < pairedDevicesModel.count) { + connectionCheck.targetMac = pairedDevicesModel.get(checkConnectionIndex).mac; + connectionCheck.running = true; + } + } + + Process { + id: connectionCheck + property string targetMac: "" + command: ["bluetoothctl", "info", targetMac] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + connectionCheck.buffer += data; + } + } + + onExited: function(code, status) { + if (connectionCheck.buffer.indexOf("Connected: yes") !== -1) { + bluetoothModule.connectedDevice = connectionCheck.targetMac; + } + connectionCheck.buffer = ""; + checkConnectionIndex++; + if (checkConnectionIndex < pairedDevicesModel.count) { + checkNextConnection(); + } + } + } + + Process { + id: toggleBluetooth + command: ["bluetoothctl", "power", bluetoothOn ? "off" : "on"] + onExited: function(code, status) { + adapterCheck.running = true; + } + } + + Process { + id: connectDevice + property string targetMac: "" + command: ["bluetoothctl", "connect", targetMac] + onExited: function(code, status) { + devicesCheck.running = true; + } + } + + Process { + id: disconnectDevice + property string targetMac: "" + command: ["bluetoothctl", "disconnect", targetMac] + onExited: function(code, status) { + bluetoothModule.connectedDevice = ""; + devicesCheck.running = true; + } + } + + Process { + id: scanOn + command: ["bluetoothctl", "scan", "on"] + onExited: function(code, status) { + if (code === 0) { + bluetoothModule.scanning = true; + scanTimer.running = true; + } + } + } + + Process { + id: scanOff + command: ["bluetoothctl", "scan", "off"] + onExited: function(code, status) { + bluetoothModule.scanning = false; + devicesCheck.running = true; + } + } + + Timer { + id: scanTimer + interval: 10000 + repeat: false + onTriggered: { + scanOff.running = true; + } + } + + Timer { + interval: 5000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: { + adapterCheck.running = true; + devicesCheck.running = true; + } + } + + ColumnLayout { + id: contentLayout + anchors.fill: parent + spacing: 8 + + Item { + Layout.fillWidth: true + Layout.preferredHeight: headerRow.implicitHeight + + RowLayout { + id: headerRow + anchors.fill: parent + spacing: 8 + + Text { + text: expanded ? "▾" : "▸" + color: "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 10 + } + + Text { + text: "bluetooth" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Item { Layout.fillWidth: true } + + Text { + text: bluetoothOn ? (connectedDevice !== "" ? "connected" : "on") : "off" + color: bluetoothOn ? "#ffffff" : "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 12 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: { + bluetoothModule.expanded = !bluetoothModule.expanded; + } + } + } + + ColumnLayout { + Layout.fillWidth: true + spacing: 8 + visible: expanded + + Rectangle { + Layout.preferredWidth: toggleText.implicitWidth + 16 + Layout.preferredHeight: toggleText.implicitHeight + 8 + color: toggleMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: bluetoothOn ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: toggleText + anchors.centerIn: parent + text: bluetoothOn ? "turn off" : "turn on" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + MouseArea { + id: toggleMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + toggleBluetooth.running = true; + } + } + } + + Rectangle { + Layout.preferredWidth: scanText.implicitWidth + 16 + Layout.preferredHeight: scanText.implicitHeight + 8 + color: scanMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: scanning ? "#ffffff" : "#1f2937" + radius: 4 + visible: bluetoothOn + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: scanText + anchors.centerIn: parent + text: scanning ? "scanning..." : "scan" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + MouseArea { + id: scanMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (scanning) { + scanTimer.running = false; + scanOff.running = true; + } else { + scanOn.running = true; + } + } + } + } + + ListView { + id: deviceList + Layout.fillWidth: true + Layout.preferredHeight: Math.min(contentHeight, 80) + clip: true + spacing: 4 + model: pairedDevicesModel + visible: bluetoothOn && pairedDevicesModel.count > 0 + + delegate: Rectangle { + width: deviceList.width + height: deviceRow.implicitHeight + 8 + color: deviceMouse.containsMouse ? "#1f2937" : "transparent" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + RowLayout { + id: deviceRow + anchors.fill: parent + anchors.margins: 4 + spacing: 8 + + Text { + text: model.name + color: connectedDevice === model.mac ? "#ffffff" : "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + elide: Text.ElideRight + Layout.fillWidth: true + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + Text { + text: connectedDevice === model.mac ? "connected" : "paired" + color: connectedDevice === model.mac ? "#ffffff" : "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 10 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + } + + MouseArea { + id: deviceMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (connectedDevice === model.mac) { + disconnectDevice.targetMac = model.mac; + disconnectDevice.running = true; + } else { + connectDevice.targetMac = model.mac; + connectDevice.running = true; + } + } + } + } + } + } + } +} diff --git a/user/quickshell/BrightnessModule.qml b/user/quickshell/BrightnessModule.qml new file mode 100644 index 00000000..18a5062b --- /dev/null +++ b/user/quickshell/BrightnessModule.qml @@ -0,0 +1,111 @@ +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +Item { + id: brightnessModule + + property real brightness: 0.5 + + implicitHeight: content.implicitHeight + Layout.fillWidth: true + + Process { + id: brightnessReader + command: ["brightnessctl", "-m"] + + stdout: SplitParser { + onRead: function(data) { + let parts = data.trim().split(","); + if (parts.length >= 4) { + let percent = parseInt(parts[3].replace("%", "")); + brightnessModule.brightness = percent / 100; + } + } + } + } + + Process { + id: brightnessSetter + property int targetPercent: 50 + command: ["brightnessctl", "set", targetPercent + "%"] + } + + Timer { + interval: 2000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: brightnessReader.running = true + } + + ColumnLayout { + id: content + anchors.fill: parent + spacing: 8 + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Text { + text: "brightness" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Item { Layout.fillWidth: true } + + Text { + text: Math.round(brightnessModule.brightness * 100) + "%" + color: "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + } + + Rectangle { + id: sliderTrack + Layout.fillWidth: true + Layout.preferredHeight: 24 + color: "#1f2937" + radius: 4 + + Rectangle { + id: sliderFill + width: parent.width * brightnessModule.brightness + height: parent.height + color: "#ffffff" + radius: 4 + + Behavior on width { + NumberAnimation { duration: 50; easing.type: Easing.OutQuint } + } + } + + MouseArea { + id: sliderMouse + anchors.fill: parent + hoverEnabled: true + + onPressed: function(mouse) { + let newBrightness = Math.max(0.01, Math.min(1, mouse.x / width)); + brightnessModule.brightness = newBrightness; + brightnessSetter.targetPercent = Math.round(newBrightness * 100); + brightnessSetter.running = true; + } + + onPositionChanged: function(mouse) { + if (pressed) { + let newBrightness = Math.max(0.01, Math.min(1, mouse.x / width)); + brightnessModule.brightness = newBrightness; + brightnessSetter.targetPercent = Math.round(newBrightness * 100); + brightnessSetter.running = true; + } + } + } + } + } +} diff --git a/user/quickshell/ControlCenter.qml b/user/quickshell/ControlCenter.qml new file mode 100644 index 00000000..1c6db26d --- /dev/null +++ b/user/quickshell/ControlCenter.qml @@ -0,0 +1,283 @@ +import Quickshell +import Quickshell.Wayland +import Quickshell.Services.Pipewire +import QtQuick +import QtQuick.Layouts + +PanelWindow { + id: controlCenter + + required property var screen + property bool isOpen: false + + anchors { + top: true + right: true + } + + margins.top: 8 + margins.right: 8 + + implicitWidth: 280 + implicitHeight: Math.min(contentColumn.implicitHeight + 32, screen.height * 0.6) + + visible: isOpen + color: "transparent" + + WlrLayershell.layer: WlrLayer.Overlay + WlrLayershell.namespace: "quickshell-control-center" + + exclusiveZone: 0 + + PwObjectTracker { + objects: [ Pipewire.defaultAudioSink ] + } + + Rectangle { + anchors.fill: parent + color: "#000000" + radius: 8 + clip: true + + Flickable { + id: flickable + anchors.fill: parent + anchors.margins: 16 + contentWidth: width + contentHeight: contentColumn.implicitHeight + clip: true + boundsBehavior: Flickable.StopAtBounds + + ColumnLayout { + id: contentColumn + width: flickable.width + spacing: 16 + + Text { + text: "control center" + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + font.weight: Font.Normal + Layout.fillWidth: true + } + + ColumnLayout { + spacing: 8 + Layout.fillWidth: true + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Text { + text: "volume" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Item { Layout.fillWidth: true } + + Text { + text: Math.round((Pipewire.defaultAudioSink?.audio.volume ?? 0) * 100) + "%" + color: Pipewire.defaultAudioSink?.audio.muted ? "#4b5563" : "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 12 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + } + + Rectangle { + id: sliderTrack + Layout.fillWidth: true + Layout.preferredHeight: 24 + color: "#1f2937" + radius: 4 + + Rectangle { + id: sliderFill + width: parent.width * (Pipewire.defaultAudioSink?.audio.volume ?? 0) + height: parent.height + color: Pipewire.defaultAudioSink?.audio.muted ? "#4b5563" : "#ffffff" + radius: 4 + + Behavior on width { + NumberAnimation { duration: 50; easing.type: Easing.OutQuint } + } + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + MouseArea { + id: sliderMouse + anchors.fill: parent + hoverEnabled: true + + onPressed: function(mouse) { + if (Pipewire.defaultAudioSink?.audio) { + Pipewire.defaultAudioSink.audio.volume = Math.max(0, Math.min(1, mouse.x / width)); + } + } + + onPositionChanged: function(mouse) { + if (pressed && Pipewire.defaultAudioSink?.audio) { + Pipewire.defaultAudioSink.audio.volume = Math.max(0, Math.min(1, mouse.x / width)); + } + } + } + } + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Rectangle { + Layout.preferredWidth: muteText.implicitWidth + 16 + Layout.preferredHeight: muteText.implicitHeight + 8 + color: muteMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: Pipewire.defaultAudioSink?.audio.muted ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: muteText + anchors.centerIn: parent + text: Pipewire.defaultAudioSink?.audio.muted ? "unmute" : "mute" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + MouseArea { + id: muteMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (Pipewire.defaultAudioSink?.audio) { + Pipewire.defaultAudioSink.audio.muted = !Pipewire.defaultAudioSink.audio.muted; + } + } + } + } + + Item { Layout.fillWidth: true } + } + + ColumnLayout { + Layout.fillWidth: true + spacing: 4 + + Text { + text: "output" + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + Repeater { + model: Pipewire.nodes + + Rectangle { + id: sinkItem + required property PwNode modelData + visible: modelData.isSink && modelData.audio && !modelData.isStream + Layout.fillWidth: true + Layout.preferredHeight: visible ? sinkText.implicitHeight + 12 : 0 + color: sinkMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: modelData === Pipewire.defaultAudioSink ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: sinkText + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 8 + text: modelData.nickname || modelData.description || modelData.name || "unknown" + color: modelData === Pipewire.defaultAudioSink ? "#ffffff" : "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + elide: Text.ElideRight + } + + MouseArea { + id: sinkMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + Pipewire.preferredDefaultAudioSink = sinkItem.modelData; + } + } + } + } + } + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#1f2937" + } + + BrightnessModule { + Layout.fillWidth: true + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#1f2937" + } + + NetworkModule { + Layout.fillWidth: true + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#1f2937" + } + + BluetoothModule { + Layout.fillWidth: true + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: 1 + color: "#1f2937" + } + + BatteryModule { + Layout.fillWidth: true + } + } + } + } +} diff --git a/user/quickshell/ControlCenterBackdrop.qml b/user/quickshell/ControlCenterBackdrop.qml new file mode 100644 index 00000000..9be32ba2 --- /dev/null +++ b/user/quickshell/ControlCenterBackdrop.qml @@ -0,0 +1,32 @@ +import Quickshell +import Quickshell.Wayland +import QtQuick + +PanelWindow { + id: backdrop + + required property var screen + property bool isOpen: false + + signal clicked() + + anchors { + top: true + bottom: true + left: true + right: true + } + + visible: isOpen + color: "transparent" + + WlrLayershell.layer: WlrLayer.Top + WlrLayershell.namespace: "quickshell-backdrop" + + exclusiveZone: 0 + + MouseArea { + anchors.fill: parent + onClicked: backdrop.clicked() + } +} diff --git a/user/quickshell/NetworkModule.qml b/user/quickshell/NetworkModule.qml new file mode 100644 index 00000000..41013a6b --- /dev/null +++ b/user/quickshell/NetworkModule.qml @@ -0,0 +1,318 @@ +import Quickshell +import Quickshell.Io +import QtQuick +import QtQuick.Layouts + +Item { + id: networkModule + + property bool wifiEnabled: true + property string currentSSID: "disconnected" + property var networkList: [] + property string connectingTo: "" + property bool expanded: false + + implicitWidth: parent ? parent.width : 248 + implicitHeight: Math.min(contentColumn.implicitHeight, 200) + + Process { + id: scanNetworks + command: ["nmcli", "-t", "-f", "SSID,SIGNAL,SECURITY", "device", "wifi", "list"] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + scanNetworks.buffer += data; + } + } + + onExited: function(code, status) { + if (code === 0) { + let lines = scanNetworks.buffer.trim().split("\n"); + let networks = []; + let seen = {}; + for (let i = 0; i < lines.length; i++) { + let parts = lines[i].split(":"); + if (parts[0] && !seen[parts[0]]) { + seen[parts[0]] = true; + networks.push({ + ssid: parts[0], + signal: parseInt(parts[1]) || 0, + security: parts[2] || "" + }); + } + } + networks.sort((a, b) => b.signal - a.signal); + networkList = networks; + } + scanNetworks.buffer = ""; + } + } + + Process { + id: getActiveConnection + command: ["nmcli", "-t", "-f", "NAME,TYPE,DEVICE", "connection", "show", "--active"] + + property string buffer: "" + + stdout: SplitParser { + splitMarker: "" + onRead: function(data) { + getActiveConnection.buffer += data; + } + } + + onExited: function(code, status) { + if (code === 0) { + let lines = getActiveConnection.buffer.trim().split("\n"); + for (let i = 0; i < lines.length; i++) { + let parts = lines[i].split(":"); + if (parts[1] === "802-11-wireless") { + currentSSID = parts[0]; + getActiveConnection.buffer = ""; + return; + } + } + currentSSID = "disconnected"; + } + getActiveConnection.buffer = ""; + } + } + + Process { + id: toggleWifi + property bool enabling: true + command: ["nmcli", "radio", "wifi", enabling ? "on" : "off"] + onExited: function(code, status) { + wifiEnabled = enabling; + if (enabling) { + pollTimer.restart(); + scanNetworks.running = true; + } else { + currentSSID = "disconnected"; + networkList = []; + } + } + } + + Process { + id: connectNetwork + property string targetSSID: "" + command: ["nmcli", "device", "wifi", "connect", targetSSID] + onExited: function(code, status) { + connectingTo = ""; + getActiveConnection.running = true; + } + } + + Timer { + id: pollTimer + interval: 10000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: { + if (wifiEnabled) { + scanNetworks.running = true; + getActiveConnection.running = true; + } + } + } + + function signalIcon(signal) { + if (signal >= 75) return "⣿"; + if (signal >= 50) return "⣶"; + if (signal >= 25) return "⣤"; + return "⣀"; + } + + ColumnLayout { + id: contentColumn + anchors.fill: parent + spacing: 8 + + Item { + Layout.fillWidth: true + Layout.preferredHeight: headerRow.implicitHeight + + RowLayout { + id: headerRow + anchors.fill: parent + spacing: 8 + + Text { + text: expanded ? "▾" : "▸" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Text { + text: "network" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + } + + Item { Layout.fillWidth: true } + + Text { + text: wifiEnabled ? currentSSID : "wifi off" + color: currentSSID === "disconnected" || !wifiEnabled ? "#4b5563" : "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 12 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: expanded = !expanded + } + } + + Item { + id: collapsibleContent + Layout.fillWidth: true + Layout.preferredHeight: expanded ? expandedContentColumn.implicitHeight : 0 + clip: true + + Behavior on Layout.preferredHeight { + NumberAnimation { duration: 150; easing.type: Easing.OutQuint } + } + + ColumnLayout { + id: expandedContentColumn + width: parent.width + spacing: 8 + + RowLayout { + Layout.fillWidth: true + spacing: 8 + + Rectangle { + Layout.preferredWidth: wifiToggleText.implicitWidth + 16 + Layout.preferredHeight: wifiToggleText.implicitHeight + 8 + color: wifiToggleMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: wifiEnabled ? "#ffffff" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + Text { + id: wifiToggleText + anchors.centerIn: parent + text: wifiEnabled ? "wifi on" : "wifi off" + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + MouseArea { + id: wifiToggleMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + toggleWifi.enabling = !wifiEnabled; + toggleWifi.running = true; + } + } + } + + Item { Layout.fillWidth: true } + } + + Rectangle { + Layout.fillWidth: true + Layout.preferredHeight: Math.min(networkListView.contentHeight, 120) + color: "#1f2937" + radius: 4 + visible: wifiEnabled && networkList.length > 0 + + ListView { + id: networkListView + anchors.fill: parent + anchors.margins: 4 + model: networkList + clip: true + spacing: 2 + + delegate: Rectangle { + width: networkListView.width + height: 24 + color: delegateMouse.containsMouse ? "#374151" : "transparent" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + + RowLayout { + anchors.fill: parent + anchors.leftMargin: 8 + anchors.rightMargin: 8 + spacing: 8 + + Text { + text: connectingTo === modelData.ssid ? "connecting..." : modelData.ssid + color: currentSSID === modelData.ssid ? "#ffffff" : "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + elide: Text.ElideRight + Layout.fillWidth: true + + Behavior on color { + ColorAnimation { duration: 100; easing.type: Easing.OutQuint } + } + } + + Text { + text: signalIcon(modelData.signal) + color: "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 10 + } + } + + MouseArea { + id: delegateMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + if (currentSSID !== modelData.ssid && connectingTo === "") { + connectingTo = modelData.ssid; + connectNetwork.targetSSID = modelData.ssid; + connectNetwork.running = true; + } + } + } + } + } + } + + Text { + visible: wifiEnabled && networkList.length === 0 + text: "scanning..." + color: "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + } + } + } +} diff --git a/user/quickshell/NiriState.qml b/user/quickshell/NiriState.qml new file mode 100644 index 00000000..d5e35ee0 --- /dev/null +++ b/user/quickshell/NiriState.qml @@ -0,0 +1,118 @@ +import QtQuick +import Quickshell +import Quickshell.Io + +QtObject { + id: root + + property bool isFullscreen: false + property int barHeight: 45 + + property var _focusedWindowId: null + property var _windows: ({}) + property var _screenSize: null + + property Socket _socket: Socket { + id: niriSocket + path: Quickshell.env("NIRI_SOCKET") + connected: false + + onConnectedChanged: { + if (connected) { + write(JSON.stringify("EventStream") + "\n") + flush() + } + } + + parser: SplitParser { + onRead: data => { + try { + const parsed = JSON.parse(data.trim()) + root._handleEvent(parsed) + } catch (e) { + console.error("NiriState: parse error", e) + } + } + } + } + + function _handleEvent(parsed) { + if (parsed.Ok && parsed.Ok.Windows) { + _handleWindowsChanged(parsed.Ok.Windows) + } else if (parsed.WindowsChanged) { + _handleWindowsChanged(parsed.WindowsChanged.windows) + } else if (parsed.WindowOpenedOrChanged) { + _handleWindowOpenedOrChanged(parsed.WindowOpenedOrChanged.window) + } else if (parsed.WindowClosed) { + delete _windows[parsed.WindowClosed.id] + _updateFullscreen() + } else if (parsed.WindowFocusChanged) { + _focusedWindowId = parsed.WindowFocusChanged.id + _updateFullscreen() + } else if (parsed.WindowLayoutsChanged) { + _handleLayoutsChanged(parsed.WindowLayoutsChanged.changes) + } + } + + function _handleWindowsChanged(windows) { + _windows = {} + for (const w of windows) { + _windows[w.id] = w + if (w.is_focused) _focusedWindowId = w.id + } + _updateFullscreen() + } + + function _handleWindowOpenedOrChanged(window) { + _windows[window.id] = window + if (window.is_focused) _focusedWindowId = window.id + _updateFullscreen() + } + + function _handleLayoutsChanged(changes) { + for (const [id, layout] of changes) { + if (_windows[id]) { + _windows[id].layout = layout + } + } + _updateFullscreen() + } + + function _updateFullscreen() { + if (_focusedWindowId === null) { + isFullscreen = false + return + } + + const focusedWindow = _windows[_focusedWindowId] + if (!focusedWindow || !focusedWindow.layout) { + isFullscreen = false + return + } + + const layout = focusedWindow.layout + const tileSize = layout.tile_size + + if (!tileSize || !_screenSize) { + isFullscreen = false + return + } + + // heuristic: if tile covers full screen dimensions, it's fullscreen + // allow small tolerance for floating point/rounding + const tolerance = 2 + const coversWidth = tileSize[0] >= (_screenSize.width - tolerance) + const coversHeight = tileSize[1] >= (_screenSize.height - tolerance) + + isFullscreen = coversWidth && coversHeight + } + + function setScreenSize(width, height) { + _screenSize = { width: width, height: height } + _updateFullscreen() + } + + Component.onCompleted: { + niriSocket.connected = true + } +} diff --git a/user/quickshell/NiriWorkspacesLoader.qml b/user/quickshell/NiriWorkspacesLoader.qml new file mode 100644 index 00000000..2e8d7cc9 --- /dev/null +++ b/user/quickshell/NiriWorkspacesLoader.qml @@ -0,0 +1,104 @@ +import QtQuick +import Quickshell +import Quickshell.Io + +Item { + id: root + + width: workspacesRow.width + height: workspacesRow.height + + property ListModel workspaces: ListModel {} + + Component.onCompleted: { + niriSocket.connected = true + } + + Socket { + id: niriSocket + path: Quickshell.env("NIRI_SOCKET") + connected: false + + onConnectedChanged: { + if (connected) { + write(JSON.stringify("EventStream") + "\n") + flush() + write(JSON.stringify("Workspaces") + "\n") + flush() + } + } + + parser: SplitParser { + onRead: data => { + try { + const parsed = JSON.parse(data.trim()) + + if (parsed.Ok && parsed.Ok.Workspaces) { + recollectWorkspaces(parsed.Ok.Workspaces) + } else if (parsed.WorkspacesChanged) { + recollectWorkspaces(parsed.WorkspacesChanged.workspaces) + } else if (parsed.WorkspaceActivated) { + niriSocket.write(JSON.stringify("Workspaces") + "\n") + niriSocket.flush() + } + } catch (e) { + console.error("NiriWorkspaces: parse error", e, data) + } + } + } + } + + function recollectWorkspaces(workspacesData) { + const list = [] + for (const ws of workspacesData) { + list.push({ + "id": ws.id, + "idx": ws.idx, + "name": ws.name || "", + "output": ws.output || "", + "isFocused": ws.is_focused === true, + "isActive": ws.is_active === true + }) + } + list.sort((a, b) => { + if (a.output !== b.output) return a.output.localeCompare(b.output) + return a.idx - b.idx + }) + + workspaces.clear() + for (var i = 0; i < list.length; i++) { + workspaces.append(list[i]) + } + } + + function focusWorkspace(idx) { + Quickshell.execDetached(["niri", "msg", "action", "focus-workspace", idx.toString()]) + } + + Row { + id: workspacesRow + spacing: 0 + + Repeater { + model: workspaces + + Text { + required property int index + property var ws: workspaces.get(index) + + text: "[" + (ws ? ws.idx : "") + "]" + color: ws && ws.isFocused ? "#d1d5db" : "#6b7280" + font.family: "Berkeley Mono" + font.pixelSize: 24 + font.bold: ws ? ws.isFocused : false + + MouseArea { + anchors.fill: parent + onClicked: { + if (ws) root.focusWorkspace(ws.idx) + } + } + } + } + } +} diff --git a/user/quickshell/NotificationItem.qml b/user/quickshell/NotificationItem.qml new file mode 100644 index 00000000..4e101cee --- /dev/null +++ b/user/quickshell/NotificationItem.qml @@ -0,0 +1,153 @@ +import QtQuick +import QtQuick.Layouts +import Quickshell.Services.Notifications + +Item { + id: root + + required property Notification notification + required property bool isLast + + property int padding: 16 + + signal dismissed() + signal expired() + + implicitWidth: parent.width + implicitHeight: contentLayout.implicitHeight + padding * 2 + + Rectangle { + anchors.fill: parent + color: "transparent" + bottomLeftRadius: 8 + clip: true + } + + ColumnLayout { + id: contentLayout + anchors.fill: parent + anchors.margins: root.padding + spacing: 0 + + RowLayout { + Layout.fillWidth: true + spacing: 0 + + Text { + text: root.notification.summary || "notification" + color: "#ffffff" + font.family: "Berkeley Mono" + font.pixelSize: 14 + font.weight: Font.Medium + elide: Text.ElideRight + Layout.fillWidth: true + } + + Text { + id: dismissButton + text: "×" + color: dismissMouse.containsMouse ? "#ffffff" : "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 16 + font.weight: Font.Normal + + Behavior on color { + ColorAnimation { duration: 150; easing.type: Easing.OutQuint } + } + + MouseArea { + id: dismissMouse + anchors.fill: parent + anchors.margins: -4 + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + root.notification.dismiss() + root.dismissed() + } + } + } + } + + Text { + text: root.notification.body + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 12 + font.weight: Font.Normal + wrapMode: Text.WordWrap + lineHeight: 1.4 + Layout.fillWidth: true + visible: text.length > 0 + maximumLineCount: 3 + elide: Text.ElideRight + } + + Text { + text: root.notification.appName + color: "#4b5563" + font.family: "Berkeley Mono" + font.pixelSize: 11 + font.weight: Font.Normal + elide: Text.ElideRight + Layout.fillWidth: true + visible: text.length > 0 + } + + RowLayout { + Layout.fillWidth: true + Layout.topMargin: 4 + spacing: 8 + visible: root.notification.actions.length > 0 + + Repeater { + model: root.notification.actions + + Rectangle { + required property NotificationAction modelData + + implicitWidth: actionText.implicitWidth + 12 + implicitHeight: actionText.implicitHeight + 6 + color: actionMouse.containsMouse ? "#1f2937" : "transparent" + border.width: 1 + border.color: actionMouse.containsMouse ? "#374151" : "#1f2937" + radius: 4 + + Behavior on color { + ColorAnimation { duration: 150; easing.type: Easing.OutQuint } + } + + Behavior on border.color { + ColorAnimation { duration: 150; easing.type: Easing.OutQuint } + } + + Text { + id: actionText + anchors.centerIn: parent + text: modelData.text + color: "#9ca3af" + font.family: "Berkeley Mono" + font.pixelSize: 11 + } + + MouseArea { + id: actionMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: modelData.invoke() + } + } + } + } + } + + Timer { + interval: root.notification.expireTimeout > 0 ? root.notification.expireTimeout : 5000 + running: true + onTriggered: { + root.notification.expire() + root.expired() + } + } +} diff --git a/user/quickshell/NotificationPopups.qml b/user/quickshell/NotificationPopups.qml new file mode 100644 index 00000000..4e53f2cd --- /dev/null +++ b/user/quickshell/NotificationPopups.qml @@ -0,0 +1,277 @@ +import QtQuick +import QtQuick.Shapes +import Quickshell +import Quickshell.Wayland +import Quickshell.Services.Notifications + +PanelWindow { + id: popup + + required property var screen + property int barHeight: 30 + property int popupWidth: 320 + property int cornerRadius: 8 + property int wmGap: 8 + + property int enterDuration: 200 + property int exitDuration: 150 + + property int maxHeight: screen.height - barHeight - wmGap - cornerRadius + + property list<QtObject> notifications: [] + readonly property int notificationCount: notifications.length + readonly property bool hasNotifications: notificationCount > 0 + + anchors { + top: true + right: true + } + + implicitWidth: hasNotifications ? popupWidth + cornerRadius : 1 + implicitHeight: hasNotifications ? Math.min(contentContainer.height + cornerRadius, maxHeight) : 1 + + color: "transparent" + + WlrLayershell.layer: WlrLayer.Overlay + WlrLayershell.namespace: "quickshell-notifications" + + margins.top: 0 + + exclusiveZone: 0 + + mask: Region { + item: hasNotifications ? contentMask : emptyMask + } + + Item { + id: emptyMask + width: 0 + height: 0 + } + + Item { + id: contentMask + x: 0 + y: 0 + width: popup.implicitWidth + height: popup.implicitHeight + } + + visible: true + + component NotifWrapper: QtObject { + required property Notification notification + property bool removing: false + + function remove(): void { + if (removing) return + removing = true + popup.notifications = popup.notifications.filter(n => n !== this) + } + + function dismiss(): void { + if (notification) { + notification.dismiss() + } + destroy() + } + } + + NotificationServer { + id: notifServer + bodySupported: true + actionsSupported: true + imageSupported: true + + onNotification: notification => { + notification.tracked = true + const wrapper = wrapperComponent.createObject(popup, { notification: notification }) + popup.notifications = [wrapper, ...popup.notifications] + } + } + + Component { + id: wrapperComponent + NotifWrapper {} + } + + Item { + id: contentContainer + visible: popup.hasNotifications + anchors.top: parent.top + anchors.right: parent.right + width: popupWidth + cornerRadius + height: surface.height + cornerRadius + + // Top-left corner: concave rounded ┐ + Shape { + id: topLeftCorner + x: 0 + y: 0 + width: cornerRadius + height: cornerRadius + + ShapePath { + strokeWidth: -1 + fillColor: "#000000" + + startX: cornerRadius + startY: 0 + + PathLine { relativeX: 0; relativeY: cornerRadius } + + PathArc { + relativeX: -cornerRadius + relativeY: -cornerRadius + radiusX: cornerRadius + radiusY: cornerRadius + direction: PathArc.Counterclockwise + } + } + } + // bottom-right corner: concave rounded ┐ + Shape { + id: bottomRightCorner + x: 0 + y: 0 + width: cornerRadius + height: cornerRadius + + ShapePath { + strokeWidth: -1 + fillColor: "#000000" + + startX: popupWidth + cornerRadius - 1 + startY: surface.height + + PathLine { relativeX: 0; relativeY: cornerRadius } + + PathArc { + relativeX: -cornerRadius + relativeY: -cornerRadius + radiusX: cornerRadius + radiusY: cornerRadius + direction: PathArc.Counterclockwise + } + } + } + + // Main notification surface + Rectangle { + id: surface + x: cornerRadius + y: 0 + width: popupWidth + height: notificationList.contentHeight > 0 ? Math.min(notificationList.contentHeight - popup.cornerRadius, popup.maxHeight - popup.cornerRadius) : 0 + color: "#000000" + clip: true + bottomLeftRadius: cornerRadius + + Behavior on height { + NumberAnimation { + duration: popup.exitDuration + easing.type: Easing.OutQuint + } + } + + ListView { + id: notificationList + anchors.fill: parent + model: popup.notifications + spacing: 0 + interactive: false + + delegate: Item { + id: delegateWrapper + required property QtObject modelData + required property int index + + width: notificationList.width + height: notifItem.height + opacity: 1 + x: 0 + + ListView.onRemove: removeAnim.start() + + SequentialAnimation { + id: removeAnim + + PropertyAction { + target: delegateWrapper + property: "ListView.delayRemove" + value: true + } + ParallelAnimation { + NumberAnimation { + target: delegateWrapper + property: "opacity" + to: 0 + duration: popup.exitDuration + easing.type: Easing.OutQuint + } + NumberAnimation { + target: delegateWrapper + property: "x" + to: popup.popupWidth + duration: popup.exitDuration + easing.type: Easing.OutQuint + } + NumberAnimation { + target: delegateWrapper + property: "height" + to: 0 + duration: popup.exitDuration + easing.type: Easing.OutQuint + } + } + ScriptAction { + script: delegateWrapper.modelData.dismiss() + } + PropertyAction { + target: delegateWrapper + property: "ListView.delayRemove" + value: false + } + } + + NotificationItem { + id: notifItem + notification: delegateWrapper.modelData.notification + width: parent.width + isLast: delegateWrapper.index === popup.notificationCount - 1 + + onDismissed: delegateWrapper.modelData.remove() + onExpired: delegateWrapper.modelData.remove() + } + } + + add: Transition { + ParallelAnimation { + NumberAnimation { + property: "opacity" + from: 0 + to: 1 + duration: popup.enterDuration + easing.type: Easing.OutQuint + } + NumberAnimation { + property: "x" + from: popup.popupWidth + to: 0 + duration: popup.enterDuration + easing.type: Easing.OutQuint + } + } + } + + displaced: Transition { + NumberAnimation { + property: "y" + duration: popup.exitDuration + easing.type: Easing.OutQuint + } + } + } + } + } +} diff --git a/user/quickshell/ScreenCorners.qml b/user/quickshell/ScreenCorners.qml new file mode 100644 index 00000000..51f9379f --- /dev/null +++ b/user/quickshell/ScreenCorners.qml @@ -0,0 +1,134 @@ +import Quickshell +import Quickshell.Wayland +import QtQuick + +PanelWindow { + id: corners + + required property var screen + + property int cornerRadius: 8 + property color cornerColor: "#000000" + + anchors { + top: true + bottom: true + left: true + right: true + } + + color: "transparent" + + WlrLayershell.layer: WlrLayer.Overlay + WlrLayershell.namespace: "quickshell-corners" + + exclusiveZone: 0 + + // Input mask: pass through everything except the 4 corner regions + mask: Region { + item: Item {} + + regions: [ + // Top-left corner + Region { x: 0; y: 0; width: cornerRadius; height: cornerRadius }, + // Top-right corner + Region { x: corners.width - cornerRadius; y: 0; width: cornerRadius; height: cornerRadius }, + // Bottom-left corner + Region { x: 0; y: corners.height - cornerRadius; width: cornerRadius; height: cornerRadius }, + // Bottom-right corner + Region { x: corners.width - cornerRadius; y: corners.height - cornerRadius; width: cornerRadius; height: cornerRadius } + ] + } + + // Top-left corner + Canvas { + id: topLeftCorner + x: 0 + y: 0 + width: cornerRadius + height: cornerRadius + + onPaint: { + var ctx = getContext("2d") + ctx.clearRect(0, 0, width, height) + ctx.fillStyle = cornerColor + ctx.beginPath() + ctx.moveTo(0, 0) + ctx.lineTo(cornerRadius, 0) + ctx.arcTo(0, 0, 0, cornerRadius, cornerRadius) + ctx.lineTo(0, 0) + ctx.fill() + } + + Component.onCompleted: requestPaint() + } + + // Top-right corner + Canvas { + id: topRightCorner + x: parent.width - cornerRadius + y: 0 + width: cornerRadius + height: cornerRadius + + onPaint: { + var ctx = getContext("2d") + ctx.clearRect(0, 0, width, height) + ctx.fillStyle = cornerColor + ctx.beginPath() + ctx.moveTo(cornerRadius, 0) + ctx.lineTo(0, 0) + ctx.arcTo(cornerRadius, 0, cornerRadius, cornerRadius, cornerRadius) + ctx.lineTo(cornerRadius, 0) + ctx.fill() + } + + Component.onCompleted: requestPaint() + } + + // Bottom-left corner + Canvas { + id: bottomLeftCorner + x: 0 + y: parent.height - cornerRadius + width: cornerRadius + height: cornerRadius + + onPaint: { + var ctx = getContext("2d") + ctx.clearRect(0, 0, width, height) + ctx.fillStyle = cornerColor + ctx.beginPath() + ctx.moveTo(0, cornerRadius) + ctx.lineTo(0, 0) + ctx.arcTo(0, cornerRadius, cornerRadius, cornerRadius, cornerRadius) + ctx.lineTo(0, cornerRadius) + ctx.fill() + } + + Component.onCompleted: requestPaint() + } + + // Bottom-right corner + Canvas { + id: bottomRightCorner + x: parent.width - cornerRadius + y: parent.height - cornerRadius + width: cornerRadius + height: cornerRadius + + onPaint: { + var ctx = getContext("2d") + ctx.clearRect(0, 0, width, height) + ctx.fillStyle = cornerColor + ctx.beginPath() + ctx.moveTo(cornerRadius, cornerRadius) + ctx.lineTo(cornerRadius, 0) + ctx.arcTo(cornerRadius, cornerRadius, 0, cornerRadius, cornerRadius) + ctx.lineTo(cornerRadius, cornerRadius) + ctx.fill() + } + + Component.onCompleted: requestPaint() + } +} diff --git a/user/quickshell/shell.qml b/user/quickshell/shell.qml new file mode 100644 index 00000000..696c0a64 --- /dev/null +++ b/user/quickshell/shell.qml @@ -0,0 +1,101 @@ +import Quickshell +import Quickshell.Wayland +import Quickshell.Io +import QtQuick + +ShellRoot { + id: root + + property alias niriState: _niriState + property bool controlCenterOpen: false + property bool barVisible: false + + NiriState { + id: _niriState + } + + IpcHandler { + target: "control-center" + + function toggleControlCenter(): void { + root.controlCenterOpen = !root.controlCenterOpen + } + + function open(): void { + root.controlCenterOpen = true + } + + function close(): void { + root.controlCenterOpen = false + } + } + + IpcHandler { + target: "bar" + + function toggle(): void { + root.barVisible = !root.barVisible + } + + function show(): void { + root.barVisible = true + } + + function hide(): void { + root.barVisible = false + } + } + + Variants { + model: Quickshell.screens + + Bar { + required property var modelData + screen: modelData + niriState: root.niriState + controlCenterOpen: root.controlCenterOpen + barVisible: root.barVisible + onControlCenterToggled: root.controlCenterOpen = !root.controlCenterOpen + } + } + + Variants { + model: Quickshell.screens + + ControlCenterBackdrop { + required property var modelData + screen: modelData + isOpen: root.controlCenterOpen + onClicked: root.controlCenterOpen = false + } + } + + Variants { + model: Quickshell.screens + + ControlCenter { + required property var modelData + screen: modelData + isOpen: root.controlCenterOpen + } + } + + Variants { + model: Quickshell.screens + + ScreenCorners { + required property var modelData + screen: modelData + } + } + + Variants { + model: Quickshell.screens + + NotificationPopups { + required property var modelData + screen: modelData + } + } + +} diff --git a/user/scripts/toggle-theme.nix b/user/scripts/toggle-theme.nix new file mode 100644 index 00000000..ba1ab11b --- /dev/null +++ b/user/scripts/toggle-theme.nix @@ -0,0 +1,15 @@ +{ pkgs }: + +# toggle-theme script with proper environment setup for hyprland/nixos +# gsettings requires DBUS_SESSION_BUS_ADDRESS and XDG_DATA_DIRS to work +# from contexts without full session environment (like hyprland's exec) +pkgs.writeShellScriptBin "toggle-theme" '' + export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus" + export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}''${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}" + current=$(${pkgs.glib}/bin/gsettings get org.gnome.desktop.interface color-scheme) + if [ "$current" = "'prefer-dark'" ]; then + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-light + else + ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface color-scheme prefer-dark + fi +'' diff --git a/user/sdkman.nix b/user/sdkman.nix new file mode 100644 index 00000000..c0d358c4 --- /dev/null +++ b/user/sdkman.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + programs.zsh.initContent = '' + # sdkman (lazy-load on first use) + if [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]]; then + export SDKMAN_DIR="$HOME/.sdkman" + sdk() { + unfunction sdk + source "$HOME/.sdkman/bin/sdkman-init.sh" + sdk "$@" + } + fi + ''; + }; +} diff --git a/user/shell.nix b/user/shell.nix index acf42866..b9a16476 100644 --- a/user/shell.nix +++ b/user/shell.nix @@ -1,230 +1,215 @@ -{ lib, hostSystem ? null, ... }: -let - isDarwin = lib.hasInfix "darwin" hostSystem; -in +{ lib, ... }: { - home-manager.users.bdsqqq = { config, ... }: { - xdg.enable = true; - xdg.userDirs = if isDarwin then {} else { - enable = true; - createDirectories = true; - download = "${config.home.homeDirectory}/commonplace/00_inbox"; - documents = "${config.home.homeDirectory}/commonplace/00_inbox"; - pictures = "${config.home.homeDirectory}/commonplace/00_inbox"; - music = "${config.home.homeDirectory}/commonplace/00_inbox"; - videos = "${config.home.homeDirectory}/commonplace/00_inbox"; - desktop = "${config.home.homeDirectory}/Desktop"; - templates = "${config.home.homeDirectory}/Templates"; - publicShare = "${config.home.homeDirectory}/Public"; - }; - # directory scaffolding and global ripgrep ignore - home.file = { - "commonplace/00_inbox/.keep".text = ""; - "commonplace/01_files/.keep".text = ""; - "commonplace/02_temp/.keep".text = ""; - - ".rgignore".text = '' - # version control systems - **/.git/ - **/.github/ - **/.svn/ - **/.hg/ - **/.gitmodules - - # package managers and dependencies - **/node_modules/ - **/.pnpm/ - **/.pnpm-store/ - **/.yarn/ - **/.npm/ - **/bun/ - **/.bun/ - **/go/pkg/ - **/go/bin/ - **/.cargo/ - **/target/ - **/.stack/ - **/.gradle/ - - # build outputs and caches - **/dist/ - **/build/ - **/out/ - **/coverage/ - **/.next/ - **/.nuxt/ - **/.astro/ - **/.vite/ - **/.parcel-cache/ - **/.cache/ - **/cache/ - **/.turbo/ - **/.vercel/ - **/.netlify/ - **/.million/ - **/generated/ - - # development tools and editors - **/.vscode/ - **/.idea/ - **/.changeset/ - **/.storybook/ - **/.svelte-kit/ - **/.pytest_cache/ - **/.mypy_cache/ - **/.tox/ - **/.venv/ - **/.direnv/ - **/.expo/ - **/.angular/ - - # os-specific files - **/.DS_Store - **/Thumbs.db - **/desktop.ini - **/.Spotlight-V100/ - **/.Trashes/ - **/.fseventsd/ - - # temporary and log files - **/tmp/ - **/temp/ - **/*.tmp - **/*.temp - **/*.log - *.log - **/*.swp - **/*.swo - **/*~ - - # build artifacts and binaries - **/*.o - **/*.obj - **/*.exe - **/*.dll - **/*.so - **/*.dylib - **/*.a - **/*.woff - **/*.woff2 - **/*.otf - **/*.ttf - **/*.eot - - # minified files and source maps - **/*.min.js - **/*.min.css - **/*.map - - # lock files - **/package-lock.json - **/yarn.lock - **/pnpm-lock.yaml - **/Cargo.lock - **/go.sum - **/*.lock - - # binary/media files (performance) - **/*.vst - **/*.vst3 - **/*.component - **/*.mcmeta - - # syncthing and backup files - **/.stfolder/ - **/.stversions/ - **/.stignore - **/rclone_*.log - **/rclone_*.txt - - # obsidian vault internals - **/.obsidian/ - - # nix build artifacts - **/result/ - **/result-* - - # project-specific patterns (from commonplace setup) - pack-toolbox/temp/ - */assets/minecraft/textures/ - ''; + home-manager.users.bdsqqq = { config, pkgs, lib, ... }: { + # define my.defaultShell option here, derived from enabled shell programs + # other modules (tmux, etc.) can reference config.my.defaultShell + options.my.defaultShell = lib.mkOption { + type = lib.types.package; + default = + if config.programs.zsh.enable then config.programs.zsh.package + else if config.programs.fish.enable then config.programs.fish.package + else pkgs.bash; + description = "Default shell package, derived from whichever shell is enabled"; }; - programs = { - zsh = { + config = { + xdg.enable = true; + xdg.userDirs = if pkgs.stdenv.isDarwin then {} else { + enable = true; + createDirectories = true; + download = "${config.home.homeDirectory}/commonplace/00_inbox"; + documents = "${config.home.homeDirectory}/commonplace/00_inbox"; + pictures = "${config.home.homeDirectory}/commonplace/00_inbox"; + music = "${config.home.homeDirectory}/commonplace/00_inbox"; + videos = "${config.home.homeDirectory}/commonplace/00_inbox"; + desktop = "${config.home.homeDirectory}/Desktop"; + templates = "${config.home.homeDirectory}/Templates"; + publicShare = "${config.home.homeDirectory}/Public"; + }; + + xdg.mimeApps = let + browser = "app.zen_browser.zen.desktop"; # flatpak + imageViewer = "imv.desktop"; + videoPlayer = "vlc.desktop"; + fileManager = "yazi.desktop"; + in if pkgs.stdenv.isDarwin then {} else { enable = true; - initContent = '' - # homebrew shellenv (darwin only) - if [[ "$(uname)" == "Darwin" ]]; then - if command -v brew >/dev/null 2>&1; then - eval "$(/opt/homebrew/bin/brew shellenv)" - fi - fi - - # bun (if installed) - if command -v bun >/dev/null 2>&1; then - export BUN_INSTALL="$HOME/.bun" - export PATH="$BUN_INSTALL/bin:$PATH" - fi - - # sdkman (if installed) - if [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]]; then - export SDKMAN_DIR="$HOME/.sdkman" - source "$HOME/.sdkman/bin/sdkman-init.sh" - fi + defaultApplications = { + # browser + "text/html" = browser; + "x-scheme-handler/http" = browser; + "x-scheme-handler/https" = browser; + "x-scheme-handler/about" = browser; + "x-scheme-handler/unknown" = browser; + + # images + "image/png" = imageViewer; + "image/jpeg" = imageViewer; + "image/gif" = imageViewer; + "image/webp" = imageViewer; + "image/svg+xml" = imageViewer; + "image/bmp" = imageViewer; + "image/tiff" = imageViewer; + + # video + "video/mp4" = videoPlayer; + "video/webm" = videoPlayer; + "video/x-matroska" = videoPlayer; + + # file manager + "inode/directory" = fileManager; + }; + }; + + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + }; + + # directory scaffolding and global ripgrep ignore + home.file = { + "commonplace/00_inbox/.keep".text = ""; + "commonplace/01_files/.keep".text = ""; + "commonplace/02_temp/.keep".text = ""; + + ".rgignore".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/commonplace/01_files/nix/config/rgignore"; + + # syncthing ignore (symlinked so all nix-managed devices share the same config) + "commonplace/.stignore".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/commonplace/01_files/nix/config/stignore"; + }; + + programs = { + zsh = { + enable = true; + dotDir = "${config.xdg.configHome}/zsh"; + history = { + path = "${config.home.homeDirectory}/commonplace/01_files/.zsh_history"; + size = 100000; + save = 100000; + extended = true; + share = true; + ignoreDups = true; + ignoreAllDups = true; + ignoreSpace = true; + }; + initContent = '' + export AMI_INSTALL="$HOME/.ami" + export PATH="$AMI_INSTALL/bin:$PATH" + export GH_TOKEN="$(cat /run/secrets/gh_token 2>/dev/null || echo "$GH_TOKEN")" + export AMP_API_KEY="$(cat /run/secrets/AMP_API_KEY 2>/dev/null || echo "$AMP_API_KEY")" + export HF_TOKEN="$(cat /run/secrets/hf_token 2>/dev/null || echo "$HF_TOKEN")" autoload -Uz compinit - () { - if [[ $# -gt 0 ]]; then - compinit -C - else - compinit -C -d "$HOME/.zcompdump-''${HOST}-''${ZSH_VERSION}" - fi - } ''${ZDOTDIR:-$HOME}/.zcompdump(N.mh+24) - - # show hidden files in globbing - setopt GLOB_DOTS - - # fzf defaults - export FZF_DEFAULT_COMMAND='rg --files --hidden --follow' - export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" - export FZF_DEFAULT_OPTS='--height=40% --layout=reverse --border' - - # prompt (minimal) - autoload -U colors && colors - setopt PROMPT_SUBST - - git_branch() { - local b dirty="" - b=$(git symbolic-ref --short HEAD 2>/dev/null) || b=$(git rev-parse --short HEAD 2>/dev/null) || return - if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then - dirty="$fg[white]*%f" - fi - print -r -- "[$b]$dirty" - } - - PROMPT='%{$fg_bold[white]%}⁂ %c%{$reset_color%}$(git_branch) + () { + if [[ $# -gt 0 ]]; then + compinit -C + else + compinit -C -d "$HOME/.zcompdump-''${HOST}-''${ZSH_VERSION}" + fi + } ''${ZDOTDIR:-$HOME}/.zcompdump(N.mh+24) + + # show hidden files in globbing + setopt GLOB_DOTS + + # record metadata in history using logfmt format + zshaddhistory() { + local cmd="''${1%%$'\n'}" + # strip existing tag if present (handles re-executed recalled commands) + cmd="''${cmd% # *=*}" + + # skip trivial commands (return 2 = don't save, don't error) + [[ "$cmd" =~ ^[[:space:]]*(exit|ls|ll|l|bg|fg|history|clear|c|cd|pwd|\.\.)$ ]] && return 2 + + # get dir basename (like prompt %c) + local dir="''${PWD:t}" + # quote dir if it contains spaces or special chars + if [[ "$dir" =~ [[:space:]=\"\'] ]]; then + dir="\"''${dir//\"/\\\"}\"" + fi + + local tag="user=''${USER} host=''${HOST} dir=''${dir}" + + # add agent info if running in agent context + if [[ -n "$AGENT" && -n "$AGENT_THREAD_ID" ]]; then + local short_thread="''${AGENT_THREAD_ID##*-}" + short_thread="''${short_thread:0:8}" + tag="user=''${USER} agent=''${AGENT} thread=''${short_thread} host=''${HOST} dir=''${dir}" + fi + + print -sr -- "''${cmd} # ''${tag}" + return 1 # prevent default history add + } + + # prompt (minimal with async git) + autoload -U colors && colors + setopt PROMPT_SUBST + + typeset -g _git_prompt_info="" + typeset -g _git_prompt_fd=0 + + _git_prompt_done() { + local fd=$1 + _git_prompt_info="$(<&$fd)" + zle -F $fd + exec {fd}>&- + _git_prompt_fd=0 + zle && zle reset-prompt + } + + _async_git_prompt() { + # close previous fd if still open + (( _git_prompt_fd )) && { zle -F $_git_prompt_fd; exec {_git_prompt_fd}>&-; } + + # start async job, open fd to read output + exec {_git_prompt_fd}< <( + local b dirty="" + b=$(git symbolic-ref --short HEAD 2>/dev/null) || b=$(git rev-parse --short HEAD 2>/dev/null) || exit 0 + if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then + dirty="*" + fi + print -r -- "[$b]$dirty" + ) + + # register callback for when data is ready + zle -F $_git_prompt_fd _git_prompt_done + } + + precmd_functions+=(_async_git_prompt) + + # auto-reload shell when nix generation changes + typeset -g _nix_gen_cached="" + _nix_gen_check() { + local gen_file="/run/current-system/sw/darwin-version" + local current=$(cat "$gen_file" 2>/dev/null) + if [[ -n "$_nix_gen_cached" && -n "$current" && "$current" != "$_nix_gen_cached" ]]; then + exec zsh + fi + _nix_gen_cached="$current" + } + precmd_functions+=(_nix_gen_check) + + # strip logfmt tag from history recall (up arrow) + _strip_history_tag() { + zle up-line-or-history + BUFFER="''${BUFFER% \# *=*}" + } + zle -N up-line-or-history-clean _strip_history_tag + bindkey '^[[A' up-line-or-history-clean # up arrow + bindkey '^[OA' up-line-or-history-clean # up arrow (alternate) + + PROMPT='%{$fg_bold[white]%}⁂ %c%{$reset_color%}$_git_prompt_info %{$fg[white]%}└ %{$reset_color%}' - ''; - shellAliases = { - l = "ls -lah"; - ll = "ls -l"; - cd = "z"; - c = "clear"; + ''; }; }; - fzf = { - enable = true; - enableZshIntegration = true; + home.shellAliases = { + l = "ls -lah"; + ll = "ls -l"; + c = "clear"; }; - zoxide = { - enable = true; - enableZshIntegration = true; - }; + }; }; } - - diff --git a/user/spicetify.nix b/user/spicetify.nix new file mode 100644 index 00000000..14af58a9 --- /dev/null +++ b/user/spicetify.nix @@ -0,0 +1,188 @@ +{ lib, pkgs, inputs, hostSystem ? null, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + isLinux = lib.hasInfix "linux" hostSystem; + + # Vesper theme files (shared across platforms) + vesperColorIni = '' + [Vesper] + text = FFFFFF + subtext = A0A0A0 + main = 101010 + main-elevated = 101010 + highlight = 161616 + highlight-elevated = 161616 + sidebar = 101010 + player = 101010 + card = 161616 + shadow = 101010 + selected-row = FFFFFF + button = A0A0A0 + button-active = FFC799 + button-disabled = 505050 + tab-active = 161616 + notification = 101010 + notification-error = B54548 + misc = 505050 + ''; + + vesperUserCss = '' + @import url("https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap"); + * { font-family: "Geist mono", monospace !important; } + + .main-globalNav-searchSection { justify-content: flex-start; position: unset; } + .e-9812-form-input-icon__icon { color: var(--spice-misc) !important; left: 14px !important; } + .M9l40ptEBXPm03dU3X1k { height: 24px; width: 24px; padding: 0 !important; } + .IYex0sXu8fnCz1FqFbRe, .BV0jjn_h5TtMMl8YKuZ0 { display: none; } + .GenericModal__overlay { padding-top: 8px; padding-left: 304px; background-color: unset; align-items: unset; justify-content: unset; } + .N9tnwm0XDrt_eGJd2D2A { gap: 0.75rem; background-color: var(--spice-main-elevated); height: auto; } + .zZMsUUWG29PYcwWPXhOV { padding: 0; } + .search-modal-searchIcon { color: var(--spice-misc) !important; } + .search-modal-searchBar { background-color: var(--spice-tab-active) !important; } + .search-modal-input { color: var(--spice-text) !important; } + .search-modal-keyboard-accessibility-bar { display: none; } + ''; + + hoverCss = '' + :root { + --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1); + --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1); + --hoverable-area: 16px; + } + #Desktop_LeftSidebar_Id { + --offset: calc(calc(var(--left-sidebar-width) * 1px) - var(--hoverable-area)); + position: absolute; height: 100%; opacity: 0; + left: calc(var(--offset) * -1); + transition-property: left, opacity; + transition-duration: 300ms; + transition-timing-function: var(--ease-in-out-cubic); + transition-delay: 150ms; + } + #Desktop_LeftSidebar_Id:focus-within, + #Desktop_LeftSidebar_Id:has(.LayoutResizer__resize-bar--resizing), + #Desktop_LeftSidebar_Id:hover { + left: 0; opacity: 1; + transition-duration: 150ms; + transition-timing-function: var(--ease-out-cubic); + transition-delay: 50ms; + } + ''; + + vesperManifest = builtins.toJSON { + name = "Vesper"; + description = "Peppermint and orange flavored dark theme for Spotify"; + preview = "vesper.png"; + readme = "README.md"; + usercss = "user.css"; + schemes = "color.ini"; + authors = [{ name = "bdsqqq"; url = "https://github.com/bdsqqq"; }]; + tags = ["dark" "minimal"]; + }; +in +if isDarwin then { + # Darwin: manual spicetify-cli + declarative theme files + # (spicetify-nix darwin support is broken upstream) + home-manager.users.bdsqqq = { lib, ... }: { + home.packages = [ pkgs.spicetify-cli ]; + + home.file = { + ".config/spicetify/Themes/Vesper/color.ini" = { + force = true; + text = vesperColorIni; + }; + ".config/spicetify/Themes/Vesper/user.css" = { + force = true; + text = vesperUserCss + "\n\n" + hoverCss; + }; + ".config/spicetify/Themes/Vesper/manifest.json" = { + force = true; + text = vesperManifest; + }; + }; + + home.activation.spicetify = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + if command -v spicetify >/dev/null 2>&1; then + $DRY_RUN_CMD spicetify backup 2>/dev/null || true + $DRY_RUN_CMD spicetify config current_theme Vesper + $DRY_RUN_CMD spicetify config color_scheme Vesper + $DRY_RUN_CMD spicetify config inject_css 1 + $DRY_RUN_CMD spicetify config replace_colors 1 + $DRY_RUN_CMD spicetify config custom_apps marketplace + + # Install marketplace if missing + if [ ! -d "$HOME/.config/spicetify/CustomApps/marketplace" ]; then + $VERBOSE_ECHO "Installing spicetify marketplace..." + $DRY_RUN_CMD curl -fsSL https://raw.githubusercontent.com/spicetify/spicetify-marketplace/main/resources/install.sh | sh || true + fi + + $DRY_RUN_CMD spicetify apply 2>/dev/null || true + fi + ''; + }; +} else if isLinux then { + # Linux: use spicetify-nix module + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "spotify" ]; + + home-manager.users.bdsqqq = let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; + + vesperThemeDir = pkgs.runCommand "vesper-theme" {} '' + mkdir -p $out + cp ${pkgs.writeText "color.ini" vesperColorIni} $out/color.ini + cp ${pkgs.writeText "user.css" (vesperUserCss + "\n\n" + hoverCss)} $out/user.css + cp ${pkgs.writeText "manifest.json" vesperManifest} $out/manifest.json + ''; + in { + imports = [ inputs.spicetify-nix.homeManagerModules.default ]; + + programs.spicetify = { + enable = true; + + theme = lib.mkForce { + name = "Vesper"; + src = vesperThemeDir; + }; + + colorScheme = lib.mkForce "Vesper"; + customColorScheme = { + text = "FFFFFF"; + subtext = "A0A0A0"; + main = "101010"; + main-elevated = "101010"; + highlight = "161616"; + highlight-elevated = "161616"; + sidebar = "101010"; + player = "101010"; + card = "161616"; + shadow = "101010"; + selected-row = "FFFFFF"; + button = "A0A0A0"; + button-active = "FFC799"; + button-disabled = "505050"; + tab-active = "161616"; + notification = "101010"; + notification-error = "B54548"; + misc = "505050"; + }; + + enabledSnippets = with spicePkgs.snippets; [ + fixedEpisodesIcon + fixDjIcon + fixLikedIcon + fixLikedButton + fixNowPlayingIcon + prettyLyrics + removeTopSpacing + roundedImages + ]; + + enabledExtensions = with spicePkgs.extensions; [ + oneko + ]; + + enabledCustomApps = with spicePkgs.apps; [ + marketplace + ]; + }; + }; +} else {} diff --git a/user/tmux.nix b/user/tmux.nix new file mode 100644 index 00000000..3dd127b5 --- /dev/null +++ b/user/tmux.nix @@ -0,0 +1,213 @@ +{ lib, hostSystem ? null, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + copyCommand = if isDarwin then "pbcopy" else "wl-copy"; +in +{ + home-manager.users.bdsqqq = { pkgs, config, lib, ... }: + let + spawnAssets = ../user/agents/skills/spawn/assets; + randomNameScript = pkgs.writeShellScriptBin "tmux-random-name" '' + FIRST=$(${pkgs.coreutils}/bin/shuf -n 1 "${spawnAssets}/firstnames.txt") + LAST1=$(${pkgs.coreutils}/bin/shuf -n 1 "${spawnAssets}/lastnames_1.txt") + LAST2=$(${pkgs.coreutils}/bin/shuf -n 1 "${spawnAssets}/lastnames_2.txt") + echo "''${FIRST}_''${LAST1}''${LAST2}" + ''; + in { + programs.tmux = { + enable = true; + package = pkgs.tmux; + + prefix = "C-Space"; + terminal = "tmux-256color"; + shell = lib.getExe config.my.defaultShell; + mouse = true; + escapeTime = 0; + baseIndex = 1; + + plugins = with pkgs.tmuxPlugins; [ + sensible + yank + vim-tmux-navigator + ]; + + extraConfig = '' + # override sensible's broken default-command (it uses $SHELL from build env) + set -g default-command "${lib.getExe config.my.defaultShell}" + + # theme colors matching zellij (transparent bg) + set -g status-style "bg=default,fg=#c2c2c2" + set -g pane-border-style "fg=#374151" + set -g pane-active-border-style "fg=#6b7280" + set -g message-style "bg=default,fg=#c2c2c2" + set -g message-command-style "bg=default,fg=#c2c2c2" + + # status bar (minimal, tabs on right like zjstatus) + set -g status-position top + set -g status-justify right + set -g status-left '#(cat #{socket_path}-#{session_id}-vimbridge)' + set -g status-left-length 99 + set -g status-right "" + set -g status-right-length 0 + set -g focus-events on + + # window list formatting (matches zjstatus tab style) + set -g window-status-format "#[fg=#6b7280][#W]#[default] " + set -g window-status-current-format "#[fg=#d1d5db,bold][#W]#[default] " + set -g window-status-separator "" + + # pane settings + set -g pane-border-lines single + set -g pane-border-indicators off + + # copy mode with vim keys + set -g mode-keys vi + bind -T copy-mode-vi v send -X begin-selection + bind -T copy-mode-vi y send -X copy-pipe-and-cancel "${copyCommand}" + + # prefix + h/j/k/l: move focus between panes + bind h select-pane -L + bind j select-pane -D + bind k select-pane -U + bind l select-pane -R + bind Left select-pane -L + bind Down select-pane -D + bind Up select-pane -U + bind Right select-pane -R + + # prefix + Tab / Shift+Tab: next/previous window + bind Tab next-window + bind BTab previous-window + + # auto-renumber windows when one is closed (browser-like) + set -g renumber-windows on + + # prefix + 1-9: browser-like tab switching (clamped to window count) + bind 1 select-window -t :1 + bind 2 run-shell 'n=2; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 3 run-shell 'n=3; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 4 run-shell 'n=4; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 5 run-shell 'n=5; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 6 run-shell 'n=6; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 7 run-shell 'n=7; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 8 run-shell 'n=8; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + bind 9 run-shell 'n=9; c=$(tmux list-windows | wc -l | tr -d " "); [ $n -gt $c ] && n=$c; tmux select-window -t :$n' + + # prefix + t: new window + bind t new-window + + # prefix + w: close window + bind w kill-window + + # prefix + W or q: quit session + bind W kill-session + bind q kill-session + + # prefix + | and -: split panes + bind | split-window -h -c "#{pane_current_path}" + bind - split-window -v -c "#{pane_current_path}" + + # prefix + r: rename window (sets @custom_name to prevent auto-rename) + bind r command-prompt -I "#W" "rename-window '%%'; set-option -w @custom_name '%%'" + + # prefix + C-r: clear custom name (re-enable auto-rename) + bind C-r set-option -wu @custom_name + + # prefix + Ctrl+Space or Esc: cancel (send-prefix for double tap) + bind C-Space send-prefix + bind Escape copy-mode + + # automatic window renaming (let zsh hooks handle it) + set -g allow-rename on + set -g automatic-rename off + + # extended keys for shift+enter, ctrl+shift combos etc + set -g extended-keys on + set -g extended-keys-format csi-u + + # modern terminal features for ghostty + set -as terminal-features ',ghostty:RGB,extkeys,clipboard,hyperlinks,focus,sync,strikethrough,usstyle' + set -as terminal-features ',*:extkeys' + + # terminal overrides for modern terminals (ghostty, termius/xterm-256color) + # Ss/Se: cursor shape, Smulx: undercurl, Setulc: underline color, RGB: truecolor + set -ga terminal-overrides ',xterm*:Ss=\E[%p1%d q:Se=\E[ q:Smulx=\E[4::%p1%dm:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m:RGB' + set -ga terminal-overrides ',ghostty*:Ss=\E[%p1%d q:Se=\E[ q:Smulx=\E[4::%p1%dm:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m:RGB' + + # passthrough for image protocols, sixel, etc + set -g allow-passthrough on + + # osc52 clipboard (bidirectional with system clipboard) + set -g set-clipboard on + ''; + }; + + home.shellAliases.tx = "tmux new-session -A -s $(basename $PWD | tr . _)"; + + home.packages = [ randomNameScript ]; + + programs.zsh.initContent = '' + # tmux automatic window renaming + if [[ -n $TMUX ]]; then + typeset -g TMUX_PANE_CUSTOM_NAME="" + + function current_dir() { + local current_dir=$PWD + if [[ $current_dir == $HOME ]]; then + current_dir="~" + else + current_dir=''${current_dir##*/} + fi + echo $current_dir + } + + function change_window_title() { + local title=$1 + command tmux rename-window "$title" 2>/dev/null + } + + function set_window_to_working_dir() { + # don't overwrite custom names (e.g., for amp agents or manual renames) + [[ -n "$TMUX_PANE_CUSTOM_NAME" ]] && return + [[ -n "$(command tmux show-options -wqv @custom_name 2>/dev/null)" ]] && return + local title=$(current_dir) + change_window_title $title + } + + function set_window_to_command_line() { + setopt localoptions extended_glob + # extract command name, handling env vars and sudo/ssh prefixes + local words=(''${(z)1}) + local cmd="" + for w in "''${words[@]}"; do + # skip env assignments (FOO=bar) and common wrappers + [[ "$w" == *=* || "$w" == sudo || "$w" == ssh || "$w" == mosh ]] && continue + # skip flags + [[ "$w" == -* ]] && continue + cmd="''${w:t}" + break + done + [[ -z "$cmd" ]] && return + + # amp gets a random human name, preserved across the session + if [[ "$cmd" == "amp" ]]; then + local current_name=$(command tmux display-message -p '#W') + local current_dir_name=$(current_dir) + # only assign new name if window is unnamed or has folder/amp name + if [[ -z "$TMUX_PANE_CUSTOM_NAME" && ("$current_name" == "$current_dir_name" || "$current_name" == "amp") ]]; then + TMUX_PANE_CUSTOM_NAME=$(tmux-random-name 2>/dev/null || echo "agent_$RANDOM") + fi + change_window_title "$TMUX_PANE_CUSTOM_NAME" + return + fi + + change_window_title $cmd + } + + autoload -Uz add-zsh-hook + add-zsh-hook precmd set_window_to_working_dir + add-zsh-hook preexec set_window_to_command_line + fi + ''; + }; +} diff --git a/user/uv.nix b/user/uv.nix new file mode 100644 index 00000000..45fdf6b1 --- /dev/null +++ b/user/uv.nix @@ -0,0 +1,45 @@ +{ inputs, lib, hostSystem ? null, torchBackend ? "cpu", ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + # darwin uses pypi (MPS support), linux needs explicit backend + extraFlag = if isDarwin then "" else "--extra ${torchBackend}"; +in +{ + _module.args.torchBackend = lib.mkDefault "cpu"; + home-manager.users.bdsqqq = { inputs, config, pkgs, lib, ... }: let + uvGlobalDir = "${config.home.homeDirectory}/commonplace/01_files/nix/uv-global"; + uvVenvDir = "${uvGlobalDir}/.venv"; + uvCacheDir = "${config.home.homeDirectory}/.local/share/uv"; + in { + home.sessionVariables.UV_CACHE_DIR = uvCacheDir; + + custom.path.segments = [ + { order = 120; value = "${uvVenvDir}/bin"; } + ]; + + home.packages = with pkgs; [ + uv + python312 + ffmpeg + ]; + + home.activation.installUvGlobals = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + set -euo pipefail + + UV_GLOBAL_DIR="${uvGlobalDir}" + UV_VENV_DIR="${uvVenvDir}" + + if [ ! -d "$UV_VENV_DIR" ]; then + "${pkgs.uv}/bin/uv" venv "$UV_VENV_DIR" --python "${pkgs.python312}/bin/python" + fi + + cd "$UV_GLOBAL_DIR" + "${pkgs.uv}/bin/uv" sync ${extraFlag} || true + ''; + + programs.zsh.shellAliases = { + uv-add = "cd ~/commonplace/01_files/nix/uv-global && uv add"; + uv-remove = "cd ~/commonplace/01_files/nix/uv-global && uv remove"; + }; + }; +} diff --git a/user/vicinae/toggle-bar/default.nix b/user/vicinae/toggle-bar/default.nix new file mode 100644 index 00000000..2c81e414 --- /dev/null +++ b/user/vicinae/toggle-bar/default.nix @@ -0,0 +1,8 @@ +{ pkgs }: + +let + extensionSrc = ./extension; +in +{ + inherit extensionSrc; +} diff --git a/user/vicinae/toggle-bar/extension/README.md b/user/vicinae/toggle-bar/extension/README.md new file mode 100644 index 00000000..1d4c5a1d --- /dev/null +++ b/user/vicinae/toggle-bar/extension/README.md @@ -0,0 +1,13 @@ +# Toggle Bar + +Control quickshell bar visibility. + +## Commands + +- **Toggle Bar Visibility** - Toggle the bar on/off +- **Show Bar** - Show the bar +- **Hide Bar** - Hide the bar + +## Requirements + +Requires quickshell with the bar IPC handler configured. diff --git a/user/vicinae/toggle-bar/extension/assets/icon.png b/user/vicinae/toggle-bar/extension/assets/icon.png new file mode 100644 index 00000000..50790438 Binary files /dev/null and b/user/vicinae/toggle-bar/extension/assets/icon.png differ diff --git a/user/vicinae/toggle-bar/extension/package.json b/user/vicinae/toggle-bar/extension/package.json new file mode 100644 index 00000000..c077e063 --- /dev/null +++ b/user/vicinae/toggle-bar/extension/package.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://raw.githubusercontent.com/vicinaehq/vicinae/refs/heads/main/extra/schemas/extension.json", + "name": "toggle-bar", + "title": "Toggle Bar", + "description": "Control quickshell bar visibility", + "categories": ["System"], + "license": "MIT", + "author": "bdsqqq", + "contributors": [], + "pastContributors": [], + "icon": "icon.png", + "commands": [ + { + "name": "toggle-bar", + "title": "Toggle Bar Visibility", + "description": "Toggle the quickshell bar on/off", + "mode": "no-view" + }, + { + "name": "show-bar", + "title": "Show Bar", + "description": "Show the quickshell bar", + "mode": "no-view" + }, + { + "name": "hide-bar", + "title": "Hide Bar", + "description": "Hide the quickshell bar", + "mode": "no-view" + } + ], + "preferences": [], + "scripts": { + "build": "vici build", + "dev": "vici develop", + "lint": "vici lint" + }, + "dependencies": { + "@vicinae/api": "^0.16.1" + }, + "devDependencies": { + "typescript": "^5.9.2" + } +} diff --git a/user/vicinae/toggle-bar/extension/src/hide-bar.tsx b/user/vicinae/toggle-bar/extension/src/hide-bar.tsx new file mode 100644 index 00000000..df57e916 --- /dev/null +++ b/user/vicinae/toggle-bar/extension/src/hide-bar.tsx @@ -0,0 +1,20 @@ +import { closeMainWindow, showToast, Toast } from "@vicinae/api"; +import { execSync } from "node:child_process"; + +export default async function HideBar() { + try { + execSync("qs ipc call bar hide"); + await showToast({ + title: "Bar hidden", + style: Toast.Style.Success, + }); + } catch (error) { + await showToast({ + title: "Failed to hide bar", + message: error instanceof Error ? error.message : String(error), + style: Toast.Style.Failure, + }); + } + + await closeMainWindow(); +} diff --git a/user/vicinae/toggle-bar/extension/src/show-bar.tsx b/user/vicinae/toggle-bar/extension/src/show-bar.tsx new file mode 100644 index 00000000..5dbd85bc --- /dev/null +++ b/user/vicinae/toggle-bar/extension/src/show-bar.tsx @@ -0,0 +1,20 @@ +import { closeMainWindow, showToast, Toast } from "@vicinae/api"; +import { execSync } from "node:child_process"; + +export default async function ShowBar() { + try { + execSync("qs ipc call bar show"); + await showToast({ + title: "Bar shown", + style: Toast.Style.Success, + }); + } catch (error) { + await showToast({ + title: "Failed to show bar", + message: error instanceof Error ? error.message : String(error), + style: Toast.Style.Failure, + }); + } + + await closeMainWindow(); +} diff --git a/user/vicinae/toggle-bar/extension/src/toggle-bar.tsx b/user/vicinae/toggle-bar/extension/src/toggle-bar.tsx new file mode 100644 index 00000000..c1230a29 --- /dev/null +++ b/user/vicinae/toggle-bar/extension/src/toggle-bar.tsx @@ -0,0 +1,24 @@ +import { closeMainWindow, showToast, Toast } from "@vicinae/api"; +import { execSync } from "node:child_process"; + +function callBarIpc(action: "toggle" | "show" | "hide") { + execSync(`qs ipc call bar ${action}`); +} + +export default async function ToggleBar() { + try { + callBarIpc("toggle"); + await showToast({ + title: "Toggled bar visibility", + style: Toast.Style.Success, + }); + } catch (error) { + await showToast({ + title: "Failed to toggle bar", + message: error instanceof Error ? error.message : String(error), + style: Toast.Style.Failure, + }); + } + + await closeMainWindow(); +} diff --git a/user/vicinae/toggle-bar/extension/tsconfig.json b/user/vicinae/toggle-bar/extension/tsconfig.json new file mode 100644 index 00000000..01eebb30 --- /dev/null +++ b/user/vicinae/toggle-bar/extension/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "jsx": "react-jsx", + "jsxImportSource": "@vicinae/api" + }, + "include": ["src/**/*"] +} diff --git a/user/vicinae/toggle-theme/default.nix b/user/vicinae/toggle-theme/default.nix new file mode 100644 index 00000000..b4403a90 --- /dev/null +++ b/user/vicinae/toggle-theme/default.nix @@ -0,0 +1,15 @@ +{ pkgs }: + +let + # import the shared script (symlinked here as script.nix) + toggleThemeScript = import ./script.nix { inherit pkgs; }; + + # path to the extension source (for mkVicinaeExtension) + extensionSrc = ./extension; +in +{ + inherit toggleThemeScript extensionSrc; + + # environment variable to pass to vicinae so it uses our script + vicinaeEnv = "VICINAE_TOGGLE_THEME_CMD=${toggleThemeScript}/bin/toggle-theme"; +} diff --git a/user/vicinae/toggle-theme/extension/README.md b/user/vicinae/toggle-theme/extension/README.md new file mode 100644 index 00000000..2a2ae957 --- /dev/null +++ b/user/vicinae/toggle-theme/extension/README.md @@ -0,0 +1,29 @@ +# Toggle Theme + +Toggle system color scheme between light and dark mode via GNOME's gsettings. + +## How it works + +This extension toggles `org.gnome.desktop.interface color-scheme` between `prefer-dark` and `prefer-light`. + +By default, it calls `gsettings` directly. This works on most GNOME-based desktops where `DBUS_SESSION_BUS_ADDRESS` is properly set. + +## Environment override + +For setups where the default doesn't work (e.g., Hyprland on NixOS where the launcher runs without full session environment), you can set: + +```sh +VICINAE_TOGGLE_THEME_CMD=/path/to/your/toggle-script +``` + +When this env var is set, the extension will call your script instead of using the built-in gsettings logic. + +## Requirements + +- `gsettings` command available +- `org.gnome.desktop.interface` schema installed (comes with GNOME or gtk3) +- A portal that reads color-scheme preference (e.g., xdg-desktop-portal-gtk) + +## NixOS / Hyprland integration + +See the `nix/` directory in the source repo for a complete integration example that handles the DBus and schema path issues. diff --git a/user/vicinae/toggle-theme/extension/assets/icon.png b/user/vicinae/toggle-theme/extension/assets/icon.png new file mode 100644 index 00000000..50790438 Binary files /dev/null and b/user/vicinae/toggle-theme/extension/assets/icon.png differ diff --git a/user/vicinae/toggle-theme/extension/package-lock.json b/user/vicinae/toggle-theme/extension/package-lock.json new file mode 100644 index 00000000..3427df84 --- /dev/null +++ b/user/vicinae/toggle-theme/extension/package-lock.json @@ -0,0 +1,3719 @@ +{ + "name": "toggle-theme", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "toggle-theme", + "license": "MIT", + "dependencies": { + "@vicinae/api": "^0.16.1" + }, + "devDependencies": { + "typescript": "^5.9.2" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jgoz/esbuild-plugin-typecheck": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@jgoz/esbuild-plugin-typecheck/-/esbuild-plugin-typecheck-4.0.4.tgz", + "integrity": "sha512-ca38NAWnE/GchWjO5m7Wbny+yMOsYkoJOboQGheCjnnu5uDxqQWJSIegN+C+CWl8K/1naI/cMfTrAfDH1oRoVQ==", + "license": "MIT", + "peerDependencies": { + "@jgoz/esbuild-plugin-livereload": ">=2.1.4", + "esbuild": ">=0.25.0", + "typescript": ">= 3.5" + }, + "peerDependenciesMeta": { + "@jgoz/esbuild-plugin-livereload": { + "optional": true + } + } + }, + "node_modules/@oclif/core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.8.0.tgz", + "integrity": "sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.2", + "ansis": "^3.17.0", + "clean-stack": "^3.0.1", + "cli-spinners": "^2.9.2", + "debug": "^4.4.3", + "ejs": "^3.1.10", + "get-package-type": "^0.1.0", + "indent-string": "^4.0.0", + "is-wsl": "^2.2.0", + "lilconfig": "^3.1.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "string-width": "^4.2.3", + "supports-color": "^8", + "tinyglobby": "^0.2.14", + "widest-line": "^3.1.0", + "wordwrap": "^1.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@oclif/plugin-help": { + "version": "6.2.36", + "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.2.36.tgz", + "integrity": "sha512-NBQIg5hEMhvdbi4mSrdqRGl5XJ0bqTAHq6vDCCCDXUcfVtdk3ZJbSxtRVWyVvo9E28vwqu6MZyHOJylevqcHbA==", + "license": "MIT", + "dependencies": { + "@oclif/core": "^4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@oclif/plugin-plugins": { + "version": "5.4.54", + "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.4.54.tgz", + "integrity": "sha512-yzdukEfvvyXx31AhN+YhxLhuQdx2SrZDcRtPl5CNkuqh/uNSB2BuA3xpurdv2qotpaw/Z9InRl+Sa9bLp/4aLA==", + "license": "MIT", + "dependencies": { + "@oclif/core": "^4.8.0", + "ansis": "^3.17.0", + "debug": "^4.4.0", + "npm": "^10.9.4", + "npm-package-arg": "^11.0.3", + "npm-run-path": "^5.3.0", + "object-treeify": "^4.0.1", + "semver": "^7.7.3", + "validate-npm-package-name": "^5.0.1", + "which": "^4.0.0", + "yarn": "^1.22.22" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@vicinae/api": { + "version": "0.16.12", + "resolved": "https://registry.npmjs.org/@vicinae/api/-/api-0.16.12.tgz", + "integrity": "sha512-Dw2pHxawvZPYghGXUHrX6xWz0gU7pIT07Hc/yc5wGsLR8Pa+emuTFaisQKcVTKFmZN5cUKlm9iJrKWKcOQvSSw==", + "license": "ISC", + "dependencies": { + "@jgoz/esbuild-plugin-typecheck": "^4.0.3", + "@oclif/core": "^4", + "@oclif/plugin-help": "^6", + "@oclif/plugin-plugins": "^5", + "@types/node": ">=18", + "@types/react": "19.0.10", + "chokidar": "^4.0.3", + "esbuild": "^0.25.2", + "react": "19.0.0", + "zod": "^4.0.17" + }, + "bin": { + "vici": "bin/run.js" + }, + "peerDependencies": { + "@types/node": ">=18", + "@types/react": "19.0.10" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz", + "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/clean-stack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", + "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/npm": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.4.tgz", + "integrity": "sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/promise-spawn", + "@npmcli/redact", + "@npmcli/run-script", + "@sigstore/tuf", + "abbrev", + "archy", + "cacache", + "chalk", + "ci-info", + "cli-columns", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "ms", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "semver", + "spdx-expression-parse", + "ssri", + "supports-color", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", + "archy": "~1.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", + "cli-columns": "^4.0.0", + "fastest-levenshtein": "^1.0.16", + "fs-minipass": "^3.0.3", + "glob": "^10.4.5", + "graceful-fs": "^4.2.11", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.1", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", + "minimatch": "^9.0.5", + "minipass": "^7.1.1", + "minipass-pipeline": "^1.2.4", + "ms": "^2.1.2", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "qrcode-terminal": "^0.12.0", + "read": "^4.1.0", + "semver": "^7.7.2", + "spdx-expression-parse": "^4.0.0", + "ssri": "^12.0.0", + "supports-color": "^9.4.0", + "tar": "^6.2.1", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^3.0.0", + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/agent": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "ssri": "^12.0.0", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "9.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", + "ci-info": "^4.0.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "6.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "4.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "6.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "4.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "3.2.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "9.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@sigstore/tuf": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/agent-base": { + "version": "7.1.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "6.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "19.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "5.4.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ci-info": { + "version": "4.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "4.1.3", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^5.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "7.0.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.2.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/eastasianwidth": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/exponential-backoff": { + "version": "3.1.2", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.16", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/npm/node_modules/foreground-child": { + "version": "3.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "10.4.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.2.0", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "7.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "7.0.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/ini": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/ip-address": { + "version": "9.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "5.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^4.1.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jackspeak": { + "version": "3.4.3", + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/npm/node_modules/jsbn": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.5.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "9.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "7.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/installed-package-contents": "^3.0.0", + "binary-extensions": "^2.3.0", + "diff": "^5.1.0", + "minimatch": "^9.0.4", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "tar": "^6.2.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "9.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "ci-info": "^4.0.0", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", + "semver": "^7.3.7", + "walk-up-path": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "6.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "11.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "10.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", + "semver": "^7.3.7", + "sigstore": "^3.0.0", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "8.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^18.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "7.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "10.4.3", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "14.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "9.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "7.1.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "11.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "7.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^8.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "7.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "12.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "9.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^7.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "10.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "11.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "18.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "3.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "7.0.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/package-json-from-dist": { + "version": "1.0.1", + "inBundle": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/npm/node_modules/pacote": { + "version": "19.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/path-key": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/path-scurry": { + "version": "1.11.1", + "inBundle": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "^2.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.7.2", + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "4.1.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/sigstore": { + "version": "3.1.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.1.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.1.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.8.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "8.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.2.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.5.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.21", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/ssri": { + "version": "12.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "9.4.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "inBundle": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/npm/node_modules/treeverse": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/tuf-js": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "6.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/which": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/which/node_modules/isexe": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "8.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/object-treeify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-4.0.1.tgz", + "integrity": "sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/yarn": { + "version": "1.22.22", + "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz", + "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==", + "hasInstallScript": true, + "license": "BSD-2-Clause", + "bin": { + "yarn": "bin/yarn.js", + "yarnpkg": "bin/yarn.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/zod": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", + "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/user/vicinae/toggle-theme/extension/package.json b/user/vicinae/toggle-theme/extension/package.json new file mode 100644 index 00000000..8f063fd1 --- /dev/null +++ b/user/vicinae/toggle-theme/extension/package.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://raw.githubusercontent.com/vicinaehq/vicinae/refs/heads/main/extra/schemas/extension.json", + "name": "toggle-theme", + "title": "Toggle Theme", + "description": "Toggle system color scheme between light and dark", + "categories": ["System"], + "license": "MIT", + "author": "bdsqqq", + "contributors": [], + "pastContributors": [], + "icon": "icon.png", + "commands": [ + { + "name": "toggle-theme", + "title": "Toggle Theme", + "description": "Switch between light and dark color scheme", + "mode": "no-view" + } + ], + "preferences": [], + "scripts": { + "build": "vici build", + "dev": "vici develop", + "lint": "vici lint" + }, + "dependencies": { + "@vicinae/api": "^0.16.1" + }, + "devDependencies": { + "typescript": "^5.9.2" + } +} diff --git a/user/vicinae/toggle-theme/extension/src/toggle-theme.tsx b/user/vicinae/toggle-theme/extension/src/toggle-theme.tsx new file mode 100644 index 00000000..c407aa6a --- /dev/null +++ b/user/vicinae/toggle-theme/extension/src/toggle-theme.tsx @@ -0,0 +1,52 @@ +import { closeMainWindow, showToast, Toast } from "@vicinae/api"; +import { execSync } from "node:child_process"; + +function toggleViaGsettings() { + const uid = process.getuid?.() ?? 1000; + const env = { + ...process.env, + DBUS_SESSION_BUS_ADDRESS: + process.env.DBUS_SESSION_BUS_ADDRESS ?? + `unix:path=/run/user/${uid}/bus`, + }; + + const get = (cmd: string) => + execSync(cmd, { env, encoding: "utf-8" }).trim(); + + const schema = "org.gnome.desktop.interface"; + const key = "color-scheme"; + + const current = get(`gsettings get ${schema} ${key}`); + const next = current === "'prefer-dark'" ? "prefer-light" : "prefer-dark"; + + execSync(`gsettings set ${schema} ${key} ${next}`, { env }); + + return next; +} + +export default async function ToggleTheme() { + try { + const overrideCmd = process.env.VICINAE_TOGGLE_THEME_CMD; + let newTheme: string; + + if (overrideCmd) { + execSync(overrideCmd); + newTheme = "toggled"; + } else { + newTheme = toggleViaGsettings(); + } + + await showToast({ + title: `Switched to ${newTheme === "prefer-dark" ? "dark" : newTheme === "prefer-light" ? "light" : newTheme} mode`, + style: Toast.Style.Success, + }); + } catch (error) { + await showToast({ + title: "Failed to toggle theme", + message: error instanceof Error ? error.message : String(error), + style: Toast.Style.Failure, + }); + } + + await closeMainWindow(); +} diff --git a/user/vicinae/toggle-theme/extension/tsconfig.json b/user/vicinae/toggle-theme/extension/tsconfig.json new file mode 100644 index 00000000..e4a6013b --- /dev/null +++ b/user/vicinae/toggle-theme/extension/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "CommonJS", + "moduleResolution": "node", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "declaration": true, + "jsx": "react-jsx" + }, + "include": ["src/**/*"] +} diff --git a/user/vicinae/toggle-theme/script.nix b/user/vicinae/toggle-theme/script.nix new file mode 120000 index 00000000..c3d258ce --- /dev/null +++ b/user/vicinae/toggle-theme/script.nix @@ -0,0 +1 @@ +../../scripts/toggle-theme.nix \ No newline at end of file diff --git a/user/waybar.nix b/user/waybar.nix new file mode 100644 index 00000000..37878288 --- /dev/null +++ b/user/waybar.nix @@ -0,0 +1,81 @@ +{ lib, pkgs, hostSystem ? null, ... }: + +let + isLinux = lib.hasInfix "linux" hostSystem; + + waybarConfig = { + layer = "top"; + position = "top"; + height = 30; + + modules-left = [ "custom/logo" "hyprland/workspaces" "niri/workspaces" ]; + modules-right = [ "clock" ]; + + "custom/logo" = { + format = "∗"; + tooltip = false; + }; + + "hyprland/workspaces" = { + format = "[{name}]"; + on-click = "activate"; + sort-by-number = true; + }; + + "niri/workspaces" = { + format = "[{index}]"; + }; + + clock = { + format = "{:%Y-%m-%d %H:%M}"; + tooltip = false; + }; + }; + + waybarStyle = '' + * { + font-family: "Berkeley Mono", monospace; + font-size: 16px; + } + + window#waybar { + background: transparent; + color: #ffffff; + } + + #custom-logo { + padding: 0 8px; + } + + #workspaces { + padding: 0; + } + + #workspaces button { + padding: 0 4px; + color: #6b7280; + background: transparent; + border: none; + border-radius: 0; + } + + #workspaces button.active { + color: #d1d5db; + font-weight: bold; + } + + #clock { + padding: 0 8px; + } + ''; + +in +if !isLinux then {} else { + home-manager.users.bdsqqq = { ... }: { + programs.waybar = { + enable = true; + settings = [ waybarConfig ]; + style = waybarStyle; + }; + }; +} diff --git a/user/zellij.nix b/user/zellij.nix new file mode 100644 index 00000000..0fca12be --- /dev/null +++ b/user/zellij.nix @@ -0,0 +1,249 @@ +{ lib, hostSystem ? null, ... }: +let + isDarwin = lib.hasInfix "darwin" hostSystem; + isLinux = lib.hasInfix "linux" hostSystem; + + copyCommand = if isDarwin then "pbcopy" else "wl-copy"; + + zellijLayoutConfig = '' + layout { + default_tab_template { + pane size=1 borderless=true { + plugin location="https://github.com/dj95/zjstatus/releases/download/v0.21.0/zjstatus.wasm" { + format_left "{pipe_nvim_status}" + format_right "{tabs}" + format_space "" + format_precedence "lrc" + + border_enabled "false" + border_char "─" + border_format "#[fg=#6C7086]{char}" + border_position "top" + + hide_frame_for_single_pane "false" + + mode_normal "" + mode_locked "" + mode_resize "" + mode_pane "" + mode_tab "" + mode_scroll "" + mode_enter_search "" + mode_search "" + mode_rename_tab "" + mode_rename_pane "" + mode_session "" + mode_move "" + mode_prompt "" + mode_tmux "" + + tab_normal "#[fg=#6b7280][{name}]#[default] " + tab_active "#[fg=#d1d5db,bold][{name}]#[default] " + tab_separator "" + + pipe_nvim_status_format "#[fg=#d1d5db]{output}" + } + } + children + } + } + ''; +in +/* +## zellij shell integration disabled + +zellij's auto-start runs `zellij attach -c` without session name. +can't customize to use directory-based naming like our alias. +manual alias + tab renaming gives better control over sessions. +*/ +{ + home-manager.users.bdsqqq = { pkgs, config, ... }: + let + zellijConfig = '' + // zellij config matching tmux setup + + // theme + theme "custom" + themes { + custom { + fg "#c2c2c2" + bg "#101010" + black "#101010" + red "#dc2626" + green "#6b7280" + yellow "#f97316" + blue "#374151" + magenta "#d1d5db" + cyan "#6b7280" + white "#c2c2c2" + orange "#FFC799" + } + } + + // ui + simplified_ui true + pane_frames false + default_layout "minimal" + + // mouse + mouse_mode true + + // web server + web_server true + web_server_bind "0.0.0.0" + web_server_port 8082 + web_server_cert "${config.home.homeDirectory}/.config/zellij/certs/zellij-cert.pem" + web_server_key "${config.home.homeDirectory}/.config/zellij/certs/zellij-key.pem" + + // copy mode (vim-like) + copy_command "${copyCommand}" + + keybinds clear-defaults=true { + // leader key mode (like tmux prefix) + normal { + // tmux-style navigation without prefix + bind "Ctrl h" { MoveFocusOrTab "Left"; } + bind "Ctrl j" { MoveFocusOrTab "Down"; } + bind "Ctrl k" { MoveFocusOrTab "Up"; } + bind "Ctrl l" { MoveFocusOrTab "Right"; } + + // window navigation without prefix (ctrl+tab, ctrl+shift+tab) + bind "Ctrl Tab" { GoToNextTab; } + bind "Ctrl Shift Tab" { GoToPreviousTab; } + + // direct window selection (ctrl+1-9) + bind "Ctrl 1" { GoToTab 1; } + bind "Ctrl 2" { GoToTab 2; } + bind "Ctrl 3" { GoToTab 3; } + bind "Ctrl 4" { GoToTab 4; } + bind "Ctrl 5" { GoToTab 5; } + bind "Ctrl 6" { GoToTab 6; } + bind "Ctrl 7" { GoToTab 7; } + bind "Ctrl 8" { GoToTab 8; } + bind "Ctrl 9" { GoToTab 9; } + + // new window without prefix + bind "Ctrl t" { NewTab; } + + // close window without prefix (with confirmation) + bind "Ctrl w" { CloseTab; } + + // close session without prefix (ctrl+shift+w) + bind "Ctrl Shift w" { Quit; } + + // enter leader mode (tmux prefix equivalent: ctrl+space) + bind "Ctrl Space" { SwitchToMode "tmux"; } + } + + // tmux prefix mode (ctrl+space then command) + tmux { + // navigation with prefix (h/j/k/l like tmux) + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + + // tab navigation with prefix + bind "Tab" { GoToNextTab; SwitchToMode "Normal"; } + bind "Shift Tab" { GoToPreviousTab; SwitchToMode "Normal"; } + + // window selection with prefix (1-9) + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + + // new window with prefix + bind "t" { NewTab; SwitchToMode "Normal"; } + + // close window with prefix + bind "w" { CloseTab; SwitchToMode "Normal"; } + + // close session with prefix + bind "W" { Quit; } + + // kill server equivalent + bind "q" { Quit; } + + // split panes (bonus features) + bind "|" { NewPane "Right"; SwitchToMode "Normal"; } + bind "-" { NewPane "Down"; SwitchToMode "Normal"; } + + // back to normal + bind "Esc" { SwitchToMode "Normal"; } + bind "Ctrl Space" { SwitchToMode "Normal"; } + } + + // minimal locked mode (like tmux locked) + locked { + bind "Ctrl Space" { SwitchToMode "Normal"; } + } + } + ''; + in { + programs.zellij = { + enable = true; + package = pkgs.unstable.zellij; + enableBashIntegration = false; + enableZshIntegration = false; + enableFishIntegration = false; + }; + + home.file.".config/zellij/config.kdl" = { + force = true; + text = zellijConfig; + }; + + home.file.".config/zellij/layouts/minimal.kdl" = { + force = true; + text = zellijLayoutConfig; + }; + + home.shellAliases.zj = "zellij attach $(basename $PWD | tr . _) -c"; + + programs.zsh.initContent = '' + # zellij automatic tab renaming + if [[ -n $ZELLIJ ]]; then + function current_dir() { + local current_dir=$PWD + if [[ $current_dir == $HOME ]]; then + current_dir="~" + else + current_dir=''${current_dir##*/} + fi + echo $current_dir + } + + function change_tab_title() { + local title=$1 + command nohup zellij action rename-tab $title >/dev/null 2>&1 + } + + function set_tab_to_working_dir() { + local title=$(current_dir) + change_tab_title $title + } + + function set_tab_to_command_line() { + setopt localoptions extended_glob + local cmd=''${1[(wr)^(*=*|sudo|ssh|mosh|-*)]:t} + [[ -z "$cmd" ]] && return + change_tab_title $cmd + } + + autoload -Uz add-zsh-hook + add-zsh-hook precmd set_tab_to_working_dir + add-zsh-hook preexec set_tab_to_command_line + fi + ''; + }; +} diff --git a/user/zoxide.nix b/user/zoxide.nix new file mode 100644 index 00000000..1420c2ed --- /dev/null +++ b/user/zoxide.nix @@ -0,0 +1,8 @@ +{ config, pkgs, ... }: +{ + home-manager.users.bdsqqq = { config, pkgs, ... }: { + programs.zoxide.enable = true; + + home.shellAliases.cd = "z"; + }; +} diff --git a/uv-global/.gitignore b/uv-global/.gitignore new file mode 100644 index 00000000..9c882b75 --- /dev/null +++ b/uv-global/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +*.egg-info/ diff --git a/uv-global/pyproject.toml b/uv-global/pyproject.toml new file mode 100644 index 00000000..d51e7f28 --- /dev/null +++ b/uv-global/pyproject.toml @@ -0,0 +1,61 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel] +packages = ["whisp"] + +[project] +name = "uv-global" +version = "0.1.0" +description = "global python tools managed via uv" +requires-python = ">=3.12" + +dependencies = [ + "faster-whisper", + "pyannote.audio", +] + +[project.scripts] +whisp = "whisp.__main__:main" + +[dependency-groups] +dev = [ + "pytest>=8.0", + "pytest-cov>=4.0", +] + +[tool.pytest.ini_options] +testpaths = ["whisp"] +python_files = ["*_test.py"] +python_functions = ["test_*"] + +[project.optional-dependencies] +cu121 = ["torch"] +cpu = ["torch"] + +[tool.uv] +package = true +environments = [ + "sys_platform == 'darwin' and platform_machine == 'arm64'", + "sys_platform == 'linux' and platform_machine == 'x86_64'", +] +conflicts = [ + [{ extra = "cu121" }, { extra = "cpu" }], +] + +[[tool.uv.index]] +name = "pytorch-cu121" +url = "https://download.pytorch.org/whl/cu121" +explicit = true + +[[tool.uv.index]] +name = "pytorch-cpu" +url = "https://download.pytorch.org/whl/cpu" +explicit = true + +[tool.uv.sources] +torch = [ + { index = "pytorch-cu121", extra = "cu121", marker = "sys_platform == 'linux'" }, + { index = "pytorch-cpu", extra = "cpu", marker = "sys_platform == 'linux'" }, +] diff --git a/uv-global/uv.lock b/uv-global/uv.lock new file mode 100644 index 00000000..f0799604 --- /dev/null +++ b/uv-global/uv.lock @@ -0,0 +1,3584 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +supported-markers = [ + "platform_machine == 'arm64' and sys_platform == 'darwin'", + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +conflicts = [[ + { package = "uv-global", extra = "cpu" }, + { package = "uv-global", extra = "cu121" }, +]] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.13.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "aiosignal", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "attrs", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "frozenlist", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "multidict", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "propcache", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "yarl", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", size = 7844556, upload-time = "2026-01-03T17:33:05.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/be/4fc11f202955a69e0db803a12a062b8379c970c7c84f4882b6da17337cc1/aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", size = 739732, upload-time = "2026-01-03T17:30:14.23Z" }, + { url = "https://files.pythonhosted.org/packages/97/2c/621d5b851f94fa0bb7430d6089b3aa970a9d9b75196bc93bb624b0db237a/aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", size = 494293, upload-time = "2026-01-03T17:30:15.96Z" }, + { url = "https://files.pythonhosted.org/packages/5d/43/4be01406b78e1be8320bb8316dc9c42dbab553d281c40364e0f862d5661c/aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", size = 493533, upload-time = "2026-01-03T17:30:17.431Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a8/5a35dc56a06a2c90d4742cbf35294396907027f80eea696637945a106f25/aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", size = 1737839, upload-time = "2026-01-03T17:30:19.422Z" }, + { url = "https://files.pythonhosted.org/packages/bf/62/4b9eeb331da56530bf2e198a297e5303e1c1ebdceeb00fe9b568a65c5a0c/aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", size = 1703932, upload-time = "2026-01-03T17:30:21.756Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f6/af16887b5d419e6a367095994c0b1332d154f647e7dc2bd50e61876e8e3d/aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", size = 1771906, upload-time = "2026-01-03T17:30:23.932Z" }, + { url = "https://files.pythonhosted.org/packages/ce/83/397c634b1bcc24292fa1e0c7822800f9f6569e32934bdeef09dae7992dfb/aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", size = 1871020, upload-time = "2026-01-03T17:30:26Z" }, + { url = "https://files.pythonhosted.org/packages/86/f6/a62cbbf13f0ac80a70f71b1672feba90fdb21fd7abd8dbf25c0105fb6fa3/aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", size = 1755181, upload-time = "2026-01-03T17:30:27.554Z" }, + { url = "https://files.pythonhosted.org/packages/0a/87/20a35ad487efdd3fba93d5843efdfaa62d2f1479eaafa7453398a44faf13/aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", size = 1561794, upload-time = "2026-01-03T17:30:29.254Z" }, + { url = "https://files.pythonhosted.org/packages/de/95/8fd69a66682012f6716e1bc09ef8a1a2a91922c5725cb904689f112309c4/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", size = 1697900, upload-time = "2026-01-03T17:30:31.033Z" }, + { url = "https://files.pythonhosted.org/packages/e5/66/7b94b3b5ba70e955ff597672dad1691333080e37f50280178967aff68657/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", size = 1728239, upload-time = "2026-01-03T17:30:32.703Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/6f72f77f9f7d74719692ab65a2a0252584bf8d5f301e2ecb4c0da734530a/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", size = 1740527, upload-time = "2026-01-03T17:30:34.695Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b4/75ec16cbbd5c01bdaf4a05b19e103e78d7ce1ef7c80867eb0ace42ff4488/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", size = 1554489, upload-time = "2026-01-03T17:30:36.864Z" }, + { url = "https://files.pythonhosted.org/packages/52/8f/bc518c0eea29f8406dcf7ed1f96c9b48e3bc3995a96159b3fc11f9e08321/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", size = 1767852, upload-time = "2026-01-03T17:30:39.433Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f2/a07a75173124f31f11ea6f863dc44e6f09afe2bca45dd4e64979490deab1/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", size = 1722379, upload-time = "2026-01-03T17:30:41.081Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4a/1a3fee7c21350cac78e5c5cef711bac1b94feca07399f3d406972e2d8fcd/aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", size = 428253, upload-time = "2026-01-03T17:30:42.644Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b7/76175c7cb4eb73d91ad63c34e29fc4f77c9386bba4a65b53ba8e05ee3c39/aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", size = 455407, upload-time = "2026-01-03T17:30:44.195Z" }, + { url = "https://files.pythonhosted.org/packages/97/8a/12ca489246ca1faaf5432844adbfce7ff2cc4997733e0af120869345643a/aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", size = 734190, upload-time = "2026-01-03T17:30:45.832Z" }, + { url = "https://files.pythonhosted.org/packages/32/08/de43984c74ed1fca5c014808963cc83cb00d7bb06af228f132d33862ca76/aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", size = 491783, upload-time = "2026-01-03T17:30:47.466Z" }, + { url = "https://files.pythonhosted.org/packages/17/f8/8dd2cf6112a5a76f81f81a5130c57ca829d101ad583ce57f889179accdda/aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", size = 490704, upload-time = "2026-01-03T17:30:49.373Z" }, + { url = "https://files.pythonhosted.org/packages/6d/40/a46b03ca03936f832bc7eaa47cfbb1ad012ba1be4790122ee4f4f8cba074/aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", size = 1720652, upload-time = "2026-01-03T17:30:50.974Z" }, + { url = "https://files.pythonhosted.org/packages/f7/7e/917fe18e3607af92657e4285498f500dca797ff8c918bd7d90b05abf6c2a/aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", size = 1692014, upload-time = "2026-01-03T17:30:52.729Z" }, + { url = "https://files.pythonhosted.org/packages/71/b6/cefa4cbc00d315d68973b671cf105b21a609c12b82d52e5d0c9ae61d2a09/aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", size = 1759777, upload-time = "2026-01-03T17:30:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e3/e06ee07b45e59e6d81498b591fc589629be1553abb2a82ce33efe2a7b068/aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", size = 1861276, upload-time = "2026-01-03T17:30:56.512Z" }, + { url = "https://files.pythonhosted.org/packages/7c/24/75d274228acf35ceeb2850b8ce04de9dd7355ff7a0b49d607ee60c29c518/aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", size = 1743131, upload-time = "2026-01-03T17:30:58.256Z" }, + { url = "https://files.pythonhosted.org/packages/04/98/3d21dde21889b17ca2eea54fdcff21b27b93f45b7bb94ca029c31ab59dc3/aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", size = 1556863, upload-time = "2026-01-03T17:31:00.445Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/da0c3ab1192eaf64782b03971ab4055b475d0db07b17eff925e8c93b3aa5/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", size = 1682793, upload-time = "2026-01-03T17:31:03.024Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0f/5802ada182f575afa02cbd0ec5180d7e13a402afb7c2c03a9aa5e5d49060/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", size = 1716676, upload-time = "2026-01-03T17:31:04.842Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8c/714d53bd8b5a4560667f7bbbb06b20c2382f9c7847d198370ec6526af39c/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", size = 1733217, upload-time = "2026-01-03T17:31:06.868Z" }, + { url = "https://files.pythonhosted.org/packages/7d/79/e2176f46d2e963facea939f5be2d26368ce543622be6f00a12844d3c991f/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", size = 1552303, upload-time = "2026-01-03T17:31:08.958Z" }, + { url = "https://files.pythonhosted.org/packages/ab/6a/28ed4dea1759916090587d1fe57087b03e6c784a642b85ef48217b0277ae/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", size = 1763673, upload-time = "2026-01-03T17:31:10.676Z" }, + { url = "https://files.pythonhosted.org/packages/e8/35/4a3daeb8b9fab49240d21c04d50732313295e4bd813a465d840236dd0ce1/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", size = 1721120, upload-time = "2026-01-03T17:31:12.575Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9f/d643bb3c5fb99547323e635e251c609fbbc660d983144cfebec529e09264/aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", size = 427383, upload-time = "2026-01-03T17:31:14.382Z" }, + { url = "https://files.pythonhosted.org/packages/4e/f1/ab0395f8a79933577cdd996dd2f9aa6014af9535f65dddcf88204682fe62/aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", size = 453899, upload-time = "2026-01-03T17:31:15.958Z" }, + { url = "https://files.pythonhosted.org/packages/99/36/5b6514a9f5d66f4e2597e40dea2e3db271e023eb7a5d22defe96ba560996/aiohttp-3.13.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808", size = 737238, upload-time = "2026-01-03T17:31:17.909Z" }, + { url = "https://files.pythonhosted.org/packages/f7/49/459327f0d5bcd8c6c9ca69e60fdeebc3622861e696490d8674a6d0cb90a6/aiohttp-3.13.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415", size = 492292, upload-time = "2026-01-03T17:31:19.919Z" }, + { url = "https://files.pythonhosted.org/packages/e8/0b/b97660c5fd05d3495b4eb27f2d0ef18dc1dc4eff7511a9bf371397ff0264/aiohttp-3.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f", size = 493021, upload-time = "2026-01-03T17:31:21.636Z" }, + { url = "https://files.pythonhosted.org/packages/54/d4/438efabdf74e30aeceb890c3290bbaa449780583b1270b00661126b8aae4/aiohttp-3.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6", size = 1717263, upload-time = "2026-01-03T17:31:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/71/f2/7bddc7fd612367d1459c5bcf598a9e8f7092d6580d98de0e057eb42697ad/aiohttp-3.13.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687", size = 1669107, upload-time = "2026-01-03T17:31:25.334Z" }, + { url = "https://files.pythonhosted.org/packages/00/5a/1aeaecca40e22560f97610a329e0e5efef5e0b5afdf9f857f0d93839ab2e/aiohttp-3.13.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26", size = 1760196, upload-time = "2026-01-03T17:31:27.394Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f8/0ff6992bea7bd560fc510ea1c815f87eedd745fe035589c71ce05612a19a/aiohttp-3.13.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a", size = 1843591, upload-time = "2026-01-03T17:31:29.238Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d1/e30e537a15f53485b61f5be525f2157da719819e8377298502aebac45536/aiohttp-3.13.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1", size = 1720277, upload-time = "2026-01-03T17:31:31.053Z" }, + { url = "https://files.pythonhosted.org/packages/84/45/23f4c451d8192f553d38d838831ebbc156907ea6e05557f39563101b7717/aiohttp-3.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25", size = 1548575, upload-time = "2026-01-03T17:31:32.87Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ed/0a42b127a43712eda7807e7892c083eadfaf8429ca8fb619662a530a3aab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603", size = 1679455, upload-time = "2026-01-03T17:31:34.76Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b5/c05f0c2b4b4fe2c9d55e73b6d3ed4fd6c9dc2684b1d81cbdf77e7fad9adb/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a", size = 1687417, upload-time = "2026-01-03T17:31:36.699Z" }, + { url = "https://files.pythonhosted.org/packages/c9/6b/915bc5dad66aef602b9e459b5a973529304d4e89ca86999d9d75d80cbd0b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926", size = 1729968, upload-time = "2026-01-03T17:31:38.622Z" }, + { url = "https://files.pythonhosted.org/packages/11/3b/e84581290a9520024a08640b63d07673057aec5ca548177a82026187ba73/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba", size = 1545690, upload-time = "2026-01-03T17:31:40.57Z" }, + { url = "https://files.pythonhosted.org/packages/f5/04/0c3655a566c43fd647c81b895dfe361b9f9ad6d58c19309d45cff52d6c3b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c", size = 1746390, upload-time = "2026-01-03T17:31:42.857Z" }, + { url = "https://files.pythonhosted.org/packages/1f/53/71165b26978f719c3419381514c9690bd5980e764a09440a10bb816ea4ab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43", size = 1702188, upload-time = "2026-01-03T17:31:44.984Z" }, + { url = "https://files.pythonhosted.org/packages/29/a7/cbe6c9e8e136314fa1980da388a59d2f35f35395948a08b6747baebb6aa6/aiohttp-3.13.3-cp314-cp314-win32.whl", hash = "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1", size = 433126, upload-time = "2026-01-03T17:31:47.463Z" }, + { url = "https://files.pythonhosted.org/packages/de/56/982704adea7d3b16614fc5936014e9af85c0e34b58f9046655817f04306e/aiohttp-3.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984", size = 459128, upload-time = "2026-01-03T17:31:49.2Z" }, + { url = "https://files.pythonhosted.org/packages/6c/2a/3c79b638a9c3d4658d345339d22070241ea341ed4e07b5ac60fb0f418003/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c", size = 769512, upload-time = "2026-01-03T17:31:51.134Z" }, + { url = "https://files.pythonhosted.org/packages/29/b9/3e5014d46c0ab0db8707e0ac2711ed28c4da0218c358a4e7c17bae0d8722/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592", size = 506444, upload-time = "2026-01-03T17:31:52.85Z" }, + { url = "https://files.pythonhosted.org/packages/90/03/c1d4ef9a054e151cd7839cdc497f2638f00b93cbe8043983986630d7a80c/aiohttp-3.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f", size = 510798, upload-time = "2026-01-03T17:31:54.91Z" }, + { url = "https://files.pythonhosted.org/packages/ea/76/8c1e5abbfe8e127c893fe7ead569148a4d5a799f7cf958d8c09f3eedf097/aiohttp-3.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29", size = 1868835, upload-time = "2026-01-03T17:31:56.733Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ac/984c5a6f74c363b01ff97adc96a3976d9c98940b8969a1881575b279ac5d/aiohttp-3.13.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc", size = 1720486, upload-time = "2026-01-03T17:31:58.65Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9a/b7039c5f099c4eb632138728828b33428585031a1e658d693d41d07d89d1/aiohttp-3.13.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2", size = 1847951, upload-time = "2026-01-03T17:32:00.989Z" }, + { url = "https://files.pythonhosted.org/packages/3c/02/3bec2b9a1ba3c19ff89a43a19324202b8eb187ca1e928d8bdac9bbdddebd/aiohttp-3.13.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587", size = 1941001, upload-time = "2026-01-03T17:32:03.122Z" }, + { url = "https://files.pythonhosted.org/packages/37/df/d879401cedeef27ac4717f6426c8c36c3091c6e9f08a9178cc87549c537f/aiohttp-3.13.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8", size = 1797246, upload-time = "2026-01-03T17:32:05.255Z" }, + { url = "https://files.pythonhosted.org/packages/8d/15/be122de1f67e6953add23335c8ece6d314ab67c8bebb3f181063010795a7/aiohttp-3.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632", size = 1627131, upload-time = "2026-01-03T17:32:07.607Z" }, + { url = "https://files.pythonhosted.org/packages/12/12/70eedcac9134cfa3219ab7af31ea56bc877395b1ac30d65b1bc4b27d0438/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64", size = 1795196, upload-time = "2026-01-03T17:32:09.59Z" }, + { url = "https://files.pythonhosted.org/packages/32/11/b30e1b1cd1f3054af86ebe60df96989c6a414dd87e27ad16950eee420bea/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0", size = 1782841, upload-time = "2026-01-03T17:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/88/0d/d98a9367b38912384a17e287850f5695c528cff0f14f791ce8ee2e4f7796/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56", size = 1795193, upload-time = "2026-01-03T17:32:13.705Z" }, + { url = "https://files.pythonhosted.org/packages/43/a5/a2dfd1f5ff5581632c7f6a30e1744deda03808974f94f6534241ef60c751/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72", size = 1621979, upload-time = "2026-01-03T17:32:15.965Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f0/12973c382ae7c1cccbc4417e129c5bf54c374dfb85af70893646e1f0e749/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df", size = 1822193, upload-time = "2026-01-03T17:32:18.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/5f/24155e30ba7f8c96918af1350eb0663e2430aad9e001c0489d89cd708ab1/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa", size = 1769801, upload-time = "2026-01-03T17:32:20.25Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f8/7314031ff5c10e6ece114da79b338ec17eeff3a079e53151f7e9f43c4723/aiohttp-3.13.3-cp314-cp314t-win32.whl", hash = "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767", size = 466523, upload-time = "2026-01-03T17:32:22.215Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/278a98c715ae467624eafe375542d8ba9b4383a016df8fdefe0ae28382a7/aiohttp-3.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344", size = 499694, upload-time = "2026-01-03T17:32:24.546Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (python_full_version >= '3.13' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + +[[package]] +name = "alembic" +version = "1.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mako", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sqlalchemy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/cc/aca263693b2ece99fa99a09b6d092acb89973eb2bb575faef1777e04f8b4/alembic-1.18.1.tar.gz", hash = "sha256:83ac6b81359596816fb3b893099841a0862f2117b2963258e965d70dc62fb866", size = 2044319, upload-time = "2026-01-14T18:53:14.907Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/36/cd9cb6101e81e39076b2fbe303bfa3c85ca34e55142b0324fcbf22c5c6e2/alembic-1.18.1-py3-none-any.whl", hash = "sha256:f1c3b0920b87134e851c25f1f7f236d8a332c34b75416802d06971df5d1b7810", size = 260973, upload-time = "2026-01-14T18:53:17.533Z" }, +] + +[[package]] +name = "antlr4-python3-runtime" +version = "4.9.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3e/38/7859ff46355f76f8d19459005ca000b6e7012f2f1ca597746cbcd1fbfe5e/antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b", size = 117034, upload-time = "2021-11-06T17:52:23.524Z" } + +[[package]] +name = "anyio" +version = "4.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin') or (python_full_version < '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (python_full_version >= '3.13' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, +] + +[[package]] +name = "asteroid-filterbanks" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/90/fa/5c2be1f96dc179f83cdd3bb267edbd1f47d08f756785c016d5c2163901a7/asteroid-filterbanks-0.4.0.tar.gz", hash = "sha256:415f89d1dcf2b13b35f03f7a9370968ac4e6fa6800633c522dac992b283409b9", size = 24599, upload-time = "2021-04-09T20:03:07.456Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/7c/83ff6046176a675e6a1e8aeefed8892cd97fe7c46af93cc540d1b24b8323/asteroid_filterbanks-0.4.0-py3-none-any.whl", hash = "sha256:4932ac8b6acc6e08fb87cbe8ece84215b5a74eee284fe83acf3540a72a02eaf5", size = 29912, upload-time = "2021-04-09T20:03:05.817Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "av" +version = "16.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/78/cd/3a83ffbc3cc25b39721d174487fb0d51a76582f4a1703f98e46170ce83d4/av-16.1.0.tar.gz", hash = "sha256:a094b4fd87a3721dacf02794d3d2c82b8d712c85b9534437e82a8a978c175ffd", size = 4285203, upload-time = "2026-01-11T07:31:33.772Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/84/2535f55edcd426cebec02eb37b811b1b0c163f26b8d3f53b059e2ec32665/av-16.1.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:640f57b93f927fba8689f6966c956737ee95388a91bd0b8c8b5e0481f73513d6", size = 26945785, upload-time = "2026-01-09T20:18:34.486Z" }, + { url = "https://files.pythonhosted.org/packages/b6/17/ffb940c9e490bf42e86db4db1ff426ee1559cd355a69609ec1efe4d3a9eb/av-16.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ae3fb658eec00852ebd7412fdc141f17f3ddce8afee2d2e1cf366263ad2a3b35", size = 21481147, upload-time = "2026-01-09T20:18:36.716Z" }, + { url = "https://files.pythonhosted.org/packages/15/c1/e0d58003d2d83c3921887d5c8c9b8f5f7de9b58dc2194356a2656a45cfdc/av-16.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:27ee558d9c02a142eebcbe55578a6d817fedfde42ff5676275504e16d07a7f86", size = 39517197, upload-time = "2026-01-11T09:57:31.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/77/787797b43475d1b90626af76f80bfb0c12cfec5e11eafcfc4151b8c80218/av-16.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7ae547f6d5fa31763f73900d43901e8c5fa6367bb9a9840978d57b5a7ae14ed2", size = 41174337, upload-time = "2026-01-11T09:57:35.792Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ac/d90df7f1e3b97fc5554cf45076df5045f1e0a6adf13899e10121229b826c/av-16.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8cf065f9d438e1921dc31fc7aa045790b58aee71736897866420d80b5450f62a", size = 40817720, upload-time = "2026-01-11T09:57:39.039Z" }, + { url = "https://files.pythonhosted.org/packages/80/6f/13c3a35f9dbcebafd03fe0c4cbd075d71ac8968ec849a3cfce406c35a9d2/av-16.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a345877a9d3cc0f08e2bc4ec163ee83176864b92587afb9d08dff50f37a9a829", size = 42267396, upload-time = "2026-01-11T09:57:42.115Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b9/275df9607f7fb44317ccb1d4be74827185c0d410f52b6e2cd770fe209118/av-16.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:f49243b1d27c91cd8c66fdba90a674e344eb8eb917264f36117bf2b6879118fd", size = 31752045, upload-time = "2026-01-11T09:57:45.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/2a/63797a4dde34283dd8054219fcb29294ba1c25d68ba8c8c8a6ae53c62c45/av-16.1.0-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:ce2a1b3d8bf619f6c47a9f28cfa7518ff75ddd516c234a4ee351037b05e6a587", size = 26916715, upload-time = "2026-01-11T09:57:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c4/0b49cf730d0ae8cda925402f18ae814aef351f5772d14da72dd87ff66448/av-16.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:408dbe6a2573ca58a855eb8cd854112b33ea598651902c36709f5f84c991ed8e", size = 21452167, upload-time = "2026-01-11T09:57:50.606Z" }, + { url = "https://files.pythonhosted.org/packages/51/23/408806503e8d5d840975aad5699b153aaa21eb6de41ade75248a79b7a37f/av-16.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:57f657f86652a160a8a01887aaab82282f9e629abf94c780bbdbb01595d6f0f7", size = 39215659, upload-time = "2026-01-11T09:57:53.757Z" }, + { url = "https://files.pythonhosted.org/packages/c4/19/a8528d5bba592b3903f44c28dab9cc653c95fcf7393f382d2751a1d1523e/av-16.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:adbad2b355c2ee4552cac59762809d791bda90586d134a33c6f13727fb86cb3a", size = 40874970, upload-time = "2026-01-11T09:57:56.802Z" }, + { url = "https://files.pythonhosted.org/packages/e8/24/2dbcdf0e929ad56b7df078e514e7bd4ca0d45cba798aff3c8caac097d2f7/av-16.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f42e1a68ec2aebd21f7eb6895be69efa6aa27eec1670536876399725bbda4b99", size = 40530345, upload-time = "2026-01-11T09:58:00.421Z" }, + { url = "https://files.pythonhosted.org/packages/54/27/ae91b41207f34e99602d1c72ab6ffd9c51d7c67e3fbcd4e3a6c0e54f882c/av-16.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58fe47aeaef0f100c40ec8a5de9abbd37f118d3ca03829a1009cf288e9aef67c", size = 41972163, upload-time = "2026-01-11T09:58:03.756Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7a/22158fb923b2a9a00dfab0e96ef2e8a1763a94dd89e666a5858412383d46/av-16.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:565093ebc93b2f4b76782589564869dadfa83af5b852edebedd8fee746457d06", size = 31729230, upload-time = "2026-01-11T09:58:07.254Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f1/878f8687d801d6c4565d57ebec08449c46f75126ebca8e0fed6986599627/av-16.1.0-cp313-cp313t-macosx_11_0_x86_64.whl", hash = "sha256:574081a24edb98343fd9f473e21ae155bf61443d4ec9d7708987fa597d6b04b2", size = 27008769, upload-time = "2026-01-11T09:58:10.266Z" }, + { url = "https://files.pythonhosted.org/packages/30/f1/bd4ce8c8b5cbf1d43e27048e436cbc9de628d48ede088a1d0a993768eb86/av-16.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:9ab00ea29c25ebf2ea1d1e928d7babb3532d562481c5d96c0829212b70756ad0", size = 21590588, upload-time = "2026-01-11T09:58:12.629Z" }, + { url = "https://files.pythonhosted.org/packages/1d/dd/c81f6f9209201ff0b5d5bed6da6c6e641eef52d8fbc930d738c3f4f6f75d/av-16.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a84a91188c1071f238a9523fd42dbe567fb2e2607b22b779851b2ce0eac1b560", size = 40638029, upload-time = "2026-01-11T09:58:15.399Z" }, + { url = "https://files.pythonhosted.org/packages/15/4d/07edff82b78d0459a6e807e01cd280d3180ce832efc1543de80d77676722/av-16.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c2cd0de4dd022a7225ff224fde8e7971496d700be41c50adaaa26c07bb50bf97", size = 41970776, upload-time = "2026-01-11T09:58:19.075Z" }, + { url = "https://files.pythonhosted.org/packages/da/9d/1f48b354b82fa135d388477cd1b11b81bdd4384bd6a42a60808e2ec2d66b/av-16.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0816143530624a5a93bc5494f8c6eeaf77549b9366709c2ac8566c1e9bff6df5", size = 41764751, upload-time = "2026-01-11T09:58:22.788Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c7/a509801e98db35ec552dd79da7bdbcff7104044bfeb4c7d196c1ce121593/av-16.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e3a28053af29644696d0c007e897d19b1197585834660a54773e12a40b16974c", size = 43034355, upload-time = "2026-01-11T09:58:26.125Z" }, + { url = "https://files.pythonhosted.org/packages/36/8b/e5f530d9e8f640da5f5c5f681a424c65f9dd171c871cd255d8a861785a6e/av-16.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2e3e67144a202b95ed299d165232533989390a9ea3119d37eccec697dc6dbb0c", size = 31947047, upload-time = "2026-01-11T09:58:31.867Z" }, + { url = "https://files.pythonhosted.org/packages/df/18/8812221108c27d19f7e5f486a82c827923061edf55f906824ee0fcaadf50/av-16.1.0-cp314-cp314-macosx_11_0_x86_64.whl", hash = "sha256:39a634d8e5a87e78ea80772774bfd20c0721f0d633837ff185f36c9d14ffede4", size = 26916179, upload-time = "2026-01-11T09:58:36.506Z" }, + { url = "https://files.pythonhosted.org/packages/38/ef/49d128a9ddce42a2766fe2b6595bd9c49e067ad8937a560f7838a541464e/av-16.1.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:0ba32fb9e9300948a7fa9f8a3fc686e6f7f77599a665c71eb2118fdfd2c743f9", size = 21460168, upload-time = "2026-01-11T09:58:39.231Z" }, + { url = "https://files.pythonhosted.org/packages/e6/a9/b310d390844656fa74eeb8c2750e98030877c75b97551a23a77d3f982741/av-16.1.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:ca04d17815182d34ce3edc53cbda78a4f36e956c0fd73e3bab249872a831c4d7", size = 39210194, upload-time = "2026-01-11T09:58:42.138Z" }, + { url = "https://files.pythonhosted.org/packages/0c/7b/e65aae179929d0f173af6e474ad1489b5b5ad4c968a62c42758d619e54cf/av-16.1.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:ee0e8de2e124a9ef53c955fe2add6ee7c56cc8fd83318265549e44057db77142", size = 40811675, upload-time = "2026-01-11T09:58:45.871Z" }, + { url = "https://files.pythonhosted.org/packages/54/3f/5d7edefd26b6a5187d6fac0f5065ee286109934f3dea607ef05e53f05b31/av-16.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:22bf77a2f658827043a1e184b479c3bf25c4c43ab32353677df2d119f080e28f", size = 40543942, upload-time = "2026-01-11T09:58:49.759Z" }, + { url = "https://files.pythonhosted.org/packages/1b/24/f8b17897b67be0900a211142f5646a99d896168f54d57c81f3e018853796/av-16.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2dd419d262e6a71cab206d80bbf28e0a10d0f227b671cdf5e854c028faa2d043", size = 41924336, upload-time = "2026-01-11T09:58:53.344Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/d32bc6bbbcf60b65f6510c54690ed3ae1c4ca5d9fafbce835b6056858686/av-16.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:53585986fd431cd436f290fba662cfb44d9494fbc2949a183de00acc5b33fa88", size = 31735077, upload-time = "2026-01-11T09:58:56.684Z" }, + { url = "https://files.pythonhosted.org/packages/53/f4/9b63dc70af8636399bd933e9df4f3025a0294609510239782c1b746fc796/av-16.1.0-cp314-cp314t-macosx_11_0_x86_64.whl", hash = "sha256:76f5ed8495cf41e1209a5775d3699dc63fdc1740b94a095e2485f13586593205", size = 27014423, upload-time = "2026-01-11T09:58:59.703Z" }, + { url = "https://files.pythonhosted.org/packages/d1/da/787a07a0d6ed35a0888d7e5cfb8c2ffa202f38b7ad2c657299fac08eb046/av-16.1.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:8d55397190f12a1a3ae7538be58c356cceb2bf50df1b33523817587748ce89e5", size = 21595536, upload-time = "2026-01-11T09:59:02.508Z" }, + { url = "https://files.pythonhosted.org/packages/d8/f4/9a7d8651a611be6e7e3ab7b30bb43779899c8cac5f7293b9fb634c44a3f3/av-16.1.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:9d51d9037437218261b4bbf9df78a95e216f83d7774fbfe8d289230b5b2e28e2", size = 40642490, upload-time = "2026-01-11T09:59:05.842Z" }, + { url = "https://files.pythonhosted.org/packages/6b/e4/eb79bc538a94b4ff93cd4237d00939cba797579f3272490dd0144c165a21/av-16.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:0ce07a89c15644407f49d942111ca046e323bbab0a9078ff43ee57c9b4a50dad", size = 41976905, upload-time = "2026-01-11T09:59:09.169Z" }, + { url = "https://files.pythonhosted.org/packages/5e/f5/f6db0dd86b70167a4d55ee0d9d9640983c570d25504f2bde42599f38241e/av-16.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:cac0c074892ea97113b53556ff41c99562db7b9f09f098adac1f08318c2acad5", size = 41770481, upload-time = "2026-01-11T09:59:12.74Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/33651d658e45e16ab7671ea5fcf3d20980ea7983234f4d8d0c63c65581a5/av-16.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7dec3dcbc35a187ce450f65a2e0dda820d5a9e6553eea8344a1459af11c98649", size = 43036824, upload-time = "2026-01-11T09:59:16.507Z" }, + { url = "https://files.pythonhosted.org/packages/83/41/7f13361db54d7e02f11552575c0384dadaf0918138f4eaa82ea03a9f9580/av-16.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6f90dc082ff2068ddbe77618400b44d698d25d9c4edac57459e250c16b33d700", size = 31948164, upload-time = "2026-01-11T09:59:19.501Z" }, +] + +[[package]] +name = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "(implementation_name != 'PyPy' and platform_machine == 'arm64' and sys_platform == 'darwin') or (implementation_name != 'PyPy' and platform_machine == 'x86_64' and sys_platform == 'linux') or (implementation_name == 'PyPy' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (implementation_name == 'PyPy' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "humanfriendly", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018, upload-time = "2021-06-11T10:22:42.561Z" }, +] + +[[package]] +name = "colorlog" +version = "6.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/61/f083b5ac52e505dfc1c624eafbf8c7589a0d7f32daa398d2e7590efa5fda/colorlog-6.10.1.tar.gz", hash = "sha256:eb4ae5cb65fe7fec7773c2306061a8e63e02efc2c72eba9d27b0fa23c94f1321", size = 17162, upload-time = "2025-10-16T16:14:11.978Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl", hash = "sha256:2d7e8348291948af66122cff006c9f8da6255d224e7cf8e37d8de2df3bad8c9c", size = 11743, upload-time = "2025-10-16T16:14:10.512Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, +] + +[[package]] +name = "coverage" +version = "7.13.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/f9/e92df5e07f3fc8d4c7f9a0f146ef75446bf870351cd37b788cf5897f8079/coverage-7.13.1.tar.gz", hash = "sha256:b7593fe7eb5feaa3fbb461ac79aac9f9fc0387a5ca8080b0c6fe2ca27b091afd", size = 825862, upload-time = "2025-12-28T15:42:56.969Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/8a/87af46cccdfa78f53db747b09f5f9a21d5fc38d796834adac09b30a8ce74/coverage-7.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6f34591000f06e62085b1865c9bc5f7858df748834662a51edadfd2c3bfe0dd3", size = 218927, upload-time = "2025-12-28T15:40:52.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/a8/6e22fdc67242a4a5a153f9438d05944553121c8f4ba70cb072af4c41362e/coverage-7.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b67e47c5595b9224599016e333f5ec25392597a89d5744658f837d204e16c63e", size = 219288, upload-time = "2025-12-28T15:40:54.262Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0a/853a76e03b0f7c4375e2ca025df45c918beb367f3e20a0a8e91967f6e96c/coverage-7.13.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3e7b8bd70c48ffb28461ebe092c2345536fb18bbbf19d287c8913699735f505c", size = 250786, upload-time = "2025-12-28T15:40:56.059Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b4/694159c15c52b9f7ec7adf49d50e5f8ee71d3e9ef38adb4445d13dd56c20/coverage-7.13.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c223d078112e90dc0e5c4e35b98b9584164bea9fbbd221c0b21c5241f6d51b62", size = 253543, upload-time = "2025-12-28T15:40:57.585Z" }, + { url = "https://files.pythonhosted.org/packages/96/b2/7f1f0437a5c855f87e17cf5d0dc35920b6440ff2b58b1ba9788c059c26c8/coverage-7.13.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:794f7c05af0763b1bbd1b9e6eff0e52ad068be3b12cd96c87de037b01390c968", size = 254635, upload-time = "2025-12-28T15:40:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/e9/d1/73c3fdb8d7d3bddd9473c9c6a2e0682f09fc3dfbcb9c3f36412a7368bcab/coverage-7.13.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0642eae483cc8c2902e4af7298bf886d605e80f26382124cddc3967c2a3df09e", size = 251202, upload-time = "2025-12-28T15:41:01.328Z" }, + { url = "https://files.pythonhosted.org/packages/66/3c/f0edf75dcc152f145d5598329e864bbbe04ab78660fe3e8e395f9fff010f/coverage-7.13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9f5e772ed5fef25b3de9f2008fe67b92d46831bd2bc5bdc5dd6bfd06b83b316f", size = 252566, upload-time = "2025-12-28T15:41:03.319Z" }, + { url = "https://files.pythonhosted.org/packages/17/b3/e64206d3c5f7dcbceafd14941345a754d3dbc78a823a6ed526e23b9cdaab/coverage-7.13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:45980ea19277dc0a579e432aef6a504fe098ef3a9032ead15e446eb0f1191aee", size = 250711, upload-time = "2025-12-28T15:41:06.411Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ad/28a3eb970a8ef5b479ee7f0c484a19c34e277479a5b70269dc652b730733/coverage-7.13.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e4f18eca6028ffa62adbd185a8f1e1dd242f2e68164dba5c2b74a5204850b4cf", size = 250278, upload-time = "2025-12-28T15:41:08.285Z" }, + { url = "https://files.pythonhosted.org/packages/54/e3/c8f0f1a93133e3e1291ca76cbb63565bd4b5c5df63b141f539d747fff348/coverage-7.13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f8dca5590fec7a89ed6826fce625595279e586ead52e9e958d3237821fbc750c", size = 252154, upload-time = "2025-12-28T15:41:09.969Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bf/9939c5d6859c380e405b19e736321f1c7d402728792f4c752ad1adcce005/coverage-7.13.1-cp312-cp312-win32.whl", hash = "sha256:ff86d4e85188bba72cfb876df3e11fa243439882c55957184af44a35bd5880b7", size = 221487, upload-time = "2025-12-28T15:41:11.468Z" }, + { url = "https://files.pythonhosted.org/packages/fa/dc/7282856a407c621c2aad74021680a01b23010bb8ebf427cf5eacda2e876f/coverage-7.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:16cc1da46c04fb0fb128b4dc430b78fa2aba8a6c0c9f8eb391fd5103409a6ac6", size = 222299, upload-time = "2025-12-28T15:41:13.386Z" }, + { url = "https://files.pythonhosted.org/packages/10/79/176a11203412c350b3e9578620013af35bcdb79b651eb976f4a4b32044fa/coverage-7.13.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d9bc218650022a768f3775dd7fdac1886437325d8d295d923ebcfef4892ad5c", size = 220941, upload-time = "2025-12-28T15:41:14.975Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a4/e98e689347a1ff1a7f67932ab535cef82eb5e78f32a9e4132e114bbb3a0a/coverage-7.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cb237bfd0ef4d5eb6a19e29f9e528ac67ac3be932ea6b44fb6cc09b9f3ecff78", size = 218951, upload-time = "2025-12-28T15:41:16.653Z" }, + { url = "https://files.pythonhosted.org/packages/32/33/7cbfe2bdc6e2f03d6b240d23dc45fdaf3fd270aaf2d640be77b7f16989ab/coverage-7.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1dcb645d7e34dcbcc96cd7c132b1fc55c39263ca62eb961c064eb3928997363b", size = 219325, upload-time = "2025-12-28T15:41:18.609Z" }, + { url = "https://files.pythonhosted.org/packages/59/f6/efdabdb4929487baeb7cb2a9f7dac457d9356f6ad1b255be283d58b16316/coverage-7.13.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3d42df8201e00384736f0df9be2ced39324c3907607d17d50d50116c989d84cd", size = 250309, upload-time = "2025-12-28T15:41:20.629Z" }, + { url = "https://files.pythonhosted.org/packages/12/da/91a52516e9d5aea87d32d1523f9cdcf7a35a3b298e6be05d6509ba3cfab2/coverage-7.13.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa3edde1aa8807de1d05934982416cb3ec46d1d4d91e280bcce7cca01c507992", size = 252907, upload-time = "2025-12-28T15:41:22.257Z" }, + { url = "https://files.pythonhosted.org/packages/75/38/f1ea837e3dc1231e086db1638947e00d264e7e8c41aa8ecacf6e1e0c05f4/coverage-7.13.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9edd0e01a343766add6817bc448408858ba6b489039eaaa2018474e4001651a4", size = 254148, upload-time = "2025-12-28T15:41:23.87Z" }, + { url = "https://files.pythonhosted.org/packages/7f/43/f4f16b881aaa34954ba446318dea6b9ed5405dd725dd8daac2358eda869a/coverage-7.13.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:985b7836931d033570b94c94713c6dba5f9d3ff26045f72c3e5dbc5fe3361e5a", size = 250515, upload-time = "2025-12-28T15:41:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/8cba7f00078bd468ea914134e0144263194ce849ec3baad187ffb6203d1c/coverage-7.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ffed1e4980889765c84a5d1a566159e363b71d6b6fbaf0bebc9d3c30bc016766", size = 252292, upload-time = "2025-12-28T15:41:28.459Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/cffac66c7652d84ee4ac52d3ccb94c015687d3b513f9db04bfcac2ac800d/coverage-7.13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8842af7f175078456b8b17f1b73a0d16a65dcbdc653ecefeb00a56b3c8c298c4", size = 250242, upload-time = "2025-12-28T15:41:30.02Z" }, + { url = "https://files.pythonhosted.org/packages/f4/78/9a64d462263dde416f3c0067efade7b52b52796f489b1037a95b0dc389c9/coverage-7.13.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ccd7a6fca48ca9c131d9b0a2972a581e28b13416fc313fb98b6d24a03ce9a398", size = 250068, upload-time = "2025-12-28T15:41:32.007Z" }, + { url = "https://files.pythonhosted.org/packages/69/c8/a8994f5fece06db7c4a97c8fc1973684e178599b42e66280dded0524ef00/coverage-7.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0403f647055de2609be776965108447deb8e384fe4a553c119e3ff6bfbab4784", size = 251846, upload-time = "2025-12-28T15:41:33.946Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f7/91fa73c4b80305c86598a2d4e54ba22df6bf7d0d97500944af7ef155d9f7/coverage-7.13.1-cp313-cp313-win32.whl", hash = "sha256:549d195116a1ba1e1ae2f5ca143f9777800f6636eab917d4f02b5310d6d73461", size = 221512, upload-time = "2025-12-28T15:41:35.519Z" }, + { url = "https://files.pythonhosted.org/packages/45/0b/0768b4231d5a044da8f75e097a8714ae1041246bb765d6b5563bab456735/coverage-7.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:5899d28b5276f536fcf840b18b61a9fce23cc3aec1d114c44c07fe94ebeaa500", size = 222321, upload-time = "2025-12-28T15:41:37.371Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b8/bdcb7253b7e85157282450262008f1366aa04663f3e3e4c30436f596c3e2/coverage-7.13.1-cp313-cp313-win_arm64.whl", hash = "sha256:868a2fae76dfb06e87291bcbd4dcbcc778a8500510b618d50496e520bd94d9b9", size = 220949, upload-time = "2025-12-28T15:41:39.553Z" }, + { url = "https://files.pythonhosted.org/packages/70/52/f2be52cc445ff75ea8397948c96c1b4ee14f7f9086ea62fc929c5ae7b717/coverage-7.13.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:67170979de0dacac3f3097d02b0ad188d8edcea44ccc44aaa0550af49150c7dc", size = 219643, upload-time = "2025-12-28T15:41:41.567Z" }, + { url = "https://files.pythonhosted.org/packages/47/79/c85e378eaa239e2edec0c5523f71542c7793fe3340954eafb0bc3904d32d/coverage-7.13.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f80e2bb21bfab56ed7405c2d79d34b5dc0bc96c2c1d2a067b643a09fb756c43a", size = 219997, upload-time = "2025-12-28T15:41:43.418Z" }, + { url = "https://files.pythonhosted.org/packages/fe/9b/b1ade8bfb653c0bbce2d6d6e90cc6c254cbb99b7248531cc76253cb4da6d/coverage-7.13.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f83351e0f7dcdb14d7326c3d8d8c4e915fa685cbfdc6281f9470d97a04e9dfe4", size = 261296, upload-time = "2025-12-28T15:41:45.207Z" }, + { url = "https://files.pythonhosted.org/packages/1f/af/ebf91e3e1a2473d523e87e87fd8581e0aa08741b96265730e2d79ce78d8d/coverage-7.13.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb3f6562e89bad0110afbe64e485aac2462efdce6232cdec7862a095dc3412f6", size = 263363, upload-time = "2025-12-28T15:41:47.163Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8b/fb2423526d446596624ac7fde12ea4262e66f86f5120114c3cfd0bb2befa/coverage-7.13.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77545b5dcda13b70f872c3b5974ac64c21d05e65b1590b441c8560115dc3a0d1", size = 265783, upload-time = "2025-12-28T15:41:49.03Z" }, + { url = "https://files.pythonhosted.org/packages/9b/26/ef2adb1e22674913b89f0fe7490ecadcef4a71fa96f5ced90c60ec358789/coverage-7.13.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4d240d260a1aed814790bbe1f10a5ff31ce6c21bc78f0da4a1e8268d6c80dbd", size = 260508, upload-time = "2025-12-28T15:41:51.035Z" }, + { url = "https://files.pythonhosted.org/packages/ce/7d/f0f59b3404caf662e7b5346247883887687c074ce67ba453ea08c612b1d5/coverage-7.13.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d2287ac9360dec3837bfdad969963a5d073a09a85d898bd86bea82aa8876ef3c", size = 263357, upload-time = "2025-12-28T15:41:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b1/29896492b0b1a047604d35d6fa804f12818fa30cdad660763a5f3159e158/coverage-7.13.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:0d2c11f3ea4db66b5cbded23b20185c35066892c67d80ec4be4bab257b9ad1e0", size = 260978, upload-time = "2025-12-28T15:41:54.589Z" }, + { url = "https://files.pythonhosted.org/packages/48/f2/971de1238a62e6f0a4128d37adadc8bb882ee96afbe03ff1570291754629/coverage-7.13.1-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:3fc6a169517ca0d7ca6846c3c5392ef2b9e38896f61d615cb75b9e7134d4ee1e", size = 259877, upload-time = "2025-12-28T15:41:56.263Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fc/0474efcbb590ff8628830e9aaec5f1831594874360e3251f1fdec31d07a3/coverage-7.13.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d10a2ed46386e850bb3de503a54f9fe8192e5917fcbb143bfef653a9355e9a53", size = 262069, upload-time = "2025-12-28T15:41:58.093Z" }, + { url = "https://files.pythonhosted.org/packages/88/4f/3c159b7953db37a7b44c0eab8a95c37d1aa4257c47b4602c04022d5cb975/coverage-7.13.1-cp313-cp313t-win32.whl", hash = "sha256:75a6f4aa904301dab8022397a22c0039edc1f51e90b83dbd4464b8a38dc87842", size = 222184, upload-time = "2025-12-28T15:41:59.763Z" }, + { url = "https://files.pythonhosted.org/packages/58/a5/6b57d28f81417f9335774f20679d9d13b9a8fb90cd6160957aa3b54a2379/coverage-7.13.1-cp313-cp313t-win_amd64.whl", hash = "sha256:309ef5706e95e62578cda256b97f5e097916a2c26247c287bbe74794e7150df2", size = 223250, upload-time = "2025-12-28T15:42:01.52Z" }, + { url = "https://files.pythonhosted.org/packages/81/7c/160796f3b035acfbb58be80e02e484548595aa67e16a6345e7910ace0a38/coverage-7.13.1-cp313-cp313t-win_arm64.whl", hash = "sha256:92f980729e79b5d16d221038dbf2e8f9a9136afa072f9d5d6ed4cb984b126a09", size = 221521, upload-time = "2025-12-28T15:42:03.275Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8e/ba0e597560c6563fc0adb902fda6526df5d4aa73bb10adf0574d03bd2206/coverage-7.13.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:97ab3647280d458a1f9adb85244e81587505a43c0c7cff851f5116cd2814b894", size = 218996, upload-time = "2025-12-28T15:42:04.978Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8e/764c6e116f4221dc7aa26c4061181ff92edb9c799adae6433d18eeba7a14/coverage-7.13.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8f572d989142e0908e6acf57ad1b9b86989ff057c006d13b76c146ec6a20216a", size = 219326, upload-time = "2025-12-28T15:42:06.691Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a6/6130dc6d8da28cdcbb0f2bf8865aeca9b157622f7c0031e48c6cf9a0e591/coverage-7.13.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d72140ccf8a147e94274024ff6fd8fb7811354cf7ef88b1f0a988ebaa5bc774f", size = 250374, upload-time = "2025-12-28T15:42:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/82/2b/783ded568f7cd6b677762f780ad338bf4b4750205860c17c25f7c708995e/coverage-7.13.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3c9f051b028810f5a87c88e5d6e9af3c0ff32ef62763bf15d29f740453ca909", size = 252882, upload-time = "2025-12-28T15:42:10.515Z" }, + { url = "https://files.pythonhosted.org/packages/cd/b2/9808766d082e6a4d59eb0cc881a57fc1600eb2c5882813eefff8254f71b5/coverage-7.13.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f398ba4df52d30b1763f62eed9de5620dcde96e6f491f4c62686736b155aa6e4", size = 254218, upload-time = "2025-12-28T15:42:12.208Z" }, + { url = "https://files.pythonhosted.org/packages/44/ea/52a985bb447c871cb4d2e376e401116520991b597c85afdde1ea9ef54f2c/coverage-7.13.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:132718176cc723026d201e347f800cd1a9e4b62ccd3f82476950834dad501c75", size = 250391, upload-time = "2025-12-28T15:42:14.21Z" }, + { url = "https://files.pythonhosted.org/packages/7f/1d/125b36cc12310718873cfc8209ecfbc1008f14f4f5fa0662aa608e579353/coverage-7.13.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9e549d642426e3579b3f4b92d0431543b012dcb6e825c91619d4e93b7363c3f9", size = 252239, upload-time = "2025-12-28T15:42:16.292Z" }, + { url = "https://files.pythonhosted.org/packages/6a/16/10c1c164950cade470107f9f14bbac8485f8fb8515f515fca53d337e4a7f/coverage-7.13.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:90480b2134999301eea795b3a9dbf606c6fbab1b489150c501da84a959442465", size = 250196, upload-time = "2025-12-28T15:42:18.54Z" }, + { url = "https://files.pythonhosted.org/packages/2a/c6/cd860fac08780c6fd659732f6ced1b40b79c35977c1356344e44d72ba6c4/coverage-7.13.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e825dbb7f84dfa24663dd75835e7257f8882629fc11f03ecf77d84a75134b864", size = 250008, upload-time = "2025-12-28T15:42:20.365Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/a8c58d3d38f82a5711e1e0a67268362af48e1a03df27c03072ac30feefcf/coverage-7.13.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:623dcc6d7a7ba450bbdbeedbaa0c42b329bdae16491af2282f12a7e809be7eb9", size = 251671, upload-time = "2025-12-28T15:42:22.114Z" }, + { url = "https://files.pythonhosted.org/packages/f0/bc/fd4c1da651d037a1e3d53e8cb3f8182f4b53271ffa9a95a2e211bacc0349/coverage-7.13.1-cp314-cp314-win32.whl", hash = "sha256:6e73ebb44dca5f708dc871fe0b90cf4cff1a13f9956f747cc87b535a840386f5", size = 221777, upload-time = "2025-12-28T15:42:23.919Z" }, + { url = "https://files.pythonhosted.org/packages/4b/50/71acabdc8948464c17e90b5ffd92358579bd0910732c2a1c9537d7536aa6/coverage-7.13.1-cp314-cp314-win_amd64.whl", hash = "sha256:be753b225d159feb397bd0bf91ae86f689bad0da09d3b301478cd39b878ab31a", size = 222592, upload-time = "2025-12-28T15:42:25.619Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/a6fb943081bb0cc926499c7907731a6dc9efc2cbdc76d738c0ab752f1a32/coverage-7.13.1-cp314-cp314-win_arm64.whl", hash = "sha256:228b90f613b25ba0019361e4ab81520b343b622fc657daf7e501c4ed6a2366c0", size = 221169, upload-time = "2025-12-28T15:42:27.629Z" }, + { url = "https://files.pythonhosted.org/packages/16/61/d5b7a0a0e0e40d62e59bc8c7aa1afbd86280d82728ba97f0673b746b78e2/coverage-7.13.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:60cfb538fe9ef86e5b2ab0ca8fc8d62524777f6c611dcaf76dc16fbe9b8e698a", size = 219730, upload-time = "2025-12-28T15:42:29.306Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2c/8881326445fd071bb49514d1ce97d18a46a980712b51fee84f9ab42845b4/coverage-7.13.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:57dfc8048c72ba48a8c45e188d811e5efd7e49b387effc8fb17e97936dde5bf6", size = 220001, upload-time = "2025-12-28T15:42:31.319Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d7/50de63af51dfa3a7f91cc37ad8fcc1e244b734232fbc8b9ab0f3c834a5cd/coverage-7.13.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3f2f725aa3e909b3c5fdb8192490bdd8e1495e85906af74fe6e34a2a77ba0673", size = 261370, upload-time = "2025-12-28T15:42:32.992Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2c/d31722f0ec918fd7453b2758312729f645978d212b410cd0f7c2aed88a94/coverage-7.13.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ee68b21909686eeb21dfcba2c3b81fee70dcf38b140dcd5aa70680995fa3aa5", size = 263485, upload-time = "2025-12-28T15:42:34.759Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7a/2c114fa5c5fc08ba0777e4aec4c97e0b4a1afcb69c75f1f54cff78b073ab/coverage-7.13.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:724b1b270cb13ea2e6503476e34541a0b1f62280bc997eab443f87790202033d", size = 265890, upload-time = "2025-12-28T15:42:36.517Z" }, + { url = "https://files.pythonhosted.org/packages/65/d9/f0794aa1c74ceabc780fe17f6c338456bbc4e96bd950f2e969f48ac6fb20/coverage-7.13.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:916abf1ac5cf7eb16bc540a5bf75c71c43a676f5c52fcb9fe75a2bd75fb944e8", size = 260445, upload-time = "2025-12-28T15:42:38.646Z" }, + { url = "https://files.pythonhosted.org/packages/49/23/184b22a00d9bb97488863ced9454068c79e413cb23f472da6cbddc6cfc52/coverage-7.13.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:776483fd35b58d8afe3acbd9988d5de592ab6da2d2a865edfdbc9fdb43e7c486", size = 263357, upload-time = "2025-12-28T15:42:40.788Z" }, + { url = "https://files.pythonhosted.org/packages/7d/bd/58af54c0c9199ea4190284f389005779d7daf7bf3ce40dcd2d2b2f96da69/coverage-7.13.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b6f3b96617e9852703f5b633ea01315ca45c77e879584f283c44127f0f1ec564", size = 260959, upload-time = "2025-12-28T15:42:42.808Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2a/6839294e8f78a4891bf1df79d69c536880ba2f970d0ff09e7513d6e352e9/coverage-7.13.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:bd63e7b74661fed317212fab774e2a648bc4bb09b35f25474f8e3325d2945cd7", size = 259792, upload-time = "2025-12-28T15:42:44.818Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c3/528674d4623283310ad676c5af7414b9850ab6d55c2300e8aa4b945ec554/coverage-7.13.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:933082f161bbb3e9f90d00990dc956120f608cdbcaeea15c4d897f56ef4fe416", size = 262123, upload-time = "2025-12-28T15:42:47.108Z" }, + { url = "https://files.pythonhosted.org/packages/06/c5/8c0515692fb4c73ac379d8dc09b18eaf0214ecb76ea6e62467ba7a1556ff/coverage-7.13.1-cp314-cp314t-win32.whl", hash = "sha256:18be793c4c87de2965e1c0f060f03d9e5aff66cfeae8e1dbe6e5b88056ec153f", size = 222562, upload-time = "2025-12-28T15:42:49.144Z" }, + { url = "https://files.pythonhosted.org/packages/05/0e/c0a0c4678cb30dac735811db529b321d7e1c9120b79bd728d4f4d6b010e9/coverage-7.13.1-cp314-cp314t-win_amd64.whl", hash = "sha256:0e42e0ec0cd3e0d851cb3c91f770c9301f48647cb2877cb78f74bdaa07639a79", size = 223670, upload-time = "2025-12-28T15:42:51.218Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/b177aa0011f354abf03a8f30a85032686d290fdeed4222b27d36b4372a50/coverage-7.13.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eaecf47ef10c72ece9a2a92118257da87e460e113b83cc0d2905cbbe931792b4", size = 221707, upload-time = "2025-12-28T15:42:53.034Z" }, + { url = "https://files.pythonhosted.org/packages/cc/48/d9f421cb8da5afaa1a64570d9989e00fb7955e6acddc5a12979f7666ef60/coverage-7.13.1-py3-none-any.whl", hash = "sha256:2016745cb3ba554469d02819d78958b571792bb68e31302610e898f80dd3a573", size = 210722, upload-time = "2025-12-28T15:42:54.901Z" }, +] + +[[package]] +name = "ctranslate2" +version = "4.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "setuptools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/77/08c38c3d507fec5cff5bea8a6e23c470dd786de7f44b63f67c740149ee6c/ctranslate2-4.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:32022dcf0ee2eace0b00345899b0e2be2f5a8b57d8467b1f5ecee40bb3e18746", size = 1254380, upload-time = "2026-01-07T05:46:30.018Z" }, + { url = "https://files.pythonhosted.org/packages/d0/65/c0d244cb7d06ae1c80c0ba8750697a710dab02b4be435270525282729a82/ctranslate2-4.6.3-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:df88e7ac821b2def12ae6c71ba4180c13abc13713c1d1ae819e92f2db8556564", size = 11916727, upload-time = "2026-01-07T05:46:31.967Z" }, + { url = "https://files.pythonhosted.org/packages/16/a3/44d100691904eb72baaeae17057bc67d4330310843f26f2e9bc5410b1761/ctranslate2-4.6.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:487f57da179057e1a8498d3b61f2fcd826ddfe989ce43ff3b500ec805ca55d56", size = 16858230, upload-time = "2026-01-07T05:46:33.857Z" }, + { url = "https://files.pythonhosted.org/packages/a0/60/9fe7407a1831ee14a8980ea3bec7c28646dbc80038339c62a22e9a106a8a/ctranslate2-4.6.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a857a42b091f9e0b8b1f63cf1fb356822bb4905d555039f542ff95cf90fd592b", size = 38789769, upload-time = "2026-01-07T05:46:36.354Z" }, + { url = "https://files.pythonhosted.org/packages/52/6d/18c06b4cd2c9ebeb4b64fbe2281ba08295dc8170f723f70f63f07a7248af/ctranslate2-4.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:05ec48b44bb2f1e623e30acc57d34d22000d969e8998cae7762137231fae0d25", size = 18617894, upload-time = "2026-01-07T05:46:38.641Z" }, + { url = "https://files.pythonhosted.org/packages/12/a8/e4e254a019195bfa4dd97c382e66f9b186ace42d495cb20e179bb8d7528a/ctranslate2-4.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95ff7fdd70bd64d40834cb6ba82bcec15228a9f34dff587babd03a1c3064c302", size = 1254244, upload-time = "2026-01-07T05:46:40.839Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ab/b6c3dc004d5019a35c5c5366de31a6018b3c9f13d89690c377b7d3b2ef33/ctranslate2-4.6.3-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:a562ef2fd48287423dd6158a0c7921b6c238a052f690bce510b998bba82fd3e2", size = 11916868, upload-time = "2026-01-07T05:46:42.292Z" }, + { url = "https://files.pythonhosted.org/packages/8e/15/d29e48e942e326809c81d8940a8cccf8c5841ca026e774d4d199862fdc30/ctranslate2-4.6.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6cc539ed7c3531354971c78938da50f29ac08b8dc9140bc7ac377e8344bc63e2", size = 16859859, upload-time = "2026-01-07T05:46:44.182Z" }, + { url = "https://files.pythonhosted.org/packages/93/b6/738a2aec047b404e86a2a5a8a7e8b756ff456752553885fe41d53fa2cb8e/ctranslate2-4.6.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f08efa826707d095ade28410dca27f8d377520f3068843e00b349d5ca15cf174", size = 38790427, upload-time = "2026-01-07T05:46:46.722Z" }, + { url = "https://files.pythonhosted.org/packages/b1/10/04db3b4ff04159c4031d301b097058a02236c0e23b741a105732697c3237/ctranslate2-4.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a6b6e80d79242761d0583bc0ad7e7ba4d09745d2b23e814bc35f6c842b0ca45", size = 18617902, upload-time = "2026-01-07T05:46:49.068Z" }, + { url = "https://files.pythonhosted.org/packages/83/94/9b5229e2c274e677e9c7c42148cd42d27a73c362e5604ac2aeb539686e9e/ctranslate2-4.6.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:75f3e9d3ca7b3d91c87f67972f20998fc318a22d49c25b6d7144b947b5e3240e", size = 1254843, upload-time = "2026-01-07T05:46:51.316Z" }, + { url = "https://files.pythonhosted.org/packages/22/e9/622b393397b7b3cd9862c633a26f8d9572f9bdbda5f165b6f06c241ec47a/ctranslate2-4.6.3-cp314-cp314-macosx_11_0_x86_64.whl", hash = "sha256:a0657885219e05a6575bb9d8ac4c055da25110d6c897dfed7a322f8c01267fb1", size = 11917218, upload-time = "2026-01-07T05:46:52.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/65/bedd633b4514fc903e02f1a350d612c92504d4214dbbd46a534184254848/ctranslate2-4.6.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53e975acf49bab2cd00290a2ece56925d087f8300d5bd7463b96c60002146034", size = 16843460, upload-time = "2026-01-07T05:46:54.616Z" }, + { url = "https://files.pythonhosted.org/packages/3c/34/4c20a5e83736c8d211cfb1b77a78de049ef92fe042301d5b6463730487eb/ctranslate2-4.6.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e411c7212f42899f12522b4d9a4b5a59542aa27d5b8e87e7e7bd2f52194fa984", size = 38760968, upload-time = "2026-01-07T05:46:56.851Z" }, + { url = "https://files.pythonhosted.org/packages/65/da/96d67fbddc99619b3fc28abde490ba7b95f9a313c9eb69be01e6846366ce/ctranslate2-4.6.3-cp314-cp314-win_amd64.whl", hash = "sha256:40749b5ad208eb5224ea7ec9516ff290e77373974be0f41697eccf3cef2a44eb", size = 18869510, upload-time = "2026-01-07T05:46:59.426Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d6/81b6fcb40c479f991aed3acf75fff6aa579f532137c0963290970a722c12/ctranslate2-4.6.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:dd117643e9bae19d53e3fea4415862841c4e69fcff86dbc4dd397f6864390d84", size = 1277479, upload-time = "2026-01-07T05:47:01.591Z" }, + { url = "https://files.pythonhosted.org/packages/88/d1/68f72d05b850ebb0d1a91fc9a6a99ec7df374315d699a5cc1e4daa3cc401/ctranslate2-4.6.3-cp314-cp314t-macosx_11_0_x86_64.whl", hash = "sha256:e058b51372faee95780c0d0af513e7c5df268fffcd435a856476d998e65ebf67", size = 11938392, upload-time = "2026-01-07T05:47:03.515Z" }, + { url = "https://files.pythonhosted.org/packages/19/eb/337ca8ac7ec9d63940dfb801a363f767627311d2115168d10d49589d926a/ctranslate2-4.6.3-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4eca886e30e658bece2bd0fc331a37f4a5ad1e29a590d43d5082c7896eba59d7", size = 16848673, upload-time = "2026-01-07T05:47:05.721Z" }, + { url = "https://files.pythonhosted.org/packages/5d/76/15c3671e16afaf97d0b4825614eef280261ee2c65674101f4cabb1a6d193/ctranslate2-4.6.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5345d0d259383ddc106343744be5ada9646f0e2632a6676482fd9de6114c9ee2", size = 38743918, upload-time = "2026-01-07T05:47:07.845Z" }, + { url = "https://files.pythonhosted.org/packages/38/e4/f17621af9f0cd7c1ed94c44a92a5c73e5d1b95bbbedc413e919b1be6369d/ctranslate2-4.6.3-cp314-cp314t-win_amd64.whl", hash = "sha256:53ab04edc3f7280465cd54e6a359f26960eb63961eeae27cb9726f449b4b217e", size = 18892164, upload-time = "2026-01-07T05:47:09.983Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "docopt" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901, upload-time = "2014-06-16T11:18:57.406Z" } + +[[package]] +name = "einops" +version = "0.8.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/81/df4fbe24dff8ba3934af99044188e20a98ed441ad17a274539b74e82e126/einops-0.8.1.tar.gz", hash = "sha256:de5d960a7a761225532e0f1959e5315ebeafc0cd43394732f103ca44b9837e84", size = 54805, upload-time = "2025-02-09T03:17:00.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/62/9773de14fe6c45c23649e98b83231fffd7b9892b6cf863251dc2afa73643/einops-0.8.1-py3-none-any.whl", hash = "sha256:919387eb55330f5757c6bea9165c5ff5cfe63a642682ea788a6d472576d81737", size = 64359, upload-time = "2025-02-09T03:17:01.998Z" }, +] + +[[package]] +name = "faster-whisper" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "av", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "ctranslate2", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "huggingface-hub", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "onnxruntime", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tokenizers", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/99/49ee85903dee060d9f08297b4a342e5e0bcfca2f027a07b4ee0a38ab13f9/faster_whisper-1.2.1-py3-none-any.whl", hash = "sha256:79a66ad50688c0b794dd501dc340a736992a6342f7f95e5811be60b5224a26a7", size = 1118909, upload-time = "2025-10-31T11:35:47.794Z" }, +] + +[[package]] +name = "filelock" +version = "3.20.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" }, +] + +[[package]] +name = "flatbuffers" +version = "25.12.19" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/2d/d2a548598be01649e2d46231d151a6c56d10b964d94043a335ae56ea2d92/flatbuffers-25.12.19-py2.py3-none-any.whl", hash = "sha256:7634f50c427838bb021c2d66a3d1168e9d199b0607e6329399f04846d42e20b4", size = 26661, upload-time = "2025-12-19T23:16:13.622Z" }, +] + +[[package]] +name = "fonttools" +version = "4.61.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/ca/cf17b88a8df95691275a3d77dc0a5ad9907f328ae53acbe6795da1b2f5ed/fonttools-4.61.1.tar.gz", hash = "sha256:6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69", size = 3565756, upload-time = "2025-12-12T17:31:24.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/16/7decaa24a1bd3a70c607b2e29f0adc6159f36a7e40eaba59846414765fd4/fonttools-4.61.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e", size = 2851593, upload-time = "2025-12-12T17:30:04.225Z" }, + { url = "https://files.pythonhosted.org/packages/94/98/3c4cb97c64713a8cf499b3245c3bf9a2b8fd16a3e375feff2aed78f96259/fonttools-4.61.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2", size = 2400231, upload-time = "2025-12-12T17:30:06.47Z" }, + { url = "https://files.pythonhosted.org/packages/b7/37/82dbef0f6342eb01f54bca073ac1498433d6ce71e50c3c3282b655733b31/fonttools-4.61.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796", size = 4954103, upload-time = "2025-12-12T17:30:08.432Z" }, + { url = "https://files.pythonhosted.org/packages/6c/44/f3aeac0fa98e7ad527f479e161aca6c3a1e47bb6996b053d45226fe37bf2/fonttools-4.61.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d", size = 5004295, upload-time = "2025-12-12T17:30:10.56Z" }, + { url = "https://files.pythonhosted.org/packages/14/e8/7424ced75473983b964d09f6747fa09f054a6d656f60e9ac9324cf40c743/fonttools-4.61.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8", size = 4944109, upload-time = "2025-12-12T17:30:12.874Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8b/6391b257fa3d0b553d73e778f953a2f0154292a7a7a085e2374b111e5410/fonttools-4.61.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0", size = 5093598, upload-time = "2025-12-12T17:30:15.79Z" }, + { url = "https://files.pythonhosted.org/packages/d9/71/fd2ea96cdc512d92da5678a1c98c267ddd4d8c5130b76d0f7a80f9a9fde8/fonttools-4.61.1-cp312-cp312-win32.whl", hash = "sha256:75da8f28eff26defba42c52986de97b22106cb8f26515b7c22443ebc9c2d3261", size = 2269060, upload-time = "2025-12-12T17:30:18.058Z" }, + { url = "https://files.pythonhosted.org/packages/80/3b/a3e81b71aed5a688e89dfe0e2694b26b78c7d7f39a5ffd8a7d75f54a12a8/fonttools-4.61.1-cp312-cp312-win_amd64.whl", hash = "sha256:497c31ce314219888c0e2fce5ad9178ca83fe5230b01a5006726cdf3ac9f24d9", size = 2319078, upload-time = "2025-12-12T17:30:22.862Z" }, + { url = "https://files.pythonhosted.org/packages/4b/cf/00ba28b0990982530addb8dc3e9e6f2fa9cb5c20df2abdda7baa755e8fe1/fonttools-4.61.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c56c488ab471628ff3bfa80964372fc13504ece601e0d97a78ee74126b2045c", size = 2846454, upload-time = "2025-12-12T17:30:24.938Z" }, + { url = "https://files.pythonhosted.org/packages/5a/ca/468c9a8446a2103ae645d14fee3f610567b7042aba85031c1c65e3ef7471/fonttools-4.61.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc492779501fa723b04d0ab1f5be046797fee17d27700476edc7ee9ae535a61e", size = 2398191, upload-time = "2025-12-12T17:30:27.343Z" }, + { url = "https://files.pythonhosted.org/packages/a3/4b/d67eedaed19def5967fade3297fed8161b25ba94699efc124b14fb68cdbc/fonttools-4.61.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:64102ca87e84261419c3747a0d20f396eb024bdbeb04c2bfb37e2891f5fadcb5", size = 4928410, upload-time = "2025-12-12T17:30:29.771Z" }, + { url = "https://files.pythonhosted.org/packages/b0/8d/6fb3494dfe61a46258cd93d979cf4725ded4eb46c2a4ca35e4490d84daea/fonttools-4.61.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c1b526c8d3f615a7b1867f38a9410849c8f4aef078535742198e942fba0e9bd", size = 4984460, upload-time = "2025-12-12T17:30:32.073Z" }, + { url = "https://files.pythonhosted.org/packages/f7/f1/a47f1d30b3dc00d75e7af762652d4cbc3dff5c2697a0dbd5203c81afd9c3/fonttools-4.61.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:41ed4b5ec103bd306bb68f81dc166e77409e5209443e5773cb4ed837bcc9b0d3", size = 4925800, upload-time = "2025-12-12T17:30:34.339Z" }, + { url = "https://files.pythonhosted.org/packages/a7/01/e6ae64a0981076e8a66906fab01539799546181e32a37a0257b77e4aa88b/fonttools-4.61.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b501c862d4901792adaec7c25b1ecc749e2662543f68bb194c42ba18d6eec98d", size = 5067859, upload-time = "2025-12-12T17:30:36.593Z" }, + { url = "https://files.pythonhosted.org/packages/73/aa/28e40b8d6809a9b5075350a86779163f074d2b617c15d22343fce81918db/fonttools-4.61.1-cp313-cp313-win32.whl", hash = "sha256:4d7092bb38c53bbc78e9255a59158b150bcdc115a1e3b3ce0b5f267dc35dd63c", size = 2267821, upload-time = "2025-12-12T17:30:38.478Z" }, + { url = "https://files.pythonhosted.org/packages/1a/59/453c06d1d83dc0951b69ef692d6b9f1846680342927df54e9a1ca91c6f90/fonttools-4.61.1-cp313-cp313-win_amd64.whl", hash = "sha256:21e7c8d76f62ab13c9472ccf74515ca5b9a761d1bde3265152a6dc58700d895b", size = 2318169, upload-time = "2025-12-12T17:30:40.951Z" }, + { url = "https://files.pythonhosted.org/packages/32/8f/4e7bf82c0cbb738d3c2206c920ca34ca74ef9dabde779030145d28665104/fonttools-4.61.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fff4f534200a04b4a36e7ae3cb74493afe807b517a09e99cb4faa89a34ed6ecd", size = 2846094, upload-time = "2025-12-12T17:30:43.511Z" }, + { url = "https://files.pythonhosted.org/packages/71/09/d44e45d0a4f3a651f23a1e9d42de43bc643cce2971b19e784cc67d823676/fonttools-4.61.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d9203500f7c63545b4ce3799319fe4d9feb1a1b89b28d3cb5abd11b9dd64147e", size = 2396589, upload-time = "2025-12-12T17:30:45.681Z" }, + { url = "https://files.pythonhosted.org/packages/89/18/58c64cafcf8eb677a99ef593121f719e6dcbdb7d1c594ae5a10d4997ca8a/fonttools-4.61.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa646ecec9528bef693415c79a86e733c70a4965dd938e9a226b0fc64c9d2e6c", size = 4877892, upload-time = "2025-12-12T17:30:47.709Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ec/9e6b38c7ba1e09eb51db849d5450f4c05b7e78481f662c3b79dbde6f3d04/fonttools-4.61.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11f35ad7805edba3aac1a3710d104592df59f4b957e30108ae0ba6c10b11dd75", size = 4972884, upload-time = "2025-12-12T17:30:49.656Z" }, + { url = "https://files.pythonhosted.org/packages/5e/87/b5339da8e0256734ba0dbbf5b6cdebb1dd79b01dc8c270989b7bcd465541/fonttools-4.61.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b931ae8f62db78861b0ff1ac017851764602288575d65b8e8ff1963fed419063", size = 4924405, upload-time = "2025-12-12T17:30:51.735Z" }, + { url = "https://files.pythonhosted.org/packages/0b/47/e3409f1e1e69c073a3a6fd8cb886eb18c0bae0ee13db2c8d5e7f8495e8b7/fonttools-4.61.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b148b56f5de675ee16d45e769e69f87623a4944f7443850bf9a9376e628a89d2", size = 5035553, upload-time = "2025-12-12T17:30:54.823Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b6/1f6600161b1073a984294c6c031e1a56ebf95b6164249eecf30012bb2e38/fonttools-4.61.1-cp314-cp314-win32.whl", hash = "sha256:9b666a475a65f4e839d3d10473fad6d47e0a9db14a2f4a224029c5bfde58ad2c", size = 2271915, upload-time = "2025-12-12T17:30:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/52/7b/91e7b01e37cc8eb0e1f770d08305b3655e4f002fc160fb82b3390eabacf5/fonttools-4.61.1-cp314-cp314-win_amd64.whl", hash = "sha256:4f5686e1fe5fce75d82d93c47a438a25bf0d1319d2843a926f741140b2b16e0c", size = 2323487, upload-time = "2025-12-12T17:30:59.804Z" }, + { url = "https://files.pythonhosted.org/packages/39/5c/908ad78e46c61c3e3ed70c3b58ff82ab48437faf84ec84f109592cabbd9f/fonttools-4.61.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e76ce097e3c57c4bcb67c5aa24a0ecdbd9f74ea9219997a707a4061fbe2707aa", size = 2929571, upload-time = "2025-12-12T17:31:02.574Z" }, + { url = "https://files.pythonhosted.org/packages/bd/41/975804132c6dea64cdbfbaa59f3518a21c137a10cccf962805b301ac6ab2/fonttools-4.61.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:9cfef3ab326780c04d6646f68d4b4742aae222e8b8ea1d627c74e38afcbc9d91", size = 2435317, upload-time = "2025-12-12T17:31:04.974Z" }, + { url = "https://files.pythonhosted.org/packages/b0/5a/aef2a0a8daf1ebaae4cfd83f84186d4a72ee08fd6a8451289fcd03ffa8a4/fonttools-4.61.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a75c301f96db737e1c5ed5fd7d77d9c34466de16095a266509e13da09751bd19", size = 4882124, upload-time = "2025-12-12T17:31:07.456Z" }, + { url = "https://files.pythonhosted.org/packages/80/33/d6db3485b645b81cea538c9d1c9219d5805f0877fda18777add4671c5240/fonttools-4.61.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:91669ccac46bbc1d09e9273546181919064e8df73488ea087dcac3e2968df9ba", size = 5100391, upload-time = "2025-12-12T17:31:09.732Z" }, + { url = "https://files.pythonhosted.org/packages/6c/d6/675ba631454043c75fcf76f0ca5463eac8eb0666ea1d7badae5fea001155/fonttools-4.61.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c33ab3ca9d3ccd581d58e989d67554e42d8d4ded94ab3ade3508455fe70e65f7", size = 4978800, upload-time = "2025-12-12T17:31:11.681Z" }, + { url = "https://files.pythonhosted.org/packages/7f/33/d3ec753d547a8d2bdaedd390d4a814e8d5b45a093d558f025c6b990b554c/fonttools-4.61.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:664c5a68ec406f6b1547946683008576ef8b38275608e1cee6c061828171c118", size = 5006426, upload-time = "2025-12-12T17:31:13.764Z" }, + { url = "https://files.pythonhosted.org/packages/b4/40/cc11f378b561a67bea850ab50063366a0d1dd3f6d0a30ce0f874b0ad5664/fonttools-4.61.1-cp314-cp314t-win32.whl", hash = "sha256:aed04cabe26f30c1647ef0e8fbb207516fd40fe9472e9439695f5c6998e60ac5", size = 2335377, upload-time = "2025-12-12T17:31:16.49Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ff/c9a2b66b39f8628531ea58b320d66d951267c98c6a38684daa8f50fb02f8/fonttools-4.61.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2180f14c141d2f0f3da43f3a81bc8aa4684860f6b0e6f9e165a4831f24e6a23b", size = 2400613, upload-time = "2025-12-12T17:31:18.769Z" }, + { url = "https://files.pythonhosted.org/packages/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97/fonttools-4.61.1-py3-none-any.whl", hash = "sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371", size = 1148996, upload-time = "2025-12-12T17:31:21.03Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, +] + +[[package]] +name = "fsspec" +version = "2026.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/7d/5df2650c57d47c57232af5ef4b4fdbff182070421e405e0d62c6cdbfaa87/fsspec-2026.1.0.tar.gz", hash = "sha256:e987cb0496a0d81bba3a9d1cee62922fb395e7d4c3b575e57f547953334fe07b", size = 310496, upload-time = "2026-01-09T15:21:35.562Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/c9/97cc5aae1648dcb851958a3ddf73ccd7dbe5650d95203ecb4d7720b4cdbf/fsspec-2026.1.0-py3-none-any.whl", hash = "sha256:cb76aa913c2285a3b49bdd5fc55b1d7c708d7208126b60f2eb8194fe1b4cbdcc", size = 201838, upload-time = "2026-01-09T15:21:34.041Z" }, +] + +[package.optional-dependencies] +http = [ + { name = "aiohttp", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] + +[[package]] +name = "googleapis-common-protos" +version = "1.72.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz", hash = "sha256:e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5", size = 147433, upload-time = "2025-11-06T18:29:24.087Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/ab/09169d5a4612a5f92490806649ac8d41e3ec9129c636754575b3553f4ea4/googleapis_common_protos-1.72.0-py3-none-any.whl", hash = "sha256:4299c5a82d5ae1a9702ada957347726b167f9f8d1fc352477702a1e851ff4038", size = 297515, upload-time = "2025-11-06T18:29:13.14Z" }, +] + +[[package]] +name = "greenlet" +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/e5/40dbda2736893e3e53d25838e0f19a2b417dfc122b9989c91918db30b5d3/greenlet-3.3.0.tar.gz", hash = "sha256:a82bb225a4e9e4d653dd2fb7b8b2d36e4fb25bc0165422a11e48b88e9e6f78fb", size = 190651, upload-time = "2025-12-04T14:49:44.05Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/0a/a3871375c7b9727edaeeea994bfff7c63ff7804c9829c19309ba2e058807/greenlet-3.3.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:b01548f6e0b9e9784a2c99c5651e5dc89ffcbe870bc5fb2e5ef864e9cc6b5dcb", size = 276379, upload-time = "2025-12-04T14:23:30.498Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/7ebfe34dce8b87be0d11dae91acbf76f7b8246bf9d6b319c741f99fa59c6/greenlet-3.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:349345b770dc88f81506c6861d22a6ccd422207829d2c854ae2af8025af303e3", size = 597294, upload-time = "2025-12-04T14:50:06.847Z" }, + { url = "https://files.pythonhosted.org/packages/a4/39/f1c8da50024feecd0793dbd5e08f526809b8ab5609224a2da40aad3a7641/greenlet-3.3.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e8e18ed6995e9e2c0b4ed264d2cf89260ab3ac7e13555b8032b25a74c6d18655", size = 607742, upload-time = "2025-12-04T14:57:42.349Z" }, + { url = "https://files.pythonhosted.org/packages/77/cb/43692bcd5f7a0da6ec0ec6d58ee7cddb606d055ce94a62ac9b1aa481e969/greenlet-3.3.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c024b1e5696626890038e34f76140ed1daf858e37496d33f2af57f06189e70d7", size = 622297, upload-time = "2025-12-04T15:07:13.552Z" }, + { url = "https://files.pythonhosted.org/packages/75/b0/6bde0b1011a60782108c01de5913c588cf51a839174538d266de15e4bf4d/greenlet-3.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:047ab3df20ede6a57c35c14bf5200fcf04039d50f908270d3f9a7a82064f543b", size = 609885, upload-time = "2025-12-04T14:26:02.368Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/49b46ac39f931f59f987b7cd9f34bfec8ef81d2a1e6e00682f55be5de9f4/greenlet-3.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2d9ad37fc657b1102ec880e637cccf20191581f75c64087a549e66c57e1ceb53", size = 1567424, upload-time = "2025-12-04T15:04:23.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/f5/49a9ac2dff7f10091935def9165c90236d8f175afb27cbed38fb1d61ab6b/greenlet-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83cd0e36932e0e7f36a64b732a6f60c2fc2df28c351bae79fbaf4f8092fe7614", size = 1636017, upload-time = "2025-12-04T14:27:29.688Z" }, + { url = "https://files.pythonhosted.org/packages/6c/79/3912a94cf27ec503e51ba493692d6db1e3cd8ac7ac52b0b47c8e33d7f4f9/greenlet-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7a34b13d43a6b78abf828a6d0e87d3385680eaf830cd60d20d52f249faabf39", size = 301964, upload-time = "2025-12-04T14:36:58.316Z" }, + { url = "https://files.pythonhosted.org/packages/02/2f/28592176381b9ab2cafa12829ba7b472d177f3acc35d8fbcf3673d966fff/greenlet-3.3.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:a1e41a81c7e2825822f4e068c48cb2196002362619e2d70b148f20a831c00739", size = 275140, upload-time = "2025-12-04T14:23:01.282Z" }, + { url = "https://files.pythonhosted.org/packages/2c/80/fbe937bf81e9fca98c981fe499e59a3f45df2a04da0baa5c2be0dca0d329/greenlet-3.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f515a47d02da4d30caaa85b69474cec77b7929b2e936ff7fb853d42f4bf8808", size = 599219, upload-time = "2025-12-04T14:50:08.309Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ff/7c985128f0514271b8268476af89aee6866df5eec04ac17dcfbc676213df/greenlet-3.3.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d2d9fd66bfadf230b385fdc90426fcd6eb64db54b40c495b72ac0feb5766c54", size = 610211, upload-time = "2025-12-04T14:57:43.968Z" }, + { url = "https://files.pythonhosted.org/packages/79/07/c47a82d881319ec18a4510bb30463ed6891f2ad2c1901ed5ec23d3de351f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30a6e28487a790417d036088b3bcb3f3ac7d8babaa7d0139edbaddebf3af9492", size = 624311, upload-time = "2025-12-04T15:07:14.697Z" }, + { url = "https://files.pythonhosted.org/packages/fd/8e/424b8c6e78bd9837d14ff7df01a9829fc883ba2ab4ea787d4f848435f23f/greenlet-3.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:087ea5e004437321508a8d6f20efc4cfec5e3c30118e1417ea96ed1d93950527", size = 612833, upload-time = "2025-12-04T14:26:03.669Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ba/56699ff9b7c76ca12f1cdc27a886d0f81f2189c3455ff9f65246780f713d/greenlet-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab97cf74045343f6c60a39913fa59710e4bd26a536ce7ab2397adf8b27e67c39", size = 1567256, upload-time = "2025-12-04T15:04:25.276Z" }, + { url = "https://files.pythonhosted.org/packages/1e/37/f31136132967982d698c71a281a8901daf1a8fbab935dce7c0cf15f942cc/greenlet-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5375d2e23184629112ca1ea89a53389dddbffcf417dad40125713d88eb5f96e8", size = 1636483, upload-time = "2025-12-04T14:27:30.804Z" }, + { url = "https://files.pythonhosted.org/packages/7e/71/ba21c3fb8c5dce83b8c01f458a42e99ffdb1963aeec08fff5a18588d8fd7/greenlet-3.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:9ee1942ea19550094033c35d25d20726e4f1c40d59545815e1128ac58d416d38", size = 301833, upload-time = "2025-12-04T14:32:23.929Z" }, + { url = "https://files.pythonhosted.org/packages/d7/7c/f0a6d0ede2c7bf092d00bc83ad5bafb7e6ec9b4aab2fbdfa6f134dc73327/greenlet-3.3.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:60c2ef0f578afb3c8d92ea07ad327f9a062547137afe91f38408f08aacab667f", size = 275671, upload-time = "2025-12-04T14:23:05.267Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/dac639ae1a50f5969d82d2e3dd9767d30d6dbdbab0e1a54010c8fe90263c/greenlet-3.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a5d554d0712ba1de0a6c94c640f7aeba3f85b3a6e1f2899c11c2c0428da9365", size = 646360, upload-time = "2025-12-04T14:50:10.026Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/0fb76fe6c5369fba9bf98529ada6f4c3a1adf19e406a47332245ef0eb357/greenlet-3.3.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3a898b1e9c5f7307ebbde4102908e6cbfcb9ea16284a3abe15cab996bee8b9b3", size = 658160, upload-time = "2025-12-04T14:57:45.41Z" }, + { url = "https://files.pythonhosted.org/packages/93/79/d2c70cae6e823fac36c3bbc9077962105052b7ef81db2f01ec3b9bf17e2b/greenlet-3.3.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dcd2bdbd444ff340e8d6bdf54d2f206ccddbb3ccfdcd3c25bf4afaa7b8f0cf45", size = 671388, upload-time = "2025-12-04T15:07:15.789Z" }, + { url = "https://files.pythonhosted.org/packages/b8/14/bab308fc2c1b5228c3224ec2bf928ce2e4d21d8046c161e44a2012b5203e/greenlet-3.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5773edda4dc00e173820722711d043799d3adb4f01731f40619e07ea2750b955", size = 660166, upload-time = "2025-12-04T14:26:05.099Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d2/91465d39164eaa0085177f61983d80ffe746c5a1860f009811d498e7259c/greenlet-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ac0549373982b36d5fd5d30beb8a7a33ee541ff98d2b502714a09f1169f31b55", size = 1615193, upload-time = "2025-12-04T15:04:27.041Z" }, + { url = "https://files.pythonhosted.org/packages/42/1b/83d110a37044b92423084d52d5d5a3b3a73cafb51b547e6d7366ff62eff1/greenlet-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d198d2d977460358c3b3a4dc844f875d1adb33817f0613f663a656f463764ccc", size = 1683653, upload-time = "2025-12-04T14:27:32.366Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/9030e6f9aa8fd7808e9c31ba4c38f87c4f8ec324ee67431d181fe396d705/greenlet-3.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:73f51dd0e0bdb596fb0417e475fa3c5e32d4c83638296e560086b8d7da7c4170", size = 305387, upload-time = "2025-12-04T14:26:51.063Z" }, + { url = "https://files.pythonhosted.org/packages/a0/66/bd6317bc5932accf351fc19f177ffba53712a202f9df10587da8df257c7e/greenlet-3.3.0-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:d6ed6f85fae6cdfdb9ce04c9bf7a08d666cfcfb914e7d006f44f840b46741931", size = 282638, upload-time = "2025-12-04T14:25:20.941Z" }, + { url = "https://files.pythonhosted.org/packages/30/cf/cc81cb030b40e738d6e69502ccbd0dd1bced0588e958f9e757945de24404/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9125050fcf24554e69c4cacb086b87b3b55dc395a8b3ebe6487b045b2614388", size = 651145, upload-time = "2025-12-04T14:50:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ea/1020037b5ecfe95ca7df8d8549959baceb8186031da83d5ecceff8b08cd2/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:87e63ccfa13c0a0f6234ed0add552af24cc67dd886731f2261e46e241608bee3", size = 654236, upload-time = "2025-12-04T14:57:47.007Z" }, + { url = "https://files.pythonhosted.org/packages/69/cc/1e4bae2e45ca2fa55299f4e85854606a78ecc37fead20d69322f96000504/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2662433acbca297c9153a4023fe2161c8dcfdcc91f10433171cf7e7d94ba2221", size = 662506, upload-time = "2025-12-04T15:07:16.906Z" }, + { url = "https://files.pythonhosted.org/packages/57/b9/f8025d71a6085c441a7eaff0fd928bbb275a6633773667023d19179fe815/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c6e9b9c1527a78520357de498b0e709fb9e2f49c3a513afd5a249007261911b", size = 653783, upload-time = "2025-12-04T14:26:06.225Z" }, + { url = "https://files.pythonhosted.org/packages/f6/c7/876a8c7a7485d5d6b5c6821201d542ef28be645aa024cfe1145b35c120c1/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:286d093f95ec98fdd92fcb955003b8a3d054b4e2cab3e2707a5039e7b50520fd", size = 1614857, upload-time = "2025-12-04T15:04:28.484Z" }, + { url = "https://files.pythonhosted.org/packages/4f/dc/041be1dff9f23dac5f48a43323cd0789cb798342011c19a248d9c9335536/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c10513330af5b8ae16f023e8ddbfb486ab355d04467c4679c5cfe4659975dd9", size = 1676034, upload-time = "2025-12-04T14:27:33.531Z" }, +] + +[[package]] +name = "grpcio" +version = "1.76.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz", hash = "sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73", size = 12785182, upload-time = "2025-10-21T16:23:12.106Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/05/8e29121994b8d959ffa0afd28996d452f291b48cfc0875619de0bde2c50c/grpcio-1.76.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:81fd9652b37b36f16138611c7e884eb82e0cec137c40d3ef7c3f9b3ed00f6ed8", size = 5799718, upload-time = "2025-10-21T16:21:17.939Z" }, + { url = "https://files.pythonhosted.org/packages/d9/75/11d0e66b3cdf998c996489581bdad8900db79ebd83513e45c19548f1cba4/grpcio-1.76.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:04bbe1bfe3a68bbfd4e52402ab7d4eb59d72d02647ae2042204326cf4bbad280", size = 11825627, upload-time = "2025-10-21T16:21:20.466Z" }, + { url = "https://files.pythonhosted.org/packages/28/50/2f0aa0498bc188048f5d9504dcc5c2c24f2eb1a9337cd0fa09a61a2e75f0/grpcio-1.76.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d388087771c837cdb6515539f43b9d4bf0b0f23593a24054ac16f7a960be16f4", size = 6359167, upload-time = "2025-10-21T16:21:23.122Z" }, + { url = "https://files.pythonhosted.org/packages/66/e5/bbf0bb97d29ede1d59d6588af40018cfc345b17ce979b7b45424628dc8bb/grpcio-1.76.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f8f757bebaaea112c00dba718fc0d3260052ce714e25804a03f93f5d1c6cc11", size = 7044267, upload-time = "2025-10-21T16:21:25.995Z" }, + { url = "https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:980a846182ce88c4f2f7e2c22c56aefd515daeb36149d1c897f83cf57999e0b6", size = 6573963, upload-time = "2025-10-21T16:21:28.631Z" }, + { url = "https://files.pythonhosted.org/packages/60/bc/8d9d0d8505feccfdf38a766d262c71e73639c165b311c9457208b56d92ae/grpcio-1.76.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f92f88e6c033db65a5ae3d97905c8fea9c725b63e28d5a75cb73b49bda5024d8", size = 7164484, upload-time = "2025-10-21T16:21:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/67/e6/5d6c2fc10b95edf6df9b8f19cf10a34263b7fd48493936fffd5085521292/grpcio-1.76.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4baf3cbe2f0be3289eb68ac8ae771156971848bb8aaff60bad42005539431980", size = 8127777, upload-time = "2025-10-21T16:21:33.577Z" }, + { url = "https://files.pythonhosted.org/packages/3f/c8/dce8ff21c86abe025efe304d9e31fdb0deaaa3b502b6a78141080f206da0/grpcio-1.76.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:615ba64c208aaceb5ec83bfdce7728b80bfeb8be97562944836a7a0a9647d882", size = 7594014, upload-time = "2025-10-21T16:21:41.882Z" }, + { url = "https://files.pythonhosted.org/packages/e0/42/ad28191ebf983a5d0ecef90bab66baa5a6b18f2bfdef9d0a63b1973d9f75/grpcio-1.76.0-cp312-cp312-win32.whl", hash = "sha256:45d59a649a82df5718fd9527ce775fd66d1af35e6d31abdcdc906a49c6822958", size = 3984750, upload-time = "2025-10-21T16:21:44.006Z" }, + { url = "https://files.pythonhosted.org/packages/9e/00/7bd478cbb851c04a48baccaa49b75abaa8e4122f7d86da797500cccdd771/grpcio-1.76.0-cp312-cp312-win_amd64.whl", hash = "sha256:c088e7a90b6017307f423efbb9d1ba97a22aa2170876223f9709e9d1de0b5347", size = 4704003, upload-time = "2025-10-21T16:21:46.244Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ed/71467ab770effc9e8cef5f2e7388beb2be26ed642d567697bb103a790c72/grpcio-1.76.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:26ef06c73eb53267c2b319f43e6634c7556ea37672029241a056629af27c10e2", size = 5807716, upload-time = "2025-10-21T16:21:48.475Z" }, + { url = "https://files.pythonhosted.org/packages/2c/85/c6ed56f9817fab03fa8a111ca91469941fb514e3e3ce6d793cb8f1e1347b/grpcio-1.76.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:45e0111e73f43f735d70786557dc38141185072d7ff8dc1829d6a77ac1471468", size = 11821522, upload-time = "2025-10-21T16:21:51.142Z" }, + { url = "https://files.pythonhosted.org/packages/ac/31/2b8a235ab40c39cbc141ef647f8a6eb7b0028f023015a4842933bc0d6831/grpcio-1.76.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83d57312a58dcfe2a3a0f9d1389b299438909a02db60e2f2ea2ae2d8034909d3", size = 6362558, upload-time = "2025-10-21T16:21:54.213Z" }, + { url = "https://files.pythonhosted.org/packages/bd/64/9784eab483358e08847498ee56faf8ff6ea8e0a4592568d9f68edc97e9e9/grpcio-1.76.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3e2a27c89eb9ac3d81ec8835e12414d73536c6e620355d65102503064a4ed6eb", size = 7049990, upload-time = "2025-10-21T16:21:56.476Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/8c12319a6369434e7a184b987e8e9f3b49a114c489b8315f029e24de4837/grpcio-1.76.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61f69297cba3950a524f61c7c8ee12e55c486cb5f7db47ff9dcee33da6f0d3ae", size = 6575387, upload-time = "2025-10-21T16:21:59.051Z" }, + { url = "https://files.pythonhosted.org/packages/15/0f/f12c32b03f731f4a6242f771f63039df182c8b8e2cf8075b245b409259d4/grpcio-1.76.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6a15c17af8839b6801d554263c546c69c4d7718ad4321e3166175b37eaacca77", size = 7166668, upload-time = "2025-10-21T16:22:02.049Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2d/3ec9ce0c2b1d92dd59d1c3264aaec9f0f7c817d6e8ac683b97198a36ed5a/grpcio-1.76.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:25a18e9810fbc7e7f03ec2516addc116a957f8cbb8cbc95ccc80faa072743d03", size = 8124928, upload-time = "2025-10-21T16:22:04.984Z" }, + { url = "https://files.pythonhosted.org/packages/1a/74/fd3317be5672f4856bcdd1a9e7b5e17554692d3db9a3b273879dc02d657d/grpcio-1.76.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:931091142fd8cc14edccc0845a79248bc155425eee9a98b2db2ea4f00a235a42", size = 7589983, upload-time = "2025-10-21T16:22:07.881Z" }, + { url = "https://files.pythonhosted.org/packages/45/bb/ca038cf420f405971f19821c8c15bcbc875505f6ffadafe9ffd77871dc4c/grpcio-1.76.0-cp313-cp313-win32.whl", hash = "sha256:5e8571632780e08526f118f74170ad8d50fb0a48c23a746bef2a6ebade3abd6f", size = 3984727, upload-time = "2025-10-21T16:22:10.032Z" }, + { url = "https://files.pythonhosted.org/packages/41/80/84087dc56437ced7cdd4b13d7875e7439a52a261e3ab4e06488ba6173b0a/grpcio-1.76.0-cp313-cp313-win_amd64.whl", hash = "sha256:f9f7bd5faab55f47231ad8dba7787866b69f5e93bc306e3915606779bbfb4ba8", size = 4702799, upload-time = "2025-10-21T16:22:12.709Z" }, + { url = "https://files.pythonhosted.org/packages/b4/46/39adac80de49d678e6e073b70204091e76631e03e94928b9ea4ecf0f6e0e/grpcio-1.76.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:ff8a59ea85a1f2191a0ffcc61298c571bc566332f82e5f5be1b83c9d8e668a62", size = 5808417, upload-time = "2025-10-21T16:22:15.02Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f5/a4531f7fb8b4e2a60b94e39d5d924469b7a6988176b3422487be61fe2998/grpcio-1.76.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06c3d6b076e7b593905d04fdba6a0525711b3466f43b3400266f04ff735de0cd", size = 11828219, upload-time = "2025-10-21T16:22:17.954Z" }, + { url = "https://files.pythonhosted.org/packages/4b/1c/de55d868ed7a8bd6acc6b1d6ddc4aa36d07a9f31d33c912c804adb1b971b/grpcio-1.76.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fd5ef5932f6475c436c4a55e4336ebbe47bd3272be04964a03d316bbf4afbcbc", size = 6367826, upload-time = "2025-10-21T16:22:20.721Z" }, + { url = "https://files.pythonhosted.org/packages/59/64/99e44c02b5adb0ad13ab3adc89cb33cb54bfa90c74770f2607eea629b86f/grpcio-1.76.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b331680e46239e090f5b3cead313cc772f6caa7d0fc8de349337563125361a4a", size = 7049550, upload-time = "2025-10-21T16:22:23.637Z" }, + { url = "https://files.pythonhosted.org/packages/43/28/40a5be3f9a86949b83e7d6a2ad6011d993cbe9b6bd27bea881f61c7788b6/grpcio-1.76.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2229ae655ec4e8999599469559e97630185fdd53ae1e8997d147b7c9b2b72cba", size = 6575564, upload-time = "2025-10-21T16:22:26.016Z" }, + { url = "https://files.pythonhosted.org/packages/4b/a9/1be18e6055b64467440208a8559afac243c66a8b904213af6f392dc2212f/grpcio-1.76.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:490fa6d203992c47c7b9e4a9d39003a0c2bcc1c9aa3c058730884bbbb0ee9f09", size = 7176236, upload-time = "2025-10-21T16:22:28.362Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/dba05d3fcc151ce6e81327541d2cc8394f442f6b350fead67401661bf041/grpcio-1.76.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:479496325ce554792dba6548fae3df31a72cef7bad71ca2e12b0e58f9b336bfc", size = 8125795, upload-time = "2025-10-21T16:22:31.075Z" }, + { url = "https://files.pythonhosted.org/packages/4a/45/122df922d05655f63930cf42c9e3f72ba20aadb26c100ee105cad4ce4257/grpcio-1.76.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1c9b93f79f48b03ada57ea24725d83a30284a012ec27eab2cf7e50a550cbbbcc", size = 7592214, upload-time = "2025-10-21T16:22:33.831Z" }, + { url = "https://files.pythonhosted.org/packages/4a/6e/0b899b7f6b66e5af39e377055fb4a6675c9ee28431df5708139df2e93233/grpcio-1.76.0-cp314-cp314-win32.whl", hash = "sha256:747fa73efa9b8b1488a95d0ba1039c8e2dca0f741612d80415b1e1c560febf4e", size = 4062961, upload-time = "2025-10-21T16:22:36.468Z" }, + { url = "https://files.pythonhosted.org/packages/19/41/0b430b01a2eb38ee887f88c1f07644a1df8e289353b78e82b37ef988fb64/grpcio-1.76.0-cp314-cp314-win_amd64.whl", hash = "sha256:922fa70ba549fce362d2e2871ab542082d66e2aaf0c19480ea453905b01f384e", size = 4834462, upload-time = "2025-10-21T16:22:39.772Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "hf-xet" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", size = 506020, upload-time = "2025-10-24T19:04:32.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/a5/85ef910a0aa034a2abcfadc360ab5ac6f6bc4e9112349bd40ca97551cff0/hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649", size = 2861870, upload-time = "2025-10-24T19:04:11.422Z" }, + { url = "https://files.pythonhosted.org/packages/ea/40/e2e0a7eb9a51fe8828ba2d47fe22a7e74914ea8a0db68a18c3aa7449c767/hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813", size = 2717584, upload-time = "2025-10-24T19:04:09.586Z" }, + { url = "https://files.pythonhosted.org/packages/a5/7d/daf7f8bc4594fdd59a8a596f9e3886133fdc68e675292218a5e4c1b7e834/hf_xet-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d40b18769bb9a8bc82a9ede575ce1a44c75eb80e7375a01d76259089529b5dc", size = 3315004, upload-time = "2025-10-24T19:04:00.314Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ba/45ea2f605fbf6d81c8b21e4d970b168b18a53515923010c312c06cd83164/hf_xet-1.2.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd3a6027d59cfb60177c12d6424e31f4b5ff13d8e3a1247b3a584bf8977e6df5", size = 3222636, upload-time = "2025-10-24T19:03:58.111Z" }, + { url = "https://files.pythonhosted.org/packages/4a/1d/04513e3cab8f29ab8c109d309ddd21a2705afab9d52f2ba1151e0c14f086/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6de1fc44f58f6dd937956c8d304d8c2dea264c80680bcfa61ca4a15e7b76780f", size = 3408448, upload-time = "2025-10-24T19:04:20.951Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7c/60a2756d7feec7387db3a1176c632357632fbe7849fce576c5559d4520c7/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f182f264ed2acd566c514e45da9f2119110e48a87a327ca271027904c70c5832", size = 3503401, upload-time = "2025-10-24T19:04:22.549Z" }, + { url = "https://files.pythonhosted.org/packages/4e/64/48fffbd67fb418ab07451e4ce641a70de1c40c10a13e25325e24858ebe5a/hf_xet-1.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:293a7a3787e5c95d7be1857358a9130694a9c6021de3f27fa233f37267174382", size = 2900866, upload-time = "2025-10-24T19:04:33.461Z" }, + { url = "https://files.pythonhosted.org/packages/e2/51/f7e2caae42f80af886db414d4e9885fac959330509089f97cccb339c6b87/hf_xet-1.2.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:10bfab528b968c70e062607f663e21e34e2bba349e8038db546646875495179e", size = 2861861, upload-time = "2025-10-24T19:04:19.01Z" }, + { url = "https://files.pythonhosted.org/packages/6e/1d/a641a88b69994f9371bd347f1dd35e5d1e2e2460a2e350c8d5165fc62005/hf_xet-1.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a212e842647b02eb6a911187dc878e79c4aa0aa397e88dd3b26761676e8c1f8", size = 2717699, upload-time = "2025-10-24T19:04:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/df/e0/e5e9bba7d15f0318955f7ec3f4af13f92e773fbb368c0b8008a5acbcb12f/hf_xet-1.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30e06daccb3a7d4c065f34fc26c14c74f4653069bb2b194e7f18f17cbe9939c0", size = 3314885, upload-time = "2025-10-24T19:04:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/21/90/b7fe5ff6f2b7b8cbdf1bd56145f863c90a5807d9758a549bf3d916aa4dec/hf_xet-1.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:29c8fc913a529ec0a91867ce3d119ac1aac966e098cf49501800c870328cc090", size = 3221550, upload-time = "2025-10-24T19:04:05.55Z" }, + { url = "https://files.pythonhosted.org/packages/6f/cb/73f276f0a7ce46cc6a6ec7d6c7d61cbfe5f2e107123d9bbd0193c355f106/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e159cbfcfbb29f920db2c09ed8b660eb894640d284f102ada929b6e3dc410a", size = 3408010, upload-time = "2025-10-24T19:04:28.598Z" }, + { url = "https://files.pythonhosted.org/packages/b8/1e/d642a12caa78171f4be64f7cd9c40e3ca5279d055d0873188a58c0f5fbb9/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9c91d5ae931510107f148874e9e2de8a16052b6f1b3ca3c1b12f15ccb491390f", size = 3503264, upload-time = "2025-10-24T19:04:30.397Z" }, + { url = "https://files.pythonhosted.org/packages/17/b5/33764714923fa1ff922770f7ed18c2daae034d21ae6e10dbf4347c854154/hf_xet-1.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:210d577732b519ac6ede149d2f2f34049d44e8622bf14eb3d63bbcd2d4b332dc", size = 2901071, upload-time = "2025-10-24T19:04:37.463Z" }, + { url = "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", size = 2866099, upload-time = "2025-10-24T19:04:15.366Z" }, + { url = "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", size = 2722178, upload-time = "2025-10-24T19:04:13.695Z" }, + { url = "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", size = 3320214, upload-time = "2025-10-24T19:04:03.596Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", size = 3229054, upload-time = "2025-10-24T19:04:01.949Z" }, + { url = "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", size = 3413812, upload-time = "2025-10-24T19:04:24.585Z" }, + { url = "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", size = 3508920, upload-time = "2025-10-24T19:04:26.927Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/870d44b30e1dcfb6a65932e3e1506c103a8a5aea9103c337e7a53180322c/hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69", size = 2905735, upload-time = "2025-10-24T19:04:35.928Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "h11", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "httpcore", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "huggingface-hub" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "fsspec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "hf-xet", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "httpx", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "shellingham", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typer-slim", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/d6/02d1c505e1d3364230e5fa16d2b58c8f36a39c5efe8e99bc4d03d06fd0ca/huggingface_hub-1.3.2.tar.gz", hash = "sha256:15d7902e154f04174a0816d1e9594adcf15cdad57596920a5dc70fadb5d896c7", size = 624018, upload-time = "2026-01-14T13:57:39.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/1d/acd3ef8aabb7813c6ef2f91785d855583ac5cd7c3599e5c1a1a2ed1ec2e5/huggingface_hub-1.3.2-py3-none-any.whl", hash = "sha256:b552b9562a5532102a041fa31a6966bb9de95138fc7aa578bb3703198c25d1b6", size = 534504, upload-time = "2026-01-14T13:57:37.555Z" }, +] + +[[package]] +name = "humanfriendly" +version = "10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794, upload-time = "2021-09-17T21:40:39.897Z" }, +] + +[[package]] +name = "hyperpyyaml" +version = "1.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "ruamel-yaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/cf/000268ec653f354d464e6101505672365e8cecdcb216034a4bb0dbf9dca0/hyperpyyaml-1.2.3.tar.gz", hash = "sha256:4b135800ae13b846ae90aeb1c25e65e4d7a0138bd4935d3222734828d9f218f6", size = 17355, upload-time = "2026-01-01T20:01:49.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/a5/98e20cc4365e293dfc1382e2f8dbf44b1cb14d75658ab5147cb0d6d8718e/hyperpyyaml-1.2.3-py3-none-any.whl", hash = "sha256:0088c8ce97dc7c7d3460112b6ccc92dca46fade4d0320bc39f58b1fdda60f7f1", size = 16456, upload-time = "2026-01-01T20:01:48.462Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603, upload-time = "2025-12-15T08:41:46.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071, upload-time = "2025-12-15T08:41:44.973Z" }, +] + +[[package]] +name = "julius" +version = "0.2.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/19/c9e1596b5572c786b93428d0904280e964c930fae7e6c9368ed9e1b63922/julius-0.2.7.tar.gz", hash = "sha256:3c0f5f5306d7d6016fcc95196b274cae6f07e2c9596eed314e4e7641554fbb08", size = 59640, upload-time = "2022-09-19T16:13:34.2Z" } + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" }, + { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" }, + { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" }, + { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" }, + { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" }, + { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" }, + { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" }, + { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" }, + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806, upload-time = "2025-08-10T21:27:01.537Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605, upload-time = "2025-08-10T21:27:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925, upload-time = "2025-08-10T21:27:04.339Z" }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414, upload-time = "2025-08-10T21:27:05.437Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272, upload-time = "2025-08-10T21:27:07.063Z" }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578, upload-time = "2025-08-10T21:27:08.452Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607, upload-time = "2025-08-10T21:27:10.125Z" }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150, upload-time = "2025-08-10T21:27:11.484Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979, upload-time = "2025-08-10T21:27:12.917Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456, upload-time = "2025-08-10T21:27:14.353Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621, upload-time = "2025-08-10T21:27:15.808Z" }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417, upload-time = "2025-08-10T21:27:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582, upload-time = "2025-08-10T21:27:18.436Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514, upload-time = "2025-08-10T21:27:19.465Z" }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905, upload-time = "2025-08-10T21:27:20.51Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399, upload-time = "2025-08-10T21:27:21.496Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197, upload-time = "2025-08-10T21:27:22.604Z" }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125, upload-time = "2025-08-10T21:27:24.036Z" }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612, upload-time = "2025-08-10T21:27:25.773Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990, upload-time = "2025-08-10T21:27:27.089Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601, upload-time = "2025-08-10T21:27:29.343Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041, upload-time = "2025-08-10T21:27:30.754Z" }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897, upload-time = "2025-08-10T21:27:32.803Z" }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835, upload-time = "2025-08-10T21:27:34.23Z" }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988, upload-time = "2025-08-10T21:27:35.587Z" }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260, upload-time = "2025-08-10T21:27:36.606Z" }, +] + +[[package]] +name = "lightning" +version = "2.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fsspec", extra = ["http"], marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "lightning-utilities", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytorch-lightning", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchmetrics", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/d5/892ea38816925b3511493e87b0b32494122bf8a20e66f4f2cd2667f95625/lightning-2.6.0.tar.gz", hash = "sha256:881841716b59c1837ae0c562c2e64fea9bcf49ef9de3867bd1f868557ec23d04", size = 656539, upload-time = "2025-11-28T09:34:25.069Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/e9/36b340c7ec01dad6f034481e98fc9fc0133307beb05c714c0542af98bbde/lightning-2.6.0-py3-none-any.whl", hash = "sha256:f1a13a48909960a3454518486f113fae4fadb2db0e28e9c50d8d38d46c9dc3d6", size = 845956, upload-time = "2025-11-28T09:34:23.273Z" }, +] + +[[package]] +name = "lightning-utilities" +version = "0.15.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "setuptools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b8/39/6fc58ca81492db047149b4b8fd385aa1bfb8c28cd7cacb0c7eb0c44d842f/lightning_utilities-0.15.2.tar.gz", hash = "sha256:cdf12f530214a63dacefd713f180d1ecf5d165338101617b4742e8f22c032e24", size = 31090, upload-time = "2025-08-06T13:57:39.242Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/73/3d757cb3fc16f0f9794dd289bcd0c4a031d9cf54d8137d6b984b2d02edf3/lightning_utilities-0.15.2-py3-none-any.whl", hash = "sha256:ad3ab1703775044bbf880dbf7ddaaac899396c96315f3aa1779cec9d618a9841", size = 29431, upload-time = "2025-08-06T13:57:38.046Z" }, +] + +[[package]] +name = "mako" +version = "1.3.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "cycler", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "fonttools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "kiwisolver", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pillow", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyparsing", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "python-dateutil", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269, upload-time = "2025-12-10T22:56:51.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a", size = 8260453, upload-time = "2025-12-10T22:55:30.709Z" }, + { url = "https://files.pythonhosted.org/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58", size = 8148321, upload-time = "2025-12-10T22:55:33.265Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04", size = 8716944, upload-time = "2025-12-10T22:55:34.922Z" }, + { url = "https://files.pythonhosted.org/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f", size = 9550099, upload-time = "2025-12-10T22:55:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466", size = 9613040, upload-time = "2025-12-10T22:55:38.715Z" }, + { url = "https://files.pythonhosted.org/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf", size = 8142717, upload-time = "2025-12-10T22:55:41.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b", size = 8012751, upload-time = "2025-12-10T22:55:42.684Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6", size = 8261076, upload-time = "2025-12-10T22:55:44.648Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1", size = 8148794, upload-time = "2025-12-10T22:55:46.252Z" }, + { url = "https://files.pythonhosted.org/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486", size = 8718474, upload-time = "2025-12-10T22:55:47.864Z" }, + { url = "https://files.pythonhosted.org/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce", size = 9549637, upload-time = "2025-12-10T22:55:50.048Z" }, + { url = "https://files.pythonhosted.org/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6", size = 9613678, upload-time = "2025-12-10T22:55:52.21Z" }, + { url = "https://files.pythonhosted.org/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149", size = 8142686, upload-time = "2025-12-10T22:55:54.253Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645", size = 8012917, upload-time = "2025-12-10T22:55:56.268Z" }, + { url = "https://files.pythonhosted.org/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077", size = 8305679, upload-time = "2025-12-10T22:55:57.856Z" }, + { url = "https://files.pythonhosted.org/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22", size = 8198336, upload-time = "2025-12-10T22:55:59.371Z" }, + { url = "https://files.pythonhosted.org/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39", size = 8731653, upload-time = "2025-12-10T22:56:01.032Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565", size = 9561356, upload-time = "2025-12-10T22:56:02.95Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a", size = 9614000, upload-time = "2025-12-10T22:56:05.411Z" }, + { url = "https://files.pythonhosted.org/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958", size = 8220043, upload-time = "2025-12-10T22:56:07.551Z" }, + { url = "https://files.pythonhosted.org/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5", size = 8062075, upload-time = "2025-12-10T22:56:09.178Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/9c0ff7a2f11615e516c3b058e1e6e8f9614ddeca53faca06da267c48345d/matplotlib-3.10.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b53285e65d4fa4c86399979e956235deb900be5baa7fc1218ea67fbfaeaadd6f", size = 8262481, upload-time = "2025-12-10T22:56:10.885Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ca/e8ae28649fcdf039fda5ef554b40a95f50592a3c47e6f7270c9561c12b07/matplotlib-3.10.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32f8dce744be5569bebe789e46727946041199030db8aeb2954d26013a0eb26b", size = 8151473, upload-time = "2025-12-10T22:56:12.377Z" }, + { url = "https://files.pythonhosted.org/packages/f1/6f/009d129ae70b75e88cbe7e503a12a4c0670e08ed748a902c2568909e9eb5/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cf267add95b1c88300d96ca837833d4112756045364f5c734a2276038dae27d", size = 9553896, upload-time = "2025-12-10T22:56:14.432Z" }, + { url = "https://files.pythonhosted.org/packages/f5/26/4221a741eb97967bc1fd5e4c52b9aa5a91b2f4ec05b59f6def4d820f9df9/matplotlib-3.10.8-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2cf5bd12cecf46908f286d7838b2abc6c91cda506c0445b8223a7c19a00df008", size = 9824193, upload-time = "2025-12-10T22:56:16.29Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/3abf75f38605772cf48a9daf5821cd4f563472f38b4b828c6fba6fa6d06e/matplotlib-3.10.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:41703cc95688f2516b480f7f339d8851a6035f18e100ee6a32bc0b8536a12a9c", size = 9615444, upload-time = "2025-12-10T22:56:18.155Z" }, + { url = "https://files.pythonhosted.org/packages/93/a5/de89ac80f10b8dc615807ee1133cd99ac74082581196d4d9590bea10690d/matplotlib-3.10.8-cp314-cp314-win_amd64.whl", hash = "sha256:83d282364ea9f3e52363da262ce32a09dfe241e4080dcedda3c0db059d3c1f11", size = 8272719, upload-time = "2025-12-10T22:56:20.366Z" }, + { url = "https://files.pythonhosted.org/packages/69/ce/b006495c19ccc0a137b48083168a37bd056392dee02f87dba0472f2797fe/matplotlib-3.10.8-cp314-cp314-win_arm64.whl", hash = "sha256:2c1998e92cd5999e295a731bcb2911c75f597d937341f3030cc24ef2733d78a8", size = 8144205, upload-time = "2025-12-10T22:56:22.239Z" }, + { url = "https://files.pythonhosted.org/packages/68/d9/b31116a3a855bd313c6fcdb7226926d59b041f26061c6c5b1be66a08c826/matplotlib-3.10.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b5a2b97dbdc7d4f353ebf343744f1d1f1cca8aa8bfddb4262fcf4306c3761d50", size = 8305785, upload-time = "2025-12-10T22:56:24.218Z" }, + { url = "https://files.pythonhosted.org/packages/1e/90/6effe8103f0272685767ba5f094f453784057072f49b393e3ea178fe70a5/matplotlib-3.10.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f5c3e4da343bba819f0234186b9004faba952cc420fbc522dc4e103c1985908", size = 8198361, upload-time = "2025-12-10T22:56:26.787Z" }, + { url = "https://files.pythonhosted.org/packages/d7/65/a73188711bea603615fc0baecca1061429ac16940e2385433cc778a9d8e7/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f62550b9a30afde8c1c3ae450e5eb547d579dd69b25c2fc7a1c67f934c1717a", size = 9561357, upload-time = "2025-12-10T22:56:28.953Z" }, + { url = "https://files.pythonhosted.org/packages/f4/3d/b5c5d5d5be8ce63292567f0e2c43dde9953d3ed86ac2de0a72e93c8f07a1/matplotlib-3.10.8-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:495672de149445ec1b772ff2c9ede9b769e3cb4f0d0aa7fa730d7f59e2d4e1c1", size = 9823610, upload-time = "2025-12-10T22:56:31.455Z" }, + { url = "https://files.pythonhosted.org/packages/4d/4b/e7beb6bbd49f6bae727a12b270a2654d13c397576d25bd6786e47033300f/matplotlib-3.10.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:595ba4d8fe983b88f0eec8c26a241e16d6376fe1979086232f481f8f3f67494c", size = 9614011, upload-time = "2025-12-10T22:56:33.85Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e6/76f2813d31f032e65f6f797e3f2f6e4aab95b65015924b1c51370395c28a/matplotlib-3.10.8-cp314-cp314t-win_amd64.whl", hash = "sha256:25d380fe8b1dc32cf8f0b1b448470a77afb195438bafdf1d858bfb876f3edf7b", size = 8362801, upload-time = "2025-12-10T22:56:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/5d/49/d651878698a0b67f23aa28e17f45a6d6dd3d3f933fa29087fa4ce5947b5a/matplotlib-3.10.8-cp314-cp314t-win_arm64.whl", hash = "sha256:113bb52413ea508ce954a02c10ffd0d565f9c3bc7f2eddc27dfe1731e71c7b5f", size = 8192560, upload-time = "2025-12-10T22:56:38.008Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, +] + +[[package]] +name = "multidict" +version = "6.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", size = 101834, upload-time = "2025-10-06T14:52:30.657Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/9e/9f61ac18d9c8b475889f32ccfa91c9f59363480613fc807b6e3023d6f60b/multidict-6.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184", size = 76877, upload-time = "2025-10-06T14:49:20.884Z" }, + { url = "https://files.pythonhosted.org/packages/38/6f/614f09a04e6184f8824268fce4bc925e9849edfa654ddd59f0b64508c595/multidict-6.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45", size = 45467, upload-time = "2025-10-06T14:49:22.054Z" }, + { url = "https://files.pythonhosted.org/packages/b3/93/c4f67a436dd026f2e780c433277fff72be79152894d9fc36f44569cab1a6/multidict-6.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa", size = 43834, upload-time = "2025-10-06T14:49:23.566Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f5/013798161ca665e4a422afbc5e2d9e4070142a9ff8905e482139cd09e4d0/multidict-6.7.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7", size = 250545, upload-time = "2025-10-06T14:49:24.882Z" }, + { url = "https://files.pythonhosted.org/packages/71/2f/91dbac13e0ba94669ea5119ba267c9a832f0cb65419aca75549fcf09a3dc/multidict-6.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e", size = 258305, upload-time = "2025-10-06T14:49:26.778Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b0/754038b26f6e04488b48ac621f779c341338d78503fb45403755af2df477/multidict-6.7.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546", size = 242363, upload-time = "2025-10-06T14:49:28.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/15/9da40b9336a7c9fa606c4cf2ed80a649dffeb42b905d4f63a1d7eb17d746/multidict-6.7.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4", size = 268375, upload-time = "2025-10-06T14:49:29.96Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/c53fcade0cc94dfaad583105fd92b3a783af2091eddcb41a6d5a52474000/multidict-6.7.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1", size = 269346, upload-time = "2025-10-06T14:49:31.404Z" }, + { url = "https://files.pythonhosted.org/packages/0d/e2/9baffdae21a76f77ef8447f1a05a96ec4bc0a24dae08767abc0a2fe680b8/multidict-6.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d", size = 256107, upload-time = "2025-10-06T14:49:32.974Z" }, + { url = "https://files.pythonhosted.org/packages/3c/06/3f06f611087dc60d65ef775f1fb5aca7c6d61c6db4990e7cda0cef9b1651/multidict-6.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304", size = 253592, upload-time = "2025-10-06T14:49:34.52Z" }, + { url = "https://files.pythonhosted.org/packages/20/24/54e804ec7945b6023b340c412ce9c3f81e91b3bf5fa5ce65558740141bee/multidict-6.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12", size = 251024, upload-time = "2025-10-06T14:49:35.956Z" }, + { url = "https://files.pythonhosted.org/packages/14/48/011cba467ea0b17ceb938315d219391d3e421dfd35928e5dbdc3f4ae76ef/multidict-6.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62", size = 251484, upload-time = "2025-10-06T14:49:37.631Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2f/919258b43bb35b99fa127435cfb2d91798eb3a943396631ef43e3720dcf4/multidict-6.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0", size = 263579, upload-time = "2025-10-06T14:49:39.502Z" }, + { url = "https://files.pythonhosted.org/packages/31/22/a0e884d86b5242b5a74cf08e876bdf299e413016b66e55511f7a804a366e/multidict-6.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a", size = 259654, upload-time = "2025-10-06T14:49:41.32Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e5/17e10e1b5c5f5a40f2fcbb45953c9b215f8a4098003915e46a93f5fcaa8f/multidict-6.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8", size = 251511, upload-time = "2025-10-06T14:49:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/201bb1e17e7af53139597069c375e7b0dcbd47594604f65c2d5359508566/multidict-6.7.0-cp312-cp312-win32.whl", hash = "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4", size = 41895, upload-time = "2025-10-06T14:49:48.718Z" }, + { url = "https://files.pythonhosted.org/packages/46/e2/348cd32faad84eaf1d20cce80e2bb0ef8d312c55bca1f7fa9865e7770aaf/multidict-6.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b", size = 46073, upload-time = "2025-10-06T14:49:50.28Z" }, + { url = "https://files.pythonhosted.org/packages/25/ec/aad2613c1910dce907480e0c3aa306905830f25df2e54ccc9dea450cb5aa/multidict-6.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec", size = 43226, upload-time = "2025-10-06T14:49:52.304Z" }, + { url = "https://files.pythonhosted.org/packages/d2/86/33272a544eeb36d66e4d9a920602d1a2f57d4ebea4ef3cdfe5a912574c95/multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6", size = 76135, upload-time = "2025-10-06T14:49:54.26Z" }, + { url = "https://files.pythonhosted.org/packages/91/1c/eb97db117a1ebe46d457a3d235a7b9d2e6dcab174f42d1b67663dd9e5371/multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159", size = 45117, upload-time = "2025-10-06T14:49:55.82Z" }, + { url = "https://files.pythonhosted.org/packages/f1/d8/6c3442322e41fb1dd4de8bd67bfd11cd72352ac131f6368315617de752f1/multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca", size = 43472, upload-time = "2025-10-06T14:49:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/75/3f/e2639e80325af0b6c6febdf8e57cc07043ff15f57fa1ef808f4ccb5ac4cd/multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8", size = 249342, upload-time = "2025-10-06T14:49:58.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cc/84e0585f805cbeaa9cbdaa95f9a3d6aed745b9d25700623ac89a6ecff400/multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60", size = 257082, upload-time = "2025-10-06T14:49:59.89Z" }, + { url = "https://files.pythonhosted.org/packages/b0/9c/ac851c107c92289acbbf5cfb485694084690c1b17e555f44952c26ddc5bd/multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4", size = 240704, upload-time = "2025-10-06T14:50:01.485Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/5f93e99427248c09da95b62d64b25748a5f5c98c7c2ab09825a1d6af0e15/multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f", size = 266355, upload-time = "2025-10-06T14:50:02.955Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0c/2ec1d883ceb79c6f7f6d7ad90c919c898f5d1c6ea96d322751420211e072/multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf", size = 267259, upload-time = "2025-10-06T14:50:04.446Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2d/f0b184fa88d6630aa267680bdb8623fb69cb0d024b8c6f0d23f9a0f406d3/multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32", size = 254903, upload-time = "2025-10-06T14:50:05.98Z" }, + { url = "https://files.pythonhosted.org/packages/06/c9/11ea263ad0df7dfabcad404feb3c0dd40b131bc7f232d5537f2fb1356951/multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036", size = 252365, upload-time = "2025-10-06T14:50:07.511Z" }, + { url = "https://files.pythonhosted.org/packages/41/88/d714b86ee2c17d6e09850c70c9d310abac3d808ab49dfa16b43aba9d53fd/multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec", size = 250062, upload-time = "2025-10-06T14:50:09.074Z" }, + { url = "https://files.pythonhosted.org/packages/15/fe/ad407bb9e818c2b31383f6131ca19ea7e35ce93cf1310fce69f12e89de75/multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e", size = 249683, upload-time = "2025-10-06T14:50:10.714Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/a89abdb0229e533fb925e7c6e5c40201c2873efebc9abaf14046a4536ee6/multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64", size = 261254, upload-time = "2025-10-06T14:50:12.28Z" }, + { url = "https://files.pythonhosted.org/packages/8d/aa/0e2b27bd88b40a4fb8dc53dd74eecac70edaa4c1dd0707eb2164da3675b3/multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd", size = 257967, upload-time = "2025-10-06T14:50:14.16Z" }, + { url = "https://files.pythonhosted.org/packages/d0/8e/0c67b7120d5d5f6d874ed85a085f9dc770a7f9d8813e80f44a9fec820bb7/multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288", size = 250085, upload-time = "2025-10-06T14:50:15.639Z" }, + { url = "https://files.pythonhosted.org/packages/ba/55/b73e1d624ea4b8fd4dd07a3bb70f6e4c7c6c5d9d640a41c6ffe5cdbd2a55/multidict-6.7.0-cp313-cp313-win32.whl", hash = "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17", size = 41713, upload-time = "2025-10-06T14:50:17.066Z" }, + { url = "https://files.pythonhosted.org/packages/32/31/75c59e7d3b4205075b4c183fa4ca398a2daf2303ddf616b04ae6ef55cffe/multidict-6.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390", size = 45915, upload-time = "2025-10-06T14:50:18.264Z" }, + { url = "https://files.pythonhosted.org/packages/31/2a/8987831e811f1184c22bc2e45844934385363ee61c0a2dcfa8f71b87e608/multidict-6.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e", size = 43077, upload-time = "2025-10-06T14:50:19.853Z" }, + { url = "https://files.pythonhosted.org/packages/e8/68/7b3a5170a382a340147337b300b9eb25a9ddb573bcdfff19c0fa3f31ffba/multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00", size = 83114, upload-time = "2025-10-06T14:50:21.223Z" }, + { url = "https://files.pythonhosted.org/packages/55/5c/3fa2d07c84df4e302060f555bbf539310980362236ad49f50eeb0a1c1eb9/multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb", size = 48442, upload-time = "2025-10-06T14:50:22.871Z" }, + { url = "https://files.pythonhosted.org/packages/fc/56/67212d33239797f9bd91962bb899d72bb0f4c35a8652dcdb8ed049bef878/multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b", size = 46885, upload-time = "2025-10-06T14:50:24.258Z" }, + { url = "https://files.pythonhosted.org/packages/46/d1/908f896224290350721597a61a69cd19b89ad8ee0ae1f38b3f5cd12ea2ac/multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c", size = 242588, upload-time = "2025-10-06T14:50:25.716Z" }, + { url = "https://files.pythonhosted.org/packages/ab/67/8604288bbd68680eee0ab568fdcb56171d8b23a01bcd5cb0c8fedf6e5d99/multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1", size = 249966, upload-time = "2025-10-06T14:50:28.192Z" }, + { url = "https://files.pythonhosted.org/packages/20/33/9228d76339f1ba51e3efef7da3ebd91964d3006217aae13211653193c3ff/multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b", size = 228618, upload-time = "2025-10-06T14:50:29.82Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2d/25d9b566d10cab1c42b3b9e5b11ef79c9111eaf4463b8c257a3bd89e0ead/multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5", size = 257539, upload-time = "2025-10-06T14:50:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b1/8d1a965e6637fc33de3c0d8f414485c2b7e4af00f42cab3d84e7b955c222/multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad", size = 256345, upload-time = "2025-10-06T14:50:33.26Z" }, + { url = "https://files.pythonhosted.org/packages/ba/0c/06b5a8adbdeedada6f4fb8d8f193d44a347223b11939b42953eeb6530b6b/multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c", size = 247934, upload-time = "2025-10-06T14:50:34.808Z" }, + { url = "https://files.pythonhosted.org/packages/8f/31/b2491b5fe167ca044c6eb4b8f2c9f3b8a00b24c432c365358eadac5d7625/multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5", size = 245243, upload-time = "2025-10-06T14:50:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/61/1a/982913957cb90406c8c94f53001abd9eafc271cb3e70ff6371590bec478e/multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10", size = 235878, upload-time = "2025-10-06T14:50:37.953Z" }, + { url = "https://files.pythonhosted.org/packages/be/c0/21435d804c1a1cf7a2608593f4d19bca5bcbd7a81a70b253fdd1c12af9c0/multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754", size = 243452, upload-time = "2025-10-06T14:50:39.574Z" }, + { url = "https://files.pythonhosted.org/packages/54/0a/4349d540d4a883863191be6eb9a928846d4ec0ea007d3dcd36323bb058ac/multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c", size = 252312, upload-time = "2025-10-06T14:50:41.612Z" }, + { url = "https://files.pythonhosted.org/packages/26/64/d5416038dbda1488daf16b676e4dbfd9674dde10a0cc8f4fc2b502d8125d/multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762", size = 246935, upload-time = "2025-10-06T14:50:43.972Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8c/8290c50d14e49f35e0bd4abc25e1bc7711149ca9588ab7d04f886cdf03d9/multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6", size = 243385, upload-time = "2025-10-06T14:50:45.648Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a0/f83ae75e42d694b3fbad3e047670e511c138be747bc713cf1b10d5096416/multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d", size = 47777, upload-time = "2025-10-06T14:50:47.154Z" }, + { url = "https://files.pythonhosted.org/packages/dc/80/9b174a92814a3830b7357307a792300f42c9e94664b01dee8e457551fa66/multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6", size = 53104, upload-time = "2025-10-06T14:50:48.851Z" }, + { url = "https://files.pythonhosted.org/packages/cc/28/04baeaf0428d95bb7a7bea0e691ba2f31394338ba424fb0679a9ed0f4c09/multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792", size = 45503, upload-time = "2025-10-06T14:50:50.16Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", size = 75128, upload-time = "2025-10-06T14:50:51.92Z" }, + { url = "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", size = 44410, upload-time = "2025-10-06T14:50:53.275Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", size = 43205, upload-time = "2025-10-06T14:50:54.911Z" }, + { url = "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", size = 245084, upload-time = "2025-10-06T14:50:56.369Z" }, + { url = "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", size = 252667, upload-time = "2025-10-06T14:50:57.991Z" }, + { url = "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", size = 233590, upload-time = "2025-10-06T14:50:59.589Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", size = 264112, upload-time = "2025-10-06T14:51:01.183Z" }, + { url = "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", size = 261194, upload-time = "2025-10-06T14:51:02.794Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", size = 248510, upload-time = "2025-10-06T14:51:04.724Z" }, + { url = "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", size = 248395, upload-time = "2025-10-06T14:51:06.306Z" }, + { url = "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", size = 239520, upload-time = "2025-10-06T14:51:08.091Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", size = 245479, upload-time = "2025-10-06T14:51:10.365Z" }, + { url = "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", size = 258903, upload-time = "2025-10-06T14:51:12.466Z" }, + { url = "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", size = 252333, upload-time = "2025-10-06T14:51:14.48Z" }, + { url = "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", size = 243411, upload-time = "2025-10-06T14:51:16.072Z" }, + { url = "https://files.pythonhosted.org/packages/4a/03/29a8bf5a18abf1fe34535c88adbdfa88c9fb869b5a3b120692c64abe8284/multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885", size = 40940, upload-time = "2025-10-06T14:51:17.544Z" }, + { url = "https://files.pythonhosted.org/packages/82/16/7ed27b680791b939de138f906d5cf2b4657b0d45ca6f5dd6236fdddafb1a/multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c", size = 45087, upload-time = "2025-10-06T14:51:18.875Z" }, + { url = "https://files.pythonhosted.org/packages/cd/3c/e3e62eb35a1950292fe39315d3c89941e30a9d07d5d2df42965ab041da43/multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000", size = 42368, upload-time = "2025-10-06T14:51:20.225Z" }, + { url = "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", size = 82326, upload-time = "2025-10-06T14:51:21.588Z" }, + { url = "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", size = 48065, upload-time = "2025-10-06T14:51:22.93Z" }, + { url = "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", size = 46475, upload-time = "2025-10-06T14:51:24.352Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", size = 239324, upload-time = "2025-10-06T14:51:25.822Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", size = 246877, upload-time = "2025-10-06T14:51:27.604Z" }, + { url = "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", size = 225824, upload-time = "2025-10-06T14:51:29.664Z" }, + { url = "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", size = 253558, upload-time = "2025-10-06T14:51:31.684Z" }, + { url = "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", size = 252339, upload-time = "2025-10-06T14:51:33.699Z" }, + { url = "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", size = 244895, upload-time = "2025-10-06T14:51:36.189Z" }, + { url = "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", size = 241862, upload-time = "2025-10-06T14:51:41.291Z" }, + { url = "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", size = 232376, upload-time = "2025-10-06T14:51:43.55Z" }, + { url = "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", size = 240272, upload-time = "2025-10-06T14:51:45.265Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", size = 248774, upload-time = "2025-10-06T14:51:46.836Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", size = 242731, upload-time = "2025-10-06T14:51:48.541Z" }, + { url = "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", size = 240193, upload-time = "2025-10-06T14:51:50.355Z" }, + { url = "https://files.pythonhosted.org/packages/39/ca/c05f144128ea232ae2178b008d5011d4e2cea86e4ee8c85c2631b1b94802/multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13", size = 48023, upload-time = "2025-10-06T14:51:51.883Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8f/0a60e501584145588be1af5cc829265701ba3c35a64aec8e07cbb71d39bb/multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd", size = 53507, upload-time = "2025-10-06T14:51:53.672Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ae/3148b988a9c6239903e786eac19c889fab607c31d6efa7fb2147e5680f23/multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827", size = 44804, upload-time = "2025-10-06T14:51:55.415Z" }, + { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, +] + +[[package]] +name = "networkx" +version = "3.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/62/ae72ff66c0f1fd959925b4c11f8c2dea61f47f6acaea75a08512cdfe3fed/numpy-2.4.1.tar.gz", hash = "sha256:a1ceafc5042451a858231588a104093474c6a5c57dcc724841f5c888d237d690", size = 20721320, upload-time = "2026-01-10T06:44:59.619Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/7f/ec53e32bf10c813604edf07a3682616bd931d026fcde7b6d13195dfb684a/numpy-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d3703409aac693fa82c0aee023a1ae06a6e9d065dba10f5e8e80f642f1e9d0a2", size = 16656888, upload-time = "2026-01-10T06:42:40.913Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e0/1f9585d7dae8f14864e948fd7fa86c6cb72dee2676ca2748e63b1c5acfe0/numpy-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7211b95ca365519d3596a1d8688a95874cc94219d417504d9ecb2df99fa7bfa8", size = 12373956, upload-time = "2026-01-10T06:42:43.091Z" }, + { url = "https://files.pythonhosted.org/packages/8e/43/9762e88909ff2326f5e7536fa8cb3c49fb03a7d92705f23e6e7f553d9cb3/numpy-2.4.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5adf01965456a664fc727ed69cc71848f28d063217c63e1a0e200a118d5eec9a", size = 5202567, upload-time = "2026-01-10T06:42:45.107Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ee/34b7930eb61e79feb4478800a4b95b46566969d837546aa7c034c742ef98/numpy-2.4.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26f0bcd9c79a00e339565b303badc74d3ea2bd6d52191eeca5f95936cad107d0", size = 6549459, upload-time = "2026-01-10T06:42:48.152Z" }, + { url = "https://files.pythonhosted.org/packages/79/e3/5f115fae982565771be994867c89bcd8d7208dbfe9469185497d70de5ddf/numpy-2.4.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0093e85df2960d7e4049664b26afc58b03236e967fb942354deef3208857a04c", size = 14404859, upload-time = "2026-01-10T06:42:49.947Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7d/9c8a781c88933725445a859cac5d01b5871588a15969ee6aeb618ba99eee/numpy-2.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad270f438cbdd402c364980317fb6b117d9ec5e226fff5b4148dd9aa9fc6e02", size = 16371419, upload-time = "2026-01-10T06:42:52.409Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d2/8aa084818554543f17cf4162c42f162acbd3bb42688aefdba6628a859f77/numpy-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:297c72b1b98100c2e8f873d5d35fb551fce7040ade83d67dd51d38c8d42a2162", size = 16182131, upload-time = "2026-01-10T06:42:54.694Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/0425216684297c58a8df35f3284ef56ec4a043e6d283f8a59c53562caf1b/numpy-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf6470d91d34bf669f61d515499859fa7a4c2f7c36434afb70e82df7217933f9", size = 18295342, upload-time = "2026-01-10T06:42:56.991Z" }, + { url = "https://files.pythonhosted.org/packages/31/4c/14cb9d86240bd8c386c881bafbe43f001284b7cce3bc01623ac9475da163/numpy-2.4.1-cp312-cp312-win32.whl", hash = "sha256:b6bcf39112e956594b3331316d90c90c90fb961e39696bda97b89462f5f3943f", size = 5959015, upload-time = "2026-01-10T06:42:59.631Z" }, + { url = "https://files.pythonhosted.org/packages/51/cf/52a703dbeb0c65807540d29699fef5fda073434ff61846a564d5c296420f/numpy-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:e1a27bb1b2dee45a2a53f5ca6ff2d1a7f135287883a1689e930d44d1ff296c87", size = 12310730, upload-time = "2026-01-10T06:43:01.627Z" }, + { url = "https://files.pythonhosted.org/packages/69/80/a828b2d0ade5e74a9fe0f4e0a17c30fdc26232ad2bc8c9f8b3197cf7cf18/numpy-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:0e6e8f9d9ecf95399982019c01223dc130542960a12edfa8edd1122dfa66a8a8", size = 10312166, upload-time = "2026-01-10T06:43:03.673Z" }, + { url = "https://files.pythonhosted.org/packages/04/68/732d4b7811c00775f3bd522a21e8dd5a23f77eb11acdeb663e4a4ebf0ef4/numpy-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d797454e37570cfd61143b73b8debd623c3c0952959adb817dd310a483d58a1b", size = 16652495, upload-time = "2026-01-10T06:43:06.283Z" }, + { url = "https://files.pythonhosted.org/packages/20/ca/857722353421a27f1465652b2c66813eeeccea9d76d5f7b74b99f298e60e/numpy-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c55962006156aeef1629b953fd359064aa47e4d82cfc8e67f0918f7da3344f", size = 12368657, upload-time = "2026-01-10T06:43:09.094Z" }, + { url = "https://files.pythonhosted.org/packages/81/0d/2377c917513449cc6240031a79d30eb9a163d32a91e79e0da47c43f2c0c8/numpy-2.4.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:71abbea030f2cfc3092a0ff9f8c8fdefdc5e0bf7d9d9c99663538bb0ecdac0b9", size = 5197256, upload-time = "2026-01-10T06:43:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/17/39/569452228de3f5de9064ac75137082c6214be1f5c532016549a7923ab4b5/numpy-2.4.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b55aa56165b17aaf15520beb9cbd33c9039810e0d9643dd4379e44294c7303e", size = 6545212, upload-time = "2026-01-10T06:43:15.661Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/77333f4d1e4dac4395385482557aeecf4826e6ff517e32ca48e1dafbe42a/numpy-2.4.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0faba4a331195bfa96f93dd9dfaa10b2c7aa8cda3a02b7fd635e588fe821bf5", size = 14402871, upload-time = "2026-01-10T06:43:17.324Z" }, + { url = "https://files.pythonhosted.org/packages/ba/87/d341e519956273b39d8d47969dd1eaa1af740615394fe67d06f1efa68773/numpy-2.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e3087f53e2b4428766b54932644d148613c5a595150533ae7f00dab2f319a8", size = 16359305, upload-time = "2026-01-10T06:43:19.376Z" }, + { url = "https://files.pythonhosted.org/packages/32/91/789132c6666288eaa20ae8066bb99eba1939362e8f1a534949a215246e97/numpy-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:49e792ec351315e16da54b543db06ca8a86985ab682602d90c60ef4ff4db2a9c", size = 16181909, upload-time = "2026-01-10T06:43:21.808Z" }, + { url = "https://files.pythonhosted.org/packages/cf/b8/090b8bd27b82a844bb22ff8fdf7935cb1980b48d6e439ae116f53cdc2143/numpy-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79e9e06c4c2379db47f3f6fc7a8652e7498251789bf8ff5bd43bf478ef314ca2", size = 18284380, upload-time = "2026-01-10T06:43:23.957Z" }, + { url = "https://files.pythonhosted.org/packages/67/78/722b62bd31842ff029412271556a1a27a98f45359dea78b1548a3a9996aa/numpy-2.4.1-cp313-cp313-win32.whl", hash = "sha256:3d1a100e48cb266090a031397863ff8a30050ceefd798f686ff92c67a486753d", size = 5957089, upload-time = "2026-01-10T06:43:27.535Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/cf32198b0b6e18d4fbfa9a21a992a7fca535b9bb2b0cdd217d4a3445b5ca/numpy-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:92a0e65272fd60bfa0d9278e0484c2f52fe03b97aedc02b357f33fe752c52ffb", size = 12307230, upload-time = "2026-01-10T06:43:29.298Z" }, + { url = "https://files.pythonhosted.org/packages/44/6c/534d692bfb7d0afe30611320c5fb713659dcb5104d7cc182aff2aea092f5/numpy-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:20d4649c773f66cc2fc36f663e091f57c3b7655f936a4c681b4250855d1da8f5", size = 10313125, upload-time = "2026-01-10T06:43:31.782Z" }, + { url = "https://files.pythonhosted.org/packages/da/a1/354583ac5c4caa566de6ddfbc42744409b515039e085fab6e0ff942e0df5/numpy-2.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f93bc6892fe7b0663e5ffa83b61aab510aacffd58c16e012bb9352d489d90cb7", size = 12496156, upload-time = "2026-01-10T06:43:34.237Z" }, + { url = "https://files.pythonhosted.org/packages/51/b0/42807c6e8cce58c00127b1dc24d365305189991f2a7917aa694a109c8d7d/numpy-2.4.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:178de8f87948163d98a4c9ab5bee4ce6519ca918926ec8df195af582de28544d", size = 5324663, upload-time = "2026-01-10T06:43:36.211Z" }, + { url = "https://files.pythonhosted.org/packages/fe/55/7a621694010d92375ed82f312b2f28017694ed784775269115323e37f5e2/numpy-2.4.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:98b35775e03ab7f868908b524fc0a84d38932d8daf7b7e1c3c3a1b6c7a2c9f15", size = 6645224, upload-time = "2026-01-10T06:43:37.884Z" }, + { url = "https://files.pythonhosted.org/packages/50/96/9fa8635ed9d7c847d87e30c834f7109fac5e88549d79ef3324ab5c20919f/numpy-2.4.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941c2a93313d030f219f3a71fd3d91a728b82979a5e8034eb2e60d394a2b83f9", size = 14462352, upload-time = "2026-01-10T06:43:39.479Z" }, + { url = "https://files.pythonhosted.org/packages/03/d1/8cf62d8bb2062da4fb82dd5d49e47c923f9c0738032f054e0a75342faba7/numpy-2.4.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:529050522e983e00a6c1c6b67411083630de8b57f65e853d7b03d9281b8694d2", size = 16407279, upload-time = "2026-01-10T06:43:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/86/1c/95c86e17c6b0b31ce6ef219da00f71113b220bcb14938c8d9a05cee0ff53/numpy-2.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2302dc0224c1cbc49bb94f7064f3f923a971bfae45c33870dcbff63a2a550505", size = 16248316, upload-time = "2026-01-10T06:43:44.121Z" }, + { url = "https://files.pythonhosted.org/packages/30/b4/e7f5ff8697274c9d0fa82398b6a372a27e5cef069b37df6355ccb1f1db1a/numpy-2.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9171a42fcad32dcf3fa86f0a4faa5e9f8facefdb276f54b8b390d90447cff4e2", size = 18329884, upload-time = "2026-01-10T06:43:46.613Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/b073f3e9d77f9aec8debe8ca7f9f6a09e888ad1ba7488f0c3b36a94c03ac/numpy-2.4.1-cp313-cp313t-win32.whl", hash = "sha256:382ad67d99ef49024f11d1ce5dcb5ad8432446e4246a4b014418ba3a1175a1f4", size = 6081138, upload-time = "2026-01-10T06:43:48.854Z" }, + { url = "https://files.pythonhosted.org/packages/16/16/af42337b53844e67752a092481ab869c0523bc95c4e5c98e4dac4e9581ac/numpy-2.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:62fea415f83ad8fdb6c20840578e5fbaf5ddd65e0ec6c3c47eda0f69da172510", size = 12447478, upload-time = "2026-01-10T06:43:50.476Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f8/fa85b2eac68ec631d0b631abc448552cb17d39afd17ec53dcbcc3537681a/numpy-2.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a7870e8c5fc11aef57d6fea4b4085e537a3a60ad2cdd14322ed531fdca68d261", size = 10382981, upload-time = "2026-01-10T06:43:52.575Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a7/ef08d25698e0e4b4efbad8d55251d20fe2a15f6d9aa7c9b30cd03c165e6f/numpy-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3869ea1ee1a1edc16c29bbe3a2f2a4e515cc3a44d43903ad41e0cacdbaf733dc", size = 16652046, upload-time = "2026-01-10T06:43:54.797Z" }, + { url = "https://files.pythonhosted.org/packages/8f/39/e378b3e3ca13477e5ac70293ec027c438d1927f18637e396fe90b1addd72/numpy-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e867df947d427cdd7a60e3e271729090b0f0df80f5f10ab7dd436f40811699c3", size = 12378858, upload-time = "2026-01-10T06:43:57.099Z" }, + { url = "https://files.pythonhosted.org/packages/c3/74/7ec6154f0006910ed1fdbb7591cf4432307033102b8a22041599935f8969/numpy-2.4.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e3bd2cb07841166420d2fa7146c96ce00cb3410664cbc1a6be028e456c4ee220", size = 5207417, upload-time = "2026-01-10T06:43:59.037Z" }, + { url = "https://files.pythonhosted.org/packages/f7/b7/053ac11820d84e42f8feea5cb81cc4fcd1091499b45b1ed8c7415b1bf831/numpy-2.4.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:f0a90aba7d521e6954670550e561a4cb925713bd944445dbe9e729b71f6cabee", size = 6542643, upload-time = "2026-01-10T06:44:01.852Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c4/2e7908915c0e32ca636b92e4e4a3bdec4cb1e7eb0f8aedf1ed3c68a0d8cd/numpy-2.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d558123217a83b2d1ba316b986e9248a1ed1971ad495963d555ccd75dcb1556", size = 14418963, upload-time = "2026-01-10T06:44:04.047Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c0/3ed5083d94e7ffd7c404e54619c088e11f2e1939a9544f5397f4adb1b8ba/numpy-2.4.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2f44de05659b67d20499cbc96d49f2650769afcb398b79b324bb6e297bfe3844", size = 16363811, upload-time = "2026-01-10T06:44:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/0e/68/42b66f1852bf525050a67315a4fb94586ab7e9eaa541b1bef530fab0c5dd/numpy-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:69e7419c9012c4aaf695109564e3387f1259f001b4326dfa55907b098af082d3", size = 16197643, upload-time = "2026-01-10T06:44:08.33Z" }, + { url = "https://files.pythonhosted.org/packages/d2/40/e8714fc933d85f82c6bfc7b998a0649ad9769a32f3494ba86598aaf18a48/numpy-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2ffd257026eb1b34352e749d7cc1678b5eeec3e329ad8c9965a797e08ccba205", size = 18289601, upload-time = "2026-01-10T06:44:10.841Z" }, + { url = "https://files.pythonhosted.org/packages/80/9a/0d44b468cad50315127e884802351723daca7cf1c98d102929468c81d439/numpy-2.4.1-cp314-cp314-win32.whl", hash = "sha256:727c6c3275ddefa0dc078524a85e064c057b4f4e71ca5ca29a19163c607be745", size = 6005722, upload-time = "2026-01-10T06:44:13.332Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bb/c6513edcce5a831810e2dddc0d3452ce84d208af92405a0c2e58fd8e7881/numpy-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:7d5d7999df434a038d75a748275cd6c0094b0ecdb0837342b332a82defc4dc4d", size = 12438590, upload-time = "2026-01-10T06:44:15.006Z" }, + { url = "https://files.pythonhosted.org/packages/e9/da/a598d5cb260780cf4d255102deba35c1d072dc028c4547832f45dd3323a8/numpy-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:ce9ce141a505053b3c7bce3216071f3bf5c182b8b28930f14cd24d43932cd2df", size = 10596180, upload-time = "2026-01-10T06:44:17.386Z" }, + { url = "https://files.pythonhosted.org/packages/de/bc/ea3f2c96fcb382311827231f911723aeff596364eb6e1b6d1d91128aa29b/numpy-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4e53170557d37ae404bf8d542ca5b7c629d6efa1117dac6a83e394142ea0a43f", size = 12498774, upload-time = "2026-01-10T06:44:19.467Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ab/ef9d939fe4a812648c7a712610b2ca6140b0853c5efea361301006c02ae5/numpy-2.4.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:a73044b752f5d34d4232f25f18160a1cc418ea4507f5f11e299d8ac36875f8a0", size = 5327274, upload-time = "2026-01-10T06:44:23.189Z" }, + { url = "https://files.pythonhosted.org/packages/bd/31/d381368e2a95c3b08b8cf7faac6004849e960f4a042d920337f71cef0cae/numpy-2.4.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:fb1461c99de4d040666ca0444057b06541e5642f800b71c56e6ea92d6a853a0c", size = 6648306, upload-time = "2026-01-10T06:44:25.012Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e5/0989b44ade47430be6323d05c23207636d67d7362a1796ccbccac6773dd2/numpy-2.4.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423797bdab2eeefbe608d7c1ec7b2b4fd3c58d51460f1ee26c7500a1d9c9ee93", size = 14464653, upload-time = "2026-01-10T06:44:26.706Z" }, + { url = "https://files.pythonhosted.org/packages/10/a7/cfbe475c35371cae1358e61f20c5f075badc18c4797ab4354140e1d283cf/numpy-2.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52b5f61bdb323b566b528899cc7db2ba5d1015bda7ea811a8bcf3c89c331fa42", size = 16405144, upload-time = "2026-01-10T06:44:29.378Z" }, + { url = "https://files.pythonhosted.org/packages/f8/a3/0c63fe66b534888fa5177cc7cef061541064dbe2b4b60dcc60ffaf0d2157/numpy-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42d7dd5fa36d16d52a84f821eb96031836fd405ee6955dd732f2023724d0aa01", size = 16247425, upload-time = "2026-01-10T06:44:31.721Z" }, + { url = "https://files.pythonhosted.org/packages/6b/2b/55d980cfa2c93bd40ff4c290bf824d792bd41d2fe3487b07707559071760/numpy-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7b6b5e28bbd47b7532698e5db2fe1db693d84b58c254e4389d99a27bb9b8f6b", size = 18330053, upload-time = "2026-01-10T06:44:34.617Z" }, + { url = "https://files.pythonhosted.org/packages/23/12/8b5fc6b9c487a09a7957188e0943c9ff08432c65e34567cabc1623b03a51/numpy-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:5de60946f14ebe15e713a6f22850c2372fa72f4ff9a432ab44aa90edcadaa65a", size = 6152482, upload-time = "2026-01-10T06:44:36.798Z" }, + { url = "https://files.pythonhosted.org/packages/00/a5/9f8ca5856b8940492fc24fbe13c1bc34d65ddf4079097cf9e53164d094e1/numpy-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:8f085da926c0d491ffff3096f91078cc97ea67e7e6b65e490bc8dcda65663be2", size = 12627117, upload-time = "2026-01-10T06:44:38.828Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0d/eca3d962f9eef265f01a8e0d20085c6dd1f443cbffc11b6dede81fd82356/numpy-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:6436cffb4f2bf26c974344439439c95e152c9a527013f26b3577be6c2ca64295", size = 10667121, upload-time = "2026-01-10T06:44:41.644Z" }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.1.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/6d/121efd7382d5b0284239f4ab1fc1590d86d34ed4a4a2fdb13b30ca8e5740/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728", size = 410594774, upload-time = "2023-04-19T15:50:03.519Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ef/32a375b74bea706c93deea5613552f7c9104f961b21df423f5887eca713b/nvidia_cublas_cu12-12.1.3.1-py3-none-win_amd64.whl", hash = "sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906", size = 439918445, upload-time = "2023-04-19T15:56:13.346Z" }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.8.4.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/99/db44d685f0e257ff0e213ade1964fc459b4a690a73293220e98feb3307cf/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b86f6dd8935884615a0683b663891d43781b819ac4f2ba2b0c9604676af346d0", size = 590537124, upload-time = "2025-03-07T01:43:53.556Z" }, + { url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921, upload-time = "2025-03-07T01:44:31.254Z" }, + { url = "https://files.pythonhosted.org/packages/70/61/7d7b3c70186fb651d0fbd35b01dbfc8e755f69fd58f817f3d0f642df20c3/nvidia_cublas_cu12-12.8.4.1-py3-none-win_amd64.whl", hash = "sha256:47e9b82132fa8d2b4944e708049229601448aaad7e6f296f630f2d1a32de35af", size = 567544208, upload-time = "2025-03-07T01:53:30.535Z" }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e", size = 14109015, upload-time = "2023-04-19T15:47:32.502Z" }, + { url = "https://files.pythonhosted.org/packages/d0/56/0021e32ea2848c24242f6b56790bd0ccc8bf99f973ca790569c6ca028107/nvidia_cuda_cupti_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:bea8236d13a0ac7190bd2919c3e8e6ce1e402104276e6f9694479e48bb0eb2a4", size = 10154340, upload-time = "2023-04-19T15:53:33.563Z" }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/1f/b3bd73445e5cb342727fd24fe1f7b748f690b460acadc27ea22f904502c8/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4412396548808ddfed3f17a467b104ba7751e6b58678a4b840675c56d21cf7ed", size = 9533318, upload-time = "2025-03-07T01:40:10.421Z" }, + { url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621, upload-time = "2025-03-07T01:40:21.213Z" }, + { url = "https://files.pythonhosted.org/packages/41/bc/83f5426095d93694ae39fe1311431b5d5a9bb82e48bf0dd8e19be2765942/nvidia_cuda_cupti_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:bb479dcdf7e6d4f8b0b01b115260399bf34154a1a2e9fe11c85c517d87efd98e", size = 7015759, upload-time = "2025-03-07T01:51:11.355Z" }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2", size = 23671734, upload-time = "2023-04-19T15:48:32.42Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1d/f76987c4f454eb86e0b9a0e4f57c3bf1ac1d13ad13cd1a4da4eb0e0c0ce9/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:0a98a522d9ff138b96c010a65e145dc1b4850e9ecb75a0172371793752fd46ed", size = 19331863, upload-time = "2023-04-19T15:54:34.603Z" }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029, upload-time = "2025-03-07T01:42:13.562Z" }, + { url = "https://files.pythonhosted.org/packages/eb/d1/e50d0acaab360482034b84b6e27ee83c6738f7d32182b987f9c7a4e32962/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc1fec1e1637854b4c0a65fb9a8346b51dd9ee69e61ebaccc82058441f15bce8", size = 43106076, upload-time = "2025-03-07T01:41:59.817Z" }, + { url = "https://files.pythonhosted.org/packages/45/51/52a3d84baa2136cc8df15500ad731d74d3a1114d4c123e043cb608d4a32b/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:7a4b6b2904850fe78e0bd179c4b655c404d4bb799ef03ddc60804247099ae909", size = 73586838, upload-time = "2025-03-07T01:52:13.483Z" }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40", size = 823596, upload-time = "2023-04-19T15:47:22.471Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e2/7a2b4b5064af56ea8ea2d8b2776c0f2960d95c88716138806121ae52a9c9/nvidia_cuda_runtime_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:dfb46ef84d73fababab44cf03e3b83f80700d27ca300e537f85f636fac474344", size = 821226, upload-time = "2023-04-19T15:53:23.082Z" }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/75/f865a3b236e4647605ea34cc450900854ba123834a5f1598e160b9530c3a/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:52bf7bbee900262ffefe5e9d5a2a69a30d97e2bc5bb6cc866688caa976966e3d", size = 965265, upload-time = "2025-03-07T01:39:43.533Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765, upload-time = "2025-03-07T01:40:01.615Z" }, + { url = "https://files.pythonhosted.org/packages/30/a5/a515b7600ad361ea14bfa13fb4d6687abf500adc270f19e89849c0590492/nvidia_cuda_runtime_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:c0c6027f01505bfed6c3b21ec546f69c687689aad5f1a377554bc6ca4aa993a8", size = 944318, upload-time = "2025-03-07T01:51:01.794Z" }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.1.0.70" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f", size = 664752741, upload-time = "2024-04-22T15:24:15.253Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d0/f90ee6956a628f9f04bf467932c0a25e5a7e706a684b896593c06c82f460/nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a", size = 679925892, upload-time = "2024-04-22T15:24:53.333Z" }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.10.2.21" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/41/e79269ce215c857c935fd86bcfe91a451a584dfc27f1e068f568b9ad1ab7/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:c9132cc3f8958447b4910a1720036d9eff5928cc3179b0a51fb6d167c6cc87d8", size = 705026878, upload-time = "2025-06-06T21:52:51.348Z" }, + { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" }, + { url = "https://files.pythonhosted.org/packages/3d/90/0bd6e586701b3a890fd38aa71c387dab4883d619d6e5ad912ccbd05bfd67/nvidia_cudnn_cu12-9.10.2.21-py3-none-win_amd64.whl", hash = "sha256:c6288de7d63e6cf62988f0923f96dc339cea362decb1bf5b3141883392a7d65e", size = 692992268, upload-time = "2025-06-06T21:55:18.114Z" }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.0.2.54" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/94/eb540db023ce1d162e7bea9f8f5aa781d57c65aed513c33ee9a5123ead4d/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56", size = 121635161, upload-time = "2023-04-19T15:50:46Z" }, + { url = "https://files.pythonhosted.org/packages/f7/57/7927a3aa0e19927dfed30256d1c854caf991655d847a4e7c01fe87e3d4ac/nvidia_cufft_cu12-11.0.2.54-py3-none-win_amd64.whl", hash = "sha256:d9ac353f78ff89951da4af698f80870b1534ed69993f10a4cf1d96f21357e253", size = 121344196, upload-time = "2023-04-19T15:56:59.562Z" }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.3.3.83" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/bc/7771846d3a0272026c416fbb7e5f4c1f146d6d80704534d0b187dd6f4800/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a", size = 193109211, upload-time = "2025-03-07T01:44:56.873Z" }, + { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" }, + { url = "https://files.pythonhosted.org/packages/7d/ec/ce1629f1e478bb5ccd208986b5f9e0316a78538dd6ab1d0484f012f8e2a1/nvidia_cufft_cu12-11.3.3.83-py3-none-win_amd64.whl", hash = "sha256:7a64a98ef2a7c47f905aaf8931b69a3a43f27c55530c698bb2ed7c75c0b42cb7", size = 192216559, upload-time = "2025-03-07T01:53:57.106Z" }, +] + +[[package]] +name = "nvidia-cufile-cu12" +version = "1.13.1.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834, upload-time = "2025-03-07T01:45:50.723Z" }, + { url = "https://files.pythonhosted.org/packages/1e/f5/5607710447a6fe9fd9b3283956fceeee8a06cda1d2f56ce31371f595db2a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:4beb6d4cce47c1a0f1013d72e02b0994730359e17801d395bdcbf20cfb3bb00a", size = 1120705, upload-time = "2025-03-07T01:45:41.434Z" }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.2.106" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/31/4890b1c9abc496303412947fc7dcea3d14861720642b49e8ceed89636705/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0", size = 56467784, upload-time = "2023-04-19T15:51:04.804Z" }, + { url = "https://files.pythonhosted.org/packages/5c/97/4c9c7c79efcdf5b70374241d48cf03b94ef6707fd18ea0c0f53684931d0b/nvidia_curand_cu12-10.3.2.106-py3-none-win_amd64.whl", hash = "sha256:75b6b0c574c0037839121317e17fd01f8a69fd2ef8e25853d826fec30bdba74a", size = 55995813, upload-time = "2023-04-19T15:57:16.676Z" }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.9.90" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/5e/92aa15eca622a388b80fbf8375d4760738df6285b1e92c43d37390a33a9a/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dfab99248034673b779bc6decafdc3404a8a6f502462201f2f31f11354204acd", size = 63625754, upload-time = "2025-03-07T01:46:10.735Z" }, + { url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976, upload-time = "2025-03-07T01:46:23.323Z" }, + { url = "https://files.pythonhosted.org/packages/b9/75/70c05b2f3ed5be3bb30b7102b6eb78e100da4bbf6944fd6725c012831cab/nvidia_curand_cu12-10.3.9.90-py3-none-win_amd64.whl", hash = "sha256:f149a8ca457277da854f89cf282d6ef43176861926c7ac85b2a0fbd237c587ec", size = 62765309, upload-time = "2025-03-07T01:54:20.478Z" }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.4.5.107" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusparse-cu12", version = "12.1.0.106", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/1d/8de1e5c67099015c834315e333911273a8c6aaba78923dd1d1e25fc5f217/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd", size = 124161928, upload-time = "2023-04-19T15:51:25.781Z" }, + { url = "https://files.pythonhosted.org/packages/b8/80/8fca0bf819122a631c3976b6fc517c1b10741b643b94046bd8dd451522c5/nvidia_cusolver_cu12-11.4.5.107-py3-none-win_amd64.whl", hash = "sha256:74e0c3a24c78612192a74fcd90dd117f1cf21dea4822e66d89e8ea80e3cd2da5", size = 121643081, upload-time = "2023-04-19T15:57:43.035Z" }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.7.3.90" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/32/f7cd6ce8a7690544d084ea21c26e910a97e077c9b7f07bf5de623ee19981/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0", size = 267229841, upload-time = "2025-03-07T01:46:54.356Z" }, + { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" }, + { url = "https://files.pythonhosted.org/packages/13/c0/76ca8551b8a84146ffa189fec81c26d04adba4bc0dbe09cd6e6fd9b7de04/nvidia_cusolver_cu12-11.7.3.90-py3-none-win_amd64.whl", hash = "sha256:4a550db115fcabc4d495eb7d39ac8b58d4ab5d8e63274d3754df1c0ad6a22d34", size = 256720438, upload-time = "2025-03-07T01:54:39.898Z" }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.1.0.106" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/65/5b/cfaeebf25cd9fdec14338ccb16f6b2c4c7fa9163aefcf057d86b9cc248bb/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c", size = 195958278, upload-time = "2023-04-19T15:51:49.939Z" }, + { url = "https://files.pythonhosted.org/packages/0f/95/48fdbba24c93614d1ecd35bc6bdc6087bd17cbacc3abc4b05a9c2a1ca232/nvidia_cusparse_cu12-12.1.0.106-py3-none-win_amd64.whl", hash = "sha256:b798237e81b9719373e8fae8d4f091b70a0cf09d9d85c95a557e11df2d8e9a5a", size = 195414588, upload-time = "2023-04-19T15:58:08.389Z" }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.5.8.93" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/f7/cd777c4109681367721b00a106f491e0d0d15cfa1fd59672ce580ce42a97/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc", size = 288117129, upload-time = "2025-03-07T01:47:40.407Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" }, + { url = "https://files.pythonhosted.org/packages/62/07/f3b2ad63f8e3d257a599f422ae34eb565e70c41031aecefa3d18b62cabd1/nvidia_cusparse_cu12-12.5.8.93-py3-none-win_amd64.whl", hash = "sha256:9a33604331cb2cac199f2e7f5104dfbb8a5a898c367a53dfda9ff2acb6b6b4dd", size = 284937404, upload-time = "2025-03-07T01:55:07.742Z" }, +] + +[[package]] +name = "nvidia-cusparselt-cu12" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/b9/598f6ff36faaece4b3c50d26f50e38661499ff34346f00e057760b35cc9d/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8878dce784d0fac90131b6817b607e803c36e629ba34dc5b433471382196b6a5", size = 283835557, upload-time = "2025-02-26T00:16:54.265Z" }, + { url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691, upload-time = "2025-02-26T00:15:44.104Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d8/a6b0d0d0c2435e9310f3e2bb0d9c9dd4c33daef86aa5f30b3681defd37ea/nvidia_cusparselt_cu12-0.7.1-py3-none-win_amd64.whl", hash = "sha256:f67fbb5831940ec829c9117b7f33807db9f9678dc2a617fbe781cac17b4e1075", size = 271020911, upload-time = "2025-02-26T00:14:47.204Z" }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.21.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/99/12cd266d6233f47d00daf3a72739872bdc10267d0383508b0b9c84a18bb6/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:8579076d30a8c24988834445f8d633c697d42397e92ffc3f63fa26766d25e0a0", size = 188654414, upload-time = "2024-04-03T15:32:57.427Z" }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.27.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/7b/8354b784cf73b0ba51e566b4baba3ddd44fe8288a3d39ef1e06cd5417226/nvidia_nccl_cu12-2.27.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9ddf1a245abc36c550870f26d537a9b6087fb2e2e3d6e0ef03374c6fd19d984f", size = 322397768, upload-time = "2025-06-03T21:57:30.234Z" }, + { url = "https://files.pythonhosted.org/packages/5c/5b/4e4fff7bad39adf89f735f2bc87248c81db71205b62bcc0d5ca5b606b3c3/nvidia_nccl_cu12-2.27.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adf27ccf4238253e0b826bce3ff5fa532d65fc42322c8bfdfaf28024c0fbe039", size = 322364134, upload-time = "2025-06-03T21:58:04.013Z" }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.8.93" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836, upload-time = "2025-03-07T01:49:55.661Z" }, + { url = "https://files.pythonhosted.org/packages/2a/a2/8cee5da30d13430e87bf99bb33455d2724d0a4a9cb5d7926d80ccb96d008/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:adccd7161ace7261e01bb91e44e88da350895c270d23f744f0820c818b7229e7", size = 38386204, upload-time = "2025-03-07T01:49:43.612Z" }, + { url = "https://files.pythonhosted.org/packages/ed/d7/34f02dad2e30c31b10a51f6b04e025e5dd60e5f936af9045a9b858a05383/nvidia_nvjitlink_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:bd93fbeeee850917903583587f4fc3a4eafa022e34572251368238ab5e6bd67f", size = 268553710, upload-time = "2025-03-07T01:56:24.13Z" }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.9.86" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/0c/c75bbfb967457a0b7670b8ad267bfc4fffdf341c074e0a80db06c24ccfd4/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:e3f1171dbdc83c5932a45f0f4c99180a70de9bd2718c1ab77d14104f6d7147f9", size = 39748338, upload-time = "2025-06-05T20:10:25.613Z" }, + { url = "https://files.pythonhosted.org/packages/97/bc/2dcba8e70cf3115b400fef54f213bcd6715a3195eba000f8330f11e40c45/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:994a05ef08ef4b0b299829cde613a424382aff7efb08a7172c1fa616cc3af2ca", size = 39514880, upload-time = "2025-06-05T20:10:04.89Z" }, + { url = "https://files.pythonhosted.org/packages/dd/7e/2eecb277d8a98184d881fb98a738363fd4f14577a4d2d7f8264266e82623/nvidia_nvjitlink_cu12-12.9.86-py3-none-win_amd64.whl", hash = "sha256:cc6fcec260ca843c10e34c936921a1c426b351753587fdd638e8cff7b16bb9db", size = 35584936, upload-time = "2025-06-05T20:16:08.525Z" }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/d3/8057f0587683ed2fcd4dbfbdfdfa807b9160b809976099d36b8f60d08f03/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5", size = 99138, upload-time = "2023-04-19T15:48:43.556Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d7/bd7cb2d95ac6ac6e8d05bfa96cdce69619f1ef2808e072919044c2d47a8c/nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82", size = 66307, upload-time = "2023-04-19T15:54:45.736Z" }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.8.90" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/c0/1b303feea90d296f6176f32a2a70b5ef230f9bdeb3a72bddb0dc922dc137/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7ad891da111ebafbf7e015d34879f7112832fc239ff0d7d776b6cb685274615", size = 91161, upload-time = "2025-03-07T01:42:23.922Z" }, + { url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954, upload-time = "2025-03-07T01:42:44.131Z" }, + { url = "https://files.pythonhosted.org/packages/9f/99/4c9c0c329bf9fc125008c3b54c7c94c0023518d06fc025ae36431375e1fe/nvidia_nvtx_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:619c8304aedc69f02ea82dd244541a83c3d9d40993381b3b590f1adaed3db41e", size = 56492, upload-time = "2025-03-07T01:52:24.69Z" }, +] + +[[package]] +name = "omegaconf" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "antlr4-python3-runtime", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/48/6388f1bb9da707110532cb70ec4d2822858ddfb44f1cdf1233c20a80ea4b/omegaconf-2.3.0.tar.gz", hash = "sha256:d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7", size = 3298120, upload-time = "2022-12-08T20:59:22.753Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/94/1843518e420fa3ed6919835845df698c7e27e183cb997394e4a670973a65/omegaconf-2.3.0-py3-none-any.whl", hash = "sha256:7b4df175cdb08ba400f45cae3bdcae7ba8365db4d165fc65fd04b050ab63b46b", size = 79500, upload-time = "2022-12-08T20:59:19.686Z" }, +] + +[[package]] +name = "onnxruntime" +version = "1.23.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coloredlogs", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "flatbuffers", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "protobuf", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/9e/f748cd64161213adeef83d0cb16cb8ace1e62fa501033acdd9f9341fff57/onnxruntime-1.23.2-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:b8f029a6b98d3cf5be564d52802bb50a8489ab73409fa9db0bf583eabb7c2321", size = 17195929, upload-time = "2025-10-22T03:47:36.24Z" }, + { url = "https://files.pythonhosted.org/packages/91/9d/a81aafd899b900101988ead7fb14974c8a58695338ab6a0f3d6b0100f30b/onnxruntime-1.23.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:218295a8acae83905f6f1aed8cacb8e3eb3bd7513a13fe4ba3b2664a19fc4a6b", size = 19157705, upload-time = "2025-10-22T03:46:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/3c/35/4e40f2fba272a6698d62be2cd21ddc3675edfc1a4b9ddefcc4648f115315/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76ff670550dc23e58ea9bc53b5149b99a44e63b34b524f7b8547469aaa0dcb8c", size = 15226915, upload-time = "2025-10-22T03:46:27.773Z" }, + { url = "https://files.pythonhosted.org/packages/ef/88/9cc25d2bafe6bc0d4d3c1db3ade98196d5b355c0b273e6a5dc09c5d5d0d5/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f9b4ae77f8e3c9bee50c27bc1beede83f786fe1d52e99ac85aa8d65a01e9b77", size = 17382649, upload-time = "2025-10-22T03:47:02.782Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b4/569d298f9fc4d286c11c45e85d9ffa9e877af12ace98af8cab52396e8f46/onnxruntime-1.23.2-cp312-cp312-win_amd64.whl", hash = "sha256:25de5214923ce941a3523739d34a520aac30f21e631de53bba9174dc9c004435", size = 13470528, upload-time = "2025-10-22T03:47:28.106Z" }, + { url = "https://files.pythonhosted.org/packages/3d/41/fba0cabccecefe4a1b5fc8020c44febb334637f133acefc7ec492029dd2c/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:2ff531ad8496281b4297f32b83b01cdd719617e2351ffe0dba5684fb283afa1f", size = 17196337, upload-time = "2025-10-22T03:46:35.168Z" }, + { url = "https://files.pythonhosted.org/packages/fe/f9/2d49ca491c6a986acce9f1d1d5fc2099108958cc1710c28e89a032c9cfe9/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:162f4ca894ec3de1a6fd53589e511e06ecdc3ff646849b62a9da7489dee9ce95", size = 19157691, upload-time = "2025-10-22T03:46:43.518Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a1/428ee29c6eaf09a6f6be56f836213f104618fb35ac6cc586ff0f477263eb/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45d127d6e1e9b99d1ebeae9bcd8f98617a812f53f46699eafeb976275744826b", size = 15226898, upload-time = "2025-10-22T03:46:30.039Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2b/b57c8a2466a3126dbe0a792f56ad7290949b02f47b86216cd47d857e4b77/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bace4e0d46480fbeeb7bbe1ffe1f080e6663a42d1086ff95c1551f2d39e7872", size = 17382518, upload-time = "2025-10-22T03:47:05.407Z" }, + { url = "https://files.pythonhosted.org/packages/4a/93/aba75358133b3a941d736816dd392f687e7eab77215a6e429879080b76b6/onnxruntime-1.23.2-cp313-cp313-win_amd64.whl", hash = "sha256:1f9cc0a55349c584f083c1c076e611a7c35d5b867d5d6e6d6c823bf821978088", size = 13470276, upload-time = "2025-10-22T03:47:31.193Z" }, + { url = "https://files.pythonhosted.org/packages/7c/3d/6830fa61c69ca8e905f237001dbfc01689a4e4ab06147020a4518318881f/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d2385e774f46ac38f02b3a91a91e30263d41b2f1f4f26ae34805b2a9ddef466", size = 15229610, upload-time = "2025-10-22T03:46:32.239Z" }, + { url = "https://files.pythonhosted.org/packages/b6/ca/862b1e7a639460f0ca25fd5b6135fb42cf9deea86d398a92e44dfda2279d/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2b9233c4947907fd1818d0e581c049c41ccc39b2856cc942ff6d26317cee145", size = 17394184, upload-time = "2025-10-22T03:47:08.127Z" }, +] + +[[package]] +name = "opentelemetry-api" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz", hash = "sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c", size = 65767, upload-time = "2025-12-11T13:32:39.182Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/df/d3f1ddf4bb4cb50ed9b1139cc7b1c54c34a1e7ce8fd1b9a37c0d1551a6bd/opentelemetry_api-1.39.1-py3-none-any.whl", hash = "sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950", size = 66356, upload-time = "2025-12-11T13:32:17.304Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-exporter-otlp-proto-grpc", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-exporter-otlp-proto-http", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/30/9c/3ab1db90f32da200dba332658f2bbe602369e3d19f6aba394031a42635be/opentelemetry_exporter_otlp-1.39.1.tar.gz", hash = "sha256:7cf7470e9fd0060c8a38a23e4f695ac686c06a48ad97f8d4867bc9b420180b9c", size = 6147, upload-time = "2025-12-11T13:32:40.309Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/6c/bdc82a066e6fb1dcf9e8cc8d4e026358fe0f8690700cc6369a6bf9bd17a7/opentelemetry_exporter_otlp-1.39.1-py3-none-any.whl", hash = "sha256:68ae69775291f04f000eb4b698ff16ff685fdebe5cb52871bc4e87938a7b00fe", size = 7019, upload-time = "2025-12-11T13:32:19.387Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-proto", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/9d/22d241b66f7bbde88a3bfa6847a351d2c46b84de23e71222c6aae25c7050/opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz", hash = "sha256:763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464", size = 20409, upload-time = "2025-12-11T13:32:40.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/02/ffc3e143d89a27ac21fd557365b98bd0653b98de8a101151d5805b5d4c33/opentelemetry_exporter_otlp_proto_common-1.39.1-py3-none-any.whl", hash = "sha256:08f8a5862d64cc3435105686d0216c1365dc5701f86844a8cd56597d0c764fde", size = 18366, upload-time = "2025-12-11T13:32:20.2Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "grpcio", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-api", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-exporter-otlp-proto-common", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-proto", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-sdk", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/53/48/b329fed2c610c2c32c9366d9dc597202c9d1e58e631c137ba15248d8850f/opentelemetry_exporter_otlp_proto_grpc-1.39.1.tar.gz", hash = "sha256:772eb1c9287485d625e4dbe9c879898e5253fea111d9181140f51291b5fec3ad", size = 24650, upload-time = "2025-12-11T13:32:41.429Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/a3/cc9b66575bd6597b98b886a2067eea2693408d2d5f39dad9ab7fc264f5f3/opentelemetry_exporter_otlp_proto_grpc-1.39.1-py3-none-any.whl", hash = "sha256:fa1c136a05c7e9b4c09f739469cbdb927ea20b34088ab1d959a849b5cc589c18", size = 19766, upload-time = "2025-12-11T13:32:21.027Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-http" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-api", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-exporter-otlp-proto-common", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-proto", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-sdk", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "requests", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/04/2a08fa9c0214ae38880df01e8bfae12b067ec0793446578575e5080d6545/opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz", hash = "sha256:31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb", size = 17288, upload-time = "2025-12-11T13:32:42.029Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/f1/b27d3e2e003cd9a3592c43d099d2ed8d0a947c15281bf8463a256db0b46c/opentelemetry_exporter_otlp_proto_http-1.39.1-py3-none-any.whl", hash = "sha256:d9f5207183dd752a412c4cd564ca8875ececba13be6e9c6c370ffb752fd59985", size = 19641, upload-time = "2025-12-11T13:32:22.248Z" }, +] + +[[package]] +name = "opentelemetry-proto" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/1d/f25d76d8260c156c40c97c9ed4511ec0f9ce353f8108ca6e7561f82a06b2/opentelemetry_proto-1.39.1.tar.gz", hash = "sha256:6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8", size = 46152, upload-time = "2025-12-11T13:32:48.681Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/95/b40c96a7b5203005a0b03d8ce8cd212ff23f1793d5ba289c87a097571b18/opentelemetry_proto-1.39.1-py3-none-any.whl", hash = "sha256:22cdc78efd3b3765d09e68bfbd010d4fc254c9818afd0b6b423387d9dee46007", size = 72535, upload-time = "2025-12-11T13:32:33.866Z" }, +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.39.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-semantic-conventions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/fb/c76080c9ba07e1e8235d24cdcc4d125ef7aa3edf23eb4e497c2e50889adc/opentelemetry_sdk-1.39.1.tar.gz", hash = "sha256:cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6", size = 171460, upload-time = "2025-12-11T13:32:49.369Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/98/e91cf858f203d86f4eccdf763dcf01cf03f1dae80c3750f7e635bfa206b6/opentelemetry_sdk-1.39.1-py3-none-any.whl", hash = "sha256:4d5482c478513ecb0a5d938dcc61394e647066e0cc2676bee9f3af3f3f45f01c", size = 132565, upload-time = "2025-12-11T13:32:35.069Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.60b1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/df/553f93ed38bf22f4b999d9be9c185adb558982214f33eae539d3b5cd0858/opentelemetry_semantic_conventions-0.60b1.tar.gz", hash = "sha256:87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953", size = 137935, upload-time = "2025-12-11T13:32:50.487Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/5e/5958555e09635d09b75de3c4f8b9cae7335ca545d77392ffe7331534c402/opentelemetry_semantic_conventions-0.60b1-py3-none-any.whl", hash = "sha256:9fa8c8b0c110da289809292b0591220d3a7b53c1526a23021e977d68597893fb", size = 219982, upload-time = "2025-12-11T13:32:36.955Z" }, +] + +[[package]] +name = "optuna" +version = "4.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "alembic", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "colorlog", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sqlalchemy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/81/08f90f194eed78178064a9383432eca95611e2c5331e7b01e2418ce4b15a/optuna-4.6.0.tar.gz", hash = "sha256:89e38c2447c7f793a726617b8043f01e31f0bad54855040db17eb3b49404a369", size = 477444, upload-time = "2025-11-10T05:14:30.151Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/de/3d8455b08cb6312f8cc46aacdf16c71d4d881a1db4a4140fc5ef31108422/optuna-4.6.0-py3-none-any.whl", hash = "sha256:4c3a9facdef2b2dd7e3e2a8ae3697effa70fae4056fcf3425cfc6f5a40feb069", size = 404708, upload-time = "2025-11-10T05:14:28.6Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "python-dateutil", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytz", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tzdata", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, +] + +[[package]] +name = "pillow" +version = "12.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/02/d52c733a2452ef1ffcc123b68e6606d07276b0e358db70eabad7e40042b7/pillow-12.1.0.tar.gz", hash = "sha256:5c5ae0a06e9ea030ab786b0251b32c7e4ce10e58d983c0d5c56029455180b5b9", size = 46977283, upload-time = "2026-01-02T09:13:29.892Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/31/dc53fe21a2f2996e1b7d92bf671cdb157079385183ef7c1ae08b485db510/pillow-12.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a332ac4ccb84b6dde65dbace8431f3af08874bf9770719d32a635c4ef411b18b", size = 5262642, upload-time = "2026-01-02T09:11:10.138Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c1/10e45ac9cc79419cedf5121b42dcca5a50ad2b601fa080f58c22fb27626e/pillow-12.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:907bfa8a9cb790748a9aa4513e37c88c59660da3bcfffbd24a7d9e6abf224551", size = 4657464, upload-time = "2026-01-02T09:11:12.319Z" }, + { url = "https://files.pythonhosted.org/packages/ad/26/7b82c0ab7ef40ebede7a97c72d473bda5950f609f8e0c77b04af574a0ddb/pillow-12.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:efdc140e7b63b8f739d09a99033aa430accce485ff78e6d311973a67b6bf3208", size = 6234878, upload-time = "2026-01-02T09:11:14.096Z" }, + { url = "https://files.pythonhosted.org/packages/76/25/27abc9792615b5e886ca9411ba6637b675f1b77af3104710ac7353fe5605/pillow-12.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bef9768cab184e7ae6e559c032e95ba8d07b3023c289f79a2bd36e8bf85605a5", size = 8044868, upload-time = "2026-01-02T09:11:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ea/f200a4c36d836100e7bc738fc48cd963d3ba6372ebc8298a889e0cfc3359/pillow-12.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:742aea052cf5ab5034a53c3846165bc3ce88d7c38e954120db0ab867ca242661", size = 6349468, upload-time = "2026-01-02T09:11:17.631Z" }, + { url = "https://files.pythonhosted.org/packages/11/8f/48d0b77ab2200374c66d344459b8958c86693be99526450e7aee714e03e4/pillow-12.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a6dfc2af5b082b635af6e08e0d1f9f1c4e04d17d4e2ca0ef96131e85eda6eb17", size = 7041518, upload-time = "2026-01-02T09:11:19.389Z" }, + { url = "https://files.pythonhosted.org/packages/1d/23/c281182eb986b5d31f0a76d2a2c8cd41722d6fb8ed07521e802f9bba52de/pillow-12.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:609e89d9f90b581c8d16358c9087df76024cf058fa693dd3e1e1620823f39670", size = 6462829, upload-time = "2026-01-02T09:11:21.28Z" }, + { url = "https://files.pythonhosted.org/packages/25/ef/7018273e0faac099d7b00982abdcc39142ae6f3bd9ceb06de09779c4a9d6/pillow-12.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:43b4899cfd091a9693a1278c4982f3e50f7fb7cff5153b05174b4afc9593b616", size = 7166756, upload-time = "2026-01-02T09:11:23.559Z" }, + { url = "https://files.pythonhosted.org/packages/8f/c8/993d4b7ab2e341fe02ceef9576afcf5830cdec640be2ac5bee1820d693d4/pillow-12.1.0-cp312-cp312-win32.whl", hash = "sha256:aa0c9cc0b82b14766a99fbe6084409972266e82f459821cd26997a488a7261a7", size = 6328770, upload-time = "2026-01-02T09:11:25.661Z" }, + { url = "https://files.pythonhosted.org/packages/a7/87/90b358775a3f02765d87655237229ba64a997b87efa8ccaca7dd3e36e7a7/pillow-12.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:d70534cea9e7966169ad29a903b99fc507e932069a881d0965a1a84bb57f6c6d", size = 7033406, upload-time = "2026-01-02T09:11:27.474Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cf/881b457eccacac9e5b2ddd97d5071fb6d668307c57cbf4e3b5278e06e536/pillow-12.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:65b80c1ee7e14a87d6a068dd3b0aea268ffcabfe0498d38661b00c5b4b22e74c", size = 2452612, upload-time = "2026-01-02T09:11:29.309Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c7/2530a4aa28248623e9d7f27316b42e27c32ec410f695929696f2e0e4a778/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7b5dd7cbae20285cdb597b10eb5a2c13aa9de6cde9bb64a3c1317427b1db1ae1", size = 4062543, upload-time = "2026-01-02T09:11:31.566Z" }, + { url = "https://files.pythonhosted.org/packages/8f/1f/40b8eae823dc1519b87d53c30ed9ef085506b05281d313031755c1705f73/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:29a4cef9cb672363926f0470afc516dbf7305a14d8c54f7abbb5c199cd8f8179", size = 4138373, upload-time = "2026-01-02T09:11:33.367Z" }, + { url = "https://files.pythonhosted.org/packages/d4/77/6fa60634cf06e52139fd0e89e5bbf055e8166c691c42fb162818b7fda31d/pillow-12.1.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:681088909d7e8fa9e31b9799aaa59ba5234c58e5e4f1951b4c4d1082a2e980e0", size = 3601241, upload-time = "2026-01-02T09:11:35.011Z" }, + { url = "https://files.pythonhosted.org/packages/4f/bf/28ab865de622e14b747f0cd7877510848252d950e43002e224fb1c9ababf/pillow-12.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:983976c2ab753166dc66d36af6e8ec15bb511e4a25856e2227e5f7e00a160587", size = 5262410, upload-time = "2026-01-02T09:11:36.682Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/583420a1b55e715937a85bd48c5c0991598247a1fd2eb5423188e765ea02/pillow-12.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:db44d5c160a90df2d24a24760bbd37607d53da0b34fb546c4c232af7192298ac", size = 4657312, upload-time = "2026-01-02T09:11:38.535Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fd/f5a0896839762885b3376ff04878f86ab2b097c2f9a9cdccf4eda8ba8dc0/pillow-12.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b7a9d1db5dad90e2991645874f708e87d9a3c370c243c2d7684d28f7e133e6b", size = 6232605, upload-time = "2026-01-02T09:11:40.602Z" }, + { url = "https://files.pythonhosted.org/packages/98/aa/938a09d127ac1e70e6ed467bd03834350b33ef646b31edb7452d5de43792/pillow-12.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6258f3260986990ba2fa8a874f8b6e808cf5abb51a94015ca3dc3c68aa4f30ea", size = 8041617, upload-time = "2026-01-02T09:11:42.721Z" }, + { url = "https://files.pythonhosted.org/packages/17/e8/538b24cb426ac0186e03f80f78bc8dc7246c667f58b540bdd57c71c9f79d/pillow-12.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e115c15e3bc727b1ca3e641a909f77f8ca72a64fff150f666fcc85e57701c26c", size = 6346509, upload-time = "2026-01-02T09:11:44.955Z" }, + { url = "https://files.pythonhosted.org/packages/01/9a/632e58ec89a32738cabfd9ec418f0e9898a2b4719afc581f07c04a05e3c9/pillow-12.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6741e6f3074a35e47c77b23a4e4f2d90db3ed905cb1c5e6e0d49bff2045632bc", size = 7038117, upload-time = "2026-01-02T09:11:46.736Z" }, + { url = "https://files.pythonhosted.org/packages/c7/a2/d40308cf86eada842ca1f3ffa45d0ca0df7e4ab33c83f81e73f5eaed136d/pillow-12.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:935b9d1aed48fcfb3f838caac506f38e29621b44ccc4f8a64d575cb1b2a88644", size = 6460151, upload-time = "2026-01-02T09:11:48.625Z" }, + { url = "https://files.pythonhosted.org/packages/f1/88/f5b058ad6453a085c5266660a1417bdad590199da1b32fb4efcff9d33b05/pillow-12.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5fee4c04aad8932da9f8f710af2c1a15a83582cfb884152a9caa79d4efcdbf9c", size = 7164534, upload-time = "2026-01-02T09:11:50.445Z" }, + { url = "https://files.pythonhosted.org/packages/19/ce/c17334caea1db789163b5d855a5735e47995b0b5dc8745e9a3605d5f24c0/pillow-12.1.0-cp313-cp313-win32.whl", hash = "sha256:a786bf667724d84aa29b5db1c61b7bfdde380202aaca12c3461afd6b71743171", size = 6332551, upload-time = "2026-01-02T09:11:52.234Z" }, + { url = "https://files.pythonhosted.org/packages/e5/07/74a9d941fa45c90a0d9465098fe1ec85de3e2afbdc15cc4766622d516056/pillow-12.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:461f9dfdafa394c59cd6d818bdfdbab4028b83b02caadaff0ffd433faf4c9a7a", size = 7040087, upload-time = "2026-01-02T09:11:54.822Z" }, + { url = "https://files.pythonhosted.org/packages/88/09/c99950c075a0e9053d8e880595926302575bc742b1b47fe1bbcc8d388d50/pillow-12.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:9212d6b86917a2300669511ed094a9406888362e085f2431a7da985a6b124f45", size = 2452470, upload-time = "2026-01-02T09:11:56.522Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ba/970b7d85ba01f348dee4d65412476321d40ee04dcb51cd3735b9dc94eb58/pillow-12.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:00162e9ca6d22b7c3ee8e61faa3c3253cd19b6a37f126cad04f2f88b306f557d", size = 5264816, upload-time = "2026-01-02T09:11:58.227Z" }, + { url = "https://files.pythonhosted.org/packages/10/60/650f2fb55fdba7a510d836202aa52f0baac633e50ab1cf18415d332188fb/pillow-12.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7d6daa89a00b58c37cb1747ec9fb7ac3bc5ffd5949f5888657dfddde6d1312e0", size = 4660472, upload-time = "2026-01-02T09:12:00.798Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/5273a99478956a099d533c4f46cbaa19fd69d606624f4334b85e50987a08/pillow-12.1.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e2479c7f02f9d505682dc47df8c0ea1fc5e264c4d1629a5d63fe3e2334b89554", size = 6268974, upload-time = "2026-01-02T09:12:02.572Z" }, + { url = "https://files.pythonhosted.org/packages/b4/26/0bf714bc2e73d5267887d47931d53c4ceeceea6978148ed2ab2a4e6463c4/pillow-12.1.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f188d580bd870cda1e15183790d1cc2fa78f666e76077d103edf048eed9c356e", size = 8073070, upload-time = "2026-01-02T09:12:04.75Z" }, + { url = "https://files.pythonhosted.org/packages/43/cf/1ea826200de111a9d65724c54f927f3111dc5ae297f294b370a670c17786/pillow-12.1.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0fde7ec5538ab5095cc02df38ee99b0443ff0e1c847a045554cf5f9af1f4aa82", size = 6380176, upload-time = "2026-01-02T09:12:06.626Z" }, + { url = "https://files.pythonhosted.org/packages/03/e0/7938dd2b2013373fd85d96e0f38d62b7a5a262af21ac274250c7ca7847c9/pillow-12.1.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ed07dca4a8464bada6139ab38f5382f83e5f111698caf3191cb8dbf27d908b4", size = 7067061, upload-time = "2026-01-02T09:12:08.624Z" }, + { url = "https://files.pythonhosted.org/packages/86/ad/a2aa97d37272a929a98437a8c0ac37b3cf012f4f8721e1bd5154699b2518/pillow-12.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f45bd71d1fa5e5749587613037b172e0b3b23159d1c00ef2fc920da6f470e6f0", size = 6491824, upload-time = "2026-01-02T09:12:10.488Z" }, + { url = "https://files.pythonhosted.org/packages/a4/44/80e46611b288d51b115826f136fb3465653c28f491068a72d3da49b54cd4/pillow-12.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:277518bf4fe74aa91489e1b20577473b19ee70fb97c374aa50830b279f25841b", size = 7190911, upload-time = "2026-01-02T09:12:12.772Z" }, + { url = "https://files.pythonhosted.org/packages/86/77/eacc62356b4cf81abe99ff9dbc7402750044aed02cfd6a503f7c6fc11f3e/pillow-12.1.0-cp313-cp313t-win32.whl", hash = "sha256:7315f9137087c4e0ee73a761b163fc9aa3b19f5f606a7fc08d83fd3e4379af65", size = 6336445, upload-time = "2026-01-02T09:12:14.775Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3c/57d81d0b74d218706dafccb87a87ea44262c43eef98eb3b164fd000e0491/pillow-12.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:0ddedfaa8b5f0b4ffbc2fa87b556dc59f6bb4ecb14a53b33f9189713ae8053c0", size = 7045354, upload-time = "2026-01-02T09:12:16.599Z" }, + { url = "https://files.pythonhosted.org/packages/ac/82/8b9b97bba2e3576a340f93b044a3a3a09841170ab4c1eb0d5c93469fd32f/pillow-12.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:80941e6d573197a0c28f394753de529bb436b1ca990ed6e765cf42426abc39f8", size = 2454547, upload-time = "2026-01-02T09:12:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/8c/87/bdf971d8bbcf80a348cc3bacfcb239f5882100fe80534b0ce67a784181d8/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:5cb7bc1966d031aec37ddb9dcf15c2da5b2e9f7cc3ca7c54473a20a927e1eb91", size = 4062533, upload-time = "2026-01-02T09:12:20.791Z" }, + { url = "https://files.pythonhosted.org/packages/ff/4f/5eb37a681c68d605eb7034c004875c81f86ec9ef51f5be4a63eadd58859a/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:97e9993d5ed946aba26baf9c1e8cf18adbab584b99f452ee72f7ee8acb882796", size = 4138546, upload-time = "2026-01-02T09:12:23.664Z" }, + { url = "https://files.pythonhosted.org/packages/11/6d/19a95acb2edbace40dcd582d077b991646b7083c41b98da4ed7555b59733/pillow-12.1.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:414b9a78e14ffeb98128863314e62c3f24b8a86081066625700b7985b3f529bd", size = 3601163, upload-time = "2026-01-02T09:12:26.338Z" }, + { url = "https://files.pythonhosted.org/packages/fc/36/2b8138e51cb42e4cc39c3297713455548be855a50558c3ac2beebdc251dd/pillow-12.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e6bdb408f7c9dd2a5ff2b14a3b0bb6d4deb29fb9961e6eb3ae2031ae9a5cec13", size = 5266086, upload-time = "2026-01-02T09:12:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/53/4b/649056e4d22e1caa90816bf99cef0884aed607ed38075bd75f091a607a38/pillow-12.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3413c2ae377550f5487991d444428f1a8ae92784aac79caa8b1e3b89b175f77e", size = 4657344, upload-time = "2026-01-02T09:12:31.117Z" }, + { url = "https://files.pythonhosted.org/packages/6c/6b/c5742cea0f1ade0cd61485dc3d81f05261fc2276f537fbdc00802de56779/pillow-12.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e5dcbe95016e88437ecf33544ba5db21ef1b8dd6e1b434a2cb2a3d605299e643", size = 6232114, upload-time = "2026-01-02T09:12:32.936Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8f/9f521268ce22d63991601aafd3d48d5ff7280a246a1ef62d626d67b44064/pillow-12.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d0a7735df32ccbcc98b98a1ac785cc4b19b580be1bdf0aeb5c03223220ea09d5", size = 8042708, upload-time = "2026-01-02T09:12:34.78Z" }, + { url = "https://files.pythonhosted.org/packages/1a/eb/257f38542893f021502a1bbe0c2e883c90b5cff26cc33b1584a841a06d30/pillow-12.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c27407a2d1b96774cbc4a7594129cc027339fd800cd081e44497722ea1179de", size = 6347762, upload-time = "2026-01-02T09:12:36.748Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5a/8ba375025701c09b309e8d5163c5a4ce0102fa86bbf8800eb0d7ac87bc51/pillow-12.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15c794d74303828eaa957ff8070846d0efe8c630901a1c753fdc63850e19ecd9", size = 7039265, upload-time = "2026-01-02T09:12:39.082Z" }, + { url = "https://files.pythonhosted.org/packages/cf/dc/cf5e4cdb3db533f539e88a7bbf9f190c64ab8a08a9bc7a4ccf55067872e4/pillow-12.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c990547452ee2800d8506c4150280757f88532f3de2a58e3022e9b179107862a", size = 6462341, upload-time = "2026-01-02T09:12:40.946Z" }, + { url = "https://files.pythonhosted.org/packages/d0/47/0291a25ac9550677e22eda48510cfc4fa4b2ef0396448b7fbdc0a6946309/pillow-12.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b63e13dd27da389ed9475b3d28510f0f954bca0041e8e551b2a4eb1eab56a39a", size = 7165395, upload-time = "2026-01-02T09:12:42.706Z" }, + { url = "https://files.pythonhosted.org/packages/4f/4c/e005a59393ec4d9416be06e6b45820403bb946a778e39ecec62f5b2b991e/pillow-12.1.0-cp314-cp314-win32.whl", hash = "sha256:1a949604f73eb07a8adab38c4fe50791f9919344398bdc8ac6b307f755fc7030", size = 6431413, upload-time = "2026-01-02T09:12:44.944Z" }, + { url = "https://files.pythonhosted.org/packages/1c/af/f23697f587ac5f9095d67e31b81c95c0249cd461a9798a061ed6709b09b5/pillow-12.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:4f9f6a650743f0ddee5593ac9e954ba1bdbc5e150bc066586d4f26127853ab94", size = 7176779, upload-time = "2026-01-02T09:12:46.727Z" }, + { url = "https://files.pythonhosted.org/packages/b3/36/6a51abf8599232f3e9afbd16d52829376a68909fe14efe29084445db4b73/pillow-12.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:808b99604f7873c800c4840f55ff389936ef1948e4e87645eaf3fccbc8477ac4", size = 2543105, upload-time = "2026-01-02T09:12:49.243Z" }, + { url = "https://files.pythonhosted.org/packages/82/54/2e1dd20c8749ff225080d6ba465a0cab4387f5db0d1c5fb1439e2d99923f/pillow-12.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc11908616c8a283cf7d664f77411a5ed2a02009b0097ff8abbba5e79128ccf2", size = 5268571, upload-time = "2026-01-02T09:12:51.11Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/571163a5ef86ec0cf30d265ac2a70ae6fc9e28413d1dc94fa37fae6bda89/pillow-12.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:896866d2d436563fa2a43a9d72f417874f16b5545955c54a64941e87c1376c61", size = 4660426, upload-time = "2026-01-02T09:12:52.865Z" }, + { url = "https://files.pythonhosted.org/packages/5e/e1/53ee5163f794aef1bf84243f755ee6897a92c708505350dd1923f4afec48/pillow-12.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8e178e3e99d3c0ea8fc64b88447f7cac8ccf058af422a6cedc690d0eadd98c51", size = 6269908, upload-time = "2026-01-02T09:12:54.884Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0b/b4b4106ff0ee1afa1dc599fde6ab230417f800279745124f6c50bcffed8e/pillow-12.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:079af2fb0c599c2ec144ba2c02766d1b55498e373b3ac64687e43849fbbef5bc", size = 8074733, upload-time = "2026-01-02T09:12:56.802Z" }, + { url = "https://files.pythonhosted.org/packages/19/9f/80b411cbac4a732439e629a26ad3ef11907a8c7fc5377b7602f04f6fe4e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdec5e43377761c5dbca620efb69a77f6855c5a379e32ac5b158f54c84212b14", size = 6381431, upload-time = "2026-01-02T09:12:58.823Z" }, + { url = "https://files.pythonhosted.org/packages/8f/b7/d65c45db463b66ecb6abc17c6ba6917a911202a07662247e1355ce1789e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:565c986f4b45c020f5421a4cea13ef294dde9509a8577f29b2fc5edc7587fff8", size = 7068529, upload-time = "2026-01-02T09:13:00.885Z" }, + { url = "https://files.pythonhosted.org/packages/50/96/dfd4cd726b4a45ae6e3c669fc9e49deb2241312605d33aba50499e9d9bd1/pillow-12.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:43aca0a55ce1eefc0aefa6253661cb54571857b1a7b2964bd8a1e3ef4b729924", size = 6492981, upload-time = "2026-01-02T09:13:03.314Z" }, + { url = "https://files.pythonhosted.org/packages/4d/1c/b5dc52cf713ae46033359c5ca920444f18a6359ce1020dd3e9c553ea5bc6/pillow-12.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0deedf2ea233722476b3a81e8cdfbad786f7adbed5d848469fa59fe52396e4ef", size = 7191878, upload-time = "2026-01-02T09:13:05.276Z" }, + { url = "https://files.pythonhosted.org/packages/53/26/c4188248bd5edaf543864fe4834aebe9c9cb4968b6f573ce014cc42d0720/pillow-12.1.0-cp314-cp314t-win32.whl", hash = "sha256:b17fbdbe01c196e7e159aacb889e091f28e61020a8abeac07b68079b6e626988", size = 6438703, upload-time = "2026-01-02T09:13:07.491Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0e/69ed296de8ea05cb03ee139cee600f424ca166e632567b2d66727f08c7ed/pillow-12.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27b9baecb428899db6c0de572d6d305cfaf38ca1596b5c0542a5182e3e74e8c6", size = 7182927, upload-time = "2026-01-02T09:13:09.841Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f5/68334c015eed9b5cff77814258717dec591ded209ab5b6fb70e2ae873d1d/pillow-12.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f61333d817698bdcdd0f9d7793e365ac3d2a21c1f1eb02b32ad6aefb8d8ea831", size = 2545104, upload-time = "2026-01-02T09:13:12.068Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "primepy" +version = "1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/77/0cfa1b4697cfb5336f3a96e8bc73327f64610be3a64c97275f1801afb395/primePy-1.3.tar.gz", hash = "sha256:25fd7e25344b0789a5984c75d89f054fcf1f180bef20c998e4befbac92de4669", size = 3914, upload-time = "2018-05-29T17:18:18.683Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/c1/bb7e334135859c3a92ec399bc89293ea73f28e815e35b43929c8db6af030/primePy-1.3-py3-none-any.whl", hash = "sha256:5ed443718765be9bf7e2ff4c56cdff71b42140a15b39d054f9d99f0009e2317a", size = 4040, upload-time = "2018-05-29T17:18:17.53Z" }, +] + +[[package]] +name = "propcache" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, +] + +[[package]] +name = "protobuf" +version = "6.33.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz", hash = "sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c", size = 444465, upload-time = "2026-01-29T21:51:33.494Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/79/af92d0a8369732b027e6d6084251dd8e782c685c72da161bd4a2e00fbabb/protobuf-6.33.5-cp310-abi3-win32.whl", hash = "sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b", size = 425769, upload-time = "2026-01-29T21:51:21.751Z" }, + { url = "https://files.pythonhosted.org/packages/55/75/bb9bc917d10e9ee13dee8607eb9ab963b7cf8be607c46e7862c748aa2af7/protobuf-6.33.5-cp310-abi3-win_amd64.whl", hash = "sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c", size = 437118, upload-time = "2026-01-29T21:51:24.022Z" }, + { url = "https://files.pythonhosted.org/packages/a2/6b/e48dfc1191bc5b52950246275bf4089773e91cb5ba3592621723cdddca62/protobuf-6.33.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5", size = 427766, upload-time = "2026-01-29T21:51:25.413Z" }, + { url = "https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190", size = 324638, upload-time = "2026-01-29T21:51:26.423Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f5/65d838092fd01c44d16037953fd4c2cc851e783de9b8f02b27ec4ffd906f/protobuf-6.33.5-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd", size = 339411, upload-time = "2026-01-29T21:51:27.446Z" }, + { url = "https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0", size = 323465, upload-time = "2026-01-29T21:51:28.925Z" }, + { url = "https://files.pythonhosted.org/packages/57/bf/2086963c69bdac3d7cff1cc7ff79b8ce5ea0bec6797a017e1be338a46248/protobuf-6.33.5-py3-none-any.whl", hash = "sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02", size = 170687, upload-time = "2026-01-29T21:51:32.557Z" }, +] + +[[package]] +name = "pyannote-audio" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "asteroid-filterbanks", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "einops", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "huggingface-hub", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "lightning", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "omegaconf", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "5.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-metrics", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-pipeline", version = "3.0.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytorch-metric-learning", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "rich", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "semver", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "soundfile", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "speechbrain", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tensorboardx", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch-audiomentations", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.9.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchmetrics", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/1e/efe9619c38f1281ddf21640654d8ea9e3f67c459b76f78657b26d8557bbe/pyannote_audio-3.4.0.tar.gz", hash = "sha256:d523d883cb8d37cb6daf99f3ba83f9138bb193646ad71e6eae7deb89d8ddd642", size = 804850, upload-time = "2025-09-09T07:04:51.17Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/13/620c6f711b723653092fd063bfee82a6af5ea3a4d3c42efc53ce623a7f4d/pyannote_audio-3.4.0-py2.py3-none-any.whl", hash = "sha256:36e38f058059f46da3478dda581cda53d9d85a21173a3e70bbdbc3ba93b5e1b7", size = 897789, upload-time = "2025-09-09T07:04:49.464Z" }, +] + +[[package]] +name = "pyannote-audio" +version = "4.0.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +dependencies = [ + { name = "asteroid-filterbanks", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "einops", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "huggingface-hub", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "lightning", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "matplotlib", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-api", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-exporter-otlp", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "opentelemetry-sdk", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "6.0.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "6.1.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-metrics", version = "4.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-pipeline", version = "4.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannoteai-sdk", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytorch-metric-learning", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "rich", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "safetensors", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "soundfile", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch-audiomentations", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchcodec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchmetrics", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/41/ee/ce292efdb0d0637b8adc1fbb5834f9f1e5d5ca574f1ed943b9d4f8927196/pyannote_audio-4.0.3.tar.gz", hash = "sha256:1e3b81075a151c64db82a0c59c6161f082bd34d1fdcfe362573aee8a364d4c7d", size = 13868614, upload-time = "2025-12-07T06:44:15.641Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/91/4d383a9c52faba05fd4b046b336b257f03a763bba1cb4be5fa1ea5b36644/pyannote_audio-4.0.3-py3-none-any.whl", hash = "sha256:144adc41d419a44ad92119bc13a84583c78fca92e002346f55b60515802b54fe", size = 892863, upload-time = "2025-12-07T06:44:17.514Z" }, +] + +[[package]] +name = "pyannote-core" +version = "5.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scipy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sortedcontainers", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/65/03/feaf7534206f02c75baf151ce4b8c322b402a6f477c2be82f69d9269cbe6/pyannote.core-5.0.0.tar.gz", hash = "sha256:1a55bcc8bd680ba6be5fa53efa3b6f3d2cdd67144c07b6b4d8d66d5cb0d2096f", size = 59247, upload-time = "2022-12-15T13:02:05.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/c4/370bc8ba66815a5832ece753a1009388bb07ea353d21c83f2d5a1a436f2c/pyannote.core-5.0.0-py3-none-any.whl", hash = "sha256:04920a6754492242ce0dc6017545595ab643870fe69a994f20c1a5f2da0544d0", size = 58475, upload-time = "2022-12-15T13:02:03.265Z" }, +] + +[[package]] +name = "pyannote-core" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pandas", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sortedcontainers", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/be/4a35ea31c685aef801f7f35c193e7766ca1bb948ae497a625cbfaa8c31ba/pyannote_core-6.0.1.tar.gz", hash = "sha256:4b4ada3276f6df4e073fa79166636e3597d0dcb5a0fe26014a3477867cc033fb", size = 327540, upload-time = "2025-09-16T09:24:39.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/57/ecf62344b9b81debd0ca95ed987135e93d1b039507f8174f52d1d19d8c6b/pyannote_core-6.0.1-py3-none-any.whl", hash = "sha256:924550d6ecf6b05ad13bf3f66f59c29fc740cf1c62a6fca860ac2e66908203e5", size = 57505, upload-time = "2025-09-16T09:24:37.798Z" }, +] + +[[package]] +name = "pyannote-database" +version = "5.1.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "pandas", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typer", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/ae/de36413d69a46be87cb612ebbcdc4eacbeebce3bc809124603e44a88fe26/pyannote.database-5.1.3.tar.gz", hash = "sha256:0eaf64c1cc506718de60d2d702f1359b1ae7ff252ee3e4799f1c5e378cd52c31", size = 49957, upload-time = "2025-01-15T20:28:26.437Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/64/92d51a3a05615ba58be8ba62a43f9f9f952d9f3646f7e4fb7826e5a3a24e/pyannote.database-5.1.3-py3-none-any.whl", hash = "sha256:37887844c7dfbcc075cb591eddc00aff45fae1ed905344e1f43e0090e63bd40a", size = 48127, upload-time = "2025-01-15T20:28:25.326Z" }, +] + +[[package]] +name = "pyannote-database" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +dependencies = [ + { name = "pandas", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "6.0.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/65/45/6210274c187cc457e854be8b56c6819fa14376f27e7e2b6021b2aa02449a/pyannote_database-6.1.1.tar.gz", hash = "sha256:bbe76da738257a9e64061123d9694ad7e949c4f171d91a9269606d873528cd10", size = 112225, upload-time = "2025-12-07T06:33:10.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/bf/6a6f5abaa4d9f803f34c9883ef5e316624eac6be0eaa87720216be9bba12/pyannote_database-6.1.1-py3-none-any.whl", hash = "sha256:36460c70ce9f50ff25c9ea365bc83ad625bb6b2494deccf6bd3fc750686ae684", size = 53735, upload-time = "2025-12-07T06:33:11.578Z" }, +] + +[[package]] +name = "pyannote-metrics" +version = "3.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "docopt", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "matplotlib", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pandas", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "5.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scikit-learn", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scipy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tabulate", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/2b/6c5f01d3c49aa1c160765946e23782ca6436ae8b9bc514b56319ff5f16e7/pyannote.metrics-3.2.1.tar.gz", hash = "sha256:08024255a3550e96a8e9da4f5f4af326886548480de891414567c8900920ee5c", size = 49086, upload-time = "2022-06-20T14:10:34.618Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/7d/035b370ab834b30e849fe9cd092b7bd7f321fcc4a2c56b84e96476b7ede5/pyannote.metrics-3.2.1-py3-none-any.whl", hash = "sha256:46be797cdade26c82773e5018659ae610145260069c7c5bf3d3c8a029ade8e22", size = 51386, upload-time = "2022-06-20T14:10:32.621Z" }, +] + +[[package]] +name = "pyannote-metrics" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pandas", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "6.0.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "6.1.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scikit-learn", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scipy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/98/f8962bb2f5826c9798212797b0fa96ff02f81573a2d7cf1f5b678d6c55a2/pyannote_metrics-4.0.0.tar.gz", hash = "sha256:aec037eb7ca4c0ad5c5bbcc19bc04e9acf24ba42c95f025497378e31db6a0ff4", size = 879283, upload-time = "2025-09-09T14:38:27.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/d5/637f67578fd704e27ca2edc45c5b0ad6433684916c08cd7fa54d07482407/pyannote_metrics-4.0.0-py3-none-any.whl", hash = "sha256:618dd4c778cb6a92b809c9aa79ee9b93f12dbe3b11e273431b094b10c53c8dd9", size = 49749, upload-time = "2025-09-09T14:38:24.592Z" }, +] + +[[package]] +name = "pyannote-pipeline" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "docopt", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "filelock", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "optuna", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "5.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scikit-learn", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/04/4bcfe0dd588577a188328b806f3a7213d8cead0ce5fe5784d01fd57df93f/pyannote.pipeline-3.0.1.tar.gz", hash = "sha256:021794e26a2cf5d8fb5bb1835951e71f5fac33eb14e23dfb7468e16b1b805151", size = 34486, upload-time = "2023-09-22T20:16:49.951Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/42/1bf7cbf061ed05c580bfb63bffdd3f3474cbd5c02bee4fac518eea9e9d9e/pyannote.pipeline-3.0.1-py3-none-any.whl", hash = "sha256:819bde4c4dd514f740f2373dfec794832b9fc8e346a35e43a7681625ee187393", size = 31517, upload-time = "2023-09-22T20:16:48.153Z" }, +] + +[[package]] +name = "pyannote-pipeline" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "optuna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-core", version = "6.0.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-database", version = "6.1.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/47/a6a49d82ea640fe320e227247402965ebc3a62a0fb2bfed13f6b17a45025/pyannote_pipeline-4.0.0.tar.gz", hash = "sha256:aa0156f76de132269f4069eca6d884d245e017e2c94f6426c3255ff45dd3c6da", size = 348865, upload-time = "2025-09-09T14:42:53.276Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/83/51290b8a17a3007bc4e4a5ea897f0765f30a6598d58670ba12d35ac0cc36/pyannote_pipeline-4.0.0-py3-none-any.whl", hash = "sha256:6b0bfc19e684d89cc1608bb39448e15ff1231d4a87e99fc7e812e7891b8cd555", size = 22215, upload-time = "2025-09-09T14:42:52.236Z" }, +] + +[[package]] +name = "pyannoteai-sdk" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "requests", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/53/3e3f14c1382cf14e1dfeb958c08282c44ac07e6965803608e1b748a38273/pyannoteai_sdk-0.4.0.tar.gz", hash = "sha256:fbdade06eb54347374acf10698b8c9c0bcdb592f8339c90c5a16fa441ea8cf9d", size = 14773, upload-time = "2026-01-14T14:20:19.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/8d/16e62133ff748931e923c2d29a150a710c85283f533a4148adc42addb6a8/pyannoteai_sdk-0.4.0-py3-none-any.whl", hash = "sha256:36a0175978e0427f27843d690eb4d1e8ec839009ea540516d6dfcdce749cd883", size = 8886, upload-time = "2026-01-14T14:20:18.407Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/c1/1d9de9aeaa1b89b0186e5fe23294ff6517fce1bc69149185577cd31016b2/pyparsing-3.3.1.tar.gz", hash = "sha256:47fad0f17ac1e2cad3de3b458570fbc9b03560aa029ed5e16ee5554da9a2251c", size = 1550512, upload-time = "2025-12-23T03:14:04.391Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/40/2614036cdd416452f5bf98ec037f38a1afb17f327cb8e6b652d4729e0af8/pyparsing-3.3.1-py3-none-any.whl", hash = "sha256:023b5e7e5520ad96642e2c6db4cb683d3970bd640cdf7115049a6e9c3682df82", size = 121793, upload-time = "2025-12-23T03:14:02.103Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "iniconfig", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pluggy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pygments", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pluggy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytest", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytorch-lightning" +version = "2.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fsspec", extra = ["http"], marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "lightning-utilities", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchmetrics", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/d7/e3963d9669758f93b07941f4e2e82a394eb3d0980e29baa4764f3bad6689/pytorch_lightning-2.6.0.tar.gz", hash = "sha256:25b0d4f05e1f33b72be0920c34d0465777fe5f623228f9d6252b4b0f685d7037", size = 658853, upload-time = "2025-11-28T09:34:13.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/eb/cc6dbfe70d15318dbce82674b1e8057cef2634ca9f9121a16b8a06c630db/pytorch_lightning-2.6.0-py3-none-any.whl", hash = "sha256:ee72cff4b8c983ecfaae8599382544bd5236d9eb300adc7dd305f359195f4e79", size = 849476, upload-time = "2025-11-28T09:34:11.271Z" }, +] + +[[package]] +name = "pytorch-metric-learning" +version = "2.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scikit-learn", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/80/6e61b1a91debf4c1b47d441f9a9d7fe2aabcdd9575ed70b2811474eb95c3/pytorch-metric-learning-2.9.0.tar.gz", hash = "sha256:27a626caf5e2876a0fd666605a78cb67ef7597e25d7a68c18053dd503830701f", size = 84530, upload-time = "2025-08-17T17:11:19.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/7d/73ef5052f57b7720cad00e16598db3592a5ef4826745ffca67a2f085d4dc/pytorch_metric_learning-2.9.0-py3-none-any.whl", hash = "sha256:d51646006dc87168f00cf954785db133a4c5aac81253877248737aa42ef6432a", size = 127801, upload-time = "2025-08-17T17:11:18.185Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "charset-normalizer", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "urllib3", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rich" +version = "14.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pygments", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd", size = 243393, upload-time = "2025-10-09T14:16:51.245Z" }, +] + +[[package]] +name = "ruamel-yaml" +version = "0.18.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ruamel-yaml-clib", marker = "(python_full_version < '3.15' and platform_machine == 'x86_64' and platform_python_implementation == 'CPython' and sys_platform == 'linux') or (python_full_version >= '3.15' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_python_implementation != 'CPython' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/2b/7a1f1ebcd6b3f14febdc003e658778d81e76b40df2267904ee6b13f0c5c6/ruamel_yaml-0.18.17.tar.gz", hash = "sha256:9091cd6e2d93a3a4b157ddb8fabf348c3de7f1fb1381346d985b6b247dcd8d3c", size = 149602, upload-time = "2025-12-17T20:02:55.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/fe/b6045c782f1fd1ae317d2a6ca1884857ce5c20f59befe6ab25a8603c43a7/ruamel_yaml-0.18.17-py3-none-any.whl", hash = "sha256:9c8ba9eb3e793efdf924b60d521820869d5bf0cb9c6f1b82d82de8295e290b9d", size = 121594, upload-time = "2025-12-17T20:02:07.657Z" }, +] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/97/60fda20e2fb54b83a61ae14648b0817c8f5d84a3821e40bfbdae1437026a/ruamel_yaml_clib-0.2.15.tar.gz", hash = "sha256:46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600", size = 225794, upload-time = "2025-11-16T16:12:59.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/4b/5fde11a0722d676e469d3d6f78c6a17591b9c7e0072ca359801c4bd17eee/ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb15a2e2a90c8475df45c0949793af1ff413acfb0a716b8b94e488ea95ce7cff", size = 149088, upload-time = "2025-11-16T16:13:22.836Z" }, + { url = "https://files.pythonhosted.org/packages/85/82/4d08ac65ecf0ef3b046421985e66301a242804eb9a62c93ca3437dc94ee0/ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64da03cbe93c1e91af133f5bec37fd24d0d4ba2418eaf970d7166b0a26a148a2", size = 134553, upload-time = "2025-11-16T16:13:24.151Z" }, + { url = "https://files.pythonhosted.org/packages/b9/cb/22366d68b280e281a932403b76da7a988108287adff2bfa5ce881200107a/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f6d3655e95a80325b84c4e14c080b2470fe4f33b6846f288379ce36154993fb1", size = 737468, upload-time = "2025-11-16T20:22:47.335Z" }, + { url = "https://files.pythonhosted.org/packages/71/73/81230babf8c9e33770d43ed9056f603f6f5f9665aea4177a2c30ae48e3f3/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71845d377c7a47afc6592aacfea738cc8a7e876d586dfba814501d8c53c1ba60", size = 753349, upload-time = "2025-11-16T16:13:26.269Z" }, + { url = "https://files.pythonhosted.org/packages/61/62/150c841f24cda9e30f588ef396ed83f64cfdc13b92d2f925bb96df337ba9/ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9", size = 788211, upload-time = "2025-11-16T16:13:27.441Z" }, + { url = "https://files.pythonhosted.org/packages/30/93/e79bd9cbecc3267499d9ead919bd61f7ddf55d793fb5ef2b1d7d92444f35/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4b293a37dc97e2b1e8a1aec62792d1e52027087c8eea4fc7b5abd2bdafdd6642", size = 743203, upload-time = "2025-11-16T16:13:28.671Z" }, + { url = "https://files.pythonhosted.org/packages/8d/06/1eb640065c3a27ce92d76157f8efddb184bd484ed2639b712396a20d6dce/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:512571ad41bba04eac7268fe33f7f4742210ca26a81fe0c75357fa682636c690", size = 747292, upload-time = "2025-11-16T20:22:48.584Z" }, + { url = "https://files.pythonhosted.org/packages/a5/21/ee353e882350beab65fcc47a91b6bdc512cace4358ee327af2962892ff16/ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5e9f630c73a490b758bf14d859a39f375e6999aea5ddd2e2e9da89b9953486a", size = 771624, upload-time = "2025-11-16T16:13:29.853Z" }, + { url = "https://files.pythonhosted.org/packages/57/34/cc1b94057aa867c963ecf9ea92ac59198ec2ee3a8d22a126af0b4d4be712/ruamel_yaml_clib-0.2.15-cp312-cp312-win32.whl", hash = "sha256:f4421ab780c37210a07d138e56dd4b51f8642187cdfb433eb687fe8c11de0144", size = 100342, upload-time = "2025-11-16T16:13:31.067Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e5/8925a4208f131b218f9a7e459c0d6fcac8324ae35da269cb437894576366/ruamel_yaml_clib-0.2.15-cp312-cp312-win_amd64.whl", hash = "sha256:2b216904750889133d9222b7b873c199d48ecbb12912aca78970f84a5aa1a4bc", size = 119013, upload-time = "2025-11-16T16:13:32.164Z" }, + { url = "https://files.pythonhosted.org/packages/17/5e/2f970ce4c573dc30c2f95825f2691c96d55560268ddc67603dc6ea2dd08e/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb", size = 147450, upload-time = "2025-11-16T16:13:33.542Z" }, + { url = "https://files.pythonhosted.org/packages/d6/03/a1baa5b94f71383913f21b96172fb3a2eb5576a4637729adbf7cd9f797f8/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471", size = 133139, upload-time = "2025-11-16T16:13:34.587Z" }, + { url = "https://files.pythonhosted.org/packages/dc/19/40d676802390f85784235a05788fd28940923382e3f8b943d25febbb98b7/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25", size = 731474, upload-time = "2025-11-16T20:22:49.934Z" }, + { url = "https://files.pythonhosted.org/packages/ce/bb/6ef5abfa43b48dd55c30d53e997f8f978722f02add61efba31380d73e42e/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a", size = 748047, upload-time = "2025-11-16T16:13:35.633Z" }, + { url = "https://files.pythonhosted.org/packages/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf", size = 782129, upload-time = "2025-11-16T16:13:36.781Z" }, + { url = "https://files.pythonhosted.org/packages/de/4b/e98086e88f76c00c88a6bcf15eae27a1454f661a9eb72b111e6bbb69024d/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d", size = 736848, upload-time = "2025-11-16T16:13:37.952Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5c/5964fcd1fd9acc53b7a3a5d9a05ea4f95ead9495d980003a557deb9769c7/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf", size = 741630, upload-time = "2025-11-16T20:22:51.718Z" }, + { url = "https://files.pythonhosted.org/packages/07/1e/99660f5a30fceb58494598e7d15df883a07292346ef5696f0c0ae5dee8c6/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51", size = 766619, upload-time = "2025-11-16T16:13:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/36/2f/fa0344a9327b58b54970e56a27b32416ffbcfe4dcc0700605516708579b2/ruamel_yaml_clib-0.2.15-cp313-cp313-win32.whl", hash = "sha256:bf0846d629e160223805db9fe8cc7aec16aaa11a07310c50c8c7164efa440aec", size = 100171, upload-time = "2025-11-16T16:13:40.456Z" }, + { url = "https://files.pythonhosted.org/packages/06/c4/c124fbcef0684fcf3c9b72374c2a8c35c94464d8694c50f37eef27f5a145/ruamel_yaml_clib-0.2.15-cp313-cp313-win_amd64.whl", hash = "sha256:45702dfbea1420ba3450bb3dd9a80b33f0badd57539c6aac09f42584303e0db6", size = 118845, upload-time = "2025-11-16T16:13:41.481Z" }, + { url = "https://files.pythonhosted.org/packages/3e/bd/ab8459c8bb759c14a146990bf07f632c1cbec0910d4853feeee4be2ab8bb/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef", size = 147248, upload-time = "2025-11-16T16:13:42.872Z" }, + { url = "https://files.pythonhosted.org/packages/69/f2/c4cec0a30f1955510fde498aac451d2e52b24afdbcb00204d3a951b772c3/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf", size = 133764, upload-time = "2025-11-16T16:13:43.932Z" }, + { url = "https://files.pythonhosted.org/packages/82/c7/2480d062281385a2ea4f7cc9476712446e0c548cd74090bff92b4b49e898/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000", size = 730537, upload-time = "2025-11-16T20:22:52.918Z" }, + { url = "https://files.pythonhosted.org/packages/75/08/e365ee305367559f57ba6179d836ecc3d31c7d3fdff2a40ebf6c32823a1f/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4", size = 746944, upload-time = "2025-11-16T16:13:45.338Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5c/8b56b08db91e569d0a4fbfa3e492ed2026081bdd7e892f63ba1c88a2f548/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c", size = 778249, upload-time = "2025-11-16T16:13:46.871Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1d/70dbda370bd0e1a92942754c873bd28f513da6198127d1736fa98bb2a16f/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043", size = 737140, upload-time = "2025-11-16T16:13:48.349Z" }, + { url = "https://files.pythonhosted.org/packages/5b/87/822d95874216922e1120afb9d3fafa795a18fdd0c444f5c4c382f6dac761/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524", size = 741070, upload-time = "2025-11-16T20:22:54.151Z" }, + { url = "https://files.pythonhosted.org/packages/b9/17/4e01a602693b572149f92c983c1f25bd608df02c3f5cf50fd1f94e124a59/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e", size = 765882, upload-time = "2025-11-16T16:13:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/9f/17/7999399081d39ebb79e807314de6b611e1d1374458924eb2a489c01fc5ad/ruamel_yaml_clib-0.2.15-cp314-cp314-win32.whl", hash = "sha256:424ead8cef3939d690c4b5c85ef5b52155a231ff8b252961b6516ed7cf05f6aa", size = 102567, upload-time = "2025-11-16T16:13:50.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/67/be582a7370fdc9e6846c5be4888a530dcadd055eef5b932e0e85c33c7d73/ruamel_yaml_clib-0.2.15-cp314-cp314-win_amd64.whl", hash = "sha256:ac9b8d5fa4bb7fd2917ab5027f60d4234345fd366fe39aa711d5dca090aa1467", size = 122847, upload-time = "2025-11-16T16:13:51.807Z" }, +] + +[[package]] +name = "safetensors" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz", hash = "sha256:07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0", size = 200878, upload-time = "2025-11-19T15:18:43.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/47/aef6c06649039accf914afef490268e1067ed82be62bcfa5b7e886ad15e8/safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517", size = 467781, upload-time = "2025-11-19T15:18:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/e8/00/374c0c068e30cd31f1e1b46b4b5738168ec79e7689ca82ee93ddfea05109/safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57", size = 447058, upload-time = "2025-11-19T15:18:34.416Z" }, + { url = "https://files.pythonhosted.org/packages/f1/06/578ffed52c2296f93d7fd2d844cabfa92be51a587c38c8afbb8ae449ca89/safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542", size = 491748, upload-time = "2025-11-19T15:18:09.79Z" }, + { url = "https://files.pythonhosted.org/packages/ae/33/1debbbb70e4791dde185edb9413d1fe01619255abb64b300157d7f15dddd/safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104", size = 503881, upload-time = "2025-11-19T15:18:16.145Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1c/40c2ca924d60792c3be509833df711b553c60effbd91da6f5284a83f7122/safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d", size = 623463, upload-time = "2025-11-19T15:18:21.11Z" }, + { url = "https://files.pythonhosted.org/packages/9b/3a/13784a9364bd43b0d61eef4bea2845039bc2030458b16594a1bd787ae26e/safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a", size = 532855, upload-time = "2025-11-19T15:18:25.719Z" }, + { url = "https://files.pythonhosted.org/packages/a0/60/429e9b1cb3fc651937727befe258ea24122d9663e4d5709a48c9cbfceecb/safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48", size = 507152, upload-time = "2025-11-19T15:18:33.023Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a8/4b45e4e059270d17af60359713ffd83f97900d45a6afa73aaa0d737d48b6/safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981", size = 541856, upload-time = "2025-11-19T15:18:31.075Z" }, + { url = "https://files.pythonhosted.org/packages/06/87/d26d8407c44175d8ae164a95b5a62707fcc445f3c0c56108e37d98070a3d/safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b", size = 674060, upload-time = "2025-11-19T15:18:37.211Z" }, + { url = "https://files.pythonhosted.org/packages/11/f5/57644a2ff08dc6325816ba7217e5095f17269dada2554b658442c66aed51/safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85", size = 771715, upload-time = "2025-11-19T15:18:38.689Z" }, + { url = "https://files.pythonhosted.org/packages/86/31/17883e13a814bd278ae6e266b13282a01049b0c81341da7fd0e3e71a80a3/safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0", size = 714377, upload-time = "2025-11-19T15:18:40.162Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d8/0c8a7dc9b41dcac53c4cbf9df2b9c83e0e0097203de8b37a712b345c0be5/safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4", size = 677368, upload-time = "2025-11-19T15:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/05/e5/cb4b713c8a93469e3c5be7c3f8d77d307e65fe89673e731f5c2bfd0a9237/safetensors-0.7.0-cp38-abi3-win32.whl", hash = "sha256:c74af94bf3ac15ac4d0f2a7c7b4663a15f8c2ab15ed0fc7531ca61d0835eccba", size = 326423, upload-time = "2025-11-19T15:18:45.74Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/ec8471c8072382cb91233ba7267fd931219753bb43814cbc71757bfd4dab/safetensors-0.7.0-cp38-abi3-win_amd64.whl", hash = "sha256:d1239932053f56f3456f32eb9625590cc7582e905021f94636202a864d470755", size = 341380, upload-time = "2025-11-19T15:18:44.427Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scipy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "threadpoolctl", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz", hash = "sha256:9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", size = 7335585, upload-time = "2025-12-10T07:08:53.618Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/74/e6a7cc4b820e95cc38cf36cd74d5aa2b42e8ffc2d21fe5a9a9c45c1c7630/scikit_learn-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5fb63362b5a7ddab88e52b6dbb47dac3fd7dafeee740dc6c8d8a446ddedade8e", size = 8548242, upload-time = "2025-12-10T07:07:51.568Z" }, + { url = "https://files.pythonhosted.org/packages/49/d8/9be608c6024d021041c7f0b3928d4749a706f4e2c3832bbede4fb4f58c95/scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5025ce924beccb28298246e589c691fe1b8c1c96507e6d27d12c5fadd85bfd76", size = 8079075, upload-time = "2025-12-10T07:07:53.697Z" }, + { url = "https://files.pythonhosted.org/packages/dd/47/f187b4636ff80cc63f21cd40b7b2d177134acaa10f6bb73746130ee8c2e5/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4496bb2cf7a43ce1a2d7524a79e40bc5da45cf598dbf9545b7e8316ccba47bb4", size = 8660492, upload-time = "2025-12-10T07:07:55.574Z" }, + { url = "https://files.pythonhosted.org/packages/97/74/b7a304feb2b49df9fafa9382d4d09061a96ee9a9449a7cbea7988dda0828/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0bcfe4d0d14aec44921545fd2af2338c7471de9cb701f1da4c9d85906ab847a", size = 8931904, upload-time = "2025-12-10T07:07:57.666Z" }, + { url = "https://files.pythonhosted.org/packages/9f/c4/0ab22726a04ede56f689476b760f98f8f46607caecff993017ac1b64aa5d/scikit_learn-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:35c007dedb2ffe38fe3ee7d201ebac4a2deccd2408e8621d53067733e3c74809", size = 8019359, upload-time = "2025-12-10T07:07:59.838Z" }, + { url = "https://files.pythonhosted.org/packages/24/90/344a67811cfd561d7335c1b96ca21455e7e472d281c3c279c4d3f2300236/scikit_learn-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:8c497fff237d7b4e07e9ef1a640887fa4fb765647f86fbe00f969ff6280ce2bb", size = 7641898, upload-time = "2025-12-10T07:08:01.36Z" }, + { url = "https://files.pythonhosted.org/packages/03/aa/e22e0768512ce9255eba34775be2e85c2048da73da1193e841707f8f039c/scikit_learn-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d6ae97234d5d7079dc0040990a6f7aeb97cb7fa7e8945f1999a429b23569e0a", size = 8513770, upload-time = "2025-12-10T07:08:03.251Z" }, + { url = "https://files.pythonhosted.org/packages/58/37/31b83b2594105f61a381fc74ca19e8780ee923be2d496fcd8d2e1147bd99/scikit_learn-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:edec98c5e7c128328124a029bceb09eda2d526997780fef8d65e9a69eead963e", size = 8044458, upload-time = "2025-12-10T07:08:05.336Z" }, + { url = "https://files.pythonhosted.org/packages/2d/5a/3f1caed8765f33eabb723596666da4ebbf43d11e96550fb18bdec42b467b/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74b66d8689d52ed04c271e1329f0c61635bcaf5b926db9b12d58914cdc01fe57", size = 8610341, upload-time = "2025-12-10T07:08:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/38/cf/06896db3f71c75902a8e9943b444a56e727418f6b4b4a90c98c934f51ed4/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8fdf95767f989b0cfedb85f7ed8ca215d4be728031f56ff5a519ee1e3276dc2e", size = 8900022, upload-time = "2025-12-10T07:08:09.862Z" }, + { url = "https://files.pythonhosted.org/packages/1c/f9/9b7563caf3ec8873e17a31401858efab6b39a882daf6c1bfa88879c0aa11/scikit_learn-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:2de443b9373b3b615aec1bb57f9baa6bb3a9bd093f1269ba95c17d870422b271", size = 7989409, upload-time = "2025-12-10T07:08:12.028Z" }, + { url = "https://files.pythonhosted.org/packages/49/bd/1f4001503650e72c4f6009ac0c4413cb17d2d601cef6f71c0453da2732fc/scikit_learn-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:eddde82a035681427cbedded4e6eff5e57fa59216c2e3e90b10b19ab1d0a65c3", size = 7619760, upload-time = "2025-12-10T07:08:13.688Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7d/a630359fc9dcc95496588c8d8e3245cc8fd81980251079bc09c70d41d951/scikit_learn-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7cc267b6108f0a1499a734167282c00c4ebf61328566b55ef262d48e9849c735", size = 8826045, upload-time = "2025-12-10T07:08:15.215Z" }, + { url = "https://files.pythonhosted.org/packages/cc/56/a0c86f6930cfcd1c7054a2bc417e26960bb88d32444fe7f71d5c2cfae891/scikit_learn-1.8.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:fe1c011a640a9f0791146011dfd3c7d9669785f9fed2b2a5f9e207536cf5c2fd", size = 8420324, upload-time = "2025-12-10T07:08:17.561Z" }, + { url = "https://files.pythonhosted.org/packages/46/1e/05962ea1cebc1cf3876667ecb14c283ef755bf409993c5946ade3b77e303/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72358cce49465d140cc4e7792015bb1f0296a9742d5622c67e31399b75468b9e", size = 8680651, upload-time = "2025-12-10T07:08:19.952Z" }, + { url = "https://files.pythonhosted.org/packages/fe/56/a85473cd75f200c9759e3a5f0bcab2d116c92a8a02ee08ccd73b870f8bb4/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80832434a6cc114f5219211eec13dcbc16c2bac0e31ef64c6d346cde3cf054cb", size = 8925045, upload-time = "2025-12-10T07:08:22.11Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b7/64d8cfa896c64435ae57f4917a548d7ac7a44762ff9802f75a79b77cb633/scikit_learn-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ee787491dbfe082d9c3013f01f5991658b0f38aa8177e4cd4bf434c58f551702", size = 8507994, upload-time = "2025-12-10T07:08:23.943Z" }, + { url = "https://files.pythonhosted.org/packages/5e/37/e192ea709551799379958b4c4771ec507347027bb7c942662c7fbeba31cb/scikit_learn-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf97c10a3f5a7543f9b88cbf488d33d175e9146115a451ae34568597ba33dcde", size = 7869518, upload-time = "2025-12-10T07:08:25.71Z" }, + { url = "https://files.pythonhosted.org/packages/24/05/1af2c186174cc92dcab2233f327336058c077d38f6fe2aceb08e6ab4d509/scikit_learn-1.8.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c22a2da7a198c28dd1a6e1136f19c830beab7fdca5b3e5c8bba8394f8a5c45b3", size = 8528667, upload-time = "2025-12-10T07:08:27.541Z" }, + { url = "https://files.pythonhosted.org/packages/a8/25/01c0af38fe969473fb292bba9dc2b8f9b451f3112ff242c647fee3d0dfe7/scikit_learn-1.8.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:6b595b07a03069a2b1740dc08c2299993850ea81cce4fe19b2421e0c970de6b7", size = 8066524, upload-time = "2025-12-10T07:08:29.822Z" }, + { url = "https://files.pythonhosted.org/packages/be/ce/a0623350aa0b68647333940ee46fe45086c6060ec604874e38e9ab7d8e6c/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29ffc74089f3d5e87dfca4c2c8450f88bdc61b0fc6ed5d267f3988f19a1309f6", size = 8657133, upload-time = "2025-12-10T07:08:31.865Z" }, + { url = "https://files.pythonhosted.org/packages/b8/cb/861b41341d6f1245e6ca80b1c1a8c4dfce43255b03df034429089ca2a2c5/scikit_learn-1.8.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb65db5d7531bccf3a4f6bec3462223bea71384e2cda41da0f10b7c292b9e7c4", size = 8923223, upload-time = "2025-12-10T07:08:34.166Z" }, + { url = "https://files.pythonhosted.org/packages/76/18/a8def8f91b18cd1ba6e05dbe02540168cb24d47e8dcf69e8d00b7da42a08/scikit_learn-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:56079a99c20d230e873ea40753102102734c5953366972a71d5cb39a32bc40c6", size = 8096518, upload-time = "2025-12-10T07:08:36.339Z" }, + { url = "https://files.pythonhosted.org/packages/d1/77/482076a678458307f0deb44e29891d6022617b2a64c840c725495bee343f/scikit_learn-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:3bad7565bc9cf37ce19a7c0d107742b320c1285df7aab1a6e2d28780df167242", size = 7754546, upload-time = "2025-12-10T07:08:38.128Z" }, + { url = "https://files.pythonhosted.org/packages/2d/d1/ef294ca754826daa043b2a104e59960abfab4cf653891037d19dd5b6f3cf/scikit_learn-1.8.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:4511be56637e46c25721e83d1a9cea9614e7badc7040c4d573d75fbe257d6fd7", size = 8848305, upload-time = "2025-12-10T07:08:41.013Z" }, + { url = "https://files.pythonhosted.org/packages/5b/e2/b1f8b05138ee813b8e1a4149f2f0d289547e60851fd1bb268886915adbda/scikit_learn-1.8.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:a69525355a641bf8ef136a7fa447672fb54fe8d60cab5538d9eb7c6438543fb9", size = 8432257, upload-time = "2025-12-10T07:08:42.873Z" }, + { url = "https://files.pythonhosted.org/packages/26/11/c32b2138a85dcb0c99f6afd13a70a951bfdff8a6ab42d8160522542fb647/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c2656924ec73e5939c76ac4c8b026fc203b83d8900362eb2599d8aee80e4880f", size = 8678673, upload-time = "2025-12-10T07:08:45.362Z" }, + { url = "https://files.pythonhosted.org/packages/c7/57/51f2384575bdec454f4fe4e7a919d696c9ebce914590abf3e52d47607ab8/scikit_learn-1.8.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15fc3b5d19cc2be65404786857f2e13c70c83dd4782676dd6814e3b89dc8f5b9", size = 8922467, upload-time = "2025-12-10T07:08:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/35/4d/748c9e2872637a57981a04adc038dacaa16ba8ca887b23e34953f0b3f742/scikit_learn-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:00d6f1d66fbcf4eba6e356e1420d33cc06c70a45bb1363cd6f6a8e4ebbbdece2", size = 8774395, upload-time = "2025-12-10T07:08:49.337Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/d7b2ebe4704a5e50790ba089d5c2ae308ab6bb852719e6c3bd4f04c3a363/scikit_learn-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f28dd15c6bb0b66ba09728cf09fd8736c304be29409bd8445a080c1280619e8c", size = 8002647, upload-time = "2025-12-10T07:08:51.601Z" }, +] + +[[package]] +name = "scipy" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/3e/9cca699f3486ce6bc12ff46dc2031f1ec8eb9ccc9a320fdaf925f1417426/scipy-1.17.0.tar.gz", hash = "sha256:2591060c8e648d8b96439e111ac41fd8342fdeff1876be2e19dea3fe8930454e", size = 30396830, upload-time = "2026-01-10T21:34:23.009Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/11/7241a63e73ba5a516f1930ac8d5b44cbbfabd35ac73a2d08ca206df007c4/scipy-1.17.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:0d5018a57c24cb1dd828bcf51d7b10e65986d549f52ef5adb6b4d1ded3e32a57", size = 31364580, upload-time = "2026-01-10T21:25:25.717Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1d/5057f812d4f6adc91a20a2d6f2ebcdb517fdbc87ae3acc5633c9b97c8ba5/scipy-1.17.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:88c22af9e5d5a4f9e027e26772cc7b5922fab8bcc839edb3ae33de404feebd9e", size = 27969012, upload-time = "2026-01-10T21:25:30.921Z" }, + { url = "https://files.pythonhosted.org/packages/e3/21/f6ec556c1e3b6ec4e088da667d9987bb77cc3ab3026511f427dc8451187d/scipy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f3cd947f20fe17013d401b64e857c6b2da83cae567adbb75b9dcba865abc66d8", size = 20140691, upload-time = "2026-01-10T21:25:34.802Z" }, + { url = "https://files.pythonhosted.org/packages/7a/fe/5e5ad04784964ba964a96f16c8d4676aa1b51357199014dce58ab7ec5670/scipy-1.17.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e8c0b331c2c1f531eb51f1b4fc9ba709521a712cce58f1aa627bc007421a5306", size = 22463015, upload-time = "2026-01-10T21:25:39.277Z" }, + { url = "https://files.pythonhosted.org/packages/4a/69/7c347e857224fcaf32a34a05183b9d8a7aca25f8f2d10b8a698b8388561a/scipy-1.17.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5194c445d0a1c7a6c1a4a4681b6b7c71baad98ff66d96b949097e7513c9d6742", size = 32724197, upload-time = "2026-01-10T21:25:44.084Z" }, + { url = "https://files.pythonhosted.org/packages/d1/fe/66d73b76d378ba8cc2fe605920c0c75092e3a65ae746e1e767d9d020a75a/scipy-1.17.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9eeb9b5f5997f75507814ed9d298ab23f62cf79f5a3ef90031b1ee2506abdb5b", size = 35009148, upload-time = "2026-01-10T21:25:50.591Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/07dec27d9dc41c18d8c43c69e9e413431d20c53a0339c388bcf72f353c4b/scipy-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:40052543f7bbe921df4408f46003d6f01c6af109b9e2c8a66dd1cf6cf57f7d5d", size = 34798766, upload-time = "2026-01-10T21:25:59.41Z" }, + { url = "https://files.pythonhosted.org/packages/81/61/0470810c8a093cdacd4ba7504b8a218fd49ca070d79eca23a615f5d9a0b0/scipy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0cf46c8013fec9d3694dc572f0b54100c28405d55d3e2cb15e2895b25057996e", size = 37405953, upload-time = "2026-01-10T21:26:07.75Z" }, + { url = "https://files.pythonhosted.org/packages/92/ce/672ed546f96d5d41ae78c4b9b02006cedd0b3d6f2bf5bb76ea455c320c28/scipy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:0937a0b0d8d593a198cededd4c439a0ea216a3f36653901ea1f3e4be949056f8", size = 36328121, upload-time = "2026-01-10T21:26:16.509Z" }, + { url = "https://files.pythonhosted.org/packages/9d/21/38165845392cae67b61843a52c6455d47d0cc2a40dd495c89f4362944654/scipy-1.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:f603d8a5518c7426414d1d8f82e253e454471de682ce5e39c29adb0df1efb86b", size = 24314368, upload-time = "2026-01-10T21:26:23.087Z" }, + { url = "https://files.pythonhosted.org/packages/0c/51/3468fdfd49387ddefee1636f5cf6d03ce603b75205bf439bbf0e62069bfd/scipy-1.17.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:65ec32f3d32dfc48c72df4291345dae4f048749bc8d5203ee0a3f347f96c5ce6", size = 31344101, upload-time = "2026-01-10T21:26:30.25Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9a/9406aec58268d437636069419e6977af953d1e246df941d42d3720b7277b/scipy-1.17.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:1f9586a58039d7229ce77b52f8472c972448cded5736eaf102d5658bbac4c269", size = 27950385, upload-time = "2026-01-10T21:26:36.801Z" }, + { url = "https://files.pythonhosted.org/packages/4f/98/e7342709e17afdfd1b26b56ae499ef4939b45a23a00e471dfb5375eea205/scipy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9fad7d3578c877d606b1150135c2639e9de9cecd3705caa37b66862977cc3e72", size = 20122115, upload-time = "2026-01-10T21:26:42.107Z" }, + { url = "https://files.pythonhosted.org/packages/fd/0e/9eeeb5357a64fd157cbe0302c213517c541cc16b8486d82de251f3c68ede/scipy-1.17.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:423ca1f6584fc03936972b5f7c06961670dbba9f234e71676a7c7ccf938a0d61", size = 22442402, upload-time = "2026-01-10T21:26:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c9/10/be13397a0e434f98e0c79552b2b584ae5bb1c8b2be95db421533bbca5369/scipy-1.17.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe508b5690e9eaaa9467fc047f833af58f1152ae51a0d0aed67aa5801f4dd7d6", size = 32696338, upload-time = "2026-01-10T21:26:55.521Z" }, + { url = "https://files.pythonhosted.org/packages/63/1e/12fbf2a3bb240161651c94bb5cdd0eae5d4e8cc6eaeceb74ab07b12a753d/scipy-1.17.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6680f2dfd4f6182e7d6db161344537da644d1cf85cf293f015c60a17ecf08752", size = 34977201, upload-time = "2026-01-10T21:27:03.501Z" }, + { url = "https://files.pythonhosted.org/packages/19/5b/1a63923e23ccd20bd32156d7dd708af5bbde410daa993aa2500c847ab2d2/scipy-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eec3842ec9ac9de5917899b277428886042a93db0b227ebbe3a333b64ec7643d", size = 34777384, upload-time = "2026-01-10T21:27:11.423Z" }, + { url = "https://files.pythonhosted.org/packages/39/22/b5da95d74edcf81e540e467202a988c50fef41bd2011f46e05f72ba07df6/scipy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d7425fcafbc09a03731e1bc05581f5fad988e48c6a861f441b7ab729a49a55ea", size = 37379586, upload-time = "2026-01-10T21:27:20.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/b6/8ac583d6da79e7b9e520579f03007cb006f063642afd6b2eeb16b890bf93/scipy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:87b411e42b425b84777718cc41516b8a7e0795abfa8e8e1d573bf0ef014f0812", size = 36287211, upload-time = "2026-01-10T21:28:43.122Z" }, + { url = "https://files.pythonhosted.org/packages/55/fb/7db19e0b3e52f882b420417644ec81dd57eeef1bd1705b6f689d8ff93541/scipy-1.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:357ca001c6e37601066092e7c89cca2f1ce74e2a520ca78d063a6d2201101df2", size = 24312646, upload-time = "2026-01-10T21:28:49.893Z" }, + { url = "https://files.pythonhosted.org/packages/20/b6/7feaa252c21cc7aff335c6c55e1b90ab3e3306da3f048109b8b639b94648/scipy-1.17.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:ec0827aa4d36cb79ff1b81de898e948a51ac0b9b1c43e4a372c0508c38c0f9a3", size = 31693194, upload-time = "2026-01-10T21:27:27.454Z" }, + { url = "https://files.pythonhosted.org/packages/76/bb/bbb392005abce039fb7e672cb78ac7d158700e826b0515cab6b5b60c26fb/scipy-1.17.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:819fc26862b4b3c73a60d486dbb919202f3d6d98c87cf20c223511429f2d1a97", size = 28365415, upload-time = "2026-01-10T21:27:34.26Z" }, + { url = "https://files.pythonhosted.org/packages/37/da/9d33196ecc99fba16a409c691ed464a3a283ac454a34a13a3a57c0d66f3a/scipy-1.17.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:363ad4ae2853d88ebcde3ae6ec46ccca903ea9835ee8ba543f12f575e7b07e4e", size = 20537232, upload-time = "2026-01-10T21:27:40.306Z" }, + { url = "https://files.pythonhosted.org/packages/56/9d/f4b184f6ddb28e9a5caea36a6f98e8ecd2a524f9127354087ce780885d83/scipy-1.17.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:979c3a0ff8e5ba254d45d59ebd38cde48fce4f10b5125c680c7a4bfe177aab07", size = 22791051, upload-time = "2026-01-10T21:27:46.539Z" }, + { url = "https://files.pythonhosted.org/packages/9b/9d/025cccdd738a72140efc582b1641d0dd4caf2e86c3fb127568dc80444e6e/scipy-1.17.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:130d12926ae34399d157de777472bf82e9061c60cc081372b3118edacafe1d00", size = 32815098, upload-time = "2026-01-10T21:27:54.389Z" }, + { url = "https://files.pythonhosted.org/packages/48/5f/09b879619f8bca15ce392bfc1894bd9c54377e01d1b3f2f3b595a1b4d945/scipy-1.17.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e886000eb4919eae3a44f035e63f0fd8b651234117e8f6f29bad1cd26e7bc45", size = 35031342, upload-time = "2026-01-10T21:28:03.012Z" }, + { url = "https://files.pythonhosted.org/packages/f2/9a/f0f0a9f0aa079d2f106555b984ff0fbb11a837df280f04f71f056ea9c6e4/scipy-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:13c4096ac6bc31d706018f06a49abe0485f96499deb82066b94d19b02f664209", size = 34893199, upload-time = "2026-01-10T21:28:10.832Z" }, + { url = "https://files.pythonhosted.org/packages/90/b8/4f0f5cf0c5ea4d7548424e6533e6b17d164f34a6e2fb2e43ffebb6697b06/scipy-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cacbaddd91fcffde703934897c5cd2c7cb0371fac195d383f4e1f1c5d3f3bd04", size = 37438061, upload-time = "2026-01-10T21:28:19.684Z" }, + { url = "https://files.pythonhosted.org/packages/f9/cc/2bd59140ed3b2fa2882fb15da0a9cb1b5a6443d67cfd0d98d4cec83a57ec/scipy-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:edce1a1cf66298cccdc48a1bdf8fb10a3bf58e8b58d6c3883dd1530e103f87c0", size = 36328593, upload-time = "2026-01-10T21:28:28.007Z" }, + { url = "https://files.pythonhosted.org/packages/13/1b/c87cc44a0d2c7aaf0f003aef2904c3d097b422a96c7e7c07f5efd9073c1b/scipy-1.17.0-cp313-cp313t-win_arm64.whl", hash = "sha256:30509da9dbec1c2ed8f168b8d8aa853bc6723fede1dbc23c7d43a56f5ab72a67", size = 24625083, upload-time = "2026-01-10T21:28:35.188Z" }, + { url = "https://files.pythonhosted.org/packages/1a/2d/51006cd369b8e7879e1c630999a19d1fbf6f8b5ed3e33374f29dc87e53b3/scipy-1.17.0-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:c17514d11b78be8f7e6331b983a65a7f5ca1fd037b95e27b280921fe5606286a", size = 31346803, upload-time = "2026-01-10T21:28:57.24Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2e/2349458c3ce445f53a6c93d4386b1c4c5c0c540917304c01222ff95ff317/scipy-1.17.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:4e00562e519c09da34c31685f6acc3aa384d4d50604db0f245c14e1b4488bfa2", size = 27967182, upload-time = "2026-01-10T21:29:04.107Z" }, + { url = "https://files.pythonhosted.org/packages/5e/7c/df525fbfa77b878d1cfe625249529514dc02f4fd5f45f0f6295676a76528/scipy-1.17.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:f7df7941d71314e60a481e02d5ebcb3f0185b8d799c70d03d8258f6c80f3d467", size = 20139125, upload-time = "2026-01-10T21:29:10.179Z" }, + { url = "https://files.pythonhosted.org/packages/33/11/fcf9d43a7ed1234d31765ec643b0515a85a30b58eddccc5d5a4d12b5f194/scipy-1.17.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:aabf057c632798832f071a8dde013c2e26284043934f53b00489f1773b33527e", size = 22443554, upload-time = "2026-01-10T21:29:15.888Z" }, + { url = "https://files.pythonhosted.org/packages/80/5c/ea5d239cda2dd3d31399424967a24d556cf409fbea7b5b21412b0fd0a44f/scipy-1.17.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a38c3337e00be6fd8a95b4ed66b5d988bac4ec888fd922c2ea9fe5fb1603dd67", size = 32757834, upload-time = "2026-01-10T21:29:23.406Z" }, + { url = "https://files.pythonhosted.org/packages/b8/7e/8c917cc573310e5dc91cbeead76f1b600d3fb17cf0969db02c9cf92e3cfa/scipy-1.17.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00fb5f8ec8398ad90215008d8b6009c9db9fa924fd4c7d6be307c6f945f9cd73", size = 34995775, upload-time = "2026-01-10T21:29:31.915Z" }, + { url = "https://files.pythonhosted.org/packages/c5/43/176c0c3c07b3f7df324e7cdd933d3e2c4898ca202b090bd5ba122f9fe270/scipy-1.17.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f2a4942b0f5f7c23c7cd641a0ca1955e2ae83dedcff537e3a0259096635e186b", size = 34841240, upload-time = "2026-01-10T21:29:39.995Z" }, + { url = "https://files.pythonhosted.org/packages/44/8c/d1f5f4b491160592e7f084d997de53a8e896a3ac01cd07e59f43ca222744/scipy-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:dbf133ced83889583156566d2bdf7a07ff89228fe0c0cb727f777de92092ec6b", size = 37394463, upload-time = "2026-01-10T21:29:48.723Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ec/42a6657f8d2d087e750e9a5dde0b481fd135657f09eaf1cf5688bb23c338/scipy-1.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:3625c631a7acd7cfd929e4e31d2582cf00f42fcf06011f59281271746d77e061", size = 37053015, upload-time = "2026-01-10T21:30:51.418Z" }, + { url = "https://files.pythonhosted.org/packages/27/58/6b89a6afd132787d89a362d443a7bddd511b8f41336a1ae47f9e4f000dc4/scipy-1.17.0-cp314-cp314-win_arm64.whl", hash = "sha256:9244608d27eafe02b20558523ba57f15c689357c85bdcfe920b1828750aa26eb", size = 24951312, upload-time = "2026-01-10T21:30:56.771Z" }, + { url = "https://files.pythonhosted.org/packages/e9/01/f58916b9d9ae0112b86d7c3b10b9e685625ce6e8248df139d0fcb17f7397/scipy-1.17.0-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:2b531f57e09c946f56ad0b4a3b2abee778789097871fc541e267d2eca081cff1", size = 31706502, upload-time = "2026-01-10T21:29:56.326Z" }, + { url = "https://files.pythonhosted.org/packages/59/8e/2912a87f94a7d1f8b38aabc0faf74b82d3b6c9e22be991c49979f0eceed8/scipy-1.17.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:13e861634a2c480bd237deb69333ac79ea1941b94568d4b0efa5db5e263d4fd1", size = 28380854, upload-time = "2026-01-10T21:30:01.554Z" }, + { url = "https://files.pythonhosted.org/packages/bd/1c/874137a52dddab7d5d595c1887089a2125d27d0601fce8c0026a24a92a0b/scipy-1.17.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:eb2651271135154aa24f6481cbae5cc8af1f0dd46e6533fb7b56aa9727b6a232", size = 20552752, upload-time = "2026-01-10T21:30:05.93Z" }, + { url = "https://files.pythonhosted.org/packages/3f/f0/7518d171cb735f6400f4576cf70f756d5b419a07fe1867da34e2c2c9c11b/scipy-1.17.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:c5e8647f60679790c2f5c76be17e2e9247dc6b98ad0d3b065861e082c56e078d", size = 22803972, upload-time = "2026-01-10T21:30:10.651Z" }, + { url = "https://files.pythonhosted.org/packages/7c/74/3498563a2c619e8a3ebb4d75457486c249b19b5b04a30600dfd9af06bea5/scipy-1.17.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fb10d17e649e1446410895639f3385fd2bf4c3c7dfc9bea937bddcbc3d7b9ba", size = 32829770, upload-time = "2026-01-10T21:30:16.359Z" }, + { url = "https://files.pythonhosted.org/packages/48/d1/7b50cedd8c6c9d6f706b4b36fa8544d829c712a75e370f763b318e9638c1/scipy-1.17.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8547e7c57f932e7354a2319fab613981cde910631979f74c9b542bb167a8b9db", size = 35051093, upload-time = "2026-01-10T21:30:22.987Z" }, + { url = "https://files.pythonhosted.org/packages/e2/82/a2d684dfddb87ba1b3ea325df7c3293496ee9accb3a19abe9429bce94755/scipy-1.17.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33af70d040e8af9d5e7a38b5ed3b772adddd281e3062ff23fec49e49681c38cf", size = 34909905, upload-time = "2026-01-10T21:30:28.704Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5e/e565bd73991d42023eb82bb99e51c5b3d9e2c588ca9d4b3e2cc1d3ca62a6/scipy-1.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb55bb97d00f8b7ab95cb64f873eb0bf54d9446264d9f3609130381233483f", size = 37457743, upload-time = "2026-01-10T21:30:34.819Z" }, + { url = "https://files.pythonhosted.org/packages/58/a8/a66a75c3d8f1fb2b83f66007d6455a06a6f6cf5618c3dc35bc9b69dd096e/scipy-1.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1ff269abf702f6c7e67a4b7aad981d42871a11b9dd83c58d2d2ea624efbd1088", size = 37098574, upload-time = "2026-01-10T21:30:40.782Z" }, + { url = "https://files.pythonhosted.org/packages/56/a5/df8f46ef7da168f1bc52cd86e09a9de5c6f19cc1da04454d51b7d4f43408/scipy-1.17.0-cp314-cp314t-win_arm64.whl", hash = "sha256:031121914e295d9791319a1875444d55079885bbae5bdc9c5e0f2ee5f09d34ff", size = 25246266, upload-time = "2026-01-10T21:30:45.923Z" }, +] + +[[package]] +name = "semver" +version = "3.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/d1/d3159231aec234a59dd7d601e9dd9fe96f3afff15efd33c1070019b26132/semver-3.0.4.tar.gz", hash = "sha256:afc7d8c584a5ed0a11033af086e8af226a9c0b206f313e0301f8dd7b6b589602", size = 269730, upload-time = "2025-01-24T13:19:27.617Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl", hash = "sha256:9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746", size = 17912, upload-time = "2025-01-24T13:19:24.949Z" }, +] + +[[package]] +name = "sentencepiece" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/15/2e7a025fc62d764b151ae6d0f2a92f8081755ebe8d4a64099accc6f77ba6/sentencepiece-0.2.1.tar.gz", hash = "sha256:8138cec27c2f2282f4a34d9a016e3374cd40e5c6e9cb335063db66a0a3b71fad", size = 3228515, upload-time = "2025-08-12T07:00:51.718Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/be/32ce495aa1d0e0c323dcb1ba87096037358edee539cac5baf8755a6bd396/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:57cae326c8727de58c85977b175af132a7138d84c764635d7e71bbee7e774133", size = 1943152, upload-time = "2025-08-12T06:59:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/88/7e/ff23008899a58678e98c6ff592bf4d368eee5a71af96d0df6b38a039dd4f/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:56dd39a3c4d6493db3cdca7e8cc68c6b633f0d4195495cbadfcf5af8a22d05a6", size = 1325651, upload-time = "2025-08-12T06:59:41.536Z" }, + { url = "https://files.pythonhosted.org/packages/19/84/42eb3ce4796777a1b5d3699dfd4dca85113e68b637f194a6c8d786f16a04/sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9381351182ff9888cc80e41c632e7e274b106f450de33d67a9e8f6043da6f76", size = 1253645, upload-time = "2025-08-12T06:59:42.903Z" }, + { url = "https://files.pythonhosted.org/packages/89/fa/d3d5ebcba3cb9e6d3775a096251860c41a6bc53a1b9461151df83fe93255/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99f955df238021bf11f0fc37cdb54fd5e5b5f7fd30ecc3d93fb48b6815437167", size = 1316273, upload-time = "2025-08-12T06:59:44.476Z" }, + { url = "https://files.pythonhosted.org/packages/04/88/14f2f4a2b922d8b39be45bf63d79e6cd3a9b2f248b2fcb98a69b12af12f5/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cdfecef430d985f1c2bcbfff3defd1d95dae876fbd0173376012d2d7d24044b", size = 1387881, upload-time = "2025-08-12T06:59:46.09Z" }, + { url = "https://files.pythonhosted.org/packages/fd/b8/903e5ccb77b4ef140605d5d71b4f9e0ad95d456d6184688073ed11712809/sentencepiece-0.2.1-cp312-cp312-win32.whl", hash = "sha256:a483fd29a34c3e34c39ac5556b0a90942bec253d260235729e50976f5dba1068", size = 999540, upload-time = "2025-08-12T06:59:48.023Z" }, + { url = "https://files.pythonhosted.org/packages/2d/81/92df5673c067148c2545b1bfe49adfd775bcc3a169a047f5a0e6575ddaca/sentencepiece-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4cdc7c36234fda305e85c32949c5211faaf8dd886096c7cea289ddc12a2d02de", size = 1054671, upload-time = "2025-08-12T06:59:49.895Z" }, + { url = "https://files.pythonhosted.org/packages/fe/02/c5e3bc518655d714622bec87d83db9cdba1cd0619a4a04e2109751c4f47f/sentencepiece-0.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:daeb5e9e9fcad012324807856113708614d534f596d5008638eb9b40112cd9e4", size = 1033923, upload-time = "2025-08-12T06:59:51.952Z" }, + { url = "https://files.pythonhosted.org/packages/ba/4a/85fbe1706d4d04a7e826b53f327c4b80f849cf1c7b7c5e31a20a97d8f28b/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dcd8161eee7b41aae57ded06272905dbd680a0a04b91edd0f64790c796b2f706", size = 1943150, upload-time = "2025-08-12T06:59:53.588Z" }, + { url = "https://files.pythonhosted.org/packages/c2/83/4cfb393e287509fc2155480b9d184706ef8d9fa8cbf5505d02a5792bf220/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c6c8f42949f419ff8c7e9960dbadcfbc982d7b5efc2f6748210d3dd53a7de062", size = 1325651, upload-time = "2025-08-12T06:59:55.073Z" }, + { url = "https://files.pythonhosted.org/packages/8d/de/5a007fb53b1ab0aafc69d11a5a3dd72a289d5a3e78dcf2c3a3d9b14ffe93/sentencepiece-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:097f3394e99456e9e4efba1737c3749d7e23563dd1588ce71a3d007f25475fff", size = 1253641, upload-time = "2025-08-12T06:59:56.562Z" }, + { url = "https://files.pythonhosted.org/packages/2c/d2/f552be5928105588f4f4d66ee37dd4c61460d8097e62d0e2e0eec41bc61d/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d7b670879c370d350557edabadbad1f6561a9e6968126e6debca4029e5547820", size = 1316271, upload-time = "2025-08-12T06:59:58.109Z" }, + { url = "https://files.pythonhosted.org/packages/96/df/0cfe748ace5485be740fed9476dee7877f109da32ed0d280312c94ec259f/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7f0fd2f2693309e6628aeeb2e2faf6edd221134dfccac3308ca0de01f8dab47", size = 1387882, upload-time = "2025-08-12T07:00:00.701Z" }, + { url = "https://files.pythonhosted.org/packages/ac/dd/f7774d42a881ced8e1739f393ab1e82ece39fc9abd4779e28050c2e975b5/sentencepiece-0.2.1-cp313-cp313-win32.whl", hash = "sha256:92b3816aa2339355fda2c8c4e021a5de92180b00aaccaf5e2808972e77a4b22f", size = 999541, upload-time = "2025-08-12T07:00:02.709Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e9/932b9eae6fd7019548321eee1ab8d5e3b3d1294df9d9a0c9ac517c7b636d/sentencepiece-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:10ed3dab2044c47f7a2e7b4969b0c430420cdd45735d78c8f853191fa0e3148b", size = 1054669, upload-time = "2025-08-12T07:00:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/c9/3a/76488a00ea7d6931689cda28726a1447d66bf1a4837943489314593d5596/sentencepiece-0.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac650534e2251083c5f75dde4ff28896ce7c8904133dc8fef42780f4d5588fcd", size = 1033922, upload-time = "2025-08-12T07:00:06.496Z" }, + { url = "https://files.pythonhosted.org/packages/4a/b6/08fe2ce819e02ccb0296f4843e3f195764ce9829cbda61b7513f29b95718/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8dd4b477a7b069648d19363aad0cab9bad2f4e83b2d179be668efa672500dc94", size = 1946052, upload-time = "2025-08-12T07:00:08.136Z" }, + { url = "https://files.pythonhosted.org/packages/ab/d9/1ea0e740591ff4c6fc2b6eb1d7510d02f3fb885093f19b2f3abd1363b402/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0c0f672da370cc490e4c59d89e12289778310a0e71d176c541e4834759e1ae07", size = 1327408, upload-time = "2025-08-12T07:00:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/99/7e/1fb26e8a21613f6200e1ab88824d5d203714162cf2883248b517deb500b7/sentencepiece-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ad8493bea8432dae8d6830365352350f3b4144415a1d09c4c8cb8d30cf3b6c3c", size = 1254857, upload-time = "2025-08-12T07:00:11.021Z" }, + { url = "https://files.pythonhosted.org/packages/bc/85/c72fd1f3c7a6010544d6ae07f8ddb38b5e2a7e33bd4318f87266c0bbafbf/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b81a24733726e3678d2db63619acc5a8dccd074f7aa7a54ecd5ca33ca6d2d596", size = 1315722, upload-time = "2025-08-12T07:00:12.989Z" }, + { url = "https://files.pythonhosted.org/packages/4a/e8/661e5bd82a8aa641fd6c1020bd0e890ef73230a2b7215ddf9c8cd8e941c2/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0a81799d0a68d618e89063fb423c3001a034c893069135ffe51fee439ae474d6", size = 1387452, upload-time = "2025-08-12T07:00:15.088Z" }, + { url = "https://files.pythonhosted.org/packages/99/5e/ae66c361023a470afcbc1fbb8da722c72ea678a2fcd9a18f1a12598c7501/sentencepiece-0.2.1-cp313-cp313t-win32.whl", hash = "sha256:89a3ea015517c42c0341d0d962f3e6aaf2cf10d71b1932d475c44ba48d00aa2b", size = 1002501, upload-time = "2025-08-12T07:00:16.966Z" }, + { url = "https://files.pythonhosted.org/packages/c1/03/d332828c4ff764e16c1b56c2c8f9a33488bbe796b53fb6b9c4205ddbf167/sentencepiece-0.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:33f068c9382dc2e7c228eedfd8163b52baa86bb92f50d0488bf2b7da7032e484", size = 1057555, upload-time = "2025-08-12T07:00:18.573Z" }, + { url = "https://files.pythonhosted.org/packages/88/14/5aee0bf0864df9bd82bd59e7711362908e4935e3f9cdc1f57246b5d5c9b9/sentencepiece-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:b3616ad246f360e52c85781e47682d31abfb6554c779e42b65333d4b5f44ecc0", size = 1036042, upload-time = "2025-08-12T07:00:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/24/9c/89eb8b2052f720a612478baf11c8227dcf1dc28cd4ea4c0c19506b5af2a2/sentencepiece-0.2.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:5d0350b686c320068702116276cfb26c066dc7e65cfef173980b11bb4d606719", size = 1943147, upload-time = "2025-08-12T07:00:21.809Z" }, + { url = "https://files.pythonhosted.org/packages/82/0b/a1432bc87f97c2ace36386ca23e8bd3b91fb40581b5e6148d24b24186419/sentencepiece-0.2.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c7f54a31cde6fa5cb030370566f68152a742f433f8d2be458463d06c208aef33", size = 1325624, upload-time = "2025-08-12T07:00:23.289Z" }, + { url = "https://files.pythonhosted.org/packages/ea/99/bbe054ebb5a5039457c590e0a4156ed073fb0fe9ce4f7523404dd5b37463/sentencepiece-0.2.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c83b85ab2d6576607f31df77ff86f28182be4a8de6d175d2c33ca609925f5da1", size = 1253670, upload-time = "2025-08-12T07:00:24.69Z" }, + { url = "https://files.pythonhosted.org/packages/19/ad/d5c7075f701bd97971d7c2ac2904f227566f51ef0838dfbdfdccb58cd212/sentencepiece-0.2.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1855f57db07b51fb51ed6c9c452f570624d2b169b36f0f79ef71a6e6c618cd8b", size = 1316247, upload-time = "2025-08-12T07:00:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/fb/03/35fbe5f3d9a7435eebd0b473e09584bd3cc354ce118b960445b060d33781/sentencepiece-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01e6912125cb45d3792f530a4d38f8e21bf884d6b4d4ade1b2de5cf7a8d2a52b", size = 1387894, upload-time = "2025-08-12T07:00:28.339Z" }, + { url = "https://files.pythonhosted.org/packages/dc/aa/956ef729aafb6c8f9c443104c9636489093bb5c61d6b90fc27aa1a865574/sentencepiece-0.2.1-cp314-cp314-win32.whl", hash = "sha256:c415c9de1447e0a74ae3fdb2e52f967cb544113a3a5ce3a194df185cbc1f962f", size = 1096698, upload-time = "2025-08-12T07:00:29.764Z" }, + { url = "https://files.pythonhosted.org/packages/b8/cb/fe400d8836952cc535c81a0ce47dc6875160e5fedb71d2d9ff0e9894c2a6/sentencepiece-0.2.1-cp314-cp314-win_amd64.whl", hash = "sha256:881b2e44b14fc19feade3cbed314be37de639fc415375cefaa5bc81a4be137fd", size = 1155115, upload-time = "2025-08-12T07:00:32.865Z" }, + { url = "https://files.pythonhosted.org/packages/32/89/047921cf70f36c7b6b6390876b2399b3633ab73b8d0cb857e5a964238941/sentencepiece-0.2.1-cp314-cp314-win_arm64.whl", hash = "sha256:2005242a16d2dc3ac5fe18aa7667549134d37854823df4c4db244752453b78a8", size = 1133890, upload-time = "2025-08-12T07:00:34.763Z" }, + { url = "https://files.pythonhosted.org/packages/a1/11/5b414b9fae6255b5fb1e22e2ed3dc3a72d3a694e5703910e640ac78346bb/sentencepiece-0.2.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:a19adcec27c524cb7069a1c741060add95f942d1cbf7ad0d104dffa0a7d28a2b", size = 1946081, upload-time = "2025-08-12T07:00:36.97Z" }, + { url = "https://files.pythonhosted.org/packages/77/eb/7a5682bb25824db8545f8e5662e7f3e32d72a508fdce086029d89695106b/sentencepiece-0.2.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:e37e4b4c4a11662b5db521def4e44d4d30ae69a1743241412a93ae40fdcab4bb", size = 1327406, upload-time = "2025-08-12T07:00:38.669Z" }, + { url = "https://files.pythonhosted.org/packages/03/b0/811dae8fb9f2784e138785d481469788f2e0d0c109c5737372454415f55f/sentencepiece-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:477c81505db072b3ab627e7eab972ea1025331bd3a92bacbf798df2b75ea86ec", size = 1254846, upload-time = "2025-08-12T07:00:40.611Z" }, + { url = "https://files.pythonhosted.org/packages/ef/23/195b2e7ec85ebb6a547969f60b723c7aca5a75800ece6cc3f41da872d14e/sentencepiece-0.2.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:010f025a544ef770bb395091d57cb94deb9652d8972e0d09f71d85d5a0816c8c", size = 1315721, upload-time = "2025-08-12T07:00:42.914Z" }, + { url = "https://files.pythonhosted.org/packages/7e/aa/553dbe4178b5f23eb28e59393dddd64186178b56b81d9b8d5c3ff1c28395/sentencepiece-0.2.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:733e59ff1794d26db706cd41fc2d7ca5f6c64a820709cb801dc0ea31780d64ab", size = 1387458, upload-time = "2025-08-12T07:00:44.56Z" }, + { url = "https://files.pythonhosted.org/packages/66/7c/08ff0012507297a4dd74a5420fdc0eb9e3e80f4e88cab1538d7f28db303d/sentencepiece-0.2.1-cp314-cp314t-win32.whl", hash = "sha256:d3233770f78e637dc8b1fda2cd7c3b99ec77e7505041934188a4e7fe751de3b0", size = 1099765, upload-time = "2025-08-12T07:00:46.058Z" }, + { url = "https://files.pythonhosted.org/packages/91/d5/2a69e1ce15881beb9ddfc7e3f998322f5cedcd5e4d244cb74dade9441663/sentencepiece-0.2.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5e4366c97b68218fd30ea72d70c525e6e78a6c0a88650f57ac4c43c63b234a9d", size = 1157807, upload-time = "2025-08-12T07:00:47.673Z" }, + { url = "https://files.pythonhosted.org/packages/f3/16/54f611fcfc2d1c46cbe3ec4169780b2cfa7cf63708ef2b71611136db7513/sentencepiece-0.2.1-cp314-cp314t-win_arm64.whl", hash = "sha256:105e36e75cbac1292642045458e8da677b2342dcd33df503e640f0b457cb6751", size = 1136264, upload-time = "2025-08-12T07:00:49.485Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "sortedcontainers" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" }, +] + +[[package]] +name = "soundfile" +version = "0.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/41/9b873a8c055582859b239be17902a85339bec6a30ad162f98c9b0288a2cc/soundfile-0.13.1.tar.gz", hash = "sha256:b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b", size = 46156, upload-time = "2025-01-25T09:17:04.831Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/28/e2a36573ccbcf3d57c00626a21fe51989380636e821b341d36ccca0c1c3a/soundfile-0.13.1-py2.py3-none-any.whl", hash = "sha256:a23c717560da2cf4c7b5ae1142514e0fd82d6bbd9dfc93a50423447142f2c445", size = 25751, upload-time = "2025-01-25T09:16:44.235Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ab/73e97a5b3cc46bba7ff8650a1504348fa1863a6f9d57d7001c6b67c5f20e/soundfile-0.13.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:82dc664d19831933fe59adad199bf3945ad06d84bc111a5b4c0d3089a5b9ec33", size = 1142250, upload-time = "2025-01-25T09:16:47.583Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e5/58fd1a8d7b26fc113af244f966ee3aecf03cb9293cb935daaddc1e455e18/soundfile-0.13.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:743f12c12c4054921e15736c6be09ac26b3b3d603aef6fd69f9dde68748f2593", size = 1101406, upload-time = "2025-01-25T09:16:49.662Z" }, + { url = "https://files.pythonhosted.org/packages/58/ae/c0e4a53d77cf6e9a04179535766b3321b0b9ced5f70522e4caf9329f0046/soundfile-0.13.1-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9c9e855f5a4d06ce4213f31918653ab7de0c5a8d8107cd2427e44b42df547deb", size = 1235729, upload-time = "2025-01-25T09:16:53.018Z" }, + { url = "https://files.pythonhosted.org/packages/57/5e/70bdd9579b35003a489fc850b5047beeda26328053ebadc1fb60f320f7db/soundfile-0.13.1-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:03267c4e493315294834a0870f31dbb3b28a95561b80b134f0bd3cf2d5f0e618", size = 1313646, upload-time = "2025-01-25T09:16:54.872Z" }, + { url = "https://files.pythonhosted.org/packages/fe/df/8c11dc4dfceda14e3003bb81a0d0edcaaf0796dd7b4f826ea3e532146bba/soundfile-0.13.1-py2.py3-none-win32.whl", hash = "sha256:c734564fab7c5ddf8e9be5bf70bab68042cd17e9c214c06e365e20d64f9a69d5", size = 899881, upload-time = "2025-01-25T09:16:56.663Z" }, + { url = "https://files.pythonhosted.org/packages/14/e9/6b761de83277f2f02ded7e7ea6f07828ec78e4b229b80e4ca55dd205b9dc/soundfile-0.13.1-py2.py3-none-win_amd64.whl", hash = "sha256:1e70a05a0626524a69e9f0f4dd2ec174b4e9567f4d8b6c11d38b5c289be36ee9", size = 1019162, upload-time = "2025-01-25T09:16:59.573Z" }, +] + +[[package]] +name = "speechbrain" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "hyperpyyaml", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "joblib", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "scipy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sentencepiece", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.9.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "tqdm", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/10/87e666544a4e0cec7cbdc09f26948994831ae0f8bbc58de3bf53b68285ff/speechbrain-1.0.3.tar.gz", hash = "sha256:fcab3c6e90012cecb1eed40ea235733b550137e73da6bfa2340ba191ec714052", size = 747735, upload-time = "2025-04-07T17:17:06.749Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/13/e61f1085aebee17d5fc2df19fcc5177c10379be52578afbecdd615a831c9/speechbrain-1.0.3-py3-none-any.whl", hash = "sha256:9859d4c1b1fb3af3b85523c0c89f52e45a04f305622ed55f31aa32dd2fba19e9", size = 864091, upload-time = "2025-04-07T17:17:04.706Z" }, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.45" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/be/f9/5e4491e5ccf42f5d9cfc663741d261b3e6e1683ae7812114e7636409fcc6/sqlalchemy-2.0.45.tar.gz", hash = "sha256:1632a4bda8d2d25703fdad6363058d882541bdaaee0e5e3ddfa0cd3229efce88", size = 9869912, upload-time = "2025-12-09T21:05:16.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/c7/1900b56ce19bff1c26f39a4ce427faec7716c81ac792bfac8b6a9f3dca93/sqlalchemy-2.0.45-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3ee2aac15169fb0d45822983631466d60b762085bc4535cd39e66bea362df5f", size = 3333760, upload-time = "2025-12-09T22:11:02.66Z" }, + { url = "https://files.pythonhosted.org/packages/0a/93/3be94d96bb442d0d9a60e55a6bb6e0958dd3457751c6f8502e56ef95fed0/sqlalchemy-2.0.45-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba547ac0b361ab4f1608afbc8432db669bd0819b3e12e29fb5fa9529a8bba81d", size = 3348268, upload-time = "2025-12-09T22:13:49.054Z" }, + { url = "https://files.pythonhosted.org/packages/48/4b/f88ded696e61513595e4a9778f9d3f2bf7332cce4eb0c7cedaabddd6687b/sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:215f0528b914e5c75ef2559f69dca86878a3beeb0c1be7279d77f18e8d180ed4", size = 3278144, upload-time = "2025-12-09T22:11:04.14Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6a/310ecb5657221f3e1bd5288ed83aa554923fb5da48d760a9f7622afeb065/sqlalchemy-2.0.45-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:107029bf4f43d076d4011f1afb74f7c3e2ea029ec82eb23d8527d5e909e97aa6", size = 3313907, upload-time = "2025-12-09T22:13:50.598Z" }, + { url = "https://files.pythonhosted.org/packages/5c/39/69c0b4051079addd57c84a5bfb34920d87456dd4c90cf7ee0df6efafc8ff/sqlalchemy-2.0.45-cp312-cp312-win32.whl", hash = "sha256:0c9f6ada57b58420a2c0277ff853abe40b9e9449f8d7d231763c6bc30f5c4953", size = 2112182, upload-time = "2025-12-09T21:39:30.824Z" }, + { url = "https://files.pythonhosted.org/packages/f7/4e/510db49dd89fc3a6e994bee51848c94c48c4a00dc905e8d0133c251f41a7/sqlalchemy-2.0.45-cp312-cp312-win_amd64.whl", hash = "sha256:8defe5737c6d2179c7997242d6473587c3beb52e557f5ef0187277009f73e5e1", size = 2139200, upload-time = "2025-12-09T21:39:32.321Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c8/7cc5221b47a54edc72a0140a1efa56e0a2730eefa4058d7ed0b4c4357ff8/sqlalchemy-2.0.45-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe187fc31a54d7fd90352f34e8c008cf3ad5d064d08fedd3de2e8df83eb4a1cf", size = 3277082, upload-time = "2025-12-09T22:11:06.167Z" }, + { url = "https://files.pythonhosted.org/packages/0e/50/80a8d080ac7d3d321e5e5d420c9a522b0aa770ec7013ea91f9a8b7d36e4a/sqlalchemy-2.0.45-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:672c45cae53ba88e0dad74b9027dddd09ef6f441e927786b05bec75d949fbb2e", size = 3293131, upload-time = "2025-12-09T22:13:52.626Z" }, + { url = "https://files.pythonhosted.org/packages/da/4c/13dab31266fc9904f7609a5dc308a2432a066141d65b857760c3bef97e69/sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:470daea2c1ce73910f08caf10575676a37159a6d16c4da33d0033546bddebc9b", size = 3225389, upload-time = "2025-12-09T22:11:08.093Z" }, + { url = "https://files.pythonhosted.org/packages/74/04/891b5c2e9f83589de202e7abaf24cd4e4fa59e1837d64d528829ad6cc107/sqlalchemy-2.0.45-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9c6378449e0940476577047150fd09e242529b761dc887c9808a9a937fe990c8", size = 3266054, upload-time = "2025-12-09T22:13:54.262Z" }, + { url = "https://files.pythonhosted.org/packages/f1/24/fc59e7f71b0948cdd4cff7a286210e86b0443ef1d18a23b0d83b87e4b1f7/sqlalchemy-2.0.45-cp313-cp313-win32.whl", hash = "sha256:4b6bec67ca45bc166c8729910bd2a87f1c0407ee955df110d78948f5b5827e8a", size = 2110299, upload-time = "2025-12-09T21:39:33.486Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c5/d17113020b2d43073412aeca09b60d2009442420372123b8d49cc253f8b8/sqlalchemy-2.0.45-cp313-cp313-win_amd64.whl", hash = "sha256:afbf47dc4de31fa38fd491f3705cac5307d21d4bb828a4f020ee59af412744ee", size = 2136264, upload-time = "2025-12-09T21:39:36.801Z" }, + { url = "https://files.pythonhosted.org/packages/3d/8d/bb40a5d10e7a5f2195f235c0b2f2c79b0bf6e8f00c0c223130a4fbd2db09/sqlalchemy-2.0.45-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:83d7009f40ce619d483d26ac1b757dfe3167b39921379a8bd1b596cf02dab4a6", size = 3521998, upload-time = "2025-12-09T22:13:28.622Z" }, + { url = "https://files.pythonhosted.org/packages/75/a5/346128b0464886f036c039ea287b7332a410aa2d3fb0bb5d404cb8861635/sqlalchemy-2.0.45-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d8a2ca754e5415cde2b656c27900b19d50ba076aa05ce66e2207623d3fe41f5a", size = 3473434, upload-time = "2025-12-09T22:13:30.188Z" }, + { url = "https://files.pythonhosted.org/packages/cc/64/4e1913772646b060b025d3fc52ce91a58967fe58957df32b455de5a12b4f/sqlalchemy-2.0.45-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f46ec744e7f51275582e6a24326e10c49fbdd3fc99103e01376841213028774", size = 3272404, upload-time = "2025-12-09T22:11:09.662Z" }, + { url = "https://files.pythonhosted.org/packages/b3/27/caf606ee924282fe4747ee4fd454b335a72a6e018f97eab5ff7f28199e16/sqlalchemy-2.0.45-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:883c600c345123c033c2f6caca18def08f1f7f4c3ebeb591a63b6fceffc95cce", size = 3277057, upload-time = "2025-12-09T22:13:56.213Z" }, + { url = "https://files.pythonhosted.org/packages/85/d0/3d64218c9724e91f3d1574d12eb7ff8f19f937643815d8daf792046d88ab/sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2c0b74aa79e2deade948fe8593654c8ef4228c44ba862bb7c9585c8e0db90f33", size = 3222279, upload-time = "2025-12-09T22:11:11.1Z" }, + { url = "https://files.pythonhosted.org/packages/24/10/dd7688a81c5bc7690c2a3764d55a238c524cd1a5a19487928844cb247695/sqlalchemy-2.0.45-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:8a420169cef179d4c9064365f42d779f1e5895ad26ca0c8b4c0233920973db74", size = 3244508, upload-time = "2025-12-09T22:13:57.932Z" }, + { url = "https://files.pythonhosted.org/packages/aa/41/db75756ca49f777e029968d9c9fee338c7907c563267740c6d310a8e3f60/sqlalchemy-2.0.45-cp314-cp314-win32.whl", hash = "sha256:e50dcb81a5dfe4b7b4a4aa8f338116d127cb209559124f3694c70d6cd072b68f", size = 2113204, upload-time = "2025-12-09T21:39:38.365Z" }, + { url = "https://files.pythonhosted.org/packages/89/a2/0e1590e9adb292b1d576dbcf67ff7df8cf55e56e78d2c927686d01080f4b/sqlalchemy-2.0.45-cp314-cp314-win_amd64.whl", hash = "sha256:4748601c8ea959e37e03d13dcda4a44837afcd1b21338e637f7c935b8da06177", size = 2138785, upload-time = "2025-12-09T21:39:39.503Z" }, + { url = "https://files.pythonhosted.org/packages/42/39/f05f0ed54d451156bbed0e23eb0516bcad7cbb9f18b3bf219c786371b3f0/sqlalchemy-2.0.45-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd337d3526ec5298f67d6a30bbbe4ed7e5e68862f0bf6dd21d289f8d37b7d60b", size = 3522029, upload-time = "2025-12-09T22:13:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/54/0f/d15398b98b65c2bce288d5ee3f7d0a81f77ab89d9456994d5c7cc8b2a9db/sqlalchemy-2.0.45-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9a62b446b7d86a3909abbcd1cd3cc550a832f99c2bc37c5b22e1925438b9367b", size = 3475142, upload-time = "2025-12-09T22:13:33.739Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e1/3ccb13c643399d22289c6a9786c1a91e3dcbb68bce4beb44926ac2c557bf/sqlalchemy-2.0.45-py3-none-any.whl", hash = "sha256:5225a288e4c8cc2308dbdd874edad6e7d0fd38eac1e9e5f23503425c8eee20d0", size = 1936672, upload-time = "2025-12-09T21:54:52.608Z" }, +] + +[[package]] +name = "sympy" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "mpmath", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/99/5a5b6f19ff9f083671ddf7b9632028436167cd3d33e11015754e41b249a4/sympy-1.13.1.tar.gz", hash = "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f", size = 7533040, upload-time = "2024-07-19T09:26:51.238Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/fe/81695a1aa331a842b582453b605175f419fe8540355886031328089d840a/sympy-1.13.1-py3-none-any.whl", hash = "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8", size = 6189177, upload-time = "2024-07-19T09:26:48.863Z" }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "mpmath", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tensorboardx" +version = "2.6.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "protobuf", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2b/c5/d4cc6e293fb837aaf9f76dd7745476aeba8ef7ef5146c3b3f9ee375fe7a5/tensorboardx-2.6.4.tar.gz", hash = "sha256:b163ccb7798b31100b9f5fa4d6bc22dad362d7065c2f24b51e50731adde86828", size = 4769801, upload-time = "2025-06-10T22:37:07.419Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/1d/b5d63f1a6b824282b57f7b581810d20b7a28ca951f2d5b59f1eb0782c12b/tensorboardx-2.6.4-py3-none-any.whl", hash = "sha256:5970cf3a1f0a6a6e8b180ccf46f3fe832b8a25a70b86e5a237048a7c0beb18e2", size = 87201, upload-time = "2025-06-10T22:37:05.44Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "tokenizers" +version = "0.22.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz", hash = "sha256:473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917", size = 372115, upload-time = "2026-01-05T10:45:15.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/97/5dbfabf04c7e348e655e907ed27913e03db0923abb5dfdd120d7b25630e1/tokenizers-0.22.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:544dd704ae7238755d790de45ba8da072e9af3eea688f698b137915ae959281c", size = 3100275, upload-time = "2026-01-05T10:41:02.158Z" }, + { url = "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1e418a55456beedca4621dbab65a318981467a2b188e982a23e117f115ce5001", size = 2981472, upload-time = "2026-01-05T10:41:00.276Z" }, + { url = "https://files.pythonhosted.org/packages/d6/84/7990e799f1309a8b87af6b948f31edaa12a3ed22d11b352eaf4f4b2e5753/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249487018adec45d6e3554c71d46eb39fa8ea67156c640f7513eb26f318cec7", size = 3290736, upload-time = "2026-01-05T10:40:32.165Z" }, + { url = "https://files.pythonhosted.org/packages/78/59/09d0d9ba94dcd5f4f1368d4858d24546b4bdc0231c2354aa31d6199f0399/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b85325d0815e86e0bac263506dd114578953b7b53d7de09a6485e4a160a7dd", size = 3168835, upload-time = "2026-01-05T10:40:38.847Z" }, + { url = "https://files.pythonhosted.org/packages/47/50/b3ebb4243e7160bda8d34b731e54dd8ab8b133e50775872e7a434e524c28/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb88f22a209ff7b40a576d5324bf8286b519d7358663db21d6246fb17eea2d5", size = 3521673, upload-time = "2026-01-05T10:40:56.614Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fa/89f4cb9e08df770b57adb96f8cbb7e22695a4cb6c2bd5f0c4f0ebcf33b66/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c774b1276f71e1ef716e5486f21e76333464f47bece56bbd554485982a9e03e", size = 3724818, upload-time = "2026-01-05T10:40:44.507Z" }, + { url = "https://files.pythonhosted.org/packages/64/04/ca2363f0bfbe3b3d36e95bf67e56a4c88c8e3362b658e616d1ac185d47f2/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df6c4265b289083bf710dff49bc51ef252f9d5be33a45ee2bed151114a56207b", size = 3379195, upload-time = "2026-01-05T10:40:51.139Z" }, + { url = "https://files.pythonhosted.org/packages/2e/76/932be4b50ef6ccedf9d3c6639b056a967a86258c6d9200643f01269211ca/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:369cc9fc8cc10cb24143873a0d95438bb8ee257bb80c71989e3ee290e8d72c67", size = 3274982, upload-time = "2026-01-05T10:40:58.331Z" }, + { url = "https://files.pythonhosted.org/packages/1d/28/5f9f5a4cc211b69e89420980e483831bcc29dade307955cc9dc858a40f01/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:29c30b83d8dcd061078b05ae0cb94d3c710555fbb44861139f9f83dcca3dc3e4", size = 9478245, upload-time = "2026-01-05T10:41:04.053Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fb/66e2da4704d6aadebf8cb39f1d6d1957df667ab24cff2326b77cda0dcb85/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:37ae80a28c1d3265bb1f22464c856bd23c02a05bb211e56d0c5301a435be6c1a", size = 9560069, upload-time = "2026-01-05T10:45:10.673Z" }, + { url = "https://files.pythonhosted.org/packages/16/04/fed398b05caa87ce9b1a1bb5166645e38196081b225059a6edaff6440fac/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:791135ee325f2336f498590eb2f11dc5c295232f288e75c99a36c5dbce63088a", size = 9899263, upload-time = "2026-01-05T10:45:12.559Z" }, + { url = "https://files.pythonhosted.org/packages/05/a1/d62dfe7376beaaf1394917e0f8e93ee5f67fea8fcf4107501db35996586b/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38337540fbbddff8e999d59970f3c6f35a82de10053206a7562f1ea02d046fa5", size = 10033429, upload-time = "2026-01-05T10:45:14.333Z" }, + { url = "https://files.pythonhosted.org/packages/fd/18/a545c4ea42af3df6effd7d13d250ba77a0a86fb20393143bbb9a92e434d4/tokenizers-0.22.2-cp39-abi3-win32.whl", hash = "sha256:a6bf3f88c554a2b653af81f3204491c818ae2ac6fbc09e76ef4773351292bc92", size = 2502363, upload-time = "2026-01-05T10:45:20.593Z" }, + { url = "https://files.pythonhosted.org/packages/65/71/0670843133a43d43070abeb1949abfdef12a86d490bea9cd9e18e37c5ff7/tokenizers-0.22.2-cp39-abi3-win_amd64.whl", hash = "sha256:c9ea31edff2968b44a88f97d784c2f16dc0729b8b143ed004699ebca91f05c48", size = 2747786, upload-time = "2026-01-05T10:45:18.411Z" }, + { url = "https://files.pythonhosted.org/packages/72/f4/0de46cfa12cdcbcd464cc59fde36912af405696f687e53a091fb432f694c/tokenizers-0.22.2-cp39-abi3-win_arm64.whl", hash = "sha256:9ce725d22864a1e965217204946f830c37876eee3b2ba6fc6255e8e903d5fcbc", size = 2612133, upload-time = "2026-01-05T10:45:17.232Z" }, +] + +[[package]] +name = "torch" +version = "2.5.1+cu121" +source = { registry = "https://download.pytorch.org/whl/cu121" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "fsspec", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "jinja2", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "networkx", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-cupti-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-nvrtc-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-runtime-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cudnn-cu12", version = "9.1.0.70", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cufft-cu12", version = "11.0.2.54", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-curand-cu12", version = "10.3.2.106", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusolver-cu12", version = "11.4.5.107", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusparse-cu12", version = "12.1.0.106", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nccl-cu12", version = "2.21.5", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nvtx-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "setuptools", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "triton", version = "3.1.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (python_full_version >= '3.13' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:222be02548c2e74a21a8fbc8e5b8d2eef9f9faee865d70385d2eb1b9aabcbc76" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:473d76257636c66b22cbfac6f616d6b522ef3d3473c13decb1afda22a7b059eb" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bfe18b79b0ff9be9383257a66c3f84621ce5f384f02c0a7c79503583d6ffd4b" }, +] + +[[package]] +name = "torch" +version = "2.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "fsspec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "jinja2", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "networkx", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-cupti-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-nvrtc-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cuda-runtime-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cudnn-cu12", version = "9.10.2.21", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cufft-cu12", version = "11.3.3.83", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cufile-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-curand-cu12", version = "10.3.9.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusolver-cu12", version = "11.7.3.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-cusparselt-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nccl-cu12", version = "2.27.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "nvidia-nvtx-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "setuptools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "triton", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/0c/2fd4df0d83a495bb5e54dca4474c4ec5f9c62db185421563deeb5dabf609/torch-2.8.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e2fab4153768d433f8ed9279c8133a114a034a61e77a3a104dcdf54388838705", size = 101906089, upload-time = "2025-08-06T14:53:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/99/a8/6acf48d48838fb8fe480597d98a0668c2beb02ee4755cc136de92a0a956f/torch-2.8.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2aca0939fb7e4d842561febbd4ffda67a8e958ff725c1c27e244e85e982173c", size = 887913624, upload-time = "2025-08-06T14:56:44.33Z" }, + { url = "https://files.pythonhosted.org/packages/af/8a/5c87f08e3abd825c7dfecef5a0f1d9aa5df5dd0e3fd1fa2f490a8e512402/torch-2.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:2f4ac52f0130275d7517b03a33d2493bab3693c83dcfadf4f81688ea82147d2e", size = 241326087, upload-time = "2025-08-06T14:53:46.503Z" }, + { url = "https://files.pythonhosted.org/packages/be/66/5c9a321b325aaecb92d4d1855421e3a055abd77903b7dab6575ca07796db/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:619c2869db3ada2c0105487ba21b5008defcc472d23f8b80ed91ac4a380283b0", size = 73630478, upload-time = "2025-08-06T14:53:57.144Z" }, + { url = "https://files.pythonhosted.org/packages/10/4e/469ced5a0603245d6a19a556e9053300033f9c5baccf43a3d25ba73e189e/torch-2.8.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2b2f96814e0345f5a5aed9bf9734efa913678ed19caf6dc2cddb7930672d6128", size = 101936856, upload-time = "2025-08-06T14:54:01.526Z" }, + { url = "https://files.pythonhosted.org/packages/16/82/3948e54c01b2109238357c6f86242e6ecbf0c63a1af46906772902f82057/torch-2.8.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:65616ca8ec6f43245e1f5f296603e33923f4c30f93d65e103d9e50c25b35150b", size = 887922844, upload-time = "2025-08-06T14:55:50.78Z" }, + { url = "https://files.pythonhosted.org/packages/e3/54/941ea0a860f2717d86a811adf0c2cd01b3983bdd460d0803053c4e0b8649/torch-2.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:659df54119ae03e83a800addc125856effda88b016dfc54d9f65215c3975be16", size = 241330968, upload-time = "2025-08-06T14:54:45.293Z" }, + { url = "https://files.pythonhosted.org/packages/de/69/8b7b13bba430f5e21d77708b616f767683629fc4f8037564a177d20f90ed/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:1a62a1ec4b0498930e2543535cf70b1bef8c777713de7ceb84cd79115f553767", size = 73915128, upload-time = "2025-08-06T14:54:34.769Z" }, + { url = "https://files.pythonhosted.org/packages/15/0e/8a800e093b7f7430dbaefa80075aee9158ec22e4c4fc3c1a66e4fb96cb4f/torch-2.8.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:83c13411a26fac3d101fe8035a6b0476ae606deb8688e904e796a3534c197def", size = 102020139, upload-time = "2025-08-06T14:54:39.047Z" }, + { url = "https://files.pythonhosted.org/packages/4a/15/5e488ca0bc6162c86a33b58642bc577c84ded17c7b72d97e49b5833e2d73/torch-2.8.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:8f0a9d617a66509ded240add3754e462430a6c1fc5589f86c17b433dd808f97a", size = 887990692, upload-time = "2025-08-06T14:56:18.286Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a8/6a04e4b54472fc5dba7ca2341ab219e529f3c07b6941059fbf18dccac31f/torch-2.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:a7242b86f42be98ac674b88a4988643b9bc6145437ec8f048fea23f72feb5eca", size = 241603453, upload-time = "2025-08-06T14:55:22.945Z" }, + { url = "https://files.pythonhosted.org/packages/04/6e/650bb7f28f771af0cb791b02348db8b7f5f64f40f6829ee82aa6ce99aabe/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:7b677e17f5a3e69fdef7eb3b9da72622f8d322692930297e4ccb52fefc6c8211", size = 73632395, upload-time = "2025-08-06T14:55:28.645Z" }, +] + +[[package]] +name = "torch" +version = "2.9.1+cpu" +source = { registry = "https://download.pytorch.org/whl/cpu" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "fsspec", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "jinja2", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "networkx", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "setuptools", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3bf9b442a51a2948e41216a76d7ab00f0694cfcaaa51b6f9bcab57b7f89843e6" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7417d8c565f219d3455654cb431c6d892a3eb40246055e14d645422de13b9ea1" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:a4e06b4f441675d26b462123c8a83e77c55f1ec8ebc081203be2db1ea8054add" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:1abe31f14b560c1f062699e966cb08ef5b67518a1cfac2d8547a3dbcd8387b06" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:3e532e553b37ee859205a9b2d1c7977fd6922f53bbb1b9bfdd5bdc00d1a60ed4" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:39b3dff6d8fba240ae0d1bede4ca11c2531ae3b47329206512d99e17907ff74b" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:404a7ab2fffaf2ca069e662f331eb46313692b2f1630df2720094284f390ccef" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:161decbff26a33f13cb5ba6d2c8f458bbf56193bcc32ecc70be6dd4c7a3ee79d" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:01b1884f724977a20c7da2f640f1c7b37f4a2c117a7f4a6c1c0424d14cb86322" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:031a597147fa81b1e6d79ccf1ad3ccc7fafa27941d6cf26ff5caaa384fb20e92" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:e586ab1363e3f86aa4cc133b7fdcf98deb1d2c13d43a7a6e5a6a18e9c5364893" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:65010ab4aacce6c9a1ddfc935f986c003ca8638ded04348fd326c3e74346237c" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:88adf5157db5da1d54b1c9fe4a6c1d20ceef00e75d854e206a87dbf69e3037dc" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314-win_amd64.whl", hash = "sha256:f60e2565f261542efac07e25208fb3fc55c6fe82314a5a9cbee971edb5f27713" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:3ac2b8df2c55430e836dcda31940d47f1f5f94b8731057b6f20300ebea394dd9" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:5b688445f928f13563b7418b17c57e97bf955ab559cf73cd8f2b961f8572dbb3" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp314-cp314t-win_amd64.whl", hash = "sha256:cf9c3e50b595721ca6b488bdcc326e0f1af73ed28b9b66eff504a96649bb5c96" }, +] + +[[package]] +name = "torch-audiomentations" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "julius", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch-pitch-shift", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.9.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/8d/2f8fd7e34c75f5ee8de4310c3bd3f22270acd44d1f809e2fe7c12fbf35f8/torch_audiomentations-0.12.0.tar.gz", hash = "sha256:b02d4c5eb86376986a53eb405cca5e34f370ea9284411237508e720c529f7888", size = 52094, upload-time = "2025-01-15T09:07:01.071Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/9d/1ee04f49c15d2d632f6f7102061d7c07652858e6d91b58a091531034e84f/torch_audiomentations-0.12.0-py3-none-any.whl", hash = "sha256:1b80b91d2016ccf83979622cac8f702072a79b7dcc4c2bee40f00b26433a786b", size = 48506, upload-time = "2025-01-15T09:06:59.687Z" }, +] + +[[package]] +name = "torch-pitch-shift" +version = "1.2.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "primepy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torchaudio", version = "2.9.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/a6/722a832bca75d5079f6731e005b3d0c2eec7c6c6863d030620952d143d57/torch_pitch_shift-1.2.5.tar.gz", hash = "sha256:6e1c7531f08d0f407a4c55e5ff8385a41355c5c5d27ab7fa08632e51defbd0ed", size = 4725, upload-time = "2024-09-25T19:10:12.922Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/4c/96ac2a09efb56cc3c41fb3ce9b6f4d8c0604499f7481d4a13a7b03e21382/torch_pitch_shift-1.2.5-py3-none-any.whl", hash = "sha256:6f8500cbc13f1c98b11cde1805ce5084f82cdd195c285f34287541f168a7c6a7", size = 5005, upload-time = "2024-09-25T19:10:11.521Z" }, +] + +[[package]] +name = "torchaudio" +version = "2.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/ab/151037a41e2cf4a5d489dfe5e7196b755e0fd83958d5ca7ad8ed85afcb1c/torchaudio-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1cbfdfd1bbdfbe7289d47a74f36ff6c5d87c3205606202fef5a7fb693f61cf0", size = 1798042, upload-time = "2024-10-29T17:41:27.454Z" }, + { url = "https://files.pythonhosted.org/packages/34/1c/345d11bf492a1414dced70a9572ff1eb2c73013578d24fb4d728a91a09d1/torchaudio-2.5.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:9c8fb06fbd8d2016e7b7caf15a3231867c792a2e3b0f2f8f9013633e9c2ce412", size = 3371851, upload-time = "2024-10-29T17:41:24.739Z" }, + { url = "https://files.pythonhosted.org/packages/1c/74/a27c6d0d4c4fad90462f08e99222d3557f118beb8fb560b87d607a727a0a/torchaudio-2.5.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:6bb65416405f40e00b20701257c16e7493bfdd7188e02e87cc5b389c31c10c2c", size = 1668849, upload-time = "2024-10-29T17:41:30.51Z" }, + { url = "https://files.pythonhosted.org/packages/99/a1/4220b73ba6e083229099892d9126e01836afe96cf7e2fbfe60b327506f49/torchaudio-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:ec8f12d6be12aed248a0d65a76c7bb341ee5eef969fe2e9dc3154c7cfba1bdf4", size = 2435747, upload-time = "2024-10-29T17:41:39.561Z" }, +] + +[[package]] +name = "torchaudio" +version = "2.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version < '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/cc/c2e2a3eb6ee956f73c68541e439916f8146170ea9cc61e72adea5c995312/torchaudio-2.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ddef94bf181e6447cbb05f38beaca8f6c5bb8d2b9ddced1aa3452025b9fc70d3", size = 1856736, upload-time = "2025-08-06T14:58:36.3Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0d/24dad878784f1edd62862f27173781669f0c71eb46368636787d1e364188/torchaudio-2.8.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:862e2e40bf09d865e5df080a84c1a39bbcef40e43140f4b1737eb3a389d3b38f", size = 1692930, upload-time = "2025-08-06T14:58:41.312Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a6/84d80f34472503e9eb82245d7df501c59602d75d7360e717fb9b84f91c5e/torchaudio-2.8.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:93a8583f280fe83ba021aa713319381ea71362cc87b67ee38e97a43cb2254aee", size = 4014607, upload-time = "2025-08-06T14:58:47.234Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/96ad33afa320738a7cfb4b51ba97e2f3cfb1e04ae3115d5057655103ba4f/torchaudio-2.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:4b82cacd1b8ccd543b1149d8cab257a40dfda8119023d2e3a96c66349c84bffb", size = 2499890, upload-time = "2025-08-06T14:58:55.066Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ea/2a68259c4dbb5fe44ebfdcfa40b115010d8c677221a7ef0f5577f3c4f5f1/torchaudio-2.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f851d32e94ca05e470f0c60e25726ec1e0eb71cb2ca5a0206b7fd03272ccc3c8", size = 1857045, upload-time = "2025-08-06T14:58:51.984Z" }, + { url = "https://files.pythonhosted.org/packages/0d/a3/1c79a8ef29fe403b83bdfc033db852bc2a888b80c406325e5c6fb37a7f2d/torchaudio-2.8.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:09535a9b727c0793cd07c1ace99f3f353626281bcc3e30c2f2314e3ebc9d3f96", size = 1692755, upload-time = "2025-08-06T14:58:50.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/df/61941198e9ac6bcebfdd57e1836e4f3c23409308e3d8d7458f0198a6a366/torchaudio-2.8.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d2a85b124494736241884372fe1c6dd8c15e9bc1931bd325838c5c00238c7378", size = 4013897, upload-time = "2025-08-06T14:59:01.66Z" }, + { url = "https://files.pythonhosted.org/packages/c3/ab/7175d35a4bbc4a465a9f1388571842f16eb6dec5069d7ea9c8c2d7b5b401/torchaudio-2.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:c1b5139c840367a7855a062a06688a416619f6fd2ca46d9b9299b49a7d133dfd", size = 2500085, upload-time = "2025-08-06T14:58:44.95Z" }, + { url = "https://files.pythonhosted.org/packages/34/1a/69b9f8349d9d57953d5e7e445075cbf74000173fb5f5d5d9e9d59415fc63/torchaudio-2.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:68df9c9068984edff8065c2b6656725e6114fe89281b0cf122c7505305fc98a4", size = 1935600, upload-time = "2025-08-06T14:58:46.051Z" }, + { url = "https://files.pythonhosted.org/packages/71/76/40fec21b65bccfdc5c8cdb9d511033ab07a7ad4b05f0a5b07f85c68279fc/torchaudio-2.8.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:1951f10ed092f2dda57634f6a3950ef21c9d9352551aa84a9fccd51bbda18095", size = 1704199, upload-time = "2025-08-06T14:58:43.594Z" }, + { url = "https://files.pythonhosted.org/packages/8e/53/95c3363413c2f2009f805144160b093a385f641224465fbcd717449c71fb/torchaudio-2.8.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4f7d97494698d98854129349b12061e8c3398d33bd84c929fa9aed5fd1389f73", size = 4020596, upload-time = "2025-08-06T14:59:03.031Z" }, + { url = "https://files.pythonhosted.org/packages/52/27/7fc2d7435af044ffbe0b9b8e98d99eac096d43f128a5cde23c04825d5dcf/torchaudio-2.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d4a715d09ac28c920d031ee1e60ecbc91e8a5079ad8c61c0277e658436c821a6", size = 2549553, upload-time = "2025-08-06T14:59:00.019Z" }, +] + +[[package]] +name = "torchaudio" +version = "2.9.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/83/71cbadd7b66753818b5775f2088bad4f721d581de276996df4968000a626/torchaudio-2.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7581ef170794c599aed55918e00d0acd9e5c9a0f19400c9a9a840955180365c5", size = 808098, upload-time = "2025-11-12T15:26:01.408Z" }, + { url = "https://files.pythonhosted.org/packages/ef/2d/32e8bec360459107f9b451cc1a5b6fdd5f1d3e653e65a111502084f21e3a/torchaudio-2.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:742f9d24db5f1f46d8c7e29c599fe55b866d92c4a8181fcb95eab12da225ceb0", size = 474604, upload-time = "2025-11-12T15:25:49.122Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0d/b5af1d55ede1ca07769a2cf71256073d8958e2a5521fc734fc19f5343283/torchaudio-2.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4533fdafba73d7bcfcb5f1225b2cc8974a290ed0fe54c44638d6f440e91b8999", size = 2059899, upload-time = "2025-11-12T15:26:19.363Z" }, + { url = "https://files.pythonhosted.org/packages/2e/7c/df90eb0b337cbad59296ed91778e32be069330f5186256d4ce9ea603d324/torchaudio-2.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:923dccc67be4a6cbb45c3dcc2d69ee182bda75b09b69bc88cd3bcdfc739883a2", size = 665337, upload-time = "2025-11-12T15:26:07.407Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1b/3321ad6379ac2d968064704e8d015c31ccae5d1ece070f87fb44b17d90e6/torchaudio-2.9.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bb69557484c92513a980027ec4cb314b0f43cf4442bbfd97440e66528dbad22d", size = 808136, upload-time = "2025-11-12T15:26:00.276Z" }, + { url = "https://files.pythonhosted.org/packages/76/e2/fe55b3882157fd57aa131f5bcad90f0329be90827e1c0e0c482662ddef38/torchaudio-2.9.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ba2799ceec5e4373a0aa26df30d608f1eaaefd8ac4a7ae0c3446f63106f5b5a5", size = 474349, upload-time = "2025-11-12T15:26:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/74/d3/0b090c03cac5a20691507e0945589a696fb10402ccd2457eea47dbf8a71b/torchaudio-2.9.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bc3c8e9a240bfad8bc61f769324a4f3ce5d60eec161369d457c595c35dbb10c7", size = 2060343, upload-time = "2025-11-12T15:26:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/a0/db/2555cfd428f4bf09a4df1c6f9204d0acc217c46edb35776c16e7a2a9a1c9/torchaudio-2.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:13ee96ea9bbbc85e198cb671273af06f010e6981d7b912d001eef6bc74e23f4f", size = 665301, upload-time = "2025-11-12T15:26:04.952Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/e82d8b5f447abdddc950965f1395f36baef3602643dd069100c6369ba73e/torchaudio-2.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9290f6a6409deb1f9113d5aef97ec646eeee6410b6bcc57ab8b57066b54da7c1", size = 813456, upload-time = "2025-11-12T15:26:13.963Z" }, + { url = "https://files.pythonhosted.org/packages/ce/45/dd9ad6af9bb595095cd98028d270f933760968b92a3497282e31289ef3b4/torchaudio-2.9.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:eeae7ca60b64c4bfb78fbd104a089d072b151423d5d2f90da1da00787f03b800", size = 476577, upload-time = "2025-11-12T15:26:09.54Z" }, + { url = "https://files.pythonhosted.org/packages/79/97/c49aeb01d8a9ced2b8215a38b69b8eafd1afe295a487a73b7030c6ff3396/torchaudio-2.9.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:5f445e896215e6f7bba497dc68aab1e6cb077ae0ab3a90095067f16df6a9bb98", size = 2062158, upload-time = "2025-11-12T15:26:10.487Z" }, + { url = "https://files.pythonhosted.org/packages/ba/70/30b2a0ecca2a0a5e6a8cee8952fdea3872854ea5bcd86fe3df369fdc2543/torchaudio-2.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:c558ba70d548f7491245ed7a35310f6310d83fc7591f073ab5fed9fd38cef987", size = 669253, upload-time = "2025-11-12T15:26:06.285Z" }, + { url = "https://files.pythonhosted.org/packages/5b/38/0dabf362f946ab5773d3db3322718d652d70ad12a82f500d54c6c8b9cc88/torchaudio-2.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:69a582650279ee16ff9087f99b4234fe5d766e1bf7f0be352db5f46991854c1e", size = 810496, upload-time = "2025-11-12T15:26:11.515Z" }, + { url = "https://files.pythonhosted.org/packages/05/1c/e05a32ee6868dc05463242db672f23dba5d042423fefcf294db4dac343a8/torchaudio-2.9.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:9c0d004f784c49078017f8217fdc901df0eb9724e50fb269b3a6c99b1d4eae75", size = 474566, upload-time = "2025-11-12T15:26:08.628Z" }, + { url = "https://files.pythonhosted.org/packages/15/52/8cec1fe90f05b888f9060467e1eb8c27f9295b8729a83d443e3bd7c471d3/torchaudio-2.9.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:d2743b28ff5538d5fdf2ff6657d392852ccdfe640ede46f566b2907ca32d8dca", size = 2060358, upload-time = "2025-11-12T15:26:12.885Z" }, + { url = "https://files.pythonhosted.org/packages/04/73/6ba396813d714f895f86c82be61b590fbe14255ebe6866f5ea5916c075a3/torchaudio-2.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:234c7a9d4d0a6ed735cd37965baa9a89ca36bdbebece8a6a5ff7727acbb43026", size = 665039, upload-time = "2025-11-12T15:26:18.308Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f6/237e00a04dea497a40a8567d024dfb39193abec3ca3695ad51919ad633d1/torchaudio-2.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e13cb38971ac259fc4e102282a3e48f6df5f0ab00eb785ca5155e3392d1e86f1", size = 813463, upload-time = "2025-11-12T15:26:16.261Z" }, + { url = "https://files.pythonhosted.org/packages/57/99/5fcd46a80086030899badeb5a934fab337c88325b3f68c60faa0b672d4d2/torchaudio-2.9.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:35c96ed1011b50eaf17948da173b09450cdc5bb7f908687571adb4a4c072c05e", size = 476577, upload-time = "2025-11-12T15:26:17.355Z" }, + { url = "https://files.pythonhosted.org/packages/a4/4c/bc428f71d5ef728fba2ecb151a3a6d187e6f0b9446b76e4f87e46d2206a3/torchaudio-2.9.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:c220c4acf9914cce2dc81c3624d7c84008ef436dc31bcbb89e8f4416d3615a34", size = 2062170, upload-time = "2025-11-12T15:26:20.837Z" }, + { url = "https://files.pythonhosted.org/packages/07/0e/be41f412e1225bdbd9b7fd7f41a20f070c707f5274b82542eeccf6dc2b79/torchaudio-2.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:cfd12934c7b54b41d4c79dfd26fbfe88fafa9cc5cc77c074e953bb7018d9322c", size = 669265, upload-time = "2025-11-12T15:26:14.976Z" }, +] + +[[package]] +name = "torchcodec" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/b2/6d3e190fcd18c65b35f6da734d4415c72b42c8a72ffc2494d998bad8caf3/torchcodec-0.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9d082bbb599f4f7715bfc3b1afa5bc16d8fb9d852e68084c63f1973cc78a1cb", size = 3574506, upload-time = "2025-09-08T14:17:52.071Z" }, + { url = "https://files.pythonhosted.org/packages/41/10/4a1a8407d0fad37cb43d1f749e7b422e5a0f6def17f3b90ab9ab9a105e32/torchcodec-0.7.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3cd23c3296c9b071d56bb2c534a6a98275d65c1a6a7213cdb72a26ec9f9d2fd8", size = 1421871, upload-time = "2025-09-08T14:17:43.419Z" }, + { url = "https://files.pythonhosted.org/packages/9b/e7/a2fa7ed9c81d7d683d37ca7204007b421c0537132364a9cfd8d577f19a96/torchcodec-0.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:ac942831bff02e6041d8718b71c6f63e4e37c05dd95e72863725c9dbef0d4a7b", size = 1565029, upload-time = "2025-09-08T14:18:02.83Z" }, + { url = "https://files.pythonhosted.org/packages/3c/82/7c7691d538f67704b2b2444deb0e234ae564f9329bc9becf66d69998bc9b/torchcodec-0.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:32a0115035a7f0a77fa451f67c101e0273a3a37d33b69e1bcd777f00aceb7340", size = 3537881, upload-time = "2025-09-08T14:17:54.254Z" }, + { url = "https://files.pythonhosted.org/packages/01/25/177ea01d138598ab68d5e3b000789e8617bf97874bd8f761d89093f419ba/torchcodec-0.7.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:9c70f910f9f48e6625aacaed534f766e13d447b895dc7299e96d4db9a93f1514", size = 1422493, upload-time = "2025-09-08T14:17:45.41Z" }, + { url = "https://files.pythonhosted.org/packages/5c/a9/e2b6301fbf4590d352e183bef64927f74ef4d4f660cca3ed7a32dda60484/torchcodec-0.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:31b402c9ae3c6e9f33c41fddf7058f9492c443ad55d02f022395f8fa196b58f6", size = 1565405, upload-time = "2025-09-08T14:18:04.217Z" }, +] + +[[package]] +name = "torchmetrics" +version = "1.8.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lightning-utilities", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "numpy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/2e/48a887a59ecc4a10ce9e8b35b3e3c5cef29d902c4eac143378526e7485cb/torchmetrics-1.8.2.tar.gz", hash = "sha256:cf64a901036bf107f17a524009eea7781c9c5315d130713aeca5747a686fe7a5", size = 580679, upload-time = "2025-09-03T14:00:54.077Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/21/aa0f434434c48490f91b65962b1ce863fdcce63febc166ca9fe9d706c2b6/torchmetrics-1.8.2-py3-none-any.whl", hash = "sha256:08382fd96b923e39e904c4d570f3d49e2cc71ccabd2a94e0f895d1f0dac86242", size = 983161, upload-time = "2025-09-03T14:00:51.921Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, +] + +[[package]] +name = "triton" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc", size = 209551444, upload-time = "2024-10-14T16:05:53.433Z" }, +] + +[[package]] +name = "triton" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "platform_machine == 'x86_64' and sys_platform == 'linux'", +] +dependencies = [ + { name = "setuptools", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-9-uv-global-cpu' and extra != 'extra-9-uv-global-cu121') or (extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/66/b1eb52839f563623d185f0927eb3530ee4d5ffe9d377cdaf5346b306689e/triton-3.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:31c1d84a5c0ec2c0f8e8a072d7fd150cab84a9c239eaddc6706c081bfae4eb04", size = 155560068, upload-time = "2025-07-30T19:58:37.081Z" }, + { url = "https://files.pythonhosted.org/packages/30/7b/0a685684ed5322d2af0bddefed7906674f67974aa88b0fae6e82e3b766f6/triton-3.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00be2964616f4c619193cb0d1b29a99bd4b001d7dc333816073f92cf2a8ccdeb", size = 155569223, upload-time = "2025-07-30T19:58:44.017Z" }, + { url = "https://files.pythonhosted.org/packages/20/63/8cb444ad5cdb25d999b7d647abac25af0ee37d292afc009940c05b82dda0/triton-3.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7936b18a3499ed62059414d7df563e6c163c5e16c3773678a3ee3d417865035d", size = 155659780, upload-time = "2025-07-30T19:58:51.171Z" }, +] + +[[package]] +name = "typer" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "rich", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "shellingham", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/bf/8825b5929afd84d0dabd606c67cd57b8388cb3ec385f7ef19c5cc2202069/typer-0.21.1.tar.gz", hash = "sha256:ea835607cd752343b6b2b7ce676893e5a0324082268b48f27aa058bdb7d2145d", size = 110371, upload-time = "2026-01-06T11:21:10.989Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/1d/d9257dd49ff2ca23ea5f132edf1281a0c4f9de8a762b9ae399b670a59235/typer-0.21.1-py3-none-any.whl", hash = "sha256:7985e89081c636b88d172c2ee0cfe33c253160994d47bdfdc302defd7d1f1d01", size = 47381, upload-time = "2026-01-06T11:21:09.824Z" }, +] + +[[package]] +name = "typer-slim" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/d4/064570dec6358aa9049d4708e4a10407d74c99258f8b2136bb8702303f1a/typer_slim-0.21.1.tar.gz", hash = "sha256:73495dd08c2d0940d611c5a8c04e91c2a0a98600cbd4ee19192255a233b6dbfd", size = 110478, upload-time = "2026-01-06T11:21:11.176Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/0a/4aca634faf693e33004796b6cee0ae2e1dba375a800c16ab8d3eff4bb800/typer_slim-0.21.1-py3-none-any.whl", hash = "sha256:6e6c31047f171ac93cc5a973c9e617dbc5ab2bddc4d0a3135dc161b4e2020e0d", size = 47444, upload-time = "2026-01-06T11:21:12.441Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "uv-global" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "faster-whisper", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-audio", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pyannote-audio", version = "4.0.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] + +[package.optional-dependencies] +cpu = [ + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +cu121 = [ + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'x86_64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "torch", version = "2.8.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-9-uv-global-cu121') or (platform_machine != 'arm64' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform != 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pytest", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "pytest-cov", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] + +[package.metadata] +requires-dist = [ + { name = "faster-whisper" }, + { name = "pyannote-audio" }, + { name = "torch", marker = "sys_platform == 'linux' and extra == 'cpu'", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "uv-global", extra = "cpu" } }, + { name = "torch", marker = "sys_platform == 'linux' and extra == 'cu121'", index = "https://download.pytorch.org/whl/cu121", conflict = { package = "uv-global", extra = "cu121" } }, + { name = "torch", marker = "sys_platform != 'linux' and extra == 'cpu'" }, + { name = "torch", marker = "sys_platform != 'linux' and extra == 'cu121'" }, +] +provides-extras = ["cu121", "cpu"] + +[package.metadata.requires-dev] +dev = [ + { name = "pytest", specifier = ">=8.0" }, + { name = "pytest-cov", specifier = ">=4.0" }, +] + +[[package]] +name = "yarl" +version = "1.22.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "multidict", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, + { name = "propcache", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'darwin' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121') or (sys_platform == 'linux' and extra == 'extra-9-uv-global-cpu' and extra == 'extra-9-uv-global-cu121')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000, upload-time = "2025-10-06T14:09:44.631Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338, upload-time = "2025-10-06T14:09:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909, upload-time = "2025-10-06T14:09:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940, upload-time = "2025-10-06T14:09:50.089Z" }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825, upload-time = "2025-10-06T14:09:52.142Z" }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705, upload-time = "2025-10-06T14:09:54.128Z" }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518, upload-time = "2025-10-06T14:09:55.762Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267, upload-time = "2025-10-06T14:09:57.958Z" }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797, upload-time = "2025-10-06T14:09:59.527Z" }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535, upload-time = "2025-10-06T14:10:01.139Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324, upload-time = "2025-10-06T14:10:02.756Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803, upload-time = "2025-10-06T14:10:04.552Z" }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220, upload-time = "2025-10-06T14:10:06.489Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589, upload-time = "2025-10-06T14:10:09.254Z" }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213, upload-time = "2025-10-06T14:10:11.369Z" }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330, upload-time = "2025-10-06T14:10:13.112Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980, upload-time = "2025-10-06T14:10:14.601Z" }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424, upload-time = "2025-10-06T14:10:16.115Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821, upload-time = "2025-10-06T14:10:17.993Z" }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243, upload-time = "2025-10-06T14:10:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361, upload-time = "2025-10-06T14:10:21.124Z" }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036, upload-time = "2025-10-06T14:10:22.902Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671, upload-time = "2025-10-06T14:10:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059, upload-time = "2025-10-06T14:10:26.406Z" }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356, upload-time = "2025-10-06T14:10:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331, upload-time = "2025-10-06T14:10:30.541Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590, upload-time = "2025-10-06T14:10:33.352Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316, upload-time = "2025-10-06T14:10:35.034Z" }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431, upload-time = "2025-10-06T14:10:37.76Z" }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555, upload-time = "2025-10-06T14:10:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965, upload-time = "2025-10-06T14:10:41.313Z" }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205, upload-time = "2025-10-06T14:10:43.167Z" }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209, upload-time = "2025-10-06T14:10:44.643Z" }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966, upload-time = "2025-10-06T14:10:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312, upload-time = "2025-10-06T14:10:48.007Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967, upload-time = "2025-10-06T14:10:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949, upload-time = "2025-10-06T14:10:52.004Z" }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818, upload-time = "2025-10-06T14:10:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626, upload-time = "2025-10-06T14:10:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129, upload-time = "2025-10-06T14:10:57.985Z" }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776, upload-time = "2025-10-06T14:10:59.633Z" }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879, upload-time = "2025-10-06T14:11:01.454Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996, upload-time = "2025-10-06T14:11:03.452Z" }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047, upload-time = "2025-10-06T14:11:05.115Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947, upload-time = "2025-10-06T14:11:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520, upload-time = "2025-10-06T14:11:15.465Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504, upload-time = "2025-10-06T14:11:17.106Z" }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282, upload-time = "2025-10-06T14:11:19.064Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080, upload-time = "2025-10-06T14:11:20.996Z" }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696, upload-time = "2025-10-06T14:11:22.847Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121, upload-time = "2025-10-06T14:11:24.889Z" }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080, upload-time = "2025-10-06T14:11:27.307Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661, upload-time = "2025-10-06T14:11:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645, upload-time = "2025-10-06T14:11:31.423Z" }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361, upload-time = "2025-10-06T14:11:33.055Z" }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451, upload-time = "2025-10-06T14:11:35.136Z" }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814, upload-time = "2025-10-06T14:11:37.094Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799, upload-time = "2025-10-06T14:11:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990, upload-time = "2025-10-06T14:11:40.624Z" }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292, upload-time = "2025-10-06T14:11:42.578Z" }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888, upload-time = "2025-10-06T14:11:44.863Z" }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223, upload-time = "2025-10-06T14:11:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981, upload-time = "2025-10-06T14:11:48.845Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303, upload-time = "2025-10-06T14:11:50.897Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820, upload-time = "2025-10-06T14:11:52.549Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203, upload-time = "2025-10-06T14:11:54.225Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173, upload-time = "2025-10-06T14:11:56.069Z" }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562, upload-time = "2025-10-06T14:11:58.783Z" }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828, upload-time = "2025-10-06T14:12:00.686Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551, upload-time = "2025-10-06T14:12:02.628Z" }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512, upload-time = "2025-10-06T14:12:04.871Z" }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400, upload-time = "2025-10-06T14:12:06.624Z" }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140, upload-time = "2025-10-06T14:12:08.362Z" }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473, upload-time = "2025-10-06T14:12:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056, upload-time = "2025-10-06T14:12:13.317Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292, upload-time = "2025-10-06T14:12:15.398Z" }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +] diff --git a/uv-global/whisp/IMPLEMENTATION_PLAN.md b/uv-global/whisp/IMPLEMENTATION_PLAN.md new file mode 100644 index 00000000..5af55eda --- /dev/null +++ b/uv-global/whisp/IMPLEMENTATION_PLAN.md @@ -0,0 +1,146 @@ +# whisp implementation plan + +greenfield implementation from SPEC.md. **zero source code exists.** + +## status: not started + +**dependencies confirmed** in `../pyproject.toml`: +- faster-whisper ✓ +- pyannote.audio ✓ +- torch (transitive dep; darwin arm64 → torch 2.8.0 from pypi with mps=True) ✓ +- `[project.scripts]` entry point ✓ +- pytest + pytest-cov in dev dependency-group ✓ +- pytest config for `*_test.py` discovery ✓ + +## priority order + +items sorted by dependency chain. earlier items block later ones. + +### P0 — skeleton (blocks everything) + +- [ ] create `whisp/__init__.py` (version, package exports) +- [ ] create `whisp/__main__.py` (entry point stub) +- [ ] create `whisp/py.typed` (pep 561 marker) +- [ ] `whisp/models.py` — `Word`, `SpeakerTurn`, `Transcript` dataclasses +- [ ] `whisp/errors.py` — `WhispError` base + specific errors with exit codes (2, 10, 11, 20, 30, 31) + +### P1 — pure core (no ML, fast tests) + +- [ ] `whisp/timefmt.py`: + - `format_timestamp(seconds, audio_duration_seconds) -> str` — `[MM:SS]` or `[HH:MM:SS]` + - `format_duration(seconds) -> str` — `5m 42s`, `1h 5m 42s` +- [ ] `whisp/filename.py`: + - `get_source_timestamp(path) -> datetime` (mtime) + - `make_output_filename(source_path, timestamp) -> str` +- [ ] `whisp/segment.py`: + - `words_to_turns(words, gap_threshold=1.5) -> list[SpeakerTurn]` + - new block on speaker change OR gap > threshold +- [ ] `whisp/align.py`: + - `assign_speakers(words, diarization_tracks) -> list[Word]` + - midpoint assignment, no-match → UNKNOWN +- [ ] `whisp/format_md.py`: + - `render(transcript, single_speaker=False) -> str` + - YAML frontmatter, empty audio (`[...silence]`), single_speaker mode (no labels), UNKNOWN labels + +### P2 — adapters (ML dependencies) + +- [ ] `whisp/transcribe_fw.py`: + - `detect_device() -> str` (cuda/cpu; mps → cpu) + - `get_default_model(device) -> tuple[str, str]` (model, compute_type) + - `transcribe(path, model, language, verbose) -> tuple[list[Word], float]` + - always `word_timestamps=True` +- [ ] `whisp/diarize_pyannote.py`: + - `check_hf_token()` — exit 31 if missing + - `diarize(path, speakers_hint, verbose) -> diarization_tracks` + +### P3 — I/O + validation + +- [ ] `whisp/validate.py`: + - `validate_file_exists(path)` — raises FileNotFoundError → exit 10 + - `validate_ffmpeg_decodable(path)` — `ffprobe -v error`, exit 11 on failure +- [ ] `whisp/io.py`: + - `write_stdout(content)` + - `atomic_write(path, content, keep_partial=False)` — temp + atomic rename; `.partial` on failure if keep_partial + +### P4 — orchestration + +- [ ] `whisp/app.py`: + - `run(file, options) -> tuple[str, str]` (markdown, suggested_filename) + - graceful degradation: diarization failure → warn stderr, UNKNOWN labels, exit 0 + - strict mode: component failure → hard exit with specific code + - verbose mode: progress to stderr + +### P5 — CLI + +- [ ] `whisp/cli.py`: + - argparse with all flags per SPEC + - validation flow: exists → decodable → run + - exception → exit code mapping +- [ ] finalize `whisp/__main__.py`: + - `main()` wrapper + - exception handling + +### P6 — polish + +- [ ] help text matches SPEC cli section exactly +- [ ] verbose output: model loading %, transcription progress, diarization status +- [ ] `--keep-partial` integration in io.py +- [ ] exit code 20: pattern-match model load exceptions for network/download errors + +## testing strategy + +### unit tests (pure, fast) — implement alongside P1 + +| module | test focus | +|--------|------------| +| timefmt | 0s, 59s, 59m59s, 1hr boundary, hours in duration | +| filename | sanitization, format, mtime extraction | +| segment | speaker changes, gap detection, UNKNOWN grouping | +| align | midpoint assignment, overlap handling, no-match → UNKNOWN | +| format_md | YAML validity, empty audio, single_speaker mode, UNKNOWN labels | +| errors | exit codes correct per error type | + +### adapter tests (mocked ML) — implement with P2 + +| module | mock strategy | +|--------|---------------| +| transcribe_fw | mock faster_whisper.WhisperModel; verify word_timestamps=True | +| diarize_pyannote | mock pipeline; verify HF_TOKEN check | + +### integration tests (optional) + +- end-to-end with mocked adapters returning deterministic data +- golden markdown snapshot tests + +recommendation: mock ML in CI; manual real-model tests locally. + +## deferred (v2) + +- chunked diarization for 3hr+ files (speaker stitching at boundaries) +- overlap annotation `[overlap]` markers +- distil-large-v3 benchmarking for mps +- sentence boundary heuristics for segmentation + +## module structure + +``` +whisp/ +├── __init__.py # version, package exports +├── __main__.py # entry point: main() +├── py.typed # pep 561 marker +├── cli.py # argparse, exit code mapping +├── app.py # orchestration (graceful/strict policy) +├── models.py # Word, SpeakerTurn, Transcript dataclasses +├── errors.py # WhispError base + specific errors with exit codes +├── timefmt.py # [MM:SS]/[HH:MM:SS], duration formatting +├── filename.py # output filename generation +├── format_md.py # frontmatter + markdown rendering +├── segment.py # words → speaker turns +├── align.py # word-level speaker assignment +├── transcribe_fw.py # faster-whisper adapter +├── diarize_pyannote.py# pyannote adapter +├── io.py # atomic write, stdout, temp files +└── validate.py # file exists, ffprobe validation +``` + +tests colocated: `module.py` → `module_test.py` (pytest configured in pyproject.toml) diff --git a/uv-global/whisp/SPEC.md b/uv-global/whisp/SPEC.md new file mode 100644 index 00000000..1d94bb83 --- /dev/null +++ b/uv-global/whisp/SPEC.md @@ -0,0 +1,323 @@ +# whisp + +audio → commonplace-compatible markdown. optionally with speaker diarization. + +## jobs to be done + +| # | job | trigger | outcome | +|---|-----|---------|---------| +| 1 | transcribe with diarization | explicit invocation with file path | markdown transcript with raw speaker IDs + timestamps | +| 2 | commonplace-compliant output | transcription completes | file named per conventions, frontmatter with source metadata | + +## topics of concern + +| topic | jtbd | one-sentence | sections | +|-------|------|--------------|----------| +| transcription | 1 | converts audio to text with word timestamps | [pipeline](#pipeline), [model defaults](#model-defaults), [language detection](#language-detection) | +| diarization | 1 | identifies which speaker said each word | [alignment](#alignment-word-level-assignment), [speaker count](#speaker-count-behavior), [memory](#memory-and-long-files) | +| output-format | 2 | produces commonplace-compliant markdown | [output format](#output-format), [empty audio](#empty-audio--silence) | +| cli | 1,2 | parses arguments and validates inputs | [cli](#cli), [supported formats](#supported-formats) | +| error-handling | 1,2 | manages failures gracefully with specific exit codes | [error handling](#error-handling), [partial output](#partial-output) | + +## scope + +one job: `whisp <file>` → markdown transcript (with raw speaker IDs and timestamps if diarization enabled; timestamps only if `--speakers 1`). + +no subcommands. no daemon. no watch mode. looping is consumer's concern. + +## pipeline + +``` +audio file + → faster-whisper (transcription + word timestamps) + → pyannote.audio (speaker diarization) [unless --speakers 1] + → align speakers to words + → format as markdown + → stdout (or file via -o) +``` + +## decisions + +### diarization is optional (default: enabled) + +pyannote runs unless `--speakers 1` is passed. single-speaker audio skips diarization entirely — this is a valid use case, not degradation. + +when `--speakers 1`: output contains timestamps only, no speaker labels. this differentiates intentional single-speaker mode from diarization failure (which uses UNKNOWN). + +rationale: the pipeline's value is audio → commonplace markdown. diarization adds "who said what" when relevant, but N=1 recordings are common and shouldn't pay the diarization cost. + +### alignment: word-level assignment + +the hard problem: whisper and pyannote operate independently. whisper produces words with timestamps. pyannote produces speaker segments with timestamps. + +chosen approach: assign each word to the speaker whose segment contains its midpoint. + +```python +def align_words(words, diarization): + for word in words: + midpoint = (word.start + word.end) / 2 + for turn, _, speaker in diarization.itertracks(yield_label=True): + if turn.start <= midpoint <= turn.end: + word.speaker = speaker + break + else: + word.speaker = "UNKNOWN" + return words +``` + +this handles: +- speaker changes mid-sentence (each word assigned correctly) +- overlapping speech (word goes to speaker with segment covering its midpoint) + +tradeoff: requires `word_timestamps=True` in faster-whisper. worth it — segment-level majority vote mislabels overlapping voices, which degrades output quality unacceptably. + +### model defaults + +| device | whisper model | compute_type | rationale | +|--------|---------------|--------------|-----------| +| cuda | large-v3 | float16 | best accuracy, gpu handles it | +| mps | large-v3 | int8 | mps supported via cpu fallback in ctranslate2 | +| cpu | medium | int8 | large-v3 too slow on cpu | + +override with `--model`. no `--device` flag — backend determined at install time by uv.nix. + +hunch: distil-large-v3 might be better default for mps. needs benchmarking. + +note on darwin performance: whisper.cpp with ANE is ~2x faster than faster-whisper on apple silicon (51s vs 113s for 200s audio). but whisper.cpp lacks pyannote integration. for batch processing, unified python stack wins over speed. revisit if users complain. + +### output format + +speaker labels use raw pyannote IDs (e.g., `SPEAKER_00`, `SPEAKER_01`). consumer handles mapping to human names if needed. + +#### multi-speaker (diarization enabled) + +```markdown +--- +source: ./recording.m4a +duration: 5m 42s +speakers: + - SPEAKER_00 + - SPEAKER_01 +model: large-v3 +transcribed: 2026-01-17T14:30:00Z +--- + +# transcript: recording.m4a + +**[00:00]** SPEAKER_00: first segment of speech. + +**[00:14]** SPEAKER_01: response from second speaker. + +**[01:23]** SPEAKER_00: back to first speaker. +``` + +#### single-speaker (`--speakers 1`) + +no speaker labels, timestamps only: + +```markdown +--- +source: ./recording.m4a +duration: 5m 42s +speakers: [] +model: large-v3 +transcribed: 2026-01-17T14:30:00Z +--- + +# transcript: recording.m4a + +**[00:00]** first segment of speech. + +**[00:14]** continuation of transcript. + +**[01:23]** more content. +``` + +#### diarization failure (graceful degradation) + +all segments labeled UNKNOWN to indicate failure: + +```markdown +**[00:00]** UNKNOWN: first segment of speech. +``` + +filename: `YYYY-MM-DDTHH-MM <original-name> -- source__transcript.md` + +timestamp in filename comes from file mtime, falls back to transcription time. + +duration: human-readable format (`5m 42s`, `1h 5m 42s` for >= 1hr). + +timestamp granularity: segment-level only. `[MM:SS]` for <1hr, `[HH:MM:SS]` otherwise. + +### segmentation + +words group into paragraphs. new paragraph starts when: +1. speaker changes, OR +2. gap between consecutive words > 1.5s + +this produces readable chunks without NLP overhead. + +### stdout default + +```bash +whisp meeting.m4a # prints to stdout +whisp meeting.m4a -o out.md # writes to file +whisp meeting.m4a > out.md # equivalent +``` + +rationale: unix philosophy. enables piping, redirection, composition. `-o` exists for convenience. + +### error handling + +default: graceful degradation. + +if diarization fails mid-run: +1. warn to stderr +2. continue with transcription only (all segments labeled UNKNOWN) +3. exit 0 — output is still useful + +override with `--strict`: any component failure → hard exit with specific code. + +rationale: most users want some output over nothing. strict mode for pipelines that require guarantees. + +### exit codes + +| code | meaning | +|------|---------| +| 0 | success | +| 1 | general error | +| 2 | invalid arguments | +| 10 | file not found | +| 11 | unsupported format | +| 20 | model download failed (best-effort detection) | +| 30 | diarization failed (only with --strict) | +| 31 | hf token missing/invalid | + +grouped by domain. room to grow. + +### partial output + +no partial files on failure. write to temp, atomic rename on success. + +rationale: partial transcriptions are usually useless. leaving garbage creates cleanup burden. + +exception: `--keep-partial` preserves temp file as `.partial` on failure. use for debugging very long files. + +## cli + +``` +whisp - transcribe audio to markdown + +usage: whisp [options] <file> + +arguments: + file audio file to transcribe + +options: + -o, --output PATH write output to file (default: stdout) + --model MODEL whisper model: tiny|base|small|medium|large-v3 + --language LANG ISO 639-1 code (default: auto-detect) + --speakers N expected speaker count (1 = skip diarization) + --strict fail hard on any component error + --keep-partial preserve partial output on failure + -v, --verbose print progress to stderr + -h, --help show this help +``` + +stdin not supported. audio requires random access. + +## supported formats + +faster-whisper uses ffmpeg internally. any format ffmpeg decodes is supported: mp3, m4a, wav, flac, ogg, webm, mp4, mkv, etc. + +validation: run `ffprobe -v error` at CLI stage. if ffprobe fails, exit 11. + +## language detection + +default: auto-detect via whisper's built-in language detection. + +if detection confidence is low, whisper proceeds with best guess. no failure mode — low confidence transcription is still useful. + +`--language` overrides detection entirely. use when you know the language and want to skip detection overhead. + +## speaker count behavior + +`--speakers N` is a hint to pyannote, not a constraint. pyannote may find more or fewer speakers than specified. + +common scenario: `--speakers 2` on a meeting recording, but pyannote finds 3 (background voice, brief interjection). output will contain SPEAKER_00, SPEAKER_01, SPEAKER_02. + +this is expected behavior. diarization often miscounts — the hint improves accuracy but doesn't guarantee exact count. + +## empty audio / silence + +if audio contains no detected speech, output includes: + +```markdown +--- +source: ./silence.m4a +duration: 0m 42s +speakers: [] +model: large-v3 +transcribed: 2026-01-17T14:30:00Z +--- + +# transcript: silence.m4a + +[...silence] +``` + +this is valid output, not an error. the file was processed successfully; it just contained no speech. + +## dependencies + +already in uv-global pyproject.toml: +- faster-whisper +- pyannote.audio +- torch (backend selected per host) + +runtime: +- HF_TOKEN env var (required for pyannote gated models) + +### open diarization alternatives + +pyannote requires accepting a license on huggingface (gated model). if this becomes a blocker: + +| option | license | notes | +|--------|---------|-------| +| nvidia nemo | Apache 2.0 | fully open, heavier setup | +| speechbrain | Apache 2.0 | diarization recipes, more DIY | +| resemblyzer | Apache 2.0 | embeddings only, build clustering yourself | + +for v1, accept pyannote license (one-time click) and use HF_TOKEN. defer nemo exploration if gating becomes pain. + +## memory and long files + +pyannote is the memory bottleneck — it loads full audio and accumulates speaker embeddings globally. + +| audio length | approx ram (combined pipeline) | notes | +|--------------|-------------------------------|-------| +| < 1hr | ~4-6GB | safe on 8GB device | +| 1-2hr | ~6-10GB | marginal on 8GB, safe on 16GB | +| 3hr+ | ~12GB+ | OOM risk on 16GB, needs mitigations | + +**observed failure modes:** +- pyannote OOM at embedding clustering phase for 4hr+ audio +- faster-whisper generally handles long files well (streams 30s chunks internally) + +**mitigations for constrained devices:** +- reduce `embedding_batch_size` in pyannote (32 → 4 saves ~0.5GB) +- use `--speakers 1` to skip diarization entirely (faster-whisper alone handles long files) +- accept that 3hr+ files with diarization may fail on 8GB devices + +**chunking diarization is hard:** +pyannote builds global speaker clusters. chunking breaks identity continuity — "Speaker 1" in chunk A ≠ "Speaker 1" in chunk B without post-hoc matching. + +for v1: document limits, recommend users with 8GB RAM skip diarization for files > 1hr. chunked diarization is a v2 concern if users hit this wall. + +## open questions + +1. **mps benchmarking** — need to validate actual performance on m2 before shipping. current data suggests faster-whisper is 2x slower than whisper.cpp on darwin. acceptable for batch, but should document. + +2. **overlap annotation** — pyannote 3.1 detects overlapping speech. currently discarded. could add `[overlap]` marker in output. defer decision until v1 is validated. + +3. **chunked diarization** — if users hit memory walls, implement overlapping-chunk approach with speaker embedding matching at boundaries. deferred to v2. diff --git a/uv-global/whisp/__init__.py b/uv-global/whisp/__init__.py new file mode 100644 index 00000000..7f593fe7 --- /dev/null +++ b/uv-global/whisp/__init__.py @@ -0,0 +1,42 @@ +"""whisp - audio to markdown transcription CLI.""" + +__version__ = "0.1.0" +__all__ = [ + "__version__", + "Word", + "SpeakerTurn", + "Transcript", + "WhispError", + "InvalidArgumentsError", + "FileNotFoundError", + "UnsupportedFormatError", + "ModelLoadError", + "TranscriptionError", + "HFTokenMissingError", + "format_timestamp", + "format_duration", + "get_source_timestamp", + "make_output_filename", + "words_to_turns", + "assign_speakers", + "render", + "run", + "Options", +] + +from whisp.models import Word, SpeakerTurn, Transcript +from whisp.app import run, Options +from whisp.errors import ( + WhispError, + InvalidArgumentsError, + FileNotFoundError, + UnsupportedFormatError, + ModelLoadError, + TranscriptionError, + HFTokenMissingError, +) +from whisp.timefmt import format_timestamp, format_duration +from whisp.filename import get_source_timestamp, make_output_filename +from whisp.segment import words_to_turns +from whisp.align import assign_speakers +from whisp.format_md import render diff --git a/uv-global/whisp/__main__.py b/uv-global/whisp/__main__.py new file mode 100644 index 00000000..bf846a06 --- /dev/null +++ b/uv-global/whisp/__main__.py @@ -0,0 +1,8 @@ +"""CLI entry point for whisp.""" + +import sys + +from whisp.cli import main + +if __name__ == "__main__": + sys.exit(main()) diff --git a/uv-global/whisp/align.py b/uv-global/whisp/align.py new file mode 100644 index 00000000..e20a16b8 --- /dev/null +++ b/uv-global/whisp/align.py @@ -0,0 +1,39 @@ +"""Word-level speaker assignment for whisp.""" + +from __future__ import annotations + +from dataclasses import replace +from typing import Any + +from whisp.models import Word + + +def assign_speakers( + words: list[Word], diarization_tracks: Any +) -> list[Word]: + """Assign speaker labels to words based on diarization tracks. + + Uses midpoint assignment: each word gets the speaker whose segment + contains the word's midpoint. Words with no matching segment get UNKNOWN. + + Args: + words: List of words with timestamps + diarization_tracks: Pyannote diarization object with itertracks() method + + Returns: + New list of Word objects with speaker field set + """ + result: list[Word] = [] + + for word in words: + midpoint = (word.start + word.end) / 2 + speaker = "UNKNOWN" + + for turn, _, label in diarization_tracks.itertracks(yield_label=True): + if turn.start <= midpoint <= turn.end: + speaker = label + break + + result.append(replace(word, speaker=speaker)) + + return result diff --git a/uv-global/whisp/align_test.py b/uv-global/whisp/align_test.py new file mode 100644 index 00000000..0b3db0e7 --- /dev/null +++ b/uv-global/whisp/align_test.py @@ -0,0 +1,118 @@ +"""Tests for align module.""" + +from dataclasses import dataclass +from typing import Iterator + +import pytest + +from whisp.models import Word +from whisp.align import assign_speakers + + +@dataclass +class MockSegment: + """Mock pyannote Segment.""" + + start: float + end: float + + +class MockDiarization: + """Mock pyannote diarization result.""" + + def __init__(self, tracks: list[tuple[float, float, str]]): + self._tracks = tracks + + def itertracks(self, yield_label: bool = False) -> Iterator: + for start, end, speaker in self._tracks: + if yield_label: + yield MockSegment(start, end), None, speaker + else: + yield MockSegment(start, end), None + + +class TestAssignSpeakers: + """Tests for assign_speakers function.""" + + def test_empty_words_returns_empty(self): + diarization = MockDiarization([]) + assert assign_speakers([], diarization) == [] + + def test_single_word_single_segment(self): + words = [Word("hello", 0.5, 1.0)] + diarization = MockDiarization([(0.0, 2.0, "SPEAKER_00")]) + result = assign_speakers(words, diarization) + assert len(result) == 1 + assert result[0].speaker == "SPEAKER_00" + assert result[0].text == "hello" + + def test_midpoint_assignment(self): + words = [Word("word", 0.8, 1.2)] + diarization = MockDiarization([ + (0.0, 1.0, "SPEAKER_00"), + (1.0, 2.0, "SPEAKER_01"), + ]) + result = assign_speakers(words, diarization) + assert result[0].speaker == "SPEAKER_00" + + def test_word_straddles_segments(self): + words = [Word("word", 0.5, 1.5)] + diarization = MockDiarization([ + (0.0, 1.0, "SPEAKER_00"), + (1.0, 2.0, "SPEAKER_01"), + ]) + result = assign_speakers(words, diarization) + assert result[0].speaker == "SPEAKER_00" + + def test_no_matching_segment_returns_unknown(self): + words = [Word("orphan", 5.0, 5.5)] + diarization = MockDiarization([(0.0, 2.0, "SPEAKER_00")]) + result = assign_speakers(words, diarization) + assert result[0].speaker == "UNKNOWN" + + def test_multiple_words_multiple_speakers(self): + words = [ + Word("hello", 0.5, 1.0), + Word("there", 1.5, 2.0), + Word("how", 3.5, 4.0), + ] + diarization = MockDiarization([ + (0.0, 2.5, "SPEAKER_00"), + (3.0, 5.0, "SPEAKER_01"), + ]) + result = assign_speakers(words, diarization) + assert result[0].speaker == "SPEAKER_00" + assert result[1].speaker == "SPEAKER_00" + assert result[2].speaker == "SPEAKER_01" + + def test_preserves_word_data(self): + words = [Word("test", 1.0, 1.5, speaker="OLD")] + diarization = MockDiarization([(0.0, 2.0, "SPEAKER_00")]) + result = assign_speakers(words, diarization) + assert result[0].text == "test" + assert result[0].start == 1.0 + assert result[0].end == 1.5 + assert result[0].speaker == "SPEAKER_00" + + def test_does_not_mutate_original(self): + original = Word("test", 1.0, 1.5) + words = [original] + diarization = MockDiarization([(0.0, 2.0, "SPEAKER_00")]) + result = assign_speakers(words, diarization) + assert original.speaker is None + assert result[0].speaker == "SPEAKER_00" + + def test_word_at_segment_boundary(self): + words = [Word("boundary", 1.0, 1.2)] + diarization = MockDiarization([(1.0, 2.0, "SPEAKER_00")]) + result = assign_speakers(words, diarization) + assert result[0].speaker == "SPEAKER_00" + + def test_empty_diarization_all_unknown(self): + words = [ + Word("a", 0.0, 0.5), + Word("b", 1.0, 1.5), + ] + diarization = MockDiarization([]) + result = assign_speakers(words, diarization) + assert all(w.speaker == "UNKNOWN" for w in result) diff --git a/uv-global/whisp/app.py b/uv-global/whisp/app.py new file mode 100644 index 00000000..f612c869 --- /dev/null +++ b/uv-global/whisp/app.py @@ -0,0 +1,139 @@ +"""Main orchestration for whisp transcription pipeline.""" + +from __future__ import annotations + +import sys +from dataclasses import dataclass +from datetime import datetime, timezone +from pathlib import Path +from typing import Any + +from whisp.models import Transcript, Word +from whisp.errors import WhispError, HFTokenMissingError + + +@dataclass +class Options: + model: str | None = None + language: str | None = None + speakers: int | None = None + strict: bool = False + verbose: bool = False + + +def run(file: str, options: Options | None = None) -> tuple[str, str]: + """Run the full transcription pipeline. + + Args: + file: Path to audio file + options: Transcription options + + Returns: + (markdown, suggested_filename) tuple + + Raises: + WhispError subclasses in strict mode or for fatal errors + """ + from whisp import validate, transcribe_fw, diarize_pyannote, align, segment, format_md, filename + + opts = options or Options() + + if opts.verbose: + print(f"processing: {file}", file=sys.stderr) + + resolved_path = validate.validate_file_exists(file) + validate.validate_ffmpeg_decodable(resolved_path) + + words, duration = transcribe_fw.transcribe( + str(resolved_path), + model=opts.model, + language=opts.language, + verbose=opts.verbose, + ) + + diarization = _try_diarize(resolved_path, opts) + single_speaker = opts.speakers == 1 + + if diarization is not None: + words = align.assign_speakers(words, diarization) + else: + words = _mark_unknown(words) + + turns = segment.words_to_turns(words) + + speakers = _extract_speakers(words, single_speaker) + + model_name = opts.model or transcribe_fw.get_default_model( + transcribe_fw.detect_device() + )[0] + + transcript = Transcript( + source=str(resolved_path), + duration=duration, + speakers=speakers, + model=model_name, + turns=turns, + transcribed_at=datetime.now(timezone.utc), + ) + + markdown = format_md.render(transcript, single_speaker=single_speaker) + + source_ts = filename.get_source_timestamp(resolved_path) + suggested_filename = filename.make_output_filename(resolved_path, source_ts) + + if opts.verbose: + print(f"complete: {len(turns)} turns, {len(speakers)} speakers", file=sys.stderr) + + return markdown, suggested_filename + + +def _try_diarize(path: Path, opts: Options) -> Any | None: + """Attempt diarization with graceful degradation. + + Returns diarization result or None on failure (unless strict mode). + """ + from whisp import diarize_pyannote + + if opts.speakers == 1: + if opts.verbose: + print("skipping diarization (single speaker mode)", file=sys.stderr) + return None + + try: + return diarize_pyannote.diarize( + str(path), + speakers_hint=opts.speakers, + verbose=opts.verbose, + ) + except HFTokenMissingError as e: + if opts.strict: + raise + print(f"warning: {e.message}", file=sys.stderr) + print("continuing without diarization (all speakers marked UNKNOWN)", file=sys.stderr) + return None + except WhispError as e: + if opts.strict: + raise + print(f"warning: diarization failed: {e.message}", file=sys.stderr) + print("continuing without diarization (all speakers marked UNKNOWN)", file=sys.stderr) + return None + + +def _mark_unknown(words: list[Word]) -> list[Word]: + """Mark all words with UNKNOWN speaker.""" + from dataclasses import replace + return [replace(w, speaker="UNKNOWN") for w in words] + + +def _extract_speakers(words: list[Word], single_speaker: bool) -> list[str]: + """Extract unique speaker list from words.""" + if single_speaker: + return [] + seen: set[str] = set() + speakers: list[str] = [] + for word in words: + speaker = word.speaker or "UNKNOWN" + if speaker not in seen: + seen.add(speaker) + speakers.append(speaker) + return speakers diff --git a/uv-global/whisp/app_test.py b/uv-global/whisp/app_test.py new file mode 100644 index 00000000..41992c17 --- /dev/null +++ b/uv-global/whisp/app_test.py @@ -0,0 +1,366 @@ +"""Tests for whisp.app orchestration module.""" + +from __future__ import annotations + +import sys +from datetime import datetime, timezone +from pathlib import Path +from unittest.mock import MagicMock, patch, call + +import pytest + +from whisp.app import run, Options, _try_diarize, _mark_unknown, _extract_speakers +from whisp.models import Word, SpeakerTurn, Transcript +from whisp.errors import ( + FileNotFoundError, + UnsupportedFormatError, + ModelLoadError, + TranscriptionError, + HFTokenMissingError, +) + + +class MockDiarization: + def __init__(self, tracks: list[tuple[float, float, str]]): + self.tracks = tracks + + def itertracks(self, yield_label: bool = False): + for start, end, label in self.tracks: + segment = MagicMock() + segment.start = start + segment.end = end + yield segment, None, label + + +@pytest.fixture +def mock_validate(): + with patch("whisp.validate.validate_file_exists") as vfe, \ + patch("whisp.validate.validate_ffmpeg_decodable") as vfd: + vfe.return_value = Path("/audio/test.mp3") + yield vfe, vfd + + +@pytest.fixture +def mock_transcribe(): + with patch("whisp.transcribe_fw.transcribe") as t, \ + patch("whisp.transcribe_fw.detect_device") as dd, \ + patch("whisp.transcribe_fw.get_default_model") as gdm: + dd.return_value = "cpu" + gdm.return_value = ("medium", "int8") + t.return_value = ( + [ + Word(text="hello", start=0.0, end=0.5), + Word(text="world", start=0.6, end=1.0), + ], + 5.0, + ) + yield t + + +@pytest.fixture +def mock_diarize(): + with patch("whisp.diarize_pyannote.diarize") as d: + d.return_value = MockDiarization([ + (0.0, 0.7, "SPEAKER_00"), + (0.7, 2.0, "SPEAKER_01"), + ]) + yield d + + +@pytest.fixture +def mock_filename(): + with patch("whisp.filename.get_source_timestamp") as gst, \ + patch("whisp.filename.make_output_filename") as mof: + gst.return_value = datetime(2025, 1, 15, 10, 30) + mof.return_value = "2025-01-15T10-30 test -- source__transcript.md" + yield gst, mof + + +class TestRun: + def test_full_pipeline_with_diarization( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + markdown, filename = run("/audio/test.mp3") + + assert "# transcript: test.mp3" in markdown + assert "2025-01-15T10-30" in filename + mock_diarize.assert_called_once() + + def test_full_pipeline_returns_tuple( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + result = run("/audio/test.mp3") + + assert isinstance(result, tuple) + assert len(result) == 2 + markdown, filename = result + assert isinstance(markdown, str) + assert isinstance(filename, str) + + def test_single_speaker_mode_skips_diarization( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + options = Options(speakers=1) + markdown, _ = run("/audio/test.mp3", options) + + mock_diarize.assert_not_called() + assert "speakers: []" in markdown + + def test_verbose_mode_prints_to_stderr( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename, capsys + ): + options = Options(verbose=True) + run("/audio/test.mp3", options) + + captured = capsys.readouterr() + assert "processing:" in captured.err + assert "complete:" in captured.err + + def test_passes_model_option_to_transcribe( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + options = Options(model="large-v3") + run("/audio/test.mp3", options) + + mock_transcribe.assert_called_once() + _, kwargs = mock_transcribe.call_args + assert kwargs["model"] == "large-v3" + + def test_passes_language_option_to_transcribe( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + options = Options(language="es") + run("/audio/test.mp3", options) + + mock_transcribe.assert_called_once() + _, kwargs = mock_transcribe.call_args + assert kwargs["language"] == "es" + + def test_passes_speakers_hint_to_diarize( + self, mock_validate, mock_transcribe, mock_diarize, mock_filename + ): + options = Options(speakers=3) + run("/audio/test.mp3", options) + + mock_diarize.assert_called_once() + _, kwargs = mock_diarize.call_args + assert kwargs["speakers_hint"] == 3 + + +class TestGracefulDegradation: + def test_diarization_failure_continues_with_warning( + self, mock_validate, mock_transcribe, mock_filename, capsys + ): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = TranscriptionError("diarization failed") + + markdown, _ = run("/audio/test.mp3") + + assert "UNKNOWN" in markdown + captured = capsys.readouterr() + assert "warning:" in captured.err + assert "continuing without diarization" in captured.err + + def test_hf_token_missing_continues_with_warning( + self, mock_validate, mock_transcribe, mock_filename, capsys + ): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = HFTokenMissingError("token not found") + + markdown, _ = run("/audio/test.mp3") + + assert "UNKNOWN" in markdown + captured = capsys.readouterr() + assert "warning:" in captured.err + + def test_graceful_degradation_exits_zero( + self, mock_validate, mock_transcribe, mock_filename + ): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = HFTokenMissingError("token not found") + + markdown, filename = run("/audio/test.mp3") + + assert markdown is not None + assert filename is not None + + +class TestStrictMode: + def test_strict_mode_raises_on_diarization_failure( + self, mock_validate, mock_transcribe, mock_filename + ): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = TranscriptionError("diarization failed") + + options = Options(strict=True) + with pytest.raises(TranscriptionError): + run("/audio/test.mp3", options) + + def test_strict_mode_raises_on_hf_token_missing( + self, mock_validate, mock_transcribe, mock_filename + ): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = HFTokenMissingError("token not found") + + options = Options(strict=True) + with pytest.raises(HFTokenMissingError): + run("/audio/test.mp3", options) + + def test_strict_mode_file_not_found_raises(self): + with patch("whisp.validate.validate_file_exists") as vfe: + vfe.side_effect = FileNotFoundError("not found") + + options = Options(strict=True) + with pytest.raises(FileNotFoundError): + run("/audio/missing.mp3", options) + + def test_strict_mode_unsupported_format_raises(self, mock_validate): + vfe, vfd = mock_validate + vfd.side_effect = UnsupportedFormatError("bad format") + + options = Options(strict=True) + with pytest.raises(UnsupportedFormatError): + run("/audio/test.mp3", options) + + def test_strict_mode_model_load_error_raises( + self, mock_validate, mock_filename + ): + with patch("whisp.transcribe_fw.transcribe") as t: + t.side_effect = ModelLoadError("failed to load") + + options = Options(strict=True) + with pytest.raises(ModelLoadError): + run("/audio/test.mp3", options) + + +class TestValidationErrors: + def test_file_not_found_raises(self): + with patch("whisp.validate.validate_file_exists") as vfe: + vfe.side_effect = FileNotFoundError("not found") + + with pytest.raises(FileNotFoundError): + run("/audio/missing.mp3") + + def test_unsupported_format_raises(self, mock_validate): + vfe, vfd = mock_validate + vfd.side_effect = UnsupportedFormatError("not audio") + + with pytest.raises(UnsupportedFormatError): + run("/audio/test.mp3") + + +class TestTryDiarize: + def test_returns_diarization_on_success(self): + with patch("whisp.diarize_pyannote.diarize") as d: + mock_result = MockDiarization([(0.0, 1.0, "SPEAKER_00")]) + d.return_value = mock_result + + result = _try_diarize(Path("/audio/test.mp3"), Options()) + + assert result is mock_result + + def test_returns_none_on_hf_token_missing(self, capsys): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = HFTokenMissingError("no token") + + result = _try_diarize(Path("/audio/test.mp3"), Options()) + + assert result is None + captured = capsys.readouterr() + assert "warning:" in captured.err + + def test_returns_none_on_transcription_error(self, capsys): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = TranscriptionError("failed") + + result = _try_diarize(Path("/audio/test.mp3"), Options()) + + assert result is None + + def test_raises_in_strict_mode(self): + with patch("whisp.diarize_pyannote.diarize") as d: + d.side_effect = HFTokenMissingError("no token") + + with pytest.raises(HFTokenMissingError): + _try_diarize(Path("/audio/test.mp3"), Options(strict=True)) + + def test_single_speaker_returns_none_immediately(self): + with patch("whisp.diarize_pyannote.diarize") as d: + result = _try_diarize(Path("/audio/test.mp3"), Options(speakers=1)) + + assert result is None + d.assert_not_called() + + +class TestMarkUnknown: + def test_marks_all_words_unknown(self): + words = [ + Word(text="hello", start=0.0, end=0.5), + Word(text="world", start=0.6, end=1.0), + ] + + result = _mark_unknown(words) + + assert all(w.speaker == "UNKNOWN" for w in result) + + def test_preserves_other_fields(self): + words = [Word(text="test", start=1.5, end=2.0)] + + result = _mark_unknown(words) + + assert result[0].text == "test" + assert result[0].start == 1.5 + assert result[0].end == 2.0 + + +class TestExtractSpeakers: + def test_extracts_unique_speakers_in_order(self): + words = [ + Word(text="a", start=0.0, end=0.1, speaker="SPEAKER_00"), + Word(text="b", start=0.2, end=0.3, speaker="SPEAKER_01"), + Word(text="c", start=0.4, end=0.5, speaker="SPEAKER_00"), + ] + + result = _extract_speakers(words, single_speaker=False) + + assert result == ["SPEAKER_00", "SPEAKER_01"] + + def test_returns_empty_for_single_speaker_mode(self): + words = [Word(text="a", start=0.0, end=0.1, speaker="SPEAKER_00")] + + result = _extract_speakers(words, single_speaker=True) + + assert result == [] + + def test_handles_none_speaker(self): + words = [Word(text="a", start=0.0, end=0.1, speaker=None)] + + result = _extract_speakers(words, single_speaker=False) + + assert result == ["UNKNOWN"] + + +class TestOptions: + def test_default_options(self): + opts = Options() + + assert opts.model is None + assert opts.language is None + assert opts.speakers is None + assert opts.strict is False + assert opts.verbose is False + + def test_all_options(self): + opts = Options( + model="large-v3", + language="en", + speakers=2, + strict=True, + verbose=True, + ) + + assert opts.model == "large-v3" + assert opts.language == "en" + assert opts.speakers == 2 + assert opts.strict is True + assert opts.verbose is True diff --git a/uv-global/whisp/cli.py b/uv-global/whisp/cli.py new file mode 100644 index 00000000..9ca4c905 --- /dev/null +++ b/uv-global/whisp/cli.py @@ -0,0 +1,119 @@ +"""Command-line interface for whisp.""" + +from __future__ import annotations + +import argparse +import sys +from pathlib import Path + +from whisp import __version__ +from whisp.app import run, Options +from whisp.errors import WhispError +from whisp.io import write_stdout, atomic_write + + +def build_parser() -> argparse.ArgumentParser: + """Build argument parser for whisp CLI.""" + parser = argparse.ArgumentParser( + prog="whisp", + description="transcribe audio to markdown with speaker diarization", + ) + + parser.add_argument( + "file", + help="audio file to transcribe", + ) + + parser.add_argument( + "-o", "--output", + metavar="PATH", + help="output file path (default: stdout)", + ) + + parser.add_argument( + "-m", "--model", + metavar="MODEL", + help="whisper model name (default: auto-select based on device)", + ) + + parser.add_argument( + "-l", "--language", + metavar="LANG", + help="language code (default: auto-detect)", + ) + + parser.add_argument( + "-s", "--speakers", + type=int, + metavar="N", + help="number of speakers hint (1 = skip diarization)", + ) + + parser.add_argument( + "--strict", + action="store_true", + help="exit with error code on any failure (no graceful degradation)", + ) + + parser.add_argument( + "-v", "--verbose", + action="store_true", + help="print progress to stderr", + ) + + parser.add_argument( + "--version", + action="version", + version=f"%(prog)s {__version__}", + ) + + parser.add_argument( + "--suggest-filename", + action="store_true", + help="print suggested output filename to stderr and exit", + ) + + return parser + + +def main(argv: list[str] | None = None) -> int: + """Main CLI entry point. + + Args: + argv: Command-line arguments (default: sys.argv[1:]) + + Returns: + Exit code (0 for success, non-zero for errors) + """ + parser = build_parser() + args = parser.parse_args(argv) + + options = Options( + model=args.model, + language=args.language, + speakers=args.speakers, + strict=args.strict, + verbose=args.verbose, + ) + + try: + markdown, suggested_filename = run(args.file, options) + except WhispError as e: + print(f"error: {e.message}", file=sys.stderr) + return e.exit_code + + if args.suggest_filename: + print(suggested_filename, file=sys.stderr) + return 0 + + if args.output: + output_path = Path(args.output) + if output_path.is_dir(): + output_path = output_path / suggested_filename + atomic_write(output_path, markdown) + if args.verbose: + print(f"wrote: {output_path}", file=sys.stderr) + else: + write_stdout(markdown) + + return 0 diff --git a/uv-global/whisp/cli_test.py b/uv-global/whisp/cli_test.py new file mode 100644 index 00000000..2096c67b --- /dev/null +++ b/uv-global/whisp/cli_test.py @@ -0,0 +1,186 @@ +"""Tests for whisp.cli module.""" + +from __future__ import annotations + +import sys +from pathlib import Path +from unittest.mock import patch, MagicMock + +import pytest + +from whisp.cli import build_parser, main +from whisp.errors import FileNotFoundError, TranscriptionError, HFTokenMissingError + + +class TestBuildParser: + def test_creates_parser(self): + parser = build_parser() + assert parser.prog == "whisp" + + def test_file_argument_required(self): + parser = build_parser() + with pytest.raises(SystemExit): + parser.parse_args([]) + + def test_parses_file_argument(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3"]) + assert args.file == "audio.mp3" + + def test_output_option(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "-o", "out.md"]) + assert args.output == "out.md" + + def test_output_long_option(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "--output", "out.md"]) + assert args.output == "out.md" + + def test_model_option(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "-m", "large-v3"]) + assert args.model == "large-v3" + + def test_language_option(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "-l", "es"]) + assert args.language == "es" + + def test_speakers_option(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "-s", "3"]) + assert args.speakers == 3 + + def test_strict_flag(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "--strict"]) + assert args.strict is True + + def test_verbose_flag(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "-v"]) + assert args.verbose is True + + def test_suggest_filename_flag(self): + parser = build_parser() + args = parser.parse_args(["audio.mp3", "--suggest-filename"]) + assert args.suggest_filename is True + + def test_all_options_combined(self): + parser = build_parser() + args = parser.parse_args([ + "audio.mp3", + "-o", "out.md", + "-m", "medium", + "-l", "en", + "-s", "2", + "--strict", + "-v", + ]) + assert args.file == "audio.mp3" + assert args.output == "out.md" + assert args.model == "medium" + assert args.language == "en" + assert args.speakers == 2 + assert args.strict is True + assert args.verbose is True + + +class TestMain: + @pytest.fixture + def mock_run(self): + with patch("whisp.cli.run") as r: + r.return_value = ("# transcript\n\nhello world", "2025-01-15T10-30 audio -- source__transcript.md") + yield r + + @pytest.fixture + def mock_io(self): + with patch("whisp.cli.write_stdout") as ws, \ + patch("whisp.cli.atomic_write") as aw: + yield ws, aw + + def test_returns_zero_on_success(self, mock_run, mock_io): + result = main(["audio.mp3"]) + assert result == 0 + + def test_calls_run_with_file(self, mock_run, mock_io): + main(["audio.mp3"]) + mock_run.assert_called_once() + args, kwargs = mock_run.call_args + assert args[0] == "audio.mp3" + + def test_passes_options_to_run(self, mock_run, mock_io): + main(["audio.mp3", "-m", "large-v3", "-l", "es", "-s", "2", "--strict", "-v"]) + args, kwargs = mock_run.call_args + options = args[1] + assert options.model == "large-v3" + assert options.language == "es" + assert options.speakers == 2 + assert options.strict is True + assert options.verbose is True + + def test_writes_to_stdout_by_default(self, mock_run, mock_io): + write_stdout, atomic_write = mock_io + main(["audio.mp3"]) + write_stdout.assert_called_once() + atomic_write.assert_not_called() + + def test_writes_to_file_with_output_option(self, mock_run, mock_io, tmp_path): + write_stdout, atomic_write = mock_io + output_file = tmp_path / "out.md" + main(["audio.mp3", "-o", str(output_file)]) + atomic_write.assert_called_once() + write_stdout.assert_not_called() + + def test_uses_suggested_filename_for_directory_output(self, mock_run, mock_io, tmp_path): + write_stdout, atomic_write = mock_io + main(["audio.mp3", "-o", str(tmp_path)]) + call_args = atomic_write.call_args[0] + assert "2025-01-15T10-30 audio -- source__transcript.md" in str(call_args[0]) + + def test_suggest_filename_prints_and_exits(self, mock_run, capsys): + result = main(["audio.mp3", "--suggest-filename"]) + assert result == 0 + captured = capsys.readouterr() + assert "2025-01-15T10-30 audio -- source__transcript.md" in captured.err + + +class TestMainErrors: + def test_file_not_found_returns_exit_code(self, capsys): + with patch("whisp.cli.run") as r: + r.side_effect = FileNotFoundError("file not found: missing.mp3") + result = main(["missing.mp3"]) + assert result == 10 + captured = capsys.readouterr() + assert "error:" in captured.err + + def test_transcription_error_returns_exit_code(self, capsys): + with patch("whisp.cli.run") as r: + r.side_effect = TranscriptionError("transcription failed") + result = main(["audio.mp3"]) + assert result == 30 + + def test_hf_token_missing_returns_exit_code(self, capsys): + with patch("whisp.cli.run") as r: + r.side_effect = HFTokenMissingError("token missing") + result = main(["audio.mp3"]) + assert result == 31 + + def test_error_message_printed_to_stderr(self, capsys): + with patch("whisp.cli.run") as r: + r.side_effect = FileNotFoundError("file not found: missing.mp3") + main(["missing.mp3"]) + captured = capsys.readouterr() + assert "file not found: missing.mp3" in captured.err + + +class TestMainVerbose: + def test_verbose_prints_write_path(self, tmp_path, capsys): + with patch("whisp.cli.run") as r, \ + patch("whisp.cli.atomic_write"): + r.return_value = ("# markdown", "suggested.md") + output_file = tmp_path / "out.md" + main(["audio.mp3", "-o", str(output_file), "-v"]) + captured = capsys.readouterr() + assert "wrote:" in captured.err diff --git a/uv-global/whisp/diarize_pyannote.py b/uv-global/whisp/diarize_pyannote.py new file mode 100644 index 00000000..de880a41 --- /dev/null +++ b/uv-global/whisp/diarize_pyannote.py @@ -0,0 +1,101 @@ +"""Pyannote diarization adapter for whisp.""" + +from __future__ import annotations + +import os +import sys +from typing import Any + +from whisp.errors import HFTokenMissingError, TranscriptionError + + +def _load_audio(path: str) -> dict[str, Any]: + """Load audio file as waveform dict for pyannote. + + Pyannote's torchcodec backend fails with ffmpeg 8+. + Pre-load audio using torchaudio to bypass this. + """ + import torch + import torchaudio + + waveform, sample_rate = torchaudio.load(path) + return {"waveform": waveform, "sample_rate": sample_rate} + + +def check_hf_token() -> str: + """Check for Hugging Face token in environment. + + Returns: + The HF token if found + + Raises: + HFTokenMissingError: Token not found in HF_TOKEN or HUGGING_FACE_HUB_TOKEN + """ + token = os.environ.get("HF_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN") + if not token: + raise HFTokenMissingError( + "hugging face token required for diarization. " + "set HF_TOKEN or HUGGING_FACE_HUB_TOKEN environment variable." + ) + return token + + +def diarize( + path: str, + speakers_hint: int | None = None, + verbose: bool = False, +) -> Any: + """Run speaker diarization on audio file. + + Args: + path: Path to audio file + speakers_hint: Hint for number of speakers (optional) + verbose: Print progress to stderr + + Returns: + Pyannote diarization result with itertracks() method + + Raises: + HFTokenMissingError: HF token not configured + TranscriptionError: Diarization failed + """ + token = check_hf_token() + + if verbose: + print("loading diarization model...", file=sys.stderr) + + try: + from pyannote.audio import Pipeline + + pipeline = Pipeline.from_pretrained( + "pyannote/speaker-diarization-3.1", + token=token, + ) + except Exception as e: + raise TranscriptionError(f"failed to load diarization model: {e}") from e + + if verbose: + print("diarizing...", file=sys.stderr) + + try: + kwargs: dict[str, Any] = {} + if speakers_hint is not None: + kwargs["num_speakers"] = speakers_hint + + audio = _load_audio(path) + result = pipeline(audio, **kwargs) + + # pyannote 3.x returns DiarizeOutput, extract the Annotation + if hasattr(result, 'speaker_diarization'): + diarization = result.speaker_diarization + else: + diarization = result + + except Exception as e: + raise TranscriptionError(f"diarization failed: {e}") from e + + if verbose: + speakers = set(label for _, _, label in diarization.itertracks(yield_label=True)) + print(f"found {len(speakers)} speakers", file=sys.stderr) + + return diarization diff --git a/uv-global/whisp/diarize_pyannote_test.py b/uv-global/whisp/diarize_pyannote_test.py new file mode 100644 index 00000000..0954a327 --- /dev/null +++ b/uv-global/whisp/diarize_pyannote_test.py @@ -0,0 +1,190 @@ +"""Tests for diarize_pyannote module.""" + +import os +from dataclasses import dataclass +from unittest.mock import MagicMock, patch + +import pytest + +from whisp.errors import HFTokenMissingError, TranscriptionError +from whisp.diarize_pyannote import check_hf_token, diarize + + +class TestCheckHfToken: + """Tests for check_hf_token function.""" + + def test_returns_hf_token_from_env(self, monkeypatch): + monkeypatch.setenv("HF_TOKEN", "test-token") + assert check_hf_token() == "test-token" + + def test_returns_hugging_face_hub_token_from_env(self, monkeypatch): + monkeypatch.delenv("HF_TOKEN", raising=False) + monkeypatch.setenv("HUGGING_FACE_HUB_TOKEN", "hub-token") + assert check_hf_token() == "hub-token" + + def test_hf_token_takes_precedence(self, monkeypatch): + monkeypatch.setenv("HF_TOKEN", "primary") + monkeypatch.setenv("HUGGING_FACE_HUB_TOKEN", "secondary") + assert check_hf_token() == "primary" + + def test_raises_when_no_token(self, monkeypatch): + monkeypatch.delenv("HF_TOKEN", raising=False) + monkeypatch.delenv("HUGGING_FACE_HUB_TOKEN", raising=False) + with pytest.raises(HFTokenMissingError) as exc_info: + check_hf_token() + assert "hugging face token required" in str(exc_info.value) + + +@dataclass +class MockSegment: + """Mock pyannote segment.""" + + start: float + end: float + + +class MockDiarization: + """Mock pyannote diarization result.""" + + def __init__(self, tracks: list[tuple[float, float, str]]): + self._tracks = tracks + + def itertracks(self, yield_label: bool = False): + for start, end, speaker in self._tracks: + if yield_label: + yield MockSegment(start, end), None, speaker + else: + yield MockSegment(start, end), None + + +@pytest.fixture +def mock_load_audio(): + """Mock _load_audio to avoid torchaudio dependency.""" + with patch( + "whisp.diarize_pyannote._load_audio", + return_value={"waveform": MagicMock(), "sample_rate": 16000}, + ) as m: + yield m + + +class TestDiarize: + """Tests for diarize function.""" + + def test_raises_without_token(self, monkeypatch): + monkeypatch.delenv("HF_TOKEN", raising=False) + monkeypatch.delenv("HUGGING_FACE_HUB_TOKEN", raising=False) + with pytest.raises(HFTokenMissingError): + diarize("/path/to/audio.m4a") + + def test_returns_diarization_result(self, monkeypatch, mock_load_audio): + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_diarization = MockDiarization([ + (0.0, 1.0, "SPEAKER_00"), + (1.5, 2.5, "SPEAKER_01"), + ]) + mock_pipeline = MagicMock() + mock_pipeline.return_value = mock_diarization + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + return_value=mock_pipeline, + create=True, + ): + result = diarize("/path/to/audio.m4a") + + assert result is mock_diarization + + def test_passes_speakers_hint(self, monkeypatch, mock_load_audio): + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_diarization = MockDiarization([]) + mock_pipeline = MagicMock() + mock_pipeline.return_value = mock_diarization + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + return_value=mock_pipeline, + create=True, + ): + diarize("/path/to/audio.m4a", speakers_hint=3) + + call_kwargs = mock_pipeline.call_args.kwargs + assert call_kwargs["num_speakers"] == 3 + + def test_no_speakers_hint_by_default(self, monkeypatch, mock_load_audio): + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_diarization = MockDiarization([]) + mock_pipeline = MagicMock() + mock_pipeline.return_value = mock_diarization + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + return_value=mock_pipeline, + create=True, + ): + diarize("/path/to/audio.m4a") + + call_kwargs = mock_pipeline.call_args.kwargs + assert "num_speakers" not in call_kwargs + + def test_model_load_failure_raises_transcription_error(self, monkeypatch): + monkeypatch.setenv("HF_TOKEN", "test-token") + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + side_effect=Exception("auth failed"), + create=True, + ): + with pytest.raises(TranscriptionError) as exc_info: + diarize("/path/to/audio.m4a") + assert "load diarization model" in str(exc_info.value) + + def test_diarization_failure_raises_transcription_error(self, monkeypatch, mock_load_audio): + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_pipeline = MagicMock() + mock_pipeline.side_effect = Exception("audio decode error") + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + return_value=mock_pipeline, + create=True, + ): + with pytest.raises(TranscriptionError) as exc_info: + diarize("/path/to/audio.m4a") + assert "diarization failed" in str(exc_info.value) + + def test_uses_correct_model_name(self, monkeypatch, mock_load_audio): + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_diarization = MockDiarization([]) + mock_pipeline = MagicMock() + mock_pipeline.return_value = mock_diarization + mock_from_pretrained = MagicMock(return_value=mock_pipeline) + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + mock_from_pretrained, + create=True, + ): + diarize("/path/to/audio.m4a") + + call_args = mock_from_pretrained.call_args + assert call_args[0][0] == "pyannote/speaker-diarization-3.1" + assert call_args[1]["token"] == "test-token" + + def test_loads_audio_with_torchaudio(self, monkeypatch, mock_load_audio): + """Verify audio is pre-loaded via torchaudio to bypass torchcodec.""" + monkeypatch.setenv("HF_TOKEN", "test-token") + mock_diarization = MockDiarization([]) + mock_pipeline = MagicMock() + mock_pipeline.return_value = mock_diarization + + with patch( + "pyannote.audio.Pipeline.from_pretrained", + return_value=mock_pipeline, + create=True, + ): + diarize("/path/to/audio.m4a") + + mock_load_audio.assert_called_once_with("/path/to/audio.m4a") + call_args = mock_pipeline.call_args[0][0] + assert "waveform" in call_args + assert "sample_rate" in call_args diff --git a/uv-global/whisp/errors.py b/uv-global/whisp/errors.py new file mode 100644 index 00000000..aa693ecd --- /dev/null +++ b/uv-global/whisp/errors.py @@ -0,0 +1,33 @@ +"""Error types for whisp with POSIX exit codes.""" + + +class WhispError(Exception): + exit_code: int = 1 + + def __init__(self, message: str) -> None: + super().__init__(message) + self.message = message + + +class InvalidArgumentsError(WhispError): + exit_code = 2 + + +class FileNotFoundError(WhispError): + exit_code = 10 + + +class UnsupportedFormatError(WhispError): + exit_code = 11 + + +class ModelLoadError(WhispError): + exit_code = 20 + + +class TranscriptionError(WhispError): + exit_code = 30 + + +class HFTokenMissingError(WhispError): + exit_code = 31 diff --git a/uv-global/whisp/filename.py b/uv-global/whisp/filename.py new file mode 100644 index 00000000..efb407a2 --- /dev/null +++ b/uv-global/whisp/filename.py @@ -0,0 +1,38 @@ +"""Output filename generation for whisp transcripts.""" + +from __future__ import annotations + +import os +import re +from datetime import datetime +from pathlib import Path + + +def get_source_timestamp(path: str | Path) -> datetime: + """Get file modification time as datetime. + + Falls back to current time if mtime unavailable. + """ + try: + mtime = os.path.getmtime(path) + return datetime.fromtimestamp(mtime) + except OSError: + return datetime.now() + + +def sanitize_filename(name: str) -> str: + """Remove or replace characters unsafe for filenames.""" + unsafe = re.sub(r'[<>:"/\\|?*]', "", name) + return unsafe.strip() + + +def make_output_filename(source_path: str | Path, timestamp: datetime) -> str: + """Generate commonplace-compliant output filename. + + Format: YYYY-MM-DDTHH-MM <original-name> -- source__transcript.md + """ + source = Path(source_path) + original_name = sanitize_filename(source.stem) + ts_str = timestamp.strftime("%Y-%m-%dT%H-%M") + + return f"{ts_str} {original_name} -- source__transcript.md" diff --git a/uv-global/whisp/filename_test.py b/uv-global/whisp/filename_test.py new file mode 100644 index 00000000..ec6d7100 --- /dev/null +++ b/uv-global/whisp/filename_test.py @@ -0,0 +1,80 @@ +"""Tests for filename module.""" + +import tempfile +from datetime import datetime +from pathlib import Path + +import pytest + +from whisp.filename import get_source_timestamp, make_output_filename, sanitize_filename + + +class TestGetSourceTimestamp: + """Tests for get_source_timestamp function.""" + + def test_returns_datetime_from_existing_file(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(b"test") + f.flush() + result = get_source_timestamp(f.name) + assert isinstance(result, datetime) + Path(f.name).unlink() + + def test_nonexistent_file_returns_now(self): + before = datetime.now() + result = get_source_timestamp("/nonexistent/path/file.m4a") + after = datetime.now() + assert before <= result <= after + + def test_accepts_path_object(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(b"test") + f.flush() + result = get_source_timestamp(Path(f.name)) + assert isinstance(result, datetime) + Path(f.name).unlink() + + +class TestSanitizeFilename: + """Tests for sanitize_filename function.""" + + def test_removes_unsafe_characters(self): + assert sanitize_filename('file<>:"/\\|?*name') == "filename" + + def test_preserves_safe_characters(self): + assert sanitize_filename("my-file_name.test") == "my-file_name.test" + + def test_strips_whitespace(self): + assert sanitize_filename(" filename ") == "filename" + + def test_empty_string(self): + assert sanitize_filename("") == "" + + +class TestMakeOutputFilename: + """Tests for make_output_filename function.""" + + def test_basic_format(self): + ts = datetime(2026, 1, 17, 14, 30) + result = make_output_filename("recording.m4a", ts) + assert result == "2026-01-17T14-30 recording -- source__transcript.md" + + def test_preserves_original_name(self): + ts = datetime(2026, 1, 17, 14, 30) + result = make_output_filename("my podcast episode.mp3", ts) + assert result == "2026-01-17T14-30 my podcast episode -- source__transcript.md" + + def test_sanitizes_unsafe_chars(self): + ts = datetime(2026, 1, 17, 14, 30) + result = make_output_filename('file:with"bad*chars.m4a', ts) + assert result == "2026-01-17T14-30 filewithbadchars -- source__transcript.md" + + def test_handles_path_object(self): + ts = datetime(2026, 1, 17, 14, 30) + result = make_output_filename(Path("/some/path/audio.m4a"), ts) + assert result == "2026-01-17T14-30 audio -- source__transcript.md" + + def test_strips_extension(self): + ts = datetime(2026, 1, 17, 14, 30) + result = make_output_filename("file.tar.gz", ts) + assert result == "2026-01-17T14-30 file.tar -- source__transcript.md" diff --git a/uv-global/whisp/format_md.py b/uv-global/whisp/format_md.py new file mode 100644 index 00000000..ac48882c --- /dev/null +++ b/uv-global/whisp/format_md.py @@ -0,0 +1,90 @@ +"""Markdown rendering for whisp transcripts.""" + +from __future__ import annotations + +from pathlib import Path + +from whisp.models import Transcript, SpeakerTurn +from whisp.timefmt import format_duration, format_timestamp + + +def render(transcript: Transcript, single_speaker: bool = False) -> str: + """Render transcript as commonplace-compatible markdown. + + Args: + transcript: Transcript data to render + single_speaker: If True, omit speaker labels (--speakers 1 mode) + + Returns: + Markdown string with YAML frontmatter and formatted transcript + """ + lines: list[str] = [] + + lines.append(_render_frontmatter(transcript, single_speaker)) + lines.append("") + lines.append(_render_header(transcript)) + lines.append("") + lines.append(_render_body(transcript, single_speaker)) + + return "\n".join(lines) + + +def _render_frontmatter(transcript: Transcript, single_speaker: bool) -> str: + """Render YAML frontmatter.""" + source_name = Path(transcript.source).name + duration_str = format_duration(transcript.duration) + transcribed_str = transcript.transcribed_at.strftime("%Y-%m-%dT%H:%M:%SZ") + + lines = [ + "---", + f"source: ./{source_name}", + f"duration: {duration_str}", + ] + + if single_speaker: + lines.append("speakers: []") + else: + lines.append("speakers:") + for speaker in transcript.speakers: + lines.append(f" - {speaker}") + + lines.extend([ + f"model: {transcript.model}", + f"transcribed: {transcribed_str}", + "---", + ]) + + return "\n".join(lines) + + +def _render_header(transcript: Transcript) -> str: + """Render markdown header.""" + source_name = Path(transcript.source).name + return f"# transcript: {source_name}" + + +def _render_body(transcript: Transcript, single_speaker: bool) -> str: + """Render transcript body with speaker turns.""" + if not transcript.turns: + return "[...silence]" + + paragraphs: list[str] = [] + + for turn in transcript.turns: + paragraph = _render_turn(turn, transcript.duration, single_speaker) + paragraphs.append(paragraph) + + return "\n\n".join(paragraphs) + + +def _render_turn( + turn: SpeakerTurn, audio_duration: float, single_speaker: bool +) -> str: + """Render a single speaker turn as a paragraph.""" + timestamp = format_timestamp(turn.start_time, audio_duration) + text = " ".join(word.text for word in turn.words) + + if single_speaker: + return f"**{timestamp}** {text}" + else: + return f"**{timestamp}** {turn.speaker}: {text}" diff --git a/uv-global/whisp/format_md_test.py b/uv-global/whisp/format_md_test.py new file mode 100644 index 00000000..5b802d8e --- /dev/null +++ b/uv-global/whisp/format_md_test.py @@ -0,0 +1,150 @@ +"""Tests for format_md module.""" + +from datetime import datetime + +import pytest +import yaml + +from whisp.models import Word, SpeakerTurn, Transcript +from whisp.format_md import render + + +def make_transcript( + turns: list[SpeakerTurn] | None = None, + speakers: list[str] | None = None, + duration: float = 300.0, +) -> Transcript: + """Helper to create test transcripts.""" + return Transcript( + source="/path/to/recording.m4a", + duration=duration, + speakers=speakers or [], + model="large-v3", + turns=turns or [], + transcribed_at=datetime(2026, 1, 17, 14, 30, 0), + ) + + +class TestRenderFrontmatter: + """Tests for YAML frontmatter rendering.""" + + def test_frontmatter_is_valid_yaml(self): + transcript = make_transcript(speakers=["SPEAKER_00", "SPEAKER_01"]) + result = render(transcript) + frontmatter = result.split("---")[1] + parsed = yaml.safe_load(frontmatter) + assert parsed["source"] == "./recording.m4a" + assert parsed["duration"] == "5m" + assert parsed["speakers"] == ["SPEAKER_00", "SPEAKER_01"] + assert parsed["model"] == "large-v3" + + def test_single_speaker_mode_empty_speakers(self): + transcript = make_transcript(speakers=["SPEAKER_00"]) + result = render(transcript, single_speaker=True) + frontmatter = result.split("---")[1] + parsed = yaml.safe_load(frontmatter) + assert parsed["speakers"] == [] + + def test_transcribed_timestamp_format(self): + transcript = make_transcript() + result = render(transcript) + assert "transcribed: 2026-01-17T14:30:00Z" in result + + +class TestRenderHeader: + """Tests for header rendering.""" + + def test_header_includes_filename(self): + transcript = make_transcript() + result = render(transcript) + assert "# transcript: recording.m4a" in result + + +class TestRenderBody: + """Tests for body rendering.""" + + def test_empty_transcript_shows_silence(self): + transcript = make_transcript() + result = render(transcript) + assert "[...silence]" in result + + def test_single_turn_multi_speaker(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("world", 0.6, 1.0, "SPEAKER_00"), + ] + turn = SpeakerTurn("SPEAKER_00", 0.0, words) + transcript = make_transcript(turns=[turn], speakers=["SPEAKER_00"]) + result = render(transcript) + assert "**[00:00]** SPEAKER_00: hello world" in result + + def test_single_speaker_mode_no_labels(self): + words = [Word("hello", 0.0, 0.5, "SPEAKER_00")] + turn = SpeakerTurn("SPEAKER_00", 0.0, words) + transcript = make_transcript(turns=[turn], speakers=["SPEAKER_00"]) + result = render(transcript, single_speaker=True) + assert "**[00:00]** hello" in result + assert "SPEAKER_00:" not in result + + def test_unknown_speaker_label_shown(self): + words = [Word("orphan", 0.0, 0.5, None)] + turn = SpeakerTurn("UNKNOWN", 0.0, words) + transcript = make_transcript(turns=[turn], speakers=["UNKNOWN"]) + result = render(transcript) + assert "**[00:00]** UNKNOWN: orphan" in result + + def test_multiple_turns_separated_by_blank_line(self): + turn1 = SpeakerTurn("SPEAKER_00", 0.0, [Word("first", 0.0, 0.5)]) + turn2 = SpeakerTurn("SPEAKER_01", 14.0, [Word("second", 14.0, 14.5)]) + transcript = make_transcript( + turns=[turn1, turn2], + speakers=["SPEAKER_00", "SPEAKER_01"], + ) + result = render(transcript) + assert "**[00:00]** SPEAKER_00: first" in result + assert "**[00:14]** SPEAKER_01: second" in result + lines = result.split("\n") + turn_indices = [i for i, line in enumerate(lines) if line.startswith("**")] + assert len(turn_indices) == 2 + assert turn_indices[1] - turn_indices[0] == 2 + + def test_long_audio_uses_hhmmss_format(self): + words = [Word("late", 4805.0, 4806.0)] + turn = SpeakerTurn("SPEAKER_00", 4805.0, words) + transcript = make_transcript(turns=[turn], duration=7200.0) + result = render(transcript) + assert "**[01:20:05]**" in result + + +class TestRenderIntegration: + """Integration tests for full render output.""" + + def test_complete_multi_speaker_transcript(self): + turns = [ + SpeakerTurn( + "SPEAKER_00", + 0.0, + [Word("hello", 0.0, 0.5, "SPEAKER_00")], + ), + SpeakerTurn( + "SPEAKER_01", + 14.0, + [ + Word("hi", 14.0, 14.3, "SPEAKER_01"), + Word("there", 14.4, 14.8, "SPEAKER_01"), + ], + ), + ] + transcript = make_transcript( + turns=turns, + speakers=["SPEAKER_00", "SPEAKER_01"], + duration=342.0, + ) + result = render(transcript) + + assert "---" in result + assert "source: ./recording.m4a" in result + assert "duration: 5m 42s" in result + assert "# transcript: recording.m4a" in result + assert "**[00:00]** SPEAKER_00: hello" in result + assert "**[00:14]** SPEAKER_01: hi there" in result diff --git a/uv-global/whisp/integration_test.py b/uv-global/whisp/integration_test.py new file mode 100644 index 00000000..c4a3b5a9 --- /dev/null +++ b/uv-global/whisp/integration_test.py @@ -0,0 +1,266 @@ +"""Integration tests for whisp end-to-end pipeline.""" + +from __future__ import annotations + +import os +import tempfile +from datetime import datetime +from pathlib import Path +from unittest.mock import patch, MagicMock + +import pytest + +from whisp.cli import main +from whisp.models import Word + + +class MockDiarization: + def __init__(self, tracks: list[tuple[float, float, str]]): + self.tracks = tracks + + def itertracks(self, yield_label: bool = False): + for start, end, label in self.tracks: + segment = MagicMock() + segment.start = start + segment.end = end + yield segment, None, label + + +@pytest.fixture +def audio_file(tmp_path): + """Create a fake audio file for testing.""" + audio = tmp_path / "test-recording.mp3" + audio.write_bytes(b"fake audio content") + return audio + + +@pytest.fixture +def mock_pipeline(): + """Mock the entire ML pipeline.""" + with patch("whisp.validate.validate_ffmpeg_decodable"), \ + patch("whisp.transcribe_fw.transcribe") as transcribe, \ + patch("whisp.transcribe_fw.detect_device") as detect_device, \ + patch("whisp.transcribe_fw.get_default_model") as get_default_model, \ + patch("whisp.diarize_pyannote.diarize") as diarize: + + detect_device.return_value = "cpu" + get_default_model.return_value = ("medium", "int8") + + transcribe.return_value = ( + [ + Word(text="Hello", start=0.0, end=0.5), + Word(text="everyone", start=0.6, end=1.2), + Word(text="welcome", start=2.0, end=2.5), + Word(text="to", start=2.6, end=2.7), + Word(text="the", start=2.8, end=2.9), + Word(text="show", start=3.0, end=3.5), + ], + 10.0, + ) + + diarize.return_value = MockDiarization([ + (0.0, 1.5, "SPEAKER_00"), + (1.8, 5.0, "SPEAKER_01"), + ]) + + yield { + "transcribe": transcribe, + "diarize": diarize, + } + + +class TestFullPipeline: + def test_stdout_output(self, audio_file, mock_pipeline, capsys): + result = main([str(audio_file)]) + + assert result == 0 + captured = capsys.readouterr() + output = captured.out + + assert "---" in output + assert "source: ./test-recording.mp3" in output + assert "duration: 10s" in output + assert "SPEAKER_00" in output + assert "SPEAKER_01" in output + assert "Hello everyone" in output + assert "welcome to the show" in output + + def test_file_output(self, audio_file, mock_pipeline, tmp_path): + output_file = tmp_path / "transcript.md" + result = main([str(audio_file), "-o", str(output_file)]) + + assert result == 0 + assert output_file.exists() + content = output_file.read_text() + assert "# transcript: test-recording.mp3" in content + + def test_directory_output_uses_suggested_filename(self, audio_file, mock_pipeline, tmp_path): + output_dir = tmp_path / "transcripts" + output_dir.mkdir() + + result = main([str(audio_file), "-o", str(output_dir)]) + + assert result == 0 + files = list(output_dir.iterdir()) + assert len(files) == 1 + assert "test-recording" in files[0].name + assert "source__transcript.md" in files[0].name + + def test_single_speaker_mode(self, audio_file, mock_pipeline, capsys): + result = main([str(audio_file), "-s", "1"]) + + assert result == 0 + captured = capsys.readouterr() + output = captured.out + + assert "speakers: []" in output + assert "SPEAKER_00" not in output + assert "SPEAKER_01" not in output + mock_pipeline["diarize"].assert_not_called() + + def test_verbose_mode(self, audio_file, mock_pipeline, capsys): + result = main([str(audio_file), "-v"]) + + assert result == 0 + captured = capsys.readouterr() + assert "processing:" in captured.err + assert "complete:" in captured.err + + def test_suggest_filename(self, audio_file, mock_pipeline, capsys): + result = main([str(audio_file), "--suggest-filename"]) + + assert result == 0 + captured = capsys.readouterr() + assert "test-recording" in captured.err + assert "source__transcript.md" in captured.err + + +class TestGracefulDegradation: + def test_diarization_failure_continues(self, audio_file, capsys): + from whisp.errors import TranscriptionError + + with patch("whisp.validate.validate_ffmpeg_decodable"), \ + patch("whisp.transcribe_fw.transcribe") as transcribe, \ + patch("whisp.transcribe_fw.detect_device") as dd, \ + patch("whisp.transcribe_fw.get_default_model") as gdm, \ + patch("whisp.diarize_pyannote.diarize") as diarize: + + dd.return_value = "cpu" + gdm.return_value = ("medium", "int8") + transcribe.return_value = ( + [Word(text="test", start=0.0, end=0.5)], + 1.0, + ) + diarize.side_effect = TranscriptionError("diarization failed") + + result = main([str(audio_file)]) + + assert result == 0 + captured = capsys.readouterr() + assert "UNKNOWN" in captured.out + assert "warning:" in captured.err + + def test_hf_token_missing_continues(self, audio_file, capsys): + from whisp.errors import HFTokenMissingError + + with patch("whisp.validate.validate_ffmpeg_decodable"), \ + patch("whisp.transcribe_fw.transcribe") as transcribe, \ + patch("whisp.transcribe_fw.detect_device") as dd, \ + patch("whisp.transcribe_fw.get_default_model") as gdm, \ + patch("whisp.diarize_pyannote.diarize") as diarize: + + dd.return_value = "cpu" + gdm.return_value = ("medium", "int8") + transcribe.return_value = ( + [Word(text="test", start=0.0, end=0.5)], + 1.0, + ) + diarize.side_effect = HFTokenMissingError("no token") + + result = main([str(audio_file)]) + + assert result == 0 + captured = capsys.readouterr() + assert "UNKNOWN" in captured.out + + +class TestStrictMode: + def test_strict_mode_fails_on_diarization_error(self, audio_file, capsys): + from whisp.errors import TranscriptionError + + with patch("whisp.validate.validate_ffmpeg_decodable"), \ + patch("whisp.transcribe_fw.transcribe") as transcribe, \ + patch("whisp.transcribe_fw.detect_device") as dd, \ + patch("whisp.transcribe_fw.get_default_model") as gdm, \ + patch("whisp.diarize_pyannote.diarize") as diarize: + + dd.return_value = "cpu" + gdm.return_value = ("medium", "int8") + transcribe.return_value = ( + [Word(text="test", start=0.0, end=0.5)], + 1.0, + ) + diarize.side_effect = TranscriptionError("diarization failed") + + result = main([str(audio_file), "--strict"]) + + assert result == 30 + captured = capsys.readouterr() + assert "error:" in captured.err + + +class TestErrorHandling: + def test_missing_file_returns_exit_code(self, capsys): + result = main(["/nonexistent/audio.mp3"]) + + assert result == 10 + captured = capsys.readouterr() + assert "error:" in captured.err + assert "not found" in captured.err.lower() + + def test_unsupported_format(self, tmp_path, capsys): + from whisp.errors import UnsupportedFormatError + + bad_file = tmp_path / "notaudio.txt" + bad_file.write_text("not audio") + + with patch("whisp.validate.validate_ffmpeg_decodable") as vfd: + vfd.side_effect = UnsupportedFormatError("unsupported format") + + result = main([str(bad_file)]) + + assert result == 11 + captured = capsys.readouterr() + assert "unsupported" in captured.err.lower() + + +class TestOutputFormat: + def test_yaml_frontmatter_structure(self, audio_file, mock_pipeline, capsys): + main([str(audio_file)]) + + captured = capsys.readouterr() + lines = captured.out.strip().split("\n") + + assert lines[0] == "---" + frontmatter_end = lines.index("---", 1) + assert frontmatter_end > 1 + + frontmatter = "\n".join(lines[1:frontmatter_end]) + assert "source:" in frontmatter + assert "duration:" in frontmatter + assert "speakers:" in frontmatter + assert "model:" in frontmatter + assert "transcribed:" in frontmatter + + def test_header_format(self, audio_file, mock_pipeline, capsys): + main([str(audio_file)]) + + captured = capsys.readouterr() + assert "# transcript: test-recording.mp3" in captured.out + + def test_speaker_turn_format(self, audio_file, mock_pipeline, capsys): + main([str(audio_file)]) + + captured = capsys.readouterr() + assert "**[00:00]** SPEAKER_00:" in captured.out + assert "**[00:02]** SPEAKER_01:" in captured.out diff --git a/uv-global/whisp/io.py b/uv-global/whisp/io.py new file mode 100644 index 00000000..3dace73f --- /dev/null +++ b/uv-global/whisp/io.py @@ -0,0 +1,63 @@ +"""I/O utilities for whisp.""" + +from __future__ import annotations + +import os +import sys +import tempfile +from pathlib import Path + + +def write_stdout(content: str) -> None: + """Write content to stdout. + + Args: + content: Content to write + """ + sys.stdout.write(content) + if not content.endswith("\n"): + sys.stdout.write("\n") + sys.stdout.flush() + + +def atomic_write( + path: str | Path, + content: str, + keep_partial: bool = False, +) -> None: + """Write content to file atomically. + + Uses temp file + rename to avoid partial writes on failure. + + Args: + path: Destination file path + content: Content to write + keep_partial: If True, keep .partial file on failure + + Raises: + OSError: Failed to write file + """ + dest = Path(path) + dest.parent.mkdir(parents=True, exist_ok=True) + + temp_path = None + try: + fd, temp_path = tempfile.mkstemp( + dir=dest.parent, + prefix=f".{dest.name}.", + suffix=".tmp", + ) + with os.fdopen(fd, "w") as f: + f.write(content) + + os.replace(temp_path, dest) + temp_path = None + + except Exception: + if temp_path and os.path.exists(temp_path): + if keep_partial: + partial_path = dest.with_suffix(dest.suffix + ".partial") + os.replace(temp_path, partial_path) + else: + os.unlink(temp_path) + raise diff --git a/uv-global/whisp/io_test.py b/uv-global/whisp/io_test.py new file mode 100644 index 00000000..02f304a7 --- /dev/null +++ b/uv-global/whisp/io_test.py @@ -0,0 +1,123 @@ +"""Tests for io module.""" + +import tempfile +from io import StringIO +from pathlib import Path +from unittest.mock import patch + +import pytest + +from whisp.io import write_stdout, atomic_write + + +class TestWriteStdout: + """Tests for write_stdout function.""" + + def test_writes_content_to_stdout(self): + output = StringIO() + with patch("sys.stdout", output): + write_stdout("hello world") + assert output.getvalue() == "hello world\n" + + def test_adds_newline_if_missing(self): + output = StringIO() + with patch("sys.stdout", output): + write_stdout("no newline") + assert output.getvalue().endswith("\n") + + def test_does_not_duplicate_newline(self): + output = StringIO() + with patch("sys.stdout", output): + write_stdout("has newline\n") + assert output.getvalue() == "has newline\n" + + +class TestAtomicWrite: + """Tests for atomic_write function.""" + + def test_writes_content_to_file(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + atomic_write(path, "test content") + assert path.read_text() == "test content" + + def test_creates_parent_directories(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "nested" / "deep" / "output.txt" + atomic_write(path, "nested content") + assert path.read_text() == "nested content" + + def test_overwrites_existing_file(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + path.write_text("original") + atomic_write(path, "updated") + assert path.read_text() == "updated" + + def test_no_partial_file_on_success(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + atomic_write(path, "content") + files = list(Path(tmpdir).iterdir()) + assert len(files) == 1 + assert files[0].name == "output.txt" + + def test_no_temp_file_on_success(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + atomic_write(path, "content") + temp_files = list(Path(tmpdir).glob(".*")) + assert len(temp_files) == 0 + + def test_no_partial_without_keep_partial(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + path_str = str(path) + + class WriteError(Exception): + pass + + def failing_write(*args, **kwargs): + raise WriteError("write failed") + + with patch("whisp.io.os.fdopen", side_effect=failing_write): + with pytest.raises(WriteError): + atomic_write(path, "content", keep_partial=False) + + files = list(Path(tmpdir).iterdir()) + assert len(files) == 0 + + def test_keeps_partial_file_on_failure(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + + class WriteError(Exception): + pass + + original_fdopen = __import__("os").fdopen + + def failing_fdopen(fd, mode): + f = original_fdopen(fd, mode) + f.write("partial content") + f.flush() + raise WriteError("write failed") + + with patch("whisp.io.os.fdopen", side_effect=failing_fdopen): + with pytest.raises(WriteError): + atomic_write(path, "full content", keep_partial=True) + + partial_files = list(Path(tmpdir).glob("*.partial")) + assert len(partial_files) == 1 + assert partial_files[0].read_text() == "partial content" + + def test_accepts_path_object(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = Path(tmpdir) / "output.txt" + atomic_write(path, "path object") + assert path.read_text() == "path object" + + def test_accepts_string_path(self): + with tempfile.TemporaryDirectory() as tmpdir: + path = str(Path(tmpdir) / "output.txt") + atomic_write(path, "string path") + assert Path(path).read_text() == "string path" diff --git a/uv-global/whisp/models.py b/uv-global/whisp/models.py new file mode 100644 index 00000000..e3501dae --- /dev/null +++ b/uv-global/whisp/models.py @@ -0,0 +1,29 @@ +"""Data models for whisp transcription output.""" + +from dataclasses import dataclass +from datetime import datetime + + +@dataclass +class Word: + text: str + start: float + end: float + speaker: str | None = None + + +@dataclass +class SpeakerTurn: + speaker: str + start_time: float + words: list[Word] + + +@dataclass +class Transcript: + source: str + duration: float + speakers: list[str] + model: str + turns: list[SpeakerTurn] + transcribed_at: datetime diff --git a/uv-global/whisp/py.typed b/uv-global/whisp/py.typed new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/uv-global/whisp/py.typed @@ -0,0 +1 @@ + diff --git a/uv-global/whisp/scripts/ralph/parent-task-id.txt b/uv-global/whisp/scripts/ralph/parent-task-id.txt new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/uv-global/whisp/scripts/ralph/parent-task-id.txt @@ -0,0 +1 @@ +1 diff --git a/uv-global/whisp/scripts/ralph/progress.txt b/uv-global/whisp/scripts/ralph/progress.txt new file mode 100644 index 00000000..0853fa3e --- /dev/null +++ b/uv-global/whisp/scripts/ralph/progress.txt @@ -0,0 +1,227 @@ +# Build Progress Log +Started: 2026-01-17 +Feature: whisp - audio to markdown transcription +Parent Task: 1 + +## Task Dependency Graph + +``` +P0 (2) ─┬─► P1a (3) ─┐ + ├─► P1b (4) ─┤ + ├─► P1c (5) ─┤ + ├─► P1d (6) ─┼─► P4 (12) ─► P5 (13) ─► P6 (14) + ├─► P1e (7) ─┤ + ├─► P2a (8) ─┤ + ├─► P2b (9) ─┤ + ├─► P3a (10)─┤ + └─► P3b (11)─┘ +``` + +execution order: 2 → (3,4,5,6,7,8,9,10,11 parallel) → 12 → 13 → 14 + +## Codebase Patterns +(patterns discovered during this feature build) + +- flat layout: whisp/ is directly under uv-global/, NOT uv-global/whisp/whisp/ +- pyproject.toml lives in uv-global/, uses `packages = ["whisp"]` in hatch config + +--- + +## 2026-01-17 - P0: package skeleton ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5b-37a7-75a9-9c87-a6ae489f4d11 +Task ID: 2 +- implemented package skeleton with all required files +- files created: + - whisp/__init__.py (version='0.1.0', __all__ exports) + - whisp/__main__.py (stub main()) + - whisp/py.typed (PEP 561 marker) + - whisp/models.py (Word, SpeakerTurn, Transcript dataclasses) + - whisp/errors.py (WhispError base + 6 subclasses with exit codes) +- **Learnings for future iterations:** + - package lives at uv-global/whisp/, not nested uv-global/whisp/whisp/ + - pyproject.toml is in parent dir (uv-global/), not whisp/ + - uv run whisp works immediately after file creation (editable install) + - task_list tool not available in context; track completion in progress.txt +--- + +## 2026-01-17 - P1a: timefmt.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 3 +- implemented timefmt.py with format_timestamp and format_duration +- files created: + - whisp/timefmt.py + - whisp/timefmt_test.py (17 tests, all passing) +- updated __init__.py exports +- **Learnings:** + - no type checker (pyright/mypy) installed; rely on pytest + python -c imports +--- + +## 2026-01-17 - P1b: filename.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 4 +- implemented filename.py with get_source_timestamp, sanitize_filename, make_output_filename +- format: YYYY-MM-DDTHH-MM <original-name> -- source__transcript.md +- files created: + - whisp/filename.py + - whisp/filename_test.py (12 tests, all passing) +- updated __init__.py exports +--- + +## 2026-01-17 - P1c: segment.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 5 +- implemented segment.py with words_to_turns function +- breaks on speaker change OR gap > threshold (default 1.5s) +- None speakers mapped to UNKNOWN +- files created: + - whisp/segment.py + - whisp/segment_test.py (10 tests, all passing) +- updated __init__.py exports +--- + +## 2026-01-17 - P1d: align.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 6 +- implemented align.py with assign_speakers function +- midpoint assignment: word → speaker whose segment contains word midpoint +- no match → UNKNOWN +- uses dataclasses.replace() to avoid mutation +- files created: + - whisp/align.py + - whisp/align_test.py (10 tests with MockDiarization, all passing) +- updated __init__.py exports +--- + +## 2026-01-17 - P1e: format_md.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 7 +- implemented format_md.py with render function +- YAML frontmatter with source, duration, speakers, model, transcribed +- single_speaker mode: empty speakers list, no labels in body +- empty audio: [...silence] +- UNKNOWN labels shown for diarization failure +- files created: + - whisp/format_md.py + - whisp/format_md_test.py (11 tests, all passing) +- updated __init__.py exports +- total tests: 60 passing +--- + +## 2026-01-17 - P2a: transcribe_fw.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 8 +- implemented faster-whisper adapter +- detect_device: cuda if available, else cpu (mps → cpu) +- get_default_model: cuda → large-v3/float16, cpu → medium/int8 +- transcribe: always word_timestamps=True, returns (words, duration) +- proper error wrapping: ModelLoadError, TranscriptionError +- files created: + - whisp/transcribe_fw.py + - whisp/transcribe_fw_test.py (13 tests, mocked faster_whisper) +- **Learnings:** + - mock faster_whisper.WhisperModel with create=True (import inside function) +--- + +## 2026-01-17 - P2b: diarize_pyannote.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 9 +- implemented pyannote diarization adapter +- check_hf_token: checks HF_TOKEN or HUGGING_FACE_HUB_TOKEN, raises HFTokenMissingError +- diarize: loads pyannote/speaker-diarization-3.1, supports speakers_hint +- files created: + - whisp/diarize_pyannote.py + - whisp/diarize_pyannote_test.py (11 tests, mocked pyannote.audio.Pipeline) +- **Learnings:** + - pyannote.audio imported lazily; mock with create=True + - torchcodec warning in tests (ffmpeg not linked) — doesn't affect mocked tests +--- + +## 2026-01-17 - P3a: validate.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 10 +- implemented validate.py +- validate_file_exists: checks existence + is_file, returns resolved Path +- validate_ffmpeg_decodable: runs ffprobe, handles missing ffprobe/timeout +- files created: + - whisp/validate.py + - whisp/validate_test.py (10 tests, all passing) +- **Learnings:** + - whisp.errors.FileNotFoundError shadows builtin; use OSError with errno check for subprocess errors +--- + +## 2026-01-17 - P3b: io.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce5d-3029-7608-81a8-82deb2dc4257 +Task ID: 11 +- implemented io.py +- write_stdout: writes to stdout with newline handling +- atomic_write: temp file + rename, optional .partial on failure +- files created: + - whisp/io.py + - whisp/io_test.py (12 tests, all passing) +- total tests: 106 passing +--- + +## 2026-01-18 - P4: app.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce6a-5cc0-7033-8566-7bf4736076bb +Task ID: 12 +- implemented app.py orchestration module +- run(file, options) -> (markdown, suggested_filename) +- graceful degradation: diarization failure → warn stderr, UNKNOWN labels +- strict mode: component failure → re-raise with exit code +- verbose mode: progress messages to stderr +- single speaker mode: skips diarization, empty speakers list +- files created: + - whisp/app.py (run, Options, _try_diarize, _mark_unknown, _extract_speakers) + - whisp/app_test.py (29 tests, all passing) +- updated __init__.py: exports run, Options +- total tests: 135 passing +--- + +## 2026-01-18 - P5: cli.py ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce6a-5cc0-7033-8566-7bf4736076bb +Task ID: 13 +- implemented cli.py with argparse +- arguments: file (positional), -o/--output, -m/--model, -l/--language, -s/--speakers +- flags: --strict, -v/--verbose, --version, --suggest-filename +- output to stdout by default, file with -o (directory uses suggested filename) +- error handling: WhispError → stderr + exit code +- files created: + - whisp/cli.py (build_parser, main) + - whisp/cli_test.py (24 tests, all passing) +- updated __main__.py: delegates to cli.main() +- total tests: 159 passing +--- + +## 2026-01-18 - P6: integration tests ✅ COMPLETED +Thread: https://ampcode.com/threads/T-019bce6a-5cc0-7033-8566-7bf4736076bb +Task ID: 14 +- implemented integration_test.py with end-to-end pipeline tests +- TestFullPipeline: stdout, file output, directory output, single speaker, verbose +- TestGracefulDegradation: diarization failure, HF token missing +- TestStrictMode: fails on diarization error +- TestErrorHandling: missing file, unsupported format +- TestOutputFormat: frontmatter structure, header, speaker turns +- files created: + - whisp/integration_test.py (14 tests, all passing) +- total tests: 173 passing + +## FEATURE COMPLETE 🎉 +All tasks (2-14) completed. whisp v0.1.0 ready for use. +--- + +## 2026-01-18 - Post-release fixes +Thread: https://ampcode.com/threads/T-019bce6a-5cc0-7033-8566-7bf4736076bb + +### fix: pyannote API compatibility +- use `token=` instead of deprecated `use_auth_token=` +- pre-load audio with torchaudio to bypass broken torchcodec (ffmpeg 8 incompatible) +- extract `.speaker_diarization` from DiarizeOutput (pyannote 3.x API change) +- add HF_TOKEN export to shell.nix + +### pyannote gated models (user must accept licenses): +- pyannote/speaker-diarization-3.1 +- pyannote/segmentation-3.0 +- pyannote/speaker-diarization-community-1 + +### 174 tests passing, diarization verified with real audio +--- diff --git a/uv-global/whisp/segment.py b/uv-global/whisp/segment.py new file mode 100644 index 00000000..ab8d8762 --- /dev/null +++ b/uv-global/whisp/segment.py @@ -0,0 +1,54 @@ +"""Word segmentation into speaker turns for whisp.""" + +from __future__ import annotations + +from whisp.models import Word, SpeakerTurn + + +def words_to_turns( + words: list[Word], gap_threshold: float = 1.5 +) -> list[SpeakerTurn]: + """Group words into speaker turns. + + A new turn starts when: + 1. Speaker changes, OR + 2. Gap between consecutive words > gap_threshold seconds + """ + if not words: + return [] + + turns: list[SpeakerTurn] = [] + current_speaker = words[0].speaker or "UNKNOWN" + current_start = words[0].start + current_words: list[Word] = [words[0]] + + for i, word in enumerate(words[1:], start=1): + prev_word = words[i - 1] + word_speaker = word.speaker or "UNKNOWN" + gap = word.start - prev_word.end + + should_break = word_speaker != current_speaker or gap > gap_threshold + + if should_break: + turns.append( + SpeakerTurn( + speaker=current_speaker, + start_time=current_start, + words=current_words, + ) + ) + current_speaker = word_speaker + current_start = word.start + current_words = [word] + else: + current_words.append(word) + + turns.append( + SpeakerTurn( + speaker=current_speaker, + start_time=current_start, + words=current_words, + ) + ) + + return turns diff --git a/uv-global/whisp/segment_test.py b/uv-global/whisp/segment_test.py new file mode 100644 index 00000000..69e9a0c6 --- /dev/null +++ b/uv-global/whisp/segment_test.py @@ -0,0 +1,109 @@ +"""Tests for segment module.""" + +import pytest + +from whisp.models import Word, SpeakerTurn +from whisp.segment import words_to_turns + + +class TestWordsToTurns: + """Tests for words_to_turns function.""" + + def test_empty_words_returns_empty(self): + assert words_to_turns([]) == [] + + def test_single_word_returns_single_turn(self): + words = [Word("hello", 0.0, 0.5, "SPEAKER_00")] + turns = words_to_turns(words) + assert len(turns) == 1 + assert turns[0].speaker == "SPEAKER_00" + assert turns[0].start_time == 0.0 + assert len(turns[0].words) == 1 + + def test_same_speaker_continuous_speech(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("world", 0.6, 1.0, "SPEAKER_00"), + Word("test", 1.1, 1.5, "SPEAKER_00"), + ] + turns = words_to_turns(words) + assert len(turns) == 1 + assert turns[0].speaker == "SPEAKER_00" + assert len(turns[0].words) == 3 + + def test_speaker_change_creates_new_turn(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("hi", 0.6, 1.0, "SPEAKER_01"), + ] + turns = words_to_turns(words) + assert len(turns) == 2 + assert turns[0].speaker == "SPEAKER_00" + assert turns[1].speaker == "SPEAKER_01" + + def test_gap_exceeds_threshold_creates_new_turn(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("pause", 3.0, 3.5, "SPEAKER_00"), + ] + turns = words_to_turns(words, gap_threshold=1.5) + assert len(turns) == 2 + assert turns[0].speaker == "SPEAKER_00" + assert turns[1].speaker == "SPEAKER_00" + assert turns[0].start_time == 0.0 + assert turns[1].start_time == 3.0 + + def test_gap_at_threshold_does_not_break(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("world", 2.0, 2.5, "SPEAKER_00"), + ] + turns = words_to_turns(words, gap_threshold=1.5) + assert len(turns) == 1 + + def test_unknown_speaker_when_none(self): + words = [ + Word("hello", 0.0, 0.5, None), + Word("world", 0.6, 1.0, None), + ] + turns = words_to_turns(words) + assert len(turns) == 1 + assert turns[0].speaker == "UNKNOWN" + + def test_unknown_groups_together(self): + words = [ + Word("a", 0.0, 0.5, None), + Word("b", 0.6, 1.0, None), + Word("c", 1.1, 1.5, None), + ] + turns = words_to_turns(words) + assert len(turns) == 1 + assert turns[0].speaker == "UNKNOWN" + assert len(turns[0].words) == 3 + + def test_mixed_speakers_and_gaps(self): + words = [ + Word("a", 0.0, 0.5, "SPEAKER_00"), + Word("b", 0.6, 1.0, "SPEAKER_00"), + Word("c", 1.1, 1.5, "SPEAKER_01"), + Word("d", 5.0, 5.5, "SPEAKER_01"), + Word("e", 5.6, 6.0, "SPEAKER_00"), + ] + turns = words_to_turns(words, gap_threshold=1.5) + assert len(turns) == 4 + assert [t.speaker for t in turns] == [ + "SPEAKER_00", + "SPEAKER_01", + "SPEAKER_01", + "SPEAKER_00", + ] + + def test_custom_gap_threshold(self): + words = [ + Word("hello", 0.0, 0.5, "SPEAKER_00"), + Word("world", 1.0, 1.5, "SPEAKER_00"), + ] + turns_default = words_to_turns(words, gap_threshold=1.5) + turns_strict = words_to_turns(words, gap_threshold=0.3) + assert len(turns_default) == 1 + assert len(turns_strict) == 2 diff --git a/uv-global/whisp/timefmt.py b/uv-global/whisp/timefmt.py new file mode 100644 index 00000000..bdaed6f7 --- /dev/null +++ b/uv-global/whisp/timefmt.py @@ -0,0 +1,42 @@ +"""Timestamp and duration formatting for whisp output.""" + +from __future__ import annotations + + +def format_timestamp(seconds: float, audio_duration_seconds: float) -> str: + """Format timestamp as [MM:SS] or [HH:MM:SS] based on audio duration. + + Uses [HH:MM:SS] format when audio duration >= 1 hour, otherwise [MM:SS]. + """ + total_seconds = int(seconds) + hours = total_seconds // 3600 + minutes = (total_seconds % 3600) // 60 + secs = total_seconds % 60 + + if audio_duration_seconds >= 3600: + return f"[{hours:02d}:{minutes:02d}:{secs:02d}]" + return f"[{minutes:02d}:{secs:02d}]" + + +def format_duration(seconds: float) -> str: + """Format duration as human-readable string. + + Examples: '5m 42s', '1h 5m 42s' for >= 1hr, '0s' for 0. + """ + total_seconds = int(seconds) + if total_seconds == 0: + return "0s" + + hours = total_seconds // 3600 + minutes = (total_seconds % 3600) // 60 + secs = total_seconds % 60 + + parts: list[str] = [] + if hours > 0: + parts.append(f"{hours}h") + if minutes > 0: + parts.append(f"{minutes}m") + if secs > 0: + parts.append(f"{secs}s") + + return " ".join(parts) diff --git a/uv-global/whisp/timefmt_test.py b/uv-global/whisp/timefmt_test.py new file mode 100644 index 00000000..d6caa326 --- /dev/null +++ b/uv-global/whisp/timefmt_test.py @@ -0,0 +1,64 @@ +"""Tests for timefmt module.""" + +import pytest + +from whisp.timefmt import format_duration, format_timestamp + + +class TestFormatTimestamp: + """Tests for format_timestamp function.""" + + def test_zero_seconds_short_audio(self): + assert format_timestamp(0, 300) == "[00:00]" + + def test_zero_seconds_long_audio(self): + assert format_timestamp(0, 3600) == "[00:00:00]" + + def test_59_seconds_short_audio(self): + assert format_timestamp(59, 300) == "[00:59]" + + def test_59_minutes_59_seconds_short_audio(self): + assert format_timestamp(3599, 3599) == "[59:59]" + + def test_1_hour_boundary(self): + assert format_timestamp(3600, 3600) == "[01:00:00]" + + def test_mid_audio_short(self): + assert format_timestamp(125, 300) == "[02:05]" + + def test_mid_audio_long(self): + assert format_timestamp(4805, 7200) == "[01:20:05]" + + def test_fractional_seconds_truncated(self): + assert format_timestamp(125.9, 300) == "[02:05]" + + +class TestFormatDuration: + """Tests for format_duration function.""" + + def test_zero_seconds(self): + assert format_duration(0) == "0s" + + def test_seconds_only(self): + assert format_duration(42) == "42s" + + def test_minutes_and_seconds(self): + assert format_duration(342) == "5m 42s" + + def test_minutes_only(self): + assert format_duration(300) == "5m" + + def test_hours_minutes_seconds(self): + assert format_duration(3942) == "1h 5m 42s" + + def test_hours_only(self): + assert format_duration(7200) == "2h" + + def test_hours_and_minutes_no_seconds(self): + assert format_duration(3900) == "1h 5m" + + def test_hours_and_seconds_no_minutes(self): + assert format_duration(3602) == "1h 2s" + + def test_fractional_truncated(self): + assert format_duration(342.9) == "5m 42s" diff --git a/uv-global/whisp/transcribe_fw.py b/uv-global/whisp/transcribe_fw.py new file mode 100644 index 00000000..f96fcbe4 --- /dev/null +++ b/uv-global/whisp/transcribe_fw.py @@ -0,0 +1,107 @@ +"""Faster-whisper transcription adapter for whisp.""" + +from __future__ import annotations + +import sys +from typing import TYPE_CHECKING + +from whisp.models import Word +from whisp.errors import ModelLoadError, TranscriptionError + +if TYPE_CHECKING: + from faster_whisper import WhisperModel + + +def detect_device() -> str: + """Detect best available device for transcription. + + Returns 'cuda' if available, else 'cpu'. + MPS is not supported by ctranslate2, falls back to cpu. + """ + try: + import torch + + if torch.cuda.is_available(): + return "cuda" + except ImportError: + pass + return "cpu" + + +def get_default_model(device: str) -> tuple[str, str]: + """Get default model and compute type for device. + + Returns: + (model_name, compute_type) tuple + """ + if device == "cuda": + return ("large-v3", "float16") + else: + return ("medium", "int8") + + +def transcribe( + path: str, + model: str | None = None, + language: str | None = None, + verbose: bool = False, +) -> tuple[list[Word], float]: + """Transcribe audio file using faster-whisper. + + Args: + path: Path to audio file + model: Whisper model name (default: auto-select based on device) + language: Language code (default: auto-detect) + verbose: Print progress to stderr + + Returns: + (words, duration) tuple where words is list of Word objects + + Raises: + ModelLoadError: Failed to load whisper model + TranscriptionError: Transcription failed + """ + device = detect_device() + model_name, compute_type = get_default_model(device) + if model: + model_name = model + + if verbose: + print(f"loading {model_name} on {device}...", file=sys.stderr) + + try: + from faster_whisper import WhisperModel + + whisper = WhisperModel( + model_name, + device=device, + compute_type=compute_type, + ) + except Exception as e: + raise ModelLoadError(f"failed to load model {model_name}: {e}") from e + + if verbose: + print("transcribing...", file=sys.stderr) + + try: + segments, info = whisper.transcribe( + path, + language=language, + word_timestamps=True, + ) + + words: list[Word] = [] + for segment in segments: + if segment.words: + for w in segment.words: + words.append(Word(text=w.word.strip(), start=w.start, end=w.end)) + + duration = info.duration + + except Exception as e: + raise TranscriptionError(f"transcription failed: {e}") from e + + if verbose: + print(f"done. {len(words)} words in {duration:.1f}s", file=sys.stderr) + + return words, duration diff --git a/uv-global/whisp/transcribe_fw_test.py b/uv-global/whisp/transcribe_fw_test.py new file mode 100644 index 00000000..09bca5bc --- /dev/null +++ b/uv-global/whisp/transcribe_fw_test.py @@ -0,0 +1,169 @@ +"""Tests for transcribe_fw module.""" + +from dataclasses import dataclass +from unittest.mock import MagicMock, patch + +import pytest + +from whisp.models import Word +from whisp.errors import ModelLoadError, TranscriptionError +from whisp.transcribe_fw import detect_device, get_default_model, transcribe + + +class TestDetectDevice: + """Tests for detect_device function.""" + + def test_returns_cpu_when_torch_unavailable(self): + with patch.dict("sys.modules", {"torch": None}): + result = detect_device() + assert result == "cpu" + + def test_returns_cuda_when_available(self): + mock_torch = MagicMock() + mock_torch.cuda.is_available.return_value = True + with patch.dict("sys.modules", {"torch": mock_torch}): + with patch("whisp.transcribe_fw.torch", mock_torch, create=True): + result = detect_device() + assert result == "cuda" + + def test_returns_cpu_when_cuda_unavailable(self): + mock_torch = MagicMock() + mock_torch.cuda.is_available.return_value = False + with patch.dict("sys.modules", {"torch": mock_torch}): + with patch("whisp.transcribe_fw.torch", mock_torch, create=True): + result = detect_device() + assert result == "cpu" + + +class TestGetDefaultModel: + """Tests for get_default_model function.""" + + def test_cuda_returns_large_v3_float16(self): + model, compute_type = get_default_model("cuda") + assert model == "large-v3" + assert compute_type == "float16" + + def test_cpu_returns_medium_int8(self): + model, compute_type = get_default_model("cpu") + assert model == "medium" + assert compute_type == "int8" + + def test_unknown_device_returns_medium_int8(self): + model, compute_type = get_default_model("mps") + assert model == "medium" + assert compute_type == "int8" + + +@dataclass +class MockWord: + """Mock faster-whisper word.""" + + word: str + start: float + end: float + + +@dataclass +class MockSegment: + """Mock faster-whisper segment.""" + + words: list[MockWord] + + +@dataclass +class MockInfo: + """Mock faster-whisper transcription info.""" + + duration: float + + +class TestTranscribe: + """Tests for transcribe function.""" + + def test_returns_words_and_duration(self): + mock_model = MagicMock() + mock_segments = [ + MockSegment([MockWord("hello", 0.0, 0.5), MockWord("world", 0.6, 1.0)]) + ] + mock_info = MockInfo(duration=5.0) + mock_model.transcribe.return_value = (iter(mock_segments), mock_info) + + with patch( + "faster_whisper.WhisperModel", return_value=mock_model, create=True + ): + words, duration = transcribe("/path/to/audio.m4a") + + assert len(words) == 2 + assert words[0].text == "hello" + assert words[0].start == 0.0 + assert words[1].text == "world" + assert duration == 5.0 + + def test_word_timestamps_always_true(self): + mock_model = MagicMock() + mock_model.transcribe.return_value = (iter([]), MockInfo(duration=0.0)) + + with patch( + "faster_whisper.WhisperModel", return_value=mock_model, create=True + ): + transcribe("/path/to/audio.m4a") + + call_kwargs = mock_model.transcribe.call_args.kwargs + assert call_kwargs["word_timestamps"] is True + + def test_custom_model_used(self): + mock_model_class = MagicMock() + mock_model = MagicMock() + mock_model.transcribe.return_value = (iter([]), MockInfo(duration=0.0)) + mock_model_class.return_value = mock_model + + with patch("faster_whisper.WhisperModel", mock_model_class, create=True): + transcribe("/path/to/audio.m4a", model="tiny") + + call_args = mock_model_class.call_args + assert call_args[0][0] == "tiny" + + def test_language_passed_through(self): + mock_model = MagicMock() + mock_model.transcribe.return_value = (iter([]), MockInfo(duration=0.0)) + + with patch( + "faster_whisper.WhisperModel", return_value=mock_model, create=True + ): + transcribe("/path/to/audio.m4a", language="en") + + call_kwargs = mock_model.transcribe.call_args.kwargs + assert call_kwargs["language"] == "en" + + def test_model_load_failure_raises_model_load_error(self): + with patch( + "faster_whisper.WhisperModel", + side_effect=Exception("download failed"), + create=True, + ): + with pytest.raises(ModelLoadError) as exc_info: + transcribe("/path/to/audio.m4a") + assert "download failed" in str(exc_info.value) + + def test_transcription_failure_raises_transcription_error(self): + mock_model = MagicMock() + mock_model.transcribe.side_effect = Exception("ffmpeg error") + + with patch( + "faster_whisper.WhisperModel", return_value=mock_model, create=True + ): + with pytest.raises(TranscriptionError) as exc_info: + transcribe("/path/to/audio.m4a") + assert "ffmpeg error" in str(exc_info.value) + + def test_strips_word_whitespace(self): + mock_model = MagicMock() + mock_segments = [MockSegment([MockWord(" hello ", 0.0, 0.5)])] + mock_model.transcribe.return_value = (iter(mock_segments), MockInfo(duration=1.0)) + + with patch( + "faster_whisper.WhisperModel", return_value=mock_model, create=True + ): + words, _ = transcribe("/path/to/audio.m4a") + + assert words[0].text == "hello" diff --git a/uv-global/whisp/validate.py b/uv-global/whisp/validate.py new file mode 100644 index 00000000..fe2c0032 --- /dev/null +++ b/uv-global/whisp/validate.py @@ -0,0 +1,70 @@ +"""Input validation for whisp.""" + +from __future__ import annotations + +import subprocess +from pathlib import Path + +from whisp.errors import FileNotFoundError, UnsupportedFormatError + + +def validate_file_exists(path: str | Path) -> Path: + """Validate that file exists. + + Args: + path: Path to validate + + Returns: + Resolved Path object + + Raises: + FileNotFoundError: File does not exist + """ + p = Path(path) + if not p.exists(): + raise FileNotFoundError(f"file not found: {path}") + if not p.is_file(): + raise FileNotFoundError(f"not a file: {path}") + return p.resolve() + + +def validate_ffmpeg_decodable(path: str | Path) -> None: + """Validate that file is decodable by ffmpeg. + + Uses ffprobe to check if file is a valid audio/video format. + + Args: + path: Path to audio file + + Raises: + UnsupportedFormatError: File cannot be decoded by ffmpeg + """ + try: + result = subprocess.run( + [ + "ffprobe", + "-v", "error", + "-show_entries", "format=duration", + "-of", "default=noprint_wrappers=1:nokey=1", + str(path), + ], + capture_output=True, + text=True, + timeout=30, + ) + if result.returncode != 0: + raise UnsupportedFormatError( + f"unsupported audio format: {path}\n{result.stderr.strip()}" + ) + except OSError as e: + if e.errno == 2: + raise UnsupportedFormatError( + "ffprobe not found. please install ffmpeg." + ) + raise UnsupportedFormatError( + f"error running ffprobe: {e}" + ) + except subprocess.TimeoutExpired: + raise UnsupportedFormatError( + f"ffprobe timed out checking: {path}" + ) diff --git a/uv-global/whisp/validate_test.py b/uv-global/whisp/validate_test.py new file mode 100644 index 00000000..6851db9c --- /dev/null +++ b/uv-global/whisp/validate_test.py @@ -0,0 +1,112 @@ +"""Tests for validate module.""" + +import builtins +import subprocess +import tempfile +from pathlib import Path +from unittest.mock import MagicMock, patch + +import pytest + +from whisp.errors import FileNotFoundError, UnsupportedFormatError +from whisp.validate import validate_file_exists, validate_ffmpeg_decodable + +builtins_FileNotFoundError = builtins.FileNotFoundError + + +class TestValidateFileExists: + """Tests for validate_file_exists function.""" + + def test_returns_path_for_existing_file(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(b"test") + f.flush() + result = validate_file_exists(f.name) + assert isinstance(result, Path) + assert result.exists() + Path(f.name).unlink() + + def test_accepts_path_object(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(b"test") + f.flush() + result = validate_file_exists(Path(f.name)) + assert isinstance(result, Path) + Path(f.name).unlink() + + def test_raises_for_nonexistent_file(self): + with pytest.raises(FileNotFoundError) as exc_info: + validate_file_exists("/nonexistent/path/file.m4a") + assert "file not found" in str(exc_info.value) + + def test_raises_for_directory(self): + with tempfile.TemporaryDirectory() as tmpdir: + with pytest.raises(FileNotFoundError) as exc_info: + validate_file_exists(tmpdir) + assert "not a file" in str(exc_info.value) + + def test_returns_resolved_path(self): + with tempfile.NamedTemporaryFile(delete=False) as f: + f.write(b"test") + f.flush() + result = validate_file_exists(f.name) + assert result.is_absolute() + Path(f.name).unlink() + + +class TestValidateFfmpegDecodable: + """Tests for validate_ffmpeg_decodable function.""" + + def test_valid_file_passes(self): + mock_result = MagicMock() + mock_result.returncode = 0 + mock_result.stderr = "" + + with patch("subprocess.run", return_value=mock_result): + validate_ffmpeg_decodable("/path/to/audio.m4a") + + def test_invalid_file_raises_unsupported_format(self): + mock_result = MagicMock() + mock_result.returncode = 1 + mock_result.stderr = "Invalid data found" + + with patch("subprocess.run", return_value=mock_result): + with pytest.raises(UnsupportedFormatError) as exc_info: + validate_ffmpeg_decodable("/path/to/bad.txt") + assert "unsupported audio format" in str(exc_info.value) + + def test_ffprobe_not_found_raises_unsupported_format(self): + error = builtins_FileNotFoundError(2, "No such file or directory", "ffprobe") + with patch( + "whisp.validate.subprocess.run", + side_effect=error, + ): + with pytest.raises(UnsupportedFormatError) as exc_info: + validate_ffmpeg_decodable("/path/to/audio.m4a") + assert "ffprobe not found" in str(exc_info.value) + + def test_timeout_raises_unsupported_format(self): + with patch( + "whisp.validate.subprocess.run", + side_effect=subprocess.TimeoutExpired("ffprobe", 30), + ): + with pytest.raises(UnsupportedFormatError) as exc_info: + validate_ffmpeg_decodable("/path/to/audio.m4a") + assert "timed out" in str(exc_info.value) + + def test_calls_ffprobe_with_correct_args(self): + mock_result = MagicMock() + mock_result.returncode = 0 + + with patch("subprocess.run", return_value=mock_result) as mock_run: + validate_ffmpeg_decodable("/path/to/audio.m4a") + + call_args = mock_run.call_args + cmd = call_args[0][0] + assert cmd[0] == "ffprobe" + assert "-v" in cmd + assert "error" in cmd + assert "/path/to/audio.m4a" in cmd + + +